From 36caaa9374eeb5498c0ade07f68770f8a31108c9 Mon Sep 17 00:00:00 2001 From: Ganesh Vernekar Date: Wed, 7 Aug 2019 17:35:45 +0530 Subject: [PATCH 01/10] Vendor tsdb 0.10.0 Signed-off-by: Ganesh Vernekar --- go.mod | 2 +- go.sum | 2 + pkg/chunk/encoding/bigchunk.go | 18 +- .../github.com/prometheus/tsdb/CHANGELOG.md | 10 +- .../prometheus/tsdb/Makefile.common | 2 +- vendor/github.com/prometheus/tsdb/block.go | 7 +- .../prometheus/tsdb/chunkenc/chunk.go | 5 +- .../prometheus/tsdb/chunkenc/xor.go | 29 ++- .../prometheus/tsdb/chunks/chunks.go | 39 ++-- vendor/github.com/prometheus/tsdb/compact.go | 18 +- vendor/github.com/prometheus/tsdb/db.go | 200 ++++++++++++++++-- vendor/github.com/prometheus/tsdb/head.go | 72 ++++++- .../github.com/prometheus/tsdb/index/index.go | 74 +++++-- vendor/github.com/prometheus/tsdb/querier.go | 40 ++-- vendor/github.com/prometheus/tsdb/wal/wal.go | 68 +++--- vendor/modules.txt | 2 +- 16 files changed, 451 insertions(+), 137 deletions(-) diff --git a/go.mod b/go.mod index 1b210ae860a..22991373249 100644 --- a/go.mod +++ b/go.mod @@ -56,7 +56,7 @@ require ( github.com/prometheus/client_golang v1.0.0 github.com/prometheus/common v0.4.1 github.com/prometheus/prometheus v0.0.0-20190731144842-63ed2e28f1ac - github.com/prometheus/tsdb v0.9.1 + github.com/prometheus/tsdb v0.10.0 github.com/segmentio/fasthash v0.0.0-20180216231524-a72b379d632e github.com/sercand/kuberesolver v2.1.0+incompatible // indirect github.com/sirupsen/logrus v1.4.2 // indirect diff --git a/go.sum b/go.sum index bad6d42b083..dd31a54d933 100644 --- a/go.sum +++ b/go.sum @@ -425,6 +425,8 @@ github.com/prometheus/prometheus v0.0.0-20190731144842-63ed2e28f1ac h1:nDONJ/OeN github.com/prometheus/prometheus v0.0.0-20190731144842-63ed2e28f1ac/go.mod h1:0nIafMIZWDF3P7oq1Xf8HKRZ0I37hKmhYEAupBEaa4A= github.com/prometheus/tsdb v0.9.1 h1:IWaAmWkYlgG7/S4iw4IpAQt5Y35QaZM6/GsZ7GsjAuk= github.com/prometheus/tsdb v0.9.1/go.mod h1:oi49uRhEe9dPUTlS3JRZOwJuVi6tmh10QSgwXEyGCt4= +github.com/prometheus/tsdb v0.10.0 h1:If5rVCMTp6W2SiRAQFlbpJNgVlgMEd+U2GZckwK38ic= +github.com/prometheus/tsdb v0.10.0/go.mod h1:oi49uRhEe9dPUTlS3JRZOwJuVi6tmh10QSgwXEyGCt4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rlmcpherson/s3gof3r v0.5.0/go.mod h1:s7vv7SMDPInkitQMuZzH615G7yWHdrU2r/Go7Bo71Rs= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= diff --git a/pkg/chunk/encoding/bigchunk.go b/pkg/chunk/encoding/bigchunk.go index b028d6e8ab0..f520e4ed518 100644 --- a/pkg/chunk/encoding/bigchunk.go +++ b/pkg/chunk/encoding/bigchunk.go @@ -114,6 +114,8 @@ func (b *bigchunk) UnmarshalFromBuf(buf []byte) error { } b.chunks = make([]smallChunk, 0, numChunks+1) // allow one extra space in case we want to add new data + var reuseIter chunkenc.Iterator + var start, end int64 for i := uint16(0); i < numChunks; i++ { chunkLen, err := r.ReadUint16() if err != nil { @@ -130,7 +132,7 @@ func (b *bigchunk) UnmarshalFromBuf(buf []byte) error { return err } - start, end, err := firstAndLastTimes(chunk) + start, end, reuseIter, err = firstAndLastTimes(chunk, reuseIter) if err != nil { return err } @@ -172,7 +174,7 @@ func (b *bigchunk) Size() int { func (b *bigchunk) NewIterator() Iterator { var it chunkenc.Iterator if len(b.chunks) > 0 { - it = b.chunks[0].Iterator() + it = b.chunks[0].Iterator(it) } else { it = chunkenc.NewNopIterator() } @@ -257,9 +259,9 @@ func (it *bigchunkIterator) FindAtOrAfter(target model.Time) bool { } if it.curr == nil { - it.curr = it.chunks[it.i].Iterator() + it.curr = it.chunks[it.i].Iterator(it.curr) } else if t, _ := it.curr.At(); int64(target) <= t { - it.curr = it.chunks[it.i].Iterator() + it.curr = it.chunks[it.i].Iterator(it.curr) } for it.curr.Next() { @@ -281,7 +283,7 @@ func (it *bigchunkIterator) Scan() bool { for it.i < len(it.chunks)-1 { it.i++ - it.curr = it.chunks[it.i].Iterator() + it.curr = it.chunks[it.i].Iterator(it.curr) if it.curr.Next() { return true } @@ -321,13 +323,13 @@ func (it *bigchunkIterator) Err() error { return nil } -func firstAndLastTimes(c chunkenc.Chunk) (int64, int64, error) { +func firstAndLastTimes(c chunkenc.Chunk, iter chunkenc.Iterator) (int64, int64, chunkenc.Iterator, error) { var ( first int64 last int64 firstSet bool - iter = c.Iterator() ) + iter = c.Iterator(iter) for iter.Next() { t, _ := iter.At() if !firstSet { @@ -336,5 +338,5 @@ func firstAndLastTimes(c chunkenc.Chunk) (int64, int64, error) { } last = t } - return first, last, iter.Err() + return first, last, iter, iter.Err() } diff --git a/vendor/github.com/prometheus/tsdb/CHANGELOG.md b/vendor/github.com/prometheus/tsdb/CHANGELOG.md index 9d057a3bc3c..12364b09fc1 100644 --- a/vendor/github.com/prometheus/tsdb/CHANGELOG.md +++ b/vendor/github.com/prometheus/tsdb/CHANGELOG.md @@ -1,4 +1,11 @@ -## Master / unreleased +## master / unreleased + +## 0.10.0 + + - [FEATURE] Added `DBReadOnly` to allow opening a database in read only mode. + - `DBReadOnly.Blocks()` exposes a slice of `BlockReader`s. + - `BlockReader` interface - removed MinTime/MaxTime methods and now exposes the full block meta via `Meta()`. + - [FEATURE] `chunckenc.Chunk.Iterator` method now takes a `chunckenc.Iterator` interface as an argument for reuse. ## 0.9.1 @@ -19,6 +26,7 @@ - [ENHANCEMENT] Reduced disk usage for WAL for small setups. - [ENHANCEMENT] Optimize queries using regexp for set lookups. + ## 0.8.0 - [BUGFIX] Calling `Close` more than once on a querier returns an error instead of a panic. diff --git a/vendor/github.com/prometheus/tsdb/Makefile.common b/vendor/github.com/prometheus/tsdb/Makefile.common index 48d2ff84e9f..db98993d699 100644 --- a/vendor/github.com/prometheus/tsdb/Makefile.common +++ b/vendor/github.com/prometheus/tsdb/Makefile.common @@ -74,7 +74,7 @@ PROMU_URL := https://github.com/prometheus/promu/releases/download/v$(PROMU_ GOLANGCI_LINT := GOLANGCI_LINT_OPTS ?= -GOLANGCI_LINT_VERSION ?= v1.16.0 +GOLANGCI_LINT_VERSION ?= v1.17.1 # golangci-lint only supports linux, darwin and windows platforms on i386/amd64. # windows isn't included here because of the path separator being different. ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin)) diff --git a/vendor/github.com/prometheus/tsdb/block.go b/vendor/github.com/prometheus/tsdb/block.go index 6a8237f1fc7..d0fe2b2f7f8 100644 --- a/vendor/github.com/prometheus/tsdb/block.go +++ b/vendor/github.com/prometheus/tsdb/block.go @@ -138,11 +138,8 @@ type BlockReader interface { // Tombstones returns a TombstoneReader over the block's deleted data. Tombstones() (TombstoneReader, error) - // MinTime returns the min time of the block. - MinTime() int64 - - // MaxTime returns the max time of the block. - MaxTime() int64 + // Meta provides meta information about the block reader. + Meta() BlockMeta } // Appendable defines an entity to which data can be appended. diff --git a/vendor/github.com/prometheus/tsdb/chunkenc/chunk.go b/vendor/github.com/prometheus/tsdb/chunkenc/chunk.go index dc566606d55..5f9349f05b7 100644 --- a/vendor/github.com/prometheus/tsdb/chunkenc/chunk.go +++ b/vendor/github.com/prometheus/tsdb/chunkenc/chunk.go @@ -44,7 +44,10 @@ type Chunk interface { Bytes() []byte Encoding() Encoding Appender() (Appender, error) - Iterator() Iterator + // The iterator passed as argument is for re-use. + // Depending on implementation, the iterator can + // be re-used or a new iterator can be allocated. + Iterator(Iterator) Iterator NumSamples() int } diff --git a/vendor/github.com/prometheus/tsdb/chunkenc/xor.go b/vendor/github.com/prometheus/tsdb/chunkenc/xor.go index 1518772b3c4..ca20309f687 100644 --- a/vendor/github.com/prometheus/tsdb/chunkenc/xor.go +++ b/vendor/github.com/prometheus/tsdb/chunkenc/xor.go @@ -77,7 +77,7 @@ func (c *XORChunk) NumSamples() int { // Appender implements the Chunk interface. func (c *XORChunk) Appender() (Appender, error) { - it := c.iterator() + it := c.iterator(nil) // To get an appender we must know the state it would have if we had // appended all existing data from scratch. @@ -102,19 +102,25 @@ func (c *XORChunk) Appender() (Appender, error) { return a, nil } -func (c *XORChunk) iterator() *xorIterator { +func (c *XORChunk) iterator(it Iterator) *xorIterator { // Should iterators guarantee to act on a copy of the data so it doesn't lock append? // When using striped locks to guard access to chunks, probably yes. // Could only copy data if the chunk is not completed yet. + if xorIter, ok := it.(*xorIterator); ok { + xorIter.Reset(c.b.bytes()) + return xorIter + } return &xorIterator{ + // The first 2 bytes contain chunk headers. + // We skip that for actual samples. br: newBReader(c.b.bytes()[2:]), numTotal: binary.BigEndian.Uint16(c.b.bytes()), } } // Iterator implements the Chunk interface. -func (c *XORChunk) Iterator() Iterator { - return c.iterator() +func (c *XORChunk) Iterator(it Iterator) Iterator { + return c.iterator(it) } type xorAppender struct { @@ -243,6 +249,21 @@ func (it *xorIterator) Err() error { return it.err } +func (it *xorIterator) Reset(b []byte) { + // The first 2 bytes contain chunk headers. + // We skip that for actual samples. + it.br = newBReader(b[2:]) + it.numTotal = binary.BigEndian.Uint16(b) + + it.numRead = 0 + it.t = 0 + it.val = 0 + it.leading = 0 + it.trailing = 0 + it.tDelta = 0 + it.err = nil +} + func (it *xorIterator) Next() bool { if it.err != nil || it.numRead == it.numTotal { return false diff --git a/vendor/github.com/prometheus/tsdb/chunks/chunks.go b/vendor/github.com/prometheus/tsdb/chunks/chunks.go index 9ce8c57daed..bd7b9e7658d 100644 --- a/vendor/github.com/prometheus/tsdb/chunks/chunks.go +++ b/vendor/github.com/prometheus/tsdb/chunks/chunks.go @@ -57,8 +57,9 @@ type Meta struct { } // writeHash writes the chunk encoding and raw data into the provided hash. -func (cm *Meta) writeHash(h hash.Hash) error { - if _, err := h.Write([]byte{byte(cm.Chunk.Encoding())}); err != nil { +func (cm *Meta) writeHash(h hash.Hash, buf []byte) error { + buf = append(buf[:0], byte(cm.Chunk.Encoding())) + if _, err := h.Write(buf[:1]); err != nil { return err } if _, err := h.Write(cm.Chunk.Bytes()); err != nil { @@ -97,6 +98,7 @@ type Writer struct { wbuf *bufio.Writer n int64 crc32 hash.Hash + buf [binary.MaxVarintLen32]byte segmentSize int64 } @@ -245,8 +247,8 @@ func MergeChunks(a, b chunkenc.Chunk) (*chunkenc.XORChunk, error) { if err != nil { return nil, err } - ait := a.Iterator() - bit := b.Iterator() + ait := a.Iterator(nil) + bit := b.Iterator(nil) aok, bok := ait.Next(), bit.Next() for aok && bok { at, av := ait.At() @@ -299,22 +301,19 @@ func (w *Writer) WriteChunks(chks ...Meta) error { } } - var ( - b = [binary.MaxVarintLen32]byte{} - seq = uint64(w.seq()) << 32 - ) + var seq = uint64(w.seq()) << 32 for i := range chks { chk := &chks[i] chk.Ref = seq | uint64(w.n) - n := binary.PutUvarint(b[:], uint64(len(chk.Chunk.Bytes()))) + n := binary.PutUvarint(w.buf[:], uint64(len(chk.Chunk.Bytes()))) - if err := w.write(b[:n]); err != nil { + if err := w.write(w.buf[:n]); err != nil { return err } - b[0] = byte(chk.Chunk.Encoding()) - if err := w.write(b[:1]); err != nil { + w.buf[0] = byte(chk.Chunk.Encoding()) + if err := w.write(w.buf[:1]); err != nil { return err } if err := w.write(chk.Chunk.Bytes()); err != nil { @@ -322,10 +321,10 @@ func (w *Writer) WriteChunks(chks ...Meta) error { } w.crc32.Reset() - if err := chk.writeHash(w.crc32); err != nil { + if err := chk.writeHash(w.crc32, w.buf[:]); err != nil { return err } - if err := w.write(w.crc32.Sum(b[:0])); err != nil { + if err := w.write(w.crc32.Sum(w.buf[:0])); err != nil { return err } } @@ -366,7 +365,7 @@ func (b realByteSlice) Sub(start, end int) ByteSlice { return b[start:end] } -// Reader implements a SeriesReader for a serialized byte stream +// Reader implements a ChunkReader for a serialized byte stream // of series data. type Reader struct { bs []ByteSlice // The underlying bytes holding the encoded series data. @@ -503,11 +502,11 @@ func sequenceFiles(dir string) ([]string, error) { return res, nil } -func closeAll(cs []io.Closer) (err error) { +func closeAll(cs []io.Closer) error { + var merr tsdb_errors.MultiError + for _, c := range cs { - if e := c.Close(); e != nil { - err = e - } + merr.Add(c.Close()) } - return err + return merr.Err() } diff --git a/vendor/github.com/prometheus/tsdb/compact.go b/vendor/github.com/prometheus/tsdb/compact.go index e19b7ed769b..9443c99e12c 100644 --- a/vendor/github.com/prometheus/tsdb/compact.go +++ b/vendor/github.com/prometheus/tsdb/compact.go @@ -662,7 +662,7 @@ func (c *LeveledCompactor) populateBlock(blocks []BlockReader, meta *BlockMeta, }() c.metrics.populatingBlocks.Set(1) - globalMaxt := blocks[0].MaxTime() + globalMaxt := blocks[0].Meta().MaxTime for i, b := range blocks { select { case <-c.ctx.Done(): @@ -671,13 +671,13 @@ func (c *LeveledCompactor) populateBlock(blocks []BlockReader, meta *BlockMeta, } if !overlapping { - if i > 0 && b.MinTime() < globalMaxt { + if i > 0 && b.Meta().MinTime < globalMaxt { c.metrics.overlappingBlocks.Inc() overlapping = true level.Warn(c.logger).Log("msg", "found overlapping blocks during compaction", "ulid", meta.ULID) } - if b.MaxTime() > globalMaxt { - globalMaxt = b.MaxTime() + if b.Meta().MaxTime > globalMaxt { + globalMaxt = b.Meta().MaxTime } } @@ -736,6 +736,7 @@ func (c *LeveledCompactor) populateBlock(blocks []BlockReader, meta *BlockMeta, return errors.Wrap(err, "add symbols") } + delIter := &deletedIterator{} for set.Next() { select { case <-c.ctx.Done(): @@ -788,17 +789,18 @@ func (c *LeveledCompactor) populateBlock(blocks []BlockReader, meta *BlockMeta, return err } - it := &deletedIterator{it: chk.Chunk.Iterator(), intervals: dranges} + delIter.it = chk.Chunk.Iterator(delIter.it) + delIter.intervals = dranges var ( t int64 v float64 ) - for it.Next() { - t, v = it.At() + for delIter.Next() { + t, v = delIter.At() app.Append(t, v) } - if err := it.Err(); err != nil { + if err := delIter.Err(); err != nil { return errors.Wrap(err, "iterate chunk while re-encoding") } diff --git a/vendor/github.com/prometheus/tsdb/db.go b/vendor/github.com/prometheus/tsdb/db.go index e07f7d3e74b..aa9ec178579 100644 --- a/vendor/github.com/prometheus/tsdb/db.go +++ b/vendor/github.com/prometheus/tsdb/db.go @@ -250,6 +250,178 @@ func newDBMetrics(db *DB, r prometheus.Registerer) *dbMetrics { return m } +// ErrClosed is returned when the db is closed. +var ErrClosed = errors.New("db already closed") + +// DBReadOnly provides APIs for read only operations on a database. +// Current implementation doesn't support concurency so +// all API calls should happen in the same go routine. +type DBReadOnly struct { + logger log.Logger + dir string + closers []io.Closer + closed chan struct{} +} + +// OpenDBReadOnly opens DB in the given directory for read only operations. +func OpenDBReadOnly(dir string, l log.Logger) (*DBReadOnly, error) { + if _, err := os.Stat(dir); err != nil { + return nil, errors.Wrap(err, "openning the db dir") + } + + if l == nil { + l = log.NewNopLogger() + } + + return &DBReadOnly{ + logger: l, + dir: dir, + closed: make(chan struct{}), + }, nil +} + +// Querier loads the wal and returns a new querier over the data partition for the given time range. +// Current implementation doesn't support multiple Queriers. +func (db *DBReadOnly) Querier(mint, maxt int64) (Querier, error) { + select { + case <-db.closed: + return nil, ErrClosed + default: + } + blocksReaders, err := db.Blocks() + if err != nil { + return nil, err + } + blocks := make([]*Block, len(blocksReaders)) + for i, b := range blocksReaders { + b, ok := b.(*Block) + if !ok { + return nil, errors.New("unable to convert a read only block to a normal block") + } + blocks[i] = b + } + + head, err := NewHead(nil, db.logger, nil, 1) + if err != nil { + return nil, err + } + maxBlockTime := int64(math.MinInt64) + if len(blocks) > 0 { + maxBlockTime = blocks[len(blocks)-1].Meta().MaxTime + } + + // Also add the WAL if the current blocks don't cover the requestes time range. + if maxBlockTime <= maxt { + w, err := wal.Open(db.logger, nil, filepath.Join(db.dir, "wal")) + if err != nil { + return nil, err + } + head, err = NewHead(nil, db.logger, w, 1) + if err != nil { + return nil, err + } + // Set the min valid time for the ingested wal samples + // to be no lower than the maxt of the last block. + if err := head.Init(maxBlockTime); err != nil { + return nil, errors.Wrap(err, "read WAL") + } + // Set the wal to nil to disable all wal operations. + // This is mainly to avoid blocking when closing the head. + head.wal = nil + + db.closers = append(db.closers, head) + } + + // TODO: Refactor so that it is possible to obtain a Querier without initializing a writable DB instance. + // Option 1: refactor DB to have the Querier implementation using the DBReadOnly.Querier implementation not the opposite. + // Option 2: refactor Querier to use another independent func which + // can than be used by a read only and writable db instances without any code duplication. + dbWritable := &DB{ + dir: db.dir, + logger: db.logger, + blocks: blocks, + head: head, + } + + return dbWritable.Querier(mint, maxt) +} + +// Blocks returns a slice of block readers for persisted blocks. +func (db *DBReadOnly) Blocks() ([]BlockReader, error) { + select { + case <-db.closed: + return nil, ErrClosed + default: + } + loadable, corrupted, err := openBlocks(db.logger, db.dir, nil, nil) + if err != nil { + return nil, err + } + + // Corrupted blocks that have been superseded by a loadable block can be safely ignored. + for _, block := range loadable { + for _, b := range block.Meta().Compaction.Parents { + delete(corrupted, b.ULID) + } + } + if len(corrupted) > 0 { + for _, b := range loadable { + if err := b.Close(); err != nil { + level.Warn(db.logger).Log("msg", "closing a block", err) + } + } + return nil, errors.Errorf("unexpected corrupted block:%v", corrupted) + } + + if len(loadable) == 0 { + return nil, errors.New("no blocks found") + } + + sort.Slice(loadable, func(i, j int) bool { + return loadable[i].Meta().MinTime < loadable[j].Meta().MinTime + }) + + blockMetas := make([]BlockMeta, 0, len(loadable)) + for _, b := range loadable { + blockMetas = append(blockMetas, b.Meta()) + } + if overlaps := OverlappingBlocks(blockMetas); len(overlaps) > 0 { + level.Warn(db.logger).Log("msg", "overlapping blocks found during opening", "detail", overlaps.String()) + } + + // Close all previously open readers and add the new ones to the cache. + for _, closer := range db.closers { + closer.Close() + } + + blockClosers := make([]io.Closer, len(loadable)) + blockReaders := make([]BlockReader, len(loadable)) + for i, b := range loadable { + blockClosers[i] = b + blockReaders[i] = b + } + db.closers = blockClosers + + return blockReaders, nil +} + +// Close all block readers. +func (db *DBReadOnly) Close() error { + select { + case <-db.closed: + return ErrClosed + default: + } + close(db.closed) + + var merr tsdb_errors.MultiError + + for _, b := range db.closers { + merr.Add(b.Close()) + } + return merr.Err() +} + // Open returns a new DB in the given directory. func Open(dir string, l log.Logger, r prometheus.Registerer, opts *Options) (db *DB, err error) { if err := os.MkdirAll(dir, 0777); err != nil { @@ -514,8 +686,10 @@ func (db *DB) compact() (err error) { return nil } -func (db *DB) getBlock(id ulid.ULID) (*Block, bool) { - for _, b := range db.blocks { +// getBlock iterates a given block range to find a block by a given id. +// If found it returns the block itself and a boolean to indicate that it was found. +func getBlock(allBlocks []*Block, id ulid.ULID) (*Block, bool) { + for _, b := range allBlocks { if b.Meta().ULID == id { return b, true } @@ -533,14 +707,14 @@ func (db *DB) reload() (err error) { db.metrics.reloads.Inc() }() - loadable, corrupted, err := db.openBlocks() + loadable, corrupted, err := openBlocks(db.logger, db.dir, db.blocks, db.chunkPool) if err != nil { return err } deletable := db.deletableBlocks(loadable) - // Corrupted blocks that have been replaced by parents can be safely ignored and deleted. + // Corrupted blocks that have been superseded by a loadable block can be safely ignored. // This makes it resilient against the process crashing towards the end of a compaction. // Creation of a new block and deletion of its parents cannot happen atomically. // By creating blocks with their parents, we can pick up the deletion where it left off during a crash. @@ -553,7 +727,7 @@ func (db *DB) reload() (err error) { if len(corrupted) > 0 { // Close all new blocks to release the lock for windows. for _, block := range loadable { - if _, loaded := db.getBlock(block.Meta().ULID); !loaded { + if _, open := getBlock(db.blocks, block.Meta().ULID); !open { block.Close() } } @@ -621,24 +795,24 @@ func (db *DB) reload() (err error) { return errors.Wrap(db.head.Truncate(maxt), "head truncate failed") } -func (db *DB) openBlocks() (blocks []*Block, corrupted map[ulid.ULID]error, err error) { - dirs, err := blockDirs(db.dir) +func openBlocks(l log.Logger, dir string, loaded []*Block, chunkPool chunkenc.Pool) (blocks []*Block, corrupted map[ulid.ULID]error, err error) { + bDirs, err := blockDirs(dir) if err != nil { return nil, nil, errors.Wrap(err, "find blocks") } corrupted = make(map[ulid.ULID]error) - for _, dir := range dirs { - meta, _, err := readMetaFile(dir) + for _, bDir := range bDirs { + meta, _, err := readMetaFile(bDir) if err != nil { - level.Error(db.logger).Log("msg", "not a block dir", "dir", dir) + level.Error(l).Log("msg", "not a block dir", "dir", bDir) continue } // See if we already have the block in memory or open it otherwise. - block, ok := db.getBlock(meta.ULID) - if !ok { - block, err = OpenBlock(db.logger, dir, db.chunkPool) + block, open := getBlock(loaded, meta.ULID) + if !open { + block, err = OpenBlock(l, bDir, chunkPool) if err != nil { corrupted[meta.ULID] = err continue diff --git a/vendor/github.com/prometheus/tsdb/head.go b/vendor/github.com/prometheus/tsdb/head.go index 5e2eae85819..0adb8847a9e 100644 --- a/vendor/github.com/prometheus/tsdb/head.go +++ b/vendor/github.com/prometheus/tsdb/head.go @@ -25,6 +25,7 @@ import ( "github.com/go-kit/kit/log" "github.com/go-kit/kit/log/level" + "github.com/oklog/ulid" "github.com/pkg/errors" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/tsdb/chunkenc" @@ -64,6 +65,7 @@ type Head struct { logger log.Logger appendPool sync.Pool bytesPool sync.Pool + numSeries uint64 minTime, maxTime int64 // Current min and max of the samples included in the head. minValidTime int64 // Mint allowed to be added to the head. It shouldn't be lower than the maxt of the last persisted block. @@ -84,7 +86,7 @@ type Head struct { type headMetrics struct { activeAppenders prometheus.Gauge - series prometheus.Gauge + series prometheus.GaugeFunc seriesCreated prometheus.Counter seriesRemoved prometheus.Counter seriesNotFound prometheus.Counter @@ -112,9 +114,11 @@ func newHeadMetrics(h *Head, r prometheus.Registerer) *headMetrics { Name: "prometheus_tsdb_head_active_appenders", Help: "Number of currently active appender transactions", }) - m.series = prometheus.NewGauge(prometheus.GaugeOpts{ + m.series = prometheus.NewGaugeFunc(prometheus.GaugeOpts{ Name: "prometheus_tsdb_head_series", Help: "Total number of series in the head block.", + }, func() float64 { + return float64(h.NumSeries()) }) m.seriesCreated = prometheus.NewCounter(prometheus.CounterOpts{ Name: "prometheus_tsdb_head_series_created_total", @@ -502,6 +506,7 @@ func (h *Head) Init(minValidTime int64) error { return nil } + level.Info(h.logger).Log("msg", "replaying WAL, this may take awhile") // Backfill the checkpoint first if it exists. dir, startFrom, err := LastCheckpoint(h.wal.Dir()) if err != nil && err != ErrNotFound { @@ -525,6 +530,7 @@ func (h *Head) Init(minValidTime int64) error { return errors.Wrap(err, "backfill checkpoint") } startFrom++ + level.Info(h.logger).Log("msg", "WAL checkpoint loaded") } // Find the last segment. @@ -548,6 +554,7 @@ func (h *Head) Init(minValidTime int64) error { if err != nil { return err } + level.Info(h.logger).Log("msg", "WAL segment loaded", "segment", i, "maxSegment", last) } return nil @@ -698,6 +705,21 @@ func (h *rangeHead) MaxTime() int64 { return h.maxt } +func (h *rangeHead) NumSeries() uint64 { + return h.head.NumSeries() +} + +func (h *rangeHead) Meta() BlockMeta { + return BlockMeta{ + MinTime: h.MinTime(), + MaxTime: h.MaxTime(), + ULID: h.head.Meta().ULID, + Stats: BlockStats{ + NumSeries: h.NumSeries(), + }, + } +} + // initAppender is a helper to initialize the time bounds of the head // upon the first sample it receives. type initAppender struct { @@ -1022,9 +1044,11 @@ func (h *Head) gc() { seriesRemoved := len(deleted) h.metrics.seriesRemoved.Add(float64(seriesRemoved)) - h.metrics.series.Sub(float64(seriesRemoved)) h.metrics.chunksRemoved.Add(float64(chunksRemoved)) h.metrics.chunks.Sub(float64(chunksRemoved)) + // Using AddUint64 to substract series removed. + // See: https://golang.org/pkg/sync/atomic/#AddUint64. + atomic.AddUint64(&h.numSeries, ^uint64(seriesRemoved-1)) // Remove deleted series IDs from the postings lists. h.postings.Delete(deleted) @@ -1101,6 +1125,26 @@ func (h *Head) chunksRange(mint, maxt int64) *headChunkReader { return &headChunkReader{head: h, mint: mint, maxt: maxt} } +// NumSeries returns the number of active series in the head. +func (h *Head) NumSeries() uint64 { + return atomic.LoadUint64(&h.numSeries) +} + +// Meta returns meta information about the head. +// The head is dynamic so will return dynamic results. +func (h *Head) Meta() BlockMeta { + var id [16]byte + copy(id[:], "______head______") + return BlockMeta{ + MinTime: h.MinTime(), + MaxTime: h.MaxTime(), + ULID: ulid.ULID(id), + Stats: BlockStats{ + NumSeries: h.NumSeries(), + }, + } +} + // MinTime returns the lowest time bound on visible data in the head. func (h *Head) MinTime() int64 { return atomic.LoadInt64(&h.minTime) @@ -1185,9 +1229,9 @@ type safeChunk struct { cid int } -func (c *safeChunk) Iterator() chunkenc.Iterator { +func (c *safeChunk) Iterator(reuseIter chunkenc.Iterator) chunkenc.Iterator { c.s.Lock() - it := c.s.iterator(c.cid) + it := c.s.iterator(c.cid, reuseIter) c.s.Unlock() return it } @@ -1347,8 +1391,8 @@ func (h *Head) getOrCreateWithID(id, hash uint64, lset labels.Labels) (*memSerie return s, false } - h.metrics.series.Inc() h.metrics.seriesCreated.Inc() + atomic.AddUint64(&h.numSeries, 1) h.postings.Add(id, lset) @@ -1739,7 +1783,7 @@ func computeChunkEndTime(start, cur, max int64) int64 { return start + (max-start)/a } -func (s *memSeries) iterator(id int) chunkenc.Iterator { +func (s *memSeries) iterator(id int, it chunkenc.Iterator) chunkenc.Iterator { c := s.chunk(id) // TODO(fabxc): Work around! A querier may have retrieved a pointer to a series' chunk, // which got then garbage collected before it got accessed. @@ -1749,17 +1793,23 @@ func (s *memSeries) iterator(id int) chunkenc.Iterator { } if id-s.firstChunkID < len(s.chunks)-1 { - return c.chunk.Iterator() + return c.chunk.Iterator(it) } // Serve the last 4 samples for the last chunk from the sample buffer // as their compressed bytes may be mutated by added samples. - it := &memSafeIterator{ - Iterator: c.chunk.Iterator(), + if msIter, ok := it.(*memSafeIterator); ok { + msIter.Iterator = c.chunk.Iterator(msIter.Iterator) + msIter.i = -1 + msIter.total = c.chunk.NumSamples() + msIter.buf = s.sampleBuf + return msIter + } + return &memSafeIterator{ + Iterator: c.chunk.Iterator(it), i: -1, total: c.chunk.NumSamples(), buf: s.sampleBuf, } - return it } func (s *memSeries) head() *memChunk { diff --git a/vendor/github.com/prometheus/tsdb/index/index.go b/vendor/github.com/prometheus/tsdb/index/index.go index 6b333fa5840..1a1e9bf309f 100644 --- a/vendor/github.com/prometheus/tsdb/index/index.go +++ b/vendor/github.com/prometheus/tsdb/index/index.go @@ -123,10 +123,10 @@ type Writer struct { buf2 encoding.Encbuf uint32s []uint32 - symbols map[string]uint32 // symbol offsets - seriesOffsets map[uint64]uint64 // offsets of series - labelIndexes []hashEntry // label index offsets - postings []hashEntry // postings lists offsets + symbols map[string]uint32 // symbol offsets + seriesOffsets map[uint64]uint64 // offsets of series + labelIndexes []labelIndexHashEntry // label index offsets + postings []postingsHashEntry // postings lists offsets // Hold last series to validate that clients insert new series in order. lastSeries labels.Labels @@ -271,11 +271,11 @@ func (w *Writer) ensureStage(s indexWriterStage) error { case idxStageDone: w.toc.LabelIndicesTable = w.pos - if err := w.writeOffsetTable(w.labelIndexes); err != nil { + if err := w.writeLabelIndexesOffsetTable(); err != nil { return err } w.toc.PostingsTable = w.pos - if err := w.writeOffsetTable(w.postings); err != nil { + if err := w.writePostingsOffsetTable(); err != nil { return err } if err := w.writeTOC(); err != nil { @@ -420,7 +420,7 @@ func (w *Writer) WriteLabelIndex(names []string, values []string) error { return err } - w.labelIndexes = append(w.labelIndexes, hashEntry{ + w.labelIndexes = append(w.labelIndexes, labelIndexHashEntry{ keys: names, offset: w.pos, }) @@ -447,12 +447,12 @@ func (w *Writer) WriteLabelIndex(names []string, values []string) error { return errors.Wrap(err, "write label index") } -// writeOffsetTable writes a sequence of readable hash entries. -func (w *Writer) writeOffsetTable(entries []hashEntry) error { +// writeLabelIndexesOffsetTable writes the label indices offset table. +func (w *Writer) writeLabelIndexesOffsetTable() error { w.buf2.Reset() - w.buf2.PutBE32int(len(entries)) + w.buf2.PutBE32int(len(w.labelIndexes)) - for _, e := range entries { + for _, e := range w.labelIndexes { w.buf2.PutUvarint(len(e.keys)) for _, k := range e.keys { w.buf2.PutUvarintStr(k) @@ -467,6 +467,25 @@ func (w *Writer) writeOffsetTable(entries []hashEntry) error { return w.write(w.buf1.Get(), w.buf2.Get()) } +// writePostingsOffsetTable writes the postings offset table. +func (w *Writer) writePostingsOffsetTable() error { + w.buf2.Reset() + w.buf2.PutBE32int(len(w.postings)) + + for _, e := range w.postings { + w.buf2.PutUvarint(2) + w.buf2.PutUvarintStr(e.name) + w.buf2.PutUvarintStr(e.value) + w.buf2.PutUvarint64(e.offset) + } + + w.buf1.Reset() + w.buf1.PutBE32int(w.buf2.Len()) + w.buf2.PutHash(w.crc32) + + return w.write(w.buf1.Get(), w.buf2.Get()) +} + const indexTOCLen = 6*8 + 4 func (w *Writer) writeTOC() error { @@ -494,8 +513,9 @@ func (w *Writer) WritePostings(name, value string, it Postings) error { return err } - w.postings = append(w.postings, hashEntry{ - keys: []string{name, value}, + w.postings = append(w.postings, postingsHashEntry{ + name: name, + value: value, offset: w.pos, }) @@ -542,11 +562,16 @@ func (s uint32slice) Len() int { return len(s) } func (s uint32slice) Swap(i, j int) { s[i], s[j] = s[j], s[i] } func (s uint32slice) Less(i, j int) bool { return s[i] < s[j] } -type hashEntry struct { +type labelIndexHashEntry struct { keys []string offset uint64 } +type postingsHashEntry struct { + name, value string + offset uint64 +} + func (w *Writer) Close() error { if err := w.ensureStage(idxStageDone); err != nil { return err @@ -781,9 +806,13 @@ func ReadOffsetTable(bs ByteSlice, off uint64, f func([]string, uint64) error) e d := encoding.NewDecbufAt(bs, int(off), castagnoliTable) cnt := d.Be32() + // The Postings offset table takes only 2 keys per entry (name and value of label), + // and the LabelIndices offset table takes only 1 key per entry (a label name). + // Hence setting the size to max of both, i.e. 2. + keys := make([]string, 0, 2) for d.Err() == nil && d.Len() > 0 && cnt > 0 { keyCount := d.Uvarint() - keys := make([]string, 0, keyCount) + keys = keys[:0] for i := 0; i < keyCount; i++ { keys = append(keys, d.UvarintStr()) @@ -951,25 +980,30 @@ func (r *Reader) LabelNames() ([]string, error) { type stringTuples struct { length int // tuple length entries []string // flattened tuple entries + swapBuf []string } func NewStringTuples(entries []string, length int) (*stringTuples, error) { if len(entries)%length != 0 { return nil, errors.Wrap(encoding.ErrInvalidSize, "string tuple list") } - return &stringTuples{entries: entries, length: length}, nil + return &stringTuples{ + entries: entries, + length: length, + }, nil } func (t *stringTuples) Len() int { return len(t.entries) / t.length } func (t *stringTuples) At(i int) ([]string, error) { return t.entries[i : i+t.length], nil } func (t *stringTuples) Swap(i, j int) { - c := make([]string, t.length) - copy(c, t.entries[i:i+t.length]) - + if t.swapBuf == nil { + t.swapBuf = make([]string, t.length) + } + copy(t.swapBuf, t.entries[i:i+t.length]) for k := 0; k < t.length; k++ { t.entries[i+k] = t.entries[j+k] - t.entries[j+k] = c[k] + t.entries[j+k] = t.swapBuf[k] } } diff --git a/vendor/github.com/prometheus/tsdb/querier.go b/vendor/github.com/prometheus/tsdb/querier.go index 253102b0ede..fbd9493f4fd 100644 --- a/vendor/github.com/prometheus/tsdb/querier.go +++ b/vendor/github.com/prometheus/tsdb/querier.go @@ -1060,8 +1060,9 @@ func (it *verticalMergeSeriesIterator) Err() error { type chunkSeriesIterator struct { chunks []chunks.Meta - i int - cur chunkenc.Iterator + i int + cur chunkenc.Iterator + bufDelIter *deletedIterator maxt, mint int64 @@ -1069,21 +1070,32 @@ type chunkSeriesIterator struct { } func newChunkSeriesIterator(cs []chunks.Meta, dranges Intervals, mint, maxt int64) *chunkSeriesIterator { - it := cs[0].Chunk.Iterator() - - if len(dranges) > 0 { - it = &deletedIterator{it: it, intervals: dranges} - } - return &chunkSeriesIterator{ + csi := &chunkSeriesIterator{ chunks: cs, i: 0, - cur: it, mint: mint, maxt: maxt, intervals: dranges, } + csi.resetCurIterator() + + return csi +} + +func (it *chunkSeriesIterator) resetCurIterator() { + if len(it.intervals) == 0 { + it.cur = it.chunks[it.i].Chunk.Iterator(it.cur) + return + } + if it.bufDelIter == nil { + it.bufDelIter = &deletedIterator{ + intervals: it.intervals, + } + } + it.bufDelIter.it = it.chunks[it.i].Chunk.Iterator(it.bufDelIter.it) + it.cur = it.bufDelIter } func (it *chunkSeriesIterator) Seek(t int64) (ok bool) { @@ -1102,10 +1114,7 @@ func (it *chunkSeriesIterator) Seek(t int64) (ok bool) { } } - it.cur = it.chunks[it.i].Chunk.Iterator() - if len(it.intervals) > 0 { - it.cur = &deletedIterator{it: it.cur, intervals: it.intervals} - } + it.resetCurIterator() for it.cur.Next() { t0, _ := it.cur.At() @@ -1145,10 +1154,7 @@ func (it *chunkSeriesIterator) Next() bool { } it.i++ - it.cur = it.chunks[it.i].Chunk.Iterator() - if len(it.intervals) > 0 { - it.cur = &deletedIterator{it: it.cur, intervals: it.intervals} - } + it.resetCurIterator() return it.Next() } diff --git a/vendor/github.com/prometheus/tsdb/wal/wal.go b/vendor/github.com/prometheus/tsdb/wal/wal.go index 39daba975e2..878aae6ba18 100644 --- a/vendor/github.com/prometheus/tsdb/wal/wal.go +++ b/vendor/github.com/prometheus/tsdb/wal/wal.go @@ -203,6 +203,48 @@ func NewSize(logger log.Logger, reg prometheus.Registerer, dir string, segmentSi stopc: make(chan chan struct{}), compress: compress, } + registerMetrics(reg, w) + + _, j, err := w.Segments() + // Index of the Segment we want to open and write to. + writeSegmentIndex := 0 + if err != nil { + return nil, errors.Wrap(err, "get segment range") + } + // If some segments already exist create one with a higher index than the last segment. + if j != -1 { + writeSegmentIndex = j + 1 + } + + segment, err := CreateSegment(w.dir, writeSegmentIndex) + if err != nil { + return nil, err + } + + if err := w.setSegment(segment); err != nil { + return nil, err + } + + go w.run() + + return w, nil +} + +// Open an existing WAL. +func Open(logger log.Logger, reg prometheus.Registerer, dir string) (*WAL, error) { + if logger == nil { + logger = log.NewNopLogger() + } + w := &WAL{ + dir: dir, + logger: logger, + } + + registerMetrics(reg, w) + return w, nil +} + +func registerMetrics(reg prometheus.Registerer, w *WAL) { w.fsyncDuration = prometheus.NewSummary(prometheus.SummaryOpts{ Name: "prometheus_tsdb_wal_fsync_duration_seconds", Help: "Duration of WAL fsync.", @@ -231,30 +273,6 @@ func NewSize(logger log.Logger, reg prometheus.Registerer, dir string, segmentSi if reg != nil { reg.MustRegister(w.fsyncDuration, w.pageFlushes, w.pageCompletions, w.truncateFail, w.truncateTotal, w.currentSegment) } - - _, j, err := w.Segments() - // Index of the Segment we want to open and write to. - writeSegmentIndex := 0 - if err != nil { - return nil, errors.Wrap(err, "get segment range") - } - // If some segments already exist create one with a higher index than the last segment. - if j != -1 { - writeSegmentIndex = j + 1 - } - - segment, err := CreateSegment(w.dir, writeSegmentIndex) - if err != nil { - return nil, err - } - - if err := w.setSegment(segment); err != nil { - return nil, err - } - - go w.run() - - return w, nil } // CompressionEnabled returns if compression is enabled on this WAL. @@ -302,7 +320,6 @@ func (w *WAL) Repair(origErr error) error { if cerr.Segment < 0 { return errors.New("corruption error does not specify position") } - level.Warn(w.logger).Log("msg", "starting corruption repair", "segment", cerr.Segment, "offset", cerr.Offset) @@ -487,7 +504,6 @@ func (w *WAL) flushPage(clear bool) error { // First Byte of header format: // [ 4 bits unallocated] [1 bit snappy compression flag] [ 3 bit record type ] - const ( snappyMask = 1 << 3 recTypeMask = snappyMask - 1 diff --git a/vendor/modules.txt b/vendor/modules.txt index fcf4bbcfaf1..890df58d004 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -361,7 +361,7 @@ github.com/prometheus/prometheus/discovery/zookeeper github.com/prometheus/prometheus/discovery/refresh github.com/prometheus/prometheus/pkg/logging github.com/prometheus/prometheus/util/treecache -# github.com/prometheus/tsdb v0.9.1 +# github.com/prometheus/tsdb v0.10.0 github.com/prometheus/tsdb/chunkenc github.com/prometheus/tsdb/labels github.com/prometheus/tsdb From ccefdef404a76f54e9856dbdc2707ea3f68f854b Mon Sep 17 00:00:00 2001 From: Ganesh Vernekar Date: Thu, 8 Aug 2019 15:33:34 +0530 Subject: [PATCH 02/10] More iterator reuse Signed-off-by: Ganesh Vernekar --- pkg/chunk/chunk.go | 2 +- pkg/chunk/encoding/bigchunk.go | 7 ++++- pkg/chunk/encoding/bigchunk_test.go | 4 +-- pkg/chunk/encoding/chunk.go | 4 +-- pkg/chunk/encoding/chunk_test.go | 8 ++--- pkg/chunk/encoding/delta.go | 2 +- pkg/chunk/encoding/doubledelta.go | 2 +- pkg/chunk/encoding/varbit.go | 4 +-- pkg/ingester/ingester.go | 25 +++++++++------- pkg/ingester/ingester_test.go | 10 +++---- pkg/ingester/query_test.go | 5 ++-- pkg/ingester/series.go | 29 ++++++++++--------- pkg/querier/batch/chunk.go | 2 +- pkg/querier/iterators/chunk_merge_iterator.go | 2 +- 14 files changed, 59 insertions(+), 47 deletions(-) diff --git a/pkg/chunk/chunk.go b/pkg/chunk/chunk.go index c69e1be2a18..299f85a6466 100644 --- a/pkg/chunk/chunk.go +++ b/pkg/chunk/chunk.go @@ -336,7 +336,7 @@ func equalByKey(a, b Chunk) bool { // Samples returns all SamplePairs for the chunk. func (c *Chunk) Samples(from, through model.Time) ([]model.SamplePair, error) { - it := c.Data.NewIterator() + it := c.Data.NewIterator(nil) interval := metric.Interval{OldestInclusive: from, NewestInclusive: through} return prom_chunk.RangeValues(it, interval) } diff --git a/pkg/chunk/encoding/bigchunk.go b/pkg/chunk/encoding/bigchunk.go index f520e4ed518..451de57acab 100644 --- a/pkg/chunk/encoding/bigchunk.go +++ b/pkg/chunk/encoding/bigchunk.go @@ -171,13 +171,18 @@ func (b *bigchunk) Size() int { return sum } -func (b *bigchunk) NewIterator() Iterator { +func (b *bigchunk) NewIterator(reuseIter Iterator) Iterator { var it chunkenc.Iterator if len(b.chunks) > 0 { it = b.chunks[0].Iterator(it) } else { it = chunkenc.NewNopIterator() } + if bci, ok := reuseIter.(*bigchunkIterator); ok { + bci.bigchunk = b + bci.curr = it + bci.i = 0 + } return &bigchunkIterator{ bigchunk: b, curr: it, diff --git a/pkg/chunk/encoding/bigchunk_test.go b/pkg/chunk/encoding/bigchunk_test.go index 6c3bd432eaa..c8910c53f82 100644 --- a/pkg/chunk/encoding/bigchunk_test.go +++ b/pkg/chunk/encoding/bigchunk_test.go @@ -24,7 +24,7 @@ func TestSliceBiggerChunk(t *testing.T) { for i := 0; i < (12*3600/15)-480; i += 120 { s := c.Slice(model.Time(i*step), model.Time((i+479)*step)) - iter := s.NewIterator() + iter := s.NewIterator(nil) for j := i; j < i+480; j++ { require.True(t, iter.Scan()) sample := iter.Value() @@ -38,7 +38,7 @@ func TestSliceBiggerChunk(t *testing.T) { // Test for when the slice does not align perfectly with the sub-chunk boundaries. for i := 0; i < (12*3600/15)-500; i += 100 { s := c.Slice(model.Time(i*step), model.Time((i+500)*step)) - iter := s.NewIterator() + iter := s.NewIterator(nil) // Consume some samples until we get to where we want to be. for { diff --git a/pkg/chunk/encoding/chunk.go b/pkg/chunk/encoding/chunk.go index 3a0116a0b2a..a01dd5b031b 100644 --- a/pkg/chunk/encoding/chunk.go +++ b/pkg/chunk/encoding/chunk.go @@ -44,7 +44,7 @@ type Chunk interface { // or a newly allocated version. In any case, take the returned chunk as // the relevant one and discard the original chunk. Add(sample model.SamplePair) ([]Chunk, error) - NewIterator() Iterator + NewIterator(Iterator) Iterator Marshal(io.Writer) error UnmarshalFromBuf([]byte) error Encoding() Encoding @@ -141,7 +141,7 @@ func transcodeAndAdd(dst Chunk, src Chunk, s model.SamplePair) ([]Chunk, error) err error ) - it := src.NewIterator() + it := src.NewIterator(nil) for it.Scan() { if NewChunks, err = head.Add(it.Value()); err != nil { return nil, err diff --git a/pkg/chunk/encoding/chunk_test.go b/pkg/chunk/encoding/chunk_test.go index d35fe15981b..e0dbd383c6f 100644 --- a/pkg/chunk/encoding/chunk_test.go +++ b/pkg/chunk/encoding/chunk_test.go @@ -121,7 +121,7 @@ func testChunkEncoding(t *testing.T, encoding Encoding, samples int) { require.NoError(t, err) // Check all the samples are in there. - iter := chunk.NewIterator() + iter := chunk.NewIterator(nil) for i := 0; i < samples; i++ { require.True(t, iter.Scan()) sample := iter.Value() @@ -145,7 +145,7 @@ func testChunkEncoding(t *testing.T, encoding Encoding, samples int) { func testChunkSeek(t *testing.T, encoding Encoding, samples int) { chunk := mkChunk(t, encoding, samples) - iter := chunk.NewIterator() + iter := chunk.NewIterator(nil) for i := 0; i < samples; i += samples / 10 { require.True(t, iter.FindAtOrAfter(model.Time(i*step))) sample := iter.Value() @@ -167,7 +167,7 @@ func testChunkSeek(t *testing.T, encoding Encoding, samples int) { func testChunkSeekForward(t *testing.T, encoding Encoding, samples int) { chunk := mkChunk(t, encoding, samples) - iter := chunk.NewIterator() + iter := chunk.NewIterator(nil) for i := 0; i < samples; i += samples / 10 { require.True(t, iter.FindAtOrAfter(model.Time(i*step))) sample := iter.Value() @@ -190,7 +190,7 @@ func testChunkBatch(t *testing.T, encoding Encoding, samples int) { chunk := mkChunk(t, encoding, samples) // Check all the samples are in there. - iter := chunk.NewIterator() + iter := chunk.NewIterator(nil) for i := 0; i < samples; { require.True(t, iter.Scan()) batch := iter.Batch(BatchSize) diff --git a/pkg/chunk/encoding/delta.go b/pkg/chunk/encoding/delta.go index 76ad6914c65..120f734c363 100644 --- a/pkg/chunk/encoding/delta.go +++ b/pkg/chunk/encoding/delta.go @@ -185,7 +185,7 @@ func (c *deltaEncodedChunk) Slice(_, _ model.Time) Chunk { } // NewIterator implements chunk. -func (c *deltaEncodedChunk) NewIterator() Iterator { +func (c *deltaEncodedChunk) NewIterator(_ Iterator) Iterator { return newIndexAccessingChunkIterator(c.Len(), &deltaEncodedIndexAccessor{ c: *c, baseT: c.baseTime(), diff --git a/pkg/chunk/encoding/doubledelta.go b/pkg/chunk/encoding/doubledelta.go index ac5470abca3..cdb803a6e05 100644 --- a/pkg/chunk/encoding/doubledelta.go +++ b/pkg/chunk/encoding/doubledelta.go @@ -193,7 +193,7 @@ func (c doubleDeltaEncodedChunk) FirstTime() model.Time { } // NewIterator( implements chunk. -func (c *doubleDeltaEncodedChunk) NewIterator() Iterator { +func (c *doubleDeltaEncodedChunk) NewIterator(_ Iterator) Iterator { return newIndexAccessingChunkIterator(c.Len(), &doubleDeltaEncodedIndexAccessor{ c: *c, baseT: c.baseTime(), diff --git a/pkg/chunk/encoding/varbit.go b/pkg/chunk/encoding/varbit.go index 2005053aa78..c2663fe9e24 100644 --- a/pkg/chunk/encoding/varbit.go +++ b/pkg/chunk/encoding/varbit.go @@ -276,7 +276,7 @@ func (c *varbitChunk) Add(s model.SamplePair) ([]Chunk, error) { } // NewIterator implements chunk. -func (c varbitChunk) NewIterator() Iterator { +func (c varbitChunk) NewIterator(_ Iterator) Iterator { return newVarbitChunkIterator(c) } @@ -329,7 +329,7 @@ func (c varbitChunk) marshalLen() int { // Len implements chunk. Runs in O(n). func (c varbitChunk) Len() int { - it := c.NewIterator() + it := c.NewIterator(nil) i := 0 for ; it.Scan(); i++ { } diff --git a/pkg/ingester/ingester.go b/pkg/ingester/ingester.go index 8e82e52bf52..e02aae48dab 100644 --- a/pkg/ingester/ingester.go +++ b/pkg/ingester/ingester.go @@ -20,6 +20,7 @@ import ( "github.com/prometheus/prometheus/pkg/labels" cortex_chunk "github.com/cortexproject/cortex/pkg/chunk" + "github.com/cortexproject/cortex/pkg/chunk/encoding" "github.com/cortexproject/cortex/pkg/ingester/client" "github.com/cortexproject/cortex/pkg/ring" "github.com/cortexproject/cortex/pkg/util" @@ -254,11 +255,11 @@ func (i *Ingester) StopIncomingRequests() { // Push implements client.IngesterServer func (i *Ingester) Push(ctx old_ctx.Context, req *client.WriteRequest) (*client.WriteResponse, error) { - var lastPartialErr error - + var lastPartialErr, err error + var reuseIter encoding.Iterator for _, ts := range req.Timeseries { for _, s := range ts.Samples { - err := i.append(ctx, ts.Labels, model.Time(s.TimestampMs), model.SampleValue(s.Value), req.Source) + reuseIter, err = i.append(ctx, ts.Labels, model.Time(s.TimestampMs), model.SampleValue(s.Value), req.Source, reuseIter) if err == nil { continue } @@ -279,39 +280,41 @@ func (i *Ingester) Push(ctx old_ctx.Context, req *client.WriteRequest) (*client. return &client.WriteResponse{}, lastPartialErr } -func (i *Ingester) append(ctx context.Context, labels labelPairs, timestamp model.Time, value model.SampleValue, source client.WriteRequest_SourceEnum) error { +func (i *Ingester) append(ctx context.Context, labels labelPairs, timestamp model.Time, + value model.SampleValue, source client.WriteRequest_SourceEnum, reuseIter encoding.Iterator) (encoding.Iterator, error) { labels.removeBlanks() i.stopLock.RLock() defer i.stopLock.RUnlock() if i.stopped { - return fmt.Errorf("ingester stopping") + return reuseIter, fmt.Errorf("ingester stopping") } i.userStatesMtx.RLock() defer i.userStatesMtx.RUnlock() state, fp, series, err := i.userStates.getOrCreateSeries(ctx, labels) if err != nil { - return err + return reuseIter, err } defer func() { state.fpLocker.Unlock(fp) }() prevNumChunks := len(series.chunkDescs) - if err := series.add(model.SamplePair{ + reuseIter, err = series.add(model.SamplePair{ Value: value, Timestamp: timestamp, - }); err != nil { + }, reuseIter) + if err != nil { if mse, ok := err.(*memorySeriesError); ok { state.discardedSamples.WithLabelValues(mse.errorType).Inc() if mse.noReport { - return nil + return reuseIter, nil } // Use a dumb string template to avoid the message being parsed as a template err = httpgrpc.Errorf(http.StatusBadRequest, "%s", mse.message) } - return err + return reuseIter, err } memoryChunks.Add(float64(len(series.chunkDescs) - prevNumChunks)) @@ -325,7 +328,7 @@ func (i *Ingester) append(ctx context.Context, labels labelPairs, timestamp mode state.ingestedAPISamples.inc() } - return err + return reuseIter, err } // Query implements service.IngesterServer diff --git a/pkg/ingester/ingester_test.go b/pkg/ingester/ingester_test.go index 3e3959a92d6..83c202fb487 100644 --- a/pkg/ingester/ingester_test.go +++ b/pkg/ingester/ingester_test.go @@ -274,22 +274,22 @@ func TestIngesterAppendOutOfOrderAndDuplicate(t *testing.T) { {Name: model.MetricNameLabel, Value: "testmetric"}, } ctx := user.InjectOrgID(context.Background(), userID) - err := ing.append(ctx, m, 1, 0, client.API) + _, err := ing.append(ctx, m, 1, 0, client.API, nil) require.NoError(t, err) // Two times exactly the same sample (noop). - err = ing.append(ctx, m, 1, 0, client.API) + _, err = ing.append(ctx, m, 1, 0, client.API, nil) require.NoError(t, err) // Earlier sample than previous one. - err = ing.append(ctx, m, 0, 0, client.API) + _, err = ing.append(ctx, m, 0, 0, client.API, nil) require.Contains(t, err.Error(), "sample timestamp out of order") errResp, ok := httpgrpc.HTTPResponseFromError(err) require.True(t, ok) require.Equal(t, errResp.Code, int32(400)) // Same timestamp as previous sample, but different value. - err = ing.append(ctx, m, 1, 1, client.API) + _, err = ing.append(ctx, m, 1, 1, client.API, nil) require.Contains(t, err.Error(), "sample with repeated timestamp but different value") errResp, ok = httpgrpc.HTTPResponseFromError(err) require.True(t, ok) @@ -307,7 +307,7 @@ func TestIngesterAppendBlankLabel(t *testing.T) { {Name: "bar", Value: ""}, } ctx := user.InjectOrgID(context.Background(), userID) - err := ing.append(ctx, lp, 1, 0, client.API) + _, err := ing.append(ctx, lp, 1, 0, client.API, nil) require.NoError(t, err) res, _, err := runTestQuery(ctx, t, ing, labels.MatchEqual, model.MetricNameLabel, "testmetric") diff --git a/pkg/ingester/query_test.go b/pkg/ingester/query_test.go index 9debe783b19..ff8d73d549d 100644 --- a/pkg/ingester/query_test.go +++ b/pkg/ingester/query_test.go @@ -47,6 +47,7 @@ func BenchmarkQueryStream(b *testing.B) { cpus[i] = fmt.Sprintf("cpu%02d", i) } + var reuseIter encoding.Iterator for i := 0; i < numSeries; i++ { labels := labelPairs{ {Name: model.MetricNameLabel, Value: "node_cpu"}, @@ -59,10 +60,10 @@ func BenchmarkQueryStream(b *testing.B) { require.NoError(b, err) for j := 0; j < numSamples; j++ { - err = series.add(model.SamplePair{ + reuseIter, err = series.add(model.SamplePair{ Value: model.SampleValue(float64(i)), Timestamp: model.Time(int64(i)), - }) + }, reuseIter) require.NoError(b, err) } diff --git a/pkg/ingester/series.go b/pkg/ingester/series.go index 023bef52d27..282efd0a182 100644 --- a/pkg/ingester/series.go +++ b/pkg/ingester/series.go @@ -63,27 +63,27 @@ func newMemorySeries(m labels.Labels) *memorySeries { // completed chunks (which are now eligible for persistence). // // The caller must have locked the fingerprint of the series. -func (s *memorySeries) add(v model.SamplePair) error { +func (s *memorySeries) add(v model.SamplePair, reuseIter encoding.Iterator) (encoding.Iterator, error) { // If sender has repeated the same timestamp, check more closely and perhaps return error. if v.Timestamp == s.lastTime { // If we don't know what the last sample value is, silently discard. // This will mask some errors but better than complaining when we don't really know. if !s.lastSampleValueSet { - return &memorySeriesError{errorType: "duplicate-timestamp", noReport: true} + return reuseIter, &memorySeriesError{errorType: "duplicate-timestamp", noReport: true} } // If both timestamp and sample value are the same as for the last append, // ignore as they are a common occurrence when using client-side timestamps // (e.g. Pushgateway or federation). if v.Value.Equal(s.lastSampleValue) { - return &memorySeriesError{errorType: "duplicate-sample", noReport: true} + return reuseIter, &memorySeriesError{errorType: "duplicate-sample", noReport: true} } - return &memorySeriesError{ + return reuseIter, &memorySeriesError{ message: fmt.Sprintf("sample with repeated timestamp but different value for series %v; last value: %v, incoming value: %v", s.metric, s.lastSampleValue, v.Value), errorType: "new-value-for-timestamp", } } if v.Timestamp < s.lastTime { - return &memorySeriesError{ + return reuseIter, &memorySeriesError{ message: fmt.Sprintf("sample timestamp out of order for series %v; last timestamp: %v, incoming timestamp: %v", s.metric, s.lastTime, v.Timestamp), errorType: "sample-out-of-order", } @@ -98,7 +98,7 @@ func (s *memorySeries) add(v model.SamplePair) error { chunks, err := s.head().add(v) if err != nil { - return err + return reuseIter, err } // If we get a single chunk result, then just replace the head chunk with it @@ -108,10 +108,11 @@ func (s *memorySeries) add(v model.SamplePair) error { s.head().C = chunks[0] } else { s.chunkDescs = s.chunkDescs[:len(s.chunkDescs)-1] + var first, last model.Time for _, c := range chunks { - first, last, err := firstAndLastTimes(c) + first, last, reuseIter, err = firstAndLastTimes(c, reuseIter) if err != nil { - return err + return reuseIter, err } s.chunkDescs = append(s.chunkDescs, newDesc(c, first, last)) createdChunks.Inc() @@ -122,16 +123,16 @@ func (s *memorySeries) add(v model.SamplePair) error { s.lastSampleValue = v.Value s.lastSampleValueSet = true - return nil + return reuseIter, nil } -func firstAndLastTimes(c encoding.Chunk) (model.Time, model.Time, error) { +func firstAndLastTimes(c encoding.Chunk, iter encoding.Iterator) (model.Time, model.Time, encoding.Iterator, error) { var ( first model.Time last model.Time firstSet bool - iter = c.NewIterator() ) + iter = c.NewIterator(iter) for iter.Scan() { sample := iter.Value() if !firstSet { @@ -140,7 +141,7 @@ func firstAndLastTimes(c encoding.Chunk) (model.Time, model.Time, error) { } last = sample.Timestamp } - return first, last, iter.Err() + return first, last, iter, iter.Err() } func (s *memorySeries) closeHead() { @@ -189,9 +190,11 @@ func (s *memorySeries) samplesForRange(from, through model.Time) ([]model.Sample OldestInclusive: from, NewestInclusive: through, } + var reuseIter encoding.Iterator for idx := fromIdx; idx <= throughIdx; idx++ { cd := s.chunkDescs[idx] - chValues, err := encoding.RangeValues(cd.C.NewIterator(), in) + reuseIter = cd.C.NewIterator(reuseIter) + chValues, err := encoding.RangeValues(reuseIter, in) if err != nil { return nil, err } diff --git a/pkg/querier/batch/chunk.go b/pkg/querier/batch/chunk.go index cbb94c5afa5..50c884a6e30 100644 --- a/pkg/querier/batch/chunk.go +++ b/pkg/querier/batch/chunk.go @@ -16,7 +16,7 @@ type chunkIterator struct { func (i *chunkIterator) reset(chunk chunk.Chunk) { i.chunk = chunk - i.it = chunk.Data.NewIterator() + i.it = chunk.Data.NewIterator(i.it) i.batch.Length = 0 i.batch.Index = 0 } diff --git a/pkg/querier/iterators/chunk_merge_iterator.go b/pkg/querier/iterators/chunk_merge_iterator.go index d02e8c6203f..8ba09937757 100644 --- a/pkg/querier/iterators/chunk_merge_iterator.go +++ b/pkg/querier/iterators/chunk_merge_iterator.go @@ -48,7 +48,7 @@ func buildIterators(cs []chunk.Chunk) []*nonOverlappingIterator { for i := range cs { chunks[i] = &chunkIterator{ Chunk: cs[i], - it: cs[i].Data.NewIterator(), + it: cs[i].Data.NewIterator(nil), } } sort.Sort(byFrom(chunks)) From 75f00d10397d63d61fda9a75e68a47bdc440c44a Mon Sep 17 00:00:00 2001 From: Ganesh Vernekar Date: Mon, 12 Aug 2019 12:22:46 +0530 Subject: [PATCH 03/10] Iterator re-use in Add(...) Signed-off-by: Ganesh Vernekar --- pkg/chunk/cache/cache_test.go | 4 +- pkg/chunk/chunk_store_test.go | 8 +-- pkg/chunk/chunk_test.go | 2 +- pkg/chunk/encoding/bigchunk.go | 8 +-- pkg/chunk/encoding/bigchunk_test.go | 8 +-- pkg/chunk/encoding/chunk.go | 31 ++++++---- pkg/chunk/encoding/chunk_test.go | 8 +-- pkg/chunk/encoding/delta.go | 44 ++++++++++--- pkg/chunk/encoding/delta_test.go | 4 +- pkg/chunk/encoding/doubledelta.go | 51 ++++++++++++---- pkg/chunk/encoding/varbit.go | 61 +++++++++++++------ pkg/chunk/testutils/testutils.go | 2 +- pkg/distributor/distributor_test.go | 4 +- pkg/ingester/ingester_test.go | 7 +++ pkg/ingester/series.go | 10 +-- pkg/querier/batch/chunk_test.go | 4 +- pkg/querier/chunk_store_queryable_test.go | 4 +- .../iterators/chunk_merge_iterator_test.go | 4 +- 18 files changed, 177 insertions(+), 87 deletions(-) diff --git a/pkg/chunk/cache/cache_test.go b/pkg/chunk/cache/cache_test.go index 8ef1d4c9331..33571d42e39 100644 --- a/pkg/chunk/cache/cache_test.go +++ b/pkg/chunk/cache/cache_test.go @@ -27,10 +27,10 @@ func fillCache(t *testing.T, cache cache.Cache) ([]string, []chunk.Chunk) { chunks := []chunk.Chunk{} for i := 0; i < 100; i++ { ts := model.TimeFromUnix(int64(i * chunkLen)) - promChunk, _ := prom_chunk.New().Add(model.SamplePair{ + promChunk, _, _ := prom_chunk.New().Add(model.SamplePair{ Timestamp: ts, Value: model.SampleValue(i), - }) + }, nil) c := chunk.NewChunk( userID, model.Fingerprint(1), diff --git a/pkg/chunk/chunk_store_test.go b/pkg/chunk/chunk_store_test.go index 9e91c60ca8d..b9a16bc83b1 100644 --- a/pkg/chunk/chunk_store_test.go +++ b/pkg/chunk/chunk_store_test.go @@ -579,10 +579,10 @@ func TestChunkStoreRandom(t *testing.T) { const chunkLen = 2 * 3600 // in seconds for i := 0; i < 100; i++ { ts := model.TimeFromUnix(int64(i * chunkLen)) - chunks, _ := encoding.New().Add(model.SamplePair{ + chunks, _, _ := encoding.New().Add(model.SamplePair{ Timestamp: ts, Value: model.SampleValue(float64(i)), - }) + }, nil) chunk := NewChunk( userID, model.Fingerprint(1), @@ -644,10 +644,10 @@ func TestChunkStoreLeastRead(t *testing.T) { const chunkLen = 60 // in seconds for i := 0; i < 24; i++ { ts := model.TimeFromUnix(int64(i * chunkLen)) - chunks, _ := encoding.New().Add(model.SamplePair{ + chunks, _, _ := encoding.New().Add(model.SamplePair{ Timestamp: ts, Value: model.SampleValue(float64(i)), - }) + }, nil) chunk := NewChunk( userID, model.Fingerprint(1), diff --git a/pkg/chunk/chunk_test.go b/pkg/chunk/chunk_test.go index 8a10bb72a1d..b0a16cdc097 100644 --- a/pkg/chunk/chunk_test.go +++ b/pkg/chunk/chunk_test.go @@ -36,7 +36,7 @@ func dummyChunkForEncoding(now model.Time, metric labels.Labels, enc encoding.En c, _ := encoding.NewForEncoding(enc) for i := 0; i < samples; i++ { t := time.Duration(i) * 15 * time.Second - cs, err := c.Add(model.SamplePair{Timestamp: now.Add(t), Value: 0}) + cs, _, err := c.Add(model.SamplePair{Timestamp: now.Add(t), Value: 0}, nil) if err != nil { panic(err) } diff --git a/pkg/chunk/encoding/bigchunk.go b/pkg/chunk/encoding/bigchunk.go index 451de57acab..6b628a2d6bd 100644 --- a/pkg/chunk/encoding/bigchunk.go +++ b/pkg/chunk/encoding/bigchunk.go @@ -33,20 +33,20 @@ func newBigchunk() *bigchunk { return &bigchunk{} } -func (b *bigchunk) Add(sample model.SamplePair) ([]Chunk, error) { +func (b *bigchunk) Add(sample model.SamplePair, reuseIter Iterator) ([]Chunk, Iterator, error) { if b.remainingSamples == 0 { if bigchunkSizeCapBytes > 0 && b.Size() > bigchunkSizeCapBytes { - return addToOverflowChunk(b, sample) + return addToOverflowChunk(b, sample, reuseIter) } if err := b.addNextChunk(sample.Timestamp); err != nil { - return nil, err + return nil, reuseIter, err } } b.appender.Append(int64(sample.Timestamp), float64(sample.Value)) b.remainingSamples-- b.chunks[len(b.chunks)-1].end = int64(sample.Timestamp) - return []Chunk{b}, nil + return []Chunk{b}, reuseIter, nil } // addNextChunk adds a new XOR "subchunk" to the internal list of chunks. diff --git a/pkg/chunk/encoding/bigchunk_test.go b/pkg/chunk/encoding/bigchunk_test.go index c8910c53f82..923179056c0 100644 --- a/pkg/chunk/encoding/bigchunk_test.go +++ b/pkg/chunk/encoding/bigchunk_test.go @@ -12,10 +12,10 @@ import ( func TestSliceBiggerChunk(t *testing.T) { var c Chunk = newBigchunk() for i := 0; i < 12*3600/15; i++ { - cs, err := c.Add(model.SamplePair{ + cs, _, err := c.Add(model.SamplePair{ Timestamp: model.Time(i * step), Value: model.SampleValue(i), - }) + }, nil) require.NoError(t, err) c = cs[0] } @@ -62,10 +62,10 @@ func BenchmarkBiggerChunkMemory(b *testing.B) { for i := 0; i < b.N; i++ { var c Chunk = newBigchunk() for i := 0; i < 12*3600/15; i++ { - cs, err := c.Add(model.SamplePair{ + cs, _, err := c.Add(model.SamplePair{ Timestamp: model.Time(i * step), Value: model.SampleValue(i), - }) + }, nil) require.NoError(b, err) c = cs[0] } diff --git a/pkg/chunk/encoding/chunk.go b/pkg/chunk/encoding/chunk.go index a01dd5b031b..8ce1913d1b0 100644 --- a/pkg/chunk/encoding/chunk.go +++ b/pkg/chunk/encoding/chunk.go @@ -43,7 +43,7 @@ type Chunk interface { // any. The first chunk returned might be the same as the original one // or a newly allocated version. In any case, take the returned chunk as // the relevant one and discard the original chunk. - Add(sample model.SamplePair) ([]Chunk, error) + Add(sample model.SamplePair, reuseIter Iterator) ([]Chunk, Iterator, error) NewIterator(Iterator) Iterator Marshal(io.Writer) error UnmarshalFromBuf([]byte) error @@ -120,40 +120,40 @@ func RangeValues(it Iterator, in metric.Interval) ([]model.SamplePair, error) { // addToOverflowChunk is a utility function that creates a new chunk as overflow // chunk, adds the provided sample to it, and returns a chunk slice containing // the provided old chunk followed by the new overflow chunk. -func addToOverflowChunk(c Chunk, s model.SamplePair) ([]Chunk, error) { - overflowChunks, err := New().Add(s) +func addToOverflowChunk(c Chunk, s model.SamplePair, reuseIter Iterator) ([]Chunk, Iterator, error) { + overflowChunks, reuseIter, err := New().Add(s, reuseIter) if err != nil { - return nil, err + return nil, reuseIter, err } - return []Chunk{c, overflowChunks[0]}, nil + return []Chunk{c, overflowChunks[0]}, reuseIter, nil } // transcodeAndAdd is a utility function that transcodes the dst chunk into the // provided src chunk (plus the necessary overflow chunks) and then adds the // provided sample. It returns the new chunks (transcoded plus overflow) with // the new sample at the end. -func transcodeAndAdd(dst Chunk, src Chunk, s model.SamplePair) ([]Chunk, error) { +func transcodeAndAdd(dst Chunk, srcIterator Iterator, s model.SamplePair) ([]Chunk, error) { Ops.WithLabelValues(Transcode).Inc() var ( head = dst body, NewChunks []Chunk err error + reuseIter Iterator ) - it := src.NewIterator(nil) - for it.Scan() { - if NewChunks, err = head.Add(it.Value()); err != nil { + for srcIterator.Scan() { + if NewChunks, reuseIter, err = head.Add(srcIterator.Value(), reuseIter); err != nil { return nil, err } body = append(body, NewChunks[:len(NewChunks)-1]...) head = NewChunks[len(NewChunks)-1] } - if it.Err() != nil { - return nil, it.Err() + if srcIterator.Err() != nil { + return nil, srcIterator.Err() } - if NewChunks, err = head.Add(s); err != nil { + if NewChunks, reuseIter, err = head.Add(s, reuseIter); err != nil { return nil, err } return append(body, NewChunks...), nil @@ -184,6 +184,13 @@ func newIndexAccessingChunkIterator(len int, acc indexAccessor) *indexAccessingC } } +func (it *indexAccessingChunkIterator) reset(len int, acc indexAccessor) { + it.len = len + it.pos = -1 + it.lastValue = model.ZeroSamplePair + it.acc = acc +} + // scan implements Iterator. func (it *indexAccessingChunkIterator) Scan() bool { it.pos++ diff --git a/pkg/chunk/encoding/chunk_test.go b/pkg/chunk/encoding/chunk_test.go index e0dbd383c6f..a3799b63fb2 100644 --- a/pkg/chunk/encoding/chunk_test.go +++ b/pkg/chunk/encoding/chunk_test.go @@ -43,10 +43,10 @@ func TestLen(t *testing.T) { t.Errorf("chunk type %s should have %d samples, had %d", c.Encoding(), i, c.Len()) } - cs, _ := c.Add(model.SamplePair{ + cs, _, _ := c.Add(model.SamplePair{ Timestamp: model.Time(i), Value: model.SampleValue(i), - }) + }, nil) c = cs[0] } } @@ -95,10 +95,10 @@ func mkChunk(t *testing.T, encoding Encoding, samples int) Chunk { require.NoError(t, err) for i := 0; i < samples; i++ { - chunks, err := chunk.Add(model.SamplePair{ + chunks, _, err := chunk.Add(model.SamplePair{ Timestamp: model.Time(i * step), Value: model.SampleValue(i), - }) + }, nil) require.NoError(t, err) require.Len(t, chunks, 1) chunk = chunks[0] diff --git a/pkg/chunk/encoding/delta.go b/pkg/chunk/encoding/delta.go index 120f734c363..bfedb36fc05 100644 --- a/pkg/chunk/encoding/delta.go +++ b/pkg/chunk/encoding/delta.go @@ -76,7 +76,7 @@ func newDeltaEncodedChunk(tb, vb deltaBytes, isInt bool, length int) *deltaEncod } // Add implements chunk. -func (c deltaEncodedChunk) Add(s model.SamplePair) ([]Chunk, error) { +func (c deltaEncodedChunk) Add(s model.SamplePair, reuseIter Iterator) ([]Chunk, Iterator, error) { // TODO(beorn7): Since we return &c, this method might cause an unnecessary allocation. if c.Len() == 0 { c = c[:deltaHeaderBytes] @@ -90,13 +90,13 @@ func (c deltaEncodedChunk) Add(s model.SamplePair) ([]Chunk, error) { // Do we generally have space for another sample in this chunk? If not, // overflow into a new one. if remainingBytes < sampleSize { - return addToOverflowChunk(&c, s) + return addToOverflowChunk(&c, s, reuseIter) } baseValue := c.baseValue() dt := s.Timestamp - c.baseTime() if dt < 0 { - return nil, fmt.Errorf("time delta is less than zero: %v", dt) + return nil, reuseIter, fmt.Errorf("time delta is less than zero: %v", dt) } dv := s.Value - baseValue @@ -127,10 +127,12 @@ func (c deltaEncodedChunk) Add(s model.SamplePair) ([]Chunk, error) { } if tb != ntb || vb != nvb || isInt != nInt { if len(c)*2 < cap(c) { - return transcodeAndAdd(newDeltaEncodedChunk(ntb, nvb, nInt, cap(c)), &c, s) + reuseIter = c.NewIterator(reuseIter) + c, err := transcodeAndAdd(newDeltaEncodedChunk(ntb, nvb, nInt, cap(c)), reuseIter, s) + return c, reuseIter, err } // Chunk is already half full. Better create a new one and save the transcoding efforts. - return addToOverflowChunk(&c, s) + return addToOverflowChunk(&c, s, reuseIter) } offset := len(c) @@ -147,7 +149,7 @@ func (c deltaEncodedChunk) Add(s model.SamplePair) ([]Chunk, error) { // Store the absolute value (no delta) in case of d8. binary.LittleEndian.PutUint64(c[offset:], uint64(s.Timestamp)) default: - return nil, fmt.Errorf("invalid number of bytes for time delta: %d", tb) + return nil, reuseIter, fmt.Errorf("invalid number of bytes for time delta: %d", tb) } offset += int(tb) @@ -164,7 +166,7 @@ func (c deltaEncodedChunk) Add(s model.SamplePair) ([]Chunk, error) { binary.LittleEndian.PutUint32(c[offset:], uint32(int32(dv))) // d8 must not happen. Those samples are encoded as float64. default: - return nil, fmt.Errorf("invalid number of bytes for integer delta: %d", vb) + return nil, reuseIter, fmt.Errorf("invalid number of bytes for integer delta: %d", vb) } } else { switch vb { @@ -174,10 +176,10 @@ func (c deltaEncodedChunk) Add(s model.SamplePair) ([]Chunk, error) { // Store the absolute value (no delta) in case of d8. binary.LittleEndian.PutUint64(c[offset:], math.Float64bits(float64(s.Value))) default: - return nil, fmt.Errorf("invalid number of bytes for floating point delta: %d", vb) + return nil, reuseIter, fmt.Errorf("invalid number of bytes for floating point delta: %d", vb) } } - return []Chunk{&c}, nil + return []Chunk{&c}, reuseIter, nil } func (c *deltaEncodedChunk) Slice(_, _ model.Time) Chunk { @@ -185,7 +187,29 @@ func (c *deltaEncodedChunk) Slice(_, _ model.Time) Chunk { } // NewIterator implements chunk. -func (c *deltaEncodedChunk) NewIterator(_ Iterator) Iterator { +func (c *deltaEncodedChunk) NewIterator(reuseIter Iterator) Iterator { + if ia, ok := reuseIter.(*indexAccessingChunkIterator); ok { + if deia, ok := ia.acc.(*deltaEncodedIndexAccessor); ok { + deia.c = *c + deia.baseT = c.baseTime() + deia.baseV = c.baseValue() + deia.tBytes = c.timeBytes() + deia.vBytes = c.valueBytes() + deia.isInt = c.isInt() + deia.lastErr = nil + ia.reset(c.Len(), deia) + return ia + } + ia.reset(c.Len(), &deltaEncodedIndexAccessor{ + c: *c, + baseT: c.baseTime(), + baseV: c.baseValue(), + tBytes: c.timeBytes(), + vBytes: c.valueBytes(), + isInt: c.isInt(), + }) + return ia + } return newIndexAccessingChunkIterator(c.Len(), &deltaEncodedIndexAccessor{ c: *c, baseT: c.baseTime(), diff --git a/pkg/chunk/encoding/delta_test.go b/pkg/chunk/encoding/delta_test.go index 3c014c60e53..4d385eae6a5 100644 --- a/pkg/chunk/encoding/delta_test.go +++ b/pkg/chunk/encoding/delta_test.go @@ -82,10 +82,10 @@ func TestUnmarshallingCorruptedDeltaReturnsAnError(t *testing.T) { for _, c := range cases { chunk := c.chunkConstructor(d1, d4, false, ChunkLen) - cs, err := chunk.Add(model.SamplePair{ + cs, _, err := chunk.Add(model.SamplePair{ Timestamp: model.Now(), Value: model.SampleValue(100), - }) + }, nil) if err != nil { t.Fatalf("Couldn't add sample to empty %s: %s", c.chunkTypeName, err) } diff --git a/pkg/chunk/encoding/doubledelta.go b/pkg/chunk/encoding/doubledelta.go index cdb803a6e05..d28d7985cd5 100644 --- a/pkg/chunk/encoding/doubledelta.go +++ b/pkg/chunk/encoding/doubledelta.go @@ -84,17 +84,18 @@ func newDoubleDeltaEncodedChunk(tb, vb deltaBytes, isInt bool, length int) *doub } // Add implements chunk. -func (c doubleDeltaEncodedChunk) Add(s model.SamplePair) ([]Chunk, error) { +func (c doubleDeltaEncodedChunk) Add(s model.SamplePair, reuseIter Iterator) (_ []Chunk, ri Iterator, _ error) { // TODO(beorn7): Since we return &c, this method might cause an unnecessary allocation. if c.Len() == 0 { - return c.addFirstSample(s), nil + return c.addFirstSample(s), reuseIter, nil } tb := c.timeBytes() vb := c.valueBytes() if c.Len() == 1 { - return c.addSecondSample(s, tb, vb) + ch, err := c.addSecondSample(s, tb, vb) + return ch, reuseIter, err } remainingBytes := cap(c) - len(c) @@ -103,7 +104,7 @@ func (c doubleDeltaEncodedChunk) Add(s model.SamplePair) ([]Chunk, error) { // Do we generally have space for another sample in this chunk? If not, // overflow into a new one. if remainingBytes < sampleSize { - return addToOverflowChunk(&c, s) + return addToOverflowChunk(&c, s, reuseIter) } projectedTime := c.baseTime() + model.Time(c.Len())*c.baseTimeDelta() @@ -134,10 +135,12 @@ func (c doubleDeltaEncodedChunk) Add(s model.SamplePair) ([]Chunk, error) { } if tb != ntb || vb != nvb || c.isInt() != nInt { if len(c)*2 < cap(c) { - return transcodeAndAdd(newDoubleDeltaEncodedChunk(ntb, nvb, nInt, cap(c)), &c, s) + reuseIter = c.NewIterator(reuseIter) + ch, err := transcodeAndAdd(newDoubleDeltaEncodedChunk(ntb, nvb, nInt, cap(c)), reuseIter, s) + return ch, reuseIter, err } // Chunk is already half full. Better create a new one and save the transcoding efforts. - return addToOverflowChunk(&c, s) + return addToOverflowChunk(&c, s, reuseIter) } offset := len(c) @@ -154,7 +157,7 @@ func (c doubleDeltaEncodedChunk) Add(s model.SamplePair) ([]Chunk, error) { // Store the absolute value (no delta) in case of d8. binary.LittleEndian.PutUint64(c[offset:], uint64(s.Timestamp)) default: - return nil, fmt.Errorf("invalid number of bytes for time delta: %d", tb) + return nil, reuseIter, fmt.Errorf("invalid number of bytes for time delta: %d", tb) } offset += int(tb) @@ -171,7 +174,7 @@ func (c doubleDeltaEncodedChunk) Add(s model.SamplePair) ([]Chunk, error) { binary.LittleEndian.PutUint32(c[offset:], uint32(int32(ddv))) // d8 must not happen. Those samples are encoded as float64. default: - return nil, fmt.Errorf("invalid number of bytes for integer delta: %d", vb) + return nil, reuseIter, fmt.Errorf("invalid number of bytes for integer delta: %d", vb) } } else { switch vb { @@ -181,10 +184,10 @@ func (c doubleDeltaEncodedChunk) Add(s model.SamplePair) ([]Chunk, error) { // Store the absolute value (no delta) in case of d8. binary.LittleEndian.PutUint64(c[offset:], math.Float64bits(float64(s.Value))) default: - return nil, fmt.Errorf("invalid number of bytes for floating point delta: %d", vb) + return nil, reuseIter, fmt.Errorf("invalid number of bytes for floating point delta: %d", vb) } } - return []Chunk{&c}, nil + return []Chunk{&c}, reuseIter, nil } // FirstTime implements chunk. @@ -193,7 +196,33 @@ func (c doubleDeltaEncodedChunk) FirstTime() model.Time { } // NewIterator( implements chunk. -func (c *doubleDeltaEncodedChunk) NewIterator(_ Iterator) Iterator { +func (c *doubleDeltaEncodedChunk) NewIterator(reuseIter Iterator) Iterator { + if ia, ok := reuseIter.(*indexAccessingChunkIterator); ok { + if deia, ok := ia.acc.(*doubleDeltaEncodedIndexAccessor); ok { + deia.c = *c + deia.baseT = c.baseTime() + deia.baseΔT = c.baseTimeDelta() + deia.baseV = c.baseValue() + deia.baseΔV = c.baseValueDelta() + deia.tBytes = c.timeBytes() + deia.vBytes = c.valueBytes() + deia.isInt = c.isInt() + deia.lastErr = nil + ia.reset(c.Len(), deia) + return ia + } + ia.reset(c.Len(), &doubleDeltaEncodedIndexAccessor{ + c: *c, + baseT: c.baseTime(), + baseΔT: c.baseTimeDelta(), + baseV: c.baseValue(), + baseΔV: c.baseValueDelta(), + tBytes: c.timeBytes(), + vBytes: c.valueBytes(), + isInt: c.isInt(), + }) + return ia + } return newIndexAccessingChunkIterator(c.Len(), &doubleDeltaEncodedIndexAccessor{ c: *c, baseT: c.baseTime(), diff --git a/pkg/chunk/encoding/varbit.go b/pkg/chunk/encoding/varbit.go index c2663fe9e24..3e56abdce24 100644 --- a/pkg/chunk/encoding/varbit.go +++ b/pkg/chunk/encoding/varbit.go @@ -260,23 +260,28 @@ func newVarbitChunk(enc varbitValueEncoding) *varbitChunk { } // Add implements chunk. -func (c *varbitChunk) Add(s model.SamplePair) ([]Chunk, error) { +func (c *varbitChunk) Add(s model.SamplePair, reuseIter Iterator) ([]Chunk, Iterator, error) { offset := c.nextSampleOffset() switch { case c.closed(): - return addToOverflowChunk(c, s) + return addToOverflowChunk(c, s, reuseIter) case offset > varbitNextSampleBitOffsetThreshold: - return c.addLastSample(s), nil + return c.addLastSample(s), reuseIter, nil case offset == varbitFirstSampleBitOffset: - return c.addFirstSample(s), nil + return c.addFirstSample(s), reuseIter, nil case offset == varbitSecondSampleBitOffset: - return c.addSecondSample(s) + ch, err := c.addSecondSample(s) + return ch, reuseIter, err } - return c.addLaterSample(s, offset) + return c.addLaterSample(s, offset, reuseIter) } // NewIterator implements chunk. -func (c varbitChunk) NewIterator(_ Iterator) Iterator { +func (c varbitChunk) NewIterator(reuseIter Iterator) Iterator { + if it, ok := reuseIter.(*varbitChunkIterator); ok { + it.resetWithChunk(c) + return it + } return newVarbitChunkIterator(c) } @@ -546,7 +551,7 @@ func (c *varbitChunk) addLastSample(s model.SamplePair) []Chunk { // addLaterSample is a helper method only used by c.add(). It adds a third or // later sample. -func (c *varbitChunk) addLaterSample(s model.SamplePair, offset uint16) ([]Chunk, error) { +func (c *varbitChunk) addLaterSample(s model.SamplePair, offset uint16, reuseIter Iterator) ([]Chunk, Iterator, error) { var ( lastTime = c.lastTime() lastTimeDelta = c.lastTimeDelta() @@ -556,7 +561,7 @@ func (c *varbitChunk) addLaterSample(s model.SamplePair, offset uint16) ([]Chunk ) if newTimeDelta < 0 { - return nil, fmt.Errorf("Δt is less than zero: %v", newTimeDelta) + return nil, reuseIter, fmt.Errorf("Δt is less than zero: %v", newTimeDelta) } if offset == varbitThirdSampleBitOffset { offset, encoding = c.prepForThirdSample(lastValue, s.Value, encoding) @@ -564,12 +569,12 @@ func (c *varbitChunk) addLaterSample(s model.SamplePair, offset uint16) ([]Chunk if newTimeDelta > varbitMaxTimeDelta { // A time delta too great. Still, we can add it as a last sample // before overflowing. - return c.addLastSample(s), nil + return c.addLastSample(s), reuseIter, nil } // Analyze worst case, does it fit? If not, set new sample as the last. if int(offset)+varbitWorstCaseBitsPerSample[encoding] > ChunkLen*8 { - return c.addLastSample(s), nil + return c.addLastSample(s), reuseIter, nil } // Transcoding/overflow decisions first. @@ -577,26 +582,32 @@ func (c *varbitChunk) addLaterSample(s model.SamplePair, offset uint16) ([]Chunk // Cannot go on with zero encoding. if offset > ChunkLen*4 { // Chunk already half full. Don't transcode, overflow instead. - return addToOverflowChunk(c, s) + return addToOverflowChunk(c, s, reuseIter) } if isInt32(s.Value - lastValue) { // Trying int encoding looks promising. - return transcodeAndAdd(newVarbitChunk(varbitIntDoubleDeltaEncoding), c, s) + reuseIter = c.NewIterator(reuseIter) + ch, err := transcodeAndAdd(newVarbitChunk(varbitIntDoubleDeltaEncoding), reuseIter, s) + return ch, reuseIter, err } - return transcodeAndAdd(newVarbitChunk(varbitXOREncoding), c, s) + reuseIter = c.NewIterator(reuseIter) + ch, err := transcodeAndAdd(newVarbitChunk(varbitXOREncoding), reuseIter, s) + return ch, reuseIter, err } if encoding == varbitIntDoubleDeltaEncoding && !isInt32(s.Value-lastValue) { // Cannot go on with int encoding. if offset > ChunkLen*4 { // Chunk already half full. Don't transcode, overflow instead. - return addToOverflowChunk(c, s) + return addToOverflowChunk(c, s, reuseIter) } - return transcodeAndAdd(newVarbitChunk(varbitXOREncoding), c, s) + reuseIter = c.NewIterator(reuseIter) + ch, err := transcodeAndAdd(newVarbitChunk(varbitXOREncoding), reuseIter, s) + return ch, reuseIter, err } offset, overflow := c.addDDTime(offset, lastTimeDelta, newTimeDelta) if overflow { - return c.addLastSample(s), nil + return c.addLastSample(s), reuseIter, nil } switch encoding { case varbitZeroEncoding: @@ -608,12 +619,12 @@ func (c *varbitChunk) addLaterSample(s model.SamplePair, offset uint16) ([]Chunk case varbitDirectEncoding: offset = c.addBitPattern(offset, math.Float64bits(float64(s.Value)), 64) default: - return nil, fmt.Errorf("unknown Varbit value encoding: %v", encoding) + return nil, reuseIter, fmt.Errorf("unknown Varbit value encoding: %v", encoding) } c.setNextSampleOffset(offset) c.setLastSample(s) - return []Chunk{c}, nil + return []Chunk{c}, reuseIter, nil } func (c varbitChunk) prepForThirdSample( @@ -1159,6 +1170,18 @@ func (it *varbitChunkIterator) reset() { it.rewound = false } +func (it *varbitChunkIterator) resetWithChunk(c varbitChunk) { + it.reset() + + it.c = c + it.len = c.nextSampleOffset() + it.enc = c.valueEncoding() + + it.lastError = nil + it.nextT = 0 + it.nextV = 0 +} + // rewind "rewinds" the chunk iterator by one step. Since one cannot simply // rewind a Varbit chunk, the old values have to be provided by the // caller. Rewinding an already rewound chunk panics. After a call of scan or diff --git a/pkg/chunk/testutils/testutils.go b/pkg/chunk/testutils/testutils.go index 0a5f1cf9dbe..0aa15dc6b23 100644 --- a/pkg/chunk/testutils/testutils.go +++ b/pkg/chunk/testutils/testutils.go @@ -80,7 +80,7 @@ func dummyChunk(now model.Time) chunk.Chunk { } func dummyChunkFor(now model.Time, metric labels.Labels) chunk.Chunk { - cs, _ := promchunk.New().Add(model.SamplePair{Timestamp: now, Value: 0}) + cs, _, _ := promchunk.New().Add(model.SamplePair{Timestamp: now, Value: 0}, nil) chunk := chunk.NewChunk( userID, client.Fingerprint(metric), diff --git a/pkg/distributor/distributor_test.go b/pkg/distributor/distributor_test.go index 5b968622d64..da33e6da35c 100644 --- a/pkg/distributor/distributor_test.go +++ b/pkg/distributor/distributor_test.go @@ -562,10 +562,10 @@ func (i *mockIngester) QueryStream(ctx context.Context, req *client.QueryRequest c := encoding.New() for _, sample := range ts.Samples { - cs, err := c.Add(model.SamplePair{ + cs, _, err := c.Add(model.SamplePair{ Timestamp: model.Time(sample.TimestampMs), Value: model.SampleValue(sample.Value), - }) + }, nil) if err != nil { panic(err) } diff --git a/pkg/ingester/ingester_test.go b/pkg/ingester/ingester_test.go index 83c202fb487..1e61070c699 100644 --- a/pkg/ingester/ingester_test.go +++ b/pkg/ingester/ingester_test.go @@ -5,6 +5,9 @@ import ( "fmt" "math" "net/http" + "os" + "runtime" + "runtime/pprof" "sort" "strconv" "sync" @@ -492,6 +495,7 @@ func benchmarkIngesterSeriesCreationLocking(b *testing.B, parallelism int) { } func BenchmarkIngesterPush(b *testing.B) { + runtime.MemProfileRate = 256 cfg := defaultIngesterTestConfig() clientCfg := defaultClientTestConfig() limits := defaultLimitsTestConfig() @@ -531,4 +535,7 @@ func BenchmarkIngesterPush(b *testing.B) { } ing.Shutdown() } + runtime.GC() + hf, _ := os.Create("/home/ganesh/go/src/github.com/cortexproject/cortex/heap.prof") + pprof.WriteHeapProfile(hf) } diff --git a/pkg/ingester/series.go b/pkg/ingester/series.go index 282efd0a182..456af962948 100644 --- a/pkg/ingester/series.go +++ b/pkg/ingester/series.go @@ -96,7 +96,7 @@ func (s *memorySeries) add(v model.SamplePair, reuseIter encoding.Iterator) (enc createdChunks.Inc() } - chunks, err := s.head().add(v) + chunks, reuseIter, err := s.head().add(v, reuseIter) if err != nil { return reuseIter, err } @@ -235,10 +235,10 @@ func newDesc(c encoding.Chunk, firstTime model.Time, lastTime model.Time) *desc // Add adds a sample pair to the underlying chunk. For safe concurrent access, // The chunk must be pinned, and the caller must have locked the fingerprint of // the series. -func (d *desc) add(s model.SamplePair) ([]encoding.Chunk, error) { - cs, err := d.C.Add(s) +func (d *desc) add(s model.SamplePair, reuseIter encoding.Iterator) ([]encoding.Chunk, encoding.Iterator, error) { + cs, reuseIter, err := d.C.Add(s, reuseIter) if err != nil { - return nil, err + return nil, reuseIter, err } if len(cs) == 1 { @@ -246,7 +246,7 @@ func (d *desc) add(s model.SamplePair) ([]encoding.Chunk, error) { d.LastUpdate = model.Now() } - return cs, nil + return cs, reuseIter, nil } func (d *desc) slice(start, end model.Time) *desc { diff --git a/pkg/querier/batch/chunk_test.go b/pkg/querier/batch/chunk_test.go index 115b0f5d22f..dcdde1c3e42 100644 --- a/pkg/querier/batch/chunk_test.go +++ b/pkg/querier/batch/chunk_test.go @@ -48,10 +48,10 @@ func mkChunk(t require.TestingT, from model.Time, points int, enc promchunk.Enco require.NoError(t, err) ts := from for i := 0; i < points; i++ { - pcs, err := pc.Add(model.SamplePair{ + pcs, _, err := pc.Add(model.SamplePair{ Timestamp: ts, Value: model.SampleValue(float64(ts)), - }) + }, nil) require.NoError(t, err) require.Len(t, pcs, 1) pc = pcs[0] diff --git a/pkg/querier/chunk_store_queryable_test.go b/pkg/querier/chunk_store_queryable_test.go index dde5bb28412..a9bb4f5de2f 100644 --- a/pkg/querier/chunk_store_queryable_test.go +++ b/pkg/querier/chunk_store_queryable_test.go @@ -56,10 +56,10 @@ func mkChunk(t require.TestingT, mint, maxt model.Time, step time.Duration, enco pc, err := promchunk.NewForEncoding(encoding) require.NoError(t, err) for i := mint; i.Before(maxt); i = i.Add(step) { - pcs, err := pc.Add(model.SamplePair{ + pcs, _, err := pc.Add(model.SamplePair{ Timestamp: i, Value: model.SampleValue(float64(i)), - }) + }, nil) require.NoError(t, err) require.Len(t, pcs, 1) pc = pcs[0] diff --git a/pkg/querier/iterators/chunk_merge_iterator_test.go b/pkg/querier/iterators/chunk_merge_iterator_test.go index 0d740713769..4f2bfd01d5b 100644 --- a/pkg/querier/iterators/chunk_merge_iterator_test.go +++ b/pkg/querier/iterators/chunk_merge_iterator_test.go @@ -102,10 +102,10 @@ func mkChunk(t require.TestingT, mint, maxt model.Time, step time.Duration, enco pc, err := promchunk.NewForEncoding(encoding) require.NoError(t, err) for i := mint; i.Before(maxt); i = i.Add(step) { - pcs, err := pc.Add(model.SamplePair{ + pcs, _, err := pc.Add(model.SamplePair{ Timestamp: i, Value: model.SampleValue(float64(i)), - }) + }, nil) require.NoError(t, err) require.Len(t, pcs, 1) pc = pcs[0] From ccdc090db03dfea11edccd6625a96274a0a1bb02 Mon Sep 17 00:00:00 2001 From: Ganesh Vernekar Date: Wed, 14 Aug 2019 19:39:26 +0530 Subject: [PATCH 04/10] Small fixes Signed-off-by: Ganesh Vernekar --- pkg/chunk/encoding/bigchunk.go | 1 + pkg/chunk/encoding/delta.go | 29 ++++++++++++++------------- pkg/chunk/encoding/doubledelta.go | 33 ++++++++++++++++--------------- pkg/querier/querier_test.go | 4 ++-- 4 files changed, 35 insertions(+), 32 deletions(-) diff --git a/pkg/chunk/encoding/bigchunk.go b/pkg/chunk/encoding/bigchunk.go index 6b628a2d6bd..e1ea25006a7 100644 --- a/pkg/chunk/encoding/bigchunk.go +++ b/pkg/chunk/encoding/bigchunk.go @@ -182,6 +182,7 @@ func (b *bigchunk) NewIterator(reuseIter Iterator) Iterator { bci.bigchunk = b bci.curr = it bci.i = 0 + return bci } return &bigchunkIterator{ bigchunk: b, diff --git a/pkg/chunk/encoding/delta.go b/pkg/chunk/encoding/delta.go index bfedb36fc05..2f0ee16c6f3 100644 --- a/pkg/chunk/encoding/delta.go +++ b/pkg/chunk/encoding/delta.go @@ -188,19 +188,9 @@ func (c *deltaEncodedChunk) Slice(_, _ model.Time) Chunk { // NewIterator implements chunk. func (c *deltaEncodedChunk) NewIterator(reuseIter Iterator) Iterator { - if ia, ok := reuseIter.(*indexAccessingChunkIterator); ok { - if deia, ok := ia.acc.(*deltaEncodedIndexAccessor); ok { - deia.c = *c - deia.baseT = c.baseTime() - deia.baseV = c.baseValue() - deia.tBytes = c.timeBytes() - deia.vBytes = c.valueBytes() - deia.isInt = c.isInt() - deia.lastErr = nil - ia.reset(c.Len(), deia) - return ia - } - ia.reset(c.Len(), &deltaEncodedIndexAccessor{ + ia, ok := reuseIter.(*indexAccessingChunkIterator) + if !ok { + return newIndexAccessingChunkIterator(c.Len(), &deltaEncodedIndexAccessor{ c: *c, baseT: c.baseTime(), baseV: c.baseValue(), @@ -208,9 +198,19 @@ func (c *deltaEncodedChunk) NewIterator(reuseIter Iterator) Iterator { vBytes: c.valueBytes(), isInt: c.isInt(), }) + } + if deia, ok := ia.acc.(*deltaEncodedIndexAccessor); ok { + deia.c = *c + deia.baseT = c.baseTime() + deia.baseV = c.baseValue() + deia.tBytes = c.timeBytes() + deia.vBytes = c.valueBytes() + deia.isInt = c.isInt() + deia.lastErr = nil + ia.reset(c.Len(), deia) return ia } - return newIndexAccessingChunkIterator(c.Len(), &deltaEncodedIndexAccessor{ + ia.reset(c.Len(), &deltaEncodedIndexAccessor{ c: *c, baseT: c.baseTime(), baseV: c.baseValue(), @@ -218,6 +218,7 @@ func (c *deltaEncodedChunk) NewIterator(reuseIter Iterator) Iterator { vBytes: c.valueBytes(), isInt: c.isInt(), }) + return ia } // Marshal implements chunk. diff --git a/pkg/chunk/encoding/doubledelta.go b/pkg/chunk/encoding/doubledelta.go index d28d7985cd5..df434fc5007 100644 --- a/pkg/chunk/encoding/doubledelta.go +++ b/pkg/chunk/encoding/doubledelta.go @@ -197,21 +197,9 @@ func (c doubleDeltaEncodedChunk) FirstTime() model.Time { // NewIterator( implements chunk. func (c *doubleDeltaEncodedChunk) NewIterator(reuseIter Iterator) Iterator { - if ia, ok := reuseIter.(*indexAccessingChunkIterator); ok { - if deia, ok := ia.acc.(*doubleDeltaEncodedIndexAccessor); ok { - deia.c = *c - deia.baseT = c.baseTime() - deia.baseΔT = c.baseTimeDelta() - deia.baseV = c.baseValue() - deia.baseΔV = c.baseValueDelta() - deia.tBytes = c.timeBytes() - deia.vBytes = c.valueBytes() - deia.isInt = c.isInt() - deia.lastErr = nil - ia.reset(c.Len(), deia) - return ia - } - ia.reset(c.Len(), &doubleDeltaEncodedIndexAccessor{ + ia, ok := reuseIter.(*indexAccessingChunkIterator) + if !ok { + return newIndexAccessingChunkIterator(c.Len(), &doubleDeltaEncodedIndexAccessor{ c: *c, baseT: c.baseTime(), baseΔT: c.baseTimeDelta(), @@ -221,9 +209,21 @@ func (c *doubleDeltaEncodedChunk) NewIterator(reuseIter Iterator) Iterator { vBytes: c.valueBytes(), isInt: c.isInt(), }) + } + if deia, ok := ia.acc.(*doubleDeltaEncodedIndexAccessor); ok { + deia.c = *c + deia.baseT = c.baseTime() + deia.baseΔT = c.baseTimeDelta() + deia.baseV = c.baseValue() + deia.baseΔV = c.baseValueDelta() + deia.tBytes = c.timeBytes() + deia.vBytes = c.valueBytes() + deia.isInt = c.isInt() + deia.lastErr = nil + ia.reset(c.Len(), deia) return ia } - return newIndexAccessingChunkIterator(c.Len(), &doubleDeltaEncodedIndexAccessor{ + ia.reset(c.Len(), &doubleDeltaEncodedIndexAccessor{ c: *c, baseT: c.baseTime(), baseΔT: c.baseTimeDelta(), @@ -233,6 +233,7 @@ func (c *doubleDeltaEncodedChunk) NewIterator(reuseIter Iterator) Iterator { vBytes: c.valueBytes(), isInt: c.isInt(), }) + return ia } func (c *doubleDeltaEncodedChunk) Slice(_, _ model.Time) Chunk { diff --git a/pkg/querier/querier_test.go b/pkg/querier/querier_test.go index ee363f3c666..15575b0cfc1 100644 --- a/pkg/querier/querier_test.go +++ b/pkg/querier/querier_test.go @@ -56,8 +56,8 @@ var ( name string e promchunk.Encoding }{ - {"DoubleDelta", promchunk.DoubleDelta}, - {"Varbit", promchunk.Varbit}, + // {"DoubleDelta", promchunk.DoubleDelta}, + // {"Varbit", promchunk.Varbit}, {"Bigchunk", promchunk.Bigchunk}, } From 1c614da39b531c7f448d8044820b3a868592b5dd Mon Sep 17 00:00:00 2001 From: Ganesh Vernekar Date: Wed, 14 Aug 2019 20:11:24 +0530 Subject: [PATCH 05/10] Revert changes to push path Signed-off-by: Ganesh Vernekar --- pkg/chunk/cache/cache_test.go | 4 +- pkg/chunk/chunk_store_test.go | 8 ++-- pkg/chunk/chunk_test.go | 2 +- pkg/chunk/encoding/bigchunk.go | 8 ++-- pkg/chunk/encoding/bigchunk_test.go | 8 ++-- pkg/chunk/encoding/chunk.go | 24 +++++------ pkg/chunk/encoding/chunk_test.go | 8 ++-- pkg/chunk/encoding/delta.go | 20 ++++----- pkg/chunk/encoding/delta_test.go | 4 +- pkg/chunk/encoding/doubledelta.go | 23 +++++----- pkg/chunk/encoding/varbit.go | 43 ++++++++----------- pkg/chunk/testutils/testutils.go | 2 +- pkg/distributor/distributor_test.go | 4 +- pkg/ingester/ingester.go | 23 +++++----- pkg/ingester/ingester_test.go | 17 +++----- pkg/ingester/query_test.go | 5 +-- pkg/ingester/series.go | 35 ++++++++------- pkg/querier/batch/chunk_test.go | 4 +- pkg/querier/chunk_store_queryable_test.go | 4 +- .../iterators/chunk_merge_iterator_test.go | 4 +- pkg/querier/querier_test.go | 4 +- 21 files changed, 115 insertions(+), 139 deletions(-) diff --git a/pkg/chunk/cache/cache_test.go b/pkg/chunk/cache/cache_test.go index 33571d42e39..8ef1d4c9331 100644 --- a/pkg/chunk/cache/cache_test.go +++ b/pkg/chunk/cache/cache_test.go @@ -27,10 +27,10 @@ func fillCache(t *testing.T, cache cache.Cache) ([]string, []chunk.Chunk) { chunks := []chunk.Chunk{} for i := 0; i < 100; i++ { ts := model.TimeFromUnix(int64(i * chunkLen)) - promChunk, _, _ := prom_chunk.New().Add(model.SamplePair{ + promChunk, _ := prom_chunk.New().Add(model.SamplePair{ Timestamp: ts, Value: model.SampleValue(i), - }, nil) + }) c := chunk.NewChunk( userID, model.Fingerprint(1), diff --git a/pkg/chunk/chunk_store_test.go b/pkg/chunk/chunk_store_test.go index b9a16bc83b1..9e91c60ca8d 100644 --- a/pkg/chunk/chunk_store_test.go +++ b/pkg/chunk/chunk_store_test.go @@ -579,10 +579,10 @@ func TestChunkStoreRandom(t *testing.T) { const chunkLen = 2 * 3600 // in seconds for i := 0; i < 100; i++ { ts := model.TimeFromUnix(int64(i * chunkLen)) - chunks, _, _ := encoding.New().Add(model.SamplePair{ + chunks, _ := encoding.New().Add(model.SamplePair{ Timestamp: ts, Value: model.SampleValue(float64(i)), - }, nil) + }) chunk := NewChunk( userID, model.Fingerprint(1), @@ -644,10 +644,10 @@ func TestChunkStoreLeastRead(t *testing.T) { const chunkLen = 60 // in seconds for i := 0; i < 24; i++ { ts := model.TimeFromUnix(int64(i * chunkLen)) - chunks, _, _ := encoding.New().Add(model.SamplePair{ + chunks, _ := encoding.New().Add(model.SamplePair{ Timestamp: ts, Value: model.SampleValue(float64(i)), - }, nil) + }) chunk := NewChunk( userID, model.Fingerprint(1), diff --git a/pkg/chunk/chunk_test.go b/pkg/chunk/chunk_test.go index b0a16cdc097..8a10bb72a1d 100644 --- a/pkg/chunk/chunk_test.go +++ b/pkg/chunk/chunk_test.go @@ -36,7 +36,7 @@ func dummyChunkForEncoding(now model.Time, metric labels.Labels, enc encoding.En c, _ := encoding.NewForEncoding(enc) for i := 0; i < samples; i++ { t := time.Duration(i) * 15 * time.Second - cs, _, err := c.Add(model.SamplePair{Timestamp: now.Add(t), Value: 0}, nil) + cs, err := c.Add(model.SamplePair{Timestamp: now.Add(t), Value: 0}) if err != nil { panic(err) } diff --git a/pkg/chunk/encoding/bigchunk.go b/pkg/chunk/encoding/bigchunk.go index e1ea25006a7..eb71417be9b 100644 --- a/pkg/chunk/encoding/bigchunk.go +++ b/pkg/chunk/encoding/bigchunk.go @@ -33,20 +33,20 @@ func newBigchunk() *bigchunk { return &bigchunk{} } -func (b *bigchunk) Add(sample model.SamplePair, reuseIter Iterator) ([]Chunk, Iterator, error) { +func (b *bigchunk) Add(sample model.SamplePair) ([]Chunk, error) { if b.remainingSamples == 0 { if bigchunkSizeCapBytes > 0 && b.Size() > bigchunkSizeCapBytes { - return addToOverflowChunk(b, sample, reuseIter) + return addToOverflowChunk(b, sample) } if err := b.addNextChunk(sample.Timestamp); err != nil { - return nil, reuseIter, err + return nil, err } } b.appender.Append(int64(sample.Timestamp), float64(sample.Value)) b.remainingSamples-- b.chunks[len(b.chunks)-1].end = int64(sample.Timestamp) - return []Chunk{b}, reuseIter, nil + return []Chunk{b}, nil } // addNextChunk adds a new XOR "subchunk" to the internal list of chunks. diff --git a/pkg/chunk/encoding/bigchunk_test.go b/pkg/chunk/encoding/bigchunk_test.go index 923179056c0..c8910c53f82 100644 --- a/pkg/chunk/encoding/bigchunk_test.go +++ b/pkg/chunk/encoding/bigchunk_test.go @@ -12,10 +12,10 @@ import ( func TestSliceBiggerChunk(t *testing.T) { var c Chunk = newBigchunk() for i := 0; i < 12*3600/15; i++ { - cs, _, err := c.Add(model.SamplePair{ + cs, err := c.Add(model.SamplePair{ Timestamp: model.Time(i * step), Value: model.SampleValue(i), - }, nil) + }) require.NoError(t, err) c = cs[0] } @@ -62,10 +62,10 @@ func BenchmarkBiggerChunkMemory(b *testing.B) { for i := 0; i < b.N; i++ { var c Chunk = newBigchunk() for i := 0; i < 12*3600/15; i++ { - cs, _, err := c.Add(model.SamplePair{ + cs, err := c.Add(model.SamplePair{ Timestamp: model.Time(i * step), Value: model.SampleValue(i), - }, nil) + }) require.NoError(b, err) c = cs[0] } diff --git a/pkg/chunk/encoding/chunk.go b/pkg/chunk/encoding/chunk.go index 8ce1913d1b0..9ce669a9397 100644 --- a/pkg/chunk/encoding/chunk.go +++ b/pkg/chunk/encoding/chunk.go @@ -43,7 +43,7 @@ type Chunk interface { // any. The first chunk returned might be the same as the original one // or a newly allocated version. In any case, take the returned chunk as // the relevant one and discard the original chunk. - Add(sample model.SamplePair, reuseIter Iterator) ([]Chunk, Iterator, error) + Add(sample model.SamplePair) ([]Chunk, error) NewIterator(Iterator) Iterator Marshal(io.Writer) error UnmarshalFromBuf([]byte) error @@ -120,40 +120,40 @@ func RangeValues(it Iterator, in metric.Interval) ([]model.SamplePair, error) { // addToOverflowChunk is a utility function that creates a new chunk as overflow // chunk, adds the provided sample to it, and returns a chunk slice containing // the provided old chunk followed by the new overflow chunk. -func addToOverflowChunk(c Chunk, s model.SamplePair, reuseIter Iterator) ([]Chunk, Iterator, error) { - overflowChunks, reuseIter, err := New().Add(s, reuseIter) +func addToOverflowChunk(c Chunk, s model.SamplePair) ([]Chunk, error) { + overflowChunks, err := New().Add(s) if err != nil { - return nil, reuseIter, err + return nil, err } - return []Chunk{c, overflowChunks[0]}, reuseIter, nil + return []Chunk{c, overflowChunks[0]}, nil } // transcodeAndAdd is a utility function that transcodes the dst chunk into the // provided src chunk (plus the necessary overflow chunks) and then adds the // provided sample. It returns the new chunks (transcoded plus overflow) with // the new sample at the end. -func transcodeAndAdd(dst Chunk, srcIterator Iterator, s model.SamplePair) ([]Chunk, error) { +func transcodeAndAdd(dst Chunk, src Chunk, s model.SamplePair) ([]Chunk, error) { Ops.WithLabelValues(Transcode).Inc() var ( head = dst body, NewChunks []Chunk err error - reuseIter Iterator ) - for srcIterator.Scan() { - if NewChunks, reuseIter, err = head.Add(srcIterator.Value(), reuseIter); err != nil { + it := src.NewIterator(nil) + for it.Scan() { + if NewChunks, err = head.Add(it.Value()); err != nil { return nil, err } body = append(body, NewChunks[:len(NewChunks)-1]...) head = NewChunks[len(NewChunks)-1] } - if srcIterator.Err() != nil { - return nil, srcIterator.Err() + if it.Err() != nil { + return nil, it.Err() } - if NewChunks, reuseIter, err = head.Add(s, reuseIter); err != nil { + if NewChunks, err = head.Add(s); err != nil { return nil, err } return append(body, NewChunks...), nil diff --git a/pkg/chunk/encoding/chunk_test.go b/pkg/chunk/encoding/chunk_test.go index a3799b63fb2..e0dbd383c6f 100644 --- a/pkg/chunk/encoding/chunk_test.go +++ b/pkg/chunk/encoding/chunk_test.go @@ -43,10 +43,10 @@ func TestLen(t *testing.T) { t.Errorf("chunk type %s should have %d samples, had %d", c.Encoding(), i, c.Len()) } - cs, _, _ := c.Add(model.SamplePair{ + cs, _ := c.Add(model.SamplePair{ Timestamp: model.Time(i), Value: model.SampleValue(i), - }, nil) + }) c = cs[0] } } @@ -95,10 +95,10 @@ func mkChunk(t *testing.T, encoding Encoding, samples int) Chunk { require.NoError(t, err) for i := 0; i < samples; i++ { - chunks, _, err := chunk.Add(model.SamplePair{ + chunks, err := chunk.Add(model.SamplePair{ Timestamp: model.Time(i * step), Value: model.SampleValue(i), - }, nil) + }) require.NoError(t, err) require.Len(t, chunks, 1) chunk = chunks[0] diff --git a/pkg/chunk/encoding/delta.go b/pkg/chunk/encoding/delta.go index 2f0ee16c6f3..e72bf789cb8 100644 --- a/pkg/chunk/encoding/delta.go +++ b/pkg/chunk/encoding/delta.go @@ -76,7 +76,7 @@ func newDeltaEncodedChunk(tb, vb deltaBytes, isInt bool, length int) *deltaEncod } // Add implements chunk. -func (c deltaEncodedChunk) Add(s model.SamplePair, reuseIter Iterator) ([]Chunk, Iterator, error) { +func (c deltaEncodedChunk) Add(s model.SamplePair) ([]Chunk, error) { // TODO(beorn7): Since we return &c, this method might cause an unnecessary allocation. if c.Len() == 0 { c = c[:deltaHeaderBytes] @@ -90,13 +90,13 @@ func (c deltaEncodedChunk) Add(s model.SamplePair, reuseIter Iterator) ([]Chunk, // Do we generally have space for another sample in this chunk? If not, // overflow into a new one. if remainingBytes < sampleSize { - return addToOverflowChunk(&c, s, reuseIter) + return addToOverflowChunk(&c, s) } baseValue := c.baseValue() dt := s.Timestamp - c.baseTime() if dt < 0 { - return nil, reuseIter, fmt.Errorf("time delta is less than zero: %v", dt) + return nil, fmt.Errorf("time delta is less than zero: %v", dt) } dv := s.Value - baseValue @@ -127,12 +127,10 @@ func (c deltaEncodedChunk) Add(s model.SamplePair, reuseIter Iterator) ([]Chunk, } if tb != ntb || vb != nvb || isInt != nInt { if len(c)*2 < cap(c) { - reuseIter = c.NewIterator(reuseIter) - c, err := transcodeAndAdd(newDeltaEncodedChunk(ntb, nvb, nInt, cap(c)), reuseIter, s) - return c, reuseIter, err + return transcodeAndAdd(newDeltaEncodedChunk(ntb, nvb, nInt, cap(c)), &c, s) } // Chunk is already half full. Better create a new one and save the transcoding efforts. - return addToOverflowChunk(&c, s, reuseIter) + return addToOverflowChunk(&c, s) } offset := len(c) @@ -149,7 +147,7 @@ func (c deltaEncodedChunk) Add(s model.SamplePair, reuseIter Iterator) ([]Chunk, // Store the absolute value (no delta) in case of d8. binary.LittleEndian.PutUint64(c[offset:], uint64(s.Timestamp)) default: - return nil, reuseIter, fmt.Errorf("invalid number of bytes for time delta: %d", tb) + return nil, fmt.Errorf("invalid number of bytes for time delta: %d", tb) } offset += int(tb) @@ -166,7 +164,7 @@ func (c deltaEncodedChunk) Add(s model.SamplePair, reuseIter Iterator) ([]Chunk, binary.LittleEndian.PutUint32(c[offset:], uint32(int32(dv))) // d8 must not happen. Those samples are encoded as float64. default: - return nil, reuseIter, fmt.Errorf("invalid number of bytes for integer delta: %d", vb) + return nil, fmt.Errorf("invalid number of bytes for integer delta: %d", vb) } } else { switch vb { @@ -176,10 +174,10 @@ func (c deltaEncodedChunk) Add(s model.SamplePair, reuseIter Iterator) ([]Chunk, // Store the absolute value (no delta) in case of d8. binary.LittleEndian.PutUint64(c[offset:], math.Float64bits(float64(s.Value))) default: - return nil, reuseIter, fmt.Errorf("invalid number of bytes for floating point delta: %d", vb) + return nil, fmt.Errorf("invalid number of bytes for floating point delta: %d", vb) } } - return []Chunk{&c}, reuseIter, nil + return []Chunk{&c}, nil } func (c *deltaEncodedChunk) Slice(_, _ model.Time) Chunk { diff --git a/pkg/chunk/encoding/delta_test.go b/pkg/chunk/encoding/delta_test.go index 4d385eae6a5..3c014c60e53 100644 --- a/pkg/chunk/encoding/delta_test.go +++ b/pkg/chunk/encoding/delta_test.go @@ -82,10 +82,10 @@ func TestUnmarshallingCorruptedDeltaReturnsAnError(t *testing.T) { for _, c := range cases { chunk := c.chunkConstructor(d1, d4, false, ChunkLen) - cs, _, err := chunk.Add(model.SamplePair{ + cs, err := chunk.Add(model.SamplePair{ Timestamp: model.Now(), Value: model.SampleValue(100), - }, nil) + }) if err != nil { t.Fatalf("Couldn't add sample to empty %s: %s", c.chunkTypeName, err) } diff --git a/pkg/chunk/encoding/doubledelta.go b/pkg/chunk/encoding/doubledelta.go index df434fc5007..0e07f4920cb 100644 --- a/pkg/chunk/encoding/doubledelta.go +++ b/pkg/chunk/encoding/doubledelta.go @@ -84,18 +84,17 @@ func newDoubleDeltaEncodedChunk(tb, vb deltaBytes, isInt bool, length int) *doub } // Add implements chunk. -func (c doubleDeltaEncodedChunk) Add(s model.SamplePair, reuseIter Iterator) (_ []Chunk, ri Iterator, _ error) { +func (c doubleDeltaEncodedChunk) Add(s model.SamplePair) ([]Chunk, error) { // TODO(beorn7): Since we return &c, this method might cause an unnecessary allocation. if c.Len() == 0 { - return c.addFirstSample(s), reuseIter, nil + return c.addFirstSample(s), nil } tb := c.timeBytes() vb := c.valueBytes() if c.Len() == 1 { - ch, err := c.addSecondSample(s, tb, vb) - return ch, reuseIter, err + return c.addSecondSample(s, tb, vb) } remainingBytes := cap(c) - len(c) @@ -104,7 +103,7 @@ func (c doubleDeltaEncodedChunk) Add(s model.SamplePair, reuseIter Iterator) (_ // Do we generally have space for another sample in this chunk? If not, // overflow into a new one. if remainingBytes < sampleSize { - return addToOverflowChunk(&c, s, reuseIter) + return addToOverflowChunk(&c, s) } projectedTime := c.baseTime() + model.Time(c.Len())*c.baseTimeDelta() @@ -135,12 +134,10 @@ func (c doubleDeltaEncodedChunk) Add(s model.SamplePair, reuseIter Iterator) (_ } if tb != ntb || vb != nvb || c.isInt() != nInt { if len(c)*2 < cap(c) { - reuseIter = c.NewIterator(reuseIter) - ch, err := transcodeAndAdd(newDoubleDeltaEncodedChunk(ntb, nvb, nInt, cap(c)), reuseIter, s) - return ch, reuseIter, err + return transcodeAndAdd(newDoubleDeltaEncodedChunk(ntb, nvb, nInt, cap(c)), &c, s) } // Chunk is already half full. Better create a new one and save the transcoding efforts. - return addToOverflowChunk(&c, s, reuseIter) + return addToOverflowChunk(&c, s) } offset := len(c) @@ -157,7 +154,7 @@ func (c doubleDeltaEncodedChunk) Add(s model.SamplePair, reuseIter Iterator) (_ // Store the absolute value (no delta) in case of d8. binary.LittleEndian.PutUint64(c[offset:], uint64(s.Timestamp)) default: - return nil, reuseIter, fmt.Errorf("invalid number of bytes for time delta: %d", tb) + return nil, fmt.Errorf("invalid number of bytes for time delta: %d", tb) } offset += int(tb) @@ -174,7 +171,7 @@ func (c doubleDeltaEncodedChunk) Add(s model.SamplePair, reuseIter Iterator) (_ binary.LittleEndian.PutUint32(c[offset:], uint32(int32(ddv))) // d8 must not happen. Those samples are encoded as float64. default: - return nil, reuseIter, fmt.Errorf("invalid number of bytes for integer delta: %d", vb) + return nil, fmt.Errorf("invalid number of bytes for integer delta: %d", vb) } } else { switch vb { @@ -184,10 +181,10 @@ func (c doubleDeltaEncodedChunk) Add(s model.SamplePair, reuseIter Iterator) (_ // Store the absolute value (no delta) in case of d8. binary.LittleEndian.PutUint64(c[offset:], math.Float64bits(float64(s.Value))) default: - return nil, reuseIter, fmt.Errorf("invalid number of bytes for floating point delta: %d", vb) + return nil, fmt.Errorf("invalid number of bytes for floating point delta: %d", vb) } } - return []Chunk{&c}, reuseIter, nil + return []Chunk{&c}, nil } // FirstTime implements chunk. diff --git a/pkg/chunk/encoding/varbit.go b/pkg/chunk/encoding/varbit.go index 3e56abdce24..c2e00e1cb5d 100644 --- a/pkg/chunk/encoding/varbit.go +++ b/pkg/chunk/encoding/varbit.go @@ -260,20 +260,19 @@ func newVarbitChunk(enc varbitValueEncoding) *varbitChunk { } // Add implements chunk. -func (c *varbitChunk) Add(s model.SamplePair, reuseIter Iterator) ([]Chunk, Iterator, error) { +func (c *varbitChunk) Add(s model.SamplePair) ([]Chunk, error) { offset := c.nextSampleOffset() switch { case c.closed(): - return addToOverflowChunk(c, s, reuseIter) + return addToOverflowChunk(c, s) case offset > varbitNextSampleBitOffsetThreshold: - return c.addLastSample(s), reuseIter, nil + return c.addLastSample(s), nil case offset == varbitFirstSampleBitOffset: - return c.addFirstSample(s), reuseIter, nil + return c.addFirstSample(s), nil case offset == varbitSecondSampleBitOffset: - ch, err := c.addSecondSample(s) - return ch, reuseIter, err + return c.addSecondSample(s) } - return c.addLaterSample(s, offset, reuseIter) + return c.addLaterSample(s, offset) } // NewIterator implements chunk. @@ -551,7 +550,7 @@ func (c *varbitChunk) addLastSample(s model.SamplePair) []Chunk { // addLaterSample is a helper method only used by c.add(). It adds a third or // later sample. -func (c *varbitChunk) addLaterSample(s model.SamplePair, offset uint16, reuseIter Iterator) ([]Chunk, Iterator, error) { +func (c *varbitChunk) addLaterSample(s model.SamplePair, offset uint16) ([]Chunk, error) { var ( lastTime = c.lastTime() lastTimeDelta = c.lastTimeDelta() @@ -561,7 +560,7 @@ func (c *varbitChunk) addLaterSample(s model.SamplePair, offset uint16, reuseIte ) if newTimeDelta < 0 { - return nil, reuseIter, fmt.Errorf("Δt is less than zero: %v", newTimeDelta) + return nil, fmt.Errorf("Δt is less than zero: %v", newTimeDelta) } if offset == varbitThirdSampleBitOffset { offset, encoding = c.prepForThirdSample(lastValue, s.Value, encoding) @@ -569,12 +568,12 @@ func (c *varbitChunk) addLaterSample(s model.SamplePair, offset uint16, reuseIte if newTimeDelta > varbitMaxTimeDelta { // A time delta too great. Still, we can add it as a last sample // before overflowing. - return c.addLastSample(s), reuseIter, nil + return c.addLastSample(s), nil } // Analyze worst case, does it fit? If not, set new sample as the last. if int(offset)+varbitWorstCaseBitsPerSample[encoding] > ChunkLen*8 { - return c.addLastSample(s), reuseIter, nil + return c.addLastSample(s), nil } // Transcoding/overflow decisions first. @@ -582,32 +581,26 @@ func (c *varbitChunk) addLaterSample(s model.SamplePair, offset uint16, reuseIte // Cannot go on with zero encoding. if offset > ChunkLen*4 { // Chunk already half full. Don't transcode, overflow instead. - return addToOverflowChunk(c, s, reuseIter) + return addToOverflowChunk(c, s) } if isInt32(s.Value - lastValue) { // Trying int encoding looks promising. - reuseIter = c.NewIterator(reuseIter) - ch, err := transcodeAndAdd(newVarbitChunk(varbitIntDoubleDeltaEncoding), reuseIter, s) - return ch, reuseIter, err + return transcodeAndAdd(newVarbitChunk(varbitIntDoubleDeltaEncoding), c, s) } - reuseIter = c.NewIterator(reuseIter) - ch, err := transcodeAndAdd(newVarbitChunk(varbitXOREncoding), reuseIter, s) - return ch, reuseIter, err + return transcodeAndAdd(newVarbitChunk(varbitXOREncoding), c, s) } if encoding == varbitIntDoubleDeltaEncoding && !isInt32(s.Value-lastValue) { // Cannot go on with int encoding. if offset > ChunkLen*4 { // Chunk already half full. Don't transcode, overflow instead. - return addToOverflowChunk(c, s, reuseIter) + return addToOverflowChunk(c, s) } - reuseIter = c.NewIterator(reuseIter) - ch, err := transcodeAndAdd(newVarbitChunk(varbitXOREncoding), reuseIter, s) - return ch, reuseIter, err + return transcodeAndAdd(newVarbitChunk(varbitXOREncoding), c, s) } offset, overflow := c.addDDTime(offset, lastTimeDelta, newTimeDelta) if overflow { - return c.addLastSample(s), reuseIter, nil + return c.addLastSample(s), nil } switch encoding { case varbitZeroEncoding: @@ -619,12 +612,12 @@ func (c *varbitChunk) addLaterSample(s model.SamplePair, offset uint16, reuseIte case varbitDirectEncoding: offset = c.addBitPattern(offset, math.Float64bits(float64(s.Value)), 64) default: - return nil, reuseIter, fmt.Errorf("unknown Varbit value encoding: %v", encoding) + return nil, fmt.Errorf("unknown Varbit value encoding: %v", encoding) } c.setNextSampleOffset(offset) c.setLastSample(s) - return []Chunk{c}, reuseIter, nil + return []Chunk{c}, nil } func (c varbitChunk) prepForThirdSample( diff --git a/pkg/chunk/testutils/testutils.go b/pkg/chunk/testutils/testutils.go index 0aa15dc6b23..0a5f1cf9dbe 100644 --- a/pkg/chunk/testutils/testutils.go +++ b/pkg/chunk/testutils/testutils.go @@ -80,7 +80,7 @@ func dummyChunk(now model.Time) chunk.Chunk { } func dummyChunkFor(now model.Time, metric labels.Labels) chunk.Chunk { - cs, _, _ := promchunk.New().Add(model.SamplePair{Timestamp: now, Value: 0}, nil) + cs, _ := promchunk.New().Add(model.SamplePair{Timestamp: now, Value: 0}) chunk := chunk.NewChunk( userID, client.Fingerprint(metric), diff --git a/pkg/distributor/distributor_test.go b/pkg/distributor/distributor_test.go index da33e6da35c..5b968622d64 100644 --- a/pkg/distributor/distributor_test.go +++ b/pkg/distributor/distributor_test.go @@ -562,10 +562,10 @@ func (i *mockIngester) QueryStream(ctx context.Context, req *client.QueryRequest c := encoding.New() for _, sample := range ts.Samples { - cs, _, err := c.Add(model.SamplePair{ + cs, err := c.Add(model.SamplePair{ Timestamp: model.Time(sample.TimestampMs), Value: model.SampleValue(sample.Value), - }, nil) + }) if err != nil { panic(err) } diff --git a/pkg/ingester/ingester.go b/pkg/ingester/ingester.go index e02aae48dab..385a835a93c 100644 --- a/pkg/ingester/ingester.go +++ b/pkg/ingester/ingester.go @@ -20,7 +20,6 @@ import ( "github.com/prometheus/prometheus/pkg/labels" cortex_chunk "github.com/cortexproject/cortex/pkg/chunk" - "github.com/cortexproject/cortex/pkg/chunk/encoding" "github.com/cortexproject/cortex/pkg/ingester/client" "github.com/cortexproject/cortex/pkg/ring" "github.com/cortexproject/cortex/pkg/util" @@ -255,11 +254,10 @@ func (i *Ingester) StopIncomingRequests() { // Push implements client.IngesterServer func (i *Ingester) Push(ctx old_ctx.Context, req *client.WriteRequest) (*client.WriteResponse, error) { - var lastPartialErr, err error - var reuseIter encoding.Iterator + var lastPartialErr error for _, ts := range req.Timeseries { for _, s := range ts.Samples { - reuseIter, err = i.append(ctx, ts.Labels, model.Time(s.TimestampMs), model.SampleValue(s.Value), req.Source, reuseIter) + err := i.append(ctx, ts.Labels, model.Time(s.TimestampMs), model.SampleValue(s.Value), req.Source) if err == nil { continue } @@ -281,40 +279,39 @@ func (i *Ingester) Push(ctx old_ctx.Context, req *client.WriteRequest) (*client. } func (i *Ingester) append(ctx context.Context, labels labelPairs, timestamp model.Time, - value model.SampleValue, source client.WriteRequest_SourceEnum, reuseIter encoding.Iterator) (encoding.Iterator, error) { + value model.SampleValue, source client.WriteRequest_SourceEnum) error { labels.removeBlanks() i.stopLock.RLock() defer i.stopLock.RUnlock() if i.stopped { - return reuseIter, fmt.Errorf("ingester stopping") + return fmt.Errorf("ingester stopping") } i.userStatesMtx.RLock() defer i.userStatesMtx.RUnlock() state, fp, series, err := i.userStates.getOrCreateSeries(ctx, labels) if err != nil { - return reuseIter, err + return err } defer func() { state.fpLocker.Unlock(fp) }() prevNumChunks := len(series.chunkDescs) - reuseIter, err = series.add(model.SamplePair{ + if err := series.add(model.SamplePair{ Value: value, Timestamp: timestamp, - }, reuseIter) - if err != nil { + }); err != nil { if mse, ok := err.(*memorySeriesError); ok { state.discardedSamples.WithLabelValues(mse.errorType).Inc() if mse.noReport { - return reuseIter, nil + return nil } // Use a dumb string template to avoid the message being parsed as a template err = httpgrpc.Errorf(http.StatusBadRequest, "%s", mse.message) } - return reuseIter, err + return err } memoryChunks.Add(float64(len(series.chunkDescs) - prevNumChunks)) @@ -328,7 +325,7 @@ func (i *Ingester) append(ctx context.Context, labels labelPairs, timestamp mode state.ingestedAPISamples.inc() } - return reuseIter, err + return err } // Query implements service.IngesterServer diff --git a/pkg/ingester/ingester_test.go b/pkg/ingester/ingester_test.go index 1e61070c699..3e3959a92d6 100644 --- a/pkg/ingester/ingester_test.go +++ b/pkg/ingester/ingester_test.go @@ -5,9 +5,6 @@ import ( "fmt" "math" "net/http" - "os" - "runtime" - "runtime/pprof" "sort" "strconv" "sync" @@ -277,22 +274,22 @@ func TestIngesterAppendOutOfOrderAndDuplicate(t *testing.T) { {Name: model.MetricNameLabel, Value: "testmetric"}, } ctx := user.InjectOrgID(context.Background(), userID) - _, err := ing.append(ctx, m, 1, 0, client.API, nil) + err := ing.append(ctx, m, 1, 0, client.API) require.NoError(t, err) // Two times exactly the same sample (noop). - _, err = ing.append(ctx, m, 1, 0, client.API, nil) + err = ing.append(ctx, m, 1, 0, client.API) require.NoError(t, err) // Earlier sample than previous one. - _, err = ing.append(ctx, m, 0, 0, client.API, nil) + err = ing.append(ctx, m, 0, 0, client.API) require.Contains(t, err.Error(), "sample timestamp out of order") errResp, ok := httpgrpc.HTTPResponseFromError(err) require.True(t, ok) require.Equal(t, errResp.Code, int32(400)) // Same timestamp as previous sample, but different value. - _, err = ing.append(ctx, m, 1, 1, client.API, nil) + err = ing.append(ctx, m, 1, 1, client.API) require.Contains(t, err.Error(), "sample with repeated timestamp but different value") errResp, ok = httpgrpc.HTTPResponseFromError(err) require.True(t, ok) @@ -310,7 +307,7 @@ func TestIngesterAppendBlankLabel(t *testing.T) { {Name: "bar", Value: ""}, } ctx := user.InjectOrgID(context.Background(), userID) - _, err := ing.append(ctx, lp, 1, 0, client.API, nil) + err := ing.append(ctx, lp, 1, 0, client.API) require.NoError(t, err) res, _, err := runTestQuery(ctx, t, ing, labels.MatchEqual, model.MetricNameLabel, "testmetric") @@ -495,7 +492,6 @@ func benchmarkIngesterSeriesCreationLocking(b *testing.B, parallelism int) { } func BenchmarkIngesterPush(b *testing.B) { - runtime.MemProfileRate = 256 cfg := defaultIngesterTestConfig() clientCfg := defaultClientTestConfig() limits := defaultLimitsTestConfig() @@ -535,7 +531,4 @@ func BenchmarkIngesterPush(b *testing.B) { } ing.Shutdown() } - runtime.GC() - hf, _ := os.Create("/home/ganesh/go/src/github.com/cortexproject/cortex/heap.prof") - pprof.WriteHeapProfile(hf) } diff --git a/pkg/ingester/query_test.go b/pkg/ingester/query_test.go index ff8d73d549d..9debe783b19 100644 --- a/pkg/ingester/query_test.go +++ b/pkg/ingester/query_test.go @@ -47,7 +47,6 @@ func BenchmarkQueryStream(b *testing.B) { cpus[i] = fmt.Sprintf("cpu%02d", i) } - var reuseIter encoding.Iterator for i := 0; i < numSeries; i++ { labels := labelPairs{ {Name: model.MetricNameLabel, Value: "node_cpu"}, @@ -60,10 +59,10 @@ func BenchmarkQueryStream(b *testing.B) { require.NoError(b, err) for j := 0; j < numSamples; j++ { - reuseIter, err = series.add(model.SamplePair{ + err = series.add(model.SamplePair{ Value: model.SampleValue(float64(i)), Timestamp: model.Time(int64(i)), - }, reuseIter) + }) require.NoError(b, err) } diff --git a/pkg/ingester/series.go b/pkg/ingester/series.go index 456af962948..5b7c5612af8 100644 --- a/pkg/ingester/series.go +++ b/pkg/ingester/series.go @@ -63,27 +63,27 @@ func newMemorySeries(m labels.Labels) *memorySeries { // completed chunks (which are now eligible for persistence). // // The caller must have locked the fingerprint of the series. -func (s *memorySeries) add(v model.SamplePair, reuseIter encoding.Iterator) (encoding.Iterator, error) { +func (s *memorySeries) add(v model.SamplePair) error { // If sender has repeated the same timestamp, check more closely and perhaps return error. if v.Timestamp == s.lastTime { // If we don't know what the last sample value is, silently discard. // This will mask some errors but better than complaining when we don't really know. if !s.lastSampleValueSet { - return reuseIter, &memorySeriesError{errorType: "duplicate-timestamp", noReport: true} + return &memorySeriesError{errorType: "duplicate-timestamp", noReport: true} } // If both timestamp and sample value are the same as for the last append, // ignore as they are a common occurrence when using client-side timestamps // (e.g. Pushgateway or federation). if v.Value.Equal(s.lastSampleValue) { - return reuseIter, &memorySeriesError{errorType: "duplicate-sample", noReport: true} + return &memorySeriesError{errorType: "duplicate-sample", noReport: true} } - return reuseIter, &memorySeriesError{ + return &memorySeriesError{ message: fmt.Sprintf("sample with repeated timestamp but different value for series %v; last value: %v, incoming value: %v", s.metric, s.lastSampleValue, v.Value), errorType: "new-value-for-timestamp", } } if v.Timestamp < s.lastTime { - return reuseIter, &memorySeriesError{ + return &memorySeriesError{ message: fmt.Sprintf("sample timestamp out of order for series %v; last timestamp: %v, incoming timestamp: %v", s.metric, s.lastTime, v.Timestamp), errorType: "sample-out-of-order", } @@ -96,9 +96,9 @@ func (s *memorySeries) add(v model.SamplePair, reuseIter encoding.Iterator) (enc createdChunks.Inc() } - chunks, reuseIter, err := s.head().add(v, reuseIter) + chunks, err := s.head().add(v) if err != nil { - return reuseIter, err + return err } // If we get a single chunk result, then just replace the head chunk with it @@ -108,11 +108,10 @@ func (s *memorySeries) add(v model.SamplePair, reuseIter encoding.Iterator) (enc s.head().C = chunks[0] } else { s.chunkDescs = s.chunkDescs[:len(s.chunkDescs)-1] - var first, last model.Time for _, c := range chunks { - first, last, reuseIter, err = firstAndLastTimes(c, reuseIter) + first, last, err := firstAndLastTimes(c) if err != nil { - return reuseIter, err + return err } s.chunkDescs = append(s.chunkDescs, newDesc(c, first, last)) createdChunks.Inc() @@ -123,16 +122,16 @@ func (s *memorySeries) add(v model.SamplePair, reuseIter encoding.Iterator) (enc s.lastSampleValue = v.Value s.lastSampleValueSet = true - return reuseIter, nil + return nil } -func firstAndLastTimes(c encoding.Chunk, iter encoding.Iterator) (model.Time, model.Time, encoding.Iterator, error) { +func firstAndLastTimes(c encoding.Chunk) (model.Time, model.Time, error) { var ( first model.Time last model.Time firstSet bool + iter = c.NewIterator(nil) ) - iter = c.NewIterator(iter) for iter.Scan() { sample := iter.Value() if !firstSet { @@ -141,7 +140,7 @@ func firstAndLastTimes(c encoding.Chunk, iter encoding.Iterator) (model.Time, mo } last = sample.Timestamp } - return first, last, iter, iter.Err() + return first, last, iter.Err() } func (s *memorySeries) closeHead() { @@ -235,10 +234,10 @@ func newDesc(c encoding.Chunk, firstTime model.Time, lastTime model.Time) *desc // Add adds a sample pair to the underlying chunk. For safe concurrent access, // The chunk must be pinned, and the caller must have locked the fingerprint of // the series. -func (d *desc) add(s model.SamplePair, reuseIter encoding.Iterator) ([]encoding.Chunk, encoding.Iterator, error) { - cs, reuseIter, err := d.C.Add(s, reuseIter) +func (d *desc) add(s model.SamplePair) ([]encoding.Chunk, error) { + cs, err := d.C.Add(s) if err != nil { - return nil, reuseIter, err + return nil, err } if len(cs) == 1 { @@ -246,7 +245,7 @@ func (d *desc) add(s model.SamplePair, reuseIter encoding.Iterator) ([]encoding. d.LastUpdate = model.Now() } - return cs, reuseIter, nil + return cs, nil } func (d *desc) slice(start, end model.Time) *desc { diff --git a/pkg/querier/batch/chunk_test.go b/pkg/querier/batch/chunk_test.go index dcdde1c3e42..115b0f5d22f 100644 --- a/pkg/querier/batch/chunk_test.go +++ b/pkg/querier/batch/chunk_test.go @@ -48,10 +48,10 @@ func mkChunk(t require.TestingT, from model.Time, points int, enc promchunk.Enco require.NoError(t, err) ts := from for i := 0; i < points; i++ { - pcs, _, err := pc.Add(model.SamplePair{ + pcs, err := pc.Add(model.SamplePair{ Timestamp: ts, Value: model.SampleValue(float64(ts)), - }, nil) + }) require.NoError(t, err) require.Len(t, pcs, 1) pc = pcs[0] diff --git a/pkg/querier/chunk_store_queryable_test.go b/pkg/querier/chunk_store_queryable_test.go index a9bb4f5de2f..dde5bb28412 100644 --- a/pkg/querier/chunk_store_queryable_test.go +++ b/pkg/querier/chunk_store_queryable_test.go @@ -56,10 +56,10 @@ func mkChunk(t require.TestingT, mint, maxt model.Time, step time.Duration, enco pc, err := promchunk.NewForEncoding(encoding) require.NoError(t, err) for i := mint; i.Before(maxt); i = i.Add(step) { - pcs, _, err := pc.Add(model.SamplePair{ + pcs, err := pc.Add(model.SamplePair{ Timestamp: i, Value: model.SampleValue(float64(i)), - }, nil) + }) require.NoError(t, err) require.Len(t, pcs, 1) pc = pcs[0] diff --git a/pkg/querier/iterators/chunk_merge_iterator_test.go b/pkg/querier/iterators/chunk_merge_iterator_test.go index 4f2bfd01d5b..0d740713769 100644 --- a/pkg/querier/iterators/chunk_merge_iterator_test.go +++ b/pkg/querier/iterators/chunk_merge_iterator_test.go @@ -102,10 +102,10 @@ func mkChunk(t require.TestingT, mint, maxt model.Time, step time.Duration, enco pc, err := promchunk.NewForEncoding(encoding) require.NoError(t, err) for i := mint; i.Before(maxt); i = i.Add(step) { - pcs, _, err := pc.Add(model.SamplePair{ + pcs, err := pc.Add(model.SamplePair{ Timestamp: i, Value: model.SampleValue(float64(i)), - }, nil) + }) require.NoError(t, err) require.Len(t, pcs, 1) pc = pcs[0] diff --git a/pkg/querier/querier_test.go b/pkg/querier/querier_test.go index 15575b0cfc1..ee363f3c666 100644 --- a/pkg/querier/querier_test.go +++ b/pkg/querier/querier_test.go @@ -56,8 +56,8 @@ var ( name string e promchunk.Encoding }{ - // {"DoubleDelta", promchunk.DoubleDelta}, - // {"Varbit", promchunk.Varbit}, + {"DoubleDelta", promchunk.DoubleDelta}, + {"Varbit", promchunk.Varbit}, {"Bigchunk", promchunk.Bigchunk}, } From 41751f169e28c20e4a9b36f1b8e2e7516540b74e Mon Sep 17 00:00:00 2001 From: Ganesh Vernekar Date: Mon, 19 Aug 2019 21:30:01 +0530 Subject: [PATCH 06/10] Vendor prometheus v2.12.0 and remove vendoring of tsdb repo Signed-off-by: Ganesh Vernekar --- go.mod | 44 +- go.sum | 471 +- pkg/chunk/encoding/bigchunk.go | 2 +- pkg/configs/legacy_promql/bench_test.go | 3 +- pkg/configs/legacy_promql/functions_test.go | 2 +- pkg/configs/legacy_promql/test.go | 41 +- vendor/cloud.google.com/go/AUTHORS | 15 - vendor/cloud.google.com/go/CONTRIBUTORS | 40 - vendor/cloud.google.com/go/bigtable/admin.go | 165 +- .../cloud.google.com/go/bigtable/bigtable.go | 99 +- .../go/bigtable/bttest/inmem.go | 59 +- .../go/bigtable/bttest/instance_server.go | 133 + .../go/bigtable/bttest/validation.go | 87 + vendor/cloud.google.com/go/bigtable/doc.go | 110 +- vendor/cloud.google.com/go/bigtable/filter.go | 22 + .../go/bigtable/internal/gax/call_option.go | 110 - .../go/bigtable/internal/gax/invoke.go | 87 - vendor/cloud.google.com/go/bigtable/trace.go | 57 - vendor/cloud.google.com/go/iam/iam.go | 23 + .../go/internal/trace/trace.go | 29 +- .../go/internal/version/version.go | 2 +- .../go/longrunning/autogen/doc.go | 17 +- .../longrunning/autogen/operations_client.go | 28 +- .../go/longrunning/longrunning.go | 6 +- vendor/cloud.google.com/go/storage/README.md | 32 + vendor/cloud.google.com/go/storage/bucket.go | 66 + vendor/cloud.google.com/go/storage/hmac.go | 227 + vendor/cloud.google.com/go/storage/reader.go | 4 +- vendor/cloud.google.com/go/storage/storage.go | 314 +- .../go/storage/storage.replay | 18288 ++++-- vendor/cloud.google.com/go/storage/writer.go | 4 + .../exporter/ocagent/.gitignore | 17 + .../exporter/ocagent/connection.go | 36 +- .../exporter/ocagent/go.mod | 16 +- .../exporter/ocagent/go.sum | 132 +- .../exporter/ocagent/ocagent.go | 152 +- .../exporter/ocagent/options.go | 33 + vendor/github.com/alecthomas/units/go.mod | 1 + .../github.com/armon/go-metrics/.travis.yml | 13 + vendor/github.com/armon/go-metrics/go.mod | 16 + vendor/github.com/armon/go-metrics/go.sum | 46 + vendor/github.com/armon/go-metrics/inmem.go | 4 +- .../armon/go-metrics/inmem_endpoint.go | 17 +- vendor/github.com/armon/go-metrics/metrics.go | 2 +- .../asaskevich/govalidator/README.md | 11 + vendor/github.com/aws/aws-sdk-go/NOTICE.txt | 2 +- .../aws/aws-sdk-go/aws/awserr/error.go | 23 +- .../aws/aws-sdk-go/aws/awserr/types.go | 31 +- .../aws/aws-sdk-go/aws/awsutil/equal.go | 2 +- .../aws/aws-sdk-go/aws/awsutil/path_value.go | 11 +- .../aws-sdk-go/aws/awsutil/string_value.go | 25 +- .../aws/aws-sdk-go/aws/client/client.go | 2 +- .../aws/aws-sdk-go/aws/client/logger.go | 18 +- .../aws/{context.go => context_1_5.go} | 40 +- .../aws/aws-sdk-go/aws/context_1_7.go | 9 - .../aws/aws-sdk-go/aws/context_1_9.go | 11 + ...ntext_1_6.go => context_background_1_5.go} | 15 + .../aws-sdk-go/aws/context_background_1_7.go | 20 + .../aws/aws-sdk-go/aws/context_sleep.go | 24 + .../aws-sdk-go/aws/corehandlers/handlers.go | 4 +- .../aws-sdk-go/aws/corehandlers/user_agent.go | 2 +- .../aws-sdk-go/aws/credentials/credentials.go | 42 + .../ec2rolecreds/ec2_role_provider.go | 6 +- .../aws/credentials/endpointcreds/provider.go | 15 +- .../aws/credentials/processcreds/provider.go | 425 + .../stscreds/assume_role_provider.go | 22 +- .../stscreds/web_identity_provider.go | 97 + .../github.com/aws/aws-sdk-go/aws/csm/doc.go | 65 +- .../aws/aws-sdk-go/aws/csm/enable.go | 34 +- .../aws/aws-sdk-go/aws/csm/metric.go | 56 + .../aws-sdk-go/aws/csm/metric_exception.go | 26 + .../aws/aws-sdk-go/aws/csm/reporter.go | 71 +- .../aws/aws-sdk-go/aws/ec2metadata/api.go | 17 +- .../aws/aws-sdk-go/aws/ec2metadata/service.go | 9 +- .../aws/aws-sdk-go/aws/endpoints/decode.go | 28 + .../aws/aws-sdk-go/aws/endpoints/defaults.go | 1606 +- .../aws/endpoints/dep_service_ids.go | 141 + .../aws/aws-sdk-go/aws/endpoints/endpoints.go | 9 +- .../aws/aws-sdk-go/aws/endpoints/v3model.go | 5 +- .../aws/endpoints/v3model_codegen.go | 24 +- .../aws/request/connection_reset_error.go | 17 +- .../request/connection_reset_error_other.go | 11 - .../aws/aws-sdk-go/aws/request/handlers.go | 48 + .../aws-sdk-go/aws/request/offset_reader.go | 15 +- .../aws/aws-sdk-go/aws/request/request.go | 246 +- .../aws/aws-sdk-go/aws/request/request_1_8.go | 5 +- .../aws/request/request_pagination.go | 2 +- .../aws/aws-sdk-go/aws/request/retryer.go | 1 + .../aws/session/cabundle_transport.go | 26 + .../aws/session/cabundle_transport_1_5.go | 22 + .../aws/session/cabundle_transport_1_6.go | 23 + .../aws/aws-sdk-go/aws/session/credentials.go | 259 + .../aws/aws-sdk-go/aws/session/doc.go | 208 +- .../aws/aws-sdk-go/aws/session/env_config.go | 61 +- .../aws/aws-sdk-go/aws/session/session.go | 228 +- .../aws-sdk-go/aws/session/shared_config.go | 335 +- .../aws/aws-sdk-go/aws/signer/v4/v4.go | 83 +- vendor/github.com/aws/aws-sdk-go/aws/types.go | 20 +- .../github.com/aws/aws-sdk-go/aws/version.go | 2 +- .../aws/aws-sdk-go/internal/ini/ini_parser.go | 8 +- .../aws/aws-sdk-go/internal/ini/statement.go | 2 +- .../internal/shareddefaults/ecs_container.go | 2 +- .../private/protocol/ec2query/build.go | 3 +- .../private/protocol/ec2query/unmarshal.go | 32 +- .../protocol/json/jsonutil/unmarshal.go | 22 + .../private/protocol/jsonrpc/jsonrpc.go | 27 +- .../private/protocol/query/build.go | 2 +- .../private/protocol/query/unmarshal.go | 2 +- .../private/protocol/query/unmarshal_error.go | 77 +- .../aws-sdk-go/private/protocol/rest/build.go | 27 +- .../private/protocol/rest/unmarshal.go | 12 +- .../private/protocol/restxml/restxml.go | 6 +- .../private/protocol/xml/xmlutil/unmarshal.go | 19 + .../service/applicationautoscaling/api.go | 428 +- .../service/applicationautoscaling/doc.go | 61 +- .../service/applicationautoscaling/errors.go | 4 +- .../aws/aws-sdk-go/service/dynamodb/api.go | 1964 +- .../aws-sdk-go/service/dynamodb/doc_custom.go | 2 +- .../aws/aws-sdk-go/service/dynamodb/errors.go | 109 +- .../aws/aws-sdk-go/service/ec2/api.go | 17460 ++++- .../aws/aws-sdk-go/service/ec2/doc.go | 17 +- .../aws/aws-sdk-go/service/s3/api.go | 1019 +- .../aws-sdk-go/service/s3/bucket_location.go | 3 +- .../aws-sdk-go/service/s3/customizations.go | 3 +- .../aws/aws-sdk-go/service/s3/doc_custom.go | 14 + .../aws/aws-sdk-go/service/s3/sse.go | 64 +- .../aws-sdk-go/service/s3/statusok_error.go | 4 +- .../aws-sdk-go/service/s3/unmarshal_error.go | 47 +- .../aws/aws-sdk-go/service/sts/api.go | 1140 +- .../aws-sdk-go/service/sts/customizations.go | 12 - .../aws/aws-sdk-go/service/sts/doc.go | 76 +- .../aws/aws-sdk-go/service/sts/errors.go | 2 +- .../service/sts/stsiface/interface.go | 96 + .../gen-go/agent/common/v1/common.pb.go | 101 +- .../agent/metrics/v1/metrics_service.pb.go | 57 +- .../agent/metrics/v1/metrics_service.pb.gw.go | 150 + .../gen-go/agent/trace/v1/trace_service.pb.go | 70 +- .../agent/trace/v1/trace_service.pb.gw.go | 8 +- .../gen-go/metrics/v1/metrics.pb.go | 139 +- .../gen-go/resource/v1/resource.pb.go | 15 +- .../gen-go/trace/v1/trace.pb.go | 210 +- .../gen-go/trace/v1/trace_config.pb.go | 65 +- vendor/github.com/edsrzf/mmap-go/.gitignore | 8 + vendor/github.com/edsrzf/mmap-go/LICENSE | 25 + vendor/github.com/edsrzf/mmap-go/README.md | 12 + vendor/github.com/edsrzf/mmap-go/mmap.go | 117 + vendor/github.com/edsrzf/mmap-go/mmap_unix.go | 51 + .../github.com/edsrzf/mmap-go/mmap_windows.go | 143 + vendor/github.com/globalsign/mgo/LICENSE | 25 - vendor/github.com/globalsign/mgo/bson/LICENSE | 25 - .../github.com/globalsign/mgo/bson/README.md | 12 - vendor/github.com/globalsign/mgo/bson/bson.go | 836 - .../bson/bson_corpus_spec_test_generator.go | 294 - .../globalsign/mgo/bson/compatibility.go | 29 - .../github.com/globalsign/mgo/bson/decode.go | 1055 - .../github.com/globalsign/mgo/bson/encode.go | 645 - vendor/github.com/globalsign/mgo/bson/json.go | 384 - .../github.com/globalsign/mgo/bson/stream.go | 90 - .../globalsign/mgo/internal/json/decode.go | 1685 - .../globalsign/mgo/internal/json/encode.go | 1260 - .../globalsign/mgo/internal/json/extension.go | 95 - .../globalsign/mgo/internal/json/fold.go | 143 - .../globalsign/mgo/internal/json/indent.go | 141 - .../globalsign/mgo/internal/json/scanner.go | 697 - .../globalsign/mgo/internal/json/stream.go | 510 - .../globalsign/mgo/internal/json/tags.go | 44 - vendor/github.com/go-kit/kit/log/README.md | 4 + .../go-openapi/errors/.golangci.yml | 20 + .../github.com/go-openapi/errors/.travis.yml | 9 +- vendor/github.com/go-openapi/errors/api.go | 20 +- vendor/github.com/go-openapi/errors/auth.go | 4 +- vendor/github.com/go-openapi/errors/go.mod | 5 +- vendor/github.com/go-openapi/errors/go.sum | 4 + .../github.com/go-openapi/errors/headers.go | 4 +- .../go-openapi/strfmt/.golangci.yml | 1 + .../github.com/go-openapi/strfmt/.travis.yml | 15 +- vendor/github.com/go-openapi/strfmt/bson.go | 113 +- vendor/github.com/go-openapi/strfmt/date.go | 54 +- .../github.com/go-openapi/strfmt/default.go | 912 +- .../github.com/go-openapi/strfmt/duration.go | 59 +- vendor/github.com/go-openapi/strfmt/format.go | 2 +- vendor/github.com/go-openapi/strfmt/go.mod | 14 +- vendor/github.com/go-openapi/strfmt/go.sum | 34 +- vendor/github.com/go-openapi/strfmt/time.go | 65 +- vendor/github.com/go-stack/stack/.travis.yml | 15 + vendor/github.com/go-stack/stack/LICENSE.md | 21 + vendor/github.com/go-stack/stack/README.md | 38 + vendor/github.com/go-stack/stack/go.mod | 1 + vendor/github.com/go-stack/stack/stack.go | 400 + .../gogo/protobuf/proto/extensions.go | 1 + .../gogo/protobuf/proto/extensions_gogo.go | 21 + .../gogo/protobuf/proto/table_merge.go | 19 + .../github.com/gogo/protobuf/types/any.pb.go | 50 +- .../github.com/gogo/protobuf/types/api.pb.go | 309 +- .../gogo/protobuf/types/duration.pb.go | 44 +- .../gogo/protobuf/types/empty.pb.go | 30 +- .../gogo/protobuf/types/field_mask.pb.go | 50 +- .../gogo/protobuf/types/source_context.pb.go | 41 +- .../gogo/protobuf/types/struct.pb.go | 254 +- .../gogo/protobuf/types/timestamp.pb.go | 44 +- .../github.com/gogo/protobuf/types/type.pb.go | 508 +- .../gogo/protobuf/types/wrappers.pb.go | 242 +- .../golang/protobuf/jsonpb/jsonpb.go | 23 +- .../golang/protobuf/proto/properties.go | 5 +- .../internal/json => google/go-cmp}/LICENSE | 2 +- .../github.com/google/go-cmp/cmp/compare.go | 616 + .../google/go-cmp/cmp/export_panic.go | 15 + .../google/go-cmp/cmp/export_unsafe.go | 23 + .../go-cmp/cmp/internal/diff/debug_disable.go | 17 + .../go-cmp/cmp/internal/diff/debug_enable.go | 122 + .../google/go-cmp/cmp/internal/diff/diff.go | 372 + .../google/go-cmp/cmp/internal/flags/flags.go | 9 + .../cmp/internal/flags/toolchain_legacy.go | 10 + .../cmp/internal/flags/toolchain_recent.go | 10 + .../go-cmp/cmp/internal/function/func.go | 99 + .../cmp/internal/value/pointer_purego.go | 23 + .../cmp/internal/value/pointer_unsafe.go | 26 + .../google/go-cmp/cmp/internal/value/sort.go | 106 + .../google/go-cmp/cmp/internal/value/zero.go | 48 + .../github.com/google/go-cmp/cmp/options.go | 524 + vendor/github.com/google/go-cmp/cmp/path.go | 308 + vendor/github.com/google/go-cmp/cmp/report.go | 51 + .../google/go-cmp/cmp/report_compare.go | 296 + .../google/go-cmp/cmp/report_reflect.go | 278 + .../google/go-cmp/cmp/report_slices.go | 333 + .../google/go-cmp/cmp/report_text.go | 387 + .../google/go-cmp/cmp/report_value.go | 121 + vendor/github.com/google/gofuzz/go.mod | 3 + vendor/github.com/googleapis/gax-go/v2/gax.go | 2 +- vendor/github.com/googleapis/gax-go/v2/go.mod | 2 +- vendor/github.com/googleapis/gax-go/v2/go.sum | 13 +- .../googleapis/gnostic/OpenAPIv2/OpenAPIv2.go | 297 +- .../googleapis/gnostic/compiler/reader.go | 80 +- .../gnostic/extensions/extension.pb.go | 164 +- .../gophercloud/gophercloud/.zuul.yaml | 20 +- .../gophercloud/gophercloud/CHANGELOG.md | 69 + .../github.com/gophercloud/gophercloud/doc.go | 63 +- .../gophercloud/gophercloud/errors.go | 11 + .../gophercloud/openstack/client.go | 6 + .../compute/v2/extensions/hypervisors/doc.go | 27 +- .../v2/extensions/hypervisors/requests.go | 12 +- .../v2/extensions/hypervisors/results.go | 95 +- .../openstack/identity/v3/tokens/requests.go | 2 +- .../gophercloud/provider_client.go | 5 + .../gophercloud/gophercloud/service_client.go | 2 + .../grpc-gateway/runtime/BUILD.bazel | 4 + .../grpc-gateway/runtime/errors.go | 3 +- .../grpc-gateway/runtime/handler.go | 72 +- .../grpc-gateway/runtime/marshal_jsonpb.go | 26 +- .../grpc-gateway/runtime/mux.go | 49 +- .../grpc-gateway/runtime/pattern.go | 51 +- .../grpc-gateway/runtime/proto_errors.go | 40 +- .../grpc-gateway/runtime/query.go | 177 +- .../hashicorp/go-immutable-radix/CHANGELOG.md | 9 + .../hashicorp/go-immutable-radix/README.md | 25 + .../hashicorp/go-immutable-radix/iter.go | 99 +- .../hashicorp/go-immutable-radix/node.go | 12 + .../github.com/hashicorp/go-rootcerts/go.mod | 4 +- .../github.com/hashicorp/go-rootcerts/go.sum | 4 +- vendor/github.com/hashicorp/golang-lru/go.mod | 2 + vendor/github.com/hashicorp/golang-lru/lru.go | 26 +- .../hashicorp/golang-lru/simplelru/lru.go | 16 + .../golang-lru/simplelru/lru_interface.go | 7 +- vendor/github.com/jmespath/go-jmespath/api.go | 2 +- vendor/github.com/jpillora/backoff/LICENSE | 21 + vendor/github.com/jpillora/backoff/README.md | 119 + vendor/github.com/jpillora/backoff/backoff.go | 99 + vendor/github.com/json-iterator/go/adapter.go | 2 +- vendor/github.com/json-iterator/go/go.mod | 11 + vendor/github.com/json-iterator/go/go.sum | 14 + .../github.com/json-iterator/go/iter_skip.go | 25 +- .../json-iterator/go/reflect_native.go | 14 +- .../go/reflect_struct_decoder.go | 2 +- .../json-iterator/go/stream_float.go | 17 + vendor/github.com/mailru/easyjson/LICENSE | 7 - .../github.com/mailru/easyjson/buffer/pool.go | 270 - .../mailru/easyjson/jlexer/bytestostr.go | 24 - .../easyjson/jlexer/bytestostr_nounsafe.go | 13 - .../mailru/easyjson/jlexer/error.go | 15 - .../mailru/easyjson/jlexer/lexer.go | 1181 - .../mailru/easyjson/jwriter/writer.go | 390 - vendor/github.com/miekg/dns/Gopkg.lock | 40 +- vendor/github.com/miekg/dns/README.md | 2 + vendor/github.com/miekg/dns/acceptfunc.go | 12 +- vendor/github.com/miekg/dns/client.go | 64 +- vendor/github.com/miekg/dns/dns.go | 4 +- vendor/github.com/miekg/dns/dnssec.go | 7 +- vendor/github.com/miekg/dns/dnssec_keygen.go | 46 +- vendor/github.com/miekg/dns/dnssec_keyscan.go | 34 +- vendor/github.com/miekg/dns/edns.go | 2 +- vendor/github.com/miekg/dns/msg_helpers.go | 23 + vendor/github.com/miekg/dns/msg_truncate.go | 15 +- vendor/github.com/miekg/dns/privaterr.go | 4 +- vendor/github.com/miekg/dns/scan.go | 104 +- vendor/github.com/miekg/dns/scan_rr.go | 829 +- vendor/github.com/miekg/dns/server.go | 11 +- vendor/github.com/miekg/dns/tsig.go | 2 +- vendor/github.com/miekg/dns/types.go | 39 +- vendor/github.com/miekg/dns/version.go | 2 +- .../mitchellh/go-homedir/homedir.go | 10 + .../mwitkow/go-conntrack/.travis.yml | 16 +- .../mwitkow/go-conntrack/listener_wrapper.go | 29 +- .../opentracing-contrib/go-stdlib/LICENSE | 228 +- .../go-stdlib/nethttp/client.go | 146 +- .../go-stdlib/nethttp/server.go | 101 +- .../nethttp/status-code-tracker-old.go | 145 + .../go-stdlib/nethttp/status-code-tracker.go | 257 + .../client_golang/api/prometheus/v1/api.go | 50 +- .../prometheus/common/config/http_config.go | 8 +- .../prometheus/procfs/Makefile.common | 7 +- .../prometheus/procfs/fixtures.ttar | 551 +- vendor/github.com/prometheus/procfs/go.mod | 5 +- vendor/github.com/prometheus/procfs/go.sum | 2 + .../prometheus/procfs/internal/fs/fs.go | 3 + vendor/github.com/prometheus/procfs/mdstat.go | 111 +- .../github.com/prometheus/procfs/mountinfo.go | 178 + vendor/github.com/prometheus/procfs/proc.go | 14 + .../prometheus/procfs/proc_environ.go | 43 + .../github.com/prometheus/procfs/proc_stat.go | 2 +- .../prometheus/prometheus/config/config.go | 11 +- .../discovery/kubernetes/client_metrics.go | 39 +- .../discovery/kubernetes/ingress.go | 2 +- .../discovery/kubernetes/kubernetes.go | 2 +- .../prometheus/discovery/marathon/marathon.go | 2 +- .../prometheus/notifier/notifier.go | 2 +- .../prometheus/pkg/labels/labels.go | 22 +- .../prometheus/prometheus/prompb/remote.pb.go | 236 +- .../prometheus/prometheus/prompb/rpc.pb.go | 203 +- .../prometheus/prometheus/prompb/rpc.pb.gw.go | 11 +- .../prometheus/prometheus/prompb/types.pb.go | 275 +- .../prometheus/prometheus/promql/engine.go | 28 +- .../prometheus/prometheus/promql/fuzz.go | 50 +- .../prometheus/prometheus/promql/quantile.go | 2 +- .../prometheus/promql/query_logger.go | 183 + .../prometheus/prometheus/promql/test.go | 7 +- .../prometheus/prometheus/promql/value.go | 2 +- .../prometheus/prometheus/rules/alerting.go | 2 +- .../prometheus/prometheus/rules/manager.go | 39 + .../prometheus/prometheus/rules/recording.go | 6 +- .../prometheus/prometheus/scrape/manager.go | 17 +- .../prometheus/prometheus/scrape/scrape.go | 49 +- .../prometheus/prometheus/scrape/target.go | 2 +- .../prometheus/storage/remote/client.go | 2 +- .../prometheus/storage/remote/codec.go | 8 +- .../prometheus/storage/remote/ewma.go | 5 +- .../storage/remote/queue_manager.go | 59 +- .../prometheus/storage/remote/wal_watcher.go | 15 +- .../prometheus/storage/tsdb/tsdb.go | 4 +- .../prometheus/template/template.go | 4 +- .../{ => prometheus}/tsdb/.gitignore | 0 .../{ => prometheus}/tsdb/CHANGELOG.md | 0 .../{ => prometheus}/tsdb/MAINTAINERS.md | 0 .../{ => prometheus}/tsdb/README.md | 0 .../prometheus/{ => prometheus}/tsdb/block.go | 12 +- .../{ => prometheus}/tsdb/checkpoint.go | 6 +- .../{ => prometheus}/tsdb/chunkenc/bstream.go | 0 .../{ => prometheus}/tsdb/chunkenc/chunk.go | 0 .../{ => prometheus}/tsdb/chunkenc/xor.go | 0 .../{ => prometheus}/tsdb/chunks/chunks.go | 8 +- .../{ => prometheus}/tsdb/compact.go | 12 +- .../prometheus/{ => prometheus}/tsdb/db.go | 24 +- .../tsdb/encoding/encoding.go | 0 .../{ => prometheus}/tsdb/errors/errors.go | 0 .../tsdb/fileutil/dir_unix.go | 0 .../tsdb/fileutil/dir_windows.go | 0 .../tsdb/fileutil/fileutil.go | 0 .../{ => prometheus}/tsdb/fileutil/flock.go | 0 .../tsdb/fileutil/flock_plan9.go | 0 .../tsdb/fileutil/flock_solaris.go | 0 .../tsdb/fileutil/flock_unix.go | 0 .../tsdb/fileutil/flock_windows.go | 0 .../{ => prometheus}/tsdb/fileutil/mmap.go | 0 .../tsdb/fileutil/mmap_386.go | 0 .../tsdb/fileutil/mmap_amd64.go | 0 .../tsdb/fileutil/mmap_unix.go | 0 .../tsdb/fileutil/mmap_windows.go | 0 .../tsdb/fileutil/preallocate.go | 0 .../tsdb/fileutil/preallocate_darwin.go | 0 .../tsdb/fileutil/preallocate_linux.go | 0 .../tsdb/fileutil/preallocate_other.go | 0 .../{ => prometheus}/tsdb/fileutil/sync.go | 0 .../tsdb/fileutil/sync_darwin.go | 0 .../tsdb/fileutil/sync_linux.go | 0 .../tsdb/goversion/goversion.go | 0 .../{ => prometheus}/tsdb/goversion/init.go | 0 .../prometheus/{ => prometheus}/tsdb/head.go | 12 +- .../{ => prometheus}/tsdb/index/index.go | 10 +- .../{ => prometheus}/tsdb/index/postings.go | 2 +- .../{ => prometheus}/tsdb/labels/labels.go | 0 .../{ => prometheus}/tsdb/labels/selector.go | 0 .../{ => prometheus}/tsdb/querier.go | 12 +- .../{ => prometheus}/tsdb/record.go | 4 +- .../{ => prometheus}/tsdb/repair.go | 4 +- .../{ => prometheus}/tsdb/tombstones.go | 6 +- .../prometheus/{ => prometheus}/tsdb/wal.go | 22 +- .../{ => prometheus}/tsdb/wal/live_reader.go | 5 +- .../{ => prometheus}/tsdb/wal/reader.go | 0 .../{ => prometheus}/tsdb/wal/wal.go | 22 +- .../util/{testutil => teststorage}/storage.go | 7 +- .../prometheus/util/testutil/directory.go | 53 + .../prometheus/util/testutil/logging.go | 35 + .../prometheus/util/testutil/testing.go | 19 +- .../prometheus/prometheus/web/api/v1/api.go | 20 +- .../github.com/prometheus/tsdb/.golangci.yml | 5 - vendor/github.com/prometheus/tsdb/.travis.yml | 20 - vendor/github.com/prometheus/tsdb/Makefile | 33 - .../prometheus/tsdb/Makefile.common | 277 - vendor/github.com/prometheus/tsdb/go.mod | 14 - vendor/github.com/prometheus/tsdb/go.sum | 83 - .../github.com/samuel/go-zookeeper/zk/conn.go | 292 +- .../samuel/go-zookeeper/zk/constants.go | 25 +- .../samuel/go-zookeeper/zk/server_help.go | 216 - .../samuel/go-zookeeper/zk/server_java.go | 136 - .../samuel/go-zookeeper/zk/structs.go | 19 +- .../github.com/samuel/go-zookeeper/zk/util.go | 62 + .../mongo-driver}/LICENSE | 0 .../go.mongodb.org/mongo-driver/bson/bson.go | 60 + .../mongo-driver/bson/bson_1_8.go | 91 + .../mongo-driver/bson/bsoncodec/bsoncodec.go | 163 + .../bson/bsoncodec/default_value_decoders.go | 1014 + .../bson/bsoncodec/default_value_encoders.go | 648 + .../mongo-driver/bson/bsoncodec/doc.go | 61 + .../mongo-driver/bson/bsoncodec/mode.go | 65 + .../bson/bsoncodec/pointer_codec.go | 110 + .../mongo-driver/bson/bsoncodec/proxy.go | 14 + .../mongo-driver/bson/bsoncodec/registry.go | 384 + .../bson/bsoncodec/struct_codec.go | 359 + .../bson/bsoncodec/struct_tag_parser.go | 119 + .../mongo-driver/bson/bsoncodec/types.go | 80 + .../mongo-driver/bson/bsonrw/copier.go | 389 + .../mongo-driver/bson/bsonrw/doc.go | 9 + .../bson/bsonrw/extjson_parser.go | 731 + .../bson/bsonrw/extjson_reader.go | 659 + .../bson/bsonrw/extjson_tables.go | 223 + .../bson/bsonrw/extjson_wrappers.go | 481 + .../bson/bsonrw/extjson_writer.go | 734 + .../mongo-driver/bson/bsonrw/json_scanner.go | 439 + .../mongo-driver/bson/bsonrw/mode.go | 108 + .../mongo-driver/bson/bsonrw/reader.go | 63 + .../mongo-driver/bson/bsonrw/value_reader.go | 882 + .../mongo-driver/bson/bsonrw/value_writer.go | 589 + .../mongo-driver/bson/bsonrw/writer.go | 96 + .../mongo-driver/bson/bsontype/bsontype.go | 87 + .../mongo-driver/bson/decoder.go | 112 + .../go.mongodb.org/mongo-driver/bson/doc.go | 42 + .../mongo-driver/bson/encoder.go | 99 + .../mongo-driver/bson/marshal.go | 156 + .../mongo-driver/bson/primitive}/decimal.go | 49 +- .../mongo-driver/bson/primitive/objectid.go | 154 + .../mongo-driver/bson/primitive/primitive.go | 156 + .../mongo-driver/bson/primitive_codecs.go | 111 + .../go.mongodb.org/mongo-driver/bson/raw.go | 92 + .../mongo-driver/bson/raw_element.go | 51 + .../mongo-driver/bson/raw_value.go | 287 + .../mongo-driver/bson/registry.go | 24 + .../go.mongodb.org/mongo-driver/bson/types.go | 85 + .../mongo-driver/bson/unmarshal.go | 101 + .../mongo-driver/x/bsonx/bsoncore/bsoncore.go | 803 + .../mongo-driver/x/bsonx/bsoncore/document.go | 396 + .../x/bsonx/bsoncore/document_sequence.go | 167 + .../mongo-driver/x/bsonx/bsoncore/element.go | 152 + .../mongo-driver/x/bsonx/bsoncore/tables.go | 223 + .../mongo-driver/x/bsonx/bsoncore/value.go | 901 + vendor/go.opencensus.io/README.md | 6 +- vendor/go.opencensus.io/go.mod | 14 +- vendor/go.opencensus.io/go.sum | 27 +- vendor/go.opencensus.io/opencensus.go | 2 +- .../go.opencensus.io/plugin/ocgrpc/client.go | 2 +- .../plugin/ocgrpc/client_stats_handler.go | 2 +- .../go.opencensus.io/plugin/ocgrpc/server.go | 2 +- .../plugin/ocgrpc/server_stats_handler.go | 2 +- .../plugin/ocgrpc/trace_common.go | 2 +- .../stats/view/view_to_metric.go | 4 +- vendor/go.opencensus.io/tag/key.go | 10 + vendor/golang.org/x/crypto/ed25519/ed25519.go | 5 + .../x/crypto/ed25519/ed25519_go113.go | 73 + .../golang.org/x/crypto/poly1305/mac_noasm.go | 2 +- .../golang.org/x/crypto/poly1305/sum_noasm.go | 2 +- .../x/crypto/poly1305/sum_ppc64le.go | 68 + .../x/crypto/poly1305/sum_ppc64le.s | 247 + .../golang.org/x/net/bpf/vm_instructions.go | 3 +- vendor/golang.org/x/net/http2/server.go | 44 +- vendor/golang.org/x/net/http2/transport.go | 13 +- .../x/net/idna/{idna.go => idna10.0.0.go} | 8 +- vendor/golang.org/x/net/idna/idna9.0.0.go | 682 + .../x/net/idna/{tables.go => tables10.0.0.go} | 6 +- vendor/golang.org/x/net/idna/tables11.0.0.go | 4653 ++ vendor/golang.org/x/net/idna/tables9.0.0.go | 4486 ++ .../x/net/internal/socket/cmsghdr.go | 2 +- .../x/net/internal/socket/cmsghdr_bsd.go | 2 +- .../internal/socket/cmsghdr_linux_64bit.go | 2 +- .../x/net/internal/socket/cmsghdr_stub.go | 2 +- .../x/net/internal/socket/defs_aix.go | 39 + .../x/net/internal/socket/defs_darwin.go | 8 - .../x/net/internal/socket/defs_dragonfly.go | 8 - .../x/net/internal/socket/defs_freebsd.go | 8 - .../x/net/internal/socket/defs_linux.go | 8 - .../x/net/internal/socket/defs_netbsd.go | 8 - .../x/net/internal/socket/defs_openbsd.go | 8 - .../x/net/internal/socket/defs_solaris.go | 8 - .../x/net/internal/socket/error_unix.go | 2 +- .../x/net/internal/socket/iovec_64bit.go | 4 +- .../x/net/internal/socket/iovec_stub.go | 2 +- .../x/net/internal/socket/mmsghdr_stub.go | 2 +- .../x/net/internal/socket/mmsghdr_unix.go | 2 +- .../x/net/internal/socket/msghdr_bsd.go | 2 +- .../x/net/internal/socket/msghdr_bsdvar.go | 2 +- .../net/internal/socket/msghdr_linux_64bit.go | 2 +- .../x/net/internal/socket/msghdr_stub.go | 2 +- .../x/net/internal/socket/rawconn_msg.go | 2 +- .../x/net/internal/socket/rawconn_nomsg.go | 2 +- .../x/net/internal/socket/sys_bsd.go | 2 +- .../x/net/internal/socket/sys_bsdvar.go | 5 +- .../x/net/internal/socket/sys_const_unix.go | 17 + .../{sys_go1_12_darwin.go => sys_linkname.go} | 2 +- .../net/internal/socket/sys_linux_riscv64.go | 12 + .../x/net/internal/socket/sys_posix.go | 8 +- .../x/net/internal/socket/sys_stub.go | 2 +- .../x/net/internal/socket/sys_windows.go | 10 +- .../x/net/internal/socket/zsys_aix_ppc64.go | 61 + .../x/net/internal/socket/zsys_darwin_386.go | 10 +- .../net/internal/socket/zsys_darwin_amd64.go | 10 +- .../x/net/internal/socket/zsys_darwin_arm.go | 10 +- .../net/internal/socket/zsys_darwin_arm64.go | 10 +- .../internal/socket/zsys_dragonfly_amd64.go | 10 +- .../x/net/internal/socket/zsys_freebsd_386.go | 10 +- .../net/internal/socket/zsys_freebsd_amd64.go | 10 +- .../x/net/internal/socket/zsys_freebsd_arm.go | 10 +- .../net/internal/socket/zsys_freebsd_arm64.go | 53 + .../x/net/internal/socket/zsys_linux_386.go | 10 +- .../x/net/internal/socket/zsys_linux_amd64.go | 10 +- .../x/net/internal/socket/zsys_linux_arm.go | 10 +- .../x/net/internal/socket/zsys_linux_arm64.go | 10 +- .../x/net/internal/socket/zsys_linux_mips.go | 10 +- .../net/internal/socket/zsys_linux_mips64.go | 10 +- .../internal/socket/zsys_linux_mips64le.go | 10 +- .../net/internal/socket/zsys_linux_mipsle.go | 10 +- .../x/net/internal/socket/zsys_linux_ppc64.go | 10 +- .../net/internal/socket/zsys_linux_ppc64le.go | 10 +- .../net/internal/socket/zsys_linux_riscv64.go | 59 + .../x/net/internal/socket/zsys_linux_s390x.go | 10 +- .../x/net/internal/socket/zsys_netbsd_386.go | 10 +- .../net/internal/socket/zsys_netbsd_amd64.go | 10 +- .../x/net/internal/socket/zsys_netbsd_arm.go | 10 +- .../net/internal/socket/zsys_netbsd_arm64.go | 60 + .../x/net/internal/socket/zsys_openbsd_386.go | 10 +- .../net/internal/socket/zsys_openbsd_amd64.go | 10 +- .../x/net/internal/socket/zsys_openbsd_arm.go | 10 +- .../net/internal/socket/zsys_openbsd_arm64.go | 53 + .../net/internal/socket/zsys_solaris_amd64.go | 10 +- vendor/golang.org/x/net/ipv4/control_bsd.go | 2 +- vendor/golang.org/x/net/ipv4/control_stub.go | 2 +- vendor/golang.org/x/net/ipv4/control_unix.go | 2 +- vendor/golang.org/x/net/ipv4/defs_aix.go | 39 + vendor/golang.org/x/net/ipv4/doc.go | 3 +- vendor/golang.org/x/net/ipv4/helper.go | 5 +- vendor/golang.org/x/net/ipv4/payload_cmsg.go | 2 +- .../golang.org/x/net/ipv4/payload_nocmsg.go | 2 +- vendor/golang.org/x/net/ipv4/sockopt_posix.go | 2 +- vendor/golang.org/x/net/ipv4/sockopt_stub.go | 2 +- vendor/golang.org/x/net/ipv4/sys_aix.go | 38 + vendor/golang.org/x/net/ipv4/sys_asmreq.go | 2 +- .../golang.org/x/net/ipv4/sys_asmreq_stub.go | 2 +- vendor/golang.org/x/net/ipv4/sys_stub.go | 2 +- .../golang.org/x/net/ipv4/zsys_aix_ppc64.go | 33 + vendor/golang.org/x/net/ipv4/zsys_darwin.go | 2 +- .../golang.org/x/net/ipv4/zsys_dragonfly.go | 2 +- .../golang.org/x/net/ipv4/zsys_freebsd_386.go | 2 +- .../x/net/ipv4/zsys_freebsd_amd64.go | 2 +- .../golang.org/x/net/ipv4/zsys_freebsd_arm.go | 2 +- .../golang.org/x/net/ipv4/zsys_linux_386.go | 2 +- .../golang.org/x/net/ipv4/zsys_linux_amd64.go | 2 +- .../golang.org/x/net/ipv4/zsys_linux_arm.go | 2 +- .../golang.org/x/net/ipv4/zsys_linux_arm64.go | 2 +- .../golang.org/x/net/ipv4/zsys_linux_mips.go | 2 +- .../x/net/ipv4/zsys_linux_mips64.go | 2 +- .../x/net/ipv4/zsys_linux_mips64le.go | 2 +- .../x/net/ipv4/zsys_linux_mipsle.go | 2 +- .../golang.org/x/net/ipv4/zsys_linux_ppc.go | 2 +- .../golang.org/x/net/ipv4/zsys_linux_ppc64.go | 2 +- .../x/net/ipv4/zsys_linux_ppc64le.go | 2 +- .../x/net/ipv4/zsys_linux_riscv64.go | 151 + .../golang.org/x/net/ipv4/zsys_linux_s390x.go | 2 +- vendor/golang.org/x/net/ipv4/zsys_netbsd.go | 2 +- vendor/golang.org/x/net/ipv4/zsys_openbsd.go | 2 +- vendor/golang.org/x/net/ipv4/zsys_solaris.go | 2 +- .../x/net/ipv6/control_rfc3542_unix.go | 2 +- vendor/golang.org/x/net/ipv6/control_stub.go | 2 +- vendor/golang.org/x/net/ipv6/control_unix.go | 2 +- vendor/golang.org/x/net/ipv6/defs_aix.go | 82 + vendor/golang.org/x/net/ipv6/doc.go | 3 +- vendor/golang.org/x/net/ipv6/icmp_bsd.go | 2 +- vendor/golang.org/x/net/ipv6/icmp_stub.go | 2 +- vendor/golang.org/x/net/ipv6/payload_cmsg.go | 2 +- .../golang.org/x/net/ipv6/payload_nocmsg.go | 2 +- vendor/golang.org/x/net/ipv6/sockopt_posix.go | 6 +- vendor/golang.org/x/net/ipv6/sockopt_stub.go | 2 +- vendor/golang.org/x/net/ipv6/sys_aix.go | 77 + vendor/golang.org/x/net/ipv6/sys_asmreq.go | 2 +- .../golang.org/x/net/ipv6/sys_asmreq_stub.go | 2 +- vendor/golang.org/x/net/ipv6/sys_ssmreq.go | 2 +- .../golang.org/x/net/ipv6/sys_ssmreq_stub.go | 2 +- vendor/golang.org/x/net/ipv6/sys_stub.go | 2 +- .../golang.org/x/net/ipv6/zsys_aix_ppc64.go | 103 + vendor/golang.org/x/net/ipv6/zsys_darwin.go | 2 +- .../golang.org/x/net/ipv6/zsys_dragonfly.go | 2 +- .../golang.org/x/net/ipv6/zsys_freebsd_386.go | 2 +- .../x/net/ipv6/zsys_freebsd_amd64.go | 2 +- .../golang.org/x/net/ipv6/zsys_freebsd_arm.go | 2 +- .../golang.org/x/net/ipv6/zsys_linux_386.go | 2 +- .../golang.org/x/net/ipv6/zsys_linux_amd64.go | 2 +- .../golang.org/x/net/ipv6/zsys_linux_arm.go | 2 +- .../golang.org/x/net/ipv6/zsys_linux_arm64.go | 2 +- .../golang.org/x/net/ipv6/zsys_linux_mips.go | 2 +- .../x/net/ipv6/zsys_linux_mips64.go | 2 +- .../x/net/ipv6/zsys_linux_mips64le.go | 2 +- .../x/net/ipv6/zsys_linux_mipsle.go | 2 +- .../golang.org/x/net/ipv6/zsys_linux_ppc.go | 2 +- .../golang.org/x/net/ipv6/zsys_linux_ppc64.go | 2 +- .../x/net/ipv6/zsys_linux_ppc64le.go | 2 +- .../x/net/ipv6/zsys_linux_riscv64.go | 173 + .../golang.org/x/net/ipv6/zsys_linux_s390x.go | 2 +- vendor/golang.org/x/net/ipv6/zsys_netbsd.go | 2 +- vendor/golang.org/x/net/ipv6/zsys_openbsd.go | 2 +- vendor/golang.org/x/net/ipv6/zsys_solaris.go | 2 +- vendor/golang.org/x/oauth2/google/default.go | 3 +- vendor/golang.org/x/oauth2/google/google.go | 26 +- vendor/golang.org/x/oauth2/internal/token.go | 10 - vendor/golang.org/x/oauth2/jwt/jwt.go | 21 +- vendor/golang.org/x/oauth2/oauth2.go | 2 +- .../golang.org/x/sys/unix/affinity_linux.go | 8 +- vendor/golang.org/x/sys/unix/dirent.go | 91 +- vendor/golang.org/x/sys/unix/endian_little.go | 2 +- vendor/golang.org/x/sys/unix/mkall.sh | 8 +- vendor/golang.org/x/sys/unix/mkerrors.sh | 4 + vendor/golang.org/x/sys/unix/mkpost.go | 4 +- vendor/golang.org/x/sys/unix/mksysnum.go | 2 +- .../x/sys/unix/readdirent_getdents.go | 12 + .../x/sys/unix/readdirent_getdirentries.go | 19 + vendor/golang.org/x/sys/unix/syscall_aix.go | 18 +- vendor/golang.org/x/sys/unix/syscall_bsd.go | 12 +- .../golang.org/x/sys/unix/syscall_darwin.go | 13 +- .../x/sys/unix/syscall_darwin_386.go | 2 + .../x/sys/unix/syscall_darwin_amd64.go | 2 + .../x/sys/unix/syscall_darwin_arm.go | 4 + .../x/sys/unix/syscall_darwin_arm64.go | 4 + .../x/sys/unix/syscall_dragonfly.go | 17 + .../golang.org/x/sys/unix/syscall_freebsd.go | 94 +- vendor/golang.org/x/sys/unix/syscall_linux.go | 25 +- .../golang.org/x/sys/unix/syscall_netbsd.go | 37 +- .../golang.org/x/sys/unix/syscall_openbsd.go | 37 +- .../golang.org/x/sys/unix/syscall_solaris.go | 17 + vendor/golang.org/x/sys/unix/types_freebsd.go | 50 +- vendor/golang.org/x/sys/unix/types_netbsd.go | 1 + vendor/golang.org/x/sys/unix/types_openbsd.go | 1 + .../x/sys/unix/zerrors_linux_386.go | 75 + .../x/sys/unix/zerrors_linux_amd64.go | 75 + .../x/sys/unix/zerrors_linux_arm.go | 75 + .../x/sys/unix/zerrors_linux_arm64.go | 75 + .../x/sys/unix/zerrors_linux_mips.go | 75 + .../x/sys/unix/zerrors_linux_mips64.go | 75 + .../x/sys/unix/zerrors_linux_mips64le.go | 75 + .../x/sys/unix/zerrors_linux_mipsle.go | 75 + .../x/sys/unix/zerrors_linux_ppc64.go | 75 + .../x/sys/unix/zerrors_linux_ppc64le.go | 75 + .../x/sys/unix/zerrors_linux_riscv64.go | 75 + .../x/sys/unix/zerrors_linux_s390x.go | 75 + .../x/sys/unix/zerrors_linux_sparc64.go | 75 + .../x/sys/unix/zsyscall_darwin_386.1_11.go | 20 +- .../x/sys/unix/zsyscall_darwin_386.go | 30 +- .../x/sys/unix/zsyscall_darwin_386.s | 4 +- .../x/sys/unix/zsyscall_darwin_amd64.go | 30 +- .../x/sys/unix/zsyscall_darwin_amd64.s | 4 +- .../x/sys/unix/zsyscall_darwin_arm.go | 15 - .../x/sys/unix/zsyscall_darwin_arm.s | 2 - .../x/sys/unix/zsyscall_darwin_arm64.go | 15 - .../x/sys/unix/zsyscall_darwin_arm64.s | 2 - .../x/sys/unix/zsyscall_dragonfly_amd64.go | 17 + .../x/sys/unix/zsyscall_freebsd_386.go | 12 +- .../x/sys/unix/zsyscall_freebsd_amd64.go | 12 +- .../x/sys/unix/zsyscall_freebsd_arm.go | 12 +- .../x/sys/unix/zsyscall_freebsd_arm64.go | 12 +- .../x/sys/unix/zsyscall_linux_386.go | 20 + .../x/sys/unix/zsyscall_linux_amd64.go | 20 + .../x/sys/unix/zsyscall_linux_arm.go | 20 + .../x/sys/unix/zsyscall_linux_arm64.go | 20 + .../x/sys/unix/zsyscall_linux_mips.go | 20 + .../x/sys/unix/zsyscall_linux_mips64.go | 20 + .../x/sys/unix/zsyscall_linux_mips64le.go | 20 + .../x/sys/unix/zsyscall_linux_mipsle.go | 20 + .../x/sys/unix/zsyscall_linux_ppc64.go | 20 + .../x/sys/unix/zsyscall_linux_ppc64le.go | 20 + .../x/sys/unix/zsyscall_linux_riscv64.go | 20 + .../x/sys/unix/zsyscall_linux_s390x.go | 20 + .../x/sys/unix/zsyscall_linux_sparc64.go | 20 + .../x/sys/unix/zsyscall_netbsd_386.go | 2 +- .../x/sys/unix/zsyscall_netbsd_amd64.go | 2 +- .../x/sys/unix/zsyscall_netbsd_arm.go | 2 +- .../x/sys/unix/zsyscall_netbsd_arm64.go | 2 +- .../x/sys/unix/zsyscall_openbsd_386.go | 2 +- .../x/sys/unix/zsyscall_openbsd_amd64.go | 2 +- .../x/sys/unix/zsyscall_openbsd_arm.go | 2 +- .../x/sys/unix/zsyscall_openbsd_arm64.go | 2 +- .../x/sys/unix/zsysnum_freebsd_386.go | 23 +- .../x/sys/unix/zsysnum_freebsd_amd64.go | 23 +- .../x/sys/unix/zsysnum_freebsd_arm.go | 23 +- .../x/sys/unix/zsysnum_freebsd_arm64.go | 445 +- .../x/sys/unix/zsysnum_linux_386.go | 6 + .../x/sys/unix/zsysnum_linux_amd64.go | 6 + .../x/sys/unix/zsysnum_linux_arm.go | 6 + .../x/sys/unix/zsysnum_linux_arm64.go | 6 + .../x/sys/unix/zsysnum_linux_mips.go | 6 + .../x/sys/unix/zsysnum_linux_mips64.go | 6 + .../x/sys/unix/zsysnum_linux_mips64le.go | 6 + .../x/sys/unix/zsysnum_linux_mipsle.go | 6 + .../x/sys/unix/zsysnum_linux_ppc64.go | 6 + .../x/sys/unix/zsysnum_linux_ppc64le.go | 6 + .../x/sys/unix/zsysnum_linux_riscv64.go | 6 + .../x/sys/unix/zsysnum_linux_s390x.go | 6 + .../x/sys/unix/zsysnum_linux_sparc64.go | 6 + .../x/sys/unix/ztypes_freebsd_386.go | 103 +- .../x/sys/unix/ztypes_freebsd_amd64.go | 110 +- .../x/sys/unix/ztypes_freebsd_arm.go | 87 +- .../x/sys/unix/ztypes_freebsd_arm64.go | 88 +- .../golang.org/x/sys/unix/ztypes_linux_386.go | 54 + .../x/sys/unix/ztypes_linux_amd64.go | 55 + .../golang.org/x/sys/unix/ztypes_linux_arm.go | 54 + .../x/sys/unix/ztypes_linux_arm64.go | 55 + .../x/sys/unix/ztypes_linux_mips.go | 54 + .../x/sys/unix/ztypes_linux_mips64.go | 55 + .../x/sys/unix/ztypes_linux_mips64le.go | 55 + .../x/sys/unix/ztypes_linux_mipsle.go | 54 + .../x/sys/unix/ztypes_linux_ppc64.go | 55 + .../x/sys/unix/ztypes_linux_ppc64le.go | 55 + .../x/sys/unix/ztypes_linux_riscv64.go | 56 + .../x/sys/unix/ztypes_linux_s390x.go | 55 + .../x/sys/unix/ztypes_linux_sparc64.go | 55 + .../x/sys/unix/ztypes_netbsd_386.go | 1 + .../x/sys/unix/ztypes_netbsd_amd64.go | 1 + .../x/sys/unix/ztypes_netbsd_arm.go | 1 + .../x/sys/unix/ztypes_netbsd_arm64.go | 1 + .../x/sys/unix/ztypes_openbsd_386.go | 1 + .../x/sys/unix/ztypes_openbsd_amd64.go | 1 + .../x/sys/unix/ztypes_openbsd_arm.go | 1 + .../x/sys/unix/ztypes_openbsd_arm64.go | 1 + vendor/golang.org/x/sys/windows/mkerrors.bash | 2 +- .../x/sys/windows/mkknownfolderids.bash | 27 + vendor/golang.org/x/sys/windows/service.go | 11 + .../x/sys/windows/syscall_windows.go | 89 +- .../golang.org/x/sys/windows/types_windows.go | 86 +- .../x/sys/windows/zerrors_windows.go | 2 +- .../x/sys/windows/zknownfolderids_windows.go | 149 + .../x/sys/windows/zsyscall_windows.go | 137 +- .../v1/cloudresourcemanager-api.json | 41 +- .../v1/cloudresourcemanager-gen.go | 338 +- .../api/compute/v1/compute-api.json | 4441 +- .../api/compute/v1/compute-gen.go | 54501 +++++++++------- .../api/gensupport/backoff.go | 51 - .../api/gensupport/header.go | 22 - .../api/gensupport/resumable.go | 48 +- .../google.golang.org/api/gensupport/retry.go | 84 - .../api/storage/v1/storage-api.json | 309 +- .../api/storage/v1/storage-gen.go | 793 +- .../api/transport/grpc/dial.go | 102 +- .../api/transport/grpc/dial_socketopt.go | 59 + vendor/google.golang.org/appengine/README.md | 27 + .../google.golang.org/appengine/appengine.go | 2 - vendor/google.golang.org/appengine/go.mod | 9 +- vendor/google.golang.org/appengine/go.sum | 16 + .../appengine/internal/api.go | 4 + .../api/annotations/annotations.pb.go | 21 +- .../googleapis/api/annotations/client.pb.go | 79 + .../api/annotations/field_behavior.pb.go | 122 + .../googleapis/api/annotations/http.pb.go | 176 +- .../googleapis/api/annotations/resource.pb.go | 317 + .../googleapis/api/httpbody/httpbody.pb.go | 26 +- .../admin/v2/bigtable_instance_admin.pb.go | 396 +- .../admin/v2/bigtable_table_admin.pb.go | 533 +- .../googleapis/bigtable/admin/v2/common.pb.go | 25 +- .../bigtable/admin/v2/instance.pb.go | 144 +- .../googleapis/bigtable/admin/v2/table.pb.go | 199 +- .../googleapis/bigtable/v2/bigtable.pb.go | 361 +- .../googleapis/bigtable/v2/data.pb.go | 967 +- .../googleapis/iam/v1/iam_policy.pb.go | 149 +- .../genproto/googleapis/iam/v1/options.pb.go | 92 + .../genproto/googleapis/iam/v1/policy.pb.go | 320 +- .../googleapis/longrunning/operations.pb.go | 474 +- .../genproto/googleapis/rpc/code/code.pb.go | 21 +- .../googleapis/rpc/status/status.pb.go | 26 +- .../genproto/googleapis/type/expr/expr.pb.go | 125 + .../protobuf/field_mask/field_mask.pb.go | 26 +- vendor/google.golang.org/grpc/.travis.yml | 12 +- vendor/google.golang.org/grpc/CONTRIBUTING.md | 57 +- vendor/google.golang.org/grpc/README.md | 76 +- .../grpc/balancer/balancer.go | 72 +- .../grpc/balancer/base/balancer.go | 19 +- .../grpclb/grpc_lb_v1/load_balancer.pb.go | 839 + .../grpc/balancer/grpclb/grpclb.go | 485 + .../grpc/balancer/grpclb/grpclb_config.go | 66 + .../grpc/balancer/grpclb/grpclb_picker.go | 195 + .../balancer/grpclb/grpclb_remote_balancer.go | 353 + .../grpc/balancer/grpclb/grpclb_util.go | 209 + .../grpc/balancer/grpclb/regenerate.sh | 33 + .../grpc/balancer_conn_wrappers.go | 62 +- .../grpc/balancer_v1_wrapper.go | 13 +- vendor/google.golang.org/grpc/clientconn.go | 685 +- vendor/google.golang.org/grpc/codes/codes.go | 3 +- .../grpc/credentials/alts/alts.go | 330 + .../alts/internal/authinfo/authinfo.go | 87 + .../grpc/credentials/alts/internal/common.go | 69 + .../alts/internal/conn/aeadrekey.go | 131 + .../alts/internal/conn/aes128gcm.go | 105 + .../alts/internal/conn/aes128gcmrekey.go | 116 + .../credentials/alts/internal/conn/common.go | 70 + .../credentials/alts/internal/conn/counter.go | 62 + .../credentials/alts/internal/conn/record.go | 271 + .../credentials/alts/internal/conn/utils.go | 63 + .../alts/internal/handshaker/handshaker.go | 365 + .../internal/handshaker/service/service.go | 54 + .../internal/proto/grpc_gcp/altscontext.pb.go | 151 + .../internal/proto/grpc_gcp/handshaker.pb.go | 1196 + .../grpc_gcp/transport_security_common.pb.go | 178 + .../credentials/alts/internal/regenerate.sh | 35 + .../grpc/credentials/alts/utils.go | 141 + .../grpc/credentials/credentials.go | 24 +- .../grpc/credentials/google/google.go | 125 + vendor/google.golang.org/grpc/dialoptions.go | 82 +- .../grpc/encoding/encoding.go | 6 +- vendor/google.golang.org/grpc/go.mod | 13 +- vendor/google.golang.org/grpc/go.sum | 29 +- .../google.golang.org/grpc/grpclog/grpclog.go | 2 +- .../google.golang.org/grpc/health/client.go | 22 +- .../grpc/internal/balancerload/load.go | 46 + .../grpc/internal/channelz/funcs.go | 30 +- .../grpc/internal/envconfig/envconfig.go | 15 +- .../grpc/internal/internal.go | 19 +- .../grpc/internal/syscall/syscall_nonlinux.go | 14 +- .../grpc/internal/transport/handler_server.go | 34 +- .../grpc/internal/transport/http2_client.go | 81 +- .../grpc/internal/transport/http2_server.go | 154 +- .../grpc/internal/transport/http_util.go | 169 +- .../grpc/internal/transport/transport.go | 65 +- .../google.golang.org/grpc/naming/naming.go | 3 +- .../google.golang.org/grpc/picker_wrapper.go | 13 + vendor/google.golang.org/grpc/preloader.go | 64 + .../grpc/resolver/dns/dns_resolver.go | 23 +- .../grpc/resolver/passthrough/passthrough.go | 2 +- .../grpc/resolver/resolver.go | 35 + .../grpc/resolver_conn_wrapper.go | 97 +- vendor/google.golang.org/grpc/rpc_util.go | 26 +- vendor/google.golang.org/grpc/server.go | 176 +- .../google.golang.org/grpc/service_config.go | 87 +- .../grpc/serviceconfig/serviceconfig.go | 48 + vendor/google.golang.org/grpc/stats/stats.go | 5 + .../google.golang.org/grpc/status/status.go | 7 + vendor/google.golang.org/grpc/stream.go | 138 +- vendor/google.golang.org/grpc/trace.go | 13 + vendor/google.golang.org/grpc/version.go | 2 +- vendor/google.golang.org/grpc/vet.sh | 16 +- .../v1beta1/generated.pb.go | 2849 +- .../v1beta1/generated.proto | 241 +- .../admissionregistration/v1beta1/types.go | 220 +- .../v1beta1/types_swagger_doc_generated.go | 56 +- .../v1beta1/zz_generated.deepcopy.go | 185 +- vendor/k8s.io/api/apps/v1/generated.pb.go | 3620 +- .../api/apps/v1/zz_generated.deepcopy.go | 10 +- .../k8s.io/api/apps/v1beta1/generated.pb.go | 2715 +- .../api/apps/v1beta1/zz_generated.deepcopy.go | 6 +- .../k8s.io/api/apps/v1beta2/generated.pb.go | 3923 +- .../api/apps/v1beta2/zz_generated.deepcopy.go | 10 +- .../v1alpha1/generated.pb.go | 911 +- .../v1alpha1/generated.proto | 8 +- .../api/auditregistration/v1alpha1/types.go | 8 +- .../v1alpha1/types_swagger_doc_generated.go | 3 +- .../v1alpha1/zz_generated.deepcopy.go | 7 +- .../api/authentication/v1/generated.pb.go | 1156 +- .../authentication/v1beta1/generated.pb.go | 708 +- .../api/authorization/v1/generated.pb.go | 1794 +- .../api/authorization/v1beta1/generated.pb.go | 1806 +- .../k8s.io/api/autoscaling/v1/generated.pb.go | 2503 +- .../k8s.io/api/autoscaling/v1/generated.proto | 6 +- vendor/k8s.io/api/autoscaling/v1/types.go | 8 +- .../v1/types_swagger_doc_generated.go | 2 +- .../autoscaling/v1/zz_generated.deepcopy.go | 2 +- .../api/autoscaling/v2beta1/generated.pb.go | 2270 +- .../api/autoscaling/v2beta1/generated.proto | 7 +- .../k8s.io/api/autoscaling/v2beta1/types.go | 9 +- .../v2beta1/types_swagger_doc_generated.go | 2 +- .../v2beta1/zz_generated.deepcopy.go | 2 +- .../api/autoscaling/v2beta2/generated.pb.go | 2355 +- .../api/autoscaling/v2beta2/generated.proto | 7 +- .../k8s.io/api/autoscaling/v2beta2/types.go | 9 +- .../v2beta2/types_swagger_doc_generated.go | 2 +- .../v2beta2/zz_generated.deepcopy.go | 2 +- vendor/k8s.io/api/batch/v1/generated.pb.go | 863 +- .../api/batch/v1/zz_generated.deepcopy.go | 2 +- .../k8s.io/api/batch/v1beta1/generated.pb.go | 817 +- .../batch/v1beta1/zz_generated.deepcopy.go | 2 +- .../k8s.io/api/batch/v2alpha1/generated.pb.go | 817 +- .../batch/v2alpha1/zz_generated.deepcopy.go | 2 +- .../api/certificates/v1beta1/generated.pb.go | 852 +- .../v1beta1/zz_generated.deepcopy.go | 2 +- .../api/coordination/v1/generated.pb.go | 468 +- .../coordination/v1/zz_generated.deepcopy.go | 2 +- .../api/coordination/v1beta1/generated.pb.go | 468 +- .../v1beta1/zz_generated.deepcopy.go | 2 +- vendor/k8s.io/api/core/v1/generated.pb.go | 48282 +++++++++----- vendor/k8s.io/api/core/v1/generated.proto | 457 +- vendor/k8s.io/api/core/v1/register.go | 1 + vendor/k8s.io/api/core/v1/taint.go | 8 +- vendor/k8s.io/api/core/v1/types.go | 482 +- .../core/v1/types_swagger_doc_generated.go | 220 +- .../api/core/v1/zz_generated.deepcopy.go | 288 +- .../k8s.io/api/events/v1beta1/generated.pb.go | 687 +- .../k8s.io/api/events/v1beta1/generated.proto | 1 + vendor/k8s.io/api/events/v1beta1/types.go | 1 + .../v1beta1/types_swagger_doc_generated.go | 2 +- .../events/v1beta1/zz_generated.deepcopy.go | 2 +- .../api/extensions/v1beta1/generated.pb.go | 7013 +- .../api/extensions/v1beta1/generated.proto | 26 +- vendor/k8s.io/api/extensions/v1beta1/types.go | 30 +- .../v1beta1/types_swagger_doc_generated.go | 15 +- .../v1beta1/zz_generated.deepcopy.go | 43 +- .../k8s.io/api/networking/v1/generated.pb.go | 1055 +- .../k8s.io/api/networking/v1/generated.proto | 2 +- vendor/k8s.io/api/networking/v1/types.go | 2 +- .../v1/types_swagger_doc_generated.go | 2 +- .../networking/v1/zz_generated.deepcopy.go | 2 +- .../api/networking/v1beta1/generated.pb.go | 1085 +- .../v1beta1/zz_generated.deepcopy.go | 2 +- vendor/k8s.io/api/node/v1alpha1/doc.go | 1 + .../k8s.io/api/node/v1alpha1/generated.pb.go | 1177 +- .../k8s.io/api/node/v1alpha1/generated.proto | 42 + vendor/k8s.io/api/node/v1alpha1/types.go | 41 + .../v1alpha1/types_swagger_doc_generated.go | 21 + .../node/v1alpha1/zz_generated.deepcopy.go | 68 +- vendor/k8s.io/api/node/v1beta1/doc.go | 1 + .../k8s.io/api/node/v1beta1/generated.pb.go | 1078 +- .../k8s.io/api/node/v1beta1/generated.proto | 42 + vendor/k8s.io/api/node/v1beta1/types.go | 41 + .../v1beta1/types_swagger_doc_generated.go | 27 +- .../api/node/v1beta1/zz_generated.deepcopy.go | 66 +- .../k8s.io/api/policy/v1beta1/generated.pb.go | 2738 +- .../k8s.io/api/policy/v1beta1/generated.proto | 24 +- vendor/k8s.io/api/policy/v1beta1/types.go | 29 +- .../v1beta1/types_swagger_doc_generated.go | 13 +- .../policy/v1beta1/zz_generated.deepcopy.go | 35 +- vendor/k8s.io/api/rbac/v1/generated.pb.go | 1511 +- .../api/rbac/v1/zz_generated.deepcopy.go | 8 +- .../k8s.io/api/rbac/v1alpha1/generated.pb.go | 1511 +- .../rbac/v1alpha1/zz_generated.deepcopy.go | 8 +- .../k8s.io/api/rbac/v1beta1/generated.pb.go | 1511 +- .../api/rbac/v1beta1/zz_generated.deepcopy.go | 8 +- .../k8s.io/api/scheduling/v1/generated.pb.go | 374 +- .../k8s.io/api/scheduling/v1/generated.proto | 8 + vendor/k8s.io/api/scheduling/v1/types.go | 8 + .../v1/types_swagger_doc_generated.go | 11 +- .../scheduling/v1/zz_generated.deepcopy.go | 8 +- .../api/scheduling/v1alpha1/generated.pb.go | 374 +- .../api/scheduling/v1alpha1/generated.proto | 8 + .../k8s.io/api/scheduling/v1alpha1/types.go | 8 + .../v1alpha1/types_swagger_doc_generated.go | 11 +- .../v1alpha1/zz_generated.deepcopy.go | 8 +- .../api/scheduling/v1beta1/generated.pb.go | 374 +- .../api/scheduling/v1beta1/generated.proto | 8 + vendor/k8s.io/api/scheduling/v1beta1/types.go | 8 + .../v1beta1/types_swagger_doc_generated.go | 11 +- .../v1beta1/zz_generated.deepcopy.go | 8 +- .../api/settings/v1alpha1/generated.pb.go | 537 +- .../v1alpha1/zz_generated.deepcopy.go | 2 +- vendor/k8s.io/api/storage/v1/generated.pb.go | 1237 +- vendor/k8s.io/api/storage/v1/generated.proto | 9 + vendor/k8s.io/api/storage/v1/types.go | 9 +- .../api/storage/v1/zz_generated.deepcopy.go | 9 +- .../api/storage/v1alpha1/generated.pb.go | 840 +- .../api/storage/v1alpha1/generated.proto | 10 + vendor/k8s.io/api/storage/v1alpha1/types.go | 14 +- .../storage/v1alpha1/zz_generated.deepcopy.go | 8 +- .../api/storage/v1beta1/generated.pb.go | 2139 +- .../api/storage/v1beta1/generated.proto | 23 + vendor/k8s.io/api/storage/v1beta1/types.go | 25 +- .../v1beta1/types_swagger_doc_generated.go | 10 + .../storage/v1beta1/zz_generated.deepcopy.go | 39 +- .../apimachinery/pkg/api/errors/errors.go | 49 +- .../k8s.io/apimachinery/pkg/api/meta/help.go | 66 +- .../k8s.io/apimachinery/pkg/api/meta/meta.go | 8 +- .../pkg/api/resource/generated.pb.go | 46 +- .../apimachinery/pkg/api/resource/math.go | 4 +- .../apimachinery/pkg/api/resource/quantity.go | 10 +- .../pkg/api/resource/quantity_proto.go | 34 +- .../apis/meta/internalversion/conversion.go | 52 - .../pkg/apis/meta/internalversion/register.go | 15 +- .../pkg/apis/meta/internalversion/types.go | 9 + .../zz_generated.conversion.go | 22 +- .../internalversion/zz_generated.deepcopy.go | 2 +- .../pkg/apis/meta/v1/conversion.go | 10 + .../apimachinery/pkg/apis/meta/v1/deepcopy.go | 46 + .../pkg/apis/meta/v1/fields_proto.go | 88 + .../pkg/apis/meta/v1/generated.pb.go | 6033 +- .../pkg/apis/meta/v1/generated.proto | 143 +- .../apimachinery/pkg/apis/meta/v1/helpers.go | 17 +- .../apimachinery/pkg/apis/meta/v1/meta.go | 10 +- .../pkg/apis/meta/v1/micro_time.go | 31 +- .../pkg/apis/meta/v1/micro_time_proto.go | 8 + .../apimachinery/pkg/apis/meta/v1/register.go | 17 + .../apimachinery/pkg/apis/meta/v1/time.go | 20 +- .../pkg/apis/meta/v1/time_proto.go | 12 +- .../apimachinery/pkg/apis/meta/v1/types.go | 259 +- .../meta/v1/types_swagger_doc_generated.go | 125 +- .../pkg/apis/meta/v1/unstructured/helpers.go | 16 + .../apis/meta/v1/unstructured/unstructured.go | 48 +- .../meta/v1/unstructured/unstructured_list.go | 22 + .../pkg/apis/meta/v1/zz_generated.deepcopy.go | 255 +- .../pkg/apis/meta/v1beta1/deepcopy.go | 27 - .../pkg/apis/meta/v1beta1/generated.pb.go | 427 +- .../pkg/apis/meta/v1beta1/generated.proto | 27 +- .../pkg/apis/meta/v1beta1/register.go | 12 +- .../pkg/apis/meta/v1beta1/types.go | 143 +- .../v1beta1/types_swagger_doc_generated.go | 70 +- .../meta/v1beta1/zz_generated.deepcopy.go | 138 +- .../pkg/conversion/queryparams/convert.go | 4 - .../k8s.io/apimachinery/pkg/labels/labels.go | 2 +- .../apimachinery/pkg/labels/selector.go | 6 +- .../apimachinery/pkg/runtime/converter.go | 2 +- .../k8s.io/apimachinery/pkg/runtime/error.go | 29 + .../apimachinery/pkg/runtime/generated.pb.go | 360 +- .../k8s.io/apimachinery/pkg/runtime/helper.go | 53 +- .../apimachinery/pkg/runtime/interfaces.go | 26 + .../k8s.io/apimachinery/pkg/runtime/mapper.go | 98 + .../pkg/runtime/schema/generated.pb.go | 20 +- .../pkg/runtime/serializer/codec_factory.go | 145 +- .../pkg/runtime/serializer/json/json.go | 95 +- .../runtime/serializer/protobuf/protobuf.go | 58 +- .../runtime/serializer/protobuf_extension.go | 48 - .../serializer/versioning/versioning.go | 86 +- .../k8s.io/apimachinery/pkg/runtime/types.go | 5 +- .../apimachinery/pkg/runtime/types_proto.go | 90 +- .../apimachinery/pkg/util/clock/clock.go | 51 +- .../k8s.io/apimachinery/pkg/util/diff/diff.go | 229 +- .../pkg/util/intstr/generated.pb.go | 174 +- .../apimachinery/pkg/util/intstr/intstr.go | 4 +- .../apimachinery/pkg/util/runtime/runtime.go | 39 +- .../apimachinery/pkg/util/sets/int32.go | 203 + .../k8s.io/apimachinery/pkg/util/wait/wait.go | 27 +- .../apimachinery/pkg/watch/streamwatcher.go | 31 +- vendor/k8s.io/apimachinery/pkg/watch/watch.go | 5 + .../v1beta1/admissionregistration_client.go | 3 +- .../kubernetes/typed/apps/v1/apps_client.go | 3 +- .../typed/apps/v1beta1/apps_client.go | 3 +- .../typed/apps/v1beta2/apps_client.go | 3 +- .../v1alpha1/auditregistration_client.go | 3 +- .../v1/authentication_client.go | 3 +- .../v1beta1/authentication_client.go | 3 +- .../authorization/v1/authorization_client.go | 3 +- .../v1beta1/authorization_client.go | 3 +- .../autoscaling/v1/autoscaling_client.go | 3 +- .../autoscaling/v2beta1/autoscaling_client.go | 3 +- .../autoscaling/v2beta2/autoscaling_client.go | 3 +- .../kubernetes/typed/batch/v1/batch_client.go | 3 +- .../typed/batch/v1beta1/batch_client.go | 3 +- .../typed/batch/v2alpha1/batch_client.go | 3 +- .../v1beta1/certificates_client.go | 3 +- .../coordination/v1/coordination_client.go | 3 +- .../v1beta1/coordination_client.go | 3 +- .../kubernetes/typed/core/v1/core_client.go | 3 +- .../typed/events/v1beta1/event_expansion.go | 98 + .../typed/events/v1beta1/events_client.go | 3 +- .../events/v1beta1/generated_expansion.go | 2 - .../extensions/v1beta1/extensions_client.go | 8 +- .../extensions/v1beta1/generated_expansion.go | 2 + .../typed/extensions/v1beta1/networkpolicy.go | 174 + .../typed/networking/v1/networking_client.go | 3 +- .../networking/v1beta1/networking_client.go | 3 +- .../typed/node/v1alpha1/node_client.go | 3 +- .../typed/node/v1beta1/node_client.go | 3 +- .../typed/policy/v1beta1/policy_client.go | 3 +- .../kubernetes/typed/rbac/v1/rbac_client.go | 3 +- .../typed/rbac/v1alpha1/rbac_client.go | 3 +- .../typed/rbac/v1beta1/rbac_client.go | 3 +- .../typed/scheduling/v1/scheduling_client.go | 3 +- .../scheduling/v1alpha1/scheduling_client.go | 3 +- .../scheduling/v1beta1/scheduling_client.go | 3 +- .../settings/v1alpha1/settings_client.go | 3 +- .../typed/storage/v1/storage_client.go | 3 +- .../typed/storage/v1alpha1/storage_client.go | 3 +- .../typed/storage/v1beta1/storage_client.go | 3 +- vendor/k8s.io/client-go/rest/config.go | 16 +- vendor/k8s.io/client-go/rest/request.go | 15 +- vendor/k8s.io/client-go/rest/transport.go | 7 +- vendor/k8s.io/client-go/rest/watch/decoder.go | 2 +- .../client-go/tools/cache/expiration_cache.go | 42 +- .../tools/cache/expiration_cache_fakes.go | 2 +- .../k8s.io/client-go/tools/cache/reflector.go | 33 +- .../tools/cache/reflector_metrics.go | 17 - .../client-go/tools/cache/shared_informer.go | 85 +- .../tools/cache/thread_safe_store.go | 2 +- vendor/k8s.io/client-go/tools/pager/pager.go | 114 + .../client-go/transport/token_source.go | 9 + .../client-go/util/flowcontrol/backoff.go | 2 +- .../util/workqueue/delaying_queue.go | 14 +- .../client-go/util/workqueue/parallelizer.go | 8 - vendor/k8s.io/klog/.travis.yml | 3 +- vendor/k8s.io/klog/README.md | 2 +- vendor/k8s.io/klog/go.mod | 5 + vendor/k8s.io/klog/go.sum | 2 + vendor/k8s.io/klog/klog.go | 127 +- vendor/k8s.io/utils/trace/trace.go | 51 +- vendor/modules.txt | 197 +- vendor/rsc.io/binaryregexp/LICENSE | 27 + vendor/rsc.io/binaryregexp/backtrack.go | 367 + vendor/rsc.io/binaryregexp/exec.go | 555 + vendor/rsc.io/binaryregexp/go.mod | 3 + vendor/rsc.io/binaryregexp/onepass.go | 507 + vendor/rsc.io/binaryregexp/regexp.go | 1217 + vendor/rsc.io/binaryregexp/syntax/compile.go | 289 + vendor/rsc.io/binaryregexp/syntax/doc.go | 131 + .../rsc.io/binaryregexp/syntax/op_string.go | 26 + vendor/rsc.io/binaryregexp/syntax/parse.go | 1918 + .../rsc.io/binaryregexp/syntax/perl_groups.go | 134 + vendor/rsc.io/binaryregexp/syntax/prog.go | 346 + vendor/rsc.io/binaryregexp/syntax/regexp.go | 321 + vendor/rsc.io/binaryregexp/syntax/simplify.go | 151 + 1122 files changed, 206901 insertions(+), 95114 deletions(-) delete mode 100644 vendor/cloud.google.com/go/AUTHORS delete mode 100644 vendor/cloud.google.com/go/CONTRIBUTORS create mode 100644 vendor/cloud.google.com/go/bigtable/bttest/instance_server.go create mode 100644 vendor/cloud.google.com/go/bigtable/bttest/validation.go delete mode 100644 vendor/cloud.google.com/go/bigtable/internal/gax/call_option.go delete mode 100644 vendor/cloud.google.com/go/bigtable/internal/gax/invoke.go delete mode 100644 vendor/cloud.google.com/go/bigtable/trace.go create mode 100644 vendor/cloud.google.com/go/storage/README.md create mode 100644 vendor/cloud.google.com/go/storage/hmac.go create mode 100644 vendor/contrib.go.opencensus.io/exporter/ocagent/.gitignore create mode 100644 vendor/github.com/alecthomas/units/go.mod create mode 100644 vendor/github.com/armon/go-metrics/.travis.yml create mode 100644 vendor/github.com/armon/go-metrics/go.mod create mode 100644 vendor/github.com/armon/go-metrics/go.sum rename vendor/github.com/aws/aws-sdk-go/aws/{context.go => context_1_5.go} (58%) delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/context_1_9.go rename vendor/github.com/aws/aws-sdk-go/aws/{context_1_6.go => context_background_1_5.go} (59%) create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/context_background_1_7.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/context_sleep.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/csm/metric_exception.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/endpoints/dep_service_ids.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error_other.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport_1_5.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport_1_6.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/session/credentials.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go create mode 100644 vendor/github.com/aws/aws-sdk-go/service/sts/stsiface/interface.go create mode 100644 vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/metrics/v1/metrics_service.pb.gw.go create mode 100644 vendor/github.com/edsrzf/mmap-go/.gitignore create mode 100644 vendor/github.com/edsrzf/mmap-go/LICENSE create mode 100644 vendor/github.com/edsrzf/mmap-go/README.md create mode 100644 vendor/github.com/edsrzf/mmap-go/mmap.go create mode 100644 vendor/github.com/edsrzf/mmap-go/mmap_unix.go create mode 100644 vendor/github.com/edsrzf/mmap-go/mmap_windows.go delete mode 100644 vendor/github.com/globalsign/mgo/LICENSE delete mode 100644 vendor/github.com/globalsign/mgo/bson/LICENSE delete mode 100644 vendor/github.com/globalsign/mgo/bson/README.md delete mode 100644 vendor/github.com/globalsign/mgo/bson/bson.go delete mode 100644 vendor/github.com/globalsign/mgo/bson/bson_corpus_spec_test_generator.go delete mode 100644 vendor/github.com/globalsign/mgo/bson/compatibility.go delete mode 100644 vendor/github.com/globalsign/mgo/bson/decode.go delete mode 100644 vendor/github.com/globalsign/mgo/bson/encode.go delete mode 100644 vendor/github.com/globalsign/mgo/bson/json.go delete mode 100644 vendor/github.com/globalsign/mgo/bson/stream.go delete mode 100644 vendor/github.com/globalsign/mgo/internal/json/decode.go delete mode 100644 vendor/github.com/globalsign/mgo/internal/json/encode.go delete mode 100644 vendor/github.com/globalsign/mgo/internal/json/extension.go delete mode 100644 vendor/github.com/globalsign/mgo/internal/json/fold.go delete mode 100644 vendor/github.com/globalsign/mgo/internal/json/indent.go delete mode 100644 vendor/github.com/globalsign/mgo/internal/json/scanner.go delete mode 100644 vendor/github.com/globalsign/mgo/internal/json/stream.go delete mode 100644 vendor/github.com/globalsign/mgo/internal/json/tags.go create mode 100644 vendor/github.com/go-openapi/errors/.golangci.yml create mode 100644 vendor/github.com/go-stack/stack/.travis.yml create mode 100644 vendor/github.com/go-stack/stack/LICENSE.md create mode 100644 vendor/github.com/go-stack/stack/README.md create mode 100644 vendor/github.com/go-stack/stack/go.mod create mode 100644 vendor/github.com/go-stack/stack/stack.go rename vendor/github.com/{globalsign/mgo/internal/json => google/go-cmp}/LICENSE (96%) create mode 100644 vendor/github.com/google/go-cmp/cmp/compare.go create mode 100644 vendor/github.com/google/go-cmp/cmp/export_panic.go create mode 100644 vendor/github.com/google/go-cmp/cmp/export_unsafe.go create mode 100644 vendor/github.com/google/go-cmp/cmp/internal/diff/debug_disable.go create mode 100644 vendor/github.com/google/go-cmp/cmp/internal/diff/debug_enable.go create mode 100644 vendor/github.com/google/go-cmp/cmp/internal/diff/diff.go create mode 100644 vendor/github.com/google/go-cmp/cmp/internal/flags/flags.go create mode 100644 vendor/github.com/google/go-cmp/cmp/internal/flags/toolchain_legacy.go create mode 100644 vendor/github.com/google/go-cmp/cmp/internal/flags/toolchain_recent.go create mode 100644 vendor/github.com/google/go-cmp/cmp/internal/function/func.go create mode 100644 vendor/github.com/google/go-cmp/cmp/internal/value/pointer_purego.go create mode 100644 vendor/github.com/google/go-cmp/cmp/internal/value/pointer_unsafe.go create mode 100644 vendor/github.com/google/go-cmp/cmp/internal/value/sort.go create mode 100644 vendor/github.com/google/go-cmp/cmp/internal/value/zero.go create mode 100644 vendor/github.com/google/go-cmp/cmp/options.go create mode 100644 vendor/github.com/google/go-cmp/cmp/path.go create mode 100644 vendor/github.com/google/go-cmp/cmp/report.go create mode 100644 vendor/github.com/google/go-cmp/cmp/report_compare.go create mode 100644 vendor/github.com/google/go-cmp/cmp/report_reflect.go create mode 100644 vendor/github.com/google/go-cmp/cmp/report_slices.go create mode 100644 vendor/github.com/google/go-cmp/cmp/report_text.go create mode 100644 vendor/github.com/google/go-cmp/cmp/report_value.go create mode 100644 vendor/github.com/google/gofuzz/go.mod create mode 100644 vendor/github.com/hashicorp/go-immutable-radix/CHANGELOG.md create mode 100644 vendor/github.com/jpillora/backoff/LICENSE create mode 100644 vendor/github.com/jpillora/backoff/README.md create mode 100644 vendor/github.com/jpillora/backoff/backoff.go create mode 100644 vendor/github.com/json-iterator/go/go.mod create mode 100644 vendor/github.com/json-iterator/go/go.sum delete mode 100644 vendor/github.com/mailru/easyjson/LICENSE delete mode 100644 vendor/github.com/mailru/easyjson/buffer/pool.go delete mode 100644 vendor/github.com/mailru/easyjson/jlexer/bytestostr.go delete mode 100644 vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.go delete mode 100644 vendor/github.com/mailru/easyjson/jlexer/error.go delete mode 100644 vendor/github.com/mailru/easyjson/jlexer/lexer.go delete mode 100644 vendor/github.com/mailru/easyjson/jwriter/writer.go create mode 100644 vendor/github.com/opentracing-contrib/go-stdlib/nethttp/status-code-tracker-old.go create mode 100644 vendor/github.com/opentracing-contrib/go-stdlib/nethttp/status-code-tracker.go create mode 100644 vendor/github.com/prometheus/procfs/mountinfo.go create mode 100644 vendor/github.com/prometheus/procfs/proc_environ.go create mode 100644 vendor/github.com/prometheus/prometheus/promql/query_logger.go rename vendor/github.com/prometheus/{ => prometheus}/tsdb/.gitignore (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/CHANGELOG.md (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/MAINTAINERS.md (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/README.md (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/block.go (98%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/checkpoint.go (97%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/chunkenc/bstream.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/chunkenc/chunk.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/chunkenc/xor.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/chunks/chunks.go (98%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/compact.go (98%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/db.go (98%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/encoding/encoding.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/errors/errors.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/dir_unix.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/dir_windows.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/fileutil.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/flock.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/flock_plan9.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/flock_solaris.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/flock_unix.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/flock_windows.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/mmap.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/mmap_386.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/mmap_amd64.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/mmap_unix.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/mmap_windows.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/preallocate.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/preallocate_darwin.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/preallocate_linux.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/preallocate_other.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/sync.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/sync_darwin.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/fileutil/sync_linux.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/goversion/goversion.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/goversion/init.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/head.go (99%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/index/index.go (99%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/index/postings.go (99%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/labels/labels.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/labels/selector.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/querier.go (98%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/record.go (98%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/repair.go (96%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/tombstones.go (97%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/wal.go (98%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/wal/live_reader.go (98%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/wal/reader.go (100%) rename vendor/github.com/prometheus/{ => prometheus}/tsdb/wal/wal.go (98%) rename vendor/github.com/prometheus/prometheus/util/{testutil => teststorage}/storage.go (90%) create mode 100644 vendor/github.com/prometheus/prometheus/util/testutil/logging.go delete mode 100644 vendor/github.com/prometheus/tsdb/.golangci.yml delete mode 100644 vendor/github.com/prometheus/tsdb/.travis.yml delete mode 100644 vendor/github.com/prometheus/tsdb/Makefile delete mode 100644 vendor/github.com/prometheus/tsdb/Makefile.common delete mode 100644 vendor/github.com/prometheus/tsdb/go.mod delete mode 100644 vendor/github.com/prometheus/tsdb/go.sum delete mode 100644 vendor/github.com/samuel/go-zookeeper/zk/server_help.go delete mode 100644 vendor/github.com/samuel/go-zookeeper/zk/server_java.go rename vendor/{github.com/prometheus/tsdb => go.mongodb.org/mongo-driver}/LICENSE (100%) create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bson.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bson_1_8.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/bsoncodec.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_decoders.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_encoders.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/doc.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/mode.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/pointer_codec.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/proxy.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/registry.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_codec.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_tag_parser.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/types.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/copier.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/doc.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_parser.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_reader.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_tables.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_wrappers.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_writer.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/json_scanner.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/mode.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/reader.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_reader.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_writer.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsonrw/writer.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/bsontype/bsontype.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/decoder.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/doc.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/encoder.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/marshal.go rename vendor/{github.com/globalsign/mgo/bson => go.mongodb.org/mongo-driver/bson/primitive}/decimal.go (78%) create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/primitive/objectid.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/primitive/primitive.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/primitive_codecs.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/raw.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/raw_element.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/raw_value.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/registry.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/types.go create mode 100644 vendor/go.mongodb.org/mongo-driver/bson/unmarshal.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bsoncore.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document_sequence.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/element.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/tables.go create mode 100644 vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/value.go create mode 100644 vendor/golang.org/x/crypto/ed25519/ed25519_go113.go create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_ppc64le.go create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_ppc64le.s rename vendor/golang.org/x/net/idna/{idna.go => idna10.0.0.go} (99%) create mode 100644 vendor/golang.org/x/net/idna/idna9.0.0.go rename vendor/golang.org/x/net/idna/{tables.go => tables10.0.0.go} (99%) create mode 100644 vendor/golang.org/x/net/idna/tables11.0.0.go create mode 100644 vendor/golang.org/x/net/idna/tables9.0.0.go create mode 100644 vendor/golang.org/x/net/internal/socket/defs_aix.go create mode 100644 vendor/golang.org/x/net/internal/socket/sys_const_unix.go rename vendor/golang.org/x/net/internal/socket/{sys_go1_12_darwin.go => sys_linkname.go} (98%) create mode 100644 vendor/golang.org/x/net/internal/socket/sys_linux_riscv64.go create mode 100644 vendor/golang.org/x/net/internal/socket/zsys_aix_ppc64.go create mode 100644 vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm64.go create mode 100644 vendor/golang.org/x/net/internal/socket/zsys_linux_riscv64.go create mode 100644 vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm64.go create mode 100644 vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm64.go create mode 100644 vendor/golang.org/x/net/ipv4/defs_aix.go create mode 100644 vendor/golang.org/x/net/ipv4/sys_aix.go create mode 100644 vendor/golang.org/x/net/ipv4/zsys_aix_ppc64.go create mode 100644 vendor/golang.org/x/net/ipv4/zsys_linux_riscv64.go create mode 100644 vendor/golang.org/x/net/ipv6/defs_aix.go create mode 100644 vendor/golang.org/x/net/ipv6/sys_aix.go create mode 100644 vendor/golang.org/x/net/ipv6/zsys_aix_ppc64.go create mode 100644 vendor/golang.org/x/net/ipv6/zsys_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/readdirent_getdents.go create mode 100644 vendor/golang.org/x/sys/unix/readdirent_getdirentries.go create mode 100644 vendor/golang.org/x/sys/windows/mkknownfolderids.bash create mode 100644 vendor/golang.org/x/sys/windows/zknownfolderids_windows.go delete mode 100644 vendor/google.golang.org/api/gensupport/backoff.go delete mode 100644 vendor/google.golang.org/api/gensupport/header.go delete mode 100644 vendor/google.golang.org/api/gensupport/retry.go create mode 100644 vendor/google.golang.org/api/transport/grpc/dial_socketopt.go create mode 100644 vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go create mode 100644 vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go create mode 100644 vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go create mode 100644 vendor/google.golang.org/genproto/googleapis/iam/v1/options.pb.go create mode 100644 vendor/google.golang.org/genproto/googleapis/type/expr/expr.pb.go create mode 100644 vendor/google.golang.org/grpc/balancer/grpclb/grpc_lb_v1/load_balancer.pb.go create mode 100644 vendor/google.golang.org/grpc/balancer/grpclb/grpclb.go create mode 100644 vendor/google.golang.org/grpc/balancer/grpclb/grpclb_config.go create mode 100644 vendor/google.golang.org/grpc/balancer/grpclb/grpclb_picker.go create mode 100644 vendor/google.golang.org/grpc/balancer/grpclb/grpclb_remote_balancer.go create mode 100644 vendor/google.golang.org/grpc/balancer/grpclb/grpclb_util.go create mode 100644 vendor/google.golang.org/grpc/balancer/grpclb/regenerate.sh create mode 100644 vendor/google.golang.org/grpc/credentials/alts/alts.go create mode 100644 vendor/google.golang.org/grpc/credentials/alts/internal/authinfo/authinfo.go create mode 100644 vendor/google.golang.org/grpc/credentials/alts/internal/common.go create mode 100644 vendor/google.golang.org/grpc/credentials/alts/internal/conn/aeadrekey.go create mode 100644 vendor/google.golang.org/grpc/credentials/alts/internal/conn/aes128gcm.go create mode 100644 vendor/google.golang.org/grpc/credentials/alts/internal/conn/aes128gcmrekey.go create mode 100644 vendor/google.golang.org/grpc/credentials/alts/internal/conn/common.go create mode 100644 vendor/google.golang.org/grpc/credentials/alts/internal/conn/counter.go create mode 100644 vendor/google.golang.org/grpc/credentials/alts/internal/conn/record.go create mode 100644 vendor/google.golang.org/grpc/credentials/alts/internal/conn/utils.go create mode 100644 vendor/google.golang.org/grpc/credentials/alts/internal/handshaker/handshaker.go create mode 100644 vendor/google.golang.org/grpc/credentials/alts/internal/handshaker/service/service.go create mode 100644 vendor/google.golang.org/grpc/credentials/alts/internal/proto/grpc_gcp/altscontext.pb.go create mode 100644 vendor/google.golang.org/grpc/credentials/alts/internal/proto/grpc_gcp/handshaker.pb.go create mode 100644 vendor/google.golang.org/grpc/credentials/alts/internal/proto/grpc_gcp/transport_security_common.pb.go create mode 100644 vendor/google.golang.org/grpc/credentials/alts/internal/regenerate.sh create mode 100644 vendor/google.golang.org/grpc/credentials/alts/utils.go create mode 100644 vendor/google.golang.org/grpc/credentials/google/google.go create mode 100644 vendor/google.golang.org/grpc/internal/balancerload/load.go create mode 100644 vendor/google.golang.org/grpc/preloader.go create mode 100644 vendor/google.golang.org/grpc/serviceconfig/serviceconfig.go delete mode 100644 vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion/conversion.go create mode 100644 vendor/k8s.io/apimachinery/pkg/apis/meta/v1/deepcopy.go create mode 100644 vendor/k8s.io/apimachinery/pkg/apis/meta/v1/fields_proto.go create mode 100644 vendor/k8s.io/apimachinery/pkg/runtime/mapper.go delete mode 100644 vendor/k8s.io/apimachinery/pkg/runtime/serializer/protobuf_extension.go create mode 100644 vendor/k8s.io/apimachinery/pkg/util/sets/int32.go create mode 100644 vendor/k8s.io/client-go/kubernetes/typed/events/v1beta1/event_expansion.go create mode 100644 vendor/k8s.io/client-go/kubernetes/typed/extensions/v1beta1/networkpolicy.go create mode 100644 vendor/k8s.io/klog/go.mod create mode 100644 vendor/k8s.io/klog/go.sum create mode 100644 vendor/rsc.io/binaryregexp/LICENSE create mode 100644 vendor/rsc.io/binaryregexp/backtrack.go create mode 100644 vendor/rsc.io/binaryregexp/exec.go create mode 100644 vendor/rsc.io/binaryregexp/go.mod create mode 100644 vendor/rsc.io/binaryregexp/onepass.go create mode 100644 vendor/rsc.io/binaryregexp/regexp.go create mode 100644 vendor/rsc.io/binaryregexp/syntax/compile.go create mode 100644 vendor/rsc.io/binaryregexp/syntax/doc.go create mode 100644 vendor/rsc.io/binaryregexp/syntax/op_string.go create mode 100644 vendor/rsc.io/binaryregexp/syntax/parse.go create mode 100644 vendor/rsc.io/binaryregexp/syntax/perl_groups.go create mode 100644 vendor/rsc.io/binaryregexp/syntax/prog.go create mode 100644 vendor/rsc.io/binaryregexp/syntax/regexp.go create mode 100644 vendor/rsc.io/binaryregexp/syntax/simplify.go diff --git a/go.mod b/go.mod index 22991373249..c1f9f76783b 100644 --- a/go.mod +++ b/go.mod @@ -3,31 +3,34 @@ module github.com/cortexproject/cortex go 1.12 require ( - cloud.google.com/go v0.35.0 + cloud.google.com/go v0.44.1 github.com/Azure/azure-sdk-for-go v26.3.0+incompatible // indirect github.com/Azure/go-autorest v11.5.1+incompatible // indirect github.com/Masterminds/squirrel v0.0.0-20161115235646-20f192218cf5 github.com/NYTimes/gziphandler v1.1.1 github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 - github.com/aws/aws-sdk-go v1.15.90 + github.com/aws/aws-sdk-go v1.22.4 github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 // indirect github.com/blang/semver v3.5.0+incompatible github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 // indirect github.com/bradfitz/gomemcache v0.0.0-20170208213004-1952afaa557d github.com/cenkalti/backoff v1.0.0 // indirect + github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd // indirect github.com/coreos/go-semver v0.3.0 // indirect + github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d // indirect github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f // indirect github.com/cznic/ql v1.2.0 // indirect + github.com/dustin/go-humanize v1.0.0 // indirect github.com/fluent/fluent-logger-golang v1.2.1 // indirect github.com/fsouza/fake-gcs-server v1.3.0 - github.com/go-kit/kit v0.8.0 + github.com/go-kit/kit v0.9.0 github.com/gocql/gocql v0.0.0-20180113133114-697e7c57f99b github.com/gogo/googleapis v1.1.0 // indirect - github.com/gogo/protobuf v1.2.1 + github.com/gogo/protobuf v1.2.2-0.20190730201129-28a6bbf47e48 github.com/gogo/status v1.0.3 - github.com/golang/protobuf v1.3.1 + github.com/golang/protobuf v1.3.2 github.com/golang/snappy v0.0.1 - github.com/gophercloud/gophercloud v0.0.0-20190307220656-fe1ba5ce12dd // indirect + github.com/gorilla/context v1.1.1 // indirect github.com/gorilla/mux v1.6.2 github.com/gorilla/websocket v1.4.0 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4 @@ -35,7 +38,7 @@ require ( github.com/hashicorp/consul/api v1.1.0 github.com/hashicorp/go-cleanhttp v0.5.1 github.com/jonboulle/clockwork v0.1.0 - github.com/json-iterator/go v1.1.6 + github.com/json-iterator/go v1.1.7 github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348 // indirect github.com/lann/builder v0.0.0-20150808151131-f22ce00fd939 // indirect @@ -45,22 +48,19 @@ require ( github.com/mattn/go-sqlite3 v1.10.0 // indirect github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b github.com/oklog/oklog v0.3.2 // indirect - github.com/onsi/ginkgo v1.8.0 // indirect - github.com/onsi/gomega v1.5.0 // indirect github.com/opentracing-contrib/go-grpc v0.0.0-20180928155321-4b5a12d3ff02 - github.com/opentracing-contrib/go-stdlib v0.0.0-20170113013457-1de4cc2120e7 + github.com/opentracing-contrib/go-stdlib v0.0.0-20190519235532-cf7a6c988dc9 github.com/opentracing/opentracing-go v1.1.0 github.com/philhofer/fwd v0.0.0-20160129035939-98c11a7a6ec8 // indirect github.com/pkg/errors v0.8.1 github.com/prometheus/alertmanager v0.12.1-0.20190731170042-6e135a0112f5 - github.com/prometheus/client_golang v1.0.0 - github.com/prometheus/common v0.4.1 - github.com/prometheus/prometheus v0.0.0-20190731144842-63ed2e28f1ac - github.com/prometheus/tsdb v0.10.0 + github.com/prometheus/client_golang v1.1.0 + github.com/prometheus/common v0.6.0 + github.com/prometheus/prometheus v0.0.0-20190819154817-22d54a8192cb + github.com/satori/go.uuid v1.2.0 // indirect github.com/segmentio/fasthash v0.0.0-20180216231524-a72b379d632e github.com/sercand/kuberesolver v2.1.0+incompatible // indirect github.com/sirupsen/logrus v1.4.2 // indirect - github.com/spaolacci/murmur3 v1.1.0 // indirect github.com/stretchr/testify v1.3.0 github.com/tinylib/msgp v0.0.0-20161221055906-38a6f61a768d // indirect github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 // indirect @@ -74,14 +74,10 @@ require ( go.etcd.io/bbolt v1.3.3 go.etcd.io/etcd v0.0.0-20190709142735-eb7dd97135a5 go.uber.org/zap v1.10.0 // indirect - golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5 // indirect - golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 - golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed // indirect - golang.org/x/text v0.3.2 // indirect - golang.org/x/time v0.0.0-20181108054448-85acf8d2951c - golang.org/x/tools v0.0.0-20190602112858-2de7f9bf822c - google.golang.org/api v0.4.0 - google.golang.org/grpc v1.19.1 - gopkg.in/fsnotify/fsnotify.v1 v1.4.7 // indirect + golang.org/x/net v0.0.0-20190724013045-ca1201d0de80 + golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 + golang.org/x/tools v0.0.0-20190813034749-528a2984e271 + google.golang.org/api v0.8.0 + google.golang.org/grpc v1.22.1 gopkg.in/yaml.v2 v2.2.2 ) diff --git a/go.sum b/go.sum index dd31a54d933..2ed30b9284f 100644 --- a/go.sum +++ b/go.sum @@ -1,86 +1,80 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.28.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.35.0 h1:+ZrbIJ3Qm81r3IU2+/ueWMpAMXLF3Nwy2dF7NkBdEXk= -cloud.google.com/go v0.35.0/go.mod h1:UE4juzxiHpKLbqrOrwVrKuaZvUtLA9CSnaYO+y53jxA= -contrib.go.opencensus.io/exporter/ocagent v0.4.12 h1:jGFvw3l57ViIVEPKKEUXPcLYIXJmQxLUh6ey1eJhwyc= -contrib.go.opencensus.io/exporter/ocagent v0.4.12/go.mod h1:450APlNTSR6FrvC3CTRqYosuDstRB9un7SOx2k/9ckA= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1 h1:7gXaI3V/b4DRaK++rTqhRajcT7z8gtP0qKMZTXqlySM= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +contrib.go.opencensus.io/exporter/ocagent v0.6.0 h1:Z1n6UAyr0QwM284yUuh5Zd8JlvxUGAhFZcgMJkMPrGM= +contrib.go.opencensus.io/exporter/ocagent v0.6.0/go.mod h1:zmKjrJcdo0aYcVS7bmEeSEBLPA9YJp5bjrofdU3pIXs= contrib.go.opencensus.io/exporter/stackdriver v0.6.0/go.mod h1:QeFzMJDAw8TXt5+aRaSuE8l5BwaMIOIlaVkBOPRuMuw= -dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU= -dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU= -dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4= -dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU= git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= git.apache.org/thrift.git v0.0.0-20180924222215-a9235805469b/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= github.com/Azure/azure-sdk-for-go v23.2.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v26.3.0+incompatible h1:w/tfbWIy9a8SSNJFwcapWeOfknQXDYBVjh5UkuIr+NA= github.com/Azure/azure-sdk-for-go v26.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/go-autorest v11.1.2+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest v11.2.8+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest v11.5.1+incompatible h1:tdB6TZ8w2B7+F8wD6eTQSXXQo31zKKL55b6uqNDAGKw= github.com/Azure/go-autorest v11.5.1+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/Masterminds/squirrel v0.0.0-20161115235646-20f192218cf5 h1:PPfYWScYacO3Q6JMCLkyh6Ea2Q/REDTMgmiTAeiV8Jg= github.com/Masterminds/squirrel v0.0.0-20161115235646-20f192218cf5/go.mod h1:xnKTFzjGUiZtiOagBsfnvomW+nJg2usB1ZpordQWqNM= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OneOfOne/xxhash v1.2.5 h1:zl/OfRA6nftbBK9qTohYBJ5xvw6C/oNKizR7cZGl3cI= github.com/OneOfOne/xxhash v1.2.5/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= -github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/StackExchange/wmi v0.0.0-20180725035823-b12b22c5341f/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= -github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA= +github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4 h1:Hs82Z41s6SdL1CELW+XaDYmOH4hkBN4/N9og/AsOv7E= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da h1:8GUt8eRujhVEGZFFEjBj46YV4rDjvGrNxb0KMWYkL2I= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878 h1:EFSB7Zo9Eg91v7MJPVsifUysc/wPdN+NOnVe6bWbdBM= +github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod h1:3AMJUQhVx52RsWOnlkpikZr01T/yAVN2gn0861vByNg= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf h1:eg0MeVzsP1G42dRafH3vf+al2vQIJU0YHX+1Tw87oco= -github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/aws/aws-sdk-go v1.15.24/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= -github.com/aws/aws-sdk-go v1.15.90 h1:W8qBrxaKIK6nPqO/UUDcjgokmS9wJQ45D273clpoBA4= -github.com/aws/aws-sdk-go v1.15.90/go.mod h1:es1KtYUFs7le0xQ3rOihkuoVD90z7D0fR2Qm4S00/gU= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/aws/aws-sdk-go v1.22.4 h1:Mcq67g9mZEBvBuj/x7mF9KCyw5M8/4I/cjQPkdCsq0I= +github.com/aws/aws-sdk-go v1.22.4/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973 h1:xJ4a3vCFaGF/jqvzLMYoU8P317H5OQ+Via4RmuPwCS0= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0 h1:HWo1m869IqiPhD389kmkxeTalrjNbbJTC8LXupb+sl0= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/biogo/store v0.0.0-20160505134755-913427a1d5e8/go.mod h1:Iev9Q3MErcn+w3UOJD/DkEzllvugfdx7bGcMOFhvr/4= github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYEDvkta6I8/rnYM5gSdSV2tJ6XbZuEtY= github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k= github.com/blang/semver v3.5.0+incompatible h1:CGxCgetQ64DKk7rdZ++Vfnb1+ogGNnB17OJKJXD2Cfs= github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= -github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= github.com/bradfitz/gomemcache v0.0.0-20170208213004-1952afaa557d h1:7IjN4QP3c38xhg6wz8R3YjoU+6S9e7xBc0DAVLLIpHE= github.com/bradfitz/gomemcache v0.0.0-20170208213004-1952afaa557d/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60= -github.com/cenk/backoff v2.0.0+incompatible/go.mod h1:7FtoeaSnHoZnmZzz47cM35Y9nSW7tNyaidugnHTaFDE= github.com/cenkalti/backoff v1.0.0 h1:2XeuDgvPv/6QDyzIuxb6n36ADVocyqTLlOSpYBGYtvM= github.com/cenkalti/backoff v1.0.0/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= -github.com/census-instrumentation/opencensus-proto v0.2.0 h1:LzQXZOgg4CQfE6bFvXGM30YZL1WW/M337pXml+GrcZ4= -github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/certifi/gocertifi v0.0.0-20180905225744-ee1a9a0726d2/go.mod h1:GJKEexRPVJrBSOjoqN5VNOIKJ5Q3RViH6eu3puDRwx4= +github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= -github.com/cockroachdb/cmux v0.0.0-20170110192607-30d10be49292/go.mod h1:qRiX68mZX1lGBkTWyp3CLcenw9I94W2dLeRvMzcn9N4= -github.com/cockroachdb/cockroach v0.0.0-20170608034007-84bc9597164f/go.mod h1:xeT/CQ0qZHangbYbWShlCGAx31aV4AjGswDUjhKS6HQ= -github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= github.com/cockroachdb/datadriven v0.0.0-20190531201743-edce55837238 h1:uNljlOxtOHrPnRoPPx+JanqjAGZpNiqAGVBfGskd/pg= github.com/cockroachdb/datadriven v0.0.0-20190531201743-edce55837238/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd h1:qMd81Ts1T2OTKmB4acZcyKaMtRnY5Y44NuXGX2GFJ1w= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/coreos/etcd v3.3.12+incompatible h1:pAWNwdf7QiT1zfaWyqCtNZQWCLByQyA3JrSQyuYAqnQ= -github.com/coreos/etcd v3.3.12+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= @@ -110,107 +104,123 @@ github.com/cznic/strutil v0.0.0-20171016134553-529a34b1c186 h1:0rkFMAbn5KBKNpJyH github.com/cznic/strutil v0.0.0-20171016134553-529a34b1c186/go.mod h1:AHHPPPXTw0h6pVabbcbyGRK1DckRn7r/STdZEeIDzZc= github.com/cznic/zappy v0.0.0-20160723133515-2533cb5b45cc h1:YKKpTb2BrXN2GYyGaygIdis1vXbE7SSAG9axGWIMClg= github.com/cznic/zappy v0.0.0-20160723133515-2533cb5b45cc/go.mod h1:Y1SNZ4dRUOKXshKUbwUapqNncRrho4mkjQebgEHZLj8= +github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgrijalva/jwt-go v0.0.0-20160705203006-01aeca54ebda/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dgryski/go-sip13 v0.0.0-20190329191031-25c5027a8c7b/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712 h1:aaQcKT9WumO6JEJcRyTqFVq4XUZiUcKR2/GI31TOcz8= github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/elastic/gosigar v0.9.0/go.mod h1:cdorVVzy1fhmEqmtgqkoE3bYtCfSCkVyjTyCIo22xvs= -github.com/elazarl/go-bindata-assetfs v1.0.0/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4= -github.com/evanphx/json-patch v4.1.0+incompatible h1:K1MDoo4AZ4wU0GIU/fPmtZg7VpzLjCxu+UwBD1FvwOc= -github.com/evanphx/json-patch v4.1.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a/go.mod h1:7Ga40egUymuWXxAe151lTNnCv97MddSOVsjpPPkityA= +github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/evanphx/json-patch v0.0.0-20190203023257-5858425f7550/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.5.0+incompatible h1:ouOWdg56aJriqS0huScTkVXPC5IcNrDCXZ6OoTAWu7M= +github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fluent/fluent-logger-golang v1.2.1 h1:CMA+mw2zMiOGEOarZtaqM3GBWT1IVLNncNi0nKELtmU= github.com/fluent/fluent-logger-golang v1.2.1/go.mod h1:2/HCT/jTy78yGyeNGQLGQsjF3zzzAuy6Xlk6FCMV5eU= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsouza/fake-gcs-server v1.3.0 h1:f2mbomatUsbw8NRY7rzqiiWNn4BRM+Jredz0Pt70Usg= github.com/fsouza/fake-gcs-server v1.3.0/go.mod h1:Lq+43m2znsXfDKHnQMfdA0HpYYAEJsfizsbpk5k3TLo= -github.com/getsentry/raven-go v0.1.2/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= -github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8 h1:DujepqpGd1hyOd7aW59XpK7Qymp8iy83xq74fLr21is= -github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-kit/kit v0.8.0 h1:Wz+5lgoB0kkuqLEc6NVmwRknTKP6dTGbSqvhZtBI/j0= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0 h1:wDJmvq38kDhkVxi50ni9ykkdUr1PKgqKOoi01fa0Mdk= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0 h1:MP4Eh7ZCb31lleYCFuwm0oe4/YGak+5l1vA2NOE80nA= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= -github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.17.2 h1:azEQ8Fnx0jmtFF2fxsnmd6I0x6rsweUF63qqSO1NmKk= -github.com/go-openapi/errors v0.17.2/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/strfmt v0.19.0 h1:0Dn9qy1G9+UJfRU7TR8bmdGxb4uifB7HNrJjOnV0yPk= -github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY= -github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY= +github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/strfmt v0.19.2 h1:clPGfBnJohokno0e+d7hs6Yocrzjlgz6EsQSDncCRnE= +github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gocql/gocql v0.0.0-20180113133114-697e7c57f99b h1:2Z63hRfRqlU7fp51lwZBJtf+bXiAdyGykrvhp8+CiUM= github.com/gocql/gocql v0.0.0-20180113133114-697e7c57f99b/go.mod h1:GjP0ITc4WbMO5dEWwikPqq0ZWbloAO6CO6g0VAK7tTc= github.com/gogo/googleapis v1.1.0 h1:kFkMAZBNAn4j7K0GiZr8cRYzejq68VbheufiV3YuyFI= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE= -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= +github.com/gogo/protobuf v1.2.2-0.20190730201129-28a6bbf47e48 h1:X+zN6RZXsvnrSJaAIQhZezPfAfvsqihKKR8oiLHid34= +github.com/gogo/protobuf v1.2.2-0.20190730201129-28a6bbf47e48/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/status v1.0.3 h1:WkVBY59mw7qUNTr/bLwO7J2vesJ0rQ2C3tMXrTd3w5M= github.com/gogo/status v1.0.3/go.mod h1:SavQ51ycCLnc7dGyJxp8YAmudx8xqiVrRf+6IXRsugc= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20180924190550-6f2cf27854a4 h1:6UVLWz0fIIrv0UVj6t0A7cL48n8IyAdLVQqAYzEfsKI= -github.com/golang/groupcache v0.0.0-20180924190550-6f2cf27854a4/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6 h1:ZgQEtGgCBiWRM39fZuwSd1LwSqqSW0hOdXCYYDX0R3I= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20160524151835-7d79101e329e/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v0.0.0-20180124185431-e89373fe6b4a/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c h1:964Od4U6p2jUkFxvCydnIczKteheJEzHRToSGK3Bnlw= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= -github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf h1:+RRA9JqSOZFfKrOeqr2z77+8R2RKyh8PG66dcu1V0ck= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= +github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/pprof v0.0.0-20180605153948-8b03ce837f34/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190723021845-34ac40c74b70/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/uuid v1.0.0 h1:b4Gk+7WdP/d3HZH8EJsZpvV7EtDOgaZLtnaNGIu1adA= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go v2.0.0+incompatible h1:j0GKcs05QVmm7yesiZq2+9cxHkNK9YM6zKx4D2qucQU= github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= -github.com/googleapis/gax-go/v2 v2.0.3 h1:siORttZ36U2R/WjiJuDz8znElWBiAlO9rVt+mqJt0Cc= -github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= -github.com/googleapis/gnostic v0.2.0 h1:l6N3VoaVzTncYYW+9yOz2LJJammFZGBO13sqgEhpy9g= -github.com/googleapis/gnostic v0.2.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/gophercloud/gophercloud v0.0.0-20190301152420-fca40860790e/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= -github.com/gophercloud/gophercloud v0.0.0-20190307220656-fe1ba5ce12dd h1:tkA3C/XTk8iACLOlTez37pL+0iGSYkkRGKdXgJ6ZylM= -github.com/gophercloud/gophercloud v0.0.0-20190307220656-fe1ba5ce12dd/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gnostic v0.0.0-20170426233943-68f4ded48ba9/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.3.0 h1:CcQijm0XKekKjP/YCz28LXVSpgguuB+nCxaSjCe09y0= +github.com/googleapis/gnostic v0.3.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/gophercloud/gophercloud v0.0.0-20190126172459-c818fa66e4c8/go.mod h1:3WdhXV3rUYy9p6AUW8d94kr+HS62Y4VL9mBnFxsD8q4= +github.com/gophercloud/gophercloud v0.3.0 h1:6sjpKIpVwRIIwmcEGp+WwNovNsem+c+2vm6oxshRpL8= +github.com/gophercloud/gophercloud v0.3.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/mux v1.6.2 h1:Pgr17XVTNXAk3q/r4CpKzC5xBM/qW1uVLV+IhRZpIIk= @@ -218,17 +228,15 @@ github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2z github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/gregjones/httpcache v0.0.0-20170728041850-787624de3eb7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4 h1:z53tR0945TRRQO/fLEVPI6SMv7ZflF0TEaTAoU7tOzg= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.4.1/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= -github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= -github.com/grpc-ecosystem/grpc-gateway v1.8.5 h1:2+KSC78XiO6Qy0hIjfc1OD9H+hsaJdJlb8Kqsd41CTE= -github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= +github.com/grpc-ecosystem/grpc-gateway v1.9.4/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.5 h1:UImYN5qQ8tuGpGE16ZmjvcTtTw24zw1QAp/SlnNrZhI= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed h1:5upAirOpQc1Q53c0bnx2ufif5kANL7bfZWcc6VJWJd8= github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4= github.com/hashicorp/consul/api v1.1.0 h1:BNQPM9ytxj6jbjjdRPioQ94T6YXriSopn0i8COv6SRA= @@ -237,18 +245,24 @@ github.com/hashicorp/consul/sdk v0.1.1 h1:LnuDWGNsoajlhGyHJvuWW6FVqRl8JOTPqS6CPT github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1 h1:dH3aiDG9Jvb5r5+bYHsikaOUIpcM0xvgMXVoDkXMzJM= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-immutable-radix v1.0.0 h1:AKDB1HM5PWEA7i4nhcpwOrO2byshxBjXVn/J/3+z5/0= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.1.0 h1:vN9wG1D6KG6YHRTWr8512cxGOVgTMEfgEdSj/hr8MPc= +github.com/hashicorp/go-immutable-radix v1.1.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3 h1:zKjpN5BK/P5lMYrLmBHdBULWbJ0XpYR+7NGzqkZzoD4= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-msgpack v0.5.4 h1:SFT72YqIkOcLdWJUYcriVX7hbrZpwc/f7h8aW2NUqrA= -github.com/hashicorp/go-msgpack v0.5.4/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9aZTuI= +github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0 h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uPribsnS6o= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-rootcerts v1.0.0 h1:Rqb66Oo1X/eSV1x66xbDccZjhJigjg0+e82kpwzSwCI= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-rootcerts v1.0.1 h1:DMo4fmknnz0E0evoNYnV48RjWndOsmd6OW+09R3cEP8= +github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= @@ -260,34 +274,42 @@ github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.3 h1:YPkqC67at8FYaadspW/6uE0COsBxS2656RLEr8Bppgk= +github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3 h1:EmmoJme1matNzb+hMpDuR/0sbJSUisxyqBGG676r31M= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/memberlist v0.1.4 h1:gkyML/r71w3FL8gUi74Vk76avkj/9lYAY9lvg0OcoGs= +github.com/hashicorp/memberlist v0.1.4/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2 h1:YZ7UKsJv+hKjqGVUUbtE3HNj79Eln2oQ75tniF6iPt0= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hashicorp/serf v0.8.3 h1:MWYcmct5EtKz0efYooPcL0yNkem+7kWxqXDi/UIh+8k= +github.com/hashicorp/serf v0.8.3/go.mod h1:UpNcs7fFbpKIyZaUuSW6EPiH+eZC7OuyFD+wc1oal+k= github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/influxdata/influxdb v0.0.0-20170331210902-15e594fc09f1/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY= -github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ= -github.com/jackc/pgx v3.2.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= -github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= -github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7 h1:SMvOWPJCES2GdFracYbBQh93GXac8fq7HeN6JnpduB8= -github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/influxdata/influxdb v1.7.7/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7 h1:K//n/AqR5HjG3qxbrBCL4vJPW0MVFSs9CPK1OOJdRME= +github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7/go.mod h1:2iMrUgbbvHEiQClaW2NsSzMyGHqN+rDFqY705q49KG0= +github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v0.0.0-20180701071628-ab8a2e0c74be/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.5 h1:gL2yXlmiIo4+t+y32d4WGwOjKGYcGOuyrg46vadswDE= github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.6 h1:MrUvLMLTMxbqFJ9kzlvat/rYZqZnW3u4wkLzWTaFwKs= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/json-iterator/go v1.1.7 h1:KfgG9LzI+pYjr4xvmz/5H4FXjokeP+rlHLhv3iH62Fo= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/julienschmidt/httprouter v1.2.0 h1:TDTW5Yz1mjftljbcKqRcrYhd4XeOoI98t+9HbQbYf7g= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/knz/strtime v0.0.0-20181018220328-af2256ee352c/go.mod h1:4ZxfWkxwtc7dBeifERVVWRy9F9rTU9p0yCDgeCtlius= github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= @@ -298,7 +320,6 @@ github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.0.0/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348 h1:MtvEpTB6LX3vkb4ax0b5D2DHbNAUsen0Gx5wZoq3lV4= @@ -309,9 +330,7 @@ github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 h1:P6pPBnrTSX3DEVR4fDembhR github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw= github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lightstep/lightstep-tracer-go v0.15.6/go.mod h1:6AMpwZpsyCFwSovxzM78e+AsYxE8sGwiM6C3TytaWeI= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 h1:2gxZ0XQIU/5z3Z3bUBu+FXuk2pFbkN6tcwi/pjyaDic= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mattes/migrate v1.3.1 h1:kaUHjsvvmhGIkt9WVaEn36Z08+CaHAcXWcnZj3JpSaY= github.com/mattes/migrate v1.3.1/go.mod h1:LJcqgpj1jQoxv3m2VXd3drv0suK5CbN/RCX7MXwgnVI= github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4= @@ -321,7 +340,6 @@ github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNx github.com/mattn/go-isatty v0.0.4 h1:bnP0vzxcAdeI1zdubAl5PjU6zsERjGZb7raWodagDYs= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-sqlite3 v1.10.0 h1:jbhqpg7tQe4SupckyijYiy0mJJ/pRyHvXf7JdWK860o= github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/matttproud/golang_protobuf_extensions v1.0.0/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -329,13 +347,14 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0j github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= -github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/miekg/dns v1.1.10 h1:oN9gL93BkuPrer2rehDbDx86k4zbYJEnMP6Krh82nh0= -github.com/miekg/dns v1.1.10/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.15 h1:CSSIDtllwGLMoA6zjdKnaE6Tx6eVUxQ29LUgGetiDCI= +github.com/miekg/dns v1.1.15/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/go-homedir v1.0.0 h1:vKb8ShqSby24Yrqr/yDYkuFz8d0WUjys40rvnGC8aR0= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-testing-interface v1.0.0 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdIPrefOvVG1VZ96U0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= @@ -344,16 +363,19 @@ github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0Qu github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/montanaflynn/stats v0.0.0-20180911141734-db72e6cae808/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223 h1:F9x/1yl3T2AeKLr2AMdilSD8+f9bvMnNN8VS5iDtovc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= -github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/oklog/oklog v0.3.2 h1:wVfs8F+in6nTBMkA7CbRw+zZMIB7nNM825cM1wuzoTk= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= @@ -361,36 +383,33 @@ github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQ github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v0.0.0-20190113212917-5533ce8a0da3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/opentracing-contrib/go-grpc v0.0.0-20180928155321-4b5a12d3ff02 h1:0R5mDLI66Qw13qN80TRz85zthQ2nf2+uDyiV23w6c3Q= github.com/opentracing-contrib/go-grpc v0.0.0-20180928155321-4b5a12d3ff02/go.mod h1:JNdpVEzCpXBgIiv4ds+TzhN1hrtxq6ClLrTlT9OQRSc= -github.com/opentracing-contrib/go-stdlib v0.0.0-20170113013457-1de4cc2120e7 h1:8KbikWulLUcMM96hBxjgoo6gTmCkG6HYSDohv/WygYU= -github.com/opentracing-contrib/go-stdlib v0.0.0-20170113013457-1de4cc2120e7/go.mod h1:PLldrQSroqzH70Xl+1DQcGnefIbqsKR7UDaiux3zV+w= -github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= -github.com/opentracing/opentracing-go v1.0.2 h1:3jA2P6O1F9UOrWVpwrIo17pu01KWvNWg4X946/Y5Zwg= -github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing-contrib/go-stdlib v0.0.0-20190519235532-cf7a6c988dc9 h1:QsgXACQhd9QJhEmRumbsMQQvBtmdS0mafoVEBplWXEg= +github.com/opentracing-contrib/go-stdlib v0.0.0-20190519235532-cf7a6c988dc9/go.mod h1:PLldrQSroqzH70Xl+1DQcGnefIbqsKR7UDaiux3zV+w= github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= -github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c h1:Lgl0gzECD8GnQ5QCWA8o6BtfL6mDH5rQgM4/fX3avOs= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/peterbourgon/g2s v0.0.0-20170223122336-d4e7ad98afea/go.mod h1:1VcHEd3ro4QMoHfiNl/j7Jkln9+KQuorp0PItHMJYNg= -github.com/petermattis/goid v0.0.0-20170504144140-0ded85884ba5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= +github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/philhofer/fwd v0.0.0-20160129035939-98c11a7a6ec8 h1:jkUFVqrKRttbdDqkTrvOmHxfqIsJK0Oe2WGi1ACAE+M= github.com/philhofer/fwd v0.0.0-20160129035939-98c11a7a6ec8/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= -github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= @@ -398,45 +417,40 @@ github.com/prometheus/alertmanager v0.12.1-0.20190731170042-6e135a0112f5 h1:xqYz github.com/prometheus/alertmanager v0.12.1-0.20190731170042-6e135a0112f5/go.mod h1:zdz6eCci7rHWB/8/1E/9JEfoKqCAIlxmt8EIKvHi0dI= github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829 h1:D+CiwcpGTW6pL6bv6KI3KbyEyCKyS+1JWS2h8PNDnGA= -github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= +github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM= github.com/prometheus/client_golang v1.0.0 h1:vrDKnkGzuGvhNAL56c7DBz29ZL+KxnoR0x7enabFceM= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.1.0 h1:BQ53HtBmfOitExawJ6LokA4x8ov/z0SYYb0+HxJfRI8= +github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= github.com/prometheus/client_model v0.0.0-20170216185247-6f3806018612/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f h1:BVwpUVJDADN2ufcGik7W992pyps0wZ888b/y9GXcLTU= -github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 h1:S/YWwWx/RA8rT8tKFRuGUZhuA90OyIBpPCXkcbwU8DE= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 h1:gQz4mCbXsO+nc9n1hCxHcGA3Zx3Eo+UHZoInFGUIXNM= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.0.0-20180518154759-7600349dcfe1/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.1 h1:K0MGApIoQvMw27RTdJkPbr3JZ7DNbtxQNyi5STVM6Kw= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0 h1:kRhiuYSXR3+uv2IbVbZhUxK5zVD/2pp3Gd2PpvPkpEo= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= github.com/prometheus/procfs v0.0.0-20180612222113-7d6f385de8be/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20180920065004-418d78d0b9a7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1 h1:/K3IL0Z1quvmJ7X0A1AwNEK7CRkVK3YwfOU/QAL4WGg= -github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2 h1:6LJUbpNm42llc4HRCuvApCSWB/WfhuNo9K98Q9sNGfs= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/prometheus v0.0.0-20190731144842-63ed2e28f1ac h1:nDONJ/OeNXNq7zDXYjuoPsvzf1WoT4cz9V32LsZE7Lo= -github.com/prometheus/prometheus v0.0.0-20190731144842-63ed2e28f1ac/go.mod h1:0nIafMIZWDF3P7oq1Xf8HKRZ0I37hKmhYEAupBEaa4A= -github.com/prometheus/tsdb v0.9.1 h1:IWaAmWkYlgG7/S4iw4IpAQt5Y35QaZM6/GsZ7GsjAuk= -github.com/prometheus/tsdb v0.9.1/go.mod h1:oi49uRhEe9dPUTlS3JRZOwJuVi6tmh10QSgwXEyGCt4= -github.com/prometheus/tsdb v0.10.0 h1:If5rVCMTp6W2SiRAQFlbpJNgVlgMEd+U2GZckwK38ic= -github.com/prometheus/tsdb v0.10.0/go.mod h1:oi49uRhEe9dPUTlS3JRZOwJuVi6tmh10QSgwXEyGCt4= -github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rlmcpherson/s3gof3r v0.5.0/go.mod h1:s7vv7SMDPInkitQMuZzH615G7yWHdrU2r/Go7Bo71Rs= +github.com/prometheus/procfs v0.0.3 h1:CTwfnzjQ+8dS6MhHHu4YswVAD99sL2wjPqP+VkURmKE= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/prometheus v0.0.0-20190819154817-22d54a8192cb h1:DGRNk6LIxKUAj5nJglqkZsORVHHbDDpFnECQ2Dh0B8I= +github.com/prometheus/prometheus v0.0.0-20190819154817-22d54a8192cb/go.mod h1:zgqFD5dsIO99r9Q8a9QoRzYn1VsClBs6Zgi7dEV7ePU= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rubyist/circuitbreaker v2.2.1+incompatible/go.mod h1:Ycs3JgJADPuzJDwffe12k6BZT8hxVi6lFK+gWYJLN4A= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/samuel/go-zookeeper v0.0.0-20161028232340-1d7be4effb13 h1:4AQBn5RJY4WH8t8TLEMZUsWeXHAUcoao42TCAfpEJJE= -github.com/samuel/go-zookeeper v0.0.0-20161028232340-1d7be4effb13/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= -github.com/sasha-s/go-deadlock v0.0.0-20161201235124-341000892f3d/go.mod h1:StQn567HiB1fF2yJ44N9au7wOhrPS3iZqiDbRupzT10= +github.com/samuel/go-zookeeper v0.0.0-20190810000440-0ceca61e4d75 h1:cA+Ubq9qEVIQhIWvP2kNuSZ2CmnfBJFSRq+kO1pu2cc= +github.com/samuel/go-zookeeper v0.0.0-20190810000440-0ceca61e4d75/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= @@ -445,63 +459,40 @@ github.com/segmentio/fasthash v0.0.0-20180216231524-a72b379d632e h1:uO75wNGioszj github.com/segmentio/fasthash v0.0.0-20180216231524-a72b379d632e/go.mod h1:tm/wZFQ8e24NYaBGIlnO2WGCAi67re4HHuOm0sftE/M= github.com/sercand/kuberesolver v2.1.0+incompatible h1:iJ1oCzPQ/aacsbCWLfJW1hPKkHMvCEgNSA9kvWcb9MY= github.com/sercand/kuberesolver v2.1.0+incompatible/go.mod h1:lWF3GL0xptCB/vCiJPl/ZshwPsX/n4Y7u0CW9E7aQIQ= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= -github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY= -github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM= -github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470/go.mod h1:2dOwnU2uBioM+SGy2aZoq1f/Sd1l9OkAeAUvjSyvgU0= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= -github.com/shurcooL/gofontwoff v0.0.0-20180329035133-29b52fc0a18d/go.mod h1:05UtEgK5zq39gLST6uB0cf3NEHjETfB4Fgr3Gx5R9Vw= -github.com/shurcooL/gopherjslib v0.0.0-20160914041154-feb6d3990c2c/go.mod h1:8d3azKNyqcHP1GaQE/c6dDgjkgSx2BZ4IoEi4F1reUI= -github.com/shurcooL/highlight_diff v0.0.0-20170515013008-09bb4053de1b/go.mod h1:ZpfEhSmds4ytuByIcDnOLkTHGUI6KNqRNPDLHDk+mUU= -github.com/shurcooL/highlight_go v0.0.0-20181028180052-98c3abbbae20/go.mod h1:UDKB5a1T23gOMUJrI+uSuH0VRDStOiUVSjBTRDVBVag= -github.com/shurcooL/home v0.0.0-20181020052607-80b7ffcb30f9/go.mod h1:+rgNQw2P9ARFAs37qieuu7ohDNQ3gds9msbT2yn85sg= -github.com/shurcooL/htmlg v0.0.0-20170918183704-d01228ac9e50/go.mod h1:zPn1wHpTIePGnXSHpsVPWEktKXHr6+SS6x/IKRb7cpw= -github.com/shurcooL/httperror v0.0.0-20170206035902-86b7830d14cc/go.mod h1:aYMfkZ6DWSJPJ6c4Wwz3QtW22G7mf/PEgaB9k/ik5+Y= -github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371 h1:SWV2fHctRpRrp49VXJ6UZja7gU9QLHwRpIPBN89SKEo= -github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= -github.com/shurcooL/httpgzip v0.0.0-20180522190206-b1c53ac65af9/go.mod h1:919LwcH0M7/W4fcZ0/jy0qGght1GIhqyS/EgWGH2j5Q= -github.com/shurcooL/issues v0.0.0-20181008053335-6292fdc1e191/go.mod h1:e2qWDig5bLteJ4fwvDAc2NHzqFEthkqn7aOZAOpj+PQ= -github.com/shurcooL/issuesapp v0.0.0-20180602232740-048589ce2241/go.mod h1:NPpHK2TI7iSaM0buivtFUc9offApnI0Alt/K8hcHy0I= -github.com/shurcooL/notifications v0.0.0-20181007000457-627ab5aea122/go.mod h1:b5uSkrEVM1jQUspwbixRBhaIjIzL2xazXp6kntxYle0= -github.com/shurcooL/octicon v0.0.0-20181028054416-fa4f57f9efb2/go.mod h1:eWdoE5JD4R5UVWDucdOPg1g2fqQRq78IQa9zlOV1vpQ= -github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82/go.mod h1:TCR1lToEk4d2s07G3XGfz2QrgHXg4RJBvjrOozvoWfk= -github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537/go.mod h1:QJTqeLYEDaXHZDBsXlPCDqdhQuJkuw4NOtaxYe3xii4= -github.com/shurcooL/vfsgen v0.0.0-20180825020608-02ddb050ef6b h1:rKVW5h3pEu8gGxD+ZlOmBvFYAxXLCYeQv/eg+t6QvLQ= -github.com/shurcooL/vfsgen v0.0.0-20180825020608-02ddb050ef6b/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= -github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5kWdCj2z2KEozexVbfEZIWiTjhE0+UjmZgPqehw= +github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= +github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= github.com/sirupsen/logrus v1.0.5/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0 h1:juTguoYk5qI21pwyTXY3B3Y5cOTH3ZUyZCg1v/mihuo= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s= github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= -github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= +github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= +github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tinylib/msgp v0.0.0-20161221055906-38a6f61a768d h1:Ninez2SUm08xpmnw7kVxCeOc3DahF6IuMuRMCdM4wTQ= github.com/tinylib/msgp v0.0.0-20161221055906-38a6f61a768d/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/uber-go/atomic v1.3.2 h1:Azu9lPBWRNKzYXSIwRfgRuDuS0YKsK4NFhiQv98gkxo= github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g= github.com/uber/jaeger-client-go v2.16.0+incompatible h1:Q2Pp6v3QYiocMxomCaJuwQGFt7E53bPYqEgug/AoBtY= @@ -523,12 +514,14 @@ go.etcd.io/bbolt v1.3.3 h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20190709142735-eb7dd97135a5 h1:3unozPyUjPcbSbfhBb4EgA3O1/yBYHNgRr4ZGjO9iyQ= go.etcd.io/etcd v0.0.0-20190709142735-eb7dd97135a5/go.mod h1:N0RPWo9FXJYZQI4BTkDtQylrstIigYHeR18ONnyTufk= +go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= +go.mongodb.org/mongo-driver v1.0.4 h1:bHxbjH6iwh1uInchXadI6hQR107KEbgYsMzoblDONmQ= +go.mongodb.org/mongo-driver v1.0.4/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.opencensus.io v0.17.0/go.mod h1:mp1VrMQxhlqqDpKvH4UcQUa4YwlzNmymAjPrDdfxNpI= -go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= -go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0 h1:mU6zScU4U1YAFPHEHYk+3JC4SY7JxgkqS10ZOSyksNg= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.uber.org/atomic v1.3.2 h1:2Oa65PReHzfn29GpvgsYwloV9AVFHPDk8tYxt2c2tr4= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI= @@ -536,116 +529,148 @@ go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/ go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0 h1:ORx85nbTijNz8ljznvCMR1ZBIPKFn3jQrag10X2AsuM= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= -golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= golang.org/x/crypto v0.0.0-20180608092829-8ac0e0d97ce4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5 h1:8dUaAV7K4uHsF56JQWkprecIQKdPHtR9jCHF5nB8uzc= -golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 h1:HuIa8hRrWRSrqYzx1qI49NNxhdi2PrY7gxVSq1JjLDc= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180925072008-f04abc6bdfa7/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181029044818-c44066c5c816/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190206173232-65e2d4e15006/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190403144856-b630fd6fe46b/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 h1:0GoQqolDA55aaLxZyTzK/Y2ePZzZTUrRacwib7cNsYQ= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80 h1:Ao/3l156eZf2AW5wK8a7/smtodRU+gha3+BeqJ69lRk= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421 h1:Wo7BWFiOk0QRFMLYMqJGFMd9CgUAcGx7V+qEg/h5IBI= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= +golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180925112736-b09afc3d579e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed h1:uPxWBzB3+mlnjy9W58qY1j/cjyFjutgw/Vhan2zLy/A= -golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a h1:aYOabOQFp6Vj6W1F80affTUvO9UxmJRx8K0gsfABByQ= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180805044716-cb6730876b98/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/time v0.0.0-20161028155119-f51c12702a4d/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c h1:fqgJT0MGcGpPgpWU7VRdRjuArfcOvC4AoJmILihzhDg= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180924175601-e93be7f42f9f/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030000716-a0a13e073c7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190602112858-2de7f9bf822c h1:8QARbM77BTyoVvSaGaoQPCYgZlVROYX1uKApKK98b+8= -golang.org/x/tools v0.0.0-20190602112858-2de7f9bf822c/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190813034749-528a2984e271 h1:T33mP0l8Vpvq5ocfcmgKXW2GhpymOUxqiAh4FgBsJck= +golang.org/x/tools v0.0.0-20190813034749-528a2984e271/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.0.0-20180921000521-920bb1beccf7/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= -google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= -google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y= -google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= -google.golang.org/api v0.3.2/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0 h1:KKgc1aqhV8wDPbDzlDtpvyjZFY3vjz85FP7p4wcQUyI= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0 h1:VGGbLNyPF7dvYHhcUGYBBGCRDDK0RRJAI6KCvo0CL+E= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3I= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/genproto v0.0.0-20180608181217-32ee49c4dd80/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180924164928-221a8d4f7494/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= -google.golang.org/genproto v0.0.0-20190110221437-6909d8a4a91b/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19 h1:Lj2SnHtxkRGJDqnGaSjo+CCdIieEnwVazbOXILwQemk= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64 h1:iKtrH9Y8mcbADOP0YFaEMth7OfuHY9xHOwNj4znpM1A= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.15.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= -google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= -google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.19.1 h1:TrBcJ1yqAl1G++wO39nD/qtgpsW9/1+QGrluyMGEYgM= -google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.22.1 h1:/7cs52RnTJmD43s3uxzlq2U7nqVTd/37viQwMrMNlOM= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -654,10 +679,10 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/fsnotify/fsnotify.v1 v1.3.1/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE= gopkg.in/fsnotify/fsnotify.v1 v1.4.7 h1:XNNYLJHt73EyYiCZi6+xjupS9CpvmiDgjPTAjrBlQbo= gopkg.in/fsnotify/fsnotify.v1 v1.4.7/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE= gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= +gopkg.in/inf.v0 v0.9.0/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= @@ -667,24 +692,36 @@ gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bl gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20180920025451-e3ad64cb4ed3/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -k8s.io/api v0.0.0-20190409021203-6e4e0e4f393b h1:aBGgKJUM9Hk/3AE8WaZIApnTxG35kbuQba2w+SXqezo= -k8s.io/api v0.0.0-20190409021203-6e4e0e4f393b/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j7jUFS00AXQi6QMi99vA= -k8s.io/apimachinery v0.0.0-20190404173353-6a84e37a896d h1:Jmdtdt1ZnoGfWWIIik61Z7nKYgO3J+swQJtPYsP9wHA= -k8s.io/apimachinery v0.0.0-20190404173353-6a84e37a896d/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0= -k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible h1:U5Bt+dab9K8qaUmXINrkXO135kA11/i5Kg1RUydgaMQ= -k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible/go.mod h1:7vJpHMYJwNQCWgzmNV+VYUl1zCObLyodBc8nIyt8L5s= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +k8s.io/api v0.0.0-20190620084959-7cf5895f2711/go.mod h1:TBhBqb1AWbBQbW3XRusr7n7E4v2+5ZY8r8sAMnyFC5A= +k8s.io/api v0.0.0-20190813020757-36bff7324fb7 h1:4uJOjRn9kWq4AqJRE8+qzmAy+lJd9rh8TY455dNef4U= +k8s.io/api v0.0.0-20190813020757-36bff7324fb7/go.mod h1:3Iy+myeAORNCLgjd/Xu9ebwN7Vh59Bw0vh9jhoX+V58= +k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719/go.mod h1:I4A+glKBHiTgiEjQiCCQfCAIcIMFGt291SmsvcrFzJA= +k8s.io/apimachinery v0.0.0-20190809020650-423f5d784010 h1:pyoq062NftC1y/OcnbSvgolyZDJ8y4fmUPWMkdA6gfU= +k8s.io/apimachinery v0.0.0-20190809020650-423f5d784010/go.mod h1:Waf/xTS2FGRrgXCkO5FP3XxTOWh0qLf2QhL1qFZZ/R8= +k8s.io/client-go v12.0.0+incompatible h1:YlJxncpeVUC98/WMZKC3JZGk/OXQWCZjAB4Xr3B17RY= +k8s.io/client-go v12.0.0+incompatible/go.mod h1:E95RaSlHr79aHaX0aGSwcPNfygDiPKOVXdmivCIZT0k= +k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= k8s.io/klog v0.3.0 h1:0VPpR+sizsiivjIfIAQH/rl8tan6jvWkS7lU+0di3lE= k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/kube-openapi v0.0.0-20180629012420-d83b052f768a h1:tHgpQvrWaYfrnC8G4N0Oszw5HHCsZxKilDi2R7HuCSM= -k8s.io/kube-openapi v0.0.0-20180629012420-d83b052f768a/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc= -k8s.io/utils v0.0.0-20190308190857-21c4ce38f2a7 h1:8r+l4bNWjRlsFYlQJnKJ2p7s1YQPj4XyXiJVqDHRx7c= -k8s.io/utils v0.0.0-20190308190857-21c4ce38f2a7/go.mod h1:8k8uAuAQ0rXslZKaEWd0c3oVhZz7sSzSiPnVZayjIX0= +k8s.io/klog v0.3.1/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/klog v0.4.0 h1:lCJCxf/LIowc2IGS9TPjWDyXY4nOmdGdfcwwDQCOURQ= +k8s.io/klog v0.4.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc= +k8s.io/kube-openapi v0.0.0-20190709113604-33be087ad058/go.mod h1:nfDlWeOsu3pUf4yWGL+ERqohP4YsZcBJXWMK+gkzOA4= +k8s.io/kube-openapi v0.0.0-20190722073852-5e22f3d471e6 h1:s9IxTKe9GwDH0S/WaX62nFYr0or32DsTWex9AileL7U= +k8s.io/kube-openapi v0.0.0-20190722073852-5e22f3d471e6/go.mod h1:RZvgC8MSN6DjiMV6oIfEE9pDL9CYXokkfaCKZeHm3nc= +k8s.io/utils v0.0.0-20190221042446-c2654d5206da/go.mod h1:8k8uAuAQ0rXslZKaEWd0c3oVhZz7sSzSiPnVZayjIX0= +k8s.io/utils v0.0.0-20190809000727-6c36bc71fc4a h1:uy5HAgt4Ha5rEMbhZA+aM1j2cq5LmR6LQ71EYC2sVH4= +k8s.io/utils v0.0.0-20190809000727-6c36bc71fc4a/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= +rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= -sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= diff --git a/pkg/chunk/encoding/bigchunk.go b/pkg/chunk/encoding/bigchunk.go index eb71417be9b..a0e9d511a7d 100644 --- a/pkg/chunk/encoding/bigchunk.go +++ b/pkg/chunk/encoding/bigchunk.go @@ -7,7 +7,7 @@ import ( "io" "github.com/prometheus/common/model" - "github.com/prometheus/tsdb/chunkenc" + "github.com/prometheus/prometheus/tsdb/chunkenc" ) const samplesPerChunk = 120 diff --git a/pkg/configs/legacy_promql/bench_test.go b/pkg/configs/legacy_promql/bench_test.go index 4bdddb13e86..a660745be51 100644 --- a/pkg/configs/legacy_promql/bench_test.go +++ b/pkg/configs/legacy_promql/bench_test.go @@ -22,11 +22,10 @@ import ( "time" "github.com/prometheus/prometheus/pkg/labels" - "github.com/prometheus/prometheus/util/testutil" ) func BenchmarkRangeQuery(b *testing.B) { - storage := testutil.NewStorage(b) + storage := NewStorage(b) defer storage.Close() engine := NewEngine(nil, nil, 10, 100*time.Second) diff --git a/pkg/configs/legacy_promql/functions_test.go b/pkg/configs/legacy_promql/functions_test.go index 19680eb7f76..4d09637fac9 100644 --- a/pkg/configs/legacy_promql/functions_test.go +++ b/pkg/configs/legacy_promql/functions_test.go @@ -27,7 +27,7 @@ func TestDeriv(t *testing.T) { // https://github.com/prometheus/prometheus/issues/2674#issuecomment-315439393 // This requires more precision than the usual test system offers, // so we test it by hand. - storage := testutil.NewStorage(t) + storage := NewStorage(t) defer storage.Close() engine := NewEngine(nil, nil, 10, 10*time.Second) diff --git a/pkg/configs/legacy_promql/test.go b/pkg/configs/legacy_promql/test.go index 14a5f399f49..1fe43bd8bb5 100644 --- a/pkg/configs/legacy_promql/test.go +++ b/pkg/configs/legacy_promql/test.go @@ -18,6 +18,7 @@ import ( "fmt" "io/ioutil" "math" + "os" "regexp" "strconv" "strings" @@ -27,6 +28,7 @@ import ( "github.com/prometheus/prometheus/pkg/labels" "github.com/prometheus/prometheus/storage" + "github.com/prometheus/prometheus/storage/tsdb" "github.com/prometheus/prometheus/util/testutil" ) @@ -498,7 +500,7 @@ func (t *Test) clear() { if t.cancelCtx != nil { t.cancelCtx() } - t.storage = testutil.NewStorage(t) + t.storage = NewStorage(t) t.queryEngine = NewEngine(nil, nil, 20, 10*time.Second) t.context, t.cancelCtx = context.WithCancel(context.Background()) @@ -546,3 +548,40 @@ func parseNumber(s string) (float64, error) { } return f, nil } + +type T interface { + Fatal(args ...interface{}) + Fatalf(format string, args ...interface{}) +} + +// NewStorage returns a new storage for testing purposes +// that removes all associated files on closing. +func NewStorage(t T) storage.Storage { + dir, err := ioutil.TempDir("", "test_storage") + if err != nil { + t.Fatalf("Opening test dir failed: %s", err) + } + + // Tests just load data for a series sequentially. Thus we + // need a long appendable window. + db, err := tsdb.Open(dir, nil, nil, &tsdb.Options{ + MinBlockDuration: model.Duration(24 * time.Hour), + MaxBlockDuration: model.Duration(24 * time.Hour), + }) + if err != nil { + t.Fatalf("Opening test storage failed: %s", err) + } + return testStorage{Storage: tsdb.Adapter(db, int64(0)), dir: dir} +} + +type testStorage struct { + storage.Storage + dir string +} + +func (s testStorage) Close() error { + if err := s.Storage.Close(); err != nil { + return err + } + return os.RemoveAll(s.dir) +} diff --git a/vendor/cloud.google.com/go/AUTHORS b/vendor/cloud.google.com/go/AUTHORS deleted file mode 100644 index c364af1da09..00000000000 --- a/vendor/cloud.google.com/go/AUTHORS +++ /dev/null @@ -1,15 +0,0 @@ -# This is the official list of cloud authors for copyright purposes. -# This file is distinct from the CONTRIBUTORS files. -# See the latter for an explanation. - -# Names should be added to this file as: -# Name or Organization -# The email address is not required for organizations. - -Filippo Valsorda -Google Inc. -Ingo Oeser -Palm Stone Games, Inc. -Paweł Knap -Péter Szilágyi -Tyler Treat diff --git a/vendor/cloud.google.com/go/CONTRIBUTORS b/vendor/cloud.google.com/go/CONTRIBUTORS deleted file mode 100644 index 3b3cbed98e9..00000000000 --- a/vendor/cloud.google.com/go/CONTRIBUTORS +++ /dev/null @@ -1,40 +0,0 @@ -# People who have agreed to one of the CLAs and can contribute patches. -# The AUTHORS file lists the copyright holders; this file -# lists people. For example, Google employees are listed here -# but not in AUTHORS, because Google holds the copyright. -# -# https://developers.google.com/open-source/cla/individual -# https://developers.google.com/open-source/cla/corporate -# -# Names should be added to this file as: -# Name - -# Keep the list alphabetically sorted. - -Alexis Hunt -Andreas Litt -Andrew Gerrand -Brad Fitzpatrick -Burcu Dogan -Dave Day -David Sansome -David Symonds -Filippo Valsorda -Glenn Lewis -Ingo Oeser -James Hall -Johan Euphrosine -Jonathan Amsterdam -Kunpei Sakai -Luna Duclos -Magnus Hiie -Mario Castro -Michael McGreevy -Omar Jarjur -Paweł Knap -Péter Szilágyi -Sarah Adams -Thanatat Tamtan -Toby Burress -Tuo Shan -Tyler Treat diff --git a/vendor/cloud.google.com/go/bigtable/admin.go b/vendor/cloud.google.com/go/bigtable/admin.go index 35f30206902..94041588c71 100644 --- a/vendor/cloud.google.com/go/bigtable/admin.go +++ b/vendor/cloud.google.com/go/bigtable/admin.go @@ -25,7 +25,6 @@ import ( "strings" "time" - "cloud.google.com/go/bigtable/internal/gax" btopt "cloud.google.com/go/bigtable/internal/option" "cloud.google.com/go/iam" "cloud.google.com/go/internal/optional" @@ -33,6 +32,7 @@ import ( lroauto "cloud.google.com/go/longrunning/autogen" "github.com/golang/protobuf/ptypes" durpb "github.com/golang/protobuf/ptypes/duration" + gax "github.com/googleapis/gax-go/v2" "google.golang.org/api/cloudresourcemanager/v1" "google.golang.org/api/iterator" "google.golang.org/api/option" @@ -105,14 +105,14 @@ func (ac *AdminClient) instancePrefix() string { // Tables returns a list of the tables in the instance. func (ac *AdminClient) Tables(ctx context.Context) ([]string, error) { - ctx = mergeOutgoingMetadata(ctx, ac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), ac.md) prefix := ac.instancePrefix() req := &btapb.ListTablesRequest{ Parent: prefix, } var res *btapb.ListTablesResponse - err := gax.Invoke(ctx, func(ctx context.Context) error { + err := gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { var err error res, err = ac.tClient.ListTables(ctx, req) return err @@ -153,7 +153,7 @@ func (ac *AdminClient) CreatePresplitTable(ctx context.Context, table string, sp // CreateTableFromConf creates a new table in the instance from the given configuration. func (ac *AdminClient) CreateTableFromConf(ctx context.Context, conf *TableConf) error { - ctx = mergeOutgoingMetadata(ctx, ac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), ac.md) var reqSplits []*btapb.CreateTableRequest_Split for _, split := range conf.SplitKeys { reqSplits = append(reqSplits, &btapb.CreateTableRequest_Split{Key: []byte(split)}) @@ -179,7 +179,7 @@ func (ac *AdminClient) CreateTableFromConf(ctx context.Context, conf *TableConf) // CreateColumnFamily creates a new column family in a table. func (ac *AdminClient) CreateColumnFamily(ctx context.Context, table, family string) error { // TODO(dsymonds): Permit specifying gcexpr and any other family settings. - ctx = mergeOutgoingMetadata(ctx, ac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), ac.md) prefix := ac.instancePrefix() req := &btapb.ModifyColumnFamiliesRequest{ Name: prefix + "/tables/" + table, @@ -194,7 +194,7 @@ func (ac *AdminClient) CreateColumnFamily(ctx context.Context, table, family str // DeleteTable deletes a table and all of its data. func (ac *AdminClient) DeleteTable(ctx context.Context, table string) error { - ctx = mergeOutgoingMetadata(ctx, ac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), ac.md) prefix := ac.instancePrefix() req := &btapb.DeleteTableRequest{ Name: prefix + "/tables/" + table, @@ -205,7 +205,7 @@ func (ac *AdminClient) DeleteTable(ctx context.Context, table string) error { // DeleteColumnFamily deletes a column family in a table and all of its data. func (ac *AdminClient) DeleteColumnFamily(ctx context.Context, table, family string) error { - ctx = mergeOutgoingMetadata(ctx, ac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), ac.md) prefix := ac.instancePrefix() req := &btapb.ModifyColumnFamiliesRequest{ Name: prefix + "/tables/" + table, @@ -233,7 +233,7 @@ type FamilyInfo struct { // TableInfo retrieves information about a table. func (ac *AdminClient) TableInfo(ctx context.Context, table string) (*TableInfo, error) { - ctx = mergeOutgoingMetadata(ctx, ac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), ac.md) prefix := ac.instancePrefix() req := &btapb.GetTableRequest{ Name: prefix + "/tables/" + table, @@ -241,7 +241,7 @@ func (ac *AdminClient) TableInfo(ctx context.Context, table string) (*TableInfo, var res *btapb.Table - err := gax.Invoke(ctx, func(ctx context.Context) error { + err := gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { var err error res, err = ac.tClient.GetTable(ctx, req) return err @@ -262,7 +262,7 @@ func (ac *AdminClient) TableInfo(ctx context.Context, table string) (*TableInfo, // GC executes opportunistically in the background; table reads may return data // matching the GC policy. func (ac *AdminClient) SetGCPolicy(ctx context.Context, table, family string, policy GCPolicy) error { - ctx = mergeOutgoingMetadata(ctx, ac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), ac.md) prefix := ac.instancePrefix() req := &btapb.ModifyColumnFamiliesRequest{ Name: prefix + "/tables/" + table, @@ -277,7 +277,7 @@ func (ac *AdminClient) SetGCPolicy(ctx context.Context, table, family string, po // DropRowRange permanently deletes a row range from the specified table. func (ac *AdminClient) DropRowRange(ctx context.Context, table, rowKeyPrefix string) error { - ctx = mergeOutgoingMetadata(ctx, ac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), ac.md) prefix := ac.instancePrefix() req := &btapb.DropRowRangeRequest{ Name: prefix + "/tables/" + table, @@ -295,7 +295,7 @@ func (ac *AdminClient) DropRowRange(ctx context.Context, table, rowKeyPrefix str // might be changed in backward-incompatible ways and is not recommended for // production use. It is not subject to any SLA or deprecation policy. func (ac *AdminClient) CreateTableFromSnapshot(ctx context.Context, table, cluster, snapshot string) error { - ctx = mergeOutgoingMetadata(ctx, ac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), ac.md) prefix := ac.instancePrefix() snapshotPath := prefix + "/clusters/" + cluster + "/snapshots/" + snapshot @@ -324,7 +324,7 @@ const DefaultSnapshotDuration time.Duration = 0 // might be changed in backward-incompatible ways and is not recommended for // production use. It is not subject to any SLA or deprecation policy. func (ac *AdminClient) SnapshotTable(ctx context.Context, table, cluster, snapshot string, ttl time.Duration) error { - ctx = mergeOutgoingMetadata(ctx, ac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), ac.md) prefix := ac.instancePrefix() var ttlProto *durpb.Duration @@ -356,7 +356,7 @@ func (ac *AdminClient) SnapshotTable(ctx context.Context, table, cluster, snapsh // changed in backward-incompatible ways and is not recommended for production use. // It is not subject to any SLA or deprecation policy. func (ac *AdminClient) Snapshots(ctx context.Context, cluster string) *SnapshotIterator { - ctx = mergeOutgoingMetadata(ctx, ac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), ac.md) prefix := ac.instancePrefix() clusterPath := prefix + "/clusters/" + cluster @@ -374,7 +374,7 @@ func (ac *AdminClient) Snapshots(ctx context.Context, cluster string) *SnapshotI } var resp *btapb.ListSnapshotsResponse - err := gax.Invoke(ctx, func(ctx context.Context) error { + err := gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { var err error resp, err = ac.tClient.ListSnapshots(ctx, req) return err @@ -469,7 +469,7 @@ type SnapshotInfo struct { // might be changed in backward-incompatible ways and is not recommended for // production use. It is not subject to any SLA or deprecation policy. func (ac *AdminClient) SnapshotInfo(ctx context.Context, cluster, snapshot string) (*SnapshotInfo, error) { - ctx = mergeOutgoingMetadata(ctx, ac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), ac.md) prefix := ac.instancePrefix() clusterPath := prefix + "/clusters/" + cluster snapshotPath := clusterPath + "/snapshots/" + snapshot @@ -479,7 +479,7 @@ func (ac *AdminClient) SnapshotInfo(ctx context.Context, cluster, snapshot strin } var resp *btapb.Snapshot - err := gax.Invoke(ctx, func(ctx context.Context) error { + err := gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { var err error resp, err = ac.tClient.GetSnapshot(ctx, req) return err @@ -498,7 +498,7 @@ func (ac *AdminClient) SnapshotInfo(ctx context.Context, cluster, snapshot strin // might be changed in backward-incompatible ways and is not recommended for // production use. It is not subject to any SLA or deprecation policy. func (ac *AdminClient) DeleteSnapshot(ctx context.Context, cluster, snapshot string) error { - ctx = mergeOutgoingMetadata(ctx, ac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), ac.md) prefix := ac.instancePrefix() clusterPath := prefix + "/clusters/" + cluster snapshotPath := clusterPath + "/snapshots/" + snapshot @@ -531,7 +531,7 @@ func (ac *AdminClient) isConsistent(ctx context.Context, tableName, token string var resp *btapb.CheckConsistencyResponse // Retry calls on retryable errors to avoid losing the token gathered before. - err := gax.Invoke(ctx, func(ctx context.Context) error { + err := gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { var err error resp, err = ac.tClient.CheckConsistency(ctx, req) return err @@ -644,14 +644,17 @@ func (st StorageType) proto() btapb.StorageType { type InstanceType int32 const ( - PRODUCTION InstanceType = InstanceType(btapb.Instance_PRODUCTION) + // UNSPECIFIED instance types default to PRODUCTION + UNSPECIFIED InstanceType = InstanceType(btapb.Instance_TYPE_UNSPECIFIED) + PRODUCTION = InstanceType(btapb.Instance_PRODUCTION) DEVELOPMENT = InstanceType(btapb.Instance_DEVELOPMENT) ) // InstanceInfo represents information about an instance type InstanceInfo struct { - Name string // name of the instance - DisplayName string // display name for UIs + Name string // name of the instance + DisplayName string // display name for UIs + InstanceType InstanceType } // InstanceConf contains the information necessary to create an Instance @@ -675,6 +678,7 @@ var instanceNameRegexp = regexp.MustCompile(`^projects/([^/]+)/instances/([a-z][ // CreateInstance creates a new instance in the project. // This method will return when the instance has been created or when an error occurs. func (iac *InstanceAdminClient) CreateInstance(ctx context.Context, conf *InstanceConf) error { + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), iac.md) newConfig := InstanceWithClustersConfig{ InstanceID: conf.InstanceId, DisplayName: conf.DisplayName, @@ -695,7 +699,7 @@ func (iac *InstanceAdminClient) CreateInstance(ctx context.Context, conf *Instan // CreateInstanceWithClusters creates a new instance with configured clusters in the project. // This method will return when the instance has been created or when an error occurs. func (iac *InstanceAdminClient) CreateInstanceWithClusters(ctx context.Context, conf *InstanceWithClustersConfig) error { - ctx = mergeOutgoingMetadata(ctx, iac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), iac.md) clusters := make(map[string]*btapb.Cluster) for _, cluster := range conf.Clusters { clusters[cluster.ClusterID] = cluster.proto(iac.project) @@ -716,9 +720,76 @@ func (iac *InstanceAdminClient) CreateInstanceWithClusters(ctx context.Context, return longrunning.InternalNewOperation(iac.lroClient, lro).Wait(ctx, &resp) } +// UpdateInstanceWithClusters updates an instance and its clusters. +// The provided InstanceWithClustersConfig is used as follows: +// - InstanceID is required +// - DisplayName and InstanceType are updated only if they are not empty +// - ClusterID is required for any provided cluster +// - All other cluster fields are ignored except for NumNodes, which if set will be updated +// +// This method may return an error after partially succeeding, for example if the instance is updated +// but a cluster update fails. If an error is returned, InstanceInfo and Clusters may be called to +// determine the current state. +func (iac *InstanceAdminClient) UpdateInstanceWithClusters(ctx context.Context, conf *InstanceWithClustersConfig) error { + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), iac.md) + + if conf.InstanceID == "" { + return errors.New("InstanceID is required") + } + for _, cluster := range conf.Clusters { + if cluster.ClusterID == "" { + return errors.New("ClusterID is required for every cluster") + } + } + + // Update the instance, if necessary + mask := &field_mask.FieldMask{} + ireq := &btapb.PartialUpdateInstanceRequest{ + Instance: &btapb.Instance{ + Name: "projects/" + iac.project + "/instances/" + conf.InstanceID, + }, + UpdateMask: mask, + } + if conf.DisplayName != "" { + ireq.Instance.DisplayName = conf.DisplayName + mask.Paths = append(mask.Paths, "display_name") + } + if btapb.Instance_Type(conf.InstanceType) != btapb.Instance_TYPE_UNSPECIFIED { + ireq.Instance.Type = btapb.Instance_Type(conf.InstanceType) + mask.Paths = append(mask.Paths, "type") + } + updatedInstance := false + if len(mask.Paths) > 0 { + lro, err := iac.iClient.PartialUpdateInstance(ctx, ireq) + if err != nil { + return err + } + err = longrunning.InternalNewOperation(iac.lroClient, lro).Wait(ctx, nil) + if err != nil { + return err + } + updatedInstance = true + } + + // Update any clusters + for _, cluster := range conf.Clusters { + err := iac.UpdateCluster(ctx, conf.InstanceID, cluster.ClusterID, cluster.NumNodes) + if err != nil { + if updatedInstance { + // We updated the instance, so note that in the error message. + return fmt.Errorf("UpdateCluster %q failed %v; however UpdateInstance succeeded", + cluster.ClusterID, err) + } + return err + } + } + + return nil +} + // DeleteInstance deletes an instance from the project. func (iac *InstanceAdminClient) DeleteInstance(ctx context.Context, instanceID string) error { - ctx = mergeOutgoingMetadata(ctx, iac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), iac.md) req := &btapb.DeleteInstanceRequest{Name: "projects/" + iac.project + "/instances/" + instanceID} _, err := iac.iClient.DeleteInstance(ctx, req) return err @@ -726,12 +797,12 @@ func (iac *InstanceAdminClient) DeleteInstance(ctx context.Context, instanceID s // Instances returns a list of instances in the project. func (iac *InstanceAdminClient) Instances(ctx context.Context) ([]*InstanceInfo, error) { - ctx = mergeOutgoingMetadata(ctx, iac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), iac.md) req := &btapb.ListInstancesRequest{ Parent: "projects/" + iac.project, } var res *btapb.ListInstancesResponse - err := gax.Invoke(ctx, func(ctx context.Context) error { + err := gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { var err error res, err = iac.iClient.ListInstances(ctx, req) return err @@ -752,8 +823,9 @@ func (iac *InstanceAdminClient) Instances(ctx context.Context) ([]*InstanceInfo, return nil, fmt.Errorf("malformed instance name %q", i.Name) } is = append(is, &InstanceInfo{ - Name: m[2], - DisplayName: i.DisplayName, + Name: m[2], + DisplayName: i.DisplayName, + InstanceType: InstanceType(i.Type), }) } return is, nil @@ -761,12 +833,12 @@ func (iac *InstanceAdminClient) Instances(ctx context.Context) ([]*InstanceInfo, // InstanceInfo returns information about an instance. func (iac *InstanceAdminClient) InstanceInfo(ctx context.Context, instanceID string) (*InstanceInfo, error) { - ctx = mergeOutgoingMetadata(ctx, iac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), iac.md) req := &btapb.GetInstanceRequest{ Name: "projects/" + iac.project + "/instances/" + instanceID, } var res *btapb.Instance - err := gax.Invoke(ctx, func(ctx context.Context) error { + err := gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { var err error res, err = iac.iClient.GetInstance(ctx, req) return err @@ -780,8 +852,9 @@ func (iac *InstanceAdminClient) InstanceInfo(ctx context.Context, instanceID str return nil, fmt.Errorf("malformed instance name %q", res.Name) } return &InstanceInfo{ - Name: m[2], - DisplayName: res.DisplayName, + Name: m[2], + DisplayName: res.DisplayName, + InstanceType: InstanceType(res.Type), }, nil } @@ -811,7 +884,7 @@ type ClusterInfo struct { // CreateCluster creates a new cluster in an instance. // This method will return when the cluster has been created or when an error occurs. func (iac *InstanceAdminClient) CreateCluster(ctx context.Context, conf *ClusterConfig) error { - ctx = mergeOutgoingMetadata(ctx, iac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), iac.md) req := &btapb.CreateClusterRequest{ Parent: "projects/" + iac.project + "/instances/" + conf.InstanceID, @@ -829,7 +902,7 @@ func (iac *InstanceAdminClient) CreateCluster(ctx context.Context, conf *Cluster // DeleteCluster deletes a cluster from an instance. func (iac *InstanceAdminClient) DeleteCluster(ctx context.Context, instanceID, clusterID string) error { - ctx = mergeOutgoingMetadata(ctx, iac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), iac.md) req := &btapb.DeleteClusterRequest{Name: "projects/" + iac.project + "/instances/" + instanceID + "/clusters/" + clusterID} _, err := iac.iClient.DeleteCluster(ctx, req) return err @@ -837,7 +910,7 @@ func (iac *InstanceAdminClient) DeleteCluster(ctx context.Context, instanceID, c // UpdateCluster updates attributes of a cluster func (iac *InstanceAdminClient) UpdateCluster(ctx context.Context, instanceID, clusterID string, serveNodes int32) error { - ctx = mergeOutgoingMetadata(ctx, iac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), iac.md) cluster := &btapb.Cluster{ Name: "projects/" + iac.project + "/instances/" + instanceID + "/clusters/" + clusterID, ServeNodes: serveNodes} @@ -850,10 +923,10 @@ func (iac *InstanceAdminClient) UpdateCluster(ctx context.Context, instanceID, c // Clusters lists the clusters in an instance. func (iac *InstanceAdminClient) Clusters(ctx context.Context, instanceID string) ([]*ClusterInfo, error) { - ctx = mergeOutgoingMetadata(ctx, iac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), iac.md) req := &btapb.ListClustersRequest{Parent: "projects/" + iac.project + "/instances/" + instanceID} var res *btapb.ListClustersResponse - err := gax.Invoke(ctx, func(ctx context.Context) error { + err := gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { var err error res, err = iac.iClient.ListClusters(ctx, req) return err @@ -878,10 +951,10 @@ func (iac *InstanceAdminClient) Clusters(ctx context.Context, instanceID string) // GetCluster fetches a cluster in an instance func (iac *InstanceAdminClient) GetCluster(ctx context.Context, instanceID, clusterID string) (*ClusterInfo, error) { - ctx = mergeOutgoingMetadata(ctx, iac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), iac.md) req := &btapb.GetClusterRequest{Name: "projects/" + iac.project + "/instances/" + instanceID + "/clusters/" + clusterID} var c *btapb.Cluster - err := gax.Invoke(ctx, func(ctx context.Context) error { + err := gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { var err error c, err = iac.iClient.GetCluster(ctx, req) return err @@ -991,7 +1064,7 @@ func (it *ProfileIterator) Next() (*btapb.AppProfile, error) { // CreateAppProfile creates an app profile within an instance. func (iac *InstanceAdminClient) CreateAppProfile(ctx context.Context, profile ProfileConf) (*btapb.AppProfile, error) { - ctx = mergeOutgoingMetadata(ctx, iac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), iac.md) parent := "projects/" + iac.project + "/instances/" + profile.InstanceID appProfile := &btapb.AppProfile{ Etag: profile.Etag, @@ -1028,12 +1101,12 @@ func (iac *InstanceAdminClient) CreateAppProfile(ctx context.Context, profile Pr // GetAppProfile gets information about an app profile. func (iac *InstanceAdminClient) GetAppProfile(ctx context.Context, instanceID, name string) (*btapb.AppProfile, error) { - ctx = mergeOutgoingMetadata(ctx, iac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), iac.md) profileRequest := &btapb.GetAppProfileRequest{ Name: "projects/" + iac.project + "/instances/" + instanceID + "/appProfiles/" + name, } var ap *btapb.AppProfile - err := gax.Invoke(ctx, func(ctx context.Context) error { + err := gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { var err error ap, err = iac.iClient.GetAppProfile(ctx, profileRequest) return err @@ -1046,7 +1119,7 @@ func (iac *InstanceAdminClient) GetAppProfile(ctx context.Context, instanceID, n // ListAppProfiles lists information about app profiles in an instance. func (iac *InstanceAdminClient) ListAppProfiles(ctx context.Context, instanceID string) *ProfileIterator { - ctx = mergeOutgoingMetadata(ctx, iac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), iac.md) listRequest := &btapb.ListAppProfilesRequest{ Parent: "projects/" + iac.project + "/instances/" + instanceID, } @@ -1055,7 +1128,7 @@ func (iac *InstanceAdminClient) ListAppProfiles(ctx context.Context, instanceID fetch := func(pageSize int, pageToken string) (string, error) { listRequest.PageToken = pageToken var profileRes *btapb.ListAppProfilesResponse - err := gax.Invoke(ctx, func(ctx context.Context) error { + err := gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { var err error profileRes, err = iac.iClient.ListAppProfiles(ctx, listRequest) return err @@ -1078,7 +1151,7 @@ func (iac *InstanceAdminClient) ListAppProfiles(ctx context.Context, instanceID // UpdateAppProfile updates an app profile within an instance. // updateAttrs should be set. If unset, all fields will be replaced. func (iac *InstanceAdminClient) UpdateAppProfile(ctx context.Context, instanceID, profileID string, updateAttrs ProfileAttrsToUpdate) error { - ctx = mergeOutgoingMetadata(ctx, iac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), iac.md) profile := &btapb.AppProfile{ Name: "projects/" + iac.project + "/instances/" + instanceID + "/appProfiles/" + profileID, @@ -1122,7 +1195,7 @@ func (iac *InstanceAdminClient) UpdateAppProfile(ctx context.Context, instanceID // DeleteAppProfile deletes an app profile from an instance. func (iac *InstanceAdminClient) DeleteAppProfile(ctx context.Context, instanceID, name string) error { - ctx = mergeOutgoingMetadata(ctx, iac.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), iac.md) deleteProfileRequest := &btapb.DeleteAppProfileRequest{ Name: "projects/" + iac.project + "/instances/" + instanceID + "/appProfiles/" + name, IgnoreWarnings: true, diff --git a/vendor/cloud.google.com/go/bigtable/bigtable.go b/vendor/cloud.google.com/go/bigtable/bigtable.go index 28c0c92a4a7..acf7d6de5c5 100644 --- a/vendor/cloud.google.com/go/bigtable/bigtable.go +++ b/vendor/cloud.google.com/go/bigtable/bigtable.go @@ -24,9 +24,11 @@ import ( "strconv" "time" - "cloud.google.com/go/bigtable/internal/gax" btopt "cloud.google.com/go/bigtable/internal/option" + "cloud.google.com/go/internal/trace" + "cloud.google.com/go/internal/version" "github.com/golang/protobuf/proto" + gax "github.com/googleapis/gax-go/v2" "google.golang.org/api/option" gtransport "google.golang.org/api/transport/grpc" btpb "google.golang.org/genproto/googleapis/bigtable/v2" @@ -99,8 +101,13 @@ var ( idempotentRetryCodes = []codes.Code{codes.DeadlineExceeded, codes.Unavailable, codes.Aborted} isIdempotentRetryCode = make(map[codes.Code]bool) retryOptions = []gax.CallOption{ - gax.WithDelayTimeoutSettings(100*time.Millisecond, 2000*time.Millisecond, 1.2), - gax.WithRetryCodes(idempotentRetryCodes), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes(idempotentRetryCodes, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 2 * time.Second, + Multiplier: 1.2, + }) + }), } ) @@ -114,6 +121,30 @@ func (c *Client) fullTableName(table string) string { return fmt.Sprintf("projects/%s/instances/%s/tables/%s", c.project, c.instance, table) } +// mergeOutgoingMetadata returns a context populated by the existing outgoing +// metadata merged with the provided mds. +func mergeOutgoingMetadata(ctx context.Context, mds ...metadata.MD) context.Context { + ctxMD, _ := metadata.FromOutgoingContext(ctx) + // The ordering matters, hence why ctxMD comes first. + allMDs := append([]metadata.MD{ctxMD}, mds...) + return metadata.NewOutgoingContext(ctx, metadata.Join(allMDs...)) +} + +// withGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func withGoogleClientInfo() metadata.MD { + kv := []string{ + "gl-go", + version.Go(), + "gax", + gax.Version, + "grpc", + grpc.Version, + } + return metadata.Pairs("x-goog-api-client", gax.XGoogHeader(kv...)) +} + // A Table refers to a table. // // A Table is safe to use concurrently. @@ -142,15 +173,14 @@ func (c *Client) Open(table string) *Table { // // By default, the yielded rows will contain all values in all cells. // Use RowFilter to limit the cells returned. -func (t *Table) ReadRows(ctx context.Context, arg RowSet, f func(Row) bool, opts ...ReadOption) error { - ctx = mergeOutgoingMetadata(ctx, t.md) +func (t *Table) ReadRows(ctx context.Context, arg RowSet, f func(Row) bool, opts ...ReadOption) (err error) { + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), t.md) + ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigtable.ReadRows") + defer func() { trace.EndSpan(ctx, err) }() var prevRowKey string - var err error - ctx = traceStartSpan(ctx, "cloud.google.com/go/bigtable.ReadRows") - defer func() { traceEndSpan(ctx, err) }() attrMap := make(map[string]interface{}) - err = gax.Invoke(ctx, func(ctx context.Context) error { + err = gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { if !arg.valid() { // Empty row set, no need to make an API call. // NOTE: we must return early if arg == RowList{} because reading @@ -185,12 +215,12 @@ func (t *Table) ReadRows(ctx context.Context, arg RowSet, f func(Row) bool, opts attrMap["rowKey"] = prevRowKey attrMap["error"] = err.Error() attrMap["time_secs"] = time.Since(startTime).Seconds() - tracePrintf(ctx, attrMap, "Retry details in ReadRows") + trace.TracePrintf(ctx, attrMap, "Retry details in ReadRows") return err } attrMap["time_secs"] = time.Since(startTime).Seconds() attrMap["rowCount"] = len(res.Chunks) - tracePrintf(ctx, attrMap, "Details in ReadRows") + trace.TracePrintf(ctx, attrMap, "Details in ReadRows") for _, cc := range res.Chunks { row, err := cr.Process(cc) @@ -468,17 +498,17 @@ const maxMutations = 100000 // Apply mutates a row atomically. A mutation must contain at least one // operation and at most 100000 operations. -func (t *Table) Apply(ctx context.Context, row string, m *Mutation, opts ...ApplyOption) error { - ctx = mergeOutgoingMetadata(ctx, t.md) +func (t *Table) Apply(ctx context.Context, row string, m *Mutation, opts ...ApplyOption) (err error) { + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), t.md) + ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigtable/Apply") + defer func() { trace.EndSpan(ctx, err) }() + after := func(res proto.Message) { for _, o := range opts { o.after(res) } } - var err error - ctx = traceStartSpan(ctx, "cloud.google.com/go/bigtable/Apply") - defer func() { traceEndSpan(ctx, err) }() var callOptions []gax.CallOption if m.cond == nil { req := &btpb.MutateRowRequest{ @@ -491,7 +521,7 @@ func (t *Table) Apply(ctx context.Context, row string, m *Mutation, opts ...Appl callOptions = retryOptions } var res *btpb.MutateRowResponse - err := gax.Invoke(ctx, func(ctx context.Context) error { + err := gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { var err error res, err = t.c.client.MutateRow(ctx, req) return err @@ -524,7 +554,7 @@ func (t *Table) Apply(ctx context.Context, row string, m *Mutation, opts ...Appl callOptions = retryOptions } var cmRes *btpb.CheckAndMutateRowResponse - err = gax.Invoke(ctx, func(ctx context.Context) error { + err = gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { var err error cmRes, err = t.c.client.CheckAndMutateRow(ctx, req) return err @@ -641,8 +671,11 @@ type entryErr struct { // will correspond to the relevant rowKeys/muts arguments. // // Conditional mutations cannot be applied in bulk and providing one will result in an error. -func (t *Table) ApplyBulk(ctx context.Context, rowKeys []string, muts []*Mutation, opts ...ApplyOption) ([]error, error) { - ctx = mergeOutgoingMetadata(ctx, t.md) +func (t *Table) ApplyBulk(ctx context.Context, rowKeys []string, muts []*Mutation, opts ...ApplyOption) (errs []error, err error) { + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), t.md) + ctx = trace.StartSpan(ctx, "cloud.google.com/go/bigtable/ApplyBulk") + defer func() { trace.EndSpan(ctx, err) }() + if len(rowKeys) != len(muts) { return nil, fmt.Errorf("mismatched rowKeys and mutation array lengths: %d, %d", len(rowKeys), len(muts)) } @@ -656,15 +689,11 @@ func (t *Table) ApplyBulk(ctx context.Context, rowKeys []string, muts []*Mutatio origEntries[i] = &entryErr{Entry: &btpb.MutateRowsRequest_Entry{RowKey: []byte(key), Mutations: mut.ops}} } - var err error - ctx = traceStartSpan(ctx, "cloud.google.com/go/bigtable/ApplyBulk") - defer func() { traceEndSpan(ctx, err) }() - for _, group := range groupEntries(origEntries, maxMutations) { attrMap := make(map[string]interface{}) - err = gax.Invoke(ctx, func(ctx context.Context) error { + err = gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { attrMap["rowCount"] = len(group) - tracePrintf(ctx, attrMap, "Row count in ApplyBulk") + trace.TracePrintf(ctx, attrMap, "Row count in ApplyBulk") err := t.doApplyBulk(ctx, group, opts...) if err != nil { // We want to retry the entire request with the current group @@ -683,9 +712,8 @@ func (t *Table) ApplyBulk(ctx context.Context, rowKeys []string, muts []*Mutatio } } - // Accumulate all of the errors into an array to return, interspersed with nils for successful + // All the errors are accumulated into an array and returned, interspersed with nils for successful // entries. The absence of any errors means we should return nil. - var errs []error var foundErr bool for _, entry := range origEntries { if entry.Err != nil { @@ -704,7 +732,7 @@ func (t *Table) getApplyBulkRetries(entries []*entryErr) []*entryErr { var retryEntries []*entryErr for _, entry := range entries { err := entry.Err - if err != nil && isIdempotentRetryCode[grpc.Code(err)] && mutationsAreRetryable(entry.Entry.Mutations) { + if err != nil && isIdempotentRetryCode[status.Code(err)] && mutationsAreRetryable(entry.Entry.Mutations) { // There was an error and the entry is retryable. retryEntries = append(retryEntries, entry) } @@ -809,7 +837,7 @@ func (ts Timestamp) TruncateToMilliseconds() Timestamp { // ApplyReadModifyWrite applies a ReadModifyWrite to a specific row. // It returns the newly written cells. func (t *Table) ApplyReadModifyWrite(ctx context.Context, row string, m *ReadModifyWrite) (Row, error) { - ctx = mergeOutgoingMetadata(ctx, t.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), t.md) req := &btpb.ReadModifyWriteRowRequest{ TableName: t.c.fullTableName(t.table), AppProfileId: t.c.appProfile, @@ -867,19 +895,12 @@ func (m *ReadModifyWrite) Increment(family, column string, delta int64) { }) } -// mergeOutgoingMetadata returns a context populated by the existing outgoing metadata, -// if any, joined with internal metadata. -func mergeOutgoingMetadata(ctx context.Context, md metadata.MD) context.Context { - mdCopy, _ := metadata.FromOutgoingContext(ctx) - return metadata.NewOutgoingContext(ctx, metadata.Join(mdCopy, md)) -} - // SampleRowKeys returns a sample of row keys in the table. The returned row keys will delimit contiguous sections of // the table of approximately equal size, which can be used to break up the data for distributed tasks like mapreduces. func (t *Table) SampleRowKeys(ctx context.Context) ([]string, error) { - ctx = mergeOutgoingMetadata(ctx, t.md) + ctx = mergeOutgoingMetadata(ctx, withGoogleClientInfo(), t.md) var sampledRowKeys []string - err := gax.Invoke(ctx, func(ctx context.Context) error { + err := gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { sampledRowKeys = nil req := &btpb.SampleRowKeysRequest{ TableName: t.c.fullTableName(t.table), diff --git a/vendor/cloud.google.com/go/bigtable/bttest/inmem.go b/vendor/cloud.google.com/go/bigtable/bttest/inmem.go index 72ad1c1ba30..2bf04225457 100644 --- a/vendor/cloud.google.com/go/bigtable/bttest/inmem.go +++ b/vendor/cloud.google.com/go/bigtable/bttest/inmem.go @@ -53,6 +53,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" + "rsc.io/binaryregexp" ) const ( @@ -81,12 +82,14 @@ type Server struct { // It is a separate and unexported type so the API won't be cluttered with // methods that are only relevant to the fake's implementation. type server struct { - mu sync.Mutex - tables map[string]*table // keyed by fully qualified name - gcc chan int // set when gcloop starts, closed when server shuts down + mu sync.Mutex + tables map[string]*table // keyed by fully qualified name + instances map[string]*btapb.Instance // keyed by fully qualified name + gcc chan int // set when gcloop starts, closed when server shuts down // Any unimplemented methods will cause a panic. btapb.BigtableTableAdminServer + btapb.BigtableInstanceAdminServer btpb.BigtableServer } @@ -104,9 +107,11 @@ func NewServer(laddr string, opt ...grpc.ServerOption) (*Server, error) { l: l, srv: grpc.NewServer(opt...), s: &server{ - tables: make(map[string]*table), + tables: make(map[string]*table), + instances: make(map[string]*btapb.Instance), }, } + btapb.RegisterBigtableInstanceAdminServer(s.srv, s.s) btapb.RegisterBigtableTableAdminServer(s.srv, s.s) btpb.RegisterBigtableServer(s.srv, s.s) @@ -138,7 +143,15 @@ func (s *server) CreateTable(ctx context.Context, req *btapb.CreateTableRequest) s.tables[tbl] = newTable(req) s.mu.Unlock() - return &btapb.Table{Name: tbl}, nil + ct := &btapb.Table{ + Name: tbl, + ColumnFamilies: req.GetTable().GetColumnFamilies(), + Granularity: req.GetTable().GetGranularity(), + } + if ct.Granularity == 0 { + ct.Granularity = btapb.Table_MILLIS + } + return ct, nil } func (s *server) CreateTableFromSnapshot(context.Context, *btapb.CreateTableFromSnapshotRequest) (*longrunning.Operation, error) { @@ -325,6 +338,10 @@ func (s *server) ReadRows(req *btpb.ReadRowsRequest, stream btpb.Bigtable_ReadRo return status.Errorf(codes.NotFound, "table %q not found", req.TableName) } + if err := validateRowRanges(req); err != nil { + return err + } + // Rows to read can be specified by a set of row keys and/or a set of row ranges. // Output is a stream of sorted, de-duped rows. tbl.mu.RLock() @@ -479,8 +496,13 @@ func filterRow(f *btpb.RowFilter, r *row) (bool, error) { srs := make([]*row, 0, len(f.Interleave.Filters)) for _, sub := range f.Interleave.Filters { sr := r.copy() - filterRow(sub, sr) - srs = append(srs, sr) + match, err := filterRow(sub, sr) + if err != nil { + return false, err + } + if match { + srs = append(srs, sr) + } } // merge // TODO(dsymonds): is this correct? @@ -664,7 +686,7 @@ func includeCell(f *btpb.RowFilter, fam, col string, cell cell) (bool, error) { if err != nil { return false, status.Errorf(codes.InvalidArgument, "Error in field 'column_qualifier_regex_filter' : %v", err) } - return rx.MatchString(toUTF8([]byte(col))), nil + return rx.MatchString(col), nil case *btpb.RowFilter_ValueRegexFilter: rx, err := newRegexp(f.ValueRegexFilter) if err != nil { @@ -718,17 +740,8 @@ func includeCell(f *btpb.RowFilter, fam, col string, cell cell) (bool, error) { } } -func toUTF8(bs []byte) string { - var rs []rune - for _, b := range bs { - rs = append(rs, rune(b)) - } - return string(rs) -} - -func newRegexp(patBytes []byte) (*regexp.Regexp, error) { - pat := toUTF8(patBytes) - re, err := regexp.Compile("^" + pat + "$") // match entire target +func newRegexp(pat []byte) (*binaryregexp.Regexp, error) { + re, err := binaryregexp.Compile("^(?:" + string(pat) + ")$") // match entire target if err != nil { log.Printf("Bad pattern %q: %v", pat, err) } @@ -804,8 +817,12 @@ func (s *server) CheckAndMutateRow(ctx context.Context, req *btpb.CheckAndMutate // Use true_mutations iff any cells in the row match the filter. // TODO(dsymonds): This could be cheaper. nr := r.copy() - filterRow(req.PredicateFilter, nr) - whichMut = !nr.isEmpty() + + match, err := filterRow(req.PredicateFilter, nr) + if err != nil { + return nil, err + } + whichMut = match && !nr.isEmpty() } res.PredicateMatched = whichMut muts := req.FalseMutations diff --git a/vendor/cloud.google.com/go/bigtable/bttest/instance_server.go b/vendor/cloud.google.com/go/bigtable/bttest/instance_server.go new file mode 100644 index 00000000000..ca30e3edc58 --- /dev/null +++ b/vendor/cloud.google.com/go/bigtable/bttest/instance_server.go @@ -0,0 +1,133 @@ +// Copyright 2019 Google LLC +// +// 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 bttest + +import ( + "context" + "regexp" + + "github.com/golang/protobuf/ptypes/empty" + btapb "google.golang.org/genproto/googleapis/bigtable/admin/v2" + iampb "google.golang.org/genproto/googleapis/iam/v1" + "google.golang.org/genproto/googleapis/longrunning" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +var _ btapb.BigtableInstanceAdminServer = (*server)(nil) + +var errUnimplemented = status.Error(codes.Unimplemented, "unimplemented feature") + +func (s *server) CreateInstance(ctx context.Context, req *btapb.CreateInstanceRequest) (*longrunning.Operation, error) { + return nil, errUnimplemented +} + +func (s *server) GetInstance(ctx context.Context, req *btapb.GetInstanceRequest) (*btapb.Instance, error) { + return nil, errUnimplemented +} + +func (s *server) ListInstances(ctx context.Context, req *btapb.ListInstancesRequest) (*btapb.ListInstancesResponse, error) { + return nil, errUnimplemented +} + +func (s *server) UpdateInstance(ctx context.Context, req *btapb.Instance) (*btapb.Instance, error) { + return nil, errUnimplemented +} + +func (s *server) PartialUpdateInstance(ctx context.Context, req *btapb.PartialUpdateInstanceRequest) (*longrunning.Operation, error) { + return nil, errUnimplemented +} + +var ( + // As per https://godoc.org/google.golang.org/genproto/googleapis/bigtable/admin/v2#DeleteInstanceRequest.Name + // the Name should be of the form: + // `projects//instances/` + instanceNameRegRaw = `^projects/[a-z][a-z0-9\\-]+[a-z0-9]/instances/[a-z][a-z0-9\\-]+[a-z0-9]$` + regInstanceName = regexp.MustCompile(instanceNameRegRaw) +) + +func (s *server) DeleteInstance(ctx context.Context, req *btapb.DeleteInstanceRequest) (*empty.Empty, error) { + name := req.GetName() + if !regInstanceName.Match([]byte(name)) { + return nil, status.Errorf(codes.InvalidArgument, + "Error in field 'instance_name' : Invalid name for collection instances : Should match %s but found '%s'", + instanceNameRegRaw, name) + } + + s.mu.Lock() + defer s.mu.Unlock() + + _, ok := s.instances[name] + if !ok { + return nil, status.Errorf(codes.NotFound, "instance %q not found", name) + } + + // Then finally remove the instance. + delete(s.instances, name) + + return new(empty.Empty), nil +} + +func (s *server) CreateCluster(ctx context.Context, req *btapb.CreateClusterRequest) (*longrunning.Operation, error) { + return nil, errUnimplemented +} + +func (s *server) GetCluster(ctx context.Context, req *btapb.GetClusterRequest) (*btapb.Cluster, error) { + return nil, errUnimplemented +} + +func (s *server) ListClusters(ctx context.Context, req *btapb.ListClustersRequest) (*btapb.ListClustersResponse, error) { + return nil, errUnimplemented +} + +func (s *server) UpdateCluster(ctx context.Context, req *btapb.Cluster) (*longrunning.Operation, error) { + return nil, errUnimplemented +} + +func (s *server) DeleteCluster(ctx context.Context, req *btapb.DeleteClusterRequest) (*empty.Empty, error) { + return nil, errUnimplemented +} + +func (s *server) CreateAppProfile(ctx context.Context, req *btapb.CreateAppProfileRequest) (*btapb.AppProfile, error) { + return nil, errUnimplemented +} + +func (s *server) GetAppProfile(ctx context.Context, req *btapb.GetAppProfileRequest) (*btapb.AppProfile, error) { + return nil, errUnimplemented +} + +func (s *server) ListAppProfiles(ctx context.Context, req *btapb.ListAppProfilesRequest) (*btapb.ListAppProfilesResponse, error) { + return nil, errUnimplemented +} + +func (s *server) UpdateAppProfile(ctx context.Context, req *btapb.UpdateAppProfileRequest) (*longrunning.Operation, error) { + return nil, errUnimplemented +} + +func (s *server) DeleteAppProfile(ctx context.Context, req *btapb.DeleteAppProfileRequest) (*empty.Empty, error) { + return nil, errUnimplemented +} + +func (s *server) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest) (*iampb.Policy, error) { + return nil, errUnimplemented +} + +func (s *server) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest) (*iampb.Policy, error) { + return nil, errUnimplemented +} + +func (s *server) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest) (*iampb.TestIamPermissionsResponse, error) { + return nil, errUnimplemented +} diff --git a/vendor/cloud.google.com/go/bigtable/bttest/validation.go b/vendor/cloud.google.com/go/bigtable/bttest/validation.go new file mode 100644 index 00000000000..352a80b8982 --- /dev/null +++ b/vendor/cloud.google.com/go/bigtable/bttest/validation.go @@ -0,0 +1,87 @@ +/* +Copyright 2019 Google LLC + +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 bttest + +import ( + "bytes" + + btpb "google.golang.org/genproto/googleapis/bigtable/v2" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +// validateRowRanges returns a status.Error for req if: +// * both start_qualifier_closed and start_qualifier_open are set +// * both end_qualifier_closed and end_qualifier_open are set +// * start_qualifier_closed > end_qualifier_closed +// * start_qualifier_closed > end_qualifier_open +// * start_qualifier_open > end_qualifier_closed +// * start_qualifier_open > end_qualifier_open +func validateRowRanges(req *btpb.ReadRowsRequest) error { + rowRanges := req.GetRows().GetRowRanges() + if len(rowRanges) == 0 { + return nil + } + + for i, rowRange := range rowRanges { + skC := rowRange.GetStartKeyClosed() + ekC := rowRange.GetEndKeyClosed() + skO := rowRange.GetStartKeyOpen() + ekO := rowRange.GetEndKeyOpen() + + if msg := messageOnInvalidKeyRanges(skC, skO, ekC, ekO); msg != "" { + return status.Errorf(codes.InvalidArgument, "Error in element #%d: %s", i, msg) + } + } + return nil +} + +func messageOnInvalidKeyRanges(startKeyClosed, startKeyOpen, endKeyClosed, endKeyOpen []byte) string { + switch { + case len(startKeyClosed) != 0 && len(startKeyOpen) != 0: + return "both start_key_closed and start_key_open cannot be set" + + case len(endKeyClosed) != 0 && len(endKeyOpen) != 0: + return "both end_key_closed and end_key_open cannot be set" + + case keysOutOfRange(startKeyClosed, endKeyClosed): + return "start_key_closed must be less than end_key_closed" + + case keysOutOfRange(startKeyOpen, endKeyOpen): + return "start_key_open must be less than end_key_open" + + case keysOutOfRange(startKeyClosed, endKeyOpen): + return "start_key_closed must be less than end_key_open" + + case keysOutOfRange(startKeyOpen, endKeyClosed): + return "start_key_open must be less than end_key_closed" + } + return "" +} + +func keysOutOfRange(start, end []byte) bool { + if len(start) == 0 && len(end) == 0 { + // Neither keys have been set, this is an implicit indefinite range. + return false + } + if len(start) == 0 || len(end) == 0 { + // Either of the keys have been set so this is an explicit indefinite range. + return false + } + // Both keys have been set now check if start > end. + return bytes.Compare(start, end) > 0 +} diff --git a/vendor/cloud.google.com/go/bigtable/doc.go b/vendor/cloud.google.com/go/bigtable/doc.go index 1b75ff7ce9f..c5a2c7a1bc1 100644 --- a/vendor/cloud.google.com/go/bigtable/doc.go +++ b/vendor/cloud.google.com/go/bigtable/doc.go @@ -23,94 +23,96 @@ See https://godoc.org/cloud.google.com/go for authentication, timeouts, connection pooling and similar aspects of this package. -Setup and Credentials - -Use NewClient or NewAdminClient to create a client that can be used to access -the data or admin APIs respectively. Both require credentials that have permission -to access the Cloud Bigtable API. - -If your program is run on Google App Engine or Google Compute Engine, using the Application Default Credentials -(https://developers.google.com/accounts/docs/application-default-credentials) -is the simplest option. Those credentials will be used by default when NewClient or NewAdminClient are called. - -To use alternate credentials, pass them to NewClient or NewAdminClient using option.WithTokenSource. -For instance, you can use service account credentials by visiting -https://cloud.google.com/console/project/MYPROJECT/apiui/credential, -creating a new OAuth "Client ID", storing the JSON key somewhere accessible, and writing - jsonKey, err := ioutil.ReadFile(pathToKeyFile) - ... - config, err := google.JWTConfigFromJSON(jsonKey, bigtable.Scope) // or bigtable.AdminScope, etc. - ... - client, err := bigtable.NewClient(ctx, project, instance, option.WithTokenSource(config.TokenSource(ctx))) - ... -Here, `google` means the golang.org/x/oauth2/google package -and `option` means the google.golang.org/api/option package. - Reading -The principal way to read from a Bigtable is to use the ReadRows method on *Table. -A RowRange specifies a contiguous portion of a table. A Filter may be provided through -RowFilter to limit or transform the data that is returned. +The principal way to read from a Bigtable is to use the ReadRows method on +*Table. A RowRange specifies a contiguous portion of a table. A Filter may be +provided through RowFilter to limit or transform the data that is returned. + tbl := client.Open("mytable") - ... - // Read all the rows starting with "com.google.", - // but only fetch the columns in the "links" family. + // Read all the rows starting with "com.google.", but only fetch the columns + // in the "links" family. rr := bigtable.PrefixRange("com.google.") err := tbl.ReadRows(ctx, rr, func(r Row) bool { - // do something with r - return true // keep going + // TODO: do something with r. + return true // Keep going. }, bigtable.RowFilter(bigtable.FamilyFilter("links"))) - ... + if err != nil { + // TODO: handle err. + } + +To read a single row, use the ReadRow helper method: -To read a single row, use the ReadRow helper method. r, err := tbl.ReadRow(ctx, "com.google.cloud") // "com.google.cloud" is the entire row key - ... + if err != nil { + // TODO: handle err. + } + // TODO: use r. + Writing -This API exposes two distinct forms of writing to a Bigtable: a Mutation and a ReadModifyWrite. -The former expresses idempotent operations. -The latter expresses non-idempotent operations and returns the new values of updated cells. -These operations are performed by creating a Mutation or ReadModifyWrite (with NewMutation or NewReadModifyWrite), -building up one or more operations on that, and then using the Apply or ApplyReadModifyWrite -methods on a Table. +This API exposes two distinct forms of writing to a Bigtable: a Mutation and a +ReadModifyWrite. The former expresses idempotent operations. The latter +expresses non-idempotent operations and returns the new values of updated cells. +These operations are performed by creating a Mutation or ReadModifyWrite (with +NewMutation or NewReadModifyWrite), building up one or more operations on that, +and then using the Apply or ApplyReadModifyWrite methods on a Table. + +For instance, to set a couple of cells in a table: -For instance, to set a couple of cells in a table, tbl := client.Open("mytable") mut := bigtable.NewMutation() - mut.Set("links", "maps.google.com", bigtable.Now(), []byte("1")) - mut.Set("links", "golang.org", bigtable.Now(), []byte("1")) + // To use numeric values that will later be incremented, + // they need to be big-endian encoded as 64-bit integers. + buf := new(bytes.Buffer) + initialLinkCount := 1 // The initial number of links. + if err := binary.Write(buf, binary.BigEndian, initialLinkCount); err != nil { + // TODO: handle err. + } + mut.Set("links", "maps.google.com", bigtable.Now(), buf.Bytes()) + mut.Set("links", "golang.org", bigtable.Now(), buf.Bytes()) err := tbl.Apply(ctx, "com.google.cloud", mut) - ... + if err != nil { + // TODO: handle err. + } + +To increment an encoded value in one cell: -To increment an encoded value in one cell, tbl := client.Open("mytable") rmw := bigtable.NewReadModifyWrite() rmw.Increment("links", "golang.org", 12) // add 12 to the cell in column "links:golang.org" r, err := tbl.ApplyReadModifyWrite(ctx, "com.google.cloud", rmw) - ... + if err != nil { + // TODO: handle err. + } + // TODO: use r. + Retries -If a read or write operation encounters a transient error it will be retried until a successful -response, an unretryable error or the context deadline is reached. Non-idempotent writes (where -the timestamp is set to ServerTime) will not be retried. In the case of ReadRows, retried calls -will not re-scan rows that have already been processed. +If a read or write operation encounters a transient error it will be retried +until a successful response, an unretryable error or the context deadline is +reached. Non-idempotent writes (where the timestamp is set to ServerTime) will +not be retried. In the case of ReadRows, retried calls will not re-scan rows +that have already been processed. */ package bigtable // import "cloud.google.com/go/bigtable" -// Scope constants for authentication credentials. -// These should be used when using credential creation functions such as oauth.NewServiceAccountFromFile. +// Scope constants for authentication credentials. These should be used when +// using credential creation functions such as oauth.NewServiceAccountFromFile. const ( // Scope is the OAuth scope for Cloud Bigtable data operations. Scope = "https://www.googleapis.com/auth/bigtable.data" - // ReadonlyScope is the OAuth scope for Cloud Bigtable read-only data operations. + // ReadonlyScope is the OAuth scope for Cloud Bigtable read-only data + // operations. ReadonlyScope = "https://www.googleapis.com/auth/bigtable.readonly" // AdminScope is the OAuth scope for Cloud Bigtable table admin operations. AdminScope = "https://www.googleapis.com/auth/bigtable.admin.table" - // InstanceAdminScope is the OAuth scope for Cloud Bigtable instance (and cluster) admin operations. + // InstanceAdminScope is the OAuth scope for Cloud Bigtable instance (and + // cluster) admin operations. InstanceAdminScope = "https://www.googleapis.com/auth/bigtable.admin.cluster" ) diff --git a/vendor/cloud.google.com/go/bigtable/filter.go b/vendor/cloud.google.com/go/bigtable/filter.go index c42574f15c5..f5c8a4d2d3c 100644 --- a/vendor/cloud.google.com/go/bigtable/filter.go +++ b/vendor/cloud.google.com/go/bigtable/filter.go @@ -328,3 +328,25 @@ func (rsf rowSampleFilter) String() string { func (rsf rowSampleFilter) proto() *btpb.RowFilter { return &btpb.RowFilter{Filter: &btpb.RowFilter_RowSampleFilter{RowSampleFilter: float64(rsf)}} } + +// PassAllFilter returns a filter that matches everything. +func PassAllFilter() Filter { return passAllFilter{} } + +type passAllFilter struct{} + +func (paf passAllFilter) String() string { return "passAllFilter()" } + +func (paf passAllFilter) proto() *btpb.RowFilter { + return &btpb.RowFilter{Filter: &btpb.RowFilter_PassAllFilter{PassAllFilter: true}} +} + +// BlockAllFilter returns a filter that matches nothing. +func BlockAllFilter() Filter { return blockAllFilter{} } + +type blockAllFilter struct{} + +func (baf blockAllFilter) String() string { return "blockAllFilter()" } + +func (baf blockAllFilter) proto() *btpb.RowFilter { + return &btpb.RowFilter{Filter: &btpb.RowFilter_BlockAllFilter{BlockAllFilter: true}} +} diff --git a/vendor/cloud.google.com/go/bigtable/internal/gax/call_option.go b/vendor/cloud.google.com/go/bigtable/internal/gax/call_option.go deleted file mode 100644 index 3c2213923b4..00000000000 --- a/vendor/cloud.google.com/go/bigtable/internal/gax/call_option.go +++ /dev/null @@ -1,110 +0,0 @@ -/* -Copyright 2016 Google LLC - -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 gax is a snapshot from github.com/googleapis/gax-go/v2 with minor modifications. -package gax - -import ( - "time" - - "google.golang.org/grpc/codes" -) - -// CallOption is a generic interface for modifying the behavior of outbound calls. -type CallOption interface { - Resolve(*CallSettings) -} - -type callOptions []CallOption - -// Resolve resolves all call options individually. -func (opts callOptions) Resolve(s *CallSettings) *CallSettings { - for _, opt := range opts { - opt.Resolve(s) - } - return s -} - -// CallSettings encapsulates the call settings for a particular API call. -type CallSettings struct { - Timeout time.Duration - RetrySettings RetrySettings -} - -// RetrySettings are per-call configurable settings for retrying upon transient failure. -type RetrySettings struct { - RetryCodes map[codes.Code]bool - BackoffSettings BackoffSettings -} - -// BackoffSettings are parameters to the exponential backoff algorithm for retrying. -type BackoffSettings struct { - DelayTimeoutSettings MultipliableDuration - RPCTimeoutSettings MultipliableDuration -} - -// MultipliableDuration defines parameters for backoff settings. -type MultipliableDuration struct { - Initial time.Duration - Max time.Duration - Multiplier float64 -} - -// Resolve merges the receiver CallSettings into the given CallSettings. -func (w CallSettings) Resolve(s *CallSettings) { - s.Timeout = w.Timeout - s.RetrySettings = w.RetrySettings - - s.RetrySettings.RetryCodes = make(map[codes.Code]bool, len(w.RetrySettings.RetryCodes)) - for key, value := range w.RetrySettings.RetryCodes { - s.RetrySettings.RetryCodes[key] = value - } -} - -type withRetryCodes []codes.Code - -func (w withRetryCodes) Resolve(s *CallSettings) { - s.RetrySettings.RetryCodes = make(map[codes.Code]bool) - for _, code := range w { - s.RetrySettings.RetryCodes[code] = true - } -} - -// WithRetryCodes sets a list of Google API canonical error codes upon which a -// retry should be attempted. -func WithRetryCodes(retryCodes []codes.Code) CallOption { - return withRetryCodes(retryCodes) -} - -type withDelayTimeoutSettings MultipliableDuration - -func (w withDelayTimeoutSettings) Resolve(s *CallSettings) { - s.RetrySettings.BackoffSettings.DelayTimeoutSettings = MultipliableDuration(w) -} - -// WithDelayTimeoutSettings specifies: -// - The initial delay time, in milliseconds, between the completion of -// the first failed request and the initiation of the first retrying -// request. -// - The multiplier by which to increase the delay time between the -// completion of failed requests, and the initiation of the subsequent -// retrying request. -// - The maximum delay time, in milliseconds, between requests. When this -// value is reached, `RetryDelayMultiplier` will no longer be used to -// increase delay time. -func WithDelayTimeoutSettings(initial time.Duration, max time.Duration, multiplier float64) CallOption { - return withDelayTimeoutSettings(MultipliableDuration{initial, max, multiplier}) -} diff --git a/vendor/cloud.google.com/go/bigtable/internal/gax/invoke.go b/vendor/cloud.google.com/go/bigtable/internal/gax/invoke.go deleted file mode 100644 index 22089702f76..00000000000 --- a/vendor/cloud.google.com/go/bigtable/internal/gax/invoke.go +++ /dev/null @@ -1,87 +0,0 @@ -/* -Copyright 2015 Google LLC - -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 gax is a snapshot from github.com/googleapis/gax-go/v2 with minor modifications. -package gax - -import ( - "context" - "log" - "math/rand" - "os" - "time" - - "google.golang.org/grpc" - "google.golang.org/grpc/codes" -) - -// Logger is a logger that logs to stderr. -var Logger = log.New(os.Stderr, "", log.LstdFlags) - -// APICall is a user defined call stub. -type APICall func(context.Context) error - -// scaleDuration returns the product of a and mult. -func scaleDuration(a time.Duration, mult float64) time.Duration { - ns := float64(a) * mult - return time.Duration(ns) -} - -// invokeWithRetry calls stub using an exponential backoff retry mechanism -// based on the values provided in callSettings. -func invokeWithRetry(ctx context.Context, stub APICall, callSettings CallSettings) error { - retrySettings := callSettings.RetrySettings - backoffSettings := callSettings.RetrySettings.BackoffSettings - delay := backoffSettings.DelayTimeoutSettings.Initial - for { - // If the deadline is exceeded... - if ctx.Err() != nil { - return ctx.Err() - } - err := stub(ctx) - code := grpc.Code(err) - if code == codes.OK { - return nil - } - - if !retrySettings.RetryCodes[code] { - return err - } - - // Sleep a random amount up to the current delay - d := time.Duration(rand.Int63n(int64(delay))) - delayCtx, _ := context.WithTimeout(ctx, delay) - if Logger != nil { - Logger.Printf("Retryable error: %v, retrying in %v", err, d) - } - <-delayCtx.Done() - - delay = scaleDuration(delay, backoffSettings.DelayTimeoutSettings.Multiplier) - if delay > backoffSettings.DelayTimeoutSettings.Max { - delay = backoffSettings.DelayTimeoutSettings.Max - } - } -} - -// Invoke calls stub with a child of context modified by the specified options. -func Invoke(ctx context.Context, stub APICall, opts ...CallOption) error { - settings := &CallSettings{} - callOptions(opts).Resolve(settings) - if len(settings.RetrySettings.RetryCodes) > 0 { - return invokeWithRetry(ctx, stub, *settings) - } - return stub(ctx) -} diff --git a/vendor/cloud.google.com/go/bigtable/trace.go b/vendor/cloud.google.com/go/bigtable/trace.go deleted file mode 100644 index 6c579b185a2..00000000000 --- a/vendor/cloud.google.com/go/bigtable/trace.go +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2018 Google LLC -// -// 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 bigtable - -import ( - "context" - "fmt" - - "go.opencensus.io/trace" -) - -func traceStartSpan(ctx context.Context, name string) context.Context { - ctx, _ = trace.StartSpan(ctx, name) - return ctx -} - -func traceEndSpan(ctx context.Context, err error) { - span := trace.FromContext(ctx) - if err != nil { - span.SetStatus(trace.Status{Message: err.Error()}) - } - - span.End() -} - -func tracePrintf(ctx context.Context, attrMap map[string]interface{}, format string, args ...interface{}) { - var attrs []trace.Attribute - for k, v := range attrMap { - var a trace.Attribute - switch v := v.(type) { - case string: - a = trace.StringAttribute(k, v) - case bool: - a = trace.BoolAttribute(k, v) - case int: - a = trace.Int64Attribute(k, int64(v)) - case int64: - a = trace.Int64Attribute(k, v) - default: - a = trace.StringAttribute(k, fmt.Sprintf("%#v", v)) - } - attrs = append(attrs, a) - } - trace.FromContext(ctx).Annotatef(attrs, format, args...) -} diff --git a/vendor/cloud.google.com/go/iam/iam.go b/vendor/cloud.google.com/go/iam/iam.go index 4d8af93910a..5232cb6730f 100644 --- a/vendor/cloud.google.com/go/iam/iam.go +++ b/vendor/cloud.google.com/go/iam/iam.go @@ -23,12 +23,14 @@ package iam import ( "context" + "fmt" "time" gax "github.com/googleapis/gax-go/v2" pb "google.golang.org/genproto/googleapis/iam/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" + "google.golang.org/grpc/metadata" ) // client abstracts the IAMPolicy API to allow multiple implementations. @@ -56,6 +58,9 @@ var withRetry = gax.WithRetry(func() gax.Retryer { func (g *grpcClient) Get(ctx context.Context, resource string) (*pb.Policy, error) { var proto *pb.Policy + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", resource)) + ctx = insertMetadata(ctx, md) + err := gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { var err error proto, err = g.c.GetIamPolicy(ctx, &pb.GetIamPolicyRequest{Resource: resource}) @@ -68,6 +73,9 @@ func (g *grpcClient) Get(ctx context.Context, resource string) (*pb.Policy, erro } func (g *grpcClient) Set(ctx context.Context, resource string, p *pb.Policy) error { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", resource)) + ctx = insertMetadata(ctx, md) + return gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { _, err := g.c.SetIamPolicy(ctx, &pb.SetIamPolicyRequest{ Resource: resource, @@ -79,6 +87,9 @@ func (g *grpcClient) Set(ctx context.Context, resource string, p *pb.Policy) err func (g *grpcClient) Test(ctx context.Context, resource string, perms []string) ([]string, error) { var res *pb.TestIamPermissionsResponse + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", resource)) + ctx = insertMetadata(ctx, md) + err := gax.Invoke(ctx, func(ctx context.Context, _ gax.CallSettings) error { var err error res, err = g.c.TestIamPermissions(ctx, &pb.TestIamPermissionsRequest{ @@ -290,3 +301,15 @@ func memberIndex(m string, b *pb.Binding) int { } return -1 } + +// insertMetadata inserts metadata into the given context +func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context { + out, _ := metadata.FromOutgoingContext(ctx) + out = out.Copy() + for _, md := range mds { + for k, v := range md { + out[k] = append(out[k], v...) + } + } + return metadata.NewOutgoingContext(ctx, out) +} diff --git a/vendor/cloud.google.com/go/internal/trace/trace.go b/vendor/cloud.google.com/go/internal/trace/trace.go index 95c7821c290..66dc391166a 100644 --- a/vendor/cloud.google.com/go/internal/trace/trace.go +++ b/vendor/cloud.google.com/go/internal/trace/trace.go @@ -16,6 +16,7 @@ package trace import ( "context" + "fmt" "go.opencensus.io/trace" "google.golang.org/api/googleapi" @@ -38,7 +39,7 @@ func EndSpan(ctx context.Context, err error) { span.End() } -// ToStatus interrogates an error and converts it to an appropriate +// toStatus interrogates an error and converts it to an appropriate // OpenCensus status. func toStatus(err error) trace.Status { if err2, ok := err.(*googleapi.Error); ok { @@ -50,7 +51,7 @@ func toStatus(err error) trace.Status { } } -// TODO (deklerk): switch to using OpenCensus function when it becomes available. +// TODO(deklerk): switch to using OpenCensus function when it becomes available. // Reference: https://github.com/googleapis/googleapis/blob/26b634d2724ac5dd30ae0b0cbfb01f07f2e4050e/google/rpc/code.proto func httpStatusCodeToOCCode(httpStatusCode int) int32 { switch httpStatusCode { @@ -82,3 +83,27 @@ func httpStatusCodeToOCCode(httpStatusCode int) int32 { return int32(code.Code_UNKNOWN) } } + +// TODO: (odeke-em): perhaps just pass around spans due to the cost +// incurred from using trace.FromContext(ctx) yet we could avoid +// throwing away the work done by ctx, span := trace.StartSpan. +func TracePrintf(ctx context.Context, attrMap map[string]interface{}, format string, args ...interface{}) { + var attrs []trace.Attribute + for k, v := range attrMap { + var a trace.Attribute + switch v := v.(type) { + case string: + a = trace.StringAttribute(k, v) + case bool: + a = trace.BoolAttribute(k, v) + case int: + a = trace.Int64Attribute(k, int64(v)) + case int64: + a = trace.Int64Attribute(k, v) + default: + a = trace.StringAttribute(k, fmt.Sprintf("%#v", v)) + } + attrs = append(attrs, a) + } + trace.FromContext(ctx).Annotatef(attrs, format, args...) +} diff --git a/vendor/cloud.google.com/go/internal/version/version.go b/vendor/cloud.google.com/go/internal/version/version.go index 4a2a8c19ff1..d291921b18f 100644 --- a/vendor/cloud.google.com/go/internal/version/version.go +++ b/vendor/cloud.google.com/go/internal/version/version.go @@ -26,7 +26,7 @@ import ( // Repo is the current version of the client libraries in this // repo. It should be a date in YYYYMMDD format. -const Repo = "20180226" +const Repo = "20190802" // Go returns the Go runtime version. The returned string // has no whitespace. diff --git a/vendor/cloud.google.com/go/longrunning/autogen/doc.go b/vendor/cloud.google.com/go/longrunning/autogen/doc.go index 2f4ddd196db..59e345888d2 100644 --- a/vendor/cloud.google.com/go/longrunning/autogen/doc.go +++ b/vendor/cloud.google.com/go/longrunning/autogen/doc.go @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -15,11 +15,22 @@ // Code generated by gapic-generator. DO NOT EDIT. // Package longrunning is an auto-generated package for the -// Google Long Running Operations API. +// Long Running Operations API. // // NOTE: This package is in alpha. It is not stable, and is likely to change. // // +// Use of Context +// +// The ctx passed to NewClient is used for authentication requests and +// for creating the underlying connection, but is not used for subsequent calls. +// Individual methods on the client use the ctx given to them. +// +// To close the open connection, use the Close() method. +// +// For information about setting deadlines, reusing contexts, and more +// please visit godoc.org/cloud.google.com/go. +// // Use the client at cloud.google.com/go/longrunning in preference to this. package longrunning // import "cloud.google.com/go/longrunning/autogen" @@ -85,4 +96,4 @@ func versionGo() string { return "UNKNOWN" } -const versionClient = "20181219" +const versionClient = "20190801" diff --git a/vendor/cloud.google.com/go/longrunning/autogen/operations_client.go b/vendor/cloud.google.com/go/longrunning/autogen/operations_client.go index 663cbe4869f..5ede122767f 100644 --- a/vendor/cloud.google.com/go/longrunning/autogen/operations_client.go +++ b/vendor/cloud.google.com/go/longrunning/autogen/operations_client.go @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -18,7 +18,9 @@ package longrunning import ( "context" + "fmt" "math" + "net/url" "time" "github.com/golang/protobuf/proto" @@ -70,7 +72,7 @@ func defaultOperationsCallOptions() *OperationsCallOptions { } } -// OperationsClient is a client for interacting with Google Long Running Operations API. +// OperationsClient is a client for interacting with Long Running Operations API. // // Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. type OperationsClient struct { @@ -137,7 +139,8 @@ func (c *OperationsClient) SetGoogleClientInfo(keyval ...string) { // method to poll the operation result at intervals as recommended by the API // service. func (c *OperationsClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { - ctx = insertMetadata(ctx, c.xGoogMetadata) + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + ctx = insertMetadata(ctx, c.xGoogMetadata, md) opts = append(c.CallOptions.GetOperation[0:len(c.CallOptions.GetOperation):len(c.CallOptions.GetOperation)], opts...) var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { @@ -154,10 +157,16 @@ func (c *OperationsClient) GetOperation(ctx context.Context, req *longrunningpb. // ListOperations lists operations that match the specified filter in the request. If the // server doesn't support this method, it returns UNIMPLEMENTED. // -// NOTE: the name binding below allows API services to override the binding -// to use different resource name schemes, such as users/*/operations. +// NOTE: the name binding allows API services to override the binding +// to use different resource name schemes, such as users/*/operations. To +// override the binding, API services can add a binding such as +// "/v1/{name=users/*}/operations" to their service configuration. +// For backwards compatibility, the default name includes the operations +// collection id, however overriding users must ensure the name binding +// is the parent resource, without the operations collection id. func (c *OperationsClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { - ctx = insertMetadata(ctx, c.xGoogMetadata) + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + ctx = insertMetadata(ctx, c.xGoogMetadata, md) opts = append(c.CallOptions.ListOperations[0:len(c.CallOptions.ListOperations):len(c.CallOptions.ListOperations)], opts...) it := &OperationIterator{} req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) @@ -189,6 +198,7 @@ func (c *OperationsClient) ListOperations(ctx context.Context, req *longrunningp } it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) it.pageInfo.MaxSize = int(req.PageSize) + it.pageInfo.Token = req.PageToken return it } @@ -203,7 +213,8 @@ func (c *OperationsClient) ListOperations(ctx context.Context, req *longrunningp // an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, // corresponding to Code.CANCELLED. func (c *OperationsClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { - ctx = insertMetadata(ctx, c.xGoogMetadata) + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + ctx = insertMetadata(ctx, c.xGoogMetadata, md) opts = append(c.CallOptions.CancelOperation[0:len(c.CallOptions.CancelOperation):len(c.CallOptions.CancelOperation)], opts...) err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error @@ -218,7 +229,8 @@ func (c *OperationsClient) CancelOperation(ctx context.Context, req *longrunning // operation. If the server doesn't support this method, it returns // google.rpc.Code.UNIMPLEMENTED. func (c *OperationsClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { - ctx = insertMetadata(ctx, c.xGoogMetadata) + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + ctx = insertMetadata(ctx, c.xGoogMetadata, md) opts = append(c.CallOptions.DeleteOperation[0:len(c.CallOptions.DeleteOperation):len(c.CallOptions.DeleteOperation)], opts...) err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error diff --git a/vendor/cloud.google.com/go/longrunning/longrunning.go b/vendor/cloud.google.com/go/longrunning/longrunning.go index e1d9dcf8a8d..07c27ec2246 100644 --- a/vendor/cloud.google.com/go/longrunning/longrunning.go +++ b/vendor/cloud.google.com/go/longrunning/longrunning.go @@ -105,7 +105,7 @@ func (op *Operation) Poll(ctx context.Context, resp proto.Message, opts ...gax.C switch r := op.proto.Result.(type) { case *pb.Operation_Error: - // TODO (pongad): r.Details may contain further information + // TODO(pongad): r.Details may contain further information return status.Errorf(codes.Code(r.Error.Code), "%s", r.Error.Message) case *pb.Operation_Response: if resp == nil { @@ -162,7 +162,7 @@ func (op *Operation) wait(ctx context.Context, resp proto.Message, bo *gax.Backo // Cancel starts asynchronous cancellation on a long-running operation. The server // makes a best effort to cancel the operation, but success is not // guaranteed. If the server doesn't support this method, it returns -// grpc.Code(error) == codes.Unimplemented. Clients can use +// status.Code(err) == codes.Unimplemented. Clients can use // Poll or other methods to check whether the cancellation succeeded or whether the // operation completed despite cancellation. On successful cancellation, // the operation is not deleted; instead, op.Poll returns an error @@ -173,7 +173,7 @@ func (op *Operation) Cancel(ctx context.Context, opts ...gax.CallOption) error { // Delete deletes a long-running operation. This method indicates that the client is // no longer interested in the operation result. It does not cancel the -// operation. If the server doesn't support this method, grpc.Code(error) == codes.Unimplemented. +// operation. If the server doesn't support this method, status.Code(err) == codes.Unimplemented. func (op *Operation) Delete(ctx context.Context, opts ...gax.CallOption) error { return op.c.DeleteOperation(ctx, &pb.DeleteOperationRequest{Name: op.Name()}, opts...) } diff --git a/vendor/cloud.google.com/go/storage/README.md b/vendor/cloud.google.com/go/storage/README.md new file mode 100644 index 00000000000..a2253c4bb5a --- /dev/null +++ b/vendor/cloud.google.com/go/storage/README.md @@ -0,0 +1,32 @@ +## Cloud Storage [![GoDoc](https://godoc.org/cloud.google.com/go/storage?status.svg)](https://godoc.org/cloud.google.com/go/storage) + +- [About Cloud Storage](https://cloud.google.com/storage/) +- [API documentation](https://cloud.google.com/storage/docs) +- [Go client documentation](https://godoc.org/cloud.google.com/go/storage) +- [Complete sample programs](https://github.com/GoogleCloudPlatform/golang-samples/tree/master/storage) + +### Example Usage + +First create a `storage.Client` to use throughout your application: + +[snip]:# (storage-1) +```go +client, err := storage.NewClient(ctx) +if err != nil { + log.Fatal(err) +} +``` + +[snip]:# (storage-2) +```go +// Read the object1 from bucket. +rc, err := client.Bucket("bucket").Object("object1").NewReader(ctx) +if err != nil { + log.Fatal(err) +} +defer rc.Close() +body, err := ioutil.ReadAll(rc) +if err != nil { + log.Fatal(err) +} +``` \ No newline at end of file diff --git a/vendor/cloud.google.com/go/storage/bucket.go b/vendor/cloud.google.com/go/storage/bucket.go index 3b0018affee..07c470d3e0d 100644 --- a/vendor/cloud.google.com/go/storage/bucket.go +++ b/vendor/cloud.google.com/go/storage/bucket.go @@ -232,6 +232,10 @@ type BucketAttrs struct { // ACL is the list of access control rules on the bucket. ACL []ACLRule + // BucketPolicyOnly configures access checks to use only bucket-level IAM + // policies. + BucketPolicyOnly BucketPolicyOnly + // DefaultObjectACL is the list of access controls to // apply to new objects when no object ACL is provided. DefaultObjectACL []ACLRule @@ -268,6 +272,9 @@ type BucketAttrs struct { // "DURABLE_REDUCED_AVAILABILITY". Defaults to "STANDARD", which // is equivalent to "MULTI_REGIONAL" or "REGIONAL" depending on // the bucket's location settings. + // + // "DURABLE_REDUCED_AVAILABILITY", "MULTI_REGIONAL" and "REGIONAL" + // are considered legacy storage classes. StorageClass string // Created is the creation time of the bucket. @@ -309,6 +316,26 @@ type BucketAttrs struct { // The website configuration. Website *BucketWebsite + + // Etag is the HTTP/1.1 Entity tag for the bucket. + // This field is read-only. + Etag string + + // LocationType describes how data is stored and replicated. + // Typical values are "multi-region", "region" and "dual-region". + // This field is read-only. + LocationType string +} + +// BucketPolicyOnly configures access checks to use only bucket-level IAM +// policies. +type BucketPolicyOnly struct { + // Enabled specifies whether access checks use only bucket-level IAM + // policies. Enabled may be disabled until the locked time. + Enabled bool + // LockedTime specifies the deadline for changing Enabled from true to + // false. + LockedTime time.Time } // Lifecycle is the lifecycle configuration for objects in the bucket. @@ -485,6 +512,9 @@ func newBucket(b *raw.Bucket) (*BucketAttrs, error) { Encryption: toBucketEncryption(b.Encryption), Logging: toBucketLogging(b.Logging), Website: toBucketWebsite(b.Website), + BucketPolicyOnly: toBucketPolicyOnly(b.IamConfiguration), + Etag: b.Etag, + LocationType: b.LocationType, }, nil } @@ -509,6 +539,14 @@ func (b *BucketAttrs) toRawBucket() *raw.Bucket { if b.RequesterPays { bb = &raw.BucketBilling{RequesterPays: true} } + var bktIAM *raw.BucketIamConfiguration + if b.BucketPolicyOnly.Enabled { + bktIAM = &raw.BucketIamConfiguration{ + BucketPolicyOnly: &raw.BucketIamConfigurationBucketPolicyOnly{ + Enabled: true, + }, + } + } return &raw.Bucket{ Name: b.Name, Location: b.Location, @@ -524,6 +562,7 @@ func (b *BucketAttrs) toRawBucket() *raw.Bucket { Encryption: b.Encryption.toRawBucketEncryption(), Logging: b.Logging.toRawBucketLogging(), Website: b.Website.toRawBucketWebsite(), + IamConfiguration: bktIAM, } } @@ -570,6 +609,10 @@ type BucketAttrsToUpdate struct { // newly created objects in this bucket. DefaultEventBasedHold optional.Bool + // BucketPolicyOnly configures access checks to use only bucket-level IAM + // policies. + BucketPolicyOnly *BucketPolicyOnly + // If set, updates the retention policy of the bucket. Using // RetentionPolicy.RetentionPeriod = 0 will delete the existing policy. // @@ -656,6 +699,13 @@ func (ua *BucketAttrsToUpdate) toRawBucket() *raw.Bucket { ForceSendFields: []string{"RequesterPays"}, } } + if ua.BucketPolicyOnly != nil { + rb.IamConfiguration = &raw.BucketIamConfiguration{ + BucketPolicyOnly: &raw.BucketIamConfigurationBucketPolicyOnly{ + Enabled: ua.BucketPolicyOnly.Enabled, + }, + } + } if ua.Encryption != nil { if ua.Encryption.DefaultKMSKeyName == "" { rb.NullFields = append(rb.NullFields, "Encryption") @@ -975,6 +1025,22 @@ func toBucketWebsite(w *raw.BucketWebsite) *BucketWebsite { } } +func toBucketPolicyOnly(b *raw.BucketIamConfiguration) BucketPolicyOnly { + if b == nil || b.BucketPolicyOnly == nil || !b.BucketPolicyOnly.Enabled { + return BucketPolicyOnly{} + } + lt, err := time.Parse(time.RFC3339, b.BucketPolicyOnly.LockedTime) + if err != nil { + return BucketPolicyOnly{ + Enabled: true, + } + } + return BucketPolicyOnly{ + Enabled: true, + LockedTime: lt, + } +} + // Objects returns an iterator over the objects in the bucket that match the Query q. // If q is nil, no filtering is done. func (b *BucketHandle) Objects(ctx context.Context, q *Query) *ObjectIterator { diff --git a/vendor/cloud.google.com/go/storage/hmac.go b/vendor/cloud.google.com/go/storage/hmac.go new file mode 100644 index 00000000000..a906d44fe01 --- /dev/null +++ b/vendor/cloud.google.com/go/storage/hmac.go @@ -0,0 +1,227 @@ +// Copyright 2019 Google LLC +// +// 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 storage + +import ( + "context" + "errors" + "fmt" + "time" + + raw "google.golang.org/api/storage/v1" +) + +// HMACState is the state of the HMAC key. +type HMACState string + +const ( + // Active is the status for an active key that can be used to sign + // requests. + Active HMACState = "ACTIVE" + + // Inactive is the status for an inactive key thus requests signed by + // this key will be denied. + Inactive HMACState = "INACTIVE" + + // Deleted is the status for a key that is deleted. + // Once in this state the key cannot key cannot be recovered + // and does not count towards key limits. Deleted keys will be cleaned + // up later. + Deleted HMACState = "DELETED" +) + +// HMACKey is the representation of a Google Cloud Storage HMAC key. +// +// HMAC keys are used to authenticate signed access to objects. To enable HMAC key +// authentication, please visit https://cloud.google.com/storage/docs/migrating. +// +// This type is experimental and subject to change. +type HMACKey struct { + // The HMAC's secret key. + Secret string + + // AccessID is the ID of the HMAC key. + AccessID string + + // Etag is the HTTP/1.1 Entity tag. + Etag string + + // ID is the ID of the HMAC key, including the ProjectID and AccessID. + ID string + + // ProjectID is the ID of the project that owns the + // service account to which the key authenticates. + ProjectID string + + // ServiceAccountEmail is the email address + // of the key's associated service account. + ServiceAccountEmail string + + // CreatedTime is the creation time of the HMAC key. + CreatedTime time.Time + + // UpdatedTime is the last modification time of the HMAC key metadata. + UpdatedTime time.Time + + // State is the state of the HMAC key. + // It can be one of StateActive, StateInactive or StateDeleted. + State HMACState +} + +// HMACKeyHandle helps provide access and management for HMAC keys. +// +// This type is experimental and subject to change. +type HMACKeyHandle struct { + projectID string + accessID string + + raw *raw.ProjectsHmacKeysService +} + +// HMACKeyHandle creates a handle that will be used for HMACKey operations. +func (c *Client) HMACKeyHandle(projectID, accessID string) *HMACKeyHandle { + return &HMACKeyHandle{ + projectID: projectID, + accessID: accessID, + raw: raw.NewProjectsHmacKeysService(c.raw), + } +} + +// Get invokes an RPC to retrieve the HMAC key referenced by the +// HMACKeyHandle's accessID. +func (hkh *HMACKeyHandle) Get(ctx context.Context) (*HMACKey, error) { + call := hkh.raw.Get(hkh.projectID, hkh.accessID) + setClientHeader(call.Header()) + + var metadata *raw.HmacKeyMetadata + var err error + err = runWithRetry(ctx, func() error { + metadata, err = call.Context(ctx).Do() + return err + }) + if err != nil { + return nil, err + } + + hkPb := &raw.HmacKey{ + Metadata: metadata, + } + return pbHmacKeyToHMACKey(hkPb, false) +} + +// Delete invokes an RPC to delete the key referenced by accessID, on Google Cloud Storage. +// Only inactive HMAC keys can be deleted. +// After deletion, a key cannot be used to authenticate requests. +func (hkh *HMACKeyHandle) Delete(ctx context.Context) error { + delCall := hkh.raw.Delete(hkh.projectID, hkh.accessID) + setClientHeader(delCall.Header()) + + return runWithRetry(ctx, func() error { + return delCall.Context(ctx).Do() + }) +} + +func pbHmacKeyToHMACKey(pb *raw.HmacKey, isCreate bool) (*HMACKey, error) { + pbmd := pb.Metadata + if pbmd == nil { + return nil, errors.New("field Metadata cannot be nil") + } + createdTime, err := time.Parse(time.RFC3339, pbmd.TimeCreated) + if err != nil { + return nil, fmt.Errorf("field CreatedTime: %v", err) + } + updatedTime, err := time.Parse(time.RFC3339, pbmd.Updated) + if err != nil && !isCreate { + return nil, fmt.Errorf("field UpdatedTime: %v", err) + } + + hmk := &HMACKey{ + AccessID: pbmd.AccessId, + Secret: pb.Secret, + Etag: pbmd.Etag, + ID: pbmd.Id, + State: HMACState(pbmd.State), + ProjectID: pbmd.ProjectId, + CreatedTime: createdTime, + UpdatedTime: updatedTime, + + ServiceAccountEmail: pbmd.ServiceAccountEmail, + } + + return hmk, nil +} + +// CreateHMACKey invokes an RPC for Google Cloud Storage to create a new HMACKey. +func (c *Client) CreateHMACKey(ctx context.Context, projectID, serviceAccountEmail string) (*HMACKey, error) { + if projectID == "" { + return nil, errors.New("storage: expecting a non-blank projectID") + } + if serviceAccountEmail == "" { + return nil, errors.New("storage: expecting a non-blank service account email") + } + + svc := raw.NewProjectsHmacKeysService(c.raw) + call := svc.Create(projectID, serviceAccountEmail) + setClientHeader(call.Header()) + + var hkPb *raw.HmacKey + var err error + err = runWithRetry(ctx, func() error { + hkPb, err = call.Context(ctx).Do() + return err + }) + if err != nil { + return nil, err + } + + return pbHmacKeyToHMACKey(hkPb, true) +} + +// HMACKeyAttrsToUpdate defines the attributes of an HMACKey that will be updated. +type HMACKeyAttrsToUpdate struct { + // State is required and must be either StateActive or StateInactive. + State HMACState + + // Etag is an optional field and it is the HTTP/1.1 Entity tag. + Etag string +} + +// Update mutates the HMACKey referred to by accessID. +func (h *HMACKeyHandle) Update(ctx context.Context, au HMACKeyAttrsToUpdate) (*HMACKey, error) { + if au.State != Active && au.State != Inactive { + return nil, fmt.Errorf("storage: invalid state %q for update, must be either %q or %q", au.State, Active, Inactive) + } + + call := h.raw.Update(h.projectID, h.accessID, &raw.HmacKeyMetadata{ + Etag: au.Etag, + State: string(au.State), + }) + setClientHeader(call.Header()) + + var metadata *raw.HmacKeyMetadata + var err error + err = runWithRetry(ctx, func() error { + metadata, err = call.Context(ctx).Do() + return err + }) + + if err != nil { + return nil, err + } + hkPb := &raw.HmacKey{ + Metadata: metadata, + } + return pbHmacKeyToHMACKey(hkPb, false) +} diff --git a/vendor/cloud.google.com/go/storage/reader.go b/vendor/cloud.google.com/go/storage/reader.go index 50f381f91e5..dbed8ac1bc9 100644 --- a/vendor/cloud.google.com/go/storage/reader.go +++ b/vendor/cloud.google.com/go/storage/reader.go @@ -95,8 +95,8 @@ func (o *ObjectHandle) NewRangeReader(ctx context.Context, offset, length int64) } } u := &url.URL{ - Scheme: "https", - Host: "storage.googleapis.com", + Scheme: o.c.scheme, + Host: o.c.readHost, Path: fmt.Sprintf("/%s/%s", o.bucket, o.object), } verb := "GET" diff --git a/vendor/cloud.google.com/go/storage/storage.go b/vendor/cloud.google.com/go/storage/storage.go index 70aa7a6df44..d35bd7568e7 100644 --- a/vendor/cloud.google.com/go/storage/storage.go +++ b/vendor/cloud.google.com/go/storage/storage.go @@ -23,11 +23,13 @@ import ( "crypto/sha256" "crypto/x509" "encoding/base64" + "encoding/hex" "encoding/pem" "errors" "fmt" "net/http" "net/url" + "os" "reflect" "regexp" "sort" @@ -81,6 +83,12 @@ func setClientHeader(headers http.Header) { type Client struct { hc *http.Client raw *raw.Service + // Scheme describes the scheme under the current host. + scheme string + // EnvHost is the host set on the STORAGE_EMULATOR_HOST variable. + envHost string + // ReadHost is the default host used on the reader. + readHost string } // NewClient creates a new Google Cloud Storage client. @@ -102,9 +110,20 @@ func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error if ep != "" { rawService.BasePath = ep } + scheme := "https" + var host, readHost string + if host = os.Getenv("STORAGE_EMULATOR_HOST"); host != "" { + scheme = "http" + readHost = host + } else { + readHost = "storage.googleapis.com" + } return &Client{ - hc: hc, - raw: rawService, + hc: hc, + raw: rawService, + scheme: scheme, + envHost: host, + readHost: readHost, }, nil } @@ -118,6 +137,20 @@ func (c *Client) Close() error { return nil } +// SigningScheme determines the API version to use when signing URLs. +type SigningScheme int + +const ( + // SigningSchemeDefault is presently V2 and will change to V4 in the future. + SigningSchemeDefault SigningScheme = iota + + // SigningSchemeV2 uses the V2 scheme to sign URLs. + SigningSchemeV2 + + // SigningSchemeV4 uses the V4 scheme to sign URLs. + SigningSchemeV4 +) + // SignedURLOptions allows you to restrict the access to the signed URL. type SignedURLOptions struct { // GoogleAccessID represents the authorizer of the signed URL generation. @@ -140,8 +173,9 @@ type SignedURLOptions struct { // Exactly one of PrivateKey or SignBytes must be non-nil. PrivateKey []byte - // SignBytes is a function for implementing custom signing. - // If your application is running on Google App Engine, you can use appengine's internal signing function: + // SignBytes is a function for implementing custom signing. For example, if + // your application is running on Google App Engine, you can use + // appengine's internal signing function: // ctx := appengine.NewContext(request) // acc, _ := appengine.ServiceAccount(ctx) // url, err := SignedURL("bucket", "object", &SignedURLOptions{ @@ -162,7 +196,8 @@ type SignedURLOptions struct { Method string // Expires is the expiration time on the signed URL. It must be - // a datetime in the future. + // a datetime in the future. For SigningSchemeV4, the expiration may be no + // more than seven days in the future. // Required. Expires time.Time @@ -181,9 +216,17 @@ type SignedURLOptions struct { // header in order to use the signed URL. // Optional. MD5 string + + // Scheme determines the version of URL signing to use. Default is + // SigningSchemeV2. + Scheme SigningScheme } var ( + tabRegex = regexp.MustCompile(`[\t]+`) + // I was tempted to call this spacex. :) + spaceRegex = regexp.MustCompile(` +`) + canonicalHeaderRegexp = regexp.MustCompile(`(?i)^(x-goog-[^:]+):(.*)?$`) excludedCanonicalHeaders = map[string]bool{ "x-goog-encryption-key": true, @@ -191,26 +234,31 @@ var ( } ) -// sanitizeHeaders applies the specifications for canonical extension headers at +// v2SanitizeHeaders applies the specifications for canonical extension headers at // https://cloud.google.com/storage/docs/access-control/signed-urls#about-canonical-extension-headers. -func sanitizeHeaders(hdrs []string) []string { +func v2SanitizeHeaders(hdrs []string) []string { headerMap := map[string][]string{} for _, hdr := range hdrs { // No leading or trailing whitespaces. sanitizedHeader := strings.TrimSpace(hdr) + var header, value string // Only keep canonical headers, discard any others. headerMatches := canonicalHeaderRegexp.FindStringSubmatch(sanitizedHeader) if len(headerMatches) == 0 { continue } + header = headerMatches[1] + value = headerMatches[2] + + header = strings.ToLower(strings.TrimSpace(header)) + value = strings.TrimSpace(value) - header := strings.ToLower(strings.TrimSpace(headerMatches[1])) - if excludedCanonicalHeaders[headerMatches[1]] { + if excludedCanonicalHeaders[header] { // Do not keep any deliberately excluded canonical headers when signing. continue } - value := strings.TrimSpace(headerMatches[2]) + if len(value) > 0 { // Remove duplicate headers by appending the values of duplicates // in their order of appearance. @@ -220,51 +268,256 @@ func sanitizeHeaders(hdrs []string) []string { var sanitizedHeaders []string for header, values := range headerMap { - // There should be no spaces around the colon separating the - // header name from the header value or around the values - // themselves. The values should be separated by commas. + // There should be no spaces around the colon separating the header name + // from the header value or around the values themselves. The values + // should be separated by commas. + // // NOTE: The semantics for headers without a value are not clear. - // However from specifications these should be edge-cases - // anyway and we should assume that there will be no - // canonical headers using empty values. Any such headers - // are discarded at the regexp stage above. - sanitizedHeaders = append( - sanitizedHeaders, - fmt.Sprintf("%s:%s", header, strings.Join(values, ",")), - ) + // However from specifications these should be edge-cases anyway and we + // should assume that there will be no canonical headers using empty + // values. Any such headers are discarded at the regexp stage above. + sanitizedHeaders = append(sanitizedHeaders, fmt.Sprintf("%s:%s", header, strings.Join(values, ","))) } sort.Strings(sanitizedHeaders) return sanitizedHeaders } +// v4SanitizeHeaders applies the specifications for canonical extension headers +// at https://cloud.google.com/storage/docs/access-control/signed-urls#about-canonical-extension-headers. +// +// V4 does a couple things differently from V2: +// - Headers get sorted by key, instead of by key:value. We do this in +// signedURLV4. +// - There's no canonical regexp: we simply split headers on :. +// - We don't exclude canonical headers. +// - We replace leading and trailing spaces in header values, like v2, but also +// all intermediate space duplicates get stripped. That is, there's only ever +// a single consecutive space. +func v4SanitizeHeaders(hdrs []string) []string { + headerMap := map[string][]string{} + for _, hdr := range hdrs { + // No leading or trailing whitespaces. + sanitizedHeader := strings.TrimSpace(hdr) + + var key, value string + headerMatches := strings.Split(sanitizedHeader, ":") + if len(headerMatches) < 2 { + continue + } + + key = headerMatches[0] + value = headerMatches[1] + + key = strings.ToLower(strings.TrimSpace(key)) + value = strings.TrimSpace(value) + value = string(spaceRegex.ReplaceAll([]byte(value), []byte(" "))) + value = string(tabRegex.ReplaceAll([]byte(value), []byte("\t"))) + + if len(value) > 0 { + // Remove duplicate headers by appending the values of duplicates + // in their order of appearance. + headerMap[key] = append(headerMap[key], value) + } + } + + var sanitizedHeaders []string + for header, values := range headerMap { + // There should be no spaces around the colon separating the header name + // from the header value or around the values themselves. The values + // should be separated by commas. + // + // NOTE: The semantics for headers without a value are not clear. + // However from specifications these should be edge-cases anyway and we + // should assume that there will be no canonical headers using empty + // values. Any such headers are discarded at the regexp stage above. + sanitizedHeaders = append(sanitizedHeaders, fmt.Sprintf("%s:%s", header, strings.Join(values, ","))) + } + return sanitizedHeaders +} + // SignedURL returns a URL for the specified object. Signed URLs allow // the users access to a restricted resource for a limited time without having a // Google account or signing in. For more information about the signed // URLs, see https://cloud.google.com/storage/docs/accesscontrol#Signed-URLs. func SignedURL(bucket, name string, opts *SignedURLOptions) (string, error) { + now := utcNow() + if err := validateOptions(opts, now); err != nil { + return "", err + } + + switch opts.Scheme { + case SigningSchemeV2: + opts.Headers = v2SanitizeHeaders(opts.Headers) + return signedURLV2(bucket, name, opts) + case SigningSchemeV4: + opts.Headers = v4SanitizeHeaders(opts.Headers) + return signedURLV4(bucket, name, opts, now) + default: // SigningSchemeDefault + opts.Headers = v2SanitizeHeaders(opts.Headers) + return signedURLV2(bucket, name, opts) + } +} + +func validateOptions(opts *SignedURLOptions, now time.Time) error { if opts == nil { - return "", errors.New("storage: missing required SignedURLOptions") + return errors.New("storage: missing required SignedURLOptions") } if opts.GoogleAccessID == "" { - return "", errors.New("storage: missing required GoogleAccessID") + return errors.New("storage: missing required GoogleAccessID") } if (opts.PrivateKey == nil) == (opts.SignBytes == nil) { - return "", errors.New("storage: exactly one of PrivateKey or SignedBytes must be set") + return errors.New("storage: exactly one of PrivateKey or SignedBytes must be set") } if opts.Method == "" { - return "", errors.New("storage: missing required method option") + return errors.New("storage: missing required method option") } if opts.Expires.IsZero() { - return "", errors.New("storage: missing required expires option") + return errors.New("storage: missing required expires option") } if opts.MD5 != "" { md5, err := base64.StdEncoding.DecodeString(opts.MD5) if err != nil || len(md5) != 16 { - return "", errors.New("storage: invalid MD5 checksum") + return errors.New("storage: invalid MD5 checksum") + } + } + if opts.Scheme == SigningSchemeV4 { + cutoff := now.Add(604801 * time.Second) // 7 days + 1 second + if !opts.Expires.Before(cutoff) { + return errors.New("storage: expires must be within seven days from now") } } - opts.Headers = sanitizeHeaders(opts.Headers) + return nil +} + +const ( + iso8601 = "20060102T150405Z" + yearMonthDay = "20060102" +) +// utcNow returns the current time in UTC and is a variable to allow for +// reassignment in tests to provide deterministic signed URL values. +var utcNow = func() time.Time { + return time.Now().UTC() +} + +// extractHeaderNames takes in a series of key:value headers and returns the +// header names only. +func extractHeaderNames(kvs []string) []string { + var res []string + for _, header := range kvs { + nameValue := strings.Split(header, ":") + res = append(res, nameValue[0]) + } + return res +} + +// signedURLV4 creates a signed URL using the sigV4 algorithm. +func signedURLV4(bucket, name string, opts *SignedURLOptions, now time.Time) (string, error) { + buf := &bytes.Buffer{} + fmt.Fprintf(buf, "%s\n", opts.Method) + u := &url.URL{Path: bucket} + if name != "" { + u.Path += "/" + name + } + + // Note: we have to add a / here because GCS does so auto-magically, despite + // Go's EscapedPath not doing so (and we have to exactly match their + // canonical query). + fmt.Fprintf(buf, "/%s\n", u.EscapedPath()) + + headerNames := append(extractHeaderNames(opts.Headers), "host") + if opts.ContentType != "" { + headerNames = append(headerNames, "content-type") + } + if opts.MD5 != "" { + headerNames = append(headerNames, "content-md5") + } + sort.Strings(headerNames) + signedHeaders := strings.Join(headerNames, ";") + timestamp := now.Format(iso8601) + credentialScope := fmt.Sprintf("%s/auto/storage/goog4_request", now.Format(yearMonthDay)) + canonicalQueryString := url.Values{ + "X-Goog-Algorithm": {"GOOG4-RSA-SHA256"}, + "X-Goog-Credential": {fmt.Sprintf("%s/%s", opts.GoogleAccessID, credentialScope)}, + "X-Goog-Date": {timestamp}, + "X-Goog-Expires": {fmt.Sprintf("%d", int(opts.Expires.Sub(now).Seconds()))}, + "X-Goog-SignedHeaders": {signedHeaders}, + } + fmt.Fprintf(buf, "%s\n", canonicalQueryString.Encode()) + + u.Host = "storage.googleapis.com" + + var headersWithValue []string + headersWithValue = append(headersWithValue, "host:"+u.Host) + headersWithValue = append(headersWithValue, opts.Headers...) + if opts.ContentType != "" { + headersWithValue = append(headersWithValue, "content-type:"+strings.TrimSpace(opts.ContentType)) + } + if opts.MD5 != "" { + headersWithValue = append(headersWithValue, "content-md5:"+strings.TrimSpace(opts.MD5)) + } + canonicalHeaders := strings.Join(sortHeadersByKey(headersWithValue), "\n") + fmt.Fprintf(buf, "%s\n\n", canonicalHeaders) + fmt.Fprintf(buf, "%s\n", signedHeaders) + fmt.Fprint(buf, "UNSIGNED-PAYLOAD") + + sum := sha256.Sum256(buf.Bytes()) + hexDigest := hex.EncodeToString(sum[:]) + signBuf := &bytes.Buffer{} + fmt.Fprint(signBuf, "GOOG4-RSA-SHA256\n") + fmt.Fprintf(signBuf, "%s\n", timestamp) + fmt.Fprintf(signBuf, "%s\n", credentialScope) + fmt.Fprintf(signBuf, "%s", hexDigest) + + signBytes := opts.SignBytes + if opts.PrivateKey != nil { + key, err := parseKey(opts.PrivateKey) + if err != nil { + return "", err + } + signBytes = func(b []byte) ([]byte, error) { + sum := sha256.Sum256(b) + return rsa.SignPKCS1v15( + rand.Reader, + key, + crypto.SHA256, + sum[:], + ) + } + } + b, err := signBytes(signBuf.Bytes()) + if err != nil { + return "", err + } + signature := hex.EncodeToString(b) + canonicalQueryString.Set("X-Goog-Signature", string(signature)) + u.Scheme = "https" + u.RawQuery = canonicalQueryString.Encode() + return u.String(), nil +} + +// takes a list of headerKey:headervalue1,headervalue2,etc and sorts by header +// key. +func sortHeadersByKey(hdrs []string) []string { + headersMap := map[string]string{} + var headersKeys []string + for _, h := range hdrs { + parts := strings.Split(h, ":") + k := parts[0] + v := parts[1] + headersMap[k] = v + headersKeys = append(headersKeys, k) + } + sort.Strings(headersKeys) + var sorted []string + for _, k := range headersKeys { + v := headersMap[k] + sorted = append(sorted, fmt.Sprintf("%s:%s", k, v)) + } + return sorted +} + +func signedURLV2(bucket, name string, opts *SignedURLOptions) (string, error) { signBytes := opts.SignBytes if opts.PrivateKey != nil { key, err := parseKey(opts.PrivateKey) @@ -777,6 +1030,10 @@ type ObjectAttrs struct { // ObjectIterator.Next. When set, no other fields in ObjectAttrs will be // populated. Prefix string + + // Etag is the HTTP/1.1 Entity tag for the object. + // This field is read-only. + Etag string } // convertTime converts a time in RFC3339 format to time.Time. @@ -829,6 +1086,7 @@ func newObject(o *raw.Object) *ObjectAttrs { Created: convertTime(o.TimeCreated), Deleted: convertTime(o.TimeDeleted), Updated: convertTime(o.Updated), + Etag: o.Etag, } } diff --git a/vendor/cloud.google.com/go/storage/storage.replay b/vendor/cloud.google.com/go/storage/storage.replay index c00023ae8a2..07ed1bfaf33 100644 --- a/vendor/cloud.google.com/go/storage/storage.replay +++ b/vendor/cloud.google.com/go/storage/storage.replay @@ -1,5 +1,5 @@ { - "Initial": "IjIwMTktMDEtMDlUMjI6MDc6MzUuMjg1OTg0NzQ2WiI=", + "Initial": "IjIwMTktMDUtMDJUMjI6MjM6NTMuNDAzNDMyMDEzWiI=", "Version": "0.2", "Converter": { "ClearHeaders": [ @@ -29,10 +29,10 @@ }, "Entries": [ { - "ID": "f519a0976f4f7734", + "ID": "f5f231bed6e14b7f", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" @@ -46,7 +46,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIn0K" + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIn0K" ] }, "Response": { @@ -55,17 +55,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "484" + "485" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:36 GMT" + "Thu, 02 May 2019 22:23:54 GMT" ], "Etag": [ "CAE=" @@ -83,18 +86,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrFXThfUgknPNyRUpgBpAlwK5NWEr8mcwQWP8H1izc-spQoV5457ounvYAkcy9C4Kv6wMyWr9jU-umUFPC0-7NP1bRYTfgO4C63rKqKli805ShRt6A" + "AEnB2UrZvgYBWgsCwPaGI9bo1ccC0WCBc8kJgydTwioDtXR9xps4HiDoKXI-vjYUl876SMqF0JhmhaEBgvxrIL9Y989YCFrH65xGys_r1JbPdi9M9N0kS3M" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6MzYuMzkyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjM2LjM5MloiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIzOjU0LjYxMFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyMzo1NC42MTBaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" } }, { - "ID": "b1e7b392d2373c43", + "ID": "9a9914424ef59619", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" @@ -108,7 +120,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAyIn0K" + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAyIn0K" ] }, "Response": { @@ -117,17 +129,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "484" + "485" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:37 GMT" + "Thu, 02 May 2019 22:23:55 GMT" ], "Etag": [ "CAE=" @@ -145,18 +160,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uok6mBSVVT1dkYkUnVPUORum_b4CgRf1JZN_b_LVg3QUxwT4vbI7t-BVoEVoux3f-yDfJ6ld4vnSZj5y4r4KeHjoHBAzyUsUC3_u4qL0L2qjOMLlTM" + "AEnB2UqFvRYrCleVqpn0QshSvzW5I1-8o7N6vGYh8o5G1f-AHnsX2N_x-NKJrvlxnXqm9auw5gMoWFaJTSTtKL5y85WlQ_eAjmmlrkD4tbHYBZJ386xgaZw" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMiIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDIiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6MzcuMjU5WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjM3LjI1OVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAyIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIzOjU1LjEwOVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyMzo1NS4xMDlaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" } }, { - "ID": "14571e9dbe7c8bed", + "ID": "17f2abbdd781a33b", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0002?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0002?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -166,7 +190,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -174,23 +200,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "2411" + "2431" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:37 GMT" + "Thu, 02 May 2019 22:23:55 GMT" ], "Etag": [ "CAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:37 GMT" + "Thu, 02 May 2019 22:23:55 GMT" ], "Server": [ "UploadServer" @@ -199,18 +228,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqeLQfhaChDQ-Tvx5vqfU3FeoT6C_Cp6xRkD2KvuqffTzlCUBlX_Fbh-iqrhJyPzdibM4nJChRmsrE-gUXabu8PtessNMu40otORszm8PmX_IoEoYM" + "AEnB2UoYoTmTG5mxpFGPvmECUTlGMlQwhfmqGsZtBtZ9xV89Pw3q-p5BBeX_3imdofr_7EBT7nBm4v5alpg45Zi8a8ET28qBH2xfNe4n15HR-1fhGou2wQU" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMiIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDIiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6MzcuMjU5WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjM3LjI1OVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMi9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDIiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMi9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDIvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDIvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAyL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDIiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAyIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIzOjU1LjEwOVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyMzo1NS4xMDlaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDIvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAyL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDIiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAyL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDIvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDIvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "b2648ba15e6bbe4d", + "ID": "6752f5a9a036af11", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0002?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0002?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -220,7 +258,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -228,6 +268,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -238,7 +281,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:07:38 GMT" + "Thu, 02 May 2019 22:23:56 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -253,18 +296,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq2VjLiETzP_V7rDmSSWJhM4o5l7UyIcajlazui-tQVSRa0lb6FBtKVZtiiDMm9-0vo2XBrfdOTKgVRlztMMXo3xSq8rAfZX21vWT0RC3xcZ6tlfgo" + "AEnB2Ur4bFsk4ylv96GsTkuDKG--hVaCR_UEhZ_fAzMGt5Eu5ZKncHOLjU_f2PcNP9saFGW-UkH9jXwt_nuR0G2zXOBjMJmLdd7Ml61bGMMrJeVa0OtcGpM" ] }, "Body": "" } }, { - "ID": "2973be229904a143", + "ID": "9c25646df7aacad9", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" @@ -278,7 +330,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJsYWJlbHMiOnsiZW1wdHkiOiIiLCJsMSI6InYxIn0sImxpZmVjeWNsZSI6eyJydWxlIjpbeyJhY3Rpb24iOnsic3RvcmFnZUNsYXNzIjoiTkVBUkxJTkUiLCJ0eXBlIjoiU2V0U3RvcmFnZUNsYXNzIn0sImNvbmRpdGlvbiI6eyJhZ2UiOjEwLCJjcmVhdGVkQmVmb3JlIjoiMjAxNy0wMS0wMSIsImlzTGl2ZSI6ZmFsc2UsIm1hdGNoZXNTdG9yYWdlQ2xhc3MiOlsiTVVMVElfUkVHSU9OQUwiLCJTVEFOREFSRCJdLCJudW1OZXdlclZlcnNpb25zIjozfX0seyJhY3Rpb24iOnsidHlwZSI6IkRlbGV0ZSJ9LCJjb25kaXRpb24iOnsiYWdlIjozMCwiY3JlYXRlZEJlZm9yZSI6IjIwMTctMDEtMDEiLCJpc0xpdmUiOnRydWUsIm1hdGNoZXNTdG9yYWdlQ2xhc3MiOlsiTkVBUkxJTkUiXSwibnVtTmV3ZXJWZXJzaW9ucyI6MTB9fV19LCJsb2NhdGlvbiI6IlVTIiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMiIsInN0b3JhZ2VDbGFzcyI6Ik5FQVJMSU5FIiwidmVyc2lvbmluZyI6eyJlbmFibGVkIjp0cnVlfX0K" + "eyJsYWJlbHMiOnsiZW1wdHkiOiIiLCJsMSI6InYxIn0sImxpZmVjeWNsZSI6eyJydWxlIjpbeyJhY3Rpb24iOnsic3RvcmFnZUNsYXNzIjoiTkVBUkxJTkUiLCJ0eXBlIjoiU2V0U3RvcmFnZUNsYXNzIn0sImNvbmRpdGlvbiI6eyJhZ2UiOjEwLCJjcmVhdGVkQmVmb3JlIjoiMjAxNy0wMS0wMSIsImlzTGl2ZSI6ZmFsc2UsIm1hdGNoZXNTdG9yYWdlQ2xhc3MiOlsiTVVMVElfUkVHSU9OQUwiLCJTVEFOREFSRCJdLCJudW1OZXdlclZlcnNpb25zIjozfX0seyJhY3Rpb24iOnsidHlwZSI6IkRlbGV0ZSJ9LCJjb25kaXRpb24iOnsiYWdlIjozMCwiY3JlYXRlZEJlZm9yZSI6IjIwMTctMDEtMDEiLCJpc0xpdmUiOnRydWUsIm1hdGNoZXNTdG9yYWdlQ2xhc3MiOlsiTkVBUkxJTkUiXSwibnVtTmV3ZXJWZXJzaW9ucyI6MTB9fV19LCJsb2NhdGlvbiI6IlVTIiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMiIsInN0b3JhZ2VDbGFzcyI6Ik5FQVJMSU5FIiwidmVyc2lvbmluZyI6eyJlbmFibGVkIjp0cnVlfX0K" ] }, "Response": { @@ -287,17 +339,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "925" + "926" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:39 GMT" + "Thu, 02 May 2019 22:23:56 GMT" ], "Etag": [ "CAE=" @@ -315,18 +370,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Up4DSLpqcEU5iQrDyNb3CKI_0plV_pxk7ZILK5X2ECQp5BkM-kW7n64H8Cgr6eRDmIB9_5SYfm6mq6Z-XFDMcjJKttG14JAeDWhBjOtLaCl2SqO4wY" + "AEnB2Uq6CjN9PjjzT3LmHxW_tU_ciQ1rahetoQGbX_gX8EC5il7tPJi2yxi5VZxnDNrp1h14b7Ix8tnvtkHufAyO1-lMRutdHK5GSzonff78Nm6KPAKN5fU" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMiIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDIiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6MzkuMTk0WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjM5LjE5NFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsInZlcnNpb25pbmciOnsiZW5hYmxlZCI6dHJ1ZX0sImxpZmVjeWNsZSI6eyJydWxlIjpbeyJhY3Rpb24iOnsidHlwZSI6IlNldFN0b3JhZ2VDbGFzcyIsInN0b3JhZ2VDbGFzcyI6Ik5FQVJMSU5FIn0sImNvbmRpdGlvbiI6eyJhZ2UiOjEwLCJjcmVhdGVkQmVmb3JlIjoiMjAxNy0wMS0wMSIsImlzTGl2ZSI6ZmFsc2UsIm1hdGNoZXNTdG9yYWdlQ2xhc3MiOlsiTVVMVElfUkVHSU9OQUwiLCJTVEFOREFSRCJdLCJudW1OZXdlclZlcnNpb25zIjozfX0seyJhY3Rpb24iOnsidHlwZSI6IkRlbGV0ZSJ9LCJjb25kaXRpb24iOnsiYWdlIjozMCwiY3JlYXRlZEJlZm9yZSI6IjIwMTctMDEtMDEiLCJpc0xpdmUiOnRydWUsIm1hdGNoZXNTdG9yYWdlQ2xhc3MiOlsiTkVBUkxJTkUiXSwibnVtTmV3ZXJWZXJzaW9ucyI6MTB9fV19LCJsYWJlbHMiOnsiZW1wdHkiOiIiLCJsMSI6InYxIn0sInN0b3JhZ2VDbGFzcyI6Ik5FQVJMSU5FIiwiZXRhZyI6IkNBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAyIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIzOjU2LjQwOVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyMzo1Ni40MDlaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJ2ZXJzaW9uaW5nIjp7ImVuYWJsZWQiOnRydWV9LCJsaWZlY3ljbGUiOnsicnVsZSI6W3siYWN0aW9uIjp7InR5cGUiOiJTZXRTdG9yYWdlQ2xhc3MiLCJzdG9yYWdlQ2xhc3MiOiJORUFSTElORSJ9LCJjb25kaXRpb24iOnsiYWdlIjoxMCwiY3JlYXRlZEJlZm9yZSI6IjIwMTctMDEtMDEiLCJpc0xpdmUiOmZhbHNlLCJtYXRjaGVzU3RvcmFnZUNsYXNzIjpbIk1VTFRJX1JFR0lPTkFMIiwiU1RBTkRBUkQiXSwibnVtTmV3ZXJWZXJzaW9ucyI6M319LHsiYWN0aW9uIjp7InR5cGUiOiJEZWxldGUifSwiY29uZGl0aW9uIjp7ImFnZSI6MzAsImNyZWF0ZWRCZWZvcmUiOiIyMDE3LTAxLTAxIiwiaXNMaXZlIjp0cnVlLCJtYXRjaGVzU3RvcmFnZUNsYXNzIjpbIk5FQVJMSU5FIl0sIm51bU5ld2VyVmVyc2lvbnMiOjEwfX1dfSwibGFiZWxzIjp7ImwxIjoidjEiLCJlbXB0eSI6IiJ9LCJzdG9yYWdlQ2xhc3MiOiJORUFSTElORSIsImV0YWciOiJDQUU9In0=" } }, { - "ID": "122651e1e7a47210", + "ID": "f795b9adcb1b546e", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0002?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0002?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -336,7 +400,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -344,23 +410,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "2852" + "2872" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:39 GMT" + "Thu, 02 May 2019 22:23:56 GMT" ], "Etag": [ "CAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:39 GMT" + "Thu, 02 May 2019 22:23:56 GMT" ], "Server": [ "UploadServer" @@ -369,18 +438,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpM6QXjZ8Rk36bQ6BsPdzRw4db-7axHagiDr_du_I05QZXNKLRIRbv8rswMKG3OKjiej-1asnJVhdhDc0B4VKEiWNCnjBMtxZTQSWI93g4yvgfYo3s" + "AEnB2Up2-mWQyRDbFSpF6U96vQpaBYr74NgiUWh3-KZnLWaFYnhQti1tgKWNtL15YgK8blaRSnzGeACPA6jNuM34yhr7bxztrdN2tobEQAzD5RVgzpqx14w" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMiIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDIiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6MzkuMTk0WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjM5LjE5NFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMi9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDIiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMi9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDIvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDIvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAyL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDIiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJ2ZXJzaW9uaW5nIjp7ImVuYWJsZWQiOnRydWV9LCJsaWZlY3ljbGUiOnsicnVsZSI6W3siYWN0aW9uIjp7InR5cGUiOiJTZXRTdG9yYWdlQ2xhc3MiLCJzdG9yYWdlQ2xhc3MiOiJORUFSTElORSJ9LCJjb25kaXRpb24iOnsiYWdlIjoxMCwiY3JlYXRlZEJlZm9yZSI6IjIwMTctMDEtMDEiLCJpc0xpdmUiOmZhbHNlLCJtYXRjaGVzU3RvcmFnZUNsYXNzIjpbIk1VTFRJX1JFR0lPTkFMIiwiU1RBTkRBUkQiXSwibnVtTmV3ZXJWZXJzaW9ucyI6M319LHsiYWN0aW9uIjp7InR5cGUiOiJEZWxldGUifSwiY29uZGl0aW9uIjp7ImFnZSI6MzAsImNyZWF0ZWRCZWZvcmUiOiIyMDE3LTAxLTAxIiwiaXNMaXZlIjp0cnVlLCJtYXRjaGVzU3RvcmFnZUNsYXNzIjpbIk5FQVJMSU5FIl0sIm51bU5ld2VyVmVyc2lvbnMiOjEwfX1dfSwibGFiZWxzIjp7ImwxIjoidjEiLCJlbXB0eSI6IiJ9LCJzdG9yYWdlQ2xhc3MiOiJORUFSTElORSIsImV0YWciOiJDQUU9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAyIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIzOjU2LjQwOVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyMzo1Ni40MDlaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDIvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAyL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDIiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAyL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDIvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDIvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInZlcnNpb25pbmciOnsiZW5hYmxlZCI6dHJ1ZX0sImxpZmVjeWNsZSI6eyJydWxlIjpbeyJhY3Rpb24iOnsidHlwZSI6IlNldFN0b3JhZ2VDbGFzcyIsInN0b3JhZ2VDbGFzcyI6Ik5FQVJMSU5FIn0sImNvbmRpdGlvbiI6eyJhZ2UiOjEwLCJjcmVhdGVkQmVmb3JlIjoiMjAxNy0wMS0wMSIsImlzTGl2ZSI6ZmFsc2UsIm1hdGNoZXNTdG9yYWdlQ2xhc3MiOlsiTVVMVElfUkVHSU9OQUwiLCJTVEFOREFSRCJdLCJudW1OZXdlclZlcnNpb25zIjozfX0seyJhY3Rpb24iOnsidHlwZSI6IkRlbGV0ZSJ9LCJjb25kaXRpb24iOnsiYWdlIjozMCwiY3JlYXRlZEJlZm9yZSI6IjIwMTctMDEtMDEiLCJpc0xpdmUiOnRydWUsIm1hdGNoZXNTdG9yYWdlQ2xhc3MiOlsiTkVBUkxJTkUiXSwibnVtTmV3ZXJWZXJzaW9ucyI6MTB9fV19LCJsYWJlbHMiOnsibDEiOiJ2MSIsImVtcHR5IjoiIn0sInN0b3JhZ2VDbGFzcyI6Ik5FQVJMSU5FIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "11021902467edb9f", + "ID": "2ee3f84c4e4045fb", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0002?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0002?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -390,7 +468,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -398,6 +478,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -408,7 +491,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:07:40 GMT" + "Thu, 02 May 2019 22:23:57 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -423,18 +506,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq3b1A89jpOXQ3HJG626vmA4Rg3pkaNX9IxVhHuZruV-j-KpzaTVNUqZtIYsur73l-HWv0K1bj9agrYbqrbKD0FJQO_4spBQUgZwzFYTJEsCedvmdk" + "AEnB2UplJEr-Hxa3hDFT5ozLEHYhHfaxlYFpc9Vwm8AL831-w_7BBgxHjjEsU8Br_uLnLes0h9hz37iuE9V8uVZ2liHY7ZD4piNH31oyapjCtwyXrukIP94" ] }, "Body": "" } }, { - "ID": "38a491375641fe34", + "ID": "16f19dbf8e206756", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -444,7 +536,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -452,23 +546,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "2411" + "2431" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:40 GMT" + "Thu, 02 May 2019 22:23:57 GMT" ], "Etag": [ "CAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:40 GMT" + "Thu, 02 May 2019 22:23:57 GMT" ], "Server": [ "UploadServer" @@ -477,18 +574,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpWM33_hpKkOQWZRnu3ujH73n_H3yO1bgcCX5PHD7_WPFCwFql5xofg9SYPaIDohNGSD-F3zx1e9UNGzlil4eL8imGai4nwHgxEW1SLqNjqjywRQko" + "AEnB2Uqvp5XjvB8nhNuz-bTeN9OklTfiBGldYKkcY13JF6oUfpV0z_jwoEQD3B3Ss3wWpaSmZfePjo7fkkr-hP3jbrUazNHaqQliiHqOBSNmSoPmwJpzfOI" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6MzYuMzkyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjM2LjM5MloiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIzOjU0LjYxMFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyMzo1NC42MTBaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "8cc64e2a71b03e66", + "ID": "949f5ce411d6f672", "Request": { "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -511,17 +617,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2411" + "2431" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:40 GMT" + "Thu, 02 May 2019 22:23:58 GMT" ], "Etag": [ "CAE=" @@ -539,18 +648,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpcXN8bdKivpgCD1kDJOOvBba3w4i4qf6EgtbhP4IHZR9lEfSqMWxmTKUonGENyv8aGDrp7iXYKoAsxxLbN2QsU7j_ZFvVgXvzBKK_9iSawWYY-gI0" + "AEnB2UpVeVcmmuUyOt3Hbja89_Ewi6GRsJtRduqK93OT4Ys1aK5GqDWeGxyDbczUyRLeUYvZgtJzYLwVOOUszqAF4ipSXgZ1L_byd9cJ7ttVfQ_ceQBXxY4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6MzYuMzkyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjM2LjM5MloiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIzOjU0LjYxMFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyMzo1NC42MTBaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "2da36dcdcbc641c4", + "ID": "b75303fbdafb66d0", "Request": { "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -573,17 +691,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2473" + "2493" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:41 GMT" + "Thu, 02 May 2019 22:23:58 GMT" ], "Etag": [ "CAI=" @@ -601,18 +722,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrFxJyQ9QNZ4rIt6XyvMFBetpom8j38Z7TWZLBf9ersQqAzITZBf1MIbTtBUu6VgvsaKSkUwNiJ8loFyVoiVYUcD1dxVLcEtWTY_3XvNCzMDSL9IsM" + "AEnB2UqDnNlC3m95GplHjE79aqzhtwgfJCWQjHaCFG4i7qmTFliz2gdE4OiOnKAPIoNqxEngE35065YXNYA65aMSSeEluDKmQ__rJXcS_DpRdoYP4rZIyPo" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6MzYuMzkyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQxLjUxOVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJ2ZXJzaW9uaW5nIjp7ImVuYWJsZWQiOnRydWV9LCJsYWJlbHMiOnsibDEiOiJ2MSIsImVtcHR5IjoiIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIzOjU0LjYxMFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyMzo1OC40MzZaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInZlcnNpb25pbmciOnsiZW5hYmxlZCI6dHJ1ZX0sImxhYmVscyI6eyJlbXB0eSI6IiIsImwxIjoidjEifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9" } }, { - "ID": "4b45820331e3757e", + "ID": "831805b62d969707", "Request": { "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -635,17 +765,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2475" + "2495" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:42 GMT" + "Thu, 02 May 2019 22:23:59 GMT" ], "Etag": [ "CAM=" @@ -663,18 +796,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uo05enT9IYsq1v6wXmDiJQaiH54lCheDur8aRWxlWSmDjiXzRRZGPb4pYoU5DhQ-OE3pjeYzdiG1tGfgQUZSk585ScACDmXr1pAkqM3XDA4RC2IUOM" + "AEnB2Uq8yNb3V9Kq8zPa_pdVrJIYv83v4fu6xAHwktfTz_Cy4K1rpi8xrDzYmw5wICaazfMcAiYPhM8r4Y6WkeOyeCRInvkJ6ndduhNN_dgu1U59uI5F3Qc" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6MzYuMzkyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQyLjIyM1oiLCJtZXRhZ2VuZXJhdGlvbiI6IjMiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBTT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FNPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJ2ZXJzaW9uaW5nIjp7ImVuYWJsZWQiOmZhbHNlfSwibGFiZWxzIjp7Im5ldyI6Im5ldyIsImwxIjoidjIifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FNPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIzOjU0LjYxMFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyMzo1OS4wMzJaIiwibWV0YWdlbmVyYXRpb24iOiIzIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FNPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQU09In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBTT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInZlcnNpb25pbmciOnsiZW5hYmxlZCI6ZmFsc2V9LCJsYWJlbHMiOnsibDEiOiJ2MiIsIm5ldyI6Im5ldyJ9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQU09In0=" } }, { - "ID": "372cd47179d5130b", + "ID": "8a816d061fe9e7e0", "Request": { "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -697,17 +839,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2550" + "2570" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:43 GMT" + "Thu, 02 May 2019 22:23:59 GMT" ], "Etag": [ "CAQ=" @@ -725,18 +870,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoBnH6xOcFmzWOOycY8EyH0mwvGETxUWDgFrZNvREKACDm1lTvYFtxQ2KBRlOa3rkjI02rlR7XgN0fuFRUY7hk52tjAKEV2bAggEvIoSAwqS0LXqbs" + "AEnB2UrbjywEmDPkqxln7-Nx_8ngRxoWvncfCx1fGVpPZGEjjmg8OJgv0uaczxapjlNeEcvMnqWI_RVzG6_588QaO8nCnPVnE2kkIek3D_t6UNL9CCPYLRc" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6MzYuMzkyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQyLjkxNloiLCJtZXRhZ2VuZXJhdGlvbiI6IjQiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBUT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQVE9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBUT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBUT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FRPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FRPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJ2ZXJzaW9uaW5nIjp7ImVuYWJsZWQiOmZhbHNlfSwibGlmZWN5Y2xlIjp7InJ1bGUiOlt7ImFjdGlvbiI6eyJ0eXBlIjoiRGVsZXRlIn0sImNvbmRpdGlvbiI6eyJhZ2UiOjMwfX1dfSwibGFiZWxzIjp7Im5ldyI6Im5ldyIsImwxIjoidjIifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FRPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIzOjU0LjYxMFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyMzo1OS41MzBaIiwibWV0YWdlbmVyYXRpb24iOiI0IiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FRPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQVE9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQVE9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBUT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQVE9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBUT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInZlcnNpb25pbmciOnsiZW5hYmxlZCI6ZmFsc2V9LCJsaWZlY3ljbGUiOnsicnVsZSI6W3siYWN0aW9uIjp7InR5cGUiOiJEZWxldGUifSwiY29uZGl0aW9uIjp7ImFnZSI6MzB9fV19LCJsYWJlbHMiOnsibDEiOiJ2MiIsIm5ldyI6Im5ldyJ9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQVE9In0=" } }, { - "ID": "8c50077096c4f52a", + "ID": "6a60397ebae323e7", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -747,8 +901,8 @@ }, "MediaType": "multipart/related", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoiY29uZGRlbCJ9Cg==", - "Zm9v" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoiYnVja2V0UG9saWN5T25seSJ9Cg==", + "dGVzdA==" ] }, "Response": { @@ -757,20 +911,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3254" + "3305" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:43 GMT" + "Thu, 02 May 2019 22:24:00 GMT" ], "Etag": [ - "CPCpxYfb4d8CEAE=" + "CPmu4bnx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -785,49 +942,72 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoBbtQKW4ktm6EZmcWhsbHyBePAWsOwpgU2Bbd6yQAYD47F3CNzQ63b-mcUmku4c1Di4YPFfSdSkDYCfmdwrkN7Dg1_qtSR_Wcrd7H8p-0hIWdan70" + "AEnB2UokOvJnDKKHAQOa8mJLrxFpWWvQ2U_BC_3uI0Z4x870Q068evHio_t_YudbSq614h77-ofhBsyHpoknWnm_YrnXxkHzopreKoMBykFIcbsSB8TDKEE" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb25kZGVsLzE1NDcwNzE2NjM0NjE2MTYiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb25kZGVsIiwibmFtZSI6ImNvbmRkZWwiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2MzQ2MTYxNiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0My40NjFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDMuNDYxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQzLjQ2MVoiLCJzaXplIjoiMyIsIm1kNUhhc2giOiJyTDBZMjB6QytGenQ3MlZQek1TazJBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29uZGRlbD9nZW5lcmF0aW9uPTE1NDcwNzE2NjM0NjE2MTYmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29uZGRlbC8xNTQ3MDcxNjYzNDYxNjE2L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29uZGRlbC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjb25kZGVsIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjM0NjE2MTYiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNQQ3B4WWZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb25kZGVsLzE1NDcwNzE2NjM0NjE2MTYvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29uZGRlbC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29uZGRlbCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjYzNDYxNjE2IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNQQ3B4WWZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb25kZGVsLzE1NDcwNzE2NjM0NjE2MTYvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29uZGRlbC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29uZGRlbCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjYzNDYxNjE2IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDUENweFlmYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29uZGRlbC8xNTQ3MDcxNjYzNDYxNjE2L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb25kZGVsL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29uZGRlbCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjYzNDYxNjE2IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ1BDcHhZZmI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJ6OFN1SFE9PSIsImV0YWciOiJDUENweFlmYjRkOENFQUU9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9idWNrZXRQb2xpY3lPbmx5LzE1NTY4MzU4NDAwNTUxNjEiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9idWNrZXRQb2xpY3lPbmx5IiwibmFtZSI6ImJ1Y2tldFBvbGljeU9ubHkiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0MDA1NTE2MSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowMC4wNTRaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDAuMDU0WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjAwLjA1NFoiLCJzaXplIjoiNCIsIm1kNUhhc2giOiJDWTlyelVZaDAzUEszazZESmllMDlnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYnVja2V0UG9saWN5T25seT9nZW5lcmF0aW9uPTE1NTY4MzU4NDAwNTUxNjEmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYnVja2V0UG9saWN5T25seS8xNTU2ODM1ODQwMDU1MTYxL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2J1Y2tldFBvbGljeU9ubHkvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImJ1Y2tldFBvbGljeU9ubHkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0MDA1NTE2MSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUG11NGJueC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYnVja2V0UG9saWN5T25seS8xNTU2ODM1ODQwMDU1MTYxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9idWNrZXRQb2xpY3lPbmx5L2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYnVja2V0UG9saWN5T25seSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQwMDU1MTYxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ1BtdTRibngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2J1Y2tldFBvbGljeU9ubHkvMTU1NjgzNTg0MDA1NTE2MS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYnVja2V0UG9saWN5T25seS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImJ1Y2tldFBvbGljeU9ubHkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0MDA1NTE2MSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDUG11NGJueC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYnVja2V0UG9saWN5T25seS8xNTU2ODM1ODQwMDU1MTYxL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9idWNrZXRQb2xpY3lPbmx5L2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYnVja2V0UG9saWN5T25seSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQwMDU1MTYxIiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ1BtdTRibngvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJocUJ5d0E9PSIsImV0YWciOiJDUG11NGJueC9lRUNFQUU9In0=" } }, { - "ID": "4800e1ce035ad0af", + "ID": "32d392d1da32f27b", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/conddel?alt=json\u0026generation=1547071663461615\u0026prettyPrint=false", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/bucketPolicyOnly/acl/user-test%40example.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "111" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJ1c2VyLXRlc3RAZXhhbXBsZS5jb20iLCJyb2xlIjoiUkVBREVSIn0K" + ] }, "Response": { - "StatusCode": 404, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "243" + "519" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:43 GMT" + "Thu, 02 May 2019 22:24:00 GMT" + ], + "Etag": [ + "CPmu4bnx/eECEAI=" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:43 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -836,49 +1016,72 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq8Ydv_EG1CeQCUM6ILi0hcA9ZjzMueRlumfngAKYZGK7eYhcjn7NJnqwxy46pAZQDfLOU7BTbTKm_4PMqri5yAbNy5fMlHb1Q-vxmu4DOMOEiSTdw" + "AEnB2Uoau0xgFp6ib5wM0bBWjRlklvDRPOu0VZ-LFCeENUWXutmkXSfgUbtr2Nuefb7Pm_yLvCNqtB9B6k_N1V7AlvkN4_JEz67ZSXQ_sAD5L1teQIpGiqA" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vIHN1Y2ggb2JqZWN0OiBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29uZGRlbCJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb25kZGVsIn19" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYnVja2V0UG9saWN5T25seS8xNTU2ODM1ODQwMDU1MTYxL3VzZXItdGVzdEBleGFtcGxlLmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2J1Y2tldFBvbGljeU9ubHkvYWNsL3VzZXItdGVzdEBleGFtcGxlLmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImJ1Y2tldFBvbGljeU9ubHkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0MDA1NTE2MSIsImVudGl0eSI6InVzZXItdGVzdEBleGFtcGxlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJlbWFpbCI6InRlc3RAZXhhbXBsZS5jb20iLCJldGFnIjoiQ1BtdTRibngvZUVDRUFJPSJ9" } }, { - "ID": "ac95ae901dc9cee0", + "ID": "6e3d0eda38a3ab6e", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/conddel?alt=json\u0026ifMetagenerationMatch=2\u0026prettyPrint=false", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "59" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6dHJ1ZX19fQo=" + ] }, "Response": { - "StatusCode": 412, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "190" + "663" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:43 GMT" + "Thu, 02 May 2019 22:24:01 GMT" + ], + "Etag": [ + "CAU=" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:43 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -887,18 +1090,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrA44TblsR-QuIz3Wp0eX1_Uabkmdse4h_EnspGgLlG3YGBbSyckNcMT7ucx6rTOXKGQ-XUIKc3jFaVacKOKlEISYx3nbl6JHNW-t_y1QGaYxYeHI4" + "AEnB2UpSPFJHLzusxOr_OvhStJlWEpOs2EuthMO0Ys6pS9bsQeP0fthp_VUZfa8_sN8TX6PJYpxIdFlxB2QUaIujot1cUrssoU74XFrAwoqhlmiE5y9Aw-w" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImNvbmRpdGlvbk5vdE1ldCIsIm1lc3NhZ2UiOiJQcmVjb25kaXRpb24gRmFpbGVkIiwibG9jYXRpb25UeXBlIjoiaGVhZGVyIiwibG9jYXRpb24iOiJJZi1NYXRjaCJ9XSwiY29kZSI6NDEyLCJtZXNzYWdlIjoiUHJlY29uZGl0aW9uIEZhaWxlZCJ9fQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIzOjU0LjYxMFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowMS4yNDJaIiwibWV0YWdlbmVyYXRpb24iOiI1IiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOnRydWUsImxvY2tlZFRpbWUiOiIyMDE5LTA3LTMxVDIyOjI0OjAxLjIzMFoifX0sImxvY2F0aW9uIjoiVVMiLCJ2ZXJzaW9uaW5nIjp7ImVuYWJsZWQiOmZhbHNlfSwibGlmZWN5Y2xlIjp7InJ1bGUiOlt7ImFjdGlvbiI6eyJ0eXBlIjoiRGVsZXRlIn0sImNvbmRpdGlvbiI6eyJhZ2UiOjMwfX1dfSwibGFiZWxzIjp7ImwxIjoidjIiLCJuZXciOiJuZXcifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FVPSJ9" } }, { - "ID": "1d071f4bd96afae0", + "ID": "8f8dbb687dc49edb", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/conddel?alt=json\u0026ifMetagenerationNotMatch=1\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/acl?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -908,28 +1120,33 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 304, + "StatusCode": 400, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0" ], "Content-Length": [ - "0" + "13230" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:44 GMT" + "Thu, 02 May 2019 22:24:01 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:44 GMT" + "Thu, 02 May 2019 22:24:01 GMT" ], "Server": [ "UploadServer" @@ -938,18 +1155,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UqMCSg0SbhwndDip5omQfb2IkHJFON-o5LiAl62LNdn_ktvUeZUIPsuLGgoYdg0Zi7S8YQIXuyKVoWY4rklFxFC0-DHj9kxBSj-XfBej1jcNEzIiqE" + "AEnB2UpGpW2zLlN7nAgV5IVkKU3kx4QWHCkzAgMa-QPC1PyCol8CP9W605bMUmFMeerbR4enzmeNMvtb4a2HzBPUZ296YfGdtkt_6Guq82E226xzC5TPq4w" ] }, - "Body": "" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImludmFsaWQiLCJtZXNzYWdlIjoiQ2Fubm90IGdldCBsZWdhY3kgQUNMcyBmb3IgYSBidWNrZXQgdGhhdCBoYXMgZW5hYmxlZCBCdWNrZXQgUG9saWN5IE9ubHkuIFJlYWQgbW9yZSBhdCBodHRwczovL2Nsb3VkLmdvb2dsZS5jb20vc3RvcmFnZS9kb2NzL2J1Y2tldC1wb2xpY3ktb25seS4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6SU5WQUxJRF9SRVFVRVNUX0ZPUl9CVUNLRVRfUE9MSUNZX09OTFlfUkVTT1VSQ0U6IENhbm5vdCBnZXQgbGVnYWN5IEFDTHMgZm9yIGEgYnVja2V0IHRoYXQgaGFzIGVuYWJsZWQgQnVja2V0IFBvbGljeSBPbmx5LiBSZWFkIG1vcmUgYXQgaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL3N0b3JhZ2UvZG9jcy9idWNrZXQtcG9saWN5LW9ubHkuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjEwMSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5saXN0KEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6ODkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENhbm5vdCBnZXQgbGVnYWN5IEFDTHMgZm9yIGEgYnVja2V0IHRoYXQgaGFzIGVuYWJsZWQgQnVja2V0IFBvbGljeSBPbmx5LiBSZWFkIG1vcmUgYXQgaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL3N0b3JhZ2UvZG9jcy9idWNrZXQtcG9saWN5LW9ubHkuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUlOVkFMSURfVkFMVUUsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6SU5WQUxJRF9SRVFVRVNUX0ZPUl9CVUNLRVRfUE9MSUNZX09OTFlfUkVTT1VSQ0U6IENhbm5vdCBnZXQgbGVnYWN5IEFDTHMgZm9yIGEgYnVja2V0IHRoYXQgaGFzIGVuYWJsZWQgQnVja2V0IFBvbGljeSBPbmx5LiBSZWFkIG1vcmUgYXQgaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL3N0b3JhZ2UvZG9jcy9idWNrZXQtcG9saWN5LW9ubHkuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjEwMSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5saXN0KEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6ODkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENhbm5vdCBnZXQgbGVnYWN5IEFDTHMgZm9yIGEgYnVja2V0IHRoYXQgaGFzIGVuYWJsZWQgQnVja2V0IFBvbGljeSBPbmx5LiBSZWFkIG1vcmUgYXQgaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL3N0b3JhZ2UvZG9jcy9idWNrZXQtcG9saWN5LW9ubHkuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWJhZFJlcXVlc3QsIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLklOVkFMSURfVkFMVUUsIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpJTlZBTElEX1JFUVVFU1RfRk9SX0JVQ0tFVF9QT0xJQ1lfT05MWV9SRVNPVVJDRTogQ2Fubm90IGdldCBsZWdhY3kgQUNMcyBmb3IgYSBidWNrZXQgdGhhdCBoYXMgZW5hYmxlZCBCdWNrZXQgUG9saWN5IE9ubHkuIFJlYWQgbW9yZSBhdCBodHRwczovL2Nsb3VkLmdvb2dsZS5jb20vc3RvcmFnZS9kb2NzL2J1Y2tldC1wb2xpY3ktb25seS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MTAxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmxpc3QoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YTo4OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQ2Fubm90IGdldCBsZWdhY3kgQUNMcyBmb3IgYSBidWNrZXQgdGhhdCBoYXMgZW5hYmxlZCBCdWNrZXQgUG9saWN5IE9ubHkuIFJlYWQgbW9yZSBhdCBodHRwczovL2Nsb3VkLmdvb2dsZS5jb20vc3RvcmFnZS9kb2NzL2J1Y2tldC1wb2xpY3ktb25seS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBlcnJvclByb3RvQ29kZT1JTlZBTElEX1ZBTFVFLCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9Q2Fubm90IGdldCBsZWdhY3kgQUNMcyBmb3IgYSBidWNrZXQgdGhhdCBoYXMgZW5hYmxlZCBCdWNrZXQgUG9saWN5IE9ubHkuIFJlYWQgbW9yZSBhdCBodHRwczovL2Nsb3VkLmdvb2dsZS5jb20vc3RvcmFnZS9kb2NzL2J1Y2tldC1wb2xpY3ktb25seS4sIHVubmFtZWRBcmd1bWVudHM9W119LCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPUNhbm5vdCBnZXQgbGVnYWN5IEFDTHMgZm9yIGEgYnVja2V0IHRoYXQgaGFzIGVuYWJsZWQgQnVja2V0IFBvbGljeSBPbmx5LiBSZWFkIG1vcmUgYXQgaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL3N0b3JhZ2UvZG9jcy9idWNrZXQtcG9saWN5LW9ubHkuLCByZWFzb249aW52YWxpZCwgcnBjQ29kZT00MDB9IENhbm5vdCBnZXQgbGVnYWN5IEFDTHMgZm9yIGEgYnVja2V0IHRoYXQgaGFzIGVuYWJsZWQgQnVja2V0IFBvbGljeSBPbmx5LiBSZWFkIG1vcmUgYXQgaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL3N0b3JhZ2UvZG9jcy9idWNrZXQtcG9saWN5LW9ubHkuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6SU5WQUxJRF9SRVFVRVNUX0ZPUl9CVUNLRVRfUE9MSUNZX09OTFlfUkVTT1VSQ0U6IENhbm5vdCBnZXQgbGVnYWN5IEFDTHMgZm9yIGEgYnVja2V0IHRoYXQgaGFzIGVuYWJsZWQgQnVja2V0IFBvbGljeSBPbmx5LiBSZWFkIG1vcmUgYXQgaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL3N0b3JhZ2UvZG9jcy9idWNrZXQtcG9saWN5LW9ubHkuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjEwMSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5saXN0KEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6ODkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENhbm5vdCBnZXQgbGVnYWN5IEFDTHMgZm9yIGEgYnVja2V0IHRoYXQgaGFzIGVuYWJsZWQgQnVja2V0IFBvbGljeSBPbmx5LiBSZWFkIG1vcmUgYXQgaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL3N0b3JhZ2UvZG9jcy9idWNrZXQtcG9saWN5LW9ubHkuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5FcnJvckNvbGxlY3Rvci50b0ZhdWx0KEVycm9yQ29sbGVjdG9yLmphdmE6NTQpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5RXJyb3JDb252ZXJ0ZXIudG9GYXVsdChSb3N5RXJyb3JDb252ZXJ0ZXIuamF2YTo2Nylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjI1OSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjIzOSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnRocmVhZC5UaHJlYWRUcmFja2VycyRUaHJlYWRUcmFja2luZ1J1bm5hYmxlLnJ1bihUaHJlYWRUcmFja2Vycy5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6NDUzKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuc2VydmVyLkNvbW1vbk1vZHVsZSRDb250ZXh0Q2FycnlpbmdFeGVjdXRvclNlcnZpY2UkMS5ydW5JbkNvbnRleHQoQ29tbW9uTW9kdWxlLmphdmE6ODAyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlJDEucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ2MClcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihUcmFjZUNvbnRleHQuamF2YTozMTkpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6MzExKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NTcpXG5cdGF0IGNvbS5nb29nbGUuZ3NlLmludGVybmFsLkRpc3BhdGNoUXVldWVJbXBsJFdvcmtlclRocmVhZC5ydW4oRGlzcGF0Y2hRdWV1ZUltcGwuamF2YTo0MDMpXG4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkNhbm5vdCBnZXQgbGVnYWN5IEFDTHMgZm9yIGEgYnVja2V0IHRoYXQgaGFzIGVuYWJsZWQgQnVja2V0IFBvbGljeSBPbmx5LiBSZWFkIG1vcmUgYXQgaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL3N0b3JhZ2UvZG9jcy9idWNrZXQtcG9saWN5LW9ubHkuIn19" } }, { - "ID": "bae5ecb7e49eb0f8", + "ID": "42ce6421b2c9fae4", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/conddel?alt=json\u0026generation=1547071663461616\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/bucketPolicyOnly/acl?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -959,31 +1185,33 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 403, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" ], "Content-Length": [ - "0" + "13358" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:44 GMT" + "Thu, 02 May 2019 22:24:02 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:02 GMT" ], "Server": [ "UploadServer" @@ -992,30 +1220,41 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Uo2Q2zv9Dcb-DS1Ui3deJLBYCLCbA83lMZHGCvNjkKdmJ4gED8u6tNABLceJNMn4QcfbSOOSeWdERXZ14eaJReFeEz2mreJ2jdlQ0nvmOxfoT_PYko" + "AEnB2UqJwxja3nYzWYbg_I5gWvOiow2ORuo8tNA-_Vzw7DX_YVhhb6_p1giUk3WjUHWt-lyDA13adhPGi4BDfIXzQyf-ZL3lsHoa2sNm29BIqRznw4mkAdE" ] }, - "Body": "" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5nZXQgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9idWNrZXRQb2xpY3lPbmx5LiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0NFU1NfREVOSUVEOiBhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5nZXQgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9idWNrZXRQb2xpY3lPbmx5LlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToxMDEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IubGlzdChBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5nZXQgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9idWNrZXRQb2xpY3lPbmx5LlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cbmNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1GT1JCSURERU4sIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNDRVNTX0RFTklFRDogYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuZ2V0IGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYnVja2V0UG9saWN5T25seS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MTAxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmxpc3QoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YTo4OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuZ2V0IGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYnVja2V0UG9saWN5T25seS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBkb21haW49Z2xvYmFsLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9Zm9yYmlkZGVuLCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5GT1JCSURERU4sIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0NFU1NfREVOSUVEOiBhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5nZXQgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9idWNrZXRQb2xpY3lPbmx5LlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToxMDEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IubGlzdChBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5nZXQgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9idWNrZXRQb2xpY3lPbmx5LlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmdldCBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2J1Y2tldFBvbGljeU9ubHkuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5nZXQgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9idWNrZXRQb2xpY3lPbmx5LiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmdldCBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2J1Y2tldFBvbGljeU9ubHkuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNDRVNTX0RFTklFRDogYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuZ2V0IGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYnVja2V0UG9saWN5T25seS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MTAxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmxpc3QoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YTo4OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuZ2V0IGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYnVja2V0UG9saWN5T25seS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuZ2V0IGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYnVja2V0UG9saWN5T25seS4ifX0=" } }, { - "ID": "7fbb41534f14913b", + "ID": "0ca0bddf513110f4", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "45" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoib2JqMSJ9Cg==", - "xaxfEr5SfO1czyZTn7XDWg==" + "eyJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnt9fX0K" ] }, "Response": { @@ -1024,20 +1263,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3243" + "624" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:44 GMT" + "Thu, 02 May 2019 22:24:02 GMT" ], "Etag": [ - "CPqzk4jb4d8CEAE=" + "CAY=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -1052,18 +1294,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Up-DSNzRLoND2_2TQ1Q9bgxPd7CiLHWmhZCQY6N9b6u1Hm5PTRsROKL65ncD5dlUDyiETphbZsehYxeAK4NcgOfubcfo2Qawn1f1wh4wGzu79z7i3Q" + "AEnB2UpdDWPDU9-gPzHEieE0Rqx_40yf8fJLhwAP6fVsdS4F7I7sWj0h-Ti7VoDWciZgI_lgNUB7qyh08wjTAxrTLTsSiIYt2GR6ksxhDRupMoPWni5kXmE" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NC43NDBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDQuNzQwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ0Ljc0MFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoid1AvRjZPTlFqOWxOSEVrTDZmT2NFdz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTQ3MDcxNjY0NzQwODU4JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQcXprNGpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiNHRVVlZnPT0iLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIzOjU0LjYxMFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowMi4zNjFaIiwibWV0YWdlbmVyYXRpb24iOiI2IiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJ2ZXJzaW9uaW5nIjp7ImVuYWJsZWQiOmZhbHNlfSwibGlmZWN5Y2xlIjp7InJ1bGUiOlt7ImFjdGlvbiI6eyJ0eXBlIjoiRGVsZXRlIn0sImNvbmRpdGlvbiI6eyJhZ2UiOjMwfX1dfSwibGFiZWxzIjp7ImwxIjoidjIiLCJuZXciOiJuZXcifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FZPSJ9" } }, { - "ID": "0a39022b833cc621", + "ID": "8a8bee740102593d", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/bucketPolicyOnly/acl?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -1072,10 +1323,9 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoib2JqMiJ9Cg==", - "fjGvhccLsRIe8fp4UEK8Xw==" + "" ] }, "Response": { @@ -1084,26 +1334,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "3243" + "2964" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:45 GMT" + "Thu, 02 May 2019 22:24:02 GMT" ], "Etag": [ - "CNnErIjb4d8CEAE=" + "CPmu4bnx/eECEAI=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:02 GMT" ], "Server": [ "UploadServer" @@ -1112,18 +1362,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uo93UtEFLteKqKLgYG_txXa6Z5wUEa9SMXIM1KQRgfDp_PQEO9ppbwm8l0RTPc6WJeVXDIVPu3g6ssMSWy4bznJJs30sVCh7V9xQyYzsDBj32MqSII" + "AEnB2Uq59Mf8Ea4fgpDnUzupeIP3bGt3VpyI6HjL4KJtDKAD_h-Ua-AJSX3u3x4TCsx2MZcIVhMs9pW9SWsrIcsvsr3kGt2Je9W87LElbN5dlw02EItBcR4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyIiwibmFtZSI6Im9iajIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS4xNTJaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuMTUyWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjE1MloiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiUkFFaENEYUJFU1lmbHpCdmhxbXhldz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajI/Z2VuZXJhdGlvbj0xNTQ3MDcxNjY1MTUyNjAxJmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTm5FcklqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTm5FcklqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMi9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiRnFTcGV3PT0iLCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYnVja2V0UG9saWN5T25seS8xNTU2ODM1ODQwMDU1MTYxL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2J1Y2tldFBvbGljeU9ubHkvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImJ1Y2tldFBvbGljeU9ubHkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0MDA1NTE2MSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUG11NGJueC9lRUNFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYnVja2V0UG9saWN5T25seS8xNTU2ODM1ODQwMDU1MTYxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9idWNrZXRQb2xpY3lPbmx5L2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYnVja2V0UG9saWN5T25seSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQwMDU1MTYxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ1BtdTRibngvZUVDRUFJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2J1Y2tldFBvbGljeU9ubHkvMTU1NjgzNTg0MDA1NTE2MS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYnVja2V0UG9saWN5T25seS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImJ1Y2tldFBvbGljeU9ubHkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0MDA1NTE2MSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDUG11NGJueC9lRUNFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYnVja2V0UG9saWN5T25seS8xNTU2ODM1ODQwMDU1MTYxL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9idWNrZXRQb2xpY3lPbmx5L2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYnVja2V0UG9saWN5T25seSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQwMDU1MTYxIiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ1BtdTRibngvZUVDRUFJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2J1Y2tldFBvbGljeU9ubHkvMTU1NjgzNTg0MDA1NTE2MS91c2VyLXRlc3RAZXhhbXBsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9idWNrZXRQb2xpY3lPbmx5L2FjbC91c2VyLXRlc3RAZXhhbXBsZS5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJidWNrZXRQb2xpY3lPbmx5IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDAwNTUxNjEiLCJlbnRpdHkiOiJ1c2VyLXRlc3RAZXhhbXBsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZW1haWwiOiJ0ZXN0QGV4YW1wbGUuY29tIiwiZXRhZyI6IkNQbXU0Ym54L2VFQ0VBST0ifV19" } }, { - "ID": "8cc8df6118b34940", + "ID": "91ba2c22c5f5de9a", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/bucketPolicyOnly?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -1132,32 +1391,31 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoib2JqL3dpdGgvc2xhc2hlcyJ9Cg==", - "7/hiGqyl3BODrP6PAiHPrA==" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3459" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:07:45 GMT" - ], - "Etag": [ - "CNvzz4jb4d8CEAE=" + "Thu, 02 May 2019 22:24:03 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -1172,18 +1430,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoJfRVqhQTtk95Fg9wPVs-kT9QXQl6a2L3IVnPEXga0QUEquukifaEMYQViZr5-JJvzxIN66HCfabZjfUy7RxuM5FcNlt3KIv8xS26Rvk3VZ_nmUco" + "AEnB2UrwotKay181GHzZsWfp6BzJA4FDOIfK2s1WlzB9p8QsIEX42AtvMhkgLWqSIyEhb-MSv9snqx0WRwUs5sDN3_5NVoFTzQeLkDBR9mbsixI-udc8SLI" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcyIsIm5hbWUiOiJvYmovd2l0aC9zbGFzaGVzIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuNzMxWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjczMVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS43MzFaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IlJiMGN6WSszZllKTXI3YkdENXM4RkE9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcz9nZW5lcmF0aW9uPTE1NDcwNzE2NjU3MzIwNTkmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU0NzA3MTY2NTczMjA1OS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiMFRDeHhRPT0iLCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9" + "Body": "" } }, { - "ID": "4af9c728a0cf6f9c", + "ID": "43fec6c3a8c8cb63", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/obj%2Fwith%2Fslashes?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -1192,8 +1459,11 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoiY29uZGRlbCJ9Cg==", + "Zm9v" + ] }, "Response": { "StatusCode": 200, @@ -1201,20 +1471,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3459" + "3161" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:46 GMT" + "Thu, 02 May 2019 22:24:03 GMT" ], "Etag": [ - "CNvzz4jb4d8CEAE=" + "CNHLq7vx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -1229,18 +1502,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoR2IMTSNCR_kmem9HvZ2YKEZaP0_hOqxdFGbribb8Fa5htzcDSEa8eM5VDxHV-VZAF0Je9IQba7KD6FqimCa3eKr8DhzKrwplvJR1WC3kWKtDXnOE" + "AEnB2UrrYnzZRz4GFV3BsHoF-vv9v2Lc13Wp6-P5iowSZFjqyykVhYZ6CkesIVxA2v2xNCbVeWgCBXCFFt9fje73cis1cECwwqrYLr5QF5bZCy4TsJ-LT8k" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcyIsIm5hbWUiOiJvYmovd2l0aC9zbGFzaGVzIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuNzMxWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjczMVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS43MzFaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IlJiMGN6WSszZllKTXI3YkdENXM4RkE9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcz9nZW5lcmF0aW9uPTE1NDcwNzE2NjU3MzIwNTkmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU0NzA3MTY2NTczMjA1OS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiMFRDeHhRPT0iLCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb25kZGVsLzE1NTY4MzU4NDMzNjg0MDEiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb25kZGVsIiwibmFtZSI6ImNvbmRkZWwiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0MzM2ODQwMSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowMy4zNjhaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDMuMzY4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjAzLjM2OFoiLCJzaXplIjoiMyIsIm1kNUhhc2giOiJyTDBZMjB6QytGenQ3MlZQek1TazJBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29uZGRlbD9nZW5lcmF0aW9uPTE1NTY4MzU4NDMzNjg0MDEmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29uZGRlbC8xNTU2ODM1ODQzMzY4NDAxL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbmRkZWwvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbmRkZWwiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0MzM2ODQwMSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTkhMcTd2eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29uZGRlbC8xNTU2ODM1ODQzMzY4NDAxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb25kZGVsL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY29uZGRlbCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQzMzY4NDAxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ05ITHE3dngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbmRkZWwvMTU1NjgzNTg0MzM2ODQwMS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29uZGRlbC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbmRkZWwiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0MzM2ODQwMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTkhMcTd2eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29uZGRlbC8xNTU2ODM1ODQzMzY4NDAxL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb25kZGVsL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY29uZGRlbCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQzMzY4NDAxIiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ05ITHE3dngvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJ6OFN1SFE9PSIsImV0YWciOiJDTkhMcTd2eC9lRUNFQUU9In0=" } }, { - "ID": "eb685588de40eadb", + "ID": "ba03d9efb1402903", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/obj1?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/conddel?alt=json\u0026generation=1556835843368400\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -1250,34 +1532,33 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 404, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" ], "Content-Length": [ - "3243" + "12249" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:46 GMT" - ], - "Etag": [ - "CPqzk4jb4d8CEAE=" + "Thu, 02 May 2019 22:24:03 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:03 GMT" ], "Server": [ "UploadServer" @@ -1286,18 +1567,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UqUHqwybMKdYuwVSNXq3CTEDiJ4LV8X3C9dRYF_W7KENianJhEZlF5etZFZueDjFnsl9C8ZC8T8-Lr4Gx9HzA3IElJPiShg05WmloCL27a-AJWBoUM" + "AEnB2Ur-mcvaL-eBgBoviwBg_r8LyEEK3JNyFaj0cFy2neOMo1pVkWpkGQ-3gz8vQNtAGoX-Q7_CMYLNv_I0pOoy5iRr-MdYKny5ICdC1s3ji5DwL7sqmn0" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NC43NDBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDQuNzQwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ0Ljc0MFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoid1AvRjZPTlFqOWxOSEVrTDZmT2NFdz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTQ3MDcxNjY0NzQwODU4JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQcXprNGpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiNHRVVlZnPT0iLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vIHN1Y2ggb2JqZWN0OiBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29uZGRlbCIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpPQkpFQ1RfTk9UX0ZPVU5EOiBObyBzdWNoIG9iamVjdDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbmRkZWxcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuRGVsZXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVPYmplY3QuamF2YTo4OClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuZGVsZXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IE5vIHN1Y2ggb2JqZWN0OiBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29uZGRlbFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cbmNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1OT1RfRk9VTkQsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6T0JKRUNUX05PVF9GT1VORDogTm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb25kZGVsXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6ODgpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5EZWxldGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZU9iamVjdC5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmRlbGV0ZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBObyBzdWNoIG9iamVjdDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbmRkZWxcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBkb21haW49Z2xvYmFsLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9bm90Rm91bmQsIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLk5PVF9GT1VORCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6Ok9CSkVDVF9OT1RfRk9VTkQ6IE5vIHN1Y2ggb2JqZWN0OiBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29uZGRlbFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5EZWxldGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZU9iamVjdC5qYXZhOjg4KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuRGVsZXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVPYmplY3QuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5kZWxldGUoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjExMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogTm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb25kZGVsXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZXJyb3JQcm90b0NvZGU9Tk9UX0ZPVU5ELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZV9pZC5uYW1lLCBtZXNzYWdlPU5vIHN1Y2ggb2JqZWN0OiBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29uZGRlbCwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZV9pZC5uYW1lLCBtZXNzYWdlPU5vIHN1Y2ggb2JqZWN0OiBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29uZGRlbCwgcmVhc29uPW5vdEZvdW5kLCBycGNDb2RlPTQwNH0gTm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb25kZGVsOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6T0JKRUNUX05PVF9GT1VORDogTm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb25kZGVsXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6ODgpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5EZWxldGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZU9iamVjdC5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmRlbGV0ZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBObyBzdWNoIG9iamVjdDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbmRkZWxcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb25kZGVsIn19" } }, { - "ID": "281aa6ab73088e8c", + "ID": "e26af2cd4673cc7c", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/obj2?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/conddel?alt=json\u0026ifMetagenerationMatch=2\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -1307,34 +1597,33 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 412, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" ], "Content-Length": [ - "3243" + "12051" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:46 GMT" - ], - "Etag": [ - "CNnErIjb4d8CEAE=" + "Thu, 02 May 2019 22:24:03 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:03 GMT" ], "Server": [ "UploadServer" @@ -1343,18 +1632,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UrYxpz42bD0ZaW0Y6sRTmTiMpTh6c-eGBPZFh-ZduLbiXIBeJnFpdMitUuAHtcST_GYhZwjw9jGUy_y5CG8zY3xal4lrEz0Ps8JcZx9NqyuJTY-dCk" + "AEnB2Uopfd5TJBzhGauzgyZW0h-TNFtDHz34k0kjbeuTeQPnMGBaiSFz9FdWA2gxp7qKp-V586voh7kqHgnVSW_QI4bWEuC35pj8NbCmmpNL_9pstpCgckw" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyIiwibmFtZSI6Im9iajIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS4xNTJaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuMTUyWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjE1MloiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiUkFFaENEYUJFU1lmbHpCdmhxbXhldz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajI/Z2VuZXJhdGlvbj0xNTQ3MDcxNjY1MTUyNjAxJmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTm5FcklqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTm5FcklqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMi9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiRnFTcGV3PT0iLCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImNvbmRpdGlvbk5vdE1ldCIsIm1lc3NhZ2UiOiJQcmVjb25kaXRpb24gRmFpbGVkIiwibG9jYXRpb25UeXBlIjoiaGVhZGVyIiwibG9jYXRpb24iOiJJZi1NYXRjaCIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpJTkNPUlJFQ1RfTUVUQV9HRU5FUkFUSU9OX1NQRUNJRklFRDogRXhwZWN0ZWQgbWV0YWRhdGEgZ2VuZXJhdGlvbiB0byBtYXRjaCAyLCBidXQgYWN0dWFsIHZhbHVlIHdhcyAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5EZWxldGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZU9iamVjdC5qYXZhOjg4KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuRGVsZXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVPYmplY3QuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5kZWxldGUoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjExMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogRXhwZWN0ZWQgbWV0YWRhdGEgZ2VuZXJhdGlvbiB0byBtYXRjaCAyLCBidXQgYWN0dWFsIHZhbHVlIHdhcyAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cbmNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1QUkVDT05ESVRJT05fRkFJTEVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OklOQ09SUkVDVF9NRVRBX0dFTkVSQVRJT05fU1BFQ0lGSUVEOiBFeHBlY3RlZCBtZXRhZGF0YSBnZW5lcmF0aW9uIHRvIG1hdGNoIDIsIGJ1dCBhY3R1YWwgdmFsdWUgd2FzIDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6ODgpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5EZWxldGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZU9iamVjdC5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmRlbGV0ZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBFeHBlY3RlZCBtZXRhZGF0YSBnZW5lcmF0aW9uIHRvIG1hdGNoIDIsIGJ1dCBhY3R1YWwgdmFsdWUgd2FzIDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPXByZWNvbmRpdGlvbkZhaWxlZCwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uQ09ORElUSU9OX05PVF9NRVQsIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpJTkNPUlJFQ1RfTUVUQV9HRU5FUkFUSU9OX1NQRUNJRklFRDogRXhwZWN0ZWQgbWV0YWRhdGEgZ2VuZXJhdGlvbiB0byBtYXRjaCAyLCBidXQgYWN0dWFsIHZhbHVlIHdhcyAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5EZWxldGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZU9iamVjdC5qYXZhOjg4KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuRGVsZXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVPYmplY3QuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5kZWxldGUoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjExMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogRXhwZWN0ZWQgbWV0YWRhdGEgZ2VuZXJhdGlvbiB0byBtYXRjaCAyLCBidXQgYWN0dWFsIHZhbHVlIHdhcyAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUNPTkRJVElPTl9OT1RfTUVULCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9bnVsbCwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPWhlYWRlcnMuSWYtTWF0Y2gsIG1lc3NhZ2U9UHJlY29uZGl0aW9uIEZhaWxlZCwgcmVhc29uPWNvbmRpdGlvbk5vdE1ldCwgcnBjQ29kZT00MTJ9IFByZWNvbmRpdGlvbiBGYWlsZWQ6IGNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpJTkNPUlJFQ1RfTUVUQV9HRU5FUkFUSU9OX1NQRUNJRklFRDogRXhwZWN0ZWQgbWV0YWRhdGEgZ2VuZXJhdGlvbiB0byBtYXRjaCAyLCBidXQgYWN0dWFsIHZhbHVlIHdhcyAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5EZWxldGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZU9iamVjdC5qYXZhOjg4KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuRGVsZXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVPYmplY3QuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5kZWxldGUoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjExMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogRXhwZWN0ZWQgbWV0YWRhdGEgZ2VuZXJhdGlvbiB0byBtYXRjaCAyLCBidXQgYWN0dWFsIHZhbHVlIHdhcyAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MTIsIm1lc3NhZ2UiOiJQcmVjb25kaXRpb24gRmFpbGVkIn19" } }, { - "ID": "d878ada94206839c", + "ID": "857f8a30eb55b023", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/conddel?alt=json\u0026ifMetagenerationNotMatch=1\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -1364,28 +1662,33 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 304, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "private, max-age=0" ], "Content-Length": [ - "9984" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:07:47 GMT" + "Thu, 02 May 2019 22:24:04 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:47 GMT" + "Thu, 02 May 2019 22:24:04 GMT" ], "Server": [ "UploadServer" @@ -1394,18 +1697,27 @@ "Origin", "X-Origin" ], - "X-Guploader-Uploadid": [ - "AEnB2UrgCA5knIq2wG90WFFUvW-kKKSxftzcRmY_kzojLaoPr-1v5R-Ct9Yxne9E3qUHDaKST-9yiBXVHZV9A_DSuUVDbzdKGUgI61_41iCxfoFf5Y1mcr0" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], + "X-Guploader-Uploadid": [ + "AEnB2Uprv3QMjU4zz49ScYI4YaY9FitNwO7wGMQ1KZ8Y99w4D7keznFfA8M80bMdKvSH55jsWsDoLKcQ1VvIqIEUw88NqSfUM7E5SR_y5zfDaCf_uHSlgPM" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU0NzA3MTY2NTczMjA1OSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzIiwibmFtZSI6Im9iai93aXRoL3NsYXNoZXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS43MzFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuNzMxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjczMVoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiUmIwY3pZKzNmWUpNcjdiR0Q1czhGQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzP2dlbmVyYXRpb249MTU0NzA3MTY2NTczMjA1OSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiIwVEN4eFE9PSIsImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NC43NDBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDQuNzQwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ0Ljc0MFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoid1AvRjZPTlFqOWxOSEVrTDZmT2NFdz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTQ3MDcxNjY0NzQwODU4JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQcXprNGpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiNHRVVlZnPT0iLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMiIsIm5hbWUiOiJvYmoyIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuMTUyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjE1MloiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS4xNTJaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IlJBRWhDRGFCRVNZZmx6QnZocW14ZXc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyP2dlbmVyYXRpb249MTU0NzA3MTY2NTE1MjYwMSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIvYWNsL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTm5FcklqYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IkZxU3Bldz09IiwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifV19" + "Body": "" } }, { - "ID": "aee546b84f096464", + "ID": "4c69a7dc19302935", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026delimiter=\u0026maxResults=1\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/conddel?alt=json\u0026generation=1556835843368401\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -1415,28 +1727,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3539" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:07:47 GMT" + "Thu, 02 May 2019 22:24:04 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:47 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -1445,18 +1765,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpF6Gqs8qDz1mt9Rc2XaDtiILxpE0bxecSZvs0nAdtQOIjt1e7zaTzBG-vA1fv4_7dnktNyfNkCYipyr68S13QWWXtuM1N3sF7M2wFhSFmiwO7e6AY" + "AEnB2UpoiZa1zqMV-8ZkeUrvT6Xi0uJul6yGWWth5s3YbFtA2p0-6vc_54sNtEbxbnsASZyMDXLelHaCSixgcVT6JDVELrXHDim9gHcjjlSTF6BsHWu181A" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwibmV4dFBhZ2VUb2tlbiI6IkNoQnZZbW92ZDJsMGFDOXpiR0Z6YUdWeiIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcyIsIm5hbWUiOiJvYmovd2l0aC9zbGFzaGVzIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuNzMxWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjczMVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS43MzFaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IlJiMGN6WSszZllKTXI3YkdENXM4RkE9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcz9nZW5lcmF0aW9uPTE1NDcwNzE2NjU3MzIwNTkmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU0NzA3MTY2NTczMjA1OS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiMFRDeHhRPT0iLCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9XX0=" + "Body": "" } }, { - "ID": "5fe5ccb64cc462a9", + "ID": "834f05b1eb2dbc32", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026delimiter=\u0026maxResults=1\u0026pageToken=ChBvYmovd2l0aC9zbGFzaGVz\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -1465,8 +1794,11 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoib2JqMSJ9Cg==", + "TuDshcL7vdCAXh8L42NvEQ==" + ] }, "Response": { "StatusCode": 200, @@ -1474,20 +1806,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3307" + "3150" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:48 GMT" + "Thu, 02 May 2019 22:24:04 GMT" + ], + "Etag": [ + "CLnS+bvx/eECEAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:48 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -1496,18 +1837,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpybhPu0kADu-jzhh9TCxktPqi8IV9I2hJj0gzhCMj4qr3s2J900y0RzKoWg1f8hZG7O1hooIFBHdd6u0tha3QrywU5BnN0NolpGvURip82qT5wbZw" + "AEnB2UozIFQVqWdhJxDLMyV7dfkeraSOw2Mw_AsI_aCWnAUudrz4HjQgZ4kbnvKXJfNF3SMQhxzxZHhk1Otmw7PgPxL7HyDkPDyK1DeHDc8GyfY1B3Q3YfA" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwibmV4dFBhZ2VUb2tlbiI6IkNnUnZZbW94IiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEiLCJuYW1lIjoib2JqMSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ0Ljc0MFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NC43NDBaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDQuNzQwWiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJ3UC9GNk9OUWo5bE5IRWtMNmZPY0V3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMT9nZW5lcmF0aW9uPTE1NDcwNzE2NjQ3NDA4NTgmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjQ3NDA4NTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNQcXprNGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNQcXprNGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoxL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiI0dFVWVmc9PSIsImV0YWciOiJDUHF6azRqYjRkOENFQUU9In1dfQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNC42NDZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDQuNjQ2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA0LjY0NloiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiU25hL1VXdjdtY1pJMjNvRTV0VWFiUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTU2ODM1ODQ0NjQ3MjI1JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiQ1Q2ZFRBPT0iLCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9" } }, { - "ID": "4f38980c078ccdff", + "ID": "34a1730e8bbe1d09", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026delimiter=\u0026maxResults=1\u0026pageToken=CgRvYmox\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -1516,8 +1866,11 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoib2JqMiJ9Cg==", + "55GZ37DvGFQS3PnkEKv3Jg==" + ] }, "Response": { "StatusCode": 200, @@ -1525,20 +1878,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3280" + "3150" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:48 GMT" + "Thu, 02 May 2019 22:24:05 GMT" + ], + "Etag": [ + "CJ2Xkrzx/eECEAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:48 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -1547,18 +1909,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqvOqizQxpAocPCQxRUP0jKSWvOxhpMMl2-9YHvz6-AblcqYxEACZiMl2KV00fdmNmZ3-t9Jn5zQVSH9G7usPUbh-dj81_85tQVn1R2AgTbeidBLdU" + "AEnB2UoVrbP1vUH6TU_zfm_Aaca624z-91MoULnLIBcn9Hg4htv5T5Z6B4XYJMFZUuDjWWeBhR6EpG1UZL4iJe0TJybYQ2CCsB_k63CcOex39xaOIT8UYUA" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIiLCJuYW1lIjoib2JqMiIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjE1MloiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS4xNTJaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuMTUyWiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJSQUVoQ0RhQkVTWWZsekJ2aHFteGV3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMj9nZW5lcmF0aW9uPTE1NDcwNzE2NjUxNTI2MDEmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTm5FcklqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJGcVNwZXc9PSIsImV0YWciOiJDTm5FcklqYjRkOENFQUU9In1dfQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyIiwibmFtZSI6Im9iajIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS4wNDhaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuMDQ4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjA0OFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiQ0Mxd2x3ck1PSXEwZHZNa015bFVoZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajI/Z2VuZXJhdGlvbj0xNTU2ODM1ODQ1MDQ5MjQ1JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMi9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoialY1QVZRPT0iLCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9" } }, { - "ID": "27deb3b07082b1ee", + "ID": "b7c2c8ec1e65fb6d", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026delimiter=\u0026maxResults=1\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -1567,8 +1938,11 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoib2JqL3dpdGgvc2xhc2hlcyJ9Cg==", + "kT7fkMXrRdrhn2P2+EeT5g==" + ] }, "Response": { "StatusCode": 200, @@ -1576,20 +1950,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3539" + "3366" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:49 GMT" + "Thu, 02 May 2019 22:24:05 GMT" + ], + "Etag": [ + "COqurrzx/eECEAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:49 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -1598,18 +1981,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq6oRQlkULvhXRFBKJ_9WdGsIvPfKt_S_WkWMHMtLLKrM_4AgCXpaT1D090bxmPQxhT4VErouM4Zj2w5saIdQ2fktDDZmkrYaUBGb_k1U25Na4R17U" + "AEnB2UrEgFAbU2gAqyKMITI9vr9kAgIBfNY3ZGs1l2_X4e-fVtNb01M9N81N-83LdChVzrk8iB09yuKUKdxRc0nMYrgy7S1fqPwbJdsQ6TJfMB05JJj6qr4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwibmV4dFBhZ2VUb2tlbiI6IkNoQnZZbW92ZDJsMGFDOXpiR0Z6YUdWeiIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcyIsIm5hbWUiOiJvYmovd2l0aC9zbGFzaGVzIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuNzMxWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjczMVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS43MzFaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IlJiMGN6WSszZllKTXI3YkdENXM4RkE9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcz9nZW5lcmF0aW9uPTE1NDcwNzE2NjU3MzIwNTkmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU0NzA3MTY2NTczMjA1OS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiMFRDeHhRPT0iLCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9XX0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcyIsIm5hbWUiOiJvYmovd2l0aC9zbGFzaGVzIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDU1MTEwMTgiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuNTEwWiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjUxMFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS41MTBaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6InVlei9oSjZ3QXJlRFFuY2NEVWR4Zmc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcz9nZW5lcmF0aW9uPTE1NTY4MzU4NDU1MTEwMTgmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDU1MTEwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU1NjgzNTg0NTUxMTAxOC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDU1MTEwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoib2VvK0ZBPT0iLCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9" } }, { - "ID": "54c928deb4f41c18", + "ID": "0dbae3d4b454f434", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026delimiter=\u0026maxResults=1\u0026pageToken=ChBvYmovd2l0aC9zbGFzaGVz\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/obj%2Fwith%2Fslashes?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -1619,7 +2011,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -1627,20 +2021,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3307" + "3366" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:49 GMT" + "Thu, 02 May 2019 22:24:05 GMT" + ], + "Etag": [ + "COqurrzx/eECEAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:49 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -1649,18 +2052,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqCNp9Sxo2Sr7pKr09Xh9ificdtwATysmMzIKDJNmF3JsmQd_WYizec24cz22mjHykWqGQlbWVV5P5qY11rsP8RbchlDUoOLSBq9owGo0y7Y-qVzAk" + "AEnB2Uqk7CzWGAqaT12X_fTymveyPtsPJIPHD814QaAOIQLA_AJo_4OtnQOOXJM2jJhIZ1Co4NgEmboDUG9su4SN5fDTHObNh9elLts9VpUJ9iSYrIsn-Os" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwibmV4dFBhZ2VUb2tlbiI6IkNnUnZZbW94IiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEiLCJuYW1lIjoib2JqMSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ0Ljc0MFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NC43NDBaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDQuNzQwWiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJ3UC9GNk9OUWo5bE5IRWtMNmZPY0V3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMT9nZW5lcmF0aW9uPTE1NDcwNzE2NjQ3NDA4NTgmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjQ3NDA4NTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNQcXprNGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNQcXprNGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoxL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiI0dFVWVmc9PSIsImV0YWciOiJDUHF6azRqYjRkOENFQUU9In1dfQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcyIsIm5hbWUiOiJvYmovd2l0aC9zbGFzaGVzIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDU1MTEwMTgiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuNTEwWiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjUxMFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS41MTBaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6InVlei9oSjZ3QXJlRFFuY2NEVWR4Zmc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcz9nZW5lcmF0aW9uPTE1NTY4MzU4NDU1MTEwMTgmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDU1MTEwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU1NjgzNTg0NTUxMTAxOC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDU1MTEwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoib2VvK0ZBPT0iLCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9" } }, { - "ID": "2c29734d0540820e", + "ID": "3793882b91d38a07", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026delimiter=\u0026maxResults=1\u0026pageToken=CgRvYmox\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/obj1?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -1670,7 +2082,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -1678,20 +2092,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3280" + "3150" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:50 GMT" + "Thu, 02 May 2019 22:24:06 GMT" + ], + "Etag": [ + "CLnS+bvx/eECEAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:50 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -1700,18 +2123,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqA4lKRrPmQsCbVPiejd06oIjzR_Pc1YXPzVzYn-9tOvfXPbH0xYy0Q3j8xYAQVshEOc1cFi3MUrFYmn4Y2g-brX8x4R1tUHeVsj-uIUG3qEnWzrWQ" + "AEnB2UpzUH_BRjU20OGbDAW2dy0lx9Gk_1Ko7zks6KG6OEpq0pBPfCIBjkCeIZTxKxtvxnOd1hqlZF7SlbNoyNUqX5UFXpZY5NjP5GTeUkm512vaBR5vnDI" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIiLCJuYW1lIjoib2JqMiIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjE1MloiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS4xNTJaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuMTUyWiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJSQUVoQ0RhQkVTWWZsekJ2aHFteGV3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMj9nZW5lcmF0aW9uPTE1NDcwNzE2NjUxNTI2MDEmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTm5FcklqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJGcVNwZXc9PSIsImV0YWciOiJDTm5FcklqYjRkOENFQUU9In1dfQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNC42NDZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDQuNjQ2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA0LjY0NloiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiU25hL1VXdjdtY1pJMjNvRTV0VWFiUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTU2ODM1ODQ0NjQ3MjI1JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiQ1Q2ZFRBPT0iLCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9" } }, { - "ID": "07247b60f356ab56", + "ID": "39924c2826bcd33f", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026delimiter=\u0026maxResults=2\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/obj2?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -1721,7 +2153,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -1729,20 +2163,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "6767" + "3150" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:50 GMT" + "Thu, 02 May 2019 22:24:06 GMT" + ], + "Etag": [ + "CJ2Xkrzx/eECEAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:50 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -1751,18 +2194,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UomXxcVuAHerUirD5rq7dvxuumOUNW3FPW60dwHism_7iz4yBSgIqHZG6qtFykgyJ2s0Wah5YZtTn8eiYmoXvxQjynmaC3Y2WggKhr5f8VNzW6KYrI" + "AEnB2UrgOr-dpWoY-JJi6vRigJX3Mpi_WQ4zWvWKK382DCP-mzWSnrpbaOzijhTCdNz6pmXskVVs30APwlqZgvb-S6xAwXqKJG5n6832Py4UlTdDR_INTew" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwibmV4dFBhZ2VUb2tlbiI6IkNnUnZZbW94IiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU0NzA3MTY2NTczMjA1OSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzIiwibmFtZSI6Im9iai93aXRoL3NsYXNoZXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS43MzFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuNzMxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjczMVoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiUmIwY3pZKzNmWUpNcjdiR0Q1czhGQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzP2dlbmVyYXRpb249MTU0NzA3MTY2NTczMjA1OSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiIwVEN4eFE9PSIsImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NC43NDBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDQuNzQwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ0Ljc0MFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoid1AvRjZPTlFqOWxOSEVrTDZmT2NFdz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTQ3MDcxNjY0NzQwODU4JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQcXprNGpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiNHRVVlZnPT0iLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9XX0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyIiwibmFtZSI6Im9iajIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS4wNDhaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuMDQ4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjA0OFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiQ0Mxd2x3ck1PSXEwZHZNa015bFVoZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajI/Z2VuZXJhdGlvbj0xNTU2ODM1ODQ1MDQ5MjQ1JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMi9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoialY1QVZRPT0iLCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9" } }, { - "ID": "142c5c7d37e6963e", + "ID": "89ea9ab5e21a635e", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026delimiter=\u0026maxResults=2\u0026pageToken=CgRvYmox\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { "Accept-Encoding": [ "gzip" @@ -1772,7 +2224,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -1780,20 +2234,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "3280" + "9705" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:51 GMT" + "Thu, 02 May 2019 22:24:06 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:51 GMT" + "Thu, 02 May 2019 22:24:06 GMT" ], "Server": [ "UploadServer" @@ -1802,18 +2259,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrZIzESc8xUPgSj5FDMehuRY8YY9R-dSNoeYvGSomu43rklz5kY-Dw8kY_8UEVTaBibD7HP8L8a5JuH0_92muO6xLXNA1HgX9FDJ1aWaMatQATZgOU" + "AEnB2Uqj9dj5PbUhIU3baBv98vMViDP-BnVPs0APrFYL4jSbKc7fK6eAGoyDfsccGzxK-t0lGvozizW4ltrga8DXo_oxlZ9-k5a85v9i0PWTFIisPC7xuL8" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIiLCJuYW1lIjoib2JqMiIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjE1MloiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS4xNTJaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuMTUyWiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJSQUVoQ0RhQkVTWWZsekJ2aHFteGV3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMj9nZW5lcmF0aW9uPTE1NDcwNzE2NjUxNTI2MDEmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTm5FcklqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJGcVNwZXc9PSIsImV0YWciOiJDTm5FcklqYjRkOENFQUU9In1dfQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU1NjgzNTg0NTUxMTAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzIiwibmFtZSI6Im9iai93aXRoL3NsYXNoZXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS41MTBaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuNTEwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjUxMFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoidWV6L2hKNndBcmVEUW5jY0RVZHhmZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzP2dlbmVyYXRpb249MTU1NjgzNTg0NTUxMTAxOCZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJvZW8rRkE9PSIsImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNC42NDZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDQuNjQ2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA0LjY0NloiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiU25hL1VXdjdtY1pJMjNvRTV0VWFiUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTU2ODM1ODQ0NjQ3MjI1JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiQ1Q2ZFRBPT0iLCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMiIsIm5hbWUiOiJvYmoyIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuMDQ4WiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjA0OFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS4wNDhaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IkNDMXdsd3JNT0lxMGR2TWtNeWxVaGc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyP2dlbmVyYXRpb249MTU1NjgzNTg0NTA0OTI0NSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6ImpWNUFWUT09IiwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifV19" } }, { - "ID": "bc8c27a61237e1d7", + "ID": "b27c106562362f6b", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026delimiter=\u0026maxResults=2\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026delimiter=\u0026maxResults=1\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { "Accept-Encoding": [ "gzip" @@ -1823,7 +2289,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -1831,20 +2299,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "6767" + "3446" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:51 GMT" + "Thu, 02 May 2019 22:24:06 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:51 GMT" + "Thu, 02 May 2019 22:24:06 GMT" ], "Server": [ "UploadServer" @@ -1853,18 +2324,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoB6Y99k7GcxEu5uQ8umEgChGj7DpXkwihiT3kRUzCNdGEBT1dOOWHDcSnEIr9bB8ZVLsVntRnqr9u_VeqDJtgKFAUW7lFtXE_Hc_oGECbaP4kruHo" + "AEnB2UoIo3JJa2rfg9_o3bXN_5QU6XU_iIrWYfuEuvKTQL0O5tjIHkODIDd4biyHxjbGNFnrQNbkiEUXWEBlo-3fTVgfFTOWuaPpgae-SafTBP8h5X5ddJ4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwibmV4dFBhZ2VUb2tlbiI6IkNnUnZZbW94IiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU0NzA3MTY2NTczMjA1OSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzIiwibmFtZSI6Im9iai93aXRoL3NsYXNoZXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS43MzFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuNzMxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjczMVoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiUmIwY3pZKzNmWUpNcjdiR0Q1czhGQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzP2dlbmVyYXRpb249MTU0NzA3MTY2NTczMjA1OSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiIwVEN4eFE9PSIsImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NC43NDBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDQuNzQwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ0Ljc0MFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoid1AvRjZPTlFqOWxOSEVrTDZmT2NFdz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTQ3MDcxNjY0NzQwODU4JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQcXprNGpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiNHRVVlZnPT0iLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9XX0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwibmV4dFBhZ2VUb2tlbiI6IkNoQnZZbW92ZDJsMGFDOXpiR0Z6YUdWeiIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcyIsIm5hbWUiOiJvYmovd2l0aC9zbGFzaGVzIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDU1MTEwMTgiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuNTEwWiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjUxMFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS41MTBaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6InVlei9oSjZ3QXJlRFFuY2NEVWR4Zmc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcz9nZW5lcmF0aW9uPTE1NTY4MzU4NDU1MTEwMTgmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDU1MTEwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU1NjgzNTg0NTUxMTAxOC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDU1MTEwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoib2VvK0ZBPT0iLCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9XX0=" } }, { - "ID": "9d4ee17415a5c8dd", + "ID": "ca654b46531c4cb2", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026delimiter=\u0026maxResults=2\u0026pageToken=CgRvYmox\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026delimiter=\u0026maxResults=1\u0026pageToken=ChBvYmovd2l0aC9zbGFzaGVz\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { "Accept-Encoding": [ "gzip" @@ -1874,7 +2354,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -1882,20 +2364,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "3280" + "3214" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:52 GMT" + "Thu, 02 May 2019 22:24:07 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:52 GMT" + "Thu, 02 May 2019 22:24:07 GMT" ], "Server": [ "UploadServer" @@ -1904,18 +2389,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqP6u8Vu6jthheBEfgXHUbbomxsPuMRp9gYRw6nV76qYCDdLuhUGnhQTAdbw5jsEMWP49C4O45N6xrkalY_vDJt9CtCbWm_2s2Amg9uoT0rcc64a2w" + "AEnB2UqINI0Ii418NlxoYErOrjhTKb3-G3n-8h1Ryc_4YT4Tksc7WXA9m4CcJWInyhJahYC-UUrM47O5EK-3FUt3toZOZxWlbwhE6Sfnra0H-CqjmvxWyRs" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIiLCJuYW1lIjoib2JqMiIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjE1MloiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS4xNTJaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuMTUyWiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJSQUVoQ0RhQkVTWWZsekJ2aHFteGV3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMj9nZW5lcmF0aW9uPTE1NDcwNzE2NjUxNTI2MDEmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTm5FcklqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJGcVNwZXc9PSIsImV0YWciOiJDTm5FcklqYjRkOENFQUU9In1dfQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwibmV4dFBhZ2VUb2tlbiI6IkNnUnZZbW94IiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEiLCJuYW1lIjoib2JqMSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ0NjQ3MjI1IiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA0LjY0NloiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNC42NDZaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDQuNjQ2WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJTbmEvVVd2N21jWkkyM29FNXRVYWJRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMT9nZW5lcmF0aW9uPTE1NTY4MzU4NDQ2NDcyMjUmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS8xNTU2ODM1ODQ0NjQ3MjI1L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTG5TK2J2eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS8xNTU2ODM1ODQ0NjQ3MjI1L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ0NjQ3MjI1IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTG5TK2J2eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS8xNTU2ODM1ODQ0NjQ3MjI1L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ0NjQ3MjI1IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJDVDZkVEE9PSIsImV0YWciOiJDTG5TK2J2eC9lRUNFQUU9In1dfQ==" } }, { - "ID": "b7349299ab6b9abb", + "ID": "0186889a60e651db", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026delimiter=\u0026maxResults=3\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026delimiter=\u0026maxResults=1\u0026pageToken=CgRvYmox\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { "Accept-Encoding": [ "gzip" @@ -1925,7 +2419,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -1933,20 +2429,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "9984" + "3187" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:52 GMT" + "Thu, 02 May 2019 22:24:07 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:52 GMT" + "Thu, 02 May 2019 22:24:07 GMT" ], "Server": [ "UploadServer" @@ -1955,18 +2454,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoUumuBpx3_XrKWq-mUYHwR58MlinAua3h0AdBN-5IrJIXhcLOxTcce7RITu3KthbxnP0WDerGi8hmm3oK-wqYdbJzmtYVAqiMClHxSNRVE6oJSfOY" + "AEnB2UpFTK3QnFf4m9htpY4s3P9_NHuDiQl8InpJoWPOaQHo0XaYnSoSqkH7CcUbm0-sWamsCZbd4DHoXHLCrea3ff9rLpWlptkL0aMKV_Dleb1Xm-j14fQ" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU0NzA3MTY2NTczMjA1OSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzIiwibmFtZSI6Im9iai93aXRoL3NsYXNoZXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS43MzFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuNzMxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjczMVoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiUmIwY3pZKzNmWUpNcjdiR0Q1czhGQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzP2dlbmVyYXRpb249MTU0NzA3MTY2NTczMjA1OSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiIwVEN4eFE9PSIsImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NC43NDBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDQuNzQwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ0Ljc0MFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoid1AvRjZPTlFqOWxOSEVrTDZmT2NFdz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTQ3MDcxNjY0NzQwODU4JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQcXprNGpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiNHRVVlZnPT0iLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMiIsIm5hbWUiOiJvYmoyIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuMTUyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjE1MloiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS4xNTJaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IlJBRWhDRGFCRVNZZmx6QnZocW14ZXc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyP2dlbmVyYXRpb249MTU0NzA3MTY2NTE1MjYwMSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIvYWNsL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTm5FcklqYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IkZxU3Bldz09IiwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifV19" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIiLCJuYW1lIjoib2JqMiIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjA0OFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS4wNDhaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuMDQ4WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJDQzF3bHdyTU9JcTBkdk1rTXlsVWhnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMj9nZW5lcmF0aW9uPTE1NTY4MzU4NDUwNDkyNDUmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJqVjVBVlE9PSIsImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In1dfQ==" } }, { - "ID": "6c490775aa63dbeb", + "ID": "a253776f79c46fe1", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026delimiter=\u0026maxResults=3\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026delimiter=\u0026maxResults=1\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { "Accept-Encoding": [ "gzip" @@ -1976,7 +2484,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -1984,20 +2494,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "9984" + "3446" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:53 GMT" + "Thu, 02 May 2019 22:24:07 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:53 GMT" + "Thu, 02 May 2019 22:24:07 GMT" ], "Server": [ "UploadServer" @@ -2006,18 +2519,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq2pxRw6uFroBYVRuJ7dna1vRpccLFo4XfVZlacmdfkW8oQbTga4PFz53X0rOBRz83-lxB7WyN2-pXPTqyysFKxU9OYJMKCrrsc8L3qRlK3KFyFy1A" + "AEnB2Uoadifz-4B7kC7DvXOyrNa5omK5-DXUNJBtT_d5I1jciPUvGlRm1L1vkvVMU1Y5n9zFig2CF_qqBLlcdvoYCaUeaNUu706L0fKJhJkA8vV5JUvFq0E" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU0NzA3MTY2NTczMjA1OSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzIiwibmFtZSI6Im9iai93aXRoL3NsYXNoZXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS43MzFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuNzMxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjczMVoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiUmIwY3pZKzNmWUpNcjdiR0Q1czhGQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzP2dlbmVyYXRpb249MTU0NzA3MTY2NTczMjA1OSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiIwVEN4eFE9PSIsImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NC43NDBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDQuNzQwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ0Ljc0MFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoid1AvRjZPTlFqOWxOSEVrTDZmT2NFdz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTQ3MDcxNjY0NzQwODU4JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQcXprNGpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiNHRVVlZnPT0iLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMiIsIm5hbWUiOiJvYmoyIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuMTUyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjE1MloiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS4xNTJaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IlJBRWhDRGFCRVNZZmx6QnZocW14ZXc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyP2dlbmVyYXRpb249MTU0NzA3MTY2NTE1MjYwMSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIvYWNsL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTm5FcklqYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IkZxU3Bldz09IiwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifV19" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwibmV4dFBhZ2VUb2tlbiI6IkNoQnZZbW92ZDJsMGFDOXpiR0Z6YUdWeiIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcyIsIm5hbWUiOiJvYmovd2l0aC9zbGFzaGVzIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDU1MTEwMTgiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuNTEwWiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjUxMFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS41MTBaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6InVlei9oSjZ3QXJlRFFuY2NEVWR4Zmc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcz9nZW5lcmF0aW9uPTE1NTY4MzU4NDU1MTEwMTgmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDU1MTEwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU1NjgzNTg0NTUxMTAxOC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDU1MTEwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoib2VvK0ZBPT0iLCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9XX0=" } }, { - "ID": "e442fb1beae197e6", + "ID": "dc8959751769ee9c", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026delimiter=\u0026maxResults=13\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026delimiter=\u0026maxResults=1\u0026pageToken=ChBvYmovd2l0aC9zbGFzaGVz\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { "Accept-Encoding": [ "gzip" @@ -2027,7 +2549,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -2035,20 +2559,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "9984" + "3214" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:53 GMT" + "Thu, 02 May 2019 22:24:08 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:53 GMT" + "Thu, 02 May 2019 22:24:08 GMT" ], "Server": [ "UploadServer" @@ -2057,18 +2584,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Upfa-qAxoyuYT79bzdmP7YqMM-pgsdqR0EAS-riPbTPM3heiutlhxGlFdF4IED_Ct7ZKkV-Fh4fPgZEoDRtrp4AIA3KCpWFdI_GXUMfbOHsQ3LI6HU" + "AEnB2UqLeV9n2aiAq15pl3CqEWOt3_OYHsxbG0lHFIKr7Emh5btUEXLXl4nZWPi27LinKW7i0LYvp-HZK5b9E742MR_PNFe87treTpz_QgUmchGPKLcdZVM" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU0NzA3MTY2NTczMjA1OSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzIiwibmFtZSI6Im9iai93aXRoL3NsYXNoZXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS43MzFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuNzMxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjczMVoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiUmIwY3pZKzNmWUpNcjdiR0Q1czhGQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzP2dlbmVyYXRpb249MTU0NzA3MTY2NTczMjA1OSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiIwVEN4eFE9PSIsImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NC43NDBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDQuNzQwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ0Ljc0MFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoid1AvRjZPTlFqOWxOSEVrTDZmT2NFdz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTQ3MDcxNjY0NzQwODU4JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQcXprNGpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiNHRVVlZnPT0iLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMiIsIm5hbWUiOiJvYmoyIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuMTUyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjE1MloiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS4xNTJaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IlJBRWhDRGFCRVNZZmx6QnZocW14ZXc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyP2dlbmVyYXRpb249MTU0NzA3MTY2NTE1MjYwMSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIvYWNsL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTm5FcklqYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IkZxU3Bldz09IiwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifV19" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwibmV4dFBhZ2VUb2tlbiI6IkNnUnZZbW94IiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEiLCJuYW1lIjoib2JqMSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ0NjQ3MjI1IiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA0LjY0NloiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNC42NDZaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDQuNjQ2WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJTbmEvVVd2N21jWkkyM29FNXRVYWJRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMT9nZW5lcmF0aW9uPTE1NTY4MzU4NDQ2NDcyMjUmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS8xNTU2ODM1ODQ0NjQ3MjI1L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTG5TK2J2eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS8xNTU2ODM1ODQ0NjQ3MjI1L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ0NjQ3MjI1IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTG5TK2J2eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS8xNTU2ODM1ODQ0NjQ3MjI1L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ0NjQ3MjI1IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJDVDZkVEE9PSIsImV0YWciOiJDTG5TK2J2eC9lRUNFQUU9In1dfQ==" } }, { - "ID": "b9ef7121f8c25d66", + "ID": "23f7f167269db6b2", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026delimiter=\u0026maxResults=13\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026delimiter=\u0026maxResults=1\u0026pageToken=CgRvYmox\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { "Accept-Encoding": [ "gzip" @@ -2078,7 +2614,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -2086,20 +2624,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "9984" + "3187" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:54 GMT" + "Thu, 02 May 2019 22:24:08 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:54 GMT" + "Thu, 02 May 2019 22:24:08 GMT" ], "Server": [ "UploadServer" @@ -2108,28 +2649,39 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uo9EphuyuPIClfErSxHepnqLV9Uhs-y1-7_XDuDVxan1UlCBTAJchTE6piLpmYXMFK--oQ61ojS8NCerFf4E9nVEGPw45dbzlbkQukPrkxOq-_QVlk" + "AEnB2Uo4hY4jSbETgB5jf-AU8_b1sRvfTSrlt_Pt6UXiuTte4GtueVBgDwuMEliwE2-nOSiRE6juXOCbR1LQlRrpek1TLeRRf1cCVbz90YcCIGhWV_zFz0o" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU0NzA3MTY2NTczMjA1OSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzIiwibmFtZSI6Im9iai93aXRoL3NsYXNoZXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS43MzFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuNzMxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjczMVoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiUmIwY3pZKzNmWUpNcjdiR0Q1czhGQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzP2dlbmVyYXRpb249MTU0NzA3MTY2NTczMjA1OSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiIwVEN4eFE9PSIsImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NC43NDBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDQuNzQwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ0Ljc0MFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoid1AvRjZPTlFqOWxOSEVrTDZmT2NFdz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTQ3MDcxNjY0NzQwODU4JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQcXprNGpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiNHRVVlZnPT0iLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMiIsIm5hbWUiOiJvYmoyIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuMTUyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjE1MloiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS4xNTJaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IlJBRWhDRGFCRVNZZmx6QnZocW14ZXc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyP2dlbmVyYXRpb249MTU0NzA3MTY2NTE1MjYwMSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIvYWNsL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjUxNTI2MDEiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTm5FcklqYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IkZxU3Bldz09IiwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifV19" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIiLCJuYW1lIjoib2JqMiIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjA0OFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS4wNDhaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuMDQ4WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJDQzF3bHdyTU9JcTBkdk1rTXlsVWhnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMj9nZW5lcmF0aW9uPTE1NTY4MzU4NDUwNDkyNDUmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJqVjVBVlE9PSIsImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In1dfQ==" } }, { - "ID": "c5a8a5c7ebea997b", + "ID": "518c5855f7f2035b", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/obj1", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026delimiter=\u0026maxResults=2\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -2137,77 +2689,64 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "public, max-age=60" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "16" + "6581" ], "Content-Type": [ - "text/plain" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:54 GMT" - ], - "Etag": [ - "\"c0ffc5e8e3508fd94d1c490be9f39c13\"" + "Thu, 02 May 2019 22:24:09 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:54 GMT" - ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:07:44 GMT" + "Thu, 02 May 2019 22:24:09 GMT" ], "Server": [ "UploadServer" ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:07:44 GMT" - ], - "X-Goog-Generation": [ - "1547071664740858" - ], - "X-Goog-Hash": [ - "crc32c=4tUVVg==", - "md5=wP/F6ONQj9lNHEkL6fOcEw==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "16" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UqZg0YdwboT2KIIcdetrS0-24q_Od8qQZJX9sdMu4X1VoxJ7cdesVxCoStrl6CIAH-xU5EApI1I3BXNoheeyLjv3a7IMgoUAjJO2hPuuPS8sX-8ad0" + "AEnB2UqGaiKkmr1oBduBvG8APGBVoM_Ve7zHw4TBuyV3QYcFr9SYzEnATEwE5P6BH-yBsVXSmaRLej1a55x18Bra_ZAC7nYh2UKvWM66JGE3U1muaDBabyw" ] }, - "Body": "xaxfEr5SfO1czyZTn7XDWg==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwibmV4dFBhZ2VUb2tlbiI6IkNnUnZZbW94IiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU1NjgzNTg0NTUxMTAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzIiwibmFtZSI6Im9iai93aXRoL3NsYXNoZXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS41MTBaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuNTEwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjUxMFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoidWV6L2hKNndBcmVEUW5jY0RVZHhmZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzP2dlbmVyYXRpb249MTU1NjgzNTg0NTUxMTAxOCZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJvZW8rRkE9PSIsImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNC42NDZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDQuNjQ2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA0LjY0NloiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiU25hL1VXdjdtY1pJMjNvRTV0VWFiUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTU2ODM1ODQ0NjQ3MjI1JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiQ1Q2ZFRBPT0iLCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9XX0=" } }, { - "ID": "9c49d5e6b8f6ac82", + "ID": "5887398d8cd8c906", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/obj1", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026delimiter=\u0026maxResults=2\u0026pageToken=CgRvYmox\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -2215,77 +2754,64 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "public, max-age=60" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "16" + "3187" ], "Content-Type": [ - "text/plain" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:54 GMT" - ], - "Etag": [ - "\"c0ffc5e8e3508fd94d1c490be9f39c13\"" + "Thu, 02 May 2019 22:24:09 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:54 GMT" - ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:07:44 GMT" + "Thu, 02 May 2019 22:24:09 GMT" ], "Server": [ "UploadServer" ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:07:44 GMT" - ], - "X-Goog-Generation": [ - "1547071664740858" - ], - "X-Goog-Hash": [ - "crc32c=4tUVVg==", - "md5=wP/F6ONQj9lNHEkL6fOcEw==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "16" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UoDZ9imNR7ZntHIQkbl8RgnmwqkKsv-8KcqSPtA9y9XvKaxkcHGTyzVox76HZ5D3fsb5Z5bO0NN-C_zLZtn-7v8lZxl6I_G2o8IHRQQHi9VQyDvqd8" + "AEnB2UqGAvr7ojM3PcmnrTMTX-TXgYKzfo-3gzwYU_l9OaCfpth_ad2lWUJf6w6B8pjEGsAFZJvNueCHYGSJdx6YJ7NAe71oah1xi6lGQvQkWEwAl0fXd7Y" ] }, - "Body": "xaxfEr5SfO1czyZTn7XDWg==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIiLCJuYW1lIjoib2JqMiIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjA0OFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS4wNDhaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuMDQ4WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJDQzF3bHdyTU9JcTBkdk1rTXlsVWhnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMj9nZW5lcmF0aW9uPTE1NTY4MzU4NDUwNDkyNDUmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJqVjVBVlE9PSIsImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In1dfQ==" } }, { - "ID": "8570f8ed005f7e67", + "ID": "81d53e304c7ed90d", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/obj2", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026delimiter=\u0026maxResults=2\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -2293,77 +2819,64 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "public, max-age=60" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "16" + "6581" ], "Content-Type": [ - "text/plain" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:54 GMT" - ], - "Etag": [ - "\"44012108368111261f97306f86a9b17b\"" + "Thu, 02 May 2019 22:24:09 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:54 GMT" - ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:07:45 GMT" + "Thu, 02 May 2019 22:24:09 GMT" ], "Server": [ "UploadServer" ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:07:45 GMT" - ], - "X-Goog-Generation": [ - "1547071665152601" - ], - "X-Goog-Hash": [ - "crc32c=FqSpew==", - "md5=RAEhCDaBESYflzBvhqmxew==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "16" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UqPxjklCltbKZ2jjcyFqw1VjAPLpDlmy-Ij2cokbH8IvB6DgoSmHnKzddVtRlo-0lG2j5zaNcFzxkRw1CZgbw2HazQvB4BZKfbbwF_5YU0ruNMn9w0" + "AEnB2Ur9XEMeCefUS1K7QkIxrxZboQ1zQ5SkrEUZMzrQdNBNAuDQnpDczXzJvF-rZmxFVYSdMySScTTu-FICOdI91b-fQVRomrqAxJwgn60FoObIVVpgkog" ] }, - "Body": "fjGvhccLsRIe8fp4UEK8Xw==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwibmV4dFBhZ2VUb2tlbiI6IkNnUnZZbW94IiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU1NjgzNTg0NTUxMTAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzIiwibmFtZSI6Im9iai93aXRoL3NsYXNoZXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS41MTBaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuNTEwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjUxMFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoidWV6L2hKNndBcmVEUW5jY0RVZHhmZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzP2dlbmVyYXRpb249MTU1NjgzNTg0NTUxMTAxOCZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJvZW8rRkE9PSIsImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNC42NDZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDQuNjQ2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA0LjY0NloiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiU25hL1VXdjdtY1pJMjNvRTV0VWFiUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTU2ODM1ODQ0NjQ3MjI1JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiQ1Q2ZFRBPT0iLCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9XX0=" } }, { - "ID": "d1d8d66e4c581b98", + "ID": "0be1bdae5ba86bfd", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/obj2", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026delimiter=\u0026maxResults=2\u0026pageToken=CgRvYmox\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -2371,77 +2884,64 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "public, max-age=60" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "16" + "3187" ], "Content-Type": [ - "text/plain" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:55 GMT" - ], - "Etag": [ - "\"44012108368111261f97306f86a9b17b\"" + "Thu, 02 May 2019 22:24:10 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:55 GMT" - ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:07:45 GMT" + "Thu, 02 May 2019 22:24:10 GMT" ], "Server": [ "UploadServer" ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:07:45 GMT" - ], - "X-Goog-Generation": [ - "1547071665152601" - ], - "X-Goog-Hash": [ - "crc32c=FqSpew==", - "md5=RAEhCDaBESYflzBvhqmxew==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "16" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UqLSnnnzAEzNjL5dlcBj8B_YG3NtcscmXrFCIk8ISZuKFPLzSfjzWwzzP18m9zFW20jhXHCngyIXZ2Fm5jTGFNFcEcbvZ8_8aJ_vYExBDpOliUSkDE" + "AEnB2UocXesX_BUCirPixQFUhYfAIoR0Os309HMGHarzTGrqH1PkmHuGaaiNSH_pJq8nnWUXEnjk1cvuPGJWCF21t7EJQtCIGBWQoPBNV6OpvALZGdpPXuI" ] }, - "Body": "fjGvhccLsRIe8fp4UEK8Xw==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIiLCJuYW1lIjoib2JqMiIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjA0OFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS4wNDhaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuMDQ4WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJDQzF3bHdyTU9JcTBkdk1rTXlsVWhnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMj9nZW5lcmF0aW9uPTE1NTY4MzU4NDUwNDkyNDUmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJqVjVBVlE9PSIsImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In1dfQ==" } }, { - "ID": "784c1bb7a9c6a7ac", + "ID": "592a3fdf8b5a83e5", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/obj/with/slashes", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026delimiter=\u0026maxResults=3\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -2449,77 +2949,64 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "public, max-age=60" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "16" + "9705" ], "Content-Type": [ - "text/plain" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:55 GMT" - ], - "Etag": [ - "\"45bd1ccd8fb77d824cafb6c60f9b3c14\"" + "Thu, 02 May 2019 22:24:10 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:55 GMT" - ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:07:45 GMT" + "Thu, 02 May 2019 22:24:10 GMT" ], "Server": [ "UploadServer" ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:07:45 GMT" - ], - "X-Goog-Generation": [ - "1547071665732059" - ], - "X-Goog-Hash": [ - "crc32c=0TCxxQ==", - "md5=Rb0czY+3fYJMr7bGD5s8FA==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "16" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UolyTeG-Usr1gqKfrL6G7MFHKtEnLkBj3lJutBm0Au5JqF1g5PD5x5hqbieaxuCCxJsyfk9kzvdj3cu7Z4cGom1oHohY-PP_3Vig3N4hpn9rhIRybI" + "AEnB2UoS2FM55Dkg1PRaNQBzsu5KBns-svmRrQ5byrUGRHgnsBQQDdE3ZznljVTrNq3wDAClddQ4zbCMQSLdqxPPNlom-n1tMg1hO8s6kS8_CTWy2SOM6As" ] }, - "Body": "7/hiGqyl3BODrP6PAiHPrA==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU1NjgzNTg0NTUxMTAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzIiwibmFtZSI6Im9iai93aXRoL3NsYXNoZXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS41MTBaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuNTEwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjUxMFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoidWV6L2hKNndBcmVEUW5jY0RVZHhmZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzP2dlbmVyYXRpb249MTU1NjgzNTg0NTUxMTAxOCZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJvZW8rRkE9PSIsImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNC42NDZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDQuNjQ2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA0LjY0NloiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiU25hL1VXdjdtY1pJMjNvRTV0VWFiUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTU2ODM1ODQ0NjQ3MjI1JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiQ1Q2ZFRBPT0iLCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMiIsIm5hbWUiOiJvYmoyIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuMDQ4WiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjA0OFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS4wNDhaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IkNDMXdsd3JNT0lxMGR2TWtNeWxVaGc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyP2dlbmVyYXRpb249MTU1NjgzNTg0NTA0OTI0NSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6ImpWNUFWUT09IiwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifV19" } }, { - "ID": "c57cb0d8e63f6361", + "ID": "b01846866b585241", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/obj/with/slashes", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026delimiter=\u0026maxResults=3\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -2527,77 +3014,64 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "public, max-age=60" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "16" + "9705" ], "Content-Type": [ - "text/plain" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:55 GMT" - ], - "Etag": [ - "\"45bd1ccd8fb77d824cafb6c60f9b3c14\"" + "Thu, 02 May 2019 22:24:10 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:55 GMT" - ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:07:45 GMT" + "Thu, 02 May 2019 22:24:10 GMT" ], "Server": [ "UploadServer" ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:07:45 GMT" - ], - "X-Goog-Generation": [ - "1547071665732059" - ], - "X-Goog-Hash": [ - "crc32c=0TCxxQ==", - "md5=Rb0czY+3fYJMr7bGD5s8FA==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "16" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UpLGpNZi3KWi30bfXkC_M372hhw7Ie8gBaqHkI3JwXQZVYFaUX5qFk2VJVyrfMuEd9hYP-_H8x5vtfv9lc0RXhPjy02dyf3qa8ode5B2zY1MuB5pvY" + "AEnB2Uo22tWMx8uW6afXbfFrFT8UZzPbsqPItYMdRAPHNEuksgeqWI2US_xblUG6C8WgcHvfEeR_19eVmBTmW6QE7rmosaIm_raZxW9FuCHHiSi8TJnZ1CI" ] }, - "Body": "7/hiGqyl3BODrP6PAiHPrA==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU1NjgzNTg0NTUxMTAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzIiwibmFtZSI6Im9iai93aXRoL3NsYXNoZXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS41MTBaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuNTEwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjUxMFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoidWV6L2hKNndBcmVEUW5jY0RVZHhmZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzP2dlbmVyYXRpb249MTU1NjgzNTg0NTUxMTAxOCZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJvZW8rRkE9PSIsImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNC42NDZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDQuNjQ2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA0LjY0NloiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiU25hL1VXdjdtY1pJMjNvRTV0VWFiUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTU2ODM1ODQ0NjQ3MjI1JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiQ1Q2ZFRBPT0iLCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMiIsIm5hbWUiOiJvYmoyIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuMDQ4WiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjA0OFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS4wNDhaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IkNDMXdsd3JNT0lxMGR2TWtNeWxVaGc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyP2dlbmVyYXRpb249MTU1NjgzNTg0NTA0OTI0NSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6ImpWNUFWUT09IiwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifV19" } }, { - "ID": "78e5620ebec07d0e", + "ID": "2eeefee032c6e805", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/obj1", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026delimiter=\u0026maxResults=13\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { - "Range": [ - "bytes=0-15" + "Accept-Encoding": [ + "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -2605,161 +3079,132 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "public, max-age=60" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "16" + "9705" ], "Content-Type": [ - "text/plain" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:55 GMT" - ], - "Etag": [ - "\"c0ffc5e8e3508fd94d1c490be9f39c13\"" + "Thu, 02 May 2019 22:24:11 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:55 GMT" - ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:07:44 GMT" + "Thu, 02 May 2019 22:24:11 GMT" ], "Server": [ "UploadServer" ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:07:44 GMT" - ], - "X-Goog-Generation": [ - "1547071664740858" - ], - "X-Goog-Hash": [ - "crc32c=4tUVVg==", - "md5=wP/F6ONQj9lNHEkL6fOcEw==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "16" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2Uqcw98gBopWZ7SmVMJIL1yuKfX_v6_CtZn87LEUFmvNnAqfgRptEvK9phhN364-zAmmxM8hXdiBNj0E58cqByA8a84B73XYv1DFv7XFg6yNiQIkvLY" + "AEnB2Uq55nB00t16AHTo1gSxBFUNplz5SJcGYBOeCPsK-MD5OLO_kHKT3YNZq69AAHpozaWVrTU_jDQqiqMFSoPhhmlF2dR1mcq6Ihk_y8uuFY6FM4O_hmI" ] }, - "Body": "xaxfEr5SfO1czyZTn7XDWg==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU1NjgzNTg0NTUxMTAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzIiwibmFtZSI6Im9iai93aXRoL3NsYXNoZXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS41MTBaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuNTEwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjUxMFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoidWV6L2hKNndBcmVEUW5jY0RVZHhmZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzP2dlbmVyYXRpb249MTU1NjgzNTg0NTUxMTAxOCZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJvZW8rRkE9PSIsImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNC42NDZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDQuNjQ2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA0LjY0NloiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiU25hL1VXdjdtY1pJMjNvRTV0VWFiUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTU2ODM1ODQ0NjQ3MjI1JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiQ1Q2ZFRBPT0iLCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMiIsIm5hbWUiOiJvYmoyIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuMDQ4WiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjA0OFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS4wNDhaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IkNDMXdsd3JNT0lxMGR2TWtNeWxVaGc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyP2dlbmVyYXRpb249MTU1NjgzNTg0NTA0OTI0NSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6ImpWNUFWUT09IiwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifV19" } }, { - "ID": "8b99c06cc5700227", + "ID": "11bfe17bc978cdfd", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/obj1", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026delimiter=\u0026maxResults=13\u0026pageToken=\u0026prefix=obj\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { - "Range": [ - "bytes=0-7" + "Accept-Encoding": [ + "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 206, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "public, max-age=60" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "8" - ], - "Content-Range": [ - "bytes 0-7/16" + "9705" ], "Content-Type": [ - "text/plain" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:07:55 GMT" - ], - "Etag": [ - "\"c0ffc5e8e3508fd94d1c490be9f39c13\"" + "Thu, 02 May 2019 22:24:11 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:55 GMT" - ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:07:44 GMT" + "Thu, 02 May 2019 22:24:11 GMT" ], "Server": [ "UploadServer" ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:07:44 GMT" - ], - "X-Goog-Generation": [ - "1547071664740858" - ], - "X-Goog-Hash": [ - "crc32c=4tUVVg==", - "md5=wP/F6ONQj9lNHEkL6fOcEw==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "16" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2Ur9t3jryzYR8hJ4qjhA9K-qhI8SZanjYwnkTbsdyV7i_8jDu9p-qy4z5jXWh65mK_63UljPOZMm1O-Uot1tSPKMA3q8ce9PlxCEbUdNtAkQeKn6YIQ" + "AEnB2UotgN85lDspseXEgwnXhmfSmio9oOxSzhqtyabApVH0KQz_aVg3DbQ7m0Z0L9SzPzzmNEUfU6xhAT5xQAXf-wvY1NHDFxdf9IJ6YoVNhN0aHN-75hY" ] }, - "Body": "xaxfEr5SfO0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU1NjgzNTg0NTUxMTAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzIiwibmFtZSI6Im9iai93aXRoL3NsYXNoZXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS41MTBaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuNTEwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjUxMFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoidWV6L2hKNndBcmVEUW5jY0RVZHhmZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzP2dlbmVyYXRpb249MTU1NjgzNTg0NTUxMTAxOCZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTUxMTAxOCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJvZW8rRkE9PSIsImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNC42NDZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDQuNjQ2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA0LjY0NloiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiU25hL1VXdjdtY1pJMjNvRTV0VWFiUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTU2ODM1ODQ0NjQ3MjI1JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiQ1Q2ZFRBPT0iLCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMiIsIm5hbWUiOiJvYmoyIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuMDQ4WiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjA0OFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS4wNDhaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IkNDMXdsd3JNT0lxMGR2TWtNeWxVaGc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyP2dlbmVyYXRpb249MTU1NjgzNTg0NTA0OTI0NSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMi8xNTU2ODM1ODQ1MDQ5MjQ1L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1MDQ5MjQ1IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSjJYa3J6eC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6ImpWNUFWUT09IiwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifV19" } }, { - "ID": "7fa7f1e6275a064f", + "ID": "c05bfa6f1a43381b", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/obj1", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/obj1", "Header": { - "Range": [ - "bytes=8-23" + "Accept-Encoding": [ + "gzip" ], "User-Agent": [ "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 206, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, @@ -2767,42 +3212,42 @@ "Accept-Ranges": [ "bytes" ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "public, max-age=60" ], "Content-Length": [ - "8" - ], - "Content-Range": [ - "bytes 8-15/16" + "16" ], "Content-Type": [ "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:07:56 GMT" + "Thu, 02 May 2019 22:24:11 GMT" ], "Etag": [ - "\"c0ffc5e8e3508fd94d1c490be9f39c13\"" + "\"4a76bf516bfb99c648db7a04e6d51a6d\"" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:56 GMT" + "Thu, 02 May 2019 22:25:11 GMT" ], "Last-Modified": [ - "Wed, 09 Jan 2019 22:07:44 GMT" + "Thu, 02 May 2019 22:24:04 GMT" ], "Server": [ "UploadServer" ], "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:07:44 GMT" + "Sat, 01 Jun 2019 22:24:04 GMT" ], "X-Goog-Generation": [ - "1547071664740858" + "1556835844647225" ], "X-Goog-Hash": [ - "crc32c=4tUVVg==", - "md5=wP/F6ONQj9lNHEkL6fOcEw==" + "crc32c=CT6dTA==", + "md5=Sna/UWv7mcZI23oE5tUabQ==" ], "X-Goog-Metageneration": [ "1" @@ -2816,25 +3261,39 @@ "X-Goog-Stored-Content-Length": [ "16" ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Upfe_X26lcBWOxRENuvJbptle2l55ToQE5kq-fEaai3Jp7FWT0UyHWu2fvbzUdC7bRhNgbvQDpcM7rszH7QGNITzOSuy7WqHlOFG368FlH-ehe_le0" + "AEnB2UrVVjXVa2SMY6cjYeIgdcZOivQwE2Crz6UPZs2VXVBFMwReZs7kKbETuTMwuEMHKKm_LIrk-o6jS07MimubSWVxGMzT1BtCacU1X2Go_RckmyJPZso" ] }, - "Body": "XM8mU5+1w1o=" + "Body": "TuDshcL7vdCAXh8L42NvEQ==" } }, { - "ID": "44be2de5fe5bf055", + "ID": "f2932604385db16e", "Request": { - "Method": "HEAD", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/obj1", + "Method": "GET", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/obj1", "Header": { + "Accept-Encoding": [ + "gzip" + ], "User-Agent": [ "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -2845,6 +3304,9 @@ "Accept-Ranges": [ "bytes" ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "public, max-age=60" ], @@ -2855,29 +3317,29 @@ "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:07:56 GMT" + "Thu, 02 May 2019 22:24:12 GMT" ], "Etag": [ - "\"c0ffc5e8e3508fd94d1c490be9f39c13\"" + "\"4a76bf516bfb99c648db7a04e6d51a6d\"" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:56 GMT" + "Thu, 02 May 2019 22:25:12 GMT" ], "Last-Modified": [ - "Wed, 09 Jan 2019 22:07:44 GMT" + "Thu, 02 May 2019 22:24:04 GMT" ], "Server": [ "UploadServer" ], "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:07:44 GMT" + "Sat, 01 Jun 2019 22:24:04 GMT" ], "X-Goog-Generation": [ - "1547071664740858" + "1556835844647225" ], "X-Goog-Hash": [ - "crc32c=4tUVVg==", - "md5=wP/F6ONQj9lNHEkL6fOcEw==" + "crc32c=CT6dTA==", + "md5=Sna/UWv7mcZI23oE5tUabQ==" ], "X-Goog-Metageneration": [ "1" @@ -2891,25 +3353,39 @@ "X-Goog-Stored-Content-Length": [ "16" ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpqN8b-LubbSYJ1E32GtgGXYMXca4_iRt25CZWlaLMBe5caKAtgD0P7Yo_PKop0kFI80xUR2QePeeamsPeobQhVmsSFBUsQOTEXnLLf3S3k43sQ_EA" + "AEnB2UrADckAOw2vMHdy0qy02f20x-8s_Ue81-NYwSpKeqp6Zx6eCPReLM6qXUyxFz0xHNGob5WJA8J4ctl6ZFzL2fEVwBMNY8xxzpkKOAwSu9n9e0OE63E" ] }, - "Body": "" + "Body": "TuDshcL7vdCAXh8L42NvEQ==" } }, { - "ID": "341537dd6990130a", + "ID": "8581afc6216ad2cb", "Request": { - "Method": "HEAD", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/obj1", + "Method": "GET", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/obj2", "Header": { + "Accept-Encoding": [ + "gzip" + ], "User-Agent": [ "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -2920,6 +3396,9 @@ "Accept-Ranges": [ "bytes" ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "public, max-age=60" ], @@ -2930,29 +3409,29 @@ "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:07:56 GMT" + "Thu, 02 May 2019 22:24:12 GMT" ], "Etag": [ - "\"c0ffc5e8e3508fd94d1c490be9f39c13\"" + "\"082d70970acc388ab476f32433295486\"" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:56 GMT" + "Thu, 02 May 2019 22:25:12 GMT" ], "Last-Modified": [ - "Wed, 09 Jan 2019 22:07:44 GMT" + "Thu, 02 May 2019 22:24:05 GMT" ], "Server": [ "UploadServer" ], "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:07:44 GMT" + "Sat, 01 Jun 2019 22:24:05 GMT" ], "X-Goog-Generation": [ - "1547071664740858" + "1556835845049245" ], "X-Goog-Hash": [ - "crc32c=4tUVVg==", - "md5=wP/F6ONQj9lNHEkL6fOcEw==" + "crc32c=jV5AVQ==", + "md5=CC1wlwrMOIq0dvMkMylUhg==" ], "X-Goog-Metageneration": [ "1" @@ -2966,31 +3445,42 @@ "X-Goog-Stored-Content-Length": [ "16" ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpgTDUBWmqTcgoakmAPwzEzhqLljHy89eHWc4LlfgRHSsoOX_LIwkheeodjU-ROSlONJSEN408nlmrESd6eJgN0U0MnUroa35iEQET-I3mYEDhWBQQ" + "AEnB2UrkoYpGTn57WC5t-sItsEdWimp47AtSuqw8autFOD3TirChrdQThg_Fh-kykfgvnTaOyiw1InKeYs0Z2MISmjUpu4uHUUGDKTX6W0zQEuUks7i2BqQ" ] }, - "Body": "" + "Body": "55GZ37DvGFQS3PnkEKv3Jg==" } }, { - "ID": "0b03e86b94aa1082", + "ID": "ae129e597d5dd3e8", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/obj1", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/obj2", "Header": { - "Range": [ - "bytes=8-" + "Accept-Encoding": [ + "gzip" ], "User-Agent": [ "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 206, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, @@ -2998,42 +3488,42 @@ "Accept-Ranges": [ "bytes" ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "public, max-age=60" ], "Content-Length": [ - "8" - ], - "Content-Range": [ - "bytes 8-15/16" + "16" ], "Content-Type": [ "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:07:56 GMT" + "Thu, 02 May 2019 22:24:12 GMT" ], "Etag": [ - "\"c0ffc5e8e3508fd94d1c490be9f39c13\"" + "\"082d70970acc388ab476f32433295486\"" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:56 GMT" + "Thu, 02 May 2019 22:25:12 GMT" ], "Last-Modified": [ - "Wed, 09 Jan 2019 22:07:44 GMT" + "Thu, 02 May 2019 22:24:05 GMT" ], "Server": [ "UploadServer" ], "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:07:44 GMT" + "Sat, 01 Jun 2019 22:24:05 GMT" ], "X-Goog-Generation": [ - "1547071664740858" + "1556835845049245" ], "X-Goog-Hash": [ - "crc32c=4tUVVg==", - "md5=wP/F6ONQj9lNHEkL6fOcEw==" + "crc32c=jV5AVQ==", + "md5=CC1wlwrMOIq0dvMkMylUhg==" ], "X-Goog-Metageneration": [ "1" @@ -3047,28 +3537,39 @@ "X-Goog-Stored-Content-Length": [ "16" ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrgE2zY2ZK8ovwpQCvtfX252EWJ_4a9rdiAxXsWR4xB9YtSz8C0YlmGp-jSuKPUaV0EL8HPHVySCi0dK8boxtgtLn969yfstSxtxcsi80tJDzPkl1M" + "AEnB2UoaoET13zBO6-kmfarxy5tCZhmqc2oO38xOd6m6OQ55e-MyyKYM35hNakm5xYdWaoUNsKwVCiklp4HtYE8afVObxcDERuTCgyTw-olewCN6VBwd-H0" ] }, - "Body": "XM8mU5+1w1o=" + "Body": "55GZ37DvGFQS3PnkEKv3Jg==" } }, { - "ID": "7a524d8c976c27b0", + "ID": "11acf26dc7680b3e", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/obj1", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/obj/with/slashes", "Header": { - "Range": [ - "bytes=0-31" + "Accept-Encoding": [ + "gzip" ], "User-Agent": [ "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -3079,6 +3580,9 @@ "Accept-Ranges": [ "bytes" ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "public, max-age=60" ], @@ -3089,29 +3593,29 @@ "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:07:56 GMT" + "Thu, 02 May 2019 22:24:12 GMT" ], "Etag": [ - "\"c0ffc5e8e3508fd94d1c490be9f39c13\"" + "\"b9ecff849eb002b78342771c0d47717e\"" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:56 GMT" + "Thu, 02 May 2019 22:25:12 GMT" ], "Last-Modified": [ - "Wed, 09 Jan 2019 22:07:44 GMT" + "Thu, 02 May 2019 22:24:05 GMT" ], "Server": [ "UploadServer" ], "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:07:44 GMT" + "Sat, 01 Jun 2019 22:24:05 GMT" ], "X-Goog-Generation": [ - "1547071664740858" + "1556835845511018" ], "X-Goog-Hash": [ - "crc32c=4tUVVg==", - "md5=wP/F6ONQj9lNHEkL6fOcEw==" + "crc32c=oeo+FA==", + "md5=uez/hJ6wAreDQnccDUdxfg==" ], "X-Goog-Metageneration": [ "1" @@ -3125,31 +3629,42 @@ "X-Goog-Stored-Content-Length": [ "16" ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoV7bc7UsMGmX4hTTuyoxK6sBR4z3SxzWi-QcYV3Xz5o5u4xM4-MeicF4IxwPUNbIAVLUS_Wm_s3JJqcXbOtrFFkqOadZRDMAa6lUwCrXEAnmclKow" + "AEnB2Up_XtsS2bu4fnGI-Z85gqz1MECYqweRqin42arAyEfpJpZwmadI1-Op9V7n-q3UaYyRtUWFR7an7zKxWhJ_CB6PXz-C55C1nPoI7EWVEV2oXcS-q8c" ] }, - "Body": "xaxfEr5SfO1czyZTn7XDWg==" + "Body": "kT7fkMXrRdrhn2P2+EeT5g==" } }, { - "ID": "75b5bfcb2b6165f4", + "ID": "ff72204b0c538268", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/obj1", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/obj/with/slashes", "Header": { - "Range": [ - "bytes=32-41" + "Accept-Encoding": [ + "gzip" ], "User-Agent": [ "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 416, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, @@ -3157,39 +3672,42 @@ "Accept-Ranges": [ "bytes" ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "public, max-age=60" ], "Content-Length": [ - "167" + "16" ], "Content-Type": [ - "application/xml; charset=UTF-8" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:07:56 GMT" + "Thu, 02 May 2019 22:24:12 GMT" ], "Etag": [ - "\"c0ffc5e8e3508fd94d1c490be9f39c13\"" + "\"b9ecff849eb002b78342771c0d47717e\"" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:56 GMT" + "Thu, 02 May 2019 22:25:12 GMT" ], "Last-Modified": [ - "Wed, 09 Jan 2019 22:07:44 GMT" + "Thu, 02 May 2019 22:24:05 GMT" ], "Server": [ "UploadServer" ], "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:07:44 GMT" + "Sat, 01 Jun 2019 22:24:05 GMT" ], "X-Goog-Generation": [ - "1547071664740858" + "1556835845511018" ], "X-Goog-Hash": [ - "crc32c=4tUVVg==", - "md5=wP/F6ONQj9lNHEkL6fOcEw==" + "crc32c=oeo+FA==", + "md5=uez/hJ6wAreDQnccDUdxfg==" ], "X-Goog-Metageneration": [ "1" @@ -3203,28 +3721,39 @@ "X-Goog-Stored-Content-Length": [ "16" ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqXepLEfbMjvTvV5rY1z-orzHnMUG28wUh30IwKhGzQk5Q_8Fmh9b6LdllIF9AUwyU5ffVAZqXetAxF0MzfSiMnST8dUxpRgaZYNSwMhZ387nUDG-M" + "AEnB2UqrjLdnTX47-_XGNBlBZ0rEgsIkYJMzixBaVmhjn8IsK66UpQAUO-njMM-WznI-DBNIbXVTcPQKZBNe2ZHZEskfuRjsFwMjtooyUH_PqTfZnARVv8M" ] }, - "Body": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48RXJyb3I+PENvZGU+SW52YWxpZFJhbmdlPC9Db2RlPjxNZXNzYWdlPlRoZSByZXF1ZXN0ZWQgcmFuZ2UgY2Fubm90IGJlIHNhdGlzZmllZC48L01lc3NhZ2U+PERldGFpbHM+Ynl0ZXM9MzItNDE8L0RldGFpbHM+PC9FcnJvcj4=" + "Body": "kT7fkMXrRdrhn2P2+EeT5g==" } }, { - "ID": "89a08555bc23f723", + "ID": "7972502f866e015e", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/obj1?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/obj1", "Header": { - "Accept-Encoding": [ - "gzip" + "Range": [ + "bytes=0-15" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -3232,173 +3761,277 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "public, max-age=60" ], "Content-Length": [ - "3243" + "16" ], "Content-Type": [ - "application/json; charset=UTF-8" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:07:57 GMT" + "Thu, 02 May 2019 22:24:12 GMT" ], "Etag": [ - "CPqzk4jb4d8CEAE=" + "\"4a76bf516bfb99c648db7a04e6d51a6d\"" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Thu, 02 May 2019 22:25:12 GMT" ], - "Pragma": [ - "no-cache" + "Last-Modified": [ + "Thu, 02 May 2019 22:24:04 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:24:04 GMT" + ], + "X-Goog-Generation": [ + "1556835844647225" + ], + "X-Goog-Hash": [ + "crc32c=CT6dTA==", + "md5=Sna/UWv7mcZI23oE5tUabQ==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "16" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UplanKmniYqyWCvQ_d-eCLupEm0fpsBh3Oc9_jNq77CJ4Gxv817gr6lxUCiEt8qIDDPgmStehnWP20W2XOU0slsZRAA9L-u0XtssT7tds4NfoFl614" + "AEnB2UoNiJIZYFETpngMkDItRU7PtN7Fv4bDU7Kfvndst1JR2eGmW-tOMTfng8Abx6EWwPvvodLkSk-1TM4Gywxzh3c24gPDN4NsQMuh40Mfp0Jvg1syOls" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NC43NDBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDQuNzQwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ0Ljc0MFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoid1AvRjZPTlFqOWxOSEVrTDZmT2NFdz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTQ3MDcxNjY0NzQwODU4JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUHF6azRqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQcXprNGpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiNHRVVlZnPT0iLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFFPSJ9" + "Body": "TuDshcL7vdCAXh8L42NvEQ==" } }, { - "ID": "c5958a24cb93c520", + "ID": "251a62254c59cbd1", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/obj1", "Header": { - "Accept-Encoding": [ - "gzip" + "Range": [ + "bytes=0-7" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 206, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "public, max-age=60" ], "Content-Length": [ - "2550" + "8" + ], + "Content-Range": [ + "bytes 0-7/16" ], "Content-Type": [ - "application/json; charset=UTF-8" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:07:57 GMT" + "Thu, 02 May 2019 22:24:12 GMT" ], "Etag": [ - "CAQ=" + "\"4a76bf516bfb99c648db7a04e6d51a6d\"" ], "Expires": [ - "Wed, 09 Jan 2019 22:07:57 GMT" + "Thu, 02 May 2019 22:25:12 GMT" + ], + "Last-Modified": [ + "Thu, 02 May 2019 22:24:04 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:24:04 GMT" + ], + "X-Goog-Generation": [ + "1556835844647225" + ], + "X-Goog-Hash": [ + "crc32c=CT6dTA==", + "md5=Sna/UWv7mcZI23oE5tUabQ==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "16" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UrXPvU1zm504rV18HHsdZVoGrdZhK2q6lNQ32sTMlto3leCJawRaJJpAI0UuVIsNfEefcnuI15OlwFoZ3NDP0WBuOeI-Gz2tindeTkY95sUwSxssfU" + "AEnB2UobLFpkqodTM1bHuzS0GzRCKZypPQkf3nH1hbOexCjgjAcheZhV_zxJRyLhOYZoW8ABEaVMJLULNrzAm1VZs4JrTdtT46fYIcQe7OBeJp0aHI7Lr5s" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6MzYuMzkyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQyLjkxNloiLCJtZXRhZ2VuZXJhdGlvbiI6IjQiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBUT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQVE9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBUT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBUT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FRPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FRPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJ2ZXJzaW9uaW5nIjp7ImVuYWJsZWQiOmZhbHNlfSwibGlmZWN5Y2xlIjp7InJ1bGUiOlt7ImFjdGlvbiI6eyJ0eXBlIjoiRGVsZXRlIn0sImNvbmRpdGlvbiI6eyJhZ2UiOjMwfX1dfSwibGFiZWxzIjp7ImwxIjoidjIiLCJuZXciOiJuZXcifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FRPSJ9" + "Body": "TuDshcL7vdA=" } }, { - "ID": "25ffd19ea50b8d29", + "ID": "2482617229166e50", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/obj1/rewriteTo/b/go-integration-test-20190109-79655285984746-0001/o/copy-obj1?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "GET", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/obj1", "Header": { - "Accept-Encoding": [ - "gzip" - ], - "Content-Length": [ - "3" + "Range": [ + "bytes=8-23" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "e30K" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 206, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "public, max-age=60" ], "Content-Length": [ - "3426" + "8" + ], + "Content-Range": [ + "bytes 8-15/16" ], "Content-Type": [ - "application/json; charset=UTF-8" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:07:58 GMT" + "Thu, 02 May 2019 22:24:12 GMT" + ], + "Etag": [ + "\"4a76bf516bfb99c648db7a04e6d51a6d\"" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Thu, 02 May 2019 22:25:12 GMT" ], - "Pragma": [ - "no-cache" + "Last-Modified": [ + "Thu, 02 May 2019 22:24:04 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:24:04 GMT" + ], + "X-Goog-Generation": [ + "1556835844647225" + ], + "X-Goog-Hash": [ + "crc32c=CT6dTA==", + "md5=Sna/UWv7mcZI23oE5tUabQ==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "16" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2Up70ZEzahajQ8n0CdIsqNf-Bhjbw3aJxafCoq2VUVKPhEudQrNwSBrx7VCle_Tp_NkUo5HoW5abpyoZacclZ7BCrVsan8dB4qgUD5g4T2H3xrgcFsY" + "AEnB2Uon8ZtKgOTqFm36bWHd3hf535jPGQBEX9j2yPrr11_ycAJjfI4A-mFWMTsFRR3nwSo68784B9TUPUjQd0cib0QIrfBjfDcz91p6oPJG3VpV9afywIY" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiMTYiLCJvYmplY3RTaXplIjoiMTYiLCJkb25lIjp0cnVlLCJyZXNvdXJjZSI6eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb3B5LW9iajEvMTU0NzA3MTY3ODEzMTUzOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvcHktb2JqMSIsIm5hbWUiOiJjb3B5LW9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY3ODEzMTUzOCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo1OC4xMzFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NTguMTMxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjU4LjEzMVoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoid1AvRjZPTlFqOWxOSEVrTDZmT2NFdz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvcHktb2JqMT9nZW5lcmF0aW9uPTE1NDcwNzE2NzgxMzE1MzgmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29weS1vYmoxLzE1NDcwNzE2NzgxMzE1MzgvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb3B5LW9iajEvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29weS1vYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NzgxMzE1MzgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNOTGF4STdiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb3B5LW9iajEvMTU0NzA3MTY3ODEzMTUzOC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb3B5LW9iajEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvcHktb2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjc4MTMxNTM4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNOTGF4STdiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb3B5LW9iajEvMTU0NzA3MTY3ODEzMTUzOC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb3B5LW9iajEvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvcHktb2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjc4MTMxNTM4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTkxheEk3YjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29weS1vYmoxLzE1NDcwNzE2NzgxMzE1MzgvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvcHktb2JqMS9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvcHktb2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjc4MTMxNTM4IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ05MYXhJN2I0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiI0dFVWVmc9PSIsImV0YWciOiJDTkxheEk3YjRkOENFQUU9In19" + "Body": "gF4fC+NjbxE=" } }, { - "ID": "0485948ed9bb13ca", + "ID": "74ff0c5848c7dba6", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/obj1/rewriteTo/b/go-integration-test-20190109-79655285984746-0001/o/copy-obj1?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "HEAD", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/obj1", "Header": { - "Accept-Encoding": [ - "gzip" - ], - "Content-Length": [ - "31" - ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJjb250ZW50RW5jb2RpbmciOiJpZGVudGl0eSJ9Cg==" + "" ] }, "Response": { @@ -3407,57 +4040,87 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "public, max-age=60" ], "Content-Length": [ - "3392" + "16" ], "Content-Type": [ - "application/json; charset=UTF-8" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:07:58 GMT" + "Thu, 02 May 2019 22:24:12 GMT" + ], + "Etag": [ + "\"4a76bf516bfb99c648db7a04e6d51a6d\"" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Thu, 02 May 2019 22:25:12 GMT" ], - "Pragma": [ - "no-cache" + "Last-Modified": [ + "Thu, 02 May 2019 22:24:04 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:24:04 GMT" + ], + "X-Goog-Generation": [ + "1556835844647225" + ], + "X-Goog-Hash": [ + "crc32c=CT6dTA==", + "md5=Sna/UWv7mcZI23oE5tUabQ==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "16" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UqasEHX1Uw_1o7wAMEv3viKtasmWpQT3gvCckP2OdoKv2KpDy6AemKlUweUy0dg-yeN8Vmm-iGKzDW9wF7Y0YpIs58kw7TI-kLf1nlfXjXgyept7f0" + "AEnB2UqKc-08ZJEWVbyaV84xKlnrHkl2PBuBUQP6xtx6TzZW0fsjyZ-SHshiy-QMGCuP1UF4x1ettHyDvRbAleHIXy4y7wMwoUWST2NKs_0oRA0oVqOoKtQ" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiMTYiLCJvYmplY3RTaXplIjoiMTYiLCJkb25lIjp0cnVlLCJyZXNvdXJjZSI6eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb3B5LW9iajEvMTU0NzA3MTY3ODgyNzIzNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvcHktb2JqMSIsIm5hbWUiOiJjb3B5LW9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY3ODgyNzIzNSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo1OC44MjdaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NTguODI3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjU4LjgyN1oiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoid1AvRjZPTlFqOWxOSEVrTDZmT2NFdz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvcHktb2JqMT9nZW5lcmF0aW9uPTE1NDcwNzE2Nzg4MjcyMzUmYWx0PW1lZGlhIiwiY29udGVudEVuY29kaW5nIjoiaWRlbnRpdHkiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb3B5LW9iajEvMTU0NzA3MTY3ODgyNzIzNS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvcHktb2JqMS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjb3B5LW9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY3ODgyNzIzNSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ09PVjc0N2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvcHktb2JqMS8xNTQ3MDcxNjc4ODI3MjM1L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvcHktb2JqMS9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29weS1vYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2Nzg4MjcyMzUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ09PVjc0N2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvcHktb2JqMS8xNTQ3MDcxNjc4ODI3MjM1L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvcHktb2JqMS9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29weS1vYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2Nzg4MjcyMzUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPT1Y3NDdiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb3B5LW9iajEvMTU0NzA3MTY3ODgyNzIzNS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29weS1vYmoxL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29weS1vYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2Nzg4MjcyMzUiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDT09WNzQ3YjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IjR0VVZWZz09IiwiZXRhZyI6IkNPT1Y3NDdiNGQ4Q0VBRT0ifX0=" + "Body": "" } }, { - "ID": "4b04c225e0465b0a", + "ID": "90888164f5d2d40d", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/obj1?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "HEAD", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/obj1", "Header": { - "Accept-Encoding": [ - "gzip" - ], - "Content-Length": [ - "193" - ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJhY2wiOlt7ImVudGl0eSI6ImRvbWFpbi1nb29nbGUuY29tIiwicm9sZSI6IlJFQURFUiJ9XSwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiY29udGVudExhbmd1YWdlIjoiZW4iLCJjb250ZW50VHlwZSI6InRleHQvaHRtbCIsIm1ldGFkYXRhIjp7ImtleSI6InZhbHVlIn19Cg==" + "" ] }, "Response": { @@ -3466,120 +4129,185 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "public, max-age=60" ], "Content-Length": [ - "2151" + "16" ], "Content-Type": [ - "application/json; charset=UTF-8" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:07:59 GMT" + "Thu, 02 May 2019 22:24:13 GMT" ], "Etag": [ - "CPqzk4jb4d8CEAI=" + "\"4a76bf516bfb99c648db7a04e6d51a6d\"" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Thu, 02 May 2019 22:25:13 GMT" ], - "Pragma": [ - "no-cache" + "Last-Modified": [ + "Thu, 02 May 2019 22:24:04 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:24:04 GMT" + ], + "X-Goog-Generation": [ + "1556835844647225" + ], + "X-Goog-Hash": [ + "crc32c=CT6dTA==", + "md5=Sna/UWv7mcZI23oE5tUabQ==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "16" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UrH21gbvfRMeWm2buyuxnMb7fnJnKduov9riyMY97OJOgwnRo0GMTP_43m8IShPl__m4y9CijKxScCO7fgblnrwK3cHmRhCI8xOFsjbjpsdxYwbgCk" + "AEnB2UoTSlg3r_LSoiqQyJVJDzL-0xNj6jlSNp9zLUmlPtu3xbhCLBDNAxY9CRbyEjw7UudDcsFOe43C3QlsVjoBJln1q179ZspYWXY-fHqjrztAfJkZUpU" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImNvbnRlbnRUeXBlIjoidGV4dC9odG1sIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ0Ljc0MFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo1OS4zMjFaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDQuNzQwWiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJ3UC9GNk9OUWo5bE5IRWtMNmZPY0V3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMT9nZW5lcmF0aW9uPTE1NDcwNzE2NjQ3NDA4NTgmYWx0PW1lZGlhIiwiY29udGVudExhbmd1YWdlIjoiZW4iLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJtZXRhZGF0YSI6eyJrZXkiOiJ2YWx1ZSJ9LCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgvZG9tYWluLWdvb2dsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoxL2FjbC9kb21haW4tZ29vZ2xlLmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6ImRvbWFpbi1nb29nbGUuY29tIiwicm9sZSI6IlJFQURFUiIsImRvbWFpbiI6Imdvb2dsZS5jb20iLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQcXprNGpiNGQ4Q0VBST0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiNHRVVlZnPT0iLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFJPSJ9" + "Body": "" } }, { - "ID": "1e327e24259dbcf5", + "ID": "7961f3dc74fa0663", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/obj1?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "GET", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/obj1", "Header": { - "Accept-Encoding": [ - "gzip" - ], - "Content-Length": [ - "120" + "Range": [ + "bytes=8-" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjb250ZW50TGFuZ3VhZ2UiOm51bGwsImNvbnRlbnRUeXBlIjpudWxsLCJtZXRhZGF0YSI6bnVsbH0K" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 206, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "public, max-age=60" ], "Content-Length": [ - "2075" + "8" + ], + "Content-Range": [ + "bytes 8-15/16" ], "Content-Type": [ - "application/json; charset=UTF-8" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:07:59 GMT" + "Thu, 02 May 2019 22:24:13 GMT" ], "Etag": [ - "CPqzk4jb4d8CEAM=" + "\"4a76bf516bfb99c648db7a04e6d51a6d\"" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Thu, 02 May 2019 22:25:13 GMT" ], - "Pragma": [ - "no-cache" + "Last-Modified": [ + "Thu, 02 May 2019 22:24:04 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:24:04 GMT" + ], + "X-Goog-Generation": [ + "1556835844647225" + ], + "X-Goog-Hash": [ + "crc32c=CT6dTA==", + "md5=Sna/UWv7mcZI23oE5tUabQ==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "16" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UrkQNdXruyi7N79l_dSAfmdLWcVI1rQ2BQvUewXGdwrwqh95a3iHv5Lst07-TBCorTgRwsD5j0RGEaxO3LTUm2IqSqmIwaItqu5izhy1XOMPT86EzA" + "AEnB2UqJjC8HFLb8u_EaJVF0_TUOhNWhbooW0oANE8_LPjoIdLcoU42caZe7LjgbTIjCb0Ss3horP2noxirF3u3FGq0Yoh4rjuHBVhwZcemZHnKLgJUUbQQ" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NDc0MDg1OCIsIm1ldGFnZW5lcmF0aW9uIjoiMyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NC43NDBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NTkuNzE2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ0Ljc0MFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoid1AvRjZPTlFqOWxOSEVrTDZmT2NFdz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTQ3MDcxNjY0NzQwODU4JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OC9kb21haW4tZ29vZ2xlLmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL2RvbWFpbi1nb29nbGUuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDUHF6azRqYjRkOENFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoxL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFNPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiI0dFVWVmc9PSIsImV0YWciOiJDUHF6azRqYjRkOENFQU09In0=" + "Body": "gF4fC+NjbxE=" } }, { - "ID": "284cef7b58e7d9e5", + "ID": "af8c1fcfa456592a", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "GET", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/obj1", "Header": { - "Accept-Encoding": [ - "gzip" + "Range": [ + "bytes=0-31" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJuYW1lIjoiY2hlY2tzdW0tb2JqZWN0In0K", - "aGVsbG93b3JsZA==" + "" ] }, "Response": { @@ -3588,120 +4316,182 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "public, max-age=60" ], "Content-Length": [ - "3398" + "16" ], "Content-Type": [ - "application/json; charset=UTF-8" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:08:00 GMT" + "Thu, 02 May 2019 22:24:13 GMT" ], "Etag": [ - "CJDbvo/b4d8CEAE=" + "\"4a76bf516bfb99c648db7a04e6d51a6d\"" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Thu, 02 May 2019 22:25:13 GMT" ], - "Pragma": [ - "no-cache" + "Last-Modified": [ + "Thu, 02 May 2019 22:24:04 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:24:04 GMT" + ], + "X-Goog-Generation": [ + "1556835844647225" + ], + "X-Goog-Hash": [ + "crc32c=CT6dTA==", + "md5=Sna/UWv7mcZI23oE5tUabQ==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "16" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UrGdneYVkcJug_vrvx5Got0VbXhTtXll15uWtHOiGkwp5tebLZVcxJb472G50ChotRYsEBTS_iqIu9wOjwmAo2yah407s0S_y0a2D41YXyOeTZfYDc" + "AEnB2Uqq6ro5-i6q8pIDup0yW35uFEynuLK95P8OSFhj7b70DK33tjv3fkOdkobsfwplOAGuNME2bLjQuyy8mhd2xBbNjyjvXt13Nc48PB4M2t_46RoM3Ak" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jaGVja3N1bS1vYmplY3QvMTU0NzA3MTY4MDEzMDQ0OCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NoZWNrc3VtLW9iamVjdCIsIm5hbWUiOiJjaGVja3N1bS1vYmplY3QiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4MDEzMDQ0OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowMC4xMzBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MDAuMTMwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjAwLjEzMFoiLCJzaXplIjoiMTAiLCJtZDVIYXNoIjoiL0Y0RGpUaWxjRElJVkVIbi9uQVFzQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NoZWNrc3VtLW9iamVjdD9nZW5lcmF0aW9uPTE1NDcwNzE2ODAxMzA0NDgmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY2hlY2tzdW0tb2JqZWN0LzE1NDcwNzE2ODAxMzA0NDgvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jaGVja3N1bS1vYmplY3QvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY2hlY2tzdW0tb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODAxMzA0NDgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNKRGJ2by9iNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jaGVja3N1bS1vYmplY3QvMTU0NzA3MTY4MDEzMDQ0OC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jaGVja3N1bS1vYmplY3QvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNoZWNrc3VtLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjgwMTMwNDQ4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNKRGJ2by9iNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jaGVja3N1bS1vYmplY3QvMTU0NzA3MTY4MDEzMDQ0OC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jaGVja3N1bS1vYmplY3QvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNoZWNrc3VtLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjgwMTMwNDQ4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSkRidm8vYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY2hlY2tzdW0tb2JqZWN0LzE1NDcwNzE2ODAxMzA0NDgvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NoZWNrc3VtLW9iamVjdC9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNoZWNrc3VtLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjgwMTMwNDQ4IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0pEYnZvL2I0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJWc3UwZ0E9PSIsImV0YWciOiJDSkRidm8vYjRkOENFQUU9In0=" + "Body": "TuDshcL7vdCAXh8L42NvEQ==" } }, { - "ID": "8d282e0a21caebf8", + "ID": "d312c241da5bd348", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "GET", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/obj1", "Header": { - "Accept-Encoding": [ - "gzip" + "Range": [ + "bytes=32-41" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJuYW1lIjoiemVyby1vYmplY3QifQo=", "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 416, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "public, max-age=60" ], "Content-Length": [ - "3333" + "167" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/xml; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:00 GMT" + "Thu, 02 May 2019 22:24:13 GMT" ], "Etag": [ - "CPyT3Y/b4d8CEAE=" + "\"4a76bf516bfb99c648db7a04e6d51a6d\"" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Thu, 02 May 2019 22:25:13 GMT" ], - "Pragma": [ - "no-cache" + "Last-Modified": [ + "Thu, 02 May 2019 22:24:04 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:24:04 GMT" + ], + "X-Goog-Generation": [ + "1556835844647225" + ], + "X-Goog-Hash": [ + "crc32c=CT6dTA==", + "md5=Sna/UWv7mcZI23oE5tUabQ==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "16" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" ], "X-Guploader-Uploadid": [ - "AEnB2Uo5PSLhP8b9OmPGK2HLsDKmcD4SyLSNZYkrKwOn6cen6vsoS8RScFWmnV2yRrgpeif8reGZnZQsPQfbSElrS19lIEa4O22O-GggHNAK4KteUmyWpVk" + "AEnB2UpAvzLs-GgdTPEGM2kvABFTxehSb-DhZQ2Y31nQ9ad0RMmfIMtVGRBXvkXo7FwGAy78ZHMSGWRKG-DYMy6JU9PCM4Tpo8PDmm4-rHa_LVpH2dFN-JM" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS96ZXJvLW9iamVjdC8xNTQ3MDcxNjgwNjI5MjQ0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vemVyby1vYmplY3QiLCJuYW1lIjoiemVyby1vYmplY3QiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4MDYyOTI0NCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowMC42MjlaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MDAuNjI5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjAwLjYyOVoiLCJzaXplIjoiMCIsIm1kNUhhc2giOiIxQjJNMlk4QXNnVHBnQW1ZN1BoQ2ZnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vemVyby1vYmplY3Q/Z2VuZXJhdGlvbj0xNTQ3MDcxNjgwNjI5MjQ0JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3plcm8tb2JqZWN0LzE1NDcwNzE2ODA2MjkyNDQvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby96ZXJvLW9iamVjdC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJ6ZXJvLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjgwNjI5MjQ0IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUHlUM1kvYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvemVyby1vYmplY3QvMTU0NzA3MTY4MDYyOTI0NC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby96ZXJvLW9iamVjdC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiemVyby1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4MDYyOTI0NCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUHlUM1kvYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvemVyby1vYmplY3QvMTU0NzA3MTY4MDYyOTI0NC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby96ZXJvLW9iamVjdC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiemVyby1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4MDYyOTI0NCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1B5VDNZL2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3plcm8tb2JqZWN0LzE1NDcwNzE2ODA2MjkyNDQvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3plcm8tb2JqZWN0L2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiemVyby1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4MDYyOTI0NCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQeVQzWS9iNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiQUFBQUFBPT0iLCJldGFnIjoiQ1B5VDNZL2I0ZDhDRUFFPSJ9" + "Body": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48RXJyb3I+PENvZGU+SW52YWxpZFJhbmdlPC9Db2RlPjxNZXNzYWdlPlRoZSByZXF1ZXN0ZWQgcmFuZ2UgY2Fubm90IGJlIHNhdGlzZmllZC48L01lc3NhZ2U+PERldGFpbHM+Ynl0ZXM9MzItNDE8L0RldGFpbHM+PC9FcnJvcj4=" } }, { - "ID": "1a5663ca6e768f9f", + "ID": "2bbd010d0173c966", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/obj1/acl/allUsers?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/obj1?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "98" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJhbGxVc2VycyIsInJvbGUiOiJSRUFERVIifQo=" + "" ] }, "Response": { @@ -3710,20 +4500,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "417" + "3150" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:01 GMT" + "Thu, 02 May 2019 22:24:13 GMT" ], "Etag": [ - "CPqzk4jb4d8CEAQ=" + "CLnS+bvx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -3738,28 +4531,39 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UooyuXLutKEFuXP5bCkjks3kGb16ZOiaCKEiH3in3Rk54vsTSMpSPUhDKNHgveThQhBS1N6X1gfcQ6PNltAmdhbGLdspJffyiloImR-wMbpyyg01bw" + "AEnB2UpZDScoUU4zzBoXc21jt6C1vcW1SrU6ELiWodrCID-OoNKVMbecv_DSgHZATQGs4GS-BebkzqdalqTq5C77aKXQMxiks-9A5kyrc8N4aY9L5YndaI8" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L2FsbFVzZXJzIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvYWxsVXNlcnMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjQ3NDA4NTgiLCJlbnRpdHkiOiJhbGxVc2VycyIsInJvbGUiOiJSRUFERVIiLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFRPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNC42NDZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDQuNjQ2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA0LjY0NloiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiU25hL1VXdjdtY1pJMjNvRTV0VWFiUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTU2ODM1ODQ0NjQ3MjI1JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiQ1Q2ZFRBPT0iLCJldGFnIjoiQ0xuUytidngvZUVDRUFFPSJ9" } }, { - "ID": "b1b92f5426c73c63", + "ID": "e3522e1cc7aef940", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/obj1", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -3767,95 +4571,97 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "public, max-age=60" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "16" + "2570" ], "Content-Type": [ - "application/octet-stream" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:01 GMT" + "Thu, 02 May 2019 22:24:13 GMT" ], "Etag": [ - "\"c0ffc5e8e3508fd94d1c490be9f39c13\"" + "CAY=" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:01 GMT" - ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:07:44 GMT" + "Thu, 02 May 2019 22:24:13 GMT" ], "Server": [ "UploadServer" ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:07:44 GMT" - ], - "X-Goog-Generation": [ - "1547071664740858" - ], - "X-Goog-Hash": [ - "crc32c=4tUVVg==", - "md5=wP/F6ONQj9lNHEkL6fOcEw==" - ], - "X-Goog-Metageneration": [ - "4" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "16" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UqugwIEHbVlb874kLcTwwxL63Ok1AGBkYuB4BwKAxjHopI4ZPJTrt58VnODky0w8ZbYG5x3XGXDvnRBHnXRnqL86lSwp_yv0ChQJRnoxS3iHM729vU" + "AEnB2Ur5x_r1PKMQrnKbsfUWRR6wBwFQTM8U9mGwyq_fK56rrHE_UoLDxLRpiuaFGLVi9L4Hj67UXH76drA6KQQQgOsMVo0YEl1pVS2P7OKQ64WF4NubRCU" ] }, - "Body": "xaxfEr5SfO1czyZTn7XDWg==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIzOjU0LjYxMFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowMi4zNjFaIiwibWV0YWdlbmVyYXRpb24iOiI2IiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FZPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQVk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQVk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBWT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQVk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBWT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInZlcnNpb25pbmciOnsiZW5hYmxlZCI6ZmFsc2V9LCJsaWZlY3ljbGUiOnsicnVsZSI6W3siYWN0aW9uIjp7InR5cGUiOiJEZWxldGUifSwiY29uZGl0aW9uIjp7ImFnZSI6MzB9fV19LCJsYWJlbHMiOnsibDEiOiJ2MiIsIm5ldyI6Im5ldyJ9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQVk9In0=" } }, { - "ID": "206bb46b2b9d66bf", + "ID": "77ed46692038573c", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/obj1/rewriteTo/b/go-integration-test-20190502-80633403432013-0001/o/copy-obj1?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "3" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJuYW1lIjoib2JqMSJ9Cg==", - "aGVsbG8=" + "e30K" ] }, "Response": { - "StatusCode": 401, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "no-cache, no-store, max-age=0, must-revalidate" + ], "Content-Length": [ - "386" + "3333" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:02 GMT" + "Thu, 02 May 2019 22:24:14 GMT" + ], + "Expires": [ + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -3864,49 +4670,63 @@ "Origin", "X-Origin" ], - "Www-Authenticate": [ - "Bearer realm=\"https://accounts.google.com/\"" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2Upx_w9h8ZNQkYAYuMA6YbFErPvt6vs0-Jf9VIP-tY5AYL10PvNUQhbru3KoGfaRWqN7o3Gl_RbpUJsxCHrtiq8qUiaWMvysjTcSd5wRn7WP1MHumgo" + "AEnB2UpBnZgUt8GyAer5VG-_nEuf3YizRjF2t4MS6vOflI_Vid1-zVpQ99TuphB3pZjPZNI5ZoHJxCmDv3lyLwyhUDvk_p_NO9x8qZTEpjf1EOO5uxRsOxo" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS4iLCJsb2NhdGlvblR5cGUiOiJoZWFkZXIiLCJsb2NhdGlvbiI6IkF1dGhvcml6YXRpb24ifV0sImNvZGUiOjQwMSwibWVzc2FnZSI6IkFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS4ifX0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiMTYiLCJvYmplY3RTaXplIjoiMTYiLCJkb25lIjp0cnVlLCJyZXNvdXJjZSI6eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajEvMTU1NjgzNTg1NDE0NDc5MiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvcHktb2JqMSIsIm5hbWUiOiJjb3B5LW9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg1NDE0NDc5MiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoxNC4xNDRaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MTQuMTQ0WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjE0LjE0NFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiU25hL1VXdjdtY1pJMjNvRTV0VWFiUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvcHktb2JqMT9nZW5lcmF0aW9uPTE1NTY4MzU4NTQxNDQ3OTImYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29weS1vYmoxLzE1NTY4MzU4NTQxNDQ3OTIvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29weS1vYmoxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjb3B5LW9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg1NDE0NDc5MiIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDSmlxdmNEeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29weS1vYmoxLzE1NTY4MzU4NTQxNDQ3OTIvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvcHktb2JqMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvcHktb2JqMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODU0MTQ0NzkyIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0ppcXZjRHgvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvcHktb2JqMS8xNTU2ODM1ODU0MTQ0NzkyL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb3B5LW9iajEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjb3B5LW9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg1NDE0NDc5MiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSmlxdmNEeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29weS1vYmoxLzE1NTY4MzU4NTQxNDQ3OTIvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvcHktb2JqMS9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvcHktb2JqMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODU0MTQ0NzkyIiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0ppcXZjRHgvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJDVDZkVEE9PSIsImV0YWciOiJDSmlxdmNEeC9lRUNFQUU9In19" } }, { - "ID": "e8abb00c785db1e1", + "ID": "9187dbb998c64d40", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/copy-obj1?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/obj1/rewriteTo/b/go-integration-test-20190502-80633403432013-0001/o/copy-obj1?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "31" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJjb250ZW50RW5jb2RpbmciOiJpZGVudGl0eSJ9Cg==" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "3299" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:02 GMT" + "Thu, 02 May 2019 22:24:14 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -3921,49 +4741,72 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uqe3_7S2-2Xjw_Wj8lcWmJ7nQ-BA33s-UbRVKdM9I7su6s86jIThaZZcbW4yEvkb14ZSd4hI2QEVCdwDfswPUrtwhalEZzk8ouaI58x-qK3NClS0fY" + "AEnB2UpyrF7U9KSc3XcJb-T_KGf3Fg2yhFUjJqTl06wpqqhG5IT6chgLCWKnLTuamfHtVq8XcP7acZy4TGyKIEvZ4L36TGTfSM8Zp_JyF8K4rN5p375VBMc" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiMTYiLCJvYmplY3RTaXplIjoiMTYiLCJkb25lIjp0cnVlLCJyZXNvdXJjZSI6eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajEvMTU1NjgzNTg1NDc0NzU0MyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvcHktb2JqMSIsIm5hbWUiOiJjb3B5LW9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg1NDc0NzU0MyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoxNC43NDdaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MTQuNzQ3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjE0Ljc0N1oiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiU25hL1VXdjdtY1pJMjNvRTV0VWFiUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvcHktb2JqMT9nZW5lcmF0aW9uPTE1NTY4MzU4NTQ3NDc1NDMmYWx0PW1lZGlhIiwiY29udGVudEVuY29kaW5nIjoiaWRlbnRpdHkiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajEvMTU1NjgzNTg1NDc0NzU0My9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb3B5LW9iajEvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvcHktb2JqMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODU0NzQ3NTQzIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNKZVA0c0R4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajEvMTU1NjgzNTg1NDc0NzU0My9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29weS1vYmoxL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY29weS1vYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NTQ3NDc1NDMiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSmVQNHNEeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29weS1vYmoxLzE1NTY4MzU4NTQ3NDc1NDMvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvcHktb2JqMS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvcHktb2JqMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODU0NzQ3NTQzIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNKZVA0c0R4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajEvMTU1NjgzNTg1NDc0NzU0My91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29weS1vYmoxL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY29weS1vYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NTQ3NDc1NDMiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSmVQNHNEeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IkNUNmRUQT09IiwiZXRhZyI6IkNKZVA0c0R4L2VFQ0VBRT0ifX0=" } }, { - "ID": "3904c060284c77f5", + "ID": "c199412d75fadc45", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/copy-obj1?alt=json\u0026prettyPrint=false", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/obj1?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "193" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJhY2wiOlt7ImVudGl0eSI6ImRvbWFpbi1nb29nbGUuY29tIiwicm9sZSI6IlJFQURFUiJ9XSwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiY29udGVudExhbmd1YWdlIjoiZW4iLCJjb250ZW50VHlwZSI6InRleHQvaHRtbCIsIm1ldGFkYXRhIjp7ImtleSI6InZhbHVlIn19Cg==" + ] }, "Response": { - "StatusCode": 404, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "247" + "2046" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:02 GMT" + "Thu, 02 May 2019 22:24:15 GMT" + ], + "Etag": [ + "CLnS+bvx/eECEAI=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:02 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -3972,49 +4815,72 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpgXATyZ-EpKcRuzMo8uvwDh1LqtXsr2rvAZxUt1PJmuCYm1LIHrkbysvQLMw-fL-MEbVUpfTAXKTLW6FDaNmB8f6c8zKFGK_6L5z5tIjx3J0umc_A" + "AEnB2UqKO5A_yihnTzTSNbXxyLm-I3MkyC58APsD1U6RZ5_xpjjjL3nXVZIyACkeiDKXRZyU_oP1Yt0FeX23ONp6JeNyoy0J0kW8GwGMgPeN1ATdWGzCMXs" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vIHN1Y2ggb2JqZWN0OiBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29weS1vYmoxIn1dLCJjb2RlIjo0MDQsIm1lc3NhZ2UiOiJObyBzdWNoIG9iamVjdDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvcHktb2JqMSJ9fQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImNvbnRlbnRUeXBlIjoidGV4dC9odG1sIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA0LjY0NloiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoxNS4yMjBaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDQuNjQ2WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJTbmEvVVd2N21jWkkyM29FNXRVYWJRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMT9nZW5lcmF0aW9uPTE1NTY4MzU4NDQ2NDcyMjUmYWx0PW1lZGlhIiwiY29udGVudExhbmd1YWdlIjoiZW4iLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJtZXRhZGF0YSI6eyJrZXkiOiJ2YWx1ZSJ9LCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUvZG9tYWluLWdvb2dsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxL2FjbC9kb21haW4tZ29vZ2xlLmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6ImRvbWFpbi1nb29nbGUuY29tIiwicm9sZSI6IlJFQURFUiIsImRvbWFpbiI6Imdvb2dsZS5jb20iLCJldGFnIjoiQ0xuUytidngvZUVDRUFJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBST0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiQ1Q2ZFRBPT0iLCJldGFnIjoiQ0xuUytidngvZUVDRUFJPSJ9" } }, { - "ID": "3194311c1cee777d", + "ID": "c845025158c6b7d0", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/copy-obj1?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/obj1?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "120" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjb250ZW50TGFuZ3VhZ2UiOm51bGwsImNvbnRlbnRUeXBlIjpudWxsLCJtZXRhZGF0YSI6bnVsbH0K" + ] }, "Response": { - "StatusCode": 404, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "247" + "1970" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:02 GMT" + "Thu, 02 May 2019 22:24:15 GMT" + ], + "Etag": [ + "CLnS+bvx/eECEAM=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:02 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -4023,32 +4889,39 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrFEkRU0am7AYrD2H5fVqEz5wpWT-6rEn7jHlAg4QTcikc0gBw2L1QP2CZSZe_bOHvOSEmUCKsOP9sgDkFfIpjDd0zu5Rw2hVvFXJkpRn8g74_64a8" + "AEnB2UryOVdmGzCqBOS2ZZ0nw1SqbHF7qJ1CeTxgb6a1BJyoA42NTNZ8RdEVQGNF5u2hWdSQW79cBOonxjms_MoogyDJVAtKHl1rys87QHF6-750NNNSoEw" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vIHN1Y2ggb2JqZWN0OiBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29weS1vYmoxIn1dLCJjb2RlIjo0MDQsIm1lc3NhZ2UiOiJObyBzdWNoIG9iamVjdDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvcHktb2JqMSJ9fQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxIiwibmFtZSI6Im9iajEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NDY0NzIyNSIsIm1ldGFnZW5lcmF0aW9uIjoiMyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNC42NDZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MTUuNTI3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA0LjY0NloiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiU25hL1VXdjdtY1pJMjNvRTV0VWFiUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajE/Z2VuZXJhdGlvbj0xNTU2ODM1ODQ0NjQ3MjI1JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNS9kb21haW4tZ29vZ2xlLmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEvYWNsL2RvbWFpbi1nb29nbGUuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ0NjQ3MjI1IiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDTG5TK2J2eC9lRUNFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS8xNTU2ODM1ODQ0NjQ3MjI1L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoxL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ0NjQ3MjI1IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0xuUytidngvZUVDRUFNPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJDVDZkVEE9PSIsImV0YWciOiJDTG5TK2J2eC9lRUNFQU09In0=" } }, { - "ID": "9790f2633570eaa3", + "ID": "811b0b9d4980b14f", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/composed1/compose?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "156" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "multipart/related", "BodyParts": [ - "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6Im9iajEifSx7Im5hbWUiOiJvYmoyIn0seyJuYW1lIjoib2JqL3dpdGgvc2xhc2hlcyJ9XX0K" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJuYW1lIjoiY2hlY2tzdW0tb2JqZWN0In0K", + "aGVsbG93b3JsZA==" ] }, "Response": { @@ -4057,20 +4930,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "750" + "3305" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:03 GMT" + "Thu, 02 May 2019 22:24:16 GMT" ], "Etag": [ - "CPD3/JDb4d8CEAE=" + "CIGhrMHx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -4085,28 +4961,40 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Up-riWk_rqy4F6xfWj8zZTWTdIFYYorWgLOqM2L-_l97GFfGDfhFPFGfBQl1X0H0zgXmc_Ou6LbczTb5EDpl7vaMUgEC2tev6faoGHsHBHn39g9s9k" + "AEnB2UqJTh_P91pby-vQkRF12GexDihy7TZAlUPamDV_REldvXeqvbrWY_kB0Vcp1lYyuIY7EK2_eMBYYSRMMIVEYz5fxxt51-9Br_UmYvnuRgjhfC16AuA" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb21wb3NlZDEvMTU0NzA3MTY4MzI0NzA4OCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbXBvc2VkMSIsIm5hbWUiOiJjb21wb3NlZDEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4MzI0NzA4OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowMy4yNDZaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MDMuMjQ2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjAzLjI0NloiLCJzaXplIjoiNDgiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29tcG9zZWQxP2dlbmVyYXRpb249MTU0NzA3MTY4MzI0NzA4OCZhbHQ9bWVkaWEiLCJjcmMzMmMiOiJ3dGdFQlE9PSIsImNvbXBvbmVudENvdW50IjozLCJldGFnIjoiQ1BEMy9KRGI0ZDhDRUFFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jaGVja3N1bS1vYmplY3QvMTU1NjgzNTg1NTk2MjI0MSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NoZWNrc3VtLW9iamVjdCIsIm5hbWUiOiJjaGVja3N1bS1vYmplY3QiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg1NTk2MjI0MSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoxNS45NjFaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MTUuOTYxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjE1Ljk2MVoiLCJzaXplIjoiMTAiLCJtZDVIYXNoIjoiL0Y0RGpUaWxjRElJVkVIbi9uQVFzQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NoZWNrc3VtLW9iamVjdD9nZW5lcmF0aW9uPTE1NTY4MzU4NTU5NjIyNDEmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY2hlY2tzdW0tb2JqZWN0LzE1NTY4MzU4NTU5NjIyNDEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY2hlY2tzdW0tb2JqZWN0L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjaGVja3N1bS1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg1NTk2MjI0MSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDSUdock1IeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY2hlY2tzdW0tb2JqZWN0LzE1NTY4MzU4NTU5NjIyNDEvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NoZWNrc3VtLW9iamVjdC9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNoZWNrc3VtLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODU1OTYyMjQxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0lHaHJNSHgvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NoZWNrc3VtLW9iamVjdC8xNTU2ODM1ODU1OTYyMjQxL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jaGVja3N1bS1vYmplY3QvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjaGVja3N1bS1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg1NTk2MjI0MSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSUdock1IeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY2hlY2tzdW0tb2JqZWN0LzE1NTY4MzU4NTU5NjIyNDEvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NoZWNrc3VtLW9iamVjdC9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNoZWNrc3VtLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODU1OTYyMjQxIiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0lHaHJNSHgvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJWc3UwZ0E9PSIsImV0YWciOiJDSUdock1IeC9lRUNFQUU9In0=" } }, { - "ID": "7083160668f24d96", + "ID": "69c77b8bdd7cc643", "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/composed1", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJuYW1lIjoiemVyby1vYmplY3QifQo=", + "" + ] }, "Response": { "StatusCode": 200, @@ -4114,75 +5002,64 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "private, max-age=0" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "48" + "3240" ], "Content-Type": [ - "application/octet-stream" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:03 GMT" + "Thu, 02 May 2019 22:24:16 GMT" ], "Etag": [ - "\"-CPD3/JDb4d8CEAE=\"" + "CLirz8Hx/eECEAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:03 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:08:03 GMT" + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" ], - "X-Goog-Component-Count": [ - "3" - ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:08:03 GMT" - ], - "X-Goog-Generation": [ - "1547071683247088" - ], - "X-Goog-Hash": [ - "crc32c=wtgEBQ==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "48" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2Upd5T10-Zn6eDh9kCxJLxgPuXuf9ymVFC38KGGiqBOAQC6sGlDTDyF2Eh0zO_fjU7uBxcPp0aWmrPHYFfyg2FTLqy2GqxndAUxKr0vv2jRCwgqzoiQ" + "AEnB2Ur2iXVwACD0yFKYjt0WT-lW1Tx6PtpOgDYttPBWBnJZ3CPf4cUK7heI_9SwdzYXoieaRHDj9n3w3M_SExedwQqQ-GTOY9qM9DPmrPy11hEny0WjECc" ] }, - "Body": "xaxfEr5SfO1czyZTn7XDWn4xr4XHC7ESHvH6eFBCvF/v+GIarKXcE4Os/o8CIc+s" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS96ZXJvLW9iamVjdC8xNTU2ODM1ODU2NTM3MDE2Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vemVyby1vYmplY3QiLCJuYW1lIjoiemVyby1vYmplY3QiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg1NjUzNzAxNiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoxNi41MzZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MTYuNTM2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjE2LjUzNloiLCJzaXplIjoiMCIsIm1kNUhhc2giOiIxQjJNMlk4QXNnVHBnQW1ZN1BoQ2ZnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vemVyby1vYmplY3Q/Z2VuZXJhdGlvbj0xNTU2ODM1ODU2NTM3MDE2JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3plcm8tb2JqZWN0LzE1NTY4MzU4NTY1MzcwMTYvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vemVyby1vYmplY3QvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Inplcm8tb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NTY1MzcwMTYiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0xpcno4SHgvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3plcm8tb2JqZWN0LzE1NTY4MzU4NTY1MzcwMTYvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3plcm8tb2JqZWN0L2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiemVyby1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg1NjUzNzAxNiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNMaXJ6OEh4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS96ZXJvLW9iamVjdC8xNTU2ODM1ODU2NTM3MDE2L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby96ZXJvLW9iamVjdC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Inplcm8tb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NTY1MzcwMTYiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xpcno4SHgvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3plcm8tb2JqZWN0LzE1NTY4MzU4NTY1MzcwMTYvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3plcm8tb2JqZWN0L2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiemVyby1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg1NjUzNzAxNiIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMaXJ6OEh4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiQUFBQUFBPT0iLCJldGFnIjoiQ0xpcno4SHgvZUVDRUFFPSJ9" } }, { - "ID": "91b7fe9350017083", + "ID": "1017883279ca634a", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/composed2/compose?alt=json\u0026prettyPrint=false", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/obj1/acl/allUsers?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "182" + "98" ], "User-Agent": [ "google-api-go-client/0.5" @@ -4190,7 +5067,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjb250ZW50VHlwZSI6InRleHQvanNvbiJ9LCJzb3VyY2VPYmplY3RzIjpbeyJuYW1lIjoib2JqMSJ9LHsibmFtZSI6Im9iajIifSx7Im5hbWUiOiJvYmovd2l0aC9zbGFzaGVzIn1dfQo=" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJhbGxVc2VycyIsInJvbGUiOiJSRUFERVIifQo=" ] }, "Response": { @@ -4199,20 +5076,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "776" + "417" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:04 GMT" + "Thu, 02 May 2019 22:24:17 GMT" ], "Etag": [ - "COPFsZHb4d8CEAE=" + "CLnS+bvx/eECEAQ=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -4227,18 +5107,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UruEtmcokyq0PbCI6jR2Q5Htkadh_YB2kCdn81TspKBJaPkalE8XgXhby0CAWEXj4_UnyGZcZAHZZZPbkAy5MzbLKXYDE2R7I4yqFBDO9g_0Vx2WCM" + "AEnB2UoKqYaaFUj6b4ezS4lnnQgYv4CHVSsqhVSlLP3QqpItNahh25KnLzbTccK_idrfjKV0gExzr17MvFmoRw7oUIWyJJINmpEXEw5EmHScxipsb3KbWZ8" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb21wb3NlZDIvMTU0NzA3MTY4NDEwOTAyNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbXBvc2VkMiIsIm5hbWUiOiJjb21wb3NlZDIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4NDEwOTAyNyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9qc29uIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjA0LjEwOFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowNC4xMDhaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MDQuMTA4WiIsInNpemUiOiI0OCIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb21wb3NlZDI/Z2VuZXJhdGlvbj0xNTQ3MDcxNjg0MTA5MDI3JmFsdD1tZWRpYSIsImNyYzMyYyI6Ind0Z0VCUT09IiwiY29tcG9uZW50Q291bnQiOjMsImV0YWciOiJDT1BGc1pIYjRkOENFQUU9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS8xNTU2ODM1ODQ0NjQ3MjI1L2FsbFVzZXJzIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvYWxsVXNlcnMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJhbGxVc2VycyIsInJvbGUiOiJSRUFERVIiLCJldGFnIjoiQ0xuUytidngvZUVDRUFRPSJ9" } }, { - "ID": "87b5433c4b049e5b", + "ID": "35f04bf2400be96f", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/composed2", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/obj1", "Header": { "Accept-Encoding": [ "gzip" @@ -4248,7 +5137,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -4259,44 +5150,45 @@ "Accept-Ranges": [ "bytes" ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "public, max-age=60" ], "Content-Length": [ - "48" + "16" ], "Content-Type": [ - "text/json" + "application/octet-stream" ], "Date": [ - "Wed, 09 Jan 2019 22:08:04 GMT" + "Thu, 02 May 2019 22:24:17 GMT" ], "Etag": [ - "\"-COPFsZHb4d8CEAE=\"" + "\"4a76bf516bfb99c648db7a04e6d51a6d\"" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:04 GMT" + "Thu, 02 May 2019 22:25:17 GMT" ], "Last-Modified": [ - "Wed, 09 Jan 2019 22:08:04 GMT" + "Thu, 02 May 2019 22:24:04 GMT" ], "Server": [ "UploadServer" ], - "X-Goog-Component-Count": [ - "3" - ], "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:08:04 GMT" + "Sat, 01 Jun 2019 22:24:04 GMT" ], "X-Goog-Generation": [ - "1547071684109027" + "1556835844647225" ], "X-Goog-Hash": [ - "crc32c=wtgEBQ==" + "crc32c=CT6dTA==", + "md5=Sna/UWv7mcZI23oE5tUabQ==" ], "X-Goog-Metageneration": [ - "1" + "4" ], "X-Goog-Storage-Class": [ "STANDARD" @@ -4305,20 +5197,29 @@ "identity" ], "X-Goog-Stored-Content-Length": [ - "48" + "16" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UqOiISjVQITaYuWqflUUG40-sfHEcKVGNdeYVTbd_XVjvw1pNvOACyczzuYx3345C0lJ3G4Io7BEpQBWDNsd0eHfRU7v5RzheHthqZAYQNXPveIAac" + "AEnB2UqC9teasrZdeHJo8KLaQQ251d02ORMxXreH3TKcaQp4NWLVbpiAw1GpW9WeSdFgbpWtVDdyzfjE93gAs6uA0kdlDPZsIEfJVK3GFfaZE2aW5aFCn8Y" ] }, - "Body": "xaxfEr5SfO1czyZTn7XDWn4xr4XHC7ESHvH6eFBCvF/v+GIarKXcE4Os/o8CIc+s" + "Body": "TuDshcL7vdCAXh8L42NvEQ==" } }, { - "ID": "cfcd887010a71084", + "ID": "d01040504d2a91c4", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -4329,36 +5230,27 @@ }, "MediaType": "multipart/related", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjb250ZW50RW5jb2RpbmciOiJnemlwIiwibmFtZSI6Imd6aXAtdGVzdCJ9Cg==", - "H4sIAAAAAAAA/2IgEgACAAD//7E97OkoAAAA" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJuYW1lIjoib2JqMSJ9Cg==", + "aGVsbG8=" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 401, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "3320" + "30343" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:05 GMT" - ], - "Etag": [ - "CKOH5ZHb4d8CEAE=" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:17 GMT" ], "Server": [ "UploadServer" @@ -4367,103 +5259,110 @@ "Origin", "X-Origin" ], + "Www-Authenticate": [ + "Bearer realm=\"https://accounts.google.com/\"" + ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Uphpu_yV-bL7AiCDGz53NxqdqUlT_oMxBIgyHq5dZsoIEatqjPy0VMi2vGboamhW8iC5307aDUA9NjAYualScbO65vVgUAV26OIr1WjuB0xc43h_R0" + "AEnB2UqRhLZOcm0K7eNByUzCBgYfgiytuZ6Hj06jPkbkK77LS80OPgO_78AL530-2AcrlLe1fIy0jM0tonLLncLuOszrqKcGgVhqEJuE48-67vqBRACjqmY" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9nemlwLXRlc3QvMTU0NzA3MTY4NDk1Mjk5NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2d6aXAtdGVzdCIsIm5hbWUiOiJnemlwLXRlc3QiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4NDk1Mjk5NSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24veC1nemlwIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjA0Ljk1MloiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowNC45NTJaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MDQuOTUyWiIsInNpemUiOiIyNyIsIm1kNUhhc2giOiJPdEN3K2FSUklScUtHRkFFT2F4K3F3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vZ3ppcC10ZXN0P2dlbmVyYXRpb249MTU0NzA3MTY4NDk1Mjk5NSZhbHQ9bWVkaWEiLCJjb250ZW50RW5jb2RpbmciOiJnemlwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvZ3ppcC10ZXN0LzE1NDcwNzE2ODQ5NTI5OTUvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9nemlwLXRlc3QvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiZ3ppcC10ZXN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODQ5NTI5OTUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNLT0g1WkhiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9nemlwLXRlc3QvMTU0NzA3MTY4NDk1Mjk5NS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9nemlwLXRlc3QvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imd6aXAtdGVzdCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg0OTUyOTk1IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNLT0g1WkhiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9nemlwLXRlc3QvMTU0NzA3MTY4NDk1Mjk5NS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9nemlwLXRlc3QvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imd6aXAtdGVzdCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg0OTUyOTk1IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDS09INVpIYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvZ3ppcC10ZXN0LzE1NDcwNzE2ODQ5NTI5OTUvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2d6aXAtdGVzdC9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imd6aXAtdGVzdCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg0OTUyOTk1IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0tPSDVaSGI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiI5RGh3QkE9PSIsImV0YWciOiJDS09INVpIYjRkOENFQUU9In0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS4iLCJsb2NhdGlvblR5cGUiOiJoZWFkZXIiLCJsb2NhdGlvbiI6IkF1dGhvcml6YXRpb24iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNDRVNTX0RFTklFRDogQW5vbnltb3VzIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5jcmVhdGUgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkluc2VydE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0T2JqZWN0LmphdmE6NDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuaW5zZXJ0KE9iamVjdHNEZWxlZ2F0b3IuamF2YTo5NSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQW5vbnltb3VzIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5jcmVhdGUgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cbmNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1MT0dJTl9SRVFVSVJFRCwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9Y29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUxPR0lOX1JFUVVJUkVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OkFDQ0VTU19ERU5JRUQ6IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjQ0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmluc2VydChPYmplY3RzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBkb21haW49Z2xvYmFsLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9dW5hdXRob3JpemVkLCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5SRVFVSVJFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OkFDQ0VTU19ERU5JRUQ6IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjQ0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmluc2VydChPYmplY3RzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBlcnJvclByb3RvQ29kZT1SRVFVSVJFRCwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1lbnRpdHkuYXV0aGVudGljYXRlZF91c2VyLCBtZXNzYWdlPUFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS4sIHVubmFtZWRBcmd1bWVudHM9W119LCBsb2NhdGlvbj1oZWFkZXJzLkF1dGhvcml6YXRpb24sIG1lc3NhZ2U9QW5vbnltb3VzIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5jcmVhdGUgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMX0gQW5vbnltb3VzIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5jcmVhdGUgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OkFDQ0VTU19ERU5JRUQ6IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjQ0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmluc2VydChPYmplY3RzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OkFDQ0VTU19ERU5JRUQ6IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjQ0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmluc2VydChPYmplY3RzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBkb21haW49Z2xvYmFsLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e1dXVy1BdXRoZW50aWNhdGU9W0JlYXJlciByZWFsbT1cImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9cIl19LCBodHRwU3RhdHVzPXVuYXV0aG9yaXplZCwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uUkVRVUlSRUQsIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0NFU1NfREVOSUVEOiBBbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkluc2VydE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0T2JqZWN0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YTo0NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5pbnNlcnQoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBBbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZXJyb3JQcm90b0NvZGU9UkVRVUlSRUQsIGVycm9yUHJvdG9Eb21haW49Z2RhdGEuQ29yZUVycm9yRG9tYWluLCBmaWx0ZXJlZE1lc3NhZ2U9bnVsbCwgbG9jYXRpb249ZW50aXR5LmF1dGhlbnRpY2F0ZWRfdXNlciwgbWVzc2FnZT1Bbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249aGVhZGVycy5BdXRob3JpemF0aW9uLCBtZXNzYWdlPUFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS4sIHJlYXNvbj1yZXF1aXJlZCwgcnBjQ29kZT00MDF9IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS46IGNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0NFU1NfREVOSUVEOiBBbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkluc2VydE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0T2JqZWN0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YTo0NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5pbnNlcnQoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBBbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuYXV0aC5BdXRoZW50aWNhdG9ySW50ZXJjZXB0b3IuYWRkQ2hhbGxlbmdlSGVhZGVyKEF1dGhlbnRpY2F0b3JJbnRlcmNlcHRvci5qYXZhOjI2OSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmF1dGguQXV0aGVudGljYXRvckludGVyY2VwdG9yLnByb2Nlc3NFcnJvclJlc3BvbnNlKEF1dGhlbnRpY2F0b3JJbnRlcmNlcHRvci5qYXZhOjIzNilcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmF1dGguR2FpYU1pbnRJbnRlcmNlcHRvci5wcm9jZXNzRXJyb3JSZXNwb25zZShHYWlhTWludEludGVyY2VwdG9yLmphdmE6NzY4KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5pbnRlcmNlcHQuQXJvdW5kSW50ZXJjZXB0b3JXcmFwcGVyLnByb2Nlc3NFcnJvclJlc3BvbnNlKEFyb3VuZEludGVyY2VwdG9yV3JhcHBlci5qYXZhOjI4KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuc3RhdHMuU3RhdHNCb290c3RyYXAkSW50ZXJjZXB0b3JTdGF0c1JlY29yZGVyLnByb2Nlc3NFcnJvclJlc3BvbnNlKFN0YXRzQm9vdHN0cmFwLmphdmE6MzE1KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5pbnRlcmNlcHQuSW50ZXJjZXB0aW9ucyRBcm91bmRJbnRlcmNlcHRpb24uaGFuZGxlRXJyb3JSZXNwb25zZShJbnRlcmNlcHRpb25zLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5pbnRlcmNlcHQuSW50ZXJjZXB0aW9ucyRBcm91bmRJbnRlcmNlcHRpb24uYWNjZXNzJDIwMChJbnRlcmNlcHRpb25zLmphdmE6MTAzKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5pbnRlcmNlcHQuSW50ZXJjZXB0aW9ucyRBcm91bmRJbnRlcmNlcHRpb24kMS5jYWxsKEludGVyY2VwdGlvbnMuamF2YToxNDQpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLmludGVyY2VwdC5JbnRlcmNlcHRpb25zJEFyb3VuZEludGVyY2VwdGlvbiQxLmNhbGwoSW50ZXJjZXB0aW9ucy5qYXZhOjEzNylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldEV4Y2VwdGlvbihBYnN0cmFjdEZ1dHVyZS5qYXZhOjc1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2OClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnRocmVhZC5UaHJlYWRUcmFja2VycyRUaHJlYWRUcmFja2luZ1J1bm5hYmxlLnJ1bihUaHJlYWRUcmFja2Vycy5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6NDUzKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuc2VydmVyLkNvbW1vbk1vZHVsZSRDb250ZXh0Q2FycnlpbmdFeGVjdXRvclNlcnZpY2UkMS5ydW5JbkNvbnRleHQoQ29tbW9uTW9kdWxlLmphdmE6ODAyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlJDEucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ2MClcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihUcmFjZUNvbnRleHQuamF2YTozMTkpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6MzExKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NTcpXG5cdGF0IGNvbS5nb29nbGUuZ3NlLmludGVybmFsLkRpc3BhdGNoUXVldWVJbXBsJFdvcmtlclRocmVhZC5ydW4oRGlzcGF0Y2hRdWV1ZUltcGwuamF2YTo0MDMpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1MT0dJTl9SRVFVSVJFRCwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0NFU1NfREVOSUVEOiBBbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkluc2VydE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0T2JqZWN0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YTo0NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5pbnNlcnQoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBBbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPXVuYXV0aG9yaXplZCwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uUkVRVUlSRUQsIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0NFU1NfREVOSUVEOiBBbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkluc2VydE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0T2JqZWN0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YTo0NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5pbnNlcnQoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBBbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZXJyb3JQcm90b0NvZGU9UkVRVUlSRUQsIGVycm9yUHJvdG9Eb21haW49Z2RhdGEuQ29yZUVycm9yRG9tYWluLCBmaWx0ZXJlZE1lc3NhZ2U9bnVsbCwgbG9jYXRpb249ZW50aXR5LmF1dGhlbnRpY2F0ZWRfdXNlciwgbWVzc2FnZT1Bbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249aGVhZGVycy5BdXRob3JpemF0aW9uLCBtZXNzYWdlPUFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS4sIHJlYXNvbj1yZXF1aXJlZCwgcnBjQ29kZT00MDF9IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS46IGNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0NFU1NfREVOSUVEOiBBbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkluc2VydE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0T2JqZWN0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YTo0NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5pbnNlcnQoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBBbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5FcnJvckNvbGxlY3Rvci50b0ZhdWx0KEVycm9yQ29sbGVjdG9yLmphdmE6NTQpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5RXJyb3JDb252ZXJ0ZXIudG9GYXVsdChSb3N5RXJyb3JDb252ZXJ0ZXIuamF2YTo2Nylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjI1OSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjIzOSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0Li4uIDIwIG1vcmVcbiJ9XSwiY29kZSI6NDAxLCJtZXNzYWdlIjoiQW5vbnltb3VzIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5jcmVhdGUgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLiJ9fQ==" } }, { - "ID": "8d7cf9c85cc4e580", + "ID": "db327c92dac99584", "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/gzip-test", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/copy-obj1?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "none" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "private, max-age=0" + "no-cache, no-store, max-age=0, must-revalidate" + ], + "Content-Length": [ + "0" ], "Content-Type": [ - "application/x-gzip" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:08:05 GMT" + "Thu, 02 May 2019 22:24:18 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:05 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:08:04 GMT" + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" ], "Vary": [ - "Accept-Encoding" - ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:08:04 GMT" - ], - "X-Goog-Generation": [ - "1547071684952995" - ], - "X-Goog-Hash": [ - "crc32c=9DhwBA==", - "md5=OtCw+aRRIRqKGFAEOax+qw==" - ], - "X-Goog-Metageneration": [ - "1" + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "gzip" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "27" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2Upr-ou9Vj3-HH0XJn7VLXo8lk1v2aaMZAHsKJPFIBHM-KNjDF-IkIiTSraNII9YIoeADh2msnyIAFRX6_ljOm6dZzNOTS2YK9whzTuNsg2XnnZJETk" + "AEnB2Uoa0LrEhOIeq-iYERbwsOkXjr0QR1ANe3tDsleUqoFNU7fRIruaqYikdnU1svzhc8iGRwx0A5dAGYQ_mM045LN_oxU1c76ugXtnWS2PW8wBcmst7hk" ] }, - "Body": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + "Body": "" } }, { - "ID": "92485638c9e67e43", + "ID": "e70c028bd3dc9250", "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/obj-not-exists", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/copy-obj1?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 404, @@ -4471,36 +5370,52 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0" ], "Content-Length": [ - "225" + "12275" ], "Content-Type": [ - "application/xml; charset=UTF-8" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:05 GMT" + "Thu, 02 May 2019 22:24:18 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:05 GMT" + "Thu, 02 May 2019 22:24:18 GMT" ], "Server": [ "UploadServer" ], + "Vary": [ + "Origin", + "X-Origin" + ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UrW06gHJUOI7JJiKUiSXOysusQROcz7eIBmN7OL2Lhl6gFZVss2rj0AKUkGLF0o9Xf0xXtFXBOdtvD7g92P5xfTPdw4jOJ1DbeArqKKa0HBpnn0bl8" + "AEnB2UqrvFq18HewCbAkJcD7BmKgE8_WOFqSNkcwbpbNqCDPIy5jLVf2fIaHdg76_1rHuAHTtFM84Zr6euptOehRZOqA38Zc_BrJUSZKjg686imvazehpBc" ] }, - "Body": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48RXJyb3I+PENvZGU+Tm9TdWNoS2V5PC9Db2RlPjxNZXNzYWdlPlRoZSBzcGVjaWZpZWQga2V5IGRvZXMgbm90IGV4aXN0LjwvTWVzc2FnZT48RGV0YWlscz5ObyBzdWNoIG9iamVjdDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iai1ub3QtZXhpc3RzPC9EZXRhaWxzPjwvRXJyb3I+" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vIHN1Y2ggb2JqZWN0OiBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29weS1vYmoxIiwiZGVidWdJbmZvIjoiY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6Ok9CSkVDVF9OT1RfRk9VTkQ6IE5vIHN1Y2ggb2JqZWN0OiBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29weS1vYmoxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6ODgpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5EZWxldGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZU9iamVjdC5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmRlbGV0ZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBObyBzdWNoIG9iamVjdDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvcHktb2JqMVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cbmNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1OT1RfRk9VTkQsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6T0JKRUNUX05PVF9GT1VORDogTm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajFcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuRGVsZXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVPYmplY3QuamF2YTo4OClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuZGVsZXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IE5vIHN1Y2ggb2JqZWN0OiBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29weS1vYmoxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPW5vdEZvdW5kLCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5OT1RfRk9VTkQsIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpPQkpFQ1RfTk9UX0ZPVU5EOiBObyBzdWNoIG9iamVjdDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvcHktb2JqMVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5EZWxldGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZU9iamVjdC5qYXZhOjg4KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuRGVsZXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVPYmplY3QuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5kZWxldGUoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjExMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogTm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajFcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBlcnJvclByb3RvQ29kZT1OT1RfRk9VTkQsIGVycm9yUHJvdG9Eb21haW49Z2RhdGEuQ29yZUVycm9yRG9tYWluLCBmaWx0ZXJlZE1lc3NhZ2U9bnVsbCwgbG9jYXRpb249ZW50aXR5LnJlc291cmNlX2lkLm5hbWUsIG1lc3NhZ2U9Tm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajEsIHVubmFtZWRBcmd1bWVudHM9W119LCBsb2NhdGlvbj1lbnRpdHkucmVzb3VyY2VfaWQubmFtZSwgbWVzc2FnZT1ObyBzdWNoIG9iamVjdDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvcHktb2JqMSwgcmVhc29uPW5vdEZvdW5kLCBycGNDb2RlPTQwNH0gTm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajE6IGNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpPQkpFQ1RfTk9UX0ZPVU5EOiBObyBzdWNoIG9iamVjdDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvcHktb2JqMVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5EZWxldGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZU9iamVjdC5qYXZhOjg4KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuRGVsZXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVPYmplY3QuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5kZWxldGUoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjExMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogTm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajFcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajEifX0=" } }, { - "ID": "14ba6ac0b87c2dcf", + "ID": "4d7120b41e583669", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/copy-obj1?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -4509,38 +5424,34 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoic2lnbmVkVVJMIn0K", - "VGhpcyBpcyBhIHRlc3Qgb2YgU2lnbmVkVVJMLgo=" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 404, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" ], "Content-Length": [ - "3323" + "12215" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:06 GMT" - ], - "Etag": [ - "COaFp5Lb4d8CEAE=" + "Thu, 02 May 2019 22:24:18 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:18 GMT" ], "Server": [ "UploadServer" @@ -4549,24 +5460,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Uqm5m0iJgv5E37ZmRjbs4NM2vPv_iL0lYchqnHU6c-nsaHQlNuRWvW4BZvkch2l-tFcS04zFBDdRZf0uNtMFXpR3w6N0Fag-XZHP9bXllfdMsQwsDY" + "AEnB2UoJ1cGOQjoNiRk8qv-igyccVp3Vg_ut7NLSEO3A-yyQwgGnoXR5jPbi3tuomYWrS57GIvd6GpShkcAYSIJ2e94Jx_1SseYkYtlSF8a7qsDU0OVFYgM" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9zaWduZWRVUkwvMTU0NzA3MTY4NjAzNDE1MCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3NpZ25lZFVSTCIsIm5hbWUiOiJzaWduZWRVUkwiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4NjAzNDE1MCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowNi4wMzNaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MDYuMDMzWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjA2LjAzM1oiLCJzaXplIjoiMjkiLCJtZDVIYXNoIjoiSnl4dmd3bTluMk1zckdUTVBiTWVZQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3NpZ25lZFVSTD9nZW5lcmF0aW9uPTE1NDcwNzE2ODYwMzQxNTAmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvc2lnbmVkVVJMLzE1NDcwNzE2ODYwMzQxNTAvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9zaWduZWRVUkwvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoic2lnbmVkVVJMIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODYwMzQxNTAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNPYUZwNUxiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9zaWduZWRVUkwvMTU0NzA3MTY4NjAzNDE1MC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9zaWduZWRVUkwvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InNpZ25lZFVSTCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg2MDM0MTUwIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNPYUZwNUxiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9zaWduZWRVUkwvMTU0NzA3MTY4NjAzNDE1MC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9zaWduZWRVUkwvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InNpZ25lZFVSTCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg2MDM0MTUwIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDT2FGcDVMYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvc2lnbmVkVVJMLzE1NDcwNzE2ODYwMzQxNTAvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3NpZ25lZFVSTC9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InNpZ25lZFVSTCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg2MDM0MTUwIiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09hRnA1TGI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJaVHFBTHc9PSIsImV0YWciOiJDT2FGcDVMYjRkOENFQUU9In0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vIHN1Y2ggb2JqZWN0OiBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29weS1vYmoxIiwiZGVidWdJbmZvIjoiY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6Ok9CSkVDVF9OT1RfRk9VTkQ6IE5vIHN1Y2ggb2JqZWN0OiBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29weS1vYmoxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkdldE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoR2V0T2JqZWN0LmphdmE6MzA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuR2V0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRPYmplY3QuamF2YTo3MClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5nZXQoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjgxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBObyBzdWNoIG9iamVjdDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvcHktb2JqMVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cbmNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1OT1RfRk9VTkQsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6T0JKRUNUX05PVF9GT1VORDogTm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajFcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuR2V0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRPYmplY3QuamF2YTozMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5HZXRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEdldE9iamVjdC5qYXZhOjcwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmdldChPYmplY3RzRGVsZWdhdG9yLmphdmE6ODEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IE5vIHN1Y2ggb2JqZWN0OiBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29weS1vYmoxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPW5vdEZvdW5kLCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5OT1RfRk9VTkQsIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpPQkpFQ1RfTk9UX0ZPVU5EOiBObyBzdWNoIG9iamVjdDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvcHktb2JqMVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5HZXRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEdldE9iamVjdC5qYXZhOjMwOSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkdldE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoR2V0T2JqZWN0LmphdmE6NzApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuZ2V0KE9iamVjdHNEZWxlZ2F0b3IuamF2YTo4MSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogTm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajFcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBlcnJvclByb3RvQ29kZT1OT1RfRk9VTkQsIGVycm9yUHJvdG9Eb21haW49Z2RhdGEuQ29yZUVycm9yRG9tYWluLCBmaWx0ZXJlZE1lc3NhZ2U9bnVsbCwgbG9jYXRpb249ZW50aXR5LnJlc291cmNlX2lkLm5hbWUsIG1lc3NhZ2U9Tm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajEsIHVubmFtZWRBcmd1bWVudHM9W119LCBsb2NhdGlvbj1lbnRpdHkucmVzb3VyY2VfaWQubmFtZSwgbWVzc2FnZT1ObyBzdWNoIG9iamVjdDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvcHktb2JqMSwgcmVhc29uPW5vdEZvdW5kLCBycGNDb2RlPTQwNH0gTm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajE6IGNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpPQkpFQ1RfTk9UX0ZPVU5EOiBObyBzdWNoIG9iamVjdDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvcHktb2JqMVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5HZXRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEdldE9iamVjdC5qYXZhOjMwOSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkdldE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoR2V0T2JqZWN0LmphdmE6NzApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuZ2V0KE9iamVjdHNEZWxlZ2F0b3IuamF2YTo4MSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogTm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajFcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm8gc3VjaCBvYmplY3Q6IGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb3B5LW9iajEifX0=" } }, { - "ID": "c027ab4cca8fee08", + "ID": "e7711da9b067a58f", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/composed1/compose?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "107" + "156" ], "User-Agent": [ "google-api-go-client/0.5" @@ -4574,7 +5494,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6Im9iajEifSx7Im5hbWUiOiJvYmoyIn0seyJuYW1lIjoib2JqL3dpdGgvc2xhc2hlcyJ9XX0K" ] }, "Response": { @@ -4583,20 +5503,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "119" + "750" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:08 GMT" + "Thu, 02 May 2019 22:24:19 GMT" ], "Etag": [ - "CAU=" + "CI2048Lx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -4611,28 +5534,39 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq8bs0mbcByEOC-b-2zmjXtMSYVrNzztFQMUjQbbldtPmFVvNlucShrv2mrHKEp4Y7HTfNSDbJqg6SgrvD5GgoiXLDy5QnPj_EpEYdXtg8-RvDODhE" + "AEnB2UoJ5Us6Rp03fUUqSAPFFGPuqW2qR4gCfzJ4w3W1Kx8C0JGfNDxte0QlBoVEi4K7rV5zkUY1IXQvIk6FOU3DxP8ECZdxkVJBW57Jf5iXo8kRyLVu7OA" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDQVU9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb21wb3NlZDEvMTU1NjgzNTg1ODk2Mjk1NyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbXBvc2VkMSIsIm5hbWUiOiJjb21wb3NlZDEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg1ODk2Mjk1NyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoxOC45NjJaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MTguOTYyWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjE4Ljk2MloiLCJzaXplIjoiNDgiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29tcG9zZWQxP2dlbmVyYXRpb249MTU1NjgzNTg1ODk2Mjk1NyZhbHQ9bWVkaWEiLCJjcmMzMmMiOiJBYldCeVE9PSIsImNvbXBvbmVudENvdW50IjozLCJldGFnIjoiQ0kyMDQ4THgvZUVDRUFFPSJ9" } }, { - "ID": "a3197e7df5344329", + "ID": "de5d78de4310ff60", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/defaultObjectAcl?alt=json\u0026prettyPrint=false", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/composed1", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -4640,55 +5574,95 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "private, max-age=0" ], "Content-Length": [ - "678" + "48" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/octet-stream" ], "Date": [ - "Wed, 09 Jan 2019 22:08:08 GMT" + "Thu, 02 May 2019 22:24:19 GMT" ], "Etag": [ - "CAU=" + "\"-CI2048Lx/eECEAE=\"" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:08 GMT" + "Thu, 02 May 2019 22:24:19 GMT" + ], + "Last-Modified": [ + "Thu, 02 May 2019 22:24:18 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Component-Count": [ + "3" + ], + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:24:18 GMT" + ], + "X-Goog-Generation": [ + "1556835858962957" + ], + "X-Goog-Hash": [ + "crc32c=AbWByQ==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "48" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UqVveQuiuwLKBN3YEEYKo_hVIPSd4wPpMBDNaJmEfGsxj6wJROHauL1kfmNTOCkU8JvTw11OXOPsAYoW37y0swG5CuxCWu1i79iA4_ytZCJYdJrdo0" + "AEnB2UqprnxhGEtAMeMcwiKn43QTEdsHrB7k_jCjOqnvH984bk5CIjIhSalrDVNwlLb37IU67jIYyIY1Nq8uaSz5HGUROWwpE6SVmGvIGXnuAbTP7x8Ez5w" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQVU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNBVT0ifV19" + "Body": "TuDshcL7vdCAXh8L42NvEeeRmd+w7xhUEtz55BCr9yaRPt+QxetF2uGfY/b4R5Pm" } }, { - "ID": "1799c0e03aad7e80", + "ID": "4b7c14a3f35089ce", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/composed2/compose?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "182" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoiYWNsMSJ9Cg==", - "S66hi7/qDFNBzuTKBydbyA==" + "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjb250ZW50VHlwZSI6InRleHQvanNvbiJ9LCJzb3VyY2VPYmplY3RzIjpbeyJuYW1lIjoib2JqMSJ9LHsibmFtZSI6Im9iajIifSx7Im5hbWUiOiJvYmovd2l0aC9zbGFzaGVzIn1dfQo=" ] }, "Response": { @@ -4697,20 +5671,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3724" + "776" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:09 GMT" + "Thu, 02 May 2019 22:24:19 GMT" ], "Etag": [ - "CI3v45Pb4d8CEAE=" + "CP+RiMPx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -4725,18 +5702,121 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], + "X-Guploader-Uploadid": [ + "AEnB2UrMYc2wH1kAYUthDQQhZ4gGQU6kYXq6KGs1msu9ifujWYQ2dwS5ifqZFWiTYf74Rq2y9VkzALfhjkTK6anDL-SwHxUH3IwMe8j1rrrbaMbv7eLQCR8" + ] + }, + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb21wb3NlZDIvMTU1NjgzNTg1OTU2NDc5OSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbXBvc2VkMiIsIm5hbWUiOiJjb21wb3NlZDIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg1OTU2NDc5OSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9qc29uIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjE5LjU2NFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoxOS41NjRaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MTkuNTY0WiIsInNpemUiOiI0OCIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb21wb3NlZDI/Z2VuZXJhdGlvbj0xNTU2ODM1ODU5NTY0Nzk5JmFsdD1tZWRpYSIsImNyYzMyYyI6IkFiV0J5UT09IiwiY29tcG9uZW50Q291bnQiOjMsImV0YWciOiJDUCtSaU1QeC9lRUNFQUU9In0=" + } + }, + { + "ID": "26a4cb091ed2f1bd", + "Request": { + "Method": "GET", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/composed2", + "Header": { + "Accept-Encoding": [ + "gzip" + ], + "User-Agent": [ + "Go-http-client/1.1" + ] + }, + "MediaType": "", + "BodyParts": [ + "" + ] + }, + "Response": { + "StatusCode": 200, + "Proto": "HTTP/1.1", + "ProtoMajor": 1, + "ProtoMinor": 1, + "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "private, max-age=0" + ], + "Content-Length": [ + "48" + ], + "Content-Type": [ + "text/json" + ], + "Date": [ + "Thu, 02 May 2019 22:24:19 GMT" + ], + "Etag": [ + "\"-CP+RiMPx/eECEAE=\"" + ], + "Expires": [ + "Thu, 02 May 2019 22:24:19 GMT" + ], + "Last-Modified": [ + "Thu, 02 May 2019 22:24:19 GMT" + ], + "Server": [ + "UploadServer" + ], + "X-Goog-Component-Count": [ + "3" + ], + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:24:19 GMT" + ], + "X-Goog-Generation": [ + "1556835859564799" + ], + "X-Goog-Hash": [ + "crc32c=AbWByQ==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "48" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrHlIRhM9U0iX8m7g4ftHozODJIkapeNcEdDwbH-QfzRoXbTXvGS3cH_HIbVGwGl6IuCxb-6rj4Z0jsWrh0sz-QmAC4URv6u8s1EtX0Udu1mHsq-NM" + "AEnB2Ur-t-yqapXjBzjIrFWFhaT080f06JahbskCp0DC_-izUjPK4fYn556m2qyRDgj9HjkkDPtKR6dauzF5afjNZZ61bN_dTvw15d82A206-SdS1Jv_YM4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wxLzE1NDcwNzE2ODkxMjc4MjEiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9hY2wxIiwibmFtZSI6ImFjbDEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4OTEyNzgyMSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjA5LjEyN1oiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowOS4xMjdaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MDkuMTI3WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJSdmgyMEtzTkN3SjJLL055T1B0SDR3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWNsMT9nZW5lcmF0aW9uPTE1NDcwNzE2ODkxMjc4MjEmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYWNsMS8xNTQ3MDcxNjg5MTI3ODIxL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWNsMS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJhY2wxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODkxMjc4MjEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNJM3Y0NVBiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wxLzE1NDcwNzE2ODkxMjc4MjEvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWNsMS9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiYWNsMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg5MTI3ODIxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNJM3Y0NVBiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wxLzE1NDcwNzE2ODkxMjc4MjEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWNsMS9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiYWNsMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg5MTI3ODIxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSTN2NDVQYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYWNsMS8xNTQ3MDcxNjg5MTI3ODIxL2RvbWFpbi1nb29nbGUuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWNsMS9hY2wvZG9tYWluLWdvb2dsZS5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJhY2wxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODkxMjc4MjEiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNJM3Y0NVBiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wxLzE1NDcwNzE2ODkxMjc4MjEvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2FjbDEvYWNsL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJhY2wxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODkxMjc4MjEiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSTN2NDVQYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6InJXMllhQT09IiwiZXRhZyI6IkNJM3Y0NVBiNGQ4Q0VBRT0ifQ==" + "Body": "TuDshcL7vdCAXh8L42NvEeeRmd+w7xhUEtz55BCr9yaRPt+QxetF2uGfY/b4R5Pm" } }, { - "ID": "8dfae57016523245", + "ID": "6b59ed7d3d098970", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -4747,8 +5827,8 @@ }, "MediaType": "multipart/related", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoiYWNsMiJ9Cg==", - "aEH3vVQBcxQAKobZSN1IzQ==" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjb250ZW50RW5jb2RpbmciOiJnemlwIiwibmFtZSI6Imd6aXAtdGVzdCJ9Cg==", + "H4sIAAAAAAAA/2IgEgACAAD//7E97OkoAAAA" ] }, "Response": { @@ -4757,20 +5837,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3724" + "3227" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:09 GMT" + "Thu, 02 May 2019 22:24:20 GMT" ], "Etag": [ - "CIyeg5Tb4d8CEAE=" + "CNuJssPx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -4785,28 +5868,39 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqB_vfMalCrpv9PyAZP9R81P0H4QrvZsyCvBPcbGoPVIgzWSa7EB4ivukSrqIZXmnjaDNzWB0-FpOiL9FgTMdFqHRCSFWqpEhKxXHy0EqC1LMjvX6Q" + "AEnB2UoXNmswaWh2Gfcz1pYPy7etwk09Nz_dmuYVq55M2p3ox38A3mC0QgoHf-hL1uCZxQvusJSIHeugTQvmCgZvRdXV-3juD0W8KI669m0EILAHSfnVoJ8" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wyLzE1NDcwNzE2ODk2NDE3NDAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9hY2wyIiwibmFtZSI6ImFjbDIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4OTY0MTc0MCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjA5LjY0MVoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowOS42NDFaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MDkuNjQxWiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJWZ1dray92TkJCdnJ4UEF1VjFXYUt3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWNsMj9nZW5lcmF0aW9uPTE1NDcwNzE2ODk2NDE3NDAmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYWNsMi8xNTQ3MDcxNjg5NjQxNzQwL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWNsMi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJhY2wyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODk2NDE3NDAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNJeWVnNVRiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wyLzE1NDcwNzE2ODk2NDE3NDAvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWNsMi9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiYWNsMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg5NjQxNzQwIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNJeWVnNVRiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wyLzE1NDcwNzE2ODk2NDE3NDAvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWNsMi9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiYWNsMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg5NjQxNzQwIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSXllZzVUYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYWNsMi8xNTQ3MDcxNjg5NjQxNzQwL2RvbWFpbi1nb29nbGUuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWNsMi9hY2wvZG9tYWluLWdvb2dsZS5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJhY2wyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODk2NDE3NDAiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNJeWVnNVRiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wyLzE1NDcwNzE2ODk2NDE3NDAvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2FjbDIvYWNsL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJhY2wyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODk2NDE3NDAiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSXllZzVUYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IldSVDJVUT09IiwiZXRhZyI6IkNJeWVnNVRiNGQ4Q0VBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9nemlwLXRlc3QvMTU1NjgzNTg2MDI1MTg2NyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2d6aXAtdGVzdCIsIm5hbWUiOiJnemlwLXRlc3QiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2MDI1MTg2NyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24veC1nemlwIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjIwLjI1MVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoyMC4yNTFaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MjAuMjUxWiIsInNpemUiOiIyNyIsIm1kNUhhc2giOiJPdEN3K2FSUklScUtHRkFFT2F4K3F3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vZ3ppcC10ZXN0P2dlbmVyYXRpb249MTU1NjgzNTg2MDI1MTg2NyZhbHQ9bWVkaWEiLCJjb250ZW50RW5jb2RpbmciOiJnemlwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvZ3ppcC10ZXN0LzE1NTY4MzU4NjAyNTE4NjcvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vZ3ppcC10ZXN0L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJnemlwLXRlc3QiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2MDI1MTg2NyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTnVKc3NQeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvZ3ppcC10ZXN0LzE1NTY4MzU4NjAyNTE4NjcvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2d6aXAtdGVzdC9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Imd6aXAtdGVzdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODYwMjUxODY3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ051SnNzUHgvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2d6aXAtdGVzdC8xNTU2ODM1ODYwMjUxODY3L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9nemlwLXRlc3QvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJnemlwLXRlc3QiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2MDI1MTg2NyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTnVKc3NQeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvZ3ppcC10ZXN0LzE1NTY4MzU4NjAyNTE4NjcvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2d6aXAtdGVzdC9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Imd6aXAtdGVzdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODYwMjUxODY3IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ051SnNzUHgvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiI5RGh3QkE9PSIsImV0YWciOiJDTnVKc3NQeC9lRUNFQUU9In0=" } }, { - "ID": "a49f6b0abc2a3d67", + "ID": "070a9af78f7967bf", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/acl1/acl?alt=json\u0026prettyPrint=false", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/gzip-test", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -4814,100 +5908,137 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "Accept-Ranges": [ + "none" ], - "Content-Length": [ - "2839" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "private, max-age=0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/x-gzip" ], "Date": [ - "Wed, 09 Jan 2019 22:08:09 GMT" - ], - "Etag": [ - "CI3v45Pb4d8CEAE=" + "Thu, 02 May 2019 22:24:20 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:09 GMT" + "Thu, 02 May 2019 22:24:20 GMT" + ], + "Last-Modified": [ + "Thu, 02 May 2019 22:24:20 GMT" ], "Server": [ "UploadServer" ], "Vary": [ - "Origin", - "X-Origin" + "Accept-Encoding" + ], + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:24:20 GMT" + ], + "X-Goog-Generation": [ + "1556835860251867" + ], + "X-Goog-Hash": [ + "crc32c=9DhwBA==", + "md5=OtCw+aRRIRqKGFAEOax+qw==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "gzip" + ], + "X-Goog-Stored-Content-Length": [ + "27" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UpCgPOhRKcXLAmcyoqTy7gRbGU8kSXhr-j_aTX2_g5jekNPC834TSfDr_OjqJLr8YCAw1rf1q3o5AyBkAS1ao7guOFACjxf71NYz7pqcEYYfa5-Boc" + "AEnB2UosPALnXk-3j5nBlDDWX7hBP4xBNcCe7lGNkEU-sHHTWsRexFWLoB-1gn8RfnlqS6Q5ZTrR86NBxpP1T0bFxgHnlYUYGh-G3mThRCgGIAWjXggOeOU" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYWNsMS8xNTQ3MDcxNjg5MTI3ODIxL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWNsMS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJhY2wxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODkxMjc4MjEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNJM3Y0NVBiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wxLzE1NDcwNzE2ODkxMjc4MjEvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWNsMS9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiYWNsMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg5MTI3ODIxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNJM3Y0NVBiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wxLzE1NDcwNzE2ODkxMjc4MjEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWNsMS9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiYWNsMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg5MTI3ODIxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSTN2NDVQYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYWNsMS8xNTQ3MDcxNjg5MTI3ODIxL2RvbWFpbi1nb29nbGUuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWNsMS9hY2wvZG9tYWluLWdvb2dsZS5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJhY2wxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODkxMjc4MjEiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNJM3Y0NVBiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wxLzE1NDcwNzE2ODkxMjc4MjEvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2FjbDEvYWNsL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJhY2wxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODkxMjc4MjEiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSTN2NDVQYjRkOENFQUU9In1dfQ==" + "Body": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" } }, { - "ID": "80e06e5e44eb6246", + "ID": "3ece6665583d65fb", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/acl1/acl/domain-google.com?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/obj-not-exists", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 404, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" ], "Content-Length": [ - "0" + "225" ], "Content-Type": [ - "application/json" + "application/xml; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:10 GMT" - ], - "Etag": [ - "CI3v45Pb4d8CEAI=" + "Thu, 02 May 2019 22:24:20 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:20 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" ], "X-Guploader-Uploadid": [ - "AEnB2UrV8thKpNUvVYoWsIpqLkdMednMLggWGkZa3FA9Y5bhtITCUpWZFd2LlOgShv4TOdwn46WpfjiTOPB2OrzIjXR_eP42neDRq8z_8tCaBgNnP3V0UIs" + "AEnB2Uph0zmuYk7ZmOWzbNkj24Iai85wz2vKj0mMnMkIHIoDUlDAUCA0e_CgFT5fV_XAvgUx06I9FspomkB_ImflSVCvj55GK6zEoY5iV1hN96nh4AmPBN0" ] }, - "Body": "" + "Body": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48RXJyb3I+PENvZGU+Tm9TdWNoS2V5PC9Db2RlPjxNZXNzYWdlPlRoZSBzcGVjaWZpZWQga2V5IGRvZXMgbm90IGV4aXN0LjwvTWVzc2FnZT48RGV0YWlscz5ObyBzdWNoIG9iamVjdDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iai1ub3QtZXhpc3RzPC9EZXRhaWxzPjwvRXJyb3I+" } }, { - "ID": "2c3e90bd56eb9e61", + "ID": "602f4fdfff4e490c", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -4916,29 +6047,35 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoic2lnbmVkVVJMIn0K", + "VGhpcyBpcyBhIHRlc3Qgb2YgU2lnbmVkVVJMLgo=" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "3230" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:12 GMT" + "Thu, 02 May 2019 22:24:21 GMT" ], "Etag": [ - "CAY=" + "CNat6MPx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -4953,24 +6090,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoC7s8i-KZvwXPhpLOogSpUsFjzyVxl4tyDkR_RrfliS9n2KaApk8rFhFoLStSngdPASK0gQgl7nshOGUADjqVIrfxOkfmsuTnn5Yw1Krj-t7zmJoU" + "AEnB2UoWSi2VcVAHJJzhGSPjVT17kZYaCh3uZvWXBU0R4hVmPZJ10gvbv_Ucrfd2kwrBvRYoZaQcYkY5Q3M-oywiCNtLm6SM9InWHz2Omc-0pWJJjfQWPCM" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9zaWduZWRVUkwvMTU1NjgzNTg2MTE0MTIwNiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3NpZ25lZFVSTCIsIm5hbWUiOiJzaWduZWRVUkwiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2MTE0MTIwNiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoyMS4xNDBaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MjEuMTQwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjIxLjE0MFoiLCJzaXplIjoiMjkiLCJtZDVIYXNoIjoiSnl4dmd3bTluMk1zckdUTVBiTWVZQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3NpZ25lZFVSTD9nZW5lcmF0aW9uPTE1NTY4MzU4NjExNDEyMDYmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvc2lnbmVkVVJMLzE1NTY4MzU4NjExNDEyMDYvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vc2lnbmVkVVJML2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJzaWduZWRVUkwiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2MTE0MTIwNiIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTmF0Nk1QeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvc2lnbmVkVVJMLzE1NTY4MzU4NjExNDEyMDYvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3NpZ25lZFVSTC9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InNpZ25lZFVSTCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODYxMTQxMjA2IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ05hdDZNUHgvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3NpZ25lZFVSTC8xNTU2ODM1ODYxMTQxMjA2L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9zaWduZWRVUkwvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJzaWduZWRVUkwiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2MTE0MTIwNiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTmF0Nk1QeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvc2lnbmVkVVJMLzE1NTY4MzU4NjExNDEyMDYvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3NpZ25lZFVSTC9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InNpZ25lZFVSTCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODYxMTQxMjA2IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ05hdDZNUHgvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJaVHFBTHc9PSIsImV0YWciOiJDTmF0Nk1QeC9lRUNFQUU9In0=" } }, { - "ID": "15e000967dcfc52b", + "ID": "4a1c9dc802f4427c", "Request": { "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/acl/user-jbd%40google.com?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "109" + "107" ], "User-Agent": [ "google-api-go-client/0.5" @@ -4978,7 +6124,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJ1c2VyLWpiZEBnb29nbGUuY29tIiwicm9sZSI6IlJFQURFUiJ9Cg==" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" ] }, "Response": { @@ -4987,17 +6133,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "386" + "119" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:13 GMT" + "Thu, 02 May 2019 22:24:23 GMT" ], "Etag": [ "CAc=" @@ -5015,18 +6164,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqAsoSy5_tjp3ukUltYIfmkzqxtF-9fKp-B6hvWePuSf79UnnDA45qex_4Zj28Xc50IrWlJM2TstGYG2PdxTbmPmRMrXq5dUxqkdTQ8fojdT64QSbY" + "AEnB2UrbFZENfdiDkKpD_H_zm44x7h5bTZ3VD6MEoiiXuMwxHHK-zCSSoPRA2ALNUXoR3EcS1c-huuyZBIiw7ULKii7BNqKz0RMu4lWRxrDRQBOjGwKDDgE" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvdXNlci1qYmRAZ29vZ2xlLmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wvdXNlci1qYmRAZ29vZ2xlLmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImVudGl0eSI6InVzZXItamJkQGdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZW1haWwiOiJqYmRAZ29vZ2xlLmNvbSIsImV0YWciOiJDQWM9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDQWM9In0=" } }, { - "ID": "7dadbdd1a0ea1a6e", + "ID": "e12cb7360f4fd8dd", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/acl?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/defaultObjectAcl?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -5036,7 +6194,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -5044,23 +6204,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "1777" + "684" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:13 GMT" + "Thu, 02 May 2019 22:24:23 GMT" ], "Etag": [ "CAc=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:13 GMT" + "Thu, 02 May 2019 22:24:23 GMT" ], "Server": [ "UploadServer" @@ -5069,18 +6232,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrrNKNY4uT9v2vmy1U1JLhqU7FMZI4Be8PosnqCutJH1xd2ztm16cFGSZbykrFUhVaFEZav1GqE5-SmuBkxC3m7CKrf3gcQmHiz_DdsHFZAqChfc78" + "AEnB2UrVJI9g41JQEDEgaIAOXKSCe2B8xklFKSoIciM7uC0uod7t7NzXfxsIrI6mQeZGkWa2B12xdKpSJBndrNbBvygZ6aXxpBBvL8d80NJ42u8KQC7AaFE" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQWM9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FjPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQWM9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvdXNlci1qYmRAZ29vZ2xlLmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wvdXNlci1qYmRAZ29vZ2xlLmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImVudGl0eSI6InVzZXItamJkQGdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZW1haWwiOiJqYmRAZ29vZ2xlLmNvbSIsImV0YWciOiJDQWM9In1dfQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBYz0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQWM9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBYz0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNBYz0ifV19" } }, { - "ID": "3749be02ca229675", + "ID": "d25b1dc2d7247768", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/acl/user-jbd%40google.com?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -5089,29 +6261,35 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoiYWNsMSJ9Cg==", + "/pXmp0sD+azbBKjod9MhwQ==" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "3631" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:15 GMT" + "Thu, 02 May 2019 22:24:24 GMT" ], "Etag": [ - "CAg=" + "COr+pcXx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -5126,18 +6304,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Ur34znuNcDK_TLV_q3S6twEucrZO1A0zOp4kNXO1LDHa0ZZZSXdIxDKZx134F3f3Ej1iFo6dHVoDKGgVkm0Urz3Wua6LVrRXu6YAiUD-gR12Ufiv2c" + "AEnB2UosBTMUgCzCYlGDKqRCN7Kexl832zyi4FxoRqfYtmTr8yv63z4BAQBeCTLajyZqMbRyzjje7TtPPYomUSv_8zrQ8bFdXlNzbTSeKK8kXi2Ys82jus4" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wxLzE1NTY4MzU4NjQyNDgxNzAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9hY2wxIiwibmFtZSI6ImFjbDEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2NDI0ODE3MCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjI0LjI0N1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoyNC4yNDdaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MjQuMjQ3WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiIwRTl0Rk5wWmowL1dLT0o2ZlY5cGF3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYWNsMT9nZW5lcmF0aW9uPTE1NTY4MzU4NjQyNDgxNzAmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsMS8xNTU2ODM1ODY0MjQ4MTcwL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2FjbDEvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImFjbDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2NDI0ODE3MCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDT3IrcGNYeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsMS8xNTU2ODM1ODY0MjQ4MTcwL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9hY2wxL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYWNsMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODY0MjQ4MTcwIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ09yK3BjWHgvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FjbDEvMTU1NjgzNTg2NDI0ODE3MC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYWNsMS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImFjbDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2NDI0ODE3MCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDT3IrcGNYeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsMS8xNTU2ODM1ODY0MjQ4MTcwL2RvbWFpbi1nb29nbGUuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYWNsMS9hY2wvZG9tYWluLWdvb2dsZS5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJhY2wxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NjQyNDgxNzAiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNPcitwY1h4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wxLzE1NTY4MzU4NjQyNDgxNzAvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2FjbDEvYWNsL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJhY2wxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NjQyNDgxNzAiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDT3IrcGNYeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IkZpRG1WZz09IiwiZXRhZyI6IkNPcitwY1h4L2VFQ0VBRT0ifQ==" } }, { - "ID": "2cccd273eb19e42c", + "ID": "1d3df0d90130f5fe", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -5148,8 +6335,8 @@ }, "MediaType": "multipart/related", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoiZ29waGVyIn0K", - "ZGF0YQ==" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoiYWNsMiJ9Cg==", + "HSHw5Wsm5u7iJL/jjKkPVQ==" ] }, "Response": { @@ -5158,20 +6345,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3289" + "3631" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:16 GMT" + "Thu, 02 May 2019 22:24:24 GMT" ], "Etag": [ - "COOY/Zbb4d8CEAE=" + "CJrxw8Xx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -5186,18 +6376,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqbsivZEE-oTU84g1ZK7PsauA_t57xUNLdGUySkLZGg1cqGE7V6KqVtypBO9dgXe30MFPW_E-2gaKCc-4Hl9JzmdZyHyO5hNDT5pl0Kq-ps22wKHWk" + "AEnB2UpMl0_NB41LujALQWmul06CCiuw7okuKlhYG_qilsoXlld2qoYgc2-ABYogriA37QOJMK5ZlJ5sYzP2Mp7CTSzK9uccFLi10TdrGFMUjUpD0OvcXrE" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9nb3BoZXIvMTU0NzA3MTY5NTgzNDIxMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2dvcGhlciIsIm5hbWUiOiJnb3BoZXIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY5NTgzNDIxMSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoxNS44MzRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MTUuODM0WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjE1LjgzNFoiLCJzaXplIjoiNCIsIm1kNUhhc2giOiJqWGQvT0YwOS9zaUJYU0QzU1dBbTNBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vZ29waGVyP2dlbmVyYXRpb249MTU0NzA3MTY5NTgzNDIxMSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9nb3BoZXIvMTU0NzA3MTY5NTgzNDIxMS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2dvcGhlci9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJnb3BoZXIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY5NTgzNDIxMSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ09PWS9aYmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2dvcGhlci8xNTQ3MDcxNjk1ODM0MjExL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2dvcGhlci9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiZ29waGVyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2OTU4MzQyMTEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ09PWS9aYmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2dvcGhlci8xNTQ3MDcxNjk1ODM0MjExL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2dvcGhlci9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiZ29waGVyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2OTU4MzQyMTEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPT1kvWmJiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9nb3BoZXIvMTU0NzA3MTY5NTgzNDIxMS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vZ29waGVyL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiZ29waGVyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2OTU4MzQyMTEiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDT09ZL1piYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6InJ0aDkwUT09IiwiZXRhZyI6IkNPT1kvWmJiNGQ4Q0VBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wyLzE1NTY4MzU4NjQ3Mzc5NDYiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9hY2wyIiwibmFtZSI6ImFjbDIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2NDczNzk0NiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjI0LjczN1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoyNC43MzdaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MjQuNzM3WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJjOStPL3JnMjRIVEZCYytldFdqZWZnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYWNsMj9nZW5lcmF0aW9uPTE1NTY4MzU4NjQ3Mzc5NDYmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsMi8xNTU2ODM1ODY0NzM3OTQ2L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2FjbDIvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImFjbDIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2NDczNzk0NiIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDSnJ4dzhYeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsMi8xNTU2ODM1ODY0NzM3OTQ2L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9hY2wyL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYWNsMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODY0NzM3OTQ2IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0pyeHc4WHgvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FjbDIvMTU1NjgzNTg2NDczNzk0Ni9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYWNsMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImFjbDIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2NDczNzk0NiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSnJ4dzhYeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsMi8xNTU2ODM1ODY0NzM3OTQ2L2RvbWFpbi1nb29nbGUuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYWNsMi9hY2wvZG9tYWluLWdvb2dsZS5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJhY2wyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NjQ3Mzc5NDYiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNKcnh3OFh4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wyLzE1NTY4MzU4NjQ3Mzc5NDYvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2FjbDIvYWNsL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJhY2wyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NjQ3Mzc5NDYiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSnJ4dzhYeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IkF0TlJ0QT09IiwiZXRhZyI6IkNKcnh3OFh4L2VFQ0VBRT0ifQ==" } }, { - "ID": "e162e7cb22bb2510", + "ID": "a270daf4f72d9d3d", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/acl1/acl?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -5206,10 +6405,9 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoi0JPQvtGE0LXRgNC+0LLQuCJ9Cg==", - "ZGF0YQ==" + "" ] }, "Response": { @@ -5218,26 +6416,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "3641" + "2767" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:16 GMT" + "Thu, 02 May 2019 22:24:25 GMT" ], "Etag": [ - "CLWEnJfb4d8CEAE=" + "COr+pcXx/eECEAE=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:25 GMT" ], "Server": [ "UploadServer" @@ -5246,18 +6444,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrzCyaZf4T_ixU1ObtJu5Ldkrity9GS1PZzK_Y_elA_OGf_VdMWNfKj60yrdYQey9ZxneDbD1Lgg77uqB3OvGYKHFVfbdUx1BYRJQcNbbBrCOOWBVs" + "AEnB2UranlihhkPcnPzTT2UYs4r6Hritk60lULu-pzO6YX-EWIlMlFiXzKmxaZVgOcPfnCgfJsRktKsL_TbFun1PfupraBREfYklCvRXKvJ_526gW-Jf9zs" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS/Qk9C+0YTQtdGA0L7QstC4LzE1NDcwNzE2OTYzMzk1MDkiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby8lRDAlOTMlRDAlQkUlRDElODQlRDAlQjUlRDElODAlRDAlQkUlRDAlQjIlRDAlQjgiLCJuYW1lIjoi0JPQvtGE0LXRgNC+0LLQuCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjk2MzM5NTA5IiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjE2LjMzOVoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoxNi4zMzlaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MTYuMzM5WiIsInNpemUiOiI0IiwibWQ1SGFzaCI6ImpYZC9PRjA5L3NpQlhTRDNTV0FtM0E9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby8lRDAlOTMlRDAlQkUlRDElODQlRDAlQjUlRDElODAlRDAlQkUlRDAlQjIlRDAlQjg/Z2VuZXJhdGlvbj0xNTQ3MDcxNjk2MzM5NTA5JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL9CT0L7RhNC10YDQvtCy0LgvMTU0NzA3MTY5NjMzOTUwOS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vLyVEMCU5MyVEMCVCRSVEMSU4NCVEMCVCNSVEMSU4MCVEMCVCRSVEMCVCMiVEMCVCOC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiLQk9C+0YTQtdGA0L7QstC4IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2OTYzMzk1MDkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNMV0VuSmZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS/Qk9C+0YTQtdGA0L7QstC4LzE1NDcwNzE2OTYzMzk1MDkvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vJUQwJTkzJUQwJUJFJUQxJTg0JUQwJUI1JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI4L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiLQk9C+0YTQtdGA0L7QstC4IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2OTYzMzk1MDkiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0xXRW5KZmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL9CT0L7RhNC10YDQvtCy0LgvMTU0NzA3MTY5NjMzOTUwOS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby8lRDAlOTMlRDAlQkUlRDElODQlRDAlQjUlRDElODAlRDAlQkUlRDAlQjIlRDAlQjgvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ItCT0L7RhNC10YDQvtCy0LgiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY5NjMzOTUwOSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xXRW5KZmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL9CT0L7RhNC10YDQvtCy0LgvMTU0NzA3MTY5NjMzOTUwOS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vJUQwJTkzJUQwJUJFJUQxJTg0JUQwJUI1JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI4L2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoi0JPQvtGE0LXRgNC+0LLQuCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjk2MzM5NTA5IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0xXRW5KZmI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJydGg5MFE9PSIsImV0YWciOiJDTFdFbkpmYjRkOENFQUU9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsMS8xNTU2ODM1ODY0MjQ4MTcwL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2FjbDEvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImFjbDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2NDI0ODE3MCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDT3IrcGNYeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsMS8xNTU2ODM1ODY0MjQ4MTcwL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9hY2wxL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYWNsMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODY0MjQ4MTcwIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ09yK3BjWHgvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FjbDEvMTU1NjgzNTg2NDI0ODE3MC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYWNsMS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImFjbDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2NDI0ODE3MCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDT3IrcGNYeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsMS8xNTU2ODM1ODY0MjQ4MTcwL2RvbWFpbi1nb29nbGUuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYWNsMS9hY2wvZG9tYWluLWdvb2dsZS5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJhY2wxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NjQyNDgxNzAiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNPcitwY1h4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wxLzE1NTY4MzU4NjQyNDgxNzAvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2FjbDEvYWNsL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJhY2wxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NjQyNDgxNzAiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDT3IrcGNYeC9lRUNFQUU9In1dfQ==" } }, { - "ID": "987aea3fe10f2b7e", + "ID": "328125b2bc991e95", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/acl1/acl/domain-google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -5266,32 +6473,34 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoiYSJ9Cg==", - "ZGF0YQ==" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3209" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:08:16 GMT" + "Thu, 02 May 2019 22:24:25 GMT" ], "Etag": [ - "CPK2vJfb4d8CEAE=" + "COr+pcXx/eECEAI=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -5306,18 +6515,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpJj6GIxDI_uuk8oLMLx465B7oOfk6mZxblo9soohy_quNjXLLSpyXpBlpOerPzID9OLZLhOVAZTc5v66h9eIe-KqjKChBrJVT5enNN1mUzYLJpvWw" + "AEnB2UosP78wuW4e1mPLJgcCbCxBC4Je5LWjKugd0fVK51u-P3qeXbQXj4_Amo25ZHyut2LZvoipvmK95xEvebSyVyzVydKyU2VSbHLDkwnRpR-nr9UGIf0" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hLzE1NDcwNzE2OTY4NzAyNTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9hIiwibmFtZSI6ImEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY5Njg3MDI1OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoxNi44NzBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MTYuODcwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjE2Ljg3MFoiLCJzaXplIjoiNCIsIm1kNUhhc2giOiJqWGQvT0YwOS9zaUJYU0QzU1dBbTNBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYT9nZW5lcmF0aW9uPTE1NDcwNzE2OTY4NzAyNTgmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYS8xNTQ3MDcxNjk2ODcwMjU4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJhIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2OTY4NzAyNTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNQSzJ2SmZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hLzE1NDcwNzE2OTY4NzAyNTgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYS9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiYSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjk2ODcwMjU4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNQSzJ2SmZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hLzE1NDcwNzE2OTY4NzAyNTgvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYS9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiYSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjk2ODcwMjU4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDUEsydkpmYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYS8xNTQ3MDcxNjk2ODcwMjU4L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9hL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiYSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjk2ODcwMjU4IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ1BLMnZKZmI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJydGg5MFE9PSIsImV0YWciOiJDUEsydkpmYjRkOENFQUU9In0=" + "Body": "" } }, { - "ID": "169aed97d0eafe0f", + "ID": "1c7595376917851f", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -5326,32 +6544,34 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSJ9Cg==", - "ZGF0YQ==" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "19577" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:08:17 GMT" + "Thu, 02 May 2019 22:24:26 GMT" ], "Etag": [ - "CJvC05fb4d8CEAE=" + "CAg=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -5366,94 +6586,72 @@ "Origin", "X-Origin" ], - "X-Guploader-Uploadid": [ - "AEnB2UqobxS4jX9cmg5F-T8gNbV0O6d6aLCbe5Xuw0SvGrLoWctzijrGeJ0Y-w2hFwM25tQd_ZLcs9KjWfx6q4uy_MmWp3SoXf_G6l8LLEptH9PujA5LwHY" - ] - }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhLzE1NDcwNzE2OTcyNDg1MzkiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIiwibmFtZSI6ImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY5NzI0ODUzOSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoxNy4yNDhaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MTcuMjQ4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjE3LjI0OFoiLCJzaXplIjoiNCIsIm1kNUhhc2giOiJqWGQvT0YwOS9zaUJYU0QzU1dBbTNBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYT9nZW5lcmF0aW9uPTE1NDcwNzE2OTcyNDg1MzkmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYS8xNTQ3MDcxNjk3MjQ4NTM5L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2OTcyNDg1MzkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNKdkMwNWZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhLzE1NDcwNzE2OTcyNDg1MzkvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYS9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjk3MjQ4NTM5IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNKdkMwNWZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhLzE1NDcwNzE2OTcyNDg1MzkvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYS9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjk3MjQ4NTM5IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSnZDMDVmYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYS8xNTQ3MDcxNjk3MjQ4NTM5L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjk3MjQ4NTM5IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0p2QzA1ZmI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJydGg5MFE9PSIsImV0YWciOiJDSnZDMDVmYjRkOENFQUU9In0=" - } - }, - { - "ID": "443a40a254b7bd5a", - "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", - "Header": { - "Accept-Encoding": [ - "gzip" - ], - "User-Agent": [ - "google-api-go-client/0.5" - ] - }, - "MediaType": "multipart/related", - "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAifQo=", - "ZGF0YQ==" - ] - }, - "Response": { - "StatusCode": 400, - "Proto": "HTTP/1.1", - "ProtoMajor": 1, - "ProtoMinor": 1, - "Header": { - "Content-Length": [ - "115" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 09 Jan 2019 22:08:17 GMT" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "Server": [ - "UploadServer" + "X-Guploader-Request-Result": [ + "success" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UoN9TSSaHRXBFvjpuHrVwG51Im7LPMR8ddzjvhHkF8lNA2G0qTK1scM9fD_ahgrWkJ6Dadza5AYAWNbGxAZykkL5RA9w1YGbiczQt-Ms_3VS5REej4" + "AEnB2UqnZXiLrdCFoctnkKUqdvXLdSp9xumFk20gsRJc4xB1CTZ14aLZYwbDJmi90E28Q2_E4klaJBOaB1OCcpbDBoF1N9E9Bk3VEaNYYrHKMoECuO7RMPs" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IlJlcXVpcmVkIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJSZXF1aXJlZCJ9fQ==" + "Body": "" } }, { - "ID": "e0ad03fc07b40f89", + "ID": "4183198b151a3557", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/acl/user-jbd%40google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "109" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEifQo=", - "ZGF0YQ==" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJ1c2VyLWpiZEBnb29nbGUuY29tIiwicm9sZSI6IlJFQURFUiJ9Cg==" ] }, "Response": { - "StatusCode": 400, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "no-cache, no-store, max-age=0, must-revalidate" + ], "Content-Length": [ - "432" + "386" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:17 GMT" + "Thu, 02 May 2019 22:24:27 GMT" + ], + "Etag": [ + "CAk=" + ], + "Expires": [ + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -5462,18 +6660,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpjYWUgaR4EpsxSaXh-tBVBzCsZNrdfxRxZHcGTQBke0w3woWxyQ_LjJh2fCJvXEEhBsSBwEAEsSgKdsjyrE9O-MVAm1LJRyy8WS21AbEtqEnQj0vw" + "AEnB2Uo361-YkcyyOvd5CL4q3LgTM1Bk4RdkPY3cn-qOm6Dn0vghTnmIE9VKkzGiOnjRNnD7SWXGMqpxaCGvCt6P44D55PqOwAtVTF8PNwmEK9HWCoVXABo" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImludmFsaWQiLCJtZXNzYWdlIjoiVGhlIG1heGltdW0gb2JqZWN0IGxlbmd0aCBpcyAxMDI0IGNoYXJhY3RlcnMsIGJ1dCBnb3QgYSBuYW1lIHdpdGggMTAyNSBjaGFyYWN0ZXJzOiAnJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhLi4uJycifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IlRoZSBtYXhpbXVtIG9iamVjdCBsZW5ndGggaXMgMTAyNCBjaGFyYWN0ZXJzLCBidXQgZ290IGEgbmFtZSB3aXRoIDEwMjUgY2hhcmFjdGVyczogJydhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYS4uLicnIn19" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvdXNlci1qYmRAZ29vZ2xlLmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wvdXNlci1qYmRAZ29vZ2xlLmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImVudGl0eSI6InVzZXItamJkQGdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZW1haWwiOiJqYmRAZ29vZ2xlLmNvbSIsImV0YWciOiJDQWs9In0=" } }, { - "ID": "b98428c4a475e17f", + "ID": "e98f53a71d8839c9", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/acl?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -5482,26 +6689,37 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoibmV3XG5saW5lcyJ9Cg==", - "ZGF0YQ==" + "" ] }, "Response": { - "StatusCode": 400, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "private, max-age=0, must-revalidate, no-transform" + ], "Content-Length": [ - "232" + "1789" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:17 GMT" + "Thu, 02 May 2019 22:24:28 GMT" + ], + "Etag": [ + "CAk=" + ], + "Expires": [ + "Thu, 02 May 2019 22:24:28 GMT" ], "Server": [ "UploadServer" @@ -5510,18 +6728,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoxLGIbZOseQqbHfAgR_oUEu3n9McCsjVdVSsAm5mF-_TTyAh0ExYlOru8-egLybWdPpOUJyPSQLPrKYCOjUy6i3kvo4bANUGlwcHD7S0cFpDvZD-s" + "AEnB2UrqACfvLjoBUrCN_6ksyMdPlv7yPWQGo1D9u1UiCCgFDRlEwr6NOp18BSxaeTuMIabf2ciNj7_Ba1W6YCz64HlcYyQOoEXNfGYGKcAqGTubXsGHPVk" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImludmFsaWQiLCJtZXNzYWdlIjoiRGlzYWxsb3dlZCB1bmljb2RlIGNoYXJhY3RlcnMgcHJlc2VudCBpbiBvYmplY3QgbmFtZSAnJ25ld1xubGluZXMnJyJ9XSwiY29kZSI6NDAwLCJtZXNzYWdlIjoiRGlzYWxsb3dlZCB1bmljb2RlIGNoYXJhY3RlcnMgcHJlc2VudCBpbiBvYmplY3QgbmFtZSAnJ25ld1xubGluZXMnJyJ9fQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FrPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQWs9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQWs9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvdXNlci1qYmRAZ29vZ2xlLmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wvdXNlci1qYmRAZ29vZ2xlLmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImVudGl0eSI6InVzZXItamJkQGdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZW1haWwiOiJqYmRAZ29vZ2xlLmNvbSIsImV0YWciOiJDQWs9In1dfQ==" } }, { - "ID": "852b83615beaea50", + "ID": "28b9a29086758e65", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/acl/user-jbd%40google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -5531,7 +6758,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -5539,6 +6768,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -5549,7 +6781,10 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:08:17 GMT" + "Thu, 02 May 2019 22:24:28 GMT" + ], + "Etag": [ + "CAo=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -5564,18 +6799,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrZQAXVCHSOjFB-mdL6Qy9gdJPJNCcRV1WMQX5clWL3p7kz8snd8LwnSPse6EmlCmvxsnjcYRIr8XO1fKlJdjYQLMrVlctKxhpVijS_hkYTJXAVVls" + "AEnB2UozsFdtI43Ltv91E18-CrdRZ4pQDVZXReJOVhpWDu3mxNA7rrWU7hNGl4kPMd0FgcVWDigZA5JBNsYbFV113Ew6Cp2uTsuk0uI1io_mhA6-Lmd2h18" ] }, "Body": "" } }, { - "ID": "453c16d77f86b110", + "ID": "8ef9f7b6caefd750", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/a?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -5584,26 +6828,35 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoiZ29waGVyIn0K", + "ZGF0YQ==" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "3196" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:18 GMT" + "Thu, 02 May 2019 22:24:29 GMT" + ], + "Etag": [ + "CIXH3cfx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -5618,18 +6871,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqMs8wJiU2RiXPlGJU-gVmACnVAm5owXupM48BkdGy2SXZCW-PvECxghUyzqTjUjxPuQVEHOlu0sPCEYToVbgywLaqqzYP9C_J30u3lN4s_MaI2b5A" + "AEnB2Uo97hrh9l4pmrJQqaH8Qu3axsdbEPH2Y8GSEso8-ExKuf4ot8o2uS79ROJcgCtql4vLQJ_4L8q0Z7E9E2WYbbl6vKUYKdQiCI0POisS9o_ViNh9-Yk" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9nb3BoZXIvMTU1NjgzNTg2OTM1MjgzNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2dvcGhlciIsIm5hbWUiOiJnb3BoZXIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2OTM1MjgzNyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoyOS4zNTJaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MjkuMzUyWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjI5LjM1MloiLCJzaXplIjoiNCIsIm1kNUhhc2giOiJqWGQvT0YwOS9zaUJYU0QzU1dBbTNBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vZ29waGVyP2dlbmVyYXRpb249MTU1NjgzNTg2OTM1MjgzNyZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9nb3BoZXIvMTU1NjgzNTg2OTM1MjgzNy9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9nb3BoZXIvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImdvcGhlciIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODY5MzUyODM3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNJWEgzY2Z4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9nb3BoZXIvMTU1NjgzNTg2OTM1MjgzNy9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vZ29waGVyL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiZ29waGVyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NjkzNTI4MzciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSVhIM2NmeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvZ29waGVyLzE1NTY4MzU4NjkzNTI4MzcvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2dvcGhlci9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImdvcGhlciIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODY5MzUyODM3IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNJWEgzY2Z4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9nb3BoZXIvMTU1NjgzNTg2OTM1MjgzNy91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vZ29waGVyL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiZ29waGVyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NjkzNTI4MzciLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSVhIM2NmeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6InJ0aDkwUT09IiwiZXRhZyI6IkNJWEgzY2Z4L2VFQ0VBRT0ifQ==" } }, { - "ID": "1b43f434ed76ef2c", + "ID": "ae3a5920bc8a9c3c", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/%D0%93%D0%BE%D1%84%D0%B5%D1%80%D0%BE%D0%B2%D0%B8?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -5638,26 +6900,35 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoi0JPQvtGE0LXRgNC+0LLQuCJ9Cg==", + "ZGF0YQ==" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "3548" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:18 GMT" + "Thu, 02 May 2019 22:24:29 GMT" + ], + "Etag": [ + "CPzK+8fx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -5672,18 +6943,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoC-4oppsSjxD1wxslqtN2zakijr9S9SVkiL74Bw4TASnIoO2Dy8BAW4gsSEDXx4KC10tEn0cJO8eLfDCTuG4xGwFL2odOYuk3gETgfIy7fFT5b59w" + "AEnB2UrPLZGQqU8j04JqxMmfsqas3HGTlrdx5NM99YR5nCedJYGMSaZ1ynvd2UbUcdwps_gfRo__0XapzHuD3hM_bshff65qlnw_i2cOwp97N2EhfUsZ1X4" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS/Qk9C+0YTQtdGA0L7QstC4LzE1NTY4MzU4Njk4NDQ4NjAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby8lRDAlOTMlRDAlQkUlRDElODQlRDAlQjUlRDElODAlRDAlQkUlRDAlQjIlRDAlQjgiLCJuYW1lIjoi0JPQvtGE0LXRgNC+0LLQuCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODY5ODQ0ODYwIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjI5Ljg0NFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoyOS44NDRaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MjkuODQ0WiIsInNpemUiOiI0IiwibWQ1SGFzaCI6ImpYZC9PRjA5L3NpQlhTRDNTV0FtM0E9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby8lRDAlOTMlRDAlQkUlRDElODQlRDAlQjUlRDElODAlRDAlQkUlRDAlQjIlRDAlQjg/Z2VuZXJhdGlvbj0xNTU2ODM1ODY5ODQ0ODYwJmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL9CT0L7RhNC10YDQvtCy0LgvMTU1NjgzNTg2OTg0NDg2MC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby8lRDAlOTMlRDAlQkUlRDElODQlRDAlQjUlRDElODAlRDAlQkUlRDAlQjIlRDAlQjgvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ItCT0L7RhNC10YDQvtCy0LgiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2OTg0NDg2MCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUHpLKzhmeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEv0JPQvtGE0LXRgNC+0LLQuC8xNTU2ODM1ODY5ODQ0ODYwL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby8lRDAlOTMlRDAlQkUlRDElODQlRDAlQjUlRDElODAlRDAlQkUlRDAlQjIlRDAlQjgvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiLQk9C+0YTQtdGA0L7QstC4IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4Njk4NDQ4NjAiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUHpLKzhmeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEv0JPQvtGE0LXRgNC+0LLQuC8xNTU2ODM1ODY5ODQ0ODYwL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby8lRDAlOTMlRDAlQkUlRDElODQlRDAlQjUlRDElODAlRDAlQkUlRDAlQjIlRDAlQjgvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiLQk9C+0YTQtdGA0L7QstC4IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4Njk4NDQ4NjAiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1B6Sys4ZngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL9CT0L7RhNC10YDQvtCy0LgvMTU1NjgzNTg2OTg0NDg2MC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vJUQwJTkzJUQwJUJFJUQxJTg0JUQwJUI1JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI4L2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoi0JPQvtGE0LXRgNC+0LLQuCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODY5ODQ0ODYwIiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ1B6Sys4ZngvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJydGg5MFE9PSIsImV0YWciOiJDUHpLKzhmeC9lRUNFQUU9In0=" } }, { - "ID": "14d676c8f4369a76", + "ID": "0104a746dbe20580", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/gopher?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -5692,26 +6972,35 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoiYSJ9Cg==", + "ZGF0YQ==" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "3116" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:18 GMT" + "Thu, 02 May 2019 22:24:30 GMT" + ], + "Etag": [ + "COKVlMjx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -5726,18 +7015,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpA87jn8N3TqaWhJ6bXAoaz3sWQAFnwq82v_tS39dXpC69644Ck4AJKyZL8XSKDKEHp4nM4sJEYm27zuLWtlWlcgzWogGx92zVdlnbv_zB9qMkUE8Q" + "AEnB2UqY12miALkWDvx8PHEyL23oxWZlw8Jq7Cn6kS8E8_Tn1tTWWoTuS_pWb5pi9qevCIvqK6aTK56MzwrMuy9axIjpw5yyMZ42MaWK_YFkBr95OnK5IbM" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hLzE1NTY4MzU4NzAyNDc2NTAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9hIiwibmFtZSI6ImEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MDI0NzY1MCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozMC4yNDdaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzAuMjQ3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjMwLjI0N1oiLCJzaXplIjoiNCIsIm1kNUhhc2giOiJqWGQvT0YwOS9zaUJYU0QzU1dBbTNBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYT9nZW5lcmF0aW9uPTE1NTY4MzU4NzAyNDc2NTAmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYS8xNTU2ODM1ODcwMjQ3NjUwL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2EvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MDI0NzY1MCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDT0tWbE1qeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYS8xNTU2ODM1ODcwMjQ3NjUwL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9hL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODcwMjQ3NjUwIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ09LVmxNangvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2EvMTU1NjgzNTg3MDI0NzY1MC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MDI0NzY1MCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDT0tWbE1qeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYS8xNTU2ODM1ODcwMjQ3NjUwL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9hL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODcwMjQ3NjUwIiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09LVmxNangvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJydGg5MFE9PSIsImV0YWciOiJDT0tWbE1qeC9lRUNFQUU9In0=" } }, { - "ID": "262ad3a3925e5ad9", + "ID": "da19af085be0fb47", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -5748,8 +7046,8 @@ }, "MediaType": "multipart/related", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoiY29udGVudCJ9Cg==", - "SXQgd2FzIHRoZSBiZXN0IG9mIHRpbWVzLCBpdCB3YXMgdGhlIHdvcnN0IG9mIHRpbWVzLg==" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSJ9Cg==", + "ZGF0YQ==" ] }, "Response": { @@ -5758,20 +7056,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3306" + "19484" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:18 GMT" + "Thu, 02 May 2019 22:24:30 GMT" ], "Etag": [ - "COXBr5jb4d8CEAE=" + "CLmmusjx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -5786,18 +7087,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrQ6C5ZolKIt3hQWwmj5Cm0ei_Jf5Khg5jHfC36HyXUgUoA__BDjG9zzg-7tby6nLM9TtZ8u0GKbLjQnlHxuyL7cxq1kh68fSEyJ8quf4I-nKSiMTo" + "AEnB2UrAJr55dqTDkY_jBKB0vAWyE0owtzB_kEoH91_FKTr9C3bHd8fWUiTrsruL5mgwXg2l8gbPiOXad-A9HIJ3Zt_AeXq_p0m-Q8LrHQqJ6sAKsbzV4Zw" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE2OTg3NTU4MTMiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb250ZW50IiwibmFtZSI6ImNvbnRlbnQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY5ODc1NTgxMyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoxOC43NTVaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MTguNzU1WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjE4Ljc1NVoiLCJzaXplIjoiNTIiLCJtZDVIYXNoIjoiSzI4NUF3S1dXZlZSZEJjQ1VYaHpOZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQ/Z2VuZXJhdGlvbj0xNTQ3MDcxNjk4NzU1ODEzJmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvbnRlbnQvMTU0NzA3MTY5ODc1NTgxMy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjk4NzU1ODEzIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDT1hCcjVqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNjk4NzU1ODEzL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY5ODc1NTgxMyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDT1hCcjVqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNjk4NzU1ODEzL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY5ODc1NTgxMyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ09YQnI1amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvbnRlbnQvMTU0NzA3MTY5ODc1NTgxMy91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudC9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY5ODc1NTgxMyIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNPWEJyNWpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiRmNYTThRPT0iLCJldGFnIjoiQ09YQnI1amI0ZDhDRUFFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhLzE1NTY4MzU4NzA4NzIzNzciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIiwibmFtZSI6ImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MDg3MjM3NyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozMC44NzJaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzAuODcyWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjMwLjg3MloiLCJzaXplIjoiNCIsIm1kNUhhc2giOiJqWGQvT0YwOS9zaUJYU0QzU1dBbTNBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYT9nZW5lcmF0aW9uPTE1NTY4MzU4NzA4NzIzNzcmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYS8xNTU2ODM1ODcwODcyMzc3L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MDg3MjM3NyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTG1tdXNqeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYS8xNTU2ODM1ODcwODcyMzc3L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODcwODcyMzc3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0xtbXVzangvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEvMTU1NjgzNTg3MDg3MjM3Ny9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MDg3MjM3NyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTG1tdXNqeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYS8xNTU2ODM1ODcwODcyMzc3L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODcwODcyMzc3IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0xtbXVzangvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJydGg5MFE9PSIsImV0YWciOiJDTG1tdXNqeC9lRUNFQUU9In0=" } }, { - "ID": "8efaa811edeb8b16", + "ID": "96f915707a76c50c", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/content?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -5806,35 +7116,29 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAifQo=", + "ZGF0YQ==" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 400, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "3306" + "2948" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:19 GMT" - ], - "Etag": [ - "COXBr5jb4d8CEAE=" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:31 GMT" ], "Server": [ "UploadServer" @@ -5843,18 +7147,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UoKgTLLxIS1Eoo4GJlqbf670Sbs2Xak5mssh-KvYaSHimotKxda0QT3FU2bcg8wnjshWYSRQMWH2SnNou_Iw8stnvGg1WdJ8bIibYXzlujir779J2M" + "AEnB2UrQIwi81TFCNpDIZUjs_5tSUFqURLnaBF7g2l1sGMuHCTWZeLyr45VWkcc8fUDYnF-P84QixYQbTzJGuJzOOx7mw1qluYDqoORFGPICfvKmNxrZM3A" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE2OTg3NTU4MTMiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb250ZW50IiwibmFtZSI6ImNvbnRlbnQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY5ODc1NTgxMyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoxOC43NTVaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MTguNzU1WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjE4Ljc1NVoiLCJzaXplIjoiNTIiLCJtZDVIYXNoIjoiSzI4NUF3S1dXZlZSZEJjQ1VYaHpOZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQ/Z2VuZXJhdGlvbj0xNTQ3MDcxNjk4NzU1ODEzJmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvbnRlbnQvMTU0NzA3MTY5ODc1NTgxMy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjk4NzU1ODEzIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDT1hCcjVqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNjk4NzU1ODEzL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY5ODc1NTgxMyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDT1hCcjVqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNjk4NzU1ODEzL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY5ODc1NTgxMyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ09YQnI1amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvbnRlbnQvMTU0NzA3MTY5ODc1NTgxMy91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudC9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY5ODc1NTgxMyIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNPWEJyNWpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiRmNYTThRPT0iLCJldGFnIjoiQ09YQnI1amI0ZDhDRUFFPSJ9" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IlJlcXVpcmVkIiwiZGVidWdJbmZvIjoiY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVJFUVVJUkVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89bnVsbCwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWJhZFJlcXVlc3QsIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLlJFUVVJUkVELCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1udWxsLCBlcnJvclByb3RvQ29kZT1SRVFVSVJFRCwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1lbnRpdHkucmVzb3VyY2UuaWQubmFtZSwgbWVzc2FnZT1udWxsLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249ZW50aXR5LnJlc291cmNlLmlkLm5hbWUsIG1lc3NhZ2U9UmVxdWlyZWQsIHJlYXNvbj1yZXF1aXJlZCwgcnBjQ29kZT00MDB9IFJlcXVpcmVkXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDAwLCJtZXNzYWdlIjoiUmVxdWlyZWQifX0=" } }, { - "ID": "9a3c0af51b21e64c", + "ID": "7a562d6e65ef8a7a", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -5865,36 +7178,27 @@ }, "MediaType": "multipart/related", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoiY29udGVudCJ9Cg==", - "PGh0bWw+PGhlYWQ+PHRpdGxlPk15IGZpcnN0IHBhZ2U8L3RpdGxlPjwvaGVhZD48L2h0bWw+" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEifQo=", + "ZGF0YQ==" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 400, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "3305" + "4785" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:19 GMT" - ], - "Etag": [ - "COOy2Jjb4d8CEAE=" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:31 GMT" ], "Server": [ "UploadServer" @@ -5903,18 +7207,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UpMW7j6eSSzfzgO5lH7aB0ofkt7skC8hIdoUEEoGARNk_pz6Q9HfuetTLXYqgwG_4NnIKEODgeID3eIb0WqOhaJklk_ZPnZygC5Sc1tZI3qTowWg8o" + "AEnB2Ups-3Re4_9njFMmkYwND6BuK5cgxs5tKVRwQ2CGkcks-K0aALbethXTYaEb6fLos6w_FSnM8YkPGM3TETCAoyYpVbQPlotXR9CH3DXngjQNv0yv_ZQ" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE2OTk0MjU2MzUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb250ZW50IiwibmFtZSI6ImNvbnRlbnQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY5OTQyNTYzNSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjE5LjQyNVoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoxOS40MjVaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MTkuNDI1WiIsInNpemUiOiI1NCIsIm1kNUhhc2giOiJOOHA4L3M5RndkQUFubHZyL2xFQWpRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudD9nZW5lcmF0aW9uPTE1NDcwNzE2OTk0MjU2MzUmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNjk5NDI1NjM1L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2OTk0MjU2MzUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNPT3kySmpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE2OTk0MjU2MzUvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjk5NDI1NjM1IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNPT3kySmpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE2OTk0MjU2MzUvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjk5NDI1NjM1IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDT095MkpqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNjk5NDI1NjM1L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb250ZW50L2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjk5NDI1NjM1IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09PeTJKamI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJHb1Vic1E9PSIsImV0YWciOiJDT095MkpqYjRkOENFQUU9In0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImludmFsaWQiLCJtZXNzYWdlIjoiVGhlIG1heGltdW0gb2JqZWN0IGxlbmd0aCBpcyAxMDI0IGNoYXJhY3RlcnMsIGJ1dCBnb3QgYSBuYW1lIHdpdGggMTAyNSBjaGFyYWN0ZXJzOiAnJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhLi4uJyciLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5GYXVsdDogSW1tdXRhYmxlRXJyb3JEZWZpbml0aW9ue2Jhc2U9SU5WQUxJRF9WQUxVRSwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPW51bGwsIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1iYWRSZXF1ZXN0LCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5JTlZBTElEX1ZBTFVFLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1udWxsLCBlcnJvclByb3RvQ29kZT1JTlZBTElEX1ZBTFVFLCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZS5pZC5uYW1lLCBtZXNzYWdlPVRoZSBtYXhpbXVtIG9iamVjdCBsZW5ndGggaXMgMTAyNCBjaGFyYWN0ZXJzLCBidXQgZ290IGEgbmFtZSB3aXRoIDEwMjUgY2hhcmFjdGVyczogJydhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYS4uLicnLCB1bm5hbWVkQXJndW1lbnRzPVthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYV19LCBsb2NhdGlvbj1lbnRpdHkucmVzb3VyY2UuaWQubmFtZSwgbWVzc2FnZT1UaGUgbWF4aW11bSBvYmplY3QgbGVuZ3RoIGlzIDEwMjQgY2hhcmFjdGVycywgYnV0IGdvdCBhIG5hbWUgd2l0aCAxMDI1IGNoYXJhY3RlcnM6ICcnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEuLi4nJywgcmVhc29uPWludmFsaWQsIHJwY0NvZGU9NDAwfSBUaGUgbWF4aW11bSBvYmplY3QgbGVuZ3RoIGlzIDEwMjQgY2hhcmFjdGVycywgYnV0IGdvdCBhIG5hbWUgd2l0aCAxMDI1IGNoYXJhY3RlcnM6ICcnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEuLi4nJ1xuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5FcnJvckNvbGxlY3Rvci50b0ZhdWx0KEVycm9yQ29sbGVjdG9yLmphdmE6NTQpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5RXJyb3JDb252ZXJ0ZXIudG9GYXVsdChSb3N5RXJyb3JDb252ZXJ0ZXIuamF2YTo2Nylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjI1OSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjIzOSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnRocmVhZC5UaHJlYWRUcmFja2VycyRUaHJlYWRUcmFja2luZ1J1bm5hYmxlLnJ1bihUaHJlYWRUcmFja2Vycy5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6NDUzKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuc2VydmVyLkNvbW1vbk1vZHVsZSRDb250ZXh0Q2FycnlpbmdFeGVjdXRvclNlcnZpY2UkMS5ydW5JbkNvbnRleHQoQ29tbW9uTW9kdWxlLmphdmE6ODAyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlJDEucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ2MClcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihUcmFjZUNvbnRleHQuamF2YTozMTkpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6MzExKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NTcpXG5cdGF0IGNvbS5nb29nbGUuZ3NlLmludGVybmFsLkRpc3BhdGNoUXVldWVJbXBsJFdvcmtlclRocmVhZC5ydW4oRGlzcGF0Y2hRdWV1ZUltcGwuamF2YTo0MDMpXG4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IlRoZSBtYXhpbXVtIG9iamVjdCBsZW5ndGggaXMgMTAyNCBjaGFyYWN0ZXJzLCBidXQgZ290IGEgbmFtZSB3aXRoIDEwMjUgY2hhcmFjdGVyczogJydhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYS4uLicnIn19" } }, { - "ID": "78bd6f3bbf83448c", + "ID": "239b642e1919a84a", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/content?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -5923,35 +7236,29 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoibmV3XG5saW5lcyJ9Cg==", + "ZGF0YQ==" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 400, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "3305" + "3270" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:19 GMT" - ], - "Etag": [ - "COOy2Jjb4d8CEAE=" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:31 GMT" ], "Server": [ "UploadServer" @@ -5960,18 +7267,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UrvzCXSZqjaCC6SlNopmwopuv4GeHvguH_VtzXdFNu-aTjaxqiQLthTnEt4cuDAB3sDTyZLzLj7S5c57X2PvO91e6o1mzAmb_nWEtea4a3uwfyBx38" + "AEnB2Urk-XOPoshQkyIHYZp241R2W5lOuLwqPMx606rubzPOaGggM2z_sZO93dYCJHffXuPDOjy64lIxrBXIYW4QT04eM932jPtzPdVd-PFWssV9RYk83JE" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE2OTk0MjU2MzUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb250ZW50IiwibmFtZSI6ImNvbnRlbnQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY5OTQyNTYzNSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjE5LjQyNVoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoxOS40MjVaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MTkuNDI1WiIsInNpemUiOiI1NCIsIm1kNUhhc2giOiJOOHA4L3M5RndkQUFubHZyL2xFQWpRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudD9nZW5lcmF0aW9uPTE1NDcwNzE2OTk0MjU2MzUmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNjk5NDI1NjM1L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2OTk0MjU2MzUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNPT3kySmpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE2OTk0MjU2MzUvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjk5NDI1NjM1IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNPT3kySmpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE2OTk0MjU2MzUvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjk5NDI1NjM1IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDT095MkpqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNjk5NDI1NjM1L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb250ZW50L2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjk5NDI1NjM1IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09PeTJKamI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJHb1Vic1E9PSIsImV0YWciOiJDT095MkpqYjRkOENFQUU9In0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImludmFsaWQiLCJtZXNzYWdlIjoiRGlzYWxsb3dlZCB1bmljb2RlIGNoYXJhY3RlcnMgcHJlc2VudCBpbiBvYmplY3QgbmFtZSAnJ25ld1xubGluZXMnJyIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1JTlZBTElEX1ZBTFVFLCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89bnVsbCwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWJhZFJlcXVlc3QsIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLklOVkFMSURfVkFMVUUsIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPW51bGwsIGVycm9yUHJvdG9Db2RlPUlOVkFMSURfVkFMVUUsIGVycm9yUHJvdG9Eb21haW49Z2RhdGEuQ29yZUVycm9yRG9tYWluLCBmaWx0ZXJlZE1lc3NhZ2U9bnVsbCwgbG9jYXRpb249ZW50aXR5LnJlc291cmNlLmlkLm5hbWUsIG1lc3NhZ2U9RGlzYWxsb3dlZCB1bmljb2RlIGNoYXJhY3RlcnMgcHJlc2VudCBpbiBvYmplY3QgbmFtZSAnJ25ld1xubGluZXMnJywgdW5uYW1lZEFyZ3VtZW50cz1bbmV3XG5saW5lc119LCBsb2NhdGlvbj1lbnRpdHkucmVzb3VyY2UuaWQubmFtZSwgbWVzc2FnZT1EaXNhbGxvd2VkIHVuaWNvZGUgY2hhcmFjdGVycyBwcmVzZW50IGluIG9iamVjdCBuYW1lICcnbmV3XG5saW5lcycnLCByZWFzb249aW52YWxpZCwgcnBjQ29kZT00MDB9IERpc2FsbG93ZWQgdW5pY29kZSBjaGFyYWN0ZXJzIHByZXNlbnQgaW4gb2JqZWN0IG5hbWUgJyduZXdcbmxpbmVzJydcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJEaXNhbGxvd2VkIHVuaWNvZGUgY2hhcmFjdGVycyBwcmVzZW50IGluIG9iamVjdCBuYW1lICcnbmV3XG5saW5lcycnIn19" } }, { - "ID": "35db3796de1907dd", + "ID": "3cd795cb0b675f98", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -5980,32 +7296,31 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvaHRtbCIsIm5hbWUiOiJjb250ZW50In0K", - "PGh0bWw+PGhlYWQ+PHRpdGxlPk15IGZpcnN0IHBhZ2U8L3RpdGxlPjwvaGVhZD48L2h0bWw+" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3290" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:08:20 GMT" - ], - "Etag": [ - "CIbsg5nb4d8CEAE=" + "Thu, 02 May 2019 22:24:31 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -6020,18 +7335,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Ur-y9HwATwr_TC-RYcVR02ACMxLehGijEDcPKpXmaAO3TanUDOWRP7toHZQjCGX9k9VVGSU7KC-OjHZ9O8aTz-uyhkyurKXnKjSsRoOi3vtX0RpKGk" + "AEnB2UpOXjD9T_c_FRByyyA-CjE753kXZefEzIwQdrNG6OewoHOvKC3Bb9LleziQ6-ymVDg-F1S1eeQeFNJH7nJxDsdA_VmxOjeBzTDB_F3--_1NtwMF6Do" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE3MDAxMzc0NzgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb250ZW50IiwibmFtZSI6ImNvbnRlbnQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMDEzNzQ3OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9odG1sIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjIwLjEzN1oiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyMC4xMzdaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjAuMTM3WiIsInNpemUiOiI1NCIsIm1kNUhhc2giOiJOOHA4L3M5RndkQUFubHZyL2xFQWpRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudD9nZW5lcmF0aW9uPTE1NDcwNzE3MDAxMzc0NzgmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNzAwMTM3NDc4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDAxMzc0NzgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNJYnNnNW5iNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE3MDAxMzc0NzgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAwMTM3NDc4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNJYnNnNW5iNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE3MDAxMzc0NzgvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAwMTM3NDc4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSWJzZzVuYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNzAwMTM3NDc4L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb250ZW50L2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAwMTM3NDc4IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0lic2c1bmI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJHb1Vic1E9PSIsImV0YWciOiJDSWJzZzVuYjRkOENFQUU9In0=" + "Body": "" } }, { - "ID": "d3406647cf8065b0", + "ID": "361d4541e2cb460a", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/content?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/a?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -6041,28 +7365,30 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3290" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:08:20 GMT" - ], - "Etag": [ - "CIbsg5nb4d8CEAE=" + "Thu, 02 May 2019 22:24:31 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -6077,18 +7403,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpG19fUXRNsckwQcpakXB3RK72joIKwO0otQp8gKNunR6mmAYYYoKQ-sUHas4UbDXqnbHu_F0f9h8Lf2YMBt-9uxeLQSDvyIslCupIgUAap6PdquMs" + "AEnB2UpomJFlpfOIJoFvdCmQgD2dRXSREzV1ToI2ntcHi8I9tSyzMCUk0ZrytllkwR_nU8WFZ0YuXVl0Kwsq1EhJL85RlBgCkBNc1P-yVMyNbdt5YrooKok" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE3MDAxMzc0NzgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb250ZW50IiwibmFtZSI6ImNvbnRlbnQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMDEzNzQ3OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9odG1sIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjIwLjEzN1oiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyMC4xMzdaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjAuMTM3WiIsInNpemUiOiI1NCIsIm1kNUhhc2giOiJOOHA4L3M5RndkQUFubHZyL2xFQWpRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudD9nZW5lcmF0aW9uPTE1NDcwNzE3MDAxMzc0NzgmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNzAwMTM3NDc4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDAxMzc0NzgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNJYnNnNW5iNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE3MDAxMzc0NzgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAwMTM3NDc4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNJYnNnNW5iNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE3MDAxMzc0NzgvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAwMTM3NDc4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSWJzZzVuYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNzAwMTM3NDc4L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb250ZW50L2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAwMTM3NDc4IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0lic2c1bmI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJHb1Vic1E9PSIsImV0YWciOiJDSWJzZzVuYjRkOENFQUU9In0=" + "Body": "" } }, { - "ID": "84e4dc92bcc88550", + "ID": "a4e929446e49411d", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/%D0%93%D0%BE%D1%84%D0%B5%D1%80%D0%BE%D0%B2%D0%B8?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -6097,32 +7432,31 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6ImltYWdlL2pwZWciLCJuYW1lIjoiY29udGVudCJ9Cg==", - "PGh0bWw+PGhlYWQ+PHRpdGxlPk15IGZpcnN0IHBhZ2U8L3RpdGxlPjwvaGVhZD48L2h0bWw+" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3291" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:08:20 GMT" - ], - "Etag": [ - "CJmXrpnb4d8CEAE=" + "Thu, 02 May 2019 22:24:31 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -6137,18 +7471,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpSsg3NdiXi_lgy1ueQ97F1fs3BwjPe0d9F2TootyOZ4pEdZ_nvLmghe-7SKAyupUo-d6nR5-nwjiAhJtqTx6wHAiNXdOodpAPmlpW2YhlZIFle38Y" + "AEnB2UqmdInqhuXhUxVjtfRvXvHd6Rmo1ODUbeNFFTBW4diuT7HDjzmYnvd4TU6oJPqbck52yFAR99fMx4Tks1TllSUCB4GsMVbBNENfZU6te-hXIB8XyJs" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE3MDA4MzExMjkiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb250ZW50IiwibmFtZSI6ImNvbnRlbnQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMDgzMTEyOSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiaW1hZ2UvanBlZyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyMC44MzBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjAuODMwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjIwLjgzMFoiLCJzaXplIjoiNTQiLCJtZDVIYXNoIjoiTjhwOC9zOUZ3ZEFBbmx2ci9sRUFqUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQ/Z2VuZXJhdGlvbj0xNTQ3MDcxNzAwODMxMTI5JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvbnRlbnQvMTU0NzA3MTcwMDgzMTEyOS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAwODMxMTI5IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDSm1YcnBuYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNzAwODMxMTI5L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMDgzMTEyOSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSm1YcnBuYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNzAwODMxMTI5L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMDgzMTEyOSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0ptWHJwbmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvbnRlbnQvMTU0NzA3MTcwMDgzMTEyOS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudC9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMDgzMTEyOSIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNKbVhycG5iNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiR29VYnNRPT0iLCJldGFnIjoiQ0ptWHJwbmI0ZDhDRUFFPSJ9" + "Body": "" } }, { - "ID": "5461155796455974", + "ID": "89b2ef62a071f7b9", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/content?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/gopher?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -6158,28 +7501,30 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3291" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:08:21 GMT" - ], - "Etag": [ - "CJmXrpnb4d8CEAE=" + "Thu, 02 May 2019 22:24:32 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -6194,39 +7539,39 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrqY9LX3nOBKo4PEQAnpfg1PyCwRhEIrwuOF3PRxLvlAJMR6EBRvZGIRLLmIJ0bwT7caeDlhWc3nYy9-Yr-XPdVwpvTP-tY7gYLeC-AbH3tPT0-UkY" + "AEnB2UrRgapcSgK1GOswXS37Vynb9BRj0go8bNPOBtrFZ3TDr-nzIdlvKBQuwHtXl4Tlb-mLl-A65zL5Iw3unCEuy6lwtWl5-V7REtcIVHkrWLK5AoLoHqA" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE3MDA4MzExMjkiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb250ZW50IiwibmFtZSI6ImNvbnRlbnQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMDgzMTEyOSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiaW1hZ2UvanBlZyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyMC44MzBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjAuODMwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjIwLjgzMFoiLCJzaXplIjoiNTQiLCJtZDVIYXNoIjoiTjhwOC9zOUZ3ZEFBbmx2ci9sRUFqUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQ/Z2VuZXJhdGlvbj0xNTQ3MDcxNzAwODMxMTI5JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvbnRlbnQvMTU0NzA3MTcwMDgzMTEyOS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAwODMxMTI5IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDSm1YcnBuYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNzAwODMxMTI5L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMDgzMTEyOSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSm1YcnBuYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNzAwODMxMTI5L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMDgzMTEyOSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0ptWHJwbmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvbnRlbnQvMTU0NzA3MTcwMDgzMTEyOS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudC9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMDgzMTEyOSIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNKbVhycG5iNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiR29VYnNRPT0iLCJldGFnIjoiQ0ptWHJwbmI0ZDhDRUFFPSJ9" + "Body": "" } }, { - "ID": "8c962278df6b3f47", + "ID": "ca91b2e4ee4555cb", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ "google-api-go-client/0.5" - ], - "X-Goog-Encryption-Algorithm": [ - "AES256" - ], - "X-Goog-Encryption-Key": [ - "CLEARED" - ], - "X-Goog-Encryption-Key-Sha256": [ - "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" ] }, "MediaType": "multipart/related", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJuYW1lIjoiY3VzdG9tZXItZW5jcnlwdGlvbiJ9Cg==", - "dG9wIHNlY3JldC4=" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoiY29udGVudCJ9Cg==", + "SXQgd2FzIHRoZSBiZXN0IG9mIHRpbWVzLCBpdCB3YXMgdGhlIHdvcnN0IG9mIHRpbWVzLg==" ] }, "Response": { @@ -6235,20 +7580,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3575" + "3213" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:21 GMT" + "Thu, 02 May 2019 22:24:32 GMT" ], "Etag": [ - "CN6Q2pnb4d8CEAE=" + "CLGNmsnx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -6263,18 +7611,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpPTikFDHq7fy1vFCZH8Th-5CiLA0-Cqh9C2TnzOgd48utfb5stwlL44sZvMydYQsMXSoLcvRfcyT1KmpdrS9Jagm_06kiIhc02GHVhC9tziyLnvog" + "AEnB2UovWW5HSrWbcvQoWGU3c_n64wwcau06tjEM-fzdADFSbmmylG3VLjae6MRNIM4B9gDitCKfjo1_xPQNAZEmMYzRplVmdI4cIrBC8ursFSUywoCSJeU" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NDcwNzE3MDE1NTExOTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uIiwibmFtZSI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMTU1MTE5OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyMS41NTBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjEuNTUwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjIxLjU1MFoiLCJzaXplIjoiMTEiLCJtZDVIYXNoIjoieHdXTkZhMFZkWFBtbEF3cmxjQUpjZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24/Z2VuZXJhdGlvbj0xNTQ3MDcxNzAxNTUxMTk4JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU0NzA3MTcwMTU1MTE5OC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAxNTUxMTk4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTjZRMnBuYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTQ3MDcxNzAxNTUxMTk4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMTU1MTE5OCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTjZRMnBuYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTQ3MDcxNzAxNTUxMTk4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMTU1MTE5OCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ042UTJwbmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU0NzA3MTcwMTU1MTE5OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMTU1MTE5OCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNONlEycG5iNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoicjBOR3JnPT0iLCJldGFnIjoiQ042UTJwbmI0ZDhDRUFFPSIsImN1c3RvbWVyRW5jcnlwdGlvbiI6eyJlbmNyeXB0aW9uQWxnb3JpdGhtIjoiQUVTMjU2Iiwia2V5U2hhMjU2IjoiSCtMbW5YaFJvZUk2VE1XNWJzVjZIeVVrNnB5R2MySU1icVliQVhCY3BzMD0ifX0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb250ZW50LzE1NTY4MzU4NzI0NDIwMzMiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50IiwibmFtZSI6ImNvbnRlbnQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MjQ0MjAzMyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozMi40NDFaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzIuNDQxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjMyLjQ0MVoiLCJzaXplIjoiNTIiLCJtZDVIYXNoIjoiSzI4NUF3S1dXZlZSZEJjQ1VYaHpOZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbnRlbnQ/Z2VuZXJhdGlvbj0xNTU2ODM1ODcyNDQyMDMzJmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbnRlbnQvMTU1NjgzNTg3MjQ0MjAzMy9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzI0NDIwMzMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0xHTm1zbngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbnRlbnQvMTU1NjgzNTg3MjQ0MjAzMy9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MjQ0MjAzMyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNMR05tc254L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb250ZW50LzE1NTY4MzU4NzI0NDIwMzMvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzI0NDIwMzMiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xHTm1zbngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbnRlbnQvMTU1NjgzNTg3MjQ0MjAzMy91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudC9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MjQ0MjAzMyIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMR05tc254L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiRmNYTThRPT0iLCJldGFnIjoiQ0xHTm1zbngvZUVDRUFFPSJ9" } }, { - "ID": "4f1e28b4bb90917c", + "ID": "eb678345630fe080", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/content?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -6284,7 +7641,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -6292,20 +7651,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3518" + "3213" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:21 GMT" + "Thu, 02 May 2019 22:24:32 GMT" ], "Etag": [ - "CN6Q2pnb4d8CEAE=" + "CLGNmsnx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -6320,37 +7682,40 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoKLuTHneCnA4_mbc3ScBdB_J0JicCfsKNyW9hC5GVPwtB0KJZR_-HZo4smG_NuR-EuX92ph3hYFntQRNRtwAl4uiCnw3OyCT5OlRAFM5l0_1dir8Y" + "AEnB2UrtPOErXGrnlQtXCV1PhgO5nz80m75Fzs7DoR-y8Ava3jvL9NDJ4L-i8SIV_tktR8VqCvv9uh-X1ltJCj3isa_oY8TlV-OsZeIiESuDrRTYueQWQP0" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NDcwNzE3MDE1NTExOTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uIiwibmFtZSI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMTU1MTE5OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyMS41NTBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjEuNTUwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjIxLjU1MFoiLCJzaXplIjoiMTEiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbj9nZW5lcmF0aW9uPTE1NDcwNzE3MDE1NTExOTgmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTQ3MDcxNzAxNTUxMTk4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDE1NTExOTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNONlEycG5iNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NDcwNzE3MDE1NTExOTgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAxNTUxMTk4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNONlEycG5iNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NDcwNzE3MDE1NTExOTgvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAxNTUxMTk4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTjZRMnBuYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTQ3MDcxNzAxNTUxMTk4L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAxNTUxMTk4IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ042UTJwbmI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJldGFnIjoiQ042UTJwbmI0ZDhDRUFFPSIsImN1c3RvbWVyRW5jcnlwdGlvbiI6eyJlbmNyeXB0aW9uQWxnb3JpdGhtIjoiQUVTMjU2Iiwia2V5U2hhMjU2IjoiSCtMbW5YaFJvZUk2VE1XNWJzVjZIeVVrNnB5R2MySU1icVliQVhCY3BzMD0ifX0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb250ZW50LzE1NTY4MzU4NzI0NDIwMzMiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50IiwibmFtZSI6ImNvbnRlbnQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MjQ0MjAzMyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozMi40NDFaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzIuNDQxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjMyLjQ0MVoiLCJzaXplIjoiNTIiLCJtZDVIYXNoIjoiSzI4NUF3S1dXZlZSZEJjQ1VYaHpOZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbnRlbnQ/Z2VuZXJhdGlvbj0xNTU2ODM1ODcyNDQyMDMzJmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbnRlbnQvMTU1NjgzNTg3MjQ0MjAzMy9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzI0NDIwMzMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0xHTm1zbngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbnRlbnQvMTU1NjgzNTg3MjQ0MjAzMy9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MjQ0MjAzMyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNMR05tc254L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb250ZW50LzE1NTY4MzU4NzI0NDIwMzMvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzI0NDIwMzMiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xHTm1zbngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbnRlbnQvMTU1NjgzNTg3MjQ0MjAzMy91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudC9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MjQ0MjAzMyIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMR05tc254L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiRmNYTThRPT0iLCJldGFnIjoiQ0xHTm1zbngvZUVDRUFFPSJ9" } }, { - "ID": "ddf4a540e0a1c602", + "ID": "d76ba152a62e7dc1", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ "google-api-go-client/0.5" - ], - "X-Goog-Encryption-Algorithm": [ - "AES256" - ], - "X-Goog-Encryption-Key": [ - "CLEARED" - ], - "X-Goog-Encryption-Key-Sha256": [ - "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJuYW1lIjoiY29udGVudCJ9Cg==", + "PGh0bWw+PGhlYWQ+PHRpdGxlPk15IGZpcnN0IHBhZ2U8L3RpdGxlPjwvaGVhZD48L2h0bWw+" + ] }, "Response": { "StatusCode": 200, @@ -6358,20 +7723,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3575" + "3212" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:22 GMT" + "Thu, 02 May 2019 22:24:33 GMT" ], "Etag": [ - "CN6Q2pnb4d8CEAE=" + "CLPJv8nx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -6386,32 +7754,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoY6pM4O66t870BCvy-xNraMY86GV5yrp5-4IiqzyaTSVjA09BE9bmRm7Ob69ZV03CIWxJFQ4i00bvOArC0eBVVoElRHxyMUCdL0LgKSDvWmfcQeSc" + "AEnB2Uqk5XoKCyt74JBpeU8oREfzh3e0LLtXupBjcWtsFfHNZDEn4DjcmzWo6resyQ1gEisBp_STlU4hVaU3MbTyX3LM443_Gsu4ouZGdf3ZTvTzsLD_zNw" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NDcwNzE3MDE1NTExOTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uIiwibmFtZSI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMTU1MTE5OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyMS41NTBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjEuNTUwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjIxLjU1MFoiLCJzaXplIjoiMTEiLCJtZDVIYXNoIjoieHdXTkZhMFZkWFBtbEF3cmxjQUpjZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24/Z2VuZXJhdGlvbj0xNTQ3MDcxNzAxNTUxMTk4JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU0NzA3MTcwMTU1MTE5OC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAxNTUxMTk4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTjZRMnBuYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTQ3MDcxNzAxNTUxMTk4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMTU1MTE5OCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTjZRMnBuYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTQ3MDcxNzAxNTUxMTk4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMTU1MTE5OCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ042UTJwbmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU0NzA3MTcwMTU1MTE5OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMTU1MTE5OCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNONlEycG5iNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoicjBOR3JnPT0iLCJldGFnIjoiQ042UTJwbmI0ZDhDRUFFPSIsImN1c3RvbWVyRW5jcnlwdGlvbiI6eyJlbmNyeXB0aW9uQWxnb3JpdGhtIjoiQUVTMjU2Iiwia2V5U2hhMjU2IjoiSCtMbW5YaFJvZUk2VE1XNWJzVjZIeVVrNnB5R2MySU1icVliQVhCY3BzMD0ifX0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb250ZW50LzE1NTY4MzU4NzMwNTU5MjMiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50IiwibmFtZSI6ImNvbnRlbnQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MzA1NTkyMyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjMzLjA1NVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozMy4wNTVaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzMuMDU1WiIsInNpemUiOiI1NCIsIm1kNUhhc2giOiJOOHA4L3M5RndkQUFubHZyL2xFQWpRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudD9nZW5lcmF0aW9uPTE1NTY4MzU4NzMwNTU5MjMmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29udGVudC8xNTU2ODM1ODczMDU1OTIzL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MzA1NTkyMyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTFBKdjhueC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29udGVudC8xNTU2ODM1ODczMDU1OTIzL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50L2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODczMDU1OTIzIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0xQSnY4bngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbnRlbnQvMTU1NjgzNTg3MzA1NTkyMy9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MzA1NTkyMyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTFBKdjhueC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29udGVudC8xNTU2ODM1ODczMDU1OTIzL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50L2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODczMDU1OTIzIiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0xQSnY4bngvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJHb1Vic1E9PSIsImV0YWciOiJDTFBKdjhueC9lRUNFQUU9In0=" } }, { - "ID": "cdde3819b0c70859", + "ID": "f785ed7f0490bb6d", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/content?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "85" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiJ9Cg==" + "" ] }, "Response": { @@ -6420,20 +7794,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3541" + "3212" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:22 GMT" + "Thu, 02 May 2019 22:24:33 GMT" ], "Etag": [ - "CN6Q2pnb4d8CEAI=" + "CLPJv8nx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -6448,41 +7825,39 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqTMqaMTibFbhM7NQBy0rmfyds2u8-R69W6TIU7EAIF87nnasp2kRnqozELEbiZ_Zc7EN2SqyFtBayw1sb-KEdKYzR3Jy6PwDoYQWFQX-rVbDKjJaA" + "AEnB2UrCqpaad9mhxk7VZgTc8xIunote5-AHPp3vYkUbSU8uiVcq65rcnrbtIuCqJ63JTuVJvKw7pFwnLjyn5fL37JzfXLhmLAowAV67_Qqtxxhiy4WQars" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NDcwNzE3MDE1NTExOTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uIiwibmFtZSI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMTU1MTE5OCIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyMS41NTBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjIuNjE4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjIxLjU1MFoiLCJzaXplIjoiMTEiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbj9nZW5lcmF0aW9uPTE1NDcwNzE3MDE1NTExOTgmYWx0PW1lZGlhIiwiY29udGVudExhbmd1YWdlIjoiZW4iLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NDcwNzE3MDE1NTExOTgvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uL2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMTU1MTE5OCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ042UTJwbmI0ZDhDRUFJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU0NzA3MTcwMTU1MTE5OC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDE1NTExOTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ042UTJwbmI0ZDhDRUFJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU0NzA3MTcwMTU1MTE5OC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDE1NTExOTgiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNONlEycG5iNGQ4Q0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NDcwNzE3MDE1NTExOTgvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDE1NTExOTgiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTjZRMnBuYjRkOENFQUk9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImV0YWciOiJDTjZRMnBuYjRkOENFQUk9IiwiY3VzdG9tZXJFbmNyeXB0aW9uIjp7ImVuY3J5cHRpb25BbGdvcml0aG0iOiJBRVMyNTYiLCJrZXlTaGEyNTYiOiJIK0xtblhoUm9lSTZUTVc1YnNWNkh5VWs2cHlHYzJJTWJxWWJBWEJjcHMwPSJ9fQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb250ZW50LzE1NTY4MzU4NzMwNTU5MjMiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50IiwibmFtZSI6ImNvbnRlbnQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MzA1NTkyMyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjMzLjA1NVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozMy4wNTVaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzMuMDU1WiIsInNpemUiOiI1NCIsIm1kNUhhc2giOiJOOHA4L3M5RndkQUFubHZyL2xFQWpRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudD9nZW5lcmF0aW9uPTE1NTY4MzU4NzMwNTU5MjMmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29udGVudC8xNTU2ODM1ODczMDU1OTIzL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MzA1NTkyMyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTFBKdjhueC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29udGVudC8xNTU2ODM1ODczMDU1OTIzL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50L2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODczMDU1OTIzIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0xQSnY4bngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbnRlbnQvMTU1NjgzNTg3MzA1NTkyMy9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3MzA1NTkyMyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTFBKdjhueC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29udGVudC8xNTU2ODM1ODczMDU1OTIzL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50L2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODczMDU1OTIzIiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0xQSnY4bngvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJHb1Vic1E9PSIsImV0YWciOiJDTFBKdjhueC9lRUNFQUU9In0=" } }, { - "ID": "073baf90d1dcf533", + "ID": "096d156b863922d6", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "85" - ], "User-Agent": [ "google-api-go-client/0.5" - ], - "X-Goog-Encryption-Algorithm": [ - "AES256" - ], - "X-Goog-Encryption-Key": [ - "CLEARED" - ], - "X-Goog-Encryption-Key-Sha256": [ - "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" ] }, - "MediaType": "application/json", + "MediaType": "multipart/related", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiJ9Cg==" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvaHRtbCIsIm5hbWUiOiJjb250ZW50In0K", + "PGh0bWw+PGhlYWQ+PHRpdGxlPk15IGZpcnN0IHBhZ2U8L3RpdGxlPjwvaGVhZD48L2h0bWw+" ] }, "Response": { @@ -6491,20 +7866,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3598" + "3197" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:23 GMT" + "Thu, 02 May 2019 22:24:33 GMT" ], "Etag": [ - "CN6Q2pnb4d8CEAM=" + "CPW+6cnx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -6519,84 +7897,111 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpuTVMyUos0wazP0xnCIMDCZFmDYkrzrrpLr6hTn38hoKGuTPjNjM9Q1ZqeCJwHzVtUo2XIr76gZKdHnWZOR06t_8oMVPrMTxMbewGqKL30hiXxNHY" + "AEnB2UoivaSzjVdOm2KP4nXCF8VQDNHXmlNjm9rZwTaWzjvBmH3oK01QYTnHqZ5DhYRewu_1H0KoQgFpUIC-M4OKZoOhRHrq0-H8HLT__SqD1D5cmezrqHo" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NDcwNzE3MDE1NTExOTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uIiwibmFtZSI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMTU1MTE5OCIsIm1ldGFnZW5lcmF0aW9uIjoiMyIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyMS41NTBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjMuMDE4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjIxLjU1MFoiLCJzaXplIjoiMTEiLCJtZDVIYXNoIjoieHdXTkZhMFZkWFBtbEF3cmxjQUpjZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24/Z2VuZXJhdGlvbj0xNTQ3MDcxNzAxNTUxMTk4JmFsdD1tZWRpYSIsImNvbnRlbnRMYW5ndWFnZSI6ImVuIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTQ3MDcxNzAxNTUxMTk4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDE1NTExOTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNONlEycG5iNGQ4Q0VBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NDcwNzE3MDE1NTExOTgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAxNTUxMTk4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNONlEycG5iNGQ4Q0VBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NDcwNzE3MDE1NTExOTgvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAxNTUxMTk4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTjZRMnBuYjRkOENFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTQ3MDcxNzAxNTUxMTk4L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAxNTUxMTk4IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ042UTJwbmI0ZDhDRUFNPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJyME5Hcmc9PSIsImV0YWciOiJDTjZRMnBuYjRkOENFQU09IiwiY3VzdG9tZXJFbmNyeXB0aW9uIjp7ImVuY3J5cHRpb25BbGdvcml0aG0iOiJBRVMyNTYiLCJrZXlTaGEyNTYiOiJIK0xtblhoUm9lSTZUTVc1YnNWNkh5VWs2cHlHYzJJTWJxWWJBWEJjcHMwPSJ9fQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb250ZW50LzE1NTY4MzU4NzM3NDI3MDkiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50IiwibmFtZSI6ImNvbnRlbnQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3Mzc0MjcwOSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9odG1sIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjMzLjc0MloiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozMy43NDJaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzMuNzQyWiIsInNpemUiOiI1NCIsIm1kNUhhc2giOiJOOHA4L3M5RndkQUFubHZyL2xFQWpRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudD9nZW5lcmF0aW9uPTE1NTY4MzU4NzM3NDI3MDkmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29udGVudC8xNTU2ODM1ODczNzQyNzA5L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3Mzc0MjcwOSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUFcrNmNueC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29udGVudC8xNTU2ODM1ODczNzQyNzA5L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50L2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODczNzQyNzA5IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ1BXKzZjbngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbnRlbnQvMTU1NjgzNTg3Mzc0MjcwOS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3Mzc0MjcwOSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDUFcrNmNueC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29udGVudC8xNTU2ODM1ODczNzQyNzA5L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50L2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODczNzQyNzA5IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ1BXKzZjbngvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJHb1Vic1E9PSIsImV0YWciOiJDUFcrNmNueC9lRUNFQUU9In0=" } }, { - "ID": "8fe345ba3a6cafb2", + "ID": "0e96d304e9558094", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/customer-encryption", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/content?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 400, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "277" + "3197" ], "Content-Type": [ - "application/xml; charset=UTF-8" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:23 GMT" + "Thu, 02 May 2019 22:24:34 GMT" + ], + "Etag": [ + "CPW+6cnx/eECEAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:23 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" ], + "Vary": [ + "Origin", + "X-Origin" + ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqKriBj7jz0Pzb0r7Pcpze4GEcXurIuJZOe5mXXzjgZFU1C0kfmeF_XFDj7ebrF0IkOk0A-6NluBnsUHzOUVzm83G4xV_H_iFR0CwUZ0RpID6c5_jA" + "AEnB2Uoc-8JwtQprLtec5Ft6q3z4p0ooDaCCLmO9oVgrOXvBpoFhApztj8anfFwEcHdzpB6FBlUFqou0viF_HLHJvHolsxeCCoDOhqyIggOOlWjnSRg8XzY" ] }, - "Body": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48RXJyb3I+PENvZGU+UmVzb3VyY2VJc0VuY3J5cHRlZFdpdGhDdXN0b21lckVuY3J5cHRpb25LZXk8L0NvZGU+PE1lc3NhZ2U+VGhlIHJlc291cmNlIGlzIGVuY3J5cHRlZCB3aXRoIGEgY3VzdG9tZXIgZW5jcnlwdGlvbiBrZXkuPC9NZXNzYWdlPjxEZXRhaWxzPlRoZSByZXF1ZXN0ZWQgb2JqZWN0IGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LjwvRGV0YWlscz48L0Vycm9yPg==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb250ZW50LzE1NTY4MzU4NzM3NDI3MDkiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50IiwibmFtZSI6ImNvbnRlbnQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3Mzc0MjcwOSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9odG1sIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjMzLjc0MloiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozMy43NDJaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzMuNzQyWiIsInNpemUiOiI1NCIsIm1kNUhhc2giOiJOOHA4L3M5RndkQUFubHZyL2xFQWpRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudD9nZW5lcmF0aW9uPTE1NTY4MzU4NzM3NDI3MDkmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29udGVudC8xNTU2ODM1ODczNzQyNzA5L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3Mzc0MjcwOSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUFcrNmNueC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29udGVudC8xNTU2ODM1ODczNzQyNzA5L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50L2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODczNzQyNzA5IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ1BXKzZjbngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbnRlbnQvMTU1NjgzNTg3Mzc0MjcwOS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3Mzc0MjcwOSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDUFcrNmNueC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29udGVudC8xNTU2ODM1ODczNzQyNzA5L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50L2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODczNzQyNzA5IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ1BXKzZjbngvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJHb1Vic1E9PSIsImV0YWciOiJDUFcrNmNueC9lRUNFQUU9In0=" } }, { - "ID": "73e5d628abe839f2", + "ID": "b4c8dedc10a69e07", "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/customer-encryption", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" - ], - "X-Goog-Encryption-Algorithm": [ - "AES256" - ], - "X-Goog-Encryption-Key": [ - "CLEARED" - ], - "X-Goog-Encryption-Key-Sha256": [ - "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" + "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6ImltYWdlL2pwZWciLCJuYW1lIjoiY29udGVudCJ9Cg==", + "PGh0bWw+PGhlYWQ+PHRpdGxlPk15IGZpcnN0IHBhZ2U8L3RpdGxlPjwvaGVhZD48L2h0bWw+" + ] }, "Response": { "StatusCode": 200, @@ -6604,109 +8009,100 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], - "Content-Language": [ - "en" - ], "Content-Length": [ - "11" + "3198" ], "Content-Type": [ - "text/plain; charset=utf-8" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:23 GMT" + "Thu, 02 May 2019 22:24:34 GMT" ], "Etag": [ - "\"-CN6Q2pnb4d8CEAM=\"" + "CM/Yjsrx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:08:21 GMT" - ], "Pragma": [ "no-cache" ], "Server": [ "UploadServer" ], - "X-Goog-Encryption-Algorithm": [ - "AES256" - ], - "X-Goog-Encryption-Key-Sha256": [ - "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" - ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:08:21 GMT" - ], - "X-Goog-Generation": [ - "1547071701551198" - ], - "X-Goog-Hash": [ - "crc32c=r0NGrg==", - "md5=xwWNFa0VdXPmlAwrlcAJcg==" - ], - "X-Goog-Metageneration": [ - "3" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "11" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UqyZFGqG7T_oVn8uw_TncOaX4ZzjueZnIWOOfNKAMqKNgnUp8Y-V1_v4fDkuzMkV3QunK5vz1B0l1-xTX1rREG2QL6sTZEhPNelsx9K_PDK7ENaVgA" + "AEnB2UpC3UBVkNENjfRoaL2M1fPRh-iTDTwCsgF8O3TOX_iBuXcDxMjOoTmrIhD4cE5g1s7PObP66TZB1lecFypnLz8hL-aowsOxUMuL0KXJvrgoGxKHUFg" ] }, - "Body": "dG9wIHNlY3JldC4=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb250ZW50LzE1NTY4MzU4NzQzNTIyMDciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50IiwibmFtZSI6ImNvbnRlbnQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NDM1MjIwNyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiaW1hZ2UvanBlZyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozNC4zNTFaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzQuMzUxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjM0LjM1MVoiLCJzaXplIjoiNTQiLCJtZDVIYXNoIjoiTjhwOC9zOUZ3ZEFBbmx2ci9sRUFqUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbnRlbnQ/Z2VuZXJhdGlvbj0xNTU2ODM1ODc0MzUyMjA3JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbnRlbnQvMTU1NjgzNTg3NDM1MjIwNy9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzQzNTIyMDciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ00vWWpzcngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbnRlbnQvMTU1NjgzNTg3NDM1MjIwNy9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NDM1MjIwNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNNL1lqc3J4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb250ZW50LzE1NTY4MzU4NzQzNTIyMDcvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzQzNTIyMDciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ00vWWpzcngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbnRlbnQvMTU1NjgzNTg3NDM1MjIwNy91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudC9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NDM1MjIwNyIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNNL1lqc3J4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiR29VYnNRPT0iLCJldGFnIjoiQ00vWWpzcngvZUVDRUFFPSJ9" } }, { - "ID": "656af8812059ffa9", + "ID": "c45640ec17230f64", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption/rewriteTo/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption-2?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/content?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "3" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "e30K" + "" ] }, "Response": { - "StatusCode": 400, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "no-cache, no-store, max-age=0, must-revalidate" + ], "Content-Length": [ - "373" + "3198" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:23 GMT" + "Thu, 02 May 2019 22:24:34 GMT" + ], + "Etag": [ + "CM/Yjsrx/eECEAE=" + ], + "Expires": [ + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -6715,41 +8111,48 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrWNeou3lj_gnMDqT_h9P1qEvYqS3cGxAW8K4YAcAPZtK465x2j-tI1KBMDZe6NTFGRce3vC1vuzlTStyO8yDcoYvIoRiXf3jliBJ172ViydCZdQFs" + "AEnB2UrvqLsOaMe2H6Xh3MyDCOuHmLzU1fn_Zh6kHLkpTpn4EWj3nFkeROu1g-cABD151cTh8YmY798iEku-Q3TnZIMZ5mexmHiCJKdUhAolbSd9b_apMK8" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlc291cmNlSXNFbmNyeXB0ZWRXaXRoQ3VzdG9tZXJFbmNyeXB0aW9uS2V5IiwibWVzc2FnZSI6IlRoZSB0YXJnZXQgb2JqZWN0IGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LiIsImV4dGVuZGVkSGVscCI6Imh0dHBzOi8vY2xvdWQuZ29vZ2xlLmNvbS9zdG9yYWdlL2RvY3MvZW5jcnlwdGlvbiNjdXN0b21lci1zdXBwbGllZF9lbmNyeXB0aW9uX2tleXMifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IlRoZSB0YXJnZXQgb2JqZWN0IGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LiJ9fQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb250ZW50LzE1NTY4MzU4NzQzNTIyMDciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50IiwibmFtZSI6ImNvbnRlbnQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NDM1MjIwNyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiaW1hZ2UvanBlZyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozNC4zNTFaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzQuMzUxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjM0LjM1MVoiLCJzaXplIjoiNTQiLCJtZDVIYXNoIjoiTjhwOC9zOUZ3ZEFBbmx2ci9sRUFqUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbnRlbnQ/Z2VuZXJhdGlvbj0xNTU2ODM1ODc0MzUyMjA3JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbnRlbnQvMTU1NjgzNTg3NDM1MjIwNy9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzQzNTIyMDciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ00vWWpzcngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbnRlbnQvMTU1NjgzNTg3NDM1MjIwNy9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NDM1MjIwNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNNL1lqc3J4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb250ZW50LzE1NTY4MzU4NzQzNTIyMDcvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzQzNTIyMDciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ00vWWpzcngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbnRlbnQvMTU1NjgzNTg3NDM1MjIwNy91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudC9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NDM1MjIwNyIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNNL1lqc3J4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiR29VYnNRPT0iLCJldGFnIjoiQ00vWWpzcngvZUVDRUFFPSJ9" } }, { - "ID": "fd2ee3b9f9e4d40e", + "ID": "752ab630b062d61e", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption/rewriteTo/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption-2?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "3" - ], "User-Agent": [ "google-api-go-client/0.5" ], - "X-Goog-Copy-Source-Encryption-Algorithm": [ + "X-Goog-Encryption-Algorithm": [ "AES256" ], - "X-Goog-Copy-Source-Encryption-Key": [ + "X-Goog-Encryption-Key": [ "CLEARED" ], - "X-Goog-Copy-Source-Encryption-Key-Sha256": [ + "X-Goog-Encryption-Key-Sha256": [ "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" ] }, - "MediaType": "application/json", + "MediaType": "multipart/related", "BodyParts": [ - "e30K" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJuYW1lIjoiY3VzdG9tZXItZW5jcnlwdGlvbiJ9Cg==", + "dG9wIHNlY3JldC4=" ] }, "Response": { @@ -6758,17 +8161,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3620" + "3482" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:24 GMT" + "Thu, 02 May 2019 22:24:35 GMT" + ], + "Etag": [ + "CPjnucrx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -6783,28 +8192,39 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrKnf2pD4lUNn8JTfj-k6SVbBGndMwHTmV8CM-18DwiRKjnVCaStVXMYud91IIcFnwaSn8N56WfKAQS2miM1YrQov5klokN9sw2qBXK15rGZF0cm8Y" + "AEnB2UpaWw6jJMKNOoCNMXwJNVVsxqzPhGfMo-5g3krJ7A8_PSGTx4W2OakfmtDvzOpg1hexLJcsWunNHfyWVXsjBpM58dtQlM6VucQW4Uxndlb9RIp0UhM" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiMTEiLCJvYmplY3RTaXplIjoiMTEiLCJkb25lIjp0cnVlLCJyZXNvdXJjZSI6eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU0NzA3MTcwNDQzNzI0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMiIsIm5hbWUiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwNDQzNzI0NSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyNC40MzdaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjQuNDM3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjI0LjQzN1oiLCJzaXplIjoiMTEiLCJtZDVIYXNoIjoieHdXTkZhMFZkWFBtbEF3cmxjQUpjZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMj9nZW5lcmF0aW9uPTE1NDcwNzE3MDQ0MzcyNDUmYWx0PW1lZGlhIiwiY29udGVudExhbmd1YWdlIjoiZW4iLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU0NzA3MTcwNDQzNzI0NS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwNDQzNzI0NSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ1AyamlwdmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24tMi8xNTQ3MDcxNzA0NDM3MjQ1L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDQ0MzcyNDUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ1AyamlwdmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24tMi8xNTQ3MDcxNzA0NDM3MjQ1L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDQ0MzcyNDUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNQMmppcHZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU0NzA3MTcwNDQzNzI0NS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0yL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDQ0MzcyNDUiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDUDJqaXB2YjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6InIwTkdyZz09IiwiZXRhZyI6IkNQMmppcHZiNGQ4Q0VBRT0ifX0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NTY4MzU4NzUwNTg2ODAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uIiwibmFtZSI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NTA1ODY4MCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozNS4wNThaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzUuMDU4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjM1LjA1OFoiLCJzaXplIjoiMTEiLCJtZDVIYXNoIjoieHdXTkZhMFZkWFBtbEF3cmxjQUpjZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24/Z2VuZXJhdGlvbj0xNTU2ODM1ODc1MDU4NjgwJmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU1NjgzNTg3NTA1ODY4MC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzUwNTg2ODAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ1BqbnVjcngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU1NjgzNTg3NTA1ODY4MC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NTA1ODY4MCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNQam51Y3J4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NTY4MzU4NzUwNTg2ODAvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzUwNTg2ODAiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1BqbnVjcngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU1NjgzNTg3NTA1ODY4MC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NTA1ODY4MCIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQam51Y3J4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoicjBOR3JnPT0iLCJldGFnIjoiQ1BqbnVjcngvZUVDRUFFPSIsImN1c3RvbWVyRW5jcnlwdGlvbiI6eyJlbmNyeXB0aW9uQWxnb3JpdGhtIjoiQUVTMjU2Iiwia2V5U2hhMjU2IjoiSCtMbW5YaFJvZUk2VE1XNWJzVjZIeVVrNnB5R2MySU1icVliQVhCY3BzMD0ifX0=" } }, { - "ID": "fda6c001727c9b1b", + "ID": "3f4d8fd0e94ca6de", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/customer-encryption-2", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -6812,77 +8232,62 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "private, max-age=0" - ], - "Content-Language": [ - "en" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "11" + "3425" ], "Content-Type": [ - "text/plain; charset=utf-8" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:24 GMT" + "Thu, 02 May 2019 22:24:35 GMT" ], "Etag": [ - "\"c7058d15ad157573e6940c2b95c00972\"" + "CPjnucrx/eECEAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:24 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:08:24 GMT" + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:08:24 GMT" - ], - "X-Goog-Generation": [ - "1547071704437245" - ], - "X-Goog-Hash": [ - "crc32c=r0NGrg==", - "md5=xwWNFa0VdXPmlAwrlcAJcg==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "11" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UqRILW00A-jgeTVWzzoFXdbsuPqiwFNtaFChrrrGP76mPUFTs1e9vCgVz-WMxq_9leEyaG0eLdbaUDLUN0JJ7evQMEdnv6sogUAXvUzpCKeoUlto-g" + "AEnB2UoO-NbHUptMgzQPx9zApWGCeqMgfkk2mt6PJl1iWbq8ocUYq_0ud8gPuj9bcBTBOBdqewKzSouddziC-BFLoOdQJ6ElkN136q5y39ZRDN4zq6UWLUs" ] }, - "Body": "dG9wIHNlY3JldC4=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NTY4MzU4NzUwNTg2ODAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uIiwibmFtZSI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NTA1ODY4MCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozNS4wNThaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzUuMDU4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjM1LjA1OFoiLCJzaXplIjoiMTEiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbj9nZW5lcmF0aW9uPTE1NTY4MzU4NzUwNTg2ODAmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTU2ODM1ODc1MDU4NjgwL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NTA1ODY4MCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUGpudWNyeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTU2ODM1ODc1MDU4NjgwL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc1MDU4NjgwIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ1BqbnVjcngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU1NjgzNTg3NTA1ODY4MC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NTA1ODY4MCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDUGpudWNyeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTU2ODM1ODc1MDU4NjgwL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc1MDU4NjgwIiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ1BqbnVjcngvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJldGFnIjoiQ1BqbnVjcngvZUVDRUFFPSIsImN1c3RvbWVyRW5jcnlwdGlvbiI6eyJlbmNyeXB0aW9uQWxnb3JpdGhtIjoiQUVTMjU2Iiwia2V5U2hhMjU2IjoiSCtMbW5YaFJvZUk2VE1XNWJzVjZIeVVrNnB5R2MySU1icVliQVhCY3BzMD0ifX0=" } }, { - "ID": "e81ca698b1fd7095", + "ID": "0355971107342253", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption/rewriteTo/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption-2?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "3" - ], "User-Agent": [ "google-api-go-client/0.5" ], @@ -6893,28 +8298,43 @@ "CLEARED" ], "X-Goog-Encryption-Key-Sha256": [ - "FnBvfQ1dDsyS8kHD+aB6HHIglDoQ5Im7WYDm3XYTGrQ=" + "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "e30K" + "" ] }, "Response": { - "StatusCode": 400, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "no-cache, no-store, max-age=0, must-revalidate" + ], "Content-Length": [ - "373" + "3482" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:25 GMT" + "Thu, 02 May 2019 22:24:35 GMT" + ], + "Etag": [ + "CPjnucrx/eECEAE=" + ], + "Expires": [ + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -6923,36 +8343,110 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uo41rTQL83n_g_lWP37rlHnRgIvkkd_mcqDbjoQpps1hMalSITnVhNCBKGizIvzT14Zs6Ue7hBd1I3wa4AO9DWPBYPTnQnghwuIF7iF-BgTaDwopj8" + "AEnB2UryZM2k28xNlFIDnXCH6SJ8RA2lDVNIx-5_eYRExB4-D1-dg_3fWvU3AREwoow4DvlYN4eyzA1AthWs5y0tYZEzvamBoZufkrXPmD64aT8kzAatns8" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlc291cmNlSXNFbmNyeXB0ZWRXaXRoQ3VzdG9tZXJFbmNyeXB0aW9uS2V5IiwibWVzc2FnZSI6IlRoZSB0YXJnZXQgb2JqZWN0IGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LiIsImV4dGVuZGVkSGVscCI6Imh0dHBzOi8vY2xvdWQuZ29vZ2xlLmNvbS9zdG9yYWdlL2RvY3MvZW5jcnlwdGlvbiNjdXN0b21lci1zdXBwbGllZF9lbmNyeXB0aW9uX2tleXMifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IlRoZSB0YXJnZXQgb2JqZWN0IGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LiJ9fQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NTY4MzU4NzUwNTg2ODAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uIiwibmFtZSI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NTA1ODY4MCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozNS4wNThaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzUuMDU4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjM1LjA1OFoiLCJzaXplIjoiMTEiLCJtZDVIYXNoIjoieHdXTkZhMFZkWFBtbEF3cmxjQUpjZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24/Z2VuZXJhdGlvbj0xNTU2ODM1ODc1MDU4NjgwJmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU1NjgzNTg3NTA1ODY4MC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzUwNTg2ODAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ1BqbnVjcngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU1NjgzNTg3NTA1ODY4MC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NTA1ODY4MCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNQam51Y3J4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NTY4MzU4NzUwNTg2ODAvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzUwNTg2ODAiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1BqbnVjcngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU1NjgzNTg3NTA1ODY4MC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NTA1ODY4MCIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQam51Y3J4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoicjBOR3JnPT0iLCJldGFnIjoiQ1BqbnVjcngvZUVDRUFFPSIsImN1c3RvbWVyRW5jcnlwdGlvbiI6eyJlbmNyeXB0aW9uQWxnb3JpdGhtIjoiQUVTMjU2Iiwia2V5U2hhMjU2IjoiSCtMbW5YaFJvZUk2VE1XNWJzVjZIeVVrNnB5R2MySU1icVliQVhCY3BzMD0ifX0=" } }, { - "ID": "58e4a3e08467d719", + "ID": "8f8c7cba5307c918", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption/rewriteTo/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption-2?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "3" + "85" ], "User-Agent": [ "google-api-go-client/0.5" + ] + }, + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiJ9Cg==" + ] + }, + "Response": { + "StatusCode": 200, + "Proto": "HTTP/1.1", + "ProtoMajor": 1, + "ProtoMinor": 1, + "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], - "X-Goog-Copy-Source-Encryption-Algorithm": [ - "AES256" + "Cache-Control": [ + "no-cache, no-store, max-age=0, must-revalidate" ], - "X-Goog-Copy-Source-Encryption-Key": [ - "CLEARED" + "Content-Length": [ + "3448" ], - "X-Goog-Copy-Source-Encryption-Key-Sha256": [ - "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" + "Content-Type": [ + "application/json; charset=UTF-8" + ], + "Date": [ + "Thu, 02 May 2019 22:24:36 GMT" + ], + "Etag": [ + "CPjnucrx/eECEAI=" + ], + "Expires": [ + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" + ], + "Server": [ + "UploadServer" + ], + "Vary": [ + "Origin", + "X-Origin" + ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], + "X-Guploader-Uploadid": [ + "AEnB2Upnljw7UWMuKFeJUJp_gu-lyfzDRVTwgInddze_9zF5waX4glKKpcRrGpe50cvS8dV_xbbKLQa-CqAMVxlEp7qIHsmTdUR1amjrq0w9U_qrn4gYwSw" + ] + }, + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NTY4MzU4NzUwNTg2ODAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uIiwibmFtZSI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NTA1ODY4MCIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozNS4wNThaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzUuOTIwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjM1LjA1OFoiLCJzaXplIjoiMTEiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbj9nZW5lcmF0aW9uPTE1NTY4MzU4NzUwNTg2ODAmYWx0PW1lZGlhIiwiY29udGVudExhbmd1YWdlIjoiZW4iLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NTY4MzU4NzUwNTg2ODAvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc1MDU4NjgwIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNQam51Y3J4L2VFQ0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NTY4MzU4NzUwNTg2ODAvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzUwNTg2ODAiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUGpudWNyeC9lRUNFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTU2ODM1ODc1MDU4NjgwL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc1MDU4NjgwIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNQam51Y3J4L2VFQ0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NTY4MzU4NzUwNTg2ODAvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzUwNTg2ODAiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDUGpudWNyeC9lRUNFQUk9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImV0YWciOiJDUGpudWNyeC9lRUNFQUk9IiwiY3VzdG9tZXJFbmNyeXB0aW9uIjp7ImVuY3J5cHRpb25BbGdvcml0aG0iOiJBRVMyNTYiLCJrZXlTaGEyNTYiOiJIK0xtblhoUm9lSTZUTVc1YnNWNkh5VWs2cHlHYzJJTWJxWWJBWEJjcHMwPSJ9fQ==" + } + }, + { + "ID": "fc766ddbbfcd9d8a", + "Request": { + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption?alt=json\u0026prettyPrint=false\u0026projection=full", + "Header": { + "Accept-Encoding": [ + "gzip" + ], + "Content-Length": [ + "85" + ], + "User-Agent": [ + "google-api-go-client/0.5" ], "X-Goog-Encryption-Algorithm": [ "AES256" @@ -6961,12 +8455,12 @@ "CLEARED" ], "X-Goog-Encryption-Key-Sha256": [ - "FnBvfQ1dDsyS8kHD+aB6HHIglDoQ5Im7WYDm3XYTGrQ=" + "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" ] }, "MediaType": "application/json", "BodyParts": [ - "e30K" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiJ9Cg==" ] }, "Response": { @@ -6975,17 +8469,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3733" + "3505" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:25 GMT" + "Thu, 02 May 2019 22:24:36 GMT" + ], + "Etag": [ + "CPjnucrx/eECEAM=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -7000,18 +8500,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Ur1nbm2huB2wWvFAwWHLXo_esd_MWqfZ-uUeUcJlQGHuEkli2Sd7jB7dyvOctGwRu-XcUGmPX8ChXeUoB_K6G03GTRsjl7--nb462jCDq9JJujYwwc" + "AEnB2UqlTuEeQHkdcuHKu_aWtuYjopXaORKyG9TF597i1ybzIPgJHE_oiKH-xYwG_D2txhF_Sv6Jzfy44Dfga1bINCpPLseDEeD_Ez4rvxx8baTX1uJ7lJo" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiMTEiLCJvYmplY3RTaXplIjoiMTEiLCJkb25lIjp0cnVlLCJyZXNvdXJjZSI6eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU0NzA3MTcwNTQ4NjMzMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMiIsIm5hbWUiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwNTQ4NjMzMSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyNS40ODZaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjUuNDg2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjI1LjQ4NloiLCJzaXplIjoiMTEiLCJtZDVIYXNoIjoieHdXTkZhMFZkWFBtbEF3cmxjQUpjZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMj9nZW5lcmF0aW9uPTE1NDcwNzE3MDU0ODYzMzEmYWx0PW1lZGlhIiwiY29udGVudExhbmd1YWdlIjoiZW4iLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU0NzA3MTcwNTQ4NjMzMS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwNTQ4NjMzMSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ1B1bnlwdmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24tMi8xNTQ3MDcxNzA1NDg2MzMxL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDU0ODYzMzEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ1B1bnlwdmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24tMi8xNTQ3MDcxNzA1NDg2MzMxL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDU0ODYzMzEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNQdW55cHZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU0NzA3MTcwNTQ4NjMzMS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0yL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDU0ODYzMzEiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDUHVueXB2YjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6InIwTkdyZz09IiwiZXRhZyI6IkNQdW55cHZiNGQ4Q0VBRT0iLCJjdXN0b21lckVuY3J5cHRpb24iOnsiZW5jcnlwdGlvbkFsZ29yaXRobSI6IkFFUzI1NiIsImtleVNoYTI1NiI6IkZuQnZmUTFkRHN5UzhrSEQrYUI2SEhJZ2xEb1E1SW03V1lEbTNYWVRHclE9In19fQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NTY4MzU4NzUwNTg2ODAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uIiwibmFtZSI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NTA1ODY4MCIsIm1ldGFnZW5lcmF0aW9uIjoiMyIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozNS4wNThaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzYuMjI1WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjM1LjA1OFoiLCJzaXplIjoiMTEiLCJtZDVIYXNoIjoieHdXTkZhMFZkWFBtbEF3cmxjQUpjZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24/Z2VuZXJhdGlvbj0xNTU2ODM1ODc1MDU4NjgwJmFsdD1tZWRpYSIsImNvbnRlbnRMYW5ndWFnZSI6ImVuIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTU2ODM1ODc1MDU4NjgwL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NTA1ODY4MCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUGpudWNyeC9lRUNFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTU2ODM1ODc1MDU4NjgwL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc1MDU4NjgwIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ1BqbnVjcngvZUVDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU1NjgzNTg3NTA1ODY4MC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NTA1ODY4MCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDUGpudWNyeC9lRUNFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTU2ODM1ODc1MDU4NjgwL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc1MDU4NjgwIiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ1BqbnVjcngvZUVDRUFNPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJyME5Hcmc9PSIsImV0YWciOiJDUGpudWNyeC9lRUNFQU09IiwiY3VzdG9tZXJFbmNyeXB0aW9uIjp7ImVuY3J5cHRpb25BbGdvcml0aG0iOiJBRVMyNTYiLCJrZXlTaGEyNTYiOiJIK0xtblhoUm9lSTZUTVc1YnNWNkh5VWs2cHlHYzJJTWJxWWJBWEJjcHMwPSJ9fQ==" } }, { - "ID": "8932535ff934d923", + "ID": "fb1e502029272329", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/customer-encryption-2", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/customer-encryption", "Header": { "Accept-Encoding": [ "gzip" @@ -7021,7 +8530,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 400, @@ -7029,6 +8540,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0" ], @@ -7039,26 +8553,35 @@ "application/xml; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:25 GMT" + "Thu, 02 May 2019 22:24:36 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:25 GMT" + "Thu, 02 May 2019 22:24:36 GMT" ], "Server": [ "UploadServer" ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UpdbrBs8p1-0WM7Qlpkv5XvASBohN1__wI5RNYzftIglSlFOk1vTsNz4I_GdYyYpbyorMTPobLYK5VqGnSggsawaHv4V-wPRcLYk0_4aP3cqIzOTD8" + "AEnB2Urm5pF1ghApp-RiVg_TAipd-LdTbF-hcDPcVRYbmj7KUIQxnsMUF5WOcrMA1t7ZltdvPZhyfsELISuH6DGJlUUedaCNH-B5j580GjBYLUKCwmAADeM" ] }, "Body": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48RXJyb3I+PENvZGU+UmVzb3VyY2VJc0VuY3J5cHRlZFdpdGhDdXN0b21lckVuY3J5cHRpb25LZXk8L0NvZGU+PE1lc3NhZ2U+VGhlIHJlc291cmNlIGlzIGVuY3J5cHRlZCB3aXRoIGEgY3VzdG9tZXIgZW5jcnlwdGlvbiBrZXkuPC9NZXNzYWdlPjxEZXRhaWxzPlRoZSByZXF1ZXN0ZWQgb2JqZWN0IGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LjwvRGV0YWlscz48L0Vycm9yPg==" } }, { - "ID": "3e862c74b25a76d3", + "ID": "c151ba4fab0c6499", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/customer-encryption-2", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/customer-encryption", "Header": { "Accept-Encoding": [ "gzip" @@ -7073,11 +8596,13 @@ "CLEARED" ], "X-Goog-Encryption-Key-Sha256": [ - "FnBvfQ1dDsyS8kHD+aB6HHIglDoQ5Im7WYDm3XYTGrQ=" + "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -7088,6 +8613,9 @@ "Accept-Ranges": [ "bytes" ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -7101,16 +8629,16 @@ "text/plain; charset=utf-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:25 GMT" + "Thu, 02 May 2019 22:24:36 GMT" ], "Etag": [ - "\"-CPunypvb4d8CEAE=\"" + "\"-CPjnucrx/eECEAM=\"" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" ], "Last-Modified": [ - "Wed, 09 Jan 2019 22:08:25 GMT" + "Thu, 02 May 2019 22:24:35 GMT" ], "Pragma": [ "no-cache" @@ -7122,20 +8650,20 @@ "AES256" ], "X-Goog-Encryption-Key-Sha256": [ - "FnBvfQ1dDsyS8kHD+aB6HHIglDoQ5Im7WYDm3XYTGrQ=" + "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" ], "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:08:25 GMT" + "Sat, 01 Jun 2019 22:24:35 GMT" ], "X-Goog-Generation": [ - "1547071705486331" + "1556835875058680" ], "X-Goog-Hash": [ "crc32c=r0NGrg==", "md5=xwWNFa0VdXPmlAwrlcAJcg==" ], "X-Goog-Metageneration": [ - "1" + "3" ], "X-Goog-Storage-Class": [ "STANDARD" @@ -7146,18 +8674,27 @@ "X-Goog-Stored-Content-Length": [ "11" ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpuY0BWhLzWsPPJAbC_Ekeqi26cEDwWc1QzRXpIs_odY48zCWJHV0W7uUB1lFQCFHZxkkA_-nDJTKmhvZiv_QqC_1B0GDz589Q9Qkv9lfnvOhuRm08" + "AEnB2Ur68mIGQ8VAtTRZs4F6ixZZYKcqe1oTqWHWqmp7gNF-81XKf2xX6eS4PcegbKx7bYnb4i6dzTCoLlbaJRNHwwLVzNbYMkGNy_bTHbWYTgtlBSKVtWs" ] }, "Body": "dG9wIHNlY3JldC4=" } }, { - "ID": "fcfe7ed7906a012c", + "ID": "e09c6326cc60ad82", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption-2/rewriteTo/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption-2?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption/rewriteTo/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption-2?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -7167,24 +8704,6 @@ ], "User-Agent": [ "google-api-go-client/0.5" - ], - "X-Goog-Copy-Source-Encryption-Algorithm": [ - "AES256" - ], - "X-Goog-Copy-Source-Encryption-Key": [ - "CLEARED" - ], - "X-Goog-Copy-Source-Encryption-Key-Sha256": [ - "FnBvfQ1dDsyS8kHD+aB6HHIglDoQ5Im7WYDm3XYTGrQ=" - ], - "X-Goog-Encryption-Algorithm": [ - "AES256" - ], - "X-Goog-Encryption-Key": [ - "CLEARED" - ], - "X-Goog-Encryption-Key-Sha256": [ - "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" ] }, "MediaType": "application/json", @@ -7193,28 +8712,22 @@ ] }, "Response": { - "StatusCode": 200, + "StatusCode": 400, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "3733" + "12563" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:26 GMT" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:36 GMT" ], "Server": [ "UploadServer" @@ -7223,48 +8736,78 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UoV_mXbz8-ZWK_o9M4HEW9CF0nzmW8JB-9Df97RJsXCqcRYMZ0nLP3_J2RlR_dh-1qGwN2HpyJ0af6hzbDD46mNRLAGGgvV3KqAyMIMUBzlLMOFgsw" + "AEnB2UqldLQvGKuu2fihIdwh7CvU7W0yE3vUXu8jqefTPSMhlGgvR1EfeYFqjk_Zxj7fEpv7AjugvHnn1DmkJxJWhrZyM8b5gS4uJID92D_018h2YHH1r30" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiMTEiLCJvYmplY3RTaXplIjoiMTEiLCJkb25lIjp0cnVlLCJyZXNvdXJjZSI6eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU0NzA3MTcwNjg2MTgzOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMiIsIm5hbWUiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwNjg2MTgzOCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyNi44NjFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjYuODYxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjI2Ljg2MVoiLCJzaXplIjoiMTEiLCJtZDVIYXNoIjoieHdXTkZhMFZkWFBtbEF3cmxjQUpjZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMj9nZW5lcmF0aW9uPTE1NDcwNzE3MDY4NjE4MzgmYWx0PW1lZGlhIiwiY29udGVudExhbmd1YWdlIjoiZW4iLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU0NzA3MTcwNjg2MTgzOC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwNjg2MTgzOCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0k2aW5wemI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24tMi8xNTQ3MDcxNzA2ODYxODM4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDY4NjE4MzgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0k2aW5wemI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24tMi8xNTQ3MDcxNzA2ODYxODM4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDY4NjE4MzgiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNJNmlucHpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU0NzA3MTcwNjg2MTgzOC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0yL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDY4NjE4MzgiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSTZpbnB6YjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6InIwTkdyZz09IiwiZXRhZyI6IkNJNmlucHpiNGQ4Q0VBRT0iLCJjdXN0b21lckVuY3J5cHRpb24iOnsiZW5jcnlwdGlvbkFsZ29yaXRobSI6IkFFUzI1NiIsImtleVNoYTI1NiI6IkgrTG1uWGhSb2VJNlRNVzVic1Y2SHlVazZweUdjMklNYnFZYkFYQmNwczA9In19fQ==" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlc291cmNlSXNFbmNyeXB0ZWRXaXRoQ3VzdG9tZXJFbmNyeXB0aW9uS2V5IiwibWVzc2FnZSI6IlRoZSB0YXJnZXQgb2JqZWN0IGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LiIsImV4dGVuZGVkSGVscCI6Imh0dHBzOi8vY2xvdWQuZ29vZ2xlLmNvbS9zdG9yYWdlL2RvY3MvZW5jcnlwdGlvbiNjdXN0b21lci1zdXBwbGllZF9lbmNyeXB0aW9uX2tleXMiLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6UkVTT1VSQ0VfSVNfRU5DUllQVEVEX1dJVEhfQ1VTVE9NRVJfRU5DUllQVElPTl9LRVlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuUmV3cml0ZU9iamVjdC5yZXdyaXRlKFJld3JpdGVPYmplY3QuamF2YToyMDApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXdyaXRlT2JqZWN0LmphdmE6MTkzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuUmV3cml0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmV3cml0ZU9iamVjdC5qYXZhOjQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLnJld3JpdGUoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjEyMSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE4IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUlOVkFMSURfVkFMVUUsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6UkVTT1VSQ0VfSVNfRU5DUllQVEVEX1dJVEhfQ1VTVE9NRVJfRU5DUllQVElPTl9LRVlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuUmV3cml0ZU9iamVjdC5yZXdyaXRlKFJld3JpdGVPYmplY3QuamF2YToyMDApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXdyaXRlT2JqZWN0LmphdmE6MTkzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuUmV3cml0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmV3cml0ZU9iamVjdC5qYXZhOjQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLnJld3JpdGUoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjEyMSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE4IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPWh0dHBzOi8vY2xvdWQuZ29vZ2xlLmNvbS9zdG9yYWdlL2RvY3MvZW5jcnlwdGlvbiNjdXN0b21lci1zdXBwbGllZF9lbmNyeXB0aW9uX2tleXMsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWJhZFJlcXVlc3QsIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Y2xvdWQuYmlnc3RvcmUuYXBpLkJpZ3N0b3JlRXJyb3JEb21haW4uUkVTT1VSQ0VfSVNfRU5DUllQVEVEX1dJVEhfQ1VTVE9NRVJfRU5DUllQVElPTl9LRVksIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpSRVNPVVJDRV9JU19FTkNSWVBURURfV0lUSF9DVVNUT01FUl9FTkNSWVBUSU9OX0tFWVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LnJld3JpdGUoUmV3cml0ZU9iamVjdC5qYXZhOjIwMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlJld3JpdGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJld3JpdGVPYmplY3QuamF2YToxOTMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXdyaXRlT2JqZWN0LmphdmE6NDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IucmV3cml0ZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTIxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTggbW9yZVxuLCBlcnJvclByb3RvQ29kZT1SRVNPVVJDRV9JU19FTkNSWVBURURfV0lUSF9DVVNUT01FUl9FTkNSWVBUSU9OX0tFWSwgZXJyb3JQcm90b0RvbWFpbj1jbG91ZC5iaWdzdG9yZS5hcGkuQmlnc3RvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9VGhlIHJlcXVlc3RlZCBvYmplY3QgaXMgZW5jcnlwdGVkIGJ5IGEgY3VzdG9tZXItc3VwcGxpZWQgZW5jcnlwdGlvbiBrZXkuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1UaGUgdGFyZ2V0IG9iamVjdCBpcyBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS4sIHJlYXNvbj1yZXNvdXJjZUlzRW5jcnlwdGVkV2l0aEN1c3RvbWVyRW5jcnlwdGlvbktleSwgcnBjQ29kZT00MDB9IFRoZSB0YXJnZXQgb2JqZWN0IGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlJFU09VUkNFX0lTX0VOQ1JZUFRFRF9XSVRIX0NVU1RPTUVSX0VOQ1JZUFRJT05fS0VZXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlJld3JpdGVPYmplY3QucmV3cml0ZShSZXdyaXRlT2JqZWN0LmphdmE6MjAwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuUmV3cml0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmV3cml0ZU9iamVjdC5qYXZhOjE5Mylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlJld3JpdGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJld3JpdGVPYmplY3QuamF2YTo0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5yZXdyaXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMjEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxOCBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJUaGUgdGFyZ2V0IG9iamVjdCBpcyBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS4ifX0=" } }, { - "ID": "60658064d0c1ff2a", + "ID": "6c83b36cc6fc482c", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption-3/compose?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption/rewriteTo/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption-2?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "160" + "3" ], "User-Agent": [ "google-api-go-client/0.5" + ], + "X-Goog-Copy-Source-Encryption-Algorithm": [ + "AES256" + ], + "X-Goog-Copy-Source-Encryption-Key": [ + "CLEARED" + ], + "X-Goog-Copy-Source-Encryption-Key-Sha256": [ + "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" ] }, "MediaType": "application/json", "BodyParts": [ - "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6ImN1c3RvbWVyLWVuY3J5cHRpb24ifSx7Im5hbWUiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIifV19Cg==" + "e30K" ] }, "Response": { - "StatusCode": 400, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "no-cache, no-store, max-age=0, must-revalidate" + ], "Content-Length": [ - "373" + "3527" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:27 GMT" + "Thu, 02 May 2019 22:24:37 GMT" + ], + "Expires": [ + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -7273,24 +8816,128 @@ "Origin", "X-Origin" ], - "X-Guploader-Uploadid": [ - "AEnB2UqObwpnF5tIrzL5HgZyXlVpCBtZ_bbWRUGB5qyqFzy8wIsCM3DSGVog9ipnMzLpykwdEh6s5EEbba6wGaX4tLq2E38mMa9ZAuqyc3wnNa0nF4fSAa4" - ] + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], + "X-Guploader-Uploadid": [ + "AEnB2UqGOUzu40Jq-_GztkQxoFN64MHcSoZjph7ivV8tqrp6ENxFIB0c82xqEdKKfcpqbJ2YXtXQgwflZgX-uiVOgGY_1c8SLoV7geQMfErTz1Q0NDM4YDM" + ] + }, + "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiMTEiLCJvYmplY3RTaXplIjoiMTEiLCJkb25lIjp0cnVlLCJyZXNvdXJjZSI6eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU1NjgzNTg3NzEwODYxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMiIsIm5hbWUiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NzEwODYxNCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozNy4xMDhaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzcuMTA4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjM3LjEwOFoiLCJzaXplIjoiMTEiLCJtZDVIYXNoIjoieHdXTkZhMFZkWFBtbEF3cmxjQUpjZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMj9nZW5lcmF0aW9uPTE1NTY4MzU4NzcxMDg2MTQmYWx0PW1lZGlhIiwiY29udGVudExhbmd1YWdlIjoiZW4iLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU1NjgzNTg3NzEwODYxNC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uLTIvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc3MTA4NjE0IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNJYjN0c3Z4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU1NjgzNTg3NzEwODYxNC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0yL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzcxMDg2MTQiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSWIzdHN2eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi0yLzE1NTY4MzU4NzcxMDg2MTQvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc3MTA4NjE0IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNJYjN0c3Z4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU1NjgzNTg3NzEwODYxNC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0yL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzcxMDg2MTQiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSWIzdHN2eC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6InIwTkdyZz09IiwiZXRhZyI6IkNJYjN0c3Z4L2VFQ0VBRT0ifX0=" + } + }, + { + "ID": "e499f3b7077fb222", + "Request": { + "Method": "GET", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/customer-encryption-2", + "Header": { + "Accept-Encoding": [ + "gzip" + ], + "User-Agent": [ + "Go-http-client/1.1" + ] + }, + "MediaType": "", + "BodyParts": [ + "" + ] + }, + "Response": { + "StatusCode": 200, + "Proto": "HTTP/1.1", + "ProtoMajor": 1, + "ProtoMinor": 1, + "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "private, max-age=0" + ], + "Content-Language": [ + "en" + ], + "Content-Length": [ + "11" + ], + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Date": [ + "Thu, 02 May 2019 22:24:37 GMT" + ], + "Etag": [ + "\"c7058d15ad157573e6940c2b95c00972\"" + ], + "Expires": [ + "Thu, 02 May 2019 22:24:37 GMT" + ], + "Last-Modified": [ + "Thu, 02 May 2019 22:24:37 GMT" + ], + "Server": [ + "UploadServer" + ], + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:24:37 GMT" + ], + "X-Goog-Generation": [ + "1556835877108614" + ], + "X-Goog-Hash": [ + "crc32c=r0NGrg==", + "md5=xwWNFa0VdXPmlAwrlcAJcg==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "11" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], + "X-Guploader-Uploadid": [ + "AEnB2UpfEf1WUM8E5dSmOe1sOfgheagnlrcFUolvMMBiP6jDvPqoS7Sx0IwklM-DwnuAbBJPQ_EHhX-42njQu9vUjXqamH1U6np0Vmi0BngqFYOTc9MVP3M" + ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlc291cmNlSXNFbmNyeXB0ZWRXaXRoQ3VzdG9tZXJFbmNyeXB0aW9uS2V5IiwibWVzc2FnZSI6IlRoZSB0YXJnZXQgb2JqZWN0IGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LiIsImV4dGVuZGVkSGVscCI6Imh0dHBzOi8vY2xvdWQuZ29vZ2xlLmNvbS9zdG9yYWdlL2RvY3MvZW5jcnlwdGlvbiNjdXN0b21lci1zdXBwbGllZF9lbmNyeXB0aW9uX2tleXMifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IlRoZSB0YXJnZXQgb2JqZWN0IGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LiJ9fQ==" + "Body": "dG9wIHNlY3JldC4=" } }, { - "ID": "68772f67bf040661", + "ID": "9e67dfa901c4e619", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption-3/compose?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption/rewriteTo/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption-2?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "160" + "3" ], "User-Agent": [ "google-api-go-client/0.5" @@ -7302,12 +8949,92 @@ "CLEARED" ], "X-Goog-Encryption-Key-Sha256": [ + "FnBvfQ1dDsyS8kHD+aB6HHIglDoQ5Im7WYDm3XYTGrQ=" + ] + }, + "MediaType": "application/json", + "BodyParts": [ + "e30K" + ] + }, + "Response": { + "StatusCode": 400, + "Proto": "HTTP/1.1", + "ProtoMajor": 1, + "ProtoMinor": 1, + "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Content-Length": [ + "12563" + ], + "Content-Type": [ + "application/json; charset=UTF-8" + ], + "Date": [ + "Thu, 02 May 2019 22:24:37 GMT" + ], + "Server": [ + "UploadServer" + ], + "Vary": [ + "Origin", + "X-Origin" + ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], + "X-Guploader-Uploadid": [ + "AEnB2UoYPZ-j39Sr1Whn6F3PYeVaxqIIjS_fBgSNkBO7f7B8RMWih6iCCLf1cPDXB3Br-0XBkdm6i9N9fGeK84_laVYWuJc0uJwSCXydk0bSWezw0qec5yE" + ] + }, + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlc291cmNlSXNFbmNyeXB0ZWRXaXRoQ3VzdG9tZXJFbmNyeXB0aW9uS2V5IiwibWVzc2FnZSI6IlRoZSB0YXJnZXQgb2JqZWN0IGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LiIsImV4dGVuZGVkSGVscCI6Imh0dHBzOi8vY2xvdWQuZ29vZ2xlLmNvbS9zdG9yYWdlL2RvY3MvZW5jcnlwdGlvbiNjdXN0b21lci1zdXBwbGllZF9lbmNyeXB0aW9uX2tleXMiLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6UkVTT1VSQ0VfSVNfRU5DUllQVEVEX1dJVEhfQ1VTVE9NRVJfRU5DUllQVElPTl9LRVlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuUmV3cml0ZU9iamVjdC5yZXdyaXRlKFJld3JpdGVPYmplY3QuamF2YToyMDApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXdyaXRlT2JqZWN0LmphdmE6MTkzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuUmV3cml0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmV3cml0ZU9iamVjdC5qYXZhOjQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLnJld3JpdGUoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjEyMSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE4IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUlOVkFMSURfVkFMVUUsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6UkVTT1VSQ0VfSVNfRU5DUllQVEVEX1dJVEhfQ1VTVE9NRVJfRU5DUllQVElPTl9LRVlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuUmV3cml0ZU9iamVjdC5yZXdyaXRlKFJld3JpdGVPYmplY3QuamF2YToyMDApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXdyaXRlT2JqZWN0LmphdmE6MTkzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuUmV3cml0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmV3cml0ZU9iamVjdC5qYXZhOjQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLnJld3JpdGUoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjEyMSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE4IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPWh0dHBzOi8vY2xvdWQuZ29vZ2xlLmNvbS9zdG9yYWdlL2RvY3MvZW5jcnlwdGlvbiNjdXN0b21lci1zdXBwbGllZF9lbmNyeXB0aW9uX2tleXMsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWJhZFJlcXVlc3QsIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Y2xvdWQuYmlnc3RvcmUuYXBpLkJpZ3N0b3JlRXJyb3JEb21haW4uUkVTT1VSQ0VfSVNfRU5DUllQVEVEX1dJVEhfQ1VTVE9NRVJfRU5DUllQVElPTl9LRVksIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpSRVNPVVJDRV9JU19FTkNSWVBURURfV0lUSF9DVVNUT01FUl9FTkNSWVBUSU9OX0tFWVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LnJld3JpdGUoUmV3cml0ZU9iamVjdC5qYXZhOjIwMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlJld3JpdGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJld3JpdGVPYmplY3QuamF2YToxOTMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXdyaXRlT2JqZWN0LmphdmE6NDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IucmV3cml0ZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTIxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTggbW9yZVxuLCBlcnJvclByb3RvQ29kZT1SRVNPVVJDRV9JU19FTkNSWVBURURfV0lUSF9DVVNUT01FUl9FTkNSWVBUSU9OX0tFWSwgZXJyb3JQcm90b0RvbWFpbj1jbG91ZC5iaWdzdG9yZS5hcGkuQmlnc3RvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9VGhlIHJlcXVlc3RlZCBvYmplY3QgaXMgZW5jcnlwdGVkIGJ5IGEgY3VzdG9tZXItc3VwcGxpZWQgZW5jcnlwdGlvbiBrZXkuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1UaGUgdGFyZ2V0IG9iamVjdCBpcyBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS4sIHJlYXNvbj1yZXNvdXJjZUlzRW5jcnlwdGVkV2l0aEN1c3RvbWVyRW5jcnlwdGlvbktleSwgcnBjQ29kZT00MDB9IFRoZSB0YXJnZXQgb2JqZWN0IGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlJFU09VUkNFX0lTX0VOQ1JZUFRFRF9XSVRIX0NVU1RPTUVSX0VOQ1JZUFRJT05fS0VZXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlJld3JpdGVPYmplY3QucmV3cml0ZShSZXdyaXRlT2JqZWN0LmphdmE6MjAwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuUmV3cml0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmV3cml0ZU9iamVjdC5qYXZhOjE5Mylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlJld3JpdGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJld3JpdGVPYmplY3QuamF2YTo0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5yZXdyaXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMjEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxOCBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJUaGUgdGFyZ2V0IG9iamVjdCBpcyBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS4ifX0=" + } + }, + { + "ID": "670f74ac2a0b734e", + "Request": { + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption/rewriteTo/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption-2?alt=json\u0026prettyPrint=false\u0026projection=full", + "Header": { + "Accept-Encoding": [ + "gzip" + ], + "Content-Length": [ + "3" + ], + "User-Agent": [ + "google-api-go-client/0.5" + ], + "X-Goog-Copy-Source-Encryption-Algorithm": [ + "AES256" + ], + "X-Goog-Copy-Source-Encryption-Key": [ + "CLEARED" + ], + "X-Goog-Copy-Source-Encryption-Key-Sha256": [ "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" + ], + "X-Goog-Encryption-Algorithm": [ + "AES256" + ], + "X-Goog-Encryption-Key": [ + "CLEARED" + ], + "X-Goog-Encryption-Key-Sha256": [ + "FnBvfQ1dDsyS8kHD+aB6HHIglDoQ5Im7WYDm3XYTGrQ=" ] }, "MediaType": "application/json", "BodyParts": [ - "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6ImN1c3RvbWVyLWVuY3J5cHRpb24ifSx7Im5hbWUiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIifV19Cg==" + "e30K" ] }, "Response": { @@ -7316,20 +9043,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "911" + "3640" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:28 GMT" - ], - "Etag": [ - "CK3F1pzb4d8CEAE=" + "Thu, 02 May 2019 22:24:38 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -7344,18 +9071,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoxOFTNyh23ZugwEQ__Qb_uyFD7bRsHndH2qRSDP703dDzp4sJL9inXYTMdnutJ0WK9oqNYesAs9CfZAOfF2nUkPaAl2OGCX8UY3OF_aXVmJxYyZqo" + "AEnB2UoWwxnT2DHS1ymBhZJmnwxQiajAVYbOH62dyhX86syLNW_TlPnzYaM_7kACpN8ar5EeAHQ9fsMSHP4CqMcb6ZWg5KY3OkbPvfitdLalAA9MXxMFqoo" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTMvMTU0NzA3MTcwNzc4Mzg1MyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMyIsIm5hbWUiOiJjdXN0b21lci1lbmNyeXB0aW9uLTMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwNzc4Mzg1MyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyNy43ODNaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjcuNzgzWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjI3Ljc4M1oiLCJzaXplIjoiMjIiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0zP2dlbmVyYXRpb249MTU0NzA3MTcwNzc4Mzg1MyZhbHQ9bWVkaWEiLCJjcmMzMmMiOiI1ajF5cGc9PSIsImNvbXBvbmVudENvdW50IjoyLCJldGFnIjoiQ0szRjFwemI0ZDhDRUFFPSIsImN1c3RvbWVyRW5jcnlwdGlvbiI6eyJlbmNyeXB0aW9uQWxnb3JpdGhtIjoiQUVTMjU2Iiwia2V5U2hhMjU2IjoiSCtMbW5YaFJvZUk2VE1XNWJzVjZIeVVrNnB5R2MySU1icVliQVhCY3BzMD0ifX0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiMTEiLCJvYmplY3RTaXplIjoiMTEiLCJkb25lIjp0cnVlLCJyZXNvdXJjZSI6eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU1NjgzNTg3ODE4MzI1MSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMiIsIm5hbWUiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3ODE4MzI1MSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozOC4xODJaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzguMTgyWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjM4LjE4MloiLCJzaXplIjoiMTEiLCJtZDVIYXNoIjoieHdXTkZhMFZkWFBtbEF3cmxjQUpjZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMj9nZW5lcmF0aW9uPTE1NTY4MzU4NzgxODMyNTEmYWx0PW1lZGlhIiwiY29udGVudExhbmd1YWdlIjoiZW4iLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU1NjgzNTg3ODE4MzI1MS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uLTIvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc4MTgzMjUxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNOUEMrTXZ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU1NjgzNTg3ODE4MzI1MS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0yL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzgxODMyNTEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTlBDK012eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi0yLzE1NTY4MzU4NzgxODMyNTEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc4MTgzMjUxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNOUEMrTXZ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU1NjgzNTg3ODE4MzI1MS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0yL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzgxODMyNTEiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTlBDK012eC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6InIwTkdyZz09IiwiZXRhZyI6IkNOUEMrTXZ4L2VFQ0VBRT0iLCJjdXN0b21lckVuY3J5cHRpb24iOnsiZW5jcnlwdGlvbkFsZ29yaXRobSI6IkFFUzI1NiIsImtleVNoYTI1NiI6IkZuQnZmUTFkRHN5UzhrSEQrYUI2SEhJZ2xEb1E1SW03V1lEbTNYWVRHclE9In19fQ==" } }, { - "ID": "04faa41f743f22b2", + "ID": "9c6e7ad2d8e2c68a", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/customer-encryption-3", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/customer-encryption-2", "Header": { "Accept-Encoding": [ "gzip" @@ -7365,7 +9101,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 400, @@ -7373,6 +9111,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0" ], @@ -7383,26 +9124,35 @@ "application/xml; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:28 GMT" + "Thu, 02 May 2019 22:24:38 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:28 GMT" + "Thu, 02 May 2019 22:24:38 GMT" ], "Server": [ "UploadServer" ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UqwhCs4wnSs0QDJUP9iLZCOR1UCk0dwOoaNJ_VRszlRopNnOkC7xHGE9cH99P4lqendPbq4ZmT9I8qo8k0bev4tl_1HaxH_tdECnJi1H6T1xfOImKU" + "AEnB2UoSrQtDkljyQ-aUJoC8m6nY20wZiHLTwh4znEZ5hyKxLQUrZIi7PnU416twfTwfPXWvd4cPGZC3NVdpJWg332KnUKSEdFPY2BQwLJ-_9S5eVdwMrf8" ] }, "Body": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48RXJyb3I+PENvZGU+UmVzb3VyY2VJc0VuY3J5cHRlZFdpdGhDdXN0b21lckVuY3J5cHRpb25LZXk8L0NvZGU+PE1lc3NhZ2U+VGhlIHJlc291cmNlIGlzIGVuY3J5cHRlZCB3aXRoIGEgY3VzdG9tZXIgZW5jcnlwdGlvbiBrZXkuPC9NZXNzYWdlPjxEZXRhaWxzPlRoZSByZXF1ZXN0ZWQgb2JqZWN0IGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LjwvRGV0YWlscz48L0Vycm9yPg==" } }, { - "ID": "7b7268e4f9601d1b", + "ID": "b5fbec9f26148f95", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/customer-encryption-3", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/customer-encryption-2", "Header": { "Accept-Encoding": [ "gzip" @@ -7417,11 +9167,13 @@ "CLEARED" ], "X-Goog-Encryption-Key-Sha256": [ - "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" + "FnBvfQ1dDsyS8kHD+aB6HHIglDoQ5Im7WYDm3XYTGrQ=" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -7432,26 +9184,32 @@ "Accept-Ranges": [ "bytes" ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], + "Content-Language": [ + "en" + ], "Content-Length": [ - "22" + "11" ], "Content-Type": [ - "application/octet-stream" + "text/plain; charset=utf-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:28 GMT" + "Thu, 02 May 2019 22:24:38 GMT" ], "Etag": [ - "\"-CK3F1pzb4d8CEAE=\"" + "\"-CNPC+Mvx/eECEAE=\"" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" ], "Last-Modified": [ - "Wed, 09 Jan 2019 22:08:27 GMT" + "Thu, 02 May 2019 22:24:38 GMT" ], "Pragma": [ "no-cache" @@ -7459,23 +9217,21 @@ "Server": [ "UploadServer" ], - "X-Goog-Component-Count": [ - "2" - ], "X-Goog-Encryption-Algorithm": [ "AES256" ], "X-Goog-Encryption-Key-Sha256": [ - "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" + "FnBvfQ1dDsyS8kHD+aB6HHIglDoQ5Im7WYDm3XYTGrQ=" ], "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:08:27 GMT" + "Sat, 01 Jun 2019 22:24:38 GMT" ], "X-Goog-Generation": [ - "1547071707783853" + "1556835878183251" ], "X-Goog-Hash": [ - "crc32c=5j1ypg==" + "crc32c=r0NGrg==", + "md5=xwWNFa0VdXPmlAwrlcAJcg==" ], "X-Goog-Metageneration": [ "1" @@ -7487,20 +9243,29 @@ "identity" ], "X-Goog-Stored-Content-Length": [ - "22" + "11" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2Uo9fe4XA60csFrfd4tY-Pdf5ZouYVLfWMCwgzrXIkVjDcWCkzXEfBzE4WM4wbicD4F5K78VrZN6tEMAU8yKFt6m-PGEY3iIpSonXtEwrMjmA7R98o4" + "AEnB2UpTr8Qws5nL-el_ied6M7FYtryiLpFfhGNN-TxakIl1FCAOBJwMeq6_KBQ0l4UmT8VePQQ9h_S8r55NolBB1Ex12-iKvooCkTsNmvQ4rE4hOqQGbLc" ] }, - "Body": "dG9wIHNlY3JldC50b3Agc2VjcmV0Lg==" + "Body": "dG9wIHNlY3JldC4=" } }, { - "ID": "3ae2664ed958d329", + "ID": "616de25561ebbffa", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption-2/rewriteTo/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption-2?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption-2/rewriteTo/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption-2?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -7518,6 +9283,15 @@ "CLEARED" ], "X-Goog-Copy-Source-Encryption-Key-Sha256": [ + "FnBvfQ1dDsyS8kHD+aB6HHIglDoQ5Im7WYDm3XYTGrQ=" + ], + "X-Goog-Encryption-Algorithm": [ + "AES256" + ], + "X-Goog-Encryption-Key": [ + "CLEARED" + ], + "X-Goog-Encryption-Key-Sha256": [ "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" ] }, @@ -7532,17 +9306,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3620" + "3640" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:29 GMT" + "Thu, 02 May 2019 22:24:39 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -7557,41 +9334,41 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UodmUk0mTv9VqwEwM1o60or1B7r7tpozLacs5kZcCCpAIoeKqXlo9UKTBAnClMWZ3orXDbLKcuSlPFtQ0D61xEC6HtLWG8hRMrDy5j2gm6QTgbNtHo" + "AEnB2UqyD8XYw6tgOBbcxdUIVAw_vXrrryw0bgh-L-jRW0hyJt0lCHU9K26isn6tykgml7UgX52dgw65xD_ht4yxbHkY_VFl6MkEY6H-mWRx0_52xj49RW8" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiMTEiLCJvYmplY3RTaXplIjoiMTEiLCJkb25lIjp0cnVlLCJyZXNvdXJjZSI6eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU0NzA3MTcwOTIyNzY4MSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMiIsIm5hbWUiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwOTIyNzY4MSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyOS4yMjdaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjkuMjI3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjI5LjIyN1oiLCJzaXplIjoiMTEiLCJtZDVIYXNoIjoieHdXTkZhMFZkWFBtbEF3cmxjQUpjZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMj9nZW5lcmF0aW9uPTE1NDcwNzE3MDkyMjc2ODEmYWx0PW1lZGlhIiwiY29udGVudExhbmd1YWdlIjoiZW4iLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU0NzA3MTcwOTIyNzY4MS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwOTIyNzY4MSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0tIVnJwM2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24tMi8xNTQ3MDcxNzA5MjI3NjgxL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDkyMjc2ODEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0tIVnJwM2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24tMi8xNTQ3MDcxNzA5MjI3NjgxL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDkyMjc2ODEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNLSFZycDNiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU0NzA3MTcwOTIyNzY4MS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0yL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDkyMjc2ODEiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDS0hWcnAzYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6InIwTkdyZz09IiwiZXRhZyI6IkNLSFZycDNiNGQ4Q0VBRT0ifX0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiMTEiLCJvYmplY3RTaXplIjoiMTEiLCJkb25lIjp0cnVlLCJyZXNvdXJjZSI6eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU1NjgzNTg3ODk5ODUxMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMiIsIm5hbWUiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3ODk5ODUxMSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozOC45OThaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzguOTk4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjM4Ljk5OFoiLCJzaXplIjoiMTEiLCJtZDVIYXNoIjoieHdXTkZhMFZkWFBtbEF3cmxjQUpjZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMj9nZW5lcmF0aW9uPTE1NTY4MzU4Nzg5OTg1MTEmYWx0PW1lZGlhIiwiY29udGVudExhbmd1YWdlIjoiZW4iLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU1NjgzNTg3ODk5ODUxMS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uLTIvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc4OTk4NTExIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNPK2pxc3p4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU1NjgzNTg3ODk5ODUxMS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0yL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4Nzg5OTg1MTEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTytqcXN6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi0yLzE1NTY4MzU4Nzg5OTg1MTEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc4OTk4NTExIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPK2pxc3p4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU1NjgzNTg3ODk5ODUxMS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0yL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4Nzg5OTg1MTEiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTytqcXN6eC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6InIwTkdyZz09IiwiZXRhZyI6IkNPK2pxc3p4L2VFQ0VBRT0iLCJjdXN0b21lckVuY3J5cHRpb24iOnsiZW5jcnlwdGlvbkFsZ29yaXRobSI6IkFFUzI1NiIsImtleVNoYTI1NiI6IkgrTG1uWGhSb2VJNlRNVzVic1Y2SHlVazZweUdjMklNYnFZYkFYQmNwczA9In19fQ==" } }, { - "ID": "177cf60aeed7969a", + "ID": "2ddf1402c6efc3a8", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption-3/compose?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption-3/compose?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "129" + "160" ], "User-Agent": [ "google-api-go-client/0.5" - ], - "X-Goog-Encryption-Algorithm": [ - "AES256" - ], - "X-Goog-Encryption-Key": [ - "CLEARED" - ], - "X-Goog-Encryption-Key-Sha256": [ - "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" ] }, "MediaType": "application/json", "BodyParts": [ - "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMiJ9XX0K" + "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6ImN1c3RvbWVyLWVuY3J5cHRpb24ifSx7Im5hbWUiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIifV19Cg==" ] }, "Response": { @@ -7600,14 +9377,17 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Content-Length": [ - "382" + "13334" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:29 GMT" + "Thu, 02 May 2019 22:24:39 GMT" ], "Server": [ "UploadServer" @@ -7616,28 +9396,51 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UpYYU29EmXQiJtg3QLKwnkUWXwV64xz9hN3zUWhPnyKI8LZKMv3I8NRJ2Kwr_pVz0Ekno1a9Ga1Zgyz34q92QZjSin8n_wtOKd1x2P6RFAVa3TKo4A" + "AEnB2UrFitgTFIY6yt8kk3zprPGtWncWc7Ad6oUFVXVdE0O3QqK0qlYGB7RSw-dwN1AvMk4Sndi8gR22cF8qs88ZlmdAxB-1zYdUNqwArmpP2xni66xX-L4" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlc291cmNlTm90RW5jcnlwdGVkV2l0aEN1c3RvbWVyRW5jcnlwdGlvbktleSIsIm1lc3NhZ2UiOiJUaGUgdGFyZ2V0IG9iamVjdCBpcyBub3QgZW5jcnlwdGVkIGJ5IGEgY3VzdG9tZXItc3VwcGxpZWQgZW5jcnlwdGlvbiBrZXkuIiwiZXh0ZW5kZWRIZWxwIjoiaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL3N0b3JhZ2UvZG9jcy9lbmNyeXB0aW9uI2N1c3RvbWVyLXN1cHBsaWVkX2VuY3J5cHRpb25fa2V5cyJ9XSwiY29kZSI6NDAwLCJtZXNzYWdlIjoiVGhlIHRhcmdldCBvYmplY3QgaXMgbm90IGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LiJ9fQ==" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlc291cmNlSXNFbmNyeXB0ZWRXaXRoQ3VzdG9tZXJFbmNyeXB0aW9uS2V5IiwibWVzc2FnZSI6IlRoZSB0YXJnZXQgb2JqZWN0IGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LiIsImV4dGVuZGVkSGVscCI6Imh0dHBzOi8vY2xvdWQuZ29vZ2xlLmNvbS9zdG9yYWdlL2RvY3MvZW5jcnlwdGlvbiNjdXN0b21lci1zdXBwbGllZF9lbmNyeXB0aW9uX2tleXMiLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6UkVTT1VSQ0VfSVNfRU5DUllQVEVEX1dJVEhfQ1VTVE9NRVJfRU5DUllQVElPTl9LRVk6IENvbXBvbmVudCBvYmplY3QgKGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uKSBpcyBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuQ29tcG9zZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoQ29tcG9zZU9iamVjdC5qYXZhOjE5OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkNvbXBvc2VPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKENvbXBvc2VPYmplY3QuamF2YTo0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5jb21wb3NlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENvbXBvbmVudCBvYmplY3QgKGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uKSBpcyBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5jb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5GYXVsdDogSW1tdXRhYmxlRXJyb3JEZWZpbml0aW9ue2Jhc2U9SU5WQUxJRF9WQUxVRSwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpSRVNPVVJDRV9JU19FTkNSWVBURURfV0lUSF9DVVNUT01FUl9FTkNSWVBUSU9OX0tFWTogQ29tcG9uZW50IG9iamVjdCAoZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24pIGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5Db21wb3NlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChDb21wb3NlT2JqZWN0LmphdmE6MTk5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuQ29tcG9zZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoQ29tcG9zZU9iamVjdC5qYXZhOjQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmNvbXBvc2UoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQ29tcG9uZW50IG9iamVjdCAoZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24pIGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1odHRwczovL2Nsb3VkLmdvb2dsZS5jb20vc3RvcmFnZS9kb2NzL2VuY3J5cHRpb24jY3VzdG9tZXItc3VwcGxpZWRfZW5jcnlwdGlvbl9rZXlzLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1iYWRSZXF1ZXN0LCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWNsb3VkLmJpZ3N0b3JlLmFwaS5CaWdzdG9yZUVycm9yRG9tYWluLlJFU09VUkNFX0lTX0VOQ1JZUFRFRF9XSVRIX0NVU1RPTUVSX0VOQ1JZUFRJT05fS0VZLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6UkVTT1VSQ0VfSVNfRU5DUllQVEVEX1dJVEhfQ1VTVE9NRVJfRU5DUllQVElPTl9LRVk6IENvbXBvbmVudCBvYmplY3QgKGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uKSBpcyBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuQ29tcG9zZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoQ29tcG9zZU9iamVjdC5qYXZhOjE5OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkNvbXBvc2VPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKENvbXBvc2VPYmplY3QuamF2YTo0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5jb21wb3NlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENvbXBvbmVudCBvYmplY3QgKGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uKSBpcyBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBlcnJvclByb3RvQ29kZT1SRVNPVVJDRV9JU19FTkNSWVBURURfV0lUSF9DVVNUT01FUl9FTkNSWVBUSU9OX0tFWSwgZXJyb3JQcm90b0RvbWFpbj1jbG91ZC5iaWdzdG9yZS5hcGkuQmlnc3RvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9Q29tcG9uZW50IG9iamVjdCAoZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24pIGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9VGhlIHRhcmdldCBvYmplY3QgaXMgZW5jcnlwdGVkIGJ5IGEgY3VzdG9tZXItc3VwcGxpZWQgZW5jcnlwdGlvbiBrZXkuLCByZWFzb249cmVzb3VyY2VJc0VuY3J5cHRlZFdpdGhDdXN0b21lckVuY3J5cHRpb25LZXksIHJwY0NvZGU9NDAwfSBUaGUgdGFyZ2V0IG9iamVjdCBpcyBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS46IGNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpSRVNPVVJDRV9JU19FTkNSWVBURURfV0lUSF9DVVNUT01FUl9FTkNSWVBUSU9OX0tFWTogQ29tcG9uZW50IG9iamVjdCAoZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24pIGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5Db21wb3NlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChDb21wb3NlT2JqZWN0LmphdmE6MTk5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuQ29tcG9zZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoQ29tcG9zZU9iamVjdC5qYXZhOjQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmNvbXBvc2UoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQ29tcG9uZW50IG9iamVjdCAoZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24pIGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJUaGUgdGFyZ2V0IG9iamVjdCBpcyBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS4ifX0=" } }, { - "ID": "3d8c72d5f64a9d7f", + "ID": "eea75f5f6c3c7e89", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption-3/compose?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "160" + ], "User-Agent": [ "google-api-go-client/0.5" + ], + "X-Goog-Encryption-Algorithm": [ + "AES256" + ], + "X-Goog-Encryption-Key": [ + "CLEARED" + ], + "X-Goog-Encryption-Key-Sha256": [ + "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6ImN1c3RvbWVyLWVuY3J5cHRpb24ifSx7Im5hbWUiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIifV19Cg==" + ] }, "Response": { "StatusCode": 200, @@ -7645,23 +9448,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2550" + "911" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:30 GMT" + "Thu, 02 May 2019 22:24:39 GMT" ], "Etag": [ - "CAg=" + "CPDp3szx/eECEAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:30 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -7670,88 +9479,109 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Urd6PhALdnRRSnQPZJ_lHV3FLW8UachwyWOioDw7Shsu-Kq_e6JWj98Q768svgE_hRVYhTy4hpU0Fk7SvV7TYrSucurINA0l-Qv00-sYZk4Y7ratpY" + "AEnB2Uotyvz71ZfU1J_hl3NsDz9ldw92nWlIp9muxpBUsdv0nTyfJEqz-yQFyEwE2UM11wv7tkpLQfffGlKhlx7CVK0S1UYJnS2XQu2P0Uiz5bbamHxE520" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6MzYuMzkyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjE1LjMyMloiLCJtZXRhZ2VuZXJhdGlvbiI6IjgiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBZz0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQWc9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBZz0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBZz0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FnPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FnPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJ2ZXJzaW9uaW5nIjp7ImVuYWJsZWQiOmZhbHNlfSwibGlmZWN5Y2xlIjp7InJ1bGUiOlt7ImFjdGlvbiI6eyJ0eXBlIjoiRGVsZXRlIn0sImNvbmRpdGlvbiI6eyJhZ2UiOjMwfX1dfSwibGFiZWxzIjp7Im5ldyI6Im5ldyIsImwxIjoidjIifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FnPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTMvMTU1NjgzNTg3OTg1OTQ0MCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMyIsIm5hbWUiOiJjdXN0b21lci1lbmNyeXB0aW9uLTMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3OTg1OTQ0MCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozOS44NTlaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzkuODU5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjM5Ljg1OVoiLCJzaXplIjoiMjIiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0zP2dlbmVyYXRpb249MTU1NjgzNTg3OTg1OTQ0MCZhbHQ9bWVkaWEiLCJjcmMzMmMiOiI1ajF5cGc9PSIsImNvbXBvbmVudENvdW50IjoyLCJldGFnIjoiQ1BEcDNzengvZUVDRUFFPSIsImN1c3RvbWVyRW5jcnlwdGlvbiI6eyJlbmNyeXB0aW9uQWxnb3JpdGhtIjoiQUVTMjU2Iiwia2V5U2hhMjU2IjoiSCtMbW5YaFJvZUk2VE1XNWJzVjZIeVVrNnB5R2MySU1icVliQVhCY3BzMD0ifX0=" } }, { - "ID": "663dc0f83b0ad9e2", + "ID": "b19fb82ecf450b51", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "GET", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/customer-encryption-3", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJuYW1lIjoicG9zYyJ9Cg==", - "Zm9v" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 400, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" ], "Content-Length": [ - "3221" + "277" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/xml; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:30 GMT" - ], - "Etag": [ - "CL/t+Z3b4d8CEAE=" + "Thu, 02 May 2019 22:24:40 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:40 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" ], "X-Guploader-Uploadid": [ - "AEnB2UqBCe5HmZN8OdFbN7rZq7W-bOE15pqUPP3EYQdME_-GLt4bvoo0pBd_7GkDJDsZTd2vwJ1WgHj8AFmQWqfyZHx3D3w0tuuYZXCy-v7e_JB8aR8lKIg" + "AEnB2Urcj3TJ6B5h4Q0DT7G_ioI_Icu9iv65m57OlRH6h9mKD9zZZl320H3QD6A7fNd1UPBSGGDZ9I0TG4_lSFa8JgkJQEVRGVRvVQv36b7ArCuGmg0loV0" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wb3NjLzE1NDcwNzE3MTA0NTk1ODMiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9wb3NjIiwibmFtZSI6InBvc2MiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMDQ1OTU4MyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODozMC40NTlaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzAuNDU5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjMwLjQ1OVoiLCJzaXplIjoiMyIsIm1kNUhhc2giOiJyTDBZMjB6QytGenQ3MlZQek1TazJBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYz9nZW5lcmF0aW9uPTE1NDcwNzE3MTA0NTk1ODMmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcG9zYy8xNTQ3MDcxNzEwNDU5NTgzL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJwb3NjIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTA0NTk1ODMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNML3QrWjNiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wb3NjLzE1NDcwNzE3MTA0NTk1ODMvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoicG9zYyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzEwNDU5NTgzIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNML3QrWjNiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wb3NjLzE1NDcwNzE3MTA0NTk1ODMvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoicG9zYyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzEwNDU5NTgzIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTC90K1ozYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcG9zYy8xNTQ3MDcxNzEwNDU5NTgzL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9wb3NjL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoicG9zYyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzEwNDU5NTgzIiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0wvdCtaM2I0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJ6OFN1SFE9PSIsImV0YWciOiJDTC90K1ozYjRkOENFQUU9In0=" + "Body": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48RXJyb3I+PENvZGU+UmVzb3VyY2VJc0VuY3J5cHRlZFdpdGhDdXN0b21lckVuY3J5cHRpb25LZXk8L0NvZGU+PE1lc3NhZ2U+VGhlIHJlc291cmNlIGlzIGVuY3J5cHRlZCB3aXRoIGEgY3VzdG9tZXIgZW5jcnlwdGlvbiBrZXkuPC9NZXNzYWdlPjxEZXRhaWxzPlRoZSByZXF1ZXN0ZWQgb2JqZWN0IGlzIGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LjwvRGV0YWlscz48L0Vycm9yPg==" } }, { - "ID": "dae388062d34960a", + "ID": "1f0a12bd00a88965", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/posc?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/customer-encryption-3", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" + ], + "X-Goog-Encryption-Algorithm": [ + "AES256" + ], + "X-Goog-Encryption-Key": [ + "CLEARED" + ], + "X-Goog-Encryption-Key-Sha256": [ + "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -7759,60 +9589,113 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3221" + "22" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/octet-stream" ], "Date": [ - "Wed, 09 Jan 2019 22:08:30 GMT" + "Thu, 02 May 2019 22:24:40 GMT" ], "Etag": [ - "CL/t+Z3b4d8CEAE=" + "\"-CPDp3szx/eECEAE=\"" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" ], + "Last-Modified": [ + "Thu, 02 May 2019 22:24:39 GMT" + ], "Pragma": [ "no-cache" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Component-Count": [ + "2" + ], + "X-Goog-Encryption-Algorithm": [ + "AES256" + ], + "X-Goog-Encryption-Key-Sha256": [ + "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" + ], + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:24:39 GMT" + ], + "X-Goog-Generation": [ + "1556835879859440" + ], + "X-Goog-Hash": [ + "crc32c=5j1ypg==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "22" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2Upkq0IHPOMgESDbbFJl4x5awG2j3r3VP1dwKs3c06g_u6pK5YjHUjxWttZgfQ7POG26Nq1_heraMfJwEb_A4Z_BbiX1NEy1W_I8FoacZYS5LF95uwM" + "AEnB2Ur7DoEkjdrkGGrYpsCDbd2Y6c_Mu8sEA7cN_k06l4WjY25UJsijDFWSlSIA9SCi-ouLuI3if4Rh33a5n5vKcN3oSYjzK92eSPVCczEpQdILKFWyQh4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wb3NjLzE1NDcwNzE3MTA0NTk1ODMiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9wb3NjIiwibmFtZSI6InBvc2MiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMDQ1OTU4MyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODozMC40NTlaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzAuNDU5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjMwLjQ1OVoiLCJzaXplIjoiMyIsIm1kNUhhc2giOiJyTDBZMjB6QytGenQ3MlZQek1TazJBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYz9nZW5lcmF0aW9uPTE1NDcwNzE3MTA0NTk1ODMmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcG9zYy8xNTQ3MDcxNzEwNDU5NTgzL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJwb3NjIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTA0NTk1ODMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNML3QrWjNiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wb3NjLzE1NDcwNzE3MTA0NTk1ODMvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoicG9zYyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzEwNDU5NTgzIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNML3QrWjNiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wb3NjLzE1NDcwNzE3MTA0NTk1ODMvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoicG9zYyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzEwNDU5NTgzIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTC90K1ozYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcG9zYy8xNTQ3MDcxNzEwNDU5NTgzL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9wb3NjL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoicG9zYyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzEwNDU5NTgzIiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0wvdCtaM2I0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJ6OFN1SFE9PSIsImV0YWciOiJDTC90K1ozYjRkOENFQUU9In0=" + "Body": "dG9wIHNlY3JldC50b3Agc2VjcmV0Lg==" } }, { - "ID": "65c12d534b9e3cd0", + "ID": "f649a81672a92823", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/posc/rewriteTo/b/go-integration-test-20190109-79655285984746-0001/o/posc?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption-2/rewriteTo/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption-2?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "34" + "3" ], "User-Agent": [ "google-api-go-client/0.5" + ], + "X-Goog-Copy-Source-Encryption-Algorithm": [ + "AES256" + ], + "X-Goog-Copy-Source-Encryption-Key": [ + "CLEARED" + ], + "X-Goog-Copy-Source-Encryption-Key-Sha256": [ + "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" ] }, "MediaType": "application/json", "BodyParts": [ - "eyJzdG9yYWdlQ2xhc3MiOiJNVUxUSV9SRUdJT05BTCJ9Cg==" + "e30K" ] }, "Response": { @@ -7821,17 +9704,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3286" + "3527" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:31 GMT" + "Thu, 02 May 2019 22:24:40 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -7846,58 +9732,69 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Ur-4O0qsiRhRx42yRsQtyYIr2UrrDNW3QU-bK34j3cPdPfHeutO3BiotlA9i-GNyTb47WhbIVlnUVafsr-gsSriHGSuAzKQ-525GQbqCmXhEod7Y84" + "AEnB2UrfhqrYGhW8ew5dxbfg_DcMhaJh6k2oY_JqMwPRSDtS3Ef5kljeo8oTONrxRIAP8I0ScqxFCy7okNejkqOeO4Vr1TBZ2mc4MDjwiJA52ERSgZMUyvM" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiMyIsIm9iamVjdFNpemUiOiIzIiwiZG9uZSI6dHJ1ZSwicmVzb3VyY2UiOnsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcG9zYy8xNTQ3MDcxNzExMTk0NjQ0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYyIsIm5hbWUiOiJwb3NjIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTExOTQ2NDQiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzEuMTk0WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjMxLjE5NFoiLCJzdG9yYWdlQ2xhc3MiOiJNVUxUSV9SRUdJT05BTCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODozMS4xOTRaIiwic2l6ZSI6IjMiLCJtZDVIYXNoIjoickwwWTIwekMrRnp0NzJWUHpNU2syQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3Bvc2M/Z2VuZXJhdGlvbj0xNTQ3MDcxNzExMTk0NjQ0JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3Bvc2MvMTU0NzA3MTcxMTE5NDY0NC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3Bvc2MvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoicG9zYyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzExMTk0NjQ0IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDSlRjcHA3YjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcG9zYy8xNTQ3MDcxNzExMTk0NjQ0L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3Bvc2MvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InBvc2MiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMTE5NDY0NCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSlRjcHA3YjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcG9zYy8xNTQ3MDcxNzExMTk0NjQ0L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3Bvc2MvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InBvc2MiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMTE5NDY0NCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0pUY3BwN2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3Bvc2MvMTU0NzA3MTcxMTE5NDY0NC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYy9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InBvc2MiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMTE5NDY0NCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNKVGNwcDdiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiejhTdUhRPT0iLCJldGFnIjoiQ0pUY3BwN2I0ZDhDRUFFPSJ9fQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiMTEiLCJvYmplY3RTaXplIjoiMTEiLCJkb25lIjp0cnVlLCJyZXNvdXJjZSI6eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU1NjgzNTg4MDcxNzUwNiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMiIsIm5hbWUiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4MDcxNzUwNiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0MC43MTdaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NDAuNzE3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQwLjcxN1oiLCJzaXplIjoiMTEiLCJtZDVIYXNoIjoieHdXTkZhMFZkWFBtbEF3cmxjQUpjZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMj9nZW5lcmF0aW9uPTE1NTY4MzU4ODA3MTc1MDYmYWx0PW1lZGlhIiwiY29udGVudExhbmd1YWdlIjoiZW4iLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU1NjgzNTg4MDcxNzUwNi9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uLTIvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODgwNzE3NTA2IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNNS1prODN4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU1NjgzNTg4MDcxNzUwNi9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0yL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODA3MTc1MDYiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTUtaazgzeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi0yLzE1NTY4MzU4ODA3MTc1MDYvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODgwNzE3NTA2IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNNS1prODN4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU1NjgzNTg4MDcxNzUwNi91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0yL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODA3MTc1MDYiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTUtaazgzeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6InIwTkdyZz09IiwiZXRhZyI6IkNNS1prODN4L2VFQ0VBRT0ifX0=" } }, { - "ID": "0de5ad155817472c", + "ID": "61763fd57e906039", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption-3/compose?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "129" + ], "User-Agent": [ "google-api-go-client/0.5" + ], + "X-Goog-Encryption-Algorithm": [ + "AES256" + ], + "X-Goog-Encryption-Key": [ + "CLEARED" + ], + "X-Goog-Encryption-Key-Sha256": [ + "H+LmnXhRoeI6TMW5bsV6HyUk6pyGc2IMbqYbAXBcps0=" ] }, - "MediaType": "multipart/related", + "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJuYW1lIjoicG9zYzIiLCJzdG9yYWdlQ2xhc3MiOiJNVUxUSV9SRUdJT05BTCJ9Cg==", - "eHh4" + "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMiJ9XX0K" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 400, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "3243" + "13444" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:31 GMT" - ], - "Etag": [ - "CLT9wp7b4d8CEAE=" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:41 GMT" ], "Server": [ "UploadServer" @@ -7906,18 +9803,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UphY-vtFeTPYOJGikRgpzaqNbkh-umEgtta5QufB9OpesejXDRi6l0IBPXl5NZucdW5a0pDUmT1yxG8fLcC4pJU0oS6MU9EFPOaXJRWv9L3wbNaybE" + "AEnB2Ur7TRBQyfrSgWnsPL0CVfQCd5s_QJN9pRUHB1YttIoObh1YkzCEtuRxrwyKYtccpyodUCMmTVRyD6d0oDy-c2_Q7GK-_6OC5h_EF_1e9-t6E8VZCQ8" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wb3NjMi8xNTQ3MDcxNzExNjU3NjUyIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYzIiLCJuYW1lIjoicG9zYzIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMTY1NzY1MiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODozMS42NTdaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzEuNjU3WiIsInN0b3JhZ2VDbGFzcyI6Ik1VTFRJX1JFR0lPTkFMIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjMxLjY1N1oiLCJzaXplIjoiMyIsIm1kNUhhc2giOiI5V0dxOXU4TDhVMUNDTHRHcE15enJRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYzI/Z2VuZXJhdGlvbj0xNTQ3MDcxNzExNjU3NjUyJmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3Bvc2MyLzE1NDcwNzE3MTE2NTc2NTIvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9wb3NjMi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJwb3NjMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzExNjU3NjUyIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTFQ5d3A3YjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcG9zYzIvMTU0NzA3MTcxMTY1NzY1Mi9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9wb3NjMi9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoicG9zYzIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMTY1NzY1MiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTFQ5d3A3YjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcG9zYzIvMTU0NzA3MTcxMTY1NzY1Mi9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9wb3NjMi9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoicG9zYzIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMTY1NzY1MiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xUOXdwN2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3Bvc2MyLzE1NDcwNzE3MTE2NTc2NTIvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3Bvc2MyL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoicG9zYzIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMTY1NzY1MiIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMVDl3cDdiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiMTdxQUJRPT0iLCJldGFnIjoiQ0xUOXdwN2I0ZDhDRUFFPSJ9" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlc291cmNlTm90RW5jcnlwdGVkV2l0aEN1c3RvbWVyRW5jcnlwdGlvbktleSIsIm1lc3NhZ2UiOiJUaGUgdGFyZ2V0IG9iamVjdCBpcyBub3QgZW5jcnlwdGVkIGJ5IGEgY3VzdG9tZXItc3VwcGxpZWQgZW5jcnlwdGlvbiBrZXkuIiwiZXh0ZW5kZWRIZWxwIjoiaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL3N0b3JhZ2UvZG9jcy9lbmNyeXB0aW9uI2N1c3RvbWVyLXN1cHBsaWVkX2VuY3J5cHRpb25fa2V5cyIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpSRVNPVVJDRV9OT1RfRU5DUllQVEVEX1dJVEhfQ1VTVE9NRVJfRU5DUllQVElPTl9LRVk6IENvbXBvbmVudCBvYmplY3QgKGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIpIHVzIG5vdCBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuQ29tcG9zZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoQ29tcG9zZU9iamVjdC5qYXZhOjE5OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkNvbXBvc2VPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKENvbXBvc2VPYmplY3QuamF2YTo0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5jb21wb3NlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENvbXBvbmVudCBvYmplY3QgKGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIpIHVzIG5vdCBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5jb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5GYXVsdDogSW1tdXRhYmxlRXJyb3JEZWZpbml0aW9ue2Jhc2U9SU5WQUxJRF9WQUxVRSwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpSRVNPVVJDRV9OT1RfRU5DUllQVEVEX1dJVEhfQ1VTVE9NRVJfRU5DUllQVElPTl9LRVk6IENvbXBvbmVudCBvYmplY3QgKGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIpIHVzIG5vdCBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuQ29tcG9zZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoQ29tcG9zZU9iamVjdC5qYXZhOjE5OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkNvbXBvc2VPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKENvbXBvc2VPYmplY3QuamF2YTo0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5jb21wb3NlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENvbXBvbmVudCBvYmplY3QgKGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIpIHVzIG5vdCBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBkb21haW49Z2xvYmFsLCBleHRlbmRlZEhlbHA9aHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL3N0b3JhZ2UvZG9jcy9lbmNyeXB0aW9uI2N1c3RvbWVyLXN1cHBsaWVkX2VuY3J5cHRpb25fa2V5cywgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9YmFkUmVxdWVzdCwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1jbG91ZC5iaWdzdG9yZS5hcGkuQmlnc3RvcmVFcnJvckRvbWFpbi5SRVNPVVJDRV9OT1RfRU5DUllQVEVEX1dJVEhfQ1VTVE9NRVJfRU5DUllQVElPTl9LRVksIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpSRVNPVVJDRV9OT1RfRU5DUllQVEVEX1dJVEhfQ1VTVE9NRVJfRU5DUllQVElPTl9LRVk6IENvbXBvbmVudCBvYmplY3QgKGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIpIHVzIG5vdCBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuQ29tcG9zZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoQ29tcG9zZU9iamVjdC5qYXZhOjE5OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkNvbXBvc2VPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKENvbXBvc2VPYmplY3QuamF2YTo0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5jb21wb3NlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENvbXBvbmVudCBvYmplY3QgKGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIpIHVzIG5vdCBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBlcnJvclByb3RvQ29kZT1SRVNPVVJDRV9OT1RfRU5DUllQVEVEX1dJVEhfQ1VTVE9NRVJfRU5DUllQVElPTl9LRVksIGVycm9yUHJvdG9Eb21haW49Y2xvdWQuYmlnc3RvcmUuYXBpLkJpZ3N0b3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1lbnRpdHkuZW5jcnlwdGlvbktleSwgbWVzc2FnZT1Db21wb25lbnQgb2JqZWN0IChnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi0yKSB1cyBub3QgZW5jcnlwdGVkIGJ5IGEgY3VzdG9tZXItc3VwcGxpZWQgZW5jcnlwdGlvbiBrZXkuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249ZW50aXR5LmVuY3J5cHRpb25LZXksIG1lc3NhZ2U9VGhlIHRhcmdldCBvYmplY3QgaXMgbm90IGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LiwgcmVhc29uPXJlc291cmNlTm90RW5jcnlwdGVkV2l0aEN1c3RvbWVyRW5jcnlwdGlvbktleSwgcnBjQ29kZT00MDB9IFRoZSB0YXJnZXQgb2JqZWN0IGlzIG5vdCBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS46IGNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpSRVNPVVJDRV9OT1RfRU5DUllQVEVEX1dJVEhfQ1VTVE9NRVJfRU5DUllQVElPTl9LRVk6IENvbXBvbmVudCBvYmplY3QgKGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIpIHVzIG5vdCBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuQ29tcG9zZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoQ29tcG9zZU9iamVjdC5qYXZhOjE5OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkNvbXBvc2VPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKENvbXBvc2VPYmplY3QuamF2YTo0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5jb21wb3NlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENvbXBvbmVudCBvYmplY3QgKGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIpIHVzIG5vdCBlbmNyeXB0ZWQgYnkgYSBjdXN0b21lci1zdXBwbGllZCBlbmNyeXB0aW9uIGtleS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDAwLCJtZXNzYWdlIjoiVGhlIHRhcmdldCBvYmplY3QgaXMgbm90IGVuY3J5cHRlZCBieSBhIGN1c3RvbWVyLXN1cHBsaWVkIGVuY3J5cHRpb24ga2V5LiJ9fQ==" } }, { - "ID": "4690c80aa5419afb", + "ID": "b45cb452c78d7b50", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -7926,10 +9832,9 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJuYW1lIjoiYnVja2V0SW5Db3B5QXR0cnMifQo=", - "Zm9v" + "" ] }, "Response": { @@ -7938,26 +9843,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "3429" + "2571" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:32 GMT" + "Thu, 02 May 2019 22:24:41 GMT" ], "Etag": [ - "CJKV5J7b4d8CEAE=" + "CAo=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:41 GMT" ], "Server": [ "UploadServer" @@ -7966,48 +9871,70 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoCHkg-PZNsKHx4WzrEYD31GIYS775gb5GiYgNzoYNAlptQjl6_Qvo4Ip3jmSJwuH6fYQm3tOu-sxYVDlzMGmW1O937Loty0hk1hfi_jipeqJAbPbY" + "AEnB2Uq2YnotZtU1JMnJw10vtgVDeukiWK_4DXx0QFWA91CaCYLPXLDKzCzY8xqb6EGkVxvw731As27REu_hYOqZTwSfJJ6SeHemliLV9JgQYjfngxL0HFA" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9idWNrZXRJbkNvcHlBdHRycy8xNTQ3MDcxNzEyMjAxMzYyIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYnVja2V0SW5Db3B5QXR0cnMiLCJuYW1lIjoiYnVja2V0SW5Db3B5QXR0cnMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMjIwMTM2MiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODozMi4yMDFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzIuMjAxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjMyLjIwMVoiLCJzaXplIjoiMyIsIm1kNUhhc2giOiJyTDBZMjB6QytGenQ3MlZQek1TazJBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYnVja2V0SW5Db3B5QXR0cnM/Z2VuZXJhdGlvbj0xNTQ3MDcxNzEyMjAxMzYyJmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2J1Y2tldEluQ29weUF0dHJzLzE1NDcwNzE3MTIyMDEzNjIvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9idWNrZXRJbkNvcHlBdHRycy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJidWNrZXRJbkNvcHlBdHRycyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzEyMjAxMzYyIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDSktWNUo3YjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYnVja2V0SW5Db3B5QXR0cnMvMTU0NzA3MTcxMjIwMTM2Mi9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9idWNrZXRJbkNvcHlBdHRycy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiYnVja2V0SW5Db3B5QXR0cnMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMjIwMTM2MiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSktWNUo3YjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYnVja2V0SW5Db3B5QXR0cnMvMTU0NzA3MTcxMjIwMTM2Mi9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9idWNrZXRJbkNvcHlBdHRycy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiYnVja2V0SW5Db3B5QXR0cnMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMjIwMTM2MiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0pLVjVKN2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2J1Y2tldEluQ29weUF0dHJzLzE1NDcwNzE3MTIyMDEzNjIvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2J1Y2tldEluQ29weUF0dHJzL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiYnVja2V0SW5Db3B5QXR0cnMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMjIwMTM2MiIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNKS1Y1SjdiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiejhTdUhRPT0iLCJldGFnIjoiQ0pLVjVKN2I0ZDhDRUFFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIzOjU0LjYxMFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoyOC44ODJaIiwibWV0YWdlbmVyYXRpb24iOiIxMCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBbz0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FvPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FvPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQW89In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FvPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQW89In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0In0sImxvY2F0aW9uIjoiVVMiLCJ2ZXJzaW9uaW5nIjp7ImVuYWJsZWQiOmZhbHNlfSwibGlmZWN5Y2xlIjp7InJ1bGUiOlt7ImFjdGlvbiI6eyJ0eXBlIjoiRGVsZXRlIn0sImNvbmRpdGlvbiI6eyJhZ2UiOjMwfX1dfSwibGFiZWxzIjp7Im5ldyI6Im5ldyIsImwxIjoidjIifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FvPSJ9" } }, { - "ID": "01f6604f26e69519", + "ID": "6831287fd0edbcd4", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/bucketInCopyAttrs/rewriteTo/b/go-integration-test-20190109-79655285984746-0001/o/bucketInCopyAttrs?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "62" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "multipart/related", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEifQo=" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJuYW1lIjoicG9zYyJ9Cg==", + "Zm9v" ] }, "Response": { - "StatusCode": 400, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "no-cache, no-store, max-age=0, must-revalidate" + ], "Content-Length": [ - "115" + "3128" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:32 GMT" + "Thu, 02 May 2019 22:24:42 GMT" + ], + "Etag": [ + "CJek2c3x/eECEAE=" + ], + "Expires": [ + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -8016,18 +9943,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UplXxIh8S4YRiJDoxTyDB5yqrnIjKwNdYKAboTTu-08lZwDSETLyjOZDYVJ9Gbed0OTyCawHSDWVwtZpoOP5ldTrz_DYhS8D8S0v8n5xOF06x3hqv0" + "AEnB2UrXGhYaqbrodjXeCKtZGAt0hM0GrM8GBcZBkGkLJ7550-Iqaxp681SkhDDDOp0V3-xMmoq3rjWOC8A4XvJfAzgxGsO2VekCUJgUBMalL8hEAur49q8" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IlJlcXVpcmVkIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJSZXF1aXJlZCJ9fQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9wb3NjLzE1NTY4MzU4ODE4NjU3NTEiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9wb3NjIiwibmFtZSI6InBvc2MiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4MTg2NTc1MSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0MS44NjVaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NDEuODY1WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQxLjg2NVoiLCJzaXplIjoiMyIsIm1kNUhhc2giOiJyTDBZMjB6QytGenQ3MlZQek1TazJBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vcG9zYz9nZW5lcmF0aW9uPTE1NTY4MzU4ODE4NjU3NTEmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcG9zYy8xNTU2ODM1ODgxODY1NzUxL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3Bvc2MvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InBvc2MiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4MTg2NTc1MSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDSmVrMmMzeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcG9zYy8xNTU2ODM1ODgxODY1NzUxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9wb3NjL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoicG9zYyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODgxODY1NzUxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0plazJjM3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Bvc2MvMTU1NjgzNTg4MTg2NTc1MS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vcG9zYy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InBvc2MiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4MTg2NTc1MSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSmVrMmMzeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcG9zYy8xNTU2ODM1ODgxODY1NzUxL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9wb3NjL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoicG9zYyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODgxODY1NzUxIiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0plazJjM3gvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJ6OFN1SFE9PSIsImV0YWciOiJDSmVrMmMzeC9lRUNFQUU9In0=" } }, { - "ID": "5db0110c8fa4db79", + "ID": "7588cdc84e3976f4", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/posc?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -8036,10 +9972,9 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjcmMzMmMiOiJjSCtBK3c9PSIsIm5hbWUiOiJoYXNoZXNPblVwbG9hZC0xIn0K", - "SSBjYW4ndCB3YWl0IHRvIGJlIHZlcmlmaWVk" + "" ] }, "Response": { @@ -8048,20 +9983,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3414" + "3128" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:32 GMT" + "Thu, 02 May 2019 22:24:42 GMT" ], "Etag": [ - "CIXOhJ/b4d8CEAE=" + "CJek2c3x/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -8076,46 +10014,69 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrdkJj2-0lVw13PpC6l1aBOLNI3T_7R0Nhre5x4czvfVTGALWszQX9bacV1Tv9s8UCTx_d8z1yH39y0kvVbRNeerG0rxDjOg1OEU2QzuM6TwReHva4" + "AEnB2UpGBHQWnSHLUYlW5nck2w_3QN4x5uYmOM-GIatNzD1tqhzK0JOf7rBe1BKILpdyEUPlSmrLwrukcqJwHgfezE50OQL7ha9n6_fc6qUMoVwkEGawOgA" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9oYXNoZXNPblVwbG9hZC0xLzE1NDcwNzE3MTI3MzI5MzMiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9oYXNoZXNPblVwbG9hZC0xIiwibmFtZSI6Imhhc2hlc09uVXBsb2FkLTEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMjczMjkzMyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODozMi43MzJaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzIuNzMyWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjMyLjczMloiLCJzaXplIjoiMjciLCJtZDVIYXNoIjoib2ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTE/Z2VuZXJhdGlvbj0xNTQ3MDcxNzEyNzMyOTMzJmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU0NzA3MTcxMjczMjkzMy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTEvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiaGFzaGVzT25VcGxvYWQtMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzEyNzMyOTMzIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDSVhPaEovYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvaGFzaGVzT25VcGxvYWQtMS8xNTQ3MDcxNzEyNzMyOTMzL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMjczMjkzMyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSVhPaEovYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvaGFzaGVzT25VcGxvYWQtMS8xNTQ3MDcxNzEyNzMyOTMzL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTEvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMjczMjkzMyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0lYT2hKL2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU0NzA3MTcxMjczMjkzMy91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vaGFzaGVzT25VcGxvYWQtMS9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMjczMjkzMyIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNJWE9oSi9iNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiY0grQSt3PT0iLCJldGFnIjoiQ0lYT2hKL2I0ZDhDRUFFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9wb3NjLzE1NTY4MzU4ODE4NjU3NTEiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9wb3NjIiwibmFtZSI6InBvc2MiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4MTg2NTc1MSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0MS44NjVaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NDEuODY1WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQxLjg2NVoiLCJzaXplIjoiMyIsIm1kNUhhc2giOiJyTDBZMjB6QytGenQ3MlZQek1TazJBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vcG9zYz9nZW5lcmF0aW9uPTE1NTY4MzU4ODE4NjU3NTEmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcG9zYy8xNTU2ODM1ODgxODY1NzUxL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3Bvc2MvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InBvc2MiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4MTg2NTc1MSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDSmVrMmMzeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcG9zYy8xNTU2ODM1ODgxODY1NzUxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9wb3NjL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoicG9zYyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODgxODY1NzUxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0plazJjM3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Bvc2MvMTU1NjgzNTg4MTg2NTc1MS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vcG9zYy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InBvc2MiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4MTg2NTc1MSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSmVrMmMzeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcG9zYy8xNTU2ODM1ODgxODY1NzUxL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9wb3NjL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoicG9zYyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODgxODY1NzUxIiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0plazJjM3gvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJ6OFN1SFE9PSIsImV0YWciOiJDSmVrMmMzeC9lRUNFQUU9In0=" } }, { - "ID": "ca7e1a78b2b4ed67", + "ID": "974ed1b42608e806", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/posc/rewriteTo/b/go-integration-test-20190502-80633403432013-0001/o/posc?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "34" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjcmMzMmMiOiJjSCtBL0E9PSIsIm5hbWUiOiJoYXNoZXNPblVwbG9hZC0xIn0K", - "SSBjYW4ndCB3YWl0IHRvIGJlIHZlcmlmaWVk" + "eyJzdG9yYWdlQ2xhc3MiOiJNVUxUSV9SRUdJT05BTCJ9Cg==" ] }, "Response": { - "StatusCode": 400, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "no-cache, no-store, max-age=0, must-revalidate" + ], "Content-Length": [ - "246" + "3193" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:32 GMT" + "Thu, 02 May 2019 22:24:42 GMT" + ], + "Expires": [ + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -8124,18 +10085,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Upvd7k9LLzBc1AF4hIxGeephV_PwZBdTRro1o9wAmQMRAd1W0dqBbFLXslwB45mRfAkA1wQVnt5mKt1r1ejwpsE6B8VEaL7xXiON1sS3x0EVLfjTt4" + "AEnB2UrKCtuc_GsAj6sf3zXpqT2_KZrdL0SEwsunv07k0DaaEHMj8gkX4kRCcm5r8AUrD9RNYjoKeceiCyY4pDN8nrHljshmEIXF2P29Oyd0KSuqDjsNeps" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImludmFsaWQiLCJtZXNzYWdlIjoiUHJvdmlkZWQgQ1JDMzJDIFwiY0grQS9BPT1cIiBkb2Vzbid0IG1hdGNoIGNhbGN1bGF0ZWQgQ1JDMzJDIFwiY0grQSt3PT1cIi4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IlByb3ZpZGVkIENSQzMyQyBcImNIK0EvQT09XCIgZG9lc24ndCBtYXRjaCBjYWxjdWxhdGVkIENSQzMyQyBcImNIK0Erdz09XCIuIn19" + "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiMyIsIm9iamVjdFNpemUiOiIzIiwiZG9uZSI6dHJ1ZSwicmVzb3VyY2UiOnsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcG9zYy8xNTU2ODM1ODgyNzYwNjA3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vcG9zYyIsIm5hbWUiOiJwb3NjIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODI3NjA2MDciLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NDIuNzYwWiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQyLjc2MFoiLCJzdG9yYWdlQ2xhc3MiOiJNVUxUSV9SRUdJT05BTCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0Mi43NjBaIiwic2l6ZSI6IjMiLCJtZDVIYXNoIjoickwwWTIwekMrRnp0NzJWUHpNU2syQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3Bvc2M/Z2VuZXJhdGlvbj0xNTU2ODM1ODgyNzYwNjA3JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Bvc2MvMTU1NjgzNTg4Mjc2MDYwNy9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9wb3NjL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJwb3NjIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODI3NjA2MDciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0ovemo4N3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Bvc2MvMTU1NjgzNTg4Mjc2MDYwNy9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vcG9zYy9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InBvc2MiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4Mjc2MDYwNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNKL3pqODd4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9wb3NjLzE1NTY4MzU4ODI3NjA2MDcvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3Bvc2MvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJwb3NjIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODI3NjA2MDciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0ovemo4N3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Bvc2MvMTU1NjgzNTg4Mjc2MDYwNy91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vcG9zYy9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InBvc2MiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4Mjc2MDYwNyIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNKL3pqODd4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiejhTdUhRPT0iLCJldGFnIjoiQ0ovemo4N3gvZUVDRUFFPSJ9fQ==" } }, { - "ID": "1aee588cd0b14fe3", + "ID": "a2be30bf1e3cb539", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -8146,8 +10116,8 @@ }, "MediaType": "multipart/related", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJuYW1lIjoiaGFzaGVzT25VcGxvYWQtMSJ9Cg==", - "SSBjYW4ndCB3YWl0IHRvIGJlIHZlcmlmaWVk" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJuYW1lIjoicG9zYzIiLCJzdG9yYWdlQ2xhc3MiOiJNVUxUSV9SRUdJT05BTCJ9Cg==", + "eHh4" ] }, "Response": { @@ -8156,20 +10126,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3414" + "3150" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:33 GMT" + "Thu, 02 May 2019 22:24:43 GMT" ], "Etag": [ - "CMOrnZ/b4d8CEAE=" + "CILrp87x/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -8184,18 +10157,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqwwlUJl4qLgMSrnBJTwRULWT8RPzi-lAk5Fd25-XaQh9R7S_wKu6sDIAAiPzDT8yLa0l45asMoXNVSyXKfVjD7QV1SChIkod9IxNZwUl7uG_MwTHU" + "AEnB2UqziYHpTkcbyMFRtHko_e04Rze8FHLbALw476U2bB9k_SqPwILBzxKRLzFvRN4q3RLt4xR1mpR2lgJ1Zq0BNYCefLOZsOeq4JbzJYLxGL5V799xkQ8" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9oYXNoZXNPblVwbG9hZC0xLzE1NDcwNzE3MTMxMzgxMTUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9oYXNoZXNPblVwbG9hZC0xIiwibmFtZSI6Imhhc2hlc09uVXBsb2FkLTEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMzEzODExNSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODozMy4xMzdaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzMuMTM3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjMzLjEzN1oiLCJzaXplIjoiMjciLCJtZDVIYXNoIjoib2ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTE/Z2VuZXJhdGlvbj0xNTQ3MDcxNzEzMTM4MTE1JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU0NzA3MTcxMzEzODExNS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTEvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiaGFzaGVzT25VcGxvYWQtMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzEzMTM4MTE1IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTU9yblovYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvaGFzaGVzT25VcGxvYWQtMS8xNTQ3MDcxNzEzMTM4MTE1L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMzEzODExNSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTU9yblovYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvaGFzaGVzT25VcGxvYWQtMS8xNTQ3MDcxNzEzMTM4MTE1L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTEvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMzEzODExNSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ01Pcm5aL2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU0NzA3MTcxMzEzODExNS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vaGFzaGVzT25VcGxvYWQtMS9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMzEzODExNSIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNNT3JuWi9iNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiY0grQSt3PT0iLCJldGFnIjoiQ01Pcm5aL2I0ZDhDRUFFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9wb3NjMi8xNTU2ODM1ODgzMTUyNzcwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vcG9zYzIiLCJuYW1lIjoicG9zYzIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4MzE1Mjc3MCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0My4xNTJaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NDMuMTUyWiIsInN0b3JhZ2VDbGFzcyI6Ik1VTFRJX1JFR0lPTkFMIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQzLjE1MloiLCJzaXplIjoiMyIsIm1kNUhhc2giOiI5V0dxOXU4TDhVMUNDTHRHcE15enJRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vcG9zYzI/Z2VuZXJhdGlvbj0xNTU2ODM1ODgzMTUyNzcwJmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Bvc2MyLzE1NTY4MzU4ODMxNTI3NzAvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vcG9zYzIvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InBvc2MyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODMxNTI3NzAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0lMcnA4N3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Bvc2MyLzE1NTY4MzU4ODMxNTI3NzAvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3Bvc2MyL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoicG9zYzIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4MzE1Mjc3MCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNJTHJwODd4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9wb3NjMi8xNTU2ODM1ODgzMTUyNzcwL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9wb3NjMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InBvc2MyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODMxNTI3NzAiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0lMcnA4N3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Bvc2MyLzE1NTY4MzU4ODMxNTI3NzAvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3Bvc2MyL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoicG9zYzIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4MzE1Mjc3MCIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNJTHJwODd4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiMTdxQUJRPT0iLCJldGFnIjoiQ0lMcnA4N3gvZUVDRUFFPSJ9" } }, { - "ID": "c2520f16ffb0b186", + "ID": "d570e13411ade628", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -8206,8 +10188,8 @@ }, "MediaType": "multipart/related", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJtZDVIYXNoIjoib2ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09IiwibmFtZSI6Imhhc2hlc09uVXBsb2FkLTEifQo=", - "SSBjYW4ndCB3YWl0IHRvIGJlIHZlcmlmaWVk" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJuYW1lIjoiYnVja2V0SW5Db3B5QXR0cnMifQo=", + "Zm9v" ] }, "Response": { @@ -8216,20 +10198,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3414" + "3336" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:33 GMT" + "Thu, 02 May 2019 22:24:43 GMT" ], "Etag": [ - "CPGUu5/b4d8CEAE=" + "CPCDx87x/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -8244,30 +10229,41 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoysvvZSkRFnRY65ynp6_fYFRdRspLHFY6CcIOCTwuKe0I17bUW8rn6QmyJ_noa2uNrjjQc8jRM9Vj_6EPeOjllnvFn_X06lWh51BUgQbPkrYolGXQ" + "AEnB2UrltsLp6xgl5GQBA_ZoqyMKcRlP-MvWyo0epRXUAbOAkOUUpAOgezp4fFQRP5wEM1fq771AWUgtYvQ3HLXCnwxmDaCqJxEhICiYhxDp8RpvCnn3xuI" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9oYXNoZXNPblVwbG9hZC0xLzE1NDcwNzE3MTM2MjY3MzciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9oYXNoZXNPblVwbG9hZC0xIiwibmFtZSI6Imhhc2hlc09uVXBsb2FkLTEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMzYyNjczNyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODozMy42MjZaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzMuNjI2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjMzLjYyNloiLCJzaXplIjoiMjciLCJtZDVIYXNoIjoib2ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTE/Z2VuZXJhdGlvbj0xNTQ3MDcxNzEzNjI2NzM3JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU0NzA3MTcxMzYyNjczNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTEvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiaGFzaGVzT25VcGxvYWQtMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzEzNjI2NzM3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUEdVdTUvYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvaGFzaGVzT25VcGxvYWQtMS8xNTQ3MDcxNzEzNjI2NzM3L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMzYyNjczNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUEdVdTUvYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvaGFzaGVzT25VcGxvYWQtMS8xNTQ3MDcxNzEzNjI2NzM3L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTEvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMzYyNjczNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1BHVXU1L2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU0NzA3MTcxMzYyNjczNy91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vaGFzaGVzT25VcGxvYWQtMS9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMzYyNjczNyIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQR1V1NS9iNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiY0grQSt3PT0iLCJldGFnIjoiQ1BHVXU1L2I0ZDhDRUFFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9idWNrZXRJbkNvcHlBdHRycy8xNTU2ODM1ODgzNjYzODU2Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYnVja2V0SW5Db3B5QXR0cnMiLCJuYW1lIjoiYnVja2V0SW5Db3B5QXR0cnMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4MzY2Mzg1NiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0My42NjNaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NDMuNjYzWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQzLjY2M1oiLCJzaXplIjoiMyIsIm1kNUhhc2giOiJyTDBZMjB6QytGenQ3MlZQek1TazJBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYnVja2V0SW5Db3B5QXR0cnM/Z2VuZXJhdGlvbj0xNTU2ODM1ODgzNjYzODU2JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2J1Y2tldEluQ29weUF0dHJzLzE1NTY4MzU4ODM2NjM4NTYvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYnVja2V0SW5Db3B5QXR0cnMvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImJ1Y2tldEluQ29weUF0dHJzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODM2NjM4NTYiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ1BDRHg4N3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2J1Y2tldEluQ29weUF0dHJzLzE1NTY4MzU4ODM2NjM4NTYvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2J1Y2tldEluQ29weUF0dHJzL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYnVja2V0SW5Db3B5QXR0cnMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4MzY2Mzg1NiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNQQ0R4ODd4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9idWNrZXRJbkNvcHlBdHRycy8xNTU2ODM1ODgzNjYzODU2L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9idWNrZXRJbkNvcHlBdHRycy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImJ1Y2tldEluQ29weUF0dHJzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODM2NjM4NTYiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1BDRHg4N3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2J1Y2tldEluQ29weUF0dHJzLzE1NTY4MzU4ODM2NjM4NTYvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2J1Y2tldEluQ29weUF0dHJzL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYnVja2V0SW5Db3B5QXR0cnMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4MzY2Mzg1NiIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQQ0R4ODd4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiejhTdUhRPT0iLCJldGFnIjoiQ1BDRHg4N3gvZUVDRUFFPSJ9" } }, { - "ID": "867bd6db127d30df", + "ID": "284a06aa5d3f4c0f", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/bucketInCopyAttrs/rewriteTo/b/go-integration-test-20190502-80633403432013-0001/o/bucketInCopyAttrs?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "62" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJtZDVIYXNoIjoib3ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09IiwibmFtZSI6Imhhc2hlc09uVXBsb2FkLTEifQo=", - "SSBjYW4ndCB3YWl0IHRvIGJlIHZlcmlmaWVk" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEifQo=" ] }, "Response": { @@ -8276,14 +10272,17 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Content-Length": [ - "318" + "2972" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:33 GMT" + "Thu, 02 May 2019 22:24:43 GMT" ], "Server": [ "UploadServer" @@ -8292,18 +10291,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UoWC8YEoXkxhPKkSwm5id2G5U3adlnpiRzrdhWpZUApORUxEhpikSfJj6KQAycF_Rx_xRb9k8Z6pmtzDCpj75Cj4hK7BUzKSkbqMKIrH9lSBQrbkVY" + "AEnB2UqEuzT5vUHzBcQTT84B5lbxQRZ8Wazbvf7pARGdim0OKOWWM6MdR9KrH11f9w9bxrybc2YHzoveHnAwpEgFzwUcXlLN8xDttCt9pwOnPMX3My8utXg" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImludmFsaWQiLCJtZXNzYWdlIjoiUHJvdmlkZWQgTUQ1IGhhc2ggXCJvdlpqR2xjWFBKaUdPQWZLRmJKbDFRPT1cIiBkb2Vzbid0IG1hdGNoIGNhbGN1bGF0ZWQgTUQ1IGhhc2ggXCJvZlpqR2xjWFBKaUdPQWZLRmJKbDFRPT1cIi4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IlByb3ZpZGVkIE1ENSBoYXNoIFwib3ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09XCIgZG9lc24ndCBtYXRjaCBjYWxjdWxhdGVkIE1ENSBoYXNoIFwib2ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09XCIuIn19" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IlJlcXVpcmVkIiwiZGVidWdJbmZvIjoiY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVJFUVVJUkVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89bnVsbCwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWJhZFJlcXVlc3QsIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLlJFUVVJUkVELCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1udWxsLCBlcnJvclByb3RvQ29kZT1SRVFVSVJFRCwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1lbnRpdHkuZGVzdGluYXRpb25fcmVzb3VyY2UuaWQubmFtZSwgbWVzc2FnZT1udWxsLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249ZW50aXR5LmRlc3RpbmF0aW9uX3Jlc291cmNlLmlkLm5hbWUsIG1lc3NhZ2U9UmVxdWlyZWQsIHJlYXNvbj1yZXF1aXJlZCwgcnBjQ29kZT00MDB9IFJlcXVpcmVkXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDAwLCJtZXNzYWdlIjoiUmVxdWlyZWQifX0=" } }, { - "ID": "f96befc719a5b9ec", + "ID": "631a4dc25c1479df", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/iam?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -8312,8 +10320,11 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjcmMzMmMiOiJjSCtBK3c9PSIsIm5hbWUiOiJoYXNoZXNPblVwbG9hZC0xIn0K", + "SSBjYW4ndCB3YWl0IHRvIGJlIHZlcmlmaWVk" + ] }, "Response": { "StatusCode": 200, @@ -8321,23 +10332,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "341" + "3321" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:34 GMT" + "Thu, 02 May 2019 22:24:44 GMT" ], "Etag": [ - "CAg=" + "CIes587x/eECEAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:34 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -8346,60 +10363,58 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqCljO-LJG_KoaTiOQVIcyFna9LoX9FwpLPNXUKPJY91QZWJjiz5nK91BZz-_UA6pJfJfBC8MBjF7lNBRlBqrOurvUttkWCDHuCDz9pQWbwTEnaSYQ" + "AEnB2Up5pzFgsk-trM6xfNGHCutAafrBhKStla4toQDjvEsTPe4TTesYnwc0KLg9WK95RXOKqdm_KUngd4hv6Tucfns_MALlJyx1s6A2cZR3vco6jKPTW00" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNwb2xpY3kiLCJyZXNvdXJjZUlkIjoicHJvamVjdHMvXy9idWNrZXRzL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImJpbmRpbmdzIjpbeyJyb2xlIjoicm9sZXMvc3RvcmFnZS5sZWdhY3lCdWNrZXRPd25lciIsIm1lbWJlcnMiOlsicHJvamVjdEVkaXRvcjpkdWxjZXQtcG9ydC03NjIiLCJwcm9qZWN0T3duZXI6ZHVsY2V0LXBvcnQtNzYyIl19LHsicm9sZSI6InJvbGVzL3N0b3JhZ2UubGVnYWN5QnVja2V0UmVhZGVyIiwibWVtYmVycyI6WyJwcm9qZWN0Vmlld2VyOmR1bGNldC1wb3J0LTc2MiJdfV0sImV0YWciOiJDQWc9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9oYXNoZXNPblVwbG9hZC0xLzE1NTY4MzU4ODQxOTMyODciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9oYXNoZXNPblVwbG9hZC0xIiwibmFtZSI6Imhhc2hlc09uVXBsb2FkLTEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4NDE5MzI4NyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0NC4xOTJaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NDQuMTkyWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQ0LjE5MloiLCJzaXplIjoiMjciLCJtZDVIYXNoIjoib2ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTE/Z2VuZXJhdGlvbj0xNTU2ODM1ODg0MTkzMjg3JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU1NjgzNTg4NDE5MzI4Ny9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9oYXNoZXNPblVwbG9hZC0xL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJoYXNoZXNPblVwbG9hZC0xIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODQxOTMyODciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0llczU4N3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU1NjgzNTg4NDE5MzI4Ny9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vaGFzaGVzT25VcGxvYWQtMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4NDE5MzI4NyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNJZXM1ODd4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9oYXNoZXNPblVwbG9hZC0xLzE1NTY4MzU4ODQxOTMyODcvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJoYXNoZXNPblVwbG9hZC0xIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODQxOTMyODciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0llczU4N3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU1NjgzNTg4NDE5MzI4Ny91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vaGFzaGVzT25VcGxvYWQtMS9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4NDE5MzI4NyIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNJZXM1ODd4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiY0grQSt3PT0iLCJldGFnIjoiQ0llczU4N3gvZUVDRUFFPSJ9" } }, { - "ID": "abeaa6cc27bd2568", + "ID": "e60d42eeeafea205", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/iam?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "317" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "multipart/related", "BodyParts": [ - "eyJiaW5kaW5ncyI6W3sibWVtYmVycyI6WyJwcm9qZWN0RWRpdG9yOmR1bGNldC1wb3J0LTc2MiIsInByb2plY3RPd25lcjpkdWxjZXQtcG9ydC03NjIiXSwicm9sZSI6InJvbGVzL3N0b3JhZ2UubGVnYWN5QnVja2V0T3duZXIifSx7Im1lbWJlcnMiOlsicHJvamVjdFZpZXdlcjpkdWxjZXQtcG9ydC03NjIiXSwicm9sZSI6InJvbGVzL3N0b3JhZ2UubGVnYWN5QnVja2V0UmVhZGVyIn0seyJtZW1iZXJzIjpbInByb2plY3RWaWV3ZXI6ZHVsY2V0LXBvcnQtNzYyIl0sInJvbGUiOiJyb2xlcy9zdG9yYWdlLm9iamVjdFZpZXdlciJ9XSwiZXRhZyI6IkNBZz0ifQo=" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjcmMzMmMiOiJjSCtBL0E9PSIsIm5hbWUiOiJoYXNoZXNPblVwbG9hZC0xIn0K", + "SSBjYW4ndCB3YWl0IHRvIGJlIHZlcmlmaWVk" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 400, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "423" + "3301" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:35 GMT" - ], - "Etag": [ - "CAk=" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:44 GMT" ], "Server": [ "UploadServer" @@ -8408,18 +10423,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Upsjq9mS8XgAjQYly9P6xm0Au2w5jMDUiXMZ3QmKJfnmQKERvV_KpGdbLz30THvEIb0UsCoYaOo7MJS9BC8eeLTJXc8VWkWwXeywAL4i_dl8Ge9KRg" + "AEnB2UpZ9QOOcNdGntWr097PRNnaDFbt2xarczbyHRwkwxSiwRZIhV26iZGbh5vHIpvl3Z5Dxc7hjtWuutHTMn8jpCTEowLJNAre2A6mZxVNtV52Vh6XDX4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNwb2xpY3kiLCJyZXNvdXJjZUlkIjoicHJvamVjdHMvXy9idWNrZXRzL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImJpbmRpbmdzIjpbeyJyb2xlIjoicm9sZXMvc3RvcmFnZS5sZWdhY3lCdWNrZXRPd25lciIsIm1lbWJlcnMiOlsicHJvamVjdEVkaXRvcjpkdWxjZXQtcG9ydC03NjIiLCJwcm9qZWN0T3duZXI6ZHVsY2V0LXBvcnQtNzYyIl19LHsicm9sZSI6InJvbGVzL3N0b3JhZ2UubGVnYWN5QnVja2V0UmVhZGVyIiwibWVtYmVycyI6WyJwcm9qZWN0Vmlld2VyOmR1bGNldC1wb3J0LTc2MiJdfSx7InJvbGUiOiJyb2xlcy9zdG9yYWdlLm9iamVjdFZpZXdlciIsIm1lbWJlcnMiOlsicHJvamVjdFZpZXdlcjpkdWxjZXQtcG9ydC03NjIiXX1dLCJldGFnIjoiQ0FrPSJ9" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImludmFsaWQiLCJtZXNzYWdlIjoiUHJvdmlkZWQgQ1JDMzJDIFwiY0grQS9BPT1cIiBkb2Vzbid0IG1hdGNoIGNhbGN1bGF0ZWQgQ1JDMzJDIFwiY0grQSt3PT1cIi4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5GYXVsdDogSW1tdXRhYmxlRXJyb3JEZWZpbml0aW9ue2Jhc2U9SU5WQUxJRF9WQUxVRSwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPW51bGwsIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1iYWRSZXF1ZXN0LCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5JTlZBTElEX1ZBTFVFLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1udWxsLCBlcnJvclByb3RvQ29kZT1JTlZBTElEX1ZBTFVFLCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZS5jcmMzMmMsIG1lc3NhZ2U9UHJvdmlkZWQgQ1JDMzJDIFwiY0grQS9BPT1cIiBkb2Vzbid0IG1hdGNoIGNhbGN1bGF0ZWQgQ1JDMzJDIFwiY0grQSt3PT1cIi4sIHVubmFtZWRBcmd1bWVudHM9W2NIK0EvQT09XX0sIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZS5jcmMzMmMsIG1lc3NhZ2U9UHJvdmlkZWQgQ1JDMzJDIFwiY0grQS9BPT1cIiBkb2Vzbid0IG1hdGNoIGNhbGN1bGF0ZWQgQ1JDMzJDIFwiY0grQSt3PT1cIi4sIHJlYXNvbj1pbnZhbGlkLCBycGNDb2RlPTQwMH0gUHJvdmlkZWQgQ1JDMzJDIFwiY0grQS9BPT1cIiBkb2Vzbid0IG1hdGNoIGNhbGN1bGF0ZWQgQ1JDMzJDIFwiY0grQSt3PT1cIi5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJQcm92aWRlZCBDUkMzMkMgXCJjSCtBL0E9PVwiIGRvZXNuJ3QgbWF0Y2ggY2FsY3VsYXRlZCBDUkMzMkMgXCJjSCtBK3c9PVwiLiJ9fQ==" } }, { - "ID": "d4f1638a93e7c80a", + "ID": "5a293e6162b30ef3", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/iam?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -8428,8 +10452,11 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJuYW1lIjoiaGFzaGVzT25VcGxvYWQtMSJ9Cg==", + "SSBjYW4ndCB3YWl0IHRvIGJlIHZlcmlmaWVk" + ] }, "Response": { "StatusCode": 200, @@ -8437,23 +10464,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "423" + "3321" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:35 GMT" + "Thu, 02 May 2019 22:24:44 GMT" ], "Etag": [ - "CAk=" + "CJuDg8/x/eECEAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:35 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -8462,18 +10495,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpNSYrwLVsAfF7wy8jXXk3pgmgYFCqocFyxCQQKAeJSALI_ytBAhcqeTM9ZsIgWio1IUKaUQh4Z1zUIEdxJrfutzyuZJIfZNnVGbX6iKAZyCb5NHrQ" + "AEnB2UqgpXYBQOYHYXTQAVb7IGna0BRqHaB7oBdZ19frcgAVGErLbEHe3bESKZ7zKSO6r0AtvqwfCEuJty95EeD5MkwqIsXbr88YcTG0j7M-g4yTKkejukI" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNwb2xpY3kiLCJyZXNvdXJjZUlkIjoicHJvamVjdHMvXy9idWNrZXRzL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImJpbmRpbmdzIjpbeyJyb2xlIjoicm9sZXMvc3RvcmFnZS5sZWdhY3lCdWNrZXRPd25lciIsIm1lbWJlcnMiOlsicHJvamVjdEVkaXRvcjpkdWxjZXQtcG9ydC03NjIiLCJwcm9qZWN0T3duZXI6ZHVsY2V0LXBvcnQtNzYyIl19LHsicm9sZSI6InJvbGVzL3N0b3JhZ2UubGVnYWN5QnVja2V0UmVhZGVyIiwibWVtYmVycyI6WyJwcm9qZWN0Vmlld2VyOmR1bGNldC1wb3J0LTc2MiJdfSx7InJvbGUiOiJyb2xlcy9zdG9yYWdlLm9iamVjdFZpZXdlciIsIm1lbWJlcnMiOlsicHJvamVjdFZpZXdlcjpkdWxjZXQtcG9ydC03NjIiXX1dLCJldGFnIjoiQ0FrPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9oYXNoZXNPblVwbG9hZC0xLzE1NTY4MzU4ODQ2NDY4MTEiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9oYXNoZXNPblVwbG9hZC0xIiwibmFtZSI6Imhhc2hlc09uVXBsb2FkLTEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4NDY0NjgxMSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0NC42NDZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NDQuNjQ2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQ0LjY0NloiLCJzaXplIjoiMjciLCJtZDVIYXNoIjoib2ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTE/Z2VuZXJhdGlvbj0xNTU2ODM1ODg0NjQ2ODExJmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU1NjgzNTg4NDY0NjgxMS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9oYXNoZXNPblVwbG9hZC0xL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJoYXNoZXNPblVwbG9hZC0xIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODQ2NDY4MTEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0p1RGc4L3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU1NjgzNTg4NDY0NjgxMS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vaGFzaGVzT25VcGxvYWQtMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4NDY0NjgxMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNKdURnOC94L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9oYXNoZXNPblVwbG9hZC0xLzE1NTY4MzU4ODQ2NDY4MTEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJoYXNoZXNPblVwbG9hZC0xIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODQ2NDY4MTEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0p1RGc4L3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU1NjgzNTg4NDY0NjgxMS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vaGFzaGVzT25VcGxvYWQtMS9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4NDY0NjgxMSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNKdURnOC94L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiY0grQSt3PT0iLCJldGFnIjoiQ0p1RGc4L3gvZUVDRUFFPSJ9" } }, { - "ID": "b2d4ddeadff4da2a", + "ID": "19f19648f1196c10", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/iam/testPermissions?alt=json\u0026permissions=storage.buckets.get\u0026permissions=storage.buckets.delete\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -8482,8 +10524,11 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJtZDVIYXNoIjoib2ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09IiwibmFtZSI6Imhhc2hlc09uVXBsb2FkLTEifQo=", + "SSBjYW4ndCB3YWl0IHRvIGJlIHZlcmlmaWVk" + ] }, "Response": { "StatusCode": 200, @@ -8491,20 +10536,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "108" + "3321" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:35 GMT" + "Thu, 02 May 2019 22:24:45 GMT" + ], + "Etag": [ + "CKDem8/x/eECEAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:35 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -8513,60 +10567,58 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Ur1LxjeqleJXcJ2uFz6Ew-c-3dXHU4oh85js08MJiUAOhXrATus0dV96tccw858RGYhgE6rVjZfTN3WIVoQ1fBrlqh9Mu5j5QHhM_n5a2ImTe6G_a0" + "AEnB2UqAmKuvPxUsjTHDB5nMuNG92dU0gql0Yol2zlvPDWEDuXHQRLhOJzYBAH207Ot-_IB22pH5QSfTaTayqEWBUfkobCR9YGVa79W0LG4fv9fnAjxk5Cs" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSN0ZXN0SWFtUGVybWlzc2lvbnNSZXNwb25zZSIsInBlcm1pc3Npb25zIjpbInN0b3JhZ2UuYnVja2V0cy5nZXQiLCJzdG9yYWdlLmJ1Y2tldHMuZGVsZXRlIl19" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9oYXNoZXNPblVwbG9hZC0xLzE1NTY4MzU4ODUwNTE2ODAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9oYXNoZXNPblVwbG9hZC0xIiwibmFtZSI6Imhhc2hlc09uVXBsb2FkLTEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4NTA1MTY4MCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0NS4wNTFaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NDUuMDUxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQ1LjA1MVoiLCJzaXplIjoiMjciLCJtZDVIYXNoIjoib2ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTE/Z2VuZXJhdGlvbj0xNTU2ODM1ODg1MDUxNjgwJmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU1NjgzNTg4NTA1MTY4MC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9oYXNoZXNPblVwbG9hZC0xL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJoYXNoZXNPblVwbG9hZC0xIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODUwNTE2ODAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0tEZW04L3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU1NjgzNTg4NTA1MTY4MC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vaGFzaGVzT25VcGxvYWQtMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4NTA1MTY4MCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNLRGVtOC94L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9oYXNoZXNPblVwbG9hZC0xLzE1NTY4MzU4ODUwNTE2ODAvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJoYXNoZXNPblVwbG9hZC0xIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODUwNTE2ODAiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0tEZW04L3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU1NjgzNTg4NTA1MTY4MC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vaGFzaGVzT25VcGxvYWQtMS9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4NTA1MTY4MCIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNLRGVtOC94L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiY0grQSt3PT0iLCJldGFnIjoiQ0tEZW04L3gvZUVDRUFFPSJ9" } }, { - "ID": "1a271d30378f6700", + "ID": "880416f9891fc25f", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "93" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "multipart/related", "BodyParts": [ - "eyJiaWxsaW5nIjp7InJlcXVlc3RlclBheXMiOnRydWV9LCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIn0K" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJtZDVIYXNoIjoib3ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09IiwibmFtZSI6Imhhc2hlc09uVXBsb2FkLTEifQo=", + "SSBjYW4ndCB3YWl0IHRvIGJlIHZlcmlmaWVk" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 400, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "517" + "3515" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:36 GMT" - ], - "Etag": [ - "CAE=" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:45 GMT" ], "Server": [ "UploadServer" @@ -8575,32 +10627,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UqAgsKxGn-tSnULNUFHVs_ZT9kujYpRBeTyu7Id8leUeRb1R_iCmx8Jaeu_y9Wp0TYSywwy_VeApjFAmKJjZ9zgKxNmdFMAAPGrg0BXX8YBM6kM9pc" + "AEnB2UoFC5_DRlr9xktR_eWpfuFqiZRbenVOATtUEg3tfJC8JbCqagKQzn0_sYLvxvG52ordbl2Nwo0L6Y0AbwuenLAo1uoX4uzHnro-JiY8MkdQEsO3uSA" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzUuOTg4WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjM1Ljk4OFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiYmlsbGluZyI6eyJyZXF1ZXN0ZXJQYXlzIjp0cnVlfSwiZXRhZyI6IkNBRT0ifQ==" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImludmFsaWQiLCJtZXNzYWdlIjoiUHJvdmlkZWQgTUQ1IGhhc2ggXCJvdlpqR2xjWFBKaUdPQWZLRmJKbDFRPT1cIiBkb2Vzbid0IG1hdGNoIGNhbGN1bGF0ZWQgTUQ1IGhhc2ggXCJvZlpqR2xjWFBKaUdPQWZLRmJKbDFRPT1cIi4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5GYXVsdDogSW1tdXRhYmxlRXJyb3JEZWZpbml0aW9ue2Jhc2U9SU5WQUxJRF9WQUxVRSwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPW51bGwsIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1iYWRSZXF1ZXN0LCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5JTlZBTElEX1ZBTFVFLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1udWxsLCBlcnJvclByb3RvQ29kZT1JTlZBTElEX1ZBTFVFLCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZS5tZDVfaGFzaF9iYXNlNjQsIG1lc3NhZ2U9UHJvdmlkZWQgTUQ1IGhhc2ggXCJvdlpqR2xjWFBKaUdPQWZLRmJKbDFRPT1cIiBkb2Vzbid0IG1hdGNoIGNhbGN1bGF0ZWQgTUQ1IGhhc2ggXCJvZlpqR2xjWFBKaUdPQWZLRmJKbDFRPT1cIi4sIHVubmFtZWRBcmd1bWVudHM9W292WmpHbGNYUEppR09BZktGYkpsMVE9PV19LCBsb2NhdGlvbj1lbnRpdHkucmVzb3VyY2UubWQ1X2hhc2hfYmFzZTY0LCBtZXNzYWdlPVByb3ZpZGVkIE1ENSBoYXNoIFwib3ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09XCIgZG9lc24ndCBtYXRjaCBjYWxjdWxhdGVkIE1ENSBoYXNoIFwib2ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09XCIuLCByZWFzb249aW52YWxpZCwgcnBjQ29kZT00MDB9IFByb3ZpZGVkIE1ENSBoYXNoIFwib3ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09XCIgZG9lc24ndCBtYXRjaCBjYWxjdWxhdGVkIE1ENSBoYXNoIFwib2ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09XCIuXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDAwLCJtZXNzYWdlIjoiUHJvdmlkZWQgTUQ1IGhhc2ggXCJvdlpqR2xjWFBKaUdPQWZLRmJKbDFRPT1cIiBkb2Vzbid0IG1hdGNoIGNhbGN1bGF0ZWQgTUQ1IGhhc2ggXCJvZlpqR2xjWFBKaUdPQWZLRmJKbDFRPT1cIi4ifX0=" } }, { - "ID": "45e8f44f65fea947", + "ID": "e1a7bef7c2f0f7b9", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/acl/user-integration%40gcloud-golang-firestore-tests.iam.gserviceaccount.com?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/iam?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "159" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIn0K" + "" ] }, "Response": { @@ -8609,26 +10667,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "589" + "341" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:37 GMT" + "Thu, 02 May 2019 22:24:45 GMT" ], "Etag": [ - "CAI=" + "CAo=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:45 GMT" ], "Server": [ "UploadServer" @@ -8637,28 +10695,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqzuCmEtptmndSpOJISemqis4cyBt04j9jMdIuRYqEcK5nsaMznzGBaz47y40gKrNCkjUtAofcWniY6gP_rdzZO1OdbNw-rj_uevLtOYHonC7n4wuU" + "AEnB2UrDioJ0fktjtyI_mABE4-oH9KqDlurM5mWiYDhoDp_LRJYSPvDxjuoaYzNhjoTHdHPALySTzCxScTstm27R-praR27EAm4Gx9k3wHAAwKJUptqRnFE" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNBST0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNwb2xpY3kiLCJyZXNvdXJjZUlkIjoicHJvamVjdHMvXy9idWNrZXRzL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImJpbmRpbmdzIjpbeyJyb2xlIjoicm9sZXMvc3RvcmFnZS5sZWdhY3lCdWNrZXRPd25lciIsIm1lbWJlcnMiOlsicHJvamVjdEVkaXRvcjpkZWtsZXJrLXNhbmRib3giLCJwcm9qZWN0T3duZXI6ZGVrbGVyay1zYW5kYm94Il19LHsicm9sZSI6InJvbGVzL3N0b3JhZ2UubGVnYWN5QnVja2V0UmVhZGVyIiwibWVtYmVycyI6WyJwcm9qZWN0Vmlld2VyOmRla2xlcmstc2FuZGJveCJdfV0sImV0YWciOiJDQW89In0=" } }, { - "ID": "00ae8a7f12596fb7", + "ID": "df5371a2b0cd8c3b", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/iam?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "317" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJiaW5kaW5ncyI6W3sibWVtYmVycyI6WyJwcm9qZWN0RWRpdG9yOmRla2xlcmstc2FuZGJveCIsInByb2plY3RPd25lcjpkZWtsZXJrLXNhbmRib3giXSwicm9sZSI6InJvbGVzL3N0b3JhZ2UubGVnYWN5QnVja2V0T3duZXIifSx7Im1lbWJlcnMiOlsicHJvamVjdFZpZXdlcjpkZWtsZXJrLXNhbmRib3giXSwicm9sZSI6InJvbGVzL3N0b3JhZ2UubGVnYWN5QnVja2V0UmVhZGVyIn0seyJtZW1iZXJzIjpbInByb2plY3RWaWV3ZXI6ZGVrbGVyay1zYW5kYm94Il0sInJvbGUiOiJyb2xlcy9zdG9yYWdlLm9iamVjdFZpZXdlciJ9XSwiZXRhZyI6IkNBbz0ifQo=" + ] }, "Response": { "StatusCode": 200, @@ -8666,23 +10738,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3034" + "423" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:37 GMT" + "Thu, 02 May 2019 22:24:46 GMT" ], "Etag": [ - "CAI=" + "CAs=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:37 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -8691,18 +10769,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrFJYF4a-r9NrKf62bY-QZ6QULie6-XXFw_OxEKjTdrz7FkBf0I5XFmH9rwwvl-AHc3lrEWLt5Tuq-J-tDMJGkVVIvvcc1ZZvEw52Tv3sR-jYvZTso" + "AEnB2UrAVgetrpv1xjtKv2B7KFBdnbg20V-btiRn3sD4kQF7shWIQ1-FqJMRsbYfcYJyTMQHv_BhW_eVzvcc56z0LOcYfE-wbCRZpqYjen6c-bVcMzPet2A" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzUuOTg4WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjM3LjUxN1oiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2FjbC91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwiZW50aXR5IjoidXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiYmlsbGluZyI6eyJyZXF1ZXN0ZXJQYXlzIjp0cnVlfSwiZXRhZyI6IkNBST0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNwb2xpY3kiLCJyZXNvdXJjZUlkIjoicHJvamVjdHMvXy9idWNrZXRzL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImJpbmRpbmdzIjpbeyJyb2xlIjoicm9sZXMvc3RvcmFnZS5sZWdhY3lCdWNrZXRPd25lciIsIm1lbWJlcnMiOlsicHJvamVjdEVkaXRvcjpkZWtsZXJrLXNhbmRib3giLCJwcm9qZWN0T3duZXI6ZGVrbGVyay1zYW5kYm94Il19LHsicm9sZSI6InJvbGVzL3N0b3JhZ2UubGVnYWN5QnVja2V0UmVhZGVyIiwibWVtYmVycyI6WyJwcm9qZWN0Vmlld2VyOmRla2xlcmstc2FuZGJveCJdfSx7InJvbGUiOiJyb2xlcy9zdG9yYWdlLm9iamVjdFZpZXdlciIsIm1lbWJlcnMiOlsicHJvamVjdFZpZXdlcjpkZWtsZXJrLXNhbmRib3giXX1dLCJldGFnIjoiQ0FzPSJ9" } }, { - "ID": "2f5e37840e3f96ff", + "ID": "feaa4b1a4dda0450", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=dulcet-port-762", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/iam?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -8712,7 +10799,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -8720,23 +10809,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "3034" + "423" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:38 GMT" + "Thu, 02 May 2019 22:24:46 GMT" ], "Etag": [ - "CAI=" + "CAs=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:38 GMT" + "Thu, 02 May 2019 22:24:46 GMT" ], "Server": [ "UploadServer" @@ -8745,18 +10837,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoA3fb_mjfvir6sieY6gSwFljqHajQpW7kne_ykCRYD1wpSoAqSbu0r23fgoAddVT3lXCGyn3ZZoQ2-a3SeLFAD0wH8oYnhbmaqCbleZ9jPaTEQ9xs" + "AEnB2UqwMVZVQQ8s-ZBUJDLKyC-qMMTANncoBhRQWlMCITVUXQrTnFGGxu4GdKyVcuudrSa-DWy5w5iLE-i4a407GopUNma3xIq1eNiyVAziPD7jQ4YluzA" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzUuOTg4WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjM3LjUxN1oiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2FjbC91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwiZW50aXR5IjoidXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiYmlsbGluZyI6eyJyZXF1ZXN0ZXJQYXlzIjp0cnVlfSwiZXRhZyI6IkNBST0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNwb2xpY3kiLCJyZXNvdXJjZUlkIjoicHJvamVjdHMvXy9idWNrZXRzL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImJpbmRpbmdzIjpbeyJyb2xlIjoicm9sZXMvc3RvcmFnZS5sZWdhY3lCdWNrZXRPd25lciIsIm1lbWJlcnMiOlsicHJvamVjdEVkaXRvcjpkZWtsZXJrLXNhbmRib3giLCJwcm9qZWN0T3duZXI6ZGVrbGVyay1zYW5kYm94Il19LHsicm9sZSI6InJvbGVzL3N0b3JhZ2UubGVnYWN5QnVja2V0UmVhZGVyIiwibWVtYmVycyI6WyJwcm9qZWN0Vmlld2VyOmRla2xlcmstc2FuZGJveCJdfSx7InJvbGUiOiJyb2xlcy9zdG9yYWdlLm9iamVjdFZpZXdlciIsIm1lbWJlcnMiOlsicHJvamVjdFZpZXdlcjpkZWtsZXJrLXNhbmRib3giXX1dLCJldGFnIjoiQ0FzPSJ9" } }, { - "ID": "ea8b1a474d3ff876", + "ID": "23d94c8a09c0c334", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/iam/testPermissions?alt=json\u0026permissions=storage.buckets.get\u0026permissions=storage.buckets.delete\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -8766,28 +10867,33 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 400, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "221" + "108" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:38 GMT" + "Thu, 02 May 2019 22:24:46 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:38 GMT" + "Thu, 02 May 2019 22:24:46 GMT" ], "Server": [ "UploadServer" @@ -8796,28 +10902,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqRb3OjMr9UA_3tDVhSb2mzELNmilNq1KP0_EtIOeigSogiLAW2y5-p4xe126oc-6XyxuCEoumQ20C5BrVBYp_AKP1rDeS9yD1DebTsVTwgo9p8VfY" + "AEnB2UoR-XKWu9nOWmFZve2-NeDyDvZDo5rYpPD3avVEmZkZ-lODvHCSR0D7zdPeCa61L5EtOIYJBqmC0D9Xc229A1GDS5d91vgAGuzRoxRnNa9DjBw68xM" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" + "Body": "eyJraW5kIjoic3RvcmFnZSN0ZXN0SWFtUGVybWlzc2lvbnNSZXNwb25zZSIsInBlcm1pc3Npb25zIjpbInN0b3JhZ2UuYnVja2V0cy5nZXQiLCJzdG9yYWdlLmJ1Y2tldHMuZGVsZXRlIl19" } }, { - "ID": "ce48b0e421608879", + "ID": "3d0a13fe961ed15c", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=gcloud-golang-firestore-tests", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "93" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJiaWxsaW5nIjp7InJlcXVlc3RlclBheXMiOnRydWV9LCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIn0K" + ] }, "Response": { "StatusCode": 200, @@ -8825,23 +10945,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3034" + "518" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:38 GMT" + "Thu, 02 May 2019 22:24:47 GMT" ], "Etag": [ - "CAI=" + "CAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:38 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -8850,49 +10976,72 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoLM-kRZ3Sw-9u-qL6l78Bo_xATfD-AW-A-4lI_a9xj7NLDWIrNiSwKINgsrIFNQX41frS_5RYF6X5jCJItioBc_us5u8TVabBSc9XCkzsyCT1e2Jk" + "AEnB2UoIRjhruHo5rweyX35Zt-Mzm5UDD5vr4319gSNjtnJHD2RWtVLvQdjuZ0jv-XKT3s1xcJO7CvoU-qAehCknukI5ssvv2LgwazyhnkcuFws3isqM9uo" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzUuOTg4WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjM3LjUxN1oiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2FjbC91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwiZW50aXR5IjoidXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiYmlsbGluZyI6eyJyZXF1ZXN0ZXJQYXlzIjp0cnVlfSwiZXRhZyI6IkNBST0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQ2LjgwM1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0Ni44MDNaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImJpbGxpbmciOnsicmVxdWVzdGVyUGF5cyI6dHJ1ZX0sImV0YWciOiJDQUU9In0=" } }, { - "ID": "e7c851b3c6234961", + "ID": "c1f385994f4db8e3", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=veener-jba", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/acl/user-integration%40gcloud-golang-firestore-tests.iam.gserviceaccount.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "159" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIn0K" + ] }, "Response": { - "StatusCode": 403, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "374" + "589" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:38 GMT" + "Thu, 02 May 2019 22:24:48 GMT" + ], + "Etag": [ + "CAI=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:38 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -8901,18 +11050,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UooC5duNVjj41DMZ-6teq7eEbT31eKlPfGCX6f8Wyg-py8Widw0XXfPaH_Qq7-9e8gH_SgL4xaN-qmUv0aAkVbMXuX5fw" + "AEnB2UozEPu-BKQnmBUxTwsOWB7mmIPC5lppmUt6lA150OiXgQttSVRetVysUp299p7PbjI08qchUQl2idgMbfBCScDL5SuoHi_u9ani0DXYX2OV9QXAovQ" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS4ifX0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNBST0ifQ==" } }, { - "ID": "5391904584af868e", + "ID": "ccb3141a79c55333", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -8921,10 +11079,9 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoiZm9vIn0K", - "aGVsbG8=" + "" ] }, "Response": { @@ -8933,26 +11090,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "3226" + "3054" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:39 GMT" + "Thu, 02 May 2019 22:24:48 GMT" ], "Etag": [ - "CO2oi6Lb4d8CEAE=" + "CAI=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:48 GMT" ], "Server": [ "UploadServer" @@ -8961,18 +11118,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrPD6KLE1seJslSaF1ZkTupzdu2arabpWWyK7Aq6AUv51oYPulk697BcOvW5NEBuhgkgEqD4dmyNquG0FZjIe2EZnvNPOwf24aKmW6huGrYAkaO82w" + "AEnB2UoG9XpooOFPlHtC8fg7llzYYETQUMEm0PvG4TbxBF5KdfCdB_sxNi0Yy9KrAmMDPBVyq0Iuaq7mzQOhQe9lXe5PBOc8-CGTXZiEMkMMJe3OYxjExIM" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcxOTEzNDMxNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxOTEzNDMxNyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODozOS4xMzRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzkuMTM0WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjM5LjEzNFoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU0NzA3MTcxOTEzNDMxNyZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcxOTEzNDMxNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxOTEzNDMxNyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ08yb2k2TGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzE5MTM0MzE3L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTkxMzQzMTciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ08yb2k2TGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzE5MTM0MzE3L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTkxMzQzMTciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPMm9pNkxiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcxOTEzNDMxNy91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTkxMzQzMTciLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTzJvaTZMYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNPMm9pNkxiNGQ4Q0VBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQ2LjgwM1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0Ny45MTlaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCJ9LCJsb2NhdGlvbiI6IlVTIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJiaWxsaW5nIjp7InJlcXVlc3RlclBheXMiOnRydWV9LCJldGFnIjoiQ0FJPSJ9" } }, { - "ID": "7b0ce4647077d926", + "ID": "2d4244737318f2d5", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart\u0026userProject=dulcet-port-762", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" @@ -8981,10 +11147,9 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoiZm9vIn0K", - "aGVsbG8=" + "" ] }, "Response": { @@ -8993,26 +11158,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "3226" + "3054" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:39 GMT" + "Thu, 02 May 2019 22:24:48 GMT" ], "Etag": [ - "CKbFqaLb4d8CEAE=" + "CAI=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:48 GMT" ], "Server": [ "UploadServer" @@ -9021,18 +11186,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpHxORbrkIA7dVPHYginjx48FiWqag-2bJ5Vun-2jcXQlT46wFW-Ecy2ARq_VPckEkEkTxd7udI7j6TQnjPkBc__rLG7b87ELze635wvAcRU6n2t9U" + "AEnB2Uqn_UdEXhLLXE1QsYjwtyqQlzX3nDvpAO1WNpRkHhyV39RJKkxMBrcd8f6Xo3VZFDps7iKuQHnW49yRqjh42062lkisOH7otDXrdAKAih4Iz9fzERM" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcxOTYyOTQ3OCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxOTYyOTQ3OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODozOS42MjlaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzkuNjI5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjM5LjYyOVoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU0NzA3MTcxOTYyOTQ3OCZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcxOTYyOTQ3OC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxOTYyOTQ3OCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0tiRnFhTGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzE5NjI5NDc4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTk2Mjk0NzgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0tiRnFhTGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzE5NjI5NDc4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTk2Mjk0NzgiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNLYkZxYUxiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcxOTYyOTQ3OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTk2Mjk0NzgiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDS2JGcWFMYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNLYkZxYUxiNGQ4Q0VBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQ2LjgwM1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0Ny45MTlaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCJ9LCJsb2NhdGlvbiI6IlVTIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJiaWxsaW5nIjp7InJlcXVlc3RlclBheXMiOnRydWV9LCJldGFnIjoiQ0FJPSJ9" } }, { - "ID": "3836b50e8bbf4201", + "ID": "b63c3951975a766e", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -9041,10 +11215,9 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoiZm9vIn0K", - "aGVsbG8=" + "" ] }, "Response": { @@ -9053,14 +11226,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "private, max-age=0" + ], "Content-Length": [ - "221" + "12183" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:39 GMT" + "Thu, 02 May 2019 22:24:49 GMT" + ], + "Expires": [ + "Thu, 02 May 2019 22:24:49 GMT" ], "Server": [ "UploadServer" @@ -9069,18 +11251,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq2QpXM4Y7nPOlvgNoyjGByef2LTIqNUsS9KvOYf6NHqu1HHopDTDWTKuVhGHF6YIJgHSIGMXxGOkIOUR08ys7n819OQ5qiyc1U96QT_JPsf1E2RIM" + "AEnB2Uq-LP6kQLHNpjT5jYVkPzNXyfr838sGr4jGMVPq-FOq01ayCWvyWVAsvUbxp0NSdOYJcW-z0i2NkQLuSKGQYrX_3z8LW1Vb4uL2jxfC8kSiuz28hkA" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5HZXRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEdldEJ1Y2tldC5qYXZhOjEwNClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkdldEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoR2V0QnVja2V0LmphdmE6MzMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkJ1Y2tldHNEZWxlZ2F0b3IuZ2V0KEJ1Y2tldHNEZWxlZ2F0b3IuamF2YTo4Mylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVJFUVVJUkVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuR2V0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRCdWNrZXQuamF2YToxMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5HZXRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEdldEJ1Y2tldC5qYXZhOjMzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5CdWNrZXRzRGVsZWdhdG9yLmdldChCdWNrZXRzRGVsZWdhdG9yLmphdmE6ODMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1iYWRSZXF1ZXN0LCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5SRVFVSVJFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuR2V0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRCdWNrZXQuamF2YToxMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5HZXRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEdldEJ1Y2tldC5qYXZhOjMzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5CdWNrZXRzRGVsZWdhdG9yLmdldChCdWNrZXRzRGVsZWdhdG9yLmphdmE6ODMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMH0gQnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuR2V0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRCdWNrZXQuamF2YToxMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5HZXRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEdldEJ1Y2tldC5qYXZhOjMzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5CdWNrZXRzRGVsZWdhdG9yLmdldChCdWNrZXRzRGVsZWdhdG9yLmphdmE6ODMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJCdWNrZXQgaXMgcmVxdWVzdGVyIHBheXMgYnVja2V0IGJ1dCBubyB1c2VyIHByb2plY3QgcHJvdmlkZWQuIn19" } }, { - "ID": "72ad6b33d8e15768", + "ID": "0764f2598b67c664", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart\u0026userProject=gcloud-golang-firestore-tests", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=gcloud-golang-firestore-tests", "Header": { "Accept-Encoding": [ "gzip" @@ -9089,10 +11280,9 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoiZm9vIn0K", - "aGVsbG8=" + "" ] }, "Response": { @@ -9101,26 +11291,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "3181" + "3054" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:40 GMT" + "Thu, 02 May 2019 22:24:49 GMT" ], "Etag": [ - "CKWgwqLb4d8CEAE=" + "CAI=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:49 GMT" ], "Server": [ "UploadServer" @@ -9129,18 +11319,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpOdGqtbOq1zjb69i05g0hB1uNnyvIyqDHd0jt8XWDN9saBfEanzQUv5bRWYz40n3p7UzSX-uTxT70kO18QQVP9jlc3inpGAYthBh8hl62xkJDmMaQ" + "AEnB2UrGddSv5GSaZB7qBmb0PigbMbJmWs91JB0W99oOTcbMeUk9QeBf-7QF7W_BpAn3wNxqVD5cBDPgGuKrZCfYv77SgCGxcPW-jrXsUY5h50q8eFL0_3o" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODo0MC4wMzRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6NDAuMDM0WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjQwLjAzNFoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU0NzA3MTcyMDAzNDM0MSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MS91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDS1dnd3FMYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQ2LjgwM1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0Ny45MTlaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCJ9LCJsb2NhdGlvbiI6IlVTIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJiaWxsaW5nIjp7InJlcXVlc3RlclBheXMiOnRydWV9LCJldGFnIjoiQ0FJPSJ9" } }, { - "ID": "32bb974b3eaf9f61", + "ID": "bdb0ff507e4df251", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart\u0026userProject=veener-jba", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=veener-jba", "Header": { "Accept-Encoding": [ "gzip" @@ -9149,10 +11348,9 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoiZm9vIn0K", - "aGVsbG8=" + "" ] }, "Response": { @@ -9161,14 +11359,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "private, max-age=0" + ], "Content-Length": [ - "374" + "13039" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:40 GMT" + "Thu, 02 May 2019 22:24:49 GMT" + ], + "Expires": [ + "Thu, 02 May 2019 22:24:49 GMT" ], "Server": [ "UploadServer" @@ -9177,28 +11384,40 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Uoc06OSaE5IySWBK0D5ygkKvGFlio8iYJNg2wvLAZDcEK4OvepqRyRvx3o0Ei7McJVkh0IAMI5EVP8Jn16_e9eIC3WCaQsFHy8idXKoGEn8TBCIADM" + "AEnB2Up8t6bOWiJucB8KpVlIp8WjWLSUKssQaynZNguVy_oBM2ggBePUFnoteMcbw_L9aSHoD4hwi91dMaBC4aVc6VuaMSBSVuCe0L_0IymxhBIx3SRj_As" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuR2V0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRCdWNrZXQuamF2YToxMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5HZXRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEdldEJ1Y2tldC5qYXZhOjMzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5CdWNrZXRzRGVsZWdhdG9yLmdldChCdWNrZXRzRGVsZWdhdG9yLmphdmE6ODMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUZPUkJJRERFTiwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuR2V0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRCdWNrZXQuamF2YToxMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5HZXRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEdldEJ1Y2tldC5qYXZhOjMzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5CdWNrZXRzRGVsZWdhdG9yLmdldChCdWNrZXRzRGVsZWdhdG9yLmphdmE6ODMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWZvcmJpZGRlbiwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uRk9SQklEREVOLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkdldEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoR2V0QnVja2V0LmphdmE6MTA0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuR2V0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRCdWNrZXQuamF2YTozMylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5nZXQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjgzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkdldEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoR2V0QnVja2V0LmphdmE6MTA0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuR2V0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRCdWNrZXQuamF2YTozMylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5nZXQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjgzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDMsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9fQ==" } }, { - "ID": "b4eebc4271ea1d41", + "ID": "d2e66ae2cc0d11bc", "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0003/foo", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoiZm9vIn0K", + "aGVsbG8=" + ] }, "Response": { "StatusCode": 200, @@ -9206,80 +11425,71 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "5" + "3133" ], "Content-Type": [ - "text/plain" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:40 GMT" + "Thu, 02 May 2019 22:24:50 GMT" ], "Etag": [ - "\"5d41402abc4b2a76b9719d911017c592\"" + "COq52NHx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:08:40 GMT" - ], "Pragma": [ "no-cache" ], "Server": [ "UploadServer" ], - "X-Goog-Generation": [ - "1547071720034341" - ], - "X-Goog-Hash": [ - "crc32c=mnG7TA==", - "md5=XUFAKrxLKna5cZ2REBfFkg==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "5" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UrokOU7gZvSwtRXF8gn-B0cyE0pqxzKDKwYW1X65-9x8HqvJ6LyCPog9rHhURY0p4y7rOfCc6dKzmrQLLQoChYxw7Q3NBT7vdfRjVfIXHnJBmFZI1o" + "AEnB2UqQ_qlqWPPh6t8-gwPlD5zRB96zsmFgzyez4LG3XN4uErivnyHcCeeHje_i95VLJcWYXn7_-knEn0faPBCCAIStf4fXGs_Lz_VzHK6CLBZjU-oBxcU" ] }, - "Body": "aGVsbG8=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MDI0MDc0NiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MDI0MDc0NiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo1MC4yNDBaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NTAuMjQwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjUwLjI0MFoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU1NjgzNTg5MDI0MDc0NiZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MDI0MDc0Ni9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkwMjQwNzQ2IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNPcTUyTkh4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MDI0MDc0Ni9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTAyNDA3NDYiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDT3E1Mk5IeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTAyNDA3NDYvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkwMjQwNzQ2IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPcTUyTkh4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MDI0MDc0Ni91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTAyNDA3NDYiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDT3E1Mk5IeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNPcTUyTkh4L2VFQ0VBRT0ifQ==" } }, { - "ID": "aa4fd0e56d5767e1", + "ID": "89b2bc9232a865a4", "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0003/foo", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" - ], - "X-Goog-User-Project": [ - "dulcet-port-762" + "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoiZm9vIn0K", + "aGVsbG8=" + ] }, "Response": { "StatusCode": 200, @@ -9287,77 +11497,71 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "5" + "3133" ], "Content-Type": [ - "text/plain" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:40 GMT" + "Thu, 02 May 2019 22:24:50 GMT" ], "Etag": [ - "\"5d41402abc4b2a76b9719d911017c592\"" + "CJTz9tHx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:08:40 GMT" - ], "Pragma": [ "no-cache" ], "Server": [ "UploadServer" ], - "X-Goog-Generation": [ - "1547071720034341" - ], - "X-Goog-Hash": [ - "crc32c=mnG7TA==", - "md5=XUFAKrxLKna5cZ2REBfFkg==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "5" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UqDhO0a9soEJZlI7r21zONn0NfMiRzio4jktDeu3ovTtKmgPRzHO6FiQujgbdUexUPAilR_zYupltIbjZKgBrc2Yy1tim_I9s_kUuUzTt8ZAQHaczY" + "AEnB2UrymnpCwS6vZ0kM33ZD4nBupWs9hAuaOGpwiNcS4GJctgaLPe9CQ0Ada06yQV1aEfh9FtX6lgYh9jHwbsT6qdgOYOYe9yGDdAF9f91aE4y4VUHQHts" ] }, - "Body": "aGVsbG8=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MDczOTYwNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MDczOTYwNCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo1MC43MzlaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NTAuNzM5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjUwLjczOVoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU1NjgzNTg5MDczOTYwNCZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MDczOTYwNC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkwNzM5NjA0IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNKVHo5dEh4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MDczOTYwNC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTA3Mzk2MDQiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSlR6OXRIeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTA3Mzk2MDQvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkwNzM5NjA0IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNKVHo5dEh4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MDczOTYwNC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTA3Mzk2MDQiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSlR6OXRIeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNKVHo5dEh4L2VFQ0VBRT0ifQ==" } }, { - "ID": "e8b5b0806450e741", + "ID": "a70634faba29225b", "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0003/foo", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoiZm9vIn0K", + "aGVsbG8=" + ] }, "Response": { "StatusCode": 400, @@ -9365,49 +11569,59 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "private, max-age=0" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "266" + "12243" ], "Content-Type": [ - "application/xml; charset=UTF-8" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:40 GMT" - ], - "Expires": [ - "Wed, 09 Jan 2019 22:08:40 GMT" + "Thu, 02 May 2019 22:24:51 GMT" ], "Server": [ "UploadServer" ], + "Vary": [ + "Origin", + "X-Origin" + ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UoBpfqJx_suHWYl-EQRHtNXbWOJ0c7hyrXUbNG-e6myRoBNKV5YPlk1EJfCgSgkRrOzjz_WENRGgAyBdDqsYkklEesFnWmVh8dN_sfR7CKM7Wqeq18" + "AEnB2UqsIKUUc6WyIHUlDvAIDlXVeOofVG4sVV3Rus8ktfPMTUTI7e4PH4657AoDnNOKKy9TOgt8yUtUvCNvDFQC1xwVApFofRhWT3kcjsEYRgZPCDDsUqM" ] }, - "Body": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48RXJyb3I+PENvZGU+VXNlclByb2plY3RNaXNzaW5nPC9Db2RlPjxNZXNzYWdlPkJ1Y2tldCBpcyBhIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjwvTWVzc2FnZT48RGV0YWlscz5CdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci48L0RldGFpbHM+PC9FcnJvcj4=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkluc2VydE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0T2JqZWN0LmphdmE6NDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuaW5zZXJ0KE9iamVjdHNEZWxlZ2F0b3IuamF2YTo5NSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVJFUVVJUkVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjQ0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmluc2VydChPYmplY3RzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1iYWRSZXF1ZXN0LCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5SRVFVSVJFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjQ0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmluc2VydChPYmplY3RzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMH0gQnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjQ0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmluc2VydChPYmplY3RzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJCdWNrZXQgaXMgcmVxdWVzdGVyIHBheXMgYnVja2V0IGJ1dCBubyB1c2VyIHByb2plY3QgcHJvdmlkZWQuIn19" } }, { - "ID": "40ec9d3532ef6372", + "ID": "5539336327f2e0ba", "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0003/foo", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart\u0026userProject=gcloud-golang-firestore-tests", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" - ], - "X-Goog-User-Project": [ - "gcloud-golang-firestore-tests" + "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoiZm9vIn0K", + "aGVsbG8=" + ] }, "Response": { "StatusCode": 200, @@ -9415,80 +11629,71 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "5" + "3193" ], "Content-Type": [ - "text/plain" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:41 GMT" + "Thu, 02 May 2019 22:24:51 GMT" ], "Etag": [ - "\"5d41402abc4b2a76b9719d911017c592\"" + "COGeqNLx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:08:40 GMT" - ], "Pragma": [ "no-cache" ], "Server": [ "UploadServer" ], - "X-Goog-Generation": [ - "1547071720034341" - ], - "X-Goog-Hash": [ - "crc32c=mnG7TA==", - "md5=XUFAKrxLKna5cZ2REBfFkg==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "5" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UoIU6tQtkRgAsfol1qzTL_7sqvdOYrYyaROOV2Gn8C-92R3FtRE1kbFMoqJhdftP1BFUOWOx_eZDq8ghCaQzLtLIMEAaH0K7sa6k7avEjAeZ5bwgGk" + "AEnB2UrH7pn9r8O1Zu1Nc2aNUO_CO75MyvOJyONGw27TUkfWRSSmFIWJUZ6F3e3OprVF5jKtAkQ73puZbyNCK6mozyHrmPRRa0mtyuBPhkYg4DzPGkXJOSU" ] }, - "Body": "aGVsbG8=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo1MS41NDdaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NTEuNTQ3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjUxLjU0N1oiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU1NjgzNTg5MTU0ODAwMSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDT0dlcU5MeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTE1NDgwMDEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMS91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDT0dlcU5MeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBRT0ifQ==" } }, { - "ID": "71db70c7a4e4f64e", + "ID": "029ec3d54709e7ce", "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0003/foo", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart\u0026userProject=veener-jba", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" - ], - "X-Goog-User-Project": [ - "veener-jba" + "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoiZm9vIn0K", + "aGVsbG8=" + ] }, "Response": { "StatusCode": 403, @@ -9496,46 +11701,58 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "private, max-age=0" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "342" + "13099" ], "Content-Type": [ - "application/xml; charset=UTF-8" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:41 GMT" - ], - "Expires": [ - "Wed, 09 Jan 2019 22:08:41 GMT" + "Thu, 02 May 2019 22:24:52 GMT" ], "Server": [ "UploadServer" ], + "Vary": [ + "Origin", + "X-Origin" + ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Uot8Xv5CXIxywhHt9GYNb5EuBO3dEFziFUMuWho0EKHyNpx5z_kotmX1yyOIlL9G6X0hhoF5eldlIysbPSFzBP82b7noblY01WWxfN0M0ZBU93MX3w" + "AEnB2UqcpItVCw5LaIWvDckOjfoChIifJGtuURBAmgtpzzna_iVOfDSaQOhxiMDVfYkV3mKG7__z0WTNRdVpa2Zs2IPcIAKwqwSeIMaLtz--MluSCHv9kc8" ] }, - "Body": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48RXJyb3I+PENvZGU+VXNlclByb2plY3RBY2Nlc3NEZW5pZWQ8L0NvZGU+PE1lc3NhZ2U+UmVxdWVzdGVyIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBwZXJtaXNzaW9ucyBvbiB1c2VyIHByb2plY3QuPC9NZXNzYWdlPjxEZXRhaWxzPmludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuPC9EZXRhaWxzPjwvRXJyb3I+" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjQ0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmluc2VydChPYmplY3RzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUZPUkJJRERFTiwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjQ0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmluc2VydChPYmplY3RzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWZvcmJpZGRlbiwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uRk9SQklEREVOLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkluc2VydE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0T2JqZWN0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YTo0NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5pbnNlcnQoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkluc2VydE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0T2JqZWN0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YTo0NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5pbnNlcnQoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDMsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9fQ==" } }, { - "ID": "93ad8f910284088c", + "ID": "bc0d0ed808bc8e68", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0003/foo", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -9543,56 +11760,94 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3181" + "5" ], "Content-Type": [ - "application/json; charset=UTF-8" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:08:41 GMT" + "Thu, 02 May 2019 22:24:52 GMT" ], "Etag": [ - "CKWgwqLb4d8CEAE=" + "\"5d41402abc4b2a76b9719d911017c592\"" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" ], + "Last-Modified": [ + "Thu, 02 May 2019 22:24:51 GMT" + ], "Pragma": [ "no-cache" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Generation": [ + "1556835891548001" + ], + "X-Goog-Hash": [ + "crc32c=mnG7TA==", + "md5=XUFAKrxLKna5cZ2REBfFkg==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "5" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UoMtUEqk2gF59SR9Ua63jNyS4eXf5nHD-y0TGPuqk3gWrl-05_qjgJdeIOI30aFQLLYKimJxXhxQ9u7ZGscp9Cc_CalS3Ma0UjFYHB19rLaWslnFpY" + "AEnB2UpljfpVGJewuMZUyJZ8DU7j2k6JmfPqXXgkeeu8vGdK5j-C_DUgpubS4nFEp1z8EsN-fUdceCxfiy-FGIJiFpME38hWnztW_WIn6zeSh6LCbwIK9oM" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODo0MC4wMzRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6NDAuMDM0WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjQwLjAzNFoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU0NzA3MTcyMDAzNDM0MSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MS91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDS1dnd3FMYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBRT0ifQ==" + "Body": "aGVsbG8=" } }, { - "ID": "f734e4c9cda72a3e", + "ID": "b695481e00d2d6d9", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=dulcet-port-762", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0003/foo", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" + ], + "X-Goog-User-Project": [ + "deklerk-sandbox" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -9600,107 +11855,155 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3181" + "5" ], "Content-Type": [ - "application/json; charset=UTF-8" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:08:41 GMT" + "Thu, 02 May 2019 22:24:52 GMT" ], "Etag": [ - "CKWgwqLb4d8CEAE=" + "\"5d41402abc4b2a76b9719d911017c592\"" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" ], + "Last-Modified": [ + "Thu, 02 May 2019 22:24:51 GMT" + ], "Pragma": [ "no-cache" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Generation": [ + "1556835891548001" + ], + "X-Goog-Hash": [ + "crc32c=mnG7TA==", + "md5=XUFAKrxLKna5cZ2REBfFkg==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "5" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UrTsEgHlEtcD65JvrJplxu8P96YS3zJaplqE9ZWgQjL0fVxABw_NLFcs8gLjNhIoT8iA1-jc4RmLoGxIr5rLAXNbrcl613sfF327FQXaO0X7cRpCug" + "AEnB2UrmYf7b7ig2ase_O8qHEsgSAXifAlxVdDy_Zh5Qaqx1IlL1wkTvy1BSblI6ZDz3M2X-Y6KrdJp1IaP6nDU1F_Yhyt84Y7dOG80r2g-x4E7NAyyjV0o" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODo0MC4wMzRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6NDAuMDM0WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjQwLjAzNFoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU0NzA3MTcyMDAzNDM0MSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MS91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDS1dnd3FMYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBRT0ifQ==" + "Body": "aGVsbG8=" } }, { - "ID": "7d120b60fba44831", + "ID": "2fe3b6cc96ffa451", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0003/foo", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null - }, + "BodyParts": [ + "" + ] + }, "Response": { "StatusCode": 400, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0" ], "Content-Length": [ - "221" + "266" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/xml; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:42 GMT" + "Thu, 02 May 2019 22:24:52 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:42 GMT" + "Thu, 02 May 2019 22:24:52 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" ], "X-Guploader-Uploadid": [ - "AEnB2UrzPdU8lI2qjRBsjkAM-LeFiKaTueccATCeFIWAq9RT4LjyuelPtBM2LXH3O5HgMkB-QhpwJ415N6d8IksLgSD-9LCQkpTfsD_wnmvY1z2JwoKSSrQ" + "AEnB2Ur-S2G_BUo7MzXUj-7vUDuVFWfBIA5GJYfTdaeruyelzRGFimnhov8wRB_ozWC2cGPQ-a2xQk8bw_cVV_D2Q7c7rdR1ujaTM3oIjr8vjsJBZXa1VeA" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" + "Body": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48RXJyb3I+PENvZGU+VXNlclByb2plY3RNaXNzaW5nPC9Db2RlPjxNZXNzYWdlPkJ1Y2tldCBpcyBhIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjwvTWVzc2FnZT48RGV0YWlscz5CdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci48L0RldGFpbHM+PC9FcnJvcj4=" } }, { - "ID": "68c516e64e03a110", + "ID": "59bdcad91d723d0e", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=gcloud-golang-firestore-tests", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0003/foo", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" + ], + "X-Goog-User-Project": [ + "gcloud-golang-firestore-tests" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -9708,56 +12011,94 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3181" + "5" ], "Content-Type": [ - "application/json; charset=UTF-8" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:08:42 GMT" + "Thu, 02 May 2019 22:24:52 GMT" ], "Etag": [ - "CKWgwqLb4d8CEAE=" + "\"5d41402abc4b2a76b9719d911017c592\"" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" ], + "Last-Modified": [ + "Thu, 02 May 2019 22:24:51 GMT" + ], "Pragma": [ "no-cache" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Generation": [ + "1556835891548001" + ], + "X-Goog-Hash": [ + "crc32c=mnG7TA==", + "md5=XUFAKrxLKna5cZ2REBfFkg==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "5" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UpIMdYYYt6UMF3WCqM3w-4jFEVyieVSHmZD5Jtm6WGiTv9Ca0KOnkc-SjT50WvPoNDlBdJk7xyq-72Ijzkmy5q6O9rwdpuECeSZCNkGPVAzMIh3YAc" + "AEnB2Up3lrNfk5bvup2RRbcsT6CeDACQitaiF3BTMyQ7B23ACtTqwWweq9ooOfZn3CX7tsbzljhlY_009nsTXXQwm7V_xNNd8FZwT44CzSpul-SZIRODC2w" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODo0MC4wMzRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6NDAuMDM0WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjQwLjAzNFoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU0NzA3MTcyMDAzNDM0MSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MS91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDS1dnd3FMYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBRT0ifQ==" + "Body": "aGVsbG8=" } }, { - "ID": "ccfac3077493160a", + "ID": "7b7b6a79cd2a53e3", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=veener-jba", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0003/foo", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" + ], + "X-Goog-User-Project": [ + "veener-jba" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 403, @@ -9765,54 +12106,59 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0" ], "Content-Length": [ - "374" + "342" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/xml; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:42 GMT" + "Thu, 02 May 2019 22:24:52 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:42 GMT" + "Thu, 02 May 2019 22:24:52 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" ], "X-Guploader-Uploadid": [ - "AEnB2UpSMUIAuHmLY3G-oI4v1AaXQZZQ7Y2Gser74f3N2IyAXDeFuIuormVCIHkTDmGvOzf6c2emwoSdRXCZT88eTlyp9y_TwrtOb7yToHKvjeiHMf1-peE" + "AEnB2UpT7Ge_QpcDrqajg6a4kZrmoA55ZSma9IM3pyz0Ow1bu5nLURc0V7cAThbvikg47_O-ox0uMdF6zBbtVtKL7olyMUGd9wqCQ9ubELVoJXiNMDehvXY" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS4ifX0=" + "Body": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48RXJyb3I+PENvZGU+VXNlclByb2plY3RBY2Nlc3NEZW5pZWQ8L0NvZGU+PE1lc3NhZ2U+UmVxdWVzdGVyIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBwZXJtaXNzaW9ucyBvbiB1c2VyIHByb2plY3QuPC9NZXNzYWdlPjxEZXRhaWxzPmludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuPC9EZXRhaWxzPjwvRXJyb3I+" } }, { - "ID": "90c27f0d7be147ea", + "ID": "914bca19df35cbed", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "85" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiJ9Cg==" + "" ] }, "Response": { @@ -9821,20 +12167,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3204" + "3193" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:42 GMT" + "Thu, 02 May 2019 22:24:53 GMT" ], "Etag": [ - "CKWgwqLb4d8CEAI=" + "COGeqNLx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -9849,32 +12198,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Urgafkg9qqmtuI4lVnWs72C5y8C2LynnpvalpUMUefGSZ151R77qVE1ZVtDAaD9punCxQG2Oq4l1MZQJMIESOWvHCn_zAzeCS4CBy5YJ8JoQfpYTWA" + "AEnB2UpM7lBsoxgNb-rh81Lfe0tWFGTkXQYfEB12ofkKZ8SK8kK5bPRUsQMVhm3aYB2N9e5_QSBZA25my-t5LpgR8TVW1lNTGd97OoD7bdBhP_CGo3xMbos" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODo0MC4wMzRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6NDIuNzE3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjQwLjAzNFoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU0NzA3MTcyMDAzNDM0MSZhbHQ9bWVkaWEiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzIwMDM0MzQxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDS1dnd3FMYjRkOENFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZm9vLzE1NDcwNzE3MjAwMzQzNDEvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDS1dnd3FMYjRkOENFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZm9vLzE1NDcwNzE3MjAwMzQzNDEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL3VzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9mb28vYWNsL3VzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBST0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibW5HN1RBPT0iLCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFJPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo1MS41NDdaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NTEuNTQ3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjUxLjU0N1oiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU1NjgzNTg5MTU0ODAwMSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDT0dlcU5MeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTE1NDgwMDEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMS91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDT0dlcU5MeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBRT0ifQ==" } }, { - "ID": "5ee57a57865a394c", + "ID": "164b4ffce0c7e233", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=dulcet-port-762", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "85" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiJ9Cg==" + "" ] }, "Response": { @@ -9883,20 +12238,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3204" + "3193" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:43 GMT" + "Thu, 02 May 2019 22:24:53 GMT" ], "Etag": [ - "CKWgwqLb4d8CEAM=" + "COGeqNLx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -9911,32 +12269,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqnKxsk8W1L_6SiWvxKCdXE8TxPzYTZY--hdcB2nZN5l5TwgBHLUmhzPmk_DL7cSIcnbCW4oTlfezN0K7ry6G_j6FkXUTH2ZiY8wfcX6dozB8KxxPk" + "AEnB2UqbRkPvid4Zo9mQsbMXlTlOQ1womp_CnHUJcNWRamG_lp4ABhgVPVOdL8lE11J3tmvVkYhzcEPpIJuA_RTvuAbssXFsNo9Fu14cQ44HwhSRYk7r_dU" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsIm1ldGFnZW5lcmF0aW9uIjoiMyIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODo0MC4wMzRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6NDMuMTIyWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjQwLjAzNFoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU0NzA3MTcyMDAzNDM0MSZhbHQ9bWVkaWEiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzIwMDM0MzQxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDS1dnd3FMYjRkOENFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZm9vLzE1NDcwNzE3MjAwMzQzNDEvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDS1dnd3FMYjRkOENFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZm9vLzE1NDcwNzE3MjAwMzQzNDEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL3VzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9mb28vYWNsL3VzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBTT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibW5HN1RBPT0iLCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFNPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo1MS41NDdaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NTEuNTQ3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjUxLjU0N1oiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU1NjgzNTg5MTU0ODAwMSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDT0dlcU5MeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTE1NDgwMDEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMS91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDT0dlcU5MeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBRT0ifQ==" } }, { - "ID": "cd587400b5e75904", + "ID": "d04d3cb2ac9d6376", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "85" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiJ9Cg==" + "" ] }, "Response": { @@ -9945,14 +12309,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "private, max-age=0" + ], "Content-Length": [ - "221" + "12183" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:43 GMT" + "Thu, 02 May 2019 22:24:53 GMT" + ], + "Expires": [ + "Thu, 02 May 2019 22:24:53 GMT" ], "Server": [ "UploadServer" @@ -9961,32 +12334,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UojXzaBrdZlyix5aPMlUPgBFzdGac52wwPmypDrRxLB3-V_bUifGtnzlGWNZJS_Z-n4yTUo8ucwXKiqHIUW2nGVUHb6epGzq7ZvCqyFIUraJC1fbRs" + "AEnB2UrcH6PdfDpm0th9SnZgYwMYIiYGYz2VvNs-Nb0VYFbZdA4QXfOJiRFg-xKqmDq09HRt7j8OwTDO7UMm2EiqwjPz7j_JPIvfcCzfCnVVoF3XiZFomuQ" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5HZXRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEdldE9iamVjdC5qYXZhOjMwOSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkdldE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoR2V0T2JqZWN0LmphdmE6NzApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuZ2V0KE9iamVjdHNEZWxlZ2F0b3IuamF2YTo4MSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVJFUVVJUkVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuR2V0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRPYmplY3QuamF2YTozMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5HZXRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEdldE9iamVjdC5qYXZhOjcwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmdldChPYmplY3RzRGVsZWdhdG9yLmphdmE6ODEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1iYWRSZXF1ZXN0LCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5SRVFVSVJFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuR2V0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRPYmplY3QuamF2YTozMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5HZXRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEdldE9iamVjdC5qYXZhOjcwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmdldChPYmplY3RzRGVsZWdhdG9yLmphdmE6ODEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMH0gQnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuR2V0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRPYmplY3QuamF2YTozMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5HZXRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEdldE9iamVjdC5qYXZhOjcwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmdldChPYmplY3RzRGVsZWdhdG9yLmphdmE6ODEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJCdWNrZXQgaXMgcmVxdWVzdGVyIHBheXMgYnVja2V0IGJ1dCBubyB1c2VyIHByb2plY3QgcHJvdmlkZWQuIn19" } }, { - "ID": "79876147e1f3f23a", + "ID": "8b3aeb1f423d76c5", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=gcloud-golang-firestore-tests", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=gcloud-golang-firestore-tests", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "85" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiJ9Cg==" + "" ] }, "Response": { @@ -9995,20 +12374,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3204" + "3193" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:43 GMT" + "Thu, 02 May 2019 22:24:54 GMT" ], "Etag": [ - "CKWgwqLb4d8CEAQ=" + "COGeqNLx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -10023,32 +12405,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrdvKholR4hHFxg79eVN6-QZ2Le2eMiGH9EwBK9NqNco7lYViqKPSX5mH7orGNWJYTCKwYGZLy1zxM7nLUMOxz2Se4kMmk-RnPrrX9ejrwip69KWmQ" + "AEnB2UoX_zzYo9AYFb44YmIz49k5z8v8ITzEQsDrSxEE50-7AC-ndg18Yo5DFAZ9ZFCDtT5P7kch3c0-YlkhX-5oYCUIm-mmPmoTg0CKWVI0TJ9la9z9-vE" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsIm1ldGFnZW5lcmF0aW9uIjoiNCIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODo0MC4wMzRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6NDMuNTAzWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjQwLjAzNFoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU0NzA3MTcyMDAzNDM0MSZhbHQ9bWVkaWEiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzIwMDM0MzQxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDS1dnd3FMYjRkOENFQVE9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZm9vLzE1NDcwNzE3MjAwMzQzNDEvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDS1dnd3FMYjRkOENFQVE9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZm9vLzE1NDcwNzE3MjAwMzQzNDEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFRPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL3VzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9mb28vYWNsL3VzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcyMDAzNDM0MSIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBUT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibW5HN1RBPT0iLCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFRPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo1MS41NDdaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NTEuNTQ3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjUxLjU0N1oiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU1NjgzNTg5MTU0ODAwMSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDT0dlcU5MeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTE1NDgwMDEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMS91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDT0dlcU5MeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBRT0ifQ==" } }, { - "ID": "7e03fa4afe5b2ea7", + "ID": "f32edc9a9263c0a1", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=veener-jba", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=veener-jba", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "85" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiJ9Cg==" + "" ] }, "Response": { @@ -10057,14 +12445,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "private, max-age=0" + ], "Content-Length": [ - "374" + "13039" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:43 GMT" + "Thu, 02 May 2019 22:24:54 GMT" + ], + "Expires": [ + "Thu, 02 May 2019 22:24:54 GMT" ], "Server": [ "UploadServer" @@ -10073,24 +12470,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UqEm5KPCiUJBbwu92X1BFLelX_KRmoV4irlbCg_iqLPXj0Y_z37B0bSE4bSF_yVe-abVIACdv-f8b12qSAKqBxVPXb-BYy2ThZksNy2q1eiMx9rXpA" + "AEnB2Uok5lyOpE3YUZDwRz_bsA-E-xzWeqaApyadumOOFoA_YmOi_xnvFaJr6gfp9Gaktbpud9mv8qDCIvq1Yu7CyAVY0ScanSfNCke3naR_G7kPKYgrywY" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuR2V0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRPYmplY3QuamF2YTozMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5HZXRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEdldE9iamVjdC5qYXZhOjcwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmdldChPYmplY3RzRGVsZWdhdG9yLmphdmE6ODEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUZPUkJJRERFTiwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuR2V0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRPYmplY3QuamF2YTozMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5HZXRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEdldE9iamVjdC5qYXZhOjcwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmdldChPYmplY3RzRGVsZWdhdG9yLmphdmE6ODEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWZvcmJpZGRlbiwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uRk9SQklEREVOLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkdldE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoR2V0T2JqZWN0LmphdmE6MzA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuR2V0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRPYmplY3QuamF2YTo3MClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5nZXQoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjgxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkdldE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoR2V0T2JqZWN0LmphdmE6MzA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuR2V0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRPYmplY3QuamF2YTo3MClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5nZXQoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjgxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDMsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9fQ==" } }, { - "ID": "50f5dc88511e2300", + "ID": "da73739950dbfa82", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "107" + "85" ], "User-Agent": [ "google-api-go-client/0.5" @@ -10098,7 +12504,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiJ9Cg==" ] }, "Response": { @@ -10107,20 +12513,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "377" + "3216" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:45 GMT" + "Thu, 02 May 2019 22:24:54 GMT" ], "Etag": [ - "CAM=" + "COGeqNLx/eECEAI=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -10135,24 +12544,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpJvvQadnWPfEAhz0OCXwTyBXf0XYTFwKuUsSA4e_LKfBs-CRMzC4_ZFyOqbJF5Hg9Ns8nVgIT4xSClXn1x7H8bJMycnZG2vPIp3Hj4h9L58Nm8yD4" + "AEnB2UrdpofRnchjkCQz5LLoghzg-RHoGATH3xbgJVW0LKGBkH025w5EB5RlGmHHnmXuPtK_5Ffyl1bxjmoc_h7_vGvjcxWbHv9-NKe9fLO_oNYRmw-ffvU" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZG9tYWluLWdvb2dsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvYWNsL2RvbWFpbi1nb29nbGUuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDQU09In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo1MS41NDdaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NTQuNzM4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjUxLjU0N1oiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU1NjgzNTg5MTU0ODAwMSZhbHQ9bWVkaWEiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2Zvby8xNTU2ODM1ODkxNTQ4MDAxL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ09HZXFOTHgvZUVDRUFJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2Zvby8xNTU2ODM1ODkxNTQ4MDAxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ09HZXFOTHgvZUVDRUFJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2Zvby8xNTU2ODM1ODkxNTQ4MDAxL3VzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3VzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBST0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibW5HN1RBPT0iLCJldGFnIjoiQ09HZXFOTHgvZUVDRUFJPSJ9" } }, { - "ID": "ff11ebb43f190d41", + "ID": "94e697431c9323b9", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=dulcet-port-762", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "107" + "85" ], "User-Agent": [ "google-api-go-client/0.5" @@ -10160,7 +12578,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiJ9Cg==" ] }, "Response": { @@ -10169,20 +12587,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "377" + "3216" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:45 GMT" + "Thu, 02 May 2019 22:24:55 GMT" ], "Etag": [ - "CAM=" + "COGeqNLx/eECEAM=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -10197,24 +12618,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoxDNCl9Ppy6d-F8s5GTedmo0lXE_QCUQmZkYesDBOSawV1ramo4GckSezdKgP_7WHEOXBr-ObdlQWb_DvK4FdugJQkrA" + "AEnB2Uqhr0guIL00afW_qpaRvxEGRSJEWTtfrZP2Tv8Vqt2xas1ivvvMHVbSpT12ltU7FjytFhno9SFXTS8pW1S0S8qJdFctUCa83tkcQRXgN1uPUwhX1ws" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZG9tYWluLWdvb2dsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvYWNsL2RvbWFpbi1nb29nbGUuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDQU09In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsIm1ldGFnZW5lcmF0aW9uIjoiMyIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo1MS41NDdaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NTUuMTMwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjUxLjU0N1oiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU1NjgzNTg5MTU0ODAwMSZhbHQ9bWVkaWEiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2Zvby8xNTU2ODM1ODkxNTQ4MDAxL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ09HZXFOTHgvZUVDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2Zvby8xNTU2ODM1ODkxNTQ4MDAxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ09HZXFOTHgvZUVDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2Zvby8xNTU2ODM1ODkxNTQ4MDAxL3VzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3VzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBTT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibW5HN1RBPT0iLCJldGFnIjoiQ09HZXFOTHgvZUVDRUFNPSJ9" } }, { - "ID": "8299eb2855c415c9", + "ID": "3c5d694690a75054", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "107" + "85" ], "User-Agent": [ "google-api-go-client/0.5" @@ -10222,7 +12652,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiJ9Cg==" ] }, "Response": { @@ -10231,14 +12661,17 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Content-Length": [ - "221" + "12375" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:45 GMT" + "Thu, 02 May 2019 22:24:55 GMT" ], "Server": [ "UploadServer" @@ -10247,24 +12680,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UqGK42nDHFLHxPpyGzBTeAFLayEjqgimf3utaoimx5LItG6EADQ7U4TS5Il8EM9RcKO7Bxz595d6ACjfEebHC0hGIyN2bQO1rPRbo2UzuatWf5-NGI" + "AEnB2UogsU3nh3dfRYWq9YqTmJc7CfCX1U0b-IrWpDCM7M4YwfuUWgzzzcydWdHLrF0UPqRxNFQj3eMHBbDuHYcF0xuUNah4g5J_nt26feHRp-moh7uFXNw" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5VcGRhdGVBbmRQYXRjaE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQW5kUGF0Y2hPYmplY3QuamF2YTo0MjgpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5VcGRhdGVBbmRQYXRjaE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQW5kUGF0Y2hPYmplY3QuamF2YTo1OClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci51cGRhdGUoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjEwMylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVJFUVVJUkVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuVXBkYXRlQW5kUGF0Y2hPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFuZFBhdGNoT2JqZWN0LmphdmE6NDI4KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuVXBkYXRlQW5kUGF0Y2hPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFuZFBhdGNoT2JqZWN0LmphdmE6NTgpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IudXBkYXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1iYWRSZXF1ZXN0LCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5SRVFVSVJFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuVXBkYXRlQW5kUGF0Y2hPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFuZFBhdGNoT2JqZWN0LmphdmE6NDI4KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuVXBkYXRlQW5kUGF0Y2hPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFuZFBhdGNoT2JqZWN0LmphdmE6NTgpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IudXBkYXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMH0gQnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuVXBkYXRlQW5kUGF0Y2hPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFuZFBhdGNoT2JqZWN0LmphdmE6NDI4KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuVXBkYXRlQW5kUGF0Y2hPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFuZFBhdGNoT2JqZWN0LmphdmE6NTgpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IudXBkYXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJCdWNrZXQgaXMgcmVxdWVzdGVyIHBheXMgYnVja2V0IGJ1dCBubyB1c2VyIHByb2plY3QgcHJvdmlkZWQuIn19" } }, { - "ID": "ff5a1dfb96602e38", + "ID": "e050063f79f64820", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=gcloud-golang-firestore-tests", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "107" + "85" ], "User-Agent": [ "google-api-go-client/0.5" @@ -10272,7 +12714,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiJ9Cg==" ] }, "Response": { @@ -10281,20 +12723,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "377" + "3216" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:45 GMT" + "Thu, 02 May 2019 22:24:55 GMT" ], "Etag": [ - "CAM=" + "COGeqNLx/eECEAQ=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -10309,24 +12754,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqUBkpmdlFzBgpDQ09D2iJn2yKMG2pzV0TGFDIoesSbiGNdFd0KpZtCI83NiVA8FHzs4qZPUkQmYhw7_FKN08NFE8o--TO8f1Xo1UWs_qnuPLGKbH4" + "AEnB2Uq4hs_SY8_2HHPHu8NfVIkOdwmZz7h6XH0nWRSTQJSqzQZQGvv1p83Z6W209h3bXsbN9_ESiU3OIyLRwmEldfBP94hRhN5t1JnagcKPcMEOv8FtvHs" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZG9tYWluLWdvb2dsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvYWNsL2RvbWFpbi1nb29nbGUuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDQU09In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsIm1ldGFnZW5lcmF0aW9uIjoiNCIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo1MS41NDdaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NTUuODI0WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjUxLjU0N1oiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU1NjgzNTg5MTU0ODAwMSZhbHQ9bWVkaWEiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2Zvby8xNTU2ODM1ODkxNTQ4MDAxL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ09HZXFOTHgvZUVDRUFRPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2Zvby8xNTU2ODM1ODkxNTQ4MDAxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBUT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTg5MTU0ODAwMS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ09HZXFOTHgvZUVDRUFRPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2Zvby8xNTU2ODM1ODkxNTQ4MDAxL3VzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3VzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBUT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibW5HN1RBPT0iLCJldGFnIjoiQ09HZXFOTHgvZUVDRUFRPSJ9" } }, { - "ID": "124e8a4593711654", + "ID": "f7edef926cdb7d75", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=veener-jba", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "107" + "85" ], "User-Agent": [ "google-api-go-client/0.5" @@ -10334,7 +12788,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiJ9Cg==" ] }, "Response": { @@ -10343,14 +12797,17 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Content-Length": [ - "374" + "13231" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:46 GMT" + "Thu, 02 May 2019 22:24:56 GMT" ], "Server": [ "UploadServer" @@ -10359,28 +12816,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UpKjXAXCVT6JtllV1yGXK4yDy2nm8TeJZv2sMjOu2GRWSs-yWQLLLIkKU6dD7quzEMeMFYmSpv0KEN0fiVz3kzPIWglwYdYBxZfIv5KPpZnR_JWiOY" + "AEnB2UqyQ9DLrBDGkx7uOkrIKrzMMYA4YygdFsd1si16n2Lr4I5Rfp1lxwadC3jThiJbE-cDyuZATHtvM2bzpsRDPJzbmKgtxYydHykiB-oCsSFqfwy50gw" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuVXBkYXRlQW5kUGF0Y2hPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFuZFBhdGNoT2JqZWN0LmphdmE6NDI4KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuVXBkYXRlQW5kUGF0Y2hPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFuZFBhdGNoT2JqZWN0LmphdmE6NTgpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IudXBkYXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUZPUkJJRERFTiwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuVXBkYXRlQW5kUGF0Y2hPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFuZFBhdGNoT2JqZWN0LmphdmE6NDI4KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuVXBkYXRlQW5kUGF0Y2hPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFuZFBhdGNoT2JqZWN0LmphdmE6NTgpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IudXBkYXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWZvcmJpZGRlbiwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uRk9SQklEREVOLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlVwZGF0ZUFuZFBhdGNoT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChVcGRhdGVBbmRQYXRjaE9iamVjdC5qYXZhOjQyOClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlVwZGF0ZUFuZFBhdGNoT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChVcGRhdGVBbmRQYXRjaE9iamVjdC5qYXZhOjU4KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLnVwZGF0ZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTAzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlVwZGF0ZUFuZFBhdGNoT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChVcGRhdGVBbmRQYXRjaE9iamVjdC5qYXZhOjQyOClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlVwZGF0ZUFuZFBhdGNoT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChVcGRhdGVBbmRQYXRjaE9iamVjdC5qYXZhOjU4KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLnVwZGF0ZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTAzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDMsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9fQ==" } }, { - "ID": "e52046821dbd0c4e", + "ID": "2745d195a40b86f1", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/acl?alt=json\u0026prettyPrint=false", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "107" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + ] }, "Response": { "StatusCode": 200, @@ -10388,23 +12859,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2358" + "377" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:46 GMT" + "Thu, 02 May 2019 22:24:57 GMT" ], "Etag": [ "CAM=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:46 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -10413,28 +12890,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpubFDAAXwMEfwRTRjW3fQsdkARdMkg47xrY1-FNBI-NUDIeTd48vYQ4xqbz90a4TpkfGYEsXkUVtsLA09tJKRnbiueP3EkV5Uah8UxXFPEG4C8PrM" + "AEnB2UpGeWJRYTNsu57knuRFhwHuoeUMIJhUtuQj4PLhGDoFcITB2Y--7JgaOCVhepJ6a5RRKvU9d3UrAyrtbGNOVHyW2WAbN_KpfkiFhYq8l7HPERpLDjg" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FNPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9kb21haW4tZ29vZ2xlLmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9hY2wvZG9tYWluLWdvb2dsZS5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNBTT0ifV19" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZG9tYWluLWdvb2dsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvYWNsL2RvbWFpbi1nb29nbGUuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDQU09In0=" } }, { - "ID": "cb2e01faa411aaee", + "ID": "5258a70437064146", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/acl?alt=json\u0026prettyPrint=false\u0026userProject=dulcet-port-762", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "107" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + ] }, "Response": { "StatusCode": 200, @@ -10442,23 +12933,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2358" + "377" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:46 GMT" + "Thu, 02 May 2019 22:24:57 GMT" ], "Etag": [ "CAM=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:46 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -10467,28 +12964,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqT0WND_0FRKoM2de4e2qG38bjLzi86aLF4OKBSbhb81P_T4_lCRS83xrYewutUfXBK324hrp5t32nTmTG0Syx3nUSrG4Qe2XdW8FmeS1Ln8N9nMHs" + "AEnB2UqImoOCe_iDYCV8XHpaaEXPn-jeAf0M1MyixGju1tNCSTBIMEKDzh_wxVxapMmXWPnOes7YX0T0Fr663x7eJCl85B0EGXggUgp8bqeDV3cJ-mqeDrY" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FNPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9kb21haW4tZ29vZ2xlLmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9hY2wvZG9tYWluLWdvb2dsZS5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNBTT0ifV19" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZG9tYWluLWdvb2dsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvYWNsL2RvbWFpbi1nb29nbGUuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDQU09In0=" } }, { - "ID": "45f852f527dfa7bb", + "ID": "5cef2c464b7356c8", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/acl?alt=json\u0026prettyPrint=false", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "107" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + ] }, "Response": { "StatusCode": 400, @@ -10496,20 +13007,17 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "private, max-age=0" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "221" + "12243" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:46 GMT" - ], - "Expires": [ - "Wed, 09 Jan 2019 22:08:46 GMT" + "Thu, 02 May 2019 22:24:58 GMT" ], "Server": [ "UploadServer" @@ -10518,28 +13026,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UrVqISwK3rfAF2gNy8NNzyfcvGi7qQD8wAeBOm_iIm5YzRe9TubljQqVA-vbuaa9CmdwamAUetKilOfS_ICaslDSF2gAUk_r8UdA3aFDiK86_ZqU2M" + "AEnB2UpH5br-AVWN2g1nkkM_FJWZIjgOgh2NGLuiyYUS7QD2DSs6B-c0IQHgC2NUyy0eZq4McQhwxBGhUJ05-WeD_bX35i7skN7Jn_q3ELAaDwpi6_x3Z8c" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5VcGRhdGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChVcGRhdGVBY2xzLmphdmE6OTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5VcGRhdGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChVcGRhdGVBY2xzLmphdmE6MjcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLnVwZGF0ZShBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjEwMylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVJFUVVJUkVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjkwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjI3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci51cGRhdGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1iYWRSZXF1ZXN0LCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5SRVFVSVJFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjkwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjI3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci51cGRhdGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMH0gQnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjkwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjI3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci51cGRhdGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJCdWNrZXQgaXMgcmVxdWVzdGVyIHBheXMgYnVja2V0IGJ1dCBubyB1c2VyIHByb2plY3QgcHJvdmlkZWQuIn19" } }, { - "ID": "069079bf4085c04f", + "ID": "11cd5140a264e423", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/acl?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "107" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + ] }, "Response": { "StatusCode": 200, @@ -10547,23 +13069,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2358" + "377" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:46 GMT" + "Thu, 02 May 2019 22:24:58 GMT" ], "Etag": [ "CAM=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:46 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -10572,28 +13100,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrC1Axa2x6riRVNTl-NkpM3Q1HRTnh2f0q6mDpxqDIvp2Bz8R8kIem1zEEdTN-Yqu6lwF0FHGWaqtNH86LUCvtLhkSdzwc6NR2e_8q24UynK1YeFzA" + "AEnB2Uo2_tsxxuZC3Ni-A0zL0E9w8OVne0sWfLi61Cv48eTWj2R4F6G0AmXZU7J8L-WnDJf4s-6GpZV0SyQqrjBA_Mp75pJfWb6cl9_7oimTy8HPnxAtMwc" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FNPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9kb21haW4tZ29vZ2xlLmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9hY2wvZG9tYWluLWdvb2dsZS5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNBTT0ifV19" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZG9tYWluLWdvb2dsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvYWNsL2RvbWFpbi1nb29nbGUuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDQU09In0=" } }, { - "ID": "559cd05114df02c4", + "ID": "dac6629e58d45469", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/acl?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "107" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + ] }, "Response": { "StatusCode": 403, @@ -10601,20 +13143,17 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "private, max-age=0" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "374" + "13099" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:47 GMT" - ], - "Expires": [ - "Wed, 09 Jan 2019 22:08:47 GMT" + "Thu, 02 May 2019 22:24:58 GMT" ], "Server": [ "UploadServer" @@ -10623,18 +13162,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UpUaD8L_-UspFXLcxFH2ogUyNHCU4t-ROj11qJftlWjMKGNcn4YYvBBRyYgOFkEFt1J7OMZjt65MpAg-nT7Q0_jypu4nQirrXuYURzrNY6XX8vcXVY" + "AEnB2UrTXUzCa6WOvWD6NqoHhkdwRtG0Z4h0QurHOuKU1gyAWzXOt8lc1NVsLqe-6m8siE76k7l8g0EY3Le273_4GFB81gHMhM4qBOOgbwSBgLl4zKHZspU" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjkwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjI3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci51cGRhdGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUZPUkJJRERFTiwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjkwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjI3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci51cGRhdGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWZvcmJpZGRlbiwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uRk9SQklEREVOLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLlVwZGF0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFjbHMuamF2YTo5MClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLlVwZGF0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFjbHMuamF2YToyNylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IudXBkYXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTAzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLlVwZGF0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFjbHMuamF2YTo5MClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLlVwZGF0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFjbHMuamF2YToyNylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IudXBkYXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTAzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDMsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9fQ==" } }, { - "ID": "4939bc65cd463c76", + "ID": "1c8663192ed534e8", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/acl?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -10644,34 +13192,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "0" + "2370" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:48 GMT" + "Thu, 02 May 2019 22:24:59 GMT" ], "Etag": [ - "CAQ=" + "CAM=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:24:59 GMT" ], "Server": [ "UploadServer" @@ -10680,18 +13230,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uqiz9xx5iY-OVGOdoWqHhcWijEfFTSjmxzHJOYnhjU6gw9iRaqHZtkgDHMR9jtYcnTUJy9TaksAcbwHUS4UZ8s3hoA_SSkyrT4BWnost0VOoHknqrw" + "AEnB2Uqfc2TzyVBAwGuVpWWQt7OYr3IQEmVj5R7LIr5LSRAhwFernkoD6TFVnJno_ria4LL8P9tSQgzCF7uJpStJTpYgTOiW5FqTxQ-AgbOjFmAMjah3o6U" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FNPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9kb21haW4tZ29vZ2xlLmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9hY2wvZG9tYWluLWdvb2dsZS5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNBTT0ifV19" } }, { - "ID": "c23bc631fc691219", + "ID": "51858ae7ea77845a", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=dulcet-port-762", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/acl?alt=json\u0026prettyPrint=false\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" @@ -10701,28 +13260,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 404, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "117" + "2370" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:48 GMT" + "Thu, 02 May 2019 22:24:59 GMT" + ], + "Etag": [ + "CAM=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:48 GMT" + "Thu, 02 May 2019 22:24:59 GMT" ], "Server": [ "UploadServer" @@ -10731,18 +13298,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrgxboOvd7mZJzzMk0mGPfU4d11I8mL-S2HxsTxF3bxED9WKCVzyPabm22W3pMe8pXzV8xkll1GbpOWuF8sk5pm79gj4xEbsH088QDU00quAH_ReCw" + "AEnB2Uqc5V7vaPL-d4aMLJi5QXyxZYWWtGBx0QuvfeB8rFlhwPGPFLQUABxm_XXkR0AOeIqdZ-intSu7I5srWdFKX85aY8r-z4oRTuB-CjGUe5uMiXQzXU4" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vdCBGb3VuZCJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm90IEZvdW5kIn19" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FNPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9kb21haW4tZ29vZ2xlLmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9hY2wvZG9tYWluLWdvb2dsZS5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNBTT0ifV19" } }, { - "ID": "6c427530a75ad9f4", + "ID": "8248d1314da9a068", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/acl?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -10752,7 +13328,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 400, @@ -10760,20 +13338,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0" ], "Content-Length": [ - "221" + "12203" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:48 GMT" + "Thu, 02 May 2019 22:24:59 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:48 GMT" + "Thu, 02 May 2019 22:24:59 GMT" ], "Server": [ "UploadServer" @@ -10782,18 +13363,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UoNluLdfU0tsTZDs3BoGj6NacNd2aSuMFWWxensj1IC-icnMz3PBdj7dSfsLddag1T5fCLJXm5mllZob61ZR8c3y4uZZ574CmI5VNnE5si6v8rIoG4" + "AEnB2Uqrg4CYWnZtCkMXT5KHCcQXY-aSGc6JuuEoVkTtKgObB9qr-dE-5sMKCrbTfpFudhid3ulDpkNuOUmRmBy4k7QQoRxqgues_a8dB85cOybZKZTM864" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToxMDEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IubGlzdChBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5jb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5GYXVsdDogSW1tdXRhYmxlRXJyb3JEZWZpbml0aW9ue2Jhc2U9UkVRVUlSRUQsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToxMDEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IubGlzdChBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBkb21haW49Z2xvYmFsLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9YmFkUmVxdWVzdCwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uUkVRVUlSRUQsIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfTUlTU0lORzogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjEwMSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5saXN0KEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6ODkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMH0gQnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MTAxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmxpc3QoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YTo4OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5FcnJvckNvbGxlY3Rvci50b0ZhdWx0KEVycm9yQ29sbGVjdG9yLmphdmE6NTQpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5RXJyb3JDb252ZXJ0ZXIudG9GYXVsdChSb3N5RXJyb3JDb252ZXJ0ZXIuamF2YTo2Nylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjI1OSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjIzOSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnRocmVhZC5UaHJlYWRUcmFja2VycyRUaHJlYWRUcmFja2luZ1J1bm5hYmxlLnJ1bihUaHJlYWRUcmFja2Vycy5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6NDUzKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuc2VydmVyLkNvbW1vbk1vZHVsZSRDb250ZXh0Q2FycnlpbmdFeGVjdXRvclNlcnZpY2UkMS5ydW5JbkNvbnRleHQoQ29tbW9uTW9kdWxlLmphdmE6ODAyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlJDEucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ2MClcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihUcmFjZUNvbnRleHQuamF2YTozMTkpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6MzExKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NTcpXG5cdGF0IGNvbS5nb29nbGUuZ3NlLmludGVybmFsLkRpc3BhdGNoUXVldWVJbXBsJFdvcmtlclRocmVhZC5ydW4oRGlzcGF0Y2hRdWV1ZUltcGwuamF2YTo0MDMpXG4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" } }, { - "ID": "319231c4b3348034", + "ID": "8c1628782bcf7eaf", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/acl?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", "Header": { "Accept-Encoding": [ "gzip" @@ -10803,28 +13393,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 404, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "117" + "2370" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:48 GMT" + "Thu, 02 May 2019 22:25:00 GMT" + ], + "Etag": [ + "CAM=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:48 GMT" + "Thu, 02 May 2019 22:25:00 GMT" ], "Server": [ "UploadServer" @@ -10833,18 +13431,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqtZ2BWHeZ0OV9BzoEbKn0DkTbUBwh1uKK74LrlKEbgk8OJoSJVuP84LITz3HUunRjfA8u52vGSPrASVkZ-u5x9M8GKUYfvLLRr55PQ5qyIoM8mhkw" + "AEnB2Uqmer5wTHG4zziRJUR_QqUbX_xgytHZkMg2KFntbVz8pn55RFN7idAyYcqz3AhqthLD-bHH2Lggdg4MuIdjHVk_kKHxvDdqI0p814avmZPYAhJdvsE" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vdCBGb3VuZCJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm90IEZvdW5kIn19" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FNPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsImVudGl0eSI6InVzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9kb21haW4tZ29vZ2xlLmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9hY2wvZG9tYWluLWdvb2dsZS5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNBTT0ifV19" } }, { - "ID": "ff36711ac028f39d", + "ID": "6813d64060667ba0", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/acl?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", "Header": { "Accept-Encoding": [ "gzip" @@ -10854,7 +13461,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 403, @@ -10862,20 +13471,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0" ], "Content-Length": [ - "374" + "13059" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:49 GMT" + "Thu, 02 May 2019 22:25:00 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:49 GMT" + "Thu, 02 May 2019 22:25:00 GMT" ], "Server": [ "UploadServer" @@ -10884,54 +13496,63 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UpGg_6ac5vRLf9AXX9BP3WK-BCcvbUWfBNxk9g29nue1qs7b67iWWJSHuF3XjkdYMykiCGOE-HW-_NDenEKtd5t71foTN8hLQoB8nfsACmqVDtII2w" + "AEnB2UpsvYC9PE_CO5H9MncFfA0uYzQqFBOqu0_zdexcxDTJ22CO_vv1LiRY6ZSC49_FMeUZBA3KdMfOnS7DsSxBpqrLC9ZM6GAs2sFolmZKhp0RWJjvOzs" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MTAxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmxpc3QoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YTo4OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5jb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5GYXVsdDogSW1tdXRhYmxlRXJyb3JEZWZpbml0aW9ue2Jhc2U9Rk9SQklEREVOLCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9BQ0NFU1NfREVOSUVEOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToxMDEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IubGlzdChBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1mb3JiaWRkZW4sIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLkZPUkJJRERFTiwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9BQ0NFU1NfREVOSUVEOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToxMDEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IubGlzdChBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjEwMSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5saXN0KEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6ODkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5FcnJvckNvbGxlY3Rvci50b0ZhdWx0KEVycm9yQ29sbGVjdG9yLmphdmE6NTQpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5RXJyb3JDb252ZXJ0ZXIudG9GYXVsdChSb3N5RXJyb3JDb252ZXJ0ZXIuamF2YTo2Nylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjI1OSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjIzOSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnRocmVhZC5UaHJlYWRUcmFja2VycyRUaHJlYWRUcmFja2luZ1J1bm5hYmxlLnJ1bihUaHJlYWRUcmFja2Vycy5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6NDUzKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuc2VydmVyLkNvbW1vbk1vZHVsZSRDb250ZXh0Q2FycnlpbmdFeGVjdXRvclNlcnZpY2UkMS5ydW5JbkNvbnRleHQoQ29tbW9uTW9kdWxlLmphdmE6ODAyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlJDEucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ2MClcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihUcmFjZUNvbnRleHQuamF2YTozMTkpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6MzExKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NTcpXG5cdGF0IGNvbS5nb29nbGUuZ3NlLmludGVybmFsLkRpc3BhdGNoUXVldWVJbXBsJFdvcmtlclRocmVhZC5ydW4oRGlzcGF0Y2hRdWV1ZUltcGwuamF2YTo0MDMpXG4ifV0sImNvZGUiOjQwMywibWVzc2FnZSI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuIn19" } }, { - "ID": "91073507dcacda68", + "ID": "76ac0290041d5a26", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "107" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "119" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:08:50 GMT" + "Thu, 02 May 2019 22:25:01 GMT" ], "Etag": [ - "CAU=" + "CAQ=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -10946,60 +13567,63 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoYuhPlsahHTPKCDIgU38MT2eSYC2bs5Rdps4IpIArF5pSVOo4_0hGM9PavSBX8SuJIzNKvEeblB9eraB3xoH4Wp-kRa_Kd5huk2qISMfCu1bw3A2g" + "AEnB2Ur-ejQ-G_PN4CMllngdiEh1SqHQNy8TXBA-htpazVSOadp1oThRsYsQuflX2kwkDQHFpeo1UgDPXqi5BRq8qZUBsM2koJIMOp-APWnB8T_qsTHlY30" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDQVU9In0=" + "Body": "" } }, { - "ID": "7f719e0746ebc5b7", + "ID": "0de0d173f3f5c2cc", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=dulcet-port-762", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "107" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 404, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" ], "Content-Length": [ - "119" + "11631" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:50 GMT" - ], - "Etag": [ - "CAU=" + "Thu, 02 May 2019 22:25:01 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:01 GMT" ], "Server": [ "UploadServer" @@ -11008,32 +13632,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UoRjg4fxS1GbnfT5ac5O7xjUDaqvSKHl-swDauvLVpOBFW4eH0okrx_5mIxsxXWtiar10cCBEVk77z6MAvJun4hiKu0ANflIWLTHV3JL6kaqN5N3xw" + "AEnB2UqLOtWcLW6yZk8n72e3qkdl4ft2-s7FJFYyRv_5REkk9Q6d7qk6Pcpcy_HMCJFgKTV5RZzzIU3k5hceknIV1XNGVWK7gOCFimyeb8sFjNZC7y7rypI" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDQVU9In0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vdCBGb3VuZCIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0xfU0NPUEVfTk9UX0ZPVU5EOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IFNwZWNpZmllZCBBQ0wgc2NvcGUgd2FzIG5vdCBmb3VuZFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cbmNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1OT1RfRk9VTkQsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNMX1NDT1BFX05PVF9GT1VORDogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBkb21haW49Z2xvYmFsLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9bm90Rm91bmQsIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLk5PVF9GT1VORCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OkFDTF9TQ09QRV9OT1RfRk9VTkQ6IFNwZWNpZmllZCBBQ0wgc2NvcGUgd2FzIG5vdCBmb3VuZFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6ODYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmRlbGV0ZShBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjEwOSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZXJyb3JQcm90b0NvZGU9Tk9UX0ZPVU5ELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZV9pZC5zY29wZSwgbWVzc2FnZT1udWxsLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249ZW50aXR5LnJlc291cmNlX2lkLnNjb3BlLCBtZXNzYWdlPU5vdCBGb3VuZCwgcmVhc29uPW5vdEZvdW5kLCBycGNDb2RlPTQwNH0gTm90IEZvdW5kOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNMX1NDT1BFX05PVF9GT1VORDogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm90IEZvdW5kIn19" } }, { - "ID": "3c2f11df37c15e55", + "ID": "eb2af5bce5b9e1df", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "107" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + "" ] }, "Response": { @@ -11042,14 +13672,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "private, max-age=0" + ], "Content-Length": [ - "221" + "12243" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:50 GMT" + "Thu, 02 May 2019 22:25:02 GMT" + ], + "Expires": [ + "Thu, 02 May 2019 22:25:02 GMT" ], "Server": [ "UploadServer" @@ -11058,60 +13697,63 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UrsnxE1GHTleQvQnBxt74DfPbPDSPoV7GC3CR0K3yg2EqnwyL23e9vs-9DmoPznNICz10SPidBezWPmHEbCliMrm2RU51NjPjHvqhtq_pjDcSTplys" + "AEnB2Uqgaldc1OJvgmfZxcZs4i5d6EXMyFK93ZUJLzSK8Vo-qPYKRwhvPzK8GFv3gqrdyjBbvdc2Uz57nCwy10LhC5AD2pscln8VbaQIOAHqxvkwsqV27Rw" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6ODYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmRlbGV0ZShBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjEwOSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVJFUVVJUkVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1iYWRSZXF1ZXN0LCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5SRVFVSVJFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMH0gQnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJCdWNrZXQgaXMgcmVxdWVzdGVyIHBheXMgYnVja2V0IGJ1dCBubyB1c2VyIHByb2plY3QgcHJvdmlkZWQuIn19" } }, { - "ID": "a0995e54c5e062c0", + "ID": "ad55ad01147a8c62", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "107" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 404, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" ], "Content-Length": [ - "119" + "11631" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:50 GMT" - ], - "Etag": [ - "CAU=" + "Thu, 02 May 2019 22:25:02 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:02 GMT" ], "Server": [ "UploadServer" @@ -11120,32 +13762,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UoWC9I1eItU80L0GrS87O3d_cgY4TmYivltqhukSgTRnxwjoPpm3Z6pis5fdTD6gyp21P_Gc_smiLXWGMa-hxnsYpTYNFJK2wLqSbZ3dtNqhNYIRFw" + "AEnB2UoQpkkPNbb1CGY8lAzUfymkmZ7PNlRK6hK3deBeoMip13ARTb212DIgf4lgUDM8PVQsAqcnKwzNulbZICoGzHwrsBZfyi7p5TGX2yJHLXSAGEY0MBE" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDQVU9In0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vdCBGb3VuZCIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0xfU0NPUEVfTk9UX0ZPVU5EOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IFNwZWNpZmllZCBBQ0wgc2NvcGUgd2FzIG5vdCBmb3VuZFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cbmNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1OT1RfRk9VTkQsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNMX1NDT1BFX05PVF9GT1VORDogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBkb21haW49Z2xvYmFsLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9bm90Rm91bmQsIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLk5PVF9GT1VORCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OkFDTF9TQ09QRV9OT1RfRk9VTkQ6IFNwZWNpZmllZCBBQ0wgc2NvcGUgd2FzIG5vdCBmb3VuZFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6ODYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmRlbGV0ZShBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjEwOSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZXJyb3JQcm90b0NvZGU9Tk9UX0ZPVU5ELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZV9pZC5zY29wZSwgbWVzc2FnZT1udWxsLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249ZW50aXR5LnJlc291cmNlX2lkLnNjb3BlLCBtZXNzYWdlPU5vdCBGb3VuZCwgcmVhc29uPW5vdEZvdW5kLCBycGNDb2RlPTQwNH0gTm90IEZvdW5kOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNMX1NDT1BFX05PVF9GT1VORDogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm90IEZvdW5kIn19" } }, { - "ID": "baefd175b1e68564", + "ID": "1ef9ea9b9bc398a6", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "107" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + "" ] }, "Response": { @@ -11154,14 +13802,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "private, max-age=0" + ], "Content-Length": [ - "374" + "13099" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:51 GMT" + "Thu, 02 May 2019 22:25:03 GMT" + ], + "Expires": [ + "Thu, 02 May 2019 22:25:03 GMT" ], "Server": [ "UploadServer" @@ -11170,28 +13827,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Uqt9Hz6ssajqzM5chr1F4xFHEN7dWubGpcsQEI-u7P0Aa8pLIrICfmYUlqv7xqwPzuiOm0EGcrJ1LDTauBrdKnMAKp0WwRKVb7pEJN69CDZtR4WCYo" + "AEnB2Ur5WrZwygTHM0dDH6L1kypZzaAQtCwxt9wA7VXvgnjwrfwdRnTw0D7K3VLYLRTPDcf8mRFn5CetkcimFxfqUDoWLMF7bH1TLiBr38K6aBU74aRWUd4" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUZPUkJJRERFTiwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWZvcmJpZGRlbiwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uRk9SQklEREVOLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDMsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9fQ==" } }, { - "ID": "bfb437ec87c7f3c1", + "ID": "5c1cadcffc6c95e0", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/defaultObjectAcl?alt=json\u0026prettyPrint=false", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "107" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + ] }, "Response": { "StatusCode": 200, @@ -11199,23 +13870,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "678" + "119" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:51 GMT" + "Thu, 02 May 2019 22:25:04 GMT" ], "Etag": [ "CAU=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:51 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -11224,28 +13901,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrqqXb59pa0QY9apOSd8DafFHmiKknRZCv4inuvW46HpdLmuh8-Gq7G64Mc61u6plUvtvRDqJznIjNU39-0ce8KAjy9CDtvtwShCv852_FRgdCId5E" + "AEnB2Uo_n__u-lZKgZqveqge9YBw7wQMldCd4t0io7l_L_nlcF4DSPBPvZd9jGPCstE1EYuQS9L-Z3Y53Q15FlqM1IcmRDv6bYEJQWqkpuzCRRa_TLh9P7A" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQVU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNBVT0ifV19" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDQVU9In0=" } }, { - "ID": "2f6de84cc26539f5", + "ID": "4a615256ab8c55b4", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/defaultObjectAcl?alt=json\u0026prettyPrint=false\u0026userProject=dulcet-port-762", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "107" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + ] }, "Response": { "StatusCode": 200, @@ -11253,23 +13944,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "678" + "119" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:51 GMT" + "Thu, 02 May 2019 22:25:04 GMT" ], "Etag": [ "CAU=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:51 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -11278,28 +13975,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpPpjZTHB9LiGfztjVIc7VD2izCmnAw2FPbmehKLTyptfvOJpSUYEea-o9R37gzSXAVuxEpdUne7dL6JgCRdZn4YoV4ZcnKJUtGeyRh1LVHea_Jsyo" + "AEnB2UpwGIlBhvugAIHxiObS0RPpJ40OY_R3exJfPh5IHLLB3SrdYtGMpD01QLdxc3E0IPGkBiTrwM-Z2X1gMcxuOqJWJUrhV4xTFe_n5G8bBxzievz39F4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQVU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNBVT0ifV19" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDQVU9In0=" } }, { - "ID": "c92f86811c80a8e2", + "ID": "63c0acd95aa571a1", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/defaultObjectAcl?alt=json\u0026prettyPrint=false", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "107" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + ] }, "Response": { "StatusCode": 400, @@ -11307,20 +14018,17 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "private, max-age=0" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "221" + "12243" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:52 GMT" - ], - "Expires": [ - "Wed, 09 Jan 2019 22:08:52 GMT" + "Thu, 02 May 2019 22:25:04 GMT" ], "Server": [ "UploadServer" @@ -11329,28 +14037,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UrCBGuaj6O65ujbi5lQsMbjn_Jwvf7CkA-tCskyP8kO1JR-qAMW2HYYlDNcACMCIaOSVkaCjUDUzt1xaLrHSn3q8Suex9OI2kyIDtsKEkQ5iIdQ06M" + "AEnB2UqNu5DFt-lpr-_4YX8LRIhoi3KVRYVgFAlG7WOPsY7IGJ2NLZSF3SQhmkvfL_IKZ0FWIwx1nGT6HBBe9t2RYXNE1kXis-9KgEaAWhrEByTud5QGx5c" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5VcGRhdGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChVcGRhdGVBY2xzLmphdmE6OTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5VcGRhdGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChVcGRhdGVBY2xzLmphdmE6MjcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLnVwZGF0ZShBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjEwMylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVJFUVVJUkVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjkwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjI3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci51cGRhdGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1iYWRSZXF1ZXN0LCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5SRVFVSVJFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjkwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjI3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci51cGRhdGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMH0gQnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjkwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjI3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci51cGRhdGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJCdWNrZXQgaXMgcmVxdWVzdGVyIHBheXMgYnVja2V0IGJ1dCBubyB1c2VyIHByb2plY3QgcHJvdmlkZWQuIn19" } }, { - "ID": "e7a418b04ee984f2", + "ID": "3c6b1be88134f9d9", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/defaultObjectAcl?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "107" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + ] }, "Response": { "StatusCode": 200, @@ -11358,23 +14080,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "678" + "119" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:52 GMT" + "Thu, 02 May 2019 22:25:05 GMT" ], "Etag": [ "CAU=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:52 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -11383,28 +14111,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrTuyn-XiZK2js_FvmElGOs51POzJixx9-kG9WZIKbjZ0Pzz81uzxrgi9n7wZZ17KfVtg1wgAGw1OCjamw15kdywDM0iNPqUsYYlhkTLcPBOcfUr4c" + "AEnB2UqzTVWCTbjlM7VCFWFbOojrtt8ZMY9bRy0eXj0Uxj3gaYalvwqR0WBrtbX0iGQ-aN5pv3-Acc7EWIoHBa37YbMpx9fuoJUpTswmdpiCOH3wbMN7tIk" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQVU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNBVT0ifV19" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDQVU9In0=" } }, { - "ID": "f6722e748c34855b", + "ID": "60cde48b740e9a63", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/defaultObjectAcl?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "107" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + ] }, "Response": { "StatusCode": 403, @@ -11412,20 +14154,17 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "private, max-age=0" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "374" + "13099" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:52 GMT" - ], - "Expires": [ - "Wed, 09 Jan 2019 22:08:52 GMT" + "Thu, 02 May 2019 22:25:05 GMT" ], "Server": [ "UploadServer" @@ -11434,18 +14173,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UpYShqYSmEG2uhpSXJDMeY94d3aBMIHEW-k65DKPGAbYKtGNh33aUlVyMcad7HuSp-47laD0EACOACHIWvwFh5MhUz4r17bbrztKm0DliCq0l-yxyE" + "AEnB2UrLyiKgPsp1RDgH3Q2SGlQAwTvGJwVDvb9U9FfvTysIFo6sO-5AoXrGPQfZpr80aMOEKojmPksURjhsteWSV9gdPsOlPIJMorxvQMHeomMCh-Bgmuo" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjkwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjI3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci51cGRhdGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUZPUkJJRERFTiwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjkwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjI3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci51cGRhdGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWZvcmJpZGRlbiwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uRk9SQklEREVOLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLlVwZGF0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFjbHMuamF2YTo5MClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLlVwZGF0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFjbHMuamF2YToyNylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IudXBkYXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTAzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLlVwZGF0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFjbHMuamF2YTo5MClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLlVwZGF0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFjbHMuamF2YToyNylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IudXBkYXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTAzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDMsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9fQ==" } }, { - "ID": "bbcd1860ac84a603", + "ID": "95b915570e7c2375", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/defaultObjectAcl?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -11455,34 +14203,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "0" + "684" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:53 GMT" + "Thu, 02 May 2019 22:25:05 GMT" ], "Etag": [ - "CAY=" + "CAU=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:05 GMT" ], "Server": [ "UploadServer" @@ -11491,18 +14241,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrRgxH4kKmE9loz1zRQ2hTel_MHNMLsbZ3W9JfWcp2REC0anrAM6TQPtzigo-HFaTpyQMh32l1eIXEWxTL1BlYepCD6jnSXumqv4FDfTutJe8c-MiM" + "AEnB2UrOZjNI5VbLPTLuBwhSAdcgxvqgcFpH-ED4XyEgIbnndmtC_zJ0lkLfudymSRpdRE4NBxn1Vp-AmZnb1ONsP2I1GBnLYfpYRbzFQpmihPrgBkDnaB4" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQVU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNBVT0ifV19" } }, { - "ID": "beeaa205b307312e", + "ID": "e4170c637b705043", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=dulcet-port-762", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/defaultObjectAcl?alt=json\u0026prettyPrint=false\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" @@ -11512,28 +14271,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 404, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "117" + "684" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:53 GMT" + "Thu, 02 May 2019 22:25:05 GMT" + ], + "Etag": [ + "CAU=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:53 GMT" + "Thu, 02 May 2019 22:25:05 GMT" ], "Server": [ "UploadServer" @@ -11542,18 +14309,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqjKkskLEngFzW0Mbp_1Q4goCe427bh857Klwe2bWVEeeokjiYD9pIK6-aA0d2e_H0WZwh4gSaLqhWirhgIpqkr_ZSLeY0Pwak6F8u6K9uuAOyQm2M" + "AEnB2UqXQonYrNQZxcXoDllGz19Ruu-Eq1_3FVjMndISB0h1O1ojodwFr2Xor2nZHBZgv3NN_YOSrunnT_KYTfBFNdqtVvqVC2L19Qhwk-cxse_FqrMVbIM" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vdCBGb3VuZCJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm90IEZvdW5kIn19" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQVU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNBVT0ifV19" } }, { - "ID": "3b65b77ddf07aecd", + "ID": "a3918deffd2f8f0f", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/defaultObjectAcl?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -11563,7 +14339,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 400, @@ -11571,20 +14349,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0" ], "Content-Length": [ - "221" + "12203" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:54 GMT" + "Thu, 02 May 2019 22:25:06 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:54 GMT" + "Thu, 02 May 2019 22:25:06 GMT" ], "Server": [ "UploadServer" @@ -11593,18 +14374,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Urikg0BIEktraDyusjFlksdIY79WTpFTCcYLqmepyifhl-kxQtV9brQkQ4Y1jbtTs37PPcduLB2uNnK5PyzBkw0tycl2qSAUHHFR9y52a817nlL0ng" + "AEnB2UpCCE2tr_4iWFlwmQkFVvzfskSWvZdvohQYV52oXF-tWUfie6Brp5TYrvUYx7jH8zsTg9qqk_kv0th8pOA1WsHahBUbDYuaqAmW0EpSJI6_xjBPdZ8" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToxMDEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IubGlzdChBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5jb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5GYXVsdDogSW1tdXRhYmxlRXJyb3JEZWZpbml0aW9ue2Jhc2U9UkVRVUlSRUQsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToxMDEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IubGlzdChBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBkb21haW49Z2xvYmFsLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9YmFkUmVxdWVzdCwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uUkVRVUlSRUQsIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfTUlTU0lORzogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjEwMSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5saXN0KEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6ODkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMH0gQnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MTAxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmxpc3QoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YTo4OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5FcnJvckNvbGxlY3Rvci50b0ZhdWx0KEVycm9yQ29sbGVjdG9yLmphdmE6NTQpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5RXJyb3JDb252ZXJ0ZXIudG9GYXVsdChSb3N5RXJyb3JDb252ZXJ0ZXIuamF2YTo2Nylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjI1OSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjIzOSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnRocmVhZC5UaHJlYWRUcmFja2VycyRUaHJlYWRUcmFja2luZ1J1bm5hYmxlLnJ1bihUaHJlYWRUcmFja2Vycy5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6NDUzKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuc2VydmVyLkNvbW1vbk1vZHVsZSRDb250ZXh0Q2FycnlpbmdFeGVjdXRvclNlcnZpY2UkMS5ydW5JbkNvbnRleHQoQ29tbW9uTW9kdWxlLmphdmE6ODAyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlJDEucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ2MClcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihUcmFjZUNvbnRleHQuamF2YTozMTkpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6MzExKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NTcpXG5cdGF0IGNvbS5nb29nbGUuZ3NlLmludGVybmFsLkRpc3BhdGNoUXVldWVJbXBsJFdvcmtlclRocmVhZC5ydW4oRGlzcGF0Y2hRdWV1ZUltcGwuamF2YTo0MDMpXG4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" } }, { - "ID": "78f7d42854a83a0f", + "ID": "42a941620757dac5", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/defaultObjectAcl?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", "Header": { "Accept-Encoding": [ "gzip" @@ -11614,28 +14404,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 404, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "117" + "684" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:54 GMT" + "Thu, 02 May 2019 22:25:06 GMT" + ], + "Etag": [ + "CAU=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:54 GMT" + "Thu, 02 May 2019 22:25:06 GMT" ], "Server": [ "UploadServer" @@ -11644,18 +14442,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoqI8d2K3L3THenHvGFOBNGNW0_Ug2TsiHKk1b_YbK0HtcBsaOeUfLaf-ImHlBYa26eUp4FQsEzYFtR5O_zHa26k_jdUsmR-UBk0WQzilbrazsUeVg" + "AEnB2Uoqov2civPKG8oSKmpVgUSoOD4W3rev4av_O6jgxkc5tSpPMgtxZeG3NznVRuFJLgClao2zPH8BvZIxTAAPUi_R-H0zgPz6ou8k9SMzLrcgW_HW100" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vdCBGb3VuZCJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm90IEZvdW5kIn19" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQVU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNBVT0ifV19" } }, { - "ID": "2ef4779e7157c3a5", + "ID": "ae79f2e22d58681a", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/defaultObjectAcl?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", "Header": { "Accept-Encoding": [ "gzip" @@ -11665,7 +14472,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 403, @@ -11673,20 +14482,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0" ], "Content-Length": [ - "374" + "13059" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:54 GMT" + "Thu, 02 May 2019 22:25:06 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:54 GMT" + "Thu, 02 May 2019 22:25:06 GMT" ], "Server": [ "UploadServer" @@ -11695,54 +14507,63 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UoY_SDpVuSy1pIiz42P7zUpYOETeFFDAnCCvlnCNFFE-UgQ0HnTzHzAS_d3zCx2JX_d4P8JnGNiL79rhwa-9SiKsoCeG88c_ugn3cVxO-6pYKk6mMI" + "AEnB2UqP_EhJin_8uqVkiSwAv0jBAI8A0o7nSwNAQ-Z_EdAnq2PItIGJZl5NOE_xcDTFce_ncHfsf6LvV4NMvuxiOsl32BOddZj_6x5dC36QqrKvhXKaQJ0" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MTAxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmxpc3QoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YTo4OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5jb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5GYXVsdDogSW1tdXRhYmxlRXJyb3JEZWZpbml0aW9ue2Jhc2U9Rk9SQklEREVOLCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9BQ0NFU1NfREVOSUVEOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToxMDEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IubGlzdChBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1mb3JiaWRkZW4sIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLkZPUkJJRERFTiwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9BQ0NFU1NfREVOSUVEOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToxMDEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IubGlzdChBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjEwMSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5saXN0KEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6ODkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5FcnJvckNvbGxlY3Rvci50b0ZhdWx0KEVycm9yQ29sbGVjdG9yLmphdmE6NTQpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5RXJyb3JDb252ZXJ0ZXIudG9GYXVsdChSb3N5RXJyb3JDb252ZXJ0ZXIuamF2YTo2Nylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjI1OSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjIzOSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnRocmVhZC5UaHJlYWRUcmFja2VycyRUaHJlYWRUcmFja2luZ1J1bm5hYmxlLnJ1bihUaHJlYWRUcmFja2Vycy5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6NDUzKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuc2VydmVyLkNvbW1vbk1vZHVsZSRDb250ZXh0Q2FycnlpbmdFeGVjdXRvclNlcnZpY2UkMS5ydW5JbkNvbnRleHQoQ29tbW9uTW9kdWxlLmphdmE6ODAyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlJDEucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ2MClcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihUcmFjZUNvbnRleHQuamF2YTozMTkpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6MzExKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NTcpXG5cdGF0IGNvbS5nb29nbGUuZ3NlLmludGVybmFsLkRpc3BhdGNoUXVldWVJbXBsJFdvcmtlclRocmVhZC5ydW4oRGlzcGF0Y2hRdWV1ZUltcGwuamF2YTo0MDMpXG4ifV0sImNvZGUiOjQwMywibWVzc2FnZSI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuIn19" } }, { - "ID": "4fffb0c321cf72c8", + "ID": "99becaf4890b3c21", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "107" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "463" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:08:55 GMT" + "Thu, 02 May 2019 22:25:08 GMT" ], "Etag": [ - "CKWgwqLb4d8CEAU=" + "CAY=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -11757,60 +14578,63 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqN89cBjj1zvXs19xPGOYOYxh5Sr0H45BrdaWR8QWm7h1vYVd4Iu3RZ8CSHAlXILlhLo3ObcEPseEoCE8QDeUjzXFKkR6kc_0KSHqGOSoCoHyo--1Q" + "AEnB2UpWMu40YNkuE3QcNByTmrKw_cnq4a8DVtcknBJ7gTnLdH1BC6CqoFOStPpa6y4PMmdpLpquozlOzvI4NWjgZYp1d9F_wBEyaq-wquTQAWGXNy3qktY" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZm9vLzE1NDcwNzE3MjAwMzQzNDEvZG9tYWluLWdvb2dsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9mb28vYWNsL2RvbWFpbi1nb29nbGUuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBVT0ifQ==" + "Body": "" } }, { - "ID": "b26e04ecf801cc3d", + "ID": "586ccc26d5a22712", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=dulcet-port-762", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "107" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 404, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" ], "Content-Length": [ - "463" + "11631" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:55 GMT" - ], - "Etag": [ - "CKWgwqLb4d8CEAU=" + "Thu, 02 May 2019 22:25:08 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:08 GMT" ], "Server": [ "UploadServer" @@ -11819,32 +14643,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UroTg0QnXyXOdY44wred-n7CGXKTKnhnaKxcnNvi9WMsH6alEyCJcIvB_hbNcnqMduY_iqUE5SYlTIvRXK8ri8Bs0xf9ewIK2hU5RheeXnJMJqoz6U" + "AEnB2UpsRO9GedosQ-kg2lCQpx2S6C0-HH592CdB3SU9yGMwEEGKX9md7KGeSDhecrm_6Ug6tyYtEMlsMq08YBAKGprXfcN9130mRolu_HVey3CcrXK1nZ0" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZm9vLzE1NDcwNzE3MjAwMzQzNDEvZG9tYWluLWdvb2dsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9mb28vYWNsL2RvbWFpbi1nb29nbGUuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBVT0ifQ==" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vdCBGb3VuZCIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0xfU0NPUEVfTk9UX0ZPVU5EOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IFNwZWNpZmllZCBBQ0wgc2NvcGUgd2FzIG5vdCBmb3VuZFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cbmNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1OT1RfRk9VTkQsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNMX1NDT1BFX05PVF9GT1VORDogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBkb21haW49Z2xvYmFsLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9bm90Rm91bmQsIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLk5PVF9GT1VORCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OkFDTF9TQ09QRV9OT1RfRk9VTkQ6IFNwZWNpZmllZCBBQ0wgc2NvcGUgd2FzIG5vdCBmb3VuZFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6ODYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmRlbGV0ZShBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjEwOSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZXJyb3JQcm90b0NvZGU9Tk9UX0ZPVU5ELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZV9pZC5zY29wZSwgbWVzc2FnZT1udWxsLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249ZW50aXR5LnJlc291cmNlX2lkLnNjb3BlLCBtZXNzYWdlPU5vdCBGb3VuZCwgcmVhc29uPW5vdEZvdW5kLCBycGNDb2RlPTQwNH0gTm90IEZvdW5kOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNMX1NDT1BFX05PVF9GT1VORDogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm90IEZvdW5kIn19" } }, { - "ID": "2070c964d93f5966", + "ID": "fad4bdab588e0f3a", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "107" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + "" ] }, "Response": { @@ -11853,14 +14683,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "private, max-age=0" + ], "Content-Length": [ - "221" + "12243" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:55 GMT" + "Thu, 02 May 2019 22:25:08 GMT" + ], + "Expires": [ + "Thu, 02 May 2019 22:25:08 GMT" ], "Server": [ "UploadServer" @@ -11869,60 +14708,63 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UqTJ7efvNF3c8HygmsWVYZ-vwlv1PJTt4CyBjIQYrQ2VTosTabZt4ctbibRIhkIA8ZMPZfij1Mbwn8m2Z4pvLICIb9f-BLLWGY2uu-hchbN3ZA7kos" + "AEnB2UoUefKoF0asUvxzmAtX5z5m_5FRy9UfliKkjQN8cYyrHAotGwiQA72QN0lYfA0HXbe7gFRokwBAY8R5OpHcEdRq5K9sw8AwHuNtruFtBMxjN0D3hR4" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6ODYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmRlbGV0ZShBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjEwOSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVJFUVVJUkVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1iYWRSZXF1ZXN0LCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5SRVFVSVJFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMH0gQnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJCdWNrZXQgaXMgcmVxdWVzdGVyIHBheXMgYnVja2V0IGJ1dCBubyB1c2VyIHByb2plY3QgcHJvdmlkZWQuIn19" } }, { - "ID": "f04f845360664947", + "ID": "23bb9ce53da2f525", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "107" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 404, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" ], "Content-Length": [ - "463" + "11631" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:55 GMT" - ], - "Etag": [ - "CKWgwqLb4d8CEAU=" + "Thu, 02 May 2019 22:25:09 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:09 GMT" ], "Server": [ "UploadServer" @@ -11931,32 +14773,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq9PklubNShUh0EX1AVpjGNWw3uIzVySpTnujYi-eo1yKVLtTqJFbRh2OkaaG_8n3fYan4kaa0dNG7frY2FJ_m90Ic77w3D_NjMBvRsr_HMITZwQFw" + "AEnB2Upa2KE5JJOXq2FOn7RHasJpOeeHqWU2kk3BC4cQcGQ9jGzh6XIksN6Z6u1NVoCbxW7-3zGiZMdAop-oa_EuyPAauD__JgzNPdngeNeXO7lsGaVI6i8" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZm9vLzE1NDcwNzE3MjAwMzQzNDEvZG9tYWluLWdvb2dsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9mb28vYWNsL2RvbWFpbi1nb29nbGUuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBVT0ifQ==" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vdCBGb3VuZCIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0xfU0NPUEVfTk9UX0ZPVU5EOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IFNwZWNpZmllZCBBQ0wgc2NvcGUgd2FzIG5vdCBmb3VuZFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cbmNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1OT1RfRk9VTkQsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNMX1NDT1BFX05PVF9GT1VORDogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBkb21haW49Z2xvYmFsLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9bm90Rm91bmQsIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLk5PVF9GT1VORCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OkFDTF9TQ09QRV9OT1RfRk9VTkQ6IFNwZWNpZmllZCBBQ0wgc2NvcGUgd2FzIG5vdCBmb3VuZFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6ODYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmRlbGV0ZShBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjEwOSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZXJyb3JQcm90b0NvZGU9Tk9UX0ZPVU5ELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZV9pZC5zY29wZSwgbWVzc2FnZT1udWxsLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249ZW50aXR5LnJlc291cmNlX2lkLnNjb3BlLCBtZXNzYWdlPU5vdCBGb3VuZCwgcmVhc29uPW5vdEZvdW5kLCBycGNDb2RlPTQwNH0gTm90IEZvdW5kOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNMX1NDT1BFX05PVF9GT1VORDogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm90IEZvdW5kIn19" } }, { - "ID": "39cb050fbabae1dd", + "ID": "46482e47e655836d", "Request": { - "Method": "PUT", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/defaultObjectAcl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "107" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + "" ] }, "Response": { @@ -11965,14 +14813,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "private, max-age=0" + ], "Content-Length": [ - "374" + "13099" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:55 GMT" + "Thu, 02 May 2019 22:25:09 GMT" + ], + "Expires": [ + "Thu, 02 May 2019 22:25:09 GMT" ], "Server": [ "UploadServer" @@ -11981,28 +14838,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Urcg0e-zgbb8tH6Y0IMFiY2QxH_8HyLgf6jDEikBW9Vq88gZNK_TiOXZIwvacqZ0uixYqjRtz47tKOWTLp7YTd-ace05C04wcI_6THAuDTYd4HhoZ8" + "AEnB2Urze42blCAS2Dskbf5jkbCkdo5IhfOjcTlcufV1ooZd5x_QD0zK1gRoXLXfvLjKHEKaJ7cuDeSRmNjuqgEoxJFMmXUoPOIetWLYbH0G-lJcM6tydew" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUZPUkJJRERFTiwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWZvcmJpZGRlbiwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uRk9SQklEREVOLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDMsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9fQ==" } }, { - "ID": "389d4f33e7c02a57", + "ID": "856a1fb5ffdb000f", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/acl?alt=json\u0026prettyPrint=false", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "107" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + ] }, "Response": { "StatusCode": 200, @@ -12010,23 +14881,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2788" + "463" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:56 GMT" + "Thu, 02 May 2019 22:25:09 GMT" ], "Etag": [ - "CKWgwqLb4d8CEAU=" + "COGeqNLx/eECEAU=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:56 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -12035,28 +14912,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uphe9_XNWPG7rkSN7JP-4qTp0T_-tuWFUfN033b07v1oLFfI-u71-U2qmPLr1QAFUOI_C_eSajBSDtjtPkBvjSQ2f-ZEWeR7ux-m09wPzsQmaBDRME" + "AEnB2UoFSnYuPlv_JejZ0nEjoWRXeLwj0MS-ddTlIaSOjaK5BudyIcIOeVDEeyFYWsF-GCZzMC0F7v-UEw0_lbsYBXCMZcLp6WZu_s3OPDREhpz2s3Txw-s" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZm9vLzE1NDcwNzE3MjAwMzQzNDEvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9mb28vYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9mb28vYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzIwMDM0MzQxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9mb28vYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzIwMDM0MzQxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDS1dnd3FMYjRkOENFQVU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZm9vLzE1NDcwNzE3MjAwMzQzNDEvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzIwMDM0MzQxIiwiZW50aXR5IjoidXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFVPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL2RvbWFpbi1nb29nbGUuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC9kb21haW4tZ29vZ2xlLmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzIwMDM0MzQxIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDS1dnd3FMYjRkOENFQVU9In1dfQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTE1NDgwMDEvZG9tYWluLWdvb2dsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL2RvbWFpbi1nb29nbGUuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBVT0ifQ==" } }, { - "ID": "4faf248dc1f96858", + "ID": "a74c3e1b541a9ffc", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/acl?alt=json\u0026prettyPrint=false\u0026userProject=dulcet-port-762", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "107" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + ] }, "Response": { "StatusCode": 200, @@ -12064,23 +14955,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2788" + "463" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:56 GMT" + "Thu, 02 May 2019 22:25:10 GMT" ], "Etag": [ - "CKWgwqLb4d8CEAU=" + "COGeqNLx/eECEAU=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:56 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -12089,28 +14986,42 @@ "Origin", "X-Origin" ], - "X-Guploader-Uploadid": [ - "AEnB2Uq1blcZAGKu6q7m6w4GtqwNxuql1kYyph7EJzTyqQrAw8GftoMR9x8I-7Ybap7Rv1z1XIuKVpkXIv8Jn4ZFrXzAP4tiYvfsmh9eyDiKjmiDLctKFks" - ] + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], + "X-Guploader-Uploadid": [ + "AEnB2Ury3MiMZho3xaSHmFgwHNvKIHTa0_gZzfKvX8FW6iVGNkdSbXvmVypIUuIoKXDjd4rOXpFghdoJlES9A_iXUvZyfWAZLvWqR1w6sDRymrIARVd0dPE" + ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZm9vLzE1NDcwNzE3MjAwMzQzNDEvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9mb28vYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9mb28vYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzIwMDM0MzQxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9mb28vYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzIwMDM0MzQxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDS1dnd3FMYjRkOENFQVU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZm9vLzE1NDcwNzE3MjAwMzQzNDEvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzIwMDM0MzQxIiwiZW50aXR5IjoidXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFVPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL2RvbWFpbi1nb29nbGUuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC9kb21haW4tZ29vZ2xlLmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzIwMDM0MzQxIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDS1dnd3FMYjRkOENFQVU9In1dfQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTE1NDgwMDEvZG9tYWluLWdvb2dsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL2RvbWFpbi1nb29nbGUuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBVT0ifQ==" } }, { - "ID": "57293e61dab2407f", + "ID": "913da4fa24ea5f1f", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/acl?alt=json\u0026prettyPrint=false", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "107" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + ] }, "Response": { "StatusCode": 400, @@ -12118,20 +15029,17 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "private, max-age=0" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "221" + "12243" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:56 GMT" - ], - "Expires": [ - "Wed, 09 Jan 2019 22:08:56 GMT" + "Thu, 02 May 2019 22:25:10 GMT" ], "Server": [ "UploadServer" @@ -12140,28 +15048,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Up6HsrGr7iF8MVHyKmBfkqgGYg0jEu6EJC497FKWO-MPDhnWQVIlEK6J7HX0R_9k4OTCWD9haYdWcVelGcoCK2xbpMeEFI6SrXfiChQKJir-z9Bi0E" + "AEnB2UoKAxObyNBS_Mew44t3k1u80cLBGQW_I2ohrF96rIjZRxFscjGFrvsOHfLxw78rTRnpHmfA0uXnNz8T2FPc_Op16Lnn1YkfyOezSEhDBx11qZbinEE" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5VcGRhdGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChVcGRhdGVBY2xzLmphdmE6OTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5VcGRhdGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChVcGRhdGVBY2xzLmphdmE6MjcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLnVwZGF0ZShBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjEwMylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVJFUVVJUkVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjkwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjI3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci51cGRhdGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1iYWRSZXF1ZXN0LCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5SRVFVSVJFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjkwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjI3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci51cGRhdGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMH0gQnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjkwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjI3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci51cGRhdGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJCdWNrZXQgaXMgcmVxdWVzdGVyIHBheXMgYnVja2V0IGJ1dCBubyB1c2VyIHByb2plY3QgcHJvdmlkZWQuIn19" } }, { - "ID": "4bd2d90ed891fcac", + "ID": "5dbdf24cae75e565", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/acl?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "107" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + ] }, "Response": { "StatusCode": 200, @@ -12169,23 +15091,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2788" + "463" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:56 GMT" + "Thu, 02 May 2019 22:25:10 GMT" ], "Etag": [ - "CKWgwqLb4d8CEAU=" + "COGeqNLx/eECEAU=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:56 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -12194,28 +15122,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqfjWxb5MOdsovcVgxwAQgtEYhw_MPhUjZeL87Rv-7bGbL6oElBSzNDd5J3TURVGc7HudlwrAAvyeuMQpc0ZsXrnYx2mudZnAxUZAjC3oibKmqk2sY" + "AEnB2UpoJgRZ665WjiUif7SnQ-Vg4B0kJl-UQ_kIk5XgmcQIL5zmCBp3NCxjksybkvNKpGcQnIJSLevfyWd2fugRv5y5vxmEBgqFffIy8ibTIyBDH4b7R74" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZm9vLzE1NDcwNzE3MjAwMzQzNDEvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9mb28vYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MjAwMzQzNDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9mb28vYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzIwMDM0MzQxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNLV2d3cUxiNGQ4Q0VBVT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTcyMDAzNDM0MS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9mb28vYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzIwMDM0MzQxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDS1dnd3FMYjRkOENFQVU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvZm9vLzE1NDcwNzE3MjAwMzQzNDEvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzIwMDM0MzQxIiwiZW50aXR5IjoidXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0tXZ3dxTGI0ZDhDRUFVPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzIwMDM0MzQxL2RvbWFpbi1nb29nbGUuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC9kb21haW4tZ29vZ2xlLmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzIwMDM0MzQxIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDS1dnd3FMYjRkOENFQVU9In1dfQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTE1NDgwMDEvZG9tYWluLWdvb2dsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL2RvbWFpbi1nb29nbGUuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4OTE1NDgwMDEiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNPR2VxTkx4L2VFQ0VBVT0ifQ==" } }, { - "ID": "a6bdfaad778e2348", + "ID": "f41892a142fe6d2b", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/acl?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", + "Method": "PUT", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "107" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIifQo=" + ] }, "Response": { "StatusCode": 403, @@ -12223,20 +15165,17 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "private, max-age=0" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "374" + "13099" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:56 GMT" - ], - "Expires": [ - "Wed, 09 Jan 2019 22:08:56 GMT" + "Thu, 02 May 2019 22:25:11 GMT" ], "Server": [ "UploadServer" @@ -12245,18 +15184,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UrF3GePfI0irLdpNa71wfWrbxwgWq3LY7RzUZWQOZnU_9ROMJFeI5G-MnoqOdhFj4Rzp5FjFKi8RwBC1vgNBvL620WMJHtcM6iO5n-xCYTlCCLYAYs" + "AEnB2UpThInLTHhtepE7J4k-Rg6OoLRyOqnjPz4sZmfIH6wp5TSIyLrZQhExKAP52XbwUwMYp7x-xypSMY5kfR66I-dmpRWaFkfs0Lhy-Z6kqb5JUXSppqk" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjkwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjI3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci51cGRhdGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUZPUkJJRERFTiwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjkwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuVXBkYXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoVXBkYXRlQWNscy5qYXZhOjI3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci51cGRhdGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWZvcmJpZGRlbiwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uRk9SQklEREVOLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLlVwZGF0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFjbHMuamF2YTo5MClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLlVwZGF0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFjbHMuamF2YToyNylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IudXBkYXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTAzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLlVwZGF0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFjbHMuamF2YTo5MClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLlVwZGF0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFVwZGF0ZUFjbHMuamF2YToyNylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IudXBkYXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTAzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDMsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9fQ==" } }, { - "ID": "a57d753970c29d88", + "ID": "5eb0710be2571dab", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/acl?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -12266,34 +15214,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "0" + "2800" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:57 GMT" + "Thu, 02 May 2019 22:25:11 GMT" ], "Etag": [ - "CKWgwqLb4d8CEAY=" + "COGeqNLx/eECEAU=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:11 GMT" ], "Server": [ "UploadServer" @@ -12302,18 +15252,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqZTPa2UlOSlB5s_dXAPzcirCDiEjn9dNE6YgQ4omTv2ZptNp6_SRrvSJ9PmpovlK-t6jK0-VyWapLXP6hQ8_WAx-C4F89aQirywn4AZmqWHjnB5E0" + "AEnB2UpbetUCGwYg4rhIR-DP3ntPqbkFwSqutNltVR55I4qedP-rZ5hC7ospMy6hZ4aQaNOhNv0frmst8MQZ0j6Mp8BcTC6qy7mU8bhEAiMGLycR5XxUWfI" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTE1NDgwMDEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDT0dlcU5MeC9lRUNFQVU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTE1NDgwMDEvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ09HZXFOTHgvZUVDRUFVPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2Zvby8xNTU2ODM1ODkxNTQ4MDAxL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDT0dlcU5MeC9lRUNFQVU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTE1NDgwMDEvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoidXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09HZXFOTHgvZUVDRUFVPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2Zvby8xNTU2ODM1ODkxNTQ4MDAxL2RvbWFpbi1nb29nbGUuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9kb21haW4tZ29vZ2xlLmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDT0dlcU5MeC9lRUNFQVU9In1dfQ==" } }, { - "ID": "29b12cc419120e5b", + "ID": "56aaafb0a24b0644", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=dulcet-port-762", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/acl?alt=json\u0026prettyPrint=false\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" @@ -12323,28 +15282,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 404, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "117" + "2800" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:57 GMT" + "Thu, 02 May 2019 22:25:11 GMT" + ], + "Etag": [ + "COGeqNLx/eECEAU=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:57 GMT" + "Thu, 02 May 2019 22:25:11 GMT" ], "Server": [ "UploadServer" @@ -12353,18 +15320,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqMnjJq0B1bwv9LdHf-3fsIL4LcCajzem9Zqy-GV-sHRWiBj0bWyw8B36fZQfKk5Gh2We5MDL_vIFzhkSlF7adErbz-LxfwER2oQQnzEHlQ-pl0GvE" + "AEnB2UrqQczDm-dzjgTlLFcJ2lXQrMTpQ_8UP-1hNbGj7eZEgZcbxWA-oyXqEe4tJXq3gYdZ3mEIcAzaDtNeBHWidpIev7kdXWank04_JSWbQtU2UomJqeU" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vdCBGb3VuZCJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm90IEZvdW5kIn19" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTE1NDgwMDEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDT0dlcU5MeC9lRUNFQVU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTE1NDgwMDEvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ09HZXFOTHgvZUVDRUFVPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2Zvby8xNTU2ODM1ODkxNTQ4MDAxL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDT0dlcU5MeC9lRUNFQVU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTE1NDgwMDEvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoidXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09HZXFOTHgvZUVDRUFVPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2Zvby8xNTU2ODM1ODkxNTQ4MDAxL2RvbWFpbi1nb29nbGUuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9kb21haW4tZ29vZ2xlLmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDT0dlcU5MeC9lRUNFQVU9In1dfQ==" } }, { - "ID": "affa7a77f230409d", + "ID": "3bbc40d778939612", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/acl?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -12374,7 +15350,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 400, @@ -12382,20 +15360,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0" ], "Content-Length": [ - "221" + "12203" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:58 GMT" + "Thu, 02 May 2019 22:25:12 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:58 GMT" + "Thu, 02 May 2019 22:25:12 GMT" ], "Server": [ "UploadServer" @@ -12404,18 +15385,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq9wvv9h0kAPD3hrfaha2nRVTnyGD3Mj9EoevTXC67MmktlrracFmcNLq58Xfo5arJdiOcxSatnYrXre2RymELKkivHOk-JGJgwA43yqK5y4JQqtH4" + "AEnB2Ur5kJWpLwxz76BKPll75-nOsLv_uoh7X-TW0SbNHCYEzkGq8VZ-W8a5tKGUF6rKea4ejr4MhcqJVr1Zu7O-zNAfQWJMsHC9CTkOrPa5Iu1s0KBJDdY" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToxMDEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IubGlzdChBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5jb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5GYXVsdDogSW1tdXRhYmxlRXJyb3JEZWZpbml0aW9ue2Jhc2U9UkVRVUlSRUQsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToxMDEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IubGlzdChBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBkb21haW49Z2xvYmFsLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9YmFkUmVxdWVzdCwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uUkVRVUlSRUQsIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfTUlTU0lORzogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjEwMSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5saXN0KEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6ODkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMH0gQnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MTAxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmxpc3QoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YTo4OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5FcnJvckNvbGxlY3Rvci50b0ZhdWx0KEVycm9yQ29sbGVjdG9yLmphdmE6NTQpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5RXJyb3JDb252ZXJ0ZXIudG9GYXVsdChSb3N5RXJyb3JDb252ZXJ0ZXIuamF2YTo2Nylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjI1OSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjIzOSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnRocmVhZC5UaHJlYWRUcmFja2VycyRUaHJlYWRUcmFja2luZ1J1bm5hYmxlLnJ1bihUaHJlYWRUcmFja2Vycy5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6NDUzKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuc2VydmVyLkNvbW1vbk1vZHVsZSRDb250ZXh0Q2FycnlpbmdFeGVjdXRvclNlcnZpY2UkMS5ydW5JbkNvbnRleHQoQ29tbW9uTW9kdWxlLmphdmE6ODAyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlJDEucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ2MClcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihUcmFjZUNvbnRleHQuamF2YTozMTkpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6MzExKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NTcpXG5cdGF0IGNvbS5nb29nbGUuZ3NlLmludGVybmFsLkRpc3BhdGNoUXVldWVJbXBsJFdvcmtlclRocmVhZC5ydW4oRGlzcGF0Y2hRdWV1ZUltcGwuamF2YTo0MDMpXG4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" } }, { - "ID": "74627edf4d67b2df", + "ID": "a2868e9e376e356b", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/acl?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", "Header": { "Accept-Encoding": [ "gzip" @@ -12425,28 +15415,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 404, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "117" + "2800" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:58 GMT" + "Thu, 02 May 2019 22:25:12 GMT" + ], + "Etag": [ + "COGeqNLx/eECEAU=" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:58 GMT" + "Thu, 02 May 2019 22:25:12 GMT" ], "Server": [ "UploadServer" @@ -12455,18 +15453,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoVTmGyBHddUKUzVcLVqqntqCRsCvpaaVf5aUj5ZVRwnws0Em3idmTCNbHRknvcrl1nGLEXrmxD-CALzJvENhBhj2G3NwFk_09qufoifU37EnP_-Q8" + "AEnB2UoyZfAJB3TroGxzYv0gy7dHUwpU0jtIeU_EyQSFQKzHlHbyRa33r_a-B1aHw5tHaoawuDvv7skisdx10yhmm9ZRrPw0ibwpMkX5Cwhf0OK85DF84jM" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vdCBGb3VuZCJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm90IEZvdW5kIn19" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9scyIsIml0ZW1zIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTE1NDgwMDEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDT0dlcU5MeC9lRUNFQVU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTE1NDgwMDEvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ09HZXFOTHgvZUVDRUFVPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2Zvby8xNTU2ODM1ODkxNTQ4MDAxL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg5MTU0ODAwMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDT0dlcU5MeC9lRUNFQVU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU4OTE1NDgwMDEvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvdXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoidXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09HZXFOTHgvZUVDRUFVPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2Zvby8xNTU2ODM1ODkxNTQ4MDAxL2RvbWFpbi1nb29nbGUuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9kb21haW4tZ29vZ2xlLmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODkxNTQ4MDAxIiwiZW50aXR5IjoiZG9tYWluLWdvb2dsZS5jb20iLCJyb2xlIjoiUkVBREVSIiwiZG9tYWluIjoiZ29vZ2xlLmNvbSIsImV0YWciOiJDT0dlcU5MeC9lRUNFQVU9In1dfQ==" } }, { - "ID": "cdc97531aa490393", + "ID": "ffb216dc74ccc27e", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/acl?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", "Header": { "Accept-Encoding": [ "gzip" @@ -12476,7 +15483,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 403, @@ -12484,20 +15493,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0" ], "Content-Length": [ - "374" + "13059" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:58 GMT" + "Thu, 02 May 2019 22:25:12 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:08:58 GMT" + "Thu, 02 May 2019 22:25:12 GMT" ], "Server": [ "UploadServer" @@ -12506,51 +15518,63 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UpgweIiuBnwtfTIK2ABWA3RJ6OsQXLbeIxZaz3MVrTnFWRrvqnFgt0ut2uohEMR6vt5r8WIdGnSoPSDGvmXu--REm-BqOeKR0tiCZbSZvxWE5T1nDY" + "AEnB2UqBumxgw_FTJlt7J3xLsBDxljAcEyC2G5aQqhEibawMttB-ogPabqDfz8ZN65WtOikIggZQ8OqW8zigV4Q5vfQkog7NMasAuivcMjhAsgqv_6qWv_E" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MTAxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuTGlzdEFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExpc3RBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmxpc3QoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YTo4OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5jb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5GYXVsdDogSW1tdXRhYmxlRXJyb3JEZWZpbml0aW9ue2Jhc2U9Rk9SQklEREVOLCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9BQ0NFU1NfREVOSUVEOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToxMDEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IubGlzdChBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1mb3JiaWRkZW4sIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLkZPUkJJRERFTiwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9BQ0NFU1NfREVOSUVEOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToxMDEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5MaXN0QWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTGlzdEFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IubGlzdChBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjEwMSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkxpc3RBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0QWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5saXN0KEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6ODkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5FcnJvckNvbGxlY3Rvci50b0ZhdWx0KEVycm9yQ29sbGVjdG9yLmphdmE6NTQpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5RXJyb3JDb252ZXJ0ZXIudG9GYXVsdChSb3N5RXJyb3JDb252ZXJ0ZXIuamF2YTo2Nylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjI1OSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjIzOSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnRocmVhZC5UaHJlYWRUcmFja2VycyRUaHJlYWRUcmFja2luZ1J1bm5hYmxlLnJ1bihUaHJlYWRUcmFja2Vycy5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6NDUzKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuc2VydmVyLkNvbW1vbk1vZHVsZSRDb250ZXh0Q2FycnlpbmdFeGVjdXRvclNlcnZpY2UkMS5ydW5JbkNvbnRleHQoQ29tbW9uTW9kdWxlLmphdmE6ODAyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlJDEucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ2MClcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihUcmFjZUNvbnRleHQuamF2YTozMTkpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6MzExKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NTcpXG5cdGF0IGNvbS5nb29nbGUuZ3NlLmludGVybmFsLkRpc3BhdGNoUXVldWVJbXBsJFdvcmtlclRocmVhZC5ydW4oRGlzcGF0Y2hRdWV1ZUltcGwuamF2YTo0MDMpXG4ifV0sImNvZGUiOjQwMywibWVzc2FnZSI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuIn19" } }, { - "ID": "23f27c3e9c368815", + "ID": "183157f40c6c1bcd", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/rewriteTo/b/go-integration-test-20190109-79655285984746-0003/o/copy?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "3" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "e30K" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3366" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:08:59 GMT" + "Thu, 02 May 2019 22:25:13 GMT" + ], + "Etag": [ + "COGeqNLx/eECEAY=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -12565,57 +15589,63 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpETmN5HAWalZ9q8Q1EVv_s5EwLo2WYECKN2pP1AfoGC-4mY1nUEOZ1GjxCB0vvSXa8VQ_bG6_ZOnW88lj-KJ4nxyX80tvUwICr8yU_PZcLFN5HkOw" + "AEnB2UrC6xxVQeIIjitNwDv5PhDUIBQbtGdHJDi_AmLs8vTbGzkby-5hguMIwI_UeHlCuGF1u5jBoVwCOgSqJBiJJ5fxh8oCzBn-nHGcGAdIOeQt7gTL0RQ" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiNSIsIm9iamVjdFNpemUiOiI1IiwiZG9uZSI6dHJ1ZSwicmVzb3VyY2UiOnsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvY29weS8xNTQ3MDcxNzM5MDQ3MDI3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vY29weSIsIm5hbWUiOiJjb3B5IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MzkwNDcwMjciLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6NTkuMDQ2WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjU5LjA0NloiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODo1OS4wNDZaIiwic2l6ZSI6IjUiLCJtZDVIYXNoIjoiWFVGQUtyeExLbmE1Y1oyUkVCZkZrZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2NvcHk/Z2VuZXJhdGlvbj0xNTQ3MDcxNzM5MDQ3MDI3JmFsdD1tZWRpYSIsImNvbnRlbnRMYW5ndWFnZSI6ImVuIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvY29weS8xNTQ3MDcxNzM5MDQ3MDI3L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vY29weS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJjb3B5IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MzkwNDcwMjciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNQUFl5cXZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9jb3B5LzE1NDcwNzE3MzkwNDcwMjcvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vY29weS9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiY29weSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzM5MDQ3MDI3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNQUFl5cXZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9jb3B5LzE1NDcwNzE3MzkwNDcwMjcvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vY29weS9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiY29weSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzM5MDQ3MDI3IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDUFBZeXF2YjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvY29weS8xNTQ3MDcxNzM5MDQ3MDI3L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9jb3B5L2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiY29weSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzM5MDQ3MDI3IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ1BQWXlxdmI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJtbkc3VEE9PSIsImV0YWciOiJDUFBZeXF2YjRkOENFQUU9In19" + "Body": "" } }, { - "ID": "9c0988d604a3d29a", + "ID": "4b6b925053570053", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/rewriteTo/b/go-integration-test-20190109-79655285984746-0003/o/copy?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=dulcet-port-762", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "3" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "e30K" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 404, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" ], "Content-Length": [ - "3366" + "11631" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:08:59 GMT" + "Thu, 02 May 2019 22:25:13 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:13 GMT" ], "Server": [ "UploadServer" @@ -12624,32 +15654,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UpY-eI5wp69cH7AD2PVJQqMj_-qqKD3DTLlGOEg0qaU9ST7WAEhlm0WrgiUrHfd1aMEDgiMVC2BgheogCqlz9uapmeM_vFdA2iITQ67v00ZeHJ4jpE" + "AEnB2UpiIBwh04pJH1-X9d1oJluF_2ZCJEFLzF4E7SI-easf2noIolxavCbpH7NP9GMmNXnVK_ZJm4kW8coV5ArXDr-Rwodjnd9Bn2hFiJ_puNeWWldJ6mA" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiNSIsIm9iamVjdFNpemUiOiI1IiwiZG9uZSI6dHJ1ZSwicmVzb3VyY2UiOnsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvY29weS8xNTQ3MDcxNzM5NzM5OTc0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vY29weSIsIm5hbWUiOiJjb3B5IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3Mzk3Mzk5NzQiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6NTkuNzM5WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjU5LjczOVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODo1OS43MzlaIiwic2l6ZSI6IjUiLCJtZDVIYXNoIjoiWFVGQUtyeExLbmE1Y1oyUkVCZkZrZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2NvcHk/Z2VuZXJhdGlvbj0xNTQ3MDcxNzM5NzM5OTc0JmFsdD1tZWRpYSIsImNvbnRlbnRMYW5ndWFnZSI6ImVuIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvY29weS8xNTQ3MDcxNzM5NzM5OTc0L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vY29weS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJjb3B5IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3Mzk3Mzk5NzQiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNNYis5S3ZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9jb3B5LzE1NDcwNzE3Mzk3Mzk5NzQvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vY29weS9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiY29weSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzM5NzM5OTc0IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNNYis5S3ZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9jb3B5LzE1NDcwNzE3Mzk3Mzk5NzQvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vY29weS9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiY29weSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzM5NzM5OTc0IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTWIrOUt2YjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvY29weS8xNTQ3MDcxNzM5NzM5OTc0L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9jb3B5L2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiY29weSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzM5NzM5OTc0IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ01iKzlLdmI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJtbkc3VEE9PSIsImV0YWciOiJDTWIrOUt2YjRkOENFQUU9In19" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vdCBGb3VuZCIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0xfU0NPUEVfTk9UX0ZPVU5EOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IFNwZWNpZmllZCBBQ0wgc2NvcGUgd2FzIG5vdCBmb3VuZFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cbmNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1OT1RfRk9VTkQsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNMX1NDT1BFX05PVF9GT1VORDogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBkb21haW49Z2xvYmFsLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9bm90Rm91bmQsIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLk5PVF9GT1VORCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OkFDTF9TQ09QRV9OT1RfRk9VTkQ6IFNwZWNpZmllZCBBQ0wgc2NvcGUgd2FzIG5vdCBmb3VuZFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6ODYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmRlbGV0ZShBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjEwOSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZXJyb3JQcm90b0NvZGU9Tk9UX0ZPVU5ELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZV9pZC5zY29wZSwgbWVzc2FnZT1udWxsLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249ZW50aXR5LnJlc291cmNlX2lkLnNjb3BlLCBtZXNzYWdlPU5vdCBGb3VuZCwgcmVhc29uPW5vdEZvdW5kLCBycGNDb2RlPTQwNH0gTm90IEZvdW5kOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNMX1NDT1BFX05PVF9GT1VORDogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm90IEZvdW5kIn19" } }, { - "ID": "ec813997d12610d0", + "ID": "9b4f9c448170e89d", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/rewriteTo/b/go-integration-test-20190109-79655285984746-0003/o/copy?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "3" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "e30K" + "" ] }, "Response": { @@ -12658,14 +15694,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "private, max-age=0" + ], "Content-Length": [ - "221" + "12243" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:00 GMT" + "Thu, 02 May 2019 22:25:14 GMT" + ], + "Expires": [ + "Thu, 02 May 2019 22:25:14 GMT" ], "Server": [ "UploadServer" @@ -12674,57 +15719,63 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UpcbKXRnWHPFzP7mJU1PteT0xx64Ha3udDhUUVsE3cQWGse0vCSfYr1-adD0jhUT6e3J1qdPkvwDbtmypSI4QgFry4lJYQZDFa0f6Xgybr1vhr22yQ" + "AEnB2UqHc1VVBdvXFq9aDPAprpXNP5xPt-ZtPdYXwCQPHX_s4gkCMom31AtHeDocV_hker5qryWoYnRD8PPu5c7JqDNQ75v7GgE1vO5xAt7AqWPoLU5MO5A" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6ODYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmRlbGV0ZShBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjEwOSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVJFUVVJUkVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1iYWRSZXF1ZXN0LCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5SRVFVSVJFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMH0gQnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJCdWNrZXQgaXMgcmVxdWVzdGVyIHBheXMgYnVja2V0IGJ1dCBubyB1c2VyIHByb2plY3QgcHJvdmlkZWQuIn19" } }, { - "ID": "fcf05774fde153ff", + "ID": "692d41cf9ea91eb2", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/rewriteTo/b/go-integration-test-20190109-79655285984746-0003/o/copy?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=gcloud-golang-firestore-tests", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "3" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "e30K" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 404, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" ], "Content-Length": [ - "3321" + "11631" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:00 GMT" + "Thu, 02 May 2019 22:25:14 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:14 GMT" ], "Server": [ "UploadServer" @@ -12733,32 +15784,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Upp1cAssZ0Kleid0aiwr3XjzdcSfSrTcQZb-YQvyJeKXA5b4pRtlvIXMWeZ6NYYDCZcc3Z9vCp-CFhNU6kkFzfPycGZruI1Lb7AZTPamcxvm2Yz58o" + "AEnB2UpuFB_mdJg9Fd7Sj06Xdcrj7Up2xXVc_P-SgISEEtiv4v9doPXzNbzBz92Q2UfEchYWSQnikHhS34dUAOefj9J4vaBYqjc9RjFmrn8YcPNyS8aWKgI" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiNSIsIm9iamVjdFNpemUiOiI1IiwiZG9uZSI6dHJ1ZSwicmVzb3VyY2UiOnsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvY29weS8xNTQ3MDcxNzQwMjExNjQxIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vY29weSIsIm5hbWUiOiJjb3B5IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDAyMTE2NDEiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MDAuMjExWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjAwLjIxMVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTowMC4yMTFaIiwic2l6ZSI6IjUiLCJtZDVIYXNoIjoiWFVGQUtyeExLbmE1Y1oyUkVCZkZrZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2NvcHk/Z2VuZXJhdGlvbj0xNTQ3MDcxNzQwMjExNjQxJmFsdD1tZWRpYSIsImNvbnRlbnRMYW5ndWFnZSI6ImVuIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvY29weS8xNTQ3MDcxNzQwMjExNjQxL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vY29weS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJjb3B5IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDAyMTE2NDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNMbmprYXpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9jb3B5LzE1NDcwNzE3NDAyMTE2NDEvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vY29weS9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiY29weSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzQwMjExNjQxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNMbmprYXpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9jb3B5LzE1NDcwNzE3NDAyMTE2NDEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vY29weS9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiY29weSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzQwMjExNjQxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTG5qa2F6YjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvY29weS8xNTQ3MDcxNzQwMjExNjQxL3VzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9jb3B5L2FjbC91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiY29weSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzQwMjExNjQxIiwiZW50aXR5IjoidXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0xuamthemI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJtbkc3VEE9PSIsImV0YWciOiJDTG5qa2F6YjRkOENFQUU9In19" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vdCBGb3VuZCIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0xfU0NPUEVfTk9UX0ZPVU5EOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IFNwZWNpZmllZCBBQ0wgc2NvcGUgd2FzIG5vdCBmb3VuZFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cbmNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1OT1RfRk9VTkQsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNMX1NDT1BFX05PVF9GT1VORDogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBkb21haW49Z2xvYmFsLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9bm90Rm91bmQsIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLk5PVF9GT1VORCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OkFDTF9TQ09QRV9OT1RfRk9VTkQ6IFNwZWNpZmllZCBBQ0wgc2NvcGUgd2FzIG5vdCBmb3VuZFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6ODYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYWNscy5EZWxldGVBY2xzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVBY2xzLmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmRlbGV0ZShBY2Nlc3NDb250cm9sc0RlbGVnYXRvci5qYXZhOjEwOSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZXJyb3JQcm90b0NvZGU9Tk9UX0ZPVU5ELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZV9pZC5zY29wZSwgbWVzc2FnZT1udWxsLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249ZW50aXR5LnJlc291cmNlX2lkLnNjb3BlLCBtZXNzYWdlPU5vdCBGb3VuZCwgcmVhc29uPW5vdEZvdW5kLCBycGNDb2RlPTQwNH0gTm90IEZvdW5kOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNMX1NDT1BFX05PVF9GT1VORDogU3BlY2lmaWVkIEFDTCBzY29wZSB3YXMgbm90IGZvdW5kXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBTcGVjaWZpZWQgQUNMIHNjb3BlIHdhcyBub3QgZm91bmRcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm90IEZvdW5kIn19" } }, { - "ID": "d70a4f6068eb8ce2", + "ID": "db035a3cc51de007", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo/rewriteTo/b/go-integration-test-20190109-79655285984746-0003/o/copy?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=veener-jba", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/acl/domain-google.com?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "3" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "e30K" + "" ] }, "Response": { @@ -12767,14 +15824,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "private, max-age=0" + ], "Content-Length": [ - "374" + "13099" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:00 GMT" + "Thu, 02 May 2019 22:25:14 GMT" + ], + "Expires": [ + "Thu, 02 May 2019 22:25:14 GMT" ], "Server": [ "UploadServer" @@ -12783,24 +15849,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UqJlC44JZnZ8zpOlD0-aEBXvGAGKIKz-St0Yw8cA4mu0JvGBIsE9vRw-HdIdFVD-5KZWLIWdgowxKYJ3paEQ9TUUxNjmzrWpF3bKx8WWWk62EA16Tw" + "AEnB2UrGb7BqO44vNpZjBnLrSI6_jVCVRFevSqm5eux2DIE2zmUY3sH0T0st7OOsLPcBjvLSbDfijMcdJwsgpM1fQGcerB9bS8Ffd4Qgzdjth0I8FreV4Vs" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUZPUkJJRERFTiwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjg2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmFjbHMuRGVsZXRlQWNscy5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlQWNscy5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5BY2Nlc3NDb250cm9sc0RlbGVnYXRvci5kZWxldGUoQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWZvcmJpZGRlbiwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uRk9SQklEREVOLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YTo4Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5hY2xzLkRlbGV0ZUFjbHMuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZUFjbHMuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQWNjZXNzQ29udHJvbHNEZWxlZ2F0b3IuZGVsZXRlKEFjY2Vzc0NvbnRyb2xzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDMsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9fQ==" } }, { - "ID": "b5f90dd95109f6cf", + "ID": "e1d95794cb6be989", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/compose/compose?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/rewriteTo/b/go-integration-test-20190502-80633403432013-0003/o/copy?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "127" + "3" ], "User-Agent": [ "google-api-go-client/0.5" @@ -12808,7 +15883,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6ImZvbyJ9LHsibmFtZSI6ImNvcHkifV19Cg==" + "e30K" ] }, "Response": { @@ -12817,20 +15892,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "742" + "3273" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:01 GMT" - ], - "Etag": [ - "CLatwKzb4d8CEAE=" + "Thu, 02 May 2019 22:25:15 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -12845,24 +15920,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrhEgdwSoOAABi3Y7uidGCIAsOhrLz65Fepzgm1ZzE2P6T40ySDbaKsTyDU5WJutmah9MkRBHqiz0Qg8EFFRSkKpTH1_00u3unzYMi-qbHvhqh9lDw" + "AEnB2UoVcH2L0r9wGab--fnRuKptLRoUoHCUHfRegh3rKNQExHVsYLnt1NFwOKFa_6hRbeYXO1aY8-F-KiD6IY3sWykIKXr5iqelEJHTWEMQ8wHuzIcWLO8" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9jb21wb3NlLzE1NDcwNzE3NDA5NzQ3NzQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9jb21wb3NlIiwibmFtZSI6ImNvbXBvc2UiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc0MDk3NDc3NCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTowMC45NzRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MDAuOTc0WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjAwLjk3NFoiLCJzaXplIjoiMTAiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vY29tcG9zZT9nZW5lcmF0aW9uPTE1NDcwNzE3NDA5NzQ3NzQmYWx0PW1lZGlhIiwiY3JjMzJjIjoiL1JDT2dnPT0iLCJjb21wb25lbnRDb3VudCI6MiwiZXRhZyI6IkNMYXR3S3piNGQ4Q0VBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiNSIsIm9iamVjdFNpemUiOiI1IiwiZG9uZSI6dHJ1ZSwicmVzb3VyY2UiOnsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvY29weS8xNTU2ODM1OTE1MjY2MjE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vY29weSIsIm5hbWUiOiJjb3B5IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MTUyNjYyMTQiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MTUuMjY1WiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjE1LjI2NVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToxNS4yNjVaIiwic2l6ZSI6IjUiLCJtZDVIYXNoIjoiWFVGQUtyeExLbmE1Y1oyUkVCZkZrZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2NvcHk/Z2VuZXJhdGlvbj0xNTU2ODM1OTE1MjY2MjE0JmFsdD1tZWRpYSIsImNvbnRlbnRMYW5ndWFnZSI6ImVuIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvY29weS8xNTU2ODM1OTE1MjY2MjE0L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2NvcHkvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImNvcHkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkxNTI2NjIxNCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDS2J4ejkzeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvY29weS8xNTU2ODM1OTE1MjY2MjE0L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9jb3B5L2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiY29weSIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTE1MjY2MjE0IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0tieHo5M3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2NvcHkvMTU1NjgzNTkxNTI2NjIxNC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vY29weS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImNvcHkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkxNTI2NjIxNCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDS2J4ejkzeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvY29weS8xNTU2ODM1OTE1MjY2MjE0L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9jb3B5L2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiY29weSIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTE1MjY2MjE0IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0tieHo5M3gvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJtbkc3VEE9PSIsImV0YWciOiJDS2J4ejkzeC9lRUNFQUU9In19" } }, { - "ID": "b0c13866edc71c1d", + "ID": "297f13e741cceb04", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/compose/compose?alt=json\u0026prettyPrint=false\u0026userProject=dulcet-port-762", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/rewriteTo/b/go-integration-test-20190502-80633403432013-0003/o/copy?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "127" + "3" ], "User-Agent": [ "google-api-go-client/0.5" @@ -12870,7 +15954,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6ImZvbyJ9LHsibmFtZSI6ImNvcHkifV19Cg==" + "e30K" ] }, "Response": { @@ -12879,20 +15963,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "742" + "3273" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:01 GMT" - ], - "Etag": [ - "CPWl36zb4d8CEAE=" + "Thu, 02 May 2019 22:25:15 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -12907,24 +15991,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoRfENwSetCzINgnXW1j8HLvL2Olj9QUh5VKtRKA81jT8qdgR1JCXMmgS2Jp8in9Ji_OvsXHBCUFF909hagqYuJsVuDD8Z35dyiAb5R4gkXAiekDek" + "AEnB2UroLXQs6945-UOUyN7qOhICUNnGSzCVrNCv5DD9uMyvgD08zpuufBZj8WM8Fxe0DuOuQowqbPEn1UdJdbFTW7puyeY4zX8fM6UgT7SZIVB0Xi-B0OM" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9jb21wb3NlLzE1NDcwNzE3NDE0ODE3MTciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9jb21wb3NlIiwibmFtZSI6ImNvbXBvc2UiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc0MTQ4MTcxNyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTowMS40ODFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MDEuNDgxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjAxLjQ4MVoiLCJzaXplIjoiMTAiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vY29tcG9zZT9nZW5lcmF0aW9uPTE1NDcwNzE3NDE0ODE3MTcmYWx0PW1lZGlhIiwiY3JjMzJjIjoiL1JDT2dnPT0iLCJjb21wb25lbnRDb3VudCI6MiwiZXRhZyI6IkNQV2wzNnpiNGQ4Q0VBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiNSIsIm9iamVjdFNpemUiOiI1IiwiZG9uZSI6dHJ1ZSwicmVzb3VyY2UiOnsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvY29weS8xNTU2ODM1OTE1ODQxOTk3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vY29weSIsIm5hbWUiOiJjb3B5IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MTU4NDE5OTciLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MTUuODQxWiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjE1Ljg0MVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToxNS44NDFaIiwic2l6ZSI6IjUiLCJtZDVIYXNoIjoiWFVGQUtyeExLbmE1Y1oyUkVCZkZrZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2NvcHk/Z2VuZXJhdGlvbj0xNTU2ODM1OTE1ODQxOTk3JmFsdD1tZWRpYSIsImNvbnRlbnRMYW5ndWFnZSI6ImVuIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvY29weS8xNTU2ODM1OTE1ODQxOTk3L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2NvcHkvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImNvcHkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkxNTg0MTk5NyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTTJEODkzeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvY29weS8xNTU2ODM1OTE1ODQxOTk3L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9jb3B5L2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiY29weSIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTE1ODQxOTk3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ00yRDg5M3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2NvcHkvMTU1NjgzNTkxNTg0MTk5Ny9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vY29weS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImNvcHkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkxNTg0MTk5NyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTTJEODkzeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvY29weS8xNTU2ODM1OTE1ODQxOTk3L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9jb3B5L2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiY29weSIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTE1ODQxOTk3IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ00yRDg5M3gvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJtbkc3VEE9PSIsImV0YWciOiJDTTJEODkzeC9lRUNFQUU9In19" } }, { - "ID": "9e67625da04457f5", + "ID": "9617f04d2dc95a7c", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/compose/compose?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/rewriteTo/b/go-integration-test-20190502-80633403432013-0003/o/copy?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "127" + "3" ], "User-Agent": [ "google-api-go-client/0.5" @@ -12932,7 +16025,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6ImZvbyJ9LHsibmFtZSI6ImNvcHkifV19Cg==" + "e30K" ] }, "Response": { @@ -12941,14 +16034,17 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Content-Length": [ - "221" + "12683" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:01 GMT" + "Thu, 02 May 2019 22:25:16 GMT" ], "Server": [ "UploadServer" @@ -12957,24 +16053,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UpRytKmtFmrSvaiEzl7tSHJDZiS0o5fj8rW6bwhE7NqSCYrFquthJituBbsf81gofFpfMf9zGsGZZwgjLfi_3zCy4kcv0vyNmXJYoYufV_wKtsWXZw" + "AEnB2UqeJiJeDLLZgn9vlRyNk1plY-7dcPXaz47gPNAhMqmSx5ZMvg6pqWj18PVUR65UGuWE7Amtua_zqsv0dVyDZE2FFceMeIQcQ2n6noklvRS9kxPXcEU" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LnJld3JpdGUoUmV3cml0ZU9iamVjdC5qYXZhOjIwMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlJld3JpdGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJld3JpdGVPYmplY3QuamF2YToxOTMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXdyaXRlT2JqZWN0LmphdmE6NDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IucmV3cml0ZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTIxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTggbW9yZVxuXG5jb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5GYXVsdDogSW1tdXRhYmxlRXJyb3JEZWZpbml0aW9ue2Jhc2U9UkVRVUlSRUQsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LnJld3JpdGUoUmV3cml0ZU9iamVjdC5qYXZhOjIwMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlJld3JpdGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJld3JpdGVPYmplY3QuamF2YToxOTMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXdyaXRlT2JqZWN0LmphdmE6NDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IucmV3cml0ZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTIxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTggbW9yZVxuLCBkb21haW49Z2xvYmFsLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9YmFkUmVxdWVzdCwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uUkVRVUlSRUQsIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfTUlTU0lORzogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlJld3JpdGVPYmplY3QucmV3cml0ZShSZXdyaXRlT2JqZWN0LmphdmE6MjAwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuUmV3cml0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmV3cml0ZU9iamVjdC5qYXZhOjE5Mylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlJld3JpdGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJld3JpdGVPYmplY3QuamF2YTo0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5yZXdyaXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMjEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxOCBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMH0gQnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuUmV3cml0ZU9iamVjdC5yZXdyaXRlKFJld3JpdGVPYmplY3QuamF2YToyMDApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXdyaXRlT2JqZWN0LmphdmE6MTkzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuUmV3cml0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmV3cml0ZU9iamVjdC5qYXZhOjQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLnJld3JpdGUoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjEyMSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE4IG1vcmVcblxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5FcnJvckNvbGxlY3Rvci50b0ZhdWx0KEVycm9yQ29sbGVjdG9yLmphdmE6NTQpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5RXJyb3JDb252ZXJ0ZXIudG9GYXVsdChSb3N5RXJyb3JDb252ZXJ0ZXIuamF2YTo2Nylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjI1OSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjIzOSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnRocmVhZC5UaHJlYWRUcmFja2VycyRUaHJlYWRUcmFja2luZ1J1bm5hYmxlLnJ1bihUaHJlYWRUcmFja2Vycy5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6NDUzKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuc2VydmVyLkNvbW1vbk1vZHVsZSRDb250ZXh0Q2FycnlpbmdFeGVjdXRvclNlcnZpY2UkMS5ydW5JbkNvbnRleHQoQ29tbW9uTW9kdWxlLmphdmE6ODAyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlJDEucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ2MClcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihUcmFjZUNvbnRleHQuamF2YTozMTkpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6MzExKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NTcpXG5cdGF0IGNvbS5nb29nbGUuZ3NlLmludGVybmFsLkRpc3BhdGNoUXVldWVJbXBsJFdvcmtlclRocmVhZC5ydW4oRGlzcGF0Y2hRdWV1ZUltcGwuamF2YTo0MDMpXG4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" } }, { - "ID": "ce13b493070ff9e4", + "ID": "2309e069a65c894f", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/compose/compose?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/rewriteTo/b/go-integration-test-20190502-80633403432013-0003/o/copy?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=gcloud-golang-firestore-tests", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "127" + "3" ], "User-Agent": [ "google-api-go-client/0.5" @@ -12982,7 +16087,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6ImZvbyJ9LHsibmFtZSI6ImNvcHkifV19Cg==" + "e30K" ] }, "Response": { @@ -12991,20 +16096,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "742" + "3333" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:02 GMT" - ], - "Etag": [ - "CKaoga3b4d8CEAE=" + "Thu, 02 May 2019 22:25:16 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -13019,24 +16124,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpGJPxcKEEI9wSpPP6akk1P5xWkCS6SaJ91_W44-UThYkNhyXv1v4pl6ucTGSAQZt2_OyYVrL5QAq4dkifsLOlUDZmdQGcX3QM_X-wA_OWtCTLW64c" + "AEnB2UpxhvVZmlJMvR93BoI0JsL0TYbDN-kmlYHQOOlRfb-Nnqpc8iUImRtJT8Qvx0XWrOsALmLv4Oub_aeCCWkHPvqaF28oAazlhqRZYoxrPlaQlW0N1Qs" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9jb21wb3NlLzE1NDcwNzE3NDIwMzkwNzgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMvby9jb21wb3NlIiwibmFtZSI6ImNvbXBvc2UiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc0MjAzOTA3OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTowMi4wMzhaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MDIuMDM4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjAyLjAzOFoiLCJzaXplIjoiMTAiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vY29tcG9zZT9nZW5lcmF0aW9uPTE1NDcwNzE3NDIwMzkwNzgmYWx0PW1lZGlhIiwiY3JjMzJjIjoiL1JDT2dnPT0iLCJjb21wb25lbnRDb3VudCI6MiwiZXRhZyI6IkNLYW9nYTNiNGQ4Q0VBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiNSIsIm9iamVjdFNpemUiOiI1IiwiZG9uZSI6dHJ1ZSwicmVzb3VyY2UiOnsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvY29weS8xNTU2ODM1OTE2NjM3MTY1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vY29weSIsIm5hbWUiOiJjb3B5IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MTY2MzcxNjUiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MTYuNjM2WiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjE2LjYzNloiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToxNi42MzZaIiwic2l6ZSI6IjUiLCJtZDVIYXNoIjoiWFVGQUtyeExLbmE1Y1oyUkVCZkZrZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2NvcHk/Z2VuZXJhdGlvbj0xNTU2ODM1OTE2NjM3MTY1JmFsdD1tZWRpYSIsImNvbnRlbnRMYW5ndWFnZSI6ImVuIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvY29weS8xNTU2ODM1OTE2NjM3MTY1L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2NvcHkvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImNvcHkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkxNjYzNzE2NSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTzNIbzk3eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvY29weS8xNTU2ODM1OTE2NjM3MTY1L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9jb3B5L2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiY29weSIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTE2NjM3MTY1IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ08zSG85N3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL2NvcHkvMTU1NjgzNTkxNjYzNzE2NS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vY29weS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImNvcHkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkxNjYzNzE2NSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTzNIbzk3eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvY29weS8xNTU2ODM1OTE2NjM3MTY1L3VzZXItaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9jb3B5L2FjbC91c2VyLWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiY29weSIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTE2NjM3MTY1IiwiZW50aXR5IjoidXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ08zSG85N3gvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJtbkc3VEE9PSIsImV0YWciOiJDTzNIbzk3eC9lRUNFQUU9In19" } }, { - "ID": "38e2b289c4aa8679", + "ID": "d2fe101ea1da654d", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/compose/compose?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo/rewriteTo/b/go-integration-test-20190502-80633403432013-0003/o/copy?alt=json\u0026prettyPrint=false\u0026projection=full\u0026userProject=veener-jba", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "127" + "3" ], "User-Agent": [ "google-api-go-client/0.5" @@ -13044,7 +16158,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6ImZvbyJ9LHsibmFtZSI6ImNvcHkifV19Cg==" + "e30K" ] }, "Response": { @@ -13053,14 +16167,17 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Content-Length": [ - "374" + "13539" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:02 GMT" + "Thu, 02 May 2019 22:25:16 GMT" ], "Server": [ "UploadServer" @@ -13069,30 +16186,41 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UrpEBNAOZ4v7o8iARuF457KPHFND79l91CvOagl-z4CNbfpq3v0wWuBF-Ia3P_xwWCA_-5b1leLk8_XbJos2gQtUbGP41JPS7NyadoCvVhgvsBgVrU" + "AEnB2UqjFigs6aYtqXW_7VucOIgJY2MQZwuLv9B12s2ffhWgWDxtJyjLinG4A8U9gKBCpiTt9jUvdHKtaG20qZfyfN9Q1eVAkUQh_zv7ESbqnWhsiheI7zw" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuUmV3cml0ZU9iamVjdC5yZXdyaXRlKFJld3JpdGVPYmplY3QuamF2YToyMDApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXdyaXRlT2JqZWN0LmphdmE6MTkzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuUmV3cml0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmV3cml0ZU9iamVjdC5qYXZhOjQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLnJld3JpdGUoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjEyMSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTggbW9yZVxuXG5jb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5GYXVsdDogSW1tdXRhYmxlRXJyb3JEZWZpbml0aW9ue2Jhc2U9Rk9SQklEREVOLCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9BQ0NFU1NfREVOSUVEOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LnJld3JpdGUoUmV3cml0ZU9iamVjdC5qYXZhOjIwMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlJld3JpdGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJld3JpdGVPYmplY3QuamF2YToxOTMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXdyaXRlT2JqZWN0LmphdmE6NDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IucmV3cml0ZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTIxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxOCBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1mb3JiaWRkZW4sIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLkZPUkJJRERFTiwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9BQ0NFU1NfREVOSUVEOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LnJld3JpdGUoUmV3cml0ZU9iamVjdC5qYXZhOjIwMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlJld3JpdGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJld3JpdGVPYmplY3QuamF2YToxOTMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5SZXdyaXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXdyaXRlT2JqZWN0LmphdmE6NDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IucmV3cml0ZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTIxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxOCBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlJld3JpdGVPYmplY3QucmV3cml0ZShSZXdyaXRlT2JqZWN0LmphdmE6MjAwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuUmV3cml0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmV3cml0ZU9iamVjdC5qYXZhOjE5Mylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLlJld3JpdGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJld3JpdGVPYmplY3QuamF2YTo0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5yZXdyaXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMjEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE4IG1vcmVcblxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5FcnJvckNvbGxlY3Rvci50b0ZhdWx0KEVycm9yQ29sbGVjdG9yLmphdmE6NTQpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5RXJyb3JDb252ZXJ0ZXIudG9GYXVsdChSb3N5RXJyb3JDb252ZXJ0ZXIuamF2YTo2Nylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjI1OSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjIzOSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnRocmVhZC5UaHJlYWRUcmFja2VycyRUaHJlYWRUcmFja2luZ1J1bm5hYmxlLnJ1bihUaHJlYWRUcmFja2Vycy5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6NDUzKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuc2VydmVyLkNvbW1vbk1vZHVsZSRDb250ZXh0Q2FycnlpbmdFeGVjdXRvclNlcnZpY2UkMS5ydW5JbkNvbnRleHQoQ29tbW9uTW9kdWxlLmphdmE6ODAyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlJDEucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ2MClcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihUcmFjZUNvbnRleHQuamF2YTozMTkpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6MzExKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NTcpXG5cdGF0IGNvbS5nb29nbGUuZ3NlLmludGVybmFsLkRpc3BhdGNoUXVldWVJbXBsJFdvcmtlclRocmVhZC5ydW4oRGlzcGF0Y2hRdWV1ZUltcGwuamF2YTo0MDMpXG4ifV0sImNvZGUiOjQwMywibWVzc2FnZSI6ImludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuIn19" } }, { - "ID": "0383777d7519f69b", + "ID": "6620f07aff04b6fd", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/compose/compose?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "127" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJuYW1lIjoiZm9vIn0K", - "aGVsbG8=" + "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6ImZvbyJ9LHsibmFtZSI6ImNvcHkifV19Cg==" ] }, "Response": { @@ -13101,20 +16229,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3205" + "742" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:02 GMT" + "Thu, 02 May 2019 22:25:17 GMT" ], "Etag": [ - "CJ/Tpa3b4d8CEAE=" + "CP/B0t7x/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -13129,46 +16260,66 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpScL2HBk6R3iSFYN49qQl37MvF1jumYpy9Tw1Ve840NYJBYDoK4YHg6Brx6s-6BX0eJ8kJmITfoMCvg33s-TnS2ZFMDaY2nBLjOq2LBlYLfKAduHE" + "AEnB2UpyWMaddvNz0IWnQ6KIl-tv6fJZCvrqTlGuaoHvKqXhxb3O1EKUIEirKSVcaedFZyxtjLhPD7Nj6qf1CRGWG1VnVigo5Wf3sYFDuuLvctxVpoHT0rY" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTc0MjYzNDM5OSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc0MjYzNDM5OSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTowMi42MzRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MDIuNjM0WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjAyLjYzNFoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU0NzA3MTc0MjYzNDM5OSZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTc0MjYzNDM5OS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc0MjYzNDM5OSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0ovVHBhM2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzQyNjM0Mzk5L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDI2MzQzOTkiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0ovVHBhM2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzQyNjM0Mzk5L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDI2MzQzOTkiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNKL1RwYTNiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTc0MjYzNDM5OS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDI2MzQzOTkiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSi9UcGEzYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNKL1RwYTNiNGQ4Q0VBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9jb21wb3NlLzE1NTY4MzU5MTc0MDY0NjMiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9jb21wb3NlIiwibmFtZSI6ImNvbXBvc2UiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkxNzQwNjQ2MyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToxNy40MDZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MTcuNDA2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjE3LjQwNloiLCJzaXplIjoiMTAiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vY29tcG9zZT9nZW5lcmF0aW9uPTE1NTY4MzU5MTc0MDY0NjMmYWx0PW1lZGlhIiwiY3JjMzJjIjoiL1JDT2dnPT0iLCJjb21wb25lbnRDb3VudCI6MiwiZXRhZyI6IkNQL0IwdDd4L2VFQ0VBRT0ifQ==" } }, { - "ID": "0afc27baba13ddba", + "ID": "7f88847ad9c49799", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/compose/compose?alt=json\u0026prettyPrint=false\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "127" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6ImZvbyJ9LHsibmFtZSI6ImNvcHkifV19Cg==" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "742" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:03 GMT" + "Thu, 02 May 2019 22:25:18 GMT" + ], + "Etag": [ + "CKav+N7x/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -13183,30 +16334,103 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Ur0bLXpm__QNu5npRciKqrvI30md9uEJ96aJFseBsbNvnXrXLXc_8iTR31I7xop5WYZFnkx9VMN8rO_cmctuwuPI5LB700afwRnKP2vWD_E-yX7oy0" + "AEnB2Urtn69BB0ytbCZpuCbus4w__tiLeBpqeNzD2gKl5KN2LgP9ZJOIjudGKpDOJRhyW_WQjVOCJBC1CSB_AgE0MdPzVDAKWt13VfQ8aKe3pMWh4y1kOlI" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9jb21wb3NlLzE1NTY4MzU5MTgwMjY2NjIiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9jb21wb3NlIiwibmFtZSI6ImNvbXBvc2UiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkxODAyNjY2MiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToxOC4wMjZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MTguMDI2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjE4LjAyNloiLCJzaXplIjoiMTAiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vY29tcG9zZT9nZW5lcmF0aW9uPTE1NTY4MzU5MTgwMjY2NjImYWx0PW1lZGlhIiwiY3JjMzJjIjoiL1JDT2dnPT0iLCJjb21wb25lbnRDb3VudCI6MiwiZXRhZyI6IkNLYXYrTjd4L2VFQ0VBRT0ifQ==" } }, { - "ID": "f5a70a5be7009e79", + "ID": "a21f3ddca57ed424", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/compose/compose?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "127" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJuYW1lIjoiZm9vIn0K", - "aGVsbG8=" + "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6ImZvbyJ9LHsibmFtZSI6ImNvcHkifV19Cg==" + ] + }, + "Response": { + "StatusCode": 400, + "Proto": "HTTP/1.1", + "ProtoMajor": 1, + "ProtoMinor": 1, + "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Content-Length": [ + "12267" + ], + "Content-Type": [ + "application/json; charset=UTF-8" + ], + "Date": [ + "Thu, 02 May 2019 22:25:18 GMT" + ], + "Server": [ + "UploadServer" + ], + "Vary": [ + "Origin", + "X-Origin" + ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], + "X-Guploader-Uploadid": [ + "AEnB2UrE9jrLJ0W1PUHWT3ldYhVsL9nNhAeFPU2K8g2rCMimty07QlN95esxj7dBAySQ-nzvK17L3WA7vjmxjCpeQADa2bztj6ke8NZjb8fuWkQHsnnzKXA" + ] + }, + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5Db21wb3NlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChDb21wb3NlT2JqZWN0LmphdmE6MTk5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuQ29tcG9zZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoQ29tcG9zZU9iamVjdC5qYXZhOjQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmNvbXBvc2UoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVJFUVVJUkVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuQ29tcG9zZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoQ29tcG9zZU9iamVjdC5qYXZhOjE5OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkNvbXBvc2VPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKENvbXBvc2VPYmplY3QuamF2YTo0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5jb21wb3NlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1iYWRSZXF1ZXN0LCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5SRVFVSVJFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuQ29tcG9zZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoQ29tcG9zZU9iamVjdC5qYXZhOjE5OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkNvbXBvc2VPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKENvbXBvc2VPYmplY3QuamF2YTo0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5jb21wb3NlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMH0gQnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuQ29tcG9zZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoQ29tcG9zZU9iamVjdC5qYXZhOjE5OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkNvbXBvc2VPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKENvbXBvc2VPYmplY3QuamF2YTo0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5jb21wb3NlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJCdWNrZXQgaXMgcmVxdWVzdGVyIHBheXMgYnVja2V0IGJ1dCBubyB1c2VyIHByb2plY3QgcHJvdmlkZWQuIn19" + } + }, + { + "ID": "08fda3fa173e6e11", + "Request": { + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/compose/compose?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", + "Header": { + "Accept-Encoding": [ + "gzip" + ], + "Content-Length": [ + "127" + ], + "User-Agent": [ + "google-api-go-client/0.5" + ] + }, + "MediaType": "application/json", + "BodyParts": [ + "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6ImZvbyJ9LHsibmFtZSI6ImNvcHkifV19Cg==" ] }, "Response": { @@ -13215,20 +16439,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3205" + "742" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:03 GMT" + "Thu, 02 May 2019 22:25:19 GMT" ], "Etag": [ - "CKCk0a3b4d8CEAE=" + "CKy2sd/x/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -13243,52 +16470,60 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Up5grikvXHVwoutodZoFZL7zXl8GT9hEAxoEToluQszPp1RPp6PHrFqRzqPbLer6nkOxpPd2t3ZTlNHKBHE0-s3CaJVYrZ-r0dMK0y-Ip657Sp22zA" + "AEnB2UqfGXVJ2-MQaZWJ-JS6runpSycA3GDKIXYHDGf3VBOXnADbUzL2YhZVmlQcW_95jXY0eMkK4Z5tSRk3cxGP_84T_1t3YDYQS2p37ZouBk7GfX-4xxw" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTc0MzM0OTI4MCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc0MzM0OTI4MCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTowMy4zNDlaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MDMuMzQ5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjAzLjM0OVoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU0NzA3MTc0MzM0OTI4MCZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTc0MzM0OTI4MC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc0MzM0OTI4MCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0tDazBhM2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzQzMzQ5MjgwL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDMzNDkyODAiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0tDazBhM2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzQzMzQ5MjgwL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDMzNDkyODAiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNLQ2swYTNiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTc0MzM0OTI4MC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDMzNDkyODAiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDS0NrMGEzYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNLQ2swYTNiNGQ4Q0VBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9jb21wb3NlLzE1NTY4MzU5MTg5NjE0NTIiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9jb21wb3NlIiwibmFtZSI6ImNvbXBvc2UiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkxODk2MTQ1MiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToxOC45NjFaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MTguOTYxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjE4Ljk2MVoiLCJzaXplIjoiMTAiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vY29tcG9zZT9nZW5lcmF0aW9uPTE1NTY4MzU5MTg5NjE0NTImYWx0PW1lZGlhIiwiY3JjMzJjIjoiL1JDT2dnPT0iLCJjb21wb25lbnRDb3VudCI6MiwiZXRhZyI6IkNLeTJzZC94L2VFQ0VBRT0ifQ==" } }, { - "ID": "068c9150d579ec6a", + "ID": "0c9e19bd4ec37de2", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo?alt=json\u0026prettyPrint=false\u0026userProject=dulcet-port-762", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/compose/compose?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "127" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6ImZvbyJ9LHsibmFtZSI6ImNvcHkifV19Cg==" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 403, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "0" + "13123" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:03 GMT" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:19 GMT" ], "Server": [ "UploadServer" @@ -13297,18 +16532,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Ur8CcQq5k4RE3p_bbBaEB2C-C0R6oba1NclxXp24yeewQan28HVTklVLC0LxBK1aPgfk0u7giyX6_bg8ljxqOBu64pN1gTHBrMPObZHBRkRmBVqVHs" + "AEnB2UqGREJ2AZDcrZiJzPX5ltwlB28vRYhZ_xv4LMIO3La2IgFWk4wd5IVrqBs3z2epgtg7wkPpZm4qPH9zTzSIsXNxdLLHcNMMYr2azidefxtJVgXqgDY" ] }, - "Body": "" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuQ29tcG9zZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoQ29tcG9zZU9iamVjdC5qYXZhOjE5OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkNvbXBvc2VPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKENvbXBvc2VPYmplY3QuamF2YTo0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5jb21wb3NlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUZPUkJJRERFTiwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuQ29tcG9zZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoQ29tcG9zZU9iamVjdC5qYXZhOjE5OSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkNvbXBvc2VPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKENvbXBvc2VPYmplY3QuamF2YTo0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5jb21wb3NlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWZvcmJpZGRlbiwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uRk9SQklEREVOLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkNvbXBvc2VPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKENvbXBvc2VPYmplY3QuamF2YToxOTkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5Db21wb3NlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChDb21wb3NlT2JqZWN0LmphdmE6NDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuY29tcG9zZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkNvbXBvc2VPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKENvbXBvc2VPYmplY3QuamF2YToxOTkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5Db21wb3NlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChDb21wb3NlT2JqZWN0LmphdmE6NDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuY29tcG9zZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDMsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9fQ==" } }, { - "ID": "cfb4256421361ea8", + "ID": "84daee26f7d989ce", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -13319,7 +16563,7 @@ }, "MediaType": "multipart/related", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJuYW1lIjoiZm9vIn0K", + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJuYW1lIjoiZm9vIn0K", "aGVsbG8=" ] }, @@ -13329,20 +16573,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3205" + "3112" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:03 GMT" + "Thu, 02 May 2019 22:25:19 GMT" ], "Etag": [ - "CLnz763b4d8CEAE=" + "CLmF4d/x/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -13357,18 +16604,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoJCy25ntBL2bqPnR8EtHq00wRGC_rsdsxYtU-0KtqmXvRH9wR7kWuuoK0_OafUjVHnCFCPBTwenkhfOw_1qPJvpnmsmV-OLl3Hkbz-u_488zBMflk" + "AEnB2UoLuw-z5wwTKy-X92_i7pyTrimolUNRUGrElhep6rUH_mmpgu_Vxp-1ncr8x8XNXHLs8NFRW5S7WVUsaDRRTrC5KBPea4EoFLANK8MFY0FpTkXr7_g" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTc0Mzg1MDkzNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc0Mzg1MDkzNyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTowMy44NTBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MDMuODUwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjAzLjg1MFoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU0NzA3MTc0Mzg1MDkzNyZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTc0Mzg1MDkzNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc0Mzg1MDkzNyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0xuejc2M2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzQzODUwOTM3L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDM4NTA5MzciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0xuejc2M2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzQzODUwOTM3L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDM4NTA5MzciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNMbno3NjNiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTc0Mzg1MDkzNy91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDM4NTA5MzciLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTG56NzYzYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNMbno3NjNiNGQ4Q0VBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkxOTc0MTYyNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkxOTc0MTYyNSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToxOS43NDFaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MTkuNzQxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjE5Ljc0MVoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU1NjgzNTkxOTc0MTYyNSZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkxOTc0MTYyNS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTE5NzQxNjI1IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNMbUY0ZC94L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkxOTc0MTYyNS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MTk3NDE2MjUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTG1GNGQveC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU5MTk3NDE2MjUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTE5NzQxNjI1IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNMbUY0ZC94L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkxOTc0MTYyNS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MTk3NDE2MjUiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTG1GNGQveC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNMbUY0ZC94L2VFQ0VBRT0ifQ==" } }, { - "ID": "93b53f1770cb45ee", + "ID": "8457a5701f4ced08", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -13378,28 +16634,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 400, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "221" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:04 GMT" + "Thu, 02 May 2019 22:25:20 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:04 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -13408,18 +16672,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpRnlN9WNfEoDaaAS3nbBe45dnBfVgcGAwBJnG2HNihDdrN_4gusqSdOF8kwnUZr3SZnVrfDM0kEIpR27r8e2agOFtaJKFY7UeMBGyrKD9UOozr0IA" + "AEnB2UpKF1M6PpAT354ON3809wMCor-B9KITRuEV34MQczP3OD4Co0sJYtNSub2FUzA8qanTDrtANRK0RuxPTz314o3HQro2HLOoyKZBow5CZ4sfsunKHv0" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifV0sImNvZGUiOjQwMCwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4ifX0=" + "Body": "" } }, { - "ID": "95cc647dee94c347", + "ID": "1c2ba8a7670e2218", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -13430,7 +16703,7 @@ }, "MediaType": "multipart/related", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJuYW1lIjoiZm9vIn0K", + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJuYW1lIjoiZm9vIn0K", "aGVsbG8=" ] }, @@ -13440,20 +16713,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3205" + "3112" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:04 GMT" + "Thu, 02 May 2019 22:25:20 GMT" ], "Etag": [ - "CLzEk67b4d8CEAE=" + "CP+SgODx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -13468,18 +16744,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoKqYbCEHVBazL3uW_7fVqndnOapr7T67RMSozhK1RKpS76_6zKQWCtV44wrBqWXdrJHBkyAXenLV4V9B71wfyBFgZzdQUVKp67onqVUcK6a9M22kI" + "AEnB2Uoq9hgjjwBbSH1zXN2UlNtWO31Qf5uk4ijjGCQlETB9_5H_CouvU3q4tyHAKEbIBlaW1_mNk3Fsp6LgXqsPPKvFzs3-WHeADAgc2-GpD-0inoYUHMs" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTc0NDQzNDc0OCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc0NDQzNDc0OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTowNC40MzRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MDQuNDM0WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjA0LjQzNFoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU0NzA3MTc0NDQzNDc0OCZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTc0NDQzNDc0OC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc0NDQzNDc0OCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0x6RWs2N2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzQ0NDM0NzQ4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDQ0MzQ3NDgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0x6RWs2N2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzQ0NDM0NzQ4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDQ0MzQ3NDgiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNMekVrNjdiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTc0NDQzNDc0OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDQ0MzQ3NDgiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTHpFazY3YjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNMekVrNjdiNGQ4Q0VBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkyMDI1MTI2MyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkyMDI1MTI2MyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToyMC4yNTBaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MjAuMjUwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjIwLjI1MFoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU1NjgzNTkyMDI1MTI2MyZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkyMDI1MTI2My9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTIwMjUxMjYzIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNQK1NnT0R4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkyMDI1MTI2My9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MjAyNTEyNjMiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUCtTZ09EeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU5MjAyNTEyNjMvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTIwMjUxMjYzIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNQK1NnT0R4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkyMDI1MTI2My91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MjAyNTEyNjMiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDUCtTZ09EeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNQK1NnT0R4L2VFQ0VBRT0ifQ==" } }, { - "ID": "16406479a1d61472", + "ID": "7e6d2f97bd881584", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo?alt=json\u0026prettyPrint=false\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" @@ -13489,7 +16774,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -13497,6 +16784,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -13507,7 +16797,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:04 GMT" + "Thu, 02 May 2019 22:25:20 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -13522,18 +16812,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrXnAFAEqRovbn2VagQx3UkNo7wEaLo316dbydS72ZUh4P_qDJjOvYxri8CCld-irpk0d5Sq6ADnDtjsW6mQDUmkeIQEBvkU6ws1fweGx2iMniT1S4" + "AEnB2UohQH2nTuRg_FtGhlfr9zC26C6lKFA-aZTf4GbiV5kWZCJ9E4YLHfIUKLpCLIgEfX9TAvi4oPNWfEBpbY-orlescLxrxYcB1U5fLmzzHQR2R0teR-s" ] }, "Body": "" } }, { - "ID": "05cf32749ac0a945", + "ID": "48e189abff98ea93", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -13544,7 +16843,7 @@ }, "MediaType": "multipart/related", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJuYW1lIjoiZm9vIn0K", + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJuYW1lIjoiZm9vIn0K", "aGVsbG8=" ] }, @@ -13554,20 +16853,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3205" + "3112" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:05 GMT" + "Thu, 02 May 2019 22:25:21 GMT" ], "Etag": [ - "CPDGuK7b4d8CEAE=" + "CM3Aq+Dx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -13582,18 +16884,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpVW00JHm60jOBqLAWkr9kSR_hLFT9caLzL1OVZdPIjtmxB1Zr9irRfDFNAvD5CXZZsbG6IUZ__lhcEgBxjrPUbQ1JTv4qAgGVtJwauqe5f_QUWWOQ" + "AEnB2Uq_NscG9s3iq-8NZq8vQhzdc9FJMaAfq_0GborrX84b8gG2zpbUNtEVnrjFjLyOXqBeJwthPgPUPcsGbIcD597LaPlxt-VNaetM2BLtMtYry8pPeQ8" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTc0NTA0MTI2NCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc0NTA0MTI2NCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTowNS4wNDFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MDUuMDQxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjA1LjA0MVoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU0NzA3MTc0NTA0MTI2NCZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTc0NTA0MTI2NC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDMiLCJvYmplY3QiOiJmb28iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc0NTA0MTI2NCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ1BER3VLN2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzQ1MDQxMjY0L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDUwNDEyNjQiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ1BER3VLN2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL2Zvby8xNTQ3MDcxNzQ1MDQxMjY0L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDUwNDEyNjQiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNQREd1SzdiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMy9mb28vMTU0NzA3MTc0NTA0MTI2NC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzL28vZm9vL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3NDUwNDEyNjQiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDUERHdUs3YjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNQREd1SzdiNGQ4Q0VBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkyMDk2MTYxMyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkyMDk2MTYxMyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToyMC45NjFaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MjAuOTYxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjIwLjk2MVoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU1NjgzNTkyMDk2MTYxMyZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkyMDk2MTYxMy9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTIwOTYxNjEzIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNNM0FxK0R4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkyMDk2MTYxMy9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MjA5NjE2MTMiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTTNBcStEeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU5MjA5NjE2MTMvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTIwOTYxNjEzIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNNM0FxK0R4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkyMDk2MTYxMy91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MjA5NjE2MTMiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTTNBcStEeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNNM0FxK0R4L2VFQ0VBRT0ifQ==" } }, { - "ID": "144838d64cc91b4d", + "ID": "02d6922c26c06cbd", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -13603,28 +16914,33 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 403, + "StatusCode": 400, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0" ], "Content-Length": [ - "374" + "12243" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:05 GMT" + "Thu, 02 May 2019 22:25:21 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:05 GMT" + "Thu, 02 May 2019 22:25:21 GMT" ], "Server": [ "UploadServer" @@ -13633,18 +16949,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UpbTV-5FsU3Z-JybrbPomzEBom7W2RmxWMXjupdxGTP7LUlHFJQJLHJL29BHP-_j6GR6yXI6BJlj9DEZwduZJd2wlfl8BBP_I-w8g51mS-lItiapYs" + "AEnB2UrmjSJHhErkbzi8feJ_-8XOMqsIzGrEe6frQzWXQ7dPl0D8MW1mMHClKdwb2zBOTvpx7mXQWy2STZYSqx2o7O1Tr2DB1RZfwCZ3xp1jgw3NCICi7Xw" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS4ifX0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkJ1Y2tldCBpcyByZXF1ZXN0ZXIgcGF5cyBidWNrZXQgYnV0IG5vIHVzZXIgcHJvamVjdCBwcm92aWRlZC4iLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX01JU1NJTkc6IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5EZWxldGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZU9iamVjdC5qYXZhOjg4KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuRGVsZXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVPYmplY3QuamF2YToyNSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5kZWxldGUoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjExMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQnVja2V0IGlzIFJlcXVlc3RlciBQYXlzIGJ1Y2tldCBidXQgbm8gYmlsbGluZyBwcm9qZWN0IGlkIHByb3ZpZGVkIGZvciBub24tb3duZXIuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVJFUVVJUkVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuRGVsZXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVPYmplY3QuamF2YTo4OClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuZGVsZXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1iYWRSZXF1ZXN0LCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5SRVFVSVJFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuRGVsZXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVPYmplY3QuamF2YTo4OClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuZGVsZXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9QnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMH0gQnVja2V0IGlzIHJlcXVlc3RlciBwYXlzIGJ1Y2tldCBidXQgbm8gdXNlciBwcm9qZWN0IHByb3ZpZGVkLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlVTRVJfUFJPSkVDVF9NSVNTSU5HOiBCdWNrZXQgaXMgUmVxdWVzdGVyIFBheXMgYnVja2V0IGJ1dCBubyBiaWxsaW5nIHByb2plY3QgaWQgcHJvdmlkZWQgZm9yIG5vbi1vd25lci5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuRGVsZXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVPYmplY3QuamF2YTo4OClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuZGVsZXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEJ1Y2tldCBpcyBSZXF1ZXN0ZXIgUGF5cyBidWNrZXQgYnV0IG5vIGJpbGxpbmcgcHJvamVjdCBpZCBwcm92aWRlZCBmb3Igbm9uLW93bmVyLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDAsIm1lc3NhZ2UiOiJCdWNrZXQgaXMgcmVxdWVzdGVyIHBheXMgYnVja2V0IGJ1dCBubyB1c2VyIHByb2plY3QgcHJvdmlkZWQuIn19" } }, { - "ID": "46200fcc1e992dc1", + "ID": "3fee93fca0ef933c", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/foo?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -13653,26 +16978,35 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJuYW1lIjoiZm9vIn0K", + "aGVsbG8=" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "3112" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:05 GMT" + "Thu, 02 May 2019 22:25:21 GMT" + ], + "Etag": [ + "CLfH1eDx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -13687,18 +17021,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpbujRMElnMAETX6_D7rswoLR9Q90FK1D6L1S3b7j7y1lOjCRISN4Z8NTa1bO8br7LWw_1vU-mKXlAE6xzHgh9Sp059W0AezlxMSePVzQCb_hkj5s4" + "AEnB2UqLO91a0iSaTsK7EA2iN621UX-atvJ-8m8BeqeR8_o_CQLB8Pco5FMXznwQY7DZ8u0GPd1BvLE98s5S7T1Z6yL66OKL0CFFUntLBqNAKlji2Dcme6g" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkyMTY1MDYxNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkyMTY1MDYxNSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToyMS42NTBaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MjEuNjUwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjIxLjY1MFoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU1NjgzNTkyMTY1MDYxNSZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkyMTY1MDYxNS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTIxNjUwNjE1IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNMZkgxZUR4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkyMTY1MDYxNS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MjE2NTA2MTUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTGZIMWVEeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU5MjE2NTA2MTUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTIxNjUwNjE1IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNMZkgxZUR4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkyMTY1MDYxNS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MjE2NTA2MTUiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTGZIMWVEeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNMZkgxZUR4L2VFQ0VBRT0ifQ==" } }, { - "ID": "df9f6c8470bc2a20", + "ID": "5c26cf93373a296a", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/copy?alt=json\u0026prettyPrint=false\u0026userProject=dulcet-port-762", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo?alt=json\u0026prettyPrint=false\u0026userProject=gcloud-golang-firestore-tests", "Header": { "Accept-Encoding": [ "gzip" @@ -13708,7 +17051,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -13716,6 +17061,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -13726,7 +17074,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:05 GMT" + "Thu, 02 May 2019 22:25:22 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -13741,18 +17089,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqfTgaKWlYwTgL6LorJVVukvuv3ErxiCGxcJnJkoiUfKRvDBfF_9_3yWTe7XiWg0XbwNb6B4H1cNH833PNEl7T38fTMQgnofLyJLAklcAJ_t07_BUc" + "AEnB2Urx3fvI3sQc5JiIazK1OQw5W12poVdjRyBKxIBM6N98jEJli9F0O33KVHHcHaP-QybHub31QmLNngZpzcVKJq33DSaVMW2Vpi5BUaVAAUL2jMoyOxs" ] }, "Body": "" } }, { - "ID": "4a3ef496978f7955", + "ID": "f8b5020ef71e4047", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003/o/compose?alt=json\u0026prettyPrint=false\u0026userProject=dulcet-port-762", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -13761,26 +17118,35 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJuYW1lIjoiZm9vIn0K", + "aGVsbG8=" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "3112" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:06 GMT" + "Thu, 02 May 2019 22:25:22 GMT" + ], + "Etag": [ + "CIungeHx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -13795,18 +17161,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UocW6hn-cec30m1zAQWXRpE4kjOi9SHsNbNivoFPbR6EctWXTtsdXph5dmPdtf1sYbK6pW6hANTiiNPcbjgKpy7O7ZuKzDTjXGmbD5yv2ae-uoLFjs" + "AEnB2Uq8QEz45d-uPa7qZ6Nl_SMqw2iepQXoM4aAkTx4YCqArXnSKI1UO3ZhJ5-_PDg3Uq6PPa2JDBTbxckiZCRMQvf0Cv6E_8Cwk3jKXGkneWFJYSeMAts" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkyMjM2NzM3MSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2ZvbyIsIm5hbWUiOiJmb28iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkyMjM2NzM3MSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToyMi4zNjZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MjIuMzY2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjIyLjM2NloiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vP2dlbmVyYXRpb249MTU1NjgzNTkyMjM2NzM3MSZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkyMjM2NzM3MS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvby9mb28vYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTIyMzY3MzcxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNJdW5nZUh4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkyMjM2NzM3MS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MjIzNjczNzEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSXVuZ2VIeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDMvZm9vLzE1NTY4MzU5MjIzNjczNzEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9vL2Zvby9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMyIsIm9iamVjdCI6ImZvbyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTIyMzY3MzcxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNJdW5nZUh4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMy9mb28vMTU1NjgzNTkyMjM2NzM3MS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzL28vZm9vL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAzIiwib2JqZWN0IjoiZm9vIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MjIzNjczNzEiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSXVuZ2VIeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im1uRzdUQT09IiwiZXRhZyI6IkNJdW5nZUh4L2VFQ0VBRT0ifQ==" } }, { - "ID": "ac345e548fab8dda", + "ID": "7cfadd8c1e7c0bd8", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0003?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo?alt=json\u0026prettyPrint=false\u0026userProject=veener-jba", "Header": { "Accept-Encoding": [ "gzip" @@ -13816,31 +17191,33 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 403, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" ], "Content-Length": [ - "0" + "13099" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:06 GMT" + "Thu, 02 May 2019 22:25:22 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:22 GMT" ], "Server": [ "UploadServer" @@ -13849,18 +17226,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq611h3zW8TBLEGJtc8ZdoWgSFb-LuvzJ3rgja1mt6uXtmi2kkctGK_HiJ6DcxkN9BLdA4AgOh5oKS1VIe0i2Am1Hvhp7AR0m44EjW17C5mVU4bRBU" + "AEnB2UpjVnPaklKmbO8qV2lapwEIAwPjvf4HSJs3kNHHO_xZH4bV65pVPLKCb2qjMPCYSwEKRZzH6NpYjm6WlxsBdJnfBvpyRpIR017q9iJDyBcVPNUoDn8" ] }, - "Body": "" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuRGVsZXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVPYmplY3QuamF2YTo4OClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuZGVsZXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUZPUkJJRERFTiwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpVU0VSX1BST0pFQ1RfQUNDRVNTX0RFTklFRDogaW50ZWdyYXRpb25AZ2Nsb3VkLWdvbGFuZy1maXJlc3RvcmUtdGVzdHMuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20gZG9lcyBub3QgaGF2ZSBzZXJ2aWNldXNhZ2Uuc2VydmljZXMudXNlIGFjY2VzcyB0byBwcm9qZWN0IDY0MjA4MDkxODEwMS5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuRGVsZXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVPYmplY3QuamF2YTo4OClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuZGVsZXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWZvcmJpZGRlbiwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uRk9SQklEREVOLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6ODgpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5EZWxldGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZU9iamVjdC5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmRlbGV0ZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUZPUkJJRERFTiwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPWludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1pbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6VVNFUl9QUk9KRUNUX0FDQ0VTU19ERU5JRUQ6IGludGVncmF0aW9uQGdjbG91ZC1nb2xhbmctZmlyZXN0b3JlLXRlc3RzLmlhbS5nc2VydmljZWFjY291bnQuY29tIGRvZXMgbm90IGhhdmUgc2VydmljZXVzYWdlLnNlcnZpY2VzLnVzZSBhY2Nlc3MgdG8gcHJvamVjdCA2NDIwODA5MTgxMDEuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6ODgpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5EZWxldGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZU9iamVjdC5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmRlbGV0ZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MDMsIm1lc3NhZ2UiOiJpbnRlZ3JhdGlvbkBnY2xvdWQtZ29sYW5nLWZpcmVzdG9yZS10ZXN0cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSBkb2VzIG5vdCBoYXZlIHNlcnZpY2V1c2FnZS5zZXJ2aWNlcy51c2UgYWNjZXNzIHRvIHByb2plY3QgNjQyMDgwOTE4MTAxLiJ9fQ==" } }, { - "ID": "0737c9995f6141e9", + "ID": "b1381b9995cf35f5", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/notificationConfigs?alt=json\u0026prettyPrint=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/foo?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -13870,28 +17256,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "32" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:06 GMT" + "Thu, 02 May 2019 22:25:23 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:06 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -13900,51 +17294,60 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UolMg5jKrenTUrxo7afK8iKccWNGUg0xf3PUVJI6DvK4rR9H2glYOf1cOwEfhmCvhN7MuQa7j189VcW4gWfd8AgPiPAsDhPniDCxpus6nQcmPC5AmM" + "AEnB2UrD1hmfKK3yAwFXKqIwvCsEVMb_e7MWysJc7zbyVjZ_sbD9P41lzc0gYSef9yl8CRa6B0RtPq14V5MBSdy6C0i_cAkgANDN1da3O5QKELvACU11moU" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNub3RpZmljYXRpb25zIn0=" + "Body": "" } }, { - "ID": "846e6a0556a1124d", + "ID": "5e06ccad06bbd110", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/notificationConfigs?alt=json\u0026prettyPrint=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/copy?alt=json\u0026prettyPrint=false\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "121" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJwYXlsb2FkX2Zvcm1hdCI6Ik5PTkUiLCJ0b3BpYyI6Ii8vcHVic3ViLmdvb2dsZWFwaXMuY29tL3Byb2plY3RzL2R1bGNldC1wb3J0LTc2Mi90b3BpY3MvZ28tc3RvcmFnZS1ub3RpZmljYXRpb24tdGVzdCJ9Cg==" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "294" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:07 GMT" + "Thu, 02 May 2019 22:25:23 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -13959,18 +17362,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoyKHW73AQa53tz8pKA3PoDCxfLI0CL-VaAw2mpLth4NH86lS7ZJ7mK-x2nRFgJrsOJNLo4tcGq7eB4F3vqF6Z_OtC61LcEujxZFDqZk-4vTMiwGFs" + "AEnB2Ur2FRcf4QGZH2KhkP3kATb9eOy4S9lgrA3NQXYqhc1KBZDbcZN5NHF4MB6WiTxOraNE0HhkW3SOg8sp1gS4kAcWRZ2G0EGWmLgL6RUcwr3a2O-WY10" ] }, - "Body": "eyJpZCI6IjkiLCJ0b3BpYyI6Ii8vcHVic3ViLmdvb2dsZWFwaXMuY29tL3Byb2plY3RzL2R1bGNldC1wb3J0LTc2Mi90b3BpY3MvZ28tc3RvcmFnZS1ub3RpZmljYXRpb24tdGVzdCIsInBheWxvYWRfZm9ybWF0IjoiTk9ORSIsImV0YWciOiI5Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL25vdGlmaWNhdGlvbkNvbmZpZ3MvOSIsImtpbmQiOiJzdG9yYWdlI25vdGlmaWNhdGlvbiJ9" + "Body": "" } }, { - "ID": "88839ba3e7589a18", + "ID": "b637ccaa36faa55b", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/notificationConfigs?alt=json\u0026prettyPrint=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003/o/compose?alt=json\u0026prettyPrint=false\u0026userProject=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" @@ -13980,28 +17392,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "337" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:08 GMT" + "Thu, 02 May 2019 22:25:23 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:08 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -14010,18 +17430,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Upgoj8iPzULorNk49CJudIxJiVgWjt5yiaU-5rVTk4Q8e4PVjIY-ZplDT5UwUx5_kJtaoz4DXxvb7OHftG4S-T4-3uzRHov420qyl2VTufbkzfL540" + "AEnB2UqGzSAdUK8pPs53JjaSJVQJObMJRsfQ5FIpSL0D4tNfft68cfE8Xb5fjSsAQG_PfmKZyX1Ind-s6dW6FgwREeHzu_OnEeOwCOaT8EZi2N4vNeWLvac" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNub3RpZmljYXRpb25zIiwiaXRlbXMiOlt7ImlkIjoiOSIsInRvcGljIjoiLy9wdWJzdWIuZ29vZ2xlYXBpcy5jb20vcHJvamVjdHMvZHVsY2V0LXBvcnQtNzYyL3RvcGljcy9nby1zdG9yYWdlLW5vdGlmaWNhdGlvbi10ZXN0IiwicGF5bG9hZF9mb3JtYXQiOiJOT05FIiwiZXRhZyI6IjkiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvbm90aWZpY2F0aW9uQ29uZmlncy85Iiwia2luZCI6InN0b3JhZ2Ujbm90aWZpY2F0aW9uIn1dfQ==" + "Body": "" } }, { - "ID": "4f16c0c7f89239f6", + "ID": "15055c361faad5c1", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/notificationConfigs/9?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0003?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -14031,7 +17460,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -14039,6 +17470,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -14049,7 +17483,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:08 GMT" + "Thu, 02 May 2019 22:25:24 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -14064,18 +17498,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uo4vIbjAIT5I-hsJpzWDKfRKvX6eQ2tkDJWqpK3y91eM9zhvXbkY5XIiISz1Gx-lOXMmG5FHFnO6Y39eB-RCTlBlgw-QZ03eHTki1QbmkWP27M8CNw" + "AEnB2UqwmXVRTmXX3P5iId4-EjuA1oviIQD-Vbdr7M5rgd7d5IxNvmPVkZz_zFyMBNoHd_DzXnPMN5R7grAe1yDdOzbyafIBwRcFsLh4r0a7ghp4LkNSLZk" ] }, "Body": "" } }, { - "ID": "5233d21e93ef314f", + "ID": "307f8a44d4ce6e9f", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/notificationConfigs?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/notificationConfigs?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -14085,7 +17528,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -14093,6 +17538,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], @@ -14103,10 +17551,10 @@ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:08 GMT" + "Thu, 02 May 2019 22:25:24 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:08 GMT" + "Thu, 02 May 2019 22:25:24 GMT" ], "Server": [ "UploadServer" @@ -14115,28 +17563,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoUhnPIRrbjzP97BxR9o-Rvc225xvDzXdZwYj79szneorizKxNp6BBr7XB0XJGcB2talcaFVztJPKXDKo2myhP8qFiS8K2RRp4l2q9MgbuttP3ewaI" + "AEnB2UpaHmcEJBKGI7CtW9fK8-j5Z-oRk_dTwMS40wVaoNH1PN7k6x6d_9aD3w3ce6WGZJF5OYxkdoifp6L2vVz5lIGjzcmmIZ4Wxp1vktBOv8hLa417Mp4" ] }, "Body": "eyJraW5kIjoic3RvcmFnZSNub3RpZmljYXRpb25zIn0=" } }, { - "ID": "d5948b6e6334d2a2", + "ID": "f8df88961018be68", "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/gcp-public-data-landsat/LC08/PRE/044/034/LC80440342016259LGN00/LC80440342016259LGN00_MTL.txt", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/notificationConfigs?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "121" + ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJwYXlsb2FkX2Zvcm1hdCI6Ik5PTkUiLCJ0b3BpYyI6Ii8vcHVic3ViLmdvb2dsZWFwaXMuY29tL3Byb2plY3RzL2Rla2xlcmstc2FuZGJveC90b3BpY3MvZ28tc3RvcmFnZS1ub3RpZmljYXRpb24tdGVzdCJ9Cg==" + ] }, "Response": { "StatusCode": 200, @@ -14144,67 +17606,55 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" - ], - "Age": [ - "212" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "public, max-age=3600" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "7903" + "297" ], "Content-Type": [ - "application/octet-stream" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:05:36 GMT" - ], - "Etag": [ - "\"7a5fd4743bd647485f88496fadb05c51\"" + "Thu, 02 May 2019 22:25:24 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 23:05:36 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" ], - "Last-Modified": [ - "Tue, 04 Oct 2016 16:42:07 GMT" + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" ], - "X-Goog-Generation": [ - "1475599327662000" - ], - "X-Goog-Hash": [ - "crc32c=PWBt8g==", - "md5=el/UdDvWR0hfiElvrbBcUQ==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "7903" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UrKTHUj7SqorDHDqxXyoGYhAaWrtOF0cioZwcrXoK41IR1UVo9B7DZHVBfwJDlC9l7qKqULyTJ7k0nvQDLdFXkbK58gl5w2MNx-v9g58Dp5iMFYzOk" + "AEnB2UqWiAA6LvnU4rExe2rVTwwFd51SI93o_d2tOj9OY1jk_qe1Yd1eiTXIa2eNecJQsmgwuFr4BUQoWy8ndutrCqGucmVIRL0jA6-i-vaGGVRF8uEe0AM" ] }, - "Body": "R1JPVVAgPSBMMV9NRVRBREFUQV9GSUxFCiAgR1JPVVAgPSBNRVRBREFUQV9GSUxFX0lORk8KICAgIE9SSUdJTiA9ICJJbWFnZSBjb3VydGVzeSBvZiB0aGUgVS5TLiBHZW9sb2dpY2FsIFN1cnZleSIKICAgIFJFUVVFU1RfSUQgPSAiMDcwMTYwOTE5MTA1MV8wMDAwNCIKICAgIExBTkRTQVRfU0NFTkVfSUQgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwIgogICAgRklMRV9EQVRFID0gMjAxNi0wOS0yMFQwMzoxMzowMloKICAgIFNUQVRJT05fSUQgPSAiTEdOIgogICAgUFJPQ0VTU0lOR19TT0ZUV0FSRV9WRVJTSU9OID0gIkxQR1NfMi42LjIiCiAgRU5EX0dST1VQID0gTUVUQURBVEFfRklMRV9JTkZPCiAgR1JPVVAgPSBQUk9EVUNUX01FVEFEQVRBCiAgICBEQVRBX1RZUEUgPSAiTDFUIgogICAgRUxFVkFUSU9OX1NPVVJDRSA9ICJHTFMyMDAwIgogICAgT1VUUFVUX0ZPUk1BVCA9ICJHRU9USUZGIgogICAgU1BBQ0VDUkFGVF9JRCA9ICJMQU5EU0FUXzgiCiAgICBTRU5TT1JfSUQgPSAiT0xJX1RJUlMiCiAgICBXUlNfUEFUSCA9IDQ0CiAgICBXUlNfUk9XID0gMzQKICAgIE5BRElSX09GRk5BRElSID0gIk5BRElSIgogICAgVEFSR0VUX1dSU19QQVRIID0gNDQKICAgIFRBUkdFVF9XUlNfUk9XID0gMzQKICAgIERBVEVfQUNRVUlSRUQgPSAyMDE2LTA5LTE1CiAgICBTQ0VORV9DRU5URVJfVElNRSA9ICIxODo0NjoxOC42ODY3MzgwWiIKICAgIENPUk5FUl9VTF9MQVRfUFJPRFVDVCA9IDM4LjUyODE5CiAgICBDT1JORVJfVUxfTE9OX1BST0RVQ1QgPSAtMTIzLjQwODQzCiAgICBDT1JORVJfVVJfTEFUX1BST0RVQ1QgPSAzOC41MDc2NQogICAgQ09STkVSX1VSX0xPTl9QUk9EVUNUID0gLTEyMC43NjkzMwogICAgQ09STkVSX0xMX0xBVF9QUk9EVUNUID0gMzYuNDE2MzMKICAgIENPUk5FUl9MTF9MT05fUFJPRFVDVCA9IC0xMjMuMzk3MDkKICAgIENPUk5FUl9MUl9MQVRfUFJPRFVDVCA9IDM2LjM5NzI5CiAgICBDT1JORVJfTFJfTE9OX1BST0RVQ1QgPSAtMTIwLjgzMTE3CiAgICBDT1JORVJfVUxfUFJPSkVDVElPTl9YX1BST0RVQ1QgPSA0NjQ0MDAuMDAwCiAgICBDT1JORVJfVUxfUFJPSkVDVElPTl9ZX1BST0RVQ1QgPSA0MjY0NTAwLjAwMAogICAgQ09STkVSX1VSX1BST0pFQ1RJT05fWF9QUk9EVUNUID0gNjk0NTAwLjAwMAogICAgQ09STkVSX1VSX1BST0pFQ1RJT05fWV9QUk9EVUNUID0gNDI2NDUwMC4wMDAKICAgIENPUk5FUl9MTF9QUk9KRUNUSU9OX1hfUFJPRFVDVCA9IDQ2NDQwMC4wMDAKICAgIENPUk5FUl9MTF9QUk9KRUNUSU9OX1lfUFJPRFVDVCA9IDQwMzAyMDAuMDAwCiAgICBDT1JORVJfTFJfUFJPSkVDVElPTl9YX1BST0RVQ1QgPSA2OTQ1MDAuMDAwCiAgICBDT1JORVJfTFJfUFJPSkVDVElPTl9ZX1BST0RVQ1QgPSA0MDMwMjAwLjAwMAogICAgUEFOQ0hST01BVElDX0xJTkVTID0gMTU2MjEKICAgIFBBTkNIUk9NQVRJQ19TQU1QTEVTID0gMTUzNDEKICAgIFJFRkxFQ1RJVkVfTElORVMgPSA3ODExCiAgICBSRUZMRUNUSVZFX1NBTVBMRVMgPSA3NjcxCiAgICBUSEVSTUFMX0xJTkVTID0gNzgxMQogICAgVEhFUk1BTF9TQU1QTEVTID0gNzY3MQogICAgRklMRV9OQU1FX0JBTkRfMSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjEuVElGIgogICAgRklMRV9OQU1FX0JBTkRfMiA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjIuVElGIgogICAgRklMRV9OQU1FX0JBTkRfMyA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjMuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNCA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjQuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjUuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNiA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjYuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNyA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjcuVElGIgogICAgRklMRV9OQU1FX0JBTkRfOCA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjguVElGIgogICAgRklMRV9OQU1FX0JBTkRfOSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjkuVElGIgogICAgRklMRV9OQU1FX0JBTkRfMTAgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxMC5USUYiCiAgICBGSUxFX05BTUVfQkFORF8xMSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjExLlRJRiIKICAgIEZJTEVfTkFNRV9CQU5EX1FVQUxJVFkgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0JRQS5USUYiCiAgICBNRVRBREFUQV9GSUxFX05BTUUgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX01UTC50eHQiCiAgICBCUEZfTkFNRV9PTEkgPSAiTE84QlBGMjAxNjA5MTUxODMwNTdfMjAxNjA5MTUyMDA5NTAuMDEiCiAgICBCUEZfTkFNRV9USVJTID0gIkxUOEJQRjIwMTYwOTAyMDg0MTIyXzIwMTYwOTE3MDc0MDI3LjAyIgogICAgQ1BGX05BTUUgPSAiTDhDUEYyMDE2MDcwMV8yMDE2MDkzMC4wMiIKICAgIFJMVVRfRklMRV9OQU1FID0gIkw4UkxVVDIwMTUwMzAzXzIwNDMxMjMxdjExLmg1IgogIEVORF9HUk9VUCA9IFBST0RVQ1RfTUVUQURBVEEKICBHUk9VUCA9IElNQUdFX0FUVFJJQlVURVMKICAgIENMT1VEX0NPVkVSID0gMjkuNTYKICAgIENMT1VEX0NPVkVSX0xBTkQgPSAzLjMzCiAgICBJTUFHRV9RVUFMSVRZX09MSSA9IDkKICAgIElNQUdFX1FVQUxJVFlfVElSUyA9IDkKICAgIFRJUlNfU1NNX01PREVMID0gIkZJTkFMIgogICAgVElSU19TU01fUE9TSVRJT05fU1RBVFVTID0gIkVTVElNQVRFRCIKICAgIFJPTExfQU5HTEUgPSAtMC4wMDEKICAgIFNVTl9BWklNVVRIID0gMTQ4LjQ4MDQ5Mzk2CiAgICBTVU5fRUxFVkFUSU9OID0gNTAuOTM3NjgzOTkKICAgIEVBUlRIX1NVTl9ESVNUQU5DRSA9IDEuMDA1Mzc1MgogICAgR1JPVU5EX0NPTlRST0xfUE9JTlRTX1ZFUlNJT04gPSA0CiAgICBHUk9VTkRfQ09OVFJPTF9QT0lOVFNfTU9ERUwgPSA1NDgKICAgIEdFT01FVFJJQ19STVNFX01PREVMID0gNS44NTcKICAgIEdFT01FVFJJQ19STVNFX01PREVMX1kgPSAzLjg0MQogICAgR0VPTUVUUklDX1JNU0VfTU9ERUxfWCA9IDQuNDIyCiAgICBHUk9VTkRfQ09OVFJPTF9QT0lOVFNfVkVSSUZZID0gMjI4CiAgICBHRU9NRVRSSUNfUk1TRV9WRVJJRlkgPSAzLjM4MgogIEVORF9HUk9VUCA9IElNQUdFX0FUVFJJQlVURVMKICBHUk9VUCA9IE1JTl9NQVhfUkFESUFOQ0UKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF8xID0gNzUxLjk1NzA5CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfMSA9IC02Mi4wOTY4NgogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzIgPSA3NzAuMDEzMTgKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF8yID0gLTYzLjU4Nzk0CiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfMyA9IDcwOS41NjA2MQogICAgUkFESUFOQ0VfTUlOSU1VTV9CQU5EXzMgPSAtNTguNTk1NzUKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF80ID0gNTk4LjM0MTQ5CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfNCA9IC00OS40MTEyMwogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzUgPSAzNjYuMTU1MTUKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF81ID0gLTMwLjIzNzIxCiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfNiA9IDkxLjA1OTQ2CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfNiA9IC03LjUxOTcyCiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfNyA9IDMwLjY5MTkxCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfNyA9IC0yLjUzNDU1CiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfOCA9IDY3Ny4xNTc4NAogICAgUkFESUFOQ0VfTUlOSU1VTV9CQU5EXzggPSAtNTUuOTE5OTIKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF85ID0gMTQzLjEwMTczCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfOSA9IC0xMS44MTczOQogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzEwID0gMjIuMDAxODAKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF8xMCA9IDAuMTAwMzMKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF8xMSA9IDIyLjAwMTgwCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfMTEgPSAwLjEwMDMzCiAgRU5EX0dST1VQID0gTUlOX01BWF9SQURJQU5DRQogIEdST1VQID0gTUlOX01BWF9SRUZMRUNUQU5DRQogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzEgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzEgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF8yID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF8yID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfMyA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfMyA9IC0wLjA5OTk4MAogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzQgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzQgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF81ID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF81ID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfNiA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfNiA9IC0wLjA5OTk4MAogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzcgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzcgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF84ID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF84ID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfOSA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfOSA9IC0wLjA5OTk4MAogIEVORF9HUk9VUCA9IE1JTl9NQVhfUkVGTEVDVEFOQ0UKICBHUk9VUCA9IE1JTl9NQVhfUElYRUxfVkFMVUUKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF8xID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF8xID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzIgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzIgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfMyA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfMyA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF80ID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF80ID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzUgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzUgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfNiA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfNiA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF83ID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF83ID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzggPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzggPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfOSA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfOSA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF8xMCA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfMTAgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfMTEgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzExID0gMQogIEVORF9HUk9VUCA9IE1JTl9NQVhfUElYRUxfVkFMVUUKICBHUk9VUCA9IFJBRElPTUVUUklDX1JFU0NBTElORwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzEgPSAxLjI0MjJFLTAyCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfMiA9IDEuMjcyMEUtMDIKICAgIFJBRElBTkNFX01VTFRfQkFORF8zID0gMS4xNzIxRS0wMgogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzQgPSA5Ljg4NDJFLTAzCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfNSA9IDYuMDQ4N0UtMDMKICAgIFJBRElBTkNFX01VTFRfQkFORF82ID0gMS41MDQyRS0wMwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzcgPSA1LjA3MDFFLTA0CiAgICBSQURJQU5DRV9NVUxUX0JBTkRfOCA9IDEuMTE4NkUtMDIKICAgIFJBRElBTkNFX01VTFRfQkFORF85ID0gMi4zNjQwRS0wMwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzEwID0gMy4zNDIwRS0wNAogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzExID0gMy4zNDIwRS0wNAogICAgUkFESUFOQ0VfQUREX0JBTkRfMSA9IC02Mi4xMDkyOAogICAgUkFESUFOQ0VfQUREX0JBTkRfMiA9IC02My42MDA2NgogICAgUkFESUFOQ0VfQUREX0JBTkRfMyA9IC01OC42MDc0NwogICAgUkFESUFOQ0VfQUREX0JBTkRfNCA9IC00OS40MjExMgogICAgUkFESUFOQ0VfQUREX0JBTkRfNSA9IC0zMC4yNDMyNgogICAgUkFESUFOQ0VfQUREX0JBTkRfNiA9IC03LjUyMTIyCiAgICBSQURJQU5DRV9BRERfQkFORF83ID0gLTIuNTM1MDUKICAgIFJBRElBTkNFX0FERF9CQU5EXzggPSAtNTUuOTMxMTAKICAgIFJBRElBTkNFX0FERF9CQU5EXzkgPSAtMTEuODE5NzUKICAgIFJBRElBTkNFX0FERF9CQU5EXzEwID0gMC4xMDAwMAogICAgUkFESUFOQ0VfQUREX0JBTkRfMTEgPSAwLjEwMDAwCiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfMSA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF8yID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzMgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfNCA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF81ID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzYgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfNyA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF84ID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzkgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF8xID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF8yID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF8zID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF80ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF81ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF82ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF83ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF84ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF85ID0gLTAuMTAwMDAwCiAgRU5EX0dST1VQID0gUkFESU9NRVRSSUNfUkVTQ0FMSU5HCiAgR1JPVVAgPSBUSVJTX1RIRVJNQUxfQ09OU1RBTlRTCiAgICBLMV9DT05TVEFOVF9CQU5EXzEwID0gNzc0Ljg4NTMKICAgIEsxX0NPTlNUQU5UX0JBTkRfMTEgPSA0ODAuODg4MwogICAgSzJfQ09OU1RBTlRfQkFORF8xMCA9IDEzMjEuMDc4OQogICAgSzJfQ09OU1RBTlRfQkFORF8xMSA9IDEyMDEuMTQ0MgogIEVORF9HUk9VUCA9IFRJUlNfVEhFUk1BTF9DT05TVEFOVFMKICBHUk9VUCA9IFBST0pFQ1RJT05fUEFSQU1FVEVSUwogICAgTUFQX1BST0pFQ1RJT04gPSAiVVRNIgogICAgREFUVU0gPSAiV0dTODQiCiAgICBFTExJUFNPSUQgPSAiV0dTODQiCiAgICBVVE1fWk9ORSA9IDEwCiAgICBHUklEX0NFTExfU0laRV9QQU5DSFJPTUFUSUMgPSAxNS4wMAogICAgR1JJRF9DRUxMX1NJWkVfUkVGTEVDVElWRSA9IDMwLjAwCiAgICBHUklEX0NFTExfU0laRV9USEVSTUFMID0gMzAuMDAKICAgIE9SSUVOVEFUSU9OID0gIk5PUlRIX1VQIgogICAgUkVTQU1QTElOR19PUFRJT04gPSAiQ1VCSUNfQ09OVk9MVVRJT04iCiAgRU5EX0dST1VQID0gUFJPSkVDVElPTl9QQVJBTUVURVJTCkVORF9HUk9VUCA9IEwxX01FVEFEQVRBX0ZJTEUKRU5ECg==" + "Body": "eyJpZCI6IjExIiwidG9waWMiOiIvL3B1YnN1Yi5nb29nbGVhcGlzLmNvbS9wcm9qZWN0cy9kZWtsZXJrLXNhbmRib3gvdG9waWNzL2dvLXN0b3JhZ2Utbm90aWZpY2F0aW9uLXRlc3QiLCJwYXlsb2FkX2Zvcm1hdCI6Ik5PTkUiLCJldGFnIjoiMTEiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvbm90aWZpY2F0aW9uQ29uZmlncy8xMSIsImtpbmQiOiJzdG9yYWdlI25vdGlmaWNhdGlvbiJ9" } }, { - "ID": "a436765e4790c82d", + "ID": "45f44fa6c3668273", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/gcp-public-data-landsat/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=LC08%2FPRE%2F044%2F034%2FLC80440342016259LGN00%2F\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/notificationConfigs?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -14214,7 +17664,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -14222,20 +17674,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "12632" + "340" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:09 GMT" + "Thu, 02 May 2019 22:25:25 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:09 GMT" + "Thu, 02 May 2019 22:25:25 GMT" ], "Server": [ "UploadServer" @@ -14244,65 +17699,95 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrKHLxOOdqbQ1UX9sj8ivNg1LhCahUBucWbZVbP8sR-xvNaHJAo0T7TZ6Q6xziLOBEPAOiZCYjHQX6OeTttSpaEz-aLpTia8bR82ZmuOPXgwu75BD8" + "AEnB2UoFWgB9V-ilyDIBP7KEF3SY7uTg-rikYE1ooEgWYkiXb2cW6oOwwtH1W7oe24WU2A9oyJIGOSskz3_icHqmMn7CfPoZQ-Lu5QdtZzv_5062_-UzAt0" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvTEMwOC9QUkUvMDQ0LzAzNC9MQzgwNDQwMzQyMDE2MjU5TEdOMDAvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxLlRJRi8xNDc1NTk5MTQ0NTc5MDAwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxLlRJRiIsIm5hbWUiOiJMQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjEuVElGIiwiYnVja2V0IjoiZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQiLCJnZW5lcmF0aW9uIjoiMTQ3NTU5OTE0NDU3OTAwMCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE2LTEwLTA0VDE2OjM5OjA0LjU0NVoiLCJ1cGRhdGVkIjoiMjAxNi0xMC0wNFQxNjozOTowNC41NDVaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTYtMTAtMDRUMTY6Mzk6MDQuNTQ1WiIsInNpemUiOiI3NDcyMTczNiIsIm1kNUhhc2giOiI4MzVMNkI1ZnJCMHpDQjZzMjJyMlN3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxLlRJRj9nZW5lcmF0aW9uPTE0NzU1OTkxNDQ1NzkwMDAmYWx0PW1lZGlhIiwiY3JjMzJjIjoiOTM0QnJnPT0iLCJldGFnIjoiQ0xqZjM1Ykx3YzhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdC9MQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjEwLlRJRi8xNDc1NTk5MzEwMDQyMDAwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxMC5USUYiLCJuYW1lIjoiTEMwOC9QUkUvMDQ0LzAzNC9MQzgwNDQwMzQyMDE2MjU5TEdOMDAvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxMC5USUYiLCJidWNrZXQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdCIsImdlbmVyYXRpb24iOiIxNDc1NTk5MzEwMDQyMDAwIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLCJ0aW1lQ3JlYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDE6NTAuMDAyWiIsInVwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQxOjUwLjAwMloiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MTo1MC4wMDJaIiwic2l6ZSI6IjU4NjgxMjI4IiwibWQ1SGFzaCI6IkJXNjIzeEhnMTVJaFYyNG1ickwrQXc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjEwLlRJRj9nZW5lcmF0aW9uPTE0NzU1OTkzMTAwNDIwMDAmYWx0PW1lZGlhIiwiY3JjMzJjIjoieHpWMmZnPT0iLCJldGFnIjoiQ0pEbjB1WEx3YzhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdC9MQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjExLlRJRi8xNDc1NTk5MzE5MTg4MDAwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxMS5USUYiLCJuYW1lIjoiTEMwOC9QUkUvMDQ0LzAzNC9MQzgwNDQwMzQyMDE2MjU5TEdOMDAvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxMS5USUYiLCJidWNrZXQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdCIsImdlbmVyYXRpb24iOiIxNDc1NTk5MzE5MTg4MDAwIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLCJ0aW1lQ3JlYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDE6NTkuMTQ5WiIsInVwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQxOjU5LjE0OVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MTo1OS4xNDlaIiwic2l6ZSI6IjU2Nzk2NDM5IiwibWQ1SGFzaCI6IkZPeGl5eEpYcUFmbFJUOGxGblNkT2c9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjExLlRJRj9nZW5lcmF0aW9uPTE0NzU1OTkzMTkxODgwMDAmYWx0PW1lZGlhIiwiY3JjMzJjIjoicC9IRlZ3PT0iLCJldGFnIjoiQ0tDRWdlckx3YzhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdC9MQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjIuVElGLzE0NzU1OTkxNjEyMjQwMDAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjIuVElGIiwibmFtZSI6IkxDMDgvUFJFLzA0NC8wMzQvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwL0xDODA0NDAzNDIwMTYyNTlMR04wMF9CMi5USUYiLCJidWNrZXQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdCIsImdlbmVyYXRpb24iOiIxNDc1NTk5MTYxMjI0MDAwIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLCJ0aW1lQ3JlYXRlZCI6IjIwMTYtMTAtMDRUMTY6Mzk6MjEuMTYwWiIsInVwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjM5OjIxLjE2MFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxNi0xMC0wNFQxNjozOToyMS4xNjBaIiwic2l6ZSI6Ijc3MTQ5NzcxIiwibWQ1SGFzaCI6Ik1QMjJ6ak9vMk5zMGlZNE1UUEpSd0E9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjIuVElGP2dlbmVyYXRpb249MTQ3NTU5OTE2MTIyNDAwMCZhbHQ9bWVkaWEiLCJjcmMzMmMiOiJySThZUmc9PSIsImV0YWciOiJDTURXMTU3THdjOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdjcC1wdWJsaWMtZGF0YS1sYW5kc2F0L0xDMDgvUFJFLzA0NC8wMzQvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwL0xDODA0NDAzNDIwMTYyNTlMR04wMF9CMy5USUYvMTQ3NTU5OTE3ODQzNTAwMCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2djcC1wdWJsaWMtZGF0YS1sYW5kc2F0L28vTEMwOCUyRlBSRSUyRjA0NCUyRjAzNCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMF9CMy5USUYiLCJuYW1lIjoiTEMwOC9QUkUvMDQ0LzAzNC9MQzgwNDQwMzQyMDE2MjU5TEdOMDAvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IzLlRJRiIsImJ1Y2tldCI6ImdjcC1wdWJsaWMtZGF0YS1sYW5kc2F0IiwiZ2VuZXJhdGlvbiI6IjE0NzU1OTkxNzg0MzUwMDAiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIsInRpbWVDcmVhdGVkIjoiMjAxNi0xMC0wNFQxNjozOTozOC4zNzZaIiwidXBkYXRlZCI6IjIwMTYtMTAtMDRUMTY6Mzk6MzguMzc2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjM5OjM4LjM3NloiLCJzaXplIjoiODAyOTM2ODciLCJtZDVIYXNoIjoidlFNaUdlRHVCZzZjcjNYc2ZJRWpvUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2djcC1wdWJsaWMtZGF0YS1sYW5kc2F0L28vTEMwOCUyRlBSRSUyRjA0NCUyRjAzNCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMF9CMy5USUY/Z2VuZXJhdGlvbj0xNDc1NTk5MTc4NDM1MDAwJmFsdD1tZWRpYSIsImNyYzMyYyI6InVaQnJuQT09IiwiZXRhZyI6IkNMaVQ4cWJMd2M4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvTEMwOC9QUkUvMDQ0LzAzNC9MQzgwNDQwMzQyMDE2MjU5TEdOMDAvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0I0LlRJRi8xNDc1NTk5MTk0MjY4MDAwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0I0LlRJRiIsIm5hbWUiOiJMQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjQuVElGIiwiYnVja2V0IjoiZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQiLCJnZW5lcmF0aW9uIjoiMTQ3NTU5OTE5NDI2ODAwMCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE2LTEwLTA0VDE2OjM5OjU0LjIxMVoiLCJ1cGRhdGVkIjoiMjAxNi0xMC0wNFQxNjozOTo1NC4yMTFaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTYtMTAtMDRUMTY6Mzk6NTQuMjExWiIsInNpemUiOiI4NDQ5NDM3NSIsIm1kNUhhc2giOiJGV2VWQTAxWk8wK21BK0VSRmN6dWhBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0I0LlRJRj9nZW5lcmF0aW9uPTE0NzU1OTkxOTQyNjgwMDAmYWx0PW1lZGlhIiwiY3JjMzJjIjoiV2VzNW9RPT0iLCJldGFnIjoiQ09EQ3VLN0x3YzhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdC9MQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjUuVElGLzE0NzU1OTkyMDI5NzkwMDAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjUuVElGIiwibmFtZSI6IkxDMDgvUFJFLzA0NC8wMzQvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwL0xDODA0NDAzNDIwMTYyNTlMR04wMF9CNS5USUYiLCJidWNrZXQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdCIsImdlbmVyYXRpb24iOiIxNDc1NTk5MjAyOTc5MDAwIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLCJ0aW1lQ3JlYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDA6MDIuOTM3WiIsInVwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQwOjAyLjkzN1oiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MDowMi45MzdaIiwic2l6ZSI6Ijg5MzE4NDY3IiwibWQ1SGFzaCI6InA0b3lLSEFHbzVLeTNLZzFUSzFaUXc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjUuVElGP2dlbmVyYXRpb249MTQ3NTU5OTIwMjk3OTAwMCZhbHQ9bWVkaWEiLCJjcmMzMmMiOiJwVFl1dXc9PSIsImV0YWciOiJDTGlaekxMTHdjOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdjcC1wdWJsaWMtZGF0YS1sYW5kc2F0L0xDMDgvUFJFLzA0NC8wMzQvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwL0xDODA0NDAzNDIwMTYyNTlMR04wMF9CNi5USUYvMTQ3NTU5OTIzMzQ4MTAwMCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2djcC1wdWJsaWMtZGF0YS1sYW5kc2F0L28vTEMwOCUyRlBSRSUyRjA0NCUyRjAzNCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMF9CNi5USUYiLCJuYW1lIjoiTEMwOC9QUkUvMDQ0LzAzNC9MQzgwNDQwMzQyMDE2MjU5TEdOMDAvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0I2LlRJRiIsImJ1Y2tldCI6ImdjcC1wdWJsaWMtZGF0YS1sYW5kc2F0IiwiZ2VuZXJhdGlvbiI6IjE0NzU1OTkyMzM0ODEwMDAiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIsInRpbWVDcmVhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MDozMy4zNDlaIiwidXBkYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDA6MzMuMzQ5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQwOjMzLjM0OVoiLCJzaXplIjoiODk0NjU3NjciLCJtZDVIYXNoIjoiMlo3MkdVT0t0bGd6VDlWUlNHWVhqQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2djcC1wdWJsaWMtZGF0YS1sYW5kc2F0L28vTEMwOCUyRlBSRSUyRjA0NCUyRjAzNCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMF9CNi5USUY/Z2VuZXJhdGlvbj0xNDc1NTk5MjMzNDgxMDAwJmFsdD1tZWRpYSIsImNyYzMyYyI6IklOWEhiUT09IiwiZXRhZyI6IkNLanlrY0hMd2M4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvTEMwOC9QUkUvMDQ0LzAzNC9MQzgwNDQwMzQyMDE2MjU5TEdOMDAvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0I3LlRJRi8xNDc1NTk5MjQxMDU1MDAwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0I3LlRJRiIsIm5hbWUiOiJMQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjcuVElGIiwiYnVja2V0IjoiZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQiLCJnZW5lcmF0aW9uIjoiMTQ3NTU5OTI0MTA1NTAwMCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQwOjQxLjAyMVoiLCJ1cGRhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MDo0MS4wMjFaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDA6NDEuMDIxWiIsInNpemUiOiI4NjQ2MjYxNCIsIm1kNUhhc2giOiI4Z1BOUTdRWm9GMkNOWlo5RW1ybG9nPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0I3LlRJRj9nZW5lcmF0aW9uPTE0NzU1OTkyNDEwNTUwMDAmYWx0PW1lZGlhIiwiY3JjMzJjIjoidXdDRCtBPT0iLCJldGFnIjoiQ0ppVzRNVEx3YzhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdC9MQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjguVElGLzE0NzU1OTkyODEzMzgwMDAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjguVElGIiwibmFtZSI6IkxDMDgvUFJFLzA0NC8wMzQvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwL0xDODA0NDAzNDIwMTYyNTlMR04wMF9COC5USUYiLCJidWNrZXQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdCIsImdlbmVyYXRpb24iOiIxNDc1NTk5MjgxMzM4MDAwIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLCJ0aW1lQ3JlYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDE6MjEuMzAwWiIsInVwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQxOjIxLjMwMFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MToyMS4zMDBaIiwic2l6ZSI6IjMxODg4Nzc3NCIsIm1kNUhhc2giOiJ5Nzk1THJVekJ3azJ0TDZQTTAxY0VBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0I4LlRJRj9nZW5lcmF0aW9uPTE0NzU1OTkyODEzMzgwMDAmYWx0PW1lZGlhIiwiY3JjMzJjIjoiWjMrWmhRPT0iLCJldGFnIjoiQ0pEdCt0Zkx3YzhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdC9MQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjkuVElGLzE0NzU1OTkyOTE0MjUwMDAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjkuVElGIiwibmFtZSI6IkxDMDgvUFJFLzA0NC8wMzQvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwL0xDODA0NDAzNDIwMTYyNTlMR04wMF9COS5USUYiLCJidWNrZXQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdCIsImdlbmVyYXRpb24iOiIxNDc1NTk5MjkxNDI1MDAwIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLCJ0aW1lQ3JlYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDE6MzEuMzYxWiIsInVwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQxOjMxLjM2MVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MTozMS4zNjFaIiwic2l6ZSI6IjQ0MzA4MjA1IiwibWQ1SGFzaCI6IjVCNDFFMkRCYlk1MnBZUFVHVmg5NWc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjkuVElGP2dlbmVyYXRpb249MTQ3NTU5OTI5MTQyNTAwMCZhbHQ9bWVkaWEiLCJjcmMzMmMiOiJhME9EUXc9PSIsImV0YWciOiJDT2pCNHR6THdjOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdjcC1wdWJsaWMtZGF0YS1sYW5kc2F0L0xDMDgvUFJFLzA0NC8wMzQvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwL0xDODA0NDAzNDIwMTYyNTlMR04wMF9CUUEuVElGLzE0NzU1OTkzMjcyMjIwMDAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQlFBLlRJRiIsIm5hbWUiOiJMQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQlFBLlRJRiIsImJ1Y2tldCI6ImdjcC1wdWJsaWMtZGF0YS1sYW5kc2F0IiwiZ2VuZXJhdGlvbiI6IjE0NzU1OTkzMjcyMjIwMDAiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIsInRpbWVDcmVhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MjowNy4xNTlaIiwidXBkYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDI6MDcuMTU5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQyOjA3LjE1OVoiLCJzaXplIjoiMzM1NDcxOSIsIm1kNUhhc2giOiJ6cWlndmw1RW52bWkvR0xjOHlINTFBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0JRQS5USUY/Z2VuZXJhdGlvbj0xNDc1NTk5MzI3MjIyMDAwJmFsdD1tZWRpYSIsImNyYzMyYyI6IldPQmdLQT09IiwiZXRhZyI6IkNQQ3g2KzNMd2M4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvTEMwOC9QUkUvMDQ0LzAzNC9MQzgwNDQwMzQyMDE2MjU5TEdOMDAvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX01UTC50eHQvMTQ3NTU5OTMyNzY2MjAwMCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2djcC1wdWJsaWMtZGF0YS1sYW5kc2F0L28vTEMwOCUyRlBSRSUyRjA0NCUyRjAzNCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMF9NVEwudHh0IiwibmFtZSI6IkxDMDgvUFJFLzA0NC8wMzQvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwL0xDODA0NDAzNDIwMTYyNTlMR04wMF9NVEwudHh0IiwiYnVja2V0IjoiZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQiLCJnZW5lcmF0aW9uIjoiMTQ3NTU5OTMyNzY2MjAwMCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQyOjA3LjYxOFoiLCJ1cGRhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MjowNy42MThaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDI6MDcuNjE4WiIsInNpemUiOiI3OTAzIiwibWQ1SGFzaCI6ImVsL1VkRHZXUjBoZmlFbHZyYkJjVVE9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfTVRMLnR4dD9nZW5lcmF0aW9uPTE0NzU1OTkzMjc2NjIwMDAmYWx0PW1lZGlhIiwiY3JjMzJjIjoiUFdCdDhnPT0iLCJldGFnIjoiQ0xDZmh1N0x3YzhDRUFFPSJ9XX0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNub3RpZmljYXRpb25zIiwiaXRlbXMiOlt7ImlkIjoiMTEiLCJ0b3BpYyI6Ii8vcHVic3ViLmdvb2dsZWFwaXMuY29tL3Byb2plY3RzL2Rla2xlcmstc2FuZGJveC90b3BpY3MvZ28tc3RvcmFnZS1ub3RpZmljYXRpb24tdGVzdCIsInBheWxvYWRfZm9ybWF0IjoiTk9ORSIsImV0YWciOiIxMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9ub3RpZmljYXRpb25Db25maWdzLzExIiwia2luZCI6InN0b3JhZ2Ujbm90aWZpY2F0aW9uIn1dfQ==" } }, { - "ID": "d235292b917b03a3", + "ID": "08c2546e2c262ee7", "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/noauth", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/notificationConfigs/11?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 403, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "247" + "0" ], "Content-Type": [ - "application/xml; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:09 GMT" + "Thu, 02 May 2019 22:25:25 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:09 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" ], + "Vary": [ + "Origin", + "X-Origin" + ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uo9W54sud1jUncTY5e5efuPb-hcoSa73clkHO6FHPKvRX-c0M0ZdxQu06Dh2KmOr_XQvFPPSFFk_1wRMUC4Esc9EBeDDMBq5LXQFfLFCDo6o1INnt4" + "AEnB2UoTmXr5TZZPRnABz_XbbZpjwU3iPz2e802RkcmNFr3sLzUx205tdmAb6vVWMNlYMUGZ5tGoddlqQ_oPnz0Xdvpz8CiD2eDLMDyrMbxVFjc3BinwBo0" ] }, - "Body": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48RXJyb3I+PENvZGU+QWNjZXNzRGVuaWVkPC9Db2RlPjxNZXNzYWdlPkFjY2VzcyBkZW5pZWQuPC9NZXNzYWdlPjxEZXRhaWxzPkFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuZ2V0IGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvbm9hdXRoLjwvRGV0YWlscz48L0Vycm9yPg==" + "Body": "" } }, { - "ID": "ae753bfd0731da6c", + "ID": "efc8b67f9c2f4b40", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/notificationConfigs?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -14311,26 +17796,34 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoibm9hdXRoIn0K", - "Yg==" + "" ] }, "Response": { - "StatusCode": 401, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "private, max-age=0, must-revalidate, no-transform" + ], "Content-Length": [ - "390" + "32" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:10 GMT" + "Thu, 02 May 2019 22:25:25 GMT" + ], + "Expires": [ + "Thu, 02 May 2019 22:25:25 GMT" ], "Server": [ "UploadServer" @@ -14339,18 +17832,24 @@ "Origin", "X-Origin" ], - "Www-Authenticate": [ - "Bearer realm=\"https://accounts.google.com/\"" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UpkFa6-ryuBGBu-mvE5CdL_nWp-FqAcZnr323OwGgYBcBPaHthIgLTmNItARNOK29sIQYPZQbjp0aX10SIk1zujXRq3Qd_6B2frZXm8Xf2PP4QSj9Y" + "AEnB2UraMBYT56qFvKLe_OPJfpJRhTy2qSpQyRjP6CScOnnijgaQ88eQtVahktX_Vsvy-G7J11d7GNT64FnpqZrewu1sUmuNNLiEtmkqVFILdNcWed6i1w4" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvbm9hdXRoLiIsImxvY2F0aW9uVHlwZSI6ImhlYWRlciIsImxvY2F0aW9uIjoiQXV0aG9yaXphdGlvbiJ9XSwiY29kZSI6NDAxLCJtZXNzYWdlIjoiQW5vbnltb3VzIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5jcmVhdGUgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9ub2F1dGguIn19" + "Body": "eyJraW5kIjoic3RvcmFnZSNub3RpZmljYXRpb25zIn0=" } }, { - "ID": "f84769aeeab790d8", + "ID": "6dd92f9ce3b15a57", "Request": { "Method": "GET", "URL": "https://storage.googleapis.com/gcp-public-data-landsat/LC08/PRE/044/034/LC80440342016259LGN00/LC80440342016259LGN00_MTL.txt", @@ -14363,7 +17862,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -14374,8 +17875,8 @@ "Accept-Ranges": [ "bytes" ], - "Age": [ - "214" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ "public, max-age=3600" @@ -14387,13 +17888,13 @@ "application/octet-stream" ], "Date": [ - "Wed, 09 Jan 2019 22:05:36 GMT" + "Thu, 02 May 2019 22:25:25 GMT" ], "Etag": [ "\"7a5fd4743bd647485f88496fadb05c51\"" ], "Expires": [ - "Wed, 09 Jan 2019 23:05:36 GMT" + "Thu, 02 May 2019 23:25:25 GMT" ], "Last-Modified": [ "Tue, 04 Oct 2016 16:42:07 GMT" @@ -14420,28 +17921,39 @@ "X-Goog-Stored-Content-Length": [ "7903" ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrKTHUj7SqorDHDqxXyoGYhAaWrtOF0cioZwcrXoK41IR1UVo9B7DZHVBfwJDlC9l7qKqULyTJ7k0nvQDLdFXkbK58gl5w2MNx-v9g58Dp5iMFYzOk" + "AEnB2UpedRCcxIOhXCWdipyV2E0R3z00CUlOK6rPlof1gpKuQbLeJmvMoPFn28o8zqmmeVJ5rbX41bB6Hp116-_ISgEXl4Htmc1VS0Aq41lJQiN_mIvozbY" ] }, "Body": "R1JPVVAgPSBMMV9NRVRBREFUQV9GSUxFCiAgR1JPVVAgPSBNRVRBREFUQV9GSUxFX0lORk8KICAgIE9SSUdJTiA9ICJJbWFnZSBjb3VydGVzeSBvZiB0aGUgVS5TLiBHZW9sb2dpY2FsIFN1cnZleSIKICAgIFJFUVVFU1RfSUQgPSAiMDcwMTYwOTE5MTA1MV8wMDAwNCIKICAgIExBTkRTQVRfU0NFTkVfSUQgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwIgogICAgRklMRV9EQVRFID0gMjAxNi0wOS0yMFQwMzoxMzowMloKICAgIFNUQVRJT05fSUQgPSAiTEdOIgogICAgUFJPQ0VTU0lOR19TT0ZUV0FSRV9WRVJTSU9OID0gIkxQR1NfMi42LjIiCiAgRU5EX0dST1VQID0gTUVUQURBVEFfRklMRV9JTkZPCiAgR1JPVVAgPSBQUk9EVUNUX01FVEFEQVRBCiAgICBEQVRBX1RZUEUgPSAiTDFUIgogICAgRUxFVkFUSU9OX1NPVVJDRSA9ICJHTFMyMDAwIgogICAgT1VUUFVUX0ZPUk1BVCA9ICJHRU9USUZGIgogICAgU1BBQ0VDUkFGVF9JRCA9ICJMQU5EU0FUXzgiCiAgICBTRU5TT1JfSUQgPSAiT0xJX1RJUlMiCiAgICBXUlNfUEFUSCA9IDQ0CiAgICBXUlNfUk9XID0gMzQKICAgIE5BRElSX09GRk5BRElSID0gIk5BRElSIgogICAgVEFSR0VUX1dSU19QQVRIID0gNDQKICAgIFRBUkdFVF9XUlNfUk9XID0gMzQKICAgIERBVEVfQUNRVUlSRUQgPSAyMDE2LTA5LTE1CiAgICBTQ0VORV9DRU5URVJfVElNRSA9ICIxODo0NjoxOC42ODY3MzgwWiIKICAgIENPUk5FUl9VTF9MQVRfUFJPRFVDVCA9IDM4LjUyODE5CiAgICBDT1JORVJfVUxfTE9OX1BST0RVQ1QgPSAtMTIzLjQwODQzCiAgICBDT1JORVJfVVJfTEFUX1BST0RVQ1QgPSAzOC41MDc2NQogICAgQ09STkVSX1VSX0xPTl9QUk9EVUNUID0gLTEyMC43NjkzMwogICAgQ09STkVSX0xMX0xBVF9QUk9EVUNUID0gMzYuNDE2MzMKICAgIENPUk5FUl9MTF9MT05fUFJPRFVDVCA9IC0xMjMuMzk3MDkKICAgIENPUk5FUl9MUl9MQVRfUFJPRFVDVCA9IDM2LjM5NzI5CiAgICBDT1JORVJfTFJfTE9OX1BST0RVQ1QgPSAtMTIwLjgzMTE3CiAgICBDT1JORVJfVUxfUFJPSkVDVElPTl9YX1BST0RVQ1QgPSA0NjQ0MDAuMDAwCiAgICBDT1JORVJfVUxfUFJPSkVDVElPTl9ZX1BST0RVQ1QgPSA0MjY0NTAwLjAwMAogICAgQ09STkVSX1VSX1BST0pFQ1RJT05fWF9QUk9EVUNUID0gNjk0NTAwLjAwMAogICAgQ09STkVSX1VSX1BST0pFQ1RJT05fWV9QUk9EVUNUID0gNDI2NDUwMC4wMDAKICAgIENPUk5FUl9MTF9QUk9KRUNUSU9OX1hfUFJPRFVDVCA9IDQ2NDQwMC4wMDAKICAgIENPUk5FUl9MTF9QUk9KRUNUSU9OX1lfUFJPRFVDVCA9IDQwMzAyMDAuMDAwCiAgICBDT1JORVJfTFJfUFJPSkVDVElPTl9YX1BST0RVQ1QgPSA2OTQ1MDAuMDAwCiAgICBDT1JORVJfTFJfUFJPSkVDVElPTl9ZX1BST0RVQ1QgPSA0MDMwMjAwLjAwMAogICAgUEFOQ0hST01BVElDX0xJTkVTID0gMTU2MjEKICAgIFBBTkNIUk9NQVRJQ19TQU1QTEVTID0gMTUzNDEKICAgIFJFRkxFQ1RJVkVfTElORVMgPSA3ODExCiAgICBSRUZMRUNUSVZFX1NBTVBMRVMgPSA3NjcxCiAgICBUSEVSTUFMX0xJTkVTID0gNzgxMQogICAgVEhFUk1BTF9TQU1QTEVTID0gNzY3MQogICAgRklMRV9OQU1FX0JBTkRfMSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjEuVElGIgogICAgRklMRV9OQU1FX0JBTkRfMiA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjIuVElGIgogICAgRklMRV9OQU1FX0JBTkRfMyA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjMuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNCA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjQuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjUuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNiA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjYuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNyA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjcuVElGIgogICAgRklMRV9OQU1FX0JBTkRfOCA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjguVElGIgogICAgRklMRV9OQU1FX0JBTkRfOSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjkuVElGIgogICAgRklMRV9OQU1FX0JBTkRfMTAgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxMC5USUYiCiAgICBGSUxFX05BTUVfQkFORF8xMSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjExLlRJRiIKICAgIEZJTEVfTkFNRV9CQU5EX1FVQUxJVFkgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0JRQS5USUYiCiAgICBNRVRBREFUQV9GSUxFX05BTUUgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX01UTC50eHQiCiAgICBCUEZfTkFNRV9PTEkgPSAiTE84QlBGMjAxNjA5MTUxODMwNTdfMjAxNjA5MTUyMDA5NTAuMDEiCiAgICBCUEZfTkFNRV9USVJTID0gIkxUOEJQRjIwMTYwOTAyMDg0MTIyXzIwMTYwOTE3MDc0MDI3LjAyIgogICAgQ1BGX05BTUUgPSAiTDhDUEYyMDE2MDcwMV8yMDE2MDkzMC4wMiIKICAgIFJMVVRfRklMRV9OQU1FID0gIkw4UkxVVDIwMTUwMzAzXzIwNDMxMjMxdjExLmg1IgogIEVORF9HUk9VUCA9IFBST0RVQ1RfTUVUQURBVEEKICBHUk9VUCA9IElNQUdFX0FUVFJJQlVURVMKICAgIENMT1VEX0NPVkVSID0gMjkuNTYKICAgIENMT1VEX0NPVkVSX0xBTkQgPSAzLjMzCiAgICBJTUFHRV9RVUFMSVRZX09MSSA9IDkKICAgIElNQUdFX1FVQUxJVFlfVElSUyA9IDkKICAgIFRJUlNfU1NNX01PREVMID0gIkZJTkFMIgogICAgVElSU19TU01fUE9TSVRJT05fU1RBVFVTID0gIkVTVElNQVRFRCIKICAgIFJPTExfQU5HTEUgPSAtMC4wMDEKICAgIFNVTl9BWklNVVRIID0gMTQ4LjQ4MDQ5Mzk2CiAgICBTVU5fRUxFVkFUSU9OID0gNTAuOTM3NjgzOTkKICAgIEVBUlRIX1NVTl9ESVNUQU5DRSA9IDEuMDA1Mzc1MgogICAgR1JPVU5EX0NPTlRST0xfUE9JTlRTX1ZFUlNJT04gPSA0CiAgICBHUk9VTkRfQ09OVFJPTF9QT0lOVFNfTU9ERUwgPSA1NDgKICAgIEdFT01FVFJJQ19STVNFX01PREVMID0gNS44NTcKICAgIEdFT01FVFJJQ19STVNFX01PREVMX1kgPSAzLjg0MQogICAgR0VPTUVUUklDX1JNU0VfTU9ERUxfWCA9IDQuNDIyCiAgICBHUk9VTkRfQ09OVFJPTF9QT0lOVFNfVkVSSUZZID0gMjI4CiAgICBHRU9NRVRSSUNfUk1TRV9WRVJJRlkgPSAzLjM4MgogIEVORF9HUk9VUCA9IElNQUdFX0FUVFJJQlVURVMKICBHUk9VUCA9IE1JTl9NQVhfUkFESUFOQ0UKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF8xID0gNzUxLjk1NzA5CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfMSA9IC02Mi4wOTY4NgogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzIgPSA3NzAuMDEzMTgKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF8yID0gLTYzLjU4Nzk0CiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfMyA9IDcwOS41NjA2MQogICAgUkFESUFOQ0VfTUlOSU1VTV9CQU5EXzMgPSAtNTguNTk1NzUKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF80ID0gNTk4LjM0MTQ5CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfNCA9IC00OS40MTEyMwogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzUgPSAzNjYuMTU1MTUKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF81ID0gLTMwLjIzNzIxCiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfNiA9IDkxLjA1OTQ2CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfNiA9IC03LjUxOTcyCiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfNyA9IDMwLjY5MTkxCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfNyA9IC0yLjUzNDU1CiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfOCA9IDY3Ny4xNTc4NAogICAgUkFESUFOQ0VfTUlOSU1VTV9CQU5EXzggPSAtNTUuOTE5OTIKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF85ID0gMTQzLjEwMTczCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfOSA9IC0xMS44MTczOQogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzEwID0gMjIuMDAxODAKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF8xMCA9IDAuMTAwMzMKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF8xMSA9IDIyLjAwMTgwCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfMTEgPSAwLjEwMDMzCiAgRU5EX0dST1VQID0gTUlOX01BWF9SQURJQU5DRQogIEdST1VQID0gTUlOX01BWF9SRUZMRUNUQU5DRQogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzEgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzEgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF8yID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF8yID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfMyA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfMyA9IC0wLjA5OTk4MAogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzQgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzQgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF81ID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF81ID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfNiA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfNiA9IC0wLjA5OTk4MAogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzcgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzcgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF84ID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF84ID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfOSA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfOSA9IC0wLjA5OTk4MAogIEVORF9HUk9VUCA9IE1JTl9NQVhfUkVGTEVDVEFOQ0UKICBHUk9VUCA9IE1JTl9NQVhfUElYRUxfVkFMVUUKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF8xID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF8xID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzIgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzIgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfMyA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfMyA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF80ID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF80ID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzUgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzUgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfNiA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfNiA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF83ID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF83ID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzggPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzggPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfOSA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfOSA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF8xMCA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfMTAgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfMTEgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzExID0gMQogIEVORF9HUk9VUCA9IE1JTl9NQVhfUElYRUxfVkFMVUUKICBHUk9VUCA9IFJBRElPTUVUUklDX1JFU0NBTElORwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzEgPSAxLjI0MjJFLTAyCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfMiA9IDEuMjcyMEUtMDIKICAgIFJBRElBTkNFX01VTFRfQkFORF8zID0gMS4xNzIxRS0wMgogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzQgPSA5Ljg4NDJFLTAzCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfNSA9IDYuMDQ4N0UtMDMKICAgIFJBRElBTkNFX01VTFRfQkFORF82ID0gMS41MDQyRS0wMwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzcgPSA1LjA3MDFFLTA0CiAgICBSQURJQU5DRV9NVUxUX0JBTkRfOCA9IDEuMTE4NkUtMDIKICAgIFJBRElBTkNFX01VTFRfQkFORF85ID0gMi4zNjQwRS0wMwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzEwID0gMy4zNDIwRS0wNAogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzExID0gMy4zNDIwRS0wNAogICAgUkFESUFOQ0VfQUREX0JBTkRfMSA9IC02Mi4xMDkyOAogICAgUkFESUFOQ0VfQUREX0JBTkRfMiA9IC02My42MDA2NgogICAgUkFESUFOQ0VfQUREX0JBTkRfMyA9IC01OC42MDc0NwogICAgUkFESUFOQ0VfQUREX0JBTkRfNCA9IC00OS40MjExMgogICAgUkFESUFOQ0VfQUREX0JBTkRfNSA9IC0zMC4yNDMyNgogICAgUkFESUFOQ0VfQUREX0JBTkRfNiA9IC03LjUyMTIyCiAgICBSQURJQU5DRV9BRERfQkFORF83ID0gLTIuNTM1MDUKICAgIFJBRElBTkNFX0FERF9CQU5EXzggPSAtNTUuOTMxMTAKICAgIFJBRElBTkNFX0FERF9CQU5EXzkgPSAtMTEuODE5NzUKICAgIFJBRElBTkNFX0FERF9CQU5EXzEwID0gMC4xMDAwMAogICAgUkFESUFOQ0VfQUREX0JBTkRfMTEgPSAwLjEwMDAwCiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfMSA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF8yID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzMgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfNCA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF81ID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzYgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfNyA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF84ID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzkgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF8xID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF8yID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF8zID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF80ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF81ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF82ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF83ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF84ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF85ID0gLTAuMTAwMDAwCiAgRU5EX0dST1VQID0gUkFESU9NRVRSSUNfUkVTQ0FMSU5HCiAgR1JPVVAgPSBUSVJTX1RIRVJNQUxfQ09OU1RBTlRTCiAgICBLMV9DT05TVEFOVF9CQU5EXzEwID0gNzc0Ljg4NTMKICAgIEsxX0NPTlNUQU5UX0JBTkRfMTEgPSA0ODAuODg4MwogICAgSzJfQ09OU1RBTlRfQkFORF8xMCA9IDEzMjEuMDc4OQogICAgSzJfQ09OU1RBTlRfQkFORF8xMSA9IDEyMDEuMTQ0MgogIEVORF9HUk9VUCA9IFRJUlNfVEhFUk1BTF9DT05TVEFOVFMKICBHUk9VUCA9IFBST0pFQ1RJT05fUEFSQU1FVEVSUwogICAgTUFQX1BST0pFQ1RJT04gPSAiVVRNIgogICAgREFUVU0gPSAiV0dTODQiCiAgICBFTExJUFNPSUQgPSAiV0dTODQiCiAgICBVVE1fWk9ORSA9IDEwCiAgICBHUklEX0NFTExfU0laRV9QQU5DSFJPTUFUSUMgPSAxNS4wMAogICAgR1JJRF9DRUxMX1NJWkVfUkVGTEVDVElWRSA9IDMwLjAwCiAgICBHUklEX0NFTExfU0laRV9USEVSTUFMID0gMzAuMDAKICAgIE9SSUVOVEFUSU9OID0gIk5PUlRIX1VQIgogICAgUkVTQU1QTElOR19PUFRJT04gPSAiQ1VCSUNfQ09OVk9MVVRJT04iCiAgRU5EX0dST1VQID0gUFJPSkVDVElPTl9QQVJBTUVURVJTCkVORF9HUk9VUCA9IEwxX01FVEFEQVRBX0ZJTEUKRU5ECg==" } }, { - "ID": "054a54192c8ff0df", + "ID": "914cb60452456134", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/gcp-public-data-landsat/LC08/PRE/044/034/LC80440342016259LGN00/LC80440342016259LGN00_MTL.txt", + "URL": "https://www.googleapis.com/storage/v1/b/gcp-public-data-landsat/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=LC08%2FPRE%2F044%2F034%2FLC80440342016259LGN00%2F\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -14449,161 +17961,191 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" - ], - "Age": [ - "214" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "public, max-age=3600" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "7903" + "12632" ], "Content-Type": [ - "application/octet-stream" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:05:36 GMT" - ], - "Etag": [ - "\"7a5fd4743bd647485f88496fadb05c51\"" + "Thu, 02 May 2019 22:25:26 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 23:05:36 GMT" - ], - "Last-Modified": [ - "Tue, 04 Oct 2016 16:42:07 GMT" + "Thu, 02 May 2019 22:25:26 GMT" ], "Server": [ "UploadServer" ], - "X-Goog-Generation": [ - "1475599327662000" - ], - "X-Goog-Hash": [ - "crc32c=PWBt8g==", - "md5=el/UdDvWR0hfiElvrbBcUQ==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "7903" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UrKTHUj7SqorDHDqxXyoGYhAaWrtOF0cioZwcrXoK41IR1UVo9B7DZHVBfwJDlC9l7qKqULyTJ7k0nvQDLdFXkbK58gl5w2MNx-v9g58Dp5iMFYzOk" + "AEnB2UpLE4EijIrGqoHRLrCqmprZtxBU2JtHLLsZ-nIakblnuZX8s6FZA1SEaczyybdjB32loN1-gVCf83PFM4x06S24ATKp9-xRgQ9QNC9fwVH_ec4e9JQ" ] }, - "Body": "R1JPVVAgPSBMMV9NRVRBREFUQV9GSUxFCiAgR1JPVVAgPSBNRVRBREFUQV9GSUxFX0lORk8KICAgIE9SSUdJTiA9ICJJbWFnZSBjb3VydGVzeSBvZiB0aGUgVS5TLiBHZW9sb2dpY2FsIFN1cnZleSIKICAgIFJFUVVFU1RfSUQgPSAiMDcwMTYwOTE5MTA1MV8wMDAwNCIKICAgIExBTkRTQVRfU0NFTkVfSUQgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwIgogICAgRklMRV9EQVRFID0gMjAxNi0wOS0yMFQwMzoxMzowMloKICAgIFNUQVRJT05fSUQgPSAiTEdOIgogICAgUFJPQ0VTU0lOR19TT0ZUV0FSRV9WRVJTSU9OID0gIkxQR1NfMi42LjIiCiAgRU5EX0dST1VQID0gTUVUQURBVEFfRklMRV9JTkZPCiAgR1JPVVAgPSBQUk9EVUNUX01FVEFEQVRBCiAgICBEQVRBX1RZUEUgPSAiTDFUIgogICAgRUxFVkFUSU9OX1NPVVJDRSA9ICJHTFMyMDAwIgogICAgT1VUUFVUX0ZPUk1BVCA9ICJHRU9USUZGIgogICAgU1BBQ0VDUkFGVF9JRCA9ICJMQU5EU0FUXzgiCiAgICBTRU5TT1JfSUQgPSAiT0xJX1RJUlMiCiAgICBXUlNfUEFUSCA9IDQ0CiAgICBXUlNfUk9XID0gMzQKICAgIE5BRElSX09GRk5BRElSID0gIk5BRElSIgogICAgVEFSR0VUX1dSU19QQVRIID0gNDQKICAgIFRBUkdFVF9XUlNfUk9XID0gMzQKICAgIERBVEVfQUNRVUlSRUQgPSAyMDE2LTA5LTE1CiAgICBTQ0VORV9DRU5URVJfVElNRSA9ICIxODo0NjoxOC42ODY3MzgwWiIKICAgIENPUk5FUl9VTF9MQVRfUFJPRFVDVCA9IDM4LjUyODE5CiAgICBDT1JORVJfVUxfTE9OX1BST0RVQ1QgPSAtMTIzLjQwODQzCiAgICBDT1JORVJfVVJfTEFUX1BST0RVQ1QgPSAzOC41MDc2NQogICAgQ09STkVSX1VSX0xPTl9QUk9EVUNUID0gLTEyMC43NjkzMwogICAgQ09STkVSX0xMX0xBVF9QUk9EVUNUID0gMzYuNDE2MzMKICAgIENPUk5FUl9MTF9MT05fUFJPRFVDVCA9IC0xMjMuMzk3MDkKICAgIENPUk5FUl9MUl9MQVRfUFJPRFVDVCA9IDM2LjM5NzI5CiAgICBDT1JORVJfTFJfTE9OX1BST0RVQ1QgPSAtMTIwLjgzMTE3CiAgICBDT1JORVJfVUxfUFJPSkVDVElPTl9YX1BST0RVQ1QgPSA0NjQ0MDAuMDAwCiAgICBDT1JORVJfVUxfUFJPSkVDVElPTl9ZX1BST0RVQ1QgPSA0MjY0NTAwLjAwMAogICAgQ09STkVSX1VSX1BST0pFQ1RJT05fWF9QUk9EVUNUID0gNjk0NTAwLjAwMAogICAgQ09STkVSX1VSX1BST0pFQ1RJT05fWV9QUk9EVUNUID0gNDI2NDUwMC4wMDAKICAgIENPUk5FUl9MTF9QUk9KRUNUSU9OX1hfUFJPRFVDVCA9IDQ2NDQwMC4wMDAKICAgIENPUk5FUl9MTF9QUk9KRUNUSU9OX1lfUFJPRFVDVCA9IDQwMzAyMDAuMDAwCiAgICBDT1JORVJfTFJfUFJPSkVDVElPTl9YX1BST0RVQ1QgPSA2OTQ1MDAuMDAwCiAgICBDT1JORVJfTFJfUFJPSkVDVElPTl9ZX1BST0RVQ1QgPSA0MDMwMjAwLjAwMAogICAgUEFOQ0hST01BVElDX0xJTkVTID0gMTU2MjEKICAgIFBBTkNIUk9NQVRJQ19TQU1QTEVTID0gMTUzNDEKICAgIFJFRkxFQ1RJVkVfTElORVMgPSA3ODExCiAgICBSRUZMRUNUSVZFX1NBTVBMRVMgPSA3NjcxCiAgICBUSEVSTUFMX0xJTkVTID0gNzgxMQogICAgVEhFUk1BTF9TQU1QTEVTID0gNzY3MQogICAgRklMRV9OQU1FX0JBTkRfMSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjEuVElGIgogICAgRklMRV9OQU1FX0JBTkRfMiA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjIuVElGIgogICAgRklMRV9OQU1FX0JBTkRfMyA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjMuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNCA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjQuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjUuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNiA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjYuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNyA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjcuVElGIgogICAgRklMRV9OQU1FX0JBTkRfOCA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjguVElGIgogICAgRklMRV9OQU1FX0JBTkRfOSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjkuVElGIgogICAgRklMRV9OQU1FX0JBTkRfMTAgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxMC5USUYiCiAgICBGSUxFX05BTUVfQkFORF8xMSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjExLlRJRiIKICAgIEZJTEVfTkFNRV9CQU5EX1FVQUxJVFkgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0JRQS5USUYiCiAgICBNRVRBREFUQV9GSUxFX05BTUUgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX01UTC50eHQiCiAgICBCUEZfTkFNRV9PTEkgPSAiTE84QlBGMjAxNjA5MTUxODMwNTdfMjAxNjA5MTUyMDA5NTAuMDEiCiAgICBCUEZfTkFNRV9USVJTID0gIkxUOEJQRjIwMTYwOTAyMDg0MTIyXzIwMTYwOTE3MDc0MDI3LjAyIgogICAgQ1BGX05BTUUgPSAiTDhDUEYyMDE2MDcwMV8yMDE2MDkzMC4wMiIKICAgIFJMVVRfRklMRV9OQU1FID0gIkw4UkxVVDIwMTUwMzAzXzIwNDMxMjMxdjExLmg1IgogIEVORF9HUk9VUCA9IFBST0RVQ1RfTUVUQURBVEEKICBHUk9VUCA9IElNQUdFX0FUVFJJQlVURVMKICAgIENMT1VEX0NPVkVSID0gMjkuNTYKICAgIENMT1VEX0NPVkVSX0xBTkQgPSAzLjMzCiAgICBJTUFHRV9RVUFMSVRZX09MSSA9IDkKICAgIElNQUdFX1FVQUxJVFlfVElSUyA9IDkKICAgIFRJUlNfU1NNX01PREVMID0gIkZJTkFMIgogICAgVElSU19TU01fUE9TSVRJT05fU1RBVFVTID0gIkVTVElNQVRFRCIKICAgIFJPTExfQU5HTEUgPSAtMC4wMDEKICAgIFNVTl9BWklNVVRIID0gMTQ4LjQ4MDQ5Mzk2CiAgICBTVU5fRUxFVkFUSU9OID0gNTAuOTM3NjgzOTkKICAgIEVBUlRIX1NVTl9ESVNUQU5DRSA9IDEuMDA1Mzc1MgogICAgR1JPVU5EX0NPTlRST0xfUE9JTlRTX1ZFUlNJT04gPSA0CiAgICBHUk9VTkRfQ09OVFJPTF9QT0lOVFNfTU9ERUwgPSA1NDgKICAgIEdFT01FVFJJQ19STVNFX01PREVMID0gNS44NTcKICAgIEdFT01FVFJJQ19STVNFX01PREVMX1kgPSAzLjg0MQogICAgR0VPTUVUUklDX1JNU0VfTU9ERUxfWCA9IDQuNDIyCiAgICBHUk9VTkRfQ09OVFJPTF9QT0lOVFNfVkVSSUZZID0gMjI4CiAgICBHRU9NRVRSSUNfUk1TRV9WRVJJRlkgPSAzLjM4MgogIEVORF9HUk9VUCA9IElNQUdFX0FUVFJJQlVURVMKICBHUk9VUCA9IE1JTl9NQVhfUkFESUFOQ0UKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF8xID0gNzUxLjk1NzA5CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfMSA9IC02Mi4wOTY4NgogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzIgPSA3NzAuMDEzMTgKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF8yID0gLTYzLjU4Nzk0CiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfMyA9IDcwOS41NjA2MQogICAgUkFESUFOQ0VfTUlOSU1VTV9CQU5EXzMgPSAtNTguNTk1NzUKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF80ID0gNTk4LjM0MTQ5CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfNCA9IC00OS40MTEyMwogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzUgPSAzNjYuMTU1MTUKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF81ID0gLTMwLjIzNzIxCiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfNiA9IDkxLjA1OTQ2CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfNiA9IC03LjUxOTcyCiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfNyA9IDMwLjY5MTkxCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfNyA9IC0yLjUzNDU1CiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfOCA9IDY3Ny4xNTc4NAogICAgUkFESUFOQ0VfTUlOSU1VTV9CQU5EXzggPSAtNTUuOTE5OTIKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF85ID0gMTQzLjEwMTczCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfOSA9IC0xMS44MTczOQogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzEwID0gMjIuMDAxODAKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF8xMCA9IDAuMTAwMzMKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF8xMSA9IDIyLjAwMTgwCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfMTEgPSAwLjEwMDMzCiAgRU5EX0dST1VQID0gTUlOX01BWF9SQURJQU5DRQogIEdST1VQID0gTUlOX01BWF9SRUZMRUNUQU5DRQogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzEgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzEgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF8yID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF8yID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfMyA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfMyA9IC0wLjA5OTk4MAogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzQgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzQgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF81ID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF81ID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfNiA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfNiA9IC0wLjA5OTk4MAogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzcgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzcgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF84ID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF84ID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfOSA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfOSA9IC0wLjA5OTk4MAogIEVORF9HUk9VUCA9IE1JTl9NQVhfUkVGTEVDVEFOQ0UKICBHUk9VUCA9IE1JTl9NQVhfUElYRUxfVkFMVUUKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF8xID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF8xID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzIgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzIgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfMyA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfMyA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF80ID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF80ID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzUgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzUgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfNiA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfNiA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF83ID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF83ID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzggPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzggPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfOSA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfOSA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF8xMCA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfMTAgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfMTEgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzExID0gMQogIEVORF9HUk9VUCA9IE1JTl9NQVhfUElYRUxfVkFMVUUKICBHUk9VUCA9IFJBRElPTUVUUklDX1JFU0NBTElORwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzEgPSAxLjI0MjJFLTAyCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfMiA9IDEuMjcyMEUtMDIKICAgIFJBRElBTkNFX01VTFRfQkFORF8zID0gMS4xNzIxRS0wMgogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzQgPSA5Ljg4NDJFLTAzCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfNSA9IDYuMDQ4N0UtMDMKICAgIFJBRElBTkNFX01VTFRfQkFORF82ID0gMS41MDQyRS0wMwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzcgPSA1LjA3MDFFLTA0CiAgICBSQURJQU5DRV9NVUxUX0JBTkRfOCA9IDEuMTE4NkUtMDIKICAgIFJBRElBTkNFX01VTFRfQkFORF85ID0gMi4zNjQwRS0wMwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzEwID0gMy4zNDIwRS0wNAogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzExID0gMy4zNDIwRS0wNAogICAgUkFESUFOQ0VfQUREX0JBTkRfMSA9IC02Mi4xMDkyOAogICAgUkFESUFOQ0VfQUREX0JBTkRfMiA9IC02My42MDA2NgogICAgUkFESUFOQ0VfQUREX0JBTkRfMyA9IC01OC42MDc0NwogICAgUkFESUFOQ0VfQUREX0JBTkRfNCA9IC00OS40MjExMgogICAgUkFESUFOQ0VfQUREX0JBTkRfNSA9IC0zMC4yNDMyNgogICAgUkFESUFOQ0VfQUREX0JBTkRfNiA9IC03LjUyMTIyCiAgICBSQURJQU5DRV9BRERfQkFORF83ID0gLTIuNTM1MDUKICAgIFJBRElBTkNFX0FERF9CQU5EXzggPSAtNTUuOTMxMTAKICAgIFJBRElBTkNFX0FERF9CQU5EXzkgPSAtMTEuODE5NzUKICAgIFJBRElBTkNFX0FERF9CQU5EXzEwID0gMC4xMDAwMAogICAgUkFESUFOQ0VfQUREX0JBTkRfMTEgPSAwLjEwMDAwCiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfMSA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF8yID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzMgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfNCA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF81ID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzYgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfNyA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF84ID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzkgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF8xID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF8yID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF8zID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF80ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF81ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF82ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF83ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF84ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF85ID0gLTAuMTAwMDAwCiAgRU5EX0dST1VQID0gUkFESU9NRVRSSUNfUkVTQ0FMSU5HCiAgR1JPVVAgPSBUSVJTX1RIRVJNQUxfQ09OU1RBTlRTCiAgICBLMV9DT05TVEFOVF9CQU5EXzEwID0gNzc0Ljg4NTMKICAgIEsxX0NPTlNUQU5UX0JBTkRfMTEgPSA0ODAuODg4MwogICAgSzJfQ09OU1RBTlRfQkFORF8xMCA9IDEzMjEuMDc4OQogICAgSzJfQ09OU1RBTlRfQkFORF8xMSA9IDEyMDEuMTQ0MgogIEVORF9HUk9VUCA9IFRJUlNfVEhFUk1BTF9DT05TVEFOVFMKICBHUk9VUCA9IFBST0pFQ1RJT05fUEFSQU1FVEVSUwogICAgTUFQX1BST0pFQ1RJT04gPSAiVVRNIgogICAgREFUVU0gPSAiV0dTODQiCiAgICBFTExJUFNPSUQgPSAiV0dTODQiCiAgICBVVE1fWk9ORSA9IDEwCiAgICBHUklEX0NFTExfU0laRV9QQU5DSFJPTUFUSUMgPSAxNS4wMAogICAgR1JJRF9DRUxMX1NJWkVfUkVGTEVDVElWRSA9IDMwLjAwCiAgICBHUklEX0NFTExfU0laRV9USEVSTUFMID0gMzAuMDAKICAgIE9SSUVOVEFUSU9OID0gIk5PUlRIX1VQIgogICAgUkVTQU1QTElOR19PUFRJT04gPSAiQ1VCSUNfQ09OVk9MVVRJT04iCiAgRU5EX0dST1VQID0gUFJPSkVDVElPTl9QQVJBTUVURVJTCkVORF9HUk9VUCA9IEwxX01FVEFEQVRBX0ZJTEUKRU5ECg==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvTEMwOC9QUkUvMDQ0LzAzNC9MQzgwNDQwMzQyMDE2MjU5TEdOMDAvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxLlRJRi8xNDc1NTk5MTQ0NTc5MDAwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxLlRJRiIsIm5hbWUiOiJMQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjEuVElGIiwiYnVja2V0IjoiZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQiLCJnZW5lcmF0aW9uIjoiMTQ3NTU5OTE0NDU3OTAwMCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE2LTEwLTA0VDE2OjM5OjA0LjU0NVoiLCJ1cGRhdGVkIjoiMjAxNi0xMC0wNFQxNjozOTowNC41NDVaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTYtMTAtMDRUMTY6Mzk6MDQuNTQ1WiIsInNpemUiOiI3NDcyMTczNiIsIm1kNUhhc2giOiI4MzVMNkI1ZnJCMHpDQjZzMjJyMlN3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxLlRJRj9nZW5lcmF0aW9uPTE0NzU1OTkxNDQ1NzkwMDAmYWx0PW1lZGlhIiwiY3JjMzJjIjoiOTM0QnJnPT0iLCJldGFnIjoiQ0xqZjM1Ykx3YzhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdC9MQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjEwLlRJRi8xNDc1NTk5MzEwMDQyMDAwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxMC5USUYiLCJuYW1lIjoiTEMwOC9QUkUvMDQ0LzAzNC9MQzgwNDQwMzQyMDE2MjU5TEdOMDAvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxMC5USUYiLCJidWNrZXQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdCIsImdlbmVyYXRpb24iOiIxNDc1NTk5MzEwMDQyMDAwIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLCJ0aW1lQ3JlYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDE6NTAuMDAyWiIsInVwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQxOjUwLjAwMloiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MTo1MC4wMDJaIiwic2l6ZSI6IjU4NjgxMjI4IiwibWQ1SGFzaCI6IkJXNjIzeEhnMTVJaFYyNG1ickwrQXc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjEwLlRJRj9nZW5lcmF0aW9uPTE0NzU1OTkzMTAwNDIwMDAmYWx0PW1lZGlhIiwiY3JjMzJjIjoieHpWMmZnPT0iLCJldGFnIjoiQ0pEbjB1WEx3YzhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdC9MQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjExLlRJRi8xNDc1NTk5MzE5MTg4MDAwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxMS5USUYiLCJuYW1lIjoiTEMwOC9QUkUvMDQ0LzAzNC9MQzgwNDQwMzQyMDE2MjU5TEdOMDAvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxMS5USUYiLCJidWNrZXQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdCIsImdlbmVyYXRpb24iOiIxNDc1NTk5MzE5MTg4MDAwIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLCJ0aW1lQ3JlYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDE6NTkuMTQ5WiIsInVwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQxOjU5LjE0OVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MTo1OS4xNDlaIiwic2l6ZSI6IjU2Nzk2NDM5IiwibWQ1SGFzaCI6IkZPeGl5eEpYcUFmbFJUOGxGblNkT2c9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjExLlRJRj9nZW5lcmF0aW9uPTE0NzU1OTkzMTkxODgwMDAmYWx0PW1lZGlhIiwiY3JjMzJjIjoicC9IRlZ3PT0iLCJldGFnIjoiQ0tDRWdlckx3YzhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdC9MQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjIuVElGLzE0NzU1OTkxNjEyMjQwMDAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjIuVElGIiwibmFtZSI6IkxDMDgvUFJFLzA0NC8wMzQvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwL0xDODA0NDAzNDIwMTYyNTlMR04wMF9CMi5USUYiLCJidWNrZXQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdCIsImdlbmVyYXRpb24iOiIxNDc1NTk5MTYxMjI0MDAwIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLCJ0aW1lQ3JlYXRlZCI6IjIwMTYtMTAtMDRUMTY6Mzk6MjEuMTYwWiIsInVwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjM5OjIxLjE2MFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxNi0xMC0wNFQxNjozOToyMS4xNjBaIiwic2l6ZSI6Ijc3MTQ5NzcxIiwibWQ1SGFzaCI6Ik1QMjJ6ak9vMk5zMGlZNE1UUEpSd0E9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjIuVElGP2dlbmVyYXRpb249MTQ3NTU5OTE2MTIyNDAwMCZhbHQ9bWVkaWEiLCJjcmMzMmMiOiJySThZUmc9PSIsImV0YWciOiJDTURXMTU3THdjOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdjcC1wdWJsaWMtZGF0YS1sYW5kc2F0L0xDMDgvUFJFLzA0NC8wMzQvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwL0xDODA0NDAzNDIwMTYyNTlMR04wMF9CMy5USUYvMTQ3NTU5OTE3ODQzNTAwMCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2djcC1wdWJsaWMtZGF0YS1sYW5kc2F0L28vTEMwOCUyRlBSRSUyRjA0NCUyRjAzNCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMF9CMy5USUYiLCJuYW1lIjoiTEMwOC9QUkUvMDQ0LzAzNC9MQzgwNDQwMzQyMDE2MjU5TEdOMDAvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IzLlRJRiIsImJ1Y2tldCI6ImdjcC1wdWJsaWMtZGF0YS1sYW5kc2F0IiwiZ2VuZXJhdGlvbiI6IjE0NzU1OTkxNzg0MzUwMDAiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIsInRpbWVDcmVhdGVkIjoiMjAxNi0xMC0wNFQxNjozOTozOC4zNzZaIiwidXBkYXRlZCI6IjIwMTYtMTAtMDRUMTY6Mzk6MzguMzc2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjM5OjM4LjM3NloiLCJzaXplIjoiODAyOTM2ODciLCJtZDVIYXNoIjoidlFNaUdlRHVCZzZjcjNYc2ZJRWpvUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2djcC1wdWJsaWMtZGF0YS1sYW5kc2F0L28vTEMwOCUyRlBSRSUyRjA0NCUyRjAzNCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMF9CMy5USUY/Z2VuZXJhdGlvbj0xNDc1NTk5MTc4NDM1MDAwJmFsdD1tZWRpYSIsImNyYzMyYyI6InVaQnJuQT09IiwiZXRhZyI6IkNMaVQ4cWJMd2M4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvTEMwOC9QUkUvMDQ0LzAzNC9MQzgwNDQwMzQyMDE2MjU5TEdOMDAvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0I0LlRJRi8xNDc1NTk5MTk0MjY4MDAwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0I0LlRJRiIsIm5hbWUiOiJMQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjQuVElGIiwiYnVja2V0IjoiZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQiLCJnZW5lcmF0aW9uIjoiMTQ3NTU5OTE5NDI2ODAwMCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE2LTEwLTA0VDE2OjM5OjU0LjIxMVoiLCJ1cGRhdGVkIjoiMjAxNi0xMC0wNFQxNjozOTo1NC4yMTFaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTYtMTAtMDRUMTY6Mzk6NTQuMjExWiIsInNpemUiOiI4NDQ5NDM3NSIsIm1kNUhhc2giOiJGV2VWQTAxWk8wK21BK0VSRmN6dWhBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0I0LlRJRj9nZW5lcmF0aW9uPTE0NzU1OTkxOTQyNjgwMDAmYWx0PW1lZGlhIiwiY3JjMzJjIjoiV2VzNW9RPT0iLCJldGFnIjoiQ09EQ3VLN0x3YzhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdC9MQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjUuVElGLzE0NzU1OTkyMDI5NzkwMDAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjUuVElGIiwibmFtZSI6IkxDMDgvUFJFLzA0NC8wMzQvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwL0xDODA0NDAzNDIwMTYyNTlMR04wMF9CNS5USUYiLCJidWNrZXQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdCIsImdlbmVyYXRpb24iOiIxNDc1NTk5MjAyOTc5MDAwIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLCJ0aW1lQ3JlYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDA6MDIuOTM3WiIsInVwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQwOjAyLjkzN1oiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MDowMi45MzdaIiwic2l6ZSI6Ijg5MzE4NDY3IiwibWQ1SGFzaCI6InA0b3lLSEFHbzVLeTNLZzFUSzFaUXc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjUuVElGP2dlbmVyYXRpb249MTQ3NTU5OTIwMjk3OTAwMCZhbHQ9bWVkaWEiLCJjcmMzMmMiOiJwVFl1dXc9PSIsImV0YWciOiJDTGlaekxMTHdjOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdjcC1wdWJsaWMtZGF0YS1sYW5kc2F0L0xDMDgvUFJFLzA0NC8wMzQvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwL0xDODA0NDAzNDIwMTYyNTlMR04wMF9CNi5USUYvMTQ3NTU5OTIzMzQ4MTAwMCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2djcC1wdWJsaWMtZGF0YS1sYW5kc2F0L28vTEMwOCUyRlBSRSUyRjA0NCUyRjAzNCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMF9CNi5USUYiLCJuYW1lIjoiTEMwOC9QUkUvMDQ0LzAzNC9MQzgwNDQwMzQyMDE2MjU5TEdOMDAvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0I2LlRJRiIsImJ1Y2tldCI6ImdjcC1wdWJsaWMtZGF0YS1sYW5kc2F0IiwiZ2VuZXJhdGlvbiI6IjE0NzU1OTkyMzM0ODEwMDAiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIsInRpbWVDcmVhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MDozMy4zNDlaIiwidXBkYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDA6MzMuMzQ5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQwOjMzLjM0OVoiLCJzaXplIjoiODk0NjU3NjciLCJtZDVIYXNoIjoiMlo3MkdVT0t0bGd6VDlWUlNHWVhqQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2djcC1wdWJsaWMtZGF0YS1sYW5kc2F0L28vTEMwOCUyRlBSRSUyRjA0NCUyRjAzNCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMF9CNi5USUY/Z2VuZXJhdGlvbj0xNDc1NTk5MjMzNDgxMDAwJmFsdD1tZWRpYSIsImNyYzMyYyI6IklOWEhiUT09IiwiZXRhZyI6IkNLanlrY0hMd2M4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvTEMwOC9QUkUvMDQ0LzAzNC9MQzgwNDQwMzQyMDE2MjU5TEdOMDAvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0I3LlRJRi8xNDc1NTk5MjQxMDU1MDAwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0I3LlRJRiIsIm5hbWUiOiJMQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjcuVElGIiwiYnVja2V0IjoiZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQiLCJnZW5lcmF0aW9uIjoiMTQ3NTU5OTI0MTA1NTAwMCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQwOjQxLjAyMVoiLCJ1cGRhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MDo0MS4wMjFaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDA6NDEuMDIxWiIsInNpemUiOiI4NjQ2MjYxNCIsIm1kNUhhc2giOiI4Z1BOUTdRWm9GMkNOWlo5RW1ybG9nPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0I3LlRJRj9nZW5lcmF0aW9uPTE0NzU1OTkyNDEwNTUwMDAmYWx0PW1lZGlhIiwiY3JjMzJjIjoidXdDRCtBPT0iLCJldGFnIjoiQ0ppVzRNVEx3YzhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdC9MQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjguVElGLzE0NzU1OTkyODEzMzgwMDAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjguVElGIiwibmFtZSI6IkxDMDgvUFJFLzA0NC8wMzQvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwL0xDODA0NDAzNDIwMTYyNTlMR04wMF9COC5USUYiLCJidWNrZXQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdCIsImdlbmVyYXRpb24iOiIxNDc1NTk5MjgxMzM4MDAwIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLCJ0aW1lQ3JlYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDE6MjEuMzAwWiIsInVwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQxOjIxLjMwMFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MToyMS4zMDBaIiwic2l6ZSI6IjMxODg4Nzc3NCIsIm1kNUhhc2giOiJ5Nzk1THJVekJ3azJ0TDZQTTAxY0VBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0I4LlRJRj9nZW5lcmF0aW9uPTE0NzU1OTkyODEzMzgwMDAmYWx0PW1lZGlhIiwiY3JjMzJjIjoiWjMrWmhRPT0iLCJldGFnIjoiQ0pEdCt0Zkx3YzhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdC9MQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjkuVElGLzE0NzU1OTkyOTE0MjUwMDAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjkuVElGIiwibmFtZSI6IkxDMDgvUFJFLzA0NC8wMzQvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwL0xDODA0NDAzNDIwMTYyNTlMR04wMF9COS5USUYiLCJidWNrZXQiOiJnY3AtcHVibGljLWRhdGEtbGFuZHNhdCIsImdlbmVyYXRpb24iOiIxNDc1NTk5MjkxNDI1MDAwIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLCJ0aW1lQ3JlYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDE6MzEuMzYxWiIsInVwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQxOjMxLjM2MVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MTozMS4zNjFaIiwic2l6ZSI6IjQ0MzA4MjA1IiwibWQ1SGFzaCI6IjVCNDFFMkRCYlk1MnBZUFVHVmg5NWc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjkuVElGP2dlbmVyYXRpb249MTQ3NTU5OTI5MTQyNTAwMCZhbHQ9bWVkaWEiLCJjcmMzMmMiOiJhME9EUXc9PSIsImV0YWciOiJDT2pCNHR6THdjOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdjcC1wdWJsaWMtZGF0YS1sYW5kc2F0L0xDMDgvUFJFLzA0NC8wMzQvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwL0xDODA0NDAzNDIwMTYyNTlMR04wMF9CUUEuVElGLzE0NzU1OTkzMjcyMjIwMDAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQlFBLlRJRiIsIm5hbWUiOiJMQzA4L1BSRS8wNDQvMDM0L0xDODA0NDAzNDIwMTYyNTlMR04wMC9MQzgwNDQwMzQyMDE2MjU5TEdOMDBfQlFBLlRJRiIsImJ1Y2tldCI6ImdjcC1wdWJsaWMtZGF0YS1sYW5kc2F0IiwiZ2VuZXJhdGlvbiI6IjE0NzU1OTkzMjcyMjIwMDAiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIsInRpbWVDcmVhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MjowNy4xNTlaIiwidXBkYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDI6MDcuMTU5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQyOjA3LjE1OVoiLCJzaXplIjoiMzM1NDcxOSIsIm1kNUhhc2giOiJ6cWlndmw1RW52bWkvR0xjOHlINTFBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvby9MQzA4JTJGUFJFJTJGMDQ0JTJGMDM0JTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwJTJGTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0JRQS5USUY/Z2VuZXJhdGlvbj0xNDc1NTk5MzI3MjIyMDAwJmFsdD1tZWRpYSIsImNyYzMyYyI6IldPQmdLQT09IiwiZXRhZyI6IkNQQ3g2KzNMd2M4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQvTEMwOC9QUkUvMDQ0LzAzNC9MQzgwNDQwMzQyMDE2MjU5TEdOMDAvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX01UTC50eHQvMTQ3NTU5OTMyNzY2MjAwMCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2djcC1wdWJsaWMtZGF0YS1sYW5kc2F0L28vTEMwOCUyRlBSRSUyRjA0NCUyRjAzNCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMCUyRkxDODA0NDAzNDIwMTYyNTlMR04wMF9NVEwudHh0IiwibmFtZSI6IkxDMDgvUFJFLzA0NC8wMzQvTEM4MDQ0MDM0MjAxNjI1OUxHTjAwL0xDODA0NDAzNDIwMTYyNTlMR04wMF9NVEwudHh0IiwiYnVja2V0IjoiZ2NwLXB1YmxpYy1kYXRhLWxhbmRzYXQiLCJnZW5lcmF0aW9uIjoiMTQ3NTU5OTMyNzY2MjAwMCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE2LTEwLTA0VDE2OjQyOjA3LjYxOFoiLCJ1cGRhdGVkIjoiMjAxNi0xMC0wNFQxNjo0MjowNy42MThaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTYtMTAtMDRUMTY6NDI6MDcuNjE4WiIsInNpemUiOiI3OTAzIiwibWQ1SGFzaCI6ImVsL1VkRHZXUjBoZmlFbHZyYkJjVVE9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nY3AtcHVibGljLWRhdGEtbGFuZHNhdC9vL0xDMDglMkZQUkUlMkYwNDQlMkYwMzQlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDAlMkZMQzgwNDQwMzQyMDE2MjU5TEdOMDBfTVRMLnR4dD9nZW5lcmF0aW9uPTE0NzU1OTkzMjc2NjIwMDAmYWx0PW1lZGlhIiwiY3JjMzJjIjoiUFdCdDhnPT0iLCJldGFnIjoiQ0xDZmh1N0x3YzhDRUFFPSJ9XX0=" } }, { - "ID": "ef9c2eda5ce87652", + "ID": "3f3f45cd2b718e17", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/gcp-public-data-landsat/LC08/PRE/044/034/LC80440342016259LGN00/LC80440342016259LGN00_MTL.txt", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/noauth", "Header": { - "Range": [ - "bytes=1-" + "Accept-Encoding": [ + "gzip" ], "User-Agent": [ "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 206, + "StatusCode": 403, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" - ], - "Age": [ - "214" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "public, max-age=3600" + "private, max-age=0" ], "Content-Length": [ - "7902" - ], - "Content-Range": [ - "bytes 1-7902/7903" + "247" ], "Content-Type": [ - "application/octet-stream" + "application/xml; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:05:36 GMT" - ], - "Etag": [ - "\"7a5fd4743bd647485f88496fadb05c51\"" + "Thu, 02 May 2019 22:25:26 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 23:05:36 GMT" - ], - "Last-Modified": [ - "Tue, 04 Oct 2016 16:42:07 GMT" + "Thu, 02 May 2019 22:25:26 GMT" ], "Server": [ "UploadServer" ], - "X-Goog-Generation": [ - "1475599327662000" - ], - "X-Goog-Hash": [ - "crc32c=PWBt8g==", - "md5=el/UdDvWR0hfiElvrbBcUQ==" + "X-Guploader-Customer": [ + "cloud-storage" ], - "X-Goog-Metageneration": [ - "1" + "X-Guploader-Request-Result": [ + "agent_rejected" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Upload-Result": [ + "agent_rejected" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Uploadid": [ + "AEnB2UqsZlmkTyf2_fqITeaIiM8s2MLUvz5qFiP_rzA4Mf6Q9LMxsiQeP-GBRwHON_XvnG2qef3XL1EzgTLA_GxtLKZRjdzOBndJPf9XbJa9KjJCIPlducQ" + ] + }, + "Body": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48RXJyb3I+PENvZGU+QWNjZXNzRGVuaWVkPC9Db2RlPjxNZXNzYWdlPkFjY2VzcyBkZW5pZWQuPC9NZXNzYWdlPjxEZXRhaWxzPkFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuZ2V0IGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvbm9hdXRoLjwvRGV0YWlscz48L0Vycm9yPg==" + } + }, + { + "ID": "110cdd2daefc6162", + "Request": { + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Header": { + "Accept-Encoding": [ + "gzip" ], - "X-Goog-Stored-Content-Length": [ - "7903" + "User-Agent": [ + "google-api-go-client/0.5" + ] + }, + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoibm9hdXRoIn0K", + "Yg==" + ] + }, + "Response": { + "StatusCode": 401, + "Proto": "HTTP/1.1", + "ProtoMajor": 1, + "ProtoMinor": 1, + "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Content-Length": [ + "30405" + ], + "Content-Type": [ + "application/json; charset=UTF-8" + ], + "Date": [ + "Thu, 02 May 2019 22:25:26 GMT" + ], + "Server": [ + "UploadServer" + ], + "Vary": [ + "Origin", + "X-Origin" + ], + "Www-Authenticate": [ + "Bearer realm=\"https://accounts.google.com/\"" + ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" ], "X-Guploader-Uploadid": [ - "AEnB2UrKTHUj7SqorDHDqxXyoGYhAaWrtOF0cioZwcrXoK41IR1UVo9B7DZHVBfwJDlC9l7qKqULyTJ7k0nvQDLdFXkbK58gl5w2MNx-v9g58Dp5iMFYzOk" + "AEnB2UrGgfg36ZmqdKbc0NqBivwXULVnF2NuBAD31rJqzC5Rj9xgHFbRnwxJCbdxCuUdlAhGW_-H88mBadNGmqch0fmAyAd80HPANBkUmIgkolsL4HK7XAU" ] }, - "Body": "Uk9VUCA9IEwxX01FVEFEQVRBX0ZJTEUKICBHUk9VUCA9IE1FVEFEQVRBX0ZJTEVfSU5GTwogICAgT1JJR0lOID0gIkltYWdlIGNvdXJ0ZXN5IG9mIHRoZSBVLlMuIEdlb2xvZ2ljYWwgU3VydmV5IgogICAgUkVRVUVTVF9JRCA9ICIwNzAxNjA5MTkxMDUxXzAwMDA0IgogICAgTEFORFNBVF9TQ0VORV9JRCA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDAiCiAgICBGSUxFX0RBVEUgPSAyMDE2LTA5LTIwVDAzOjEzOjAyWgogICAgU1RBVElPTl9JRCA9ICJMR04iCiAgICBQUk9DRVNTSU5HX1NPRlRXQVJFX1ZFUlNJT04gPSAiTFBHU18yLjYuMiIKICBFTkRfR1JPVVAgPSBNRVRBREFUQV9GSUxFX0lORk8KICBHUk9VUCA9IFBST0RVQ1RfTUVUQURBVEEKICAgIERBVEFfVFlQRSA9ICJMMVQiCiAgICBFTEVWQVRJT05fU09VUkNFID0gIkdMUzIwMDAiCiAgICBPVVRQVVRfRk9STUFUID0gIkdFT1RJRkYiCiAgICBTUEFDRUNSQUZUX0lEID0gIkxBTkRTQVRfOCIKICAgIFNFTlNPUl9JRCA9ICJPTElfVElSUyIKICAgIFdSU19QQVRIID0gNDQKICAgIFdSU19ST1cgPSAzNAogICAgTkFESVJfT0ZGTkFESVIgPSAiTkFESVIiCiAgICBUQVJHRVRfV1JTX1BBVEggPSA0NAogICAgVEFSR0VUX1dSU19ST1cgPSAzNAogICAgREFURV9BQ1FVSVJFRCA9IDIwMTYtMDktMTUKICAgIFNDRU5FX0NFTlRFUl9USU1FID0gIjE4OjQ2OjE4LjY4NjczODBaIgogICAgQ09STkVSX1VMX0xBVF9QUk9EVUNUID0gMzguNTI4MTkKICAgIENPUk5FUl9VTF9MT05fUFJPRFVDVCA9IC0xMjMuNDA4NDMKICAgIENPUk5FUl9VUl9MQVRfUFJPRFVDVCA9IDM4LjUwNzY1CiAgICBDT1JORVJfVVJfTE9OX1BST0RVQ1QgPSAtMTIwLjc2OTMzCiAgICBDT1JORVJfTExfTEFUX1BST0RVQ1QgPSAzNi40MTYzMwogICAgQ09STkVSX0xMX0xPTl9QUk9EVUNUID0gLTEyMy4zOTcwOQogICAgQ09STkVSX0xSX0xBVF9QUk9EVUNUID0gMzYuMzk3MjkKICAgIENPUk5FUl9MUl9MT05fUFJPRFVDVCA9IC0xMjAuODMxMTcKICAgIENPUk5FUl9VTF9QUk9KRUNUSU9OX1hfUFJPRFVDVCA9IDQ2NDQwMC4wMDAKICAgIENPUk5FUl9VTF9QUk9KRUNUSU9OX1lfUFJPRFVDVCA9IDQyNjQ1MDAuMDAwCiAgICBDT1JORVJfVVJfUFJPSkVDVElPTl9YX1BST0RVQ1QgPSA2OTQ1MDAuMDAwCiAgICBDT1JORVJfVVJfUFJPSkVDVElPTl9ZX1BST0RVQ1QgPSA0MjY0NTAwLjAwMAogICAgQ09STkVSX0xMX1BST0pFQ1RJT05fWF9QUk9EVUNUID0gNDY0NDAwLjAwMAogICAgQ09STkVSX0xMX1BST0pFQ1RJT05fWV9QUk9EVUNUID0gNDAzMDIwMC4wMDAKICAgIENPUk5FUl9MUl9QUk9KRUNUSU9OX1hfUFJPRFVDVCA9IDY5NDUwMC4wMDAKICAgIENPUk5FUl9MUl9QUk9KRUNUSU9OX1lfUFJPRFVDVCA9IDQwMzAyMDAuMDAwCiAgICBQQU5DSFJPTUFUSUNfTElORVMgPSAxNTYyMQogICAgUEFOQ0hST01BVElDX1NBTVBMRVMgPSAxNTM0MQogICAgUkVGTEVDVElWRV9MSU5FUyA9IDc4MTEKICAgIFJFRkxFQ1RJVkVfU0FNUExFUyA9IDc2NzEKICAgIFRIRVJNQUxfTElORVMgPSA3ODExCiAgICBUSEVSTUFMX1NBTVBMRVMgPSA3NjcxCiAgICBGSUxFX05BTUVfQkFORF8xID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9CMS5USUYiCiAgICBGSUxFX05BTUVfQkFORF8yID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9CMi5USUYiCiAgICBGSUxFX05BTUVfQkFORF8zID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9CMy5USUYiCiAgICBGSUxFX05BTUVfQkFORF80ID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9CNC5USUYiCiAgICBGSUxFX05BTUVfQkFORF81ID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9CNS5USUYiCiAgICBGSUxFX05BTUVfQkFORF82ID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9CNi5USUYiCiAgICBGSUxFX05BTUVfQkFORF83ID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9CNy5USUYiCiAgICBGSUxFX05BTUVfQkFORF84ID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9COC5USUYiCiAgICBGSUxFX05BTUVfQkFORF85ID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9COS5USUYiCiAgICBGSUxFX05BTUVfQkFORF8xMCA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjEwLlRJRiIKICAgIEZJTEVfTkFNRV9CQU5EXzExID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9CMTEuVElGIgogICAgRklMRV9OQU1FX0JBTkRfUVVBTElUWSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQlFBLlRJRiIKICAgIE1FVEFEQVRBX0ZJTEVfTkFNRSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfTVRMLnR4dCIKICAgIEJQRl9OQU1FX09MSSA9ICJMTzhCUEYyMDE2MDkxNTE4MzA1N18yMDE2MDkxNTIwMDk1MC4wMSIKICAgIEJQRl9OQU1FX1RJUlMgPSAiTFQ4QlBGMjAxNjA5MDIwODQxMjJfMjAxNjA5MTcwNzQwMjcuMDIiCiAgICBDUEZfTkFNRSA9ICJMOENQRjIwMTYwNzAxXzIwMTYwOTMwLjAyIgogICAgUkxVVF9GSUxFX05BTUUgPSAiTDhSTFVUMjAxNTAzMDNfMjA0MzEyMzF2MTEuaDUiCiAgRU5EX0dST1VQID0gUFJPRFVDVF9NRVRBREFUQQogIEdST1VQID0gSU1BR0VfQVRUUklCVVRFUwogICAgQ0xPVURfQ09WRVIgPSAyOS41NgogICAgQ0xPVURfQ09WRVJfTEFORCA9IDMuMzMKICAgIElNQUdFX1FVQUxJVFlfT0xJID0gOQogICAgSU1BR0VfUVVBTElUWV9USVJTID0gOQogICAgVElSU19TU01fTU9ERUwgPSAiRklOQUwiCiAgICBUSVJTX1NTTV9QT1NJVElPTl9TVEFUVVMgPSAiRVNUSU1BVEVEIgogICAgUk9MTF9BTkdMRSA9IC0wLjAwMQogICAgU1VOX0FaSU1VVEggPSAxNDguNDgwNDkzOTYKICAgIFNVTl9FTEVWQVRJT04gPSA1MC45Mzc2ODM5OQogICAgRUFSVEhfU1VOX0RJU1RBTkNFID0gMS4wMDUzNzUyCiAgICBHUk9VTkRfQ09OVFJPTF9QT0lOVFNfVkVSU0lPTiA9IDQKICAgIEdST1VORF9DT05UUk9MX1BPSU5UU19NT0RFTCA9IDU0OAogICAgR0VPTUVUUklDX1JNU0VfTU9ERUwgPSA1Ljg1NwogICAgR0VPTUVUUklDX1JNU0VfTU9ERUxfWSA9IDMuODQxCiAgICBHRU9NRVRSSUNfUk1TRV9NT0RFTF9YID0gNC40MjIKICAgIEdST1VORF9DT05UUk9MX1BPSU5UU19WRVJJRlkgPSAyMjgKICAgIEdFT01FVFJJQ19STVNFX1ZFUklGWSA9IDMuMzgyCiAgRU5EX0dST1VQID0gSU1BR0VfQVRUUklCVVRFUwogIEdST1VQID0gTUlOX01BWF9SQURJQU5DRQogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzEgPSA3NTEuOTU3MDkKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF8xID0gLTYyLjA5Njg2CiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfMiA9IDc3MC4wMTMxOAogICAgUkFESUFOQ0VfTUlOSU1VTV9CQU5EXzIgPSAtNjMuNTg3OTQKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF8zID0gNzA5LjU2MDYxCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfMyA9IC01OC41OTU3NQogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzQgPSA1OTguMzQxNDkKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF80ID0gLTQ5LjQxMTIzCiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfNSA9IDM2Ni4xNTUxNQogICAgUkFESUFOQ0VfTUlOSU1VTV9CQU5EXzUgPSAtMzAuMjM3MjEKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF82ID0gOTEuMDU5NDYKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF82ID0gLTcuNTE5NzIKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF83ID0gMzAuNjkxOTEKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF83ID0gLTIuNTM0NTUKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF84ID0gNjc3LjE1Nzg0CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfOCA9IC01NS45MTk5MgogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzkgPSAxNDMuMTAxNzMKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF85ID0gLTExLjgxNzM5CiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfMTAgPSAyMi4wMDE4MAogICAgUkFESUFOQ0VfTUlOSU1VTV9CQU5EXzEwID0gMC4xMDAzMwogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzExID0gMjIuMDAxODAKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF8xMSA9IDAuMTAwMzMKICBFTkRfR1JPVVAgPSBNSU5fTUFYX1JBRElBTkNFCiAgR1JPVVAgPSBNSU5fTUFYX1JFRkxFQ1RBTkNFCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfMSA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfMSA9IC0wLjA5OTk4MAogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzIgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzIgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF8zID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF8zID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfNCA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfNCA9IC0wLjA5OTk4MAogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzUgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzUgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF82ID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF82ID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfNyA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfNyA9IC0wLjA5OTk4MAogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzggPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzggPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF85ID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF85ID0gLTAuMDk5OTgwCiAgRU5EX0dST1VQID0gTUlOX01BWF9SRUZMRUNUQU5DRQogIEdST1VQID0gTUlOX01BWF9QSVhFTF9WQUxVRQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzEgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzEgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfMiA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfMiA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF8zID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF8zID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzQgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzQgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfNSA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfNSA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF82ID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF82ID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzcgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzcgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfOCA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfOCA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF85ID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF85ID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzEwID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF8xMCA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF8xMSA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfMTEgPSAxCiAgRU5EX0dST1VQID0gTUlOX01BWF9QSVhFTF9WQUxVRQogIEdST1VQID0gUkFESU9NRVRSSUNfUkVTQ0FMSU5HCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfMSA9IDEuMjQyMkUtMDIKICAgIFJBRElBTkNFX01VTFRfQkFORF8yID0gMS4yNzIwRS0wMgogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzMgPSAxLjE3MjFFLTAyCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfNCA9IDkuODg0MkUtMDMKICAgIFJBRElBTkNFX01VTFRfQkFORF81ID0gNi4wNDg3RS0wMwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzYgPSAxLjUwNDJFLTAzCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfNyA9IDUuMDcwMUUtMDQKICAgIFJBRElBTkNFX01VTFRfQkFORF84ID0gMS4xMTg2RS0wMgogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzkgPSAyLjM2NDBFLTAzCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfMTAgPSAzLjM0MjBFLTA0CiAgICBSQURJQU5DRV9NVUxUX0JBTkRfMTEgPSAzLjM0MjBFLTA0CiAgICBSQURJQU5DRV9BRERfQkFORF8xID0gLTYyLjEwOTI4CiAgICBSQURJQU5DRV9BRERfQkFORF8yID0gLTYzLjYwMDY2CiAgICBSQURJQU5DRV9BRERfQkFORF8zID0gLTU4LjYwNzQ3CiAgICBSQURJQU5DRV9BRERfQkFORF80ID0gLTQ5LjQyMTEyCiAgICBSQURJQU5DRV9BRERfQkFORF81ID0gLTMwLjI0MzI2CiAgICBSQURJQU5DRV9BRERfQkFORF82ID0gLTcuNTIxMjIKICAgIFJBRElBTkNFX0FERF9CQU5EXzcgPSAtMi41MzUwNQogICAgUkFESUFOQ0VfQUREX0JBTkRfOCA9IC01NS45MzExMAogICAgUkFESUFOQ0VfQUREX0JBTkRfOSA9IC0xMS44MTk3NQogICAgUkFESUFOQ0VfQUREX0JBTkRfMTAgPSAwLjEwMDAwCiAgICBSQURJQU5DRV9BRERfQkFORF8xMSA9IDAuMTAwMDAKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF8xID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzIgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfMyA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF80ID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzUgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfNiA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF83ID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzggPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfOSA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzEgPSAtMC4xMDAwMDAKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzIgPSAtMC4xMDAwMDAKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzMgPSAtMC4xMDAwMDAKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzQgPSAtMC4xMDAwMDAKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzUgPSAtMC4xMDAwMDAKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzYgPSAtMC4xMDAwMDAKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzcgPSAtMC4xMDAwMDAKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzggPSAtMC4xMDAwMDAKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzkgPSAtMC4xMDAwMDAKICBFTkRfR1JPVVAgPSBSQURJT01FVFJJQ19SRVNDQUxJTkcKICBHUk9VUCA9IFRJUlNfVEhFUk1BTF9DT05TVEFOVFMKICAgIEsxX0NPTlNUQU5UX0JBTkRfMTAgPSA3NzQuODg1MwogICAgSzFfQ09OU1RBTlRfQkFORF8xMSA9IDQ4MC44ODgzCiAgICBLMl9DT05TVEFOVF9CQU5EXzEwID0gMTMyMS4wNzg5CiAgICBLMl9DT05TVEFOVF9CQU5EXzExID0gMTIwMS4xNDQyCiAgRU5EX0dST1VQID0gVElSU19USEVSTUFMX0NPTlNUQU5UUwogIEdST1VQID0gUFJPSkVDVElPTl9QQVJBTUVURVJTCiAgICBNQVBfUFJPSkVDVElPTiA9ICJVVE0iCiAgICBEQVRVTSA9ICJXR1M4NCIKICAgIEVMTElQU09JRCA9ICJXR1M4NCIKICAgIFVUTV9aT05FID0gMTAKICAgIEdSSURfQ0VMTF9TSVpFX1BBTkNIUk9NQVRJQyA9IDE1LjAwCiAgICBHUklEX0NFTExfU0laRV9SRUZMRUNUSVZFID0gMzAuMDAKICAgIEdSSURfQ0VMTF9TSVpFX1RIRVJNQUwgPSAzMC4wMAogICAgT1JJRU5UQVRJT04gPSAiTk9SVEhfVVAiCiAgICBSRVNBTVBMSU5HX09QVElPTiA9ICJDVUJJQ19DT05WT0xVVElPTiIKICBFTkRfR1JPVVAgPSBQUk9KRUNUSU9OX1BBUkFNRVRFUlMKRU5EX0dST1VQID0gTDFfTUVUQURBVEFfRklMRQpFTkQK" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6InJlcXVpcmVkIiwibWVzc2FnZSI6IkFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvbm9hdXRoLiIsImxvY2F0aW9uVHlwZSI6ImhlYWRlciIsImxvY2F0aW9uIjoiQXV0aG9yaXphdGlvbiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0NFU1NfREVOSUVEOiBBbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL25vYXV0aC5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjQ0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmluc2VydChPYmplY3RzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvbm9hdXRoLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cbmNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1MT0dJTl9SRVFVSVJFRCwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9Y29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPUxPR0lOX1JFUVVJUkVELCBjYXRlZ29yeT1VU0VSX0VSUk9SLCBjYXVzZT1udWxsLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OkFDQ0VTU19ERU5JRUQ6IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvbm9hdXRoLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkluc2VydE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0T2JqZWN0LmphdmE6NDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuaW5zZXJ0KE9iamVjdHNEZWxlZ2F0b3IuamF2YTo5NSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQW5vbnltb3VzIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5jcmVhdGUgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9ub2F1dGguXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPXVuYXV0aG9yaXplZCwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uUkVRVUlSRUQsIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0NFU1NfREVOSUVEOiBBbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL25vYXV0aC5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjQ0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmluc2VydChPYmplY3RzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvbm9hdXRoLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPVJFUVVJUkVELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPWVudGl0eS5hdXRoZW50aWNhdGVkX3VzZXIsIG1lc3NhZ2U9QW5vbnltb3VzIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5jcmVhdGUgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9ub2F1dGguLCB1bm5hbWVkQXJndW1lbnRzPVtdfSwgbG9jYXRpb249aGVhZGVycy5BdXRob3JpemF0aW9uLCBtZXNzYWdlPUFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvbm9hdXRoLiwgcmVhc29uPXJlcXVpcmVkLCBycGNDb2RlPTQwMX0gQW5vbnltb3VzIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5jcmVhdGUgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9ub2F1dGguOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNDRVNTX0RFTklFRDogQW5vbnltb3VzIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5jcmVhdGUgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9ub2F1dGguXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkluc2VydE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0T2JqZWN0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YTo0NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5pbnNlcnQoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBBbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL25vYXV0aC5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBkZWJ1Z0luZm89Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OkFDQ0VTU19ERU5JRUQ6IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvbm9hdXRoLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkluc2VydE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0T2JqZWN0LmphdmE6NDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuaW5zZXJ0KE9iamVjdHNEZWxlZ2F0b3IuamF2YTo5NSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQW5vbnltb3VzIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5jcmVhdGUgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9ub2F1dGguXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXtXV1ctQXV0aGVudGljYXRlPVtCZWFyZXIgcmVhbG09XCJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vXCJdfSwgaHR0cFN0YXR1cz11bmF1dGhvcml6ZWQsIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLlJFUVVJUkVELCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNDRVNTX0RFTklFRDogQW5vbnltb3VzIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5jcmVhdGUgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9ub2F1dGguXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkluc2VydE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0T2JqZWN0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YTo0NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5pbnNlcnQoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBBbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL25vYXV0aC5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBlcnJvclByb3RvQ29kZT1SRVFVSVJFRCwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1lbnRpdHkuYXV0aGVudGljYXRlZF91c2VyLCBtZXNzYWdlPUFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvbm9hdXRoLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPWhlYWRlcnMuQXV0aG9yaXphdGlvbiwgbWVzc2FnZT1Bbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL25vYXV0aC4sIHJlYXNvbj1yZXF1aXJlZCwgcnBjQ29kZT00MDF9IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvbm9hdXRoLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OkFDQ0VTU19ERU5JRUQ6IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvbm9hdXRoLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkluc2VydE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0T2JqZWN0LmphdmE6NDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuaW5zZXJ0KE9iamVjdHNEZWxlZ2F0b3IuamF2YTo5NSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQW5vbnltb3VzIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5jcmVhdGUgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9ub2F1dGguXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuYXV0aC5BdXRoZW50aWNhdG9ySW50ZXJjZXB0b3IuYWRkQ2hhbGxlbmdlSGVhZGVyKEF1dGhlbnRpY2F0b3JJbnRlcmNlcHRvci5qYXZhOjI2OSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmF1dGguQXV0aGVudGljYXRvckludGVyY2VwdG9yLnByb2Nlc3NFcnJvclJlc3BvbnNlKEF1dGhlbnRpY2F0b3JJbnRlcmNlcHRvci5qYXZhOjIzNilcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmF1dGguR2FpYU1pbnRJbnRlcmNlcHRvci5wcm9jZXNzRXJyb3JSZXNwb25zZShHYWlhTWludEludGVyY2VwdG9yLmphdmE6NzY4KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5pbnRlcmNlcHQuQXJvdW5kSW50ZXJjZXB0b3JXcmFwcGVyLnByb2Nlc3NFcnJvclJlc3BvbnNlKEFyb3VuZEludGVyY2VwdG9yV3JhcHBlci5qYXZhOjI4KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuc3RhdHMuU3RhdHNCb290c3RyYXAkSW50ZXJjZXB0b3JTdGF0c1JlY29yZGVyLnByb2Nlc3NFcnJvclJlc3BvbnNlKFN0YXRzQm9vdHN0cmFwLmphdmE6MzE1KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5pbnRlcmNlcHQuSW50ZXJjZXB0aW9ucyRBcm91bmRJbnRlcmNlcHRpb24uaGFuZGxlRXJyb3JSZXNwb25zZShJbnRlcmNlcHRpb25zLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5pbnRlcmNlcHQuSW50ZXJjZXB0aW9ucyRBcm91bmRJbnRlcmNlcHRpb24uYWNjZXNzJDIwMChJbnRlcmNlcHRpb25zLmphdmE6MTAzKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5pbnRlcmNlcHQuSW50ZXJjZXB0aW9ucyRBcm91bmRJbnRlcmNlcHRpb24kMS5jYWxsKEludGVyY2VwdGlvbnMuamF2YToxNDQpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLmludGVyY2VwdC5JbnRlcmNlcHRpb25zJEFyb3VuZEludGVyY2VwdGlvbiQxLmNhbGwoSW50ZXJjZXB0aW9ucy5qYXZhOjEzNylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldEV4Y2VwdGlvbihBYnN0cmFjdEZ1dHVyZS5qYXZhOjc1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2OClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnRocmVhZC5UaHJlYWRUcmFja2VycyRUaHJlYWRUcmFja2luZ1J1bm5hYmxlLnJ1bihUaHJlYWRUcmFja2Vycy5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6NDUzKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuc2VydmVyLkNvbW1vbk1vZHVsZSRDb250ZXh0Q2FycnlpbmdFeGVjdXRvclNlcnZpY2UkMS5ydW5JbkNvbnRleHQoQ29tbW9uTW9kdWxlLmphdmE6ODAyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlJDEucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ2MClcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihUcmFjZUNvbnRleHQuamF2YTozMTkpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6MzExKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NTcpXG5cdGF0IGNvbS5nb29nbGUuZ3NlLmludGVybmFsLkRpc3BhdGNoUXVldWVJbXBsJFdvcmtlclRocmVhZC5ydW4oRGlzcGF0Y2hRdWV1ZUltcGwuamF2YTo0MDMpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1MT0dJTl9SRVFVSVJFRCwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0NFU1NfREVOSUVEOiBBbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL25vYXV0aC5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjQ0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmluc2VydChPYmplY3RzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvbm9hdXRoLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz11bmF1dGhvcml6ZWQsIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLlJFUVVJUkVELCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNDRVNTX0RFTklFRDogQW5vbnltb3VzIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5jcmVhdGUgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9ub2F1dGguXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkluc2VydE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0T2JqZWN0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuSW5zZXJ0T2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRPYmplY3QuamF2YTo0NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uT2JqZWN0c0RlbGVnYXRvci5pbnNlcnQoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBBbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL25vYXV0aC5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBlcnJvclByb3RvQ29kZT1SRVFVSVJFRCwgZXJyb3JQcm90b0RvbWFpbj1nZGF0YS5Db3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1lbnRpdHkuYXV0aGVudGljYXRlZF91c2VyLCBtZXNzYWdlPUFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvbm9hdXRoLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPWhlYWRlcnMuQXV0aG9yaXphdGlvbiwgbWVzc2FnZT1Bbm9ueW1vdXMgY2FsbGVyIGRvZXMgbm90IGhhdmUgc3RvcmFnZS5vYmplY3RzLmNyZWF0ZSBhY2Nlc3MgdG8gZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL25vYXV0aC4sIHJlYXNvbj1yZXF1aXJlZCwgcnBjQ29kZT00MDF9IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvbm9hdXRoLjogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OkFDQ0VTU19ERU5JRUQ6IEFub255bW91cyBjYWxsZXIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlLm9iamVjdHMuY3JlYXRlIGFjY2VzcyB0byBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvbm9hdXRoLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5JbnNlcnRPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydE9iamVjdC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkluc2VydE9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0T2JqZWN0LmphdmE6NDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuaW5zZXJ0KE9iamVjdHNEZWxlZ2F0b3IuamF2YTo5NSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQW5vbnltb3VzIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5jcmVhdGUgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9ub2F1dGguXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5FcnJvckNvbGxlY3Rvci50b0ZhdWx0KEVycm9yQ29sbGVjdG9yLmphdmE6NTQpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5RXJyb3JDb252ZXJ0ZXIudG9GYXVsdChSb3N5RXJyb3JDb252ZXJ0ZXIuamF2YTo2Nylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjI1OSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjIzOSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0Li4uIDIwIG1vcmVcbiJ9XSwiY29kZSI6NDAxLCJtZXNzYWdlIjoiQW5vbnltb3VzIGNhbGxlciBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Uub2JqZWN0cy5jcmVhdGUgYWNjZXNzIHRvIGdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9ub2F1dGguIn19" } }, { - "ID": "580da498b508635e", + "ID": "848c7013eb1665b1", "Request": { "Method": "GET", "URL": "https://storage.googleapis.com/gcp-public-data-landsat/LC08/PRE/044/034/LC80440342016259LGN00/LC80440342016259LGN00_MTL.txt", "Header": { - "Range": [ - "bytes=0-17" + "Accept-Encoding": [ + "gzip" ], "User-Agent": [ "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 206, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, @@ -14611,29 +18153,26 @@ "Accept-Ranges": [ "bytes" ], - "Age": [ - "214" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ "public, max-age=3600" ], "Content-Length": [ - "18" - ], - "Content-Range": [ - "bytes 0-17/7903" + "7903" ], "Content-Type": [ "application/octet-stream" ], "Date": [ - "Wed, 09 Jan 2019 22:05:36 GMT" + "Thu, 02 May 2019 22:25:27 GMT" ], "Etag": [ "\"7a5fd4743bd647485f88496fadb05c51\"" ], "Expires": [ - "Wed, 09 Jan 2019 23:05:36 GMT" + "Thu, 02 May 2019 23:25:27 GMT" ], "Last-Modified": [ "Tue, 04 Oct 2016 16:42:07 GMT" @@ -14660,18 +18199,27 @@ "X-Goog-Stored-Content-Length": [ "7903" ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrKTHUj7SqorDHDqxXyoGYhAaWrtOF0cioZwcrXoK41IR1UVo9B7DZHVBfwJDlC9l7qKqULyTJ7k0nvQDLdFXkbK58gl5w2MNx-v9g58Dp5iMFYzOk" + "AEnB2Uqbrgn51bDFbwZ1c2_BxCHhog7If9w6ooKAtb2YCerQcObpiFJZqT3-Jn7zTXEEPVuysmxKw4PmvEOmkbCAJVkmbEVZm6z877JKFhrXTrkWqWYooq8" ] }, - "Body": "R1JPVVAgPSBMMV9NRVRBREFU" + "Body": "R1JPVVAgPSBMMV9NRVRBREFUQV9GSUxFCiAgR1JPVVAgPSBNRVRBREFUQV9GSUxFX0lORk8KICAgIE9SSUdJTiA9ICJJbWFnZSBjb3VydGVzeSBvZiB0aGUgVS5TLiBHZW9sb2dpY2FsIFN1cnZleSIKICAgIFJFUVVFU1RfSUQgPSAiMDcwMTYwOTE5MTA1MV8wMDAwNCIKICAgIExBTkRTQVRfU0NFTkVfSUQgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwIgogICAgRklMRV9EQVRFID0gMjAxNi0wOS0yMFQwMzoxMzowMloKICAgIFNUQVRJT05fSUQgPSAiTEdOIgogICAgUFJPQ0VTU0lOR19TT0ZUV0FSRV9WRVJTSU9OID0gIkxQR1NfMi42LjIiCiAgRU5EX0dST1VQID0gTUVUQURBVEFfRklMRV9JTkZPCiAgR1JPVVAgPSBQUk9EVUNUX01FVEFEQVRBCiAgICBEQVRBX1RZUEUgPSAiTDFUIgogICAgRUxFVkFUSU9OX1NPVVJDRSA9ICJHTFMyMDAwIgogICAgT1VUUFVUX0ZPUk1BVCA9ICJHRU9USUZGIgogICAgU1BBQ0VDUkFGVF9JRCA9ICJMQU5EU0FUXzgiCiAgICBTRU5TT1JfSUQgPSAiT0xJX1RJUlMiCiAgICBXUlNfUEFUSCA9IDQ0CiAgICBXUlNfUk9XID0gMzQKICAgIE5BRElSX09GRk5BRElSID0gIk5BRElSIgogICAgVEFSR0VUX1dSU19QQVRIID0gNDQKICAgIFRBUkdFVF9XUlNfUk9XID0gMzQKICAgIERBVEVfQUNRVUlSRUQgPSAyMDE2LTA5LTE1CiAgICBTQ0VORV9DRU5URVJfVElNRSA9ICIxODo0NjoxOC42ODY3MzgwWiIKICAgIENPUk5FUl9VTF9MQVRfUFJPRFVDVCA9IDM4LjUyODE5CiAgICBDT1JORVJfVUxfTE9OX1BST0RVQ1QgPSAtMTIzLjQwODQzCiAgICBDT1JORVJfVVJfTEFUX1BST0RVQ1QgPSAzOC41MDc2NQogICAgQ09STkVSX1VSX0xPTl9QUk9EVUNUID0gLTEyMC43NjkzMwogICAgQ09STkVSX0xMX0xBVF9QUk9EVUNUID0gMzYuNDE2MzMKICAgIENPUk5FUl9MTF9MT05fUFJPRFVDVCA9IC0xMjMuMzk3MDkKICAgIENPUk5FUl9MUl9MQVRfUFJPRFVDVCA9IDM2LjM5NzI5CiAgICBDT1JORVJfTFJfTE9OX1BST0RVQ1QgPSAtMTIwLjgzMTE3CiAgICBDT1JORVJfVUxfUFJPSkVDVElPTl9YX1BST0RVQ1QgPSA0NjQ0MDAuMDAwCiAgICBDT1JORVJfVUxfUFJPSkVDVElPTl9ZX1BST0RVQ1QgPSA0MjY0NTAwLjAwMAogICAgQ09STkVSX1VSX1BST0pFQ1RJT05fWF9QUk9EVUNUID0gNjk0NTAwLjAwMAogICAgQ09STkVSX1VSX1BST0pFQ1RJT05fWV9QUk9EVUNUID0gNDI2NDUwMC4wMDAKICAgIENPUk5FUl9MTF9QUk9KRUNUSU9OX1hfUFJPRFVDVCA9IDQ2NDQwMC4wMDAKICAgIENPUk5FUl9MTF9QUk9KRUNUSU9OX1lfUFJPRFVDVCA9IDQwMzAyMDAuMDAwCiAgICBDT1JORVJfTFJfUFJPSkVDVElPTl9YX1BST0RVQ1QgPSA2OTQ1MDAuMDAwCiAgICBDT1JORVJfTFJfUFJPSkVDVElPTl9ZX1BST0RVQ1QgPSA0MDMwMjAwLjAwMAogICAgUEFOQ0hST01BVElDX0xJTkVTID0gMTU2MjEKICAgIFBBTkNIUk9NQVRJQ19TQU1QTEVTID0gMTUzNDEKICAgIFJFRkxFQ1RJVkVfTElORVMgPSA3ODExCiAgICBSRUZMRUNUSVZFX1NBTVBMRVMgPSA3NjcxCiAgICBUSEVSTUFMX0xJTkVTID0gNzgxMQogICAgVEhFUk1BTF9TQU1QTEVTID0gNzY3MQogICAgRklMRV9OQU1FX0JBTkRfMSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjEuVElGIgogICAgRklMRV9OQU1FX0JBTkRfMiA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjIuVElGIgogICAgRklMRV9OQU1FX0JBTkRfMyA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjMuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNCA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjQuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjUuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNiA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjYuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNyA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjcuVElGIgogICAgRklMRV9OQU1FX0JBTkRfOCA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjguVElGIgogICAgRklMRV9OQU1FX0JBTkRfOSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjkuVElGIgogICAgRklMRV9OQU1FX0JBTkRfMTAgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxMC5USUYiCiAgICBGSUxFX05BTUVfQkFORF8xMSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjExLlRJRiIKICAgIEZJTEVfTkFNRV9CQU5EX1FVQUxJVFkgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0JRQS5USUYiCiAgICBNRVRBREFUQV9GSUxFX05BTUUgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX01UTC50eHQiCiAgICBCUEZfTkFNRV9PTEkgPSAiTE84QlBGMjAxNjA5MTUxODMwNTdfMjAxNjA5MTUyMDA5NTAuMDEiCiAgICBCUEZfTkFNRV9USVJTID0gIkxUOEJQRjIwMTYwOTAyMDg0MTIyXzIwMTYwOTE3MDc0MDI3LjAyIgogICAgQ1BGX05BTUUgPSAiTDhDUEYyMDE2MDcwMV8yMDE2MDkzMC4wMiIKICAgIFJMVVRfRklMRV9OQU1FID0gIkw4UkxVVDIwMTUwMzAzXzIwNDMxMjMxdjExLmg1IgogIEVORF9HUk9VUCA9IFBST0RVQ1RfTUVUQURBVEEKICBHUk9VUCA9IElNQUdFX0FUVFJJQlVURVMKICAgIENMT1VEX0NPVkVSID0gMjkuNTYKICAgIENMT1VEX0NPVkVSX0xBTkQgPSAzLjMzCiAgICBJTUFHRV9RVUFMSVRZX09MSSA9IDkKICAgIElNQUdFX1FVQUxJVFlfVElSUyA9IDkKICAgIFRJUlNfU1NNX01PREVMID0gIkZJTkFMIgogICAgVElSU19TU01fUE9TSVRJT05fU1RBVFVTID0gIkVTVElNQVRFRCIKICAgIFJPTExfQU5HTEUgPSAtMC4wMDEKICAgIFNVTl9BWklNVVRIID0gMTQ4LjQ4MDQ5Mzk2CiAgICBTVU5fRUxFVkFUSU9OID0gNTAuOTM3NjgzOTkKICAgIEVBUlRIX1NVTl9ESVNUQU5DRSA9IDEuMDA1Mzc1MgogICAgR1JPVU5EX0NPTlRST0xfUE9JTlRTX1ZFUlNJT04gPSA0CiAgICBHUk9VTkRfQ09OVFJPTF9QT0lOVFNfTU9ERUwgPSA1NDgKICAgIEdFT01FVFJJQ19STVNFX01PREVMID0gNS44NTcKICAgIEdFT01FVFJJQ19STVNFX01PREVMX1kgPSAzLjg0MQogICAgR0VPTUVUUklDX1JNU0VfTU9ERUxfWCA9IDQuNDIyCiAgICBHUk9VTkRfQ09OVFJPTF9QT0lOVFNfVkVSSUZZID0gMjI4CiAgICBHRU9NRVRSSUNfUk1TRV9WRVJJRlkgPSAzLjM4MgogIEVORF9HUk9VUCA9IElNQUdFX0FUVFJJQlVURVMKICBHUk9VUCA9IE1JTl9NQVhfUkFESUFOQ0UKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF8xID0gNzUxLjk1NzA5CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfMSA9IC02Mi4wOTY4NgogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzIgPSA3NzAuMDEzMTgKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF8yID0gLTYzLjU4Nzk0CiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfMyA9IDcwOS41NjA2MQogICAgUkFESUFOQ0VfTUlOSU1VTV9CQU5EXzMgPSAtNTguNTk1NzUKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF80ID0gNTk4LjM0MTQ5CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfNCA9IC00OS40MTEyMwogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzUgPSAzNjYuMTU1MTUKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF81ID0gLTMwLjIzNzIxCiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfNiA9IDkxLjA1OTQ2CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfNiA9IC03LjUxOTcyCiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfNyA9IDMwLjY5MTkxCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfNyA9IC0yLjUzNDU1CiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfOCA9IDY3Ny4xNTc4NAogICAgUkFESUFOQ0VfTUlOSU1VTV9CQU5EXzggPSAtNTUuOTE5OTIKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF85ID0gMTQzLjEwMTczCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfOSA9IC0xMS44MTczOQogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzEwID0gMjIuMDAxODAKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF8xMCA9IDAuMTAwMzMKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF8xMSA9IDIyLjAwMTgwCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfMTEgPSAwLjEwMDMzCiAgRU5EX0dST1VQID0gTUlOX01BWF9SQURJQU5DRQogIEdST1VQID0gTUlOX01BWF9SRUZMRUNUQU5DRQogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzEgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzEgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF8yID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF8yID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfMyA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfMyA9IC0wLjA5OTk4MAogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzQgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzQgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF81ID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF81ID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfNiA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfNiA9IC0wLjA5OTk4MAogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzcgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzcgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF84ID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF84ID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfOSA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfOSA9IC0wLjA5OTk4MAogIEVORF9HUk9VUCA9IE1JTl9NQVhfUkVGTEVDVEFOQ0UKICBHUk9VUCA9IE1JTl9NQVhfUElYRUxfVkFMVUUKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF8xID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF8xID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzIgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzIgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfMyA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfMyA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF80ID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF80ID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzUgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzUgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfNiA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfNiA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF83ID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF83ID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzggPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzggPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfOSA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfOSA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF8xMCA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfMTAgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfMTEgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzExID0gMQogIEVORF9HUk9VUCA9IE1JTl9NQVhfUElYRUxfVkFMVUUKICBHUk9VUCA9IFJBRElPTUVUUklDX1JFU0NBTElORwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzEgPSAxLjI0MjJFLTAyCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfMiA9IDEuMjcyMEUtMDIKICAgIFJBRElBTkNFX01VTFRfQkFORF8zID0gMS4xNzIxRS0wMgogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzQgPSA5Ljg4NDJFLTAzCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfNSA9IDYuMDQ4N0UtMDMKICAgIFJBRElBTkNFX01VTFRfQkFORF82ID0gMS41MDQyRS0wMwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzcgPSA1LjA3MDFFLTA0CiAgICBSQURJQU5DRV9NVUxUX0JBTkRfOCA9IDEuMTE4NkUtMDIKICAgIFJBRElBTkNFX01VTFRfQkFORF85ID0gMi4zNjQwRS0wMwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzEwID0gMy4zNDIwRS0wNAogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzExID0gMy4zNDIwRS0wNAogICAgUkFESUFOQ0VfQUREX0JBTkRfMSA9IC02Mi4xMDkyOAogICAgUkFESUFOQ0VfQUREX0JBTkRfMiA9IC02My42MDA2NgogICAgUkFESUFOQ0VfQUREX0JBTkRfMyA9IC01OC42MDc0NwogICAgUkFESUFOQ0VfQUREX0JBTkRfNCA9IC00OS40MjExMgogICAgUkFESUFOQ0VfQUREX0JBTkRfNSA9IC0zMC4yNDMyNgogICAgUkFESUFOQ0VfQUREX0JBTkRfNiA9IC03LjUyMTIyCiAgICBSQURJQU5DRV9BRERfQkFORF83ID0gLTIuNTM1MDUKICAgIFJBRElBTkNFX0FERF9CQU5EXzggPSAtNTUuOTMxMTAKICAgIFJBRElBTkNFX0FERF9CQU5EXzkgPSAtMTEuODE5NzUKICAgIFJBRElBTkNFX0FERF9CQU5EXzEwID0gMC4xMDAwMAogICAgUkFESUFOQ0VfQUREX0JBTkRfMTEgPSAwLjEwMDAwCiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfMSA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF8yID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzMgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfNCA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF81ID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzYgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfNyA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF84ID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzkgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF8xID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF8yID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF8zID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF80ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF81ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF82ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF83ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF84ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF85ID0gLTAuMTAwMDAwCiAgRU5EX0dST1VQID0gUkFESU9NRVRSSUNfUkVTQ0FMSU5HCiAgR1JPVVAgPSBUSVJTX1RIRVJNQUxfQ09OU1RBTlRTCiAgICBLMV9DT05TVEFOVF9CQU5EXzEwID0gNzc0Ljg4NTMKICAgIEsxX0NPTlNUQU5UX0JBTkRfMTEgPSA0ODAuODg4MwogICAgSzJfQ09OU1RBTlRfQkFORF8xMCA9IDEzMjEuMDc4OQogICAgSzJfQ09OU1RBTlRfQkFORF8xMSA9IDEyMDEuMTQ0MgogIEVORF9HUk9VUCA9IFRJUlNfVEhFUk1BTF9DT05TVEFOVFMKICBHUk9VUCA9IFBST0pFQ1RJT05fUEFSQU1FVEVSUwogICAgTUFQX1BST0pFQ1RJT04gPSAiVVRNIgogICAgREFUVU0gPSAiV0dTODQiCiAgICBFTExJUFNPSUQgPSAiV0dTODQiCiAgICBVVE1fWk9ORSA9IDEwCiAgICBHUklEX0NFTExfU0laRV9QQU5DSFJPTUFUSUMgPSAxNS4wMAogICAgR1JJRF9DRUxMX1NJWkVfUkVGTEVDVElWRSA9IDMwLjAwCiAgICBHUklEX0NFTExfU0laRV9USEVSTUFMID0gMzAuMDAKICAgIE9SSUVOVEFUSU9OID0gIk5PUlRIX1VQIgogICAgUkVTQU1QTElOR19PUFRJT04gPSAiQ1VCSUNfQ09OVk9MVVRJT04iCiAgRU5EX0dST1VQID0gUFJPSkVDVElPTl9QQVJBTUVURVJTCkVORF9HUk9VUCA9IEwxX01FVEFEQVRBX0ZJTEUKRU5ECg==" } }, { - "ID": "c6be34c5dcd01c81", + "ID": "a5f818071a0f22da", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/storage-library-test-bucket/gzipped-text.txt", + "URL": "https://storage.googleapis.com/gcp-public-data-landsat/LC08/PRE/044/034/LC80440342016259LGN00/LC80440342016259LGN00_MTL.txt", "Header": { "Accept-Encoding": [ "gzip" @@ -14681,7 +18229,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -14692,83 +18242,88 @@ "Accept-Ranges": [ "bytes" ], - "Age": [ - "213" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ "public, max-age=3600" ], - "Content-Encoding": [ - "gzip" - ], "Content-Length": [ - "31" + "7903" ], "Content-Type": [ - "text/plain" + "application/octet-stream" ], "Date": [ - "Wed, 09 Jan 2019 22:05:37 GMT" + "Thu, 02 May 2019 22:25:27 GMT" ], "Etag": [ - "\"c6117833aa4d1510d09ef69144d56790\"" + "\"7a5fd4743bd647485f88496fadb05c51\"" ], "Expires": [ - "Wed, 09 Jan 2019 23:05:37 GMT" + "Thu, 02 May 2019 23:25:27 GMT" ], "Last-Modified": [ - "Tue, 14 Nov 2017 13:07:32 GMT" + "Tue, 04 Oct 2016 16:42:07 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Accept-Encoding" - ], "X-Goog-Generation": [ - "1510664852486988" + "1475599327662000" ], "X-Goog-Hash": [ - "crc32c=T1s5RQ==", - "md5=xhF4M6pNFRDQnvaRRNVnkA==" + "crc32c=PWBt8g==", + "md5=el/UdDvWR0hfiElvrbBcUQ==" ], "X-Goog-Metageneration": [ - "2" + "1" ], "X-Goog-Storage-Class": [ - "MULTI_REGIONAL" + "STANDARD" ], "X-Goog-Stored-Content-Encoding": [ - "gzip" + "identity" ], "X-Goog-Stored-Content-Length": [ - "31" + "7903" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2Uq7ERxIWlQTa2f82zqbf1YaC7FKVy7pw0SdR073md1iEIld7-Ir6tr7QyMGwJzha9FTnW8IZkt7am-1F13yxhZYmMaUEfaA_5nXRg-N6a9SVbb_9fA" + "AEnB2UrozB-0-kEtkjITLFZA2uQpw77J_Zc6GErrYrIyxkPTWeUHJNBRLw4JXhyIEFG8szc7bhqblQVKoKYiZ4myOcfL5zIM9KYGIbCyAP9e4sEEdx2pBe0" ] }, - "Body": "H4sIAAAAAAAAC8tIzcnJVyjPL8pJAQCFEUoNCwAAAA==" + "Body": "R1JPVVAgPSBMMV9NRVRBREFUQV9GSUxFCiAgR1JPVVAgPSBNRVRBREFUQV9GSUxFX0lORk8KICAgIE9SSUdJTiA9ICJJbWFnZSBjb3VydGVzeSBvZiB0aGUgVS5TLiBHZW9sb2dpY2FsIFN1cnZleSIKICAgIFJFUVVFU1RfSUQgPSAiMDcwMTYwOTE5MTA1MV8wMDAwNCIKICAgIExBTkRTQVRfU0NFTkVfSUQgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwIgogICAgRklMRV9EQVRFID0gMjAxNi0wOS0yMFQwMzoxMzowMloKICAgIFNUQVRJT05fSUQgPSAiTEdOIgogICAgUFJPQ0VTU0lOR19TT0ZUV0FSRV9WRVJTSU9OID0gIkxQR1NfMi42LjIiCiAgRU5EX0dST1VQID0gTUVUQURBVEFfRklMRV9JTkZPCiAgR1JPVVAgPSBQUk9EVUNUX01FVEFEQVRBCiAgICBEQVRBX1RZUEUgPSAiTDFUIgogICAgRUxFVkFUSU9OX1NPVVJDRSA9ICJHTFMyMDAwIgogICAgT1VUUFVUX0ZPUk1BVCA9ICJHRU9USUZGIgogICAgU1BBQ0VDUkFGVF9JRCA9ICJMQU5EU0FUXzgiCiAgICBTRU5TT1JfSUQgPSAiT0xJX1RJUlMiCiAgICBXUlNfUEFUSCA9IDQ0CiAgICBXUlNfUk9XID0gMzQKICAgIE5BRElSX09GRk5BRElSID0gIk5BRElSIgogICAgVEFSR0VUX1dSU19QQVRIID0gNDQKICAgIFRBUkdFVF9XUlNfUk9XID0gMzQKICAgIERBVEVfQUNRVUlSRUQgPSAyMDE2LTA5LTE1CiAgICBTQ0VORV9DRU5URVJfVElNRSA9ICIxODo0NjoxOC42ODY3MzgwWiIKICAgIENPUk5FUl9VTF9MQVRfUFJPRFVDVCA9IDM4LjUyODE5CiAgICBDT1JORVJfVUxfTE9OX1BST0RVQ1QgPSAtMTIzLjQwODQzCiAgICBDT1JORVJfVVJfTEFUX1BST0RVQ1QgPSAzOC41MDc2NQogICAgQ09STkVSX1VSX0xPTl9QUk9EVUNUID0gLTEyMC43NjkzMwogICAgQ09STkVSX0xMX0xBVF9QUk9EVUNUID0gMzYuNDE2MzMKICAgIENPUk5FUl9MTF9MT05fUFJPRFVDVCA9IC0xMjMuMzk3MDkKICAgIENPUk5FUl9MUl9MQVRfUFJPRFVDVCA9IDM2LjM5NzI5CiAgICBDT1JORVJfTFJfTE9OX1BST0RVQ1QgPSAtMTIwLjgzMTE3CiAgICBDT1JORVJfVUxfUFJPSkVDVElPTl9YX1BST0RVQ1QgPSA0NjQ0MDAuMDAwCiAgICBDT1JORVJfVUxfUFJPSkVDVElPTl9ZX1BST0RVQ1QgPSA0MjY0NTAwLjAwMAogICAgQ09STkVSX1VSX1BST0pFQ1RJT05fWF9QUk9EVUNUID0gNjk0NTAwLjAwMAogICAgQ09STkVSX1VSX1BST0pFQ1RJT05fWV9QUk9EVUNUID0gNDI2NDUwMC4wMDAKICAgIENPUk5FUl9MTF9QUk9KRUNUSU9OX1hfUFJPRFVDVCA9IDQ2NDQwMC4wMDAKICAgIENPUk5FUl9MTF9QUk9KRUNUSU9OX1lfUFJPRFVDVCA9IDQwMzAyMDAuMDAwCiAgICBDT1JORVJfTFJfUFJPSkVDVElPTl9YX1BST0RVQ1QgPSA2OTQ1MDAuMDAwCiAgICBDT1JORVJfTFJfUFJPSkVDVElPTl9ZX1BST0RVQ1QgPSA0MDMwMjAwLjAwMAogICAgUEFOQ0hST01BVElDX0xJTkVTID0gMTU2MjEKICAgIFBBTkNIUk9NQVRJQ19TQU1QTEVTID0gMTUzNDEKICAgIFJFRkxFQ1RJVkVfTElORVMgPSA3ODExCiAgICBSRUZMRUNUSVZFX1NBTVBMRVMgPSA3NjcxCiAgICBUSEVSTUFMX0xJTkVTID0gNzgxMQogICAgVEhFUk1BTF9TQU1QTEVTID0gNzY3MQogICAgRklMRV9OQU1FX0JBTkRfMSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjEuVElGIgogICAgRklMRV9OQU1FX0JBTkRfMiA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjIuVElGIgogICAgRklMRV9OQU1FX0JBTkRfMyA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjMuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNCA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjQuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjUuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNiA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjYuVElGIgogICAgRklMRV9OQU1FX0JBTkRfNyA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjcuVElGIgogICAgRklMRV9OQU1FX0JBTkRfOCA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjguVElGIgogICAgRklMRV9OQU1FX0JBTkRfOSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjkuVElGIgogICAgRklMRV9OQU1FX0JBTkRfMTAgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0IxMC5USUYiCiAgICBGSUxFX05BTUVfQkFORF8xMSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjExLlRJRiIKICAgIEZJTEVfTkFNRV9CQU5EX1FVQUxJVFkgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX0JRQS5USUYiCiAgICBNRVRBREFUQV9GSUxFX05BTUUgPSAiTEM4MDQ0MDM0MjAxNjI1OUxHTjAwX01UTC50eHQiCiAgICBCUEZfTkFNRV9PTEkgPSAiTE84QlBGMjAxNjA5MTUxODMwNTdfMjAxNjA5MTUyMDA5NTAuMDEiCiAgICBCUEZfTkFNRV9USVJTID0gIkxUOEJQRjIwMTYwOTAyMDg0MTIyXzIwMTYwOTE3MDc0MDI3LjAyIgogICAgQ1BGX05BTUUgPSAiTDhDUEYyMDE2MDcwMV8yMDE2MDkzMC4wMiIKICAgIFJMVVRfRklMRV9OQU1FID0gIkw4UkxVVDIwMTUwMzAzXzIwNDMxMjMxdjExLmg1IgogIEVORF9HUk9VUCA9IFBST0RVQ1RfTUVUQURBVEEKICBHUk9VUCA9IElNQUdFX0FUVFJJQlVURVMKICAgIENMT1VEX0NPVkVSID0gMjkuNTYKICAgIENMT1VEX0NPVkVSX0xBTkQgPSAzLjMzCiAgICBJTUFHRV9RVUFMSVRZX09MSSA9IDkKICAgIElNQUdFX1FVQUxJVFlfVElSUyA9IDkKICAgIFRJUlNfU1NNX01PREVMID0gIkZJTkFMIgogICAgVElSU19TU01fUE9TSVRJT05fU1RBVFVTID0gIkVTVElNQVRFRCIKICAgIFJPTExfQU5HTEUgPSAtMC4wMDEKICAgIFNVTl9BWklNVVRIID0gMTQ4LjQ4MDQ5Mzk2CiAgICBTVU5fRUxFVkFUSU9OID0gNTAuOTM3NjgzOTkKICAgIEVBUlRIX1NVTl9ESVNUQU5DRSA9IDEuMDA1Mzc1MgogICAgR1JPVU5EX0NPTlRST0xfUE9JTlRTX1ZFUlNJT04gPSA0CiAgICBHUk9VTkRfQ09OVFJPTF9QT0lOVFNfTU9ERUwgPSA1NDgKICAgIEdFT01FVFJJQ19STVNFX01PREVMID0gNS44NTcKICAgIEdFT01FVFJJQ19STVNFX01PREVMX1kgPSAzLjg0MQogICAgR0VPTUVUUklDX1JNU0VfTU9ERUxfWCA9IDQuNDIyCiAgICBHUk9VTkRfQ09OVFJPTF9QT0lOVFNfVkVSSUZZID0gMjI4CiAgICBHRU9NRVRSSUNfUk1TRV9WRVJJRlkgPSAzLjM4MgogIEVORF9HUk9VUCA9IElNQUdFX0FUVFJJQlVURVMKICBHUk9VUCA9IE1JTl9NQVhfUkFESUFOQ0UKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF8xID0gNzUxLjk1NzA5CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfMSA9IC02Mi4wOTY4NgogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzIgPSA3NzAuMDEzMTgKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF8yID0gLTYzLjU4Nzk0CiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfMyA9IDcwOS41NjA2MQogICAgUkFESUFOQ0VfTUlOSU1VTV9CQU5EXzMgPSAtNTguNTk1NzUKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF80ID0gNTk4LjM0MTQ5CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfNCA9IC00OS40MTEyMwogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzUgPSAzNjYuMTU1MTUKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF81ID0gLTMwLjIzNzIxCiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfNiA9IDkxLjA1OTQ2CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfNiA9IC03LjUxOTcyCiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfNyA9IDMwLjY5MTkxCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfNyA9IC0yLjUzNDU1CiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfOCA9IDY3Ny4xNTc4NAogICAgUkFESUFOQ0VfTUlOSU1VTV9CQU5EXzggPSAtNTUuOTE5OTIKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF85ID0gMTQzLjEwMTczCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfOSA9IC0xMS44MTczOQogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzEwID0gMjIuMDAxODAKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF8xMCA9IDAuMTAwMzMKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF8xMSA9IDIyLjAwMTgwCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfMTEgPSAwLjEwMDMzCiAgRU5EX0dST1VQID0gTUlOX01BWF9SQURJQU5DRQogIEdST1VQID0gTUlOX01BWF9SRUZMRUNUQU5DRQogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzEgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzEgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF8yID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF8yID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfMyA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfMyA9IC0wLjA5OTk4MAogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzQgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzQgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF81ID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF81ID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfNiA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfNiA9IC0wLjA5OTk4MAogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzcgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzcgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF84ID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF84ID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfOSA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfOSA9IC0wLjA5OTk4MAogIEVORF9HUk9VUCA9IE1JTl9NQVhfUkVGTEVDVEFOQ0UKICBHUk9VUCA9IE1JTl9NQVhfUElYRUxfVkFMVUUKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF8xID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF8xID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzIgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzIgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfMyA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfMyA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF80ID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF80ID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzUgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzUgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfNiA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfNiA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF83ID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF83ID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzggPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzggPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfOSA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfOSA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF8xMCA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfMTAgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfMTEgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzExID0gMQogIEVORF9HUk9VUCA9IE1JTl9NQVhfUElYRUxfVkFMVUUKICBHUk9VUCA9IFJBRElPTUVUUklDX1JFU0NBTElORwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzEgPSAxLjI0MjJFLTAyCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfMiA9IDEuMjcyMEUtMDIKICAgIFJBRElBTkNFX01VTFRfQkFORF8zID0gMS4xNzIxRS0wMgogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzQgPSA5Ljg4NDJFLTAzCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfNSA9IDYuMDQ4N0UtMDMKICAgIFJBRElBTkNFX01VTFRfQkFORF82ID0gMS41MDQyRS0wMwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzcgPSA1LjA3MDFFLTA0CiAgICBSQURJQU5DRV9NVUxUX0JBTkRfOCA9IDEuMTE4NkUtMDIKICAgIFJBRElBTkNFX01VTFRfQkFORF85ID0gMi4zNjQwRS0wMwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzEwID0gMy4zNDIwRS0wNAogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzExID0gMy4zNDIwRS0wNAogICAgUkFESUFOQ0VfQUREX0JBTkRfMSA9IC02Mi4xMDkyOAogICAgUkFESUFOQ0VfQUREX0JBTkRfMiA9IC02My42MDA2NgogICAgUkFESUFOQ0VfQUREX0JBTkRfMyA9IC01OC42MDc0NwogICAgUkFESUFOQ0VfQUREX0JBTkRfNCA9IC00OS40MjExMgogICAgUkFESUFOQ0VfQUREX0JBTkRfNSA9IC0zMC4yNDMyNgogICAgUkFESUFOQ0VfQUREX0JBTkRfNiA9IC03LjUyMTIyCiAgICBSQURJQU5DRV9BRERfQkFORF83ID0gLTIuNTM1MDUKICAgIFJBRElBTkNFX0FERF9CQU5EXzggPSAtNTUuOTMxMTAKICAgIFJBRElBTkNFX0FERF9CQU5EXzkgPSAtMTEuODE5NzUKICAgIFJBRElBTkNFX0FERF9CQU5EXzEwID0gMC4xMDAwMAogICAgUkFESUFOQ0VfQUREX0JBTkRfMTEgPSAwLjEwMDAwCiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfMSA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF8yID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzMgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfNCA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF81ID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzYgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfNyA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF84ID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzkgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF8xID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF8yID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF8zID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF80ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF81ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF82ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF83ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF84ID0gLTAuMTAwMDAwCiAgICBSRUZMRUNUQU5DRV9BRERfQkFORF85ID0gLTAuMTAwMDAwCiAgRU5EX0dST1VQID0gUkFESU9NRVRSSUNfUkVTQ0FMSU5HCiAgR1JPVVAgPSBUSVJTX1RIRVJNQUxfQ09OU1RBTlRTCiAgICBLMV9DT05TVEFOVF9CQU5EXzEwID0gNzc0Ljg4NTMKICAgIEsxX0NPTlNUQU5UX0JBTkRfMTEgPSA0ODAuODg4MwogICAgSzJfQ09OU1RBTlRfQkFORF8xMCA9IDEzMjEuMDc4OQogICAgSzJfQ09OU1RBTlRfQkFORF8xMSA9IDEyMDEuMTQ0MgogIEVORF9HUk9VUCA9IFRJUlNfVEhFUk1BTF9DT05TVEFOVFMKICBHUk9VUCA9IFBST0pFQ1RJT05fUEFSQU1FVEVSUwogICAgTUFQX1BST0pFQ1RJT04gPSAiVVRNIgogICAgREFUVU0gPSAiV0dTODQiCiAgICBFTExJUFNPSUQgPSAiV0dTODQiCiAgICBVVE1fWk9ORSA9IDEwCiAgICBHUklEX0NFTExfU0laRV9QQU5DSFJPTUFUSUMgPSAxNS4wMAogICAgR1JJRF9DRUxMX1NJWkVfUkVGTEVDVElWRSA9IDMwLjAwCiAgICBHUklEX0NFTExfU0laRV9USEVSTUFMID0gMzAuMDAKICAgIE9SSUVOVEFUSU9OID0gIk5PUlRIX1VQIgogICAgUkVTQU1QTElOR19PUFRJT04gPSAiQ1VCSUNfQ09OVk9MVVRJT04iCiAgRU5EX0dST1VQID0gUFJPSkVDVElPTl9QQVJBTUVURVJTCkVORF9HUk9VUCA9IEwxX01FVEFEQVRBX0ZJTEUKRU5ECg==" } }, { - "ID": "3d08d448abeb3cbe", + "ID": "55eeb942e5603431", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/storage-library-test-bucket/gzipped-text.txt", + "URL": "https://storage.googleapis.com/gcp-public-data-landsat/LC08/PRE/044/034/LC80440342016259LGN00/LC80440342016259LGN00_MTL.txt", "Header": { - "Accept-Encoding": [ - "gzip" + "Range": [ + "bytes=1-" ], "User-Agent": [ "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 206, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, @@ -14776,80 +18331,88 @@ "Accept-Ranges": [ "bytes" ], - "Age": [ - "213" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ "public, max-age=3600" ], - "Content-Encoding": [ - "gzip" - ], "Content-Length": [ - "31" + "7902" + ], + "Content-Range": [ + "bytes 1-7902/7903" ], "Content-Type": [ - "text/plain" + "application/octet-stream" ], "Date": [ - "Wed, 09 Jan 2019 22:05:37 GMT" + "Thu, 02 May 2019 22:25:27 GMT" ], "Etag": [ - "\"c6117833aa4d1510d09ef69144d56790\"" + "\"7a5fd4743bd647485f88496fadb05c51\"" ], "Expires": [ - "Wed, 09 Jan 2019 23:05:37 GMT" + "Thu, 02 May 2019 23:25:27 GMT" ], "Last-Modified": [ - "Tue, 14 Nov 2017 13:07:32 GMT" + "Tue, 04 Oct 2016 16:42:07 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Accept-Encoding" - ], "X-Goog-Generation": [ - "1510664852486988" + "1475599327662000" ], "X-Goog-Hash": [ - "crc32c=T1s5RQ==", - "md5=xhF4M6pNFRDQnvaRRNVnkA==" + "crc32c=PWBt8g==", + "md5=el/UdDvWR0hfiElvrbBcUQ==" ], "X-Goog-Metageneration": [ - "2" + "1" ], "X-Goog-Storage-Class": [ - "MULTI_REGIONAL" + "STANDARD" ], "X-Goog-Stored-Content-Encoding": [ - "gzip" + "identity" ], "X-Goog-Stored-Content-Length": [ - "31" + "7903" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2Uq7ERxIWlQTa2f82zqbf1YaC7FKVy7pw0SdR073md1iEIld7-Ir6tr7QyMGwJzha9FTnW8IZkt7am-1F13yxhZYmMaUEfaA_5nXRg-N6a9SVbb_9fA" + "AEnB2UqlAytrsQn43Os8JxSOx4C8v9ApqqtqwEE7kZ-voKAcmcYe32lG7ANHxzNrwkqN8bbLLohoAHd88brZDVaC3U6Q01dhBBoeDFnlkCzHKUJjA8ZWrgM" ] }, - "Body": "H4sIAAAAAAAAC8tIzcnJVyjPL8pJAQCFEUoNCwAAAA==" + "Body": "Uk9VUCA9IEwxX01FVEFEQVRBX0ZJTEUKICBHUk9VUCA9IE1FVEFEQVRBX0ZJTEVfSU5GTwogICAgT1JJR0lOID0gIkltYWdlIGNvdXJ0ZXN5IG9mIHRoZSBVLlMuIEdlb2xvZ2ljYWwgU3VydmV5IgogICAgUkVRVUVTVF9JRCA9ICIwNzAxNjA5MTkxMDUxXzAwMDA0IgogICAgTEFORFNBVF9TQ0VORV9JRCA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDAiCiAgICBGSUxFX0RBVEUgPSAyMDE2LTA5LTIwVDAzOjEzOjAyWgogICAgU1RBVElPTl9JRCA9ICJMR04iCiAgICBQUk9DRVNTSU5HX1NPRlRXQVJFX1ZFUlNJT04gPSAiTFBHU18yLjYuMiIKICBFTkRfR1JPVVAgPSBNRVRBREFUQV9GSUxFX0lORk8KICBHUk9VUCA9IFBST0RVQ1RfTUVUQURBVEEKICAgIERBVEFfVFlQRSA9ICJMMVQiCiAgICBFTEVWQVRJT05fU09VUkNFID0gIkdMUzIwMDAiCiAgICBPVVRQVVRfRk9STUFUID0gIkdFT1RJRkYiCiAgICBTUEFDRUNSQUZUX0lEID0gIkxBTkRTQVRfOCIKICAgIFNFTlNPUl9JRCA9ICJPTElfVElSUyIKICAgIFdSU19QQVRIID0gNDQKICAgIFdSU19ST1cgPSAzNAogICAgTkFESVJfT0ZGTkFESVIgPSAiTkFESVIiCiAgICBUQVJHRVRfV1JTX1BBVEggPSA0NAogICAgVEFSR0VUX1dSU19ST1cgPSAzNAogICAgREFURV9BQ1FVSVJFRCA9IDIwMTYtMDktMTUKICAgIFNDRU5FX0NFTlRFUl9USU1FID0gIjE4OjQ2OjE4LjY4NjczODBaIgogICAgQ09STkVSX1VMX0xBVF9QUk9EVUNUID0gMzguNTI4MTkKICAgIENPUk5FUl9VTF9MT05fUFJPRFVDVCA9IC0xMjMuNDA4NDMKICAgIENPUk5FUl9VUl9MQVRfUFJPRFVDVCA9IDM4LjUwNzY1CiAgICBDT1JORVJfVVJfTE9OX1BST0RVQ1QgPSAtMTIwLjc2OTMzCiAgICBDT1JORVJfTExfTEFUX1BST0RVQ1QgPSAzNi40MTYzMwogICAgQ09STkVSX0xMX0xPTl9QUk9EVUNUID0gLTEyMy4zOTcwOQogICAgQ09STkVSX0xSX0xBVF9QUk9EVUNUID0gMzYuMzk3MjkKICAgIENPUk5FUl9MUl9MT05fUFJPRFVDVCA9IC0xMjAuODMxMTcKICAgIENPUk5FUl9VTF9QUk9KRUNUSU9OX1hfUFJPRFVDVCA9IDQ2NDQwMC4wMDAKICAgIENPUk5FUl9VTF9QUk9KRUNUSU9OX1lfUFJPRFVDVCA9IDQyNjQ1MDAuMDAwCiAgICBDT1JORVJfVVJfUFJPSkVDVElPTl9YX1BST0RVQ1QgPSA2OTQ1MDAuMDAwCiAgICBDT1JORVJfVVJfUFJPSkVDVElPTl9ZX1BST0RVQ1QgPSA0MjY0NTAwLjAwMAogICAgQ09STkVSX0xMX1BST0pFQ1RJT05fWF9QUk9EVUNUID0gNDY0NDAwLjAwMAogICAgQ09STkVSX0xMX1BST0pFQ1RJT05fWV9QUk9EVUNUID0gNDAzMDIwMC4wMDAKICAgIENPUk5FUl9MUl9QUk9KRUNUSU9OX1hfUFJPRFVDVCA9IDY5NDUwMC4wMDAKICAgIENPUk5FUl9MUl9QUk9KRUNUSU9OX1lfUFJPRFVDVCA9IDQwMzAyMDAuMDAwCiAgICBQQU5DSFJPTUFUSUNfTElORVMgPSAxNTYyMQogICAgUEFOQ0hST01BVElDX1NBTVBMRVMgPSAxNTM0MQogICAgUkVGTEVDVElWRV9MSU5FUyA9IDc4MTEKICAgIFJFRkxFQ1RJVkVfU0FNUExFUyA9IDc2NzEKICAgIFRIRVJNQUxfTElORVMgPSA3ODExCiAgICBUSEVSTUFMX1NBTVBMRVMgPSA3NjcxCiAgICBGSUxFX05BTUVfQkFORF8xID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9CMS5USUYiCiAgICBGSUxFX05BTUVfQkFORF8yID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9CMi5USUYiCiAgICBGSUxFX05BTUVfQkFORF8zID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9CMy5USUYiCiAgICBGSUxFX05BTUVfQkFORF80ID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9CNC5USUYiCiAgICBGSUxFX05BTUVfQkFORF81ID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9CNS5USUYiCiAgICBGSUxFX05BTUVfQkFORF82ID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9CNi5USUYiCiAgICBGSUxFX05BTUVfQkFORF83ID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9CNy5USUYiCiAgICBGSUxFX05BTUVfQkFORF84ID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9COC5USUYiCiAgICBGSUxFX05BTUVfQkFORF85ID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9COS5USUYiCiAgICBGSUxFX05BTUVfQkFORF8xMCA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQjEwLlRJRiIKICAgIEZJTEVfTkFNRV9CQU5EXzExID0gIkxDODA0NDAzNDIwMTYyNTlMR04wMF9CMTEuVElGIgogICAgRklMRV9OQU1FX0JBTkRfUVVBTElUWSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfQlFBLlRJRiIKICAgIE1FVEFEQVRBX0ZJTEVfTkFNRSA9ICJMQzgwNDQwMzQyMDE2MjU5TEdOMDBfTVRMLnR4dCIKICAgIEJQRl9OQU1FX09MSSA9ICJMTzhCUEYyMDE2MDkxNTE4MzA1N18yMDE2MDkxNTIwMDk1MC4wMSIKICAgIEJQRl9OQU1FX1RJUlMgPSAiTFQ4QlBGMjAxNjA5MDIwODQxMjJfMjAxNjA5MTcwNzQwMjcuMDIiCiAgICBDUEZfTkFNRSA9ICJMOENQRjIwMTYwNzAxXzIwMTYwOTMwLjAyIgogICAgUkxVVF9GSUxFX05BTUUgPSAiTDhSTFVUMjAxNTAzMDNfMjA0MzEyMzF2MTEuaDUiCiAgRU5EX0dST1VQID0gUFJPRFVDVF9NRVRBREFUQQogIEdST1VQID0gSU1BR0VfQVRUUklCVVRFUwogICAgQ0xPVURfQ09WRVIgPSAyOS41NgogICAgQ0xPVURfQ09WRVJfTEFORCA9IDMuMzMKICAgIElNQUdFX1FVQUxJVFlfT0xJID0gOQogICAgSU1BR0VfUVVBTElUWV9USVJTID0gOQogICAgVElSU19TU01fTU9ERUwgPSAiRklOQUwiCiAgICBUSVJTX1NTTV9QT1NJVElPTl9TVEFUVVMgPSAiRVNUSU1BVEVEIgogICAgUk9MTF9BTkdMRSA9IC0wLjAwMQogICAgU1VOX0FaSU1VVEggPSAxNDguNDgwNDkzOTYKICAgIFNVTl9FTEVWQVRJT04gPSA1MC45Mzc2ODM5OQogICAgRUFSVEhfU1VOX0RJU1RBTkNFID0gMS4wMDUzNzUyCiAgICBHUk9VTkRfQ09OVFJPTF9QT0lOVFNfVkVSU0lPTiA9IDQKICAgIEdST1VORF9DT05UUk9MX1BPSU5UU19NT0RFTCA9IDU0OAogICAgR0VPTUVUUklDX1JNU0VfTU9ERUwgPSA1Ljg1NwogICAgR0VPTUVUUklDX1JNU0VfTU9ERUxfWSA9IDMuODQxCiAgICBHRU9NRVRSSUNfUk1TRV9NT0RFTF9YID0gNC40MjIKICAgIEdST1VORF9DT05UUk9MX1BPSU5UU19WRVJJRlkgPSAyMjgKICAgIEdFT01FVFJJQ19STVNFX1ZFUklGWSA9IDMuMzgyCiAgRU5EX0dST1VQID0gSU1BR0VfQVRUUklCVVRFUwogIEdST1VQID0gTUlOX01BWF9SQURJQU5DRQogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzEgPSA3NTEuOTU3MDkKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF8xID0gLTYyLjA5Njg2CiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfMiA9IDc3MC4wMTMxOAogICAgUkFESUFOQ0VfTUlOSU1VTV9CQU5EXzIgPSAtNjMuNTg3OTQKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF8zID0gNzA5LjU2MDYxCiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfMyA9IC01OC41OTU3NQogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzQgPSA1OTguMzQxNDkKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF80ID0gLTQ5LjQxMTIzCiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfNSA9IDM2Ni4xNTUxNQogICAgUkFESUFOQ0VfTUlOSU1VTV9CQU5EXzUgPSAtMzAuMjM3MjEKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF82ID0gOTEuMDU5NDYKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF82ID0gLTcuNTE5NzIKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF83ID0gMzAuNjkxOTEKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF83ID0gLTIuNTM0NTUKICAgIFJBRElBTkNFX01BWElNVU1fQkFORF84ID0gNjc3LjE1Nzg0CiAgICBSQURJQU5DRV9NSU5JTVVNX0JBTkRfOCA9IC01NS45MTk5MgogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzkgPSAxNDMuMTAxNzMKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF85ID0gLTExLjgxNzM5CiAgICBSQURJQU5DRV9NQVhJTVVNX0JBTkRfMTAgPSAyMi4wMDE4MAogICAgUkFESUFOQ0VfTUlOSU1VTV9CQU5EXzEwID0gMC4xMDAzMwogICAgUkFESUFOQ0VfTUFYSU1VTV9CQU5EXzExID0gMjIuMDAxODAKICAgIFJBRElBTkNFX01JTklNVU1fQkFORF8xMSA9IDAuMTAwMzMKICBFTkRfR1JPVVAgPSBNSU5fTUFYX1JBRElBTkNFCiAgR1JPVVAgPSBNSU5fTUFYX1JFRkxFQ1RBTkNFCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfMSA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfMSA9IC0wLjA5OTk4MAogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzIgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzIgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF8zID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF8zID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfNCA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfNCA9IC0wLjA5OTk4MAogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzUgPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzUgPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF82ID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF82ID0gLTAuMDk5OTgwCiAgICBSRUZMRUNUQU5DRV9NQVhJTVVNX0JBTkRfNyA9IDEuMjEwNzAwCiAgICBSRUZMRUNUQU5DRV9NSU5JTVVNX0JBTkRfNyA9IC0wLjA5OTk4MAogICAgUkVGTEVDVEFOQ0VfTUFYSU1VTV9CQU5EXzggPSAxLjIxMDcwMAogICAgUkVGTEVDVEFOQ0VfTUlOSU1VTV9CQU5EXzggPSAtMC4wOTk5ODAKICAgIFJFRkxFQ1RBTkNFX01BWElNVU1fQkFORF85ID0gMS4yMTA3MDAKICAgIFJFRkxFQ1RBTkNFX01JTklNVU1fQkFORF85ID0gLTAuMDk5OTgwCiAgRU5EX0dST1VQID0gTUlOX01BWF9SRUZMRUNUQU5DRQogIEdST1VQID0gTUlOX01BWF9QSVhFTF9WQUxVRQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzEgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzEgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfMiA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfMiA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF8zID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF8zID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzQgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzQgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfNSA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfNSA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF82ID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF82ID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzcgPSA2NTUzNQogICAgUVVBTlRJWkVfQ0FMX01JTl9CQU5EXzcgPSAxCiAgICBRVUFOVElaRV9DQUxfTUFYX0JBTkRfOCA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfOCA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF85ID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF85ID0gMQogICAgUVVBTlRJWkVfQ0FMX01BWF9CQU5EXzEwID0gNjU1MzUKICAgIFFVQU5USVpFX0NBTF9NSU5fQkFORF8xMCA9IDEKICAgIFFVQU5USVpFX0NBTF9NQVhfQkFORF8xMSA9IDY1NTM1CiAgICBRVUFOVElaRV9DQUxfTUlOX0JBTkRfMTEgPSAxCiAgRU5EX0dST1VQID0gTUlOX01BWF9QSVhFTF9WQUxVRQogIEdST1VQID0gUkFESU9NRVRSSUNfUkVTQ0FMSU5HCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfMSA9IDEuMjQyMkUtMDIKICAgIFJBRElBTkNFX01VTFRfQkFORF8yID0gMS4yNzIwRS0wMgogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzMgPSAxLjE3MjFFLTAyCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfNCA9IDkuODg0MkUtMDMKICAgIFJBRElBTkNFX01VTFRfQkFORF81ID0gNi4wNDg3RS0wMwogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzYgPSAxLjUwNDJFLTAzCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfNyA9IDUuMDcwMUUtMDQKICAgIFJBRElBTkNFX01VTFRfQkFORF84ID0gMS4xMTg2RS0wMgogICAgUkFESUFOQ0VfTVVMVF9CQU5EXzkgPSAyLjM2NDBFLTAzCiAgICBSQURJQU5DRV9NVUxUX0JBTkRfMTAgPSAzLjM0MjBFLTA0CiAgICBSQURJQU5DRV9NVUxUX0JBTkRfMTEgPSAzLjM0MjBFLTA0CiAgICBSQURJQU5DRV9BRERfQkFORF8xID0gLTYyLjEwOTI4CiAgICBSQURJQU5DRV9BRERfQkFORF8yID0gLTYzLjYwMDY2CiAgICBSQURJQU5DRV9BRERfQkFORF8zID0gLTU4LjYwNzQ3CiAgICBSQURJQU5DRV9BRERfQkFORF80ID0gLTQ5LjQyMTEyCiAgICBSQURJQU5DRV9BRERfQkFORF81ID0gLTMwLjI0MzI2CiAgICBSQURJQU5DRV9BRERfQkFORF82ID0gLTcuNTIxMjIKICAgIFJBRElBTkNFX0FERF9CQU5EXzcgPSAtMi41MzUwNQogICAgUkFESUFOQ0VfQUREX0JBTkRfOCA9IC01NS45MzExMAogICAgUkFESUFOQ0VfQUREX0JBTkRfOSA9IC0xMS44MTk3NQogICAgUkFESUFOQ0VfQUREX0JBTkRfMTAgPSAwLjEwMDAwCiAgICBSQURJQU5DRV9BRERfQkFORF8xMSA9IDAuMTAwMDAKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF8xID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzIgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfMyA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF80ID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzUgPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfNiA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX01VTFRfQkFORF83ID0gMi4wMDAwRS0wNQogICAgUkVGTEVDVEFOQ0VfTVVMVF9CQU5EXzggPSAyLjAwMDBFLTA1CiAgICBSRUZMRUNUQU5DRV9NVUxUX0JBTkRfOSA9IDIuMDAwMEUtMDUKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzEgPSAtMC4xMDAwMDAKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzIgPSAtMC4xMDAwMDAKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzMgPSAtMC4xMDAwMDAKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzQgPSAtMC4xMDAwMDAKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzUgPSAtMC4xMDAwMDAKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzYgPSAtMC4xMDAwMDAKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzcgPSAtMC4xMDAwMDAKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzggPSAtMC4xMDAwMDAKICAgIFJFRkxFQ1RBTkNFX0FERF9CQU5EXzkgPSAtMC4xMDAwMDAKICBFTkRfR1JPVVAgPSBSQURJT01FVFJJQ19SRVNDQUxJTkcKICBHUk9VUCA9IFRJUlNfVEhFUk1BTF9DT05TVEFOVFMKICAgIEsxX0NPTlNUQU5UX0JBTkRfMTAgPSA3NzQuODg1MwogICAgSzFfQ09OU1RBTlRfQkFORF8xMSA9IDQ4MC44ODgzCiAgICBLMl9DT05TVEFOVF9CQU5EXzEwID0gMTMyMS4wNzg5CiAgICBLMl9DT05TVEFOVF9CQU5EXzExID0gMTIwMS4xNDQyCiAgRU5EX0dST1VQID0gVElSU19USEVSTUFMX0NPTlNUQU5UUwogIEdST1VQID0gUFJPSkVDVElPTl9QQVJBTUVURVJTCiAgICBNQVBfUFJPSkVDVElPTiA9ICJVVE0iCiAgICBEQVRVTSA9ICJXR1M4NCIKICAgIEVMTElQU09JRCA9ICJXR1M4NCIKICAgIFVUTV9aT05FID0gMTAKICAgIEdSSURfQ0VMTF9TSVpFX1BBTkNIUk9NQVRJQyA9IDE1LjAwCiAgICBHUklEX0NFTExfU0laRV9SRUZMRUNUSVZFID0gMzAuMDAKICAgIEdSSURfQ0VMTF9TSVpFX1RIRVJNQUwgPSAzMC4wMAogICAgT1JJRU5UQVRJT04gPSAiTk9SVEhfVVAiCiAgICBSRVNBTVBMSU5HX09QVElPTiA9ICJDVUJJQ19DT05WT0xVVElPTiIKICBFTkRfR1JPVVAgPSBQUk9KRUNUSU9OX1BBUkFNRVRFUlMKRU5EX0dST1VQID0gTDFfTUVUQURBVEFfRklMRQpFTkQK" } }, { - "ID": "5b41524e689f760d", + "ID": "320dc27adc377057", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/storage-library-test-bucket/gzipped-text.txt", + "URL": "https://storage.googleapis.com/gcp-public-data-landsat/LC08/PRE/044/034/LC80440342016259LGN00/LC80440342016259LGN00_MTL.txt", "Header": { "Range": [ - "bytes=1-8" + "bytes=0-17" ], "User-Agent": [ "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 206, @@ -14860,70 +18423,73 @@ "Accept-Ranges": [ "bytes" ], - "Age": [ - "213" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ "public, max-age=3600" ], - "Content-Encoding": [ - "gzip" - ], "Content-Length": [ - "8" + "18" ], "Content-Range": [ - "bytes 1-8/31" + "bytes 0-17/7903" ], "Content-Type": [ - "text/plain" + "application/octet-stream" ], "Date": [ - "Wed, 09 Jan 2019 22:05:37 GMT" + "Thu, 02 May 2019 22:25:27 GMT" ], "Etag": [ - "\"c6117833aa4d1510d09ef69144d56790\"" + "\"7a5fd4743bd647485f88496fadb05c51\"" ], "Expires": [ - "Wed, 09 Jan 2019 23:05:37 GMT" + "Thu, 02 May 2019 23:25:27 GMT" ], "Last-Modified": [ - "Tue, 14 Nov 2017 13:07:32 GMT" + "Tue, 04 Oct 2016 16:42:07 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Accept-Encoding" - ], "X-Goog-Generation": [ - "1510664852486988" + "1475599327662000" ], "X-Goog-Hash": [ - "crc32c=T1s5RQ==", - "md5=xhF4M6pNFRDQnvaRRNVnkA==" + "crc32c=PWBt8g==", + "md5=el/UdDvWR0hfiElvrbBcUQ==" ], "X-Goog-Metageneration": [ - "2" + "1" ], "X-Goog-Storage-Class": [ - "MULTI_REGIONAL" + "STANDARD" ], "X-Goog-Stored-Content-Encoding": [ - "gzip" + "identity" ], "X-Goog-Stored-Content-Length": [ - "31" + "7903" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2Uq7ERxIWlQTa2f82zqbf1YaC7FKVy7pw0SdR073md1iEIld7-Ir6tr7QyMGwJzha9FTnW8IZkt7am-1F13yxhZYmMaUEfaA_5nXRg-N6a9SVbb_9fA" + "AEnB2UovperPufphUvaf55r54Wd-USAbL2ZQVTseICyulStqI633iJcFBLryyqecsHQcoU2cXp4MsKgB8uQu979IXcnv-aGNm6viDydIrqmPqA7SmPElPGI" ] }, - "Body": "iwgAAAAAAAA=" + "Body": "R1JPVVAgPSBMMV9NRVRBREFU" } }, { - "ID": "c72f45933b7713e2", + "ID": "a20a4e3b35dfd271", "Request": { "Method": "GET", "URL": "https://storage.googleapis.com/storage-library-test-bucket/gzipped-text.txt", @@ -14931,18 +18497,17 @@ "Accept-Encoding": [ "gzip" ], - "Range": [ - "bytes=1-8" - ], "User-Agent": [ "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 206, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, @@ -14950,8 +18515,8 @@ "Accept-Ranges": [ "bytes" ], - "Age": [ - "213" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ "public, max-age=3600" @@ -14959,23 +18524,17 @@ "Content-Encoding": [ "gzip" ], - "Content-Length": [ - "8" - ], - "Content-Range": [ - "bytes 1-8/31" - ], "Content-Type": [ "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:05:37 GMT" + "Thu, 02 May 2019 22:25:27 GMT" ], "Etag": [ "\"c6117833aa4d1510d09ef69144d56790\"" ], "Expires": [ - "Wed, 09 Jan 2019 23:05:37 GMT" + "Thu, 02 May 2019 23:25:27 GMT" ], "Last-Modified": [ "Tue, 14 Nov 2017 13:07:32 GMT" @@ -15005,32 +18564,38 @@ "X-Goog-Stored-Content-Length": [ "31" ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq7ERxIWlQTa2f82zqbf1YaC7FKVy7pw0SdR073md1iEIld7-Ir6tr7QyMGwJzha9FTnW8IZkt7am-1F13yxhZYmMaUEfaA_5nXRg-N6a9SVbb_9fA" + "AEnB2Uq7491k1eCc7fe_JApsP1zDcSyo759KmHvh-9YHm9ekpOGaG8v1bZNPjaMEkikJSDYt_LkVMHrb9HTDx9vvDGy3Zm1kPrlxS4933Sw-Wdh35lDomi4" ] }, - "Body": "iwgAAAAAAAA=" + "Body": "H4sIAAAAAAAAC8tIzcnJVyjPL8pJAQCFEUoNCwAAAA==" } }, { - "ID": "db5b9b1859788505", + "ID": "d1941f2e08f3bc52", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "Method": "GET", + "URL": "https://storage.googleapis.com/storage-library-test-bucket/gzipped-text.txt", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "168" - ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJjb3JzIjpbeyJtYXhBZ2VTZWNvbmRzIjozNjAwLCJtZXRob2QiOlsiUE9TVCJdLCJvcmlnaW4iOlsic29tZS1vcmlnaW4uY29tIl0sInJlc3BvbnNlSGVhZGVyIjpbImZvby1iYXIiXX1dLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA0In0K" + "" ] }, "Response": { @@ -15039,118 +18604,91 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "public, max-age=3600" ], - "Content-Length": [ - "592" + "Content-Encoding": [ + "gzip" ], "Content-Type": [ - "application/json; charset=UTF-8" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:09:10 GMT" + "Thu, 02 May 2019 22:25:27 GMT" ], "Etag": [ - "CAE=" + "\"c6117833aa4d1510d09ef69144d56790\"" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Thu, 02 May 2019 23:25:27 GMT" ], - "Pragma": [ - "no-cache" + "Last-Modified": [ + "Tue, 14 Nov 2017 13:07:32 GMT" ], "Server": [ "UploadServer" ], "Vary": [ - "Origin", - "X-Origin" + "Accept-Encoding" ], - "X-Guploader-Uploadid": [ - "AEnB2UqvHYeJHcfmapCkYSCFI-Xd9NVzFlOe1tnqGOJuIk5e-IGdydOvXkAFPOrlS3gr22V3Kt6x0jEKe0ootmSc6HHsEtxkqC37umtrkSSKUoPOSiw5K9k" - ] - }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDQiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MTAuNjYyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjEwLjY2MloiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsImNvcnMiOlt7Im9yaWdpbiI6WyJzb21lLW9yaWdpbi5jb20iXSwibWV0aG9kIjpbIlBPU1QiXSwicmVzcG9uc2VIZWFkZXIiOlsiZm9vLWJhciJdLCJtYXhBZ2VTZWNvbmRzIjozNjAwfV0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" - } - }, - { - "ID": "ee6c757114eb0bea", - "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0004?alt=json\u0026prettyPrint=false\u0026projection=full", - "Header": { - "Accept-Encoding": [ - "gzip" - ], - "Content-Length": [ - "99" - ], - "User-Agent": [ - "google-api-go-client/0.5" - ] - }, - "MediaType": "application/json", - "BodyParts": [ - "eyJjb3JzIjpbeyJtYXhBZ2VTZWNvbmRzIjozNjAwLCJtZXRob2QiOlsiR0VUIl0sIm9yaWdpbiI6WyIqIl0sInJlc3BvbnNlSGVhZGVyIjpbInNvbWUtaGVhZGVyIl19XX0K" - ] - }, - "Response": { - "StatusCode": 200, - "Proto": "HTTP/1.1", - "ProtoMajor": 1, - "ProtoMinor": 1, - "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "X-Goog-Generation": [ + "1510664852486988" ], - "Content-Length": [ - "2508" + "X-Goog-Hash": [ + "crc32c=T1s5RQ==", + "md5=xhF4M6pNFRDQnvaRRNVnkA==" ], - "Content-Type": [ - "application/json; charset=UTF-8" + "X-Goog-Metageneration": [ + "2" ], - "Date": [ - "Wed, 09 Jan 2019 22:09:11 GMT" + "X-Goog-Storage-Class": [ + "MULTI_REGIONAL" ], - "Etag": [ - "CAI=" + "X-Goog-Stored-Content-Encoding": [ + "gzip" ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "X-Goog-Stored-Content-Length": [ + "31" ], - "Pragma": [ - "no-cache" + "X-Guploader-Customer": [ + "cloud-storage" ], - "Server": [ - "UploadServer" + "X-Guploader-Request-Result": [ + "success" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UrDVbLHsD0E9IaGqbq0B_AjFXlRusV6kPaZN57u_OJBW8Jsjm737G2rutgykyMxKqCKq6qDSktDIjOdnNIqeYlU8CGjt8VbLcRsDTS04jK8P-Ntln0" + "AEnB2UoYIJ-m0VbRdjw7ZGI_0TiIfj6fcuhJkomWPdQGApFxH2_LnekHIdv7igEpJAM3a-zrTOzR20bzvc-JBunTe_-f_Hsyxz_VPxJNrQY7PSrQ3OMfEhQ" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDQiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MTAuNjYyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjExLjUxNVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDQiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDQvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDQvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA0L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDQiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJjb3JzIjpbeyJvcmlnaW4iOlsiKiJdLCJtZXRob2QiOlsiR0VUIl0sInJlc3BvbnNlSGVhZGVyIjpbInNvbWUtaGVhZGVyIl0sIm1heEFnZVNlY29uZHMiOjM2MDB9XSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9" + "Body": "H4sIAAAAAAAAC8tIzcnJVyjPL8pJAQCFEUoNCwAAAA==" } }, { - "ID": "11c53c4f83990a4e", + "ID": "2451a87df39e1241", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0004?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://storage.googleapis.com/storage-library-test-bucket/gzipped-text.txt", "Header": { - "Accept-Encoding": [ - "gzip" + "Range": [ + "bytes=1-8" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -15158,221 +18696,177 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], - "Content-Length": [ - "2508" + "Cache-Control": [ + "public, max-age=3600" ], "Content-Type": [ - "application/json; charset=UTF-8" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:09:11 GMT" + "Thu, 02 May 2019 22:25:27 GMT" ], "Etag": [ - "CAI=" + "W/\"c6117833aa4d1510d09ef69144d56790\"" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:11 GMT" + "Thu, 02 May 2019 23:25:27 GMT" + ], + "Last-Modified": [ + "Tue, 14 Nov 2017 13:07:32 GMT" ], "Server": [ "UploadServer" ], "Vary": [ - "Origin", - "X-Origin" + "Accept-Encoding" ], - "X-Guploader-Uploadid": [ - "AEnB2UqeglIrYO2GNdr9a5VJLvFCWyNvFFqdRrPWiwFHwGcaY3Iw-uMUOypfwE5Nz-9RSOF7ldIO4oWdCGYoyQXGOV2VyG8peU81uFNKc8dWUsRNK5Sahd8" - ] - }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDQiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MTAuNjYyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjExLjUxNVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDQiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDQvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDQvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA0L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDQiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJjb3JzIjpbeyJvcmlnaW4iOlsiKiJdLCJtZXRob2QiOlsiR0VUIl0sInJlc3BvbnNlSGVhZGVyIjpbInNvbWUtaGVhZGVyIl0sIm1heEFnZVNlY29uZHMiOjM2MDB9XSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9" - } - }, - { - "ID": "2f99ffcbddfb4db2", - "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", - "Header": { - "Accept-Encoding": [ - "gzip" + "Warning": [ + "214 UploadServer gunzipped" ], - "Content-Length": [ - "168" + "X-Goog-Generation": [ + "1510664852486988" ], - "User-Agent": [ - "google-api-go-client/0.5" - ] - }, - "MediaType": "application/json", - "BodyParts": [ - "eyJjb3JzIjpbeyJtYXhBZ2VTZWNvbmRzIjozNjAwLCJtZXRob2QiOlsiUE9TVCJdLCJvcmlnaW4iOlsic29tZS1vcmlnaW4uY29tIl0sInJlc3BvbnNlSGVhZGVyIjpbImZvby1iYXIiXX1dLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA1In0K" - ] - }, - "Response": { - "StatusCode": 200, - "Proto": "HTTP/1.1", - "ProtoMajor": 1, - "ProtoMinor": 1, - "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "X-Goog-Hash": [ + "crc32c=T1s5RQ==", + "md5=xhF4M6pNFRDQnvaRRNVnkA==" ], - "Content-Length": [ - "592" + "X-Goog-Metageneration": [ + "2" ], - "Content-Type": [ - "application/json; charset=UTF-8" + "X-Goog-Storage-Class": [ + "MULTI_REGIONAL" ], - "Date": [ - "Wed, 09 Jan 2019 22:09:12 GMT" + "X-Goog-Stored-Content-Encoding": [ + "gzip" ], - "Etag": [ - "CAE=" + "X-Goog-Stored-Content-Length": [ + "31" ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "X-Guploader-Customer": [ + "cloud-storage" ], - "Pragma": [ - "no-cache" + "X-Guploader-Request-Result": [ + "success" ], - "Server": [ - "UploadServer" + "X-Guploader-Response-Body-Transformations": [ + "gunzipped" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2Uq6bTw-gP-0h9Tjj_fTSyx2qlIJc2umnuut8J9F7RcrxDWdBwpdLXnsjU12scSsf_rkiUpAa2l9hyrAdYjG6J6qlmrdXgpUpIA6_JusoD4gb2LVbpY" + "AEnB2UoNfvi75DBdUL5KpenQbqbsYr5A8YSQp2lGAPIhe4FlijJP95WctTUrdrLIyq3riprP50HzntCuw7zh5ycZfqbJBkFbibeIwEp5bVDj7yVpJbqctiI" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDUiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MTIuMzM5WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjEyLjMzOVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsImNvcnMiOlt7Im9yaWdpbiI6WyJzb21lLW9yaWdpbi5jb20iXSwibWV0aG9kIjpbIlBPU1QiXSwicmVzcG9uc2VIZWFkZXIiOlsiZm9vLWJhciJdLCJtYXhBZ2VTZWNvbmRzIjozNjAwfV0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" + "Body": "aGVsbG8gd29ybGQ=" } }, { - "ID": "2d6950e331833c67", + "ID": "f0e47a86731e8924", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0005?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "GET", + "URL": "https://storage.googleapis.com/storage-library-test-bucket/gzipped-text.txt", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "12" + "Range": [ + "bytes=1-8" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJjb3JzIjpbXX0K" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 206, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "public, max-age=3600" ], - "Content-Length": [ - "2411" + "Content-Encoding": [ + "gzip" + ], + "Content-Range": [ + "bytes 1-8/31" ], "Content-Type": [ - "application/json; charset=UTF-8" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:09:13 GMT" + "Thu, 02 May 2019 22:25:27 GMT" ], "Etag": [ - "CAI=" + "\"c6117833aa4d1510d09ef69144d56790\"" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Thu, 02 May 2019 23:25:27 GMT" ], - "Pragma": [ - "no-cache" + "Last-Modified": [ + "Tue, 14 Nov 2017 13:07:32 GMT" ], "Server": [ "UploadServer" ], "Vary": [ - "Origin", - "X-Origin" + "Accept-Encoding" ], - "X-Guploader-Uploadid": [ - "AEnB2Upc_c1k0SIQW1VZWZFt_t2kiTKpRyuON5XlXeAWiswNcHMBANnKUnvi1bN4VgWguvsioxn8uzv8qis83au_X25CmWYNxk0mCEfIdF1mkL1iMt0iIZs" - ] - }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDUiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MTIuMzM5WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjEzLjIxNVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDUvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDUvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA1L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" - } - }, - { - "ID": "7be52b76804b9dd1", - "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0005?alt=json\u0026prettyPrint=false\u0026projection=full", - "Header": { - "Accept-Encoding": [ - "gzip" + "X-Goog-Generation": [ + "1510664852486988" ], - "User-Agent": [ - "google-api-go-client/0.5" - ] - }, - "MediaType": "", - "BodyParts": null - }, - "Response": { - "StatusCode": 200, - "Proto": "HTTP/1.1", - "ProtoMajor": 1, - "ProtoMinor": 1, - "Header": { - "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "X-Goog-Hash": [ + "crc32c=T1s5RQ==", + "md5=xhF4M6pNFRDQnvaRRNVnkA==" ], - "Content-Length": [ - "2411" + "X-Goog-Metageneration": [ + "2" ], - "Content-Type": [ - "application/json; charset=UTF-8" + "X-Goog-Storage-Class": [ + "MULTI_REGIONAL" ], - "Date": [ - "Wed, 09 Jan 2019 22:09:13 GMT" + "X-Goog-Stored-Content-Encoding": [ + "gzip" ], - "Etag": [ - "CAI=" + "X-Goog-Stored-Content-Length": [ + "31" ], - "Expires": [ - "Wed, 09 Jan 2019 22:09:13 GMT" + "X-Guploader-Customer": [ + "cloud-storage" ], - "Server": [ - "UploadServer" + "X-Guploader-Request-Result": [ + "success" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2Urcm1K7mxt7C6Y4KmXYAMbXmLgZg0_IQ-ma6JOHaLiuBZi3Fq2aJynsolzXw7AfjmSR2oRXmFj9Hg6ulxyMA4z_hjCEB_Ed6m-FU9675rVKMqeeBSg" + "AEnB2Upzmwe6UNntf6SxdYLZTz0aZiFJ7UANU6y7I2YKJbADGSVoCRe63OoxcC4uh-9n2JEnkvQgq0dwCHCbQ3qmYG4cWFEovG_fIMKFx6O11iPQUhLmeFw" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDUiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MTIuMzM5WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjEzLjIxNVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDUvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDUvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA1L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" + "Body": "iwgAAAAAAAA=" } }, { - "ID": "47ea96188500d585", + "ID": "2a14c414736e344d", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" @@ -15386,7 +18880,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJjb3JzIjpbeyJtYXhBZ2VTZWNvbmRzIjozNjAwLCJtZXRob2QiOlsiUE9TVCJdLCJvcmlnaW4iOlsic29tZS1vcmlnaW4uY29tIl0sInJlc3BvbnNlSGVhZGVyIjpbImZvby1iYXIiXX1dLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA2In0K" + "eyJjb3JzIjpbeyJtYXhBZ2VTZWNvbmRzIjozNjAwLCJtZXRob2QiOlsiUE9TVCJdLCJvcmlnaW4iOlsic29tZS1vcmlnaW4uY29tIl0sInJlc3BvbnNlSGVhZGVyIjpbImZvby1iYXIiXX1dLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA0In0K" ] }, "Response": { @@ -15395,17 +18889,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "592" + "593" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:14 GMT" + "Thu, 02 May 2019 22:25:28 GMT" ], "Etag": [ "CAE=" @@ -15423,24 +18920,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Up3i3SoPojTQRWfkD40SUrzVCsRmBSouFgeGB7imLAXS6OQggaYuG-0QEc0Kq8YQBovdfzcSjVpC9O3G-y4ELqyJO6dOj5I4nmBCtlwP3QHYJPgHsU" + "AEnB2UrgiftU7BDllYqI1jhKj6RbZME3LoakRb653ThaSSD_kzX1O5odabBcDFfG-oswR6YOcDZTW174qxbUaa2G1EvajUt_wJAD3ViGgoMwT_YjoTvObkc" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNiIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDYiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MTQuMjkwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjE0LjI5MFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsImNvcnMiOlt7Im9yaWdpbiI6WyJzb21lLW9yaWdpbi5jb20iXSwibWV0aG9kIjpbIlBPU1QiXSwicmVzcG9uc2VIZWFkZXIiOlsiZm9vLWJhciJdLCJtYXhBZ2VTZWNvbmRzIjozNjAwfV0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA0IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjI4LjAwOVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToyOC4wMDlaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJjb3JzIjpbeyJvcmlnaW4iOlsic29tZS1vcmlnaW4uY29tIl0sIm1ldGhvZCI6WyJQT1NUIl0sInJlc3BvbnNlSGVhZGVyIjpbImZvby1iYXIiXSwibWF4QWdlU2Vjb25kcyI6MzYwMH1dLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" } }, { - "ID": "2b832adf44627d5a", + "ID": "b03cb69547c1a6de", "Request": { "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0006?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0004?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "3" + "99" ], "User-Agent": [ "google-api-go-client/0.5" @@ -15448,7 +18954,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "e30K" + "eyJjb3JzIjpbeyJtYXhBZ2VTZWNvbmRzIjozNjAwLCJtZXRob2QiOlsiR0VUIl0sIm9yaWdpbiI6WyIqIl0sInJlc3BvbnNlSGVhZGVyIjpbInNvbWUtaGVhZGVyIl19XX0K" ] }, "Response": { @@ -15457,20 +18963,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2519" + "2528" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:14 GMT" + "Thu, 02 May 2019 22:25:28 GMT" ], "Etag": [ - "CAE=" + "CAI=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -15485,480 +18994,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrVcPbpM7NyDey_iV-PBm7A8uTqZlZR7rWDFwRAgW5huFO0-M-Ao2wn6LLkw3W8XO82v3CCEjUZeBK7-MUWJB7F2iYi4Jf1C-lGJ7HWxoY6rXyO4NE" + "AEnB2Urw36CL-_RvF58GoVX1bJlTZ1YUUdWXJKQDIac7eTOYj5s65KYFsk2ndonwA5ro_9nGPfo4qRIYyt7J1Xxb01TiJUQPRXzH-z9T_S5UQE6fxOssN0g" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNiIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDYiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MTQuMjkwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjE0LjI5MFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNi9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDYiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNi9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDYvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDYvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA2L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDYiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJjb3JzIjpbeyJvcmlnaW4iOlsic29tZS1vcmlnaW4uY29tIl0sIm1ldGhvZCI6WyJQT1NUIl0sInJlc3BvbnNlSGVhZGVyIjpbImZvby1iYXIiXSwibWF4QWdlU2Vjb25kcyI6MzYwMH1dLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA0IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjI4LjAwOVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToyOC43MjRaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDQvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA0L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDQiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA0L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDQvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDQiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDQvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsImNvcnMiOlt7Im9yaWdpbiI6WyIqIl0sIm1ldGhvZCI6WyJHRVQiXSwicmVzcG9uc2VIZWFkZXIiOlsic29tZS1oZWFkZXIiXSwibWF4QWdlU2Vjb25kcyI6MzYwMH1dLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" } }, { - "ID": "023c554d4852933a", + "ID": "735da673f622341d", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0006?alt=json\u0026prettyPrint=false\u0026projection=full", - "Header": { - "Accept-Encoding": [ - "gzip" - ], - "User-Agent": [ - "google-api-go-client/0.5" - ] - }, - "MediaType": "", - "BodyParts": null - }, - "Response": { - "StatusCode": 200, - "Proto": "HTTP/1.1", - "ProtoMajor": 1, - "ProtoMinor": 1, - "Header": { - "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" - ], - "Content-Length": [ - "2519" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 09 Jan 2019 22:09:15 GMT" - ], - "Etag": [ - "CAE=" - ], - "Expires": [ - "Wed, 09 Jan 2019 22:09:15 GMT" - ], - "Server": [ - "UploadServer" - ], - "Vary": [ - "Origin", - "X-Origin" - ], - "X-Guploader-Uploadid": [ - "AEnB2UpNqRgaEYgCiGLnkUDaTQOiPqhprXQqpeN7NK9Timfizsdz1P0xoDsL2Weum7NKDfMsDuuyuZ20TYeb9EQgQXWk3ZykkqGCzszHGvHlohSIvNBf1KQ" - ] - }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNiIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDYiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MTQuMjkwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjE0LjI5MFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNi9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDYiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNi9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDYvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDYvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA2L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDYiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJjb3JzIjpbeyJvcmlnaW4iOlsic29tZS1vcmlnaW4uY29tIl0sIm1ldGhvZCI6WyJQT1NUIl0sInJlc3BvbnNlSGVhZGVyIjpbImZvby1iYXIiXSwibWF4QWdlU2Vjb25kcyI6MzYwMH1dLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" - } - }, - { - "ID": "6d656fcf8381e557", - "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0006?alt=json\u0026prettyPrint=false", - "Header": { - "Accept-Encoding": [ - "gzip" - ], - "User-Agent": [ - "google-api-go-client/0.5" - ] - }, - "MediaType": "", - "BodyParts": null - }, - "Response": { - "StatusCode": 204, - "Proto": "HTTP/1.1", - "ProtoMajor": 1, - "ProtoMinor": 1, - "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "0" - ], - "Content-Type": [ - "application/json" - ], - "Date": [ - "Wed, 09 Jan 2019 22:09:15 GMT" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" - ], - "Server": [ - "UploadServer" - ], - "Vary": [ - "Origin", - "X-Origin" - ], - "X-Guploader-Uploadid": [ - "AEnB2UoIPT0W0fd8XTz9XfU77W7MXw9OhnDb9S7xXqrwlRWPk8cDh47fIZ3lkrqAVFv_BMQjsQPOVyGQzzo7hirm92Hze5m87eOdg4mbPhXvWrTgdRZRXkk" - ] - }, - "Body": "" - } - }, - { - "ID": "37fecd87c471974b", - "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0005?alt=json\u0026prettyPrint=false", - "Header": { - "Accept-Encoding": [ - "gzip" - ], - "User-Agent": [ - "google-api-go-client/0.5" - ] - }, - "MediaType": "", - "BodyParts": null - }, - "Response": { - "StatusCode": 204, - "Proto": "HTTP/1.1", - "ProtoMajor": 1, - "ProtoMinor": 1, - "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "0" - ], - "Content-Type": [ - "application/json" - ], - "Date": [ - "Wed, 09 Jan 2019 22:09:16 GMT" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" - ], - "Server": [ - "UploadServer" - ], - "Vary": [ - "Origin", - "X-Origin" - ], - "X-Guploader-Uploadid": [ - "AEnB2UpgPTWlu4JWzOVYALJ4PS55lywzRBqRJSz2VycqTRBLje4D-sRVcv9hUW7bHCqDUQosv1yJHx1cejbIp7-rrexQTXhLMwY-HDJ1B5sjvEW4qMMDimg" - ] - }, - "Body": "" - } - }, - { - "ID": "001ffe9604451298", - "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0004?alt=json\u0026prettyPrint=false", - "Header": { - "Accept-Encoding": [ - "gzip" - ], - "User-Agent": [ - "google-api-go-client/0.5" - ] - }, - "MediaType": "", - "BodyParts": null - }, - "Response": { - "StatusCode": 204, - "Proto": "HTTP/1.1", - "ProtoMajor": 1, - "ProtoMinor": 1, - "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "0" - ], - "Content-Type": [ - "application/json" - ], - "Date": [ - "Wed, 09 Jan 2019 22:09:16 GMT" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" - ], - "Server": [ - "UploadServer" - ], - "Vary": [ - "Origin", - "X-Origin" - ], - "X-Guploader-Uploadid": [ - "AEnB2UoBVtPsMfw8PQI5xbSrQ7me-IzuDpiYeyBWjdAA9PwQ7w4Wynu0XLB6T1bIN2xOK74DqsIdlxSRWq8Y6H-Crw2lZcov6X0-Arg_ldc7t1MPe6mqV_Y" - ] - }, - "Body": "" - } - }, - { - "ID": "6879374eb2c4d81c", - "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", - "Header": { - "Accept-Encoding": [ - "gzip" - ], - "Content-Length": [ - "60" - ], - "User-Agent": [ - "google-api-go-client/0.5" - ] - }, - "MediaType": "application/json", - "BodyParts": [ - "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA3In0K" - ] - }, - "Response": { - "StatusCode": 200, - "Proto": "HTTP/1.1", - "ProtoMajor": 1, - "ProtoMinor": 1, - "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "484" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 09 Jan 2019 22:09:17 GMT" - ], - "Etag": [ - "CAE=" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" - ], - "Server": [ - "UploadServer" - ], - "Vary": [ - "Origin", - "X-Origin" - ], - "X-Guploader-Uploadid": [ - "AEnB2Upssr9qamdKIPSCrOTaixtfSv57hhQ1PaN8abzjTXq4dfTOzveXRt9YtWZKEQyJrPalQ2NuiTtZzCE0pbvB0n2uO52mYA1pJYHrzHo8fIPUZG5Ofbk" - ] - }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MTcuNDU1WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjE3LjQ1NVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" - } - }, - { - "ID": "b9d40317fa2ad898", - "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0007?alt=json\u0026prettyPrint=false\u0026projection=full", - "Header": { - "Accept-Encoding": [ - "gzip" - ], - "User-Agent": [ - "google-api-go-client/0.5" - ] - }, - "MediaType": "", - "BodyParts": null - }, - "Response": { - "StatusCode": 200, - "Proto": "HTTP/1.1", - "ProtoMajor": 1, - "ProtoMinor": 1, - "Header": { - "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" - ], - "Content-Length": [ - "2411" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 09 Jan 2019 22:09:18 GMT" - ], - "Etag": [ - "CAE=" - ], - "Expires": [ - "Wed, 09 Jan 2019 22:09:18 GMT" - ], - "Server": [ - "UploadServer" - ], - "Vary": [ - "Origin", - "X-Origin" - ], - "X-Guploader-Uploadid": [ - "AEnB2UpaBqu7s5IIBRO02zCR1dzB6tQ6EXRpvD2BHSq30pomNuWUJVWes8QBEByftB-7h7A1mRpLEGnWT1VJcQwmJ_PagmPQH3NK3QjrdJTRJQKBTkuKktQ" - ] - }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MTcuNDU1WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjE3LjQ1NVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDcvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDcvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA3L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" - } - }, - { - "ID": "9e65b0041d903a4e", - "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0007?alt=json\u0026prettyPrint=false\u0026projection=full", - "Header": { - "Accept-Encoding": [ - "gzip" - ], - "Content-Length": [ - "31" - ], - "User-Agent": [ - "google-api-go-client/0.5" - ] - }, - "MediaType": "application/json", - "BodyParts": [ - "eyJkZWZhdWx0RXZlbnRCYXNlZEhvbGQiOnRydWV9Cg==" - ] - }, - "Response": { - "StatusCode": 200, - "Proto": "HTTP/1.1", - "ProtoMajor": 1, - "ProtoMinor": 1, - "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "2440" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 09 Jan 2019 22:09:18 GMT" - ], - "Etag": [ - "CAI=" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" - ], - "Server": [ - "UploadServer" - ], - "Vary": [ - "Origin", - "X-Origin" - ], - "X-Guploader-Uploadid": [ - "AEnB2Ur_7Ove0DoVAztScaAASfEL_liUD5YRllpnfe5s8sz05xTdRvImhpBA51_P-OVCqL__j14yRHDQUv9tyPCuiAHLqNK-hNnlzx_1T5LKHX_oh6iNHrw" - ] - }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MTcuNDU1WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjE4LjYxOFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDcvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDcvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA3L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJkZWZhdWx0RXZlbnRCYXNlZEhvbGQiOnRydWUsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifQ==" - } - }, - { - "ID": "0b897a411788d253", - "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0007?alt=json\u0026prettyPrint=false\u0026projection=full", - "Header": { - "Accept-Encoding": [ - "gzip" - ], - "User-Agent": [ - "google-api-go-client/0.5" - ] - }, - "MediaType": "", - "BodyParts": null - }, - "Response": { - "StatusCode": 200, - "Proto": "HTTP/1.1", - "ProtoMajor": 1, - "ProtoMinor": 1, - "Header": { - "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" - ], - "Content-Length": [ - "2440" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 09 Jan 2019 22:09:19 GMT" - ], - "Etag": [ - "CAI=" - ], - "Expires": [ - "Wed, 09 Jan 2019 22:09:19 GMT" - ], - "Server": [ - "UploadServer" - ], - "Vary": [ - "Origin", - "X-Origin" - ], - "X-Guploader-Uploadid": [ - "AEnB2UrByt_O9ubTfx1YswkhqK7D-f9Y645m89yX_xmEfpHllQ3VCzcx6IJgg_4E5HjZSybU5NQhqNWhpmhmJm37bUdsIQLBFjzqVTKq1mbhh_aDHWoz-fk" - ] - }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MTcuNDU1WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjE4LjYxOFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDcvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDcvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA3L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJkZWZhdWx0RXZlbnRCYXNlZEhvbGQiOnRydWUsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifQ==" - } - }, - { - "ID": "afa99d285acd305e", - "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0007?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0004?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "35" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJiaWxsaW5nIjp7InJlcXVlc3RlclBheXMiOnRydWV9fQo=" + "" ] }, "Response": { @@ -15967,26 +19034,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "2473" + "2528" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:19 GMT" + "Thu, 02 May 2019 22:25:29 GMT" ], "Etag": [ - "CAM=" + "CAI=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:29 GMT" ], "Server": [ "UploadServer" @@ -15995,28 +19062,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Up9a72Cb6GYZ32s4vfDWTtmtHqP76T9IYqUef7luSdO5DolrpSEoAJmKYbKJNdNppvcFdBVjJvFoOCltkMannCKdVInBNKBUMGU9oi5zg_LpUZYIBM" + "AEnB2Urb-FeCpjdYOEj6HdkFXRMfVXffmMB8xjLqLwPvjgs3FghXs7r94UrXEpX0rW_CgEpjG6v6iHCWCkwxib31kFkLPMZMMZxHTy66dPT2AdBDsIE8Y8k" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MTcuNDU1WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjE5LjYxN1oiLCJtZXRhZ2VuZXJhdGlvbiI6IjMiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDcvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDcvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA3L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBTT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FNPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJkZWZhdWx0RXZlbnRCYXNlZEhvbGQiOnRydWUsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiYmlsbGluZyI6eyJyZXF1ZXN0ZXJQYXlzIjp0cnVlfSwiZXRhZyI6IkNBTT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA0IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjI4LjAwOVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToyOC43MjRaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDQvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA0L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDQiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA0L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDQvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDQiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDQvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsImNvcnMiOlt7Im9yaWdpbiI6WyIqIl0sIm1ldGhvZCI6WyJHRVQiXSwicmVzcG9uc2VIZWFkZXIiOlsic29tZS1oZWFkZXIiXSwibWF4QWdlU2Vjb25kcyI6MzYwMH1dLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" } }, { - "ID": "afbedbcfb34090e9", + "ID": "97ce23a7211781ed", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0007?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "168" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJjb3JzIjpbeyJtYXhBZ2VTZWNvbmRzIjozNjAwLCJtZXRob2QiOlsiUE9TVCJdLCJvcmlnaW4iOlsic29tZS1vcmlnaW4uY29tIl0sInJlc3BvbnNlSGVhZGVyIjpbImZvby1iYXIiXX1dLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA1In0K" + ] }, "Response": { "StatusCode": 200, @@ -16024,23 +19105,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2473" + "593" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:20 GMT" + "Thu, 02 May 2019 22:25:30 GMT" ], "Etag": [ - "CAM=" + "CAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:20 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -16049,46 +19136,66 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Ur5ClQ1Q7_TVcUyCKTEBz5XIDXkefVcHMo9hd_qS8_1jkIPEym4bNr50TNIwxCjZtzF2OktpnmJFj1RkdGvqAfS96_frpImjRudo4ZSHC1wHF8sHzo" + "AEnB2UrqrjU-mu7dGgY6-CuNd9AwgGuKtQ_O589el9eyWSAb54cDYnQN74dl8HxRVzIUayStgIinEuuux2afAlvkUGm9lhrefX8nugBXNL2lGluNcfQKfRo" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MTcuNDU1WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjE5LjYxN1oiLCJtZXRhZ2VuZXJhdGlvbiI6IjMiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDcvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDcvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA3L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBTT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FNPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJkZWZhdWx0RXZlbnRCYXNlZEhvbGQiOnRydWUsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiYmlsbGluZyI6eyJyZXF1ZXN0ZXJQYXlzIjp0cnVlfSwiZXRhZyI6IkNBTT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA1IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjI5LjcyNFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToyOS43MjRaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJjb3JzIjpbeyJvcmlnaW4iOlsic29tZS1vcmlnaW4uY29tIl0sIm1ldGhvZCI6WyJQT1NUIl0sInJlc3BvbnNlSGVhZGVyIjpbImZvby1iYXIiXSwibWF4QWdlU2Vjb25kcyI6MzYwMH1dLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" } }, { - "ID": "53183be4ba7c2708", + "ID": "a8f5b1c42d7a3c5f", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0007?alt=json\u0026prettyPrint=false", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0005?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "12" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJjb3JzIjpbXX0K" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "2431" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:20 GMT" + "Thu, 02 May 2019 22:25:30 GMT" + ], + "Etag": [ + "CAI=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -16103,32 +19210,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqIEo96AemibXJemS_MIEW8HWWb6Vdv8KindND4BeoPC-LUbZ1pAz1FOq86l1YigLRfrM6zU1tL-NBD6XQAdd52GZl-Ow" + "AEnB2UpZ4q-BeojZ4WgF5ZHNzJG7sIvdOxmprH5GqoQ3DM-QllSzHWOwAfhVdJZH7WmVK5Dfs1TQH-pKgneNLb_9uYM-rDFb_5Hh9vs89o4pOPT9ob9ezTE" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA1IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjI5LjcyNFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozMC42MjhaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDUvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA1L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA1L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDUvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifQ==" } }, { - "ID": "4d3f30e27aa4e169", + "ID": "cab9472f01ed4bd5", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0005?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "60" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4In0K" + "" ] }, "Response": { @@ -16137,26 +19250,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "484" + "2431" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:21 GMT" + "Thu, 02 May 2019 22:25:31 GMT" ], "Etag": [ - "CAE=" + "CAI=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:31 GMT" ], "Server": [ "UploadServer" @@ -16165,30 +19278,41 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoKHDxqJXMSweOoBOBQm4MlujDJIEg2H_ykEhcdlLpBBmCF_GxArfC2oVzv-FuveUX2hYOKc_0TbCo4Jxee_UnYTeEdCYb8ke9kepBFO4rqxnKHXiI" + "AEnB2Uo0__TFFuzUsEi6Eck0G1lblGy_1abmyPHERWBavjN2GHncyWWnKQ6yYaFDpDVQ-kfBS15M6H9NoxXUDS0hZ9VX8S9hK4rUGAAFWXznHjOntSK5ldY" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjEuMTcyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjIxLjE3MloiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA1IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjI5LjcyNFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozMC42MjhaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDUvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA1L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA1L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDUvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifQ==" } }, { - "ID": "26873545aa5fc303", + "ID": "7a196e6b35872d48", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0008/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "168" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJuYW1lIjoic29tZS1vYmoifQo=", - "oMugpod8rTFFZBz2o/aPKw==" + "eyJjb3JzIjpbeyJtYXhBZ2VTZWNvbmRzIjozNjAwLCJtZXRob2QiOlsiUE9TVCJdLCJvcmlnaW4iOlsic29tZS1vcmlnaW4uY29tIl0sInJlc3BvbnNlSGVhZGVyIjpbImZvby1iYXIiXX1dLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA2In0K" ] }, "Response": { @@ -16197,20 +19321,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3285" + "593" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:21 GMT" + "Thu, 02 May 2019 22:25:31 GMT" ], "Etag": [ - "CPD/uLbb4d8CEAE=" + "CAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -16225,28 +19352,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Up78fYXkxW29nVFjDoPQMyDWOwJ75gJC5dS0lXs4jg6CtK4ogz1LkFCybFEqr2zQLccTFEnu9bBNHHUP1ye7ZPbKjGm9ITLgPSWL5tzpAqhl-L0z7I" + "AEnB2UpJhdZl7X4YXxzKdcr7SJ3C6Xadtlo0ixoS8DNO1jaDHs5MeGKu9nx2pHWPpnUWd13HZ8inxG0pMh3un84TucDfyLu4Z-5Gp7Ka3HBfPnt_w_VTiuE" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOC9zb21lLW9iai8xNTQ3MDcxNzYxODI1Nzc2Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjIxLjgyNVoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOToyMS44MjVaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjEuODI1WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJCUk5FZFFhSSswL2UyZEt0Z29EWHJnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTQ3MDcxNzYxODI1Nzc2JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L3NvbWUtb2JqLzE1NDcwNzE3NjE4MjU3NzYvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzYxODI1Nzc2IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUEQvdUxiYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvc29tZS1vYmovMTU0NzA3MTc2MTgyNTc3Ni9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUEQvdUxiYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvc29tZS1vYmovMTU0NzA3MTc2MTgyNTc3Ni9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1BEL3VMYmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L3NvbWUtb2JqLzE1NDcwNzE3NjE4MjU3NzYvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOC9vL3NvbWUtb2JqL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQRC91TGJiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiZWhPRkl3PT0iLCJldGFnIjoiQ1BEL3VMYmI0ZDhDRUFFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA2IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjMxLjQwN1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozMS40MDdaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJjb3JzIjpbeyJvcmlnaW4iOlsic29tZS1vcmlnaW4uY29tIl0sIm1ldGhvZCI6WyJQT1NUIl0sInJlc3BvbnNlSGVhZGVyIjpbImZvby1iYXIiXSwibWF4QWdlU2Vjb25kcyI6MzYwMH1dLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" } }, { - "ID": "ede002b66a30727e", + "ID": "24b6a3b712ccab17", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0008/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0006?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "3" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "e30K" + ] }, "Response": { "StatusCode": 200, @@ -16254,20 +19395,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3285" + "2539" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:22 GMT" + "Thu, 02 May 2019 22:25:31 GMT" ], "Etag": [ - "CPD/uLbb4d8CEAE=" + "CAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -16282,32 +19426,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpmAmhRFgPcBSfXKETZmhDZ2tB6jsI_B37TQ2JvTCZjQQYuPtEGQFxgnh-XGa6zK5MOapZdmRRl6faUxoYebt5ubtQzBFYDO0hji6PZiuRdbxylAG4" + "AEnB2Uqe_Q9NPVf3WTO_It8-A42wh0FD3KyF4kopi6posCEX6l28cnowG8O7WSYwETklwvpp0Uk1fCXiVmgwqLlWCSc3ez-nYllKp5m_UVtxup1E1UNadGg" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOC9zb21lLW9iai8xNTQ3MDcxNzYxODI1Nzc2Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjIxLjgyNVoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOToyMS44MjVaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjEuODI1WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJCUk5FZFFhSSswL2UyZEt0Z29EWHJnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTQ3MDcxNzYxODI1Nzc2JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L3NvbWUtb2JqLzE1NDcwNzE3NjE4MjU3NzYvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzYxODI1Nzc2IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUEQvdUxiYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvc29tZS1vYmovMTU0NzA3MTc2MTgyNTc3Ni9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUEQvdUxiYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvc29tZS1vYmovMTU0NzA3MTc2MTgyNTc3Ni9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1BEL3VMYmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L3NvbWUtb2JqLzE1NDcwNzE3NjE4MjU3NzYvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOC9vL3NvbWUtb2JqL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQRC91TGJiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiZWhPRkl3PT0iLCJldGFnIjoiQ1BEL3VMYmI0ZDhDRUFFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA2IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjMxLjQwN1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozMS40MDdaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDYvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA2L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDYiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA2L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDYvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDYiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDYvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsImNvcnMiOlt7Im9yaWdpbiI6WyJzb21lLW9yaWdpbi5jb20iXSwibWV0aG9kIjpbIlBPU1QiXSwicmVzcG9uc2VIZWFkZXIiOlsiZm9vLWJhciJdLCJtYXhBZ2VTZWNvbmRzIjozNjAwfV0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "e6b0be7b19920229", + "ID": "ebed90fad884e1cd", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0008/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0006?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "84" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJldmVudEJhc2VkSG9sZCI6dHJ1ZX0K" + "" ] }, "Response": { @@ -16316,26 +19466,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "3307" + "2539" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:22 GMT" + "Thu, 02 May 2019 22:25:32 GMT" ], "Etag": [ - "CPD/uLbb4d8CEAI=" + "CAE=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:32 GMT" ], "Server": [ "UploadServer" @@ -16344,18 +19494,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoHyQIeK0IpvSP6gsCsJSw0v_-VgRWGxkbwxRdiMIbDLWTJMYXrl4Yme6tK7F93VEGRGBIZhJwwx-Z84NSX4jVT9bXDvElF3L9Xwh4zwT1HUbpGcJU" + "AEnB2UrjLjhrtR5T2TdsRM6X3HPy_6vnZjhUfpjytCivwknDLKhiMkND-f1qeZ4te6AnGrv_qtnGI4OGajQJaydHJvQZGWpnBQN9VOXHqYjSBTCxnNbcbC4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOC9zb21lLW9iai8xNTQ3MDcxNzYxODI1Nzc2Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjIxLjgyNVoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOToyMi42MjNaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjEuODI1WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJCUk5FZFFhSSswL2UyZEt0Z29EWHJnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTQ3MDcxNzYxODI1Nzc2JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L3NvbWUtb2JqLzE1NDcwNzE3NjE4MjU3NzYvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzYxODI1Nzc2IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUEQvdUxiYjRkOENFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvc29tZS1vYmovMTU0NzA3MTc2MTgyNTc3Ni9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUEQvdUxiYjRkOENFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvc29tZS1vYmovMTU0NzA3MTc2MTgyNTc3Ni9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1BEL3VMYmI0ZDhDRUFJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L3NvbWUtb2JqLzE1NDcwNzE3NjE4MjU3NzYvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOC9vL3NvbWUtb2JqL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQRC91TGJiNGQ4Q0VBST0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiZWhPRkl3PT0iLCJldGFnIjoiQ1BEL3VMYmI0ZDhDRUFJPSIsImV2ZW50QmFzZWRIb2xkIjp0cnVlfQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA2IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjMxLjQwN1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozMS40MDdaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDYvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA2L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDYiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA2L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDYvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDYiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDYvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsImNvcnMiOlt7Im9yaWdpbiI6WyJzb21lLW9yaWdpbi5jb20iXSwibWV0aG9kIjpbIlBPU1QiXSwicmVzcG9uc2VIZWFkZXIiOlsiZm9vLWJhciJdLCJtYXhBZ2VTZWNvbmRzIjozNjAwfV0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "d6867e3eb23d811c", + "ID": "31ee7f558375c66a", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0008/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0006?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -16365,28 +19524,30 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3307" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:22 GMT" - ], - "Etag": [ - "CPD/uLbb4d8CEAI=" + "Thu, 02 May 2019 22:25:32 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -16401,54 +19562,60 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrnJ54MLcZ8n3Il1NrXzQDtaFQysm6XR8NhmidBziFce0MBvo99OknDpP9A4v9wOmBWKt8tshF2F_gK3KlaQkY3NYAtdwagnLlPsCVrDhTKs_4FUhI" + "AEnB2Up70C3kZ6tTqgyRHbTyjXA5pLWMohouKPHCPhexU8UuWw0cAmLxjHcwaa2xBT-Soq-CLyVxoWeEkxFMhRqqK87xaM38Q2hSjGkeXEhmhoZ3iy5s6D8" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOC9zb21lLW9iai8xNTQ3MDcxNzYxODI1Nzc2Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjIxLjgyNVoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOToyMi42MjNaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjEuODI1WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJCUk5FZFFhSSswL2UyZEt0Z29EWHJnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTQ3MDcxNzYxODI1Nzc2JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L3NvbWUtb2JqLzE1NDcwNzE3NjE4MjU3NzYvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzYxODI1Nzc2IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUEQvdUxiYjRkOENFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvc29tZS1vYmovMTU0NzA3MTc2MTgyNTc3Ni9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUEQvdUxiYjRkOENFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvc29tZS1vYmovMTU0NzA3MTc2MTgyNTc3Ni9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1BEL3VMYmI0ZDhDRUFJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L3NvbWUtb2JqLzE1NDcwNzE3NjE4MjU3NzYvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOC9vL3NvbWUtb2JqL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQRC91TGJiNGQ4Q0VBST0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiZWhPRkl3PT0iLCJldGFnIjoiQ1BEL3VMYmI0ZDhDRUFJPSIsImV2ZW50QmFzZWRIb2xkIjp0cnVlfQ==" + "Body": "" } }, { - "ID": "9fb87cd56ca3df8a", + "ID": "72458186a1839a5a", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0008/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0005?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "82" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJjb250ZW50VHlwZSI6ImZvbyJ9Cg==" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3286" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:23 GMT" - ], - "Etag": [ - "CPD/uLbb4d8CEAM=" + "Thu, 02 May 2019 22:25:32 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -16463,18 +19630,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrnjQdSsjhFylvsvjoSvlPgJoh03ae6iSvBO5JA49Tz8VfXlBGO0qGhtzsMjJItcwLzODsqOciGIn9kZ_pcv1QW5Si6NrDJPVKebMrGZNA0jUiQZe8" + "AEnB2UpsiYUGF50kaeS-bMsAR51mlDVCwH9HwmqU1hCFSwzrMDgCmGF46ZuQGfqWx4SJprlBWIxaNwT_EQMKQrTQARvFyee5ZOJq21xZUsVEc1iBW0KkiVk" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOC9zb21lLW9iai8xNTQ3MDcxNzYxODI1Nzc2Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsIm1ldGFnZW5lcmF0aW9uIjoiMyIsImNvbnRlbnRUeXBlIjoiZm9vIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjIxLjgyNVoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOToyMy4zMDhaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjEuODI1WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJCUk5FZFFhSSswL2UyZEt0Z29EWHJnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTQ3MDcxNzYxODI1Nzc2JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L3NvbWUtb2JqLzE1NDcwNzE3NjE4MjU3NzYvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzYxODI1Nzc2IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUEQvdUxiYjRkOENFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvc29tZS1vYmovMTU0NzA3MTc2MTgyNTc3Ni9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUEQvdUxiYjRkOENFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvc29tZS1vYmovMTU0NzA3MTc2MTgyNTc3Ni9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1BEL3VMYmI0ZDhDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L3NvbWUtb2JqLzE1NDcwNzE3NjE4MjU3NzYvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOC9vL3NvbWUtb2JqL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQRC91TGJiNGQ4Q0VBTT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiZWhPRkl3PT0iLCJldGFnIjoiQ1BEL3VMYmI0ZDhDRUFNPSIsImV2ZW50QmFzZWRIb2xkIjp0cnVlfQ==" + "Body": "" } }, { - "ID": "43e57e7bc44e7452", + "ID": "20fcdf5cb9502a64", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0008/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0004?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -16484,28 +19660,30 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3286" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:23 GMT" - ], - "Etag": [ - "CPD/uLbb4d8CEAM=" + "Thu, 02 May 2019 22:25:33 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -16520,24 +19698,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrRUCJ6NpwVKmo7ge8ERYx7LkhcmSOkdEsibnZftJREMe49d-xM4rSALQbKMdMfkuBCIjgNImnl_rYKkueZOGnBtBCUxi4uk8KN99Yl-u80BGPH0tA" + "AEnB2Up8ALydoTkq1rLUaKiwrh6YEhczTwI3VX8iKuCNoqr6N2BSBvtxD2Qc9De99Svk_4EX82rynlWctsS2F9Ffr4WuDby30_W1Fl7TMWFZGWfo5Wc_nfI" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOC9zb21lLW9iai8xNTQ3MDcxNzYxODI1Nzc2Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsIm1ldGFnZW5lcmF0aW9uIjoiMyIsImNvbnRlbnRUeXBlIjoiZm9vIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjIxLjgyNVoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOToyMy4zMDhaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjEuODI1WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJCUk5FZFFhSSswL2UyZEt0Z29EWHJnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTQ3MDcxNzYxODI1Nzc2JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L3NvbWUtb2JqLzE1NDcwNzE3NjE4MjU3NzYvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzYxODI1Nzc2IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUEQvdUxiYjRkOENFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvc29tZS1vYmovMTU0NzA3MTc2MTgyNTc3Ni9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUEQvdUxiYjRkOENFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvc29tZS1vYmovMTU0NzA3MTc2MTgyNTc3Ni9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1BEL3VMYmI0ZDhDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L3NvbWUtb2JqLzE1NDcwNzE3NjE4MjU3NzYvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOC9vL3NvbWUtb2JqL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQRC91TGJiNGQ4Q0VBTT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiZWhPRkl3PT0iLCJldGFnIjoiQ1BEL3VMYmI0ZDhDRUFNPSIsImV2ZW50QmFzZWRIb2xkIjp0cnVlfQ==" + "Body": "" } }, { - "ID": "7d1601c98156e389", + "ID": "ace99589753f3389", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0008/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "85" + "60" ], "User-Agent": [ "google-api-go-client/0.5" @@ -16545,7 +19732,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJldmVudEJhc2VkSG9sZCI6ZmFsc2V9Cg==" + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3In0K" ] }, "Response": { @@ -16554,20 +19741,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3287" + "485" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:24 GMT" + "Thu, 02 May 2019 22:25:33 GMT" ], "Etag": [ - "CPD/uLbb4d8CEAQ=" + "CAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -16582,18 +19772,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqFkBjb99BOHYwIrGhQ3gzwYJy4FaAPrgXNW8gaQo0uovqGtGjItFVmPLC8J9XZN5mC0qInX2JjaDZVHgorZzoj-JGfTr92BEh2gDfujZgotzTT5kQ" + "AEnB2UotVHCMZG4hcbTx20gUPBV1LsUxIAVuDym9d21c2In0VVLzBxOM_DAULuLEd9LTMmpNg6A7yW4yqEsnRlHhAaMbpe7MwAWbadF2gJJ2M7uGdA-rcLQ" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOC9zb21lLW9iai8xNTQ3MDcxNzYxODI1Nzc2Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsIm1ldGFnZW5lcmF0aW9uIjoiNCIsImNvbnRlbnRUeXBlIjoiZm9vIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjIxLjgyNVoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOToyNC4wMTdaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjEuODI1WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJCUk5FZFFhSSswL2UyZEt0Z29EWHJnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTQ3MDcxNzYxODI1Nzc2JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L3NvbWUtb2JqLzE1NDcwNzE3NjE4MjU3NzYvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzYxODI1Nzc2IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUEQvdUxiYjRkOENFQVE9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvc29tZS1vYmovMTU0NzA3MTc2MTgyNTc3Ni9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUEQvdUxiYjRkOENFQVE9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvc29tZS1vYmovMTU0NzA3MTc2MTgyNTc3Ni9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1BEL3VMYmI0ZDhDRUFRPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4L3NvbWUtb2JqLzE1NDcwNzE3NjE4MjU3NzYvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOC9vL3NvbWUtb2JqL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2MTgyNTc3NiIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQRC91TGJiNGQ4Q0VBUT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiZWhPRkl3PT0iLCJldGFnIjoiQ1BEL3VMYmI0ZDhDRUFRPSIsImV2ZW50QmFzZWRIb2xkIjpmYWxzZX0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjMzLjcwNVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozMy43MDVaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" } }, { - "ID": "7e653fe53d1f4c9d", + "ID": "466aeae01d2d2933", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0008/o/some-obj?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0007?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -16603,31 +19802,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "0" + "2431" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:24 GMT" + "Thu, 02 May 2019 22:25:34 GMT" ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Etag": [ + "CAE=" ], - "Pragma": [ - "no-cache" + "Expires": [ + "Thu, 02 May 2019 22:25:34 GMT" ], "Server": [ "UploadServer" @@ -16636,46 +19840,66 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpvSEmwOAT9dsFJzjicZIA_NgD1ohX-WIZaOy9XqB-eGcmrqpso3nCuDni6ufrgooohLoAwTP40ZomkGUtWPGGFLF0euosOITKWEhhWdMcCJpv0q9o" + "AEnB2UoVuGt1j5ranQuT0nS5bzOIcVM5M42RwIHcF2mKK_H1ctJEqC_djWDMm00OBFXY4yxsTFdQ1ZYjWVnFq8GhUAWUsvsj4_B9Ur8MzJQcbAzG9vHgIjs" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjMzLjcwNVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozMy43MDVaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDcvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDcvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDcvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "818c345ce2de71cd", + "ID": "34d8505e483be050", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0008?alt=json\u0026prettyPrint=false", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0007?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "31" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJkZWZhdWx0RXZlbnRCYXNlZEhvbGQiOnRydWV9Cg==" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "2460" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:24 GMT" + "Thu, 02 May 2019 22:25:34 GMT" + ], + "Etag": [ + "CAI=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -16690,32 +19914,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqoeFAZ0FQj8Q8WxMF82tlVflwSDoi2Vy6wk8bngl1T1CoDBQm_b6BBAMKTNv4rQ4Z5ezMYliL5EJCANP4jATl6t1NzG_ZGZw7dIi-Giaux8OdIsrg" + "AEnB2Uo5A5V7O5JcpElASqEqUZ_UiEjPa-39PCu3SwJk8EE9cHfyeVL5DWQkAss8k9iRx7YjD4ZC7WnzE_ENz95PuKdccjgzeC2GLFAUzA-sR2iEf-lNil4" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjMzLjcwNVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozNC42MzJaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDcvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDcvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDcvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsImRlZmF1bHRFdmVudEJhc2VkSG9sZCI6dHJ1ZSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9" } }, { - "ID": "6cba3e05b23bccd0", + "ID": "728568d994e275c7", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0007?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "60" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5In0K" + "" ] }, "Response": { @@ -16724,26 +19954,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "484" + "2460" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:25 GMT" + "Thu, 02 May 2019 22:25:34 GMT" ], "Etag": [ - "CAE=" + "CAI=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:34 GMT" ], "Server": [ "UploadServer" @@ -16752,30 +19982,41 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uqr_elesPxyMBuEcyINm36RfW2X0pdsw4viC8pb5NWxnCRw8DzW1iuqx7xR1obvnPEJVsNtES7HVy_5vNGiW8Ogmf8XETGHede2hfH5VL64tcsuQdw" + "AEnB2UrOVH8W8OREkTrF0UKlK3dOp_AAbRF7Rsx16Zbjdl5caBObFjXETVORm7o-d-YYcPIjcrx1mKcQwxHCIXpdE5P6baH6WeY3Wc3JVF7UcQnKna-a_U4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjUuNDkyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjI1LjQ5MloiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjMzLjcwNVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozNC42MzJaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDcvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDcvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDcvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsImRlZmF1bHRFdmVudEJhc2VkSG9sZCI6dHJ1ZSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9" } }, { - "ID": "dcb16527c4dc9c5b", + "ID": "b7230d8a6b23fd8b", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0009/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0007?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "35" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJuYW1lIjoic29tZS1vYmoifQo=", - "MkhE9Wl10wFmWL0isx2GpA==" + "eyJiaWxsaW5nIjp7InJlcXVlc3RlclBheXMiOnRydWV9fQo=" ] }, "Response": { @@ -16784,20 +20025,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3285" + "2493" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:26 GMT" + "Thu, 02 May 2019 22:25:35 GMT" ], "Etag": [ - "CMr9v7jb4d8CEAE=" + "CAM=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -16812,18 +20056,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uoha3Q_HAsk1SvxI4aTRMESKHXSSoPjr5qj_KZHxKvGc_w1sR3y5Ile0aIKIuojW3XGJ5OXb7rmHGNc-daPqMhahGDRxZQJdbgwJyFPaAF1vgf2aGs" + "AEnB2Uouwpmid1Y6D0uXWBb_WrmlZVHKYnw0RGbreddchrmPzQUE1H_DeclZnbl6Yb2346L4YNt44ZeZWEM2u46h7Zx45lw9rUFxZDQIvlXRn4vT6fW4WQQ" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOS9zb21lLW9iai8xNTQ3MDcxNzY2MTM0NDc0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjI2LjEzNFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOToyNi4xMzRaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjYuMTM0WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJqSGN3dVVZa043ZWhaVWJEZHZ0MXR3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTQ3MDcxNzY2MTM0NDc0JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L3NvbWUtb2JqLzE1NDcwNzE3NjYxMzQ0NzQvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzY2MTM0NDc0IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTXI5djdqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvc29tZS1vYmovMTU0NzA3MTc2NjEzNDQ3NC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTXI5djdqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvc29tZS1vYmovMTU0NzA3MTc2NjEzNDQ3NC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ01yOXY3amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L3NvbWUtb2JqLzE1NDcwNzE3NjYxMzQ0NzQvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOS9vL3NvbWUtb2JqL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNNcjl2N2piNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibE5mRWt3PT0iLCJldGFnIjoiQ01yOXY3amI0ZDhDRUFFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjMzLjcwNVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozNS4zMzNaIiwibWV0YWdlbmVyYXRpb24iOiIzIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDcvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FNPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDcvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDcvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQU09In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBTT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsImRlZmF1bHRFdmVudEJhc2VkSG9sZCI6dHJ1ZSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJiaWxsaW5nIjp7InJlcXVlc3RlclBheXMiOnRydWV9LCJldGFnIjoiQ0FNPSJ9" } }, { - "ID": "330ce3ce98878824", + "ID": "ec9da9e78b750503", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0009/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0007?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -16833,7 +20086,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -16841,26 +20096,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "3285" + "2493" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:26 GMT" + "Thu, 02 May 2019 22:25:35 GMT" ], "Etag": [ - "CMr9v7jb4d8CEAE=" + "CAM=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:35 GMT" ], "Server": [ "UploadServer" @@ -16869,54 +20124,60 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrxjwXZEnFlELvGzYUQAjeAifZpGE3065Peyxaq3OEFnsWDSCyR7j8r7tRu1HKgfh-27-WKaNPnEL1B7qJXwAZYEfxOz4eVt7DIrijPZHXdSkcohQg" + "AEnB2Uq25oUSnJMHsIEARHohSGtkz5vw7RCXuQupRBliEjCXMeivgUIK0y9C3U4yWEJ-_182SvGUQLvo5rXxymcoyahwAEhfe21FJU_M2IijdiWsSv83eow" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOS9zb21lLW9iai8xNTQ3MDcxNzY2MTM0NDc0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjI2LjEzNFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOToyNi4xMzRaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjYuMTM0WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJqSGN3dVVZa043ZWhaVWJEZHZ0MXR3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTQ3MDcxNzY2MTM0NDc0JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L3NvbWUtb2JqLzE1NDcwNzE3NjYxMzQ0NzQvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzY2MTM0NDc0IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTXI5djdqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvc29tZS1vYmovMTU0NzA3MTc2NjEzNDQ3NC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTXI5djdqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvc29tZS1vYmovMTU0NzA3MTc2NjEzNDQ3NC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ01yOXY3amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L3NvbWUtb2JqLzE1NDcwNzE3NjYxMzQ0NzQvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOS9vL3NvbWUtb2JqL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNNcjl2N2piNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibE5mRWt3PT0iLCJldGFnIjoiQ01yOXY3amI0ZDhDRUFFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjMzLjcwNVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozNS4zMzNaIiwibWV0YWdlbmVyYXRpb24iOiIzIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDcvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FNPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA3L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDcvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDcvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQU09In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBTT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsImRlZmF1bHRFdmVudEJhc2VkSG9sZCI6dHJ1ZSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJiaWxsaW5nIjp7InJlcXVlc3RlclBheXMiOnRydWV9LCJldGFnIjoiQ0FNPSJ9" } }, { - "ID": "5dc6419c6d8a1b5c", + "ID": "ad49d37f07d631a5", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0009/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0007?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "83" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJ0ZW1wb3JhcnlIb2xkIjp0cnVlfQo=" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3306" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:27 GMT" - ], - "Etag": [ - "CMr9v7jb4d8CEAI=" + "Thu, 02 May 2019 22:25:36 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -16931,28 +20192,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpGvMDmqOK9Ak3KQMOMjItOiuITTqErm_MRwZYuHn1UY5m1s7wZ4zpBsjdcFq_mzJShuChz4RWR_VaOPSk4nA50iPLQ0JjHOqiF71szkTe9IgdfCNA" + "AEnB2Uq02fbr_iko_zBCbJljbMwyW7mOaz1cqR6AWHm2ac3m9BcqrUXNkmRqxk0R2rZW6SAUC_KzbOze-1wUGY2E0g6wbYLUqcb8IOdqN2-ROvYO49uxzjE" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOS9zb21lLW9iai8xNTQ3MDcxNzY2MTM0NDc0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjI2LjEzNFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOToyNi45MzRaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjYuMTM0WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJqSGN3dVVZa043ZWhaVWJEZHZ0MXR3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTQ3MDcxNzY2MTM0NDc0JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L3NvbWUtb2JqLzE1NDcwNzE3NjYxMzQ0NzQvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzY2MTM0NDc0IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTXI5djdqYjRkOENFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvc29tZS1vYmovMTU0NzA3MTc2NjEzNDQ3NC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTXI5djdqYjRkOENFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvc29tZS1vYmovMTU0NzA3MTc2NjEzNDQ3NC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ01yOXY3amI0ZDhDRUFJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L3NvbWUtb2JqLzE1NDcwNzE3NjYxMzQ0NzQvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOS9vL3NvbWUtb2JqL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNNcjl2N2piNGQ4Q0VBST0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibE5mRWt3PT0iLCJldGFnIjoiQ01yOXY3amI0ZDhDRUFJPSIsInRlbXBvcmFyeUhvbGQiOnRydWV9" + "Body": "" } }, { - "ID": "7371b703bd576e50", + "ID": "7b04c14c4e323488", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0009/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "60" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4In0K" + ] }, "Response": { "StatusCode": 200, @@ -16960,20 +20235,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3306" + "485" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:27 GMT" + "Thu, 02 May 2019 22:25:36 GMT" ], "Etag": [ - "CMr9v7jb4d8CEAI=" + "CAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -16988,32 +20266,39 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpYdTUPpkO38SOJweT1wW5agDTGibZca7cyzWgQDSj6zzYCQe-KLL6F8tiigMskY-dagIrS-9EL77C1awZzT9cFcmEERA50ZtIR4-fLDXGLgTcbeQE" + "AEnB2UrJrrmhbKyKRTvA3_mNqzRsaaMOAAlvn8UMwBiOR77-6X6m5InqoXMb4qoollPzgpcFOmchQ54jFNic0xJf-tiGu0tlrzSdbjh5Hzw8Rl3RnJy_jPw" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOS9zb21lLW9iai8xNTQ3MDcxNzY2MTM0NDc0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjI2LjEzNFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOToyNi45MzRaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjYuMTM0WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJqSGN3dVVZa043ZWhaVWJEZHZ0MXR3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTQ3MDcxNzY2MTM0NDc0JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L3NvbWUtb2JqLzE1NDcwNzE3NjYxMzQ0NzQvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzY2MTM0NDc0IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTXI5djdqYjRkOENFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvc29tZS1vYmovMTU0NzA3MTc2NjEzNDQ3NC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTXI5djdqYjRkOENFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvc29tZS1vYmovMTU0NzA3MTc2NjEzNDQ3NC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ01yOXY3amI0ZDhDRUFJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L3NvbWUtb2JqLzE1NDcwNzE3NjYxMzQ0NzQvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOS9vL3NvbWUtb2JqL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNNcjl2N2piNGQ4Q0VBST0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibE5mRWt3PT0iLCJldGFnIjoiQ01yOXY3amI0ZDhDRUFJPSIsInRlbXBvcmFyeUhvbGQiOnRydWV9" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjM2LjUwMVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozNi41MDFaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" } }, { - "ID": "051fb77606b8e09d", + "ID": "ae3e9c648aaff158", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0009/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0008/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "82" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "multipart/related", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJjb250ZW50VHlwZSI6ImZvbyJ9Cg==" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJuYW1lIjoic29tZS1vYmoifQo=", + "X7Xb+/Xtxt2fLTn7y+yBvw==" ] }, "Response": { @@ -17022,20 +20307,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3285" + "3193" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:27 GMT" + "Thu, 02 May 2019 22:25:37 GMT" ], "Etag": [ - "CMr9v7jb4d8CEAM=" + "CJbmhujx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -17050,18 +20338,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Urf6jEjXJ3s2Jr-Wcsm-dQltxxutUU2Lcm15RmQLyEAbVEioWjZApcWFkYRIBQ5qy85jyGsZ6_LG0_s64eo9gKqL-YXUJA77jvLX-UjVec9qRyGnW0" + "AEnB2UrJv7oOcHCzf9atnIPo70j3xSldrZtXTb5CmV1iuM4mMPU4hiBgpDqCAdUDI3i9hlR2qRie9qT30AJNshzO5CSsuzoTQ88W255VO8VVumaCSZ0KXZs" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOS9zb21lLW9iai8xNTQ3MDcxNzY2MTM0NDc0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsIm1ldGFnZW5lcmF0aW9uIjoiMyIsImNvbnRlbnRUeXBlIjoiZm9vIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjI2LjEzNFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOToyNy42MTFaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjYuMTM0WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJqSGN3dVVZa043ZWhaVWJEZHZ0MXR3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTQ3MDcxNzY2MTM0NDc0JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L3NvbWUtb2JqLzE1NDcwNzE3NjYxMzQ0NzQvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzY2MTM0NDc0IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTXI5djdqYjRkOENFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvc29tZS1vYmovMTU0NzA3MTc2NjEzNDQ3NC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTXI5djdqYjRkOENFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvc29tZS1vYmovMTU0NzA3MTc2NjEzNDQ3NC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ01yOXY3amI0ZDhDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L3NvbWUtb2JqLzE1NDcwNzE3NjYxMzQ0NzQvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOS9vL3NvbWUtb2JqL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNNcjl2N2piNGQ4Q0VBTT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibE5mRWt3PT0iLCJldGFnIjoiQ01yOXY3amI0ZDhDRUFNPSIsInRlbXBvcmFyeUhvbGQiOnRydWV9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkzNzEzNzQzMCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozNy4xMzdaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MzcuMTM3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjM3LjEzN1oiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiZExyZG9WZ2p4bEFBR05hWVgxQm1idz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9vL3NvbWUtb2JqP2dlbmVyYXRpb249MTU1NjgzNTkzNzEzNzQzMCZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9vL3NvbWUtb2JqL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTM3MTM3NDMwIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MzcxMzc0MzAiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSmJtaHVqeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgvc29tZS1vYmovMTU1NjgzNTkzNzEzNzQzMC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmovYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTM3MTM3NDMwIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgvby9zb21lLW9iai9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MzcxMzc0MzAiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSmJtaHVqeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Ik01ZUcvQT09IiwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBRT0ifQ==" } }, { - "ID": "b1f8759b81601585", + "ID": "e7a12fdbeb636933", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0009/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0008/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -17071,7 +20368,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -17079,20 +20378,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3285" + "3193" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:27 GMT" + "Thu, 02 May 2019 22:25:37 GMT" ], "Etag": [ - "CMr9v7jb4d8CEAM=" + "CJbmhujx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -17107,18 +20409,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqfbJr2gAXyDD5WdH_4lHK9cts5VcTd3rmOUu4eTFkT3L5770cS0gu_XC2-1OQKawD1ZhqVLMCQVvQFdiyxu__7VHsKSccd0olGXxtO4vniCx7oOW8" + "AEnB2Uo-mQ6Bnw1qbAyHbMdumiv5YlTBrFQbHo-9tXn02VufGPTp3_Q8nXXp9VIcdRmzH2CJbhaVLu5fUFYZ6VKgcitBwcE-dCwxWrzaljgyT6zmM7x01ls" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOS9zb21lLW9iai8xNTQ3MDcxNzY2MTM0NDc0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsIm1ldGFnZW5lcmF0aW9uIjoiMyIsImNvbnRlbnRUeXBlIjoiZm9vIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjI2LjEzNFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOToyNy42MTFaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjYuMTM0WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJqSGN3dVVZa043ZWhaVWJEZHZ0MXR3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTQ3MDcxNzY2MTM0NDc0JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L3NvbWUtb2JqLzE1NDcwNzE3NjYxMzQ0NzQvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzY2MTM0NDc0IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTXI5djdqYjRkOENFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvc29tZS1vYmovMTU0NzA3MTc2NjEzNDQ3NC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTXI5djdqYjRkOENFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvc29tZS1vYmovMTU0NzA3MTc2NjEzNDQ3NC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ01yOXY3amI0ZDhDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L3NvbWUtb2JqLzE1NDcwNzE3NjYxMzQ0NzQvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOS9vL3NvbWUtb2JqL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNNcjl2N2piNGQ4Q0VBTT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibE5mRWt3PT0iLCJldGFnIjoiQ01yOXY3amI0ZDhDRUFNPSIsInRlbXBvcmFyeUhvbGQiOnRydWV9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkzNzEzNzQzMCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozNy4xMzdaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MzcuMTM3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjM3LjEzN1oiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiZExyZG9WZ2p4bEFBR05hWVgxQm1idz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9vL3NvbWUtb2JqP2dlbmVyYXRpb249MTU1NjgzNTkzNzEzNzQzMCZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9vL3NvbWUtb2JqL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTM3MTM3NDMwIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MzcxMzc0MzAiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSmJtaHVqeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgvc29tZS1vYmovMTU1NjgzNTkzNzEzNzQzMC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmovYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTM3MTM3NDMwIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgvby9zb21lLW9iai9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MzcxMzc0MzAiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSmJtaHVqeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Ik01ZUcvQT09IiwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBRT0ifQ==" } }, { - "ID": "c8029447e2dda957", + "ID": "142eb6c42bc6f90e", "Request": { "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0009/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0008/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -17132,7 +20443,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJ0ZW1wb3JhcnlIb2xkIjpmYWxzZX0K" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJldmVudEJhc2VkSG9sZCI6dHJ1ZX0K" ] }, "Response": { @@ -17141,20 +20452,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3286" + "3215" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:28 GMT" + "Thu, 02 May 2019 22:25:37 GMT" ], "Etag": [ - "CMr9v7jb4d8CEAQ=" + "CJbmhujx/eECEAI=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -17169,18 +20483,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqemPVpBWqzB9owuUMvv1Km_TpcbGMKW9vwDm9ImBvbCs0LVo2CfOTs-0eZG_q0VnEsMHoqo_dQ2L5TnqbZNrMWrfuAxnXTTFTN3tXlXAfAMGVTvWw" + "AEnB2UrBTG1gAXfMDmjm_clsDlv04E6VRtZUsUKnaVr4bC3AIRXILH2f0UebFf1_SmXPSf6Go8sw7TXti9yO112PAG5QNin3LwaSjRuFDSH_unnMZJwRceM" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOS9zb21lLW9iai8xNTQ3MDcxNzY2MTM0NDc0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsIm1ldGFnZW5lcmF0aW9uIjoiNCIsImNvbnRlbnRUeXBlIjoiZm9vIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjI2LjEzNFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOToyOC4zMjJaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjYuMTM0WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJqSGN3dVVZa043ZWhaVWJEZHZ0MXR3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTQ3MDcxNzY2MTM0NDc0JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L3NvbWUtb2JqLzE1NDcwNzE3NjYxMzQ0NzQvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzY2MTM0NDc0IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTXI5djdqYjRkOENFQVE9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvc29tZS1vYmovMTU0NzA3MTc2NjEzNDQ3NC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTXI5djdqYjRkOENFQVE9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvc29tZS1vYmovMTU0NzA3MTc2NjEzNDQ3NC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ01yOXY3amI0ZDhDRUFRPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5L3NvbWUtb2JqLzE1NDcwNzE3NjYxMzQ0NzQvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwOS9vL3NvbWUtb2JqL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc2NjEzNDQ3NCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNNcjl2N2piNGQ4Q0VBUT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibE5mRWt3PT0iLCJldGFnIjoiQ01yOXY3amI0ZDhDRUFRPSIsInRlbXBvcmFyeUhvbGQiOmZhbHNlfQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkzNzEzNzQzMCIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozNy4xMzdaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MzcuODI1WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjM3LjEzN1oiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiZExyZG9WZ2p4bEFBR05hWVgxQm1idz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9vL3NvbWUtb2JqP2dlbmVyYXRpb249MTU1NjgzNTkzNzEzNzQzMCZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9vL3NvbWUtb2JqL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTM3MTM3NDMwIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MzcxMzc0MzAiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSmJtaHVqeC9lRUNFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgvc29tZS1vYmovMTU1NjgzNTkzNzEzNzQzMC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmovYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTM3MTM3NDMwIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgvby9zb21lLW9iai9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MzcxMzc0MzAiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSmJtaHVqeC9lRUNFQUk9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Ik01ZUcvQT09IiwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBST0iLCJldmVudEJhc2VkSG9sZCI6dHJ1ZX0=" } }, { - "ID": "a8de25c691389104", + "ID": "12487e4f20538041", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0009/o/some-obj?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0008/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -17190,25 +20513,33 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "3215" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:28 GMT" + "Thu, 02 May 2019 22:25:38 GMT" + ], + "Etag": [ + "CJbmhujx/eECEAI=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -17223,46 +20554,66 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqL7-QApIULpte4GQ8TG_CUhFFPSqQkhJ8L2v3p_FaDx6QilcGDOehFJcf6YNLJUXi3YoDqS_G1cWI5dy9XxHPw2zwTiw53Lbmz4dSrwLPb_EstHIY" + "AEnB2UqxyG_OCKjwh7TR9zL9nbOGPP1ttxni9cP68b18nTZ7wZ8WqVE0MAGh1XFphNYZEYr-2kdgNgmqQrOvFiNbg6hJi-RfjCWYg0KHPLKfzyWc-gejszc" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkzNzEzNzQzMCIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozNy4xMzdaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MzcuODI1WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjM3LjEzN1oiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiZExyZG9WZ2p4bEFBR05hWVgxQm1idz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9vL3NvbWUtb2JqP2dlbmVyYXRpb249MTU1NjgzNTkzNzEzNzQzMCZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9vL3NvbWUtb2JqL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTM3MTM3NDMwIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MzcxMzc0MzAiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSmJtaHVqeC9lRUNFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgvc29tZS1vYmovMTU1NjgzNTkzNzEzNzQzMC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmovYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTM3MTM3NDMwIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgvby9zb21lLW9iai9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MzcxMzc0MzAiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSmJtaHVqeC9lRUNFQUk9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Ik01ZUcvQT09IiwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBST0iLCJldmVudEJhc2VkSG9sZCI6dHJ1ZX0=" } }, { - "ID": "241c429b49dacd97", + "ID": "e3a625bb7418cea9", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0009?alt=json\u0026prettyPrint=false", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0008/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "82" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJjb250ZW50VHlwZSI6ImZvbyJ9Cg==" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "3193" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:29 GMT" + "Thu, 02 May 2019 22:25:38 GMT" + ], + "Etag": [ + "CJbmhujx/eECEAM=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -17277,32 +20628,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Urpgb3wWSWhA__lW_z00I777aXcFivpPyvvQzuLGqI6cLy0q7mLl67wsldR-SxnJGB7ov7PqxW92X5AT9DyZEOjDCPGtIfBhttECJJ1FkYT2NIYaIQ" + "AEnB2UoVf0XeyD5sC9KvHEILX2e7x7VyJ9d9xoyrP3NqGFlsMgvK3zgeOEOXDvSpftUSy4opndA74-LNRkmAi8Q_6wc91iC8OWV7X3VR8kENWwclNK30V_U" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkzNzEzNzQzMCIsIm1ldGFnZW5lcmF0aW9uIjoiMyIsImNvbnRlbnRUeXBlIjoiZm9vIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjM3LjEzN1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozOC40MjBaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MzcuMTM3WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJkTHJkb1ZnanhsQUFHTmFZWDFCbWJ3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTU2ODM1OTM3MTM3NDMwJmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L3NvbWUtb2JqLzE1NTY4MzU5MzcxMzc0MzAvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmovYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MzcxMzc0MzAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0pibWh1angvZUVDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L3NvbWUtb2JqLzE1NTY4MzU5MzcxMzc0MzAvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9vL3NvbWUtb2JqL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkzNzEzNzQzMCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MzcxMzc0MzAiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0pibWh1angvZUVDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L3NvbWUtb2JqLzE1NTY4MzU5MzcxMzc0MzAvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9vL3NvbWUtb2JqL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkzNzEzNzQzMCIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBTT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiTTVlRy9BPT0iLCJldGFnIjoiQ0pibWh1angvZUVDRUFNPSIsImV2ZW50QmFzZWRIb2xkIjp0cnVlfQ==" } }, { - "ID": "3277cd00dd18767e", + "ID": "2290ac6bb34b705b", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0008/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "105" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEwIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjM2MDAifX0K" + "" ] }, "Response": { @@ -17311,20 +20668,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "572" + "3193" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:30 GMT" + "Thu, 02 May 2019 22:25:38 GMT" ], "Etag": [ - "CAE=" + "CJbmhujx/eECEAM=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -17339,30 +20699,41 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UplnWAqfKJ8aoCbdqphPFFGa9wuykKWQfbhol5C1-sSIUF_oQLat4E21uneZiRbs4t11QEUh_5YbEp0h26r0EDPJd4Sh39ikASe7vt0JpLU5Vl64Ts" + "AEnB2UoKagfJuJDLVLgIcrGtlV_UXlXLSqfEFj2-knllMBWWLktTv22ZfKoeSo8lY6gSfE1LKlvn87WiyJv75QWpcWdXzvablAMBOAZ_XMe-1D8dKZ5ipHs" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjkuODg2WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjI5Ljg4NloiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiIzNjAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDlUMjI6MDk6MjkuODg2WiJ9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkzNzEzNzQzMCIsIm1ldGFnZW5lcmF0aW9uIjoiMyIsImNvbnRlbnRUeXBlIjoiZm9vIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjM3LjEzN1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozOC40MjBaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MzcuMTM3WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJkTHJkb1ZnanhsQUFHTmFZWDFCbWJ3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTU2ODM1OTM3MTM3NDMwJmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L3NvbWUtb2JqLzE1NTY4MzU5MzcxMzc0MzAvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmovYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MzcxMzc0MzAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0pibWh1angvZUVDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L3NvbWUtb2JqLzE1NTY4MzU5MzcxMzc0MzAvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9vL3NvbWUtb2JqL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkzNzEzNzQzMCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MzcxMzc0MzAiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0pibWh1angvZUVDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L3NvbWUtb2JqLzE1NTY4MzU5MzcxMzc0MzAvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9vL3NvbWUtb2JqL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkzNzEzNzQzMCIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBTT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiTTVlRy9BPT0iLCJldGFnIjoiQ0pibWh1angvZUVDRUFNPSIsImV2ZW50QmFzZWRIb2xkIjp0cnVlfQ==" } }, { - "ID": "3b4950d0c484132b", + "ID": "572d50dc9b5ce8a4", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0010/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0008/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "85" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAiLCJuYW1lIjoic29tZS1vYmoifQo=", - "EhBPAEZRSM8ENUvwx+YERg==" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJldmVudEJhc2VkSG9sZCI6ZmFsc2V9Cg==" ] }, "Response": { @@ -17371,20 +20742,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3338" + "3194" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:30 GMT" + "Thu, 02 May 2019 22:25:39 GMT" ], "Etag": [ - "CLni0brb4d8CEAE=" + "CJbmhujx/eECEAQ=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -17399,18 +20773,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq4Tn2vJk44HwwjT2gqhp-ikReBAQqeQwPfYo8YD-pNhKKcr6lS2tugiiStAY0xuYpxgRnsOB4LBcPumhvMtiiEG4dCukpPOk-3PTHx2shAM3LDyzQ" + "AEnB2UrWVb2L8OGfosYWTjk_F-zmyNwltYI93f2tqyP4EkOx7hIRpsSG2iGDFXB7SP7DKn-teczhb9tiBKRM7rYG5vcJ5jVinideFoX44khld5BhtRaQsUc" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMC9zb21lLW9iai8xNTQ3MDcxNzcwNjIwMjE3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEwL28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc3MDYyMDIxNyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjMwLjYyMFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTozMC42MjBaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MzAuNjIwWiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJkME1xVTVpWHcwUkxGM0FESGFWWkVBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEwL28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTQ3MDcxNzcwNjIwMjE3JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEwL3NvbWUtb2JqLzE1NDcwNzE3NzA2MjAyMTcvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAvby9zb21lLW9iai9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzcwNjIwMjE3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTG5pMGJyYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAvc29tZS1vYmovMTU0NzA3MTc3MDYyMDIxNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEwIiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc3MDYyMDIxNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTG5pMGJyYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAvc29tZS1vYmovMTU0NzA3MTc3MDYyMDIxNy9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEwIiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc3MDYyMDIxNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xuaTBicmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEwL3NvbWUtb2JqLzE1NDcwNzE3NzA2MjAyMTcvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMC9vL3NvbWUtb2JqL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEwIiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc3MDYyMDIxNyIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMbmkwYnJiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiK0FtQWFBPT0iLCJldGFnIjoiQ0xuaTBicmI0ZDhDRUFFPSIsInJldGVudGlvbkV4cGlyYXRpb25UaW1lIjoiMjAxOS0wMS0wOVQyMzowOTozMC42MjBaIn0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkzNzEzNzQzMCIsIm1ldGFnZW5lcmF0aW9uIjoiNCIsImNvbnRlbnRUeXBlIjoiZm9vIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjM3LjEzN1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTozOC45MTlaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6MzcuMTM3WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJkTHJkb1ZnanhsQUFHTmFZWDFCbWJ3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTU2ODM1OTM3MTM3NDMwJmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L3NvbWUtb2JqLzE1NTY4MzU5MzcxMzc0MzAvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L28vc29tZS1vYmovYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MzcxMzc0MzAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0pibWh1angvZUVDRUFRPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L3NvbWUtb2JqLzE1NTY4MzU5MzcxMzc0MzAvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9vL3NvbWUtb2JqL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkzNzEzNzQzMCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBUT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9zb21lLW9iai8xNTU2ODM1OTM3MTM3NDMwL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDgvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5MzcxMzc0MzAiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0pibWh1angvZUVDRUFRPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4L3NvbWUtb2JqLzE1NTY4MzU5MzcxMzc0MzAvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOC9vL3NvbWUtb2JqL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA4Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTkzNzEzNzQzMCIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNKYm1odWp4L2VFQ0VBUT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiTTVlRy9BPT0iLCJldGFnIjoiQ0pibWh1angvZUVDRUFRPSIsImV2ZW50QmFzZWRIb2xkIjpmYWxzZX0=" } }, { - "ID": "c1c344a23812b459", + "ID": "bda340f0117c1fb4", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0010/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0008/o/some-obj?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -17420,28 +20803,30 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3338" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:31 GMT" - ], - "Etag": [ - "CLni0brb4d8CEAE=" + "Thu, 02 May 2019 22:25:39 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -17456,54 +20841,60 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrlpSS5BvTr5F1oqaVqtaISce8tv5GXf44p9agvlJScpp5KO4Jrnk6Qrk9Jq5LjLYvoe6qnkZzSvfEyuzT7Hkw275d22_8UMhPHzTmmBSFsqFJdFhE" + "AEnB2UotG32AgmOwDD_bLLd_W64JCOZQ2-UgeY_cOZwomlkWb6Vx5JSE54tdsuCPvawuyJ8eNuCf8EM0qXlIjtAyg6QQiuN9t72vHrQLsrSs6WtJBDGZziU" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMC9zb21lLW9iai8xNTQ3MDcxNzcwNjIwMjE3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEwL28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc3MDYyMDIxNyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjMwLjYyMFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTozMC42MjBaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MzAuNjIwWiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJkME1xVTVpWHcwUkxGM0FESGFWWkVBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEwL28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTQ3MDcxNzcwNjIwMjE3JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEwL3NvbWUtb2JqLzE1NDcwNzE3NzA2MjAyMTcvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAvby9zb21lLW9iai9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzcwNjIwMjE3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTG5pMGJyYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAvc29tZS1vYmovMTU0NzA3MTc3MDYyMDIxNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEwIiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc3MDYyMDIxNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTG5pMGJyYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAvc29tZS1vYmovMTU0NzA3MTc3MDYyMDIxNy9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEwIiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc3MDYyMDIxNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0xuaTBicmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEwL3NvbWUtb2JqLzE1NDcwNzE3NzA2MjAyMTcvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMC9vL3NvbWUtb2JqL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEwIiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc3MDYyMDIxNyIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNMbmkwYnJiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiK0FtQWFBPT0iLCJldGFnIjoiQ0xuaTBicmI0ZDhDRUFFPSIsInJldGVudGlvbkV4cGlyYXRpb25UaW1lIjoiMjAxOS0wMS0wOVQyMzowOTozMC42MjBaIn0=" + "Body": "" } }, { - "ID": "3df80790512827c0", + "ID": "9a0b7379af024a3a", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0010?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0008?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "25" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJyZXRlbnRpb25Qb2xpY3kiOm51bGx9Cg==" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2411" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:31 GMT" - ], - "Etag": [ - "CAI=" + "Thu, 02 May 2019 22:25:39 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -17518,46 +20909,66 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uo1ndVcDa3WB5_kBlQVXKIRwMU7OotL4ObdVtwmu3SR0Z9hUijfhrU1_1_r5icim6lif-MqXvogRJDKMPBH2FGCidBvH7lKT_iQ0Pm53u5R9ONI_RA" + "AEnB2Ur7S22mcdvPtDq_Z9iUbo4v0ApOQXNFgXFNZuacd8yZUq2FhZKco01Z2T4vJSv8s1yZkGXzoUrAuUKnCBx0vZuE-MDGnmTF_YxhQoXobyvAyktswdE" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MjkuODg2WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjMxLjc0MloiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEwL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTAiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" + "Body": "" } }, { - "ID": "5cfd933011e5dca5", + "ID": "affb380cf86f173c", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0010/o/some-obj?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "60" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5In0K" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "485" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:32 GMT" + "Thu, 02 May 2019 22:25:40 GMT" + ], + "Etag": [ + "CAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -17572,18 +20983,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Up9ngrhzd-791IfOxV2CtCLuz0TI0KbAhY89JRPFr7vJEc18IBLwHQHXpKTwfEZ5tN3SxNgwMqG6bFkbeEd6wMtrwulpxI0unOrIR1USpIQQI4EgwE" + "AEnB2UrF4q2mbuFoVeV9q22libc-FjfB1eDXSMYhNGZNU6sbaMWEKdc-8eXu1gtMLC7Ia9bSRU0oxgpIRR9516KZRcg7o_VGdrU1lliVPuSY9rYa4OsJymE" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQwLjA4MVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0MC4wODFaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" } }, { - "ID": "2036e239220db21d", + "ID": "88123486ecd710ed", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0010?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0009/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -17592,26 +21012,35 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJuYW1lIjoic29tZS1vYmoifQo=", + "cGCusp668ZMwY59j94Srfg==" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "3193" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:32 GMT" + "Thu, 02 May 2019 22:25:41 GMT" + ], + "Etag": [ + "CNC/3Onx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -17626,32 +21055,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Up4e7LPafReUQCSfFAG_5IoSV_QU1t1mCX6cPK11RvvGtfML_Vvyh7Dbu6ErbvG5pm4oLghINfjK6GHCFWYvAdJrIT7BgFM4srpKRflexsfpTf4kgE" + "AEnB2UrixhGvSHn6UzWmshHjh8Ny2NE4LW-gcPPW4dCm9dZTDfBwtENYMJra88jZlphQFcyabnQwTegZW9_6bL8KYNOsyYQYgdtEDvFFMQeJ9B_IXQbrsgI" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0MDYzODY3MiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0MC42MzhaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6NDAuNjM4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQwLjYzOFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiUjhVSExIMG84ZjFlTVhVRHRyMTZLZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9vL3NvbWUtb2JqP2dlbmVyYXRpb249MTU1NjgzNTk0MDYzODY3MiZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9vL3NvbWUtb2JqL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTQwNjM4NjcyIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNOQy8zT254L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOSIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDA2Mzg2NzIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTkMvM09ueC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkvc29tZS1vYmovMTU1NjgzNTk0MDYzODY3Mi9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmovYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTQwNjM4NjcyIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNOQy8zT254L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkvby9zb21lLW9iai9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOSIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDA2Mzg2NzIiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTkMvM09ueC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IjB6R3NGUT09IiwiZXRhZyI6IkNOQy8zT254L2VFQ0VBRT0ifQ==" } }, { - "ID": "07eb3650a926002a", + "ID": "042e51e8b073dc93", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0009/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "103" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDExIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjYwIn19Cg==" + "" ] }, "Response": { @@ -17660,20 +21095,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "570" + "3193" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:33 GMT" + "Thu, 02 May 2019 22:25:41 GMT" ], "Etag": [ - "CAE=" + "CNC/3Onx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -17688,24 +21126,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Ur0CNVLqbkKS0k0-2GsIW3WNGgE0FFCCsHnmCMRsgtavYyXqQpQb9TXFcfSKwxX8-jo-1Yin_Vok0W2YenR8OXdn6OmQBDHv03PNQdak4iocSyKtmw" + "AEnB2UqTH44ERv_v2A5OmhnLVBFOkQ_bPdeDI-MNir5xjrZt1ybrczlk9GwseHZ-kt566XrMnuYGTaCkr4ImF__dpbt98CqMpmYkiJaR1vKcI1DC7o3Dbl8" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MzMuMzcwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjMzLjM3MFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI2MCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDIyOjA5OjMzLjM3MFoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0MDYzODY3MiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0MC42MzhaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6NDAuNjM4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQwLjYzOFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiUjhVSExIMG84ZjFlTVhVRHRyMTZLZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9vL3NvbWUtb2JqP2dlbmVyYXRpb249MTU1NjgzNTk0MDYzODY3MiZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9vL3NvbWUtb2JqL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTQwNjM4NjcyIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNOQy8zT254L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOSIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDA2Mzg2NzIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTkMvM09ueC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkvc29tZS1vYmovMTU1NjgzNTk0MDYzODY3Mi9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmovYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTQwNjM4NjcyIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNOQy8zT254L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkvby9zb21lLW9iai9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOSIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDA2Mzg2NzIiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTkMvM09ueC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IjB6R3NGUT09IiwiZXRhZyI6IkNOQy8zT254L2VFQ0VBRT0ifQ==" } }, { - "ID": "75d1133b4abc66af", + "ID": "ed898d656784527a", "Request": { "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0011?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0009/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "47" + "83" ], "User-Agent": [ "google-api-go-client/0.5" @@ -17713,7 +21160,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiMzYwMCJ9fQo=" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJ0ZW1wb3JhcnlIb2xkIjp0cnVlfQo=" ] }, "Response": { @@ -17722,20 +21169,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2499" + "3214" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:34 GMT" + "Thu, 02 May 2019 22:25:41 GMT" ], "Etag": [ - "CAI=" + "CNC/3Onx/eECEAI=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -17750,18 +21200,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UriRTgQpDO-0v8iFVze9hK0Yi3AIH7JZkx3N-iAScQGHi1C5ca661wF5kS0T7CTO7hfa9OieOvbg_24rI9K0gNSTR_kbaePRK0cr9SY1J2EfWXxEX4" + "AEnB2Urh-jh9w3q8AC6TmG1NF_6JgV-Js74mV6EkB4ccrlZ1ZCQ9TlA4AhJ-J6rkqtJ9fKiy4YjT_l-TN6dQhnCwZvTUqoaJC-W-z6QQZywuQ1uX9a90PhU" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MzMuMzcwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjM0LjMyNloiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDExL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiMzYwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDIyOjA5OjMzLjM3MFoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0MDYzODY3MiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0MC42MzhaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6NDEuNTE5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQwLjYzOFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiUjhVSExIMG84ZjFlTVhVRHRyMTZLZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9vL3NvbWUtb2JqP2dlbmVyYXRpb249MTU1NjgzNTk0MDYzODY3MiZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9vL3NvbWUtb2JqL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTQwNjM4NjcyIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNOQy8zT254L2VFQ0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOSIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDA2Mzg2NzIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTkMvM09ueC9lRUNFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkvc29tZS1vYmovMTU1NjgzNTk0MDYzODY3Mi9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmovYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTQwNjM4NjcyIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNOQy8zT254L2VFQ0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkvby9zb21lLW9iai9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOSIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDA2Mzg2NzIiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTkMvM09ueC9lRUNFQUk9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IjB6R3NGUT09IiwiZXRhZyI6IkNOQy8zT254L2VFQ0VBST0iLCJ0ZW1wb3JhcnlIb2xkIjp0cnVlfQ==" } }, { - "ID": "931ade0df71eda7f", + "ID": "9ddea19a0c44c449", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0011?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0009/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -17771,7 +21230,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -17779,23 +21240,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2499" + "3214" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:34 GMT" + "Thu, 02 May 2019 22:25:41 GMT" ], "Etag": [ - "CAI=" + "CNC/3Onx/eECEAI=" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:34 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -17804,24 +21271,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpkNbI_kikRZq9EJNhXpdWgtxFkqIjeAWpTTAJkzdSRZ5wpykywOeLJlpcPaW5jf7pN4Y0A8sz5V-xaKPp7bYzBeDWdt6KxJvlWE6o4_Lb2N7fG20w" + "AEnB2UoZVnUhVRVPu1unMjxNHQzZrlqTsVtPMZHc_YPTkvy18AAD3d_TOg9qTNAEv5NXUC5n0XF1sPedifaWR19a5w7dCMltRYfuJUfGxaMzyrvpqKbGjx4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MzMuMzcwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjM0LjMyNloiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTEvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDExL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiMzYwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDIyOjA5OjMzLjM3MFoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0MDYzODY3MiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0MC42MzhaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6NDEuNTE5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQwLjYzOFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiUjhVSExIMG84ZjFlTVhVRHRyMTZLZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9vL3NvbWUtb2JqP2dlbmVyYXRpb249MTU1NjgzNTk0MDYzODY3MiZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9vL3NvbWUtb2JqL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTQwNjM4NjcyIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNOQy8zT254L2VFQ0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOSIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDA2Mzg2NzIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTkMvM09ueC9lRUNFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkvc29tZS1vYmovMTU1NjgzNTk0MDYzODY3Mi9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmovYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJvYmplY3QiOiJzb21lLW9iaiIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTQwNjM4NjcyIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNOQy8zT254L2VFQ0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkvby9zb21lLW9iai9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOSIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDA2Mzg2NzIiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTkMvM09ueC9lRUNFQUk9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IjB6R3NGUT09IiwiZXRhZyI6IkNOQy8zT254L2VFQ0VBST0iLCJ0ZW1wb3JhcnlIb2xkIjp0cnVlfQ==" } }, { - "ID": "accdd301635b2b5d", + "ID": "9b6c4955472bdb51", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0009/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "103" + "82" ], "User-Agent": [ "google-api-go-client/0.5" @@ -17829,7 +21305,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEyIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjYwIn19Cg==" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJjb250ZW50VHlwZSI6ImZvbyJ9Cg==" ] }, "Response": { @@ -17838,20 +21314,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "570" + "3192" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:35 GMT" + "Thu, 02 May 2019 22:25:42 GMT" ], "Etag": [ - "CAE=" + "CNC/3Onx/eECEAM=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -17866,32 +21345,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpBDw6aCJx75gaG22KPKK_C9zaHJF9Lv-gGXKZBSww7yGfUnAS8daCL3xAWms48tvRCx8ChgN9z-ntys02o8qLAtje5eZVVidJlz-_ksvSRw-qAyf4" + "AEnB2UoybPBMseeVzkBPlzTObhT-eKnJ9TbsC15btCmXKMDvqgD5Uz4JclrgL9lBqMq09UjP8GL2_3zCDkfA0gJ8SHCDZbHEi1XYcuAUT7hmXazBL3IIMqc" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMiIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTIiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MzUuMjYwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjM1LjI2MFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI2MCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDIyOjA5OjM1LjI2MFoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0MDYzODY3MiIsIm1ldGFnZW5lcmF0aW9uIjoiMyIsImNvbnRlbnRUeXBlIjoiZm9vIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQwLjYzOFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0Mi4xMjNaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6NDAuNjM4WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJSOFVITEgwbzhmMWVNWFVEdHIxNktnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTU2ODM1OTQwNjM4NjcyJmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L3NvbWUtb2JqLzE1NTY4MzU5NDA2Mzg2NzIvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmovYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOSIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDA2Mzg2NzIiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ05DLzNPbngvZUVDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L3NvbWUtb2JqLzE1NTY4MzU5NDA2Mzg2NzIvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9vL3NvbWUtb2JqL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0MDYzODY3MiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNOQy8zT254L2VFQ0VBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOSIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDA2Mzg2NzIiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ05DLzNPbngvZUVDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L3NvbWUtb2JqLzE1NTY4MzU5NDA2Mzg2NzIvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9vL3NvbWUtb2JqL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0MDYzODY3MiIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNOQy8zT254L2VFQ0VBTT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiMHpHc0ZRPT0iLCJldGFnIjoiQ05DLzNPbngvZUVDRUFNPSIsInRlbXBvcmFyeUhvbGQiOnRydWV9" } }, { - "ID": "d8a7b23d204ded11", + "ID": "0227238a512229dc", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0012?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0009/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "47" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiMzYwMCJ9fQo=" + "" ] }, "Response": { @@ -17900,20 +21385,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2499" + "3192" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:36 GMT" + "Thu, 02 May 2019 22:25:42 GMT" ], "Etag": [ - "CAI=" + "CNC/3Onx/eECEAM=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -17928,28 +21416,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Urd4VojxgioKWEc04zgQZMMiY-yhaTkB5FfdDsv5wTwHBjPBxHoip08I3jDdU-RgjOsIwYHwd5Me87VQw8Wa4NeEK3VC69KtNflmB2kymVkFVnFsrk" + "AEnB2Up6PS1r6NaUKQ9158DD3cKWHqyParXLdcW8k7sToMskeTU6BjpajWENp3qNHqLMFvX9NrK78TIw31h_ANYkltj3vAQoYq2RG5C6ZB2LCvUIch96SMo" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMiIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTIiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MzUuMjYwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjM2LjAzMVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMi9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTIiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMi9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTIvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTIvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEyL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTIiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiMzYwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDIyOjA5OjM1LjI2MFoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0MDYzODY3MiIsIm1ldGFnZW5lcmF0aW9uIjoiMyIsImNvbnRlbnRUeXBlIjoiZm9vIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQwLjYzOFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0Mi4xMjNaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6NDAuNjM4WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJSOFVITEgwbzhmMWVNWFVEdHIxNktnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTU2ODM1OTQwNjM4NjcyJmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L3NvbWUtb2JqLzE1NTY4MzU5NDA2Mzg2NzIvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmovYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOSIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDA2Mzg2NzIiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ05DLzNPbngvZUVDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L3NvbWUtb2JqLzE1NTY4MzU5NDA2Mzg2NzIvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9vL3NvbWUtb2JqL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0MDYzODY3MiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNOQy8zT254L2VFQ0VBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOSIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDA2Mzg2NzIiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ05DLzNPbngvZUVDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L3NvbWUtb2JqLzE1NTY4MzU5NDA2Mzg2NzIvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9vL3NvbWUtb2JqL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0MDYzODY3MiIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNOQy8zT254L2VFQ0VBTT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiMHpHc0ZRPT0iLCJldGFnIjoiQ05DLzNPbngvZUVDRUFNPSIsInRlbXBvcmFyeUhvbGQiOnRydWV9" } }, { - "ID": "d92be16342b1376f", + "ID": "7a81946424736215", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0012?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0009/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "84" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJ0ZW1wb3JhcnlIb2xkIjpmYWxzZX0K" + ] }, "Response": { "StatusCode": 200, @@ -17957,23 +21459,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2499" + "3193" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:36 GMT" + "Thu, 02 May 2019 22:25:42 GMT" ], "Etag": [ - "CAI=" + "CNC/3Onx/eECEAQ=" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:36 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -17982,54 +21490,60 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqmXbJrmtT8x5LRhT23qz85sEnVOD7gquLl43o0mRmqKCkRVbSK1DYQG2afEOABTbDAlvZusPf44vJIdcqe6s7aOfgos4I2v8s9uyKDwssLG_hOC6Q" + "AEnB2Uo1klBHpEl6qb-hfnVYr2KJLmo_3_1fgqlMYMBpBt23b-U9pF7bPcNEiJaMtrGEhZPQb9-QnqHiU8qPfmpNpSdy9KR41FwZm-89gyu3EtE5gq3J9-0" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMiIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTIiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MzUuMjYwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjM2LjAzMVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMi9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTIiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMi9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTIvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTIvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEyL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTIiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiMzYwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDIyOjA5OjM1LjI2MFoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0MDYzODY3MiIsIm1ldGFnZW5lcmF0aW9uIjoiNCIsImNvbnRlbnRUeXBlIjoiZm9vIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQwLjYzOFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0Mi43MjFaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6NDAuNjM4WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJSOFVITEgwbzhmMWVNWFVEdHIxNktnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTU2ODM1OTQwNjM4NjcyJmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L3NvbWUtb2JqLzE1NTY4MzU5NDA2Mzg2NzIvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L28vc29tZS1vYmovYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOSIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDA2Mzg2NzIiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ05DLzNPbngvZUVDRUFRPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L3NvbWUtb2JqLzE1NTY4MzU5NDA2Mzg2NzIvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9vL3NvbWUtb2JqL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0MDYzODY3MiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNOQy8zT254L2VFQ0VBUT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9zb21lLW9iai8xNTU2ODM1OTQwNjM4NjcyL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDkvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOSIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDA2Mzg2NzIiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ05DLzNPbngvZUVDRUFRPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5L3NvbWUtb2JqLzE1NTY4MzU5NDA2Mzg2NzIvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwOS9vL3NvbWUtb2JqL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDA5Iiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0MDYzODY3MiIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNOQy8zT254L2VFQ0VBUT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiMHpHc0ZRPT0iLCJldGFnIjoiQ05DLzNPbngvZUVDRUFRPSIsInRlbXBvcmFyeUhvbGQiOmZhbHNlfQ==" } }, { - "ID": "b01c0412fab6509a", + "ID": "7865e37b40b9ec66", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0009/o/some-obj?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "103" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEzIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjYwIn19Cg==" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "570" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:37 GMT" - ], - "Etag": [ - "CAE=" + "Thu, 02 May 2019 22:25:43 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -18044,54 +21558,60 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrK_lGT-C_jCU0NcwVIxjtAXbXhQaySa_VD6OzqgUR_9wY6J1lGGoHzj4tGa6T0NR7qsGMOsJYGOMRvAEMgzsJVP9ZV_IqWg2xpxG3d66XbUgAlSgM" + "AEnB2Uo2nfd81k4cBaY8ZFRGIu8G6DHyGUVAdIJCB65E8ZqqO9ADJIV4K22sQaOA8fqGL3jyi3tIszjBVsXHOFrCgca1vLXSpA1-3s2cn-MVhTKpzZ5tzY4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTMiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MzYuOTYxWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjM2Ljk2MVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI2MCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDIyOjA5OjM2Ljk2MVoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9" + "Body": "" } }, { - "ID": "0a64f801a9cca7d3", + "ID": "fd9104ab049c0173", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0013?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0009?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "25" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJyZXRlbnRpb25Qb2xpY3kiOm51bGx9Cg==" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2411" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:38 GMT" - ], - "Etag": [ - "CAI=" + "Thu, 02 May 2019 22:25:43 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -18106,28 +21626,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqaoxRjfe_hsztKYMDMsvllw4dpHMQOkOTlTZV_42v9tMY9vywRiGxWtSYVPh3pdnD-hWIHhu-JdKe6Ii1Z7qo6YyU91t0LfQlvnZeZi4sVR4KUyWM" + "AEnB2UqMqIYvjYuUxhnSLyoY-p5BYUiuZIX7cs418asOvABObfrQc8eXZpo-V4LSZVWWgt4CNoviMvFwcdC9sCTKCZU1H-9Ifcuf8lptTMZpiWMJjZfD-DY" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTMiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MzYuOTYxWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjM3LjgzMVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTMvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTMvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEzL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTMiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" + "Body": "" } }, { - "ID": "d0a8645fd5bec24d", + "ID": "e735515a80a67931", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0013?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "105" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjM2MDAifX0K" + ] }, "Response": { "StatusCode": 200, @@ -18135,23 +21669,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2411" + "573" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:38 GMT" + "Thu, 02 May 2019 22:25:44 GMT" ], "Etag": [ - "CAI=" + "CAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:38 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -18160,32 +21700,39 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqNSKC6xYVAmpY_3XHd_WUC0YWjc9k_hWN-rHJVJzCW3qb5sUYIe8CE8Fe9zanZx-YChb4Tr2jT_yEzDu3T0PfuPz3uyrsgm1cKwIBeJuYm64uww3Y" + "AEnB2Uqxx-CzGd9qn-QCqeE_iYOkeO93A0IpWx1voocTxhTrdkkBJonYBIWXeaEq3g-LNThw7j85IKVotWyBNZlHzqYSgBchb0DeXXetMqS8WBkY603Sa60" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTMiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MzYuOTYxWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjM3LjgzMVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTMvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxMyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTMvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDEzL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTMiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQzLjgwNFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0My44MDRaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiMzYwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTA1LTAyVDIyOjI1OjQzLjgwNFoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9" } }, { - "ID": "2b0893c783b12a4d", + "ID": "94bfaea89e1f47c2", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0010/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "103" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "multipart/related", "BodyParts": [ - "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE0IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjYwIn19Cg==" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTAiLCJuYW1lIjoic29tZS1vYmoifQo=", + "29UJUEl2/QvM9FnDBFnPRA==" ] }, "Response": { @@ -18194,20 +21741,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "570" + "3245" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:39 GMT" + "Thu, 02 May 2019 22:25:44 GMT" ], "Etag": [ - "CAE=" + "CPXIv+vx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -18222,32 +21772,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uqp9CrkNODUy0jnpxA09QMZfpuIHiyW6MuH_pQowByPHv448lHGhgRCPhYALZbYS8hMKYZPDrZMIMQ5c_-7xU6vwgWF6ScSjGS4r8ZwFCpYYqlq9jo" + "AEnB2UqLSIzBtq8Qn_3f51_hlfoIkcpamafGwB3U8er3K_mzANwxXyscBHWZhaxb2-3M2wOT6GZER6-zLAtdeeSNtSlUMHkHX77gocrZGYj103HA-AGjVSM" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTQiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MzkuMjMwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjM5LjIzMFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI2MCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDIyOjA5OjM5LjIzMFoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMC9zb21lLW9iai8xNTU2ODM1OTQ0MzU5MDI5Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwL28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTAiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0NDM1OTAyOSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQ0LjM1OFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0NC4zNThaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6NDQuMzU4WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJQYzFTWFEyUUk3MGxNNlZIN1F0NUFnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwL28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTU2ODM1OTQ0MzU5MDI5JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwL3NvbWUtb2JqLzE1NTY4MzU5NDQzNTkwMjkvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwL28vc29tZS1vYmovYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDQzNTkwMjkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ1BYSXYrdngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwL3NvbWUtb2JqLzE1NTY4MzU5NDQzNTkwMjkvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMC9vL3NvbWUtb2JqL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwIiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0NDM1OTAyOSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNQWEl2K3Z4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMC9zb21lLW9iai8xNTU2ODM1OTQ0MzU5MDI5L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTAvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDQzNTkwMjkiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1BYSXYrdngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwL3NvbWUtb2JqLzE1NTY4MzU5NDQzNTkwMjkvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMC9vL3NvbWUtb2JqL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwIiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0NDM1OTAyOSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQWEl2K3Z4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoidUpwZFdRPT0iLCJldGFnIjoiQ1BYSXYrdngvZUVDRUFFPSIsInJldGVudGlvbkV4cGlyYXRpb25UaW1lIjoiMjAxOS0wNS0wMlQyMzoyNTo0NC4zNThaIn0=" } }, { - "ID": "da69754060f9138d", + "ID": "7db6d4640ce21307", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0014?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0010/o/some-obj?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "25" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJyZXRlbnRpb25Qb2xpY3kiOm51bGx9Cg==" + "" ] }, "Response": { @@ -18256,20 +21812,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2411" + "3245" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:40 GMT" + "Thu, 02 May 2019 22:25:44 GMT" ], "Etag": [ - "CAI=" + "CPXIv+vx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -18284,28 +21843,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoOed5-WnnfbCoaatIo5Q6kNh_cOgARuIoQve0Rum6nsZMmzWs25XCcEvUPsm1T-IuVCS2XqOeIiwM2IjpPp26Ev61UZvhizZBSJUtMozk0QapNWzI" + "AEnB2UoUK3qzYL0xUcMKfWD6mmDZqRfnd8q7O14gBrKng7OYalNXZR3ZegpD1VyqjzW6bgQqFvLrtFjWXwPoJ4E78_nThYByR2n3Hm33ms2fvCdaRSOy1Qc" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTQiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MzkuMjMwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjQwLjEzOVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTQiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTQvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTQvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE0L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTQiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMC9zb21lLW9iai8xNTU2ODM1OTQ0MzU5MDI5Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwL28vc29tZS1vYmoiLCJuYW1lIjoic29tZS1vYmoiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTAiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0NDM1OTAyOSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQ0LjM1OFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0NC4zNThaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6NDQuMzU4WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJQYzFTWFEyUUk3MGxNNlZIN1F0NUFnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwL28vc29tZS1vYmo/Z2VuZXJhdGlvbj0xNTU2ODM1OTQ0MzU5MDI5JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwL3NvbWUtb2JqLzE1NTY4MzU5NDQzNTkwMjkvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwL28vc29tZS1vYmovYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDQzNTkwMjkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ1BYSXYrdngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwL3NvbWUtb2JqLzE1NTY4MzU5NDQzNTkwMjkvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMC9vL3NvbWUtb2JqL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwIiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0NDM1OTAyOSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNQWEl2K3Z4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMC9zb21lLW9iai8xNTU2ODM1OTQ0MzU5MDI5L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTAvby9zb21lLW9iai9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMCIsIm9iamVjdCI6InNvbWUtb2JqIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NDQzNTkwMjkiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1BYSXYrdngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwL3NvbWUtb2JqLzE1NTY4MzU5NDQzNTkwMjkvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMC9vL3NvbWUtb2JqL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwIiwib2JqZWN0Ijoic29tZS1vYmoiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk0NDM1OTAyOSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQWEl2K3Z4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoidUpwZFdRPT0iLCJldGFnIjoiQ1BYSXYrdngvZUVDRUFFPSIsInJldGVudGlvbkV4cGlyYXRpb25UaW1lIjoiMjAxOS0wNS0wMlQyMzoyNTo0NC4zNThaIn0=" } }, { - "ID": "c153f7ebb3ad2305", + "ID": "cec800ec28205dab", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0014?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0010?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "25" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJyZXRlbnRpb25Qb2xpY3kiOm51bGx9Cg==" + ] }, "Response": { "StatusCode": 200, @@ -18313,23 +21886,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2411" + "2431" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:40 GMT" + "Thu, 02 May 2019 22:25:45 GMT" ], "Etag": [ "CAI=" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:40 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -18338,54 +21917,60 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UodIacMhsSN45AW9uPPxWHhzhkUe5TDTHCyd0kJ9KRaErWAeYqNMzWoS7NYUE-0upqsMMRV_sJoq3ZV_K1_4-_zFGGO_JYgNmZZwwZK1iBBu50ZW_U" + "AEnB2UqAm9jtf7nMSv2Bbn_pFGaLCmlq2CtqUdGeEOyYrkllqiADBk9_xsJS3BufmzfGIdARRHN7jVwbeHKev2CHMyzWoGA8UxNGNIldPCC4oZ1dMPARKHk" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTQiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6MzkuMjMwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjQwLjEzOVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTQiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTQvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTQvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE0L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTQiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQzLjgwNFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0NS4yMjZaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTAvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEwL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTAvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTAiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTAvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifQ==" } }, { - "ID": "ff70744f3e81dde5", + "ID": "c787f6d5b23123a3", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0010/o/some-obj?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "103" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE1IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjYwIn19Cg==" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "570" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:41 GMT" - ], - "Etag": [ - "CAE=" + "Thu, 02 May 2019 22:25:45 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -18400,54 +21985,60 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq2ZFTdU6LQuRtiOtl1EIIEckf9_LTTTXYle-aSisvRCrlOvhydNcFbACsrB6uHV5QuAopFZFIIYaqINMSfjAkJhuBn04M0ucIundpBcHIOuv7x5sk" + "AEnB2UrgP5ghUeBxvXks4XlillwzLwfwyRGxt5y-FImGHSwZ-Meht6M0-keE0YTUG2Qy5hH5i1gpWPyGHXweFDyrk8a3QbDPnG5shDEoxzNOlMEsX6V8-4I" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTUiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NDEuMTg4WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjQxLjE4OFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI2MCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDIyOjA5OjQxLjE4OFoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9" + "Body": "" } }, { - "ID": "0655e6e5aba45363", + "ID": "144726e64e401a23", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0015?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0010?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "3" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "e30K" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2497" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:41 GMT" - ], - "Etag": [ - "CAE=" + "Thu, 02 May 2019 22:25:45 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -18462,28 +22053,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoKX9Nao_9OEhxJ8lMe9ToX-vhiC902pphtAIwHHhQFGadcL9MBCDi8ffT5fgSU9N-Gwsm2PXyuzBB2Tu1-zo5veDfUiWPQ0EP5EJhHZtQZq6ek4So" + "AEnB2UpxuxvNJ3APW11H4y-qweAzn3ChIZ0eRjSetoSHkGwVvO7nMR17h5Hbj8I8zgOGjR7HPA201lDCw47ejD6kj1wCz3ZTIrUz-r-qjdm0vGGszQYFidQ" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTUiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NDEuMTg4WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjQxLjE4OFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTUvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTUvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE1L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiNjAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOVQyMjowOTo0MS4xODhaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" + "Body": "" } }, { - "ID": "aa5e2e802f1f1237", + "ID": "eebfbd37f51a5cc6", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0015?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "103" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDExIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjYwIn19Cg==" + ] }, "Response": { "StatusCode": 200, @@ -18491,23 +22096,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2497" + "571" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:42 GMT" + "Thu, 02 May 2019 22:25:46 GMT" ], "Etag": [ "CAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:42 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -18516,46 +22127,66 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpXycc9Gmlt36yqBfRun_9_pufys96v9qd1joFcGTYF7S7BC4WGes-neJkMuDGkBVnBb4BNaJYpl-4hSJYCbbnuEnXMyLilFeDeprp7yyuNfATw8e4" + "AEnB2Uox0foiLUu9KuEF-KVU8lIN_yUKAJsYEuwVqgSXvzFRGmzJtSZvFeNvMDS8W0aQ7c8YoI89qS_MxU8zBSBqcljYpIZe1NPIvkEFEG5K22RJkAuwmh8" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTUiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NDEuMTg4WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjQxLjE4OFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTUvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTUvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE1L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiNjAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOVQyMjowOTo0MS4xODhaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDExIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQ2LjE3M1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0Ni4xNzNaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiNjAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wNS0wMlQyMjoyNTo0Ni4xNzNaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "83a5e45775e5d8b2", + "ID": "c7ddc04b5d29113a", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0015?alt=json\u0026prettyPrint=false", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0011?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "47" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiMzYwMCJ9fQo=" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "2519" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:42 GMT" + "Thu, 02 May 2019 22:25:46 GMT" + ], + "Etag": [ + "CAI=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -18570,18 +22201,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq0BOu6gQDNBti4kPluEKV1hIEqz4rAM4F_01mzPQIP9HAKQbcLbmSxlPbCK6UU1Lj4v5LKpK4Y4GjKIwptcaPZL6MRXR_XNvp_ehSnGqPVTT4Di2c" + "AEnB2UpD4zsQLTflaR7g-z0FszOHvw5oXvxqdiyjlAnMwMcBcUEjidrpIGgpvmrz1EWi2AyWkdDCSY0l8ItQxYnWwSZt24jOxXBlzq-gCNrCCE6j0fJVGKw" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDExIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQ2LjE3M1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0Ni44NjNaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDExL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDExL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTEvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiIzNjAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDUtMDJUMjI6MjU6NDYuMTczWiJ9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" } }, { - "ID": "0ed6edb8a5441b65", + "ID": "e08a38dca4dda51f", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0014?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0011?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -18591,31 +22231,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "0" + "2519" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:43 GMT" + "Thu, 02 May 2019 22:25:47 GMT" ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Etag": [ + "CAI=" ], - "Pragma": [ - "no-cache" + "Expires": [ + "Thu, 02 May 2019 22:25:47 GMT" ], "Server": [ "UploadServer" @@ -18624,46 +22269,66 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrJsoMCzk7_1FHPV50Q0zXXuyTqP3JefME76Qpv42UIq9_NQ7CtuMdOgy-gtj5OVVKomFAVmxIyB_SLA4lYQrnO2KDpol57DWLd-7_GpbRpdwY_Ed0" + "AEnB2UrsphQdkHT0ctCFLyPV1JRkq7cyQ7w1tvYmAWv-6tYsuThaMN-vkUJoTNz2gPKGy6jV0yqdbXaAlRlD_5n6GiQa-ULOyKLi-C0q8y25lfk7L6zROE4" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDExIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQ2LjE3M1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0Ni44NjNaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDExL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDExL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTEvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiIzNjAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDUtMDJUMjI6MjU6NDYuMTczWiJ9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" } }, { - "ID": "8d8d56fcb8c52e98", + "ID": "fe586a68284be237", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0013?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "103" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEyIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjYwIn19Cg==" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "571" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:43 GMT" + "Thu, 02 May 2019 22:25:47 GMT" + ], + "Etag": [ + "CAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -18678,46 +22343,66 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UruJACcnDqwxOvFHHtfTDQHfbyHKfuq3rfbJsUPdStJ4cdNlSB7-I2D5lH6mYWcHHCidtmsjdX8IajUzr3KtR8RpmJNB-fBwYRzhZoqnpN07ljAmyA" + "AEnB2UpAjkPxULicnoY5wPnfrg-D7yzTbTzTZcUShEN8JSsqVMN758lI4DlkvFibNK9URhYVBH0xclTheAOO_CEDoVb5egvcF-WJqJ3SDisU2YPaZsohRro" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEyIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQ3LjU2NVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0Ny41NjVaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiNjAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wNS0wMlQyMjoyNTo0Ny41NjVaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "e26fc72b4ba4b939", + "ID": "732c3421adfb99d8", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0012?alt=json\u0026prettyPrint=false", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0012?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "47" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiMzYwMCJ9fQo=" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "2519" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:44 GMT" + "Thu, 02 May 2019 22:25:48 GMT" + ], + "Etag": [ + "CAI=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -18732,18 +22417,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoVKJbVHA9TJtIAP6achv85zbHTaTq_qhv0B19Zw4nrDKhn5cfj3FH5d7yLTz4YkedMgY6ALU-MFdCiSjmaEeN1KohOENkKjBdMRLoGln9cWyEtYtY" + "AEnB2UohfaTh8JFEjT7TTMwV7NkrcAsgkdpDyovvbjHJLNbXalzOWX3_HwhowBimaqZXhkuvBx1D38zsUZ5dEzigoyoXRJtgHfy7ClUrshBL_yMfPkZ4JE4" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEyIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQ3LjU2NVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0OC4yNzBaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTIvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEyL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTIiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEyL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTIvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTIvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiIzNjAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDUtMDJUMjI6MjU6NDcuNTY1WiJ9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" } }, { - "ID": "36258094ef0b4f25", + "ID": "aebe46d0a31a6e95", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0011?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0012?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -18753,31 +22447,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "0" + "2519" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:45 GMT" + "Thu, 02 May 2019 22:25:48 GMT" ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Etag": [ + "CAI=" ], - "Pragma": [ - "no-cache" + "Expires": [ + "Thu, 02 May 2019 22:25:48 GMT" ], "Server": [ "UploadServer" @@ -18786,24 +22485,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoBllnoCpjoyhWhWpKQrXV2v98oQ4rx4bB7A9MkpK7ZkH6xSNO9wZqR2r9evkAhDJUxuyxcR0sKq4_qwIoVRfNk_pvbb3I1NXIMbqTSfwwub5TBZv4" + "AEnB2Uop7c4AxllIcwFmLfqhIIaGP3Q9uHfmQoAm9LttwjQIvzHiJvu4fg_Q3UfNP8YbDuP97jLsG78JbCK68eSQv8ZHPp8kpzfdJcvOER0cs75wQ9gC7NA" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEyIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQ3LjU2NVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0OC4yNzBaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTIvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEyL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTIiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEyL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTIvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTIvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiIzNjAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDUtMDJUMjI6MjU6NDcuNTY1WiJ9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" } }, { - "ID": "1220c62041d6cc85", + "ID": "bea48b3667650bdd", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "106" + "103" ], "User-Agent": [ "google-api-go-client/0.5" @@ -18811,7 +22519,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE2IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIn19Cg==" + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEzIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjYwIn19Cg==" ] }, "Response": { @@ -18820,17 +22528,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "573" + "571" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:46 GMT" + "Thu, 02 May 2019 22:25:49 GMT" ], "Etag": [ "CAE=" @@ -18848,30 +22559,41 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoyOKDst2MlyqE0zt3N2NWVPlcu1BrL1Nba04PEGqdV2s3WHDX4aDdJzO3YCBs8Lj_JE0SVQquKzjdxYv80eIHQg46xGJoc2ihU2NI4ZTWZCmtkXbw" + "AEnB2Uo1p1nEuvoUAqYHYa8wuU6qF64gN2JPCxLqqFEUiKXLgo9rwPH_btm63155v5hbuS6sow8cYEvsXVJthsJ1Zn8qfb05USodp1EvTTrt_m1rpJnIxdo" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNiIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTYiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NDUuNzgyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjQ1Ljc4MloiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDIyOjA5OjQ1Ljc4MloifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEzIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQ5LjAxNFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0OS4wMTRaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiNjAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wNS0wMlQyMjoyNTo0OS4wMTRaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "b49414cdb9f03ab9", + "ID": "a951cae4048b1267", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0016/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0013?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "25" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTYiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoic29tZS1vYmplY3QifQo=", - "aGVsbG8gd29ybGQ=" + "eyJyZXRlbnRpb25Qb2xpY3kiOm51bGx9Cg==" ] }, "Response": { @@ -18880,20 +22602,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3408" + "2431" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:46 GMT" + "Thu, 02 May 2019 22:25:49 GMT" ], "Etag": [ - "CLbNlsLb4d8CEAE=" + "CAI=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -18908,18 +22633,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpR3mHoxzVD8JYcOqW68DPzRSm1kJjpylU-700WJMen3MH0h1OaaP-_lJUuRvTtUbdVITP26kca8_acahI-JR50b0iHQVw1hjd6o1cjgOdmSua21is" + "AEnB2UpZAHhwxqSSY5MYFK1fdLLirRH41rc7W2YWSnn4CQZkbdR_98fRYjddtqZVfpEizqsZ1BNa5A7ENxQz7BwQSamASc8XAC5gyZp_pwi-Yu8l0XLSCpU" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNi9zb21lLW9iamVjdC8xNTQ3MDcxNzg2NDI4MDg2Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE2L28vc29tZS1vYmplY3QiLCJuYW1lIjoic29tZS1vYmplY3QiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTYiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc4NjQyODA4NiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTo0Ni40MjdaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NDYuNDI3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjQ2LjQyN1oiLCJzaXplIjoiMTEiLCJtZDVIYXNoIjoiWHJZN3UrQWU3dENUeXlLN2oxck53dz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNi9vL3NvbWUtb2JqZWN0P2dlbmVyYXRpb249MTU0NzA3MTc4NjQyODA4NiZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNi9zb21lLW9iamVjdC8xNTQ3MDcxNzg2NDI4MDg2L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE2L28vc29tZS1vYmplY3QvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE2Iiwib2JqZWN0Ijoic29tZS1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc4NjQyODA4NiIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0xiTmxzTGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE2L3NvbWUtb2JqZWN0LzE1NDcwNzE3ODY0MjgwODYvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE2L28vc29tZS1vYmplY3QvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNiIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3ODY0MjgwODYiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0xiTmxzTGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE2L3NvbWUtb2JqZWN0LzE1NDcwNzE3ODY0MjgwODYvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE2L28vc29tZS1vYmplY3QvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNiIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3ODY0MjgwODYiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNMYk5sc0xiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNi9zb21lLW9iamVjdC8xNTQ3MDcxNzg2NDI4MDg2L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTYvby9zb21lLW9iamVjdC9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNiIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3ODY0MjgwODYiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTGJObHNMYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6InlaUmxxZz09IiwiZXRhZyI6IkNMYk5sc0xiNGQ4Q0VBRT0iLCJyZXRlbnRpb25FeHBpcmF0aW9uVGltZSI6IjIwMTktMDEtMTBUMjM6MDk6NDYuNDI3WiJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEzIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQ5LjAxNFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0OS42MjdaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTMvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEzL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEzL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTMvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTMiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTMvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifQ==" } }, { - "ID": "183d98d51ce2d615", + "ID": "e7f0506408261db3", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0016/o/some-object?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0013?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -18929,28 +22663,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 403, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "496" + "2431" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:46 GMT" + "Thu, 02 May 2019 22:25:49 GMT" + ], + "Etag": [ + "CAI=" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:46 GMT" + "Thu, 02 May 2019 22:25:49 GMT" ], "Server": [ "UploadServer" @@ -18959,24 +22701,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Up45wMyJCpC-UvRSyZUXwf2Ns8auMacdU-iOzvrGlpd2J9z94YbTyLR1dpXu0-KVOAKTjZy_5L_UFukIJsnhzc0JER_JrF9iA8nJW9trQaSPKaBekY" + "AEnB2UotOOFJlGACBcheGxpS8qxLlGsDT0xOhT_Cg1M_6DxUI16IiOu-YHaPvwzxilOKOrTvL8kRzcVUiNuFeS6rQExTmdK70I1IOH2d2BLOrMm1L5Int1g" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJPYmplY3QgJ2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNi9zb21lLW9iamVjdCcgaXMgc3ViamVjdCB0byBidWNrZXQncyByZXRlbnRpb24gcG9saWN5IGFuZCBjYW5ub3QgYmUgZGVsZXRlZCwgb3ZlcndyaXR0ZW4gb3IgYXJjaGl2ZWQgdW50aWwgMjAxOS0wMS0xMFQxNTowOTo0Ni40Mjc4NDcxMDctMDg6MDAifV0sImNvZGUiOjQwMywibWVzc2FnZSI6Ik9iamVjdCAnZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE2L3NvbWUtb2JqZWN0JyBpcyBzdWJqZWN0IHRvIGJ1Y2tldCdzIHJldGVudGlvbiBwb2xpY3kgYW5kIGNhbm5vdCBiZSBkZWxldGVkLCBvdmVyd3JpdHRlbiBvciBhcmNoaXZlZCB1bnRpbCAyMDE5LTAxLTEwVDE1OjA5OjQ2LjQyNzg0NzEwNy0wODowMCJ9fQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEzIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjQ5LjAxNFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo0OS42MjdaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTMvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEzL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTMiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDEzL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTMvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTMiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTMvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxMyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifQ==" } }, { - "ID": "96ff766f793a209b", + "ID": "b2c4589e9b9b5ad2", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0016?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "25" + "103" ], "User-Agent": [ "google-api-go-client/0.5" @@ -18984,35 +22735,26 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJyZXRlbnRpb25Qb2xpY3kiOm51bGx9Cg==" + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE0IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjYwIn19Cg==" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 429, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "2411" + "12201" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:47 GMT" - ], - "Etag": [ - "CAI=" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:50 GMT" ], "Server": [ "UploadServer" @@ -19021,52 +22763,60 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UqnXyPmi7eWug8tXhLWrJPB1zdIOelpLlBx19ZW-M6GX_YJ94gImDfwPzXanzW73aNqtgDhZRLdgKXMXCKAjG7_szz3-45DAK7oehW-HaDmjYme3Z0" + "AEnB2UoFdLKiYfqS-J3PXjvHGxpXtJwVnUB7Li8XrR-DTYkmyed-ZlUmUcmZFgGyIayuACtUWVYBcRbhYOKvgkfl8srE0OdJbc15OHWBttYqenraJ0MdXj8" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNiIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTYiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NDUuNzgyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjQ3LjMyMFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNi9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNi9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTYiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNi9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTYvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTYvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE2L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTYiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6InVzYWdlTGltaXRzIiwicmVhc29uIjoicmF0ZUxpbWl0RXhjZWVkZWQiLCJtZXNzYWdlIjoiVGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpQUk9KRUNUX0JVQ0tFVF9PUF9SQVRFX1RPT19ISUdIOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6MTg0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YTo0Milcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5pbnNlcnQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVRPT19NQU5ZX1JFUVVFU1RTLCBjYXRlZ29yeT1RVU9UQV9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpQUk9KRUNUX0JVQ0tFVF9PUF9SQVRFX1RPT19ISUdIOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6MTg0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YTo0Milcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5pbnNlcnQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPXVzYWdlTGltaXRzLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9dG9vTWFueVJlcXVlc3RzLCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWNsb3VkLmJpZ3N0b3JlLmFwaS5CaWdzdG9yZUVycm9yRG9tYWluLkNMSUVOVF9RVU9UQV9FWENFRURFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlBST0pFQ1RfQlVDS0VUX09QX1JBVEVfVE9PX0hJR0g6IENyZWF0aW5nIGJ1Y2tldHMgdG9vIHF1aWNrbHksIHBsZWFzZSBzbG93IGRvd25cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YToxODQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5JbnNlcnRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydEJ1Y2tldC5qYXZhOjQyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5CdWNrZXRzRGVsZWdhdG9yLmluc2VydChCdWNrZXRzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENyZWF0aW5nIGJ1Y2tldHMgdG9vIHF1aWNrbHksIHBsZWFzZSBzbG93IGRvd25cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBlcnJvclByb3RvQ29kZT1DTElFTlRfUVVPVEFfRVhDRUVERUQsIGVycm9yUHJvdG9Eb21haW49Y2xvdWQuYmlnc3RvcmUuYXBpLkJpZ3N0b3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1lbnRpdHkucmVzb3VyY2UuYnVja2V0Lm5hbWUsIG1lc3NhZ2U9VGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZS5idWNrZXQubmFtZSwgbWVzc2FnZT1UaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuLCByZWFzb249cmF0ZUxpbWl0RXhjZWVkZWQsIHJwY0NvZGU9NDI5fSBUaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6UFJPSkVDVF9CVUNLRVRfT1BfUkFURV9UT09fSElHSDogQ3JlYXRpbmcgYnVja2V0cyB0b28gcXVpY2tseSwgcGxlYXNlIHNsb3cgZG93blxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5JbnNlcnRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydEJ1Y2tldC5qYXZhOjE4NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6NDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkJ1Y2tldHNEZWxlZ2F0b3IuaW5zZXJ0KEJ1Y2tldHNEZWxlZ2F0b3IuamF2YTo5NSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQ3JlYXRpbmcgYnVja2V0cyB0b28gcXVpY2tseSwgcGxlYXNlIHNsb3cgZG93blxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MjksIm1lc3NhZ2UiOiJUaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuIn19" } }, { - "ID": "3e30a8f2f75b7253", + "ID": "836baafb4e98da80", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0016/o/some-object?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "103" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE0IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjYwIn19Cg==" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 429, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "0" + "12201" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:47 GMT" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:51 GMT" ], "Server": [ "UploadServer" @@ -19075,52 +22825,60 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UoyA6Kf2i8hOJ6Lr6nIq1D04FdICWa_bMrunUw6UJPUAgqBoeVjzw_6SzCPCQapZ7KeTcIsMoeNuenh46RIjxyfWaVkXVxvNoDZHUOtW6U3-tTZNQM" + "AEnB2UpNuySlLo4SanUdFJK3SGoCidNgWEW4mUuFDGMLLSzY-UUA3TJtN5_FLoLq7et7d1YSUDlOoGZY4a_GdewGQtsUwGdbHLz-bopObpzPy160Wm3UMpg" ] }, - "Body": "" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6InVzYWdlTGltaXRzIiwicmVhc29uIjoicmF0ZUxpbWl0RXhjZWVkZWQiLCJtZXNzYWdlIjoiVGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpQUk9KRUNUX0JVQ0tFVF9PUF9SQVRFX1RPT19ISUdIOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6MTg0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YTo0Milcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5pbnNlcnQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVRPT19NQU5ZX1JFUVVFU1RTLCBjYXRlZ29yeT1RVU9UQV9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpQUk9KRUNUX0JVQ0tFVF9PUF9SQVRFX1RPT19ISUdIOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6MTg0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YTo0Milcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5pbnNlcnQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPXVzYWdlTGltaXRzLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9dG9vTWFueVJlcXVlc3RzLCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWNsb3VkLmJpZ3N0b3JlLmFwaS5CaWdzdG9yZUVycm9yRG9tYWluLkNMSUVOVF9RVU9UQV9FWENFRURFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlBST0pFQ1RfQlVDS0VUX09QX1JBVEVfVE9PX0hJR0g6IENyZWF0aW5nIGJ1Y2tldHMgdG9vIHF1aWNrbHksIHBsZWFzZSBzbG93IGRvd25cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YToxODQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5JbnNlcnRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydEJ1Y2tldC5qYXZhOjQyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5CdWNrZXRzRGVsZWdhdG9yLmluc2VydChCdWNrZXRzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENyZWF0aW5nIGJ1Y2tldHMgdG9vIHF1aWNrbHksIHBsZWFzZSBzbG93IGRvd25cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBlcnJvclByb3RvQ29kZT1DTElFTlRfUVVPVEFfRVhDRUVERUQsIGVycm9yUHJvdG9Eb21haW49Y2xvdWQuYmlnc3RvcmUuYXBpLkJpZ3N0b3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1lbnRpdHkucmVzb3VyY2UuYnVja2V0Lm5hbWUsIG1lc3NhZ2U9VGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZS5idWNrZXQubmFtZSwgbWVzc2FnZT1UaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuLCByZWFzb249cmF0ZUxpbWl0RXhjZWVkZWQsIHJwY0NvZGU9NDI5fSBUaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6UFJPSkVDVF9CVUNLRVRfT1BfUkFURV9UT09fSElHSDogQ3JlYXRpbmcgYnVja2V0cyB0b28gcXVpY2tseSwgcGxlYXNlIHNsb3cgZG93blxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5JbnNlcnRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydEJ1Y2tldC5qYXZhOjE4NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6NDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkJ1Y2tldHNEZWxlZ2F0b3IuaW5zZXJ0KEJ1Y2tldHNEZWxlZ2F0b3IuamF2YTo5NSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQ3JlYXRpbmcgYnVja2V0cyB0b28gcXVpY2tseSwgcGxlYXNlIHNsb3cgZG93blxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MjksIm1lc3NhZ2UiOiJUaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuIn19" } }, { - "ID": "986d52a67f967fad", + "ID": "281ffb73e66efd1f", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0016?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "103" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE0IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjYwIn19Cg==" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 429, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "0" + "12201" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:48 GMT" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:52 GMT" ], "Server": [ "UploadServer" @@ -19129,24 +22887,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Uo8cSIjb0q0nMZ1iJg5crZoFZ5l8aVKM9yFTtwnSAHexlHOEIWP5SbNKmq59CdR5LxnFoWq879qFVARCFRJMC90x4rHHjfeVrRGCdye8h7QAGLJKUg" + "AEnB2Uo8PK9JysFiApLjDSbbo9GloKqKjLO8vr85RWGkeC_Q0iEQf7zu2mwQVeiuJ81pfdJCUja0HrhNG13sczI2XoflqlsWNFvdxHGjCBrvDObr-s6Y32U" ] }, - "Body": "" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6InVzYWdlTGltaXRzIiwicmVhc29uIjoicmF0ZUxpbWl0RXhjZWVkZWQiLCJtZXNzYWdlIjoiVGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpQUk9KRUNUX0JVQ0tFVF9PUF9SQVRFX1RPT19ISUdIOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6MTg0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YTo0Milcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5pbnNlcnQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVRPT19NQU5ZX1JFUVVFU1RTLCBjYXRlZ29yeT1RVU9UQV9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpQUk9KRUNUX0JVQ0tFVF9PUF9SQVRFX1RPT19ISUdIOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6MTg0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YTo0Milcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5pbnNlcnQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPXVzYWdlTGltaXRzLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9dG9vTWFueVJlcXVlc3RzLCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWNsb3VkLmJpZ3N0b3JlLmFwaS5CaWdzdG9yZUVycm9yRG9tYWluLkNMSUVOVF9RVU9UQV9FWENFRURFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlBST0pFQ1RfQlVDS0VUX09QX1JBVEVfVE9PX0hJR0g6IENyZWF0aW5nIGJ1Y2tldHMgdG9vIHF1aWNrbHksIHBsZWFzZSBzbG93IGRvd25cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YToxODQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5JbnNlcnRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydEJ1Y2tldC5qYXZhOjQyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5CdWNrZXRzRGVsZWdhdG9yLmluc2VydChCdWNrZXRzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENyZWF0aW5nIGJ1Y2tldHMgdG9vIHF1aWNrbHksIHBsZWFzZSBzbG93IGRvd25cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBlcnJvclByb3RvQ29kZT1DTElFTlRfUVVPVEFfRVhDRUVERUQsIGVycm9yUHJvdG9Eb21haW49Y2xvdWQuYmlnc3RvcmUuYXBpLkJpZ3N0b3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1lbnRpdHkucmVzb3VyY2UuYnVja2V0Lm5hbWUsIG1lc3NhZ2U9VGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZS5idWNrZXQubmFtZSwgbWVzc2FnZT1UaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuLCByZWFzb249cmF0ZUxpbWl0RXhjZWVkZWQsIHJwY0NvZGU9NDI5fSBUaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6UFJPSkVDVF9CVUNLRVRfT1BfUkFURV9UT09fSElHSDogQ3JlYXRpbmcgYnVja2V0cyB0b28gcXVpY2tseSwgcGxlYXNlIHNsb3cgZG93blxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5JbnNlcnRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydEJ1Y2tldC5qYXZhOjE4NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6NDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkJ1Y2tldHNEZWxlZ2F0b3IuaW5zZXJ0KEJ1Y2tldHNEZWxlZ2F0b3IuamF2YTo5NSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQ3JlYXRpbmcgYnVja2V0cyB0b28gcXVpY2tseSwgcGxlYXNlIHNsb3cgZG93blxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MjksIm1lc3NhZ2UiOiJUaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuIn19" } }, { - "ID": "8b6e8e44a4d94f90", + "ID": "515ecb8616d48a7f", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "106" + "103" ], "User-Agent": [ "google-api-go-client/0.5" @@ -19154,7 +22921,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE3IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIn19Cg==" + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE0IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjYwIn19Cg==" ] }, "Response": { @@ -19163,17 +22930,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "573" + "571" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:49 GMT" + "Thu, 02 May 2019 22:25:55 GMT" ], "Etag": [ "CAE=" @@ -19191,28 +22961,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqN6OiNCrJGwYenLb_uZc6KEe9TkA4jRO4Of1Vf1glFOIWONuNGohu7lTfiGBPJYXBS51Wwqhpxcpiq4v_UBnRLk9ekdf92TvL4b3x3rOEfllXB6X8" + "AEnB2UqF93J_Bpwg-_yefVpKWteSyWBSx9FqNm8MP5eZKqVfvDWpSF6EPZsISss7hNOkKMM5OuV8stlJIW2UAkzsSgkYOHx5fCwOwylbtqAyb8OlYJCHz6Q" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NDguOTg0WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjQ4Ljk4NFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDIyOjA5OjQ4Ljk4NFoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE0IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjU1LjIwNFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo1NS4yMDRaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiNjAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wNS0wMlQyMjoyNTo1NS4yMDRaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "e6c62dbd6e00aa4f", + "ID": "771e55d617425f26", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0017?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0014?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "25" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJyZXRlbnRpb25Qb2xpY3kiOm51bGx9Cg==" + ] }, "Response": { "StatusCode": 200, @@ -19220,23 +23004,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2500" + "2431" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:49 GMT" + "Thu, 02 May 2019 22:25:55 GMT" ], "Etag": [ - "CAE=" + "CAI=" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:49 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -19245,31 +23035,39 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq27nqF2zviEPZ0Np3Owvm03uKGB1bBfL7IJl4dZZ_aejqh3dIinTE-omgpdrUOUnq3EjIOYzFyvmM1aCRMMXWJxMZhD10Krl47U0qHmmjCiFLeymA" + "AEnB2Up6Slob_akPo2UWNmzCe-LD4cb-9DVTq_FPlNxA7mKVF6fBFks6gFnZ83BSajEU2qD8g14Y-pX20kbfoKf8XGR9pIW2xXH_oHCxsjspHZ2ARGePTMA" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NDguOTg0WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjQ4Ljk4NFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTcvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTcvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE3L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOVQyMjowOTo0OC45ODRaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE0IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjU1LjIwNFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo1NS44MjVaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTQvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE0L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTQiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE0L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTQvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTQiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTQvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifQ==" } }, { - "ID": "f8a58ec5fd97f38e", + "ID": "9526aab2be8b214c", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0017/lockRetentionPolicy?alt=json\u0026ifMetagenerationMatch=1\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0014?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "0" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -19277,23 +23075,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "637" + "2431" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:51 GMT" + "Thu, 02 May 2019 22:25:56 GMT" ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Etag": [ + "CAI=" ], - "Pragma": [ - "no-cache" + "Expires": [ + "Thu, 02 May 2019 22:25:56 GMT" ], "Server": [ "UploadServer" @@ -19302,28 +23103,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrLUlQJzth1a1qL6KFupnaf-w4PsQ3yb778Qp3yEbck0ku9Pz3ZDPHbpCEr16VvfOogFPwyXEEANsnxGuwWEFA1xHQ8lpCy3zyDLrxjdR3tkQrwB20" + "AEnB2UopNhdzHbHv4sXyk0r1owz7bkkPQwYIGbb3gRingbq7vgESKltWLIr9PDDIUNREfumEvZDfpxMineWYNzZ0qdOaI1QNYqXjnuxO6sCUDjBYEhr76uk" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NDguOTg0WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjUxLjEyOVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDIyOjA5OjQ4Ljk4NFoiLCJpc0xvY2tlZCI6dHJ1ZX0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE0IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjU1LjIwNFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo1NS44MjVaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTQvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE0L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTQiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE0L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTQvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTQiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTQvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifQ==" } }, { - "ID": "d482fbac6b76f6f0", + "ID": "0aabff8aa1cc1e9c", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0017?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "103" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE1IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjYwIn19Cg==" + ] }, "Response": { "StatusCode": 200, @@ -19331,23 +23146,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2516" + "571" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:51 GMT" + "Thu, 02 May 2019 22:25:56 GMT" ], "Etag": [ - "CAI=" + "CAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:51 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -19356,24 +23177,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpGiXEIzcBX7Y9sDiHDOfrXIWXwkvmdyiDFdedQrzGgx_UBX1xueiWZw0VGU_jKdqK2RMAwn0MVLt6o4a8VH4cqfLJt0h1AWobA-lENvpRhF0lXYE4" + "AEnB2UpTj6zYv1NMHDI_ktA1d-p7HKq4YnJMxxI9nXubPfCMyIspOgya8HYibmvOMFwLtCPagnzRHe0HbmTCSqJpYMay0xYZstGSE_IUWRqI9lUhzq0Iqe4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NDguOTg0WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjUxLjEyOVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTcvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTcvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE3L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOVQyMjowOTo0OC45ODRaIiwiaXNMb2NrZWQiOnRydWV9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE1IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjU2LjM3NFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo1Ni4zNzRaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiNjAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wNS0wMlQyMjoyNTo1Ni4zNzRaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "00be90a9ef496a2b", + "ID": "05147b5b5fdd7882", "Request": { "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0017?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0015?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "47" + "3" ], "User-Agent": [ "google-api-go-client/0.5" @@ -19381,23 +23211,38 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiMzYwMCJ9fQo=" + "e30K" ] }, "Response": { - "StatusCode": 403, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "no-cache, no-store, max-age=0, must-revalidate" + ], "Content-Length": [ - "348" + "2517" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:52 GMT" + "Thu, 02 May 2019 22:25:56 GMT" + ], + "Etag": [ + "CAE=" + ], + "Expires": [ + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -19406,32 +23251,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqDQY9KbFeCx9CjCu6lZJLY0r0bMWwq7IYYy2Ht4fzbxZ0H27_bZkQvoqwGx1LIdTN6GYOTd-IQWNDIGct6dHK1JjA8I_PP9Ndmd0Smsuy8cgz5sTI" + "AEnB2Uoshhz3RuOTlNgZ3gOLis_dSFBsqr7khyJCdWUD8BGk0_j-AHxA5etttVHuHTrUcDksF4LdtfJLhlVrAJe9PrGiYZ-Wy57j6tb7L6vc0qHoTvolIRg" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJDYW5ub3QgcmVkdWNlIHJldGVudGlvbiBkdXJhdGlvbiBvZiBhIGxvY2tlZCBSZXRlbnRpb24gUG9saWN5IGZvciBidWNrZXQgJ2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNycuIn1dLCJjb2RlIjo0MDMsIm1lc3NhZ2UiOiJDYW5ub3QgcmVkdWNlIHJldGVudGlvbiBkdXJhdGlvbiBvZiBhIGxvY2tlZCBSZXRlbnRpb24gUG9saWN5IGZvciBidWNrZXQgJ2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNycuIn19" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE1IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjU2LjM3NFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo1Ni4zNzRaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTUvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE1L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE1L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTUvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI2MCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTA1LTAyVDIyOjI1OjU2LjM3NFoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9" } }, { - "ID": "1d84f764c12274f0", + "ID": "7de8d497e7e1a76c", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0015?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "106" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE4IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIn19Cg==" + "" ] }, "Response": { @@ -19440,26 +23291,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "573" + "2517" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:53 GMT" + "Thu, 02 May 2019 22:25:57 GMT" ], "Etag": [ "CAE=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:25:57 GMT" ], "Server": [ "UploadServer" @@ -19468,46 +23319,66 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrgBfxqvvY0tuL3s8x2pT2X0GRURFTuakwyVqzmUg2UXinQQJmdDm9yaG0HbRHut-iVYR-jh0dpaP5pnFc_QvEojpU55uELLH4F6YwZv8p9-BJPaQU" + "AEnB2Up3mjbvLxwRDDhjg8GTGBNcJM7EraDydPsmD77oQcyYYGVlQnUqg0NQbezf4KQOoOHoEnC9jMR052e0olW3qi9KdAi4-qJEiKGI1rGivb5hnJnmU5o" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NTIuNjY5WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjUyLjY2OVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDIyOjA5OjUyLjY2OVoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE1IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjU2LjM3NFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo1Ni4zNzRaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTUvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE1L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE1L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTUvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI2MCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTA1LTAyVDIyOjI1OjU2LjM3NFoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9" } }, { - "ID": "a0d325ea620f191d", + "ID": "3876040740117531", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0018/lockRetentionPolicy?alt=json\u0026ifMetagenerationMatch=0\u0026prettyPrint=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0015?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "0" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 412, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], + "Cache-Control": [ + "no-cache, no-store, max-age=0, must-revalidate" + ], "Content-Length": [ - "190" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:54 GMT" + "Thu, 02 May 2019 22:25:57 GMT" + ], + "Expires": [ + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -19516,18 +23387,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqoNBrkzIqtVVj5MAaONrYnFL6JkWuW2c5OMM8Fd9bAxGpQ1f_mM_bhrJa4n1fr5MdDWSU42l1nXWZAL9lumt2GB-dFf3JMQWSckU7DRVpEfoCBeZM" + "AEnB2UqGdmh-XzrU5d5VwRugwWr452hENxpWf1sEtNCDaGksLJ1taCgnEjL_0oAlELqirqyXLlw-frE8LYo1V37Pk1G3qvWGk9E1iSZV7uECOjsdE3JagK8" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImNvbmRpdGlvbk5vdE1ldCIsIm1lc3NhZ2UiOiJQcmVjb25kaXRpb24gRmFpbGVkIiwibG9jYXRpb25UeXBlIjoiaGVhZGVyIiwibG9jYXRpb24iOiJJZi1NYXRjaCJ9XSwiY29kZSI6NDEyLCJtZXNzYWdlIjoiUHJlY29uZGl0aW9uIEZhaWxlZCJ9fQ==" + "Body": "" } }, { - "ID": "56f2a3aafe9d3f9e", + "ID": "39fb456e528c7081", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026kmsKeyName=projects%2Fdulcet-port-762%2Flocations%2Fus%2FkeyRings%2Fgo-integration-test%2FcryptoKeys%2Fkey1\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0014?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -19536,32 +23416,31 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJuYW1lIjoia21zIn0K", - "bXkgc2VjcmV0" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3323" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:55 GMT" - ], - "Etag": [ - "CLy4oMbb4d8CEAE=" + "Thu, 02 May 2019 22:25:57 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -19576,102 +23455,95 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UowEIZH1KP8fYkQd3gCUhKYkU1ebA6GgrMbxNb10i_wK4dCIdPoePTRdMlF3nrM2JFonC6YtSqO3jdl8TUphYS-3mXTqHEcr9uPRATSYwQZzujVz4w" + "AEnB2UqKcAQsTdqHfiXj71c5kivJTwCNhY6xUQpZtaxywsmr1kNG5_MdJBsOvuLVbDSHKRIsG9tDxk_9Gz-7zaqP_pqke1aqKOFg9NeCU4ZqfjD0SBy0Q5Q" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9rbXMvMTU0NzA3MTc5NDk3Nzg1MiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2ttcyIsIm5hbWUiOiJrbXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc5NDk3Nzg1MiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTo1NC45NzdaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NTQuOTc3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjU0Ljk3N1oiLCJzaXplIjoiOSIsIm1kNUhhc2giOiJBQVBRUzQ2VHJuTVlucWlLQWJhZ3RRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28va21zP2dlbmVyYXRpb249MTU0NzA3MTc5NDk3Nzg1MiZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9rbXMvMTU0NzA3MTc5NDk3Nzg1Mi9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2ttcy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJrbXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc5NDk3Nzg1MiIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0x5NG9NYmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2ttcy8xNTQ3MDcxNzk0OTc3ODUyL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2ttcy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3OTQ5Nzc4NTIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0x5NG9NYmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2ttcy8xNTQ3MDcxNzk0OTc3ODUyL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2ttcy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3OTQ5Nzc4NTIiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNMeTRvTWJiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9rbXMvMTU0NzA3MTc5NDk3Nzg1Mi91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28va21zL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3OTQ5Nzc4NTIiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTHk0b01iYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IlVJNzg1QT09IiwiZXRhZyI6IkNMeTRvTWJiNGQ4Q0VBRT0iLCJrbXNLZXlOYW1lIjoicHJvamVjdHMvZHVsY2V0LXBvcnQtNzYyL2xvY2F0aW9ucy91cy9rZXlSaW5ncy9nby1pbnRlZ3JhdGlvbi10ZXN0L2NyeXB0b0tleXMva2V5MS9jcnlwdG9LZXlWZXJzaW9ucy8xIn0=" + "Body": "" } }, { - "ID": "81841eb3de78e03c", + "ID": "3fdacef865a6fc39", "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/kms", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0013?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "9" + "0" ], "Content-Type": [ - "text/plain; charset=utf-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:55 GMT" - ], - "Etag": [ - "\"-CLy4oMbb4d8CEAE=\"" + "Thu, 02 May 2019 22:25:58 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:09:54 GMT" - ], "Pragma": [ "no-cache" ], "Server": [ "UploadServer" ], - "X-Goog-Encryption-Kms-Key-Name": [ - "projects/dulcet-port-762/locations/us/keyRings/go-integration-test/cryptoKeys/key1/cryptoKeyVersions/1" - ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:09:54 GMT" - ], - "X-Goog-Generation": [ - "1547071794977852" - ], - "X-Goog-Hash": [ - "crc32c=UI785A==", - "md5=AAPQS46TrnMYnqiKAbagtQ==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "9" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UrHglBr3xOAj7yR2KANKFuEneSeK2soY_LW_vBZb9vqNGAn3urKxWZ5iIrmpXtDP8pkW69DCy5QPRMQidvuLRXLjlwmcmWerSKjw3FfzqXudVzKMjM" + "AEnB2Ur0PIkQTUvOl8-6tC08mwiS3nBPydo1OYUeD6Q46ZrU6VkmpRwxc9MikGqJlsejuGZkyY_aaxUVKYGREjOF363tfkbII3of6pGFuQ8rINOf8uFV5ts" ] }, - "Body": "bXkgc2VjcmV0" + "Body": "" } }, { - "ID": "1b5dc8c05e094c19", + "ID": "2da48fa864dd9efe", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/kms?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0012?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -19681,28 +23553,30 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3323" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:56 GMT" - ], - "Etag": [ - "CLy4oMbb4d8CEAE=" + "Thu, 02 May 2019 22:25:58 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -19717,18 +23591,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqAILS1oqxLh8cz6t2yymF5OVa-kYEQfXhgEfWLZJWIoXqYR87a2kktfRpNLLYzCyso1YRpQs4OVJ0IlqIa5xdBRs7I4P3mqO_aKReq1LAoRYWr8Uw" + "AEnB2UoWkbW_2n8KvRkdk7Lh_5eOVBjW6JvoW0i9LNQUHM-Df2H1QIbUYIwFnUGLt-bPfFa46Ur-v8Q76mU24KpjW7WIC_HVq4Q5H96pRYk7I6ggUsckTs0" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9rbXMvMTU0NzA3MTc5NDk3Nzg1MiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2ttcyIsIm5hbWUiOiJrbXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc5NDk3Nzg1MiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTo1NC45NzdaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NTQuOTc3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjU0Ljk3N1oiLCJzaXplIjoiOSIsIm1kNUhhc2giOiJBQVBRUzQ2VHJuTVlucWlLQWJhZ3RRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28va21zP2dlbmVyYXRpb249MTU0NzA3MTc5NDk3Nzg1MiZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9rbXMvMTU0NzA3MTc5NDk3Nzg1Mi9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2ttcy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJrbXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc5NDk3Nzg1MiIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0x5NG9NYmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2ttcy8xNTQ3MDcxNzk0OTc3ODUyL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2ttcy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3OTQ5Nzc4NTIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0x5NG9NYmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2ttcy8xNTQ3MDcxNzk0OTc3ODUyL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2ttcy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3OTQ5Nzc4NTIiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNMeTRvTWJiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9rbXMvMTU0NzA3MTc5NDk3Nzg1Mi91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28va21zL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3OTQ5Nzc4NTIiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTHk0b01iYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IlVJNzg1QT09IiwiZXRhZyI6IkNMeTRvTWJiNGQ4Q0VBRT0iLCJrbXNLZXlOYW1lIjoicHJvamVjdHMvZHVsY2V0LXBvcnQtNzYyL2xvY2F0aW9ucy91cy9rZXlSaW5ncy9nby1pbnRlZ3JhdGlvbi10ZXN0L2NyeXB0b0tleXMva2V5MS9jcnlwdG9LZXlWZXJzaW9ucy8xIn0=" + "Body": "" } }, { - "ID": "f1be9e738bbca92c", + "ID": "3ef26f9548e0aec4", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/kms?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0011?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -19738,7 +23621,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -19746,6 +23631,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -19756,7 +23644,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:56 GMT" + "Thu, 02 May 2019 22:25:59 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -19771,39 +23659,41 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpJyKiSlga1KgX6wJuao9twyBZy18WQNRC_FcwlC7GwdHc8zXJHLWXPUblbFTSwLsp7bgD5TmVq243FCnzX8oLmUJlLVEuKrlDcDQ4VsOdf3ZSKrmQ" + "AEnB2UqZfOfnhYy6nk2TxHz3h1eMu_0KlczCaOb-xcAIBRoRgxk7Q67BqsT5fvb-vAky2phYzQWNHLTk-0T8V2tpPY4Hg23Ub9evuo6_YEndEVdiBRhTcFI" ] }, "Body": "" } }, { - "ID": "286f6c342c54e671", + "ID": "8f3abbeca307cc5a", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "106" + ], "User-Agent": [ "google-api-go-client/0.5" - ], - "X-Goog-Encryption-Algorithm": [ - "AES256" - ], - "X-Goog-Encryption-Key": [ - "CLEARED" - ], - "X-Goog-Encryption-Key-Sha256": [ - "Io4lnOPU+EThO0X0nq7mNEXB1rWxZsBI4L37pBmyfDc=" ] }, - "MediaType": "multipart/related", + "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoiY3NlayJ9Cg==", - "bXkgc2VjcmV0" + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE2IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIn19Cg==" ] }, "Response": { @@ -19812,20 +23702,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3355" + "574" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:57 GMT" + "Thu, 02 May 2019 22:25:59 GMT" ], "Etag": [ - "COKvk8fb4d8CEAE=" + "CAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -19840,41 +23733,39 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq1U-BJjbTqolOMyuECmfPPAq1mRO2xQXOLT55I07GwsfeEG0Ff4yiX-HuLyLSmg0VAevfr2SXgEn3C4g1GL2Br4FXA4H5NamJzROGaeboZGJ0NLvg" + "AEnB2UqdSQK1TuFGAgs143LV6RLNjzfrsAl5vt-Jb_RQ4dcVGDzK8I29sKKrPmcY0rLIJuVIQar3mdRGhNLhqXp2xCKli28TFq4rtsIgiA4DxCtdVbajIhY" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jc2VrLzE1NDcwNzE3OTY4NjA4OTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jc2VrIiwibmFtZSI6ImNzZWsiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc5Njg2MDg5OCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTo1Ni44NjBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NTYuODYwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjU2Ljg2MFoiLCJzaXplIjoiOSIsIm1kNUhhc2giOiJBQVBRUzQ2VHJuTVlucWlLQWJhZ3RRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3Nlaz9nZW5lcmF0aW9uPTE1NDcwNzE3OTY4NjA4OTgmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY3Nlay8xNTQ3MDcxNzk2ODYwODk4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3Nlay9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjc2VrIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3OTY4NjA4OTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNPS3ZrOGZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jc2VrLzE1NDcwNzE3OTY4NjA4OTgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3Nlay9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3NlayIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzk2ODYwODk4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNPS3ZrOGZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jc2VrLzE1NDcwNzE3OTY4NjA4OTgvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3Nlay9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3NlayIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzk2ODYwODk4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDT0t2azhmYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY3Nlay8xNTQ3MDcxNzk2ODYwODk4L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jc2VrL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3NlayIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzk2ODYwODk4IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09Ldms4ZmI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJVSTc4NUE9PSIsImV0YWciOiJDT0t2azhmYjRkOENFQUU9IiwiY3VzdG9tZXJFbmNyeXB0aW9uIjp7ImVuY3J5cHRpb25BbGdvcml0aG0iOiJBRVMyNTYiLCJrZXlTaGEyNTYiOiJJbzRsbk9QVStFVGhPMFgwbnE3bU5FWEIxcld4WnNCSTRMMzdwQm15ZkRjPSJ9fQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE2IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjU5LjM2NFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo1OS4zNjRaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wNS0wMlQyMjoyNTo1OS4zNjRaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "0b599d0158b48a01", + "ID": "bb92a1c4ecd9e884", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/csek/rewriteTo/b/go-integration-test-20190109-79655285984746-0001/o/cmek?alt=json\u0026destinationKmsKeyName=projects%2Fdulcet-port-762%2Flocations%2Fus%2FkeyRings%2Fgo-integration-test%2FcryptoKeys%2Fkey1\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0016/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "3" - ], "User-Agent": [ "google-api-go-client/0.5" - ], - "X-Goog-Copy-Source-Encryption-Algorithm": [ - "AES256" - ], - "X-Goog-Copy-Source-Encryption-Key": [ - "CLEARED" - ], - "X-Goog-Copy-Source-Encryption-Key-Sha256": [ - "Io4lnOPU+EThO0X0nq7mNEXB1rWxZsBI4L37pBmyfDc=" ] }, - "MediaType": "application/json", + "MediaType": "multipart/related", "BodyParts": [ - "e30K" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTYiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoic29tZS1vYmplY3QifQo=", + "aGVsbG8gd29ybGQ=" ] }, "Response": { @@ -19883,17 +23774,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3461" + "3315" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:57 GMT" + "Thu, 02 May 2019 22:26:00 GMT" + ], + "Etag": [ + "COup9/Lx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -19908,112 +23805,107 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uro4E1cD3rnVjlcXSbLsfnXk8lxrMgAsK6csR9O3OKGcvgeFag4spsmLftdEJaL3jaNfvvjM2QazIbI17KAQNRVFetHyFIx9JCgLkSFDRr3d_n1IcE" + "AEnB2UrRoCa6t1nTWVUrdfIXfyxZBI6PKBkzO24svoJRDEYMEsduIrzBpdDiX8mIUWSxcL8-pSRZgcDvy9_iHKpoVbiUNt4QhlG7zosGpa3WOk--YlBxjeM" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiOSIsIm9iamVjdFNpemUiOiI5IiwiZG9uZSI6dHJ1ZSwicmVzb3VyY2UiOnsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY21lay8xNTQ3MDcxNzk3NDM2ODk5Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY21layIsIm5hbWUiOiJjbWVrIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3OTc0MzY4OTkiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NTcuNDM2WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjU3LjQzNloiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTo1Ny40MzZaIiwic2l6ZSI6IjkiLCJtZDVIYXNoIjoiQUFQUVM0NlRybk1ZbnFpS0FiYWd0UT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NtZWs/Z2VuZXJhdGlvbj0xNTQ3MDcxNzk3NDM2ODk5JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NtZWsvMTU0NzA3MTc5NzQzNjg5OS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NtZWsvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY21layIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzk3NDM2ODk5IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDT1BEdHNmYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY21lay8xNTQ3MDcxNzk3NDM2ODk5L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NtZWsvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNtZWsiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc5NzQzNjg5OSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDT1BEdHNmYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY21lay8xNTQ3MDcxNzk3NDM2ODk5L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NtZWsvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNtZWsiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc5NzQzNjg5OSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ09QRHRzZmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NtZWsvMTU0NzA3MTc5NzQzNjg5OS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY21lay9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNtZWsiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc5NzQzNjg5OSIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNPUER0c2ZiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiVUk3ODVBPT0iLCJldGFnIjoiQ09QRHRzZmI0ZDhDRUFFPSIsImttc0tleU5hbWUiOiJwcm9qZWN0cy9kdWxjZXQtcG9ydC03NjIvbG9jYXRpb25zL3VzL2tleVJpbmdzL2dvLWludGVncmF0aW9uLXRlc3QvY3J5cHRvS2V5cy9rZXkxL2NyeXB0b0tleVZlcnNpb25zLzEifX0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNi9zb21lLW9iamVjdC8xNTU2ODM1OTU5OTUyNjE5Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE2L28vc29tZS1vYmplY3QiLCJuYW1lIjoic29tZS1vYmplY3QiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTYiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk1OTk1MjYxOSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNTo1OS45NTJaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjU6NTkuOTUyWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjU5Ljk1MloiLCJzaXplIjoiMTEiLCJtZDVIYXNoIjoiWHJZN3UrQWU3dENUeXlLN2oxck53dz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNi9vL3NvbWUtb2JqZWN0P2dlbmVyYXRpb249MTU1NjgzNTk1OTk1MjYxOSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNi9zb21lLW9iamVjdC8xNTU2ODM1OTU5OTUyNjE5L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNi9vL3NvbWUtb2JqZWN0L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTYiLCJvYmplY3QiOiJzb21lLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTU5OTUyNjE5IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNPdXA5L0x4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNi9zb21lLW9iamVjdC8xNTU2ODM1OTU5OTUyNjE5L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTYvby9zb21lLW9iamVjdC9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNiIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NTk5NTI2MTkiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDT3VwOS9MeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTYvc29tZS1vYmplY3QvMTU1NjgzNTk1OTk1MjYxOS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE2L28vc29tZS1vYmplY3QvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTYiLCJvYmplY3QiOiJzb21lLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTU5OTUyNjE5IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPdXA5L0x4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNi9zb21lLW9iamVjdC8xNTU2ODM1OTU5OTUyNjE5L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTYvby9zb21lLW9iamVjdC9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNiIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NTk5NTI2MTkiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDT3VwOS9MeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6InlaUmxxZz09IiwiZXRhZyI6IkNPdXA5L0x4L2VFQ0VBRT0iLCJyZXRlbnRpb25FeHBpcmF0aW9uVGltZSI6IjIwMTktMDUtMDNUMjM6MjU6NTkuOTUyWiJ9" } }, { - "ID": "1b07e259a3edd9c6", + "ID": "8f2ac73db961f1d6", "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/cmek", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0016/o/some-object?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 403, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" ], "Content-Length": [ - "9" + "13884" ], "Content-Type": [ - "text/plain" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:57 GMT" - ], - "Etag": [ - "\"-COPDtsfb4d8CEAE=\"" + "Thu, 02 May 2019 22:26:00 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:09:57 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:26:00 GMT" ], "Server": [ "UploadServer" ], - "X-Goog-Encryption-Kms-Key-Name": [ - "projects/dulcet-port-762/locations/us/keyRings/go-integration-test/cryptoKeys/key1/cryptoKeyVersions/1" - ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:09:57 GMT" - ], - "X-Goog-Generation": [ - "1547071797436899" - ], - "X-Goog-Hash": [ - "crc32c=UI785A==", - "md5=AAPQS46TrnMYnqiKAbagtQ==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "agent_rejected" ], - "X-Goog-Stored-Content-Length": [ - "9" + "X-Guploader-Upload-Result": [ + "agent_rejected" ], "X-Guploader-Uploadid": [ - "AEnB2UowFEca4MWc9sVCuYMB-BSxOUKQdGvXtz0rNtdxwdizXwWlADCiqN0GUH3eBdu5fE-Z848kW601t68yETQRuxWqdYChjp8nWYp9vxVfJhStH5h3Lcw" + "AEnB2Uok63dRFSkGv0Fum7yPhHf_AtYTWceX5_zkck648-jhWkyym1ezg2Og-LqKJ6nnZCW_gPZuU01OkZErKAQbL7mvQroCq8nEtNTEAosMxk9fJRKpYlc" ] }, - "Body": "bXkgc2VjcmV0" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJPYmplY3QgJ2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNi9zb21lLW9iamVjdCcgaXMgc3ViamVjdCB0byBidWNrZXQncyByZXRlbnRpb24gcG9saWN5IGFuZCBjYW5ub3QgYmUgZGVsZXRlZCwgb3ZlcndyaXR0ZW4gb3IgYXJjaGl2ZWQgdW50aWwgMjAxOS0wNS0wM1QxNjoyNTo1OS45NTIyMDg0MjgtMDc6MDAiLCJkZWJ1Z0luZm8iOiJjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6UkVURU5USU9OX1BPTElDWV9OT1RfTUVUOiBPYmplY3QgJ2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNi9zb21lLW9iamVjdCcgaXMgc3ViamVjdCB0byBidWNrZXQncyByZXRlbnRpb24gcG9saWN5IGFuZCBjYW5ub3QgYmUgZGVsZXRlZCwgb3ZlcndyaXR0ZW4gb3IgYXJjaGl2ZWQgdW50aWwgMjAxOS0wNS0wM1QxNjoyNTo1OS45NTIyMDg0MjgtMDc6MDBcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuRGVsZXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVPYmplY3QuamF2YTo4OClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuZGVsZXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IE9iamVjdCAnZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE2L3NvbWUtb2JqZWN0JyBpcyBzdWJqZWN0IHRvIGJ1Y2tldCdzIHJldGVudGlvbiBwb2xpY3kgYW5kIGNhbm5vdCBiZSBkZWxldGVkLCBvdmVyd3JpdHRlbiBvciBhcmNoaXZlZCB1bnRpbCAyMDE5LTA1LTAzVDE2OjI1OjU5Ljk1MjIwODQyOC0wNzowMFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cbmNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1GT1JCSURERU4sIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6UkVURU5USU9OX1BPTElDWV9OT1RfTUVUOiBPYmplY3QgJ2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNi9zb21lLW9iamVjdCcgaXMgc3ViamVjdCB0byBidWNrZXQncyByZXRlbnRpb24gcG9saWN5IGFuZCBjYW5ub3QgYmUgZGVsZXRlZCwgb3ZlcndyaXR0ZW4gb3IgYXJjaGl2ZWQgdW50aWwgMjAxOS0wNS0wM1QxNjoyNTo1OS45NTIyMDg0MjgtMDc6MDBcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLm9iamVjdHMuRGVsZXRlT2JqZWN0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChEZWxldGVPYmplY3QuamF2YTo4OClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6MjUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLk9iamVjdHNEZWxlZ2F0b3IuZGVsZXRlKE9iamVjdHNEZWxlZ2F0b3IuamF2YToxMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IE9iamVjdCAnZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE2L3NvbWUtb2JqZWN0JyBpcyBzdWJqZWN0IHRvIGJ1Y2tldCdzIHJldGVudGlvbiBwb2xpY3kgYW5kIGNhbm5vdCBiZSBkZWxldGVkLCBvdmVyd3JpdHRlbiBvciBhcmNoaXZlZCB1bnRpbCAyMDE5LTA1LTAzVDE2OjI1OjU5Ljk1MjIwODQyOC0wNzowMFxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1mb3JiaWRkZW4sIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLkZPUkJJRERFTiwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlJFVEVOVElPTl9QT0xJQ1lfTk9UX01FVDogT2JqZWN0ICdnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTYvc29tZS1vYmplY3QnIGlzIHN1YmplY3QgdG8gYnVja2V0J3MgcmV0ZW50aW9uIHBvbGljeSBhbmQgY2Fubm90IGJlIGRlbGV0ZWQsIG92ZXJ3cml0dGVuIG9yIGFyY2hpdmVkIHVudGlsIDIwMTktMDUtMDNUMTY6MjU6NTkuOTUyMjA4NDI4LTA3OjAwXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6ODgpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5EZWxldGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZU9iamVjdC5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmRlbGV0ZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBPYmplY3QgJ2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNi9zb21lLW9iamVjdCcgaXMgc3ViamVjdCB0byBidWNrZXQncyByZXRlbnRpb24gcG9saWN5IGFuZCBjYW5ub3QgYmUgZGVsZXRlZCwgb3ZlcndyaXR0ZW4gb3IgYXJjaGl2ZWQgdW50aWwgMjAxOS0wNS0wM1QxNjoyNTo1OS45NTIyMDg0MjgtMDc6MDBcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBlcnJvclByb3RvQ29kZT1GT1JCSURERU4sIGVycm9yUHJvdG9Eb21haW49Z2RhdGEuQ29yZUVycm9yRG9tYWluLCBmaWx0ZXJlZE1lc3NhZ2U9bnVsbCwgbG9jYXRpb249bnVsbCwgbWVzc2FnZT1PYmplY3QgJ2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNi9zb21lLW9iamVjdCcgaXMgc3ViamVjdCB0byBidWNrZXQncyByZXRlbnRpb24gcG9saWN5IGFuZCBjYW5ub3QgYmUgZGVsZXRlZCwgb3ZlcndyaXR0ZW4gb3IgYXJjaGl2ZWQgdW50aWwgMjAxOS0wNS0wM1QxNjoyNTo1OS45NTIyMDg0MjgtMDc6MDAsIHVubmFtZWRBcmd1bWVudHM9W119LCBsb2NhdGlvbj1udWxsLCBtZXNzYWdlPU9iamVjdCAnZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE2L3NvbWUtb2JqZWN0JyBpcyBzdWJqZWN0IHRvIGJ1Y2tldCdzIHJldGVudGlvbiBwb2xpY3kgYW5kIGNhbm5vdCBiZSBkZWxldGVkLCBvdmVyd3JpdHRlbiBvciBhcmNoaXZlZCB1bnRpbCAyMDE5LTA1LTAzVDE2OjI1OjU5Ljk1MjIwODQyOC0wNzowMCwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IE9iamVjdCAnZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE2L3NvbWUtb2JqZWN0JyBpcyBzdWJqZWN0IHRvIGJ1Y2tldCdzIHJldGVudGlvbiBwb2xpY3kgYW5kIGNhbm5vdCBiZSBkZWxldGVkLCBvdmVyd3JpdHRlbiBvciBhcmNoaXZlZCB1bnRpbCAyMDE5LTA1LTAzVDE2OjI1OjU5Ljk1MjIwODQyOC0wNzowMDogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlJFVEVOVElPTl9QT0xJQ1lfTk9UX01FVDogT2JqZWN0ICdnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTYvc29tZS1vYmplY3QnIGlzIHN1YmplY3QgdG8gYnVja2V0J3MgcmV0ZW50aW9uIHBvbGljeSBhbmQgY2Fubm90IGJlIGRlbGV0ZWQsIG92ZXJ3cml0dGVuIG9yIGFyY2hpdmVkIHVudGlsIDIwMTktMDUtMDNUMTY6MjU6NTkuOTUyMjA4NDI4LTA3OjAwXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkRlbGV0ZU9iamVjdC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoRGVsZXRlT2JqZWN0LmphdmE6ODgpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMub2JqZWN0cy5EZWxldGVPYmplY3QuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKERlbGV0ZU9iamVjdC5qYXZhOjI1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmRlbGV0ZShPYmplY3RzRGVsZWdhdG9yLmphdmE6MTEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBPYmplY3QgJ2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNi9zb21lLW9iamVjdCcgaXMgc3ViamVjdCB0byBidWNrZXQncyByZXRlbnRpb24gcG9saWN5IGFuZCBjYW5ub3QgYmUgZGVsZXRlZCwgb3ZlcndyaXR0ZW4gb3IgYXJjaGl2ZWQgdW50aWwgMjAxOS0wNS0wM1QxNjoyNTo1OS45NTIyMDg0MjgtMDc6MDBcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiT2JqZWN0ICdnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTYvc29tZS1vYmplY3QnIGlzIHN1YmplY3QgdG8gYnVja2V0J3MgcmV0ZW50aW9uIHBvbGljeSBhbmQgY2Fubm90IGJlIGRlbGV0ZWQsIG92ZXJ3cml0dGVuIG9yIGFyY2hpdmVkIHVudGlsIDIwMTktMDUtMDNUMTY6MjU6NTkuOTUyMjA4NDI4LTA3OjAwIn19" } }, { - "ID": "2ee661945374daae", + "ID": "5a7a0988789dfb17", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/cmek?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0016?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "25" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJyZXRlbnRpb25Qb2xpY3kiOm51bGx9Cg==" + ] }, "Response": { "StatusCode": 200, @@ -20021,20 +23913,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3360" + "2431" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:57 GMT" + "Thu, 02 May 2019 22:26:00 GMT" ], "Etag": [ - "COPDtsfb4d8CEAE=" + "CAI=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -20049,18 +23944,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Urdix0KEJs8RIy_SXlaqKP8xpO4-zUZZJRxa23CPXisogY6UaJo0hDfQIwzGQpLi4Aq8u17IHosed-6Y6m5nFn6VBYw6CX8jiGmyBjLzmPXQrR6IQs" + "AEnB2UrZIBPbBTYIUYYaBFrcXzNnp7uuC8DoPry45bX57PyfL7aM5a83NLxYnvWsXD62w3LrRVksNhJbrLnSL5e8ZS6b0Cto8ufh-V00gNrGI-CaTc4achc" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jbWVrLzE1NDcwNzE3OTc0MzY4OTkiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jbWVrIiwibmFtZSI6ImNtZWsiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc5NzQzNjg5OSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTo1Ny40MzZaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NTcuNDM2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjU3LjQzNloiLCJzaXplIjoiOSIsIm1kNUhhc2giOiJBQVBRUzQ2VHJuTVlucWlLQWJhZ3RRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY21laz9nZW5lcmF0aW9uPTE1NDcwNzE3OTc0MzY4OTkmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY21lay8xNTQ3MDcxNzk3NDM2ODk5L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY21lay9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjbWVrIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3OTc0MzY4OTkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNPUER0c2ZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jbWVrLzE1NDcwNzE3OTc0MzY4OTkvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY21lay9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY21layIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzk3NDM2ODk5IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNPUER0c2ZiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jbWVrLzE1NDcwNzE3OTc0MzY4OTkvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY21lay9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY21layIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzk3NDM2ODk5IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDT1BEdHNmYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY21lay8xNTQ3MDcxNzk3NDM2ODk5L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jbWVrL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY21layIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzk3NDM2ODk5IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09QRHRzZmI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJVSTc4NUE9PSIsImV0YWciOiJDT1BEdHNmYjRkOENFQUU9Iiwia21zS2V5TmFtZSI6InByb2plY3RzL2R1bGNldC1wb3J0LTc2Mi9sb2NhdGlvbnMvdXMva2V5UmluZ3MvZ28taW50ZWdyYXRpb24tdGVzdC9jcnlwdG9LZXlzL2tleTEvY3J5cHRvS2V5VmVyc2lvbnMvMSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE2IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI1OjU5LjM2NFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjowMC43NTZaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTYvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE2L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTYiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE2L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTYvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTYiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTYvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifQ==" } }, { - "ID": "ad132d4a3e5aa74d", + "ID": "8410bda61aa0b6fd", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/csek?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0016/o/some-object?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -20070,7 +23974,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -20078,6 +23984,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -20088,7 +23997,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:57 GMT" + "Thu, 02 May 2019 22:26:01 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -20103,18 +24012,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq_goqibbRw4Ylkub7iPlZJEfw4Eo30fs8jIB_HkQ9hJ61HTTvKQoLVikSNYf7H8Zbly7okcO_VEFO-j2ztpjZniEBEUCk2qa8ng3grCTjU4n6tkrA" + "AEnB2Uo2MOVFr2ZwvkwYm32qtqndRBhJnBc28nVBEBowKjIIxpOxiYcSef4wtz9sLTJ23PbXr1F8L_TfGwyShv5j1eTsQ-91OXU8Q8JEZtui9VVyK96j2D4" ] }, "Body": "" } }, { - "ID": "4f13057a0b53da21", + "ID": "7b024f33e16d850f", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/cmek?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0016?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -20124,7 +24042,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -20132,6 +24052,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -20142,7 +24065,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:09:58 GMT" + "Thu, 02 May 2019 22:26:01 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -20157,24 +24080,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UppywLoOyFdyjOir1uQ5Q21m_bxyAISs-4Ob4lyolwNEpsJTEMFXoEZxhjIoRs1EwVwDIiwEBbZGp3FYCYCjF6-jZXhtHq_GgT8wYJ1-mfi-9TWXxY" + "AEnB2UpDkcsqcqPLSySgf13o9jWNafbKdVjSRqGNu3ZedvF7TlL9TBswdMMpcl0zQOHtvXWIrhrcZODr7RjRhHuvS8gJdMbnYeQDHrBCbiH6x9WrnaZ5uIQ" ] }, "Body": "" } }, { - "ID": "cf12b335e599c152", + "ID": "33b0efc1b91cfb42", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=dulcet-port-762", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "196" + "106" ], "User-Agent": [ "google-api-go-client/0.5" @@ -20182,7 +24114,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJlbmNyeXB0aW9uIjp7ImRlZmF1bHRLbXNLZXlOYW1lIjoicHJvamVjdHMvZHVsY2V0LXBvcnQtNzYyL2xvY2F0aW9ucy91cy9rZXlSaW5ncy9nby1pbnRlZ3JhdGlvbi10ZXN0L2NyeXB0b0tleXMva2V5MSJ9LCJsb2NhdGlvbiI6IlVTIiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOSJ9Cg==" + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIn19Cg==" ] }, "Response": { @@ -20191,17 +24123,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "604" + "574" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:58 GMT" + "Thu, 02 May 2019 22:26:02 GMT" ], "Etag": [ "CAE=" @@ -20219,18 +24154,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Up386g4DS0xbiNchi8EXLOgvrF_j_RpmLi_cCK0gfT5maqT-Qkx11GkOonxiOi0PDgsTithGm0X6Lc9Bp1nwc6Ni4lQwgxjAGBcBuJPciPAincO54o" + "AEnB2UpItvsNld0b1FGsjQgaVCDxW22UEra8vRGfkWtbDS7R2kMbHRPr0I6iPjzaQBOaa9-xUJxGO-JV6RhMlWwH2NY-FXY2-0lrkZiAzIL-tdFwkCwlF-Q" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NTguNTYwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjU4LjU2MFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwiZW5jcnlwdGlvbiI6eyJkZWZhdWx0S21zS2V5TmFtZSI6InByb2plY3RzL2R1bGNldC1wb3J0LTc2Mi9sb2NhdGlvbnMvdXMva2V5UmluZ3MvZ28taW50ZWdyYXRpb24tdGVzdC9jcnlwdG9LZXlzL2tleTEifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjAxLjkwOFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjowMS45MDhaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wNS0wMlQyMjoyNjowMS45MDhaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "9e4a1fdfe205225b", + "ID": "632b9a0387d9cff1", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0019?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0017?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -20240,7 +24184,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -20248,23 +24194,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "2531" + "2520" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:59 GMT" + "Thu, 02 May 2019 22:26:02 GMT" ], "Etag": [ "CAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:09:59 GMT" + "Thu, 02 May 2019 22:26:02 GMT" ], "Server": [ "UploadServer" @@ -20273,30 +24222,41 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpyyXH02vBcMvKXpTKgBRW8bd8_Gy61G17tJ8mKf34ZPR7wfSbE_pgr6jIqp21Qs4g1RScrgOoUOTIbAD2f1rbSF4YA7XHmMc2ZwKP64uTexmGxIpU" + "AEnB2UpEVtrO8ed8TEHdpzyw857ZykloGKTT56atylmGnu682Y0VxI_T6SWN0JLFupJ_2Cu80ntiZttFSCBqwqFGfxVrRqsNnf0KBDyzqOH8eI-BaWPBXvE" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NTguNTYwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjU4LjU2MFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImVuY3J5cHRpb24iOnsiZGVmYXVsdEttc0tleU5hbWUiOiJwcm9qZWN0cy9kdWxjZXQtcG9ydC03NjIvbG9jYXRpb25zL3VzL2tleVJpbmdzL2dvLWludGVncmF0aW9uLXRlc3QvY3J5cHRvS2V5cy9rZXkxIn0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjAxLjkwOFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjowMS45MDhaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTcvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTcvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTcvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTA1LTAyVDIyOjI2OjAxLjkwOFoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9" } }, { - "ID": "9f93663c253f5e47", + "ID": "a32a5924f876577b", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0019/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0017/lockRetentionPolicy?alt=json\u0026ifMetagenerationMatch=1\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "0" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJuYW1lIjoia21zIn0K", - "bXkgc2VjcmV0" + "" ] }, "Response": { @@ -20305,20 +24265,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3323" + "639" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:09:59 GMT" - ], - "Etag": [ - "CL3Nucjb4d8CEAE=" + "Thu, 02 May 2019 22:26:03 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -20333,99 +24293,27 @@ "Origin", "X-Origin" ], - "X-Guploader-Uploadid": [ - "AEnB2UoENu5V0qO9rAwbCbmQLJfWKN85hmWVrQt4g9AgAI9qHcxllJW6hW-EZ5h0hD8B1A-ouYtGaajyM2vcH39xiXwEcbNLSBQI_UMJj61p5xjC-TG6Vu4" - ] - }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9rbXMvMTU0NzA3MTc5OTU4NDQ0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9vL2ttcyIsIm5hbWUiOiJrbXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc5OTU4NDQ0NSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTo1OS41ODRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NTkuNTg0WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjU5LjU4NFoiLCJzaXplIjoiOSIsIm1kNUhhc2giOiJBQVBRUzQ2VHJuTVlucWlLQWJhZ3RRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5L28va21zP2dlbmVyYXRpb249MTU0NzA3MTc5OTU4NDQ0NSZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9rbXMvMTU0NzA3MTc5OTU4NDQ0NS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9vL2ttcy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJvYmplY3QiOiJrbXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc5OTU4NDQ0NSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0wzTnVjamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5L2ttcy8xNTQ3MDcxNzk5NTg0NDQ1L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9vL2ttcy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5Iiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3OTk1ODQ0NDUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0wzTnVjamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5L2ttcy8xNTQ3MDcxNzk5NTg0NDQ1L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9vL2ttcy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5Iiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3OTk1ODQ0NDUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNMM051Y2piNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9rbXMvMTU0NzA3MTc5OTU4NDQ0NS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5L28va21zL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5Iiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3OTk1ODQ0NDUiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTDNOdWNqYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IlVJNzg1QT09IiwiZXRhZyI6IkNMM051Y2piNGQ4Q0VBRT0iLCJrbXNLZXlOYW1lIjoicHJvamVjdHMvZHVsY2V0LXBvcnQtNzYyL2xvY2F0aW9ucy91cy9rZXlSaW5ncy9nby1pbnRlZ3JhdGlvbi10ZXN0L2NyeXB0b0tleXMva2V5MS9jcnlwdG9LZXlWZXJzaW9ucy8xIn0=" - } - }, - { - "ID": "1f2e1d5b5fa70aec", - "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0019/kms", - "Header": { - "Accept-Encoding": [ - "gzip" - ], - "User-Agent": [ - "Go-http-client/1.1" - ] - }, - "MediaType": "", - "BodyParts": null - }, - "Response": { - "StatusCode": 200, - "Proto": "HTTP/1.1", - "ProtoMajor": 1, - "ProtoMinor": 1, - "Header": { - "Accept-Ranges": [ - "bytes" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "9" - ], - "Content-Type": [ - "text/plain; charset=utf-8" - ], - "Date": [ - "Wed, 09 Jan 2019 22:09:59 GMT" - ], - "Etag": [ - "\"-CL3Nucjb4d8CEAE=\"" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:09:59 GMT" - ], - "Pragma": [ - "no-cache" - ], - "Server": [ - "UploadServer" - ], - "X-Goog-Encryption-Kms-Key-Name": [ - "projects/dulcet-port-762/locations/us/keyRings/go-integration-test/cryptoKeys/key1/cryptoKeyVersions/1" - ], - "X-Goog-Generation": [ - "1547071799584445" - ], - "X-Goog-Hash": [ - "crc32c=UI785A==", - "md5=AAPQS46TrnMYnqiKAbagtQ==" - ], - "X-Goog-Metageneration": [ - "1" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Storage-Class": [ - "STANDARD" - ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "9" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UrtW6Fj_LPQJI4LUpsYCyn2VNSbxQffv2gvgccMy_7necKbppIV8ujNpCoS_TJUFVvJIXrlj_Xk7s3biDkyN2WfsNWTAXISbZ_v8ZZFH__elMWJXL4" + "AEnB2UpsYL8RxAKClLw1KRdSSIORQHYKKf_HMml2vtwDOFrh0kTYDzhGEgX2RJAPQKOP2-70q7ZZ2VfkkGz12tmTiRgSuwB2dM3xxZxZucASROVeoit9Shg" ] }, - "Body": "bXkgc2VjcmV0" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjAxLjkwOFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjowMy41NDRaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDUtMDJUMjI6MjY6MDEuOTA4WiIsImlzTG9ja2VkIjp0cnVlfSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9" } }, { - "ID": "4862a3431c27a429", + "ID": "718775f2f8320cfd", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0019/o/kms?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0017?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -20435,7 +24323,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -20443,26 +24333,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "3323" + "2536" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:00 GMT" + "Thu, 02 May 2019 22:26:03 GMT" ], "Etag": [ - "CL3Nucjb4d8CEAE=" + "CAI=" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:26:03 GMT" ], "Server": [ "UploadServer" @@ -20471,52 +24361,60 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrYuwSVQyQxU4YfdFI_dzaRixlEXyNEQkN-HYbUY67Dnx8O45E5YyQRSbXFuH8IQM9mLBdDAqlXhodlOr-Ihs9XzWgyRzv0Yu-ukgD0TAUYlb5GbPo" + "AEnB2UprHupyIuGJCYeUCPKigfkARZRkCc2Jz051KFrXK7YS0FbdKxNe3r20jon1ejkooHsAtcXQOi1tDV41Ob9dJ3Zoyj7stDImJ0eQriMO0WLLQ__-V54" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9rbXMvMTU0NzA3MTc5OTU4NDQ0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9vL2ttcyIsIm5hbWUiOiJrbXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc5OTU4NDQ0NSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTo1OS41ODRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NTkuNTg0WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjU5LjU4NFoiLCJzaXplIjoiOSIsIm1kNUhhc2giOiJBQVBRUzQ2VHJuTVlucWlLQWJhZ3RRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5L28va21zP2dlbmVyYXRpb249MTU0NzA3MTc5OTU4NDQ0NSZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9rbXMvMTU0NzA3MTc5OTU4NDQ0NS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9vL2ttcy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJvYmplY3QiOiJrbXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTc5OTU4NDQ0NSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0wzTnVjamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5L2ttcy8xNTQ3MDcxNzk5NTg0NDQ1L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9vL2ttcy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5Iiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3OTk1ODQ0NDUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0wzTnVjamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5L2ttcy8xNTQ3MDcxNzk5NTg0NDQ1L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9vL2ttcy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5Iiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3OTk1ODQ0NDUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNMM051Y2piNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9rbXMvMTU0NzA3MTc5OTU4NDQ0NS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5L28va21zL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5Iiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3OTk1ODQ0NDUiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTDNOdWNqYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IlVJNzg1QT09IiwiZXRhZyI6IkNMM051Y2piNGQ4Q0VBRT0iLCJrbXNLZXlOYW1lIjoicHJvamVjdHMvZHVsY2V0LXBvcnQtNzYyL2xvY2F0aW9ucy91cy9rZXlSaW5ncy9nby1pbnRlZ3JhdGlvbi10ZXN0L2NyeXB0b0tleXMva2V5MS9jcnlwdG9LZXlWZXJzaW9ucy8xIn0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNyIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjAxLjkwOFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjowMy41NDRaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTcvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTcvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTcvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTA1LTAyVDIyOjI2OjAxLjkwOFoiLCJpc0xvY2tlZCI6dHJ1ZX0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifQ==" } }, { - "ID": "d869e6842627ce53", + "ID": "2f4b1104fa94954b", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0019/o/kms?alt=json\u0026prettyPrint=false", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0017?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "47" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiMzYwMCJ9fQo=" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 403, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "0" + "13774" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:00 GMT" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:26:04 GMT" ], "Server": [ "UploadServer" @@ -20525,24 +24423,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UqG916VVDeabbCi976gBXUTaZUjKpXOcPylCamuiVSY_FxXb4_9i8tonDNv8Wf_D9OZ-iAtz9b2IQrq6qtJFkzbZ-L3SCDvXltwWIsG3KtP2lPSlK4" + "AEnB2UrafLpm39Fg6hBYYi9lSEizIWUdMduEDQykOeT9Bch6uf9BNQUO9sOAnWpTklSpNac1yW_kSNj-JR8LMmVLirC2kqG2DcQdE-Hg5dtVBkVZ4Xhjlc8" ] }, - "Body": "" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImZvcmJpZGRlbiIsIm1lc3NhZ2UiOiJDYW5ub3QgcmVkdWNlIHJldGVudGlvbiBkdXJhdGlvbiBvZiBhIGxvY2tlZCBSZXRlbnRpb24gUG9saWN5IGZvciBidWNrZXQgJ2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNycuIiwiZGVidWdJbmZvIjoiY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OkFDQ0VTU19ERU5JRUQ6IENhbm5vdCByZWR1Y2UgcmV0ZW50aW9uIGR1cmF0aW9uIG9mIGEgbG9ja2VkIFJldGVudGlvbiBQb2xpY3kgZm9yIGJ1Y2tldCAnZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3Jy5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuVXBkYXRlQW5kUGF0Y2hCdWNrZXQudXBkYXRlQnVja2V0KFVwZGF0ZUFuZFBhdGNoQnVja2V0LmphdmE6MTE5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuUGF0Y2hCdWNrZXQucGF0Y2hCdWNrZXQoUGF0Y2hCdWNrZXQuamF2YToxOTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5QYXRjaEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUGF0Y2hCdWNrZXQuamF2YToxNDEpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5QYXRjaEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUGF0Y2hCdWNrZXQuamF2YTo0Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci51cGRhdGUoQnVja2V0c0RlbGVnYXRvci5qYXZhOjEwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQ2Fubm90IHJlZHVjZSByZXRlbnRpb24gZHVyYXRpb24gb2YgYSBsb2NrZWQgUmV0ZW50aW9uIFBvbGljeSBmb3IgYnVja2V0ICdnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTcnLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxOSBtb3JlXG5cbmNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkZhdWx0OiBJbW11dGFibGVFcnJvckRlZmluaXRpb257YmFzZT1GT1JCSURERU4sIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNDRVNTX0RFTklFRDogQ2Fubm90IHJlZHVjZSByZXRlbnRpb24gZHVyYXRpb24gb2YgYSBsb2NrZWQgUmV0ZW50aW9uIFBvbGljeSBmb3IgYnVja2V0ICdnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTcnLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5VcGRhdGVBbmRQYXRjaEJ1Y2tldC51cGRhdGVCdWNrZXQoVXBkYXRlQW5kUGF0Y2hCdWNrZXQuamF2YToxMTkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5QYXRjaEJ1Y2tldC5wYXRjaEJ1Y2tldChQYXRjaEJ1Y2tldC5qYXZhOjE5Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLlBhdGNoQnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChQYXRjaEJ1Y2tldC5qYXZhOjE0MSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLlBhdGNoQnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChQYXRjaEJ1Y2tldC5qYXZhOjQ2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5CdWNrZXRzRGVsZWdhdG9yLnVwZGF0ZShCdWNrZXRzRGVsZWdhdG9yLmphdmE6MTAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBDYW5ub3QgcmVkdWNlIHJldGVudGlvbiBkdXJhdGlvbiBvZiBhIGxvY2tlZCBSZXRlbnRpb24gUG9saWN5IGZvciBidWNrZXQgJ2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNycuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE5IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPWZvcmJpZGRlbiwgaW50ZXJuYWxSZWFzb249UmVhc29ue2FyZ3VtZW50cz17fSwgY2F1c2U9bnVsbCwgY29kZT1nZGF0YS5Db3JlRXJyb3JEb21haW4uRk9SQklEREVOLCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6QUNDRVNTX0RFTklFRDogQ2Fubm90IHJlZHVjZSByZXRlbnRpb24gZHVyYXRpb24gb2YgYSBsb2NrZWQgUmV0ZW50aW9uIFBvbGljeSBmb3IgYnVja2V0ICdnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTcnLlxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5VcGRhdGVBbmRQYXRjaEJ1Y2tldC51cGRhdGVCdWNrZXQoVXBkYXRlQW5kUGF0Y2hCdWNrZXQuamF2YToxMTkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5QYXRjaEJ1Y2tldC5wYXRjaEJ1Y2tldChQYXRjaEJ1Y2tldC5qYXZhOjE5Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLlBhdGNoQnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChQYXRjaEJ1Y2tldC5qYXZhOjE0MSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLlBhdGNoQnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChQYXRjaEJ1Y2tldC5qYXZhOjQ2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5CdWNrZXRzRGVsZWdhdG9yLnVwZGF0ZShCdWNrZXRzRGVsZWdhdG9yLmphdmE6MTAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBDYW5ub3QgcmVkdWNlIHJldGVudGlvbiBkdXJhdGlvbiBvZiBhIGxvY2tlZCBSZXRlbnRpb24gUG9saWN5IGZvciBidWNrZXQgJ2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNycuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE5IG1vcmVcbiwgZXJyb3JQcm90b0NvZGU9Rk9SQklEREVOLCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9Q2Fubm90IHJlZHVjZSByZXRlbnRpb24gZHVyYXRpb24gb2YgYSBsb2NrZWQgUmV0ZW50aW9uIFBvbGljeSBmb3IgYnVja2V0ICdnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTcnLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9Q2Fubm90IHJlZHVjZSByZXRlbnRpb24gZHVyYXRpb24gb2YgYSBsb2NrZWQgUmV0ZW50aW9uIFBvbGljeSBmb3IgYnVja2V0ICdnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTcnLiwgcmVhc29uPWZvcmJpZGRlbiwgcnBjQ29kZT00MDN9IENhbm5vdCByZWR1Y2UgcmV0ZW50aW9uIGR1cmF0aW9uIG9mIGEgbG9ja2VkIFJldGVudGlvbiBQb2xpY3kgZm9yIGJ1Y2tldCAnZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3Jy46IGNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpBQ0NFU1NfREVOSUVEOiBDYW5ub3QgcmVkdWNlIHJldGVudGlvbiBkdXJhdGlvbiBvZiBhIGxvY2tlZCBSZXRlbnRpb24gUG9saWN5IGZvciBidWNrZXQgJ2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNycuXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLlVwZGF0ZUFuZFBhdGNoQnVja2V0LnVwZGF0ZUJ1Y2tldChVcGRhdGVBbmRQYXRjaEJ1Y2tldC5qYXZhOjExOSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLlBhdGNoQnVja2V0LnBhdGNoQnVja2V0KFBhdGNoQnVja2V0LmphdmE6MTk2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuUGF0Y2hCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFBhdGNoQnVja2V0LmphdmE6MTQxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuUGF0Y2hCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFBhdGNoQnVja2V0LmphdmE6NDYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkJ1Y2tldHNEZWxlZ2F0b3IudXBkYXRlKEJ1Y2tldHNEZWxlZ2F0b3IuamF2YToxMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENhbm5vdCByZWR1Y2UgcmV0ZW50aW9uIGR1cmF0aW9uIG9mIGEgbG9ja2VkIFJldGVudGlvbiBQb2xpY3kgZm9yIGJ1Y2tldCAnZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3Jy5cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTkgbW9yZVxuXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDAzLCJtZXNzYWdlIjoiQ2Fubm90IHJlZHVjZSByZXRlbnRpb24gZHVyYXRpb24gb2YgYSBsb2NrZWQgUmV0ZW50aW9uIFBvbGljeSBmb3IgYnVja2V0ICdnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTcnLiJ9fQ==" } }, { - "ID": "85e55bbfa76bc9e7", + "ID": "a8964565736a4805", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0019?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "122" + "106" ], "User-Agent": [ "google-api-go-client/0.5" @@ -20550,35 +24457,26 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJlbmNyeXB0aW9uIjp7ImRlZmF1bHRLbXNLZXlOYW1lIjoicHJvamVjdHMvZHVsY2V0LXBvcnQtNzYyL2xvY2F0aW9ucy91cy9rZXlSaW5ncy9nby1pbnRlZ3JhdGlvbi10ZXN0L2NyeXB0b0tleXMva2V5MiJ9fQo=" + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE4IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIn19Cg==" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 429, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "2531" + "12201" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:01 GMT" - ], - "Etag": [ - "CAI=" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:26:04 GMT" ], "Server": [ "UploadServer" @@ -20587,52 +24485,60 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq56A863iSA-3Q7udhmx8o9ElSsy6q1-JE5PHqzWfX-CNvtb3Gg6z4Z1Iw-I0iCB_k-PkR2wlyMoZj_SsyoGi0_uIEHdRE4oovJKwgMmMOMHsBjwcA" + "AEnB2UrNbiNCNtu8DhS-gNXfoe4R9DFKEVzknZ0g6YoI0JdvwH6P199oVJ2oaJwh9WXMte6frhDr_vJo1_PlxLhezMnUTJzMYZgPlPWdU1QN9imk3hXgawE" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NTguNTYwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjEwOjAxLjIxOVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImVuY3J5cHRpb24iOnsiZGVmYXVsdEttc0tleU5hbWUiOiJwcm9qZWN0cy9kdWxjZXQtcG9ydC03NjIvbG9jYXRpb25zL3VzL2tleVJpbmdzL2dvLWludGVncmF0aW9uLXRlc3QvY3J5cHRvS2V5cy9rZXkyIn0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6InVzYWdlTGltaXRzIiwicmVhc29uIjoicmF0ZUxpbWl0RXhjZWVkZWQiLCJtZXNzYWdlIjoiVGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpQUk9KRUNUX0JVQ0tFVF9PUF9SQVRFX1RPT19ISUdIOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6MTg0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YTo0Milcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5pbnNlcnQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVRPT19NQU5ZX1JFUVVFU1RTLCBjYXRlZ29yeT1RVU9UQV9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpQUk9KRUNUX0JVQ0tFVF9PUF9SQVRFX1RPT19ISUdIOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6MTg0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YTo0Milcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5pbnNlcnQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPXVzYWdlTGltaXRzLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9dG9vTWFueVJlcXVlc3RzLCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWNsb3VkLmJpZ3N0b3JlLmFwaS5CaWdzdG9yZUVycm9yRG9tYWluLkNMSUVOVF9RVU9UQV9FWENFRURFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlBST0pFQ1RfQlVDS0VUX09QX1JBVEVfVE9PX0hJR0g6IENyZWF0aW5nIGJ1Y2tldHMgdG9vIHF1aWNrbHksIHBsZWFzZSBzbG93IGRvd25cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YToxODQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5JbnNlcnRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydEJ1Y2tldC5qYXZhOjQyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5CdWNrZXRzRGVsZWdhdG9yLmluc2VydChCdWNrZXRzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENyZWF0aW5nIGJ1Y2tldHMgdG9vIHF1aWNrbHksIHBsZWFzZSBzbG93IGRvd25cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBlcnJvclByb3RvQ29kZT1DTElFTlRfUVVPVEFfRVhDRUVERUQsIGVycm9yUHJvdG9Eb21haW49Y2xvdWQuYmlnc3RvcmUuYXBpLkJpZ3N0b3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1lbnRpdHkucmVzb3VyY2UuYnVja2V0Lm5hbWUsIG1lc3NhZ2U9VGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZS5idWNrZXQubmFtZSwgbWVzc2FnZT1UaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuLCByZWFzb249cmF0ZUxpbWl0RXhjZWVkZWQsIHJwY0NvZGU9NDI5fSBUaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6UFJPSkVDVF9CVUNLRVRfT1BfUkFURV9UT09fSElHSDogQ3JlYXRpbmcgYnVja2V0cyB0b28gcXVpY2tseSwgcGxlYXNlIHNsb3cgZG93blxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5JbnNlcnRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydEJ1Y2tldC5qYXZhOjE4NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6NDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkJ1Y2tldHNEZWxlZ2F0b3IuaW5zZXJ0KEJ1Y2tldHNEZWxlZ2F0b3IuamF2YTo5NSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQ3JlYXRpbmcgYnVja2V0cyB0b28gcXVpY2tseSwgcGxlYXNlIHNsb3cgZG93blxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MjksIm1lc3NhZ2UiOiJUaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuIn19" } }, { - "ID": "c346652f6756ba14", + "ID": "49648eb4e4e2ddda", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0019?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "106" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE4IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIn19Cg==" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 429, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "2531" + "12201" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:01 GMT" - ], - "Etag": [ - "CAI=" - ], - "Expires": [ - "Wed, 09 Jan 2019 22:10:01 GMT" + "Thu, 02 May 2019 22:26:05 GMT" ], "Server": [ "UploadServer" @@ -20641,24 +24547,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UpgiN1aNFJDhoZRqUZQo5Qk2ZUNXbW8gs9Un2OKJ6Q8FAGDvLJIY3eCl9PJHJkFzLt2a30hHUiu0OYC0vgffJ7gZdPBD04uLbs2-Ngn4Nof3l-pUkY" + "AEnB2UplUHmGCg4wOKtpKVz2KH0cn-th8s-KXQR62bOkAF1pV1zIZJvsoI_tURcFttkyHks8g05Hln5fT4Ej_O-Lx6JCTovYYwhhHIK7AAcialHMj5fPHk4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NTguNTYwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjEwOjAxLjIxOVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImVuY3J5cHRpb24iOnsiZGVmYXVsdEttc0tleU5hbWUiOiJwcm9qZWN0cy9kdWxjZXQtcG9ydC03NjIvbG9jYXRpb25zL3VzL2tleVJpbmdzL2dvLWludGVncmF0aW9uLXRlc3QvY3J5cHRvS2V5cy9rZXkyIn0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6InVzYWdlTGltaXRzIiwicmVhc29uIjoicmF0ZUxpbWl0RXhjZWVkZWQiLCJtZXNzYWdlIjoiVGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpQUk9KRUNUX0JVQ0tFVF9PUF9SQVRFX1RPT19ISUdIOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6MTg0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YTo0Milcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5pbnNlcnQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVRPT19NQU5ZX1JFUVVFU1RTLCBjYXRlZ29yeT1RVU9UQV9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpQUk9KRUNUX0JVQ0tFVF9PUF9SQVRFX1RPT19ISUdIOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6MTg0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YTo0Milcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5pbnNlcnQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPXVzYWdlTGltaXRzLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9dG9vTWFueVJlcXVlc3RzLCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWNsb3VkLmJpZ3N0b3JlLmFwaS5CaWdzdG9yZUVycm9yRG9tYWluLkNMSUVOVF9RVU9UQV9FWENFRURFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlBST0pFQ1RfQlVDS0VUX09QX1JBVEVfVE9PX0hJR0g6IENyZWF0aW5nIGJ1Y2tldHMgdG9vIHF1aWNrbHksIHBsZWFzZSBzbG93IGRvd25cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YToxODQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5JbnNlcnRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydEJ1Y2tldC5qYXZhOjQyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5CdWNrZXRzRGVsZWdhdG9yLmluc2VydChCdWNrZXRzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENyZWF0aW5nIGJ1Y2tldHMgdG9vIHF1aWNrbHksIHBsZWFzZSBzbG93IGRvd25cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBlcnJvclByb3RvQ29kZT1DTElFTlRfUVVPVEFfRVhDRUVERUQsIGVycm9yUHJvdG9Eb21haW49Y2xvdWQuYmlnc3RvcmUuYXBpLkJpZ3N0b3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1lbnRpdHkucmVzb3VyY2UuYnVja2V0Lm5hbWUsIG1lc3NhZ2U9VGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZS5idWNrZXQubmFtZSwgbWVzc2FnZT1UaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuLCByZWFzb249cmF0ZUxpbWl0RXhjZWVkZWQsIHJwY0NvZGU9NDI5fSBUaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6UFJPSkVDVF9CVUNLRVRfT1BfUkFURV9UT09fSElHSDogQ3JlYXRpbmcgYnVja2V0cyB0b28gcXVpY2tseSwgcGxlYXNlIHNsb3cgZG93blxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5JbnNlcnRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydEJ1Y2tldC5qYXZhOjE4NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6NDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkJ1Y2tldHNEZWxlZ2F0b3IuaW5zZXJ0KEJ1Y2tldHNEZWxlZ2F0b3IuamF2YTo5NSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQ3JlYXRpbmcgYnVja2V0cyB0b28gcXVpY2tseSwgcGxlYXNlIHNsb3cgZG93blxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MjksIm1lc3NhZ2UiOiJUaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuIn19" } }, { - "ID": "26dae02153c4b8d4", + "ID": "42cf12714cf13289", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0019?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "20" + "106" ], "User-Agent": [ "google-api-go-client/0.5" @@ -20666,35 +24581,26 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJlbmNyeXB0aW9uIjpudWxsfQo=" + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE4IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIn19Cg==" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 429, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "2411" + "12201" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:02 GMT" - ], - "Etag": [ - "CAM=" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:26:07 GMT" ], "Server": [ "UploadServer" @@ -20703,52 +24609,60 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UolJMLckqSIJkq-Wt8sHHu-bR8T_VP7U8t6EiarmkZKiCjazc7dxIjcpMstCmaBH6fPpF42wsvMrE_xiarocl_4f9RTDpELmkq-eK5ATtg7GO-tEp4" + "AEnB2UrcjWbo0pc_i_GQTU2WE6YR0XhWYMGRPJutu1MQXo6XbRKJAYhzNK4p2-_gCqZ6BvNGncUP1UZNoTrXsFFGt1RRTRR3DS9XNiws0gt9YQdp_I8dqqM" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDk6NTguNTYwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjEwOjAyLjQyNloiLCJtZXRhZ2VuZXJhdGlvbiI6IjMiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE5L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTkiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBTT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FNPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQU09In0=" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6InVzYWdlTGltaXRzIiwicmVhc29uIjoicmF0ZUxpbWl0RXhjZWVkZWQiLCJtZXNzYWdlIjoiVGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpQUk9KRUNUX0JVQ0tFVF9PUF9SQVRFX1RPT19ISUdIOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6MTg0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YTo0Milcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5pbnNlcnQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVRPT19NQU5ZX1JFUVVFU1RTLCBjYXRlZ29yeT1RVU9UQV9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpQUk9KRUNUX0JVQ0tFVF9PUF9SQVRFX1RPT19ISUdIOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6MTg0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YTo0Milcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5pbnNlcnQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPXVzYWdlTGltaXRzLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9dG9vTWFueVJlcXVlc3RzLCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWNsb3VkLmJpZ3N0b3JlLmFwaS5CaWdzdG9yZUVycm9yRG9tYWluLkNMSUVOVF9RVU9UQV9FWENFRURFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlBST0pFQ1RfQlVDS0VUX09QX1JBVEVfVE9PX0hJR0g6IENyZWF0aW5nIGJ1Y2tldHMgdG9vIHF1aWNrbHksIHBsZWFzZSBzbG93IGRvd25cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YToxODQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5JbnNlcnRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydEJ1Y2tldC5qYXZhOjQyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5CdWNrZXRzRGVsZWdhdG9yLmluc2VydChCdWNrZXRzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENyZWF0aW5nIGJ1Y2tldHMgdG9vIHF1aWNrbHksIHBsZWFzZSBzbG93IGRvd25cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBlcnJvclByb3RvQ29kZT1DTElFTlRfUVVPVEFfRVhDRUVERUQsIGVycm9yUHJvdG9Eb21haW49Y2xvdWQuYmlnc3RvcmUuYXBpLkJpZ3N0b3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1lbnRpdHkucmVzb3VyY2UuYnVja2V0Lm5hbWUsIG1lc3NhZ2U9VGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZS5idWNrZXQubmFtZSwgbWVzc2FnZT1UaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuLCByZWFzb249cmF0ZUxpbWl0RXhjZWVkZWQsIHJwY0NvZGU9NDI5fSBUaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6UFJPSkVDVF9CVUNLRVRfT1BfUkFURV9UT09fSElHSDogQ3JlYXRpbmcgYnVja2V0cyB0b28gcXVpY2tseSwgcGxlYXNlIHNsb3cgZG93blxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5JbnNlcnRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydEJ1Y2tldC5qYXZhOjE4NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6NDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkJ1Y2tldHNEZWxlZ2F0b3IuaW5zZXJ0KEJ1Y2tldHNEZWxlZ2F0b3IuamF2YTo5NSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQ3JlYXRpbmcgYnVja2V0cyB0b28gcXVpY2tseSwgcGxlYXNlIHNsb3cgZG93blxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MjksIm1lc3NhZ2UiOiJUaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuIn19" } }, { - "ID": "07618682e7b7a773", + "ID": "4f0fdb3eb607f33b", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0019?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "106" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE4IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIn19Cg==" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 429, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "0" + "12201" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:03 GMT" - ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:26:11 GMT" ], "Server": [ "UploadServer" @@ -20757,24 +24671,33 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UrV9j8_lSw0HLnzD1Ssi-iKVLtP9AiuP2SHeHAUhi5dgZLH4CXFLDmr4L9gvfm6SYBC5WHb92mVLDFMKi82FlAQlsqszOgIUB4z9w-3DsBY62eCX8c" + "AEnB2Up0EsbUXQesAgz95sFt6OzWRDj5WAXqEpYaqHgGvCClYnBGvjX8eQmor80UQOCIDzT6v9ZAtOPVhFIqkJG6rV0-CDXiLAnr4gwDrPkqgezvm8PQTaY" ] }, - "Body": "" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6InVzYWdlTGltaXRzIiwicmVhc29uIjoicmF0ZUxpbWl0RXhjZWVkZWQiLCJtZXNzYWdlIjoiVGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpQUk9KRUNUX0JVQ0tFVF9PUF9SQVRFX1RPT19ISUdIOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6MTg0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YTo0Milcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5pbnNlcnQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVRPT19NQU5ZX1JFUVVFU1RTLCBjYXRlZ29yeT1RVU9UQV9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpQUk9KRUNUX0JVQ0tFVF9PUF9SQVRFX1RPT19ISUdIOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6MTg0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YTo0Milcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5pbnNlcnQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjk1KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBDcmVhdGluZyBidWNrZXRzIHRvbyBxdWlja2x5LCBwbGVhc2Ugc2xvdyBkb3duXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPXVzYWdlTGltaXRzLCBleHRlbmRlZEhlbHA9bnVsbCwgaHR0cEhlYWRlcnM9e30sIGh0dHBTdGF0dXM9dG9vTWFueVJlcXVlc3RzLCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWNsb3VkLmJpZ3N0b3JlLmFwaS5CaWdzdG9yZUVycm9yRG9tYWluLkNMSUVOVF9RVU9UQV9FWENFRURFRCwgY3JlYXRlZEJ5QmFja2VuZD10cnVlLCBkZWJ1Z01lc3NhZ2U9Y29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OlBST0pFQ1RfQlVDS0VUX09QX1JBVEVfVE9PX0hJR0g6IENyZWF0aW5nIGJ1Y2tldHMgdG9vIHF1aWNrbHksIHBsZWFzZSBzbG93IGRvd25cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuSW5zZXJ0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChJbnNlcnRCdWNrZXQuamF2YToxODQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5JbnNlcnRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydEJ1Y2tldC5qYXZhOjQyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5CdWNrZXRzRGVsZWdhdG9yLmluc2VydChCdWNrZXRzRGVsZWdhdG9yLmphdmE6OTUpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IENyZWF0aW5nIGJ1Y2tldHMgdG9vIHF1aWNrbHksIHBsZWFzZSBzbG93IGRvd25cblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuLCBlcnJvclByb3RvQ29kZT1DTElFTlRfUVVPVEFfRVhDRUVERUQsIGVycm9yUHJvdG9Eb21haW49Y2xvdWQuYmlnc3RvcmUuYXBpLkJpZ3N0b3JlRXJyb3JEb21haW4sIGZpbHRlcmVkTWVzc2FnZT1udWxsLCBsb2NhdGlvbj1lbnRpdHkucmVzb3VyY2UuYnVja2V0Lm5hbWUsIG1lc3NhZ2U9VGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZS5idWNrZXQubmFtZSwgbWVzc2FnZT1UaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuLCByZWFzb249cmF0ZUxpbWl0RXhjZWVkZWQsIHJwY0NvZGU9NDI5fSBUaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuOiBjb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6UFJPSkVDVF9CVUNLRVRfT1BfUkFURV9UT09fSElHSDogQ3JlYXRpbmcgYnVja2V0cyB0b28gcXVpY2tseSwgcGxlYXNlIHNsb3cgZG93blxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50b1JwYzNFeGNlcHRpb24oQmlnc3RvcmVFeGNlcHRpb24uamF2YToxNDcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5JbnNlcnRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEluc2VydEJ1Y2tldC5qYXZhOjE4NClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkluc2VydEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoSW5zZXJ0QnVja2V0LmphdmE6NDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkJ1Y2tldHNEZWxlZ2F0b3IuaW5zZXJ0KEJ1Y2tldHNEZWxlZ2F0b3IuamF2YTo5NSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uUnBjUmVjZWl2ZXIubGFtYmRhJHByb2Nlc3NSZXF1ZXN0QXN5bmMkNChScGNSZWNlaXZlci5qYXZhOjIwMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5pc29sYXRpb24uQXN5bmNFeGVjdXRvci5sYW1iZGEkc3VibWl0JDAoQXN5bmNFeGVjdXRvci5qYXZhOjI1Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KENvbnRleHRSdW5uYWJsZS5qYXZhOjUwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZSQxLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozOSlcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo3Milcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KEdlbmVyaWNDb250ZXh0Q2FsbGJhY2suamF2YTo2NClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM1KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDkpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYyNClcblx0YXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ4KVxuQ2F1c2VkIGJ5OiBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbjogQ3JlYXRpbmcgYnVja2V0cyB0b28gcXVpY2tseSwgcGxlYXNlIHNsb3cgZG93blxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG5cblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRXJyb3JDb2xsZWN0b3IudG9GYXVsdChFcnJvckNvbGxlY3Rvci5qYXZhOjU0KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUVycm9yQ29udmVydGVyLnRvRmF1bHQoUm9zeUVycm9yQ29udmVydGVyLmphdmE6NjcpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyNTkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5SGFuZGxlciQyLmNhbGwoUm9zeUhhbmRsZXIuamF2YToyMzkpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5EaXJlY3RFeGVjdXRvci5leGVjdXRlKERpcmVjdEV4ZWN1dG9yLmphdmE6MzApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5leGVjdXRlTGlzdGVuZXIoQWJzdHJhY3RGdXR1cmUuamF2YToxMTQzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuY29tcGxldGUoQWJzdHJhY3RGdXR1cmUuamF2YTo5NjMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5zZXQoQWJzdHJhY3RGdXR1cmUuamF2YTo3MzEpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLnV0aWwuQ2FsbGFibGVGdXR1cmUucnVuKENhbGxhYmxlRnV0dXJlLmphdmE6NjIpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci50aHJlYWQuVGhyZWFkVHJhY2tlcnMkVGhyZWFkVHJhY2tpbmdSdW5uYWJsZS5ydW4oVGhyZWFkVHJhY2tlcnMuamF2YToxMjYpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuSW5Db250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjQ1Mylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnNlcnZlci5Db21tb25Nb2R1bGUkQ29udGV4dENhcnJ5aW5nRXhlY3V0b3JTZXJ2aWNlJDEucnVuSW5Db250ZXh0KENvbW1vbk1vZHVsZS5qYXZhOjgwMilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZSQxLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NjApXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoVHJhY2VDb250ZXh0LmphdmE6MzE5KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0KFRyYWNlQ29udGV4dC5qYXZhOjMxMSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDU3KVxuXHRhdCBjb20uZ29vZ2xlLmdzZS5pbnRlcm5hbC5EaXNwYXRjaFF1ZXVlSW1wbCRXb3JrZXJUaHJlYWQucnVuKERpc3BhdGNoUXVldWVJbXBsLmphdmE6NDAzKVxuIn1dLCJjb2RlIjo0MjksIm1lc3NhZ2UiOiJUaGUgcHJvamVjdCBleGNlZWRlZCB0aGUgcmF0ZSBsaW1pdCBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIGJ1Y2tldHMuIn19" } }, { - "ID": "b2fb83a881d2dfa6", + "ID": "a5a8b8af13be21cf", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026predefinedAcl=authenticatedRead\u0026predefinedDefaultObjectAcl=publicRead\u0026prettyPrint=false\u0026project=dulcet-port-762", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], "Content-Length": [ - "60" + "106" ], "User-Agent": [ "google-api-go-client/0.5" @@ -20782,7 +24705,7 @@ }, "MediaType": "application/json", "BodyParts": [ - "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDIwIn0K" + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE4IiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIn19Cg==" ] }, "Response": { @@ -20791,17 +24714,20 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "1462" + "574" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:04 GMT" + "Thu, 02 May 2019 22:26:15 GMT" ], "Etag": [ "CAE=" @@ -20819,52 +24745,60 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpyIdCfMji_m8E-D5u8-me81w_6E5MOzm_nPt13DUmWm34qN7A5itotx9lEUX_hajP3S8Z28GC238W3EH3ulB5p6kEYTXyizy4U4BYZK7hMH9DkZ0Q" + "AEnB2UpF7Lqxvm1dNC6q_v81ZB1Ui9c2ZLJ3GXLX6Y6UNZN1nbkF78c0J3NwXavHF1cMFZ5oP8ufCnmCLg9vQHM6tfs2ih8YxQSfE4D3AxGsvBaGNP3VUMo" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MTA6MDMuOTAxWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjEwOjAzLjkwMVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMC9hbGxBdXRoZW50aWNhdGVkVXNlcnMiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAvYWNsL2FsbEF1dGhlbnRpY2F0ZWRVc2VycyIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMCIsImVudGl0eSI6ImFsbEF1dGhlbnRpY2F0ZWRVc2VycyIsInJvbGUiOiJSRUFERVIiLCJldGFnIjoiQ0FFPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6ImFsbFVzZXJzIiwicm9sZSI6IlJFQURFUiIsImV0YWciOiJDQUU9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE4IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjE1LjA5N1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoxNS4wOTdaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wNS0wMlQyMjoyNjoxNS4wOTdaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "cbf4922b4aaabf04", + "ID": "e1dbaeed8c6d1ffb", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0020?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0018/lockRetentionPolicy?alt=json\u0026ifMetagenerationMatch=0\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "0" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 412, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Content-Length": [ - "1462" + "12155" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:04 GMT" - ], - "Etag": [ - "CAE=" - ], - "Expires": [ - "Wed, 09 Jan 2019 22:10:04 GMT" + "Thu, 02 May 2019 22:26:16 GMT" ], "Server": [ "UploadServer" @@ -20873,32 +24807,39 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UqDqRox7OxE2YdDi7LEYuYQhc95N9k9YFk4gYZk8Fx0iAPWzz8HHWYyxuosC4DrC6__4VCYjOKctTzVUH8zFKFIbwwljWDvz9WnXsW8LIDYh2vT9DE" + "AEnB2Ur4dRXLSTXYf9VXr3eOCMfuLBwDLvNQMXwIYjwEuSFQO_p-SxZQXQJ7I_VA0T5Hn8gnnEZIqLV3vLCnurXr0cyHDEMpCdxWOiIiqsXlgkbcLKf78to" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MTA6MDMuOTAxWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjEwOjAzLjkwMVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMC9hbGxBdXRoZW50aWNhdGVkVXNlcnMiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAvYWNsL2FsbEF1dGhlbnRpY2F0ZWRVc2VycyIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMCIsImVudGl0eSI6ImFsbEF1dGhlbnRpY2F0ZWRVc2VycyIsInJvbGUiOiJSRUFERVIiLCJldGFnIjoiQ0FFPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6ImFsbFVzZXJzIiwicm9sZSI6IlJFQURFUiIsImV0YWciOiJDQUU9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6ImNvbmRpdGlvbk5vdE1ldCIsIm1lc3NhZ2UiOiJQcmVjb25kaXRpb24gRmFpbGVkIiwibG9jYXRpb25UeXBlIjoiaGVhZGVyIiwibG9jYXRpb24iOiJJZi1NYXRjaCIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpJTkNPUlJFQ1RfTUVUQV9HRU5FUkFUSU9OX1NQRUNJRklFRDogZXhwZWN0ZWQgQnVja2V0TWV0YWRhdGEubWV0YWRhdGFfZ2VuZXJhdGlvbjogMCBhY3R1YWw6IDFcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuTG9ja1JldGVudGlvblBvbGljeS5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTG9ja1JldGVudGlvblBvbGljeS5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkxvY2tSZXRlbnRpb25Qb2xpY3kuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExvY2tSZXRlbnRpb25Qb2xpY3kuamF2YTo1Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5sb2NrUmV0ZW50aW9uUG9saWN5KEJ1Y2tldHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGV4cGVjdGVkIEJ1Y2tldE1ldGFkYXRhLm1ldGFkYXRhX2dlbmVyYXRpb246IDAgYWN0dWFsOiAxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPVBSRUNPTkRJVElPTl9GQUlMRUQsIGNhdGVnb3J5PVVTRVJfRVJST1IsIGNhdXNlPW51bGwsIGRlYnVnSW5mbz1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6SU5DT1JSRUNUX01FVEFfR0VORVJBVElPTl9TUEVDSUZJRUQ6IGV4cGVjdGVkIEJ1Y2tldE1ldGFkYXRhLm1ldGFkYXRhX2dlbmVyYXRpb246IDAgYWN0dWFsOiAxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkxvY2tSZXRlbnRpb25Qb2xpY3kuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExvY2tSZXRlbnRpb25Qb2xpY3kuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5Mb2NrUmV0ZW50aW9uUG9saWN5LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMb2NrUmV0ZW50aW9uUG9saWN5LmphdmE6NTcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkJ1Y2tldHNEZWxlZ2F0b3IubG9ja1JldGVudGlvblBvbGljeShCdWNrZXRzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBleHBlY3RlZCBCdWNrZXRNZXRhZGF0YS5tZXRhZGF0YV9nZW5lcmF0aW9uOiAwIGFjdHVhbDogMVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGRvbWFpbj1nbG9iYWwsIGV4dGVuZGVkSGVscD1udWxsLCBodHRwSGVhZGVycz17fSwgaHR0cFN0YXR1cz1wcmVjb25kaXRpb25GYWlsZWQsIGludGVybmFsUmVhc29uPVJlYXNvbnthcmd1bWVudHM9e30sIGNhdXNlPW51bGwsIGNvZGU9Z2RhdGEuQ29yZUVycm9yRG9tYWluLkNPTkRJVElPTl9OT1RfTUVULCBjcmVhdGVkQnlCYWNrZW5kPXRydWUsIGRlYnVnTWVzc2FnZT1jb20uZ29vZ2xlLm5ldC5ycGMzLlJwY0V4Y2VwdGlvbjogY2xvdWQuYmlnc3RvcmUuUmVzcG9uc2VDb2RlLkVycm9yQ29kZTo6SU5DT1JSRUNUX01FVEFfR0VORVJBVElPTl9TUEVDSUZJRUQ6IGV4cGVjdGVkIEJ1Y2tldE1ldGFkYXRhLm1ldGFkYXRhX2dlbmVyYXRpb246IDAgYWN0dWFsOiAxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkxvY2tSZXRlbnRpb25Qb2xpY3kuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExvY2tSZXRlbnRpb25Qb2xpY3kuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5Mb2NrUmV0ZW50aW9uUG9saWN5LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMb2NrUmV0ZW50aW9uUG9saWN5LmphdmE6NTcpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChSZXF1ZXN0SGFuZGxlci5qYXZhOjMxMClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlKFJlcXVlc3RIYW5kbGVyLmphdmE6MjU2KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLkJ1Y2tldHNEZWxlZ2F0b3IubG9ja1JldGVudGlvblBvbGljeShCdWNrZXRzRGVsZWdhdG9yLmphdmE6MTA5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBleHBlY3RlZCBCdWNrZXRNZXRhZGF0YS5tZXRhZGF0YV9nZW5lcmF0aW9uOiAwIGFjdHVhbDogMVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMTIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93UnBjM09uRXJyb3IoQmlnc3RvcmVFeGNlcHRpb24uamF2YTozMjApXG5cdC4uLiAxNyBtb3JlXG4sIGVycm9yUHJvdG9Db2RlPUNPTkRJVElPTl9OT1RfTUVULCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPW51bGwsIG1lc3NhZ2U9bnVsbCwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPWhlYWRlcnMuSWYtTWF0Y2gsIG1lc3NhZ2U9UHJlY29uZGl0aW9uIEZhaWxlZCwgcmVhc29uPWNvbmRpdGlvbk5vdE1ldCwgcnBjQ29kZT00MTJ9IFByZWNvbmRpdGlvbiBGYWlsZWQ6IGNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpJTkNPUlJFQ1RfTUVUQV9HRU5FUkFUSU9OX1NQRUNJRklFRDogZXhwZWN0ZWQgQnVja2V0TWV0YWRhdGEubWV0YWRhdGFfZ2VuZXJhdGlvbjogMCBhY3R1YWw6IDFcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuTG9ja1JldGVudGlvblBvbGljeS5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoTG9ja1JldGVudGlvblBvbGljeS5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkxvY2tSZXRlbnRpb25Qb2xpY3kuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKExvY2tSZXRlbnRpb25Qb2xpY3kuamF2YTo1Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5sb2NrUmV0ZW50aW9uUG9saWN5KEJ1Y2tldHNEZWxlZ2F0b3IuamF2YToxMDkpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IGV4cGVjdGVkIEJ1Y2tldE1ldGFkYXRhLm1ldGFkYXRhX2dlbmVyYXRpb246IDAgYWN0dWFsOiAxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5FcnJvckNvbGxlY3Rvci50b0ZhdWx0KEVycm9yQ29sbGVjdG9yLmphdmE6NTQpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5RXJyb3JDb252ZXJ0ZXIudG9GYXVsdChSb3N5RXJyb3JDb252ZXJ0ZXIuamF2YTo2Nylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjI1OSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjIzOSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnRocmVhZC5UaHJlYWRUcmFja2VycyRUaHJlYWRUcmFja2luZ1J1bm5hYmxlLnJ1bihUaHJlYWRUcmFja2Vycy5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6NDUzKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuc2VydmVyLkNvbW1vbk1vZHVsZSRDb250ZXh0Q2FycnlpbmdFeGVjdXRvclNlcnZpY2UkMS5ydW5JbkNvbnRleHQoQ29tbW9uTW9kdWxlLmphdmE6ODAyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlJDEucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ2MClcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihUcmFjZUNvbnRleHQuamF2YTozMTkpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6MzExKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NTcpXG5cdGF0IGNvbS5nb29nbGUuZ3NlLmludGVybmFsLkRpc3BhdGNoUXVldWVJbXBsJFdvcmtlclRocmVhZC5ydW4oRGlzcGF0Y2hRdWV1ZUltcGwuamF2YTo0MDMpXG4ifV0sImNvZGUiOjQxMiwibWVzc2FnZSI6IlByZWNvbmRpdGlvbiBGYWlsZWQifX0=" } }, { - "ID": "3bfac75d6aa71d37", + "ID": "814dffcceacb3bd8", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0020?alt=json\u0026predefinedAcl=private\u0026predefinedDefaultObjectAcl=authenticatedRead\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026kmsKeyName=projects%2Fdeklerk-sandbox%2Flocations%2Fglobal%2FkeyRings%2Fgo-integration-test%2FcryptoKeys%2Fkey1\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "33" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "multipart/related", "BodyParts": [ - "eyJhY2wiOltdLCJkZWZhdWx0T2JqZWN0QWNsIjpbXX0K" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJuYW1lIjoia21zIn0K", + "bXkgc2VjcmV0" ] }, "Response": { @@ -20907,20 +24848,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "1107" + "3234" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:06 GMT" + "Thu, 02 May 2019 22:26:17 GMT" ], "Etag": [ - "CAI=" + "CMGB+Prx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -20935,30 +24879,38 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoDewPwtSVrHvd9AxMsVM7Y_77I1SYrAAHtA0t5eh_QDsjEkw34wtT--FHlC0gXWRuQol1gNM2yBuwyb2wO9WP9KGXu2H2O0S7UMYqQFuWqDoH5uf4" + "AEnB2Upis-8CwJYvr7glFAMnec_3T3YDojfTz3O_uICK5tQQmfJF2_rFtNnbqopcxBL5L3aKyoYe4zOLoqN4_MFFrhYKDm6Tmrl3rytuh0ymlCV15VZKyrQ" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MTA6MDMuOTAxWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjEwOjA1Ljg0NVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJhbGxBdXRoZW50aWNhdGVkVXNlcnMiLCJyb2xlIjoiUkVBREVSIiwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9rbXMvMTU1NjgzNTk3Njc0MTA1NyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2ttcyIsIm5hbWUiOiJrbXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk3Njc0MTA1NyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoxNi43NDBaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjY6MTYuNzQwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjE2Ljc0MFoiLCJzaXplIjoiOSIsIm1kNUhhc2giOiJBQVBRUzQ2VHJuTVlucWlLQWJhZ3RRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28va21zP2dlbmVyYXRpb249MTU1NjgzNTk3Njc0MTA1NyZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9rbXMvMTU1NjgzNTk3Njc0MTA1Ny9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9rbXMvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImttcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTc2NzQxMDU3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNNR0IrUHJ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9rbXMvMTU1NjgzNTk3Njc0MTA1Ny9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28va21zL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NzY3NDEwNTciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTUdCK1ByeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEva21zLzE1NTY4MzU5NzY3NDEwNTcvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2ttcy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImttcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTc2NzQxMDU3IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNNR0IrUHJ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9rbXMvMTU1NjgzNTk3Njc0MTA1Ny91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28va21zL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NzY3NDEwNTciLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTUdCK1ByeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IlVJNzg1QT09IiwiZXRhZyI6IkNNR0IrUHJ4L2VFQ0VBRT0iLCJrbXNLZXlOYW1lIjoicHJvamVjdHMvZGVrbGVyay1zYW5kYm94L2xvY2F0aW9ucy9nbG9iYWwva2V5UmluZ3MvZ28taW50ZWdyYXRpb24tdGVzdC9jcnlwdG9LZXlzL2tleTEvY3J5cHRvS2V5VmVyc2lvbnMvMSJ9" } }, { - "ID": "ff80e3134ece70df", + "ID": "9b05110f2b59351b", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0020/o?alt=json\u0026predefinedAcl=authenticatedRead\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "GET", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/kms", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAiLCJuYW1lIjoicHJpdmF0ZSJ9Cg==", - "aGVsbG8=" + "" ] }, "Response": { @@ -20967,60 +24919,96 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2100" + "9" ], "Content-Type": [ - "application/json; charset=UTF-8" + "text/plain; charset=utf-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:06 GMT" + "Thu, 02 May 2019 22:26:17 GMT" ], "Etag": [ - "CJS01cvb4d8CEAE=" + "\"-CMGB+Prx/eECEAE=\"" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" ], + "Last-Modified": [ + "Thu, 02 May 2019 22:26:16 GMT" + ], "Pragma": [ "no-cache" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Encryption-Kms-Key-Name": [ + "projects/deklerk-sandbox/locations/global/keyRings/go-integration-test/cryptoKeys/key1/cryptoKeyVersions/1" + ], + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:26:16 GMT" + ], + "X-Goog-Generation": [ + "1556835976741057" + ], + "X-Goog-Hash": [ + "crc32c=UI785A==", + "md5=AAPQS46TrnMYnqiKAbagtQ==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "9" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UrDa5YnZHJH08w9T7B5_s7JfVPbdBfYKxs0xEEjYYNWzNrHFHieq-ysThpcEA285Iv75I-vOzlS0sMgqUqWtn1BUa4UDd820fUk-aibsFoeYgpsvcs" + "AEnB2UpZ6aSiGPoeZKANPoMPgXhL1QD5nbILvzv8v3sOMId95Y65wOPssqesNA1MXzp86JA4Qa5gAMxxx5cnY4z3-tCUnvsKoIHn3NXOK2U6ZSRLzYNeQeU" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMC9wcml2YXRlLzE1NDcwNzE4MDYzMzE0MTIiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAvby9wcml2YXRlIiwibmFtZSI6InByaXZhdGUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTgwNjMzMTQxMiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjoxMDowNi4zMzFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MTA6MDYuMzMxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjEwOjA2LjMzMVoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDIwL28vcHJpdmF0ZT9nZW5lcmF0aW9uPTE1NDcwNzE4MDYzMzE0MTImYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAvcHJpdmF0ZS8xNTQ3MDcxODA2MzMxNDEyL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAvby9wcml2YXRlL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDIwIiwib2JqZWN0IjoicHJpdmF0ZSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxODA2MzMxNDEyIiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0pTMDFjdmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDIwL3ByaXZhdGUvMTU0NzA3MTgwNjMzMTQxMi9hbGxBdXRoZW50aWNhdGVkVXNlcnMiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAvby9wcml2YXRlL2FjbC9hbGxBdXRoZW50aWNhdGVkVXNlcnMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAiLCJvYmplY3QiOiJwcml2YXRlIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE4MDYzMzE0MTIiLCJlbnRpdHkiOiJhbGxBdXRoZW50aWNhdGVkVXNlcnMiLCJyb2xlIjoiUkVBREVSIiwiZXRhZyI6IkNKUzAxY3ZiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibW5HN1RBPT0iLCJldGFnIjoiQ0pTMDFjdmI0ZDhDRUFFPSJ9" + "Body": "bXkgc2VjcmV0" } }, { - "ID": "65db83f0288abd7c", + "ID": "011b81453e7060ac", "Request": { - "Method": "PATCH", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0020/o/private?alt=json\u0026predefinedAcl=private\u0026prettyPrint=false\u0026projection=full", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/kms?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "62" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAifQo=" + "" ] }, "Response": { @@ -21029,20 +25017,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "1634" + "3234" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:06 GMT" + "Thu, 02 May 2019 22:26:17 GMT" ], "Etag": [ - "CJS01cvb4d8CEAI=" + "CMGB+Prx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -21057,51 +25048,60 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uo5osL1qiEvM_GbOCfk-KNy2dZrAJYKeqBfZMX2H0dKTHqs3zm6BOde6snN5ymlv0iU6hfA5r94ytcEFIlEe6PVGppvl4QRNw_w1iYGhY1Myfhs4yg" + "AEnB2Uq5t8aexqBqqxnLJFK9mWmGdVrFfd3gaCGOKfGJMO1phB3ATnxt67-cLVpELRy1gNnjNOK7-zMzWCR6yV1v5PQcv3lccINA--Q92RoECpvBON-QKtc" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMC9wcml2YXRlLzE1NDcwNzE4MDYzMzE0MTIiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAvby9wcml2YXRlIiwibmFtZSI6InByaXZhdGUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTgwNjMzMTQxMiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjoxMDowNi4zMzFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MTA6MDYuODI0WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjEwOjA2LjMzMVoiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDIwL28vcHJpdmF0ZT9nZW5lcmF0aW9uPTE1NDcwNzE4MDYzMzE0MTImYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAvcHJpdmF0ZS8xNTQ3MDcxODA2MzMxNDEyL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAvby9wcml2YXRlL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDIwIiwib2JqZWN0IjoicHJpdmF0ZSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxODA2MzMxNDEyIiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0pTMDFjdmI0ZDhDRUFJPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJtbkc3VEE9PSIsImV0YWciOiJDSlMwMWN2YjRkOENFQUk9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9rbXMvMTU1NjgzNTk3Njc0MTA1NyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2ttcyIsIm5hbWUiOiJrbXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk3Njc0MTA1NyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoxNi43NDBaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjY6MTYuNzQwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjE2Ljc0MFoiLCJzaXplIjoiOSIsIm1kNUhhc2giOiJBQVBRUzQ2VHJuTVlucWlLQWJhZ3RRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28va21zP2dlbmVyYXRpb249MTU1NjgzNTk3Njc0MTA1NyZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9rbXMvMTU1NjgzNTk3Njc0MTA1Ny9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9rbXMvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImttcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTc2NzQxMDU3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNNR0IrUHJ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9rbXMvMTU1NjgzNTk3Njc0MTA1Ny9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28va21zL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NzY3NDEwNTciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTUdCK1ByeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEva21zLzE1NTY4MzU5NzY3NDEwNTcvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2ttcy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImttcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTc2NzQxMDU3IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNNR0IrUHJ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9rbXMvMTU1NjgzNTk3Njc0MTA1Ny91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28va21zL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NzY3NDEwNTciLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTUdCK1ByeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IlVJNzg1QT09IiwiZXRhZyI6IkNNR0IrUHJ4L2VFQ0VBRT0iLCJrbXNLZXlOYW1lIjoicHJvamVjdHMvZGVrbGVyay1zYW5kYm94L2xvY2F0aW9ucy9nbG9iYWwva2V5UmluZ3MvZ28taW50ZWdyYXRpb24tdGVzdC9jcnlwdG9LZXlzL2tleTEvY3J5cHRvS2V5VmVyc2lvbnMvMSJ9" } }, { - "ID": "16dbbad2c6dfad20", + "ID": "0dbd0a37c735be56", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0020/o/private/rewriteTo/b/go-integration-test-20190109-79655285984746-0020/o/dst?alt=json\u0026destinationPredefinedAcl=publicRead\u0026prettyPrint=false\u0026projection=full", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/kms?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "3" - ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "application/json", + "MediaType": "", "BodyParts": [ - "e30K" + "" ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2122" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:07 GMT" + "Thu, 02 May 2019 22:26:17 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -21116,32 +25116,48 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoUEs5qfqiuqSiDFPAK9pLuMMAITIiMkgz3pIBbLK93DIwVwsaNWgmWe_RAKAXIJtPWc1g2d5pLccgwQ3d6RRzH8jx5qhKJclLmOtxPoU8ibCUKXYg" + "AEnB2Ur_RD6un7NLXQpzwRBFEfZdp982qhfEzyvw8f_P1Lx1wKv8sUid99lQ7Nba5Rs73IJfv3qHXjQfUDHjWclvCAcS91nMboiexn-FwiMrUuKqCQ_d__4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiNSIsIm9iamVjdFNpemUiOiI1IiwiZG9uZSI6dHJ1ZSwicmVzb3VyY2UiOnsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAvZHN0LzE1NDcwNzE4MDc0Mjk0MTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAvby9kc3QiLCJuYW1lIjoiZHN0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDIwIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE4MDc0Mjk0MTgiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MTA6MDcuNDI5WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjEwOjA3LjQyOVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjoxMDowNy40MjlaIiwic2l6ZSI6IjUiLCJtZDVIYXNoIjoiWFVGQUtyeExLbmE1Y1oyUkVCZkZrZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMC9vL2RzdD9nZW5lcmF0aW9uPTE1NDcwNzE4MDc0Mjk0MTgmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAvZHN0LzE1NDcwNzE4MDc0Mjk0MTgvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMC9vL2RzdC9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMCIsIm9iamVjdCI6ImRzdCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxODA3NDI5NDE4IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0txMm1NemI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDIwL2RzdC8xNTQ3MDcxODA3NDI5NDE4L2FsbFVzZXJzIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDIwL28vZHN0L2FjbC9hbGxVc2VycyIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMCIsIm9iamVjdCI6ImRzdCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxODA3NDI5NDE4IiwiZW50aXR5IjoiYWxsVXNlcnMiLCJyb2xlIjoiUkVBREVSIiwiZXRhZyI6IkNLcTJtTXpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibW5HN1RBPT0iLCJldGFnIjoiQ0txMm1NemI0ZDhDRUFFPSJ9fQ==" + "Body": "" } }, { - "ID": "5c84234e2e9af439", + "ID": "1b81fc72e201f2a2", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0020/o/comp/compose?alt=json\u0026destinationPredefinedAcl=authenticatedRead\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" ], - "Content-Length": [ - "130" - ], "User-Agent": [ "google-api-go-client/0.5" + ], + "X-Goog-Encryption-Algorithm": [ + "AES256" + ], + "X-Goog-Encryption-Key": [ + "CLEARED" + ], + "X-Goog-Encryption-Key-Sha256": [ + "Io4lnOPU+EThO0X0nq7mNEXB1rWxZsBI4L37pBmyfDc=" ] }, - "MediaType": "application/json", + "MediaType": "multipart/related", "BodyParts": [ - "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6InByaXZhdGUifSx7Im5hbWUiOiJkc3QifV19Cg==" + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoiY3NlayJ9Cg==", + "bXkgc2VjcmV0" ] }, "Response": { @@ -21150,20 +25166,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2011" + "3262" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:08 GMT" + "Thu, 02 May 2019 22:26:17 GMT" ], "Etag": [ - "CN7Jxczb4d8CEAE=" + "CKCxsfvx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -21178,46 +25197,72 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpT9gDnJohl3o-j1MJNn4kWRLVp3Ffxhvc_kyJxn4AdA0rLd84TiwqJtN4T4LakUTlZ3T4374PfeEPdq2BhCgr5fpLzkhVAUKHW9_KPNFyvvg1b5nw" + "AEnB2UqRTb3RtqG1gIL-ENbVZC8nWKRHapQP78uVzv4yyL2t7N8cA5jEBWa014iJALicWO06KthvAMPLctgZCJ2UvPqo72IO4_LheEfTr13-_h43M-roUyc" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAyMC9jb21wLzE1NDcwNzE4MDgxNjkxODIiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAvby9jb21wIiwibmFtZSI6ImNvbXAiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTgwODE2OTE4MiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjoxMDowOC4xNjhaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MTA6MDguMTY4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjEwOjA4LjE2OFoiLCJzaXplIjoiMTAiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDIwL28vY29tcD9nZW5lcmF0aW9uPTE1NDcwNzE4MDgxNjkxODImYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAvY29tcC8xNTQ3MDcxODA4MTY5MTgyL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAvby9jb21wL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDIwIiwib2JqZWN0IjoiY29tcCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxODA4MTY5MTgyIiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ043SnhjemI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDIwL2NvbXAvMTU0NzA3MTgwODE2OTE4Mi9hbGxBdXRoZW50aWNhdGVkVXNlcnMiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAvby9jb21wL2FjbC9hbGxBdXRoZW50aWNhdGVkVXNlcnMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMjAiLCJvYmplY3QiOiJjb21wIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE4MDgxNjkxODIiLCJlbnRpdHkiOiJhbGxBdXRoZW50aWNhdGVkVXNlcnMiLCJyb2xlIjoiUkVBREVSIiwiZXRhZyI6IkNON0p4Y3piNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiL1JDT2dnPT0iLCJjb21wb25lbnRDb3VudCI6MiwiZXRhZyI6IkNON0p4Y3piNGQ4Q0VBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jc2VrLzE1NTY4MzU5Nzc2ODEwNTYiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jc2VrIiwibmFtZSI6ImNzZWsiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk3NzY4MTA1NiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoxNy42ODBaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjY6MTcuNjgwWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjE3LjY4MFoiLCJzaXplIjoiOSIsIm1kNUhhc2giOiJBQVBRUzQ2VHJuTVlucWlLQWJhZ3RRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3Nlaz9nZW5lcmF0aW9uPTE1NTY4MzU5Nzc2ODEwNTYmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3Nlay8xNTU2ODM1OTc3NjgxMDU2L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NzZWsvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNzZWsiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk3NzY4MTA1NiIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDS0N4c2Z2eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3Nlay8xNTU2ODM1OTc3NjgxMDU2L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jc2VrL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3NlayIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTc3NjgxMDU2IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0tDeHNmdngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NzZWsvMTU1NjgzNTk3NzY4MTA1Ni9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3Nlay9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNzZWsiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk3NzY4MTA1NiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDS0N4c2Z2eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3Nlay8xNTU2ODM1OTc3NjgxMDU2L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jc2VrL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3NlayIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTc3NjgxMDU2IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0tDeHNmdngvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJVSTc4NUE9PSIsImV0YWciOiJDS0N4c2Z2eC9lRUNFQUU9IiwiY3VzdG9tZXJFbmNyeXB0aW9uIjp7ImVuY3J5cHRpb25BbGdvcml0aG0iOiJBRVMyNTYiLCJrZXlTaGEyNTYiOiJJbzRsbk9QVStFVGhPMFgwbnE3bU5FWEIxcld4WnNCSTRMMzdwQm15ZkRjPSJ9fQ==" } }, { - "ID": "116675f5fecf72c8", + "ID": "6da27052d0dabd22", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0020/o/comp?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/csek/rewriteTo/b/go-integration-test-20190502-80633403432013-0001/o/cmek?alt=json\u0026destinationKmsKeyName=projects%2Fdeklerk-sandbox%2Flocations%2Fglobal%2FkeyRings%2Fgo-integration-test%2FcryptoKeys%2Fkey1\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "3" + ], "User-Agent": [ "google-api-go-client/0.5" + ], + "X-Goog-Copy-Source-Encryption-Algorithm": [ + "AES256" + ], + "X-Goog-Copy-Source-Encryption-Key": [ + "CLEARED" + ], + "X-Goog-Copy-Source-Encryption-Key-Sha256": [ + "Io4lnOPU+EThO0X0nq7mNEXB1rWxZsBI4L37pBmyfDc=" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "e30K" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "3372" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:08 GMT" + "Thu, 02 May 2019 22:26:18 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -21232,72 +25277,125 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoTMl0AB80m9WGPo9hGfTrTppuxCd9_NgcsbEc7hsKqPbCBd8sRASX9W87nCzcavc4GQmlZjaMzvYehKw63saM_HFLbg5K616MkJ3v4TNYvamiVSz8" + "AEnB2UpKmOV156VWN4edUkrNip1urAj8WTpDcgGTS520rVGilFT71KrZLZQxUMKloxtxKx5R6V9pUvIqYym68P8lQ8RSc5rEE_D1KlH-NyPgybiPERbxYZ4" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiOSIsIm9iamVjdFNpemUiOiI5IiwiZG9uZSI6dHJ1ZSwicmVzb3VyY2UiOnsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY21lay8xNTU2ODM1OTc4MTI2NDc3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY21layIsIm5hbWUiOiJjbWVrIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NzgxMjY0NzciLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjY6MTguMTI2WiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjE4LjEyNloiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoxOC4xMjZaIiwic2l6ZSI6IjkiLCJtZDVIYXNoIjoiQUFQUVM0NlRybk1ZbnFpS0FiYWd0UT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NtZWs/Z2VuZXJhdGlvbj0xNTU2ODM1OTc4MTI2NDc3JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NtZWsvMTU1NjgzNTk3ODEyNjQ3Ny9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jbWVrL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjbWVrIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NzgxMjY0NzciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0kzSnpQdngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NtZWsvMTU1NjgzNTk3ODEyNjQ3Ny9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY21lay9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNtZWsiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk3ODEyNjQ3NyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNJM0p6UHZ4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jbWVrLzE1NTY4MzU5NzgxMjY0NzcvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NtZWsvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjbWVrIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5NzgxMjY0NzciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0kzSnpQdngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NtZWsvMTU1NjgzNTk3ODEyNjQ3Ny91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY21lay9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNtZWsiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk3ODEyNjQ3NyIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNJM0p6UHZ4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiVUk3ODVBPT0iLCJldGFnIjoiQ0kzSnpQdngvZUVDRUFFPSIsImttc0tleU5hbWUiOiJwcm9qZWN0cy9kZWtsZXJrLXNhbmRib3gvbG9jYXRpb25zL2dsb2JhbC9rZXlSaW5ncy9nby1pbnRlZ3JhdGlvbi10ZXN0L2NyeXB0b0tleXMva2V5MS9jcnlwdG9LZXlWZXJzaW9ucy8xIn19" } }, { - "ID": "71be9ecb86f3c71d", + "ID": "6ff8a4be1ed6bda3", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0020/o/dst?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/cmek", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "9" ], "Content-Type": [ - "application/json" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:10:08 GMT" + "Thu, 02 May 2019 22:26:18 GMT" + ], + "Etag": [ + "\"-CI3JzPvx/eECEAE=\"" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" ], + "Last-Modified": [ + "Thu, 02 May 2019 22:26:18 GMT" + ], "Pragma": [ "no-cache" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Encryption-Kms-Key-Name": [ + "projects/deklerk-sandbox/locations/global/keyRings/go-integration-test/cryptoKeys/key1/cryptoKeyVersions/1" + ], + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:26:18 GMT" + ], + "X-Goog-Generation": [ + "1556835978126477" + ], + "X-Goog-Hash": [ + "crc32c=UI785A==", + "md5=AAPQS46TrnMYnqiKAbagtQ==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "9" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UpP2ThlWc-1uMPrtz68WIuzVfBMBUhjdu6x0rLN-RG-xxwYdSjEV8AbN3ZDdSUj-iokNTQqfgxklW3CnqDHA8pgZU3kEfwyxzL0cupRQ_0euh75LuY" + "AEnB2UqDR7RHLf_CQraIBM5Z3vCUxSJndE0E6FBOLFBqmYvMntnrQyVIfxwuTE6BtHL4b8oQszU6rIycc72JMUjiGRM_XoGdjsk-WhsbBmL_3c3x5H1s4bs" ] }, - "Body": "" + "Body": "bXkgc2VjcmV0" } }, { - "ID": "07ad42d9e2957a14", + "ID": "51f1995364e644ed", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0020/o/private?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/cmek?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -21307,25 +25405,33 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "3271" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:09 GMT" + "Thu, 02 May 2019 22:26:18 GMT" + ], + "Etag": [ + "CI3JzPvx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -21340,18 +25446,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqKSHPY1ilkjgo2y3c0izYoU0v0hyxSlGoUWF3Bq1FLjUz5k9uEMWlICfYUWDzEp3WgwQfHjtbVRu0PUtvz3VawhWdCURBlbAffpR864iiYDcds9-c" + "AEnB2UpM1hbkOXC-oSxvoqjP8s2MpxREJEpzVp2TTYj-6B8467MLYSA-yrWs9UoGwRGQUCJTR76e-qAmQnbzGsFGT31Kc3qjevb8SM0MynLHL9GhOMkm72w" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jbWVrLzE1NTY4MzU5NzgxMjY0NzciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jbWVrIiwibmFtZSI6ImNtZWsiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk3ODEyNjQ3NyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoxOC4xMjZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjY6MTguMTI2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjE4LjEyNloiLCJzaXplIjoiOSIsIm1kNUhhc2giOiJBQVBRUzQ2VHJuTVlucWlLQWJhZ3RRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY21laz9nZW5lcmF0aW9uPTE1NTY4MzU5NzgxMjY0NzcmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY21lay8xNTU2ODM1OTc4MTI2NDc3L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NtZWsvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNtZWsiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk3ODEyNjQ3NyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDSTNKelB2eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY21lay8xNTU2ODM1OTc4MTI2NDc3L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jbWVrL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY21layIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTc4MTI2NDc3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0kzSnpQdngvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NtZWsvMTU1NjgzNTk3ODEyNjQ3Ny9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY21lay9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNtZWsiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk3ODEyNjQ3NyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSTNKelB2eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY21lay8xNTU2ODM1OTc4MTI2NDc3L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jbWVrL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY21layIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTc4MTI2NDc3IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0kzSnpQdngvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJVSTc4NUE9PSIsImV0YWciOiJDSTNKelB2eC9lRUNFQUU9Iiwia21zS2V5TmFtZSI6InByb2plY3RzL2Rla2xlcmstc2FuZGJveC9sb2NhdGlvbnMvZ2xvYmFsL2tleVJpbmdzL2dvLWludGVncmF0aW9uLXRlc3QvY3J5cHRvS2V5cy9rZXkxL2NyeXB0b0tleVZlcnNpb25zLzEifQ==" } }, { - "ID": "5679e58d703eff42", + "ID": "8972a840dc3d95a5", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0020?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/csek?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -21361,7 +25476,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -21369,6 +25486,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -21379,7 +25499,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:09 GMT" + "Thu, 02 May 2019 22:26:18 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -21394,18 +25514,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uqt9Y7QOi3VE7seWGFSXZ_-iufm0_qWJWeP77rnYhV_LWYgpOad_842NjK6gvmVmZDt7VxprS3uxdbnyQENN2l7MXFMev6O0-ExBFcp2_t3a4uU-b4" + "AEnB2UoTmNCzrFh_7cFaryet35nLbKqM6dyo7nvsyZApHIj6fLKcMDb9ZA-_TRNjGOLNFjjoD0IZ1YOz9P-ftNchBFkjWDTaFzBjbHmryCc9JInU3wd_DLw" ] }, "Body": "" } }, { - "ID": "7e7a784bf778a686", + "ID": "1e28b278fe3e0a66", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/projects/dulcet-port-762/serviceAccount?alt=json\u0026prettyPrint=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/cmek?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -21415,28 +25544,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "115" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:10 GMT" + "Thu, 02 May 2019 22:26:18 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:10 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -21445,30 +25582,41 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrHUAKdvC8Dm3482JYMXuNkLgtH09nxYzAVZnlc5-xswI0_c9WDmXK7lY6kD0-2hN6MURiyLTvRF6jUkbuxpG7sarpRCAU5DU844pZHT3y5Ii-g96Q" + "AEnB2UqrX5OILXadm6r5e8fLyuLEhQncM5jrmmDaOesSqraquvQbXXKhTqNJ63RYU3qj90M3FLjwnAOz8oOBTQQDOq2sRqUkbpBbJzYj82Rp3Rd9VLpNns0" ] }, - "Body": "eyJlbWFpbF9hZGRyZXNzIjoic2VydmljZS0zNjYzOTkzMzE0NUBncy1wcm9qZWN0LWFjY291bnRzLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwia2luZCI6InN0b3JhZ2Ujc2VydmljZUFjY291bnQifQ==" + "Body": "" } }, { - "ID": "d6d2744ad659a8bb", + "ID": "d1ac5d123ee4bae6", "Request": { "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "200" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "application/json", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoic29tZS1vYmplY3QifQo=", - "NYfetUO88XfHM0G1GDZh8g==" + "eyJlbmNyeXB0aW9uIjp7ImRlZmF1bHRLbXNLZXlOYW1lIjoicHJvamVjdHMvZGVrbGVyay1zYW5kYm94L2xvY2F0aW9ucy9nbG9iYWwva2V5UmluZ3MvZ28taW50ZWdyYXRpb24tdGVzdC9jcnlwdG9LZXlzL2tleTEifSwibG9jYXRpb24iOiJVUyIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkifQo=" ] }, "Response": { @@ -21477,20 +25625,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3355" + "609" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:10 GMT" + "Thu, 02 May 2019 22:26:19 GMT" ], "Etag": [ - "CPz00M3b4d8CEAE=" + "CAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -21505,28 +25656,39 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrmG3gxajBVKR2QBjNees0Y6Z-NxiCFdC6t_DRAAsnvFyfOqXUiJmPYThXEbJZAlSDBUqaDZIw7G-jqdBRBjE2VVYoU1hH3N0eHwZgyJ03_t495sm0" + "AEnB2UpbajYTiCBBelYuwcqOs7_O-SyJbcV6WGwYhC4JCMmeImLlFLb93JyaiYrSp-201iYZTIdQ2VViFR_Emxe2Z7b4jV_G-0o2xzkqnkSnz0-Qcw_q0Wc" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9zb21lLW9iamVjdC8xNTQ3MDcxODEwNDUyMDkyIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vc29tZS1vYmplY3QiLCJuYW1lIjoic29tZS1vYmplY3QiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTgxMDQ1MjA5MiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjoxMDoxMC40NTFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MTA6MTAuNDUxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjEwOjEwLjQ1MVoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiS0R2U2tqUDdHc3ViNnB2VDM3cmo5dz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3NvbWUtb2JqZWN0P2dlbmVyYXRpb249MTU0NzA3MTgxMDQ1MjA5MiZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9zb21lLW9iamVjdC8xNTQ3MDcxODEwNDUyMDkyL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vc29tZS1vYmplY3QvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoic29tZS1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTgxMDQ1MjA5MiIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ1B6MDBNM2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3NvbWUtb2JqZWN0LzE1NDcwNzE4MTA0NTIwOTIvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vc29tZS1vYmplY3QvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE4MTA0NTIwOTIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ1B6MDBNM2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3NvbWUtb2JqZWN0LzE1NDcwNzE4MTA0NTIwOTIvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vc29tZS1vYmplY3QvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE4MTA0NTIwOTIiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNQejAwTTNiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9zb21lLW9iamVjdC8xNTQ3MDcxODEwNDUyMDkyL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9zb21lLW9iamVjdC9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE4MTA0NTIwOTIiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDUHowME0zYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IjRwQXUydz09IiwiZXRhZyI6IkNQejAwTTNiNGQ4Q0VBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjE5LjA2N1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoxOS4wNjdaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImVuY3J5cHRpb24iOnsiZGVmYXVsdEttc0tleU5hbWUiOiJwcm9qZWN0cy9kZWtsZXJrLXNhbmRib3gvbG9jYXRpb25zL2dsb2JhbC9rZXlSaW5ncy9nby1pbnRlZ3JhdGlvbi10ZXN0L2NyeXB0b0tleXMva2V5MSJ9LCJsb2NhdGlvbiI6IlVTIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9" } }, { - "ID": "d91d2a3a43bb7b93", + "ID": "d035cdb991d0fabb", "Request": { "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/some-object", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0019?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -21534,67 +25696,55 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "public, max-age=60" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "16" + "2555" ], "Content-Type": [ - "text/plain" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:10 GMT" + "Thu, 02 May 2019 22:26:19 GMT" ], "Etag": [ - "\"283bd29233fb1acb9bea9bd3dfbae3f7\"" + "CAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:11:10 GMT" - ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:10:10 GMT" + "Thu, 02 May 2019 22:26:19 GMT" ], "Server": [ "UploadServer" ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:10:10 GMT" - ], - "X-Goog-Generation": [ - "1547071810452092" - ], - "X-Goog-Hash": [ - "crc32c=4pAu2w==", - "md5=KDvSkjP7Gsub6pvT37rj9w==" - ], - "X-Goog-Metageneration": [ - "1" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "STANDARD" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "16" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UpsEydIpRL47LGevo4VdyKOVa8lzELuvQqZL0O5qoMbpA7z7rNIL0d8Nhg5Tezm8Si0oyo1OEF5esuNx63TFG8zsz_LRL6NMpgr-qvGPEgOHb7g8tY" + "AEnB2Uoi5SKd4TdRXg-INW-U3pKcPA2ioBWIc2zdC5W3J4efS9iZ0EKFNqprjQ-NGEK_3wSDGezk4Al3Dd4JovGxXSnH73rIw22S_R__XRrpTQmYpTiNFGQ" ] }, - "Body": "NYfetUO88XfHM0G1GDZh8g==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjE5LjA2N1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoxOS4wNjdaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJlbmNyeXB0aW9uIjp7ImRlZmF1bHRLbXNLZXlOYW1lIjoicHJvamVjdHMvZGVrbGVyay1zYW5kYm94L2xvY2F0aW9ucy9nbG9iYWwva2V5UmluZ3MvZ28taW50ZWdyYXRpb24tdGVzdC9jcnlwdG9LZXlzL2tleTEifSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" } }, { - "ID": "51e0a903978123a4", + "ID": "672cb2bcc1ed4ee2", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/some-object?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0019/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -21603,8 +25753,11 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkiLCJuYW1lIjoia21zIn0K", + "bXkgc2VjcmV0" + ] }, "Response": { "StatusCode": 200, @@ -21612,20 +25765,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3355" + "3234" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:10 GMT" + "Thu, 02 May 2019 22:26:20 GMT" ], "Etag": [ - "CPz00M3b4d8CEAE=" + "CLHMt/zx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -21640,28 +25796,39 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Urxj4o218s9bQMcx1wOQKolzXiUCu4pnexgbXbyFmWBt-kmQtYaMaBpslIKS36n7u-MLEsR4i4DSr-PSM2lx6G9_VsgtEKnJqWjUwC5pupQviSm1aQ" + "AEnB2Upyst1aH69iaN9J4055oX7H2yReN5TADIX11Vul8KakNuYZbJ7yXm1GBdvCDVB-IPTvbhzELJWgfurnIHxGpzKJszLO70n58xMnVbSLsHX1J3W02Lw" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9zb21lLW9iamVjdC8xNTQ3MDcxODEwNDUyMDkyIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vc29tZS1vYmplY3QiLCJuYW1lIjoic29tZS1vYmplY3QiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTgxMDQ1MjA5MiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjoxMDoxMC40NTFaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MTA6MTAuNDUxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjEwOjEwLjQ1MVoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiS0R2U2tqUDdHc3ViNnB2VDM3cmo5dz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3NvbWUtb2JqZWN0P2dlbmVyYXRpb249MTU0NzA3MTgxMDQ1MjA5MiZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9zb21lLW9iamVjdC8xNTQ3MDcxODEwNDUyMDkyL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vc29tZS1vYmplY3QvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoic29tZS1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTgxMDQ1MjA5MiIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ1B6MDBNM2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3NvbWUtb2JqZWN0LzE1NDcwNzE4MTA0NTIwOTIvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vc29tZS1vYmplY3QvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE4MTA0NTIwOTIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ1B6MDBNM2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3NvbWUtb2JqZWN0LzE1NDcwNzE4MTA0NTIwOTIvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vc29tZS1vYmplY3QvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE4MTA0NTIwOTIiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNQejAwTTNiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9zb21lLW9iamVjdC8xNTQ3MDcxODEwNDUyMDkyL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9zb21lLW9iamVjdC9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE4MTA0NTIwOTIiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDUHowME0zYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IjRwQXUydz09IiwiZXRhZyI6IkNQejAwTTNiNGQ4Q0VBRT0ifQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOS9rbXMvMTU1NjgzNTk3OTg3OTk4NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOS9vL2ttcyIsIm5hbWUiOiJrbXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk3OTg3OTk4NSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoxOS44NzlaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjY6MTkuODc5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjE5Ljg3OVoiLCJzaXplIjoiOSIsIm1kNUhhc2giOiJBQVBRUzQ2VHJuTVlucWlLQWJhZ3RRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5L28va21zP2dlbmVyYXRpb249MTU1NjgzNTk3OTg3OTk4NSZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOS9rbXMvMTU1NjgzNTk3OTg3OTk4NS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkvby9rbXMvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsIm9iamVjdCI6ImttcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTc5ODc5OTg1IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNMSE10L3p4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOS9rbXMvMTU1NjgzNTk3OTg3OTk4NS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5L28va21zL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5Iiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5Nzk4Nzk5ODUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTEhNdC96eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkva21zLzE1NTY4MzU5Nzk4Nzk5ODUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOS9vL2ttcy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsIm9iamVjdCI6ImttcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTc5ODc5OTg1IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNMSE10L3p4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOS9rbXMvMTU1NjgzNTk3OTg3OTk4NS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5L28va21zL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5Iiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5Nzk4Nzk5ODUiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTEhNdC96eC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IlVJNzg1QT09IiwiZXRhZyI6IkNMSE10L3p4L2VFQ0VBRT0iLCJrbXNLZXlOYW1lIjoicHJvamVjdHMvZGVrbGVyay1zYW5kYm94L2xvY2F0aW9ucy9nbG9iYWwva2V5UmluZ3MvZ28taW50ZWdyYXRpb24tdGVzdC9jcnlwdG9LZXlzL2tleTEvY3J5cHRvS2V5VmVyc2lvbnMvMSJ9" } }, { - "ID": "443d6fc12f9d87f5", + "ID": "c037ecafa6249395", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001?alt=json\u0026prettyPrint=false\u0026projection=full", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0019/kms", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -21669,43 +25836,82 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "2551" + "9" ], "Content-Type": [ - "application/json; charset=UTF-8" + "text/plain; charset=utf-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:10 GMT" + "Thu, 02 May 2019 22:26:20 GMT" ], "Etag": [ - "CAs=" + "\"-CLHMt/zx/eECEAE=\"" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:10 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Last-Modified": [ + "Thu, 02 May 2019 22:26:19 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Encryption-Kms-Key-Name": [ + "projects/deklerk-sandbox/locations/global/keyRings/go-integration-test/cryptoKeys/key1/cryptoKeyVersions/1" + ], + "X-Goog-Generation": [ + "1556835979879985" + ], + "X-Goog-Hash": [ + "crc32c=UI785A==", + "md5=AAPQS46TrnMYnqiKAbagtQ==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "9" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UqW1-e_BSgaLNmxpYKKOZqF-ST0j272i_f2lFWNF1VCCDaYL_fHCReSfNkEHWmP9c8s3pB8-XDh2YMhMQcqmBFzi3vs5MS86Tw1cTUYUdCstHWNGM8" + "AEnB2UrrQOFSgCkxAaKVPAQhz0ohMN6irPryraHLjWDEQgV3dNEwc5cxqcDDRChzx6_HR1Z_NPlm3vmjFCJcNK-2rAz-tmvVS8w36Q5U9Lc2wAGUgL_joX4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6MzYuMzkyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjA4LjUzMFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjExIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FzPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FzPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQXM9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQXM9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBcz0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBcz0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwidmVyc2lvbmluZyI6eyJlbmFibGVkIjpmYWxzZX0sImxpZmVjeWNsZSI6eyJydWxlIjpbeyJhY3Rpb24iOnsidHlwZSI6IkRlbGV0ZSJ9LCJjb25kaXRpb24iOnsiYWdlIjozMH19XX0sImxhYmVscyI6eyJsMSI6InYyIiwibmV3IjoibmV3In0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBcz0ifQ==" + "Body": "bXkgc2VjcmV0" } }, { - "ID": "334a2a94994ef67d", + "ID": "fc3eda648104f042", "Request": { - "Method": "POST", - "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0019/o/kms?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -21714,9 +25920,8 @@ "google-api-go-client/0.5" ] }, - "MediaType": "multipart/related", + "MediaType": "", "BodyParts": [ - "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJuYW1lIjoiemVybyJ9Cg==", "" ] }, @@ -21726,20 +25931,23 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "3221" + "3234" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:11 GMT" + "Thu, 02 May 2019 22:26:20 GMT" ], "Etag": [ - "CIjW+c3b4d8CEAE=" + "CLHMt/zx/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -21754,124 +25962,140 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqfXP7nqxokfyN7F33HxoV5lCdLoxwPobf3ikZIw0p2G9idyQRkTsvad81g03xlLu9-zf6yYKdWSW66ZobIRcWDczaEjSybjdi2guRyHrUmJslwC9Q" + "AEnB2UqHPSbutJRXX-6i05QnH_4UizrPft0fsGc3_ISDNmXQ4C3RPbEAnNfS1Ren0j3k2z8zxk9AV1WZQCWiKG9D5A8gZAZESFxbSZyjbBH8jkLEsEX54NQ" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS96ZXJvLzE1NDcwNzE4MTExMTk4ODAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby96ZXJvIiwibmFtZSI6Inplcm8iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTgxMTExOTg4MCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjoxMDoxMS4xMTlaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MTA6MTEuMTE5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjEwOjExLjExOVoiLCJzaXplIjoiMCIsIm1kNUhhc2giOiIxQjJNMlk4QXNnVHBnQW1ZN1BoQ2ZnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vemVybz9nZW5lcmF0aW9uPTE1NDcwNzE4MTExMTk4ODAmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvemVyby8xNTQ3MDcxODExMTE5ODgwL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vemVyby9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJ6ZXJvIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE4MTExMTk4ODAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNJalcrYzNiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS96ZXJvLzE1NDcwNzE4MTExMTk4ODAvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vemVyby9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiemVybyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxODExMTE5ODgwIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNJalcrYzNiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS96ZXJvLzE1NDcwNzE4MTExMTk4ODAvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vemVyby9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiemVybyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxODExMTE5ODgwIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDSWpXK2MzYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvemVyby8xNTQ3MDcxODExMTE5ODgwL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby96ZXJvL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiemVybyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxODExMTE5ODgwIiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0lqVytjM2I0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJBQUFBQUE9PSIsImV0YWciOiJDSWpXK2MzYjRkOENFQUU9In0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOS9rbXMvMTU1NjgzNTk3OTg3OTk4NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOS9vL2ttcyIsIm5hbWUiOiJrbXMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk3OTg3OTk4NSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoxOS44NzlaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjY6MTkuODc5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjE5Ljg3OVoiLCJzaXplIjoiOSIsIm1kNUhhc2giOiJBQVBRUzQ2VHJuTVlucWlLQWJhZ3RRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5L28va21zP2dlbmVyYXRpb249MTU1NjgzNTk3OTg3OTk4NSZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOS9rbXMvMTU1NjgzNTk3OTg3OTk4NS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkvby9rbXMvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsIm9iamVjdCI6ImttcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTc5ODc5OTg1IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNMSE10L3p4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOS9rbXMvMTU1NjgzNTk3OTg3OTk4NS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5L28va21zL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5Iiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5Nzk4Nzk5ODUiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTEhNdC96eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkva21zLzE1NTY4MzU5Nzk4Nzk5ODUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOS9vL2ttcy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsIm9iamVjdCI6ImttcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTc5ODc5OTg1IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNMSE10L3p4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOS9rbXMvMTU1NjgzNTk3OTg3OTk4NS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5L28va21zL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5Iiwib2JqZWN0Ijoia21zIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5Nzk4Nzk5ODUiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTEhNdC96eC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IlVJNzg1QT09IiwiZXRhZyI6IkNMSE10L3p4L2VFQ0VBRT0iLCJrbXNLZXlOYW1lIjoicHJvamVjdHMvZGVrbGVyay1zYW5kYm94L2xvY2F0aW9ucy9nbG9iYWwva2V5UmluZ3MvZ28taW50ZWdyYXRpb24tdGVzdC9jcnlwdG9LZXlzL2tleTEvY3J5cHRvS2V5VmVyc2lvbnMvMSJ9" } }, { - "ID": "7a61b33905a3f71f", + "ID": "13283bc1ba20f019", "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/storage-library-test-bucket/Caf%C3%A9", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0019/o/kms?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "public, max-age=3600" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "20" + "0" ], "Content-Type": [ - "text/plain" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:10 GMT" - ], - "Etag": [ - "\"ade43306cb39336d630e101af5fb51b4\"" + "Thu, 02 May 2019 22:26:20 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 23:10:10 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" ], - "Last-Modified": [ - "Fri, 24 Mar 2017 20:04:38 GMT" + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" ], - "X-Goog-Generation": [ - "1490385878535828" - ], - "X-Goog-Hash": [ - "crc32c=fN3yZg==", - "md5=reQzBss5M21jDhAa9ftRtA==" - ], - "X-Goog-Metageneration": [ - "2" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "MULTI_REGIONAL" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "20" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UoYmw3mpVB-a25givkJAzhyAlBJUz37lqDCppN1ZsaZiat5mt1pPfSxLjawnFTKkC2DN558o6UOsGSl3ukVYWjbKddVu_VvWvDekC6S7OXYW-ijzgE" + "AEnB2Uo2b3OtHWqpsRWxurpcGgrEtM10ZDdsrIa2z0nFsO-P4G3RAGYMTVMR0MCtwLDePrKyhfnsK-d9T5AIcRpeaIe8Z40Qm7gkZP4Fdi9jXd6ceYe5Iwc" ] }, - "Body": "Tm9ybWFsaXphdGlvbiBGb3JtIEM=" + "Body": "" } }, { - "ID": "d62c71a5c880362e", + "ID": "ca2255586aa4aeab", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0021?alt=json\u0026prettyPrint=false\u0026projection=full", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0019?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "126" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJlbmNyeXB0aW9uIjp7ImRlZmF1bHRLbXNLZXlOYW1lIjoicHJvamVjdHMvZGVrbGVyay1zYW5kYm94L2xvY2F0aW9ucy9nbG9iYWwva2V5UmluZ3MvZ28taW50ZWdyYXRpb24tdGVzdC9jcnlwdG9LZXlzL2tleTIifX0K" + ] }, "Response": { - "StatusCode": 404, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "117" + "2555" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:11 GMT" + "Thu, 02 May 2019 22:26:21 GMT" + ], + "Etag": [ + "CAI=" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:11 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -21880,18 +26104,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrcU20B479-9QRKwXkBICTlo0Dc3yRLgut6J1zYacXCz5meve4EgJrQwiNtlUm-iQLLPixhXFgkucxZ2HMytN4lBxE4rNE9ZQWdmUKhRbZpepcsoQY" + "AEnB2Ur05CMGbsLFprbwWYFSeE3I5dKFdFUzO--ImyAzkLt6ueNGpMDviyX6c1S4F6t1bqXTSnyQXXQzgugu8JoecrL3-1eJOPsqnN-OBMubntJCblkyWqE" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vdCBGb3VuZCJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm90IEZvdW5kIn19" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjE5LjA2N1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoyMS4zMzZaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJlbmNyeXB0aW9uIjp7ImRlZmF1bHRLbXNLZXlOYW1lIjoicHJvamVjdHMvZGVrbGVyay1zYW5kYm94L2xvY2F0aW9ucy9nbG9iYWwva2V5UmluZ3MvZ28taW50ZWdyYXRpb24tdGVzdC9jcnlwdG9LZXlzL2tleTIifSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" } }, { - "ID": "c073201b18a563ee", + "ID": "e1c336910a43425f", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0021/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0019?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -21901,28 +26134,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 404, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "117" + "2555" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:11 GMT" + "Thu, 02 May 2019 22:26:21 GMT" + ], + "Etag": [ + "CAI=" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:11 GMT" + "Thu, 02 May 2019 22:26:21 GMT" ], "Server": [ "UploadServer" @@ -21931,28 +26172,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpkBoyIJJbUTW4yIDytrG1CLML5s7yhudAf9SwwqtuCaXbmBco9cryIXGnplICULxuT4mthzElQNLORfHaMf5Sw3BbE-_7kCa-FTaEIm8K6DJzOrUw" + "AEnB2Urcwbg5Z9C0rFvSTWYj4FxF27ooV0028Cm-yme-BrfmvK0dWsRkfRQEMWylWwokcmM2kIvLKEiucJlvDLHvnbJPB_HjH3zF2Lm8xCwV_9gPN42QDeo" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vdCBGb3VuZCJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm90IEZvdW5kIn19" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjE5LjA2N1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoyMS4zMzZaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJlbmNyeXB0aW9uIjp7ImRlZmF1bHRLbXNLZXlOYW1lIjoicHJvamVjdHMvZGVrbGVyay1zYW5kYm94L2xvY2F0aW9ucy9nbG9iYWwva2V5UmluZ3MvZ28taW50ZWdyYXRpb24tdGVzdC9jcnlwdG9LZXlzL2tleTIifSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0=" } }, { - "ID": "6bc3fba5cd9aa49f", + "ID": "581a002b653f595d", "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/storage-library-test-bucket/Cafe%CC%81", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0019?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "20" + ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJlbmNyeXB0aW9uIjpudWxsfQo=" + ] }, "Response": { "StatusCode": 200, @@ -21960,170 +26215,165 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "public, max-age=3600" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "20" + "2431" ], "Content-Type": [ - "text/plain" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:11 GMT" + "Thu, 02 May 2019 22:26:22 GMT" ], "Etag": [ - "\"df597679bac7c6150429ad80a1a05680\"" + "CAM=" ], "Expires": [ - "Wed, 09 Jan 2019 23:10:11 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" ], - "Last-Modified": [ - "Fri, 24 Mar 2017 20:04:37 GMT" + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" ], - "X-Goog-Generation": [ - "1490385877705600" - ], - "X-Goog-Hash": [ - "crc32c=qBeWjQ==", - "md5=31l2ebrHxhUEKa2AoaBWgA==" - ], - "X-Goog-Metageneration": [ - "2" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Storage-Class": [ - "MULTI_REGIONAL" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Request-Result": [ + "success" ], - "X-Goog-Stored-Content-Length": [ - "20" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2Upj8IQHqTDIRbrRq6ub-jdY82UuCHnJXdh6Ac7QP1Z0ZKYDRS-vBPLcnJ266erTynEUMnTkpA-cxIzAAvAhUweIcde9xwyt7fxzSulXteFFkWvCoD0" + "AEnB2Upv2LawTqc_eDVGR_hv2jSCyEA77H33uMkPevVxUUDKj1u4a9IWOH2f1oMXpU52-49Jg17SUSoJUJai1Ueff3ahN58GC9FCxwJt5v5xOHI3SytFjpo" ] }, - "Body": "Tm9ybWFsaXphdGlvbiBGb3JtIEQ=" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjE5LjA2N1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoyMi4xMjRaIiwibWV0YWdlbmVyYXRpb24iOiIzIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FNPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE5L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTkvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQU09In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBTT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBTT0ifQ==" } }, { - "ID": "f63211582d636ed8", + "ID": "a0db97c641f3f17c", "Request": { - "Method": "GET", - "URL": "https://storage.googleapis.com/go-integration-test-20190109-79655285984746-0001/zero", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0019?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "Go-http-client/1.1" + "google-api-go-client/0.5" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { - "Accept-Ranges": [ - "bytes" + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" ], "Cache-Control": [ - "private, max-age=0" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ "0" ], "Content-Type": [ - "text/plain; charset=utf-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:11 GMT" - ], - "Etag": [ - "\"d41d8cd98f00b204e9800998ecf8427e\"" + "Thu, 02 May 2019 22:26:22 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:11 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" ], - "Last-Modified": [ - "Wed, 09 Jan 2019 22:10:11 GMT" + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" ], - "X-Goog-Expiration": [ - "Fri, 08 Feb 2019 22:10:11 GMT" - ], - "X-Goog-Generation": [ - "1547071811119880" - ], - "X-Goog-Hash": [ - "crc32c=AAAAAA==", - "md5=1B2M2Y8AsgTpgAmY7PhCfg==" - ], - "X-Goog-Metageneration": [ - "1" - ], - "X-Goog-Storage-Class": [ - "STANDARD" + "Vary": [ + "Origin", + "X-Origin" ], - "X-Goog-Stored-Content-Encoding": [ - "identity" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "X-Goog-Stored-Content-Length": [ - "0" + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2Upmf7f9z3Vyv5GxSAukYMsW8Sw4UKjsnzi9p0tTc8yGwqQF_NdXBCzqdXCR3_NsXx3HugNZLbH2lVnjHG3ax1xsNSAC_yzhZXkVCJgovMAjrfv5faU" + "AEnB2Uo15eoN1OrQFM6eqxJcuNFl7Wfr6x_VvJ0ENBlhhC_Hedf5al2OplGnNslWnRQT9RVs92RVLevZ_F_ohutgnNsUbK1PVsR04UnQ_A6ea3C0ZLy8FkI" ] }, "Body": "" } }, { - "ID": "12e8c59d24c5c7d1", + "ID": "ca84fc3a71a55ea8", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/zero?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026predefinedAcl=authenticatedRead\u0026predefinedDefaultObjectAcl=publicRead\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "60" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwIn0K" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "1468" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:11 GMT" + "Thu, 02 May 2019 22:26:23 GMT" + ], + "Etag": [ + "CAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -22138,18 +26388,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpuMPdbNG0aHnyw46AJ36-wWZq-hSkER3ETw4hRQxel3kZnBwXQ2n-KXKMG3WYyo1jEmU2FnTCok7bOXlpfws46Gy8PK-cNk1ToWtkBbgwjqwMxESI" + "AEnB2UrnCCRKNh19fdBAL3pyCzbtLnG7z20pSwSZKl9uTerD6o6-B5mB79mqZRIbXNcUmcpTdpxTreKjvsHK3Y9EKq_5fkzBPInDj8YkjbGViIpd1ldSots" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjIzLjEwNloiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoyMy4xMDZaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwL2FsbEF1dGhlbnRpY2F0ZWRVc2VycyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMC9hY2wvYWxsQXV0aGVudGljYXRlZFVzZXJzIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwIiwiZW50aXR5IjoiYWxsQXV0aGVudGljYXRlZFVzZXJzIiwicm9sZSI6IlJFQURFUiIsImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoiYWxsVXNlcnMiLCJyb2xlIjoiUkVBREVSIiwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "0df2f9a5d7e6f5f2", + "ID": "ed54d82686b4d390", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0020?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -22159,7 +26418,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -22167,20 +26428,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "66618" + "1468" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:14 GMT" + "Thu, 02 May 2019 22:26:23 GMT" + ], + "Etag": [ + "CAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:14 GMT" + "Thu, 02 May 2019 22:26:23 GMT" ], "Server": [ "UploadServer" @@ -22189,46 +26456,66 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq7ClH7V1lr9J6AjYcHrjTo5m4SPHfTEP9l9QZWPweiw8HM9eNMXQev83ttoC-O6haHSV4hCgBeholVL0pmnhrlDCZJ561ws84FzI5jsLkq0zxCr_A" + "AEnB2UpXJh1_aAMuDVjYxLZJdwqAt7OwZdmTkc0_5wf_LshhNm_So0q87o7gJ31T58vp1b0_CucSecAyyyOLUbYTDrWDDTZGMkZBpfx1iBArjRtBcud1IgI" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbDEvMTU0NzA3MTY4OTEyNzgyMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2FjbDEiLCJuYW1lIjoiYWNsMSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg5MTI3ODIxIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MDkuMTI3WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjEwLjcyMFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowOS4xMjdaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IlJ2aDIwS3NOQ3dKMksvTnlPUHRINHc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9hY2wxP2dlbmVyYXRpb249MTU0NzA3MTY4OTEyNzgyMSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wxLzE1NDcwNzE2ODkxMjc4MjEvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9hY2wxL2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImFjbDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4OTEyNzgyMSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0kzdjQ1UGI0ZDhDRUFJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbDEvMTU0NzA3MTY4OTEyNzgyMS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9hY2wxL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJhY2wxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODkxMjc4MjEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0kzdjQ1UGI0ZDhDRUFJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbDEvMTU0NzA3MTY4OTEyNzgyMS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9hY2wxL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJhY2wxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODkxMjc4MjEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNJM3Y0NVBiNGQ4Q0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wxLzE1NDcwNzE2ODkxMjc4MjEvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2FjbDEvYWNsL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJhY2wxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODkxMjc4MjEiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSTN2NDVQYjRkOENFQUk9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6InJXMllhQT09IiwiZXRhZyI6IkNJM3Y0NVBiNGQ4Q0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbDIvMTU0NzA3MTY4OTY0MTc0MCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2FjbDIiLCJuYW1lIjoiYWNsMiIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg5NjQxNzQwIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MDkuNjQxWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjA5LjY0MVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowOS42NDFaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IlZnV2trL3ZOQkJ2cnhQQXVWMVdhS3c9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9hY2wyP2dlbmVyYXRpb249MTU0NzA3MTY4OTY0MTc0MCZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wyLzE1NDcwNzE2ODk2NDE3NDAvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9hY2wyL2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImFjbDIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4OTY0MTc0MCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0l5ZWc1VGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbDIvMTU0NzA3MTY4OTY0MTc0MC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9hY2wyL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJhY2wyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODk2NDE3NDAiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0l5ZWc1VGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbDIvMTU0NzA3MTY4OTY0MTc0MC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9hY2wyL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJhY2wyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODk2NDE3NDAiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNJeWVnNVRiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9hY2wyLzE1NDcwNzE2ODk2NDE3NDAvZG9tYWluLWdvb2dsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9hY2wyL2FjbC9kb21haW4tZ29vZ2xlLmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImFjbDIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4OTY0MTc0MCIsImVudGl0eSI6ImRvbWFpbi1nb29nbGUuY29tIiwicm9sZSI6IlJFQURFUiIsImRvbWFpbiI6Imdvb2dsZS5jb20iLCJldGFnIjoiQ0l5ZWc1VGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2FjbDIvMTU0NzA3MTY4OTY0MTc0MC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYWNsMi9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImFjbDIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4OTY0MTc0MCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNJeWVnNVRiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiV1JUMlVRPT0iLCJldGFnIjoiQ0l5ZWc1VGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvYnVja2V0SW5Db3B5QXR0cnMvMTU0NzA3MTcxMjIwMTM2MiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2J1Y2tldEluQ29weUF0dHJzIiwibmFtZSI6ImJ1Y2tldEluQ29weUF0dHJzIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTIyMDEzNjIiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzIuMjAxWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjMyLjIwMVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODozMi4yMDFaIiwic2l6ZSI6IjMiLCJtZDVIYXNoIjoickwwWTIwekMrRnp0NzJWUHpNU2syQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2J1Y2tldEluQ29weUF0dHJzP2dlbmVyYXRpb249MTU0NzA3MTcxMjIwMTM2MiZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9idWNrZXRJbkNvcHlBdHRycy8xNTQ3MDcxNzEyMjAxMzYyL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYnVja2V0SW5Db3B5QXR0cnMvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiYnVja2V0SW5Db3B5QXR0cnMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMjIwMTM2MiIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0pLVjVKN2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2J1Y2tldEluQ29weUF0dHJzLzE1NDcwNzE3MTIyMDEzNjIvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYnVja2V0SW5Db3B5QXR0cnMvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImJ1Y2tldEluQ29weUF0dHJzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTIyMDEzNjIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0pLVjVKN2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2J1Y2tldEluQ29weUF0dHJzLzE1NDcwNzE3MTIyMDEzNjIvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vYnVja2V0SW5Db3B5QXR0cnMvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImJ1Y2tldEluQ29weUF0dHJzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTIyMDEzNjIiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNKS1Y1SjdiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9idWNrZXRJbkNvcHlBdHRycy8xNTQ3MDcxNzEyMjAxMzYyL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9idWNrZXRJbkNvcHlBdHRycy9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImJ1Y2tldEluQ29weUF0dHJzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTIyMDEzNjIiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSktWNUo3YjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Ino4U3VIUT09IiwiZXRhZyI6IkNKS1Y1SjdiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NoZWNrc3VtLW9iamVjdC8xNTQ3MDcxNjgwMTMwNDQ4Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY2hlY2tzdW0tb2JqZWN0IiwibmFtZSI6ImNoZWNrc3VtLW9iamVjdCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjgwMTMwNDQ4IiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjAwLjEzMFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowMC4xMzBaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MDAuMTMwWiIsInNpemUiOiIxMCIsIm1kNUhhc2giOiIvRjREalRpbGNESUlWRUhuL25BUXNBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY2hlY2tzdW0tb2JqZWN0P2dlbmVyYXRpb249MTU0NzA3MTY4MDEzMDQ0OCZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jaGVja3N1bS1vYmplY3QvMTU0NzA3MTY4MDEzMDQ0OC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NoZWNrc3VtLW9iamVjdC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjaGVja3N1bS1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4MDEzMDQ0OCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0pEYnZvL2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NoZWNrc3VtLW9iamVjdC8xNTQ3MDcxNjgwMTMwNDQ4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NoZWNrc3VtLW9iamVjdC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY2hlY2tzdW0tb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODAxMzA0NDgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0pEYnZvL2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NoZWNrc3VtLW9iamVjdC8xNTQ3MDcxNjgwMTMwNDQ4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NoZWNrc3VtLW9iamVjdC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY2hlY2tzdW0tb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODAxMzA0NDgiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNKRGJ2by9iNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jaGVja3N1bS1vYmplY3QvMTU0NzA3MTY4MDEzMDQ0OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY2hlY2tzdW0tb2JqZWN0L2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY2hlY2tzdW0tb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODAxMzA0NDgiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSkRidm8vYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IlZzdTBnQT09IiwiZXRhZyI6IkNKRGJ2by9iNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvbXBvc2VkMS8xNTQ3MDcxNjgzMjQ3MDg4Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29tcG9zZWQxIiwibmFtZSI6ImNvbXBvc2VkMSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjgzMjQ3MDg4IiwibWV0YWdlbmVyYXRpb24iOiIxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjAzLjI0NloiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowMy4yNDZaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MDMuMjQ2WiIsInNpemUiOiI0OCIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb21wb3NlZDE/Z2VuZXJhdGlvbj0xNTQ3MDcxNjgzMjQ3MDg4JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvbXBvc2VkMS8xNTQ3MDcxNjgzMjQ3MDg4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29tcG9zZWQxL2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbXBvc2VkMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjgzMjQ3MDg4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUEQzL0pEYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29tcG9zZWQxLzE1NDcwNzE2ODMyNDcwODgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29tcG9zZWQxL2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjb21wb3NlZDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4MzI0NzA4OCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUEQzL0pEYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29tcG9zZWQxLzE1NDcwNzE2ODMyNDcwODgvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29tcG9zZWQxL2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjb21wb3NlZDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4MzI0NzA4OCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1BEMy9KRGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvbXBvc2VkMS8xNTQ3MDcxNjgzMjQ3MDg4L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb21wb3NlZDEvYWNsL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjb21wb3NlZDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4MzI0NzA4OCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQRDMvSkRiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoid3RnRUJRPT0iLCJjb21wb25lbnRDb3VudCI6MywiZXRhZyI6IkNQRDMvSkRiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvbXBvc2VkMi8xNTQ3MDcxNjg0MTA5MDI3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29tcG9zZWQyIiwibmFtZSI6ImNvbXBvc2VkMiIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg0MTA5MDI3IiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L2pzb24iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MDQuMTA4WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjA0LjEwOFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowNC4xMDhaIiwic2l6ZSI6IjQ4IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbXBvc2VkMj9nZW5lcmF0aW9uPTE1NDcwNzE2ODQxMDkwMjcmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29tcG9zZWQyLzE1NDcwNzE2ODQxMDkwMjcvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb21wb3NlZDIvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY29tcG9zZWQyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODQxMDkwMjciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNPUEZzWkhiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb21wb3NlZDIvMTU0NzA3MTY4NDEwOTAyNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb21wb3NlZDIvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbXBvc2VkMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg0MTA5MDI3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNPUEZzWkhiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb21wb3NlZDIvMTU0NzA3MTY4NDEwOTAyNy9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb21wb3NlZDIvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbXBvc2VkMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg0MTA5MDI3IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDT1BGc1pIYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29tcG9zZWQyLzE1NDcwNzE2ODQxMDkwMjcvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbXBvc2VkMi9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbXBvc2VkMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg0MTA5MDI3IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ09QRnNaSGI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJ3dGdFQlE9PSIsImNvbXBvbmVudENvdW50IjozLCJldGFnIjoiQ09QRnNaSGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY29udGVudC8xNTQ3MDcxNzAwODMxMTI5Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY29udGVudCIsIm5hbWUiOiJjb250ZW50IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDA4MzExMjkiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6ImltYWdlL2pwZWciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjAuODMwWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjIwLjgzMFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyMC44MzBaIiwic2l6ZSI6IjU0IiwibWQ1SGFzaCI6Ik44cDgvczlGd2RBQW5sdnIvbEVBalE9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb250ZW50P2dlbmVyYXRpb249MTU0NzA3MTcwMDgzMTEyOSZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE3MDA4MzExMjkvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb250ZW50L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImNvbnRlbnQiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMDgzMTEyOSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0ptWHJwbmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvbnRlbnQvMTU0NzA3MTcwMDgzMTEyOS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb250ZW50L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDA4MzExMjkiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0ptWHJwbmI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2NvbnRlbnQvMTU0NzA3MTcwMDgzMTEyOS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jb250ZW50L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDA4MzExMjkiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNKbVhycG5iNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jb250ZW50LzE1NDcwNzE3MDA4MzExMjkvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2NvbnRlbnQvYWNsL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDA4MzExMjkiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSm1YcnBuYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IkdvVWJzUT09IiwiZXRhZyI6IkNKbVhycG5iNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU0NzA3MTcwMTU1MTE5OCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24iLCJuYW1lIjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAxNTUxMTk4IiwibWV0YWdlbmVyYXRpb24iOiIzIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjIxLjU1MFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyMy4wMThaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjEuNTUwWiIsInNpemUiOiIxMSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uP2dlbmVyYXRpb249MTU0NzA3MTcwMTU1MTE5OCZhbHQ9bWVkaWEiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU0NzA3MTcwMTU1MTE5OC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzAxNTUxMTk4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTjZRMnBuYjRkOENFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTQ3MDcxNzAxNTUxMTk4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMTU1MTE5OCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTjZRMnBuYjRkOENFQU09In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi8xNTQ3MDcxNzAxNTUxMTk4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMTU1MTE5OCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ042UTJwbmI0ZDhDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU0NzA3MTcwMTU1MTE5OC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwMTU1MTE5OCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNONlEycG5iNGQ4Q0VBTT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiZXRhZyI6IkNONlEycG5iNGQ4Q0VBTT0iLCJjdXN0b21lckVuY3J5cHRpb24iOnsiZW5jcnlwdGlvbkFsZ29yaXRobSI6IkFFUzI1NiIsImtleVNoYTI1NiI6IkgrTG1uWGhSb2VJNlRNVzVic1Y2SHlVazZweUdjMklNYnFZYkFYQmNwczA9In19LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi0yLzE1NDcwNzE3MDkyMjc2ODEiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uLTIiLCJuYW1lIjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDkyMjc2ODEiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjkuMjI3WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjI5LjIyN1oiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyOS4yMjdaIiwic2l6ZSI6IjExIiwibWQ1SGFzaCI6Inh3V05GYTBWZFhQbWxBd3JsY0FKY2c9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uLTI/Z2VuZXJhdGlvbj0xNTQ3MDcxNzA5MjI3NjgxJmFsdD1tZWRpYSIsImNvbnRlbnRMYW5ndWFnZSI6ImVuIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi0yLzE1NDcwNzE3MDkyMjc2ODEvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uLTIvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDkyMjc2ODEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNLSFZycDNiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU0NzA3MTcwOTIyNzY4MS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uLTIvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzA5MjI3NjgxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNLSFZycDNiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTIvMTU0NzA3MTcwOTIyNzY4MS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uLTIvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzA5MjI3NjgxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDS0hWcnAzYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi0yLzE1NDcwNzE3MDkyMjc2ODEvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzA5MjI3NjgxIiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0tIVnJwM2I0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJyME5Hcmc9PSIsImV0YWciOiJDS0hWcnAzYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTMvMTU0NzA3MTcwNzc4Mzg1MyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMyIsIm5hbWUiOiJjdXN0b21lci1lbmNyeXB0aW9uLTMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwNzc4Mzg1MyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODoyNy43ODNaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MjcuNzgzWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjI3Ljc4M1oiLCJzaXplIjoiMjIiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0zP2dlbmVyYXRpb249MTU0NzA3MTcwNzc4Mzg1MyZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTMvMTU0NzA3MTcwNzc4Mzg1My9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uLTMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcwNzc4Mzg1MyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0szRjFwemI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24tMy8xNTQ3MDcxNzA3NzgzODUzL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0zIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDc3ODM4NTMiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0szRjFwemI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24tMy8xNTQ3MDcxNzA3NzgzODUzL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0zIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDc3ODM4NTMiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNLM0YxcHpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTMvMTU0NzA3MTcwNzc4Mzg1My91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0zL2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0zIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MDc3ODM4NTMiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSzNGMXB6YjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNvbXBvbmVudENvdW50IjoyLCJldGFnIjoiQ0szRjFwemI0ZDhDRUFFPSIsImN1c3RvbWVyRW5jcnlwdGlvbiI6eyJlbmNyeXB0aW9uQWxnb3JpdGhtIjoiQUVTMjU2Iiwia2V5U2hhMjU2IjoiSCtMbW5YaFJvZUk2VE1XNWJzVjZIeVVrNnB5R2MySU1icVliQVhCY3BzMD0ifX0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9nemlwLXRlc3QvMTU0NzA3MTY4NDk1Mjk5NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2d6aXAtdGVzdCIsIm5hbWUiOiJnemlwLXRlc3QiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4NDk1Mjk5NSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24veC1nemlwIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjA0Ljk1MloiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowNC45NTJaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MDQuOTUyWiIsInNpemUiOiIyNyIsIm1kNUhhc2giOiJPdEN3K2FSUklScUtHRkFFT2F4K3F3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vZ3ppcC10ZXN0P2dlbmVyYXRpb249MTU0NzA3MTY4NDk1Mjk5NSZhbHQ9bWVkaWEiLCJjb250ZW50RW5jb2RpbmciOiJnemlwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvZ3ppcC10ZXN0LzE1NDcwNzE2ODQ5NTI5OTUvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9nemlwLXRlc3QvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiZ3ppcC10ZXN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODQ5NTI5OTUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNLT0g1WkhiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9nemlwLXRlc3QvMTU0NzA3MTY4NDk1Mjk5NS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9nemlwLXRlc3QvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imd6aXAtdGVzdCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg0OTUyOTk1IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNLT0g1WkhiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9nemlwLXRlc3QvMTU0NzA3MTY4NDk1Mjk5NS9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9nemlwLXRlc3QvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imd6aXAtdGVzdCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg0OTUyOTk1IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDS09INVpIYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvZ3ppcC10ZXN0LzE1NDcwNzE2ODQ5NTI5OTUvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2d6aXAtdGVzdC9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imd6aXAtdGVzdCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg0OTUyOTk1IiwiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0tPSDVaSGI0ZDhDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiI5RGh3QkE9PSIsImV0YWciOiJDS09INVpIYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9oYXNoZXNPblVwbG9hZC0xLzE1NDcwNzE3MTM2MjY3MzciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9oYXNoZXNPblVwbG9hZC0xIiwibmFtZSI6Imhhc2hlc09uVXBsb2FkLTEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMzYyNjczNyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowODozMy42MjZaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzMuNjI2WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjMzLjYyNloiLCJzaXplIjoiMjciLCJtZDVIYXNoIjoib2ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTE/Z2VuZXJhdGlvbj0xNTQ3MDcxNzEzNjI2NzM3JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU0NzA3MTcxMzYyNjczNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTEvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiaGFzaGVzT25VcGxvYWQtMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzEzNjI2NzM3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUEdVdTUvYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvaGFzaGVzT25VcGxvYWQtMS8xNTQ3MDcxNzEzNjI2NzM3L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTEvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMzYyNjczNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUEdVdTUvYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvaGFzaGVzT25VcGxvYWQtMS8xNTQ3MDcxNzEzNjI2NzM3L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTEvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMzYyNjczNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1BHVXU1L2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU0NzA3MTcxMzYyNjczNy91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vaGFzaGVzT25VcGxvYWQtMS9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMzYyNjczNyIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQR1V1NS9iNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiY0grQSt3PT0iLCJldGFnIjoiQ1BHVXU1L2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTQ3MDcxNjY1NzMyMDU5Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMiLCJuYW1lIjoib2JqL3dpdGgvc2xhc2hlcyIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjczMVoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS43MzFaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuNzMxWiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJSYjBjelkrM2ZZSk1yN2JHRDVzOEZBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXM/Z2VuZXJhdGlvbj0xNTQ3MDcxNjY1NzMyMDU5JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU0NzA3MTY2NTczMjA1OS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU0NzA3MTY2NTczMjA1OS9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1NzMyMDU5IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NDcwNzE2NjU3MzIwNTkvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iai93aXRoL3NsYXNoZXMiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTczMjA1OSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ052eno0amI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU0NzA3MTY2NTczMjA1OS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjU3MzIwNTkiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTnZ6ejRqYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IjBUQ3h4UT09IiwiZXRhZyI6IkNOdnp6NGpiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajEvMTU0NzA3MTY2NDc0MDg1OCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEiLCJuYW1lIjoib2JqMSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY0NzQwODU4IiwibWV0YWdlbmVyYXRpb24iOiI0IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ0Ljc0MFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowMS40MjFaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDQuNzQwWiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJ3UC9GNk9OUWo5bE5IRWtMNmZPY0V3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMT9nZW5lcmF0aW9uPTE1NDcwNzE2NjQ3NDA4NTgmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L2RvbWFpbi1nb29nbGUuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvZG9tYWluLWdvb2dsZS5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjQ3NDA4NTgiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNQcXprNGpiNGQ4Q0VBUT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoxLzE1NDcwNzE2NjQ3NDA4NTgvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajEvYWNsL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjQ3NDA4NTgiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDUHF6azRqYjRkOENFQVE9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMS8xNTQ3MDcxNjY0NzQwODU4L2FsbFVzZXJzIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMS9hY2wvYWxsVXNlcnMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2NjQ3NDA4NTgiLCJlbnRpdHkiOiJhbGxVc2VycyIsInJvbGUiOiJSRUFERVIiLCJldGFnIjoiQ1Bxems0amI0ZDhDRUFRPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiI0dFVWVmc9PSIsImV0YWciOiJDUHF6azRqYjRkOENFQVE9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vYmoyLzE1NDcwNzE2NjUxNTI2MDEiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9vYmoyIiwibmFtZSI6Im9iajIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQyMjowNzo0NS4xNTJaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDc6NDUuMTUyWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA3OjQ1LjE1MloiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiUkFFaENEYUJFU1lmbHpCdmhxbXhldz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajI/Z2VuZXJhdGlvbj0xNTQ3MDcxNjY1MTUyNjAxJmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMS9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoib2JqMiIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjY1MTUyNjAxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTm5FcklqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTm5FcklqYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvb2JqMi8xNTQ3MDcxNjY1MTUyNjAxL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL29iajIvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL29iajIvMTU0NzA3MTY2NTE1MjYwMS91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vb2JqMi9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY2NTE1MjYwMSIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNObkVySWpiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiRnFTcGV3PT0iLCJldGFnIjoiQ05uRXJJamI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcG9zYy8xNTQ3MDcxNzExMTk0NjQ0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYyIsIm5hbWUiOiJwb3NjIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTExOTQ2NDQiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzEuMTk0WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjMxLjE5NFoiLCJzdG9yYWdlQ2xhc3MiOiJNVUxUSV9SRUdJT05BTCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODozMS4xOTRaIiwic2l6ZSI6IjMiLCJtZDVIYXNoIjoickwwWTIwekMrRnp0NzJWUHpNU2syQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3Bvc2M/Z2VuZXJhdGlvbj0xNTQ3MDcxNzExMTk0NjQ0JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3Bvc2MvMTU0NzA3MTcxMTE5NDY0NC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3Bvc2MvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoicG9zYyIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNzExMTk0NjQ0IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDSlRjcHA3YjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcG9zYy8xNTQ3MDcxNzExMTk0NjQ0L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3Bvc2MvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InBvc2MiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMTE5NDY0NCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSlRjcHA3YjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcG9zYy8xNTQ3MDcxNzExMTk0NjQ0L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3Bvc2MvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InBvc2MiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMTE5NDY0NCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0pUY3BwN2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3Bvc2MvMTU0NzA3MTcxMTE5NDY0NC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYy9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InBvc2MiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMTE5NDY0NCIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNKVGNwcDdiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiejhTdUhRPT0iLCJldGFnIjoiQ0pUY3BwN2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvcG9zYzIvMTU0NzA3MTcxMTY1NzY1MiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3Bvc2MyIiwibmFtZSI6InBvc2MyIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTE2NTc2NTIiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MzEuNjU3WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjMxLjY1N1oiLCJzdG9yYWdlQ2xhc3MiOiJNVUxUSV9SRUdJT05BTCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODozMS42NTdaIiwic2l6ZSI6IjMiLCJtZDVIYXNoIjoiOVdHcTl1OEw4VTFDQ0x0R3BNeXpyUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3Bvc2MyP2dlbmVyYXRpb249MTU0NzA3MTcxMTY1NzY1MiZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wb3NjMi8xNTQ3MDcxNzExNjU3NjUyL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYzIvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoicG9zYzIiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTcxMTY1NzY1MiIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0xUOXdwN2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3Bvc2MyLzE1NDcwNzE3MTE2NTc2NTIvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYzIvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InBvc2MyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTE2NTc2NTIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0xUOXdwN2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3Bvc2MyLzE1NDcwNzE3MTE2NTc2NTIvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vcG9zYzIvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InBvc2MyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTE2NTc2NTIiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNMVDl3cDdiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9wb3NjMi8xNTQ3MDcxNzExNjU3NjUyL3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9wb3NjMi9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6InBvc2MyIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE3MTE2NTc2NTIiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTFQ5d3A3YjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IjE3cUFCUT09IiwiZXRhZyI6IkNMVDl3cDdiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3NpZ25lZFVSTC8xNTQ3MDcxNjg2MDM0MTUwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vc2lnbmVkVVJMIiwibmFtZSI6InNpZ25lZFVSTCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxNjg2MDM0MTUwIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjA2LjAzM1oiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowNi4wMzNaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MDYuMDMzWiIsInNpemUiOiIyOSIsIm1kNUhhc2giOiJKeXh2Z3dtOW4yTXNyR1RNUGJNZVlBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vc2lnbmVkVVJMP2dlbmVyYXRpb249MTU0NzA3MTY4NjAzNDE1MCZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9zaWduZWRVUkwvMTU0NzA3MTY4NjAzNDE1MC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3NpZ25lZFVSTC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJzaWduZWRVUkwiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4NjAzNDE1MCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ09hRnA1TGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3NpZ25lZFVSTC8xNTQ3MDcxNjg2MDM0MTUwL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3NpZ25lZFVSTC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoic2lnbmVkVVJMIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODYwMzQxNTAiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ09hRnA1TGI0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3NpZ25lZFVSTC8xNTQ3MDcxNjg2MDM0MTUwL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3NpZ25lZFVSTC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoic2lnbmVkVVJMIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODYwMzQxNTAiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPYUZwNUxiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9zaWduZWRVUkwvMTU0NzA3MTY4NjAzNDE1MC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vc2lnbmVkVVJML2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoic2lnbmVkVVJMIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODYwMzQxNTAiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDT2FGcDVMYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IlpUcUFMdz09IiwiZXRhZyI6IkNPYUZwNUxiNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3NvbWUtb2JqZWN0LzE1NDcwNzE4MTA0NTIwOTIiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9zb21lLW9iamVjdCIsIm5hbWUiOiJzb21lLW9iamVjdCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsImdlbmVyYXRpb24iOiIxNTQ3MDcxODEwNDUyMDkyIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjEwOjEwLjQ1MVoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjoxMDoxMC40NTFaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDEtMDlUMjI6MTA6MTAuNDUxWiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJLRHZTa2pQN0dzdWI2cHZUMzdyajl3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vc29tZS1vYmplY3Q/Z2VuZXJhdGlvbj0xNTQ3MDcxODEwNDUyMDkyJmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3NvbWUtb2JqZWN0LzE1NDcwNzE4MTA0NTIwOTIvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9zb21lLW9iamVjdC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEiLCJvYmplY3QiOiJzb21lLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTQ3MDcxODEwNDUyMDkyIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUHowME0zYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvc29tZS1vYmplY3QvMTU0NzA3MTgxMDQ1MjA5Mi9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9zb21lLW9iamVjdC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoic29tZS1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTgxMDQ1MjA5MiIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUHowME0zYjRkOENFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvc29tZS1vYmplY3QvMTU0NzA3MTgxMDQ1MjA5Mi9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby9zb21lLW9iamVjdC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoic29tZS1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTgxMDQ1MjA5MiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1B6MDBNM2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3NvbWUtb2JqZWN0LzE1NDcwNzE4MTA0NTIwOTIvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3NvbWUtb2JqZWN0L2FjbC91c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0Ijoic29tZS1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTgxMDQ1MjA5MiIsImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6IjM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQejAwTTNiNGQ4Q0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiNHBBdTJ3PT0iLCJldGFnIjoiQ1B6MDBNM2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvemVyby1vYmplY3QvMTU0NzA3MTY4MDYyOTI0NCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3plcm8tb2JqZWN0IiwibmFtZSI6Inplcm8tb2JqZWN0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODA2MjkyNDQiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMjI6MDg6MDAuNjI5WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA4OjAwLjYyOVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowODowMC42MjlaIiwic2l6ZSI6IjAiLCJtZDVIYXNoIjoiMUIyTTJZOEFzZ1RwZ0FtWTdQaENmZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS9vL3plcm8tb2JqZWN0P2dlbmVyYXRpb249MTU0NzA3MTY4MDYyOTI0NCZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS96ZXJvLW9iamVjdC8xNTQ3MDcxNjgwNjI5MjQ0L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vemVyby1vYmplY3QvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxIiwib2JqZWN0IjoiemVyby1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU0NzA3MTY4MDYyOTI0NCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ1B5VDNZL2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3plcm8tb2JqZWN0LzE1NDcwNzE2ODA2MjkyNDQvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vemVyby1vYmplY3QvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Inplcm8tb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODA2MjkyNDQiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ1B5VDNZL2I0ZDhDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL3plcm8tb2JqZWN0LzE1NDcwNzE2ODA2MjkyNDQvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDAxL28vemVyby1vYmplY3QvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Inplcm8tb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODA2MjkyNDQiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNQeVQzWS9iNGQ4Q0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMS96ZXJvLW9iamVjdC8xNTQ3MDcxNjgwNjI5MjQ0L3VzZXItMzY2Mzk5MzMxNDUtYjE4dDAxb210OWEyNzlrYzNnY2dpcWhxa2w4Ym9iaHVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMDEvby96ZXJvLW9iamVjdC9hY2wvdXNlci0zNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAwMSIsIm9iamVjdCI6Inplcm8tb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NDcwNzE2ODA2MjkyNDQiLCJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiIzNjYzOTkzMzE0NS1iMTh0MDFvbXQ5YTI3OWtjM2djZ2lxaHFrbDhib2JodUBkZXZlbG9wZXIuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDUHlUM1kvYjRkOENFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLTM2NjM5OTMzMTQ1LWIxOHQwMW9tdDlhMjc5a2MzZ2NnaXFocWtsOGJvYmh1QGRldmVsb3Blci5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IkFBQUFBQT09IiwiZXRhZyI6IkNQeVQzWS9iNGQ4Q0VBRT0ifV19" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjIzLjEwNloiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoyMy4xMDZaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwL2FsbEF1dGhlbnRpY2F0ZWRVc2VycyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMC9hY2wvYWxsQXV0aGVudGljYXRlZFVzZXJzIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwIiwiZW50aXR5IjoiYWxsQXV0aGVudGljYXRlZFVzZXJzIiwicm9sZSI6IlJFQURFUiIsImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoiYWxsVXNlcnMiLCJyb2xlIjoiUkVBREVSIiwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "8049410cf2047779", + "ID": "224aee5425ffb86e", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/acl1?alt=json\u0026prettyPrint=false", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0020?alt=json\u0026predefinedAcl=private\u0026predefinedDefaultObjectAcl=authenticatedRead\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "33" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJhY2wiOltdLCJkZWZhdWx0T2JqZWN0QWNsIjpbXX0K" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "1113" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:14 GMT" + "Thu, 02 May 2019 22:26:24 GMT" + ], + "Etag": [ + "CAI=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -22243,18 +26530,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqNWI4bv8Qcs87mr7ezjtqawqK-oF0NWqN0S3JAaUp3-YfD090QjcKKNW8elU9I8Rux9wBU_iPRW5NJwoLpcTkSdMl7MzkHCSCoU40GlEuG7UM4Nc4" + "AEnB2UoknWPZdEFnvKZGCGO_Z26ZaKeXNdBzc6k6qqlbGdQXVEtPvLPR2oYtKCXsqDgFBjMw4wfWVXwDfmcc5u5kBAxshpuzKGgCp8UOxv-i_Rml56mzrOI" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjIzLjEwNloiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoyNC40MjVaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6ImFsbEF1dGhlbnRpY2F0ZWRVc2VycyIsInJvbGUiOiJSRUFERVIiLCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCJ9LCJsb2NhdGlvbiI6IlVTIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9" } }, { - "ID": "dcfa3b8a11d3a0e9", + "ID": "b6a80796e20baf03", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/acl2?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0020/o?alt=json\u0026predefinedAcl=authenticatedRead\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -22263,26 +26559,35 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAiLCJuYW1lIjoicHJpdmF0ZSJ9Cg==", + "aGVsbG8=" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "1995" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:15 GMT" + "Thu, 02 May 2019 22:26:25 GMT" + ], + "Etag": [ + "CNDq5v7x/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -22297,46 +26602,66 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpvXtJKDRXfmmuB1rn7MSvXJMoVLCQd5W6MpgExZW5i7q5nFrLXoT7jtSyu9Dd4Es2vRgr2sYYOIdycsna0LUFK_2a7hjbGD1SV1jh8V9LRud5S8bY" + "AEnB2UqMfGdFW2xElqOJcP4q5XeDjVehJr4FmjcFPij-Y31f_168_Jgb6zibcWxCOJzrV1aUYYTXZW9DMX-BcvfJi6YXoBCPpN23EhrGQyY7tHSb0SVurGY" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMC9wcml2YXRlLzE1NTY4MzU5ODQ4NDgyMDgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvby9wcml2YXRlIiwibmFtZSI6InByaXZhdGUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk4NDg0ODIwOCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoyNC44NDdaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjY6MjQuODQ3WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjI0Ljg0N1oiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwL28vcHJpdmF0ZT9nZW5lcmF0aW9uPTE1NTY4MzU5ODQ4NDgyMDgmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvcHJpdmF0ZS8xNTU2ODM1OTg0ODQ4MjA4L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvby9wcml2YXRlL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwIiwib2JqZWN0IjoicHJpdmF0ZSIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTg0ODQ4MjA4IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ05EcTV2N3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwL3ByaXZhdGUvMTU1NjgzNTk4NDg0ODIwOC9hbGxBdXRoZW50aWNhdGVkVXNlcnMiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvby9wcml2YXRlL2FjbC9hbGxBdXRoZW50aWNhdGVkVXNlcnMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAiLCJvYmplY3QiOiJwcml2YXRlIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5ODQ4NDgyMDgiLCJlbnRpdHkiOiJhbGxBdXRoZW50aWNhdGVkVXNlcnMiLCJyb2xlIjoiUkVBREVSIiwiZXRhZyI6IkNORHE1djd4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibW5HN1RBPT0iLCJldGFnIjoiQ05EcTV2N3gvZUVDRUFFPSJ9" } }, { - "ID": "adeea668810a492b", + "ID": "4812f1e0e907256e", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/bucketInCopyAttrs?alt=json\u0026prettyPrint=false", + "Method": "PATCH", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0020/o/private?alt=json\u0026predefinedAcl=private\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "62" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAifQo=" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "1529" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:15 GMT" + "Thu, 02 May 2019 22:26:25 GMT" + ], + "Etag": [ + "CNDq5v7x/eECEAI=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -22351,46 +26676,63 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoZbOJg7vc9HHekY44pycM84sdrpZs-B_YIplTdpOUTeL3AXqZ1jSVjkcC8bhJHrasrlqdBwCRAL3PmCpezsvqlJ3OTTAXc6XLjbc112WOmzA3C4uY" + "AEnB2UqTjsMMIlet4CWUmGoB3TuGzhTHXlDwuUe1SAQO8H2vmbTo2QYYV_WozfDO2NyZpsA9LCtgwwthwxeEeEG182WQTTe3xLWnsVjqPZx-iho8JAgI66U" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMC9wcml2YXRlLzE1NTY4MzU5ODQ4NDgyMDgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvby9wcml2YXRlIiwibmFtZSI6InByaXZhdGUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk4NDg0ODIwOCIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoyNC44NDdaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjY6MjUuNDIzWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjI0Ljg0N1oiLCJzaXplIjoiNSIsIm1kNUhhc2giOiJYVUZBS3J4TEtuYTVjWjJSRUJmRmtnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwL28vcHJpdmF0ZT9nZW5lcmF0aW9uPTE1NTY4MzU5ODQ4NDgyMDgmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvcHJpdmF0ZS8xNTU2ODM1OTg0ODQ4MjA4L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvby9wcml2YXRlL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwIiwib2JqZWN0IjoicHJpdmF0ZSIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTg0ODQ4MjA4IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ05EcTV2N3gvZUVDRUFJPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJtbkc3VEE9PSIsImV0YWciOiJDTkRxNXY3eC9lRUNFQUk9In0=" } }, { - "ID": "469672857dddd910", + "ID": "969763dc18755620", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/checksum-object?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0020/o/private/rewriteTo/b/go-integration-test-20190502-80633403432013-0020/o/dst?alt=json\u0026destinationPredefinedAcl=publicRead\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "3" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "e30K" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "2017" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:15 GMT" + "Thu, 02 May 2019 22:26:25 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -22405,46 +26747,66 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uqb71P0Eu5rhzItRNpImvY7k56dsmV5v-_BgXRkGNBoqogIlDW4LLGkrI_CHwijEO3MfFgi2fKBIwjVnE5XHrFyEBtrypGoq98gZlhUgDc_EzLNJ9I" + "AEnB2UoNk9xKdyuh-I4RkIXqQxMF4A82DZ9b2HYZOdVK7ELOsnMYBqOmrqsY5hzZJsLXMZCZ6zOSzCeefQZuTgYHwyd-jAttJ4QoA1lDk0HTwZqigIfpjCc" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNyZXdyaXRlUmVzcG9uc2UiLCJ0b3RhbEJ5dGVzUmV3cml0dGVuIjoiNSIsIm9iamVjdFNpemUiOiI1IiwiZG9uZSI6dHJ1ZSwicmVzb3VyY2UiOnsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvZHN0LzE1NTY4MzU5ODU4NTAyNjkiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvby9kc3QiLCJuYW1lIjoiZHN0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5ODU4NTAyNjkiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjY6MjUuODQ5WiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjI1Ljg0OVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoyNS44NDlaIiwic2l6ZSI6IjUiLCJtZDVIYXNoIjoiWFVGQUtyeExLbmE1Y1oyUkVCZkZrZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMC9vL2RzdD9nZW5lcmF0aW9uPTE1NTY4MzU5ODU4NTAyNjkmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvZHN0LzE1NTY4MzU5ODU4NTAyNjkvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMC9vL2RzdC9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMCIsIm9iamVjdCI6ImRzdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTg1ODUwMjY5IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0ozL28vL3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwL2RzdC8xNTU2ODM1OTg1ODUwMjY5L2FsbFVzZXJzIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwL28vZHN0L2FjbC9hbGxVc2VycyIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMCIsIm9iamVjdCI6ImRzdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTg1ODUwMjY5IiwiZW50aXR5IjoiYWxsVXNlcnMiLCJyb2xlIjoiUkVBREVSIiwiZXRhZyI6IkNKMy9vLy94L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoibW5HN1RBPT0iLCJldGFnIjoiQ0ozL28vL3gvZUVDRUFFPSJ9fQ==" } }, { - "ID": "2e88ca92f8d04481", + "ID": "8db7e2a6b620e794", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/composed1?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0020/o/comp/compose?alt=json\u0026destinationPredefinedAcl=authenticatedRead\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "130" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJkZXN0aW5hdGlvbiI6eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAifSwic291cmNlT2JqZWN0cyI6W3sibmFtZSI6InByaXZhdGUifSx7Im5hbWUiOiJkc3QifV19Cg==" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "1906" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:15 GMT" + "Thu, 02 May 2019 22:26:26 GMT" + ], + "Etag": [ + "CJGwwP/x/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -22459,18 +26821,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Ur2sl_nOANBucizdAdRDHHHDwC2_WpnA4z1nlZFxvdvjPNUHQjUEvk5uJ6Gl2W4jmTtetWsA_6vB0WlJ4YhDfGQCohHXq36zCtITrtsDK7r2xjbRkM" + "AEnB2UpqjCYxNFNTu3V1H_kV5WJxkbEYE9I3H5fYjfGMPO7n6C9NJstYZGcIh6xVA5RAxMCwP1PdzXITgTI1m2vm5xP5nhzLVRHKhder2qzYFGsAooH-kG0" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMC9jb21wLzE1NTY4MzU5ODYzMTUyODEiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvby9jb21wIiwibmFtZSI6ImNvbXAiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk4NjMxNTI4MSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoyNi4zMTRaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjY6MjYuMzE0WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjI2LjMxNFoiLCJzaXplIjoiMTAiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwL28vY29tcD9nZW5lcmF0aW9uPTE1NTY4MzU5ODYzMTUyODEmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvY29tcC8xNTU2ODM1OTg2MzE1MjgxL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvby9jb21wL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwIiwib2JqZWN0IjoiY29tcCIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTg2MzE1MjgxIiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0pHd3dQL3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIwL2NvbXAvMTU1NjgzNTk4NjMxNTI4MS9hbGxBdXRoZW50aWNhdGVkVXNlcnMiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAvby9jb21wL2FjbC9hbGxBdXRoZW50aWNhdGVkVXNlcnMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjAiLCJvYmplY3QiOiJjb21wIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5ODYzMTUyODEiLCJlbnRpdHkiOiJhbGxBdXRoZW50aWNhdGVkVXNlcnMiLCJyb2xlIjoiUkVBREVSIiwiZXRhZyI6IkNKR3d3UC94L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiL1JDT2dnPT0iLCJjb21wb25lbnRDb3VudCI6MiwiZXRhZyI6IkNKR3d3UC94L2VFQ0VBRT0ifQ==" } }, { - "ID": "76793fb16be200bc", + "ID": "72a0ce58c513f6d5", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/composed2?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0020/o/comp?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -22480,7 +26851,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -22488,6 +26861,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -22498,7 +26874,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:15 GMT" + "Thu, 02 May 2019 22:26:26 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -22513,18 +26889,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uop_NbQ4d8UH1SrbX-HvKY7EmVPcVQl1CHFgsoHhkeNCnAVp7DXwRLMltGhX-O5I2NA5merALoLdwsQevwjF1Vi9op14cj1rMS3ci8pXeod7RUdhtw" + "AEnB2UpWOQtHF0cKNME8sTEm9vbS9KKKLLK9afxka1b6TTVGxDjCQ4qAdnA9zshsfVFVKK5hNS10aABAQog_gjYCZTXbbsF4bQNBM0i4R7bK2r7saocPtFo" ] }, "Body": "" } }, { - "ID": "be591ef67c442988", + "ID": "111b5a296b726631", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/content?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0020/o/dst?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -22534,7 +26919,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -22542,6 +26929,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -22552,7 +26942,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:15 GMT" + "Thu, 02 May 2019 22:26:26 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -22567,18 +26957,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq4WlcJ8eKePRtJMQRaAZ8Vean64CaYu0OVeE21HMmPjEtALL40U2yScZEVUjv_5ehqTYbM3VMahjAO2zpXPckK95kswPVqDTN_b0_RgVr2z5IV_-4" + "AEnB2UqPsYXABoYOnGueMXiIvH9AntIPEf4xc6i18Nnr_XEYBxy-3LSK9klIcNyfSB7we4lgbctsiYA2e2WWBJlfqk1GnK6YA2fj-e3IiPbKwBwTSLjr1Jk" ] }, "Body": "" } }, { - "ID": "380c6475fdcf554a", + "ID": "27e4065cd2000d43", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0020/o/private?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -22588,7 +26987,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -22596,6 +26997,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -22606,7 +27010,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:16 GMT" + "Thu, 02 May 2019 22:26:27 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -22621,18 +27025,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpFwhz-3Mgpk__xNKuT_c4ZYTGkfEx5lKvTzXIbKCJ2ABpeY-HysyN3OocsPKPxnv0iJZhHTXajVdv9UMsqLaiMiVeZivEQVVoK84-NiGlTf9f44Q4" + "AEnB2UpMPK_b_vcRkSIj1t37L47as9idfpbrNWqzirdNBLwoaGDMPlbjatMzjLThnYRNwk9CqTNQ5H8eoKFbunpe5TMktUo_FHyI7rryoUhbCpkbytRrTeM" ] }, "Body": "" } }, { - "ID": "6316e22173230d19", + "ID": "cccb109f5fba2a3a", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption-2?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0020?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -22642,7 +27055,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -22650,6 +27065,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -22660,7 +27078,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:16 GMT" + "Thu, 02 May 2019 22:26:27 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -22675,18 +27093,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrSQD_JMOirnMy5OzmrxttHGNMMJoFSLWJ0-Jhsp5FEeEYX2jLziJ5gtTQt_mIYsXZPc_9mKpMdF-V5xUoLrKFfyi8MhzN-w1FiLoxnGMhnjvPb-LA" + "AEnB2UoVAiJOaePqfycNhiwbkPOptOqgpe9Tvo0jo1aW2nviozj4-QcjTtnGGyhcdrZ8QTxT-KHPo-saYS9ESC_6osYhChJOCi8b9nXtuqH0BqlvywXs9FE" ] }, "Body": "" } }, { - "ID": "02382d11c01927f5", + "ID": "cfab6af30981f62b", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/customer-encryption-3?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/projects/deklerk-sandbox/serviceAccount?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -22696,31 +27123,33 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "0" + "116" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:16 GMT" + "Thu, 02 May 2019 22:26:28 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:26:28 GMT" ], "Server": [ "UploadServer" @@ -22729,18 +27158,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UquR0tqg_81FFR_U0a3uEF-HZWDOXw_Xvu8la-xvyhzrkYJAFBVBMwkF9Z5kF9eNztvMzg1tzVvM0lTXnGYAVF6DlbyW6GHIEu8jUaHEWScZ4zr-BE" + "AEnB2UrDBTBzZwm7GH6Jklv6hzuaZaO3JdgliJk8zLZkVNDqwDO7tYP-c06rzrTj03llkWuV_l1k9w2tbUcGG2Rtv-1MdozY6pktTutDMLfyhyHe1DaEIys" ] }, - "Body": "" + "Body": "eyJlbWFpbF9hZGRyZXNzIjoic2VydmljZS00OTYxNjk2MDE3MTRAZ3MtcHJvamVjdC1hY2NvdW50cy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImtpbmQiOiJzdG9yYWdlI3NlcnZpY2VBY2NvdW50In0=" } }, { - "ID": "50972e2447810a24", + "ID": "677e783b9aea8c15", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/gzip-test?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -22749,26 +27187,35 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW4iLCJuYW1lIjoic29tZS1vYmplY3QifQo=", + "vcVTjdWWssp9XFk0D3Nk5w==" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "3262" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:16 GMT" + "Thu, 02 May 2019 22:26:28 GMT" + ], + "Etag": [ + "CPryt4Dy/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -22783,72 +27230,119 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Upv1NdDCLZ3Ek4nLJMqms_5_l0n_hx-OMWcgfhCeskec6ZQAuBQIyJQQHauiauo6ezrc5WylCPFkpFTuRjfxzKSKZGgzhHYNFe5SxzwCryk3fJL1eE" + "AEnB2UrdWRt6oMzDM98VpA0VDmWRuNvox2ZBw6ZpjbyOFDKCFKgJ92jsLkF8v4M4UUxaTUVpmr8iElUTld7Q2g5_MZSbRatDE2zVgaY-769Ppq7Nx6f0HAg" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9zb21lLW9iamVjdC8xNTU2ODM1OTg4MjczNTMwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vc29tZS1vYmplY3QiLCJuYW1lIjoic29tZS1vYmplY3QiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk4ODI3MzUzMCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoyOC4yNzNaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjY6MjguMjczWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjI4LjI3M1oiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoidEhhY2ZTS2ZCeUMrLytjbEc3cStqdz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3NvbWUtb2JqZWN0P2dlbmVyYXRpb249MTU1NjgzNTk4ODI3MzUzMCZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9zb21lLW9iamVjdC8xNTU2ODM1OTg4MjczNTMwL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3NvbWUtb2JqZWN0L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJzb21lLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTg4MjczNTMwIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNQcnl0NER5L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9zb21lLW9iamVjdC8xNTU2ODM1OTg4MjczNTMwL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9zb21lLW9iamVjdC9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5ODgyNzM1MzAiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUHJ5dDREeS9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvc29tZS1vYmplY3QvMTU1NjgzNTk4ODI3MzUzMC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vc29tZS1vYmplY3QvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJzb21lLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTg4MjczNTMwIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNQcnl0NER5L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9zb21lLW9iamVjdC8xNTU2ODM1OTg4MjczNTMwL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9zb21lLW9iamVjdC9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5ODgyNzM1MzAiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDUHJ5dDREeS9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IlNtMWdLdz09IiwiZXRhZyI6IkNQcnl0NER5L2VFQ0VBRT0ifQ==" } }, { - "ID": "2a336a73644d3b5c", + "ID": "ff3c05fe02cd38ac", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/hashesOnUpload-1?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/some-object", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "public, max-age=60" ], "Content-Length": [ - "0" + "16" ], "Content-Type": [ - "application/json" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:10:16 GMT" + "Thu, 02 May 2019 22:26:28 GMT" + ], + "Etag": [ + "\"b4769c7d229f0720beffe7251bbabe8f\"" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Thu, 02 May 2019 22:27:28 GMT" + ], + "Last-Modified": [ + "Thu, 02 May 2019 22:26:28 GMT" + ], + "Server": [ + "UploadServer" + ], + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:26:28 GMT" + ], + "X-Goog-Generation": [ + "1556835988273530" + ], + "X-Goog-Hash": [ + "crc32c=Sm1gKw==", + "md5=tHacfSKfByC+/+clG7q+jw==" + ], + "X-Goog-Metageneration": [ + "1" + ], + "X-Goog-Storage-Class": [ + "STANDARD" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "16" ], - "Pragma": [ - "no-cache" + "X-Guploader-Customer": [ + "cloud-storage" ], - "Server": [ - "UploadServer" + "X-Guploader-Request-Result": [ + "success" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UqCRUxGCT1SEBUJEjldGcA4jpPo1afIS81VTvITNEknrJxQJhZ7HyAzMlVAa9ExOZvibLH2Y3icExe1cDMaHwcSv3xO3ujqRv_zJvk46R8snyCsx7s" + "AEnB2Uqn6PsKCJsyZAhI_JtSOcVKs7SWuqYsoprQTUagoZXqu1CHWyBc1TzWfUyF9iv5VBS4iZPP5qz0Lf3b51p8O36Sud2-QS2zDg9FKhtm1uBFKLpcTOs" ] }, - "Body": "" + "Body": "vcVTjdWWssp9XFk0D3Nk5w==" } }, { - "ID": "e8ffc9aea7aa4f10", + "ID": "d1c7cc7c0e1d2829", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/obj%2Fwith%2Fslashes?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/some-object?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -22858,25 +27352,33 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "3262" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:16 GMT" + "Thu, 02 May 2019 22:26:28 GMT" + ], + "Etag": [ + "CPryt4Dy/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -22891,18 +27393,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Urhnt_DM56tmYQQUAZlJE8JNfk0DDYqlwxjMi4Rjydff38Tfi889ZYgSotc2BLMzhcNtIWrciQGSOOoI1KVN_Qf9o3bnTRQYMFSBadGdsIr24zsXBA" + "AEnB2UqluzdkA1sUAJQJZodwWmM7SP7tNoX2JJjDiqHTy3XtjEqiVDNpI0whWTFJJH4caozRYjJPjTb6_ywm82dnAiYEo-YCknhlvkWexfTq1BM9MRWwQeg" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9zb21lLW9iamVjdC8xNTU2ODM1OTg4MjczNTMwIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vc29tZS1vYmplY3QiLCJuYW1lIjoic29tZS1vYmplY3QiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk4ODI3MzUzMCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoyOC4yNzNaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjY6MjguMjczWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjI4LjI3M1oiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoidEhhY2ZTS2ZCeUMrLytjbEc3cStqdz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3NvbWUtb2JqZWN0P2dlbmVyYXRpb249MTU1NjgzNTk4ODI3MzUzMCZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9zb21lLW9iamVjdC8xNTU2ODM1OTg4MjczNTMwL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3NvbWUtb2JqZWN0L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJzb21lLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTg4MjczNTMwIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNQcnl0NER5L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9zb21lLW9iamVjdC8xNTU2ODM1OTg4MjczNTMwL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9zb21lLW9iamVjdC9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5ODgyNzM1MzAiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUHJ5dDREeS9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvc29tZS1vYmplY3QvMTU1NjgzNTk4ODI3MzUzMC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vc29tZS1vYmplY3QvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJzb21lLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTg4MjczNTMwIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNQcnl0NER5L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9zb21lLW9iamVjdC8xNTU2ODM1OTg4MjczNTMwL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9zb21lLW9iamVjdC9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5ODgyNzM1MzAiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDUHJ5dDREeS9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IlNtMWdLdz09IiwiZXRhZyI6IkNQcnl0NER5L2VFQ0VBRT0ifQ==" } }, { - "ID": "89f3bbbea1774776", + "ID": "951f74cbe6b30b67", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/obj1?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -22912,31 +27423,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "0" + "2571" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:17 GMT" + "Thu, 02 May 2019 22:26:28 GMT" ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Etag": [ + "CA0=" ], - "Pragma": [ - "no-cache" + "Expires": [ + "Thu, 02 May 2019 22:26:28 GMT" ], "Server": [ "UploadServer" @@ -22945,18 +27461,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq80BC5u_xXFb3x7TTG-Fcvfd6jXuPWKQAMhCXfaitT0lV0WPai7k2Cqll_kLVisjKBYfUVnwW8JL-woCtJWUyYME_z7nUwtUJj_cDqiydSMRclp-c" + "AEnB2UoMRpk7F0qXPvUV4uNPdV7VhfUO2Mm-qPBbx3VV92y1wRyElPF1kbRNEGJ1KqbIW5w2XozD7IzjxBx4KevqcPxZr0_E1iU1_NASedJ4lZj4EFoP9UI" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIzOjU0LjYxMFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToyNS41MjdaIiwibWV0YWdlbmVyYXRpb24iOiIxMyIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQTA9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0EwPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0EwPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQTA9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0EwPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQTA9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0In0sImxvY2F0aW9uIjoiVVMiLCJ2ZXJzaW9uaW5nIjp7ImVuYWJsZWQiOmZhbHNlfSwibGlmZWN5Y2xlIjp7InJ1bGUiOlt7ImFjdGlvbiI6eyJ0eXBlIjoiRGVsZXRlIn0sImNvbmRpdGlvbiI6eyJhZ2UiOjMwfX1dfSwibGFiZWxzIjp7ImwxIjoidjIiLCJuZXciOiJuZXcifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0EwPSJ9" } }, { - "ID": "ae10ed1df0f25d38", + "ID": "aadc7916a3fc24ad", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/obj2?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0021?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -22966,31 +27491,33 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 404, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" ], "Content-Length": [ - "0" + "11805" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:17 GMT" + "Thu, 02 May 2019 22:26:29 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:26:29 GMT" ], "Server": [ "UploadServer" @@ -22999,72 +27526,116 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UqwMK1eIT7F_F3fDiijc9taUfz4_0TtwDcnutUsfQ4_aYAcWdFsBeU7aLLi3VJ-yTB-L6Z8xQovXR_Zx2QihXMBZFfVDonFqTs46u0dispxKx0YGRA" + "AEnB2UqhoAeZtt8ffiWaPr6J0LEaVR3vjerqtJ7gMM9BObOkz_6MtctDuS_s8-DZRxtTZsGfMDtekIKG2v8p2_sb3MxvTgeLhgO4vqvJNIszTaMjjyQcEdY" ] }, - "Body": "" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vdCBGb3VuZCIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpCVUNLRVRfTk9UX0ZPVU5EOiBObyBzdWNoIGJ1Y2tldDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkdldEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoR2V0QnVja2V0LmphdmE6MTA0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuR2V0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRCdWNrZXQuamF2YTozMylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5nZXQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjgzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBObyBzdWNoIGJ1Y2tldDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPU5PVF9GT1VORCwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpCVUNLRVRfTk9UX0ZPVU5EOiBObyBzdWNoIGJ1Y2tldDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkdldEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoR2V0QnVja2V0LmphdmE6MTA0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuR2V0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRCdWNrZXQuamF2YTozMylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5nZXQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjgzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBObyBzdWNoIGJ1Y2tldDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPW5vdEZvdW5kLCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5OT1RfRk9VTkQsIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpCVUNLRVRfTk9UX0ZPVU5EOiBObyBzdWNoIGJ1Y2tldDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5idWNrZXRzLkdldEJ1Y2tldC5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoR2V0QnVja2V0LmphdmE6MTA0KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuR2V0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRCdWNrZXQuamF2YTozMylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5mcmFtZXdvcmsuUmVxdWVzdEhhbmRsZXIuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKFJlcXVlc3RIYW5kbGVyLmphdmE6MzEwKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGUoUmVxdWVzdEhhbmRsZXIuamF2YToyNTYpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uQnVja2V0c0RlbGVnYXRvci5nZXQoQnVja2V0c0RlbGVnYXRvci5qYXZhOjgzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBObyBzdWNoIGJ1Y2tldDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZXJyb3JQcm90b0NvZGU9Tk9UX0ZPVU5ELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPWVudGl0eS5yZXNvdXJjZV9pZC5uYW1lLCBtZXNzYWdlPW51bGwsIHVubmFtZWRBcmd1bWVudHM9W119LCBsb2NhdGlvbj1lbnRpdHkucmVzb3VyY2VfaWQubmFtZSwgbWVzc2FnZT1Ob3QgRm91bmQsIHJlYXNvbj1ub3RGb3VuZCwgcnBjQ29kZT00MDR9IE5vdCBGb3VuZDogY29tLmdvb2dsZS5uZXQucnBjMy5ScGNFeGNlcHRpb246IGNsb3VkLmJpZ3N0b3JlLlJlc3BvbnNlQ29kZS5FcnJvckNvZGU6OkJVQ0tFVF9OT1RfRk9VTkQ6IE5vIHN1Y2ggYnVja2V0OiBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjFcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udG9ScGMzRXhjZXB0aW9uKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MTQ3KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmhhbmRsZXJzLmJ1Y2tldHMuR2V0QnVja2V0LmhhbmRsZVJlcXVlc3RSZWNlaXZlZChHZXRCdWNrZXQuamF2YToxMDQpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uaGFuZGxlcnMuYnVja2V0cy5HZXRCdWNrZXQuaGFuZGxlUmVxdWVzdFJlY2VpdmVkKEdldEJ1Y2tldC5qYXZhOjMzKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5CdWNrZXRzRGVsZWdhdG9yLmdldChCdWNrZXRzRGVsZWdhdG9yLmphdmE6ODMpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLlJwY1JlY2VpdmVyLmxhbWJkYSRwcm9jZXNzUmVxdWVzdEFzeW5jJDQoUnBjUmVjZWl2ZXIuamF2YToyMDIpXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuaXNvbGF0aW9uLkFzeW5jRXhlY3V0b3IubGFtYmRhJHN1Ym1pdCQwKEFzeW5jRXhlY3V0b3IuamF2YToyNTMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChDb250ZXh0UnVubmFibGUuamF2YTo1MClcblx0YXQgY29tLmdvb2dsZS5jb21tb24uY29udGV4dC5Db250ZXh0UnVubmFibGUkMS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzkpXG5cdGF0IGlvLmdycGMuQ29udGV4dC5ydW4oQ29udGV4dC5qYXZhOjU2NSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkN1cnJlbnRDb250ZXh0LnJ1bkluQ29udGV4dChDdXJyZW50Q29udGV4dC5qYXZhOjIwNClcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLkdlbmVyaWNDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NzIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChHZW5lcmljQ29udGV4dENhbGxiYWNrLmphdmE6NjQpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlLnJ1bihDb250ZXh0UnVubmFibGUuamF2YTozNSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQ5KVxuXHRhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MjQpXG5cdGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjc0OClcbkNhdXNlZCBieTogY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb246IE5vIHN1Y2ggYnVja2V0OiBnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjFcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzEyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmNvbW1vbi5CaWdzdG9yZUV4Y2VwdGlvbi50aHJvd1JwYzNPbkVycm9yKEJpZ3N0b3JlRXhjZXB0aW9uLmphdmE6MzIwKVxuXHQuLi4gMTcgbW9yZVxuXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5jb3JlLkVycm9yQ29sbGVjdG9yLnRvRmF1bHQoRXJyb3JDb2xsZWN0b3IuamF2YTo1NClcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lFcnJvckNvbnZlcnRlci50b0ZhdWx0KFJvc3lFcnJvckNvbnZlcnRlci5qYXZhOjY3KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjU5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIucmVzdC5hZGFwdGVyLnJvc3kuUm9zeUhhbmRsZXIkMi5jYWxsKFJvc3lIYW5kbGVyLmphdmE6MjM5KVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuRGlyZWN0RXhlY3V0b3IuZXhlY3V0ZShEaXJlY3RFeGVjdXRvci5qYXZhOjMwKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuZXhlY3V0ZUxpc3RlbmVyKEFic3RyYWN0RnV0dXJlLmphdmE6MTE0Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmNvbXBsZXRlKEFic3RyYWN0RnV0dXJlLmphdmE6OTYzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi51dGlsLmNvbmN1cnJlbnQuQWJzdHJhY3RGdXR1cmUuc2V0KEFic3RyYWN0RnV0dXJlLmphdmE6NzMxKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS51dGlsLkNhbGxhYmxlRnV0dXJlLnJ1bihDYWxsYWJsZUZ1dHVyZS5qYXZhOjYyKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIudGhyZWFkLlRocmVhZFRyYWNrZXJzJFRocmVhZFRyYWNraW5nUnVubmFibGUucnVuKFRocmVhZFRyYWNrZXJzLmphdmE6MTI2KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bkluQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTo0NTMpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5zZXJ2ZXIuQ29tbW9uTW9kdWxlJENvbnRleHRDYXJyeWluZ0V4ZWN1dG9yU2VydmljZSQxLnJ1bkluQ29udGV4dChDb21tb25Nb2R1bGUuamF2YTo4MDIpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUkMS5ydW4oVHJhY2VDb250ZXh0LmphdmE6NDYwKVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHROb1VucmVmKFRyYWNlQ29udGV4dC5qYXZhOjMxOSlcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRBYnN0cmFjdFRyYWNlQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dChUcmFjZUNvbnRleHQuamF2YTozMTEpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkVHJhY2VDb250ZXh0UnVubmFibGUucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ1Nylcblx0YXQgY29tLmdvb2dsZS5nc2UuaW50ZXJuYWwuRGlzcGF0Y2hRdWV1ZUltcGwkV29ya2VyVGhyZWFkLnJ1bihEaXNwYXRjaFF1ZXVlSW1wbC5qYXZhOjQwMylcbiJ9XSwiY29kZSI6NDA0LCJtZXNzYWdlIjoiTm90IEZvdW5kIn19" } }, { - "ID": "5024a51cf3148290", + "ID": "03b45b7eac939177", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/posc?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://storage.googleapis.com/storage-library-test-bucket/Caf%C3%A9", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "public, max-age=3600" ], "Content-Length": [ - "0" + "20" ], "Content-Type": [ - "application/json" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:10:17 GMT" + "Thu, 02 May 2019 22:26:29 GMT" + ], + "Etag": [ + "\"ade43306cb39336d630e101af5fb51b4\"" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Thu, 02 May 2019 23:26:29 GMT" ], - "Pragma": [ - "no-cache" + "Last-Modified": [ + "Fri, 24 Mar 2017 20:04:38 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Generation": [ + "1490385878535828" + ], + "X-Goog-Hash": [ + "crc32c=fN3yZg==", + "md5=reQzBss5M21jDhAa9ftRtA==" + ], + "X-Goog-Metageneration": [ + "2" + ], + "X-Goog-Storage-Class": [ + "MULTI_REGIONAL" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "20" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UqvL1jEM4xxUPaM0shrOWIrdSqArawAjkSPltDEEGLtWPx5dehxQeGTlAfeiDzxmGws-glqYir7Ke7HN8W1S3XlIZNiHn7mmxt0zFSlNVmwaIwfeLY" + "AEnB2UpFU2KyS5OA-bAy_MovHXHg5zJZ2kznc6tgTTrSjilrNHiw0NimPHZApcRXOS_ejrSSy8nIn02xipxUWxvHM3ru5IYhJRTeBZxhlq6_XQVsATkvink" ] }, - "Body": "" + "Body": "Tm9ybWFsaXphdGlvbiBGb3JtIEM=" } }, { - "ID": "7ed771e1429689b7", + "ID": "725883eeccd4b42c", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/posc2?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/upload/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026prettyPrint=false\u0026projection=full\u0026uploadType=multipart", "Header": { "Accept-Encoding": [ "gzip" @@ -23073,26 +27644,35 @@ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "multipart/related", + "BodyParts": [ + "eyJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJuYW1lIjoiemVybyJ9Cg==", + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "3128" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:17 GMT" + "Thu, 02 May 2019 22:26:29 GMT" + ], + "Etag": [ + "CKyp9oDy/eECEAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -23107,18 +27687,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_single_post_uploads" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqjAoaibJLxy8ddRbijZHWjUPtHM_Zq8Mje7tAqm2SjQ29IET7Q0Rpwg7D_X916xoTxvkh5keMY9whUSdj4Z_1dqr6u1zjmOYviXMLG4T2_S14KBqg" + "AEnB2UruPh9tBADr1LSQWFlj1C4tjlS6uwlcy_MVRYaTGD4e_qEUlq0iXJx6ns3JHbH7I9olH7aSJpDW6VQcV5EdLwjQMecgA7qKhxzLoYFW4BZdEXbUrro" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS96ZXJvLzE1NTY4MzU5ODkyOTYzMDAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby96ZXJvIiwibmFtZSI6Inplcm8iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk4OTI5NjMwMCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoyOS4yOTVaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjY6MjkuMjk1WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjI5LjI5NVoiLCJzaXplIjoiMCIsIm1kNUhhc2giOiIxQjJNMlk4QXNnVHBnQW1ZN1BoQ2ZnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vemVybz9nZW5lcmF0aW9uPTE1NTY4MzU5ODkyOTYzMDAmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvemVyby8xNTU2ODM1OTg5Mjk2MzAwL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3plcm8vYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Inplcm8iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk4OTI5NjMwMCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDS3lwOW9EeS9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvemVyby8xNTU2ODM1OTg5Mjk2MzAwL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby96ZXJvL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiemVybyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTg5Mjk2MzAwIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0t5cDlvRHkvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3plcm8vMTU1NjgzNTk4OTI5NjMwMC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vemVyby9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Inplcm8iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk4OTI5NjMwMCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDS3lwOW9EeS9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvemVyby8xNTU2ODM1OTg5Mjk2MzAwL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby96ZXJvL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiemVybyIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTg5Mjk2MzAwIiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ0t5cDlvRHkvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJBQUFBQUE9PSIsImV0YWciOiJDS3lwOW9EeS9lRUNFQUU9In0=" } }, { - "ID": "d591db597cd68b18", + "ID": "036f06773f6d6306", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/signedURL?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0021/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { "Accept-Encoding": [ "gzip" @@ -23128,31 +27717,33 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 404, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" ], "Content-Length": [ - "0" + "11821" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:17 GMT" + "Thu, 02 May 2019 22:26:29 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:26:29 GMT" ], "Server": [ "UploadServer" @@ -23161,126 +27752,208 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "agent_rejected" + ], + "X-Guploader-Upload-Result": [ + "agent_rejected" + ], "X-Guploader-Uploadid": [ - "AEnB2UrraYnsugQdQ8_ywy6s3l91Cz6DPAC9MPDpA0vZMzI4vuGlPvS8IdLLmsLvv6duhRGuYTpklai3seNzxyj-BTsIMbi8L4Rtm0MpanR3KJs6NpbOtLs" + "AEnB2Uqs9uKpqdPwYRv420tAk0KmBT6DS2POPsIj39ROT-r3ymrd2SB-oOJEXuaHGOfih1ckOqp-YrvHHAh7l7A-6rwlFjoBSb4qCtWzXGPjekN0pUBIok8" ] }, - "Body": "" + "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6Imdsb2JhbCIsInJlYXNvbiI6Im5vdEZvdW5kIiwibWVzc2FnZSI6Ik5vdCBGb3VuZCIsImRlYnVnSW5mbyI6ImNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpCVUNLRVRfTk9UX0ZPVU5EOiBObyBzdWNoIGJ1Y2tldDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkxpc3RPYmplY3RzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0T2JqZWN0cy5qYXZhOjE3MSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkxpc3RPYmplY3RzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0T2JqZWN0cy5qYXZhOjQxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmxpc3QoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBObyBzdWNoIGJ1Y2tldDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUuRmF1bHQ6IEltbXV0YWJsZUVycm9yRGVmaW5pdGlvbntiYXNlPU5PVF9GT1VORCwgY2F0ZWdvcnk9VVNFUl9FUlJPUiwgY2F1c2U9bnVsbCwgZGVidWdJbmZvPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpCVUNLRVRfTk9UX0ZPVU5EOiBObyBzdWNoIGJ1Y2tldDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkxpc3RPYmplY3RzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0T2JqZWN0cy5qYXZhOjE3MSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkxpc3RPYmplY3RzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0T2JqZWN0cy5qYXZhOjQxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmxpc3QoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBObyBzdWNoIGJ1Y2tldDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZG9tYWluPWdsb2JhbCwgZXh0ZW5kZWRIZWxwPW51bGwsIGh0dHBIZWFkZXJzPXt9LCBodHRwU3RhdHVzPW5vdEZvdW5kLCBpbnRlcm5hbFJlYXNvbj1SZWFzb257YXJndW1lbnRzPXt9LCBjYXVzZT1udWxsLCBjb2RlPWdkYXRhLkNvcmVFcnJvckRvbWFpbi5OT1RfRk9VTkQsIGNyZWF0ZWRCeUJhY2tlbmQ9dHJ1ZSwgZGVidWdNZXNzYWdlPWNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpCVUNLRVRfTk9UX0ZPVU5EOiBObyBzdWNoIGJ1Y2tldDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkxpc3RPYmplY3RzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0T2JqZWN0cy5qYXZhOjE3MSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkxpc3RPYmplY3RzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0T2JqZWN0cy5qYXZhOjQxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmxpc3QoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBObyBzdWNoIGJ1Y2tldDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcbiwgZXJyb3JQcm90b0NvZGU9Tk9UX0ZPVU5ELCBlcnJvclByb3RvRG9tYWluPWdkYXRhLkNvcmVFcnJvckRvbWFpbiwgZmlsdGVyZWRNZXNzYWdlPW51bGwsIGxvY2F0aW9uPWVudGl0eS5idWNrZXQsIG1lc3NhZ2U9bnVsbCwgdW5uYW1lZEFyZ3VtZW50cz1bXX0sIGxvY2F0aW9uPWVudGl0eS5idWNrZXQsIG1lc3NhZ2U9Tm90IEZvdW5kLCByZWFzb249bm90Rm91bmQsIHJwY0NvZGU9NDA0fSBOb3QgRm91bmQ6IGNvbS5nb29nbGUubmV0LnJwYzMuUnBjRXhjZXB0aW9uOiBjbG91ZC5iaWdzdG9yZS5SZXNwb25zZUNvZGUuRXJyb3JDb2RlOjpCVUNLRVRfTk9UX0ZPVU5EOiBObyBzdWNoIGJ1Y2tldDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRvUnBjM0V4Y2VwdGlvbihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjE0Nylcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkxpc3RPYmplY3RzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0T2JqZWN0cy5qYXZhOjE3MSlcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5oYW5kbGVycy5vYmplY3RzLkxpc3RPYmplY3RzLmhhbmRsZVJlcXVlc3RSZWNlaXZlZChMaXN0T2JqZWN0cy5qYXZhOjQxKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmFwaS5qc29uLmZyYW1ld29yay5SZXF1ZXN0SGFuZGxlci5oYW5kbGVSZXF1ZXN0UmVjZWl2ZWQoUmVxdWVzdEhhbmRsZXIuamF2YTozMTApXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuYXBpLmpzb24uZnJhbWV3b3JrLlJlcXVlc3RIYW5kbGVyLmhhbmRsZShSZXF1ZXN0SGFuZGxlci5qYXZhOjI1Nilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5hcGkuanNvbi5PYmplY3RzRGVsZWdhdG9yLmxpc3QoT2JqZWN0c0RlbGVnYXRvci5qYXZhOjg5KVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5ScGNSZWNlaXZlci5sYW1iZGEkcHJvY2Vzc1JlcXVlc3RBc3luYyQ0KFJwY1JlY2VpdmVyLmphdmE6MjAyKVxuXHRhdCBjb20uZ29vZ2xlLmNsb3VkLmJpZ3N0b3JlLmlzb2xhdGlvbi5Bc3luY0V4ZWN1dG9yLmxhbWJkYSRzdWJtaXQkMChBc3luY0V4ZWN1dG9yLmphdmE6MjUzKVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoQ29udGV4dFJ1bm5hYmxlLmphdmE6NTApXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLmNvbnRleHQuQ29udGV4dFJ1bm5hYmxlJDEucnVuKENvbnRleHRSdW5uYWJsZS5qYXZhOjM5KVxuXHRhdCBpby5ncnBjLkNvbnRleHQucnVuKENvbnRleHQuamF2YTo1NjUpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5DdXJyZW50Q29udGV4dC5ydW5JbkNvbnRleHQoQ3VycmVudENvbnRleHQuamF2YToyMDQpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5HZW5lcmljQ29udGV4dENhbGxiYWNrLnJ1bkluSW5oZXJpdGVkQ29udGV4dE5vVW5yZWYoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjcyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuR2VuZXJpY0NvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoR2VuZXJpY0NvbnRleHRDYWxsYmFjay5qYXZhOjY0KVxuXHRhdCBjb20uZ29vZ2xlLmNvbW1vbi5jb250ZXh0LkNvbnRleHRSdW5uYWJsZS5ydW4oQ29udGV4dFJ1bm5hYmxlLmphdmE6MzUpXG5cdGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0OSlcblx0YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjI0KVxuXHRhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDgpXG5DYXVzZWQgYnk6IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uOiBObyBzdWNoIGJ1Y2tldDogZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIxXG5cdGF0IGNvbS5nb29nbGUuY2xvdWQuYmlnc3RvcmUuY29tbW9uLkJpZ3N0b3JlRXhjZXB0aW9uLnRocm93T25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMxMilcblx0YXQgY29tLmdvb2dsZS5jbG91ZC5iaWdzdG9yZS5jb21tb24uQmlnc3RvcmVFeGNlcHRpb24udGhyb3dScGMzT25FcnJvcihCaWdzdG9yZUV4Y2VwdGlvbi5qYXZhOjMyMClcblx0Li4uIDE3IG1vcmVcblxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuY29yZS5FcnJvckNvbGxlY3Rvci50b0ZhdWx0KEVycm9yQ29sbGVjdG9yLmphdmE6NTQpXG5cdGF0IGNvbS5nb29nbGUuYXBpLnNlcnZlci5yZXN0LmFkYXB0ZXIucm9zeS5Sb3N5RXJyb3JDb252ZXJ0ZXIudG9GYXVsdChSb3N5RXJyb3JDb252ZXJ0ZXIuamF2YTo2Nylcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjI1OSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnJlc3QuYWRhcHRlci5yb3N5LlJvc3lIYW5kbGVyJDIuY2FsbChSb3N5SGFuZGxlci5qYXZhOjIzOSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkRpcmVjdEV4ZWN1dG9yLmV4ZWN1dGUoRGlyZWN0RXhlY3V0b3IuamF2YTozMClcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLmV4ZWN1dGVMaXN0ZW5lcihBYnN0cmFjdEZ1dHVyZS5qYXZhOjExNDMpXG5cdGF0IGNvbS5nb29nbGUuY29tbW9uLnV0aWwuY29uY3VycmVudC5BYnN0cmFjdEZ1dHVyZS5jb21wbGV0ZShBYnN0cmFjdEZ1dHVyZS5qYXZhOjk2Mylcblx0YXQgY29tLmdvb2dsZS5jb21tb24udXRpbC5jb25jdXJyZW50LkFic3RyYWN0RnV0dXJlLnNldChBYnN0cmFjdEZ1dHVyZS5qYXZhOjczMSlcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLmNvcmUudXRpbC5DYWxsYWJsZUZ1dHVyZS5ydW4oQ2FsbGFibGVGdXR1cmUuamF2YTo2Milcblx0YXQgY29tLmdvb2dsZS5hcGkuc2VydmVyLnRocmVhZC5UaHJlYWRUcmFja2VycyRUaHJlYWRUcmFja2luZ1J1bm5hYmxlLnJ1bihUaHJlYWRUcmFja2Vycy5qYXZhOjEyNilcblx0YXQgY29tLmdvb2dsZS50cmFjaW5nLlRyYWNlQ29udGV4dCRUcmFjZUNvbnRleHRSdW5uYWJsZS5ydW5JbkNvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6NDUzKVxuXHRhdCBjb20uZ29vZ2xlLmFwaS5zZXJ2ZXIuc2VydmVyLkNvbW1vbk1vZHVsZSRDb250ZXh0Q2FycnlpbmdFeGVjdXRvclNlcnZpY2UkMS5ydW5JbkNvbnRleHQoQ29tbW9uTW9kdWxlLmphdmE6ODAyKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlJDEucnVuKFRyYWNlQ29udGV4dC5qYXZhOjQ2MClcblx0YXQgaW8uZ3JwYy5Db250ZXh0LnJ1bihDb250ZXh0LmphdmE6NTY1KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuQ3VycmVudENvbnRleHQucnVuSW5Db250ZXh0KEN1cnJlbnRDb250ZXh0LmphdmE6MjA0KVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JEFic3RyYWN0VHJhY2VDb250ZXh0Q2FsbGJhY2sucnVuSW5Jbmhlcml0ZWRDb250ZXh0Tm9VbnJlZihUcmFjZUNvbnRleHQuamF2YTozMTkpXG5cdGF0IGNvbS5nb29nbGUudHJhY2luZy5UcmFjZUNvbnRleHQkQWJzdHJhY3RUcmFjZUNvbnRleHRDYWxsYmFjay5ydW5JbkluaGVyaXRlZENvbnRleHQoVHJhY2VDb250ZXh0LmphdmE6MzExKVxuXHRhdCBjb20uZ29vZ2xlLnRyYWNpbmcuVHJhY2VDb250ZXh0JFRyYWNlQ29udGV4dFJ1bm5hYmxlLnJ1bihUcmFjZUNvbnRleHQuamF2YTo0NTcpXG5cdGF0IGNvbS5nb29nbGUuZ3NlLmludGVybmFsLkRpc3BhdGNoUXVldWVJbXBsJFdvcmtlclRocmVhZC5ydW4oRGlzcGF0Y2hRdWV1ZUltcGwuamF2YTo0MDMpXG4ifV0sImNvZGUiOjQwNCwibWVzc2FnZSI6Ik5vdCBGb3VuZCJ9fQ==" } }, { - "ID": "f792568c6d4d2f44", + "ID": "6b9dc540a02ed56f", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/some-object?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://storage.googleapis.com/storage-library-test-bucket/Cafe%CC%81", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "public, max-age=3600" ], "Content-Length": [ - "0" + "20" ], "Content-Type": [ - "application/json" + "text/plain" ], "Date": [ - "Wed, 09 Jan 2019 22:10:17 GMT" + "Thu, 02 May 2019 22:26:29 GMT" + ], + "Etag": [ + "\"df597679bac7c6150429ad80a1a05680\"" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "Thu, 02 May 2019 23:26:29 GMT" ], - "Pragma": [ - "no-cache" + "Last-Modified": [ + "Fri, 24 Mar 2017 20:04:37 GMT" ], "Server": [ "UploadServer" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Goog-Generation": [ + "1490385877705600" + ], + "X-Goog-Hash": [ + "crc32c=qBeWjQ==", + "md5=31l2ebrHxhUEKa2AoaBWgA==" + ], + "X-Goog-Metageneration": [ + "2" + ], + "X-Goog-Storage-Class": [ + "MULTI_REGIONAL" + ], + "X-Goog-Stored-Content-Encoding": [ + "identity" + ], + "X-Goog-Stored-Content-Length": [ + "20" + ], + "X-Guploader-Customer": [ + "cloud-storage" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UpDYS8c6pfKJEFzsdXBHvue4_BUOmkRTRsFwQ56wOdeQKKtzpsu4rCEHh_MhyUJ21qlK4EXVOImeXEXhpaz1VPA0hbnMvrC4z94d9wuoWECu4ZxAp8" + "AEnB2UrK69XFh4eDvl0RvSevMYIwMVs-nlDelMhoacS-4faSvuEateXMEqzdMvHClWdzkyqcEk7IQ1N0JMcv5uEPt6V98chYK-p9otm8puF4Uf846EBUEmg" ] }, - "Body": "" + "Body": "Tm9ybWFsaXphdGlvbiBGb3JtIEQ=" } }, { - "ID": "dd136dec203edb88", + "ID": "09f71762da168c2f", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001/o/zero-object?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://storage.googleapis.com/go-integration-test-20190502-80633403432013-0001/zero", "Header": { "Accept-Encoding": [ "gzip" ], "User-Agent": [ - "google-api-go-client/0.5" + "Go-http-client/1.1" ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Accept-Ranges": [ + "bytes" + ], + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0" + ], + "Content-Length": [ + "0" + ], + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Date": [ + "Thu, 02 May 2019 22:26:29 GMT" + ], + "Etag": [ + "\"d41d8cd98f00b204e9800998ecf8427e\"" + ], + "Expires": [ + "Thu, 02 May 2019 22:26:29 GMT" + ], + "Last-Modified": [ + "Thu, 02 May 2019 22:26:29 GMT" + ], + "Server": [ + "UploadServer" + ], + "X-Goog-Expiration": [ + "Sat, 01 Jun 2019 22:26:29 GMT" + ], + "X-Goog-Generation": [ + "1556835989296300" ], - "Content-Length": [ - "0" + "X-Goog-Hash": [ + "crc32c=AAAAAA==", + "md5=1B2M2Y8AsgTpgAmY7PhCfg==" ], - "Content-Type": [ - "application/json" + "X-Goog-Metageneration": [ + "1" ], - "Date": [ - "Wed, 09 Jan 2019 22:10:18 GMT" + "X-Goog-Storage-Class": [ + "STANDARD" ], - "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" + "X-Goog-Stored-Content-Encoding": [ + "identity" ], - "Pragma": [ - "no-cache" + "X-Goog-Stored-Content-Length": [ + "0" ], - "Server": [ - "UploadServer" + "X-Guploader-Customer": [ + "cloud-storage" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2UrCr_GPR9IQs0D1RFAcekQVzbGdo6fSJ4As-8C_LLOtzn_Mu1nQru0GENlpuciTVe86P4axNzveJ-geJwH-BjCvcUUyOR29qG1I5xpnn_0uhwLXyqs" + "AEnB2UrL3cJhuZXF-arxiYeo4MSf1to_dAoiyMisikOum5rqnrSnFa0OZ25Sl8hUU7lcIeW6P3-dwXK6qv0yHGFYMFnUB0VYpI9BRT16gMo8ikQ_L3gBmew" ] }, "Body": "" } }, { - "ID": "915113f4e08480f5", + "ID": "681729281517b9c0", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190109-79655285984746-0001?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/zero?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -23290,7 +27963,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -23298,6 +27973,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -23308,7 +27986,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:18 GMT" + "Thu, 02 May 2019 22:26:29 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -23323,28 +28001,42 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uqaih28qmkT0z1dqOfy5nO2PFSLWfahFTA-64K6W2qzWN1NKUCg26v47PABgIG1wA4WvBhuwTdk50LUoCKA_Xa2v2OmYw" + "AEnB2UrKCNWRWyBsgMgWxsrSjXZMKW22GWVttfUWHw_UNSF7X7hnnz4h-cD7vFzaLO7OVWvnuMyW9qpJAA4eJaERT9hSjGfv41XVw_9ouvBOeIK9ykq-DrE" ] }, "Body": "" } }, { - "ID": "0f2e886a6e24ae9e", + "ID": "39261fa7e6e9aede", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026pageToken=\u0026prefix=go-integration-test\u0026prettyPrint=false\u0026project=dulcet-port-762\u0026projection=full", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "60" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIyIn0K" + ] }, "Response": { "StatusCode": 200, @@ -23352,20 +28044,29 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "117862" + "485" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:19 GMT" + "Thu, 02 May 2019 22:26:33 GMT" + ], + "Etag": [ + "CAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:19 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -23374,18 +28075,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UroflWeo4JoKmrBIysQ3MkUHbNxTN2RTwk2IdUIXQPrO9CtRrZbUsqf4DPaNz_tJZLjCqBr1W57H39qM_1Tq8LE1KfqV6vO37t9aQ-qdsnTyE95R3s" + "AEnB2UpEt-jSVBZqHHBwfNkeP4NXxMdC1ISsFp2E_M6JiSw9rDj2gTnmTZhrvOn-bo_f9Lx_HMxMDgsXfO0ftWqvUjGwdmHAYNnYK5JSJozLfuosPNxv_S4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTg5OTMwMTA4NzY2OS0wMDE3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTg5OTMwMTA4NzY2OS0wMDE3IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE4OTkzMDEwODc2NjktMDAxNyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOFQyMDowNzo0NC4yOTJaIiwidXBkYXRlZCI6IjIwMTktMDEtMDhUMjA6MDc6NDUuNzM4WiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTg5OTMwMTA4NzY2OS0wMDE3L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTg5OTMwMTA4NzY2OS0wMDE3L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE4OTkzMDEwODc2NjktMDAxNyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTg5OTMwMTA4NzY2OS0wMDE3L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE4OTkzMDEwODc2NjktMDAxNy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTg5OTMwMTA4NzY2OS0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE4OTkzMDEwODc2NjktMDAxNy9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxODk5MzAxMDg3NjY5LTAwMTcvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE4OTkzMDEwODc2NjktMDAxNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA4VDIwOjA3OjQ0LjI5MloiLCJpc0xvY2tlZCI6dHJ1ZX0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTg5OTMwMTA4NzY2OS0wMDE4Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTg5OTMwMTA4NzY2OS0wMDE4IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE4OTkzMDEwODc2NjktMDAxOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOFQyMDowNzo0Ni43NTlaIiwidXBkYXRlZCI6IjIwMTktMDEtMDhUMjA6MDc6NDYuNzU5WiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTg5OTMwMTA4NzY2OS0wMDE4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTg5OTMwMTA4NzY2OS0wMDE4L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE4OTkzMDEwODc2NjktMDAxOCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTg5OTMwMTA4NzY2OS0wMDE4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE4OTkzMDEwODc2NjktMDAxOC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTg5OTMwMTA4NzY2OS0wMDE4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE4OTkzMDEwODc2NjktMDAxOC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxODk5MzAxMDg3NjY5LTAwMTgvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE4OTkzMDEwODc2NjktMDAxOCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA4VDIwOjA3OjQ2Ljc1OVoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTIxNzAyNTAxNDE0LTAwMTciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTIxNzAyNTAxNDE0LTAwMTciLCJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTkyMTcwMjUwMTQxNC0wMDE3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA4VDIwOjAyOjA3LjA5NFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOFQyMDowMjowOS4wNTJaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTIxNzAyNTAxNDE0LTAwMTcvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTIxNzAyNTAxNDE0LTAwMTcvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTkyMTcwMjUwMTQxNC0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTIxNzAyNTAxNDE0LTAwMTcvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTkyMTcwMjUwMTQxNC0wMDE3L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTIxNzAyNTAxNDE0LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTkyMTcwMjUwMTQxNC0wMDE3L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE5MjE3MDI1MDE0MTQtMDAxNy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTkyMTcwMjUwMTQxNC0wMDE3IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDhUMjA6MDI6MDcuMDk0WiIsImlzTG9ja2VkIjp0cnVlfSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTIxNzAyNTAxNDE0LTAwMTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTIxNzAyNTAxNDE0LTAwMTgiLCJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTkyMTcwMjUwMTQxNC0wMDE4IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA4VDIwOjAyOjEwLjI5MloiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOFQyMDowMjoxMC4yOTJaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTIxNzAyNTAxNDE0LTAwMTgvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTIxNzAyNTAxNDE0LTAwMTgvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTkyMTcwMjUwMTQxNC0wMDE4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTIxNzAyNTAxNDE0LTAwMTgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTkyMTcwMjUwMTQxNC0wMDE4L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTIxNzAyNTAxNDE0LTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTkyMTcwMjUwMTQxNC0wMDE4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE5MjE3MDI1MDE0MTQtMDAxOC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTkyMTcwMjUwMTQxNC0wMDE4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDhUMjA6MDI6MTAuMjkyWiJ9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE5MjUxNDY2MDc4NDEtMDAxNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE5MjUxNDY2MDc4NDEtMDAxNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTI1MTQ2NjA3ODQxLTAwMTciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDhUMjA6MDM6MjYuODkzWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA4VDIwOjAzOjI4LjM3MloiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE5MjUxNDY2MDc4NDEtMDAxNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE5MjUxNDY2MDc4NDEtMDAxNy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTI1MTQ2NjA3ODQxLTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE5MjUxNDY2MDc4NDEtMDAxNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTI1MTQ2NjA3ODQxLTAwMTcvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE5MjUxNDY2MDc4NDEtMDAxNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTI1MTQ2NjA3ODQxLTAwMTcvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTkyNTE0NjYwNzg0MS0wMDE3L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTI1MTQ2NjA3ODQxLTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOFQyMDowMzoyNi44OTNaIiwiaXNMb2NrZWQiOnRydWV9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE5MjUxNDY2MDc4NDEtMDAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE5MjUxNDY2MDc4NDEtMDAxOCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTI1MTQ2NjA3ODQxLTAwMTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDhUMjA6MDM6MjkuNTM4WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA4VDIwOjAzOjI5LjUzOFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE5MjUxNDY2MDc4NDEtMDAxOC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE5MjUxNDY2MDc4NDEtMDAxOC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTI1MTQ2NjA3ODQxLTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE5MjUxNDY2MDc4NDEtMDAxOC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTI1MTQ2NjA3ODQxLTAwMTgvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzE5MjUxNDY2MDc4NDEtMDAxOCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTI1MTQ2NjA3ODQxLTAwMTgvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03MTkyNTE0NjYwNzg0MS0wMDE4L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTcxOTI1MTQ2NjA3ODQxLTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOFQyMDowMzoyOS41MzhaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03Mzk1Mzg2NjU2NTg3NC0wMDE3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03Mzk1Mzg2NjU2NTg3NC0wMDE3IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzM5NTM4NjY1NjU4NzQtMDAxNyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOFQyMDo0NDo0Mi44NDBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDhUMjA6NDQ6NTMuNzE3WiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03Mzk1Mzg2NjU2NTg3NC0wMDE3L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03Mzk1Mzg2NjU2NTg3NC0wMDE3L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzM5NTM4NjY1NjU4NzQtMDAxNyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03Mzk1Mzg2NjU2NTg3NC0wMDE3L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzM5NTM4NjY1NjU4NzQtMDAxNy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03Mzk1Mzg2NjU2NTg3NC0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzM5NTM4NjY1NjU4NzQtMDAxNy9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTczOTUzODY2NTY1ODc0LTAwMTcvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzM5NTM4NjY1NjU4NzQtMDAxNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA4VDIwOjQ0OjQyLjg0MFoiLCJpc0xvY2tlZCI6dHJ1ZX0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03Mzk1Mzg2NjU2NTg3NC0wMDE4Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03Mzk1Mzg2NjU2NTg3NC0wMDE4IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzM5NTM4NjY1NjU4NzQtMDAxOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOFQyMDo0NTowNy4zMDBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDhUMjA6NDU6MDcuMzAwWiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03Mzk1Mzg2NjU2NTg3NC0wMDE4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03Mzk1Mzg2NjU2NTg3NC0wMDE4L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzM5NTM4NjY1NjU4NzQtMDAxOCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03Mzk1Mzg2NjU2NTg3NC0wMDE4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzM5NTM4NjY1NjU4NzQtMDAxOC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03Mzk1Mzg2NjU2NTg3NC0wMDE4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzM5NTM4NjY1NjU4NzQtMDAxOC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTczOTUzODY2NTY1ODc0LTAwMTgvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzM5NTM4NjY1NjU4NzQtMDAxOCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA4VDIwOjQ1OjA3LjMwMFoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc0MTAyNjA2MDU3NTU3LTAwMTciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc0MTAyNjA2MDU3NTU3LTAwMTciLCJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NDEwMjYwNjA1NzU1Ny0wMDE3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA4VDIwOjQ2OjIwLjk1NloiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOFQyMDo0NjoyOS42NTVaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc0MTAyNjA2MDU3NTU3LTAwMTcvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc0MTAyNjA2MDU3NTU3LTAwMTcvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NDEwMjYwNjA1NzU1Ny0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc0MTAyNjA2MDU3NTU3LTAwMTcvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NDEwMjYwNjA1NzU1Ny0wMDE3L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc0MTAyNjA2MDU3NTU3LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NDEwMjYwNjA1NzU1Ny0wMDE3L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzQxMDI2MDYwNTc1NTctMDAxNy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NDEwMjYwNjA1NzU1Ny0wMDE3IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDhUMjA6NDY6MjAuOTU2WiIsImlzTG9ja2VkIjp0cnVlfSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc0MTAyNjA2MDU3NTU3LTAwMTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc0MTAyNjA2MDU3NTU3LTAwMTgiLCJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NDEwMjYwNjA1NzU1Ny0wMDE4IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA4VDIwOjQ2OjM3LjQxNloiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOFQyMDo0NjozNy40MTZaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc0MTAyNjA2MDU3NTU3LTAwMTgvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc0MTAyNjA2MDU3NTU3LTAwMTgvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NDEwMjYwNjA1NzU1Ny0wMDE4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc0MTAyNjA2MDU3NTU3LTAwMTgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NDEwMjYwNjA1NzU1Ny0wMDE4L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc0MTAyNjA2MDU3NTU3LTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NDEwMjYwNjA1NzU1Ny0wMDE4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzQxMDI2MDYwNTc1NTctMDAxOC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NDEwMjYwNjA1NzU1Ny0wMDE4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDhUMjA6NDY6MzcuNDE2WiJ9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU1NTE3MDkzODEwODYtMDAxNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU1NTE3MDkzODEwODYtMDAxNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc1NTUxNzA5MzgxMDg2LTAwMTciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDhUMjE6MDI6MDAuNDk2WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA4VDIxOjAyOjAyLjIzOFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU1NTE3MDkzODEwODYtMDAxNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU1NTE3MDkzODEwODYtMDAxNy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc1NTUxNzA5MzgxMDg2LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU1NTE3MDkzODEwODYtMDAxNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc1NTUxNzA5MzgxMDg2LTAwMTcvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU1NTE3MDkzODEwODYtMDAxNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc1NTUxNzA5MzgxMDg2LTAwMTcvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NTU1MTcwOTM4MTA4Ni0wMDE3L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc1NTUxNzA5MzgxMDg2LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOFQyMTowMjowMC40OTZaIiwiaXNMb2NrZWQiOnRydWV9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU1NTE3MDkzODEwODYtMDAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU1NTE3MDkzODEwODYtMDAxOCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc1NTUxNzA5MzgxMDg2LTAwMTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDhUMjE6MDI6MDMuMzk1WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA4VDIxOjAyOjAzLjM5NVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU1NTE3MDkzODEwODYtMDAxOC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU1NTE3MDkzODEwODYtMDAxOC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc1NTUxNzA5MzgxMDg2LTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU1NTE3MDkzODEwODYtMDAxOC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc1NTUxNzA5MzgxMDg2LTAwMTgvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU1NTE3MDkzODEwODYtMDAxOCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc1NTUxNzA5MzgxMDg2LTAwMTgvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NTU1MTcwOTM4MTA4Ni0wMDE4L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc1NTUxNzA5MzgxMDg2LTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOFQyMTowMjowMy4zOTVaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NTYxMzY2ODcwMjAyMS0wMDE3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NTYxMzY2ODcwMjAyMS0wMDE3IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU2MTM2Njg3MDIwMjEtMDAxNyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOFQyMTowNTowNC4xOTlaIiwidXBkYXRlZCI6IjIwMTktMDEtMDhUMjE6MDU6MDUuODMzWiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NTYxMzY2ODcwMjAyMS0wMDE3L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NTYxMzY2ODcwMjAyMS0wMDE3L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU2MTM2Njg3MDIwMjEtMDAxNyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NTYxMzY2ODcwMjAyMS0wMDE3L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU2MTM2Njg3MDIwMjEtMDAxNy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NTYxMzY2ODcwMjAyMS0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU2MTM2Njg3MDIwMjEtMDAxNy9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc1NjEzNjY4NzAyMDIxLTAwMTcvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU2MTM2Njg3MDIwMjEtMDAxNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA4VDIxOjA1OjA0LjE5OVoiLCJpc0xvY2tlZCI6dHJ1ZX0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NTYxMzY2ODcwMjAyMS0wMDE4Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NTYxMzY2ODcwMjAyMS0wMDE4IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU2MTM2Njg3MDIwMjEtMDAxOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOFQyMTowNTowNi44OTVaIiwidXBkYXRlZCI6IjIwMTktMDEtMDhUMjE6MDU6MDYuODk1WiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NTYxMzY2ODcwMjAyMS0wMDE4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NTYxMzY2ODcwMjAyMS0wMDE4L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU2MTM2Njg3MDIwMjEtMDAxOCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NTYxMzY2ODcwMjAyMS0wMDE4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU2MTM2Njg3MDIwMjEtMDAxOC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC03NTYxMzY2ODcwMjAyMS0wMDE4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU2MTM2Njg3MDIwMjEtMDAxOC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTc1NjEzNjY4NzAyMDIxLTAwMTgvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtNzU2MTM2Njg3MDIwMjEtMDAxOCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA4VDIxOjA1OjA2Ljg5NVoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMTQ0NDQxNTk1MDE4LTAwMTciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMTQ0NDQxNTk1MDE4LTAwMTciLCJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MDE0NDQ0MTU5NTAxOC0wMDE3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA4VDIyOjIxOjQ0Ljg5NloiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOFQyMjoyMTo0Ni4zMzhaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMTQ0NDQxNTk1MDE4LTAwMTcvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMTQ0NDQxNTk1MDE4LTAwMTcvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MDE0NDQ0MTU5NTAxOC0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMTQ0NDQxNTk1MDE4LTAwMTcvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MDE0NDQ0MTU5NTAxOC0wMDE3L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMTQ0NDQxNTk1MDE4LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MDE0NDQ0MTU5NTAxOC0wMDE3L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODAxNDQ0NDE1OTUwMTgtMDAxNy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MDE0NDQ0MTU5NTAxOC0wMDE3IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDhUMjI6MjE6NDQuODk2WiIsImlzTG9ja2VkIjp0cnVlfSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMTQ0NDQxNTk1MDE4LTAwMTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMTQ0NDQxNTk1MDE4LTAwMTgiLCJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MDE0NDQ0MTU5NTAxOC0wMDE4IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA4VDIyOjIxOjQ3LjM5M1oiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOFQyMjoyMTo0Ny4zOTNaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMTQ0NDQxNTk1MDE4LTAwMTgvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMTQ0NDQxNTk1MDE4LTAwMTgvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MDE0NDQ0MTU5NTAxOC0wMDE4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMTQ0NDQxNTk1MDE4LTAwMTgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MDE0NDQ0MTU5NTAxOC0wMDE4L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMTQ0NDQxNTk1MDE4LTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MDE0NDQ0MTU5NTAxOC0wMDE4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODAxNDQ0NDE1OTUwMTgtMDAxOC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MDE0NDQ0MTU5NTAxOC0wMDE4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDhUMjI6MjE6NDcuMzkzWiJ9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODAyMTMwOTQzMTg5NjgtMDAxNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODAyMTMwOTQzMTg5NjgtMDAxNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMjEzMDk0MzE4OTY4LTAwMTciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDhUMjI6MjE6MjIuODk1WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA4VDIyOjIxOjI0Ljg0MloiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODAyMTMwOTQzMTg5NjgtMDAxNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODAyMTMwOTQzMTg5NjgtMDAxNy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMjEzMDk0MzE4OTY4LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODAyMTMwOTQzMTg5NjgtMDAxNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMjEzMDk0MzE4OTY4LTAwMTcvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODAyMTMwOTQzMTg5NjgtMDAxNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMjEzMDk0MzE4OTY4LTAwMTcvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MDIxMzA5NDMxODk2OC0wMDE3L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMjEzMDk0MzE4OTY4LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOFQyMjoyMToyMi44OTVaIiwiaXNMb2NrZWQiOnRydWV9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODAyMTMwOTQzMTg5NjgtMDAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODAyMTMwOTQzMTg5NjgtMDAxOCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMjEzMDk0MzE4OTY4LTAwMTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDhUMjI6MjE6MjYuMDYxWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA4VDIyOjIxOjI2LjA2MVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODAyMTMwOTQzMTg5NjgtMDAxOC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODAyMTMwOTQzMTg5NjgtMDAxOC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMjEzMDk0MzE4OTY4LTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODAyMTMwOTQzMTg5NjgtMDAxOC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMjEzMDk0MzE4OTY4LTAwMTgvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODAyMTMwOTQzMTg5NjgtMDAxOCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMjEzMDk0MzE4OTY4LTAwMTgvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MDIxMzA5NDMxODk2OC0wMDE4L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgwMjEzMDk0MzE4OTY4LTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOFQyMjoyMToyNi4wNjFaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MjQ2OTYwMDk4MzQ1MS0wMDE3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MjQ2OTYwMDk4MzQ1MS0wMDE3IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODI0Njk2MDA5ODM0NTEtMDAxNyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOFQyMjo1NzowOC42OTRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDhUMjI6NTc6MTAuMzQxWiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MjQ2OTYwMDk4MzQ1MS0wMDE3L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MjQ2OTYwMDk4MzQ1MS0wMDE3L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODI0Njk2MDA5ODM0NTEtMDAxNyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MjQ2OTYwMDk4MzQ1MS0wMDE3L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODI0Njk2MDA5ODM0NTEtMDAxNy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MjQ2OTYwMDk4MzQ1MS0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODI0Njk2MDA5ODM0NTEtMDAxNy9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgyNDY5NjAwOTgzNDUxLTAwMTcvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODI0Njk2MDA5ODM0NTEtMDAxNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA4VDIyOjU3OjA4LjY5NFoiLCJpc0xvY2tlZCI6dHJ1ZX0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MjQ2OTYwMDk4MzQ1MS0wMDE4Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MjQ2OTYwMDk4MzQ1MS0wMDE4IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODI0Njk2MDA5ODM0NTEtMDAxOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOFQyMjo1NzoxMS43OTZaIiwidXBkYXRlZCI6IjIwMTktMDEtMDhUMjI6NTc6MTEuNzk2WiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MjQ2OTYwMDk4MzQ1MS0wMDE4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MjQ2OTYwMDk4MzQ1MS0wMDE4L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODI0Njk2MDA5ODM0NTEtMDAxOCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MjQ2OTYwMDk4MzQ1MS0wMDE4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODI0Njk2MDA5ODM0NTEtMDAxOC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MjQ2OTYwMDk4MzQ1MS0wMDE4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODI0Njk2MDA5ODM0NTEtMDAxOC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgyNDY5NjAwOTgzNDUxLTAwMTgvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODI0Njk2MDA5ODM0NTEtMDAxOCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA4VDIyOjU3OjExLjc5NloifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODE5MDcwNTQzMDM0LTAwMTciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODE5MDcwNTQzMDM0LTAwMTciLCJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MzgxOTA3MDU0MzAzNC0wMDE3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA4VDIzOjE5OjMwLjg2NFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOFQyMzoxOTozMi45MThaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODE5MDcwNTQzMDM0LTAwMTcvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODE5MDcwNTQzMDM0LTAwMTcvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MzgxOTA3MDU0MzAzNC0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODE5MDcwNTQzMDM0LTAwMTcvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MzgxOTA3MDU0MzAzNC0wMDE3L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODE5MDcwNTQzMDM0LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MzgxOTA3MDU0MzAzNC0wMDE3L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4MTkwNzA1NDMwMzQtMDAxNy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MzgxOTA3MDU0MzAzNC0wMDE3IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDhUMjM6MTk6MzAuODY0WiIsImlzTG9ja2VkIjp0cnVlfSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODE5MDcwNTQzMDM0LTAwMTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODE5MDcwNTQzMDM0LTAwMTgiLCJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MzgxOTA3MDU0MzAzNC0wMDE4IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA4VDIzOjE5OjM0LjYwNloiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOFQyMzoxOTozNC42MDZaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODE5MDcwNTQzMDM0LTAwMTgvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODE5MDcwNTQzMDM0LTAwMTgvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MzgxOTA3MDU0MzAzNC0wMDE4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODE5MDcwNTQzMDM0LTAwMTgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MzgxOTA3MDU0MzAzNC0wMDE4L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODE5MDcwNTQzMDM0LTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MzgxOTA3MDU0MzAzNC0wMDE4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4MTkwNzA1NDMwMzQtMDAxOC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MzgxOTA3MDU0MzAzNC0wMDE4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDhUMjM6MTk6MzQuNjA2WiJ9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4MjUyMjg0OTg0MTEtMDAxNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4MjUyMjg0OTg0MTEtMDAxNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODI1MjI4NDk4NDExLTAwMTciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDhUMjM6MjA6NDAuNjkzWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA4VDIzOjIwOjQyLjQzOVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4MjUyMjg0OTg0MTEtMDAxNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4MjUyMjg0OTg0MTEtMDAxNy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODI1MjI4NDk4NDExLTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4MjUyMjg0OTg0MTEtMDAxNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODI1MjI4NDk4NDExLTAwMTcvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4MjUyMjg0OTg0MTEtMDAxNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODI1MjI4NDk4NDExLTAwMTcvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MzgyNTIyODQ5ODQxMS0wMDE3L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODI1MjI4NDk4NDExLTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOFQyMzoyMDo0MC42OTNaIiwiaXNMb2NrZWQiOnRydWV9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4MjUyMjg0OTg0MTEtMDAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4MjUyMjg0OTg0MTEtMDAxOCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODI1MjI4NDk4NDExLTAwMTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDhUMjM6MjA6NDMuNjk5WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA4VDIzOjIwOjQzLjY5OVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4MjUyMjg0OTg0MTEtMDAxOC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4MjUyMjg0OTg0MTEtMDAxOC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODI1MjI4NDk4NDExLTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4MjUyMjg0OTg0MTEtMDAxOC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODI1MjI4NDk4NDExLTAwMTgvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4MjUyMjg0OTg0MTEtMDAxOCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODI1MjI4NDk4NDExLTAwMTgvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04MzgyNTIyODQ5ODQxMS0wMDE4L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODI1MjI4NDk4NDExLTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOFQyMzoyMDo0My42OTlaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04Mzg2MDk2ODAzMjY5OC0wMDE3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04Mzg2MDk2ODAzMjY5OC0wMDE3IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4NjA5NjgwMzI2OTgtMDAxNyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOFQyMzoyMToyNy4wOThaIiwidXBkYXRlZCI6IjIwMTktMDEtMDhUMjM6MjE6MjguODQzWiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04Mzg2MDk2ODAzMjY5OC0wMDE3L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04Mzg2MDk2ODAzMjY5OC0wMDE3L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4NjA5NjgwMzI2OTgtMDAxNyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04Mzg2MDk2ODAzMjY5OC0wMDE3L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4NjA5NjgwMzI2OTgtMDAxNy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04Mzg2MDk2ODAzMjY5OC0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4NjA5NjgwMzI2OTgtMDAxNy9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODYwOTY4MDMyNjk4LTAwMTcvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4NjA5NjgwMzI2OTgtMDAxNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA4VDIzOjIxOjI3LjA5OFoiLCJpc0xvY2tlZCI6dHJ1ZX0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04Mzg2MDk2ODAzMjY5OC0wMDE4Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04Mzg2MDk2ODAzMjY5OC0wMDE4IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4NjA5NjgwMzI2OTgtMDAxOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOFQyMzoyMTozMC4xOTRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDhUMjM6MjE6MzAuMTk0WiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04Mzg2MDk2ODAzMjY5OC0wMDE4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04Mzg2MDk2ODAzMjY5OC0wMDE4L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4NjA5NjgwMzI2OTgtMDAxOCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04Mzg2MDk2ODAzMjY5OC0wMDE4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4NjA5NjgwMzI2OTgtMDAxOC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOC04Mzg2MDk2ODAzMjY5OC0wMDE4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4NjA5NjgwMzI2OTgtMDAxOC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA4LTgzODYwOTY4MDMyNjk4LTAwMTgvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDgtODM4NjA5NjgwMzI2OTgtMDAxOCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA4VDIzOjIxOjMwLjE5NFoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwNjI2MzE5MjcwMjcyLTAwMTciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwNjI2MzE5MjcwMjcyLTAwMTciLCJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMDYyNjMxOTI3MDI3Mi0wMDE3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDA4OjMyOjEzLjYwMFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQwODozMjoxNS42MThaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwNjI2MzE5MjcwMjcyLTAwMTcvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwNjI2MzE5MjcwMjcyLTAwMTcvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMDYyNjMxOTI3MDI3Mi0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwNjI2MzE5MjcwMjcyLTAwMTcvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMDYyNjMxOTI3MDI3Mi0wMDE3L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwNjI2MzE5MjcwMjcyLTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMDYyNjMxOTI3MDI3Mi0wMDE3L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzA2MjYzMTkyNzAyNzItMDAxNy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMDYyNjMxOTI3MDI3Mi0wMDE3IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDlUMDg6MzI6MTMuNjAwWiIsImlzTG9ja2VkIjp0cnVlfSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwNjI2MzE5MjcwMjcyLTAwMTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwNjI2MzE5MjcwMjcyLTAwMTgiLCJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMDYyNjMxOTI3MDI3Mi0wMDE4IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDA4OjMyOjE2Ljk2MFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQwODozMjoxNi45NjBaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwNjI2MzE5MjcwMjcyLTAwMTgvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwNjI2MzE5MjcwMjcyLTAwMTgvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMDYyNjMxOTI3MDI3Mi0wMDE4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwNjI2MzE5MjcwMjcyLTAwMTgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMDYyNjMxOTI3MDI3Mi0wMDE4L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwNjI2MzE5MjcwMjcyLTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMDYyNjMxOTI3MDI3Mi0wMDE4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzA2MjYzMTkyNzAyNzItMDAxOC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMDYyNjMxOTI3MDI3Mi0wMDE4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDlUMDg6MzI6MTYuOTYwWiJ9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzA4MDE2MzU5ODc4OTEtMDAxNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzA4MDE2MzU5ODc4OTEtMDAxNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwODAxNjM1OTg3ODkxLTAwMTciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMDg6MzU6MzUuNzcyWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDA4OjM1OjM3LjkyMVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzA4MDE2MzU5ODc4OTEtMDAxNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzA4MDE2MzU5ODc4OTEtMDAxNy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwODAxNjM1OTg3ODkxLTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzA4MDE2MzU5ODc4OTEtMDAxNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwODAxNjM1OTg3ODkxLTAwMTcvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzA4MDE2MzU5ODc4OTEtMDAxNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwODAxNjM1OTg3ODkxLTAwMTcvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMDgwMTYzNTk4Nzg5MS0wMDE3L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwODAxNjM1OTg3ODkxLTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOVQwODozNTozNS43NzJaIiwiaXNMb2NrZWQiOnRydWV9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzA4MDE2MzU5ODc4OTEtMDAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzA4MDE2MzU5ODc4OTEtMDAxOCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwODAxNjM1OTg3ODkxLTAwMTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMDg6MzU6MzkuMzgzWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDA4OjM1OjM5LjM4M1oiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzA4MDE2MzU5ODc4OTEtMDAxOC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzA4MDE2MzU5ODc4OTEtMDAxOC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwODAxNjM1OTg3ODkxLTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzA4MDE2MzU5ODc4OTEtMDAxOC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwODAxNjM1OTg3ODkxLTAwMTgvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzA4MDE2MzU5ODc4OTEtMDAxOCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwODAxNjM1OTg3ODkxLTAwMTgvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMDgwMTYzNTk4Nzg5MS0wMDE4L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMwODAxNjM1OTg3ODkxLTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOVQwODozNTozOS4zODNaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE2Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE2IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzE2NjczNzAwNDYyMjktMDAxNiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQwODo1MDoxNy4wOTRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMDg6NTA6MTguNTIyWiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE2L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE2L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzE2NjczNzAwNDYyMjktMDAxNiIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE2L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzE2NjczNzAwNDYyMjktMDAxNi9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE2IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzE2NjczNzAwNDYyMjktMDAxNi9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMxNjY3MzcwMDQ2MjI5LTAwMTYvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzE2NjczNzAwNDYyMjktMDAxNiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE3IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzE2NjczNzAwNDYyMjktMDAxNyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQwODo1MDoxOS4yNzNaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMDg6NTA6MjEuNTE5WiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE3L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE3L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzE2NjczNzAwNDYyMjktMDAxNyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE3L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzE2NjczNzAwNDYyMjktMDAxNy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzE2NjczNzAwNDYyMjktMDAxNy9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMxNjY3MzcwMDQ2MjI5LTAwMTcvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzE2NjczNzAwNDYyMjktMDAxNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDA4OjUwOjE5LjI3M1oiLCJpc0xvY2tlZCI6dHJ1ZX0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE4Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE4IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzE2NjczNzAwNDYyMjktMDAxOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQwODo1MDoyMi45NzVaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMDg6NTA6MjIuOTc1WiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE4L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzE2NjczNzAwNDYyMjktMDAxOCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzE2NjczNzAwNDYyMjktMDAxOC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zMTY2NzM3MDA0NjIyOS0wMDE4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzE2NjczNzAwNDYyMjktMDAxOC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTMxNjY3MzcwMDQ2MjI5LTAwMTgvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzE2NjczNzAwNDYyMjktMDAxOCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDA4OjUwOjIyLjk3NVoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTM1OTY4NDExMTIxMTEwLTAwMTciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTM1OTY4NDExMTIxMTEwLTAwMTciLCJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zNTk2ODQxMTEyMTExMC0wMDE3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDEwOjAxOjU1LjIxMloiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQxMDowMTo1Ny4zMjJaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTM1OTY4NDExMTIxMTEwLTAwMTcvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTM1OTY4NDExMTIxMTEwLTAwMTcvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zNTk2ODQxMTEyMTExMC0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTM1OTY4NDExMTIxMTEwLTAwMTcvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zNTk2ODQxMTEyMTExMC0wMDE3L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTM1OTY4NDExMTIxMTEwLTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zNTk2ODQxMTEyMTExMC0wMDE3L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzU5Njg0MTExMjExMTAtMDAxNy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zNTk2ODQxMTEyMTExMC0wMDE3IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDlUMTA6MDE6NTUuMjEyWiIsImlzTG9ja2VkIjp0cnVlfSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTM1OTY4NDExMTIxMTEwLTAwMTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTM1OTY4NDExMTIxMTEwLTAwMTgiLCJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zNTk2ODQxMTEyMTExMC0wMDE4IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDEwOjAxOjU4Ljc2OFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQxMDowMTo1OC43NjhaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTM1OTY4NDExMTIxMTEwLTAwMTgvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTM1OTY4NDExMTIxMTEwLTAwMTgvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zNTk2ODQxMTEyMTExMC0wMDE4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTM1OTY4NDExMTIxMTEwLTAwMTgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zNTk2ODQxMTEyMTExMC0wMDE4L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTM1OTY4NDExMTIxMTEwLTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zNTk2ODQxMTEyMTExMC0wMDE4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktMzU5Njg0MTExMjExMTAtMDAxOC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS0zNTk2ODQxMTEyMTExMC0wMDE4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDlUMTA6MDE6NTguNzY4WiJ9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTM1ODEyNzE1NDY2OTAtMDAxNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTM1ODEyNzE1NDY2OTAtMDAxNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTUzNTgxMjcxNTQ2NjkwLTAwMTciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMTQ6NTU6MjMuNzA4WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDE0OjU1OjI1LjcxMFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTM1ODEyNzE1NDY2OTAtMDAxNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTM1ODEyNzE1NDY2OTAtMDAxNy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTUzNTgxMjcxNTQ2NjkwLTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTM1ODEyNzE1NDY2OTAtMDAxNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTUzNTgxMjcxNTQ2NjkwLTAwMTcvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTM1ODEyNzE1NDY2OTAtMDAxNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTUzNTgxMjcxNTQ2NjkwLTAwMTcvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01MzU4MTI3MTU0NjY5MC0wMDE3L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTUzNTgxMjcxNTQ2NjkwLTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOVQxNDo1NToyMy43MDhaIiwiaXNMb2NrZWQiOnRydWV9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTM1ODEyNzE1NDY2OTAtMDAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTM1ODEyNzE1NDY2OTAtMDAxOCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTUzNTgxMjcxNTQ2NjkwLTAwMTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMTQ6NTU6MjcuNDkzWiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDE0OjU1OjI3LjQ5M1oiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTM1ODEyNzE1NDY2OTAtMDAxOC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTM1ODEyNzE1NDY2OTAtMDAxOC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTUzNTgxMjcxNTQ2NjkwLTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTM1ODEyNzE1NDY2OTAtMDAxOC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTUzNTgxMjcxNTQ2NjkwLTAwMTgvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTM1ODEyNzE1NDY2OTAtMDAxOCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTUzNTgxMjcxNTQ2NjkwLTAwMTgvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01MzU4MTI3MTU0NjY5MC0wMDE4L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTUzNTgxMjcxNTQ2NjkwLTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOVQxNDo1NToyNy40OTNaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01ODM1NDA3NzIzMTU0MC0wMDE3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01ODM1NDA3NzIzMTU0MC0wMDE3IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTgzNTQwNzcyMzE1NDAtMDAxNyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQxNjoxNDo0Ni43NjBaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMTY6MTQ6NDguNTIwWiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01ODM1NDA3NzIzMTU0MC0wMDE3L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01ODM1NDA3NzIzMTU0MC0wMDE3L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTgzNTQwNzcyMzE1NDAtMDAxNyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01ODM1NDA3NzIzMTU0MC0wMDE3L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTgzNTQwNzcyMzE1NDAtMDAxNy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01ODM1NDA3NzIzMTU0MC0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTgzNTQwNzcyMzE1NDAtMDAxNy9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTU4MzU0MDc3MjMxNTQwLTAwMTcvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTgzNTQwNzcyMzE1NDAtMDAxNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDE2OjE0OjQ2Ljc2MFoiLCJpc0xvY2tlZCI6dHJ1ZX0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01ODM1NDA3NzIzMTU0MC0wMDE4Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01ODM1NDA3NzIzMTU0MC0wMDE4IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTgzNTQwNzcyMzE1NDAtMDAxOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQxNjoxNDo1MS42NDhaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMTY6MTQ6NTEuNjQ4WiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01ODM1NDA3NzIzMTU0MC0wMDE4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01ODM1NDA3NzIzMTU0MC0wMDE4L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTgzNTQwNzcyMzE1NDAtMDAxOCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01ODM1NDA3NzIzMTU0MC0wMDE4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTgzNTQwNzcyMzE1NDAtMDAxOC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01ODM1NDA3NzIzMTU0MC0wMDE4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTgzNTQwNzcyMzE1NDAtMDAxOC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTU4MzU0MDc3MjMxNTQwLTAwMTgvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTgzNTQwNzcyMzE1NDAtMDAxOCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDE2OjE0OjUxLjY0OFoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTU5NzI3MjgyNjIzMzM4LTAwMTciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTU5NzI3MjgyNjIzMzM4LTAwMTciLCJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01OTcyNzI4MjYyMzMzOC0wMDE3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDE2OjM3OjU4LjU1NVoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQxNjozODowMC42MjdaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTU5NzI3MjgyNjIzMzM4LTAwMTcvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTU5NzI3MjgyNjIzMzM4LTAwMTcvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01OTcyNzI4MjYyMzMzOC0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTU5NzI3MjgyNjIzMzM4LTAwMTcvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01OTcyNzI4MjYyMzMzOC0wMDE3L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTU5NzI3MjgyNjIzMzM4LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01OTcyNzI4MjYyMzMzOC0wMDE3L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTk3MjcyODI2MjMzMzgtMDAxNy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01OTcyNzI4MjYyMzMzOC0wMDE3IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDlUMTY6Mzc6NTguNTU1WiIsImlzTG9ja2VkIjp0cnVlfSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTU5NzI3MjgyNjIzMzM4LTAwMTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTU5NzI3MjgyNjIzMzM4LTAwMTgiLCJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01OTcyNzI4MjYyMzMzOC0wMDE4IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDE2OjM4OjAyLjE5MFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQxNjozODowMi4xOTBaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTU5NzI3MjgyNjIzMzM4LTAwMTgvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTU5NzI3MjgyNjIzMzM4LTAwMTgvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01OTcyNzI4MjYyMzMzOC0wMDE4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTU5NzI3MjgyNjIzMzM4LTAwMTgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01OTcyNzI4MjYyMzMzOC0wMDE4L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTU5NzI3MjgyNjIzMzM4LTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01OTcyNzI4MjYyMzMzOC0wMDE4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNTk3MjcyODI2MjMzMzgtMDAxOC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS01OTcyNzI4MjYyMzMzOC0wMDE4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDlUMTY6Mzg6MDIuMTkwWiJ9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1NzI0ODczNjQ0MjgtMDAxNyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1NzI0ODczNjQ0MjgtMDAxNyIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTY4NTcyNDg3MzY0NDI4LTAwMTciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMTk6MDU6MzkuMDY3WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDE5OjA1OjQwLjYzOVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjIiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1NzI0ODczNjQ0MjgtMDAxNy9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1NzI0ODczNjQ0MjgtMDAxNy9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTY4NTcyNDg3MzY0NDI4LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1NzI0ODczNjQ0MjgtMDAxNy9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTY4NTcyNDg3MzY0NDI4LTAwMTcvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1NzI0ODczNjQ0MjgtMDAxNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTY4NTcyNDg3MzY0NDI4LTAwMTcvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS02ODU3MjQ4NzM2NDQyOC0wMDE3L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTY4NTcyNDg3MzY0NDI4LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOVQxOTowNTozOS4wNjdaIiwiaXNMb2NrZWQiOnRydWV9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1NzI0ODczNjQ0MjgtMDAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1NzI0ODczNjQ0MjgtMDAxOCIsInByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTY4NTcyNDg3MzY0NDI4LTAwMTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDEtMDlUMTk6MDU6NDEuNzk5WiIsInVwZGF0ZWQiOiIyMDE5LTAxLTA5VDE5OjA1OjQxLjc5OVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1NzI0ODczNjQ0MjgtMDAxOC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1NzI0ODczNjQ0MjgtMDAxOC9hY2wvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTY4NTcyNDg3MzY0NDI4LTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1NzI0ODczNjQ0MjgtMDAxOC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTY4NTcyNDg3MzY0NDI4LTAwMTgvYWNsL3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1NzI0ODczNjQ0MjgtMDAxOCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTY4NTcyNDg3MzY0NDI4LTAwMTgvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS02ODU3MjQ4NzM2NDQyOC0wMDE4L2FjbC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTY4NTcyNDg3MzY0NDI4LTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wMS0wOVQxOTowNTo0MS43OTlaIn0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS02ODU3NzYzOTY2MDc2OS0wMDE3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS02ODU3NzYzOTY2MDc2OS0wMDE3IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1Nzc2Mzk2NjA3NjktMDAxNyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQxOTowNTo0Mi4wMDRaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMTk6MDU6NDQuMDIyWiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS02ODU3NzYzOTY2MDc2OS0wMDE3L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS02ODU3NzYzOTY2MDc2OS0wMDE3L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1Nzc2Mzk2NjA3NjktMDAxNyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS02ODU3NzYzOTY2MDc2OS0wMDE3L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1Nzc2Mzk2NjA3NjktMDAxNy9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS02ODU3NzYzOTY2MDc2OS0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1Nzc2Mzk2NjA3NjktMDAxNy9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTY4NTc3NjM5NjYwNzY5LTAwMTcvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1Nzc2Mzk2NjA3NjktMDAxNyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDE5OjA1OjQyLjAwNFoiLCJpc0xvY2tlZCI6dHJ1ZX0sInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS02ODU3NzYzOTY2MDc2OS0wMDE4Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS02ODU3NzYzOTY2MDc2OS0wMDE4IiwicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1Nzc2Mzk2NjA3NjktMDAxOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wMS0wOVQxOTowNTo0NS40ODdaIiwidXBkYXRlZCI6IjIwMTktMDEtMDlUMTk6MDU6NDUuNDg3WiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS02ODU3NzYzOTY2MDc2OS0wMDE4L3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS02ODU3NzYzOTY2MDc2OS0wMDE4L2FjbC9wcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1Nzc2Mzk2NjA3NjktMDAxOCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS02ODU3NzYzOTY2MDc2OS0wMDE4L3Byb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1Nzc2Mzk2NjA3NjktMDAxOC9hY2wvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS02ODU3NzYzOTY2MDc2OS0wMDE4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1Nzc2Mzk2NjA3NjktMDAxOC9wcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTY4NTc3NjM5NjYwNzY5LTAwMTgvYWNsL3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNjg1Nzc2Mzk2NjA3NjktMDAxOCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy0zNjYzOTkzMzE0NSIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTAxLTA5VDE5OjA1OjQ1LjQ4N1oifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTciLCJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE3IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjQ4Ljk4NFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTo1MS4xMjlaIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTcvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTcvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTcvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE3L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE3L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxNy9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE3IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBST0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDlUMjI6MDk6NDguOTg0WiIsImlzTG9ja2VkIjp0cnVlfSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTgiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTgiLCJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE4IiwidGltZUNyZWF0ZWQiOiIyMDE5LTAxLTA5VDIyOjA5OjUyLjY2OVoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0wOVQyMjowOTo1Mi42NjlaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTgvcHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTgvYWNsL3Byb2plY3Qtb3duZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTgvcHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE4L2FjbC9wcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwMTA5LTc5NjU1Mjg1OTg0NzQ2LTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE4L3Byb2plY3Qtdmlld2Vycy0zNjYzOTkzMzE0NSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTAxMDktNzk2NTUyODU5ODQ3NDYtMDAxOC9hY2wvcHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDEwOS03OTY1NTI4NTk4NDc0Ni0wMDE4IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiIzNjYzOTkzMzE0NSIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiMzY2Mzk5MzMxNDUiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTM2NjM5OTMzMTQ1Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtMzY2Mzk5MzMxNDUiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjM2NjM5OTMzMTQ1IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy0zNjYzOTkzMzE0NSJ9LCJsb2NhdGlvbiI6IlVTIiwicmV0ZW50aW9uUG9saWN5Ijp7InJldGVudGlvblBlcmlvZCI6IjkwMDAwIiwiZWZmZWN0aXZlVGltZSI6IjIwMTktMDEtMDlUMjI6MDk6NTIuNjY5WiJ9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In1dfQ==" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIyIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjMzLjU1N1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjozMy41NTdaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0=" } }, { - "ID": "0dcc170dd9ca57d6", + "ID": "3e70965b0aa1111b", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-71899301087669-0017/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0022?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -23395,7 +28105,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -23403,20 +28115,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "26" + "2431" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:19 GMT" + "Thu, 02 May 2019 22:26:34 GMT" + ], + "Etag": [ + "CAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:19 GMT" + "Thu, 02 May 2019 22:26:34 GMT" ], "Server": [ "UploadServer" @@ -23425,18 +28143,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrjmU5uMihAbPaksGLy4j0HRdamd2mSgC2MXAN0S0psJJbA95Ie5yEU30rMJ_xpszZD9Kj43QyNBTeQMkEzzJG2K8VXyhfZ7TuZ6MjCJskyMl5f40E" + "AEnB2UrB-4r560VjwZdR64GS_7_mZDefc-iM5ma_H8KjYfrdNXt-IlkgvzShsy7iNLseN6coOnkJwWT5tLbP54_M7nMUjord_jmpb1i19SBRA_3RQ_64yys" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIn0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIyIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjMzLjU1N1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjozMy41NTdaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjIvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIyL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjIiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIyL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjIvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjIvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "219df02dc3d03d1a", + "ID": "b80f9a99661cd572", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-71899301087669-0017?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0022?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -23446,7 +28173,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -23454,6 +28183,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -23464,7 +28196,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:19 GMT" + "Thu, 02 May 2019 22:26:34 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -23479,97 +28211,66 @@ "Origin", "X-Origin" ], - "X-Guploader-Uploadid": [ - "AEnB2Uqh-pWUKtkMJ11K_uIebZcQjJKbtP3ZDdZObzvTXKM8k0iS_eMg4m9Pe8ml-HqUyqXIMAhz_4dD7ZM3Y56B14t0YL2F6WouDiyY1kwECbwFNBdKU_8" - ] - }, - "Body": "" - } - }, - { - "ID": "128fcd0b718500b9", - "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-71899301087669-0018/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", - "Header": { - "Accept-Encoding": [ - "gzip" - ], - "User-Agent": [ - "google-api-go-client/0.5" - ] - }, - "MediaType": "", - "BodyParts": null - }, - "Response": { - "StatusCode": 200, - "Proto": "HTTP/1.1", - "ProtoMajor": 1, - "ProtoMinor": 1, - "Header": { - "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" - ], - "Content-Length": [ - "26" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 09 Jan 2019 22:10:19 GMT" - ], - "Expires": [ - "Wed, 09 Jan 2019 22:10:19 GMT" + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" ], - "Server": [ - "UploadServer" + "X-Guploader-Request-Result": [ + "success" ], - "Vary": [ - "Origin", - "X-Origin" + "X-Guploader-Upload-Result": [ + "success" ], "X-Guploader-Uploadid": [ - "AEnB2Uotfd4hb2r4dXBE8M7vsRJpvUOzqNIm5GTdphzIkNA2ahb5j7zvMq84QMBCiM5D1CICRXJIXarBMJWRCZ-NACIjxnWGBYD3H7RH_8naQjgFSrrie3I" + "AEnB2Ur4ItFRDN2_vB0_Ej095pAE061aywdVAoU_00t3fazm21R5ZLxUHpQL4ifTJ58218EkOeDBSWNaOaWuuzTnTM0DhXTe4l2X3pytOdfcZdIeyLV1rWA" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIn0=" + "Body": "" } }, { - "ID": "013845a93e394829", + "ID": "979ffb3f3450c3d5", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-71899301087669-0018?alt=json\u0026prettyPrint=false", + "Method": "POST", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026prettyPrint=false\u0026project=deklerk-sandbox", "Header": { "Accept-Encoding": [ "gzip" ], + "Content-Length": [ + "543" + ], "User-Agent": [ "google-api-go-client/0.5" ] }, - "MediaType": "", - "BodyParts": null + "MediaType": "application/json", + "BodyParts": [ + "eyJsYWJlbHMiOnsiZW1wdHkiOiIiLCJsMSI6InYxIn0sImxpZmVjeWNsZSI6eyJydWxlIjpbeyJhY3Rpb24iOnsic3RvcmFnZUNsYXNzIjoiTkVBUkxJTkUiLCJ0eXBlIjoiU2V0U3RvcmFnZUNsYXNzIn0sImNvbmRpdGlvbiI6eyJhZ2UiOjEwLCJjcmVhdGVkQmVmb3JlIjoiMjAxNy0wMS0wMSIsImlzTGl2ZSI6ZmFsc2UsIm1hdGNoZXNTdG9yYWdlQ2xhc3MiOlsiTVVMVElfUkVHSU9OQUwiLCJTVEFOREFSRCJdLCJudW1OZXdlclZlcnNpb25zIjozfX0seyJhY3Rpb24iOnsidHlwZSI6IkRlbGV0ZSJ9LCJjb25kaXRpb24iOnsiYWdlIjozMCwiY3JlYXRlZEJlZm9yZSI6IjIwMTctMDEtMDEiLCJpc0xpdmUiOnRydWUsIm1hdGNoZXNTdG9yYWdlQ2xhc3MiOlsiTkVBUkxJTkUiXSwibnVtTmV3ZXJWZXJzaW9ucyI6MTB9fV19LCJsb2NhdGlvbiI6IlVTIiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMiIsInN0b3JhZ2VDbGFzcyI6Ik5FQVJMSU5FIiwidmVyc2lvbmluZyI6eyJlbmFibGVkIjp0cnVlfX0K" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "0" + "926" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:20 GMT" + "Thu, 02 May 2019 22:26:34 GMT" + ], + "Etag": [ + "CAE=" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -23584,18 +28285,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpU_C8URIuKTFM6ByxRxKHh-pXOMjpgfuGb3t_sb7ODukrjXGnpq6i_n_S-lmfgZJFIEurNuaOTP0l6TNptofDAHNy3REm5qX_fEWLISYxShGkE-J0" + "AEnB2UqM_YYHcsYolLFJJwWhO9AUYmnc3Vp3J6C5AydYOy-0RVAmBxObG8QpwZOsn28vDVllo_OZ1-4bASi_RGi4wdply2CPhzUOCVjP11XNzVYZ4_EiFb4" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIyIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjM0LjU2M1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjozNC41NjNaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sImxvY2F0aW9uIjoiVVMiLCJ2ZXJzaW9uaW5nIjp7ImVuYWJsZWQiOnRydWV9LCJsaWZlY3ljbGUiOnsicnVsZSI6W3siYWN0aW9uIjp7InR5cGUiOiJTZXRTdG9yYWdlQ2xhc3MiLCJzdG9yYWdlQ2xhc3MiOiJORUFSTElORSJ9LCJjb25kaXRpb24iOnsiYWdlIjoxMCwiY3JlYXRlZEJlZm9yZSI6IjIwMTctMDEtMDEiLCJpc0xpdmUiOmZhbHNlLCJtYXRjaGVzU3RvcmFnZUNsYXNzIjpbIk1VTFRJX1JFR0lPTkFMIiwiU1RBTkRBUkQiXSwibnVtTmV3ZXJWZXJzaW9ucyI6M319LHsiYWN0aW9uIjp7InR5cGUiOiJEZWxldGUifSwiY29uZGl0aW9uIjp7ImFnZSI6MzAsImNyZWF0ZWRCZWZvcmUiOiIyMDE3LTAxLTAxIiwiaXNMaXZlIjp0cnVlLCJtYXRjaGVzU3RvcmFnZUNsYXNzIjpbIk5FQVJMSU5FIl0sIm51bU5ld2VyVmVyc2lvbnMiOjEwfX1dfSwibGFiZWxzIjp7ImwxIjoidjEiLCJlbXB0eSI6IiJ9LCJzdG9yYWdlQ2xhc3MiOiJORUFSTElORSIsImV0YWciOiJDQUU9In0=" } }, { - "ID": "7077194e364ed44d", + "ID": "4931edd6fbd7e278", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-71921702501414-0017/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0022?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -23605,7 +28315,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -23613,20 +28325,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "26" + "2872" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:20 GMT" + "Thu, 02 May 2019 22:26:34 GMT" + ], + "Etag": [ + "CAE=" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:20 GMT" + "Thu, 02 May 2019 22:26:34 GMT" ], "Server": [ "UploadServer" @@ -23635,18 +28353,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpLDY7f5K2ZveyhgLTLQpg7WRlje9jJbKWO44YbA6NjKjR8FFgsAXAaWPHSZ4IJDanhVR6Ov2mWaGLx9c-uNLXEm6hni7CwMgJNg8FVmeljrSEvWII" + "AEnB2UpxOq-rTQ-0CFxAKezuPpbibtEmD_yASKzhW5dOiUdwVORx6a7_e1dmDnNCdamDPwLsBOpLueQD8iDbwlracb2uxGwwZ6yz92QD-t-JSKM-jSNp2xA" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIn0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIyIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjM0LjU2M1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjozNC41NjNaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjIvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIyL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjIiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDIyL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjIvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMjIvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAyMiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInZlcnNpb25pbmciOnsiZW5hYmxlZCI6dHJ1ZX0sImxpZmVjeWNsZSI6eyJydWxlIjpbeyJhY3Rpb24iOnsidHlwZSI6IlNldFN0b3JhZ2VDbGFzcyIsInN0b3JhZ2VDbGFzcyI6Ik5FQVJMSU5FIn0sImNvbmRpdGlvbiI6eyJhZ2UiOjEwLCJjcmVhdGVkQmVmb3JlIjoiMjAxNy0wMS0wMSIsImlzTGl2ZSI6ZmFsc2UsIm1hdGNoZXNTdG9yYWdlQ2xhc3MiOlsiTVVMVElfUkVHSU9OQUwiLCJTVEFOREFSRCJdLCJudW1OZXdlclZlcnNpb25zIjozfX0seyJhY3Rpb24iOnsidHlwZSI6IkRlbGV0ZSJ9LCJjb25kaXRpb24iOnsiYWdlIjozMCwiY3JlYXRlZEJlZm9yZSI6IjIwMTctMDEtMDEiLCJpc0xpdmUiOnRydWUsIm1hdGNoZXNTdG9yYWdlQ2xhc3MiOlsiTkVBUkxJTkUiXSwibnVtTmV3ZXJWZXJzaW9ucyI6MTB9fV19LCJsYWJlbHMiOnsibDEiOiJ2MSIsImVtcHR5IjoiIn0sInN0b3JhZ2VDbGFzcyI6Ik5FQVJMSU5FIiwiZXRhZyI6IkNBRT0ifQ==" } }, { - "ID": "dff20b2e2e936b9b", + "ID": "12c06b5419a1fa81", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-71921702501414-0017?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0022?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -23656,7 +28383,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -23664,6 +28393,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -23674,7 +28406,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:20 GMT" + "Thu, 02 May 2019 22:26:35 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -23689,18 +28421,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqgTveDCybO8UAos0wNTlbUZGgACUEyLZmvCl0BrHGeRJELcUJyuyxBqYO2vyNV6U67sFz3Ms0rTfYVdqnRRvpRdnC66ICMoxCjRzM9nK8609k7NCs" + "AEnB2Uoc24sLEBwU00YKpSYT4V6iJu3WxME2LgbyRWaYj4kX8s6Gjatzl0AWcCwPRhj_Bq0BOoUhKQzS8L0GJlhHC36eyEWEIs2rk2BcUyo0aE3U8XbuHuM" ] }, "Body": "" } }, { - "ID": "5a85992a1049f4e0", + "ID": "bf24dffbe6cb8609", "Request": { "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-71921702501414-0018/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001?alt=json\u0026prettyPrint=false\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -23710,7 +28451,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 200, @@ -23718,20 +28461,26 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "26" + "2571" ], "Content-Type": [ "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:20 GMT" + "Thu, 02 May 2019 22:26:35 GMT" + ], + "Etag": [ + "CA0=" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:20 GMT" + "Thu, 02 May 2019 22:26:35 GMT" ], "Server": [ "UploadServer" @@ -23740,18 +28489,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpV7WSMdz4tpt8SblGkh8B77Qzpx-2Zscq55PviTK_JXbVCemjmX61iU4XtNMukQMt7PtnNSX-zznSB0Hd4o2LAyQtRsQohmKA7gbVlpAADOguI2hQ" + "AEnB2UqVkn03LSqmt8RiOPdW3JO4dpsS9vRp7VK8Qc0HwhmS3L9KDOgmyZIqLnvAwuAyvoIz1VsbqeoLwMMtz9pCIX216P4K3OpEs-x_bf_VSwMiFehgZiM" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIn0=" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIzOjU0LjYxMFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNToyNS41MjdaIiwibWV0YWdlbmVyYXRpb24iOiIxMyIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQTA9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0EwPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0EwPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQTA9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0EwPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQTA9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0In0sImxvY2F0aW9uIjoiVVMiLCJ2ZXJzaW9uaW5nIjp7ImVuYWJsZWQiOmZhbHNlfSwibGlmZWN5Y2xlIjp7InJ1bGUiOlt7ImFjdGlvbiI6eyJ0eXBlIjoiRGVsZXRlIn0sImNvbmRpdGlvbiI6eyJhZ2UiOjMwfX1dfSwibGFiZWxzIjp7ImwxIjoidjIiLCJuZXciOiJuZXcifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0EwPSJ9" } }, { - "ID": "d1baf444a5eff7bf", + "ID": "2e41eac5e693f3e1", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-71921702501414-0018?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", "Header": { "Accept-Encoding": [ "gzip" @@ -23761,31 +28519,33 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "0" + "64746" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:21 GMT" + "Thu, 02 May 2019 22:26:35 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:26:35 GMT" ], "Server": [ "UploadServer" @@ -23794,18 +28554,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrRQqtfR2kjsN6AYhj_6ICFkzlYRzu-RnMPCHXsah0M7Asylt7Bk0JMsp9LVG4ZlWOW5U1A0d2FOAK3NmT4Q5gP5DZZ4EsD5xQFJkaoGn8SB4rwMVI" + "AEnB2UqgGJECa6hRJfdjE3ErHERxS3HPU_SALrzjf-HIDuv4lfxMvOwrkF2pfY2jUJ3b8TcIjWcnaa85Rs4LBucKffiSWfFXcfLZMF0EuiVRj9oH6Kp4tOg" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FjbDEvMTU1NjgzNTg2NDI0ODE3MCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2FjbDEiLCJuYW1lIjoiYWNsMSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODY0MjQ4MTcwIiwibWV0YWdlbmVyYXRpb24iOiIyIiwiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MjQuMjQ3WiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjI1LjYyOVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoyNC4yNDdaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6IjBFOXRGTnBaajAvV0tPSjZmVjlwYXc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9hY2wxP2dlbmVyYXRpb249MTU1NjgzNTg2NDI0ODE3MCZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wxLzE1NTY4MzU4NjQyNDgxNzAvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYWNsMS9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYWNsMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODY0MjQ4MTcwIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNPcitwY1h4L2VFQ0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wxLzE1NTY4MzU4NjQyNDgxNzAvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2FjbDEvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJhY2wxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NjQyNDgxNzAiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDT3IrcGNYeC9lRUNFQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsMS8xNTU2ODM1ODY0MjQ4MTcwL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9hY2wxL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYWNsMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODY0MjQ4MTcwIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNPcitwY1h4L2VFQ0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wxLzE1NTY4MzU4NjQyNDgxNzAvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2FjbDEvYWNsL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJhY2wxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NjQyNDgxNzAiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDT3IrcGNYeC9lRUNFQUk9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IkZpRG1WZz09IiwiZXRhZyI6IkNPcitwY1h4L2VFQ0VBST0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FjbDIvMTU1NjgzNTg2NDczNzk0NiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2FjbDIiLCJuYW1lIjoiYWNsMiIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODY0NzM3OTQ2IiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MjQuNzM3WiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjI0LjczN1oiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoyNC43MzdaIiwic2l6ZSI6IjE2IiwibWQ1SGFzaCI6ImM5K08vcmcyNEhURkJjK2V0V2plZmc9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9hY2wyP2dlbmVyYXRpb249MTU1NjgzNTg2NDczNzk0NiZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wyLzE1NTY4MzU4NjQ3Mzc5NDYvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYWNsMi9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYWNsMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODY0NzM3OTQ2IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNKcnh3OFh4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wyLzE1NTY4MzU4NjQ3Mzc5NDYvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2FjbDIvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJhY2wyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NjQ3Mzc5NDYiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSnJ4dzhYeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYWNsMi8xNTU2ODM1ODY0NzM3OTQ2L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9hY2wyL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiYWNsMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODY0NzM3OTQ2IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNKcnh3OFh4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9hY2wyLzE1NTY4MzU4NjQ3Mzc5NDYvZG9tYWluLWdvb2dsZS5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9hY2wyL2FjbC9kb21haW4tZ29vZ2xlLmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImFjbDIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2NDczNzk0NiIsImVudGl0eSI6ImRvbWFpbi1nb29nbGUuY29tIiwicm9sZSI6IlJFQURFUiIsImRvbWFpbiI6Imdvb2dsZS5jb20iLCJldGFnIjoiQ0pyeHc4WHgvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2FjbDIvMTU1NjgzNTg2NDczNzk0Ni91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYWNsMi9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImFjbDIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2NDczNzk0NiIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNKcnh3OFh4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiQXROUnRBPT0iLCJldGFnIjoiQ0pyeHc4WHgvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYnVja2V0SW5Db3B5QXR0cnMvMTU1NjgzNTg4MzY2Mzg1NiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2J1Y2tldEluQ29weUF0dHJzIiwibmFtZSI6ImJ1Y2tldEluQ29weUF0dHJzIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODM2NjM4NTYiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NDMuNjYzWiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQzLjY2M1oiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0My42NjNaIiwic2l6ZSI6IjMiLCJtZDVIYXNoIjoickwwWTIwekMrRnp0NzJWUHpNU2syQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2J1Y2tldEluQ29weUF0dHJzP2dlbmVyYXRpb249MTU1NjgzNTg4MzY2Mzg1NiZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9idWNrZXRJbkNvcHlBdHRycy8xNTU2ODM1ODgzNjYzODU2L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2J1Y2tldEluQ29weUF0dHJzL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJidWNrZXRJbkNvcHlBdHRycyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODgzNjYzODU2IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNQQ0R4ODd4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9idWNrZXRJbkNvcHlBdHRycy8xNTU2ODM1ODgzNjYzODU2L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9idWNrZXRJbkNvcHlBdHRycy9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImJ1Y2tldEluQ29weUF0dHJzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODM2NjM4NTYiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUENEeDg3eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvYnVja2V0SW5Db3B5QXR0cnMvMTU1NjgzNTg4MzY2Mzg1Ni9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vYnVja2V0SW5Db3B5QXR0cnMvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJidWNrZXRJbkNvcHlBdHRycyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODgzNjYzODU2IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNQQ0R4ODd4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9idWNrZXRJbkNvcHlBdHRycy8xNTU2ODM1ODgzNjYzODU2L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9idWNrZXRJbkNvcHlBdHRycy9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImJ1Y2tldEluQ29weUF0dHJzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODM2NjM4NTYiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDUENEeDg3eC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Ino4U3VIUT09IiwiZXRhZyI6IkNQQ0R4ODd4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NoZWNrc3VtLW9iamVjdC8xNTU2ODM1ODU1OTYyMjQxIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY2hlY2tzdW0tb2JqZWN0IiwibmFtZSI6ImNoZWNrc3VtLW9iamVjdCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODU1OTYyMjQxIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjE1Ljk2MVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoxNS45NjFaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MTUuOTYxWiIsInNpemUiOiIxMCIsIm1kNUhhc2giOiIvRjREalRpbGNESUlWRUhuL25BUXNBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY2hlY2tzdW0tb2JqZWN0P2dlbmVyYXRpb249MTU1NjgzNTg1NTk2MjI0MSZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jaGVja3N1bS1vYmplY3QvMTU1NjgzNTg1NTk2MjI0MS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jaGVja3N1bS1vYmplY3QvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNoZWNrc3VtLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODU1OTYyMjQxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNJR2hyTUh4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jaGVja3N1bS1vYmplY3QvMTU1NjgzNTg1NTk2MjI0MS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY2hlY2tzdW0tb2JqZWN0L2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY2hlY2tzdW0tb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NTU5NjIyNDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSUdock1IeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY2hlY2tzdW0tb2JqZWN0LzE1NTY4MzU4NTU5NjIyNDEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NoZWNrc3VtLW9iamVjdC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNoZWNrc3VtLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODU1OTYyMjQxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNJR2hyTUh4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jaGVja3N1bS1vYmplY3QvMTU1NjgzNTg1NTk2MjI0MS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY2hlY2tzdW0tb2JqZWN0L2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY2hlY2tzdW0tb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NTU5NjIyNDEiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSUdock1IeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IlZzdTBnQT09IiwiZXRhZyI6IkNJR2hyTUh4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbXBvc2VkMS8xNTU2ODM1ODU4OTYyOTU3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29tcG9zZWQxIiwibmFtZSI6ImNvbXBvc2VkMSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODU4OTYyOTU3IiwibWV0YWdlbmVyYXRpb24iOiIxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjE4Ljk2MloiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoxOC45NjJaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MTguOTYyWiIsInNpemUiOiI0OCIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb21wb3NlZDE/Z2VuZXJhdGlvbj0xNTU2ODM1ODU4OTYyOTU3JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbXBvc2VkMS8xNTU2ODM1ODU4OTYyOTU3L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbXBvc2VkMS9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY29tcG9zZWQxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NTg5NjI5NTciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0kyMDQ4THgvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbXBvc2VkMS8xNTU2ODM1ODU4OTYyOTU3L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb21wb3NlZDEvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjb21wb3NlZDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg1ODk2Mjk1NyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNJMjA0OEx4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb21wb3NlZDEvMTU1NjgzNTg1ODk2Mjk1Ny9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29tcG9zZWQxL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY29tcG9zZWQxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NTg5NjI5NTciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0kyMDQ4THgvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbXBvc2VkMS8xNTU2ODM1ODU4OTYyOTU3L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb21wb3NlZDEvYWNsL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjb21wb3NlZDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg1ODk2Mjk1NyIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNJMjA0OEx4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiQWJXQnlRPT0iLCJjb21wb25lbnRDb3VudCI6MywiZXRhZyI6IkNJMjA0OEx4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbXBvc2VkMi8xNTU2ODM1ODU5NTY0Nzk5Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29tcG9zZWQyIiwibmFtZSI6ImNvbXBvc2VkMiIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODU5NTY0Nzk5IiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L2pzb24iLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MTkuNTY0WiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjE5LjU2NFoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoxOS41NjRaIiwic2l6ZSI6IjQ4IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbXBvc2VkMj9nZW5lcmF0aW9uPTE1NTY4MzU4NTk1NjQ3OTkmYWx0PW1lZGlhIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29tcG9zZWQyLzE1NTY4MzU4NTk1NjQ3OTkvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29tcG9zZWQyL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjb21wb3NlZDIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg1OTU2NDc5OSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDUCtSaU1QeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29tcG9zZWQyLzE1NTY4MzU4NTk1NjQ3OTkvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbXBvc2VkMi9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbXBvc2VkMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODU5NTY0Nzk5IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ1ArUmlNUHgvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2NvbXBvc2VkMi8xNTU2ODM1ODU5NTY0Nzk5L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb21wb3NlZDIvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjb21wb3NlZDIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg1OTU2NDc5OSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDUCtSaU1QeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29tcG9zZWQyLzE1NTY4MzU4NTk1NjQ3OTkvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbXBvc2VkMi9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImNvbXBvc2VkMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODU5NTY0Nzk5IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ1ArUmlNUHgvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJBYldCeVE9PSIsImNvbXBvbmVudENvdW50IjozLCJldGFnIjoiQ1ArUmlNUHgvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29udGVudC8xNTU2ODM1ODc0MzUyMjA3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudCIsIm5hbWUiOiJjb250ZW50IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzQzNTIyMDciLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6ImltYWdlL2pwZWciLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzQuMzUxWiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjM0LjM1MVoiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozNC4zNTFaIiwic2l6ZSI6IjU0IiwibWQ1SGFzaCI6Ik44cDgvczlGd2RBQW5sdnIvbEVBalE9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50P2dlbmVyYXRpb249MTU1NjgzNTg3NDM1MjIwNyZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb250ZW50LzE1NTY4MzU4NzQzNTIyMDcvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY29udGVudC9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc0MzUyMjA3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNNL1lqc3J4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb250ZW50LzE1NTY4MzU4NzQzNTIyMDcvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbnRlbnQvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzQzNTIyMDciLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTS9ZanNyeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY29udGVudC8xNTU2ODM1ODc0MzUyMjA3L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jb250ZW50L2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY29udGVudCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc0MzUyMjA3IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNNL1lqc3J4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jb250ZW50LzE1NTY4MzU4NzQzNTIyMDcvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2NvbnRlbnQvYWNsL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjb250ZW50IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzQzNTIyMDciLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTS9ZanNyeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IkdvVWJzUT09IiwiZXRhZyI6IkNNL1lqc3J4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU1NjgzNTg3NTA1ODY4MCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24iLCJuYW1lIjoiY3VzdG9tZXItZW5jcnlwdGlvbiIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc1MDU4NjgwIiwibWV0YWdlbmVyYXRpb24iOiIzIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjM1LjA1OFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozNi4yMjVaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzUuMDU4WiIsInNpemUiOiIxMSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uP2dlbmVyYXRpb249MTU1NjgzNTg3NTA1ODY4MCZhbHQ9bWVkaWEiLCJjb250ZW50TGFuZ3VhZ2UiOiJlbiIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU1NjgzNTg3NTA1ODY4MC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzUwNTg2ODAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ1BqbnVjcngvZUVDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU1NjgzNTg3NTA1ODY4MC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NTA1ODY4MCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNQam51Y3J4L2VFQ0VBTT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLzE1NTY4MzU4NzUwNTg2ODAvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24vYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NzUwNTg2ODAiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1BqbnVjcngvZUVDRUFNPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24vMTU1NjgzNTg3NTA1ODY4MC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24iLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3NTA1ODY4MCIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQam51Y3J4L2VFQ0VBTT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiZXRhZyI6IkNQam51Y3J4L2VFQ0VBTT0iLCJjdXN0b21lckVuY3J5cHRpb24iOnsiZW5jcnlwdGlvbkFsZ29yaXRobSI6IkFFUzI1NiIsImtleVNoYTI1NiI6IkgrTG1uWGhSb2VJNlRNVzVic1Y2SHlVazZweUdjMklNYnFZYkFYQmNwczA9In19LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi0yLzE1NTY4MzU4ODA3MTc1MDYiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uLTIiLCJuYW1lIjoiY3VzdG9tZXItZW5jcnlwdGlvbi0yIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODA3MTc1MDYiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NDAuNzE3WiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQwLjcxN1oiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0MC43MTdaIiwic2l6ZSI6IjExIiwibWQ1SGFzaCI6Inh3V05GYTBWZFhQbWxBd3JsY0FKY2c9PSIsIm1lZGlhTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2Rvd25sb2FkL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uLTI/Z2VuZXJhdGlvbj0xNTU2ODM1ODgwNzE3NTA2JmFsdD1tZWRpYSIsImNvbnRlbnRMYW5ndWFnZSI6ImVuIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi0yLzE1NTY4MzU4ODA3MTc1MDYvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0yL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4MDcxNzUwNiIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTUtaazgzeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi0yLzE1NTY4MzU4ODA3MTc1MDYvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODgwNzE3NTA2IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ01LWms4M3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2N1c3RvbWVyLWVuY3J5cHRpb24tMi8xNTU2ODM1ODgwNzE3NTA2L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uLTIvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJjdXN0b21lci1lbmNyeXB0aW9uLTIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4MDcxNzUwNiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTUtaazgzeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi0yLzE1NTY4MzU4ODA3MTc1MDYvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMi9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODgwNzE3NTA2IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ01LWms4M3gvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJyME5Hcmc9PSIsImV0YWciOiJDTUtaazgzeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTMvMTU1NjgzNTg3OTg1OTQ0MCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMyIsIm5hbWUiOiJjdXN0b21lci1lbmNyeXB0aW9uLTMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg3OTg1OTQ0MCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDozOS44NTlaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MzkuODU5WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjM5Ljg1OVoiLCJzaXplIjoiMjIiLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0zP2dlbmVyYXRpb249MTU1NjgzNTg3OTg1OTQ0MCZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTMvMTU1NjgzNTg3OTg1OTQ0MC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9jdXN0b21lci1lbmNyeXB0aW9uLTMvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc5ODU5NDQwIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNQRHAzc3p4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTMvMTU1NjgzNTg3OTg1OTQ0MC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0zL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0zIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4Nzk4NTk0NDAiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDUERwM3N6eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvY3VzdG9tZXItZW5jcnlwdGlvbi0zLzE1NTY4MzU4Nzk4NTk0NDAvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2N1c3RvbWVyLWVuY3J5cHRpb24tMy9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6ImN1c3RvbWVyLWVuY3J5cHRpb24tMyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODc5ODU5NDQwIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNQRHAzc3p4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9jdXN0b21lci1lbmNyeXB0aW9uLTMvMTU1NjgzNTg3OTg1OTQ0MC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vY3VzdG9tZXItZW5jcnlwdGlvbi0zL2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0IjoiY3VzdG9tZXItZW5jcnlwdGlvbi0zIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4Nzk4NTk0NDAiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDUERwM3N6eC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNvbXBvbmVudENvdW50IjoyLCJldGFnIjoiQ1BEcDNzengvZUVDRUFFPSIsImN1c3RvbWVyRW5jcnlwdGlvbiI6eyJlbmNyeXB0aW9uQWxnb3JpdGhtIjoiQUVTMjU2Iiwia2V5U2hhMjU2IjoiSCtMbW5YaFJvZUk2VE1XNWJzVjZIeVVrNnB5R2MySU1icVliQVhCY3BzMD0ifX0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9nemlwLXRlc3QvMTU1NjgzNTg2MDI1MTg2NyIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2d6aXAtdGVzdCIsIm5hbWUiOiJnemlwLXRlc3QiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2MDI1MTg2NyIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoiYXBwbGljYXRpb24veC1nemlwIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjIwLjI1MVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoyMC4yNTFaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MjAuMjUxWiIsInNpemUiOiIyNyIsIm1kNUhhc2giOiJPdEN3K2FSUklScUtHRkFFT2F4K3F3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vZ3ppcC10ZXN0P2dlbmVyYXRpb249MTU1NjgzNTg2MDI1MTg2NyZhbHQ9bWVkaWEiLCJjb250ZW50RW5jb2RpbmciOiJnemlwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvZ3ppcC10ZXN0LzE1NTY4MzU4NjAyNTE4NjcvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vZ3ppcC10ZXN0L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJnemlwLXRlc3QiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2MDI1MTg2NyIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDTnVKc3NQeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvZ3ppcC10ZXN0LzE1NTY4MzU4NjAyNTE4NjcvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2d6aXAtdGVzdC9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Imd6aXAtdGVzdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODYwMjUxODY3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ051SnNzUHgvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2d6aXAtdGVzdC8xNTU2ODM1ODYwMjUxODY3L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9nemlwLXRlc3QvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJnemlwLXRlc3QiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg2MDI1MTg2NyIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDTnVKc3NQeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvZ3ppcC10ZXN0LzE1NTY4MzU4NjAyNTE4NjcvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2d6aXAtdGVzdC9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Imd6aXAtdGVzdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODYwMjUxODY3IiwiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInJvbGUiOiJPV05FUiIsImVtYWlsIjoiYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJldGFnIjoiQ051SnNzUHgvZUVDRUFFPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiI5RGh3QkE9PSIsImV0YWciOiJDTnVKc3NQeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9oYXNoZXNPblVwbG9hZC0xLzE1NTY4MzU4ODUwNTE2ODAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9oYXNoZXNPblVwbG9hZC0xIiwibmFtZSI6Imhhc2hlc09uVXBsb2FkLTEiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4NTA1MTY4MCIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0NS4wNTFaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NDUuMDUxWiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQ1LjA1MVoiLCJzaXplIjoiMjciLCJtZDVIYXNoIjoib2ZaakdsY1hQSmlHT0FmS0ZiSmwxUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTE/Z2VuZXJhdGlvbj0xNTU2ODM1ODg1MDUxNjgwJmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU1NjgzNTg4NTA1MTY4MC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9oYXNoZXNPblVwbG9hZC0xL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJoYXNoZXNPblVwbG9hZC0xIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODUwNTE2ODAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0tEZW04L3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU1NjgzNTg4NTA1MTY4MC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vaGFzaGVzT25VcGxvYWQtMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4NTA1MTY4MCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNLRGVtOC94L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9oYXNoZXNPblVwbG9hZC0xLzE1NTY4MzU4ODUwNTE2ODAvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL2hhc2hlc09uVXBsb2FkLTEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJoYXNoZXNPblVwbG9hZC0xIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODUwNTE2ODAiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0tEZW04L3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL2hhc2hlc09uVXBsb2FkLTEvMTU1NjgzNTg4NTA1MTY4MC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vaGFzaGVzT25VcGxvYWQtMS9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Imhhc2hlc09uVXBsb2FkLTEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4NTA1MTY4MCIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNLRGVtOC94L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiY0grQSt3PT0iLCJldGFnIjoiQ0tEZW04L3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqL3dpdGgvc2xhc2hlcy8xNTU2ODM1ODQ1NTExMDE4Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMiLCJuYW1lIjoib2JqL3dpdGgvc2xhc2hlcyIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjUxMFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS41MTBaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuNTEwWiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJ1ZXovaEo2d0FyZURRbmNjRFVkeGZnPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXM/Z2VuZXJhdGlvbj0xNTU2ODM1ODQ1NTExMDE4JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU1NjgzNTg0NTUxMTAxOC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmolMkZ3aXRoJTJGc2xhc2hlcy9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmovd2l0aC9zbGFzaGVzLzE1NTY4MzU4NDU1MTEwMTgvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iaiUyRndpdGglMkZzbGFzaGVzL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoib2JqL3dpdGgvc2xhc2hlcyIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ1NTExMDE4IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU1NjgzNTg0NTUxMTAxOC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDU1MTEwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ09xdXJyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iai93aXRoL3NsYXNoZXMvMTU1NjgzNTg0NTUxMTAxOC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqJTJGd2l0aCUyRnNsYXNoZXMvYWNsL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmovd2l0aC9zbGFzaGVzIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDU1MTEwMTgiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDT3F1cnJ6eC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6Im9lbytGQT09IiwiZXRhZyI6IkNPcXVycnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajEvMTU1NjgzNTg0NDY0NzIyNSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEiLCJuYW1lIjoib2JqMSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODQ0NjQ3MjI1IiwibWV0YWdlbmVyYXRpb24iOiI0IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA0LjY0NloiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoxNy4xMjFaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDQuNjQ2WiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJTbmEvVVd2N21jWkkyM29FNXRVYWJRPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMT9nZW5lcmF0aW9uPTE1NTY4MzU4NDQ2NDcyMjUmYWx0PW1lZGlhIiwiY2FjaGVDb250cm9sIjoicHVibGljLCBtYXgtYWdlPTYwIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS8xNTU2ODM1ODQ0NjQ3MjI1L2RvbWFpbi1nb29nbGUuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvZG9tYWluLWdvb2dsZS5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJkb21haW4tZ29vZ2xlLmNvbSIsInJvbGUiOiJSRUFERVIiLCJkb21haW4iOiJnb29nbGUuY29tIiwiZXRhZyI6IkNMblMrYnZ4L2VFQ0VBUT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoxLzE1NTY4MzU4NDQ2NDcyMjUvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajEvYWNsL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTG5TK2J2eC9lRUNFQVE9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvb2JqMS8xNTU2ODM1ODQ0NjQ3MjI1L2FsbFVzZXJzIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMS9hY2wvYWxsVXNlcnMiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDQ2NDcyMjUiLCJlbnRpdHkiOiJhbGxVc2VycyIsInJvbGUiOiJSRUFERVIiLCJldGFnIjoiQ0xuUytidngvZUVDRUFRPSJ9XSwib3duZXIiOnsiZW50aXR5IjoidXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSJ9LCJjcmMzMmMiOiJDVDZkVEE9PSIsImV0YWciOiJDTG5TK2J2eC9lRUNFQVE9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3QiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyIiwibmFtZSI6Im9iajIiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImNvbnRlbnRUeXBlIjoidGV4dC9wbGFpbiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDowNS4wNDhaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MDUuMDQ4WiIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwidGltZVN0b3JhZ2VDbGFzc1VwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjA1LjA0OFoiLCJzaXplIjoiMTYiLCJtZDVIYXNoIjoiQ0Mxd2x3ck1PSXEwZHZNa015bFVoZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajI/Z2VuZXJhdGlvbj0xNTU2ODM1ODQ1MDQ5MjQ1JmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9vYmoyL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMi9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vYmoyLzE1NTY4MzU4NDUwNDkyNDUvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL29iajIvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJvYmoyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NDUwNDkyNDUiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL29iajIvMTU1NjgzNTg0NTA0OTI0NS91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vb2JqMi9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Im9iajIiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg0NTA0OTI0NSIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNKMlhrcnp4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoialY1QVZRPT0iLCJldGFnIjoiQ0oyWGtyengvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcG9zYy8xNTU2ODM1ODgyNzYwNjA3Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vcG9zYyIsIm5hbWUiOiJwb3NjIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODI3NjA2MDciLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NDIuNzYwWiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQyLjc2MFoiLCJzdG9yYWdlQ2xhc3MiOiJNVUxUSV9SRUdJT05BTCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0Mi43NjBaIiwic2l6ZSI6IjMiLCJtZDVIYXNoIjoickwwWTIwekMrRnp0NzJWUHpNU2syQT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3Bvc2M/Z2VuZXJhdGlvbj0xNTU2ODM1ODgyNzYwNjA3JmFsdD1tZWRpYSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Bvc2MvMTU1NjgzNTg4Mjc2MDYwNy9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9wb3NjL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJwb3NjIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODI3NjA2MDciLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0ovemo4N3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Bvc2MvMTU1NjgzNTg4Mjc2MDYwNy9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vcG9zYy9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InBvc2MiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4Mjc2MDYwNyIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNKL3pqODd4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9wb3NjLzE1NTY4MzU4ODI3NjA2MDcvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3Bvc2MvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJwb3NjIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODI3NjA2MDciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0ovemo4N3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3Bvc2MvMTU1NjgzNTg4Mjc2MDYwNy91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vcG9zYy9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InBvc2MiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTg4Mjc2MDYwNyIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNKL3pqODd4L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiejhTdUhRPT0iLCJldGFnIjoiQ0ovemo4N3gvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcG9zYzIvMTU1NjgzNTg4MzE1Mjc3MCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3Bvc2MyIiwibmFtZSI6InBvc2MyIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODMxNTI3NzAiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6NDMuMTUyWiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjQzLjE1MloiLCJzdG9yYWdlQ2xhc3MiOiJNVUxUSV9SRUdJT05BTCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDo0My4xNTJaIiwic2l6ZSI6IjMiLCJtZDVIYXNoIjoiOVdHcTl1OEw4VTFDQ0x0R3BNeXpyUT09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3Bvc2MyP2dlbmVyYXRpb249MTU1NjgzNTg4MzE1Mjc3MCZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9wb3NjMi8xNTU2ODM1ODgzMTUyNzcwL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3Bvc2MyL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJwb3NjMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODgzMTUyNzcwIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNJTHJwODd4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9wb3NjMi8xNTU2ODM1ODgzMTUyNzcwL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9wb3NjMi9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InBvc2MyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODMxNTI3NzAiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDSUxycDg3eC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvcG9zYzIvMTU1NjgzNTg4MzE1Mjc3MC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vcG9zYzIvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJwb3NjMiIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODgzMTUyNzcwIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNJTHJwODd4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9wb3NjMi8xNTU2ODM1ODgzMTUyNzcwL3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9wb3NjMi9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InBvc2MyIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4ODMxNTI3NzAiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDSUxycDg3eC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IjE3cUFCUT09IiwiZXRhZyI6IkNJTHJwODd4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3NpZ25lZFVSTC8xNTU2ODM1ODYxMTQxMjA2Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vc2lnbmVkVVJMIiwibmFtZSI6InNpZ25lZFVSTCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODYxMTQxMjA2IiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjIxLjE0MFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoyMS4xNDBaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MjEuMTQwWiIsInNpemUiOiIyOSIsIm1kNUhhc2giOiJKeXh2Z3dtOW4yTXNyR1RNUGJNZVlBPT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vc2lnbmVkVVJMP2dlbmVyYXRpb249MTU1NjgzNTg2MTE0MTIwNiZhbHQ9bWVkaWEiLCJjYWNoZUNvbnRyb2wiOiJwdWJsaWMsIG1heC1hZ2U9NjAiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9zaWduZWRVUkwvMTU1NjgzNTg2MTE0MTIwNi9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9zaWduZWRVUkwvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InNpZ25lZFVSTCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODYxMTQxMjA2IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNOYXQ2TVB4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9zaWduZWRVUkwvMTU1NjgzNTg2MTE0MTIwNi9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vc2lnbmVkVVJML2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoic2lnbmVkVVJMIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NjExNDEyMDYiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTmF0Nk1QeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvc2lnbmVkVVJMLzE1NTY4MzU4NjExNDEyMDYvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3NpZ25lZFVSTC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InNpZ25lZFVSTCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODYxMTQxMjA2IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNOYXQ2TVB4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9zaWduZWRVUkwvMTU1NjgzNTg2MTE0MTIwNi91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vc2lnbmVkVVJML2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoic2lnbmVkVVJMIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NjExNDEyMDYiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTmF0Nk1QeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IlpUcUFMdz09IiwiZXRhZyI6IkNOYXQ2TVB4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3NvbWUtb2JqZWN0LzE1NTY4MzU5ODgyNzM1MzAiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9zb21lLW9iamVjdCIsIm5hbWUiOiJzb21lLW9iamVjdCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsImdlbmVyYXRpb24iOiIxNTU2ODM1OTg4MjczNTMwIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiY29udGVudFR5cGUiOiJ0ZXh0L3BsYWluIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjI4LjI3M1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoyOC4yNzNaIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJ0aW1lU3RvcmFnZUNsYXNzVXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjY6MjguMjczWiIsInNpemUiOiIxNiIsIm1kNUhhc2giOiJ0SGFjZlNLZkJ5QysvK2NsRzdxK2p3PT0iLCJtZWRpYUxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9kb3dubG9hZC9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vc29tZS1vYmplY3Q/Z2VuZXJhdGlvbj0xNTU2ODM1OTg4MjczNTMwJmFsdD1tZWRpYSIsImNhY2hlQ29udHJvbCI6InB1YmxpYywgbWF4LWFnZT02MCIsImFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3NvbWUtb2JqZWN0LzE1NTY4MzU5ODgyNzM1MzAvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vc29tZS1vYmplY3QvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5ODgyNzM1MzAiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ1ByeXQ0RHkvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3NvbWUtb2JqZWN0LzE1NTY4MzU5ODgyNzM1MzAvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3NvbWUtb2JqZWN0L2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoic29tZS1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk4ODI3MzUzMCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNQcnl0NER5L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9zb21lLW9iamVjdC8xNTU2ODM1OTg4MjczNTMwL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby9zb21lLW9iamVjdC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6InNvbWUtb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU5ODgyNzM1MzAiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ1ByeXQ0RHkvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL3NvbWUtb2JqZWN0LzE1NTY4MzU5ODgyNzM1MzAvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3NvbWUtb2JqZWN0L2FjbC91c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwib2JqZWN0Ijoic29tZS1vYmplY3QiLCJnZW5lcmF0aW9uIjoiMTU1NjgzNTk4ODI3MzUzMCIsImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJyb2xlIjoiT1dORVIiLCJlbWFpbCI6ImFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiZXRhZyI6IkNQcnl0NER5L2VFQ0VBRT0ifV0sIm93bmVyIjp7ImVudGl0eSI6InVzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20ifSwiY3JjMzJjIjoiU20xZ0t3PT0iLCJldGFnIjoiQ1ByeXQ0RHkvZUVDRUFFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvemVyby1vYmplY3QvMTU1NjgzNTg1NjUzNzAxNiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3plcm8tb2JqZWN0IiwibmFtZSI6Inplcm8tb2JqZWN0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxIiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NTY1MzcwMTYiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJjb250ZW50VHlwZSI6InRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MjQ6MTYuNTM2WiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI0OjE2LjUzNloiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsInRpbWVTdG9yYWdlQ2xhc3NVcGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNDoxNi41MzZaIiwic2l6ZSI6IjAiLCJtZDVIYXNoIjoiMUIyTTJZOEFzZ1RwZ0FtWTdQaENmZz09IiwibWVkaWFMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWQvc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3plcm8tb2JqZWN0P2dlbmVyYXRpb249MTU1NjgzNTg1NjUzNzAxNiZhbHQ9bWVkaWEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS96ZXJvLW9iamVjdC8xNTU2ODM1ODU2NTM3MDE2L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS9vL3plcm8tb2JqZWN0L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJ6ZXJvLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODU2NTM3MDE2IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNMaXJ6OEh4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS96ZXJvLW9iamVjdC8xNTU2ODM1ODU2NTM3MDE2L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby96ZXJvLW9iamVjdC9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Inplcm8tb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NTY1MzcwMTYiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDTGlyejhIeC9lRUNFQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvemVyby1vYmplY3QvMTU1NjgzNTg1NjUzNzAxNi9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDAxL28vemVyby1vYmplY3QvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEiLCJvYmplY3QiOiJ6ZXJvLW9iamVjdCIsImdlbmVyYXRpb24iOiIxNTU2ODM1ODU2NTM3MDE2IiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNMaXJ6OEh4L2VFQ0VBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMS96ZXJvLW9iamVjdC8xNTU2ODM1ODU2NTM3MDE2L3VzZXItYW5vdGhlci10aGluZ0BkZWtsZXJrLXNhbmRib3guaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMDEvby96ZXJvLW9iamVjdC9hY2wvdXNlci1hbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAwMSIsIm9iamVjdCI6Inplcm8tb2JqZWN0IiwiZ2VuZXJhdGlvbiI6IjE1NTY4MzU4NTY1MzcwMTYiLCJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwicm9sZSI6Ik9XTkVSIiwiZW1haWwiOiJhbm90aGVyLXRoaW5nQGRla2xlcmstc2FuZGJveC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImV0YWciOiJDTGlyejhIeC9lRUNFQUU9In1dLCJvd25lciI6eyJlbnRpdHkiOiJ1c2VyLWFub3RoZXItdGhpbmdAZGVrbGVyay1zYW5kYm94LmlhbS5nc2VydmljZWFjY291bnQuY29tIn0sImNyYzMyYyI6IkFBQUFBQT09IiwiZXRhZyI6IkNMaXJ6OEh4L2VFQ0VBRT0ifV19" } }, { - "ID": "15f07dc5d2ef43d3", + "ID": "744cbe6970c9623b", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-71925146607841-0017/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/acl1?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -23815,28 +28584,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "26" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:21 GMT" + "Thu, 02 May 2019 22:26:35 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:21 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -23845,18 +28622,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqDEC7DMfVPk1Bs2nh5Gb7M2pdZdxXgD1Xq0-xyqFys5d7_hGV8d2rDy4QcLf0y7LVAZSePu1rWgn_Ew73ik39LT3bhIzbm2slZ7UhOKfeLILyi7R4" + "AEnB2UpfI-4jHQ7K_XJuo8cMIfOvPLKerfuQA1KlRDBi4Fq11Uc9i--oKNuFL_MbH0CCxK8PeI4r4fmZILF9hdSGAMMpMmyX0w67j7t84C4tRDx2LnbzG4I" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIn0=" + "Body": "" } }, { - "ID": "ec220f5355c15c33", + "ID": "a2bea52380600211", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-71925146607841-0017?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/acl2?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -23866,7 +28652,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -23874,6 +28662,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -23884,7 +28675,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:21 GMT" + "Thu, 02 May 2019 22:26:35 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -23899,18 +28690,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqrcLW53iPjXYDmvtCvmN-5-xFTA0F18fCRC1T_QI1mNW5lqnKMw-IeBtfYCvG-i94FT2SWfpG-brhekOsjxNt-BSqjgObBVllisgVleb99UoQkXrE" + "AEnB2UrzTcVhZWJuBZITVX_K6haiVlOGb5fEYRdiiH8ODa4XsVSPl4FCDs7zPpKMTfoZA1veIMd4ccdcj8rUqWDMcRfDU5l4cOGvNhGZV-h9S2AVJfl6GdE" ] }, "Body": "" } }, { - "ID": "775fd460a95118c4", + "ID": "e187777c49170a6d", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-71925146607841-0018/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/bucketInCopyAttrs?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -23920,28 +28720,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "26" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:22 GMT" + "Thu, 02 May 2019 22:26:36 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:22 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -23950,18 +28758,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Up_yPY3c9oBtjwkBfyFAcyQCJWR0lGRAnDJWPjcdJ40pGzjWZUR-dFXDVlOv8Tm1TZ0TV0iFGOF1Zi5CA1eVu2SOvHFgXqEz3ABQUaag7aLLCuE7e8" + "AEnB2UouPwITheFghtKlzs2vxoAGnEm_V7OZZnYkk_0pLhV8g5YN6TPRS2n1h0iAtzkuFXYtjovp3ifqt_351LO6-CobCar6VgRnJ-_EQ9WgOWhIC9DzYTs" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIn0=" + "Body": "" } }, { - "ID": "e98aea3c012263a8", + "ID": "653fa745ed683364", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-71925146607841-0018?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/checksum-object?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -23971,7 +28788,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -23979,6 +28798,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -23989,7 +28811,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:22 GMT" + "Thu, 02 May 2019 22:26:36 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -24004,18 +28826,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Ura34IZSqHubAahCMk0V_ZTNWU8In7w2V5bn_clwbuGJin6L6NAjOOoZHAqfV0n23ClIH8LrY_y6pkXmmK3Rg4c2En9iVh2Mf5IuZDfMIEUyFJbR7w" + "AEnB2UoBLZLK-ePmvYxO2ByvMQ1dXb_4-5yhOR-1nYkxjkINZf5fY9ptO2H4RfRtbIrRQ-QQNZHqZGgCOGJakKLkNgVI2_ExobQLkJ-JaJ-ViDWL9GZCEgU" ] }, "Body": "" } }, { - "ID": "31eee91bb51ef8fb", + "ID": "91230665f80c46f7", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-73953866565874-0017/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/composed1?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24025,28 +28856,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "26" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:22 GMT" + "Thu, 02 May 2019 22:26:36 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:22 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -24055,18 +28894,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoNIopPVBopkjlC9TgnfALH1ooENKe3uYBFNc297hXrKmuckqqb_PlBNWaHEVqVAJzGiZgIAMLSnj-bG-392kPpkyemNT8y_SvNHWlGJTAkx6gIJD0" + "AEnB2Upasg8dCwbL7dWntUy3O1t_wWVeDNNT3YCz1uVNL8QUNh4z75y0p9OfL57wFX4CUv3NV06Oi9f7a85m42BzgDZl-kqmv4com_INYmRYjKbwrTdFB8A" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIn0=" + "Body": "" } }, { - "ID": "534c4bdf83b5b078", + "ID": "dc68e1f94de4fa2a", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-73953866565874-0017?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/composed2?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24076,7 +28924,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -24084,6 +28934,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -24094,7 +28947,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:22 GMT" + "Thu, 02 May 2019 22:26:36 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -24109,18 +28962,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoMmh4uyg_AZbOrEA-7v7HLVCI7nWyJCrnPqF3174hh1qE3GzRWadhuo12Bo_nJ-qsWUTjXmlgqM2J3ydLpmiaexDThSnSs40Hb88sxTHnzDydtVxc" + "AEnB2UqXdUtFVSSFIrK72haTC8pKLogl9pB4lDLpARc8oDKdNt1yfbHj4VAQH0M_Doqj1mLY2LVmThFxvG_1mvtVBm-N4x_J-c5Izq46lZh_xx3wOQEYZKQ" ] }, "Body": "" } }, { - "ID": "871bd732079ad632", + "ID": "db5b5c31ef8e503e", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-73953866565874-0018/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/content?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24130,28 +28992,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "26" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:22 GMT" + "Thu, 02 May 2019 22:26:36 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:22 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -24160,18 +29030,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrC8hGLDYXRNIXMSmLCnXJVT-Kb9cHwVmTCkoy2wgGTRdKx-Es_cw9QLwwhYy_bpvrsFBG0fXaoFRltkUL2-Ut6fwKrHVArEriOSAPhAhWiAV3TCL0" + "AEnB2Ur2nVuDhUpL1-5n7rzvboeHuOBlvh-59eoy59Y5ZIyvUy6FXYj2eCphVTBFkaIPXK7XIS6DJXkPzZABjiFi4hMA7Ewdgp860sYu44qguzhTfOymXYY" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIn0=" + "Body": "" } }, { - "ID": "71c5a66bf77319ce", + "ID": "f44103066254972d", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-73953866565874-0018?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24181,7 +29060,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -24189,6 +29070,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -24199,7 +29083,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:23 GMT" + "Thu, 02 May 2019 22:26:36 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -24214,18 +29098,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uoh8bBCUykso5t4OCQoFJUKm23dOfGTrWKi2_R2i9MYM7vpWf-qSoMxn5OaVTppvtgdjj_rBT2YsiAutallrNyuB7UpAU8Ziy2vVbpIC6UrSfxClnU" + "AEnB2Uqul73HMDr4p6XCqdfKz99RILwd68VT50DnynneOl5m5E_a7ky2mbMA8mdM6xyAWCQtiJm8dCxvIuKYtjLavA8JUlkGIqqCLGfLbB2EvWahd55Fw_A" ] }, "Body": "" } }, { - "ID": "961ed03e7f120902", + "ID": "99aa9c86d4998414", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-74102606057557-0017/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption-2?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24235,28 +29128,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "26" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:23 GMT" + "Thu, 02 May 2019 22:26:36 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:23 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -24265,18 +29166,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoL5qLW-N0feNY-Mk7E1adhDtA2B7KqDTrD7QcrUvUajKR88j7wvU1HtYfsFpNFs9hqRbDV79-qTqmaFb0YMAVBOEFJBYNMZGQO2rkz7IY4iS4y1YE" + "AEnB2Uqfk5JfeEeFo80cy1Y-OxXgzSIbt_x7qDWML2yJopIrt9DsPmRq4cDVFqg6sUFStj6aMrjxP7iu_tbwZzS_3BtnwqfPrJZvHllZ7tdeFTXLmto742o" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIn0=" + "Body": "" } }, { - "ID": "f0c9aa66ea0d54aa", + "ID": "24bd829460fb4df6", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-74102606057557-0017?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/customer-encryption-3?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24286,7 +29196,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -24294,6 +29206,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -24304,7 +29219,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:24 GMT" + "Thu, 02 May 2019 22:26:37 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -24319,18 +29234,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Upuxan1H-0zIViw5o39z4QyJi-oRxQv6Oe6zALnSWS1mQrVSjBKJx2xpn35S8ncuffAO7WXWAygQ9SW2LhWdUJAJz0UHVy5r-yvvLUJgKv404Yr_5U" + "AEnB2UprF0LO3CObAApP8iwUO6IvC-Yh-5whtr0F_mMzaj0rltEl4C-AZjNuBMGuQUue-v9oBqb-nQU2ykIenSZ3UYnK4XVV7moFIS43VyP7pByYqsHPkMo" ] }, "Body": "" } }, { - "ID": "371fcc67cc2af2ad", + "ID": "acdf7531eddfd72c", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-74102606057557-0018/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/gzip-test?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24340,28 +29264,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "26" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:24 GMT" + "Thu, 02 May 2019 22:26:37 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:24 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -24370,18 +29302,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrDstXbJqjZW9BxIVt7gj1Vv2dSExQsEGcEh_xJnrLPCBvy1CGx5wlw_gS2Q8-5EALjHb8APf93fqMDbvqMIofcOSotzFcCjek2HK_d_tZb4wxfESU" + "AEnB2UqAEWwZD_lXrdbrjMg-PYbmLP1-zSzjESAs-osetXJrFTueJ6ufxVfA3xkMG5KjtEz-68YryfKl9gAGsgfseX6H5COwltvyW6pJSdxDdA-dTV_S8eU" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIn0=" + "Body": "" } }, { - "ID": "24e7598235055218", + "ID": "8facd7ede0dc71a6", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-74102606057557-0018?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/hashesOnUpload-1?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24391,7 +29332,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -24399,6 +29342,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -24409,7 +29355,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:24 GMT" + "Thu, 02 May 2019 22:26:37 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -24424,18 +29370,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqkaNCKfFtjjCj0KuVx5rhbJIYeijPchJhLe6535Cf3aQ_u4GQbbfVgAWUPX5IQ3eS6w79PVfNkmQRQoqzT1WHtaplsT9LBNBcWiqkPwHat_VKvmjE" + "AEnB2UrInkaBVPO1ip6mFSpF0Nihd1wYE9HNfIz8HfFsZkiEVG1mX7eKMItsbmNwWMehWZ0qaKAf081imDi7DmKqs6mEy7vyTokMNXVUp5LrFoQ-yDfVRuc" ] }, "Body": "" } }, { - "ID": "9d286bfd0ef7d15d", + "ID": "6affac5f0a8dea5a", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-75551709381086-0017/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/obj%2Fwith%2Fslashes?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24445,28 +29400,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "26" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:24 GMT" + "Thu, 02 May 2019 22:26:37 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:24 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -24475,18 +29438,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoiCaPoyFZsmK7kK_OGQ1QCImFkBzXufrOLCRodGKR83N4WdgPq1e-WtK8C_jSY1EKBzPoAdIAhQJhV2q6PwLzZQ8G0EINZWcrMJ4jcizhBQCXG1p0" + "AEnB2UqhbUYzZ-vUqGcyfzGFaQrr89Q05cXGCB0EbWA2Dy8dmQxB3uWJ7_FUwi6Ish-VMpOrZv78bT9qAHd5Tr5b3s8bTCX6QR9HlelvxkKdyrUv2G8QQuY" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIn0=" + "Body": "" } }, { - "ID": "c3723db6f790daf7", + "ID": "8258a6e1b5dc73aa", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-75551709381086-0017?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/obj1?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24496,7 +29468,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -24504,6 +29478,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -24514,7 +29491,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:25 GMT" + "Thu, 02 May 2019 22:26:37 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -24529,18 +29506,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UpJNjn2p-MLZmJL47xNySRAxcodMN26j6Uo0244EU3PWPvfQCc_9ulVhXkmGZlB4FdKd_8RF8GiJF6Z-2HGqcpl4uJ2ykErTifRS5RxMqcCqyOMsWY" + "AEnB2Upola6CIBa9ONjl53PxMpFGQkHvYEau96KG2mgCmUDWDhxZKCw0T58QQRx8OIJW5sisH_acrPcg2o-LLdJgOxCtlVSw-t6wGisVL2-TSopEuezgmu4" ] }, "Body": "" } }, { - "ID": "f357064a6a0d20de", + "ID": "12186a37ecd09333", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-75551709381086-0018/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/obj2?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24550,28 +29536,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "26" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:25 GMT" + "Thu, 02 May 2019 22:26:37 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:25 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -24580,18 +29574,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uq1gDAK7tI9jAV5jnu7USpCSvenTaB6mmL4fWDQwCBv7yKc8Gu479mZsery2BRVARSDV9R4wBJ_U0NmnhgdAnM1MOR3iR5kxryt9i2BJsphmY26MiQ" + "AEnB2UpFxLaOTSsPe7hDbzBznGCoZvAUmeNgWBwS45X2j3rpLlk8_MIFFuCa-aBpAM83d23ixudKpklnhiqCcrQQotCUZhkrMLpWLHBJdmcM0d5rCKL6opY" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIn0=" + "Body": "" } }, { - "ID": "87ec5b6682d20dcc", + "ID": "e7a92beca78e4ec6", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-75551709381086-0018?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/posc?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24601,7 +29604,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -24609,6 +29614,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -24619,7 +29627,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:25 GMT" + "Thu, 02 May 2019 22:26:37 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -24634,18 +29642,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqGeO5nRAt5j8Iiqc_fgkblbCJUC0Oxa8jMjG2kiDYxntnCPmrzRy6jaQ9k_wOlWKE9jfKBB0atTtuFtOW4pZFhPbliNhHWBzmuxJzP9yETlRpLna8" + "AEnB2UrpITV4ogt1-_eCsp0KFz7tVeM2A4FzSevs8Q0BPZ36nEPrP9aAaB4nfWASzLZgi2hNM1l9eFkf5UbYYWDT5J-nQFCapVNcm_4Nr43yd94Ce95SVps" ] }, "Body": "" } }, { - "ID": "97530ee3377e1587", + "ID": "5bb0506f3ca9135d", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-75613668702021-0017/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/posc2?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24655,28 +29672,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "26" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:25 GMT" + "Thu, 02 May 2019 22:26:38 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:25 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -24685,18 +29710,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrPFTP7o6zQmA0r5DTHXVpHRxO2BiGVpnkYPtgjzkkPTKE09n902-9OthhsffAFRdxjeBZShefNR_IR1VIh661VDQHrogZsvK2OXnZQswDnWiFuZ9Q" + "AEnB2UqFBt86Wz7Oqelsb0pPpIskBYdMYLR3XuBmD2F5DwyXt84Q1AUyL0Q94YtqTJP1yzgohHCkJWSGibqUARgP8Ilv9v4lVipsdfjSdFHgIjFJ1H-vuU4" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIn0=" + "Body": "" } }, { - "ID": "28b3d25477d69bd3", + "ID": "3ea05ac204d7a112", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-75613668702021-0017?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/signedURL?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24706,7 +29740,9 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { "StatusCode": 204, @@ -24714,6 +29750,9 @@ "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ "no-cache, no-store, max-age=0, must-revalidate" ], @@ -24724,7 +29763,7 @@ "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:26 GMT" + "Thu, 02 May 2019 22:26:38 GMT" ], "Expires": [ "Mon, 01 Jan 1990 00:00:00 GMT" @@ -24739,18 +29778,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uqv2IRUG_R4niwCNltYGKdyiSsMX2HqzTZWvPETAIXxr2GNG567ZyrSRnFGGFgYZNaxV1T98q24v3hdjgGrBh9iLOaWswNvK_V0Ar0vpGdUy7i1iz0" + "AEnB2Up2mLLaTTO-0iqVf4m8WXPEsP-mHlaS6hz_gavjGI5yzU0jCjBNDRw1gj6Wa_cQIBzfjytwP2XYhBIJeAglwa6Uqv87WhzeqgGXt4u820FuZKVgY-w" ] }, "Body": "" } }, { - "ID": "ac4b22c49ac27d73", + "ID": "bed8580dc40e850e", "Request": { - "Method": "GET", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-75613668702021-0018/o?alt=json\u0026delimiter=\u0026pageToken=\u0026prefix=\u0026prettyPrint=false\u0026projection=full\u0026versions=false", + "Method": "DELETE", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/some-object?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24760,28 +29808,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 200, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0, must-revalidate, no-transform" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "26" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:26 GMT" + "Thu, 02 May 2019 22:26:38 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:26 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -24790,18 +29846,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UoVDHi4HZMKiT9wpLo4-ZkqLV3hrSqjyZ4Zu-6DpcAcid5VNG59tn_yLCpH4uuQ4DTu_4ZMYiDkZqbzzQpKjbq1dsgV-yRJV1qfhaPZpSpmgCltjbU" + "AEnB2UodR7nshMeihBskPB6loBZoNDRFEUxojhFCKhQ0NpiEMRHY0ZHU8ncI4Sr7FHUmIDXyK8xVg_I7Qt5ESrqnGmRzW0h1eM8OGfEM-3weHyzMqN-VMik" ] }, - "Body": "eyJraW5kIjoic3RvcmFnZSNvYmplY3RzIn0=" + "Body": "" } }, { - "ID": "595729ced23b8c69", + "ID": "57489f1d9de0ddb8", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-75613668702021-0018?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001/o/zero-object?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24811,28 +29876,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 429, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "253" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:26 GMT" + "Thu, 02 May 2019 22:26:38 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:26 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -24841,18 +29914,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2Uo2NuQ7LeB15jZIjtd7O9iRlxIaxD02mOUqtlHmT7XLI_pEH-p8tm1tFxkpGP_1UPYRr13_ZytNvG-uTGToi8sWIB3UI3W5GqwbvUcXg5FcD8uXQDw" + "AEnB2UqxQ_NSeD-rrAbZXERIaDr3_1wDC_RZ4MyuFZnOhdDqLkn4qub7rAIamqSQKDD8-jbn0c3XmxvowTghxhq4tZaxxHTmYJtB_FPvJxRZtCt3Leugx4g" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6InVzYWdlTGltaXRzIiwicmVhc29uIjoicmF0ZUxpbWl0RXhjZWVkZWQiLCJtZXNzYWdlIjoiVGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiJ9XSwiY29kZSI6NDI5LCJtZXNzYWdlIjoiVGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiJ9fQ==" + "Body": "" } }, { - "ID": "1126979fd8bf03af", + "ID": "006b3176688c0ac8", "Request": { "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-75613668702021-0018?alt=json\u0026prettyPrint=false", + "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190502-80633403432013-0001?alt=json\u0026prettyPrint=false", "Header": { "Accept-Encoding": [ "gzip" @@ -24862,28 +29944,36 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 429, + "StatusCode": 204, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "private, max-age=0" + "no-cache, no-store, max-age=0, must-revalidate" ], "Content-Length": [ - "253" + "0" ], "Content-Type": [ - "application/json; charset=UTF-8" + "application/json" ], "Date": [ - "Wed, 09 Jan 2019 22:10:26 GMT" + "Thu, 02 May 2019 22:26:38 GMT" ], "Expires": [ - "Wed, 09 Jan 2019 22:10:26 GMT" + "Mon, 01 Jan 1990 00:00:00 GMT" + ], + "Pragma": [ + "no-cache" ], "Server": [ "UploadServer" @@ -24892,18 +29982,27 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UqF8aJGFMhzS9yEsqPIxrBftbRhHB7hTY31AGuhNN_7CvO2a1v3szOnIC2fZ-MiWEU4sn45RdprW_InZ8JN8MAbju630gaSm9S4ZsRaMqLPHr2Ttgw" + "AEnB2Uo4l8LfaJI78MH37sa7nOmY2A8EB4paZccrewnIFFud-pwGLeVf067ZiRaBAOAPsPYlaxxtsr6gtECA6UY0xiUBHPTLFOe4VNnNQpniNWYJEfZ1-I8" ] }, - "Body": "eyJlcnJvciI6eyJlcnJvcnMiOlt7ImRvbWFpbiI6InVzYWdlTGltaXRzIiwicmVhc29uIjoicmF0ZUxpbWl0RXhjZWVkZWQiLCJtZXNzYWdlIjoiVGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiJ9XSwiY29kZSI6NDI5LCJtZXNzYWdlIjoiVGhlIHByb2plY3QgZXhjZWVkZWQgdGhlIHJhdGUgbGltaXQgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBidWNrZXRzLiJ9fQ==" + "Body": "" } }, { - "ID": "060ee6fa983f9ddf", + "ID": "a853ce25e734dbfd", "Request": { - "Method": "DELETE", - "URL": "https://www.googleapis.com/storage/v1/b/go-integration-test-20190108-75613668702021-0018?alt=json\u0026prettyPrint=false", + "Method": "GET", + "URL": "https://www.googleapis.com/storage/v1/b?alt=json\u0026pageToken=\u0026prefix=go-integration-test\u0026prettyPrint=false\u0026project=deklerk-sandbox\u0026projection=full", "Header": { "Accept-Encoding": [ "gzip" @@ -24913,31 +30012,33 @@ ] }, "MediaType": "", - "BodyParts": null + "BodyParts": [ + "" + ] }, "Response": { - "StatusCode": 204, + "StatusCode": 200, "Proto": "HTTP/1.1", "ProtoMajor": 1, "ProtoMinor": 1, "Header": { + "Alt-Svc": [ + "quic=\":443\"; ma=2592000; v=\"46,44,43,39\"" + ], "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" + "private, max-age=0, must-revalidate, no-transform" ], "Content-Length": [ - "0" + "47300" ], "Content-Type": [ - "application/json" + "application/json; charset=UTF-8" ], "Date": [ - "Wed, 09 Jan 2019 22:10:27 GMT" + "Thu, 02 May 2019 22:26:39 GMT" ], "Expires": [ - "Mon, 01 Jan 1990 00:00:00 GMT" - ], - "Pragma": [ - "no-cache" + "Thu, 02 May 2019 22:26:39 GMT" ], "Server": [ "UploadServer" @@ -24946,11 +30047,20 @@ "Origin", "X-Origin" ], + "X-Guploader-Customer": [ + "apiary_cloudstorage_metadata" + ], + "X-Guploader-Request-Result": [ + "success" + ], + "X-Guploader-Upload-Result": [ + "success" + ], "X-Guploader-Uploadid": [ - "AEnB2UrvMd7CKSP8RBttJ9ue0pQqXLI3vLzGQxDzoLO4p_hUww9VCpcTZVE4A3y8Al6JGkPoBlyQU12Zau7cugY4ohCebipJIvjEfTdnnorlDcu2RNtWvNk" + "AEnB2UrnXhEY-kWgvl-XqP1kXnVDpQphHD9znE-EyBBlFT-kHZtXEsAW5QG5PuzlaJPfQUwZqnTHP0wxu6YDbRCgDMB31UR760_lfEiX88PtVKIdTgCWm5A" ] }, - "Body": "" + "Body": "eyJraW5kIjoic3RvcmFnZSNidWNrZXRzIiwiaXRlbXMiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi02NjU5NzcwNTEzMzE0Ni0wMDAxIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi02NjU5NzcwNTEzMzE0Ni0wMDAxIiwicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTY2NTk3NzA1MTMzMTQ2LTAwMDEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMTg6Mjk6NTguNjAxWiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDE4OjI5OjU4LjYwMVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNjY1OTc3MDUxMzMxNDYtMDAwMS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTY2NTk3NzA1MTMzMTQ2LTAwMDEvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNjY1OTc3MDUxMzMxNDYtMDAwMSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTY2NTk3NzA1MTMzMTQ2LTAwMDEvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNjY1OTc3MDUxMzMxNDYtMDAwMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNjY1OTc3MDUxMzMxNDYtMDAwMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNjY1OTc3MDUxMzMxNDYtMDAwMS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi02NjU5NzcwNTEzMzE0Ni0wMDAxL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi02NjU5NzcwNTEzMzE0Ni0wMDAxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCJ9LCJsb2NhdGlvbiI6IlVTIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTY2NjExNTA2OTA3NjAyLTAwMDEiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTY2NjExNTA2OTA3NjAyLTAwMDEiLCJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNjY2MTE1MDY5MDc2MDItMDAwMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQxODozMDoxMi4yNjRaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMTg6MzA6MTIuMjY0WiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi02NjYxMTUwNjkwNzYwMi0wMDAxL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNjY2MTE1MDY5MDc2MDItMDAwMS9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi02NjYxMTUwNjkwNzYwMi0wMDAxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNjY2MTE1MDY5MDc2MDItMDAwMS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi02NjYxMTUwNjkwNzYwMi0wMDAxL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi02NjYxMTUwNjkwNzYwMi0wMDAxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi02NjYxMTUwNjkwNzYwMi0wMDAxL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTY2NjExNTA2OTA3NjAyLTAwMDEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTY2NjExNTA2OTA3NjAyLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNjY2MzM5NjU0MjA4MTgtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNjY2MzM5NjU0MjA4MTgtMDAwMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi02NjYzMzk2NTQyMDgxOC0wMDAxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDE4OjMwOjM0LjY2MloiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQxODozMDozNC42NjJaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTY2NjMzOTY1NDIwODE4LTAwMDEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi02NjYzMzk2NTQyMDgxOC0wMDAxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTY2NjMzOTY1NDIwODE4LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi02NjYzMzk2NTQyMDgxOC0wMDAxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTY2NjMzOTY1NDIwODE4LTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTY2NjMzOTY1NDIwODE4LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTY2NjMzOTY1NDIwODE4LTAwMDEvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNjY2MzM5NjU0MjA4MTgtMDAwMS9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNjY2MzM5NjU0MjA4MTgtMDAwMSIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03ODI5NDExMzUxNDUxOS0wMDAxIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03ODI5NDExMzUxNDUxOS0wMDAxIiwicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc4Mjk0MTEzNTE0NTE5LTAwMDEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjE6NDQ6NTQuOTYwWiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIxOjQ0OjU0Ljk2MFoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzgyOTQxMTM1MTQ1MTktMDAwMS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc4Mjk0MTEzNTE0NTE5LTAwMDEvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzgyOTQxMTM1MTQ1MTktMDAwMSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc4Mjk0MTEzNTE0NTE5LTAwMDEvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzgyOTQxMTM1MTQ1MTktMDAwMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzgyOTQxMTM1MTQ1MTktMDAwMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzgyOTQxMTM1MTQ1MTktMDAwMS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03ODI5NDExMzUxNDUxOS0wMDAxL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03ODI5NDExMzUxNDUxOS0wMDAxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCJ9LCJsb2NhdGlvbiI6IlVTIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5Mzg1MTMzMzgyODI1LTAwMTciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5Mzg1MTMzMzgyODI1LTAwMTciLCJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzkzODUxMzMzODI4MjUtMDAxNyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjowNTozNC4zNzVaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MDU6MzYuMzQxWiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTM4NTEzMzM4MjgyNS0wMDE3L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzkzODUxMzMzODI4MjUtMDAxNy9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTM4NTEzMzM4MjgyNS0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzkzODUxMzMzODI4MjUtMDAxNy9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTM4NTEzMzM4MjgyNS0wMDE3L2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTM4NTEzMzM4MjgyNS0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTM4NTEzMzM4MjgyNS0wMDE3L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5Mzg1MTMzMzgyODI1LTAwMTcvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5Mzg1MTMzMzgyODI1LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wNS0wMlQyMjowNTozNC4zNzVaIiwiaXNMb2NrZWQiOnRydWV9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzkzODUxMzMzODI4MjUtMDAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzkzODUxMzMzODI4MjUtMDAxOCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTM4NTEzMzM4MjgyNS0wMDE4IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjA1OjM3LjczM1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjowNTozNy43MzNaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5Mzg1MTMzMzgyODI1LTAwMTgvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTM4NTEzMzM4MjgyNS0wMDE4L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5Mzg1MTMzMzgyODI1LTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTM4NTEzMzM4MjgyNS0wMDE4L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5Mzg1MTMzMzgyODI1LTAwMTgvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5Mzg1MTMzMzgyODI1LTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5Mzg1MTMzMzgyODI1LTAwMTgvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzkzODUxMzMzODI4MjUtMDAxOC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzkzODUxMzMzODI4MjUtMDAxOCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTA1LTAyVDIyOjA1OjM3LjczM1oifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTExNTk1OTI0OTAzLTAwMDEiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTExNTk1OTI0OTAzLTAwMDEiLCJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzk5MTE1OTU5MjQ5MDMtMDAwMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoxMTo1Mi4zNThaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MTE6NTIuMzU4WiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkxMTU5NTkyNDkwMy0wMDAxL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzk5MTE1OTU5MjQ5MDMtMDAwMS9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkxMTU5NTkyNDkwMy0wMDAxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzk5MTE1OTU5MjQ5MDMtMDAwMS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkxMTU5NTkyNDkwMy0wMDAxL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkxMTU5NTkyNDkwMy0wMDAxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkxMTU5NTkyNDkwMy0wMDAxL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTExNTk1OTI0OTAzLTAwMDEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTExNTk1OTI0OTAzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzk5Mjg3Mjc5ODIzOTMtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzk5Mjg3Mjc5ODIzOTMtMDAwMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkyODcyNzk4MjM5My0wMDAxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjEyOjA5LjcwNloiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoxMzo0MS42MzRaIiwibWV0YWdlbmVyYXRpb24iOiIxMyIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkyODcyNzk4MjM5My0wMDAxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTI4NzI3OTgyMzkzLTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTI4NzI3OTgyMzkzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQTA9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTI4NzI3OTgyMzkzLTAwMDEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkyODcyNzk4MjM5My0wMDAxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTI4NzI3OTgyMzkzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0EwPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkyODcyNzk4MjM5My0wMDAxL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTI4NzI3OTgyMzkzLTAwMDEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTI4NzI3OTgyMzkzLTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0EwPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQTA9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0EwPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQTA9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0In0sImxvY2F0aW9uIjoiVVMiLCJ2ZXJzaW9uaW5nIjp7ImVuYWJsZWQiOmZhbHNlfSwibGlmZWN5Y2xlIjp7InJ1bGUiOlt7ImFjdGlvbiI6eyJ0eXBlIjoiRGVsZXRlIn0sImNvbmRpdGlvbiI6eyJhZ2UiOjMwfX1dfSwibGFiZWxzIjp7ImwxIjoidjIiLCJuZXciOiJuZXcifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0EwPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTI4NzI3OTgyMzkzLTAwMTciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTI4NzI3OTgyMzkzLTAwMTciLCJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzk5Mjg3Mjc5ODIzOTMtMDAxNyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoxNDoxNy40ODZaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MTQ6MTguOTA1WiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkyODcyNzk4MjM5My0wMDE3L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzk5Mjg3Mjc5ODIzOTMtMDAxNy9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkyODcyNzk4MjM5My0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzk5Mjg3Mjc5ODIzOTMtMDAxNy9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkyODcyNzk4MjM5My0wMDE3L2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkyODcyNzk4MjM5My0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkyODcyNzk4MjM5My0wMDE3L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTI4NzI3OTgyMzkzLTAwMTcvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTI4NzI3OTgyMzkzLTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wNS0wMlQyMjoxNDoxNy40ODZaIiwiaXNMb2NrZWQiOnRydWV9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzk5Mjg3Mjc5ODIzOTMtMDAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzk5Mjg3Mjc5ODIzOTMtMDAxOCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkyODcyNzk4MjM5My0wMDE4IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjE0OjIwLjEwNVoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoxNDoyMC4xMDVaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTI4NzI3OTgyMzkzLTAwMTgvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkyODcyNzk4MjM5My0wMDE4L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTI4NzI3OTgyMzkzLTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi03OTkyODcyNzk4MjM5My0wMDE4L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTI4NzI3OTgyMzkzLTAwMTgvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTI4NzI3OTgyMzkzLTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTc5OTI4NzI3OTgyMzkzLTAwMTgvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzk5Mjg3Mjc5ODIzOTMtMDAxOC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItNzk5Mjg3Mjc5ODIzOTMtMDAxOCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTA1LTAyVDIyOjE0OjIwLjEwNVoifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwMzI2NTg5NDAzNDQ2LTAwMDEiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwMzI2NTg5NDAzNDQ2LTAwMDEiLCJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODAzMjY1ODk0MDM0NDYtMDAwMSIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoxODo0Ny4zOThaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MTg6NDcuMzk4WiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMyNjU4OTQwMzQ0Ni0wMDAxL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODAzMjY1ODk0MDM0NDYtMDAwMS9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMyNjU4OTQwMzQ0Ni0wMDAxIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODAzMjY1ODk0MDM0NDYtMDAwMS9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMyNjU4OTQwMzQ0Ni0wMDAxL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMyNjU4OTQwMzQ0Ni0wMDAxIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMyNjU4OTQwMzQ0Ni0wMDAxL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwMzI2NTg5NDAzNDQ2LTAwMDEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwMzI2NTg5NDAzNDQ2LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODAzMjY1ODk0MDM0NDYtMDAwMiIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODAzMjY1ODk0MDM0NDYtMDAwMiIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMyNjU4OTQwMzQ0Ni0wMDAyIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjE4OjQ4LjExNFoiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoxODo0OC4xMTRaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwMzI2NTg5NDAzNDQ2LTAwMDIvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMyNjU4OTQwMzQ0Ni0wMDAyL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwMzI2NTg5NDAzNDQ2LTAwMDIiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMyNjU4OTQwMzQ0Ni0wMDAyL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwMzI2NTg5NDAzNDQ2LTAwMDIvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwMzI2NTg5NDAzNDQ2LTAwMDIiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwMzI2NTg5NDAzNDQ2LTAwMDIvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODAzMjY1ODk0MDM0NDYtMDAwMi9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODAzMjY1ODk0MDM0NDYtMDAwMiIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInN0b3JhZ2VDbGFzcyI6IlNUQU5EQVJEIiwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMzMzk1NTMwMzUzOS0wMDAxIiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMzMzk1NTMwMzUzOS0wMDAxIiwicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsIm5hbWUiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwMzMzOTU1MzAzNTM5LTAwMDEiLCJ0aW1lQ3JlYXRlZCI6IjIwMTktMDUtMDJUMjI6MTg6NTQuNzAxWiIsInVwZGF0ZWQiOiIyMDE5LTA1LTAyVDIyOjE4OjU0LjcwMVoiLCJtZXRhZ2VuZXJhdGlvbiI6IjEiLCJhY2wiOlt7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODAzMzM5NTUzMDM1MzktMDAwMS9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwMzMzOTU1MzAzNTM5LTAwMDEvYWNsL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODAzMzM5NTUzMDM1MzktMDAwMSIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwMzMzOTU1MzAzNTM5LTAwMDEvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODAzMzM5NTUzMDM1MzktMDAwMS9hY2wvcHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODAzMzM5NTUzMDM1MzktMDAwMSIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODAzMzM5NTUzMDM1MzktMDAwMS9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMzMzk1NTMwMzUzOS0wMDAxL2FjbC9wcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMzMzk1NTMwMzUzOS0wMDAxIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImRlZmF1bHRPYmplY3RBY2wiOlt7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6ImVkaXRvcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiaWFtQ29uZmlndXJhdGlvbiI6eyJidWNrZXRQb2xpY3lPbmx5Ijp7ImVuYWJsZWQiOmZhbHNlfX0sIm93bmVyIjp7ImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCJ9LCJsb2NhdGlvbiI6IlVTIiwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwMzMzOTU1MzAzNTM5LTAwMDIiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwMzMzOTU1MzAzNTM5LTAwMDIiLCJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODAzMzM5NTUzMDM1MzktMDAwMiIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoxODo1NS4yOTNaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MTg6NTUuMjkzWiIsIm1ldGFnZW5lcmF0aW9uIjoiMSIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMzMzk1NTMwMzUzOS0wMDAyL3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODAzMzM5NTUzMDM1MzktMDAwMi9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMzMzk1NTMwMzUzOS0wMDAyIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODAzMzM5NTUzMDM1MzktMDAwMi9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMzMzk1NTMwMzUzOS0wMDAyL2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMzMzk1NTMwMzUzOS0wMDAyIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDMzMzk1NTMwMzUzOS0wMDAyL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwMzMzOTU1MzAzNTM5LTAwMDIvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwMzMzOTU1MzAzNTM5LTAwMDIiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FFPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0In0sImxvY2F0aW9uIjoiVVMiLCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA0NDU4MzA0MzA4MDgtMDAwMSIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA0NDU4MzA0MzA4MDgtMDAwMSIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDQ0NTgzMDQzMDgwOC0wMDAxIiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIwOjQ2Ljg5N1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyMjowNy40MjlaIiwibWV0YWdlbmVyYXRpb24iOiIxMyIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDQ0NTgzMDQzMDgwOC0wMDAxL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNDQ1ODMwNDMwODA4LTAwMDEvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNDQ1ODMwNDMwODA4LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQTA9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNDQ1ODMwNDMwODA4LTAwMDEvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDQ0NTgzMDQzMDgwOC0wMDAxL2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNDQ1ODMwNDMwODA4LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0EwPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDQ0NTgzMDQzMDgwOC0wMDAxL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNDQ1ODMwNDMwODA4LTAwMDEvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNDQ1ODMwNDMwODA4LTAwMDEiLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0EwPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQTA9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0EwPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQTA9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0In0sImxvY2F0aW9uIjoiVVMiLCJ2ZXJzaW9uaW5nIjp7ImVuYWJsZWQiOmZhbHNlfSwibGlmZWN5Y2xlIjp7InJ1bGUiOlt7ImFjdGlvbiI6eyJ0eXBlIjoiRGVsZXRlIn0sImNvbmRpdGlvbiI6eyJhZ2UiOjMwfX1dfSwibGFiZWxzIjp7Im5ldyI6Im5ldyIsImwxIjoidjIifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0EwPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNDQ1ODMwNDMwODA4LTAwMTciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNDQ1ODMwNDMwODA4LTAwMTciLCJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA0NDU4MzA0MzA4MDgtMDAxNyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyMjo1MC40MjhaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjI6NTEuOTM1WiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDQ0NTgzMDQzMDgwOC0wMDE3L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA0NDU4MzA0MzA4MDgtMDAxNy9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDQ0NTgzMDQzMDgwOC0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA0NDU4MzA0MzA4MDgtMDAxNy9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDQ0NTgzMDQzMDgwOC0wMDE3L2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDQ0NTgzMDQzMDgwOC0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDQ0NTgzMDQzMDgwOC0wMDE3L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNDQ1ODMwNDMwODA4LTAwMTcvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNDQ1ODMwNDMwODA4LTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wNS0wMlQyMjoyMjo1MC40MjhaIiwiaXNMb2NrZWQiOnRydWV9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA0NDU4MzA0MzA4MDgtMDAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA0NDU4MzA0MzA4MDgtMDAxOCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDQ0NTgzMDQzMDgwOC0wMDE4IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjIyOjUyLjk2MloiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyMjo1Mi45NjJaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNDQ1ODMwNDMwODA4LTAwMTgvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDQ0NTgzMDQzMDgwOC0wMDE4L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNDQ1ODMwNDMwODA4LTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDQ0NTgzMDQzMDgwOC0wMDE4L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNDQ1ODMwNDMwODA4LTAwMTgvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNDQ1ODMwNDMwODA4LTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNDQ1ODMwNDMwODA4LTAwMTgvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA0NDU4MzA0MzA4MDgtMDAxOC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA0NDU4MzA0MzA4MDgtMDAxOCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTA1LTAyVDIyOjIyOjUyLjk2MloifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0IiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTciLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTciLCJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwibmFtZSI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNyIsInRpbWVDcmVhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjowMS45MDhaIiwidXBkYXRlZCI6IjIwMTktMDUtMDJUMjI6MjY6MDMuNTQ0WiIsIm1ldGFnZW5lcmF0aW9uIjoiMiIsImFjbCI6W3sia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3L3Byb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNy9hY2wvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBST0ifSx7ImtpbmQiOiJzdG9yYWdlI2J1Y2tldEFjY2Vzc0NvbnRyb2wiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxNy9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3L2FjbC9wcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0IiwiYnVja2V0IjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3IiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE3L3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTcvYWNsL3Byb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTciLCJlbnRpdHkiOiJwcm9qZWN0LXZpZXdlcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6IlJFQURFUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoidmlld2VycyJ9LCJldGFnIjoiQ0FJPSJ9XSwiZGVmYXVsdE9iamVjdEFjbCI6W3sia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtb3duZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoib3duZXJzIn0sImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1lZGl0b3JzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJPV05FUiIsInByb2plY3RUZWFtIjp7InByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJ0ZWFtIjoiZWRpdG9ycyJ9LCJldGFnIjoiQ0FJPSJ9LHsia2luZCI6InN0b3JhZ2Ujb2JqZWN0QWNjZXNzQ29udHJvbCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUk9In1dLCJpYW1Db25maWd1cmF0aW9uIjp7ImJ1Y2tldFBvbGljeU9ubHkiOnsiZW5hYmxlZCI6ZmFsc2V9fSwib3duZXIiOnsiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0In0sImxvY2F0aW9uIjoiVVMiLCJyZXRlbnRpb25Qb2xpY3kiOnsicmV0ZW50aW9uUGVyaW9kIjoiOTAwMDAiLCJlZmZlY3RpdmVUaW1lIjoiMjAxOS0wNS0wMlQyMjoyNjowMS45MDhaIiwiaXNMb2NrZWQiOnRydWV9LCJzdG9yYWdlQ2xhc3MiOiJTVEFOREFSRCIsImV0YWciOiJDQUk9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXQiLCJpZCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOCIsInByb2plY3ROdW1iZXIiOiI0OTYxNjk2MDE3MTQiLCJuYW1lIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE4IiwidGltZUNyZWF0ZWQiOiIyMDE5LTA1LTAyVDIyOjI2OjE1LjA5N1oiLCJ1cGRhdGVkIjoiMjAxOS0wNS0wMlQyMjoyNjoxNS4wOTdaIiwibWV0YWdlbmVyYXRpb24iOiIxIiwiYWNsIjpbeyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTgvcHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwic2VsZkxpbmsiOiJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9zdG9yYWdlL3YxL2IvZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE4L2FjbC9wcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiT1dORVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6Im93bmVycyJ9LCJldGFnIjoiQ0FFPSJ9LHsia2luZCI6InN0b3JhZ2UjYnVja2V0QWNjZXNzQ29udHJvbCIsImlkIjoiZ28taW50ZWdyYXRpb24tdGVzdC0yMDE5MDUwMi04MDYzMzQwMzQzMjAxMy0wMDE4L3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJzZWxmTGluayI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3N0b3JhZ2UvdjEvYi9nby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTgvYWNsL3Byb2plY3QtZWRpdG9ycy00OTYxNjk2MDE3MTQiLCJidWNrZXQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTgiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNidWNrZXRBY2Nlc3NDb250cm9sIiwiaWQiOiJnby1pbnRlZ3JhdGlvbi10ZXN0LTIwMTkwNTAyLTgwNjMzNDAzNDMyMDEzLTAwMTgvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInNlbGZMaW5rIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9iL2dvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOC9hY2wvcHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsImJ1Y2tldCI6ImdvLWludGVncmF0aW9uLXRlc3QtMjAxOTA1MDItODA2MzM0MDM0MzIwMTMtMDAxOCIsImVudGl0eSI6InByb2plY3Qtdmlld2Vycy00OTYxNjk2MDE3MTQiLCJyb2xlIjoiUkVBREVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJ2aWV3ZXJzIn0sImV0YWciOiJDQUU9In1dLCJkZWZhdWx0T2JqZWN0QWNsIjpbeyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC1vd25lcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJvd25lcnMifSwiZXRhZyI6IkNBRT0ifSx7ImtpbmQiOiJzdG9yYWdlI29iamVjdEFjY2Vzc0NvbnRyb2wiLCJlbnRpdHkiOiJwcm9qZWN0LWVkaXRvcnMtNDk2MTY5NjAxNzE0Iiwicm9sZSI6Ik9XTkVSIiwicHJvamVjdFRlYW0iOnsicHJvamVjdE51bWJlciI6IjQ5NjE2OTYwMTcxNCIsInRlYW0iOiJlZGl0b3JzIn0sImV0YWciOiJDQUU9In0seyJraW5kIjoic3RvcmFnZSNvYmplY3RBY2Nlc3NDb250cm9sIiwiZW50aXR5IjoicHJvamVjdC12aWV3ZXJzLTQ5NjE2OTYwMTcxNCIsInJvbGUiOiJSRUFERVIiLCJwcm9qZWN0VGVhbSI6eyJwcm9qZWN0TnVtYmVyIjoiNDk2MTY5NjAxNzE0IiwidGVhbSI6InZpZXdlcnMifSwiZXRhZyI6IkNBRT0ifV0sImlhbUNvbmZpZ3VyYXRpb24iOnsiYnVja2V0UG9saWN5T25seSI6eyJlbmFibGVkIjpmYWxzZX19LCJvd25lciI6eyJlbnRpdHkiOiJwcm9qZWN0LW93bmVycy00OTYxNjk2MDE3MTQifSwibG9jYXRpb24iOiJVUyIsInJldGVudGlvblBvbGljeSI6eyJyZXRlbnRpb25QZXJpb2QiOiI5MDAwMCIsImVmZmVjdGl2ZVRpbWUiOiIyMDE5LTA1LTAyVDIyOjI2OjE1LjA5N1oifSwic3RvcmFnZUNsYXNzIjoiU1RBTkRBUkQiLCJldGFnIjoiQ0FFPSJ9XX0=" } } ] diff --git a/vendor/cloud.google.com/go/storage/writer.go b/vendor/cloud.google.com/go/storage/writer.go index 3a58c404e0d..0f52414b84c 100644 --- a/vendor/cloud.google.com/go/storage/writer.go +++ b/vendor/cloud.google.com/go/storage/writer.go @@ -117,10 +117,14 @@ func (w *Writer) open() error { if w.MD5 != nil { rawObj.Md5Hash = base64.StdEncoding.EncodeToString(w.MD5) } + if w.o.c.envHost != "" { + w.o.c.raw.BasePath = fmt.Sprintf("%s://%s", w.o.c.scheme, w.o.c.envHost) + } call := w.o.c.raw.Objects.Insert(w.o.bucket, rawObj). Media(pr, mediaOpts...). Projection("full"). Context(w.ctx) + if w.ProgressFunc != nil { call.ProgressUpdater(func(n, _ int64) { w.ProgressFunc(n) }) } diff --git a/vendor/contrib.go.opencensus.io/exporter/ocagent/.gitignore b/vendor/contrib.go.opencensus.io/exporter/ocagent/.gitignore new file mode 100644 index 00000000000..c435b7ebb67 --- /dev/null +++ b/vendor/contrib.go.opencensus.io/exporter/ocagent/.gitignore @@ -0,0 +1,17 @@ +# IntelliJ IDEA +.idea +*.iml +.editorconfig + +# VS Code +.vscode + +# OS X +.DS_Store + +# Emacs +*~ +\#*\# + +# Vim +.swp diff --git a/vendor/contrib.go.opencensus.io/exporter/ocagent/connection.go b/vendor/contrib.go.opencensus.io/exporter/ocagent/connection.go index 3a9beda4368..b08d663c473 100644 --- a/vendor/contrib.go.opencensus.io/exporter/ocagent/connection.go +++ b/vendor/contrib.go.opencensus.io/exporter/ocagent/connection.go @@ -18,15 +18,27 @@ import ( "math/rand" "sync/atomic" "time" + "unsafe" ) -const ( - sDisconnected int32 = 5 + iota - sConnected -) +func (ae *Exporter) lastConnectError() error { + errPtr := (*error)(atomic.LoadPointer(&ae.lastConnectErrPtr)) + if errPtr == nil { + return nil + } + return *errPtr +} -func (ae *Exporter) setStateDisconnected() { - atomic.StoreInt32(&ae.connectionState, sDisconnected) +func (ae *Exporter) saveLastConnectError(err error) { + var errPtr *error + if err != nil { + errPtr = &err + } + atomic.StorePointer(&ae.lastConnectErrPtr, unsafe.Pointer(errPtr)) +} + +func (ae *Exporter) setStateDisconnected(err error) { + ae.saveLastConnectError(err) select { case ae.disconnectedCh <- true: default: @@ -34,11 +46,11 @@ func (ae *Exporter) setStateDisconnected() { } func (ae *Exporter) setStateConnected() { - atomic.StoreInt32(&ae.connectionState, sConnected) + ae.saveLastConnectError(nil) } func (ae *Exporter) connected() bool { - return atomic.LoadInt32(&ae.connectionState) == sConnected + return ae.lastConnectError() == nil } const defaultConnReattemptPeriod = 10 * time.Second @@ -77,14 +89,18 @@ func (ae *Exporter) indefiniteBackgroundConnection() error { if err := ae.connect(); err == nil { ae.setStateConnected() } else { - ae.setStateDisconnected() + ae.setStateDisconnected(err) } // Apply some jitter to avoid lockstep retrials of other // agent-exporters. Lockstep retrials could result in an // innocent DDOS, by clogging the machine's resources and network. jitter := time.Duration(rng.Int63n(maxJitter)) - <-time.After(connReattemptPeriod + jitter) + select { + case <-ae.stopCh: + return errStopped + case <-time.After(connReattemptPeriod + jitter): + } } } diff --git a/vendor/contrib.go.opencensus.io/exporter/ocagent/go.mod b/vendor/contrib.go.opencensus.io/exporter/ocagent/go.mod index 72a9068e413..b40fc0c75fd 100644 --- a/vendor/contrib.go.opencensus.io/exporter/ocagent/go.mod +++ b/vendor/contrib.go.opencensus.io/exporter/ocagent/go.mod @@ -1,10 +1,14 @@ module contrib.go.opencensus.io/exporter/ocagent require ( - github.com/census-instrumentation/opencensus-proto v0.2.0 // this is to match the version used in census-instrumentation/opencensus-service - github.com/golang/protobuf v1.3.1 - github.com/grpc-ecosystem/grpc-gateway v1.8.5 // indirect - go.opencensus.io v0.20.2 - google.golang.org/api v0.3.1 - google.golang.org/grpc v1.19.1 + github.com/census-instrumentation/opencensus-proto v0.2.1 // this is to match the version used in census-instrumentation/opencensus-service + github.com/golang/protobuf v1.3.2 + github.com/google/go-cmp v0.3.0 + github.com/grpc-ecosystem/grpc-gateway v1.9.4 // indirect + go.opencensus.io v0.22.0 + golang.org/x/net v0.0.0-20190628185345-da137c7871d7 // indirect + golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7 // indirect + google.golang.org/api v0.7.0 + google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610 // indirect + google.golang.org/grpc v1.22.0 ) diff --git a/vendor/contrib.go.opencensus.io/exporter/ocagent/go.sum b/vendor/contrib.go.opencensus.io/exporter/ocagent/go.sum index 52c362aaa9a..644d091cadc 100644 --- a/vendor/contrib.go.opencensus.io/exporter/ocagent/go.sum +++ b/vendor/contrib.go.opencensus.io/exporter/ocagent/go.sum @@ -1,130 +1,120 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/census-instrumentation/opencensus-proto v0.2.0 h1:LzQXZOgg4CQfE6bFvXGM30YZL1WW/M337pXml+GrcZ4= -github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= -github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/grpc-ecosystem/grpc-gateway v1.8.5 h1:2+KSC78XiO6Qy0hIjfc1OD9H+hsaJdJlb8Kqsd41CTE= -github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/grpc-ecosystem/grpc-gateway v1.9.4 h1:5xLhQjsk4zqPf9EHCrja2qFZMx+yBqkO3XgJ14bNnU0= +github.com/grpc-ecosystem/grpc-gateway v1.9.4/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/hashicorp/golang-lru v0.5.0 h1:CL2msUPvZTLb5O648aiLNJw3hnBxN2+1Jq8rCOH9wdo= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= -github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -go.opencensus.io v0.20.2 h1:NAfh7zF0/3/HqtMvJNZ/RFrSlCE6ZTlHmKfhL/Dm1Jk= -go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +go.opencensus.io v0.21.0 h1:mU6zScU4U1YAFPHEHYk+3JC4SY7JxgkqS10ZOSyksNg= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09 h1:KaQtG+aDELoNmXYas3TVkGNYRuq8JQ1aa7LJt8EXVyo= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7 h1:rTIdg5QFRR7XCaK4LCjBiPbx8j4DQRpdYMnGn/bJUEU= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f h1:wMNYb4v58l5UBM7MYRLPG6ZhfOqbKu7X5eyFl8ZhKvA= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6 h1:bjcUS9ztw9kFmmIxJInhon/0Is3p+EHBKNgquIzo1OI= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd h1:r7DufRZuZbWB7j439YfAzP8RPDa9unLkpwQKUYbIMPI= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7 h1:LepdCS8Gf/MVejFIt8lsiexZATdoGVyp5bcyS+rYoUI= +golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -google.golang.org/api v0.3.1 h1:oJra/lMfmtm13/rgY/8i3MzjFWYXvQIAKjQ3HqofMk8= -google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0 h1:9sdfJOzWlkqPltHAuzT2Cp+yrBeY1KRVYgms8soxMwM= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19 h1:Lj2SnHtxkRGJDqnGaSjo+CCdIieEnwVazbOXILwQemk= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb h1:i1Ppqkc3WQXikh8bXiwHqAN5Rv3/qDCcRk0/Otx73BY= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610 h1:Ygq9/SRJX9+dU0WCIICM8RkWvDw03lvB77hrhJnpxfU= +google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.19.1 h1:TrBcJ1yqAl1G++wO39nD/qtgpsW9/1+QGrluyMGEYgM= -google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +google.golang.org/grpc v1.20.1 h1:Hz2g2wirWK7H0qIIhGIqRGTuMwTE8HEKFnDZZ7lm9NU= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.22.0 h1:J0UbZOIrCAl+fpTOf8YLs4dJo8L/owV4LYVtAXQoPkw= +google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/vendor/contrib.go.opencensus.io/exporter/ocagent/ocagent.go b/vendor/contrib.go.opencensus.io/exporter/ocagent/ocagent.go index 510da99ea53..24f410781d7 100644 --- a/vendor/contrib.go.opencensus.io/exporter/ocagent/ocagent.go +++ b/vendor/contrib.go.opencensus.io/exporter/ocagent/ocagent.go @@ -18,8 +18,10 @@ import ( "context" "errors" "fmt" + "io" "sync" "time" + "unsafe" "google.golang.org/api/support/bundler" "google.golang.org/grpc" @@ -52,12 +54,12 @@ var _ trace.Exporter = (*Exporter)(nil) var _ view.Exporter = (*Exporter)(nil) type Exporter struct { - connectionState int32 - // mu protects the non-atomic and non-channel variables mu sync.RWMutex - // senderMu protects the concurrent unsafe traceExporter client - senderMu sync.RWMutex + // senderMu protects the concurrent unsafe send on traceExporter client + senderMu sync.Mutex + // recvMu protects the concurrent unsafe recv on traceExporter client + recvMu sync.Mutex started bool stopped bool agentAddress string @@ -68,9 +70,11 @@ type Exporter struct { nodeInfo *commonpb.Node grpcClientConn *grpc.ClientConn reconnectionPeriod time.Duration + resourceDetector resource.Detector resource *resourcepb.Resource compressor string headers map[string]string + lastConnectErrPtr unsafe.Pointer startOnce sync.Once stopCh chan bool @@ -86,6 +90,8 @@ type Exporter struct { viewDataBundler *bundler.Bundler clientTransportCredentials credentials.TransportCredentials + + grpcDialOptions []grpc.DialOption } func NewExporter(opts ...ExporterOption) (*Exporter, error) { @@ -120,7 +126,17 @@ func NewUnstartedExporter(opts ...ExporterOption) (*Exporter, error) { viewDataBundler.BundleCountThreshold = 500 // TODO: (@odeke-em) make this configurable. e.viewDataBundler = viewDataBundler e.nodeInfo = NodeWithStartTime(e.serviceName) - e.resource = resourceProtoFromEnv() + if e.resourceDetector != nil { + res, err := e.resourceDetector(context.Background()) + if err != nil { + panic(fmt.Sprintf("Error detecting resource. err:%v\n", err)) + } + if res != nil { + e.resource = resourceToResourcePb(res) + } + } else { + e.resource = resourceProtoFromEnv() + } return e, nil } @@ -134,7 +150,6 @@ var ( errAlreadyStarted = errors.New("already started") errNotStarted = errors.New("not started") errStopped = errors.New("stopped") - errNoConnection = errors.New("no active connection") ) // Start dials to the agent, establishing a connection to it. It also @@ -146,14 +161,20 @@ func (ae *Exporter) Start() error { var err = errAlreadyStarted ae.startOnce.Do(func() { ae.mu.Lock() - defer ae.mu.Unlock() - ae.started = true ae.disconnectedCh = make(chan bool, 1) ae.stopCh = make(chan bool) ae.backgroundConnectionDoneCh = make(chan bool) - - ae.setStateDisconnected() + ae.mu.Unlock() + + // An optimistic first connection attempt to ensure that + // applications under heavy load can immediately process + // data. See https://github.com/census-ecosystem/opencensus-go-exporter-ocagent/pull/63 + if err := ae.connect(); err == nil { + ae.setStateConnected() + } else { + ae.setStateDisconnected(err) + } go ae.indefiniteBackgroundConnection() err = nil @@ -270,6 +291,9 @@ func (ae *Exporter) dialToAgent() (*grpc.ClientConn, error) { dialOpts = append(dialOpts, grpc.WithDefaultCallOptions(grpc.UseCompressor(ae.compressor))) } dialOpts = append(dialOpts, grpc.WithStatsHandler(&ocgrpc.ClientHandler{})) + if len(ae.grpcDialOptions) != 0 { + dialOpts = append(dialOpts, ae.grpcDialOptions...) + } ctx := context.Background() if len(ae.headers) > 0 { @@ -368,16 +392,33 @@ func (ae *Exporter) ExportTraceServiceRequest(batch *agenttracepb.ExportTraceSer return errStopped default: - if !ae.connected() { - return errNoConnection + if lastConnectErr := ae.lastConnectError(); lastConnectErr != nil { + return fmt.Errorf("ExportTraceServiceRequest: no active connection, last connection error: %v", lastConnectErr) } ae.senderMu.Lock() err := ae.traceExporter.Send(batch) ae.senderMu.Unlock() if err != nil { - ae.setStateDisconnected() - return err + if err == io.EOF { + ae.recvMu.Lock() + // Perform a .Recv to try to find out why the RPC actually ended. + // See: + // * https://github.com/grpc/grpc-go/blob/d389f9fac68eea0dcc49957d0b4cca5b3a0a7171/stream.go#L98-L100 + // * https://groups.google.com/forum/#!msg/grpc-io/XcN4hA9HonI/F_UDiejTAwAJ + for { + _, err = ae.traceExporter.Recv() + if err != nil { + break + } + } + ae.recvMu.Unlock() + } + + ae.setStateDisconnected(err) + if err != io.EOF { + return err + } } return nil } @@ -390,6 +431,49 @@ func (ae *Exporter) ExportView(vd *view.Data) { _ = ae.viewDataBundler.Add(vd, 1) } +// ExportMetricsServiceRequest sends proto metrics with the metrics service client. +func (ae *Exporter) ExportMetricsServiceRequest(batch *agentmetricspb.ExportMetricsServiceRequest) error { + if batch == nil || len(batch.Metrics) == 0 { + return nil + } + + select { + case <-ae.stopCh: + return errStopped + + default: + if lastConnectErr := ae.lastConnectError(); lastConnectErr != nil { + return fmt.Errorf("ExportMetricsServiceRequest: no active connection, last connection error: %v", lastConnectErr) + } + + ae.senderMu.Lock() + err := ae.metricsExporter.Send(batch) + ae.senderMu.Unlock() + if err != nil { + if err == io.EOF { + ae.recvMu.Lock() + // Perform a .Recv to try to find out why the RPC actually ended. + // See: + // * https://github.com/grpc/grpc-go/blob/d389f9fac68eea0dcc49957d0b4cca5b3a0a7171/stream.go#L98-L100 + // * https://groups.google.com/forum/#!msg/grpc-io/XcN4hA9HonI/F_UDiejTAwAJ + for { + _, err = ae.metricsExporter.Recv() + if err != nil { + break + } + } + ae.recvMu.Unlock() + } + + ae.setStateDisconnected(err) + if err != io.EOF { + return err + } + } + return nil + } +} + func ocSpanDataToPbSpans(sdl []*trace.SpanData) []*tracepb.Span { if len(sdl) == 0 { return nil @@ -419,11 +503,12 @@ func (ae *Exporter) uploadTraces(sdl []*trace.SpanData) { } ae.senderMu.Lock() err := ae.traceExporter.Send(&agenttracepb.ExportTraceServiceRequest{ - Spans: protoSpans, + Spans: protoSpans, + Resource: resourceProtoFromEnv(), }) ae.senderMu.Unlock() if err != nil { - ae.setStateDisconnected() + ae.setStateDisconnected(err) } } } @@ -446,30 +531,18 @@ func ocViewDataToPbMetrics(vdl []*view.Data) []*metricspb.Metric { } func (ae *Exporter) uploadViewData(vdl []*view.Data) { - select { - case <-ae.stopCh: + protoMetrics := ocViewDataToPbMetrics(vdl) + if len(protoMetrics) == 0 { return - - default: - if !ae.connected() { - return - } - - protoMetrics := ocViewDataToPbMetrics(vdl) - if len(protoMetrics) == 0 { - return - } - err := ae.metricsExporter.Send(&agentmetricspb.ExportMetricsServiceRequest{ - Metrics: protoMetrics, - // TODO:(@odeke-em) - // a) Figure out how to derive a Node from the environment - // b) Figure out how to derive a Resource from the environment - // or better letting users of the exporter configure it. - }) - if err != nil { - ae.setStateDisconnected() - } } + req := &agentmetricspb.ExportMetricsServiceRequest{ + Metrics: protoMetrics, + Resource: resourceProtoFromEnv(), + // TODO:(@odeke-em) + // a) Figure out how to derive a Node from the environment + // or better letting users of the exporter configure it. + } + ae.ExportMetricsServiceRequest(req) } func (ae *Exporter) Flush() { @@ -482,7 +555,10 @@ func resourceProtoFromEnv() *resourcepb.Resource { if rs == nil { return nil } + return resourceToResourcePb(rs) +} +func resourceToResourcePb(rs *resource.Resource) *resourcepb.Resource { rprs := &resourcepb.Resource{ Type: rs.Type, } diff --git a/vendor/contrib.go.opencensus.io/exporter/ocagent/options.go b/vendor/contrib.go.opencensus.io/exporter/ocagent/options.go index 3e05ae8b301..6820216f3bc 100644 --- a/vendor/contrib.go.opencensus.io/exporter/ocagent/options.go +++ b/vendor/contrib.go.opencensus.io/exporter/ocagent/options.go @@ -17,6 +17,8 @@ package ocagent import ( "time" + "go.opencensus.io/resource" + "google.golang.org/grpc" "google.golang.org/grpc/credentials" ) @@ -29,6 +31,22 @@ type ExporterOption interface { withExporter(e *Exporter) } +type resourceDetector resource.Detector + +var _ ExporterOption = (*resourceDetector)(nil) + +func (rd resourceDetector) withExporter(e *Exporter) { + e.resourceDetector = resource.Detector(rd) +} + +// WithResourceDetector allows one to register a resource detector. Resource Detector is used +// to detect resources associated with the application. Detected resource is exported +// along with the metrics. If the detector fails then it panics. +// If a resource detector is not provided then by default it detects from the environment. +func WithResourceDetector(rd resource.Detector) ExporterOption { + return resourceDetector(rd) +} + type insecureGrpcConnection int var _ ExporterOption = (*insecureGrpcConnection)(nil) @@ -126,3 +144,18 @@ func WithTLSCredentials(creds credentials.TransportCredentials) ExporterOption { func (cc *clientCredentials) withExporter(e *Exporter) { e.clientTransportCredentials = cc.TransportCredentials } + +type grpcDialOptions []grpc.DialOption + +var _ ExporterOption = (*grpcDialOptions)(nil) + +// WithGRPCDialOption opens support to any grpc.DialOption to be used. If it conflicts +// with some other configuration the GRPC specified via the agent the ones here will +// take preference since they are set last. +func WithGRPCDialOption(opts ...grpc.DialOption) ExporterOption { + return grpcDialOptions(opts) +} + +func (opts grpcDialOptions) withExporter(e *Exporter) { + e.grpcDialOptions = opts +} diff --git a/vendor/github.com/alecthomas/units/go.mod b/vendor/github.com/alecthomas/units/go.mod new file mode 100644 index 00000000000..f5721732748 --- /dev/null +++ b/vendor/github.com/alecthomas/units/go.mod @@ -0,0 +1 @@ +module github.com/alecthomas/units diff --git a/vendor/github.com/armon/go-metrics/.travis.yml b/vendor/github.com/armon/go-metrics/.travis.yml new file mode 100644 index 00000000000..87d230c8d78 --- /dev/null +++ b/vendor/github.com/armon/go-metrics/.travis.yml @@ -0,0 +1,13 @@ +language: go + +go: + - "1.x" + +env: + - GO111MODULE=on + +install: + - go get ./... + +script: + - go test ./... diff --git a/vendor/github.com/armon/go-metrics/go.mod b/vendor/github.com/armon/go-metrics/go.mod new file mode 100644 index 00000000000..88e1e98fbf4 --- /dev/null +++ b/vendor/github.com/armon/go-metrics/go.mod @@ -0,0 +1,16 @@ +module github.com/armon/go-metrics + +go 1.12 + +require ( + github.com/DataDog/datadog-go v2.2.0+incompatible + github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible + github.com/circonus-labs/circonusllhist v0.1.3 // indirect + github.com/hashicorp/go-immutable-radix v1.0.0 + github.com/hashicorp/go-retryablehttp v0.5.3 // indirect + github.com/pascaldekloe/goe v0.1.0 + github.com/pkg/errors v0.8.1 // indirect + github.com/prometheus/client_golang v0.9.2 + github.com/stretchr/testify v1.3.0 // indirect + github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926 // indirect +) diff --git a/vendor/github.com/armon/go-metrics/go.sum b/vendor/github.com/armon/go-metrics/go.sum new file mode 100644 index 00000000000..5ffd8329aff --- /dev/null +++ b/vendor/github.com/armon/go-metrics/go.sum @@ -0,0 +1,46 @@ +github.com/DataDog/datadog-go v2.2.0+incompatible h1:V5BKkxACZLjzHjSgBbr2gvLA2Ae49yhc6CSY7MLy5k4= +github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973 h1:xJ4a3vCFaGF/jqvzLMYoU8P317H5OQ+Via4RmuPwCS0= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible h1:C29Ae4G5GtYyYMm1aztcyj/J5ckgJm2zwdDajFbx1NY= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3 h1:TJH+oke8D16535+jHExHj4nQvzlZrj7ug5D7I/orNUA= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/hashicorp/go-cleanhttp v0.5.0 h1:wvCrVc9TjDls6+YGAF2hAifE1E5U1+b4tH6KdvN3Gig= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-immutable-radix v1.0.0 h1:AKDB1HM5PWEA7i4nhcpwOrO2byshxBjXVn/J/3+z5/0= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-retryablehttp v0.5.3 h1:QlWt0KvWT0lq8MFppF9tsJGF+ynG7ztc2KIPhzRGk7s= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-uuid v1.0.0 h1:RS8zrF7PhGwyNPOtxSClXXj9HA8feRnJzgnI1RJCSnM= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/golang-lru v0.5.0 h1:CL2msUPvZTLb5O648aiLNJw3hnBxN2+1Jq8rCOH9wdo= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_golang v0.9.2 h1:awm861/B8OKDd2I/6o1dy3ra4BamzKhYOiGItCeZ740= +github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910 h1:idejC8f05m9MGOsuEi1ATq9shN03HrxNkD/luQvxCv8= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/common v0.0.0-20181126121408-4724e9255275 h1:PnBWHBf+6L0jOqq0gIVUe6Yk0/QMZ640k6NvkxcBf+8= +github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a h1:9a8MnZMP0X2nLJdBg+pBmGgkJlSaKC2KaQmTCk1XDtE= +github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926 h1:G3dpKMzFDjgEh2q1Z7zUUtKa8ViPtH+ocF0bE0g00O8= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f h1:Bl/8QSvNqXvPGPGXa2z5xUTmV7VDcZyvRZ+QQXkXTZQ= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= diff --git a/vendor/github.com/armon/go-metrics/inmem.go b/vendor/github.com/armon/go-metrics/inmem.go index 4e2d6a709e2..93b0e0ad83c 100644 --- a/vendor/github.com/armon/go-metrics/inmem.go +++ b/vendor/github.com/armon/go-metrics/inmem.go @@ -255,11 +255,11 @@ func (i *InmemSink) Data() []*IntervalMetrics { } copyCurrent.Counters = make(map[string]SampledValue, len(current.Counters)) for k, v := range current.Counters { - copyCurrent.Counters[k] = v + copyCurrent.Counters[k] = v.deepCopy() } copyCurrent.Samples = make(map[string]SampledValue, len(current.Samples)) for k, v := range current.Samples { - copyCurrent.Samples[k] = v + copyCurrent.Samples[k] = v.deepCopy() } current.RUnlock() diff --git a/vendor/github.com/armon/go-metrics/inmem_endpoint.go b/vendor/github.com/armon/go-metrics/inmem_endpoint.go index 504f1b37485..5fac958d941 100644 --- a/vendor/github.com/armon/go-metrics/inmem_endpoint.go +++ b/vendor/github.com/armon/go-metrics/inmem_endpoint.go @@ -41,6 +41,16 @@ type SampledValue struct { DisplayLabels map[string]string `json:"Labels"` } +// deepCopy allocates a new instance of AggregateSample +func (source *SampledValue) deepCopy() SampledValue { + dest := *source + if source.AggregateSample != nil { + dest.AggregateSample = &AggregateSample{} + *dest.AggregateSample = *source.AggregateSample + } + return dest +} + // DisplayMetrics returns a summary of the metrics from the most recent finished interval. func (i *InmemSink) DisplayMetrics(resp http.ResponseWriter, req *http.Request) (interface{}, error) { data := i.Data() @@ -52,12 +62,15 @@ func (i *InmemSink) DisplayMetrics(resp http.ResponseWriter, req *http.Request) return nil, fmt.Errorf("no metric intervals have been initialized yet") case n == 1: // Show the current interval if it's all we have - interval = i.intervals[0] + interval = data[0] default: // Show the most recent finished interval if we have one - interval = i.intervals[n-2] + interval = data[n-2] } + interval.RLock() + defer interval.RUnlock() + summary := MetricsSummary{ Timestamp: interval.Interval.Round(time.Second).UTC().String(), Gauges: make([]GaugeValue, 0, len(interval.Gauges)), diff --git a/vendor/github.com/armon/go-metrics/metrics.go b/vendor/github.com/armon/go-metrics/metrics.go index cf9def748e2..4920d68324a 100644 --- a/vendor/github.com/armon/go-metrics/metrics.go +++ b/vendor/github.com/armon/go-metrics/metrics.go @@ -197,7 +197,7 @@ func (m *Metrics) filterLabels(labels []Label) []Label { if labels == nil { return nil } - toReturn := labels[:0] + toReturn := []Label{} for _, label := range labels { if m.labelIsAllowed(&label) { toReturn = append(toReturn, label) diff --git a/vendor/github.com/asaskevich/govalidator/README.md b/vendor/github.com/asaskevich/govalidator/README.md index 0e8793f719a..40f9a87811b 100644 --- a/vendor/github.com/asaskevich/govalidator/README.md +++ b/vendor/github.com/asaskevich/govalidator/README.md @@ -330,8 +330,10 @@ Validators with parameters "range(min|max)": Range, "length(min|max)": ByteLength, "runelength(min|max)": RuneLength, +"stringlength(min|max)": StringLength, "matches(pattern)": StringMatches, "in(string1|string2|...|stringN)": IsIn, +"rsapub(keylength)" : IsRsaPub, ``` And here is small example of usage: @@ -339,12 +341,14 @@ And here is small example of usage: type Post struct { Title string `valid:"alphanum,required"` Message string `valid:"duck,ascii"` + Message2 string `valid:"animal(dog)"` AuthorIP string `valid:"ipv4"` Date string `valid:"-"` } post := &Post{ Title: "My Example Post", Message: "duck", + Message2: "dog", AuthorIP: "123.234.54.3", } @@ -353,6 +357,13 @@ govalidator.TagMap["duck"] = govalidator.Validator(func(str string) bool { return str == "duck" }) +// Add your own struct validation tags with parameter +govalidator.ParamTagMap["animal"] = govalidator.ParamValidator(func(str string, params ...string) bool { + species := params[0] + return str == species +}) +govalidator.ParamTagRegexMap["animal"] = regexp.MustCompile("^animal\\((\\w+)\\)$") + result, err := govalidator.ValidateStruct(post) if err != nil { println("error: " + err.Error()) diff --git a/vendor/github.com/aws/aws-sdk-go/NOTICE.txt b/vendor/github.com/aws/aws-sdk-go/NOTICE.txt index 5f14d1162ed..899129ecc46 100644 --- a/vendor/github.com/aws/aws-sdk-go/NOTICE.txt +++ b/vendor/github.com/aws/aws-sdk-go/NOTICE.txt @@ -1,3 +1,3 @@ AWS SDK for Go -Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. +Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. Copyright 2014-2015 Stripe, Inc. diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awserr/error.go b/vendor/github.com/aws/aws-sdk-go/aws/awserr/error.go index 56fdfc2bfc7..99849c0e19c 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/awserr/error.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/awserr/error.go @@ -138,8 +138,27 @@ type RequestFailure interface { RequestID() string } -// NewRequestFailure returns a new request error wrapper for the given Error -// provided. +// NewRequestFailure returns a wrapped error with additional information for +// request status code, and service requestID. +// +// Should be used to wrap all request which involve service requests. Even if +// the request failed without a service response, but had an HTTP status code +// that may be meaningful. func NewRequestFailure(err Error, statusCode int, reqID string) RequestFailure { return newRequestError(err, statusCode, reqID) } + +// UnmarshalError provides the interface for the SDK failing to unmarshal data. +type UnmarshalError interface { + awsError + Bytes() []byte +} + +// NewUnmarshalError returns an initialized UnmarshalError error wrapper adding +// the bytes that fail to unmarshal to the error. +func NewUnmarshalError(err error, msg string, bytes []byte) UnmarshalError { + return &unmarshalError{ + awsError: New("UnmarshalError", msg, err), + bytes: bytes, + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awserr/types.go b/vendor/github.com/aws/aws-sdk-go/aws/awserr/types.go index 0202a008f5d..9cf7eaf4007 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/awserr/types.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/awserr/types.go @@ -1,6 +1,9 @@ package awserr -import "fmt" +import ( + "encoding/hex" + "fmt" +) // SprintError returns a string of the formatted error code. // @@ -119,6 +122,7 @@ type requestError struct { awsError statusCode int requestID string + bytes []byte } // newRequestError returns a wrapped error with additional information for @@ -170,6 +174,29 @@ func (r requestError) OrigErrs() []error { return []error{r.OrigErr()} } +type unmarshalError struct { + awsError + bytes []byte +} + +// Error returns the string representation of the error. +// Satisfies the error interface. +func (e unmarshalError) Error() string { + extra := hex.Dump(e.bytes) + return SprintError(e.Code(), e.Message(), extra, e.OrigErr()) +} + +// String returns the string representation of the error. +// Alias for Error to satisfy the stringer interface. +func (e unmarshalError) String() string { + return e.Error() +} + +// Bytes returns the bytes that failed to unmarshal. +func (e unmarshalError) Bytes() []byte { + return e.bytes +} + // An error list that satisfies the golang interface type errorList []error @@ -181,7 +208,7 @@ func (e errorList) Error() string { // How do we want to handle the array size being zero if size := len(e); size > 0 { for i := 0; i < size; i++ { - msg += fmt.Sprintf("%s", e[i].Error()) + msg += e[i].Error() // We check the next index to see if it is within the slice. // If it is, then we append a newline. We do this, because unit tests // could be broken with the additional '\n' diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/equal.go b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/equal.go index 59fa4a558a9..142a7a01c52 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/equal.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/equal.go @@ -15,7 +15,7 @@ func DeepEqual(a, b interface{}) bool { rb := reflect.Indirect(reflect.ValueOf(b)) if raValid, rbValid := ra.IsValid(), rb.IsValid(); !raValid && !rbValid { - // If the elements are both nil, and of the same type the are equal + // If the elements are both nil, and of the same type they are equal // If they are of different types they are not equal return reflect.TypeOf(a) == reflect.TypeOf(b) } else if raValid != rbValid { diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.go b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.go index 11c52c38968..285e54d6799 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.go @@ -185,13 +185,12 @@ func ValuesAtPath(i interface{}, path string) ([]interface{}, error) { // SetValueAtPath sets a value at the case insensitive lexical path inside // of a structure. func SetValueAtPath(i interface{}, path string, v interface{}) { - if rvals := rValuesAtPath(i, path, true, false, v == nil); rvals != nil { - for _, rval := range rvals { - if rval.Kind() == reflect.Ptr && rval.IsNil() { - continue - } - setValue(rval, v) + rvals := rValuesAtPath(i, path, true, false, v == nil) + for _, rval := range rvals { + if rval.Kind() == reflect.Ptr && rval.IsNil() { + continue } + setValue(rval, v) } } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/string_value.go b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/string_value.go index b6432f1a118..645df2450fc 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/string_value.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/string_value.go @@ -23,28 +23,27 @@ func stringValue(v reflect.Value, indent int, buf *bytes.Buffer) { case reflect.Struct: buf.WriteString("{\n") - names := []string{} for i := 0; i < v.Type().NumField(); i++ { - name := v.Type().Field(i).Name - f := v.Field(i) - if name[0:1] == strings.ToLower(name[0:1]) { + ft := v.Type().Field(i) + fv := v.Field(i) + + if ft.Name[0:1] == strings.ToLower(ft.Name[0:1]) { continue // ignore unexported fields } - if (f.Kind() == reflect.Ptr || f.Kind() == reflect.Slice) && f.IsNil() { + if (fv.Kind() == reflect.Ptr || fv.Kind() == reflect.Slice) && fv.IsNil() { continue // ignore unset fields } - names = append(names, name) - } - for i, n := range names { - val := v.FieldByName(n) buf.WriteString(strings.Repeat(" ", indent+2)) - buf.WriteString(n + ": ") - stringValue(val, indent+2, buf) + buf.WriteString(ft.Name + ": ") - if i < len(names)-1 { - buf.WriteString(",\n") + if tag := ft.Tag.Get("sensitive"); tag == "true" { + buf.WriteString("") + } else { + stringValue(fv, indent+2, buf) } + + buf.WriteString(",\n") } buf.WriteString("\n" + strings.Repeat(" ", indent) + "}") diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/client.go b/vendor/github.com/aws/aws-sdk-go/aws/client/client.go index 212fe25e71e..70960538409 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/client/client.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/client/client.go @@ -18,7 +18,7 @@ type Config struct { // States that the signing name did not come from a modeled source but // was derived based on other data. Used by service client constructors - // to determine if the signin name can be overriden based on metadata the + // to determine if the signin name can be overridden based on metadata the // service has. SigningNameDerived bool } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go b/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go index ce9fb896d94..8958c32d4e9 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go @@ -67,10 +67,14 @@ func logRequest(r *request.Request) { if !bodySeekable { r.SetReaderBody(aws.ReadSeekCloser(r.HTTPRequest.Body)) } - // Reset the request body because dumpRequest will re-wrap the r.HTTPRequest's - // Body as a NoOpCloser and will not be reset after read by the HTTP - // client reader. - r.ResetBody() + // Reset the request body because dumpRequest will re-wrap the + // r.HTTPRequest's Body as a NoOpCloser and will not be reset after + // read by the HTTP client reader. + if err := r.Error; err != nil { + r.Config.Logger.Log(fmt.Sprintf(logReqErrMsg, + r.ClientInfo.ServiceName, r.Operation.Name, err)) + return + } } r.Config.Logger.Log(fmt.Sprintf(logReqMsg, @@ -118,6 +122,12 @@ var LogHTTPResponseHandler = request.NamedHandler{ func logResponse(r *request.Request) { lw := &logWriter{r.Config.Logger, bytes.NewBuffer(nil)} + if r.HTTPResponse == nil { + lw.Logger.Log(fmt.Sprintf(logRespErrMsg, + r.ClientInfo.ServiceName, r.Operation.Name, "request's HTTPResponse is nil")) + return + } + logBody := r.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody) if logBody { r.HTTPResponse.Body = &teeReaderCloser{ diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context.go b/vendor/github.com/aws/aws-sdk-go/aws/context_1_5.go similarity index 58% rename from vendor/github.com/aws/aws-sdk-go/aws/context.go rename to vendor/github.com/aws/aws-sdk-go/aws/context_1_5.go index 79f426853b5..2866f9a7fb9 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/context.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/context_1_5.go @@ -1,8 +1,8 @@ +// +build !go1.9 + package aws -import ( - "time" -) +import "time" // Context is an copy of the Go v1.7 stdlib's context.Context interface. // It is represented as a SDK interface to enable you to use the "WithContext" @@ -35,37 +35,3 @@ type Context interface { // functions. Value(key interface{}) interface{} } - -// BackgroundContext returns a context that will never be canceled, has no -// values, and no deadline. This context is used by the SDK to provide -// backwards compatibility with non-context API operations and functionality. -// -// Go 1.6 and before: -// This context function is equivalent to context.Background in the Go stdlib. -// -// Go 1.7 and later: -// The context returned will be the value returned by context.Background() -// -// See https://golang.org/pkg/context for more information on Contexts. -func BackgroundContext() Context { - return backgroundCtx -} - -// SleepWithContext will wait for the timer duration to expire, or the context -// is canceled. Which ever happens first. If the context is canceled the Context's -// error will be returned. -// -// Expects Context to always return a non-nil error if the Done channel is closed. -func SleepWithContext(ctx Context, dur time.Duration) error { - t := time.NewTimer(dur) - defer t.Stop() - - select { - case <-t.C: - break - case <-ctx.Done(): - return ctx.Err() - } - - return nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go b/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go deleted file mode 100644 index 064f75c925c..00000000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go +++ /dev/null @@ -1,9 +0,0 @@ -// +build go1.7 - -package aws - -import "context" - -var ( - backgroundCtx = context.Background() -) diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context_1_9.go b/vendor/github.com/aws/aws-sdk-go/aws/context_1_9.go new file mode 100644 index 00000000000..3718b26e101 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/context_1_9.go @@ -0,0 +1,11 @@ +// +build go1.9 + +package aws + +import "context" + +// Context is an alias of the Go stdlib's context.Context interface. +// It can be used within the SDK's API operation "WithContext" methods. +// +// See https://golang.org/pkg/context on how to use contexts. +type Context = context.Context diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go b/vendor/github.com/aws/aws-sdk-go/aws/context_background_1_5.go similarity index 59% rename from vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go rename to vendor/github.com/aws/aws-sdk-go/aws/context_background_1_5.go index 8fdda530338..66c5945db15 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/context_background_1_5.go @@ -39,3 +39,18 @@ func (e *emptyCtx) String() string { var ( backgroundCtx = new(emptyCtx) ) + +// BackgroundContext returns a context that will never be canceled, has no +// values, and no deadline. This context is used by the SDK to provide +// backwards compatibility with non-context API operations and functionality. +// +// Go 1.6 and before: +// This context function is equivalent to context.Background in the Go stdlib. +// +// Go 1.7 and later: +// The context returned will be the value returned by context.Background() +// +// See https://golang.org/pkg/context for more information on Contexts. +func BackgroundContext() Context { + return backgroundCtx +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context_background_1_7.go b/vendor/github.com/aws/aws-sdk-go/aws/context_background_1_7.go new file mode 100644 index 00000000000..9c29f29af17 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/context_background_1_7.go @@ -0,0 +1,20 @@ +// +build go1.7 + +package aws + +import "context" + +// BackgroundContext returns a context that will never be canceled, has no +// values, and no deadline. This context is used by the SDK to provide +// backwards compatibility with non-context API operations and functionality. +// +// Go 1.6 and before: +// This context function is equivalent to context.Background in the Go stdlib. +// +// Go 1.7 and later: +// The context returned will be the value returned by context.Background() +// +// See https://golang.org/pkg/context for more information on Contexts. +func BackgroundContext() Context { + return context.Background() +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context_sleep.go b/vendor/github.com/aws/aws-sdk-go/aws/context_sleep.go new file mode 100644 index 00000000000..304fd156120 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/context_sleep.go @@ -0,0 +1,24 @@ +package aws + +import ( + "time" +) + +// SleepWithContext will wait for the timer duration to expire, or the context +// is canceled. Which ever happens first. If the context is canceled the Context's +// error will be returned. +// +// Expects Context to always return a non-nil error if the Done channel is closed. +func SleepWithContext(ctx Context, dur time.Duration) error { + t := time.NewTimer(dur) + defer t.Stop() + + select { + case <-t.C: + break + case <-ctx.Done(): + return ctx.Err() + } + + return nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go index cfcddf3dc52..f8853d78af2 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go @@ -72,9 +72,9 @@ var ValidateReqSigHandler = request.NamedHandler{ signedTime = r.LastSignedAt } - // 10 minutes to allow for some clock skew/delays in transmission. + // 5 minutes to allow for some clock skew/delays in transmission. // Would be improved with aws/aws-sdk-go#423 - if signedTime.Add(10 * time.Minute).After(time.Now()) { + if signedTime.Add(5 * time.Minute).After(time.Now()) { return } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.go b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.go index a15f496bc08..ab69c7a6f38 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.go @@ -17,7 +17,7 @@ var SDKVersionUserAgentHandler = request.NamedHandler{ } const execEnvVar = `AWS_EXECUTION_ENV` -const execEnvUAKey = `exec_env` +const execEnvUAKey = `exec-env` // AddHostExecEnvUserAgentHander is a request handler appending the SDK's // execution environment to the user agent. diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go index dc82f4c3cfa..4af59215814 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go @@ -49,8 +49,11 @@ package credentials import ( + "fmt" "sync" "time" + + "github.com/aws/aws-sdk-go/aws/awserr" ) // AnonymousCredentials is an empty Credential object that can be used as @@ -81,6 +84,12 @@ type Value struct { ProviderName string } +// HasKeys returns if the credentials Value has both AccessKeyID and +// SecretAccessKey value set. +func (v Value) HasKeys() bool { + return len(v.AccessKeyID) != 0 && len(v.SecretAccessKey) != 0 +} + // A Provider is the interface for any component which will provide credentials // Value. A provider is required to manage its own Expired state, and what to // be expired means. @@ -97,6 +106,14 @@ type Provider interface { IsExpired() bool } +// An Expirer is an interface that Providers can implement to expose the expiration +// time, if known. If the Provider cannot accurately provide this info, +// it should not implement this interface. +type Expirer interface { + // The time at which the credentials are no longer valid + ExpiresAt() time.Time +} + // An ErrorProvider is a stub credentials provider that always returns an error // this is used by the SDK when construction a known provider is not possible // due to an error. @@ -163,6 +180,11 @@ func (e *Expiry) IsExpired() bool { return e.expiration.Before(curTime()) } +// ExpiresAt returns the expiration time of the credential +func (e *Expiry) ExpiresAt() time.Time { + return e.expiration +} + // A Credentials provides concurrency safe retrieval of AWS credentials Value. // Credentials will cache the credentials value until they expire. Once the value // expires the next Get will attempt to retrieve valid credentials. @@ -255,3 +277,23 @@ func (c *Credentials) IsExpired() bool { func (c *Credentials) isExpired() bool { return c.forceRefresh || c.provider.IsExpired() } + +// ExpiresAt provides access to the functionality of the Expirer interface of +// the underlying Provider, if it supports that interface. Otherwise, it returns +// an error. +func (c *Credentials) ExpiresAt() (time.Time, error) { + c.m.RLock() + defer c.m.RUnlock() + + expirer, ok := c.provider.(Expirer) + if !ok { + return time.Time{}, awserr.New("ProviderNotExpirer", + fmt.Sprintf("provider %s does not support ExpiresAt()", c.creds.ProviderName), + nil) + } + if c.forceRefresh { + // set expiration time to the distant past + return time.Time{}, nil + } + return expirer.ExpiresAt(), nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go index 0ed791be641..43d4ed386ab 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go @@ -11,6 +11,7 @@ import ( "github.com/aws/aws-sdk-go/aws/client" "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/ec2metadata" + "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/internal/sdkuri" ) @@ -142,7 +143,8 @@ func requestCredList(client *ec2metadata.EC2Metadata) ([]string, error) { } if err := s.Err(); err != nil { - return nil, awserr.New("SerializationError", "failed to read EC2 instance role from metadata service", err) + return nil, awserr.New(request.ErrCodeSerialization, + "failed to read EC2 instance role from metadata service", err) } return credsList, nil @@ -164,7 +166,7 @@ func requestCred(client *ec2metadata.EC2Metadata, credsName string) (ec2RoleCred respCreds := ec2RoleCredRespBody{} if err := json.NewDecoder(strings.NewReader(resp)).Decode(&respCreds); err != nil { return ec2RoleCredRespBody{}, - awserr.New("SerializationError", + awserr.New(request.ErrCodeSerialization, fmt.Sprintf("failed to decode %s EC2 instance role credentials", credsName), err) } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.go index ace51313820..c2b2c5d65c3 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.go @@ -39,6 +39,7 @@ import ( "github.com/aws/aws-sdk-go/aws/client/metadata" "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil" ) // ProviderName is the name of the credentials provider. @@ -174,7 +175,7 @@ func unmarshalHandler(r *request.Request) { out := r.Data.(*getCredentialsOutput) if err := json.NewDecoder(r.HTTPResponse.Body).Decode(&out); err != nil { - r.Error = awserr.New("SerializationError", + r.Error = awserr.New(request.ErrCodeSerialization, "failed to decode endpoint credentials", err, ) @@ -185,11 +186,15 @@ func unmarshalError(r *request.Request) { defer r.HTTPResponse.Body.Close() var errOut errorOutput - if err := json.NewDecoder(r.HTTPResponse.Body).Decode(&errOut); err != nil { - r.Error = awserr.New("SerializationError", - "failed to decode endpoint credentials", - err, + err := jsonutil.UnmarshalJSONError(&errOut, r.HTTPResponse.Body) + if err != nil { + r.Error = awserr.NewRequestFailure( + awserr.New(request.ErrCodeSerialization, + "failed to decode error message", err), + r.HTTPResponse.StatusCode, + r.RequestID, ) + return } // Response body format is not consistent between metadata endpoints. diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go new file mode 100644 index 00000000000..1980c8c140a --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go @@ -0,0 +1,425 @@ +/* +Package processcreds is a credential Provider to retrieve `credential_process` +credentials. + +WARNING: The following describes a method of sourcing credentials from an external +process. This can potentially be dangerous, so proceed with caution. Other +credential providers should be preferred if at all possible. If using this +option, you should make sure that the config file is as locked down as possible +using security best practices for your operating system. + +You can use credentials from a `credential_process` in a variety of ways. + +One way is to setup your shared config file, located in the default +location, with the `credential_process` key and the command you want to be +called. You also need to set the AWS_SDK_LOAD_CONFIG environment variable +(e.g., `export AWS_SDK_LOAD_CONFIG=1`) to use the shared config file. + + [default] + credential_process = /command/to/call + +Creating a new session will use the credential process to retrieve credentials. +NOTE: If there are credentials in the profile you are using, the credential +process will not be used. + + // Initialize a session to load credentials. + sess, _ := session.NewSession(&aws.Config{ + Region: aws.String("us-east-1")}, + ) + + // Create S3 service client to use the credentials. + svc := s3.New(sess) + +Another way to use the `credential_process` method is by using +`credentials.NewCredentials()` and providing a command to be executed to +retrieve credentials: + + // Create credentials using the ProcessProvider. + creds := processcreds.NewCredentials("/path/to/command") + + // Create service client value configured for credentials. + svc := s3.New(sess, &aws.Config{Credentials: creds}) + +You can set a non-default timeout for the `credential_process` with another +constructor, `credentials.NewCredentialsTimeout()`, providing the timeout. To +set a one minute timeout: + + // Create credentials using the ProcessProvider. + creds := processcreds.NewCredentialsTimeout( + "/path/to/command", + time.Duration(500) * time.Millisecond) + +If you need more control, you can set any configurable options in the +credentials using one or more option functions. For example, you can set a two +minute timeout, a credential duration of 60 minutes, and a maximum stdout +buffer size of 2k. + + creds := processcreds.NewCredentials( + "/path/to/command", + func(opt *ProcessProvider) { + opt.Timeout = time.Duration(2) * time.Minute + opt.Duration = time.Duration(60) * time.Minute + opt.MaxBufSize = 2048 + }) + +You can also use your own `exec.Cmd`: + + // Create an exec.Cmd + myCommand := exec.Command("/path/to/command") + + // Create credentials using your exec.Cmd and custom timeout + creds := processcreds.NewCredentialsCommand( + myCommand, + func(opt *processcreds.ProcessProvider) { + opt.Timeout = time.Duration(1) * time.Second + }) +*/ +package processcreds + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "io/ioutil" + "os" + "os/exec" + "runtime" + "strings" + "time" + + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/credentials" +) + +const ( + // ProviderName is the name this credentials provider will label any + // returned credentials Value with. + ProviderName = `ProcessProvider` + + // ErrCodeProcessProviderParse error parsing process output + ErrCodeProcessProviderParse = "ProcessProviderParseError" + + // ErrCodeProcessProviderVersion version error in output + ErrCodeProcessProviderVersion = "ProcessProviderVersionError" + + // ErrCodeProcessProviderRequired required attribute missing in output + ErrCodeProcessProviderRequired = "ProcessProviderRequiredError" + + // ErrCodeProcessProviderExecution execution of command failed + ErrCodeProcessProviderExecution = "ProcessProviderExecutionError" + + // errMsgProcessProviderTimeout process took longer than allowed + errMsgProcessProviderTimeout = "credential process timed out" + + // errMsgProcessProviderProcess process error + errMsgProcessProviderProcess = "error in credential_process" + + // errMsgProcessProviderParse problem parsing output + errMsgProcessProviderParse = "parse failed of credential_process output" + + // errMsgProcessProviderVersion version error in output + errMsgProcessProviderVersion = "wrong version in process output (not 1)" + + // errMsgProcessProviderMissKey missing access key id in output + errMsgProcessProviderMissKey = "missing AccessKeyId in process output" + + // errMsgProcessProviderMissSecret missing secret acess key in output + errMsgProcessProviderMissSecret = "missing SecretAccessKey in process output" + + // errMsgProcessProviderPrepareCmd prepare of command failed + errMsgProcessProviderPrepareCmd = "failed to prepare command" + + // errMsgProcessProviderEmptyCmd command must not be empty + errMsgProcessProviderEmptyCmd = "command must not be empty" + + // errMsgProcessProviderPipe failed to initialize pipe + errMsgProcessProviderPipe = "failed to initialize pipe" + + // DefaultDuration is the default amount of time in minutes that the + // credentials will be valid for. + DefaultDuration = time.Duration(15) * time.Minute + + // DefaultBufSize limits buffer size from growing to an enormous + // amount due to a faulty process. + DefaultBufSize = 1024 + + // DefaultTimeout default limit on time a process can run. + DefaultTimeout = time.Duration(1) * time.Minute +) + +// ProcessProvider satisfies the credentials.Provider interface, and is a +// client to retrieve credentials from a process. +type ProcessProvider struct { + staticCreds bool + credentials.Expiry + originalCommand []string + + // Expiry duration of the credentials. Defaults to 15 minutes if not set. + Duration time.Duration + + // ExpiryWindow will allow the credentials to trigger refreshing prior to + // the credentials actually expiring. This is beneficial so race conditions + // with expiring credentials do not cause request to fail unexpectedly + // due to ExpiredTokenException exceptions. + // + // So a ExpiryWindow of 10s would cause calls to IsExpired() to return true + // 10 seconds before the credentials are actually expired. + // + // If ExpiryWindow is 0 or less it will be ignored. + ExpiryWindow time.Duration + + // A string representing an os command that should return a JSON with + // credential information. + command *exec.Cmd + + // MaxBufSize limits memory usage from growing to an enormous + // amount due to a faulty process. + MaxBufSize int + + // Timeout limits the time a process can run. + Timeout time.Duration +} + +// NewCredentials returns a pointer to a new Credentials object wrapping the +// ProcessProvider. The credentials will expire every 15 minutes by default. +func NewCredentials(command string, options ...func(*ProcessProvider)) *credentials.Credentials { + p := &ProcessProvider{ + command: exec.Command(command), + Duration: DefaultDuration, + Timeout: DefaultTimeout, + MaxBufSize: DefaultBufSize, + } + + for _, option := range options { + option(p) + } + + return credentials.NewCredentials(p) +} + +// NewCredentialsTimeout returns a pointer to a new Credentials object with +// the specified command and timeout, and default duration and max buffer size. +func NewCredentialsTimeout(command string, timeout time.Duration) *credentials.Credentials { + p := NewCredentials(command, func(opt *ProcessProvider) { + opt.Timeout = timeout + }) + + return p +} + +// NewCredentialsCommand returns a pointer to a new Credentials object with +// the specified command, and default timeout, duration and max buffer size. +func NewCredentialsCommand(command *exec.Cmd, options ...func(*ProcessProvider)) *credentials.Credentials { + p := &ProcessProvider{ + command: command, + Duration: DefaultDuration, + Timeout: DefaultTimeout, + MaxBufSize: DefaultBufSize, + } + + for _, option := range options { + option(p) + } + + return credentials.NewCredentials(p) +} + +type credentialProcessResponse struct { + Version int + AccessKeyID string `json:"AccessKeyId"` + SecretAccessKey string + SessionToken string + Expiration *time.Time +} + +// Retrieve executes the 'credential_process' and returns the credentials. +func (p *ProcessProvider) Retrieve() (credentials.Value, error) { + out, err := p.executeCredentialProcess() + if err != nil { + return credentials.Value{ProviderName: ProviderName}, err + } + + // Serialize and validate response + resp := &credentialProcessResponse{} + if err = json.Unmarshal(out, resp); err != nil { + return credentials.Value{ProviderName: ProviderName}, awserr.New( + ErrCodeProcessProviderParse, + fmt.Sprintf("%s: %s", errMsgProcessProviderParse, string(out)), + err) + } + + if resp.Version != 1 { + return credentials.Value{ProviderName: ProviderName}, awserr.New( + ErrCodeProcessProviderVersion, + errMsgProcessProviderVersion, + nil) + } + + if len(resp.AccessKeyID) == 0 { + return credentials.Value{ProviderName: ProviderName}, awserr.New( + ErrCodeProcessProviderRequired, + errMsgProcessProviderMissKey, + nil) + } + + if len(resp.SecretAccessKey) == 0 { + return credentials.Value{ProviderName: ProviderName}, awserr.New( + ErrCodeProcessProviderRequired, + errMsgProcessProviderMissSecret, + nil) + } + + // Handle expiration + p.staticCreds = resp.Expiration == nil + if resp.Expiration != nil { + p.SetExpiration(*resp.Expiration, p.ExpiryWindow) + } + + return credentials.Value{ + ProviderName: ProviderName, + AccessKeyID: resp.AccessKeyID, + SecretAccessKey: resp.SecretAccessKey, + SessionToken: resp.SessionToken, + }, nil +} + +// IsExpired returns true if the credentials retrieved are expired, or not yet +// retrieved. +func (p *ProcessProvider) IsExpired() bool { + if p.staticCreds { + return false + } + return p.Expiry.IsExpired() +} + +// prepareCommand prepares the command to be executed. +func (p *ProcessProvider) prepareCommand() error { + + var cmdArgs []string + if runtime.GOOS == "windows" { + cmdArgs = []string{"cmd.exe", "/C"} + } else { + cmdArgs = []string{"sh", "-c"} + } + + if len(p.originalCommand) == 0 { + p.originalCommand = make([]string, len(p.command.Args)) + copy(p.originalCommand, p.command.Args) + + // check for empty command because it succeeds + if len(strings.TrimSpace(p.originalCommand[0])) < 1 { + return awserr.New( + ErrCodeProcessProviderExecution, + fmt.Sprintf( + "%s: %s", + errMsgProcessProviderPrepareCmd, + errMsgProcessProviderEmptyCmd), + nil) + } + } + + cmdArgs = append(cmdArgs, p.originalCommand...) + p.command = exec.Command(cmdArgs[0], cmdArgs[1:]...) + p.command.Env = os.Environ() + + return nil +} + +// executeCredentialProcess starts the credential process on the OS and +// returns the results or an error. +func (p *ProcessProvider) executeCredentialProcess() ([]byte, error) { + + if err := p.prepareCommand(); err != nil { + return nil, err + } + + // Setup the pipes + outReadPipe, outWritePipe, err := os.Pipe() + if err != nil { + return nil, awserr.New( + ErrCodeProcessProviderExecution, + errMsgProcessProviderPipe, + err) + } + + p.command.Stderr = os.Stderr // display stderr on console for MFA + p.command.Stdout = outWritePipe // get creds json on process's stdout + p.command.Stdin = os.Stdin // enable stdin for MFA + + output := bytes.NewBuffer(make([]byte, 0, p.MaxBufSize)) + + stdoutCh := make(chan error, 1) + go readInput( + io.LimitReader(outReadPipe, int64(p.MaxBufSize)), + output, + stdoutCh) + + execCh := make(chan error, 1) + go executeCommand(*p.command, execCh) + + finished := false + var errors []error + for !finished { + select { + case readError := <-stdoutCh: + errors = appendError(errors, readError) + finished = true + case execError := <-execCh: + err := outWritePipe.Close() + errors = appendError(errors, err) + errors = appendError(errors, execError) + if errors != nil { + return output.Bytes(), awserr.NewBatchError( + ErrCodeProcessProviderExecution, + errMsgProcessProviderProcess, + errors) + } + case <-time.After(p.Timeout): + finished = true + return output.Bytes(), awserr.NewBatchError( + ErrCodeProcessProviderExecution, + errMsgProcessProviderTimeout, + errors) // errors can be nil + } + } + + out := output.Bytes() + + if runtime.GOOS == "windows" { + // windows adds slashes to quotes + out = []byte(strings.Replace(string(out), `\"`, `"`, -1)) + } + + return out, nil +} + +// appendError conveniently checks for nil before appending slice +func appendError(errors []error, err error) []error { + if err != nil { + return append(errors, err) + } + return errors +} + +func executeCommand(cmd exec.Cmd, exec chan error) { + // Start the command + err := cmd.Start() + if err == nil { + err = cmd.Wait() + } + + exec <- err +} + +func readInput(r io.Reader, w io.Writer, read chan error) { + tee := io.TeeReader(r, w) + + _, err := ioutil.ReadAll(tee) + + if err == io.EOF { + err = nil + } + + read <- err // will only arrive here when write end of pipe is closed +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go index 4108e433e64..2e528d130d4 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go @@ -80,16 +80,18 @@ package stscreds import ( "fmt" + "os" "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/client" "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/internal/sdkrand" "github.com/aws/aws-sdk-go/service/sts" ) -// StdinTokenProvider will prompt on stdout and read from stdin for a string value. +// StdinTokenProvider will prompt on stderr and read from stdin for a string value. // An error is returned if reading from stdin fails. // // Use this function go read MFA tokens from stdin. The function makes no attempt @@ -102,7 +104,7 @@ import ( // Will wait forever until something is provided on the stdin. func StdinTokenProvider() (string, error) { var v string - fmt.Printf("Assume Role MFA token code: ") + fmt.Fprintf(os.Stderr, "Assume Role MFA token code: ") _, err := fmt.Scanln(&v) return v, err @@ -193,6 +195,18 @@ type AssumeRoleProvider struct { // // If ExpiryWindow is 0 or less it will be ignored. ExpiryWindow time.Duration + + // MaxJitterFrac reduces the effective Duration of each credential requested + // by a random percentage between 0 and MaxJitterFraction. MaxJitterFrac must + // have a value between 0 and 1. Any other value may lead to expected behavior. + // With a MaxJitterFrac value of 0, default) will no jitter will be used. + // + // For example, with a Duration of 30m and a MaxJitterFrac of 0.1, the + // AssumeRole call will be made with an arbitrary Duration between 27m and + // 30m. + // + // MaxJitterFrac should not be negative. + MaxJitterFrac float64 } // NewCredentials returns a pointer to a new Credentials object wrapping the @@ -244,7 +258,6 @@ func NewCredentialsWithClient(svc AssumeRoler, roleARN string, options ...func(* // Retrieve generates a new set of temporary credentials using STS. func (p *AssumeRoleProvider) Retrieve() (credentials.Value, error) { - // Apply defaults where parameters are not set. if p.RoleSessionName == "" { // Try to work out a role name that will hopefully end up unique. @@ -254,8 +267,9 @@ func (p *AssumeRoleProvider) Retrieve() (credentials.Value, error) { // Expire as often as AWS permits. p.Duration = DefaultDuration } + jitter := time.Duration(sdkrand.SeededRand.Float64() * p.MaxJitterFrac * float64(p.Duration)) input := &sts.AssumeRoleInput{ - DurationSeconds: aws.Int64(int64(p.Duration / time.Second)), + DurationSeconds: aws.Int64(int64((p.Duration - jitter) / time.Second)), RoleArn: aws.String(p.RoleARN), RoleSessionName: aws.String(p.RoleSessionName), ExternalId: p.ExternalID, diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go new file mode 100644 index 00000000000..20510d9aec8 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go @@ -0,0 +1,97 @@ +package stscreds + +import ( + "fmt" + "io/ioutil" + "strconv" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/service/sts" + "github.com/aws/aws-sdk-go/service/sts/stsiface" +) + +const ( + // ErrCodeWebIdentity will be used as an error code when constructing + // a new error to be returned during session creation or retrieval. + ErrCodeWebIdentity = "WebIdentityErr" + + // WebIdentityProviderName is the web identity provider name + WebIdentityProviderName = "WebIdentityCredentials" +) + +// now is used to return a time.Time object representing +// the current time. This can be used to easily test and +// compare test values. +var now = time.Now + +// WebIdentityRoleProvider is used to retrieve credentials using +// an OIDC token. +type WebIdentityRoleProvider struct { + credentials.Expiry + + client stsiface.STSAPI + ExpiryWindow time.Duration + + tokenFilePath string + roleARN string + roleSessionName string +} + +// NewWebIdentityCredentials will return a new set of credentials with a given +// configuration, role arn, and token file path. +func NewWebIdentityCredentials(c client.ConfigProvider, roleARN, roleSessionName, path string) *credentials.Credentials { + svc := sts.New(c) + p := NewWebIdentityRoleProvider(svc, roleARN, roleSessionName, path) + return credentials.NewCredentials(p) +} + +// NewWebIdentityRoleProvider will return a new WebIdentityRoleProvider with the +// provided stsiface.STSAPI +func NewWebIdentityRoleProvider(svc stsiface.STSAPI, roleARN, roleSessionName, path string) *WebIdentityRoleProvider { + return &WebIdentityRoleProvider{ + client: svc, + tokenFilePath: path, + roleARN: roleARN, + roleSessionName: roleSessionName, + } +} + +// Retrieve will attempt to assume a role from a token which is located at +// 'WebIdentityTokenFilePath' specified destination and if that is empty an +// error will be returned. +func (p *WebIdentityRoleProvider) Retrieve() (credentials.Value, error) { + b, err := ioutil.ReadFile(p.tokenFilePath) + if err != nil { + errMsg := fmt.Sprintf("unable to read file at %s", p.tokenFilePath) + return credentials.Value{}, awserr.New(ErrCodeWebIdentity, errMsg, err) + } + + sessionName := p.roleSessionName + if len(sessionName) == 0 { + // session name is used to uniquely identify a session. This simply + // uses unix time in nanoseconds to uniquely identify sessions. + sessionName = strconv.FormatInt(now().UnixNano(), 10) + } + resp, err := p.client.AssumeRoleWithWebIdentity(&sts.AssumeRoleWithWebIdentityInput{ + RoleArn: &p.roleARN, + RoleSessionName: &sessionName, + WebIdentityToken: aws.String(string(b)), + }) + if err != nil { + return credentials.Value{}, awserr.New(ErrCodeWebIdentity, "failed to retrieve credentials", err) + } + + p.SetExpiration(aws.TimeValue(resp.Credentials.Expiration), p.ExpiryWindow) + + value := credentials.Value{ + AccessKeyID: aws.StringValue(resp.Credentials.AccessKeyId), + SecretAccessKey: aws.StringValue(resp.Credentials.SecretAccessKey), + SessionToken: aws.StringValue(resp.Credentials.SessionToken), + ProviderName: WebIdentityProviderName, + } + return value, nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/csm/doc.go b/vendor/github.com/aws/aws-sdk-go/aws/csm/doc.go index 152d785b362..25a66d1dda2 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/csm/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/csm/doc.go @@ -1,30 +1,61 @@ -// Package csm provides Client Side Monitoring (CSM) which enables sending metrics -// via UDP connection. Using the Start function will enable the reporting of -// metrics on a given port. If Start is called, with different parameters, again, -// a panic will occur. +// Package csm provides the Client Side Monitoring (CSM) client which enables +// sending metrics via UDP connection to the CSM agent. This package provides +// control options, and configuration for the CSM client. The client can be +// controlled manually, or automatically via the SDK's Session configuration. // -// Pause can be called to pause any metrics publishing on a given port. Sessions -// that have had their handlers modified via InjectHandlers may still be used. -// However, the handlers will act as a no-op meaning no metrics will be published. +// Enabling CSM client via SDK's Session configuration +// +// The CSM client can be enabled automatically via SDK's Session configuration. +// The SDK's session configuration enables the CSM client if the AWS_CSM_PORT +// environment variable is set to a non-empty value. +// +// The configuration options for the CSM client via the SDK's session +// configuration are: +// +// * AWS_CSM_PORT= +// The port number the CSM agent will receive metrics on. +// +// * AWS_CSM_HOST= +// The hostname, or IP address the CSM agent will receive metrics on. +// Without port number. +// +// Manually enabling the CSM client +// +// The CSM client can be started, paused, and resumed manually. The Start +// function will enable the CSM client to publish metrics to the CSM agent. It +// is safe to call Start concurrently, but if Start is called additional times +// with different ClientID or address it will panic. // -// Example: // r, err := csm.Start("clientID", ":31000") // if err != nil { // panic(fmt.Errorf("failed starting CSM: %v", err)) // } // +// When controlling the CSM client manually, you must also inject its request +// handlers into the SDK's Session configuration for the SDK's API clients to +// publish metrics. +// // sess, err := session.NewSession(&aws.Config{}) // if err != nil { // panic(fmt.Errorf("failed loading session: %v", err)) // } // +// // Add CSM client's metric publishing request handlers to the SDK's +// // Session Configuration. // r.InjectHandlers(&sess.Handlers) // -// client := s3.New(sess) -// resp, err := client.GetObject(&s3.GetObjectInput{ -// Bucket: aws.String("bucket"), -// Key: aws.String("key"), -// }) +// Controlling CSM client +// +// Once the CSM client has been enabled the Get function will return a Reporter +// value that you can use to pause and resume the metrics published to the CSM +// agent. If Get function is called before the reporter is enabled with the +// Start function or via SDK's Session configuration nil will be returned. +// +// The Pause method can be called to stop the CSM client publishing metrics to +// the CSM agent. The Continue method will resume metric publishing. +// +// // Get the CSM client Reporter. +// r := csm.Get() // // // Will pause monitoring // r.Pause() @@ -35,12 +66,4 @@ // // // Resume monitoring // r.Continue() -// -// Start returns a Reporter that is used to enable or disable monitoring. If -// access to the Reporter is required later, calling Get will return the Reporter -// singleton. -// -// Example: -// r := csm.Get() -// r.Continue() package csm diff --git a/vendor/github.com/aws/aws-sdk-go/aws/csm/enable.go b/vendor/github.com/aws/aws-sdk-go/aws/csm/enable.go index 2f0c6eac9a8..4b19e2800e3 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/csm/enable.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/csm/enable.go @@ -2,6 +2,7 @@ package csm import ( "fmt" + "strings" "sync" ) @@ -9,19 +10,40 @@ var ( lock sync.Mutex ) -// Client side metric handler names const ( - APICallMetricHandlerName = "awscsm.SendAPICallMetric" - APICallAttemptMetricHandlerName = "awscsm.SendAPICallAttemptMetric" + // DefaultPort is used when no port is specified. + DefaultPort = "31000" + + // DefaultHost is the host that will be used when none is specified. + DefaultHost = "127.0.0.1" ) -// Start will start the a long running go routine to capture +// AddressWithDefaults returns a CSM address built from the host and port +// values. If the host or port is not set, default values will be used +// instead. If host is "localhost" it will be replaced with "127.0.0.1". +func AddressWithDefaults(host, port string) string { + if len(host) == 0 || strings.EqualFold(host, "localhost") { + host = DefaultHost + } + + if len(port) == 0 { + port = DefaultPort + } + + // Only IP6 host can contain a colon + if strings.Contains(host, ":") { + return "[" + host + "]:" + port + } + + return host + ":" + port +} + +// Start will start a long running go routine to capture // client side metrics. Calling start multiple time will only // start the metric listener once and will panic if a different // client ID or port is passed in. // -// Example: -// r, err := csm.Start("clientID", "127.0.0.1:8094") +// r, err := csm.Start("clientID", "127.0.0.1:31000") // if err != nil { // panic(fmt.Errorf("expected no error, but received %v", err)) // } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/csm/metric.go b/vendor/github.com/aws/aws-sdk-go/aws/csm/metric.go index 6f57024d743..5bacc791a1e 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/csm/metric.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/csm/metric.go @@ -3,6 +3,8 @@ package csm import ( "strconv" "time" + + "github.com/aws/aws-sdk-go/aws" ) type metricTime time.Time @@ -39,6 +41,12 @@ type metric struct { SDKException *string `json:"SdkException,omitempty"` SDKExceptionMessage *string `json:"SdkExceptionMessage,omitempty"` + FinalHTTPStatusCode *int `json:"FinalHttpStatusCode,omitempty"` + FinalAWSException *string `json:"FinalAwsException,omitempty"` + FinalAWSExceptionMessage *string `json:"FinalAwsExceptionMessage,omitempty"` + FinalSDKException *string `json:"FinalSdkException,omitempty"` + FinalSDKExceptionMessage *string `json:"FinalSdkExceptionMessage,omitempty"` + DestinationIP *string `json:"DestinationIp,omitempty"` ConnectionReused *int `json:"ConnectionReused,omitempty"` @@ -51,3 +59,51 @@ type metric struct { MaxRetriesExceeded *int `json:"MaxRetriesExceeded,omitempty"` } + +func (m *metric) TruncateFields() { + m.ClientID = truncateString(m.ClientID, 255) + m.UserAgent = truncateString(m.UserAgent, 256) + + m.AWSException = truncateString(m.AWSException, 128) + m.AWSExceptionMessage = truncateString(m.AWSExceptionMessage, 512) + + m.SDKException = truncateString(m.SDKException, 128) + m.SDKExceptionMessage = truncateString(m.SDKExceptionMessage, 512) + + m.FinalAWSException = truncateString(m.FinalAWSException, 128) + m.FinalAWSExceptionMessage = truncateString(m.FinalAWSExceptionMessage, 512) + + m.FinalSDKException = truncateString(m.FinalSDKException, 128) + m.FinalSDKExceptionMessage = truncateString(m.FinalSDKExceptionMessage, 512) +} + +func truncateString(v *string, l int) *string { + if v != nil && len(*v) > l { + nv := (*v)[:l] + return &nv + } + + return v +} + +func (m *metric) SetException(e metricException) { + switch te := e.(type) { + case awsException: + m.AWSException = aws.String(te.exception) + m.AWSExceptionMessage = aws.String(te.message) + case sdkException: + m.SDKException = aws.String(te.exception) + m.SDKExceptionMessage = aws.String(te.message) + } +} + +func (m *metric) SetFinalException(e metricException) { + switch te := e.(type) { + case awsException: + m.FinalAWSException = aws.String(te.exception) + m.FinalAWSExceptionMessage = aws.String(te.message) + case sdkException: + m.FinalSDKException = aws.String(te.exception) + m.FinalSDKExceptionMessage = aws.String(te.message) + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/csm/metric_exception.go b/vendor/github.com/aws/aws-sdk-go/aws/csm/metric_exception.go new file mode 100644 index 00000000000..54a99280ce9 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/csm/metric_exception.go @@ -0,0 +1,26 @@ +package csm + +type metricException interface { + Exception() string + Message() string +} + +type requestException struct { + exception string + message string +} + +func (e requestException) Exception() string { + return e.exception +} +func (e requestException) Message() string { + return e.message +} + +type awsException struct { + requestException +} + +type sdkException struct { + requestException +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go b/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go index 11861844246..c7008d8c3fc 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go @@ -10,11 +10,6 @@ import ( "github.com/aws/aws-sdk-go/aws/request" ) -const ( - // DefaultPort is used when no port is specified - DefaultPort = "31000" -) - // Reporter will gather metrics of API requests made and // send those metrics to the CSM endpoint. type Reporter struct { @@ -82,26 +77,29 @@ func (rep *Reporter) sendAPICallAttemptMetric(r *request.Request) { if r.Error != nil { if awserr, ok := r.Error.(awserr.Error); ok { - setError(&m, awserr) + m.SetException(getMetricException(awserr)) } } + m.TruncateFields() rep.metricsCh.Push(m) } -func setError(m *metric, err awserr.Error) { +func getMetricException(err awserr.Error) metricException { msg := err.Error() code := err.Code() switch code { case "RequestError", - "SerializationError", + request.ErrCodeSerialization, request.CanceledErrorCode: - m.SDKException = &code - m.SDKExceptionMessage = &msg + return sdkException{ + requestException{exception: code, message: msg}, + } default: - m.AWSException = &code - m.AWSExceptionMessage = &msg + return awsException{ + requestException{exception: code, message: msg}, + } } } @@ -116,14 +114,27 @@ func (rep *Reporter) sendAPICallMetric(r *request.Request) { API: aws.String(r.Operation.Name), Service: aws.String(r.ClientInfo.ServiceID), Timestamp: (*metricTime)(&now), + UserAgent: aws.String(r.HTTPRequest.Header.Get("User-Agent")), Type: aws.String("ApiCall"), AttemptCount: aws.Int(r.RetryCount + 1), Region: r.Config.Region, - Latency: aws.Int(int(time.Now().Sub(r.Time) / time.Millisecond)), + Latency: aws.Int(int(time.Since(r.Time) / time.Millisecond)), XAmzRequestID: aws.String(r.RequestID), MaxRetriesExceeded: aws.Int(boolIntValue(r.RetryCount >= r.MaxRetries())), } + if r.HTTPResponse != nil { + m.FinalHTTPStatusCode = aws.Int(r.HTTPResponse.StatusCode) + } + + if r.Error != nil { + if awserr, ok := r.Error.(awserr.Error); ok { + m.SetFinalException(getMetricException(awserr)) + } + } + + m.TruncateFields() + // TODO: Probably want to figure something out for logging dropped // metrics rep.metricsCh.Push(m) @@ -174,8 +185,9 @@ func (rep *Reporter) start() { } } -// Pause will pause the metric channel preventing any new metrics from -// being added. +// Pause will pause the metric channel preventing any new metrics from being +// added. It is safe to call concurrently with other calls to Pause, but if +// called concurently with Continue can lead to unexpected state. func (rep *Reporter) Pause() { lock.Lock() defer lock.Unlock() @@ -187,8 +199,9 @@ func (rep *Reporter) Pause() { rep.close() } -// Continue will reopen the metric channel and allow for monitoring -// to be resumed. +// Continue will reopen the metric channel and allow for monitoring to be +// resumed. It is safe to call concurrently with other calls to Continue, but +// if called concurently with Pause can lead to unexpected state. func (rep *Reporter) Continue() { lock.Lock() defer lock.Unlock() @@ -203,10 +216,18 @@ func (rep *Reporter) Continue() { rep.metricsCh.Continue() } +// Client side metric handler names +const ( + APICallMetricHandlerName = "awscsm.SendAPICallMetric" + APICallAttemptMetricHandlerName = "awscsm.SendAPICallAttemptMetric" +) + // InjectHandlers will will enable client side metrics and inject the proper // handlers to handle how metrics are sent. // -// Example: +// InjectHandlers is NOT safe to call concurrently. Calling InjectHandlers +// multiple times may lead to unexpected behavior, (e.g. duplicate metrics). +// // // Start must be called in order to inject the correct handlers // r, err := csm.Start("clientID", "127.0.0.1:8094") // if err != nil { @@ -223,13 +244,15 @@ func (rep *Reporter) InjectHandlers(handlers *request.Handlers) { return } - apiCallHandler := request.NamedHandler{Name: APICallMetricHandlerName, Fn: rep.sendAPICallMetric} - apiCallAttemptHandler := request.NamedHandler{Name: APICallAttemptMetricHandlerName, Fn: rep.sendAPICallAttemptMetric} - - handlers.Complete.PushFrontNamed(apiCallHandler) - handlers.Complete.PushFrontNamed(apiCallAttemptHandler) + handlers.Complete.PushFrontNamed(request.NamedHandler{ + Name: APICallMetricHandlerName, + Fn: rep.sendAPICallMetric, + }) - handlers.AfterRetry.PushFrontNamed(apiCallAttemptHandler) + handlers.CompleteAttempt.PushFrontNamed(request.NamedHandler{ + Name: APICallAttemptMetricHandlerName, + Fn: rep.sendAPICallAttemptMetric, + }) } // boolIntValue return 1 for true and 0 for false. diff --git a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go index c215cd3f599..2c8d5f56d0e 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go @@ -24,8 +24,9 @@ func (c *EC2Metadata) GetMetadata(p string) (string, error) { output := &metadataOutput{} req := c.NewRequest(op, nil, output) + err := req.Send() - return output.Content, req.Send() + return output.Content, err } // GetUserData returns the userdata that was configured for the service. If @@ -45,8 +46,9 @@ func (c *EC2Metadata) GetUserData() (string, error) { r.Error = awserr.New("NotFoundError", "user-data not found", r.Error) } }) + err := req.Send() - return output.Content, req.Send() + return output.Content, err } // GetDynamicData uses the path provided to request information from the EC2 @@ -61,8 +63,9 @@ func (c *EC2Metadata) GetDynamicData(p string) (string, error) { output := &metadataOutput{} req := c.NewRequest(op, nil, output) + err := req.Send() - return output.Content, req.Send() + return output.Content, err } // GetInstanceIdentityDocument retrieves an identity document describing an @@ -79,7 +82,7 @@ func (c *EC2Metadata) GetInstanceIdentityDocument() (EC2InstanceIdentityDocument doc := EC2InstanceIdentityDocument{} if err := json.NewDecoder(strings.NewReader(resp)).Decode(&doc); err != nil { return EC2InstanceIdentityDocument{}, - awserr.New("SerializationError", + awserr.New(request.ErrCodeSerialization, "failed to decode EC2 instance identity document", err) } @@ -98,7 +101,7 @@ func (c *EC2Metadata) IAMInfo() (EC2IAMInfo, error) { info := EC2IAMInfo{} if err := json.NewDecoder(strings.NewReader(resp)).Decode(&info); err != nil { return EC2IAMInfo{}, - awserr.New("SerializationError", + awserr.New(request.ErrCodeSerialization, "failed to decode EC2 IAM info", err) } @@ -118,6 +121,10 @@ func (c *EC2Metadata) Region() (string, error) { return "", err } + if len(resp) == 0 { + return "", awserr.New("EC2MetadataError", "invalid Region response", nil) + } + // returns region without the suffix. Eg: us-west-2a becomes us-west-2 return resp[:len(resp)-1], nil } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go index 53457cac368..4c5636e3500 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go @@ -4,7 +4,7 @@ // This package's client can be disabled completely by setting the environment // variable "AWS_EC2_METADATA_DISABLED=true". This environment variable set to // true instructs the SDK to disable the EC2 Metadata client. The client cannot -// be used while the environemnt variable is set to true, (case insensitive). +// be used while the environment variable is set to true, (case insensitive). package ec2metadata import ( @@ -92,6 +92,9 @@ func NewClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegio svc.Handlers.Send.SwapNamed(request.NamedHandler{ Name: corehandlers.SendHandler.Name, Fn: func(r *request.Request) { + r.HTTPResponse = &http.Response{ + Header: http.Header{}, + } r.Error = awserr.New( request.CanceledErrorCode, "EC2 IMDS access disabled via "+disableServiceEnvVar+" env var", @@ -120,7 +123,7 @@ func unmarshalHandler(r *request.Request) { defer r.HTTPResponse.Body.Close() b := &bytes.Buffer{} if _, err := io.Copy(b, r.HTTPResponse.Body); err != nil { - r.Error = awserr.New("SerializationError", "unable to unmarshal EC2 metadata respose", err) + r.Error = awserr.New(request.ErrCodeSerialization, "unable to unmarshal EC2 metadata response", err) return } @@ -133,7 +136,7 @@ func unmarshalError(r *request.Request) { defer r.HTTPResponse.Body.Close() b := &bytes.Buffer{} if _, err := io.Copy(b, r.HTTPResponse.Body); err != nil { - r.Error = awserr.New("SerializationError", "unable to unmarshal EC2 metadata error respose", err) + r.Error = awserr.New(request.ErrCodeSerialization, "unable to unmarshal EC2 metadata error response", err) return } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go index 1ddeae10198..87b9ff3ffec 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go @@ -85,6 +85,7 @@ func decodeV3Endpoints(modelDef modelDefinition, opts DecodeModelOptions) (Resol custAddS3DualStack(p) custRmIotDataService(p) custFixAppAutoscalingChina(p) + custFixAppAutoscalingUsGov(p) } return ps, nil @@ -149,6 +150,33 @@ func custFixAppAutoscalingChina(p *partition) { p.Services[serviceName] = s } +func custFixAppAutoscalingUsGov(p *partition) { + if p.ID != "aws-us-gov" { + return + } + + const serviceName = "application-autoscaling" + s, ok := p.Services[serviceName] + if !ok { + return + } + + if a := s.Defaults.CredentialScope.Service; a != "" { + fmt.Printf("custFixAppAutoscalingUsGov: ignoring customization, expected empty credential scope service, got %s\n", a) + return + } + + if a := s.Defaults.Hostname; a != "" { + fmt.Printf("custFixAppAutoscalingUsGov: ignoring customization, expected empty hostname, got %s\n", a) + return + } + + s.Defaults.CredentialScope.Service = "application-autoscaling" + s.Defaults.Hostname = "autoscaling.{region}.amazonaws.com" + + p.Services[serviceName] = s +} + type decodeModelError struct { awsError } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go index a97b629469a..e5031aadc6f 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go @@ -15,6 +15,7 @@ const ( // AWS Standard partition's regions. const ( + ApEast1RegionID = "ap-east-1" // Asia Pacific (Hong Kong). ApNortheast1RegionID = "ap-northeast-1" // Asia Pacific (Tokyo). ApNortheast2RegionID = "ap-northeast-2" // Asia Pacific (Seoul). ApSouth1RegionID = "ap-south-1" // Asia Pacific (Mumbai). @@ -22,9 +23,11 @@ const ( ApSoutheast2RegionID = "ap-southeast-2" // Asia Pacific (Sydney). CaCentral1RegionID = "ca-central-1" // Canada (Central). EuCentral1RegionID = "eu-central-1" // EU (Frankfurt). + EuNorth1RegionID = "eu-north-1" // EU (Stockholm). EuWest1RegionID = "eu-west-1" // EU (Ireland). EuWest2RegionID = "eu-west-2" // EU (London). EuWest3RegionID = "eu-west-3" // EU (Paris). + MeSouth1RegionID = "me-south-1" // Middle East (Bahrain). SaEast1RegionID = "sa-east-1" // South America (Sao Paulo). UsEast1RegionID = "us-east-1" // US East (N. Virginia). UsEast2RegionID = "us-east-2" // US East (Ohio). @@ -44,142 +47,6 @@ const ( UsGovWest1RegionID = "us-gov-west-1" // AWS GovCloud (US). ) -// Service identifiers -const ( - A4bServiceID = "a4b" // A4b. - AcmServiceID = "acm" // Acm. - AcmPcaServiceID = "acm-pca" // AcmPca. - ApiMediatailorServiceID = "api.mediatailor" // ApiMediatailor. - ApiPricingServiceID = "api.pricing" // ApiPricing. - ApiSagemakerServiceID = "api.sagemaker" // ApiSagemaker. - ApigatewayServiceID = "apigateway" // Apigateway. - ApplicationAutoscalingServiceID = "application-autoscaling" // ApplicationAutoscaling. - Appstream2ServiceID = "appstream2" // Appstream2. - AppsyncServiceID = "appsync" // Appsync. - AthenaServiceID = "athena" // Athena. - AutoscalingServiceID = "autoscaling" // Autoscaling. - AutoscalingPlansServiceID = "autoscaling-plans" // AutoscalingPlans. - BatchServiceID = "batch" // Batch. - BudgetsServiceID = "budgets" // Budgets. - CeServiceID = "ce" // Ce. - ChimeServiceID = "chime" // Chime. - Cloud9ServiceID = "cloud9" // Cloud9. - ClouddirectoryServiceID = "clouddirectory" // Clouddirectory. - CloudformationServiceID = "cloudformation" // Cloudformation. - CloudfrontServiceID = "cloudfront" // Cloudfront. - CloudhsmServiceID = "cloudhsm" // Cloudhsm. - Cloudhsmv2ServiceID = "cloudhsmv2" // Cloudhsmv2. - CloudsearchServiceID = "cloudsearch" // Cloudsearch. - CloudtrailServiceID = "cloudtrail" // Cloudtrail. - CodebuildServiceID = "codebuild" // Codebuild. - CodecommitServiceID = "codecommit" // Codecommit. - CodedeployServiceID = "codedeploy" // Codedeploy. - CodepipelineServiceID = "codepipeline" // Codepipeline. - CodestarServiceID = "codestar" // Codestar. - CognitoIdentityServiceID = "cognito-identity" // CognitoIdentity. - CognitoIdpServiceID = "cognito-idp" // CognitoIdp. - CognitoSyncServiceID = "cognito-sync" // CognitoSync. - ComprehendServiceID = "comprehend" // Comprehend. - ConfigServiceID = "config" // Config. - CurServiceID = "cur" // Cur. - DatapipelineServiceID = "datapipeline" // Datapipeline. - DaxServiceID = "dax" // Dax. - DevicefarmServiceID = "devicefarm" // Devicefarm. - DirectconnectServiceID = "directconnect" // Directconnect. - DiscoveryServiceID = "discovery" // Discovery. - DmsServiceID = "dms" // Dms. - DsServiceID = "ds" // Ds. - DynamodbServiceID = "dynamodb" // Dynamodb. - Ec2ServiceID = "ec2" // Ec2. - Ec2metadataServiceID = "ec2metadata" // Ec2metadata. - EcrServiceID = "ecr" // Ecr. - EcsServiceID = "ecs" // Ecs. - ElasticacheServiceID = "elasticache" // Elasticache. - ElasticbeanstalkServiceID = "elasticbeanstalk" // Elasticbeanstalk. - ElasticfilesystemServiceID = "elasticfilesystem" // Elasticfilesystem. - ElasticloadbalancingServiceID = "elasticloadbalancing" // Elasticloadbalancing. - ElasticmapreduceServiceID = "elasticmapreduce" // Elasticmapreduce. - ElastictranscoderServiceID = "elastictranscoder" // Elastictranscoder. - EmailServiceID = "email" // Email. - EntitlementMarketplaceServiceID = "entitlement.marketplace" // EntitlementMarketplace. - EsServiceID = "es" // Es. - EventsServiceID = "events" // Events. - FirehoseServiceID = "firehose" // Firehose. - FmsServiceID = "fms" // Fms. - GameliftServiceID = "gamelift" // Gamelift. - GlacierServiceID = "glacier" // Glacier. - GlueServiceID = "glue" // Glue. - GreengrassServiceID = "greengrass" // Greengrass. - GuarddutyServiceID = "guardduty" // Guardduty. - HealthServiceID = "health" // Health. - IamServiceID = "iam" // Iam. - ImportexportServiceID = "importexport" // Importexport. - InspectorServiceID = "inspector" // Inspector. - IotServiceID = "iot" // Iot. - IotanalyticsServiceID = "iotanalytics" // Iotanalytics. - KinesisServiceID = "kinesis" // Kinesis. - KinesisanalyticsServiceID = "kinesisanalytics" // Kinesisanalytics. - KinesisvideoServiceID = "kinesisvideo" // Kinesisvideo. - KmsServiceID = "kms" // Kms. - LambdaServiceID = "lambda" // Lambda. - LightsailServiceID = "lightsail" // Lightsail. - LogsServiceID = "logs" // Logs. - MachinelearningServiceID = "machinelearning" // Machinelearning. - MarketplacecommerceanalyticsServiceID = "marketplacecommerceanalytics" // Marketplacecommerceanalytics. - MediaconvertServiceID = "mediaconvert" // Mediaconvert. - MedialiveServiceID = "medialive" // Medialive. - MediapackageServiceID = "mediapackage" // Mediapackage. - MediastoreServiceID = "mediastore" // Mediastore. - MeteringMarketplaceServiceID = "metering.marketplace" // MeteringMarketplace. - MghServiceID = "mgh" // Mgh. - MobileanalyticsServiceID = "mobileanalytics" // Mobileanalytics. - ModelsLexServiceID = "models.lex" // ModelsLex. - MonitoringServiceID = "monitoring" // Monitoring. - MturkRequesterServiceID = "mturk-requester" // MturkRequester. - NeptuneServiceID = "neptune" // Neptune. - OpsworksServiceID = "opsworks" // Opsworks. - OpsworksCmServiceID = "opsworks-cm" // OpsworksCm. - OrganizationsServiceID = "organizations" // Organizations. - PinpointServiceID = "pinpoint" // Pinpoint. - PollyServiceID = "polly" // Polly. - RdsServiceID = "rds" // Rds. - RedshiftServiceID = "redshift" // Redshift. - RekognitionServiceID = "rekognition" // Rekognition. - ResourceGroupsServiceID = "resource-groups" // ResourceGroups. - Route53ServiceID = "route53" // Route53. - Route53domainsServiceID = "route53domains" // Route53domains. - RuntimeLexServiceID = "runtime.lex" // RuntimeLex. - RuntimeSagemakerServiceID = "runtime.sagemaker" // RuntimeSagemaker. - S3ServiceID = "s3" // S3. - S3ControlServiceID = "s3-control" // S3Control. - SdbServiceID = "sdb" // Sdb. - SecretsmanagerServiceID = "secretsmanager" // Secretsmanager. - ServerlessrepoServiceID = "serverlessrepo" // Serverlessrepo. - ServicecatalogServiceID = "servicecatalog" // Servicecatalog. - ServicediscoveryServiceID = "servicediscovery" // Servicediscovery. - ShieldServiceID = "shield" // Shield. - SmsServiceID = "sms" // Sms. - SnowballServiceID = "snowball" // Snowball. - SnsServiceID = "sns" // Sns. - SqsServiceID = "sqs" // Sqs. - SsmServiceID = "ssm" // Ssm. - StatesServiceID = "states" // States. - StoragegatewayServiceID = "storagegateway" // Storagegateway. - StreamsDynamodbServiceID = "streams.dynamodb" // StreamsDynamodb. - StsServiceID = "sts" // Sts. - SupportServiceID = "support" // Support. - SwfServiceID = "swf" // Swf. - TaggingServiceID = "tagging" // Tagging. - TransferServiceID = "transfer" // Transfer. - TranslateServiceID = "translate" // Translate. - WafServiceID = "waf" // Waf. - WafRegionalServiceID = "waf-regional" // WafRegional. - WorkdocsServiceID = "workdocs" // Workdocs. - WorkmailServiceID = "workmail" // Workmail. - WorkspacesServiceID = "workspaces" // Workspaces. - XrayServiceID = "xray" // Xray. -) - // DefaultResolver returns an Endpoint resolver that will be able // to resolve endpoints for: AWS Standard, AWS China, and AWS GovCloud (US). // @@ -216,7 +83,7 @@ var awsPartition = partition{ DNSSuffix: "amazonaws.com", RegionRegex: regionRegex{ Regexp: func() *regexp.Regexp { - reg, _ := regexp.Compile("^(us|eu|ap|sa|ca)\\-\\w+\\-\\d+$") + reg, _ := regexp.Compile("^(us|eu|ap|sa|ca|me)\\-\\w+\\-\\d+$") return reg }(), }, @@ -226,6 +93,9 @@ var awsPartition = partition{ SignatureVersions: []string{"v4"}, }, Regions: regions{ + "ap-east-1": region{ + Description: "Asia Pacific (Hong Kong)", + }, "ap-northeast-1": region{ Description: "Asia Pacific (Tokyo)", }, @@ -247,6 +117,9 @@ var awsPartition = partition{ "eu-central-1": region{ Description: "EU (Frankfurt)", }, + "eu-north-1": region{ + Description: "EU (Stockholm)", + }, "eu-west-1": region{ Description: "EU (Ireland)", }, @@ -256,6 +129,9 @@ var awsPartition = partition{ "eu-west-3": region{ Description: "EU (Paris)", }, + "me-south-1": region{ + Description: "Middle East (Bahrain)", + }, "sa-east-1": region{ Description: "South America (Sao Paulo)", }, @@ -282,6 +158,7 @@ var awsPartition = partition{ "acm": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -289,9 +166,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -304,18 +183,137 @@ var awsPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, + "us-west-1": endpoint{}, "us-west-2": endpoint{}, }, }, + "api.ecr": service{ + + Endpoints: endpoints{ + "ap-east-1": endpoint{ + Hostname: "api.ecr.ap-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-east-1", + }, + }, + "ap-northeast-1": endpoint{ + Hostname: "api.ecr.ap-northeast-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-northeast-1", + }, + }, + "ap-northeast-2": endpoint{ + Hostname: "api.ecr.ap-northeast-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-northeast-2", + }, + }, + "ap-south-1": endpoint{ + Hostname: "api.ecr.ap-south-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-south-1", + }, + }, + "ap-southeast-1": endpoint{ + Hostname: "api.ecr.ap-southeast-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-1", + }, + }, + "ap-southeast-2": endpoint{ + Hostname: "api.ecr.ap-southeast-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-2", + }, + }, + "ca-central-1": endpoint{ + Hostname: "api.ecr.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + }, + "eu-central-1": endpoint{ + Hostname: "api.ecr.eu-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-central-1", + }, + }, + "eu-north-1": endpoint{ + Hostname: "api.ecr.eu-north-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-north-1", + }, + }, + "eu-west-1": endpoint{ + Hostname: "api.ecr.eu-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-west-1", + }, + }, + "eu-west-2": endpoint{ + Hostname: "api.ecr.eu-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-west-2", + }, + }, + "eu-west-3": endpoint{ + Hostname: "api.ecr.eu-west-3.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-west-3", + }, + }, + "me-south-1": endpoint{ + Hostname: "api.ecr.me-south-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "me-south-1", + }, + }, + "sa-east-1": endpoint{ + Hostname: "api.ecr.sa-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "sa-east-1", + }, + }, + "us-east-1": endpoint{ + Hostname: "api.ecr.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "us-east-2": endpoint{ + Hostname: "api.ecr.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "us-west-1": endpoint{ + Hostname: "api.ecr.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "us-west-2": endpoint{ + Hostname: "api.ecr.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + }, + }, "api.mediatailor": service{ Endpoints: endpoints{ @@ -324,6 +322,7 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "api.pricing": service{ @@ -350,14 +349,39 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "us-east-1-fips": endpoint{ + Hostname: "api-fips.sagemaker.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "us-east-2": endpoint{}, + "us-east-2-fips": endpoint{ + Hostname: "api-fips.sagemaker.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "us-west-1": endpoint{}, + "us-west-1-fips": endpoint{ + Hostname: "api-fips.sagemaker.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "us-west-2": endpoint{}, + "us-west-2-fips": endpoint{ + Hostname: "api-fips.sagemaker.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, }, }, "apigateway": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -365,9 +389,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -384,6 +410,7 @@ var awsPartition = partition{ }, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -391,9 +418,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -401,6 +430,24 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "appmesh": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "appstream2": service{ Defaults: endpoint{ Protocols: []string{"https"}, @@ -410,6 +457,10 @@ var awsPartition = partition{ }, Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, "us-west-2": endpoint{}, @@ -425,6 +476,7 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-2": endpoint{}, @@ -438,7 +490,9 @@ var awsPartition = partition{ "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "us-east-1": endpoint{}, @@ -451,6 +505,7 @@ var awsPartition = partition{ Protocols: []string{"http", "https"}, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -458,9 +513,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -477,16 +534,42 @@ var awsPartition = partition{ }, }, Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "backup": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, + "us-west-1": endpoint{}, "us-west-2": endpoint{}, }, }, "batch": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -494,8 +577,10 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -549,7 +634,9 @@ var awsPartition = partition{ "cloud9": service{ Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, "ap-southeast-1": endpoint{}, + "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -561,6 +648,7 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, @@ -572,6 +660,7 @@ var awsPartition = partition{ "cloudformation": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -579,9 +668,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -625,6 +716,7 @@ var awsPartition = partition{ }, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -632,9 +724,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -659,6 +753,7 @@ var awsPartition = partition{ "cloudtrail": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -666,9 +761,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -679,6 +776,7 @@ var awsPartition = partition{ "codebuild": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -686,9 +784,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-1-fips": endpoint{ @@ -730,6 +830,7 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -749,6 +850,7 @@ var awsPartition = partition{ "codedeploy": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -756,9 +858,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-1-fips": endpoint{ @@ -881,9 +985,25 @@ var awsPartition = partition{ Defaults: endpoint{ Protocols: []string{"https"}, }, + Endpoints: endpoints{ + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "comprehendmedical": service{ + Endpoints: endpoints{ "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-2": endpoint{}, @@ -892,6 +1012,7 @@ var awsPartition = partition{ "config": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -899,9 +1020,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -915,50 +1038,77 @@ var awsPartition = partition{ "us-east-1": endpoint{}, }, }, - "datapipeline": service{ + "data.mediastore": service{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, "us-west-2": endpoint{}, }, }, - "dax": service{ + "datapipeline": service{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-west-1": endpoint{}, - "sa-east-1": endpoint{}, "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, "us-west-2": endpoint{}, }, }, - "devicefarm": service{ + "datasync": service{ Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "fips-us-east-1": endpoint{ + Hostname: "datasync-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoint{ + Hostname: "datasync-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-1": endpoint{ + Hostname: "datasync-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "datasync-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, "us-west-2": endpoint{}, }, }, - "directconnect": service{ + "dax": service{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -966,13 +1116,13 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, - "discovery": service{ + "devicefarm": service{ Endpoints: endpoints{ "us-west-2": endpoint{}, }, }, - "dms": service{ + "directconnect": service{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, @@ -982,9 +1132,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -992,9 +1144,16 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, - "ds": service{ + "discovery": service{ + + Endpoints: endpoints{ + "us-west-2": endpoint{}, + }, + }, + "dms": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1002,8 +1161,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -1011,21 +1173,108 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, - "dynamodb": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - }, + "docdb": service{ + Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, + "ap-northeast-1": endpoint{ + Hostname: "rds.ap-northeast-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-northeast-1", + }, + }, + "ap-northeast-2": endpoint{ + Hostname: "rds.ap-northeast-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-northeast-2", + }, + }, + "ap-southeast-2": endpoint{ + Hostname: "rds.ap-southeast-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-2", + }, + }, + "eu-central-1": endpoint{ + Hostname: "rds.eu-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-central-1", + }, + }, + "eu-west-1": endpoint{ + Hostname: "rds.eu-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-west-1", + }, + }, + "eu-west-2": endpoint{ + Hostname: "rds.eu-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-west-2", + }, + }, + "us-east-1": endpoint{ + Hostname: "rds.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "us-east-2": endpoint{ + Hostname: "rds.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "us-west-2": endpoint{ + Hostname: "rds.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + }, + }, + "ds": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "dynamodb": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "ap-east-1": endpoint{}, + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "ca-central-1-fips": endpoint{ + Hostname: "dynamodb-fips.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + }, + "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, "local": endpoint{ Hostname: "localhost:8000", Protocols: []string{"http"}, @@ -1033,11 +1282,36 @@ var awsPartition = partition{ Region: "us-east-1", }, }, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-1-fips": endpoint{ + Hostname: "dynamodb-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, "us-east-2": endpoint{}, + "us-east-2-fips": endpoint{ + Hostname: "dynamodb-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, "us-west-1": endpoint{}, + "us-west-1-fips": endpoint{ + Hostname: "dynamodb-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, "us-west-2": endpoint{}, + "us-west-2-fips": endpoint{ + Hostname: "dynamodb-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, }, }, "ec2": service{ @@ -1045,6 +1319,7 @@ var awsPartition = partition{ Protocols: []string{"http", "https"}, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1052,9 +1327,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -1073,29 +1350,10 @@ var awsPartition = partition{ }, }, }, - "ecr": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, "ecs": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1103,9 +1361,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -1116,6 +1376,7 @@ var awsPartition = partition{ "elasticache": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1123,6 +1384,7 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -1132,16 +1394,18 @@ var awsPartition = partition{ Region: "us-west-1", }, }, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "elasticbeanstalk": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1149,9 +1413,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -1164,10 +1430,14 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -1179,6 +1449,7 @@ var awsPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1186,9 +1457,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -1202,6 +1475,7 @@ var awsPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1211,10 +1485,12 @@ var awsPartition = partition{ "eu-central-1": endpoint{ SSLCommonName: "{service}.{region}.{dnsSuffix}", }, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, + "eu-north-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{ SSLCommonName: "{service}.{region}.{dnsSuffix}", }, @@ -1239,9 +1515,12 @@ var awsPartition = partition{ "email": service{ Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "entitlement.marketplace": service{ @@ -1257,6 +1536,7 @@ var awsPartition = partition{ "es": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1264,19 +1544,28 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "fips": endpoint{ + Hostname: "es-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "events": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1284,9 +1573,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -1304,6 +1595,7 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -1319,9 +1611,32 @@ var awsPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "fsx": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "gamelift": service{ @@ -1348,6 +1663,7 @@ var awsPartition = partition{ Protocols: []string{"http", "https"}, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1355,9 +1671,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -1368,6 +1686,7 @@ var awsPartition = partition{ "glue": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1375,10 +1694,14 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, + "us-west-1": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -1389,19 +1712,32 @@ var awsPartition = partition{ }, Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, "us-east-1": endpoint{}, + "us-east-2": endpoint{}, "us-west-2": endpoint{}, }, }, + "groundstation": service{ + + Endpoints: endpoints{ + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "guardduty": service{ IsRegionalized: boxedTrue, Defaults: endpoint{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1409,6 +1745,7 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -1461,7 +1798,9 @@ var awsPartition = partition{ "ap-south-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -1480,11 +1819,16 @@ var awsPartition = partition{ "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, + "us-west-1": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -1499,9 +1843,101 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "iotevents": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "ioteventsdata": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{ + Hostname: "data.iotevents.ap-northeast-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-northeast-1", + }, + }, + "ap-southeast-2": endpoint{ + Hostname: "data.iotevents.ap-southeast-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-2", + }, + }, + "eu-central-1": endpoint{ + Hostname: "data.iotevents.eu-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-central-1", + }, + }, + "eu-west-1": endpoint{ + Hostname: "data.iotevents.eu-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-west-1", + }, + }, + "us-east-1": endpoint{ + Hostname: "data.iotevents.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "us-east-2": endpoint{ + Hostname: "data.iotevents.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "us-west-2": endpoint{ + Hostname: "data.iotevents.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + }, + }, + "iotthingsgraph": service{ + Defaults: endpoint{ + CredentialScope: credentialScope{ + Service: "iotthingsgraph", + }, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "kafka": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "kinesis": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1509,9 +1945,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -1522,16 +1960,23 @@ var awsPartition = partition{ "kinesisanalytics": service{ Endpoints: endpoints{ - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, }, }, "kinesisvideo": service{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, @@ -1541,6 +1986,7 @@ var awsPartition = partition{ "kms": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1548,9 +1994,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -1558,9 +2006,20 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "lakeformation": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "lambda": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1568,6 +2027,30 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "license-manager": service{ + + Endpoints: endpoints{ + "ap-east-1": endpoint{}, + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -1599,6 +2082,7 @@ var awsPartition = partition{ "logs": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1606,9 +2090,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -1629,6 +2115,25 @@ var awsPartition = partition{ "us-east-1": endpoint{}, }, }, + "mediaconnect": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "mediaconvert": service{ Endpoints: endpoints{ @@ -1641,6 +2146,7 @@ var awsPartition = partition{ "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -1657,6 +2163,7 @@ var awsPartition = partition{ "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, @@ -1687,6 +2194,7 @@ var awsPartition = partition{ "ap-northeast-2": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, "us-west-2": endpoint{}, @@ -1699,6 +2207,7 @@ var awsPartition = partition{ }, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1706,9 +2215,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -1745,6 +2256,7 @@ var awsPartition = partition{ Protocols: []string{"http", "https"}, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1752,9 +2264,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -1762,6 +2276,25 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "mq": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "mturk-requester": service{ IsRegionalized: boxedFalse, @@ -1775,10 +2308,46 @@ var awsPartition = partition{ "neptune": service{ Endpoints: endpoints{ + "ap-northeast-1": endpoint{ + Hostname: "rds.ap-northeast-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-northeast-1", + }, + }, + "ap-northeast-2": endpoint{ + Hostname: "rds.ap-northeast-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-northeast-2", + }, + }, + "ap-south-1": endpoint{ + Hostname: "rds.ap-south-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-south-1", + }, + }, + "ap-southeast-1": endpoint{ + Hostname: "rds.ap-southeast-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-1", + }, + }, + "ap-southeast-2": endpoint{ + Hostname: "rds.ap-southeast-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-2", + }, + }, "eu-central-1": endpoint{ Hostname: "rds.eu-central-1.amazonaws.com", CredentialScope: credentialScope{ - Region: "eu-central-1", + Region: "eu-central-1", + }, + }, + "eu-north-1": endpoint{ + Hostname: "rds.eu-north-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-north-1", }, }, "eu-west-1": endpoint{ @@ -1867,9 +2436,12 @@ var awsPartition = partition{ }, }, Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "polly": service{ @@ -1882,6 +2454,7 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -1892,9 +2465,42 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "projects.iot1click": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "ram": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "rds": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1902,9 +2508,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{ SSLCommonName: "{service}.{dnsSuffix}", @@ -1917,6 +2525,7 @@ var awsPartition = partition{ "redshift": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1924,9 +2533,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -1938,16 +2549,23 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, + "us-west-1": endpoint{}, "us-west-2": endpoint{}, }, }, "resource-groups": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1955,9 +2573,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -1965,6 +2585,18 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "robomaker": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "route53": service{ PartitionEndpoint: "aws-global", IsRegionalized: boxedFalse, @@ -1984,6 +2616,27 @@ var awsPartition = partition{ "us-east-1": endpoint{}, }, }, + "route53resolver": service{ + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "runtime.lex": service{ Defaults: endpoint{ CredentialScope: credentialScope{ @@ -2009,9 +2662,33 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "us-east-1-fips": endpoint{ + Hostname: "runtime-fips.sagemaker.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "us-east-2": endpoint{}, + "us-east-2-fips": endpoint{ + Hostname: "runtime-fips.sagemaker.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "us-west-1": endpoint{}, + "us-west-1-fips": endpoint{ + Hostname: "runtime-fips.sagemaker.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "us-west-2": endpoint{}, + "us-west-2-fips": endpoint{ + Hostname: "runtime-fips.sagemaker.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, }, }, "s3": service{ @@ -2025,6 +2702,7 @@ var awsPartition = partition{ DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}", }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{ Hostname: "s3.ap-northeast-1.amazonaws.com", SignatureVersions: []string{"s3", "s3v4"}, @@ -2041,12 +2719,14 @@ var awsPartition = partition{ }, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{ Hostname: "s3.eu-west-1.amazonaws.com", SignatureVersions: []string{"s3", "s3v4"}, }, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "s3-external-1": endpoint{ Hostname: "s3-external-1.amazonaws.com", SignatureVersions: []string{"s3", "s3v4"}, @@ -2131,6 +2811,13 @@ var awsPartition = partition{ Region: "eu-central-1", }, }, + "eu-north-1": endpoint{ + Hostname: "s3-control.eu-north-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + CredentialScope: credentialScope{ + Region: "eu-north-1", + }, + }, "eu-west-1": endpoint{ Hostname: "s3-control.eu-west-1.amazonaws.com", SignatureVersions: []string{"s3v4"}, @@ -2245,6 +2932,7 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -2279,6 +2967,28 @@ var awsPartition = partition{ }, }, }, + "securityhub": service{ + + Endpoints: endpoints{ + "ap-east-1": endpoint{}, + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "serverlessrepo": service{ Defaults: endpoint{ Protocols: []string{"https"}, @@ -2305,12 +3015,18 @@ var awsPartition = partition{ "eu-central-1": endpoint{ Protocols: []string{"https"}, }, + "eu-north-1": endpoint{ + Protocols: []string{"https"}, + }, "eu-west-1": endpoint{ Protocols: []string{"https"}, }, "eu-west-2": endpoint{ Protocols: []string{"https"}, }, + "eu-west-3": endpoint{ + Protocols: []string{"https"}, + }, "sa-east-1": endpoint{ Protocols: []string{"https"}, }, @@ -2338,6 +3054,7 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -2395,7 +3112,7 @@ var awsPartition = partition{ "shield": service{ IsRegionalized: boxedFalse, Defaults: endpoint{ - SSLCommonName: "Shield.us-east-1.amazonaws.com", + SSLCommonName: "shield.us-east-1.amazonaws.com", Protocols: []string{"https"}, }, Endpoints: endpoints{ @@ -2405,6 +3122,7 @@ var awsPartition = partition{ "sms": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -2412,6 +3130,7 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -2426,6 +3145,7 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, @@ -2446,6 +3166,7 @@ var awsPartition = partition{ Protocols: []string{"http", "https"}, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -2453,9 +3174,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -2469,6 +3192,7 @@ var awsPartition = partition{ Protocols: []string{"http", "https"}, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -2476,6 +3200,7 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -2503,7 +3228,8 @@ var awsPartition = partition{ Region: "us-west-2", }, }, - "sa-east-1": endpoint{}, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{ SSLCommonName: "queue.{dnsSuffix}", }, @@ -2515,6 +3241,7 @@ var awsPartition = partition{ "ssm": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -2522,9 +3249,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -2535,6 +3264,7 @@ var awsPartition = partition{ "states": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -2542,8 +3272,12 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -2560,9 +3294,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -2584,10 +3320,17 @@ var awsPartition = partition{ "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, + "ca-central-1-fips": endpoint{ + Hostname: "dynamodb-fips.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + }, + "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, "local": endpoint{ Hostname: "localhost:8000", Protocols: []string{"http"}, @@ -2595,11 +3338,36 @@ var awsPartition = partition{ Region: "us-east-1", }, }, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-1-fips": endpoint{ + Hostname: "dynamodb-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, "us-east-2": endpoint{}, + "us-east-2-fips": endpoint{ + Hostname: "dynamodb-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, "us-west-1": endpoint{}, + "us-west-1-fips": endpoint{ + Hostname: "dynamodb-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, "us-west-2": endpoint{}, + "us-west-2-fips": endpoint{ + Hostname: "dynamodb-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, }, }, "sts": service{ @@ -2611,6 +3379,12 @@ var awsPartition = partition{ }, }, Endpoints: endpoints{ + "ap-east-1": endpoint{ + Hostname: "sts.ap-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-east-1", + }, + }, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{ Hostname: "sts.ap-northeast-2.amazonaws.com", @@ -2624,11 +3398,18 @@ var awsPartition = partition{ "aws-global": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, + "me-south-1": endpoint{ + Hostname: "sts.me-south-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "me-south-1", + }, + }, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, "us-east-1-fips": endpoint{ Hostname: "sts-fips.us-east-1.amazonaws.com", CredentialScope: credentialScope{ @@ -2659,14 +3440,21 @@ var awsPartition = partition{ }, }, "support": service{ + PartitionEndpoint: "aws-global", Endpoints: endpoints{ - "us-east-1": endpoint{}, + "aws-global": endpoint{ + Hostname: "support.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, }, }, "swf": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -2674,9 +3462,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -2687,6 +3477,7 @@ var awsPartition = partition{ "tagging": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -2694,9 +3485,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -2709,6 +3502,7 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, @@ -2727,8 +3521,14 @@ var awsPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, "us-east-1-fips": endpoint{ Hostname: "translate-fips.us-east-1.amazonaws.com", CredentialScope: credentialScope{ @@ -2768,9 +3568,17 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -2817,6 +3625,7 @@ var awsPartition = partition{ "xray": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -2824,9 +3633,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -2866,6 +3677,23 @@ var awscnPartition = partition{ }, }, Services: services{ + "api.ecr": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{ + Hostname: "api.ecr.cn-north-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-north-1", + }, + }, + "cn-northwest-1": endpoint{ + Hostname: "api.ecr.cn-northwest-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-northwest-1", + }, + }, + }, + }, "apigateway": service{ Endpoints: endpoints{ @@ -2902,6 +3730,20 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "cloudfront": service{ + PartitionEndpoint: "aws-cn-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-cn-global": endpoint{ + Hostname: "cloudfront.cn-northwest-1.amazonaws.com.cn", + Protocols: []string{"http", "https"}, + CredentialScope: credentialScope{ + Region: "cn-northwest-1", + }, + }, + }, + }, "cloudtrail": service{ Endpoints: endpoints{ @@ -2986,13 +3828,6 @@ var awscnPartition = partition{ }, }, }, - "ecr": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, "ecs": service{ Endpoints: endpoints{ @@ -3046,6 +3881,19 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "firehose": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, + }, + }, + "gamelift": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, "glacier": service{ Defaults: endpoint{ Protocols: []string{"http", "https"}, @@ -3055,6 +3903,15 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "greengrass": service{ + IsRegionalized: boxedTrue, + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, "iam": service{ PartitionEndpoint: "aws-cn-global", IsRegionalized: boxedFalse, @@ -3085,6 +3942,13 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "kms": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, + }, + }, "lambda": service{ Endpoints: endpoints{ @@ -3092,6 +3956,13 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "license-manager": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, + }, + }, "logs": service{ Endpoints: endpoints{ @@ -3099,6 +3970,17 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "mediaconvert": service{ + + Endpoints: endpoints{ + "cn-northwest-1": endpoint{ + Hostname: "subscribe.mediaconvert.cn-northwest-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-northwest-1", + }, + }, + }, + }, "monitoring": service{ Defaults: endpoint{ Protocols: []string{"http", "https"}, @@ -3199,6 +4081,13 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "states": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, + }, + }, "storagegateway": service{ Endpoints: endpoints{ @@ -3224,6 +4113,18 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "support": service{ + PartitionEndpoint: "aws-cn-global", + + Endpoints: endpoints{ + "aws-cn-global": endpoint{ + Hostname: "support.cn-north-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "cn-north-1", + }, + }, + }, + }, "swf": service{ Endpoints: endpoints{ @@ -3277,6 +4178,32 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "acm-pca": service{ + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, + "us-gov-west-1": endpoint{}, + }, + }, + "api.ecr": service{ + + Endpoints: endpoints{ + "us-gov-east-1": endpoint{ + Hostname: "api.ecr.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "us-gov-west-1": endpoint{ + Hostname: "api.ecr.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + }, + }, "api.sagemaker": service{ Endpoints: endpoints{ @@ -3291,6 +4218,18 @@ var awsusgovPartition = partition{ }, }, "application-autoscaling": service{ + Defaults: endpoint{ + Hostname: "autoscaling.{region}.amazonaws.com", + CredentialScope: credentialScope{ + Service: "application-autoscaling", + }, + }, + Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, + "us-gov-west-1": endpoint{}, + }, + }, + "athena": service{ Endpoints: endpoints{ "us-gov-east-1": endpoint{}, @@ -3332,6 +4271,7 @@ var awsusgovPartition = partition{ }, }, Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, }, @@ -3342,6 +4282,20 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "codebuild": service{ + + Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, + "us-gov-west-1": endpoint{}, + }, + }, + "codecommit": service{ + + Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, + "us-gov-west-1": endpoint{}, + }, + }, "codedeploy": service{ Endpoints: endpoints{ @@ -3361,6 +4315,14 @@ var awsusgovPartition = partition{ }, }, }, + "comprehend": service{ + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, "config": service{ Endpoints: endpoints{ @@ -3368,6 +4330,18 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "datasync": service{ + + Endpoints: endpoints{ + "fips-us-gov-west-1": endpoint{ + Hostname: "datasync-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + "us-gov-west-1": endpoint{}, + }, + }, "directconnect": service{ Endpoints: endpoints{ @@ -3382,10 +4356,23 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "ds": service{ + + Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, + "us-gov-west-1": endpoint{}, + }, + }, "dynamodb": service{ Endpoints: endpoints{ "us-gov-east-1": endpoint{}, + "us-gov-east-1-fips": endpoint{ + Hostname: "dynamodb.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoint{}, "us-gov-west-1-fips": endpoint{ Hostname: "dynamodb.us-gov-west-1.amazonaws.com", @@ -3413,13 +4400,6 @@ var awsusgovPartition = partition{ }, }, }, - "ecr": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, "ecs": service{ Endpoints: endpoints{ @@ -3447,6 +4427,12 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "elasticfilesystem": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, "elasticloadbalancing": service{ Endpoints: endpoints{ @@ -3468,6 +4454,13 @@ var awsusgovPartition = partition{ "es": service{ Endpoints: endpoints{ + "fips": endpoint{ + Hostname: "es-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, }, @@ -3478,6 +4471,13 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "firehose": service{ + + Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, + "us-gov-west-1": endpoint{}, + }, + }, "glacier": service{ Endpoints: endpoints{ @@ -3487,6 +4487,22 @@ var awsusgovPartition = partition{ }, }, }, + "glue": service{ + + Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, + "us-gov-west-1": endpoint{}, + }, + }, + "greengrass": service{ + IsRegionalized: boxedTrue, + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, "guardduty": service{ IsRegionalized: boxedTrue, Defaults: endpoint{ @@ -3496,6 +4512,12 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "health": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, "iam": service{ PartitionEndpoint: "aws-us-gov-global", IsRegionalized: boxedFalse, @@ -3536,6 +4558,12 @@ var awsusgovPartition = partition{ "kms": service{ Endpoints: endpoints{ + "ProdFips": endpoint{ + Hostname: "kms-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, @@ -3547,6 +4575,13 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "license-manager": service{ + + Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, + "us-gov-west-1": endpoint{}, + }, + }, "logs": service{ Endpoints: endpoints{ @@ -3554,6 +4589,12 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "mediaconvert": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, "metering.marketplace": service{ Defaults: endpoint{ CredentialScope: credentialScope{ @@ -3561,6 +4602,7 @@ var awsusgovPartition = partition{ }, }, Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, }, @@ -3571,12 +4613,31 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "organizations": service{ + PartitionEndpoint: "aws-us-gov-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-us-gov-global": endpoint{ + Hostname: "organizations.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + }, + }, "polly": service{ Endpoints: endpoints{ "us-gov-west-1": endpoint{}, }, }, + "ram": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, "rds": service{ Endpoints: endpoints{ @@ -3597,6 +4658,19 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "route53": service{ + PartitionEndpoint: "aws-us-gov-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-us-gov-global": endpoint{ + Hostname: "route53.us-gov.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + }, + }, "runtime.sagemaker": service{ Endpoints: endpoints{ @@ -3660,6 +4734,31 @@ var awsusgovPartition = partition{ }, }, }, + "secretsmanager": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + "us-gov-west-1-fips": endpoint{ + Hostname: "secretsmanager-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + }, + }, + "serverlessrepo": service{ + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "us-gov-east-1": endpoint{ + Protocols: []string{"https"}, + }, + "us-gov-west-1": endpoint{ + Protocols: []string{"https"}, + }, + }, + }, "sms": service{ Endpoints: endpoints{ @@ -3670,6 +4769,7 @@ var awsusgovPartition = partition{ "snowball": service{ Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, }, @@ -3720,6 +4820,12 @@ var awsusgovPartition = partition{ }, Endpoints: endpoints{ "us-gov-east-1": endpoint{}, + "us-gov-east-1-fips": endpoint{ + Hostname: "dynamodb.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoint{}, "us-gov-west-1-fips": endpoint{ Hostname: "dynamodb.us-gov-west-1.amazonaws.com", @@ -3764,5 +4870,17 @@ var awsusgovPartition = partition{ }, }, }, + "waf-regional": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "workspaces": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, }, } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/dep_service_ids.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/dep_service_ids.go new file mode 100644 index 00000000000..ca8fc828e15 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/dep_service_ids.go @@ -0,0 +1,141 @@ +package endpoints + +// Service identifiers +// +// Deprecated: Use client package's EndpointsID value instead of these +// ServiceIDs. These IDs are not maintained, and are out of date. +const ( + A4bServiceID = "a4b" // A4b. + AcmServiceID = "acm" // Acm. + AcmPcaServiceID = "acm-pca" // AcmPca. + ApiMediatailorServiceID = "api.mediatailor" // ApiMediatailor. + ApiPricingServiceID = "api.pricing" // ApiPricing. + ApiSagemakerServiceID = "api.sagemaker" // ApiSagemaker. + ApigatewayServiceID = "apigateway" // Apigateway. + ApplicationAutoscalingServiceID = "application-autoscaling" // ApplicationAutoscaling. + Appstream2ServiceID = "appstream2" // Appstream2. + AppsyncServiceID = "appsync" // Appsync. + AthenaServiceID = "athena" // Athena. + AutoscalingServiceID = "autoscaling" // Autoscaling. + AutoscalingPlansServiceID = "autoscaling-plans" // AutoscalingPlans. + BatchServiceID = "batch" // Batch. + BudgetsServiceID = "budgets" // Budgets. + CeServiceID = "ce" // Ce. + ChimeServiceID = "chime" // Chime. + Cloud9ServiceID = "cloud9" // Cloud9. + ClouddirectoryServiceID = "clouddirectory" // Clouddirectory. + CloudformationServiceID = "cloudformation" // Cloudformation. + CloudfrontServiceID = "cloudfront" // Cloudfront. + CloudhsmServiceID = "cloudhsm" // Cloudhsm. + Cloudhsmv2ServiceID = "cloudhsmv2" // Cloudhsmv2. + CloudsearchServiceID = "cloudsearch" // Cloudsearch. + CloudtrailServiceID = "cloudtrail" // Cloudtrail. + CodebuildServiceID = "codebuild" // Codebuild. + CodecommitServiceID = "codecommit" // Codecommit. + CodedeployServiceID = "codedeploy" // Codedeploy. + CodepipelineServiceID = "codepipeline" // Codepipeline. + CodestarServiceID = "codestar" // Codestar. + CognitoIdentityServiceID = "cognito-identity" // CognitoIdentity. + CognitoIdpServiceID = "cognito-idp" // CognitoIdp. + CognitoSyncServiceID = "cognito-sync" // CognitoSync. + ComprehendServiceID = "comprehend" // Comprehend. + ConfigServiceID = "config" // Config. + CurServiceID = "cur" // Cur. + DatapipelineServiceID = "datapipeline" // Datapipeline. + DaxServiceID = "dax" // Dax. + DevicefarmServiceID = "devicefarm" // Devicefarm. + DirectconnectServiceID = "directconnect" // Directconnect. + DiscoveryServiceID = "discovery" // Discovery. + DmsServiceID = "dms" // Dms. + DsServiceID = "ds" // Ds. + DynamodbServiceID = "dynamodb" // Dynamodb. + Ec2ServiceID = "ec2" // Ec2. + Ec2metadataServiceID = "ec2metadata" // Ec2metadata. + EcrServiceID = "ecr" // Ecr. + EcsServiceID = "ecs" // Ecs. + ElasticacheServiceID = "elasticache" // Elasticache. + ElasticbeanstalkServiceID = "elasticbeanstalk" // Elasticbeanstalk. + ElasticfilesystemServiceID = "elasticfilesystem" // Elasticfilesystem. + ElasticloadbalancingServiceID = "elasticloadbalancing" // Elasticloadbalancing. + ElasticmapreduceServiceID = "elasticmapreduce" // Elasticmapreduce. + ElastictranscoderServiceID = "elastictranscoder" // Elastictranscoder. + EmailServiceID = "email" // Email. + EntitlementMarketplaceServiceID = "entitlement.marketplace" // EntitlementMarketplace. + EsServiceID = "es" // Es. + EventsServiceID = "events" // Events. + FirehoseServiceID = "firehose" // Firehose. + FmsServiceID = "fms" // Fms. + GameliftServiceID = "gamelift" // Gamelift. + GlacierServiceID = "glacier" // Glacier. + GlueServiceID = "glue" // Glue. + GreengrassServiceID = "greengrass" // Greengrass. + GuarddutyServiceID = "guardduty" // Guardduty. + HealthServiceID = "health" // Health. + IamServiceID = "iam" // Iam. + ImportexportServiceID = "importexport" // Importexport. + InspectorServiceID = "inspector" // Inspector. + IotServiceID = "iot" // Iot. + IotanalyticsServiceID = "iotanalytics" // Iotanalytics. + KinesisServiceID = "kinesis" // Kinesis. + KinesisanalyticsServiceID = "kinesisanalytics" // Kinesisanalytics. + KinesisvideoServiceID = "kinesisvideo" // Kinesisvideo. + KmsServiceID = "kms" // Kms. + LambdaServiceID = "lambda" // Lambda. + LightsailServiceID = "lightsail" // Lightsail. + LogsServiceID = "logs" // Logs. + MachinelearningServiceID = "machinelearning" // Machinelearning. + MarketplacecommerceanalyticsServiceID = "marketplacecommerceanalytics" // Marketplacecommerceanalytics. + MediaconvertServiceID = "mediaconvert" // Mediaconvert. + MedialiveServiceID = "medialive" // Medialive. + MediapackageServiceID = "mediapackage" // Mediapackage. + MediastoreServiceID = "mediastore" // Mediastore. + MeteringMarketplaceServiceID = "metering.marketplace" // MeteringMarketplace. + MghServiceID = "mgh" // Mgh. + MobileanalyticsServiceID = "mobileanalytics" // Mobileanalytics. + ModelsLexServiceID = "models.lex" // ModelsLex. + MonitoringServiceID = "monitoring" // Monitoring. + MturkRequesterServiceID = "mturk-requester" // MturkRequester. + NeptuneServiceID = "neptune" // Neptune. + OpsworksServiceID = "opsworks" // Opsworks. + OpsworksCmServiceID = "opsworks-cm" // OpsworksCm. + OrganizationsServiceID = "organizations" // Organizations. + PinpointServiceID = "pinpoint" // Pinpoint. + PollyServiceID = "polly" // Polly. + RdsServiceID = "rds" // Rds. + RedshiftServiceID = "redshift" // Redshift. + RekognitionServiceID = "rekognition" // Rekognition. + ResourceGroupsServiceID = "resource-groups" // ResourceGroups. + Route53ServiceID = "route53" // Route53. + Route53domainsServiceID = "route53domains" // Route53domains. + RuntimeLexServiceID = "runtime.lex" // RuntimeLex. + RuntimeSagemakerServiceID = "runtime.sagemaker" // RuntimeSagemaker. + S3ServiceID = "s3" // S3. + S3ControlServiceID = "s3-control" // S3Control. + SagemakerServiceID = "api.sagemaker" // Sagemaker. + SdbServiceID = "sdb" // Sdb. + SecretsmanagerServiceID = "secretsmanager" // Secretsmanager. + ServerlessrepoServiceID = "serverlessrepo" // Serverlessrepo. + ServicecatalogServiceID = "servicecatalog" // Servicecatalog. + ServicediscoveryServiceID = "servicediscovery" // Servicediscovery. + ShieldServiceID = "shield" // Shield. + SmsServiceID = "sms" // Sms. + SnowballServiceID = "snowball" // Snowball. + SnsServiceID = "sns" // Sns. + SqsServiceID = "sqs" // Sqs. + SsmServiceID = "ssm" // Ssm. + StatesServiceID = "states" // States. + StoragegatewayServiceID = "storagegateway" // Storagegateway. + StreamsDynamodbServiceID = "streams.dynamodb" // StreamsDynamodb. + StsServiceID = "sts" // Sts. + SupportServiceID = "support" // Support. + SwfServiceID = "swf" // Swf. + TaggingServiceID = "tagging" // Tagging. + TransferServiceID = "transfer" // Transfer. + TranslateServiceID = "translate" // Translate. + WafServiceID = "waf" // Waf. + WafRegionalServiceID = "waf-regional" // WafRegional. + WorkdocsServiceID = "workdocs" // Workdocs. + WorkmailServiceID = "workmail" // Workmail. + WorkspacesServiceID = "workspaces" // Workspaces. + XrayServiceID = "xray" // Xray. +) diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go index e29c095121d..9c936be6cf9 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go @@ -35,7 +35,7 @@ type Options struct { // // If resolving an endpoint on the partition list the provided region will // be used to determine which partition's domain name pattern to the service - // endpoint ID with. If both the service and region are unkonwn and resolving + // endpoint ID with. If both the service and region are unknown and resolving // the endpoint on partition list an UnknownEndpointError error will be returned. // // If resolving and endpoint on a partition specific resolver that partition's @@ -170,10 +170,13 @@ func PartitionForRegion(ps []Partition, regionID string) (Partition, bool) { // A Partition provides the ability to enumerate the partition's regions // and services. type Partition struct { - id string - p *partition + id, dnsSuffix string + p *partition } +// DNSSuffix returns the base domain name of the partition. +func (p Partition) DNSSuffix() string { return p.dnsSuffix } + // ID returns the identifier of the partition. func (p Partition) ID() string { return p.id } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go index ff6f76db6eb..523ad79ac0a 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go @@ -54,8 +54,9 @@ type partition struct { func (p partition) Partition() Partition { return Partition{ - id: p.ID, - p: &p, + dnsSuffix: p.DNSSuffix, + id: p.ID, + p: &p, } } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go index 05e92df22af..0fdfcc56e05 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go @@ -16,6 +16,10 @@ import ( type CodeGenOptions struct { // Options for how the model will be decoded. DecodeModelOptions DecodeModelOptions + + // Disables code generation of the service endpoint prefix IDs defined in + // the model. + DisableGenerateServiceIDs bool } // Set combines all of the option functions together @@ -39,8 +43,16 @@ func CodeGenModel(modelFile io.Reader, outFile io.Writer, optFns ...func(*CodeGe return err } + v := struct { + Resolver + CodeGenOptions + }{ + Resolver: resolver, + CodeGenOptions: opts, + } + tmpl := template.Must(template.New("tmpl").Funcs(funcMap).Parse(v3Tmpl)) - if err := tmpl.ExecuteTemplate(outFile, "defaults", resolver); err != nil { + if err := tmpl.ExecuteTemplate(outFile, "defaults", v); err != nil { return fmt.Errorf("failed to execute template, %v", err) } @@ -166,15 +178,17 @@ import ( "regexp" ) - {{ template "partition consts" . }} + {{ template "partition consts" $.Resolver }} - {{ range $_, $partition := . }} + {{ range $_, $partition := $.Resolver }} {{ template "partition region consts" $partition }} {{ end }} - {{ template "service consts" . }} + {{ if not $.DisableGenerateServiceIDs -}} + {{ template "service consts" $.Resolver }} + {{- end }} - {{ template "endpoint resolvers" . }} + {{ template "endpoint resolvers" $.Resolver }} {{- end }} {{ define "partition consts" }} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go b/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go index 271da432ce1..d9b37f4d32a 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go @@ -1,18 +1,17 @@ -// +build !appengine,!plan9 - package request import ( - "net" - "os" - "syscall" + "strings" ) func isErrConnectionReset(err error) bool { - if opErr, ok := err.(*net.OpError); ok { - if sysErr, ok := opErr.Err.(*os.SyscallError); ok { - return sysErr.Err == syscall.ECONNRESET - } + if strings.Contains(err.Error(), "read: connection reset") { + return false + } + + if strings.Contains(err.Error(), "connection reset") || + strings.Contains(err.Error(), "broken pipe") { + return true } return false diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error_other.go b/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error_other.go deleted file mode 100644 index daf9eca4373..00000000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error_other.go +++ /dev/null @@ -1,11 +0,0 @@ -// +build appengine plan9 - -package request - -import ( - "strings" -) - -func isErrConnectionReset(err error) bool { - return strings.Contains(err.Error(), "connection reset") -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go b/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go index 605a72d3c94..627ec722c05 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go @@ -19,6 +19,7 @@ type Handlers struct { UnmarshalError HandlerList Retry HandlerList AfterRetry HandlerList + CompleteAttempt HandlerList Complete HandlerList } @@ -36,6 +37,7 @@ func (h *Handlers) Copy() Handlers { UnmarshalMeta: h.UnmarshalMeta.copy(), Retry: h.Retry.copy(), AfterRetry: h.AfterRetry.copy(), + CompleteAttempt: h.CompleteAttempt.copy(), Complete: h.Complete.copy(), } } @@ -53,9 +55,55 @@ func (h *Handlers) Clear() { h.ValidateResponse.Clear() h.Retry.Clear() h.AfterRetry.Clear() + h.CompleteAttempt.Clear() h.Complete.Clear() } +// IsEmpty returns if there are no handlers in any of the handlerlists. +func (h *Handlers) IsEmpty() bool { + if h.Validate.Len() != 0 { + return false + } + if h.Build.Len() != 0 { + return false + } + if h.Send.Len() != 0 { + return false + } + if h.Sign.Len() != 0 { + return false + } + if h.Unmarshal.Len() != 0 { + return false + } + if h.UnmarshalStream.Len() != 0 { + return false + } + if h.UnmarshalMeta.Len() != 0 { + return false + } + if h.UnmarshalError.Len() != 0 { + return false + } + if h.ValidateResponse.Len() != 0 { + return false + } + if h.Retry.Len() != 0 { + return false + } + if h.AfterRetry.Len() != 0 { + return false + } + if h.CompleteAttempt.Len() != 0 { + return false + } + if h.Complete.Len() != 0 { + return false + } + + return true +} + // A HandlerListRunItem represents an entry in the HandlerList which // is being run. type HandlerListRunItem struct { diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go b/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go index b0c2ef4fe67..9370fa50c38 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go @@ -15,12 +15,15 @@ type offsetReader struct { closed bool } -func newOffsetReader(buf io.ReadSeeker, offset int64) *offsetReader { +func newOffsetReader(buf io.ReadSeeker, offset int64) (*offsetReader, error) { reader := &offsetReader{} - buf.Seek(offset, sdkio.SeekStart) + _, err := buf.Seek(offset, sdkio.SeekStart) + if err != nil { + return nil, err + } reader.buf = buf - return reader + return reader, nil } // Close will close the instance of the offset reader's access to @@ -54,7 +57,9 @@ func (o *offsetReader) Seek(offset int64, whence int) (int64, error) { // CloseAndCopy will return a new offsetReader with a copy of the old buffer // and close the old buffer. -func (o *offsetReader) CloseAndCopy(offset int64) *offsetReader { - o.Close() +func (o *offsetReader) CloseAndCopy(offset int64) (*offsetReader, error) { + if err := o.Close(); err != nil { + return nil, err + } return newOffsetReader(o.buf, offset) } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request.go index 63e7f71c3ed..e7c9b2b61af 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/request.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request.go @@ -122,7 +122,6 @@ func New(cfg aws.Config, clientInfo metadata.ClientInfo, handlers Handlers, Handlers: handlers.Copy(), Retryer: retryer, - AttemptTime: time.Now(), Time: time.Now(), ExpireTime: 0, Operation: operation, @@ -233,6 +232,10 @@ func (r *Request) WillRetry() bool { return r.Error != nil && aws.BoolValue(r.Retryable) && r.RetryCount < r.MaxRetries() } +func fmtAttemptCount(retryCount, maxRetries int) string { + return fmt.Sprintf("attempt %v/%v", retryCount, maxRetries) +} + // ParamsFilled returns if the request's parameters have been populated // and the parameters are valid. False is returned if no parameters are // provided or invalid. @@ -261,14 +264,25 @@ func (r *Request) SetStringBody(s string) { // SetReaderBody will set the request's body reader. func (r *Request) SetReaderBody(reader io.ReadSeeker) { r.Body = reader - r.BodyStart, _ = reader.Seek(0, sdkio.SeekCurrent) // Get the Bodies current offset. + + if aws.IsReaderSeekable(reader) { + var err error + // Get the Bodies current offset so retries will start from the same + // initial position. + r.BodyStart, err = reader.Seek(0, sdkio.SeekCurrent) + if err != nil { + r.Error = awserr.New(ErrCodeSerialization, + "failed to determine start of request body", err) + return + } + } r.ResetBody() } // Presign returns the request's signed URL. Error will be returned -// if the signing fails. The expire parameter is only used for presigned Amazon -// S3 API requests. All other AWS services will use a fixed expriation -// time of 15 minutes. +// if the signing fails. The expire parameter is only used for presigned Amazon +// S3 API requests. All other AWS services will use a fixed expiration +// time of 15 minutes. // // It is invalid to create a presigned URL with a expire duration 0 or less. An // error is returned if expire duration is 0 or less. @@ -287,7 +301,7 @@ func (r *Request) Presign(expire time.Duration) (string, error) { // PresignRequest behaves just like presign, with the addition of returning a // set of headers that were signed. The expire parameter is only used for // presigned Amazon S3 API requests. All other AWS services will use a fixed -// expriation time of 15 minutes. +// expiration time of 15 minutes. // // It is invalid to create a presigned URL with a expire duration 0 or less. An // error is returned if expire duration is 0 or less. @@ -332,16 +346,15 @@ func getPresignedURL(r *Request, expire time.Duration) (string, http.Header, err return r.HTTPRequest.URL.String(), r.SignedHeaderVals, nil } -func debugLogReqError(r *Request, stage string, retrying bool, err error) { +const ( + notRetrying = "not retrying" +) + +func debugLogReqError(r *Request, stage, retryStr string, err error) { if !r.Config.LogLevel.Matches(aws.LogDebugWithRequestErrors) { return } - retryStr := "not retrying" - if retrying { - retryStr = "will retry" - } - r.Config.Logger.Log(fmt.Sprintf("DEBUG: %s %s/%s failed, %s, error %v", stage, r.ClientInfo.ServiceName, r.Operation.Name, retryStr, err)) } @@ -360,12 +373,12 @@ func (r *Request) Build() error { if !r.built { r.Handlers.Validate.Run(r) if r.Error != nil { - debugLogReqError(r, "Validate Request", false, r.Error) + debugLogReqError(r, "Validate Request", notRetrying, r.Error) return r.Error } r.Handlers.Build.Run(r) if r.Error != nil { - debugLogReqError(r, "Build Request", false, r.Error) + debugLogReqError(r, "Build Request", notRetrying, r.Error) return r.Error } r.built = true @@ -381,7 +394,7 @@ func (r *Request) Build() error { func (r *Request) Sign() error { r.Build() if r.Error != nil { - debugLogReqError(r, "Build Request", false, r.Error) + debugLogReqError(r, "Build Request", notRetrying, r.Error) return r.Error } @@ -389,12 +402,16 @@ func (r *Request) Sign() error { return r.Error } -func (r *Request) getNextRequestBody() (io.ReadCloser, error) { +func (r *Request) getNextRequestBody() (body io.ReadCloser, err error) { if r.safeBody != nil { r.safeBody.Close() } - r.safeBody = newOffsetReader(r.Body, r.BodyStart) + r.safeBody, err = newOffsetReader(r.Body, r.BodyStart) + if err != nil { + return nil, awserr.New(ErrCodeSerialization, + "failed to get next request body reader", err) + } // Go 1.8 tightened and clarified the rules code needs to use when building // requests with the http package. Go 1.8 removed the automatic detection @@ -411,10 +428,10 @@ func (r *Request) getNextRequestBody() (io.ReadCloser, error) { // Related golang/go#18257 l, err := aws.SeekerLen(r.Body) if err != nil { - return nil, awserr.New(ErrCodeSerialization, "failed to compute request body size", err) + return nil, awserr.New(ErrCodeSerialization, + "failed to compute request body size", err) } - var body io.ReadCloser if l == 0 { body = NoBody } else if l > 0 { @@ -466,80 +483,94 @@ func (r *Request) Send() error { r.Handlers.Complete.Run(r) }() + if err := r.Error; err != nil { + return err + } + for { + r.Error = nil r.AttemptTime = time.Now() - if aws.BoolValue(r.Retryable) { - if r.Config.LogLevel.Matches(aws.LogDebugWithRequestRetries) { - r.Config.Logger.Log(fmt.Sprintf("DEBUG: Retrying Request %s/%s, attempt %d", - r.ClientInfo.ServiceName, r.Operation.Name, r.RetryCount)) - } - - // The previous http.Request will have a reference to the r.Body - // and the HTTP Client's Transport may still be reading from - // the request's body even though the Client's Do returned. - r.HTTPRequest = copyHTTPRequest(r.HTTPRequest, nil) - r.ResetBody() - - // Closing response body to ensure that no response body is leaked - // between retry attempts. - if r.HTTPResponse != nil && r.HTTPResponse.Body != nil { - r.HTTPResponse.Body.Close() - } - } - r.Sign() - if r.Error != nil { - return r.Error + if err := r.Sign(); err != nil { + debugLogReqError(r, "Sign Request", notRetrying, err) + return err } - r.Retryable = nil - - r.Handlers.Send.Run(r) - if r.Error != nil { - if !shouldRetryCancel(r) { - return r.Error - } - - err := r.Error + if err := r.sendRequest(); err == nil { + return nil + } else if !shouldRetryError(r.Error) { + return err + } else { r.Handlers.Retry.Run(r) r.Handlers.AfterRetry.Run(r) - if r.Error != nil { - debugLogReqError(r, "Send Request", false, err) - return r.Error - } - debugLogReqError(r, "Send Request", true, err) - continue - } - r.Handlers.UnmarshalMeta.Run(r) - r.Handlers.ValidateResponse.Run(r) - if r.Error != nil { - r.Handlers.UnmarshalError.Run(r) - err := r.Error - r.Handlers.Retry.Run(r) - r.Handlers.AfterRetry.Run(r) - if r.Error != nil { - debugLogReqError(r, "Validate Response", false, err) + if r.Error != nil || !aws.BoolValue(r.Retryable) { return r.Error } - debugLogReqError(r, "Validate Response", true, err) - continue - } - r.Handlers.Unmarshal.Run(r) - if r.Error != nil { - err := r.Error - r.Handlers.Retry.Run(r) - r.Handlers.AfterRetry.Run(r) - if r.Error != nil { - debugLogReqError(r, "Unmarshal Response", false, err) - return r.Error + if err := r.prepareRetry(); err != nil { + r.Error = err + return err } - debugLogReqError(r, "Unmarshal Response", true, err) continue } + } +} + +func (r *Request) prepareRetry() error { + if r.Config.LogLevel.Matches(aws.LogDebugWithRequestRetries) { + r.Config.Logger.Log(fmt.Sprintf("DEBUG: Retrying Request %s/%s, attempt %d", + r.ClientInfo.ServiceName, r.Operation.Name, r.RetryCount)) + } + + // The previous http.Request will have a reference to the r.Body + // and the HTTP Client's Transport may still be reading from + // the request's body even though the Client's Do returned. + r.HTTPRequest = copyHTTPRequest(r.HTTPRequest, nil) + r.ResetBody() + if err := r.Error; err != nil { + return awserr.New(ErrCodeSerialization, + "failed to prepare body for retry", err) + + } + + // Closing response body to ensure that no response body is leaked + // between retry attempts. + if r.HTTPResponse != nil && r.HTTPResponse.Body != nil { + r.HTTPResponse.Body.Close() + } + + return nil +} + +func (r *Request) sendRequest() (sendErr error) { + defer r.Handlers.CompleteAttempt.Run(r) + + r.Retryable = nil + r.Handlers.Send.Run(r) + if r.Error != nil { + debugLogReqError(r, "Send Request", + fmtAttemptCount(r.RetryCount, r.MaxRetries()), + r.Error) + return r.Error + } - break + r.Handlers.UnmarshalMeta.Run(r) + r.Handlers.ValidateResponse.Run(r) + if r.Error != nil { + r.Handlers.UnmarshalError.Run(r) + debugLogReqError(r, "Validate Response", + fmtAttemptCount(r.RetryCount, r.MaxRetries()), + r.Error) + return r.Error + } + + r.Handlers.Unmarshal.Run(r) + if r.Error != nil { + debugLogReqError(r, "Unmarshal Response", + fmtAttemptCount(r.RetryCount, r.MaxRetries()), + r.Error) + return r.Error } return nil @@ -565,30 +596,49 @@ func AddToUserAgent(r *Request, s string) { r.HTTPRequest.Header.Set("User-Agent", s) } -func shouldRetryCancel(r *Request) bool { - awsErr, ok := r.Error.(awserr.Error) - timeoutErr := false - errStr := r.Error.Error() - if ok { - if awsErr.Code() == CanceledErrorCode { +type temporary interface { + Temporary() bool +} + +func shouldRetryError(origErr error) bool { + switch err := origErr.(type) { + case awserr.Error: + if err.Code() == CanceledErrorCode { return false } - err := awsErr.OrigErr() - netErr, netOK := err.(net.Error) - timeoutErr = netOK && netErr.Temporary() - if urlErr, ok := err.(*url.Error); !timeoutErr && ok { - errStr = urlErr.Err.Error() + return shouldRetryError(err.OrigErr()) + case *url.Error: + if strings.Contains(err.Error(), "connection refused") { + // Refused connections should be retried as the service may not yet + // be running on the port. Go TCP dial considers refused + // connections as not temporary. + return true + } + // *url.Error only implements Temporary after golang 1.6 but since + // url.Error only wraps the error: + return shouldRetryError(err.Err) + case temporary: + if netErr, ok := err.(*net.OpError); ok && netErr.Op == "dial" { + return true } + // If the error is temporary, we want to allow continuation of the + // retry process + return err.Temporary() || isErrConnectionReset(origErr) + case nil: + // `awserr.Error.OrigErr()` can be nil, meaning there was an error but + // because we don't know the cause, it is marked as retryable. See + // TestRequest4xxUnretryable for an example. + return true + default: + switch err.Error() { + case "net/http: request canceled", + "net/http: request canceled while waiting for connection": + // known 1.5 error case when an http request is cancelled + return false + } + // here we don't know the error; so we allow a retry. + return true } - - // There can be two types of canceled errors here. - // The first being a net.Error and the other being an error. - // If the request was timed out, we want to continue the retry - // process. Otherwise, return the canceled error. - return timeoutErr || - (errStr != "net/http: request canceled" && - errStr != "net/http: request canceled while waiting for connection") - } // SanitizeHostForHeader removes default port from host and updates request.Host diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go index 7c6a8000f67..de1292f45a2 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go @@ -4,6 +4,8 @@ package request import ( "net/http" + + "github.com/aws/aws-sdk-go/aws/awserr" ) // NoBody is a http.NoBody reader instructing Go HTTP client to not include @@ -24,7 +26,8 @@ var NoBody = http.NoBody func (r *Request) ResetBody() { body, err := r.getNextRequestBody() if err != nil { - r.Error = err + r.Error = awserr.New(ErrCodeSerialization, + "failed to reset request body", err) return } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go index a633ed5acfa..f093fc542df 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go @@ -146,7 +146,7 @@ func (r *Request) nextPageTokens() []interface{} { return nil } case bool: - if v == false { + if !v { return nil } } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go b/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go index 7bc5da78266..d0aa54c6d10 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go @@ -38,6 +38,7 @@ var throttleCodes = map[string]struct{}{ "ThrottlingException": {}, "RequestLimitExceeded": {}, "RequestThrottled": {}, + "RequestThrottledException": {}, "TooManyRequestsException": {}, // Lambda functions "PriorRequestNotComplete": {}, // Route53 "TransactionInProgressException": {}, diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport.go b/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport.go new file mode 100644 index 00000000000..ea9ebb6f6a2 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport.go @@ -0,0 +1,26 @@ +// +build go1.7 + +package session + +import ( + "net" + "net/http" + "time" +) + +// Transport that should be used when a custom CA bundle is specified with the +// SDK. +func getCABundleTransport() *http.Transport { + return &http.Transport{ + Proxy: http.ProxyFromEnvironment, + DialContext: (&net.Dialer{ + Timeout: 30 * time.Second, + KeepAlive: 30 * time.Second, + DualStack: true, + }).DialContext, + MaxIdleConns: 100, + IdleConnTimeout: 90 * time.Second, + TLSHandshakeTimeout: 10 * time.Second, + ExpectContinueTimeout: 1 * time.Second, + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport_1_5.go b/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport_1_5.go new file mode 100644 index 00000000000..fec39dfc126 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport_1_5.go @@ -0,0 +1,22 @@ +// +build !go1.6,go1.5 + +package session + +import ( + "net" + "net/http" + "time" +) + +// Transport that should be used when a custom CA bundle is specified with the +// SDK. +func getCABundleTransport() *http.Transport { + return &http.Transport{ + Proxy: http.ProxyFromEnvironment, + Dial: (&net.Dialer{ + Timeout: 30 * time.Second, + KeepAlive: 30 * time.Second, + }).Dial, + TLSHandshakeTimeout: 10 * time.Second, + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport_1_6.go b/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport_1_6.go new file mode 100644 index 00000000000..1c5a5391e65 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/cabundle_transport_1_6.go @@ -0,0 +1,23 @@ +// +build !go1.7,go1.6 + +package session + +import ( + "net" + "net/http" + "time" +) + +// Transport that should be used when a custom CA bundle is specified with the +// SDK. +func getCABundleTransport() *http.Transport { + return &http.Transport{ + Proxy: http.ProxyFromEnvironment, + Dial: (&net.Dialer{ + Timeout: 30 * time.Second, + KeepAlive: 30 * time.Second, + }).Dial, + TLSHandshakeTimeout: 10 * time.Second, + ExpectContinueTimeout: 1 * time.Second, + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/credentials.go b/vendor/github.com/aws/aws-sdk-go/aws/session/credentials.go new file mode 100644 index 00000000000..7713ccfca5e --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/credentials.go @@ -0,0 +1,259 @@ +package session + +import ( + "fmt" + "os" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/aws/credentials/processcreds" + "github.com/aws/aws-sdk-go/aws/credentials/stscreds" + "github.com/aws/aws-sdk-go/aws/defaults" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/internal/shareddefaults" +) + +func resolveCredentials(cfg *aws.Config, + envCfg envConfig, sharedCfg sharedConfig, + handlers request.Handlers, + sessOpts Options, +) (*credentials.Credentials, error) { + + switch { + case len(sessOpts.Profile) != 0: + // User explicitly provided an Profile in the session's configuration + // so load that profile from shared config first. + // Github(aws/aws-sdk-go#2727) + return resolveCredsFromProfile(cfg, envCfg, sharedCfg, handlers, sessOpts) + + case envCfg.Creds.HasKeys(): + // Environment credentials + return credentials.NewStaticCredentialsFromCreds(envCfg.Creds), nil + + case len(envCfg.WebIdentityTokenFilePath) != 0: + // Web identity token from environment, RoleARN required to also be + // set. + return assumeWebIdentity(cfg, handlers, + envCfg.WebIdentityTokenFilePath, + envCfg.RoleARN, + envCfg.RoleSessionName, + ) + + default: + // Fallback to the "default" credential resolution chain. + return resolveCredsFromProfile(cfg, envCfg, sharedCfg, handlers, sessOpts) + } +} + +// WebIdentityEmptyRoleARNErr will occur if 'AWS_WEB_IDENTITY_TOKEN_FILE' was set but +// 'AWS_IAM_ROLE_ARN' was not set. +var WebIdentityEmptyRoleARNErr = awserr.New(stscreds.ErrCodeWebIdentity, "role ARN is not set", nil) + +// WebIdentityEmptyTokenFilePathErr will occur if 'AWS_IAM_ROLE_ARN' was set but +// 'AWS_WEB_IDENTITY_TOKEN_FILE' was not set. +var WebIdentityEmptyTokenFilePathErr = awserr.New(stscreds.ErrCodeWebIdentity, "token file path is not set", nil) + +func assumeWebIdentity(cfg *aws.Config, handlers request.Handlers, + filepath string, + roleARN, sessionName string, +) (*credentials.Credentials, error) { + + if len(filepath) == 0 { + return nil, WebIdentityEmptyTokenFilePathErr + } + + if len(roleARN) == 0 { + return nil, WebIdentityEmptyRoleARNErr + } + + creds := stscreds.NewWebIdentityCredentials( + &Session{ + Config: cfg, + Handlers: handlers.Copy(), + }, + roleARN, + sessionName, + filepath, + ) + + return creds, nil +} + +func resolveCredsFromProfile(cfg *aws.Config, + envCfg envConfig, sharedCfg sharedConfig, + handlers request.Handlers, + sessOpts Options, +) (creds *credentials.Credentials, err error) { + + switch { + case sharedCfg.SourceProfile != nil: + // Assume IAM role with credentials source from a different profile. + creds, err = resolveCredsFromProfile(cfg, envCfg, + *sharedCfg.SourceProfile, handlers, sessOpts, + ) + + case sharedCfg.Creds.HasKeys(): + // Static Credentials from Shared Config/Credentials file. + creds = credentials.NewStaticCredentialsFromCreds( + sharedCfg.Creds, + ) + + case len(sharedCfg.CredentialProcess) != 0: + // Get credentials from CredentialProcess + creds = processcreds.NewCredentials(sharedCfg.CredentialProcess) + + case len(sharedCfg.CredentialSource) != 0: + creds, err = resolveCredsFromSource(cfg, envCfg, + sharedCfg, handlers, sessOpts, + ) + + case len(sharedCfg.WebIdentityTokenFile) != 0: + // Credentials from Assume Web Identity token require an IAM Role, and + // that roll will be assumed. May be wrapped with another assume role + // via SourceProfile. + return assumeWebIdentity(cfg, handlers, + sharedCfg.WebIdentityTokenFile, + sharedCfg.RoleARN, + sharedCfg.RoleSessionName, + ) + + default: + // Fallback to default credentials provider, include mock errors for + // the credential chain so user can identify why credentials failed to + // be retrieved. + creds = credentials.NewCredentials(&credentials.ChainProvider{ + VerboseErrors: aws.BoolValue(cfg.CredentialsChainVerboseErrors), + Providers: []credentials.Provider{ + &credProviderError{ + Err: awserr.New("EnvAccessKeyNotFound", + "failed to find credentials in the environment.", nil), + }, + &credProviderError{ + Err: awserr.New("SharedCredsLoad", + fmt.Sprintf("failed to load profile, %s.", envCfg.Profile), nil), + }, + defaults.RemoteCredProvider(*cfg, handlers), + }, + }) + } + if err != nil { + return nil, err + } + + if len(sharedCfg.RoleARN) > 0 { + cfgCp := *cfg + cfgCp.Credentials = creds + return credsFromAssumeRole(cfgCp, handlers, sharedCfg, sessOpts) + } + + return creds, nil +} + +// valid credential source values +const ( + credSourceEc2Metadata = "Ec2InstanceMetadata" + credSourceEnvironment = "Environment" + credSourceECSContainer = "EcsContainer" +) + +func resolveCredsFromSource(cfg *aws.Config, + envCfg envConfig, sharedCfg sharedConfig, + handlers request.Handlers, + sessOpts Options, +) (creds *credentials.Credentials, err error) { + + switch sharedCfg.CredentialSource { + case credSourceEc2Metadata: + p := defaults.RemoteCredProvider(*cfg, handlers) + creds = credentials.NewCredentials(p) + + case credSourceEnvironment: + creds = credentials.NewStaticCredentialsFromCreds(envCfg.Creds) + + case credSourceECSContainer: + if len(os.Getenv(shareddefaults.ECSCredsProviderEnvVar)) == 0 { + return nil, ErrSharedConfigECSContainerEnvVarEmpty + } + + p := defaults.RemoteCredProvider(*cfg, handlers) + creds = credentials.NewCredentials(p) + + default: + return nil, ErrSharedConfigInvalidCredSource + } + + return creds, nil +} + +func credsFromAssumeRole(cfg aws.Config, + handlers request.Handlers, + sharedCfg sharedConfig, + sessOpts Options, +) (*credentials.Credentials, error) { + + if len(sharedCfg.MFASerial) != 0 && sessOpts.AssumeRoleTokenProvider == nil { + // AssumeRole Token provider is required if doing Assume Role + // with MFA. + return nil, AssumeRoleTokenProviderNotSetError{} + } + + return stscreds.NewCredentials( + &Session{ + Config: &cfg, + Handlers: handlers.Copy(), + }, + sharedCfg.RoleARN, + func(opt *stscreds.AssumeRoleProvider) { + opt.RoleSessionName = sharedCfg.RoleSessionName + opt.Duration = sessOpts.AssumeRoleDuration + + // Assume role with external ID + if len(sharedCfg.ExternalID) > 0 { + opt.ExternalID = aws.String(sharedCfg.ExternalID) + } + + // Assume role with MFA + if len(sharedCfg.MFASerial) > 0 { + opt.SerialNumber = aws.String(sharedCfg.MFASerial) + opt.TokenProvider = sessOpts.AssumeRoleTokenProvider + } + }, + ), nil +} + +// AssumeRoleTokenProviderNotSetError is an error returned when creating a +// session when the MFAToken option is not set when shared config is configured +// load assume a role with an MFA token. +type AssumeRoleTokenProviderNotSetError struct{} + +// Code is the short id of the error. +func (e AssumeRoleTokenProviderNotSetError) Code() string { + return "AssumeRoleTokenProviderNotSetError" +} + +// Message is the description of the error +func (e AssumeRoleTokenProviderNotSetError) Message() string { + return fmt.Sprintf("assume role with MFA enabled, but AssumeRoleTokenProvider session option not set.") +} + +// OrigErr is the underlying error that caused the failure. +func (e AssumeRoleTokenProviderNotSetError) OrigErr() error { + return nil +} + +// Error satisfies the error interface. +func (e AssumeRoleTokenProviderNotSetError) Error() string { + return awserr.SprintError(e.Code(), e.Message(), "", nil) +} + +type credProviderError struct { + Err error +} + +func (c credProviderError) Retrieve() (credentials.Value, error) { + return credentials.Value{}, c.Err +} +func (c credProviderError) IsExpired() bool { + return true +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go b/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go index 98d420fd64d..7ec66e7e589 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go @@ -1,97 +1,93 @@ /* -Package session provides configuration for the SDK's service clients. - -Sessions can be shared across all service clients that share the same base -configuration. The Session is built from the SDK's default configuration and -request handlers. - -Sessions should be cached when possible, because creating a new Session will -load all configuration values from the environment, and config files each time -the Session is created. Sharing the Session value across all of your service -clients will ensure the configuration is loaded the fewest number of times possible. - -Concurrency +Package session provides configuration for the SDK's service clients. Sessions +can be shared across service clients that share the same base configuration. Sessions are safe to use concurrently as long as the Session is not being -modified. The SDK will not modify the Session once the Session has been created. -Creating service clients concurrently from a shared Session is safe. - -Sessions from Shared Config - -Sessions can be created using the method above that will only load the -additional config if the AWS_SDK_LOAD_CONFIG environment variable is set. -Alternatively you can explicitly create a Session with shared config enabled. -To do this you can use NewSessionWithOptions to configure how the Session will -be created. Using the NewSessionWithOptions with SharedConfigState set to -SharedConfigEnable will create the session as if the AWS_SDK_LOAD_CONFIG -environment variable was set. +modified. Sessions should be cached when possible, because creating a new +Session will load all configuration values from the environment, and config +files each time the Session is created. Sharing the Session value across all of +your service clients will ensure the configuration is loaded the fewest number +of times possible. -Creating Sessions - -When creating Sessions optional aws.Config values can be passed in that will -override the default, or loaded config values the Session is being created -with. This allows you to provide additional, or case based, configuration -as needed. +Sessions options from Shared Config By default NewSession will only load credentials from the shared credentials file (~/.aws/credentials). If the AWS_SDK_LOAD_CONFIG environment variable is set to a truthy value the Session will be created from the configuration values from the shared config (~/.aws/config) and shared credentials -(~/.aws/credentials) files. See the section Sessions from Shared Config for -more information. +(~/.aws/credentials) files. Using the NewSessionWithOptions with +SharedConfigState set to SharedConfigEnable will create the session as if the +AWS_SDK_LOAD_CONFIG environment variable was set. -Create a Session with the default config and request handlers. With credentials -region, and profile loaded from the environment and shared config automatically. -Requires the AWS_PROFILE to be set, or "default" is used. +Credential and config loading order - // Create Session - sess := session.Must(session.NewSession()) +The Session will attempt to load configuration and credentials from the +environment, configuration files, and other credential sources. The order +configuration is loaded in is: - // Create a Session with a custom region - sess := session.Must(session.NewSession(&aws.Config{ - Region: aws.String("us-east-1"), - })) + * Environment Variables + * Shared Credentials file + * Shared Configuration file (if SharedConfig is enabled) + * EC2 Instance Metadata (credentials only) - // Create a S3 client instance from a session - sess := session.Must(session.NewSession()) +The Environment variables for credentials will have precedence over shared +config even if SharedConfig is enabled. To override this behavior, and use +shared config credentials instead specify the session.Options.Profile, (e.g. +when using credential_source=Environment to assume a role). + + sess, err := session.NewSessionWithOptions(session.Options{ + Profile: "myProfile", + }) - svc := s3.New(sess) +Creating Sessions -Create Session With Option Overrides +Creating a Session without additional options will load credentials region, and +profile loaded from the environment and shared config automatically. See, +"Environment Variables" section for information on environment variables used +by Session. -In addition to NewSession, Sessions can be created using NewSessionWithOptions. -This func allows you to control and override how the Session will be created -through code instead of being driven by environment variables only. + // Create Session + sess, err := session.NewSession() -Use NewSessionWithOptions when you want to provide the config profile, or -override the shared config state (AWS_SDK_LOAD_CONFIG). + +When creating Sessions optional aws.Config values can be passed in that will +override the default, or loaded, config values the Session is being created +with. This allows you to provide additional, or case based, configuration +as needed. + + // Create a Session with a custom region + sess, err := session.NewSession(&aws.Config{ + Region: aws.String("us-west-2"), + }) + +Use NewSessionWithOptions to provide additional configuration driving how the +Session's configuration will be loaded. Such as, specifying shared config +profile, or override the shared config state, (AWS_SDK_LOAD_CONFIG). // Equivalent to session.NewSession() - sess := session.Must(session.NewSessionWithOptions(session.Options{ + sess, err := session.NewSessionWithOptions(session.Options{ // Options - })) + }) - // Specify profile to load for the session's config - sess := session.Must(session.NewSessionWithOptions(session.Options{ - Profile: "profile_name", - })) + sess, err := session.NewSessionWithOptions(session.Options{ + // Specify profile to load for the session's config + Profile: "profile_name", - // Specify profile for config and region for requests - sess := session.Must(session.NewSessionWithOptions(session.Options{ - Config: aws.Config{Region: aws.String("us-east-1")}, - Profile: "profile_name", - })) + // Provide SDK Config options, such as Region. + Config: aws.Config{ + Region: aws.String("us-west-2"), + }, - // Force enable Shared Config support - sess := session.Must(session.NewSessionWithOptions(session.Options{ + // Force enable Shared Config support SharedConfigState: session.SharedConfigEnable, - })) + }) Adding Handlers -You can add handlers to a session for processing HTTP requests. All service -clients that use the session inherit the handlers. For example, the following -handler logs every request and its payload made by a service client: +You can add handlers to a session to decorate API operation, (e.g. adding HTTP +headers). All clients that use the Session receive a copy of the Session's +handlers. For example, the following request handler added to the Session logs +every requests made. // Create a session, and add additional handlers for all service // clients created with the Session to inherit. Adds logging handler. @@ -99,22 +95,15 @@ handler logs every request and its payload made by a service client: sess.Handlers.Send.PushFront(func(r *request.Request) { // Log every request made and its payload - logger.Println("Request: %s/%s, Payload: %s", + logger.Printf("Request: %s/%s, Params: %s", r.ClientInfo.ServiceName, r.Operation, r.Params) }) -Deprecated "New" function - -The New session function has been deprecated because it does not provide good -way to return errors that occur when loading the configuration files and values. -Because of this, NewSession was created so errors can be retrieved when -creating a session fails. - Shared Config Fields -By default the SDK will only load the shared credentials file's (~/.aws/credentials) -credentials values, and all other config is provided by the environment variables, -SDK defaults, and user provided aws.Config values. +By default the SDK will only load the shared credentials file's +(~/.aws/credentials) credentials values, and all other config is provided by +the environment variables, SDK defaults, and user provided aws.Config values. If the AWS_SDK_LOAD_CONFIG environment variable is set, or SharedConfigEnable option is used to create the Session the full shared config values will be @@ -125,24 +114,31 @@ files have the same format. If both config files are present the configuration from both files will be read. The Session will be created from configuration values from the shared -credentials file (~/.aws/credentials) over those in the shared config file (~/.aws/config). +credentials file (~/.aws/credentials) over those in the shared config file +(~/.aws/config). -Credentials are the values the SDK should use for authenticating requests with -AWS Services. They are from a configuration file will need to include both -aws_access_key_id and aws_secret_access_key must be provided together in the -same file to be considered valid. The values will be ignored if not a complete -group. aws_session_token is an optional field that can be provided if both of -the other two fields are also provided. +Credentials are the values the SDK uses to authenticating requests with AWS +Services. When specified in a file, both aws_access_key_id and +aws_secret_access_key must be provided together in the same file to be +considered valid. They will be ignored if both are not present. +aws_session_token is an optional field that can be provided in addition to the +other two fields. aws_access_key_id = AKID aws_secret_access_key = SECRET aws_session_token = TOKEN -Assume Role values allow you to configure the SDK to assume an IAM role using -a set of credentials provided in a config file via the source_profile field. -Both "role_arn" and "source_profile" are required. The SDK supports assuming -a role with MFA token if the session option AssumeRoleTokenProvider -is set. + ; region only supported if SharedConfigEnabled. + region = us-east-1 + +Assume Role configuration + +The role_arn field allows you to configure the SDK to assume an IAM role using +a set of credentials from another source. Such as when paired with static +credentials, "profile_source", "credential_process", or "credential_source" +fields. If "role_arn" is provided, a source of credentials must also be +specified, such as "source_profile", "credential_source", or +"credential_process". role_arn = arn:aws:iam:::role/ source_profile = profile_with_creds @@ -150,40 +146,16 @@ is set. mfa_serial = role_session_name = session_name -Region is the region the SDK should use for looking up AWS service endpoints -and signing requests. - - region = us-east-1 - -Assume Role with MFA token -To create a session with support for assuming an IAM role with MFA set the -session option AssumeRoleTokenProvider to a function that will prompt for the -MFA token code when the SDK assumes the role and refreshes the role's credentials. -This allows you to configure the SDK via the shared config to assumea role -with MFA tokens. - -In order for the SDK to assume a role with MFA the SharedConfigState -session option must be set to SharedConfigEnable, or AWS_SDK_LOAD_CONFIG -environment variable set. - -The shared configuration instructs the SDK to assume an IAM role with MFA -when the mfa_serial configuration field is set in the shared config -(~/.aws/config) or shared credentials (~/.aws/credentials) file. - -If mfa_serial is set in the configuration, the SDK will assume the role, and -the AssumeRoleTokenProvider session option is not set an an error will -be returned when creating the session. +The SDK supports assuming a role with MFA token. If "mfa_serial" is set, you +must also set the Session Option.AssumeRoleTokenProvider. The Session will fail +to load if the AssumeRoleTokenProvider is not specified. sess := session.Must(session.NewSessionWithOptions(session.Options{ AssumeRoleTokenProvider: stscreds.StdinTokenProvider, })) - // Create service client value configured for credentials - // from assumed role. - svc := s3.New(sess) - -To setup assume role outside of a session see the stscrds.AssumeRoleProvider +To setup Assume Role outside of a session see the stscreds.AssumeRoleProvider documentation. Environment Variables diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go index c94d0fb9a7c..3a998d5bd62 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go @@ -80,7 +80,7 @@ type envConfig struct { // AWS_CONFIG_FILE=$HOME/my_shared_config SharedConfigFile string - // Sets the path to a custom Credentials Authroity (CA) Bundle PEM file + // Sets the path to a custom Credentials Authority (CA) Bundle PEM file // that the SDK will use instead of the system's root CA bundle. // Only use this if you want to configure the SDK to use a custom set // of CAs. @@ -102,18 +102,38 @@ type envConfig struct { CSMEnabled bool CSMPort string CSMClientID string + CSMHost string - enableEndpointDiscovery string // Enables endpoint discovery via environment variables. // // AWS_ENABLE_ENDPOINT_DISCOVERY=true EnableEndpointDiscovery *bool + enableEndpointDiscovery string + + // Specifies the WebIdentity token the SDK should use to assume a role + // with. + // + // AWS_WEB_IDENTITY_TOKEN_FILE=file_path + WebIdentityTokenFilePath string + + // Specifies the IAM role arn to use when assuming an role. + // + // AWS_ROLE_ARN=role_arn + RoleARN string + + // Specifies the IAM role session name to use when assuming a role. + // + // AWS_ROLE_SESSION_NAME=session_name + RoleSessionName string } var ( csmEnabledEnvKey = []string{ "AWS_CSM_ENABLED", } + csmHostEnvKey = []string{ + "AWS_CSM_HOST", + } csmPortEnvKey = []string{ "AWS_CSM_PORT", } @@ -150,6 +170,15 @@ var ( sharedConfigFileEnvKey = []string{ "AWS_CONFIG_FILE", } + webIdentityTokenFilePathEnvKey = []string{ + "AWS_WEB_IDENTITY_TOKEN_FILE", + } + roleARNEnvKey = []string{ + "AWS_ROLE_ARN", + } + roleSessionNameEnvKey = []string{ + "AWS_ROLE_SESSION_NAME", + } ) // loadEnvConfig retrieves the SDK's environment configuration. @@ -178,23 +207,31 @@ func envConfigLoad(enableSharedConfig bool) envConfig { cfg.EnableSharedConfig = enableSharedConfig - setFromEnvVal(&cfg.Creds.AccessKeyID, credAccessEnvKey) - setFromEnvVal(&cfg.Creds.SecretAccessKey, credSecretEnvKey) - setFromEnvVal(&cfg.Creds.SessionToken, credSessionEnvKey) + // Static environment credentials + var creds credentials.Value + setFromEnvVal(&creds.AccessKeyID, credAccessEnvKey) + setFromEnvVal(&creds.SecretAccessKey, credSecretEnvKey) + setFromEnvVal(&creds.SessionToken, credSessionEnvKey) + if creds.HasKeys() { + // Require logical grouping of credentials + creds.ProviderName = EnvProviderName + cfg.Creds = creds + } + + // Role Metadata + setFromEnvVal(&cfg.RoleARN, roleARNEnvKey) + setFromEnvVal(&cfg.RoleSessionName, roleSessionNameEnvKey) + + // Web identity environment variables + setFromEnvVal(&cfg.WebIdentityTokenFilePath, webIdentityTokenFilePathEnvKey) // CSM environment variables setFromEnvVal(&cfg.csmEnabled, csmEnabledEnvKey) + setFromEnvVal(&cfg.CSMHost, csmHostEnvKey) setFromEnvVal(&cfg.CSMPort, csmPortEnvKey) setFromEnvVal(&cfg.CSMClientID, csmClientIDEnvKey) cfg.CSMEnabled = len(cfg.csmEnabled) > 0 - // Require logical grouping of credentials - if len(cfg.Creds.AccessKeyID) == 0 || len(cfg.Creds.SecretAccessKey) == 0 { - cfg.Creds = credentials.Value{} - } else { - cfg.Creds.ProviderName = EnvProviderName - } - regionKeys := regionEnvKeys profileKeys := profileEnvKeys if !cfg.EnableSharedConfig { diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/session.go b/vendor/github.com/aws/aws-sdk-go/aws/session/session.go index e7c156e8b12..1b4fcdb10e1 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/session/session.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/session.go @@ -8,18 +8,17 @@ import ( "io/ioutil" "net/http" "os" + "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/client" "github.com/aws/aws-sdk-go/aws/corehandlers" "github.com/aws/aws-sdk-go/aws/credentials" - "github.com/aws/aws-sdk-go/aws/credentials/stscreds" "github.com/aws/aws-sdk-go/aws/csm" "github.com/aws/aws-sdk-go/aws/defaults" "github.com/aws/aws-sdk-go/aws/endpoints" "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/internal/shareddefaults" ) const ( @@ -106,7 +105,15 @@ func New(cfgs ...*aws.Config) *Session { s := deprecatedNewSession(cfgs...) if envCfg.CSMEnabled { - enableCSM(&s.Handlers, envCfg.CSMClientID, envCfg.CSMPort, s.Config.Logger) + err := enableCSM(&s.Handlers, envCfg.CSMClientID, + envCfg.CSMHost, envCfg.CSMPort, s.Config.Logger) + if err != nil { + err = fmt.Errorf("failed to enable CSM, %v", err) + s.Config.Logger.Log("ERROR:", err.Error()) + s.Handlers.Validate.PushBack(func(r *request.Request) { + r.Error = err + }) + } } return s @@ -209,6 +216,12 @@ type Options struct { // the config enables assume role wit MFA via the mfa_serial field. AssumeRoleTokenProvider func() (string, error) + // When the SDK's shared config is configured to assume a role this option + // may be provided to set the expiry duration of the STS credentials. + // Defaults to 15 minutes if not set as documented in the + // stscreds.AssumeRoleProvider. + AssumeRoleDuration time.Duration + // Reader for a custom Credentials Authority (CA) bundle in PEM format that // the SDK will use instead of the default system's root CA bundle. Use this // only if you want to replace the CA bundle the SDK uses for TLS requests. @@ -223,6 +236,12 @@ type Options struct { // to also enable this feature. CustomCABundle session option field has priority // over the AWS_CA_BUNDLE environment variable, and will be used if both are set. CustomCABundle io.Reader + + // The handlers that the session and all API clients will be created with. + // This must be a complete set of handlers. Use the defaults.Handlers() + // function to initialize this value before changing the handlers to be + // used by the SDK. + Handlers request.Handlers } // NewSessionWithOptions returns a new Session created from SDK defaults, config files, @@ -262,7 +281,7 @@ func NewSessionWithOptions(opts Options) (*Session, error) { envCfg = loadEnvConfig() } - if len(opts.Profile) > 0 { + if len(opts.Profile) != 0 { envCfg.Profile = opts.Profile } @@ -328,27 +347,36 @@ func deprecatedNewSession(cfgs ...*aws.Config) *Session { return s } -func enableCSM(handlers *request.Handlers, clientID string, port string, logger aws.Logger) { - logger.Log("Enabling CSM") - if len(port) == 0 { - port = csm.DefaultPort +func enableCSM(handlers *request.Handlers, + clientID, host, port string, + logger aws.Logger, +) error { + if logger != nil { + logger.Log("Enabling CSM") } - r, err := csm.Start(clientID, "127.0.0.1:"+port) + r, err := csm.Start(clientID, csm.AddressWithDefaults(host, port)) if err != nil { - return + return err } r.InjectHandlers(handlers) + + return nil } func newSession(opts Options, envCfg envConfig, cfgs ...*aws.Config) (*Session, error) { cfg := defaults.Config() - handlers := defaults.Handlers() + + handlers := opts.Handlers + if handlers.IsEmpty() { + handlers = defaults.Handlers() + } // Get a merged version of the user provided config to determine if // credentials were. userCfg := &aws.Config{} userCfg.MergeIn(cfgs...) + cfg.MergeIn(userCfg) // Ordered config files will be loaded in with later files overwriting // previous config file values. @@ -365,9 +393,11 @@ func newSession(opts Options, envCfg envConfig, cfgs ...*aws.Config) (*Session, } // Load additional config from file(s) - sharedCfg, err := loadSharedConfig(envCfg.Profile, cfgFiles) + sharedCfg, err := loadSharedConfig(envCfg.Profile, cfgFiles, envCfg.EnableSharedConfig) if err != nil { - return nil, err + if _, ok := err.(SharedConfigProfileNotExistsError); !ok { + return nil, err + } } if err := mergeConfigSrcs(cfg, userCfg, envCfg, sharedCfg, handlers, opts); err != nil { @@ -381,7 +411,11 @@ func newSession(opts Options, envCfg envConfig, cfgs ...*aws.Config) (*Session, initHandlers(s) if envCfg.CSMEnabled { - enableCSM(&s.Handlers, envCfg.CSMClientID, envCfg.CSMPort, s.Config.Logger) + err := enableCSM(&s.Handlers, envCfg.CSMClientID, + envCfg.CSMHost, envCfg.CSMPort, s.Config.Logger) + if err != nil { + return nil, err + } } // Setup HTTP client with custom cert bundle if enabled @@ -406,7 +440,10 @@ func loadCustomCABundle(s *Session, bundle io.Reader) error { } } if t == nil { - t = &http.Transport{} + // Nil transport implies `http.DefaultTransport` should be used. Since + // the SDK cannot modify, nor copy the `DefaultTransport` specifying + // the values the next closest behavior. + t = getCABundleTransport() } p, err := loadCertPool(bundle) @@ -439,9 +476,11 @@ func loadCertPool(r io.Reader) (*x509.CertPool, error) { return p, nil } -func mergeConfigSrcs(cfg, userCfg *aws.Config, envCfg envConfig, sharedCfg sharedConfig, handlers request.Handlers, sessOpts Options) error { - // Merge in user provided configuration - cfg.MergeIn(userCfg) +func mergeConfigSrcs(cfg, userCfg *aws.Config, + envCfg envConfig, sharedCfg sharedConfig, + handlers request.Handlers, + sessOpts Options, +) error { // Region if not already set by user if len(aws.StringValue(cfg.Region)) == 0 { @@ -460,160 +499,19 @@ func mergeConfigSrcs(cfg, userCfg *aws.Config, envCfg envConfig, sharedCfg share } } - // Configure credentials if not already set + // Configure credentials if not already set by the user when creating the + // Session. if cfg.Credentials == credentials.AnonymousCredentials && userCfg.Credentials == nil { - - // inspect the profile to see if a credential source has been specified. - if envCfg.EnableSharedConfig && len(sharedCfg.AssumeRole.CredentialSource) > 0 { - - // if both credential_source and source_profile have been set, return an error - // as this is undefined behavior. - if len(sharedCfg.AssumeRole.SourceProfile) > 0 { - return ErrSharedConfigSourceCollision - } - - // valid credential source values - const ( - credSourceEc2Metadata = "Ec2InstanceMetadata" - credSourceEnvironment = "Environment" - credSourceECSContainer = "EcsContainer" - ) - - switch sharedCfg.AssumeRole.CredentialSource { - case credSourceEc2Metadata: - cfgCp := *cfg - p := defaults.RemoteCredProvider(cfgCp, handlers) - cfgCp.Credentials = credentials.NewCredentials(p) - - if len(sharedCfg.AssumeRole.MFASerial) > 0 && sessOpts.AssumeRoleTokenProvider == nil { - // AssumeRole Token provider is required if doing Assume Role - // with MFA. - return AssumeRoleTokenProviderNotSetError{} - } - - cfg.Credentials = assumeRoleCredentials(cfgCp, handlers, sharedCfg, sessOpts) - case credSourceEnvironment: - cfg.Credentials = credentials.NewStaticCredentialsFromCreds( - envCfg.Creds, - ) - case credSourceECSContainer: - if len(os.Getenv(shareddefaults.ECSCredsProviderEnvVar)) == 0 { - return ErrSharedConfigECSContainerEnvVarEmpty - } - - cfgCp := *cfg - p := defaults.RemoteCredProvider(cfgCp, handlers) - creds := credentials.NewCredentials(p) - - cfg.Credentials = creds - default: - return ErrSharedConfigInvalidCredSource - } - - return nil - } - - if len(envCfg.Creds.AccessKeyID) > 0 { - cfg.Credentials = credentials.NewStaticCredentialsFromCreds( - envCfg.Creds, - ) - } else if envCfg.EnableSharedConfig && len(sharedCfg.AssumeRole.RoleARN) > 0 && sharedCfg.AssumeRoleSource != nil { - cfgCp := *cfg - cfgCp.Credentials = credentials.NewStaticCredentialsFromCreds( - sharedCfg.AssumeRoleSource.Creds, - ) - - if len(sharedCfg.AssumeRole.MFASerial) > 0 && sessOpts.AssumeRoleTokenProvider == nil { - // AssumeRole Token provider is required if doing Assume Role - // with MFA. - return AssumeRoleTokenProviderNotSetError{} - } - - cfg.Credentials = assumeRoleCredentials(cfgCp, handlers, sharedCfg, sessOpts) - } else if len(sharedCfg.Creds.AccessKeyID) > 0 { - cfg.Credentials = credentials.NewStaticCredentialsFromCreds( - sharedCfg.Creds, - ) - } else { - // Fallback to default credentials provider, include mock errors - // for the credential chain so user can identify why credentials - // failed to be retrieved. - cfg.Credentials = credentials.NewCredentials(&credentials.ChainProvider{ - VerboseErrors: aws.BoolValue(cfg.CredentialsChainVerboseErrors), - Providers: []credentials.Provider{ - &credProviderError{Err: awserr.New("EnvAccessKeyNotFound", "failed to find credentials in the environment.", nil)}, - &credProviderError{Err: awserr.New("SharedCredsLoad", fmt.Sprintf("failed to load profile, %s.", envCfg.Profile), nil)}, - defaults.RemoteCredProvider(*cfg, handlers), - }, - }) + creds, err := resolveCredentials(cfg, envCfg, sharedCfg, handlers, sessOpts) + if err != nil { + return err } + cfg.Credentials = creds } return nil } -func assumeRoleCredentials(cfg aws.Config, handlers request.Handlers, sharedCfg sharedConfig, sessOpts Options) *credentials.Credentials { - return stscreds.NewCredentials( - &Session{ - Config: &cfg, - Handlers: handlers.Copy(), - }, - sharedCfg.AssumeRole.RoleARN, - func(opt *stscreds.AssumeRoleProvider) { - opt.RoleSessionName = sharedCfg.AssumeRole.RoleSessionName - - // Assume role with external ID - if len(sharedCfg.AssumeRole.ExternalID) > 0 { - opt.ExternalID = aws.String(sharedCfg.AssumeRole.ExternalID) - } - - // Assume role with MFA - if len(sharedCfg.AssumeRole.MFASerial) > 0 { - opt.SerialNumber = aws.String(sharedCfg.AssumeRole.MFASerial) - opt.TokenProvider = sessOpts.AssumeRoleTokenProvider - } - }, - ) -} - -// AssumeRoleTokenProviderNotSetError is an error returned when creating a session when the -// MFAToken option is not set when shared config is configured load assume a -// role with an MFA token. -type AssumeRoleTokenProviderNotSetError struct{} - -// Code is the short id of the error. -func (e AssumeRoleTokenProviderNotSetError) Code() string { - return "AssumeRoleTokenProviderNotSetError" -} - -// Message is the description of the error -func (e AssumeRoleTokenProviderNotSetError) Message() string { - return fmt.Sprintf("assume role with MFA enabled, but AssumeRoleTokenProvider session option not set.") -} - -// OrigErr is the underlying error that caused the failure. -func (e AssumeRoleTokenProviderNotSetError) OrigErr() error { - return nil -} - -// Error satisfies the error interface. -func (e AssumeRoleTokenProviderNotSetError) Error() string { - return awserr.SprintError(e.Code(), e.Message(), "", nil) -} - -type credProviderError struct { - Err error -} - -var emptyCreds = credentials.Value{} - -func (c credProviderError) Retrieve() (credentials.Value, error) { - return credentials.Value{}, c.Err -} -func (c credProviderError) IsExpired() bool { - return true -} - func initHandlers(s *Session) { // Add the Validate parameter handler if it is not disabled. s.Handlers.Validate.Remove(corehandlers.ValidateParametersHandler) diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go index 427b8a4e997..5170b4982e0 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go @@ -5,7 +5,6 @@ import ( "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/credentials" - "github.com/aws/aws-sdk-go/internal/ini" ) @@ -29,39 +28,45 @@ const ( // endpoint discovery group enableEndpointDiscoveryKey = `endpoint_discovery_enabled` // optional + // External Credential Process + credentialProcessKey = `credential_process` // optional + + // Web Identity Token File + webIdentityTokenFileKey = `web_identity_token_file` // optional + // DefaultSharedConfigProfile is the default profile to be used when // loading configuration from the config files if another profile name // is not provided. DefaultSharedConfigProfile = `default` ) -type assumeRoleConfig struct { - RoleARN string - SourceProfile string - CredentialSource string - ExternalID string - MFASerial string - RoleSessionName string -} - // sharedConfig represents the configuration fields of the SDK config files. type sharedConfig struct { - // Credentials values from the config file. Both aws_access_key_id - // and aws_secret_access_key must be provided together in the same file - // to be considered valid. The values will be ignored if not a complete group. - // aws_session_token is an optional field that can be provided if both of the - // other two fields are also provided. + // Credentials values from the config file. Both aws_access_key_id and + // aws_secret_access_key must be provided together in the same file to be + // considered valid. The values will be ignored if not a complete group. + // aws_session_token is an optional field that can be provided if both of + // the other two fields are also provided. // // aws_access_key_id // aws_secret_access_key // aws_session_token Creds credentials.Value - AssumeRole assumeRoleConfig - AssumeRoleSource *sharedConfig + CredentialSource string + CredentialProcess string + WebIdentityTokenFile string + + RoleARN string + RoleSessionName string + ExternalID string + MFASerial string - // Region is the region the SDK should use for looking up AWS service endpoints - // and signing requests. + SourceProfileName string + SourceProfile *sharedConfig + + // Region is the region the SDK should use for looking up AWS service + // endpoints and signing requests. // // region Region string @@ -78,17 +83,18 @@ type sharedConfigFile struct { IniData ini.Sections } -// loadSharedConfig retrieves the configuration from the list of files -// using the profile provided. The order the files are listed will determine +// loadSharedConfig retrieves the configuration from the list of files using +// the profile provided. The order the files are listed will determine // precedence. Values in subsequent files will overwrite values defined in // earlier files. // // For example, given two files A and B. Both define credentials. If the order -// of the files are A then B, B's credential values will be used instead of A's. +// of the files are A then B, B's credential values will be used instead of +// A's. // // See sharedConfig.setFromFile for information how the config files // will be loaded. -func loadSharedConfig(profile string, filenames []string) (sharedConfig, error) { +func loadSharedConfig(profile string, filenames []string, exOpts bool) (sharedConfig, error) { if len(profile) == 0 { profile = DefaultSharedConfigProfile } @@ -99,16 +105,11 @@ func loadSharedConfig(profile string, filenames []string) (sharedConfig, error) } cfg := sharedConfig{} - if err = cfg.setFromIniFiles(profile, files); err != nil { + profiles := map[string]struct{}{} + if err = cfg.setFromIniFiles(profiles, profile, files, exOpts); err != nil { return sharedConfig{}, err } - if len(cfg.AssumeRole.SourceProfile) > 0 { - if err := cfg.setAssumeRoleSource(profile, files); err != nil { - return sharedConfig{}, err - } - } - return cfg, nil } @@ -132,60 +133,88 @@ func loadSharedConfigIniFiles(filenames []string) ([]sharedConfigFile, error) { return files, nil } -func (cfg *sharedConfig) setAssumeRoleSource(origProfile string, files []sharedConfigFile) error { - var assumeRoleSrc sharedConfig - - if len(cfg.AssumeRole.CredentialSource) > 0 { - // setAssumeRoleSource is only called when source_profile is found. - // If both source_profile and credential_source are set, then - // ErrSharedConfigSourceCollision will be returned - return ErrSharedConfigSourceCollision +func (cfg *sharedConfig) setFromIniFiles(profiles map[string]struct{}, profile string, files []sharedConfigFile, exOpts bool) error { + // Trim files from the list that don't exist. + var skippedFiles int + var profileNotFoundErr error + for _, f := range files { + if err := cfg.setFromIniFile(profile, f, exOpts); err != nil { + if _, ok := err.(SharedConfigProfileNotExistsError); ok { + // Ignore profiles not defined in individual files. + profileNotFoundErr = err + skippedFiles++ + continue + } + return err + } + } + if skippedFiles == len(files) { + // If all files were skipped because the profile is not found, return + // the original profile not found error. + return profileNotFoundErr } - // Multiple level assume role chains are not support - if cfg.AssumeRole.SourceProfile == origProfile { - assumeRoleSrc = *cfg - assumeRoleSrc.AssumeRole = assumeRoleConfig{} + if _, ok := profiles[profile]; ok { + // if this is the second instance of the profile the Assume Role + // options must be cleared because they are only valid for the + // first reference of a profile. The self linked instance of the + // profile only have credential provider options. + cfg.clearAssumeRoleOptions() } else { - err := assumeRoleSrc.setFromIniFiles(cfg.AssumeRole.SourceProfile, files) - if err != nil { + // First time a profile has been seen, It must either be a assume role + // or credentials. Assert if the credential type requires a role ARN, + // the ARN is also set. + if err := cfg.validateCredentialsRequireARN(profile); err != nil { return err } } + profiles[profile] = struct{}{} - if len(assumeRoleSrc.Creds.AccessKeyID) == 0 { - return SharedConfigAssumeRoleError{RoleARN: cfg.AssumeRole.RoleARN} + if err := cfg.validateCredentialType(); err != nil { + return err } - cfg.AssumeRoleSource = &assumeRoleSrc + // Link source profiles for assume roles + if len(cfg.SourceProfileName) != 0 { + // Linked profile via source_profile ignore credential provider + // options, the source profile must provide the credentials. + cfg.clearCredentialOptions() - return nil -} - -func (cfg *sharedConfig) setFromIniFiles(profile string, files []sharedConfigFile) error { - // Trim files from the list that don't exist. - for _, f := range files { - if err := cfg.setFromIniFile(profile, f); err != nil { + srcCfg := &sharedConfig{} + err := srcCfg.setFromIniFiles(profiles, cfg.SourceProfileName, files, exOpts) + if err != nil { + // SourceProfile that doesn't exist is an error in configuration. if _, ok := err.(SharedConfigProfileNotExistsError); ok { - // Ignore proviles missings - continue + err = SharedConfigAssumeRoleError{ + RoleARN: cfg.RoleARN, + SourceProfile: cfg.SourceProfileName, + } } return err } + + if !srcCfg.hasCredentials() { + return SharedConfigAssumeRoleError{ + RoleARN: cfg.RoleARN, + SourceProfile: cfg.SourceProfileName, + } + } + + cfg.SourceProfile = srcCfg } return nil } -// setFromFile loads the configuration from the file using -// the profile provided. A sharedConfig pointer type value is used so that -// multiple config file loadings can be chained. +// setFromFile loads the configuration from the file using the profile +// provided. A sharedConfig pointer type value is used so that multiple config +// file loadings can be chained. // // Only loads complete logically grouped values, and will not set fields in cfg -// for incomplete grouped values in the config. Such as credentials. For example -// if a config file only includes aws_access_key_id but no aws_secret_access_key -// the aws_access_key_id will be ignored. -func (cfg *sharedConfig) setFromIniFile(profile string, file sharedConfigFile) error { +// for incomplete grouped values in the config. Such as credentials. For +// example if a config file only includes aws_access_key_id but no +// aws_secret_access_key the aws_access_key_id will be ignored. +func (cfg *sharedConfig) setFromIniFile(profile string, file sharedConfigFile, exOpts bool) error { section, ok := file.IniData.GetSection(profile) if !ok { // Fallback to to alternate profile name: profile @@ -195,37 +224,30 @@ func (cfg *sharedConfig) setFromIniFile(profile string, file sharedConfigFile) e } } - // Shared Credentials - akid := section.String(accessKeyIDKey) - secret := section.String(secretAccessKey) - if len(akid) > 0 && len(secret) > 0 { - cfg.Creds = credentials.Value{ - AccessKeyID: akid, - SecretAccessKey: secret, - SessionToken: section.String(sessionTokenKey), - ProviderName: fmt.Sprintf("SharedConfigCredentials: %s", file.Filename), - } - } + if exOpts { + // Assume Role Parameters + updateString(&cfg.RoleARN, section, roleArnKey) + updateString(&cfg.ExternalID, section, externalIDKey) + updateString(&cfg.MFASerial, section, mfaSerialKey) + updateString(&cfg.RoleSessionName, section, roleSessionNameKey) + updateString(&cfg.SourceProfileName, section, sourceProfileKey) + updateString(&cfg.CredentialSource, section, credentialSourceKey) - // Assume Role - roleArn := section.String(roleArnKey) - srcProfile := section.String(sourceProfileKey) - credentialSource := section.String(credentialSourceKey) - hasSource := len(srcProfile) > 0 || len(credentialSource) > 0 - if len(roleArn) > 0 && hasSource { - cfg.AssumeRole = assumeRoleConfig{ - RoleARN: roleArn, - SourceProfile: srcProfile, - CredentialSource: credentialSource, - ExternalID: section.String(externalIDKey), - MFASerial: section.String(mfaSerialKey), - RoleSessionName: section.String(roleSessionNameKey), - } + updateString(&cfg.Region, section, regionKey) } - // Region - if v := section.String(regionKey); len(v) > 0 { - cfg.Region = v + updateString(&cfg.CredentialProcess, section, credentialProcessKey) + updateString(&cfg.WebIdentityTokenFile, section, webIdentityTokenFileKey) + + // Shared Credentials + creds := credentials.Value{ + AccessKeyID: section.String(accessKeyIDKey), + SecretAccessKey: section.String(secretAccessKey), + SessionToken: section.String(sessionTokenKey), + ProviderName: fmt.Sprintf("SharedConfigCredentials: %s", file.Filename), + } + if creds.HasKeys() { + cfg.Creds = creds } // Endpoint discovery @@ -237,6 +259,95 @@ func (cfg *sharedConfig) setFromIniFile(profile string, file sharedConfigFile) e return nil } +func (cfg *sharedConfig) validateCredentialsRequireARN(profile string) error { + var credSource string + + switch { + case len(cfg.SourceProfileName) != 0: + credSource = sourceProfileKey + case len(cfg.CredentialSource) != 0: + credSource = credentialSourceKey + case len(cfg.WebIdentityTokenFile) != 0: + credSource = webIdentityTokenFileKey + } + + if len(credSource) != 0 && len(cfg.RoleARN) == 0 { + return CredentialRequiresARNError{ + Type: credSource, + Profile: profile, + } + } + + return nil +} + +func (cfg *sharedConfig) validateCredentialType() error { + // Only one or no credential type can be defined. + if !oneOrNone( + len(cfg.SourceProfileName) != 0, + len(cfg.CredentialSource) != 0, + len(cfg.CredentialProcess) != 0, + len(cfg.WebIdentityTokenFile) != 0, + ) { + return ErrSharedConfigSourceCollision + } + + return nil +} + +func (cfg *sharedConfig) hasCredentials() bool { + switch { + case len(cfg.SourceProfileName) != 0: + case len(cfg.CredentialSource) != 0: + case len(cfg.CredentialProcess) != 0: + case len(cfg.WebIdentityTokenFile) != 0: + case cfg.Creds.HasKeys(): + default: + return false + } + + return true +} + +func (cfg *sharedConfig) clearCredentialOptions() { + cfg.CredentialSource = "" + cfg.CredentialProcess = "" + cfg.WebIdentityTokenFile = "" + cfg.Creds = credentials.Value{} +} + +func (cfg *sharedConfig) clearAssumeRoleOptions() { + cfg.RoleARN = "" + cfg.ExternalID = "" + cfg.MFASerial = "" + cfg.RoleSessionName = "" + cfg.SourceProfileName = "" +} + +func oneOrNone(bs ...bool) bool { + var count int + + for _, b := range bs { + if b { + count++ + if count > 1 { + return false + } + } + } + + return true +} + +// updateString will only update the dst with the value in the section key, key +// is present in the section. +func updateString(dst *string, section ini.Section, key string) { + if !section.Has(key) { + return + } + *dst = section.String(key) +} + // SharedConfigLoadError is an error for the shared config file failed to load. type SharedConfigLoadError struct { Filename string @@ -294,7 +405,8 @@ func (e SharedConfigProfileNotExistsError) Error() string { // profile contains assume role information, but that information is invalid // or not complete. type SharedConfigAssumeRoleError struct { - RoleARN string + RoleARN string + SourceProfile string } // Code is the short id of the error. @@ -304,8 +416,10 @@ func (e SharedConfigAssumeRoleError) Code() string { // Message is the description of the error func (e SharedConfigAssumeRoleError) Message() string { - return fmt.Sprintf("failed to load assume role for %s, source profile has no shared credentials", - e.RoleARN) + return fmt.Sprintf( + "failed to load assume role for %s, source profile %s has no shared credentials", + e.RoleARN, e.SourceProfile, + ) } // OrigErr is the underlying error that caused the failure. @@ -317,3 +431,36 @@ func (e SharedConfigAssumeRoleError) OrigErr() error { func (e SharedConfigAssumeRoleError) Error() string { return awserr.SprintError(e.Code(), e.Message(), "", nil) } + +// CredentialRequiresARNError provides the error for shared config credentials +// that are incorrectly configured in the shared config or credentials file. +type CredentialRequiresARNError struct { + // type of credentials that were configured. + Type string + + // Profile name the credentials were in. + Profile string +} + +// Code is the short id of the error. +func (e CredentialRequiresARNError) Code() string { + return "CredentialRequiresARNError" +} + +// Message is the description of the error +func (e CredentialRequiresARNError) Message() string { + return fmt.Sprintf( + "credential type %s requires role_arn, profile %s", + e.Type, e.Profile, + ) +} + +// OrigErr is the underlying error that caused the failure. +func (e CredentialRequiresARNError) OrigErr() error { + return nil +} + +// Error satisfies the error interface. +func (e CredentialRequiresARNError) Error() string { + return awserr.SprintError(e.Code(), e.Message(), "", nil) +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go index 155645d6404..8104793aa5b 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go @@ -98,25 +98,25 @@ var ignoredHeaders = rules{ var requiredSignedHeaders = rules{ whitelist{ mapRule{ - "Cache-Control": struct{}{}, - "Content-Disposition": struct{}{}, - "Content-Encoding": struct{}{}, - "Content-Language": struct{}{}, - "Content-Md5": struct{}{}, - "Content-Type": struct{}{}, - "Expires": struct{}{}, - "If-Match": struct{}{}, - "If-Modified-Since": struct{}{}, - "If-None-Match": struct{}{}, - "If-Unmodified-Since": struct{}{}, - "Range": struct{}{}, - "X-Amz-Acl": struct{}{}, - "X-Amz-Copy-Source": struct{}{}, - "X-Amz-Copy-Source-If-Match": struct{}{}, - "X-Amz-Copy-Source-If-Modified-Since": struct{}{}, - "X-Amz-Copy-Source-If-None-Match": struct{}{}, - "X-Amz-Copy-Source-If-Unmodified-Since": struct{}{}, - "X-Amz-Copy-Source-Range": struct{}{}, + "Cache-Control": struct{}{}, + "Content-Disposition": struct{}{}, + "Content-Encoding": struct{}{}, + "Content-Language": struct{}{}, + "Content-Md5": struct{}{}, + "Content-Type": struct{}{}, + "Expires": struct{}{}, + "If-Match": struct{}{}, + "If-Modified-Since": struct{}{}, + "If-None-Match": struct{}{}, + "If-Unmodified-Since": struct{}{}, + "Range": struct{}{}, + "X-Amz-Acl": struct{}{}, + "X-Amz-Copy-Source": struct{}{}, + "X-Amz-Copy-Source-If-Match": struct{}{}, + "X-Amz-Copy-Source-If-Modified-Since": struct{}{}, + "X-Amz-Copy-Source-If-None-Match": struct{}{}, + "X-Amz-Copy-Source-If-Unmodified-Since": struct{}{}, + "X-Amz-Copy-Source-Range": struct{}{}, "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm": struct{}{}, "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key": struct{}{}, "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-Md5": struct{}{}, @@ -134,7 +134,7 @@ var requiredSignedHeaders = rules{ "X-Amz-Server-Side-Encryption-Customer-Key": struct{}{}, "X-Amz-Server-Side-Encryption-Customer-Key-Md5": struct{}{}, "X-Amz-Storage-Class": struct{}{}, - "X-Amz-Tagging": struct{}{}, + "X-Amz-Tagging": struct{}{}, "X-Amz-Website-Redirect-Location": struct{}{}, "X-Amz-Content-Sha256": struct{}{}, }, @@ -182,7 +182,7 @@ type Signer struct { // http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html DisableURIPathEscaping bool - // Disales the automatical setting of the HTTP request's Body field with the + // Disables the automatical setting of the HTTP request's Body field with the // io.ReadSeeker passed in to the signer. This is useful if you're using a // custom wrapper around the body for the io.ReadSeeker and want to preserve // the Body value on the Request.Body. @@ -422,7 +422,7 @@ var SignRequestHandler = request.NamedHandler{ // If the credentials of the request's config are set to // credentials.AnonymousCredentials the request will not be signed. func SignSDKRequest(req *request.Request) { - signSDKRequestWithCurrTime(req, time.Now) + SignSDKRequestWithCurrentTime(req, time.Now) } // BuildNamedHandler will build a generic handler for signing. @@ -430,12 +430,15 @@ func BuildNamedHandler(name string, opts ...func(*Signer)) request.NamedHandler return request.NamedHandler{ Name: name, Fn: func(req *request.Request) { - signSDKRequestWithCurrTime(req, time.Now, opts...) + SignSDKRequestWithCurrentTime(req, time.Now, opts...) }, } } -func signSDKRequestWithCurrTime(req *request.Request, curTimeFn func() time.Time, opts ...func(*Signer)) { +// SignSDKRequestWithCurrentTime will sign the SDK's request using the time +// function passed in. Behaves the same as SignSDKRequest with the exception +// the request is signed with the value returned by the current time function. +func SignSDKRequestWithCurrentTime(req *request.Request, curTimeFn func() time.Time, opts ...func(*Signer)) { // If the request does not need to be signed ignore the signing of the // request if the AnonymousCredentials object is used. if req.Config.Credentials == credentials.AnonymousCredentials { @@ -471,13 +474,9 @@ func signSDKRequestWithCurrTime(req *request.Request, curTimeFn func() time.Time opt(v4) } - signingTime := req.Time - if !req.LastSignedAt.IsZero() { - signingTime = req.LastSignedAt - } - + curTime := curTimeFn() signedHeaders, err := v4.signWithBody(req.HTTPRequest, req.GetBody(), - name, region, req.ExpireTime, req.ExpireTime > 0, signingTime, + name, region, req.ExpireTime, req.ExpireTime > 0, curTime, ) if err != nil { req.Error = err @@ -486,7 +485,7 @@ func signSDKRequestWithCurrTime(req *request.Request, curTimeFn func() time.Time } req.SignedHeaderVals = signedHeaders - req.LastSignedAt = curTimeFn() + req.LastSignedAt = curTime } const logSignInfoMsg = `DEBUG: Request Signature: @@ -688,7 +687,11 @@ func (ctx *signingCtx) buildBodyDigest() error { if !aws.IsReaderSeekable(ctx.Body) { return fmt.Errorf("cannot use unseekable request body %T, for signed request with body", ctx.Body) } - hash = hex.EncodeToString(makeSha256Reader(ctx.Body)) + hashBytes, err := makeSha256Reader(ctx.Body) + if err != nil { + return err + } + hash = hex.EncodeToString(hashBytes) } if includeSHA256Header { @@ -735,10 +738,16 @@ func makeSha256(data []byte) []byte { return hash.Sum(nil) } -func makeSha256Reader(reader io.ReadSeeker) []byte { +func makeSha256Reader(reader io.ReadSeeker) (hashBytes []byte, err error) { hash := sha256.New() - start, _ := reader.Seek(0, sdkio.SeekCurrent) - defer reader.Seek(start, sdkio.SeekStart) + start, err := reader.Seek(0, sdkio.SeekCurrent) + if err != nil { + return nil, err + } + defer func() { + // ensure error is return if unable to seek back to start of payload. + _, err = reader.Seek(start, sdkio.SeekStart) + }() // Use CopyN to avoid allocating the 32KB buffer in io.Copy for bodies // smaller than 32KB. Fall back to io.Copy if we fail to determine the size. @@ -749,13 +758,13 @@ func makeSha256Reader(reader io.ReadSeeker) []byte { io.CopyN(hash, reader, size) } - return hash.Sum(nil) + return hash.Sum(nil), nil } const doubleSpace = " " // stripExcessSpaces will rewrite the passed in slice's string values to not -// contain muliple side-by-side spaces. +// contain multiple side-by-side spaces. func stripExcessSpaces(vals []string) { var j, k, l, m, spaces int for i, str := range vals { diff --git a/vendor/github.com/aws/aws-sdk-go/aws/types.go b/vendor/github.com/aws/aws-sdk-go/aws/types.go index 8b6f23425a6..455091540fd 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/types.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/types.go @@ -7,13 +7,18 @@ import ( "github.com/aws/aws-sdk-go/internal/sdkio" ) -// ReadSeekCloser wraps a io.Reader returning a ReaderSeekerCloser. Should -// only be used with an io.Reader that is also an io.Seeker. Doing so may -// cause request signature errors, or request body's not sent for GET, HEAD -// and DELETE HTTP methods. +// ReadSeekCloser wraps a io.Reader returning a ReaderSeekerCloser. Allows the +// SDK to accept an io.Reader that is not also an io.Seeker for unsigned +// streaming payload API operations. // -// Deprecated: Should only be used with io.ReadSeeker. If using for -// S3 PutObject to stream content use s3manager.Uploader instead. +// A ReadSeekCloser wrapping an nonseekable io.Reader used in an API +// operation's input will prevent that operation being retried in the case of +// network errors, and cause operation requests to fail if the operation +// requires payload signing. +// +// Note: If using With S3 PutObject to stream an object upload The SDK's S3 +// Upload manager (s3manager.Uploader) provides support for streaming with the +// ability to retry network errors. func ReadSeekCloser(r io.Reader) ReaderSeekerCloser { return ReaderSeekerCloser{r} } @@ -43,7 +48,8 @@ func IsReaderSeekable(r io.Reader) bool { // Read reads from the reader up to size of p. The number of bytes read, and // error if it occurred will be returned. // -// If the reader is not an io.Reader zero bytes read, and nil error will be returned. +// If the reader is not an io.Reader zero bytes read, and nil error will be +// returned. // // Performs the same functionality as io.Reader Read func (r ReaderSeekerCloser) Read(p []byte) (int, error) { diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go index e167f3c70d1..b0009b3bf88 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/version.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.15.90" +const SDKVersion = "1.22.4" diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go index 8be520ae6da..e56dcee2f8e 100644 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go +++ b/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go @@ -304,7 +304,9 @@ loop: stmt := newCommentStatement(tok) stack.Push(stmt) default: - return nil, NewParseError(fmt.Sprintf("invalid state with ASTKind %v and TokenType %v", k, tok)) + return nil, NewParseError( + fmt.Sprintf("invalid state with ASTKind %v and TokenType %v", + k, tok.Type())) } if len(tokens) > 0 { @@ -314,10 +316,10 @@ loop: // this occurs when a statement has not been completed if stack.top > 1 { - return nil, NewParseError(fmt.Sprintf("incomplete expression: %v", stack.container)) + return nil, NewParseError(fmt.Sprintf("incomplete ini expression")) } - // returns a sublist which exludes the start symbol + // returns a sublist which excludes the start symbol return stack.List(), nil } diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/statement.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/statement.go index ba0af01b53b..18f3fe89317 100644 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/statement.go +++ b/vendor/github.com/aws/aws-sdk-go/internal/ini/statement.go @@ -15,7 +15,7 @@ func newExprStatement(ast AST) AST { return newAST(ASTKindExprStatement, ast) } -// CommentStatement represents a comment in the ini defintion. +// CommentStatement represents a comment in the ini definition. // // grammar: // comment -> #comment' | ;comment' diff --git a/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/ecs_container.go b/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/ecs_container.go index b63e4c2639b..7da8a49ce52 100644 --- a/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/ecs_container.go +++ b/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/ecs_container.go @@ -7,6 +7,6 @@ const ( ) // ECSContainerCredentialsURI is the endpoint to retrieve container -// credentials. This can be overriden to test to ensure the credential process +// credentials. This can be overridden to test to ensure the credential process // is behaving correctly. var ECSContainerCredentialsURI = "http://169.254.170.2" diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build.go index 3104e6ce4c9..50c5ed76005 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build.go @@ -21,7 +21,8 @@ func Build(r *request.Request) { "Version": {r.ClientInfo.APIVersion}, } if err := queryutil.Parse(body, r.Params, true); err != nil { - r.Error = awserr.New("SerializationError", "failed encoding EC2 Query request", err) + r.Error = awserr.New(request.ErrCodeSerialization, + "failed encoding EC2 Query request", err) } if !r.IsPresigned() { diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal.go index 5793c047373..105d732f9d3 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal.go @@ -4,7 +4,6 @@ package ec2query import ( "encoding/xml" - "io" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/request" @@ -28,7 +27,8 @@ func Unmarshal(r *request.Request) { err := xmlutil.UnmarshalXML(r.Data, decoder, "") if err != nil { r.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", "failed decoding EC2 Query response", err), + awserr.New(request.ErrCodeSerialization, + "failed decoding EC2 Query response", err), r.HTTPResponse.StatusCode, r.RequestID, ) @@ -39,7 +39,11 @@ func Unmarshal(r *request.Request) { // UnmarshalMeta unmarshals response headers for the EC2 protocol. func UnmarshalMeta(r *request.Request) { - // TODO implement unmarshaling of request IDs + r.RequestID = r.HTTPResponse.Header.Get("X-Amzn-Requestid") + if r.RequestID == "" { + // Alternative version of request id in the header + r.RequestID = r.HTTPResponse.Header.Get("X-Amz-Request-Id") + } } type xmlErrorResponse struct { @@ -53,19 +57,21 @@ type xmlErrorResponse struct { func UnmarshalError(r *request.Request) { defer r.HTTPResponse.Body.Close() - resp := &xmlErrorResponse{} - err := xml.NewDecoder(r.HTTPResponse.Body).Decode(resp) - if err != nil && err != io.EOF { + var respErr xmlErrorResponse + err := xmlutil.UnmarshalXMLError(&respErr, r.HTTPResponse.Body) + if err != nil { r.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", "failed decoding EC2 Query error response", err), + awserr.New(request.ErrCodeSerialization, + "failed to unmarshal error message", err), r.HTTPResponse.StatusCode, r.RequestID, ) - } else { - r.Error = awserr.NewRequestFailure( - awserr.New(resp.Code, resp.Message, nil), - r.HTTPResponse.StatusCode, - resp.RequestID, - ) + return } + + r.Error = awserr.NewRequestFailure( + awserr.New(respErr.Code, respErr.Message, nil), + r.HTTPResponse.StatusCode, + respErr.RequestID, + ) } diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/unmarshal.go index b11f3ee45b5..ea0da79a5e0 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/unmarshal.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/unmarshal.go @@ -1,6 +1,7 @@ package jsonutil import ( + "bytes" "encoding/base64" "encoding/json" "fmt" @@ -9,9 +10,30 @@ import ( "time" "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/private/protocol" ) +// UnmarshalJSONError unmarshal's the reader's JSON document into the passed in +// type. The value to unmarshal the json document into must be a pointer to the +// type. +func UnmarshalJSONError(v interface{}, stream io.Reader) error { + var errBuf bytes.Buffer + body := io.TeeReader(stream, &errBuf) + + err := json.NewDecoder(body).Decode(v) + if err != nil { + msg := "failed decoding error message" + if err == io.EOF { + msg = "error message missing" + err = nil + } + return awserr.NewUnmarshalError(err, msg, errBuf.Bytes()) + } + + return nil +} + // UnmarshalJSON reads a stream and unmarshals the results in object v. func UnmarshalJSON(v interface{}, stream io.Reader) error { var out interface{} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go index 9a7ba27ad53..bfedc9fd422 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go @@ -6,8 +6,6 @@ package jsonrpc //go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/json.json unmarshal_test.go import ( - "encoding/json" - "io" "strings" "github.com/aws/aws-sdk-go/aws/awserr" @@ -37,7 +35,7 @@ func Build(req *request.Request) { if req.ParamsFilled() { buf, err = jsonutil.BuildJSON(req.Params) if err != nil { - req.Error = awserr.New("SerializationError", "failed encoding JSON RPC request", err) + req.Error = awserr.New(request.ErrCodeSerialization, "failed encoding JSON RPC request", err) return } } else { @@ -52,9 +50,12 @@ func Build(req *request.Request) { target := req.ClientInfo.TargetPrefix + "." + req.Operation.Name req.HTTPRequest.Header.Add("X-Amz-Target", target) } - if req.ClientInfo.JSONVersion != "" { + + // Only set the content type if one is not already specified and an + // JSONVersion is specified. + if ct, v := req.HTTPRequest.Header.Get("Content-Type"), req.ClientInfo.JSONVersion; len(ct) == 0 && len(v) != 0 { jsonVersion := req.ClientInfo.JSONVersion - req.HTTPRequest.Header.Add("Content-Type", "application/x-amz-json-"+jsonVersion) + req.HTTPRequest.Header.Set("Content-Type", "application/x-amz-json-"+jsonVersion) } } @@ -65,7 +66,7 @@ func Unmarshal(req *request.Request) { err := jsonutil.UnmarshalJSON(req.Data, req.HTTPResponse.Body) if err != nil { req.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", "failed decoding JSON RPC response", err), + awserr.New(request.ErrCodeSerialization, "failed decoding JSON RPC response", err), req.HTTPResponse.StatusCode, req.RequestID, ) @@ -84,17 +85,11 @@ func UnmarshalError(req *request.Request) { defer req.HTTPResponse.Body.Close() var jsonErr jsonErrorResponse - err := json.NewDecoder(req.HTTPResponse.Body).Decode(&jsonErr) - if err == io.EOF { - req.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", req.HTTPResponse.Status, nil), - req.HTTPResponse.StatusCode, - req.RequestID, - ) - return - } else if err != nil { + err := jsonutil.UnmarshalJSONError(&jsonErr, req.HTTPResponse.Body) + if err != nil { req.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", "failed decoding JSON RPC error response", err), + awserr.New(request.ErrCodeSerialization, + "failed to unmarshal error message", err), req.HTTPResponse.StatusCode, req.RequestID, ) diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go index 60e5b09d548..0cb99eb5796 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go @@ -21,7 +21,7 @@ func Build(r *request.Request) { "Version": {r.ClientInfo.APIVersion}, } if err := queryutil.Parse(body, r.Params, false); err != nil { - r.Error = awserr.New("SerializationError", "failed encoding Query request", err) + r.Error = awserr.New(request.ErrCodeSerialization, "failed encoding Query request", err) return } diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go index 3495c73070b..f69c1efc93a 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go @@ -24,7 +24,7 @@ func Unmarshal(r *request.Request) { err := xmlutil.UnmarshalXML(r.Data, decoder, r.Operation.Name+"Result") if err != nil { r.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", "failed decoding Query response", err), + awserr.New(request.ErrCodeSerialization, "failed decoding Query response", err), r.HTTPResponse.StatusCode, r.RequestID, ) diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_error.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_error.go index 46d354e826f..831b0110c54 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_error.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_error.go @@ -2,73 +2,68 @@ package query import ( "encoding/xml" - "io/ioutil" + "fmt" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil" ) +// UnmarshalErrorHandler is a name request handler to unmarshal request errors +var UnmarshalErrorHandler = request.NamedHandler{Name: "awssdk.query.UnmarshalError", Fn: UnmarshalError} + type xmlErrorResponse struct { - XMLName xml.Name `xml:"ErrorResponse"` - Code string `xml:"Error>Code"` - Message string `xml:"Error>Message"` - RequestID string `xml:"RequestId"` + Code string `xml:"Error>Code"` + Message string `xml:"Error>Message"` + RequestID string `xml:"RequestId"` } -type xmlServiceUnavailableResponse struct { - XMLName xml.Name `xml:"ServiceUnavailableException"` +type xmlResponseError struct { + xmlErrorResponse } -// UnmarshalErrorHandler is a name request handler to unmarshal request errors -var UnmarshalErrorHandler = request.NamedHandler{Name: "awssdk.query.UnmarshalError", Fn: UnmarshalError} +func (e *xmlResponseError) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { + const svcUnavailableTagName = "ServiceUnavailableException" + const errorResponseTagName = "ErrorResponse" + + switch start.Name.Local { + case svcUnavailableTagName: + e.Code = svcUnavailableTagName + e.Message = "service is unavailable" + return d.Skip() + + case errorResponseTagName: + return d.DecodeElement(&e.xmlErrorResponse, &start) + + default: + return fmt.Errorf("unknown error response tag, %v", start) + } +} // UnmarshalError unmarshals an error response for an AWS Query service. func UnmarshalError(r *request.Request) { defer r.HTTPResponse.Body.Close() - bodyBytes, err := ioutil.ReadAll(r.HTTPResponse.Body) + var respErr xmlResponseError + err := xmlutil.UnmarshalXMLError(&respErr, r.HTTPResponse.Body) if err != nil { r.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", "failed to read from query HTTP response body", err), + awserr.New(request.ErrCodeSerialization, + "failed to unmarshal error message", err), r.HTTPResponse.StatusCode, r.RequestID, ) return } - // First check for specific error - resp := xmlErrorResponse{} - decodeErr := xml.Unmarshal(bodyBytes, &resp) - if decodeErr == nil { - reqID := resp.RequestID - if reqID == "" { - reqID = r.RequestID - } - r.Error = awserr.NewRequestFailure( - awserr.New(resp.Code, resp.Message, nil), - r.HTTPResponse.StatusCode, - reqID, - ) - return - } - - // Check for unhandled error - servUnavailResp := xmlServiceUnavailableResponse{} - unavailErr := xml.Unmarshal(bodyBytes, &servUnavailResp) - if unavailErr == nil { - r.Error = awserr.NewRequestFailure( - awserr.New("ServiceUnavailableException", "service is unavailable", nil), - r.HTTPResponse.StatusCode, - r.RequestID, - ) - return + reqID := respErr.RequestID + if len(reqID) == 0 { + reqID = r.RequestID } - // Failed to retrieve any error message from the response body r.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", - "failed to decode query XML error response", decodeErr), + awserr.New(respErr.Code, respErr.Message, nil), r.HTTPResponse.StatusCode, - r.RequestID, + reqID, ) } diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go index b34f5258a4c..1301b149d35 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go @@ -25,6 +25,8 @@ var noEscape [256]bool var errValueNotSet = fmt.Errorf("value not set") +var byteSliceType = reflect.TypeOf([]byte{}) + func init() { for i := 0; i < len(noEscape); i++ { // AWS expects every character except these to be escaped @@ -94,6 +96,14 @@ func buildLocationElements(r *request.Request, v reflect.Value, buildGETQuery bo continue } + // Support the ability to customize values to be marshaled as a + // blob even though they were modeled as a string. Required for S3 + // API operations like SSECustomerKey is modeled as stirng but + // required to be base64 encoded in request. + if field.Tag.Get("marshal-as") == "blob" { + m = m.Convert(byteSliceType) + } + var err error switch field.Tag.Get("location") { case "headers": // header maps @@ -137,7 +147,7 @@ func buildBody(r *request.Request, v reflect.Value) { case string: r.SetStringBody(reader) default: - r.Error = awserr.New("SerializationError", + r.Error = awserr.New(request.ErrCodeSerialization, "failed to encode REST request", fmt.Errorf("unknown payload type %s", payload.Type())) } @@ -152,9 +162,12 @@ func buildHeader(header *http.Header, v reflect.Value, name string, tag reflect. if err == errValueNotSet { return nil } else if err != nil { - return awserr.New("SerializationError", "failed to encode REST request", err) + return awserr.New(request.ErrCodeSerialization, "failed to encode REST request", err) } + name = strings.TrimSpace(name) + str = strings.TrimSpace(str) + header.Add(name, str) return nil @@ -167,11 +180,13 @@ func buildHeaderMap(header *http.Header, v reflect.Value, tag reflect.StructTag) if err == errValueNotSet { continue } else if err != nil { - return awserr.New("SerializationError", "failed to encode REST request", err) + return awserr.New(request.ErrCodeSerialization, "failed to encode REST request", err) } + keyStr := strings.TrimSpace(key.String()) + str = strings.TrimSpace(str) - header.Add(prefix+key.String(), str) + header.Add(prefix+keyStr, str) } return nil } @@ -181,7 +196,7 @@ func buildURI(u *url.URL, v reflect.Value, name string, tag reflect.StructTag) e if err == errValueNotSet { return nil } else if err != nil { - return awserr.New("SerializationError", "failed to encode REST request", err) + return awserr.New(request.ErrCodeSerialization, "failed to encode REST request", err) } u.Path = strings.Replace(u.Path, "{"+name+"}", value, -1) @@ -214,7 +229,7 @@ func buildQueryString(query url.Values, v reflect.Value, name string, tag reflec if err == errValueNotSet { return nil } else if err != nil { - return awserr.New("SerializationError", "failed to encode REST request", err) + return awserr.New(request.ErrCodeSerialization, "failed to encode REST request", err) } query.Set(name, str) } diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go index 33fd53b126a..de021367da2 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go @@ -57,7 +57,7 @@ func unmarshalBody(r *request.Request, v reflect.Value) { defer r.HTTPResponse.Body.Close() b, err := ioutil.ReadAll(r.HTTPResponse.Body) if err != nil { - r.Error = awserr.New("SerializationError", "failed to decode REST response", err) + r.Error = awserr.New(request.ErrCodeSerialization, "failed to decode REST response", err) } else { payload.Set(reflect.ValueOf(b)) } @@ -65,7 +65,7 @@ func unmarshalBody(r *request.Request, v reflect.Value) { defer r.HTTPResponse.Body.Close() b, err := ioutil.ReadAll(r.HTTPResponse.Body) if err != nil { - r.Error = awserr.New("SerializationError", "failed to decode REST response", err) + r.Error = awserr.New(request.ErrCodeSerialization, "failed to decode REST response", err) } else { str := string(b) payload.Set(reflect.ValueOf(&str)) @@ -77,7 +77,7 @@ func unmarshalBody(r *request.Request, v reflect.Value) { case "io.ReadSeeker": b, err := ioutil.ReadAll(r.HTTPResponse.Body) if err != nil { - r.Error = awserr.New("SerializationError", + r.Error = awserr.New(request.ErrCodeSerialization, "failed to read response body", err) return } @@ -85,7 +85,7 @@ func unmarshalBody(r *request.Request, v reflect.Value) { default: io.Copy(ioutil.Discard, r.HTTPResponse.Body) defer r.HTTPResponse.Body.Close() - r.Error = awserr.New("SerializationError", + r.Error = awserr.New(request.ErrCodeSerialization, "failed to decode REST response", fmt.Errorf("unknown payload type %s", payload.Type())) } @@ -115,14 +115,14 @@ func unmarshalLocationElements(r *request.Request, v reflect.Value) { case "header": err := unmarshalHeader(m, r.HTTPResponse.Header.Get(name), field.Tag) if err != nil { - r.Error = awserr.New("SerializationError", "failed to decode REST response", err) + r.Error = awserr.New(request.ErrCodeSerialization, "failed to decode REST response", err) break } case "headers": prefix := field.Tag.Get("locationName") err := unmarshalHeaderMap(m, r.HTTPResponse.Header, prefix) if err != nil { - r.Error = awserr.New("SerializationError", "failed to decode REST response", err) + r.Error = awserr.New(request.ErrCodeSerialization, "failed to decode REST response", err) break } } diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go index b0f4e245661..cf569645dc2 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go @@ -37,7 +37,8 @@ func Build(r *request.Request) { err := xmlutil.BuildXML(r.Params, xml.NewEncoder(&buf)) if err != nil { r.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", "failed to encode rest XML request", err), + awserr.New(request.ErrCodeSerialization, + "failed to encode rest XML request", err), r.HTTPResponse.StatusCode, r.RequestID, ) @@ -55,7 +56,8 @@ func Unmarshal(r *request.Request) { err := xmlutil.UnmarshalXML(r.Data, decoder, "") if err != nil { r.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", "failed to decode REST XML response", err), + awserr.New(request.ErrCodeSerialization, + "failed to decode REST XML response", err), r.HTTPResponse.StatusCode, r.RequestID, ) diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go index ff1ef6830b9..7108d380093 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go @@ -1,6 +1,7 @@ package xmlutil import ( + "bytes" "encoding/base64" "encoding/xml" "fmt" @@ -10,9 +11,27 @@ import ( "strings" "time" + "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/private/protocol" ) +// UnmarshalXMLError unmarshals the XML error from the stream into the value +// type specified. The value must be a pointer. If the message fails to +// unmarshal, the message content will be included in the returned error as a +// awserr.UnmarshalError. +func UnmarshalXMLError(v interface{}, stream io.Reader) error { + var errBuf bytes.Buffer + body := io.TeeReader(stream, &errBuf) + + err := xml.NewDecoder(body).Decode(v) + if err != nil && err != io.EOF { + return awserr.NewUnmarshalError(err, + "failed to unmarshal error message", errBuf.Bytes()) + } + + return nil +} + // UnmarshalXML deserializes an xml.Decoder into the container v. V // needs to match the shape of the XML expected to be decoded. // If the shape doesn't match unmarshaling will fail. diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go index 5df0ddb5831..d27d68b66a1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go @@ -9,6 +9,8 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) const opDeleteScalingPolicy = "DeleteScalingPolicy" @@ -50,16 +52,22 @@ func (c *ApplicationAutoScaling) DeleteScalingPolicyRequest(input *DeleteScaling output = &DeleteScalingPolicyOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // DeleteScalingPolicy API operation for Application Auto Scaling. // -// Deletes the specified Application Auto Scaling scaling policy. +// Deletes the specified scaling policy for an Application Auto Scaling scalable +// target. +// +// Deleting a step scaling policy deletes the underlying alarm action, but does +// not delete the CloudWatch alarm associated with the scaling policy, even +// if it no longer has an associated action. // -// Deleting a policy deletes the underlying alarm action, but does not delete -// the CloudWatch alarm associated with the scaling policy, even if it no longer -// has an associated action. +// For more information, see Delete a Step Scaling Policy (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html#delete-step-scaling-policy) +// and Delete a Target Tracking Scaling Policy (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html#delete-target-tracking-policy) +// in the Application Auto Scaling User Guide. // // To create a scaling policy or update an existing one, see PutScalingPolicy. // @@ -150,12 +158,17 @@ func (c *ApplicationAutoScaling) DeleteScheduledActionRequest(input *DeleteSched output = &DeleteScheduledActionOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // DeleteScheduledAction API operation for Application Auto Scaling. // -// Deletes the specified Application Auto Scaling scheduled action. +// Deletes the specified scheduled action for an Application Auto Scaling scalable +// target. +// +// For more information, see Delete a Scheduled Action (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html#delete-scheduled-action) +// in the Application Auto Scaling User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -244,12 +257,13 @@ func (c *ApplicationAutoScaling) DeregisterScalableTargetRequest(input *Deregist output = &DeregisterScalableTargetOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // DeregisterScalableTarget API operation for Application Auto Scaling. // -// Deregisters a scalable target. +// Deregisters an Application Auto Scaling scalable target. // // Deregistering a scalable target deletes the scaling policies that are associated // with it. @@ -356,7 +370,7 @@ func (c *ApplicationAutoScaling) DescribeScalableTargetsRequest(input *DescribeS // // Gets information about the scalable targets in the specified namespace. // -// You can filter the results using the ResourceIds and ScalableDimension parameters. +// You can filter the results using ResourceIds and ScalableDimension. // // To create a scalable target or update an existing one, see RegisterScalableTarget. // If you are no longer using a scalable target, you can deregister it using @@ -417,7 +431,7 @@ func (c *ApplicationAutoScaling) DescribeScalableTargetsWithContext(ctx aws.Cont // // Example iterating over at most 3 pages of a DescribeScalableTargets operation. // pageNum := 0 // err := client.DescribeScalableTargetsPages(params, -// func(page *DescribeScalableTargetsOutput, lastPage bool) bool { +// func(page *applicationautoscaling.DescribeScalableTargetsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -509,7 +523,7 @@ func (c *ApplicationAutoScaling) DescribeScalingActivitiesRequest(input *Describ // Provides descriptive information about the scaling activities in the specified // namespace from the previous six weeks. // -// You can filter the results using the ResourceId and ScalableDimension parameters. +// You can filter the results using ResourceId and ScalableDimension. // // Scaling activities are triggered by CloudWatch alarms that are associated // with scaling policies. To view the scaling policies for a service namespace, @@ -571,7 +585,7 @@ func (c *ApplicationAutoScaling) DescribeScalingActivitiesWithContext(ctx aws.Co // // Example iterating over at most 3 pages of a DescribeScalingActivities operation. // pageNum := 0 // err := client.DescribeScalingActivitiesPages(params, -// func(page *DescribeScalingActivitiesOutput, lastPage bool) bool { +// func(page *applicationautoscaling.DescribeScalingActivitiesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -660,10 +674,10 @@ func (c *ApplicationAutoScaling) DescribeScalingPoliciesRequest(input *DescribeS // DescribeScalingPolicies API operation for Application Auto Scaling. // -// Describes the scaling policies for the specified service namespace. +// Describes the Application Auto Scaling scaling policies for the specified +// service namespace. // -// You can filter the results using the ResourceId, ScalableDimension, and PolicyNames -// parameters. +// You can filter the results using ResourceId, ScalableDimension, and PolicyNames. // // To create a scaling policy or update an existing one, see PutScalingPolicy. // If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy. @@ -685,7 +699,7 @@ func (c *ApplicationAutoScaling) DescribeScalingPoliciesRequest(input *DescribeS // when Application Auto Scaling is unable to retrieve the alarms associated // with a scaling policy due to a client error, for example, if the role ARN // specified for a scalable target does not have permission to call the CloudWatch -// DescribeAlarms (http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) +// DescribeAlarms (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) // on your behalf. // // * ErrCodeInvalidNextTokenException "InvalidNextTokenException" @@ -731,7 +745,7 @@ func (c *ApplicationAutoScaling) DescribeScalingPoliciesWithContext(ctx aws.Cont // // Example iterating over at most 3 pages of a DescribeScalingPolicies operation. // pageNum := 0 // err := client.DescribeScalingPoliciesPages(params, -// func(page *DescribeScalingPoliciesOutput, lastPage bool) bool { +// func(page *applicationautoscaling.DescribeScalingPoliciesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -814,7 +828,8 @@ func (c *ApplicationAutoScaling) DescribeScheduledActionsRequest(input *Describe // DescribeScheduledActions API operation for Application Auto Scaling. // -// Describes the scheduled actions for the specified service namespace. +// Describes the Application Auto Scaling scheduled actions for the specified +// service namespace. // // You can filter the results using the ResourceId, ScalableDimension, and ScheduledActionNames // parameters. @@ -914,8 +929,8 @@ func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicy // // Each scalable target is identified by a service namespace, resource ID, and // scalable dimension. A scaling policy applies to the scalable target identified -// by those three attributes. You cannot create a scaling policy until you register -// the scalable target using RegisterScalableTarget. +// by those three attributes. You cannot create a scaling policy until you have +// registered the resource as a scalable target using RegisterScalableTarget. // // To update a policy, specify its policy name and the parameters that you want // to change. Any parameters that you don't specify are not changed by this @@ -924,6 +939,20 @@ func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicy // You can view the scaling policies for a service namespace using DescribeScalingPolicies. // If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy. // +// Multiple scaling policies can be in force at the same time for the same scalable +// target. You can have one or more target tracking scaling policies, one or +// more step scaling policies, or both. However, there is a chance that multiple +// policies could conflict, instructing the scalable target to scale out or +// in at the same time. Application Auto Scaling gives precedence to the policy +// that provides the largest capacity for both scale in and scale out. For example, +// if one policy increases capacity by 3, another policy increases capacity +// by 200 percent, and the current capacity is 10, Application Auto Scaling +// uses the policy with the highest calculated capacity (200% of 10 = 20) and +// scales out to 30. +// +// Learn more about how to work with scaling policies in the Application Auto +// Scaling User Guide (https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html). +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -938,7 +967,7 @@ func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicy // // * ErrCodeLimitExceededException "LimitExceededException" // A per-account resource limit is exceeded. For more information, see Application -// Auto Scaling Limits (http://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). +// Auto Scaling Limits (https://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). // // * ErrCodeObjectNotFoundException "ObjectNotFoundException" // The specified object could not be found. For any operation that depends on @@ -956,7 +985,7 @@ func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicy // when Application Auto Scaling is unable to retrieve the alarms associated // with a scaling policy due to a client error, for example, if the role ARN // specified for a scalable target does not have permission to call the CloudWatch -// DescribeAlarms (http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) +// DescribeAlarms (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) // on your behalf. // // * ErrCodeInternalServiceException "InternalServiceException" @@ -1023,6 +1052,7 @@ func (c *ApplicationAutoScaling) PutScheduledActionRequest(input *PutScheduledAc output = &PutScheduledActionOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -1034,7 +1064,7 @@ func (c *ApplicationAutoScaling) PutScheduledActionRequest(input *PutScheduledAc // Each scalable target is identified by a service namespace, resource ID, and // scalable dimension. A scheduled action applies to the scalable target identified // by those three attributes. You cannot create a scheduled action until you -// register the scalable target using RegisterScalableTarget. +// have registered the resource as a scalable target using RegisterScalableTarget. // // To update an action, specify its name and the parameters that you want to // change. If you don't specify start and end times, the old values are deleted. @@ -1044,6 +1074,9 @@ func (c *ApplicationAutoScaling) PutScheduledActionRequest(input *PutScheduledAc // You can view the scheduled actions using DescribeScheduledActions. If you // are no longer using a scheduled action, you can delete it using DeleteScheduledAction. // +// Learn more about how to work with scheduled actions in the Application Auto +// Scaling User Guide (https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html). +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1058,7 +1091,7 @@ func (c *ApplicationAutoScaling) PutScheduledActionRequest(input *PutScheduledAc // // * ErrCodeLimitExceededException "LimitExceededException" // A per-account resource limit is exceeded. For more information, see Application -// Auto Scaling Limits (http://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). +// Auto Scaling Limits (https://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). // // * ErrCodeObjectNotFoundException "ObjectNotFoundException" // The specified object could not be found. For any operation that depends on @@ -1135,20 +1168,32 @@ func (c *ApplicationAutoScaling) RegisterScalableTargetRequest(input *RegisterSc output = &RegisterScalableTargetOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // RegisterScalableTarget API operation for Application Auto Scaling. // // Registers or updates a scalable target. A scalable target is a resource that -// Application Auto Scaling can scale out or scale in. After you have registered -// a scalable target, you can use this operation to update the minimum and maximum -// values for its scalable dimension. +// Application Auto Scaling can scale out and scale in. Scalable targets are +// uniquely identified by the combination of resource ID, scalable dimension, +// and namespace. +// +// When you register a new scalable target, you must specify values for minimum +// and maximum capacity. Application Auto Scaling will not scale capacity to +// values that are outside of this range. +// +// To update a scalable target, specify the parameter that you want to change +// as well as the following parameters that identify the scalable target: resource +// ID, scalable dimension, and namespace. Any parameters that you don't specify +// are not changed by this update request. // -// After you register a scalable target, you can create and apply scaling policies -// using PutScalingPolicy. You can view the scaling policies for a service namespace -// using DescribeScalableTargets. If you no longer need a scalable target, you -// can deregister it using DeregisterScalableTarget. +// After you register a scalable target, you do not need to register it again +// to use other Application Auto Scaling operations. To see which resources +// have been registered, use DescribeScalableTargets. You can also view the +// scaling policies for a service namespace by using DescribeScalableTargets. +// +// If you no longer need a scalable target, you can deregister it by using DeregisterScalableTarget. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1164,7 +1209,7 @@ func (c *ApplicationAutoScaling) RegisterScalableTargetRequest(input *RegisterSc // // * ErrCodeLimitExceededException "LimitExceededException" // A per-account resource limit is exceeded. For more information, see Application -// Auto Scaling Limits (http://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). +// Auto Scaling Limits (https://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). // // * ErrCodeConcurrentUpdateException "ConcurrentUpdateException" // Concurrent updates caused an exception, for example, if you request an update @@ -1232,11 +1277,30 @@ func (s *Alarm) SetAlarmName(v string) *Alarm { return s } -// Configures a customized metric for a target tracking policy. +// Represents a CloudWatch metric of your choosing for a target tracking scaling +// policy to use with Application Auto Scaling. +// +// To create your customized metric specification: +// +// * Add values for each required parameter from CloudWatch. You can use +// an existing metric, or a new metric that you create. To use your own metric, +// you must first publish the metric to CloudWatch. For more information, +// see Publish Custom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) +// in the Amazon CloudWatch User Guide. +// +// * Choose a metric that changes proportionally with capacity. The value +// of the metric should increase or decrease in inverse proportion to the +// number of capacity units. That is, the value of the metric should decrease +// when capacity increases. +// +// For more information about CloudWatch, see Amazon CloudWatch Concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html). type CustomizedMetricSpecification struct { _ struct{} `type:"structure"` // The dimensions of the metric. + // + // Conditional: If you published your metric with dimensions, you must specify + // the same dimensions in your scaling policy. Dimensions []*MetricDimension `type:"list"` // The name of the metric. @@ -1341,8 +1405,8 @@ type DeleteScalingPolicyInput struct { // * ECS service - The resource type is service and the unique identifier // is the cluster name and service name. Example: service/default/sample-webapp. // - // * Spot fleet request - The resource type is spot-fleet-request and the - // unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // * Spot Fleet request - The resource type is spot-fleet-request and the + // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. // // * EMR cluster - The resource type is instancegroup and the unique identifier // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. @@ -1365,7 +1429,7 @@ type DeleteScalingPolicyInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1376,7 +1440,7 @@ type DeleteScalingPolicyInput struct { // * ecs:service:DesiredCount - The desired task count of an ECS service. // // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // fleet request. + // Fleet request. // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. @@ -1397,7 +1461,8 @@ type DeleteScalingPolicyInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -1502,8 +1567,8 @@ type DeleteScheduledActionInput struct { // * ECS service - The resource type is service and the unique identifier // is the cluster name and service name. Example: service/default/sample-webapp. // - // * Spot fleet request - The resource type is spot-fleet-request and the - // unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // * Spot Fleet request - The resource type is spot-fleet-request and the + // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. // // * EMR cluster - The resource type is instancegroup and the unique identifier // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. @@ -1526,7 +1591,7 @@ type DeleteScheduledActionInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1537,7 +1602,7 @@ type DeleteScheduledActionInput struct { // * ecs:service:DesiredCount - The desired task count of an ECS service. // // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // fleet request. + // Fleet request. // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. @@ -1558,14 +1623,17 @@ type DeleteScheduledActionInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. // // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. - ScalableDimension *string `type:"string" enum:"ScalableDimension"` + // + // ScalableDimension is a required field + ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` // The name of the scheduled action. // @@ -1600,6 +1668,9 @@ func (s *DeleteScheduledActionInput) Validate() error { if s.ResourceId != nil && len(*s.ResourceId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) } + if s.ScalableDimension == nil { + invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) + } if s.ScheduledActionName == nil { invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) } @@ -1663,8 +1734,8 @@ type DeregisterScalableTargetInput struct { // * ECS service - The resource type is service and the unique identifier // is the cluster name and service name. Example: service/default/sample-webapp. // - // * Spot fleet request - The resource type is spot-fleet-request and the - // unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // * Spot Fleet request - The resource type is spot-fleet-request and the + // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. // // * EMR cluster - The resource type is instancegroup and the unique identifier // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. @@ -1687,7 +1758,7 @@ type DeregisterScalableTargetInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1698,7 +1769,7 @@ type DeregisterScalableTargetInput struct { // * ecs:service:DesiredCount - The desired task count of an ECS service. // // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // fleet request. + // Fleet request. // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. @@ -1719,7 +1790,8 @@ type DeregisterScalableTargetInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -1825,8 +1897,8 @@ type DescribeScalableTargetsInput struct { // * ECS service - The resource type is service and the unique identifier // is the cluster name and service name. Example: service/default/sample-webapp. // - // * Spot fleet request - The resource type is spot-fleet-request and the - // unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // * Spot Fleet request - The resource type is spot-fleet-request and the + // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. // // * EMR cluster - The resource type is instancegroup and the unique identifier // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. @@ -1849,7 +1921,7 @@ type DescribeScalableTargetsInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). ResourceIds []*string `type:"list"` // The scalable dimension associated with the scalable target. This string consists @@ -1859,7 +1931,7 @@ type DescribeScalableTargetsInput struct { // * ecs:service:DesiredCount - The desired task count of an ECS service. // // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // fleet request. + // Fleet request. // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. @@ -1880,7 +1952,8 @@ type DescribeScalableTargetsInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -2006,8 +2079,8 @@ type DescribeScalingActivitiesInput struct { // * ECS service - The resource type is service and the unique identifier // is the cluster name and service name. Example: service/default/sample-webapp. // - // * Spot fleet request - The resource type is spot-fleet-request and the - // unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // * Spot Fleet request - The resource type is spot-fleet-request and the + // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. // // * EMR cluster - The resource type is instancegroup and the unique identifier // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. @@ -2030,7 +2103,7 @@ type DescribeScalingActivitiesInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2040,7 +2113,7 @@ type DescribeScalingActivitiesInput struct { // * ecs:service:DesiredCount - The desired task count of an ECS service. // // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // fleet request. + // Fleet request. // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. @@ -2061,7 +2134,8 @@ type DescribeScalingActivitiesInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -2193,8 +2267,8 @@ type DescribeScalingPoliciesInput struct { // * ECS service - The resource type is service and the unique identifier // is the cluster name and service name. Example: service/default/sample-webapp. // - // * Spot fleet request - The resource type is spot-fleet-request and the - // unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // * Spot Fleet request - The resource type is spot-fleet-request and the + // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. // // * EMR cluster - The resource type is instancegroup and the unique identifier // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. @@ -2217,7 +2291,7 @@ type DescribeScalingPoliciesInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2227,7 +2301,7 @@ type DescribeScalingPoliciesInput struct { // * ecs:service:DesiredCount - The desired task count of an ECS service. // // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // fleet request. + // Fleet request. // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. @@ -2248,7 +2322,8 @@ type DescribeScalingPoliciesInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -2383,8 +2458,8 @@ type DescribeScheduledActionsInput struct { // * ECS service - The resource type is service and the unique identifier // is the cluster name and service name. Example: service/default/sample-webapp. // - // * Spot fleet request - The resource type is spot-fleet-request and the - // unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // * Spot Fleet request - The resource type is spot-fleet-request and the + // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. // // * EMR cluster - The resource type is instancegroup and the unique identifier // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. @@ -2407,7 +2482,7 @@ type DescribeScheduledActionsInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2417,7 +2492,7 @@ type DescribeScheduledActionsInput struct { // * ecs:service:DesiredCount - The desired task count of an ECS service. // // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // fleet request. + // Fleet request. // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. @@ -2438,7 +2513,8 @@ type DescribeScheduledActionsInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -2554,7 +2630,7 @@ func (s *DescribeScheduledActionsOutput) SetScheduledActions(v []*ScheduledActio return s } -// Describes the dimension of a metric. +// Describes the dimension names and values associated with a metric. type MetricDimension struct { _ struct{} `type:"structure"` @@ -2607,19 +2683,20 @@ func (s *MetricDimension) SetValue(v string) *MetricDimension { return s } -// Configures a predefined metric for a target tracking policy. +// Represents a predefined metric for a target tracking scaling policy to use +// with Application Auto Scaling. type PredefinedMetricSpecification struct { _ struct{} `type:"structure"` // The metric type. The ALBRequestCountPerTarget metric type applies only to - // Spot fleet requests and ECS services. + // Spot Fleet requests and ECS services. // // PredefinedMetricType is a required field PredefinedMetricType *string `type:"string" required:"true" enum:"MetricType"` // Identifies the resource associated with the metric type. You can't specify // a resource label unless the metric type is ALBRequestCountPerTarget and there - // is a target group attached to the Spot fleet request or ECS service. + // is a target group attached to the Spot Fleet request or ECS service. // // The format is app///targetgroup//, // where: @@ -2678,11 +2755,19 @@ type PutScalingPolicyInput struct { // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` - // The policy type. This parameter is required if you are creating a policy. + // The policy type. This parameter is required if you are creating a scaling + // policy. + // + // The following policy types are supported: // - // For DynamoDB, only TargetTrackingScaling is supported. For Amazon ECS, Spot - // Fleet, and Amazon RDS, both StepScaling and TargetTrackingScaling are supported. - // For any other service, only StepScaling is supported. + // TargetTrackingScaling—Not supported for Amazon EMR or AppStream + // + // StepScaling—Not supported for Amazon DynamoDB + // + // For more information, see Step Scaling Policies for Application Auto Scaling + // (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) + // and Target Tracking Scaling Policies for Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) + // in the Application Auto Scaling User Guide. PolicyType *string `type:"string" enum:"PolicyType"` // The identifier of the resource associated with the scaling policy. This string @@ -2691,8 +2776,8 @@ type PutScalingPolicyInput struct { // * ECS service - The resource type is service and the unique identifier // is the cluster name and service name. Example: service/default/sample-webapp. // - // * Spot fleet request - The resource type is spot-fleet-request and the - // unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // * Spot Fleet request - The resource type is spot-fleet-request and the + // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. // // * EMR cluster - The resource type is instancegroup and the unique identifier // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. @@ -2715,7 +2800,7 @@ type PutScalingPolicyInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -2726,7 +2811,7 @@ type PutScalingPolicyInput struct { // * ecs:service:DesiredCount - The desired task count of an ECS service. // // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // fleet request. + // Fleet request. // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. @@ -2747,7 +2832,8 @@ type PutScalingPolicyInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -2772,7 +2858,8 @@ type PutScalingPolicyInput struct { // is StepScaling. StepScalingPolicyConfiguration *StepScalingPolicyConfiguration `type:"structure"` - // A target tracking policy. + // A target tracking scaling policy. Includes support for predefined or customized + // metrics. // // This parameter is required if you are creating a policy and the policy type // is TargetTrackingScaling. @@ -2872,7 +2959,7 @@ func (s *PutScalingPolicyInput) SetTargetTrackingScalingPolicyConfiguration(v *T type PutScalingPolicyOutput struct { _ struct{} `type:"structure"` - // The CloudWatch alarms created for the target tracking policy. + // The CloudWatch alarms created for the target tracking scaling policy. Alarms []*Alarm `type:"list"` // The Amazon Resource Name (ARN) of the resulting scaling policy. @@ -2915,8 +3002,8 @@ type PutScheduledActionInput struct { // * ECS service - The resource type is service and the unique identifier // is the cluster name and service name. Example: service/default/sample-webapp. // - // * Spot fleet request - The resource type is spot-fleet-request and the - // unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // * Spot Fleet request - The resource type is spot-fleet-request and the + // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. // // * EMR cluster - The resource type is instancegroup and the unique identifier // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. @@ -2939,19 +3026,18 @@ type PutScheduledActionInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` - // The scalable dimension. This parameter is required if you are creating a - // scheduled action. This string consists of the service namespace, resource + // The scalable dimension. This string consists of the service namespace, resource // type, and scaling property. // // * ecs:service:DesiredCount - The desired task count of an ECS service. // // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // fleet request. + // Fleet request. // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. @@ -2972,14 +3058,17 @@ type PutScheduledActionInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. // // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. - ScalableDimension *string `type:"string" enum:"ScalableDimension"` + // + // ScalableDimension is a required field + ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` // The new minimum and maximum capacity. You can set both values or just one. // During the scheduled time, if the current capacity is below the minimum capacity, @@ -2990,18 +3079,18 @@ type PutScheduledActionInput struct { // The schedule for this action. The following formats are supported: // - // * At expressions - at(yyyy-mm-ddThh:mm:ss) + // * At expressions - "at(yyyy-mm-ddThh:mm:ss)" // - // * Rate expressions - rate(valueunit) + // * Rate expressions - "rate(value unit)" // - // * Cron expressions - cron(fields) + // * Cron expressions - "cron(fields)" // // At expressions are useful for one-time schedules. Specify the time, in UTC. // // For rate expressions, value is a positive integer and unit is minute | minutes // | hour | hours | day | days. // - // For more information about cron expressions, see Cron Expressions (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // For more information about cron expressions, see Cron Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) // in the Amazon CloudWatch Events User Guide. Schedule *string `min:"1" type:"string"` @@ -3041,6 +3130,9 @@ func (s *PutScheduledActionInput) Validate() error { if s.ResourceId != nil && len(*s.ResourceId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) } + if s.ScalableDimension == nil { + invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) + } if s.Schedule != nil && len(*s.Schedule) < 1 { invalidParams.Add(request.NewErrParamMinLen("Schedule", 1)) } @@ -3125,22 +3217,22 @@ func (s PutScheduledActionOutput) GoString() string { type RegisterScalableTargetInput struct { _ struct{} `type:"structure"` - // The maximum value to scale to in response to a scale out event. This parameter - // is required if you are registering a scalable target. + // The maximum value to scale to in response to a scale-out event. MaxCapacity + // is required to register a scalable target. MaxCapacity *int64 `type:"integer"` - // The minimum value to scale to in response to a scale in event. This parameter - // is required if you are registering a scalable target. + // The minimum value to scale to in response to a scale-in event. MinCapacity + // is required to register a scalable target. MinCapacity *int64 `type:"integer"` - // The identifier of the resource associated with the scalable target. This - // string consists of the resource type and unique identifier. + // The identifier of the resource that is associated with the scalable target. + // This string consists of the resource type and unique identifier. // // * ECS service - The resource type is service and the unique identifier // is the cluster name and service name. Example: service/default/sample-webapp. // - // * Spot fleet request - The resource type is spot-fleet-request and the - // unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // * Spot Fleet request - The resource type is spot-fleet-request and the + // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. // // * EMR cluster - The resource type is instancegroup and the unique identifier // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. @@ -3163,17 +3255,17 @@ type RegisterScalableTargetInput struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` // Application Auto Scaling creates a service-linked role that grants it permissions // to modify the scalable target on your behalf. For more information, see Service-Linked - // Roles for Application Auto Scaling (http://docs.aws.amazon.com/autoscaling/application/userguide/application-autoscaling-service-linked-roles.html). + // Roles for Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html). // // For resources that are not supported using a service-linked role, this parameter - // is required and must specify the ARN of an IAM role that allows Application + // is required, and it must specify the ARN of an IAM role that allows Application // Auto Scaling to modify the scalable target on your behalf. RoleARN *string `min:"1" type:"string"` @@ -3183,7 +3275,7 @@ type RegisterScalableTargetInput struct { // * ecs:service:DesiredCount - The desired task count of an ECS service. // // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // fleet request. + // Fleet request. // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. @@ -3204,7 +3296,8 @@ type RegisterScalableTargetInput struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -3318,12 +3411,12 @@ type ScalableTarget struct { // CreationTime is a required field CreationTime *time.Time `type:"timestamp" required:"true"` - // The maximum value to scale to in response to a scale out event. + // The maximum value to scale to in response to a scale-out event. // // MaxCapacity is a required field MaxCapacity *int64 `type:"integer" required:"true"` - // The minimum value to scale to in response to a scale in event. + // The minimum value to scale to in response to a scale-in event. // // MinCapacity is a required field MinCapacity *int64 `type:"integer" required:"true"` @@ -3334,8 +3427,8 @@ type ScalableTarget struct { // * ECS service - The resource type is service and the unique identifier // is the cluster name and service name. Example: service/default/sample-webapp. // - // * Spot fleet request - The resource type is spot-fleet-request and the - // unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // * Spot Fleet request - The resource type is spot-fleet-request and the + // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. // // * EMR cluster - The resource type is instancegroup and the unique identifier // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. @@ -3358,7 +3451,7 @@ type ScalableTarget struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3375,7 +3468,7 @@ type ScalableTarget struct { // * ecs:service:DesiredCount - The desired task count of an ECS service. // // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // fleet request. + // Fleet request. // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. @@ -3396,7 +3489,8 @@ type ScalableTarget struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -3532,8 +3626,8 @@ type ScalingActivity struct { // * ECS service - The resource type is service and the unique identifier // is the cluster name and service name. Example: service/default/sample-webapp. // - // * Spot fleet request - The resource type is spot-fleet-request and the - // unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // * Spot Fleet request - The resource type is spot-fleet-request and the + // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. // // * EMR cluster - The resource type is instancegroup and the unique identifier // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. @@ -3556,7 +3650,7 @@ type ScalingActivity struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3567,7 +3661,7 @@ type ScalingActivity struct { // * ecs:service:DesiredCount - The desired task count of an ECS service. // // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // fleet request. + // Fleet request. // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. @@ -3588,7 +3682,8 @@ type ScalingActivity struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -3697,7 +3792,7 @@ func (s *ScalingActivity) SetStatusMessage(v string) *ScalingActivity { return s } -// Represents a scaling policy. +// Represents a scaling policy to use with Application Auto Scaling. type ScalingPolicy struct { _ struct{} `type:"structure"` @@ -3730,8 +3825,8 @@ type ScalingPolicy struct { // * ECS service - The resource type is service and the unique identifier // is the cluster name and service name. Example: service/default/sample-webapp. // - // * Spot fleet request - The resource type is spot-fleet-request and the - // unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // * Spot Fleet request - The resource type is spot-fleet-request and the + // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. // // * EMR cluster - The resource type is instancegroup and the unique identifier // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. @@ -3754,7 +3849,7 @@ type ScalingPolicy struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3765,7 +3860,7 @@ type ScalingPolicy struct { // * ecs:service:DesiredCount - The desired task count of an ECS service. // // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // fleet request. + // Fleet request. // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. @@ -3786,7 +3881,8 @@ type ScalingPolicy struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -3808,7 +3904,7 @@ type ScalingPolicy struct { // A step scaling policy. StepScalingPolicyConfiguration *StepScalingPolicyConfiguration `type:"structure"` - // A target tracking policy. + // A target tracking scaling policy. TargetTrackingScalingPolicyConfiguration *TargetTrackingScalingPolicyConfiguration `type:"structure"` } @@ -3900,8 +3996,8 @@ type ScheduledAction struct { // * ECS service - The resource type is service and the unique identifier // is the cluster name and service name. Example: service/default/sample-webapp. // - // * Spot fleet request - The resource type is spot-fleet-request and the - // unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // * Spot Fleet request - The resource type is spot-fleet-request and the + // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. // // * EMR cluster - The resource type is instancegroup and the unique identifier // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. @@ -3924,7 +4020,7 @@ type ScheduledAction struct { // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service - // provider. + // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3935,7 +4031,7 @@ type ScheduledAction struct { // * ecs:service:DesiredCount - The desired task count of an ECS service. // // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // fleet request. + // Fleet request. // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. @@ -3956,7 +4052,8 @@ type ScheduledAction struct { // a DynamoDB global secondary index. // // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora - // DB cluster. Available for Aurora MySQL-compatible edition. + // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible + // edition. // // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances // for an Amazon SageMaker model endpoint variant. @@ -3974,18 +4071,18 @@ type ScheduledAction struct { // The schedule for this action. The following formats are supported: // - // * At expressions - at(yyyy-mm-ddThh:mm:ss) + // * At expressions - "at(yyyy-mm-ddThh:mm:ss)" // - // * Rate expressions - rate(valueunit) + // * Rate expressions - "rate(value unit)" // - // * Cron expressions - cron(fields) + // * Cron expressions - "cron(fields)" // // At expressions are useful for one-time schedules. Specify the time, in UTC. // // For rate expressions, value is a positive integer and unit is minute | minutes // | hour | hours | day | days. // - // For more information about cron expressions, see Cron Expressions (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // For more information about cron expressions, see Cron Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) // in the Amazon CloudWatch Events User Guide. // // Schedule is a required field @@ -4180,44 +4277,52 @@ func (s *StepAdjustment) SetScalingAdjustment(v int64) *StepAdjustment { return s } -// Represents a step scaling policy configuration. +// Represents a step scaling policy configuration to use with Application Auto +// Scaling. type StepScalingPolicyConfiguration struct { _ struct{} `type:"structure"` - // The adjustment type, which specifies how the ScalingAdjustment parameter - // in a StepAdjustment is interpreted. + // Specifies whether the ScalingAdjustment value in a StepAdjustment is an absolute + // number or a percentage of the current capacity. AdjustmentType *string `type:"string" enum:"AdjustmentType"` // The amount of time, in seconds, after a scaling activity completes where // previous trigger-related scaling activities can influence future scaling // events. // - // For scale out policies, while the cooldown period is in effect, the capacity - // that has been added by the previous scale out event that initiated the cooldown + // For scale-out policies, while the cooldown period is in effect, the capacity + // that has been added by the previous scale-out event that initiated the cooldown // is calculated as part of the desired capacity for the next scale out. The // intention is to continuously (but not excessively) scale out. For example, // an alarm triggers a step scaling policy to scale out an Amazon ECS service // by 2 tasks, the scaling activity completes successfully, and a cooldown period - // of 5 minutes starts. During the Cooldown period, if the alarm triggers the + // of 5 minutes starts. During the cooldown period, if the alarm triggers the // same policy again but at a more aggressive step adjustment to scale out the - // service by 3 tasks, the 2 tasks that were added in the previous scale out + // service by 3 tasks, the 2 tasks that were added in the previous scale-out // event are considered part of that capacity and only 1 additional task is // added to the desired count. // - // For scale in policies, the cooldown period is used to block subsequent scale - // in requests until it has expired. The intention is to scale in conservatively + // For scale-in policies, the cooldown period is used to block subsequent scale-in + // requests until it has expired. The intention is to scale in conservatively // to protect your application's availability. However, if another alarm triggers - // a scale out policy during the cooldown period after a scale-in, Application + // a scale-out policy during the cooldown period after a scale-in, Application // Auto Scaling scales out your scalable target immediately. Cooldown *int64 `type:"integer"` // The aggregation type for the CloudWatch metrics. Valid values are Minimum, - // Maximum, and Average. + // Maximum, and Average. If the aggregation type is null, the value is treated + // as Average. MetricAggregationType *string `type:"string" enum:"MetricAggregationType"` // The minimum number to adjust your scalable dimension as a result of a scaling // activity. If the adjustment type is PercentChangeInCapacity, the scaling // policy changes the scalable dimension of the scalable target by this amount. + // + // For example, suppose that you create a step scaling policy to scale out an + // Amazon ECS service by 25 percent and you specify a MinAdjustmentMagnitude + // of 2. If the service has 4 tasks and the scaling policy is performed, 25 + // percent of 4 is 1. However, because you specified a MinAdjustmentMagnitude + // of 2, Application Auto Scaling scales out the service by 2 tasks. MinAdjustmentMagnitude *int64 `type:"integer"` // A set of adjustments that enable you to scale based on the size of the alarm @@ -4285,38 +4390,41 @@ func (s *StepScalingPolicyConfiguration) SetStepAdjustments(v []*StepAdjustment) return s } -// Represents a target tracking scaling policy configuration. +// Represents a target tracking scaling policy configuration to use with Application +// Auto Scaling. type TargetTrackingScalingPolicyConfiguration struct { _ struct{} `type:"structure"` - // A customized metric. + // A customized metric. You can specify either a predefined metric or a customized + // metric. CustomizedMetricSpecification *CustomizedMetricSpecification `type:"structure"` - // Indicates whether scale in by the target tracking policy is disabled. If - // the value is true, scale in is disabled and the target tracking policy won't - // remove capacity from the scalable resource. Otherwise, scale in is enabled - // and the target tracking policy can remove capacity from the scalable resource. - // The default value is false. + // Indicates whether scale in by the target tracking scaling policy is disabled. + // If the value is true, scale in is disabled and the target tracking scaling + // policy won't remove capacity from the scalable resource. Otherwise, scale + // in is enabled and the target tracking scaling policy can remove capacity + // from the scalable resource. The default value is false. DisableScaleIn *bool `type:"boolean"` - // A predefined metric. + // A predefined metric. You can specify either a predefined metric or a customized + // metric. PredefinedMetricSpecification *PredefinedMetricSpecification `type:"structure"` - // The amount of time, in seconds, after a scale in activity completes before + // The amount of time, in seconds, after a scale-in activity completes before // another scale in activity can start. // - // The cooldown period is used to block subsequent scale in requests until it + // The cooldown period is used to block subsequent scale-in requests until it // has expired. The intention is to scale in conservatively to protect your - // application's availability. However, if another alarm triggers a scale out + // application's availability. However, if another alarm triggers a scale-out // policy during the cooldown period after a scale-in, Application Auto Scaling // scales out your scalable target immediately. ScaleInCooldown *int64 `type:"integer"` - // The amount of time, in seconds, after a scale out activity completes before - // another scale out activity can start. + // The amount of time, in seconds, after a scale-out activity completes before + // another scale-out activity can start. // // While the cooldown period is in effect, the capacity that has been added - // by the previous scale out event that initiated the cooldown is calculated + // by the previous scale-out event that initiated the cooldown is calculated // as part of the desired capacity for the next scale out. The intention is // to continuously (but not excessively) scale out. ScaleOutCooldown *int64 `type:"integer"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go index 9d1c051a255..53002308c4d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go @@ -3,57 +3,42 @@ // Package applicationautoscaling provides the client and types for making API // requests to Application Auto Scaling. // -// With Application Auto Scaling, you can configure automatic scaling for your -// scalable resources. You can use Application Auto Scaling to accomplish the -// following tasks: +// With Application Auto Scaling, you can configure automatic scaling for the +// following resources: // -// * Define scaling policies to automatically scale your AWS or custom resources +// * Amazon ECS services // -// * Scale your resources in response to CloudWatch alarms +// * Amazon EC2 Spot Fleet requests // -// * Schedule one-time or recurring scaling actions +// * Amazon EMR clusters // -// * View the history of your scaling events +// * Amazon AppStream 2.0 fleets // -// Application Auto Scaling can scale the following resources: +// * Amazon DynamoDB tables and global secondary indexes throughput capacity // -// * Amazon ECS services. For more information, see Service Auto Scaling -// (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-auto-scaling.html) -// in the Amazon Elastic Container Service Developer Guide. +// * Amazon Aurora Replicas // -// * Amazon EC2 Spot fleets. For more information, see Automatic Scaling -// for Spot Fleet (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fleet-auto-scaling.html) -// in the Amazon EC2 User Guide. +// * Amazon SageMaker endpoint variants // -// * Amazon EMR clusters. For more information, see Using Automatic Scaling -// in Amazon EMR (http://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide/emr-automatic-scaling.html) -// in the Amazon EMR Management Guide. +// * Custom resources provided by your own applications or services // -// * AppStream 2.0 fleets. For more information, see Fleet Auto Scaling for -// Amazon AppStream 2.0 (http://docs.aws.amazon.com/appstream2/latest/developerguide/autoscaling.html) -// in the Amazon AppStream 2.0 Developer Guide. +// API Summary // -// * Provisioned read and write capacity for Amazon DynamoDB tables and global -// secondary indexes. For more information, see Managing Throughput Capacity -// Automatically with DynamoDB Auto Scaling (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) -// in the Amazon DynamoDB Developer Guide. +// The Application Auto Scaling service API includes two key sets of actions: // -// * Amazon Aurora Replicas. For more information, see Using Amazon Aurora -// Auto Scaling with Aurora Replicas (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Integrating.AutoScaling.html). +// * Register and manage scalable targets - Register AWS or custom resources +// as scalable targets (a resource that Application Auto Scaling can scale), +// set minimum and maximum capacity limits, and retrieve information on existing +// scalable targets. // -// * Amazon SageMaker endpoint variants. For more information, see Automatically -// Scaling Amazon SageMaker Models (http://docs.aws.amazon.com/sagemaker/latest/dg/endpoint-auto-scaling.html). +// * Configure and manage automatic scaling - Define scaling policies to +// dynamically scale your resources in response to CloudWatch alarms, schedule +// one-time or recurring scaling actions, and retrieve your recent scaling +// activity history. // -// * Custom resources provided by your own applications or services. More -// information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). -// -// -// To learn more about Application Auto Scaling, see the Application Auto Scaling -// User Guide (http://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html). -// -// To configure automatic scaling for multiple resources across multiple services, -// use AWS Auto Scaling to create a scaling plan for your application. For more -// information, see the AWS Auto Scaling User Guide (http://docs.aws.amazon.com/autoscaling/plans/userguide/what-is-aws-auto-scaling.html). +// To learn more about Application Auto Scaling, including information about +// granting IAM users required permissions for Application Auto Scaling actions, +// see the Application Auto Scaling User Guide (https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html). // // See https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/errors.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/errors.go index bf1476bd7e6..7d410101382 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/errors.go @@ -18,7 +18,7 @@ const ( // when Application Auto Scaling is unable to retrieve the alarms associated // with a scaling policy due to a client error, for example, if the role ARN // specified for a scalable target does not have permission to call the CloudWatch - // DescribeAlarms (http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) + // DescribeAlarms (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) // on your behalf. ErrCodeFailedResourceAccessException = "FailedResourceAccessException" @@ -38,7 +38,7 @@ const ( // "LimitExceededException". // // A per-account resource limit is exceeded. For more information, see Application - // Auto Scaling Limits (http://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). + // Auto Scaling Limits (https://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). ErrCodeLimitExceededException = "LimitExceededException" // ErrCodeObjectNotFoundException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go index db9c68f6a3f..8c889ff3455 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go @@ -90,23 +90,23 @@ func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.R // one or more tables. You identify requested items by primary key. // // A single operation can retrieve up to 16 MB of data, which can contain as -// many as 100 items. BatchGetItem will return a partial result if the response +// many as 100 items. BatchGetItem returns a partial result if the response // size limit is exceeded, the table's provisioned throughput is exceeded, or // an internal processing failure occurs. If a partial result is returned, the // operation returns a value for UnprocessedKeys. You can use this value to // retry the operation starting with the next item to get. // -// If you request more than 100 items BatchGetItem will return a ValidationException -// with the message "Too many items requested for the BatchGetItem call". +// If you request more than 100 items, BatchGetItem returns a ValidationException +// with the message "Too many items requested for the BatchGetItem call." // // For example, if you ask to retrieve 100 items, but each individual item is // 300 KB in size, the system returns 52 items (so as not to exceed the 16 MB // limit). It also returns an appropriate UnprocessedKeys value so you can get // the next page of results. If desired, your application can include its own -// logic to assemble the pages of results into one data set. +// logic to assemble the pages of results into one dataset. // // If none of the items can be processed due to insufficient provisioned throughput -// on all of the tables in the request, then BatchGetItem will return a ProvisionedThroughputExceededException. +// on all of the tables in the request, then BatchGetItem returns a ProvisionedThroughputExceededException. // If at least one of the items is successfully processed, then BatchGetItem // completes successfully, while returning the keys of the unread items in UnprocessedKeys. // @@ -117,7 +117,7 @@ func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.R // tables. If you delay the batch operation using exponential backoff, the individual // requests in the batch are much more likely to succeed. // -// For more information, see Batch Operations and Error Handling (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#BatchOperations) +// For more information, see Batch Operations and Error Handling (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#BatchOperations) // in the Amazon DynamoDB Developer Guide. // // By default, BatchGetItem performs eventually consistent reads on every table @@ -133,7 +133,7 @@ func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.R // // If a requested item does not exist, it is not returned in the result. Requests // for nonexistent items consume the minimum read capacity units according to -// the type of read. For more information, see Capacity Units Calculations (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#CapacityUnitCalculations) +// the type of read. For more information, see Working with Tables (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#CapacityUnitCalculations) // in the Amazon DynamoDB Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -149,7 +149,7 @@ func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.R // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests // and use exponential backoff. For more information, go to Error Retries and -// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" @@ -158,8 +158,8 @@ func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.R // // * ErrCodeRequestLimitExceeded "RequestLimitExceeded" // Throughput exceeds the current throughput limit for your account. Please -// contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support) -// to request a limit increase. +// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request +// a limit increase. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -197,7 +197,7 @@ func (c *DynamoDB) BatchGetItemWithContext(ctx aws.Context, input *BatchGetItemI // // Example iterating over at most 3 pages of a BatchGetItem operation. // pageNum := 0 // err := client.BatchGetItemPages(params, -// func(page *BatchGetItemOutput, lastPage bool) bool { +// func(page *dynamodb.BatchGetItemOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -317,9 +317,8 @@ func (c *DynamoDB) BatchWriteItemRequest(input *BatchWriteItemInput) (req *reque // check for unprocessed items and submit a new BatchWriteItem request with // those unprocessed items until all items have been processed. // -// Note that if none of the items can be processed due to insufficient provisioned -// throughput on all of the tables in the request, then BatchWriteItem will -// return a ProvisionedThroughputExceededException. +// If none of the items can be processed due to insufficient provisioned throughput +// on all of the tables in the request, then BatchWriteItem returns a ProvisionedThroughputExceededException. // // If DynamoDB returns any unprocessed items, you should retry the batch operation // on those items. However, we strongly recommend that you use an exponential @@ -328,16 +327,15 @@ func (c *DynamoDB) BatchWriteItemRequest(input *BatchWriteItemInput) (req *reque // tables. If you delay the batch operation using exponential backoff, the individual // requests in the batch are much more likely to succeed. // -// For more information, see Batch Operations and Error Handling (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#BatchOperations) +// For more information, see Batch Operations and Error Handling (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#Programming.Errors.BatchOperations) // in the Amazon DynamoDB Developer Guide. // // With BatchWriteItem, you can efficiently write or delete large amounts of -// data, such as from Amazon Elastic MapReduce (EMR), or copy data from another -// database into DynamoDB. In order to improve performance with these large-scale -// operations, BatchWriteItem does not behave in the same way as individual -// PutItem and DeleteItem calls would. For example, you cannot specify conditions -// on individual put and delete requests, and BatchWriteItem does not return -// deleted items in the response. +// data, such as from Amazon EMR, or copy data from another database into DynamoDB. +// In order to improve performance with these large-scale operations, BatchWriteItem +// does not behave in the same way as individual PutItem and DeleteItem calls +// would. For example, you cannot specify conditions on individual put and delete +// requests, and BatchWriteItem does not return deleted items in the response. // // If you use a programming language that supports concurrency, you can use // threads to write items in parallel. Your application must include the necessary @@ -365,7 +363,7 @@ func (c *DynamoDB) BatchWriteItemRequest(input *BatchWriteItemInput) (req *reque // BatchWriteItem request. For example, you cannot put and delete the same // item in the same BatchWriteItem request. // -// * Your request contains at least two items with identical hash and range +// * Your request contains at least two items with identical hash and range // keys (which essentially is two put operations). // // * There are more than 25 requests in the batch. @@ -387,7 +385,7 @@ func (c *DynamoDB) BatchWriteItemRequest(input *BatchWriteItemInput) (req *reque // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests // and use exponential backoff. For more information, go to Error Retries and -// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" @@ -400,8 +398,8 @@ func (c *DynamoDB) BatchWriteItemRequest(input *BatchWriteItemInput) (req *reque // // * ErrCodeRequestLimitExceeded "RequestLimitExceeded" // Throughput exceeds the current throughput limit for your account. Please -// contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support) -// to request a limit increase. +// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request +// a limit increase. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -495,10 +493,10 @@ func (c *DynamoDB) CreateBackupRequest(input *CreateBackupInput) (req *request.R // // Creates a backup for an existing table. // -// Each time you create an On-Demand Backup, the entire table data is backed +// Each time you create an on-demand backup, the entire table data is backed // up. There is no limit to the number of on-demand backups that can be taken. // -// When you create an On-Demand Backup, a time marker of the request is cataloged, +// When you create an on-demand backup, a time marker of the request is cataloged, // and the backup is created asynchronously, by applying all changes until the // time of the request to the last full table snapshot. Backup requests are // processed instantaneously and become available for restore within minutes. @@ -510,9 +508,8 @@ func (c *DynamoDB) CreateBackupRequest(input *CreateBackupInput) (req *request.R // // If you submit a backup request on 2018-12-14 at 14:25:00, the backup is guaranteed // to contain all data committed to the table up to 14:24:00, and data committed -// after 14:26:00 will not be. The backup may or may not contain data modifications -// made between 14:24:00 and 14:26:00. On-Demand Backup does not support causal -// consistency. +// after 14:26:00 will not be. The backup might contain data modifications made +// between 14:24:00 and 14:26:00. On-demand backup does not support causal consistency. // // Along with data, the following are also included on the backups: // @@ -549,15 +546,16 @@ func (c *DynamoDB) CreateBackupRequest(input *CreateBackupInput) (req *request.R // * ErrCodeLimitExceededException "LimitExceededException" // There is no limit to the number of daily on-demand backups that can be taken. // -// Up to 10 simultaneous table operations are allowed per account. These operations +// Up to 50 simultaneous table operations are allowed per account. These operations // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, // and RestoreTableToPointInTime. // -// For tables with secondary indexes, only one of those tables can be in the -// CREATING state at any point in time. Do not attempt to create more than one -// such table simultaneously. +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. // -// The total limit of tables in the ACTIVE state is 250. +// There is a soft account limit of 256 tables. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -651,7 +649,7 @@ func (c *DynamoDB) CreateGlobalTableRequest(input *CreateGlobalTableInput) (req // // Creates a global table from an existing table. A global table creates a replication // relationship between two or more DynamoDB tables with the same table name -// in the provided regions. +// in the provided Regions. // // If you want to add a new replica table to a global table, each of the following // conditions must be true: @@ -668,9 +666,9 @@ func (c *DynamoDB) CreateGlobalTableRequest(input *CreateGlobalTableInput) (req // If global secondary indexes are specified, then the following conditions // must also be met: // -// * The global secondary indexes must have the same name. +// * The global secondary indexes must have the same name. // -// * The global secondary indexes must have the same hash key and sort key +// * The global secondary indexes must have the same hash key and sort key // (if present). // // Write capacity settings should be set consistently across your replica tables @@ -678,7 +676,7 @@ func (c *DynamoDB) CreateGlobalTableRequest(input *CreateGlobalTableInput) (req // to manage the write capacity settings for all of your global tables replicas // and indexes. // -// If you prefer to manage write capacity settings manually, you should provision +// If you prefer to manage write capacity settings manually, you should provision // equal replicated write capacity units to your replica tables. You should // also provision equal replicated write capacity units to matching secondary // indexes across your global table. @@ -694,15 +692,16 @@ func (c *DynamoDB) CreateGlobalTableRequest(input *CreateGlobalTableInput) (req // * ErrCodeLimitExceededException "LimitExceededException" // There is no limit to the number of daily on-demand backups that can be taken. // -// Up to 10 simultaneous table operations are allowed per account. These operations +// Up to 50 simultaneous table operations are allowed per account. These operations // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, // and RestoreTableToPointInTime. // -// For tables with secondary indexes, only one of those tables can be in the -// CREATING state at any point in time. Do not attempt to create more than one -// such table simultaneously. +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. // -// The total limit of tables in the ACTIVE state is 250. +// There is a soft account limit of 256 tables. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -802,8 +801,8 @@ func (c *DynamoDB) CreateTableRequest(input *CreateTableInput) (req *request.Req // CreateTable API operation for Amazon DynamoDB. // // The CreateTable operation adds a new table to your account. In an AWS account, -// table names must be unique within each region. That is, you can have two -// tables with same name if you create the tables in different regions. +// table names must be unique within each Region. That is, you can have two +// tables with same name if you create the tables in different Regions. // // CreateTable is an asynchronous operation. Upon receiving a CreateTable request, // DynamoDB immediately returns a response with a TableStatus of CREATING. After @@ -833,15 +832,16 @@ func (c *DynamoDB) CreateTableRequest(input *CreateTableInput) (req *request.Req // * ErrCodeLimitExceededException "LimitExceededException" // There is no limit to the number of daily on-demand backups that can be taken. // -// Up to 10 simultaneous table operations are allowed per account. These operations +// Up to 50 simultaneous table operations are allowed per account. These operations // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, // and RestoreTableToPointInTime. // -// For tables with secondary indexes, only one of those tables can be in the -// CREATING state at any point in time. Do not attempt to create more than one -// such table simultaneously. +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. // -// The total limit of tables in the ACTIVE state is 250. +// There is a soft account limit of 256 tables. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -955,15 +955,16 @@ func (c *DynamoDB) DeleteBackupRequest(input *DeleteBackupInput) (req *request.R // * ErrCodeLimitExceededException "LimitExceededException" // There is no limit to the number of daily on-demand backups that can be taken. // -// Up to 10 simultaneous table operations are allowed per account. These operations +// Up to 50 simultaneous table operations are allowed per account. These operations // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, // and RestoreTableToPointInTime. // -// For tables with secondary indexes, only one of those tables can be in the -// CREATING state at any point in time. Do not attempt to create more than one -// such table simultaneously. +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. // -// The total limit of tables in the ACTIVE state is 250. +// There is a soft account limit of 256 tables. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -1086,7 +1087,7 @@ func (c *DynamoDB) DeleteItemRequest(input *DeleteItemInput) (req *request.Reque // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests // and use exponential backoff. For more information, go to Error Retries and -// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" @@ -1102,8 +1103,8 @@ func (c *DynamoDB) DeleteItemRequest(input *DeleteItemInput) (req *request.Reque // // * ErrCodeRequestLimitExceeded "RequestLimitExceeded" // Throughput exceeds the current throughput limit for your account. Please -// contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support) -// to request a limit increase. +// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request +// a limit increase. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -1234,15 +1235,16 @@ func (c *DynamoDB) DeleteTableRequest(input *DeleteTableInput) (req *request.Req // * ErrCodeLimitExceededException "LimitExceededException" // There is no limit to the number of daily on-demand backups that can be taken. // -// Up to 10 simultaneous table operations are allowed per account. These operations +// Up to 50 simultaneous table operations are allowed per account. These operations // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, // and RestoreTableToPointInTime. // -// For tables with secondary indexes, only one of those tables can be in the -// CREATING state at any point in time. Do not attempt to create more than one -// such table simultaneously. +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. // -// The total limit of tables in the ACTIVE state is 250. +// There is a soft account limit of 256 tables. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -1444,8 +1446,8 @@ func (c *DynamoDB) DescribeContinuousBackupsRequest(input *DescribeContinuousBac // If point in time recovery is enabled, PointInTimeRecoveryStatus will be set // to ENABLED. // -// Once continuous backups and point in time recovery are enabled, you can restore -// to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime. +// After continuous backups and point in time recovery are enabled, you can +// restore to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime. // // LatestRestorableDateTime is typically 5 minutes before the current time. // You can restore your table to any point in time during the last 35 days. @@ -1534,6 +1536,8 @@ func (c *DynamoDB) DescribeEndpointsRequest(input *DescribeEndpointsInput) (req // DescribeEndpoints API operation for Amazon DynamoDB. // +// Returns the regional endpoint information. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1789,7 +1793,7 @@ func (c *DynamoDB) DescribeGlobalTableSettingsRequest(input *DescribeGlobalTable // DescribeGlobalTableSettings API operation for Amazon DynamoDB. // -// Describes region specific settings for a global table. +// Describes Region-specific settings for a global table. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1893,14 +1897,14 @@ func (c *DynamoDB) DescribeLimitsRequest(input *DescribeLimitsInput) (req *reque // DescribeLimits API operation for Amazon DynamoDB. // // Returns the current provisioned-capacity limits for your AWS account in a -// region, both for the region as a whole and for any one DynamoDB table that +// Region, both for the Region as a whole and for any one DynamoDB table that // you create there. // // When you establish an AWS account, the account has initial limits on the // maximum read capacity units and write capacity units that you can provision -// across all of your DynamoDB tables in a given region. Also, there are per-table +// across all of your DynamoDB tables in a given Region. Also, there are per-table // limits that apply when you create a table there. For more information, see -// Limits (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) +// Limits (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) // page in the Amazon DynamoDB Developer Guide. // // Although you can increase these limits by filing a case at AWS Support Center @@ -1911,26 +1915,27 @@ func (c *DynamoDB) DescribeLimitsRequest(input *DescribeLimitsInput) (req *reque // // For example, you could use one of the AWS SDKs to do the following: // -// Call DescribeLimits for a particular region to obtain your current account +// Call DescribeLimits for a particular Region to obtain your current account // limits on provisioned capacity there. // // Create a variable to hold the aggregate read capacity units provisioned for -// all your tables in that region, and one to hold the aggregate write capacity +// all your tables in that Region, and one to hold the aggregate write capacity // units. Zero them both. // // Call ListTables to obtain a list of all your DynamoDB tables. // // For each table name listed by ListTables, do the following: // -// Call DescribeTable with the table name. +// * Call DescribeTable with the table name. // -// Use the data returned by DescribeTable to add the read capacity units and -// write capacity units provisioned for the table itself to your variables. +// * Use the data returned by DescribeTable to add the read capacity units +// and write capacity units provisioned for the table itself to your variables. // -// If the table has one or more global secondary indexes (GSIs), loop over these -// GSIs and add their provisioned capacity values to your variables as well. +// * If the table has one or more global secondary indexes (GSIs), loop over +// these GSIs and add their provisioned capacity values to your variables +// as well. // -// Report the account limits for that region returned by DescribeLimits, along +// Report the account limits for that Region returned by DescribeLimits, along // with the total current provisioned capacity levels you have calculated. // // This will let you see whether you are getting close to your account-level @@ -1940,8 +1945,8 @@ func (c *DynamoDB) DescribeLimitsRequest(input *DescribeLimitsInput) (req *reque // the sum of the provisioned capacity of the new table itself and all its global // secondary indexes. // -// For existing tables and their GSIs, DynamoDB will not let you increase provisioned -// capacity extremely rapidly, but the only upper limit that applies is that +// For existing tables and their GSIs, DynamoDB doesn't let you increase provisioned +// capacity extremely rapidly. But the only upper limit that applies is that // the aggregate provisioned capacity over all your tables and GSIs cannot exceed // either of the per-account limits. // @@ -2286,7 +2291,7 @@ func (c *DynamoDB) GetItemRequest(input *GetItemInput) (req *request.Request, ou // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests // and use exponential backoff. For more information, go to Error Retries and -// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" @@ -2295,8 +2300,8 @@ func (c *DynamoDB) GetItemRequest(input *GetItemInput) (req *request.Request, ou // // * ErrCodeRequestLimitExceeded "RequestLimitExceeded" // Throughput exceeds the current throughput limit for your account. Please -// contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support) -// to request a limit increase. +// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request +// a limit increase. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -2390,13 +2395,13 @@ func (c *DynamoDB) ListBackupsRequest(input *ListBackupsInput) (req *request.Req // // List backups associated with an AWS account. To list backups for a given // table, specify TableName. ListBackups returns a paginated list of results -// with at most 1MB worth of items in a page. You can also specify a limit for -// the maximum number of entries to be returned in a page. +// with at most 1 MB worth of items in a page. You can also specify a limit +// for the maximum number of entries to be returned in a page. // -// In the request, start time is inclusive but end time is exclusive. Note that -// these limits are for the time at which the original backup was requested. +// In the request, start time is inclusive, but end time is exclusive. Note +// that these limits are for the time at which the original backup was requested. // -// You can call ListBackups a maximum of 5 times per second. +// You can call ListBackups a maximum of five times per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2496,7 +2501,7 @@ func (c *DynamoDB) ListGlobalTablesRequest(input *ListGlobalTablesInput) (req *r // ListGlobalTables API operation for Amazon DynamoDB. // -// Lists all global tables that have a replica in the specified region. +// Lists all global tables that have a replica in the specified Region. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2650,7 +2655,7 @@ func (c *DynamoDB) ListTablesWithContext(ctx aws.Context, input *ListTablesInput // // Example iterating over at most 3 pages of a ListTables operation. // pageNum := 0 // err := client.ListTablesPages(params, -// func(page *ListTablesOutput, lastPage bool) bool { +// func(page *dynamodb.ListTablesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -2757,7 +2762,7 @@ func (c *DynamoDB) ListTagsOfResourceRequest(input *ListTagsOfResourceInput) (re // List all tags on an Amazon DynamoDB resource. You can call ListTagsOfResource // up to 10 times per second, per account. // -// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) +// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) // in the Amazon DynamoDB Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2875,28 +2880,28 @@ func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, ou // For information on how to call the PutItem API using the AWS SDK in specific // languages, see the following: // -// PutItem in the AWS Command Line Interface (http://docs.aws.amazon.com/goto/aws-cli/dynamodb-2012-08-10/PutItem) +// * PutItem in the AWS Command Line Interface (http://docs.aws.amazon.com/goto/aws-cli/dynamodb-2012-08-10/PutItem) // -// PutItem in the AWS SDK for .NET (http://docs.aws.amazon.com/goto/DotNetSDKV3/dynamodb-2012-08-10/PutItem) +// * PutItem in the AWS SDK for .NET (http://docs.aws.amazon.com/goto/DotNetSDKV3/dynamodb-2012-08-10/PutItem) // -// PutItem in the AWS SDK for C++ (http://docs.aws.amazon.com/goto/SdkForCpp/dynamodb-2012-08-10/PutItem) +// * PutItem in the AWS SDK for C++ (http://docs.aws.amazon.com/goto/SdkForCpp/dynamodb-2012-08-10/PutItem) // -// PutItem in the AWS SDK for Go (http://docs.aws.amazon.com/goto/SdkForGoV1/dynamodb-2012-08-10/PutItem) +// * PutItem in the AWS SDK for Go (http://docs.aws.amazon.com/goto/SdkForGoV1/dynamodb-2012-08-10/PutItem) // -// PutItem in the AWS SDK for Java (http://docs.aws.amazon.com/goto/SdkForJava/dynamodb-2012-08-10/PutItem) +// * PutItem in the AWS SDK for Java (http://docs.aws.amazon.com/goto/SdkForJava/dynamodb-2012-08-10/PutItem) // -// PutItem in the AWS SDK for JavaScript (http://docs.aws.amazon.com/goto/AWSJavaScriptSDK/dynamodb-2012-08-10/PutItem) +// * PutItem in the AWS SDK for JavaScript (http://docs.aws.amazon.com/goto/AWSJavaScriptSDK/dynamodb-2012-08-10/PutItem) // -// PutItem in the AWS SDK for PHP V3 (http://docs.aws.amazon.com/goto/SdkForPHPV3/dynamodb-2012-08-10/PutItem) +// * PutItem in the AWS SDK for PHP V3 (http://docs.aws.amazon.com/goto/SdkForPHPV3/dynamodb-2012-08-10/PutItem) // -// PutItem in the AWS SDK for Python (http://docs.aws.amazon.com/goto/boto3/dynamodb-2012-08-10/PutItem) +// * PutItem in the AWS SDK for Python (http://docs.aws.amazon.com/goto/boto3/dynamodb-2012-08-10/PutItem) // -// PutItem in the AWS SDK for Ruby V2 (http://docs.aws.amazon.com/goto/SdkForRubyV2/dynamodb-2012-08-10/PutItem) +// * PutItem in the AWS SDK for Ruby V2 (http://docs.aws.amazon.com/goto/SdkForRubyV2/dynamodb-2012-08-10/PutItem) // -// When you add an item, the primary key attribute(s) are the only required -// attributes. Attribute values cannot be null. String and Binary type attributes -// must have lengths greater than zero. Set type attributes cannot be empty. -// Requests with empty values will be rejected with a ValidationException exception. +// When you add an item, the primary key attributes are the only required attributes. +// Attribute values cannot be null. String and Binary type attributes must have +// lengths greater than zero. Set type attributes cannot be empty. Requests +// with empty values will be rejected with a ValidationException exception. // // To prevent a new item from replacing an existing item, use a conditional // expression that contains the attribute_not_exists function with the name @@ -2904,7 +2909,7 @@ func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, ou // record must contain that attribute, the attribute_not_exists function will // only succeed if no matching item exists. // -// For more information about PutItem, see Working with Items (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html) +// For more information about PutItem, see Working with Items (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html) // in the Amazon DynamoDB Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2923,7 +2928,7 @@ func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, ou // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests // and use exponential backoff. For more information, go to Error Retries and -// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" @@ -2939,8 +2944,8 @@ func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, ou // // * ErrCodeRequestLimitExceeded "RequestLimitExceeded" // Throughput exceeds the current throughput limit for your account. Please -// contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support) -// to request a limit increase. +// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request +// a limit increase. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -3071,7 +3076,7 @@ func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output // (if using the Limit parameter) or a maximum of 1 MB of data and then apply // any filtering to the results using FilterExpression. If LastEvaluatedKey // is present in the response, you will need to paginate the result set. For -// more information, see Paginating the Results (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination) +// more information, see Paginating the Results (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination) // in the Amazon DynamoDB Developer Guide. // // FilterExpression is applied after a Query finishes, but before the results @@ -3100,7 +3105,7 @@ func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests // and use exponential backoff. For more information, go to Error Retries and -// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" @@ -3109,8 +3114,8 @@ func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output // // * ErrCodeRequestLimitExceeded "RequestLimitExceeded" // Throughput exceeds the current throughput limit for your account. Please -// contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support) -// to request a limit increase. +// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request +// a limit increase. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -3148,7 +3153,7 @@ func (c *DynamoDB) QueryWithContext(ctx aws.Context, input *QueryInput, opts ... // // Example iterating over at most 3 pages of a Query operation. // pageNum := 0 // err := client.QueryPages(params, -// func(page *QueryOutput, lastPage bool) bool { +// func(page *dynamodb.QueryOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -3263,7 +3268,7 @@ func (c *DynamoDB) RestoreTableFromBackupRequest(input *RestoreTableFromBackupIn // // * IAM policies // -// * Cloudwatch metrics and alarms +// * Amazon CloudWatch metrics and alarms // // * Tags // @@ -3295,15 +3300,16 @@ func (c *DynamoDB) RestoreTableFromBackupRequest(input *RestoreTableFromBackupIn // * ErrCodeLimitExceededException "LimitExceededException" // There is no limit to the number of daily on-demand backups that can be taken. // -// Up to 10 simultaneous table operations are allowed per account. These operations +// Up to 50 simultaneous table operations are allowed per account. These operations // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, // and RestoreTableToPointInTime. // -// For tables with secondary indexes, only one of those tables can be in the -// CREATING state at any point in time. Do not attempt to create more than one -// such table simultaneously. +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. // -// The total limit of tables in the ACTIVE state is 250. +// There is a soft account limit of 256 tables. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -3413,10 +3419,8 @@ func (c *DynamoDB) RestoreTableToPointInTimeRequest(input *RestoreTableToPointIn // // * Provisioned read and write capacity // -// * Encryption settings -// -// All these settings come from the current settings of the source table at -// the time of restore. +// * Encryption settings All these settings come from the current settings +// of the source table at the time of restore. // // You must manually set up the following on the restored table: // @@ -3424,7 +3428,7 @@ func (c *DynamoDB) RestoreTableToPointInTimeRequest(input *RestoreTableToPointIn // // * IAM policies // -// * Cloudwatch metrics and alarms +// * Amazon CloudWatch metrics and alarms // // * Tags // @@ -3455,15 +3459,16 @@ func (c *DynamoDB) RestoreTableToPointInTimeRequest(input *RestoreTableToPointIn // * ErrCodeLimitExceededException "LimitExceededException" // There is no limit to the number of daily on-demand backups that can be taken. // -// Up to 10 simultaneous table operations are allowed per account. These operations +// Up to 50 simultaneous table operations are allowed per account. These operations // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, // and RestoreTableToPointInTime. // -// For tables with secondary indexes, only one of those tables can be in the -// CREATING state at any point in time. Do not attempt to create more than one -// such table simultaneously. +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. // -// The total limit of tables in the ACTIVE state is 250. +// There is a soft account limit of 256 tables. // // * ErrCodeInvalidRestoreTimeException "InvalidRestoreTimeException" // An invalid restore time was specified. RestoreDateTime must be between EarliestRestorableDateTime @@ -3572,23 +3577,23 @@ func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output * // every item in a table or a secondary index. To have DynamoDB return fewer // items, you can provide a FilterExpression operation. // -// If the total number of scanned items exceeds the maximum data set size limit +// If the total number of scanned items exceeds the maximum dataset size limit // of 1 MB, the scan stops and results are returned to the user as a LastEvaluatedKey // value to continue the scan in a subsequent operation. The results also include // the number of items exceeding the limit. A scan can result in no table data // meeting the filter criteria. // -// A single Scan operation will read up to the maximum number of items set (if -// using the Limit parameter) or a maximum of 1 MB of data and then apply any -// filtering to the results using FilterExpression. If LastEvaluatedKey is present -// in the response, you will need to paginate the result set. For more information, -// see Paginating the Results (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.Pagination) +// A single Scan operation reads up to the maximum number of items set (if using +// the Limit parameter) or a maximum of 1 MB of data and then apply any filtering +// to the results using FilterExpression. If LastEvaluatedKey is present in +// the response, you need to paginate the result set. For more information, +// see Paginating the Results (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.Pagination) // in the Amazon DynamoDB Developer Guide. // // Scan operations proceed sequentially; however, for faster performance on // a large table or secondary index, applications can request a parallel Scan // operation by providing the Segment and TotalSegments parameters. For more -// information, see Parallel Scan (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.ParallelScan) +// information, see Parallel Scan (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.ParallelScan) // in the Amazon DynamoDB Developer Guide. // // Scan uses eventually consistent reads when accessing the data in a table; @@ -3610,7 +3615,7 @@ func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output * // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests // and use exponential backoff. For more information, go to Error Retries and -// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" @@ -3619,8 +3624,8 @@ func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output * // // * ErrCodeRequestLimitExceeded "RequestLimitExceeded" // Throughput exceeds the current throughput limit for your account. Please -// contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support) -// to request a limit increase. +// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request +// a limit increase. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -3658,7 +3663,7 @@ func (c *DynamoDB) ScanWithContext(ctx aws.Context, input *ScanInput, opts ...re // // Example iterating over at most 3 pages of a Scan operation. // pageNum := 0 // err := client.ScanPages(params, -// func(page *ScanOutput, lastPage bool) bool { +// func(page *dynamodb.ScanOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -3736,8 +3741,7 @@ func (c *DynamoDB) TagResourceRequest(input *TagResourceInput) (req *request.Req output = &TagResourceOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -3766,10 +3770,10 @@ func (c *DynamoDB) TagResourceRequest(input *TagResourceInput) (req *request.Req // // Associate a set of tags with an Amazon DynamoDB resource. You can then activate // these user-defined tags so that they appear on the Billing and Cost Management -// console for cost allocation tracking. You can call TagResource up to 5 times -// per second, per account. +// console for cost allocation tracking. You can call TagResource up to five +// times per second, per account. // -// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) +// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) // in the Amazon DynamoDB Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3783,15 +3787,16 @@ func (c *DynamoDB) TagResourceRequest(input *TagResourceInput) (req *request.Req // * ErrCodeLimitExceededException "LimitExceededException" // There is no limit to the number of daily on-demand backups that can be taken. // -// Up to 10 simultaneous table operations are allowed per account. These operations +// Up to 50 simultaneous table operations are allowed per account. These operations // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, // and RestoreTableToPointInTime. // -// For tables with secondary indexes, only one of those tables can be in the -// CREATING state at any point in time. Do not attempt to create more than one -// such table simultaneously. +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. // -// The total limit of tables in the ACTIVE state is 250. +// There is a soft account limit of 256 tables. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The operation tried to access a nonexistent table or index. The resource @@ -3894,10 +3899,21 @@ func (c *DynamoDB) TransactGetItemsRequest(input *TransactGetItemsInput) (req *r // // TransactGetItems is a synchronous operation that atomically retrieves multiple // items from one or more tables (but not from indexes) in a single account -// and region. A TransactGetItems call can contain up to 10 TransactGetItem +// and Region. A TransactGetItems call can contain up to 25 TransactGetItem // objects, each of which contains a Get structure that specifies an item to -// retrieve from a table in the account and region. A call to TransactGetItems -// cannot retrieve items from tables in more than one AWS account or region. +// retrieve from a table in the account and Region. A call to TransactGetItems +// cannot retrieve items from tables in more than one AWS account or Region. +// The aggregate size of the items in the transaction cannot exceed 4 MB. +// +// All AWS Regions and AWS GovCloud (US) support up to 25 items per transaction +// with up to 4 MB of data, except the following AWS Regions: +// +// * China (Beijing) +// +// * China (Ningxia) +// +// The China (Beijing) and China (Ningxia) Regions support up to 10 items per +// transaction with up to 4 MB of data. // // DynamoDB rejects the entire TransactGetItems request if any of the following // is true: @@ -3910,6 +3926,8 @@ func (c *DynamoDB) TransactGetItemsRequest(input *TransactGetItemsInput) (req *r // // * There is a user error, such as an invalid data format. // +// * The aggregate size of the items in the transaction cannot exceed 4 MB. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3923,31 +3941,103 @@ func (c *DynamoDB) TransactGetItemsRequest(input *TransactGetItemsInput) (req *r // might not be specified correctly, or its status might not be ACTIVE. // // * ErrCodeTransactionCanceledException "TransactionCanceledException" -// The entire transaction request was rejected. +// The entire transaction request was canceled. // -// DynamoDB will reject the entire TransactWriteItems request if any of the -// following is true: +// DynamoDB cancels a TransactWriteItems request under the following circumstances: // -// * A table in the TransactWriteItems request does not exist. +// * A condition in one of the condition expressions is not met. // -// * A table in the TransactWriteItems request is on a different account +// * A table in the TransactWriteItems request is in a different account // or region. // -// * Operations contain item schema violations. +// * More than one action in the TransactWriteItems operation targets the +// same item. +// +// * There is insufficient provisioned capacity for the transaction to be +// completed. +// +// * An item size becomes too large (larger than 400 KB), or a local secondary +// index (LSI) becomes too large, or a similar validation error occurs because +// of changes made by the transaction. +// +// * The aggregate size of the items in the transaction exceeds 4 MBs. +// +// * There is a user error, such as an invalid data format. +// +// DynamoDB cancels a TransactGetItems request under the following circumstances: // -// * More than one write operation (UpdateItem, PutItem, DeleteItem) operates -// on the same item. +// * There is an ongoing TransactGetItems operation that conflicts with a +// concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. +// In this case the TransactGetItems operation fails with a TransactionCanceledException. // -// * More than one check operation operates on the same item. +// * A table in the TransactGetItems request is in a different account or +// region. // -// * The number of operations sent in the TransactWriteItems request is -// 0 or greater than 10. +// * There is insufficient provisioned capacity for the transaction to be +// completed. // -// * A TransactWriteItems request exceeds the maximum 4 MB request size. +// * The aggregate size of the items in the transaction exceeds 4 MBs. // +// * There is a user error, such as an invalid data format. // -// * Any operation in the TransactWriteItems request would cause an item -// to become larger than 400KB. +// If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons +// property. This property is not set for other languages. Transaction cancellation +// reasons are ordered in the order of requested items, if an item has no error +// it will have NONE code and Null message. +// +// Cancellation reason codes and possible error messages: +// +// * No Errors: Code: NONE Message: null +// +// * Conditional Check Failed: Code: ConditionalCheckFailed Message: The +// conditional request failed. +// +// * Item Collection Size Limit Exceeded: Code: ItemCollectionSizeLimitExceeded +// Message: Collection size exceeded. +// +// * Transaction Conflict: Code: TransactionConflict Message: Transaction +// is ongoing for the item. +// +// * Provisioned Throughput Exceeded: Code: ProvisionedThroughputExceeded +// Messages: The level of configured provisioned throughput for the table +// was exceeded. Consider increasing your provisioning level with the UpdateTable +// API. This Message is received when provisioned throughput is exceeded +// is on a provisioned DynamoDB table. The level of configured provisioned +// throughput for one or more global secondary indexes of the table was exceeded. +// Consider increasing your provisioning level for the under-provisioned +// global secondary indexes with the UpdateTable API. This message is returned +// when provisioned throughput is exceeded is on a provisioned GSI. +// +// * Throttling Error: Code: ThrottlingError Messages: Throughput exceeds +// the current capacity of your table or index. DynamoDB is automatically +// scaling your table or index so please try again shortly. If exceptions +// persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. +// This message is returned when writes get throttled on an On-Demand table +// as DynamoDB is automatically scaling the table. Throughput exceeds the +// current capacity for one or more global secondary indexes. DynamoDB is +// automatically scaling your index so please try again shortly. This message +// is returned when when writes get throttled on an On-Demand GSI as DynamoDB +// is automatically scaling the GSI. +// +// * Validation Error: Code: ValidationError Messages: One or more parameter +// values were invalid. The update expression attempted to update the secondary +// index key beyond allowed size limits. The update expression attempted +// to update the secondary index key to unsupported type. An operand in the +// update expression has an incorrect data type. Item size to update has +// exceeded the maximum allowed size. Number overflow. Attempting to store +// a number with magnitude larger than supported range. Type mismatch for +// attribute to update. Nesting Levels have exceeded supported limits. The +// document path provided in the update expression is invalid for update. +// The provided expression refers to an attribute that does not exist in +// the item. +// +// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException" +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// in the Amazon DynamoDB Developer Guide. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -4039,57 +4129,69 @@ func (c *DynamoDB) TransactWriteItemsRequest(input *TransactWriteItemsInput) (re // TransactWriteItems API operation for Amazon DynamoDB. // -// TransactWriteItems is a synchronous write operation that groups up to 10 +// TransactWriteItems is a synchronous write operation that groups up to 25 // action requests. These actions can target items in different tables, but -// not in different AWS accounts or regions, and no two actions can target the +// not in different AWS accounts or Regions, and no two actions can target the // same item. For example, you cannot both ConditionCheck and Update the same -// item. +// item. The aggregate size of the items in the transaction cannot exceed 4 +// MB. +// +// All AWS Regions and AWS GovCloud (US) support up to 25 items per transaction +// with up to 4 MB of data, except the following AWS Regions: +// +// * China (Beijing) +// +// * China (Ningxia) +// +// The China (Beijing) and China (Ningxia) Regions support up to 10 items per +// transaction with up to 4 MB of data. // // The actions are completed atomically so that either all of them succeed, // or all of them fail. They are defined by the following objects: // -// * Put  —   Initiates a PutItem operation to write a new item. This structure +// * Put — Initiates a PutItem operation to write a new item. This structure // specifies the primary key of the item to be written, the name of the table // to write it in, an optional condition expression that must be satisfied // for the write to succeed, a list of the item's attributes, and a field -// indicating whether or not to retrieve the item's attributes if the condition +// indicating whether to retrieve the item's attributes if the condition // is not met. // -// * Update  —   Initiates an UpdateItem operation to update an existing -// item. This structure specifies the primary key of the item to be updated, -// the name of the table where it resides, an optional condition expression -// that must be satisfied for the update to succeed, an expression that defines -// one or more attributes to be updated, and a field indicating whether or -// not to retrieve the item's attributes if the condition is not met. +// * Update — Initiates an UpdateItem operation to update an existing item. +// This structure specifies the primary key of the item to be updated, the +// name of the table where it resides, an optional condition expression that +// must be satisfied for the update to succeed, an expression that defines +// one or more attributes to be updated, and a field indicating whether to +// retrieve the item's attributes if the condition is not met. // -// * Delete  —   Initiates a DeleteItem operation to delete an existing item. +// * Delete — Initiates a DeleteItem operation to delete an existing item. // This structure specifies the primary key of the item to be deleted, the // name of the table where it resides, an optional condition expression that // must be satisfied for the deletion to succeed, and a field indicating -// whether or not to retrieve the item's attributes if the condition is not -// met. +// whether to retrieve the item's attributes if the condition is not met. // -// * ConditionCheck  —   Applies a condition to an item that is not being +// * ConditionCheck — Applies a condition to an item that is not being // modified by the transaction. This structure specifies the primary key // of the item to be checked, the name of the table where it resides, a condition // expression that must be satisfied for the transaction to succeed, and -// a field indicating whether or not to retrieve the item's attributes if -// the condition is not met. +// a field indicating whether to retrieve the item's attributes if the condition +// is not met. // // DynamoDB rejects the entire TransactWriteItems request if any of the following // is true: // // * A condition in one of the condition expressions is not met. // -// * A conflicting operation is in the process of updating the same item. +// * An ongoing operation is in the process of updating the same item. // // * There is insufficient provisioned capacity for the transaction to be // completed. // -// * An item size becomes too large (bigger than 400 KB), a Local Secondary -// Index (LSI) becomes too large, or a similar validation error occurs because +// * An item size becomes too large (bigger than 400 KB), a local secondary +// index (LSI) becomes too large, or a similar validation error occurs because // of changes made by the transaction. // +// * The aggregate size of the items in the transaction exceeds 4 MB. +// // * There is a user error, such as an invalid data format. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4105,31 +4207,95 @@ func (c *DynamoDB) TransactWriteItemsRequest(input *TransactWriteItemsInput) (re // might not be specified correctly, or its status might not be ACTIVE. // // * ErrCodeTransactionCanceledException "TransactionCanceledException" -// The entire transaction request was rejected. +// The entire transaction request was canceled. // -// DynamoDB will reject the entire TransactWriteItems request if any of the -// following is true: +// DynamoDB cancels a TransactWriteItems request under the following circumstances: // -// * A table in the TransactWriteItems request does not exist. +// * A condition in one of the condition expressions is not met. // -// * A table in the TransactWriteItems request is on a different account +// * A table in the TransactWriteItems request is in a different account // or region. // -// * Operations contain item schema violations. +// * More than one action in the TransactWriteItems operation targets the +// same item. +// +// * There is insufficient provisioned capacity for the transaction to be +// completed. +// +// * An item size becomes too large (larger than 400 KB), or a local secondary +// index (LSI) becomes too large, or a similar validation error occurs because +// of changes made by the transaction. +// +// * The aggregate size of the items in the transaction exceeds 4 MBs. +// +// * There is a user error, such as an invalid data format. +// +// DynamoDB cancels a TransactGetItems request under the following circumstances: +// +// * There is an ongoing TransactGetItems operation that conflicts with a +// concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. +// In this case the TransactGetItems operation fails with a TransactionCanceledException. +// +// * A table in the TransactGetItems request is in a different account or +// region. +// +// * There is insufficient provisioned capacity for the transaction to be +// completed. // -// * More than one write operation (UpdateItem, PutItem, DeleteItem) operates -// on the same item. +// * The aggregate size of the items in the transaction exceeds 4 MBs. // -// * More than one check operation operates on the same item. +// * There is a user error, such as an invalid data format. // -// * The number of operations sent in the TransactWriteItems request is -// 0 or greater than 10. +// If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons +// property. This property is not set for other languages. Transaction cancellation +// reasons are ordered in the order of requested items, if an item has no error +// it will have NONE code and Null message. // -// * A TransactWriteItems request exceeds the maximum 4 MB request size. +// Cancellation reason codes and possible error messages: // +// * No Errors: Code: NONE Message: null // -// * Any operation in the TransactWriteItems request would cause an item -// to become larger than 400KB. +// * Conditional Check Failed: Code: ConditionalCheckFailed Message: The +// conditional request failed. +// +// * Item Collection Size Limit Exceeded: Code: ItemCollectionSizeLimitExceeded +// Message: Collection size exceeded. +// +// * Transaction Conflict: Code: TransactionConflict Message: Transaction +// is ongoing for the item. +// +// * Provisioned Throughput Exceeded: Code: ProvisionedThroughputExceeded +// Messages: The level of configured provisioned throughput for the table +// was exceeded. Consider increasing your provisioning level with the UpdateTable +// API. This Message is received when provisioned throughput is exceeded +// is on a provisioned DynamoDB table. The level of configured provisioned +// throughput for one or more global secondary indexes of the table was exceeded. +// Consider increasing your provisioning level for the under-provisioned +// global secondary indexes with the UpdateTable API. This message is returned +// when provisioned throughput is exceeded is on a provisioned GSI. +// +// * Throttling Error: Code: ThrottlingError Messages: Throughput exceeds +// the current capacity of your table or index. DynamoDB is automatically +// scaling your table or index so please try again shortly. If exceptions +// persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. +// This message is returned when writes get throttled on an On-Demand table +// as DynamoDB is automatically scaling the table. Throughput exceeds the +// current capacity for one or more global secondary indexes. DynamoDB is +// automatically scaling your index so please try again shortly. This message +// is returned when when writes get throttled on an On-Demand GSI as DynamoDB +// is automatically scaling the GSI. +// +// * Validation Error: Code: ValidationError Messages: One or more parameter +// values were invalid. The update expression attempted to update the secondary +// index key beyond allowed size limits. The update expression attempted +// to update the secondary index key to unsupported type. An operand in the +// update expression has an incorrect data type. Item size to update has +// exceeded the maximum allowed size. Number overflow. Attempting to store +// a number with magnitude larger than supported range. Type mismatch for +// attribute to update. Nesting Levels have exceeded supported limits. The +// document path provided in the update expression is invalid for update. +// The provided expression refers to an attribute that does not exist in +// the item. // // * ErrCodeTransactionInProgressException "TransactionInProgressException" // The transaction with the given request token is already in progress. @@ -4138,6 +4304,14 @@ func (c *DynamoDB) TransactWriteItemsRequest(input *TransactWriteItemsInput) (re // DynamoDB rejected the request because you retried a request with a different // payload but with an idempotent token that was already used. // +// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException" +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// in the Amazon DynamoDB Developer Guide. +// // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // @@ -4202,8 +4376,7 @@ func (c *DynamoDB) UntagResourceRequest(input *UntagResourceInput) (req *request output = &UntagResourceOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -4231,9 +4404,9 @@ func (c *DynamoDB) UntagResourceRequest(input *UntagResourceInput) (req *request // UntagResource API operation for Amazon DynamoDB. // // Removes the association of tags from an Amazon DynamoDB resource. You can -// call UntagResource up to 5 times per second, per account. +// call UntagResource up to five times per second, per account. // -// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) +// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) // in the Amazon DynamoDB Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4247,15 +4420,16 @@ func (c *DynamoDB) UntagResourceRequest(input *UntagResourceInput) (req *request // * ErrCodeLimitExceededException "LimitExceededException" // There is no limit to the number of daily on-demand backups that can be taken. // -// Up to 10 simultaneous table operations are allowed per account. These operations +// Up to 50 simultaneous table operations are allowed per account. These operations // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, // and RestoreTableToPointInTime. // -// For tables with secondary indexes, only one of those tables can be in the -// CREATING state at any point in time. Do not attempt to create more than one -// such table simultaneously. +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. // -// The total limit of tables in the ACTIVE state is 250. +// There is a soft account limit of 256 tables. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The operation tried to access a nonexistent table or index. The resource @@ -4366,7 +4540,7 @@ func (c *DynamoDB) UpdateContinuousBackupsRequest(input *UpdateContinuousBackups // to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime. // // LatestRestorableDateTime is typically 5 minutes before the current time. -// You can restore your table to any point in time during the last 35 days.. +// You can restore your table to any point in time during the last 35 days. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4475,9 +4649,9 @@ func (c *DynamoDB) UpdateGlobalTableRequest(input *UpdateGlobalTableInput) (req // // Adds or removes replicas in the specified global table. The global table // must already exist to be able to use this operation. Any replica to be added -// must be empty, must have the same name as the global table, must have the -// same key schema, and must have DynamoDB Streams enabled and must have same -// provisioned and maximum write capacity units. +// must be empty, have the same name as the global table, have the same key +// schema, have DynamoDB Streams enabled, and have the same provisioned and +// maximum write capacity units. // // Although you can use UpdateGlobalTable to add replicas and remove replicas // in a single request, for simplicity we recommend that you issue separate @@ -4486,12 +4660,12 @@ func (c *DynamoDB) UpdateGlobalTableRequest(input *UpdateGlobalTableInput) (req // If global secondary indexes are specified, then the following conditions // must also be met: // -// * The global secondary indexes must have the same name. +// * The global secondary indexes must have the same name. // -// * The global secondary indexes must have the same hash key and sort key +// * The global secondary indexes must have the same hash key and sort key // (if present). // -// * The global secondary indexes must have the same provisioned and maximum +// * The global secondary indexes must have the same provisioned and maximum // write capacity units. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4627,15 +4801,16 @@ func (c *DynamoDB) UpdateGlobalTableSettingsRequest(input *UpdateGlobalTableSett // * ErrCodeLimitExceededException "LimitExceededException" // There is no limit to the number of daily on-demand backups that can be taken. // -// Up to 10 simultaneous table operations are allowed per account. These operations +// Up to 50 simultaneous table operations are allowed per account. These operations // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, // and RestoreTableToPointInTime. // -// For tables with secondary indexes, only one of those tables can be in the -// CREATING state at any point in time. Do not attempt to create more than one -// such table simultaneously. +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. // -// The total limit of tables in the ACTIVE state is 250. +// There is a soft account limit of 256 tables. // // * ErrCodeResourceInUseException "ResourceInUseException" // The operation conflicts with the resource's availability. For example, you @@ -4757,7 +4932,7 @@ func (c *DynamoDB) UpdateItemRequest(input *UpdateItemInput) (req *request.Reque // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests // and use exponential backoff. For more information, go to Error Retries and -// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" @@ -4773,8 +4948,8 @@ func (c *DynamoDB) UpdateItemRequest(input *UpdateItemInput) (req *request.Reque // // * ErrCodeRequestLimitExceeded "RequestLimitExceeded" // Throughput exceeds the current throughput limit for your account. Please -// contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support) -// to request a limit increase. +// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request +// a limit increase. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -4873,11 +5048,11 @@ func (c *DynamoDB) UpdateTableRequest(input *UpdateTableInput) (req *request.Req // // * Modify the provisioned throughput settings of the table. // -// * Enable or disable Streams on the table. +// * Enable or disable DynamoDB Streams on the table. // // * Remove a global secondary index from the table. // -// * Create a new global secondary index on the table. Once the index begins +// * Create a new global secondary index on the table. After the index begins // backfilling, you can use UpdateTable to perform other operations. // // UpdateTable is an asynchronous operation; while it is executing, the table @@ -4905,15 +5080,16 @@ func (c *DynamoDB) UpdateTableRequest(input *UpdateTableInput) (req *request.Req // * ErrCodeLimitExceededException "LimitExceededException" // There is no limit to the number of daily on-demand backups that can be taken. // -// Up to 10 simultaneous table operations are allowed per account. These operations +// Up to 50 simultaneous table operations are allowed per account. These operations // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, // and RestoreTableToPointInTime. // -// For tables with secondary indexes, only one of those tables can be in the -// CREATING state at any point in time. Do not attempt to create more than one -// such table simultaneously. +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. // -// The total limit of tables in the ACTIVE state is 250. +// There is a soft account limit of 256 tables. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -5005,9 +5181,9 @@ func (c *DynamoDB) UpdateTimeToLiveRequest(input *UpdateTimeToLiveInput) (req *r // UpdateTimeToLive API operation for Amazon DynamoDB. // -// The UpdateTimeToLive method will enable or disable TTL for the specified -// table. A successful UpdateTimeToLive call returns the current TimeToLiveSpecification; -// it may take up to one hour for the change to fully process. Any additional +// The UpdateTimeToLive method enables or disables Time to Live (TTL) for the +// specified table. A successful UpdateTimeToLive call returns the current TimeToLiveSpecification. +// It can take up to one hour for the change to fully process. Any additional // UpdateTimeToLive calls for the same table during this one hour duration result // in a ValidationException. // @@ -5017,7 +5193,7 @@ func (c *DynamoDB) UpdateTimeToLiveRequest(input *UpdateTimeToLiveInput) (req *r // deleted. // // The epoch time format is the number of seconds elapsed since 12:00:00 AM -// January 1st, 1970 UTC. +// January 1, 1970 UTC. // // DynamoDB deletes expired items on a best-effort basis to ensure availability // of throughput for other data operations. @@ -5027,11 +5203,11 @@ func (c *DynamoDB) UpdateTimeToLiveRequest(input *UpdateTimeToLiveInput) (req *r // to the nature of the workload. Items that have expired and not been deleted // will still show up in reads, queries, and scans. // -// As items are deleted, they are removed from any Local Secondary Index and -// Global Secondary Index immediately in the same eventually consistent way +// As items are deleted, they are removed from any local secondary index and +// global secondary index immediately in the same eventually consistent way // as a standard delete operation. // -// For more information, see Time To Live (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html) +// For more information, see Time To Live (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html) // in the Amazon DynamoDB Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5054,15 +5230,16 @@ func (c *DynamoDB) UpdateTimeToLiveRequest(input *UpdateTimeToLiveInput) (req *r // * ErrCodeLimitExceededException "LimitExceededException" // There is no limit to the number of daily on-demand backups that can be taken. // -// Up to 10 simultaneous table operations are allowed per account. These operations +// Up to 50 simultaneous table operations are allowed per account. These operations // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, // and RestoreTableToPointInTime. // -// For tables with secondary indexes, only one of those tables can be in the -// CREATING state at any point in time. Do not attempt to create more than one -// such table simultaneously. +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. // -// The total limit of tables in the ACTIVE state is 250. +// There is a soft account limit of 256 tables. // // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. @@ -5156,7 +5333,7 @@ func (s *AttributeDefinition) SetAttributeType(v string) *AttributeDefinition { // Each attribute value is described as a name-value pair. The name is the data // type, and the value is the data itself. // -// For more information, see Data Types (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes) +// For more information, see Data Types (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes) // in the Amazon DynamoDB Developer Guide. type AttributeValue struct { _ struct{} `type:"structure"` @@ -5180,7 +5357,7 @@ type AttributeValue struct { // An attribute of type List. For example: // - // "L": ["Cookies", "Coffee", 3.14159] + // "L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N", "3.14159"}] L []*AttributeValue `type:"list"` // An attribute of type Map. For example: @@ -5316,47 +5493,38 @@ type AttributeValueUpdate struct { // // * DELETE - If no value is specified, the attribute and its value are removed // from the item. The data type of the specified value must match the existing - // value's data type. - // - // If a set of values is specified, then those values are subtracted from the - // old set. For example, if the attribute value was the set [a,b,c] and the - // DELETE action specified [a,c], then the final attribute value would be - // [b]. Specifying an empty set is an error. + // value's data type. If a set of values is specified, then those values + // are subtracted from the old set. For example, if the attribute value was + // the set [a,b,c] and the DELETE action specified [a,c], then the final + // attribute value would be [b]. Specifying an empty set is an error. // // * ADD - If the attribute does not already exist, then the attribute and // its values are added to the item. If the attribute does exist, then the - // behavior of ADD depends on the data type of the attribute: - // - // If the existing attribute is a number, and if Value is also a number, then - // the Value is mathematically added to the existing attribute. If Value - // is a negative number, then it is subtracted from the existing attribute. - // - // If you use ADD to increment or decrement a number value for an item that - // doesn't exist before the update, DynamoDB uses 0 as the initial value. - // - // In addition, if you use ADD to update an existing item, and intend to increment - // or decrement an attribute value which does not yet exist, DynamoDB uses - // 0 as the initial value. For example, suppose that the item you want to - // update does not yet have an attribute named itemcount, but you decide - // to ADD the number 3 to this attribute anyway, even though it currently - // does not exist. DynamoDB will create the itemcount attribute, set its - // initial value to 0, and finally add 3 to it. The result will be a new - // itemcount attribute in the item, with a value of 3. - // - // If the existing data type is a set, and if the Value is also a set, then - // the Value is added to the existing set. (This is a set operation, not - // mathematical addition.) For example, if the attribute value was the set - // [1,2], and the ADD action specified [3], then the final attribute value - // would be [1,2,3]. An error occurs if an Add action is specified for a - // set attribute and the attribute type specified does not match the existing - // set type. - // - // Both sets must have the same primitive data type. For example, if the existing - // data type is a set of strings, the Value must also be a set of strings. - // The same holds true for number sets and binary sets. - // - // This action is only valid for an existing attribute whose data type is number - // or is a set. Do not use ADD for any other data types. + // behavior of ADD depends on the data type of the attribute: If the existing + // attribute is a number, and if Value is also a number, then the Value is + // mathematically added to the existing attribute. If Value is a negative + // number, then it is subtracted from the existing attribute. If you use + // ADD to increment or decrement a number value for an item that doesn't + // exist before the update, DynamoDB uses 0 as the initial value. In addition, + // if you use ADD to update an existing item, and intend to increment or + // decrement an attribute value which does not yet exist, DynamoDB uses 0 + // as the initial value. For example, suppose that the item you want to update + // does not yet have an attribute named itemcount, but you decide to ADD + // the number 3 to this attribute anyway, even though it currently does not + // exist. DynamoDB will create the itemcount attribute, set its initial value + // to 0, and finally add 3 to it. The result will be a new itemcount attribute + // in the item, with a value of 3. If the existing data type is a set, and + // if the Value is also a set, then the Value is added to the existing set. + // (This is a set operation, not mathematical addition.) For example, if + // the attribute value was the set [1,2], and the ADD action specified [3], + // then the final attribute value would be [1,2,3]. An error occurs if an + // Add action is specified for a set attribute and the attribute type specified + // does not match the existing set type. Both sets must have the same primitive + // data type. For example, if the existing data type is a set of strings, + // the Value must also be a set of strings. The same holds true for number + // sets and binary sets. This action is only valid for an existing attribute + // whose data type is number or is a set. Do not use ADD for any other data + // types. // // If no item with the specified Key is found: // @@ -5375,7 +5543,7 @@ type AttributeValueUpdate struct { // Each attribute value is described as a name-value pair. The name is the data // type, and the value is the data itself. // - // For more information, see Data Types (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes) + // For more information, see Data Types (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes) // in the Amazon DynamoDB Developer Guide. Value *AttributeValue `type:"structure"` } @@ -5873,6 +6041,8 @@ type BackupDetails struct { // no additional cost). System backups allow you to restore the deleted table // to the state it was in just before the point of deletion. // + // * AWS_BACKUP - On-demand backup created by you from AWS Backup service. + // // BackupType is a required field BackupType *string `type:"string" required:"true" enum:"BackupType"` } @@ -5960,6 +6130,8 @@ type BackupSummary struct { // a SYSTEM backup is automatically created and is retained for 35 days (at // no additional cost). System backups allow you to restore the deleted table // to the state it was in just before the point of deletion. + // + // * AWS_BACKUP - On-demand backup created by you from AWS Backup service. BackupType *string `type:"string" enum:"BackupType"` // ARN associated with the table. @@ -6057,38 +6229,22 @@ type BatchGetItemInput struct { // // * ExpressionAttributeNames - One or more substitution tokens for attribute // names in the ProjectionExpression parameter. The following are some use - // cases for using ExpressionAttributeNames: - // - // To access an attribute whose name conflicts with a DynamoDB reserved word. - // - // To create a placeholder for repeating occurrences of an attribute name in - // an expression. - // - // To prevent special characters in an attribute name from being misinterpreted - // in an expression. - // - // Use the # character in an expression to dereference an attribute name. For - // example, consider the following attribute name: - // - // Percentile - // - // The name of this attribute conflicts with a reserved word, so it cannot be + // cases for using ExpressionAttributeNames: To access an attribute whose + // name conflicts with a DynamoDB reserved word. To create a placeholder + // for repeating occurrences of an attribute name in an expression. To prevent + // special characters in an attribute name from being misinterpreted in an + // expression. Use the # character in an expression to dereference an attribute + // name. For example, consider the following attribute name: Percentile The + // name of this attribute conflicts with a reserved word, so it cannot be // used directly in an expression. (For the complete list of reserved words, - // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) + // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide). To work around this, you could - // specify the following for ExpressionAttributeNames: - // - // {"#P":"Percentile"} - // - // You could then use this substitution in an expression, as in this example: - // - // #P = :val - // - // Tokens that begin with the : character are expression attribute values, which - // are placeholders for the actual value at runtime. - // - // For more information on expression attribute names, see Accessing Item Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // specify the following for ExpressionAttributeNames: {"#P":"Percentile"} + // You could then use this substitution in an expression, as in this example: + // #P = :val Tokens that begin with the : character are expression attribute + // values, which are placeholders for the actual value at runtime. For more + // information about expression attribute names, see Accessing Item Attributes + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. // // * Keys - An array of primary key attribute values that define specific @@ -6100,17 +6256,14 @@ type BatchGetItemInput struct { // * ProjectionExpression - A string that identifies one or more attributes // to retrieve from the table. These attributes can include scalars, sets, // or elements of a JSON document. The attributes in the expression must - // be separated by commas. - // - // If no attribute names are specified, then all attributes will be returned. - // If any of the requested attributes are not found, they will not appear - // in the result. - // - // For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // be separated by commas. If no attribute names are specified, then all + // attributes are returned. If any of the requested attributes are not found, + // they do not appear in the result. For more information, see Accessing + // Item Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. // // * AttributesToGet - This is a legacy parameter. Use ProjectionExpression - // instead. For more information, see AttributesToGet (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html) + // instead. For more information, see AttributesToGet (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html) // in the Amazon DynamoDB Developer Guide. // // RequestItems is a required field @@ -6121,11 +6274,9 @@ type BatchGetItemInput struct { // // * INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary - // index that was accessed. - // - // Note that some operations, such as GetItem and BatchGetItem, do not access - // any indexes at all. In these cases, specifying INDEXES will only return - // ConsumedCapacity information for table(s). + // index that was accessed. Note that some operations, such as GetItem and + // BatchGetItem, do not access any indexes at all. In these cases, specifying + // INDEXES will only return ConsumedCapacity information for table(s). // // * TOTAL - The response includes only the aggregate ConsumedCapacity for // the operation. @@ -6260,27 +6411,23 @@ type BatchWriteItemInput struct { // of the following: // // * DeleteRequest - Perform a DeleteItem operation on the specified item. - // The item to be deleted is identified by a Key subelement: - // - // Key - A map of primary key attribute values that uniquely identify the item. - // Each entry in this map consists of an attribute name and an attribute - // value. For each primary key, you must provide all of the key attributes. - // For example, with a simple primary key, you only need to provide a value - // for the partition key. For a composite primary key, you must provide values + // The item to be deleted is identified by a Key subelement: Key - A map + // of primary key attribute values that uniquely identify the item. Each + // entry in this map consists of an attribute name and an attribute value. + // For each primary key, you must provide all of the key attributes. For + // example, with a simple primary key, you only need to provide a value for + // the partition key. For a composite primary key, you must provide values // for both the partition key and the sort key. // // * PutRequest - Perform a PutItem operation on the specified item. The - // item to be put is identified by an Item subelement: - // - // Item - A map of attributes and their values. Each entry in this map consists - // of an attribute name and an attribute value. Attribute values must not - // be null; string and binary type attributes must have lengths greater than - // zero; and set type attributes must not be empty. Requests that contain - // empty values will be rejected with a ValidationException exception. - // - // If you specify any attributes that are part of an index key, then the data - // types for those attributes must match those of the schema in the table's - // attribute definition. + // item to be put is identified by an Item subelement: Item - A map of attributes + // and their values. Each entry in this map consists of an attribute name + // and an attribute value. Attribute values must not be null; string and + // binary type attributes must have lengths greater than zero; and set type + // attributes must not be empty. Requests that contain empty values are rejected + // with a ValidationException exception. If you specify any attributes that + // are part of an index key, then the data types for those attributes must + // match those of the schema in the table's attribute definition. // // RequestItems is a required field RequestItems map[string][]*WriteRequest `min:"1" type:"map" required:"true"` @@ -6290,11 +6437,9 @@ type BatchWriteItemInput struct { // // * INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary - // index that was accessed. - // - // Note that some operations, such as GetItem and BatchGetItem, do not access - // any indexes at all. In these cases, specifying INDEXES will only return - // ConsumedCapacity information for table(s). + // index that was accessed. Note that some operations, such as GetItem and + // BatchGetItem, do not access any indexes at all. In these cases, specifying + // INDEXES will only return ConsumedCapacity information for table(s). // // * TOTAL - The response includes only the aggregate ConsumedCapacity for // the operation. @@ -6380,10 +6525,9 @@ type BatchWriteItemOutput struct { // bound for the estimate. The estimate includes the size of all the items // in the table, plus the size of all attributes projected into all of the // local secondary indexes on the table. Use this estimate to measure whether - // a local secondary index is approaching its size limit. - // - // The estimate is subject to change over time; therefore, do not rely on the - // precision or accuracy of the estimate. + // a local secondary index is approaching its size limit. The estimate is + // subject to change over time; therefore, do not rely on the precision or + // accuracy of the estimate. ItemCollectionMetrics map[string][]*ItemCollectionMetrics `type:"map"` // A map of tables and requests against those tables that were not processed. @@ -6395,24 +6539,19 @@ type BatchWriteItemOutput struct { // a list of operations to perform (DeleteRequest or PutRequest). // // * DeleteRequest - Perform a DeleteItem operation on the specified item. - // The item to be deleted is identified by a Key subelement: - // - // Key - A map of primary key attribute values that uniquely identify the item. - // Each entry in this map consists of an attribute name and an attribute - // value. + // The item to be deleted is identified by a Key subelement: Key - A map + // of primary key attribute values that uniquely identify the item. Each + // entry in this map consists of an attribute name and an attribute value. // // * PutRequest - Perform a PutItem operation on the specified item. The - // item to be put is identified by an Item subelement: - // - // Item - A map of attributes and their values. Each entry in this map consists - // of an attribute name and an attribute value. Attribute values must not - // be null; string and binary type attributes must have lengths greater than - // zero; and set type attributes must not be empty. Requests that contain - // empty values will be rejected with a ValidationException exception. - // - // If you specify any attributes that are part of an index key, then the data - // types for those attributes must match those of the schema in the table's - // attribute definition. + // item to be put is identified by an Item subelement: Item - A map of attributes + // and their values. Each entry in this map consists of an attribute name + // and an attribute value. Attribute values must not be null; string and + // binary type attributes must have lengths greater than zero; and set type + // attributes must not be empty. Requests that contain empty values will + // be rejected with a ValidationException exception. If you specify any attributes + // that are part of an index key, then the data types for those attributes + // must match those of the schema in the table's attribute definition. // // If there are no unprocessed items remaining, the response contains an empty // UnprocessedItems map. @@ -6580,12 +6719,9 @@ func (s *Capacity) SetWriteCapacityUnits(v float64) *Capacity { // // * For a Query operation, Condition is used for specifying the KeyConditions // to use when querying a table or an index. For KeyConditions, only the -// following comparison operators are supported: -// -// EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN -// -// Condition is also used in a QueryFilter, which evaluates the query results -// and returns only the desired values. +// following comparison operators are supported: EQ | LE | LT | GE | GT | +// BEGINS_WITH | BETWEEN Condition is also used in a QueryFilter, which evaluates +// the query results and returns only the desired values. // // * For a Scan operation, Condition is used in a ScanFilter, which evaluates // the scan results and returns only the desired values. @@ -6617,36 +6753,109 @@ type Condition struct { // The following are descriptions of each comparison operator. // // * EQ : Equal. EQ is supported for all data types, including lists and - // maps. + // maps. AttributeValueList can contain only one AttributeValue element of + // type String, Number, Binary, String Set, Number Set, or Binary Set. If + // an item contains an AttributeValue element of a different type than the + // one provided in the request, the value does not match. For example, {"S":"6"} + // does not equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", + // "1"]}. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, Binary, String Set, Number Set, or Binary Set. If an item contains - // an AttributeValue element of a different type than the one provided in + // * NE : Not equal. NE is supported for all data types, including lists + // and maps. AttributeValueList can contain only one AttributeValue of type + // String, Number, Binary, String Set, Number Set, or Binary Set. If an item + // contains an AttributeValue of a different type than the one provided in // the request, the value does not match. For example, {"S":"6"} does not // equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. // - // * NE : Not equal. NE is supported for all data types, including lists - // and maps. - // - // * AttributeValueList can contain only one AttributeValue of type String, - // Number, Binary, String Set, Number Set, or Binary Set. If an item contains - // an AttributeValue of a different type than the one provided in the request, - // the value does not match. For example, {"S":"6"} does not equal {"N":"6"}. - // Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. + // * LE : Less than or equal. AttributeValueList can contain only one AttributeValue + // element of type String, Number, or Binary (not a set type). If an item + // contains an AttributeValue element of a different type than the one provided + // in the request, the value does not match. For example, {"S":"6"} does + // not equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", + // "1"]}. // - // * LE : Less than or equal. - // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue - // element of a different type than the one provided in the request, the value - // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} - // does not compare to {"NS":["6", "2", "1"]}. - // - // LT: Less than. - // - // AttributeValueListcan contain only one AttributeValueof type String, Number, or Binary (not a set type). If an item contains an - // AttributeValueelement of a different type than the one provided in the request, the value - // does not match. For example, {"S":"6"}does not equal {"N":"6"}. Also, {"N":"6"}does not compare to {"NS":["6", "2", "1"]} + // * LT : Less than. AttributeValueList can contain only one AttributeValue + // of type String, Number, or Binary (not a set type). If an item contains + // an AttributeValue element of a different type than the one provided in + // the request, the value does not match. For example, {"S":"6"} does not + // equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", + // "1"]}. + // + // * GE : Greater than or equal. AttributeValueList can contain only one + // AttributeValue element of type String, Number, or Binary (not a set type). + // If an item contains an AttributeValue element of a different type than + // the one provided in the request, the value does not match. For example, + // {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does not compare to + // {"NS":["6", "2", "1"]}. + // + // * GT : Greater than. AttributeValueList can contain only one AttributeValue + // element of type String, Number, or Binary (not a set type). If an item + // contains an AttributeValue element of a different type than the one provided + // in the request, the value does not match. For example, {"S":"6"} does + // not equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", + // "1"]}. + // + // * NOT_NULL : The attribute exists. NOT_NULL is supported for all data + // types, including lists and maps. This operator tests for the existence + // of an attribute, not its data type. If the data type of attribute "a" + // is null, and you evaluate it using NOT_NULL, the result is a Boolean true. + // This result is because the attribute "a" exists; its data type is not + // relevant to the NOT_NULL comparison operator. + // + // * NULL : The attribute does not exist. NULL is supported for all data + // types, including lists and maps. This operator tests for the nonexistence + // of an attribute, not its data type. If the data type of attribute "a" + // is null, and you evaluate it using NULL, the result is a Boolean false. + // This is because the attribute "a" exists; its data type is not relevant + // to the NULL comparison operator. + // + // * CONTAINS : Checks for a subsequence, or value in a set. AttributeValueList + // can contain only one AttributeValue element of type String, Number, or + // Binary (not a set type). If the target attribute of the comparison is + // of type String, then the operator checks for a substring match. If the + // target attribute of the comparison is of type Binary, then the operator + // looks for a subsequence of the target that matches the input. If the target + // attribute of the comparison is a set ("SS", "NS", or "BS"), then the operator + // evaluates to true if it finds an exact match with any member of the set. + // CONTAINS is supported for lists: When evaluating "a CONTAINS b", "a" can + // be a list; however, "b" cannot be a set, a map, or a list. + // + // * NOT_CONTAINS : Checks for absence of a subsequence, or absence of a + // value in a set. AttributeValueList can contain only one AttributeValue + // element of type String, Number, or Binary (not a set type). If the target + // attribute of the comparison is a String, then the operator checks for + // the absence of a substring match. If the target attribute of the comparison + // is Binary, then the operator checks for the absence of a subsequence of + // the target that matches the input. If the target attribute of the comparison + // is a set ("SS", "NS", or "BS"), then the operator evaluates to true if + // it does not find an exact match with any member of the set. NOT_CONTAINS + // is supported for lists: When evaluating "a NOT CONTAINS b", "a" can be + // a list; however, "b" cannot be a set, a map, or a list. + // + // * BEGINS_WITH : Checks for a prefix. AttributeValueList can contain only + // one AttributeValue of type String or Binary (not a Number or a set type). + // The target attribute of the comparison must be of type String or Binary + // (not a Number or a set type). + // + // * IN : Checks for matching elements in a list. AttributeValueList can + // contain one or more AttributeValue elements of type String, Number, or + // Binary. These attributes are compared against an existing attribute of + // an item. If any elements of the input are equal to the item attribute, + // the expression evaluates to true. + // + // * BETWEEN : Greater than or equal to the first value, and less than or + // equal to the second value. AttributeValueList must contain two AttributeValue + // elements of the same type, either String, Number, or Binary (not a set + // type). A target attribute matches if the target value is greater than, + // or equal to, the first element and less than, or equal to, the second + // element. If an item contains an AttributeValue element of a different + // type than the one provided in the request, the value does not match. For + // example, {"S":"6"} does not compare to {"N":"6"}. Also, {"N":"6"} does + // not compare to {"NS":["6", "2", "1"]} + // + // For usage examples of AttributeValueList and ComparisonOperator, see Legacy + // Conditional Parameters (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html) + // in the Amazon DynamoDB Developer Guide. // // ComparisonOperator is a required field ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` @@ -6792,7 +7001,7 @@ func (s *ConditionCheck) SetTableName(v string) *ConditionCheck { // total provisioned throughput consumed, along with statistics for the table // and any indexes involved in the operation. ConsumedCapacity is only returned // if the request asked for it. For more information, see Provisioned Throughput -// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) +// (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) // in the Amazon DynamoDB Developer Guide. type ConsumedCapacity struct { _ struct{} `type:"structure"` @@ -7013,7 +7222,7 @@ type CreateGlobalSecondaryIndexAction struct { // index. // // For current minimum and maximum provisioned throughput values, see Limits - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) // in the Amazon DynamoDB Developer Guide. ProvisionedThroughput *ProvisionedThroughput `type:"structure"` } @@ -7105,7 +7314,7 @@ type CreateGlobalTableInput struct { // GlobalTableName is a required field GlobalTableName *string `min:"3" type:"string" required:"true"` - // The regions where the global table needs to be created. + // The Regions where the global table needs to be created. // // ReplicationGroup is a required field ReplicationGroup []*Replica `type:"list" required:"true"` @@ -7233,8 +7442,8 @@ type CreateTableInput struct { // using PAY_PER_REQUEST for unpredictable workloads. BillingMode *string `type:"string" enum:"BillingMode"` - // One or more global secondary indexes (the maximum is five) to be created - // on the table. Each global secondary index in the array includes the following: + // One or more global secondary indexes (the maximum is 20) to be created on + // the table. Each global secondary index in the array includes the following: // // * IndexName - The name of the global secondary index. Must be unique only // for this table. @@ -7244,22 +7453,16 @@ type CreateTableInput struct { // * Projection - Specifies attributes that are copied (projected) from the // table into the index. These are in addition to the primary key attributes // and index key attributes, which are automatically projected. Each attribute - // specification is composed of: - // - // * ProjectionType - One of the following: - // - // KEYS_ONLY - Only the index and primary keys are projected into the index. - // - // INCLUDE - Only the specified table attributes are projected into the index. - // The list of projected attributes are in NonKeyAttributes. - // - // ALL - All of the table attributes are projected into the index. - // - // NonKeyAttributes - A list of one or more non-key attribute names that are - // projected into the secondary index. The total count of attributes provided - // in NonKeyAttributes, summed across all of the secondary indexes, must - // not exceed 20. If you project the same attribute into two different indexes, - // this counts as two distinct attributes when determining the total. + // specification is composed of: ProjectionType - One of the following: KEYS_ONLY + // - Only the index and primary keys are projected into the index. INCLUDE + // - Only the specified table attributes are projected into the index. The + // list of projected attributes is in NonKeyAttributes. ALL - All of the + // table attributes are projected into the index. NonKeyAttributes - A list + // of one or more non-key attribute names that are projected into the secondary + // index. The total count of attributes provided in NonKeyAttributes, summed + // across all of the secondary indexes, must not exceed 100. If you project + // the same attribute into two different indexes, this counts as two distinct + // attributes when determining the total. // // * ProvisionedThroughput - The provisioned throughput settings for the // global secondary index, consisting of read and write capacity units. @@ -7267,21 +7470,18 @@ type CreateTableInput struct { // Specifies the attributes that make up the primary key for a table or an index. // The attributes in KeySchema must also be defined in the AttributeDefinitions - // array. For more information, see Data Model (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html) + // array. For more information, see Data Model (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html) // in the Amazon DynamoDB Developer Guide. // // Each KeySchemaElement in the array is composed of: // // * AttributeName - The name of this key attribute. // - // * KeyType - The role that the key attribute will assume: - // - // HASH - partition key - // - // RANGE - sort key + // * KeyType - The role that the key attribute will assume: HASH - partition + // key RANGE - sort key // // The partition key of an item is also known as its hash attribute. The term - // "hash attribute" derives from DynamoDB' usage of an internal hash function + // "hash attribute" derives from the DynamoDB usage of an internal hash function // to evenly distribute data items across partitions, based on their partition // key values. // @@ -7296,16 +7496,16 @@ type CreateTableInput struct { // exactly two elements, in this order: The first element must have a KeyType // of HASH, and the second element must have a KeyType of RANGE. // - // For more information, see Specifying the Primary Key (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key) + // For more information, see Working with Tables (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key) // in the Amazon DynamoDB Developer Guide. // // KeySchema is a required field KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"` - // One or more local secondary indexes (the maximum is five) to be created on - // the table. Each index is scoped to a given partition key value. There is - // a 10 GB size limit per partition key value; otherwise, the size of a local - // secondary index is unconstrained. + // One or more local secondary indexes (the maximum is 5) to be created on the + // table. Each index is scoped to a given partition key value. There is a 10 + // GB size limit per partition key value; otherwise, the size of a local secondary + // index is unconstrained. // // Each local secondary index in the array includes the following: // @@ -7318,22 +7518,16 @@ type CreateTableInput struct { // * Projection - Specifies attributes that are copied (projected) from the // table into the index. These are in addition to the primary key attributes // and index key attributes, which are automatically projected. Each attribute - // specification is composed of: - // - // * ProjectionType - One of the following: - // - // KEYS_ONLY - Only the index and primary keys are projected into the index. - // - // INCLUDE - Only the specified table attributes are projected into the index. - // The list of projected attributes are in NonKeyAttributes. - // - // ALL - All of the table attributes are projected into the index. - // - // NonKeyAttributes - A list of one or more non-key attribute names that are - // projected into the secondary index. The total count of attributes provided - // in NonKeyAttributes, summed across all of the secondary indexes, must - // not exceed 20. If you project the same attribute into two different indexes, - // this counts as two distinct attributes when determining the total. + // specification is composed of: ProjectionType - One of the following: KEYS_ONLY + // - Only the index and primary keys are projected into the index. INCLUDE + // - Only the specified table attributes are projected into the index. The + // list of projected attributes is in NonKeyAttributes. ALL - All of the + // table attributes are projected into the index. NonKeyAttributes - A list + // of one or more non-key attribute names that are projected into the secondary + // index. The total count of attributes provided in NonKeyAttributes, summed + // across all of the secondary indexes, must not exceed 100. If you project + // the same attribute into two different indexes, this counts as two distinct + // attributes when determining the total. LocalSecondaryIndexes []*LocalSecondaryIndex `type:"list"` // Represents the provisioned throughput settings for a specified table or index. @@ -7343,7 +7537,7 @@ type CreateTableInput struct { // you set BillingMode as PAY_PER_REQUEST, you cannot specify this property. // // For current minimum and maximum provisioned throughput values, see Limits - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) // in the Amazon DynamoDB Developer Guide. ProvisionedThroughput *ProvisionedThroughput `type:"structure"` @@ -7352,30 +7546,27 @@ type CreateTableInput struct { // The settings for DynamoDB Streams on the table. These settings consist of: // - // * StreamEnabled - Indicates whether Streams is to be enabled (true) or - // disabled (false). + // * StreamEnabled - Indicates whether DynamoDB Streams is to be enabled + // (true) or disabled (false). // // * StreamViewType - When an item in the table is modified, StreamViewType // determines what information is written to the table's stream. Valid values - // for StreamViewType are: - // - // KEYS_ONLY - Only the key attributes of the modified item are written to the - // stream. - // - // NEW_IMAGE - The entire item, as it appears after it was modified, is written - // to the stream. - // - // OLD_IMAGE - The entire item, as it appeared before it was modified, is written - // to the stream. - // - // NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are - // written to the stream. + // for StreamViewType are: KEYS_ONLY - Only the key attributes of the modified + // item are written to the stream. NEW_IMAGE - The entire item, as it appears + // after it was modified, is written to the stream. OLD_IMAGE - The entire + // item, as it appeared before it was modified, is written to the stream. + // NEW_AND_OLD_IMAGES - Both the new and the old item images of the item + // are written to the stream. StreamSpecification *StreamSpecification `type:"structure"` // The name of the table to create. // // TableName is a required field TableName *string `min:"3" type:"string" required:"true"` + + // A list of key-value pairs to label the table. For more information, see Tagging + // for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html). + Tags []*Tag `type:"list"` } // String returns the string representation @@ -7451,6 +7642,16 @@ func (s *CreateTableInput) Validate() error { invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams)) } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -7512,6 +7713,12 @@ func (s *CreateTableInput) SetTableName(v string) *CreateTableInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateTableInput) SetTags(v []*Tag) *CreateTableInput { + s.Tags = v + return s +} + // Represents the output of a CreateTable operation. type CreateTableOutput struct { _ struct{} `type:"structure"` @@ -7747,26 +7954,24 @@ type DeleteItemInput struct { // An expression can contain any of the following: // // * Functions: attribute_exists | attribute_not_exists | attribute_type - // | contains | begins_with | size - // - // These function names are case-sensitive. + // | contains | begins_with | size These function names are case-sensitive. // // * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN // - // * Logical operators: AND | OR | NOT + // * Logical operators: AND | OR | NOT // - // For more information on condition expressions, see Specifying Conditions - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) + // For more information about condition expressions, see Condition Expressions + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) // in the Amazon DynamoDB Developer Guide. ConditionExpression *string `type:"string"` // This is a legacy parameter. Use ConditionExpression instead. For more information, - // see ConditionalOperator (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) + // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) // in the Amazon DynamoDB Developer Guide. ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` // This is a legacy parameter. Use ConditionExpression instead. For more information, - // see Expected (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) + // see Expected (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) // in the Amazon DynamoDB Developer Guide. Expected map[string]*ExpectedAttributeValue `type:"map"` @@ -7789,7 +7994,7 @@ type DeleteItemInput struct { // // The name of this attribute conflicts with a reserved word, so it cannot be // used directly in an expression. (For the complete list of reserved words, - // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) + // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide). To work around this, you could specify // the following for ExpressionAttributeNames: // @@ -7802,8 +8007,8 @@ type DeleteItemInput struct { // Tokens that begin with the : character are expression attribute values, which // are placeholders for the actual value at runtime. // - // For more information on expression attribute names, see Accessing Item Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information on expression attribute names, see Specifying Item Attributes + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeNames map[string]*string `type:"map"` @@ -7824,8 +8029,8 @@ type DeleteItemInput struct { // // ProductStatus IN (:avail, :back, :disc) // - // For more information on expression attribute values, see Specifying Conditions - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) + // For more information on expression attribute values, see Condition Expressions + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeValues map[string]*AttributeValue `type:"map"` @@ -7845,11 +8050,9 @@ type DeleteItemInput struct { // // * INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary - // index that was accessed. - // - // Note that some operations, such as GetItem and BatchGetItem, do not access - // any indexes at all. In these cases, specifying INDEXES will only return - // ConsumedCapacity information for table(s). + // index that was accessed. Note that some operations, such as GetItem and + // BatchGetItem, do not access any indexes at all. In these cases, specifying + // INDEXES will only return ConsumedCapacity information for table(s). // // * TOTAL - The response includes only the aggregate ConsumedCapacity for // the operation. @@ -7983,7 +8186,7 @@ type DeleteItemOutput struct { // includes the total provisioned throughput consumed, along with statistics // for the table and any indexes involved in the operation. ConsumedCapacity // is only returned if the ReturnConsumedCapacity parameter was specified. For - // more information, see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) + // more information, see Provisioned Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) // in the Amazon DynamoDB Developer Guide. ConsumedCapacity *ConsumedCapacity `type:"structure"` @@ -8002,10 +8205,9 @@ type DeleteItemOutput struct { // bound for the estimate. The estimate includes the size of all the items // in the table, plus the size of all attributes projected into all of the // local secondary indexes on that table. Use this estimate to measure whether - // a local secondary index is approaching its size limit. - // - // The estimate is subject to change over time; therefore, do not rely on the - // precision or accuracy of the estimate. + // a local secondary index is approaching its size limit. The estimate is + // subject to change over time; therefore, do not rely on the precision or + // accuracy of the estimate. ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"` } @@ -8173,7 +8375,7 @@ func (s *DeleteTableOutput) SetTableDescription(v *TableDescription) *DeleteTabl type DescribeBackupInput struct { _ struct{} `type:"structure"` - // The ARN associated with the backup. + // The Amazon Resource Name (ARN) associated with the backup. // // BackupArn is a required field BackupArn *string `min:"37" type:"string" required:"true"` @@ -8317,6 +8519,8 @@ func (s DescribeEndpointsInput) GoString() string { type DescribeEndpointsOutput struct { _ struct{} `type:"structure"` + // List of endpoints. + // // Endpoints is a required field Endpoints []*Endpoint `type:"list" required:"true"` } @@ -8448,7 +8652,7 @@ type DescribeGlobalTableSettingsOutput struct { // The name of the global table. GlobalTableName *string `min:"3" type:"string"` - // The region specific settings for the global table. + // The Region-specific settings for the global table. ReplicaSettings []*ReplicaSettingsDescription `type:"list"` } @@ -8494,20 +8698,20 @@ type DescribeLimitsOutput struct { _ struct{} `type:"structure"` // The maximum total read capacity units that your account allows you to provision - // across all of your tables in this region. + // across all of your tables in this Region. AccountMaxReadCapacityUnits *int64 `min:"1" type:"long"` // The maximum total write capacity units that your account allows you to provision - // across all of your tables in this region. + // across all of your tables in this Region. AccountMaxWriteCapacityUnits *int64 `min:"1" type:"long"` // The maximum read capacity units that your account allows you to provision - // for a new table that you are creating in this region, including the read + // for a new table that you are creating in this Region, including the read // capacity units provisioned for its global secondary indexes (GSIs). TableMaxReadCapacityUnits *int64 `min:"1" type:"long"` // The maximum write capacity units that your account allows you to provision - // for a new table that you are creating in this region, including the write + // for a new table that you are creating in this Region, including the write // capacity units provisioned for its global secondary indexes (GSIs). TableMaxWriteCapacityUnits *int64 `min:"1" type:"long"` } @@ -8676,12 +8880,17 @@ func (s *DescribeTimeToLiveOutput) SetTimeToLiveDescription(v *TimeToLiveDescrip return s } +// An endpoint information details. type Endpoint struct { _ struct{} `type:"structure"` + // IP address of the endpoint. + // // Address is a required field Address *string `type:"string" required:"true"` + // Endpoint cache time to live (TTL) value. + // // CachePeriodInMinutes is a required field CachePeriodInMinutes *int64 `type:"long" required:"true"` } @@ -8744,7 +8953,7 @@ type ExpectedAttributeValue struct { // For Binary, DynamoDB treats each byte of the binary data as unsigned when // it compares binary values. // - // For information on specifying data types in JSON, see JSON Data Format (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html) + // For information on specifying data types in JSON, see JSON Data Format (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html) // in the Amazon DynamoDB Developer Guide. AttributeValueList []*AttributeValue `type:"list"` @@ -8759,36 +8968,105 @@ type ExpectedAttributeValue struct { // The following are descriptions of each comparison operator. // // * EQ : Equal. EQ is supported for all data types, including lists and - // maps. + // maps. AttributeValueList can contain only one AttributeValue element of + // type String, Number, Binary, String Set, Number Set, or Binary Set. If + // an item contains an AttributeValue element of a different type than the + // one provided in the request, the value does not match. For example, {"S":"6"} + // does not equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", + // "1"]}. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, Binary, String Set, Number Set, or Binary Set. If an item contains - // an AttributeValue element of a different type than the one provided in + // * NE : Not equal. NE is supported for all data types, including lists + // and maps. AttributeValueList can contain only one AttributeValue of type + // String, Number, Binary, String Set, Number Set, or Binary Set. If an item + // contains an AttributeValue of a different type than the one provided in // the request, the value does not match. For example, {"S":"6"} does not // equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. // - // * NE : Not equal. NE is supported for all data types, including lists - // and maps. - // - // * AttributeValueList can contain only one AttributeValue of type String, - // Number, Binary, String Set, Number Set, or Binary Set. If an item contains - // an AttributeValue of a different type than the one provided in the request, - // the value does not match. For example, {"S":"6"} does not equal {"N":"6"}. - // Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. - // - // * LE : Less than or equal. - // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue - // element of a different type than the one provided in the request, the value - // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} - // does not compare to {"NS":["6", "2", "1"]}. - // - // LT: Less than. + // * LE : Less than or equal. AttributeValueList can contain only one AttributeValue + // element of type String, Number, or Binary (not a set type). If an item + // contains an AttributeValue element of a different type than the one provided + // in the request, the value does not match. For example, {"S":"6"} does + // not equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", + // "1"]}. // - // AttributeValueListcan contain only one AttributeValueof type String, Number, or Binary (not a set type). If an item contains an - // AttributeValueelement of a different type than the one provided in the request, the value - // does not match. For example, {"S":"6"}does not equal {"N":"6"}. Also, {"N":"6"}does not compare to {"NS":["6", "2", "1"]} + // * LT : Less than. AttributeValueList can contain only one AttributeValue + // of type String, Number, or Binary (not a set type). If an item contains + // an AttributeValue element of a different type than the one provided in + // the request, the value does not match. For example, {"S":"6"} does not + // equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", + // "1"]}. + // + // * GE : Greater than or equal. AttributeValueList can contain only one + // AttributeValue element of type String, Number, or Binary (not a set type). + // If an item contains an AttributeValue element of a different type than + // the one provided in the request, the value does not match. For example, + // {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does not compare to + // {"NS":["6", "2", "1"]}. + // + // * GT : Greater than. AttributeValueList can contain only one AttributeValue + // element of type String, Number, or Binary (not a set type). If an item + // contains an AttributeValue element of a different type than the one provided + // in the request, the value does not match. For example, {"S":"6"} does + // not equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2", + // "1"]}. + // + // * NOT_NULL : The attribute exists. NOT_NULL is supported for all data + // types, including lists and maps. This operator tests for the existence + // of an attribute, not its data type. If the data type of attribute "a" + // is null, and you evaluate it using NOT_NULL, the result is a Boolean true. + // This result is because the attribute "a" exists; its data type is not + // relevant to the NOT_NULL comparison operator. + // + // * NULL : The attribute does not exist. NULL is supported for all data + // types, including lists and maps. This operator tests for the nonexistence + // of an attribute, not its data type. If the data type of attribute "a" + // is null, and you evaluate it using NULL, the result is a Boolean false. + // This is because the attribute "a" exists; its data type is not relevant + // to the NULL comparison operator. + // + // * CONTAINS : Checks for a subsequence, or value in a set. AttributeValueList + // can contain only one AttributeValue element of type String, Number, or + // Binary (not a set type). If the target attribute of the comparison is + // of type String, then the operator checks for a substring match. If the + // target attribute of the comparison is of type Binary, then the operator + // looks for a subsequence of the target that matches the input. If the target + // attribute of the comparison is a set ("SS", "NS", or "BS"), then the operator + // evaluates to true if it finds an exact match with any member of the set. + // CONTAINS is supported for lists: When evaluating "a CONTAINS b", "a" can + // be a list; however, "b" cannot be a set, a map, or a list. + // + // * NOT_CONTAINS : Checks for absence of a subsequence, or absence of a + // value in a set. AttributeValueList can contain only one AttributeValue + // element of type String, Number, or Binary (not a set type). If the target + // attribute of the comparison is a String, then the operator checks for + // the absence of a substring match. If the target attribute of the comparison + // is Binary, then the operator checks for the absence of a subsequence of + // the target that matches the input. If the target attribute of the comparison + // is a set ("SS", "NS", or "BS"), then the operator evaluates to true if + // it does not find an exact match with any member of the set. NOT_CONTAINS + // is supported for lists: When evaluating "a NOT CONTAINS b", "a" can be + // a list; however, "b" cannot be a set, a map, or a list. + // + // * BEGINS_WITH : Checks for a prefix. AttributeValueList can contain only + // one AttributeValue of type String or Binary (not a Number or a set type). + // The target attribute of the comparison must be of type String or Binary + // (not a Number or a set type). + // + // * IN : Checks for matching elements in a list. AttributeValueList can + // contain one or more AttributeValue elements of type String, Number, or + // Binary. These attributes are compared against an existing attribute of + // an item. If any elements of the input are equal to the item attribute, + // the expression evaluates to true. + // + // * BETWEEN : Greater than or equal to the first value, and less than or + // equal to the second value. AttributeValueList must contain two AttributeValue + // elements of the same type, either String, Number, or Binary (not a set + // type). A target attribute matches if the target value is greater than, + // or equal to, the first element and less than, or equal to, the second + // element. If an item contains an AttributeValue element of a different + // type than the one provided in the request, the value does not match. For + // example, {"S":"6"} does not compare to {"N":"6"}. Also, {"N":"6"} does + // not compare to {"NS":["6", "2", "1"]} ComparisonOperator *string `type:"string" enum:"ComparisonOperator"` // Causes DynamoDB to evaluate the value before attempting a conditional operation: @@ -8820,7 +9098,7 @@ type ExpectedAttributeValue struct { // Each attribute value is described as a name-value pair. The name is the data // type, and the value is the data itself. // - // For more information, see Data Types (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes) + // For more information, see Data Types (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes) // in the Amazon DynamoDB Developer Guide. Value *AttributeValue `type:"structure"` } @@ -8945,7 +9223,7 @@ type GetItemInput struct { _ struct{} `type:"structure"` // This is a legacy parameter. Use ProjectionExpression instead. For more information, - // see AttributesToGet (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html) + // see AttributesToGet (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html) // in the Amazon DynamoDB Developer Guide. AttributesToGet []*string `min:"1" type:"list"` @@ -8973,7 +9251,7 @@ type GetItemInput struct { // // The name of this attribute conflicts with a reserved word, so it cannot be // used directly in an expression. (For the complete list of reserved words, - // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) + // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide). To work around this, you could specify // the following for ExpressionAttributeNames: // @@ -8986,8 +9264,8 @@ type GetItemInput struct { // Tokens that begin with the : character are expression attribute values, which // are placeholders for the actual value at runtime. // - // For more information on expression attribute names, see Accessing Item Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information on expression attribute names, see Specifying Item Attributes + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeNames map[string]*string `type:"map"` @@ -9006,11 +9284,11 @@ type GetItemInput struct { // These attributes can include scalars, sets, or elements of a JSON document. // The attributes in the expression must be separated by commas. // - // If no attribute names are specified, then all attributes will be returned. - // If any of the requested attributes are not found, they will not appear in - // the result. + // If no attribute names are specified, then all attributes are returned. If + // any of the requested attributes are not found, they do not appear in the + // result. // - // For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information, see Specifying Item Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ProjectionExpression *string `type:"string"` @@ -9019,11 +9297,9 @@ type GetItemInput struct { // // * INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary - // index that was accessed. - // - // Note that some operations, such as GetItem and BatchGetItem, do not access - // any indexes at all. In these cases, specifying INDEXES will only return - // ConsumedCapacity information for table(s). + // index that was accessed. Note that some operations, such as GetItem and + // BatchGetItem, do not access any indexes at all. In these cases, specifying + // INDEXES will only return ConsumedCapacity information for table(s). // // * TOTAL - The response includes only the aggregate ConsumedCapacity for // the operation. @@ -9119,7 +9395,7 @@ type GetItemOutput struct { // the total provisioned throughput consumed, along with statistics for the // table and any indexes involved in the operation. ConsumedCapacity is only // returned if the ReturnConsumedCapacity parameter was specified. For more - // information, see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) + // information, see Read/Write Capacity Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) // in the Amazon DynamoDB Developer Guide. ConsumedCapacity *ConsumedCapacity `type:"structure"` @@ -9189,7 +9465,7 @@ type GlobalSecondaryIndex struct { // index. // // For current minimum and maximum provisioned throughput values, see Limits - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) // in the Amazon DynamoDB Developer Guide. ProvisionedThroughput *ProvisionedThroughput `type:"structure"` } @@ -9340,7 +9616,7 @@ type GlobalSecondaryIndexDescription struct { // index. // // For current minimum and maximum provisioned throughput values, see Limits - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) // in the Amazon DynamoDB Developer Guide. ProvisionedThroughput *ProvisionedThroughputDescription `type:"structure"` } @@ -9896,7 +10172,7 @@ type KeysAndAttributes struct { _ struct{} `type:"structure"` // This is a legacy parameter. Use ProjectionExpression instead. For more information, - // see Legacy Conditional Parameters (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html) + // see Legacy Conditional Parameters (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html) // in the Amazon DynamoDB Developer Guide. AttributesToGet []*string `min:"1" type:"list"` @@ -9923,7 +10199,7 @@ type KeysAndAttributes struct { // // The name of this attribute conflicts with a reserved word, so it cannot be // used directly in an expression. (For the complete list of reserved words, - // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) + // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide). To work around this, you could specify // the following for ExpressionAttributeNames: // @@ -9937,7 +10213,7 @@ type KeysAndAttributes struct { // are placeholders for the actual value at runtime. // // For more information on expression attribute names, see Accessing Item Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeNames map[string]*string `type:"map"` @@ -9955,7 +10231,7 @@ type KeysAndAttributes struct { // If any of the requested attributes are not found, they will not appear in // the result. // - // For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information, see Accessing Item Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ProjectionExpression *string `type:"string"` } @@ -10033,10 +10309,10 @@ type ListBackupsInput struct { // * ALL - All types of on-demand backups (USER and SYSTEM). BackupType *string `type:"string" enum:"BackupTypeFilter"` - // LastEvaluatedBackupArn is the ARN of the backup last evaluated when the current - // page of results was returned, inclusive of the current page of results. This - // value may be specified as the ExclusiveStartBackupArn of a new ListBackups - // operation in order to fetch the next page of results. + // LastEvaluatedBackupArn is the Amazon Resource Name (ARN) of the backup last + // evaluated when the current page of results was returned, inclusive of the + // current page of results. This value may be specified as the ExclusiveStartBackupArn + // of a new ListBackups operation in order to fetch the next page of results. ExclusiveStartBackupArn *string `min:"37" type:"string"` // Maximum number of backups to return at once. @@ -10132,9 +10408,9 @@ type ListBackupsOutput struct { // If LastEvaluatedBackupArn is empty, then the last page of results has been // processed and there are no more results to be retrieved. // - // If LastEvaluatedBackupArn is not empty, this may or may not indicate there - // is more data to be returned. All results are guaranteed to have been returned - // if and only if no value for LastEvaluatedBackupArn is returned. + // If LastEvaluatedBackupArn is not empty, this may or may not indicate that + // there is more data to be returned. All results are guaranteed to have been + // returned if and only if no value for LastEvaluatedBackupArn is returned. LastEvaluatedBackupArn *string `min:"37" type:"string"` } @@ -10169,7 +10445,7 @@ type ListGlobalTablesInput struct { // The maximum number of table names to return. Limit *int64 `min:"1" type:"integer"` - // Lists the global tables in a specific region. + // Lists the global tables in a specific Region. RegionName *string `type:"string"` } @@ -10836,14 +11112,14 @@ func (s *Projection) SetProjectionType(v string) *Projection { // The settings can be modified using the UpdateTable operation. // // For current minimum and maximum provisioned throughput values, see Limits -// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) +// (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) // in the Amazon DynamoDB Developer Guide. type ProvisionedThroughput struct { _ struct{} `type:"structure"` // The maximum number of strongly consistent reads consumed per second before // DynamoDB returns a ThrottlingException. For more information, see Specifying - // Read and Write Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) + // Read and Write Requirements (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) // in the Amazon DynamoDB Developer Guide. // // If read/write capacity mode is PAY_PER_REQUEST the value is set to 0. @@ -10853,7 +11129,7 @@ type ProvisionedThroughput struct { // The maximum number of writes consumed per second before DynamoDB returns // a ThrottlingException. For more information, see Specifying Read and Write - // Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) + // Requirements (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) // in the Amazon DynamoDB Developer Guide. // // If read/write capacity mode is PAY_PER_REQUEST the value is set to 0. @@ -10919,7 +11195,7 @@ type ProvisionedThroughputDescription struct { // The number of provisioned throughput decreases for this table during this // UTC calendar day. For current maximums on provisioned throughput decreases, - // see Limits (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) + // see Limits (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) // in the Amazon DynamoDB Developer Guide. NumberOfDecreasesToday *int64 `min:"1" type:"long"` @@ -11082,26 +11358,24 @@ type PutItemInput struct { // An expression can contain any of the following: // // * Functions: attribute_exists | attribute_not_exists | attribute_type - // | contains | begins_with | size - // - // These function names are case-sensitive. + // | contains | begins_with | size These function names are case-sensitive. // // * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN // - // * Logical operators: AND | OR | NOT + // * Logical operators: AND | OR | NOT // - // For more information on condition expressions, see Specifying Conditions - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) + // For more information on condition expressions, see Condition Expressions + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) // in the Amazon DynamoDB Developer Guide. ConditionExpression *string `type:"string"` // This is a legacy parameter. Use ConditionExpression instead. For more information, - // see ConditionalOperator (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) + // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) // in the Amazon DynamoDB Developer Guide. ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` // This is a legacy parameter. Use ConditionExpression instead. For more information, - // see Expected (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) + // see Expected (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) // in the Amazon DynamoDB Developer Guide. Expected map[string]*ExpectedAttributeValue `type:"map"` @@ -11124,7 +11398,7 @@ type PutItemInput struct { // // The name of this attribute conflicts with a reserved word, so it cannot be // used directly in an expression. (For the complete list of reserved words, - // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) + // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide). To work around this, you could specify // the following for ExpressionAttributeNames: // @@ -11137,8 +11411,8 @@ type PutItemInput struct { // Tokens that begin with the : character are expression attribute values, which // are placeholders for the actual value at runtime. // - // For more information on expression attribute names, see Accessing Item Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information on expression attribute names, see Specifying Item Attributes + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeNames map[string]*string `type:"map"` @@ -11159,8 +11433,8 @@ type PutItemInput struct { // // ProductStatus IN (:avail, :back, :disc) // - // For more information on expression attribute values, see Specifying Conditions - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) + // For more information on expression attribute values, see Condition Expressions + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeValues map[string]*AttributeValue `type:"map"` @@ -11177,7 +11451,7 @@ type PutItemInput struct { // types for those attributes must match those of the schema in the table's // attribute definition. // - // For more information about primary keys, see Primary Key (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey) + // For more information about primary keys, see Primary Key (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey) // in the Amazon DynamoDB Developer Guide. // // Each element in the Item map is an AttributeValue object. @@ -11190,11 +11464,9 @@ type PutItemInput struct { // // * INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary - // index that was accessed. - // - // Note that some operations, such as GetItem and BatchGetItem, do not access - // any indexes at all. In these cases, specifying INDEXES will only return - // ConsumedCapacity information for table(s). + // index that was accessed. Note that some operations, such as GetItem and + // BatchGetItem, do not access any indexes at all. In these cases, specifying + // INDEXES will only return ConsumedCapacity information for table(s). // // * TOTAL - The response includes only the aggregate ConsumedCapacity for // the operation. @@ -11330,7 +11602,7 @@ type PutItemOutput struct { // the total provisioned throughput consumed, along with statistics for the // table and any indexes involved in the operation. ConsumedCapacity is only // returned if the ReturnConsumedCapacity parameter was specified. For more - // information, see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) + // information, see Read/Write Capacity Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) // in the Amazon DynamoDB Developer Guide. ConsumedCapacity *ConsumedCapacity `type:"structure"` @@ -11349,10 +11621,9 @@ type PutItemOutput struct { // bound for the estimate. The estimate includes the size of all the items // in the table, plus the size of all attributes projected into all of the // local secondary indexes on that table. Use this estimate to measure whether - // a local secondary index is approaching its size limit. - // - // The estimate is subject to change over time; therefore, do not rely on the - // precision or accuracy of the estimate. + // a local secondary index is approaching its size limit. The estimate is + // subject to change over time; therefore, do not rely on the precision or + // accuracy of the estimate. ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"` } @@ -11419,12 +11690,12 @@ type QueryInput struct { _ struct{} `type:"structure"` // This is a legacy parameter. Use ProjectionExpression instead. For more information, - // see AttributesToGet (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html) + // see AttributesToGet (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html) // in the Amazon DynamoDB Developer Guide. AttributesToGet []*string `min:"1" type:"list"` // This is a legacy parameter. Use FilterExpression instead. For more information, - // see ConditionalOperator (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) + // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) // in the Amazon DynamoDB Developer Guide. ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` @@ -11440,7 +11711,7 @@ type QueryInput struct { // The primary key of the first item that this operation will evaluate. Use // the value that was returned for LastEvaluatedKey in the previous operation. // - // The data type for ExclusiveStartKey must be String, Number or Binary. No + // The data type for ExclusiveStartKey must be String, Number, or Binary. No // set data types are allowed. ExclusiveStartKey map[string]*AttributeValue `type:"map"` @@ -11463,7 +11734,7 @@ type QueryInput struct { // // The name of this attribute conflicts with a reserved word, so it cannot be // used directly in an expression. (For the complete list of reserved words, - // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) + // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide). To work around this, you could specify // the following for ExpressionAttributeNames: // @@ -11476,8 +11747,8 @@ type QueryInput struct { // Tokens that begin with the : character are expression attribute values, which // are placeholders for the actual value at runtime. // - // For more information on expression attribute names, see Accessing Item Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information on expression attribute names, see Specifying Item Attributes + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeNames map[string]*string `type:"map"` @@ -11499,7 +11770,7 @@ type QueryInput struct { // ProductStatus IN (:avail, :back, :disc) // // For more information on expression attribute values, see Specifying Conditions - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeValues map[string]*AttributeValue `type:"map"` @@ -11513,7 +11784,7 @@ type QueryInput struct { // A FilterExpression is applied after the items have already been read; the // process of filtering does not consume any additional read capacity units. // - // For more information, see Filter Expressions (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults) + // For more information, see Filter Expressions (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults) // in the Amazon DynamoDB Developer Guide. FilterExpression *string `type:"string"` @@ -11522,7 +11793,7 @@ type QueryInput struct { // parameter, you must also provide TableName. IndexName *string `min:"3" type:"string"` - // The condition that specifies the key value(s) for items to be retrieved by + // The condition that specifies the key values for items to be retrieved by // the Query action. // // The condition must perform an equality test on a single partition key value. @@ -11535,34 +11806,35 @@ type QueryInput struct { // The partition key equality test is required, and must be specified in the // following format: // - // partitionKeyName=:partitionkeyval + // partitionKeyName = :partitionkeyval // // If you also want to provide a condition for the sort key, it must be combined // using AND with the condition for the sort key. Following is an example, using // the = comparison operator for the sort key: // - // partitionKeyName=:partitionkeyvalANDsortKeyName=:sortkeyval + // partitionKeyName = :partitionkeyval AND sortKeyName = :sortkeyval // // Valid comparisons for the sort key condition are as follows: // - // * sortKeyName=:sortkeyval - true if the sort key value is equal to :sortkeyval. + // * sortKeyName = :sortkeyval - true if the sort key value is equal to :sortkeyval. // - // * sortKeyName<:sortkeyval - true if the sort key value is less than :sortkeyval. + // * sortKeyName < :sortkeyval - true if the sort key value is less than + // :sortkeyval. // - // * sortKeyName<=:sortkeyval - true if the sort key value is less than or - // equal to :sortkeyval. + // * sortKeyName <= :sortkeyval - true if the sort key value is less than + // or equal to :sortkeyval. // - // * sortKeyName>:sortkeyval - true if the sort key value is greater than + // * sortKeyName > :sortkeyval - true if the sort key value is greater than // :sortkeyval. // - // * sortKeyName>= :sortkeyval - true if the sort key value is greater than + // * sortKeyName >= :sortkeyval - true if the sort key value is greater than // or equal to :sortkeyval. // - // * sortKeyNameBETWEEN:sortkeyval1AND:sortkeyval2 - true if the sort key - // value is greater than or equal to :sortkeyval1, and less than or equal + // * sortKeyName BETWEEN :sortkeyval1 AND :sortkeyval2 - true if the sort + // key value is greater than or equal to :sortkeyval1, and less than or equal // to :sortkeyval2. // - // * begins_with (sortKeyName, :sortkeyval) - true if the sort key value + // * begins_with ( sortKeyName, :sortkeyval ) - true if the sort key value // begins with a particular operand. (You cannot use this function with a // sort key that is of type Number.) Note that the function name begins_with // is case-sensitive. @@ -11583,16 +11855,16 @@ type QueryInput struct { // // * #S = :myval // - // For a list of reserved words, see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) + // For a list of reserved words, see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide. // // For more information on ExpressionAttributeNames and ExpressionAttributeValues, - // see Using Placeholders for Attribute Names and Values (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html) + // see Using Placeholders for Attribute Names and Values (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html) // in the Amazon DynamoDB Developer Guide. KeyConditionExpression *string `type:"string"` // This is a legacy parameter. Use KeyConditionExpression instead. For more - // information, see KeyConditions (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html) + // information, see KeyConditions (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html) // in the Amazon DynamoDB Developer Guide. KeyConditions map[string]*Condition `type:"map"` @@ -11600,11 +11872,11 @@ type QueryInput struct { // items). If DynamoDB processes the number of items up to the limit while processing // the results, it stops the operation and returns the matching values up to // that point, and a key in LastEvaluatedKey to apply in a subsequent operation, - // so that you can pick up where you left off. Also, if the processed data set + // so that you can pick up where you left off. Also, if the processed dataset // size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation // and returns the matching values up to the limit, and a key in LastEvaluatedKey // to apply in a subsequent operation to continue the operation. For more information, - // see Query and Scan (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html) + // see Query and Scan (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html) // in the Amazon DynamoDB Developer Guide. Limit *int64 `min:"1" type:"integer"` @@ -11616,12 +11888,12 @@ type QueryInput struct { // If any of the requested attributes are not found, they will not appear in // the result. // - // For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information, see Accessing Item Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ProjectionExpression *string `type:"string"` // This is a legacy parameter. Use FilterExpression instead. For more information, - // see QueryFilter (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html) + // see QueryFilter (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html) // in the Amazon DynamoDB Developer Guide. QueryFilter map[string]*Condition `type:"map"` @@ -11630,11 +11902,9 @@ type QueryInput struct { // // * INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary - // index that was accessed. - // - // Note that some operations, such as GetItem and BatchGetItem, do not access - // any indexes at all. In these cases, specifying INDEXES will only return - // ConsumedCapacity information for table(s). + // index that was accessed. Note that some operations, such as GetItem and + // BatchGetItem, do not access any indexes at all. In these cases, specifying + // INDEXES will only return ConsumedCapacity information for table(s). // // * TOTAL - The response includes only the aggregate ConsumedCapacity for // the operation. @@ -11663,10 +11933,10 @@ type QueryInput struct { // // * ALL_ATTRIBUTES - Returns all of the item attributes from the specified // table or index. If you query a local secondary index, then for each matching - // item in the index DynamoDB will fetch the entire item from the parent - // table. If the index is configured to project all item attributes, then - // all of the data can be obtained from the local secondary index, and no - // fetching is required. + // item in the index, DynamoDB fetches the entire item from the parent table. + // If the index is configured to project all item attributes, then all of + // the data can be obtained from the local secondary index, and no fetching + // is required. // // * ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves // all attributes that have been projected into the index. If the index is @@ -11678,18 +11948,15 @@ type QueryInput struct { // // * SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet. // This return value is equivalent to specifying AttributesToGet without - // specifying any value for Select. - // - // If you query or scan a local secondary index and request only attributes - // that are projected into that index, the operation will read only the index - // and not the table. If any of the requested attributes are not projected - // into the local secondary index, DynamoDB will fetch each of these attributes - // from the parent table. This extra fetching incurs additional throughput - // cost and latency. - // - // If you query or scan a global secondary index, you can only request attributes - // that are projected into the index. Global secondary index queries cannot - // fetch attributes from the parent table. + // specifying any value for Select. If you query or scan a local secondary + // index and request only attributes that are projected into that index, + // the operation will read only the index and not the table. If any of the + // requested attributes are not projected into the local secondary index, + // DynamoDB fetches each of these attributes from the parent table. This + // extra fetching incurs additional throughput cost and latency. If you query + // or scan a global secondary index, you can only request attributes that + // are projected into the index. Global secondary index queries cannot fetch + // attributes from the parent table. // // If neither Select nor AttributesToGet are specified, DynamoDB defaults to // ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when @@ -11873,8 +12140,8 @@ type QueryOutput struct { // The capacity units consumed by the Query operation. The data returned includes // the total provisioned throughput consumed, along with statistics for the // table and any indexes involved in the operation. ConsumedCapacity is only - // returned if the ReturnConsumedCapacity parameter was specified For more information, - // see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) + // returned if the ReturnConsumedCapacity parameter was specified. For more + // information, see Provisioned Throughput (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) // in the Amazon DynamoDB Developer Guide. ConsumedCapacity *ConsumedCapacity `type:"structure"` @@ -11906,7 +12173,7 @@ type QueryOutput struct { // The number of items evaluated, before any QueryFilter is applied. A high // ScannedCount value with few, or no, Count results indicates an inefficient - // Query operation. For more information, see Count and ScannedCount (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count) + // Query operation. For more information, see Count and ScannedCount (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count) // in the Amazon DynamoDB Developer Guide. // // If you did not use a filter in the request, then ScannedCount is the same @@ -12178,7 +12445,7 @@ type ReplicaSettingsDescription struct { // The maximum number of strongly consistent reads consumed per second before // DynamoDB returns a ThrottlingException. For more information, see Specifying - // Read and Write Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) + // Read and Write Requirements (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) // in the Amazon DynamoDB Developer Guide. ReplicaProvisionedReadCapacityUnits *int64 `type:"long"` @@ -12187,7 +12454,7 @@ type ReplicaSettingsDescription struct { // The maximum number of writes consumed per second before DynamoDB returns // a ThrottlingException. For more information, see Specifying Read and Write - // Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) + // Requirements (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) // in the Amazon DynamoDB Developer Guide. ReplicaProvisionedWriteCapacityUnits *int64 `type:"long"` @@ -12280,7 +12547,7 @@ type ReplicaSettingsUpdate struct { // The maximum number of strongly consistent reads consumed per second before // DynamoDB returns a ThrottlingException. For more information, see Specifying - // Read and Write Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) + // Read and Write Requirements (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) // in the Amazon DynamoDB Developer Guide. ReplicaProvisionedReadCapacityUnits *int64 `min:"1" type:"long"` } @@ -12470,7 +12737,7 @@ func (s *RestoreSummary) SetSourceTableArn(v string) *RestoreSummary { type RestoreTableFromBackupInput struct { _ struct{} `type:"structure"` - // The ARN associated with the backup. + // The Amazon Resource Name (ARN) associated with the backup. // // BackupArn is a required field BackupArn *string `min:"37" type:"string" required:"true"` @@ -12652,28 +12919,20 @@ func (s *RestoreTableToPointInTimeOutput) SetTableDescription(v *TableDescriptio type SSEDescription struct { _ struct{} `type:"structure"` - // The KMS master key ARN used for the KMS encryption. + // The KMS customer master key (CMK) ARN used for the KMS encryption. KMSMasterKeyArn *string `type:"string"` - // Server-side encryption type: - // - // * AES256 - Server-side encryption which uses the AES256 algorithm (not - // applicable). + // Server-side encryption type. The only supported value is: // // * KMS - Server-side encryption which uses AWS Key Management Service. // Key is stored in your account and is managed by AWS KMS (KMS charges apply). SSEType *string `type:"string" enum:"SSEType"` - // The current state of server-side encryption: - // - // * ENABLING - Server-side encryption is being enabled. + // Represents the current state of server-side encryption. The only supported + // values are: // // * ENABLED - Server-side encryption is enabled. // - // * DISABLING - Server-side encryption is being disabled. - // - // * DISABLED - Server-side encryption is disabled. - // // * UPDATING - Server-side encryption is being updated. Status *string `type:"string" enum:"SSEStatus"` } @@ -12710,22 +12969,19 @@ func (s *SSEDescription) SetStatus(v string) *SSEDescription { type SSESpecification struct { _ struct{} `type:"structure"` - // Indicates whether server-side encryption is enabled (true) or disabled (false) - // on the table. If enabled (true), server-side encryption type is set to KMS. - // If disabled (false) or not specified, server-side encryption is set to AWS - // owned CMK. + // Indicates whether server-side encryption is done using an AWS managed CMK + // or an AWS owned CMK. If enabled (true), server-side encryption type is set + // to KMS and an AWS managed CMK is used (AWS KMS charges apply). If disabled + // (false) or not specified, server-side encryption is set to AWS owned CMK. Enabled *bool `type:"boolean"` - // The KMS Master Key (CMK) which should be used for the KMS encryption. To - // specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or - // alias ARN. Note that you should only provide this parameter if the key is - // different from the default DynamoDB KMS Master Key alias/aws/dynamodb. + // The KMS Customer Master Key (CMK) which should be used for the KMS encryption. + // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, + // or alias ARN. Note that you should only provide this parameter if the key + // is different from the default DynamoDB Customer Master Key alias/aws/dynamodb. KMSMasterKeyId *string `type:"string"` - // Server-side encryption type: - // - // * AES256 - Server-side encryption which uses the AES256 algorithm (not - // applicable). + // Server-side encryption type. The only supported value is: // // * KMS - Server-side encryption which uses AWS Key Management Service. // Key is stored in your account and is managed by AWS KMS (KMS charges apply). @@ -12765,12 +13021,12 @@ type ScanInput struct { _ struct{} `type:"structure"` // This is a legacy parameter. Use ProjectionExpression instead. For more information, - // see AttributesToGet (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html) + // see AttributesToGet (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html) // in the Amazon DynamoDB Developer Guide. AttributesToGet []*string `min:"1" type:"list"` // This is a legacy parameter. Use FilterExpression instead. For more information, - // see ConditionalOperator (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) + // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) // in the Amazon DynamoDB Developer Guide. ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` @@ -12778,7 +13034,7 @@ type ScanInput struct { // // * If ConsistentRead is false, then the data returned from Scan might not // contain the results from other recently completed write operations (PutItem, - // UpdateItem or DeleteItem). + // UpdateItem, or DeleteItem). // // * If ConsistentRead is true, then all of the write operations that completed // before the Scan began are guaranteed to be contained in the Scan response. @@ -12820,7 +13076,7 @@ type ScanInput struct { // // The name of this attribute conflicts with a reserved word, so it cannot be // used directly in an expression. (For the complete list of reserved words, - // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) + // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide). To work around this, you could specify // the following for ExpressionAttributeNames: // @@ -12833,8 +13089,8 @@ type ScanInput struct { // Tokens that begin with the : character are expression attribute values, which // are placeholders for the actual value at runtime. // - // For more information on expression attribute names, see Accessing Item Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information on expression attribute names, see Specifying Item Attributes + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeNames map[string]*string `type:"map"` @@ -12855,8 +13111,8 @@ type ScanInput struct { // // ProductStatus IN (:avail, :back, :disc) // - // For more information on expression attribute values, see Specifying Conditions - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) + // For more information on expression attribute values, see Condition Expressions + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeValues map[string]*AttributeValue `type:"map"` @@ -12867,7 +13123,7 @@ type ScanInput struct { // A FilterExpression is applied after the items have already been read; the // process of filtering does not consume any additional read capacity units. // - // For more information, see Filter Expressions (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults) + // For more information, see Filter Expressions (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults) // in the Amazon DynamoDB Developer Guide. FilterExpression *string `type:"string"` @@ -12880,11 +13136,11 @@ type ScanInput struct { // items). If DynamoDB processes the number of items up to the limit while processing // the results, it stops the operation and returns the matching values up to // that point, and a key in LastEvaluatedKey to apply in a subsequent operation, - // so that you can pick up where you left off. Also, if the processed data set + // so that you can pick up where you left off. Also, if the processed dataset // size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation // and returns the matching values up to the limit, and a key in LastEvaluatedKey // to apply in a subsequent operation to continue the operation. For more information, - // see Query and Scan (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html) + // see Working with Queries (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html) // in the Amazon DynamoDB Developer Guide. Limit *int64 `min:"1" type:"integer"` @@ -12896,7 +13152,7 @@ type ScanInput struct { // If any of the requested attributes are not found, they will not appear in // the result. // - // For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information, see Specifying Item Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ProjectionExpression *string `type:"string"` @@ -12905,11 +13161,9 @@ type ScanInput struct { // // * INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary - // index that was accessed. - // - // Note that some operations, such as GetItem and BatchGetItem, do not access - // any indexes at all. In these cases, specifying INDEXES will only return - // ConsumedCapacity information for table(s). + // index that was accessed. Note that some operations, such as GetItem and + // BatchGetItem, do not access any indexes at all. In these cases, specifying + // INDEXES will only return ConsumedCapacity information for table(s). // // * TOTAL - The response includes only the aggregate ConsumedCapacity for // the operation. @@ -12918,7 +13172,7 @@ type ScanInput struct { ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` // This is a legacy parameter. Use FilterExpression instead. For more information, - // see ScanFilter (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ScanFilter.html) + // see ScanFilter (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ScanFilter.html) // in the Amazon DynamoDB Developer Guide. ScanFilter map[string]*Condition `type:"map"` @@ -12946,10 +13200,10 @@ type ScanInput struct { // // * ALL_ATTRIBUTES - Returns all of the item attributes from the specified // table or index. If you query a local secondary index, then for each matching - // item in the index DynamoDB will fetch the entire item from the parent - // table. If the index is configured to project all item attributes, then - // all of the data can be obtained from the local secondary index, and no - // fetching is required. + // item in the index, DynamoDB fetches the entire item from the parent table. + // If the index is configured to project all item attributes, then all of + // the data can be obtained from the local secondary index, and no fetching + // is required. // // * ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves // all attributes that have been projected into the index. If the index is @@ -12961,18 +13215,15 @@ type ScanInput struct { // // * SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet. // This return value is equivalent to specifying AttributesToGet without - // specifying any value for Select. - // - // If you query or scan a local secondary index and request only attributes - // that are projected into that index, the operation will read only the index - // and not the table. If any of the requested attributes are not projected - // into the local secondary index, DynamoDB will fetch each of these attributes - // from the parent table. This extra fetching incurs additional throughput - // cost and latency. - // - // If you query or scan a global secondary index, you can only request attributes - // that are projected into the index. Global secondary index queries cannot - // fetch attributes from the parent table. + // specifying any value for Select. If you query or scan a local secondary + // index and request only attributes that are projected into that index, + // the operation reads only the index and not the table. If any of the requested + // attributes are not projected into the local secondary index, DynamoDB + // fetches each of these attributes from the parent table. This extra fetching + // incurs additional throughput cost and latency. If you query or scan a + // global secondary index, you can only request attributes that are projected + // into the index. Global secondary index queries cannot fetch attributes + // from the parent table. // // If neither Select nor AttributesToGet are specified, DynamoDB defaults to // ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when @@ -13158,7 +13409,7 @@ type ScanOutput struct { // the total provisioned throughput consumed, along with statistics for the // table and any indexes involved in the operation. ConsumedCapacity is only // returned if the ReturnConsumedCapacity parameter was specified. For more - // information, see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) + // information, see Provisioned Throughput (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) // in the Amazon DynamoDB Developer Guide. ConsumedCapacity *ConsumedCapacity `type:"structure"` @@ -13189,7 +13440,7 @@ type ScanOutput struct { // The number of items evaluated, before any ScanFilter is applied. A high ScannedCount // value with few, or no, Count results indicates an inefficient Scan operation. - // For more information, see Count and ScannedCount (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count) + // For more information, see Count and ScannedCount (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count) // in the Amazon DynamoDB Developer Guide. // // If you did not use a filter in the request, then ScannedCount is the same @@ -13500,15 +13751,9 @@ type TableDescription struct { // DynamoDB updates this value approximately every six hours. Recent changes // might not be reflected in this value. // - // * IndexStatus - The current status of the global secondary index: - // - // CREATING - The index is being created. - // - // UPDATING - The index is being updated. - // - // DELETING - The index is being deleted. - // - // ACTIVE - The index is ready for use. + // * IndexStatus - The current status of the global secondary index: CREATING + // - The index is being created. UPDATING - The index is being updated. DELETING + // - The index is being deleted. ACTIVE - The index is ready for use. // // * ItemCount - The number of items in the global secondary index. DynamoDB // updates this value approximately every six hours. Recent changes might @@ -13521,22 +13766,16 @@ type TableDescription struct { // * Projection - Specifies attributes that are copied (projected) from the // table into the index. These are in addition to the primary key attributes // and index key attributes, which are automatically projected. Each attribute - // specification is composed of: - // - // ProjectionType - One of the following: - // - // KEYS_ONLY - Only the index and primary keys are projected into the index. - // - // INCLUDE - Only the specified table attributes are projected into the index. - // The list of projected attributes are in NonKeyAttributes. - // - // ALL - All of the table attributes are projected into the index. - // - // NonKeyAttributes - A list of one or more non-key attribute names that are - // projected into the secondary index. The total count of attributes provided - // in NonKeyAttributes, summed across all of the secondary indexes, must - // not exceed 20. If you project the same attribute into two different indexes, - // this counts as two distinct attributes when determining the total. + // specification is composed of: ProjectionType - One of the following: KEYS_ONLY + // - Only the index and primary keys are projected into the index. INCLUDE + // - Only the specified table attributes are projected into the index. The + // list of projected attributes are in NonKeyAttributes. ALL - All of the + // table attributes are projected into the index. NonKeyAttributes - A list + // of one or more non-key attribute names that are projected into the secondary + // index. The total count of attributes provided in NonKeyAttributes, summed + // across all of the secondary indexes, must not exceed 20. If you project + // the same attribute into two different indexes, this counts as two distinct + // attributes when determining the total. // // * ProvisionedThroughput - The provisioned throughput settings for the // global secondary index, consisting of read and write capacity units, along @@ -13554,22 +13793,16 @@ type TableDescription struct { // // * AttributeName - The name of the attribute. // - // * KeyType - The role of the attribute: - // - // HASH - partition key + // * KeyType - The role of the attribute: HASH - partition key RANGE - sort + // key The partition key of an item is also known as its hash attribute. + // The term "hash attribute" derives from DynamoDB's usage of an internal + // hash function to evenly distribute data items across partitions, based + // on their partition key values. The sort key of an item is also known as + // its range attribute. The term "range attribute" derives from the way DynamoDB + // stores items with the same partition key physically close together, in + // sorted order by the sort key value. // - // RANGE - sort key - // - // The partition key of an item is also known as its hash attribute. The term - // "hash attribute" derives from DynamoDB' usage of an internal hash function - // to evenly distribute data items across partitions, based on their partition - // key values. - // - // The sort key of an item is also known as its range attribute. The term "range - // attribute" derives from the way DynamoDB stores items with the same partition - // key physically close together, in sorted order by the sort key value. - // - // For more information about primary keys, see Primary Key (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey) + // For more information about primary keys, see Primary Key (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey) // in the Amazon DynamoDB Developer Guide. KeySchema []*KeySchemaElement `min:"1" type:"list"` @@ -13606,22 +13839,16 @@ type TableDescription struct { // * Projection - Specifies attributes that are copied (projected) from the // table into the index. These are in addition to the primary key attributes // and index key attributes, which are automatically projected. Each attribute - // specification is composed of: - // - // ProjectionType - One of the following: - // - // KEYS_ONLY - Only the index and primary keys are projected into the index. - // - // INCLUDE - Only the specified table attributes are projected into the index. - // The list of projected attributes are in NonKeyAttributes. - // - // ALL - All of the table attributes are projected into the index. - // - // NonKeyAttributes - A list of one or more non-key attribute names that are - // projected into the secondary index. The total count of attributes provided - // in NonKeyAttributes, summed across all of the secondary indexes, must - // not exceed 20. If you project the same attribute into two different indexes, - // this counts as two distinct attributes when determining the total. + // specification is composed of: ProjectionType - One of the following: KEYS_ONLY + // - Only the index and primary keys are projected into the index. INCLUDE + // - Only the specified table attributes are projected into the index. The + // list of projected attributes are in NonKeyAttributes. ALL - All of the + // table attributes are projected into the index. NonKeyAttributes - A list + // of one or more non-key attribute names that are projected into the secondary + // index. The total count of attributes provided in NonKeyAttributes, summed + // across all of the secondary indexes, must not exceed 20. If you project + // the same attribute into two different indexes, this counts as two distinct + // attributes when determining the total. // // * IndexSizeBytes - Represents the total size of the index, in bytes. DynamoDB // updates this value approximately every six hours. Recent changes might @@ -13800,14 +14027,14 @@ func (s *TableDescription) SetTableStatus(v string) *TableDescription { // the tag limit of 50. User-assigned tag names have the prefix user: in the // Cost Allocation Report. You cannot backdate the application of a tag. // -// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) +// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) // in the Amazon DynamoDB Developer Guide. type Tag struct { _ struct{} `type:"structure"` - // The key of the tag.Tag keys are case sensitive. Each DynamoDB table can only - // have up to one tag with the same key. If you try to add an existing tag (same - // key), the existing tag value will be updated to the new value. + // The key of the tag. Tag keys are case sensitive. Each DynamoDB table can + // only have up to one tag with the same key. If you try to add an existing + // tag (same key), the existing tag value will be updated to the new value. // // Key is a required field Key *string `min:"1" type:"string" required:"true"` @@ -13943,10 +14170,10 @@ func (s TagResourceOutput) GoString() string { type TimeToLiveDescription struct { _ struct{} `type:"structure"` - // The name of the Time to Live attribute for items in the table. + // The name of the TTL attribute for items in the table. AttributeName *string `min:"1" type:"string"` - // The Time to Live status for the table. + // The TTL status for the table. TimeToLiveStatus *string `type:"string" enum:"TimeToLiveStatus"` } @@ -13972,19 +14199,19 @@ func (s *TimeToLiveDescription) SetTimeToLiveStatus(v string) *TimeToLiveDescrip return s } -// Represents the settings used to enable or disable Time to Live for the specified -// table. +// Represents the settings used to enable or disable Time to Live (TTL) for +// the specified table. type TimeToLiveSpecification struct { _ struct{} `type:"structure"` - // The name of the Time to Live attribute used to store the expiration time - // for items in the table. + // The name of the TTL attribute used to store the expiration time for items + // in the table. // // AttributeName is a required field AttributeName *string `min:"1" type:"string" required:"true"` - // Indicates whether Time To Live is to be enabled (true) or disabled (false) - // on the table. + // Indicates whether TTL is to be enabled (true) or disabled (false) on the + // table. // // Enabled is a required field Enabled *bool `type:"boolean" required:"true"` @@ -14085,7 +14312,7 @@ type TransactGetItemsInput struct { // is valid. ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` - // An ordered array of up to 10 TransactGetItem objects, each of which contains + // An ordered array of up to 25 TransactGetItem objects, each of which contains // a Get structure. // // TransactItems is a required field @@ -14149,7 +14376,7 @@ type TransactGetItemsOutput struct { // consumed by the TransactGetItems call in that table. ConsumedCapacity []*ConsumedCapacity `type:"list"` - // An ordered array of up to 10 ItemResponse objects, each of which corresponds + // An ordered array of up to 25 ItemResponse objects, each of which corresponds // to the TransactGetItem object in the same position in the TransactItems array. // Each ItemResponse object contains a Map of the name-value pairs that are // the projected attributes of the requested item. @@ -14273,32 +14500,31 @@ type TransactWriteItemsInput struct { // // Although multiple identical calls using the same client request token produce // the same result on the server (no side effects), the responses to the calls - // may not be the same. If the ReturnConsumedCapacity> parameter is set, then + // might not be the same. If the ReturnConsumedCapacity> parameter is set, then // the initial TransactWriteItems call returns the amount of write capacity - // units consumed in making the changes, and subsequent TransactWriteItems calls - // with the same client token return the amount of read capacity units consumed + // units consumed in making the changes. Subsequent TransactWriteItems calls + // with the same client token return the number of read capacity units consumed // in reading the item. // // A client request token is valid for 10 minutes after the first request that - // uses it completes. After 10 minutes, any request with the same client token - // is treated as a new request. Do not resubmit the same request with the same - // client token for more than 10 minutes or the result may not be idempotent. + // uses it is completed. After 10 minutes, any request with the same client + // token is treated as a new request. Do not resubmit the same request with + // the same client token for more than 10 minutes, or the result might not be + // idempotent. // // If you submit a request with the same client token but a change in other - // parameters within the 10 minute idempotency window, DynamoDB returns an IdempotentParameterMismatch + // parameters within the 10-minute idempotency window, DynamoDB returns an IdempotentParameterMismatch // exception. - ClientRequestToken *string `type:"string" idempotencyToken:"true"` + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` // Determines the level of detail about provisioned throughput consumption that // is returned in the response: // // * INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary - // index that was accessed. - // - // Note that some operations, such as GetItem and BatchGetItem, do not access - // any indexes at all. In these cases, specifying INDEXES will only return - // ConsumedCapacity information for table(s). + // index that was accessed. Note that some operations, such as GetItem and + // BatchGetItem, do not access any indexes at all. In these cases, specifying + // INDEXES will only return ConsumedCapacity information for table(s). // // * TOTAL - The response includes only the aggregate ConsumedCapacity for // the operation. @@ -14312,10 +14538,10 @@ type TransactWriteItemsInput struct { // NONE (the default), no statistics are returned. ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"` - // An ordered array of up to 10 TransactWriteItem objects, each of which contains + // An ordered array of up to 25 TransactWriteItem objects, each of which contains // a ConditionCheck, Put, Update, or Delete object. These can operate on items // in different tables, but the tables must reside in the same AWS account and - // region, and no two of them can operate on the same item. + // Region, and no two of them can operate on the same item. // // TransactItems is a required field TransactItems []*TransactWriteItem `min:"1" type:"list" required:"true"` @@ -14334,6 +14560,9 @@ func (s TransactWriteItemsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *TransactWriteItemsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TransactWriteItemsInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } if s.TransactItems == nil { invalidParams.Add(request.NewErrParamRequired("TransactItems")) } @@ -14391,7 +14620,7 @@ type TransactWriteItemsOutput struct { // A list of tables that were processed by TransactWriteItems and, for each // table, information about any item collections that were affected by individual - // UpdateItem, PutItem or DeleteItem operations. + // UpdateItem, PutItem, or DeleteItem operations. ItemCollectionMetrics map[string][]*ItemCollectionMetrics `type:"map"` } @@ -14420,14 +14649,14 @@ func (s *TransactWriteItemsOutput) SetItemCollectionMetrics(v map[string][]*Item type UntagResourceInput struct { _ struct{} `type:"structure"` - // The Amazon DyanamoDB resource the tags will be removed from. This value is - // an Amazon Resource Name (ARN). + // The DynamoDB resource that the tags will be removed from. This value is an + // Amazon Resource Name (ARN). // // ResourceArn is a required field ResourceArn *string `min:"1" type:"string" required:"true"` // A list of tag keys. Existing tags of the resource whose keys are members - // of this list will be removed from the Amazon DynamoDB resource. + // of this list will be removed from the DynamoDB resource. // // TagKeys is a required field TagKeys []*string `type:"list" required:"true"` @@ -14696,7 +14925,7 @@ type UpdateGlobalSecondaryIndexAction struct { // index. // // For current minimum and maximum provisioned throughput values, see Limits - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) // in the Amazon DynamoDB Developer Guide. // // ProvisionedThroughput is a required field @@ -14757,7 +14986,7 @@ type UpdateGlobalTableInput struct { // GlobalTableName is a required field GlobalTableName *string `min:"3" type:"string" required:"true"` - // A list of regions that should be added or removed from the global table. + // A list of Regions that should be added or removed from the global table. // // ReplicaUpdates is a required field ReplicaUpdates []*ReplicaUpdate `type:"list" required:"true"` @@ -14853,7 +15082,7 @@ type UpdateGlobalTableSettingsInput struct { // GlobalTableName is a required field GlobalTableName *string `min:"3" type:"string" required:"true"` - // AutoScaling settings for managing provisioned write capacity for the global + // Auto scaling settings for managing provisioned write capacity for the global // table. GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"` @@ -14861,7 +15090,7 @@ type UpdateGlobalTableSettingsInput struct { // a ThrottlingException. GlobalTableProvisionedWriteCapacityUnits *int64 `min:"1" type:"long"` - // Represents the settings for a global table in a region that will be modified. + // Represents the settings for a global table in a Region that will be modified. ReplicaSettingsUpdate []*ReplicaSettingsUpdate `min:"1" type:"list"` } @@ -14967,7 +15196,7 @@ type UpdateGlobalTableSettingsOutput struct { // The name of the global table. GlobalTableName *string `min:"3" type:"string"` - // The region specific settings for the global table. + // The Region-specific settings for the global table. ReplicaSettings []*ReplicaSettingsDescription `type:"list"` } @@ -14998,7 +15227,7 @@ type UpdateItemInput struct { _ struct{} `type:"structure"` // This is a legacy parameter. Use UpdateExpression instead. For more information, - // see AttributeUpdates (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html) + // see AttributeUpdates (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html) // in the Amazon DynamoDB Developer Guide. AttributeUpdates map[string]*AttributeValueUpdate `type:"map"` @@ -15007,26 +15236,24 @@ type UpdateItemInput struct { // An expression can contain any of the following: // // * Functions: attribute_exists | attribute_not_exists | attribute_type - // | contains | begins_with | size - // - // These function names are case-sensitive. + // | contains | begins_with | size These function names are case-sensitive. // // * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN // - // * Logical operators: AND | OR | NOT + // * Logical operators: AND | OR | NOT // - // For more information on condition expressions, see Specifying Conditions - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) + // For more information about condition expressions, see Specifying Conditions + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) // in the Amazon DynamoDB Developer Guide. ConditionExpression *string `type:"string"` // This is a legacy parameter. Use ConditionExpression instead. For more information, - // see ConditionalOperator (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) + // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) // in the Amazon DynamoDB Developer Guide. ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` // This is a legacy parameter. Use ConditionExpression instead. For more information, - // see Expected (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) + // see Expected (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) // in the Amazon DynamoDB Developer Guide. Expected map[string]*ExpectedAttributeValue `type:"map"` @@ -15049,8 +15276,8 @@ type UpdateItemInput struct { // // The name of this attribute conflicts with a reserved word, so it cannot be // used directly in an expression. (For the complete list of reserved words, - // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) - // in the Amazon DynamoDB Developer Guide). To work around this, you could specify + // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) + // in the Amazon DynamoDB Developer Guide.) To work around this, you could specify // the following for ExpressionAttributeNames: // // * {"#P":"Percentile"} @@ -15062,8 +15289,8 @@ type UpdateItemInput struct { // Tokens that begin with the : character are expression attribute values, which // are placeholders for the actual value at runtime. // - // For more information on expression attribute names, see Accessing Item Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information about expression attribute names, see Specifying Item + // Attributes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeNames map[string]*string `type:"map"` @@ -15084,8 +15311,8 @@ type UpdateItemInput struct { // // ProductStatus IN (:avail, :back, :disc) // - // For more information on expression attribute values, see Specifying Conditions - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) + // For more information on expression attribute values, see Condition Expressions + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeValues map[string]*AttributeValue `type:"map"` @@ -15105,11 +15332,9 @@ type UpdateItemInput struct { // // * INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary - // index that was accessed. - // - // Note that some operations, such as GetItem and BatchGetItem, do not access - // any indexes at all. In these cases, specifying INDEXES will only return - // ConsumedCapacity information for table(s). + // index that was accessed. Note that some operations, such as GetItem and + // BatchGetItem, do not access any indexes at all. In these cases, specifying + // INDEXES will only return ConsumedCapacity information for table(s). // // * TOTAL - The response includes only the aggregate ConsumedCapacity for // the operation. @@ -15154,77 +15379,61 @@ type UpdateItemInput struct { TableName *string `min:"3" type:"string" required:"true"` // An expression that defines one or more attributes to be updated, the action - // to be performed on them, and new value(s) for them. + // to be performed on them, and new values for them. // // The following action values are available for UpdateExpression. // // * SET - Adds one or more attributes and values to an item. If any of these - // attribute already exist, they are replaced by the new values. You can + // attributes already exist, they are replaced by the new values. You can // also use SET to add or subtract from an attribute that is of type Number. - // For example: SET myNum = myNum + :val - // - // SET supports the following functions: - // - // if_not_exists (path, operand) - if the item does not contain an attribute + // For example: SET myNum = myNum + :val SET supports the following functions: + // if_not_exists (path, operand) - if the item does not contain an attribute // at the specified path, then if_not_exists evaluates to operand; otherwise, // it evaluates to path. You can use this function to avoid overwriting an - // attribute that may already be present in the item. - // - // list_append (operand, operand) - evaluates to a list with a new element added - // to it. You can append the new element to the start or the end of the list - // by reversing the order of the operands. - // - // These function names are case-sensitive. + // attribute that may already be present in the item. list_append (operand, + // operand) - evaluates to a list with a new element added to it. You can + // append the new element to the start or the end of the list by reversing + // the order of the operands. These function names are case-sensitive. // // * REMOVE - Removes one or more attributes from an item. // // * ADD - Adds the specified value to the item, if the attribute does not // already exist. If the attribute does exist, then the behavior of ADD depends - // on the data type of the attribute: - // - // If the existing attribute is a number, and if Value is also a number, then - // Value is mathematically added to the existing attribute. If Value is a - // negative number, then it is subtracted from the existing attribute. - // - // If you use ADD to increment or decrement a number value for an item that - // doesn't exist before the update, DynamoDB uses 0 as the initial value. - // - // Similarly, if you use ADD for an existing item to increment or decrement - // an attribute value that doesn't exist before the update, DynamoDB uses - // 0 as the initial value. For example, suppose that the item you want to - // update doesn't have an attribute named itemcount, but you decide to ADD - // the number 3 to this attribute anyway. DynamoDB will create the itemcount - // attribute, set its initial value to 0, and finally add 3 to it. The result - // will be a new itemcount attribute in the item, with a value of 3. - // - // If the existing data type is a set and if Value is also a set, then Value - // is added to the existing set. For example, if the attribute value is the - // set [1,2], and the ADD action specified [3], then the final attribute - // value is [1,2,3]. An error occurs if an ADD action is specified for a - // set attribute and the attribute type specified does not match the existing - // set type. - // - // Both sets must have the same primitive data type. For example, if the existing - // data type is a set of strings, the Value must also be a set of strings. - // - // The ADD action only supports Number and set data types. In addition, ADD - // can only be used on top-level attributes, not nested attributes. - // - // * DELETE - Deletes an element from a set. - // - // If a set of values is specified, then those values are subtracted from the - // old set. For example, if the attribute value was the set [a,b,c] and the - // DELETE action specifies [a,c], then the final attribute value is [b]. - // Specifying an empty set is an error. - // - // The DELETE action only supports set data types. In addition, DELETE can only - // be used on top-level attributes, not nested attributes. + // on the data type of the attribute: If the existing attribute is a number, + // and if Value is also a number, then Value is mathematically added to the + // existing attribute. If Value is a negative number, then it is subtracted + // from the existing attribute. If you use ADD to increment or decrement + // a number value for an item that doesn't exist before the update, DynamoDB + // uses 0 as the initial value. Similarly, if you use ADD for an existing + // item to increment or decrement an attribute value that doesn't exist before + // the update, DynamoDB uses 0 as the initial value. For example, suppose + // that the item you want to update doesn't have an attribute named itemcount, + // but you decide to ADD the number 3 to this attribute anyway. DynamoDB + // will create the itemcount attribute, set its initial value to 0, and finally + // add 3 to it. The result will be a new itemcount attribute in the item, + // with a value of 3. If the existing data type is a set and if Value is + // also a set, then Value is added to the existing set. For example, if the + // attribute value is the set [1,2], and the ADD action specified [3], then + // the final attribute value is [1,2,3]. An error occurs if an ADD action + // is specified for a set attribute and the attribute type specified does + // not match the existing set type. Both sets must have the same primitive + // data type. For example, if the existing data type is a set of strings, + // the Value must also be a set of strings. The ADD action only supports + // Number and set data types. In addition, ADD can only be used on top-level + // attributes, not nested attributes. + // + // * DELETE - Deletes an element from a set. If a set of values is specified, + // then those values are subtracted from the old set. For example, if the + // attribute value was the set [a,b,c] and the DELETE action specifies [a,c], + // then the final attribute value is [b]. Specifying an empty set is an error. + // The DELETE action only supports set data types. In addition, DELETE can + // only be used on top-level attributes, not nested attributes. // // You can have many actions in a single expression, such as the following: // SET a=:value1, b=:value2 DELETE :value3, :value4, :value5 // // For more information on update expressions, see Modifying Items and Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html) + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html) // in the Amazon DynamoDB Developer Guide. UpdateExpression *string `type:"string"` } @@ -15345,7 +15554,7 @@ type UpdateItemOutput struct { // includes the total provisioned throughput consumed, along with statistics // for the table and any indexes involved in the operation. ConsumedCapacity // is only returned if the ReturnConsumedCapacity parameter was specified. For - // more information, see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) + // more information, see Provisioned Throughput (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) // in the Amazon DynamoDB Developer Guide. ConsumedCapacity *ConsumedCapacity `type:"structure"` @@ -15364,10 +15573,9 @@ type UpdateItemOutput struct { // bound for the estimate. The estimate includes the size of all the items // in the table, plus the size of all attributes projected into all of the // local secondary indexes on that table. Use this estimate to measure whether - // a local secondary index is approaching its size limit. - // - // The estimate is subject to change over time; therefore, do not rely on the - // precision or accuracy of the estimate. + // a local secondary index is approaching its size limit. The estimate is + // subject to change over time; therefore, do not rely on the precision or + // accuracy of the estimate. ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"` } @@ -15431,7 +15639,7 @@ type UpdateTableInput struct { // // * Delete - remove a global secondary index from the table. // - // For more information, see Managing Global Secondary Indexes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.OnlineOps.html) + // For more information, see Managing Global Secondary Indexes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.OnlineOps.html) // in the Amazon DynamoDB Developer Guide. GlobalSecondaryIndexUpdates []*GlobalSecondaryIndexUpdate `type:"list"` @@ -15443,9 +15651,9 @@ type UpdateTableInput struct { // Represents the DynamoDB Streams configuration for the table. // - // You will receive a ResourceInUseException if you attempt to enable a stream - // on a table that already has a stream, or if you attempt to disable a stream - // on a table which does not have a stream. + // You receive a ResourceInUseException if you try to enable a stream on a table + // that already has a stream, or if you try to disable a stream on a table that + // doesn't have a stream. StreamSpecification *StreamSpecification `type:"structure"` // The name of the table to be updated. @@ -15720,6 +15928,9 @@ const ( // BackupTypeSystem is a BackupType enum value BackupTypeSystem = "SYSTEM" + + // BackupTypeAwsBackup is a BackupType enum value + BackupTypeAwsBackup = "AWS_BACKUP" ) const ( @@ -15729,6 +15940,9 @@ const ( // BackupTypeFilterSystem is a BackupTypeFilter enum value BackupTypeFilterSystem = "SYSTEM" + // BackupTypeFilterAwsBackup is a BackupTypeFilter enum value + BackupTypeFilterAwsBackup = "AWS_BACKUP" + // BackupTypeFilterAll is a BackupTypeFilter enum value BackupTypeFilterAll = "ALL" ) @@ -15872,11 +16086,9 @@ const ( // // * INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary -// index that was accessed. -// -// Note that some operations, such as GetItem and BatchGetItem, do not access -// any indexes at all. In these cases, specifying INDEXES will only return -// ConsumedCapacity information for table(s). +// index that was accessed. Note that some operations, such as GetItem and +// BatchGetItem, do not access any indexes at all. In these cases, specifying +// INDEXES will only return ConsumedCapacity information for table(s). // // * TOTAL - The response includes only the aggregate ConsumedCapacity for // the operation. diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/doc_custom.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/doc_custom.go index 5ebc5807284..013e9b1d2a3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/doc_custom.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/doc_custom.go @@ -3,7 +3,7 @@ AttributeValue Marshaling and Unmarshaling Helpers Utility helpers to marshal and unmarshal AttributeValue to and from Go types can be found in the dynamodbattribute sub package. This package -provides has specialized functions for the common ways of working with +provides specialized functions for the common ways of working with AttributeValues. Such as map[string]*AttributeValue, []*AttributeValue, and directly with *AttributeValue. This is helpful for marshaling Go types for API operations such as PutItem, and unmarshaling Query and Scan APIs' responses. diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/errors.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/errors.go index 175647742f4..71f3e7d3d53 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/errors.go @@ -79,15 +79,16 @@ const ( // // There is no limit to the number of daily on-demand backups that can be taken. // - // Up to 10 simultaneous table operations are allowed per account. These operations + // Up to 50 simultaneous table operations are allowed per account. These operations // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, // and RestoreTableToPointInTime. // - // For tables with secondary indexes, only one of those tables can be in the - // CREATING state at any point in time. Do not attempt to create more than one - // such table simultaneously. + // The only exception is when you are creating a table with one or more secondary + // indexes. You can have up to 25 such requests running at a time; however, + // if the table or index specifications are complex, DynamoDB might temporarily + // reduce the number of concurrent operations. // - // The total limit of tables in the ACTIVE state is 250. + // There is a soft account limit of 256 tables. ErrCodeLimitExceededException = "LimitExceededException" // ErrCodePointInTimeRecoveryUnavailableException for service response error code @@ -103,7 +104,7 @@ const ( // requests that receive this exception. Your request is eventually successful, // unless your retry queue is too large to finish. Reduce the frequency of requests // and use exponential backoff. For more information, go to Error Retries and - // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) + // Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. ErrCodeProvisionedThroughputExceededException = "ProvisionedThroughputExceededException" @@ -123,8 +124,8 @@ const ( // "RequestLimitExceeded". // // Throughput exceeds the current throughput limit for your account. Please - // contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support) - // to request a limit increase. + // contact AWS Support at AWS Support (https://aws.amazon.com/support) to request + // a limit increase. ErrCodeRequestLimitExceeded = "RequestLimitExceeded" // ErrCodeResourceInUseException for service response error code @@ -164,31 +165,95 @@ const ( // ErrCodeTransactionCanceledException for service response error code // "TransactionCanceledException". // - // The entire transaction request was rejected. + // The entire transaction request was canceled. // - // DynamoDB will reject the entire TransactWriteItems request if any of the - // following is true: + // DynamoDB cancels a TransactWriteItems request under the following circumstances: // - // * A table in the TransactWriteItems request does not exist. + // * A condition in one of the condition expressions is not met. // - // * A table in the TransactWriteItems request is on a different account + // * A table in the TransactWriteItems request is in a different account // or region. // - // * Operations contain item schema violations. + // * More than one action in the TransactWriteItems operation targets the + // same item. // - // * More than one write operation (UpdateItem, PutItem, DeleteItem) operates - // on the same item. + // * There is insufficient provisioned capacity for the transaction to be + // completed. // - // * More than one check operation operates on the same item. + // * An item size becomes too large (larger than 400 KB), or a local secondary + // index (LSI) becomes too large, or a similar validation error occurs because + // of changes made by the transaction. // - // * The number of operations sent in the TransactWriteItems request is - // 0 or greater than 10. + // * The aggregate size of the items in the transaction exceeds 4 MBs. // - // * A TransactWriteItems request exceeds the maximum 4 MB request size. + // * There is a user error, such as an invalid data format. // + // DynamoDB cancels a TransactGetItems request under the following circumstances: // - // * Any operation in the TransactWriteItems request would cause an item - // to become larger than 400KB. + // * There is an ongoing TransactGetItems operation that conflicts with a + // concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. + // In this case the TransactGetItems operation fails with a TransactionCanceledException. + // + // * A table in the TransactGetItems request is in a different account or + // region. + // + // * There is insufficient provisioned capacity for the transaction to be + // completed. + // + // * The aggregate size of the items in the transaction exceeds 4 MBs. + // + // * There is a user error, such as an invalid data format. + // + // If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons + // property. This property is not set for other languages. Transaction cancellation + // reasons are ordered in the order of requested items, if an item has no error + // it will have NONE code and Null message. + // + // Cancellation reason codes and possible error messages: + // + // * No Errors: Code: NONE Message: null + // + // * Conditional Check Failed: Code: ConditionalCheckFailed Message: The + // conditional request failed. + // + // * Item Collection Size Limit Exceeded: Code: ItemCollectionSizeLimitExceeded + // Message: Collection size exceeded. + // + // * Transaction Conflict: Code: TransactionConflict Message: Transaction + // is ongoing for the item. + // + // * Provisioned Throughput Exceeded: Code: ProvisionedThroughputExceeded + // Messages: The level of configured provisioned throughput for the table + // was exceeded. Consider increasing your provisioning level with the UpdateTable + // API. This Message is received when provisioned throughput is exceeded + // is on a provisioned DynamoDB table. The level of configured provisioned + // throughput for one or more global secondary indexes of the table was exceeded. + // Consider increasing your provisioning level for the under-provisioned + // global secondary indexes with the UpdateTable API. This message is returned + // when provisioned throughput is exceeded is on a provisioned GSI. + // + // * Throttling Error: Code: ThrottlingError Messages: Throughput exceeds + // the current capacity of your table or index. DynamoDB is automatically + // scaling your table or index so please try again shortly. If exceptions + // persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. + // This message is returned when writes get throttled on an On-Demand table + // as DynamoDB is automatically scaling the table. Throughput exceeds the + // current capacity for one or more global secondary indexes. DynamoDB is + // automatically scaling your index so please try again shortly. This message + // is returned when when writes get throttled on an On-Demand GSI as DynamoDB + // is automatically scaling the GSI. + // + // * Validation Error: Code: ValidationError Messages: One or more parameter + // values were invalid. The update expression attempted to update the secondary + // index key beyond allowed size limits. The update expression attempted + // to update the secondary index key to unsupported type. An operand in the + // update expression has an incorrect data type. Item size to update has + // exceeded the maximum allowed size. Number overflow. Attempting to store + // a number with magnitude larger than supported range. Type mismatch for + // attribute to update. Nesting Levels have exceeded supported limits. The + // document path provided in the update expression is invalid for update. + // The provided expression refers to an attribute that does not exist in + // the item. ErrCodeTransactionCanceledException = "TransactionCanceledException" // ErrCodeTransactionConflictException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go index 930cafe08ab..0385cb15b4f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go @@ -290,8 +290,8 @@ func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectio // of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding // VPC peering connection requests. // -// For an inter-region VPC peering connection request, you must accept the VPC -// peering connection in the region of the accepter VPC. +// For an inter-Region VPC peering connection request, you must accept the VPC +// peering connection in the Region of the accepter VPC. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -463,7 +463,7 @@ func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request. // or from an address pool created from a public IPv4 address range that you // have brought to AWS for use with your AWS resources using bring your own // IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses -// (BYOIP) (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) +// (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) // in the Amazon Elastic Compute Cloud User Guide. // // [EC2-VPC] If you release an Elastic IP address, you might be able to recover @@ -474,9 +474,9 @@ func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request. // // An Elastic IP address is for use either in the EC2-Classic platform or in // a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic -// per region and 5 Elastic IP addresses for EC2-VPC per region. +// per Region and 5 Elastic IP addresses for EC2-VPC per Region. // -// For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) +// For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -582,6 +582,82 @@ func (c *EC2) AllocateHostsWithContext(ctx aws.Context, input *AllocateHostsInpu return out, req.Send() } +const opApplySecurityGroupsToClientVpnTargetNetwork = "ApplySecurityGroupsToClientVpnTargetNetwork" + +// ApplySecurityGroupsToClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the +// client's request for the ApplySecurityGroupsToClientVpnTargetNetwork operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ApplySecurityGroupsToClientVpnTargetNetwork for more information on using the ApplySecurityGroupsToClientVpnTargetNetwork +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ApplySecurityGroupsToClientVpnTargetNetworkRequest method. +// req, resp := client.ApplySecurityGroupsToClientVpnTargetNetworkRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork +func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetworkRequest(input *ApplySecurityGroupsToClientVpnTargetNetworkInput) (req *request.Request, output *ApplySecurityGroupsToClientVpnTargetNetworkOutput) { + op := &request.Operation{ + Name: opApplySecurityGroupsToClientVpnTargetNetwork, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ApplySecurityGroupsToClientVpnTargetNetworkInput{} + } + + output = &ApplySecurityGroupsToClientVpnTargetNetworkOutput{} + req = c.newRequest(op, input, output) + return +} + +// ApplySecurityGroupsToClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud. +// +// Applies a security group to the association between the target network and +// the Client VPN endpoint. This action replaces the existing security groups +// with the specified security groups. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ApplySecurityGroupsToClientVpnTargetNetwork for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork +func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetwork(input *ApplySecurityGroupsToClientVpnTargetNetworkInput) (*ApplySecurityGroupsToClientVpnTargetNetworkOutput, error) { + req, out := c.ApplySecurityGroupsToClientVpnTargetNetworkRequest(input) + return out, req.Send() +} + +// ApplySecurityGroupsToClientVpnTargetNetworkWithContext is the same as ApplySecurityGroupsToClientVpnTargetNetwork with the addition of +// the ability to pass a context and additional request options. +// +// See ApplySecurityGroupsToClientVpnTargetNetwork for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetworkWithContext(ctx aws.Context, input *ApplySecurityGroupsToClientVpnTargetNetworkInput, opts ...request.Option) (*ApplySecurityGroupsToClientVpnTargetNetworkOutput, error) { + req, out := c.ApplySecurityGroupsToClientVpnTargetNetworkRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAssignIpv6Addresses = "AssignIpv6Addresses" // AssignIpv6AddressesRequest generates a "aws/request.Request" representing the @@ -632,7 +708,7 @@ func (c *EC2) AssignIpv6AddressesRequest(input *AssignIpv6AddressesInput) (req * // CIDR block range. You can assign as many IPv6 addresses to a network interface // as you can assign private IPv4 addresses, and the limit varies per instance // type. For information, see IP Addresses Per Network Interface Per Instance -// Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI) +// Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -702,8 +778,6 @@ func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInp output = &AssignPrivateIpAddressesOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) return } @@ -716,9 +790,9 @@ func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInp // the number of secondary IP addresses to be automatically assigned within // the subnet's CIDR block range. The number of secondary IP addresses that // you can assign to an instance varies by instance type. For information about -// instance types, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) +// instance types, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) // in the Amazon Elastic Compute Cloud User Guide. For more information about -// Elastic IP addresses, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) +// Elastic IP addresses, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) // in the Amazon Elastic Compute Cloud User Guide. // // When you move a secondary private IP address to another network interface, @@ -804,7 +878,7 @@ func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *reques // Before you can use an Elastic IP address, you must allocate it to your account. // // An Elastic IP address is for use in either the EC2-Classic platform or in -// a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) +// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) // in the Amazon Elastic Compute Cloud User Guide. // // [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is @@ -854,6 +928,84 @@ func (c *EC2) AssociateAddressWithContext(ctx aws.Context, input *AssociateAddre return out, req.Send() } +const opAssociateClientVpnTargetNetwork = "AssociateClientVpnTargetNetwork" + +// AssociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the +// client's request for the AssociateClientVpnTargetNetwork operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AssociateClientVpnTargetNetwork for more information on using the AssociateClientVpnTargetNetwork +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AssociateClientVpnTargetNetworkRequest method. +// req, resp := client.AssociateClientVpnTargetNetworkRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork +func (c *EC2) AssociateClientVpnTargetNetworkRequest(input *AssociateClientVpnTargetNetworkInput) (req *request.Request, output *AssociateClientVpnTargetNetworkOutput) { + op := &request.Operation{ + Name: opAssociateClientVpnTargetNetwork, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateClientVpnTargetNetworkInput{} + } + + output = &AssociateClientVpnTargetNetworkOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud. +// +// Associates a target network with a Client VPN endpoint. A target network +// is a subnet in a VPC. You can associate multiple subnets from the same VPC +// with a Client VPN endpoint. You can associate only one subnet in each Availability +// Zone. We recommend that you associate at least two subnets to provide Availability +// Zone redundancy. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AssociateClientVpnTargetNetwork for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork +func (c *EC2) AssociateClientVpnTargetNetwork(input *AssociateClientVpnTargetNetworkInput) (*AssociateClientVpnTargetNetworkOutput, error) { + req, out := c.AssociateClientVpnTargetNetworkRequest(input) + return out, req.Send() +} + +// AssociateClientVpnTargetNetworkWithContext is the same as AssociateClientVpnTargetNetwork with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateClientVpnTargetNetwork for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) AssociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *AssociateClientVpnTargetNetworkInput, opts ...request.Option) (*AssociateClientVpnTargetNetworkOutput, error) { + req, out := c.AssociateClientVpnTargetNetworkRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAssociateDhcpOptions = "AssociateDhcpOptions" // AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the @@ -893,8 +1045,7 @@ func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req output = &AssociateDhcpOptionsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -910,7 +1061,7 @@ func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req // its DHCP lease. You can explicitly renew the lease using the operating system // on the instance. // -// For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html) +// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1066,7 +1217,7 @@ func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req * // an association ID, which you need in order to disassociate the route table // from the subnet later. A route table can be associated with multiple subnets. // -// For more information, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) +// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1297,7 +1448,7 @@ func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (r // IPv6 CIDR block size is fixed at /56. // // For more information about associating CIDR blocks with your VPC and applicable -// restrictions, see VPC and Subnet Sizing (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#VPC_Sizing) +// restrictions, see VPC and Subnet Sizing (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#VPC_Sizing) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1452,8 +1603,7 @@ func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (r output = &AttachInternetGatewayOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -1461,7 +1611,7 @@ func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (r // // Attaches an internet gateway to a VPC, enabling connectivity between the // internet and the VPC. For more information about your VPC and internet gateway, -// see the Amazon Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/). +// see the Amazon Virtual Private Cloud User Guide (https://docs.aws.amazon.com/vpc/latest/userguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1612,15 +1762,12 @@ func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Reques // Attaches an EBS volume to a running or stopped instance and exposes it to // the instance with the specified device name. // -// Encrypted EBS volumes may only be attached to instances that support Amazon -// EBS encryption. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) +// Encrypted EBS volumes must be attached to instances that support Amazon EBS +// encryption. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) // in the Amazon Elastic Compute Cloud User Guide. // -// For a list of supported device names, see Attaching an EBS Volume to an Instance -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html). -// Any device names that aren't reserved for instance store volumes can be used -// for EBS volumes. For more information, see Amazon EC2 Instance Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) -// in the Amazon Elastic Compute Cloud User Guide. +// After you attach an EBS volume, you must make it available. For more information, +// see Making an EBS Volume Available For Use (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html). // // If a volume has an AWS Marketplace product code: // @@ -1634,8 +1781,7 @@ func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Reques // the product. For example, you can't detach a volume from a Windows instance // and attach it to a Linux instance. // -// For more information about EBS volumes, see Attaching Amazon EBS Volumes -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html) +// For more information, see Attaching Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1713,8 +1859,8 @@ func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *reques // Attaches a virtual private gateway to a VPC. You can attach one virtual private // gateway to one VPC at a time. // -// For more information, see AWS Managed VPN Connections (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) -// in the Amazon Virtual Private Cloud User Guide. +// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) +// in the AWS Site-to-Site VPN User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1744,6 +1890,83 @@ func (c *EC2) AttachVpnGatewayWithContext(ctx aws.Context, input *AttachVpnGatew return out, req.Send() } +const opAuthorizeClientVpnIngress = "AuthorizeClientVpnIngress" + +// AuthorizeClientVpnIngressRequest generates a "aws/request.Request" representing the +// client's request for the AuthorizeClientVpnIngress operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AuthorizeClientVpnIngress for more information on using the AuthorizeClientVpnIngress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AuthorizeClientVpnIngressRequest method. +// req, resp := client.AuthorizeClientVpnIngressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress +func (c *EC2) AuthorizeClientVpnIngressRequest(input *AuthorizeClientVpnIngressInput) (req *request.Request, output *AuthorizeClientVpnIngressOutput) { + op := &request.Operation{ + Name: opAuthorizeClientVpnIngress, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AuthorizeClientVpnIngressInput{} + } + + output = &AuthorizeClientVpnIngressOutput{} + req = c.newRequest(op, input, output) + return +} + +// AuthorizeClientVpnIngress API operation for Amazon Elastic Compute Cloud. +// +// Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization +// rules act as firewall rules that grant access to networks. You must configure +// ingress authorization rules to enable clients to access resources in AWS +// or on-premises networks. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AuthorizeClientVpnIngress for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress +func (c *EC2) AuthorizeClientVpnIngress(input *AuthorizeClientVpnIngressInput) (*AuthorizeClientVpnIngressOutput, error) { + req, out := c.AuthorizeClientVpnIngressRequest(input) + return out, req.Send() +} + +// AuthorizeClientVpnIngressWithContext is the same as AuthorizeClientVpnIngress with the addition of +// the ability to pass a context and additional request options. +// +// See AuthorizeClientVpnIngress for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) AuthorizeClientVpnIngressWithContext(ctx aws.Context, input *AuthorizeClientVpnIngressInput, opts ...request.Option) (*AuthorizeClientVpnIngressOutput, error) { + req, out := c.AuthorizeClientVpnIngressRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress" // AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the @@ -1783,32 +2006,30 @@ func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupE output = &AuthorizeSecurityGroupEgressOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud. // -// [EC2-VPC only] Adds one or more egress rules to a security group for use -// with a VPC. Specifically, this action permits instances to send traffic to -// one or more destination IPv4 or IPv6 CIDR address ranges, or to one or more -// destination security groups for the same VPC. This action doesn't apply to -// security groups for use in EC2-Classic. For more information, see Security -// Groups for Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) -// in the Amazon Virtual Private Cloud User Guide. For more information about -// security group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html). -// -// Each rule consists of the protocol (for example, TCP), plus either a CIDR -// range or a source group. For the TCP and UDP protocols, you must also specify -// the destination port or port range. For the ICMP protocol, you must also -// specify the ICMP type and code. You can use -1 for the type or code to mean -// all types or all codes. You can optionally specify a description for the -// rule. +// [VPC only] Adds the specified egress rules to a security group for use with +// a VPC. +// +// An outbound rule permits instances to send traffic to the specified IPv4 +// or IPv6 CIDR address ranges, or to the instances associated with the specified +// destination security groups. +// +// You specify a protocol for each rule (for example, TCP). For the TCP and +// UDP protocols, you must also specify the destination port or port range. +// For the ICMP protocol, you must also specify the ICMP type and code. You +// can use -1 for the type or code to mean all types or all codes. // // Rule changes are propagated to affected instances as quickly as possible. // However, a small delay might occur. // +// For more information about VPC security group limits, see Amazon VPC Limits +// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html). +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1876,32 +2097,28 @@ func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroup output = &AuthorizeSecurityGroupIngressOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud. // -// Adds one or more ingress rules to a security group. +// Adds the specified ingress rules to a security group. // -// Rule changes are propagated to instances within the security group as quickly -// as possible. However, a small delay might occur. +// An inbound rule permits instances to receive traffic from the specified IPv4 +// or IPv6 CIDR address ranges, or from the instances associated with the specified +// destination security groups. // -// [EC2-Classic] This action gives one or more IPv4 CIDR address ranges permission -// to access a security group in your account, or gives one or more security -// groups (called the source groups) permission to access a security group for -// your account. A source group can be for your own AWS account, or another. -// You can have up to 100 rules per group. +// You specify a protocol for each rule (for example, TCP). For TCP and UDP, +// you must also specify the destination port or port range. For ICMP/ICMPv6, +// you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean +// all types or all codes. // -// [EC2-VPC] This action gives one or more IPv4 or IPv6 CIDR address ranges -// permission to access a security group in your VPC, or gives one or more other -// security groups (called the source groups) permission to access a security -// group for your VPC. The security groups must all be for the same VPC or a -// peer VPC in a VPC peering connection. For more information about VPC security -// group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html). +// Rule changes are propagated to instances within the security group as quickly +// as possible. However, a small delay might occur. // -// You can optionally specify a description for the security group rule. +// For more information about VPC security group limits, see Amazon VPC Limits +// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2205,8 +2422,7 @@ func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req output = &CancelConversionTaskOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -2219,7 +2435,7 @@ func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req // and returns an exception. // // For more information, see Importing a Virtual Machine Using the Amazon EC2 -// CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html). +// CLI (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2288,8 +2504,7 @@ func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *reques output = &CancelExportTaskOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -2449,7 +2664,7 @@ func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstanc // Cancels the specified Reserved Instance listing in the Reserved Instance // Marketplace. // -// For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) +// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2758,7 +2973,7 @@ func (c *EC2) CopyFpgaImageRequest(input *CopyFpgaImageInput) (req *request.Requ // CopyFpgaImage API operation for Amazon Elastic Compute Cloud. // -// Copies the specified Amazon FPGA Image (AFI) to the current region. +// Copies the specified Amazon FPGA Image (AFI) to the current Region. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2832,8 +3047,8 @@ func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, out // CopyImage API operation for Amazon Elastic Compute Cloud. // -// Initiates the copy of an AMI from the specified source region to the current -// region. You specify the destination region by using its endpoint when making +// Initiates the copy of an AMI from the specified source Region to the current +// Region. You specify the destination Region by using its endpoint when making // the request. // // Copies of encrypted backing snapshots for the AMI are encrypted. Copies of @@ -2842,7 +3057,7 @@ func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, out // backing snapshot. // // For more information about the prerequisites and limits when copying an AMI, -// see Copying an AMI (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html) +// see Copying an AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2918,16 +3133,15 @@ func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Reques // CopySnapshot API operation for Amazon Elastic Compute Cloud. // // Copies a point-in-time snapshot of an EBS volume and stores it in Amazon -// S3. You can copy the snapshot within the same region or from one region to +// S3. You can copy the snapshot within the same Region or from one Region to // another. You can use the snapshot to create EBS volumes or Amazon Machine -// Images (AMIs). The snapshot is copied to the regional endpoint that you send -// the HTTP request to. +// Images (AMIs). // // Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted -// snapshots remain unencrypted, unless the Encrypted flag is specified during -// the snapshot copy operation. By default, encrypted snapshot copies use the -// default AWS Key Management Service (AWS KMS) customer master key (CMK); however, -// you can specify a non-default CMK with the KmsKeyId parameter. +// snapshots remain unencrypted, unless you enable encryption for the snapshot +// copy operation. By default, encrypted snapshot copies use the default AWS +// Key Management Service (AWS KMS) customer master key (CMK); however, you +// can specify a different CMK. // // To copy an encrypted snapshot that has been shared from another account, // you must have permissions for the CMK used to encrypt the snapshot. @@ -2935,7 +3149,7 @@ func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Reques // Snapshots created by copying another snapshot have an arbitrary volume ID // that should not be used for any purpose. // -// For more information, see Copying an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html) +// For more information, see Copying an Amazon EBS Snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3018,7 +3232,7 @@ func (c *EC2) CreateCapacityReservationRequest(input *CreateCapacityReservationI // Regional RI discounts for that usage. By creating Capacity Reservations, // you ensure that you always have access to Amazon EC2 capacity when you need // it, for as long as you need it. For more information, see Capacity Reservations -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html) // in the Amazon Elastic Compute Cloud User Guide. // // Your request to create a Capacity Reservation could fail if Amazon EC2 does @@ -3032,7 +3246,7 @@ func (c *EC2) CreateCapacityReservationRequest(input *CreateCapacityReservationI // Instance limit for the selected instance type. If your request fails due // to limit constraints, increase your On-Demand Instance limit for the required // instance type and try again. For more information about increasing your instance -// limits, see Amazon EC2 Service Limits (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html) +// limits, see Amazon EC2 Service Limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3063,6 +3277,159 @@ func (c *EC2) CreateCapacityReservationWithContext(ctx aws.Context, input *Creat return out, req.Send() } +const opCreateClientVpnEndpoint = "CreateClientVpnEndpoint" + +// CreateClientVpnEndpointRequest generates a "aws/request.Request" representing the +// client's request for the CreateClientVpnEndpoint operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateClientVpnEndpoint for more information on using the CreateClientVpnEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateClientVpnEndpointRequest method. +// req, resp := client.CreateClientVpnEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint +func (c *EC2) CreateClientVpnEndpointRequest(input *CreateClientVpnEndpointInput) (req *request.Request, output *CreateClientVpnEndpointOutput) { + op := &request.Operation{ + Name: opCreateClientVpnEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateClientVpnEndpointInput{} + } + + output = &CreateClientVpnEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateClientVpnEndpoint API operation for Amazon Elastic Compute Cloud. +// +// Creates a Client VPN endpoint. A Client VPN endpoint is the resource you +// create and configure to enable and manage client VPN sessions. It is the +// destination endpoint at which all client VPN sessions are terminated. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateClientVpnEndpoint for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint +func (c *EC2) CreateClientVpnEndpoint(input *CreateClientVpnEndpointInput) (*CreateClientVpnEndpointOutput, error) { + req, out := c.CreateClientVpnEndpointRequest(input) + return out, req.Send() +} + +// CreateClientVpnEndpointWithContext is the same as CreateClientVpnEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See CreateClientVpnEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) CreateClientVpnEndpointWithContext(ctx aws.Context, input *CreateClientVpnEndpointInput, opts ...request.Option) (*CreateClientVpnEndpointOutput, error) { + req, out := c.CreateClientVpnEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateClientVpnRoute = "CreateClientVpnRoute" + +// CreateClientVpnRouteRequest generates a "aws/request.Request" representing the +// client's request for the CreateClientVpnRoute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateClientVpnRoute for more information on using the CreateClientVpnRoute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateClientVpnRouteRequest method. +// req, resp := client.CreateClientVpnRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute +func (c *EC2) CreateClientVpnRouteRequest(input *CreateClientVpnRouteInput) (req *request.Request, output *CreateClientVpnRouteOutput) { + op := &request.Operation{ + Name: opCreateClientVpnRoute, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateClientVpnRouteInput{} + } + + output = &CreateClientVpnRouteOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateClientVpnRoute API operation for Amazon Elastic Compute Cloud. +// +// Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint +// has a route table that describes the available destination network routes. +// Each route in the route table specifies the path for traffic to specific +// resources or networks. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateClientVpnRoute for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute +func (c *EC2) CreateClientVpnRoute(input *CreateClientVpnRouteInput) (*CreateClientVpnRouteOutput, error) { + req, out := c.CreateClientVpnRouteRequest(input) + return out, req.Send() +} + +// CreateClientVpnRouteWithContext is the same as CreateClientVpnRoute with the addition of +// the ability to pass a context and additional request options. +// +// See CreateClientVpnRoute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) CreateClientVpnRouteWithContext(ctx aws.Context, input *CreateClientVpnRouteInput, opts ...request.Option) (*CreateClientVpnRouteOutput, error) { + req, out := c.CreateClientVpnRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateCustomerGateway = "CreateCustomerGateway" // CreateCustomerGatewayRequest generates a "aws/request.Request" representing the @@ -3120,12 +3487,11 @@ func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (r // a private ASN (in the 64512 - 65534 range). // // Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with -// the exception of 7224, which is reserved in the us-east-1 region, and 9059, -// which is reserved in the eu-west-1 region. +// the exception of 7224, which is reserved in the us-east-1 Region, and 9059, +// which is reserved in the eu-west-1 Region. // -// For more information about VPN customer gateways, see AWS Managed VPN Connections -// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) in the -// Amazon Virtual Private Cloud User Guide. +// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) +// in the AWS Site-to-Site VPN User Guide. // // You cannot create more than one customer gateway with the same VPN type, // IP address, and BGP ASN parameter values. If you run an identical request @@ -3208,7 +3574,7 @@ func (c *EC2) CreateDefaultSubnetRequest(input *CreateDefaultSubnetInput) (req * // Creates a default subnet with a size /20 IPv4 CIDR block in the specified // Availability Zone in your default VPC. You can have only one default subnet // per Availability Zone. For more information, see Creating a Default Subnet -// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html#create-default-subnet) +// (https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#create-default-subnet) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3285,7 +3651,7 @@ func (c *EC2) CreateDefaultVpcRequest(input *CreateDefaultVpcInput) (req *reques // // Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet // in each Availability Zone. For more information about the components of a -// default VPC, see Default VPC and Default Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html) +// default VPC, see Default VPC and Default Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html) // in the Amazon Virtual Private Cloud User Guide. You cannot specify the components // of the default VPC yourself. // @@ -3378,12 +3744,12 @@ func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *requ // * domain-name-servers - The IP addresses of up to four domain name servers, // or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. // If specifying more than one domain name server, specify the IP addresses -// in a single parameter, separated by commas. ITo have your instance to -// receive a custom DNS hostname as specified in domain-name, you must set -// domain-name-servers to a custom DNS server. +// in a single parameter, separated by commas. To have your instance receive +// a custom DNS hostname as specified in domain-name, you must set domain-name-servers +// to a custom DNS server. // // * domain-name - If you're using AmazonProvidedDNS in us-east-1, specify -// ec2.internal. If you're using AmazonProvidedDNS in another region, specify +// ec2.internal. If you're using AmazonProvidedDNS in another Region, specify // region.compute.internal (for example, ap-northeast-1.compute.internal). // Otherwise, specify a domain name (for example, MyCompany.com). This value // is used to complete unqualified DNS hostnames. Important: Some Linux operating @@ -3406,7 +3772,7 @@ func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *requ // only a DNS server that we provide (AmazonProvidedDNS). If you create a set // of options, and if your VPC has an internet gateway, make sure to set the // domain-name-servers option either to AmazonProvidedDNS or to a domain name -// server of your choice. For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html) +// server of your choice. For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3563,7 +3929,7 @@ func (c *EC2) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, // You can create a single EC2 Fleet that includes multiple launch specifications // that vary by instance type, AMI, Availability Zone, or subnet. // -// For more information, see Launching an EC2 Fleet (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html) +// For more information, see Launching an EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3643,7 +4009,7 @@ func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Re // // Flow log data for a monitored network interface is recorded as flow log records, // which are log events consisting of fields that describe the traffic flow. -// For more information, see Flow Log Records (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html#flow-log-records) +// For more information, see Flow Log Records (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records) // in the Amazon Virtual Private Cloud User Guide. // // When publishing to CloudWatch Logs, flow log records are published to a log @@ -3652,7 +4018,7 @@ func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Re // interfaces are published to a single log file object that is stored in the // specified bucket. // -// For more information, see VPC Flow Logs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html) +// For more information, see VPC Flow Logs (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3733,8 +4099,8 @@ func (c *EC2) CreateFpgaImageRequest(input *CreateFpgaImageInput) (req *request. // use, check the output logs. // // An AFI contains the FPGA bitstream that is ready to download to an FPGA. -// You can securely deploy an AFI on one or more FPGA-accelerated instances. -// For more information, see the AWS FPGA Hardware Development Kit (https://github.com/aws/aws-fpga/). +// You can securely deploy an AFI on multiple FPGA-accelerated instances. For +// more information, see the AWS FPGA Hardware Development Kit (https://github.com/aws/aws-fpga/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3816,7 +4182,7 @@ func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, // mapping information for those volumes. When you launch an instance from this // new AMI, the instance automatically launches with those additional volumes. // -// For more information, see Creating Amazon EBS-Backed Linux AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html) +// For more information, see Creating Amazon EBS-Backed Linux AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3895,7 +4261,7 @@ func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInp // // For information about the supported operating systems, image formats, and // known limitations for the types of instances you can export, see Exporting -// an Instance as a VM Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html) +// an Instance as a VM Using VM Import/Export (https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html) // in the VM Import/Export User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3974,7 +4340,7 @@ func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (r // gateway, you attach it to a VPC using AttachInternetGateway. // // For more information about your VPC and internet gateway, see the Amazon -// Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/). +// Virtual Private Cloud User Guide (https://docs.aws.amazon.com/vpc/latest/userguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4053,13 +4419,13 @@ func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Requ // private key is returned as an unencrypted PEM encoded PKCS#1 private key. // If a key with the specified name already exists, Amazon EC2 returns an error. // -// You can have up to five thousand key pairs per region. +// You can have up to five thousand key pairs per Region. // -// The key pair returned to you is available only in the region in which you +// The key pair returned to you is available only in the Region in which you // create it. If you prefer, you can create your own key pair using a third-party -// tool and upload it to any region using ImportKeyPair. +// tool and upload it to any Region using ImportKeyPair. // -// For more information, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) +// For more information, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4293,7 +4659,7 @@ func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *reques // the IP address range of the subnet. Internet-bound traffic from a private // subnet can be routed to the NAT gateway, therefore enabling instances in // the private subnet to connect to the internet. For more information, see -// NAT Gateways (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html) +// NAT Gateways (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4371,7 +4737,7 @@ func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *reques // Creates a network ACL in a VPC. Network ACLs provide an optional layer of // security (in addition to security groups) for the instances in your VPC. // -// For more information, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) +// For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4441,8 +4807,7 @@ func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (r output = &CreateNetworkAclEntryOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -4463,7 +4828,7 @@ func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (r // After you add an entry, you can't modify it; you must either replace it, // or create an entry and delete the old one. // -// For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) +// For more information about network ACLs, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4541,7 +4906,7 @@ func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) // Creates a network interface in the specified subnet. // // For more information about network interfaces, see Elastic Network Interfaces -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the // Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4689,8 +5054,7 @@ func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req output = &CreatePlacementGroupOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -4701,9 +5065,12 @@ func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req // // A cluster placement group is a logical grouping of instances within a single // Availability Zone that benefit from low network latency, high network throughput. -// A spread placement group places instances on distinct hardware. +// A spread placement group places instances on distinct hardware. A partition +// placement group places groups of instances in different partitions, where +// instances in one partition do not share the same hardware with instances +// in another partition. // -// For more information, see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) +// For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4783,9 +5150,8 @@ func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstanc // listing at a time. To get a list of your Standard Reserved Instances, you // can use the DescribeReservedInstances operation. // -// Only Standard Reserved Instances with a capacity reservation can be sold -// in the Reserved Instance Marketplace. Convertible Reserved Instances and -// Standard Reserved Instances with a regional benefit cannot be sold. +// Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace. +// Convertible Reserved Instances cannot be sold. // // The Reserved Instance Marketplace matches sellers who want to resell Standard // Reserved Instance capacity that they no longer need with buyers who want @@ -4800,7 +5166,7 @@ func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstanc // for purchase. To view the details of your Standard Reserved Instance listing, // you can use the DescribeReservedInstancesListings operation. // -// For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) +// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4893,7 +5259,7 @@ func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, // route in the list covers a smaller number of IP addresses and is therefore // more specific, so we use that route to determine where to target the traffic. // -// For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) +// For more information about route tables, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4971,7 +5337,7 @@ func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *reques // Creates a route table for the specified VPC. After you create a route table, // you can add routes and associate the table with a subnet. // -// For more information, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) +// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5048,17 +5414,13 @@ func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req * // // Creates a security group. // -// A security group is for use with instances either in the EC2-Classic platform -// or in a specific VPC. For more information, see Amazon EC2 Security Groups -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) +// A security group acts as a virtual firewall for your instance to control +// inbound and outbound traffic. For more information, see Amazon EC2 Security +// Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your -// VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) +// VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) // in the Amazon Virtual Private Cloud User Guide. // -// EC2-Classic: You can have up to 500 security groups. -// -// EC2-VPC: You can create up to 500 security groups per VPC. -// // When you create a security group, you specify a friendly name of your choice. // You can have a security group for use in EC2-Classic with the same name as // a security group for use in a VPC. However, you can't have two security groups @@ -5074,6 +5436,9 @@ func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req * // You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, // AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress. // +// For more information about VPC security group limits, see Amazon VPC Limits +// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html). +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -5172,11 +5537,11 @@ func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Re // protected. // // You can tag your snapshots during creation. For more information, see Tagging -// Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) +// Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) // in the Amazon Elastic Compute Cloud User Guide. // -// For more information, see Amazon Elastic Block Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) -// and Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) +// For more information, see Amazon Elastic Block Store (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) +// and Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5207,6 +5572,83 @@ func (c *EC2) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotIn return out, req.Send() } +const opCreateSnapshots = "CreateSnapshots" + +// CreateSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the CreateSnapshots operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateSnapshots for more information on using the CreateSnapshots +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateSnapshotsRequest method. +// req, resp := client.CreateSnapshotsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots +func (c *EC2) CreateSnapshotsRequest(input *CreateSnapshotsInput) (req *request.Request, output *CreateSnapshotsOutput) { + op := &request.Operation{ + Name: opCreateSnapshots, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateSnapshotsInput{} + } + + output = &CreateSnapshotsOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateSnapshots API operation for Amazon Elastic Compute Cloud. +// +// Creates crash-consistent snapshots of multiple EBS volumes and stores the +// data in S3. Volumes are chosen by specifying an instance. Any attached volumes +// will produce one snapshot each that is crash-consistent across the instance. +// Boot volumes can be excluded by changing the paramaters. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateSnapshots for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots +func (c *EC2) CreateSnapshots(input *CreateSnapshotsInput) (*CreateSnapshotsOutput, error) { + req, out := c.CreateSnapshotsRequest(input) + return out, req.Send() +} + +// CreateSnapshotsWithContext is the same as CreateSnapshots with the addition of +// the ability to pass a context and additional request options. +// +// See CreateSnapshots for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) CreateSnapshotsWithContext(ctx aws.Context, input *CreateSnapshotsInput, opts ...request.Option) (*CreateSnapshotsOutput, error) { + req, out := c.CreateSnapshotsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription" // CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the @@ -5253,7 +5695,7 @@ func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSub // // Creates a data feed for Spot Instances, enabling you to view Spot Instance // usage logs. You can create one data feed per AWS account. For more information, -// see Spot Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) +// see Spot Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) // in the Amazon EC2 User Guide for Linux Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5353,7 +5795,7 @@ func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Reques // It's therefore possible to have a subnet with no running instances (they're // all stopped), but no remaining IP addresses available. // -// For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) +// For more information about subnets, see Your VPC and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5423,21 +5865,20 @@ func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, o output = &CreateTagsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // CreateTags API operation for Amazon Elastic Compute Cloud. // -// Adds or overwrites one or more tags for the specified Amazon EC2 resource +// Adds or overwrites the specified tags for the specified Amazon EC2 resource // or resources. Each resource can have a maximum of 50 tags. Each tag consists // of a key and optional value. Tag keys must be unique per resource. // -// For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) +// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) // in the Amazon Elastic Compute Cloud User Guide. For more information about // creating IAM policies that control users' access to resources based on tags, -// see Supported Resource-Level Permissions for Amazon EC2 API Actions (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html) +// see Supported Resource-Level Permissions for Amazon EC2 API Actions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5468,6 +5909,333 @@ func (c *EC2) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opt return out, req.Send() } +const opCreateTrafficMirrorFilter = "CreateTrafficMirrorFilter" + +// CreateTrafficMirrorFilterRequest generates a "aws/request.Request" representing the +// client's request for the CreateTrafficMirrorFilter operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateTrafficMirrorFilter for more information on using the CreateTrafficMirrorFilter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateTrafficMirrorFilterRequest method. +// req, resp := client.CreateTrafficMirrorFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilter +func (c *EC2) CreateTrafficMirrorFilterRequest(input *CreateTrafficMirrorFilterInput) (req *request.Request, output *CreateTrafficMirrorFilterOutput) { + op := &request.Operation{ + Name: opCreateTrafficMirrorFilter, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateTrafficMirrorFilterInput{} + } + + output = &CreateTrafficMirrorFilterOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTrafficMirrorFilter API operation for Amazon Elastic Compute Cloud. +// +// Creates a Traffic Mirror filter. +// +// A Traffic Mirror filter is a set of rules that defines the traffic to mirror. +// +// By default, no traffic is mirrored. To mirror traffic, use CreateTrafficMirrorFilterRule +// to add Traffic Mirror rules to the filter. The rules you add define what +// traffic gets mirrored. You can also use ModifyTrafficMirrorFilterNetworkServices +// to mirror supported network services. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateTrafficMirrorFilter for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilter +func (c *EC2) CreateTrafficMirrorFilter(input *CreateTrafficMirrorFilterInput) (*CreateTrafficMirrorFilterOutput, error) { + req, out := c.CreateTrafficMirrorFilterRequest(input) + return out, req.Send() +} + +// CreateTrafficMirrorFilterWithContext is the same as CreateTrafficMirrorFilter with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTrafficMirrorFilter for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) CreateTrafficMirrorFilterWithContext(ctx aws.Context, input *CreateTrafficMirrorFilterInput, opts ...request.Option) (*CreateTrafficMirrorFilterOutput, error) { + req, out := c.CreateTrafficMirrorFilterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateTrafficMirrorFilterRule = "CreateTrafficMirrorFilterRule" + +// CreateTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the +// client's request for the CreateTrafficMirrorFilterRule operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateTrafficMirrorFilterRule for more information on using the CreateTrafficMirrorFilterRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateTrafficMirrorFilterRuleRequest method. +// req, resp := client.CreateTrafficMirrorFilterRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilterRule +func (c *EC2) CreateTrafficMirrorFilterRuleRequest(input *CreateTrafficMirrorFilterRuleInput) (req *request.Request, output *CreateTrafficMirrorFilterRuleOutput) { + op := &request.Operation{ + Name: opCreateTrafficMirrorFilterRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateTrafficMirrorFilterRuleInput{} + } + + output = &CreateTrafficMirrorFilterRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud. +// +// Creates a Traffic Mirror rule. +// +// A Traffic Mirror rule defines the Traffic Mirror source traffic to mirror. +// +// You need the Traffic Mirror filter ID when you create the rule. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateTrafficMirrorFilterRule for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilterRule +func (c *EC2) CreateTrafficMirrorFilterRule(input *CreateTrafficMirrorFilterRuleInput) (*CreateTrafficMirrorFilterRuleOutput, error) { + req, out := c.CreateTrafficMirrorFilterRuleRequest(input) + return out, req.Send() +} + +// CreateTrafficMirrorFilterRuleWithContext is the same as CreateTrafficMirrorFilterRule with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTrafficMirrorFilterRule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) CreateTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *CreateTrafficMirrorFilterRuleInput, opts ...request.Option) (*CreateTrafficMirrorFilterRuleOutput, error) { + req, out := c.CreateTrafficMirrorFilterRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateTrafficMirrorSession = "CreateTrafficMirrorSession" + +// CreateTrafficMirrorSessionRequest generates a "aws/request.Request" representing the +// client's request for the CreateTrafficMirrorSession operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateTrafficMirrorSession for more information on using the CreateTrafficMirrorSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateTrafficMirrorSessionRequest method. +// req, resp := client.CreateTrafficMirrorSessionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorSession +func (c *EC2) CreateTrafficMirrorSessionRequest(input *CreateTrafficMirrorSessionInput) (req *request.Request, output *CreateTrafficMirrorSessionOutput) { + op := &request.Operation{ + Name: opCreateTrafficMirrorSession, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateTrafficMirrorSessionInput{} + } + + output = &CreateTrafficMirrorSessionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTrafficMirrorSession API operation for Amazon Elastic Compute Cloud. +// +// Creates a Traffic Mirror session. +// +// A Traffic Mirror session actively copies packets from a Traffic Mirror source +// to a Traffic Mirror target. Create a filter, and then assign it to the session +// to define a subset of the traffic to mirror, for example all TCP traffic. +// +// The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) +// can be in the same VPC, or in a different VPC connected via VPC peering or +// a transit gateway. +// +// By default, no traffic is mirrored. Use CreateTrafficMirrorFilter to create +// filter rules that specify the traffic to mirror. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateTrafficMirrorSession for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorSession +func (c *EC2) CreateTrafficMirrorSession(input *CreateTrafficMirrorSessionInput) (*CreateTrafficMirrorSessionOutput, error) { + req, out := c.CreateTrafficMirrorSessionRequest(input) + return out, req.Send() +} + +// CreateTrafficMirrorSessionWithContext is the same as CreateTrafficMirrorSession with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTrafficMirrorSession for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) CreateTrafficMirrorSessionWithContext(ctx aws.Context, input *CreateTrafficMirrorSessionInput, opts ...request.Option) (*CreateTrafficMirrorSessionOutput, error) { + req, out := c.CreateTrafficMirrorSessionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateTrafficMirrorTarget = "CreateTrafficMirrorTarget" + +// CreateTrafficMirrorTargetRequest generates a "aws/request.Request" representing the +// client's request for the CreateTrafficMirrorTarget operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateTrafficMirrorTarget for more information on using the CreateTrafficMirrorTarget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateTrafficMirrorTargetRequest method. +// req, resp := client.CreateTrafficMirrorTargetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorTarget +func (c *EC2) CreateTrafficMirrorTargetRequest(input *CreateTrafficMirrorTargetInput) (req *request.Request, output *CreateTrafficMirrorTargetOutput) { + op := &request.Operation{ + Name: opCreateTrafficMirrorTarget, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateTrafficMirrorTargetInput{} + } + + output = &CreateTrafficMirrorTargetOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTrafficMirrorTarget API operation for Amazon Elastic Compute Cloud. +// +// Creates a target for your Traffic Mirror session. +// +// A Traffic Mirror target is the destination for mirrored traffic. The Traffic +// Mirror source and the Traffic Mirror target (monitoring appliances) can be +// in the same VPC, or in different VPCs connected via VPC peering or a transit +// gateway. +// +// A Traffic Mirror target can be a network interface, or a Network Load Balancer. +// +// To use the target in a Traffic Mirror session, use CreateTrafficMirrorSession. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateTrafficMirrorTarget for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorTarget +func (c *EC2) CreateTrafficMirrorTarget(input *CreateTrafficMirrorTargetInput) (*CreateTrafficMirrorTargetOutput, error) { + req, out := c.CreateTrafficMirrorTargetRequest(input) + return out, req.Send() +} + +// CreateTrafficMirrorTargetWithContext is the same as CreateTrafficMirrorTarget with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTrafficMirrorTarget for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) CreateTrafficMirrorTargetWithContext(ctx aws.Context, input *CreateTrafficMirrorTargetInput, opts ...request.Option) (*CreateTrafficMirrorTargetOutput, error) { + req, out := c.CreateTrafficMirrorTargetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateTransitGateway = "CreateTransitGateway" // CreateTransitGatewayRequest generates a "aws/request.Request" representing the @@ -5836,23 +6604,23 @@ func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Reques // // Creates an EBS volume that can be attached to an instance in the same Availability // Zone. The volume is created in the regional endpoint that you send the HTTP -// request to. For more information see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html). +// request to. For more information see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html). // // You can create a new empty volume or restore a volume from an EBS snapshot. // Any AWS Marketplace product codes from the snapshot are propagated to the // volume. // -// You can create encrypted volumes with the Encrypted parameter. Encrypted -// volumes may only be attached to instances that support Amazon EBS encryption. -// Volumes that are created from encrypted snapshots are also automatically -// encrypted. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) +// You can create encrypted volumes. Encrypted volumes must be attached to instances +// that support Amazon EBS encryption. Volumes that are created from encrypted +// snapshots are also automatically encrypted. For more information, see Amazon +// EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) // in the Amazon Elastic Compute Cloud User Guide. // // You can tag your volumes during creation. For more information, see Tagging -// Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) +// Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) // in the Amazon Elastic Compute Cloud User Guide. // -// For more information, see Creating an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html) +// For more information, see Creating an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5930,7 +6698,7 @@ func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, out // Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can // create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 // netmask (65,536 IPv4 addresses). For more information about how large to -// make your VPC, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) +// make your VPC, see Your VPC and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) // in the Amazon Virtual Private Cloud User Guide. // // You can optionally request an Amazon-provided IPv6 CIDR block for the VPC. @@ -5939,12 +6707,12 @@ func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, out // // By default, each instance you launch in the VPC has the default DHCP options, // which include only a default DNS server that we provide (AmazonProvidedDNS). -// For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html) +// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html) // in the Amazon Virtual Private Cloud User Guide. // // You can specify the instance tenancy value for the VPC when you create it. // You can't change this value for the VPC after you create it. For more information, -// see Dedicated Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html) +// see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6022,7 +6790,7 @@ func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *requ // Creates a VPC endpoint for a specified service. An endpoint enables you to // create a private connection between your VPC and the service. The service // may be provided by AWS, an AWS Marketplace partner, or another AWS account. -// For more information, see VPC Endpoints (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html) +// For more information, see VPC Endpoints (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) // in the Amazon Virtual Private Cloud User Guide. // // A gateway endpoint serves as a target for a route in your route table for @@ -6112,7 +6880,7 @@ func (c *EC2) CreateVpcEndpointConnectionNotificationRequest(input *CreateVpcEnd // Creates a connection notification for a specified VPC endpoint or VPC endpoint // service. A connection notification notifies you of specific endpoint events. // You must create an SNS topic to receive notifications. For more information, -// see Create a Topic (http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) +// see Create a Topic (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) // in the Amazon Simple Notification Service Developer Guide. // // You can create a connection notification for interface endpoints only. @@ -6195,7 +6963,7 @@ func (c *EC2) CreateVpcEndpointServiceConfigurationRequest(input *CreateVpcEndpo // // To create an endpoint service configuration, you must first create a Network // Load Balancer for your service. For more information, see VPC Endpoint Services -// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/endpoint-service.html) +// (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6277,7 +7045,7 @@ func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectio // CIDR blocks. // // Limitations and rules apply to a VPC peering connection. For more information, -// see the limitations (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/vpc-peering-basics.html#vpc-peering-limitations) +// see the limitations (https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-basics.html#vpc-peering-limitations) // section in the VPC Peering Guide. // // The owner of the accepter VPC must accept the peering request to activate @@ -6360,7 +7128,7 @@ func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req * // CreateVpnConnection API operation for Amazon Elastic Compute Cloud. // // Creates a VPN connection between an existing virtual private gateway and -// a VPN customer gateway. The only supported connection type is ipsec.1. +// a VPN customer gateway. The supported connection types is ipsec.1. // // The response includes information that you need to give to your network administrator // to configure your customer gateway. @@ -6376,8 +7144,8 @@ func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req * // This is an idempotent operation. If you perform the operation more than once, // Amazon EC2 doesn't return an error. // -// For more information, see AWS Managed VPN Connections (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) -// in the Amazon Virtual Private Cloud User Guide. +// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) +// in the AWS Site-to-Site VPN User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6446,8 +7214,7 @@ func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInp output = &CreateVpnConnectionRouteOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -6458,9 +7225,8 @@ func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInp // traffic to be routed from the virtual private gateway to the VPN customer // gateway. // -// For more information about VPN connections, see AWS Managed VPN Connections -// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) in the -// Amazon Virtual Private Cloud User Guide. +// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) +// in the AWS Site-to-Site VPN User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6538,9 +7304,8 @@ func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *reques // on the VPC side of your VPN connection. You can create a virtual private // gateway before creating the VPC itself. // -// For more information about virtual private gateways, see AWS Managed VPN -// Connections (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) -// in the Amazon Virtual Private Cloud User Guide. +// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) +// in the AWS Site-to-Site VPN User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6570,6 +7335,159 @@ func (c *EC2) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatew return out, req.Send() } +const opDeleteClientVpnEndpoint = "DeleteClientVpnEndpoint" + +// DeleteClientVpnEndpointRequest generates a "aws/request.Request" representing the +// client's request for the DeleteClientVpnEndpoint operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteClientVpnEndpoint for more information on using the DeleteClientVpnEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteClientVpnEndpointRequest method. +// req, resp := client.DeleteClientVpnEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint +func (c *EC2) DeleteClientVpnEndpointRequest(input *DeleteClientVpnEndpointInput) (req *request.Request, output *DeleteClientVpnEndpointOutput) { + op := &request.Operation{ + Name: opDeleteClientVpnEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteClientVpnEndpointInput{} + } + + output = &DeleteClientVpnEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteClientVpnEndpoint API operation for Amazon Elastic Compute Cloud. +// +// Deletes the specified Client VPN endpoint. You must disassociate all target +// networks before you can delete a Client VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteClientVpnEndpoint for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint +func (c *EC2) DeleteClientVpnEndpoint(input *DeleteClientVpnEndpointInput) (*DeleteClientVpnEndpointOutput, error) { + req, out := c.DeleteClientVpnEndpointRequest(input) + return out, req.Send() +} + +// DeleteClientVpnEndpointWithContext is the same as DeleteClientVpnEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteClientVpnEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DeleteClientVpnEndpointWithContext(ctx aws.Context, input *DeleteClientVpnEndpointInput, opts ...request.Option) (*DeleteClientVpnEndpointOutput, error) { + req, out := c.DeleteClientVpnEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteClientVpnRoute = "DeleteClientVpnRoute" + +// DeleteClientVpnRouteRequest generates a "aws/request.Request" representing the +// client's request for the DeleteClientVpnRoute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteClientVpnRoute for more information on using the DeleteClientVpnRoute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteClientVpnRouteRequest method. +// req, resp := client.DeleteClientVpnRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute +func (c *EC2) DeleteClientVpnRouteRequest(input *DeleteClientVpnRouteInput) (req *request.Request, output *DeleteClientVpnRouteOutput) { + op := &request.Operation{ + Name: opDeleteClientVpnRoute, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteClientVpnRouteInput{} + } + + output = &DeleteClientVpnRouteOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteClientVpnRoute API operation for Amazon Elastic Compute Cloud. +// +// Deletes a route from a Client VPN endpoint. You can only delete routes that +// you manually added using the CreateClientVpnRoute action. You cannot delete +// routes that were automatically added when associating a subnet. To remove +// routes that have been automatically added, disassociate the target subnet +// from the Client VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteClientVpnRoute for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute +func (c *EC2) DeleteClientVpnRoute(input *DeleteClientVpnRouteInput) (*DeleteClientVpnRouteOutput, error) { + req, out := c.DeleteClientVpnRouteRequest(input) + return out, req.Send() +} + +// DeleteClientVpnRouteWithContext is the same as DeleteClientVpnRoute with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteClientVpnRoute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DeleteClientVpnRouteWithContext(ctx aws.Context, input *DeleteClientVpnRouteInput, opts ...request.Option) (*DeleteClientVpnRouteOutput, error) { + req, out := c.DeleteClientVpnRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteCustomerGateway = "DeleteCustomerGateway" // DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the @@ -6609,8 +7527,7 @@ func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (r output = &DeleteCustomerGatewayOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -6686,8 +7603,7 @@ func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *requ output = &DeleteDhcpOptionsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -7067,8 +7983,7 @@ func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (r output = &DeleteInternetGatewayOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -7144,8 +8059,7 @@ func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Requ output = &DeleteKeyPairOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -7448,8 +8362,7 @@ func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *reques output = &DeleteNetworkAclOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -7525,8 +8438,7 @@ func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (r output = &DeleteNetworkAclEntryOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -7602,8 +8514,7 @@ func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) output = &DeleteNetworkInterfaceOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -7756,8 +8667,7 @@ func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req output = &DeletePlacementGroupOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -7765,7 +8675,7 @@ func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req // // Deletes the specified placement group. You must terminate all instances in // the placement group before you can delete the placement group. For more information, -// see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) +// see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -7835,8 +8745,7 @@ func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output = &DeleteRouteOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -7911,8 +8820,7 @@ func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *reques output = &DeleteRouteTableOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -7989,8 +8897,7 @@ func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req * output = &DeleteSecurityGroupOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -8069,8 +8976,7 @@ func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Re output = &DeleteSnapshotOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -8089,7 +8995,7 @@ func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Re // a registered AMI. You must first de-register the AMI before you can delete // the snapshot. // -// For more information, see Deleting an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html) +// For more information, see Deleting an Amazon EBS Snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -8159,8 +9065,7 @@ func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSub output = &DeleteSpotDatafeedSubscriptionOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -8235,8 +9140,7 @@ func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Reques output = &DeleteSubnetOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -8312,8 +9216,7 @@ func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, o output = &DeleteTagsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -8322,7 +9225,7 @@ func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, o // Deletes the specified set of tags from the specified set of resources. // // To list the current tags, use DescribeTags. For more information about tags, -// see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) +// see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -8353,6 +9256,308 @@ func (c *EC2) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opt return out, req.Send() } +const opDeleteTrafficMirrorFilter = "DeleteTrafficMirrorFilter" + +// DeleteTrafficMirrorFilterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTrafficMirrorFilter operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteTrafficMirrorFilter for more information on using the DeleteTrafficMirrorFilter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteTrafficMirrorFilterRequest method. +// req, resp := client.DeleteTrafficMirrorFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilter +func (c *EC2) DeleteTrafficMirrorFilterRequest(input *DeleteTrafficMirrorFilterInput) (req *request.Request, output *DeleteTrafficMirrorFilterOutput) { + op := &request.Operation{ + Name: opDeleteTrafficMirrorFilter, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteTrafficMirrorFilterInput{} + } + + output = &DeleteTrafficMirrorFilterOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteTrafficMirrorFilter API operation for Amazon Elastic Compute Cloud. +// +// Deletes the specified Traffic Mirror filter. +// +// You cannot delete a Traffic Mirror filter that is in use by a Traffic Mirror +// session. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteTrafficMirrorFilter for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilter +func (c *EC2) DeleteTrafficMirrorFilter(input *DeleteTrafficMirrorFilterInput) (*DeleteTrafficMirrorFilterOutput, error) { + req, out := c.DeleteTrafficMirrorFilterRequest(input) + return out, req.Send() +} + +// DeleteTrafficMirrorFilterWithContext is the same as DeleteTrafficMirrorFilter with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTrafficMirrorFilter for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DeleteTrafficMirrorFilterWithContext(ctx aws.Context, input *DeleteTrafficMirrorFilterInput, opts ...request.Option) (*DeleteTrafficMirrorFilterOutput, error) { + req, out := c.DeleteTrafficMirrorFilterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteTrafficMirrorFilterRule = "DeleteTrafficMirrorFilterRule" + +// DeleteTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTrafficMirrorFilterRule operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteTrafficMirrorFilterRule for more information on using the DeleteTrafficMirrorFilterRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteTrafficMirrorFilterRuleRequest method. +// req, resp := client.DeleteTrafficMirrorFilterRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilterRule +func (c *EC2) DeleteTrafficMirrorFilterRuleRequest(input *DeleteTrafficMirrorFilterRuleInput) (req *request.Request, output *DeleteTrafficMirrorFilterRuleOutput) { + op := &request.Operation{ + Name: opDeleteTrafficMirrorFilterRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteTrafficMirrorFilterRuleInput{} + } + + output = &DeleteTrafficMirrorFilterRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud. +// +// Deletes the specified Traffic Mirror rule. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteTrafficMirrorFilterRule for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilterRule +func (c *EC2) DeleteTrafficMirrorFilterRule(input *DeleteTrafficMirrorFilterRuleInput) (*DeleteTrafficMirrorFilterRuleOutput, error) { + req, out := c.DeleteTrafficMirrorFilterRuleRequest(input) + return out, req.Send() +} + +// DeleteTrafficMirrorFilterRuleWithContext is the same as DeleteTrafficMirrorFilterRule with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTrafficMirrorFilterRule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DeleteTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *DeleteTrafficMirrorFilterRuleInput, opts ...request.Option) (*DeleteTrafficMirrorFilterRuleOutput, error) { + req, out := c.DeleteTrafficMirrorFilterRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteTrafficMirrorSession = "DeleteTrafficMirrorSession" + +// DeleteTrafficMirrorSessionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTrafficMirrorSession operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteTrafficMirrorSession for more information on using the DeleteTrafficMirrorSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteTrafficMirrorSessionRequest method. +// req, resp := client.DeleteTrafficMirrorSessionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorSession +func (c *EC2) DeleteTrafficMirrorSessionRequest(input *DeleteTrafficMirrorSessionInput) (req *request.Request, output *DeleteTrafficMirrorSessionOutput) { + op := &request.Operation{ + Name: opDeleteTrafficMirrorSession, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteTrafficMirrorSessionInput{} + } + + output = &DeleteTrafficMirrorSessionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteTrafficMirrorSession API operation for Amazon Elastic Compute Cloud. +// +// Deletes the specified Traffic Mirror session. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteTrafficMirrorSession for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorSession +func (c *EC2) DeleteTrafficMirrorSession(input *DeleteTrafficMirrorSessionInput) (*DeleteTrafficMirrorSessionOutput, error) { + req, out := c.DeleteTrafficMirrorSessionRequest(input) + return out, req.Send() +} + +// DeleteTrafficMirrorSessionWithContext is the same as DeleteTrafficMirrorSession with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTrafficMirrorSession for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DeleteTrafficMirrorSessionWithContext(ctx aws.Context, input *DeleteTrafficMirrorSessionInput, opts ...request.Option) (*DeleteTrafficMirrorSessionOutput, error) { + req, out := c.DeleteTrafficMirrorSessionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteTrafficMirrorTarget = "DeleteTrafficMirrorTarget" + +// DeleteTrafficMirrorTargetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTrafficMirrorTarget operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteTrafficMirrorTarget for more information on using the DeleteTrafficMirrorTarget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteTrafficMirrorTargetRequest method. +// req, resp := client.DeleteTrafficMirrorTargetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorTarget +func (c *EC2) DeleteTrafficMirrorTargetRequest(input *DeleteTrafficMirrorTargetInput) (req *request.Request, output *DeleteTrafficMirrorTargetOutput) { + op := &request.Operation{ + Name: opDeleteTrafficMirrorTarget, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteTrafficMirrorTargetInput{} + } + + output = &DeleteTrafficMirrorTargetOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteTrafficMirrorTarget API operation for Amazon Elastic Compute Cloud. +// +// Deletes the specified Traffic Mirror target. +// +// You cannot delete a Traffic Mirror target that is in use by a Traffic Mirror +// session. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteTrafficMirrorTarget for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorTarget +func (c *EC2) DeleteTrafficMirrorTarget(input *DeleteTrafficMirrorTargetInput) (*DeleteTrafficMirrorTargetOutput, error) { + req, out := c.DeleteTrafficMirrorTargetRequest(input) + return out, req.Send() +} + +// DeleteTrafficMirrorTargetWithContext is the same as DeleteTrafficMirrorTarget with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTrafficMirrorTarget for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DeleteTrafficMirrorTargetWithContext(ctx aws.Context, input *DeleteTrafficMirrorTargetInput, opts ...request.Option) (*DeleteTrafficMirrorTargetOutput, error) { + req, out := c.DeleteTrafficMirrorTargetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteTransitGateway = "DeleteTransitGateway" // DeleteTransitGatewayRequest generates a "aws/request.Request" representing the @@ -8690,8 +9895,7 @@ func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Reques output = &DeleteVolumeOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -8702,7 +9906,7 @@ func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Reques // // The volume can remain in the deleting state for several minutes. // -// For more information, see Deleting an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html) +// For more information, see Deleting an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -8772,8 +9976,7 @@ func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, out output = &DeleteVpcOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -9158,8 +10361,7 @@ func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req * output = &DeleteVpnConnectionOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -9243,8 +10445,7 @@ func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInp output = &DeleteVpnConnectionRouteOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -9322,8 +10523,7 @@ func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *reques output = &DeleteVpnGatewayOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -9482,8 +10682,7 @@ func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request. output = &DeregisterImageOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -9663,10 +10862,10 @@ func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *requ // DescribeAddresses API operation for Amazon Elastic Compute Cloud. // -// Describes one or more of your Elastic IP addresses. +// Describes the specified Elastic IP addresses or all of your Elastic IP addresses. // // An Elastic IP address is for use in either the EC2-Classic platform or in -// a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) +// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -9742,8 +10941,8 @@ func (c *EC2) DescribeAggregateIdFormatRequest(input *DescribeAggregateIdFormatI // DescribeAggregateIdFormat API operation for Amazon Elastic Compute Cloud. // // Describes the longer ID format settings for all resource types in a specific -// region. This request is useful for performing a quick audit to determine -// whether a specific region is fully opted in for longer IDs (17-character +// Region. This request is useful for performing a quick audit to determine +// whether a specific Region is fully opted in for longer IDs (17-character // IDs). // // This request only returns information about resource types that support longer @@ -9829,12 +11028,12 @@ func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesI // DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud. // -// Describes one or more of the Availability Zones that are available to you. -// The results include zones only for the region you're currently using. If -// there is an event impacting an Availability Zone, you can use this request -// to view the state and any provided message for that Availability Zone. +// Describes the Availability Zones that are available to you. The results include +// zones only for the Region you're currently using. If there is an event impacting +// an Availability Zone, you can use this request to view the state and any +// provided message for that Availability Zone. // -// For more information, see Regions and Availability Zones (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html) +// For more information, see Regions and Availability Zones (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -9909,7 +11108,7 @@ func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req * // DescribeBundleTasks API operation for Amazon Elastic Compute Cloud. // -// Describes one or more of your bundling tasks. +// Describes the specified bundle tasks or all of your bundle tasks. // // Completed bundle tasks are listed for only a limited time. If your bundle // task is no longer in the list, you can still register an AMI from it. Just @@ -9975,6 +11174,12 @@ func (c *EC2) DescribeByoipCidrsRequest(input *DescribeByoipCidrsInput) (req *re Name: opDescribeByoipCidrs, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -10021,6 +11226,56 @@ func (c *EC2) DescribeByoipCidrsWithContext(ctx aws.Context, input *DescribeByoi return out, req.Send() } +// DescribeByoipCidrsPages iterates over the pages of a DescribeByoipCidrs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeByoipCidrs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeByoipCidrs operation. +// pageNum := 0 +// err := client.DescribeByoipCidrsPages(params, +// func(page *ec2.DescribeByoipCidrsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeByoipCidrsPages(input *DescribeByoipCidrsInput, fn func(*DescribeByoipCidrsOutput, bool) bool) error { + return c.DescribeByoipCidrsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeByoipCidrsPagesWithContext same as DescribeByoipCidrsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeByoipCidrsPagesWithContext(ctx aws.Context, input *DescribeByoipCidrsInput, fn func(*DescribeByoipCidrsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeByoipCidrsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeByoipCidrsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeByoipCidrsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeCapacityReservations = "DescribeCapacityReservations" // DescribeCapacityReservationsRequest generates a "aws/request.Request" representing the @@ -10052,6 +11307,12 @@ func (c *EC2) DescribeCapacityReservationsRequest(input *DescribeCapacityReserva Name: opDescribeCapacityReservations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -10096,6 +11357,56 @@ func (c *EC2) DescribeCapacityReservationsWithContext(ctx aws.Context, input *De return out, req.Send() } +// DescribeCapacityReservationsPages iterates over the pages of a DescribeCapacityReservations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeCapacityReservations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeCapacityReservations operation. +// pageNum := 0 +// err := client.DescribeCapacityReservationsPages(params, +// func(page *ec2.DescribeCapacityReservationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeCapacityReservationsPages(input *DescribeCapacityReservationsInput, fn func(*DescribeCapacityReservationsOutput, bool) bool) error { + return c.DescribeCapacityReservationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeCapacityReservationsPagesWithContext same as DescribeCapacityReservationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeCapacityReservationsPagesWithContext(ctx aws.Context, input *DescribeCapacityReservationsInput, fn func(*DescribeCapacityReservationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeCapacityReservationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeCapacityReservationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeCapacityReservationsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances" // DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the @@ -10127,6 +11438,12 @@ func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInst Name: opDescribeClassicLinkInstances, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -10173,6 +11490,707 @@ func (c *EC2) DescribeClassicLinkInstancesWithContext(ctx aws.Context, input *De return out, req.Send() } +// DescribeClassicLinkInstancesPages iterates over the pages of a DescribeClassicLinkInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeClassicLinkInstances method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeClassicLinkInstances operation. +// pageNum := 0 +// err := client.DescribeClassicLinkInstancesPages(params, +// func(page *ec2.DescribeClassicLinkInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeClassicLinkInstancesPages(input *DescribeClassicLinkInstancesInput, fn func(*DescribeClassicLinkInstancesOutput, bool) bool) error { + return c.DescribeClassicLinkInstancesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeClassicLinkInstancesPagesWithContext same as DescribeClassicLinkInstancesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeClassicLinkInstancesPagesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, fn func(*DescribeClassicLinkInstancesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeClassicLinkInstancesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeClassicLinkInstancesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeClassicLinkInstancesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeClientVpnAuthorizationRules = "DescribeClientVpnAuthorizationRules" + +// DescribeClientVpnAuthorizationRulesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClientVpnAuthorizationRules operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeClientVpnAuthorizationRules for more information on using the DescribeClientVpnAuthorizationRules +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeClientVpnAuthorizationRulesRequest method. +// req, resp := client.DescribeClientVpnAuthorizationRulesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules +func (c *EC2) DescribeClientVpnAuthorizationRulesRequest(input *DescribeClientVpnAuthorizationRulesInput) (req *request.Request, output *DescribeClientVpnAuthorizationRulesOutput) { + op := &request.Operation{ + Name: opDescribeClientVpnAuthorizationRules, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeClientVpnAuthorizationRulesInput{} + } + + output = &DescribeClientVpnAuthorizationRulesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeClientVpnAuthorizationRules API operation for Amazon Elastic Compute Cloud. +// +// Describes the authorization rules for a specified Client VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeClientVpnAuthorizationRules for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules +func (c *EC2) DescribeClientVpnAuthorizationRules(input *DescribeClientVpnAuthorizationRulesInput) (*DescribeClientVpnAuthorizationRulesOutput, error) { + req, out := c.DescribeClientVpnAuthorizationRulesRequest(input) + return out, req.Send() +} + +// DescribeClientVpnAuthorizationRulesWithContext is the same as DescribeClientVpnAuthorizationRules with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeClientVpnAuthorizationRules for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeClientVpnAuthorizationRulesWithContext(ctx aws.Context, input *DescribeClientVpnAuthorizationRulesInput, opts ...request.Option) (*DescribeClientVpnAuthorizationRulesOutput, error) { + req, out := c.DescribeClientVpnAuthorizationRulesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeClientVpnAuthorizationRulesPages iterates over the pages of a DescribeClientVpnAuthorizationRules operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeClientVpnAuthorizationRules method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeClientVpnAuthorizationRules operation. +// pageNum := 0 +// err := client.DescribeClientVpnAuthorizationRulesPages(params, +// func(page *ec2.DescribeClientVpnAuthorizationRulesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeClientVpnAuthorizationRulesPages(input *DescribeClientVpnAuthorizationRulesInput, fn func(*DescribeClientVpnAuthorizationRulesOutput, bool) bool) error { + return c.DescribeClientVpnAuthorizationRulesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeClientVpnAuthorizationRulesPagesWithContext same as DescribeClientVpnAuthorizationRulesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeClientVpnAuthorizationRulesPagesWithContext(ctx aws.Context, input *DescribeClientVpnAuthorizationRulesInput, fn func(*DescribeClientVpnAuthorizationRulesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeClientVpnAuthorizationRulesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeClientVpnAuthorizationRulesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeClientVpnAuthorizationRulesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeClientVpnConnections = "DescribeClientVpnConnections" + +// DescribeClientVpnConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClientVpnConnections operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeClientVpnConnections for more information on using the DescribeClientVpnConnections +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeClientVpnConnectionsRequest method. +// req, resp := client.DescribeClientVpnConnectionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections +func (c *EC2) DescribeClientVpnConnectionsRequest(input *DescribeClientVpnConnectionsInput) (req *request.Request, output *DescribeClientVpnConnectionsOutput) { + op := &request.Operation{ + Name: opDescribeClientVpnConnections, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeClientVpnConnectionsInput{} + } + + output = &DescribeClientVpnConnectionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeClientVpnConnections API operation for Amazon Elastic Compute Cloud. +// +// Describes active client connections and connections that have been terminated +// within the last 60 minutes for the specified Client VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeClientVpnConnections for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections +func (c *EC2) DescribeClientVpnConnections(input *DescribeClientVpnConnectionsInput) (*DescribeClientVpnConnectionsOutput, error) { + req, out := c.DescribeClientVpnConnectionsRequest(input) + return out, req.Send() +} + +// DescribeClientVpnConnectionsWithContext is the same as DescribeClientVpnConnections with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeClientVpnConnections for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeClientVpnConnectionsWithContext(ctx aws.Context, input *DescribeClientVpnConnectionsInput, opts ...request.Option) (*DescribeClientVpnConnectionsOutput, error) { + req, out := c.DescribeClientVpnConnectionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeClientVpnConnectionsPages iterates over the pages of a DescribeClientVpnConnections operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeClientVpnConnections method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeClientVpnConnections operation. +// pageNum := 0 +// err := client.DescribeClientVpnConnectionsPages(params, +// func(page *ec2.DescribeClientVpnConnectionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeClientVpnConnectionsPages(input *DescribeClientVpnConnectionsInput, fn func(*DescribeClientVpnConnectionsOutput, bool) bool) error { + return c.DescribeClientVpnConnectionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeClientVpnConnectionsPagesWithContext same as DescribeClientVpnConnectionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeClientVpnConnectionsPagesWithContext(ctx aws.Context, input *DescribeClientVpnConnectionsInput, fn func(*DescribeClientVpnConnectionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeClientVpnConnectionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeClientVpnConnectionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeClientVpnConnectionsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeClientVpnEndpoints = "DescribeClientVpnEndpoints" + +// DescribeClientVpnEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClientVpnEndpoints operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeClientVpnEndpoints for more information on using the DescribeClientVpnEndpoints +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeClientVpnEndpointsRequest method. +// req, resp := client.DescribeClientVpnEndpointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints +func (c *EC2) DescribeClientVpnEndpointsRequest(input *DescribeClientVpnEndpointsInput) (req *request.Request, output *DescribeClientVpnEndpointsOutput) { + op := &request.Operation{ + Name: opDescribeClientVpnEndpoints, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeClientVpnEndpointsInput{} + } + + output = &DescribeClientVpnEndpointsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeClientVpnEndpoints API operation for Amazon Elastic Compute Cloud. +// +// Describes one or more Client VPN endpoints in the account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeClientVpnEndpoints for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints +func (c *EC2) DescribeClientVpnEndpoints(input *DescribeClientVpnEndpointsInput) (*DescribeClientVpnEndpointsOutput, error) { + req, out := c.DescribeClientVpnEndpointsRequest(input) + return out, req.Send() +} + +// DescribeClientVpnEndpointsWithContext is the same as DescribeClientVpnEndpoints with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeClientVpnEndpoints for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeClientVpnEndpointsWithContext(ctx aws.Context, input *DescribeClientVpnEndpointsInput, opts ...request.Option) (*DescribeClientVpnEndpointsOutput, error) { + req, out := c.DescribeClientVpnEndpointsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeClientVpnEndpointsPages iterates over the pages of a DescribeClientVpnEndpoints operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeClientVpnEndpoints method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeClientVpnEndpoints operation. +// pageNum := 0 +// err := client.DescribeClientVpnEndpointsPages(params, +// func(page *ec2.DescribeClientVpnEndpointsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeClientVpnEndpointsPages(input *DescribeClientVpnEndpointsInput, fn func(*DescribeClientVpnEndpointsOutput, bool) bool) error { + return c.DescribeClientVpnEndpointsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeClientVpnEndpointsPagesWithContext same as DescribeClientVpnEndpointsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeClientVpnEndpointsPagesWithContext(ctx aws.Context, input *DescribeClientVpnEndpointsInput, fn func(*DescribeClientVpnEndpointsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeClientVpnEndpointsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeClientVpnEndpointsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeClientVpnEndpointsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeClientVpnRoutes = "DescribeClientVpnRoutes" + +// DescribeClientVpnRoutesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClientVpnRoutes operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeClientVpnRoutes for more information on using the DescribeClientVpnRoutes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeClientVpnRoutesRequest method. +// req, resp := client.DescribeClientVpnRoutesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes +func (c *EC2) DescribeClientVpnRoutesRequest(input *DescribeClientVpnRoutesInput) (req *request.Request, output *DescribeClientVpnRoutesOutput) { + op := &request.Operation{ + Name: opDescribeClientVpnRoutes, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeClientVpnRoutesInput{} + } + + output = &DescribeClientVpnRoutesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeClientVpnRoutes API operation for Amazon Elastic Compute Cloud. +// +// Describes the routes for the specified Client VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeClientVpnRoutes for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes +func (c *EC2) DescribeClientVpnRoutes(input *DescribeClientVpnRoutesInput) (*DescribeClientVpnRoutesOutput, error) { + req, out := c.DescribeClientVpnRoutesRequest(input) + return out, req.Send() +} + +// DescribeClientVpnRoutesWithContext is the same as DescribeClientVpnRoutes with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeClientVpnRoutes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeClientVpnRoutesWithContext(ctx aws.Context, input *DescribeClientVpnRoutesInput, opts ...request.Option) (*DescribeClientVpnRoutesOutput, error) { + req, out := c.DescribeClientVpnRoutesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeClientVpnRoutesPages iterates over the pages of a DescribeClientVpnRoutes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeClientVpnRoutes method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeClientVpnRoutes operation. +// pageNum := 0 +// err := client.DescribeClientVpnRoutesPages(params, +// func(page *ec2.DescribeClientVpnRoutesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeClientVpnRoutesPages(input *DescribeClientVpnRoutesInput, fn func(*DescribeClientVpnRoutesOutput, bool) bool) error { + return c.DescribeClientVpnRoutesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeClientVpnRoutesPagesWithContext same as DescribeClientVpnRoutesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeClientVpnRoutesPagesWithContext(ctx aws.Context, input *DescribeClientVpnRoutesInput, fn func(*DescribeClientVpnRoutesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeClientVpnRoutesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeClientVpnRoutesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeClientVpnRoutesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeClientVpnTargetNetworks = "DescribeClientVpnTargetNetworks" + +// DescribeClientVpnTargetNetworksRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClientVpnTargetNetworks operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeClientVpnTargetNetworks for more information on using the DescribeClientVpnTargetNetworks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeClientVpnTargetNetworksRequest method. +// req, resp := client.DescribeClientVpnTargetNetworksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks +func (c *EC2) DescribeClientVpnTargetNetworksRequest(input *DescribeClientVpnTargetNetworksInput) (req *request.Request, output *DescribeClientVpnTargetNetworksOutput) { + op := &request.Operation{ + Name: opDescribeClientVpnTargetNetworks, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeClientVpnTargetNetworksInput{} + } + + output = &DescribeClientVpnTargetNetworksOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeClientVpnTargetNetworks API operation for Amazon Elastic Compute Cloud. +// +// Describes the target networks associated with the specified Client VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeClientVpnTargetNetworks for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks +func (c *EC2) DescribeClientVpnTargetNetworks(input *DescribeClientVpnTargetNetworksInput) (*DescribeClientVpnTargetNetworksOutput, error) { + req, out := c.DescribeClientVpnTargetNetworksRequest(input) + return out, req.Send() +} + +// DescribeClientVpnTargetNetworksWithContext is the same as DescribeClientVpnTargetNetworks with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeClientVpnTargetNetworks for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeClientVpnTargetNetworksWithContext(ctx aws.Context, input *DescribeClientVpnTargetNetworksInput, opts ...request.Option) (*DescribeClientVpnTargetNetworksOutput, error) { + req, out := c.DescribeClientVpnTargetNetworksRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeClientVpnTargetNetworksPages iterates over the pages of a DescribeClientVpnTargetNetworks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeClientVpnTargetNetworks method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeClientVpnTargetNetworks operation. +// pageNum := 0 +// err := client.DescribeClientVpnTargetNetworksPages(params, +// func(page *ec2.DescribeClientVpnTargetNetworksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeClientVpnTargetNetworksPages(input *DescribeClientVpnTargetNetworksInput, fn func(*DescribeClientVpnTargetNetworksOutput, bool) bool) error { + return c.DescribeClientVpnTargetNetworksPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeClientVpnTargetNetworksPagesWithContext same as DescribeClientVpnTargetNetworksPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeClientVpnTargetNetworksPagesWithContext(ctx aws.Context, input *DescribeClientVpnTargetNetworksInput, fn func(*DescribeClientVpnTargetNetworksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeClientVpnTargetNetworksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeClientVpnTargetNetworksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeClientVpnTargetNetworksOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeConversionTasks = "DescribeConversionTasks" // DescribeConversionTasksRequest generates a "aws/request.Request" representing the @@ -10217,11 +12235,11 @@ func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput // DescribeConversionTasks API operation for Amazon Elastic Compute Cloud. // -// Describes one or more of your conversion tasks. For more information, see -// the VM Import/Export User Guide (http://docs.aws.amazon.com/vm-import/latest/userguide/). +// Describes the specified conversion tasks or all your conversion tasks. For +// more information, see the VM Import/Export User Guide (https://docs.aws.amazon.com/vm-import/latest/userguide/). // // For information about the import manifest referenced by this API action, -// see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). +// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -10297,9 +12315,8 @@ func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInp // // Describes one or more of your VPN customer gateways. // -// For more information about VPN customer gateways, see AWS Managed VPN Connections -// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) in the -// Amazon Virtual Private Cloud User Guide. +// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) +// in the AWS Site-to-Site VPN User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -10360,6 +12377,12 @@ func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req * Name: opDescribeDhcpOptions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -10375,7 +12398,7 @@ func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req * // // Describes one or more of your DHCP options sets. // -// For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html) +// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -10406,6 +12429,56 @@ func (c *EC2) DescribeDhcpOptionsWithContext(ctx aws.Context, input *DescribeDhc return out, req.Send() } +// DescribeDhcpOptionsPages iterates over the pages of a DescribeDhcpOptions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDhcpOptions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeDhcpOptions operation. +// pageNum := 0 +// err := client.DescribeDhcpOptionsPages(params, +// func(page *ec2.DescribeDhcpOptionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeDhcpOptionsPages(input *DescribeDhcpOptionsInput, fn func(*DescribeDhcpOptionsOutput, bool) bool) error { + return c.DescribeDhcpOptionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeDhcpOptionsPagesWithContext same as DescribeDhcpOptionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeDhcpOptionsPagesWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, fn func(*DescribeDhcpOptionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeDhcpOptionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeDhcpOptionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeDhcpOptionsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways" // DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the @@ -10437,6 +12510,12 @@ func (c *EC2) DescribeEgressOnlyInternetGatewaysRequest(input *DescribeEgressOnl Name: opDescribeEgressOnlyInternetGateways, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -10480,6 +12559,56 @@ func (c *EC2) DescribeEgressOnlyInternetGatewaysWithContext(ctx aws.Context, inp return out, req.Send() } +// DescribeEgressOnlyInternetGatewaysPages iterates over the pages of a DescribeEgressOnlyInternetGateways operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEgressOnlyInternetGateways method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeEgressOnlyInternetGateways operation. +// pageNum := 0 +// err := client.DescribeEgressOnlyInternetGatewaysPages(params, +// func(page *ec2.DescribeEgressOnlyInternetGatewaysOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeEgressOnlyInternetGatewaysPages(input *DescribeEgressOnlyInternetGatewaysInput, fn func(*DescribeEgressOnlyInternetGatewaysOutput, bool) bool) error { + return c.DescribeEgressOnlyInternetGatewaysPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeEgressOnlyInternetGatewaysPagesWithContext same as DescribeEgressOnlyInternetGatewaysPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeEgressOnlyInternetGatewaysPagesWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, fn func(*DescribeEgressOnlyInternetGatewaysOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeEgressOnlyInternetGatewaysInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEgressOnlyInternetGatewaysRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeEgressOnlyInternetGatewaysOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeElasticGpus = "DescribeElasticGpus" // DescribeElasticGpusRequest generates a "aws/request.Request" representing the @@ -10526,7 +12655,7 @@ func (c *EC2) DescribeElasticGpusRequest(input *DescribeElasticGpusInput) (req * // // Describes the Elastic Graphics accelerator associated with your instances. // For more information about Elastic Graphics, see Amazon Elastic Graphics -// (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html). +// (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -10600,7 +12729,7 @@ func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req * // DescribeExportTasks API operation for Amazon Elastic Compute Cloud. // -// Describes one or more of your export tasks. +// Describes the specified export tasks or all your export tasks. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -10809,6 +12938,12 @@ func (c *EC2) DescribeFleetsRequest(input *DescribeFleetsInput) (req *request.Re Name: opDescribeFleets, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -10822,7 +12957,7 @@ func (c *EC2) DescribeFleetsRequest(input *DescribeFleetsInput) (req *request.Re // DescribeFleets API operation for Amazon Elastic Compute Cloud. // -// Describes one or more of your EC2 Fleets. +// Describes the specified EC2 Fleets or all your EC2 Fleets. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -10852,6 +12987,56 @@ func (c *EC2) DescribeFleetsWithContext(ctx aws.Context, input *DescribeFleetsIn return out, req.Send() } +// DescribeFleetsPages iterates over the pages of a DescribeFleets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeFleets method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeFleets operation. +// pageNum := 0 +// err := client.DescribeFleetsPages(params, +// func(page *ec2.DescribeFleetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeFleetsPages(input *DescribeFleetsInput, fn func(*DescribeFleetsOutput, bool) bool) error { + return c.DescribeFleetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeFleetsPagesWithContext same as DescribeFleetsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeFleetsPagesWithContext(ctx aws.Context, input *DescribeFleetsInput, fn func(*DescribeFleetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeFleetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeFleetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeFleetsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeFlowLogs = "DescribeFlowLogs" // DescribeFlowLogsRequest generates a "aws/request.Request" representing the @@ -10883,6 +13068,12 @@ func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *reques Name: opDescribeFlowLogs, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -10928,6 +13119,56 @@ func (c *EC2) DescribeFlowLogsWithContext(ctx aws.Context, input *DescribeFlowLo return out, req.Send() } +// DescribeFlowLogsPages iterates over the pages of a DescribeFlowLogs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeFlowLogs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeFlowLogs operation. +// pageNum := 0 +// err := client.DescribeFlowLogsPages(params, +// func(page *ec2.DescribeFlowLogsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeFlowLogsPages(input *DescribeFlowLogsInput, fn func(*DescribeFlowLogsOutput, bool) bool) error { + return c.DescribeFlowLogsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeFlowLogsPagesWithContext same as DescribeFlowLogsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeFlowLogsPagesWithContext(ctx aws.Context, input *DescribeFlowLogsInput, fn func(*DescribeFlowLogsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeFlowLogsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeFlowLogsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeFlowLogsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeFpgaImageAttribute = "DescribeFpgaImageAttribute" // DescribeFpgaImageAttributeRequest generates a "aws/request.Request" representing the @@ -11033,6 +13274,12 @@ func (c *EC2) DescribeFpgaImagesRequest(input *DescribeFpgaImagesInput) (req *re Name: opDescribeFpgaImages, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -11046,9 +13293,9 @@ func (c *EC2) DescribeFpgaImagesRequest(input *DescribeFpgaImagesInput) (req *re // DescribeFpgaImages API operation for Amazon Elastic Compute Cloud. // -// Describes one or more available Amazon FPGA Images (AFIs). These include -// public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts -// for which you have load permissions. +// Describes the Amazon FPGA Images (AFIs) available to you. These include public +// AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for +// which you have load permissions. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -11078,6 +13325,56 @@ func (c *EC2) DescribeFpgaImagesWithContext(ctx aws.Context, input *DescribeFpga return out, req.Send() } +// DescribeFpgaImagesPages iterates over the pages of a DescribeFpgaImages operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeFpgaImages method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeFpgaImages operation. +// pageNum := 0 +// err := client.DescribeFpgaImagesPages(params, +// func(page *ec2.DescribeFpgaImagesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeFpgaImagesPages(input *DescribeFpgaImagesInput, fn func(*DescribeFpgaImagesOutput, bool) bool) error { + return c.DescribeFpgaImagesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeFpgaImagesPagesWithContext same as DescribeFpgaImagesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeFpgaImagesPagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, fn func(*DescribeFpgaImagesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeFpgaImagesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeFpgaImagesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeFpgaImagesOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings" // DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the @@ -11109,6 +13406,12 @@ func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReserva Name: opDescribeHostReservationOfferings, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -11125,11 +13428,11 @@ func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReserva // Describes the Dedicated Host reservations that are available to purchase. // // The results describe all the Dedicated Host reservation offerings, including -// offerings that may not match the instance family and region of your Dedicated +// offerings that may not match the instance family and Region of your Dedicated // Hosts. When purchasing an offering, ensure that the instance family and Region // of the offering matches that of the Dedicated Hosts with which it is to be // associated. For more information about supported instance types, see Dedicated -// Hosts Overview (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html) +// Hosts Overview (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -11160,6 +13463,56 @@ func (c *EC2) DescribeHostReservationOfferingsWithContext(ctx aws.Context, input return out, req.Send() } +// DescribeHostReservationOfferingsPages iterates over the pages of a DescribeHostReservationOfferings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeHostReservationOfferings method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeHostReservationOfferings operation. +// pageNum := 0 +// err := client.DescribeHostReservationOfferingsPages(params, +// func(page *ec2.DescribeHostReservationOfferingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeHostReservationOfferingsPages(input *DescribeHostReservationOfferingsInput, fn func(*DescribeHostReservationOfferingsOutput, bool) bool) error { + return c.DescribeHostReservationOfferingsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeHostReservationOfferingsPagesWithContext same as DescribeHostReservationOfferingsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeHostReservationOfferingsPagesWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, fn func(*DescribeHostReservationOfferingsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeHostReservationOfferingsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeHostReservationOfferingsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeHostReservationOfferingsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeHostReservations = "DescribeHostReservations" // DescribeHostReservationsRequest generates a "aws/request.Request" representing the @@ -11191,6 +13544,12 @@ func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInp Name: opDescribeHostReservations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -11234,6 +13593,56 @@ func (c *EC2) DescribeHostReservationsWithContext(ctx aws.Context, input *Descri return out, req.Send() } +// DescribeHostReservationsPages iterates over the pages of a DescribeHostReservations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeHostReservations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeHostReservations operation. +// pageNum := 0 +// err := client.DescribeHostReservationsPages(params, +// func(page *ec2.DescribeHostReservationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeHostReservationsPages(input *DescribeHostReservationsInput, fn func(*DescribeHostReservationsOutput, bool) bool) error { + return c.DescribeHostReservationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeHostReservationsPagesWithContext same as DescribeHostReservationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeHostReservationsPagesWithContext(ctx aws.Context, input *DescribeHostReservationsInput, fn func(*DescribeHostReservationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeHostReservationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeHostReservationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeHostReservationsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeHosts = "DescribeHosts" // DescribeHostsRequest generates a "aws/request.Request" representing the @@ -11265,6 +13674,12 @@ func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Requ Name: opDescribeHosts, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -11278,9 +13693,9 @@ func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Requ // DescribeHosts API operation for Amazon Elastic Compute Cloud. // -// Describes one or more of your Dedicated Hosts. +// Describes the specified Dedicated Hosts or all your Dedicated Hosts. // -// The results describe only the Dedicated Hosts in the region you're currently +// The results describe only the Dedicated Hosts in the Region you're currently // using. All listed instances consume capacity on your Dedicated Host. Dedicated // Hosts that have recently been released are listed with the state released. // @@ -11312,6 +13727,56 @@ func (c *EC2) DescribeHostsWithContext(ctx aws.Context, input *DescribeHostsInpu return out, req.Send() } +// DescribeHostsPages iterates over the pages of a DescribeHosts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeHosts method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeHosts operation. +// pageNum := 0 +// err := client.DescribeHostsPages(params, +// func(page *ec2.DescribeHostsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeHostsPages(input *DescribeHostsInput, fn func(*DescribeHostsOutput, bool) bool) error { + return c.DescribeHostsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeHostsPagesWithContext same as DescribeHostsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeHostsPagesWithContext(ctx aws.Context, input *DescribeHostsInput, fn func(*DescribeHostsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeHostsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeHostsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeHostsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeIamInstanceProfileAssociations = "DescribeIamInstanceProfileAssociations" // DescribeIamInstanceProfileAssociationsRequest generates a "aws/request.Request" representing the @@ -11343,6 +13808,12 @@ func (c *EC2) DescribeIamInstanceProfileAssociationsRequest(input *DescribeIamIn Name: opDescribeIamInstanceProfileAssociations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -11386,6 +13857,56 @@ func (c *EC2) DescribeIamInstanceProfileAssociationsWithContext(ctx aws.Context, return out, req.Send() } +// DescribeIamInstanceProfileAssociationsPages iterates over the pages of a DescribeIamInstanceProfileAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeIamInstanceProfileAssociations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeIamInstanceProfileAssociations operation. +// pageNum := 0 +// err := client.DescribeIamInstanceProfileAssociationsPages(params, +// func(page *ec2.DescribeIamInstanceProfileAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeIamInstanceProfileAssociationsPages(input *DescribeIamInstanceProfileAssociationsInput, fn func(*DescribeIamInstanceProfileAssociationsOutput, bool) bool) error { + return c.DescribeIamInstanceProfileAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeIamInstanceProfileAssociationsPagesWithContext same as DescribeIamInstanceProfileAssociationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeIamInstanceProfileAssociationsPagesWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, fn func(*DescribeIamInstanceProfileAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeIamInstanceProfileAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeIamInstanceProfileAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeIamInstanceProfileAssociationsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeIdFormat = "DescribeIdFormat" // DescribeIdFormatRequest generates a "aws/request.Request" representing the @@ -11430,7 +13951,7 @@ func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *reques // DescribeIdFormat API operation for Amazon Elastic Compute Cloud. // -// Describes the ID format settings for your resources on a per-region basis, +// Describes the ID format settings for your resources on a per-Region basis, // for example, to view which resource types are enabled for longer IDs. This // request only returns information about resource types whose ID formats can // be modified; it does not return information about other resource types. @@ -11526,7 +14047,7 @@ func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInp // IAM role, or root user. For example, you can view the resource types that // are enabled for longer IDs. This request only returns information about resource // types whose ID formats can be modified; it does not return information about -// other resource types. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html) +// other resource types. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html) // in the Amazon Elastic Compute Cloud User Guide. // // The following resource types support longer IDs: bundle | conversion-task @@ -11687,13 +14208,17 @@ func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Re // DescribeImages API operation for Amazon Elastic Compute Cloud. // -// Describes one or more of the images (AMIs, AKIs, and ARIs) available to you. -// Images available to you include public images, private images that you own, -// and private images owned by other AWS accounts but for which you have explicit +// Describes the specified images (AMIs, AKIs, and ARIs) available to you or +// all of the images available to you. +// +// The images available to you include public images, private images that you +// own, and private images owned by other AWS accounts for which you have explicit // launch permissions. // -// Deregistered images are included in the returned results for an unspecified -// interval after deregistration. +// Recently deregistered images appear in the returned results for a short interval +// and then return empty results. After all instances that reference a deregistered +// AMI are terminated, specifying the ID of the image results in an error indicating +// that the AMI ID cannot be found. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -11754,6 +14279,12 @@ func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInp Name: opDescribeImportImageTasks, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -11798,6 +14329,56 @@ func (c *EC2) DescribeImportImageTasksWithContext(ctx aws.Context, input *Descri return out, req.Send() } +// DescribeImportImageTasksPages iterates over the pages of a DescribeImportImageTasks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeImportImageTasks method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeImportImageTasks operation. +// pageNum := 0 +// err := client.DescribeImportImageTasksPages(params, +// func(page *ec2.DescribeImportImageTasksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeImportImageTasksPages(input *DescribeImportImageTasksInput, fn func(*DescribeImportImageTasksOutput, bool) bool) error { + return c.DescribeImportImageTasksPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeImportImageTasksPagesWithContext same as DescribeImportImageTasksPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeImportImageTasksPagesWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, fn func(*DescribeImportImageTasksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeImportImageTasksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeImportImageTasksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeImportImageTasksOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks" // DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the @@ -11829,6 +14410,12 @@ func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTa Name: opDescribeImportSnapshotTasks, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -11872,6 +14459,56 @@ func (c *EC2) DescribeImportSnapshotTasksWithContext(ctx aws.Context, input *Des return out, req.Send() } +// DescribeImportSnapshotTasksPages iterates over the pages of a DescribeImportSnapshotTasks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeImportSnapshotTasks method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeImportSnapshotTasks operation. +// pageNum := 0 +// err := client.DescribeImportSnapshotTasksPages(params, +// func(page *ec2.DescribeImportSnapshotTasksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeImportSnapshotTasksPages(input *DescribeImportSnapshotTasksInput, fn func(*DescribeImportSnapshotTasksOutput, bool) bool) error { + return c.DescribeImportSnapshotTasksPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeImportSnapshotTasksPagesWithContext same as DescribeImportSnapshotTasksPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeImportSnapshotTasksPagesWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, fn func(*DescribeImportSnapshotTasksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeImportSnapshotTasksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeImportSnapshotTasksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeImportSnapshotTasksOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeInstanceAttribute = "DescribeInstanceAttribute" // DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the @@ -11981,6 +14618,12 @@ func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanc Name: opDescribeInstanceCreditSpecifications, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -11994,8 +14637,8 @@ func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanc // DescribeInstanceCreditSpecifications API operation for Amazon Elastic Compute Cloud. // -// Describes the credit option for CPU usage of one or more of your T2 or T3 -// instances. The credit options are standard and unlimited. +// Describes the credit option for CPU usage of the specified T2 or T3 instances. +// The credit options are standard and unlimited. // // If you do not specify an instance ID, Amazon EC2 returns T2 and T3 instances // with the unlimited credit option, as well as instances that were previously @@ -12016,7 +14659,7 @@ func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanc // all, the call fails. If you specify only instance IDs in an unaffected zone, // the call works normally. // -// For more information, see Burstable Performance Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) +// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -12047,6 +14690,56 @@ func (c *EC2) DescribeInstanceCreditSpecificationsWithContext(ctx aws.Context, i return out, req.Send() } +// DescribeInstanceCreditSpecificationsPages iterates over the pages of a DescribeInstanceCreditSpecifications operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInstanceCreditSpecifications method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeInstanceCreditSpecifications operation. +// pageNum := 0 +// err := client.DescribeInstanceCreditSpecificationsPages(params, +// func(page *ec2.DescribeInstanceCreditSpecificationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeInstanceCreditSpecificationsPages(input *DescribeInstanceCreditSpecificationsInput, fn func(*DescribeInstanceCreditSpecificationsOutput, bool) bool) error { + return c.DescribeInstanceCreditSpecificationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeInstanceCreditSpecificationsPagesWithContext same as DescribeInstanceCreditSpecificationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeInstanceCreditSpecificationsPagesWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, fn func(*DescribeInstanceCreditSpecificationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInstanceCreditSpecificationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInstanceCreditSpecificationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeInstanceCreditSpecificationsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeInstanceStatus = "DescribeInstanceStatus" // DescribeInstanceStatusRequest generates a "aws/request.Request" representing the @@ -12097,27 +14790,27 @@ func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) // DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud. // -// Describes the status of one or more instances. By default, only running instances -// are described, unless you specifically indicate to return the status of all -// instances. +// Describes the status of the specified instances or all of your instances. +// By default, only running instances are described, unless you specifically +// indicate to return the status of all instances. // // Instance status includes the following components: // // * Status checks - Amazon EC2 performs status checks on running EC2 instances // to identify hardware and software issues. For more information, see Status -// Checks for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html) -// and Troubleshooting Instances with Failed Status Checks (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html) +// Checks for Your Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html) +// and Troubleshooting Instances with Failed Status Checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html) // in the Amazon Elastic Compute Cloud User Guide. // // * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, // or terminate) for your instances related to hardware issues, software // updates, or system maintenance. For more information, see Scheduled Events -// for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html) +// for Your Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html) // in the Amazon Elastic Compute Cloud User Guide. // // * Instance state - You can manage your instances from the moment you launch // them through their termination. For more information, see Instance Lifecycle -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -12159,7 +14852,7 @@ func (c *EC2) DescribeInstanceStatusWithContext(ctx aws.Context, input *Describe // // Example iterating over at most 3 pages of a DescribeInstanceStatus operation. // pageNum := 0 // err := client.DescribeInstanceStatusPages(params, -// func(page *DescribeInstanceStatusOutput, lastPage bool) bool { +// func(page *ec2.DescribeInstanceStatusOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -12248,7 +14941,7 @@ func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *requ // DescribeInstances API operation for Amazon Elastic Compute Cloud. // -// Describes one or more of your instances. +// Describes the specified instances or all of AWS account's instances. // // If you specify one or more instance IDs, Amazon EC2 returns information for // those instances. If you do not specify instance IDs, Amazon EC2 returns information @@ -12304,7 +14997,7 @@ func (c *EC2) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInsta // // Example iterating over at most 3 pages of a DescribeInstances operation. // pageNum := 0 // err := client.DescribeInstancesPages(params, -// func(page *DescribeInstancesOutput, lastPage bool) bool { +// func(page *ec2.DescribeInstancesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -12374,6 +15067,12 @@ func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInp Name: opDescribeInternetGateways, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -12417,6 +15116,56 @@ func (c *EC2) DescribeInternetGatewaysWithContext(ctx aws.Context, input *Descri return out, req.Send() } +// DescribeInternetGatewaysPages iterates over the pages of a DescribeInternetGateways operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInternetGateways method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeInternetGateways operation. +// pageNum := 0 +// err := client.DescribeInternetGatewaysPages(params, +// func(page *ec2.DescribeInternetGatewaysOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeInternetGatewaysPages(input *DescribeInternetGatewaysInput, fn func(*DescribeInternetGatewaysOutput, bool) bool) error { + return c.DescribeInternetGatewaysPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeInternetGatewaysPagesWithContext same as DescribeInternetGatewaysPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeInternetGatewaysPagesWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, fn func(*DescribeInternetGatewaysOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInternetGatewaysInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInternetGatewaysRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeInternetGatewaysOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeKeyPairs = "DescribeKeyPairs" // DescribeKeyPairsRequest generates a "aws/request.Request" representing the @@ -12461,9 +15210,9 @@ func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *reques // DescribeKeyPairs API operation for Amazon Elastic Compute Cloud. // -// Describes one or more of your key pairs. +// Describes the specified key pairs or all of your key pairs. // -// For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) +// For more information about key pairs, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -12525,6 +15274,12 @@ func (c *EC2) DescribeLaunchTemplateVersionsRequest(input *DescribeLaunchTemplat Name: opDescribeLaunchTemplateVersions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -12569,6 +15324,56 @@ func (c *EC2) DescribeLaunchTemplateVersionsWithContext(ctx aws.Context, input * return out, req.Send() } +// DescribeLaunchTemplateVersionsPages iterates over the pages of a DescribeLaunchTemplateVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeLaunchTemplateVersions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeLaunchTemplateVersions operation. +// pageNum := 0 +// err := client.DescribeLaunchTemplateVersionsPages(params, +// func(page *ec2.DescribeLaunchTemplateVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeLaunchTemplateVersionsPages(input *DescribeLaunchTemplateVersionsInput, fn func(*DescribeLaunchTemplateVersionsOutput, bool) bool) error { + return c.DescribeLaunchTemplateVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeLaunchTemplateVersionsPagesWithContext same as DescribeLaunchTemplateVersionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeLaunchTemplateVersionsPagesWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, fn func(*DescribeLaunchTemplateVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeLaunchTemplateVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeLaunchTemplateVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeLaunchTemplateVersionsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeLaunchTemplates = "DescribeLaunchTemplates" // DescribeLaunchTemplatesRequest generates a "aws/request.Request" representing the @@ -12600,6 +15405,12 @@ func (c *EC2) DescribeLaunchTemplatesRequest(input *DescribeLaunchTemplatesInput Name: opDescribeLaunchTemplates, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -12643,6 +15454,56 @@ func (c *EC2) DescribeLaunchTemplatesWithContext(ctx aws.Context, input *Describ return out, req.Send() } +// DescribeLaunchTemplatesPages iterates over the pages of a DescribeLaunchTemplates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeLaunchTemplates method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeLaunchTemplates operation. +// pageNum := 0 +// err := client.DescribeLaunchTemplatesPages(params, +// func(page *ec2.DescribeLaunchTemplatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeLaunchTemplatesPages(input *DescribeLaunchTemplatesInput, fn func(*DescribeLaunchTemplatesOutput, bool) bool) error { + return c.DescribeLaunchTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeLaunchTemplatesPagesWithContext same as DescribeLaunchTemplatesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeLaunchTemplatesPagesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, fn func(*DescribeLaunchTemplatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeLaunchTemplatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeLaunchTemplatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeLaunchTemplatesOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeMovingAddresses = "DescribeMovingAddresses" // DescribeMovingAddressesRequest generates a "aws/request.Request" representing the @@ -12674,6 +15535,12 @@ func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput Name: opDescribeMovingAddresses, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -12719,6 +15586,56 @@ func (c *EC2) DescribeMovingAddressesWithContext(ctx aws.Context, input *Describ return out, req.Send() } +// DescribeMovingAddressesPages iterates over the pages of a DescribeMovingAddresses operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMovingAddresses method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeMovingAddresses operation. +// pageNum := 0 +// err := client.DescribeMovingAddressesPages(params, +// func(page *ec2.DescribeMovingAddressesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeMovingAddressesPages(input *DescribeMovingAddressesInput, fn func(*DescribeMovingAddressesOutput, bool) bool) error { + return c.DescribeMovingAddressesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMovingAddressesPagesWithContext same as DescribeMovingAddressesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeMovingAddressesPagesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, fn func(*DescribeMovingAddressesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMovingAddressesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMovingAddressesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeMovingAddressesOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeNatGateways = "DescribeNatGateways" // DescribeNatGatewaysRequest generates a "aws/request.Request" representing the @@ -12810,7 +15727,7 @@ func (c *EC2) DescribeNatGatewaysWithContext(ctx aws.Context, input *DescribeNat // // Example iterating over at most 3 pages of a DescribeNatGateways operation. // pageNum := 0 // err := client.DescribeNatGatewaysPages(params, -// func(page *DescribeNatGatewaysOutput, lastPage bool) bool { +// func(page *ec2.DescribeNatGatewaysOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -12880,6 +15797,12 @@ func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req * Name: opDescribeNetworkAcls, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -12895,7 +15818,7 @@ func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req * // // Describes one or more of your network ACLs. // -// For more information, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) +// For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -12926,6 +15849,56 @@ func (c *EC2) DescribeNetworkAclsWithContext(ctx aws.Context, input *DescribeNet return out, req.Send() } +// DescribeNetworkAclsPages iterates over the pages of a DescribeNetworkAcls operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeNetworkAcls method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeNetworkAcls operation. +// pageNum := 0 +// err := client.DescribeNetworkAclsPages(params, +// func(page *ec2.DescribeNetworkAclsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeNetworkAclsPages(input *DescribeNetworkAclsInput, fn func(*DescribeNetworkAclsOutput, bool) bool) error { + return c.DescribeNetworkAclsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeNetworkAclsPagesWithContext same as DescribeNetworkAclsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeNetworkAclsPagesWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, fn func(*DescribeNetworkAclsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeNetworkAclsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeNetworkAclsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeNetworkAclsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute" // DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the @@ -13032,6 +16005,12 @@ func (c *EC2) DescribeNetworkInterfacePermissionsRequest(input *DescribeNetworkI Name: opDescribeNetworkInterfacePermissions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -13075,6 +16054,56 @@ func (c *EC2) DescribeNetworkInterfacePermissionsWithContext(ctx aws.Context, in return out, req.Send() } +// DescribeNetworkInterfacePermissionsPages iterates over the pages of a DescribeNetworkInterfacePermissions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeNetworkInterfacePermissions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeNetworkInterfacePermissions operation. +// pageNum := 0 +// err := client.DescribeNetworkInterfacePermissionsPages(params, +// func(page *ec2.DescribeNetworkInterfacePermissionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeNetworkInterfacePermissionsPages(input *DescribeNetworkInterfacePermissionsInput, fn func(*DescribeNetworkInterfacePermissionsOutput, bool) bool) error { + return c.DescribeNetworkInterfacePermissionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeNetworkInterfacePermissionsPagesWithContext same as DescribeNetworkInterfacePermissionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeNetworkInterfacePermissionsPagesWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, fn func(*DescribeNetworkInterfacePermissionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeNetworkInterfacePermissionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeNetworkInterfacePermissionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeNetworkInterfacePermissionsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces" // DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the @@ -13166,7 +16195,7 @@ func (c *EC2) DescribeNetworkInterfacesWithContext(ctx aws.Context, input *Descr // // Example iterating over at most 3 pages of a DescribeNetworkInterfaces operation. // pageNum := 0 // err := client.DescribeNetworkInterfacesPages(params, -// func(page *DescribeNetworkInterfacesOutput, lastPage bool) bool { +// func(page *ec2.DescribeNetworkInterfacesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -13249,8 +16278,8 @@ func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput // DescribePlacementGroups API operation for Amazon Elastic Compute Cloud. // -// Describes one or more of your placement groups. For more information, see -// Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) +// Describes the specified placement groups or all of your placement groups. +// For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -13312,6 +16341,12 @@ func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req * Name: opDescribePrefixLists, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -13360,6 +16395,56 @@ func (c *EC2) DescribePrefixListsWithContext(ctx aws.Context, input *DescribePre return out, req.Send() } +// DescribePrefixListsPages iterates over the pages of a DescribePrefixLists operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribePrefixLists method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribePrefixLists operation. +// pageNum := 0 +// err := client.DescribePrefixListsPages(params, +// func(page *ec2.DescribePrefixListsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribePrefixListsPages(input *DescribePrefixListsInput, fn func(*DescribePrefixListsOutput, bool) bool) error { + return c.DescribePrefixListsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribePrefixListsPagesWithContext same as DescribePrefixListsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribePrefixListsPagesWithContext(ctx aws.Context, input *DescribePrefixListsInput, fn func(*DescribePrefixListsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribePrefixListsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribePrefixListsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribePrefixListsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribePrincipalIdFormat = "DescribePrincipalIdFormat" // DescribePrincipalIdFormatRequest generates a "aws/request.Request" representing the @@ -13391,6 +16476,12 @@ func (c *EC2) DescribePrincipalIdFormatRequest(input *DescribePrincipalIdFormatI Name: opDescribePrincipalIdFormat, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -13448,6 +16539,56 @@ func (c *EC2) DescribePrincipalIdFormatWithContext(ctx aws.Context, input *Descr return out, req.Send() } +// DescribePrincipalIdFormatPages iterates over the pages of a DescribePrincipalIdFormat operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribePrincipalIdFormat method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribePrincipalIdFormat operation. +// pageNum := 0 +// err := client.DescribePrincipalIdFormatPages(params, +// func(page *ec2.DescribePrincipalIdFormatOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribePrincipalIdFormatPages(input *DescribePrincipalIdFormatInput, fn func(*DescribePrincipalIdFormatOutput, bool) bool) error { + return c.DescribePrincipalIdFormatPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribePrincipalIdFormatPagesWithContext same as DescribePrincipalIdFormatPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribePrincipalIdFormatPagesWithContext(ctx aws.Context, input *DescribePrincipalIdFormatInput, fn func(*DescribePrincipalIdFormatOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribePrincipalIdFormatInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribePrincipalIdFormatRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribePrincipalIdFormatOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribePublicIpv4Pools = "DescribePublicIpv4Pools" // DescribePublicIpv4PoolsRequest generates a "aws/request.Request" representing the @@ -13479,6 +16620,12 @@ func (c *EC2) DescribePublicIpv4PoolsRequest(input *DescribePublicIpv4PoolsInput Name: opDescribePublicIpv4Pools, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -13522,6 +16669,56 @@ func (c *EC2) DescribePublicIpv4PoolsWithContext(ctx aws.Context, input *Describ return out, req.Send() } +// DescribePublicIpv4PoolsPages iterates over the pages of a DescribePublicIpv4Pools operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribePublicIpv4Pools method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribePublicIpv4Pools operation. +// pageNum := 0 +// err := client.DescribePublicIpv4PoolsPages(params, +// func(page *ec2.DescribePublicIpv4PoolsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribePublicIpv4PoolsPages(input *DescribePublicIpv4PoolsInput, fn func(*DescribePublicIpv4PoolsOutput, bool) bool) error { + return c.DescribePublicIpv4PoolsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribePublicIpv4PoolsPagesWithContext same as DescribePublicIpv4PoolsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribePublicIpv4PoolsPagesWithContext(ctx aws.Context, input *DescribePublicIpv4PoolsInput, fn func(*DescribePublicIpv4PoolsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribePublicIpv4PoolsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribePublicIpv4PoolsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribePublicIpv4PoolsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeRegions = "DescribeRegions" // DescribeRegionsRequest generates a "aws/request.Request" representing the @@ -13566,10 +16763,14 @@ func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request. // DescribeRegions API operation for Amazon Elastic Compute Cloud. // -// Describes one or more regions that are currently available to you. +// Describes the Regions that are enabled for your account, or all Regions. +// +// For a list of the Regions supported by Amazon EC2, see Regions and Endpoints +// (https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region). // -// For a list of the regions supported by Amazon EC2, see Regions and Endpoints -// (http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region). +// For information about enabling and disabling Regions for your account, see +// Managing AWS Regions (https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) +// in the AWS General Reference. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -13645,7 +16846,7 @@ func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesI // // Describes one or more of the Reserved Instances that you purchased. // -// For more information about Reserved Instances, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html) +// For more information about Reserved Instances, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -13740,7 +16941,7 @@ func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedIn // demand is met. You are charged based on the total price of all of the listings // that you purchase. // -// For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) +// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -13826,7 +17027,7 @@ func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReser // requests is returned. If a modification ID is specified, only information // about the specific modification is returned. // -// For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) +// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -13868,7 +17069,7 @@ func (c *EC2) DescribeReservedInstancesModificationsWithContext(ctx aws.Context, // // Example iterating over at most 3 pages of a DescribeReservedInstancesModifications operation. // pageNum := 0 // err := client.DescribeReservedInstancesModificationsPages(params, -// func(page *DescribeReservedInstancesModificationsOutput, lastPage bool) bool { +// func(page *ec2.DescribeReservedInstancesModificationsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -13967,7 +17168,7 @@ func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedI // Marketplace, they will be excluded from these results. This is to ensure // that you do not purchase your own Reserved Instances. // -// For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) +// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -14009,7 +17210,7 @@ func (c *EC2) DescribeReservedInstancesOfferingsWithContext(ctx aws.Context, inp // // Example iterating over at most 3 pages of a DescribeReservedInstancesOfferings operation. // pageNum := 0 // err := client.DescribeReservedInstancesOfferingsPages(params, -// func(page *DescribeReservedInstancesOfferingsOutput, lastPage bool) bool { +// func(page *ec2.DescribeReservedInstancesOfferingsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -14105,7 +17306,7 @@ func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req * // with the main route table. This command does not return the subnet ID for // implicit associations. // -// For more information, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) +// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -14147,7 +17348,7 @@ func (c *EC2) DescribeRouteTablesWithContext(ctx aws.Context, input *DescribeRou // // Example iterating over at most 3 pages of a DescribeRouteTables operation. // pageNum := 0 // err := client.DescribeRouteTablesPages(params, -// func(page *DescribeRouteTablesOutput, lastPage bool) bool { +// func(page *ec2.DescribeRouteTablesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -14217,6 +17418,12 @@ func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeSchedu Name: opDescribeScheduledInstanceAvailability, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -14268,6 +17475,56 @@ func (c *EC2) DescribeScheduledInstanceAvailabilityWithContext(ctx aws.Context, return out, req.Send() } +// DescribeScheduledInstanceAvailabilityPages iterates over the pages of a DescribeScheduledInstanceAvailability operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeScheduledInstanceAvailability method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeScheduledInstanceAvailability operation. +// pageNum := 0 +// err := client.DescribeScheduledInstanceAvailabilityPages(params, +// func(page *ec2.DescribeScheduledInstanceAvailabilityOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeScheduledInstanceAvailabilityPages(input *DescribeScheduledInstanceAvailabilityInput, fn func(*DescribeScheduledInstanceAvailabilityOutput, bool) bool) error { + return c.DescribeScheduledInstanceAvailabilityPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeScheduledInstanceAvailabilityPagesWithContext same as DescribeScheduledInstanceAvailabilityPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeScheduledInstanceAvailabilityPagesWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, fn func(*DescribeScheduledInstanceAvailabilityOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeScheduledInstanceAvailabilityInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeScheduledInstanceAvailabilityRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeScheduledInstanceAvailabilityOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeScheduledInstances = "DescribeScheduledInstances" // DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the @@ -14299,6 +17556,12 @@ func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstance Name: opDescribeScheduledInstances, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -14312,7 +17575,7 @@ func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstance // DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud. // -// Describes one or more of your Scheduled Instances. +// Describes the specified Scheduled Instances or all your Scheduled Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -14342,6 +17605,56 @@ func (c *EC2) DescribeScheduledInstancesWithContext(ctx aws.Context, input *Desc return out, req.Send() } +// DescribeScheduledInstancesPages iterates over the pages of a DescribeScheduledInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeScheduledInstances method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeScheduledInstances operation. +// pageNum := 0 +// err := client.DescribeScheduledInstancesPages(params, +// func(page *ec2.DescribeScheduledInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeScheduledInstancesPages(input *DescribeScheduledInstancesInput, fn func(*DescribeScheduledInstancesOutput, bool) bool) error { + return c.DescribeScheduledInstancesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeScheduledInstancesPagesWithContext same as DescribeScheduledInstancesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeScheduledInstancesPagesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, fn func(*DescribeScheduledInstancesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeScheduledInstancesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeScheduledInstancesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeScheduledInstancesOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences" // DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the @@ -14386,7 +17699,7 @@ func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGrou // DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud. // -// [EC2-VPC only] Describes the VPCs on the other side of a VPC peering connection +// [VPC only] Describes the VPCs on the other side of a VPC peering connection // that are referencing the security groups you've specified in this request. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -14467,13 +17780,13 @@ func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) // DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud. // -// Describes one or more of your security groups. +// Describes the specified security groups or all of your security groups. // // A security group is for use with instances either in the EC2-Classic platform // or in a specific VPC. For more information, see Amazon EC2 Security Groups -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your -// VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) +// VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -14515,7 +17828,7 @@ func (c *EC2) DescribeSecurityGroupsWithContext(ctx aws.Context, input *Describe // // Example iterating over at most 3 pages of a DescribeSecurityGroups operation. // pageNum := 0 // err := client.DescribeSecurityGroupsPages(params, -// func(page *DescribeSecurityGroupsOutput, lastPage bool) bool { +// func(page *ec2.DescribeSecurityGroupsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -14601,7 +17914,7 @@ func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeI // Describes the specified attribute of the specified snapshot. You can specify // only one attribute at a time. // -// For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html) +// For more information about EBS snapshots, see Amazon EBS Snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -14682,10 +17995,12 @@ func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *requ // DescribeSnapshots API operation for Amazon Elastic Compute Cloud. // -// Describes one or more of the EBS snapshots available to you. Available snapshots -// include public snapshots available for any AWS account to launch, private -// snapshots that you own, and private snapshots owned by another AWS account -// but for which you've been given explicit create volume permissions. +// Describes the specified EBS snapshots available to you or all of the EBS +// snapshots available to you. +// +// The snapshots available to you include public snapshots, private snapshots +// that you own, and private snapshots owned by other AWS accounts for which +// you have explicit create volume permissions. // // The create volume permissions fall into the following categories: // @@ -14726,7 +18041,7 @@ func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *requ // a NextToken value that can be passed to a subsequent DescribeSnapshots request // to retrieve the remaining results. // -// For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html) +// For more information about EBS snapshots, see Amazon EBS Snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -14768,7 +18083,7 @@ func (c *EC2) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnaps // // Example iterating over at most 3 pages of a DescribeSnapshots operation. // pageNum := 0 // err := client.DescribeSnapshotsPages(params, -// func(page *DescribeSnapshotsOutput, lastPage bool) bool { +// func(page *ec2.DescribeSnapshotsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -14852,7 +18167,7 @@ func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafee // DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud. // // Describes the data feed for Spot Instances. For more information, see Spot -// Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) +// Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) // in the Amazon EC2 User Guide for Linux Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -15130,7 +18445,7 @@ func (c *EC2) DescribeSpotFleetRequestsWithContext(ctx aws.Context, input *Descr // // Example iterating over at most 3 pages of a DescribeSpotFleetRequests operation. // pageNum := 0 // err := client.DescribeSpotFleetRequestsPages(params, -// func(page *DescribeSpotFleetRequestsOutput, lastPage bool) bool { +// func(page *ec2.DescribeSpotFleetRequestsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -15155,7 +18470,556 @@ func (c *EC2) DescribeSpotFleetRequestsPagesWithContext(ctx aws.Context, input * tmp := *input inCpy = &tmp } - req, _ := c.DescribeSpotFleetRequestsRequest(inCpy) + req, _ := c.DescribeSpotFleetRequestsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeSpotFleetRequestsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests" + +// DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSpotInstanceRequests operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeSpotInstanceRequests for more information on using the DescribeSpotInstanceRequests +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeSpotInstanceRequestsRequest method. +// req, resp := client.DescribeSpotInstanceRequestsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests +func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) { + op := &request.Operation{ + Name: opDescribeSpotInstanceRequests, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeSpotInstanceRequestsInput{} + } + + output = &DescribeSpotInstanceRequestsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud. +// +// Describes the specified Spot Instance requests. +// +// You can use DescribeSpotInstanceRequests to find a running Spot Instance +// by examining the response. If the status of the Spot Instance is fulfilled, +// the instance ID appears in the response and contains the identifier of the +// instance. Alternatively, you can use DescribeInstances with a filter to look +// for instances where the instance lifecycle is spot. +// +// We recommend that you set MaxResults to a value between 5 and 1000 to limit +// the number of results returned. This paginates the output, which makes the +// list more manageable and returns the results faster. If the list of results +// exceeds your MaxResults value, then that number of results is returned along +// with a NextToken value that can be passed to a subsequent DescribeSpotInstanceRequests +// request to retrieve the remaining results. +// +// Spot Instance requests are deleted four hours after they are canceled and +// their instances are terminated. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeSpotInstanceRequests for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests +func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) { + req, out := c.DescribeSpotInstanceRequestsRequest(input) + return out, req.Send() +} + +// DescribeSpotInstanceRequestsWithContext is the same as DescribeSpotInstanceRequests with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSpotInstanceRequests for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeSpotInstanceRequestsWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.Option) (*DescribeSpotInstanceRequestsOutput, error) { + req, out := c.DescribeSpotInstanceRequestsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeSpotInstanceRequestsPages iterates over the pages of a DescribeSpotInstanceRequests operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSpotInstanceRequests method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeSpotInstanceRequests operation. +// pageNum := 0 +// err := client.DescribeSpotInstanceRequestsPages(params, +// func(page *ec2.DescribeSpotInstanceRequestsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeSpotInstanceRequestsPages(input *DescribeSpotInstanceRequestsInput, fn func(*DescribeSpotInstanceRequestsOutput, bool) bool) error { + return c.DescribeSpotInstanceRequestsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeSpotInstanceRequestsPagesWithContext same as DescribeSpotInstanceRequestsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeSpotInstanceRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, fn func(*DescribeSpotInstanceRequestsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeSpotInstanceRequestsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeSpotInstanceRequestsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeSpotInstanceRequestsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory" + +// DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSpotPriceHistory operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeSpotPriceHistory for more information on using the DescribeSpotPriceHistory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeSpotPriceHistoryRequest method. +// req, resp := client.DescribeSpotPriceHistoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory +func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) { + op := &request.Operation{ + Name: opDescribeSpotPriceHistory, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeSpotPriceHistoryInput{} + } + + output = &DescribeSpotPriceHistoryOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud. +// +// Describes the Spot price history. For more information, see Spot Instance +// Pricing History (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html) +// in the Amazon EC2 User Guide for Linux Instances. +// +// When you specify a start and end time, this operation returns the prices +// of the instance types within the time range that you specified and the time +// when the price changed. The price is valid within the time period that you +// specified; the response merely indicates the last time that the price changed. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeSpotPriceHistory for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory +func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) { + req, out := c.DescribeSpotPriceHistoryRequest(input) + return out, req.Send() +} + +// DescribeSpotPriceHistoryWithContext is the same as DescribeSpotPriceHistory with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSpotPriceHistory for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeSpotPriceHistoryWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, opts ...request.Option) (*DescribeSpotPriceHistoryOutput, error) { + req, out := c.DescribeSpotPriceHistoryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSpotPriceHistory method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeSpotPriceHistory operation. +// pageNum := 0 +// err := client.DescribeSpotPriceHistoryPages(params, +// func(page *ec2.DescribeSpotPriceHistoryOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool) error { + return c.DescribeSpotPriceHistoryPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeSpotPriceHistoryPagesWithContext same as DescribeSpotPriceHistoryPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeSpotPriceHistoryInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeSpotPriceHistoryRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeSpotPriceHistoryOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups" + +// DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStaleSecurityGroups operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeStaleSecurityGroups for more information on using the DescribeStaleSecurityGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeStaleSecurityGroupsRequest method. +// req, resp := client.DescribeStaleSecurityGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups +func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) { + op := &request.Operation{ + Name: opDescribeStaleSecurityGroups, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeStaleSecurityGroupsInput{} + } + + output = &DescribeStaleSecurityGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud. +// +// [VPC only] Describes the stale security group rules for security groups in +// a specified VPC. Rules are stale when they reference a deleted security group +// in a peer VPC, or a security group in a peer VPC for which the VPC peering +// connection has been deleted. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeStaleSecurityGroups for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups +func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) { + req, out := c.DescribeStaleSecurityGroupsRequest(input) + return out, req.Send() +} + +// DescribeStaleSecurityGroupsWithContext is the same as DescribeStaleSecurityGroups with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeStaleSecurityGroups for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeStaleSecurityGroupsWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, opts ...request.Option) (*DescribeStaleSecurityGroupsOutput, error) { + req, out := c.DescribeStaleSecurityGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeStaleSecurityGroupsPages iterates over the pages of a DescribeStaleSecurityGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeStaleSecurityGroups method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeStaleSecurityGroups operation. +// pageNum := 0 +// err := client.DescribeStaleSecurityGroupsPages(params, +// func(page *ec2.DescribeStaleSecurityGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeStaleSecurityGroupsPages(input *DescribeStaleSecurityGroupsInput, fn func(*DescribeStaleSecurityGroupsOutput, bool) bool) error { + return c.DescribeStaleSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeStaleSecurityGroupsPagesWithContext same as DescribeStaleSecurityGroupsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeStaleSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, fn func(*DescribeStaleSecurityGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeStaleSecurityGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeStaleSecurityGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeStaleSecurityGroupsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeSubnets = "DescribeSubnets" + +// DescribeSubnetsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSubnets operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeSubnets for more information on using the DescribeSubnets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeSubnetsRequest method. +// req, resp := client.DescribeSubnetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets +func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) { + op := &request.Operation{ + Name: opDescribeSubnets, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeSubnetsInput{} + } + + output = &DescribeSubnetsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSubnets API operation for Amazon Elastic Compute Cloud. +// +// Describes one or more of your subnets. +// +// For more information, see Your VPC and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) +// in the Amazon Virtual Private Cloud User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeSubnets for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets +func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) { + req, out := c.DescribeSubnetsRequest(input) + return out, req.Send() +} + +// DescribeSubnetsWithContext is the same as DescribeSubnets with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSubnets for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeSubnetsWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.Option) (*DescribeSubnetsOutput, error) { + req, out := c.DescribeSubnetsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeSubnetsPages iterates over the pages of a DescribeSubnets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSubnets method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeSubnets operation. +// pageNum := 0 +// err := client.DescribeSubnetsPages(params, +// func(page *ec2.DescribeSubnetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeSubnetsPages(input *DescribeSubnetsInput, fn func(*DescribeSubnetsOutput, bool) bool) error { + return c.DescribeSubnetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeSubnetsPagesWithContext same as DescribeSubnetsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeSubnetsPagesWithContext(ctx aws.Context, input *DescribeSubnetsInput, fn func(*DescribeSubnetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeSubnetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeSubnetsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -15164,123 +19028,173 @@ func (c *EC2) DescribeSpotFleetRequestsPagesWithContext(ctx aws.Context, input * cont := true for p.Next() && cont { - cont = fn(p.Page().(*DescribeSpotFleetRequestsOutput), !p.HasNextPage()) + cont = fn(p.Page().(*DescribeSubnetsOutput), !p.HasNextPage()) } return p.Err() } -const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests" +const opDescribeTags = "DescribeTags" -// DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeSpotInstanceRequests operation. The "output" return +// DescribeTagsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTags operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeSpotInstanceRequests for more information on using the DescribeSpotInstanceRequests +// See DescribeTags for more information on using the DescribeTags // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeSpotInstanceRequestsRequest method. -// req, resp := client.DescribeSpotInstanceRequestsRequest(params) +// // Example sending a request using the DescribeTagsRequest method. +// req, resp := client.DescribeTagsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests -func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags +func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) { op := &request.Operation{ - Name: opDescribeSpotInstanceRequests, + Name: opDescribeTags, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &DescribeSpotInstanceRequestsInput{} + input = &DescribeTagsInput{} } - output = &DescribeSpotInstanceRequestsOutput{} + output = &DescribeTagsOutput{} req = c.newRequest(op, input, output) return } -// DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud. -// -// Describes the specified Spot Instance requests. +// DescribeTags API operation for Amazon Elastic Compute Cloud. // -// You can use DescribeSpotInstanceRequests to find a running Spot Instance -// by examining the response. If the status of the Spot Instance is fulfilled, -// the instance ID appears in the response and contains the identifier of the -// instance. Alternatively, you can use DescribeInstances with a filter to look -// for instances where the instance lifecycle is spot. +// Describes the specified tags for your EC2 resources. // -// Spot Instance requests are deleted four hours after they are canceled and -// their instances are terminated. +// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) +// in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Elastic Compute Cloud's -// API operation DescribeSpotInstanceRequests for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests -func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) { - req, out := c.DescribeSpotInstanceRequestsRequest(input) +// API operation DescribeTags for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags +func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) { + req, out := c.DescribeTagsRequest(input) return out, req.Send() } -// DescribeSpotInstanceRequestsWithContext is the same as DescribeSpotInstanceRequests with the addition of +// DescribeTagsWithContext is the same as DescribeTags with the addition of // the ability to pass a context and additional request options. // -// See DescribeSpotInstanceRequests for details on how to use this API operation. +// See DescribeTags for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *EC2) DescribeSpotInstanceRequestsWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.Option) (*DescribeSpotInstanceRequestsOutput, error) { - req, out := c.DescribeSpotInstanceRequestsRequest(input) +func (c *EC2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) { + req, out := c.DescribeTagsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory" +// DescribeTagsPages iterates over the pages of a DescribeTags operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeTags method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeTags operation. +// pageNum := 0 +// err := client.DescribeTagsPages(params, +// func(page *ec2.DescribeTagsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error { + return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the -// client's request for the DescribeSpotPriceHistory operation. The "output" return +// DescribeTagsPagesWithContext same as DescribeTagsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeTagsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeTagsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeTrafficMirrorFilters = "DescribeTrafficMirrorFilters" + +// DescribeTrafficMirrorFiltersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTrafficMirrorFilters operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeSpotPriceHistory for more information on using the DescribeSpotPriceHistory +// See DescribeTrafficMirrorFilters for more information on using the DescribeTrafficMirrorFilters // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeSpotPriceHistoryRequest method. -// req, resp := client.DescribeSpotPriceHistoryRequest(params) +// // Example sending a request using the DescribeTrafficMirrorFiltersRequest method. +// req, resp := client.DescribeTrafficMirrorFiltersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory -func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorFilters +func (c *EC2) DescribeTrafficMirrorFiltersRequest(input *DescribeTrafficMirrorFiltersInput) (req *request.Request, output *DescribeTrafficMirrorFiltersOutput) { op := &request.Operation{ - Name: opDescribeSpotPriceHistory, + Name: opDescribeTrafficMirrorFilters, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -15292,90 +19206,83 @@ func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInp } if input == nil { - input = &DescribeSpotPriceHistoryInput{} + input = &DescribeTrafficMirrorFiltersInput{} } - output = &DescribeSpotPriceHistoryOutput{} + output = &DescribeTrafficMirrorFiltersOutput{} req = c.newRequest(op, input, output) return } -// DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud. -// -// Describes the Spot price history. For more information, see Spot Instance -// Pricing History (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html) -// in the Amazon EC2 User Guide for Linux Instances. +// DescribeTrafficMirrorFilters API operation for Amazon Elastic Compute Cloud. // -// When you specify a start and end time, this operation returns the prices -// of the instance types within the time range that you specified and the time -// when the price changed. The price is valid within the time period that you -// specified; the response merely indicates the last time that the price changed. +// Describes one or more Traffic Mirror filters. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Elastic Compute Cloud's -// API operation DescribeSpotPriceHistory for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory -func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) { - req, out := c.DescribeSpotPriceHistoryRequest(input) +// API operation DescribeTrafficMirrorFilters for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorFilters +func (c *EC2) DescribeTrafficMirrorFilters(input *DescribeTrafficMirrorFiltersInput) (*DescribeTrafficMirrorFiltersOutput, error) { + req, out := c.DescribeTrafficMirrorFiltersRequest(input) return out, req.Send() } -// DescribeSpotPriceHistoryWithContext is the same as DescribeSpotPriceHistory with the addition of +// DescribeTrafficMirrorFiltersWithContext is the same as DescribeTrafficMirrorFilters with the addition of // the ability to pass a context and additional request options. // -// See DescribeSpotPriceHistory for details on how to use this API operation. +// See DescribeTrafficMirrorFilters for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *EC2) DescribeSpotPriceHistoryWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, opts ...request.Option) (*DescribeSpotPriceHistoryOutput, error) { - req, out := c.DescribeSpotPriceHistoryRequest(input) +func (c *EC2) DescribeTrafficMirrorFiltersWithContext(ctx aws.Context, input *DescribeTrafficMirrorFiltersInput, opts ...request.Option) (*DescribeTrafficMirrorFiltersOutput, error) { + req, out := c.DescribeTrafficMirrorFiltersRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation, +// DescribeTrafficMirrorFiltersPages iterates over the pages of a DescribeTrafficMirrorFilters operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See DescribeSpotPriceHistory method for more information on how to use this operation. +// See DescribeTrafficMirrorFilters method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a DescribeSpotPriceHistory operation. +// // Example iterating over at most 3 pages of a DescribeTrafficMirrorFilters operation. // pageNum := 0 -// err := client.DescribeSpotPriceHistoryPages(params, -// func(page *DescribeSpotPriceHistoryOutput, lastPage bool) bool { +// err := client.DescribeTrafficMirrorFiltersPages(params, +// func(page *ec2.DescribeTrafficMirrorFiltersOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool) error { - return c.DescribeSpotPriceHistoryPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *EC2) DescribeTrafficMirrorFiltersPages(input *DescribeTrafficMirrorFiltersInput, fn func(*DescribeTrafficMirrorFiltersOutput, bool) bool) error { + return c.DescribeTrafficMirrorFiltersPagesWithContext(aws.BackgroundContext(), input, fn) } -// DescribeSpotPriceHistoryPagesWithContext same as DescribeSpotPriceHistoryPages except +// DescribeTrafficMirrorFiltersPagesWithContext same as DescribeTrafficMirrorFiltersPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error { +func (c *EC2) DescribeTrafficMirrorFiltersPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorFiltersInput, fn func(*DescribeTrafficMirrorFiltersOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *DescribeSpotPriceHistoryInput + var inCpy *DescribeTrafficMirrorFiltersInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.DescribeSpotPriceHistoryRequest(inCpy) + req, _ := c.DescribeTrafficMirrorFiltersRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -15384,194 +19291,171 @@ func (c *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *D cont := true for p.Next() && cont { - cont = fn(p.Page().(*DescribeSpotPriceHistoryOutput), !p.HasNextPage()) + cont = fn(p.Page().(*DescribeTrafficMirrorFiltersOutput), !p.HasNextPage()) } return p.Err() } -const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups" +const opDescribeTrafficMirrorSessions = "DescribeTrafficMirrorSessions" -// DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeStaleSecurityGroups operation. The "output" return +// DescribeTrafficMirrorSessionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTrafficMirrorSessions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeStaleSecurityGroups for more information on using the DescribeStaleSecurityGroups +// See DescribeTrafficMirrorSessions for more information on using the DescribeTrafficMirrorSessions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeStaleSecurityGroupsRequest method. -// req, resp := client.DescribeStaleSecurityGroupsRequest(params) +// // Example sending a request using the DescribeTrafficMirrorSessionsRequest method. +// req, resp := client.DescribeTrafficMirrorSessionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups -func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorSessions +func (c *EC2) DescribeTrafficMirrorSessionsRequest(input *DescribeTrafficMirrorSessionsInput) (req *request.Request, output *DescribeTrafficMirrorSessionsOutput) { op := &request.Operation{ - Name: opDescribeStaleSecurityGroups, + Name: opDescribeTrafficMirrorSessions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &DescribeStaleSecurityGroupsInput{} + input = &DescribeTrafficMirrorSessionsInput{} } - output = &DescribeStaleSecurityGroupsOutput{} + output = &DescribeTrafficMirrorSessionsOutput{} req = c.newRequest(op, input, output) return } -// DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud. +// DescribeTrafficMirrorSessions API operation for Amazon Elastic Compute Cloud. // -// [EC2-VPC only] Describes the stale security group rules for security groups -// in a specified VPC. Rules are stale when they reference a deleted security -// group in a peer VPC, or a security group in a peer VPC for which the VPC -// peering connection has been deleted. +// Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror +// sessions are described. Alternatively, you can filter the results. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Elastic Compute Cloud's -// API operation DescribeStaleSecurityGroups for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups -func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) { - req, out := c.DescribeStaleSecurityGroupsRequest(input) +// API operation DescribeTrafficMirrorSessions for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorSessions +func (c *EC2) DescribeTrafficMirrorSessions(input *DescribeTrafficMirrorSessionsInput) (*DescribeTrafficMirrorSessionsOutput, error) { + req, out := c.DescribeTrafficMirrorSessionsRequest(input) return out, req.Send() } -// DescribeStaleSecurityGroupsWithContext is the same as DescribeStaleSecurityGroups with the addition of +// DescribeTrafficMirrorSessionsWithContext is the same as DescribeTrafficMirrorSessions with the addition of // the ability to pass a context and additional request options. // -// See DescribeStaleSecurityGroups for details on how to use this API operation. +// See DescribeTrafficMirrorSessions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *EC2) DescribeStaleSecurityGroupsWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, opts ...request.Option) (*DescribeStaleSecurityGroupsOutput, error) { - req, out := c.DescribeStaleSecurityGroupsRequest(input) +func (c *EC2) DescribeTrafficMirrorSessionsWithContext(ctx aws.Context, input *DescribeTrafficMirrorSessionsInput, opts ...request.Option) (*DescribeTrafficMirrorSessionsOutput, error) { + req, out := c.DescribeTrafficMirrorSessionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeSubnets = "DescribeSubnets" - -// DescribeSubnetsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeSubnets operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeSubnets for more information on using the DescribeSubnets -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeSubnetsRequest method. -// req, resp := client.DescribeSubnetsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets -func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) { - op := &request.Operation{ - Name: opDescribeSubnets, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeSubnetsInput{} - } - - output = &DescribeSubnetsOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeSubnets API operation for Amazon Elastic Compute Cloud. +// DescribeTrafficMirrorSessionsPages iterates over the pages of a DescribeTrafficMirrorSessions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// Describes one or more of your subnets. +// See DescribeTrafficMirrorSessions method for more information on how to use this operation. // -// For more information, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) -// in the Amazon Virtual Private Cloud User Guide. +// Note: This operation can generate multiple requests to a service. // -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. +// // Example iterating over at most 3 pages of a DescribeTrafficMirrorSessions operation. +// pageNum := 0 +// err := client.DescribeTrafficMirrorSessionsPages(params, +// func(page *ec2.DescribeTrafficMirrorSessionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) // -// See the AWS API reference guide for Amazon Elastic Compute Cloud's -// API operation DescribeSubnets for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets -func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) { - req, out := c.DescribeSubnetsRequest(input) - return out, req.Send() +func (c *EC2) DescribeTrafficMirrorSessionsPages(input *DescribeTrafficMirrorSessionsInput, fn func(*DescribeTrafficMirrorSessionsOutput, bool) bool) error { + return c.DescribeTrafficMirrorSessionsPagesWithContext(aws.BackgroundContext(), input, fn) } -// DescribeSubnetsWithContext is the same as DescribeSubnets with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeSubnets for details on how to use this API operation. +// DescribeTrafficMirrorSessionsPagesWithContext same as DescribeTrafficMirrorSessionsPages except +// it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *EC2) DescribeSubnetsWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.Option) (*DescribeSubnetsOutput, error) { - req, out := c.DescribeSubnetsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() +func (c *EC2) DescribeTrafficMirrorSessionsPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorSessionsInput, fn func(*DescribeTrafficMirrorSessionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeTrafficMirrorSessionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeTrafficMirrorSessionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeTrafficMirrorSessionsOutput), !p.HasNextPage()) + } + return p.Err() } -const opDescribeTags = "DescribeTags" +const opDescribeTrafficMirrorTargets = "DescribeTrafficMirrorTargets" -// DescribeTagsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeTags operation. The "output" return +// DescribeTrafficMirrorTargetsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTrafficMirrorTargets operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeTags for more information on using the DescribeTags +// See DescribeTrafficMirrorTargets for more information on using the DescribeTrafficMirrorTargets // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeTagsRequest method. -// req, resp := client.DescribeTagsRequest(params) +// // Example sending a request using the DescribeTrafficMirrorTargetsRequest method. +// req, resp := client.DescribeTrafficMirrorTargetsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags -func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorTargets +func (c *EC2) DescribeTrafficMirrorTargetsRequest(input *DescribeTrafficMirrorTargetsInput) (req *request.Request, output *DescribeTrafficMirrorTargetsOutput) { op := &request.Operation{ - Name: opDescribeTags, + Name: opDescribeTrafficMirrorTargets, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -15583,86 +19467,83 @@ func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Reques } if input == nil { - input = &DescribeTagsInput{} + input = &DescribeTrafficMirrorTargetsInput{} } - output = &DescribeTagsOutput{} + output = &DescribeTrafficMirrorTargetsOutput{} req = c.newRequest(op, input, output) return } -// DescribeTags API operation for Amazon Elastic Compute Cloud. -// -// Describes one or more of the tags for your EC2 resources. +// DescribeTrafficMirrorTargets API operation for Amazon Elastic Compute Cloud. // -// For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) -// in the Amazon Elastic Compute Cloud User Guide. +// Information about one or more Traffic Mirror targets. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Elastic Compute Cloud's -// API operation DescribeTags for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags -func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) { - req, out := c.DescribeTagsRequest(input) +// API operation DescribeTrafficMirrorTargets for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorTargets +func (c *EC2) DescribeTrafficMirrorTargets(input *DescribeTrafficMirrorTargetsInput) (*DescribeTrafficMirrorTargetsOutput, error) { + req, out := c.DescribeTrafficMirrorTargetsRequest(input) return out, req.Send() } -// DescribeTagsWithContext is the same as DescribeTags with the addition of +// DescribeTrafficMirrorTargetsWithContext is the same as DescribeTrafficMirrorTargets with the addition of // the ability to pass a context and additional request options. // -// See DescribeTags for details on how to use this API operation. +// See DescribeTrafficMirrorTargets for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *EC2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) { - req, out := c.DescribeTagsRequest(input) +func (c *EC2) DescribeTrafficMirrorTargetsWithContext(ctx aws.Context, input *DescribeTrafficMirrorTargetsInput, opts ...request.Option) (*DescribeTrafficMirrorTargetsOutput, error) { + req, out := c.DescribeTrafficMirrorTargetsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// DescribeTagsPages iterates over the pages of a DescribeTags operation, +// DescribeTrafficMirrorTargetsPages iterates over the pages of a DescribeTrafficMirrorTargets operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See DescribeTags method for more information on how to use this operation. +// See DescribeTrafficMirrorTargets method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a DescribeTags operation. +// // Example iterating over at most 3 pages of a DescribeTrafficMirrorTargets operation. // pageNum := 0 -// err := client.DescribeTagsPages(params, -// func(page *DescribeTagsOutput, lastPage bool) bool { +// err := client.DescribeTrafficMirrorTargetsPages(params, +// func(page *ec2.DescribeTrafficMirrorTargetsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error { - return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *EC2) DescribeTrafficMirrorTargetsPages(input *DescribeTrafficMirrorTargetsInput, fn func(*DescribeTrafficMirrorTargetsOutput, bool) bool) error { + return c.DescribeTrafficMirrorTargetsPagesWithContext(aws.BackgroundContext(), input, fn) } -// DescribeTagsPagesWithContext same as DescribeTagsPages except +// DescribeTrafficMirrorTargetsPagesWithContext same as DescribeTrafficMirrorTargetsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error { +func (c *EC2) DescribeTrafficMirrorTargetsPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorTargetsInput, fn func(*DescribeTrafficMirrorTargetsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *DescribeTagsInput + var inCpy *DescribeTrafficMirrorTargetsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.DescribeTagsRequest(inCpy) + req, _ := c.DescribeTrafficMirrorTargetsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -15671,7 +19552,7 @@ func (c *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsI cont := true for p.Next() && cont { - cont = fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage()) + cont = fn(p.Page().(*DescribeTrafficMirrorTargetsOutput), !p.HasNextPage()) } return p.Err() } @@ -15707,6 +19588,12 @@ func (c *EC2) DescribeTransitGatewayAttachmentsRequest(input *DescribeTransitGat Name: opDescribeTransitGatewayAttachments, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -15753,6 +19640,56 @@ func (c *EC2) DescribeTransitGatewayAttachmentsWithContext(ctx aws.Context, inpu return out, req.Send() } +// DescribeTransitGatewayAttachmentsPages iterates over the pages of a DescribeTransitGatewayAttachments operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeTransitGatewayAttachments method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeTransitGatewayAttachments operation. +// pageNum := 0 +// err := client.DescribeTransitGatewayAttachmentsPages(params, +// func(page *ec2.DescribeTransitGatewayAttachmentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeTransitGatewayAttachmentsPages(input *DescribeTransitGatewayAttachmentsInput, fn func(*DescribeTransitGatewayAttachmentsOutput, bool) bool) error { + return c.DescribeTransitGatewayAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeTransitGatewayAttachmentsPagesWithContext same as DescribeTransitGatewayAttachmentsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeTransitGatewayAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayAttachmentsInput, fn func(*DescribeTransitGatewayAttachmentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeTransitGatewayAttachmentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeTransitGatewayAttachmentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeTransitGatewayAttachmentsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeTransitGatewayRouteTables = "DescribeTransitGatewayRouteTables" // DescribeTransitGatewayRouteTablesRequest generates a "aws/request.Request" representing the @@ -15784,6 +19721,12 @@ func (c *EC2) DescribeTransitGatewayRouteTablesRequest(input *DescribeTransitGat Name: opDescribeTransitGatewayRouteTables, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -15828,6 +19771,56 @@ func (c *EC2) DescribeTransitGatewayRouteTablesWithContext(ctx aws.Context, inpu return out, req.Send() } +// DescribeTransitGatewayRouteTablesPages iterates over the pages of a DescribeTransitGatewayRouteTables operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeTransitGatewayRouteTables method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeTransitGatewayRouteTables operation. +// pageNum := 0 +// err := client.DescribeTransitGatewayRouteTablesPages(params, +// func(page *ec2.DescribeTransitGatewayRouteTablesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeTransitGatewayRouteTablesPages(input *DescribeTransitGatewayRouteTablesInput, fn func(*DescribeTransitGatewayRouteTablesOutput, bool) bool) error { + return c.DescribeTransitGatewayRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeTransitGatewayRouteTablesPagesWithContext same as DescribeTransitGatewayRouteTablesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeTransitGatewayRouteTablesPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayRouteTablesInput, fn func(*DescribeTransitGatewayRouteTablesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeTransitGatewayRouteTablesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeTransitGatewayRouteTablesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeTransitGatewayRouteTablesOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeTransitGatewayVpcAttachments = "DescribeTransitGatewayVpcAttachments" // DescribeTransitGatewayVpcAttachmentsRequest generates a "aws/request.Request" representing the @@ -15859,6 +19852,12 @@ func (c *EC2) DescribeTransitGatewayVpcAttachmentsRequest(input *DescribeTransit Name: opDescribeTransitGatewayVpcAttachments, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -15903,6 +19902,56 @@ func (c *EC2) DescribeTransitGatewayVpcAttachmentsWithContext(ctx aws.Context, i return out, req.Send() } +// DescribeTransitGatewayVpcAttachmentsPages iterates over the pages of a DescribeTransitGatewayVpcAttachments operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeTransitGatewayVpcAttachments method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeTransitGatewayVpcAttachments operation. +// pageNum := 0 +// err := client.DescribeTransitGatewayVpcAttachmentsPages(params, +// func(page *ec2.DescribeTransitGatewayVpcAttachmentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeTransitGatewayVpcAttachmentsPages(input *DescribeTransitGatewayVpcAttachmentsInput, fn func(*DescribeTransitGatewayVpcAttachmentsOutput, bool) bool) error { + return c.DescribeTransitGatewayVpcAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeTransitGatewayVpcAttachmentsPagesWithContext same as DescribeTransitGatewayVpcAttachmentsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeTransitGatewayVpcAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayVpcAttachmentsInput, fn func(*DescribeTransitGatewayVpcAttachmentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeTransitGatewayVpcAttachmentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeTransitGatewayVpcAttachmentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeTransitGatewayVpcAttachmentsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeTransitGateways = "DescribeTransitGateways" // DescribeTransitGatewaysRequest generates a "aws/request.Request" representing the @@ -15934,6 +19983,12 @@ func (c *EC2) DescribeTransitGatewaysRequest(input *DescribeTransitGatewaysInput Name: opDescribeTransitGateways, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -15978,6 +20033,56 @@ func (c *EC2) DescribeTransitGatewaysWithContext(ctx aws.Context, input *Describ return out, req.Send() } +// DescribeTransitGatewaysPages iterates over the pages of a DescribeTransitGateways operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeTransitGateways method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeTransitGateways operation. +// pageNum := 0 +// err := client.DescribeTransitGatewaysPages(params, +// func(page *ec2.DescribeTransitGatewaysOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeTransitGatewaysPages(input *DescribeTransitGatewaysInput, fn func(*DescribeTransitGatewaysOutput, bool) bool) error { + return c.DescribeTransitGatewaysPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeTransitGatewaysPagesWithContext same as DescribeTransitGatewaysPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeTransitGatewaysPagesWithContext(ctx aws.Context, input *DescribeTransitGatewaysInput, fn func(*DescribeTransitGatewaysOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeTransitGatewaysInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeTransitGatewaysRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeTransitGatewaysOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeVolumeAttribute = "DescribeVolumeAttribute" // DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the @@ -16025,7 +20130,7 @@ func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput // Describes the specified attribute of the specified volume. You can specify // only one attribute at a time. // -// For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html) +// For more information about EBS volumes, see Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -16124,7 +20229,7 @@ func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req // If the status is insufficient-data, then the checks may still be taking place // on your volume at the time. We recommend that you retry the request. For // more information about volume status, see Monitoring the Status of Your Volumes -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html) // in the Amazon Elastic Compute Cloud User Guide. // // Events: Reflect the cause of a volume status and may require you to take @@ -16182,7 +20287,7 @@ func (c *EC2) DescribeVolumeStatusWithContext(ctx aws.Context, input *DescribeVo // // Example iterating over at most 3 pages of a DescribeVolumeStatus operation. // pageNum := 0 // err := client.DescribeVolumeStatusPages(params, -// func(page *DescribeVolumeStatusOutput, lastPage bool) bool { +// func(page *ec2.DescribeVolumeStatusOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -16271,7 +20376,7 @@ func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request. // DescribeVolumes API operation for Amazon Elastic Compute Cloud. // -// Describes the specified EBS volumes. +// Describes the specified EBS volumes or all of your EBS volumes. // // If you are describing a long list of volumes, you can paginate the output // to make the list more manageable. The MaxResults parameter sets the maximum @@ -16280,7 +20385,7 @@ func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request. // a NextToken value that can be passed to a subsequent DescribeVolumes request // to retrieve the remaining results. // -// For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html) +// For more information about EBS volumes, see Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -16322,7 +20427,7 @@ func (c *EC2) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumes // // Example iterating over at most 3 pages of a DescribeVolumes operation. // pageNum := 0 // err := client.DescribeVolumesPages(params, -// func(page *DescribeVolumesOutput, lastPage bool) bool { +// func(page *ec2.DescribeVolumesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -16392,6 +20497,12 @@ func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModifica Name: opDescribeVolumesModifications, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -16416,8 +20527,8 @@ func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModifica // // You can also use CloudWatch Events to check the status of a modification // to an EBS volume. For information about CloudWatch Events, see the Amazon -// CloudWatch Events User Guide (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/). -// For more information, see Monitoring Volume Modifications" (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods) +// CloudWatch Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/). +// For more information, see Monitoring Volume Modifications" (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -16448,6 +20559,56 @@ func (c *EC2) DescribeVolumesModificationsWithContext(ctx aws.Context, input *De return out, req.Send() } +// DescribeVolumesModificationsPages iterates over the pages of a DescribeVolumesModifications operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeVolumesModifications method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeVolumesModifications operation. +// pageNum := 0 +// err := client.DescribeVolumesModificationsPages(params, +// func(page *ec2.DescribeVolumesModificationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeVolumesModificationsPages(input *DescribeVolumesModificationsInput, fn func(*DescribeVolumesModificationsOutput, bool) bool) error { + return c.DescribeVolumesModificationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeVolumesModificationsPagesWithContext same as DescribeVolumesModificationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeVolumesModificationsPagesWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, fn func(*DescribeVolumesModificationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeVolumesModificationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeVolumesModificationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeVolumesModificationsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeVpcAttribute = "DescribeVpcAttribute" // DescribeVpcAttributeRequest generates a "aws/request.Request" representing the @@ -16628,6 +20789,12 @@ func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicL Name: opDescribeVpcClassicLinkDnsSupport, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -16646,7 +20813,7 @@ func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicL // IP address when addressed from an instance in the VPC to which it's linked. // Similarly, the DNS hostname of an instance in a VPC resolves to its private // IP address when addressed from a linked EC2-Classic instance. For more information, -// see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) +// see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -16677,6 +20844,56 @@ func (c *EC2) DescribeVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input return out, req.Send() } +// DescribeVpcClassicLinkDnsSupportPages iterates over the pages of a DescribeVpcClassicLinkDnsSupport operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeVpcClassicLinkDnsSupport method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeVpcClassicLinkDnsSupport operation. +// pageNum := 0 +// err := client.DescribeVpcClassicLinkDnsSupportPages(params, +// func(page *ec2.DescribeVpcClassicLinkDnsSupportOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeVpcClassicLinkDnsSupportPages(input *DescribeVpcClassicLinkDnsSupportInput, fn func(*DescribeVpcClassicLinkDnsSupportOutput, bool) bool) error { + return c.DescribeVpcClassicLinkDnsSupportPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeVpcClassicLinkDnsSupportPagesWithContext same as DescribeVpcClassicLinkDnsSupportPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeVpcClassicLinkDnsSupportPagesWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, fn func(*DescribeVpcClassicLinkDnsSupportOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeVpcClassicLinkDnsSupportInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeVpcClassicLinkDnsSupportRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeVpcClassicLinkDnsSupportOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeVpcEndpointConnectionNotifications = "DescribeVpcEndpointConnectionNotifications" // DescribeVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the @@ -16708,6 +20925,12 @@ func (c *EC2) DescribeVpcEndpointConnectionNotificationsRequest(input *DescribeV Name: opDescribeVpcEndpointConnectionNotifications, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -16752,6 +20975,56 @@ func (c *EC2) DescribeVpcEndpointConnectionNotificationsWithContext(ctx aws.Cont return out, req.Send() } +// DescribeVpcEndpointConnectionNotificationsPages iterates over the pages of a DescribeVpcEndpointConnectionNotifications operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeVpcEndpointConnectionNotifications method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeVpcEndpointConnectionNotifications operation. +// pageNum := 0 +// err := client.DescribeVpcEndpointConnectionNotificationsPages(params, +// func(page *ec2.DescribeVpcEndpointConnectionNotificationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeVpcEndpointConnectionNotificationsPages(input *DescribeVpcEndpointConnectionNotificationsInput, fn func(*DescribeVpcEndpointConnectionNotificationsOutput, bool) bool) error { + return c.DescribeVpcEndpointConnectionNotificationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeVpcEndpointConnectionNotificationsPagesWithContext same as DescribeVpcEndpointConnectionNotificationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeVpcEndpointConnectionNotificationsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, fn func(*DescribeVpcEndpointConnectionNotificationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeVpcEndpointConnectionNotificationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeVpcEndpointConnectionNotificationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeVpcEndpointConnectionNotificationsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeVpcEndpointConnections = "DescribeVpcEndpointConnections" // DescribeVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the @@ -16783,6 +21056,12 @@ func (c *EC2) DescribeVpcEndpointConnectionsRequest(input *DescribeVpcEndpointCo Name: opDescribeVpcEndpointConnections, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -16827,6 +21106,56 @@ func (c *EC2) DescribeVpcEndpointConnectionsWithContext(ctx aws.Context, input * return out, req.Send() } +// DescribeVpcEndpointConnectionsPages iterates over the pages of a DescribeVpcEndpointConnections operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeVpcEndpointConnections method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeVpcEndpointConnections operation. +// pageNum := 0 +// err := client.DescribeVpcEndpointConnectionsPages(params, +// func(page *ec2.DescribeVpcEndpointConnectionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeVpcEndpointConnectionsPages(input *DescribeVpcEndpointConnectionsInput, fn func(*DescribeVpcEndpointConnectionsOutput, bool) bool) error { + return c.DescribeVpcEndpointConnectionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeVpcEndpointConnectionsPagesWithContext same as DescribeVpcEndpointConnectionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeVpcEndpointConnectionsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, fn func(*DescribeVpcEndpointConnectionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeVpcEndpointConnectionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeVpcEndpointConnectionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeVpcEndpointConnectionsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeVpcEndpointServiceConfigurations = "DescribeVpcEndpointServiceConfigurations" // DescribeVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the @@ -16858,6 +21187,12 @@ func (c *EC2) DescribeVpcEndpointServiceConfigurationsRequest(input *DescribeVpc Name: opDescribeVpcEndpointServiceConfigurations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -16901,6 +21236,56 @@ func (c *EC2) DescribeVpcEndpointServiceConfigurationsWithContext(ctx aws.Contex return out, req.Send() } +// DescribeVpcEndpointServiceConfigurationsPages iterates over the pages of a DescribeVpcEndpointServiceConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeVpcEndpointServiceConfigurations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeVpcEndpointServiceConfigurations operation. +// pageNum := 0 +// err := client.DescribeVpcEndpointServiceConfigurationsPages(params, +// func(page *ec2.DescribeVpcEndpointServiceConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeVpcEndpointServiceConfigurationsPages(input *DescribeVpcEndpointServiceConfigurationsInput, fn func(*DescribeVpcEndpointServiceConfigurationsOutput, bool) bool) error { + return c.DescribeVpcEndpointServiceConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeVpcEndpointServiceConfigurationsPagesWithContext same as DescribeVpcEndpointServiceConfigurationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeVpcEndpointServiceConfigurationsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, fn func(*DescribeVpcEndpointServiceConfigurationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeVpcEndpointServiceConfigurationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeVpcEndpointServiceConfigurationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeVpcEndpointServiceConfigurationsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeVpcEndpointServicePermissions = "DescribeVpcEndpointServicePermissions" // DescribeVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the @@ -16932,6 +21317,12 @@ func (c *EC2) DescribeVpcEndpointServicePermissionsRequest(input *DescribeVpcEnd Name: opDescribeVpcEndpointServicePermissions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -16976,6 +21367,56 @@ func (c *EC2) DescribeVpcEndpointServicePermissionsWithContext(ctx aws.Context, return out, req.Send() } +// DescribeVpcEndpointServicePermissionsPages iterates over the pages of a DescribeVpcEndpointServicePermissions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeVpcEndpointServicePermissions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeVpcEndpointServicePermissions operation. +// pageNum := 0 +// err := client.DescribeVpcEndpointServicePermissionsPages(params, +// func(page *ec2.DescribeVpcEndpointServicePermissionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeVpcEndpointServicePermissionsPages(input *DescribeVpcEndpointServicePermissionsInput, fn func(*DescribeVpcEndpointServicePermissionsOutput, bool) bool) error { + return c.DescribeVpcEndpointServicePermissionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeVpcEndpointServicePermissionsPagesWithContext same as DescribeVpcEndpointServicePermissionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeVpcEndpointServicePermissionsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, fn func(*DescribeVpcEndpointServicePermissionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeVpcEndpointServicePermissionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeVpcEndpointServicePermissionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeVpcEndpointServicePermissionsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices" // DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the @@ -17081,6 +21522,12 @@ func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req Name: opDescribeVpcEndpoints, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -17124,6 +21571,56 @@ func (c *EC2) DescribeVpcEndpointsWithContext(ctx aws.Context, input *DescribeVp return out, req.Send() } +// DescribeVpcEndpointsPages iterates over the pages of a DescribeVpcEndpoints operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeVpcEndpoints method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeVpcEndpoints operation. +// pageNum := 0 +// err := client.DescribeVpcEndpointsPages(params, +// func(page *ec2.DescribeVpcEndpointsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeVpcEndpointsPages(input *DescribeVpcEndpointsInput, fn func(*DescribeVpcEndpointsOutput, bool) bool) error { + return c.DescribeVpcEndpointsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeVpcEndpointsPagesWithContext same as DescribeVpcEndpointsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeVpcEndpointsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, fn func(*DescribeVpcEndpointsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeVpcEndpointsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeVpcEndpointsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeVpcEndpointsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections" // DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the @@ -17155,6 +21652,12 @@ func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConn Name: opDescribeVpcPeeringConnections, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -17198,6 +21701,56 @@ func (c *EC2) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *D return out, req.Send() } +// DescribeVpcPeeringConnectionsPages iterates over the pages of a DescribeVpcPeeringConnections operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeVpcPeeringConnections method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeVpcPeeringConnections operation. +// pageNum := 0 +// err := client.DescribeVpcPeeringConnectionsPages(params, +// func(page *ec2.DescribeVpcPeeringConnectionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeVpcPeeringConnectionsPages(input *DescribeVpcPeeringConnectionsInput, fn func(*DescribeVpcPeeringConnectionsOutput, bool) bool) error { + return c.DescribeVpcPeeringConnectionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeVpcPeeringConnectionsPagesWithContext same as DescribeVpcPeeringConnectionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeVpcPeeringConnectionsPagesWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, fn func(*DescribeVpcPeeringConnectionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeVpcPeeringConnectionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeVpcPeeringConnectionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeVpcPeeringConnectionsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeVpcs = "DescribeVpcs" // DescribeVpcsRequest generates a "aws/request.Request" representing the @@ -17229,6 +21782,12 @@ func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Reques Name: opDescribeVpcs, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -17272,6 +21831,56 @@ func (c *EC2) DescribeVpcsWithContext(ctx aws.Context, input *DescribeVpcsInput, return out, req.Send() } +// DescribeVpcsPages iterates over the pages of a DescribeVpcs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeVpcs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeVpcs operation. +// pageNum := 0 +// err := client.DescribeVpcsPages(params, +// func(page *ec2.DescribeVpcsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeVpcsPages(input *DescribeVpcsInput, fn func(*DescribeVpcsOutput, bool) bool) error { + return c.DescribeVpcsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeVpcsPagesWithContext same as DescribeVpcsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeVpcsPagesWithContext(ctx aws.Context, input *DescribeVpcsInput, fn func(*DescribeVpcsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeVpcsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeVpcsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeVpcsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opDescribeVpnConnections = "DescribeVpnConnections" // DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the @@ -17318,9 +21927,8 @@ func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) // // Describes one or more of your VPN connections. // -// For more information about VPN connections, see AWS Managed VPN Connections -// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) in the -// Amazon Virtual Private Cloud User Guide. +// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) +// in the AWS Site-to-Site VPN User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -17396,9 +22004,8 @@ func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req * // // Describes one or more of your virtual private gateways. // -// For more information about virtual private gateways, see AWS Managed VPN -// Connections (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) -// in the Amazon Virtual Private Cloud User Guide. +// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) +// in the AWS Site-to-Site VPN User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -17543,8 +22150,7 @@ func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (r output = &DetachInternetGatewayOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -17621,8 +22227,7 @@ func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) output = &DetachNetworkInterfaceOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -17714,7 +22319,7 @@ func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Reques // When a volume with an AWS Marketplace product code is detached from an instance, // the product code is no longer associated with the instance. // -// For more information, see Detaching an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html) +// For more information, see Detaching an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -17784,8 +22389,7 @@ func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *reques output = &DetachVpnGatewayOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -17828,6 +22432,89 @@ func (c *EC2) DetachVpnGatewayWithContext(ctx aws.Context, input *DetachVpnGatew return out, req.Send() } +const opDisableEbsEncryptionByDefault = "DisableEbsEncryptionByDefault" + +// DisableEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the +// client's request for the DisableEbsEncryptionByDefault operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisableEbsEncryptionByDefault for more information on using the DisableEbsEncryptionByDefault +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DisableEbsEncryptionByDefaultRequest method. +// req, resp := client.DisableEbsEncryptionByDefaultRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault +func (c *EC2) DisableEbsEncryptionByDefaultRequest(input *DisableEbsEncryptionByDefaultInput) (req *request.Request, output *DisableEbsEncryptionByDefaultOutput) { + op := &request.Operation{ + Name: opDisableEbsEncryptionByDefault, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisableEbsEncryptionByDefaultInput{} + } + + output = &DisableEbsEncryptionByDefaultOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisableEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud. +// +// Disables EBS encryption by default for your account in the current Region. +// +// After you disable encryption by default, you can still create encrypted volumes +// by enabling encryption when you create each volume. +// +// Disabling encryption by default does not change the encryption status of +// your existing volumes. +// +// For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) +// in the Amazon Elastic Compute Cloud User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DisableEbsEncryptionByDefault for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault +func (c *EC2) DisableEbsEncryptionByDefault(input *DisableEbsEncryptionByDefaultInput) (*DisableEbsEncryptionByDefaultOutput, error) { + req, out := c.DisableEbsEncryptionByDefaultRequest(input) + return out, req.Send() +} + +// DisableEbsEncryptionByDefaultWithContext is the same as DisableEbsEncryptionByDefault with the addition of +// the ability to pass a context and additional request options. +// +// See DisableEbsEncryptionByDefault for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DisableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *DisableEbsEncryptionByDefaultInput, opts ...request.Option) (*DisableEbsEncryptionByDefaultOutput, error) { + req, out := c.DisableEbsEncryptionByDefaultRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisableTransitGatewayRouteTablePropagation = "DisableTransitGatewayRouteTablePropagation" // DisableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the @@ -17942,8 +22629,7 @@ func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagatio output = &DisableVgwRoutePropagationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -18102,7 +22788,7 @@ func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLin // Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve // to public IP addresses when addressed between a linked EC2-Classic instance // and instances in the VPC to which it's linked. For more information, see -// ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) +// ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -18172,8 +22858,7 @@ func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req * output = &DisassociateAddressOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -18183,7 +22868,7 @@ func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req * // it's associated with. // // An Elastic IP address is for use in either the EC2-Classic platform or in -// a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) +// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) // in the Amazon Elastic Compute Cloud User Guide. // // This is an idempotent operation. If you perform the operation more than once, @@ -18217,6 +22902,90 @@ func (c *EC2) DisassociateAddressWithContext(ctx aws.Context, input *Disassociat return out, req.Send() } +const opDisassociateClientVpnTargetNetwork = "DisassociateClientVpnTargetNetwork" + +// DisassociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateClientVpnTargetNetwork operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisassociateClientVpnTargetNetwork for more information on using the DisassociateClientVpnTargetNetwork +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DisassociateClientVpnTargetNetworkRequest method. +// req, resp := client.DisassociateClientVpnTargetNetworkRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork +func (c *EC2) DisassociateClientVpnTargetNetworkRequest(input *DisassociateClientVpnTargetNetworkInput) (req *request.Request, output *DisassociateClientVpnTargetNetworkOutput) { + op := &request.Operation{ + Name: opDisassociateClientVpnTargetNetwork, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateClientVpnTargetNetworkInput{} + } + + output = &DisassociateClientVpnTargetNetworkOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud. +// +// Disassociates a target network from the specified Client VPN endpoint. When +// you disassociate the last target network from a Client VPN, the following +// happens: +// +// * The route that was automatically added for the VPC is deleted +// +// * All active client connections are terminated +// +// * New client connections are disallowed +// +// * The Client VPN endpoint's status changes to pending-associate +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DisassociateClientVpnTargetNetwork for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork +func (c *EC2) DisassociateClientVpnTargetNetwork(input *DisassociateClientVpnTargetNetworkInput) (*DisassociateClientVpnTargetNetworkOutput, error) { + req, out := c.DisassociateClientVpnTargetNetworkRequest(input) + return out, req.Send() +} + +// DisassociateClientVpnTargetNetworkWithContext is the same as DisassociateClientVpnTargetNetwork with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateClientVpnTargetNetwork for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DisassociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *DisassociateClientVpnTargetNetworkInput, opts ...request.Option) (*DisassociateClientVpnTargetNetworkOutput, error) { + req, out := c.DisassociateClientVpnTargetNetworkRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile" // DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the @@ -18332,8 +23101,7 @@ func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) output = &DisassociateRouteTableOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -18343,7 +23111,7 @@ func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) // // After you perform this action, the subnet no longer uses the routes in the // route table. Instead, it uses the routes in the VPC's main route table. For -// more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) +// more information about route tables, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -18604,6 +23372,96 @@ func (c *EC2) DisassociateVpcCidrBlockWithContext(ctx aws.Context, input *Disass return out, req.Send() } +const opEnableEbsEncryptionByDefault = "EnableEbsEncryptionByDefault" + +// EnableEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the +// client's request for the EnableEbsEncryptionByDefault operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See EnableEbsEncryptionByDefault for more information on using the EnableEbsEncryptionByDefault +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the EnableEbsEncryptionByDefaultRequest method. +// req, resp := client.EnableEbsEncryptionByDefaultRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault +func (c *EC2) EnableEbsEncryptionByDefaultRequest(input *EnableEbsEncryptionByDefaultInput) (req *request.Request, output *EnableEbsEncryptionByDefaultOutput) { + op := &request.Operation{ + Name: opEnableEbsEncryptionByDefault, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &EnableEbsEncryptionByDefaultInput{} + } + + output = &EnableEbsEncryptionByDefaultOutput{} + req = c.newRequest(op, input, output) + return +} + +// EnableEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud. +// +// Enables EBS encryption by default for your account in the current Region. +// +// After you enable encryption by default, the EBS volumes that you create are +// are always encrypted, either using the default CMK or the CMK that you specified +// when you created each volume. For more information, see Amazon EBS Encryption +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) +// in the Amazon Elastic Compute Cloud User Guide. +// +// You can specify the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId +// or ResetEbsDefaultKmsKeyId. +// +// Enabling encryption by default has no effect on the encryption status of +// your existing volumes. +// +// After you enable encryption by default, you can no longer launch instances +// using instance types that do not support encryption. For more information, +// see Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation EnableEbsEncryptionByDefault for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault +func (c *EC2) EnableEbsEncryptionByDefault(input *EnableEbsEncryptionByDefaultInput) (*EnableEbsEncryptionByDefaultOutput, error) { + req, out := c.EnableEbsEncryptionByDefaultRequest(input) + return out, req.Send() +} + +// EnableEbsEncryptionByDefaultWithContext is the same as EnableEbsEncryptionByDefault with the addition of +// the ability to pass a context and additional request options. +// +// See EnableEbsEncryptionByDefault for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) EnableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *EnableEbsEncryptionByDefaultInput, opts ...request.Option) (*EnableEbsEncryptionByDefaultOutput, error) { + req, out := c.EnableEbsEncryptionByDefaultRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opEnableTransitGatewayRouteTablePropagation = "EnableTransitGatewayRouteTablePropagation" // EnableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the @@ -18718,8 +23576,7 @@ func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationI output = &EnableVgwRoutePropagationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -18795,8 +23652,7 @@ func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Re output = &EnableVolumeIOOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -18882,7 +23738,7 @@ func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req // You cannot enable your VPC for ClassicLink if any of your VPC route tables // have existing routes for address ranges within the 10.0.0.0/8 IP address // range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16 -// IP address ranges. For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) +// IP address ranges. For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -18962,7 +23818,7 @@ func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkD // IP address when addressed from an instance in the VPC to which it's linked. // Similarly, the DNS hostname of an instance in a VPC resolves to its private // IP address when addressed from a linked EC2-Classic instance. For more information, -// see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) +// see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -18993,6 +23849,158 @@ func (c *EC2) EnableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input * return out, req.Send() } +const opExportClientVpnClientCertificateRevocationList = "ExportClientVpnClientCertificateRevocationList" + +// ExportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the +// client's request for the ExportClientVpnClientCertificateRevocationList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ExportClientVpnClientCertificateRevocationList for more information on using the ExportClientVpnClientCertificateRevocationList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ExportClientVpnClientCertificateRevocationListRequest method. +// req, resp := client.ExportClientVpnClientCertificateRevocationListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList +func (c *EC2) ExportClientVpnClientCertificateRevocationListRequest(input *ExportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ExportClientVpnClientCertificateRevocationListOutput) { + op := &request.Operation{ + Name: opExportClientVpnClientCertificateRevocationList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ExportClientVpnClientCertificateRevocationListInput{} + } + + output = &ExportClientVpnClientCertificateRevocationListOutput{} + req = c.newRequest(op, input, output) + return +} + +// ExportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud. +// +// Downloads the client certificate revocation list for the specified Client +// VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ExportClientVpnClientCertificateRevocationList for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList +func (c *EC2) ExportClientVpnClientCertificateRevocationList(input *ExportClientVpnClientCertificateRevocationListInput) (*ExportClientVpnClientCertificateRevocationListOutput, error) { + req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input) + return out, req.Send() +} + +// ExportClientVpnClientCertificateRevocationListWithContext is the same as ExportClientVpnClientCertificateRevocationList with the addition of +// the ability to pass a context and additional request options. +// +// See ExportClientVpnClientCertificateRevocationList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ExportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ExportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ExportClientVpnClientCertificateRevocationListOutput, error) { + req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opExportClientVpnClientConfiguration = "ExportClientVpnClientConfiguration" + +// ExportClientVpnClientConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the ExportClientVpnClientConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ExportClientVpnClientConfiguration for more information on using the ExportClientVpnClientConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ExportClientVpnClientConfigurationRequest method. +// req, resp := client.ExportClientVpnClientConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration +func (c *EC2) ExportClientVpnClientConfigurationRequest(input *ExportClientVpnClientConfigurationInput) (req *request.Request, output *ExportClientVpnClientConfigurationOutput) { + op := &request.Operation{ + Name: opExportClientVpnClientConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ExportClientVpnClientConfigurationInput{} + } + + output = &ExportClientVpnClientConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// ExportClientVpnClientConfiguration API operation for Amazon Elastic Compute Cloud. +// +// Downloads the contents of the Client VPN endpoint configuration file for +// the specified Client VPN endpoint. The Client VPN endpoint configuration +// file includes the Client VPN endpoint and certificate information clients +// need to establish a connection with the Client VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ExportClientVpnClientConfiguration for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration +func (c *EC2) ExportClientVpnClientConfiguration(input *ExportClientVpnClientConfigurationInput) (*ExportClientVpnClientConfigurationOutput, error) { + req, out := c.ExportClientVpnClientConfigurationRequest(input) + return out, req.Send() +} + +// ExportClientVpnClientConfigurationWithContext is the same as ExportClientVpnClientConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See ExportClientVpnClientConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ExportClientVpnClientConfigurationWithContext(ctx aws.Context, input *ExportClientVpnClientConfigurationInput, opts ...request.Option) (*ExportClientVpnClientConfigurationOutput, error) { + req, out := c.ExportClientVpnClientConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opExportTransitGatewayRoutes = "ExportTransitGatewayRoutes" // ExportTransitGatewayRoutesRequest generates a "aws/request.Request" representing the @@ -19069,6 +24077,78 @@ func (c *EC2) ExportTransitGatewayRoutesWithContext(ctx aws.Context, input *Expo return out, req.Send() } +const opGetCapacityReservationUsage = "GetCapacityReservationUsage" + +// GetCapacityReservationUsageRequest generates a "aws/request.Request" representing the +// client's request for the GetCapacityReservationUsage operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetCapacityReservationUsage for more information on using the GetCapacityReservationUsage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetCapacityReservationUsageRequest method. +// req, resp := client.GetCapacityReservationUsageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsage +func (c *EC2) GetCapacityReservationUsageRequest(input *GetCapacityReservationUsageInput) (req *request.Request, output *GetCapacityReservationUsageOutput) { + op := &request.Operation{ + Name: opGetCapacityReservationUsage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetCapacityReservationUsageInput{} + } + + output = &GetCapacityReservationUsageOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCapacityReservationUsage API operation for Amazon Elastic Compute Cloud. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation GetCapacityReservationUsage for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsage +func (c *EC2) GetCapacityReservationUsage(input *GetCapacityReservationUsageInput) (*GetCapacityReservationUsageOutput, error) { + req, out := c.GetCapacityReservationUsageRequest(input) + return out, req.Send() +} + +// GetCapacityReservationUsageWithContext is the same as GetCapacityReservationUsage with the addition of +// the ability to pass a context and additional request options. +// +// See GetCapacityReservationUsage for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) GetCapacityReservationUsageWithContext(ctx aws.Context, input *GetCapacityReservationUsageInput, opts ...request.Option) (*GetCapacityReservationUsageOutput, error) { + req, out := c.GetCapacityReservationUsageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetConsoleOutput = "GetConsoleOutput" // GetConsoleOutputRequest generates a "aws/request.Request" representing the @@ -19128,7 +24208,7 @@ func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *reques // during the instance lifecycle. This option is supported on instance types // that use the Nitro hypervisor. // -// For more information, see Instance Console Output (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html#instance-console-console-output) +// For more information, see Instance Console Output (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html#instance-console-console-output) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -19235,6 +24315,163 @@ func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsole return out, req.Send() } +const opGetEbsDefaultKmsKeyId = "GetEbsDefaultKmsKeyId" + +// GetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the +// client's request for the GetEbsDefaultKmsKeyId operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetEbsDefaultKmsKeyId for more information on using the GetEbsDefaultKmsKeyId +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetEbsDefaultKmsKeyIdRequest method. +// req, resp := client.GetEbsDefaultKmsKeyIdRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId +func (c *EC2) GetEbsDefaultKmsKeyIdRequest(input *GetEbsDefaultKmsKeyIdInput) (req *request.Request, output *GetEbsDefaultKmsKeyIdOutput) { + op := &request.Operation{ + Name: opGetEbsDefaultKmsKeyId, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetEbsDefaultKmsKeyIdInput{} + } + + output = &GetEbsDefaultKmsKeyIdOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud. +// +// Describes the default customer master key (CMK) for EBS encryption by default +// for your account in this Region. You can change the default CMK for encryption +// by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId. +// +// For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) +// in the Amazon Elastic Compute Cloud User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation GetEbsDefaultKmsKeyId for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId +func (c *EC2) GetEbsDefaultKmsKeyId(input *GetEbsDefaultKmsKeyIdInput) (*GetEbsDefaultKmsKeyIdOutput, error) { + req, out := c.GetEbsDefaultKmsKeyIdRequest(input) + return out, req.Send() +} + +// GetEbsDefaultKmsKeyIdWithContext is the same as GetEbsDefaultKmsKeyId with the addition of +// the ability to pass a context and additional request options. +// +// See GetEbsDefaultKmsKeyId for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) GetEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *GetEbsDefaultKmsKeyIdInput, opts ...request.Option) (*GetEbsDefaultKmsKeyIdOutput, error) { + req, out := c.GetEbsDefaultKmsKeyIdRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetEbsEncryptionByDefault = "GetEbsEncryptionByDefault" + +// GetEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the +// client's request for the GetEbsEncryptionByDefault operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetEbsEncryptionByDefault for more information on using the GetEbsEncryptionByDefault +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetEbsEncryptionByDefaultRequest method. +// req, resp := client.GetEbsEncryptionByDefaultRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsEncryptionByDefault +func (c *EC2) GetEbsEncryptionByDefaultRequest(input *GetEbsEncryptionByDefaultInput) (req *request.Request, output *GetEbsEncryptionByDefaultOutput) { + op := &request.Operation{ + Name: opGetEbsEncryptionByDefault, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetEbsEncryptionByDefaultInput{} + } + + output = &GetEbsEncryptionByDefaultOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud. +// +// Describes whether EBS encryption by default is enabled for your account in +// the current Region. +// +// For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) +// in the Amazon Elastic Compute Cloud User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation GetEbsEncryptionByDefault for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsEncryptionByDefault +func (c *EC2) GetEbsEncryptionByDefault(input *GetEbsEncryptionByDefaultInput) (*GetEbsEncryptionByDefaultOutput, error) { + req, out := c.GetEbsEncryptionByDefaultRequest(input) + return out, req.Send() +} + +// GetEbsEncryptionByDefaultWithContext is the same as GetEbsEncryptionByDefault with the addition of +// the ability to pass a context and additional request options. +// +// See GetEbsEncryptionByDefault for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) GetEbsEncryptionByDefaultWithContext(ctx aws.Context, input *GetEbsEncryptionByDefaultInput, opts ...request.Option) (*GetEbsEncryptionByDefaultOutput, error) { + req, out := c.GetEbsEncryptionByDefaultRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview" // GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the @@ -19437,8 +24674,8 @@ func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request. // // The Windows password is generated at boot by the EC2Config service or EC2Launch // scripts (Windows Server 2016 and later). This usually only happens the first -// time an instance is launched. For more information, see EC2Config (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html) -// and EC2Launch (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html) +// time an instance is launched. For more information, see EC2Config (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html) +// and EC2Launch (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html) // in the Amazon Elastic Compute Cloud User Guide. // // For the EC2Config service, the password is not generated for rebundled AMIs @@ -19588,6 +24825,12 @@ func (c *EC2) GetTransitGatewayAttachmentPropagationsRequest(input *GetTransitGa Name: opGetTransitGatewayAttachmentPropagations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -19632,6 +24875,56 @@ func (c *EC2) GetTransitGatewayAttachmentPropagationsWithContext(ctx aws.Context return out, req.Send() } +// GetTransitGatewayAttachmentPropagationsPages iterates over the pages of a GetTransitGatewayAttachmentPropagations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetTransitGatewayAttachmentPropagations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetTransitGatewayAttachmentPropagations operation. +// pageNum := 0 +// err := client.GetTransitGatewayAttachmentPropagationsPages(params, +// func(page *ec2.GetTransitGatewayAttachmentPropagationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) GetTransitGatewayAttachmentPropagationsPages(input *GetTransitGatewayAttachmentPropagationsInput, fn func(*GetTransitGatewayAttachmentPropagationsOutput, bool) bool) error { + return c.GetTransitGatewayAttachmentPropagationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetTransitGatewayAttachmentPropagationsPagesWithContext same as GetTransitGatewayAttachmentPropagationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) GetTransitGatewayAttachmentPropagationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayAttachmentPropagationsInput, fn func(*GetTransitGatewayAttachmentPropagationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetTransitGatewayAttachmentPropagationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetTransitGatewayAttachmentPropagationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetTransitGatewayAttachmentPropagationsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opGetTransitGatewayRouteTableAssociations = "GetTransitGatewayRouteTableAssociations" // GetTransitGatewayRouteTableAssociationsRequest generates a "aws/request.Request" representing the @@ -19663,6 +24956,12 @@ func (c *EC2) GetTransitGatewayRouteTableAssociationsRequest(input *GetTransitGa Name: opGetTransitGatewayRouteTableAssociations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -19707,6 +25006,56 @@ func (c *EC2) GetTransitGatewayRouteTableAssociationsWithContext(ctx aws.Context return out, req.Send() } +// GetTransitGatewayRouteTableAssociationsPages iterates over the pages of a GetTransitGatewayRouteTableAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetTransitGatewayRouteTableAssociations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetTransitGatewayRouteTableAssociations operation. +// pageNum := 0 +// err := client.GetTransitGatewayRouteTableAssociationsPages(params, +// func(page *ec2.GetTransitGatewayRouteTableAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) GetTransitGatewayRouteTableAssociationsPages(input *GetTransitGatewayRouteTableAssociationsInput, fn func(*GetTransitGatewayRouteTableAssociationsOutput, bool) bool) error { + return c.GetTransitGatewayRouteTableAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetTransitGatewayRouteTableAssociationsPagesWithContext same as GetTransitGatewayRouteTableAssociationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) GetTransitGatewayRouteTableAssociationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayRouteTableAssociationsInput, fn func(*GetTransitGatewayRouteTableAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetTransitGatewayRouteTableAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetTransitGatewayRouteTableAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetTransitGatewayRouteTableAssociationsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opGetTransitGatewayRouteTablePropagations = "GetTransitGatewayRouteTablePropagations" // GetTransitGatewayRouteTablePropagationsRequest generates a "aws/request.Request" representing the @@ -19738,6 +25087,12 @@ func (c *EC2) GetTransitGatewayRouteTablePropagationsRequest(input *GetTransitGa Name: opGetTransitGatewayRouteTablePropagations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -19782,6 +25137,134 @@ func (c *EC2) GetTransitGatewayRouteTablePropagationsWithContext(ctx aws.Context return out, req.Send() } +// GetTransitGatewayRouteTablePropagationsPages iterates over the pages of a GetTransitGatewayRouteTablePropagations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetTransitGatewayRouteTablePropagations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetTransitGatewayRouteTablePropagations operation. +// pageNum := 0 +// err := client.GetTransitGatewayRouteTablePropagationsPages(params, +// func(page *ec2.GetTransitGatewayRouteTablePropagationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) GetTransitGatewayRouteTablePropagationsPages(input *GetTransitGatewayRouteTablePropagationsInput, fn func(*GetTransitGatewayRouteTablePropagationsOutput, bool) bool) error { + return c.GetTransitGatewayRouteTablePropagationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetTransitGatewayRouteTablePropagationsPagesWithContext same as GetTransitGatewayRouteTablePropagationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) GetTransitGatewayRouteTablePropagationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayRouteTablePropagationsInput, fn func(*GetTransitGatewayRouteTablePropagationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetTransitGatewayRouteTablePropagationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetTransitGatewayRouteTablePropagationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetTransitGatewayRouteTablePropagationsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opImportClientVpnClientCertificateRevocationList = "ImportClientVpnClientCertificateRevocationList" + +// ImportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the +// client's request for the ImportClientVpnClientCertificateRevocationList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ImportClientVpnClientCertificateRevocationList for more information on using the ImportClientVpnClientCertificateRevocationList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ImportClientVpnClientCertificateRevocationListRequest method. +// req, resp := client.ImportClientVpnClientCertificateRevocationListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList +func (c *EC2) ImportClientVpnClientCertificateRevocationListRequest(input *ImportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ImportClientVpnClientCertificateRevocationListOutput) { + op := &request.Operation{ + Name: opImportClientVpnClientCertificateRevocationList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ImportClientVpnClientCertificateRevocationListInput{} + } + + output = &ImportClientVpnClientCertificateRevocationListOutput{} + req = c.newRequest(op, input, output) + return +} + +// ImportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud. +// +// Uploads a client certificate revocation list to the specified Client VPN +// endpoint. Uploading a client certificate revocation list overwrites the existing +// client certificate revocation list. +// +// Uploading a client certificate revocation list resets existing client connections. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ImportClientVpnClientCertificateRevocationList for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList +func (c *EC2) ImportClientVpnClientCertificateRevocationList(input *ImportClientVpnClientCertificateRevocationListInput) (*ImportClientVpnClientCertificateRevocationListOutput, error) { + req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input) + return out, req.Send() +} + +// ImportClientVpnClientCertificateRevocationListWithContext is the same as ImportClientVpnClientCertificateRevocationList with the addition of +// the ability to pass a context and additional request options. +// +// See ImportClientVpnClientCertificateRevocationList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ImportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ImportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ImportClientVpnClientCertificateRevocationListOutput, error) { + req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opImportImage = "ImportImage" // ImportImageRequest generates a "aws/request.Request" representing the @@ -19828,7 +25311,7 @@ func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, // // Import single or multi-volume disk images or EBS snapshots into an Amazon // Machine Image (AMI). For more information, see Importing a VM as an Image -// Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html) +// Using VM Import/Export (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html) // in the VM Import/Export User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -19906,10 +25389,10 @@ func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Re // Creates an import instance task using metadata from the specified disk image. // ImportInstance only supports single-volume VMs. To import multi-volume VMs, // use ImportImage. For more information, see Importing a Virtual Machine Using -// the Amazon EC2 CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html). +// the Amazon EC2 CLI (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html). // // For information about the import manifest referenced by this API action, -// see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). +// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -19989,7 +25472,7 @@ func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Requ // you create the key pair and give AWS just the public key. The private key // is never transferred between you and AWS. // -// For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) +// For more information about key pairs, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -20139,10 +25622,10 @@ func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Reques // ImportVolume API operation for Amazon Elastic Compute Cloud. // // Creates an import volume task using metadata from the specified disk image.For -// more information, see Importing Disks to Amazon EBS (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html). +// more information, see Importing Disks to Amazon EBS (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html). // // For information about the import manifest referenced by this API action, -// see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). +// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -20251,6 +25734,169 @@ func (c *EC2) ModifyCapacityReservationWithContext(ctx aws.Context, input *Modif return out, req.Send() } +const opModifyClientVpnEndpoint = "ModifyClientVpnEndpoint" + +// ModifyClientVpnEndpointRequest generates a "aws/request.Request" representing the +// client's request for the ModifyClientVpnEndpoint operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ModifyClientVpnEndpoint for more information on using the ModifyClientVpnEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ModifyClientVpnEndpointRequest method. +// req, resp := client.ModifyClientVpnEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint +func (c *EC2) ModifyClientVpnEndpointRequest(input *ModifyClientVpnEndpointInput) (req *request.Request, output *ModifyClientVpnEndpointOutput) { + op := &request.Operation{ + Name: opModifyClientVpnEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyClientVpnEndpointInput{} + } + + output = &ModifyClientVpnEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyClientVpnEndpoint API operation for Amazon Elastic Compute Cloud. +// +// Modifies the specified Client VPN endpoint. You can only modify an endpoint's +// server certificate information, client connection logging information, DNS +// server, and description. Modifying the DNS server resets existing client +// connections. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyClientVpnEndpoint for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint +func (c *EC2) ModifyClientVpnEndpoint(input *ModifyClientVpnEndpointInput) (*ModifyClientVpnEndpointOutput, error) { + req, out := c.ModifyClientVpnEndpointRequest(input) + return out, req.Send() +} + +// ModifyClientVpnEndpointWithContext is the same as ModifyClientVpnEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyClientVpnEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ModifyClientVpnEndpointWithContext(ctx aws.Context, input *ModifyClientVpnEndpointInput, opts ...request.Option) (*ModifyClientVpnEndpointOutput, error) { + req, out := c.ModifyClientVpnEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opModifyEbsDefaultKmsKeyId = "ModifyEbsDefaultKmsKeyId" + +// ModifyEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the +// client's request for the ModifyEbsDefaultKmsKeyId operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ModifyEbsDefaultKmsKeyId for more information on using the ModifyEbsDefaultKmsKeyId +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ModifyEbsDefaultKmsKeyIdRequest method. +// req, resp := client.ModifyEbsDefaultKmsKeyIdRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId +func (c *EC2) ModifyEbsDefaultKmsKeyIdRequest(input *ModifyEbsDefaultKmsKeyIdInput) (req *request.Request, output *ModifyEbsDefaultKmsKeyIdOutput) { + op := &request.Operation{ + Name: opModifyEbsDefaultKmsKeyId, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyEbsDefaultKmsKeyIdInput{} + } + + output = &ModifyEbsDefaultKmsKeyIdOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud. +// +// Changes the default customer master key (CMK) for EBS encryption by default +// for your account in this Region. +// +// AWS creates a unique AWS managed CMK in each Region for use with encryption +// by default. If you change the default CMK to a customer managed CMK, it is +// used instead of the AWS managed CMK. To reset the default CMK to the AWS +// managed CMK for EBS, use ResetEbsDefaultKmsKeyId. +// +// If you delete or disable the customer managed CMK that you specified for +// use with encryption by default, your instances will fail to launch. +// +// For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) +// in the Amazon Elastic Compute Cloud User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyEbsDefaultKmsKeyId for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId +func (c *EC2) ModifyEbsDefaultKmsKeyId(input *ModifyEbsDefaultKmsKeyIdInput) (*ModifyEbsDefaultKmsKeyIdOutput, error) { + req, out := c.ModifyEbsDefaultKmsKeyIdRequest(input) + return out, req.Send() +} + +// ModifyEbsDefaultKmsKeyIdWithContext is the same as ModifyEbsDefaultKmsKeyId with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyEbsDefaultKmsKeyId for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ModifyEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *ModifyEbsDefaultKmsKeyIdInput, opts ...request.Option) (*ModifyEbsDefaultKmsKeyIdOutput, error) { + req, out := c.ModifyEbsDefaultKmsKeyIdRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyFleet = "ModifyFleet" // ModifyFleetRequest generates a "aws/request.Request" representing the @@ -20520,14 +26166,13 @@ func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Re output = &ModifyIdFormatOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // ModifyIdFormat API operation for Amazon Elastic Compute Cloud. // -// Modifies the ID format for the specified resource on a per-region basis. +// Modifies the ID format for the specified resource on a per-Region basis. // You can specify that resources should receive longer IDs (17-character IDs) // when they are created. // @@ -20544,7 +26189,7 @@ func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Re // to the entire AWS account. By default, an IAM user defaults to the same settings // as the root user. If you're using this action as the root user, then these // settings apply to the entire account, unless an IAM user explicitly overrides -// these settings for themselves. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html) +// these settings for themselves. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html) // in the Amazon Elastic Compute Cloud User Guide. // // Resources created with longer IDs are visible to all IAM roles and users, @@ -20618,8 +26263,7 @@ func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) output = &ModifyIdentityIdFormatOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -20639,7 +26283,7 @@ func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) // | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway. // -// For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html) +// For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html) // in the Amazon Elastic Compute Cloud User Guide. // // This setting applies to the principal specified in the request; it does not @@ -20716,8 +26360,7 @@ func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req output = &ModifyImageAttributeOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -20801,8 +26444,7 @@ func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput output = &ModifyInstanceAttributeOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -20818,7 +26460,7 @@ func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput // we recommend that you use the ModifyNetworkInterfaceAttribute action. // // To modify some attributes, the instance must be stopped. For more information, -// see Modifying Attributes of a Stopped Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html) +// see Modifying Attributes of a Stopped Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -20973,7 +26615,7 @@ func (c *EC2) ModifyInstanceCreditSpecificationRequest(input *ModifyInstanceCred // Modifies the credit option for CPU usage on a running or stopped T2 or T3 // instance. The credit options are standard and unlimited. // -// For more information, see Burstable Performance Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) +// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -21004,6 +26646,80 @@ func (c *EC2) ModifyInstanceCreditSpecificationWithContext(ctx aws.Context, inpu return out, req.Send() } +const opModifyInstanceEventStartTime = "ModifyInstanceEventStartTime" + +// ModifyInstanceEventStartTimeRequest generates a "aws/request.Request" representing the +// client's request for the ModifyInstanceEventStartTime operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ModifyInstanceEventStartTime for more information on using the ModifyInstanceEventStartTime +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ModifyInstanceEventStartTimeRequest method. +// req, resp := client.ModifyInstanceEventStartTimeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime +func (c *EC2) ModifyInstanceEventStartTimeRequest(input *ModifyInstanceEventStartTimeInput) (req *request.Request, output *ModifyInstanceEventStartTimeOutput) { + op := &request.Operation{ + Name: opModifyInstanceEventStartTime, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyInstanceEventStartTimeInput{} + } + + output = &ModifyInstanceEventStartTimeOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyInstanceEventStartTime API operation for Amazon Elastic Compute Cloud. +// +// Modifies the start time for a scheduled Amazon EC2 instance event. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyInstanceEventStartTime for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime +func (c *EC2) ModifyInstanceEventStartTime(input *ModifyInstanceEventStartTimeInput) (*ModifyInstanceEventStartTimeOutput, error) { + req, out := c.ModifyInstanceEventStartTimeRequest(input) + return out, req.Send() +} + +// ModifyInstanceEventStartTimeWithContext is the same as ModifyInstanceEventStartTime with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyInstanceEventStartTime for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ModifyInstanceEventStartTimeWithContext(ctx aws.Context, input *ModifyInstanceEventStartTimeInput, opts ...request.Option) (*ModifyInstanceEventStartTimeOutput, error) { + req, out := c.ModifyInstanceEventStartTimeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyInstancePlacement = "ModifyInstancePlacement" // ModifyInstancePlacementRequest generates a "aws/request.Request" representing the @@ -21051,7 +26767,7 @@ func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput // Modifies the placement attributes for a specified instance. You can do the // following: // -// * Modify the affinity between an instance and a Dedicated Host (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html). +// * Modify the affinity between an instance and a Dedicated Host (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html). // When affinity is set to host and the instance is not associated with a // specific Dedicated Host, the next time the instance is launched, it is // automatically associated with the host on which it lands. If the instance @@ -21062,14 +26778,14 @@ func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput // * Change the instance tenancy of an instance from host to dedicated, or // from dedicated to host. // -// * Move an instance to or from a placement group (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html). +// * Move an instance to or from a placement group (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html). // // At least one attribute for affinity, host ID, tenancy, or placement group // name must be specified in the request. Affinity and tenancy can be modified // in the same request. // -// To modify the host ID, tenancy, or placement group for an instance, the instance -// must be in the stopped state. +// To modify the host ID, tenancy, placement group, or partition for an instance, +// the instance must be in the stopped state. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -21214,15 +26930,15 @@ func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfa output = &ModifyNetworkInterfaceAttributeOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud. // // Modifies the specified network interface attribute. You can specify only -// one attribute at a time. +// one attribute at a time. You can use this action to attach and detach security +// groups from an existing EC2 instance. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -21301,7 +27017,7 @@ func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput // Instances to be modified must be identical, except for Availability Zone, // network platform, and instance type. // -// For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) +// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -21371,8 +27087,7 @@ func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput output = &ModifySnapshotAttributeOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -21380,16 +27095,15 @@ func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput // // Adds or removes permission settings for the specified snapshot. You may add // or remove specified AWS account IDs from a snapshot's list of create volume -// permissions, but you cannot do both in a single API call. If you need to -// both add and remove account IDs for a snapshot, you must use multiple API -// calls. +// permissions, but you cannot do both in a single operation. If you need to +// both add and remove account IDs for a snapshot, you must use multiple operations. // // Encrypted snapshots and snapshots with AWS Marketplace product codes cannot // be made public. Snapshots encrypted with your default CMK cannot be shared // with other accounts. // // For more information about modifying snapshot permissions, see Sharing Snapshots -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -21466,6 +27180,8 @@ func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) // // Modifies the specified Spot Fleet request. // +// You can only modify a Spot Fleet request of type maintain. +// // While the Spot Fleet request is being modified, it is in the modifying state. // // To scale up your Spot Fleet, increase its target capacity. The Spot Fleet @@ -21555,8 +27271,7 @@ func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (r output = &ModifySubnetAttributeOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -21592,6 +27307,241 @@ func (c *EC2) ModifySubnetAttributeWithContext(ctx aws.Context, input *ModifySub return out, req.Send() } +const opModifyTrafficMirrorFilterNetworkServices = "ModifyTrafficMirrorFilterNetworkServices" + +// ModifyTrafficMirrorFilterNetworkServicesRequest generates a "aws/request.Request" representing the +// client's request for the ModifyTrafficMirrorFilterNetworkServices operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ModifyTrafficMirrorFilterNetworkServices for more information on using the ModifyTrafficMirrorFilterNetworkServices +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ModifyTrafficMirrorFilterNetworkServicesRequest method. +// req, resp := client.ModifyTrafficMirrorFilterNetworkServicesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterNetworkServices +func (c *EC2) ModifyTrafficMirrorFilterNetworkServicesRequest(input *ModifyTrafficMirrorFilterNetworkServicesInput) (req *request.Request, output *ModifyTrafficMirrorFilterNetworkServicesOutput) { + op := &request.Operation{ + Name: opModifyTrafficMirrorFilterNetworkServices, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyTrafficMirrorFilterNetworkServicesInput{} + } + + output = &ModifyTrafficMirrorFilterNetworkServicesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyTrafficMirrorFilterNetworkServices API operation for Amazon Elastic Compute Cloud. +// +// Allows or restricts mirroring network services. +// +// By default, Amazon DNS network services are not eligible for Traffic Mirror. +// Use AddNetworkServices to add network services to a Traffic Mirror filter. +// When a network service is added to the Traffic Mirror filter, all traffic +// related to that network service will be mirrored. When you no longer want +// to mirror network services, use RemoveNetworkServices to remove the network +// services from the Traffic Mirror filter. +// +// FFor information about filter rule properties, see Network Services (https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html#traffic-mirroring-network-services) +// in the Traffic Mirroring User Guide . +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyTrafficMirrorFilterNetworkServices for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterNetworkServices +func (c *EC2) ModifyTrafficMirrorFilterNetworkServices(input *ModifyTrafficMirrorFilterNetworkServicesInput) (*ModifyTrafficMirrorFilterNetworkServicesOutput, error) { + req, out := c.ModifyTrafficMirrorFilterNetworkServicesRequest(input) + return out, req.Send() +} + +// ModifyTrafficMirrorFilterNetworkServicesWithContext is the same as ModifyTrafficMirrorFilterNetworkServices with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyTrafficMirrorFilterNetworkServices for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ModifyTrafficMirrorFilterNetworkServicesWithContext(ctx aws.Context, input *ModifyTrafficMirrorFilterNetworkServicesInput, opts ...request.Option) (*ModifyTrafficMirrorFilterNetworkServicesOutput, error) { + req, out := c.ModifyTrafficMirrorFilterNetworkServicesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opModifyTrafficMirrorFilterRule = "ModifyTrafficMirrorFilterRule" + +// ModifyTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the +// client's request for the ModifyTrafficMirrorFilterRule operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ModifyTrafficMirrorFilterRule for more information on using the ModifyTrafficMirrorFilterRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ModifyTrafficMirrorFilterRuleRequest method. +// req, resp := client.ModifyTrafficMirrorFilterRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterRule +func (c *EC2) ModifyTrafficMirrorFilterRuleRequest(input *ModifyTrafficMirrorFilterRuleInput) (req *request.Request, output *ModifyTrafficMirrorFilterRuleOutput) { + op := &request.Operation{ + Name: opModifyTrafficMirrorFilterRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyTrafficMirrorFilterRuleInput{} + } + + output = &ModifyTrafficMirrorFilterRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud. +// +// Modifies the specified Traffic Mirror rule. +// +// DestinationCidrBlock and SourceCidrBlock must both be an IPv4 range or an +// IPv6 range. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyTrafficMirrorFilterRule for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterRule +func (c *EC2) ModifyTrafficMirrorFilterRule(input *ModifyTrafficMirrorFilterRuleInput) (*ModifyTrafficMirrorFilterRuleOutput, error) { + req, out := c.ModifyTrafficMirrorFilterRuleRequest(input) + return out, req.Send() +} + +// ModifyTrafficMirrorFilterRuleWithContext is the same as ModifyTrafficMirrorFilterRule with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyTrafficMirrorFilterRule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ModifyTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *ModifyTrafficMirrorFilterRuleInput, opts ...request.Option) (*ModifyTrafficMirrorFilterRuleOutput, error) { + req, out := c.ModifyTrafficMirrorFilterRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opModifyTrafficMirrorSession = "ModifyTrafficMirrorSession" + +// ModifyTrafficMirrorSessionRequest generates a "aws/request.Request" representing the +// client's request for the ModifyTrafficMirrorSession operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ModifyTrafficMirrorSession for more information on using the ModifyTrafficMirrorSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ModifyTrafficMirrorSessionRequest method. +// req, resp := client.ModifyTrafficMirrorSessionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorSession +func (c *EC2) ModifyTrafficMirrorSessionRequest(input *ModifyTrafficMirrorSessionInput) (req *request.Request, output *ModifyTrafficMirrorSessionOutput) { + op := &request.Operation{ + Name: opModifyTrafficMirrorSession, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyTrafficMirrorSessionInput{} + } + + output = &ModifyTrafficMirrorSessionOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyTrafficMirrorSession API operation for Amazon Elastic Compute Cloud. +// +// Modifies a Traffic Mirror session. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyTrafficMirrorSession for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorSession +func (c *EC2) ModifyTrafficMirrorSession(input *ModifyTrafficMirrorSessionInput) (*ModifyTrafficMirrorSessionOutput, error) { + req, out := c.ModifyTrafficMirrorSessionRequest(input) + return out, req.Send() +} + +// ModifyTrafficMirrorSessionWithContext is the same as ModifyTrafficMirrorSession with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyTrafficMirrorSession for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ModifyTrafficMirrorSessionWithContext(ctx aws.Context, input *ModifyTrafficMirrorSessionInput, opts ...request.Option) (*ModifyTrafficMirrorSessionOutput, error) { + req, out := c.ModifyTrafficMirrorSessionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyTransitGatewayVpcAttachment = "ModifyTransitGatewayVpcAttachment" // ModifyTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the @@ -21715,29 +27665,29 @@ func (c *EC2) ModifyVolumeRequest(input *ModifyVolumeInput) (req *request.Reques // current-generation EC2 instance type, you may be able to apply these changes // without stopping the instance or detaching the volume from it. For more information // about modifying an EBS volume running Linux, see Modifying the Size, IOPS, -// or Type of an EBS Volume on Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html). +// or Type of an EBS Volume on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html). // For more information about modifying an EBS volume running Windows, see Modifying -// the Size, IOPS, or Type of an EBS Volume on Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html). +// the Size, IOPS, or Type of an EBS Volume on Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html). // // When you complete a resize operation on your volume, you need to extend the // volume's file-system size to take advantage of the new storage capacity. // For information about extending a Linux file system, see Extending a Linux -// File System (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux). +// File System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux). // For information about extending a Windows file system, see Extending a Windows -// File System (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows). +// File System (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows). // // You can use CloudWatch Events to check the status of a modification to an // EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch -// Events User Guide (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/). -// You can also track the status of a modification using the DescribeVolumesModifications -// API. For information about tracking status changes using either method, see -// Monitoring Volume Modifications (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods). +// Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/). +// You can also track the status of a modification using DescribeVolumesModifications. +// For information about tracking status changes using either method, see Monitoring +// Volume Modifications (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods). // // With previous-generation instance types, resizing an EBS volume may require // detaching and reattaching the volume or stopping and restarting the instance. // For more information, see Modifying the Size, IOPS, or Type of an EBS Volume -// on Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html) -// and Modifying the Size, IOPS, or Type of an EBS Volume on Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html). +// on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html) +// and Modifying the Size, IOPS, or Type of an EBS Volume on Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html). // // If you reach the maximum volume modification rate per volume limit, you will // need to wait at least six hours before applying further modifications to @@ -21810,8 +27760,7 @@ func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (r output = &ModifyVolumeAttributeOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -21895,8 +27844,7 @@ func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *re output = &ModifyVpcAttributeOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -21978,7 +27926,7 @@ func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *requ // // Modifies attributes of a specified VPC endpoint. The attributes that you // can modify depend on the type of VPC endpoint (interface or gateway). For -// more information, see VPC Endpoints (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html) +// more information, see VPC Endpoints (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -22206,7 +28154,7 @@ func (c *EC2) ModifyVpcEndpointServicePermissionsRequest(input *ModifyVpcEndpoin // ModifyVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud. // -// Modifies the permissions for your VPC endpoint service (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/endpoint-service.html). +// Modifies the permissions for your VPC endpoint service (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html). // You can add or remove permissions for service consumers (IAM users, IAM roles, // and AWS accounts) to connect to your endpoint service. // @@ -22303,11 +28251,11 @@ func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringCo // If the peered VPCs are in the same AWS account, you can enable DNS resolution // for queries from the local VPC. This ensures that queries from the local // VPC resolve to private IP addresses in the peer VPC. This option is not available -// if the peered VPCs are in different AWS accounts or different regions. For +// if the peered VPCs are in different AWS accounts or different Regions. For // peered VPCs in different AWS accounts, each AWS account owner must initiate // a separate request to modify the peering connection options. For inter-region -// peering connections, you must use the region for the requester VPC to modify -// the requester VPC peering options and the region for the accepter VPC to +// peering connections, you must use the Region for the requester VPC to modify +// the requester VPC peering options and the Region for the accepter VPC to // modify the accepter VPC peering options. To verify which VPCs are the accepter // and the requester for a VPC peering connection, use the DescribeVpcPeeringConnections // command. @@ -22392,7 +28340,7 @@ func (c *EC2) ModifyVpcTenancyRequest(input *ModifyVpcTenancyInput) (req *reques // into the VPC have a tenancy of default, unless you specify otherwise during // launch. The tenancy of any existing instances in the VPC is not affected. // -// For more information, see Dedicated Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html) +// For more information, see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -22423,6 +28371,119 @@ func (c *EC2) ModifyVpcTenancyWithContext(ctx aws.Context, input *ModifyVpcTenan return out, req.Send() } +const opModifyVpnConnection = "ModifyVpnConnection" + +// ModifyVpnConnectionRequest generates a "aws/request.Request" representing the +// client's request for the ModifyVpnConnection operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ModifyVpnConnection for more information on using the ModifyVpnConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ModifyVpnConnectionRequest method. +// req, resp := client.ModifyVpnConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection +func (c *EC2) ModifyVpnConnectionRequest(input *ModifyVpnConnectionInput) (req *request.Request, output *ModifyVpnConnectionOutput) { + op := &request.Operation{ + Name: opModifyVpnConnection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyVpnConnectionInput{} + } + + output = &ModifyVpnConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyVpnConnection API operation for Amazon Elastic Compute Cloud. +// +// Modifies the target gateway of a AWS Site-to-Site VPN connection. The following +// migration options are available: +// +// * An existing virtual private gateway to a new virtual private gateway +// +// * An existing virtual private gateway to a transit gateway +// +// * An existing transit gateway to a new transit gateway +// +// * An existing transit gateway to a virtual private gateway +// +// Before you perform the migration to the new gateway, you must configure the +// new gateway. Use CreateVpnGateway to create a virtual private gateway, or +// CreateTransitGateway to create a transit gateway. +// +// This step is required when you migrate from a virtual private gateway with +// static routes to a transit gateway. +// +// You must delete the static routes before you migrate to the new gateway. +// +// Keep a copy of the static route before you delete it. You will need to add +// back these routes to the transit gateway after the VPN connection migration +// is complete. +// +// After you migrate to the new gateway, you might need to modify your VPC route +// table. Use CreateRoute and DeleteRoute to make the changes described in VPN +// Gateway Target Modification Required VPC Route Table Updates (https://docs.aws.amazon.com/vpn/latest/s2svpn/modify-vpn-target.html#step-update-routing) +// in the AWS Site-to-Site VPN User Guide. +// +// When the new gateway is a transit gateway, modify the transit gateway route +// table to allow traffic between the VPC and the AWS Site-to-Site VPN connection. +// Use CreateTransitGatewayRoute to add the routes. +// +// If you deleted VPN static routes, you must add the static routes to the transit +// gateway route table. +// +// After you perform this operation, the AWS VPN endpoint's IP addresses on +// the AWS side and the tunnel options remain intact. Your s2slong; connection +// will be temporarily unavailable for approximately 10 minutes while we provision +// the new endpoints +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyVpnConnection for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection +func (c *EC2) ModifyVpnConnection(input *ModifyVpnConnectionInput) (*ModifyVpnConnectionOutput, error) { + req, out := c.ModifyVpnConnectionRequest(input) + return out, req.Send() +} + +// ModifyVpnConnectionWithContext is the same as ModifyVpnConnection with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyVpnConnection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ModifyVpnConnectionWithContext(ctx aws.Context, input *ModifyVpnConnectionInput, opts ...request.Option) (*ModifyVpnConnectionOutput, error) { + req, out := c.ModifyVpnConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opMonitorInstances = "MonitorInstances" // MonitorInstancesRequest generates a "aws/request.Request" representing the @@ -22469,7 +28530,7 @@ func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *reques // // Enables detailed monitoring for a running instance. Otherwise, basic monitoring // is enabled. For more information, see Monitoring Your Instances and Volumes -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) // in the Amazon Elastic Compute Cloud User Guide. // // To disable detailed monitoring, see . @@ -22634,7 +28695,7 @@ func (c *EC2) ProvisionByoipCidrRequest(input *ProvisionByoipCidrInput) (req *re // it. You must ensure that the address range is registered to you and that // you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise // the address range. For more information, see Bring Your Own IP Addresses -// (BYOIP) (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) +// (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) // in the Amazon Elastic Compute Cloud User Guide. // // Provisioning an address range is an asynchronous operation, so the call returns @@ -22800,8 +28861,8 @@ func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedIn // offerings that match your specifications. After you've purchased a Reserved // Instance, you can check for your new Reserved Instance with DescribeReservedInstances. // -// For more information, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html) -// and Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) +// For more information, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html) +// and Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -22876,7 +28937,7 @@ func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstance // PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud. // -// Purchases one or more Scheduled Instances with the specified schedule. +// Purchases the Scheduled Instances with the specified schedule. // // Scheduled Instances enable you to purchase Amazon EC2 compute capacity by // the hour for a one-year term. Before you can purchase a Scheduled Instance, @@ -22954,14 +29015,13 @@ func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request. output = &RebootInstancesOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // RebootInstances API operation for Amazon Elastic Compute Cloud. // -// Requests a reboot of one or more instances. This operation is asynchronous; +// Requests a reboot of the specified instances. This operation is asynchronous; // it only queues a request to reboot the specified instances. The operation // succeeds if the instances are valid and belong to you. Requests to reboot // terminated instances are ignored. @@ -22970,7 +29030,7 @@ func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request. // performs a hard reboot. // // For more information about troubleshooting, see Getting Console Output and -// Rebooting Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html) +// Rebooting Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -23047,7 +29107,7 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ // // Registers an AMI. When you're creating an AMI, this is the final step you // must complete before you can launch an instance from the AMI. For more information -// about creating AMIs, see Creating Your Own AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html) +// about creating AMIs, see Creating Your Own AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html) // in the Amazon Elastic Compute Cloud User Guide. // // For Amazon EBS-backed instances, CreateImage creates and registers the AMI @@ -23056,7 +29116,7 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ // You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from // a snapshot of a root device volume. You specify the snapshot using the block // device mapping. For more information, see Launching a Linux Instance from -// a Backup (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html) +// a Backup (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html) // in the Amazon Elastic Compute Cloud User Guide. // // You can't register an image where a secondary (non-root) snapshot has AWS @@ -23376,8 +29436,7 @@ func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Re output = &ReleaseAddressOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -23639,7 +29698,7 @@ func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssoci // // Changes which network ACL a subnet is associated with. By default when you // create a subnet, it's automatically associated with the default network ACL. -// For more information, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) +// For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html) // in the Amazon Virtual Private Cloud User Guide. // // This is an idempotent operation. @@ -23711,16 +29770,15 @@ func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) output = &ReplaceNetworkAclEntryOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud. // // Replaces an entry (rule) in a network ACL. For more information, see Network -// ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) -// in the Amazon Virtual Private Cloud User Guide. +// ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html) in +// the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -23789,8 +29847,7 @@ func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Reques output = &ReplaceRouteOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -23801,7 +29858,7 @@ func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Reques // instance, NAT gateway, VPC peering connection, network interface, or egress-only // internet gateway. // -// For more information, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) +// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -23879,7 +29936,7 @@ func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssoci // Changes the route table associated with a given subnet in a VPC. After the // operation completes, the subnet uses the routes in the new route table it's // associated with. For more information about route tables, see Route Tables -// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) +// (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud User Guide. // // You can also use ReplaceRouteTableAssociation to change which table is the @@ -24027,8 +30084,7 @@ func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req output = &ReportInstanceStatusOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -24137,7 +30193,7 @@ func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *reques // types in a Spot Fleet request because only the instance resource type is // supported. // -// For more information, see Spot Fleet Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html) +// For more information, see Spot Fleet Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html) // in the Amazon EC2 User Guide for Linux Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -24214,7 +30270,7 @@ func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req // // Creates a Spot Instance request. // -// For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) +// For more information, see Spot Instance Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) // in the Amazon EC2 User Guide for Linux Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -24245,6 +30301,86 @@ func (c *EC2) RequestSpotInstancesWithContext(ctx aws.Context, input *RequestSpo return out, req.Send() } +const opResetEbsDefaultKmsKeyId = "ResetEbsDefaultKmsKeyId" + +// ResetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the +// client's request for the ResetEbsDefaultKmsKeyId operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ResetEbsDefaultKmsKeyId for more information on using the ResetEbsDefaultKmsKeyId +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ResetEbsDefaultKmsKeyIdRequest method. +// req, resp := client.ResetEbsDefaultKmsKeyIdRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId +func (c *EC2) ResetEbsDefaultKmsKeyIdRequest(input *ResetEbsDefaultKmsKeyIdInput) (req *request.Request, output *ResetEbsDefaultKmsKeyIdOutput) { + op := &request.Operation{ + Name: opResetEbsDefaultKmsKeyId, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ResetEbsDefaultKmsKeyIdInput{} + } + + output = &ResetEbsDefaultKmsKeyIdOutput{} + req = c.newRequest(op, input, output) + return +} + +// ResetEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud. +// +// Resets the default customer master key (CMK) for EBS encryption for your +// account in this Region to the AWS managed CMK for EBS. +// +// After resetting the default CMK to the AWS managed CMK, you can continue +// to encrypt by a customer managed CMK by specifying it when you create the +// volume. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) +// in the Amazon Elastic Compute Cloud User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ResetEbsDefaultKmsKeyId for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId +func (c *EC2) ResetEbsDefaultKmsKeyId(input *ResetEbsDefaultKmsKeyIdInput) (*ResetEbsDefaultKmsKeyIdOutput, error) { + req, out := c.ResetEbsDefaultKmsKeyIdRequest(input) + return out, req.Send() +} + +// ResetEbsDefaultKmsKeyIdWithContext is the same as ResetEbsDefaultKmsKeyId with the addition of +// the ability to pass a context and additional request options. +// +// See ResetEbsDefaultKmsKeyId for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ResetEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *ResetEbsDefaultKmsKeyIdInput, opts ...request.Option) (*ResetEbsDefaultKmsKeyIdOutput, error) { + req, out := c.ResetEbsDefaultKmsKeyIdRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opResetFpgaImageAttribute = "ResetFpgaImageAttribute" // ResetFpgaImageAttributeRequest generates a "aws/request.Request" representing the @@ -24359,8 +30495,7 @@ func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req * output = &ResetImageAttributeOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -24437,8 +30572,7 @@ func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) output = &ResetInstanceAttributeOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -24451,7 +30585,7 @@ func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) // The sourceDestCheck attribute controls whether source/destination checking // is enabled. The default value is true, which means checking is enabled. This // value must be false for a NAT instance to perform NAT. For more information, -// see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html) +// see NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html) // in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -24521,8 +30655,7 @@ func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterface output = &ResetNetworkInterfaceAttributeOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -24598,8 +30731,7 @@ func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) output = &ResetSnapshotAttributeOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -24608,7 +30740,7 @@ func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) // Resets permission settings for the specified snapshot. // // For more information about modifying snapshot permissions, see Sharing Snapshots -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -24716,6 +30848,80 @@ func (c *EC2) RestoreAddressToClassicWithContext(ctx aws.Context, input *Restore return out, req.Send() } +const opRevokeClientVpnIngress = "RevokeClientVpnIngress" + +// RevokeClientVpnIngressRequest generates a "aws/request.Request" representing the +// client's request for the RevokeClientVpnIngress operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See RevokeClientVpnIngress for more information on using the RevokeClientVpnIngress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the RevokeClientVpnIngressRequest method. +// req, resp := client.RevokeClientVpnIngressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress +func (c *EC2) RevokeClientVpnIngressRequest(input *RevokeClientVpnIngressInput) (req *request.Request, output *RevokeClientVpnIngressOutput) { + op := &request.Operation{ + Name: opRevokeClientVpnIngress, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RevokeClientVpnIngressInput{} + } + + output = &RevokeClientVpnIngressOutput{} + req = c.newRequest(op, input, output) + return +} + +// RevokeClientVpnIngress API operation for Amazon Elastic Compute Cloud. +// +// Removes an ingress authorization rule from a Client VPN endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation RevokeClientVpnIngress for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress +func (c *EC2) RevokeClientVpnIngress(input *RevokeClientVpnIngressInput) (*RevokeClientVpnIngressOutput, error) { + req, out := c.RevokeClientVpnIngressRequest(input) + return out, req.Send() +} + +// RevokeClientVpnIngressWithContext is the same as RevokeClientVpnIngress with the addition of +// the ability to pass a context and additional request options. +// +// See RevokeClientVpnIngress for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) RevokeClientVpnIngressWithContext(ctx aws.Context, input *RevokeClientVpnIngressInput, opts ...request.Option) (*RevokeClientVpnIngressOutput, error) { + req, out := c.RevokeClientVpnIngressRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress" // RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the @@ -24755,17 +30961,16 @@ func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressI output = &RevokeSecurityGroupEgressOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud. // -// [EC2-VPC only] Removes one or more egress rules from a security group for -// EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic. -// To remove a rule, the values that you specify (for example, ports) must match -// the existing rule's values exactly. +// [VPC only] Removes the specified egress rules from a security group for EC2-VPC. +// This action doesn't apply to security groups for use in EC2-Classic. To remove +// a rule, the values that you specify (for example, ports) must match the existing +// rule's values exactly. // // Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source // security group. For the TCP and UDP protocols, you must also specify the @@ -24843,20 +31048,19 @@ func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngres output = &RevokeSecurityGroupIngressOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud. // -// Removes one or more ingress rules from a security group. To remove a rule, +// Removes the specified ingress rules from a security group. To remove a rule, // the values that you specify (for example, ports) must match the existing // rule's values exactly. // -// [EC2-Classic security groups only] If the values you specify do not match -// the existing rule's values, no error is returned. Use DescribeSecurityGroups -// to verify that the rule has been removed. +// [EC2-Classic only] If the values you specify do not match the existing rule's +// values, no error is returned. Use DescribeSecurityGroups to verify that the +// rule has been removed. // // Each rule consists of the protocol and the CIDR range or source security // group. For the TCP and UDP protocols, you must also specify the destination @@ -24954,22 +31158,22 @@ func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Reques // // * Some instance types must be launched into a VPC. If you do not have // a default VPC, or if you do not specify a subnet ID, the request fails. -// For more information, see Instance Types Available Only in a VPC (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types). +// For more information, see Instance Types Available Only in a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types). // // * [EC2-VPC] All instances have a network interface with a primary private // IPv4 address. If you don't specify this address, we choose one from the // IPv4 range of your subnet. // // * Not all instance types support IPv6 addresses. For more information, -// see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html). +// see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html). // // * If you don't specify a security group ID, we use the default security -// group. For more information, see Security Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html). +// group. For more information, see Security Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html). // // * If any of the AMIs have a product code attached for which the user has // not subscribed, the request fails. // -// You can create a launch template (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html), +// You can create a launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html), // which is a resource that contains the parameters to launch an instance. When // you launch an instance using RunInstances, you can specify the launch template // instead of specifying the launch parameters. @@ -24981,17 +31185,17 @@ func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Reques // An instance is ready for you to use when it's in the running state. You can // check the state of your instance using DescribeInstances. You can tag instances // and EBS volumes during launch, after launch, or both. For more information, -// see CreateTags and Tagging Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html). +// see CreateTags and Tagging Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html). // // Linux instances have access to the public key of the key pair at boot. You // can use this key to provide secure access to the instance. Amazon EC2 public // images use this feature to provide secure access without passwords. For more -// information, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) +// information, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) // in the Amazon Elastic Compute Cloud User Guide. // // For troubleshooting, see What To Do If An Instance Immediately Terminates -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html), -// and Troubleshooting Connecting to Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html) +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html), +// and Troubleshooting Connecting to Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -25075,7 +31279,7 @@ func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (r // can't stop or reboot a Scheduled Instance, but you can terminate it as needed. // If you terminate a Scheduled Instance before the current scheduled time period // ends, you can launch it again after a few minutes. For more information, -// see Scheduled Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html) +// see Scheduled Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -25245,7 +31449,7 @@ func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Re // Performing this operation on an instance that uses an instance store as its // root device returns an error. // -// For more information, see Stopping Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html) +// For more information, see Stopping Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -25323,9 +31527,9 @@ func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Requ // Stops an Amazon EBS-backed instance. // // You can use the Stop action to hibernate an instance if the instance is enabled -// for hibernation (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#enabling-hibernation) -// and it meets the hibernation prerequisites (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). -// For more information, see Hibernate Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) +// for hibernation (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#enabling-hibernation) +// and it meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). +// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. // // We don't charge usage for a stopped instance, or data transfer fees; however, @@ -25340,7 +31544,7 @@ func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Requ // // You can't start, stop, or hibernate Spot Instances, and you can't stop or // hibernate instance store-backed instances. For information about using hibernation -// for Spot Instances, see Hibernating Interrupted Spot Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#hibernate-spot-instances) +// for Spot Instances, see Hibernating Interrupted Spot Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#hibernate-spot-instances) // in the Amazon Elastic Compute Cloud User Guide. // // When you stop or hibernate an instance, we shut it down. You can restart @@ -25356,13 +31560,13 @@ func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Requ // an instance, the root device and any other devices attached during the instance // launch are automatically deleted. For more information about the differences // between rebooting, stopping, hibernating, and terminating instances, see -// Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) +// Instance Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) // in the Amazon Elastic Compute Cloud User Guide. // // When you stop an instance, we attempt to shut it down forcibly after a short // while. If your instance appears stuck in the stopping state after a period // of time, there may be an issue with the underlying host computer. For more -// information, see Troubleshooting Stopping Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html) +// information, see Troubleshooting Stopping Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -25393,6 +31597,82 @@ func (c *EC2) StopInstancesWithContext(ctx aws.Context, input *StopInstancesInpu return out, req.Send() } +const opTerminateClientVpnConnections = "TerminateClientVpnConnections" + +// TerminateClientVpnConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the TerminateClientVpnConnections operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TerminateClientVpnConnections for more information on using the TerminateClientVpnConnections +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TerminateClientVpnConnectionsRequest method. +// req, resp := client.TerminateClientVpnConnectionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections +func (c *EC2) TerminateClientVpnConnectionsRequest(input *TerminateClientVpnConnectionsInput) (req *request.Request, output *TerminateClientVpnConnectionsOutput) { + op := &request.Operation{ + Name: opTerminateClientVpnConnections, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TerminateClientVpnConnectionsInput{} + } + + output = &TerminateClientVpnConnectionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// TerminateClientVpnConnections API operation for Amazon Elastic Compute Cloud. +// +// Terminates active Client VPN endpoint connections. This action can be used +// to terminate a specific client connection, or up to five connections established +// by a specific user. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation TerminateClientVpnConnections for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections +func (c *EC2) TerminateClientVpnConnections(input *TerminateClientVpnConnectionsInput) (*TerminateClientVpnConnectionsOutput, error) { + req, out := c.TerminateClientVpnConnectionsRequest(input) + return out, req.Send() +} + +// TerminateClientVpnConnectionsWithContext is the same as TerminateClientVpnConnections with the addition of +// the ability to pass a context and additional request options. +// +// See TerminateClientVpnConnections for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) TerminateClientVpnConnectionsWithContext(ctx aws.Context, input *TerminateClientVpnConnectionsInput, opts ...request.Option) (*TerminateClientVpnConnectionsOutput, error) { + req, out := c.TerminateClientVpnConnectionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTerminateInstances = "TerminateInstances" // TerminateInstancesRequest generates a "aws/request.Request" representing the @@ -25437,8 +31717,8 @@ func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *re // TerminateInstances API operation for Amazon Elastic Compute Cloud. // -// Shuts down one or more instances. This operation is idempotent; if you terminate -// an instance more than once, each call succeeds. +// Shuts down the specified instances. This operation is idempotent; if you +// terminate an instance more than once, each call succeeds. // // If you specify multiple instances and the request fails (for example, because // of a single incorrect instance ID), none of the instances are terminated. @@ -25456,11 +31736,11 @@ func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *re // an instance, any attached EBS volumes with the DeleteOnTermination block // device mapping parameter set to true are automatically deleted. For more // information about the differences between stopping and terminating instances, -// see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) +// see Instance Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) // in the Amazon Elastic Compute Cloud User Guide. // // For more information about troubleshooting, see Troubleshooting Terminating -// Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html) +// Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -25604,8 +31884,7 @@ func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddresse output = &UnassignPrivateIpAddressesOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -25686,7 +31965,7 @@ func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *re // UnmonitorInstances API operation for Amazon Elastic Compute Cloud. // // Disables detailed monitoring for a running instance. For more information, -// see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) +// see Monitoring Your Instances and Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -25761,7 +32040,7 @@ func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressRequest(input *UpdateSecu // UpdateSecurityGroupRuleDescriptionsEgress API operation for Amazon Elastic Compute Cloud. // -// [EC2-VPC only] Updates the description of an egress (outbound) security group +// [VPC only] Updates the description of an egress (outbound) security group // rule. You can replace an existing description, or add a description to a // rule that did not have one previously. // @@ -26280,7 +32559,7 @@ type AccountAttribute struct { // The name of the account attribute. AttributeName *string `locationName:"attributeName" type:"string"` - // One or more values for the account attribute. + // The values for the account attribute. AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"` } @@ -26493,7 +32772,8 @@ func (s *Address) SetTags(v []*Tag) *Address { type AdvertiseByoipCidrInput struct { _ struct{} `type:"structure"` - // The IPv4 address range, in CIDR notation. + // The IPv4 address range, in CIDR notation. This must be the exact range that + // you provisioned. You can't advertise only a portion of the provisioned range. // // Cidr is a required field Cidr *string `type:"string" required:"true"` @@ -26676,26 +32956,35 @@ func (s *AllocateAddressOutput) SetPublicIpv4Pool(v string) *AllocateAddressOutp type AllocateHostsInput struct { _ struct{} `type:"structure"` - // This is enabled by default. This property allows instances to be automatically - // placed onto available Dedicated Hosts, when you are launching instances without - // specifying a host ID. + // Indicates whether the host accepts any untargeted instance launches that + // match its instance type configuration, or if it only accepts Host tenancy + // instance launches that specify its unique host ID. For more information, + // see Understanding Instance Placement and Host Affinity (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding) + // in the Amazon EC2 User Guide for Linux Instances. // - // Default: Enabled + // Default: on AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"` - // The Availability Zone for the Dedicated Hosts. + // The Availability Zone in which to allocate the Dedicated Host. // // AvailabilityZone is a required field AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) - // in the Amazon Elastic Compute Cloud User Guide. + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `locationName:"clientToken" type:"string"` - // Specify the instance type for which to configure your Dedicated Hosts. When - // you specify the instance type, that is the only instance type that you can - // launch onto that host. + // Indicates whether to enable or disable host recovery for the Dedicated Host. + // Host recovery is disabled by default. For more information, see Host Recovery + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html) + // in the Amazon Elastic Compute Cloud User Guide. + // + // Default: off + HostRecovery *string `type:"string" enum:"HostRecovery"` + + // Specifies the instance type for which to configure your Dedicated Hosts. + // When you specify the instance type, that is the only instance type that you + // can launch onto that host. // // InstanceType is a required field InstanceType *string `locationName:"instanceType" type:"string" required:"true"` @@ -26756,6 +33045,12 @@ func (s *AllocateHostsInput) SetClientToken(v string) *AllocateHostsInput { return s } +// SetHostRecovery sets the HostRecovery field's value. +func (s *AllocateHostsInput) SetHostRecovery(v string) *AllocateHostsInput { + s.HostRecovery = &v + return s +} + // SetInstanceType sets the InstanceType field's value. func (s *AllocateHostsInput) SetInstanceType(v string) *AllocateHostsInput { s.InstanceType = &v @@ -26832,6 +33127,108 @@ func (s *AllowedPrincipal) SetPrincipalType(v string) *AllowedPrincipal { return s } +type ApplySecurityGroupsToClientVpnTargetNetworkInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The IDs of the security groups to apply to the associated target network. + // Up to 5 security groups can be applied to an associated target network. + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list" required:"true"` + + // The ID of the VPC in which the associated target network is located. + // + // VpcId is a required field + VpcId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ApplySecurityGroupsToClientVpnTargetNetworkInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.SecurityGroupIds == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds")) + } + if s.VpcId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetDryRun(v bool) *ApplySecurityGroupsToClientVpnTargetNetworkInput { + s.DryRun = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkInput { + s.SecurityGroupIds = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetVpcId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput { + s.VpcId = &v + return s +} + +type ApplySecurityGroupsToClientVpnTargetNetworkOutput struct { + _ struct{} `type:"structure"` + + // The IDs of the applied security groups. + SecurityGroupIds []*string `locationName:"securityGroupIds" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) GoString() string { + return s.String() +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *ApplySecurityGroupsToClientVpnTargetNetworkOutput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkOutput { + s.SecurityGroupIds = v + return s +} + type AssignIpv6AddressesInput struct { _ struct{} `type:"structure"` @@ -26998,6 +33395,12 @@ func (s *AssignPrivateIpAddressesInput) SetSecondaryPrivateIpAddressCount(v int6 type AssignPrivateIpAddressesOutput struct { _ struct{} `type:"structure"` + + // The private IP addresses assigned to the network interface. + AssignedPrivateIpAddresses []*AssignedPrivateIpAddress `locationName:"assignedPrivateIpAddressesSet" locationNameList:"item" type:"list"` + + // The ID of the network interface. + NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` } // String returns the string representation @@ -27010,6 +33413,42 @@ func (s AssignPrivateIpAddressesOutput) GoString() string { return s.String() } +// SetAssignedPrivateIpAddresses sets the AssignedPrivateIpAddresses field's value. +func (s *AssignPrivateIpAddressesOutput) SetAssignedPrivateIpAddresses(v []*AssignedPrivateIpAddress) *AssignPrivateIpAddressesOutput { + s.AssignedPrivateIpAddresses = v + return s +} + +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *AssignPrivateIpAddressesOutput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesOutput { + s.NetworkInterfaceId = &v + return s +} + +// Describes the private IP addresses assigned to a network interface. +type AssignedPrivateIpAddress struct { + _ struct{} `type:"structure"` + + // The private IP address assigned to the network interface. + PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` +} + +// String returns the string representation +func (s AssignedPrivateIpAddress) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssignedPrivateIpAddress) GoString() string { + return s.String() +} + +// SetPrivateIpAddress sets the PrivateIpAddress field's value. +func (s *AssignedPrivateIpAddress) SetPrivateIpAddress(v string) *AssignedPrivateIpAddress { + s.PrivateIpAddress = &v + return s +} + type AssociateAddressInput struct { _ struct{} `type:"structure"` @@ -27038,6 +33477,9 @@ type AssociateAddressInput struct { // [EC2-VPC] The ID of the network interface. If the instance has more than // one network interface, you must specify a network interface ID. + // + // For EC2-VPC, you can specify either the instance ID or the network interface + // ID, but not both. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` // [EC2-VPC] The primary or secondary private IP address to associate with the @@ -27045,7 +33487,8 @@ type AssociateAddressInput struct { // address is associated with the primary private IP address. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` - // The Elastic IP address. This is required for EC2-Classic. + // The Elastic IP address to associate with the instance. This is required for + // EC2-Classic. PublicIp *string `type:"string"` } @@ -27125,6 +33568,112 @@ func (s *AssociateAddressOutput) SetAssociationId(v string) *AssociateAddressOut return s } +type AssociateClientVpnTargetNetworkInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientToken *string `type:"string" idempotencyToken:"true"` + + // The ID of the Client VPN endpoint. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the subnet to associate with the Client VPN endpoint. + // + // SubnetId is a required field + SubnetId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateClientVpnTargetNetworkInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateClientVpnTargetNetworkInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateClientVpnTargetNetworkInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateClientVpnTargetNetworkInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.SubnetId == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *AssociateClientVpnTargetNetworkInput) SetClientToken(v string) *AssociateClientVpnTargetNetworkInput { + s.ClientToken = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *AssociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *AssociateClientVpnTargetNetworkInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *AssociateClientVpnTargetNetworkInput) SetDryRun(v bool) *AssociateClientVpnTargetNetworkInput { + s.DryRun = &v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *AssociateClientVpnTargetNetworkInput) SetSubnetId(v string) *AssociateClientVpnTargetNetworkInput { + s.SubnetId = &v + return s +} + +type AssociateClientVpnTargetNetworkOutput struct { + _ struct{} `type:"structure"` + + // The unique ID of the target network association. + AssociationId *string `locationName:"associationId" type:"string"` + + // The current state of the target network association. + Status *AssociationStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s AssociateClientVpnTargetNetworkOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateClientVpnTargetNetworkOutput) GoString() string { + return s.String() +} + +// SetAssociationId sets the AssociationId field's value. +func (s *AssociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *AssociateClientVpnTargetNetworkOutput { + s.AssociationId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AssociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *AssociateClientVpnTargetNetworkOutput { + s.Status = v + return s +} + type AssociateDhcpOptionsInput struct { _ struct{} `type:"structure"` @@ -27637,6 +34186,73 @@ func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockO return s } +// Describes a target network that is associated with a Client VPN endpoint. +// A target network is a subnet in a VPC. +type AssociatedTargetNetwork struct { + _ struct{} `type:"structure"` + + // The ID of the subnet. + NetworkId *string `locationName:"networkId" type:"string"` + + // The target network type. + NetworkType *string `locationName:"networkType" type:"string" enum:"AssociatedNetworkType"` +} + +// String returns the string representation +func (s AssociatedTargetNetwork) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociatedTargetNetwork) GoString() string { + return s.String() +} + +// SetNetworkId sets the NetworkId field's value. +func (s *AssociatedTargetNetwork) SetNetworkId(v string) *AssociatedTargetNetwork { + s.NetworkId = &v + return s +} + +// SetNetworkType sets the NetworkType field's value. +func (s *AssociatedTargetNetwork) SetNetworkType(v string) *AssociatedTargetNetwork { + s.NetworkType = &v + return s +} + +// Describes the state of a target network association. +type AssociationStatus struct { + _ struct{} `type:"structure"` + + // The state of the target network association. + Code *string `locationName:"code" type:"string" enum:"AssociationStatusCode"` + + // A message about the status of the target network association, if applicable. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s AssociationStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociationStatus) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *AssociationStatus) SetCode(v string) *AssociationStatus { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *AssociationStatus) SetMessage(v string) *AssociationStatus { + s.Message = &v + return s +} + type AttachClassicLinkVpcInput struct { _ struct{} `type:"structure"` @@ -28137,6 +34753,203 @@ func (s *AttributeValue) SetValue(v string) *AttributeValue { return s } +// Information about an authorization rule. +type AuthorizationRule struct { + _ struct{} `type:"structure"` + + // Indicates whether the authorization rule grants access to all clients. + AccessAll *bool `locationName:"accessAll" type:"boolean"` + + // The ID of the Client VPN endpoint with which the authorization rule is associated. + ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"` + + // A brief description of the authorization rule. + Description *string `locationName:"description" type:"string"` + + // The IPv4 address range, in CIDR notation, of the network to which the authorization + // rule applies. + DestinationCidr *string `locationName:"destinationCidr" type:"string"` + + // The ID of the Active Directory group to which the authorization rule grants + // access. + GroupId *string `locationName:"groupId" type:"string"` + + // The current state of the authorization rule. + Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s AuthorizationRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AuthorizationRule) GoString() string { + return s.String() +} + +// SetAccessAll sets the AccessAll field's value. +func (s *AuthorizationRule) SetAccessAll(v bool) *AuthorizationRule { + s.AccessAll = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *AuthorizationRule) SetClientVpnEndpointId(v string) *AuthorizationRule { + s.ClientVpnEndpointId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AuthorizationRule) SetDescription(v string) *AuthorizationRule { + s.Description = &v + return s +} + +// SetDestinationCidr sets the DestinationCidr field's value. +func (s *AuthorizationRule) SetDestinationCidr(v string) *AuthorizationRule { + s.DestinationCidr = &v + return s +} + +// SetGroupId sets the GroupId field's value. +func (s *AuthorizationRule) SetGroupId(v string) *AuthorizationRule { + s.GroupId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AuthorizationRule) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizationRule { + s.Status = v + return s +} + +type AuthorizeClientVpnIngressInput struct { + _ struct{} `type:"structure"` + + // The ID of the Active Directory group to grant access. + AccessGroupId *string `type:"string"` + + // Indicates whether to grant access to all clients. Use true to grant all clients + // who successfully establish a VPN connection access to the network. + AuthorizeAllGroups *bool `type:"boolean"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientToken *string `type:"string" idempotencyToken:"true"` + + // The ID of the Client VPN endpoint. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // A brief description of the authorization rule. + Description *string `type:"string"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The IPv4 address range, in CIDR notation, of the network for which access + // is being authorized. + // + // TargetNetworkCidr is a required field + TargetNetworkCidr *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AuthorizeClientVpnIngressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AuthorizeClientVpnIngressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AuthorizeClientVpnIngressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AuthorizeClientVpnIngressInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.TargetNetworkCidr == nil { + invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessGroupId sets the AccessGroupId field's value. +func (s *AuthorizeClientVpnIngressInput) SetAccessGroupId(v string) *AuthorizeClientVpnIngressInput { + s.AccessGroupId = &v + return s +} + +// SetAuthorizeAllGroups sets the AuthorizeAllGroups field's value. +func (s *AuthorizeClientVpnIngressInput) SetAuthorizeAllGroups(v bool) *AuthorizeClientVpnIngressInput { + s.AuthorizeAllGroups = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *AuthorizeClientVpnIngressInput) SetClientToken(v string) *AuthorizeClientVpnIngressInput { + s.ClientToken = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *AuthorizeClientVpnIngressInput) SetClientVpnEndpointId(v string) *AuthorizeClientVpnIngressInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AuthorizeClientVpnIngressInput) SetDescription(v string) *AuthorizeClientVpnIngressInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *AuthorizeClientVpnIngressInput) SetDryRun(v bool) *AuthorizeClientVpnIngressInput { + s.DryRun = &v + return s +} + +// SetTargetNetworkCidr sets the TargetNetworkCidr field's value. +func (s *AuthorizeClientVpnIngressInput) SetTargetNetworkCidr(v string) *AuthorizeClientVpnIngressInput { + s.TargetNetworkCidr = &v + return s +} + +type AuthorizeClientVpnIngressOutput struct { + _ struct{} `type:"structure"` + + // The current state of the authorization rule. + Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s AuthorizeClientVpnIngressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AuthorizeClientVpnIngressOutput) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *AuthorizeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizeClientVpnIngressOutput { + s.Status = v + return s +} + type AuthorizeSecurityGroupEgressInput struct { _ struct{} `type:"structure"` @@ -28157,8 +34970,8 @@ type AuthorizeSecurityGroupEgressInput struct { // GroupId is a required field GroupId *string `locationName:"groupId" type:"string" required:"true"` - // One or more sets of IP permissions. You can't specify a destination security - // group and a CIDR IP address range in the same set of permissions. + // The sets of IP permissions. You can't specify a destination security group + // and a CIDR IP address range in the same set of permissions. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"` // Not supported. Use a set of IP permissions to specify the protocol name or @@ -28271,8 +35084,12 @@ func (s AuthorizeSecurityGroupEgressOutput) GoString() string { type AuthorizeSecurityGroupIngressInput struct { _ struct{} `type:"structure"` - // The CIDR IPv4 address range. You can't specify this parameter when specifying - // a source security group. + // The IPv4 address range, in CIDR format. You can't specify this parameter + // when specifying a source security group. To specify an IPv6 address range, + // use a set of IP permissions. + // + // Alternatively, use a set of IP permissions to specify multiple rules and + // a description for the rule. CidrIp *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -28281,9 +35098,12 @@ type AuthorizeSecurityGroupIngressInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 - // type number. For the ICMP/ICMPv6 type number, use -1 to specify all types. - // If you specify all ICMP/ICMPv6 types, you must specify all codes. + // The start of port range for the TCP and UDP protocols, or an ICMP type number. + // For the ICMP type number, use -1 to specify all types. If you specify all + // ICMP types, you must specify all codes. + // + // Alternatively, use a set of IP permissions to specify multiple rules and + // a description for the rule. FromPort *int64 `type:"integer"` // The ID of the security group. You must specify either the security group @@ -28295,16 +35115,18 @@ type AuthorizeSecurityGroupIngressInput struct { // either the security group ID or the security group name in the request. GroupName *string `type:"string"` - // One or more sets of IP permissions. Can be used to specify multiple rules - // in a single command. + // The sets of IP permissions. IpPermissions []*IpPermission `locationNameList:"item" type:"list"` // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)). - // (VPC only) Use -1 to specify all protocols. If you specify -1, or a protocol - // number other than tcp, udp, icmp, or 58 (ICMPv6), traffic on all ports is - // allowed, regardless of any ports you specify. For tcp, udp, and icmp, you - // must specify a port range. For protocol 58 (ICMPv6), you can optionally specify - // a port range; if you don't, traffic for all types and codes is allowed. + // To specify icmpv6, use a set of IP permissions. + // + // [VPC only] Use -1 to specify all protocols. If you specify -1 or a protocol + // other than tcp, udp, or icmp, traffic on all ports is allowed, regardless + // of any ports you specify. + // + // Alternatively, use a set of IP permissions to specify multiple rules and + // a description for the rule. IpProtocol *string `type:"string"` // [EC2-Classic, default VPC] The name of the source security group. You can't @@ -28316,17 +35138,20 @@ type AuthorizeSecurityGroupIngressInput struct { // be in the same VPC. SourceSecurityGroupName *string `type:"string"` - // [EC2-Classic] The AWS account ID for the source security group, if the source - // security group is in a different account. You can't specify this parameter + // [nondefault VPC] The AWS account ID for the source security group, if the + // source security group is in a different account. You can't specify this parameter // in combination with the following parameters: the CIDR IP address range, // the IP protocol, the start of the port range, and the end of the port range. // Creates rules that grant full ICMP, UDP, and TCP access. To create a rule // with a specific IP protocol and port range, use a set of IP permissions instead. SourceSecurityGroupOwnerId *string `type:"string"` - // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code - // number. For the ICMP/ICMPv6 code number, use -1 to specify all codes. If - // you specify all ICMP/ICMPv6 types, you must specify all codes. + // The end of port range for the TCP and UDP protocols, or an ICMP code number. + // For the ICMP code number, use -1 to specify all codes. If you specify all + // ICMP types, you must specify all codes. + // + // Alternatively, use a set of IP permissions to specify multiple rules and + // a description for the rule. ToPort *int64 `type:"integer"` } @@ -28421,7 +35246,7 @@ type AvailabilityZone struct { // Any messages about the Availability Zone. Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"` - // The name of the region. + // The name of the Region. RegionName *string `locationName:"regionName" type:"string"` // The state of the Availability Zone. @@ -29037,7 +35862,6 @@ func (s *CancelCapacityReservationOutput) SetReturn(v bool) *CancelCapacityReser return s } -// Contains the parameters for CancelConversionTask. type CancelConversionTaskInput struct { _ struct{} `type:"structure"` @@ -29111,7 +35935,6 @@ func (s CancelConversionTaskOutput) GoString() string { return s.String() } -// Contains the parameters for CancelExportTask. type CancelExportTaskInput struct { _ struct{} `type:"structure"` @@ -29164,7 +35987,6 @@ func (s CancelExportTaskOutput) GoString() string { return s.String() } -// Contains the parameters for CancelImportTask. type CancelImportTaskInput struct { _ struct{} `type:"structure"` @@ -29209,7 +36031,6 @@ func (s *CancelImportTaskInput) SetImportTaskId(v string) *CancelImportTaskInput return s } -// Contains the output for CancelImportTask. type CancelImportTaskOutput struct { _ struct{} `type:"structure"` @@ -29319,14 +36140,10 @@ type CancelSpotFleetRequestsError struct { _ struct{} `type:"structure"` // The error code. - // - // Code is a required field - Code *string `locationName:"code" type:"string" required:"true" enum:"CancelBatchErrorCode"` + Code *string `locationName:"code" type:"string" enum:"CancelBatchErrorCode"` // The description for the error code. - // - // Message is a required field - Message *string `locationName:"message" type:"string" required:"true"` + Message *string `locationName:"message" type:"string"` } // String returns the string representation @@ -29356,14 +36173,10 @@ type CancelSpotFleetRequestsErrorItem struct { _ struct{} `type:"structure"` // The error. - // - // Error is a required field - Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure" required:"true"` + Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure"` // The ID of the Spot Fleet request. - // - // SpotFleetRequestId is a required field - SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` + SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"` } // String returns the string representation @@ -29492,19 +36305,13 @@ type CancelSpotFleetRequestsSuccessItem struct { _ struct{} `type:"structure"` // The current state of the Spot Fleet request. - // - // CurrentSpotFleetRequestState is a required field - CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"` + CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" enum:"BatchState"` // The previous state of the Spot Fleet request. - // - // PreviousSpotFleetRequestState is a required field - PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"` + PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" enum:"BatchState"` // The ID of the Spot Fleet request. - // - // SpotFleetRequestId is a required field - SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` + SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"` } // String returns the string representation @@ -29650,10 +36457,14 @@ type CapacityReservation struct { // The Availability Zone in which the capacity is reserved. AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"` + // The remaining capacity. Indicates the number of instances that can be launched // in the Capacity Reservation. AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"` + CapacityReservationArn *string `locationName:"capacityReservationArn" type:"string"` + // The ID of the Capacity Reservation. CapacityReservationId *string `locationName:"capacityReservationId" type:"string"` @@ -29708,6 +36519,8 @@ type CapacityReservation struct { // The type of instance for which the Capacity Reservation reserves capacity. InstanceType *string `locationName:"instanceType" type:"string"` + OwnerId *string `locationName:"ownerId" type:"string"` + // The current state of the Capacity Reservation. A Capacity Reservation can // be in one of the following states: // @@ -29762,12 +36575,24 @@ func (s *CapacityReservation) SetAvailabilityZone(v string) *CapacityReservation return s } +// SetAvailabilityZoneId sets the AvailabilityZoneId field's value. +func (s *CapacityReservation) SetAvailabilityZoneId(v string) *CapacityReservation { + s.AvailabilityZoneId = &v + return s +} + // SetAvailableInstanceCount sets the AvailableInstanceCount field's value. func (s *CapacityReservation) SetAvailableInstanceCount(v int64) *CapacityReservation { s.AvailableInstanceCount = &v return s } +// SetCapacityReservationArn sets the CapacityReservationArn field's value. +func (s *CapacityReservation) SetCapacityReservationArn(v string) *CapacityReservation { + s.CapacityReservationArn = &v + return s +} + // SetCapacityReservationId sets the CapacityReservationId field's value. func (s *CapacityReservation) SetCapacityReservationId(v string) *CapacityReservation { s.CapacityReservationId = &v @@ -29822,6 +36647,12 @@ func (s *CapacityReservation) SetInstanceType(v string) *CapacityReservation { return s } +// SetOwnerId sets the OwnerId field's value. +func (s *CapacityReservation) SetOwnerId(v string) *CapacityReservation { + s.OwnerId = &v + return s +} + // SetState sets the State field's value. func (s *CapacityReservation) SetState(v string) *CapacityReservation { s.State = &v @@ -29847,11 +36678,14 @@ func (s *CapacityReservation) SetTotalInstanceCount(v int64) *CapacityReservatio } // Describes an instance's Capacity Reservation targeting option. You can specify -// only one option at a time. Use the CapacityReservationPreference parameter -// to configure the instance to run as an On-Demand Instance or to run in any -// open Capacity Reservation that has matching attributes (instance type, platform, -// Availability Zone). Use the CapacityReservationTarget parameter to explicitly -// target a specific Capacity Reservation. +// only one parameter at a time. If you specify CapacityReservationPreference +// and CapacityReservationTarget, the request fails. +// +// Use the CapacityReservationPreference parameter to configure the instance +// to run as an On-Demand Instance or to run in any open Capacity Reservation +// that has matching attributes (instance type, platform, Availability Zone). +// Use the CapacityReservationTarget parameter to explicitly target a specific +// Capacity Reservation. type CapacityReservationSpecification struct { _ struct{} `type:"structure"` @@ -29984,8 +36818,60 @@ func (s *CapacityReservationTargetResponse) SetCapacityReservationId(v string) * return s } +// Information about the client certificate used for authentication. +type CertificateAuthentication struct { + _ struct{} `type:"structure"` + + // The ARN of the client certificate. + ClientRootCertificateChain *string `locationName:"clientRootCertificateChain" type:"string"` +} + +// String returns the string representation +func (s CertificateAuthentication) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CertificateAuthentication) GoString() string { + return s.String() +} + +// SetClientRootCertificateChain sets the ClientRootCertificateChain field's value. +func (s *CertificateAuthentication) SetClientRootCertificateChain(v string) *CertificateAuthentication { + s.ClientRootCertificateChain = &v + return s +} + +// Information about the client certificate to be used for authentication. +type CertificateAuthenticationRequest struct { + _ struct{} `type:"structure"` + + // The ARN of the client certificate. The certificate must be signed by a certificate + // authority (CA) and it must be provisioned in AWS Certificate Manager (ACM). + ClientRootCertificateChainArn *string `type:"string"` +} + +// String returns the string representation +func (s CertificateAuthenticationRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CertificateAuthenticationRequest) GoString() string { + return s.String() +} + +// SetClientRootCertificateChainArn sets the ClientRootCertificateChainArn field's value. +func (s *CertificateAuthenticationRequest) SetClientRootCertificateChainArn(v string) *CertificateAuthenticationRequest { + s.ClientRootCertificateChainArn = &v + return s +} + // Provides authorization for Amazon to bring a specific IP address range to -// a specific AWS account using bring your own IP addresses (BYOIP). +// a specific AWS account using bring your own IP addresses (BYOIP). For more +// information, see Prepare to Bring Your Address Range to Your AWS Account +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#prepare-for-byoip) +// in the Amazon Elastic Compute Cloud User Guide. type CidrAuthorizationContext struct { _ struct{} `type:"structure"` @@ -30151,9 +37037,7 @@ type ClassicLoadBalancer struct { _ struct{} `type:"structure"` // The name of the load balancer. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + Name *string `locationName:"name" type:"string"` } // String returns the string representation @@ -30166,19 +37050,6 @@ func (s ClassicLoadBalancer) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ClassicLoadBalancer) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ClassicLoadBalancer"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetName sets the Name field's value. func (s *ClassicLoadBalancer) SetName(v string) *ClassicLoadBalancer { s.Name = &v @@ -30191,9 +37062,7 @@ type ClassicLoadBalancersConfig struct { _ struct{} `type:"structure"` // One or more Classic Load Balancers. - // - // ClassicLoadBalancers is a required field - ClassicLoadBalancers []*ClassicLoadBalancer `locationName:"classicLoadBalancers" locationNameList:"item" min:"1" type:"list" required:"true"` + ClassicLoadBalancers []*ClassicLoadBalancer `locationName:"classicLoadBalancers" locationNameList:"item" min:"1" type:"list"` } // String returns the string representation @@ -30209,22 +37078,9 @@ func (s ClassicLoadBalancersConfig) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ClassicLoadBalancersConfig) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ClassicLoadBalancersConfig"} - if s.ClassicLoadBalancers == nil { - invalidParams.Add(request.NewErrParamRequired("ClassicLoadBalancers")) - } if s.ClassicLoadBalancers != nil && len(s.ClassicLoadBalancers) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClassicLoadBalancers", 1)) } - if s.ClassicLoadBalancers != nil { - for i, v := range s.ClassicLoadBalancers { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ClassicLoadBalancers", i), err.(request.ErrInvalidParams)) - } - } - } if invalidParams.Len() > 0 { return invalidParams @@ -30238,6 +37094,40 @@ func (s *ClassicLoadBalancersConfig) SetClassicLoadBalancers(v []*ClassicLoadBal return s } +// Describes the state of a client certificate revocation list. +type ClientCertificateRevocationListStatus struct { + _ struct{} `type:"structure"` + + // The state of the client certificate revocation list. + Code *string `locationName:"code" type:"string" enum:"ClientCertificateRevocationListStatusCode"` + + // A message about the status of the client certificate revocation list, if + // applicable. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ClientCertificateRevocationListStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientCertificateRevocationListStatus) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ClientCertificateRevocationListStatus) SetCode(v string) *ClientCertificateRevocationListStatus { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ClientCertificateRevocationListStatus) SetMessage(v string) *ClientCertificateRevocationListStatus { + s.Message = &v + return s +} + // Describes the client-specific data. type ClientData struct { _ struct{} `type:"structure"` @@ -30289,6 +37179,629 @@ func (s *ClientData) SetUploadStart(v time.Time) *ClientData { return s } +// Describes the authentication methods used by a Client VPN endpoint. Client +// VPN supports Active Directory and mutual authentication. For more information, +// see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication) +// in the AWS Client VPN Administrator Guide. +type ClientVpnAuthentication struct { + _ struct{} `type:"structure"` + + // Information about the Active Directory, if applicable. + ActiveDirectory *DirectoryServiceAuthentication `locationName:"activeDirectory" type:"structure"` + + // Information about the authentication certificates, if applicable. + MutualAuthentication *CertificateAuthentication `locationName:"mutualAuthentication" type:"structure"` + + // The authentication type used. + Type *string `locationName:"type" type:"string" enum:"ClientVpnAuthenticationType"` +} + +// String returns the string representation +func (s ClientVpnAuthentication) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnAuthentication) GoString() string { + return s.String() +} + +// SetActiveDirectory sets the ActiveDirectory field's value. +func (s *ClientVpnAuthentication) SetActiveDirectory(v *DirectoryServiceAuthentication) *ClientVpnAuthentication { + s.ActiveDirectory = v + return s +} + +// SetMutualAuthentication sets the MutualAuthentication field's value. +func (s *ClientVpnAuthentication) SetMutualAuthentication(v *CertificateAuthentication) *ClientVpnAuthentication { + s.MutualAuthentication = v + return s +} + +// SetType sets the Type field's value. +func (s *ClientVpnAuthentication) SetType(v string) *ClientVpnAuthentication { + s.Type = &v + return s +} + +// Describes the authentication method to be used by a Client VPN endpoint. +// Client VPN supports Active Directory and mutual authentication. For more +// information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication) +// in the AWS Client VPN Administrator Guide. +type ClientVpnAuthenticationRequest struct { + _ struct{} `type:"structure"` + + // Information about the Active Directory to be used, if applicable. You must + // provide this information if Type is directory-service-authentication. + ActiveDirectory *DirectoryServiceAuthenticationRequest `type:"structure"` + + // Information about the authentication certificates to be used, if applicable. + // You must provide this information if Type is certificate-authentication. + MutualAuthentication *CertificateAuthenticationRequest `type:"structure"` + + // The type of client authentication to be used. Specify certificate-authentication + // to use certificate-based authentication, or directory-service-authentication + // to use Active Directory authentication. + Type *string `type:"string" enum:"ClientVpnAuthenticationType"` +} + +// String returns the string representation +func (s ClientVpnAuthenticationRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnAuthenticationRequest) GoString() string { + return s.String() +} + +// SetActiveDirectory sets the ActiveDirectory field's value. +func (s *ClientVpnAuthenticationRequest) SetActiveDirectory(v *DirectoryServiceAuthenticationRequest) *ClientVpnAuthenticationRequest { + s.ActiveDirectory = v + return s +} + +// SetMutualAuthentication sets the MutualAuthentication field's value. +func (s *ClientVpnAuthenticationRequest) SetMutualAuthentication(v *CertificateAuthenticationRequest) *ClientVpnAuthenticationRequest { + s.MutualAuthentication = v + return s +} + +// SetType sets the Type field's value. +func (s *ClientVpnAuthenticationRequest) SetType(v string) *ClientVpnAuthenticationRequest { + s.Type = &v + return s +} + +// Describes the state of an authorization rule. +type ClientVpnAuthorizationRuleStatus struct { + _ struct{} `type:"structure"` + + // The state of the authorization rule. + Code *string `locationName:"code" type:"string" enum:"ClientVpnAuthorizationRuleStatusCode"` + + // A message about the status of the authorization rule, if applicable. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ClientVpnAuthorizationRuleStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnAuthorizationRuleStatus) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ClientVpnAuthorizationRuleStatus) SetCode(v string) *ClientVpnAuthorizationRuleStatus { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ClientVpnAuthorizationRuleStatus) SetMessage(v string) *ClientVpnAuthorizationRuleStatus { + s.Message = &v + return s +} + +// Describes a client connection. +type ClientVpnConnection struct { + _ struct{} `type:"structure"` + + // The IP address of the client. + ClientIp *string `locationName:"clientIp" type:"string"` + + // The ID of the Client VPN endpoint to which the client is connected. + ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"` + + // The common name associated with the client. This is either the name of the + // client certificate, or the Active Directory user name. + CommonName *string `locationName:"commonName" type:"string"` + + // The date and time the client connection was terminated. + ConnectionEndTime *string `locationName:"connectionEndTime" type:"string"` + + // The date and time the client connection was established. + ConnectionEstablishedTime *string `locationName:"connectionEstablishedTime" type:"string"` + + // The ID of the client connection. + ConnectionId *string `locationName:"connectionId" type:"string"` + + // The number of bytes received by the client. + EgressBytes *string `locationName:"egressBytes" type:"string"` + + // The number of packets received by the client. + EgressPackets *string `locationName:"egressPackets" type:"string"` + + // The number of bytes sent by the client. + IngressBytes *string `locationName:"ingressBytes" type:"string"` + + // The number of packets sent by the client. + IngressPackets *string `locationName:"ingressPackets" type:"string"` + + // The current state of the client connection. + Status *ClientVpnConnectionStatus `locationName:"status" type:"structure"` + + // The current date and time. + Timestamp *string `locationName:"timestamp" type:"string"` + + // The username of the client who established the client connection. This information + // is only provided if Active Directory client authentication is used. + Username *string `locationName:"username" type:"string"` +} + +// String returns the string representation +func (s ClientVpnConnection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnConnection) GoString() string { + return s.String() +} + +// SetClientIp sets the ClientIp field's value. +func (s *ClientVpnConnection) SetClientIp(v string) *ClientVpnConnection { + s.ClientIp = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *ClientVpnConnection) SetClientVpnEndpointId(v string) *ClientVpnConnection { + s.ClientVpnEndpointId = &v + return s +} + +// SetCommonName sets the CommonName field's value. +func (s *ClientVpnConnection) SetCommonName(v string) *ClientVpnConnection { + s.CommonName = &v + return s +} + +// SetConnectionEndTime sets the ConnectionEndTime field's value. +func (s *ClientVpnConnection) SetConnectionEndTime(v string) *ClientVpnConnection { + s.ConnectionEndTime = &v + return s +} + +// SetConnectionEstablishedTime sets the ConnectionEstablishedTime field's value. +func (s *ClientVpnConnection) SetConnectionEstablishedTime(v string) *ClientVpnConnection { + s.ConnectionEstablishedTime = &v + return s +} + +// SetConnectionId sets the ConnectionId field's value. +func (s *ClientVpnConnection) SetConnectionId(v string) *ClientVpnConnection { + s.ConnectionId = &v + return s +} + +// SetEgressBytes sets the EgressBytes field's value. +func (s *ClientVpnConnection) SetEgressBytes(v string) *ClientVpnConnection { + s.EgressBytes = &v + return s +} + +// SetEgressPackets sets the EgressPackets field's value. +func (s *ClientVpnConnection) SetEgressPackets(v string) *ClientVpnConnection { + s.EgressPackets = &v + return s +} + +// SetIngressBytes sets the IngressBytes field's value. +func (s *ClientVpnConnection) SetIngressBytes(v string) *ClientVpnConnection { + s.IngressBytes = &v + return s +} + +// SetIngressPackets sets the IngressPackets field's value. +func (s *ClientVpnConnection) SetIngressPackets(v string) *ClientVpnConnection { + s.IngressPackets = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ClientVpnConnection) SetStatus(v *ClientVpnConnectionStatus) *ClientVpnConnection { + s.Status = v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *ClientVpnConnection) SetTimestamp(v string) *ClientVpnConnection { + s.Timestamp = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *ClientVpnConnection) SetUsername(v string) *ClientVpnConnection { + s.Username = &v + return s +} + +// Describes the status of a client connection. +type ClientVpnConnectionStatus struct { + _ struct{} `type:"structure"` + + // The state of the client connection. + Code *string `locationName:"code" type:"string" enum:"ClientVpnConnectionStatusCode"` + + // A message about the status of the client connection, if applicable. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ClientVpnConnectionStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnConnectionStatus) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ClientVpnConnectionStatus) SetCode(v string) *ClientVpnConnectionStatus { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ClientVpnConnectionStatus) SetMessage(v string) *ClientVpnConnectionStatus { + s.Message = &v + return s +} + +// Describes a Client VPN endpoint. +type ClientVpnEndpoint struct { + _ struct{} `type:"structure"` + + // Information about the associated target networks. A target network is a subnet + // in a VPC. + // + // Deprecated: This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element. + AssociatedTargetNetworks []*AssociatedTargetNetwork `locationName:"associatedTargetNetwork" locationNameList:"item" deprecated:"true" type:"list"` + + // Information about the authentication method used by the Client VPN endpoint. + AuthenticationOptions []*ClientVpnAuthentication `locationName:"authenticationOptions" locationNameList:"item" type:"list"` + + // The IPv4 address range, in CIDR notation, from which client IP addresses + // are assigned. + ClientCidrBlock *string `locationName:"clientCidrBlock" type:"string"` + + // The ID of the Client VPN endpoint. + ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"` + + // Information about the client connection logging options for the Client VPN + // endpoint. + ConnectionLogOptions *ConnectionLogResponseOptions `locationName:"connectionLogOptions" type:"structure"` + + // The date and time the Client VPN endpoint was created. + CreationTime *string `locationName:"creationTime" type:"string"` + + // The date and time the Client VPN endpoint was deleted, if applicable. + DeletionTime *string `locationName:"deletionTime" type:"string"` + + // A brief description of the endpoint. + Description *string `locationName:"description" type:"string"` + + // The DNS name to be used by clients when connecting to the Client VPN endpoint. + DnsName *string `locationName:"dnsName" type:"string"` + + // Information about the DNS servers to be used for DNS resolution. + DnsServers []*string `locationName:"dnsServer" locationNameList:"item" type:"list"` + + // The ARN of the server certificate. + ServerCertificateArn *string `locationName:"serverCertificateArn" type:"string"` + + // Indicates whether split-tunnel is enabled in the AWS Client VPN endpoint + // endpoint. + // + // For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client + // VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html) + // in the AWS Client VPN Administrator Guide. + SplitTunnel *bool `locationName:"splitTunnel" type:"boolean"` + + // The current state of the Client VPN endpoint. + Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"` + + // Any tags assigned to the Client VPN endpoint. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + + // The transport protocol used by the Client VPN endpoint. + TransportProtocol *string `locationName:"transportProtocol" type:"string" enum:"TransportProtocol"` + + // The protocol used by the VPN session. + VpnProtocol *string `locationName:"vpnProtocol" type:"string" enum:"VpnProtocol"` +} + +// String returns the string representation +func (s ClientVpnEndpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnEndpoint) GoString() string { + return s.String() +} + +// SetAssociatedTargetNetworks sets the AssociatedTargetNetworks field's value. +func (s *ClientVpnEndpoint) SetAssociatedTargetNetworks(v []*AssociatedTargetNetwork) *ClientVpnEndpoint { + s.AssociatedTargetNetworks = v + return s +} + +// SetAuthenticationOptions sets the AuthenticationOptions field's value. +func (s *ClientVpnEndpoint) SetAuthenticationOptions(v []*ClientVpnAuthentication) *ClientVpnEndpoint { + s.AuthenticationOptions = v + return s +} + +// SetClientCidrBlock sets the ClientCidrBlock field's value. +func (s *ClientVpnEndpoint) SetClientCidrBlock(v string) *ClientVpnEndpoint { + s.ClientCidrBlock = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *ClientVpnEndpoint) SetClientVpnEndpointId(v string) *ClientVpnEndpoint { + s.ClientVpnEndpointId = &v + return s +} + +// SetConnectionLogOptions sets the ConnectionLogOptions field's value. +func (s *ClientVpnEndpoint) SetConnectionLogOptions(v *ConnectionLogResponseOptions) *ClientVpnEndpoint { + s.ConnectionLogOptions = v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ClientVpnEndpoint) SetCreationTime(v string) *ClientVpnEndpoint { + s.CreationTime = &v + return s +} + +// SetDeletionTime sets the DeletionTime field's value. +func (s *ClientVpnEndpoint) SetDeletionTime(v string) *ClientVpnEndpoint { + s.DeletionTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ClientVpnEndpoint) SetDescription(v string) *ClientVpnEndpoint { + s.Description = &v + return s +} + +// SetDnsName sets the DnsName field's value. +func (s *ClientVpnEndpoint) SetDnsName(v string) *ClientVpnEndpoint { + s.DnsName = &v + return s +} + +// SetDnsServers sets the DnsServers field's value. +func (s *ClientVpnEndpoint) SetDnsServers(v []*string) *ClientVpnEndpoint { + s.DnsServers = v + return s +} + +// SetServerCertificateArn sets the ServerCertificateArn field's value. +func (s *ClientVpnEndpoint) SetServerCertificateArn(v string) *ClientVpnEndpoint { + s.ServerCertificateArn = &v + return s +} + +// SetSplitTunnel sets the SplitTunnel field's value. +func (s *ClientVpnEndpoint) SetSplitTunnel(v bool) *ClientVpnEndpoint { + s.SplitTunnel = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ClientVpnEndpoint) SetStatus(v *ClientVpnEndpointStatus) *ClientVpnEndpoint { + s.Status = v + return s +} + +// SetTags sets the Tags field's value. +func (s *ClientVpnEndpoint) SetTags(v []*Tag) *ClientVpnEndpoint { + s.Tags = v + return s +} + +// SetTransportProtocol sets the TransportProtocol field's value. +func (s *ClientVpnEndpoint) SetTransportProtocol(v string) *ClientVpnEndpoint { + s.TransportProtocol = &v + return s +} + +// SetVpnProtocol sets the VpnProtocol field's value. +func (s *ClientVpnEndpoint) SetVpnProtocol(v string) *ClientVpnEndpoint { + s.VpnProtocol = &v + return s +} + +// Describes the state of a Client VPN endpoint. +type ClientVpnEndpointStatus struct { + _ struct{} `type:"structure"` + + // The state of the Client VPN endpoint. Possible states include: + // + // * pending-associate - The Client VPN endpoint has been created but no + // target networks have been associated. The Client VPN endpoint cannot accept + // connections. + // + // * available - The Client VPN endpoint has been created and a target network + // has been associated. The Client VPN endpoint can accept connections. + // + // * deleting - The Client VPN endpoint is being deleted. The Client VPN + // endpoint cannot accept connections. + // + // * deleted - The Client VPN endpoint has been deleted. The Client VPN endpoint + // cannot accept connections. + Code *string `locationName:"code" type:"string" enum:"ClientVpnEndpointStatusCode"` + + // A message about the status of the Client VPN endpoint. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ClientVpnEndpointStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnEndpointStatus) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ClientVpnEndpointStatus) SetCode(v string) *ClientVpnEndpointStatus { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ClientVpnEndpointStatus) SetMessage(v string) *ClientVpnEndpointStatus { + s.Message = &v + return s +} + +// Information about a Client VPN endpoint route. +type ClientVpnRoute struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint with which the route is associated. + ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"` + + // A brief description of the route. + Description *string `locationName:"description" type:"string"` + + // The IPv4 address range, in CIDR notation, of the route destination. + DestinationCidr *string `locationName:"destinationCidr" type:"string"` + + // Indicates how the route was associated with the Client VPN endpoint. associate + // indicates that the route was automatically added when the target network + // was associated with the Client VPN endpoint. add-route indicates that the + // route was manually added using the CreateClientVpnRoute action. + Origin *string `locationName:"origin" type:"string"` + + // The current state of the route. + Status *ClientVpnRouteStatus `locationName:"status" type:"structure"` + + // The ID of the subnet through which traffic is routed. + TargetSubnet *string `locationName:"targetSubnet" type:"string"` + + // The route type. + Type *string `locationName:"type" type:"string"` +} + +// String returns the string representation +func (s ClientVpnRoute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnRoute) GoString() string { + return s.String() +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *ClientVpnRoute) SetClientVpnEndpointId(v string) *ClientVpnRoute { + s.ClientVpnEndpointId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ClientVpnRoute) SetDescription(v string) *ClientVpnRoute { + s.Description = &v + return s +} + +// SetDestinationCidr sets the DestinationCidr field's value. +func (s *ClientVpnRoute) SetDestinationCidr(v string) *ClientVpnRoute { + s.DestinationCidr = &v + return s +} + +// SetOrigin sets the Origin field's value. +func (s *ClientVpnRoute) SetOrigin(v string) *ClientVpnRoute { + s.Origin = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ClientVpnRoute) SetStatus(v *ClientVpnRouteStatus) *ClientVpnRoute { + s.Status = v + return s +} + +// SetTargetSubnet sets the TargetSubnet field's value. +func (s *ClientVpnRoute) SetTargetSubnet(v string) *ClientVpnRoute { + s.TargetSubnet = &v + return s +} + +// SetType sets the Type field's value. +func (s *ClientVpnRoute) SetType(v string) *ClientVpnRoute { + s.Type = &v + return s +} + +// Describes the state of a Client VPN endpoint route. +type ClientVpnRouteStatus struct { + _ struct{} `type:"structure"` + + // The state of the Client VPN endpoint route. + Code *string `locationName:"code" type:"string" enum:"ClientVpnRouteStatusCode"` + + // A message about the status of the Client VPN endpoint route, if applicable. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ClientVpnRouteStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClientVpnRouteStatus) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ClientVpnRouteStatus) SetCode(v string) *ClientVpnRouteStatus { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ClientVpnRouteStatus) SetMessage(v string) *ClientVpnRouteStatus { + s.Message = &v + return s +} + type ConfirmProductInstanceInput struct { _ struct{} `type:"structure"` @@ -30387,6 +37900,95 @@ func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstance return s } +// Describes the client connection logging options for the Client VPN endpoint. +type ConnectionLogOptions struct { + _ struct{} `type:"structure"` + + // The name of the CloudWatch Logs log group. + CloudwatchLogGroup *string `type:"string"` + + // The name of the CloudWatch Logs log stream to which the connection data is + // published. + CloudwatchLogStream *string `type:"string"` + + // Indicates whether connection logging is enabled. + Enabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s ConnectionLogOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConnectionLogOptions) GoString() string { + return s.String() +} + +// SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value. +func (s *ConnectionLogOptions) SetCloudwatchLogGroup(v string) *ConnectionLogOptions { + s.CloudwatchLogGroup = &v + return s +} + +// SetCloudwatchLogStream sets the CloudwatchLogStream field's value. +func (s *ConnectionLogOptions) SetCloudwatchLogStream(v string) *ConnectionLogOptions { + s.CloudwatchLogStream = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *ConnectionLogOptions) SetEnabled(v bool) *ConnectionLogOptions { + s.Enabled = &v + return s +} + +// Information about the client connection logging options for a Client VPN +// endpoint. +type ConnectionLogResponseOptions struct { + _ struct{} `type:"structure"` + + // The name of the Amazon CloudWatch Logs log group to which connection logging + // data is published. + CloudwatchLogGroup *string `type:"string"` + + // The name of the Amazon CloudWatch Logs log stream to which connection logging + // data is published. + CloudwatchLogStream *string `type:"string"` + + // Indicates whether client connection logging is enabled for the Client VPN + // endpoint. + Enabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s ConnectionLogResponseOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConnectionLogResponseOptions) GoString() string { + return s.String() +} + +// SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value. +func (s *ConnectionLogResponseOptions) SetCloudwatchLogGroup(v string) *ConnectionLogResponseOptions { + s.CloudwatchLogGroup = &v + return s +} + +// SetCloudwatchLogStream sets the CloudwatchLogStream field's value. +func (s *ConnectionLogResponseOptions) SetCloudwatchLogStream(v string) *ConnectionLogResponseOptions { + s.CloudwatchLogStream = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *ConnectionLogResponseOptions) SetEnabled(v bool) *ConnectionLogResponseOptions { + s.Enabled = &v + return s +} + // Describes a connection notification for a VPC endpoint or VPC endpoint service. type ConnectionNotification struct { _ struct{} `type:"structure"` @@ -30551,7 +38153,7 @@ type CopyFpgaImageInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). + // of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // The description for the new AFI. @@ -30571,7 +38173,7 @@ type CopyFpgaImageInput struct { // SourceFpgaImageId is a required field SourceFpgaImageId *string `type:"string" required:"true"` - // The region that contains the source AFI. + // The Region that contains the source AFI. // // SourceRegion is a required field SourceRegion *string `type:"string" required:"true"` @@ -30667,11 +38269,11 @@ type CopyImageInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) + // request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) // in the Amazon Elastic Compute Cloud User Guide. ClientToken *string `type:"string"` - // A description for the new AMI in the destination region. + // A description for the new AMI in the destination Region. Description *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -30685,8 +38287,8 @@ type CopyImageInput struct { // create an unencrypted copy of an encrypted snapshot. The default CMK for // EBS is used unless you specify a non-default AWS Key Management Service (AWS // KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption - // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) in - // the Amazon Elastic Compute Cloud User Guide. + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) + // in the Amazon Elastic Compute Cloud User Guide. Encrypted *bool `locationName:"encrypted" type:"boolean"` // An identifier for the AWS Key Management Service (AWS KMS) customer master @@ -30695,31 +38297,26 @@ type CopyImageInput struct { // the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted // flag must also be set. // - // The CMK identifier may be provided in any of the following formats: - // - // * Key ID + // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, + // or alias ARN. When using an alias name, prefix it with "alias/". For example: // - // * Key alias, in the form alias/ExampleAlias + // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab // - // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed - // by the region of the CMK, the AWS account ID of the CMK owner, the key - // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. + // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab // + // * Alias name: alias/ExampleAlias // - // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace, - // followed by the region of the CMK, the AWS account ID of the CMK owner, - // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. - // + // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias // // AWS parses KmsKeyId asynchronously, meaning that the action you call may // appear to complete even though you provided an invalid identifier. This action // will eventually report failure. // - // The specified CMK must exist in the region that the snapshot is being copied + // The specified CMK must exist in the Region that the snapshot is being copied // to. KmsKeyId *string `locationName:"kmsKeyId" type:"string"` - // The name of the new AMI in the destination region. + // The name of the new AMI in the destination Region. // // Name is a required field Name *string `type:"string" required:"true"` @@ -30729,7 +38326,7 @@ type CopyImageInput struct { // SourceImageId is a required field SourceImageId *string `type:"string" required:"true"` - // The name of the region that contains the AMI to copy. + // The name of the Region that contains the AMI to copy. // // SourceRegion is a required field SourceRegion *string `type:"string" required:"true"` @@ -30843,13 +38440,13 @@ type CopySnapshotInput struct { // A description for the EBS snapshot. Description *string `type:"string"` - // The destination region to use in the PresignedUrl parameter of a snapshot + // The destination Region to use in the PresignedUrl parameter of a snapshot // copy operation. This parameter is only valid for specifying the destination - // region in a PresignedUrl parameter, where it is required. + // Region in a PresignedUrl parameter, where it is required. // // The snapshot copy is sent to the regional endpoint that you sent the HTTP // request to (for example, ec2.us-east-1.amazonaws.com). With the AWS CLI, - // this is specified using the --region parameter or the default region in your + // this is specified using the --region parameter or the default Region in your // AWS configuration file. DestinationRegion *string `locationName:"destinationRegion" type:"string"` @@ -30859,57 +38456,50 @@ type CopySnapshotInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // Specifies whether the destination snapshot should be encrypted. You can encrypt - // a copy of an unencrypted snapshot, but you cannot use it to create an unencrypted - // copy of an encrypted snapshot. Your default CMK for EBS is used unless you - // specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. - // For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) + // To encrypt a copy of an unencrypted snapshot if encryption by default is + // not enabled, enable encryption using this parameter. Otherwise, omit this + // parameter. Encrypted snapshots are encrypted, even if you omit this parameter + // and encryption by default is not enabled. You cannot set this parameter to + // false. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) // in the Amazon Elastic Compute Cloud User Guide. Encrypted *bool `locationName:"encrypted" type:"boolean"` - // An identifier for the AWS Key Management Service (AWS KMS) customer master - // key (CMK) to use when creating the encrypted volume. This parameter is only - // required if you want to use a non-default CMK; if this parameter is not specified, - // the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted - // flag must also be set. - // - // The CMK identifier may be provided in any of the following formats: - // - // * Key ID + // The identifier of the AWS Key Management Service (AWS KMS) customer master + // key (CMK) to use for Amazon EBS encryption. If this parameter is not specified, + // your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted + // state must be true. // - // * Key alias + // You can specify the CMK using any of the following: // - // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed - // by the region of the CMK, the AWS account ID of the CMK owner, the key - // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. + // * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab. // + // * Key alias. For example, alias/ExampleAlias. // - // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace, - // followed by the region of the CMK, the AWS account ID of the CMK owner, - // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. + // * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. // + // * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. // - // AWS parses KmsKeyId asynchronously, meaning that the action you call may - // appear to complete even though you provided an invalid identifier. The action - // will eventually fail. + // AWS authenticates the CMK asynchronously. Therefore, if you specify an ID, + // alias, or ARN that is not valid, the action can appear to complete, but eventually + // fails. KmsKeyId *string `locationName:"kmsKeyId" type:"string"` // When you copy an encrypted source snapshot using the Amazon EC2 Query API, // you must supply a pre-signed URL. This parameter is optional for unencrypted - // snapshots. For more information, see Query Requests (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html). + // snapshots. For more information, see Query Requests (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html). // // The PresignedUrl should use the snapshot source endpoint, the CopySnapshot // action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion // parameters. The PresignedUrl must be signed using AWS Signature Version 4. // Because EBS snapshots are stored in Amazon S3, the signing algorithm for // this parameter uses the same logic that is described in Authenticating Requests - // by Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) + // by Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) // in the Amazon Simple Storage Service API Reference. An invalid or improperly // signed PresignedUrl will cause the copy operation to fail asynchronously, // and the snapshot will move to an error state. PresignedUrl *string `locationName:"presignedUrl" type:"string"` - // The ID of the region that contains the snapshot to be copied. + // The ID of the Region that contains the snapshot to be copied. // // SourceRegion is a required field SourceRegion *string `type:"string" required:"true"` @@ -31091,12 +38681,12 @@ type CreateCapacityReservationInput struct { _ struct{} `type:"structure"` // The Availability Zone in which to create the Capacity Reservation. - // - // AvailabilityZone is a required field - AvailabilityZone *string `type:"string" required:"true"` + AvailabilityZone *string `type:"string"` + + AvailabilityZoneId *string `type:"string"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). // // Constraint: Maximum 64 ASCII characters. ClientToken *string `type:"string"` @@ -31170,7 +38760,7 @@ type CreateCapacityReservationInput struct { InstancePlatform *string `type:"string" required:"true" enum:"CapacityReservationInstancePlatform"` // The instance type for which to reserve capacity. For more information, see - // Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) // in the Amazon Elastic Compute Cloud User Guide. // // InstanceType is a required field @@ -31203,9 +38793,6 @@ func (s CreateCapacityReservationInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateCapacityReservationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateCapacityReservationInput"} - if s.AvailabilityZone == nil { - invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) - } if s.InstanceCount == nil { invalidParams.Add(request.NewErrParamRequired("InstanceCount")) } @@ -31228,6 +38815,12 @@ func (s *CreateCapacityReservationInput) SetAvailabilityZone(v string) *CreateCa return s } +// SetAvailabilityZoneId sets the AvailabilityZoneId field's value. +func (s *CreateCapacityReservationInput) SetAvailabilityZoneId(v string) *CreateCapacityReservationInput { + s.AvailabilityZoneId = &v + return s +} + // SetClientToken sets the ClientToken field's value. func (s *CreateCapacityReservationInput) SetClientToken(v string) *CreateCapacityReservationInput { s.ClientToken = &v @@ -31323,6 +38916,353 @@ func (s *CreateCapacityReservationOutput) SetCapacityReservation(v *CapacityRese return s } +type CreateClientVpnEndpointInput struct { + _ struct{} `type:"structure"` + + // Information about the authentication method to be used to authenticate clients. + // + // AuthenticationOptions is a required field + AuthenticationOptions []*ClientVpnAuthenticationRequest `locationName:"Authentication" type:"list" required:"true"` + + // The IPv4 address range, in CIDR notation, from which to assign client IP + // addresses. The address range cannot overlap with the local CIDR of the VPC + // in which the associated subnet is located, or the routes that you add manually. + // The address range cannot be changed after the Client VPN endpoint has been + // created. The CIDR block should be /22 or greater. + // + // ClientCidrBlock is a required field + ClientCidrBlock *string `type:"string" required:"true"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientToken *string `type:"string" idempotencyToken:"true"` + + // Information about the client connection logging options. + // + // If you enable client connection logging, data about client connections is + // sent to a Cloudwatch Logs log stream. The following information is logged: + // + // * Client connection requests + // + // * Client connection results (successful and unsuccessful) + // + // * Reasons for unsuccessful client connection requests + // + // * Client connection termination time + // + // ConnectionLogOptions is a required field + ConnectionLogOptions *ConnectionLogOptions `type:"structure" required:"true"` + + // A brief description of the Client VPN endpoint. + Description *string `type:"string"` + + // Information about the DNS servers to be used for DNS resolution. A Client + // VPN endpoint can have up to two DNS servers. If no DNS server is specified, + // the DNS address of the VPC that is to be associated with Client VPN endpoint + // is used as the DNS server. + DnsServers []*string `locationNameList:"item" type:"list"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ARN of the server certificate. For more information, see the AWS Certificate + // Manager User Guide (https://docs.aws.amazon.com/acm/latest/userguide/). + // + // ServerCertificateArn is a required field + ServerCertificateArn *string `type:"string" required:"true"` + + // Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint + // endpoint. + // + // By default, split-tunnel on a VPN endpoint is disabled. + // + // For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client + // VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html) + // in the AWS Client VPN Administrator Guide. + SplitTunnel *bool `type:"boolean"` + + // The tags to apply to the Client VPN endpoint during creation. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + + // The transport protocol to be used by the VPN session. + // + // Default value: udp + TransportProtocol *string `type:"string" enum:"TransportProtocol"` +} + +// String returns the string representation +func (s CreateClientVpnEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateClientVpnEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateClientVpnEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnEndpointInput"} + if s.AuthenticationOptions == nil { + invalidParams.Add(request.NewErrParamRequired("AuthenticationOptions")) + } + if s.ClientCidrBlock == nil { + invalidParams.Add(request.NewErrParamRequired("ClientCidrBlock")) + } + if s.ConnectionLogOptions == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionLogOptions")) + } + if s.ServerCertificateArn == nil { + invalidParams.Add(request.NewErrParamRequired("ServerCertificateArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthenticationOptions sets the AuthenticationOptions field's value. +func (s *CreateClientVpnEndpointInput) SetAuthenticationOptions(v []*ClientVpnAuthenticationRequest) *CreateClientVpnEndpointInput { + s.AuthenticationOptions = v + return s +} + +// SetClientCidrBlock sets the ClientCidrBlock field's value. +func (s *CreateClientVpnEndpointInput) SetClientCidrBlock(v string) *CreateClientVpnEndpointInput { + s.ClientCidrBlock = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateClientVpnEndpointInput) SetClientToken(v string) *CreateClientVpnEndpointInput { + s.ClientToken = &v + return s +} + +// SetConnectionLogOptions sets the ConnectionLogOptions field's value. +func (s *CreateClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *CreateClientVpnEndpointInput { + s.ConnectionLogOptions = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateClientVpnEndpointInput) SetDescription(v string) *CreateClientVpnEndpointInput { + s.Description = &v + return s +} + +// SetDnsServers sets the DnsServers field's value. +func (s *CreateClientVpnEndpointInput) SetDnsServers(v []*string) *CreateClientVpnEndpointInput { + s.DnsServers = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateClientVpnEndpointInput) SetDryRun(v bool) *CreateClientVpnEndpointInput { + s.DryRun = &v + return s +} + +// SetServerCertificateArn sets the ServerCertificateArn field's value. +func (s *CreateClientVpnEndpointInput) SetServerCertificateArn(v string) *CreateClientVpnEndpointInput { + s.ServerCertificateArn = &v + return s +} + +// SetSplitTunnel sets the SplitTunnel field's value. +func (s *CreateClientVpnEndpointInput) SetSplitTunnel(v bool) *CreateClientVpnEndpointInput { + s.SplitTunnel = &v + return s +} + +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateClientVpnEndpointInput) SetTagSpecifications(v []*TagSpecification) *CreateClientVpnEndpointInput { + s.TagSpecifications = v + return s +} + +// SetTransportProtocol sets the TransportProtocol field's value. +func (s *CreateClientVpnEndpointInput) SetTransportProtocol(v string) *CreateClientVpnEndpointInput { + s.TransportProtocol = &v + return s +} + +type CreateClientVpnEndpointOutput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint. + ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"` + + // The DNS name to be used by clients when establishing their VPN session. + DnsName *string `locationName:"dnsName" type:"string"` + + // The current state of the Client VPN endpoint. + Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s CreateClientVpnEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateClientVpnEndpointOutput) GoString() string { + return s.String() +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *CreateClientVpnEndpointOutput) SetClientVpnEndpointId(v string) *CreateClientVpnEndpointOutput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDnsName sets the DnsName field's value. +func (s *CreateClientVpnEndpointOutput) SetDnsName(v string) *CreateClientVpnEndpointOutput { + s.DnsName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *CreateClientVpnEndpointOutput { + s.Status = v + return s +} + +type CreateClientVpnRouteInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientToken *string `type:"string" idempotencyToken:"true"` + + // The ID of the Client VPN endpoint to which to add the route. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // A brief description of the route. + Description *string `type:"string"` + + // The IPv4 address range, in CIDR notation, of the route destination. For example: + // + // * To add a route for Internet access, enter 0.0.0.0/0 + // + // * To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range + // + // * To add a route for an on-premises network, enter the AWS Site-to-Site + // VPN connection's IPv4 CIDR range + // + // Route address ranges cannot overlap with the CIDR range specified for client + // allocation. + // + // DestinationCidrBlock is a required field + DestinationCidrBlock *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the subnet through which you want to route traffic. The specified + // subnet must be an existing target network of the Client VPN endpoint. + // + // TargetVpcSubnetId is a required field + TargetVpcSubnetId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateClientVpnRouteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateClientVpnRouteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateClientVpnRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnRouteInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.DestinationCidrBlock == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock")) + } + if s.TargetVpcSubnetId == nil { + invalidParams.Add(request.NewErrParamRequired("TargetVpcSubnetId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateClientVpnRouteInput) SetClientToken(v string) *CreateClientVpnRouteInput { + s.ClientToken = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *CreateClientVpnRouteInput) SetClientVpnEndpointId(v string) *CreateClientVpnRouteInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateClientVpnRouteInput) SetDescription(v string) *CreateClientVpnRouteInput { + s.Description = &v + return s +} + +// SetDestinationCidrBlock sets the DestinationCidrBlock field's value. +func (s *CreateClientVpnRouteInput) SetDestinationCidrBlock(v string) *CreateClientVpnRouteInput { + s.DestinationCidrBlock = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateClientVpnRouteInput) SetDryRun(v bool) *CreateClientVpnRouteInput { + s.DryRun = &v + return s +} + +// SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value. +func (s *CreateClientVpnRouteInput) SetTargetVpcSubnetId(v string) *CreateClientVpnRouteInput { + s.TargetVpcSubnetId = &v + return s +} + +type CreateClientVpnRouteOutput struct { + _ struct{} `type:"structure"` + + // The current state of the route. + Status *ClientVpnRouteStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s CreateClientVpnRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateClientVpnRouteOutput) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *CreateClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *CreateClientVpnRouteOutput { + s.Status = v + return s +} + // Contains the parameters for CreateCustomerGateway. type CreateCustomerGatewayInput struct { _ struct{} `type:"structure"` @@ -31628,7 +39568,7 @@ type CreateEgressOnlyInternetGatewayInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -31722,11 +39662,11 @@ type CreateFleetError struct { _ struct{} `type:"structure"` // The error code that indicates why the instance could not be launched. For - // more information about error codes, see Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). + // more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). ErrorCode *string `locationName:"errorCode" type:"string"` // The error message that describes why the instance could not be launched. - // For more information about error messages, see ee Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). + // For more information about error messages, see ee Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). ErrorMessage *string `locationName:"errorMessage" type:"string"` // The launch templates and overrides that were used for launching the instances. @@ -31777,7 +39717,7 @@ type CreateFleetInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -31796,7 +39736,7 @@ type CreateFleetInput struct { // LaunchTemplateConfigs is a required field LaunchTemplateConfigs []*FleetLaunchTemplateConfigRequest `locationNameList:"item" type:"list" required:"true"` - // The allocation strategy of On-Demand Instances in an EC2 Fleet. + // Describes the configuration of On-Demand Instances in an EC2 Fleet. OnDemandOptions *OnDemandOptionsRequest `type:"structure"` // Indicates whether EC2 Fleet should replace unhealthy instances. @@ -31807,12 +39747,11 @@ type CreateFleetInput struct { // The key-value pair for tagging the EC2 Fleet request on creation. The value // for ResourceType must be fleet, otherwise the fleet request fails. To tag - // instances at launch, specify the tags in the launch template (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template). - // For information about tagging after launch, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources). + // instances at launch, specify the tags in the launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template). + // For information about tagging after launch, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources). TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` - // The TotalTargetCapacity, OnDemandTargetCapacity, SpotTargetCapacity, and - // DefaultCapacityType structure. + // The number of units to request. // // TargetCapacitySpecification is a required field TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"` @@ -31827,7 +39766,7 @@ type CreateFleetInput struct { // request, and returns errors for any instances that could not be launched. // A value of request places an asynchronous one-time request without maintaining // capacity or submitting requests in alternative capacity pools if capacity - // is unavailable. For more information, see EC2 Fleet Request Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-request-type) + // is unavailable. For more information, see EC2 Fleet Request Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-request-type) // in the Amazon Elastic Compute Cloud User Guide. Type *string `type:"string" enum:"FleetType"` @@ -31837,7 +39776,7 @@ type CreateFleetInput struct { // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). // At this point, no new EC2 Fleet requests are placed or able to fulfill the - // request. The default end date is 7 days from the current date. + // request. If no value is specified, the request remains until you cancel it. ValidUntil *time.Time `type:"timestamp"` } @@ -32070,10 +40009,14 @@ type CreateFlowLogsInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` - // The ARN for the IAM role that's used to post flow logs to a log group. + // The ARN for the IAM role that permits Amazon EC2 to publish flow logs to + // a CloudWatch Logs log group in your account. + // + // If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn + // or LogGroupName. DeliverLogsPermissionArn *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -32083,7 +40026,7 @@ type CreateFlowLogsInput struct { DryRun *bool `type:"boolean"` // Specifies the destination to which the flow log data is to be published. - // Flow log data can be published to an CloudWatch Logs log group or an Amazon + // Flow log data can be published to a CloudWatch Logs log group or an Amazon // S3 bucket. The value specified for this parameter depends on the value specified // for LogDestinationType. // @@ -32103,25 +40046,35 @@ type CreateFlowLogsInput struct { // flow log data to CloudWatch Logs, specify cloud-watch-logs. To publish flow // log data to Amazon S3, specify s3. // + // If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn + // or LogGroupName. + // // Default: cloud-watch-logs LogDestinationType *string `type:"string" enum:"LogDestinationType"` - // The name of the log group. + // The name of a new or existing CloudWatch Logs log group where Amazon EC2 + // publishes your flow logs. + // + // If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn + // or LogGroupName. LogGroupName *string `type:"string"` - // One or more subnet, network interface, or VPC IDs. + // The ID of the subnet, network interface, or VPC for which you want to create + // a flow log. // // Constraints: Maximum of 1000 resources // // ResourceIds is a required field ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"` - // The type of resource on which to create the flow log. + // The type of resource for which to create the flow log. For example, if you + // specified a VPC ID for the ResourceId property, specify VPC for this property. // // ResourceType is a required field ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"` - // The type of traffic to log. + // The type of traffic to log. You can log traffic that the resource accepts + // or rejects, or all traffic. // // TrafficType is a required field TrafficType *string `type:"string" required:"true" enum:"TrafficType"` @@ -32256,7 +40209,7 @@ type CreateFpgaImageInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). + // of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // A description for the AFI. @@ -32372,13 +40325,12 @@ func (s *CreateFpgaImageOutput) SetFpgaImageId(v string) *CreateFpgaImageOutput return s } -// Contains the parameters for CreateImage. type CreateImageInput struct { _ struct{} `type:"structure"` - // Information about one or more block device mappings. This parameter cannot - // be used to modify the encryption status of existing volumes or snapshots. - // To create an AMI with encrypted snapshots, use the CopyImage action. + // The block device mappings. This parameter cannot be used to modify the encryption + // status of existing volumes or snapshots. To create an AMI with encrypted + // snapshots, use the CopyImage action. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"` // A description for the new image. @@ -32473,7 +40425,6 @@ func (s *CreateImageInput) SetNoReboot(v bool) *CreateImageInput { return s } -// Contains the output of CreateImage. type CreateImageOutput struct { _ struct{} `type:"structure"` @@ -32497,7 +40448,6 @@ func (s *CreateImageOutput) SetImageId(v string) *CreateImageOutput { return s } -// Contains the parameters for CreateInstanceExportTask. type CreateInstanceExportTaskInput struct { _ struct{} `type:"structure"` @@ -32564,7 +40514,6 @@ func (s *CreateInstanceExportTaskInput) SetTargetEnvironment(v string) *CreateIn return s } -// Contains the output for CreateInstanceExportTask. type CreateInstanceExportTaskOutput struct { _ struct{} `type:"structure"` @@ -32735,7 +40684,9 @@ type CreateLaunchTemplateInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // + // Constraint: Maximum 128 ASCII characters. ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -32754,6 +40705,9 @@ type CreateLaunchTemplateInput struct { // LaunchTemplateName is a required field LaunchTemplateName *string `min:"3" type:"string" required:"true"` + // The tags to apply to the launch template during creation. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // A description for the first version of the launch template. VersionDescription *string `type:"string"` } @@ -32816,6 +40770,12 @@ func (s *CreateLaunchTemplateInput) SetLaunchTemplateName(v string) *CreateLaunc return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateLaunchTemplateInput) SetTagSpecifications(v []*TagSpecification) *CreateLaunchTemplateInput { + s.TagSpecifications = v + return s +} + // SetVersionDescription sets the VersionDescription field's value. func (s *CreateLaunchTemplateInput) SetVersionDescription(v string) *CreateLaunchTemplateInput { s.VersionDescription = &v @@ -32849,7 +40809,9 @@ type CreateLaunchTemplateVersionInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // + // Constraint: Maximum 128 ASCII characters. ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -32987,7 +40949,7 @@ type CreateNatGatewayInput struct { AllocationId *string `type:"string" required:"true"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). // // Constraint: Maximum 64 ASCII characters. ClientToken *string `type:"string"` @@ -33333,6 +41295,11 @@ type CreateNetworkInterfaceInput struct { // The IDs of one or more security groups. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"` + // Indicates the type of network interface. To create an Elastic Fabric Adapter + // (EFA), specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) + // in the Amazon Elastic Compute Cloud User Guide. + InterfaceType *string `type:"string" enum:"NetworkInterfaceCreationType"` + // The number of IPv6 addresses to assign to a network interface. Amazon EC2 // automatically selects the IPv6 addresses from the subnet range. You can't // use this option if specifying specific IPv6 addresses. If your subnet has @@ -33361,7 +41328,7 @@ type CreateNetworkInterfaceInput struct { // // The number of IP addresses you can assign to a network interface varies by // instance type. For more information, see IP Addresses Per ENI Per Instance - // Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI) + // Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI) // in the Amazon Virtual Private Cloud User Guide. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"` @@ -33412,6 +41379,12 @@ func (s *CreateNetworkInterfaceInput) SetGroups(v []*string) *CreateNetworkInter return s } +// SetInterfaceType sets the InterfaceType field's value. +func (s *CreateNetworkInterfaceInput) SetInterfaceType(v string) *CreateNetworkInterfaceInput { + s.InterfaceType = &v + return s +} + // SetIpv6AddressCount sets the Ipv6AddressCount field's value. func (s *CreateNetworkInterfaceInput) SetIpv6AddressCount(v int64) *CreateNetworkInterfaceInput { s.Ipv6AddressCount = &v @@ -33589,17 +41562,16 @@ type CreatePlacementGroupInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // A name for the placement group. Must be unique within the scope of your account - // for the region. + // for the Region. // // Constraints: Up to 255 ASCII characters - // - // GroupName is a required field - GroupName *string `locationName:"groupName" type:"string" required:"true"` + GroupName *string `locationName:"groupName" type:"string"` + + // The number of partitions. Valid only when Strategy is set to partition. + PartitionCount *int64 `type:"integer"` // The placement strategy. - // - // Strategy is a required field - Strategy *string `locationName:"strategy" type:"string" required:"true" enum:"PlacementStrategy"` + Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"` } // String returns the string representation @@ -33612,22 +41584,6 @@ func (s CreatePlacementGroupInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreatePlacementGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreatePlacementGroupInput"} - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) - } - if s.Strategy == nil { - invalidParams.Add(request.NewErrParamRequired("Strategy")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetDryRun sets the DryRun field's value. func (s *CreatePlacementGroupInput) SetDryRun(v bool) *CreatePlacementGroupInput { s.DryRun = &v @@ -33640,6 +41596,12 @@ func (s *CreatePlacementGroupInput) SetGroupName(v string) *CreatePlacementGroup return s } +// SetPartitionCount sets the PartitionCount field's value. +func (s *CreatePlacementGroupInput) SetPartitionCount(v int64) *CreatePlacementGroupInput { + s.PartitionCount = &v + return s +} + // SetStrategy sets the Strategy field's value. func (s *CreatePlacementGroupInput) SetStrategy(v string) *CreatePlacementGroupInput { s.Strategy = &v @@ -33666,7 +41628,7 @@ type CreateReservedInstancesListingInput struct { // Unique, case-sensitive identifier you provide to ensure idempotency of your // listings. This helps avoid duplicate listings. For more information, see - // Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). // // ClientToken is a required field ClientToken *string `locationName:"clientToken" type:"string" required:"true"` @@ -34179,6 +42141,105 @@ func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput { return s } +type CreateSnapshotsInput struct { + _ struct{} `type:"structure"` + + // Copies the tags from the specified volume to corresponding snapshot. + CopyTagsFromSource *string `type:"string" enum:"CopyTagsFromSource"` + + // A description propagated to every snapshot specified by the instance. + Description *string `type:"string"` + + // Checks whether you have the required permissions for the action without actually + // making the request. Provides an error response. If you have the required + // permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The instance to specify which volumes should be included in the snapshots. + // + // InstanceSpecification is a required field + InstanceSpecification *InstanceSpecification `type:"structure" required:"true"` + + // Tags to apply to every snapshot specified by the instance. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s CreateSnapshotsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSnapshotsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSnapshotsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotsInput"} + if s.InstanceSpecification == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceSpecification")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCopyTagsFromSource sets the CopyTagsFromSource field's value. +func (s *CreateSnapshotsInput) SetCopyTagsFromSource(v string) *CreateSnapshotsInput { + s.CopyTagsFromSource = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateSnapshotsInput) SetDescription(v string) *CreateSnapshotsInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateSnapshotsInput) SetDryRun(v bool) *CreateSnapshotsInput { + s.DryRun = &v + return s +} + +// SetInstanceSpecification sets the InstanceSpecification field's value. +func (s *CreateSnapshotsInput) SetInstanceSpecification(v *InstanceSpecification) *CreateSnapshotsInput { + s.InstanceSpecification = v + return s +} + +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateSnapshotsInput) SetTagSpecifications(v []*TagSpecification) *CreateSnapshotsInput { + s.TagSpecifications = v + return s +} + +type CreateSnapshotsOutput struct { + _ struct{} `type:"structure"` + + // List of snapshots. + Snapshots []*SnapshotInfo `locationName:"snapshotSet" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s CreateSnapshotsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSnapshotsOutput) GoString() string { + return s.String() +} + +// SetSnapshots sets the Snapshots field's value. +func (s *CreateSnapshotsOutput) SetSnapshots(v []*SnapshotInfo) *CreateSnapshotsOutput { + s.Snapshots = v + return s +} + // Contains the parameters for CreateSpotDatafeedSubscription. type CreateSpotDatafeedSubscriptionInput struct { _ struct{} `type:"structure"` @@ -34390,14 +42451,17 @@ type CreateTagsInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // The IDs of one or more resources, separated by spaces. + // The IDs of the resources, separated by spaces. + // + // Constraints: Up to 1000 resource IDs. We recommend breaking up this request + // into smaller batches. // // Resources is a required field Resources []*string `locationName:"ResourceId" type:"list" required:"true"` - // One or more tags. The value parameter is required, but if you don't want - // the tag to have a value, specify the parameter with no value, and we set - // the value to an empty string. + // The tags. The value parameter is required, but if you don't want the tag + // to have a value, specify the parameter with no value, and we set the value + // to an empty string. // // Tags is a required field Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"` @@ -34461,6 +42525,589 @@ func (s CreateTagsOutput) GoString() string { return s.String() } +type CreateTrafficMirrorFilterInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientToken *string `type:"string" idempotencyToken:"true"` + + // The description of the Traffic Mirror filter. + Description *string `type:"string"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The tags to assign to a Traffic Mirror filter. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s CreateTrafficMirrorFilterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTrafficMirrorFilterInput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateTrafficMirrorFilterInput) SetClientToken(v string) *CreateTrafficMirrorFilterInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateTrafficMirrorFilterInput) SetDescription(v string) *CreateTrafficMirrorFilterInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateTrafficMirrorFilterInput) SetDryRun(v bool) *CreateTrafficMirrorFilterInput { + s.DryRun = &v + return s +} + +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateTrafficMirrorFilterInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorFilterInput { + s.TagSpecifications = v + return s +} + +type CreateTrafficMirrorFilterOutput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientToken *string `locationName:"clientToken" type:"string"` + + // Information about the Traffic Mirror filter. + TrafficMirrorFilter *TrafficMirrorFilter `locationName:"trafficMirrorFilter" type:"structure"` +} + +// String returns the string representation +func (s CreateTrafficMirrorFilterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTrafficMirrorFilterOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateTrafficMirrorFilterOutput) SetClientToken(v string) *CreateTrafficMirrorFilterOutput { + s.ClientToken = &v + return s +} + +// SetTrafficMirrorFilter sets the TrafficMirrorFilter field's value. +func (s *CreateTrafficMirrorFilterOutput) SetTrafficMirrorFilter(v *TrafficMirrorFilter) *CreateTrafficMirrorFilterOutput { + s.TrafficMirrorFilter = v + return s +} + +type CreateTrafficMirrorFilterRuleInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientToken *string `type:"string" idempotencyToken:"true"` + + // The description of the Traffic Mirror rule. + Description *string `type:"string"` + + // The destination CIDR block to assign to the Traffic Mirror rule. + // + // DestinationCidrBlock is a required field + DestinationCidrBlock *string `type:"string" required:"true"` + + // The destination port range. + DestinationPortRange *TrafficMirrorPortRangeRequest `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The protocol, for example UDP, to assign to the Traffic Mirror rule. + // + // For information about the protocol value, see Protocol Numbers (https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) + // on the Internet Assigned Numbers Authority (IANA) website. + Protocol *int64 `type:"integer"` + + // The action to take (accept | reject) on the filtered traffic. + // + // RuleAction is a required field + RuleAction *string `type:"string" required:"true" enum:"TrafficMirrorRuleAction"` + + // The number of the Traffic Mirror rule. This number must be unique for each + // Traffic Mirror rule in a given direction. The rules are processed in ascending + // order by rule number. + // + // RuleNumber is a required field + RuleNumber *int64 `type:"integer" required:"true"` + + // The source CIDR block to assign to the Traffic Mirror rule. + // + // SourceCidrBlock is a required field + SourceCidrBlock *string `type:"string" required:"true"` + + // The source port range. + SourcePortRange *TrafficMirrorPortRangeRequest `type:"structure"` + + // The type of traffic (ingress | egress). + // + // TrafficDirection is a required field + TrafficDirection *string `type:"string" required:"true" enum:"TrafficDirection"` + + // The ID of the filter that this rule is associated with. + // + // TrafficMirrorFilterId is a required field + TrafficMirrorFilterId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateTrafficMirrorFilterRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTrafficMirrorFilterRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTrafficMirrorFilterRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTrafficMirrorFilterRuleInput"} + if s.DestinationCidrBlock == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock")) + } + if s.RuleAction == nil { + invalidParams.Add(request.NewErrParamRequired("RuleAction")) + } + if s.RuleNumber == nil { + invalidParams.Add(request.NewErrParamRequired("RuleNumber")) + } + if s.SourceCidrBlock == nil { + invalidParams.Add(request.NewErrParamRequired("SourceCidrBlock")) + } + if s.TrafficDirection == nil { + invalidParams.Add(request.NewErrParamRequired("TrafficDirection")) + } + if s.TrafficMirrorFilterId == nil { + invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateTrafficMirrorFilterRuleInput) SetClientToken(v string) *CreateTrafficMirrorFilterRuleInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateTrafficMirrorFilterRuleInput) SetDescription(v string) *CreateTrafficMirrorFilterRuleInput { + s.Description = &v + return s +} + +// SetDestinationCidrBlock sets the DestinationCidrBlock field's value. +func (s *CreateTrafficMirrorFilterRuleInput) SetDestinationCidrBlock(v string) *CreateTrafficMirrorFilterRuleInput { + s.DestinationCidrBlock = &v + return s +} + +// SetDestinationPortRange sets the DestinationPortRange field's value. +func (s *CreateTrafficMirrorFilterRuleInput) SetDestinationPortRange(v *TrafficMirrorPortRangeRequest) *CreateTrafficMirrorFilterRuleInput { + s.DestinationPortRange = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateTrafficMirrorFilterRuleInput) SetDryRun(v bool) *CreateTrafficMirrorFilterRuleInput { + s.DryRun = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *CreateTrafficMirrorFilterRuleInput) SetProtocol(v int64) *CreateTrafficMirrorFilterRuleInput { + s.Protocol = &v + return s +} + +// SetRuleAction sets the RuleAction field's value. +func (s *CreateTrafficMirrorFilterRuleInput) SetRuleAction(v string) *CreateTrafficMirrorFilterRuleInput { + s.RuleAction = &v + return s +} + +// SetRuleNumber sets the RuleNumber field's value. +func (s *CreateTrafficMirrorFilterRuleInput) SetRuleNumber(v int64) *CreateTrafficMirrorFilterRuleInput { + s.RuleNumber = &v + return s +} + +// SetSourceCidrBlock sets the SourceCidrBlock field's value. +func (s *CreateTrafficMirrorFilterRuleInput) SetSourceCidrBlock(v string) *CreateTrafficMirrorFilterRuleInput { + s.SourceCidrBlock = &v + return s +} + +// SetSourcePortRange sets the SourcePortRange field's value. +func (s *CreateTrafficMirrorFilterRuleInput) SetSourcePortRange(v *TrafficMirrorPortRangeRequest) *CreateTrafficMirrorFilterRuleInput { + s.SourcePortRange = v + return s +} + +// SetTrafficDirection sets the TrafficDirection field's value. +func (s *CreateTrafficMirrorFilterRuleInput) SetTrafficDirection(v string) *CreateTrafficMirrorFilterRuleInput { + s.TrafficDirection = &v + return s +} + +// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value. +func (s *CreateTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterId(v string) *CreateTrafficMirrorFilterRuleInput { + s.TrafficMirrorFilterId = &v + return s +} + +type CreateTrafficMirrorFilterRuleOutput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientToken *string `locationName:"clientToken" type:"string"` + + // The Traffic Mirror rule. + TrafficMirrorFilterRule *TrafficMirrorFilterRule `locationName:"trafficMirrorFilterRule" type:"structure"` +} + +// String returns the string representation +func (s CreateTrafficMirrorFilterRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTrafficMirrorFilterRuleOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateTrafficMirrorFilterRuleOutput) SetClientToken(v string) *CreateTrafficMirrorFilterRuleOutput { + s.ClientToken = &v + return s +} + +// SetTrafficMirrorFilterRule sets the TrafficMirrorFilterRule field's value. +func (s *CreateTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRule(v *TrafficMirrorFilterRule) *CreateTrafficMirrorFilterRuleOutput { + s.TrafficMirrorFilterRule = v + return s +} + +type CreateTrafficMirrorSessionInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientToken *string `type:"string" idempotencyToken:"true"` + + // The description of the Traffic Mirror session. + Description *string `type:"string"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the source network interface. + // + // NetworkInterfaceId is a required field + NetworkInterfaceId *string `type:"string" required:"true"` + + // The number of bytes in each packet to mirror. These are bytes after the VXLAN + // header. Do not specify this parameter when you want to mirror the entire + // packet. To mirror a subset of the packet, set this to the length (in bytes) + // that you want to mirror. For example, if you set this value to 1network0, + // then the first 100 bytes that meet the filter criteria are copied to the + // target. + // + // If you do not want to mirror the entire packet, use the PacketLength parameter + // to specify the number of bytes in each packet to mirror. + PacketLength *int64 `type:"integer"` + + // The session number determines the order in which sessions are evaluated when + // an interface is used by multiple sessions. The first session with a matching + // filter is the one that mirrors the packets. + // + // Valid values are 1-32766. + // + // SessionNumber is a required field + SessionNumber *int64 `type:"integer" required:"true"` + + // The tags to assign to a Traffic Mirror session. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + + // The ID of the Traffic Mirror filter. + // + // TrafficMirrorFilterId is a required field + TrafficMirrorFilterId *string `type:"string" required:"true"` + + // The ID of the Traffic Mirror target. + // + // TrafficMirrorTargetId is a required field + TrafficMirrorTargetId *string `type:"string" required:"true"` + + // The VXLAN ID for the Traffic Mirror session. For more information about the + // VXLAN protocol, see RFC 7348 (https://tools.ietf.org/html/rfc7348). If you + // do not specify a VirtualNetworkId, an account-wide unique id is chosen at + // random. + VirtualNetworkId *int64 `type:"integer"` +} + +// String returns the string representation +func (s CreateTrafficMirrorSessionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTrafficMirrorSessionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTrafficMirrorSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTrafficMirrorSessionInput"} + if s.NetworkInterfaceId == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId")) + } + if s.SessionNumber == nil { + invalidParams.Add(request.NewErrParamRequired("SessionNumber")) + } + if s.TrafficMirrorFilterId == nil { + invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId")) + } + if s.TrafficMirrorTargetId == nil { + invalidParams.Add(request.NewErrParamRequired("TrafficMirrorTargetId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateTrafficMirrorSessionInput) SetClientToken(v string) *CreateTrafficMirrorSessionInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateTrafficMirrorSessionInput) SetDescription(v string) *CreateTrafficMirrorSessionInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateTrafficMirrorSessionInput) SetDryRun(v bool) *CreateTrafficMirrorSessionInput { + s.DryRun = &v + return s +} + +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *CreateTrafficMirrorSessionInput) SetNetworkInterfaceId(v string) *CreateTrafficMirrorSessionInput { + s.NetworkInterfaceId = &v + return s +} + +// SetPacketLength sets the PacketLength field's value. +func (s *CreateTrafficMirrorSessionInput) SetPacketLength(v int64) *CreateTrafficMirrorSessionInput { + s.PacketLength = &v + return s +} + +// SetSessionNumber sets the SessionNumber field's value. +func (s *CreateTrafficMirrorSessionInput) SetSessionNumber(v int64) *CreateTrafficMirrorSessionInput { + s.SessionNumber = &v + return s +} + +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateTrafficMirrorSessionInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorSessionInput { + s.TagSpecifications = v + return s +} + +// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value. +func (s *CreateTrafficMirrorSessionInput) SetTrafficMirrorFilterId(v string) *CreateTrafficMirrorSessionInput { + s.TrafficMirrorFilterId = &v + return s +} + +// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value. +func (s *CreateTrafficMirrorSessionInput) SetTrafficMirrorTargetId(v string) *CreateTrafficMirrorSessionInput { + s.TrafficMirrorTargetId = &v + return s +} + +// SetVirtualNetworkId sets the VirtualNetworkId field's value. +func (s *CreateTrafficMirrorSessionInput) SetVirtualNetworkId(v int64) *CreateTrafficMirrorSessionInput { + s.VirtualNetworkId = &v + return s +} + +type CreateTrafficMirrorSessionOutput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientToken *string `locationName:"clientToken" type:"string"` + + // Information about the Traffic Mirror session. + TrafficMirrorSession *TrafficMirrorSession `locationName:"trafficMirrorSession" type:"structure"` +} + +// String returns the string representation +func (s CreateTrafficMirrorSessionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTrafficMirrorSessionOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateTrafficMirrorSessionOutput) SetClientToken(v string) *CreateTrafficMirrorSessionOutput { + s.ClientToken = &v + return s +} + +// SetTrafficMirrorSession sets the TrafficMirrorSession field's value. +func (s *CreateTrafficMirrorSessionOutput) SetTrafficMirrorSession(v *TrafficMirrorSession) *CreateTrafficMirrorSessionOutput { + s.TrafficMirrorSession = v + return s +} + +type CreateTrafficMirrorTargetInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientToken *string `type:"string" idempotencyToken:"true"` + + // The description of the Traffic Mirror target. + Description *string `type:"string"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The network interface ID that is associated with the target. + NetworkInterfaceId *string `type:"string"` + + // The Amazon Resource Name (ARN) of the Network Load Balancer that is associated + // with the target. + NetworkLoadBalancerArn *string `type:"string"` + + // The tags to assign to the Traffic Mirror target. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s CreateTrafficMirrorTargetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTrafficMirrorTargetInput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateTrafficMirrorTargetInput) SetClientToken(v string) *CreateTrafficMirrorTargetInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateTrafficMirrorTargetInput) SetDescription(v string) *CreateTrafficMirrorTargetInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateTrafficMirrorTargetInput) SetDryRun(v bool) *CreateTrafficMirrorTargetInput { + s.DryRun = &v + return s +} + +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *CreateTrafficMirrorTargetInput) SetNetworkInterfaceId(v string) *CreateTrafficMirrorTargetInput { + s.NetworkInterfaceId = &v + return s +} + +// SetNetworkLoadBalancerArn sets the NetworkLoadBalancerArn field's value. +func (s *CreateTrafficMirrorTargetInput) SetNetworkLoadBalancerArn(v string) *CreateTrafficMirrorTargetInput { + s.NetworkLoadBalancerArn = &v + return s +} + +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateTrafficMirrorTargetInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorTargetInput { + s.TagSpecifications = v + return s +} + +type CreateTrafficMirrorTargetOutput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientToken *string `locationName:"clientToken" type:"string"` + + // Information about the Traffic Mirror target. + TrafficMirrorTarget *TrafficMirrorTarget `locationName:"trafficMirrorTarget" type:"structure"` +} + +// String returns the string representation +func (s CreateTrafficMirrorTargetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTrafficMirrorTargetOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateTrafficMirrorTargetOutput) SetClientToken(v string) *CreateTrafficMirrorTargetOutput { + s.ClientToken = &v + return s +} + +// SetTrafficMirrorTarget sets the TrafficMirrorTarget field's value. +func (s *CreateTrafficMirrorTargetOutput) SetTrafficMirrorTarget(v *TrafficMirrorTarget) *CreateTrafficMirrorTargetOutput { + s.TrafficMirrorTarget = v + return s +} + type CreateTransitGatewayInput struct { _ struct{} `type:"structure"` @@ -34540,7 +43187,7 @@ func (s *CreateTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *Creat type CreateTransitGatewayRouteInput struct { _ struct{} `type:"structure"` - // Indicates whether traffic matching this route is to be dropped. + // Indicates whether to drop traffic that matches this route. Blackhole *bool `type:"boolean"` // The CIDR range used for destination matches. Routing decisions are based @@ -34884,8 +43531,7 @@ func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v strin type CreateVolumeInput struct { _ struct{} `type:"structure"` - // The Availability Zone in which to create the volume. Use DescribeAvailabilityZones - // to list the Availability Zones that are currently available to you. + // The Availability Zone in which to create the volume. // // AvailabilityZone is a required field AvailabilityZone *string `type:"string" required:"true"` @@ -34896,51 +43542,45 @@ type CreateVolumeInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // Specifies whether the volume should be encrypted. Encrypted Amazon EBS volumes - // may only be attached to instances that support Amazon EBS encryption. Volumes - // that are created from encrypted snapshots are automatically encrypted. There - // is no way to create an encrypted volume from an unencrypted snapshot or vice - // versa. If your AMI uses encrypted volumes, you can only launch it on supported - // instance types. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) + // Specifies whether the volume should be encrypted. The effect of setting the + // encryption state to true depends on the volume origin (new or from a snapshot), + // starting encryption state, ownership, and whether encryption by default is + // enabled. For more information, see Encryption by Default (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) // in the Amazon Elastic Compute Cloud User Guide. + // + // Encrypted Amazon EBS volumes must be attached to instances that support Amazon + // EBS encryption. For more information, see Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances). Encrypted *bool `locationName:"encrypted" type:"boolean"` // The number of I/O operations per second (IOPS) to provision for the volume, - // with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000IOPS for volumes - // in most regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based - // instances (AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). + // with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000 IOPS for volumes + // in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based + // instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). // Other instance families guarantee performance up to 32,000 IOPS. For more - // information, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) + // information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) // in the Amazon Elastic Compute Cloud User Guide. // // This parameter is valid only for Provisioned IOPS SSD (io1) volumes. Iops *int64 `type:"integer"` - // An identifier for the AWS Key Management Service (AWS KMS) customer master - // key (CMK) to use when creating the encrypted volume. This parameter is only - // required if you want to use a non-default CMK; if this parameter is not specified, - // the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted - // flag must also be set. + // The identifier of the AWS Key Management Service (AWS KMS) customer master + // key (CMK) to use for Amazon EBS encryption. If this parameter is not specified, + // your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted + // state must be true. // - // The CMK identifier may be provided in any of the following formats: - // - // * Key ID + // You can specify the CMK using any of the following: // - // * Key alias - // - // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed - // by the region of the CMK, the AWS account ID of the CMK owner, the key - // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. + // * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab. // + // * Key alias. For example, alias/ExampleAlias. // - // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace, - // followed by the region of the CMK, the AWS account ID of the CMK owner, - // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. + // * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. // + // * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. // - // AWS parses KmsKeyId asynchronously, meaning that the action you call may - // appear to complete even though you provided an invalid identifier. The action - // will eventually fail. + // AWS authenticates the CMK asynchronously. Therefore, if you specify an ID, + // alias, or ARN that is not valid, the action can appear to complete, but eventually + // fails. KmsKeyId *string `type:"string"` // The size of the volume, in GiBs. @@ -34951,9 +43591,13 @@ type CreateVolumeInput struct { // // Default: If you're creating the volume from a snapshot and don't specify // a volume size, the default is the snapshot size. + // + // At least one of Size or SnapshotId is required. Size *int64 `type:"integer"` // The snapshot from which to create the volume. + // + // At least one of Size or SnapshotId are required. SnapshotId *string `type:"string"` // The tags to apply to the volume during creation. @@ -34966,7 +43610,7 @@ type CreateVolumeInput struct { // Defaults: If no volume type is specified, the default is standard in us-east-1, // eu-west-1, eu-central-1, us-west-2, us-west-1, sa-east-1, ap-northeast-1, // ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-south-1, us-gov-west-1, - // and cn-north-1. In all other regions, EBS defaults to gp2. + // and cn-north-1. In all other Regions, EBS defaults to gp2. VolumeType *string `type:"string" enum:"VolumeType"` } @@ -35047,17 +43691,15 @@ func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput { return s } -// Describes the user or group to be added or removed from the permissions for -// a volume. +// Describes the user or group to be added or removed from the list of create +// volume permissions for a volume. type CreateVolumePermission struct { _ struct{} `type:"structure"` - // The specific group that is to be added or removed from a volume's list of - // create volume permissions. + // The group to be added or removed. The possible value is all. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"` - // The specific AWS account ID that is to be added or removed from a volume's - // list of create volume permissions. + // The AWS account ID to be added or removed. UserId *string `locationName:"userId" type:"string"` } @@ -35083,16 +43725,14 @@ func (s *CreateVolumePermission) SetUserId(v string) *CreateVolumePermission { return s } -// Describes modifications to the permissions for a volume. +// Describes modifications to the list of create volume permissions for a volume. type CreateVolumePermissionModifications struct { _ struct{} `type:"structure"` - // Adds a specific AWS account ID or group to a volume's list of create volume - // permissions. + // Adds the specified AWS account ID or group to the list. Add []*CreateVolumePermission `locationNameList:"item" type:"list"` - // Removes a specific AWS account ID or group from a volume's list of create - // volume permissions. + // Removes the specified AWS account ID or group from the list. Remove []*CreateVolumePermission `locationNameList:"item" type:"list"` } @@ -35122,7 +43762,7 @@ type CreateVpcEndpointConnectionNotificationInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // One or more endpoint events for which to receive notifications. Valid values @@ -35249,7 +43889,7 @@ type CreateVpcEndpointInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -35258,15 +43898,14 @@ type CreateVpcEndpointInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // (Gateway endpoint) A policy to attach to the endpoint that controls access - // to the service. The policy must be in valid JSON format. If this parameter - // is not specified, we attach a default policy that allows full access to the - // service. + // A policy to attach to the endpoint that controls access to the service. The + // policy must be in valid JSON format. If this parameter is not specified, + // we attach a default policy that allows full access to the service. PolicyDocument *string `type:"string"` // (Interface endpoint) Indicate whether to associate a private hosted zone // with the specified VPC. The private hosted zone contains a record set for - // the default public DNS name for the service for the region (for example, + // the default public DNS name for the service for the Region (for example, // kinesis.us-east-1.amazonaws.com) which resolves to the private IP addresses // of the endpoint network interfaces in the VPC. This enables you to make requests // to the default public DNS name for the service instead of the public DNS @@ -35276,7 +43915,7 @@ type CreateVpcEndpointInput struct { // true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to // set the VPC attributes. // - // Default: false + // Default: true PrivateDnsEnabled *bool `type:"boolean"` // (Gateway endpoint) One or more route table IDs. @@ -35435,7 +44074,7 @@ type CreateVpcEndpointServiceConfigurationInput struct { AcceptanceRequired *bool `type:"boolean"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). + // the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -35647,10 +44286,10 @@ type CreateVpcPeeringConnectionInput struct { // Default: Your AWS account ID PeerOwnerId *string `locationName:"peerOwnerId" type:"string"` - // The region code for the accepter VPC, if the accepter VPC is located in a - // region other than the region in which you make the request. + // The Region code for the accepter VPC, if the accepter VPC is located in a + // Region other than the Region in which you make the request. // - // Default: The region in which you make the request. + // Default: The Region in which you make the request. PeerRegion *string `type:"string"` // The ID of the VPC with which you are creating the VPC peering connection. @@ -36142,6 +44781,175 @@ func (s *CustomerGateway) SetType(v string) *CustomerGateway { return s } +type DeleteClientVpnEndpointInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN to be deleted. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` +} + +// String returns the string representation +func (s DeleteClientVpnEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteClientVpnEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteClientVpnEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnEndpointInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *DeleteClientVpnEndpointInput) SetClientVpnEndpointId(v string) *DeleteClientVpnEndpointInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteClientVpnEndpointInput) SetDryRun(v bool) *DeleteClientVpnEndpointInput { + s.DryRun = &v + return s +} + +type DeleteClientVpnEndpointOutput struct { + _ struct{} `type:"structure"` + + // The current state of the Client VPN endpoint. + Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s DeleteClientVpnEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteClientVpnEndpointOutput) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *DeleteClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *DeleteClientVpnEndpointOutput { + s.Status = v + return s +} + +type DeleteClientVpnRouteInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint from which the route is to be deleted. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // The IPv4 address range, in CIDR notation, of the route to be deleted. + // + // DestinationCidrBlock is a required field + DestinationCidrBlock *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the target subnet used by the route. + TargetVpcSubnetId *string `type:"string"` +} + +// String returns the string representation +func (s DeleteClientVpnRouteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteClientVpnRouteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteClientVpnRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnRouteInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.DestinationCidrBlock == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *DeleteClientVpnRouteInput) SetClientVpnEndpointId(v string) *DeleteClientVpnRouteInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDestinationCidrBlock sets the DestinationCidrBlock field's value. +func (s *DeleteClientVpnRouteInput) SetDestinationCidrBlock(v string) *DeleteClientVpnRouteInput { + s.DestinationCidrBlock = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteClientVpnRouteInput) SetDryRun(v bool) *DeleteClientVpnRouteInput { + s.DryRun = &v + return s +} + +// SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value. +func (s *DeleteClientVpnRouteInput) SetTargetVpcSubnetId(v string) *DeleteClientVpnRouteInput { + s.TargetVpcSubnetId = &v + return s +} + +type DeleteClientVpnRouteOutput struct { + _ struct{} `type:"structure"` + + // The current state of the route. + Status *ClientVpnRouteStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s DeleteClientVpnRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteClientVpnRouteOutput) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *DeleteClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *DeleteClientVpnRouteOutput { + s.Status = v + return s +} + // Contains the parameters for DeleteCustomerGateway. type DeleteCustomerGatewayInput struct { _ struct{} `type:"structure"` @@ -36560,6 +45368,8 @@ type DeleteFlowLogsInput struct { // One or more flow log IDs. // + // Constraint: Maximum of 1000 flow log IDs. + // // FlowLogIds is a required field FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"` } @@ -37920,14 +46730,17 @@ type DeleteTagsInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // The IDs of one or more resources, separated by spaces. + // The IDs of the resources, separated by spaces. + // + // Constraints: Up to 1000 resource IDs. We recommend breaking up this request + // into smaller batches. // // Resources is a required field Resources []*string `locationName:"resourceId" type:"list" required:"true"` - // One or more tags to delete. Specify a tag key and an optional tag value to - // delete specific tags. If you specify a tag key without a tag value, we delete - // any tag with this key regardless of its value. If you specify a tag key with + // The tags to delete. Specify a tag key and an optional tag value to delete + // specific tags. If you specify a tag key without a tag value, we delete any + // tag with this key regardless of its value. If you specify a tag key with // an empty string as the tag value, we delete the tag only if its value is // an empty string. // @@ -37991,6 +46804,298 @@ func (s DeleteTagsOutput) GoString() string { return s.String() } +type DeleteTrafficMirrorFilterInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the Traffic Mirror filter. + // + // TrafficMirrorFilterId is a required field + TrafficMirrorFilterId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteTrafficMirrorFilterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTrafficMirrorFilterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTrafficMirrorFilterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorFilterInput"} + if s.TrafficMirrorFilterId == nil { + invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteTrafficMirrorFilterInput) SetDryRun(v bool) *DeleteTrafficMirrorFilterInput { + s.DryRun = &v + return s +} + +// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value. +func (s *DeleteTrafficMirrorFilterInput) SetTrafficMirrorFilterId(v string) *DeleteTrafficMirrorFilterInput { + s.TrafficMirrorFilterId = &v + return s +} + +type DeleteTrafficMirrorFilterOutput struct { + _ struct{} `type:"structure"` + + // The ID of the Traffic Mirror filter. + TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"` +} + +// String returns the string representation +func (s DeleteTrafficMirrorFilterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTrafficMirrorFilterOutput) GoString() string { + return s.String() +} + +// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value. +func (s *DeleteTrafficMirrorFilterOutput) SetTrafficMirrorFilterId(v string) *DeleteTrafficMirrorFilterOutput { + s.TrafficMirrorFilterId = &v + return s +} + +type DeleteTrafficMirrorFilterRuleInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the Traffic Mirror rule. + // + // TrafficMirrorFilterRuleId is a required field + TrafficMirrorFilterRuleId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteTrafficMirrorFilterRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTrafficMirrorFilterRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTrafficMirrorFilterRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorFilterRuleInput"} + if s.TrafficMirrorFilterRuleId == nil { + invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterRuleId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteTrafficMirrorFilterRuleInput) SetDryRun(v bool) *DeleteTrafficMirrorFilterRuleInput { + s.DryRun = &v + return s +} + +// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value. +func (s *DeleteTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterRuleId(v string) *DeleteTrafficMirrorFilterRuleInput { + s.TrafficMirrorFilterRuleId = &v + return s +} + +type DeleteTrafficMirrorFilterRuleOutput struct { + _ struct{} `type:"structure"` + + // The ID of the deleted Traffic Mirror rule. + TrafficMirrorFilterRuleId *string `locationName:"trafficMirrorFilterRuleId" type:"string"` +} + +// String returns the string representation +func (s DeleteTrafficMirrorFilterRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTrafficMirrorFilterRuleOutput) GoString() string { + return s.String() +} + +// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value. +func (s *DeleteTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRuleId(v string) *DeleteTrafficMirrorFilterRuleOutput { + s.TrafficMirrorFilterRuleId = &v + return s +} + +type DeleteTrafficMirrorSessionInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the Traffic Mirror session. + // + // TrafficMirrorSessionId is a required field + TrafficMirrorSessionId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteTrafficMirrorSessionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTrafficMirrorSessionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTrafficMirrorSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorSessionInput"} + if s.TrafficMirrorSessionId == nil { + invalidParams.Add(request.NewErrParamRequired("TrafficMirrorSessionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteTrafficMirrorSessionInput) SetDryRun(v bool) *DeleteTrafficMirrorSessionInput { + s.DryRun = &v + return s +} + +// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value. +func (s *DeleteTrafficMirrorSessionInput) SetTrafficMirrorSessionId(v string) *DeleteTrafficMirrorSessionInput { + s.TrafficMirrorSessionId = &v + return s +} + +type DeleteTrafficMirrorSessionOutput struct { + _ struct{} `type:"structure"` + + // The ID of the deleted Traffic Mirror session. + TrafficMirrorSessionId *string `locationName:"trafficMirrorSessionId" type:"string"` +} + +// String returns the string representation +func (s DeleteTrafficMirrorSessionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTrafficMirrorSessionOutput) GoString() string { + return s.String() +} + +// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value. +func (s *DeleteTrafficMirrorSessionOutput) SetTrafficMirrorSessionId(v string) *DeleteTrafficMirrorSessionOutput { + s.TrafficMirrorSessionId = &v + return s +} + +type DeleteTrafficMirrorTargetInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the Traffic Mirror target. + // + // TrafficMirrorTargetId is a required field + TrafficMirrorTargetId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteTrafficMirrorTargetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTrafficMirrorTargetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTrafficMirrorTargetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorTargetInput"} + if s.TrafficMirrorTargetId == nil { + invalidParams.Add(request.NewErrParamRequired("TrafficMirrorTargetId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteTrafficMirrorTargetInput) SetDryRun(v bool) *DeleteTrafficMirrorTargetInput { + s.DryRun = &v + return s +} + +// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value. +func (s *DeleteTrafficMirrorTargetInput) SetTrafficMirrorTargetId(v string) *DeleteTrafficMirrorTargetInput { + s.TrafficMirrorTargetId = &v + return s +} + +type DeleteTrafficMirrorTargetOutput struct { + _ struct{} `type:"structure"` + + // The ID of the deleted Traffic Mirror target. + TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"` +} + +// String returns the string representation +func (s DeleteTrafficMirrorTargetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTrafficMirrorTargetOutput) GoString() string { + return s.String() +} + +// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value. +func (s *DeleteTrafficMirrorTargetOutput) SetTrafficMirrorTargetId(v string) *DeleteTrafficMirrorTargetOutput { + s.TrafficMirrorTargetId = &v + return s +} + type DeleteTransitGatewayInput struct { _ struct{} `type:"structure"` @@ -39059,7 +48164,7 @@ func (s DeregisterImageOutput) GoString() string { type DescribeAccountAttributesInput struct { _ struct{} `type:"structure"` - // One or more account attribute names. + // The account attribute names. AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"` // Checks whether you have the required permissions for the action, without @@ -39094,7 +48199,7 @@ func (s *DescribeAccountAttributesInput) SetDryRun(v bool) *DescribeAccountAttri type DescribeAccountAttributesOutput struct { _ struct{} `type:"structure"` - // Information about one or more account attributes. + // Information about the account attributes. AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"` } @@ -39117,9 +48222,7 @@ func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttri type DescribeAddressesInput struct { _ struct{} `type:"structure"` - // [EC2-VPC] One or more allocation IDs. - // - // Default: Describes all your Elastic IP addresses. + // [EC2-VPC] Information about the allocation IDs. AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"` // Checks whether you have the required permissions for the action, without @@ -39161,7 +48264,7 @@ type DescribeAddressesInput struct { // the tag value. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // [EC2-Classic] One or more Elastic IP addresses. + // One or more Elastic IP addresses. // // Default: Describes all your Elastic IP addresses. PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"` @@ -39204,7 +48307,7 @@ func (s *DescribeAddressesInput) SetPublicIps(v []*string) *DescribeAddressesInp type DescribeAddressesOutput struct { _ struct{} `type:"structure"` - // Information about one or more Elastic IP addresses. + // Information about the Elastic IP addresses. Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"` } @@ -39256,9 +48359,9 @@ type DescribeAggregateIdFormatOutput struct { // Information about each resource's ID format. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"` - // Indicates whether all resource types in the region are configured to use + // Indicates whether all resource types in the Region are configured to use // longer IDs. This value is only true if all users are configured to use longer - // IDs for all resources types in the region. + // IDs for all resources types in the Region. UseLongIdsAggregated *bool `locationName:"useLongIdsAggregated" type:"boolean"` } @@ -39293,11 +48396,11 @@ type DescribeAvailabilityZonesInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more filters. + // The filters. // // * message - Information about the Availability Zone. // - // * region-name - The name of the region for the Availability Zone (for + // * region-name - The name of the Region for the Availability Zone (for // example, us-east-1). // // * state - The state of the Availability Zone (available | information @@ -39308,204 +48411,766 @@ type DescribeAvailabilityZonesInput struct { // * zone-name - The name of the Availability Zone (for example, us-east-1a). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // The IDs of one or more Availability Zones. - ZoneIds []*string `locationName:"ZoneId" locationNameList:"ZoneId" type:"list"` + // The IDs of the Availability Zones. + ZoneIds []*string `locationName:"ZoneId" locationNameList:"ZoneId" type:"list"` + + // The names of the Availability Zones. + ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"` +} + +// String returns the string representation +func (s DescribeAvailabilityZonesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAvailabilityZonesInput) GoString() string { + return s.String() +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput { + s.Filters = v + return s +} + +// SetZoneIds sets the ZoneIds field's value. +func (s *DescribeAvailabilityZonesInput) SetZoneIds(v []*string) *DescribeAvailabilityZonesInput { + s.ZoneIds = v + return s +} + +// SetZoneNames sets the ZoneNames field's value. +func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput { + s.ZoneNames = v + return s +} + +type DescribeAvailabilityZonesOutput struct { + _ struct{} `type:"structure"` + + // Information about the Availability Zones. + AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DescribeAvailabilityZonesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAvailabilityZonesOutput) GoString() string { + return s.String() +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput { + s.AvailabilityZones = v + return s +} + +type DescribeBundleTasksInput struct { + _ struct{} `type:"structure"` + + // The bundle task IDs. + // + // Default: Describes all your bundle tasks. + BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `locationName:"dryRun" type:"boolean"` + + // The filters. + // + // * bundle-id - The ID of the bundle task. + // + // * error-code - If the task failed, the error code returned. + // + // * error-message - If the task failed, the error message returned. + // + // * instance-id - The ID of the instance. + // + // * progress - The level of task completion, as a percentage (for example, + // 20%). + // + // * s3-bucket - The Amazon S3 bucket to store the AMI. + // + // * s3-prefix - The beginning of the AMI name. + // + // * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z). + // + // * state - The state of the task (pending | waiting-for-shutdown | bundling + // | storing | cancelling | complete | failed). + // + // * update-time - The time of the most recent update for the task. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` +} + +// String returns the string representation +func (s DescribeBundleTasksInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBundleTasksInput) GoString() string { + return s.String() +} + +// SetBundleIds sets the BundleIds field's value. +func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput { + s.BundleIds = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput { + s.Filters = v + return s +} + +type DescribeBundleTasksOutput struct { + _ struct{} `type:"structure"` + + // Information about the bundle tasks. + BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DescribeBundleTasksOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBundleTasksOutput) GoString() string { + return s.String() +} + +// SetBundleTasks sets the BundleTasks field's value. +func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput { + s.BundleTasks = v + return s +} + +type DescribeByoipCidrsInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + // + // MaxResults is a required field + MaxResults *int64 `min:"1" type:"integer" required:"true"` + + // The token for the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeByoipCidrsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeByoipCidrsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeByoipCidrsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeByoipCidrsInput"} + if s.MaxResults == nil { + invalidParams.Add(request.NewErrParamRequired("MaxResults")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeByoipCidrsInput) SetDryRun(v bool) *DescribeByoipCidrsInput { + s.DryRun = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeByoipCidrsInput) SetMaxResults(v int64) *DescribeByoipCidrsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeByoipCidrsInput) SetNextToken(v string) *DescribeByoipCidrsInput { + s.NextToken = &v + return s +} + +type DescribeByoipCidrsOutput struct { + _ struct{} `type:"structure"` + + // Information about your address ranges. + ByoipCidrs []*ByoipCidr `locationName:"byoipCidrSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeByoipCidrsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeByoipCidrsOutput) GoString() string { + return s.String() +} + +// SetByoipCidrs sets the ByoipCidrs field's value. +func (s *DescribeByoipCidrsOutput) SetByoipCidrs(v []*ByoipCidr) *DescribeByoipCidrsOutput { + s.ByoipCidrs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeByoipCidrsOutput) SetNextToken(v string) *DescribeByoipCidrsOutput { + s.NextToken = &v + return s +} + +type DescribeCapacityReservationsInput struct { + _ struct{} `type:"structure"` + + // The ID of the Capacity Reservation. + CapacityReservationIds []*string `locationName:"CapacityReservationId" locationNameList:"item" type:"list"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // One or more filters. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The maximum number of results to return for the request in a single page. + // The remaining results can be seen by sending another request with the returned + // nextToken value. + MaxResults *int64 `min:"1" type:"integer"` + + // The token to retrieve the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeCapacityReservationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCapacityReservationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeCapacityReservationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCapacityReservationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCapacityReservationIds sets the CapacityReservationIds field's value. +func (s *DescribeCapacityReservationsInput) SetCapacityReservationIds(v []*string) *DescribeCapacityReservationsInput { + s.CapacityReservationIds = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeCapacityReservationsInput) SetDryRun(v bool) *DescribeCapacityReservationsInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeCapacityReservationsInput) SetFilters(v []*Filter) *DescribeCapacityReservationsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeCapacityReservationsInput) SetMaxResults(v int64) *DescribeCapacityReservationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeCapacityReservationsInput) SetNextToken(v string) *DescribeCapacityReservationsInput { + s.NextToken = &v + return s +} + +type DescribeCapacityReservationsOutput struct { + _ struct{} `type:"structure"` + + // Information about the Capacity Reservations. + CapacityReservations []*CapacityReservation `locationName:"capacityReservationSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeCapacityReservationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCapacityReservationsOutput) GoString() string { + return s.String() +} + +// SetCapacityReservations sets the CapacityReservations field's value. +func (s *DescribeCapacityReservationsOutput) SetCapacityReservations(v []*CapacityReservation) *DescribeCapacityReservationsOutput { + s.CapacityReservations = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeCapacityReservationsOutput) SetNextToken(v string) *DescribeCapacityReservationsOutput { + s.NextToken = &v + return s +} + +type DescribeClassicLinkInstancesInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `locationName:"dryRun" type:"boolean"` + + // One or more filters. + // + // * group-id - The ID of a VPC security group that's associated with the + // instance. + // + // * instance-id - The ID of the instance. + // + // * tag: - The key/value combination of a tag assigned to the resource. + // Use the tag key in the filter name and the tag value as the filter value. + // For example, to find all resources that have a tag with the key Owner + // and the value TeamA, specify tag:Owner for the filter name and TeamA for + // the filter value. + // + // * tag-key - The key of a tag assigned to the resource. Use this filter + // to find all resources assigned a tag with a specific key, regardless of + // the tag value. + // + // * vpc-id - The ID of the VPC to which the instance is linked. vpc-id - + // The ID of the VPC that the instance is linked to. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // One or more instance IDs. Must be instances linked to a VPC through ClassicLink. + InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + // + // Constraint: If the value is greater than 1000, we return only 1000 items. + MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"` + + // The token for the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeClassicLinkInstancesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeClassicLinkInstancesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeClassicLinkInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClassicLinkInstancesInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput { + s.Filters = v + return s +} + +// SetInstanceIds sets the InstanceIds field's value. +func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput { + s.InstanceIds = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput { + s.NextToken = &v + return s +} + +type DescribeClassicLinkInstancesOutput struct { + _ struct{} `type:"structure"` + + // Information about one or more linked EC2-Classic instances. + Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeClassicLinkInstancesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeClassicLinkInstancesOutput) GoString() string { + return s.String() +} + +// SetInstances sets the Instances field's value. +func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput { + s.Instances = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput { + s.NextToken = &v + return s +} + +type DescribeClientVpnAuthorizationRulesInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // One or more filters. Filter names and values are case-sensitive. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The maximum number of results to return for the request in a single page. + // The remaining results can be seen by sending another request with the nextToken + // value. + MaxResults *int64 `min:"5" type:"integer"` - // The names of one or more Availability Zones. - ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"` + // The token to retrieve the next page of results. + NextToken *string `type:"string"` } // String returns the string representation -func (s DescribeAvailabilityZonesInput) String() string { +func (s DescribeClientVpnAuthorizationRulesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeAvailabilityZonesInput) GoString() string { +func (s DescribeClientVpnAuthorizationRulesInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeClientVpnAuthorizationRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnAuthorizationRulesInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *DescribeClientVpnAuthorizationRulesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnAuthorizationRulesInput { + s.ClientVpnEndpointId = &v + return s +} + // SetDryRun sets the DryRun field's value. -func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput { +func (s *DescribeClientVpnAuthorizationRulesInput) SetDryRun(v bool) *DescribeClientVpnAuthorizationRulesInput { s.DryRun = &v return s } // SetFilters sets the Filters field's value. -func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput { +func (s *DescribeClientVpnAuthorizationRulesInput) SetFilters(v []*Filter) *DescribeClientVpnAuthorizationRulesInput { s.Filters = v return s } -// SetZoneIds sets the ZoneIds field's value. -func (s *DescribeAvailabilityZonesInput) SetZoneIds(v []*string) *DescribeAvailabilityZonesInput { - s.ZoneIds = v +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeClientVpnAuthorizationRulesInput) SetMaxResults(v int64) *DescribeClientVpnAuthorizationRulesInput { + s.MaxResults = &v return s } -// SetZoneNames sets the ZoneNames field's value. -func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput { - s.ZoneNames = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeClientVpnAuthorizationRulesInput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesInput { + s.NextToken = &v return s } -type DescribeAvailabilityZonesOutput struct { +type DescribeClientVpnAuthorizationRulesOutput struct { _ struct{} `type:"structure"` - // Information about one or more Availability Zones. - AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"` + // Information about the authorization rules. + AuthorizationRules []*AuthorizationRule `locationName:"authorizationRule" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s DescribeAvailabilityZonesOutput) String() string { +func (s DescribeClientVpnAuthorizationRulesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeAvailabilityZonesOutput) GoString() string { +func (s DescribeClientVpnAuthorizationRulesOutput) GoString() string { return s.String() } -// SetAvailabilityZones sets the AvailabilityZones field's value. -func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput { - s.AvailabilityZones = v +// SetAuthorizationRules sets the AuthorizationRules field's value. +func (s *DescribeClientVpnAuthorizationRulesOutput) SetAuthorizationRules(v []*AuthorizationRule) *DescribeClientVpnAuthorizationRulesOutput { + s.AuthorizationRules = v return s } -// Contains the parameters for DescribeBundleTasks. -type DescribeBundleTasksInput struct { +// SetNextToken sets the NextToken field's value. +func (s *DescribeClientVpnAuthorizationRulesOutput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesOutput { + s.NextToken = &v + return s +} + +type DescribeClientVpnConnectionsInput struct { _ struct{} `type:"structure"` - // One or more bundle task IDs. + // The ID of the Client VPN endpoint. // - // Default: Describes all your bundle tasks. - BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"` + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have // the required permissions, the error response is DryRunOperation. Otherwise, // it is UnauthorizedOperation. - DryRun *bool `locationName:"dryRun" type:"boolean"` + DryRun *bool `type:"boolean"` - // One or more filters. - // - // * bundle-id - The ID of the bundle task. - // - // * error-code - If the task failed, the error code returned. - // - // * error-message - If the task failed, the error message returned. - // - // * instance-id - The ID of the instance. - // - // * progress - The level of task completion, as a percentage (for example, - // 20%). - // - // * s3-bucket - The Amazon S3 bucket to store the AMI. - // - // * s3-prefix - The beginning of the AMI name. - // - // * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z). - // - // * state - The state of the task (pending | waiting-for-shutdown | bundling - // | storing | cancelling | complete | failed). - // - // * update-time - The time of the most recent update for the task. + // One or more filters. Filter names and values are case-sensitive. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The maximum number of results to return for the request in a single page. + // The remaining results can be seen by sending another request with the nextToken + // value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token to retrieve the next page of results. + NextToken *string `type:"string"` } // String returns the string representation -func (s DescribeBundleTasksInput) String() string { +func (s DescribeClientVpnConnectionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeBundleTasksInput) GoString() string { +func (s DescribeClientVpnConnectionsInput) GoString() string { return s.String() } -// SetBundleIds sets the BundleIds field's value. -func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput { - s.BundleIds = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeClientVpnConnectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnConnectionsInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *DescribeClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *DescribeClientVpnConnectionsInput { + s.ClientVpnEndpointId = &v return s } // SetDryRun sets the DryRun field's value. -func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput { +func (s *DescribeClientVpnConnectionsInput) SetDryRun(v bool) *DescribeClientVpnConnectionsInput { s.DryRun = &v return s } // SetFilters sets the Filters field's value. -func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput { +func (s *DescribeClientVpnConnectionsInput) SetFilters(v []*Filter) *DescribeClientVpnConnectionsInput { s.Filters = v return s } -// Contains the output of DescribeBundleTasks. -type DescribeBundleTasksOutput struct { +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeClientVpnConnectionsInput) SetMaxResults(v int64) *DescribeClientVpnConnectionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeClientVpnConnectionsInput) SetNextToken(v string) *DescribeClientVpnConnectionsInput { + s.NextToken = &v + return s +} + +type DescribeClientVpnConnectionsOutput struct { _ struct{} `type:"structure"` - // Information about one or more bundle tasks. - BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"` + // Information about the active and terminated client connections. + Connections []*ClientVpnConnection `locationName:"connections" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s DescribeBundleTasksOutput) String() string { +func (s DescribeClientVpnConnectionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeBundleTasksOutput) GoString() string { +func (s DescribeClientVpnConnectionsOutput) GoString() string { return s.String() } -// SetBundleTasks sets the BundleTasks field's value. -func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput { - s.BundleTasks = v +// SetConnections sets the Connections field's value. +func (s *DescribeClientVpnConnectionsOutput) SetConnections(v []*ClientVpnConnection) *DescribeClientVpnConnectionsOutput { + s.Connections = v return s } -type DescribeByoipCidrsInput struct { +// SetNextToken sets the NextToken field's value. +func (s *DescribeClientVpnConnectionsOutput) SetNextToken(v string) *DescribeClientVpnConnectionsOutput { + s.NextToken = &v + return s +} + +type DescribeClientVpnEndpointsInput struct { _ struct{} `type:"structure"` + // The ID of the Client VPN endpoint. + ClientVpnEndpointIds []*string `locationName:"ClientVpnEndpointId" locationNameList:"item" type:"list"` + // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have // the required permissions, the error response is DryRunOperation. Otherwise, // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // The maximum number of results to return with a single call. To retrieve the - // remaining results, make another call with the returned nextToken value. - // - // MaxResults is a required field - MaxResults *int64 `min:"5" type:"integer" required:"true"` + // One or more filters. Filter names and values are case-sensitive. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // The token for the next page of results. - NextToken *string `min:"1" type:"string"` + // The maximum number of results to return for the request in a single page. + // The remaining results can be seen by sending another request with the nextToken + // value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token to retrieve the next page of results. + NextToken *string `type:"string"` } // String returns the string representation -func (s DescribeByoipCidrsInput) String() string { +func (s DescribeClientVpnEndpointsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeByoipCidrsInput) GoString() string { +func (s DescribeClientVpnEndpointsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeByoipCidrsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeByoipCidrsInput"} - if s.MaxResults == nil { - invalidParams.Add(request.NewErrParamRequired("MaxResults")) - } +func (s *DescribeClientVpnEndpointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnEndpointsInput"} if s.MaxResults != nil && *s.MaxResults < 5 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -39513,29 +49178,41 @@ func (s *DescribeByoipCidrsInput) Validate() error { return nil } +// SetClientVpnEndpointIds sets the ClientVpnEndpointIds field's value. +func (s *DescribeClientVpnEndpointsInput) SetClientVpnEndpointIds(v []*string) *DescribeClientVpnEndpointsInput { + s.ClientVpnEndpointIds = v + return s +} + // SetDryRun sets the DryRun field's value. -func (s *DescribeByoipCidrsInput) SetDryRun(v bool) *DescribeByoipCidrsInput { +func (s *DescribeClientVpnEndpointsInput) SetDryRun(v bool) *DescribeClientVpnEndpointsInput { s.DryRun = &v return s } +// SetFilters sets the Filters field's value. +func (s *DescribeClientVpnEndpointsInput) SetFilters(v []*Filter) *DescribeClientVpnEndpointsInput { + s.Filters = v + return s +} + // SetMaxResults sets the MaxResults field's value. -func (s *DescribeByoipCidrsInput) SetMaxResults(v int64) *DescribeByoipCidrsInput { +func (s *DescribeClientVpnEndpointsInput) SetMaxResults(v int64) *DescribeClientVpnEndpointsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeByoipCidrsInput) SetNextToken(v string) *DescribeByoipCidrsInput { +func (s *DescribeClientVpnEndpointsInput) SetNextToken(v string) *DescribeClientVpnEndpointsInput { s.NextToken = &v return s } -type DescribeByoipCidrsOutput struct { +type DescribeClientVpnEndpointsOutput struct { _ struct{} `type:"structure"` - // Information about your address ranges. - ByoipCidrs []*ByoipCidr `locationName:"byoipCidrSet" locationNameList:"item" type:"list"` + // Information about the Client VPN endpoints. + ClientVpnEndpoints []*ClientVpnEndpoint `locationName:"clientVpnEndpoint" locationNameList:"item" type:"list"` // The token to use to retrieve the next page of results. This value is null // when there are no more results to return. @@ -39543,32 +49220,34 @@ type DescribeByoipCidrsOutput struct { } // String returns the string representation -func (s DescribeByoipCidrsOutput) String() string { +func (s DescribeClientVpnEndpointsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeByoipCidrsOutput) GoString() string { +func (s DescribeClientVpnEndpointsOutput) GoString() string { return s.String() } -// SetByoipCidrs sets the ByoipCidrs field's value. -func (s *DescribeByoipCidrsOutput) SetByoipCidrs(v []*ByoipCidr) *DescribeByoipCidrsOutput { - s.ByoipCidrs = v +// SetClientVpnEndpoints sets the ClientVpnEndpoints field's value. +func (s *DescribeClientVpnEndpointsOutput) SetClientVpnEndpoints(v []*ClientVpnEndpoint) *DescribeClientVpnEndpointsOutput { + s.ClientVpnEndpoints = v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeByoipCidrsOutput) SetNextToken(v string) *DescribeByoipCidrsOutput { +func (s *DescribeClientVpnEndpointsOutput) SetNextToken(v string) *DescribeClientVpnEndpointsOutput { s.NextToken = &v return s } -type DescribeCapacityReservationsInput struct { +type DescribeClientVpnRoutesInput struct { _ struct{} `type:"structure"` - // The ID of the Capacity Reservation. - CapacityReservationIds []*string `locationName:"CapacityReservationId" locationNameList:"item" type:"list"` + // The ID of the Client VPN endpoint. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have @@ -39576,184 +49255,203 @@ type DescribeCapacityReservationsInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // One or more filters. + // One or more filters. Filter names and values are case-sensitive. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The maximum number of results to return for the request in a single page. - // The remaining results can be seen by sending another request with the returned - // nextToken value. - MaxResults *int64 `type:"integer"` + // The remaining results can be seen by sending another request with the nextToken + // value. + MaxResults *int64 `min:"5" type:"integer"` // The token to retrieve the next page of results. NextToken *string `type:"string"` } // String returns the string representation -func (s DescribeCapacityReservationsInput) String() string { +func (s DescribeClientVpnRoutesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeCapacityReservationsInput) GoString() string { +func (s DescribeClientVpnRoutesInput) GoString() string { return s.String() } -// SetCapacityReservationIds sets the CapacityReservationIds field's value. -func (s *DescribeCapacityReservationsInput) SetCapacityReservationIds(v []*string) *DescribeCapacityReservationsInput { - s.CapacityReservationIds = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeClientVpnRoutesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnRoutesInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *DescribeClientVpnRoutesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnRoutesInput { + s.ClientVpnEndpointId = &v return s } // SetDryRun sets the DryRun field's value. -func (s *DescribeCapacityReservationsInput) SetDryRun(v bool) *DescribeCapacityReservationsInput { +func (s *DescribeClientVpnRoutesInput) SetDryRun(v bool) *DescribeClientVpnRoutesInput { s.DryRun = &v return s } // SetFilters sets the Filters field's value. -func (s *DescribeCapacityReservationsInput) SetFilters(v []*Filter) *DescribeCapacityReservationsInput { +func (s *DescribeClientVpnRoutesInput) SetFilters(v []*Filter) *DescribeClientVpnRoutesInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *DescribeCapacityReservationsInput) SetMaxResults(v int64) *DescribeCapacityReservationsInput { +func (s *DescribeClientVpnRoutesInput) SetMaxResults(v int64) *DescribeClientVpnRoutesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeCapacityReservationsInput) SetNextToken(v string) *DescribeCapacityReservationsInput { +func (s *DescribeClientVpnRoutesInput) SetNextToken(v string) *DescribeClientVpnRoutesInput { s.NextToken = &v return s } -type DescribeCapacityReservationsOutput struct { +type DescribeClientVpnRoutesOutput struct { _ struct{} `type:"structure"` - // Information about the Capacity Reservations. - CapacityReservations []*CapacityReservation `locationName:"capacityReservationSet" locationNameList:"item" type:"list"` - // The token to use to retrieve the next page of results. This value is null // when there are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` + + // Information about the Client VPN endpoint routes. + Routes []*ClientVpnRoute `locationName:"routes" locationNameList:"item" type:"list"` } // String returns the string representation -func (s DescribeCapacityReservationsOutput) String() string { +func (s DescribeClientVpnRoutesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeCapacityReservationsOutput) GoString() string { +func (s DescribeClientVpnRoutesOutput) GoString() string { return s.String() } -// SetCapacityReservations sets the CapacityReservations field's value. -func (s *DescribeCapacityReservationsOutput) SetCapacityReservations(v []*CapacityReservation) *DescribeCapacityReservationsOutput { - s.CapacityReservations = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeClientVpnRoutesOutput) SetNextToken(v string) *DescribeClientVpnRoutesOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeCapacityReservationsOutput) SetNextToken(v string) *DescribeCapacityReservationsOutput { - s.NextToken = &v +// SetRoutes sets the Routes field's value. +func (s *DescribeClientVpnRoutesOutput) SetRoutes(v []*ClientVpnRoute) *DescribeClientVpnRoutesOutput { + s.Routes = v return s } -type DescribeClassicLinkInstancesInput struct { +type DescribeClientVpnTargetNetworksInput struct { _ struct{} `type:"structure"` + // The IDs of the target network associations. + AssociationIds []*string `locationNameList:"item" type:"list"` + + // The ID of the Client VPN endpoint. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have // the required permissions, the error response is DryRunOperation. Otherwise, // it is UnauthorizedOperation. - DryRun *bool `locationName:"dryRun" type:"boolean"` + DryRun *bool `type:"boolean"` - // One or more filters. - // - // * group-id - The ID of a VPC security group that's associated with the - // instance. - // - // * instance-id - The ID of the instance. - // - // * tag: - The key/value combination of a tag assigned to the resource. - // Use the tag key in the filter name and the tag value as the filter value. - // For example, to find all resources that have a tag with the key Owner - // and the value TeamA, specify tag:Owner for the filter name and TeamA for - // the filter value. - // - // * tag-key - The key of a tag assigned to the resource. Use this filter - // to find all resources assigned a tag with a specific key, regardless of - // the tag value. - // - // * vpc-id - The ID of the VPC to which the instance is linked. - // - // vpc-id - The ID of the VPC that the instance is linked to. + // One or more filters. Filter names and values are case-sensitive. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // One or more instance IDs. Must be instances linked to a VPC through ClassicLink. - InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"` - // The maximum number of results to return for the request in a single page. - // The remaining results of the initial request can be seen by sending another - // request with the returned NextToken value. This value can be between 5 and - // 1000. If MaxResults is given a value larger than 1000, only 1000 results - // are returned. You cannot specify this parameter and the instance IDs parameter - // in the same request. - // - // Constraint: If the value is greater than 1000, we return only 1000 items. - MaxResults *int64 `locationName:"maxResults" type:"integer"` + // The remaining results can be seen by sending another request with the nextToken + // value. + MaxResults *int64 `min:"5" type:"integer"` // The token to retrieve the next page of results. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `type:"string"` } // String returns the string representation -func (s DescribeClassicLinkInstancesInput) String() string { +func (s DescribeClientVpnTargetNetworksInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeClassicLinkInstancesInput) GoString() string { +func (s DescribeClientVpnTargetNetworksInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeClientVpnTargetNetworksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnTargetNetworksInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssociationIds sets the AssociationIds field's value. +func (s *DescribeClientVpnTargetNetworksInput) SetAssociationIds(v []*string) *DescribeClientVpnTargetNetworksInput { + s.AssociationIds = v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *DescribeClientVpnTargetNetworksInput) SetClientVpnEndpointId(v string) *DescribeClientVpnTargetNetworksInput { + s.ClientVpnEndpointId = &v + return s +} + // SetDryRun sets the DryRun field's value. -func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput { +func (s *DescribeClientVpnTargetNetworksInput) SetDryRun(v bool) *DescribeClientVpnTargetNetworksInput { s.DryRun = &v return s } // SetFilters sets the Filters field's value. -func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput { +func (s *DescribeClientVpnTargetNetworksInput) SetFilters(v []*Filter) *DescribeClientVpnTargetNetworksInput { s.Filters = v return s } -// SetInstanceIds sets the InstanceIds field's value. -func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput { - s.InstanceIds = v - return s -} - // SetMaxResults sets the MaxResults field's value. -func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput { +func (s *DescribeClientVpnTargetNetworksInput) SetMaxResults(v int64) *DescribeClientVpnTargetNetworksInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput { +func (s *DescribeClientVpnTargetNetworksInput) SetNextToken(v string) *DescribeClientVpnTargetNetworksInput { s.NextToken = &v return s } -type DescribeClassicLinkInstancesOutput struct { +type DescribeClientVpnTargetNetworksOutput struct { _ struct{} `type:"structure"` - // Information about one or more linked EC2-Classic instances. - Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"` + // Information about the associated target networks. + ClientVpnTargetNetworks []*TargetNetwork `locationName:"clientVpnTargetNetworks" locationNameList:"item" type:"list"` // The token to use to retrieve the next page of results. This value is null // when there are no more results to return. @@ -39761,32 +49459,31 @@ type DescribeClassicLinkInstancesOutput struct { } // String returns the string representation -func (s DescribeClassicLinkInstancesOutput) String() string { +func (s DescribeClientVpnTargetNetworksOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeClassicLinkInstancesOutput) GoString() string { +func (s DescribeClientVpnTargetNetworksOutput) GoString() string { return s.String() } -// SetInstances sets the Instances field's value. -func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput { - s.Instances = v +// SetClientVpnTargetNetworks sets the ClientVpnTargetNetworks field's value. +func (s *DescribeClientVpnTargetNetworksOutput) SetClientVpnTargetNetworks(v []*TargetNetwork) *DescribeClientVpnTargetNetworksOutput { + s.ClientVpnTargetNetworks = v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput { +func (s *DescribeClientVpnTargetNetworksOutput) SetNextToken(v string) *DescribeClientVpnTargetNetworksOutput { s.NextToken = &v return s } -// Contains the parameters for DescribeConversionTasks. type DescribeConversionTasksInput struct { _ struct{} `type:"structure"` - // One or more conversion task IDs. + // The conversion task IDs. ConversionTaskIds []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"` // Checks whether you have the required permissions for the action, without @@ -39818,7 +49515,6 @@ func (s *DescribeConversionTasksInput) SetDryRun(v bool) *DescribeConversionTask return s } -// Contains the output for DescribeConversionTasks. type DescribeConversionTasksOutput struct { _ struct{} `type:"structure"` @@ -39971,6 +49667,13 @@ type DescribeDhcpOptionsInput struct { // to find all resources assigned a tag with a specific key, regardless of // the tag value. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` } // String returns the string representation @@ -39983,6 +49686,19 @@ func (s DescribeDhcpOptionsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDhcpOptionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDhcpOptionsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDhcpOptionsIds sets the DhcpOptionsIds field's value. func (s *DescribeDhcpOptionsInput) SetDhcpOptionsIds(v []*string) *DescribeDhcpOptionsInput { s.DhcpOptionsIds = v @@ -40001,11 +49717,27 @@ func (s *DescribeDhcpOptionsInput) SetFilters(v []*Filter) *DescribeDhcpOptionsI return s } +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeDhcpOptionsInput) SetMaxResults(v int64) *DescribeDhcpOptionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeDhcpOptionsInput) SetNextToken(v string) *DescribeDhcpOptionsInput { + s.NextToken = &v + return s +} + type DescribeDhcpOptionsOutput struct { _ struct{} `type:"structure"` // Information about one or more DHCP options sets. DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation @@ -40024,6 +49756,12 @@ func (s *DescribeDhcpOptionsOutput) SetDhcpOptions(v []*DhcpOptions) *DescribeDh return s } +// SetNextToken sets the NextToken field's value. +func (s *DescribeDhcpOptionsOutput) SetNextToken(v string) *DescribeDhcpOptionsOutput { + s.NextToken = &v + return s +} + type DescribeEgressOnlyInternetGatewaysInput struct { _ struct{} `type:"structure"` @@ -40036,13 +49774,11 @@ type DescribeEgressOnlyInternetGatewaysInput struct { // One or more egress-only internet gateway IDs. EgressOnlyInternetGatewayIds []*string `locationName:"EgressOnlyInternetGatewayId" locationNameList:"item" type:"list"` - // The maximum number of results to return for the request in a single page. - // The remaining results can be seen by sending another request with the returned - // NextToken value. This value can be between 5 and 1000. If MaxResults is given - // a value larger than 1000, only 1000 results are returned. - MaxResults *int64 `type:"integer"` + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"5" type:"integer"` - // The token to retrieve the next page of results. + // The token for the next page of results. NextToken *string `type:"string"` } @@ -40056,6 +49792,19 @@ func (s DescribeEgressOnlyInternetGatewaysInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeEgressOnlyInternetGatewaysInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEgressOnlyInternetGatewaysInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DescribeEgressOnlyInternetGatewaysInput) SetDryRun(v bool) *DescribeEgressOnlyInternetGatewaysInput { s.DryRun = &v @@ -40086,7 +49835,8 @@ type DescribeEgressOnlyInternetGatewaysOutput struct { // Information about the egress-only internet gateways. EgressOnlyInternetGateways []*EgressOnlyInternetGateway `locationName:"egressOnlyInternetGatewaySet" locationNameList:"item" type:"list"` - // The token to use to retrieve the next page of results. + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` } @@ -40121,10 +49871,10 @@ type DescribeElasticGpusInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // One or more Elastic Graphics accelerator IDs. + // The Elastic Graphics accelerator IDs. ElasticGpuIds []*string `locationName:"ElasticGpuId" locationNameList:"item" type:"list"` - // One or more filters. + // The filters. // // * availability-zone - The Availability Zone in which the Elastic Graphics // accelerator resides. @@ -40144,7 +49894,7 @@ type DescribeElasticGpusInput struct { // The maximum number of results to return in a single call. To retrieve the // remaining results, make another call with the returned NextToken value. This // value can be between 5 and 1000. - MaxResults *int64 `type:"integer"` + MaxResults *int64 `min:"10" type:"integer"` // The token to request the next page of results. NextToken *string `type:"string"` @@ -40160,6 +49910,19 @@ func (s DescribeElasticGpusInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeElasticGpusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeElasticGpusInput"} + if s.MaxResults != nil && *s.MaxResults < 10 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DescribeElasticGpusInput) SetDryRun(v bool) *DescribeElasticGpusInput { s.DryRun = &v @@ -40234,11 +49997,10 @@ func (s *DescribeElasticGpusOutput) SetNextToken(v string) *DescribeElasticGpusO return s } -// Contains the parameters for DescribeExportTasks. type DescribeExportTasksInput struct { _ struct{} `type:"structure"` - // One or more export task IDs. + // The export task IDs. ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"` } @@ -40258,7 +50020,6 @@ func (s *DescribeExportTasksInput) SetExportTaskIds(v []*string) *DescribeExport return s } -// Contains the output for DescribeExportTasks. type DescribeExportTasksOutput struct { _ struct{} `type:"structure"` @@ -40287,11 +50048,11 @@ type DescribeFleetError struct { _ struct{} `type:"structure"` // The error code that indicates why the instance could not be launched. For - // more information about error codes, see Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). + // more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). ErrorCode *string `locationName:"errorCode" type:"string"` // The error message that describes why the instance could not be launched. - // For more information about error messages, see ee Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). + // For more information about error messages, see ee Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). ErrorMessage *string `locationName:"errorMessage" type:"string"` // The launch templates and overrides that were used for launching the instances. @@ -40502,7 +50263,7 @@ type DescribeFleetInstancesInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // One or more filters. + // The filters. // // * instance-type - The instance type. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -40625,7 +50386,7 @@ type DescribeFleetsInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // One or more filters. + // The filters. // // * activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment // | pending-termination | fulfilled). @@ -40817,16 +50578,15 @@ type DescribeFlowLogsInput struct { Filter []*Filter `locationNameList:"Filter" type:"list"` // One or more flow log IDs. + // + // Constraint: Maximum of 1000 flow log IDs. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"` - // The maximum number of results to return for the request in a single page. - // The remaining results can be seen by sending another request with the returned - // NextToken value. This value can be between 5 and 1000. If MaxResults is given - // a value larger than 1000, only 1000 results are returned. You cannot specify - // this parameter and the flow log IDs parameter in the same request. + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. MaxResults *int64 `type:"integer"` - // The token to retrieve the next page of results. + // The token for the next page of results. NextToken *string `type:"string"` } @@ -40999,7 +50759,7 @@ type DescribeFpgaImagesInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // One or more filters. + // The filters. // // * create-time - The creation time of the AFI. // @@ -41031,14 +50791,14 @@ type DescribeFpgaImagesInput struct { // * update-time - The time of the most recent update. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // One or more AFI IDs. + // The AFI IDs. FpgaImageIds []*string `locationName:"FpgaImageId" locationNameList:"item" type:"list"` // The maximum number of results to return in a single call. MaxResults *int64 `min:"5" type:"integer"` // The token to retrieve the next page of results. - NextToken *string `min:"1" type:"string"` + NextToken *string `type:"string"` // Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender // of the request), or an AWS owner alias (valid values are amazon | aws-marketplace). @@ -41061,9 +50821,6 @@ func (s *DescribeFpgaImagesInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 5 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -41110,12 +50867,12 @@ func (s *DescribeFpgaImagesInput) SetOwners(v []*string) *DescribeFpgaImagesInpu type DescribeFpgaImagesOutput struct { _ struct{} `type:"structure"` - // Information about one or more FPGA images. + // Information about the FPGA images. FpgaImages []*FpgaImage `locationName:"fpgaImageSet" locationNameList:"item" type:"list"` // The token to use to retrieve the next page of results. This value is null // when there are no more results to return. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation @@ -41143,7 +50900,7 @@ func (s *DescribeFpgaImagesOutput) SetNextToken(v string) *DescribeFpgaImagesOut type DescribeHostReservationOfferingsInput struct { _ struct{} `type:"structure"` - // One or more filters. + // The filters. // // * instance-family - The instance family of the offering (for example, // m4). @@ -41162,7 +50919,7 @@ type DescribeHostReservationOfferingsInput struct { // The remaining results can be seen by sending another request with the returned // nextToken value. This value can be between 5 and 500. If maxResults is given // a larger value than 500, you receive an error. - MaxResults *int64 `type:"integer"` + MaxResults *int64 `min:"5" type:"integer"` // This is the minimum duration of the reservation you'd like to purchase, specified // in seconds. Reservations are available in one-year and three-year terms. @@ -41188,6 +50945,19 @@ func (s DescribeHostReservationOfferingsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeHostReservationOfferingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeHostReservationOfferingsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetFilter sets the Filter field's value. func (s *DescribeHostReservationOfferingsInput) SetFilter(v []*Filter) *DescribeHostReservationOfferingsInput { s.Filter = v @@ -41260,7 +51030,7 @@ func (s *DescribeHostReservationOfferingsOutput) SetOfferingSet(v []*HostOfferin type DescribeHostReservationsInput struct { _ struct{} `type:"structure"` - // One or more filters. + // The filters. // // * instance-family - The instance family (for example, m4). // @@ -41268,9 +51038,19 @@ type DescribeHostReservationsInput struct { // // * state - The state of the reservation (payment-pending | payment-failed // | active | retired). + // + // * tag: - The key/value combination of a tag assigned to the resource. + // Use the tag key in the filter name and the tag value as the filter value. + // For example, to find all resources that have a tag with the key Owner + // and the value TeamA, specify tag:Owner for the filter name and TeamA for + // the filter value. + // + // * tag-key - The key of a tag assigned to the resource. Use this filter + // to find all resources assigned a tag with a specific key, regardless of + // the tag value. Filter []*Filter `locationNameList:"Filter" type:"list"` - // One or more host reservation IDs. + // The host reservation IDs. HostReservationIdSet []*string `locationNameList:"item" type:"list"` // The maximum number of results to return for the request in a single page. @@ -41353,7 +51133,7 @@ func (s *DescribeHostReservationsOutput) SetNextToken(v string) *DescribeHostRes type DescribeHostsInput struct { _ struct{} `type:"structure"` - // One or more filters. + // The filters. // // * auto-placement - Whether auto-placement is enabled or disabled (on | // off). @@ -41382,11 +51162,13 @@ type DescribeHostsInput struct { // The maximum number of results to return for the request in a single page. // The remaining results can be seen by sending another request with the returned // nextToken value. This value can be between 5 and 500. If maxResults is given - // a larger value than 500, you receive an error. You cannot specify this parameter - // and the host IDs parameter in the same request. + // a larger value than 500, you receive an error. + // + // You cannot specify this parameter and the host IDs parameter in the same + // request. MaxResults *int64 `locationName:"maxResults" type:"integer"` - // The token to retrieve the next page of results. + // The token to use to retrieve the next page of results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -41460,10 +51242,10 @@ func (s *DescribeHostsOutput) SetNextToken(v string) *DescribeHostsOutput { type DescribeIamInstanceProfileAssociationsInput struct { _ struct{} `type:"structure"` - // One or more IAM instance profile associations. + // The IAM instance profile associations. AssociationIds []*string `locationName:"AssociationId" locationNameList:"AssociationId" type:"list"` - // One or more filters. + // The filters. // // * instance-id - The ID of the instance. // @@ -41476,7 +51258,7 @@ type DescribeIamInstanceProfileAssociationsInput struct { MaxResults *int64 `min:"5" type:"integer"` // The token to request the next page of results. - NextToken *string `min:"1" type:"string"` + NextToken *string `type:"string"` } // String returns the string representation @@ -41495,9 +51277,6 @@ func (s *DescribeIamInstanceProfileAssociationsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 5 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -41532,12 +51311,12 @@ func (s *DescribeIamInstanceProfileAssociationsInput) SetNextToken(v string) *De type DescribeIamInstanceProfileAssociationsOutput struct { _ struct{} `type:"structure"` - // Information about one or more IAM instance profile associations. + // Information about the IAM instance profile associations. IamInstanceProfileAssociations []*IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociationSet" locationNameList:"item" type:"list"` // The token to use to retrieve the next page of results. This value is null // when there are no more results to return. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation @@ -41764,7 +51543,7 @@ func (s *DescribeImageAttributeInput) SetImageId(v string) *DescribeImageAttribu type DescribeImageAttributeOutput struct { _ struct{} `type:"structure"` - // One or more block device mapping entries. + // The block device mapping entries. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"` // A description for the AMI. @@ -41776,10 +51555,10 @@ type DescribeImageAttributeOutput struct { // The kernel ID. KernelId *AttributeValue `locationName:"kernel" type:"structure"` - // One or more launch permissions. + // The launch permissions. LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"` - // One or more product codes. + // The product codes. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"` // The RAM disk ID. @@ -41848,7 +51627,6 @@ func (s *DescribeImageAttributeOutput) SetSriovNetSupport(v *AttributeValue) *De return s } -// Contains the parameters for DescribeImages. type DescribeImagesInput struct { _ struct{} `type:"structure"` @@ -41862,9 +51640,9 @@ type DescribeImagesInput struct { // account ID, self (the sender of the request), or all (public AMIs). ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"` - // One or more filters. + // The filters. // - // * architecture - The image architecture (i386 | x86_64). + // * architecture - The image architecture (i386 | x86_64 | arm64). // // * block-device-mapping.delete-on-termination - A Boolean value that indicates // whether the Amazon EBS volume is deleted on instance termination. @@ -41881,6 +51659,9 @@ type DescribeImagesInput struct { // * block-device-mapping.volume-type - The volume type of the EBS volume // (gp2 | io1 | st1 | sc1 | standard). // + // * block-device-mapping.encrypted - A Boolean that indicates whether the + // EBS volume is encrypted. + // // * description - The description of the image (provided during image creation). // // * ena-support - A Boolean that indicates whether enhanced networking with @@ -41941,7 +51722,7 @@ type DescribeImagesInput struct { // * virtualization-type - The virtualization type (paravirtual | hvm). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // One or more image IDs. + // The image IDs. // // Default: Describes all images available to you. ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"` @@ -41993,11 +51774,10 @@ func (s *DescribeImagesInput) SetOwners(v []*string) *DescribeImagesInput { return s } -// Contains the output of DescribeImages. type DescribeImagesOutput struct { _ struct{} `type:"structure"` - // Information about one or more images. + // Information about the images. Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"` } @@ -42017,7 +51797,6 @@ func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput { return s } -// Contains the parameters for DescribeImportImageTasks. type DescribeImportImageTasksInput struct { _ struct{} `type:"structure"` @@ -42082,7 +51861,6 @@ func (s *DescribeImportImageTasksInput) SetNextToken(v string) *DescribeImportIm return s } -// Contains the output for DescribeImportImageTasks. type DescribeImportImageTasksOutput struct { _ struct{} `type:"structure"` @@ -42117,7 +51895,6 @@ func (s *DescribeImportImageTasksOutput) SetNextToken(v string) *DescribeImportI return s } -// Contains the parameters for DescribeImportSnapshotTasks. type DescribeImportSnapshotTasksInput struct { _ struct{} `type:"structure"` @@ -42127,7 +51904,7 @@ type DescribeImportSnapshotTasksInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // One or more filters. + // The filters. Filters []*Filter `locationNameList:"Filter" type:"list"` // A list of import snapshot task IDs. @@ -42181,7 +51958,6 @@ func (s *DescribeImportSnapshotTasksInput) SetNextToken(v string) *DescribeImpor return s } -// Contains the output for DescribeImportSnapshotTasks. type DescribeImportSnapshotTasksOutput struct { _ struct{} `type:"structure"` @@ -42446,12 +52222,12 @@ type DescribeInstanceCreditSpecificationsInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // One or more filters. + // The filters. // // * instance-id - The ID of the instance. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // One or more instance IDs. + // The instance IDs. // // Default: Describes all your instances. // @@ -42462,7 +52238,7 @@ type DescribeInstanceCreditSpecificationsInput struct { // remaining results, make another call with the returned NextToken value. This // value can be between 5 and 1000. You cannot specify this parameter and the // instance IDs parameter in the same call. - MaxResults *int64 `type:"integer"` + MaxResults *int64 `min:"5" type:"integer"` // The token to retrieve the next page of results. NextToken *string `type:"string"` @@ -42478,6 +52254,19 @@ func (s DescribeInstanceCreditSpecificationsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInstanceCreditSpecificationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceCreditSpecificationsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DescribeInstanceCreditSpecificationsInput) SetDryRun(v bool) *DescribeInstanceCreditSpecificationsInput { s.DryRun = &v @@ -42550,7 +52339,7 @@ type DescribeInstanceStatusInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more filters. + // The filters. // // * availability-zone - The Availability Zone of the instance. // @@ -42559,12 +52348,18 @@ type DescribeInstanceStatusInput struct { // // * event.description - A description of the event. // + // * event.instance-event-id - The ID of the event whose date and time you + // are modifying. + // // * event.not-after - The latest end time for the scheduled event (for example, // 2014-09-15T17:15:20.000Z). // // * event.not-before - The earliest start time for the scheduled event (for // example, 2014-09-15T17:15:20.000Z). // + // * event.not-before-deadline - The deadline for starting the event (for + // example, 2014-09-15T17:15:20.000Z). + // // * instance-state-code - The code for the instance state, as a 16-bit unsigned // integer. The high byte is used for internal purposes and should be ignored. // The low byte is set based on the state represented. The valid values are @@ -42593,7 +52388,7 @@ type DescribeInstanceStatusInput struct { // Default: false IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"` - // One or more instance IDs. + // The instance IDs. // // Default: Describes all your instances. // @@ -42659,7 +52454,7 @@ func (s *DescribeInstanceStatusInput) SetNextToken(v string) *DescribeInstanceSt type DescribeInstanceStatusOutput struct { _ struct{} `type:"structure"` - // One or more instance status descriptions. + // Information about the status of the instances. InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"` // The token to use to retrieve the next page of results. This value is null @@ -42698,12 +52493,12 @@ type DescribeInstancesInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more filters. + // The filters. // // * affinity - The affinity setting for an instance running on a Dedicated // Host (default | host). // - // * architecture - The instance architecture (i386 | x86_64). + // * architecture - The instance architecture (i386 | x86_64 | arm64). // // * availability-zone - The Availability Zone of the instance. // @@ -42766,7 +52561,6 @@ type DescribeInstancesInput struct { // // * instance.group-name - The name of the security group for the instance. // - // // * ip-address - The public IPv4 address of the instance. // // * kernel-id - The kernel ID. @@ -42776,7 +52570,6 @@ type DescribeInstancesInput struct { // * launch-index - When launching multiple instances, this is the index // for the instance in the launch group (for example, 0, 1, 2, and so on). // - // // * launch-time - The time when the instance was launched. // // * monitoring-state - Indicates whether detailed monitoring is enabled @@ -42872,8 +52665,10 @@ type DescribeInstancesInput struct { // // * placement-group-name - The name of the placement group for the instance. // - // * platform - The platform. Use windows if you have Windows instances; - // otherwise, leave blank. + // * placement-partition-number - The partition in which the instance is + // located. + // + // * platform - The platform. To list only Windows instances, use windows. // // * private-dns-name - The private IPv4 DNS name of the instance. // @@ -42937,7 +52732,7 @@ type DescribeInstancesInput struct { // * vpc-id - The ID of the VPC that the instance is running in. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // One or more instance IDs. + // The instance IDs. // // Default: Describes all your instances. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"` @@ -42999,7 +52794,7 @@ type DescribeInstancesOutput struct { // when there are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` - // Zero or more reservations. + // Information about the reservations. Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"` } @@ -43060,6 +52855,13 @@ type DescribeInternetGatewaysInput struct { // // Default: Describes all your internet gateways. InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` } // String returns the string representation @@ -43072,6 +52874,19 @@ func (s DescribeInternetGatewaysInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInternetGatewaysInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInternetGatewaysInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DescribeInternetGatewaysInput) SetDryRun(v bool) *DescribeInternetGatewaysInput { s.DryRun = &v @@ -43090,11 +52905,27 @@ func (s *DescribeInternetGatewaysInput) SetInternetGatewayIds(v []*string) *Desc return s } +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeInternetGatewaysInput) SetMaxResults(v int64) *DescribeInternetGatewaysInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInternetGatewaysInput) SetNextToken(v string) *DescribeInternetGatewaysInput { + s.NextToken = &v + return s +} + type DescribeInternetGatewaysOutput struct { _ struct{} `type:"structure"` // Information about one or more internet gateways. InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation @@ -43113,6 +52944,12 @@ func (s *DescribeInternetGatewaysOutput) SetInternetGateways(v []*InternetGatewa return s } +// SetNextToken sets the NextToken field's value. +func (s *DescribeInternetGatewaysOutput) SetNextToken(v string) *DescribeInternetGatewaysOutput { + s.NextToken = &v + return s +} + type DescribeKeyPairsInput struct { _ struct{} `type:"structure"` @@ -43122,14 +52959,14 @@ type DescribeKeyPairsInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more filters. + // The filters. // // * fingerprint - The fingerprint of the key pair. // // * key-name - The name of the key pair. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // One or more key pair names. + // The key pair names. // // Default: Describes all your key pairs. KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"` @@ -43166,7 +53003,7 @@ func (s *DescribeKeyPairsInput) SetKeyNames(v []*string) *DescribeKeyPairsInput type DescribeKeyPairsOutput struct { _ struct{} `type:"structure"` - // Information about one or more key pairs. + // Information about the key pairs. KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"` } @@ -43387,7 +53224,7 @@ type DescribeLaunchTemplatesInput struct { // The maximum number of results to return in a single call. To retrieve the // remaining results, make another call with the returned NextToken value. This // value can be between 1 and 200. - MaxResults *int64 `type:"integer"` + MaxResults *int64 `min:"1" type:"integer"` // The token to request the next page of results. NextToken *string `type:"string"` @@ -43403,6 +53240,19 @@ func (s DescribeLaunchTemplatesInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeLaunchTemplatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplatesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DescribeLaunchTemplatesInput) SetDryRun(v bool) *DescribeLaunchTemplatesInput { s.DryRun = &v @@ -43493,7 +53343,7 @@ type DescribeMovingAddressesInput struct { // 1000; if MaxResults is given a value outside of this range, an error is returned. // // Default: If no value is provided, the default is 1000. - MaxResults *int64 `locationName:"maxResults" type:"integer"` + MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"` // The token for the next page of results. NextToken *string `locationName:"nextToken" type:"string"` @@ -43512,6 +53362,19 @@ func (s DescribeMovingAddressesInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMovingAddressesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMovingAddressesInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DescribeMovingAddressesInput) SetDryRun(v bool) *DescribeMovingAddressesInput { s.DryRun = &v @@ -43600,18 +53463,14 @@ type DescribeNatGatewaysInput struct { // * vpc-id - The ID of the VPC in which the NAT gateway resides. Filter []*Filter `locationNameList:"Filter" type:"list"` - // The maximum number of items to return for this request. The request returns - // a token that you can specify in a subsequent call to get the next set of - // results. - // - // Constraint: If the value specified is greater than 1000, we return only 1000 - // items. - MaxResults *int64 `type:"integer"` + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"5" type:"integer"` // One or more NAT gateway IDs. NatGatewayIds []*string `locationName:"NatGatewayId" locationNameList:"item" type:"list"` - // The token to retrieve the next page of results. + // The token for the next page of results. NextToken *string `type:"string"` } @@ -43625,6 +53484,19 @@ func (s DescribeNatGatewaysInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeNatGatewaysInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeNatGatewaysInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetFilter sets the Filter field's value. func (s *DescribeNatGatewaysInput) SetFilter(v []*Filter) *DescribeNatGatewaysInput { s.Filter = v @@ -43716,7 +53588,6 @@ type DescribeNetworkAclsInput struct { // // * entry.port-range.to - The end of the port range specified in the entry. // - // // * entry.protocol - The protocol specified in the entry (tcp | udp | icmp // or a protocol number). // @@ -43742,10 +53613,17 @@ type DescribeNetworkAclsInput struct { // * vpc-id - The ID of the VPC for the network ACL. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"5" type:"integer"` + // One or more network ACL IDs. // // Default: Describes all your network ACLs. NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"` + + // The token for the next page of results. + NextToken *string `type:"string"` } // String returns the string representation @@ -43758,6 +53636,19 @@ func (s DescribeNetworkAclsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeNetworkAclsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkAclsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DescribeNetworkAclsInput) SetDryRun(v bool) *DescribeNetworkAclsInput { s.DryRun = &v @@ -43770,17 +53661,33 @@ func (s *DescribeNetworkAclsInput) SetFilters(v []*Filter) *DescribeNetworkAclsI return s } +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeNetworkAclsInput) SetMaxResults(v int64) *DescribeNetworkAclsInput { + s.MaxResults = &v + return s +} + // SetNetworkAclIds sets the NetworkAclIds field's value. func (s *DescribeNetworkAclsInput) SetNetworkAclIds(v []*string) *DescribeNetworkAclsInput { s.NetworkAclIds = v return s } +// SetNextToken sets the NextToken field's value. +func (s *DescribeNetworkAclsInput) SetNextToken(v string) *DescribeNetworkAclsInput { + s.NextToken = &v + return s +} + type DescribeNetworkAclsOutput struct { _ struct{} `type:"structure"` // Information about one or more network ACLs. NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation @@ -43799,6 +53706,12 @@ func (s *DescribeNetworkAclsOutput) SetNetworkAcls(v []*NetworkAcl) *DescribeNet return s } +// SetNextToken sets the NextToken field's value. +func (s *DescribeNetworkAclsOutput) SetNextToken(v string) *DescribeNetworkAclsOutput { + s.NextToken = &v + return s +} + // Contains the parameters for DescribeNetworkInterfaceAttribute. type DescribeNetworkInterfaceAttributeInput struct { _ struct{} `type:"structure"` @@ -43942,7 +53855,7 @@ type DescribeNetworkInterfacePermissionsInput struct { // The maximum number of results to return in a single call. To retrieve the // remaining results, make another call with the returned NextToken value. If // this parameter is not specified, up to 50 results are returned by default. - MaxResults *int64 `type:"integer"` + MaxResults *int64 `min:"5" type:"integer"` // One or more network interface permission IDs. NetworkInterfacePermissionIds []*string `locationName:"NetworkInterfacePermissionId" type:"list"` @@ -43961,6 +53874,19 @@ func (s DescribeNetworkInterfacePermissionsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeNetworkInterfacePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfacePermissionsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetFilters sets the Filters field's value. func (s *DescribeNetworkInterfacePermissionsInput) SetFilters(v []*Filter) *DescribeNetworkInterfacePermissionsInput { s.Filters = v @@ -44059,7 +53985,7 @@ type DescribeNetworkInterfacesInput struct { // // * attachment.attachment-id - The ID of the interface attachment. // - // * attachment.attach.time - The time that the network interface was attached + // * attachment.attach-time - The time that the network interface was attached // to an instance. // // * attachment.delete-on-termination - Indicates whether the attachment @@ -44110,7 +54036,7 @@ type DescribeNetworkInterfacesInput struct { // managed by an AWS service (for example, AWS Management Console, Auto Scaling, // and so on). // - // * source-desk-check - Indicates whether the network interface performs + // * source-dest-check - Indicates whether the network interface performs // source/destination checking. A value of true means checking is enabled, // and false means checking is disabled. The value must be false for the // network interface to perform network address translation (NAT) in your @@ -44138,7 +54064,7 @@ type DescribeNetworkInterfacesInput struct { // The maximum number of items to return for this request. The request returns // a token that you can specify in a subsequent call to get the next set of // results. - MaxResults *int64 `type:"integer"` + MaxResults *int64 `min:"5" type:"integer"` // One or more network interface IDs. // @@ -44159,6 +54085,19 @@ func (s DescribeNetworkInterfacesInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeNetworkInterfacesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfacesInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DescribeNetworkInterfacesInput) SetDryRun(v bool) *DescribeNetworkInterfacesInput { s.DryRun = &v @@ -44232,17 +54171,17 @@ type DescribePlacementGroupsInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more filters. + // The filters. // // * group-name - The name of the placement group. // // * state - The state of the placement group (pending | available | deleting // | deleted). // - // * strategy - The strategy of the placement group (cluster | spread). + // * strategy - The strategy of the placement group (cluster | spread | partition). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // One or more placement group names. + // The names of the placement groups. // // Default: Describes all your placement groups, or only those otherwise specified. GroupNames []*string `locationName:"groupName" type:"list"` @@ -44279,7 +54218,7 @@ func (s *DescribePlacementGroupsInput) SetGroupNames(v []*string) *DescribePlace type DescribePlacementGroupsOutput struct { _ struct{} `type:"structure"` - // One or more placement groups. + // Information about the placement groups. PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"` } @@ -44315,16 +54254,11 @@ type DescribePrefixListsInput struct { // * prefix-list-name: The name of a prefix list. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // The maximum number of items to return for this request. The request returns - // a token that you can specify in a subsequent call to get the next set of - // results. - // - // Constraint: If the value specified is greater than 1000, we return only 1000 - // items. + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. MaxResults *int64 `type:"integer"` - // The token for the next set of items to return. (You received this token from - // a prior call.) + // The token for the next page of results. NextToken *string `type:"string"` // One or more prefix list IDs. @@ -44374,8 +54308,8 @@ func (s *DescribePrefixListsInput) SetPrefixListIds(v []*string) *DescribePrefix type DescribePrefixListsOutput struct { _ struct{} `type:"structure"` - // The token to use when requesting the next set of items. If there are no additional - // items to return, the string is empty. + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` // All available prefix lists. @@ -44415,7 +54349,7 @@ type DescribePrincipalIdFormatInput struct { // The maximum number of results to return in a single call. To retrieve the // remaining results, make another call with the returned NextToken value. - MaxResults *int64 `type:"integer"` + MaxResults *int64 `min:"1" type:"integer"` // The token to request the next page of results. NextToken *string `type:"string"` @@ -44440,6 +54374,19 @@ func (s DescribePrincipalIdFormatInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribePrincipalIdFormatInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribePrincipalIdFormatInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DescribePrincipalIdFormatInput) SetDryRun(v bool) *DescribePrincipalIdFormatInput { s.DryRun = &v @@ -44505,7 +54452,7 @@ type DescribePublicIpv4PoolsInput struct { MaxResults *int64 `min:"1" type:"integer"` // The token for the next page of results. - NextToken *string `min:"1" type:"string"` + NextToken *string `type:"string"` // The IDs of the address pools. PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"` @@ -44527,9 +54474,6 @@ func (s *DescribePublicIpv4PoolsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -44591,20 +54535,25 @@ func (s *DescribePublicIpv4PoolsOutput) SetPublicIpv4Pools(v []*PublicIpv4Pool) type DescribeRegionsInput struct { _ struct{} `type:"structure"` + // Indicates whether to display all Regions, including Regions that are disabled + // for your account. + AllRegions *bool `type:"boolean"` + // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have // the required permissions, the error response is DryRunOperation. Otherwise, // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more filters. + // The filters. // - // * endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com). + // * endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com). // - // * region-name - The name of the region (for example, us-east-1). + // * region-name - The name of the Region (for example, us-east-1). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // The names of one or more regions. + // The names of the Regions. You can specify any Regions, whether they are enabled + // and disabled for your account. RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"` } @@ -44618,6 +54567,12 @@ func (s DescribeRegionsInput) GoString() string { return s.String() } +// SetAllRegions sets the AllRegions field's value. +func (s *DescribeRegionsInput) SetAllRegions(v bool) *DescribeRegionsInput { + s.AllRegions = &v + return s +} + // SetDryRun sets the DryRun field's value. func (s *DescribeRegionsInput) SetDryRun(v bool) *DescribeRegionsInput { s.DryRun = &v @@ -44639,7 +54594,7 @@ func (s *DescribeRegionsInput) SetRegionNames(v []*string) *DescribeRegionsInput type DescribeRegionsOutput struct { _ struct{} `type:"structure"` - // Information about one or more regions. + // Information about the Regions. Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"` } @@ -44866,7 +54821,7 @@ type DescribeReservedInstancesModificationsInput struct { // * modification-result.target-configuration.availability-zone - The Availability // Zone for the new Reserved Instances. // - // * modification-result.target-configuration.instance-count - The number + // * modification-result.target-configuration.instance-count - The number // of new Reserved Instances. // // * modification-result.target-configuration.instance-type - The instance @@ -44994,7 +54949,7 @@ type DescribeReservedInstancesOfferingsInput struct { // SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise // Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL // Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows - // with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows + // with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows // with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon // VPC)) // @@ -45020,7 +54975,7 @@ type DescribeReservedInstancesOfferingsInput struct { InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"` // The instance type that the reservation will cover (for example, m1.small). - // For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) // in the Amazon Elastic Compute Cloud User Guide. InstanceType *string `type:"string" enum:"InstanceType"` @@ -45300,12 +55255,11 @@ type DescribeRouteTablesInput struct { // * vpc-id - The ID of the VPC for the route table. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // The maximum number of results to return in a single call. To retrieve the - // remaining results, make another call with the returned NextToken value. This - // value can be between 5 and 100. - MaxResults *int64 `type:"integer"` + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"5" type:"integer"` - // The token to retrieve the next page of results. + // The token for the next page of results. NextToken *string `type:"string"` // One or more route table IDs. @@ -45324,6 +55278,19 @@ func (s DescribeRouteTablesInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeRouteTablesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeRouteTablesInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DescribeRouteTablesInput) SetDryRun(v bool) *DescribeRouteTablesInput { s.DryRun = &v @@ -45398,7 +55365,7 @@ type DescribeScheduledInstanceAvailabilityInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // One or more filters. + // The filters. // // * availability-zone - The Availability Zone (for example, us-west-2a). // @@ -45417,7 +55384,7 @@ type DescribeScheduledInstanceAvailabilityInput struct { // The maximum number of results to return in a single call. This value can // be between 5 and 300. The default value is 300. To retrieve the remaining // results, make another call with the returned NextToken value. - MaxResults *int64 `type:"integer"` + MaxResults *int64 `min:"5" type:"integer"` // The maximum available duration, in hours. This value must be greater than // MinSlotDurationInHours and less than 1,720. @@ -45454,6 +55421,9 @@ func (s *DescribeScheduledInstanceAvailabilityInput) Validate() error { if s.FirstSlotStartTimeRange == nil { invalidParams.Add(request.NewErrParamRequired("FirstSlotStartTimeRange")) } + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } if s.Recurrence == nil { invalidParams.Add(request.NewErrParamRequired("Recurrence")) } @@ -45561,7 +55531,7 @@ type DescribeScheduledInstancesInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // One or more filters. + // The filters. // // * availability-zone - The Availability Zone (for example, us-west-2a). // @@ -45580,7 +55550,7 @@ type DescribeScheduledInstancesInput struct { // The token for the next set of results. NextToken *string `type:"string"` - // One or more Scheduled Instance IDs. + // The Scheduled Instance IDs. ScheduledInstanceIds []*string `locationName:"ScheduledInstanceId" locationNameList:"ScheduledInstanceId" type:"list"` // The time period for the first schedule to start. @@ -45676,7 +55646,7 @@ type DescribeSecurityGroupReferencesInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // One or more security group IDs in your account. + // The IDs of the security groups in your account. // // GroupId is a required field GroupId []*string `locationNameList:"item" type:"list" required:"true"` @@ -45749,9 +55719,9 @@ type DescribeSecurityGroupsInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more filters. If using multiple filters for rules, the results include - // security groups for which any combination of rules - not necessarily a single - // rule - match all filters. + // The filters. If using multiple filters for rules, the results include security + // groups for which any combination of rules - not necessarily a single rule + // - match all filters. // // * description - The description of the security group. // @@ -45828,13 +55798,13 @@ type DescribeSecurityGroupsInput struct { // * vpc-id - The ID of the VPC specified when the security group was created. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // One or more security group IDs. Required for security groups in a nondefault + // The IDs of the security groups. Required for security groups in a nondefault // VPC. // // Default: Describes all your security groups. GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"` - // [EC2-Classic and default VPC only] One or more security group names. You + // [EC2-Classic and default VPC only] The names of the security groups. You // can specify either the security group name or the security group ID. For // security groups in a nondefault VPC, use the group-name filter to describe // security groups by name. @@ -45846,7 +55816,7 @@ type DescribeSecurityGroupsInput struct { // remaining results, make another request with the returned NextToken value. // This value can be between 5 and 1000. If this parameter is not specified, // then all results are returned. - MaxResults *int64 `type:"integer"` + MaxResults *int64 `min:"5" type:"integer"` // The token to request the next page of results. NextToken *string `type:"string"` @@ -45862,6 +55832,19 @@ func (s DescribeSecurityGroupsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSecurityGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DescribeSecurityGroupsInput) SetDryRun(v bool) *DescribeSecurityGroupsInput { s.DryRun = &v @@ -45905,7 +55888,7 @@ type DescribeSecurityGroupsOutput struct { // when there are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` - // Information about one or more security groups. + // Information about the security groups. SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"` } @@ -46000,10 +55983,11 @@ func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapsh type DescribeSnapshotAttributeOutput struct { _ struct{} `type:"structure"` - // A list of permissions for creating volumes from the snapshot. + // The users and groups that have the permissions for creating volumes from + // the snapshot. CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"` - // A list of product codes. + // The product codes. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"` // The ID of the EBS snapshot. @@ -46038,7 +56022,6 @@ func (s *DescribeSnapshotAttributeOutput) SetSnapshotId(v string) *DescribeSnaps return s } -// Contains the parameters for DescribeSnapshots. type DescribeSnapshotsInput struct { _ struct{} `type:"structure"` @@ -46048,13 +56031,16 @@ type DescribeSnapshotsInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more filters. + // The filters. // // * description - A description of the snapshot. // - // * owner-alias - Value from an Amazon-maintained list (amazon | aws-marketplace - // | microsoft) of snapshot owners. Not to be confused with the user-configured - // AWS account alias, which is set from the IAM console. + // * encrypted - Indicates whether the snapshot is encrypted (true | false) + // + // * owner-alias - Value from an Amazon-maintained list (amazon | self | + // all | aws-marketplace | microsoft) of snapshot owners. Not to be confused + // with the user-configured AWS account alias, which is set from the IAM + // console. // // * owner-id - The ID of the AWS account that owns the snapshot. // @@ -46100,16 +56086,15 @@ type DescribeSnapshotsInput struct { // to return. NextToken *string `type:"string"` - // Returns the snapshots owned by the specified owner. Multiple owners can be - // specified. + // Describes the snapshots owned by these owners. OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"` - // One or more AWS accounts IDs that can create volumes from the snapshot. + // The IDs of the AWS accounts that can create volumes from the snapshot. RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"` - // One or more snapshot IDs. + // The snapshot IDs. // - // Default: Describes snapshots for which you have launch permissions. + // Default: Describes the snapshots for which you have create volume permissions. SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"` } @@ -46165,7 +56150,6 @@ func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsI return s } -// Contains the output of DescribeSnapshots. type DescribeSnapshotsOutput struct { _ struct{} `type:"structure"` @@ -46265,7 +56249,7 @@ type DescribeSpotFleetInstancesInput struct { // The maximum number of results to return in a single call. Specify a value // between 1 and 1000. The default value is 1000. To retrieve the remaining // results, make another call with the returned NextToken value. - MaxResults *int64 `locationName:"maxResults" type:"integer"` + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` // The token for the next set of results. NextToken *string `locationName:"nextToken" type:"string"` @@ -46289,6 +56273,9 @@ func (s DescribeSpotFleetInstancesInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeSpotFleetInstancesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetInstancesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } if s.SpotFleetRequestId == nil { invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId")) } @@ -46329,18 +56316,14 @@ type DescribeSpotFleetInstancesOutput struct { // The running instances. This list is refreshed periodically and might be out // of date. - // - // ActiveInstances is a required field - ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list" required:"true"` + ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"` // The token required to retrieve the next set of results. This value is null // when there are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` // The ID of the Spot Fleet request. - // - // SpotFleetRequestId is a required field - SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` + SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"` } // String returns the string representation @@ -46387,7 +56370,7 @@ type DescribeSpotFleetRequestHistoryInput struct { // The maximum number of results to return in a single call. Specify a value // between 1 and 1000. The default value is 1000. To retrieve the remaining // results, make another call with the returned NextToken value. - MaxResults *int64 `locationName:"maxResults" type:"integer"` + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` // The token for the next set of results. NextToken *string `locationName:"nextToken" type:"string"` @@ -46416,6 +56399,9 @@ func (s DescribeSpotFleetRequestHistoryInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeSpotFleetRequestHistoryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetRequestHistoryInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } if s.SpotFleetRequestId == nil { invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId")) } @@ -46470,31 +56456,23 @@ type DescribeSpotFleetRequestHistoryOutput struct { _ struct{} `type:"structure"` // Information about the events in the history of the Spot Fleet request. - // - // HistoryRecords is a required field - HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list" required:"true"` + HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list"` // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). // All records up to this time were retrieved. // // If nextToken indicates that there are more results, this value is not present. - // - // LastEvaluatedTime is a required field - LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp" required:"true"` + LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp"` // The token required to retrieve the next set of results. This value is null // when there are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` // The ID of the Spot Fleet request. - // - // SpotFleetRequestId is a required field - SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` + SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"` // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). - // - // StartTime is a required field - StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"` + StartTime *time.Time `locationName:"startTime" type:"timestamp"` } // String returns the string representation @@ -46602,9 +56580,7 @@ type DescribeSpotFleetRequestsOutput struct { NextToken *string `locationName:"nextToken" type:"string"` // Information about the configuration of your Spot Fleet. - // - // SpotFleetRequestConfigs is a required field - SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list" required:"true"` + SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list"` } // String returns the string representation @@ -46721,7 +56697,7 @@ type DescribeSpotInstanceRequestsInput struct { // * state - The state of the Spot Instance request (open | active | closed // | cancelled | failed). Spot request status information can help you track // your Amazon EC2 Spot Instance requests. For more information, see Spot - // Request Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) + // Request Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) // in the Amazon EC2 User Guide for Linux Instances. // // * status-code - The short code describing the most recent evaluation of @@ -46747,6 +56723,15 @@ type DescribeSpotInstanceRequestsInput struct { // * valid-until - The end date of the request. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + // The maximum number of results to return in a single call. Specify a value + // between 5 and 1000. To retrieve the remaining results, make another call + // with the returned NextToken value. + MaxResults *int64 `type:"integer"` + + // The token to request the next set of results. This value is null when there + // are no more results to return. + NextToken *string `type:"string"` + // One or more Spot Instance request IDs. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"` } @@ -46773,6 +56758,18 @@ func (s *DescribeSpotInstanceRequestsInput) SetFilters(v []*Filter) *DescribeSpo return s } +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeSpotInstanceRequestsInput) SetMaxResults(v int64) *DescribeSpotInstanceRequestsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSpotInstanceRequestsInput) SetNextToken(v string) *DescribeSpotInstanceRequestsInput { + s.NextToken = &v + return s +} + // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value. func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *DescribeSpotInstanceRequestsInput { s.SpotInstanceRequestIds = v @@ -46783,6 +56780,10 @@ func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*strin type DescribeSpotInstanceRequestsOutput struct { _ struct{} `type:"structure"` + // The token to use to retrieve the next set of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + // One or more Spot Instance requests. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"` } @@ -46797,6 +56798,12 @@ func (s DescribeSpotInstanceRequestsOutput) GoString() string { return s.String() } +// SetNextToken sets the NextToken field's value. +func (s *DescribeSpotInstanceRequestsOutput) SetNextToken(v string) *DescribeSpotInstanceRequestsOutput { + s.NextToken = &v + return s +} + // SetSpotInstanceRequests sets the SpotInstanceRequests field's value. func (s *DescribeSpotInstanceRequestsOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *DescribeSpotInstanceRequestsOutput { s.SpotInstanceRequests = v @@ -47123,6 +57130,13 @@ type DescribeSubnetsInput struct { // * vpc-id - The ID of the VPC for the subnet. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` + // One or more subnet IDs. // // Default: Describes all your subnets. @@ -47139,6 +57153,19 @@ func (s DescribeSubnetsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSubnetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSubnetsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DescribeSubnetsInput) SetDryRun(v bool) *DescribeSubnetsInput { s.DryRun = &v @@ -47151,6 +57178,18 @@ func (s *DescribeSubnetsInput) SetFilters(v []*Filter) *DescribeSubnetsInput { return s } +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeSubnetsInput) SetMaxResults(v int64) *DescribeSubnetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSubnetsInput) SetNextToken(v string) *DescribeSubnetsInput { + s.NextToken = &v + return s +} + // SetSubnetIds sets the SubnetIds field's value. func (s *DescribeSubnetsInput) SetSubnetIds(v []*string) *DescribeSubnetsInput { s.SubnetIds = v @@ -47160,6 +57199,10 @@ func (s *DescribeSubnetsInput) SetSubnetIds(v []*string) *DescribeSubnetsInput { type DescribeSubnetsOutput struct { _ struct{} `type:"structure"` + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + // Information about one or more subnets. Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"` } @@ -47174,6 +57217,12 @@ func (s DescribeSubnetsOutput) GoString() string { return s.String() } +// SetNextToken sets the NextToken field's value. +func (s *DescribeSubnetsOutput) SetNextToken(v string) *DescribeSubnetsOutput { + s.NextToken = &v + return s +} + // SetSubnets sets the Subnets field's value. func (s *DescribeSubnetsOutput) SetSubnets(v []*Subnet) *DescribeSubnetsOutput { s.Subnets = v @@ -47189,7 +57238,7 @@ type DescribeTagsInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more filters. + // The filters. // // * key - The tag key. // @@ -47197,9 +57246,10 @@ type DescribeTagsInput struct { // // * resource-type - The resource type (customer-gateway | dedicated-host // | dhcp-options | elastic-ip | fleet | fpga-image | image | instance | - // internet-gateway | launch-template | natgateway | network-acl | network-interface - // | reserved-instances | route-table | security-group | snapshot | spot-instances-request - // | subnet | volume | vpc | vpc-peering-connection | vpn-connection | vpn-gateway). + // host-reservation | internet-gateway | launch-template | natgateway | network-acl + // | network-interface | reserved-instances | route-table | security-group + // | snapshot | spot-instances-request | subnet | volume | vpc | vpc-peering-connection + // | vpn-connection | vpn-gateway). // // * tag: - The key/value combination of the tag. For example, specify // "tag:Owner" for the filter name and "TeamA" for the filter value to find @@ -47284,7 +57334,7 @@ func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput { return s } -type DescribeTransitGatewayAttachmentsInput struct { +type DescribeTrafficMirrorFiltersInput struct { _ struct{} `type:"structure"` // Checks whether you have the required permissions for the action, without @@ -47295,26 +57345,388 @@ type DescribeTransitGatewayAttachmentsInput struct { // One or more filters. The possible values are: // - // * association-id - The ID of the association. + // * description: The Traffic Mirror filter description. // - // * association-route-table-id - The ID of the route table for the transit - // gateway. + // * traffic-mirror-filter-id: The ID of the Traffic Mirror filter. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` + + // The ID of the Traffic Mirror filter. + TrafficMirrorFilterIds []*string `locationName:"TrafficMirrorFilterId" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DescribeTrafficMirrorFiltersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTrafficMirrorFiltersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTrafficMirrorFiltersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorFiltersInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeTrafficMirrorFiltersInput) SetDryRun(v bool) *DescribeTrafficMirrorFiltersInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeTrafficMirrorFiltersInput) SetFilters(v []*Filter) *DescribeTrafficMirrorFiltersInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeTrafficMirrorFiltersInput) SetMaxResults(v int64) *DescribeTrafficMirrorFiltersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeTrafficMirrorFiltersInput) SetNextToken(v string) *DescribeTrafficMirrorFiltersInput { + s.NextToken = &v + return s +} + +// SetTrafficMirrorFilterIds sets the TrafficMirrorFilterIds field's value. +func (s *DescribeTrafficMirrorFiltersInput) SetTrafficMirrorFilterIds(v []*string) *DescribeTrafficMirrorFiltersInput { + s.TrafficMirrorFilterIds = v + return s +} + +type DescribeTrafficMirrorFiltersOutput struct { + _ struct{} `type:"structure"` + + // The token to use to retrieve the next page of results. The value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // Information about one or more Traffic Mirror filters. + TrafficMirrorFilters []*TrafficMirrorFilter `locationName:"trafficMirrorFilterSet" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DescribeTrafficMirrorFiltersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTrafficMirrorFiltersOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeTrafficMirrorFiltersOutput) SetNextToken(v string) *DescribeTrafficMirrorFiltersOutput { + s.NextToken = &v + return s +} + +// SetTrafficMirrorFilters sets the TrafficMirrorFilters field's value. +func (s *DescribeTrafficMirrorFiltersOutput) SetTrafficMirrorFilters(v []*TrafficMirrorFilter) *DescribeTrafficMirrorFiltersOutput { + s.TrafficMirrorFilters = v + return s +} + +type DescribeTrafficMirrorSessionsInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // One or more filters. The possible values are: + // + // * description: The Traffic Mirror session description. + // + // * network-interface-id: The ID of the Traffic Mirror session network interface. // - // * associate-state - The state of the association (associating | associated + // * owner-id: The ID of the account that owns the Traffic Mirror session. + // + // * packet-length: The assigned number of packets to mirror. + // + // * session-number: The assigned session number. + // + // * traffic-mirror-filter-id: The ID of the Traffic Mirror filter. + // + // * traffic-mirror-session-id: The ID of the Traffic Mirror session. + // + // * traffic-mirror-target-id: The ID of the Traffic Mirror target. + // + // * virtual-network-id: The virtual network ID of the Traffic Mirror session. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` + + // The ID of the Traffic Mirror session. + TrafficMirrorSessionIds []*string `locationName:"TrafficMirrorSessionId" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DescribeTrafficMirrorSessionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTrafficMirrorSessionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTrafficMirrorSessionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorSessionsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeTrafficMirrorSessionsInput) SetDryRun(v bool) *DescribeTrafficMirrorSessionsInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeTrafficMirrorSessionsInput) SetFilters(v []*Filter) *DescribeTrafficMirrorSessionsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeTrafficMirrorSessionsInput) SetMaxResults(v int64) *DescribeTrafficMirrorSessionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeTrafficMirrorSessionsInput) SetNextToken(v string) *DescribeTrafficMirrorSessionsInput { + s.NextToken = &v + return s +} + +// SetTrafficMirrorSessionIds sets the TrafficMirrorSessionIds field's value. +func (s *DescribeTrafficMirrorSessionsInput) SetTrafficMirrorSessionIds(v []*string) *DescribeTrafficMirrorSessionsInput { + s.TrafficMirrorSessionIds = v + return s +} + +type DescribeTrafficMirrorSessionsOutput struct { + _ struct{} `type:"structure"` + + // The token to use to retrieve the next page of results. The value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror + // sessions are described. Alternatively, you can filter the results. + TrafficMirrorSessions []*TrafficMirrorSession `locationName:"trafficMirrorSessionSet" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DescribeTrafficMirrorSessionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTrafficMirrorSessionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeTrafficMirrorSessionsOutput) SetNextToken(v string) *DescribeTrafficMirrorSessionsOutput { + s.NextToken = &v + return s +} + +// SetTrafficMirrorSessions sets the TrafficMirrorSessions field's value. +func (s *DescribeTrafficMirrorSessionsOutput) SetTrafficMirrorSessions(v []*TrafficMirrorSession) *DescribeTrafficMirrorSessionsOutput { + s.TrafficMirrorSessions = v + return s +} + +type DescribeTrafficMirrorTargetsInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // One or more filters. The possible values are: + // + // * description: The Traffic Mirror target description. + // + // * network-interface-id: The ID of the Traffic Mirror session network interface. + // + // * network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network + // Load Balancer that is associated with the session. + // + // * owner-id: The ID of the account that owns the Traffic Mirror session. + // + // * traffic-mirror-target-id: The ID of the Traffic Mirror target. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` + + // The ID of the Traffic Mirror targets. + TrafficMirrorTargetIds []*string `locationName:"TrafficMirrorTargetId" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DescribeTrafficMirrorTargetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTrafficMirrorTargetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTrafficMirrorTargetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorTargetsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeTrafficMirrorTargetsInput) SetDryRun(v bool) *DescribeTrafficMirrorTargetsInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeTrafficMirrorTargetsInput) SetFilters(v []*Filter) *DescribeTrafficMirrorTargetsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeTrafficMirrorTargetsInput) SetMaxResults(v int64) *DescribeTrafficMirrorTargetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeTrafficMirrorTargetsInput) SetNextToken(v string) *DescribeTrafficMirrorTargetsInput { + s.NextToken = &v + return s +} + +// SetTrafficMirrorTargetIds sets the TrafficMirrorTargetIds field's value. +func (s *DescribeTrafficMirrorTargetsInput) SetTrafficMirrorTargetIds(v []*string) *DescribeTrafficMirrorTargetsInput { + s.TrafficMirrorTargetIds = v + return s +} + +type DescribeTrafficMirrorTargetsOutput struct { + _ struct{} `type:"structure"` + + // The token to use to retrieve the next page of results. The value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // Information about one or more Traffic Mirror targets. + TrafficMirrorTargets []*TrafficMirrorTarget `locationName:"trafficMirrorTargetSet" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DescribeTrafficMirrorTargetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTrafficMirrorTargetsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeTrafficMirrorTargetsOutput) SetNextToken(v string) *DescribeTrafficMirrorTargetsOutput { + s.NextToken = &v + return s +} + +// SetTrafficMirrorTargets sets the TrafficMirrorTargets field's value. +func (s *DescribeTrafficMirrorTargetsOutput) SetTrafficMirrorTargets(v []*TrafficMirrorTarget) *DescribeTrafficMirrorTargetsOutput { + s.TrafficMirrorTargets = v + return s +} + +type DescribeTransitGatewayAttachmentsInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // One or more filters. The possible values are: + // + // * association.state - The state of the association (associating | associated // | disassociating). // + // * association.transit-gateway-route-table-id - The ID of the route table + // for the transit gateway. + // // * resource-id - The ID of the resource. // + // * resource-owner-id - The ID of the AWS account that owns the resource. + // // * resource-type - The resource type (vpc | vpn). // - // * state - The state of the attachment (pendingAcceptance | pending | available - // | modifying | deleting | deleted | failed | rejected). + // * state - The state of the attachment (available | deleted | deleting + // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected + // | rejecting). // // * transit-gateway-attachment-id - The ID of the attachment. // // * transit-gateway-id - The ID of the transit gateway. // - // * transit-gateway-owner - The ID of the AWS account that owns the transit + // * transit-gateway-owner-id - The ID of the AWS account that owns the transit // gateway. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -47432,13 +57844,14 @@ type DescribeTransitGatewayRouteTablesInput struct { // * default-propagation-route-table - Indicates whether this is the default // propagation route table for the transit gateway (true | false). // + // * state - The state of the attachment (available | deleted | deleting + // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected + // | rejecting). + // // * transit-gateway-id - The ID of the transit gateway. // // * transit-gateway-route-table-id - The ID of the transit gateway route // table. - // - // * transit-gateway-route-table-state - The state (pending | available | - // deleting | deleted). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The maximum number of results to return with a single call. To retrieve the @@ -47549,10 +57962,11 @@ type DescribeTransitGatewayVpcAttachmentsInput struct { // One or more filters. The possible values are: // - // * transit-gateway-attachment-id - The ID of the attachment. + // * state - The state of the attachment (available | deleted | deleting + // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected + // | rejecting). // - // * transit-gateway-attachment-state - The state of the attachment (pendingAcceptance - // | pending | available | modifying | deleting | deleted | failed | rejected). + // * transit-gateway-attachment-id - The ID of the attachment. // // * transit-gateway-id - The ID of the transit gateway. // @@ -47667,28 +58081,39 @@ type DescribeTransitGatewaysInput struct { // One or more filters. The possible values are: // - // * amazon-side-asn - The private ASN for the Amazon side of a BGP session. + // * options.propagation-default-route-table-id - The ID of the default propagation + // route table. // - // * association-default-route-table-id - The ID of the default association + // * options.amazon-side-asn - The private ASN for the Amazon side of a BGP + // session. + // + // * options.association-default-route-table-id - The ID of the default association // route table. // - // * default-route-table-association - Indicates whether resource attachments - // are automatically associated with the default association route table - // (enable | disable). + // * options.auto-accept-shared-attachments - Indicates whether there is + // automatic acceptance of attachment requests (enable | disable). // - // * default-route-table-propagation - Indicates whether resource attachments - // automatically propagate routes to the default propagation route table - // (enable | disable). + // * options.default-route-table-association - Indicates whether resource + // attachments are automatically associated with the default association + // route table (enable | disable). // - // * owner-account-id - The ID of the AWS account that owns the transit gateway. + // * options.default-route-table-propagation - Indicates whether resource + // attachments automatically propagate routes to the default propagation + // route table (enable | disable). // - // * propagation-default-route-table-id - The ID of the default propagation - // route table. + // * options.dns-support - Indicates whether DNS support is enabled (enable + // | disable). // - // * transit-gateway-id - The ID of the transit gateway. + // * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol + // support is enabled (enable | disable). + // + // * owner-id - The ID of the AWS account that owns the transit gateway. // - // * transit-gateway-state - The state of the transit gateway (pending | - // available | deleting | deleted). + // * state - The state of the attachment (available | deleted | deleting + // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected + // | rejecting). + // + // * transit-gateway-id - The ID of the transit gateway. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The maximum number of results to return with a single call. To retrieve the @@ -47895,7 +58320,6 @@ func (s *DescribeVolumeAttributeOutput) SetVolumeId(v string) *DescribeVolumeAtt return s } -// Contains the parameters for DescribeVolumeStatus. type DescribeVolumeStatusInput struct { _ struct{} `type:"structure"` @@ -47905,7 +58329,7 @@ type DescribeVolumeStatusInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more filters. + // The filters. // // * action.code - The action code for the event (for example, enable-volume-io). // @@ -47954,7 +58378,7 @@ type DescribeVolumeStatusInput struct { // more results to return. NextToken *string `type:"string"` - // One or more volume IDs. + // The IDs of the volumes. // // Default: Describes all your volumes. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"` @@ -48000,7 +58424,6 @@ func (s *DescribeVolumeStatusInput) SetVolumeIds(v []*string) *DescribeVolumeSta return s } -// Contains the output of DescribeVolumeStatus. type DescribeVolumeStatusOutput struct { _ struct{} `type:"structure"` @@ -48008,7 +58431,7 @@ type DescribeVolumeStatusOutput struct { // when there are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` - // A list of volumes. + // Information about the status of the volumes. VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"` } @@ -48034,7 +58457,6 @@ func (s *DescribeVolumeStatusOutput) SetVolumeStatuses(v []*VolumeStatusItem) *D return s } -// Contains the parameters for DescribeVolumes. type DescribeVolumesInput struct { _ struct{} `type:"structure"` @@ -48044,7 +58466,7 @@ type DescribeVolumesInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more filters. + // The filters. // // * attachment.attach-time - The time stamp when the attachment initiated. // @@ -48063,7 +58485,7 @@ type DescribeVolumesInput struct { // // * create-time - The time stamp when the volume was created. // - // * encrypted - The encryption status of the volume. + // * encrypted - Indicates whether the volume is encrypted (true | false) // // * size - The size of the volume, in GiB. // @@ -48106,7 +58528,7 @@ type DescribeVolumesInput struct { // NextToken value. This value is null when there are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` - // One or more volume IDs. + // The volume IDs. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"` } @@ -48159,7 +58581,7 @@ type DescribeVolumesModificationsInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // One or more filters. Supported filters: volume-id, modification-state, target-size, + // The filters. Supported filters: volume-id, modification-state, target-size, // target-iops, target-volume-type, original-size, original-iops, original-volume-type, // start-time. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -48171,7 +58593,7 @@ type DescribeVolumesModificationsInput struct { // The nextToken value returned by a previous paginated request. NextToken *string `type:"string"` - // One or more volume IDs for which in-progress modifications will be described. + // The IDs of the volumes for which in-progress modifications will be described. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"` } @@ -48221,7 +58643,7 @@ type DescribeVolumesModificationsOutput struct { // Token for pagination, null if there are no more results NextToken *string `locationName:"nextToken" type:"string"` - // A list of returned VolumeModification objects. + // Information about the volume modifications. VolumesModifications []*VolumeModification `locationName:"volumeModificationSet" locationNameList:"item" type:"list"` } @@ -48247,7 +58669,6 @@ func (s *DescribeVolumesModificationsOutput) SetVolumesModifications(v []*Volume return s } -// Contains the output of DescribeVolumes. type DescribeVolumesOutput struct { _ struct{} `type:"structure"` @@ -48395,13 +58816,11 @@ func (s *DescribeVpcAttributeOutput) SetVpcId(v string) *DescribeVpcAttributeOut type DescribeVpcClassicLinkDnsSupportInput struct { _ struct{} `type:"structure"` - // The maximum number of items to return for this request. The request returns - // a token that you can specify in a subsequent call to get the next set of - // results. + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"` - // The token for the next set of items to return. (You received this token from - // a prior call.) + // The token for the next page of results. NextToken *string `locationName:"nextToken" min:"1" type:"string"` // One or more VPC IDs. @@ -48455,7 +58874,8 @@ func (s *DescribeVpcClassicLinkDnsSupportInput) SetVpcIds(v []*string) *Describe type DescribeVpcClassicLinkDnsSupportOutput struct { _ struct{} `type:"structure"` - // The token to use when requesting the next set of items. + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. NextToken *string `locationName:"nextToken" min:"1" type:"string"` // Information about the ClassicLink DNS support status of the VPCs. @@ -48789,6 +59209,16 @@ type DescribeVpcEndpointServiceConfigurationsInput struct { // // * service-state - The state of the service (Pending | Available | Deleting // | Deleted | Failed). + // + // * tag: - The key/value combination of a tag assigned to the resource. + // Use the tag key in the filter name and the tag value as the filter value. + // For example, to find all resources that have a tag with the key Owner + // and the value TeamA, specify tag:Owner for the filter name and TeamA for + // the filter value. + // + // * tag-key - The key of a tag assigned to the resource. Use this filter + // to find all resources assigned a tag with a specific key, regardless of + // the tag value. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The maximum number of results to return for the request in a single page. @@ -49010,6 +59440,16 @@ type DescribeVpcEndpointServicesInput struct { // One or more filters. // // * service-name: The name of the service. + // + // * tag: - The key/value combination of a tag assigned to the resource. + // Use the tag key in the filter name and the tag value as the filter value. + // For example, to find all resources that have a tag with the key Owner + // and the value TeamA, specify tag:Owner for the filter name and TeamA for + // the filter value. + // + // * tag-key - The key of a tag assigned to the resource. Use this filter + // to find all resources assigned a tag with a specific key, regardless of + // the tag value. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The maximum number of items to return for this request. The request returns @@ -49130,6 +59570,16 @@ type DescribeVpcEndpointsInput struct { // // * vpc-endpoint-state: The state of the endpoint. (pending | available // | deleting | deleted) + // + // * tag: - The key/value combination of a tag assigned to the resource. + // Use the tag key in the filter name and the tag value as the filter value. + // For example, to find all resources that have a tag with the key Owner + // and the value TeamA, specify tag:Owner for the filter name and TeamA for + // the filter value. + // + // * tag-key - The key of a tag assigned to the resource. Use this filter + // to find all resources assigned a tag with a specific key, regardless of + // the tag value. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The maximum number of items to return for this request. The request returns @@ -49268,6 +59718,13 @@ type DescribeVpcPeeringConnectionsInput struct { // * vpc-peering-connection-id - The ID of the VPC peering connection. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` + // One or more VPC peering connection IDs. // // Default: Describes all your VPC peering connections. @@ -49284,6 +59741,19 @@ func (s DescribeVpcPeeringConnectionsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeVpcPeeringConnectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeVpcPeeringConnectionsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DescribeVpcPeeringConnectionsInput) SetDryRun(v bool) *DescribeVpcPeeringConnectionsInput { s.DryRun = &v @@ -49296,6 +59766,18 @@ func (s *DescribeVpcPeeringConnectionsInput) SetFilters(v []*Filter) *DescribeVp return s } +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeVpcPeeringConnectionsInput) SetMaxResults(v int64) *DescribeVpcPeeringConnectionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeVpcPeeringConnectionsInput) SetNextToken(v string) *DescribeVpcPeeringConnectionsInput { + s.NextToken = &v + return s +} + // SetVpcPeeringConnectionIds sets the VpcPeeringConnectionIds field's value. func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*string) *DescribeVpcPeeringConnectionsInput { s.VpcPeeringConnectionIds = v @@ -49305,6 +59787,10 @@ func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*str type DescribeVpcPeeringConnectionsOutput struct { _ struct{} `type:"structure"` + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + // Information about the VPC peering connections. VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"` } @@ -49319,6 +59805,12 @@ func (s DescribeVpcPeeringConnectionsOutput) GoString() string { return s.String() } +// SetNextToken sets the NextToken field's value. +func (s *DescribeVpcPeeringConnectionsOutput) SetNextToken(v string) *DescribeVpcPeeringConnectionsOutput { + s.NextToken = &v + return s +} + // SetVpcPeeringConnections sets the VpcPeeringConnections field's value. func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput { s.VpcPeeringConnections = v @@ -49380,6 +59872,13 @@ type DescribeVpcsInput struct { // * vpc-id - The ID of the VPC. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` + // One or more VPC IDs. // // Default: Describes all your VPCs. @@ -49396,6 +59895,19 @@ func (s DescribeVpcsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeVpcsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeVpcsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DescribeVpcsInput) SetDryRun(v bool) *DescribeVpcsInput { s.DryRun = &v @@ -49408,6 +59920,18 @@ func (s *DescribeVpcsInput) SetFilters(v []*Filter) *DescribeVpcsInput { return s } +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeVpcsInput) SetMaxResults(v int64) *DescribeVpcsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeVpcsInput) SetNextToken(v string) *DescribeVpcsInput { + s.NextToken = &v + return s +} + // SetVpcIds sets the VpcIds field's value. func (s *DescribeVpcsInput) SetVpcIds(v []*string) *DescribeVpcsInput { s.VpcIds = v @@ -49417,6 +59941,10 @@ func (s *DescribeVpcsInput) SetVpcIds(v []*string) *DescribeVpcsInput { type DescribeVpcsOutput struct { _ struct{} `type:"structure"` + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + // Information about one or more VPCs. Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"` } @@ -49431,6 +59959,12 @@ func (s DescribeVpcsOutput) GoString() string { return s.String() } +// SetNextToken sets the NextToken field's value. +func (s *DescribeVpcsOutput) SetNextToken(v string) *DescribeVpcsOutput { + s.NextToken = &v + return s +} + // SetVpcs sets the Vpcs field's value. func (s *DescribeVpcsOutput) SetVpcs(v []*Vpc) *DescribeVpcsOutput { s.Vpcs = v @@ -50131,6 +60665,103 @@ func (s *DhcpOptions) SetTags(v []*Tag) *DhcpOptions { return s } +// Describes an Active Directory. +type DirectoryServiceAuthentication struct { + _ struct{} `type:"structure"` + + // The ID of the Active Directory used for authentication. + DirectoryId *string `locationName:"directoryId" type:"string"` +} + +// String returns the string representation +func (s DirectoryServiceAuthentication) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DirectoryServiceAuthentication) GoString() string { + return s.String() +} + +// SetDirectoryId sets the DirectoryId field's value. +func (s *DirectoryServiceAuthentication) SetDirectoryId(v string) *DirectoryServiceAuthentication { + s.DirectoryId = &v + return s +} + +// Describes the Active Directory to be used for client authentication. +type DirectoryServiceAuthenticationRequest struct { + _ struct{} `type:"structure"` + + // The ID of the Active Directory to be used for authentication. + DirectoryId *string `type:"string"` +} + +// String returns the string representation +func (s DirectoryServiceAuthenticationRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DirectoryServiceAuthenticationRequest) GoString() string { + return s.String() +} + +// SetDirectoryId sets the DirectoryId field's value. +func (s *DirectoryServiceAuthenticationRequest) SetDirectoryId(v string) *DirectoryServiceAuthenticationRequest { + s.DirectoryId = &v + return s +} + +type DisableEbsEncryptionByDefaultInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` +} + +// String returns the string representation +func (s DisableEbsEncryptionByDefaultInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableEbsEncryptionByDefaultInput) GoString() string { + return s.String() +} + +// SetDryRun sets the DryRun field's value. +func (s *DisableEbsEncryptionByDefaultInput) SetDryRun(v bool) *DisableEbsEncryptionByDefaultInput { + s.DryRun = &v + return s +} + +type DisableEbsEncryptionByDefaultOutput struct { + _ struct{} `type:"structure"` + + // The updated status of encryption by default. + EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"` +} + +// String returns the string representation +func (s DisableEbsEncryptionByDefaultOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableEbsEncryptionByDefaultOutput) GoString() string { + return s.String() +} + +// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value. +func (s *DisableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *DisableEbsEncryptionByDefaultOutput { + s.EbsEncryptionByDefault = &v + return s +} + type DisableTransitGatewayRouteTablePropagationInput struct { _ struct{} `type:"structure"` @@ -50462,6 +61093,102 @@ func (s DisassociateAddressOutput) GoString() string { return s.String() } +type DisassociateClientVpnTargetNetworkInput struct { + _ struct{} `type:"structure"` + + // The ID of the target network association. + // + // AssociationId is a required field + AssociationId *string `type:"string" required:"true"` + + // The ID of the Client VPN endpoint from which to disassociate the target network. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` +} + +// String returns the string representation +func (s DisassociateClientVpnTargetNetworkInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateClientVpnTargetNetworkInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateClientVpnTargetNetworkInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateClientVpnTargetNetworkInput"} + if s.AssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("AssociationId")) + } + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssociationId sets the AssociationId field's value. +func (s *DisassociateClientVpnTargetNetworkInput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkInput { + s.AssociationId = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *DisassociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *DisassociateClientVpnTargetNetworkInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DisassociateClientVpnTargetNetworkInput) SetDryRun(v bool) *DisassociateClientVpnTargetNetworkInput { + s.DryRun = &v + return s +} + +type DisassociateClientVpnTargetNetworkOutput struct { + _ struct{} `type:"structure"` + + // The ID of the target network association. + AssociationId *string `locationName:"associationId" type:"string"` + + // The current state of the target network association. + Status *AssociationStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s DisassociateClientVpnTargetNetworkOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateClientVpnTargetNetworkOutput) GoString() string { + return s.String() +} + +// SetAssociationId sets the AssociationId field's value. +func (s *DisassociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkOutput { + s.AssociationId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DisassociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *DisassociateClientVpnTargetNetworkOutput { + s.Status = v + return s +} + type DisassociateIamInstanceProfileInput struct { _ struct{} `type:"structure"` @@ -50899,11 +61626,11 @@ type DiskImageDescription struct { // A presigned URL for the import manifest stored in Amazon S3. For information // about creating a presigned URL for an Amazon S3 object, read the "Query String // Request Authentication Alternative" section of the Authenticating REST Requests - // (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html) + // (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html) // topic in the Amazon Simple Storage Service Developer Guide. // // For information about the import manifest referenced by this API action, - // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). + // see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). ImportManifestUrl *string `locationName:"importManifestUrl" type:"string"` // The size of the disk image, in GiB. @@ -50961,11 +61688,11 @@ type DiskImageDetail struct { // A presigned URL for the import manifest stored in Amazon S3 and presented // here as an Amazon S3 presigned URL. For information about creating a presigned // URL for an Amazon S3 object, read the "Query String Request Authentication - // Alternative" section of the Authenticating REST Requests (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html) + // Alternative" section of the Authenticating REST Requests (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html) // topic in the Amazon Simple Storage Service Developer Guide. // // For information about the import manifest referenced by this API action, - // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). + // see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). // // ImportManifestUrl is a required field ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"` @@ -51084,6 +61811,42 @@ func (s *DnsEntry) SetHostedZoneId(v string) *DnsEntry { return s } +// Information about the DNS server to be used. +type DnsServersOptionsModifyStructure struct { + _ struct{} `type:"structure"` + + // The IPv4 address range, in CIDR notation, of the DNS servers to be used. + // You can specify up to two DNS servers. Ensure that the DNS servers can be + // reached by the clients. The specified values overwrite the existing values. + CustomDnsServers []*string `locationNameList:"item" type:"list"` + + // Indicates whether DNS servers should be used. Specify False to delete the + // existing DNS servers. + Enabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s DnsServersOptionsModifyStructure) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DnsServersOptionsModifyStructure) GoString() string { + return s.String() +} + +// SetCustomDnsServers sets the CustomDnsServers field's value. +func (s *DnsServersOptionsModifyStructure) SetCustomDnsServers(v []*string) *DnsServersOptionsModifyStructure { + s.CustomDnsServers = v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *DnsServersOptionsModifyStructure) SetEnabled(v bool) *DnsServersOptionsModifyStructure { + s.Enabled = &v + return s +} + // Describes a block device for an EBS volume. type EbsBlockDevice struct { _ struct{} `type:"structure"` @@ -51091,43 +61854,44 @@ type EbsBlockDevice struct { // Indicates whether the EBS volume is deleted on instance termination. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"` - // Indicates whether the EBS volume is encrypted. Encrypted volumes can only - // be attached to instances that support Amazon EBS encryption. - // - // If you are creating a volume from a snapshot, you cannot specify an encryption - // value. This is because only blank volumes can be encrypted on creation. If - // you are creating a snapshot from an existing EBS volume, you cannot specify - // an encryption value that differs from that of the EBS volume. We recommend - // that you omit the encryption value from the block device mappings when creating - // an image from an instance. + // Indicates whether the encryption state of an EBS volume is changed while + // being restored from a backing snapshot. The effect of setting the encryption + // state to true depends on the volume origin (new or from a snapshot), starting + // encryption state, ownership, and whether encryption by default is enabled. + // For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-parameters) + // in the Amazon Elastic Compute Cloud User Guide. + // + // In no case can you remove encryption from an encrypted volume. + // + // Encrypted volumes can only be attached to instances that support Amazon EBS + // encryption. For more information, see Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances). Encrypted *bool `locationName:"encrypted" type:"boolean"` // The number of I/O operations per second (IOPS) that the volume supports. - // For io1, this represents the number of IOPS that are provisioned for the - // volume. For gp2, this represents the baseline performance of the volume and - // the rate at which the volume accumulates I/O credits for bursting. For more - // information about General Purpose SSD baseline performance, I/O credits, - // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) + // For io1 volumes, this represents the number of IOPS that are provisioned + // for the volume. For gp2 volumes, this represents the baseline performance + // of the volume and the rate at which the volume accumulates I/O credits for + // bursting. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) // in the Amazon Elastic Compute Cloud User Guide. // - // Constraints: Range is 100-10,000 IOPS for gp2 volumes and 100 to 64,000IOPS - // for io1 volumes in most regions. Maximum io1IOPS of 64,000 is guaranteed - // only on Nitro-based instances (AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). + // Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS + // for io1 volumes in most Regions. Maximum io1 IOPS of 64,000 is guaranteed + // only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). // Other instance families guarantee performance up to 32,000 IOPS. For more - // information, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) + // information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) // in the Amazon Elastic Compute Cloud User Guide. // // Condition: This parameter is required for requests to create io1 volumes; // it is not used in requests to create gp2, st1, sc1, or standard volumes. Iops *int64 `locationName:"iops" type:"integer"` - // Identifier (key ID, key alias, ID ARN, or alias ARN) for a user-managed CMK - // under which the EBS volume is encrypted. + // Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed + // CMK under which the EBS volume is encrypted. // // This parameter is only supported on BlockDeviceMapping objects called by - // RunInstances (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html), - // RequestSpotFleet (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html), - // and RequestSpotInstances (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html). + // RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html), + // RequestSpotFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html), + // and RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html). KmsKeyId *string `type:"string"` // The ID of the snapshot. @@ -51135,17 +61899,17 @@ type EbsBlockDevice struct { // The size of the volume, in GiB. // + // Default: If you're creating the volume from a snapshot and don't specify + // a volume size, the default is the snapshot size. + // // Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned // IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for // Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify // a snapshot, the volume size must be equal to or larger than the snapshot // size. - // - // Default: If you're creating the volume from a snapshot and don't specify - // a volume size, the default is the snapshot size. VolumeSize *int64 `locationName:"volumeSize" type:"integer"` - // The volume type: gp2, io1, st1, sc1, or standard. + // The volume type. If you set the type to io1, you must also set the Iops property. // // Default: standard VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"` @@ -51621,6 +62385,55 @@ func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorA return s } +type EnableEbsEncryptionByDefaultInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` +} + +// String returns the string representation +func (s EnableEbsEncryptionByDefaultInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableEbsEncryptionByDefaultInput) GoString() string { + return s.String() +} + +// SetDryRun sets the DryRun field's value. +func (s *EnableEbsEncryptionByDefaultInput) SetDryRun(v bool) *EnableEbsEncryptionByDefaultInput { + s.DryRun = &v + return s +} + +type EnableEbsEncryptionByDefaultOutput struct { + _ struct{} `type:"structure"` + + // The updated status of encryption by default. + EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"` +} + +// String returns the string representation +func (s EnableEbsEncryptionByDefaultOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableEbsEncryptionByDefaultOutput) GoString() string { + return s.String() +} + +// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value. +func (s *EnableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *EnableEbsEncryptionByDefaultOutput { + s.EbsEncryptionByDefault = &v + return s +} + type EnableTransitGatewayRouteTablePropagationInput struct { _ struct{} `type:"structure"` @@ -51712,12 +62525,15 @@ func (s *EnableTransitGatewayRouteTablePropagationOutput) SetPropagation(v *Tran type EnableVgwRoutePropagationInput struct { _ struct{} `type:"structure"` - // The ID of the virtual private gateway. + // The ID of the virtual private gateway that is attached to a VPC. The virtual + // private gateway must be attached to the same VPC that the routing tables + // are associated with. // // GatewayId is a required field GatewayId *string `type:"string" required:"true"` - // The ID of the route table. + // The ID of the route table. The routing table must be associated with the + // same VPC that the virtual private gateway is attached to. // // RouteTableId is a required field RouteTableId *string `type:"string" required:"true"` @@ -51959,7 +62775,7 @@ func (s *EnableVpcClassicLinkOutput) SetReturn(v bool) *EnableVpcClassicLinkOutp return s } -// Describes a Spot Fleet event. +// Describes an EC2 Fleet or Spot Fleet event. type EventInformation struct { _ struct{} `type:"structure"` @@ -51970,12 +62786,8 @@ type EventInformation struct { // // The following are the error events: // - // * iamFleetRoleInvalid - The Spot Fleet did not have the required permissions - // either to launch or terminate an instance. - // - // * launchSpecTemporarilyBlacklisted - The configuration is not valid and - // several attempts to launch instances have failed. For more information, - // see the description of the event. + // * iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet did not have the required + // permissions either to launch or terminate an instance. // // * spotFleetRequestConfigurationInvalid - The configuration is not valid. // For more information, see the description of the event. @@ -51985,33 +62797,35 @@ type EventInformation struct { // // The following are the fleetRequestChange events: // - // * active - The Spot Fleet has been validated and Amazon EC2 is attempting - // to maintain the target number of running Spot Instances. + // * active - The EC2 Fleet or Spot Fleet request has been validated and + // Amazon EC2 is attempting to maintain the target number of running Spot + // Instances. // - // * cancelled - The Spot Fleet is canceled and has no running Spot Instances. - // The Spot Fleet will be deleted two days after its instances were terminated. + // * cancelled - The EC2 Fleet or Spot Fleet request is canceled and has + // no running Spot Instances. The EC2 Fleet or Spot Fleet will be deleted + // two days after its instances were terminated. // - // * cancelled_running - The Spot Fleet is canceled and does not launch additional - // Spot Instances. Existing Spot Instances continue to run until they are - // interrupted or terminated. + // * cancelled_running - The EC2 Fleet or Spot Fleet request is canceled + // and does not launch additional Spot Instances. Existing Spot Instances + // continue to run until they are interrupted or terminated. // - // * cancelled_terminating - The Spot Fleet is canceled and its Spot Instances - // are terminating. + // * cancelled_terminating - The EC2 Fleet or Spot Fleet request is canceled + // and its Spot Instances are terminating. // - // * expired - The Spot Fleet request has expired. A subsequent event indicates - // that the instances were terminated, if the request was created with TerminateInstancesWithExpiration - // set. + // * expired - The EC2 Fleet or Spot Fleet request has expired. A subsequent + // event indicates that the instances were terminated, if the request was + // created with TerminateInstancesWithExpiration set. // - // * modify_in_progress - A request to modify the Spot Fleet request was - // accepted and is in progress. + // * modify_in_progress - A request to modify the EC2 Fleet or Spot Fleet + // request was accepted and is in progress. // - // * modify_successful - The Spot Fleet request was modified. + // * modify_successful - The EC2 Fleet or Spot Fleet request was modified. // // * price_update - The price for a launch configuration was adjusted because // it was too high. This change is permanent. // - // * submitted - The Spot Fleet request is being evaluated and Amazon EC2 - // is preparing to launch the target number of Spot Instances. + // * submitted - The EC2 Fleet or Spot Fleet request is being evaluated and + // Amazon EC2 is preparing to launch the target number of Spot Instances. // // The following are the instanceChange events: // @@ -52021,6 +62835,10 @@ type EventInformation struct { // // The following are the Information events: // + // * launchSpecTemporarilyBlacklisted - The configuration is not valid and + // several attempts to launch instances have failed. For more information, + // see the description of the event. + // // * launchSpecUnusable - The price in a launch specification is not valid // because it is below the Spot price or the Spot price is above the On-Demand // price. @@ -52062,6 +62880,161 @@ func (s *EventInformation) SetInstanceId(v string) *EventInformation { return s } +type ExportClientVpnClientCertificateRevocationListInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` +} + +// String returns the string representation +func (s ExportClientVpnClientCertificateRevocationListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExportClientVpnClientCertificateRevocationListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExportClientVpnClientCertificateRevocationListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientCertificateRevocationListInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *ExportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientCertificateRevocationListInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ExportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ExportClientVpnClientCertificateRevocationListInput { + s.DryRun = &v + return s +} + +type ExportClientVpnClientCertificateRevocationListOutput struct { + _ struct{} `type:"structure"` + + // Information about the client certificate revocation list. + CertificateRevocationList *string `locationName:"certificateRevocationList" type:"string"` + + // The current state of the client certificate revocation list. + Status *ClientCertificateRevocationListStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s ExportClientVpnClientCertificateRevocationListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExportClientVpnClientCertificateRevocationListOutput) GoString() string { + return s.String() +} + +// SetCertificateRevocationList sets the CertificateRevocationList field's value. +func (s *ExportClientVpnClientCertificateRevocationListOutput) SetCertificateRevocationList(v string) *ExportClientVpnClientCertificateRevocationListOutput { + s.CertificateRevocationList = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ExportClientVpnClientCertificateRevocationListOutput) SetStatus(v *ClientCertificateRevocationListStatus) *ExportClientVpnClientCertificateRevocationListOutput { + s.Status = v + return s +} + +type ExportClientVpnClientConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` +} + +// String returns the string representation +func (s ExportClientVpnClientConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExportClientVpnClientConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExportClientVpnClientConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientConfigurationInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *ExportClientVpnClientConfigurationInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientConfigurationInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ExportClientVpnClientConfigurationInput) SetDryRun(v bool) *ExportClientVpnClientConfigurationInput { + s.DryRun = &v + return s +} + +type ExportClientVpnClientConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The contents of the Client VPN endpoint configuration file. + ClientConfiguration *string `locationName:"clientConfiguration" type:"string"` +} + +// String returns the string representation +func (s ExportClientVpnClientConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExportClientVpnClientConfigurationOutput) GoString() string { + return s.String() +} + +// SetClientConfiguration sets the ClientConfiguration field's value. +func (s *ExportClientVpnClientConfigurationOutput) SetClientConfiguration(v string) *ExportClientVpnClientConfigurationOutput { + s.ClientConfiguration = &v + return s +} + // Describes an instance export task. type ExportTask struct { _ struct{} `type:"structure"` @@ -52249,16 +63222,31 @@ type ExportTransitGatewayRoutesInput struct { // One or more filters. The possible values are: // - // * transit-gateway-route-destination-cidr-block - The CIDR range. + // * attachment.transit-gateway-attachment-id - The id of the transit gateway + // attachment. // - // * transit-gateway-route-state - The state of the route (active | blackhole). + // * attachment.resource-id - The resource id of the transit gateway attachment. // - // * transit-gateway-route-transit-gateway-attachment-id - The ID of the - // attachment. + // * route-search.exact-match - The exact match of the specified filter. + // + // * route-search.longest-prefix-match - The longest prefix that matches + // the route. + // + // * route-search.subnet-of-match - The routes with a subnet that match the + // specified CIDR filter. // - // * transit-gateway-route-type - The route type (static | propagated). + // * route-search.supernet-of-match - The routes with a CIDR that encompass + // the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 + // routes in your route table and you specify supernet-of-match as 10.0.1.0/30, + // then the result returns 10.0.1.0/29. // - // * transit-gateway-route-vpn-connection-id - The ID of the VPN connection. + // * state - The state of the attachment (available | deleted | deleting + // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected + // | rejecting). + // + // * transit-gateway-route-destination-cidr-block - The CIDR range. + // + // * type - The type of route (active | blackhole). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The name of the S3 bucket. @@ -52376,7 +63364,7 @@ type Filter struct { // The name of the filter. Filter names are case-sensitive. Name *string `type:"string"` - // One or more filter values. Filter values are case-sensitive. + // The filter values. Filter values are case-sensitive. Values []*string `locationName:"Value" locationNameList:"item" type:"list"` } @@ -52414,7 +63402,7 @@ type FleetData struct { ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"FleetActivityStatus"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). // // Constraints: Maximum 64 ASCII characters ClientToken *string `locationName:"clientToken" type:"string"` @@ -52942,7 +63930,8 @@ type FleetLaunchTemplateSpecificationRequest struct { // The name of the launch template. LaunchTemplateName *string `min:"3" type:"string"` - // The version number of the launch template. + // The version number of the launch template. Note: This is a required parameter + // and will be updated soon. Version *string `type:"string"` } @@ -53119,6 +64108,9 @@ type FpgaImage struct { // The date and time the AFI was created. CreateTime *time.Time `locationName:"createTime" type:"timestamp"` + // Indicates whether data retention support is enabled for the AFI. + DataRetentionSupport *bool `locationName:"dataRetentionSupport" type:"boolean"` + // The description of the AFI. Description *string `locationName:"description" type:"string"` @@ -53175,6 +64167,12 @@ func (s *FpgaImage) SetCreateTime(v time.Time) *FpgaImage { return s } +// SetDataRetentionSupport sets the DataRetentionSupport field's value. +func (s *FpgaImage) SetDataRetentionSupport(v bool) *FpgaImage { + s.DataRetentionSupport = &v + return s +} + // SetDescription sets the Description field's value. func (s *FpgaImage) SetDescription(v string) *FpgaImage { s.Description = &v @@ -53263,13 +64261,13 @@ type FpgaImageAttribute struct { // The ID of the AFI. FpgaImageId *string `locationName:"fpgaImageId" type:"string"` - // One or more load permissions. + // The load permissions. LoadPermissions []*LoadPermission `locationName:"loadPermissions" locationNameList:"item" type:"list"` // The name of the AFI. Name *string `locationName:"name" type:"string"` - // One or more product codes. + // The product codes. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"` } @@ -53355,6 +64353,139 @@ func (s *FpgaImageState) SetMessage(v string) *FpgaImageState { return s } +type GetCapacityReservationUsageInput struct { + _ struct{} `type:"structure"` + + // CapacityReservationId is a required field + CapacityReservationId *string `type:"string" required:"true"` + + DryRun *bool `type:"boolean"` + + MaxResults *int64 `min:"1" type:"integer"` + + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetCapacityReservationUsageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCapacityReservationUsageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCapacityReservationUsageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCapacityReservationUsageInput"} + if s.CapacityReservationId == nil { + invalidParams.Add(request.NewErrParamRequired("CapacityReservationId")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCapacityReservationId sets the CapacityReservationId field's value. +func (s *GetCapacityReservationUsageInput) SetCapacityReservationId(v string) *GetCapacityReservationUsageInput { + s.CapacityReservationId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *GetCapacityReservationUsageInput) SetDryRun(v bool) *GetCapacityReservationUsageInput { + s.DryRun = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetCapacityReservationUsageInput) SetMaxResults(v int64) *GetCapacityReservationUsageInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetCapacityReservationUsageInput) SetNextToken(v string) *GetCapacityReservationUsageInput { + s.NextToken = &v + return s +} + +type GetCapacityReservationUsageOutput struct { + _ struct{} `type:"structure"` + + AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"` + + CapacityReservationId *string `locationName:"capacityReservationId" type:"string"` + + InstanceType *string `locationName:"instanceType" type:"string"` + + InstanceUsages []*InstanceUsage `locationName:"instanceUsageSet" locationNameList:"item" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` + + State *string `locationName:"state" type:"string" enum:"CapacityReservationState"` + + TotalInstanceCount *int64 `locationName:"totalInstanceCount" type:"integer"` +} + +// String returns the string representation +func (s GetCapacityReservationUsageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCapacityReservationUsageOutput) GoString() string { + return s.String() +} + +// SetAvailableInstanceCount sets the AvailableInstanceCount field's value. +func (s *GetCapacityReservationUsageOutput) SetAvailableInstanceCount(v int64) *GetCapacityReservationUsageOutput { + s.AvailableInstanceCount = &v + return s +} + +// SetCapacityReservationId sets the CapacityReservationId field's value. +func (s *GetCapacityReservationUsageOutput) SetCapacityReservationId(v string) *GetCapacityReservationUsageOutput { + s.CapacityReservationId = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *GetCapacityReservationUsageOutput) SetInstanceType(v string) *GetCapacityReservationUsageOutput { + s.InstanceType = &v + return s +} + +// SetInstanceUsages sets the InstanceUsages field's value. +func (s *GetCapacityReservationUsageOutput) SetInstanceUsages(v []*InstanceUsage) *GetCapacityReservationUsageOutput { + s.InstanceUsages = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetCapacityReservationUsageOutput) SetNextToken(v string) *GetCapacityReservationUsageOutput { + s.NextToken = &v + return s +} + +// SetState sets the State field's value. +func (s *GetCapacityReservationUsageOutput) SetState(v string) *GetCapacityReservationUsageOutput { + s.State = &v + return s +} + +// SetTotalInstanceCount sets the TotalInstanceCount field's value. +func (s *GetCapacityReservationUsageOutput) SetTotalInstanceCount(v int64) *GetCapacityReservationUsageOutput { + s.TotalInstanceCount = &v + return s +} + type GetConsoleOutputInput struct { _ struct{} `type:"structure"` @@ -53550,6 +64681,104 @@ func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreensh return s } +type GetEbsDefaultKmsKeyIdInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` +} + +// String returns the string representation +func (s GetEbsDefaultKmsKeyIdInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetEbsDefaultKmsKeyIdInput) GoString() string { + return s.String() +} + +// SetDryRun sets the DryRun field's value. +func (s *GetEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *GetEbsDefaultKmsKeyIdInput { + s.DryRun = &v + return s +} + +type GetEbsDefaultKmsKeyIdOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the default CMK for encryption by default. + KmsKeyId *string `locationName:"kmsKeyId" type:"string"` +} + +// String returns the string representation +func (s GetEbsDefaultKmsKeyIdOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetEbsDefaultKmsKeyIdOutput) GoString() string { + return s.String() +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *GetEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *GetEbsDefaultKmsKeyIdOutput { + s.KmsKeyId = &v + return s +} + +type GetEbsEncryptionByDefaultInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` +} + +// String returns the string representation +func (s GetEbsEncryptionByDefaultInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetEbsEncryptionByDefaultInput) GoString() string { + return s.String() +} + +// SetDryRun sets the DryRun field's value. +func (s *GetEbsEncryptionByDefaultInput) SetDryRun(v bool) *GetEbsEncryptionByDefaultInput { + s.DryRun = &v + return s +} + +type GetEbsEncryptionByDefaultOutput struct { + _ struct{} `type:"structure"` + + // Indicates whether encryption by default is enabled. + EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"` +} + +// String returns the string representation +func (s GetEbsEncryptionByDefaultOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetEbsEncryptionByDefaultOutput) GoString() string { + return s.String() +} + +// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value. +func (s *GetEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *GetEbsEncryptionByDefaultOutput { + s.EbsEncryptionByDefault = &v + return s +} + type GetHostReservationPurchasePreviewInput struct { _ struct{} `type:"structure"` @@ -54114,8 +65343,6 @@ type GetTransitGatewayRouteTableAssociationsInput struct { // One or more filters. The possible values are: // - // * association-id - The ID of the association. - // // * resource-id - The ID of the resource. // // * resource-type - The resource type (vpc | vpn). @@ -54379,9 +65606,9 @@ func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier { } // Indicates whether your instance is configured for hibernation. This parameter -// is valid only if the instance meets the hibernation prerequisites (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). +// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). // Hibernation is currently supported only for Amazon Linux. For more information, -// see Hibernate Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) +// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. type HibernationOptions struct { _ struct{} `type:"structure"` @@ -54408,9 +65635,9 @@ func (s *HibernationOptions) SetConfigured(v bool) *HibernationOptions { } // Indicates whether your instance is configured for hibernation. This parameter -// is valid only if the instance meets the hibernation prerequisites (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). +// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). // Hibernation is currently supported only for Amazon Linux. For more information, -// see Hibernate Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) +// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. type HibernationOptionsRequest struct { _ struct{} `type:"structure"` @@ -54442,9 +65669,7 @@ type HistoryRecord struct { _ struct{} `type:"structure"` // Information about the event. - // - // EventInformation is a required field - EventInformation *EventInformation `locationName:"eventInformation" type:"structure" required:"true"` + EventInformation *EventInformation `locationName:"eventInformation" type:"structure"` // The event type. // @@ -54456,14 +65681,10 @@ type HistoryRecord struct { // * instanceChange - An instance was launched or terminated. // // * Information - An informational event. - // - // EventType is a required field - EventType *string `locationName:"eventType" type:"string" required:"true" enum:"EventType"` + EventType *string `locationName:"eventType" type:"string" enum:"EventType"` // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). - // - // Timestamp is a required field - Timestamp *time.Time `locationName:"timestamp" type:"timestamp" required:"true"` + Timestamp *time.Time `locationName:"timestamp" type:"timestamp"` } // String returns the string representation @@ -54552,9 +65773,8 @@ type Host struct { // The number of new instances that can be launched onto the Dedicated Host. AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"` - // Unique, case-sensitive identifier that you provide to ensure idempotency - // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) - // in the Amazon Elastic Compute Cloud User Guide. + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `locationName:"clientToken" type:"string"` // The ID of the Dedicated Host. @@ -54563,6 +65783,10 @@ type Host struct { // The hardware specifications of the Dedicated Host. HostProperties *HostProperties `locationName:"hostProperties" type:"structure"` + // Indicates whether host recovery is enabled or disabled for the Dedicated + // Host. + HostRecovery *string `locationName:"hostRecovery" type:"string" enum:"HostRecovery"` + // The reservation ID of the Dedicated Host. This returns a null response if // the Dedicated Host doesn't have an associated reservation. HostReservationId *string `locationName:"hostReservationId" type:"string"` @@ -54632,6 +65856,12 @@ func (s *Host) SetHostProperties(v *HostProperties) *Host { return s } +// SetHostRecovery sets the HostRecovery field's value. +func (s *Host) SetHostRecovery(v string) *Host { + s.HostRecovery = &v + return s +} + // SetHostReservationId sets the HostReservationId field's value. func (s *Host) SetHostReservationId(v string) *Host { s.HostReservationId = &v @@ -54869,6 +66099,9 @@ type HostReservation struct { // The state of the reservation. State *string `locationName:"state" type:"string" enum:"ReservationState"` + // Any tags assigned to the Dedicated Host Reservation. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + // The upfront price of the reservation. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"` } @@ -54955,6 +66188,12 @@ func (s *HostReservation) SetState(v string) *HostReservation { return s } +// SetTags sets the Tags field's value. +func (s *HostReservation) SetTags(v []*Tag) *HostReservation { + s.Tags = v + return s +} + // SetUpfrontPrice sets the UpfrontPrice field's value. func (s *HostReservation) SetUpfrontPrice(v string) *HostReservation { s.UpfrontPrice = &v @@ -55209,7 +66448,7 @@ type Image struct { // The AWS account ID of the image owner. OwnerId *string `locationName:"imageOwnerId" type:"string"` - // The value is Windows for Windows AMIs; otherwise blank. + // This value is set to windows for Windows AMIs; otherwise, it is blank. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"` // Any product codes associated with the AMI. @@ -55475,13 +66714,102 @@ func (s *ImageDiskContainer) SetUserBucket(v *UserBucket) *ImageDiskContainer { return s } -// Contains the parameters for ImportImage. +type ImportClientVpnClientCertificateRevocationListInput struct { + _ struct{} `type:"structure"` + + // The client certificate revocation list file. For more information, see Generate + // a Client Certificate Revocation List (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-certificates.html#cvpn-working-certificates-generate) + // in the AWS Client VPN Administrator Guide. + // + // CertificateRevocationList is a required field + CertificateRevocationList *string `type:"string" required:"true"` + + // The ID of the Client VPN endpoint to which the client certificate revocation + // list applies. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` +} + +// String returns the string representation +func (s ImportClientVpnClientCertificateRevocationListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportClientVpnClientCertificateRevocationListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportClientVpnClientCertificateRevocationListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportClientVpnClientCertificateRevocationListInput"} + if s.CertificateRevocationList == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateRevocationList")) + } + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateRevocationList sets the CertificateRevocationList field's value. +func (s *ImportClientVpnClientCertificateRevocationListInput) SetCertificateRevocationList(v string) *ImportClientVpnClientCertificateRevocationListInput { + s.CertificateRevocationList = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *ImportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ImportClientVpnClientCertificateRevocationListInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ImportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ImportClientVpnClientCertificateRevocationListInput { + s.DryRun = &v + return s +} + +type ImportClientVpnClientCertificateRevocationListOutput struct { + _ struct{} `type:"structure"` + + // Returns true if the request succeeds; otherwise, it returns an error. + Return *bool `locationName:"return" type:"boolean"` +} + +// String returns the string representation +func (s ImportClientVpnClientCertificateRevocationListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportClientVpnClientCertificateRevocationListOutput) GoString() string { + return s.String() +} + +// SetReturn sets the Return field's value. +func (s *ImportClientVpnClientCertificateRevocationListOutput) SetReturn(v bool) *ImportClientVpnClientCertificateRevocationListOutput { + s.Return = &v + return s +} + type ImportImageInput struct { _ struct{} `type:"structure"` // The architecture of the virtual machine. // - // Valid values: i386 | x86_64 + // Valid values: i386 | x86_64 | arm64 Architecture *string `type:"string"` // The client-specific data. @@ -55505,7 +66833,7 @@ type ImportImageInput struct { // Specifies whether the destination AMI of the imported image should be encrypted. // The default CMK for EBS is used unless you specify a non-default AWS Key // Management Service (AWS KMS) CMK using KmsKeyId. For more information, see - // Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) + // Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) // in the Amazon Elastic Compute Cloud User Guide. Encrypted *bool `type:"boolean"` @@ -55524,32 +66852,36 @@ type ImportImageInput struct { // // * Key ID // - // * Key alias, in the form alias/ExampleAlias + // * Key alias. The alias ARN contains the arn:aws:kms namespace, followed + // by the Region of the CMK, the AWS account ID of the CMK owner, the alias + // namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. // // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed - // by the region of the CMK, the AWS account ID of the CMK owner, the key + // by the Region of the CMK, the AWS account ID of the CMK owner, the key // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. // // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace, - // followed by the region of the CMK, the AWS account ID of the CMK owner, + // followed by the Region of the CMK, the AWS account ID of the CMK owner, // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. // - // // AWS parses KmsKeyId asynchronously, meaning that the action you call may // appear to complete even though you provided an invalid identifier. This action // will eventually report failure. // - // The specified CMK must exist in the region that the AMI is being copied to. + // The specified CMK must exist in the Region that the AMI is being copied to. KmsKeyId *string `type:"string"` // The license type to be used for the Amazon Machine Image (AMI) after importing. // - // Note: You may only use BYOL if you have existing licenses with rights to - // use these licenses in a third party cloud like AWS. For more information, - // see Prerequisites (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image) - // in the VM Import/Export User Guide. + // By default, we detect the source-system operating system (OS) and apply the + // appropriate license. Specify AWS to replace the source-system license with + // an AWS license, if appropriate. Specify BYOL to retain the source-system + // license, if appropriate. // - // Valid values: AWS | BYOL + // To use BYOL, you must have existing licenses with rights to use these licenses + // in a third party cloud, such as AWS. For more information, see Prerequisites + // (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image) + // in the VM Import/Export User Guide. LicenseType *string `type:"string"` // The operating system of the virtual machine. @@ -55643,7 +66975,6 @@ func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput { return s } -// Contains the output for ImportImage. type ImportImageOutput struct { _ struct{} `type:"structure"` @@ -55782,7 +67113,7 @@ type ImportImageTask struct { // The architecture of the virtual machine. // - // Valid values: i386 | x86_64 + // Valid values: i386 | x86_64 | arm64 Architecture *string `locationName:"architecture" type:"string"` // A description of the import task. @@ -55913,7 +67244,6 @@ func (s *ImportImageTask) SetStatusMessage(v string) *ImportImageTask { return s } -// Contains the parameters for ImportInstance. type ImportInstanceInput struct { _ struct{} `type:"structure"` @@ -56011,10 +67341,10 @@ type ImportInstanceLaunchSpecification struct { // The architecture of the instance. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"` - // One or more security group IDs. + // The security group IDs. GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"` - // One or more security group names. + // The security group names. GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"` // Indicates whether an instance stops or terminates when you initiate shutdown @@ -56022,7 +67352,7 @@ type ImportInstanceLaunchSpecification struct { InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"` // The instance type. For more information about the instance types that you - // can import, see Instance Types (http://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-instance-types) + // can import, see Instance Types (https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-instance-types) // in the VM Import/Export User Guide. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` @@ -56118,7 +67448,6 @@ func (s *ImportInstanceLaunchSpecification) SetUserData(v *UserData) *ImportInst return s } -// Contains the output for ImportInstance. type ImportInstanceOutput struct { _ struct{} `type:"structure"` @@ -56155,7 +67484,7 @@ type ImportInstanceTaskDetails struct { // The instance operating system. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"` - // One or more volumes. + // The volumes. Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list"` } @@ -56370,7 +67699,6 @@ func (s *ImportKeyPairOutput) SetKeyName(v string) *ImportKeyPairOutput { return s } -// Contains the parameters for ImportSnapshot. type ImportSnapshotInput struct { _ struct{} `type:"structure"` @@ -56395,7 +67723,7 @@ type ImportSnapshotInput struct { // Specifies whether the destination snapshot of the imported image should be // encrypted. The default CMK for EBS is used unless you specify a non-default // AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, - // see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) + // see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) // in the Amazon Elastic Compute Cloud User Guide. Encrypted *bool `type:"boolean"` @@ -56409,22 +67737,23 @@ type ImportSnapshotInput struct { // // * Key ID // - // * Key alias, in the form alias/ExampleAlias + // * Key alias. The alias ARN contains the arn:aws:kms namespace, followed + // by the Region of the CMK, the AWS account ID of the CMK owner, the alias + // namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. // // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed - // by the region of the CMK, the AWS account ID of the CMK owner, the key + // by the Region of the CMK, the AWS account ID of the CMK owner, the key // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. // // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace, - // followed by the region of the CMK, the AWS account ID of the CMK owner, + // followed by the Region of the CMK, the AWS account ID of the CMK owner, // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. // - // // AWS parses KmsKeyId asynchronously, meaning that the action you call may // appear to complete even though you provided an invalid identifier. This action // will eventually report failure. // - // The specified CMK must exist in the region that the snapshot is being copied + // The specified CMK must exist in the Region that the snapshot is being copied // to. KmsKeyId *string `type:"string"` @@ -56490,7 +67819,6 @@ func (s *ImportSnapshotInput) SetRoleName(v string) *ImportSnapshotInput { return s } -// Contains the output for ImportSnapshot. type ImportSnapshotOutput struct { _ struct{} `type:"structure"` @@ -56574,7 +67902,6 @@ func (s *ImportSnapshotTask) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *Impor return s } -// Contains the parameters for ImportVolume. type ImportVolumeInput struct { _ struct{} `type:"structure"` @@ -56672,7 +67999,6 @@ func (s *ImportVolumeInput) SetVolume(v *VolumeDetail) *ImportVolumeInput { return s } -// Contains the output for ImportVolume. type ImportVolumeOutput struct { _ struct{} `type:"structure"` @@ -56835,7 +68161,7 @@ type Instance struct { // The monitoring for the instance. Monitoring *Monitoring `locationName:"monitoring" type:"structure"` - // [EC2-VPC] One or more network interfaces for the instance. + // [EC2-VPC] The network interfaces for the instance. NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"` // The location where the instance launched, if applicable. @@ -56878,14 +68204,14 @@ type Instance struct { // instance store volume. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"` - // One or more security groups for the instance. + // The security groups for the instance. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"` // Specifies whether to enable an instance launched in a VPC to perform NAT. // This controls whether source/destination checking is enabled on the instance. // A value of true means that checking is enabled, and false means that checking // is disabled. The value must be false for the instance to perform NAT. For - // more information, see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html) + // more information, see NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html) // in the Amazon Virtual Private Cloud User Guide. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"` @@ -57591,6 +68917,11 @@ type InstanceNetworkInterface struct { // One or more security groups. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"` + // Describes the type of network interface. + // + // Valid values: interface | efa + InterfaceType *string `locationName:"interfaceType" type:"string"` + // One or more IPv6 addresses associated with the network interface. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"` @@ -57659,6 +68990,12 @@ func (s *InstanceNetworkInterface) SetGroups(v []*GroupIdentifier) *InstanceNetw return s } +// SetInterfaceType sets the InterfaceType field's value. +func (s *InstanceNetworkInterface) SetInterfaceType(v string) *InstanceNetworkInterface { + s.InterfaceType = &v + return s +} + // SetIpv6Addresses sets the Ipv6Addresses field's value. func (s *InstanceNetworkInterface) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterface { s.Ipv6Addresses = v @@ -57847,15 +69184,26 @@ type InstanceNetworkInterfaceSpecification struct { // interface when launching an instance. Description *string `locationName:"description" type:"string"` - // The index of the device on the instance for the network interface attachment. - // If you are specifying a network interface in a RunInstances request, you - // must provide the device index. + // The position of the network interface in the attachment order. A primary + // network interface has a device index of 0. + // + // If you specify a network interface when launching an instance, you must specify + // the device index. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"` // The IDs of the security groups for the network interface. Applies only if // creating a network interface when launching an instance. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"` + // The type of network interface. To create an Elastic Fabric Adapter (EFA), + // specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) + // in the Amazon Elastic Compute Cloud User Guide. + // + // If you are not creating an EFA, specify interface or omit this parameter. + // + // Valid values: interface | efa + InterfaceType *string `type:"string"` + // A number of IPv6 addresses to assign to the network interface. Amazon EC2 // chooses the IPv6 addresses from the range of the subnet. You cannot specify // this option and the option to assign specific IPv6 addresses in the same @@ -57874,19 +69222,22 @@ type InstanceNetworkInterfaceSpecification struct { // The private IPv4 address of the network interface. Applies only if creating // a network interface when launching an instance. You cannot specify this option - // if you're launching more than one instance in a RunInstances request. + // if you're launching more than one instance in a RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) + // request. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` // One or more private IPv4 addresses to assign to the network interface. Only // one private IPv4 address can be designated as primary. You cannot specify // this option if you're launching more than one instance in a RunInstances + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) // request. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"` // The number of secondary private IPv4 addresses. You can't specify this option // and specify more than one private IP address using the private IP addresses // option. You cannot specify this option if you're launching more than one - // instance in a RunInstances request. + // instance in a RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) + // request. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"` // The ID of the subnet associated with the network string. Applies only if @@ -57934,6 +69285,12 @@ func (s *InstanceNetworkInterfaceSpecification) SetGroups(v []*string) *Instance return s } +// SetInterfaceType sets the InterfaceType field's value. +func (s *InstanceNetworkInterfaceSpecification) SetInterfaceType(v string) *InstanceNetworkInterfaceSpecification { + s.InterfaceType = &v + return s +} + // SetIpv6AddressCount sets the Ipv6AddressCount field's value. func (s *InstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *InstanceNetworkInterfaceSpecification { s.Ipv6AddressCount = &v @@ -58028,12 +69385,54 @@ func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivat return s } +// The instance details to specify which volumes should be snapshotted. +type InstanceSpecification struct { + _ struct{} `type:"structure"` + + // Excludes the root volume from being snapshotted. + ExcludeBootVolume *bool `type:"boolean"` + + // The instance to specify which volumes should be snapshotted. + InstanceId *string `type:"string"` +} + +// String returns the string representation +func (s InstanceSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceSpecification) GoString() string { + return s.String() +} + +// SetExcludeBootVolume sets the ExcludeBootVolume field's value. +func (s *InstanceSpecification) SetExcludeBootVolume(v bool) *InstanceSpecification { + s.ExcludeBootVolume = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *InstanceSpecification) SetInstanceId(v string) *InstanceSpecification { + s.InstanceId = &v + return s +} + // Describes the current state of an instance. type InstanceState struct { _ struct{} `type:"structure"` - // The low byte represents the state. The high byte is used for internal purposes - // and should be ignored. + // The state of the instance as a 16-bit unsigned integer. + // + // The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal + // values between 256 and 65,535. These numerical values are used for internal + // purposes and should be ignored. + // + // The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal + // values between 0 and 255. + // + // The valid values for instance-state-code will all be in the range of the + // low byte and they are: // // * 0 : pending // @@ -58046,6 +69445,9 @@ type InstanceState struct { // * 64 : stopping // // * 80 : stopped + // + // You can ignore the high byte value by zeroing out all of the bits above 2^8 + // or 256 in decimal. Code *int64 `locationName:"code" type:"integer"` // The current state of the instance. @@ -58246,11 +69648,17 @@ type InstanceStatusEvent struct { // following text: [Completed]. Description *string `locationName:"description" type:"string"` + // The ID of the event. + InstanceEventId *string `locationName:"instanceEventId" type:"string"` + // The latest scheduled end time for the event. NotAfter *time.Time `locationName:"notAfter" type:"timestamp"` // The earliest scheduled start time for the event. NotBefore *time.Time `locationName:"notBefore" type:"timestamp"` + + // The deadline for starting the event. + NotBeforeDeadline *time.Time `locationName:"notBeforeDeadline" type:"timestamp"` } // String returns the string representation @@ -58275,6 +69683,12 @@ func (s *InstanceStatusEvent) SetDescription(v string) *InstanceStatusEvent { return s } +// SetInstanceEventId sets the InstanceEventId field's value. +func (s *InstanceStatusEvent) SetInstanceEventId(v string) *InstanceStatusEvent { + s.InstanceEventId = &v + return s +} + // SetNotAfter sets the NotAfter field's value. func (s *InstanceStatusEvent) SetNotAfter(v time.Time) *InstanceStatusEvent { s.NotAfter = &v @@ -58287,6 +69701,12 @@ func (s *InstanceStatusEvent) SetNotBefore(v time.Time) *InstanceStatusEvent { return s } +// SetNotBeforeDeadline sets the NotBeforeDeadline field's value. +func (s *InstanceStatusEvent) SetNotBeforeDeadline(v time.Time) *InstanceStatusEvent { + s.NotBeforeDeadline = &v + return s +} + // Describes the status of an instance. type InstanceStatusSummary struct { _ struct{} `type:"structure"` @@ -58320,6 +69740,36 @@ func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary { return s } +type InstanceUsage struct { + _ struct{} `type:"structure"` + + AccountId *string `locationName:"accountId" type:"string"` + + UsedInstanceCount *int64 `locationName:"usedInstanceCount" type:"integer"` +} + +// String returns the string representation +func (s InstanceUsage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceUsage) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *InstanceUsage) SetAccountId(v string) *InstanceUsage { + s.AccountId = &v + return s +} + +// SetUsedInstanceCount sets the UsedInstanceCount field's value. +func (s *InstanceUsage) SetUsedInstanceCount(v int64) *InstanceUsage { + s.UsedInstanceCount = &v + return s +} + // Describes an internet gateway. type InternetGateway struct { _ struct{} `type:"structure"` @@ -58415,33 +69865,34 @@ type IpPermission struct { // all ICMP/ICMPv6 types, you must specify all codes. FromPort *int64 `locationName:"fromPort" type:"integer"` - // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)). + // The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers + // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)). // - // [EC2-VPC only] Use -1 to specify all protocols. When authorizing security - // group rules, specifying -1 or a protocol number other than tcp, udp, icmp, - // or 58 (ICMPv6) allows traffic on all ports, regardless of any port range - // you specify. For tcp, udp, and icmp, you must specify a port range. For 58 - // (ICMPv6), you can optionally specify a port range; if you don't, traffic - // for all types and codes is allowed when authorizing rules. + // [VPC only] Use -1 to specify all protocols. When authorizing security group + // rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 + // allows traffic on all ports, regardless of any port range you specify. For + // tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range + // is optional; if you omit the port range, traffic for all types and codes + // is allowed. IpProtocol *string `locationName:"ipProtocol" type:"string"` - // One or more IPv4 ranges. + // The IPv4 ranges. IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"` - // [EC2-VPC only] One or more IPv6 ranges. + // [VPC only] The IPv6 ranges. Ipv6Ranges []*Ipv6Range `locationName:"ipv6Ranges" locationNameList:"item" type:"list"` - // [EC2-VPC only] One or more prefix list IDs for an AWS service. With AuthorizeSecurityGroupEgress, - // this is the AWS service that you want to access through a VPC endpoint from - // instances associated with the security group. + // [VPC only] The prefix list IDs for an AWS service. With outbound rules, this + // is the AWS service to access through a VPC endpoint from instances associated + // with the security group. PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"` // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. - // A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type. - // If you specify all ICMP/ICMPv6 types, you must specify all codes. + // A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 + // types, you must specify all codes. ToPort *int64 `locationName:"toPort" type:"integer"` - // One or more security group and AWS account ID pairs. + // The security group and AWS account ID pairs. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"` } @@ -59378,8 +70829,8 @@ type LaunchTemplateEbsBlockDeviceRequest struct { // volume. For gp2, this represents the baseline performance of the volume and // the rate at which the volume accumulates I/O credits for bursting. For more // information about General Purpose SSD baseline performance, I/O credits, - // and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud - // User Guide. + // and bursting, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) + // in the Amazon Elastic Compute Cloud User Guide. // // Condition: This parameter is required for requests to create io1 volumes; // it is not used in requests to create gp2, st1, sc1, or standard volumes. @@ -59544,7 +70995,7 @@ func (s *LaunchTemplateHibernationOptions) SetConfigured(v bool) *LaunchTemplate } // Indicates whether the instance is configured for hibernation. This parameter -// is valid only if the instance meets the hibernation prerequisites (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). +// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). // Hibernation is currently supported only for Amazon Linux. type LaunchTemplateHibernationOptionsRequest struct { _ struct{} `type:"structure"` @@ -59723,6 +71174,9 @@ type LaunchTemplateInstanceNetworkInterfaceSpecification struct { // The IDs of one or more security groups. Groups []*string `locationName:"groupSet" locationNameList:"groupId" type:"list"` + // The type of network interface. + InterfaceType *string `locationName:"interfaceType" type:"string"` + // The number of IPv6 addresses for the network interface. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"` @@ -59785,6 +71239,12 @@ func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetGroups(v []*str return s } +// SetInterfaceType sets the InterfaceType field's value. +func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetInterfaceType(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification { + s.InterfaceType = &v + return s +} + // SetIpv6AddressCount sets the Ipv6AddressCount field's value. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification { s.Ipv6AddressCount = &v @@ -59846,6 +71306,15 @@ type LaunchTemplateInstanceNetworkInterfaceSpecificationRequest struct { // The IDs of one or more security groups. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"` + // The type of network interface. To create an Elastic Fabric Adapter (EFA), + // specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) + // in the Amazon Elastic Compute Cloud User Guide. + // + // If you are not creating an EFA, specify interface or omit this parameter. + // + // Valid values: interface | efa + InterfaceType *string `type:"string"` + // The number of IPv6 addresses to assign to a network interface. Amazon EC2 // automatically selects the IPv6 addresses from the subnet range. You can't // use this option if specifying specific IPv6 addresses. @@ -59911,6 +71380,12 @@ func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetGroups(v return s } +// SetInterfaceType sets the InterfaceType field's value. +func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetInterfaceType(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { + s.InterfaceType = &v + return s +} + // SetIpv6AddressCount sets the Ipv6AddressCount field's value. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { s.Ipv6AddressCount = &v @@ -60430,7 +71905,7 @@ type LaunchTemplateTagSpecificationRequest struct { // The type of resource to tag. Currently, the resource types that support tagging // on creation are instance and volume. To tag a resource after it has been - // created, see CreateTags. + // created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). ResourceType *string `type:"string" enum:"ResourceType"` // The tags to apply to the resource. @@ -60914,6 +72389,231 @@ func (s *ModifyCapacityReservationOutput) SetReturn(v bool) *ModifyCapacityReser return s } +type ModifyClientVpnEndpointInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint to modify. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Information about the client connection logging options. + // + // If you enable client connection logging, data about client connections is + // sent to a Cloudwatch Logs log stream. The following information is logged: + // + // * Client connection requests + // + // * Client connection results (successful and unsuccessful) + // + // * Reasons for unsuccessful client connection requests + // + // * Client connection termination time + ConnectionLogOptions *ConnectionLogOptions `type:"structure"` + + // A brief description of the Client VPN endpoint. + Description *string `type:"string"` + + // Information about the DNS servers to be used by Client VPN connections. A + // Client VPN endpoint can have up to two DNS servers. + DnsServers *DnsServersOptionsModifyStructure `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ARN of the server certificate to be used. The server certificate must + // be provisioned in AWS Certificate Manager (ACM). + ServerCertificateArn *string `type:"string"` + + // Indicates whether the VPN is split-tunnel. + // + // For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client + // VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html) + // in the AWS Client VPN Administrator Guide. + SplitTunnel *bool `type:"boolean"` +} + +// String returns the string representation +func (s ModifyClientVpnEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyClientVpnEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyClientVpnEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyClientVpnEndpointInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *ModifyClientVpnEndpointInput) SetClientVpnEndpointId(v string) *ModifyClientVpnEndpointInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetConnectionLogOptions sets the ConnectionLogOptions field's value. +func (s *ModifyClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *ModifyClientVpnEndpointInput { + s.ConnectionLogOptions = v + return s +} + +// SetDescription sets the Description field's value. +func (s *ModifyClientVpnEndpointInput) SetDescription(v string) *ModifyClientVpnEndpointInput { + s.Description = &v + return s +} + +// SetDnsServers sets the DnsServers field's value. +func (s *ModifyClientVpnEndpointInput) SetDnsServers(v *DnsServersOptionsModifyStructure) *ModifyClientVpnEndpointInput { + s.DnsServers = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyClientVpnEndpointInput) SetDryRun(v bool) *ModifyClientVpnEndpointInput { + s.DryRun = &v + return s +} + +// SetServerCertificateArn sets the ServerCertificateArn field's value. +func (s *ModifyClientVpnEndpointInput) SetServerCertificateArn(v string) *ModifyClientVpnEndpointInput { + s.ServerCertificateArn = &v + return s +} + +// SetSplitTunnel sets the SplitTunnel field's value. +func (s *ModifyClientVpnEndpointInput) SetSplitTunnel(v bool) *ModifyClientVpnEndpointInput { + s.SplitTunnel = &v + return s +} + +type ModifyClientVpnEndpointOutput struct { + _ struct{} `type:"structure"` + + // Returns true if the request succeeds; otherwise, it returns an error. + Return *bool `locationName:"return" type:"boolean"` +} + +// String returns the string representation +func (s ModifyClientVpnEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyClientVpnEndpointOutput) GoString() string { + return s.String() +} + +// SetReturn sets the Return field's value. +func (s *ModifyClientVpnEndpointOutput) SetReturn(v bool) *ModifyClientVpnEndpointOutput { + s.Return = &v + return s +} + +type ModifyEbsDefaultKmsKeyIdInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The identifier of the AWS Key Management Service (AWS KMS) customer master + // key (CMK) to use for Amazon EBS encryption. If this parameter is not specified, + // your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted + // state must be true. + // + // You can specify the CMK using any of the following: + // + // * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab. + // + // * Key alias. For example, alias/ExampleAlias. + // + // * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. + // + // * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. + // + // AWS authenticates the CMK asynchronously. Therefore, if you specify an ID, + // alias, or ARN that is not valid, the action can appear to complete, but eventually + // fails. + // + // KmsKeyId is a required field + KmsKeyId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ModifyEbsDefaultKmsKeyIdInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyEbsDefaultKmsKeyIdInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyEbsDefaultKmsKeyIdInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyEbsDefaultKmsKeyIdInput"} + if s.KmsKeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KmsKeyId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *ModifyEbsDefaultKmsKeyIdInput { + s.DryRun = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *ModifyEbsDefaultKmsKeyIdInput) SetKmsKeyId(v string) *ModifyEbsDefaultKmsKeyIdInput { + s.KmsKeyId = &v + return s +} + +type ModifyEbsDefaultKmsKeyIdOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the default CMK for encryption by default. + KmsKeyId *string `locationName:"kmsKeyId" type:"string"` +} + +// String returns the string representation +func (s ModifyEbsDefaultKmsKeyIdOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyEbsDefaultKmsKeyIdOutput) GoString() string { + return s.String() +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *ModifyEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *ModifyEbsDefaultKmsKeyIdOutput { + s.KmsKeyId = &v + return s +} + type ModifyFleetInput struct { _ struct{} `type:"structure"` @@ -61046,17 +72746,16 @@ type ModifyFpgaImageAttributeInput struct { // The operation type. OperationType *string `type:"string" enum:"OperationType"` - // One or more product codes. After you add a product code to an AFI, it can't - // be removed. This parameter is valid only when modifying the productCodes - // attribute. + // The product codes. After you add a product code to an AFI, it can't be removed. + // This parameter is valid only when modifying the productCodes attribute. ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"` - // One or more user groups. This parameter is valid only when modifying the - // loadPermission attribute. + // The user groups. This parameter is valid only when modifying the loadPermission + // attribute. UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"` - // One or more AWS account IDs. This parameter is valid only when modifying - // the loadPermission attribute. + // The AWS account IDs. This parameter is valid only when modifying the loadPermission + // attribute. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"` } @@ -61170,14 +72869,17 @@ type ModifyHostsInput struct { _ struct{} `type:"structure"` // Specify whether to enable or disable auto-placement. - // - // AutoPlacement is a required field - AutoPlacement *string `locationName:"autoPlacement" type:"string" required:"true" enum:"AutoPlacement"` + AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"` // The IDs of the Dedicated Hosts to modify. // // HostIds is a required field HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"` + + // Indicates whether to enable or disable host recovery for the Dedicated Host. + // For more information, see Host Recovery (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html) + // in the Amazon Elastic Compute Cloud User Guide. + HostRecovery *string `type:"string" enum:"HostRecovery"` } // String returns the string representation @@ -61193,9 +72895,6 @@ func (s ModifyHostsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ModifyHostsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ModifyHostsInput"} - if s.AutoPlacement == nil { - invalidParams.Add(request.NewErrParamRequired("AutoPlacement")) - } if s.HostIds == nil { invalidParams.Add(request.NewErrParamRequired("HostIds")) } @@ -61218,6 +72917,12 @@ func (s *ModifyHostsInput) SetHostIds(v []*string) *ModifyHostsInput { return s } +// SetHostRecovery sets the HostRecovery field's value. +func (s *ModifyHostsInput) SetHostRecovery(v string) *ModifyHostsInput { + s.HostRecovery = &v + return s +} + type ModifyHostsOutput struct { _ struct{} `type:"structure"` @@ -61446,16 +73151,16 @@ type ModifyImageAttributeInput struct { // is launchPermission. OperationType *string `type:"string" enum:"OperationType"` - // One or more DevPay product codes. After you add a product code to an AMI, - // it can't be removed. + // The DevPay product codes. After you add a product code to an AMI, it can't + // be removed. ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"` - // One or more user groups. This parameter can be used only when the Attribute - // parameter is launchPermission. + // The user groups. This parameter can be used only when the Attribute parameter + // is launchPermission. UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"` - // One or more AWS account IDs. This parameter can be used only when the Attribute - // parameter is launchPermission. + // The AWS account IDs. This parameter can be used only when the Attribute parameter + // is launchPermission. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"` // The value of the attribute being modified. This parameter can be used only @@ -61573,7 +73278,7 @@ type ModifyInstanceAttributeInput struct { // // To add instance store volumes to an Amazon EBS-backed instance, you must // add them when you launch the instance. For more information, see Updating - // the Block Device Mapping when Launching an Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM) + // the Block Device Mapping when Launching an Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM) // in the Amazon Elastic Compute Cloud User Guide. BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"` @@ -61616,18 +73321,18 @@ type ModifyInstanceAttributeInput struct { InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"` // Changes the instance type to the specified value. For more information, see - // Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html). + // Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html). // If the instance type is not valid, the error returned is InvalidInstanceAttributeValue. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"` // Changes the instance's kernel to the specified value. We recommend that you // use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB - // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html). + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html). Kernel *AttributeValue `locationName:"kernel" type:"structure"` // Changes the instance's RAM disk to the specified value. We recommend that // you use PV-GRUB instead of kernels and RAM disks. For more information, see - // PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html). + // PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html). Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"` // Specifies whether source/destination checking is enabled. A value of true @@ -61881,7 +73586,7 @@ type ModifyInstanceCreditSpecificationInput struct { // A unique, case-sensitive token that you provide to ensure idempotency of // your modification request. For more information, see Ensuring Idempotency - // (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -61971,6 +73676,107 @@ func (s *ModifyInstanceCreditSpecificationOutput) SetUnsuccessfulInstanceCreditS return s } +type ModifyInstanceEventStartTimeInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the event whose date and time you are modifying. + // + // InstanceEventId is a required field + InstanceEventId *string `type:"string" required:"true"` + + // The ID of the instance with the scheduled event. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` + + // The new date and time when the event will take place. + // + // NotBefore is a required field + NotBefore *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s ModifyInstanceEventStartTimeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyInstanceEventStartTimeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyInstanceEventStartTimeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceEventStartTimeInput"} + if s.InstanceEventId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceEventId")) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.NotBefore == nil { + invalidParams.Add(request.NewErrParamRequired("NotBefore")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyInstanceEventStartTimeInput) SetDryRun(v bool) *ModifyInstanceEventStartTimeInput { + s.DryRun = &v + return s +} + +// SetInstanceEventId sets the InstanceEventId field's value. +func (s *ModifyInstanceEventStartTimeInput) SetInstanceEventId(v string) *ModifyInstanceEventStartTimeInput { + s.InstanceEventId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ModifyInstanceEventStartTimeInput) SetInstanceId(v string) *ModifyInstanceEventStartTimeInput { + s.InstanceId = &v + return s +} + +// SetNotBefore sets the NotBefore field's value. +func (s *ModifyInstanceEventStartTimeInput) SetNotBefore(v time.Time) *ModifyInstanceEventStartTimeInput { + s.NotBefore = &v + return s +} + +type ModifyInstanceEventStartTimeOutput struct { + _ struct{} `type:"structure"` + + // Describes a scheduled event for an instance. + Event *InstanceStatusEvent `locationName:"event" type:"structure"` +} + +// String returns the string representation +func (s ModifyInstanceEventStartTimeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyInstanceEventStartTimeOutput) GoString() string { + return s.String() +} + +// SetEvent sets the Event field's value. +func (s *ModifyInstanceEventStartTimeOutput) SetEvent(v *InstanceStatusEvent) *ModifyInstanceEventStartTimeOutput { + s.Event = v + return s +} + type ModifyInstancePlacementInput struct { _ struct{} `type:"structure"` @@ -61979,7 +73785,8 @@ type ModifyInstancePlacementInput struct { // The name of the placement group in which to place the instance. For spread // placement groups, the instance must have a tenancy of default. For cluster - // placement groups, the instance must have a tenancy of default or dedicated. + // and partition placement groups, the instance must have a tenancy of default + // or dedicated. // // To remove an instance from a placement group, specify an empty string (""). GroupName *string `type:"string"` @@ -61992,6 +73799,9 @@ type ModifyInstancePlacementInput struct { // InstanceId is a required field InstanceId *string `locationName:"instanceId" type:"string" required:"true"` + // Reserved for future use. + PartitionNumber *int64 `type:"integer"` + // The tenancy for the instance. Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"` } @@ -62043,6 +73853,12 @@ func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePl return s } +// SetPartitionNumber sets the PartitionNumber field's value. +func (s *ModifyInstancePlacementInput) SetPartitionNumber(v int64) *ModifyInstancePlacementInput { + s.PartitionNumber = &v + return s +} + // SetTenancy sets the Tenancy field's value. func (s *ModifyInstancePlacementInput) SetTenancy(v string) *ModifyInstancePlacementInput { s.Tenancy = &v @@ -62076,7 +73892,9 @@ type ModifyLaunchTemplateInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // + // Constraint: Maximum 128 ASCII characters. ClientToken *string `type:"string"` // The version number of the launch template to set as the default version. @@ -62204,7 +74022,7 @@ type ModifyNetworkInterfaceAttributeInput struct { // Indicates whether source/destination checking is enabled. A value of true // means checking is enabled, and false means checking is disabled. This value // must be false for a NAT instance to perform NAT. For more information, see - // NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html) + // NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html) // in the Amazon Virtual Private Cloud User Guide. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"` } @@ -62287,7 +74105,7 @@ type ModifyReservedInstancesInput struct { _ struct{} `type:"structure"` // A unique, case-sensitive token you provide to ensure idempotency of your - // modification request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // modification request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `locationName:"clientToken" type:"string"` // The IDs of the Reserved Instances to modify. @@ -62489,6 +74307,9 @@ type ModifySpotFleetRequestInput struct { // the Spot Fleet. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"` + // The number of On-Demand Instances in the fleet. + OnDemandTargetCapacity *int64 `type:"integer"` + // The ID of the Spot Fleet request. // // SpotFleetRequestId is a required field @@ -62527,6 +74348,12 @@ func (s *ModifySpotFleetRequestInput) SetExcessCapacityTerminationPolicy(v strin return s } +// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value. +func (s *ModifySpotFleetRequestInput) SetOnDemandTargetCapacity(v int64) *ModifySpotFleetRequestInput { + s.OnDemandTargetCapacity = &v + return s +} + // SetSpotFleetRequestId sets the SpotFleetRequestId field's value. func (s *ModifySpotFleetRequestInput) SetSpotFleetRequestId(v string) *ModifySpotFleetRequestInput { s.SpotFleetRequestId = &v @@ -62576,10 +74403,8 @@ type ModifySubnetAttributeInput struct { // or later of the Amazon EC2 API. AssignIpv6AddressOnCreation *AttributeBooleanValue `type:"structure"` - // Specify true to indicate that network interfaces created in the specified - // subnet should be assigned a public IPv4 address. This includes a network - // interface that's created when launching an instance into the subnet (the - // instance therefore receives a public IPv4 address). + // Specify true to indicate that ENIs attached to instances created in the specified + // subnet should be assigned a public IPv4 address. MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"` // The ID of the subnet. @@ -62643,6 +74468,413 @@ func (s ModifySubnetAttributeOutput) GoString() string { return s.String() } +type ModifyTrafficMirrorFilterNetworkServicesInput struct { + _ struct{} `type:"structure"` + + // The network service, for example Amazon DNS, that you want to mirror. + AddNetworkServices []*string `locationName:"AddNetworkService" locationNameList:"item" type:"list"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The network service, for example Amazon DNS, that you no longer want to mirror. + RemoveNetworkServices []*string `locationName:"RemoveNetworkService" locationNameList:"item" type:"list"` + + // The ID of the Traffic Mirror filter. + // + // TrafficMirrorFilterId is a required field + TrafficMirrorFilterId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ModifyTrafficMirrorFilterNetworkServicesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyTrafficMirrorFilterNetworkServicesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyTrafficMirrorFilterNetworkServicesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorFilterNetworkServicesInput"} + if s.TrafficMirrorFilterId == nil { + invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddNetworkServices sets the AddNetworkServices field's value. +func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetAddNetworkServices(v []*string) *ModifyTrafficMirrorFilterNetworkServicesInput { + s.AddNetworkServices = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetDryRun(v bool) *ModifyTrafficMirrorFilterNetworkServicesInput { + s.DryRun = &v + return s +} + +// SetRemoveNetworkServices sets the RemoveNetworkServices field's value. +func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetRemoveNetworkServices(v []*string) *ModifyTrafficMirrorFilterNetworkServicesInput { + s.RemoveNetworkServices = v + return s +} + +// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value. +func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetTrafficMirrorFilterId(v string) *ModifyTrafficMirrorFilterNetworkServicesInput { + s.TrafficMirrorFilterId = &v + return s +} + +type ModifyTrafficMirrorFilterNetworkServicesOutput struct { + _ struct{} `type:"structure"` + + // The Traffic Mirror filter that the network service is associated with. + TrafficMirrorFilter *TrafficMirrorFilter `locationName:"trafficMirrorFilter" type:"structure"` +} + +// String returns the string representation +func (s ModifyTrafficMirrorFilterNetworkServicesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyTrafficMirrorFilterNetworkServicesOutput) GoString() string { + return s.String() +} + +// SetTrafficMirrorFilter sets the TrafficMirrorFilter field's value. +func (s *ModifyTrafficMirrorFilterNetworkServicesOutput) SetTrafficMirrorFilter(v *TrafficMirrorFilter) *ModifyTrafficMirrorFilterNetworkServicesOutput { + s.TrafficMirrorFilter = v + return s +} + +type ModifyTrafficMirrorFilterRuleInput struct { + _ struct{} `type:"structure"` + + // The description to assign to the Traffic Mirror rule. + Description *string `type:"string"` + + // The destination CIDR block to assign to the Traffic Mirror rule. + DestinationCidrBlock *string `type:"string"` + + // The destination ports that are associated with the Traffic Mirror rule. + DestinationPortRange *TrafficMirrorPortRangeRequest `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The protocol, for example TCP, to assign to the Traffic Mirror rule. + Protocol *int64 `type:"integer"` + + // The properties that you want to remove from the Traffic Mirror filter rule. + // + // When you remove a property from a Traffic Mirror filter rule, the property + // is set to the default. + RemoveFields []*string `locationName:"RemoveField" type:"list"` + + // The action to assign to the rule. + RuleAction *string `type:"string" enum:"TrafficMirrorRuleAction"` + + // The number of the Traffic Mirror rule. This number must be unique for each + // Traffic Mirror rule in a given direction. The rules are processed in ascending + // order by rule number. + RuleNumber *int64 `type:"integer"` + + // The source CIDR block to assign to the Traffic Mirror rule. + SourceCidrBlock *string `type:"string"` + + // The port range to assign to the Traffic Mirror rule. + SourcePortRange *TrafficMirrorPortRangeRequest `type:"structure"` + + // The type of traffic (ingress | egress) to assign to the rule. + TrafficDirection *string `type:"string" enum:"TrafficDirection"` + + // The ID of the Traffic Mirror rule. + // + // TrafficMirrorFilterRuleId is a required field + TrafficMirrorFilterRuleId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ModifyTrafficMirrorFilterRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyTrafficMirrorFilterRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyTrafficMirrorFilterRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorFilterRuleInput"} + if s.TrafficMirrorFilterRuleId == nil { + invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterRuleId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *ModifyTrafficMirrorFilterRuleInput) SetDescription(v string) *ModifyTrafficMirrorFilterRuleInput { + s.Description = &v + return s +} + +// SetDestinationCidrBlock sets the DestinationCidrBlock field's value. +func (s *ModifyTrafficMirrorFilterRuleInput) SetDestinationCidrBlock(v string) *ModifyTrafficMirrorFilterRuleInput { + s.DestinationCidrBlock = &v + return s +} + +// SetDestinationPortRange sets the DestinationPortRange field's value. +func (s *ModifyTrafficMirrorFilterRuleInput) SetDestinationPortRange(v *TrafficMirrorPortRangeRequest) *ModifyTrafficMirrorFilterRuleInput { + s.DestinationPortRange = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyTrafficMirrorFilterRuleInput) SetDryRun(v bool) *ModifyTrafficMirrorFilterRuleInput { + s.DryRun = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *ModifyTrafficMirrorFilterRuleInput) SetProtocol(v int64) *ModifyTrafficMirrorFilterRuleInput { + s.Protocol = &v + return s +} + +// SetRemoveFields sets the RemoveFields field's value. +func (s *ModifyTrafficMirrorFilterRuleInput) SetRemoveFields(v []*string) *ModifyTrafficMirrorFilterRuleInput { + s.RemoveFields = v + return s +} + +// SetRuleAction sets the RuleAction field's value. +func (s *ModifyTrafficMirrorFilterRuleInput) SetRuleAction(v string) *ModifyTrafficMirrorFilterRuleInput { + s.RuleAction = &v + return s +} + +// SetRuleNumber sets the RuleNumber field's value. +func (s *ModifyTrafficMirrorFilterRuleInput) SetRuleNumber(v int64) *ModifyTrafficMirrorFilterRuleInput { + s.RuleNumber = &v + return s +} + +// SetSourceCidrBlock sets the SourceCidrBlock field's value. +func (s *ModifyTrafficMirrorFilterRuleInput) SetSourceCidrBlock(v string) *ModifyTrafficMirrorFilterRuleInput { + s.SourceCidrBlock = &v + return s +} + +// SetSourcePortRange sets the SourcePortRange field's value. +func (s *ModifyTrafficMirrorFilterRuleInput) SetSourcePortRange(v *TrafficMirrorPortRangeRequest) *ModifyTrafficMirrorFilterRuleInput { + s.SourcePortRange = v + return s +} + +// SetTrafficDirection sets the TrafficDirection field's value. +func (s *ModifyTrafficMirrorFilterRuleInput) SetTrafficDirection(v string) *ModifyTrafficMirrorFilterRuleInput { + s.TrafficDirection = &v + return s +} + +// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value. +func (s *ModifyTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterRuleId(v string) *ModifyTrafficMirrorFilterRuleInput { + s.TrafficMirrorFilterRuleId = &v + return s +} + +type ModifyTrafficMirrorFilterRuleOutput struct { + _ struct{} `type:"structure"` + + // Modifies a Traffic Mirror rule. + TrafficMirrorFilterRule *TrafficMirrorFilterRule `locationName:"trafficMirrorFilterRule" type:"structure"` +} + +// String returns the string representation +func (s ModifyTrafficMirrorFilterRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyTrafficMirrorFilterRuleOutput) GoString() string { + return s.String() +} + +// SetTrafficMirrorFilterRule sets the TrafficMirrorFilterRule field's value. +func (s *ModifyTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRule(v *TrafficMirrorFilterRule) *ModifyTrafficMirrorFilterRuleOutput { + s.TrafficMirrorFilterRule = v + return s +} + +type ModifyTrafficMirrorSessionInput struct { + _ struct{} `type:"structure"` + + // The description to assign to the Traffic Mirror session. + Description *string `type:"string"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The number of bytes in each packet to mirror. These are bytes after the VXLAN + // header. To mirror a subset, set this to the length (in bytes) to mirror. + // For example, if you set this value to 100, then the first 100 bytes that + // meet the filter criteria are copied to the target. Do not specify this parameter + // when you want to mirror the entire packet. + PacketLength *int64 `type:"integer"` + + // The properties that you want to remove from the Traffic Mirror session. + // + // When you remove a property from a Traffic Mirror session, the property is + // set to the default. + RemoveFields []*string `locationName:"RemoveField" type:"list"` + + // The session number determines the order in which sessions are evaluated when + // an interface is used by multiple sessions. The first session with a matching + // filter is the one that mirrors the packets. + // + // Valid values are 1-32766. + SessionNumber *int64 `type:"integer"` + + // The ID of the Traffic Mirror filter. + TrafficMirrorFilterId *string `type:"string"` + + // The ID of the Traffic Mirror session. + // + // TrafficMirrorSessionId is a required field + TrafficMirrorSessionId *string `type:"string" required:"true"` + + // The Traffic Mirror target. The target must be in the same VPC as the source, + // or have a VPC peering connection with the source. + TrafficMirrorTargetId *string `type:"string"` + + // The virtual network ID of the Traffic Mirror session. + VirtualNetworkId *int64 `type:"integer"` +} + +// String returns the string representation +func (s ModifyTrafficMirrorSessionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyTrafficMirrorSessionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyTrafficMirrorSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorSessionInput"} + if s.TrafficMirrorSessionId == nil { + invalidParams.Add(request.NewErrParamRequired("TrafficMirrorSessionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *ModifyTrafficMirrorSessionInput) SetDescription(v string) *ModifyTrafficMirrorSessionInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyTrafficMirrorSessionInput) SetDryRun(v bool) *ModifyTrafficMirrorSessionInput { + s.DryRun = &v + return s +} + +// SetPacketLength sets the PacketLength field's value. +func (s *ModifyTrafficMirrorSessionInput) SetPacketLength(v int64) *ModifyTrafficMirrorSessionInput { + s.PacketLength = &v + return s +} + +// SetRemoveFields sets the RemoveFields field's value. +func (s *ModifyTrafficMirrorSessionInput) SetRemoveFields(v []*string) *ModifyTrafficMirrorSessionInput { + s.RemoveFields = v + return s +} + +// SetSessionNumber sets the SessionNumber field's value. +func (s *ModifyTrafficMirrorSessionInput) SetSessionNumber(v int64) *ModifyTrafficMirrorSessionInput { + s.SessionNumber = &v + return s +} + +// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value. +func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorFilterId(v string) *ModifyTrafficMirrorSessionInput { + s.TrafficMirrorFilterId = &v + return s +} + +// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value. +func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorSessionId(v string) *ModifyTrafficMirrorSessionInput { + s.TrafficMirrorSessionId = &v + return s +} + +// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value. +func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorTargetId(v string) *ModifyTrafficMirrorSessionInput { + s.TrafficMirrorTargetId = &v + return s +} + +// SetVirtualNetworkId sets the VirtualNetworkId field's value. +func (s *ModifyTrafficMirrorSessionInput) SetVirtualNetworkId(v int64) *ModifyTrafficMirrorSessionInput { + s.VirtualNetworkId = &v + return s +} + +type ModifyTrafficMirrorSessionOutput struct { + _ struct{} `type:"structure"` + + // Information about the Traffic Mirror session. + TrafficMirrorSession *TrafficMirrorSession `locationName:"trafficMirrorSession" type:"structure"` +} + +// String returns the string representation +func (s ModifyTrafficMirrorSessionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyTrafficMirrorSessionOutput) GoString() string { + return s.String() +} + +// SetTrafficMirrorSession sets the TrafficMirrorSession field's value. +func (s *ModifyTrafficMirrorSessionOutput) SetTrafficMirrorSession(v *TrafficMirrorSession) *ModifyTrafficMirrorSessionOutput { + s.TrafficMirrorSession = v + return s +} + type ModifyTransitGatewayVpcAttachmentInput struct { _ struct{} `type:"structure"` @@ -62863,14 +75095,14 @@ type ModifyVolumeInput struct { // The target IOPS rate of the volume. // // This is only valid for Provisioned IOPS SSD (io1) volumes. For more information, - // see Provisioned IOPS SSD (io1) Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops). + // see Provisioned IOPS SSD (io1) Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops). // // Default: If no IOPS value is specified, the existing value is retained. Iops *int64 `type:"integer"` // The target size of the volume, in GiB. The target volume size must be greater // than or equal to than the existing size of the volume. For information about - // available EBS volume sizes, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html). + // available EBS volume sizes, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html). // // Default: If no size is specified, the existing size is retained. Size *int64 `type:"integer"` @@ -63156,8 +75388,9 @@ type ModifyVpcEndpointInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // (Gateway endpoint) A policy document to attach to the endpoint. The policy - // must be in valid JSON format. + // A policy to attach to the endpoint that controls access to the service. The + // policy must be in valid JSON format. If this parameter is not specified, + // we attach a default policy that allows full access to the service. PolicyDocument *string `type:"string"` // (Interface endpoint) Indicate whether a private hosted zone is associated @@ -63679,6 +75912,97 @@ func (s *ModifyVpcTenancyOutput) SetReturnValue(v bool) *ModifyVpcTenancyOutput return s } +type ModifyVpnConnectionInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the transit gateway. + TransitGatewayId *string `type:"string"` + + // The ID of the VPN connection. + // + // VpnConnectionId is a required field + VpnConnectionId *string `type:"string" required:"true"` + + // The ID of the virtual private gateway at the AWS side of the VPN connection. + VpnGatewayId *string `type:"string"` +} + +// String returns the string representation +func (s ModifyVpnConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyVpnConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyVpnConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyVpnConnectionInput"} + if s.VpnConnectionId == nil { + invalidParams.Add(request.NewErrParamRequired("VpnConnectionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyVpnConnectionInput) SetDryRun(v bool) *ModifyVpnConnectionInput { + s.DryRun = &v + return s +} + +// SetTransitGatewayId sets the TransitGatewayId field's value. +func (s *ModifyVpnConnectionInput) SetTransitGatewayId(v string) *ModifyVpnConnectionInput { + s.TransitGatewayId = &v + return s +} + +// SetVpnConnectionId sets the VpnConnectionId field's value. +func (s *ModifyVpnConnectionInput) SetVpnConnectionId(v string) *ModifyVpnConnectionInput { + s.VpnConnectionId = &v + return s +} + +// SetVpnGatewayId sets the VpnGatewayId field's value. +func (s *ModifyVpnConnectionInput) SetVpnGatewayId(v string) *ModifyVpnConnectionInput { + s.VpnGatewayId = &v + return s +} + +type ModifyVpnConnectionOutput struct { + _ struct{} `type:"structure"` + + // Describes a VPN connection. + VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"` +} + +// String returns the string representation +func (s ModifyVpnConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyVpnConnectionOutput) GoString() string { + return s.String() +} + +// SetVpnConnection sets the VpnConnection field's value. +func (s *ModifyVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnConnectionOutput { + s.VpnConnection = v + return s +} + type MonitorInstancesInput struct { _ struct{} `type:"structure"` @@ -63688,7 +76012,7 @@ type MonitorInstancesInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more instance IDs. + // The IDs of the instances. // // InstanceIds is a required field InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"` @@ -63938,7 +76262,7 @@ type NatGateway struct { NatGatewayId *string `locationName:"natGatewayId" type:"string"` // Reserved. If you need to sustain traffic greater than the documented limits - // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html), // contact us through the Support Center (https://console.aws.amazon.com/support/home?). ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"` @@ -64328,7 +76652,7 @@ type NetworkInterface struct { // Any security groups for the network interface. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"` - // The type of interface. + // The type of network interface. InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"` // The IPv6 addresses associated with the network interface. @@ -64885,7 +77209,7 @@ func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration { return s } -// The allocation strategy of On-Demand Instances in an EC2 Fleet. +// Describes the configuration of On-Demand Instances in an EC2 Fleet. type OnDemandOptions struct { _ struct{} `type:"structure"` @@ -64897,10 +77221,18 @@ type OnDemandOptions struct { // Fleet defaults to lowest-price. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"FleetOnDemandAllocationStrategy"` + // The maximum amount per hour for On-Demand Instances that you're willing to + // pay. + MaxTotalPrice *string `locationName:"maxTotalPrice" type:"string"` + // The minimum target capacity for On-Demand Instances in the fleet. If the // minimum target capacity is not reached, the fleet launches no instances. MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"` + // Indicates that the fleet launches all On-Demand Instances into a single Availability + // Zone. + SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"` + // Indicates that the fleet uses a single instance type to launch all On-Demand // Instances in the fleet. SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"` @@ -64922,19 +77254,31 @@ func (s *OnDemandOptions) SetAllocationStrategy(v string) *OnDemandOptions { return s } +// SetMaxTotalPrice sets the MaxTotalPrice field's value. +func (s *OnDemandOptions) SetMaxTotalPrice(v string) *OnDemandOptions { + s.MaxTotalPrice = &v + return s +} + // SetMinTargetCapacity sets the MinTargetCapacity field's value. func (s *OnDemandOptions) SetMinTargetCapacity(v int64) *OnDemandOptions { s.MinTargetCapacity = &v return s } +// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value. +func (s *OnDemandOptions) SetSingleAvailabilityZone(v bool) *OnDemandOptions { + s.SingleAvailabilityZone = &v + return s +} + // SetSingleInstanceType sets the SingleInstanceType field's value. func (s *OnDemandOptions) SetSingleInstanceType(v bool) *OnDemandOptions { s.SingleInstanceType = &v return s } -// The allocation strategy of On-Demand Instances in an EC2 Fleet. +// Describes the configuration of On-Demand Instances in an EC2 Fleet. type OnDemandOptionsRequest struct { _ struct{} `type:"structure"` @@ -64946,10 +77290,18 @@ type OnDemandOptionsRequest struct { // Fleet defaults to lowest-price. AllocationStrategy *string `type:"string" enum:"FleetOnDemandAllocationStrategy"` + // The maximum amount per hour for On-Demand Instances that you're willing to + // pay. + MaxTotalPrice *string `type:"string"` + // The minimum target capacity for On-Demand Instances in the fleet. If the // minimum target capacity is not reached, the fleet launches no instances. MinTargetCapacity *int64 `type:"integer"` + // Indicates that the fleet launches all On-Demand Instances into a single Availability + // Zone. + SingleAvailabilityZone *bool `type:"boolean"` + // Indicates that the fleet uses a single instance type to launch all On-Demand // Instances in the fleet. SingleInstanceType *bool `type:"boolean"` @@ -64971,12 +77323,24 @@ func (s *OnDemandOptionsRequest) SetAllocationStrategy(v string) *OnDemandOption return s } +// SetMaxTotalPrice sets the MaxTotalPrice field's value. +func (s *OnDemandOptionsRequest) SetMaxTotalPrice(v string) *OnDemandOptionsRequest { + s.MaxTotalPrice = &v + return s +} + // SetMinTargetCapacity sets the MinTargetCapacity field's value. func (s *OnDemandOptionsRequest) SetMinTargetCapacity(v int64) *OnDemandOptionsRequest { s.MinTargetCapacity = &v return s } +// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value. +func (s *OnDemandOptionsRequest) SetSingleAvailabilityZone(v bool) *OnDemandOptionsRequest { + s.SingleAvailabilityZone = &v + return s +} + // SetSingleInstanceType sets the SingleInstanceType field's value. func (s *OnDemandOptionsRequest) SetSingleInstanceType(v bool) *OnDemandOptionsRequest { s.SingleInstanceType = &v @@ -65134,6 +77498,9 @@ type Placement struct { Affinity *string `locationName:"affinity" type:"string"` // The Availability Zone of the instance. + // + // If not specified, an Availability Zone will be automatically chosen for you + // based on the load balancing criteria for the Region. AvailabilityZone *string `locationName:"availabilityZone" type:"string"` // The name of the placement group the instance is in. @@ -65143,6 +77510,10 @@ type Placement struct { // is not supported for the ImportInstance command. HostId *string `locationName:"hostId" type:"string"` + // The number of the partition the instance is in. Valid only if the placement + // group strategy is set to partition. + PartitionNumber *int64 `locationName:"partitionNumber" type:"integer"` + // Reserved for future use. SpreadDomain *string `locationName:"spreadDomain" type:"string"` @@ -65186,6 +77557,12 @@ func (s *Placement) SetHostId(v string) *Placement { return s } +// SetPartitionNumber sets the PartitionNumber field's value. +func (s *Placement) SetPartitionNumber(v int64) *Placement { + s.PartitionNumber = &v + return s +} + // SetSpreadDomain sets the SpreadDomain field's value. func (s *Placement) SetSpreadDomain(v string) *Placement { s.SpreadDomain = &v @@ -65205,6 +77582,9 @@ type PlacementGroup struct { // The name of the placement group. GroupName *string `locationName:"groupName" type:"string"` + // The number of partitions. Valid only if strategy is set to partition. + PartitionCount *int64 `locationName:"partitionCount" type:"integer"` + // The state of the placement group. State *string `locationName:"state" type:"string" enum:"PlacementGroupState"` @@ -65228,6 +77608,12 @@ func (s *PlacementGroup) SetGroupName(v string) *PlacementGroup { return s } +// SetPartitionCount sets the PartitionCount field's value. +func (s *PlacementGroup) SetPartitionCount(v int64) *PlacementGroup { + s.PartitionCount = &v + return s +} + // SetState sets the State field's value. func (s *PlacementGroup) SetState(v string) *PlacementGroup { s.State = &v @@ -65644,7 +78030,7 @@ type ProvisionByoipCidrInput struct { // The public IPv4 address range, in CIDR notation. The most specific prefix // that you can specify is /24. The address range cannot overlap with another - // address range that you've brought to this or another region. + // address range that you've brought to this or another Region. // // Cidr is a required field Cidr *string `type:"string" required:"true"` @@ -65739,33 +78125,33 @@ func (s *ProvisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *ProvisionByoipCid } // Reserved. If you need to sustain traffic greater than the documented limits -// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), +// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html), // contact us through the Support Center (https://console.aws.amazon.com/support/home?). type ProvisionedBandwidth struct { _ struct{} `type:"structure"` // Reserved. If you need to sustain traffic greater than the documented limits - // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html), // contact us through the Support Center (https://console.aws.amazon.com/support/home?). ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp"` // Reserved. If you need to sustain traffic greater than the documented limits - // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html), // contact us through the Support Center (https://console.aws.amazon.com/support/home?). Provisioned *string `locationName:"provisioned" type:"string"` // Reserved. If you need to sustain traffic greater than the documented limits - // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html), // contact us through the Support Center (https://console.aws.amazon.com/support/home?). RequestTime *time.Time `locationName:"requestTime" type:"timestamp"` // Reserved. If you need to sustain traffic greater than the documented limits - // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html), // contact us through the Support Center (https://console.aws.amazon.com/support/home?). Requested *string `locationName:"requested" type:"string"` // Reserved. If you need to sustain traffic greater than the documented limits - // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html), // contact us through the Support Center (https://console.aws.amazon.com/support/home?). Status *string `locationName:"status" type:"string"` } @@ -66013,9 +78399,8 @@ func (s *Purchase) SetUpfrontPrice(v string) *Purchase { type PurchaseHostReservationInput struct { _ struct{} `type:"structure"` - // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) - // in the Amazon Elastic Compute Cloud User Guide. + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice @@ -66100,9 +78485,8 @@ func (s *PurchaseHostReservationInput) SetOfferingId(v string) *PurchaseHostRese type PurchaseHostReservationOutput struct { _ struct{} `type:"structure"` - // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) - // in the Amazon Elastic Compute Cloud User Guide. + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `locationName:"clientToken" type:"string"` // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts @@ -66317,7 +78701,7 @@ type PurchaseScheduledInstancesInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that ensures the idempotency of the request. - // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `type:"string" idempotencyToken:"true"` // Checks whether you have the required permissions for the action, without @@ -66326,7 +78710,7 @@ type PurchaseScheduledInstancesInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // One or more purchase requests. + // The purchase requests. // // PurchaseRequests is a required field PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"` @@ -66419,7 +78803,7 @@ type RebootInstancesInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more instance IDs. + // The instance IDs. // // InstanceIds is a required field InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"` @@ -66507,14 +78891,18 @@ func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge { return s } -// Describes a region. +// Describes a Region. type Region struct { _ struct{} `type:"structure"` - // The region service endpoint. + // The Region service endpoint. Endpoint *string `locationName:"regionEndpoint" type:"string"` - // The name of the region. + // The Region opt-in status. The possible values are opt-in-not-required, opted-in, + // and not-opted-in. + OptInStatus *string `locationName:"optInStatus" type:"string"` + + // The name of the Region. RegionName *string `locationName:"regionName" type:"string"` } @@ -66534,6 +78922,12 @@ func (s *Region) SetEndpoint(v string) *Region { return s } +// SetOptInStatus sets the OptInStatus field's value. +func (s *Region) SetOptInStatus(v string) *Region { + s.OptInStatus = &v + return s +} + // SetRegionName sets the RegionName field's value. func (s *Region) SetRegionName(v string) *Region { s.RegionName = &v @@ -66555,7 +78949,7 @@ type RegisterImageInput struct { // use of an AMI. BillingProducts []*string `locationName:"BillingProduct" locationNameList:"item" type:"list"` - // One or more block device mapping entries. + // The block device mapping entries. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"` // A description for your AMI. @@ -66574,7 +78968,10 @@ type RegisterImageInput struct { // PV AMI can make instances launched from the AMI unreachable. EnaSupport *bool `locationName:"enaSupport" type:"boolean"` - // The full path to your AMI manifest in Amazon S3 storage. + // The full path to your AMI manifest in Amazon S3 storage. The specified bucket + // must have the aws-exec-read canned access control list (ACL) to ensure that + // it can be accessed by Amazon EC2. For more information, see Canned ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) + // in the Amazon S3 Service Developer Guide. ImageLocation *string `type:"string"` // The ID of the kernel. @@ -67782,12 +80179,12 @@ type ReportInstanceStatusInput struct { // The time at which the reported instance health state ended. EndTime *time.Time `locationName:"endTime" type:"timestamp"` - // One or more instances. + // The instances. // // Instances is a required field Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"` - // One or more reason codes that describe the health state of your instance. + // The reason codes that describe the health state of your instance. // // * instance-stuck-in-state: My instance is stuck in a state. // @@ -67920,11 +80317,14 @@ type RequestLaunchTemplateData struct { // cannot be changed using this action. BlockDeviceMappings []*LaunchTemplateBlockDeviceMappingRequest `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"` - // The Capacity Reservation targeting option. + // The Capacity Reservation targeting option. If you do not specify this parameter, + // the instance's Capacity Reservation preference defaults to open, which enables + // it to run in any open Capacity Reservation that has matching attributes (instance + // type, platform, Availability Zone). CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationRequest `type:"structure"` // The CPU options for the instance. For more information, see Optimizing CPU - // Options (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) + // Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) // in the Amazon Elastic Compute Cloud User Guide. CpuOptions *LaunchTemplateCpuOptionsRequest `type:"structure"` @@ -67932,8 +80332,11 @@ type RequestLaunchTemplateData struct { // only. CreditSpecification *CreditSpecificationRequest `type:"structure"` - // If set to true, you can't terminate the instance using the Amazon EC2 console, - // CLI, or API. To change this attribute to false after launch, use ModifyInstanceAttribute. + // If you set this parameter to true, you can't terminate the instance using + // the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute + // after launch, use ModifyInstanceAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html). + // Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, + // you can terminate the instance by running the shutdown command from the instance. DisableApiTermination *bool `type:"boolean"` // Indicates whether the instance is optimized for Amazon EBS I/O. This optimization @@ -67950,16 +80353,16 @@ type RequestLaunchTemplateData struct { ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"` // Indicates whether an instance is enabled for hibernation. This parameter - // is valid only if the instance meets the hibernation prerequisites (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). + // is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). // Hibernation is currently supported only for Amazon Linux. For more information, - // see Hibernate Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) + // see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. HibernationOptions *LaunchTemplateHibernationOptionsRequest `type:"structure"` // The IAM instance profile. IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecificationRequest `type:"structure"` - // The ID of the AMI, which you can get by using DescribeImages. + // The ID of the AMI. ImageId *string `type:"string"` // Indicates whether an instance stops or terminates when you initiate shutdown @@ -67971,19 +80374,19 @@ type RequestLaunchTemplateData struct { // The market (purchasing) option for the instances. InstanceMarketOptions *LaunchTemplateInstanceMarketOptionsRequest `type:"structure"` - // The instance type. For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) // in the Amazon Elastic Compute Cloud User Guide. InstanceType *string `type:"string" enum:"InstanceType"` // The ID of the kernel. // // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more - // information, see User Provided Kernels (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) + // information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) // in the Amazon Elastic Compute Cloud User Guide. KernelId *string `type:"string"` - // The name of the key pair. You can create a key pair using CreateKeyPair or - // ImportKeyPair. + // The name of the key pair. You can create a key pair using CreateKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html) + // or ImportKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html). // // If you do not specify a key pair, you can't connect to the instance unless // you choose an AMI that is configured to allow users another way to log in. @@ -67995,7 +80398,8 @@ type RequestLaunchTemplateData struct { // The monitoring for the instance. Monitoring *LaunchTemplatesMonitoringRequest `type:"structure"` - // One or more network interfaces. + // One or more network interfaces. If you specify a network interface, you must + // specify any security groups and subnets as part of the network interface. NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest `locationName:"NetworkInterface" locationNameList:"InstanceNetworkInterfaceSpecification" type:"list"` // The placement for the instance. @@ -68004,11 +80408,12 @@ type RequestLaunchTemplateData struct { // The ID of the RAM disk. // // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more - // information, see User Provided Kernels (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) + // information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) // in the Amazon Elastic Compute Cloud User Guide. RamDiskId *string `type:"string"` - // One or more security group IDs. You can create a security group using CreateSecurityGroup. + // One or more security group IDs. You can create a security group using CreateSecurityGroup + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html). // You cannot specify both a security group ID and security name in the same // request. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"` @@ -68021,12 +80426,12 @@ type RequestLaunchTemplateData struct { // The tags to apply to the resources during launch. You can only tag instances // and volumes on launch. The specified tags are applied to all instances or // volumes that are created during launch. To tag a resource after it has been - // created, see CreateTags. + // created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). TagSpecifications []*LaunchTemplateTagSpecificationRequest `locationName:"TagSpecification" locationNameList:"LaunchTemplateTagSpecificationRequest" type:"list"` // The Base64-encoded user data to make available to the instance. For more - // information, see Running Commands on Your Linux Instance at Launch (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) - // (Linux) and Adding User Data (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data) + // information, see Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) + // (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data) // (Windows). UserData *string `type:"string"` } @@ -68287,9 +80692,7 @@ type RequestSpotFleetOutput struct { _ struct{} `type:"structure"` // The ID of the Spot Fleet request. - // - // SpotFleetRequestId is a required field - SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` + SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"` } // String returns the string representation @@ -68347,7 +80750,7 @@ type RequestSpotInstancesInput struct { BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) // in the Amazon EC2 User Guide for Linux Instances. ClientToken *string `locationName:"clientToken" type:"string"` @@ -68582,7 +80985,8 @@ type RequestSpotLaunchSpecification struct { // The ID of the subnet in which to launch the instance. SubnetId *string `locationName:"subnetId" type:"string"` - // The Base64-encoded user data for the instance. + // The Base64-encoded user data for the instance. User data is limited to 16 + // KB. UserData *string `locationName:"userData" type:"string"` } @@ -68711,10 +81115,10 @@ func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunc type Reservation struct { _ struct{} `type:"structure"` - // [EC2-Classic only] One or more security groups. + // [EC2-Classic only] The security groups. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"` - // One or more instances. + // The instances. Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"` // The ID of the AWS account that owns the reservation. @@ -69065,6 +81469,8 @@ type ReservedInstancesConfiguration struct { AvailabilityZone *string `locationName:"availabilityZone" type:"string"` // The number of modified Reserved Instances. + // + // This is a required field for a request. InstanceCount *int64 `locationName:"instanceCount" type:"integer"` // The instance type for the modified Reserved Instances. @@ -69074,7 +81480,7 @@ type ReservedInstancesConfiguration struct { // EC2-Classic or EC2-VPC. Platform *string `locationName:"platform" type:"string"` - // Whether the Reserved Instance is applied to instances in a region or instances + // Whether the Reserved Instance is applied to instances in a Region or instances // in a specific Availability Zone. Scope *string `locationName:"scope" type:"string" enum:"scope"` } @@ -69148,7 +81554,7 @@ type ReservedInstancesListing struct { _ struct{} `type:"structure"` // A unique, case-sensitive key supplied by the client to ensure that the request - // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `locationName:"clientToken" type:"string"` // The time the listing was created. @@ -69255,7 +81661,7 @@ type ReservedInstancesModification struct { _ struct{} `type:"structure"` // A unique, case-sensitive key supplied by the client to ensure that the request - // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `locationName:"clientToken" type:"string"` // The time when the modification request was created. @@ -69433,7 +81839,7 @@ type ReservedInstancesOffering struct { // GetReservedInstancesExchangeQuote to confirm that an exchange can be made. ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"` - // Whether the Reserved Instance is applied to instances in a region or an Availability + // Whether the Reserved Instance is applied to instances in a Region or an Availability // Zone. Scope *string `locationName:"scope" type:"string" enum:"scope"` @@ -69541,6 +81947,55 @@ func (s *ReservedInstancesOffering) SetUsagePrice(v float64) *ReservedInstancesO return s } +type ResetEbsDefaultKmsKeyIdInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` +} + +// String returns the string representation +func (s ResetEbsDefaultKmsKeyIdInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetEbsDefaultKmsKeyIdInput) GoString() string { + return s.String() +} + +// SetDryRun sets the DryRun field's value. +func (s *ResetEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *ResetEbsDefaultKmsKeyIdInput { + s.DryRun = &v + return s +} + +type ResetEbsDefaultKmsKeyIdOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the default CMK for EBS encryption by default. + KmsKeyId *string `locationName:"kmsKeyId" type:"string"` +} + +// String returns the string representation +func (s ResetEbsDefaultKmsKeyIdOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetEbsDefaultKmsKeyIdOutput) GoString() string { + return s.String() +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *ResetEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *ResetEbsDefaultKmsKeyIdOutput { + s.KmsKeyId = &v + return s +} + type ResetFpgaImageAttributeInput struct { _ struct{} `type:"structure"` @@ -69983,7 +82438,7 @@ type ResponseLaunchTemplateData struct { CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationResponse `locationName:"capacityReservationSpecification" type:"structure"` // The CPU options for the instance. For more information, see Optimizing CPU - // Options (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) + // Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) // in the Amazon Elastic Compute Cloud User Guide. CpuOptions *LaunchTemplateCpuOptions `locationName:"cpuOptions" type:"structure"` @@ -70004,7 +82459,7 @@ type ResponseLaunchTemplateData struct { ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAcceleratorResponse `locationName:"elasticInferenceAcceleratorSet" locationNameList:"item" type:"list"` // Indicates whether an instance is configured for hibernation. For more information, - // see Hibernate Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) + // see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. HibernationOptions *LaunchTemplateHibernationOptions `locationName:"hibernationOptions" type:"structure"` @@ -70300,6 +82755,112 @@ func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToCla return s } +type RevokeClientVpnIngressInput struct { + _ struct{} `type:"structure"` + + // The ID of the Active Directory group for which to revoke access. + AccessGroupId *string `type:"string"` + + // The ID of the Client VPN endpoint with which the authorization rule is associated. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // Indicates whether access should be revoked for all clients. + RevokeAllGroups *bool `type:"boolean"` + + // The IPv4 address range, in CIDR notation, of the network for which access + // is being removed. + // + // TargetNetworkCidr is a required field + TargetNetworkCidr *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s RevokeClientVpnIngressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RevokeClientVpnIngressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RevokeClientVpnIngressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RevokeClientVpnIngressInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + if s.TargetNetworkCidr == nil { + invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessGroupId sets the AccessGroupId field's value. +func (s *RevokeClientVpnIngressInput) SetAccessGroupId(v string) *RevokeClientVpnIngressInput { + s.AccessGroupId = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *RevokeClientVpnIngressInput) SetClientVpnEndpointId(v string) *RevokeClientVpnIngressInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *RevokeClientVpnIngressInput) SetDryRun(v bool) *RevokeClientVpnIngressInput { + s.DryRun = &v + return s +} + +// SetRevokeAllGroups sets the RevokeAllGroups field's value. +func (s *RevokeClientVpnIngressInput) SetRevokeAllGroups(v bool) *RevokeClientVpnIngressInput { + s.RevokeAllGroups = &v + return s +} + +// SetTargetNetworkCidr sets the TargetNetworkCidr field's value. +func (s *RevokeClientVpnIngressInput) SetTargetNetworkCidr(v string) *RevokeClientVpnIngressInput { + s.TargetNetworkCidr = &v + return s +} + +type RevokeClientVpnIngressOutput struct { + _ struct{} `type:"structure"` + + // The current state of the authorization rule. + Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"` +} + +// String returns the string representation +func (s RevokeClientVpnIngressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RevokeClientVpnIngressOutput) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *RevokeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *RevokeClientVpnIngressOutput { + s.Status = v + return s +} + type RevokeSecurityGroupEgressInput struct { _ struct{} `type:"structure"` @@ -70320,8 +82881,8 @@ type RevokeSecurityGroupEgressInput struct { // GroupId is a required field GroupId *string `locationName:"groupId" type:"string" required:"true"` - // One or more sets of IP permissions. You can't specify a destination security - // group and a CIDR IP address range in the same set of permissions. + // The sets of IP permissions. You can't specify a destination security group + // and a CIDR IP address range in the same set of permissions. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"` // Not supported. Use a set of IP permissions to specify the protocol name or @@ -70457,8 +83018,8 @@ type RevokeSecurityGroupIngressInput struct { // either the security group ID or the security group name in the request. GroupName *string `type:"string"` - // One or more sets of IP permissions. You can't specify a source security group - // and a CIDR IP address range in the same set of permissions. + // The sets of IP permissions. You can't specify a source security group and + // a CIDR IP address range in the same set of permissions. IpPermissions []*IpPermission `locationNameList:"item" type:"list"` // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)). @@ -70846,29 +83407,30 @@ type RunInstancesInput struct { // Reserved. AdditionalInfo *string `locationName:"additionalInfo" type:"string"` - // One or more block device mapping entries. You can't specify both a snapshot - // ID and an encryption value. This is because only blank volumes can be encrypted - // on creation. If a snapshot is the basis for a volume, it is not blank and - // its encryption status is used for the volume encryption status. + // The block device mapping entries. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"` - // Information about the Capacity Reservation targeting option. + // Information about the Capacity Reservation targeting option. If you do not + // specify this parameter, the instance's Capacity Reservation preference defaults + // to open, which enables it to run in any open Capacity Reservation that has + // matching attributes (instance type, platform, Availability Zone). CapacityReservationSpecification *CapacityReservationSpecification `type:"structure"` // Unique, case-sensitive identifier you provide to ensure the idempotency of - // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). // // Constraints: Maximum 64 ASCII characters ClientToken *string `locationName:"clientToken" type:"string"` // The CPU options for the instance. For more information, see Optimizing CPU - // Options (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) + // Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) // in the Amazon Elastic Compute Cloud User Guide. CpuOptions *CpuOptionsRequest `type:"structure"` - // The credit option for CPU usage of the instance. Valid values are standard - // and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification. - // For more information, see Burstable Performance Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) + // The credit option for CPU usage of the T2 or T3 instance. Valid values are + // standard and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html). + // For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // // Default: standard (T2 instances) or unlimited (T3 instances) @@ -70876,9 +83438,9 @@ type RunInstancesInput struct { // If you set this parameter to true, you can't terminate the instance using // the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute - // to false after launch, use ModifyInstanceAttribute. Alternatively, if you - // set InstanceInitiatedShutdownBehavior to terminate, you can terminate the - // instance by running the shutdown command from the instance. + // after launch, use ModifyInstanceAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html). + // Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, + // you can terminate the instance by running the shutdown command from the instance. // // Default: false DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"` @@ -70898,23 +83460,27 @@ type RunInstancesInput struct { // Default: false EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"` - // An elastic GPU to associate with the instance. + // An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource + // that you can attach to your Windows instance to accelerate the graphics performance + // of your applications. For more information, see Amazon EC2 Elastic GPUs (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html) + // in the Amazon Elastic Compute Cloud User Guide. ElasticGpuSpecification []*ElasticGpuSpecification `locationNameList:"item" type:"list"` - // An elastic inference accelerator. + // An elastic inference accelerator to associate with the instance. Elastic + // inference accelerators are a resource you can attach to your Amazon EC2 instances + // to accelerate your Deep Learning (DL) inference workloads. ElasticInferenceAccelerators []*ElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"` // Indicates whether an instance is enabled for hibernation. For more information, - // see Hibernate Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) + // see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. HibernationOptions *HibernationOptionsRequest `type:"structure"` // The IAM instance profile. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"` - // The ID of the AMI, which you can get by calling DescribeImages. An AMI is - // required to launch an instance and must be specified here or in a launch - // template. + // The ID of the AMI. An AMI ID is required to launch an instance and must be + // specified here or in a launch template. ImageId *string `type:"string"` // Indicates whether an instance stops or terminates when you initiate shutdown @@ -70929,35 +83495,40 @@ type RunInstancesInput struct { // InstanceInterruptionBehavior is set to either hibernate or stop. InstanceMarketOptions *InstanceMarketOptionsRequest `type:"structure"` - // The instance type. For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) // in the Amazon Elastic Compute Cloud User Guide. // // Default: m1.small InstanceType *string `type:"string" enum:"InstanceType"` - // [EC2-VPC] A number of IPv6 addresses to associate with the primary network + // [EC2-VPC] The number of IPv6 addresses to associate with the primary network // interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. // You cannot specify this option and the option to assign specific IPv6 addresses // in the same request. You can specify this option if you've specified a minimum // number of instances to launch. + // + // You cannot specify this option and the network interfaces option in the same + // request. Ipv6AddressCount *int64 `type:"integer"` - // [EC2-VPC] Specify one or more IPv6 addresses from the range of the subnet - // to associate with the primary network interface. You cannot specify this - // option and the option to assign a number of IPv6 addresses in the same request. - // You cannot specify this option if you've specified a minimum number of instances - // to launch. + // [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with + // the primary network interface. You cannot specify this option and the option + // to assign a number of IPv6 addresses in the same request. You cannot specify + // this option if you've specified a minimum number of instances to launch. + // + // You cannot specify this option and the network interfaces option in the same + // request. Ipv6Addresses []*InstanceIpv6Address `locationName:"Ipv6Address" locationNameList:"item" type:"list"` // The ID of the kernel. // // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more - // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) + // information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) // in the Amazon Elastic Compute Cloud User Guide. KernelId *string `type:"string"` - // The name of the key pair. You can create a key pair using CreateKeyPair or - // ImportKeyPair. + // The name of the key pair. You can create a key pair using CreateKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html) + // or ImportKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html). // // If you do not specify a key pair, you can't connect to the instance unless // you choose an AMI that is configured to allow users another way to log in. @@ -70995,10 +83566,12 @@ type RunInstancesInput struct { // MinCount is a required field MinCount *int64 `type:"integer" required:"true"` - // The monitoring for the instance. + // Specifies whether detailed monitoring is enabled for the instance. Monitoring *RunInstancesMonitoringEnabled `type:"structure"` - // One or more network interfaces. + // The network interfaces to associate with the instance. If you specify a network + // interface, you must specify any security groups and subnets as part of the + // network interface. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"` // The placement for the instance. @@ -71011,41 +83584,55 @@ type RunInstancesInput struct { // this option if you've specified the option to designate a private IP address // as the primary IP address in a network interface specification. You cannot // specify this option if you're launching more than one instance in the request. + // + // You cannot specify this option and the network interfaces option in the same + // request. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` - // The ID of the RAM disk. + // The ID of the RAM disk to select. Some kernels require additional drivers + // at launch. Check the kernel requirements for information about whether you + // need to specify a RAM disk. To find kernel requirements, go to the AWS Resource + // Center and search for the kernel ID. // // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more - // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) + // information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) // in the Amazon Elastic Compute Cloud User Guide. RamdiskId *string `type:"string"` - // One or more security group IDs. You can create a security group using CreateSecurityGroup. + // The IDs of the security groups. You can create a security group using CreateSecurityGroup + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html). // - // Default: Amazon EC2 uses the default security group. + // If you specify a network interface, you must specify any security groups + // as part of the network interface. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"` - // [EC2-Classic, default VPC] One or more security group names. For a nondefault + // [EC2-Classic, default VPC] The names of the security groups. For a nondefault // VPC, you must use security group IDs instead. // + // If you specify a network interface, you must specify any security groups + // as part of the network interface. + // // Default: Amazon EC2 uses the default security group. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"` // [EC2-VPC] The ID of the subnet to launch the instance into. + // + // If you specify a network interface, you must specify any subnets as part + // of the network interface. SubnetId *string `type:"string"` // The tags to apply to the resources during launch. You can only tag instances // and volumes on launch. The specified tags are applied to all instances or // volumes that are created during launch. To tag a resource after it has been - // created, see CreateTags. + // created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` // The user data to make available to the instance. For more information, see - // Running Commands on Your Linux Instance at Launch (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) - // (Linux) and Adding User Data (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data) + // Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) + // (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data) // (Windows). If you are using a command line tool, base64-encoding is performed // for you, and you can load the text from a file. Otherwise, you must provide - // base64-encoded text. + // base64-encoded text. User data is limited to 16 KB. UserData *string `type:"string"` } @@ -71360,7 +83947,7 @@ type RunScheduledInstancesInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that ensures the idempotency of the request. - // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `type:"string" idempotencyToken:"true"` // Checks whether you have the required permissions for the action, without @@ -71478,7 +84065,7 @@ type S3Storage struct { // The access key ID of the owner of the bucket. Before you specify a value // for your access key ID, review and follow the guidance in Best Practices - // for Managing AWS Access Keys (http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html). + // for Managing AWS Access Keys (https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html). AWSAccessKeyId *string `type:"string"` // The bucket in which to store the AMI. You can specify a bucket that you already @@ -72031,7 +84618,7 @@ type ScheduledInstancesEbs struct { // for the volume. For gp2 volumes, this represents the baseline performance // of the volume and the rate at which the volume accumulates I/O credits for // bursting. For more information about gp2 baseline performance, I/O credits, - // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) + // and bursting, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) // in the Amazon Elastic Compute Cloud User Guide. // // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for @@ -72168,7 +84755,7 @@ func (s *ScheduledInstancesIpv6Address) SetIpv6Address(v string) *ScheduledInsta type ScheduledInstancesLaunchSpecification struct { _ struct{} `type:"structure"` - // One or more block device mapping entries. + // The block device mapping entries. BlockDeviceMappings []*ScheduledInstancesBlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"` // Indicates whether the instances are optimized for EBS I/O. This optimization @@ -72200,7 +84787,7 @@ type ScheduledInstancesLaunchSpecification struct { // Enable or disable monitoring for the instances. Monitoring *ScheduledInstancesMonitoring `type:"structure"` - // One or more network interfaces. + // The network interfaces. NetworkInterfaces []*ScheduledInstancesNetworkInterface `locationName:"NetworkInterface" locationNameList:"NetworkInterface" type:"list"` // The placement information. @@ -72209,7 +84796,7 @@ type ScheduledInstancesLaunchSpecification struct { // The ID of the RAM disk. RamdiskId *string `type:"string"` - // The IDs of one or more security groups. + // The IDs of the security groups. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"` // The ID of the subnet in which to launch the instances. @@ -72370,14 +84957,14 @@ type ScheduledInstancesNetworkInterface struct { // The index of the device for the network interface attachment. DeviceIndex *int64 `type:"integer"` - // The IDs of one or more security groups. + // The IDs of the security groups. Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"` // The number of IPv6 addresses to assign to the network interface. The IPv6 // addresses are automatically selected from the subnet range. Ipv6AddressCount *int64 `type:"integer"` - // One or more specific IPv6 addresses from the subnet range. + // The specific IPv6 addresses from the subnet range. Ipv6Addresses []*ScheduledInstancesIpv6Address `locationName:"Ipv6Address" locationNameList:"Ipv6Address" type:"list"` // The ID of the network interface. @@ -72556,16 +85143,29 @@ type SearchTransitGatewayRoutesInput struct { // One or more filters. The possible values are: // - // * transit-gateway-route-destination-cidr-block - The CIDR range. + // * attachment.transit-gateway-attachment-id- The id of the transit gateway + // attachment. // - // * transit-gateway-route-state - The state of the route (active | blackhole). + // * attachment.resource-id - The resource id of the transit gateway attachment. // - // * transit-gateway-route-transit-gateway-attachment-id - The ID of the - // attachment. + // * attachment.resource-type - The attachment resource type (vpc | vpn). + // + // * route-search.exact-match - The exact match of the specified filter. + // + // * route-search.longest-prefix-match - The longest prefix that matches + // the route. + // + // * route-search.subnet-of-match - The routes with a subnet that match the + // specified CIDR filter. // - // * transit-gateway-route-type - The route type (static | propagated). + // * route-search.supernet-of-match - The routes with a CIDR that encompass + // the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 + // routes in your route table and you specify supernet-of-match as 10.0.1.0/30, + // then the result returns 10.0.1.0/29. // - // * transit-gateway-route-vpn-connection-id - The ID of the VPN connection. + // * state - The state of the route (active | blackhole). + // + // * type - The type of roue (propagated | static). // // Filters is a required field Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list" required:"true"` @@ -72677,10 +85277,10 @@ type SecurityGroup struct { // The name of the security group. GroupName *string `locationName:"groupName" type:"string"` - // One or more inbound rules associated with the security group. + // The inbound rules associated with the security group. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"` - // [EC2-VPC] One or more outbound rules associated with the security group. + // [VPC only] The outbound rules associated with the security group. IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"` // The AWS account ID of the owner of the security group. @@ -72689,7 +85289,7 @@ type SecurityGroup struct { // Any tags assigned to the security group. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` - // [EC2-VPC] The ID of the VPC for the security group. + // [VPC only] The ID of the VPC for the security group. VpcId *string `locationName:"vpcId" type:"string"` } @@ -72840,6 +85440,10 @@ type ServiceConfiguration struct { // The DNS names for the service. BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"` + // Indicates whether the service manages it's VPC endpoints. Management of the + // service VPC endpoints using the VPC endpoint API is restricted. + ManagesVpcEndpoints *bool `locationName:"managesVpcEndpoints" type:"boolean"` + // The Amazon Resource Names (ARNs) of the Network Load Balancers for the service. NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"` @@ -72857,6 +85461,9 @@ type ServiceConfiguration struct { // The type of service. ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"` + + // Any tags assigned to the service. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` } // String returns the string representation @@ -72887,6 +85494,12 @@ func (s *ServiceConfiguration) SetBaseEndpointDnsNames(v []*string) *ServiceConf return s } +// SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value. +func (s *ServiceConfiguration) SetManagesVpcEndpoints(v bool) *ServiceConfiguration { + s.ManagesVpcEndpoints = &v + return s +} + // SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value. func (s *ServiceConfiguration) SetNetworkLoadBalancerArns(v []*string) *ServiceConfiguration { s.NetworkLoadBalancerArns = v @@ -72923,6 +85536,12 @@ func (s *ServiceConfiguration) SetServiceType(v []*ServiceTypeDetail) *ServiceCo return s } +// SetTags sets the Tags field's value. +func (s *ServiceConfiguration) SetTags(v []*Tag) *ServiceConfiguration { + s.Tags = v + return s +} + // Describes a VPC endpoint service. type ServiceDetail struct { _ struct{} `type:"structure"` @@ -72937,18 +85556,28 @@ type ServiceDetail struct { // The DNS names for the service. BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"` + // Indicates whether the service manages it's VPC endpoints. Management of the + // service VPC endpoints using the VPC endpoint API is restricted. + ManagesVpcEndpoints *bool `locationName:"managesVpcEndpoints" type:"boolean"` + // The AWS account ID of the service owner. Owner *string `locationName:"owner" type:"string"` // The private DNS name for the service. PrivateDnsName *string `locationName:"privateDnsName" type:"string"` + // The ID of the endpoint service. + ServiceId *string `locationName:"serviceId" type:"string"` + // The Amazon Resource Name (ARN) of the service. ServiceName *string `locationName:"serviceName" type:"string"` // The type of service. ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"` + // Any tags assigned to the service. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + // Indicates whether the service supports endpoint policies. VpcEndpointPolicySupported *bool `locationName:"vpcEndpointPolicySupported" type:"boolean"` } @@ -72981,6 +85610,12 @@ func (s *ServiceDetail) SetBaseEndpointDnsNames(v []*string) *ServiceDetail { return s } +// SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value. +func (s *ServiceDetail) SetManagesVpcEndpoints(v bool) *ServiceDetail { + s.ManagesVpcEndpoints = &v + return s +} + // SetOwner sets the Owner field's value. func (s *ServiceDetail) SetOwner(v string) *ServiceDetail { s.Owner = &v @@ -72993,6 +85628,12 @@ func (s *ServiceDetail) SetPrivateDnsName(v string) *ServiceDetail { return s } +// SetServiceId sets the ServiceId field's value. +func (s *ServiceDetail) SetServiceId(v string) *ServiceDetail { + s.ServiceId = &v + return s +} + // SetServiceName sets the ServiceName field's value. func (s *ServiceDetail) SetServiceName(v string) *ServiceDetail { s.ServiceName = &v @@ -73005,6 +85646,12 @@ func (s *ServiceDetail) SetServiceType(v []*ServiceTypeDetail) *ServiceDetail { return s } +// SetTags sets the Tags field's value. +func (s *ServiceDetail) SetTags(v []*Tag) *ServiceDetail { + s.Tags = v + return s +} + // SetVpcEndpointPolicySupported sets the VpcEndpointPolicySupported field's value. func (s *ServiceDetail) SetVpcEndpointPolicySupported(v bool) *ServiceDetail { s.VpcEndpointPolicySupported = &v @@ -73133,7 +85780,7 @@ type Snapshot struct { // the original volume or snapshot copy. Because data encryption keys are inherited // by volumes created from snapshots, and vice versa, if snapshots share the // same data encryption key identifier, then they belong to the same volume/snapshot - // lineage. This parameter is only returned by the DescribeSnapshots API operation. + // lineage. This parameter is only returned by DescribeSnapshots. DataEncryptionKeyId *string `locationName:"dataEncryptionKeyId" type:"string"` // The description for the snapshot. @@ -73142,14 +85789,14 @@ type Snapshot struct { // Indicates whether the snapshot is encrypted. Encrypted *bool `locationName:"encrypted" type:"boolean"` - // The full ARN of the AWS Key Management Service (AWS KMS) customer master - // key (CMK) that was used to protect the volume encryption key for the parent - // volume. + // The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) + // customer master key (CMK) that was used to protect the volume encryption + // key for the parent volume. KmsKeyId *string `locationName:"kmsKeyId" type:"string"` - // Value from an Amazon-maintained list (amazon | aws-marketplace | microsoft) - // of snapshot owners. Not to be confused with the user-configured AWS account - // alias, which is set from the IAM console. + // Value from an Amazon-maintained list (amazon | self | all | aws-marketplace + // | microsoft) of snapshot owners. Not to be confused with the user-configured + // AWS account alias, which is set from the IAM console. OwnerAlias *string `locationName:"ownerAlias" type:"string"` // The AWS account ID of the EBS snapshot owner. @@ -73172,7 +85819,7 @@ type Snapshot struct { // operation fails (for example, if the proper AWS Key Management Service (AWS // KMS) permissions are not obtained) this field displays error state details // to help you diagnose why the error occurred. This parameter is only returned - // by the DescribeSnapshots API operation. + // by DescribeSnapshots. StateMessage *string `locationName:"statusMessage" type:"string"` // Any tags assigned to the snapshot. @@ -73395,7 +86042,7 @@ type SnapshotDiskContainer struct { // The format of the disk image being imported. // - // Valid values: VHD | VMDK | OVA + // Valid values: VHD | VMDK Format *string `type:"string"` // The URL to the Amazon S3-based disk image being imported. It can either be @@ -73440,6 +86087,113 @@ func (s *SnapshotDiskContainer) SetUserBucket(v *UserBucket) *SnapshotDiskContai return s } +// Information about a snapshot. +type SnapshotInfo struct { + _ struct{} `type:"structure"` + + // Description specified by the CreateSnapshotRequest that has been applied + // to all snapshots. + Description *string `locationName:"description" type:"string"` + + // Indicates whether the snapshot is encrypted. + Encrypted *bool `locationName:"encrypted" type:"boolean"` + + // Account id used when creating this snapshot. + OwnerId *string `locationName:"ownerId" type:"string"` + + // Progress this snapshot has made towards completing. + Progress *string `locationName:"progress" type:"string"` + + // Snapshot id that can be used to describe this snapshot. + SnapshotId *string `locationName:"snapshotId" type:"string"` + + // Time this snapshot was started. This is the same for all snapshots initiated + // by the same request. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` + + // Current state of the snapshot. + State *string `locationName:"state" type:"string" enum:"SnapshotState"` + + // Tags associated with this snapshot. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + + // Source volume from which this snapshot was created. + VolumeId *string `locationName:"volumeId" type:"string"` + + // Size of the volume from which this snapshot was created. + VolumeSize *int64 `locationName:"volumeSize" type:"integer"` +} + +// String returns the string representation +func (s SnapshotInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SnapshotInfo) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *SnapshotInfo) SetDescription(v string) *SnapshotInfo { + s.Description = &v + return s +} + +// SetEncrypted sets the Encrypted field's value. +func (s *SnapshotInfo) SetEncrypted(v bool) *SnapshotInfo { + s.Encrypted = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *SnapshotInfo) SetOwnerId(v string) *SnapshotInfo { + s.OwnerId = &v + return s +} + +// SetProgress sets the Progress field's value. +func (s *SnapshotInfo) SetProgress(v string) *SnapshotInfo { + s.Progress = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *SnapshotInfo) SetSnapshotId(v string) *SnapshotInfo { + s.SnapshotId = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *SnapshotInfo) SetStartTime(v time.Time) *SnapshotInfo { + s.StartTime = &v + return s +} + +// SetState sets the State field's value. +func (s *SnapshotInfo) SetState(v string) *SnapshotInfo { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *SnapshotInfo) SetTags(v []*Tag) *SnapshotInfo { + s.Tags = v + return s +} + +// SetVolumeId sets the VolumeId field's value. +func (s *SnapshotInfo) SetVolumeId(v string) *SnapshotInfo { + s.VolumeId = &v + return s +} + +// SetVolumeSize sets the VolumeSize field's value. +func (s *SnapshotInfo) SetVolumeSize(v int64) *SnapshotInfo { + s.VolumeSize = &v + return s +} + // Details about the import snapshot task. type SnapshotTaskDetail struct { _ struct{} `type:"structure"` @@ -73615,17 +86369,20 @@ func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription return s } -// Describes the launch specification for one or more Spot Instances. +// Describes the launch specification for one or more Spot Instances. If you +// include On-Demand capacity in your fleet request, you can't use SpotFleetLaunchSpecification; +// you must use LaunchTemplateConfig (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html). type SpotFleetLaunchSpecification struct { _ struct{} `type:"structure"` // Deprecated. AddressingType *string `locationName:"addressingType" type:"string"` - // One or more block device mapping entries. You can't specify both a snapshot - // ID and an encryption value. This is because only blank volumes can be encrypted - // on creation. If a snapshot is the basis for a volume, it is not blank and - // its encryption status is used for the volume encryption status. + // One or more block devices that are mapped to the Spot instances. You can't + // specify both a snapshot ID and an encryption value. This is because only + // blank volumes can be encrypted on creation. If a snapshot is the basis for + // a volume, it is not blank and its encryption status is used for the volume + // encryption status. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"` // Indicates whether the instances are optimized for EBS I/O. This optimization @@ -73662,7 +86419,10 @@ type SpotFleetLaunchSpecification struct { // The placement information. Placement *SpotPlacement `locationName:"placement" type:"structure"` - // The ID of the RAM disk. + // The ID of the RAM disk. Some kernels require additional drivers at launch. + // Check the kernel requirements for information about whether you need to specify + // a RAM disk. To find kernel requirements, refer to the AWS Resource Center + // and search for the kernel ID. RamdiskId *string `locationName:"ramdiskId" type:"string"` // One or more security groups. When requesting instances in a VPC, you must @@ -73683,16 +86443,16 @@ type SpotFleetLaunchSpecification struct { // The tags to apply during creation. TagSpecifications []*SpotFleetTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"` - // The Base64-encoded user data to make available to the instances. + // The Base64-encoded user data that instances use when starting up. UserData *string `locationName:"userData" type:"string"` // The number of units provided by the specified instance type. These are the - // same units that you chose to set the target capacity in terms (instances - // or a performance characteristic such as vCPUs, memory, or I/O). + // same units that you chose to set the target capacity in terms of instances, + // or a performance characteristic such as vCPUs, memory, or I/O. // - // If the target capacity divided by this value is not a whole number, we round - // the number of instances to the next whole number. If this value is not specified, - // the default is 1. + // If the target capacity divided by this value is not a whole number, Amazon + // EC2 rounds the number of instances to the next whole number. If this value + // is not specified, the default is 1. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"` } @@ -73852,24 +86612,16 @@ type SpotFleetRequestConfig struct { ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"` // The creation date and time of the request. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + CreateTime *time.Time `locationName:"createTime" type:"timestamp"` // The configuration of the Spot Fleet request. - // - // SpotFleetRequestConfig is a required field - SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"` + SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure"` // The ID of the Spot Fleet request. - // - // SpotFleetRequestId is a required field - SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` + SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"` // The state of the Spot Fleet request. - // - // SpotFleetRequestState is a required field - SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" required:"true" enum:"BatchState"` + SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" enum:"BatchState"` } // String returns the string representation @@ -73922,21 +86674,26 @@ type SpotFleetRequestConfigData struct { // A unique, case-sensitive identifier that you provide to ensure the idempotency // of your listings. This helps to avoid duplicate listings. For more information, - // see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `locationName:"clientToken" type:"string"` - // Indicates whether running Spot Instances should be terminated if the target - // capacity of the Spot Fleet request is decreased below the current size of - // the Spot Fleet. + // Indicates whether running Spot Instances should be terminated if you decrease + // the target capacity of the Spot Fleet request below the current size of the + // Spot Fleet. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"` // The number of units fulfilled by this request compared to the set target // capacity. You cannot set this value. FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"` - // Grants the Spot Fleet permission to terminate Spot Instances on your behalf - // when you cancel its Spot Fleet request using CancelSpotFleetRequests or when - // the Spot Fleet request expires, if you set terminateInstancesWithExpiration. + // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) + // role that grants the Spot Fleet the permission to request, launch, terminate, + // and tag instances on your behalf. For more information, see Spot Fleet Prerequisites + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites) + // in the Amazon EC2 User Guide for Linux Instances. Spot Fleet can terminate + // Spot Instances on your behalf when you cancel its Spot Fleet request using + // CancelSpotFleetRequests or when the Spot Fleet request expires, if you set + // TerminateInstancesWithExpiration. // // IamFleetRole is a required field IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"` @@ -73950,10 +86707,14 @@ type SpotFleetRequestConfigData struct { // across the number of Spot pools that you specify. InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"` - // The launch specifications for the Spot Fleet request. + // The launch specifications for the Spot Fleet request. If you specify LaunchSpecifications, + // you can't specify LaunchTemplateConfigs. If you include On-Demand capacity + // in your request, you must use LaunchTemplateConfigs. LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" type:"list"` - // The launch template and overrides. + // The launch template and overrides. If you specify LaunchTemplateConfigs, + // you can't specify LaunchSpecifications. If you include On-Demand capacity + // in your request, you must use LaunchTemplateConfigs. LaunchTemplateConfigs []*LaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"` // One or more Classic Load Balancers and target groups to attach to the Spot @@ -73977,6 +86738,16 @@ type SpotFleetRequestConfigData struct { // target On-Demand capacity. OnDemandFulfilledCapacity *float64 `locationName:"onDemandFulfilledCapacity" type:"double"` + // The maximum amount per hour for On-Demand Instances that you're willing to + // pay. You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice + // parameter, or both parameters to ensure that your fleet cost does not exceed + // your budget. If you set a maximum price per hour for the On-Demand Instances + // and Spot Instances in your request, Spot Fleet will launch instances until + // it reaches the maximum amount you're willing to pay. When the maximum amount + // you're willing to pay is reached, the fleet stops launching instances even + // if it hasn’t met the target capacity. + OnDemandMaxTotalPrice *string `locationName:"onDemandMaxTotalPrice" type:"string"` + // The number of On-Demand units to request. You can choose to set the target // capacity in terms of instances or a performance characteristic that is important // to your application workload, such as vCPUs, memory, or I/O. If the request @@ -73987,39 +86758,51 @@ type SpotFleetRequestConfigData struct { // Indicates whether Spot Fleet should replace unhealthy instances. ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"` + // The maximum amount per hour for Spot Instances that you're willing to pay. + // You can use the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter, + // or both parameters to ensure that your fleet cost does not exceed your budget. + // If you set a maximum price per hour for the On-Demand Instances and Spot + // Instances in your request, Spot Fleet will launch instances until it reaches + // the maximum amount you're willing to pay. When the maximum amount you're + // willing to pay is reached, the fleet stops launching instances even if it + // hasn’t met the target capacity. + SpotMaxTotalPrice *string `locationName:"spotMaxTotalPrice" type:"string"` + // The maximum price per unit hour that you are willing to pay for a Spot Instance. // The default is the On-Demand price. SpotPrice *string `locationName:"spotPrice" type:"string"` - // The number of units to request. You can choose to set the target capacity - // in terms of instances or a performance characteristic that is important to - // your application workload, such as vCPUs, memory, or I/O. If the request - // type is maintain, you can specify a target capacity of 0 and add capacity - // later. + // The number of units to request for the Spot Fleet. You can choose to set + // the target capacity in terms of instances or a performance characteristic + // that is important to your application workload, such as vCPUs, memory, or + // I/O. If the request type is maintain, you can specify a target capacity of + // 0 and add capacity later. // // TargetCapacity is a required field TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"` - // Indicates whether running Spot Instances should be terminated when the Spot - // Fleet request expires. + // Indicates whether running Spot Instances are terminated when the Spot Fleet + // request expires. TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"` // The type of request. Indicates whether the Spot Fleet only requests the target // capacity or also attempts to maintain it. When this value is request, the // Spot Fleet only places the required requests. It does not attempt to replenish // Spot Instances if capacity is diminished, nor does it submit requests in - // alternative Spot pools if capacity is not available. To maintain a certain - // target capacity, the Spot Fleet places the required requests to meet capacity - // and automatically replenishes any interrupted instances. Default: maintain. + // alternative Spot pools if capacity is not available. When this value is maintain, + // the Spot Fleet maintains the target capacity. The Spot Fleet places the required + // requests to meet capacity and automatically replenishes any interrupted instances. + // Default: maintain. instant is listed but is not used by Spot Fleet. Type *string `locationName:"type" type:"string" enum:"FleetType"` - // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). - // The default is to start fulfilling the request immediately. + // The start date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). + // By default, Amazon EC2 starts fulfilling the request immediately. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"` - // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). - // At this point, no new Spot Instance requests are placed or able to fulfill - // the request. The default end date is 7 days from the current date. + // The end date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). + // After the end date and time, no new Spot Instance requests are placed or + // able to fulfill the request. If no value is specified, the Spot Fleet request + // remains until you cancel it. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"` } @@ -74136,6 +86919,12 @@ func (s *SpotFleetRequestConfigData) SetOnDemandFulfilledCapacity(v float64) *Sp return s } +// SetOnDemandMaxTotalPrice sets the OnDemandMaxTotalPrice field's value. +func (s *SpotFleetRequestConfigData) SetOnDemandMaxTotalPrice(v string) *SpotFleetRequestConfigData { + s.OnDemandMaxTotalPrice = &v + return s +} + // SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value. func (s *SpotFleetRequestConfigData) SetOnDemandTargetCapacity(v int64) *SpotFleetRequestConfigData { s.OnDemandTargetCapacity = &v @@ -74148,6 +86937,12 @@ func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotF return s } +// SetSpotMaxTotalPrice sets the SpotMaxTotalPrice field's value. +func (s *SpotFleetRequestConfigData) SetSpotMaxTotalPrice(v string) *SpotFleetRequestConfigData { + s.SpotMaxTotalPrice = &v + return s +} + // SetSpotPrice sets the SpotPrice field's value. func (s *SpotFleetRequestConfigData) SetSpotPrice(v string) *SpotFleetRequestConfigData { s.SpotPrice = &v @@ -74268,7 +87063,7 @@ type SpotInstanceRequest struct { SpotPrice *string `locationName:"spotPrice" type:"string"` // The state of the Spot Instance request. Spot status information helps track - // your Spot Instance requests. For more information, see Spot Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) + // your Spot Instance requests. For more information, see Spot Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) // in the Amazon EC2 User Guide for Linux Instances. State *string `locationName:"state" type:"string" enum:"SpotInstanceState"` @@ -74454,7 +87249,7 @@ func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault { type SpotInstanceStatus struct { _ struct{} `type:"structure"` - // The status code. For a list of status codes, see Spot Status Codes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand) + // The status code. For a list of status codes, see Spot Status Codes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand) // in the Amazon EC2 User Guide for Linux Instances. Code *string `locationName:"code" type:"string"` @@ -74580,10 +87375,17 @@ type SpotOptions struct { // the number of Spot pools that you specify. InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"` + // The maximum amount per hour for Spot Instances that you're willing to pay. + MaxTotalPrice *string `locationName:"maxTotalPrice" type:"string"` + // The minimum target capacity for Spot Instances in the fleet. If the minimum // target capacity is not reached, the fleet launches no instances. MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"` + // Indicates that the fleet launches all Spot Instances into a single Availability + // Zone. + SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"` + // Indicates that the fleet uses a single instance type to launch all Spot Instances // in the fleet. SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"` @@ -74617,12 +87419,24 @@ func (s *SpotOptions) SetInstancePoolsToUseCount(v int64) *SpotOptions { return s } +// SetMaxTotalPrice sets the MaxTotalPrice field's value. +func (s *SpotOptions) SetMaxTotalPrice(v string) *SpotOptions { + s.MaxTotalPrice = &v + return s +} + // SetMinTargetCapacity sets the MinTargetCapacity field's value. func (s *SpotOptions) SetMinTargetCapacity(v int64) *SpotOptions { s.MinTargetCapacity = &v return s } +// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value. +func (s *SpotOptions) SetSingleAvailabilityZone(v bool) *SpotOptions { + s.SingleAvailabilityZone = &v + return s +} + // SetSingleInstanceType sets the SingleInstanceType field's value. func (s *SpotOptions) SetSingleInstanceType(v bool) *SpotOptions { s.SingleInstanceType = &v @@ -74646,10 +87460,17 @@ type SpotOptionsRequest struct { // across the number of Spot pools that you specify. InstancePoolsToUseCount *int64 `type:"integer"` + // The maximum amount per hour for Spot Instances that you're willing to pay. + MaxTotalPrice *string `type:"string"` + // The minimum target capacity for Spot Instances in the fleet. If the minimum // target capacity is not reached, the fleet launches no instances. MinTargetCapacity *int64 `type:"integer"` + // Indicates that the fleet launches all Spot Instances into a single Availability + // Zone. + SingleAvailabilityZone *bool `type:"boolean"` + // Indicates that the fleet uses a single instance type to launch all Spot Instances // in the fleet. SingleInstanceType *bool `type:"boolean"` @@ -74683,12 +87504,24 @@ func (s *SpotOptionsRequest) SetInstancePoolsToUseCount(v int64) *SpotOptionsReq return s } +// SetMaxTotalPrice sets the MaxTotalPrice field's value. +func (s *SpotOptionsRequest) SetMaxTotalPrice(v string) *SpotOptionsRequest { + s.MaxTotalPrice = &v + return s +} + // SetMinTargetCapacity sets the MinTargetCapacity field's value. func (s *SpotOptionsRequest) SetMinTargetCapacity(v int64) *SpotOptionsRequest { s.MinTargetCapacity = &v return s } +// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value. +func (s *SpotOptionsRequest) SetSingleAvailabilityZone(v bool) *SpotOptionsRequest { + s.SingleAvailabilityZone = &v + return s +} + // SetSingleInstanceType sets the SingleInstanceType field's value. func (s *SpotOptionsRequest) SetSingleInstanceType(v bool) *SpotOptionsRequest { s.SingleInstanceType = &v @@ -74815,19 +87648,19 @@ type StaleIpPermission struct { // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml). IpProtocol *string `locationName:"ipProtocol" type:"string"` - // One or more IP ranges. Not applicable for stale security group rules. + // The IP ranges. Not applicable for stale security group rules. IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"` - // One or more prefix list IDs for an AWS service. Not applicable for stale - // security group rules. + // The prefix list IDs for an AWS service. Not applicable for stale security + // group rules. PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"` // The end of the port range for the TCP and UDP protocols, or an ICMP type // number. A value of -1 indicates all ICMP types. ToPort *int64 `locationName:"toPort" type:"integer"` - // One or more security group pairs. Returns the ID of the referenced security - // group and VPC, and the ID and status of the VPC peering connection. + // The security group pairs. Returns the ID of the referenced security group + // and VPC, and the ID and status of the VPC peering connection. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"` } @@ -74958,7 +87791,7 @@ type StartInstancesInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more instance IDs. + // The IDs of the instances. // // InstanceIds is a required field InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"` @@ -75008,7 +87841,7 @@ func (s *StartInstancesInput) SetInstanceIds(v []*string) *StartInstancesInput { type StartInstancesOutput struct { _ struct{} `type:"structure"` - // Information about one or more started instances. + // Information about the started instances. StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"` } @@ -75118,13 +87951,13 @@ type StopInstancesInput struct { // Hibernates the instance if the instance was enabled for hibernation at launch. // If the instance cannot hibernate successfully, a normal shutdown occurs. - // For more information, see Hibernate Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) + // For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. // // Default: false Hibernate *bool `type:"boolean"` - // One or more instance IDs. + // The IDs of the instances. // // InstanceIds is a required field InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"` @@ -75180,7 +88013,7 @@ func (s *StopInstancesInput) SetInstanceIds(v []*string) *StopInstancesInput { type StopInstancesOutput struct { _ struct{} `type:"structure"` - // Information about one or more stopped instances. + // Information about the stopped instances. StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"` } @@ -75596,8 +88429,11 @@ type TagSpecification struct { _ struct{} `type:"structure"` // The type of resource to tag. Currently, the resource types that support tagging - // on creation are fleet, dedicated-host, instance, snapshot, and volume. To - // tag a resource after it has been created, see CreateTags. + // on creation are: capacity-reservation | client-vpn-endpoint | dedicated-host + // | fleet | instance | launch-template | snapshot | transit-gateway | transit-gateway-attachment + // | transit-gateway-route-table | volume. + // + // To tag a resource after it has been created, see CreateTags. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` // The tags to apply to the resource. @@ -75631,16 +88467,27 @@ func (s *TagSpecification) SetTags(v []*Tag) *TagSpecification { // your application workload, such as vCPUs, memory, or I/O. If the request // type is maintain, you can specify a target capacity of 0 and add capacity // later. +// +// You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance +// MaxTotalPrice, or both to ensure your fleet cost does not exceed your budget. +// If you set a maximum price per hour for the On-Demand Instances and Spot +// Instances in your request, EC2 Fleet will launch instances until it reaches +// the maximum amount you're willing to pay. When the maximum amount you're +// willing to pay is reached, the fleet stops launching instances even if it +// hasn’t met the target capacity. The MaxTotalPrice parameters are located +// in and type TargetCapacitySpecification struct { _ struct{} `type:"structure"` // The default TotalTargetCapacity, which is either Spot or On-Demand. DefaultTargetCapacityType *string `locationName:"defaultTargetCapacityType" type:"string" enum:"DefaultTargetCapacityType"` - // The number of On-Demand units to request. + // The number of On-Demand units to request. If you specify a target capacity + // for Spot units, you cannot specify a target capacity for On-Demand units. OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"` - // The maximum number of Spot units to launch. + // The maximum number of Spot units to launch. If you specify a target capacity + // for On-Demand units, you cannot specify a target capacity for Spot units. SpotTargetCapacity *int64 `locationName:"spotTargetCapacity" type:"integer"` // The number of units to request, filled using DefaultTargetCapacityType. @@ -75682,10 +88529,19 @@ func (s *TargetCapacitySpecification) SetTotalTargetCapacity(v int64) *TargetCap } // The number of units to request. You can choose to set the target capacity -// in terms of instances or a performance characteristic that is important to -// your application workload, such as vCPUs, memory, or I/O. If the request -// type is maintain, you can specify a target capacity of 0 and add capacity -// later. +// as the number of instances. Or you can set the target capacity to a performance +// characteristic that is important to your application workload, such as vCPUs, +// memory, or I/O. If the request type is maintain, you can specify a target +// capacity of 0 and add capacity later. +// +// You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance +// MaxTotalPrice parameter, or both parameters to ensure that your fleet cost +// does not exceed your budget. If you set a maximum price per hour for the +// On-Demand Instances and Spot Instances in your request, EC2 Fleet will launch +// instances until it reaches the maximum amount you're willing to pay. When +// the maximum amount you're willing to pay is reached, the fleet stops launching +// instances even if it hasn’t met the target capacity. The MaxTotalPrice +// parameters are located in and . type TargetCapacitySpecificationRequest struct { _ struct{} `type:"structure"` @@ -75839,9 +88695,7 @@ type TargetGroup struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the target group. - // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` + Arn *string `locationName:"arn" type:"string"` } // String returns the string representation @@ -75854,19 +88708,6 @@ func (s TargetGroup) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *TargetGroup) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TargetGroup"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetArn sets the Arn field's value. func (s *TargetGroup) SetArn(v string) *TargetGroup { s.Arn = &v @@ -75879,9 +88720,7 @@ type TargetGroupsConfig struct { _ struct{} `type:"structure"` // One or more target groups. - // - // TargetGroups is a required field - TargetGroups []*TargetGroup `locationName:"targetGroups" locationNameList:"item" min:"1" type:"list" required:"true"` + TargetGroups []*TargetGroup `locationName:"targetGroups" locationNameList:"item" min:"1" type:"list"` } // String returns the string representation @@ -75897,22 +88736,9 @@ func (s TargetGroupsConfig) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *TargetGroupsConfig) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TargetGroupsConfig"} - if s.TargetGroups == nil { - invalidParams.Add(request.NewErrParamRequired("TargetGroups")) - } if s.TargetGroups != nil && len(s.TargetGroups) < 1 { invalidParams.Add(request.NewErrParamMinLen("TargetGroups", 1)) } - if s.TargetGroups != nil { - for i, v := range s.TargetGroups { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetGroups", i), err.(request.ErrInvalidParams)) - } - } - } if invalidParams.Len() > 0 { return invalidParams @@ -75926,6 +88752,75 @@ func (s *TargetGroupsConfig) SetTargetGroups(v []*TargetGroup) *TargetGroupsConf return s } +// Describes a target network associated with a Client VPN endpoint. +type TargetNetwork struct { + _ struct{} `type:"structure"` + + // The ID of the association. + AssociationId *string `locationName:"associationId" type:"string"` + + // The ID of the Client VPN endpoint with which the target network is associated. + ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"` + + // The IDs of the security groups applied to the target network association. + SecurityGroups []*string `locationName:"securityGroups" locationNameList:"item" type:"list"` + + // The current state of the target network association. + Status *AssociationStatus `locationName:"status" type:"structure"` + + // The ID of the subnet specified as the target network. + TargetNetworkId *string `locationName:"targetNetworkId" type:"string"` + + // The ID of the VPC in which the target network (subnet) is located. + VpcId *string `locationName:"vpcId" type:"string"` +} + +// String returns the string representation +func (s TargetNetwork) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TargetNetwork) GoString() string { + return s.String() +} + +// SetAssociationId sets the AssociationId field's value. +func (s *TargetNetwork) SetAssociationId(v string) *TargetNetwork { + s.AssociationId = &v + return s +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *TargetNetwork) SetClientVpnEndpointId(v string) *TargetNetwork { + s.ClientVpnEndpointId = &v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *TargetNetwork) SetSecurityGroups(v []*string) *TargetNetwork { + s.SecurityGroups = v + return s +} + +// SetStatus sets the Status field's value. +func (s *TargetNetwork) SetStatus(v *AssociationStatus) *TargetNetwork { + s.Status = v + return s +} + +// SetTargetNetworkId sets the TargetNetworkId field's value. +func (s *TargetNetwork) SetTargetNetworkId(v string) *TargetNetwork { + s.TargetNetworkId = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *TargetNetwork) SetVpcId(v string) *TargetNetwork { + s.VpcId = &v + return s +} + // The total value of the new Convertible Reserved Instances. type TargetReservationValue struct { _ struct{} `type:"structure"` @@ -75962,6 +88857,159 @@ func (s *TargetReservationValue) SetTargetConfiguration(v *TargetConfiguration) return s } +type TerminateClientVpnConnectionsInput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint to which the client is connected. + // + // ClientVpnEndpointId is a required field + ClientVpnEndpointId *string `type:"string" required:"true"` + + // The ID of the client connection to be terminated. + ConnectionId *string `type:"string"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The name of the user who initiated the connection. Use this option to terminate + // all active connections for the specified user. This option can only be used + // if the user has established up to five connections. + Username *string `type:"string"` +} + +// String returns the string representation +func (s TerminateClientVpnConnectionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TerminateClientVpnConnectionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TerminateClientVpnConnectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TerminateClientVpnConnectionsInput"} + if s.ClientVpnEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *TerminateClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsInput { + s.ClientVpnEndpointId = &v + return s +} + +// SetConnectionId sets the ConnectionId field's value. +func (s *TerminateClientVpnConnectionsInput) SetConnectionId(v string) *TerminateClientVpnConnectionsInput { + s.ConnectionId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *TerminateClientVpnConnectionsInput) SetDryRun(v bool) *TerminateClientVpnConnectionsInput { + s.DryRun = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *TerminateClientVpnConnectionsInput) SetUsername(v string) *TerminateClientVpnConnectionsInput { + s.Username = &v + return s +} + +type TerminateClientVpnConnectionsOutput struct { + _ struct{} `type:"structure"` + + // The ID of the Client VPN endpoint. + ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"` + + // The current state of the client connections. + ConnectionStatuses []*TerminateConnectionStatus `locationName:"connectionStatuses" locationNameList:"item" type:"list"` + + // The user who established the terminated client connections. + Username *string `locationName:"username" type:"string"` +} + +// String returns the string representation +func (s TerminateClientVpnConnectionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TerminateClientVpnConnectionsOutput) GoString() string { + return s.String() +} + +// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value. +func (s *TerminateClientVpnConnectionsOutput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsOutput { + s.ClientVpnEndpointId = &v + return s +} + +// SetConnectionStatuses sets the ConnectionStatuses field's value. +func (s *TerminateClientVpnConnectionsOutput) SetConnectionStatuses(v []*TerminateConnectionStatus) *TerminateClientVpnConnectionsOutput { + s.ConnectionStatuses = v + return s +} + +// SetUsername sets the Username field's value. +func (s *TerminateClientVpnConnectionsOutput) SetUsername(v string) *TerminateClientVpnConnectionsOutput { + s.Username = &v + return s +} + +// Information about a terminated Client VPN endpoint client connection. +type TerminateConnectionStatus struct { + _ struct{} `type:"structure"` + + // The ID of the client connection. + ConnectionId *string `locationName:"connectionId" type:"string"` + + // A message about the status of the client connection, if applicable. + CurrentStatus *ClientVpnConnectionStatus `locationName:"currentStatus" type:"structure"` + + // The state of the client connection. + PreviousStatus *ClientVpnConnectionStatus `locationName:"previousStatus" type:"structure"` +} + +// String returns the string representation +func (s TerminateConnectionStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TerminateConnectionStatus) GoString() string { + return s.String() +} + +// SetConnectionId sets the ConnectionId field's value. +func (s *TerminateConnectionStatus) SetConnectionId(v string) *TerminateConnectionStatus { + s.ConnectionId = &v + return s +} + +// SetCurrentStatus sets the CurrentStatus field's value. +func (s *TerminateConnectionStatus) SetCurrentStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus { + s.CurrentStatus = v + return s +} + +// SetPreviousStatus sets the PreviousStatus field's value. +func (s *TerminateConnectionStatus) SetPreviousStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus { + s.PreviousStatus = v + return s +} + type TerminateInstancesInput struct { _ struct{} `type:"structure"` @@ -75971,7 +89019,7 @@ type TerminateInstancesInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more instance IDs. + // The IDs of the instances. // // Constraints: Up to 1000 instance IDs. We recommend breaking up this request // into smaller batches. @@ -76018,7 +89066,7 @@ func (s *TerminateInstancesInput) SetInstanceIds(v []*string) *TerminateInstance type TerminateInstancesOutput struct { _ struct{} `type:"structure"` - // Information about one or more terminated instances. + // Information about the terminated instances. TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"` } @@ -76038,6 +89086,452 @@ func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateCha return s } +// Describes the Traffic Mirror filter. +type TrafficMirrorFilter struct { + _ struct{} `type:"structure"` + + // The description of the Traffic Mirror filter. + Description *string `locationName:"description" type:"string"` + + // Information about the egress rules that are associated with the Traffic Mirror + // filter. + EgressFilterRules []*TrafficMirrorFilterRule `locationName:"egressFilterRuleSet" locationNameList:"item" type:"list"` + + // Information about the ingress rules that are associated with the Traffic + // Mirror filter. + IngressFilterRules []*TrafficMirrorFilterRule `locationName:"ingressFilterRuleSet" locationNameList:"item" type:"list"` + + // The network service traffic that is associated with the Traffic Mirror filter. + NetworkServices []*string `locationName:"networkServiceSet" locationNameList:"item" type:"list"` + + // The tags assigned to the Traffic Mirror filter. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + + // The ID of the Traffic Mirror filter. + TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"` +} + +// String returns the string representation +func (s TrafficMirrorFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TrafficMirrorFilter) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *TrafficMirrorFilter) SetDescription(v string) *TrafficMirrorFilter { + s.Description = &v + return s +} + +// SetEgressFilterRules sets the EgressFilterRules field's value. +func (s *TrafficMirrorFilter) SetEgressFilterRules(v []*TrafficMirrorFilterRule) *TrafficMirrorFilter { + s.EgressFilterRules = v + return s +} + +// SetIngressFilterRules sets the IngressFilterRules field's value. +func (s *TrafficMirrorFilter) SetIngressFilterRules(v []*TrafficMirrorFilterRule) *TrafficMirrorFilter { + s.IngressFilterRules = v + return s +} + +// SetNetworkServices sets the NetworkServices field's value. +func (s *TrafficMirrorFilter) SetNetworkServices(v []*string) *TrafficMirrorFilter { + s.NetworkServices = v + return s +} + +// SetTags sets the Tags field's value. +func (s *TrafficMirrorFilter) SetTags(v []*Tag) *TrafficMirrorFilter { + s.Tags = v + return s +} + +// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value. +func (s *TrafficMirrorFilter) SetTrafficMirrorFilterId(v string) *TrafficMirrorFilter { + s.TrafficMirrorFilterId = &v + return s +} + +// Describes the Traffic Mirror rule. +type TrafficMirrorFilterRule struct { + _ struct{} `type:"structure"` + + // The description of the Traffic Mirror rule. + Description *string `locationName:"description" type:"string"` + + // The destination CIDR block assigned to the Traffic Mirror rule. + DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"` + + // The destination port range assigned to the Traffic Mirror rule. + DestinationPortRange *TrafficMirrorPortRange `locationName:"destinationPortRange" type:"structure"` + + // The protocol assigned to the Traffic Mirror rule. + Protocol *int64 `locationName:"protocol" type:"integer"` + + // The action assigned to the Traffic Mirror rule. + RuleAction *string `locationName:"ruleAction" type:"string" enum:"TrafficMirrorRuleAction"` + + // The rule number of the Traffic Mirror rule. + RuleNumber *int64 `locationName:"ruleNumber" type:"integer"` + + // The source CIDR block assigned to the Traffic Mirror rule. + SourceCidrBlock *string `locationName:"sourceCidrBlock" type:"string"` + + // The source port range assigned to the Traffic Mirror rule. + SourcePortRange *TrafficMirrorPortRange `locationName:"sourcePortRange" type:"structure"` + + // The traffic direction assigned to the Traffic Mirror rule. + TrafficDirection *string `locationName:"trafficDirection" type:"string" enum:"TrafficDirection"` + + // The ID of the Traffic Mirror filter that the rule is associated with. + TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"` + + // The ID of the Traffic Mirror rule. + TrafficMirrorFilterRuleId *string `locationName:"trafficMirrorFilterRuleId" type:"string"` +} + +// String returns the string representation +func (s TrafficMirrorFilterRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TrafficMirrorFilterRule) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *TrafficMirrorFilterRule) SetDescription(v string) *TrafficMirrorFilterRule { + s.Description = &v + return s +} + +// SetDestinationCidrBlock sets the DestinationCidrBlock field's value. +func (s *TrafficMirrorFilterRule) SetDestinationCidrBlock(v string) *TrafficMirrorFilterRule { + s.DestinationCidrBlock = &v + return s +} + +// SetDestinationPortRange sets the DestinationPortRange field's value. +func (s *TrafficMirrorFilterRule) SetDestinationPortRange(v *TrafficMirrorPortRange) *TrafficMirrorFilterRule { + s.DestinationPortRange = v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *TrafficMirrorFilterRule) SetProtocol(v int64) *TrafficMirrorFilterRule { + s.Protocol = &v + return s +} + +// SetRuleAction sets the RuleAction field's value. +func (s *TrafficMirrorFilterRule) SetRuleAction(v string) *TrafficMirrorFilterRule { + s.RuleAction = &v + return s +} + +// SetRuleNumber sets the RuleNumber field's value. +func (s *TrafficMirrorFilterRule) SetRuleNumber(v int64) *TrafficMirrorFilterRule { + s.RuleNumber = &v + return s +} + +// SetSourceCidrBlock sets the SourceCidrBlock field's value. +func (s *TrafficMirrorFilterRule) SetSourceCidrBlock(v string) *TrafficMirrorFilterRule { + s.SourceCidrBlock = &v + return s +} + +// SetSourcePortRange sets the SourcePortRange field's value. +func (s *TrafficMirrorFilterRule) SetSourcePortRange(v *TrafficMirrorPortRange) *TrafficMirrorFilterRule { + s.SourcePortRange = v + return s +} + +// SetTrafficDirection sets the TrafficDirection field's value. +func (s *TrafficMirrorFilterRule) SetTrafficDirection(v string) *TrafficMirrorFilterRule { + s.TrafficDirection = &v + return s +} + +// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value. +func (s *TrafficMirrorFilterRule) SetTrafficMirrorFilterId(v string) *TrafficMirrorFilterRule { + s.TrafficMirrorFilterId = &v + return s +} + +// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value. +func (s *TrafficMirrorFilterRule) SetTrafficMirrorFilterRuleId(v string) *TrafficMirrorFilterRule { + s.TrafficMirrorFilterRuleId = &v + return s +} + +// Describes the Traffic Mirror port range. +type TrafficMirrorPortRange struct { + _ struct{} `type:"structure"` + + // The start of the Traffic Mirror port range. This applies to the TCP and UDP + // protocols. + FromPort *int64 `locationName:"fromPort" type:"integer"` + + // The end of the Traffic Mirror port range. This applies to the TCP and UDP + // protocols. + ToPort *int64 `locationName:"toPort" type:"integer"` +} + +// String returns the string representation +func (s TrafficMirrorPortRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TrafficMirrorPortRange) GoString() string { + return s.String() +} + +// SetFromPort sets the FromPort field's value. +func (s *TrafficMirrorPortRange) SetFromPort(v int64) *TrafficMirrorPortRange { + s.FromPort = &v + return s +} + +// SetToPort sets the ToPort field's value. +func (s *TrafficMirrorPortRange) SetToPort(v int64) *TrafficMirrorPortRange { + s.ToPort = &v + return s +} + +// Information about the Traffic Mirror filter rule port range. +type TrafficMirrorPortRangeRequest struct { + _ struct{} `type:"structure"` + + // The first port in the Traffic Mirror port range. This applies to the TCP + // and UDP protocols. + FromPort *int64 `type:"integer"` + + // The last port in the Traffic Mirror port range. This applies to the TCP and + // UDP protocols. + ToPort *int64 `type:"integer"` +} + +// String returns the string representation +func (s TrafficMirrorPortRangeRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TrafficMirrorPortRangeRequest) GoString() string { + return s.String() +} + +// SetFromPort sets the FromPort field's value. +func (s *TrafficMirrorPortRangeRequest) SetFromPort(v int64) *TrafficMirrorPortRangeRequest { + s.FromPort = &v + return s +} + +// SetToPort sets the ToPort field's value. +func (s *TrafficMirrorPortRangeRequest) SetToPort(v int64) *TrafficMirrorPortRangeRequest { + s.ToPort = &v + return s +} + +// Describes a Traffic Mirror session. +type TrafficMirrorSession struct { + _ struct{} `type:"structure"` + + // The description of the Traffic Mirror session. + Description *string `locationName:"description" type:"string"` + + // The ID of the Traffic Mirror session's network interface. + NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` + + // The ID of the account that owns the Traffic Mirror session. + OwnerId *string `locationName:"ownerId" type:"string"` + + // The number of bytes in each packet to mirror. These are the bytes after the + // VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. + // For example, if you set this value to 100, then the first 100 bytes that + // meet the filter criteria are copied to the target. Do not specify this parameter + // when you want to mirror the entire packet + PacketLength *int64 `locationName:"packetLength" type:"integer"` + + // The session number determines the order in which sessions are evaluated when + // an interface is used by multiple sessions. The first session with a matching + // filter is the one that mirrors the packets. + // + // Valid values are 1-32766. + SessionNumber *int64 `locationName:"sessionNumber" type:"integer"` + + // The tags assigned to the Traffic Mirror session. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + + // The ID of the Traffic Mirror filter. + TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"` + + // The ID for the Traffic Mirror session. + TrafficMirrorSessionId *string `locationName:"trafficMirrorSessionId" type:"string"` + + // The ID of the Traffic Mirror target. + TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"` + + // The virtual network ID associated with the Traffic Mirror session. + VirtualNetworkId *int64 `locationName:"virtualNetworkId" type:"integer"` +} + +// String returns the string representation +func (s TrafficMirrorSession) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TrafficMirrorSession) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *TrafficMirrorSession) SetDescription(v string) *TrafficMirrorSession { + s.Description = &v + return s +} + +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *TrafficMirrorSession) SetNetworkInterfaceId(v string) *TrafficMirrorSession { + s.NetworkInterfaceId = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *TrafficMirrorSession) SetOwnerId(v string) *TrafficMirrorSession { + s.OwnerId = &v + return s +} + +// SetPacketLength sets the PacketLength field's value. +func (s *TrafficMirrorSession) SetPacketLength(v int64) *TrafficMirrorSession { + s.PacketLength = &v + return s +} + +// SetSessionNumber sets the SessionNumber field's value. +func (s *TrafficMirrorSession) SetSessionNumber(v int64) *TrafficMirrorSession { + s.SessionNumber = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TrafficMirrorSession) SetTags(v []*Tag) *TrafficMirrorSession { + s.Tags = v + return s +} + +// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value. +func (s *TrafficMirrorSession) SetTrafficMirrorFilterId(v string) *TrafficMirrorSession { + s.TrafficMirrorFilterId = &v + return s +} + +// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value. +func (s *TrafficMirrorSession) SetTrafficMirrorSessionId(v string) *TrafficMirrorSession { + s.TrafficMirrorSessionId = &v + return s +} + +// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value. +func (s *TrafficMirrorSession) SetTrafficMirrorTargetId(v string) *TrafficMirrorSession { + s.TrafficMirrorTargetId = &v + return s +} + +// SetVirtualNetworkId sets the VirtualNetworkId field's value. +func (s *TrafficMirrorSession) SetVirtualNetworkId(v int64) *TrafficMirrorSession { + s.VirtualNetworkId = &v + return s +} + +// Describes a Traffic Mirror target. +type TrafficMirrorTarget struct { + _ struct{} `type:"structure"` + + // Information about the Traffic Mirror target. + Description *string `locationName:"description" type:"string"` + + // The network interface ID that is attached to the target. + NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` + + // The Amazon Resource Name (ARN) of the Network Load Balancer. + NetworkLoadBalancerArn *string `locationName:"networkLoadBalancerArn" type:"string"` + + // The ID of the account that owns the Traffic Mirror target. + OwnerId *string `locationName:"ownerId" type:"string"` + + // The tags assigned to the Traffic Mirror target. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + + // The ID of the Traffic Mirror target. + TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"` + + // The type of Traffic Mirror target. + Type *string `locationName:"type" type:"string" enum:"TrafficMirrorTargetType"` +} + +// String returns the string representation +func (s TrafficMirrorTarget) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TrafficMirrorTarget) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *TrafficMirrorTarget) SetDescription(v string) *TrafficMirrorTarget { + s.Description = &v + return s +} + +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *TrafficMirrorTarget) SetNetworkInterfaceId(v string) *TrafficMirrorTarget { + s.NetworkInterfaceId = &v + return s +} + +// SetNetworkLoadBalancerArn sets the NetworkLoadBalancerArn field's value. +func (s *TrafficMirrorTarget) SetNetworkLoadBalancerArn(v string) *TrafficMirrorTarget { + s.NetworkLoadBalancerArn = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *TrafficMirrorTarget) SetOwnerId(v string) *TrafficMirrorTarget { + s.OwnerId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TrafficMirrorTarget) SetTags(v []*Tag) *TrafficMirrorTarget { + s.Tags = v + return s +} + +// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value. +func (s *TrafficMirrorTarget) SetTrafficMirrorTargetId(v string) *TrafficMirrorTarget { + s.TrafficMirrorTargetId = &v + return s +} + +// SetType sets the Type field's value. +func (s *TrafficMirrorTarget) SetType(v string) *TrafficMirrorTarget { + s.Type = &v + return s +} + // Describes a transit gateway. type TransitGateway struct { _ struct{} `type:"structure"` @@ -77147,7 +90641,7 @@ type UnmonitorInstancesInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more instance IDs. + // The IDs of the instances. // // InstanceIds is a required field InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"` @@ -77285,9 +90779,7 @@ type UnsuccessfulItem struct { _ struct{} `type:"structure"` // Information about the error. - // - // Error is a required field - Error *UnsuccessfulItemError `locationName:"error" type:"structure" required:"true"` + Error *UnsuccessfulItemError `locationName:"error" type:"structure"` // The ID of the resource. ResourceId *string `locationName:"resourceId" type:"string"` @@ -77316,19 +90808,15 @@ func (s *UnsuccessfulItem) SetResourceId(v string) *UnsuccessfulItem { } // Information about the error that occurred. For more information about errors, -// see Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html). +// see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html). type UnsuccessfulItemError struct { _ struct{} `type:"structure"` // The error code. - // - // Code is a required field - Code *string `locationName:"code" type:"string" required:"true"` + Code *string `locationName:"code" type:"string"` // The error message accompanying the error code. - // - // Message is a required field - Message *string `locationName:"message" type:"string" required:"true"` + Message *string `locationName:"message" type:"string"` } // String returns the string representation @@ -77801,31 +91289,29 @@ type Volume struct { // The time stamp when volume creation was initiated. CreateTime *time.Time `locationName:"createTime" type:"timestamp"` - // Indicates whether the volume will be encrypted. + // Indicates whether the volume is encrypted. Encrypted *bool `locationName:"encrypted" type:"boolean"` // The number of I/O operations per second (IOPS) that the volume supports. // For Provisioned IOPS SSD volumes, this represents the number of IOPS that // are provisioned for the volume. For General Purpose SSD volumes, this represents // the baseline performance of the volume and the rate at which the volume accumulates - // I/O credits for bursting. For more information about General Purpose SSD - // baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types - // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) + // I/O credits for bursting. For more information, see Amazon EBS Volume Types + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) // in the Amazon Elastic Compute Cloud User Guide. // - // Constraints: Range is 100-10,000 IOPS for gp2 volumes and 100 to 64,000IOPS - // for io1 volumes in most regions. Maximum io1IOPS of 64,000 is guaranteed - // only on Nitro-based instances (AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). - // Other instance families guarantee performance up to 32,000 IOPS. For more - // information, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) - // in the Amazon Elastic Compute Cloud User Guide. + // Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS + // for io1 volumes, in most Regions. The maximum IOPS for io1 of 64,000 is guaranteed + // only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). + // Other instance families guarantee performance up to 32,000 IOPS. // // Condition: This parameter is required for requests to create io1 volumes; // it is not used in requests to create gp2, st1, sc1, or standard volumes. Iops *int64 `locationName:"iops" type:"integer"` - // The full ARN of the AWS Key Management Service (AWS KMS) customer master - // key (CMK) that was used to protect the volume encryption key for the volume. + // The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) + // customer master key (CMK) that was used to protect the volume encryption + // key for the volume. KmsKeyId *string `locationName:"kmsKeyId" type:"string"` // The size of the volume, in GiBs. @@ -78675,6 +92161,9 @@ type VpcEndpoint struct { // (Interface endpoint) One or more network interfaces for the endpoint. NetworkInterfaceIds []*string `locationName:"networkInterfaceIdSet" locationNameList:"item" type:"list"` + // The ID of the AWS account that owns the VPC endpoint. + OwnerId *string `locationName:"ownerId" type:"string"` + // The policy document associated with the endpoint, if applicable. PolicyDocument *string `locationName:"policyDocument" type:"string"` @@ -78682,6 +92171,9 @@ type VpcEndpoint struct { // hosted zone. PrivateDnsEnabled *bool `locationName:"privateDnsEnabled" type:"boolean"` + // Indicates whether the VPC endpoint is being managed by its service. + RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"` + // (Gateway endpoint) One or more route tables associated with the endpoint. RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"` @@ -78694,6 +92186,9 @@ type VpcEndpoint struct { // (Interface endpoint) One or more subnets in which the endpoint is located. SubnetIds []*string `locationName:"subnetIdSet" locationNameList:"item" type:"list"` + // Any tags assigned to the VPC endpoint. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + // The ID of the VPC endpoint. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"` @@ -78738,6 +92233,12 @@ func (s *VpcEndpoint) SetNetworkInterfaceIds(v []*string) *VpcEndpoint { return s } +// SetOwnerId sets the OwnerId field's value. +func (s *VpcEndpoint) SetOwnerId(v string) *VpcEndpoint { + s.OwnerId = &v + return s +} + // SetPolicyDocument sets the PolicyDocument field's value. func (s *VpcEndpoint) SetPolicyDocument(v string) *VpcEndpoint { s.PolicyDocument = &v @@ -78750,6 +92251,12 @@ func (s *VpcEndpoint) SetPrivateDnsEnabled(v bool) *VpcEndpoint { return s } +// SetRequesterManaged sets the RequesterManaged field's value. +func (s *VpcEndpoint) SetRequesterManaged(v bool) *VpcEndpoint { + s.RequesterManaged = &v + return s +} + // SetRouteTableIds sets the RouteTableIds field's value. func (s *VpcEndpoint) SetRouteTableIds(v []*string) *VpcEndpoint { s.RouteTableIds = v @@ -78774,6 +92281,12 @@ func (s *VpcEndpoint) SetSubnetIds(v []*string) *VpcEndpoint { return s } +// SetTags sets the Tags field's value. +func (s *VpcEndpoint) SetTags(v []*Tag) *VpcEndpoint { + s.Tags = v + return s +} + // SetVpcEndpointId sets the VpcEndpointId field's value. func (s *VpcEndpoint) SetVpcEndpointId(v string) *VpcEndpoint { s.VpcEndpointId = &v @@ -78799,6 +92312,12 @@ type VpcEndpointConnection struct { // The date and time the VPC endpoint was created. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` + // The DNS entries for the VPC endpoint. + DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"` + + // The Amazon Resource Names (ARNs) of the network load balancers for the service. + NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"` + // The ID of the service to which the endpoint is connected. ServiceId *string `locationName:"serviceId" type:"string"` @@ -78828,6 +92347,18 @@ func (s *VpcEndpointConnection) SetCreationTimestamp(v time.Time) *VpcEndpointCo return s } +// SetDnsEntries sets the DnsEntries field's value. +func (s *VpcEndpointConnection) SetDnsEntries(v []*DnsEntry) *VpcEndpointConnection { + s.DnsEntries = v + return s +} + +// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value. +func (s *VpcEndpointConnection) SetNetworkLoadBalancerArns(v []*string) *VpcEndpointConnection { + s.NetworkLoadBalancerArns = v + return s +} + // SetServiceId sets the ServiceId field's value. func (s *VpcEndpointConnection) SetServiceId(v string) *VpcEndpointConnection { s.ServiceId = &v @@ -79063,7 +92594,7 @@ type VpcPeeringConnectionVpcInfo struct { // requester VPC. PeeringOptions *VpcPeeringConnectionOptionsDescription `locationName:"peeringOptions" type:"structure"` - // The region in which the VPC is located. + // The Region in which the VPC is located. Region *string `locationName:"region" type:"string"` // The ID of the VPC. @@ -79127,9 +92658,7 @@ type VpnConnection struct { _ struct{} `type:"structure"` // The category of the VPN connection. A value of VPN indicates an AWS VPN connection. - // A value of VPN-Classic indicates an AWS Classic VPN connection. For more - // information, see AWS Managed VPN Categories (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html#vpn-categories) - // in the Amazon Virtual Private Cloud User Guide. + // A value of VPN-Classic indicates an AWS Classic VPN connection. Category *string `locationName:"category" type:"string"` // The configuration information for the VPN connection's customer gateway (in @@ -79608,6 +93137,9 @@ const ( // AllocationStateReleasedPermanentFailure is a AllocationState enum value AllocationStateReleasedPermanentFailure = "released-permanent-failure" + + // AllocationStatePending is a AllocationState enum value + AllocationStatePending = "pending" ) const ( @@ -79616,6 +93148,9 @@ const ( // AllocationStrategyDiversified is a AllocationStrategy enum value AllocationStrategyDiversified = "diversified" + + // AllocationStrategyCapacityOptimized is a AllocationStrategy enum value + AllocationStrategyCapacityOptimized = "capacityOptimized" ) const ( @@ -79629,6 +93164,28 @@ const ( ArchitectureValuesArm64 = "arm64" ) +const ( + // AssociatedNetworkTypeVpc is a AssociatedNetworkType enum value + AssociatedNetworkTypeVpc = "vpc" +) + +const ( + // AssociationStatusCodeAssociating is a AssociationStatusCode enum value + AssociationStatusCodeAssociating = "associating" + + // AssociationStatusCodeAssociated is a AssociationStatusCode enum value + AssociationStatusCodeAssociated = "associated" + + // AssociationStatusCodeAssociationFailed is a AssociationStatusCode enum value + AssociationStatusCodeAssociationFailed = "association-failed" + + // AssociationStatusCodeDisassociating is a AssociationStatusCode enum value + AssociationStatusCodeDisassociating = "disassociating" + + // AssociationStatusCodeDisassociated is a AssociationStatusCode enum value + AssociationStatusCodeDisassociated = "disassociated" +) + const ( // AttachmentStatusAttaching is a AttachmentStatus enum value AttachmentStatusAttaching = "attaching" @@ -79797,6 +93354,15 @@ const ( // CapacityReservationInstancePlatformWindowswithSqlserverWeb is a CapacityReservationInstancePlatform enum value CapacityReservationInstancePlatformWindowswithSqlserverWeb = "Windows with SQL Server Web" + + // CapacityReservationInstancePlatformLinuxwithSqlserverStandard is a CapacityReservationInstancePlatform enum value + CapacityReservationInstancePlatformLinuxwithSqlserverStandard = "Linux with SQL Server Standard" + + // CapacityReservationInstancePlatformLinuxwithSqlserverWeb is a CapacityReservationInstancePlatform enum value + CapacityReservationInstancePlatformLinuxwithSqlserverWeb = "Linux with SQL Server Web" + + // CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value + CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise = "Linux with SQL Server Enterprise" ) const ( @@ -79832,6 +93398,78 @@ const ( CapacityReservationTenancyDedicated = "dedicated" ) +const ( + // ClientCertificateRevocationListStatusCodePending is a ClientCertificateRevocationListStatusCode enum value + ClientCertificateRevocationListStatusCodePending = "pending" + + // ClientCertificateRevocationListStatusCodeActive is a ClientCertificateRevocationListStatusCode enum value + ClientCertificateRevocationListStatusCodeActive = "active" +) + +const ( + // ClientVpnAuthenticationTypeCertificateAuthentication is a ClientVpnAuthenticationType enum value + ClientVpnAuthenticationTypeCertificateAuthentication = "certificate-authentication" + + // ClientVpnAuthenticationTypeDirectoryServiceAuthentication is a ClientVpnAuthenticationType enum value + ClientVpnAuthenticationTypeDirectoryServiceAuthentication = "directory-service-authentication" +) + +const ( + // ClientVpnAuthorizationRuleStatusCodeAuthorizing is a ClientVpnAuthorizationRuleStatusCode enum value + ClientVpnAuthorizationRuleStatusCodeAuthorizing = "authorizing" + + // ClientVpnAuthorizationRuleStatusCodeActive is a ClientVpnAuthorizationRuleStatusCode enum value + ClientVpnAuthorizationRuleStatusCodeActive = "active" + + // ClientVpnAuthorizationRuleStatusCodeFailed is a ClientVpnAuthorizationRuleStatusCode enum value + ClientVpnAuthorizationRuleStatusCodeFailed = "failed" + + // ClientVpnAuthorizationRuleStatusCodeRevoking is a ClientVpnAuthorizationRuleStatusCode enum value + ClientVpnAuthorizationRuleStatusCodeRevoking = "revoking" +) + +const ( + // ClientVpnConnectionStatusCodeActive is a ClientVpnConnectionStatusCode enum value + ClientVpnConnectionStatusCodeActive = "active" + + // ClientVpnConnectionStatusCodeFailedToTerminate is a ClientVpnConnectionStatusCode enum value + ClientVpnConnectionStatusCodeFailedToTerminate = "failed-to-terminate" + + // ClientVpnConnectionStatusCodeTerminating is a ClientVpnConnectionStatusCode enum value + ClientVpnConnectionStatusCodeTerminating = "terminating" + + // ClientVpnConnectionStatusCodeTerminated is a ClientVpnConnectionStatusCode enum value + ClientVpnConnectionStatusCodeTerminated = "terminated" +) + +const ( + // ClientVpnEndpointStatusCodePendingAssociate is a ClientVpnEndpointStatusCode enum value + ClientVpnEndpointStatusCodePendingAssociate = "pending-associate" + + // ClientVpnEndpointStatusCodeAvailable is a ClientVpnEndpointStatusCode enum value + ClientVpnEndpointStatusCodeAvailable = "available" + + // ClientVpnEndpointStatusCodeDeleting is a ClientVpnEndpointStatusCode enum value + ClientVpnEndpointStatusCodeDeleting = "deleting" + + // ClientVpnEndpointStatusCodeDeleted is a ClientVpnEndpointStatusCode enum value + ClientVpnEndpointStatusCodeDeleted = "deleted" +) + +const ( + // ClientVpnRouteStatusCodeCreating is a ClientVpnRouteStatusCode enum value + ClientVpnRouteStatusCodeCreating = "creating" + + // ClientVpnRouteStatusCodeActive is a ClientVpnRouteStatusCode enum value + ClientVpnRouteStatusCodeActive = "active" + + // ClientVpnRouteStatusCodeFailed is a ClientVpnRouteStatusCode enum value + ClientVpnRouteStatusCodeFailed = "failed" + + // ClientVpnRouteStatusCodeDeleting is a ClientVpnRouteStatusCode enum value + ClientVpnRouteStatusCodeDeleting = "deleting" +) + const ( // ConnectionNotificationStateEnabled is a ConnectionNotificationState enum value ConnectionNotificationStateEnabled = "Enabled" @@ -79864,6 +93502,11 @@ const ( ConversionTaskStateCompleted = "completed" ) +const ( + // CopyTagsFromSourceVolume is a CopyTagsFromSource enum value + CopyTagsFromSourceVolume = "volume" +) + const ( // CurrencyCodeValuesUsd is a CurrencyCodeValues enum value CurrencyCodeValuesUsd = "USD" @@ -79997,6 +93640,9 @@ const ( // EventTypeError is a EventType enum value EventTypeError = "error" + + // EventTypeInformation is a EventType enum value + EventTypeInformation = "information" ) const ( @@ -80151,6 +93797,14 @@ const ( GatewayTypeIpsec1 = "ipsec.1" ) +const ( + // HostRecoveryOn is a HostRecovery enum value + HostRecoveryOn = "on" + + // HostRecoveryOff is a HostRecovery enum value + HostRecoveryOff = "off" +) + const ( // HostTenancyDedicated is a HostTenancy enum value HostTenancyDedicated = "dedicated" @@ -80391,6 +94045,27 @@ const ( // InstanceTypeT32xlarge is a InstanceType enum value InstanceTypeT32xlarge = "t3.2xlarge" + // InstanceTypeT3aNano is a InstanceType enum value + InstanceTypeT3aNano = "t3a.nano" + + // InstanceTypeT3aMicro is a InstanceType enum value + InstanceTypeT3aMicro = "t3a.micro" + + // InstanceTypeT3aSmall is a InstanceType enum value + InstanceTypeT3aSmall = "t3a.small" + + // InstanceTypeT3aMedium is a InstanceType enum value + InstanceTypeT3aMedium = "t3a.medium" + + // InstanceTypeT3aLarge is a InstanceType enum value + InstanceTypeT3aLarge = "t3a.large" + + // InstanceTypeT3aXlarge is a InstanceType enum value + InstanceTypeT3aXlarge = "t3a.xlarge" + + // InstanceTypeT3a2xlarge is a InstanceType enum value + InstanceTypeT3a2xlarge = "t3a.2xlarge" + // InstanceTypeM1Small is a InstanceType enum value InstanceTypeM1Small = "m1.small" @@ -80517,9 +94192,15 @@ const ( // InstanceTypeR5a4xlarge is a InstanceType enum value InstanceTypeR5a4xlarge = "r5a.4xlarge" + // InstanceTypeR5a8xlarge is a InstanceType enum value + InstanceTypeR5a8xlarge = "r5a.8xlarge" + // InstanceTypeR5a12xlarge is a InstanceType enum value InstanceTypeR5a12xlarge = "r5a.12xlarge" + // InstanceTypeR5a16xlarge is a InstanceType enum value + InstanceTypeR5a16xlarge = "r5a.16xlarge" + // InstanceTypeR5a24xlarge is a InstanceType enum value InstanceTypeR5a24xlarge = "r5a.24xlarge" @@ -80550,6 +94231,30 @@ const ( // InstanceTypeR5dMetal is a InstanceType enum value InstanceTypeR5dMetal = "r5d.metal" + // InstanceTypeR5adLarge is a InstanceType enum value + InstanceTypeR5adLarge = "r5ad.large" + + // InstanceTypeR5adXlarge is a InstanceType enum value + InstanceTypeR5adXlarge = "r5ad.xlarge" + + // InstanceTypeR5ad2xlarge is a InstanceType enum value + InstanceTypeR5ad2xlarge = "r5ad.2xlarge" + + // InstanceTypeR5ad4xlarge is a InstanceType enum value + InstanceTypeR5ad4xlarge = "r5ad.4xlarge" + + // InstanceTypeR5ad8xlarge is a InstanceType enum value + InstanceTypeR5ad8xlarge = "r5ad.8xlarge" + + // InstanceTypeR5ad12xlarge is a InstanceType enum value + InstanceTypeR5ad12xlarge = "r5ad.12xlarge" + + // InstanceTypeR5ad16xlarge is a InstanceType enum value + InstanceTypeR5ad16xlarge = "r5ad.16xlarge" + + // InstanceTypeR5ad24xlarge is a InstanceType enum value + InstanceTypeR5ad24xlarge = "r5ad.24xlarge" + // InstanceTypeX116xlarge is a InstanceType enum value InstanceTypeX116xlarge = "x1.16xlarge" @@ -80607,6 +94312,27 @@ const ( // InstanceTypeI3Metal is a InstanceType enum value InstanceTypeI3Metal = "i3.metal" + // InstanceTypeI3enLarge is a InstanceType enum value + InstanceTypeI3enLarge = "i3en.large" + + // InstanceTypeI3enXlarge is a InstanceType enum value + InstanceTypeI3enXlarge = "i3en.xlarge" + + // InstanceTypeI3en2xlarge is a InstanceType enum value + InstanceTypeI3en2xlarge = "i3en.2xlarge" + + // InstanceTypeI3en3xlarge is a InstanceType enum value + InstanceTypeI3en3xlarge = "i3en.3xlarge" + + // InstanceTypeI3en6xlarge is a InstanceType enum value + InstanceTypeI3en6xlarge = "i3en.6xlarge" + + // InstanceTypeI3en12xlarge is a InstanceType enum value + InstanceTypeI3en12xlarge = "i3en.12xlarge" + + // InstanceTypeI3en24xlarge is a InstanceType enum value + InstanceTypeI3en24xlarge = "i3en.24xlarge" + // InstanceTypeHi14xlarge is a InstanceType enum value InstanceTypeHi14xlarge = "hi1.4xlarge" @@ -80664,9 +94390,18 @@ const ( // InstanceTypeC59xlarge is a InstanceType enum value InstanceTypeC59xlarge = "c5.9xlarge" + // InstanceTypeC512xlarge is a InstanceType enum value + InstanceTypeC512xlarge = "c5.12xlarge" + // InstanceTypeC518xlarge is a InstanceType enum value InstanceTypeC518xlarge = "c5.18xlarge" + // InstanceTypeC524xlarge is a InstanceType enum value + InstanceTypeC524xlarge = "c5.24xlarge" + + // InstanceTypeC5Metal is a InstanceType enum value + InstanceTypeC5Metal = "c5.metal" + // InstanceTypeC5dLarge is a InstanceType enum value InstanceTypeC5dLarge = "c5d.large" @@ -80748,6 +94483,9 @@ const ( // InstanceTypeP316xlarge is a InstanceType enum value InstanceTypeP316xlarge = "p3.16xlarge" + // InstanceTypeP3dn24xlarge is a InstanceType enum value + InstanceTypeP3dn24xlarge = "p3dn.24xlarge" + // InstanceTypeD2Xlarge is a InstanceType enum value InstanceTypeD2Xlarge = "d2.xlarge" @@ -80781,12 +94519,21 @@ const ( // InstanceTypeM54xlarge is a InstanceType enum value InstanceTypeM54xlarge = "m5.4xlarge" + // InstanceTypeM58xlarge is a InstanceType enum value + InstanceTypeM58xlarge = "m5.8xlarge" + // InstanceTypeM512xlarge is a InstanceType enum value InstanceTypeM512xlarge = "m5.12xlarge" + // InstanceTypeM516xlarge is a InstanceType enum value + InstanceTypeM516xlarge = "m5.16xlarge" + // InstanceTypeM524xlarge is a InstanceType enum value InstanceTypeM524xlarge = "m5.24xlarge" + // InstanceTypeM5Metal is a InstanceType enum value + InstanceTypeM5Metal = "m5.metal" + // InstanceTypeM5aLarge is a InstanceType enum value InstanceTypeM5aLarge = "m5a.large" @@ -80799,9 +94546,15 @@ const ( // InstanceTypeM5a4xlarge is a InstanceType enum value InstanceTypeM5a4xlarge = "m5a.4xlarge" + // InstanceTypeM5a8xlarge is a InstanceType enum value + InstanceTypeM5a8xlarge = "m5a.8xlarge" + // InstanceTypeM5a12xlarge is a InstanceType enum value InstanceTypeM5a12xlarge = "m5a.12xlarge" + // InstanceTypeM5a16xlarge is a InstanceType enum value + InstanceTypeM5a16xlarge = "m5a.16xlarge" + // InstanceTypeM5a24xlarge is a InstanceType enum value InstanceTypeM5a24xlarge = "m5a.24xlarge" @@ -80817,12 +94570,45 @@ const ( // InstanceTypeM5d4xlarge is a InstanceType enum value InstanceTypeM5d4xlarge = "m5d.4xlarge" + // InstanceTypeM5d8xlarge is a InstanceType enum value + InstanceTypeM5d8xlarge = "m5d.8xlarge" + // InstanceTypeM5d12xlarge is a InstanceType enum value InstanceTypeM5d12xlarge = "m5d.12xlarge" + // InstanceTypeM5d16xlarge is a InstanceType enum value + InstanceTypeM5d16xlarge = "m5d.16xlarge" + // InstanceTypeM5d24xlarge is a InstanceType enum value InstanceTypeM5d24xlarge = "m5d.24xlarge" + // InstanceTypeM5dMetal is a InstanceType enum value + InstanceTypeM5dMetal = "m5d.metal" + + // InstanceTypeM5adLarge is a InstanceType enum value + InstanceTypeM5adLarge = "m5ad.large" + + // InstanceTypeM5adXlarge is a InstanceType enum value + InstanceTypeM5adXlarge = "m5ad.xlarge" + + // InstanceTypeM5ad2xlarge is a InstanceType enum value + InstanceTypeM5ad2xlarge = "m5ad.2xlarge" + + // InstanceTypeM5ad4xlarge is a InstanceType enum value + InstanceTypeM5ad4xlarge = "m5ad.4xlarge" + + // InstanceTypeM5ad8xlarge is a InstanceType enum value + InstanceTypeM5ad8xlarge = "m5ad.8xlarge" + + // InstanceTypeM5ad12xlarge is a InstanceType enum value + InstanceTypeM5ad12xlarge = "m5ad.12xlarge" + + // InstanceTypeM5ad16xlarge is a InstanceType enum value + InstanceTypeM5ad16xlarge = "m5ad.16xlarge" + + // InstanceTypeM5ad24xlarge is a InstanceType enum value + InstanceTypeM5ad24xlarge = "m5ad.24xlarge" + // InstanceTypeH12xlarge is a InstanceType enum value InstanceTypeH12xlarge = "h1.2xlarge" @@ -80853,6 +94639,9 @@ const ( // InstanceTypeZ1d12xlarge is a InstanceType enum value InstanceTypeZ1d12xlarge = "z1d.12xlarge" + // InstanceTypeZ1dMetal is a InstanceType enum value + InstanceTypeZ1dMetal = "z1d.metal" + // InstanceTypeU6tb1Metal is a InstanceType enum value InstanceTypeU6tb1Metal = "u-6tb1.metal" @@ -81008,6 +94797,11 @@ const ( NetworkInterfaceAttributeAttachment = "attachment" ) +const ( + // NetworkInterfaceCreationTypeEfa is a NetworkInterfaceCreationType enum value + NetworkInterfaceCreationTypeEfa = "efa" +) + const ( // NetworkInterfacePermissionStateCodePending is a NetworkInterfacePermissionStateCode enum value NetworkInterfacePermissionStateCodePending = "pending" @@ -81045,6 +94839,9 @@ const ( // NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value NetworkInterfaceTypeNatGateway = "natGateway" + + // NetworkInterfaceTypeEfa is a NetworkInterfaceType enum value + NetworkInterfaceTypeEfa = "efa" ) const ( @@ -81127,6 +94924,9 @@ const ( // PlacementStrategySpread is a PlacementStrategy enum value PlacementStrategySpread = "spread" + + // PlacementStrategyPartition is a PlacementStrategy enum value + PlacementStrategyPartition = "partition" ) const ( @@ -81257,6 +95057,9 @@ const ( ) const ( + // ResourceTypeClientVpnEndpoint is a ResourceType enum value + ResourceTypeClientVpnEndpoint = "client-vpn-endpoint" + // ResourceTypeCustomerGateway is a ResourceType enum value ResourceTypeCustomerGateway = "customer-gateway" @@ -81275,6 +95078,9 @@ const ( // ResourceTypeFpgaImage is a ResourceType enum value ResourceTypeFpgaImage = "fpga-image" + // ResourceTypeHostReservation is a ResourceType enum value + ResourceTypeHostReservation = "host-reservation" + // ResourceTypeImage is a ResourceType enum value ResourceTypeImage = "image" @@ -81314,6 +95120,15 @@ const ( // ResourceTypeSubnet is a ResourceType enum value ResourceTypeSubnet = "subnet" + // ResourceTypeTrafficMirrorFilter is a ResourceType enum value + ResourceTypeTrafficMirrorFilter = "traffic-mirror-filter" + + // ResourceTypeTrafficMirrorSession is a ResourceType enum value + ResourceTypeTrafficMirrorSession = "traffic-mirror-session" + + // ResourceTypeTrafficMirrorTarget is a ResourceType enum value + ResourceTypeTrafficMirrorTarget = "traffic-mirror-target" + // ResourceTypeTransitGateway is a ResourceType enum value ResourceTypeTransitGateway = "transit-gateway" @@ -81424,6 +95239,9 @@ const ( // SpotAllocationStrategyDiversified is a SpotAllocationStrategy enum value SpotAllocationStrategyDiversified = "diversified" + + // SpotAllocationStrategyCapacityOptimized is a SpotAllocationStrategy enum value + SpotAllocationStrategyCapacityOptimized = "capacity-optimized" ) const ( @@ -81582,6 +95400,60 @@ const ( TenancyHost = "host" ) +const ( + // TrafficDirectionIngress is a TrafficDirection enum value + TrafficDirectionIngress = "ingress" + + // TrafficDirectionEgress is a TrafficDirection enum value + TrafficDirectionEgress = "egress" +) + +const ( + // TrafficMirrorFilterRuleFieldDestinationPortRange is a TrafficMirrorFilterRuleField enum value + TrafficMirrorFilterRuleFieldDestinationPortRange = "destination-port-range" + + // TrafficMirrorFilterRuleFieldSourcePortRange is a TrafficMirrorFilterRuleField enum value + TrafficMirrorFilterRuleFieldSourcePortRange = "source-port-range" + + // TrafficMirrorFilterRuleFieldProtocol is a TrafficMirrorFilterRuleField enum value + TrafficMirrorFilterRuleFieldProtocol = "protocol" + + // TrafficMirrorFilterRuleFieldDescription is a TrafficMirrorFilterRuleField enum value + TrafficMirrorFilterRuleFieldDescription = "description" +) + +const ( + // TrafficMirrorNetworkServiceAmazonDns is a TrafficMirrorNetworkService enum value + TrafficMirrorNetworkServiceAmazonDns = "amazon-dns" +) + +const ( + // TrafficMirrorRuleActionAccept is a TrafficMirrorRuleAction enum value + TrafficMirrorRuleActionAccept = "accept" + + // TrafficMirrorRuleActionReject is a TrafficMirrorRuleAction enum value + TrafficMirrorRuleActionReject = "reject" +) + +const ( + // TrafficMirrorSessionFieldPacketLength is a TrafficMirrorSessionField enum value + TrafficMirrorSessionFieldPacketLength = "packet-length" + + // TrafficMirrorSessionFieldDescription is a TrafficMirrorSessionField enum value + TrafficMirrorSessionFieldDescription = "description" + + // TrafficMirrorSessionFieldVirtualNetworkId is a TrafficMirrorSessionField enum value + TrafficMirrorSessionFieldVirtualNetworkId = "virtual-network-id" +) + +const ( + // TrafficMirrorTargetTypeNetworkInterface is a TrafficMirrorTargetType enum value + TrafficMirrorTargetTypeNetworkInterface = "network-interface" + + // TrafficMirrorTargetTypeNetworkLoadBalancer is a TrafficMirrorTargetType enum value + TrafficMirrorTargetTypeNetworkLoadBalancer = "network-load-balancer" +) + const ( // TrafficTypeAccept is a TrafficType enum value TrafficTypeAccept = "ACCEPT" @@ -81613,6 +95485,9 @@ const ( // TransitGatewayAttachmentResourceTypeVpn is a TransitGatewayAttachmentResourceType enum value TransitGatewayAttachmentResourceTypeVpn = "vpn" + + // TransitGatewayAttachmentResourceTypeDirectConnectGateway is a TransitGatewayAttachmentResourceType enum value + TransitGatewayAttachmentResourceTypeDirectConnectGateway = "direct-connect-gateway" ) const ( @@ -81720,6 +95595,14 @@ const ( TransitGatewayStateDeleted = "deleted" ) +const ( + // TransportProtocolTcp is a TransportProtocol enum value + TransportProtocolTcp = "tcp" + + // TransportProtocolUdp is a TransportProtocol enum value + TransportProtocolUdp = "udp" +) + const ( // UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed = "InvalidInstanceID.Malformed" @@ -81923,6 +95806,11 @@ const ( VpnEcmpSupportValueDisable = "disable" ) +const ( + // VpnProtocolOpenvpn is a VpnProtocol enum value + VpnProtocolOpenvpn = "openvpn" +) + const ( // VpnStatePending is a VpnState enum value VpnStatePending = "pending" diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go index c258e0e85c0..e403b84a442 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go @@ -7,18 +7,19 @@ // capacity in the AWS cloud. Using Amazon EC2 eliminates the need to invest // in hardware up front, so you can develop and deploy applications faster. // -// To learn more about Amazon EC2, Amazon EBS, and Amazon VPC, see the following -// resources: +// To learn more, see the following resources: // -// * Amazon EC2 product page (http://aws.amazon.com/ec2) +// * Amazon EC2: Amazon EC2 product page (http://aws.amazon.com/ec2), Amazon +// EC2 documentation (http://aws.amazon.com/documentation/ec2) // -// * Amazon EC2 documentation (http://aws.amazon.com/documentation/ec2) +// * Amazon EBS: Amazon EBS product page (http://aws.amazon.com/ebs), Amazon +// EBS documentation (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) // -// * Amazon EBS product page (http://aws.amazon.com/ebs) +// * Amazon VPC: Amazon VPC product page (http://aws.amazon.com/vpc), Amazon +// VPC documentation (http://aws.amazon.com/documentation/vpc) // -// * Amazon VPC product page (http://aws.amazon.com/vpc) -// -// * Amazon VPC documentation (http://aws.amazon.com/documentation/vpc) +// * AWS VPN: AWS VPN product page (http://aws.amazon.com/vpn), AWS VPN documentation +// (http://aws.amazon.com/documentation/vpn) // // See https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go index e2ab0c9ac6e..139c27d14c1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go @@ -460,8 +460,7 @@ func (c *S3) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request output = &DeleteBucketOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -537,8 +536,7 @@ func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyt output = &DeleteBucketAnalyticsConfigurationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -547,6 +545,10 @@ func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyt // Deletes an analytics configuration for the bucket (specified by the analytics // configuration ID). // +// To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration +// action. The bucket owner has this permission by default. The bucket owner +// can grant this permission to others. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -614,8 +616,7 @@ func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request output = &DeleteBucketCorsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -690,8 +691,7 @@ func (c *S3) DeleteBucketEncryptionRequest(input *DeleteBucketEncryptionInput) ( output = &DeleteBucketEncryptionOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -766,8 +766,7 @@ func (c *S3) DeleteBucketInventoryConfigurationRequest(input *DeleteBucketInvent output = &DeleteBucketInventoryConfigurationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -843,8 +842,7 @@ func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (re output = &DeleteBucketLifecycleOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -919,8 +917,7 @@ func (c *S3) DeleteBucketMetricsConfigurationRequest(input *DeleteBucketMetricsC output = &DeleteBucketMetricsConfigurationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -996,8 +993,7 @@ func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *req output = &DeleteBucketPolicyOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -1072,15 +1068,14 @@ func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) output = &DeleteBucketReplicationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // DeleteBucketReplication API operation for Amazon Simple Storage Service. // // Deletes the replication configuration from the bucket. For information about -// replication configuration, see Cross-Region Replication (CRR) ( https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) +// replication configuration, see Cross-Region Replication (CRR) (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) // in the Amazon S3 Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1150,8 +1145,7 @@ func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *r output = &DeleteBucketTaggingOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -1226,8 +1220,7 @@ func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *r output = &DeleteBucketWebsiteOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -1527,8 +1520,7 @@ func (c *S3) DeletePublicAccessBlockRequest(input *DeletePublicAccessBlockInput) output = &DeletePublicAccessBlockOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -2059,7 +2051,7 @@ func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *req // GetBucketLifecycle API operation for Amazon Simple Storage Service. // -// Deprecated, see the GetBucketLifecycleConfiguration operation. +// No longer used, see the GetBucketLifecycleConfiguration operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2440,7 +2432,7 @@ func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurat // GetBucketNotification API operation for Amazon Simple Storage Service. // -// Deprecated, see the GetBucketNotificationConfiguration operation. +// No longer used, see the GetBucketNotificationConfiguration operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3347,8 +3339,8 @@ func (c *S3) GetObjectLockConfigurationRequest(input *GetObjectLockConfiguration // GetObjectLockConfiguration API operation for Amazon Simple Storage Service. // -// Gets the Object Lock configuration for a bucket. The rule specified in the -// Object Lock configuration will be applied by default to every new object +// Gets the object lock configuration for a bucket. The rule specified in the +// object lock configuration will be applied by default to every new object // placed in the specified bucket. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3714,8 +3706,7 @@ func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, ou output = &HeadBucketOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -4223,7 +4214,7 @@ func (c *S3) ListMultipartUploadsWithContext(ctx aws.Context, input *ListMultipa // // Example iterating over at most 3 pages of a ListMultipartUploads operation. // pageNum := 0 // err := client.ListMultipartUploadsPages(params, -// func(page *ListMultipartUploadsOutput, lastPage bool) bool { +// func(page *s3.ListMultipartUploadsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -4353,7 +4344,7 @@ func (c *S3) ListObjectVersionsWithContext(ctx aws.Context, input *ListObjectVer // // Example iterating over at most 3 pages of a ListObjectVersions operation. // pageNum := 0 // err := client.ListObjectVersionsPages(params, -// func(page *ListObjectVersionsOutput, lastPage bool) bool { +// func(page *s3.ListObjectVersionsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -4490,7 +4481,7 @@ func (c *S3) ListObjectsWithContext(ctx aws.Context, input *ListObjectsInput, op // // Example iterating over at most 3 pages of a ListObjects operation. // pageNum := 0 // err := client.ListObjectsPages(params, -// func(page *ListObjectsOutput, lastPage bool) bool { +// func(page *s3.ListObjectsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -4628,7 +4619,7 @@ func (c *S3) ListObjectsV2WithContext(ctx aws.Context, input *ListObjectsV2Input // // Example iterating over at most 3 pages of a ListObjectsV2 operation. // pageNum := 0 // err := client.ListObjectsV2Pages(params, -// func(page *ListObjectsV2Output, lastPage bool) bool { +// func(page *s3.ListObjectsV2Output, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -4758,7 +4749,7 @@ func (c *S3) ListPartsWithContext(ctx aws.Context, input *ListPartsInput, opts . // // Example iterating over at most 3 pages of a ListParts operation. // pageNum := 0 // err := client.ListPartsPages(params, -// func(page *ListPartsOutput, lastPage bool) bool { +// func(page *s3.ListPartsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 @@ -4836,8 +4827,7 @@ func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateC output = &PutBucketAccelerateConfigurationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -4912,8 +4902,7 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request output = &PutBucketAclOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -4988,8 +4977,7 @@ func (c *S3) PutBucketAnalyticsConfigurationRequest(input *PutBucketAnalyticsCon output = &PutBucketAnalyticsConfigurationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -5065,8 +5053,7 @@ func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Reque output = &PutBucketCorsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -5141,8 +5128,7 @@ func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *r output = &PutBucketEncryptionOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -5218,8 +5204,7 @@ func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryCon output = &PutBucketInventoryConfigurationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -5300,14 +5285,13 @@ func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *req output = &PutBucketLifecycleOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // PutBucketLifecycle API operation for Amazon Simple Storage Service. // -// Deprecated, see the PutBucketLifecycleConfiguration operation. +// No longer used, see the PutBucketLifecycleConfiguration operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5380,8 +5364,7 @@ func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleCon output = &PutBucketLifecycleConfigurationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -5457,8 +5440,7 @@ func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request output = &PutBucketLoggingOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -5535,8 +5517,7 @@ func (c *S3) PutBucketMetricsConfigurationRequest(input *PutBucketMetricsConfigu output = &PutBucketMetricsConfigurationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -5617,14 +5598,13 @@ func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (re output = &PutBucketNotificationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // PutBucketNotification API operation for Amazon Simple Storage Service. // -// Deprecated, see the PutBucketNotificationConfiguraiton operation. +// No longer used, see the PutBucketNotificationConfiguration operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5697,8 +5677,7 @@ func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificat output = &PutBucketNotificationConfigurationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -5773,15 +5752,13 @@ func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.R output = &PutBucketPolicyOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // PutBucketPolicy API operation for Amazon Simple Storage Service. // -// Replaces a policy on a bucket. If the bucket already has a policy, the one -// in this request completely replaces it. +// Applies an Amazon S3 bucket policy to an Amazon S3 bucket. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5850,15 +5827,14 @@ func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req output = &PutBucketReplicationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // PutBucketReplication API operation for Amazon Simple Storage Service. // // Creates a replication configuration or replaces an existing one. For more -// information, see Cross-Region Replication (CRR) ( https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) +// information, see Cross-Region Replication (CRR) (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) // in the Amazon S3 Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5928,8 +5904,7 @@ func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) output = &PutBucketRequestPaymentOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -6008,8 +5983,7 @@ func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request output = &PutBucketTaggingOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -6084,8 +6058,7 @@ func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *r output = &PutBucketVersioningOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -6161,8 +6134,7 @@ func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request output = &PutBucketWebsiteOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -6470,8 +6442,8 @@ func (c *S3) PutObjectLockConfigurationRequest(input *PutObjectLockConfiguration // PutObjectLockConfiguration API operation for Amazon Simple Storage Service. // -// Places an Object Lock configuration on the specified bucket. The rule specified -// in the Object Lock configuration will be applied by default to every new +// Places an object lock configuration on the specified bucket. The rule specified +// in the object lock configuration will be applied by default to every new // object placed in the specified bucket. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6689,8 +6661,7 @@ func (c *S3) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req output = &PutPublicAccessBlockOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } @@ -7042,13 +7013,16 @@ func (c *S3) UploadPartCopyWithContext(ctx aws.Context, input *UploadPartCopyInp return out, req.Send() } -// Specifies the days since the initiation of an Incomplete Multipart Upload -// that Lifecycle will wait before permanently removing all parts of the upload. +// Specifies the days since the initiation of an incomplete multipart upload +// that Amazon S3 will wait before permanently removing all parts of the upload. +// For more information, see Aborting Incomplete Multipart Uploads Using a Bucket +// Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) +// in the Amazon Simple Storage Service Developer Guide. type AbortIncompleteMultipartUpload struct { _ struct{} `type:"structure"` - // Indicates the number of days that must pass since initiation for Lifecycle - // to abort an Incomplete Multipart Upload. + // Specifies the number of days after which Amazon S3 aborts an incomplete multipart + // upload. DaysAfterInitiation *int64 `type:"integer"` } @@ -7071,9 +7045,13 @@ func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortI type AbortMultipartUploadInput struct { _ struct{} `type:"structure"` + // Name of the bucket to which the multipart upload was initiated. + // // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // Key of the object for which the multipart upload was initiated. + // // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` @@ -7083,6 +7061,8 @@ type AbortMultipartUploadInput struct { // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` + // Upload ID that identifies the multipart upload. + // // UploadId is a required field UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` } @@ -7103,6 +7083,9 @@ func (s *AbortMultipartUploadInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -7174,10 +7157,13 @@ func (s *AbortMultipartUploadOutput) SetRequestCharged(v string) *AbortMultipart return s } +// Configures the transfer acceleration state for an Amazon S3 bucket. For more +// information, see Amazon S3 Transfer Acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) +// in the Amazon Simple Storage Service Developer Guide. type AccelerateConfiguration struct { _ struct{} `type:"structure"` - // The accelerate configuration of the bucket. + // Specifies the transfer acceleration status of the bucket. Status *string `type:"string" enum:"BucketAccelerateStatus"` } @@ -7197,12 +7183,14 @@ func (s *AccelerateConfiguration) SetStatus(v string) *AccelerateConfiguration { return s } +// Contains the elements that set the ACL permissions for an object per grantee. type AccessControlPolicy struct { _ struct{} `type:"structure"` // A list of grants. Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"` + // Container for the bucket owner's display name and ID. Owner *Owner `type:"structure"` } @@ -7252,7 +7240,9 @@ func (s *AccessControlPolicy) SetOwner(v *Owner) *AccessControlPolicy { type AccessControlTranslation struct { _ struct{} `type:"structure"` - // The override value for the owner of the replica object. + // Specifies the replica ownership. For default and valid values, see PUT bucket + // replication (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) + // in the Amazon Simple Storage Service API Reference. // // Owner is a required field Owner *string `type:"string" required:"true" enum:"OwnerOverride"` @@ -7287,10 +7277,14 @@ func (s *AccessControlTranslation) SetOwner(v string) *AccessControlTranslation return s } +// A conjunction (logical AND) of predicates, which is used in evaluating a +// metrics filter. The operator must have at least two predicates in any combination, +// and an object must match all of the predicates for the filter to apply. type AnalyticsAndOperator struct { _ struct{} `type:"structure"` - // The prefix to use when evaluating an AND predicate. + // The prefix to use when evaluating an AND predicate: The prefix that an object + // must have to be included in the metrics results. Prefix *string `type:"string"` // The list of tags to use when evaluating an AND predicate. @@ -7339,6 +7333,11 @@ func (s *AnalyticsAndOperator) SetTags(v []*Tag) *AnalyticsAndOperator { return s } +// Specifies the configuration and any analyses for the analytics filter of +// an Amazon S3 bucket. +// +// For more information, see GET Bucket analytics (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETAnalyticsConfig.html) +// in the Amazon Simple Storage Service API Reference. type AnalyticsConfiguration struct { _ struct{} `type:"structure"` @@ -7347,13 +7346,13 @@ type AnalyticsConfiguration struct { // If no filter is provided, all objects will be considered in any analysis. Filter *AnalyticsFilter `type:"structure"` - // The identifier used to represent an analytics configuration. + // The ID that identifies the analytics configuration. // // Id is a required field Id *string `type:"string" required:"true"` - // If present, it indicates that data related to access patterns will be collected - // and made available to analyze the tradeoffs between different storage classes. + // Contains data related to access patterns to be collected and made available + // to analyze the tradeoffs between different storage classes. // // StorageClassAnalysis is a required field StorageClassAnalysis *StorageClassAnalysis `type:"structure" required:"true"` @@ -7413,6 +7412,7 @@ func (s *AnalyticsConfiguration) SetStorageClassAnalysis(v *StorageClassAnalysis return s } +// Where to publish the analytics results. type AnalyticsExportDestination struct { _ struct{} `type:"structure"` @@ -7521,7 +7521,7 @@ func (s *AnalyticsFilter) SetTag(v *Tag) *AnalyticsFilter { type AnalyticsS3BucketDestination struct { _ struct{} `type:"structure"` - // The Amazon resource name (ARN) of the bucket to which data is exported. + // The Amazon Resource Name (ARN) of the bucket to which data is exported. // // Bucket is a required field Bucket *string `type:"string" required:"true"` @@ -7530,13 +7530,12 @@ type AnalyticsS3BucketDestination struct { // the owner will not be validated prior to exporting data. BucketAccountId *string `type:"string"` - // The file format used when exporting data to Amazon S3. + // Specifies the file format used when exporting data to Amazon S3. // // Format is a required field Format *string `type:"string" required:"true" enum:"AnalyticsS3ExportFileFormat"` - // The prefix to use when exporting data. The exported data begins with this - // prefix. + // The prefix to use when exporting data. The prefix is prepended to all results. Prefix *string `type:"string"` } @@ -7629,9 +7628,14 @@ func (s *Bucket) SetName(v string) *Bucket { return s } +// Specifies the lifecycle configuration for objects in an Amazon S3 bucket. +// For more information, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) +// in the Amazon Simple Storage Service Developer Guide. type BucketLifecycleConfiguration struct { _ struct{} `type:"structure"` + // A lifecycle rule for individual objects in an Amazon S3 bucket. + // // Rules is a required field Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true" required:"true"` } @@ -7678,9 +7682,10 @@ func (s *BucketLifecycleConfiguration) SetRules(v []*LifecycleRule) *BucketLifec type BucketLoggingStatus struct { _ struct{} `type:"structure"` - // Container for logging information. Presence of this element indicates that - // logging is enabled. Parameters TargetBucket and TargetPrefix are required - // in this case. + // Describes where logs are stored and the prefix that Amazon S3 assigns to + // all log object keys for a bucket. For more information, see PUT Bucket logging + // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) + // in the Amazon Simple Storage Service API Reference. LoggingEnabled *LoggingEnabled `type:"structure"` } @@ -7715,9 +7720,15 @@ func (s *BucketLoggingStatus) SetLoggingEnabled(v *LoggingEnabled) *BucketLoggin return s } +// Describes the cross-origin access configuration for objects in an Amazon +// S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the Amazon +// Simple Storage Service Developer Guide. type CORSConfiguration struct { _ struct{} `type:"structure"` + // A set of allowed origins and methods. + // // CORSRules is a required field CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true" required:"true"` } @@ -7761,14 +7772,18 @@ func (s *CORSConfiguration) SetCORSRules(v []*CORSRule) *CORSConfiguration { return s } +// Specifies a cross-origin access rule for an Amazon S3 bucket. type CORSRule struct { _ struct{} `type:"structure"` - // Specifies which headers are allowed in a pre-flight OPTIONS request. + // Headers that are specified in the Access-Control-Request-Headers header. + // These headers are allowed in a preflight OPTIONS request. In response to + // any preflight OPTIONS request, Amazon S3 returns any requested headers that + // are allowed. AllowedHeaders []*string `locationName:"AllowedHeader" type:"list" flattened:"true"` - // Identifies HTTP methods that the domain/origin specified in the rule is allowed - // to execute. + // An HTTP method that you allow the origin to execute. Valid values are GET, + // PUT, HEAD, POST, and DELETE. // // AllowedMethods is a required field AllowedMethods []*string `locationName:"AllowedMethod" type:"list" flattened:"true" required:"true"` @@ -8105,6 +8120,9 @@ func (s *CompleteMultipartUploadInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -8180,7 +8198,7 @@ type CompleteMultipartUploadOutput struct { // If present, specifies the ID of the AWS Key Management Service (KMS) master // encryption key that was used for the object. - SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` + SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). @@ -8316,6 +8334,7 @@ func (s *CompletedPart) SetPartNumber(v int64) *CompletedPart { return s } +// Specifies a condition that must be met for a redirect to apply. type Condition struct { _ struct{} `type:"structure"` @@ -8435,7 +8454,7 @@ type CopyObjectInput struct { // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt // the source object. The encryption key provided in this header must be one // that was used when the source object was created. - CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string"` + CopySourceSSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption @@ -8470,10 +8489,10 @@ type CopyObjectInput struct { // Specifies whether you want to apply a Legal Hold to the copied object. ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"` - // The Object Lock mode that you want to apply to the copied object. + // The object lock mode that you want to apply to the copied object. ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"` - // The date and time when you want the copied object's Object Lock to expire. + // The date and time when you want the copied object's object lock to expire. ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` // Confirms that the requester knows that she or he will be charged for the @@ -8490,18 +8509,23 @@ type CopyObjectInput struct { // does not store the encryption key. The key must be appropriate for use with // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm // header. - SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` + SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption // key was transmitted without error. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` + // Specifies the AWS KMS Encryption Context to use for object encryption. The + // value of this header is a base64-encoded UTF-8 string holding JSON with the + // encryption context key-value pairs. + SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"` + // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT // requests for an object protected by AWS KMS will fail if not made via SSL // or using SigV4. Documentation on configuring any of the officially supported // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version - SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` + SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). @@ -8541,6 +8565,9 @@ func (s *CopyObjectInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.CopySource == nil { invalidParams.Add(request.NewErrParamRequired("CopySource")) } @@ -8758,6 +8785,12 @@ func (s *CopyObjectInput) SetSSECustomerKeyMD5(v string) *CopyObjectInput { return s } +// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value. +func (s *CopyObjectInput) SetSSEKMSEncryptionContext(v string) *CopyObjectInput { + s.SSEKMSEncryptionContext = &v + return s +} + // SetSSEKMSKeyId sets the SSEKMSKeyId field's value. func (s *CopyObjectInput) SetSSEKMSKeyId(v string) *CopyObjectInput { s.SSEKMSKeyId = &v @@ -8818,9 +8851,14 @@ type CopyObjectOutput struct { // verification of the customer-provided encryption key. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` + // If present, specifies the AWS KMS Encryption Context to use for object encryption. + // The value of this header is a base64-encoded UTF-8 string holding JSON with + // the encryption context key-value pairs. + SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"` + // If present, specifies the ID of the AWS Key Management Service (KMS) master // encryption key that was used for the object. - SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` + SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). @@ -8876,6 +8914,12 @@ func (s *CopyObjectOutput) SetSSECustomerKeyMD5(v string) *CopyObjectOutput { return s } +// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value. +func (s *CopyObjectOutput) SetSSEKMSEncryptionContext(v string) *CopyObjectOutput { + s.SSEKMSEncryptionContext = &v + return s +} + // SetSSEKMSKeyId sets the SSEKMSKeyId field's value. func (s *CopyObjectOutput) SetSSEKMSKeyId(v string) *CopyObjectOutput { s.SSEKMSKeyId = &v @@ -8960,7 +9004,7 @@ type CreateBucketConfiguration struct { _ struct{} `type:"structure"` // Specifies the region where the bucket will be created. If you don't specify - // a region, the bucket will be created in US Standard. + // a region, the bucket is created in US East (N. Virginia) Region (us-east-1). LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"` } @@ -9007,7 +9051,8 @@ type CreateBucketInput struct { // Allows grantee to write the ACL for the applicable bucket. GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` - // Specifies whether you want S3 Object Lock to be enabled for the new bucket. + // Specifies whether you want Amazon S3 object lock to be enabled for the new + // bucket. ObjectLockEnabledForBucket *bool `location:"header" locationName:"x-amz-bucket-object-lock-enabled" type:"boolean"` } @@ -9027,6 +9072,9 @@ func (s *CreateBucketInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -9167,10 +9215,10 @@ type CreateMultipartUploadInput struct { // Specifies whether you want to apply a Legal Hold to the uploaded object. ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"` - // Specifies the Object Lock mode that you want to apply to the uploaded object. + // Specifies the object lock mode that you want to apply to the uploaded object. ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"` - // Specifies the date and time when you want the Object Lock to expire. + // Specifies the date and time when you want the object lock to expire. ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` // Confirms that the requester knows that she or he will be charged for the @@ -9187,18 +9235,23 @@ type CreateMultipartUploadInput struct { // does not store the encryption key. The key must be appropriate for use with // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm // header. - SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` + SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption // key was transmitted without error. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` + // Specifies the AWS KMS Encryption Context to use for object encryption. The + // value of this header is a base64-encoded UTF-8 string holding JSON with the + // encryption context key-value pairs. + SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"` + // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT // requests for an object protected by AWS KMS will fail if not made via SSL // or using SigV4. Documentation on configuring any of the officially supported // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version - SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` + SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). @@ -9232,6 +9285,9 @@ func (s *CreateMultipartUploadInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -9385,6 +9441,12 @@ func (s *CreateMultipartUploadInput) SetSSECustomerKeyMD5(v string) *CreateMulti return s } +// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value. +func (s *CreateMultipartUploadInput) SetSSEKMSEncryptionContext(v string) *CreateMultipartUploadInput { + s.SSEKMSEncryptionContext = &v + return s +} + // SetSSEKMSKeyId sets the SSEKMSKeyId field's value. func (s *CreateMultipartUploadInput) SetSSEKMSKeyId(v string) *CreateMultipartUploadInput { s.SSEKMSKeyId = &v @@ -9445,9 +9507,14 @@ type CreateMultipartUploadOutput struct { // verification of the customer-provided encryption key. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` + // If present, specifies the AWS KMS Encryption Context to use for object encryption. + // The value of this header is a base64-encoded UTF-8 string holding JSON with + // the encryption context key-value pairs. + SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"` + // If present, specifies the ID of the AWS Key Management Service (KMS) master // encryption key that was used for the object. - SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` + SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). @@ -9516,6 +9583,12 @@ func (s *CreateMultipartUploadOutput) SetSSECustomerKeyMD5(v string) *CreateMult return s } +// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value. +func (s *CreateMultipartUploadOutput) SetSSEKMSEncryptionContext(v string) *CreateMultipartUploadOutput { + s.SSEKMSEncryptionContext = &v + return s +} + // SetSSEKMSKeyId sets the SSEKMSKeyId field's value. func (s *CreateMultipartUploadOutput) SetSSEKMSKeyId(v string) *CreateMultipartUploadOutput { s.SSEKMSKeyId = &v @@ -9534,7 +9607,7 @@ func (s *CreateMultipartUploadOutput) SetUploadId(v string) *CreateMultipartUplo return s } -// The container element for specifying the default Object Lock retention settings +// The container element for specifying the default object lock retention settings // for new objects placed in the specified bucket. type DefaultRetention struct { _ struct{} `type:"structure"` @@ -9542,7 +9615,7 @@ type DefaultRetention struct { // The number of days that you want to specify for the default retention period. Days *int64 `type:"integer"` - // The default Object Lock retention mode you want to apply to new objects placed + // The default object lock retention mode you want to apply to new objects placed // in the specified bucket. Mode *string `type:"string" enum:"ObjectLockRetentionMode"` @@ -9642,7 +9715,7 @@ type DeleteBucketAnalyticsConfigurationInput struct { // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` - // The identifier used to represent an analytics configuration. + // The ID that identifies the analytics configuration. // // Id is a required field Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` @@ -9664,6 +9737,9 @@ func (s *DeleteBucketAnalyticsConfigurationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -9730,6 +9806,9 @@ func (s *DeleteBucketCorsInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -9790,6 +9869,9 @@ func (s *DeleteBucketEncryptionInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -9847,6 +9929,9 @@ func (s *DeleteBucketInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -9897,6 +9982,9 @@ func (s *DeleteBucketInventoryConfigurationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -9963,6 +10051,9 @@ func (s *DeleteBucketLifecycleInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -10027,6 +10118,9 @@ func (s *DeleteBucketMetricsConfigurationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -10107,6 +10201,9 @@ func (s *DeleteBucketPolicyInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -10169,6 +10266,9 @@ func (s *DeleteBucketReplicationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -10226,6 +10326,9 @@ func (s *DeleteBucketTaggingInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -10283,6 +10386,9 @@ func (s *DeleteBucketWebsiteInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -10409,7 +10515,7 @@ type DeleteObjectInput struct { // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` - // Indicates whether S3 Object Lock should bypass Governance-mode restrictions + // Indicates whether Amazon S3 object lock should bypass governance-mode restrictions // to process this operation. BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"` @@ -10446,6 +10552,9 @@ func (s *DeleteObjectInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -10575,6 +10684,9 @@ func (s *DeleteObjectTaggingInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -10643,7 +10755,7 @@ type DeleteObjectsInput struct { Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Specifies whether you want to delete this object even if it has a Governance-type - // Object Lock in place. You must have sufficient permissions to perform this + // object lock in place. You must have sufficient permissions to perform this // operation. BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"` @@ -10677,6 +10789,9 @@ func (s *DeleteObjectsInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Delete == nil { invalidParams.Add(request.NewErrParamRequired("Delete")) } @@ -10794,6 +10909,9 @@ func (s *DeletePublicAccessBlockInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -10874,33 +10992,33 @@ func (s *DeletedObject) SetVersionId(v string) *DeletedObject { return s } -// A container for information about the replication destination. +// Specifies information about where to publish analysis or configuration results +// for an Amazon S3 bucket. type Destination struct { _ struct{} `type:"structure"` - // A container for information about access control for replicas. - // - // Use this element only in a cross-account scenario where source and destination - // bucket owners are not the same to change replica ownership to the AWS account - // that owns the destination bucket. If you don't add this element to the replication - // configuration, the replicas are owned by same AWS account that owns the source - // object. + // Specify this only in a cross-account scenario (where source and destination + // bucket owners are not the same), and you want to change replica ownership + // to the AWS account that owns the destination bucket. If this is not specified + // in the replication configuration, the replicas are owned by same AWS account + // that owns the source object. AccessControlTranslation *AccessControlTranslation `type:"structure"` - // The account ID of the destination bucket. Currently, Amazon S3 verifies this - // value only if Access Control Translation is enabled. - // - // In a cross-account scenario, if you change replica ownership to the AWS account - // that owns the destination bucket by adding the AccessControlTranslation element, - // this is the account ID of the owner of the destination bucket. + // Destination bucket owner account ID. In a cross-account scenario, if you + // direct Amazon S3 to change replica ownership to the AWS account that owns + // the destination bucket by specifying the AccessControlTranslation property, + // this is the account ID of the destination bucket owner. For more information, + // see Cross-Region Replication Additional Configuration: Change Replica Owner + // (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in + // the Amazon Simple Storage Service Developer Guide. Account *string `type:"string"` // The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to // store replicas of the object identified by the rule. // - // If there are multiple rules in your replication configuration, all rules - // must specify the same bucket as the destination. A replication configuration - // can replicate objects to only one destination bucket. + // A replication configuration can replicate objects to only one destination + // bucket. If there are multiple rules in your replication configuration, all + // rules must specify the same destination bucket. // // Bucket is a required field Bucket *string `type:"string" required:"true"` @@ -10909,8 +11027,13 @@ type Destination struct { // is specified, you must specify this element. EncryptionConfiguration *EncryptionConfiguration `type:"structure"` - // The class of storage used to store the object. By default Amazon S3 uses - // storage class of the source object when creating a replica. + // The storage class to use when replicating objects, such as standard or reduced + // redundancy. By default, Amazon S3 uses the storage class of the source object + // to create the object replica. + // + // For valid values, see the StorageClass element of the PUT Bucket replication + // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) + // action in the Amazon Simple Storage Service API Reference. StorageClass *string `type:"string" enum:"StorageClass"` } @@ -10996,7 +11119,7 @@ type Encryption struct { // If the encryption type is aws:kms, this optional value specifies the AWS // KMS key ID to use for encryption of job results. - KMSKeyId *string `type:"string"` + KMSKeyId *string `type:"string" sensitive:"true"` } // String returns the string representation @@ -11040,13 +11163,13 @@ func (s *Encryption) SetKMSKeyId(v string) *Encryption { return s } -// A container for information about the encryption-based configuration for -// replicas. +// Specifies encryption-related information for an Amazon S3 bucket that is +// a destination for replicated objects. type EncryptionConfiguration struct { _ struct{} `type:"structure"` - // The ID of the AWS KMS key for the AWS Region where the destination bucket - // resides. Amazon S3 uses this key to encrypt the replica object. + // Specifies the AWS KMS Key ID (Key ARN or Alias ARN) for the destination bucket. + // Amazon S3 uses this key to encrypt replica objects. ReplicaKmsKeyID *string `type:"string"` } @@ -11179,18 +11302,19 @@ func (s *ErrorDocument) SetKey(v string) *ErrorDocument { return s } -// A container for a key value pair that defines the criteria for the filter -// rule. +// Specifies the Amazon S3 object key name to filter on and whether to filter +// on the suffix or prefix of the key name. type FilterRule struct { _ struct{} `type:"structure"` // The object key name prefix or suffix identifying one or more objects to which - // the filtering rule applies. The maximum prefix length is 1,024 characters. - // Overlapping prefixes and suffixes are not supported. For more information, - // see Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) + // the filtering rule applies. The maximum length is 1,024 characters. Overlapping + // prefixes and suffixes are not supported. For more information, see Configuring + // Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) // in the Amazon Simple Storage Service Developer Guide. Name *string `type:"string" enum:"FilterRuleName"` + // The value that the filter searches for in object key names. Value *string `type:"string"` } @@ -11241,6 +11365,9 @@ func (s *GetBucketAccelerateConfigurationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -11307,6 +11434,9 @@ func (s *GetBucketAclInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -11366,7 +11496,7 @@ type GetBucketAnalyticsConfigurationInput struct { // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` - // The identifier used to represent an analytics configuration. + // The ID that identifies the analytics configuration. // // Id is a required field Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` @@ -11388,6 +11518,9 @@ func (s *GetBucketAnalyticsConfigurationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -11463,6 +11596,9 @@ func (s *GetBucketCorsInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -11531,6 +11667,9 @@ func (s *GetBucketEncryptionInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -11554,8 +11693,7 @@ func (s *GetBucketEncryptionInput) getBucket() (v string) { type GetBucketEncryptionOutput struct { _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"` - // Container for server-side encryption configuration rules. Currently S3 supports - // one rule only. + // Specifies the default server-side-encryption configuration. ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"` } @@ -11605,6 +11743,9 @@ func (s *GetBucketInventoryConfigurationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -11680,6 +11821,9 @@ func (s *GetBucketLifecycleConfigurationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -11745,6 +11889,9 @@ func (s *GetBucketLifecycleInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -11810,6 +11957,9 @@ func (s *GetBucketLocationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -11875,6 +12025,9 @@ func (s *GetBucketLoggingInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -11898,9 +12051,10 @@ func (s *GetBucketLoggingInput) getBucket() (v string) { type GetBucketLoggingOutput struct { _ struct{} `type:"structure"` - // Container for logging information. Presence of this element indicates that - // logging is enabled. Parameters TargetBucket and TargetPrefix are required - // in this case. + // Describes where logs are stored and the prefix that Amazon S3 assigns to + // all log object keys for a bucket. For more information, see PUT Bucket logging + // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) + // in the Amazon Simple Storage Service API Reference. LoggingEnabled *LoggingEnabled `type:"structure"` } @@ -11950,6 +12104,9 @@ func (s *GetBucketMetricsConfigurationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -12027,6 +12184,9 @@ func (s *GetBucketNotificationConfigurationRequest) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -12070,6 +12230,9 @@ func (s *GetBucketPolicyInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -12138,6 +12301,9 @@ func (s *GetBucketPolicyStatusInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -12204,6 +12370,9 @@ func (s *GetBucketReplicationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -12271,6 +12440,9 @@ func (s *GetBucketRequestPaymentInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -12337,6 +12509,9 @@ func (s *GetBucketTaggingInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -12403,6 +12578,9 @@ func (s *GetBucketVersioningInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -12480,6 +12658,9 @@ func (s *GetBucketWebsiteInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -12507,6 +12688,8 @@ type GetBucketWebsiteOutput struct { IndexDocument *IndexDocument `type:"structure"` + // Specifies the redirect behavior of all requests to a website endpoint of + // an Amazon S3 bucket. RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"` RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"` @@ -12581,6 +12764,9 @@ func (s *GetObjectAclInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -12732,7 +12918,7 @@ type GetObjectInput struct { // does not store the encryption key. The key must be appropriate for use with // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm // header. - SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` + SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption @@ -12759,6 +12945,9 @@ func (s *GetObjectInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -12939,6 +13128,9 @@ func (s *GetObjectLegalHoldInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -13009,7 +13201,7 @@ func (s *GetObjectLegalHoldOutput) SetLegalHold(v *ObjectLockLegalHold) *GetObje type GetObjectLockConfigurationInput struct { _ struct{} `type:"structure"` - // The bucket whose Object Lock configuration you want to retrieve. + // The bucket whose object lock configuration you want to retrieve. // // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` @@ -13031,6 +13223,9 @@ func (s *GetObjectLockConfigurationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -13054,7 +13249,7 @@ func (s *GetObjectLockConfigurationInput) getBucket() (v string) { type GetObjectLockConfigurationOutput struct { _ struct{} `type:"structure" payload:"ObjectLockConfiguration"` - // The specified bucket's Object Lock configuration. + // The specified bucket's object lock configuration. ObjectLockConfiguration *ObjectLockConfiguration `type:"structure"` } @@ -13138,10 +13333,10 @@ type GetObjectOutput struct { // returned if you have permission to view an object's legal hold status. ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"` - // The Object Lock mode currently in place for this object. + // The object lock mode currently in place for this object. ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"` - // The date and time when this object's Object Lock will expire. + // The date and time when this object's object lock will expire. ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` // The count of parts this object has. @@ -13169,7 +13364,7 @@ type GetObjectOutput struct { // If present, specifies the ID of the AWS Key Management Service (KMS) master // encryption key that was used for the object. - SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` + SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). @@ -13424,6 +13619,9 @@ func (s *GetObjectRetentionInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -13519,6 +13717,9 @@ func (s *GetObjectTaggingInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -13620,6 +13821,9 @@ func (s *GetObjectTorrentInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -13716,6 +13920,9 @@ func (s *GetPublicAccessBlockInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -13941,6 +14148,9 @@ func (s *HeadBucketInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -14024,7 +14234,7 @@ type HeadObjectInput struct { // does not store the encryption key. The key must be appropriate for use with // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm // header. - SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` + SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption @@ -14051,6 +14261,9 @@ func (s *HeadObjectInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -14213,10 +14426,10 @@ type HeadObjectOutput struct { // The Legal Hold status for the specified object. ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"` - // The Object Lock mode currently in place for this object. + // The object lock mode currently in place for this object. ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"` - // The date and time when this object's Object Lock will expire. + // The date and time when this object's object lock expires. ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` // The count of parts this object has. @@ -14244,7 +14457,7 @@ type HeadObjectOutput struct { // If present, specifies the ID of the AWS Key Management Service (KMS) master // encryption key that was used for the object. - SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` + SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). @@ -14565,6 +14778,9 @@ func (s *InputSerialization) SetParquet(v *ParquetInput) *InputSerialization { return s } +// Specifies the inventory configuration for an Amazon S3 bucket. For more information, +// see GET Bucket inventory (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) +// in the Amazon Simple Storage Service API Reference. type InventoryConfiguration struct { _ struct{} `type:"structure"` @@ -14582,12 +14798,16 @@ type InventoryConfiguration struct { // Id is a required field Id *string `type:"string" required:"true"` - // Specifies which object version(s) to included in the inventory results. + // Object versions to include in the inventory list. If set to All, the list + // includes all the object versions, which adds the version-related fields VersionId, + // IsLatest, and DeleteMarker to the list. If set to Current, the list does + // not contain these version-related fields. // // IncludedObjectVersions is a required field IncludedObjectVersions *string `type:"string" required:"true" enum:"InventoryIncludedObjectVersions"` - // Specifies whether the inventory is enabled or disabled. + // Specifies whether the inventory is enabled or disabled. If set to True, an + // inventory list is generated. If set to False, no inventory list is generated. // // IsEnabled is a required field IsEnabled *bool `type:"boolean" required:"true"` @@ -15030,11 +15250,15 @@ func (s *KeyFilter) SetFilterRules(v []*FilterRule) *KeyFilter { type LambdaFunctionConfiguration struct { _ struct{} `type:"structure"` + // The Amazon S3 bucket event for which to invoke the AWS Lambda function. For + // more information, see Supported Event Types (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) + // in the Amazon Simple Storage Service Developer Guide. + // // Events is a required field Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` - // A container for object key name filtering rules. For information about key - // name filtering, see Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) + // Specifies object key name filtering rules. For information about key name + // filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) // in the Amazon Simple Storage Service Developer Guide. Filter *NotificationConfigurationFilter `type:"structure"` @@ -15042,8 +15266,8 @@ type LambdaFunctionConfiguration struct { // If you don't provide one, Amazon S3 will assign an ID. Id *string `type:"string"` - // The Amazon Resource Name (ARN) of the Lambda cloud function that Amazon S3 - // can invoke when it detects events of the specified type. + // The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 + // invokes when the specified event type occurs. // // LambdaFunctionArn is a required field LambdaFunctionArn *string `locationName:"CloudFunction" type:"string" required:"true"` @@ -15194,8 +15418,11 @@ func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExp type LifecycleRule struct { _ struct{} `type:"structure"` - // Specifies the days since the initiation of an Incomplete Multipart Upload - // that Lifecycle will wait before permanently removing all parts of the upload. + // Specifies the days since the initiation of an incomplete multipart upload + // that Amazon S3 will wait before permanently removing all parts of the upload. + // For more information, see Aborting Incomplete Multipart Uploads Using a Bucket + // Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) + // in the Amazon Simple Storage Service Developer Guide. AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"` Expiration *LifecycleExpiration `type:"structure"` @@ -15217,7 +15444,7 @@ type LifecycleRule struct { NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationName:"NoncurrentVersionTransition" type:"list" flattened:"true"` // Prefix identifying one or more objects to which the rule applies. This is - // deprecated; use Filter instead. + // No longer used; use Filter instead. // // Deprecated: Prefix has been deprecated Prefix *string `deprecated:"true" type:"string"` @@ -15462,6 +15689,9 @@ func (s *ListBucketAnalyticsConfigurationsInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -15573,6 +15803,9 @@ func (s *ListBucketInventoryConfigurationsInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -15684,6 +15917,9 @@ func (s *ListBucketMetricsConfigurationsInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -15862,6 +16098,9 @@ func (s *ListMultipartUploadsInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -16098,6 +16337,9 @@ func (s *ListObjectVersionsInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -16330,6 +16572,9 @@ func (s *ListObjectsInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -16547,6 +16792,9 @@ func (s *ListObjectsV2Input) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -16792,6 +17040,9 @@ func (s *ListPartsInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -17128,9 +17379,10 @@ func (s *Location) SetUserMetadata(v []*MetadataEntry) *Location { return s } -// Container for logging information. Presence of this element indicates that -// logging is enabled. Parameters TargetBucket and TargetPrefix are required -// in this case. +// Describes where logs are stored and the prefix that Amazon S3 assigns to +// all log object keys for a bucket. For more information, see PUT Bucket logging +// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) +// in the Amazon Simple Storage Service API Reference. type LoggingEnabled struct { _ struct{} `type:"structure"` @@ -17146,8 +17398,9 @@ type LoggingEnabled struct { TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"` - // This element lets you specify a prefix for the keys that the log files will - // be stored under. + // A prefix for all log object keys. If you store log files from multiple Amazon + // S3 buckets in a single bucket, you can use a prefix to distinguish which + // log files came from which bucket. // // TargetPrefix is a required field TargetPrefix *string `type:"string" required:"true"` @@ -17290,6 +17543,13 @@ func (s *MetricsAndOperator) SetTags(v []*Tag) *MetricsAndOperator { return s } +// Specifies a metrics configuration for the CloudWatch request metrics (specified +// by the metrics configuration ID) from an Amazon S3 bucket. If you're updating +// an existing metrics configuration, note that this is a full replacement of +// the existing metrics configuration. If you don't include the elements you +// want to keep, they are erased. For more information, see PUT Bucket metrics +// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) +// in the Amazon Simple Storage Service API Reference. type MetricsConfiguration struct { _ struct{} `type:"structure"` @@ -17485,8 +17745,8 @@ type NoncurrentVersionExpiration struct { // Specifies the number of days an object is noncurrent before Amazon S3 can // perform the associated action. For information about the noncurrent days // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent - // (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) in - // the Amazon Simple Storage Service Developer Guide. + // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) + // in the Amazon Simple Storage Service Developer Guide. NoncurrentDays *int64 `type:"integer"` } @@ -17507,19 +17767,20 @@ func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVers } // Container for the transition rule that describes when noncurrent objects -// transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING or GLACIER -// storage class. If your bucket is versioning-enabled (or versioning is suspended), -// you can set this action to request that Amazon S3 transition noncurrent object -// versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING or GLACIER storage -// class at a specific period in the object's lifetime. +// transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, +// or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning +// is suspended), you can set this action to request that Amazon S3 transition +// noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, +// GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's +// lifetime. type NoncurrentVersionTransition struct { _ struct{} `type:"structure"` // Specifies the number of days an object is noncurrent before Amazon S3 can // perform the associated action. For information about the noncurrent days // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent - // (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) in - // the Amazon Simple Storage Service Developer Guide. + // (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) + // in the Amazon Simple Storage Service Developer Guide. NoncurrentDays *int64 `type:"integer"` // The class of storage used to store the object. @@ -17553,10 +17814,16 @@ func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersi type NotificationConfiguration struct { _ struct{} `type:"structure"` + // Describes the AWS Lambda functions to invoke and the events for which to + // invoke them. LambdaFunctionConfigurations []*LambdaFunctionConfiguration `locationName:"CloudFunctionConfiguration" type:"list" flattened:"true"` + // The Amazon Simple Queue Service queues to publish messages to and the events + // for which to publish messages. QueueConfigurations []*QueueConfiguration `locationName:"QueueConfiguration" type:"list" flattened:"true"` + // The topic to which notifications are sent and the events for which notifications + // are generated. TopicConfigurations []*TopicConfiguration `locationName:"TopicConfiguration" type:"list" flattened:"true"` } @@ -17666,8 +17933,8 @@ func (s *NotificationConfigurationDeprecated) SetTopicConfiguration(v *TopicConf return s } -// A container for object key name filtering rules. For information about key -// name filtering, see Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) +// Specifies object key name filtering rules. For information about key name +// filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) // in the Amazon Simple Storage Service Developer Guide. type NotificationConfigurationFilter struct { _ struct{} `type:"structure"` @@ -17805,14 +18072,14 @@ func (s *ObjectIdentifier) SetVersionId(v string) *ObjectIdentifier { return s } -// The container element for Object Lock configuration parameters. +// The container element for object lock configuration parameters. type ObjectLockConfiguration struct { _ struct{} `type:"structure"` - // Indicates whether this bucket has an Object Lock configuration enabled. + // Indicates whether this bucket has an object lock configuration enabled. ObjectLockEnabled *string `type:"string" enum:"ObjectLockEnabled"` - // The Object Lock rule in place for the specified object. + // The object lock rule in place for the specified object. Rule *ObjectLockRule `type:"structure"` } @@ -17869,7 +18136,7 @@ type ObjectLockRetention struct { // Indicates the Retention mode for the specified object. Mode *string `type:"string" enum:"ObjectLockRetentionMode"` - // The date on which this Object Lock Retention will expire. + // The date on which this object lock retention expires. RetainUntilDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` } @@ -17895,7 +18162,7 @@ func (s *ObjectLockRetention) SetRetainUntilDate(v time.Time) *ObjectLockRetenti return s } -// The container element for an Object Lock rule. +// The container element for an object lock rule. type ObjectLockRule struct { _ struct{} `type:"structure"` @@ -18278,6 +18545,7 @@ func (s *ProgressEvent) UnmarshalEvent( return nil } +// Specifies the Block Public Access configuration for an Amazon S3 bucket. type PublicAccessBlockConfiguration struct { _ struct{} `type:"structure"` @@ -18386,6 +18654,9 @@ func (s *PutBucketAccelerateConfigurationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -18432,6 +18703,7 @@ type PutBucketAclInput struct { // The canned ACL to apply to the bucket. ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"` + // Contains the elements that set the ACL permissions for an object per grantee. AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` // Bucket is a required field @@ -18470,6 +18742,9 @@ func (s *PutBucketAclInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.AccessControlPolicy != nil { if err := s.AccessControlPolicy.Validate(); err != nil { invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams)) @@ -18564,7 +18839,7 @@ type PutBucketAnalyticsConfigurationInput struct { // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` - // The identifier used to represent an analytics configuration. + // The ID that identifies the analytics configuration. // // Id is a required field Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` @@ -18589,6 +18864,9 @@ func (s *PutBucketAnalyticsConfigurationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -18649,6 +18927,11 @@ type PutBucketCorsInput struct { // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // Describes the cross-origin access configuration for objects in an Amazon + // S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing + // (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the Amazon + // Simple Storage Service Developer Guide. + // // CORSConfiguration is a required field CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` } @@ -18669,6 +18952,9 @@ func (s *PutBucketCorsInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.CORSConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("CORSConfiguration")) } @@ -18720,14 +19006,16 @@ func (s PutBucketCorsOutput) GoString() string { type PutBucketEncryptionInput struct { _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"` - // The name of the bucket for which the server-side encryption configuration - // is set. + // Specifies default encryption for a bucket using server-side encryption with + // Amazon S3-managed keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS). For information + // about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket + // Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) + // in the Amazon Simple Storage Service Developer Guide. // // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` - // Container for server-side encryption configuration rules. Currently S3 supports - // one rule only. + // Specifies the default server-side-encryption configuration. // // ServerSideEncryptionConfiguration is a required field ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"ServerSideEncryptionConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` @@ -18749,6 +19037,9 @@ func (s *PutBucketEncryptionInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.ServerSideEncryptionConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("ServerSideEncryptionConfiguration")) } @@ -18832,6 +19123,9 @@ func (s *PutBucketInventoryConfigurationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -18895,6 +19189,9 @@ type PutBucketLifecycleConfigurationInput struct { // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // Specifies the lifecycle configuration for objects in an Amazon S3 bucket. + // For more information, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) + // in the Amazon Simple Storage Service Developer Guide. LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` } @@ -18914,6 +19211,9 @@ func (s *PutBucketLifecycleConfigurationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.LifecycleConfiguration != nil { if err := s.LifecycleConfiguration.Validate(); err != nil { invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams)) @@ -18984,6 +19284,9 @@ func (s *PutBucketLifecycleInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.LifecycleConfiguration != nil { if err := s.LifecycleConfiguration.Validate(); err != nil { invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams)) @@ -19055,6 +19358,9 @@ func (s *PutBucketLoggingInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.BucketLoggingStatus == nil { invalidParams.Add(request.NewErrParamRequired("BucketLoggingStatus")) } @@ -19138,6 +19444,9 @@ func (s *PutBucketMetricsConfigurationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -19224,6 +19533,9 @@ func (s *PutBucketNotificationConfigurationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.NotificationConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration")) } @@ -19298,6 +19610,9 @@ func (s *PutBucketNotificationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.NotificationConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration")) } @@ -19373,6 +19688,9 @@ func (s *PutBucketPolicyInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Policy == nil { invalidParams.Add(request.NewErrParamRequired("Policy")) } @@ -19433,6 +19751,9 @@ type PutBucketReplicationInput struct { // // ReplicationConfiguration is a required field ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` + + // A token that allows Amazon S3 object lock to be enabled for an existing bucket. + Token *string `location:"header" locationName:"x-amz-bucket-object-lock-token" type:"string"` } // String returns the string representation @@ -19451,6 +19772,9 @@ func (s *PutBucketReplicationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.ReplicationConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("ReplicationConfiguration")) } @@ -19485,6 +19809,12 @@ func (s *PutBucketReplicationInput) SetReplicationConfiguration(v *ReplicationCo return s } +// SetToken sets the Token field's value. +func (s *PutBucketReplicationInput) SetToken(v string) *PutBucketReplicationInput { + s.Token = &v + return s +} + type PutBucketReplicationOutput struct { _ struct{} `type:"structure"` } @@ -19525,6 +19855,9 @@ func (s *PutBucketRequestPaymentInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.RequestPaymentConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("RequestPaymentConfiguration")) } @@ -19599,6 +19932,9 @@ func (s *PutBucketTaggingInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Tagging == nil { invalidParams.Add(request.NewErrParamRequired("Tagging")) } @@ -19657,6 +19993,10 @@ type PutBucketVersioningInput struct { // and the value that is displayed on your authentication device. MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` + // Describes the versioning state of an Amazon S3 bucket. For more information, + // see PUT Bucket versioning (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html) + // in the Amazon Simple Storage Service API Reference. + // // VersioningConfiguration is a required field VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` } @@ -19677,6 +20017,9 @@ func (s *PutBucketVersioningInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.VersioningConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("VersioningConfiguration")) } @@ -19732,6 +20075,8 @@ type PutBucketWebsiteInput struct { // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // Specifies website configuration parameters for an Amazon S3 bucket. + // // WebsiteConfiguration is a required field WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` } @@ -19752,6 +20097,9 @@ func (s *PutBucketWebsiteInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.WebsiteConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("WebsiteConfiguration")) } @@ -19806,6 +20154,7 @@ type PutObjectAclInput struct { // The canned ACL to apply to the object. ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` + // Contains the elements that set the ACL permissions for an object per grantee. AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` // Bucket is a required field @@ -19856,6 +20205,9 @@ func (s *PutObjectAclInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -20003,7 +20355,9 @@ type PutObjectInput struct { // body cannot be determined automatically. ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` - // The base64-encoded 128-bit MD5 digest of the part data. + // The base64-encoded 128-bit MD5 digest of the part data. This parameter is + // auto-populated when using the command from the CLI. This parameted is required + // if object lock parameters are specified. ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"` // A standard MIME type describing the format of the object data. @@ -20035,10 +20389,10 @@ type PutObjectInput struct { // The Legal Hold status that you want to apply to the specified object. ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"` - // The Object Lock mode that you want to apply to this object. + // The object lock mode that you want to apply to this object. ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"` - // The date and time when you want this object's Object Lock to expire. + // The date and time when you want this object's object lock to expire. ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` // Confirms that the requester knows that she or he will be charged for the @@ -20055,18 +20409,23 @@ type PutObjectInput struct { // does not store the encryption key. The key must be appropriate for use with // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm // header. - SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` + SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption // key was transmitted without error. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` + // Specifies the AWS KMS Encryption Context to use for object encryption. The + // value of this header is a base64-encoded UTF-8 string holding JSON with the + // encryption context key-value pairs. + SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"` + // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT // requests for an object protected by AWS KMS will fail if not made via SSL // or using SigV4. Documentation on configuring any of the officially supported // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version - SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` + SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). @@ -20101,6 +20460,9 @@ func (s *PutObjectInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -20272,6 +20634,12 @@ func (s *PutObjectInput) SetSSECustomerKeyMD5(v string) *PutObjectInput { return s } +// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value. +func (s *PutObjectInput) SetSSEKMSEncryptionContext(v string) *PutObjectInput { + s.SSEKMSEncryptionContext = &v + return s +} + // SetSSEKMSKeyId sets the SSEKMSKeyId field's value. func (s *PutObjectInput) SetSSEKMSKeyId(v string) *PutObjectInput { s.SSEKMSKeyId = &v @@ -20345,6 +20713,9 @@ func (s *PutObjectLegalHoldInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -20422,12 +20793,12 @@ func (s *PutObjectLegalHoldOutput) SetRequestCharged(v string) *PutObjectLegalHo type PutObjectLockConfigurationInput struct { _ struct{} `type:"structure" payload:"ObjectLockConfiguration"` - // The bucket whose Object Lock configuration you want to create or replace. + // The bucket whose object lock configuration you want to create or replace. // // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` - // The Object Lock configuration that you want to apply to the specified bucket. + // The object lock configuration that you want to apply to the specified bucket. ObjectLockConfiguration *ObjectLockConfiguration `locationName:"ObjectLockConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` // Confirms that the requester knows that she or he will be charged for the @@ -20436,6 +20807,7 @@ type PutObjectLockConfigurationInput struct { // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` + // A token to allow Amazon S3 object lock to be enabled for an existing bucket. Token *string `location:"header" locationName:"x-amz-bucket-object-lock-token" type:"string"` } @@ -20455,6 +20827,9 @@ func (s *PutObjectLockConfigurationInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -20541,9 +20916,14 @@ type PutObjectOutput struct { // verification of the customer-provided encryption key. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` + // If present, specifies the AWS KMS Encryption Context to use for object encryption. + // The value of this header is a base64-encoded UTF-8 string holding JSON with + // the encryption context key-value pairs. + SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"` + // If present, specifies the ID of the AWS Key Management Service (KMS) master // encryption key that was used for the object. - SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` + SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). @@ -20593,6 +20973,12 @@ func (s *PutObjectOutput) SetSSECustomerKeyMD5(v string) *PutObjectOutput { return s } +// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value. +func (s *PutObjectOutput) SetSSEKMSEncryptionContext(v string) *PutObjectOutput { + s.SSEKMSEncryptionContext = &v + return s +} + // SetSSEKMSKeyId sets the SSEKMSKeyId field's value. func (s *PutObjectOutput) SetSSEKMSKeyId(v string) *PutObjectOutput { s.SSEKMSKeyId = &v @@ -20659,6 +21045,9 @@ func (s *PutObjectRetentionInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -20770,6 +21159,9 @@ func (s *PutObjectTaggingInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -20879,6 +21271,9 @@ func (s *PutPublicAccessBlockInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.PublicAccessBlockConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("PublicAccessBlockConfiguration")) } @@ -20922,17 +21317,16 @@ func (s PutPublicAccessBlockOutput) GoString() string { return s.String() } -// A container for specifying the configuration for publication of messages -// to an Amazon Simple Queue Service (Amazon SQS) queue.when Amazon S3 detects -// specified events. +// Specifies the configuration for publishing messages to an Amazon Simple Queue +// Service (Amazon SQS) queue when Amazon S3 detects specified events. type QueueConfiguration struct { _ struct{} `type:"structure"` // Events is a required field Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` - // A container for object key name filtering rules. For information about key - // name filtering, see Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) + // Specifies object key name filtering rules. For information about key name + // filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) // in the Amazon Simple Storage Service Developer Guide. Filter *NotificationConfigurationFilter `type:"structure"` @@ -20941,7 +21335,7 @@ type QueueConfiguration struct { Id *string `type:"string"` // The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 - // will publish a message when it detects events of the specified type. + // publishes a message when it detects events of the specified type. // // QueueArn is a required field QueueArn *string `locationName:"Queue" type:"string" required:"true"` @@ -21087,6 +21481,8 @@ func (s *RecordsEvent) UnmarshalEvent( return nil } +// Specifies how requests are redirected. In the event of an error, you can +// specify a different error code to return. type Redirect struct { _ struct{} `type:"structure"` @@ -21097,8 +21493,8 @@ type Redirect struct { // siblings is present. HttpRedirectCode *string `type:"string"` - // Protocol to use (http, https) when redirecting requests. The default is the - // protocol that is used in the original request. + // Protocol to use when redirecting requests. The default is the protocol that + // is used in the original request. Protocol *string `type:"string" enum:"Protocol"` // The object key prefix to use in the redirect request. For example, to redirect @@ -21110,7 +21506,7 @@ type Redirect struct { ReplaceKeyPrefixWith *string `type:"string"` // The specific object key to use in the redirect request. For example, redirect - // request to error.html. Not required if one of the sibling is present. Can + // request to error.html. Not required if one of the siblings is present. Can // be present only if ReplaceKeyPrefixWith is not provided. ReplaceKeyWith *string `type:"string"` } @@ -21155,16 +21551,18 @@ func (s *Redirect) SetReplaceKeyWith(v string) *Redirect { return s } +// Specifies the redirect behavior of all requests to a website endpoint of +// an Amazon S3 bucket. type RedirectAllRequestsTo struct { _ struct{} `type:"structure"` - // Name of the host where requests will be redirected. + // Name of the host where requests are redirected. // // HostName is a required field HostName *string `type:"string" required:"true"` - // Protocol to use (http, https) when redirecting requests. The default is the - // protocol that is used in the original request. + // Protocol to use when redirecting requests. The default is the protocol that + // is used in the original request. Protocol *string `type:"string" enum:"Protocol"` } @@ -21209,7 +21607,9 @@ type ReplicationConfiguration struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the AWS Identity and Access Management - // (IAM) role that Amazon S3 can assume when replicating the objects. + // (IAM) role that Amazon S3 assumes when replicating objects. For more information, + // see How to Set Up Cross-Region Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-how-setup.html) + // in the Amazon Simple Storage Service Developer Guide. // // Role is a required field Role *string `type:"string" required:"true"` @@ -21269,7 +21669,7 @@ func (s *ReplicationConfiguration) SetRules(v []*ReplicationRule) *ReplicationCo return s } -// A container for information about a specific replication rule. +// Specifies which Amazon S3 objects to replicate and where to store the replicas. type ReplicationRule struct { _ struct{} `type:"structure"` @@ -21289,7 +21689,8 @@ type ReplicationRule struct { ID *string `type:"string"` // An object keyname prefix that identifies the object or objects to which the - // rule applies. The maximum prefix length is 1,024 characters. + // rule applies. The maximum prefix length is 1,024 characters. To include all + // objects in a bucket, specify an empty string. // // Deprecated: Prefix has been deprecated Prefix *string `deprecated:"true" type:"string"` @@ -21305,7 +21706,7 @@ type ReplicationRule struct { // * Same object qualify tag based filter criteria specified in multiple // rules // - // For more information, see Cross-Region Replication (CRR) ( https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) + // For more information, see Cross-Region Replication (CRR) (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) // in the Amazon S3 Developer Guide. Priority *int64 `type:"integer"` @@ -21314,12 +21715,9 @@ type ReplicationRule struct { // replication of these objects. Currently, Amazon S3 supports only the filter // that you can specify for objects created with server-side encryption using // an AWS KMS-Managed Key (SSE-KMS). - // - // If you want Amazon S3 to replicate objects created with server-side encryption - // using AWS KMS-Managed Keys. SourceSelectionCriteria *SourceSelectionCriteria `type:"structure"` - // If status isn't enabled, the rule is ignored. + // Specifies whether the rule is enabled. // // Status is a required field Status *string `type:"string" required:"true" enum:"ReplicationRuleStatus"` @@ -21637,6 +22035,9 @@ func (s *RestoreObjectInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -21831,6 +22232,7 @@ func (s *RestoreRequest) SetType(v string) *RestoreRequest { return s } +// Specifies the redirect behavior and when a redirect is applied. type RoutingRule struct { _ struct{} `type:"structure"` @@ -21883,16 +22285,22 @@ func (s *RoutingRule) SetRedirect(v *Redirect) *RoutingRule { return s } +// Specifies lifecycle rules for an Amazon S3 bucket. For more information, +// see PUT Bucket lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) +// in the Amazon Simple Storage Service API Reference. type Rule struct { _ struct{} `type:"structure"` - // Specifies the days since the initiation of an Incomplete Multipart Upload - // that Lifecycle will wait before permanently removing all parts of the upload. + // Specifies the days since the initiation of an incomplete multipart upload + // that Amazon S3 will wait before permanently removing all parts of the upload. + // For more information, see Aborting Incomplete Multipart Uploads Using a Bucket + // Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) + // in the Amazon Simple Storage Service Developer Guide. AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"` Expiration *LifecycleExpiration `type:"structure"` - // Unique identifier for the rule. The value cannot be longer than 255 characters. + // Unique identifier for the rule. The value can't be longer than 255 characters. ID *string `type:"string"` // Specifies when noncurrent object versions expire. Upon expiration, Amazon @@ -21903,24 +22311,27 @@ type Rule struct { NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"` // Container for the transition rule that describes when noncurrent objects - // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING or GLACIER - // storage class. If your bucket is versioning-enabled (or versioning is suspended), - // you can set this action to request that Amazon S3 transition noncurrent object - // versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING or GLACIER storage - // class at a specific period in the object's lifetime. + // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, + // or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning + // is suspended), you can set this action to request that Amazon S3 transition + // noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, + // GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's + // lifetime. NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"` - // Prefix identifying one or more objects to which the rule applies. + // Object key prefix that identifies one or more objects to which this rule + // applies. // // Prefix is a required field Prefix *string `type:"string" required:"true"` - // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule - // is not currently being applied. + // If Enabled, the rule is currently being applied. If Disabled, the rule is + // not currently being applied. // // Status is a required field Status *string `type:"string" required:"true" enum:"ExpirationStatus"` + // Specifies when an object transitions to a specified storage class. Transition *Transition `type:"structure"` } @@ -22006,7 +22417,7 @@ type SSEKMS struct { // key to use for encrypting Inventory reports. // // KeyId is a required field - KeyId *string `type:"string" required:"true"` + KeyId *string `type:"string" required:"true" sensitive:"true"` } // String returns the string representation @@ -22155,7 +22566,7 @@ type SelectObjectContentEventStreamReader interface { // HTTP this will also close the HTTP connection. Close() error - // Returns any error that has occured while reading from the event stream. + // Returns any error that has occurred while reading from the event stream. Err() error } @@ -22279,7 +22690,7 @@ func (r *readSelectObjectContentEventStream) unmarshalerForEventType( // Amazon S3 uses this to parse object data into records. It returns only records // that match the specified SQL expression. You must also specify the data serialization // format for the response. For more information, see S3Select API Documentation -// (http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html). +// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html). type SelectObjectContentInput struct { _ struct{} `locationName:"SelectObjectContentRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` @@ -22316,16 +22727,16 @@ type SelectObjectContentInput struct { // Specifies if periodic request progress information should be enabled. RequestProgress *RequestProgress `type:"structure"` - // The SSE Algorithm used to encrypt the object. For more information, see - // Server-Side Encryption (Using Customer-Provided Encryption Keys (http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). + // The SSE Algorithm used to encrypt the object. For more information, see Server-Side + // Encryption (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` - // The SSE Customer Key. For more information, see Server-Side Encryption (Using - // Customer-Provided Encryption Keys (http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). - SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` + // The SSE Customer Key. For more information, see Server-Side Encryption (Using + // Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). + SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` - // The SSE Customer Key MD5. For more information, see Server-Side Encryption - // (Using Customer-Provided Encryption Keys (http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). + // The SSE Customer Key MD5. For more information, see Server-Side Encryption + // (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` } @@ -22345,6 +22756,9 @@ func (s *SelectObjectContentInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Expression == nil { invalidParams.Add(request.NewErrParamRequired("Expression")) } @@ -22568,14 +22982,16 @@ func (s *SelectParameters) SetOutputSerialization(v *OutputSerialization) *Selec } // Describes the default server-side encryption to apply to new objects in the -// bucket. If Put Object request does not specify any server-side encryption, -// this default encryption will be applied. +// bucket. If a PUT Object request doesn't specify any server-side encryption, +// this default encryption will be applied. For more information, see PUT Bucket +// encryption (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html) +// in the Amazon Simple Storage Service API Reference. type ServerSideEncryptionByDefault struct { _ struct{} `type:"structure"` // KMS master key ID to use for the default encryption. This parameter is allowed - // if SSEAlgorithm is aws:kms. - KMSMasterKeyID *string `type:"string"` + // if and only if SSEAlgorithm is set to aws:kms. + KMSMasterKeyID *string `type:"string" sensitive:"true"` // Server-side encryption algorithm to use for the default encryption. // @@ -22618,8 +23034,7 @@ func (s *ServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *ServerSideEnc return s } -// Container for server-side encryption configuration rules. Currently S3 supports -// one rule only. +// Specifies the default server-side-encryption configuration. type ServerSideEncryptionConfiguration struct { _ struct{} `type:"structure"` @@ -22669,13 +23084,12 @@ func (s *ServerSideEncryptionConfiguration) SetRules(v []*ServerSideEncryptionRu return s } -// Container for information about a particular server-side encryption configuration -// rule. +// Specifies the default server-side encryption configuration. type ServerSideEncryptionRule struct { _ struct{} `type:"structure"` - // Describes the default server-side encryption to apply to new objects in the - // bucket. If Put Object request does not specify any server-side encryption, + // Specifies the default server-side encryption to apply to new objects in the + // bucket. If a PUT Object request doesn't specify any server-side encryption, // this default encryption will be applied. ApplyServerSideEncryptionByDefault *ServerSideEncryptionByDefault `type:"structure"` } @@ -22711,13 +23125,17 @@ func (s *ServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *Serv return s } -// A container for filters that define which source objects should be replicated. +// A container that describes additional filters for identifying the source +// objects that you want to replicate. You can choose to enable or disable the +// replication of these objects. Currently, Amazon S3 supports only the filter +// that you can specify for objects created with server-side encryption using +// an AWS KMS-Managed Key (SSE-KMS). type SourceSelectionCriteria struct { _ struct{} `type:"structure"` - // A container for filter information for the selection of S3 objects encrypted - // with AWS KMS. If you include SourceSelectionCriteria in the replication configuration, - // this element is required. + // A container for filter information for the selection of Amazon S3 objects + // encrypted with AWS KMS. If you include SourceSelectionCriteria in the replication + // configuration, this element is required. SseKmsEncryptedObjects *SseKmsEncryptedObjects `type:"structure"` } @@ -22757,8 +23175,8 @@ func (s *SourceSelectionCriteria) SetSseKmsEncryptedObjects(v *SseKmsEncryptedOb type SseKmsEncryptedObjects struct { _ struct{} `type:"structure"` - // If the status is not Enabled, replication for S3 objects encrypted with AWS - // KMS is disabled. + // Specifies whether Amazon S3 replicates objects created with server-side encryption + // using an AWS KMS-managed key. // // Status is a required field Status *string `type:"string" required:"true" enum:"SseKmsEncryptedObjectsStatus"` @@ -22874,11 +23292,14 @@ func (s *StatsEvent) UnmarshalEvent( return nil } +// Specifies data related to access patterns to be collected and made available +// to analyze the tradeoffs between different storage classes for an Amazon +// S3 bucket. type StorageClassAnalysis struct { _ struct{} `type:"structure"` - // A container used to describe how data related to the storage class analysis - // should be exported. + // Specifies how data related to the storage class analysis for an Amazon S3 + // bucket should be exported. DataExport *StorageClassAnalysisDataExport `type:"structure"` } @@ -23118,16 +23539,20 @@ func (s *TargetGrant) SetPermission(v string) *TargetGrant { } // A container for specifying the configuration for publication of messages -// to an Amazon Simple Notification Service (Amazon SNS) topic.when Amazon S3 +// to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 // detects specified events. type TopicConfiguration struct { _ struct{} `type:"structure"` + // The Amazon S3 bucket event about which to send notifications. For more information, + // see Supported Event Types (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) + // in the Amazon Simple Storage Service Developer Guide. + // // Events is a required field Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` - // A container for object key name filtering rules. For information about key - // name filtering, see Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) + // Specifies object key name filtering rules. For information about key name + // filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) // in the Amazon Simple Storage Service Developer Guide. Filter *NotificationConfigurationFilter `type:"structure"` @@ -23136,7 +23561,7 @@ type TopicConfiguration struct { Id *string `type:"string"` // The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 - // will publish a message when it detects events of the specified type. + // publishes a message when it detects events of the specified type. // // TopicArn is a required field TopicArn *string `locationName:"Topic" type:"string" required:"true"` @@ -23245,18 +23670,19 @@ func (s *TopicConfigurationDeprecated) SetTopic(v string) *TopicConfigurationDep return s } +// Specifies when an object transitions to a specified storage class. type Transition struct { _ struct{} `type:"structure"` - // Indicates at what date the object is to be moved or deleted. Should be in - // GMT ISO 8601 Format. + // Indicates when objects are transitioned to the specified storage class. The + // date value must be in ISO 8601 format. The time is always midnight UTC. Date *time.Time `type:"timestamp" timestampFormat:"iso8601"` - // Indicates the lifetime, in days, of the objects that are subject to the rule. - // The value must be a non-zero positive integer. + // Indicates the number of days after creation when objects are transitioned + // to the specified storage class. The value must be a positive integer. Days *int64 `type:"integer"` - // The class of storage used to store the object. + // The storage class to which you want the object to transition. StorageClass *string `type:"string" enum:"TransitionStorageClass"` } @@ -23317,7 +23743,7 @@ type UploadPartCopyInput struct { // the form bytes=first-last, where the first and last are the zero-based byte // offsets to copy. For example, bytes=0-9 indicates that you want to copy the // first ten bytes of the source. You can copy a range only if the source object - // is greater than 5 GB. + // is greater than 5 MB. CopySourceRange *string `location:"header" locationName:"x-amz-copy-source-range" type:"string"` // Specifies the algorithm to use when decrypting the source object (e.g., AES256). @@ -23326,7 +23752,7 @@ type UploadPartCopyInput struct { // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt // the source object. The encryption key provided in this header must be one // that was used when the source object was created. - CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string"` + CopySourceSSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption @@ -23357,7 +23783,7 @@ type UploadPartCopyInput struct { // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm // header. This must be the same encryption key specified in the initiate multipart // upload request. - SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` + SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption @@ -23386,6 +23812,9 @@ func (s *UploadPartCopyInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.CopySource == nil { invalidParams.Add(request.NewErrParamRequired("CopySource")) } @@ -23556,7 +23985,7 @@ type UploadPartCopyOutput struct { // If present, specifies the ID of the AWS Key Management Service (KMS) master // encryption key that was used for the object. - SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` + SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). @@ -23630,7 +24059,9 @@ type UploadPartInput struct { // body cannot be determined automatically. ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` - // The base64-encoded 128-bit MD5 digest of the part data. + // The base64-encoded 128-bit MD5 digest of the part data. This parameter is + // auto-populated when using the command from the CLI. This parameted is required + // if object lock parameters are specified. ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"` // Object key for which the multipart upload was initiated. @@ -23659,7 +24090,7 @@ type UploadPartInput struct { // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm // header. This must be the same encryption key specified in the initiate multipart // upload request. - SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` + SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption @@ -23688,6 +24119,9 @@ func (s *UploadPartInput) Validate() error { if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -23809,7 +24243,7 @@ type UploadPartOutput struct { // If present, specifies the ID of the AWS Key Management Service (KMS) master // encryption key that was used for the object. - SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` + SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). @@ -23862,6 +24296,9 @@ func (s *UploadPartOutput) SetServerSideEncryption(v string) *UploadPartOutput { return s } +// Describes the versioning state of an Amazon S3 bucket. For more information, +// see PUT Bucket versioning (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html) +// in the Amazon Simple Storage Service API Reference. type VersioningConfiguration struct { _ struct{} `type:"structure"` @@ -23896,15 +24333,22 @@ func (s *VersioningConfiguration) SetStatus(v string) *VersioningConfiguration { return s } +// Specifies website configuration parameters for an Amazon S3 bucket. type WebsiteConfiguration struct { _ struct{} `type:"structure"` + // The name of the error document for the website. ErrorDocument *ErrorDocument `type:"structure"` + // The name of the index document for the website. IndexDocument *IndexDocument `type:"structure"` + // The redirect behavior for every request to this bucket's website endpoint. + // + // If you specify this property, you can't specify any other property. RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"` + // Rules that define when a redirect is applied and the redirect behavior. RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"` } @@ -24317,6 +24761,9 @@ const ( // ObjectStorageClassIntelligentTiering is a ObjectStorageClass enum value ObjectStorageClassIntelligentTiering = "INTELLIGENT_TIERING" + + // ObjectStorageClassDeepArchive is a ObjectStorageClass enum value + ObjectStorageClassDeepArchive = "DEEP_ARCHIVE" ) const ( @@ -24447,6 +24894,9 @@ const ( // StorageClassGlacier is a StorageClass enum value StorageClassGlacier = "GLACIER" + + // StorageClassDeepArchive is a StorageClass enum value + StorageClassDeepArchive = "DEEP_ARCHIVE" ) const ( @@ -24485,6 +24935,9 @@ const ( // TransitionStorageClassIntelligentTiering is a TransitionStorageClass enum value TransitionStorageClassIntelligentTiering = "INTELLIGENT_TIERING" + + // TransitionStorageClassDeepArchive is a TransitionStorageClass enum value + TransitionStorageClassDeepArchive = "DEEP_ARCHIVE" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/bucket_location.go b/vendor/github.com/aws/aws-sdk-go/service/s3/bucket_location.go index bc68a46acfa..9ba8a788720 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/bucket_location.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/bucket_location.go @@ -80,7 +80,8 @@ func buildGetBucketLocation(r *request.Request) { out := r.Data.(*GetBucketLocationOutput) b, err := ioutil.ReadAll(r.HTTPResponse.Body) if err != nil { - r.Error = awserr.New("SerializationError", "failed reading response body", err) + r.Error = awserr.New(request.ErrCodeSerialization, + "failed reading response body", err) return } diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go b/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go index 95f2456363e..23d386b16c8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go @@ -17,7 +17,8 @@ func defaultInitClientFn(c *client.Client) { // Require SSL when using SSE keys c.Handlers.Validate.PushBack(validateSSERequiresSSL) - c.Handlers.Build.PushBack(computeSSEKeys) + c.Handlers.Build.PushBack(computeSSEKeyMD5) + c.Handlers.Build.PushBack(computeCopySourceSSEKeyMD5) // S3 uses custom error unmarshaling logic c.Handlers.UnmarshalError.Clear() diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/doc_custom.go b/vendor/github.com/aws/aws-sdk-go/service/s3/doc_custom.go index 39b912c260b..4b65f71531a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/doc_custom.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/doc_custom.go @@ -63,6 +63,20 @@ // See the s3manager package's Downloader type documentation for more information. // https://docs.aws.amazon.com/sdk-for-go/api/service/s3/s3manager/#Downloader // +// Automatic URI cleaning +// +// Interacting with objects whose keys contain adjacent slashes (e.g. bucketname/foo//bar/objectname) +// requires setting DisableRestProtocolURICleaning to true in the aws.Config struct +// used by the service client. +// +// svc := s3.New(sess, &aws.Config{ +// DisableRestProtocolURICleaning: aws.Bool(true), +// }) +// out, err := svc.GetObject(&s3.GetObjectInput { +// Bucket: aws.String("bucketname"), +// Key: aws.String("//foo//bar//moo"), +// }) +// // Get Bucket Region // // GetBucketRegion will attempt to get the region for a bucket using a region diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go b/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go index 8010c4fa196..b71c835deef 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go @@ -3,6 +3,7 @@ package s3 import ( "crypto/md5" "encoding/base64" + "net/http" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/request" @@ -30,25 +31,54 @@ func validateSSERequiresSSL(r *request.Request) { } } -func computeSSEKeys(r *request.Request) { - headers := []string{ - "x-amz-server-side-encryption-customer-key", - "x-amz-copy-source-server-side-encryption-customer-key", +const ( + sseKeyHeader = "x-amz-server-side-encryption-customer-key" + sseKeyMD5Header = sseKeyHeader + "-md5" +) + +func computeSSEKeyMD5(r *request.Request) { + var key string + if g, ok := r.Params.(sseCustomerKeyGetter); ok { + key = g.getSSECustomerKey() + } + + computeKeyMD5(sseKeyHeader, sseKeyMD5Header, key, r.HTTPRequest) +} + +const ( + copySrcSSEKeyHeader = "x-amz-copy-source-server-side-encryption-customer-key" + copySrcSSEKeyMD5Header = copySrcSSEKeyHeader + "-md5" +) + +func computeCopySourceSSEKeyMD5(r *request.Request) { + var key string + if g, ok := r.Params.(copySourceSSECustomerKeyGetter); ok { + key = g.getCopySourceSSECustomerKey() } - for _, h := range headers { - md5h := h + "-md5" - if key := r.HTTPRequest.Header.Get(h); key != "" { - // Base64-encode the value - b64v := base64.StdEncoding.EncodeToString([]byte(key)) - r.HTTPRequest.Header.Set(h, b64v) - - // Add MD5 if it wasn't computed - if r.HTTPRequest.Header.Get(md5h) == "" { - sum := md5.Sum([]byte(key)) - b64sum := base64.StdEncoding.EncodeToString(sum[:]) - r.HTTPRequest.Header.Set(md5h, b64sum) - } + computeKeyMD5(copySrcSSEKeyHeader, copySrcSSEKeyMD5Header, key, r.HTTPRequest) +} + +func computeKeyMD5(keyHeader, keyMD5Header, key string, r *http.Request) { + if len(key) == 0 { + // Backwards compatiablity where user just set the header value instead + // of using the API parameter, or setting the header value for an + // operation without the parameters modeled. + key = r.Header.Get(keyHeader) + if len(key) == 0 { + return } + + // In backwards compatiable, the header's value is not base64 encoded, + // and needs to be encoded and updated by the SDK's customizations. + b64Key := base64.StdEncoding.EncodeToString([]byte(key)) + r.Header.Set(keyHeader, b64Key) + } + + // Only update Key's MD5 if not already set. + if len(r.Header.Get(keyMD5Header)) == 0 { + sum := md5.Sum([]byte(key)) + keyMD5 := base64.StdEncoding.EncodeToString(sum[:]) + r.Header.Set(keyMD5Header, keyMD5) } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/statusok_error.go b/vendor/github.com/aws/aws-sdk-go/service/s3/statusok_error.go index fde3050f95b..f6a69aed11b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/statusok_error.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/statusok_error.go @@ -14,7 +14,7 @@ func copyMultipartStatusOKUnmarhsalError(r *request.Request) { b, err := ioutil.ReadAll(r.HTTPResponse.Body) if err != nil { r.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", "unable to read response body", err), + awserr.New(request.ErrCodeSerialization, "unable to read response body", err), r.HTTPResponse.StatusCode, r.RequestID, ) @@ -31,7 +31,7 @@ func copyMultipartStatusOKUnmarhsalError(r *request.Request) { unmarshalError(r) if err, ok := r.Error.(awserr.Error); ok && err != nil { - if err.Code() == "SerializationError" { + if err.Code() == request.ErrCodeSerialization { r.Error = nil return } diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/unmarshal_error.go b/vendor/github.com/aws/aws-sdk-go/service/s3/unmarshal_error.go index 12c0612c8de..5b63fac72ff 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/unmarshal_error.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/unmarshal_error.go @@ -11,6 +11,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil" ) type xmlErrorResponse struct { @@ -26,40 +27,50 @@ func unmarshalError(r *request.Request) { // Bucket exists in a different region, and request needs // to be made to the correct region. if r.HTTPResponse.StatusCode == http.StatusMovedPermanently { + msg := fmt.Sprintf( + "incorrect region, the bucket is not in '%s' region at endpoint '%s'", + aws.StringValue(r.Config.Region), + aws.StringValue(r.Config.Endpoint), + ) + if v := r.HTTPResponse.Header.Get("x-amz-bucket-region"); len(v) != 0 { + msg += fmt.Sprintf(", bucket is in '%s' region", v) + } r.Error = awserr.NewRequestFailure( - awserr.New("BucketRegionError", - fmt.Sprintf("incorrect region, the bucket is not in '%s' region", - aws.StringValue(r.Config.Region)), - nil), + awserr.New("BucketRegionError", msg, nil), r.HTTPResponse.StatusCode, r.RequestID, ) return } - var errCode, errMsg string - // Attempt to parse error from body if it is known - resp := &xmlErrorResponse{} - err := xml.NewDecoder(r.HTTPResponse.Body).Decode(resp) - if err != nil && err != io.EOF { - errCode = "SerializationError" - errMsg = "failed to decode S3 XML error response" - } else { - errCode = resp.Code - errMsg = resp.Message + var errResp xmlErrorResponse + err := xmlutil.UnmarshalXMLError(&errResp, r.HTTPResponse.Body) + if err == io.EOF { + // Only capture the error if an unmarshal error occurs that is not EOF, + // because S3 might send an error without a error message which causes + // the XML unmarshal to fail with EOF. err = nil } + if err != nil { + r.Error = awserr.NewRequestFailure( + awserr.New(request.ErrCodeSerialization, + "failed to unmarshal error message", err), + r.HTTPResponse.StatusCode, + r.RequestID, + ) + return + } // Fallback to status code converted to message if still no error code - if len(errCode) == 0 { + if len(errResp.Code) == 0 { statusText := http.StatusText(r.HTTPResponse.StatusCode) - errCode = strings.Replace(statusText, " ", "", -1) - errMsg = statusText + errResp.Code = strings.Replace(statusText, " ", "", -1) + errResp.Message = statusText } r.Error = awserr.NewRequestFailure( - awserr.New(errCode, errMsg, err), + awserr.New(errResp.Code, errResp.Message, err), r.HTTPResponse.StatusCode, r.RequestID, ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go index ee908f9167b..eb0a6a417ef 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go @@ -3,10 +3,12 @@ package sts import ( + "fmt" "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/request" ) @@ -54,38 +56,26 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // AssumeRole API operation for AWS Security Token Service. // -// Returns a set of temporary security credentials (consisting of an access -// key ID, a secret access key, and a security token) that you can use to access -// AWS resources that you might not normally have access to. Typically, you -// use AssumeRole for cross-account access or federation. For a comparison of -// AssumeRole with the other APIs that produce temporary credentials, see Requesting -// Temporary Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) -// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) +// Returns a set of temporary security credentials that you can use to access +// AWS resources that you might not normally have access to. These temporary +// credentials consist of an access key ID, a secret access key, and a security +// token. Typically, you use AssumeRole within your account or for cross-account +// access. For a comparison of AssumeRole with other API operations that produce +// temporary credentials, see Requesting Temporary Security Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) +// and Comparing the AWS STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) // in the IAM User Guide. // -// Important: You cannot call AssumeRole by using AWS root account credentials; -// access is denied. You must use credentials for an IAM user or an IAM role -// to call AssumeRole. +// You cannot use AWS account root user credentials to call AssumeRole. You +// must use credentials for an IAM user or an IAM role to call AssumeRole. // // For cross-account access, imagine that you own multiple accounts and need // to access resources in each account. You could create long-term credentials // in each account to access those resources. However, managing all those credentials // and remembering which one can access which account can be time consuming. -// Instead, you can create one set of long-term credentials in one account and -// then use temporary security credentials to access all the other accounts +// Instead, you can create one set of long-term credentials in one account. +// Then use temporary security credentials to access all the other accounts // by assuming roles in those accounts. For more information about roles, see -// IAM Roles (Delegation and Federation) (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) -// in the IAM User Guide. -// -// For federation, you can, for example, grant single sign-on access to the -// AWS Management Console. If you already have an identity and authentication -// system in your corporate network, you don't have to recreate user identities -// in AWS in order to grant those user identities access to AWS. Instead, after -// a user has been authenticated, you call AssumeRole (and specify the role -// with the appropriate permissions) to get temporary security credentials for -// that user. With those temporary security credentials, you construct a sign-in -// URL that users can use to access the console. For more information, see Common -// Scenarios for Temporary Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html#sts-introduction) +// IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) // in the IAM User Guide. // // By default, the temporary security credentials created by AssumeRole last @@ -94,69 +84,73 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // seconds (15 minutes) up to the maximum session duration setting for the role. // This setting can have a value from 1 hour to 12 hours. To learn how to view // the maximum value for your role, see View the Maximum Session Duration Setting -// for a Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) +// for a Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) // in the IAM User Guide. The maximum session duration limit applies when you -// use the AssumeRole* API operations or the assume-role* CLI operations but -// does not apply when you use those operations to create a console URL. For -// more information, see Using IAM Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) +// use the AssumeRole* API operations or the assume-role* CLI commands. However +// the limit does not apply when you use those operations to create a console +// URL. For more information, see Using IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) // in the IAM User Guide. // // The temporary security credentials created by AssumeRole can be used to make -// API calls to any AWS service with the following exception: you cannot call -// the STS service's GetFederationToken or GetSessionToken APIs. -// -// Optionally, you can pass an IAM access policy to this operation. If you choose -// not to pass a policy, the temporary security credentials that are returned -// by the operation have the permissions that are defined in the access policy -// of the role that is being assumed. If you pass a policy to this operation, -// the temporary security credentials that are returned by the operation have -// the permissions that are allowed by both the access policy of the role that -// is being assumed, and the policy that you pass. This gives you a way to further -// restrict the permissions for the resulting temporary security credentials. -// You cannot use the passed policy to grant permissions that are in excess -// of those allowed by the access policy of the role that is being assumed. -// For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, -// and AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) +// API calls to any AWS service with the following exception: You cannot call +// the AWS STS GetFederationToken or GetSessionToken API operations. +// +// (Optional) You can pass inline or managed session policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) +// to this operation. You can pass a single JSON policy document to use as an +// inline session policy. You can also specify up to 10 managed policies to +// use as managed session policies. The plain text that you use for both inline +// and managed session policies shouldn't exceed 2048 characters. Passing policies +// to this operation returns new temporary credentials. The resulting session's +// permissions are the intersection of the role's identity-based policy and +// the session policies. You can use the role's temporary credentials in subsequent +// AWS API calls to access resources in the account that owns the role. You +// cannot use session policies to grant more permissions than those allowed +// by the identity-based policy of the role that is being assumed. For more +// information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // -// To assume a role, your AWS account must be trusted by the role. The trust -// relationship is defined in the role's trust policy when the role is created. -// That trust policy states which accounts are allowed to delegate access to -// this account's role. -// -// The user who wants to access the role must also have permissions delegated -// from the role's administrator. If the user is in a different account than -// the role, then the user's administrator must attach a policy that allows -// the user to call AssumeRole on the ARN of the role in the other account. -// If the user is in the same account as the role, then you can either attach -// a policy to the user (identical to the previous different account user), -// or you can add the user as a principal directly in the role's trust policy. -// In this case, the trust policy acts as the only resource-based policy in -// IAM, and users in the same account as the role do not need explicit permission -// to assume the role. For more information about trust policies and resource-based -// policies, see IAM Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) +// To assume a role from a different account, your AWS account must be trusted +// by the role. The trust relationship is defined in the role's trust policy +// when the role is created. That trust policy states which accounts are allowed +// to delegate that access to users in the account. +// +// A user who wants to access a role in a different account must also have permissions +// that are delegated from the user account administrator. The administrator +// must attach a policy that allows the user to call AssumeRole for the ARN +// of the role in the other account. If the user is in the same account as the +// role, then you can do either of the following: +// +// * Attach a policy to the user (identical to the previous user in a different +// account). +// +// * Add the user as a principal directly in the role's trust policy. +// +// In this case, the trust policy acts as an IAM resource-based policy. Users +// in the same account as the role do not need explicit permission to assume +// the role. For more information about trust policies and resource-based policies, +// see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) // in the IAM User Guide. // // Using MFA with AssumeRole // -// You can optionally include multi-factor authentication (MFA) information -// when you call AssumeRole. This is useful for cross-account scenarios in which -// you want to make sure that the user who is assuming the role has been authenticated -// using an AWS MFA device. In that scenario, the trust policy of the role being -// assumed includes a condition that tests for MFA authentication; if the caller -// does not include valid MFA information, the request to assume the role is -// denied. The condition in a trust policy that tests for MFA authentication -// might look like the following example. +// (Optional) You can include multi-factor authentication (MFA) information +// when you call AssumeRole. This is useful for cross-account scenarios to ensure +// that the user that assumes the role has been authenticated with an AWS MFA +// device. In that scenario, the trust policy of the role being assumed includes +// a condition that tests for MFA authentication. If the caller does not include +// valid MFA information, the request to assume the role is denied. The condition +// in a trust policy that tests for MFA authentication might look like the following +// example. // // "Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}} // -// For more information, see Configuring MFA-Protected API Access (http://docs.aws.amazon.com/IAM/latest/UserGuide/MFAProtectedAPI.html) +// For more information, see Configuring MFA-Protected API Access (https://docs.aws.amazon.com/IAM/latest/UserGuide/MFAProtectedAPI.html) // in the IAM User Guide guide. // // To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode // parameters. The SerialNumber value identifies the user's hardware or virtual // MFA device. The TokenCode is the time-based one-time password (TOTP) that -// the MFA devices produces. +// the MFA device produces. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -179,7 +173,7 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // STS is not activated in the requested region for the account that is being // asked to generate credentials. The account administrator must use the IAM // console to activate STS in that region. For more information, see Activating -// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// and Deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) // in the IAM User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole @@ -243,6 +237,7 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re output = &AssumeRoleWithSAMLOutput{} req = c.newRequest(op, input, output) + req.Config.Credentials = credentials.AnonymousCredentials return } @@ -252,9 +247,9 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // via a SAML authentication response. This operation provides a mechanism for // tying an enterprise identity store or directory to role-based AWS access // without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML -// with the other APIs that produce temporary credentials, see Requesting Temporary -// Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) -// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) +// with the other API operations that produce temporary credentials, see Requesting +// Temporary Security Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) +// and Comparing the AWS STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) // in the IAM User Guide. // // The temporary security credentials returned by this operation consist of @@ -269,37 +264,36 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session // duration setting for the role. This setting can have a value from 1 hour // to 12 hours. To learn how to view the maximum value for your role, see View -// the Maximum Session Duration Setting for a Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) +// the Maximum Session Duration Setting for a Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) // in the IAM User Guide. The maximum session duration limit applies when you -// use the AssumeRole* API operations or the assume-role* CLI operations but -// does not apply when you use those operations to create a console URL. For -// more information, see Using IAM Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) +// use the AssumeRole* API operations or the assume-role* CLI commands. However +// the limit does not apply when you use those operations to create a console +// URL. For more information, see Using IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) // in the IAM User Guide. // // The temporary security credentials created by AssumeRoleWithSAML can be used // to make API calls to any AWS service with the following exception: you cannot -// call the STS service's GetFederationToken or GetSessionToken APIs. -// -// Optionally, you can pass an IAM access policy to this operation. If you choose -// not to pass a policy, the temporary security credentials that are returned -// by the operation have the permissions that are defined in the access policy -// of the role that is being assumed. If you pass a policy to this operation, -// the temporary security credentials that are returned by the operation have -// the permissions that are allowed by the intersection of both the access policy -// of the role that is being assumed, and the policy that you pass. This means -// that both policies must grant the permission for the action to be allowed. -// This gives you a way to further restrict the permissions for the resulting -// temporary security credentials. You cannot use the passed policy to grant -// permissions that are in excess of those allowed by the access policy of the -// role that is being assumed. For more information, see Permissions for AssumeRole, -// AssumeRoleWithSAML, and AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) +// call the STS GetFederationToken or GetSessionToken API operations. +// +// (Optional) You can pass inline or managed session policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) +// to this operation. You can pass a single JSON policy document to use as an +// inline session policy. You can also specify up to 10 managed policies to +// use as managed session policies. The plain text that you use for both inline +// and managed session policies shouldn't exceed 2048 characters. Passing policies +// to this operation returns new temporary credentials. The resulting session's +// permissions are the intersection of the role's identity-based policy and +// the session policies. You can use the role's temporary credentials in subsequent +// AWS API calls to access resources in the account that owns the role. You +// cannot use session policies to grant more permissions than those allowed +// by the identity-based policy of the role that is being assumed. For more +// information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // // Before your application can call AssumeRoleWithSAML, you must configure your // SAML identity provider (IdP) to issue the claims required by AWS. Additionally, // you must use AWS Identity and Access Management (IAM) to create a SAML provider -// entity in your AWS account that represents your identity provider, and create -// an IAM role that specifies this SAML provider in its trust policy. +// entity in your AWS account that represents your identity provider. You must +// also create an IAM role that specifies this SAML provider in its trust policy. // // Calling AssumeRoleWithSAML does not require the use of AWS security credentials. // The identity of the caller is validated by using keys in the metadata document @@ -313,16 +307,16 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // // For more information, see the following resources: // -// * About SAML 2.0-based Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html) +// * About SAML 2.0-based Federation (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html) // in the IAM User Guide. // -// * Creating SAML Identity Providers (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html) +// * Creating SAML Identity Providers (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html) // in the IAM User Guide. // -// * Configuring a Relying Party and Claims (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html) +// * Configuring a Relying Party and Claims (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html) // in the IAM User Guide. // -// * Creating a Role for SAML 2.0 Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html) +// * Creating a Role for SAML 2.0 Federation (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html) // in the IAM User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -361,7 +355,7 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // STS is not activated in the requested region for the account that is being // asked to generate credentials. The account administrator must use the IAM // console to activate STS in that region. For more information, see Activating -// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// and Deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) // in the IAM User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML @@ -425,41 +419,42 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI output = &AssumeRoleWithWebIdentityOutput{} req = c.newRequest(op, input, output) + req.Config.Credentials = credentials.AnonymousCredentials return } // AssumeRoleWithWebIdentity API operation for AWS Security Token Service. // // Returns a set of temporary security credentials for users who have been authenticated -// in a mobile or web application with a web identity provider, such as Amazon -// Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible -// identity provider. +// in a mobile or web application with a web identity provider. Example providers +// include Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID +// Connect-compatible identity provider. // // For mobile applications, we recommend that you use Amazon Cognito. You can -// use Amazon Cognito with the AWS SDK for iOS (http://aws.amazon.com/sdkforios/) -// and the AWS SDK for Android (http://aws.amazon.com/sdkforandroid/) to uniquely -// identify a user and supply the user with a consistent identity throughout -// the lifetime of an application. -// -// To learn more about Amazon Cognito, see Amazon Cognito Overview (http://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/cognito-auth.html#d0e840) -// in the AWS SDK for Android Developer Guide guide and Amazon Cognito Overview -// (http://docs.aws.amazon.com/mobile/sdkforios/developerguide/cognito-auth.html#d0e664) +// use Amazon Cognito with the AWS SDK for iOS Developer Guide (http://aws.amazon.com/sdkforios/) +// and the AWS SDK for Android Developer Guide (http://aws.amazon.com/sdkforandroid/) +// to uniquely identify a user. You can also supply the user with a consistent +// identity throughout the lifetime of an application. +// +// To learn more about Amazon Cognito, see Amazon Cognito Overview (https://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/cognito-auth.html#d0e840) +// in AWS SDK for Android Developer Guide and Amazon Cognito Overview (https://docs.aws.amazon.com/mobile/sdkforios/developerguide/cognito-auth.html#d0e664) // in the AWS SDK for iOS Developer Guide. // // Calling AssumeRoleWithWebIdentity does not require the use of AWS security // credentials. Therefore, you can distribute an application (for example, on // mobile devices) that requests temporary security credentials without including -// long-term AWS credentials in the application, and without deploying server-based -// proxy services that use long-term AWS credentials. Instead, the identity -// of the caller is validated by using a token from the web identity provider. -// For a comparison of AssumeRoleWithWebIdentity with the other APIs that produce -// temporary credentials, see Requesting Temporary Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) -// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) +// long-term AWS credentials in the application. You also don't need to deploy +// server-based proxy services that use long-term AWS credentials. Instead, +// the identity of the caller is validated by using a token from the web identity +// provider. For a comparison of AssumeRoleWithWebIdentity with the other API +// operations that produce temporary credentials, see Requesting Temporary Security +// Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) +// and Comparing the AWS STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) // in the IAM User Guide. // // The temporary security credentials returned by this API consist of an access // key ID, a secret access key, and a security token. Applications can use these -// temporary security credentials to sign calls to AWS service APIs. +// temporary security credentials to sign calls to AWS service API operations. // // By default, the temporary security credentials created by AssumeRoleWithWebIdentity // last for one hour. However, you can use the optional DurationSeconds parameter @@ -467,29 +462,29 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // seconds (15 minutes) up to the maximum session duration setting for the role. // This setting can have a value from 1 hour to 12 hours. To learn how to view // the maximum value for your role, see View the Maximum Session Duration Setting -// for a Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) +// for a Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) // in the IAM User Guide. The maximum session duration limit applies when you -// use the AssumeRole* API operations or the assume-role* CLI operations but -// does not apply when you use those operations to create a console URL. For -// more information, see Using IAM Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) +// use the AssumeRole* API operations or the assume-role* CLI commands. However +// the limit does not apply when you use those operations to create a console +// URL. For more information, see Using IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) // in the IAM User Guide. // // The temporary security credentials created by AssumeRoleWithWebIdentity can // be used to make API calls to any AWS service with the following exception: -// you cannot call the STS service's GetFederationToken or GetSessionToken APIs. -// -// Optionally, you can pass an IAM access policy to this operation. If you choose -// not to pass a policy, the temporary security credentials that are returned -// by the operation have the permissions that are defined in the access policy -// of the role that is being assumed. If you pass a policy to this operation, -// the temporary security credentials that are returned by the operation have -// the permissions that are allowed by both the access policy of the role that -// is being assumed, and the policy that you pass. This gives you a way to further -// restrict the permissions for the resulting temporary security credentials. -// You cannot use the passed policy to grant permissions that are in excess -// of those allowed by the access policy of the role that is being assumed. -// For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, -// and AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) +// you cannot call the STS GetFederationToken or GetSessionToken API operations. +// +// (Optional) You can pass inline or managed session policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) +// to this operation. You can pass a single JSON policy document to use as an +// inline session policy. You can also specify up to 10 managed policies to +// use as managed session policies. The plain text that you use for both inline +// and managed session policies shouldn't exceed 2048 characters. Passing policies +// to this operation returns new temporary credentials. The resulting session's +// permissions are the intersection of the role's identity-based policy and +// the session policies. You can use the role's temporary credentials in subsequent +// AWS API calls to access resources in the account that owns the role. You +// cannot use session policies to grant more permissions than those allowed +// by the identity-based policy of the role that is being assumed. For more +// information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // // Before your application can call AssumeRoleWithWebIdentity, you must have @@ -508,21 +503,19 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // For more information about how to use web identity federation and the AssumeRoleWithWebIdentity // API, see the following resources: // -// * Using Web Identity Federation APIs for Mobile Apps (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_manual.html) -// and Federation Through a Web-based Identity Provider (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity). +// * Using Web Identity Federation API Operations for Mobile Apps (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_manual.html) +// and Federation Through a Web-based Identity Provider (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity). // +// * Web Identity Federation Playground (https://web-identity-federation-playground.s3.amazonaws.com/index.html). +// Walk through the process of authenticating through Login with Amazon, +// Facebook, or Google, getting temporary security credentials, and then +// using those credentials to make a request to AWS. // -// * Web Identity Federation Playground (https://web-identity-federation-playground.s3.amazonaws.com/index.html). -// This interactive website lets you walk through the process of authenticating -// via Login with Amazon, Facebook, or Google, getting temporary security -// credentials, and then using those credentials to make a request to AWS. -// -// -// * AWS SDK for iOS (http://aws.amazon.com/sdkforios/) and AWS SDK for Android -// (http://aws.amazon.com/sdkforandroid/). These toolkits contain sample -// apps that show how to invoke the identity providers, and then how to use -// the information from these providers to get and use temporary security -// credentials. +// * AWS SDK for iOS Developer Guide (http://aws.amazon.com/sdkforios/) and +// AWS SDK for Android Developer Guide (http://aws.amazon.com/sdkforandroid/). +// These toolkits contain sample apps that show how to invoke the identity +// providers, and then how to use the information from these providers to +// get and use temporary security credentials. // // * Web Identity Federation with Mobile Applications (http://aws.amazon.com/articles/web-identity-federation-with-mobile-applications). // This article discusses web identity federation and shows an example of @@ -572,7 +565,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // STS is not activated in the requested region for the account that is being // asked to generate credentials. The account administrator must use the IAM // console to activate STS in that region. For more information, see Activating -// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// and Deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) // in the IAM User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity @@ -644,17 +637,17 @@ func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessag // Decodes additional information about the authorization status of a request // from an encoded message returned in response to an AWS request. // -// For example, if a user is not authorized to perform an action that he or -// she has requested, the request returns a Client.UnauthorizedOperation response -// (an HTTP 403 response). Some AWS actions additionally return an encoded message -// that can provide details about this authorization failure. +// For example, if a user is not authorized to perform an operation that he +// or she has requested, the request returns a Client.UnauthorizedOperation +// response (an HTTP 403 response). Some AWS operations additionally return +// an encoded message that can provide details about this authorization failure. // -// Only certain AWS actions return an encoded authorization message. The documentation -// for an individual action indicates whether that action returns an encoded -// message in addition to returning an HTTP code. +// Only certain AWS operations return an encoded authorization message. The +// documentation for an individual operation indicates whether that operation +// returns an encoded message in addition to returning an HTTP code. // // The message is encoded because the details of the authorization status can -// constitute privileged information that the user who requested the action +// constitute privileged information that the user who requested the operation // should not see. To decode an authorization status message, a user must be // granted permissions via an IAM policy to request the DecodeAuthorizationMessage // (sts:DecodeAuthorizationMessage) action. @@ -663,7 +656,7 @@ func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessag // // * Whether the request was denied due to an explicit deny or due to the // absence of an explicit allow. For more information, see Determining Whether -// a Request is Allowed or Denied (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow) +// a Request is Allowed or Denied (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow) // in the IAM User Guide. // // * The principal who made the request. @@ -709,6 +702,102 @@ func (c *STS) DecodeAuthorizationMessageWithContext(ctx aws.Context, input *Deco return out, req.Send() } +const opGetAccessKeyInfo = "GetAccessKeyInfo" + +// GetAccessKeyInfoRequest generates a "aws/request.Request" representing the +// client's request for the GetAccessKeyInfo operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetAccessKeyInfo for more information on using the GetAccessKeyInfo +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetAccessKeyInfoRequest method. +// req, resp := client.GetAccessKeyInfoRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetAccessKeyInfo +func (c *STS) GetAccessKeyInfoRequest(input *GetAccessKeyInfoInput) (req *request.Request, output *GetAccessKeyInfoOutput) { + op := &request.Operation{ + Name: opGetAccessKeyInfo, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetAccessKeyInfoInput{} + } + + output = &GetAccessKeyInfoOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetAccessKeyInfo API operation for AWS Security Token Service. +// +// Returns the account identifier for the specified access key ID. +// +// Access keys consist of two parts: an access key ID (for example, AKIAIOSFODNN7EXAMPLE) +// and a secret access key (for example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). +// For more information about access keys, see Managing Access Keys for IAM +// Users (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) +// in the IAM User Guide. +// +// When you pass an access key ID to this operation, it returns the ID of the +// AWS account to which the keys belong. Access key IDs beginning with AKIA +// are long-term credentials for an IAM user or the AWS account root user. Access +// key IDs beginning with ASIA are temporary credentials that are created using +// STS operations. If the account in the response belongs to you, you can sign +// in as the root user and review your root user access keys. Then, you can +// pull a credentials report (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_getting-report.html) +// to learn which IAM user owns the keys. To learn who requested the temporary +// credentials for an ASIA access key, view the STS events in your CloudTrail +// logs (https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html). +// +// This operation does not indicate the state of the access key. The key might +// be active, inactive, or deleted. Active keys might not have permissions to +// perform an operation. Providing a deleted access key might return an error +// that the key doesn't exist. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Security Token Service's +// API operation GetAccessKeyInfo for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetAccessKeyInfo +func (c *STS) GetAccessKeyInfo(input *GetAccessKeyInfoInput) (*GetAccessKeyInfoOutput, error) { + req, out := c.GetAccessKeyInfoRequest(input) + return out, req.Send() +} + +// GetAccessKeyInfoWithContext is the same as GetAccessKeyInfo with the addition of +// the ability to pass a context and additional request options. +// +// See GetAccessKeyInfo for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *STS) GetAccessKeyInfoWithContext(ctx aws.Context, input *GetAccessKeyInfoInput, opts ...request.Option) (*GetAccessKeyInfoOutput, error) { + req, out := c.GetAccessKeyInfoRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetCallerIdentity = "GetCallerIdentity" // GetCallerIdentityRequest generates a "aws/request.Request" representing the @@ -753,8 +842,15 @@ func (c *STS) GetCallerIdentityRequest(input *GetCallerIdentityInput) (req *requ // GetCallerIdentity API operation for AWS Security Token Service. // -// Returns details about the IAM identity whose credentials are used to call -// the API. +// Returns details about the IAM user or role whose credentials are used to +// call the operation. +// +// No permissions are required to perform this operation. If an administrator +// adds a policy to your IAM user or role that explicitly denies access to the +// sts:GetCallerIdentity action, you can still perform this operation. Permissions +// are not required because the same information is returned when an IAM user +// or role is denied access. To view an example response, see I Am Not Authorized +// to Perform: iam:DeleteVirtualMFADevice (https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_access-denied-delete-mfa). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -831,81 +927,65 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re // Returns a set of temporary security credentials (consisting of an access // key ID, a secret access key, and a security token) for a federated user. // A typical use is in a proxy application that gets temporary security credentials -// on behalf of distributed applications inside a corporate network. Because -// you must call the GetFederationToken action using the long-term security -// credentials of an IAM user, this call is appropriate in contexts where those +// on behalf of distributed applications inside a corporate network. You must +// call the GetFederationToken operation using the long-term security credentials +// of an IAM user. As a result, this call is appropriate in contexts where those // credentials can be safely stored, usually in a server-based application. -// For a comparison of GetFederationToken with the other APIs that produce temporary -// credentials, see Requesting Temporary Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) -// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) +// For a comparison of GetFederationToken with the other API operations that +// produce temporary credentials, see Requesting Temporary Security Credentials +// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) +// and Comparing the AWS STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) // in the IAM User Guide. // -// If you are creating a mobile-based or browser-based app that can authenticate +// You can create a mobile-based or browser-based app that can authenticate // users using a web identity provider like Login with Amazon, Facebook, Google, -// or an OpenID Connect-compatible identity provider, we recommend that you -// use Amazon Cognito (http://aws.amazon.com/cognito/) or AssumeRoleWithWebIdentity. +// or an OpenID Connect-compatible identity provider. In this case, we recommend +// that you use Amazon Cognito (http://aws.amazon.com/cognito/) or AssumeRoleWithWebIdentity. // For more information, see Federation Through a Web-based Identity Provider -// (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity). -// -// The GetFederationToken action must be called by using the long-term AWS security -// credentials of an IAM user. You can also call GetFederationToken using the -// security credentials of an AWS root account, but we do not recommended it. -// Instead, we recommend that you create an IAM user for the purpose of the -// proxy application and then attach a policy to the IAM user that limits federated -// users to only the actions and resources that they need access to. For more -// information, see IAM Best Practices (http://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) +// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity). +// +// You can also call GetFederationToken using the security credentials of an +// AWS account root user, but we do not recommend it. Instead, we recommend +// that you create an IAM user for the purpose of the proxy application. Then +// attach a policy to the IAM user that limits federated users to only the actions +// and resources that they need to access. For more information, see IAM Best +// Practices (https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) // in the IAM User Guide. // -// The temporary security credentials that are obtained by using the long-term -// credentials of an IAM user are valid for the specified duration, from 900 -// seconds (15 minutes) up to a maximium of 129600 seconds (36 hours). The default -// is 43200 seconds (12 hours). Temporary credentials that are obtained by using -// AWS root account credentials have a maximum duration of 3600 seconds (1 hour). +// The temporary credentials are valid for the specified duration, from 900 +// seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default +// is 43,200 seconds (12 hours). Temporary credentials that are obtained by +// using AWS account root user credentials have a maximum duration of 3,600 +// seconds (1 hour). // // The temporary security credentials created by GetFederationToken can be used // to make API calls to any AWS service with the following exceptions: // -// * You cannot use these credentials to call any IAM APIs. +// * You cannot use these credentials to call any IAM API operations. // -// * You cannot call any STS APIs except GetCallerIdentity. +// * You cannot call any STS API operations except GetCallerIdentity. // // Permissions // -// The permissions for the temporary security credentials returned by GetFederationToken -// are determined by a combination of the following: -// -// * The policy or policies that are attached to the IAM user whose credentials -// are used to call GetFederationToken. -// -// * The policy that is passed as a parameter in the call. -// -// The passed policy is attached to the temporary security credentials that -// result from the GetFederationToken API call--that is, to the federated user. -// When the federated user makes an AWS request, AWS evaluates the policy attached -// to the federated user in combination with the policy or policies attached -// to the IAM user whose credentials were used to call GetFederationToken. AWS -// allows the federated user's request only when both the federated user and -// the IAM user are explicitly allowed to perform the requested action. The -// passed policy cannot grant more permissions than those that are defined in -// the IAM user policy. -// -// A typical use case is that the permissions of the IAM user whose credentials -// are used to call GetFederationToken are designed to allow access to all the -// actions and resources that any federated user will need. Then, for individual -// users, you pass a policy to the operation that scopes down the permissions -// to a level that's appropriate to that individual user, using a policy that -// allows only a subset of permissions that are granted to the IAM user. -// -// If you do not pass a policy, the resulting temporary security credentials -// have no effective permissions. The only exception is when the temporary security -// credentials are used to access a resource that has a resource-based policy -// that specifically allows the federated user to access the resource. -// -// For more information about how permissions work, see Permissions for GetFederationToken -// (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getfederationtoken.html). -// For information about using GetFederationToken to create temporary security -// credentials, see GetFederationToken—Federation Through a Custom Identity -// Broker (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken). +// You must pass an inline or managed session policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) +// to this operation. You can pass a single JSON policy document to use as an +// inline session policy. You can also specify up to 10 managed policies to +// use as managed session policies. The plain text that you use for both inline +// and managed session policies shouldn't exceed 2048 characters. +// +// Though the session policy parameters are optional, if you do not pass a policy, +// then the resulting federated user session has no permissions. The only exception +// is when the credentials are used to access a resource that has a resource-based +// policy that specifically references the federated user session in the Principal +// element of the policy. When you pass session policies, the session permissions +// are the intersection of the IAM user policies and the session policies that +// you pass. This gives you a way to further restrict the permissions for a +// federated user. You cannot use session policies to grant more permissions +// than those that are defined in the permissions policy of the IAM user. For +// more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) +// in the IAM User Guide. For information about using GetFederationToken to +// create temporary security credentials, see GetFederationToken—Federation +// Through a Custom Identity Broker (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -928,7 +1008,7 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re // STS is not activated in the requested region for the account that is being // asked to generate credentials. The account administrator must use the IAM // console to activate STS in that region. For more information, see Activating -// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// and Deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) // in the IAM User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken @@ -1000,48 +1080,47 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request. // Returns a set of temporary credentials for an AWS account or IAM user. The // credentials consist of an access key ID, a secret access key, and a security // token. Typically, you use GetSessionToken if you want to use MFA to protect -// programmatic calls to specific AWS APIs like Amazon EC2 StopInstances. MFA-enabled -// IAM users would need to call GetSessionToken and submit an MFA code that -// is associated with their MFA device. Using the temporary security credentials -// that are returned from the call, IAM users can then make programmatic calls -// to APIs that require MFA authentication. If you do not supply a correct MFA -// code, then the API returns an access denied error. For a comparison of GetSessionToken -// with the other APIs that produce temporary credentials, see Requesting Temporary -// Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) -// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) +// programmatic calls to specific AWS API operations like Amazon EC2 StopInstances. +// MFA-enabled IAM users would need to call GetSessionToken and submit an MFA +// code that is associated with their MFA device. Using the temporary security +// credentials that are returned from the call, IAM users can then make programmatic +// calls to API operations that require MFA authentication. If you do not supply +// a correct MFA code, then the API returns an access denied error. For a comparison +// of GetSessionToken with the other API operations that produce temporary credentials, +// see Requesting Temporary Security Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) +// and Comparing the AWS STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) // in the IAM User Guide. // -// The GetSessionToken action must be called by using the long-term AWS security -// credentials of the AWS account or an IAM user. Credentials that are created -// by IAM users are valid for the duration that you specify, from 900 seconds -// (15 minutes) up to a maximum of 129600 seconds (36 hours), with a default -// of 43200 seconds (12 hours); credentials that are created by using account -// credentials can range from 900 seconds (15 minutes) up to a maximum of 3600 -// seconds (1 hour), with a default of 1 hour. +// The GetSessionToken operation must be called by using the long-term AWS security +// credentials of the AWS account root user or an IAM user. Credentials that +// are created by IAM users are valid for the duration that you specify. This +// duration can range from 900 seconds (15 minutes) up to a maximum of 129,600 +// seconds (36 hours), with a default of 43,200 seconds (12 hours). Credentials +// based on account credentials can range from 900 seconds (15 minutes) up to +// 3,600 seconds (1 hour), with a default of 1 hour. // // The temporary security credentials created by GetSessionToken can be used // to make API calls to any AWS service with the following exceptions: // -// * You cannot call any IAM APIs unless MFA authentication information is -// included in the request. +// * You cannot call any IAM API operations unless MFA authentication information +// is included in the request. // -// * You cannot call any STS API exceptAssumeRole or GetCallerIdentity. +// * You cannot call any STS API except AssumeRole or GetCallerIdentity. // -// We recommend that you do not call GetSessionToken with root account credentials. -// Instead, follow our best practices (http://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#create-iam-users) +// We recommend that you do not call GetSessionToken with AWS account root user +// credentials. Instead, follow our best practices (https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#create-iam-users) // by creating one or more IAM users, giving them the necessary permissions, // and using IAM users for everyday interaction with AWS. // -// The permissions associated with the temporary security credentials returned -// by GetSessionToken are based on the permissions associated with account or -// IAM user whose credentials are used to call the action. If GetSessionToken -// is called using root account credentials, the temporary credentials have -// root account permissions. Similarly, if GetSessionToken is called using the -// credentials of an IAM user, the temporary credentials have the same permissions -// as the IAM user. +// The credentials that are returned by GetSessionToken are based on permissions +// associated with the user whose credentials were used to call the operation. +// If GetSessionToken is called using AWS account root user credentials, the +// temporary credentials have root user permissions. Similarly, if GetSessionToken +// is called using the credentials of an IAM user, the temporary credentials +// have the same permissions as the IAM user. // // For more information about using GetSessionToken to create temporary credentials, -// go to Temporary Credentials for Users in Untrusted Environments (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken) +// go to Temporary Credentials for Users in Untrusted Environments (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken) // in the IAM User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1056,7 +1135,7 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request. // STS is not activated in the requested region for the account that is being // asked to generate credentials. The account administrator must use the IAM // console to activate STS in that region. For more information, see Activating -// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// and Deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) // in the IAM User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken @@ -1091,7 +1170,7 @@ type AssumeRoleInput struct { // a session duration of 12 hours, but your administrator set the maximum session // duration to 6 hours, your operation fails. To learn how to view the maximum // value for your role, see View the Maximum Session Duration Setting for a - // Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) + // Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) // in the IAM User Guide. // // By default, the value is set to 3600 seconds. @@ -1101,51 +1180,77 @@ type AssumeRoleInput struct { // to the federation endpoint for a console sign-in token takes a SessionDuration // parameter that specifies the maximum length of the console session. For more // information, see Creating a URL that Enables Federated Users to Access the - // AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) + // AWS Management Console (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) // in the IAM User Guide. DurationSeconds *int64 `min:"900" type:"integer"` - // A unique identifier that is used by third parties when assuming roles in - // their customers' accounts. For each role that the third party can assume, - // they should instruct their customers to ensure the role's trust policy checks - // for the external ID that the third party generated. Each time the third party - // assumes the role, they should pass the customer's external ID. The external - // ID is useful in order to help third parties bind a role to the customer who - // created it. For more information about the external ID, see How to Use an - // External ID When Granting Access to Your AWS Resources to a Third Party (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) + // A unique identifier that might be required when you assume a role in another + // account. If the administrator of the account to which the role belongs provided + // you with an external ID, then provide that value in the ExternalId parameter. + // This value can be any string, such as a passphrase or account number. A cross-account + // role is usually set up to trust everyone in an account. Therefore, the administrator + // of the trusting account might send an external ID to the administrator of + // the trusted account. That way, only someone with the ID can assume the role, + // rather than everyone in the account. For more information about the external + // ID, see How to Use an External ID When Granting Access to Your AWS Resources + // to a Third Party (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) // in the IAM User Guide. // - // The regex used to validated this parameter is a string of characters consisting + // The regex used to validate this parameter is a string of characters consisting // of upper- and lower-case alphanumeric characters with no spaces. You can // also include underscores or any of the following characters: =,.@:/- ExternalId *string `min:"2" type:"string"` - // An IAM policy in JSON format. - // - // This parameter is optional. If you pass a policy, the temporary security - // credentials that are returned by the operation have the permissions that - // are allowed by both (the intersection of) the access policy of the role that - // is being assumed, and the policy that you pass. This gives you a way to further - // restrict the permissions for the resulting temporary security credentials. - // You cannot use the passed policy to grant permissions that are in excess - // of those allowed by the access policy of the role that is being assumed. - // For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, - // and AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) + // An IAM policy in JSON format that you want to use as an inline session policy. + // + // This parameter is optional. Passing policies to this operation returns new + // temporary credentials. The resulting session's permissions are the intersection + // of the role's identity-based policy and the session policies. You can use + // the role's temporary credentials in subsequent AWS API calls to access resources + // in the account that owns the role. You cannot use session policies to grant + // more permissions than those allowed by the identity-based policy of the role + // that is being assumed. For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // - // The format for this parameter, as described by its regex pattern, is a string - // of characters up to 2048 characters in length. The characters can be any - // ASCII character from the space character to the end of the valid character - // list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), + // The plain text that you use for both inline and managed session policies + // shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII + // character from the space character to the end of the valid character list + // (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), // and carriage return (\u000D) characters. // - // The policy plain text must be 2048 bytes or shorter. However, an internal - // conversion compresses it into a packed binary format with a separate limit. - // The PackedPolicySize response element indicates by percentage how close to - // the upper size limit the policy is, with 100% equaling the maximum allowed - // size. + // The characters in this parameter count towards the 2048 character session + // policy guideline. However, an AWS conversion compresses the session policies + // into a packed binary format that has a separate limit. This is the enforced + // limit. The PackedPolicySize response element indicates by percentage how + // close the policy is to the upper size limit. Policy *string `min:"1" type:"string"` + // The Amazon Resource Names (ARNs) of the IAM managed policies that you want + // to use as managed session policies. The policies must exist in the same account + // as the role. + // + // This parameter is optional. You can provide up to 10 managed policy ARNs. + // However, the plain text that you use for both inline and managed session + // policies shouldn't exceed 2048 characters. For more information about ARNs, + // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // The characters in this parameter count towards the 2048 character session + // policy guideline. However, an AWS conversion compresses the session policies + // into a packed binary format that has a separate limit. This is the enforced + // limit. The PackedPolicySize response element indicates by percentage how + // close the policy is to the upper size limit. + // + // Passing policies to this operation returns new temporary credentials. The + // resulting session's permissions are the intersection of the role's identity-based + // policy and the session policies. You can use the role's temporary credentials + // in subsequent AWS API calls to access resources in the account that owns + // the role. You cannot use session policies to grant more permissions than + // those allowed by the identity-based policy of the role that is being assumed. + // For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) + // in the IAM User Guide. + PolicyArns []*PolicyDescriptorType `type:"list"` + // The Amazon Resource Name (ARN) of the role to assume. // // RoleArn is a required field @@ -1158,8 +1263,8 @@ type AssumeRoleInput struct { // scenarios, the role session name is visible to, and can be logged by the // account that owns the role. The role session name is also used in the ARN // of the assumed role principal. This means that subsequent cross-account API - // requests using the temporary security credentials will expose the role session - // name to the external account in their CloudTrail logs. + // requests that use the temporary security credentials will expose the role + // session name to the external account in their AWS CloudTrail logs. // // The regex used to validate this parameter is a string of characters consisting // of upper- and lower-case alphanumeric characters with no spaces. You can @@ -1229,6 +1334,16 @@ func (s *AssumeRoleInput) Validate() error { if s.TokenCode != nil && len(*s.TokenCode) < 6 { invalidParams.Add(request.NewErrParamMinLen("TokenCode", 6)) } + if s.PolicyArns != nil { + for i, v := range s.PolicyArns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PolicyArns", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -1254,6 +1369,12 @@ func (s *AssumeRoleInput) SetPolicy(v string) *AssumeRoleInput { return s } +// SetPolicyArns sets the PolicyArns field's value. +func (s *AssumeRoleInput) SetPolicyArns(v []*PolicyDescriptorType) *AssumeRoleInput { + s.PolicyArns = v + return s +} + // SetRoleArn sets the RoleArn field's value. func (s *AssumeRoleInput) SetRoleArn(v string) *AssumeRoleInput { s.RoleArn = &v @@ -1293,10 +1414,8 @@ type AssumeRoleOutput struct { // The temporary security credentials, which include an access key ID, a secret // access key, and a security (or session) token. // - // Note: The size of the security token that STS APIs return is not fixed. We - // strongly recommend that you make no assumptions about the maximum size. As - // of this writing, the typical size is less than 4096 bytes, but that can vary. - // Also, future updates to AWS might require larger sizes. + // The size of the security token that STS API operations return is not fixed. + // We strongly recommend that you make no assumptions about the maximum size. Credentials *Credentials `type:"structure"` // A percentage value that indicates the size of the policy in packed form. @@ -1346,7 +1465,7 @@ type AssumeRoleWithSAMLInput struct { // specify a session duration of 12 hours, but your administrator set the maximum // session duration to 6 hours, your operation fails. To learn how to view the // maximum value for your role, see View the Maximum Session Duration Setting - // for a Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) + // for a Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) // in the IAM User Guide. // // By default, the value is set to 3600 seconds. @@ -1356,36 +1475,60 @@ type AssumeRoleWithSAMLInput struct { // to the federation endpoint for a console sign-in token takes a SessionDuration // parameter that specifies the maximum length of the console session. For more // information, see Creating a URL that Enables Federated Users to Access the - // AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) + // AWS Management Console (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) // in the IAM User Guide. DurationSeconds *int64 `min:"900" type:"integer"` - // An IAM policy in JSON format. - // - // The policy parameter is optional. If you pass a policy, the temporary security - // credentials that are returned by the operation have the permissions that - // are allowed by both the access policy of the role that is being assumed, - // and the policy that you pass. This gives you a way to further restrict the - // permissions for the resulting temporary security credentials. You cannot - // use the passed policy to grant permissions that are in excess of those allowed - // by the access policy of the role that is being assumed. For more information, - // Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity - // (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) + // An IAM policy in JSON format that you want to use as an inline session policy. + // + // This parameter is optional. Passing policies to this operation returns new + // temporary credentials. The resulting session's permissions are the intersection + // of the role's identity-based policy and the session policies. You can use + // the role's temporary credentials in subsequent AWS API calls to access resources + // in the account that owns the role. You cannot use session policies to grant + // more permissions than those allowed by the identity-based policy of the role + // that is being assumed. For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // - // The format for this parameter, as described by its regex pattern, is a string - // of characters up to 2048 characters in length. The characters can be any - // ASCII character from the space character to the end of the valid character - // list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), + // The plain text that you use for both inline and managed session policies + // shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII + // character from the space character to the end of the valid character list + // (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), // and carriage return (\u000D) characters. // - // The policy plain text must be 2048 bytes or shorter. However, an internal - // conversion compresses it into a packed binary format with a separate limit. - // The PackedPolicySize response element indicates by percentage how close to - // the upper size limit the policy is, with 100% equaling the maximum allowed - // size. + // The characters in this parameter count towards the 2048 character session + // policy guideline. However, an AWS conversion compresses the session policies + // into a packed binary format that has a separate limit. This is the enforced + // limit. The PackedPolicySize response element indicates by percentage how + // close the policy is to the upper size limit. Policy *string `min:"1" type:"string"` + // The Amazon Resource Names (ARNs) of the IAM managed policies that you want + // to use as managed session policies. The policies must exist in the same account + // as the role. + // + // This parameter is optional. You can provide up to 10 managed policy ARNs. + // However, the plain text that you use for both inline and managed session + // policies shouldn't exceed 2048 characters. For more information about ARNs, + // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // The characters in this parameter count towards the 2048 character session + // policy guideline. However, an AWS conversion compresses the session policies + // into a packed binary format that has a separate limit. This is the enforced + // limit. The PackedPolicySize response element indicates by percentage how + // close the policy is to the upper size limit. + // + // Passing policies to this operation returns new temporary credentials. The + // resulting session's permissions are the intersection of the role's identity-based + // policy and the session policies. You can use the role's temporary credentials + // in subsequent AWS API calls to access resources in the account that owns + // the role. You cannot use session policies to grant more permissions than + // those allowed by the identity-based policy of the role that is being assumed. + // For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) + // in the IAM User Guide. + PolicyArns []*PolicyDescriptorType `type:"list"` + // The Amazon Resource Name (ARN) of the SAML provider in IAM that describes // the IdP. // @@ -1399,8 +1542,8 @@ type AssumeRoleWithSAMLInput struct { // The base-64 encoded SAML authentication response provided by the IdP. // - // For more information, see Configuring a Relying Party and Adding Claims (http://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html) - // in the Using IAM guide. + // For more information, see Configuring a Relying Party and Adding Claims (https://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html) + // in the IAM User Guide. // // SAMLAssertion is a required field SAMLAssertion *string `min:"4" type:"string" required:"true"` @@ -1443,6 +1586,16 @@ func (s *AssumeRoleWithSAMLInput) Validate() error { if s.SAMLAssertion != nil && len(*s.SAMLAssertion) < 4 { invalidParams.Add(request.NewErrParamMinLen("SAMLAssertion", 4)) } + if s.PolicyArns != nil { + for i, v := range s.PolicyArns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PolicyArns", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -1462,6 +1615,12 @@ func (s *AssumeRoleWithSAMLInput) SetPolicy(v string) *AssumeRoleWithSAMLInput { return s } +// SetPolicyArns sets the PolicyArns field's value. +func (s *AssumeRoleWithSAMLInput) SetPolicyArns(v []*PolicyDescriptorType) *AssumeRoleWithSAMLInput { + s.PolicyArns = v + return s +} + // SetPrincipalArn sets the PrincipalArn field's value. func (s *AssumeRoleWithSAMLInput) SetPrincipalArn(v string) *AssumeRoleWithSAMLInput { s.PrincipalArn = &v @@ -1496,10 +1655,8 @@ type AssumeRoleWithSAMLOutput struct { // The temporary security credentials, which include an access key ID, a secret // access key, and a security (or session) token. // - // Note: The size of the security token that STS APIs return is not fixed. We - // strongly recommend that you make no assumptions about the maximum size. As - // of this writing, the typical size is less than 4096 bytes, but that can vary. - // Also, future updates to AWS might require larger sizes. + // The size of the security token that STS API operations return is not fixed. + // We strongly recommend that you make no assumptions about the maximum size. Credentials *Credentials `type:"structure"` // The value of the Issuer element of the SAML assertion. @@ -1603,7 +1760,7 @@ type AssumeRoleWithWebIdentityInput struct { // a session duration of 12 hours, but your administrator set the maximum session // duration to 6 hours, your operation fails. To learn how to view the maximum // value for your role, see View the Maximum Session Duration Setting for a - // Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) + // Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) // in the IAM User Guide. // // By default, the value is set to 3600 seconds. @@ -1613,35 +1770,60 @@ type AssumeRoleWithWebIdentityInput struct { // to the federation endpoint for a console sign-in token takes a SessionDuration // parameter that specifies the maximum length of the console session. For more // information, see Creating a URL that Enables Federated Users to Access the - // AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) + // AWS Management Console (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) // in the IAM User Guide. DurationSeconds *int64 `min:"900" type:"integer"` - // An IAM policy in JSON format. + // An IAM policy in JSON format that you want to use as an inline session policy. // - // The policy parameter is optional. If you pass a policy, the temporary security - // credentials that are returned by the operation have the permissions that - // are allowed by both the access policy of the role that is being assumed, - // and the policy that you pass. This gives you a way to further restrict the - // permissions for the resulting temporary security credentials. You cannot - // use the passed policy to grant permissions that are in excess of those allowed - // by the access policy of the role that is being assumed. For more information, - // see Permissions for AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) + // This parameter is optional. Passing policies to this operation returns new + // temporary credentials. The resulting session's permissions are the intersection + // of the role's identity-based policy and the session policies. You can use + // the role's temporary credentials in subsequent AWS API calls to access resources + // in the account that owns the role. You cannot use session policies to grant + // more permissions than those allowed by the identity-based policy of the role + // that is being assumed. For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // - // The format for this parameter, as described by its regex pattern, is a string - // of characters up to 2048 characters in length. The characters can be any - // ASCII character from the space character to the end of the valid character - // list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), + // The plain text that you use for both inline and managed session policies + // shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII + // character from the space character to the end of the valid character list + // (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), // and carriage return (\u000D) characters. // - // The policy plain text must be 2048 bytes or shorter. However, an internal - // conversion compresses it into a packed binary format with a separate limit. - // The PackedPolicySize response element indicates by percentage how close to - // the upper size limit the policy is, with 100% equaling the maximum allowed - // size. + // The characters in this parameter count towards the 2048 character session + // policy guideline. However, an AWS conversion compresses the session policies + // into a packed binary format that has a separate limit. This is the enforced + // limit. The PackedPolicySize response element indicates by percentage how + // close the policy is to the upper size limit. Policy *string `min:"1" type:"string"` + // The Amazon Resource Names (ARNs) of the IAM managed policies that you want + // to use as managed session policies. The policies must exist in the same account + // as the role. + // + // This parameter is optional. You can provide up to 10 managed policy ARNs. + // However, the plain text that you use for both inline and managed session + // policies shouldn't exceed 2048 characters. For more information about ARNs, + // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // The characters in this parameter count towards the 2048 character session + // policy guideline. However, an AWS conversion compresses the session policies + // into a packed binary format that has a separate limit. This is the enforced + // limit. The PackedPolicySize response element indicates by percentage how + // close the policy is to the upper size limit. + // + // Passing policies to this operation returns new temporary credentials. The + // resulting session's permissions are the intersection of the role's identity-based + // policy and the session policies. You can use the role's temporary credentials + // in subsequent AWS API calls to access resources in the account that owns + // the role. You cannot use session policies to grant more permissions than + // those allowed by the identity-based policy of the role that is being assumed. + // For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) + // in the IAM User Guide. + PolicyArns []*PolicyDescriptorType `type:"list"` + // The fully qualified host component of the domain name of the identity provider. // // Specify this value only for OAuth 2.0 access tokens. Currently www.amazon.com @@ -1718,6 +1900,16 @@ func (s *AssumeRoleWithWebIdentityInput) Validate() error { if s.WebIdentityToken != nil && len(*s.WebIdentityToken) < 4 { invalidParams.Add(request.NewErrParamMinLen("WebIdentityToken", 4)) } + if s.PolicyArns != nil { + for i, v := range s.PolicyArns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PolicyArns", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -1737,6 +1929,12 @@ func (s *AssumeRoleWithWebIdentityInput) SetPolicy(v string) *AssumeRoleWithWebI return s } +// SetPolicyArns sets the PolicyArns field's value. +func (s *AssumeRoleWithWebIdentityInput) SetPolicyArns(v []*PolicyDescriptorType) *AssumeRoleWithWebIdentityInput { + s.PolicyArns = v + return s +} + // SetProviderId sets the ProviderId field's value. func (s *AssumeRoleWithWebIdentityInput) SetProviderId(v string) *AssumeRoleWithWebIdentityInput { s.ProviderId = &v @@ -1781,10 +1979,8 @@ type AssumeRoleWithWebIdentityOutput struct { // The temporary security credentials, which include an access key ID, a secret // access key, and a security token. // - // Note: The size of the security token that STS APIs return is not fixed. We - // strongly recommend that you make no assumptions about the maximum size. As - // of this writing, the typical size is less than 4096 bytes, but that can vary. - // Also, future updates to AWS might require larger sizes. + // The size of the security token that STS API operations return is not fixed. + // We strongly recommend that you make no assumptions about the maximum size. Credentials *Credentials `type:"structure"` // A percentage value that indicates the size of the policy in packed form. @@ -1793,7 +1989,7 @@ type AssumeRoleWithWebIdentityOutput struct { PackedPolicySize *int64 `type:"integer"` // The issuing authority of the web identity token presented. For OpenID Connect - // ID Tokens this contains the value of the iss field. For OAuth 2.0 access + // ID tokens, this contains the value of the iss field. For OAuth 2.0 access // tokens, this contains the value of the ProviderId parameter that was passed // in the AssumeRoleWithWebIdentity request. Provider *string `type:"string"` @@ -1860,7 +2056,7 @@ type AssumedRoleUser struct { // The ARN of the temporary security credentials that are returned from the // AssumeRole action. For more information about ARNs and how to use them in - // policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) + // policies, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) // in Using IAM. // // Arn is a required field @@ -2028,7 +2224,7 @@ type FederatedUser struct { // The ARN that specifies the federated user that is associated with the credentials. // For more information about ARNs and how to use them in policies, see IAM - // Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) + // Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) // in Using IAM. // // Arn is a required field @@ -2063,6 +2259,73 @@ func (s *FederatedUser) SetFederatedUserId(v string) *FederatedUser { return s } +type GetAccessKeyInfoInput struct { + _ struct{} `type:"structure"` + + // The identifier of an access key. + // + // This parameter allows (through its regex pattern) a string of characters + // that can consist of any upper- or lowercased letter or digit. + // + // AccessKeyId is a required field + AccessKeyId *string `min:"16" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetAccessKeyInfoInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAccessKeyInfoInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAccessKeyInfoInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAccessKeyInfoInput"} + if s.AccessKeyId == nil { + invalidParams.Add(request.NewErrParamRequired("AccessKeyId")) + } + if s.AccessKeyId != nil && len(*s.AccessKeyId) < 16 { + invalidParams.Add(request.NewErrParamMinLen("AccessKeyId", 16)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessKeyId sets the AccessKeyId field's value. +func (s *GetAccessKeyInfoInput) SetAccessKeyId(v string) *GetAccessKeyInfoInput { + s.AccessKeyId = &v + return s +} + +type GetAccessKeyInfoOutput struct { + _ struct{} `type:"structure"` + + // The number used to identify the AWS account. + Account *string `type:"string"` +} + +// String returns the string representation +func (s GetAccessKeyInfoOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAccessKeyInfoOutput) GoString() string { + return s.String() +} + +// SetAccount sets the Account field's value. +func (s *GetAccessKeyInfoOutput) SetAccount(v string) *GetAccessKeyInfoOutput { + s.Account = &v + return s +} + type GetCallerIdentityInput struct { _ struct{} `type:"structure"` } @@ -2090,8 +2353,8 @@ type GetCallerIdentityOutput struct { Arn *string `min:"20" type:"string"` // The unique identifier of the calling entity. The exact value depends on the - // type of entity making the call. The values returned are those listed in the - // aws:userid column in the Principal table (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable) + // type of entity that is making the call. The values returned are those listed + // in the aws:userid column in the Principal table (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable) // found on the Policy Variables reference page in the IAM User Guide. UserId *string `type:"string"` } @@ -2128,12 +2391,11 @@ type GetFederationTokenInput struct { _ struct{} `type:"structure"` // The duration, in seconds, that the session should last. Acceptable durations - // for federation sessions range from 900 seconds (15 minutes) to 129600 seconds - // (36 hours), with 43200 seconds (12 hours) as the default. Sessions obtained - // using AWS account (root) credentials are restricted to a maximum of 3600 + // for federation sessions range from 900 seconds (15 minutes) to 129,600 seconds + // (36 hours), with 43,200 seconds (12 hours) as the default. Sessions obtained + // using AWS account root user credentials are restricted to a maximum of 3,600 // seconds (one hour). If the specified duration is longer than one hour, the - // session obtained by using AWS account (root) credentials defaults to one - // hour. + // session obtained by using root user credentials defaults to one hour. DurationSeconds *int64 `min:"900" type:"integer"` // The name of the federated user. The name is used as an identifier for the @@ -2148,36 +2410,73 @@ type GetFederationTokenInput struct { // Name is a required field Name *string `min:"2" type:"string" required:"true"` - // An IAM policy in JSON format that is passed with the GetFederationToken call - // and evaluated along with the policy or policies that are attached to the - // IAM user whose credentials are used to call GetFederationToken. The passed - // policy is used to scope down the permissions that are available to the IAM - // user, by allowing only a subset of the permissions that are granted to the - // IAM user. The passed policy cannot grant more permissions than those granted - // to the IAM user. The final permissions for the federated user are the most - // restrictive set based on the intersection of the passed policy and the IAM - // user policy. - // - // If you do not pass a policy, the resulting temporary security credentials - // have no effective permissions. The only exception is when the temporary security - // credentials are used to access a resource that has a resource-based policy - // that specifically allows the federated user to access the resource. - // - // The format for this parameter, as described by its regex pattern, is a string - // of characters up to 2048 characters in length. The characters can be any - // ASCII character from the space character to the end of the valid character - // list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), - // and carriage return (\u000D) characters. + // An IAM policy in JSON format that you want to use as an inline session policy. + // + // You must pass an inline or managed session policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) + // to this operation. You can pass a single JSON policy document to use as an + // inline session policy. You can also specify up to 10 managed policies to + // use as managed session policies. // - // The policy plain text must be 2048 bytes or shorter. However, an internal - // conversion compresses it into a packed binary format with a separate limit. - // The PackedPolicySize response element indicates by percentage how close to - // the upper size limit the policy is, with 100% equaling the maximum allowed - // size. + // This parameter is optional. However, if you do not pass any session policies, + // then the resulting federated user session has no permissions. The only exception + // is when the credentials are used to access a resource that has a resource-based + // policy that specifically references the federated user session in the Principal + // element of the policy. // - // For more information about how permissions work, see Permissions for GetFederationToken - // (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getfederationtoken.html). + // When you pass session policies, the session permissions are the intersection + // of the IAM user policies and the session policies that you pass. This gives + // you a way to further restrict the permissions for a federated user. You cannot + // use session policies to grant more permissions than those that are defined + // in the permissions policy of the IAM user. For more information, see Session + // Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) + // in the IAM User Guide. + // + // The plain text that you use for both inline and managed session policies + // shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII + // character from the space character to the end of the valid character list + // (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), + // and carriage return (\u000D) characters. + // + // The characters in this parameter count towards the 2048 character session + // policy guideline. However, an AWS conversion compresses the session policies + // into a packed binary format that has a separate limit. This is the enforced + // limit. The PackedPolicySize response element indicates by percentage how + // close the policy is to the upper size limit. Policy *string `min:"1" type:"string"` + + // The Amazon Resource Names (ARNs) of the IAM managed policies that you want + // to use as a managed session policy. The policies must exist in the same account + // as the IAM user that is requesting federated access. + // + // You must pass an inline or managed session policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) + // to this operation. You can pass a single JSON policy document to use as an + // inline session policy. You can also specify up to 10 managed policies to + // use as managed session policies. The plain text that you use for both inline + // and managed session policies shouldn't exceed 2048 characters. You can provide + // up to 10 managed policy ARNs. For more information about ARNs, see Amazon + // Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // This parameter is optional. However, if you do not pass any session policies, + // then the resulting federated user session has no permissions. The only exception + // is when the credentials are used to access a resource that has a resource-based + // policy that specifically references the federated user session in the Principal + // element of the policy. + // + // When you pass session policies, the session permissions are the intersection + // of the IAM user policies and the session policies that you pass. This gives + // you a way to further restrict the permissions for a federated user. You cannot + // use session policies to grant more permissions than those that are defined + // in the permissions policy of the IAM user. For more information, see Session + // Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) + // in the IAM User Guide. + // + // The characters in this parameter count towards the 2048 character session + // policy guideline. However, an AWS conversion compresses the session policies + // into a packed binary format that has a separate limit. This is the enforced + // limit. The PackedPolicySize response element indicates by percentage how + // close the policy is to the upper size limit. + PolicyArns []*PolicyDescriptorType `type:"list"` } // String returns the string representation @@ -2205,6 +2504,16 @@ func (s *GetFederationTokenInput) Validate() error { if s.Policy != nil && len(*s.Policy) < 1 { invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) } + if s.PolicyArns != nil { + for i, v := range s.PolicyArns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PolicyArns", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -2230,6 +2539,12 @@ func (s *GetFederationTokenInput) SetPolicy(v string) *GetFederationTokenInput { return s } +// SetPolicyArns sets the PolicyArns field's value. +func (s *GetFederationTokenInput) SetPolicyArns(v []*PolicyDescriptorType) *GetFederationTokenInput { + s.PolicyArns = v + return s +} + // Contains the response to a successful GetFederationToken request, including // temporary AWS credentials that can be used to make AWS requests. type GetFederationTokenOutput struct { @@ -2238,10 +2553,8 @@ type GetFederationTokenOutput struct { // The temporary security credentials, which include an access key ID, a secret // access key, and a security (or session) token. // - // Note: The size of the security token that STS APIs return is not fixed. We - // strongly recommend that you make no assumptions about the maximum size. As - // of this writing, the typical size is less than 4096 bytes, but that can vary. - // Also, future updates to AWS might require larger sizes. + // The size of the security token that STS API operations return is not fixed. + // We strongly recommend that you make no assumptions about the maximum size. Credentials *Credentials `type:"structure"` // Identifiers for the federated user associated with the credentials (such @@ -2288,11 +2601,11 @@ type GetSessionTokenInput struct { _ struct{} `type:"structure"` // The duration, in seconds, that the credentials should remain valid. Acceptable - // durations for IAM user sessions range from 900 seconds (15 minutes) to 129600 - // seconds (36 hours), with 43200 seconds (12 hours) as the default. Sessions - // for AWS account owners are restricted to a maximum of 3600 seconds (one hour). - // If the duration is longer than one hour, the session for AWS account owners - // defaults to one hour. + // durations for IAM user sessions range from 900 seconds (15 minutes) to 129,600 + // seconds (36 hours), with 43,200 seconds (12 hours) as the default. Sessions + // for AWS account owners are restricted to a maximum of 3,600 seconds (one + // hour). If the duration is longer than one hour, the session for AWS account + // owners defaults to one hour. DurationSeconds *int64 `min:"900" type:"integer"` // The identification number of the MFA device that is associated with the IAM @@ -2303,16 +2616,16 @@ type GetSessionTokenInput struct { // You can find the device for an IAM user by going to the AWS Management Console // and viewing the user's security credentials. // - // The regex used to validated this parameter is a string of characters consisting + // The regex used to validate this parameter is a string of characters consisting // of upper- and lower-case alphanumeric characters with no spaces. You can // also include underscores or any of the following characters: =,.@:/- SerialNumber *string `min:"9" type:"string"` // The value provided by the MFA device, if MFA is required. If any policy requires // the IAM user to submit an MFA code, specify this value. If MFA authentication - // is required, and the user does not provide a code when requesting a set of - // temporary security credentials, the user will receive an "access denied" - // response when requesting resources that require MFA authentication. + // is required, the user must provide a code when requesting a set of temporary + // security credentials. A user who fails to provide the code receives an "access + // denied" response when requesting resources that require MFA authentication. // // The format for this parameter, as described by its regex pattern, is a sequence // of six numeric digits. @@ -2374,10 +2687,8 @@ type GetSessionTokenOutput struct { // The temporary security credentials, which include an access key ID, a secret // access key, and a security (or session) token. // - // Note: The size of the security token that STS APIs return is not fixed. We - // strongly recommend that you make no assumptions about the maximum size. As - // of this writing, the typical size is less than 4096 bytes, but that can vary. - // Also, future updates to AWS might require larger sizes. + // The size of the security token that STS API operations return is not fixed. + // We strongly recommend that you make no assumptions about the maximum size. Credentials *Credentials `type:"structure"` } @@ -2396,3 +2707,44 @@ func (s *GetSessionTokenOutput) SetCredentials(v *Credentials) *GetSessionTokenO s.Credentials = v return s } + +// A reference to the IAM managed policy that is passed as a session policy +// for a role session or a federated user session. +type PolicyDescriptorType struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the IAM managed policy to use as a session + // policy for the role. For more information about ARNs, see Amazon Resource + // Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + Arn *string `locationName:"arn" min:"20" type:"string"` +} + +// String returns the string representation +func (s PolicyDescriptorType) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PolicyDescriptorType) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PolicyDescriptorType) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PolicyDescriptorType"} + if s.Arn != nil && len(*s.Arn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *PolicyDescriptorType) SetArn(v string) *PolicyDescriptorType { + s.Arn = &v + return s +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go b/vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go deleted file mode 100644 index 4010cc7fa14..00000000000 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go +++ /dev/null @@ -1,12 +0,0 @@ -package sts - -import "github.com/aws/aws-sdk-go/aws/request" - -func init() { - initRequest = func(r *request.Request) { - switch r.Operation.Name { - case opAssumeRoleWithSAML, opAssumeRoleWithWebIdentity: - r.Handlers.Sign.Clear() // these operations are unsigned - } - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go b/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go index ef681ab0c63..fcb720dcac6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go @@ -7,22 +7,14 @@ // request temporary, limited-privilege credentials for AWS Identity and Access // Management (IAM) users or for users that you authenticate (federated users). // This guide provides descriptions of the STS API. For more detailed information -// about using this service, go to Temporary Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html). -// -// As an alternative to using the API, you can use one of the AWS SDKs, which -// consist of libraries and sample code for various programming languages and -// platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient -// way to create programmatic access to STS. For example, the SDKs take care -// of cryptographically signing requests, managing errors, and retrying requests -// automatically. For information about the AWS SDKs, including how to download -// and install them, see the Tools for Amazon Web Services page (http://aws.amazon.com/tools/). +// about using this service, go to Temporary Security Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html). // // For information about setting up signatures and authorization through the -// API, go to Signing AWS API Requests (http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) +// API, go to Signing AWS API Requests (https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) // in the AWS General Reference. For general information about the Query API, -// go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html) +// go to Making Query Requests (https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html) // in Using IAM. For information about using security tokens with other AWS -// products, go to AWS Services That Work with IAM (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) +// products, go to AWS Services That Work with IAM (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) // in the IAM User Guide. // // If you're new to AWS and need additional technical information about a specific @@ -31,14 +23,38 @@ // // Endpoints // -// The AWS Security Token Service (STS) has a default endpoint of https://sts.amazonaws.com -// that maps to the US East (N. Virginia) region. Additional regions are available -// and are activated by default. For more information, see Activating and Deactivating -// AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// By default, AWS Security Token Service (STS) is available as a global service, +// and all AWS STS requests go to a single endpoint at https://sts.amazonaws.com. +// Global requests map to the US East (N. Virginia) region. AWS recommends using +// Regional AWS STS endpoints instead of the global endpoint to reduce latency, +// build in redundancy, and increase session token validity. For more information, +// see Managing AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the IAM User Guide. +// +// Most AWS Regions are enabled for operations in all AWS services by default. +// Those Regions are automatically activated for use with AWS STS. Some Regions, +// such as Asia Pacific (Hong Kong), must be manually enabled. To learn more +// about enabling and disabling AWS Regions, see Managing AWS Regions (https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) +// in the AWS General Reference. When you enable these AWS Regions, they are +// automatically activated for use with AWS STS. You cannot activate the STS +// endpoint for a Region that is disabled. Tokens that are valid in all AWS +// Regions are longer than tokens that are valid in Regions that are enabled +// by default. Changing this setting might affect existing systems where you +// temporarily store tokens. For more information, see Managing Global Endpoint +// Session Tokens (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#sts-regions-manage-tokens) // in the IAM User Guide. // -// For information about STS endpoints, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region) -// in the AWS General Reference. +// After you activate a Region for use with AWS STS, you can direct AWS STS +// API calls to that Region. AWS STS recommends that you provide both the Region +// and endpoint when you make calls to a Regional endpoint. You can provide +// the Region alone for manually enabled Regions, such as Asia Pacific (Hong +// Kong). In this case, the calls are directed to the STS Regional endpoint. +// However, if you provide the Region alone for Regions enabled by default, +// the calls are directed to the global endpoint of https://sts.amazonaws.com. +// +// To view the list of AWS STS endpoints and whether they are active by default, +// see Writing Code to Use AWS STS Regions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#id_credentials_temp_enable-regions_writing_code) +// in the IAM User Guide. // // Recording API requests // @@ -46,8 +62,28 @@ // your AWS account and delivers log files to an Amazon S3 bucket. By using // information collected by CloudTrail, you can determine what requests were // successfully made to STS, who made the request, when it was made, and so -// on. To learn more about CloudTrail, including how to turn it on and find -// your log files, see the AWS CloudTrail User Guide (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html). +// on. +// +// If you activate AWS STS endpoints in Regions other than the default global +// endpoint, then you must also turn on CloudTrail logging in those Regions. +// This is necessary to record any AWS STS API calls that are made in those +// Regions. For more information, see Turning On CloudTrail in Additional Regions +// (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/aggregating_logs_regions_turn_on_ct.html) +// in the AWS CloudTrail User Guide. +// +// AWS Security Token Service (STS) is a global service with a single endpoint +// at https://sts.amazonaws.com. Calls to this endpoint are logged as calls +// to a global service. However, because this endpoint is physically located +// in the US East (N. Virginia) Region, your logs list us-east-1 as the event +// Region. CloudTrail does not write these logs to the US East (Ohio) Region +// unless you choose to include global service logs in that Region. CloudTrail +// writes calls to all Regional endpoints to their respective Regions. For example, +// calls to sts.us-east-2.amazonaws.com are published to the US East (Ohio) +// Region and calls to sts.eu-central-1.amazonaws.com are published to the EU +// (Frankfurt) Region. +// +// To learn more about CloudTrail, including how to turn it on and find your +// log files, see the AWS CloudTrail User Guide (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html). // // See https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go b/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go index e24884ef371..41ea09c356c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go @@ -67,7 +67,7 @@ const ( // STS is not activated in the requested region for the account that is being // asked to generate credentials. The account administrator must use the IAM // console to activate STS in that region. For more information, see Activating - // and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) + // and Deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) // in the IAM User Guide. ErrCodeRegionDisabledException = "RegionDisabledException" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/stsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/sts/stsiface/interface.go new file mode 100644 index 00000000000..e2e1d6efe55 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/stsiface/interface.go @@ -0,0 +1,96 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package stsiface provides an interface to enable mocking the AWS Security Token Service service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package stsiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/sts" +) + +// STSAPI provides an interface to enable mocking the +// sts.STS service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // AWS Security Token Service. +// func myFunc(svc stsiface.STSAPI) bool { +// // Make svc.AssumeRole request +// } +// +// func main() { +// sess := session.New() +// svc := sts.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockSTSClient struct { +// stsiface.STSAPI +// } +// func (m *mockSTSClient) AssumeRole(input *sts.AssumeRoleInput) (*sts.AssumeRoleOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockSTSClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type STSAPI interface { + AssumeRole(*sts.AssumeRoleInput) (*sts.AssumeRoleOutput, error) + AssumeRoleWithContext(aws.Context, *sts.AssumeRoleInput, ...request.Option) (*sts.AssumeRoleOutput, error) + AssumeRoleRequest(*sts.AssumeRoleInput) (*request.Request, *sts.AssumeRoleOutput) + + AssumeRoleWithSAML(*sts.AssumeRoleWithSAMLInput) (*sts.AssumeRoleWithSAMLOutput, error) + AssumeRoleWithSAMLWithContext(aws.Context, *sts.AssumeRoleWithSAMLInput, ...request.Option) (*sts.AssumeRoleWithSAMLOutput, error) + AssumeRoleWithSAMLRequest(*sts.AssumeRoleWithSAMLInput) (*request.Request, *sts.AssumeRoleWithSAMLOutput) + + AssumeRoleWithWebIdentity(*sts.AssumeRoleWithWebIdentityInput) (*sts.AssumeRoleWithWebIdentityOutput, error) + AssumeRoleWithWebIdentityWithContext(aws.Context, *sts.AssumeRoleWithWebIdentityInput, ...request.Option) (*sts.AssumeRoleWithWebIdentityOutput, error) + AssumeRoleWithWebIdentityRequest(*sts.AssumeRoleWithWebIdentityInput) (*request.Request, *sts.AssumeRoleWithWebIdentityOutput) + + DecodeAuthorizationMessage(*sts.DecodeAuthorizationMessageInput) (*sts.DecodeAuthorizationMessageOutput, error) + DecodeAuthorizationMessageWithContext(aws.Context, *sts.DecodeAuthorizationMessageInput, ...request.Option) (*sts.DecodeAuthorizationMessageOutput, error) + DecodeAuthorizationMessageRequest(*sts.DecodeAuthorizationMessageInput) (*request.Request, *sts.DecodeAuthorizationMessageOutput) + + GetAccessKeyInfo(*sts.GetAccessKeyInfoInput) (*sts.GetAccessKeyInfoOutput, error) + GetAccessKeyInfoWithContext(aws.Context, *sts.GetAccessKeyInfoInput, ...request.Option) (*sts.GetAccessKeyInfoOutput, error) + GetAccessKeyInfoRequest(*sts.GetAccessKeyInfoInput) (*request.Request, *sts.GetAccessKeyInfoOutput) + + GetCallerIdentity(*sts.GetCallerIdentityInput) (*sts.GetCallerIdentityOutput, error) + GetCallerIdentityWithContext(aws.Context, *sts.GetCallerIdentityInput, ...request.Option) (*sts.GetCallerIdentityOutput, error) + GetCallerIdentityRequest(*sts.GetCallerIdentityInput) (*request.Request, *sts.GetCallerIdentityOutput) + + GetFederationToken(*sts.GetFederationTokenInput) (*sts.GetFederationTokenOutput, error) + GetFederationTokenWithContext(aws.Context, *sts.GetFederationTokenInput, ...request.Option) (*sts.GetFederationTokenOutput, error) + GetFederationTokenRequest(*sts.GetFederationTokenInput) (*request.Request, *sts.GetFederationTokenOutput) + + GetSessionToken(*sts.GetSessionTokenInput) (*sts.GetSessionTokenOutput, error) + GetSessionTokenWithContext(aws.Context, *sts.GetSessionTokenInput, ...request.Option) (*sts.GetSessionTokenOutput, error) + GetSessionTokenRequest(*sts.GetSessionTokenInput) (*request.Request, *sts.GetSessionTokenOutput) +} + +var _ STSAPI = (*sts.STS)(nil) diff --git a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/common/v1/common.pb.go b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/common/v1/common.pb.go index 12b578d068d..a6f0febe251 100644 --- a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/common/v1/common.pb.go +++ b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/common/v1/common.pb.go @@ -34,19 +34,21 @@ const ( LibraryInfo_PHP LibraryInfo_Language = 7 LibraryInfo_PYTHON LibraryInfo_Language = 8 LibraryInfo_RUBY LibraryInfo_Language = 9 + LibraryInfo_WEB_JS LibraryInfo_Language = 10 ) var LibraryInfo_Language_name = map[int32]string{ - 0: "LANGUAGE_UNSPECIFIED", - 1: "CPP", - 2: "C_SHARP", - 3: "ERLANG", - 4: "GO_LANG", - 5: "JAVA", - 6: "NODE_JS", - 7: "PHP", - 8: "PYTHON", - 9: "RUBY", + 0: "LANGUAGE_UNSPECIFIED", + 1: "CPP", + 2: "C_SHARP", + 3: "ERLANG", + 4: "GO_LANG", + 5: "JAVA", + 6: "NODE_JS", + 7: "PHP", + 8: "PYTHON", + 9: "RUBY", + 10: "WEB_JS", } var LibraryInfo_Language_value = map[string]int32{ @@ -60,6 +62,7 @@ var LibraryInfo_Language_value = map[string]int32{ "PHP": 7, "PYTHON": 8, "RUBY": 9, + "WEB_JS": 10, } func (x LibraryInfo_Language) String() string { @@ -315,42 +318,44 @@ func init() { } var fileDescriptor_126c72ed8a252c84 = []byte{ - // 590 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0x4f, 0x4f, 0xdb, 0x3e, - 0x1c, 0xc6, 0x7f, 0x69, 0x0a, 0xb4, 0xdf, 0xfc, 0x06, 0x99, 0xc5, 0xa1, 0x62, 0x87, 0xb1, 0xee, - 0xc2, 0x0e, 0x4d, 0x06, 0x48, 0xd3, 0x34, 0x69, 0x87, 0x52, 0x3a, 0x28, 0x42, 0x25, 0x72, 0x01, - 0x89, 0x5d, 0xa2, 0xb4, 0xb8, 0xc1, 0x5a, 0x63, 0x57, 0xb6, 0x53, 0x8d, 0xd3, 0x8e, 0xd3, 0xde, - 0xc0, 0x5e, 0xd4, 0x5e, 0xd5, 0x64, 0x3b, 0x69, 0xa3, 0x71, 0x28, 0xb7, 0xef, 0x9f, 0xe7, 0xf9, - 0x38, 0x7a, 0x6c, 0x05, 0x3a, 0x7c, 0x4e, 0xd8, 0x84, 0x30, 0x99, 0xcb, 0x70, 0x2e, 0xb8, 0xe2, - 0x61, 0x92, 0x12, 0xa6, 0xc2, 0x09, 0xcf, 0x32, 0xce, 0xc2, 0xc5, 0x61, 0x51, 0x05, 0x66, 0x89, - 0xf6, 0x57, 0x72, 0x3b, 0x09, 0x8c, 0x3c, 0x28, 0x44, 0x8b, 0xc3, 0xbd, 0xd7, 0x29, 0xe7, 0xe9, - 0x8c, 0x58, 0xd8, 0x38, 0x9f, 0x86, 0x8a, 0x66, 0x44, 0xaa, 0x24, 0x9b, 0x5b, 0x43, 0xfb, 0xb7, - 0x0b, 0xf5, 0x21, 0xbf, 0x27, 0x68, 0x04, 0x40, 0xef, 0x09, 0x53, 0x74, 0x4a, 0x89, 0x68, 0x39, - 0xfb, 0xce, 0x81, 0x77, 0x74, 0x1c, 0xac, 0x3b, 0x20, 0x88, 0x04, 0x9f, 0x10, 0x29, 0x07, 0x4b, - 0x2b, 0xae, 0x60, 0x50, 0x04, 0xff, 0xcf, 0xe8, 0x58, 0x24, 0xe2, 0x31, 0xa6, 0x6c, 0xca, 0x5b, - 0x35, 0x83, 0xed, 0xac, 0xc7, 0x5e, 0x5a, 0xd7, 0x80, 0x4d, 0x39, 0xf6, 0x66, 0xab, 0x46, 0x13, - 0x25, 0x11, 0x0b, 0x3a, 0x21, 0x96, 0xe8, 0x3e, 0x97, 0x38, 0xb2, 0x2e, 0x4b, 0x94, 0xab, 0x06, - 0xdd, 0x02, 0x24, 0x4a, 0x09, 0x3a, 0xce, 0x15, 0x91, 0xad, 0xfa, 0xbe, 0x7b, 0xe0, 0x1d, 0x7d, - 0x58, 0xcf, 0xd3, 0xa1, 0x05, 0xdd, 0xa5, 0xb1, 0xcf, 0x94, 0x78, 0xc4, 0x15, 0xd2, 0xde, 0x67, - 0xd8, 0xf9, 0x67, 0x8d, 0x7c, 0x70, 0xbf, 0x91, 0x47, 0x13, 0x6e, 0x13, 0xeb, 0x12, 0xed, 0xc2, - 0xc6, 0x22, 0x99, 0xe5, 0xc4, 0x24, 0xd3, 0xc4, 0xb6, 0xf9, 0x54, 0xfb, 0xe8, 0xb4, 0x7f, 0x3a, - 0xf0, 0xf2, 0x49, 0xb8, 0xe8, 0x15, 0x34, 0x1f, 0xb8, 0x54, 0x31, 0x4b, 0x32, 0x52, 0x70, 0x1a, - 0x7a, 0x30, 0x4c, 0x32, 0xa2, 0xf1, 0x73, 0x7a, 0x6f, 0x50, 0x2f, 0xb0, 0x2e, 0x51, 0x0f, 0x76, - 0xa4, 0x4a, 0x84, 0x8a, 0x97, 0xd7, 0x5e, 0x04, 0xb6, 0x17, 0xd8, 0x87, 0x11, 0x94, 0x0f, 0x23, - 0xb8, 0x2e, 0x15, 0x78, 0xdb, 0x58, 0x96, 0x7d, 0xfb, 0x4f, 0x0d, 0xbc, 0xca, 0x7d, 0x20, 0x0c, - 0x8d, 0x59, 0xc2, 0xd2, 0x3c, 0x49, 0xed, 0x27, 0x6c, 0x3f, 0x27, 0xae, 0x0a, 0x20, 0xb8, 0x2c, - 0xdc, 0x78, 0xc9, 0x41, 0xef, 0xc0, 0x27, 0xdf, 0xe7, 0x5c, 0x28, 0x22, 0xe2, 0x05, 0x11, 0x92, - 0x72, 0x56, 0x44, 0xb2, 0x53, 0xce, 0x6f, 0xed, 0x18, 0xbd, 0x87, 0xdd, 0x09, 0x17, 0x24, 0x2e, - 0x1f, 0x56, 0x29, 0x77, 0x8d, 0x1c, 0xe9, 0x5d, 0x71, 0x58, 0xe1, 0x68, 0xff, 0x72, 0xa0, 0x51, - 0x9e, 0x89, 0x5a, 0xb0, 0x7b, 0xd9, 0x1d, 0x9e, 0xdd, 0x74, 0xcf, 0xfa, 0xf1, 0xcd, 0x70, 0x14, - 0xf5, 0x7b, 0x83, 0x2f, 0x83, 0xfe, 0xa9, 0xff, 0x1f, 0xda, 0x02, 0xb7, 0x17, 0x45, 0xbe, 0x83, - 0x3c, 0xd8, 0xea, 0xc5, 0xa3, 0xf3, 0x2e, 0x8e, 0xfc, 0x1a, 0x02, 0xd8, 0xec, 0x63, 0xed, 0xf0, - 0x5d, 0xbd, 0x38, 0xbb, 0x8a, 0x4d, 0x53, 0x47, 0x0d, 0xa8, 0x5f, 0x74, 0x6f, 0xbb, 0xfe, 0x86, - 0x1e, 0x0f, 0xaf, 0x4e, 0xfb, 0xf1, 0xc5, 0xc8, 0xdf, 0xd4, 0x94, 0xe8, 0x3c, 0xf2, 0xb7, 0xb4, - 0x31, 0xba, 0xbb, 0x3e, 0xbf, 0x1a, 0xfa, 0x0d, 0xad, 0xc5, 0x37, 0x27, 0x77, 0x7e, 0xb3, 0xfd, - 0x06, 0xbc, 0xca, 0x4b, 0x44, 0x08, 0xea, 0x95, 0xab, 0x34, 0xf5, 0xc9, 0x0f, 0x78, 0x4b, 0xf9, - 0xda, 0x44, 0x4f, 0xbc, 0x9e, 0x29, 0x23, 0xbd, 0x8c, 0x9c, 0xaf, 0x83, 0x94, 0xaa, 0x87, 0x7c, - 0xac, 0x05, 0xa1, 0xf5, 0x75, 0x28, 0x93, 0x4a, 0xe4, 0x19, 0x61, 0x2a, 0x51, 0x94, 0xb3, 0x70, - 0x85, 0xec, 0xd8, 0x9f, 0x4b, 0x4a, 0x58, 0x27, 0x7d, 0xf2, 0x8f, 0x19, 0x6f, 0x9a, 0xed, 0xf1, - 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x94, 0xe5, 0x77, 0x76, 0x8e, 0x04, 0x00, 0x00, + // 618 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0x4f, 0x6e, 0xda, 0x4e, + 0x14, 0xc7, 0x7f, 0xc6, 0x24, 0x81, 0xe7, 0x5f, 0x13, 0x77, 0x94, 0x05, 0x4a, 0x17, 0xa5, 0x74, + 0x93, 0x2e, 0xb0, 0x9b, 0x44, 0xaa, 0xaa, 0x4a, 0x5d, 0x18, 0xe2, 0x26, 0x44, 0x11, 0x58, 0x26, + 0xa1, 0x4a, 0x37, 0x96, 0x21, 0x83, 0x33, 0x2a, 0x9e, 0x41, 0xe3, 0x31, 0x2a, 0x27, 0xe8, 0x09, + 0xda, 0x03, 0xf4, 0x50, 0x3d, 0x44, 0x4f, 0x51, 0xcd, 0x8c, 0x01, 0xab, 0x59, 0x90, 0xdd, 0xfb, + 0xf3, 0xfd, 0x7e, 0x9e, 0xf5, 0xe6, 0xc9, 0xd0, 0x66, 0x73, 0x4c, 0x27, 0x98, 0x66, 0x79, 0xe6, + 0xce, 0x39, 0x13, 0xcc, 0x8d, 0x13, 0x4c, 0x85, 0x3b, 0x61, 0x69, 0xca, 0xa8, 0xbb, 0x38, 0x29, + 0x22, 0x47, 0x35, 0x51, 0x73, 0x23, 0xd7, 0x15, 0x47, 0xc9, 0x9d, 0x42, 0xb4, 0x38, 0x39, 0x7a, + 0x99, 0x30, 0x96, 0xcc, 0xb0, 0x86, 0x8d, 0xf3, 0xa9, 0x2b, 0x48, 0x8a, 0x33, 0x11, 0xa7, 0x73, + 0x6d, 0x68, 0xfd, 0x34, 0xa1, 0xda, 0x67, 0xf7, 0x18, 0x0d, 0x01, 0xc8, 0x3d, 0xa6, 0x82, 0x4c, + 0x09, 0xe6, 0x0d, 0xa3, 0x69, 0x1c, 0x5b, 0xa7, 0x67, 0xce, 0xb6, 0x01, 0x4e, 0xc0, 0xd9, 0x04, + 0x67, 0x59, 0x6f, 0x6d, 0x0d, 0x4b, 0x18, 0x14, 0xc0, 0xff, 0x33, 0x32, 0xe6, 0x31, 0x5f, 0x46, + 0x84, 0x4e, 0x59, 0xa3, 0xa2, 0xb0, 0xed, 0xed, 0xd8, 0x6b, 0xed, 0xea, 0xd1, 0x29, 0x0b, 0xad, + 0xd9, 0x26, 0x91, 0xc4, 0x0c, 0xf3, 0x05, 0x99, 0x60, 0x4d, 0x34, 0x9f, 0x4a, 0x1c, 0x6a, 0x97, + 0x26, 0x66, 0x9b, 0x04, 0x8d, 0x00, 0x62, 0x21, 0x38, 0x19, 0xe7, 0x02, 0x67, 0x8d, 0x6a, 0xd3, + 0x3c, 0xb6, 0x4e, 0xdf, 0x6d, 0xe7, 0xc9, 0xa5, 0x39, 0xde, 0xda, 0xe8, 0x53, 0xc1, 0x97, 0x61, + 0x89, 0x74, 0xf4, 0x11, 0x0e, 0xfe, 0x69, 0x23, 0x1b, 0xcc, 0xaf, 0x78, 0xa9, 0x96, 0x5b, 0x0f, + 0x65, 0x88, 0x0e, 0x61, 0x67, 0x11, 0xcf, 0x72, 0xac, 0x36, 0x53, 0x0f, 0x75, 0xf2, 0xa1, 0xf2, + 0xde, 0x68, 0x7d, 0x37, 0xe0, 0xf9, 0xa3, 0xe5, 0xa2, 0x17, 0x50, 0x7f, 0x60, 0x99, 0x88, 0x68, + 0x9c, 0xe2, 0x82, 0x53, 0x93, 0x85, 0x7e, 0x9c, 0x62, 0x89, 0x9f, 0x93, 0x7b, 0x85, 0x7a, 0x16, + 0xca, 0x10, 0x75, 0xe1, 0x20, 0x13, 0x31, 0x17, 0xd1, 0xfa, 0xd9, 0x8b, 0x85, 0x1d, 0x39, 0xfa, + 0x30, 0x9c, 0xd5, 0x61, 0x38, 0x37, 0x2b, 0x45, 0xb8, 0xaf, 0x2c, 0xeb, 0xbc, 0xf5, 0xbb, 0x02, + 0x56, 0xe9, 0x3d, 0x50, 0x08, 0xb5, 0x59, 0x4c, 0x93, 0x3c, 0x4e, 0xf4, 0x27, 0xec, 0x3f, 0x65, + 0x5d, 0x25, 0x80, 0x73, 0x5d, 0xb8, 0xc3, 0x35, 0x07, 0xbd, 0x01, 0x1b, 0x7f, 0x9b, 0x33, 0x2e, + 0x30, 0x8f, 0x16, 0x98, 0x67, 0x84, 0xd1, 0x62, 0x25, 0x07, 0xab, 0xfa, 0x48, 0x97, 0xd1, 0x5b, + 0x38, 0x9c, 0x30, 0x8e, 0xa3, 0xd5, 0x61, 0xad, 0xe4, 0xa6, 0x92, 0x23, 0xd9, 0x2b, 0x86, 0x15, + 0x8e, 0xd6, 0x0f, 0x03, 0x6a, 0xab, 0x99, 0xa8, 0x01, 0x87, 0xd7, 0x5e, 0xff, 0xe2, 0xd6, 0xbb, + 0xf0, 0xa3, 0xdb, 0xfe, 0x30, 0xf0, 0xbb, 0xbd, 0x4f, 0x3d, 0xff, 0xdc, 0xfe, 0x0f, 0xed, 0x81, + 0xd9, 0x0d, 0x02, 0xdb, 0x40, 0x16, 0xec, 0x75, 0xa3, 0xe1, 0xa5, 0x17, 0x06, 0x76, 0x05, 0x01, + 0xec, 0xfa, 0xa1, 0x74, 0xd8, 0xa6, 0x6c, 0x5c, 0x0c, 0x22, 0x95, 0x54, 0x51, 0x0d, 0xaa, 0x57, + 0xde, 0xc8, 0xb3, 0x77, 0x64, 0xb9, 0x3f, 0x38, 0xf7, 0xa3, 0xab, 0xa1, 0xbd, 0x2b, 0x29, 0xc1, + 0x65, 0x60, 0xef, 0x49, 0x63, 0x70, 0x77, 0x73, 0x39, 0xe8, 0xdb, 0x35, 0xa9, 0x0d, 0x6f, 0x3b, + 0x77, 0x76, 0x5d, 0x56, 0x3f, 0xfb, 0x1d, 0x29, 0x85, 0xd6, 0x2b, 0xb0, 0x4a, 0x57, 0x89, 0x10, + 0x54, 0x4b, 0xcf, 0xaa, 0xe2, 0xce, 0x2f, 0x03, 0x5e, 0x13, 0xb6, 0x75, 0xbd, 0x1d, 0xab, 0xab, + 0xc2, 0x40, 0x36, 0x03, 0xe3, 0x4b, 0x2f, 0x21, 0xe2, 0x21, 0x1f, 0x4b, 0x81, 0xab, 0x7d, 0x6d, + 0x42, 0x33, 0xc1, 0xf3, 0x14, 0x53, 0x11, 0x0b, 0xc2, 0xa8, 0xbb, 0x41, 0xb6, 0xf5, 0x9f, 0x26, + 0xc1, 0xb4, 0x9d, 0x3c, 0xfa, 0xe1, 0xfc, 0xa9, 0x34, 0x07, 0x73, 0x4c, 0xbb, 0x7a, 0xb8, 0xe2, + 0x3b, 0x9e, 0x1a, 0xae, 0x27, 0x3a, 0xa3, 0x93, 0xf1, 0xae, 0x02, 0x9c, 0xfd, 0x0d, 0x00, 0x00, + 0xff, 0xff, 0xe3, 0x53, 0x74, 0x5e, 0xbe, 0x04, 0x00, 0x00, } diff --git a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/metrics/v1/metrics_service.pb.go b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/metrics/v1/metrics_service.pb.go index 801212d9252..5f222b473e8 100644 --- a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/metrics/v1/metrics_service.pb.go +++ b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/metrics/v1/metrics_service.pb.go @@ -11,6 +11,8 @@ import ( v12 "github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1" proto "github.com/golang/protobuf/proto" grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" math "math" ) @@ -130,29 +132,30 @@ func init() { } var fileDescriptor_47e253a956287d04 = []byte{ - // 340 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x92, 0xc1, 0x4a, 0xf3, 0x40, - 0x14, 0x85, 0xff, 0xf9, 0x2b, 0x55, 0xa6, 0xe0, 0x62, 0xdc, 0x94, 0x2a, 0x52, 0xab, 0x48, 0x45, - 0x32, 0x63, 0xea, 0x42, 0x10, 0x54, 0x28, 0xb8, 0x11, 0x94, 0x12, 0x77, 0x6e, 0xa4, 0x4d, 0x2f, - 0x71, 0x16, 0x99, 0x1b, 0x67, 0x26, 0xc1, 0x57, 0x70, 0xe5, 0x3b, 0xf8, 0x5c, 0x3e, 0x8c, 0x24, - 0x93, 0xb4, 0x94, 0x18, 0x0b, 0xee, 0x2e, 0x99, 0xf3, 0x9d, 0x9c, 0x33, 0x73, 0xe9, 0x05, 0x26, - 0xa0, 0x42, 0x50, 0x26, 0x35, 0x22, 0xd1, 0x68, 0x51, 0x4c, 0x23, 0x50, 0x56, 0xc4, 0x60, 0xb5, - 0x0c, 0x8d, 0xc8, 0xfc, 0x6a, 0x7c, 0x36, 0xa0, 0x33, 0x19, 0x02, 0x2f, 0x64, 0xec, 0x60, 0x09, - 0xba, 0x2f, 0xbc, 0x00, 0x79, 0xa9, 0xe6, 0x99, 0xdf, 0xf3, 0x1a, 0xbc, 0x43, 0x8c, 0x63, 0x54, - 0xb9, 0xb5, 0x9b, 0x1c, 0xdf, 0x3b, 0xa9, 0xc9, 0xeb, 0x21, 0x4a, 0xe9, 0x69, 0x4d, 0xaa, 0xc1, - 0x60, 0xaa, 0x43, 0xc8, 0xb5, 0xd5, 0xec, 0xc4, 0x83, 0x2f, 0x42, 0x77, 0x6f, 0xdf, 0x12, 0xd4, - 0xf6, 0xde, 0x99, 0x3c, 0xba, 0x22, 0x01, 0xbc, 0xa6, 0x60, 0x2c, 0xbb, 0xa4, 0x1b, 0x0a, 0xe7, - 0xd0, 0x25, 0x7d, 0x32, 0xec, 0x8c, 0x8e, 0x79, 0x43, 0xb1, 0x32, 0x6b, 0xe6, 0xf3, 0x07, 0x9c, - 0x43, 0x50, 0x30, 0xec, 0x8a, 0x6e, 0x96, 0xc9, 0xba, 0xff, 0xfb, 0xad, 0x61, 0x67, 0x74, 0x58, - 0xc7, 0x97, 0x37, 0xc2, 0x5d, 0x80, 0xa0, 0x62, 0xd8, 0x98, 0x6e, 0x55, 0x61, 0xbb, 0xad, 0xa6, - 0xdf, 0x2f, 0xea, 0x64, 0x3e, 0x0f, 0xca, 0x39, 0x58, 0x70, 0x83, 0x7d, 0xba, 0xf7, 0x73, 0x3b, - 0x93, 0xa0, 0x32, 0x30, 0xfa, 0x24, 0x74, 0x7b, 0xf5, 0x88, 0x7d, 0x10, 0xda, 0x76, 0x0c, 0xbb, - 0xe6, 0x6b, 0xdf, 0x91, 0xff, 0x72, 0x79, 0xbd, 0x9b, 0x3f, 0xf3, 0x2e, 0xde, 0xe0, 0xdf, 0x90, - 0x9c, 0x91, 0xf1, 0x3b, 0xa1, 0x47, 0x12, 0xd7, 0x7b, 0x8d, 0x77, 0x56, 0x6d, 0x26, 0xb9, 0x6a, - 0x42, 0x9e, 0xee, 0x22, 0x69, 0x5f, 0xd2, 0x59, 0xfe, 0x48, 0xc2, 0x19, 0x78, 0x52, 0x19, 0xab, - 0xd3, 0x18, 0x94, 0x9d, 0x5a, 0x89, 0x4a, 0x2c, 0xbd, 0x3d, 0xb7, 0x32, 0x11, 0x28, 0x2f, 0xaa, - 0xef, 0xfb, 0xac, 0x5d, 0x1c, 0x9f, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x16, 0x61, 0x3b, 0xc3, - 0x1b, 0x03, 0x00, 0x00, + // 361 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x92, 0x41, 0x4a, 0xc3, 0x40, + 0x14, 0x86, 0x9d, 0x56, 0xaa, 0x4c, 0xc1, 0x45, 0xdc, 0x94, 0x2a, 0xd2, 0x56, 0x91, 0x8a, 0x64, + 0x62, 0xea, 0x42, 0x10, 0x54, 0xac, 0xb8, 0x11, 0xd4, 0x12, 0xc1, 0x85, 0x1b, 0x69, 0xd3, 0x47, + 0xcc, 0x22, 0x33, 0x71, 0x66, 0x12, 0xbc, 0x85, 0x77, 0x70, 0xef, 0x8d, 0x3c, 0x81, 0xa7, 0x90, + 0xe4, 0x4d, 0x5a, 0x4a, 0x8c, 0x05, 0x77, 0x8f, 0xe4, 0xff, 0xfe, 0xf7, 0xff, 0x33, 0x43, 0x4f, + 0x44, 0x0c, 0xdc, 0x07, 0xae, 0x12, 0xe5, 0xc4, 0x52, 0x68, 0xe1, 0x8c, 0x03, 0xe0, 0xda, 0x89, + 0x40, 0xcb, 0xd0, 0x57, 0x4e, 0xea, 0x16, 0xe3, 0xb3, 0x02, 0x99, 0x86, 0x3e, 0xb0, 0x5c, 0x66, + 0x75, 0xe7, 0x20, 0x7e, 0x61, 0x39, 0xc8, 0x8c, 0x9a, 0xa5, 0x6e, 0xdb, 0xae, 0xf0, 0xf6, 0x45, + 0x14, 0x09, 0x9e, 0x59, 0xe3, 0x84, 0x7c, 0xfb, 0xa0, 0x24, 0x2f, 0x87, 0x30, 0xd2, 0xc3, 0x92, + 0x54, 0x82, 0x12, 0x89, 0xf4, 0x21, 0xd3, 0x16, 0x33, 0x8a, 0x7b, 0x5f, 0x84, 0x6e, 0x5d, 0xbf, + 0xc5, 0x42, 0xea, 0x5b, 0x34, 0x79, 0xc0, 0x22, 0x1e, 0xbc, 0x26, 0xa0, 0xb4, 0x75, 0x4a, 0x57, + 0xb9, 0x98, 0x42, 0x8b, 0x74, 0x48, 0xbf, 0x39, 0xd8, 0x67, 0x15, 0xc5, 0x4c, 0xd6, 0xd4, 0x65, + 0x77, 0x62, 0x0a, 0x5e, 0xce, 0x58, 0x67, 0x74, 0xcd, 0x24, 0x6b, 0xd5, 0x3a, 0xf5, 0x7e, 0x73, + 0xb0, 0x5b, 0xc6, 0xe7, 0x27, 0xc2, 0x30, 0x80, 0x57, 0x30, 0xd6, 0x90, 0xae, 0x17, 0x61, 0x5b, + 0xf5, 0xaa, 0xf5, 0xb3, 0x3a, 0xa9, 0xcb, 0x3c, 0x33, 0x7b, 0x33, 0xae, 0xb7, 0x43, 0xb7, 0x7f, + 0x6f, 0xa7, 0x62, 0xc1, 0x15, 0x0c, 0x3e, 0x08, 0xdd, 0x58, 0xfc, 0x65, 0xbd, 0x13, 0xda, 0x40, + 0xc6, 0x3a, 0x67, 0x4b, 0xef, 0x91, 0xfd, 0x71, 0x78, 0xed, 0x8b, 0x7f, 0xf3, 0x18, 0xaf, 0xb7, + 0xd2, 0x27, 0x47, 0x64, 0xf8, 0x49, 0xe8, 0x5e, 0x28, 0x96, 0x7b, 0x0d, 0x37, 0x17, 0x6d, 0x46, + 0x99, 0x6a, 0x44, 0x9e, 0x6e, 0x82, 0x50, 0xbf, 0x24, 0x93, 0xec, 0x92, 0x1c, 0x34, 0xb0, 0x43, + 0xae, 0xb4, 0x4c, 0x22, 0xe0, 0x7a, 0xac, 0x43, 0xc1, 0x9d, 0xb9, 0xb7, 0x8d, 0x4f, 0x26, 0x00, + 0x6e, 0x07, 0xe5, 0xf7, 0xfe, 0x5d, 0xeb, 0xde, 0xc7, 0xc0, 0xaf, 0x30, 0x46, 0xbe, 0x80, 0x5d, + 0xe6, 0x31, 0xcc, 0x6a, 0xf6, 0xe8, 0x4e, 0x1a, 0xb9, 0xc5, 0xf1, 0x4f, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x19, 0x28, 0xa4, 0x50, 0x3f, 0x03, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -218,6 +221,14 @@ type MetricsServiceServer interface { Export(MetricsService_ExportServer) error } +// UnimplementedMetricsServiceServer can be embedded to have forward compatible implementations. +type UnimplementedMetricsServiceServer struct { +} + +func (*UnimplementedMetricsServiceServer) Export(srv MetricsService_ExportServer) error { + return status.Errorf(codes.Unimplemented, "method Export not implemented") +} + func RegisterMetricsServiceServer(s *grpc.Server, srv MetricsServiceServer) { s.RegisterService(&_MetricsService_serviceDesc, srv) } diff --git a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/metrics/v1/metrics_service.pb.gw.go b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/metrics/v1/metrics_service.pb.gw.go new file mode 100644 index 00000000000..158c1608912 --- /dev/null +++ b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/metrics/v1/metrics_service.pb.gw.go @@ -0,0 +1,150 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: opencensus/proto/agent/metrics/v1/metrics_service.proto + +/* +Package v1 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v1 + +import ( + "context" + "io" + "net/http" + + "github.com/golang/protobuf/proto" + "github.com/grpc-ecosystem/grpc-gateway/runtime" + "github.com/grpc-ecosystem/grpc-gateway/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/status" +) + +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray + +func request_MetricsService_Export_0(ctx context.Context, marshaler runtime.Marshaler, client MetricsServiceClient, req *http.Request, pathParams map[string]string) (MetricsService_ExportClient, runtime.ServerMetadata, error) { + var metadata runtime.ServerMetadata + stream, err := client.Export(ctx) + if err != nil { + grpclog.Infof("Failed to start streaming: %v", err) + return nil, metadata, err + } + dec := marshaler.NewDecoder(req.Body) + handleSend := func() error { + var protoReq ExportMetricsServiceRequest + err := dec.Decode(&protoReq) + if err == io.EOF { + return err + } + if err != nil { + grpclog.Infof("Failed to decode request: %v", err) + return err + } + if err := stream.Send(&protoReq); err != nil { + grpclog.Infof("Failed to send request: %v", err) + return err + } + return nil + } + if err := handleSend(); err != nil { + if cerr := stream.CloseSend(); cerr != nil { + grpclog.Infof("Failed to terminate client stream: %v", cerr) + } + if err == io.EOF { + return stream, metadata, nil + } + return nil, metadata, err + } + go func() { + for { + if err := handleSend(); err != nil { + break + } + } + if err := stream.CloseSend(); err != nil { + grpclog.Infof("Failed to terminate client stream: %v", err) + } + }() + header, err := stream.Header() + if err != nil { + grpclog.Infof("Failed to get header from client: %v", err) + return nil, metadata, err + } + metadata.HeaderMD = header + return stream, metadata, nil +} + +// RegisterMetricsServiceHandlerFromEndpoint is same as RegisterMetricsServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterMetricsServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterMetricsServiceHandler(ctx, mux, conn) +} + +// RegisterMetricsServiceHandler registers the http handlers for service MetricsService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterMetricsServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterMetricsServiceHandlerClient(ctx, mux, NewMetricsServiceClient(conn)) +} + +// RegisterMetricsServiceHandlerClient registers the http handlers for service MetricsService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "MetricsServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "MetricsServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "MetricsServiceClient" to call the correct interceptors. +func RegisterMetricsServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client MetricsServiceClient) error { + + mux.Handle("POST", pattern_MetricsService_Export_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetricsService_Export_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetricsService_Export_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_MetricsService_Export_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "metrics"}, "")) +) + +var ( + forward_MetricsService_Export_0 = runtime.ForwardResponseStream +) diff --git a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/trace/v1/trace_service.pb.go b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/trace/v1/trace_service.pb.go index e7c49a387af..a0a3504ddd6 100644 --- a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/trace/v1/trace_service.pb.go +++ b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/trace/v1/trace_service.pb.go @@ -11,6 +11,8 @@ import ( v11 "github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1" proto "github.com/golang/protobuf/proto" grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" math "math" ) @@ -233,34 +235,35 @@ func init() { } var fileDescriptor_7027f99caf7ac6a5 = []byte{ - // 423 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x54, 0xbf, 0x6b, 0xdb, 0x40, - 0x14, 0xee, 0xd9, 0xad, 0x28, 0xe7, 0x2e, 0x15, 0x1d, 0x54, 0x51, 0xb0, 0x11, 0xb4, 0x18, 0x5a, - 0x9d, 0x2a, 0x1b, 0x2f, 0x2e, 0x74, 0xb0, 0x29, 0x74, 0x28, 0xc5, 0xc8, 0xed, 0x92, 0xc5, 0xc8, - 0xd2, 0x8b, 0xa2, 0xc1, 0x77, 0xca, 0xdd, 0x49, 0x24, 0x90, 0x2d, 0x43, 0xf6, 0x0c, 0xf9, 0xc3, - 0xf2, 0x17, 0x05, 0xdd, 0xc9, 0x3f, 0x12, 0x5b, 0x11, 0x24, 0x4b, 0xb6, 0x87, 0xde, 0xf7, 0x7d, - 0xf7, 0xbd, 0x7b, 0xdf, 0x09, 0x0f, 0x59, 0x06, 0x34, 0x02, 0x2a, 0x72, 0xe1, 0x65, 0x9c, 0x49, - 0xe6, 0x85, 0x09, 0x50, 0xe9, 0x49, 0x1e, 0x46, 0xe0, 0x15, 0xbe, 0x2e, 0x16, 0x02, 0x78, 0x91, - 0x46, 0x40, 0x14, 0xc4, 0xec, 0x6e, 0x49, 0xfa, 0x0b, 0x51, 0x24, 0xa2, 0xb0, 0xa4, 0xf0, 0x6d, - 0xb7, 0x46, 0x35, 0x62, 0xab, 0x15, 0xa3, 0xa5, 0xac, 0xae, 0x34, 0xdb, 0xfe, 0xba, 0x07, 0xe7, - 0x20, 0x58, 0xce, 0xb5, 0x83, 0x75, 0x5d, 0x81, 0x3f, 0xef, 0x81, 0xef, 0x7b, 0xad, 0x60, 0xdf, - 0x1a, 0x60, 0x8b, 0x88, 0xd1, 0xe3, 0x34, 0xd1, 0x68, 0xe7, 0x1a, 0xe1, 0x0f, 0xd3, 0x9c, 0x73, - 0xa0, 0xf2, 0x4f, 0xba, 0xe4, 0x21, 0x3f, 0x9f, 0xaa, 0xb6, 0x39, 0xc6, 0xaf, 0x29, 0x8b, 0xc1, - 0x42, 0x3d, 0xd4, 0xef, 0x0c, 0xbe, 0x90, 0x9a, 0xc9, 0xab, 0x71, 0x0a, 0x9f, 0xfc, 0x65, 0x31, - 0x04, 0x8a, 0x63, 0xfe, 0xc4, 0x86, 0x3e, 0xc4, 0x6a, 0xd5, 0xb1, 0xd7, 0x37, 0x46, 0xfe, 0x95, - 0x85, 0x3e, 0x33, 0xa8, 0x58, 0xca, 0xd4, 0xff, 0x2c, 0x0e, 0x25, 0xc4, 0x2f, 0xc7, 0xd4, 0x2d, - 0xc2, 0x1f, 0x7f, 0x9d, 0x65, 0x8c, 0x4b, 0xd5, 0x9d, 0xeb, 0x60, 0x04, 0x70, 0x9a, 0x83, 0x90, - 0xcf, 0x72, 0x36, 0xc2, 0x6f, 0x44, 0x16, 0x52, 0x61, 0xb5, 0x7a, 0xed, 0x7e, 0x67, 0xd0, 0x7d, - 0xc4, 0xd8, 0x3c, 0x0b, 0x69, 0xa0, 0xd1, 0xe6, 0x04, 0xbf, 0x5d, 0x27, 0xc4, 0x6a, 0xd7, 0x1d, - 0xbb, 0xc9, 0x50, 0xe1, 0x93, 0xa0, 0xaa, 0x83, 0x0d, 0xcf, 0xf9, 0x84, 0xed, 0x43, 0x33, 0x89, - 0x8c, 0x51, 0x01, 0x83, 0x9b, 0x16, 0x7e, 0xb7, 0xdb, 0x30, 0x2f, 0xb0, 0x51, 0x6d, 0x62, 0x44, - 0x1a, 0x9e, 0x02, 0x39, 0x94, 0x2a, 0xbb, 0x99, 0x76, 0x68, 0xef, 0xce, 0xab, 0x3e, 0xfa, 0x8e, - 0xcc, 0x2b, 0x84, 0x0d, 0xed, 0xd6, 0x1c, 0x37, 0xea, 0xd4, 0xae, 0xca, 0xfe, 0xf1, 0x24, 0xae, - 0xbe, 0x12, 0xed, 0x64, 0x72, 0x89, 0xb0, 0x93, 0xb2, 0x26, 0x9d, 0xc9, 0xfb, 0x5d, 0x89, 0x59, - 0x89, 0x98, 0xa1, 0xa3, 0xdf, 0x49, 0x2a, 0x4f, 0xf2, 0x65, 0x19, 0x05, 0x4f, 0x93, 0xdd, 0x94, - 0x0a, 0xc9, 0xf3, 0x15, 0x50, 0x19, 0xca, 0x94, 0x51, 0x6f, 0xab, 0xeb, 0xea, 0x17, 0x9c, 0x00, - 0x75, 0x93, 0x87, 0x7f, 0xa8, 0xa5, 0xa1, 0x9a, 0xc3, 0xbb, 0x00, 0x00, 0x00, 0xff, 0xff, 0xcf, - 0x9c, 0x9b, 0xf7, 0xcb, 0x04, 0x00, 0x00, + // 442 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x94, 0xcf, 0xaa, 0xd4, 0x30, + 0x14, 0xc6, 0x4d, 0xaf, 0x16, 0xc9, 0x75, 0x63, 0x71, 0x51, 0x8b, 0x30, 0x97, 0x82, 0x32, 0xa0, + 0x4d, 0xed, 0x5c, 0xee, 0xe6, 0x0a, 0x82, 0x33, 0x08, 0x2e, 0x44, 0x2f, 0x1d, 0x75, 0xe1, 0x66, + 0xe8, 0xb4, 0xc7, 0xda, 0xc5, 0x24, 0x31, 0x49, 0x8b, 0x82, 0x7b, 0xf7, 0x2e, 0x7c, 0x03, 0x5f, + 0xc8, 0xc7, 0xf0, 0x29, 0xa4, 0x39, 0x9d, 0x3f, 0x3a, 0x53, 0x0b, 0xba, 0xb9, 0xbb, 0x43, 0xf3, + 0xfd, 0xbe, 0xf3, 0x25, 0x39, 0x29, 0x3d, 0x15, 0x12, 0x78, 0x0e, 0x5c, 0xd7, 0x3a, 0x96, 0x4a, + 0x18, 0x11, 0x67, 0x25, 0x70, 0x13, 0x1b, 0x95, 0xe5, 0x10, 0x37, 0x09, 0x16, 0x0b, 0x0d, 0xaa, + 0xa9, 0x72, 0x60, 0x56, 0xe2, 0x8d, 0xb6, 0x10, 0x7e, 0x61, 0x16, 0x62, 0x56, 0xcb, 0x9a, 0x24, + 0x88, 0x7a, 0x5c, 0x73, 0xb1, 0x5a, 0x09, 0xde, 0xda, 0x62, 0x85, 0x74, 0x70, 0x7f, 0x4f, 0xae, + 0x40, 0x8b, 0x5a, 0x61, 0x82, 0x75, 0xdd, 0x89, 0xef, 0xee, 0x89, 0x7f, 0xcf, 0xda, 0xc9, 0x1e, + 0x0c, 0xc8, 0x16, 0xb9, 0xe0, 0xef, 0xaa, 0x12, 0xd5, 0xe1, 0x57, 0x42, 0x6f, 0xcd, 0x6a, 0xa5, + 0x80, 0x9b, 0xe7, 0xd5, 0x52, 0x65, 0xea, 0xd3, 0xcc, 0x2e, 0x7b, 0xe7, 0xf4, 0x2a, 0x17, 0x05, + 0xf8, 0xe4, 0x84, 0x8c, 0x8f, 0x27, 0xf7, 0x58, 0xcf, 0xce, 0xbb, 0xed, 0x34, 0x09, 0x7b, 0x21, + 0x0a, 0x48, 0x2d, 0xe3, 0x3d, 0xa6, 0x2e, 0x36, 0xf1, 0x9d, 0x3e, 0x7a, 0x7d, 0x62, 0xec, 0x55, + 0x5b, 0x60, 0xcf, 0xb4, 0xa3, 0x6c, 0xa8, 0xd7, 0xb2, 0xc8, 0x0c, 0x14, 0x97, 0x27, 0xd4, 0x0f, + 0x42, 0x6f, 0x3f, 0xfd, 0x28, 0x85, 0x32, 0x76, 0x75, 0x8e, 0x83, 0x91, 0xc2, 0x87, 0x1a, 0xb4, + 0xf9, 0xaf, 0x64, 0x67, 0xf4, 0x9a, 0x96, 0x19, 0xd7, 0xbe, 0x73, 0x72, 0x34, 0x3e, 0x9e, 0x8c, + 0xfe, 0x12, 0x6c, 0x2e, 0x33, 0x9e, 0xa2, 0xda, 0x9b, 0xd2, 0xeb, 0xeb, 0x09, 0xf1, 0x8f, 0xfa, + 0xda, 0x6e, 0x66, 0xa8, 0x49, 0x58, 0xda, 0xd5, 0xe9, 0x86, 0x0b, 0xef, 0xd0, 0xe0, 0xd0, 0x9e, + 0xb4, 0x14, 0x5c, 0xc3, 0xe4, 0x9b, 0x43, 0x6f, 0xec, 0x2e, 0x78, 0x9f, 0xa9, 0xdb, 0xdd, 0xc4, + 0x19, 0x1b, 0x78, 0x0a, 0xec, 0xd0, 0x54, 0x05, 0xc3, 0xd8, 0xa1, 0x7b, 0x0f, 0xaf, 0x8c, 0xc9, + 0x43, 0xe2, 0x7d, 0x21, 0xd4, 0xc5, 0xb4, 0xde, 0xf9, 0xa0, 0x4f, 0xef, 0x55, 0x05, 0x8f, 0xfe, + 0x89, 0xc5, 0x23, 0xc1, 0x24, 0xd3, 0xef, 0x84, 0x86, 0x95, 0x18, 0xf2, 0x99, 0xde, 0xdc, 0xb5, + 0xb8, 0x68, 0x15, 0x17, 0xe4, 0xed, 0xb3, 0xb2, 0x32, 0xef, 0xeb, 0x65, 0x3b, 0x0a, 0x31, 0xc2, + 0x51, 0xc5, 0xb5, 0x51, 0xf5, 0x0a, 0xb8, 0xc9, 0x4c, 0x25, 0x78, 0xbc, 0xf5, 0x8d, 0xf0, 0x05, + 0x97, 0xc0, 0xa3, 0xf2, 0xcf, 0x3f, 0xd4, 0x4f, 0x67, 0xf4, 0x52, 0x02, 0x9f, 0x61, 0x00, 0x6b, + 0xcf, 0x9e, 0xd8, 0x00, 0xb6, 0x2d, 0x7b, 0x93, 0x2c, 0x5d, 0x8b, 0x9f, 0xfe, 0x0a, 0x00, 0x00, + 0xff, 0xff, 0x65, 0x76, 0xd7, 0xb9, 0xed, 0x04, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -365,6 +368,17 @@ type TraceServiceServer interface { Export(TraceService_ExportServer) error } +// UnimplementedTraceServiceServer can be embedded to have forward compatible implementations. +type UnimplementedTraceServiceServer struct { +} + +func (*UnimplementedTraceServiceServer) Config(srv TraceService_ConfigServer) error { + return status.Errorf(codes.Unimplemented, "method Config not implemented") +} +func (*UnimplementedTraceServiceServer) Export(srv TraceService_ExportServer) error { + return status.Errorf(codes.Unimplemented, "method Export not implemented") +} + func RegisterTraceServiceServer(s *grpc.Server, srv TraceServiceServer) { s.RegisterService(&_TraceService_serviceDesc, srv) } diff --git a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/trace/v1/trace_service.pb.gw.go b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/trace/v1/trace_service.pb.gw.go index bd4b8a8278b..334331b0dd1 100644 --- a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/trace/v1/trace_service.pb.gw.go +++ b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/agent/trace/v1/trace_service.pb.gw.go @@ -9,13 +9,13 @@ It translates gRPC into RESTful JSON APIs. package v1 import ( + "context" "io" "net/http" "github.com/golang/protobuf/proto" "github.com/grpc-ecosystem/grpc-gateway/runtime" "github.com/grpc-ecosystem/grpc-gateway/utilities" - "golang.org/x/net/context" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -35,11 +35,7 @@ func request_TraceService_Export_0(ctx context.Context, marshaler runtime.Marsha grpclog.Infof("Failed to start streaming: %v", err) return nil, metadata, err } - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, berr - } - dec := marshaler.NewDecoder(newReader()) + dec := marshaler.NewDecoder(req.Body) handleSend := func() error { var protoReq ExportTraceServiceRequest err := dec.Decode(&protoReq) diff --git a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/metrics/v1/metrics.pb.go b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/metrics/v1/metrics.pb.go index 53b8aa99e16..466b2342854 100644 --- a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/metrics/v1/metrics.pb.go +++ b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/metrics/v1/metrics.pb.go @@ -1053,74 +1053,75 @@ func init() { } var fileDescriptor_0ee3deb72053811a = []byte{ - // 1098 bytes of a gzipped FileDescriptorProto + // 1118 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0xdd, 0x6e, 0x1b, 0xc5, - 0x17, 0xcf, 0xda, 0x8e, 0xe3, 0x9c, 0x75, 0xdb, 0xf5, 0xa8, 0xed, 0xdf, 0xda, 0xfc, 0x15, 0xc2, - 0x22, 0x20, 0x15, 0xca, 0x5a, 0x31, 0xa5, 0xad, 0x2a, 0x54, 0x14, 0xc7, 0x6e, 0x62, 0xc8, 0x87, - 0x35, 0xb6, 0x2b, 0xd1, 0x1b, 0x6b, 0xbd, 0x9e, 0x24, 0x4b, 0xbc, 0x1f, 0xdd, 0x99, 0x35, 0xf8, - 0x05, 0x78, 0x04, 0xae, 0xb9, 0x45, 0x3c, 0x07, 0x57, 0x3c, 0x01, 0x4f, 0x81, 0x78, 0x03, 0xb4, - 0x33, 0xb3, 0x1f, 0x89, 0xc1, 0xd4, 0x45, 0xe2, 0xee, 0x9c, 0x33, 0xe7, 0xfc, 0xfc, 0x3b, 0x9f, - 0x5e, 0x78, 0xe4, 0x07, 0xc4, 0xb3, 0x89, 0x47, 0x23, 0xda, 0x08, 0x42, 0x9f, 0xf9, 0x0d, 0x97, - 0xb0, 0xd0, 0xb1, 0x69, 0x63, 0xb6, 0x9f, 0x88, 0x26, 0x7f, 0x40, 0x5b, 0x99, 0xab, 0xb0, 0x98, - 0xc9, 0xfb, 0x6c, 0x5f, 0x7f, 0xef, 0xd2, 0xf7, 0x2f, 0xa7, 0x44, 0x60, 0x8c, 0xa3, 0x8b, 0x06, - 0x73, 0x5c, 0x42, 0x99, 0xe5, 0x06, 0xc2, 0x57, 0xdf, 0xbe, 0xed, 0xf0, 0x6d, 0x68, 0x05, 0x01, - 0x09, 0x25, 0x96, 0xfe, 0xc9, 0x02, 0x91, 0x90, 0x50, 0x3f, 0x0a, 0x6d, 0x12, 0x33, 0x49, 0x64, - 0xe1, 0x6c, 0xfc, 0xa1, 0x40, 0xf9, 0x94, 0xff, 0x38, 0x7a, 0x0d, 0x35, 0x41, 0x63, 0x34, 0x21, - 0xd4, 0x0e, 0x9d, 0x80, 0xf9, 0x61, 0x5d, 0xd9, 0x51, 0x76, 0xd5, 0xe6, 0x9e, 0xb9, 0x84, 0xb1, - 0x29, 0xe2, 0xdb, 0x69, 0x10, 0xd6, 0xdc, 0x5b, 0x16, 0x74, 0x04, 0xc0, 0xd3, 0x20, 0xa1, 0x43, - 0x68, 0xbd, 0xb0, 0x53, 0xdc, 0x55, 0x9b, 0x1f, 0x2f, 0x05, 0x1d, 0x38, 0x2e, 0xe9, 0x73, 0x77, - 0x9c, 0x0b, 0x45, 0x2d, 0xa8, 0x24, 0x19, 0xd4, 0x8b, 0x9c, 0xdb, 0x47, 0x8b, 0x30, 0x69, 0x8e, - 0xb3, 0x7d, 0x13, 0x4b, 0x19, 0xa7, 0x71, 0xc6, 0x0f, 0x45, 0xd0, 0x6e, 0x73, 0x46, 0x08, 0x4a, - 0x9e, 0xe5, 0x12, 0x9e, 0xf0, 0x26, 0xe6, 0x32, 0xda, 0x01, 0x35, 0x29, 0x85, 0xe3, 0x7b, 0xf5, - 0x02, 0x7f, 0xca, 0x9b, 0xe2, 0xa8, 0xc8, 0x73, 0x18, 0xa7, 0xb2, 0x89, 0xb9, 0x8c, 0x5e, 0x42, - 0x89, 0xcd, 0x03, 0x52, 0x2f, 0xed, 0x28, 0xbb, 0x77, 0x9b, 0xcd, 0x95, 0x4a, 0x67, 0x0e, 0xe6, - 0x01, 0xc1, 0x3c, 0x1e, 0xb5, 0x01, 0xa6, 0xd6, 0x98, 0x4c, 0x47, 0xd7, 0x64, 0x4e, 0xeb, 0xeb, - 0xbc, 0x66, 0x1f, 0x2e, 0x45, 0x3b, 0x89, 0xdd, 0xbf, 0x22, 0x73, 0xbc, 0x39, 0x95, 0x12, 0x35, - 0x7e, 0x52, 0xa0, 0x14, 0x83, 0xa2, 0x7b, 0xa0, 0x0e, 0xcf, 0xfa, 0xbd, 0xce, 0x61, 0xf7, 0x65, - 0xb7, 0xd3, 0xd6, 0xd6, 0x62, 0xc3, 0xd1, 0xc1, 0xf0, 0xa8, 0x33, 0xea, 0x9e, 0x0d, 0x9e, 0x3c, - 0xd6, 0x14, 0xa4, 0x41, 0x55, 0x18, 0xda, 0xe7, 0xc3, 0xd6, 0x49, 0x47, 0x2b, 0xa0, 0x87, 0x80, - 0xa4, 0xa5, 0xdb, 0x1f, 0xe0, 0x6e, 0x6b, 0x38, 0xe8, 0x9e, 0x9f, 0x69, 0x45, 0x74, 0x1f, 0xb4, - 0xc3, 0xe1, 0xe9, 0xf0, 0xe4, 0x60, 0xd0, 0x7d, 0x95, 0xc4, 0x97, 0xd0, 0x03, 0xa8, 0xe5, 0xac, - 0x12, 0x64, 0x1d, 0x6d, 0xc1, 0xff, 0xf2, 0xe6, 0x3c, 0x52, 0x19, 0xa9, 0xb0, 0xd1, 0x1f, 0x9e, - 0x9e, 0x1e, 0xe0, 0xaf, 0xb5, 0x0d, 0xe3, 0x05, 0x54, 0x92, 0x14, 0x90, 0x06, 0xc5, 0x6b, 0x32, - 0x97, 0xed, 0x88, 0xc5, 0x7f, 0xee, 0x86, 0xf1, 0x9b, 0x02, 0x90, 0xcd, 0x0d, 0x3a, 0x84, 0x7b, - 0x94, 0x59, 0x21, 0x1b, 0xa5, 0x1b, 0x24, 0xc7, 0x59, 0x37, 0xc5, 0x0a, 0x99, 0xc9, 0x0a, 0xf1, - 0x69, 0xe3, 0x1e, 0xf8, 0x2e, 0x0f, 0x49, 0x75, 0xf4, 0x25, 0x54, 0x45, 0x17, 0x66, 0xd6, 0x34, - 0x7a, 0xcb, 0xd9, 0xe5, 0x49, 0xbc, 0x8a, 0xfd, 0xb1, 0x3a, 0x4d, 0x65, 0x8a, 0x9e, 0x43, 0x39, - 0xf0, 0x1d, 0x8f, 0xd1, 0x7a, 0x91, 0xa3, 0x18, 0x4b, 0x51, 0x7a, 0xb1, 0x2b, 0x96, 0x11, 0xc6, - 0x17, 0x00, 0x19, 0x2c, 0xba, 0x0f, 0xeb, 0x9c, 0x8f, 0xac, 0x8f, 0x50, 0xd0, 0x16, 0x6c, 0x5e, - 0x59, 0x54, 0x30, 0xe5, 0xf5, 0xa9, 0xe0, 0xca, 0x95, 0x45, 0x79, 0x88, 0xf1, 0x4b, 0x01, 0xd6, - 0x39, 0x24, 0x7a, 0x06, 0x9b, 0xab, 0x54, 0x24, 0x73, 0x46, 0xef, 0x83, 0xea, 0x78, 0xec, 0xc9, - 0xe3, 0xdc, 0x4f, 0x14, 0x8f, 0xd7, 0x30, 0x70, 0xa3, 0x60, 0xf6, 0x01, 0x54, 0x27, 0x7e, 0x34, - 0x9e, 0x12, 0xe9, 0x13, 0x6f, 0x86, 0x72, 0xbc, 0x86, 0x55, 0x61, 0x15, 0x4e, 0x23, 0x40, 0x13, - 0x87, 0xb2, 0xd0, 0x19, 0x47, 0x71, 0xe3, 0xa4, 0x6b, 0x89, 0x53, 0x31, 0x97, 0x16, 0xa5, 0x9d, - 0x0b, 0xe3, 0x58, 0xc7, 0x6b, 0xb8, 0x36, 0xb9, 0x6d, 0x44, 0x3d, 0xb8, 0x43, 0x23, 0xd7, 0xb5, - 0xc2, 0xb9, 0xc4, 0x5e, 0xe7, 0xd8, 0x8f, 0x96, 0x62, 0xf7, 0x45, 0x44, 0x02, 0x5b, 0xa5, 0x39, - 0xbd, 0xb5, 0x21, 0x2b, 0x6e, 0xfc, 0x5a, 0x86, 0xda, 0x02, 0x8b, 0xb8, 0x21, 0xb6, 0x1f, 0x79, - 0x8c, 0xd7, 0xb3, 0x88, 0x85, 0x12, 0x0f, 0x31, 0x8d, 0x5c, 0x5e, 0x27, 0x05, 0xc7, 0x22, 0x7a, - 0x0a, 0x75, 0x1a, 0xb9, 0x23, 0xff, 0x62, 0x44, 0xdf, 0x44, 0x56, 0x48, 0x26, 0xa3, 0x09, 0x99, - 0x39, 0x16, 0x9f, 0x68, 0x5e, 0x2a, 0xfc, 0x80, 0x46, 0xee, 0xf9, 0x45, 0x5f, 0xbc, 0xb6, 0x93, - 0x47, 0x64, 0xc3, 0xdd, 0x71, 0x64, 0x5f, 0x13, 0x36, 0xf2, 0xf9, 0xb0, 0x53, 0x59, 0xae, 0xcf, - 0x57, 0x2b, 0x97, 0xd9, 0xe2, 0x20, 0xe7, 0x02, 0x03, 0xdf, 0x19, 0xe7, 0x55, 0x74, 0x0e, 0x1b, - 0xc2, 0x90, 0xdc, 0x9b, 0xcf, 0xde, 0x09, 0x1d, 0x27, 0x28, 0xfa, 0x8f, 0x0a, 0xdc, 0xb9, 0xf1, - 0x8b, 0xc8, 0x86, 0x0a, 0xf9, 0x2e, 0x98, 0x3a, 0xb6, 0xc3, 0xe4, 0xec, 0x75, 0xfe, 0x4d, 0x06, - 0x66, 0x47, 0x82, 0x1d, 0xaf, 0xe1, 0x14, 0x58, 0x37, 0xa0, 0x92, 0xd8, 0xd1, 0x43, 0x28, 0x8f, - 0xfd, 0xc8, 0x9b, 0xd0, 0xba, 0xb2, 0x53, 0xdc, 0x55, 0xb0, 0xd4, 0x5a, 0x65, 0x71, 0xa6, 0x75, - 0x0a, 0x65, 0x81, 0xf8, 0x37, 0x3d, 0xec, 0xc7, 0x84, 0x89, 0x1b, 0x4c, 0xad, 0x90, 0x37, 0x52, - 0x6d, 0x3e, 0x5d, 0x91, 0x70, 0x47, 0x86, 0xe3, 0x14, 0x48, 0xff, 0xbe, 0x10, 0x33, 0x14, 0xca, - 0xcd, 0x65, 0x56, 0x92, 0x65, 0xbe, 0xb1, 0xa5, 0x85, 0x55, 0xb6, 0xf4, 0x1b, 0x50, 0x2d, 0xc6, - 0x2c, 0xfb, 0xca, 0x25, 0xd9, 0xad, 0x39, 0x7e, 0x47, 0xd2, 0xe6, 0x41, 0x06, 0xd5, 0xf1, 0x58, - 0x38, 0xc7, 0x79, 0x70, 0xfd, 0x05, 0x68, 0xb7, 0x1d, 0xfe, 0xe2, 0x74, 0xa7, 0x19, 0x16, 0x72, - 0xe7, 0xea, 0x79, 0xe1, 0x99, 0x62, 0xfc, 0x5e, 0x84, 0x6a, 0x7e, 0xef, 0xd0, 0x7e, 0xbe, 0x09, - 0x6a, 0x73, 0x6b, 0x21, 0xe5, 0x6e, 0x7a, 0x6b, 0x92, 0x0e, 0x99, 0xd9, 0x96, 0xa9, 0xcd, 0xff, - 0x2f, 0x04, 0xb4, 0xb3, 0xc3, 0x23, 0x76, 0xf0, 0x0c, 0x2a, 0xd4, 0xb3, 0x02, 0x7a, 0xe5, 0x33, - 0xf9, 0x0d, 0xd1, 0x7c, 0xeb, 0xbb, 0x60, 0xf6, 0x65, 0x24, 0x4e, 0x31, 0xf4, 0x9f, 0x0b, 0x50, - 0x49, 0xcc, 0xff, 0x05, 0xff, 0x37, 0x50, 0x0b, 0x48, 0x68, 0x13, 0x8f, 0x39, 0xc9, 0x99, 0x4d, - 0xba, 0xdc, 0x5e, 0x3d, 0x11, 0x93, 0xab, 0x07, 0xac, 0x97, 0x42, 0x62, 0x2d, 0x83, 0x17, 0xff, - 0x5c, 0x7a, 0x17, 0x6a, 0x0b, 0x6e, 0x68, 0x1b, 0x20, 0x73, 0x94, 0xc3, 0x9b, 0xb3, 0xdc, 0xec, - 0x7a, 0x32, 0xd7, 0xad, 0x19, 0x6c, 0x3b, 0xfe, 0x32, 0x9a, 0xad, 0xaa, 0xf8, 0x2a, 0xa2, 0xbd, - 0xf8, 0xa1, 0xa7, 0xbc, 0x6e, 0x5f, 0x3a, 0xec, 0x2a, 0x1a, 0x9b, 0xb6, 0xef, 0x36, 0x44, 0xcc, - 0x9e, 0xe3, 0x51, 0x16, 0x46, 0xf1, 0xcc, 0xf1, 0xeb, 0xd8, 0xc8, 0xe0, 0xf6, 0xc4, 0x27, 0xef, - 0x25, 0xf1, 0xf6, 0x2e, 0xf3, 0x9f, 0xe0, 0xe3, 0x32, 0x7f, 0xf8, 0xf4, 0xcf, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x8e, 0xfc, 0xd7, 0x46, 0xa8, 0x0b, 0x00, 0x00, + 0x17, 0xcf, 0xda, 0x8e, 0xe3, 0x9c, 0x75, 0xd2, 0xf5, 0xa8, 0xed, 0xdf, 0x72, 0xfe, 0x0a, 0x61, + 0x11, 0x90, 0x0a, 0x65, 0xad, 0x98, 0xd2, 0x56, 0x15, 0x2a, 0x8a, 0x63, 0x37, 0x31, 0x24, 0xb1, + 0x35, 0xb6, 0x23, 0xd1, 0x1b, 0x6b, 0xbd, 0x9e, 0x24, 0x4b, 0xbc, 0x1f, 0xdd, 0x99, 0x0d, 0xf8, + 0x05, 0x78, 0x02, 0xc4, 0x35, 0xb7, 0x88, 0xe7, 0xe0, 0x8a, 0x27, 0xe0, 0x15, 0xb8, 0x41, 0xbc, + 0x01, 0xda, 0x99, 0xd9, 0x8f, 0xc4, 0x60, 0xea, 0x22, 0x71, 0x77, 0xe6, 0xcc, 0x39, 0xbf, 0xfd, + 0x9d, 0xcf, 0x1d, 0x78, 0xe4, 0xf9, 0xc4, 0xb5, 0x88, 0x4b, 0x43, 0x5a, 0xf7, 0x03, 0x8f, 0x79, + 0x75, 0x87, 0xb0, 0xc0, 0xb6, 0x68, 0xfd, 0x66, 0x3f, 0x16, 0x0d, 0x7e, 0x81, 0xb6, 0x52, 0x53, + 0xa1, 0x31, 0xe2, 0xfb, 0x9b, 0xfd, 0xda, 0x3b, 0x97, 0x9e, 0x77, 0x39, 0x25, 0x02, 0x63, 0x1c, + 0x5e, 0xd4, 0x99, 0xed, 0x10, 0xca, 0x4c, 0xc7, 0x17, 0xb6, 0xb5, 0xed, 0xbb, 0x06, 0x5f, 0x07, + 0xa6, 0xef, 0x93, 0x40, 0x62, 0xd5, 0x3e, 0x9a, 0x23, 0x12, 0x10, 0xea, 0x85, 0x81, 0x45, 0x22, + 0x26, 0xb1, 0x2c, 0x8c, 0xf5, 0x3f, 0x14, 0x28, 0x9e, 0xf2, 0x8f, 0xa3, 0x57, 0x50, 0x11, 0x34, + 0x46, 0x13, 0x42, 0xad, 0xc0, 0xf6, 0x99, 0x17, 0x54, 0x95, 0x1d, 0x65, 0x57, 0x6d, 0xec, 0x19, + 0x0b, 0x18, 0x1b, 0xc2, 0xbf, 0x95, 0x38, 0x61, 0xcd, 0xb9, 0xa3, 0x41, 0x47, 0x00, 0x3c, 0x0c, + 0x12, 0xd8, 0x84, 0x56, 0x73, 0x3b, 0xf9, 0x5d, 0xb5, 0xf1, 0xe1, 0x42, 0xd0, 0x81, 0xed, 0x90, + 0x3e, 0x37, 0xc7, 0x19, 0x57, 0xd4, 0x84, 0x52, 0x1c, 0x41, 0x35, 0xcf, 0xb9, 0x7d, 0x30, 0x0f, + 0x93, 0xc4, 0x78, 0xb3, 0x6f, 0x60, 0x29, 0xe3, 0xc4, 0x4f, 0xff, 0x3e, 0x0f, 0xda, 0x5d, 0xce, + 0x08, 0x41, 0xc1, 0x35, 0x1d, 0xc2, 0x03, 0x5e, 0xc7, 0x5c, 0x46, 0x3b, 0xa0, 0xc6, 0xa9, 0xb0, + 0x3d, 0xb7, 0x9a, 0xe3, 0x57, 0x59, 0x55, 0xe4, 0x15, 0xba, 0x36, 0xe3, 0x54, 0xd6, 0x31, 0x97, + 0xd1, 0x4b, 0x28, 0xb0, 0x99, 0x4f, 0xaa, 0x85, 0x1d, 0x65, 0x77, 0xb3, 0xd1, 0x58, 0x2a, 0x75, + 0xc6, 0x60, 0xe6, 0x13, 0xcc, 0xfd, 0x51, 0x0b, 0x60, 0x6a, 0x8e, 0xc9, 0x74, 0x74, 0x4d, 0x66, + 0xb4, 0xba, 0xca, 0x73, 0xf6, 0xfe, 0x42, 0xb4, 0x93, 0xc8, 0xfc, 0x0b, 0x32, 0xc3, 0xeb, 0x53, + 0x29, 0x51, 0xfd, 0x47, 0x05, 0x0a, 0x11, 0x28, 0xba, 0x07, 0xea, 0xf0, 0xac, 0xdf, 0x6b, 0x1f, + 0x76, 0x5e, 0x76, 0xda, 0x2d, 0x6d, 0x25, 0x52, 0x1c, 0x1d, 0x0c, 0x8f, 0xda, 0xa3, 0xce, 0xd9, + 0xe0, 0xc9, 0x63, 0x4d, 0x41, 0x1a, 0x94, 0x85, 0xa2, 0xd5, 0x1d, 0x36, 0x4f, 0xda, 0x5a, 0x0e, + 0x3d, 0x04, 0x24, 0x35, 0x9d, 0xfe, 0x00, 0x77, 0x9a, 0xc3, 0x41, 0xa7, 0x7b, 0xa6, 0xe5, 0xd1, + 0x7d, 0xd0, 0x0e, 0x87, 0xa7, 0xc3, 0x93, 0x83, 0x41, 0xe7, 0x3c, 0xf6, 0x2f, 0xa0, 0x07, 0x50, + 0xc9, 0x68, 0x25, 0xc8, 0x2a, 0xda, 0x82, 0xff, 0x65, 0xd5, 0x59, 0xa4, 0x22, 0x52, 0x61, 0xad, + 0x3f, 0x3c, 0x3d, 0x3d, 0xc0, 0x5f, 0x6a, 0x6b, 0xfa, 0x0b, 0x28, 0xc5, 0x21, 0x20, 0x0d, 0xf2, + 0xd7, 0x64, 0x26, 0xcb, 0x11, 0x89, 0xff, 0x5c, 0x0d, 0xfd, 0x57, 0x05, 0x20, 0xed, 0x1b, 0x74, + 0x08, 0xf7, 0x28, 0x33, 0x03, 0x36, 0x4a, 0x26, 0x48, 0xb6, 0x73, 0xcd, 0x10, 0x23, 0x64, 0xc4, + 0x23, 0xc4, 0xbb, 0x8d, 0x5b, 0xe0, 0x4d, 0xee, 0x92, 0x9c, 0xd1, 0xe7, 0x50, 0x16, 0x55, 0xb8, + 0x31, 0xa7, 0xe1, 0x1b, 0xf6, 0x2e, 0x0f, 0xe2, 0x3c, 0xb2, 0xc7, 0xea, 0x34, 0x91, 0x29, 0x7a, + 0x0e, 0x45, 0xdf, 0xb3, 0x5d, 0x46, 0xab, 0x79, 0x8e, 0xa2, 0x2f, 0x44, 0xe9, 0x45, 0xa6, 0x58, + 0x7a, 0xe8, 0x9f, 0x01, 0xa4, 0xb0, 0xe8, 0x3e, 0xac, 0x72, 0x3e, 0x32, 0x3f, 0xe2, 0x80, 0xb6, + 0x60, 0xfd, 0xca, 0xa4, 0x82, 0x29, 0xcf, 0x4f, 0x09, 0x97, 0xae, 0x4c, 0xca, 0x5d, 0xf4, 0x9f, + 0x73, 0xb0, 0xca, 0x21, 0xd1, 0x33, 0x58, 0x5f, 0x26, 0x23, 0xa9, 0x31, 0x7a, 0x17, 0x54, 0xdb, + 0x65, 0x4f, 0x1e, 0x67, 0x3e, 0x91, 0x3f, 0x5e, 0xc1, 0xc0, 0x95, 0x82, 0xd9, 0x7b, 0x50, 0x9e, + 0x78, 0xe1, 0x78, 0x4a, 0xa4, 0x4d, 0x34, 0x19, 0xca, 0xf1, 0x0a, 0x56, 0x85, 0x56, 0x18, 0x8d, + 0x00, 0x4d, 0x6c, 0xca, 0x02, 0x7b, 0x1c, 0x46, 0x85, 0x93, 0xa6, 0x05, 0x4e, 0xc5, 0x58, 0x98, + 0x94, 0x56, 0xc6, 0x8d, 0x63, 0x1d, 0xaf, 0xe0, 0xca, 0xe4, 0xae, 0x12, 0xf5, 0x60, 0x83, 0x86, + 0x8e, 0x63, 0x06, 0x33, 0x89, 0xbd, 0xca, 0xb1, 0x1f, 0x2d, 0xc4, 0xee, 0x0b, 0x8f, 0x18, 0xb6, + 0x4c, 0x33, 0xe7, 0xe6, 0x9a, 0xcc, 0xb8, 0xfe, 0x4b, 0x11, 0x2a, 0x73, 0x2c, 0xa2, 0x82, 0x58, + 0x5e, 0xe8, 0x32, 0x9e, 0xcf, 0x3c, 0x16, 0x87, 0xa8, 0x89, 0x69, 0xe8, 0xf0, 0x3c, 0x29, 0x38, + 0x12, 0xd1, 0x53, 0xa8, 0xd2, 0xd0, 0x19, 0x79, 0x17, 0x23, 0xfa, 0x3a, 0x34, 0x03, 0x32, 0x19, + 0x4d, 0xc8, 0x8d, 0x6d, 0xf2, 0x8e, 0xe6, 0xa9, 0xc2, 0x0f, 0x68, 0xe8, 0x74, 0x2f, 0xfa, 0xe2, + 0xb6, 0x15, 0x5f, 0x22, 0x0b, 0x36, 0xc7, 0xa1, 0x75, 0x4d, 0xd8, 0xc8, 0xe3, 0xcd, 0x4e, 0x65, + 0xba, 0x3e, 0x5d, 0x2e, 0x5d, 0x46, 0x93, 0x83, 0x74, 0x05, 0x06, 0xde, 0x18, 0x67, 0x8f, 0xa8, + 0x0b, 0x6b, 0x42, 0x11, 0xef, 0x9b, 0x4f, 0xde, 0x0a, 0x1d, 0xc7, 0x28, 0xb5, 0x1f, 0x14, 0xd8, + 0xb8, 0xf5, 0x45, 0x64, 0x41, 0x89, 0x7c, 0xe3, 0x4f, 0x6d, 0xcb, 0x66, 0xb2, 0xf7, 0xda, 0xff, + 0x26, 0x02, 0xa3, 0x2d, 0xc1, 0x8e, 0x57, 0x70, 0x02, 0x5c, 0xd3, 0xa1, 0x14, 0xeb, 0xd1, 0x43, + 0x28, 0x8e, 0xbd, 0xd0, 0x9d, 0xd0, 0xaa, 0xb2, 0x93, 0xdf, 0x55, 0xb0, 0x3c, 0x35, 0x8b, 0x62, + 0x4d, 0xd7, 0x28, 0x14, 0x05, 0xe2, 0xdf, 0xd4, 0xb0, 0x1f, 0x11, 0x26, 0x8e, 0x3f, 0x35, 0x03, + 0x5e, 0x48, 0xb5, 0xf1, 0x74, 0x49, 0xc2, 0x6d, 0xe9, 0x8e, 0x13, 0xa0, 0xda, 0xb7, 0xb9, 0x88, + 0xa1, 0x38, 0xdc, 0x1e, 0x66, 0x25, 0x1e, 0xe6, 0x5b, 0x53, 0x9a, 0x5b, 0x66, 0x4a, 0xbf, 0x02, + 0xd5, 0x64, 0xcc, 0xb4, 0xae, 0x1c, 0x92, 0xee, 0x9a, 0xe3, 0xb7, 0x24, 0x6d, 0x1c, 0xa4, 0x50, + 0x6d, 0x97, 0x05, 0x33, 0x9c, 0x05, 0xaf, 0xbd, 0x00, 0xed, 0xae, 0xc1, 0x5f, 0xac, 0xee, 0x24, + 0xc2, 0x5c, 0x66, 0x5d, 0x3d, 0xcf, 0x3d, 0x53, 0xf4, 0xdf, 0xf3, 0x50, 0xce, 0xce, 0x1d, 0xda, + 0xcf, 0x16, 0x41, 0x6d, 0x6c, 0xcd, 0x85, 0xdc, 0x49, 0x76, 0x4d, 0x5c, 0x21, 0x23, 0x9d, 0x32, + 0xb5, 0xf1, 0xff, 0x39, 0x87, 0x56, 0xba, 0x78, 0xc4, 0x0c, 0x9e, 0x41, 0x89, 0xba, 0xa6, 0x4f, + 0xaf, 0x3c, 0x26, 0xdf, 0x10, 0x8d, 0x37, 0xde, 0x0b, 0x46, 0x5f, 0x7a, 0xe2, 0x04, 0xa3, 0xf6, + 0x53, 0x0e, 0x4a, 0xb1, 0xfa, 0xbf, 0xe0, 0xff, 0x1a, 0x2a, 0x3e, 0x09, 0x2c, 0xe2, 0x32, 0x3b, + 0x5e, 0xb3, 0x71, 0x95, 0x5b, 0xcb, 0x07, 0x62, 0xf0, 0xe3, 0x01, 0xeb, 0x25, 0x90, 0x58, 0x4b, + 0xe1, 0xc5, 0x9f, 0xab, 0xd6, 0x81, 0xca, 0x9c, 0x19, 0xda, 0x06, 0x48, 0x0d, 0x65, 0xf3, 0x66, + 0x34, 0xb7, 0xab, 0x1e, 0xf7, 0x75, 0xf3, 0x3b, 0x05, 0xb6, 0x6d, 0x6f, 0x11, 0xcf, 0x66, 0x59, + 0x3c, 0x8b, 0x68, 0x2f, 0xba, 0xe8, 0x29, 0xaf, 0x5a, 0x97, 0x36, 0xbb, 0x0a, 0xc7, 0x86, 0xe5, + 0x39, 0x75, 0xe1, 0xb3, 0x67, 0xbb, 0x94, 0x05, 0x61, 0xd4, 0x74, 0x7c, 0x3d, 0xd6, 0x53, 0xb8, + 0x3d, 0xf1, 0xe6, 0xbd, 0x24, 0xee, 0xde, 0x65, 0xf6, 0x0d, 0xfe, 0x5b, 0x6e, 0xab, 0xeb, 0x13, + 0xf7, 0x50, 0x7c, 0x93, 0x43, 0xcb, 0xe7, 0x17, 0x35, 0xce, 0xf7, 0xc7, 0x45, 0xee, 0xf6, 0xf1, + 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf8, 0xd0, 0xb4, 0x8d, 0xc7, 0x0b, 0x00, 0x00, } diff --git a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1/resource.pb.go b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1/resource.pb.go index 38faa9fdf1e..5dba6a2a0aa 100644 --- a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1/resource.pb.go +++ b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1/resource.pb.go @@ -80,7 +80,7 @@ func init() { } var fileDescriptor_584700775a2fc762 = []byte{ - // 234 bytes of a gzipped FileDescriptorProto + // 251 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xce, 0x2f, 0x48, 0xcd, 0x4b, 0x4e, 0xcd, 0x2b, 0x2e, 0x2d, 0xd6, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x2f, 0x4a, 0x2d, 0xce, 0x2f, 0x2d, 0x4a, 0x4e, 0xd5, 0x2f, 0x33, 0x84, 0xb3, 0xf5, 0xc0, 0x52, 0x42, 0x32, 0x08, @@ -90,10 +90,11 @@ var fileDescriptor_584700775a2fc762 = []byte{ 0x6d, 0x64, 0xa4, 0x87, 0xcf, 0x3c, 0x3d, 0x98, 0x59, 0x7a, 0x3e, 0x60, 0x4d, 0xae, 0x79, 0x25, 0x45, 0x95, 0x41, 0x50, 0x13, 0xa4, 0x2c, 0xb9, 0xb8, 0x91, 0x84, 0x85, 0x04, 0xb8, 0x98, 0xb3, 0x53, 0x2b, 0xa1, 0xb6, 0x81, 0x98, 0x42, 0x22, 0x5c, 0xac, 0x65, 0x89, 0x39, 0xa5, 0xa9, 0x12, - 0x4c, 0x60, 0x31, 0x08, 0xc7, 0x8a, 0xc9, 0x82, 0xd1, 0xa9, 0x92, 0x4b, 0x3e, 0x33, 0x1f, 0xaf, - 0xd5, 0x4e, 0xbc, 0x30, 0xbb, 0x03, 0x40, 0x52, 0x01, 0x8c, 0x51, 0xae, 0xe9, 0x99, 0x25, 0x19, - 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0x10, 0x5d, 0xba, 0x99, 0x79, 0xc5, 0x25, 0x45, 0xa5, - 0xb9, 0xa9, 0x79, 0x25, 0x89, 0x25, 0x99, 0xf9, 0x79, 0xfa, 0x08, 0x03, 0x75, 0x21, 0x01, 0x99, - 0x9e, 0x9a, 0xa7, 0x9b, 0x8e, 0x12, 0x9e, 0x49, 0x6c, 0x60, 0x19, 0x63, 0x40, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x8e, 0x11, 0xaf, 0xda, 0x76, 0x01, 0x00, 0x00, + 0x4c, 0x60, 0x31, 0x08, 0xc7, 0x8a, 0xc9, 0x82, 0xd1, 0x69, 0x06, 0x23, 0x97, 0x7c, 0x66, 0x3e, + 0x5e, 0xbb, 0x9d, 0x78, 0x61, 0x96, 0x07, 0x80, 0xa4, 0x02, 0x18, 0xa3, 0x5c, 0xd3, 0x33, 0x4b, + 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x21, 0xba, 0x74, 0x33, 0xf3, 0x8a, 0x4b, 0x8a, + 0x4a, 0x73, 0x53, 0xf3, 0x4a, 0x12, 0x4b, 0x32, 0xf3, 0xf3, 0xf4, 0x11, 0x06, 0xea, 0x42, 0x42, + 0x32, 0x3d, 0x35, 0x4f, 0x37, 0x1d, 0x25, 0x40, 0x5f, 0x31, 0xc9, 0xf8, 0x17, 0xa4, 0xe6, 0x39, + 0x43, 0xac, 0x05, 0x9b, 0x8d, 0xf0, 0x66, 0x98, 0x61, 0x12, 0x1b, 0x58, 0xa3, 0x31, 0x20, 0x00, + 0x00, 0xff, 0xff, 0xcf, 0x32, 0xff, 0x46, 0x96, 0x01, 0x00, 0x00, } diff --git a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1/trace.pb.go b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1/trace.pb.go index 4de05355a47..2f4ab19b5e5 100644 --- a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1/trace.pb.go +++ b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1/trace.pb.go @@ -812,7 +812,9 @@ type Span_Link struct { // The relationship of the current span relative to the linked span. Type Span_Link_Type `protobuf:"varint,3,opt,name=type,proto3,enum=opencensus.proto.trace.v1.Span_Link_Type" json:"type,omitempty"` // A set of attributes on the link. - Attributes *Span_Attributes `protobuf:"bytes,4,opt,name=attributes,proto3" json:"attributes,omitempty"` + Attributes *Span_Attributes `protobuf:"bytes,4,opt,name=attributes,proto3" json:"attributes,omitempty"` + // The Tracestate associated with the link. + Tracestate *Span_Tracestate `protobuf:"bytes,5,opt,name=tracestate,proto3" json:"tracestate,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -871,6 +873,13 @@ func (m *Span_Link) GetAttributes() *Span_Attributes { return nil } +func (m *Span_Link) GetTracestate() *Span_Tracestate { + if m != nil { + return m.Tracestate + } + return nil +} + // A collection of links, which are references from this span to a span // in the same or different trace. type Span_Links struct { @@ -1441,103 +1450,104 @@ func init() { } var fileDescriptor_8ea38bbb821bf584 = []byte{ - // 1557 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0xeb, 0x52, 0x1b, 0x47, - 0x16, 0x66, 0x74, 0xd7, 0x91, 0x90, 0x45, 0x1b, 0xdb, 0x83, 0xd6, 0xbb, 0x66, 0x65, 0x7b, 0x17, - 0xaf, 0x17, 0x61, 0xb0, 0xd7, 0xe5, 0x6b, 0x79, 0x11, 0x88, 0x48, 0x06, 0x2b, 0x72, 0x4b, 0xa6, - 0x72, 0xa9, 0xd4, 0xd4, 0x48, 0xd3, 0x88, 0x09, 0x52, 0xcf, 0x64, 0xa6, 0x87, 0x14, 0x7e, 0x81, - 0x54, 0x2a, 0xff, 0x52, 0x95, 0xca, 0x0b, 0xe4, 0x47, 0x5e, 0x24, 0x0f, 0x90, 0xca, 0x73, 0xe4, - 0x09, 0xf2, 0x27, 0xd5, 0xdd, 0x73, 0x13, 0xd8, 0xa0, 0xc8, 0x7f, 0xa8, 0x9e, 0xee, 0xf3, 0x7d, - 0x7d, 0x4e, 0x9f, 0x2b, 0x82, 0xdb, 0x96, 0x4d, 0xe8, 0x80, 0x50, 0xd7, 0x73, 0xd7, 0x6c, 0xc7, - 0x62, 0xd6, 0x1a, 0x73, 0xf4, 0x01, 0x59, 0x3b, 0x5e, 0x97, 0x8b, 0x9a, 0xd8, 0x44, 0x4b, 0x91, - 0x98, 0xdc, 0xa9, 0xc9, 0xd3, 0xe3, 0xf5, 0xca, 0xdd, 0x33, 0x0c, 0x0e, 0x71, 0x2d, 0xcf, 0x91, - 0x24, 0xc1, 0x5a, 0xa2, 0x2a, 0x37, 0x86, 0x96, 0x35, 0x1c, 0x11, 0x29, 0xd8, 0xf7, 0x0e, 0xd6, - 0x98, 0x39, 0x26, 0x2e, 0xd3, 0xc7, 0xb6, 0x2f, 0xf0, 0x8f, 0xd3, 0x02, 0x5f, 0x3b, 0xba, 0x6d, - 0x13, 0xc7, 0xbf, 0xb6, 0xfa, 0xcb, 0x15, 0x48, 0x75, 0x6d, 0x9d, 0xa2, 0x25, 0xc8, 0x09, 0x15, - 0x34, 0xd3, 0x50, 0x95, 0x65, 0x65, 0xa5, 0x88, 0xb3, 0xe2, 0xbb, 0x65, 0xa0, 0x6b, 0x90, 0x75, - 0x6d, 0x9d, 0xf2, 0x93, 0x84, 0x38, 0xc9, 0xf0, 0xcf, 0x96, 0x81, 0x5e, 0x02, 0x08, 0x19, 0x97, - 0xe9, 0x8c, 0xa8, 0x97, 0x96, 0x95, 0x95, 0xc2, 0xc6, 0x7f, 0x6a, 0xef, 0x35, 0xad, 0xc6, 0x2f, - 0xaa, 0xf5, 0x42, 0x04, 0x8e, 0xa1, 0xd1, 0x2d, 0x28, 0xd9, 0xba, 0x43, 0x28, 0xd3, 0x82, 0xbb, - 0x92, 0xe2, 0xae, 0xa2, 0xdc, 0xed, 0xca, 0x1b, 0xff, 0x0f, 0x29, 0xaa, 0x8f, 0x89, 0x9a, 0x12, - 0x77, 0xfd, 0xf7, 0x9c, 0xbb, 0x7a, 0x8e, 0x47, 0x07, 0x3a, 0xd3, 0xfb, 0x23, 0xd2, 0x65, 0x8e, - 0x49, 0x87, 0x58, 0x20, 0xd1, 0x33, 0x48, 0x1d, 0x99, 0xd4, 0x50, 0x4b, 0xcb, 0xca, 0x4a, 0x69, - 0x63, 0xe5, 0x22, 0x6d, 0xf9, 0x9f, 0x5d, 0x93, 0x1a, 0x58, 0xa0, 0xd0, 0x63, 0x00, 0x97, 0xe9, - 0x0e, 0xd3, 0xf8, 0x3b, 0xab, 0x69, 0xa1, 0x45, 0xa5, 0x26, 0xdf, 0xb8, 0x16, 0xbc, 0x71, 0xad, - 0x17, 0x38, 0x01, 0xe7, 0x85, 0x34, 0xff, 0x46, 0xff, 0x83, 0x1c, 0xa1, 0x86, 0x04, 0x66, 0x2e, - 0x04, 0x66, 0x09, 0x35, 0x04, 0xec, 0x25, 0x80, 0xce, 0x98, 0x63, 0xf6, 0x3d, 0x46, 0x5c, 0x35, - 0x3b, 0xdd, 0x1b, 0x6f, 0x86, 0x08, 0x1c, 0x43, 0xa3, 0x1d, 0x28, 0xb8, 0x4c, 0x1f, 0x1c, 0x69, - 0x42, 0x5a, 0xcd, 0x09, 0xb2, 0xdb, 0xe7, 0x91, 0x71, 0x69, 0xe1, 0x30, 0x0c, 0x6e, 0xb8, 0x46, - 0xbb, 0x50, 0xe0, 0x66, 0x68, 0xe4, 0x98, 0x50, 0xe6, 0xaa, 0xf9, 0x29, 0x1d, 0x6f, 0x8e, 0x49, - 0x43, 0x20, 0x30, 0xb0, 0x70, 0x8d, 0x9e, 0x42, 0x7a, 0x64, 0xd2, 0x23, 0x57, 0x85, 0x8b, 0xd5, - 0xe1, 0x34, 0x7b, 0x5c, 0x18, 0x4b, 0x0c, 0x7a, 0x0c, 0x19, 0x1e, 0x3e, 0x9e, 0xab, 0x16, 0x04, - 0xfa, 0x9f, 0xe7, 0x1b, 0xc3, 0x3c, 0x17, 0xfb, 0x00, 0x54, 0x87, 0x5c, 0x90, 0x4c, 0x6a, 0x59, - 0x80, 0xff, 0x75, 0x16, 0x1c, 0xa6, 0xdb, 0xf1, 0x7a, 0x0d, 0xfb, 0x6b, 0x1c, 0xe2, 0xd0, 0x27, - 0xf0, 0x37, 0x57, 0x1f, 0x13, 0xcd, 0x76, 0xac, 0x01, 0x71, 0x5d, 0x4d, 0x77, 0xb5, 0x58, 0x10, - 0xab, 0xc5, 0xf7, 0xb8, 0xb9, 0x6e, 0x59, 0xa3, 0x7d, 0x7d, 0xe4, 0x11, 0x7c, 0x8d, 0xc3, 0x3b, - 0x12, 0xbd, 0xe9, 0x76, 0xc2, 0x50, 0x47, 0x3b, 0x50, 0x1e, 0x1c, 0x9a, 0x23, 0x43, 0x66, 0xc3, - 0xc0, 0xf2, 0x28, 0x53, 0xe7, 0x05, 0xdd, 0xf5, 0x33, 0x74, 0x6f, 0x5a, 0x94, 0xdd, 0xdf, 0x90, - 0x84, 0x25, 0x81, 0xe2, 0x14, 0x5b, 0x1c, 0x53, 0xf9, 0x56, 0x01, 0x88, 0x32, 0x0e, 0xbd, 0x84, - 0x2c, 0xa1, 0xcc, 0x31, 0x89, 0xab, 0x2a, 0xcb, 0xc9, 0x95, 0xc2, 0xc6, 0xbd, 0xe9, 0xd3, 0xb5, - 0xd6, 0xa0, 0xcc, 0x39, 0xc1, 0x01, 0x41, 0x65, 0x0d, 0xd2, 0x62, 0x07, 0x95, 0x21, 0x79, 0x44, - 0x4e, 0x44, 0xd5, 0xc8, 0x63, 0xbe, 0x44, 0x8b, 0x90, 0x3e, 0xe6, 0xea, 0x88, 0x7a, 0x91, 0xc7, - 0xf2, 0xa3, 0xf2, 0x43, 0x02, 0x20, 0x8a, 0x4c, 0xa4, 0xc3, 0x7c, 0x18, 0x9b, 0xda, 0x58, 0xb7, - 0x7d, 0x8d, 0x9e, 0x4d, 0x1f, 0xdc, 0xd1, 0xf2, 0x95, 0x6e, 0x4b, 0xed, 0x8a, 0x7a, 0x6c, 0x0b, - 0x3d, 0x02, 0xd5, 0x70, 0x2c, 0xdb, 0x26, 0x86, 0x16, 0xa5, 0x81, 0xff, 0x9a, 0x5c, 0xb5, 0x34, - 0xbe, 0xea, 0x9f, 0x47, 0xa4, 0xf2, 0xdd, 0xbe, 0x84, 0x85, 0x33, 0xe4, 0xef, 0x30, 0xf4, 0x45, - 0xdc, 0xd0, 0xc2, 0xc6, 0x9d, 0x73, 0x74, 0x0f, 0xe9, 0xa4, 0xa3, 0x24, 0xee, 0x49, 0xe2, 0x91, - 0x52, 0xf9, 0x29, 0x0d, 0xf9, 0x30, 0x39, 0x50, 0x0d, 0x52, 0xa2, 0x46, 0x28, 0x17, 0xd6, 0x08, - 0x21, 0x87, 0xf6, 0x01, 0x74, 0x4a, 0x2d, 0xa6, 0x33, 0xd3, 0xa2, 0xbe, 0x1e, 0x0f, 0xa6, 0xce, - 0xc5, 0xda, 0x66, 0x88, 0x6d, 0xce, 0xe1, 0x18, 0x13, 0xfa, 0x02, 0xe6, 0xc7, 0xc4, 0x75, 0xf5, - 0xa1, 0x9f, 0xe7, 0xa2, 0x1e, 0x17, 0x36, 0x1e, 0x4e, 0x4f, 0xfd, 0x4a, 0xc2, 0xc5, 0x47, 0x73, - 0x0e, 0x17, 0xc7, 0xb1, 0xef, 0xca, 0xcf, 0x0a, 0x40, 0x74, 0x37, 0x6a, 0x43, 0xc1, 0x20, 0xee, - 0xc0, 0x31, 0x6d, 0x61, 0x86, 0x32, 0x43, 0x7d, 0x8f, 0x13, 0x9c, 0x2a, 0x9b, 0x89, 0x0f, 0x29, - 0x9b, 0x95, 0x3f, 0x14, 0x28, 0xc6, 0x6d, 0x41, 0x1f, 0x43, 0x8a, 0x9d, 0xd8, 0xd2, 0x45, 0xa5, - 0x8d, 0xa7, 0xb3, 0xbd, 0x48, 0xad, 0x77, 0x62, 0x13, 0x2c, 0x88, 0x50, 0x09, 0x12, 0x7e, 0x73, - 0x4d, 0xe1, 0x84, 0x69, 0xa0, 0xbb, 0xb0, 0xe0, 0xd1, 0x81, 0x35, 0xb6, 0x1d, 0xe2, 0xba, 0xc4, - 0xd0, 0x5c, 0xf3, 0x2d, 0x11, 0xef, 0x9f, 0xc2, 0xe5, 0xf8, 0x41, 0xd7, 0x7c, 0x4b, 0xd0, 0xbf, - 0xe1, 0xd2, 0x69, 0xd1, 0x94, 0x10, 0x2d, 0x4d, 0x0a, 0x56, 0x1f, 0x40, 0x8a, 0xdf, 0x89, 0x16, - 0xa1, 0xdc, 0xfb, 0xb4, 0xd3, 0xd0, 0xde, 0xb4, 0xbb, 0x9d, 0xc6, 0x56, 0x6b, 0xa7, 0xd5, 0xd8, - 0x2e, 0xcf, 0xa1, 0x1c, 0xa4, 0xba, 0x8d, 0x76, 0xaf, 0xac, 0xa0, 0x22, 0xe4, 0x70, 0x63, 0xab, - 0xd1, 0xda, 0x6f, 0x6c, 0x97, 0x13, 0xf5, 0xac, 0x1f, 0xe2, 0x95, 0xdf, 0x78, 0x29, 0x89, 0xea, - 0x76, 0x13, 0x20, 0x6a, 0x02, 0x7e, 0xee, 0xde, 0x99, 0xfa, 0x29, 0x70, 0x3e, 0x6c, 0x01, 0xe8, - 0x09, 0x2c, 0x85, 0x59, 0x1a, 0x46, 0xc4, 0x64, 0x9a, 0x5e, 0x0b, 0xd2, 0x34, 0x3a, 0x17, 0x79, - 0x8a, 0x5e, 0xc0, 0xf5, 0x00, 0x3b, 0x11, 0xad, 0x01, 0x3c, 0x29, 0xe0, 0x01, 0x7f, 0xfc, 0xfd, - 0xfd, 0x44, 0xff, 0x3e, 0x01, 0x29, 0xde, 0x52, 0x66, 0x1a, 0x80, 0x9e, 0xfb, 0x81, 0x90, 0x14, - 0x81, 0x70, 0x67, 0x9a, 0xd6, 0x15, 0x77, 0xfb, 0x64, 0x90, 0xa6, 0x3e, 0x24, 0x48, 0xab, 0xbb, - 0xe7, 0x3a, 0xf7, 0x0a, 0x2c, 0x6c, 0x35, 0x5b, 0x7b, 0xdb, 0xda, 0x5e, 0xab, 0xbd, 0xdb, 0xd8, - 0xd6, 0xba, 0x9d, 0xcd, 0x76, 0x59, 0x41, 0x57, 0x01, 0x75, 0x36, 0x71, 0xa3, 0xdd, 0x9b, 0xd8, - 0x4f, 0x54, 0xbe, 0x82, 0xb4, 0x68, 0xb3, 0xe8, 0x11, 0xa4, 0x78, 0xa3, 0xf5, 0xdd, 0x7b, 0x6b, - 0x1a, 0x03, 0xb1, 0x40, 0xa0, 0x1a, 0x5c, 0x0e, 0x1c, 0x23, 0x5a, 0xf5, 0x84, 0x3b, 0x17, 0xfc, - 0x23, 0x71, 0x89, 0xf0, 0x43, 0xf5, 0x39, 0xe4, 0x82, 0x59, 0x0b, 0x2d, 0xc1, 0x15, 0xae, 0x88, - 0xb6, 0xdb, 0x6a, 0x6f, 0x9f, 0x32, 0x04, 0x20, 0xd3, 0x6d, 0xe0, 0xfd, 0x06, 0x2e, 0x2b, 0x7c, - 0xbd, 0xb5, 0xd7, 0xe2, 0x31, 0x9b, 0xa8, 0x3e, 0x84, 0x8c, 0xec, 0xef, 0x08, 0x41, 0x6a, 0x60, - 0x19, 0x32, 0x39, 0xd3, 0x58, 0xac, 0x91, 0x0a, 0x59, 0x3f, 0x3a, 0xfc, 0x8e, 0x14, 0x7c, 0x56, - 0x7f, 0x55, 0xa0, 0x34, 0x59, 0x99, 0xd1, 0x6b, 0x28, 0xba, 0xa2, 0xa2, 0x68, 0xb2, 0xb4, 0xcf, - 0x50, 0x8b, 0x9a, 0x73, 0xb8, 0x20, 0x39, 0x24, 0xe5, 0xdf, 0x21, 0x6f, 0x52, 0xa6, 0x45, 0xad, - 0x22, 0xd9, 0x9c, 0xc3, 0x39, 0x93, 0x32, 0x79, 0x7c, 0x03, 0xa0, 0x6f, 0x59, 0x23, 0xff, 0x9c, - 0x07, 0x53, 0xae, 0x39, 0x87, 0xf3, 0xfd, 0x60, 0x4c, 0x40, 0x37, 0xa1, 0x68, 0x58, 0x5e, 0x7f, - 0x44, 0x7c, 0x11, 0x1e, 0x2a, 0x0a, 0xbf, 0x44, 0xee, 0x0a, 0xa1, 0x30, 0x51, 0xab, 0xdf, 0x65, - 0x00, 0xa2, 0xc9, 0x0d, 0xf5, 0xb8, 0x3d, 0x7c, 0xea, 0x3b, 0x70, 0xf4, 0xb1, 0x68, 0xfc, 0xdc, - 0x9e, 0xf5, 0xa9, 0xc6, 0x3e, 0xb9, 0xdc, 0x11, 0x40, 0x2c, 0x87, 0x47, 0xf9, 0x81, 0x56, 0xe1, - 0x72, 0x6c, 0x96, 0xd4, 0x0e, 0x75, 0xf7, 0x50, 0x0b, 0x6b, 0x58, 0x39, 0x1a, 0x16, 0x9b, 0xba, - 0x7b, 0xd8, 0x32, 0x2a, 0xbf, 0x27, 0x7d, 0x9d, 0x04, 0x1c, 0xbd, 0x86, 0xf9, 0x03, 0x8f, 0x0e, - 0x78, 0x22, 0x6b, 0x62, 0xa0, 0x9f, 0xa5, 0xe0, 0x17, 0x03, 0x8a, 0x36, 0xa7, 0xec, 0xc3, 0x55, - 0xcb, 0x31, 0x87, 0x26, 0xd5, 0x47, 0xda, 0x24, 0x77, 0x62, 0x06, 0xee, 0xc5, 0x80, 0x6b, 0x27, - 0x7e, 0x47, 0x0b, 0xf2, 0x07, 0xe6, 0x88, 0x48, 0xda, 0xe4, 0x0c, 0xb4, 0x39, 0x0e, 0x17, 0x54, - 0x37, 0xa0, 0x30, 0x32, 0x29, 0xd1, 0xa8, 0x37, 0xee, 0x13, 0x47, 0x78, 0x34, 0x89, 0x81, 0x6f, - 0xb5, 0xc5, 0x0e, 0xba, 0x09, 0xf3, 0x03, 0x6b, 0xe4, 0x8d, 0x69, 0x20, 0x92, 0x16, 0x22, 0x45, - 0xb9, 0xe9, 0x0b, 0xd5, 0xa1, 0x30, 0xb2, 0x74, 0x43, 0x1b, 0x5b, 0x86, 0x37, 0x0a, 0xfe, 0xaf, - 0x38, 0x6f, 0x08, 0x7e, 0x25, 0x04, 0x31, 0x70, 0x94, 0x5c, 0xa3, 0x2e, 0x94, 0xe4, 0x38, 0xab, - 0x1d, 0x13, 0xc7, 0xe5, 0xdd, 0x37, 0x3b, 0x83, 0x65, 0xf3, 0x92, 0x63, 0x5f, 0x52, 0x54, 0xbe, - 0x51, 0xa0, 0x10, 0x8b, 0x1d, 0xb4, 0x03, 0x69, 0x11, 0x7e, 0xd3, 0x8c, 0x9d, 0xef, 0x8a, 0x3e, - 0x2c, 0xe1, 0xe8, 0x1e, 0x2c, 0x06, 0x65, 0x45, 0x86, 0xf3, 0x44, 0x5d, 0x41, 0xfe, 0x99, 0xbc, - 0x54, 0x16, 0x96, 0x1f, 0x15, 0xc8, 0xf8, 0x96, 0x6e, 0x43, 0xc6, 0x7f, 0xa8, 0x59, 0xc2, 0xcd, - 0xc7, 0xa2, 0x8f, 0x20, 0xd7, 0xf7, 0xf8, 0x68, 0xee, 0x87, 0xfb, 0x5f, 0xe5, 0xc9, 0x0a, 0x74, - 0xcb, 0xa8, 0x7e, 0x0e, 0x0b, 0x67, 0x4e, 0xa3, 0xd1, 0x59, 0x89, 0x8d, 0xce, 0xdc, 0x6c, 0x26, - 0x45, 0x89, 0xa1, 0xf5, 0x4f, 0x18, 0x99, 0x34, 0x3b, 0x3c, 0xab, 0x9f, 0x30, 0x22, 0xcc, 0xae, - 0xdb, 0x70, 0xdd, 0xb4, 0xde, 0xaf, 0x57, 0x5d, 0xfe, 0x57, 0xd0, 0xe1, 0x9b, 0x1d, 0xe5, 0xb3, - 0xfa, 0xd0, 0x64, 0x87, 0x5e, 0xbf, 0x36, 0xb0, 0xc6, 0x6b, 0x52, 0x7e, 0xd5, 0xa4, 0x2e, 0x73, - 0xbc, 0x31, 0xa1, 0xb2, 0xdf, 0xae, 0x45, 0x54, 0xab, 0xf2, 0x67, 0x89, 0x21, 0xa1, 0xab, 0xc3, - 0xe8, 0xf7, 0x8d, 0x7e, 0x46, 0x6c, 0xdf, 0xff, 0x33, 0x00, 0x00, 0xff, 0xff, 0x1e, 0xe0, 0x94, - 0x45, 0x03, 0x11, 0x00, 0x00, + // 1581 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0xdb, 0x6e, 0x1b, 0x41, + 0x19, 0xce, 0xfa, 0xec, 0xdf, 0x8e, 0xeb, 0x4c, 0xd3, 0x74, 0x63, 0x0a, 0x0d, 0x6e, 0x0b, 0x29, + 0x25, 0x9b, 0x26, 0x2d, 0x55, 0x8f, 0x2a, 0x71, 0xe2, 0x60, 0x37, 0xa9, 0xeb, 0x8e, 0xdd, 0x88, + 0x83, 0xd0, 0x6a, 0xed, 0x9d, 0x38, 0x4b, 0xec, 0xd9, 0x65, 0x77, 0x36, 0x28, 0x7d, 0x01, 0x84, + 0xe0, 0x86, 0x0b, 0xc4, 0x0b, 0x70, 0xc1, 0xeb, 0x20, 0xee, 0x79, 0x00, 0x24, 0x9e, 0x80, 0x1b, + 0x34, 0x33, 0x7b, 0x72, 0xd2, 0x26, 0xc6, 0xbd, 0xb1, 0xe6, 0xf0, 0x7f, 0xdf, 0x3f, 0xff, 0xcc, + 0x7f, 0x5a, 0xc3, 0x03, 0xdb, 0x21, 0x74, 0x48, 0xa8, 0xe7, 0x7b, 0x9b, 0x8e, 0x6b, 0x33, 0x7b, + 0x93, 0xb9, 0xc6, 0x90, 0x6c, 0x9e, 0x6d, 0xc9, 0x81, 0x26, 0x16, 0xd1, 0x6a, 0x2c, 0x26, 0x57, + 0x34, 0xb9, 0x7b, 0xb6, 0x55, 0x7b, 0x74, 0x89, 0xc1, 0x25, 0x9e, 0xed, 0xbb, 0x92, 0x24, 0x1c, + 0x4b, 0x54, 0xed, 0xee, 0xc8, 0xb6, 0x47, 0x63, 0x22, 0x05, 0x07, 0xfe, 0xf1, 0x26, 0xb3, 0x26, + 0xc4, 0x63, 0xc6, 0xc4, 0x09, 0x04, 0xbe, 0x77, 0x51, 0xe0, 0x77, 0xae, 0xe1, 0x38, 0xc4, 0x0d, + 0xd4, 0xd6, 0xff, 0xbc, 0x02, 0x99, 0x9e, 0x63, 0x50, 0xb4, 0x0a, 0x05, 0x71, 0x04, 0xdd, 0x32, + 0x55, 0x65, 0x4d, 0x59, 0x2f, 0xe3, 0xbc, 0x98, 0xb7, 0x4d, 0x74, 0x1b, 0xf2, 0x9e, 0x63, 0x50, + 0xbe, 0x93, 0x12, 0x3b, 0x39, 0x3e, 0x6d, 0x9b, 0xe8, 0x1d, 0x80, 0x90, 0xf1, 0x98, 0xc1, 0x88, + 0x7a, 0x63, 0x4d, 0x59, 0x2f, 0x6d, 0xff, 0x48, 0xfb, 0xaa, 0x69, 0x1a, 0x57, 0xa4, 0xf5, 0x23, + 0x04, 0x4e, 0xa0, 0xd1, 0x7d, 0xa8, 0x38, 0x86, 0x4b, 0x28, 0xd3, 0x43, 0x5d, 0x69, 0xa1, 0xab, + 0x2c, 0x57, 0x7b, 0x52, 0xe3, 0x4f, 0x21, 0x43, 0x8d, 0x09, 0x51, 0x33, 0x42, 0xd7, 0x8f, 0xaf, + 0xd0, 0xd5, 0x77, 0x7d, 0x3a, 0x34, 0x98, 0x31, 0x18, 0x93, 0x1e, 0x73, 0x2d, 0x3a, 0xc2, 0x02, + 0x89, 0x5e, 0x43, 0xe6, 0xd4, 0xa2, 0xa6, 0x5a, 0x59, 0x53, 0xd6, 0x2b, 0xdb, 0xeb, 0xd7, 0x9d, + 0x96, 0xff, 0x1c, 0x58, 0xd4, 0xc4, 0x02, 0x85, 0x5e, 0x00, 0x78, 0xcc, 0x70, 0x99, 0xce, 0xef, + 0x59, 0xcd, 0x8a, 0x53, 0xd4, 0x34, 0x79, 0xc7, 0x5a, 0x78, 0xc7, 0x5a, 0x3f, 0x7c, 0x04, 0x5c, + 0x14, 0xd2, 0x7c, 0x8e, 0x7e, 0x02, 0x05, 0x42, 0x4d, 0x09, 0xcc, 0x5d, 0x0b, 0xcc, 0x13, 0x6a, + 0x0a, 0xd8, 0x3b, 0x00, 0x83, 0x31, 0xd7, 0x1a, 0xf8, 0x8c, 0x78, 0x6a, 0x7e, 0xb6, 0x3b, 0xde, + 0x89, 0x10, 0x38, 0x81, 0x46, 0xfb, 0x50, 0xf2, 0x98, 0x31, 0x3c, 0xd5, 0x85, 0xb4, 0x5a, 0x10, + 0x64, 0x0f, 0xae, 0x22, 0xe3, 0xd2, 0xe2, 0xc1, 0x30, 0x78, 0xd1, 0x18, 0x1d, 0x40, 0x89, 0x9b, + 0xa1, 0x93, 0x33, 0x42, 0x99, 0xa7, 0x16, 0x67, 0x7c, 0x78, 0x6b, 0x42, 0x9a, 0x02, 0x81, 0x81, + 0x45, 0x63, 0xf4, 0x0a, 0xb2, 0x63, 0x8b, 0x9e, 0x7a, 0x2a, 0x5c, 0x7f, 0x1c, 0x4e, 0x73, 0xc8, + 0x85, 0xb1, 0xc4, 0xa0, 0x17, 0x90, 0xe3, 0xee, 0xe3, 0x7b, 0x6a, 0x49, 0xa0, 0xbf, 0x7f, 0xb5, + 0x31, 0xcc, 0xf7, 0x70, 0x00, 0x40, 0x0d, 0x28, 0x84, 0xc1, 0xa4, 0x56, 0x05, 0xf8, 0x07, 0x97, + 0xc1, 0x51, 0xb8, 0x9d, 0x6d, 0x69, 0x38, 0x18, 0xe3, 0x08, 0x87, 0x7e, 0x0e, 0xdf, 0xf1, 0x8c, + 0x09, 0xd1, 0x1d, 0xd7, 0x1e, 0x12, 0xcf, 0xd3, 0x0d, 0x4f, 0x4f, 0x38, 0xb1, 0x5a, 0xfe, 0xca, + 0x33, 0x37, 0x6c, 0x7b, 0x7c, 0x64, 0x8c, 0x7d, 0x82, 0x6f, 0x73, 0x78, 0x57, 0xa2, 0x77, 0xbc, + 0x6e, 0xe4, 0xea, 0x68, 0x1f, 0xaa, 0xc3, 0x13, 0x6b, 0x6c, 0xca, 0x68, 0x18, 0xda, 0x3e, 0x65, + 0xea, 0xa2, 0xa0, 0xbb, 0x73, 0x89, 0xee, 0x53, 0x9b, 0xb2, 0x27, 0xdb, 0x92, 0xb0, 0x22, 0x50, + 0x9c, 0x62, 0x97, 0x63, 0x6a, 0x7f, 0x50, 0x00, 0xe2, 0x88, 0x43, 0xef, 0x20, 0x4f, 0x28, 0x73, + 0x2d, 0xe2, 0xa9, 0xca, 0x5a, 0x7a, 0xbd, 0xb4, 0xfd, 0x78, 0xf6, 0x70, 0xd5, 0x9a, 0x94, 0xb9, + 0xe7, 0x38, 0x24, 0xa8, 0x6d, 0x42, 0x56, 0xac, 0xa0, 0x2a, 0xa4, 0x4f, 0xc9, 0xb9, 0xc8, 0x1a, + 0x45, 0xcc, 0x87, 0x68, 0x19, 0xb2, 0x67, 0xfc, 0x38, 0x22, 0x5f, 0x14, 0xb1, 0x9c, 0xd4, 0xfe, + 0x92, 0x02, 0x88, 0x3d, 0x13, 0x19, 0xb0, 0x18, 0xf9, 0xa6, 0x3e, 0x31, 0x9c, 0xe0, 0x44, 0xaf, + 0x67, 0x77, 0xee, 0x78, 0xf8, 0xde, 0x70, 0xe4, 0xe9, 0xca, 0x46, 0x62, 0x09, 0x3d, 0x07, 0xd5, + 0x74, 0x6d, 0xc7, 0x21, 0xa6, 0x1e, 0x87, 0x41, 0x70, 0x9b, 0xfc, 0x68, 0x59, 0xbc, 0x12, 0xec, + 0xc7, 0xa4, 0xf2, 0xde, 0x7e, 0x03, 0x4b, 0x97, 0xc8, 0xbf, 0x60, 0xe8, 0xdb, 0xa4, 0xa1, 0xa5, + 0xed, 0x87, 0x57, 0x9c, 0x3d, 0xa2, 0x93, 0x0f, 0x25, 0x71, 0x2f, 0x53, 0xcf, 0x95, 0xda, 0xdf, + 0xb2, 0x50, 0x8c, 0x82, 0x03, 0x69, 0x90, 0x11, 0x39, 0x42, 0xb9, 0x36, 0x47, 0x08, 0x39, 0x74, + 0x04, 0x60, 0x50, 0x6a, 0x33, 0x83, 0x59, 0x36, 0x0d, 0xce, 0xf1, 0x74, 0xe6, 0x58, 0xd4, 0x76, + 0x22, 0x6c, 0x6b, 0x01, 0x27, 0x98, 0xd0, 0xaf, 0x61, 0x71, 0x42, 0x3c, 0xcf, 0x18, 0x05, 0x71, + 0x2e, 0xf2, 0x71, 0x69, 0xfb, 0xd9, 0xec, 0xd4, 0xef, 0x25, 0x5c, 0x4c, 0x5a, 0x0b, 0xb8, 0x3c, + 0x49, 0xcc, 0x6b, 0x7f, 0x57, 0x00, 0x62, 0xdd, 0xa8, 0x03, 0x25, 0x93, 0x78, 0x43, 0xd7, 0x72, + 0x84, 0x19, 0xca, 0x1c, 0xf9, 0x3d, 0x49, 0x70, 0x21, 0x6d, 0xa6, 0xbe, 0x25, 0x6d, 0xd6, 0xfe, + 0xab, 0x40, 0x39, 0x69, 0x0b, 0xfa, 0x00, 0x19, 0x76, 0xee, 0xc8, 0x27, 0xaa, 0x6c, 0xbf, 0x9a, + 0xef, 0x46, 0xb4, 0xfe, 0xb9, 0x43, 0xb0, 0x20, 0x42, 0x15, 0x48, 0x05, 0xc5, 0x35, 0x83, 0x53, + 0x96, 0x89, 0x1e, 0xc1, 0x92, 0x4f, 0x87, 0xf6, 0xc4, 0x71, 0x89, 0xe7, 0x11, 0x53, 0xf7, 0xac, + 0xcf, 0x44, 0xdc, 0x7f, 0x06, 0x57, 0x93, 0x1b, 0x3d, 0xeb, 0x33, 0x41, 0x3f, 0x84, 0x1b, 0x17, + 0x45, 0x33, 0x42, 0xb4, 0x32, 0x2d, 0x58, 0x7f, 0x0a, 0x19, 0xae, 0x13, 0x2d, 0x43, 0xb5, 0xff, + 0x8b, 0x6e, 0x53, 0xff, 0xd4, 0xe9, 0x75, 0x9b, 0xbb, 0xed, 0xfd, 0x76, 0x73, 0xaf, 0xba, 0x80, + 0x0a, 0x90, 0xe9, 0x35, 0x3b, 0xfd, 0xaa, 0x82, 0xca, 0x50, 0xc0, 0xcd, 0xdd, 0x66, 0xfb, 0xa8, + 0xb9, 0x57, 0x4d, 0x35, 0xf2, 0x81, 0x8b, 0xd7, 0xfe, 0xc9, 0x53, 0x49, 0x9c, 0xb7, 0x5b, 0x00, + 0x71, 0x11, 0x08, 0x62, 0xf7, 0xe1, 0xcc, 0x57, 0x81, 0x8b, 0x51, 0x09, 0x40, 0x2f, 0x61, 0x35, + 0x8a, 0xd2, 0xc8, 0x23, 0xa6, 0xc3, 0xf4, 0x76, 0x18, 0xa6, 0xf1, 0xbe, 0x88, 0x53, 0xf4, 0x16, + 0xee, 0x84, 0xd8, 0x29, 0x6f, 0x0d, 0xe1, 0x69, 0x01, 0x0f, 0xf9, 0x93, 0xf7, 0x1f, 0x04, 0xfa, + 0xbf, 0x52, 0x90, 0xe1, 0x25, 0x65, 0xae, 0x06, 0xe8, 0x4d, 0xe0, 0x08, 0x69, 0xe1, 0x08, 0x0f, + 0x67, 0x29, 0x5d, 0xc9, 0x67, 0x9f, 0x76, 0xd2, 0xcc, 0x37, 0xd5, 0xf6, 0xe9, 0x5e, 0x2c, 0xfb, + 0x2d, 0xbd, 0x58, 0xfd, 0xe0, 0x4a, 0x47, 0xb9, 0x05, 0x4b, 0xbb, 0xad, 0xf6, 0xe1, 0x9e, 0x7e, + 0xd8, 0xee, 0x1c, 0x34, 0xf7, 0xf4, 0x5e, 0x77, 0xa7, 0x53, 0x55, 0xd0, 0x0a, 0xa0, 0xee, 0x0e, + 0x6e, 0x76, 0xfa, 0x53, 0xeb, 0xa9, 0xda, 0x6f, 0x21, 0x2b, 0x4a, 0x36, 0x7a, 0x0e, 0x19, 0x5e, + 0xb4, 0x03, 0x57, 0xb9, 0x3f, 0xcb, 0x65, 0x61, 0x81, 0x40, 0x1a, 0xdc, 0x0c, 0x1f, 0x59, 0x94, + 0xfd, 0x29, 0xd7, 0x58, 0x0a, 0xb6, 0x84, 0x12, 0xf1, 0xa6, 0xf5, 0x37, 0x50, 0x08, 0xfb, 0x36, + 0xb4, 0x0a, 0xb7, 0xf8, 0x41, 0xf4, 0x83, 0x76, 0x67, 0xef, 0x82, 0x21, 0x00, 0xb9, 0x5e, 0x13, + 0x1f, 0x35, 0x71, 0x55, 0xe1, 0xe3, 0xdd, 0xc3, 0x36, 0xf7, 0xff, 0x54, 0xfd, 0x19, 0xe4, 0x64, + 0xaf, 0x80, 0x10, 0x64, 0x86, 0xb6, 0x29, 0x03, 0x3d, 0x8b, 0xc5, 0x18, 0xa9, 0x90, 0x0f, 0x3c, + 0x2d, 0xa8, 0x6e, 0xe1, 0xb4, 0xfe, 0x0f, 0x05, 0x2a, 0xd3, 0x59, 0x1e, 0x7d, 0x84, 0xb2, 0x27, + 0xb2, 0x93, 0x2e, 0xcb, 0xc4, 0x1c, 0x79, 0xad, 0xb5, 0x80, 0x4b, 0x92, 0x43, 0x52, 0x7e, 0x17, + 0x8a, 0x16, 0x65, 0x7a, 0x5c, 0x76, 0xd2, 0xad, 0x05, 0x5c, 0xb0, 0x28, 0x93, 0xdb, 0x77, 0x01, + 0x06, 0xb6, 0x3d, 0x0e, 0xf6, 0xb9, 0x63, 0x16, 0x5a, 0x0b, 0xb8, 0x38, 0x08, 0x5b, 0x0e, 0x74, + 0x0f, 0xca, 0xa6, 0xed, 0x0f, 0xc6, 0x24, 0x10, 0xe1, 0x6e, 0xa7, 0x70, 0x25, 0x72, 0x55, 0x08, + 0x45, 0x41, 0x5f, 0xff, 0x63, 0x0e, 0x20, 0xee, 0x02, 0x51, 0x9f, 0xdb, 0xc3, 0x3b, 0xc8, 0x63, + 0xd7, 0x98, 0x88, 0x26, 0x82, 0xdb, 0xb3, 0x35, 0x53, 0x0b, 0x29, 0x87, 0xfb, 0x02, 0x88, 0x65, + 0x23, 0x2a, 0x27, 0x68, 0x03, 0x6e, 0x26, 0xfa, 0x52, 0xfd, 0xc4, 0xf0, 0x4e, 0xf4, 0x28, 0x1f, + 0x56, 0xe3, 0xc6, 0xb3, 0x65, 0x78, 0x27, 0x6d, 0xb3, 0xf6, 0x9f, 0x74, 0x70, 0x26, 0x01, 0x47, + 0x1f, 0x61, 0xf1, 0xd8, 0xa7, 0x43, 0x9e, 0x14, 0x74, 0xf1, 0x71, 0x30, 0x4f, 0xf1, 0x28, 0x87, + 0x14, 0x1d, 0x4e, 0x39, 0x80, 0x15, 0xdb, 0xb5, 0x46, 0x16, 0x35, 0xc6, 0xfa, 0x34, 0x77, 0x6a, + 0x0e, 0xee, 0xe5, 0x90, 0x6b, 0x3f, 0xa9, 0xa3, 0x0d, 0xc5, 0x63, 0x6b, 0x4c, 0x24, 0x6d, 0x7a, + 0x0e, 0xda, 0x02, 0x87, 0x0b, 0xaa, 0xbb, 0x50, 0x1a, 0x5b, 0x94, 0xe8, 0xd4, 0x9f, 0x0c, 0x88, + 0x2b, 0x5e, 0x34, 0x8d, 0x81, 0x2f, 0x75, 0xc4, 0x0a, 0xba, 0x07, 0x8b, 0x43, 0x7b, 0xec, 0x4f, + 0x68, 0x28, 0x92, 0x15, 0x22, 0x65, 0xb9, 0x18, 0x08, 0x35, 0xa0, 0x34, 0xb6, 0x0d, 0x53, 0x9f, + 0xd8, 0xa6, 0x3f, 0x0e, 0xbf, 0x51, 0xae, 0x6a, 0xa8, 0xdf, 0x0b, 0x41, 0x0c, 0x1c, 0x25, 0xc7, + 0xa8, 0x07, 0x15, 0xd9, 0x1a, 0xeb, 0x67, 0xc4, 0xf5, 0x78, 0x25, 0xcf, 0xcf, 0x61, 0xd9, 0xa2, + 0xe4, 0x38, 0x92, 0x14, 0xb5, 0xdf, 0x2b, 0x50, 0x4a, 0xf8, 0x0e, 0xda, 0x87, 0xac, 0x70, 0xbf, + 0x59, 0x5a, 0xd8, 0x2f, 0x79, 0x1f, 0x96, 0x70, 0xf4, 0x18, 0x96, 0xc3, 0xb4, 0x22, 0xdd, 0x79, + 0x2a, 0xaf, 0xa0, 0x60, 0x4f, 0x2a, 0x95, 0x89, 0xe5, 0xaf, 0x0a, 0xe4, 0x02, 0x4b, 0xf7, 0x20, + 0x17, 0x5c, 0xd4, 0x3c, 0xee, 0x16, 0x60, 0xd1, 0xcf, 0xa0, 0x30, 0xf0, 0x79, 0x9b, 0x1f, 0xb8, + 0xfb, 0xff, 0xcb, 0x93, 0x17, 0xe8, 0xb6, 0x59, 0xff, 0x15, 0x2c, 0x5d, 0xda, 0x8d, 0xdb, 0x70, + 0x25, 0xd1, 0x86, 0x73, 0xb3, 0x99, 0x14, 0x25, 0xa6, 0x3e, 0x38, 0x67, 0x64, 0xda, 0xec, 0x68, + 0xaf, 0x71, 0xce, 0x88, 0x30, 0xbb, 0xf1, 0x27, 0x05, 0xee, 0x58, 0xf6, 0xd7, 0x0f, 0xd6, 0x90, + 0x9f, 0x18, 0x5d, 0xbe, 0xd8, 0x55, 0x7e, 0xd9, 0x18, 0x59, 0xec, 0xc4, 0x1f, 0x68, 0x43, 0x7b, + 0xb2, 0x29, 0xe5, 0x37, 0x2c, 0xea, 0x31, 0xd7, 0x9f, 0x10, 0x2a, 0x8b, 0xf7, 0x66, 0x4c, 0xb5, + 0x21, 0xff, 0xe3, 0x18, 0x11, 0xba, 0x31, 0x8a, 0xff, 0x2c, 0xf9, 0x77, 0x6a, 0xf5, 0x83, 0x43, + 0xe8, 0xae, 0xd4, 0x26, 0x88, 0x65, 0xb1, 0xd2, 0x8e, 0xb6, 0x06, 0x39, 0x01, 0x79, 0xf2, 0xbf, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xcb, 0x56, 0xb6, 0xfd, 0x6c, 0x11, 0x00, 0x00, } diff --git a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1/trace_config.pb.go b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1/trace_config.pb.go index 2ac2d28c47c..025387784f8 100644 --- a/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1/trace_config.pb.go +++ b/vendor/github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1/trace_config.pb.go @@ -323,36 +323,37 @@ func init() { } var fileDescriptor_5359209b41ff50c5 = []byte{ - // 486 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xc1, 0x4e, 0xdb, 0x40, - 0x10, 0x86, 0x31, 0xa1, 0x50, 0x06, 0x01, 0xee, 0x5a, 0x54, 0x46, 0xe2, 0x80, 0x7c, 0x29, 0xaa, - 0x6a, 0xbb, 0xd0, 0x43, 0x55, 0x55, 0xaa, 0x94, 0x00, 0x51, 0x0f, 0x69, 0x88, 0x0c, 0x52, 0xd4, - 0x5e, 0xdc, 0xb5, 0xd9, 0xb8, 0xab, 0xc6, 0xb3, 0xae, 0x77, 0x1d, 0xd1, 0x77, 0xe9, 0x43, 0xf4, - 0x11, 0xab, 0xac, 0x5d, 0xdb, 0x49, 0x00, 0x71, 0xdb, 0xf9, 0xff, 0xf9, 0x7e, 0xaf, 0xbc, 0x33, - 0xf0, 0x46, 0x64, 0x0c, 0x63, 0x86, 0xb2, 0x90, 0x7e, 0x96, 0x0b, 0x25, 0x7c, 0x95, 0xd3, 0x98, - 0xf9, 0xb3, 0xd3, 0xf2, 0x10, 0xc6, 0x02, 0x27, 0x3c, 0xf1, 0xb4, 0x47, 0x0e, 0x9b, 0xee, 0x52, - 0xf1, 0x74, 0x93, 0x37, 0x3b, 0x75, 0xfe, 0x6c, 0xc0, 0xce, 0xcd, 0xbc, 0x38, 0xd7, 0x00, 0xf9, - 0x0e, 0x56, 0x96, 0x8b, 0x88, 0x46, 0x7c, 0xca, 0xd5, 0xef, 0x50, 0xd2, 0x34, 0x9b, 0xb2, 0xdc, - 0x36, 0x8e, 0x8d, 0x93, 0x9d, 0x33, 0xd7, 0x7b, 0x30, 0xc8, 0x1b, 0x35, 0xd4, 0x75, 0x09, 0x7d, - 0x5e, 0x0b, 0x48, 0xb6, 0xa2, 0x92, 0x31, 0x98, 0xb1, 0x40, 0xa9, 0x28, 0xaa, 0x3a, 0x7e, 0x5d, - 0xc7, 0xbf, 0x7e, 0x24, 0xfe, 0xbc, 0x42, 0x9a, 0xec, 0xfd, 0x78, 0x51, 0x22, 0xb7, 0x70, 0x90, - 0x53, 0xc5, 0xc2, 0x29, 0x4f, 0xb9, 0xe2, 0x98, 0xd4, 0xe9, 0x1d, 0x9d, 0xee, 0x3d, 0x92, 0x1e, - 0x50, 0xc5, 0x06, 0x15, 0xd6, 0x7c, 0xc1, 0xca, 0x57, 0x65, 0xf2, 0x1e, 0xec, 0x94, 0xde, 0x85, - 0x58, 0xa4, 0x11, 0xcb, 0x43, 0x31, 0x09, 0xa9, 0x52, 0x39, 0x8f, 0x0a, 0xc5, 0xa4, 0xbd, 0x71, - 0x6c, 0x9c, 0x74, 0x82, 0x83, 0x94, 0xde, 0x0d, 0xb5, 0x7d, 0x35, 0xe9, 0xd6, 0x26, 0xf9, 0x00, - 0x87, 0x4b, 0x20, 0xa2, 0x50, 0x54, 0x71, 0x81, 0xd2, 0x7e, 0xa6, 0xc9, 0x97, 0x6d, 0xb2, 0x71, - 0xc9, 0x27, 0x38, 0x5a, 0x44, 0x53, 0x26, 0x25, 0x4d, 0x58, 0xc8, 0x66, 0x0c, 0x95, 0xb4, 0x37, - 0x35, 0x6d, 0xb7, 0xe8, 0x2f, 0x65, 0xc3, 0xa5, 0xf6, 0x89, 0x0b, 0xd6, 0x22, 0x3f, 0xe5, 0xf8, - 0x53, 0xda, 0x5b, 0x1a, 0x33, 0x5b, 0xd8, 0x60, 0xae, 0xf7, 0xb6, 0x61, 0xab, 0xfa, 0x75, 0x4e, - 0x1f, 0xc8, 0xea, 0xc3, 0x92, 0xb7, 0x60, 0xe9, 0x06, 0x8e, 0x49, 0xcb, 0xd5, 0x43, 0x62, 0x04, - 0xf7, 0x59, 0xce, 0x5f, 0x03, 0xf6, 0x97, 0x9e, 0x90, 0x8c, 0xe1, 0xf9, 0x2d, 0x8b, 0xb9, 0xe4, - 0x02, 0x35, 0xba, 0x77, 0xf6, 0xf1, 0xe9, 0x03, 0x50, 0xd7, 0x17, 0x55, 0x44, 0x50, 0x87, 0x39, - 0x17, 0x60, 0x2e, 0xbb, 0x64, 0x0f, 0xa0, 0x3b, 0x18, 0x77, 0xbf, 0x5e, 0x87, 0x57, 0xfd, 0xbe, - 0xb9, 0x46, 0x76, 0x61, 0xfb, 0x7f, 0x3d, 0x34, 0x0d, 0xf2, 0x02, 0x76, 0xab, 0x72, 0xd4, 0x0d, - 0x2e, 0x87, 0x37, 0xe6, 0xba, 0xf3, 0x0a, 0xac, 0x7b, 0xc6, 0x82, 0x98, 0xd0, 0xf9, 0x95, 0x49, - 0x7d, 0xe1, 0x4e, 0x30, 0x3f, 0xf6, 0x66, 0x70, 0xc4, 0xc5, 0xc3, 0x37, 0xef, 0x99, 0xad, 0xfd, - 0x1a, 0xcd, 0xad, 0x91, 0xf1, 0xad, 0x97, 0x70, 0xf5, 0xa3, 0x88, 0xbc, 0x58, 0xa4, 0x7e, 0x49, - 0xb9, 0x1c, 0xa5, 0xca, 0x8b, 0x94, 0x61, 0xf9, 0xea, 0x7e, 0x13, 0xe8, 0x96, 0x1b, 0x9e, 0x30, - 0x74, 0x93, 0x66, 0xd1, 0xa3, 0x4d, 0x2d, 0xbf, 0xfb, 0x17, 0x00, 0x00, 0xff, 0xff, 0x13, 0xe2, - 0xd9, 0x56, 0x0c, 0x04, 0x00, 0x00, + // 506 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xc1, 0x6e, 0xd3, 0x30, + 0x18, 0xc7, 0x97, 0x76, 0x6c, 0xec, 0x9b, 0xb6, 0x05, 0x57, 0x43, 0xa9, 0xb4, 0xc3, 0x94, 0x0b, + 0x13, 0x22, 0x09, 0x1d, 0x07, 0x84, 0x90, 0x90, 0xda, 0x6e, 0x15, 0x87, 0xd2, 0x56, 0xd9, 0x44, + 0x05, 0x97, 0xe0, 0x64, 0x6e, 0xb0, 0x68, 0xec, 0x60, 0x3b, 0xd5, 0x78, 0x0d, 0xce, 0x3c, 0x04, + 0xcf, 0xc5, 0x53, 0xa0, 0x3a, 0x21, 0x49, 0xdb, 0x6d, 0xe2, 0x96, 0xef, 0xfb, 0x7f, 0xbf, 0x9f, + 0xad, 0xd8, 0x86, 0x17, 0x3c, 0x25, 0x2c, 0x22, 0x4c, 0x66, 0xd2, 0x4b, 0x05, 0x57, 0xdc, 0x53, + 0x02, 0x47, 0xc4, 0x5b, 0x74, 0xf2, 0x8f, 0x20, 0xe2, 0x6c, 0x46, 0x63, 0x57, 0x67, 0xa8, 0x5d, + 0x4d, 0xe7, 0x1d, 0x57, 0x0f, 0xb9, 0x8b, 0x8e, 0xfd, 0x6b, 0x1b, 0xf6, 0xaf, 0x97, 0x45, 0x5f, + 0x03, 0xe8, 0x0b, 0xb4, 0x52, 0xc1, 0x43, 0x1c, 0xd2, 0x39, 0x55, 0x3f, 0x02, 0x89, 0x93, 0x74, + 0x4e, 0x84, 0x65, 0x9c, 0x1a, 0x67, 0xfb, 0xe7, 0x8e, 0x7b, 0xaf, 0xc8, 0x9d, 0x54, 0xd4, 0x55, + 0x0e, 0xbd, 0xdf, 0xf2, 0x51, 0xba, 0xd1, 0x45, 0x53, 0x30, 0x23, 0xce, 0xa4, 0xc2, 0x4c, 0x95, + 0xfa, 0x86, 0xd6, 0x3f, 0x7f, 0x40, 0xdf, 0x2f, 0x90, 0xca, 0x7d, 0x14, 0xad, 0xb6, 0xd0, 0x0d, + 0x1c, 0x0b, 0xac, 0x48, 0x30, 0xa7, 0x09, 0x55, 0x94, 0xc5, 0xa5, 0xbd, 0xa9, 0xed, 0xee, 0x03, + 0x76, 0x1f, 0x2b, 0x32, 0x2c, 0xb0, 0x6a, 0x85, 0x96, 0xd8, 0x6c, 0xa3, 0xd7, 0x60, 0x25, 0xf8, + 0x36, 0x60, 0x59, 0x12, 0x12, 0x11, 0xf0, 0x59, 0x80, 0x95, 0x12, 0x34, 0xcc, 0x14, 0x91, 0xd6, + 0xf6, 0xa9, 0x71, 0xd6, 0xf4, 0x8f, 0x13, 0x7c, 0x3b, 0xd2, 0xf1, 0x78, 0xd6, 0x2d, 0x43, 0xf4, + 0x06, 0xda, 0x6b, 0x20, 0x63, 0x5c, 0x61, 0x45, 0x39, 0x93, 0xd6, 0x23, 0x4d, 0x3e, 0xad, 0x93, + 0x55, 0x8a, 0xde, 0xc1, 0xc9, 0x2a, 0x9a, 0x10, 0x29, 0x71, 0x4c, 0x02, 0xb2, 0x20, 0x4c, 0x49, + 0x6b, 0x47, 0xd3, 0x56, 0x8d, 0xfe, 0x90, 0x0f, 0x5c, 0xea, 0x1c, 0x39, 0xd0, 0x5a, 0xe5, 0xe7, + 0x94, 0x7d, 0x93, 0xd6, 0xae, 0xc6, 0xcc, 0x1a, 0x36, 0x5c, 0xf6, 0x7b, 0x7b, 0xb0, 0x5b, 0xfc, + 0x3a, 0x7b, 0x00, 0x68, 0xf3, 0x60, 0xd1, 0x4b, 0x68, 0xe9, 0x01, 0xca, 0xe2, 0x5a, 0xaa, 0x2f, + 0x89, 0xe1, 0xdf, 0x15, 0xd9, 0xbf, 0x0d, 0x38, 0x5a, 0x3b, 0x42, 0x34, 0x85, 0xc7, 0x37, 0x24, + 0xa2, 0x92, 0x72, 0xa6, 0xd1, 0xc3, 0xf3, 0xb7, 0xff, 0x7f, 0x01, 0xca, 0xfa, 0xa2, 0x50, 0xf8, + 0xa5, 0xcc, 0xbe, 0x00, 0x73, 0x3d, 0x45, 0x87, 0x00, 0xdd, 0xe1, 0xb4, 0xfb, 0xe9, 0x2a, 0x18, + 0x0f, 0x06, 0xe6, 0x16, 0x3a, 0x80, 0xbd, 0x7f, 0xf5, 0xc8, 0x34, 0xd0, 0x13, 0x38, 0x28, 0xca, + 0x49, 0xd7, 0xbf, 0x1c, 0x5d, 0x9b, 0x0d, 0xfb, 0x19, 0xb4, 0xee, 0xb8, 0x16, 0xc8, 0x84, 0xe6, + 0xf7, 0x54, 0xea, 0x0d, 0x37, 0xfd, 0xe5, 0x67, 0xef, 0xa7, 0x01, 0x27, 0x94, 0xdf, 0xbf, 0xf5, + 0x9e, 0x59, 0x7b, 0x60, 0x93, 0x65, 0x34, 0x31, 0x3e, 0xf7, 0x62, 0xaa, 0xbe, 0x66, 0xa1, 0x1b, + 0xf1, 0xc4, 0xcb, 0x29, 0x87, 0x32, 0xa9, 0x44, 0x96, 0x10, 0x96, 0x1f, 0xbb, 0x57, 0x09, 0x9d, + 0xfc, 0x89, 0xc7, 0x84, 0x39, 0x71, 0xf5, 0xd2, 0xff, 0x34, 0xda, 0xe3, 0x94, 0xb0, 0x7e, 0xbe, + 0xa6, 0x16, 0xbb, 0x7a, 0x25, 0xf7, 0x63, 0x27, 0xdc, 0xd1, 0xc8, 0xab, 0xbf, 0x01, 0x00, 0x00, + 0xff, 0xff, 0x50, 0x0c, 0xfe, 0x32, 0x29, 0x04, 0x00, 0x00, } diff --git a/vendor/github.com/edsrzf/mmap-go/.gitignore b/vendor/github.com/edsrzf/mmap-go/.gitignore new file mode 100644 index 00000000000..9aa02c1ed3d --- /dev/null +++ b/vendor/github.com/edsrzf/mmap-go/.gitignore @@ -0,0 +1,8 @@ +*.out +*.5 +*.6 +*.8 +*.swp +_obj +_test +testdata diff --git a/vendor/github.com/edsrzf/mmap-go/LICENSE b/vendor/github.com/edsrzf/mmap-go/LICENSE new file mode 100644 index 00000000000..8f05f338ac5 --- /dev/null +++ b/vendor/github.com/edsrzf/mmap-go/LICENSE @@ -0,0 +1,25 @@ +Copyright (c) 2011, Evan Shaw +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/vendor/github.com/edsrzf/mmap-go/README.md b/vendor/github.com/edsrzf/mmap-go/README.md new file mode 100644 index 00000000000..4cc2bfe1c8c --- /dev/null +++ b/vendor/github.com/edsrzf/mmap-go/README.md @@ -0,0 +1,12 @@ +mmap-go +======= + +mmap-go is a portable mmap package for the [Go programming language](http://golang.org). +It has been tested on Linux (386, amd64), OS X, and Windows (386). It should also +work on other Unix-like platforms, but hasn't been tested with them. I'm interested +to hear about the results. + +I haven't been able to add more features without adding significant complexity, +so mmap-go doesn't support mprotect, mincore, and maybe a few other things. +If you're running on a Unix-like platform and need some of these features, +I suggest Gustavo Niemeyer's [gommap](http://labix.org/gommap). diff --git a/vendor/github.com/edsrzf/mmap-go/mmap.go b/vendor/github.com/edsrzf/mmap-go/mmap.go new file mode 100644 index 00000000000..29655bd222c --- /dev/null +++ b/vendor/github.com/edsrzf/mmap-go/mmap.go @@ -0,0 +1,117 @@ +// Copyright 2011 Evan Shaw. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// This file defines the common package interface and contains a little bit of +// factored out logic. + +// Package mmap allows mapping files into memory. It tries to provide a simple, reasonably portable interface, +// but doesn't go out of its way to abstract away every little platform detail. +// This specifically means: +// * forked processes may or may not inherit mappings +// * a file's timestamp may or may not be updated by writes through mappings +// * specifying a size larger than the file's actual size can increase the file's size +// * If the mapped file is being modified by another process while your program's running, don't expect consistent results between platforms +package mmap + +import ( + "errors" + "os" + "reflect" + "unsafe" +) + +const ( + // RDONLY maps the memory read-only. + // Attempts to write to the MMap object will result in undefined behavior. + RDONLY = 0 + // RDWR maps the memory as read-write. Writes to the MMap object will update the + // underlying file. + RDWR = 1 << iota + // COPY maps the memory as copy-on-write. Writes to the MMap object will affect + // memory, but the underlying file will remain unchanged. + COPY + // If EXEC is set, the mapped memory is marked as executable. + EXEC +) + +const ( + // If the ANON flag is set, the mapped memory will not be backed by a file. + ANON = 1 << iota +) + +// MMap represents a file mapped into memory. +type MMap []byte + +// Map maps an entire file into memory. +// If ANON is set in flags, f is ignored. +func Map(f *os.File, prot, flags int) (MMap, error) { + return MapRegion(f, -1, prot, flags, 0) +} + +// MapRegion maps part of a file into memory. +// The offset parameter must be a multiple of the system's page size. +// If length < 0, the entire file will be mapped. +// If ANON is set in flags, f is ignored. +func MapRegion(f *os.File, length int, prot, flags int, offset int64) (MMap, error) { + if offset%int64(os.Getpagesize()) != 0 { + return nil, errors.New("offset parameter must be a multiple of the system's page size") + } + + var fd uintptr + if flags&ANON == 0 { + fd = uintptr(f.Fd()) + if length < 0 { + fi, err := f.Stat() + if err != nil { + return nil, err + } + length = int(fi.Size()) + } + } else { + if length <= 0 { + return nil, errors.New("anonymous mapping requires non-zero length") + } + fd = ^uintptr(0) + } + return mmap(length, uintptr(prot), uintptr(flags), fd, offset) +} + +func (m *MMap) header() *reflect.SliceHeader { + return (*reflect.SliceHeader)(unsafe.Pointer(m)) +} + +func (m *MMap) addrLen() (uintptr, uintptr) { + header := m.header() + return header.Data, uintptr(header.Len) +} + +// Lock keeps the mapped region in physical memory, ensuring that it will not be +// swapped out. +func (m MMap) Lock() error { + return m.lock() +} + +// Unlock reverses the effect of Lock, allowing the mapped region to potentially +// be swapped out. +// If m is already unlocked, aan error will result. +func (m MMap) Unlock() error { + return m.unlock() +} + +// Flush synchronizes the mapping's contents to the file's contents on disk. +func (m MMap) Flush() error { + return m.flush() +} + +// Unmap deletes the memory mapped region, flushes any remaining changes, and sets +// m to nil. +// Trying to read or write any remaining references to m after Unmap is called will +// result in undefined behavior. +// Unmap should only be called on the slice value that was originally returned from +// a call to Map. Calling Unmap on a derived slice may cause errors. +func (m *MMap) Unmap() error { + err := m.unmap() + *m = nil + return err +} diff --git a/vendor/github.com/edsrzf/mmap-go/mmap_unix.go b/vendor/github.com/edsrzf/mmap-go/mmap_unix.go new file mode 100644 index 00000000000..25b13e51fdf --- /dev/null +++ b/vendor/github.com/edsrzf/mmap-go/mmap_unix.go @@ -0,0 +1,51 @@ +// Copyright 2011 Evan Shaw. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd linux openbsd solaris netbsd + +package mmap + +import ( + "golang.org/x/sys/unix" +) + +func mmap(len int, inprot, inflags, fd uintptr, off int64) ([]byte, error) { + flags := unix.MAP_SHARED + prot := unix.PROT_READ + switch { + case inprot© != 0: + prot |= unix.PROT_WRITE + flags = unix.MAP_PRIVATE + case inprot&RDWR != 0: + prot |= unix.PROT_WRITE + } + if inprot&EXEC != 0 { + prot |= unix.PROT_EXEC + } + if inflags&ANON != 0 { + flags |= unix.MAP_ANON + } + + b, err := unix.Mmap(int(fd), off, len, prot, flags) + if err != nil { + return nil, err + } + return b, nil +} + +func (m MMap) flush() error { + return unix.Msync([]byte(m), unix.MS_SYNC) +} + +func (m MMap) lock() error { + return unix.Mlock([]byte(m)) +} + +func (m MMap) unlock() error { + return unix.Munlock([]byte(m)) +} + +func (m MMap) unmap() error { + return unix.Munmap([]byte(m)) +} diff --git a/vendor/github.com/edsrzf/mmap-go/mmap_windows.go b/vendor/github.com/edsrzf/mmap-go/mmap_windows.go new file mode 100644 index 00000000000..7910da25770 --- /dev/null +++ b/vendor/github.com/edsrzf/mmap-go/mmap_windows.go @@ -0,0 +1,143 @@ +// Copyright 2011 Evan Shaw. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package mmap + +import ( + "errors" + "os" + "sync" + + "golang.org/x/sys/windows" +) + +// mmap on Windows is a two-step process. +// First, we call CreateFileMapping to get a handle. +// Then, we call MapviewToFile to get an actual pointer into memory. +// Because we want to emulate a POSIX-style mmap, we don't want to expose +// the handle -- only the pointer. We also want to return only a byte slice, +// not a struct, so it's convenient to manipulate. + +// We keep this map so that we can get back the original handle from the memory address. + +type addrinfo struct { + file windows.Handle + mapview windows.Handle +} + +var handleLock sync.Mutex +var handleMap = map[uintptr]*addrinfo{} + +func mmap(len int, prot, flags, hfile uintptr, off int64) ([]byte, error) { + flProtect := uint32(windows.PAGE_READONLY) + dwDesiredAccess := uint32(windows.FILE_MAP_READ) + switch { + case prot© != 0: + flProtect = windows.PAGE_WRITECOPY + dwDesiredAccess = windows.FILE_MAP_COPY + case prot&RDWR != 0: + flProtect = windows.PAGE_READWRITE + dwDesiredAccess = windows.FILE_MAP_WRITE + } + if prot&EXEC != 0 { + flProtect <<= 4 + dwDesiredAccess |= windows.FILE_MAP_EXECUTE + } + + // The maximum size is the area of the file, starting from 0, + // that we wish to allow to be mappable. It is the sum of + // the length the user requested, plus the offset where that length + // is starting from. This does not map the data into memory. + maxSizeHigh := uint32((off + int64(len)) >> 32) + maxSizeLow := uint32((off + int64(len)) & 0xFFFFFFFF) + // TODO: Do we need to set some security attributes? It might help portability. + h, errno := windows.CreateFileMapping(windows.Handle(hfile), nil, flProtect, maxSizeHigh, maxSizeLow, nil) + if h == 0 { + return nil, os.NewSyscallError("CreateFileMapping", errno) + } + + // Actually map a view of the data into memory. The view's size + // is the length the user requested. + fileOffsetHigh := uint32(off >> 32) + fileOffsetLow := uint32(off & 0xFFFFFFFF) + addr, errno := windows.MapViewOfFile(h, dwDesiredAccess, fileOffsetHigh, fileOffsetLow, uintptr(len)) + if addr == 0 { + return nil, os.NewSyscallError("MapViewOfFile", errno) + } + handleLock.Lock() + handleMap[addr] = &addrinfo{ + file: windows.Handle(hfile), + mapview: h, + } + handleLock.Unlock() + + m := MMap{} + dh := m.header() + dh.Data = addr + dh.Len = len + dh.Cap = dh.Len + + return m, nil +} + +func (m MMap) flush() error { + addr, len := m.addrLen() + errno := windows.FlushViewOfFile(addr, len) + if errno != nil { + return os.NewSyscallError("FlushViewOfFile", errno) + } + + handleLock.Lock() + defer handleLock.Unlock() + handle, ok := handleMap[addr] + if !ok { + // should be impossible; we would've errored above + return errors.New("unknown base address") + } + + errno = windows.FlushFileBuffers(handle.file) + return os.NewSyscallError("FlushFileBuffers", errno) +} + +func (m MMap) lock() error { + addr, len := m.addrLen() + errno := windows.VirtualLock(addr, len) + return os.NewSyscallError("VirtualLock", errno) +} + +func (m MMap) unlock() error { + addr, len := m.addrLen() + errno := windows.VirtualUnlock(addr, len) + return os.NewSyscallError("VirtualUnlock", errno) +} + +func (m MMap) unmap() error { + err := m.flush() + if err != nil { + return err + } + + addr := m.header().Data + // Lock the UnmapViewOfFile along with the handleMap deletion. + // As soon as we unmap the view, the OS is free to give the + // same addr to another new map. We don't want another goroutine + // to insert and remove the same addr into handleMap while + // we're trying to remove our old addr/handle pair. + handleLock.Lock() + defer handleLock.Unlock() + err = windows.UnmapViewOfFile(addr) + if err != nil { + return err + } + + handle, ok := handleMap[addr] + if !ok { + // should be impossible; we would've errored above + return errors.New("unknown base address") + } + delete(handleMap, addr) + + e := windows.CloseHandle(windows.Handle(handle.mapview)) + return os.NewSyscallError("CloseHandle", e) +} diff --git a/vendor/github.com/globalsign/mgo/LICENSE b/vendor/github.com/globalsign/mgo/LICENSE deleted file mode 100644 index 770c7672b45..00000000000 --- a/vendor/github.com/globalsign/mgo/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -mgo - MongoDB driver for Go - -Copyright (c) 2010-2013 - Gustavo Niemeyer - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/globalsign/mgo/bson/LICENSE b/vendor/github.com/globalsign/mgo/bson/LICENSE deleted file mode 100644 index 890326017b8..00000000000 --- a/vendor/github.com/globalsign/mgo/bson/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -BSON library for Go - -Copyright (c) 2010-2012 - Gustavo Niemeyer - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/globalsign/mgo/bson/README.md b/vendor/github.com/globalsign/mgo/bson/README.md deleted file mode 100644 index 5c5819e612b..00000000000 --- a/vendor/github.com/globalsign/mgo/bson/README.md +++ /dev/null @@ -1,12 +0,0 @@ -[![GoDoc](https://godoc.org/github.com/globalsign/mgo/bson?status.svg)](https://godoc.org/github.com/globalsign/mgo/bson) - -An Implementation of BSON for Go --------------------------------- - -Package bson is an implementation of the [BSON specification](http://bsonspec.org) for Go. - -While the BSON package implements the BSON spec as faithfully as possible, there -is some MongoDB specific behaviour (such as map keys `$in`, `$all`, etc) in the -`bson` package. The priority is for backwards compatibility for the `mgo` -driver, though fixes for obviously buggy behaviour is welcome (and features, etc -behind feature flags). diff --git a/vendor/github.com/globalsign/mgo/bson/bson.go b/vendor/github.com/globalsign/mgo/bson/bson.go deleted file mode 100644 index eb87ef6208a..00000000000 --- a/vendor/github.com/globalsign/mgo/bson/bson.go +++ /dev/null @@ -1,836 +0,0 @@ -// BSON library for Go -// -// Copyright (c) 2010-2012 - Gustavo Niemeyer -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, this -// list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// Package bson is an implementation of the BSON specification for Go: -// -// http://bsonspec.org -// -// It was created as part of the mgo MongoDB driver for Go, but is standalone -// and may be used on its own without the driver. -package bson - -import ( - "bytes" - "crypto/md5" - "crypto/rand" - "encoding/binary" - "encoding/hex" - "encoding/json" - "errors" - "fmt" - "io" - "math" - "os" - "reflect" - "runtime" - "strings" - "sync" - "sync/atomic" - "time" -) - -//go:generate go run bson_corpus_spec_test_generator.go - -// -------------------------------------------------------------------------- -// The public API. - -// Element types constants from BSON specification. -const ( - ElementFloat64 byte = 0x01 - ElementString byte = 0x02 - ElementDocument byte = 0x03 - ElementArray byte = 0x04 - ElementBinary byte = 0x05 - Element06 byte = 0x06 - ElementObjectId byte = 0x07 - ElementBool byte = 0x08 - ElementDatetime byte = 0x09 - ElementNil byte = 0x0A - ElementRegEx byte = 0x0B - ElementDBPointer byte = 0x0C - ElementJavaScriptWithoutScope byte = 0x0D - ElementSymbol byte = 0x0E - ElementJavaScriptWithScope byte = 0x0F - ElementInt32 byte = 0x10 - ElementTimestamp byte = 0x11 - ElementInt64 byte = 0x12 - ElementDecimal128 byte = 0x13 - ElementMinKey byte = 0xFF - ElementMaxKey byte = 0x7F - - BinaryGeneric byte = 0x00 - BinaryFunction byte = 0x01 - BinaryBinaryOld byte = 0x02 - BinaryUUIDOld byte = 0x03 - BinaryUUID byte = 0x04 - BinaryMD5 byte = 0x05 - BinaryUserDefined byte = 0x80 -) - -// Getter interface: a value implementing the bson.Getter interface will have its GetBSON -// method called when the given value has to be marshalled, and the result -// of this method will be marshaled in place of the actual object. -// -// If GetBSON returns return a non-nil error, the marshalling procedure -// will stop and error out with the provided value. -type Getter interface { - GetBSON() (interface{}, error) -} - -// Setter interface: a value implementing the bson.Setter interface will receive the BSON -// value via the SetBSON method during unmarshaling, and the object -// itself will not be changed as usual. -// -// If setting the value works, the method should return nil or alternatively -// bson.ErrSetZero to set the respective field to its zero value (nil for -// pointer types). If SetBSON returns a value of type bson.TypeError, the -// BSON value will be omitted from a map or slice being decoded and the -// unmarshalling will continue. If it returns any other non-nil error, the -// unmarshalling procedure will stop and error out with the provided value. -// -// This interface is generally useful in pointer receivers, since the method -// will want to change the receiver. A type field that implements the Setter -// interface doesn't have to be a pointer, though. -// -// Unlike the usual behavior, unmarshalling onto a value that implements a -// Setter interface will NOT reset the value to its zero state. This allows -// the value to decide by itself how to be unmarshalled. -// -// For example: -// -// type MyString string -// -// func (s *MyString) SetBSON(raw bson.Raw) error { -// return raw.Unmarshal(s) -// } -// -type Setter interface { - SetBSON(raw Raw) error -} - -// ErrSetZero may be returned from a SetBSON method to have the value set to -// its respective zero value. When used in pointer values, this will set the -// field to nil rather than to the pre-allocated value. -var ErrSetZero = errors.New("set to zero") - -// M is a convenient alias for a map[string]interface{} map, useful for -// dealing with BSON in a native way. For instance: -// -// bson.M{"a": 1, "b": true} -// -// There's no special handling for this type in addition to what's done anyway -// for an equivalent map type. Elements in the map will be dumped in an -// undefined ordered. See also the bson.D type for an ordered alternative. -type M map[string]interface{} - -// D represents a BSON document containing ordered elements. For example: -// -// bson.D{{"a", 1}, {"b", true}} -// -// In some situations, such as when creating indexes for MongoDB, the order in -// which the elements are defined is important. If the order is not important, -// using a map is generally more comfortable. See bson.M and bson.RawD. -type D []DocElem - -// DocElem is an element of the bson.D document representation. -type DocElem struct { - Name string - Value interface{} -} - -// Map returns a map out of the ordered element name/value pairs in d. -func (d D) Map() (m M) { - m = make(M, len(d)) - for _, item := range d { - m[item.Name] = item.Value - } - return m -} - -// The Raw type represents raw unprocessed BSON documents and elements. -// Kind is the kind of element as defined per the BSON specification, and -// Data is the raw unprocessed data for the respective element. -// Using this type it is possible to unmarshal or marshal values partially. -// -// Relevant documentation: -// -// http://bsonspec.org/#/specification -// -type Raw struct { - Kind byte - Data []byte -} - -// RawD represents a BSON document containing raw unprocessed elements. -// This low-level representation may be useful when lazily processing -// documents of uncertain content, or when manipulating the raw content -// documents in general. -type RawD []RawDocElem - -// RawDocElem elements of RawD type. -type RawDocElem struct { - Name string - Value Raw -} - -// ObjectId is a unique ID identifying a BSON value. It must be exactly 12 bytes -// long. MongoDB objects by default have such a property set in their "_id" -// property. -// -// http://www.mongodb.org/display/DOCS/Object+Ids -type ObjectId string - -// ObjectIdHex returns an ObjectId from the provided hex representation. -// Calling this function with an invalid hex representation will -// cause a runtime panic. See the IsObjectIdHex function. -func ObjectIdHex(s string) ObjectId { - d, err := hex.DecodeString(s) - if err != nil || len(d) != 12 { - panic(fmt.Sprintf("invalid input to ObjectIdHex: %q", s)) - } - return ObjectId(d) -} - -// IsObjectIdHex returns whether s is a valid hex representation of -// an ObjectId. See the ObjectIdHex function. -func IsObjectIdHex(s string) bool { - if len(s) != 24 { - return false - } - _, err := hex.DecodeString(s) - return err == nil -} - -// objectIdCounter is atomically incremented when generating a new ObjectId -// using NewObjectId() function. It's used as a counter part of an id. -var objectIdCounter = readRandomUint32() - -// readRandomUint32 returns a random objectIdCounter. -func readRandomUint32() uint32 { - var b [4]byte - _, err := io.ReadFull(rand.Reader, b[:]) - if err != nil { - panic(fmt.Errorf("cannot read random object id: %v", err)) - } - return uint32((uint32(b[0]) << 0) | (uint32(b[1]) << 8) | (uint32(b[2]) << 16) | (uint32(b[3]) << 24)) -} - -// machineId stores machine id generated once and used in subsequent calls -// to NewObjectId function. -var machineId = readMachineId() -var processId = os.Getpid() - -// readMachineId generates and returns a machine id. -// If this function fails to get the hostname it will cause a runtime error. -func readMachineId() []byte { - var sum [3]byte - id := sum[:] - hostname, err1 := os.Hostname() - if err1 != nil { - _, err2 := io.ReadFull(rand.Reader, id) - if err2 != nil { - panic(fmt.Errorf("cannot get hostname: %v; %v", err1, err2)) - } - return id - } - hw := md5.New() - hw.Write([]byte(hostname)) - copy(id, hw.Sum(nil)) - return id -} - -// NewObjectId returns a new unique ObjectId. -func NewObjectId() ObjectId { - var b [12]byte - // Timestamp, 4 bytes, big endian - binary.BigEndian.PutUint32(b[:], uint32(time.Now().Unix())) - // Machine, first 3 bytes of md5(hostname) - b[4] = machineId[0] - b[5] = machineId[1] - b[6] = machineId[2] - // Pid, 2 bytes, specs don't specify endianness, but we use big endian. - b[7] = byte(processId >> 8) - b[8] = byte(processId) - // Increment, 3 bytes, big endian - i := atomic.AddUint32(&objectIdCounter, 1) - b[9] = byte(i >> 16) - b[10] = byte(i >> 8) - b[11] = byte(i) - return ObjectId(b[:]) -} - -// NewObjectIdWithTime returns a dummy ObjectId with the timestamp part filled -// with the provided number of seconds from epoch UTC, and all other parts -// filled with zeroes. It's not safe to insert a document with an id generated -// by this method, it is useful only for queries to find documents with ids -// generated before or after the specified timestamp. -func NewObjectIdWithTime(t time.Time) ObjectId { - var b [12]byte - binary.BigEndian.PutUint32(b[:4], uint32(t.Unix())) - return ObjectId(string(b[:])) -} - -// String returns a hex string representation of the id. -// Example: ObjectIdHex("4d88e15b60f486e428412dc9"). -func (id ObjectId) String() string { - return fmt.Sprintf(`ObjectIdHex("%x")`, string(id)) -} - -// Hex returns a hex representation of the ObjectId. -func (id ObjectId) Hex() string { - return hex.EncodeToString([]byte(id)) -} - -// MarshalJSON turns a bson.ObjectId into a json.Marshaller. -func (id ObjectId) MarshalJSON() ([]byte, error) { - return []byte(fmt.Sprintf(`"%x"`, string(id))), nil -} - -var nullBytes = []byte("null") - -// UnmarshalJSON turns *bson.ObjectId into a json.Unmarshaller. -func (id *ObjectId) UnmarshalJSON(data []byte) error { - if len(data) > 0 && (data[0] == '{' || data[0] == 'O') { - var v struct { - Id json.RawMessage `json:"$oid"` - Func struct { - Id json.RawMessage - } `json:"$oidFunc"` - } - err := jdec(data, &v) - if err == nil { - if len(v.Id) > 0 { - data = []byte(v.Id) - } else { - data = []byte(v.Func.Id) - } - } - } - if len(data) == 2 && data[0] == '"' && data[1] == '"' || bytes.Equal(data, nullBytes) { - *id = "" - return nil - } - if len(data) != 26 || data[0] != '"' || data[25] != '"' { - return fmt.Errorf("invalid ObjectId in JSON: %s", string(data)) - } - var buf [12]byte - _, err := hex.Decode(buf[:], data[1:25]) - if err != nil { - return fmt.Errorf("invalid ObjectId in JSON: %s (%s)", string(data), err) - } - *id = ObjectId(string(buf[:])) - return nil -} - -// MarshalText turns bson.ObjectId into an encoding.TextMarshaler. -func (id ObjectId) MarshalText() ([]byte, error) { - return []byte(fmt.Sprintf("%x", string(id))), nil -} - -// UnmarshalText turns *bson.ObjectId into an encoding.TextUnmarshaler. -func (id *ObjectId) UnmarshalText(data []byte) error { - if len(data) == 1 && data[0] == ' ' || len(data) == 0 { - *id = "" - return nil - } - if len(data) != 24 { - return fmt.Errorf("invalid ObjectId: %s", data) - } - var buf [12]byte - _, err := hex.Decode(buf[:], data[:]) - if err != nil { - return fmt.Errorf("invalid ObjectId: %s (%s)", data, err) - } - *id = ObjectId(string(buf[:])) - return nil -} - -// Valid returns true if id is valid. A valid id must contain exactly 12 bytes. -func (id ObjectId) Valid() bool { - return len(id) == 12 -} - -// byteSlice returns byte slice of id from start to end. -// Calling this function with an invalid id will cause a runtime panic. -func (id ObjectId) byteSlice(start, end int) []byte { - if len(id) != 12 { - panic(fmt.Sprintf("invalid ObjectId: %q", string(id))) - } - return []byte(string(id)[start:end]) -} - -// Time returns the timestamp part of the id. -// It's a runtime error to call this method with an invalid id. -func (id ObjectId) Time() time.Time { - // First 4 bytes of ObjectId is 32-bit big-endian seconds from epoch. - secs := int64(binary.BigEndian.Uint32(id.byteSlice(0, 4))) - return time.Unix(secs, 0) -} - -// Machine returns the 3-byte machine id part of the id. -// It's a runtime error to call this method with an invalid id. -func (id ObjectId) Machine() []byte { - return id.byteSlice(4, 7) -} - -// Pid returns the process id part of the id. -// It's a runtime error to call this method with an invalid id. -func (id ObjectId) Pid() uint16 { - return binary.BigEndian.Uint16(id.byteSlice(7, 9)) -} - -// Counter returns the incrementing value part of the id. -// It's a runtime error to call this method with an invalid id. -func (id ObjectId) Counter() int32 { - b := id.byteSlice(9, 12) - // Counter is stored as big-endian 3-byte value - return int32(uint32(b[0])<<16 | uint32(b[1])<<8 | uint32(b[2])) -} - -// The Symbol type is similar to a string and is used in languages with a -// distinct symbol type. -type Symbol string - -// Now returns the current time with millisecond precision. MongoDB stores -// timestamps with the same precision, so a Time returned from this method -// will not change after a roundtrip to the database. That's the only reason -// why this function exists. Using the time.Now function also works fine -// otherwise. -func Now() time.Time { - return time.Unix(0, time.Now().UnixNano()/1e6*1e6) -} - -// MongoTimestamp is a special internal type used by MongoDB that for some -// strange reason has its own datatype defined in BSON. -type MongoTimestamp int64 - -// Time returns the time part of ts which is stored with second precision. -func (ts MongoTimestamp) Time() time.Time { - return time.Unix(int64(uint64(ts)>>32), 0) -} - -// Counter returns the counter part of ts. -func (ts MongoTimestamp) Counter() uint32 { - return uint32(ts) -} - -// NewMongoTimestamp creates a timestamp using the given -// date `t` (with second precision) and counter `c` (unique for `t`). -// -// Returns an error if time `t` is not between 1970-01-01T00:00:00Z -// and 2106-02-07T06:28:15Z (inclusive). -// -// Note that two MongoTimestamps should never have the same (time, counter) combination: -// the caller must ensure the counter `c` is increased if creating multiple MongoTimestamp -// values for the same time `t` (ignoring fractions of seconds). -func NewMongoTimestamp(t time.Time, c uint32) (MongoTimestamp, error) { - u := t.Unix() - if u < 0 || u > math.MaxUint32 { - return -1, errors.New("invalid value for time") - } - - i := int64(u<<32 | int64(c)) - - return MongoTimestamp(i), nil -} - -type orderKey int64 - -// MaxKey is a special value that compares higher than all other possible BSON -// values in a MongoDB database. -var MaxKey = orderKey(1<<63 - 1) - -// MinKey is a special value that compares lower than all other possible BSON -// values in a MongoDB database. -var MinKey = orderKey(-1 << 63) - -type undefined struct{} - -// Undefined represents the undefined BSON value. -var Undefined undefined - -// Binary is a representation for non-standard binary values. Any kind should -// work, but the following are known as of this writing: -// -// 0x00 - Generic. This is decoded as []byte(data), not Binary{0x00, data}. -// 0x01 - Function (!?) -// 0x02 - Obsolete generic. -// 0x03 - UUID -// 0x05 - MD5 -// 0x80 - User defined. -// -type Binary struct { - Kind byte - Data []byte -} - -// RegEx represents a regular expression. The Options field may contain -// individual characters defining the way in which the pattern should be -// applied, and must be sorted. Valid options as of this writing are 'i' for -// case insensitive matching, 'm' for multi-line matching, 'x' for verbose -// mode, 'l' to make \w, \W, and similar be locale-dependent, 's' for dot-all -// mode (a '.' matches everything), and 'u' to make \w, \W, and similar match -// unicode. The value of the Options parameter is not verified before being -// marshaled into the BSON format. -type RegEx struct { - Pattern string - Options string -} - -// JavaScript is a type that holds JavaScript code. If Scope is non-nil, it -// will be marshaled as a mapping from identifiers to values that may be -// used when evaluating the provided Code. -type JavaScript struct { - Code string - Scope interface{} -} - -// DBPointer refers to a document id in a namespace. -// -// This type is deprecated in the BSON specification and should not be used -// except for backwards compatibility with ancient applications. -type DBPointer struct { - Namespace string - Id ObjectId -} - -const initialBufferSize = 64 - -func handleErr(err *error) { - if r := recover(); r != nil { - if _, ok := r.(runtime.Error); ok { - panic(r) - } else if _, ok := r.(externalPanic); ok { - panic(r) - } else if s, ok := r.(string); ok { - *err = errors.New(s) - } else if e, ok := r.(error); ok { - *err = e - } else { - panic(r) - } - } -} - -// Marshal serializes the in value, which may be a map or a struct value. -// In the case of struct values, only exported fields will be serialized, -// and the order of serialized fields will match that of the struct itself. -// The lowercased field name is used as the key for each exported field, -// but this behavior may be changed using the respective field tag. -// The tag may also contain flags to tweak the marshalling behavior for -// the field. The tag formats accepted are: -// -// "[][,[,]]" -// -// `(...) bson:"[][,[,]]" (...)` -// -// The following flags are currently supported: -// -// omitempty Only include the field if it's not set to the zero -// value for the type or to empty slices or maps. -// -// minsize Marshal an int64 value as an int32, if that's feasible -// while preserving the numeric value. -// -// inline Inline the field, which must be a struct or a map, -// causing all of its fields or keys to be processed as if -// they were part of the outer struct. For maps, keys must -// not conflict with the bson keys of other struct fields. -// -// Some examples: -// -// type T struct { -// A bool -// B int "myb" -// C string "myc,omitempty" -// D string `bson:",omitempty" json:"jsonkey"` -// E int64 ",minsize" -// F int64 "myf,omitempty,minsize" -// } -// -func Marshal(in interface{}) (out []byte, err error) { - return MarshalBuffer(in, make([]byte, 0, initialBufferSize)) -} - -// MarshalBuffer behaves the same way as Marshal, except that instead of -// allocating a new byte slice it tries to use the received byte slice and -// only allocates more memory if necessary to fit the marshaled value. -func MarshalBuffer(in interface{}, buf []byte) (out []byte, err error) { - defer handleErr(&err) - e := &encoder{buf} - e.addDoc(reflect.ValueOf(in)) - return e.out, nil -} - -// Unmarshal deserializes data from in into the out value. The out value -// must be a map, a pointer to a struct, or a pointer to a bson.D value. -// In the case of struct values, only exported fields will be deserialized. -// The lowercased field name is used as the key for each exported field, -// but this behavior may be changed using the respective field tag. -// The tag may also contain flags to tweak the marshalling behavior for -// the field. The tag formats accepted are: -// -// "[][,[,]]" -// -// `(...) bson:"[][,[,]]" (...)` -// -// The following flags are currently supported during unmarshal (see the -// Marshal method for other flags): -// -// inline Inline the field, which must be a struct or a map. -// Inlined structs are handled as if its fields were part -// of the outer struct. An inlined map causes keys that do -// not match any other struct field to be inserted in the -// map rather than being discarded as usual. -// -// The target field or element types of out may not necessarily match -// the BSON values of the provided data. The following conversions are -// made automatically: -// -// - Numeric types are converted if at least the integer part of the -// value would be preserved correctly -// - Bools are converted to numeric types as 1 or 0 -// - Numeric types are converted to bools as true if not 0 or false otherwise -// - Binary and string BSON data is converted to a string, array or byte slice -// -// If the value would not fit the type and cannot be converted, it's -// silently skipped. -// -// Pointer values are initialized when necessary. -func Unmarshal(in []byte, out interface{}) (err error) { - if raw, ok := out.(*Raw); ok { - raw.Kind = 3 - raw.Data = in - return nil - } - defer handleErr(&err) - v := reflect.ValueOf(out) - switch v.Kind() { - case reflect.Ptr: - fallthrough - case reflect.Map: - d := newDecoder(in) - d.readDocTo(v) - if d.i < len(d.in) { - return errors.New("document is corrupted") - } - case reflect.Struct: - return errors.New("unmarshal can't deal with struct values. Use a pointer") - default: - return errors.New("unmarshal needs a map or a pointer to a struct") - } - return nil -} - -// Unmarshal deserializes raw into the out value. If the out value type -// is not compatible with raw, a *bson.TypeError is returned. -// -// See the Unmarshal function documentation for more details on the -// unmarshalling process. -func (raw Raw) Unmarshal(out interface{}) (err error) { - defer handleErr(&err) - v := reflect.ValueOf(out) - switch v.Kind() { - case reflect.Ptr: - v = v.Elem() - fallthrough - case reflect.Map: - d := newDecoder(raw.Data) - good := d.readElemTo(v, raw.Kind) - if !good { - return &TypeError{v.Type(), raw.Kind} - } - case reflect.Struct: - return errors.New("raw Unmarshal can't deal with struct values. Use a pointer") - default: - return errors.New("raw Unmarshal needs a map or a valid pointer") - } - return nil -} - -// TypeError store details for type error occuring -// during unmarshaling -type TypeError struct { - Type reflect.Type - Kind byte -} - -func (e *TypeError) Error() string { - return fmt.Sprintf("BSON kind 0x%02x isn't compatible with type %s", e.Kind, e.Type.String()) -} - -// -------------------------------------------------------------------------- -// Maintain a mapping of keys to structure field indexes - -type structInfo struct { - FieldsMap map[string]fieldInfo - FieldsList []fieldInfo - InlineMap int - Zero reflect.Value -} - -type fieldInfo struct { - Key string - Num int - OmitEmpty bool - MinSize bool - Inline []int -} - -var structMap = make(map[reflect.Type]*structInfo) -var structMapMutex sync.RWMutex - -type externalPanic string - -func (e externalPanic) String() string { - return string(e) -} - -func getStructInfo(st reflect.Type) (*structInfo, error) { - structMapMutex.RLock() - sinfo, found := structMap[st] - structMapMutex.RUnlock() - if found { - return sinfo, nil - } - n := st.NumField() - fieldsMap := make(map[string]fieldInfo) - fieldsList := make([]fieldInfo, 0, n) - inlineMap := -1 - for i := 0; i != n; i++ { - field := st.Field(i) - if field.PkgPath != "" && !field.Anonymous { - continue // Private field - } - - info := fieldInfo{Num: i} - - tag := field.Tag.Get("bson") - - // Fall-back to JSON struct tag, if feature flag is set. - if tag == "" && useJSONTagFallback { - tag = field.Tag.Get("json") - } - - // If there's no bson/json tag available. - if tag == "" { - // If there's no tag, and also no tag: value splits (i.e. no colon) - // then assume the entire tag is the value - if strings.Index(string(field.Tag), ":") < 0 { - tag = string(field.Tag) - } - } - - if tag == "-" { - continue - } - - inline := false - fields := strings.Split(tag, ",") - if len(fields) > 1 { - for _, flag := range fields[1:] { - switch flag { - case "omitempty": - info.OmitEmpty = true - case "minsize": - info.MinSize = true - case "inline": - inline = true - default: - msg := fmt.Sprintf("Unsupported flag %q in tag %q of type %s", flag, tag, st) - panic(externalPanic(msg)) - } - } - tag = fields[0] - } - - if inline { - switch field.Type.Kind() { - case reflect.Map: - if inlineMap >= 0 { - return nil, errors.New("Multiple ,inline maps in struct " + st.String()) - } - if field.Type.Key() != reflect.TypeOf("") { - return nil, errors.New("Option ,inline needs a map with string keys in struct " + st.String()) - } - inlineMap = info.Num - case reflect.Ptr: - // allow only pointer to struct - if kind := field.Type.Elem().Kind(); kind != reflect.Struct { - return nil, errors.New("Option ,inline allows a pointer only to a struct, was given pointer to " + kind.String()) - } - - field.Type = field.Type.Elem() - fallthrough - case reflect.Struct: - sinfo, err := getStructInfo(field.Type) - if err != nil { - return nil, err - } - for _, finfo := range sinfo.FieldsList { - if _, found := fieldsMap[finfo.Key]; found { - msg := "Duplicated key '" + finfo.Key + "' in struct " + st.String() - return nil, errors.New(msg) - } - if finfo.Inline == nil { - finfo.Inline = []int{i, finfo.Num} - } else { - finfo.Inline = append([]int{i}, finfo.Inline...) - } - fieldsMap[finfo.Key] = finfo - fieldsList = append(fieldsList, finfo) - } - default: - panic("Option ,inline needs a struct value or a pointer to a struct or map field") - } - continue - } - - if tag != "" { - info.Key = tag - } else { - info.Key = strings.ToLower(field.Name) - } - - if _, found = fieldsMap[info.Key]; found { - msg := "Duplicated key '" + info.Key + "' in struct " + st.String() - return nil, errors.New(msg) - } - - fieldsList = append(fieldsList, info) - fieldsMap[info.Key] = info - } - sinfo = &structInfo{ - fieldsMap, - fieldsList, - inlineMap, - reflect.New(st).Elem(), - } - structMapMutex.Lock() - structMap[st] = sinfo - structMapMutex.Unlock() - return sinfo, nil -} diff --git a/vendor/github.com/globalsign/mgo/bson/bson_corpus_spec_test_generator.go b/vendor/github.com/globalsign/mgo/bson/bson_corpus_spec_test_generator.go deleted file mode 100644 index 3525a004b6c..00000000000 --- a/vendor/github.com/globalsign/mgo/bson/bson_corpus_spec_test_generator.go +++ /dev/null @@ -1,294 +0,0 @@ -// +build ignore - -package main - -import ( - "bytes" - "fmt" - "go/format" - "html/template" - "io/ioutil" - "log" - "path/filepath" - "strings" - - "github.com/globalsign/mgo/internal/json" -) - -func main() { - log.SetFlags(0) - log.SetPrefix(name + ": ") - - var g Generator - - fmt.Fprintf(&g, "// Code generated by \"%s.go\"; DO NOT EDIT\n\n", name) - - src := g.generate() - - err := ioutil.WriteFile(fmt.Sprintf("%s.go", strings.TrimSuffix(name, "_generator")), src, 0644) - if err != nil { - log.Fatalf("writing output: %s", err) - } -} - -// Generator holds the state of the analysis. Primarily used to buffer -// the output for format.Source. -type Generator struct { - bytes.Buffer // Accumulated output. -} - -// format returns the gofmt-ed contents of the Generator's buffer. -func (g *Generator) format() []byte { - src, err := format.Source(g.Bytes()) - if err != nil { - // Should never happen, but can arise when developing this code. - // The user can compile the output to see the error. - log.Printf("warning: internal error: invalid Go generated: %s", err) - log.Printf("warning: compile the package to analyze the error") - return g.Bytes() - } - return src -} - -// EVERYTHING ABOVE IS CONSTANT BETWEEN THE GENERATORS - -const name = "bson_corpus_spec_test_generator" - -func (g *Generator) generate() []byte { - - testFiles, err := filepath.Glob("./specdata/specifications/source/bson-corpus/tests/*.json") - if err != nil { - log.Fatalf("error reading bson-corpus files: %s", err) - } - - tests, err := g.loadTests(testFiles) - if err != nil { - log.Fatalf("error loading tests: %s", err) - } - - tmpl, err := g.getTemplate() - if err != nil { - log.Fatalf("error loading template: %s", err) - } - - tmpl.Execute(&g.Buffer, tests) - - return g.format() -} - -func (g *Generator) loadTests(filenames []string) ([]*testDef, error) { - var tests []*testDef - for _, filename := range filenames { - test, err := g.loadTest(filename) - if err != nil { - return nil, err - } - - tests = append(tests, test) - } - - return tests, nil -} - -func (g *Generator) loadTest(filename string) (*testDef, error) { - content, err := ioutil.ReadFile(filename) - if err != nil { - return nil, err - } - - var testDef testDef - err = json.Unmarshal(content, &testDef) - if err != nil { - return nil, err - } - - names := make(map[string]struct{}) - - for i := len(testDef.Valid) - 1; i >= 0; i-- { - if testDef.BsonType == "0x05" && testDef.Valid[i].Description == "subtype 0x02" { - testDef.Valid = append(testDef.Valid[:i], testDef.Valid[i+1:]...) - continue - } - - name := cleanupFuncName(testDef.Description + "_" + testDef.Valid[i].Description) - nameIdx := name - j := 1 - for { - if _, ok := names[nameIdx]; !ok { - break - } - - nameIdx = fmt.Sprintf("%s_%d", name, j) - } - - names[nameIdx] = struct{}{} - - testDef.Valid[i].TestDef = &testDef - testDef.Valid[i].Name = nameIdx - testDef.Valid[i].StructTest = testDef.TestKey != "" && - (testDef.BsonType != "0x05" || strings.Contains(testDef.Valid[i].Description, "0x00")) && - !testDef.Deprecated - } - - for i := len(testDef.DecodeErrors) - 1; i >= 0; i-- { - if strings.Contains(testDef.DecodeErrors[i].Description, "UTF-8") { - testDef.DecodeErrors = append(testDef.DecodeErrors[:i], testDef.DecodeErrors[i+1:]...) - continue - } - - name := cleanupFuncName(testDef.Description + "_" + testDef.DecodeErrors[i].Description) - nameIdx := name - j := 1 - for { - if _, ok := names[nameIdx]; !ok { - break - } - - nameIdx = fmt.Sprintf("%s_%d", name, j) - } - names[nameIdx] = struct{}{} - - testDef.DecodeErrors[i].Name = nameIdx - } - - return &testDef, nil -} - -func (g *Generator) getTemplate() (*template.Template, error) { - content := `package bson_test - -import ( - "encoding/hex" - "time" - - . "gopkg.in/check.v1" - "github.com/globalsign/mgo/bson" -) - -func testValid(c *C, in []byte, expected []byte, result interface{}) { - err := bson.Unmarshal(in, result) - c.Assert(err, IsNil) - - out, err := bson.Marshal(result) - c.Assert(err, IsNil) - - c.Assert(string(expected), Equals, string(out), Commentf("roundtrip failed for %T, expected '%x' but got '%x'", result, expected, out)) -} - -func testDecodeSkip(c *C, in []byte) { - err := bson.Unmarshal(in, &struct{}{}) - c.Assert(err, IsNil) -} - -func testDecodeError(c *C, in []byte, result interface{}) { - err := bson.Unmarshal(in, result) - c.Assert(err, Not(IsNil)) -} - -{{range .}} -{{range .Valid}} -func (s *S) Test{{.Name}}(c *C) { - b, err := hex.DecodeString("{{.Bson}}") - c.Assert(err, IsNil) - - {{if .CanonicalBson}} - cb, err := hex.DecodeString("{{.CanonicalBson}}") - c.Assert(err, IsNil) - {{else}} - cb := b - {{end}} - - var resultD bson.D - testValid(c, b, cb, &resultD) - {{if .StructTest}}var resultS struct { - Element {{.TestDef.GoType}} ` + "`bson:\"{{.TestDef.TestKey}}\"`" + ` - } - testValid(c, b, cb, &resultS){{end}} - - testDecodeSkip(c, b) -} -{{end}} - -{{range .DecodeErrors}} -func (s *S) Test{{.Name}}(c *C) { - b, err := hex.DecodeString("{{.Bson}}") - c.Assert(err, IsNil) - - var resultD bson.D - testDecodeError(c, b, &resultD) -} -{{end}} -{{end}} -` - tmpl, err := template.New("").Parse(content) - if err != nil { - return nil, err - } - return tmpl, nil -} - -func cleanupFuncName(name string) string { - return strings.Map(func(r rune) rune { - if (r >= 48 && r <= 57) || (r >= 65 && r <= 90) || (r >= 97 && r <= 122) { - return r - } - return '_' - }, name) -} - -type testDef struct { - Description string `json:"description"` - BsonType string `json:"bson_type"` - TestKey string `json:"test_key"` - Valid []*valid `json:"valid"` - DecodeErrors []*decodeError `json:"decodeErrors"` - Deprecated bool `json:"deprecated"` -} - -func (t *testDef) GoType() string { - switch t.BsonType { - case "0x01": - return "float64" - case "0x02": - return "string" - case "0x03": - return "bson.D" - case "0x04": - return "[]interface{}" - case "0x05": - return "[]byte" - case "0x07": - return "bson.ObjectId" - case "0x08": - return "bool" - case "0x09": - return "time.Time" - case "0x0E": - return "string" - case "0x10": - return "int32" - case "0x12": - return "int64" - case "0x13": - return "bson.Decimal" - default: - return "interface{}" - } -} - -type valid struct { - Description string `json:"description"` - Bson string `json:"bson"` - CanonicalBson string `json:"canonical_bson"` - - Name string - StructTest bool - TestDef *testDef -} - -type decodeError struct { - Description string `json:"description"` - Bson string `json:"bson"` - - Name string -} diff --git a/vendor/github.com/globalsign/mgo/bson/compatibility.go b/vendor/github.com/globalsign/mgo/bson/compatibility.go deleted file mode 100644 index 66efd465fac..00000000000 --- a/vendor/github.com/globalsign/mgo/bson/compatibility.go +++ /dev/null @@ -1,29 +0,0 @@ -package bson - -// Current state of the JSON tag fallback option. -var useJSONTagFallback = false -var useRespectNilValues = false - -// SetJSONTagFallback enables or disables the JSON-tag fallback for structure tagging. When this is enabled, structures -// without BSON tags on a field will fall-back to using the JSON tag (if present). -func SetJSONTagFallback(state bool) { - useJSONTagFallback = state -} - -// JSONTagFallbackState returns the current status of the JSON tag fallback compatability option. See SetJSONTagFallback -// for more information. -func JSONTagFallbackState() bool { - return useJSONTagFallback -} - -// SetRespectNilValues enables or disables serializing nil slices or maps to `null` values. -// In other words it enables `encoding/json` compatible behaviour. -func SetRespectNilValues(state bool) { - useRespectNilValues = state -} - -// RespectNilValuesState returns the current status of the JSON nil slices and maps fallback compatibility option. -// See SetRespectNilValues for more information. -func RespectNilValuesState() bool { - return useRespectNilValues -} diff --git a/vendor/github.com/globalsign/mgo/bson/decode.go b/vendor/github.com/globalsign/mgo/bson/decode.go deleted file mode 100644 index 658856add04..00000000000 --- a/vendor/github.com/globalsign/mgo/bson/decode.go +++ /dev/null @@ -1,1055 +0,0 @@ -// BSON library for Go -// -// Copyright (c) 2010-2012 - Gustavo Niemeyer -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, this -// list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// gobson - BSON library for Go. - -package bson - -import ( - "errors" - "fmt" - "io" - "math" - "net/url" - "reflect" - "strconv" - "sync" - "time" -) - -type decoder struct { - in []byte - i int - docType reflect.Type -} - -var typeM = reflect.TypeOf(M{}) - -func newDecoder(in []byte) *decoder { - return &decoder{in, 0, typeM} -} - -// -------------------------------------------------------------------------- -// Some helper functions. - -func corrupted() { - panic("Document is corrupted") -} - -// -------------------------------------------------------------------------- -// Unmarshaling of documents. - -const ( - setterUnknown = iota - setterNone - setterType - setterAddr -) - -var setterStyles map[reflect.Type]int -var setterIface reflect.Type -var setterMutex sync.RWMutex - -func init() { - var iface Setter - setterIface = reflect.TypeOf(&iface).Elem() - setterStyles = make(map[reflect.Type]int) -} - -func setterStyle(outt reflect.Type) int { - setterMutex.RLock() - style := setterStyles[outt] - setterMutex.RUnlock() - if style != setterUnknown { - return style - } - - setterMutex.Lock() - defer setterMutex.Unlock() - if outt.Implements(setterIface) { - style = setterType - } else if reflect.PtrTo(outt).Implements(setterIface) { - style = setterAddr - } else { - style = setterNone - } - setterStyles[outt] = style - return style -} - -func getSetter(outt reflect.Type, out reflect.Value) Setter { - style := setterStyle(outt) - if style == setterNone { - return nil - } - if style == setterAddr { - if !out.CanAddr() { - return nil - } - out = out.Addr() - } else if outt.Kind() == reflect.Ptr && out.IsNil() { - out.Set(reflect.New(outt.Elem())) - } - return out.Interface().(Setter) -} - -func clearMap(m reflect.Value) { - var none reflect.Value - for _, k := range m.MapKeys() { - m.SetMapIndex(k, none) - } -} - -func (d *decoder) readDocTo(out reflect.Value) { - var elemType reflect.Type - outt := out.Type() - outk := outt.Kind() - - for { - if outk == reflect.Ptr && out.IsNil() { - out.Set(reflect.New(outt.Elem())) - } - if setter := getSetter(outt, out); setter != nil { - raw := d.readRaw(ElementDocument) - err := setter.SetBSON(raw) - if _, ok := err.(*TypeError); err != nil && !ok { - panic(err) - } - return - } - if outk == reflect.Ptr { - out = out.Elem() - outt = out.Type() - outk = out.Kind() - continue - } - break - } - - var fieldsMap map[string]fieldInfo - var inlineMap reflect.Value - if outt == typeRaw { - out.Set(reflect.ValueOf(d.readRaw(ElementDocument))) - return - } - - origout := out - if outk == reflect.Interface { - if d.docType.Kind() == reflect.Map { - mv := reflect.MakeMap(d.docType) - out.Set(mv) - out = mv - } else { - dv := reflect.New(d.docType).Elem() - out.Set(dv) - out = dv - } - outt = out.Type() - outk = outt.Kind() - } - - docType := d.docType - keyType := typeString - convertKey := false - switch outk { - case reflect.Map: - keyType = outt.Key() - if keyType != typeString { - convertKey = true - } - elemType = outt.Elem() - if elemType == typeIface { - d.docType = outt - } - if out.IsNil() { - out.Set(reflect.MakeMap(out.Type())) - } else if out.Len() > 0 { - clearMap(out) - } - case reflect.Struct: - sinfo, err := getStructInfo(out.Type()) - if err != nil { - panic(err) - } - fieldsMap = sinfo.FieldsMap - out.Set(sinfo.Zero) - if sinfo.InlineMap != -1 { - inlineMap = out.Field(sinfo.InlineMap) - if !inlineMap.IsNil() && inlineMap.Len() > 0 { - clearMap(inlineMap) - } - elemType = inlineMap.Type().Elem() - if elemType == typeIface { - d.docType = inlineMap.Type() - } - } - case reflect.Slice: - switch outt.Elem() { - case typeDocElem: - origout.Set(d.readDocElems(outt)) - return - case typeRawDocElem: - origout.Set(d.readRawDocElems(outt)) - return - } - fallthrough - default: - panic("Unsupported document type for unmarshalling: " + out.Type().String()) - } - - end := int(d.readInt32()) - end += d.i - 4 - if end <= d.i || end > len(d.in) || d.in[end-1] != '\x00' { - corrupted() - } - for d.in[d.i] != '\x00' { - kind := d.readByte() - name := d.readCStr() - if d.i >= end { - corrupted() - } - - switch outk { - case reflect.Map: - e := reflect.New(elemType).Elem() - if d.readElemTo(e, kind) { - k := reflect.ValueOf(name) - if convertKey { - mapKeyType := out.Type().Key() - mapKeyKind := mapKeyType.Kind() - - switch mapKeyKind { - case reflect.Int: - fallthrough - case reflect.Int8: - fallthrough - case reflect.Int16: - fallthrough - case reflect.Int32: - fallthrough - case reflect.Int64: - fallthrough - case reflect.Uint: - fallthrough - case reflect.Uint8: - fallthrough - case reflect.Uint16: - fallthrough - case reflect.Uint32: - fallthrough - case reflect.Uint64: - fallthrough - case reflect.Float32: - fallthrough - case reflect.Float64: - parsed := d.parseMapKeyAsFloat(k, mapKeyKind) - k = reflect.ValueOf(parsed) - case reflect.String: - mapKeyType = keyType - default: - panic("BSON map must have string or decimal keys. Got: " + outt.String()) - } - - k = k.Convert(mapKeyType) - } - out.SetMapIndex(k, e) - } - case reflect.Struct: - if info, ok := fieldsMap[name]; ok { - if info.Inline == nil { - d.readElemTo(out.Field(info.Num), kind) - } else { - d.readElemTo(out.FieldByIndex(info.Inline), kind) - } - } else if inlineMap.IsValid() { - if inlineMap.IsNil() { - inlineMap.Set(reflect.MakeMap(inlineMap.Type())) - } - e := reflect.New(elemType).Elem() - if d.readElemTo(e, kind) { - inlineMap.SetMapIndex(reflect.ValueOf(name), e) - } - } else { - d.dropElem(kind) - } - case reflect.Slice: - } - - if d.i >= end { - corrupted() - } - } - d.i++ // '\x00' - if d.i != end { - corrupted() - } - d.docType = docType -} - -func (decoder) parseMapKeyAsFloat(k reflect.Value, mapKeyKind reflect.Kind) float64 { - parsed, err := strconv.ParseFloat(k.String(), 64) - if err != nil { - panic("Map key is defined to be a decimal type (" + mapKeyKind.String() + ") but got error " + - err.Error()) - } - - return parsed -} - -func (d *decoder) readArrayDocTo(out reflect.Value) { - end := int(d.readInt32()) - end += d.i - 4 - if end <= d.i || end > len(d.in) || d.in[end-1] != '\x00' { - corrupted() - } - i := 0 - l := out.Len() - for d.in[d.i] != '\x00' { - if i >= l { - panic("Length mismatch on array field") - } - kind := d.readByte() - for d.i < end && d.in[d.i] != '\x00' { - d.i++ - } - if d.i >= end { - corrupted() - } - d.i++ - d.readElemTo(out.Index(i), kind) - if d.i >= end { - corrupted() - } - i++ - } - if i != l { - panic("Length mismatch on array field") - } - d.i++ // '\x00' - if d.i != end { - corrupted() - } -} - -func (d *decoder) readSliceDoc(t reflect.Type) interface{} { - tmp := make([]reflect.Value, 0, 8) - elemType := t.Elem() - if elemType == typeRawDocElem { - d.dropElem(ElementArray) - return reflect.Zero(t).Interface() - } - if elemType == typeRaw { - return d.readSliceOfRaw() - } - - end := int(d.readInt32()) - end += d.i - 4 - if end <= d.i || end > len(d.in) || d.in[end-1] != '\x00' { - corrupted() - } - for d.in[d.i] != '\x00' { - kind := d.readByte() - for d.i < end && d.in[d.i] != '\x00' { - d.i++ - } - if d.i >= end { - corrupted() - } - d.i++ - e := reflect.New(elemType).Elem() - if d.readElemTo(e, kind) { - tmp = append(tmp, e) - } - if d.i >= end { - corrupted() - } - } - d.i++ // '\x00' - if d.i != end { - corrupted() - } - - n := len(tmp) - slice := reflect.MakeSlice(t, n, n) - for i := 0; i != n; i++ { - slice.Index(i).Set(tmp[i]) - } - return slice.Interface() -} - -func BSONElementSize(kind byte, offset int, buffer []byte) (int, error) { - switch kind { - case ElementFloat64: // Float64 - return 8, nil - case ElementJavaScriptWithoutScope: // JavaScript without scope - fallthrough - case ElementSymbol: // Symbol - fallthrough - case ElementString: // UTF-8 string - size, err := getSize(offset, buffer) - if err != nil { - return 0, err - } - if size < 1 { - return 0, errors.New("String size can't be less then one byte") - } - size += 4 - if offset+size > len(buffer) { - return 0, io.ErrUnexpectedEOF - } - if buffer[offset+size-1] != 0 { - return 0, errors.New("Invalid string: non zero-terminated") - } - return size, nil - case ElementArray: // Array - fallthrough - case ElementDocument: // Document - size, err := getSize(offset, buffer) - if err != nil { - return 0, err - } - if size < 5 { - return 0, errors.New("Declared document size is too small") - } - return size, nil - case ElementBinary: // Binary - size, err := getSize(offset, buffer) - if err != nil { - return 0, err - } - if size < 0 { - return 0, errors.New("Binary data size can't be negative") - } - return size + 5, nil - case Element06: // Undefined (obsolete, but still seen in the wild) - return 0, nil - case ElementObjectId: // ObjectId - return 12, nil - case ElementBool: // Bool - return 1, nil - case ElementDatetime: // Timestamp - return 8, nil - case ElementNil: // Nil - return 0, nil - case ElementRegEx: // RegEx - end := offset - for i := 0; i < 2; i++ { - for end < len(buffer) && buffer[end] != '\x00' { - end++ - } - end++ - } - if end > len(buffer) { - return 0, io.ErrUnexpectedEOF - } - return end - offset, nil - case ElementDBPointer: // DBPointer - size, err := getSize(offset, buffer) - if err != nil { - return 0, err - } - if size < 1 { - return 0, errors.New("String size can't be less then one byte") - } - return size + 12 + 4, nil - case ElementJavaScriptWithScope: // JavaScript with scope - size, err := getSize(offset, buffer) - if err != nil { - return 0, err - } - if size < 4+5+5 { - return 0, errors.New("Declared document element is too small") - } - return size, nil - case ElementInt32: // Int32 - return 4, nil - case ElementTimestamp: // Mongo-specific timestamp - return 8, nil - case ElementInt64: // Int64 - return 8, nil - case ElementDecimal128: // Decimal128 - return 16, nil - case ElementMaxKey: // Max key - return 0, nil - case ElementMinKey: // Min key - return 0, nil - default: - return 0, errors.New(fmt.Sprintf("Unknown element kind (0x%02X)", kind)) - } -} - -func (d *decoder) readRaw(kind byte) Raw { - size, err := BSONElementSize(kind, d.i, d.in) - if err != nil { - corrupted() - } - if d.i+size > len(d.in) { - corrupted() - } - d.i += size - return Raw{ - Kind: kind, - Data: d.in[d.i-size : d.i], - } -} - -func (d *decoder) readSliceOfRaw() interface{} { - tmp := make([]Raw, 0, 8) - end := int(d.readInt32()) - end += d.i - 4 - if end <= d.i || end > len(d.in) || d.in[end-1] != '\x00' { - corrupted() - } - for d.in[d.i] != '\x00' { - kind := d.readByte() - for d.i < end && d.in[d.i] != '\x00' { - d.i++ - } - if d.i >= end { - corrupted() - } - d.i++ - e := d.readRaw(kind) - tmp = append(tmp, e) - if d.i >= end { - corrupted() - } - } - d.i++ // '\x00' - if d.i != end { - corrupted() - } - return tmp -} - -var typeSlice = reflect.TypeOf([]interface{}{}) -var typeIface = typeSlice.Elem() - -func (d *decoder) readDocElems(typ reflect.Type) reflect.Value { - docType := d.docType - d.docType = typ - slice := make([]DocElem, 0, 8) - d.readDocWith(func(kind byte, name string) { - e := DocElem{Name: name} - v := reflect.ValueOf(&e.Value) - if d.readElemTo(v.Elem(), kind) { - slice = append(slice, e) - } - }) - slicev := reflect.New(typ).Elem() - slicev.Set(reflect.ValueOf(slice)) - d.docType = docType - return slicev -} - -func (d *decoder) readRawDocElems(typ reflect.Type) reflect.Value { - docType := d.docType - d.docType = typ - slice := make([]RawDocElem, 0, 8) - d.readDocWith(func(kind byte, name string) { - e := RawDocElem{Name: name, Value: d.readRaw(kind)} - slice = append(slice, e) - }) - slicev := reflect.New(typ).Elem() - slicev.Set(reflect.ValueOf(slice)) - d.docType = docType - return slicev -} - -func (d *decoder) readDocWith(f func(kind byte, name string)) { - end := int(d.readInt32()) - end += d.i - 4 - if end <= d.i || end > len(d.in) || d.in[end-1] != '\x00' { - corrupted() - } - for d.in[d.i] != '\x00' { - kind := d.readByte() - name := d.readCStr() - if d.i >= end { - corrupted() - } - f(kind, name) - if d.i >= end { - corrupted() - } - } - d.i++ // '\x00' - if d.i != end { - corrupted() - } -} - -// -------------------------------------------------------------------------- -// Unmarshaling of individual elements within a document. -func (d *decoder) dropElem(kind byte) { - size, err := BSONElementSize(kind, d.i, d.in) - if err != nil { - corrupted() - } - if d.i+size > len(d.in) { - corrupted() - } - d.i += size -} - -// Attempt to decode an element from the document and put it into out. -// If the types are not compatible, the returned ok value will be -// false and out will be unchanged. -func (d *decoder) readElemTo(out reflect.Value, kind byte) (good bool) { - outt := out.Type() - - if outt == typeRaw { - out.Set(reflect.ValueOf(d.readRaw(kind))) - return true - } - - if outt == typeRawPtr { - raw := d.readRaw(kind) - out.Set(reflect.ValueOf(&raw)) - return true - } - - if kind == ElementDocument { - // Delegate unmarshaling of documents. - outt := out.Type() - outk := out.Kind() - switch outk { - case reflect.Interface, reflect.Ptr, reflect.Struct, reflect.Map: - d.readDocTo(out) - return true - } - if setterStyle(outt) != setterNone { - d.readDocTo(out) - return true - } - if outk == reflect.Slice { - switch outt.Elem() { - case typeDocElem: - out.Set(d.readDocElems(outt)) - case typeRawDocElem: - out.Set(d.readRawDocElems(outt)) - default: - d.dropElem(kind) - } - return true - } - d.dropElem(kind) - return true - } - - if setter := getSetter(outt, out); setter != nil { - err := setter.SetBSON(d.readRaw(kind)) - if err == ErrSetZero { - out.Set(reflect.Zero(outt)) - return true - } - if err == nil { - return true - } - if _, ok := err.(*TypeError); !ok { - panic(err) - } - return false - } - - var in interface{} - - switch kind { - case ElementFloat64: - in = d.readFloat64() - case ElementString: - in = d.readStr() - case ElementDocument: - panic("Can't happen. Handled above.") - case ElementArray: - outt := out.Type() - if setterStyle(outt) != setterNone { - // Skip the value so its data is handed to the setter below. - d.dropElem(kind) - break - } - for outt.Kind() == reflect.Ptr { - outt = outt.Elem() - } - switch outt.Kind() { - case reflect.Array: - d.readArrayDocTo(out) - return true - case reflect.Slice: - in = d.readSliceDoc(outt) - default: - in = d.readSliceDoc(typeSlice) - } - case ElementBinary: - b := d.readBinary() - if b.Kind == BinaryGeneric || b.Kind == BinaryBinaryOld { - in = b.Data - } else { - in = b - } - case Element06: // Undefined (obsolete, but still seen in the wild) - in = Undefined - case ElementObjectId: - in = ObjectId(d.readBytes(12)) - case ElementBool: - in = d.readBool() - case ElementDatetime: // Timestamp - // MongoDB handles timestamps as milliseconds. - i := d.readInt64() - if i == -62135596800000 { - in = time.Time{} // In UTC for convenience. - } else { - in = time.Unix(i/1e3, i%1e3*1e6).UTC() - } - case ElementNil: - in = nil - case ElementRegEx: - in = d.readRegEx() - case ElementDBPointer: - in = DBPointer{Namespace: d.readStr(), Id: ObjectId(d.readBytes(12))} - case ElementJavaScriptWithoutScope: - in = JavaScript{Code: d.readStr()} - case ElementSymbol: - in = Symbol(d.readStr()) - case ElementJavaScriptWithScope: - start := d.i - l := int(d.readInt32()) - js := JavaScript{d.readStr(), make(M)} - d.readDocTo(reflect.ValueOf(js.Scope)) - if d.i != start+l { - corrupted() - } - in = js - case ElementInt32: - in = int(d.readInt32()) - case ElementTimestamp: // Mongo-specific timestamp - in = MongoTimestamp(d.readInt64()) - case ElementInt64: - switch out.Type() { - case typeTimeDuration: - in = time.Duration(time.Duration(d.readInt64()) * time.Millisecond) - default: - in = d.readInt64() - } - case ElementDecimal128: - in = Decimal128{ - l: uint64(d.readInt64()), - h: uint64(d.readInt64()), - } - case ElementMaxKey: - in = MaxKey - case ElementMinKey: - in = MinKey - default: - panic(fmt.Sprintf("Unknown element kind (0x%02X)", kind)) - } - - if in == nil { - out.Set(reflect.Zero(outt)) - return true - } - - outk := outt.Kind() - - // Dereference and initialize pointer if necessary. - first := true - for outk == reflect.Ptr { - if !out.IsNil() { - out = out.Elem() - } else { - elem := reflect.New(outt.Elem()) - if first { - // Only set if value is compatible. - first = false - defer func(out, elem reflect.Value) { - if good { - out.Set(elem) - } - }(out, elem) - } else { - out.Set(elem) - } - out = elem - } - outt = out.Type() - outk = outt.Kind() - } - - inv := reflect.ValueOf(in) - if outt == inv.Type() { - out.Set(inv) - return true - } - - switch outk { - case reflect.Interface: - out.Set(inv) - return true - case reflect.String: - switch inv.Kind() { - case reflect.String: - out.SetString(inv.String()) - return true - case reflect.Slice: - if b, ok := in.([]byte); ok { - out.SetString(string(b)) - return true - } - case reflect.Int, reflect.Int64: - if outt == typeJSONNumber { - out.SetString(strconv.FormatInt(inv.Int(), 10)) - return true - } - case reflect.Float64: - if outt == typeJSONNumber { - out.SetString(strconv.FormatFloat(inv.Float(), 'f', -1, 64)) - return true - } - } - case reflect.Slice, reflect.Array: - // Remember, array (0x04) slices are built with the correct - // element type. If we are here, must be a cross BSON kind - // conversion (e.g. 0x05 unmarshalling on string). - if outt.Elem().Kind() != reflect.Uint8 { - break - } - switch inv.Kind() { - case reflect.String: - slice := []byte(inv.String()) - out.Set(reflect.ValueOf(slice)) - return true - case reflect.Slice: - switch outt.Kind() { - case reflect.Array: - reflect.Copy(out, inv) - case reflect.Slice: - out.SetBytes(inv.Bytes()) - } - return true - } - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - switch inv.Kind() { - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - out.SetInt(inv.Int()) - return true - case reflect.Float32, reflect.Float64: - out.SetInt(int64(inv.Float())) - return true - case reflect.Bool: - if inv.Bool() { - out.SetInt(1) - } else { - out.SetInt(0) - } - return true - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - panic("can't happen: no uint types in BSON (!?)") - } - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - switch inv.Kind() { - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - out.SetUint(uint64(inv.Int())) - return true - case reflect.Float32, reflect.Float64: - out.SetUint(uint64(inv.Float())) - return true - case reflect.Bool: - if inv.Bool() { - out.SetUint(1) - } else { - out.SetUint(0) - } - return true - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - panic("Can't happen. No uint types in BSON.") - } - case reflect.Float32, reflect.Float64: - switch inv.Kind() { - case reflect.Float32, reflect.Float64: - out.SetFloat(inv.Float()) - return true - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - out.SetFloat(float64(inv.Int())) - return true - case reflect.Bool: - if inv.Bool() { - out.SetFloat(1) - } else { - out.SetFloat(0) - } - return true - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - panic("Can't happen. No uint types in BSON?") - } - case reflect.Bool: - switch inv.Kind() { - case reflect.Bool: - out.SetBool(inv.Bool()) - return true - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - out.SetBool(inv.Int() != 0) - return true - case reflect.Float32, reflect.Float64: - out.SetBool(inv.Float() != 0) - return true - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - panic("Can't happen. No uint types in BSON?") - } - case reflect.Struct: - if outt == typeURL && inv.Kind() == reflect.String { - u, err := url.Parse(inv.String()) - if err != nil { - panic(err) - } - out.Set(reflect.ValueOf(u).Elem()) - return true - } - if outt == typeBinary { - if b, ok := in.([]byte); ok { - out.Set(reflect.ValueOf(Binary{Data: b})) - return true - } - } - } - - return false -} - -// -------------------------------------------------------------------------- -// Parsers of basic types. - -func (d *decoder) readRegEx() RegEx { - re := RegEx{} - re.Pattern = d.readCStr() - re.Options = d.readCStr() - return re -} - -func (d *decoder) readBinary() Binary { - l := d.readInt32() - b := Binary{} - b.Kind = d.readByte() - if b.Kind == BinaryBinaryOld && l > 4 { - // Weird obsolete format with redundant length. - rl := d.readInt32() - if rl != l-4 { - corrupted() - } - l = rl - } - b.Data = d.readBytes(l) - return b -} - -func (d *decoder) readStr() string { - l := d.readInt32() - b := d.readBytes(l - 1) - if d.readByte() != '\x00' { - corrupted() - } - return string(b) -} - -func (d *decoder) readCStr() string { - start := d.i - end := start - l := len(d.in) - for ; end != l; end++ { - if d.in[end] == '\x00' { - break - } - } - d.i = end + 1 - if d.i > l { - corrupted() - } - return string(d.in[start:end]) -} - -func (d *decoder) readBool() bool { - b := d.readByte() - if b == 0 { - return false - } - if b == 1 { - return true - } - panic(fmt.Sprintf("encoded boolean must be 1 or 0, found %d", b)) -} - -func (d *decoder) readFloat64() float64 { - return math.Float64frombits(uint64(d.readInt64())) -} - -func (d *decoder) readInt32() int32 { - b := d.readBytes(4) - return int32((uint32(b[0]) << 0) | - (uint32(b[1]) << 8) | - (uint32(b[2]) << 16) | - (uint32(b[3]) << 24)) -} - -func getSize(offset int, b []byte) (int, error) { - if offset+4 > len(b) { - return 0, io.ErrUnexpectedEOF - } - return int((uint32(b[offset]) << 0) | - (uint32(b[offset+1]) << 8) | - (uint32(b[offset+2]) << 16) | - (uint32(b[offset+3]) << 24)), nil -} - -func (d *decoder) readInt64() int64 { - b := d.readBytes(8) - return int64((uint64(b[0]) << 0) | - (uint64(b[1]) << 8) | - (uint64(b[2]) << 16) | - (uint64(b[3]) << 24) | - (uint64(b[4]) << 32) | - (uint64(b[5]) << 40) | - (uint64(b[6]) << 48) | - (uint64(b[7]) << 56)) -} - -func (d *decoder) readByte() byte { - i := d.i - d.i++ - if d.i > len(d.in) { - corrupted() - } - return d.in[i] -} - -func (d *decoder) readBytes(length int32) []byte { - if length < 0 { - corrupted() - } - start := d.i - d.i += int(length) - if d.i < start || d.i > len(d.in) { - corrupted() - } - return d.in[start : start+int(length)] -} diff --git a/vendor/github.com/globalsign/mgo/bson/encode.go b/vendor/github.com/globalsign/mgo/bson/encode.go deleted file mode 100644 index d0c6b2a855f..00000000000 --- a/vendor/github.com/globalsign/mgo/bson/encode.go +++ /dev/null @@ -1,645 +0,0 @@ -// BSON library for Go -// -// Copyright (c) 2010-2012 - Gustavo Niemeyer -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, this -// list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// gobson - BSON library for Go. - -package bson - -import ( - "encoding/json" - "fmt" - "math" - "net/url" - "reflect" - "sort" - "strconv" - "sync" - "time" -) - -// -------------------------------------------------------------------------- -// Some internal infrastructure. - -var ( - typeBinary = reflect.TypeOf(Binary{}) - typeObjectId = reflect.TypeOf(ObjectId("")) - typeDBPointer = reflect.TypeOf(DBPointer{"", ObjectId("")}) - typeSymbol = reflect.TypeOf(Symbol("")) - typeMongoTimestamp = reflect.TypeOf(MongoTimestamp(0)) - typeOrderKey = reflect.TypeOf(MinKey) - typeDocElem = reflect.TypeOf(DocElem{}) - typeRawDocElem = reflect.TypeOf(RawDocElem{}) - typeRaw = reflect.TypeOf(Raw{}) - typeRawPtr = reflect.PtrTo(reflect.TypeOf(Raw{})) - typeURL = reflect.TypeOf(url.URL{}) - typeTime = reflect.TypeOf(time.Time{}) - typeString = reflect.TypeOf("") - typeJSONNumber = reflect.TypeOf(json.Number("")) - typeTimeDuration = reflect.TypeOf(time.Duration(0)) -) - -var ( - // spec for []uint8 or []byte encoding - arrayOps = map[string]bool{ - "$in": true, - "$nin": true, - "$all": true, - } -) - -const itoaCacheSize = 32 - -const ( - getterUnknown = iota - getterNone - getterTypeVal - getterTypePtr - getterAddr -) - -var itoaCache []string - -var getterStyles map[reflect.Type]int -var getterIface reflect.Type -var getterMutex sync.RWMutex - -func init() { - itoaCache = make([]string, itoaCacheSize) - for i := 0; i != itoaCacheSize; i++ { - itoaCache[i] = strconv.Itoa(i) - } - var iface Getter - getterIface = reflect.TypeOf(&iface).Elem() - getterStyles = make(map[reflect.Type]int) -} - -func itoa(i int) string { - if i < itoaCacheSize { - return itoaCache[i] - } - return strconv.Itoa(i) -} - -func getterStyle(outt reflect.Type) int { - getterMutex.RLock() - style := getterStyles[outt] - getterMutex.RUnlock() - if style != getterUnknown { - return style - } - - getterMutex.Lock() - defer getterMutex.Unlock() - if outt.Implements(getterIface) { - vt := outt - for vt.Kind() == reflect.Ptr { - vt = vt.Elem() - } - if vt.Implements(getterIface) { - style = getterTypeVal - } else { - style = getterTypePtr - } - } else if reflect.PtrTo(outt).Implements(getterIface) { - style = getterAddr - } else { - style = getterNone - } - getterStyles[outt] = style - return style -} - -func getGetter(outt reflect.Type, out reflect.Value) Getter { - style := getterStyle(outt) - if style == getterNone { - return nil - } - if style == getterAddr { - if !out.CanAddr() { - return nil - } - return out.Addr().Interface().(Getter) - } - if style == getterTypeVal && out.Kind() == reflect.Ptr && out.IsNil() { - return nil - } - return out.Interface().(Getter) -} - -// -------------------------------------------------------------------------- -// Marshaling of the document value itself. - -type encoder struct { - out []byte -} - -func (e *encoder) addDoc(v reflect.Value) { - for { - if vi, ok := v.Interface().(Getter); ok { - getv, err := vi.GetBSON() - if err != nil { - panic(err) - } - v = reflect.ValueOf(getv) - continue - } - if v.Kind() == reflect.Ptr { - v = v.Elem() - continue - } - break - } - - if v.Type() == typeRaw { - raw := v.Interface().(Raw) - if raw.Kind != 0x03 && raw.Kind != 0x00 { - panic("Attempted to marshal Raw kind " + strconv.Itoa(int(raw.Kind)) + " as a document") - } - if len(raw.Data) == 0 { - panic("Attempted to marshal empty Raw document") - } - e.addBytes(raw.Data...) - return - } - - start := e.reserveInt32() - - switch v.Kind() { - case reflect.Map: - e.addMap(v) - case reflect.Struct: - e.addStruct(v) - case reflect.Array, reflect.Slice: - e.addSlice(v) - default: - panic("Can't marshal " + v.Type().String() + " as a BSON document") - } - - e.addBytes(0) - e.setInt32(start, int32(len(e.out)-start)) -} - -func (e *encoder) addMap(v reflect.Value) { - for _, k := range v.MapKeys() { - e.addElem(fmt.Sprint(k), v.MapIndex(k), false) - } -} - -func (e *encoder) addStruct(v reflect.Value) { - sinfo, err := getStructInfo(v.Type()) - if err != nil { - panic(err) - } - var value reflect.Value - if sinfo.InlineMap >= 0 { - m := v.Field(sinfo.InlineMap) - if m.Len() > 0 { - for _, k := range m.MapKeys() { - ks := k.String() - if _, found := sinfo.FieldsMap[ks]; found { - panic(fmt.Sprintf("Can't have key %q in inlined map; conflicts with struct field", ks)) - } - e.addElem(ks, m.MapIndex(k), false) - } - } - } - for _, info := range sinfo.FieldsList { - if info.Inline == nil { - value = v.Field(info.Num) - } else { - // as pointers to struct are allowed here, - // there is no guarantee that pointer won't be nil. - // - // It is expected allowed behaviour - // so info.Inline MAY consist index to a nil pointer - // and that is why we safely call v.FieldByIndex and just continue on panic - field, errField := safeFieldByIndex(v, info.Inline) - if errField != nil { - continue - } - - value = field - } - if info.OmitEmpty && isZero(value) { - continue - } - if useRespectNilValues && - (value.Kind() == reflect.Slice || value.Kind() == reflect.Map) && - value.IsNil() { - e.addElem(info.Key, reflect.ValueOf(nil), info.MinSize) - continue - } - e.addElem(info.Key, value, info.MinSize) - } -} - -func safeFieldByIndex(v reflect.Value, index []int) (result reflect.Value, err error) { - defer func() { - if recovered := recover(); recovered != nil { - switch r := recovered.(type) { - case string: - err = fmt.Errorf("%s", r) - case error: - err = r - } - } - }() - - result = v.FieldByIndex(index) - return -} - -func isZero(v reflect.Value) bool { - switch v.Kind() { - case reflect.String: - return len(v.String()) == 0 - case reflect.Ptr, reflect.Interface: - return v.IsNil() - case reflect.Slice: - return v.Len() == 0 - case reflect.Map: - return v.Len() == 0 - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - return v.Int() == 0 - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - return v.Uint() == 0 - case reflect.Float32, reflect.Float64: - return v.Float() == 0 - case reflect.Bool: - return !v.Bool() - case reflect.Struct: - vt := v.Type() - if vt == typeTime { - return v.Interface().(time.Time).IsZero() - } - for i := 0; i < v.NumField(); i++ { - if vt.Field(i).PkgPath != "" && !vt.Field(i).Anonymous { - continue // Private field - } - if !isZero(v.Field(i)) { - return false - } - } - return true - } - return false -} - -func (e *encoder) addSlice(v reflect.Value) { - vi := v.Interface() - if d, ok := vi.(D); ok { - for _, elem := range d { - e.addElem(elem.Name, reflect.ValueOf(elem.Value), false) - } - return - } - if d, ok := vi.(RawD); ok { - for _, elem := range d { - e.addElem(elem.Name, reflect.ValueOf(elem.Value), false) - } - return - } - l := v.Len() - et := v.Type().Elem() - if et == typeDocElem { - for i := 0; i < l; i++ { - elem := v.Index(i).Interface().(DocElem) - e.addElem(elem.Name, reflect.ValueOf(elem.Value), false) - } - return - } - if et == typeRawDocElem { - for i := 0; i < l; i++ { - elem := v.Index(i).Interface().(RawDocElem) - e.addElem(elem.Name, reflect.ValueOf(elem.Value), false) - } - return - } - for i := 0; i < l; i++ { - e.addElem(itoa(i), v.Index(i), false) - } -} - -// -------------------------------------------------------------------------- -// Marshaling of elements in a document. - -func (e *encoder) addElemName(kind byte, name string) { - e.addBytes(kind) - e.addBytes([]byte(name)...) - e.addBytes(0) -} - -func (e *encoder) addElem(name string, v reflect.Value, minSize bool) { - - if !v.IsValid() { - e.addElemName(0x0A, name) - return - } - - if getter := getGetter(v.Type(), v); getter != nil { - getv, err := getter.GetBSON() - if err != nil { - panic(err) - } - e.addElem(name, reflect.ValueOf(getv), minSize) - return - } - - switch v.Kind() { - - case reflect.Interface: - e.addElem(name, v.Elem(), minSize) - - case reflect.Ptr: - e.addElem(name, v.Elem(), minSize) - - case reflect.String: - s := v.String() - switch v.Type() { - case typeObjectId: - if len(s) != 12 { - panic("ObjectIDs must be exactly 12 bytes long (got " + - strconv.Itoa(len(s)) + ")") - } - e.addElemName(0x07, name) - e.addBytes([]byte(s)...) - case typeSymbol: - e.addElemName(0x0E, name) - e.addStr(s) - case typeJSONNumber: - n := v.Interface().(json.Number) - if i, err := n.Int64(); err == nil { - e.addElemName(0x12, name) - e.addInt64(i) - } else if f, err := n.Float64(); err == nil { - e.addElemName(0x01, name) - e.addFloat64(f) - } else { - panic("failed to convert json.Number to a number: " + s) - } - default: - e.addElemName(0x02, name) - e.addStr(s) - } - - case reflect.Float32, reflect.Float64: - e.addElemName(0x01, name) - e.addFloat64(v.Float()) - - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - u := v.Uint() - if int64(u) < 0 { - panic("BSON has no uint64 type, and value is too large to fit correctly in an int64") - } else if u <= math.MaxInt32 && (minSize || v.Kind() <= reflect.Uint32) { - e.addElemName(0x10, name) - e.addInt32(int32(u)) - } else { - e.addElemName(0x12, name) - e.addInt64(int64(u)) - } - - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - switch v.Type() { - case typeMongoTimestamp: - e.addElemName(0x11, name) - e.addInt64(v.Int()) - - case typeOrderKey: - if v.Int() == int64(MaxKey) { - e.addElemName(0x7F, name) - } else { - e.addElemName(0xFF, name) - } - case typeTimeDuration: - // Stored as int64 - e.addElemName(0x12, name) - - e.addInt64(int64(v.Int() / 1e6)) - default: - i := v.Int() - if (minSize || v.Type().Kind() != reflect.Int64) && i >= math.MinInt32 && i <= math.MaxInt32 { - // It fits into an int32, encode as such. - e.addElemName(0x10, name) - e.addInt32(int32(i)) - } else { - e.addElemName(0x12, name) - e.addInt64(i) - } - } - - case reflect.Bool: - e.addElemName(0x08, name) - if v.Bool() { - e.addBytes(1) - } else { - e.addBytes(0) - } - - case reflect.Map: - e.addElemName(0x03, name) - e.addDoc(v) - - case reflect.Slice: - vt := v.Type() - et := vt.Elem() - if et.Kind() == reflect.Uint8 { - if arrayOps[name] { - e.addElemName(0x04, name) - e.addDoc(v) - } else { - e.addElemName(0x05, name) - e.addBinary(0x00, v.Bytes()) - } - } else if et == typeDocElem || et == typeRawDocElem { - e.addElemName(0x03, name) - e.addDoc(v) - } else { - e.addElemName(0x04, name) - e.addDoc(v) - } - - case reflect.Array: - et := v.Type().Elem() - if et.Kind() == reflect.Uint8 { - if arrayOps[name] { - e.addElemName(0x04, name) - e.addDoc(v) - } else { - e.addElemName(0x05, name) - if v.CanAddr() { - e.addBinary(0x00, v.Slice(0, v.Len()).Interface().([]byte)) - } else { - n := v.Len() - e.addInt32(int32(n)) - e.addBytes(0x00) - for i := 0; i < n; i++ { - el := v.Index(i) - e.addBytes(byte(el.Uint())) - } - } - } - } else { - e.addElemName(0x04, name) - e.addDoc(v) - } - - case reflect.Struct: - switch s := v.Interface().(type) { - - case Raw: - kind := s.Kind - if kind == 0x00 { - kind = 0x03 - } - if len(s.Data) == 0 && kind != 0x06 && kind != 0x0A && kind != 0xFF && kind != 0x7F { - panic("Attempted to marshal empty Raw document") - } - e.addElemName(kind, name) - e.addBytes(s.Data...) - - case Binary: - e.addElemName(0x05, name) - e.addBinary(s.Kind, s.Data) - - case Decimal128: - e.addElemName(0x13, name) - e.addInt64(int64(s.l)) - e.addInt64(int64(s.h)) - - case DBPointer: - e.addElemName(0x0C, name) - e.addStr(s.Namespace) - if len(s.Id) != 12 { - panic("ObjectIDs must be exactly 12 bytes long (got " + - strconv.Itoa(len(s.Id)) + ")") - } - e.addBytes([]byte(s.Id)...) - - case RegEx: - e.addElemName(0x0B, name) - e.addCStr(s.Pattern) - options := runes(s.Options) - sort.Sort(options) - e.addCStr(string(options)) - - case JavaScript: - if s.Scope == nil { - e.addElemName(0x0D, name) - e.addStr(s.Code) - } else { - e.addElemName(0x0F, name) - start := e.reserveInt32() - e.addStr(s.Code) - e.addDoc(reflect.ValueOf(s.Scope)) - e.setInt32(start, int32(len(e.out)-start)) - } - - case time.Time: - // MongoDB handles timestamps as milliseconds. - e.addElemName(0x09, name) - e.addInt64(s.Unix()*1000 + int64(s.Nanosecond()/1e6)) - - case url.URL: - e.addElemName(0x02, name) - e.addStr(s.String()) - - case undefined: - e.addElemName(0x06, name) - - default: - e.addElemName(0x03, name) - e.addDoc(v) - } - - default: - panic("Can't marshal " + v.Type().String() + " in a BSON document") - } -} - -// ------------- -// Helper method for sorting regex options -type runes []rune - -func (a runes) Len() int { return len(a) } -func (a runes) Swap(i, j int) { a[i], a[j] = a[j], a[i] } -func (a runes) Less(i, j int) bool { return a[i] < a[j] } - -// -------------------------------------------------------------------------- -// Marshaling of base types. - -func (e *encoder) addBinary(subtype byte, v []byte) { - if subtype == 0x02 { - // Wonder how that brilliant idea came to life. Obsolete, luckily. - e.addInt32(int32(len(v) + 4)) - e.addBytes(subtype) - e.addInt32(int32(len(v))) - } else { - e.addInt32(int32(len(v))) - e.addBytes(subtype) - } - e.addBytes(v...) -} - -func (e *encoder) addStr(v string) { - e.addInt32(int32(len(v) + 1)) - e.addCStr(v) -} - -func (e *encoder) addCStr(v string) { - e.addBytes([]byte(v)...) - e.addBytes(0) -} - -func (e *encoder) reserveInt32() (pos int) { - pos = len(e.out) - e.addBytes(0, 0, 0, 0) - return pos -} - -func (e *encoder) setInt32(pos int, v int32) { - e.out[pos+0] = byte(v) - e.out[pos+1] = byte(v >> 8) - e.out[pos+2] = byte(v >> 16) - e.out[pos+3] = byte(v >> 24) -} - -func (e *encoder) addInt32(v int32) { - u := uint32(v) - e.addBytes(byte(u), byte(u>>8), byte(u>>16), byte(u>>24)) -} - -func (e *encoder) addInt64(v int64) { - u := uint64(v) - e.addBytes(byte(u), byte(u>>8), byte(u>>16), byte(u>>24), - byte(u>>32), byte(u>>40), byte(u>>48), byte(u>>56)) -} - -func (e *encoder) addFloat64(v float64) { - e.addInt64(int64(math.Float64bits(v))) -} - -func (e *encoder) addBytes(v ...byte) { - e.out = append(e.out, v...) -} diff --git a/vendor/github.com/globalsign/mgo/bson/json.go b/vendor/github.com/globalsign/mgo/bson/json.go deleted file mode 100644 index 045c713012b..00000000000 --- a/vendor/github.com/globalsign/mgo/bson/json.go +++ /dev/null @@ -1,384 +0,0 @@ -package bson - -import ( - "bytes" - "encoding/base64" - "fmt" - "strconv" - "strings" - "time" - - "github.com/globalsign/mgo/internal/json" -) - -// UnmarshalJSON unmarshals a JSON value that may hold non-standard -// syntax as defined in BSON's extended JSON specification. -func UnmarshalJSON(data []byte, value interface{}) error { - d := json.NewDecoder(bytes.NewBuffer(data)) - d.Extend(&jsonExt) - return d.Decode(value) -} - -// MarshalJSON marshals a JSON value that may hold non-standard -// syntax as defined in BSON's extended JSON specification. -func MarshalJSON(value interface{}) ([]byte, error) { - var buf bytes.Buffer - e := json.NewEncoder(&buf) - e.Extend(&jsonExt) - err := e.Encode(value) - if err != nil { - return nil, err - } - return buf.Bytes(), nil -} - -// jdec is used internally by the JSON decoding functions -// so they may unmarshal functions without getting into endless -// recursion due to keyed objects. -func jdec(data []byte, value interface{}) error { - d := json.NewDecoder(bytes.NewBuffer(data)) - d.Extend(&funcExt) - return d.Decode(value) -} - -var jsonExt json.Extension -var funcExt json.Extension - -// TODO -// - Shell regular expressions ("/regexp/opts") - -func init() { - jsonExt.DecodeUnquotedKeys(true) - jsonExt.DecodeTrailingCommas(true) - - funcExt.DecodeFunc("BinData", "$binaryFunc", "$type", "$binary") - jsonExt.DecodeKeyed("$binary", jdecBinary) - jsonExt.DecodeKeyed("$binaryFunc", jdecBinary) - jsonExt.EncodeType([]byte(nil), jencBinarySlice) - jsonExt.EncodeType(Binary{}, jencBinaryType) - - funcExt.DecodeFunc("ISODate", "$dateFunc", "S") - funcExt.DecodeFunc("new Date", "$dateFunc", "S") - jsonExt.DecodeKeyed("$date", jdecDate) - jsonExt.DecodeKeyed("$dateFunc", jdecDate) - jsonExt.EncodeType(time.Time{}, jencDate) - - funcExt.DecodeFunc("Timestamp", "$timestamp", "t", "i") - jsonExt.DecodeKeyed("$timestamp", jdecTimestamp) - jsonExt.EncodeType(MongoTimestamp(0), jencTimestamp) - - funcExt.DecodeConst("undefined", Undefined) - - jsonExt.DecodeKeyed("$regex", jdecRegEx) - jsonExt.EncodeType(RegEx{}, jencRegEx) - - funcExt.DecodeFunc("ObjectId", "$oidFunc", "Id") - jsonExt.DecodeKeyed("$oid", jdecObjectId) - jsonExt.DecodeKeyed("$oidFunc", jdecObjectId) - jsonExt.EncodeType(ObjectId(""), jencObjectId) - - funcExt.DecodeFunc("DBRef", "$dbrefFunc", "$ref", "$id") - jsonExt.DecodeKeyed("$dbrefFunc", jdecDBRef) - - funcExt.DecodeFunc("NumberLong", "$numberLongFunc", "N") - jsonExt.DecodeKeyed("$numberLong", jdecNumberLong) - jsonExt.DecodeKeyed("$numberLongFunc", jdecNumberLong) - jsonExt.EncodeType(int64(0), jencNumberLong) - jsonExt.EncodeType(int(0), jencInt) - - funcExt.DecodeConst("MinKey", MinKey) - funcExt.DecodeConst("MaxKey", MaxKey) - jsonExt.DecodeKeyed("$minKey", jdecMinKey) - jsonExt.DecodeKeyed("$maxKey", jdecMaxKey) - jsonExt.EncodeType(orderKey(0), jencMinMaxKey) - - jsonExt.DecodeKeyed("$undefined", jdecUndefined) - jsonExt.EncodeType(Undefined, jencUndefined) - - jsonExt.Extend(&funcExt) -} - -func fbytes(format string, args ...interface{}) []byte { - var buf bytes.Buffer - fmt.Fprintf(&buf, format, args...) - return buf.Bytes() -} - -func jdecBinary(data []byte) (interface{}, error) { - var v struct { - Binary []byte `json:"$binary"` - Type string `json:"$type"` - Func struct { - Binary []byte `json:"$binary"` - Type int64 `json:"$type"` - } `json:"$binaryFunc"` - } - err := jdec(data, &v) - if err != nil { - return nil, err - } - - var binData []byte - var binKind int64 - if v.Type == "" && v.Binary == nil { - binData = v.Func.Binary - binKind = v.Func.Type - } else if v.Type == "" { - return v.Binary, nil - } else { - binData = v.Binary - binKind, err = strconv.ParseInt(v.Type, 0, 64) - if err != nil { - binKind = -1 - } - } - - if binKind == 0 { - return binData, nil - } - if binKind < 0 || binKind > 255 { - return nil, fmt.Errorf("invalid type in binary object: %s", data) - } - - return Binary{Kind: byte(binKind), Data: binData}, nil -} - -func jencBinarySlice(v interface{}) ([]byte, error) { - in := v.([]byte) - out := make([]byte, base64.StdEncoding.EncodedLen(len(in))) - base64.StdEncoding.Encode(out, in) - return fbytes(`{"$binary":"%s","$type":"0x0"}`, out), nil -} - -func jencBinaryType(v interface{}) ([]byte, error) { - in := v.(Binary) - out := make([]byte, base64.StdEncoding.EncodedLen(len(in.Data))) - base64.StdEncoding.Encode(out, in.Data) - return fbytes(`{"$binary":"%s","$type":"0x%x"}`, out, in.Kind), nil -} - -const jdateFormat = "2006-01-02T15:04:05.999Z07:00" - -func jdecDate(data []byte) (interface{}, error) { - var v struct { - S string `json:"$date"` - Func struct { - S string - } `json:"$dateFunc"` - } - _ = jdec(data, &v) - if v.S == "" { - v.S = v.Func.S - } - if v.S != "" { - var errs []string - for _, format := range []string{jdateFormat, "2006-01-02"} { - t, err := time.Parse(format, v.S) - if err == nil { - return t, nil - } - errs = append(errs, err.Error()) - } - return nil, fmt.Errorf("cannot parse date: %q [%s]", v.S, strings.Join(errs, ", ")) - } - - var vn struct { - Date struct { - N int64 `json:"$numberLong,string"` - } `json:"$date"` - Func struct { - S int64 - } `json:"$dateFunc"` - } - err := jdec(data, &vn) - if err != nil { - return nil, fmt.Errorf("cannot parse date: %q", data) - } - n := vn.Date.N - if n == 0 { - n = vn.Func.S - } - return time.Unix(n/1000, n%1000*1e6).UTC(), nil -} - -func jencDate(v interface{}) ([]byte, error) { - t := v.(time.Time) - return fbytes(`{"$date":%q}`, t.Format(jdateFormat)), nil -} - -func jdecTimestamp(data []byte) (interface{}, error) { - var v struct { - Func struct { - T int32 `json:"t"` - I int32 `json:"i"` - } `json:"$timestamp"` - } - err := jdec(data, &v) - if err != nil { - return nil, err - } - return MongoTimestamp(uint64(v.Func.T)<<32 | uint64(uint32(v.Func.I))), nil -} - -func jencTimestamp(v interface{}) ([]byte, error) { - ts := uint64(v.(MongoTimestamp)) - return fbytes(`{"$timestamp":{"t":%d,"i":%d}}`, ts>>32, uint32(ts)), nil -} - -func jdecRegEx(data []byte) (interface{}, error) { - var v struct { - Regex string `json:"$regex"` - Options string `json:"$options"` - } - err := jdec(data, &v) - if err != nil { - return nil, err - } - return RegEx{v.Regex, v.Options}, nil -} - -func jencRegEx(v interface{}) ([]byte, error) { - re := v.(RegEx) - type regex struct { - Regex string `json:"$regex"` - Options string `json:"$options"` - } - return json.Marshal(regex{re.Pattern, re.Options}) -} - -func jdecObjectId(data []byte) (interface{}, error) { - var v struct { - Id string `json:"$oid"` - Func struct { - Id string - } `json:"$oidFunc"` - } - err := jdec(data, &v) - if err != nil { - return nil, err - } - if v.Id == "" { - v.Id = v.Func.Id - } - return ObjectIdHex(v.Id), nil -} - -func jencObjectId(v interface{}) ([]byte, error) { - return fbytes(`{"$oid":"%s"}`, v.(ObjectId).Hex()), nil -} - -func jdecDBRef(data []byte) (interface{}, error) { - // TODO Support unmarshaling $ref and $id into the input value. - var v struct { - Obj map[string]interface{} `json:"$dbrefFunc"` - } - // TODO Fix this. Must not be required. - v.Obj = make(map[string]interface{}) - err := jdec(data, &v) - if err != nil { - return nil, err - } - return v.Obj, nil -} - -func jdecNumberLong(data []byte) (interface{}, error) { - var v struct { - N int64 `json:"$numberLong,string"` - Func struct { - N int64 `json:",string"` - } `json:"$numberLongFunc"` - } - var vn struct { - N int64 `json:"$numberLong"` - Func struct { - N int64 - } `json:"$numberLongFunc"` - } - err := jdec(data, &v) - if err != nil { - err = jdec(data, &vn) - v.N = vn.N - v.Func.N = vn.Func.N - } - if err != nil { - return nil, err - } - if v.N != 0 { - return v.N, nil - } - return v.Func.N, nil -} - -func jencNumberLong(v interface{}) ([]byte, error) { - n := v.(int64) - f := `{"$numberLong":"%d"}` - if n <= 1<<53 { - f = `{"$numberLong":%d}` - } - return fbytes(f, n), nil -} - -func jencInt(v interface{}) ([]byte, error) { - n := v.(int) - f := `{"$numberLong":"%d"}` - if int64(n) <= 1<<53 { - f = `%d` - } - return fbytes(f, n), nil -} - -func jdecMinKey(data []byte) (interface{}, error) { - var v struct { - N int64 `json:"$minKey"` - } - err := jdec(data, &v) - if err != nil { - return nil, err - } - if v.N != 1 { - return nil, fmt.Errorf("invalid $minKey object: %s", data) - } - return MinKey, nil -} - -func jdecMaxKey(data []byte) (interface{}, error) { - var v struct { - N int64 `json:"$maxKey"` - } - err := jdec(data, &v) - if err != nil { - return nil, err - } - if v.N != 1 { - return nil, fmt.Errorf("invalid $maxKey object: %s", data) - } - return MaxKey, nil -} - -func jencMinMaxKey(v interface{}) ([]byte, error) { - switch v.(orderKey) { - case MinKey: - return []byte(`{"$minKey":1}`), nil - case MaxKey: - return []byte(`{"$maxKey":1}`), nil - } - panic(fmt.Sprintf("invalid $minKey/$maxKey value: %d", v)) -} - -func jdecUndefined(data []byte) (interface{}, error) { - var v struct { - B bool `json:"$undefined"` - } - err := jdec(data, &v) - if err != nil { - return nil, err - } - if !v.B { - return nil, fmt.Errorf("invalid $undefined object: %s", data) - } - return Undefined, nil -} - -func jencUndefined(v interface{}) ([]byte, error) { - return []byte(`{"$undefined":true}`), nil -} diff --git a/vendor/github.com/globalsign/mgo/bson/stream.go b/vendor/github.com/globalsign/mgo/bson/stream.go deleted file mode 100644 index 466528457b5..00000000000 --- a/vendor/github.com/globalsign/mgo/bson/stream.go +++ /dev/null @@ -1,90 +0,0 @@ -package bson - -import ( - "bytes" - "encoding/binary" - "fmt" - "io" -) - -const ( - // MinDocumentSize is the size of the smallest possible valid BSON document: - // an int32 size header + 0x00 (end of document). - MinDocumentSize = 5 - - // MaxDocumentSize is the largest possible size for a BSON document allowed by MongoDB, - // that is, 16 MiB (see https://docs.mongodb.com/manual/reference/limits/). - MaxDocumentSize = 16777216 -) - -// ErrInvalidDocumentSize is an error returned when a BSON document's header -// contains a size smaller than MinDocumentSize or greater than MaxDocumentSize. -type ErrInvalidDocumentSize struct { - DocumentSize int32 -} - -func (e ErrInvalidDocumentSize) Error() string { - return fmt.Sprintf("invalid document size %d", e.DocumentSize) -} - -// A Decoder reads and decodes BSON values from an input stream. -type Decoder struct { - source io.Reader -} - -// NewDecoder returns a new Decoder that reads from source. -// It does not add any extra buffering, and may not read data from source beyond the BSON values requested. -func NewDecoder(source io.Reader) *Decoder { - return &Decoder{source: source} -} - -// Decode reads the next BSON-encoded value from its input and stores it in the value pointed to by v. -// See the documentation for Unmarshal for details about the conversion of BSON into a Go value. -func (dec *Decoder) Decode(v interface{}) (err error) { - // BSON documents start with their size as a *signed* int32. - var docSize int32 - if err = binary.Read(dec.source, binary.LittleEndian, &docSize); err != nil { - return - } - - if docSize < MinDocumentSize || docSize > MaxDocumentSize { - return ErrInvalidDocumentSize{DocumentSize: docSize} - } - - docBuffer := bytes.NewBuffer(make([]byte, 0, docSize)) - if err = binary.Write(docBuffer, binary.LittleEndian, docSize); err != nil { - return - } - - // docSize is the *full* document's size (including the 4-byte size header, - // which has already been read). - if _, err = io.CopyN(docBuffer, dec.source, int64(docSize-4)); err != nil { - return - } - - // Let Unmarshal handle the rest. - defer handleErr(&err) - return Unmarshal(docBuffer.Bytes(), v) -} - -// An Encoder encodes and writes BSON values to an output stream. -type Encoder struct { - target io.Writer -} - -// NewEncoder returns a new Encoder that writes to target. -func NewEncoder(target io.Writer) *Encoder { - return &Encoder{target: target} -} - -// Encode encodes v to BSON, and if successful writes it to the Encoder's output stream. -// See the documentation for Marshal for details about the conversion of Go values to BSON. -func (enc *Encoder) Encode(v interface{}) error { - data, err := Marshal(v) - if err != nil { - return err - } - - _, err = enc.target.Write(data) - return err -} diff --git a/vendor/github.com/globalsign/mgo/internal/json/decode.go b/vendor/github.com/globalsign/mgo/internal/json/decode.go deleted file mode 100644 index d5ca1f9a851..00000000000 --- a/vendor/github.com/globalsign/mgo/internal/json/decode.go +++ /dev/null @@ -1,1685 +0,0 @@ -// Copyright 2010 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Represents JSON data structure using native Go types: booleans, floats, -// strings, arrays, and maps. - -package json - -import ( - "bytes" - "encoding" - "encoding/base64" - "errors" - "fmt" - "reflect" - "runtime" - "strconv" - "unicode" - "unicode/utf16" - "unicode/utf8" -) - -// Unmarshal parses the JSON-encoded data and stores the result -// in the value pointed to by v. -// -// Unmarshal uses the inverse of the encodings that -// Marshal uses, allocating maps, slices, and pointers as necessary, -// with the following additional rules: -// -// To unmarshal JSON into a pointer, Unmarshal first handles the case of -// the JSON being the JSON literal null. In that case, Unmarshal sets -// the pointer to nil. Otherwise, Unmarshal unmarshals the JSON into -// the value pointed at by the pointer. If the pointer is nil, Unmarshal -// allocates a new value for it to point to. -// -// To unmarshal JSON into a struct, Unmarshal matches incoming object -// keys to the keys used by Marshal (either the struct field name or its tag), -// preferring an exact match but also accepting a case-insensitive match. -// Unmarshal will only set exported fields of the struct. -// -// To unmarshal JSON into an interface value, -// Unmarshal stores one of these in the interface value: -// -// bool, for JSON booleans -// float64, for JSON numbers -// string, for JSON strings -// []interface{}, for JSON arrays -// map[string]interface{}, for JSON objects -// nil for JSON null -// -// To unmarshal a JSON array into a slice, Unmarshal resets the slice length -// to zero and then appends each element to the slice. -// As a special case, to unmarshal an empty JSON array into a slice, -// Unmarshal replaces the slice with a new empty slice. -// -// To unmarshal a JSON array into a Go array, Unmarshal decodes -// JSON array elements into corresponding Go array elements. -// If the Go array is smaller than the JSON array, -// the additional JSON array elements are discarded. -// If the JSON array is smaller than the Go array, -// the additional Go array elements are set to zero values. -// -// To unmarshal a JSON object into a map, Unmarshal first establishes a map to -// use, If the map is nil, Unmarshal allocates a new map. Otherwise Unmarshal -// reuses the existing map, keeping existing entries. Unmarshal then stores key- -// value pairs from the JSON object into the map. The map's key type must -// either be a string or implement encoding.TextUnmarshaler. -// -// If a JSON value is not appropriate for a given target type, -// or if a JSON number overflows the target type, Unmarshal -// skips that field and completes the unmarshaling as best it can. -// If no more serious errors are encountered, Unmarshal returns -// an UnmarshalTypeError describing the earliest such error. -// -// The JSON null value unmarshals into an interface, map, pointer, or slice -// by setting that Go value to nil. Because null is often used in JSON to mean -// ``not present,'' unmarshaling a JSON null into any other Go type has no effect -// on the value and produces no error. -// -// When unmarshaling quoted strings, invalid UTF-8 or -// invalid UTF-16 surrogate pairs are not treated as an error. -// Instead, they are replaced by the Unicode replacement -// character U+FFFD. -// -func Unmarshal(data []byte, v interface{}) error { - // Check for well-formedness. - // Avoids filling out half a data structure - // before discovering a JSON syntax error. - var d decodeState - err := checkValid(data, &d.scan) - if err != nil { - return err - } - - d.init(data) - return d.unmarshal(v) -} - -// Unmarshaler is the interface implemented by types -// that can unmarshal a JSON description of themselves. -// The input can be assumed to be a valid encoding of -// a JSON value. UnmarshalJSON must copy the JSON data -// if it wishes to retain the data after returning. -type Unmarshaler interface { - UnmarshalJSON([]byte) error -} - -// An UnmarshalTypeError describes a JSON value that was -// not appropriate for a value of a specific Go type. -type UnmarshalTypeError struct { - Value string // description of JSON value - "bool", "array", "number -5" - Type reflect.Type // type of Go value it could not be assigned to - Offset int64 // error occurred after reading Offset bytes -} - -func (e *UnmarshalTypeError) Error() string { - return "json: cannot unmarshal " + e.Value + " into Go value of type " + e.Type.String() -} - -// An UnmarshalFieldError describes a JSON object key that -// led to an unexported (and therefore unwritable) struct field. -// (No longer used; kept for compatibility.) -type UnmarshalFieldError struct { - Key string - Type reflect.Type - Field reflect.StructField -} - -func (e *UnmarshalFieldError) Error() string { - return "json: cannot unmarshal object key " + strconv.Quote(e.Key) + " into unexported field " + e.Field.Name + " of type " + e.Type.String() -} - -// An InvalidUnmarshalError describes an invalid argument passed to Unmarshal. -// (The argument to Unmarshal must be a non-nil pointer.) -type InvalidUnmarshalError struct { - Type reflect.Type -} - -func (e *InvalidUnmarshalError) Error() string { - if e.Type == nil { - return "json: Unmarshal(nil)" - } - - if e.Type.Kind() != reflect.Ptr { - return "json: Unmarshal(non-pointer " + e.Type.String() + ")" - } - return "json: Unmarshal(nil " + e.Type.String() + ")" -} - -func (d *decodeState) unmarshal(v interface{}) (err error) { - defer func() { - if r := recover(); r != nil { - if _, ok := r.(runtime.Error); ok { - panic(r) - } - err = r.(error) - } - }() - - rv := reflect.ValueOf(v) - if rv.Kind() != reflect.Ptr || rv.IsNil() { - return &InvalidUnmarshalError{reflect.TypeOf(v)} - } - - d.scan.reset() - // We decode rv not rv.Elem because the Unmarshaler interface - // test must be applied at the top level of the value. - d.value(rv) - return d.savedError -} - -// A Number represents a JSON number literal. -type Number string - -// String returns the literal text of the number. -func (n Number) String() string { return string(n) } - -// Float64 returns the number as a float64. -func (n Number) Float64() (float64, error) { - return strconv.ParseFloat(string(n), 64) -} - -// Int64 returns the number as an int64. -func (n Number) Int64() (int64, error) { - return strconv.ParseInt(string(n), 10, 64) -} - -// isValidNumber reports whether s is a valid JSON number literal. -func isValidNumber(s string) bool { - // This function implements the JSON numbers grammar. - // See https://tools.ietf.org/html/rfc7159#section-6 - // and http://json.org/number.gif - - if s == "" { - return false - } - - // Optional - - if s[0] == '-' { - s = s[1:] - if s == "" { - return false - } - } - - // Digits - switch { - default: - return false - - case s[0] == '0': - s = s[1:] - - case '1' <= s[0] && s[0] <= '9': - s = s[1:] - for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { - s = s[1:] - } - } - - // . followed by 1 or more digits. - if len(s) >= 2 && s[0] == '.' && '0' <= s[1] && s[1] <= '9' { - s = s[2:] - for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { - s = s[1:] - } - } - - // e or E followed by an optional - or + and - // 1 or more digits. - if len(s) >= 2 && (s[0] == 'e' || s[0] == 'E') { - s = s[1:] - if s[0] == '+' || s[0] == '-' { - s = s[1:] - if s == "" { - return false - } - } - for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { - s = s[1:] - } - } - - // Make sure we are at the end. - return s == "" -} - -// decodeState represents the state while decoding a JSON value. -type decodeState struct { - data []byte - off int // read offset in data - scan scanner - nextscan scanner // for calls to nextValue - savedError error - useNumber bool - ext Extension -} - -// errPhase is used for errors that should not happen unless -// there is a bug in the JSON decoder or something is editing -// the data slice while the decoder executes. -var errPhase = errors.New("JSON decoder out of sync - data changing underfoot?") - -func (d *decodeState) init(data []byte) *decodeState { - d.data = data - d.off = 0 - d.savedError = nil - return d -} - -// error aborts the decoding by panicking with err. -func (d *decodeState) error(err error) { - panic(err) -} - -// saveError saves the first err it is called with, -// for reporting at the end of the unmarshal. -func (d *decodeState) saveError(err error) { - if d.savedError == nil { - d.savedError = err - } -} - -// next cuts off and returns the next full JSON value in d.data[d.off:]. -// The next value is known to be an object or array, not a literal. -func (d *decodeState) next() []byte { - c := d.data[d.off] - item, rest, err := nextValue(d.data[d.off:], &d.nextscan) - if err != nil { - d.error(err) - } - d.off = len(d.data) - len(rest) - - // Our scanner has seen the opening brace/bracket - // and thinks we're still in the middle of the object. - // invent a closing brace/bracket to get it out. - if c == '{' { - d.scan.step(&d.scan, '}') - } else if c == '[' { - d.scan.step(&d.scan, ']') - } else { - // Was inside a function name. Get out of it. - d.scan.step(&d.scan, '(') - d.scan.step(&d.scan, ')') - } - - return item -} - -// scanWhile processes bytes in d.data[d.off:] until it -// receives a scan code not equal to op. -// It updates d.off and returns the new scan code. -func (d *decodeState) scanWhile(op int) int { - var newOp int - for { - if d.off >= len(d.data) { - newOp = d.scan.eof() - d.off = len(d.data) + 1 // mark processed EOF with len+1 - } else { - c := d.data[d.off] - d.off++ - newOp = d.scan.step(&d.scan, c) - } - if newOp != op { - break - } - } - return newOp -} - -// value decodes a JSON value from d.data[d.off:] into the value. -// it updates d.off to point past the decoded value. -func (d *decodeState) value(v reflect.Value) { - if !v.IsValid() { - _, rest, err := nextValue(d.data[d.off:], &d.nextscan) - if err != nil { - d.error(err) - } - d.off = len(d.data) - len(rest) - - // d.scan thinks we're still at the beginning of the item. - // Feed in an empty string - the shortest, simplest value - - // so that it knows we got to the end of the value. - if d.scan.redo { - // rewind. - d.scan.redo = false - d.scan.step = stateBeginValue - } - d.scan.step(&d.scan, '"') - d.scan.step(&d.scan, '"') - - n := len(d.scan.parseState) - if n > 0 && d.scan.parseState[n-1] == parseObjectKey { - // d.scan thinks we just read an object key; finish the object - d.scan.step(&d.scan, ':') - d.scan.step(&d.scan, '"') - d.scan.step(&d.scan, '"') - d.scan.step(&d.scan, '}') - } - - return - } - - switch op := d.scanWhile(scanSkipSpace); op { - default: - d.error(errPhase) - - case scanBeginArray: - d.array(v) - - case scanBeginObject: - d.object(v) - - case scanBeginLiteral: - d.literal(v) - - case scanBeginName: - d.name(v) - } -} - -type unquotedValue struct{} - -// valueQuoted is like value but decodes a -// quoted string literal or literal null into an interface value. -// If it finds anything other than a quoted string literal or null, -// valueQuoted returns unquotedValue{}. -func (d *decodeState) valueQuoted() interface{} { - switch op := d.scanWhile(scanSkipSpace); op { - default: - d.error(errPhase) - - case scanBeginArray: - d.array(reflect.Value{}) - - case scanBeginObject: - d.object(reflect.Value{}) - - case scanBeginName: - switch v := d.nameInterface().(type) { - case nil, string: - return v - } - - case scanBeginLiteral: - switch v := d.literalInterface().(type) { - case nil, string: - return v - } - } - return unquotedValue{} -} - -// indirect walks down v allocating pointers as needed, -// until it gets to a non-pointer. -// if it encounters an Unmarshaler, indirect stops and returns that. -// if decodingNull is true, indirect stops at the last pointer so it can be set to nil. -func (d *decodeState) indirect(v reflect.Value, decodingNull bool) (Unmarshaler, encoding.TextUnmarshaler, reflect.Value) { - // If v is a named type and is addressable, - // start with its address, so that if the type has pointer methods, - // we find them. - if v.Kind() != reflect.Ptr && v.Type().Name() != "" && v.CanAddr() { - v = v.Addr() - } - for { - // Load value from interface, but only if the result will be - // usefully addressable. - if v.Kind() == reflect.Interface && !v.IsNil() { - e := v.Elem() - if e.Kind() == reflect.Ptr && !e.IsNil() && (!decodingNull || e.Elem().Kind() == reflect.Ptr) { - v = e - continue - } - } - - if v.Kind() != reflect.Ptr { - break - } - - if v.Elem().Kind() != reflect.Ptr && decodingNull && v.CanSet() { - break - } - if v.IsNil() { - v.Set(reflect.New(v.Type().Elem())) - } - if v.Type().NumMethod() > 0 { - if u, ok := v.Interface().(Unmarshaler); ok { - return u, nil, v - } - if u, ok := v.Interface().(encoding.TextUnmarshaler); ok { - return nil, u, v - } - } - v = v.Elem() - } - return nil, nil, v -} - -// array consumes an array from d.data[d.off-1:], decoding into the value v. -// the first byte of the array ('[') has been read already. -func (d *decodeState) array(v reflect.Value) { - // Check for unmarshaler. - u, ut, pv := d.indirect(v, false) - if u != nil { - d.off-- - err := u.UnmarshalJSON(d.next()) - if err != nil { - d.error(err) - } - return - } - if ut != nil { - d.saveError(&UnmarshalTypeError{"array", v.Type(), int64(d.off)}) - d.off-- - d.next() - return - } - - v = pv - - // Check type of target. - switch v.Kind() { - case reflect.Interface: - if v.NumMethod() == 0 { - // Decoding into nil interface? Switch to non-reflect code. - v.Set(reflect.ValueOf(d.arrayInterface())) - return - } - // Otherwise it's invalid. - fallthrough - default: - d.saveError(&UnmarshalTypeError{"array", v.Type(), int64(d.off)}) - d.off-- - d.next() - return - case reflect.Array: - case reflect.Slice: - break - } - - i := 0 - for { - // Look ahead for ] - can only happen on first iteration. - op := d.scanWhile(scanSkipSpace) - if op == scanEndArray { - break - } - - // Back up so d.value can have the byte we just read. - d.off-- - d.scan.undo(op) - - // Get element of array, growing if necessary. - if v.Kind() == reflect.Slice { - // Grow slice if necessary - if i >= v.Cap() { - newcap := v.Cap() + v.Cap()/2 - if newcap < 4 { - newcap = 4 - } - newv := reflect.MakeSlice(v.Type(), v.Len(), newcap) - reflect.Copy(newv, v) - v.Set(newv) - } - if i >= v.Len() { - v.SetLen(i + 1) - } - } - - if i < v.Len() { - // Decode into element. - d.value(v.Index(i)) - } else { - // Ran out of fixed array: skip. - d.value(reflect.Value{}) - } - i++ - - // Next token must be , or ]. - op = d.scanWhile(scanSkipSpace) - if op == scanEndArray { - break - } - if op != scanArrayValue { - d.error(errPhase) - } - } - - if i < v.Len() { - if v.Kind() == reflect.Array { - // Array. Zero the rest. - z := reflect.Zero(v.Type().Elem()) - for ; i < v.Len(); i++ { - v.Index(i).Set(z) - } - } else { - v.SetLen(i) - } - } - if i == 0 && v.Kind() == reflect.Slice { - v.Set(reflect.MakeSlice(v.Type(), 0, 0)) - } -} - -var nullLiteral = []byte("null") -var textUnmarshalerType = reflect.TypeOf(new(encoding.TextUnmarshaler)).Elem() - -// object consumes an object from d.data[d.off-1:], decoding into the value v. -// the first byte ('{') of the object has been read already. -func (d *decodeState) object(v reflect.Value) { - // Check for unmarshaler. - u, ut, pv := d.indirect(v, false) - if d.storeKeyed(pv) { - return - } - if u != nil { - d.off-- - err := u.UnmarshalJSON(d.next()) - if err != nil { - d.error(err) - } - return - } - if ut != nil { - d.saveError(&UnmarshalTypeError{"object", v.Type(), int64(d.off)}) - d.off-- - d.next() // skip over { } in input - return - } - v = pv - - // Decoding into nil interface? Switch to non-reflect code. - if v.Kind() == reflect.Interface && v.NumMethod() == 0 { - v.Set(reflect.ValueOf(d.objectInterface())) - return - } - - // Check type of target: - // struct or - // map[string]T or map[encoding.TextUnmarshaler]T - switch v.Kind() { - case reflect.Map: - // Map key must either have string kind or be an encoding.TextUnmarshaler. - t := v.Type() - if t.Key().Kind() != reflect.String && - !reflect.PtrTo(t.Key()).Implements(textUnmarshalerType) { - d.saveError(&UnmarshalTypeError{"object", v.Type(), int64(d.off)}) - d.off-- - d.next() // skip over { } in input - return - } - if v.IsNil() { - v.Set(reflect.MakeMap(t)) - } - case reflect.Struct: - - default: - d.saveError(&UnmarshalTypeError{"object", v.Type(), int64(d.off)}) - d.off-- - d.next() // skip over { } in input - return - } - - var mapElem reflect.Value - - empty := true - for { - // Read opening " of string key or closing }. - op := d.scanWhile(scanSkipSpace) - if op == scanEndObject { - if !empty && !d.ext.trailingCommas { - d.syntaxError("beginning of object key string") - } - break - } - empty = false - if op == scanBeginName { - if !d.ext.unquotedKeys { - d.syntaxError("beginning of object key string") - } - } else if op != scanBeginLiteral { - d.error(errPhase) - } - unquotedKey := op == scanBeginName - - // Read key. - start := d.off - 1 - op = d.scanWhile(scanContinue) - item := d.data[start : d.off-1] - var key []byte - if unquotedKey { - key = item - // TODO Fix code below to quote item when necessary. - } else { - var ok bool - key, ok = unquoteBytes(item) - if !ok { - d.error(errPhase) - } - } - - // Figure out field corresponding to key. - var subv reflect.Value - destring := false // whether the value is wrapped in a string to be decoded first - - if v.Kind() == reflect.Map { - elemType := v.Type().Elem() - if !mapElem.IsValid() { - mapElem = reflect.New(elemType).Elem() - } else { - mapElem.Set(reflect.Zero(elemType)) - } - subv = mapElem - } else { - var f *field - fields := cachedTypeFields(v.Type()) - for i := range fields { - ff := &fields[i] - if bytes.Equal(ff.nameBytes, key) { - f = ff - break - } - if f == nil && ff.equalFold(ff.nameBytes, key) { - f = ff - } - } - if f != nil { - subv = v - destring = f.quoted - for _, i := range f.index { - if subv.Kind() == reflect.Ptr { - if subv.IsNil() { - subv.Set(reflect.New(subv.Type().Elem())) - } - subv = subv.Elem() - } - subv = subv.Field(i) - } - } - } - - // Read : before value. - if op == scanSkipSpace { - op = d.scanWhile(scanSkipSpace) - } - if op != scanObjectKey { - d.error(errPhase) - } - - // Read value. - if destring { - switch qv := d.valueQuoted().(type) { - case nil: - d.literalStore(nullLiteral, subv, false) - case string: - d.literalStore([]byte(qv), subv, true) - default: - d.saveError(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal unquoted value into %v", subv.Type())) - } - } else { - d.value(subv) - } - - // Write value back to map; - // if using struct, subv points into struct already. - if v.Kind() == reflect.Map { - kt := v.Type().Key() - var kv reflect.Value - switch { - case kt.Kind() == reflect.String: - kv = reflect.ValueOf(key).Convert(v.Type().Key()) - case reflect.PtrTo(kt).Implements(textUnmarshalerType): - kv = reflect.New(v.Type().Key()) - d.literalStore(item, kv, true) - kv = kv.Elem() - default: - panic("json: Unexpected key type") // should never occur - } - v.SetMapIndex(kv, subv) - } - - // Next token must be , or }. - op = d.scanWhile(scanSkipSpace) - if op == scanEndObject { - break - } - if op != scanObjectValue { - d.error(errPhase) - } - } -} - -// isNull returns whether there's a null literal at the provided offset. -func (d *decodeState) isNull(off int) bool { - if off+4 >= len(d.data) || d.data[off] != 'n' || d.data[off+1] != 'u' || d.data[off+2] != 'l' || d.data[off+3] != 'l' { - return false - } - d.nextscan.reset() - for i, c := range d.data[off:] { - if i > 4 { - return false - } - switch d.nextscan.step(&d.nextscan, c) { - case scanContinue, scanBeginName: - continue - } - break - } - return true -} - -// name consumes a const or function from d.data[d.off-1:], decoding into the value v. -// the first byte of the function name has been read already. -func (d *decodeState) name(v reflect.Value) { - if d.isNull(d.off - 1) { - d.literal(v) - return - } - - // Check for unmarshaler. - u, ut, pv := d.indirect(v, false) - if d.storeKeyed(pv) { - return - } - if u != nil { - d.off-- - err := u.UnmarshalJSON(d.next()) - if err != nil { - d.error(err) - } - return - } - if ut != nil { - d.saveError(&UnmarshalTypeError{"object", v.Type(), int64(d.off)}) - d.off-- - d.next() // skip over function in input - return - } - v = pv - - // Decoding into nil interface? Switch to non-reflect code. - if v.Kind() == reflect.Interface && v.NumMethod() == 0 { - out := d.nameInterface() - if out == nil { - v.Set(reflect.Zero(v.Type())) - } else { - v.Set(reflect.ValueOf(out)) - } - return - } - - nameStart := d.off - 1 - - op := d.scanWhile(scanContinue) - - name := d.data[nameStart : d.off-1] - if op != scanParam { - // Back up so the byte just read is consumed next. - d.off-- - d.scan.undo(op) - if l, ok := d.convertLiteral(name); ok { - d.storeValue(v, l) - return - } - d.error(&SyntaxError{fmt.Sprintf("json: unknown constant %q", name), int64(d.off)}) - } - - funcName := string(name) - funcData := d.ext.funcs[funcName] - if funcData.key == "" { - d.error(fmt.Errorf("json: unknown function %q", funcName)) - } - - // Check type of target: - // struct or - // map[string]T or map[encoding.TextUnmarshaler]T - switch v.Kind() { - case reflect.Map: - // Map key must either have string kind or be an encoding.TextUnmarshaler. - t := v.Type() - if t.Key().Kind() != reflect.String && - !reflect.PtrTo(t.Key()).Implements(textUnmarshalerType) { - d.saveError(&UnmarshalTypeError{"object", v.Type(), int64(d.off)}) - d.off-- - d.next() // skip over { } in input - return - } - if v.IsNil() { - v.Set(reflect.MakeMap(t)) - } - case reflect.Struct: - - default: - d.saveError(&UnmarshalTypeError{"object", v.Type(), int64(d.off)}) - d.off-- - d.next() // skip over { } in input - return - } - - // TODO Fix case of func field as map. - //topv := v - - // Figure out field corresponding to function. - key := []byte(funcData.key) - if v.Kind() == reflect.Map { - elemType := v.Type().Elem() - v = reflect.New(elemType).Elem() - } else { - var f *field - fields := cachedTypeFields(v.Type()) - for i := range fields { - ff := &fields[i] - if bytes.Equal(ff.nameBytes, key) { - f = ff - break - } - if f == nil && ff.equalFold(ff.nameBytes, key) { - f = ff - } - } - if f != nil { - for _, i := range f.index { - if v.Kind() == reflect.Ptr { - if v.IsNil() { - v.Set(reflect.New(v.Type().Elem())) - } - v = v.Elem() - } - v = v.Field(i) - } - if v.Kind() == reflect.Ptr { - if v.IsNil() { - v.Set(reflect.New(v.Type().Elem())) - } - v = v.Elem() - } - } - } - - // Check for unmarshaler on func field itself. - u, _, _ = d.indirect(v, false) - if u != nil { - d.off = nameStart - err := u.UnmarshalJSON(d.next()) - if err != nil { - d.error(err) - } - return - } - - var mapElem reflect.Value - - // Parse function arguments. - for i := 0; ; i++ { - // closing ) - can only happen on first iteration. - op := d.scanWhile(scanSkipSpace) - if op == scanEndParams { - break - } - - // Back up so d.value can have the byte we just read. - d.off-- - d.scan.undo(op) - - if i >= len(funcData.args) { - d.error(fmt.Errorf("json: too many arguments for function %s", funcName)) - } - key := []byte(funcData.args[i]) - - // Figure out field corresponding to key. - var subv reflect.Value - destring := false // whether the value is wrapped in a string to be decoded first - - if v.Kind() == reflect.Map { - elemType := v.Type().Elem() - if !mapElem.IsValid() { - mapElem = reflect.New(elemType).Elem() - } else { - mapElem.Set(reflect.Zero(elemType)) - } - subv = mapElem - } else { - var f *field - fields := cachedTypeFields(v.Type()) - for i := range fields { - ff := &fields[i] - if bytes.Equal(ff.nameBytes, key) { - f = ff - break - } - if f == nil && ff.equalFold(ff.nameBytes, key) { - f = ff - } - } - if f != nil { - subv = v - destring = f.quoted - for _, i := range f.index { - if subv.Kind() == reflect.Ptr { - if subv.IsNil() { - subv.Set(reflect.New(subv.Type().Elem())) - } - subv = subv.Elem() - } - subv = subv.Field(i) - } - } - } - - // Read value. - if destring { - switch qv := d.valueQuoted().(type) { - case nil: - d.literalStore(nullLiteral, subv, false) - case string: - d.literalStore([]byte(qv), subv, true) - default: - d.saveError(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal unquoted value into %v", subv.Type())) - } - } else { - d.value(subv) - } - - // Write value back to map; - // if using struct, subv points into struct already. - if v.Kind() == reflect.Map { - kt := v.Type().Key() - var kv reflect.Value - switch { - case kt.Kind() == reflect.String: - kv = reflect.ValueOf(key).Convert(v.Type().Key()) - case reflect.PtrTo(kt).Implements(textUnmarshalerType): - kv = reflect.New(v.Type().Key()) - d.literalStore(key, kv, true) - kv = kv.Elem() - default: - panic("json: Unexpected key type") // should never occur - } - v.SetMapIndex(kv, subv) - } - - // Next token must be , or ). - op = d.scanWhile(scanSkipSpace) - if op == scanEndParams { - break - } - if op != scanParam { - d.error(errPhase) - } - } -} - -// keyed attempts to decode an object or function using a keyed doc extension, -// and returns the value and true on success, or nil and false otherwise. -func (d *decodeState) keyed() (interface{}, bool) { - if len(d.ext.keyed) == 0 { - return nil, false - } - - unquote := false - - // Look-ahead first key to check for a keyed document extension. - d.nextscan.reset() - var start, end int - for i, c := range d.data[d.off-1:] { - switch op := d.nextscan.step(&d.nextscan, c); op { - case scanSkipSpace, scanContinue, scanBeginObject: - continue - case scanBeginLiteral, scanBeginName: - unquote = op == scanBeginLiteral - start = i - continue - } - end = i - break - } - - name := bytes.Trim(d.data[d.off-1+start:d.off-1+end], " \n\t") - - var key []byte - var ok bool - if unquote { - key, ok = unquoteBytes(name) - if !ok { - d.error(errPhase) - } - } else { - funcData, ok := d.ext.funcs[string(name)] - if !ok { - return nil, false - } - key = []byte(funcData.key) - } - - decode, ok := d.ext.keyed[string(key)] - if !ok { - return nil, false - } - - d.off-- - out, err := decode(d.next()) - if err != nil { - d.error(err) - } - return out, true -} - -func (d *decodeState) storeKeyed(v reflect.Value) bool { - keyed, ok := d.keyed() - if !ok { - return false - } - d.storeValue(v, keyed) - return true -} - -var ( - trueBytes = []byte("true") - falseBytes = []byte("false") - nullBytes = []byte("null") -) - -func (d *decodeState) storeValue(v reflect.Value, from interface{}) { - switch from { - case nil: - d.literalStore(nullBytes, v, false) - return - case true: - d.literalStore(trueBytes, v, false) - return - case false: - d.literalStore(falseBytes, v, false) - return - } - fromv := reflect.ValueOf(from) - for fromv.Kind() == reflect.Ptr && !fromv.IsNil() { - fromv = fromv.Elem() - } - fromt := fromv.Type() - for v.Kind() == reflect.Ptr && !v.IsNil() { - v = v.Elem() - } - vt := v.Type() - if fromt.AssignableTo(vt) { - v.Set(fromv) - } else if fromt.ConvertibleTo(vt) { - v.Set(fromv.Convert(vt)) - } else { - d.saveError(&UnmarshalTypeError{"object", v.Type(), int64(d.off)}) - } -} - -func (d *decodeState) convertLiteral(name []byte) (interface{}, bool) { - if len(name) == 0 { - return nil, false - } - switch name[0] { - case 't': - if bytes.Equal(name, trueBytes) { - return true, true - } - case 'f': - if bytes.Equal(name, falseBytes) { - return false, true - } - case 'n': - if bytes.Equal(name, nullBytes) { - return nil, true - } - } - if l, ok := d.ext.consts[string(name)]; ok { - return l, true - } - return nil, false -} - -// literal consumes a literal from d.data[d.off-1:], decoding into the value v. -// The first byte of the literal has been read already -// (that's how the caller knows it's a literal). -func (d *decodeState) literal(v reflect.Value) { - // All bytes inside literal return scanContinue op code. - start := d.off - 1 - op := d.scanWhile(scanContinue) - - // Scan read one byte too far; back up. - d.off-- - d.scan.undo(op) - - d.literalStore(d.data[start:d.off], v, false) -} - -// convertNumber converts the number literal s to a float64 or a Number -// depending on the setting of d.useNumber. -func (d *decodeState) convertNumber(s string) (interface{}, error) { - if d.useNumber { - return Number(s), nil - } - f, err := strconv.ParseFloat(s, 64) - if err != nil { - return nil, &UnmarshalTypeError{"number " + s, reflect.TypeOf(0.0), int64(d.off)} - } - return f, nil -} - -var numberType = reflect.TypeOf(Number("")) - -// literalStore decodes a literal stored in item into v. -// -// fromQuoted indicates whether this literal came from unwrapping a -// string from the ",string" struct tag option. this is used only to -// produce more helpful error messages. -func (d *decodeState) literalStore(item []byte, v reflect.Value, fromQuoted bool) { - // Check for unmarshaler. - if len(item) == 0 { - //Empty string given - d.saveError(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) - return - } - wantptr := item[0] == 'n' // null - u, ut, pv := d.indirect(v, wantptr) - if u != nil { - err := u.UnmarshalJSON(item) - if err != nil { - d.error(err) - } - return - } - if ut != nil { - if item[0] != '"' { - if fromQuoted { - d.saveError(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) - } else { - d.saveError(&UnmarshalTypeError{"string", v.Type(), int64(d.off)}) - } - return - } - s, ok := unquoteBytes(item) - if !ok { - if fromQuoted { - d.error(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) - } else { - d.error(errPhase) - } - } - err := ut.UnmarshalText(s) - if err != nil { - d.error(err) - } - return - } - - v = pv - - switch c := item[0]; c { - case 'n': // null - switch v.Kind() { - case reflect.Interface, reflect.Ptr, reflect.Map, reflect.Slice: - v.Set(reflect.Zero(v.Type())) - // otherwise, ignore null for primitives/string - } - case 't', 'f': // true, false - value := c == 't' - switch v.Kind() { - default: - if fromQuoted { - d.saveError(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) - } else { - d.saveError(&UnmarshalTypeError{"bool", v.Type(), int64(d.off)}) - } - case reflect.Bool: - v.SetBool(value) - case reflect.Interface: - if v.NumMethod() == 0 { - v.Set(reflect.ValueOf(value)) - } else { - d.saveError(&UnmarshalTypeError{"bool", v.Type(), int64(d.off)}) - } - } - - case '"': // string - s, ok := unquoteBytes(item) - if !ok { - if fromQuoted { - d.error(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) - } else { - d.error(errPhase) - } - } - switch v.Kind() { - default: - d.saveError(&UnmarshalTypeError{"string", v.Type(), int64(d.off)}) - case reflect.Slice: - if v.Type().Elem().Kind() != reflect.Uint8 { - d.saveError(&UnmarshalTypeError{"string", v.Type(), int64(d.off)}) - break - } - b := make([]byte, base64.StdEncoding.DecodedLen(len(s))) - n, err := base64.StdEncoding.Decode(b, s) - if err != nil { - d.saveError(err) - break - } - v.SetBytes(b[:n]) - case reflect.String: - v.SetString(string(s)) - case reflect.Interface: - if v.NumMethod() == 0 { - v.Set(reflect.ValueOf(string(s))) - } else { - d.saveError(&UnmarshalTypeError{"string", v.Type(), int64(d.off)}) - } - } - - default: // number - if c != '-' && (c < '0' || c > '9') { - if fromQuoted { - d.error(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) - } else { - d.error(errPhase) - } - } - s := string(item) - switch v.Kind() { - default: - if v.Kind() == reflect.String && v.Type() == numberType { - v.SetString(s) - if !isValidNumber(s) { - d.error(fmt.Errorf("json: invalid number literal, trying to unmarshal %q into Number", item)) - } - break - } - if fromQuoted { - d.error(fmt.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v", item, v.Type())) - } else { - d.error(&UnmarshalTypeError{"number", v.Type(), int64(d.off)}) - } - case reflect.Interface: - n, err := d.convertNumber(s) - if err != nil { - d.saveError(err) - break - } - if v.NumMethod() != 0 { - d.saveError(&UnmarshalTypeError{"number", v.Type(), int64(d.off)}) - break - } - v.Set(reflect.ValueOf(n)) - - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - n, err := strconv.ParseInt(s, 10, 64) - if err != nil || v.OverflowInt(n) { - d.saveError(&UnmarshalTypeError{"number " + s, v.Type(), int64(d.off)}) - break - } - v.SetInt(n) - - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - n, err := strconv.ParseUint(s, 10, 64) - if err != nil || v.OverflowUint(n) { - d.saveError(&UnmarshalTypeError{"number " + s, v.Type(), int64(d.off)}) - break - } - v.SetUint(n) - - case reflect.Float32, reflect.Float64: - n, err := strconv.ParseFloat(s, v.Type().Bits()) - if err != nil || v.OverflowFloat(n) { - d.saveError(&UnmarshalTypeError{"number " + s, v.Type(), int64(d.off)}) - break - } - v.SetFloat(n) - } - } -} - -// The xxxInterface routines build up a value to be stored -// in an empty interface. They are not strictly necessary, -// but they avoid the weight of reflection in this common case. - -// valueInterface is like value but returns interface{} -func (d *decodeState) valueInterface() interface{} { - switch d.scanWhile(scanSkipSpace) { - default: - d.error(errPhase) - panic("unreachable") - case scanBeginArray: - return d.arrayInterface() - case scanBeginObject: - return d.objectInterface() - case scanBeginLiteral: - return d.literalInterface() - case scanBeginName: - return d.nameInterface() - } -} - -func (d *decodeState) syntaxError(expected string) { - msg := fmt.Sprintf("invalid character '%c' looking for %s", d.data[d.off-1], expected) - d.error(&SyntaxError{msg, int64(d.off)}) -} - -// arrayInterface is like array but returns []interface{}. -func (d *decodeState) arrayInterface() []interface{} { - var v = make([]interface{}, 0) - for { - // Look ahead for ] - can only happen on first iteration. - op := d.scanWhile(scanSkipSpace) - if op == scanEndArray { - if len(v) > 0 && !d.ext.trailingCommas { - d.syntaxError("beginning of value") - } - break - } - - // Back up so d.value can have the byte we just read. - d.off-- - d.scan.undo(op) - - v = append(v, d.valueInterface()) - - // Next token must be , or ]. - op = d.scanWhile(scanSkipSpace) - if op == scanEndArray { - break - } - if op != scanArrayValue { - d.error(errPhase) - } - } - return v -} - -// objectInterface is like object but returns map[string]interface{}. -func (d *decodeState) objectInterface() interface{} { - v, ok := d.keyed() - if ok { - return v - } - - m := make(map[string]interface{}) - for { - // Read opening " of string key or closing }. - op := d.scanWhile(scanSkipSpace) - if op == scanEndObject { - if len(m) > 0 && !d.ext.trailingCommas { - d.syntaxError("beginning of object key string") - } - break - } - if op == scanBeginName { - if !d.ext.unquotedKeys { - d.syntaxError("beginning of object key string") - } - } else if op != scanBeginLiteral { - d.error(errPhase) - } - unquotedKey := op == scanBeginName - - // Read string key. - start := d.off - 1 - op = d.scanWhile(scanContinue) - item := d.data[start : d.off-1] - var key string - if unquotedKey { - key = string(item) - } else { - var ok bool - key, ok = unquote(item) - if !ok { - d.error(errPhase) - } - } - - // Read : before value. - if op == scanSkipSpace { - op = d.scanWhile(scanSkipSpace) - } - if op != scanObjectKey { - d.error(errPhase) - } - - // Read value. - m[key] = d.valueInterface() - - // Next token must be , or }. - op = d.scanWhile(scanSkipSpace) - if op == scanEndObject { - break - } - if op != scanObjectValue { - d.error(errPhase) - } - } - return m -} - -// literalInterface is like literal but returns an interface value. -func (d *decodeState) literalInterface() interface{} { - // All bytes inside literal return scanContinue op code. - start := d.off - 1 - op := d.scanWhile(scanContinue) - - // Scan read one byte too far; back up. - d.off-- - d.scan.undo(op) - item := d.data[start:d.off] - - switch c := item[0]; c { - case 'n': // null - return nil - - case 't', 'f': // true, false - return c == 't' - - case '"': // string - s, ok := unquote(item) - if !ok { - d.error(errPhase) - } - return s - - default: // number - if c != '-' && (c < '0' || c > '9') { - d.error(errPhase) - } - n, err := d.convertNumber(string(item)) - if err != nil { - d.saveError(err) - } - return n - } -} - -// nameInterface is like function but returns map[string]interface{}. -func (d *decodeState) nameInterface() interface{} { - v, ok := d.keyed() - if ok { - return v - } - - nameStart := d.off - 1 - - op := d.scanWhile(scanContinue) - - name := d.data[nameStart : d.off-1] - if op != scanParam { - // Back up so the byte just read is consumed next. - d.off-- - d.scan.undo(op) - if l, ok := d.convertLiteral(name); ok { - return l - } - d.error(&SyntaxError{fmt.Sprintf("json: unknown constant %q", name), int64(d.off)}) - } - - funcName := string(name) - funcData := d.ext.funcs[funcName] - if funcData.key == "" { - d.error(fmt.Errorf("json: unknown function %q", funcName)) - } - - m := make(map[string]interface{}) - for i := 0; ; i++ { - // Look ahead for ) - can only happen on first iteration. - op := d.scanWhile(scanSkipSpace) - if op == scanEndParams { - break - } - - // Back up so d.value can have the byte we just read. - d.off-- - d.scan.undo(op) - - if i >= len(funcData.args) { - d.error(fmt.Errorf("json: too many arguments for function %s", funcName)) - } - m[funcData.args[i]] = d.valueInterface() - - // Next token must be , or ). - op = d.scanWhile(scanSkipSpace) - if op == scanEndParams { - break - } - if op != scanParam { - d.error(errPhase) - } - } - return map[string]interface{}{funcData.key: m} -} - -// getu4 decodes \uXXXX from the beginning of s, returning the hex value, -// or it returns -1. -func getu4(s []byte) rune { - if len(s) < 6 || s[0] != '\\' || s[1] != 'u' { - return -1 - } - r, err := strconv.ParseUint(string(s[2:6]), 16, 64) - if err != nil { - return -1 - } - return rune(r) -} - -// unquote converts a quoted JSON string literal s into an actual string t. -// The rules are different than for Go, so cannot use strconv.Unquote. -func unquote(s []byte) (t string, ok bool) { - s, ok = unquoteBytes(s) - t = string(s) - return -} - -func unquoteBytes(s []byte) (t []byte, ok bool) { - if len(s) < 2 || s[0] != '"' || s[len(s)-1] != '"' { - return - } - s = s[1 : len(s)-1] - - // Check for unusual characters. If there are none, - // then no unquoting is needed, so return a slice of the - // original bytes. - r := 0 - for r < len(s) { - c := s[r] - if c == '\\' || c == '"' || c < ' ' { - break - } - if c < utf8.RuneSelf { - r++ - continue - } - rr, size := utf8.DecodeRune(s[r:]) - if rr == utf8.RuneError && size == 1 { - break - } - r += size - } - if r == len(s) { - return s, true - } - - b := make([]byte, len(s)+2*utf8.UTFMax) - w := copy(b, s[0:r]) - for r < len(s) { - // Out of room? Can only happen if s is full of - // malformed UTF-8 and we're replacing each - // byte with RuneError. - if w >= len(b)-2*utf8.UTFMax { - nb := make([]byte, (len(b)+utf8.UTFMax)*2) - copy(nb, b[0:w]) - b = nb - } - switch c := s[r]; { - case c == '\\': - r++ - if r >= len(s) { - return - } - switch s[r] { - default: - return - case '"', '\\', '/', '\'': - b[w] = s[r] - r++ - w++ - case 'b': - b[w] = '\b' - r++ - w++ - case 'f': - b[w] = '\f' - r++ - w++ - case 'n': - b[w] = '\n' - r++ - w++ - case 'r': - b[w] = '\r' - r++ - w++ - case 't': - b[w] = '\t' - r++ - w++ - case 'u': - r-- - rr := getu4(s[r:]) - if rr < 0 { - return - } - r += 6 - if utf16.IsSurrogate(rr) { - rr1 := getu4(s[r:]) - if dec := utf16.DecodeRune(rr, rr1); dec != unicode.ReplacementChar { - // A valid pair; consume. - r += 6 - w += utf8.EncodeRune(b[w:], dec) - break - } - // Invalid surrogate; fall back to replacement rune. - rr = unicode.ReplacementChar - } - w += utf8.EncodeRune(b[w:], rr) - } - - // Quote, control characters are invalid. - case c == '"', c < ' ': - return - - // ASCII - case c < utf8.RuneSelf: - b[w] = c - r++ - w++ - - // Coerce to well-formed UTF-8. - default: - rr, size := utf8.DecodeRune(s[r:]) - r += size - w += utf8.EncodeRune(b[w:], rr) - } - } - return b[0:w], true -} diff --git a/vendor/github.com/globalsign/mgo/internal/json/encode.go b/vendor/github.com/globalsign/mgo/internal/json/encode.go deleted file mode 100644 index e4b8f86487c..00000000000 --- a/vendor/github.com/globalsign/mgo/internal/json/encode.go +++ /dev/null @@ -1,1260 +0,0 @@ -// Copyright 2010 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package json implements encoding and decoding of JSON as defined in -// RFC 4627. The mapping between JSON and Go values is described -// in the documentation for the Marshal and Unmarshal functions. -// -// See "JSON and Go" for an introduction to this package: -// https://golang.org/doc/articles/json_and_go.html -package json - -import ( - "bytes" - "encoding" - "encoding/base64" - "fmt" - "math" - "reflect" - "runtime" - "sort" - "strconv" - "strings" - "sync" - "unicode" - "unicode/utf8" -) - -// Marshal returns the JSON encoding of v. -// -// Marshal traverses the value v recursively. -// If an encountered value implements the Marshaler interface -// and is not a nil pointer, Marshal calls its MarshalJSON method -// to produce JSON. If no MarshalJSON method is present but the -// value implements encoding.TextMarshaler instead, Marshal calls -// its MarshalText method. -// The nil pointer exception is not strictly necessary -// but mimics a similar, necessary exception in the behavior of -// UnmarshalJSON. -// -// Otherwise, Marshal uses the following type-dependent default encodings: -// -// Boolean values encode as JSON booleans. -// -// Floating point, integer, and Number values encode as JSON numbers. -// -// String values encode as JSON strings coerced to valid UTF-8, -// replacing invalid bytes with the Unicode replacement rune. -// The angle brackets "<" and ">" are escaped to "\u003c" and "\u003e" -// to keep some browsers from misinterpreting JSON output as HTML. -// Ampersand "&" is also escaped to "\u0026" for the same reason. -// This escaping can be disabled using an Encoder with DisableHTMLEscaping. -// -// Array and slice values encode as JSON arrays, except that -// []byte encodes as a base64-encoded string, and a nil slice -// encodes as the null JSON value. -// -// Struct values encode as JSON objects. Each exported struct field -// becomes a member of the object unless -// - the field's tag is "-", or -// - the field is empty and its tag specifies the "omitempty" option. -// The empty values are false, 0, any -// nil pointer or interface value, and any array, slice, map, or string of -// length zero. The object's default key string is the struct field name -// but can be specified in the struct field's tag value. The "json" key in -// the struct field's tag value is the key name, followed by an optional comma -// and options. Examples: -// -// // Field is ignored by this package. -// Field int `json:"-"` -// -// // Field appears in JSON as key "myName". -// Field int `json:"myName"` -// -// // Field appears in JSON as key "myName" and -// // the field is omitted from the object if its value is empty, -// // as defined above. -// Field int `json:"myName,omitempty"` -// -// // Field appears in JSON as key "Field" (the default), but -// // the field is skipped if empty. -// // Note the leading comma. -// Field int `json:",omitempty"` -// -// The "string" option signals that a field is stored as JSON inside a -// JSON-encoded string. It applies only to fields of string, floating point, -// integer, or boolean types. This extra level of encoding is sometimes used -// when communicating with JavaScript programs: -// -// Int64String int64 `json:",string"` -// -// The key name will be used if it's a non-empty string consisting of -// only Unicode letters, digits, dollar signs, percent signs, hyphens, -// underscores and slashes. -// -// Anonymous struct fields are usually marshaled as if their inner exported fields -// were fields in the outer struct, subject to the usual Go visibility rules amended -// as described in the next paragraph. -// An anonymous struct field with a name given in its JSON tag is treated as -// having that name, rather than being anonymous. -// An anonymous struct field of interface type is treated the same as having -// that type as its name, rather than being anonymous. -// -// The Go visibility rules for struct fields are amended for JSON when -// deciding which field to marshal or unmarshal. If there are -// multiple fields at the same level, and that level is the least -// nested (and would therefore be the nesting level selected by the -// usual Go rules), the following extra rules apply: -// -// 1) Of those fields, if any are JSON-tagged, only tagged fields are considered, -// even if there are multiple untagged fields that would otherwise conflict. -// 2) If there is exactly one field (tagged or not according to the first rule), that is selected. -// 3) Otherwise there are multiple fields, and all are ignored; no error occurs. -// -// Handling of anonymous struct fields is new in Go 1.1. -// Prior to Go 1.1, anonymous struct fields were ignored. To force ignoring of -// an anonymous struct field in both current and earlier versions, give the field -// a JSON tag of "-". -// -// Map values encode as JSON objects. The map's key type must either be a string -// or implement encoding.TextMarshaler. The map keys are used as JSON object -// keys, subject to the UTF-8 coercion described for string values above. -// -// Pointer values encode as the value pointed to. -// A nil pointer encodes as the null JSON value. -// -// Interface values encode as the value contained in the interface. -// A nil interface value encodes as the null JSON value. -// -// Channel, complex, and function values cannot be encoded in JSON. -// Attempting to encode such a value causes Marshal to return -// an UnsupportedTypeError. -// -// JSON cannot represent cyclic data structures and Marshal does not -// handle them. Passing cyclic structures to Marshal will result in -// an infinite recursion. -// -func Marshal(v interface{}) ([]byte, error) { - e := &encodeState{} - err := e.marshal(v, encOpts{escapeHTML: true}) - if err != nil { - return nil, err - } - return e.Bytes(), nil -} - -// MarshalIndent is like Marshal but applies Indent to format the output. -func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error) { - b, err := Marshal(v) - if err != nil { - return nil, err - } - var buf bytes.Buffer - err = Indent(&buf, b, prefix, indent) - if err != nil { - return nil, err - } - return buf.Bytes(), nil -} - -// HTMLEscape appends to dst the JSON-encoded src with <, >, &, U+2028 and U+2029 -// characters inside string literals changed to \u003c, \u003e, \u0026, \u2028, \u2029 -// so that the JSON will be safe to embed inside HTML + + +` +) diff --git a/vendor/github.com/go-openapi/runtime/middleware/request.go b/vendor/github.com/go-openapi/runtime/middleware/request.go new file mode 100644 index 00000000000..ee725f587a3 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/request.go @@ -0,0 +1,104 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 middleware + +import ( + "net/http" + "reflect" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" +) + +// RequestBinder binds and validates the data from a http request +type untypedRequestBinder struct { + Spec *spec.Swagger + Parameters map[string]spec.Parameter + Formats strfmt.Registry + paramBinders map[string]*untypedParamBinder +} + +// NewRequestBinder creates a new binder for reading a request. +func newUntypedRequestBinder(parameters map[string]spec.Parameter, spec *spec.Swagger, formats strfmt.Registry) *untypedRequestBinder { + binders := make(map[string]*untypedParamBinder) + for fieldName, param := range parameters { + binders[fieldName] = newUntypedParamBinder(param, spec, formats) + } + return &untypedRequestBinder{ + Parameters: parameters, + paramBinders: binders, + Spec: spec, + Formats: formats, + } +} + +// Bind perform the databinding and validation +func (o *untypedRequestBinder) Bind(request *http.Request, routeParams RouteParams, consumer runtime.Consumer, data interface{}) error { + val := reflect.Indirect(reflect.ValueOf(data)) + isMap := val.Kind() == reflect.Map + var result []error + debugLog("binding %d parameters for %s %s", len(o.Parameters), request.Method, request.URL.EscapedPath()) + for fieldName, param := range o.Parameters { + binder := o.paramBinders[fieldName] + debugLog("binding parameter %s for %s %s", fieldName, request.Method, request.URL.EscapedPath()) + var target reflect.Value + if !isMap { + binder.Name = fieldName + target = val.FieldByName(fieldName) + } + + if isMap { + tpe := binder.Type() + if tpe == nil { + if param.Schema.Type.Contains("array") { + tpe = reflect.TypeOf([]interface{}{}) + } else { + tpe = reflect.TypeOf(map[string]interface{}{}) + } + } + target = reflect.Indirect(reflect.New(tpe)) + + } + + if !target.IsValid() { + result = append(result, errors.New(500, "parameter name %q is an unknown field", binder.Name)) + continue + } + + if err := binder.Bind(request, routeParams, consumer, target); err != nil { + result = append(result, err) + continue + } + + if binder.validator != nil { + rr := binder.validator.Validate(target.Interface()) + if rr != nil && rr.HasErrors() { + result = append(result, rr.AsError()) + } + } + + if isMap { + val.SetMapIndex(reflect.ValueOf(param.Name), target) + } + } + + if len(result) > 0 { + return errors.CompositeValidationError(result...) + } + + return nil +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/router.go b/vendor/github.com/go-openapi/runtime/middleware/router.go new file mode 100644 index 00000000000..539d8471a83 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/router.go @@ -0,0 +1,477 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 middleware + +import ( + "fmt" + "net/http" + fpath "path" + "regexp" + "strings" + + "github.com/go-openapi/runtime/security" + + "github.com/go-openapi/analysis" + "github.com/go-openapi/errors" + "github.com/go-openapi/loads" + "github.com/go-openapi/runtime" + "github.com/go-openapi/runtime/middleware/denco" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" +) + +// RouteParam is a object to capture route params in a framework agnostic way. +// implementations of the muxer should use these route params to communicate with the +// swagger framework +type RouteParam struct { + Name string + Value string +} + +// RouteParams the collection of route params +type RouteParams []RouteParam + +// Get gets the value for the route param for the specified key +func (r RouteParams) Get(name string) string { + vv, _, _ := r.GetOK(name) + if len(vv) > 0 { + return vv[len(vv)-1] + } + return "" +} + +// GetOK gets the value but also returns booleans to indicate if a key or value +// is present. This aids in validation and satisfies an interface in use there +// +// The returned values are: data, has key, has value +func (r RouteParams) GetOK(name string) ([]string, bool, bool) { + for _, p := range r { + if p.Name == name { + return []string{p.Value}, true, p.Value != "" + } + } + return nil, false, false +} + +// NewRouter creates a new context aware router middleware +func NewRouter(ctx *Context, next http.Handler) http.Handler { + if ctx.router == nil { + ctx.router = DefaultRouter(ctx.spec, ctx.api) + } + + return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { + if _, rCtx, ok := ctx.RouteInfo(r); ok { + next.ServeHTTP(rw, rCtx) + return + } + + // Not found, check if it exists in the other methods first + if others := ctx.AllowedMethods(r); len(others) > 0 { + ctx.Respond(rw, r, ctx.analyzer.RequiredProduces(), nil, errors.MethodNotAllowed(r.Method, others)) + return + } + + ctx.Respond(rw, r, ctx.analyzer.RequiredProduces(), nil, errors.NotFound("path %s was not found", r.URL.EscapedPath())) + }) +} + +// RoutableAPI represents an interface for things that can serve +// as a provider of implementations for the swagger router +type RoutableAPI interface { + HandlerFor(string, string) (http.Handler, bool) + ServeErrorFor(string) func(http.ResponseWriter, *http.Request, error) + ConsumersFor([]string) map[string]runtime.Consumer + ProducersFor([]string) map[string]runtime.Producer + AuthenticatorsFor(map[string]spec.SecurityScheme) map[string]runtime.Authenticator + Authorizer() runtime.Authorizer + Formats() strfmt.Registry + DefaultProduces() string + DefaultConsumes() string +} + +// Router represents a swagger aware router +type Router interface { + Lookup(method, path string) (*MatchedRoute, bool) + OtherMethods(method, path string) []string +} + +type defaultRouteBuilder struct { + spec *loads.Document + analyzer *analysis.Spec + api RoutableAPI + records map[string][]denco.Record +} + +type defaultRouter struct { + spec *loads.Document + routers map[string]*denco.Router +} + +func newDefaultRouteBuilder(spec *loads.Document, api RoutableAPI) *defaultRouteBuilder { + return &defaultRouteBuilder{ + spec: spec, + analyzer: analysis.New(spec.Spec()), + api: api, + records: make(map[string][]denco.Record), + } +} + +// DefaultRouter creates a default implemenation of the router +func DefaultRouter(spec *loads.Document, api RoutableAPI) Router { + builder := newDefaultRouteBuilder(spec, api) + if spec != nil { + for method, paths := range builder.analyzer.Operations() { + for path, operation := range paths { + fp := fpath.Join(spec.BasePath(), path) + debugLog("adding route %s %s %q", method, fp, operation.ID) + builder.AddRoute(method, fp, operation) + } + } + } + return builder.Build() +} + +// RouteAuthenticator is an authenticator that can compose several authenticators together. +// It also knows when it contains an authenticator that allows for anonymous pass through. +// Contains a group of 1 or more authenticators that have a logical AND relationship +type RouteAuthenticator struct { + Authenticator map[string]runtime.Authenticator + Schemes []string + Scopes map[string][]string + allScopes []string + commonScopes []string + allowAnonymous bool +} + +func (ra *RouteAuthenticator) AllowsAnonymous() bool { + return ra.allowAnonymous +} + +// AllScopes returns a list of unique scopes that is the combination +// of all the scopes in the requirements +func (ra *RouteAuthenticator) AllScopes() []string { + return ra.allScopes +} + +// CommonScopes returns a list of unique scopes that are common in all the +// scopes in the requirements +func (ra *RouteAuthenticator) CommonScopes() []string { + return ra.commonScopes +} + +// Authenticate Authenticator interface implementation +func (ra *RouteAuthenticator) Authenticate(req *http.Request, route *MatchedRoute) (bool, interface{}, error) { + if ra.allowAnonymous { + route.Authenticator = ra + return true, nil, nil + } + // iterate in proper order + var lastResult interface{} + for _, scheme := range ra.Schemes { + if authenticator, ok := ra.Authenticator[scheme]; ok { + applies, princ, err := authenticator.Authenticate(&security.ScopedAuthRequest{ + Request: req, + RequiredScopes: ra.Scopes[scheme], + }) + if !applies { + return false, nil, nil + } + if err != nil { + route.Authenticator = ra + return true, nil, err + } + lastResult = princ + } + } + route.Authenticator = ra + return true, lastResult, nil +} + +func stringSliceUnion(slices ...[]string) []string { + unique := make(map[string]struct{}) + var result []string + for _, slice := range slices { + for _, entry := range slice { + if _, ok := unique[entry]; ok { + continue + } + unique[entry] = struct{}{} + result = append(result, entry) + } + } + return result +} + +func stringSliceIntersection(slices ...[]string) []string { + unique := make(map[string]int) + var intersection []string + + total := len(slices) + var emptyCnt int + for _, slice := range slices { + if len(slice) == 0 { + emptyCnt++ + continue + } + + for _, entry := range slice { + unique[entry]++ + if unique[entry] == total-emptyCnt { // this entry appeared in all the non-empty slices + intersection = append(intersection, entry) + } + } + } + + return intersection +} + +// RouteAuthenticators represents a group of authenticators that represent a logical OR +type RouteAuthenticators []RouteAuthenticator + +// AllowsAnonymous returns true when there is an authenticator that means optional auth +func (ras RouteAuthenticators) AllowsAnonymous() bool { + for _, ra := range ras { + if ra.AllowsAnonymous() { + return true + } + } + return false +} + +// Authenticate method implemention so this collection can be used as authenticator +func (ras RouteAuthenticators) Authenticate(req *http.Request, route *MatchedRoute) (bool, interface{}, error) { + var lastError error + var allowsAnon bool + var anonAuth RouteAuthenticator + + for _, ra := range ras { + if ra.AllowsAnonymous() { + anonAuth = ra + allowsAnon = true + continue + } + applies, usr, err := ra.Authenticate(req, route) + if !applies || err != nil || usr == nil { + if err != nil { + lastError = err + } + continue + } + return applies, usr, nil + } + + if allowsAnon && lastError == nil { + route.Authenticator = &anonAuth + return true, nil, lastError + } + return lastError != nil, nil, lastError +} + +type routeEntry struct { + PathPattern string + BasePath string + Operation *spec.Operation + Consumes []string + Consumers map[string]runtime.Consumer + Produces []string + Producers map[string]runtime.Producer + Parameters map[string]spec.Parameter + Handler http.Handler + Formats strfmt.Registry + Binder *untypedRequestBinder + Authenticators RouteAuthenticators + Authorizer runtime.Authorizer +} + +// MatchedRoute represents the route that was matched in this request +type MatchedRoute struct { + routeEntry + Params RouteParams + Consumer runtime.Consumer + Producer runtime.Producer + Authenticator *RouteAuthenticator +} + +// HasAuth returns true when the route has a security requirement defined +func (m *MatchedRoute) HasAuth() bool { + return len(m.Authenticators) > 0 +} + +// NeedsAuth returns true when the request still +// needs to perform authentication +func (m *MatchedRoute) NeedsAuth() bool { + return m.HasAuth() && m.Authenticator == nil +} + +func (d *defaultRouter) Lookup(method, path string) (*MatchedRoute, bool) { + mth := strings.ToUpper(method) + debugLog("looking up route for %s %s", method, path) + if Debug { + if len(d.routers) == 0 { + debugLog("there are no known routers") + } + for meth := range d.routers { + debugLog("got a router for %s", meth) + } + } + if router, ok := d.routers[mth]; ok { + if m, rp, ok := router.Lookup(fpath.Clean(path)); ok && m != nil { + if entry, ok := m.(*routeEntry); ok { + debugLog("found a route for %s %s with %d parameters", method, path, len(entry.Parameters)) + var params RouteParams + for _, p := range rp { + v, err := pathUnescape(p.Value) + if err != nil { + debugLog("failed to escape %q: %v", p.Value, err) + v = p.Value + } + // a workaround to handle fragment/composing parameters until they are supported in denco router + // check if this parameter is a fragment within a path segment + if xpos := strings.Index(entry.PathPattern, fmt.Sprintf("{%s}", p.Name)) + len(p.Name) + 2; xpos < len(entry.PathPattern) && entry.PathPattern[xpos] != '/' { + // extract fragment parameters + ep := strings.Split(entry.PathPattern[xpos:], "/")[0] + pnames, pvalues := decodeCompositParams(p.Name, v, ep, nil, nil) + for i, pname := range pnames { + params = append(params, RouteParam{Name: pname, Value: pvalues[i]}) + } + } else { + // use the parameter directly + params = append(params, RouteParam{Name: p.Name, Value: v}) + } + } + return &MatchedRoute{routeEntry: *entry, Params: params}, true + } + } else { + debugLog("couldn't find a route by path for %s %s", method, path) + } + } else { + debugLog("couldn't find a route by method for %s %s", method, path) + } + return nil, false +} + +func (d *defaultRouter) OtherMethods(method, path string) []string { + mn := strings.ToUpper(method) + var methods []string + for k, v := range d.routers { + if k != mn { + if _, _, ok := v.Lookup(fpath.Clean(path)); ok { + methods = append(methods, k) + continue + } + } + } + return methods +} + +// convert swagger parameters per path segment into a denco parameter as multiple parameters per segment are not supported in denco +var pathConverter = regexp.MustCompile(`{(.+?)}([^/]*)`) + +func decodeCompositParams(name string, value string, pattern string, names []string, values []string) ([]string, []string) { + pleft := strings.Index(pattern, "{") + names = append(names, name) + if pleft < 0 { + if strings.HasSuffix(value, pattern) { + values = append(values, value[:len(value)-len(pattern)]) + } else { + values = append(values, "") + } + } else { + toskip := pattern[:pleft] + pright := strings.Index(pattern, "}") + vright := strings.Index(value, toskip) + if vright >= 0 { + values = append(values, value[:vright]) + } else { + values = append(values, "") + value = "" + } + return decodeCompositParams(pattern[pleft+1:pright], value[vright+len(toskip):], pattern[pright+1:], names, values) + } + return names, values +} + +func (d *defaultRouteBuilder) AddRoute(method, path string, operation *spec.Operation) { + mn := strings.ToUpper(method) + + bp := fpath.Clean(d.spec.BasePath()) + if len(bp) > 0 && bp[len(bp)-1] == '/' { + bp = bp[:len(bp)-1] + } + + debugLog("operation: %#v", *operation) + if handler, ok := d.api.HandlerFor(method, strings.TrimPrefix(path, bp)); ok { + consumes := d.analyzer.ConsumesFor(operation) + produces := d.analyzer.ProducesFor(operation) + parameters := d.analyzer.ParamsFor(method, strings.TrimPrefix(path, bp)) + + record := denco.NewRecord(pathConverter.ReplaceAllString(path, ":$1"), &routeEntry{ + BasePath: bp, + PathPattern: path, + Operation: operation, + Handler: handler, + Consumes: consumes, + Produces: produces, + Consumers: d.api.ConsumersFor(normalizeOffers(consumes)), + Producers: d.api.ProducersFor(normalizeOffers(produces)), + Parameters: parameters, + Formats: d.api.Formats(), + Binder: newUntypedRequestBinder(parameters, d.spec.Spec(), d.api.Formats()), + Authenticators: d.buildAuthenticators(operation), + Authorizer: d.api.Authorizer(), + }) + d.records[mn] = append(d.records[mn], record) + } +} + +func (d *defaultRouteBuilder) buildAuthenticators(operation *spec.Operation) RouteAuthenticators { + requirements := d.analyzer.SecurityRequirementsFor(operation) + var auths []RouteAuthenticator + for _, reqs := range requirements { + var schemes []string + scopes := make(map[string][]string, len(reqs)) + var scopeSlices [][]string + for _, req := range reqs { + schemes = append(schemes, req.Name) + scopes[req.Name] = req.Scopes + scopeSlices = append(scopeSlices, req.Scopes) + } + + definitions := d.analyzer.SecurityDefinitionsForRequirements(reqs) + authenticators := d.api.AuthenticatorsFor(definitions) + auths = append(auths, RouteAuthenticator{ + Authenticator: authenticators, + Schemes: schemes, + Scopes: scopes, + allScopes: stringSliceUnion(scopeSlices...), + commonScopes: stringSliceIntersection(scopeSlices...), + allowAnonymous: len(reqs) == 1 && reqs[0].Name == "", + }) + } + return auths +} + +func (d *defaultRouteBuilder) Build() *defaultRouter { + routers := make(map[string]*denco.Router) + for method, records := range d.records { + router := denco.New() + _ = router.Build(records) + routers[method] = router + } + return &defaultRouter{ + spec: d.spec, + routers: routers, + } +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/security.go b/vendor/github.com/go-openapi/runtime/middleware/security.go new file mode 100644 index 00000000000..2b061caefcb --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/security.go @@ -0,0 +1,39 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 middleware + +import "net/http" + +func newSecureAPI(ctx *Context, next http.Handler) http.Handler { + return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { + route, rCtx, _ := ctx.RouteInfo(r) + if rCtx != nil { + r = rCtx + } + if route != nil && !route.NeedsAuth() { + next.ServeHTTP(rw, r) + return + } + + _, rCtx, err := ctx.Authorize(r, route) + if err != nil { + ctx.Respond(rw, r, route.Produces, route, err) + return + } + r = rCtx + + next.ServeHTTP(rw, r) + }) +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/spec.go b/vendor/github.com/go-openapi/runtime/middleware/spec.go new file mode 100644 index 00000000000..f0291429806 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/spec.go @@ -0,0 +1,48 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 middleware + +import ( + "net/http" + "path" +) + +// Spec creates a middleware to serve a swagger spec. +// This allows for altering the spec before starting the http listener. +// This can be useful if you want to serve the swagger spec from another path than /swagger.json +// +func Spec(basePath string, b []byte, next http.Handler) http.Handler { + if basePath == "" { + basePath = "/" + } + pth := path.Join(basePath, "swagger.json") + + return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { + if r.URL.Path == pth { + rw.Header().Set("Content-Type", "application/json") + rw.WriteHeader(http.StatusOK) + //#nosec + _, _ = rw.Write(b) + return + } + + if next == nil { + rw.Header().Set("Content-Type", "application/json") + rw.WriteHeader(http.StatusNotFound) + return + } + next.ServeHTTP(rw, r) + }) +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/untyped/api.go b/vendor/github.com/go-openapi/runtime/middleware/untyped/api.go new file mode 100644 index 00000000000..8226b1ed1c6 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/untyped/api.go @@ -0,0 +1,286 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 untyped + +import ( + "fmt" + "net/http" + "sort" + "strings" + + "github.com/go-openapi/analysis" + "github.com/go-openapi/errors" + "github.com/go-openapi/loads" + "github.com/go-openapi/runtime" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" +) + +// NewAPI creates the default untyped API +func NewAPI(spec *loads.Document) *API { + var an *analysis.Spec + if spec != nil && spec.Spec() != nil { + an = analysis.New(spec.Spec()) + } + api := &API{ + spec: spec, + analyzer: an, + consumers: make(map[string]runtime.Consumer, 10), + producers: make(map[string]runtime.Producer, 10), + authenticators: make(map[string]runtime.Authenticator), + operations: make(map[string]map[string]runtime.OperationHandler), + ServeError: errors.ServeError, + Models: make(map[string]func() interface{}), + formats: strfmt.NewFormats(), + } + return api.WithJSONDefaults() +} + +// API represents an untyped mux for a swagger spec +type API struct { + spec *loads.Document + analyzer *analysis.Spec + DefaultProduces string + DefaultConsumes string + consumers map[string]runtime.Consumer + producers map[string]runtime.Producer + authenticators map[string]runtime.Authenticator + authorizer runtime.Authorizer + operations map[string]map[string]runtime.OperationHandler + ServeError func(http.ResponseWriter, *http.Request, error) + Models map[string]func() interface{} + formats strfmt.Registry +} + +// WithJSONDefaults loads the json defaults for this api +func (d *API) WithJSONDefaults() *API { + d.DefaultConsumes = runtime.JSONMime + d.DefaultProduces = runtime.JSONMime + d.consumers[runtime.JSONMime] = runtime.JSONConsumer() + d.producers[runtime.JSONMime] = runtime.JSONProducer() + return d +} + +// WithoutJSONDefaults clears the json defaults for this api +func (d *API) WithoutJSONDefaults() *API { + d.DefaultConsumes = "" + d.DefaultProduces = "" + delete(d.consumers, runtime.JSONMime) + delete(d.producers, runtime.JSONMime) + return d +} + +// Formats returns the registered string formats +func (d *API) Formats() strfmt.Registry { + if d.formats == nil { + d.formats = strfmt.NewFormats() + } + return d.formats +} + +// RegisterFormat registers a custom format validator +func (d *API) RegisterFormat(name string, format strfmt.Format, validator strfmt.Validator) { + if d.formats == nil { + d.formats = strfmt.NewFormats() + } + d.formats.Add(name, format, validator) +} + +// RegisterAuth registers an auth handler in this api +func (d *API) RegisterAuth(scheme string, handler runtime.Authenticator) { + if d.authenticators == nil { + d.authenticators = make(map[string]runtime.Authenticator) + } + d.authenticators[scheme] = handler +} + +// RegisterAuthorizer registers an authorizer handler in this api +func (d *API) RegisterAuthorizer(handler runtime.Authorizer) { + d.authorizer = handler +} + +// RegisterConsumer registers a consumer for a media type. +func (d *API) RegisterConsumer(mediaType string, handler runtime.Consumer) { + if d.consumers == nil { + d.consumers = make(map[string]runtime.Consumer, 10) + } + d.consumers[strings.ToLower(mediaType)] = handler +} + +// RegisterProducer registers a producer for a media type +func (d *API) RegisterProducer(mediaType string, handler runtime.Producer) { + if d.producers == nil { + d.producers = make(map[string]runtime.Producer, 10) + } + d.producers[strings.ToLower(mediaType)] = handler +} + +// RegisterOperation registers an operation handler for an operation name +func (d *API) RegisterOperation(method, path string, handler runtime.OperationHandler) { + if d.operations == nil { + d.operations = make(map[string]map[string]runtime.OperationHandler, 30) + } + um := strings.ToUpper(method) + if b, ok := d.operations[um]; !ok || b == nil { + d.operations[um] = make(map[string]runtime.OperationHandler) + } + d.operations[um][path] = handler +} + +// OperationHandlerFor returns the operation handler for the specified id if it can be found +func (d *API) OperationHandlerFor(method, path string) (runtime.OperationHandler, bool) { + if d.operations == nil { + return nil, false + } + if pi, ok := d.operations[strings.ToUpper(method)]; ok { + h, ok := pi[path] + return h, ok + } + return nil, false +} + +// ConsumersFor gets the consumers for the specified media types +func (d *API) ConsumersFor(mediaTypes []string) map[string]runtime.Consumer { + result := make(map[string]runtime.Consumer) + for _, mt := range mediaTypes { + if consumer, ok := d.consumers[mt]; ok { + result[mt] = consumer + } + } + return result +} + +// ProducersFor gets the producers for the specified media types +func (d *API) ProducersFor(mediaTypes []string) map[string]runtime.Producer { + result := make(map[string]runtime.Producer) + for _, mt := range mediaTypes { + if producer, ok := d.producers[mt]; ok { + result[mt] = producer + } + } + return result +} + +// AuthenticatorsFor gets the authenticators for the specified security schemes +func (d *API) AuthenticatorsFor(schemes map[string]spec.SecurityScheme) map[string]runtime.Authenticator { + result := make(map[string]runtime.Authenticator) + for k := range schemes { + if a, ok := d.authenticators[k]; ok { + result[k] = a + } + } + return result +} + +// Authorizer returns the registered authorizer +func (d *API) Authorizer() runtime.Authorizer { + return d.authorizer +} + +// Validate validates this API for any missing items +func (d *API) Validate() error { + return d.validate() +} + +// validateWith validates the registrations in this API against the provided spec analyzer +func (d *API) validate() error { + var consumes []string + for k := range d.consumers { + consumes = append(consumes, k) + } + + var produces []string + for k := range d.producers { + produces = append(produces, k) + } + + var authenticators []string + for k := range d.authenticators { + authenticators = append(authenticators, k) + } + + var operations []string + for m, v := range d.operations { + for p := range v { + operations = append(operations, fmt.Sprintf("%s %s", strings.ToUpper(m), p)) + } + } + + var definedAuths []string + for k := range d.spec.Spec().SecurityDefinitions { + definedAuths = append(definedAuths, k) + } + + if err := d.verify("consumes", consumes, d.analyzer.RequiredConsumes()); err != nil { + return err + } + if err := d.verify("produces", produces, d.analyzer.RequiredProduces()); err != nil { + return err + } + if err := d.verify("operation", operations, d.analyzer.OperationMethodPaths()); err != nil { + return err + } + + requiredAuths := d.analyzer.RequiredSecuritySchemes() + if err := d.verify("auth scheme", authenticators, requiredAuths); err != nil { + return err + } + if err := d.verify("security definitions", definedAuths, requiredAuths); err != nil { + return err + } + return nil +} + +func (d *API) verify(name string, registrations []string, expectations []string) error { + + sort.Strings(registrations) + sort.Strings(expectations) + + expected := map[string]struct{}{} + seen := map[string]struct{}{} + + for _, v := range expectations { + expected[v] = struct{}{} + } + + var unspecified []string + for _, v := range registrations { + seen[v] = struct{}{} + if _, ok := expected[v]; !ok { + unspecified = append(unspecified, v) + } + } + + for k := range seen { + delete(expected, k) + } + + var unregistered []string + for k := range expected { + unregistered = append(unregistered, k) + } + sort.Strings(unspecified) + sort.Strings(unregistered) + + if len(unregistered) > 0 || len(unspecified) > 0 { + return &errors.APIVerificationFailed{ + Section: name, + MissingSpecification: unspecified, + MissingRegistration: unregistered, + } + } + + return nil +} diff --git a/vendor/github.com/go-openapi/runtime/middleware/validation.go b/vendor/github.com/go-openapi/runtime/middleware/validation.go new file mode 100644 index 00000000000..bb8df3cb3de --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/middleware/validation.go @@ -0,0 +1,122 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 middleware + +import ( + "mime" + "net/http" + "strings" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + "github.com/go-openapi/swag" +) + +type validation struct { + context *Context + result []error + request *http.Request + route *MatchedRoute + bound map[string]interface{} +} + +// ContentType validates the content type of a request +func validateContentType(allowed []string, actual string) error { + debugLog("validating content type for %q against [%s]", actual, strings.Join(allowed, ", ")) + if len(allowed) == 0 { + return nil + } + mt, _, err := mime.ParseMediaType(actual) + if err != nil { + return errors.InvalidContentType(actual, allowed) + } + if swag.ContainsStringsCI(allowed, mt) { + return nil + } + if swag.ContainsStringsCI(allowed, "*/*") { + return nil + } + parts := strings.Split(actual, "/") + if len(parts) == 2 && swag.ContainsStringsCI(allowed, parts[0]+"/*") { + return nil + } + return errors.InvalidContentType(actual, allowed) +} + +func validateRequest(ctx *Context, request *http.Request, route *MatchedRoute) *validation { + debugLog("validating request %s %s", request.Method, request.URL.EscapedPath()) + validate := &validation{ + context: ctx, + request: request, + route: route, + bound: make(map[string]interface{}), + } + + validate.contentType() + if len(validate.result) == 0 { + validate.responseFormat() + } + if len(validate.result) == 0 { + validate.parameters() + } + + return validate +} + +func (v *validation) parameters() { + debugLog("validating request parameters for %s %s", v.request.Method, v.request.URL.EscapedPath()) + if result := v.route.Binder.Bind(v.request, v.route.Params, v.route.Consumer, v.bound); result != nil { + if result.Error() == "validation failure list" { + for _, e := range result.(*errors.Validation).Value.([]interface{}) { + v.result = append(v.result, e.(error)) + } + return + } + v.result = append(v.result, result) + } +} + +func (v *validation) contentType() { + if len(v.result) == 0 && runtime.HasBody(v.request) { + debugLog("validating body content type for %s %s", v.request.Method, v.request.URL.EscapedPath()) + ct, _, req, err := v.context.ContentType(v.request) + if err != nil { + v.result = append(v.result, err) + } else { + v.request = req + } + + if len(v.result) == 0 { + if err := validateContentType(v.route.Consumes, ct); err != nil { + v.result = append(v.result, err) + } + } + if ct != "" && v.route.Consumer == nil { + cons, ok := v.route.Consumers[ct] + if !ok { + v.result = append(v.result, errors.New(500, "no consumer registered for %s", ct)) + } else { + v.route.Consumer = cons + } + } + } +} + +func (v *validation) responseFormat() { + if str, rCtx := v.context.ResponseFormat(v.request, v.route.Produces); str == "" && runtime.HasBody(v.request) { + v.request = rCtx + v.result = append(v.result, errors.InvalidResponseFormat(v.request.Header.Get(runtime.HeaderAccept), v.route.Produces)) + } +} diff --git a/vendor/github.com/go-openapi/runtime/request.go b/vendor/github.com/go-openapi/runtime/request.go new file mode 100644 index 00000000000..87b73da45c2 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/request.go @@ -0,0 +1,77 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 runtime + +import ( + "io" + "net/http" + "strings" + + "github.com/go-openapi/swag" +) + +// CanHaveBody returns true if this method can have a body +func CanHaveBody(method string) bool { + mn := strings.ToUpper(method) + return mn == "POST" || mn == "PUT" || mn == "PATCH" || mn == "DELETE" +} + +// IsSafe returns true if this is a request with a safe method +func IsSafe(r *http.Request) bool { + mn := strings.ToUpper(r.Method) + return mn == "GET" || mn == "HEAD" +} + +// AllowsBody returns true if the request allows for a body +func AllowsBody(r *http.Request) bool { + mn := strings.ToUpper(r.Method) + return mn != "HEAD" +} + +// HasBody returns true if this method needs a content-type +func HasBody(r *http.Request) bool { + return len(r.TransferEncoding) > 0 || r.ContentLength > 0 +} + +// JSONRequest creates a new http request with json headers set +func JSONRequest(method, urlStr string, body io.Reader) (*http.Request, error) { + req, err := http.NewRequest(method, urlStr, body) + if err != nil { + return nil, err + } + req.Header.Add(HeaderContentType, JSONMime) + req.Header.Add(HeaderAccept, JSONMime) + return req, nil +} + +// Gettable for things with a method GetOK(string) (data string, hasKey bool, hasValue bool) +type Gettable interface { + GetOK(string) ([]string, bool, bool) +} + +// ReadSingleValue reads a single value from the source +func ReadSingleValue(values Gettable, name string) string { + vv, _, hv := values.GetOK(name) + if hv { + return vv[len(vv)-1] + } + return "" +} + +// ReadCollectionValue reads a collection value from a string data source +func ReadCollectionValue(values Gettable, name, collectionFormat string) []string { + v := ReadSingleValue(values, name) + return swag.SplitByFormat(v, collectionFormat) +} diff --git a/vendor/github.com/go-openapi/runtime/security/authenticator.go b/vendor/github.com/go-openapi/runtime/security/authenticator.go new file mode 100644 index 00000000000..21be9a1b99c --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/security/authenticator.go @@ -0,0 +1,259 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 security + +import ( + "context" + "net/http" + "strings" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" +) + +const ( + query = "query" + header = "header" +) + +// HttpAuthenticator is a function that authenticates a HTTP request +func HttpAuthenticator(handler func(*http.Request) (bool, interface{}, error)) runtime.Authenticator { + return runtime.AuthenticatorFunc(func(params interface{}) (bool, interface{}, error) { + if request, ok := params.(*http.Request); ok { + return handler(request) + } + if scoped, ok := params.(*ScopedAuthRequest); ok { + return handler(scoped.Request) + } + return false, nil, nil + }) +} + +// ScopedAuthenticator is a function that authenticates a HTTP request against a list of valid scopes +func ScopedAuthenticator(handler func(*ScopedAuthRequest) (bool, interface{}, error)) runtime.Authenticator { + return runtime.AuthenticatorFunc(func(params interface{}) (bool, interface{}, error) { + if request, ok := params.(*ScopedAuthRequest); ok { + return handler(request) + } + return false, nil, nil + }) +} + +// UserPassAuthentication authentication function +type UserPassAuthentication func(string, string) (interface{}, error) + +// UserPassAuthenticationCtx authentication function with context.Context +type UserPassAuthenticationCtx func(context.Context, string, string) (context.Context, interface{}, error) + +// TokenAuthentication authentication function +type TokenAuthentication func(string) (interface{}, error) + +// TokenAuthenticationCtx authentication function with context.Context +type TokenAuthenticationCtx func(context.Context, string) (context.Context, interface{}, error) + +// ScopedTokenAuthentication authentication function +type ScopedTokenAuthentication func(string, []string) (interface{}, error) + +// ScopedTokenAuthenticationCtx authentication function with context.Context +type ScopedTokenAuthenticationCtx func(context.Context, string, []string) (context.Context, interface{}, error) + +var DefaultRealmName = "API" + +type secCtxKey uint8 + +const ( + failedBasicAuth secCtxKey = iota +) + +func FailedBasicAuth(r *http.Request) string { + return FailedBasicAuthCtx(r.Context()) +} + +func FailedBasicAuthCtx(ctx context.Context) string { + v, ok := ctx.Value(failedBasicAuth).(string) + if !ok { + return "" + } + return v +} + +// BasicAuth creates a basic auth authenticator with the provided authentication function +func BasicAuth(authenticate UserPassAuthentication) runtime.Authenticator { + return BasicAuthRealm(DefaultRealmName, authenticate) +} + +// BasicAuthRealm creates a basic auth authenticator with the provided authentication function and realm name +func BasicAuthRealm(realm string, authenticate UserPassAuthentication) runtime.Authenticator { + if realm == "" { + realm = DefaultRealmName + } + + return HttpAuthenticator(func(r *http.Request) (bool, interface{}, error) { + if usr, pass, ok := r.BasicAuth(); ok { + p, err := authenticate(usr, pass) + if err != nil { + *r = *r.WithContext(context.WithValue(r.Context(), failedBasicAuth, realm)) + } + return true, p, err + } + *r = *r.WithContext(context.WithValue(r.Context(), failedBasicAuth, realm)) + return false, nil, nil + }) +} + +// BasicAuthCtx creates a basic auth authenticator with the provided authentication function with support for context.Context +func BasicAuthCtx(authenticate UserPassAuthenticationCtx) runtime.Authenticator { + return BasicAuthRealmCtx(DefaultRealmName, authenticate) +} + +// BasicAuthRealmCtx creates a basic auth authenticator with the provided authentication function and realm name with support for context.Context +func BasicAuthRealmCtx(realm string, authenticate UserPassAuthenticationCtx) runtime.Authenticator { + if realm == "" { + realm = DefaultRealmName + } + + return HttpAuthenticator(func(r *http.Request) (bool, interface{}, error) { + if usr, pass, ok := r.BasicAuth(); ok { + ctx, p, err := authenticate(r.Context(), usr, pass) + if err != nil { + ctx = context.WithValue(ctx, failedBasicAuth, realm) + } + *r = *r.WithContext(ctx) + return true, p, err + } + *r = *r.WithContext(context.WithValue(r.Context(), failedBasicAuth, realm)) + return false, nil, nil + }) +} + +// APIKeyAuth creates an authenticator that uses a token for authorization. +// This token can be obtained from either a header or a query string +func APIKeyAuth(name, in string, authenticate TokenAuthentication) runtime.Authenticator { + inl := strings.ToLower(in) + if inl != query && inl != header { + // panic because this is most likely a typo + panic(errors.New(500, "api key auth: in value needs to be either \"query\" or \"header\".")) + } + + var getToken func(*http.Request) string + switch inl { + case header: + getToken = func(r *http.Request) string { return r.Header.Get(name) } + case query: + getToken = func(r *http.Request) string { return r.URL.Query().Get(name) } + } + + return HttpAuthenticator(func(r *http.Request) (bool, interface{}, error) { + token := getToken(r) + if token == "" { + return false, nil, nil + } + + p, err := authenticate(token) + return true, p, err + }) +} + +// APIKeyAuthCtx creates an authenticator that uses a token for authorization with support for context.Context. +// This token can be obtained from either a header or a query string +func APIKeyAuthCtx(name, in string, authenticate TokenAuthenticationCtx) runtime.Authenticator { + inl := strings.ToLower(in) + if inl != query && inl != header { + // panic because this is most likely a typo + panic(errors.New(500, "api key auth: in value needs to be either \"query\" or \"header\".")) + } + + var getToken func(*http.Request) string + switch inl { + case header: + getToken = func(r *http.Request) string { return r.Header.Get(name) } + case query: + getToken = func(r *http.Request) string { return r.URL.Query().Get(name) } + } + + return HttpAuthenticator(func(r *http.Request) (bool, interface{}, error) { + token := getToken(r) + if token == "" { + return false, nil, nil + } + + ctx, p, err := authenticate(r.Context(), token) + *r = *r.WithContext(ctx) + return true, p, err + }) +} + +// ScopedAuthRequest contains both a http request and the required scopes for a particular operation +type ScopedAuthRequest struct { + Request *http.Request + RequiredScopes []string +} + +// BearerAuth for use with oauth2 flows +func BearerAuth(name string, authenticate ScopedTokenAuthentication) runtime.Authenticator { + const prefix = "Bearer " + return ScopedAuthenticator(func(r *ScopedAuthRequest) (bool, interface{}, error) { + var token string + hdr := r.Request.Header.Get("Authorization") + if strings.HasPrefix(hdr, prefix) { + token = strings.TrimPrefix(hdr, prefix) + } + if token == "" { + qs := r.Request.URL.Query() + token = qs.Get("access_token") + } + //#nosec + ct, _, _ := runtime.ContentType(r.Request.Header) + if token == "" && (ct == "application/x-www-form-urlencoded" || ct == "multipart/form-data") { + token = r.Request.FormValue("access_token") + } + + if token == "" { + return false, nil, nil + } + + p, err := authenticate(token, r.RequiredScopes) + return true, p, err + }) +} + +// BearerAuthCtx for use with oauth2 flows with support for context.Context. +func BearerAuthCtx(name string, authenticate ScopedTokenAuthenticationCtx) runtime.Authenticator { + const prefix = "Bearer " + return ScopedAuthenticator(func(r *ScopedAuthRequest) (bool, interface{}, error) { + var token string + hdr := r.Request.Header.Get("Authorization") + if strings.HasPrefix(hdr, prefix) { + token = strings.TrimPrefix(hdr, prefix) + } + if token == "" { + qs := r.Request.URL.Query() + token = qs.Get("access_token") + } + //#nosec + ct, _, _ := runtime.ContentType(r.Request.Header) + if token == "" && (ct == "application/x-www-form-urlencoded" || ct == "multipart/form-data") { + token = r.Request.FormValue("access_token") + } + + if token == "" { + return false, nil, nil + } + + ctx, p, err := authenticate(r.Request.Context(), token, r.RequiredScopes) + *r.Request = *r.Request.WithContext(ctx) + return true, p, err + }) +} diff --git a/vendor/github.com/go-openapi/runtime/security/authorizer.go b/vendor/github.com/go-openapi/runtime/security/authorizer.go new file mode 100644 index 00000000000..00c1a4d6a4c --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/security/authorizer.go @@ -0,0 +1,27 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 security + +import ( + "net/http" + + "github.com/go-openapi/runtime" +) + +// Authorized provides a default implementation of the Authorizer interface where all +// requests are authorized (successful) +func Authorized() runtime.Authorizer { + return runtime.AuthorizerFunc(func(_ *http.Request, _ interface{}) error { return nil }) +} diff --git a/vendor/github.com/go-openapi/runtime/statuses.go b/vendor/github.com/go-openapi/runtime/statuses.go new file mode 100644 index 00000000000..3b011a0bff1 --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/statuses.go @@ -0,0 +1,90 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 runtime + +// Statuses lists the most common HTTP status codes to default message +// taken from https://httpstatuses.com/ +var Statuses = map[int]string{ + 100: "Continue", + 101: "Switching Protocols", + 102: "Processing", + 103: "Checkpoint", + 122: "URI too long", + 200: "OK", + 201: "Created", + 202: "Accepted", + 203: "Request Processed", + 204: "No Content", + 205: "Reset Content", + 206: "Partial Content", + 207: "Multi-Status", + 208: "Already Reported", + 226: "IM Used", + 300: "Multiple Choices", + 301: "Moved Permanently", + 302: "Found", + 303: "See Other", + 304: "Not Modified", + 305: "Use Proxy", + 306: "Switch Proxy", + 307: "Temporary Redirect", + 308: "Permanent Redirect", + 400: "Bad Request", + 401: "Unauthorized", + 402: "Payment Required", + 403: "Forbidden", + 404: "Not Found", + 405: "Method Not Allowed", + 406: "Not Acceptable", + 407: "Proxy Authentication Required", + 408: "Request Timeout", + 409: "Conflict", + 410: "Gone", + 411: "Length Required", + 412: "Precondition Failed", + 413: "Request Entity Too Large", + 414: "Request-URI Too Long", + 415: "Unsupported Media Type", + 416: "Request Range Not Satisfiable", + 417: "Expectation Failed", + 418: "I'm a teapot", + 420: "Enhance Your Calm", + 422: "Unprocessable Entity", + 423: "Locked", + 424: "Failed Dependency", + 426: "Upgrade Required", + 428: "Precondition Required", + 429: "Too Many Requests", + 431: "Request Header Fields Too Large", + 444: "No Response", + 449: "Retry With", + 450: "Blocked by Windows Parental Controls", + 451: "Wrong Exchange Server", + 499: "Client Closed Request", + 500: "Internal Server Error", + 501: "Not Implemented", + 502: "Bad Gateway", + 503: "Service Unavailable", + 504: "Gateway Timeout", + 505: "HTTP Version Not Supported", + 506: "Variant Also Negotiates", + 507: "Insufficient Storage", + 508: "Loop Detected", + 509: "Bandwidth Limit Exceeded", + 510: "Not Extended", + 511: "Network Authentication Required", + 598: "Network read timeout error", + 599: "Network connect timeout error", +} diff --git a/vendor/github.com/go-openapi/runtime/text.go b/vendor/github.com/go-openapi/runtime/text.go new file mode 100644 index 00000000000..c7fd04c3c5c --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/text.go @@ -0,0 +1,117 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 runtime + +import ( + "bytes" + "encoding" + "errors" + "fmt" + "io" + "reflect" + + "github.com/go-openapi/swag" +) + +// TextConsumer creates a new text consumer +func TextConsumer() Consumer { + return ConsumerFunc(func(reader io.Reader, data interface{}) error { + if reader == nil { + return errors.New("TextConsumer requires a reader") // early exit + } + + buf := new(bytes.Buffer) + _, err := buf.ReadFrom(reader) + if err != nil { + return err + } + b := buf.Bytes() + + // If the buffer is empty, no need to unmarshal it, which causes a panic. + if len(b) == 0 { + data = "" + return nil + } + + if tu, ok := data.(encoding.TextUnmarshaler); ok { + err := tu.UnmarshalText(b) + if err != nil { + return fmt.Errorf("text consumer: %v", err) + } + + return nil + } + + t := reflect.TypeOf(data) + if data != nil && t.Kind() == reflect.Ptr { + v := reflect.Indirect(reflect.ValueOf(data)) + if t.Elem().Kind() == reflect.String { + v.SetString(string(b)) + return nil + } + } + + return fmt.Errorf("%v (%T) is not supported by the TextConsumer, %s", + data, data, "can be resolved by supporting TextUnmarshaler interface") + }) +} + +// TextProducer creates a new text producer +func TextProducer() Producer { + return ProducerFunc(func(writer io.Writer, data interface{}) error { + if writer == nil { + return errors.New("TextProducer requires a writer") // early exit + } + + if data == nil { + return errors.New("no data given to produce text from") + } + + if tm, ok := data.(encoding.TextMarshaler); ok { + txt, err := tm.MarshalText() + if err != nil { + return fmt.Errorf("text producer: %v", err) + } + _, err = writer.Write(txt) + return err + } + + if str, ok := data.(error); ok { + _, err := writer.Write([]byte(str.Error())) + return err + } + + if str, ok := data.(fmt.Stringer); ok { + _, err := writer.Write([]byte(str.String())) + return err + } + + v := reflect.Indirect(reflect.ValueOf(data)) + if t := v.Type(); t.Kind() == reflect.Struct || t.Kind() == reflect.Slice { + b, err := swag.WriteJSON(data) + if err != nil { + return err + } + _, err = writer.Write(b) + return err + } + if v.Kind() != reflect.String { + return fmt.Errorf("%T is not a supported type by the TextProducer", data) + } + + _, err := writer.Write([]byte(v.String())) + return err + }) +} diff --git a/vendor/github.com/go-openapi/runtime/values.go b/vendor/github.com/go-openapi/runtime/values.go new file mode 100644 index 00000000000..11f5732af4e --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/values.go @@ -0,0 +1,19 @@ +package runtime + +// Values typically represent parameters on a http request. +type Values map[string][]string + +// GetOK returns the values collection for the given key. +// When the key is present in the map it will return true for hasKey. +// When the value is not empty it will return true for hasValue. +func (v Values) GetOK(key string) (value []string, hasKey bool, hasValue bool) { + value, hasKey = v[key] + if !hasKey { + return + } + if len(value) == 0 { + return + } + hasValue = true + return +} diff --git a/vendor/github.com/go-openapi/runtime/xml.go b/vendor/github.com/go-openapi/runtime/xml.go new file mode 100644 index 00000000000..821c7393dfb --- /dev/null +++ b/vendor/github.com/go-openapi/runtime/xml.go @@ -0,0 +1,36 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 runtime + +import ( + "encoding/xml" + "io" +) + +// XMLConsumer creates a new XML consumer +func XMLConsumer() Consumer { + return ConsumerFunc(func(reader io.Reader, data interface{}) error { + dec := xml.NewDecoder(reader) + return dec.Decode(data) + }) +} + +// XMLProducer creates a new XML producer +func XMLProducer() Producer { + return ProducerFunc(func(writer io.Writer, data interface{}) error { + enc := xml.NewEncoder(writer) + return enc.Encode(data) + }) +} diff --git a/vendor/github.com/go-openapi/spec/.editorconfig b/vendor/github.com/go-openapi/spec/.editorconfig new file mode 100644 index 00000000000..3152da69a5d --- /dev/null +++ b/vendor/github.com/go-openapi/spec/.editorconfig @@ -0,0 +1,26 @@ +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true + +# Set default charset +[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] +charset = utf-8 + +# Tab indentation (no size specified) +[*.go] +indent_style = tab + +[*.md] +trim_trailing_whitespace = false + +# Matches the exact files either package.json or .travis.yml +[{package.json,.travis.yml}] +indent_style = space +indent_size = 2 diff --git a/vendor/github.com/go-openapi/spec/.gitignore b/vendor/github.com/go-openapi/spec/.gitignore new file mode 100644 index 00000000000..dd91ed6a04e --- /dev/null +++ b/vendor/github.com/go-openapi/spec/.gitignore @@ -0,0 +1,2 @@ +secrets.yml +coverage.out diff --git a/vendor/github.com/go-openapi/spec/.golangci.yml b/vendor/github.com/go-openapi/spec/.golangci.yml new file mode 100644 index 00000000000..3e33f9f2e3e --- /dev/null +++ b/vendor/github.com/go-openapi/spec/.golangci.yml @@ -0,0 +1,23 @@ +linters-settings: + govet: + check-shadowing: true + golint: + min-confidence: 0 + gocyclo: + min-complexity: 45 + maligned: + suggest-new: true + dupl: + threshold: 200 + goconst: + min-len: 2 + min-occurrences: 2 + +linters: + enable-all: true + disable: + - maligned + - unparam + - lll + - gochecknoinits + - gochecknoglobals diff --git a/vendor/github.com/go-openapi/spec/.travis.yml b/vendor/github.com/go-openapi/spec/.travis.yml new file mode 100644 index 00000000000..aa26d8763aa --- /dev/null +++ b/vendor/github.com/go-openapi/spec/.travis.yml @@ -0,0 +1,15 @@ +after_success: +- bash <(curl -s https://codecov.io/bash) +go: +- 1.11.x +- 1.12.x +install: +- GO111MODULE=off go get -u gotest.tools/gotestsum +env: +- GO111MODULE=on +language: go +notifications: + slack: + secure: QUWvCkBBK09GF7YtEvHHVt70JOkdlNBG0nIKu/5qc4/nW5HP8I2w0SEf/XR2je0eED1Qe3L/AfMCWwrEj+IUZc3l4v+ju8X8R3Lomhme0Eb0jd1MTMCuPcBT47YCj0M7RON7vXtbFfm1hFJ/jLe5+9FXz0hpXsR24PJc5ZIi/ogNwkaPqG4BmndzecpSh0vc2FJPZUD9LT0I09REY/vXR0oQAalLkW0asGD5taHZTUZq/kBpsNxaAFrLM23i4mUcf33M5fjLpvx5LRICrX/57XpBrDh2TooBU6Qj3CgoY0uPRYUmSNxbVx1czNzl2JtEpb5yjoxfVPQeg0BvQM00G8LJINISR+ohrjhkZmAqchDupAX+yFrxTtORa78CtnIL6z/aTNlgwwVD8kvL/1pFA/JWYmKDmz93mV/+6wubGzNSQCstzjkFA4/iZEKewKUoRIAi/fxyscP6L/rCpmY/4llZZvrnyTqVbt6URWpopUpH4rwYqreXAtJxJsfBJIeSmUIiDIOMGkCTvyTEW3fWGmGoqWtSHLoaWDyAIGb7azb+KvfpWtEcoPFWfSWU+LGee0A/YsUhBl7ADB9A0CJEuR8q4BPpKpfLwPKSiKSAXL7zDkyjExyhtgqbSl2jS+rKIHOZNL8JkCcTP2MKMVd563C5rC5FMKqu3S9m2b6380E= +script: +- gotestsum -f short-verbose -- -race -coverprofile=coverage.txt -covermode=atomic ./... diff --git a/vendor/github.com/go-openapi/spec/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/spec/CODE_OF_CONDUCT.md new file mode 100644 index 00000000000..9322b065e37 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/spec/LICENSE b/vendor/github.com/go-openapi/spec/LICENSE new file mode 100644 index 00000000000..d6456956733 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/spec/README.md b/vendor/github.com/go-openapi/spec/README.md new file mode 100644 index 00000000000..6354742cbf6 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/README.md @@ -0,0 +1,10 @@ +# OAI object model [![Build Status](https://travis-ci.org/go-openapi/spec.svg?branch=master)](https://travis-ci.org/go-openapi/spec) [![codecov](https://codecov.io/gh/go-openapi/spec/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/spec) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) + +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/spec/master/LICENSE) +[![GoDoc](https://godoc.org/github.com/go-openapi/spec?status.svg)](http://godoc.org/github.com/go-openapi/spec) +[![GolangCI](https://golangci.com/badges/github.com/go-openapi/spec.svg)](https://golangci.com) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/spec)](https://goreportcard.com/report/github.com/go-openapi/spec) + +The object model for OpenAPI specification documents. + +Currently supports Swagger 2.0. diff --git a/vendor/github.com/go-openapi/spec/bindata.go b/vendor/github.com/go-openapi/spec/bindata.go new file mode 100644 index 00000000000..d5ec7b900a7 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/bindata.go @@ -0,0 +1,297 @@ +// Code generated by go-bindata. DO NOT EDIT. +// sources: +// schemas/jsonschema-draft-04.json (4.357kB) +// schemas/v2/schema.json (40.249kB) + +package spec + +import ( + "bytes" + "compress/gzip" + "crypto/sha256" + "fmt" + "io" + "io/ioutil" + "os" + "path/filepath" + "strings" + "time" +) + +func bindataRead(data []byte, name string) ([]byte, error) { + gz, err := gzip.NewReader(bytes.NewBuffer(data)) + if err != nil { + return nil, fmt.Errorf("Read %q: %v", name, err) + } + + var buf bytes.Buffer + _, err = io.Copy(&buf, gz) + clErr := gz.Close() + + if err != nil { + return nil, fmt.Errorf("Read %q: %v", name, err) + } + if clErr != nil { + return nil, err + } + + return buf.Bytes(), nil +} + +type asset struct { + bytes []byte + info os.FileInfo + digest [sha256.Size]byte +} + +type bindataFileInfo struct { + name string + size int64 + mode os.FileMode + modTime time.Time +} + +func (fi bindataFileInfo) Name() string { + return fi.name +} +func (fi bindataFileInfo) Size() int64 { + return fi.size +} +func (fi bindataFileInfo) Mode() os.FileMode { + return fi.mode +} +func (fi bindataFileInfo) ModTime() time.Time { + return fi.modTime +} +func (fi bindataFileInfo) IsDir() bool { + return false +} +func (fi bindataFileInfo) Sys() interface{} { + return nil +} + +var _jsonschemaDraft04JSON = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x57\x3d\x6f\xdb\x3c\x10\xde\xf3\x2b\x08\x26\x63\xf2\x2a\x2f\xd0\xc9\x5b\xd1\x2e\x01\x5a\x34\x43\x37\x23\x03\x6d\x9d\x6c\x06\x14\xa9\x50\x54\x60\xc3\xd0\x7f\x2f\x28\x4a\x14\x29\x91\x92\x2d\xa7\x8d\x97\x28\xbc\xaf\xe7\x8e\xf7\xc5\xd3\x0d\x42\x08\x61\x9a\xe2\x15\xc2\x7b\xa5\x8a\x55\x92\xbc\x96\x82\x3f\x94\xdb\x3d\xe4\xe4\x3f\x21\x77\x49\x2a\x49\xa6\x1e\x1e\xbf\x24\xe6\xec\x16\xdf\x1b\xa1\x3b\xf3\xff\x02\xc9\x14\xca\xad\xa4\x85\xa2\x82\x6b\xe9\x6f\x42\x02\x32\x2c\x28\x07\x45\x5a\x15\x3d\x77\x46\x39\xd5\xcc\x25\x5e\x21\x83\xb8\x21\x18\xb6\xaf\x52\x92\xa3\x47\x68\x88\xea\x58\x80\x56\x4e\x1a\xf2\xbd\x4f\xcc\x29\x7f\x52\x90\x6b\x7d\xff\x0f\x48\xb4\x3d\x3f\x21\x7c\x27\x21\xd3\x2a\x6e\x31\xaa\x2d\x53\xdd\xf3\xe3\x42\x94\x54\xd1\x77\x78\xe2\x0a\x76\x20\xe3\x20\x68\xcb\x30\x86\x41\xf3\x2a\xc7\x2b\xf4\x78\x8e\xfe\xef\x90\x91\x8a\xa9\xc7\xb1\x1d\xc2\xd8\x2f\x0d\x75\xed\xc1\x4e\x9c\xc8\x25\x43\xac\xa8\xbe\xd7\xcc\xa9\xd1\xa9\x21\xa0\x1a\xbd\x04\x61\x94\x34\x2f\x18\xfc\x3e\x16\x50\x8e\x4d\x03\x6f\x1c\x58\xdb\x48\x23\xbc\x11\x82\x01\xe1\xfa\xd3\x3a\x8e\x30\xaf\x18\x33\x7f\xf3\x8d\x39\x11\x9b\x57\xd8\x2a\xfd\x55\x2a\x49\xf9\x0e\xc7\xec\x37\xd4\x25\xf7\xec\x5c\x66\xc7\xd7\x99\xaa\xcf\x4f\x89\x8a\xd3\xb7\x0a\x3a\xaa\x92\x15\xf4\x30\x6f\x1c\xb0\xd6\x46\xe7\x98\x39\x2d\xa4\x28\x40\x2a\x3a\x88\x9e\x29\xba\x88\x37\x2d\xca\x60\x38\xfa\xba\x5b\x20\xac\xa8\x62\xb0\x4c\xd4\xaf\xda\x45\x0a\xba\x5c\x3b\xb9\xc7\x79\xc5\x14\x2d\x18\x34\x19\x1c\x51\xdb\x25\x4d\xb4\x7e\x06\x14\x38\x6c\x59\x55\xd2\x77\xf8\x69\x59\xfc\x7b\x73\xed\x93\x43\xcb\x32\x6d\x3c\x28\xdc\x1b\x9a\xd3\x62\xab\xc2\x27\xf7\x41\xc9\x08\x2b\x23\x08\xad\x13\x57\x21\x9c\xd3\x72\x0d\x42\x72\xf8\x01\x7c\xa7\xf6\x83\xce\x39\xd7\x82\x3c\x1f\x2f\xd6\x60\x1b\xa2\xdf\x35\x89\x52\x20\xe7\x73\x74\xe0\x66\x26\x64\x4e\xb4\x97\x58\xc2\x0e\x0e\xe1\x60\x92\x34\x6d\xa0\x10\xd6\xb5\x83\x61\x27\xe6\x47\xd3\x89\xbd\x63\xfd\x3b\x8d\x03\x3d\x6c\x42\x2d\x5b\x70\xee\xe8\xdf\x4b\xf4\x66\x4e\xe1\x01\x45\x17\x80\x74\xad\x4f\xc3\xf3\xae\xc6\x1d\xc6\xd7\xc2\xce\xc9\xe1\x29\x30\x86\x2f\x4a\xa6\x4b\x15\x84\x73\xc9\x6f\xfd\x7f\xa5\x6e\x9e\xbd\xf1\xb0\xd4\xdd\x45\x5a\xc2\x3e\x4b\x78\xab\xa8\x84\x74\x4a\x91\x3b\x92\x23\x05\xf2\x1c\x1e\x7b\xf3\x09\xf8\xcf\xab\x24\xb6\x60\xa2\xe8\x4c\x9f\x75\x77\xaa\x8c\xe6\x01\x45\x36\x86\xcf\xc3\x63\x3a\xea\xd4\x8d\x7e\x06\xac\x14\x0a\xe0\x29\xf0\xed\x07\x22\x1a\x65\xda\x44\xae\xa2\x73\x1a\xe6\x90\x69\xa2\x8c\x46\xb2\x2f\xde\x49\x38\x08\xed\xfe\xfd\x41\xaf\x9f\xa9\x55\xd7\xdd\x22\x8d\xfa\x45\x63\xc5\x0f\x80\xf3\xb4\x08\xd6\x79\x30\x9e\x93\xee\x59\xa6\xd0\x4b\xee\x22\xe3\x33\xc1\x3a\x27\x68\x36\x78\x7e\x87\x0a\x06\xd5\x2e\x20\xd3\xaf\x15\xfb\xd8\x3b\x73\x14\xbb\x92\xed\x05\x5d\x2e\x29\x38\x2c\x94\xe4\x42\x45\x5e\xd3\xb5\x7d\xdf\x47\xca\x38\xb4\x5c\xaf\xfb\x7d\xdd\x6d\xf4\xa1\x2d\x77\xdd\x2f\xce\x6d\xc4\x7b\x8b\x4e\x67\xa9\x6f\xfe\x04\x00\x00\xff\xff\xb1\xd1\x27\x78\x05\x11\x00\x00") + +func jsonschemaDraft04JSONBytes() ([]byte, error) { + return bindataRead( + _jsonschemaDraft04JSON, + "jsonschema-draft-04.json", + ) +} + +func jsonschemaDraft04JSON() (*asset, error) { + bytes, err := jsonschemaDraft04JSONBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "jsonschema-draft-04.json", size: 4357, mode: os.FileMode(436), modTime: time.Unix(1540282154, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe1, 0x48, 0x9d, 0xb, 0x47, 0x55, 0xf0, 0x27, 0x93, 0x30, 0x25, 0x91, 0xd3, 0xfc, 0xb8, 0xf0, 0x7b, 0x68, 0x93, 0xa8, 0x2a, 0x94, 0xf2, 0x48, 0x95, 0xf8, 0xe4, 0xed, 0xf1, 0x1b, 0x82, 0xe2}} + return a, nil +} + +var _v2SchemaJSON = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5d\x4f\x93\xdb\x36\xb2\xbf\xfb\x53\xa0\x14\x57\xd9\xae\xd8\x92\xe3\xf7\x2e\xcf\x97\xd4\xbc\xd8\x49\x66\x37\x5e\x4f\x79\x26\xbb\x87\x78\x5c\x05\x91\x2d\x09\x09\x09\x30\x00\x38\x33\x5a\xef\x7c\xf7\x2d\xf0\x9f\x08\x02\x20\x41\x8a\xd2\xc8\x0e\x0f\xa9\x78\x28\xa0\xd1\xdd\x68\x34\x7e\xdd\xf8\xf7\xf9\x11\x42\x33\x49\x64\x04\xb3\xd7\x68\x76\x86\xfe\x76\xf9\xfe\x1f\xe8\x32\xd8\x40\x8c\xd1\x8a\x71\x74\x79\x8b\xd7\x6b\xe0\xe8\xd5\xfc\x25\x3a\xbb\x38\x9f\xcf\x9e\xab\x0a\x24\x54\xa5\x37\x52\x26\xaf\x17\x0b\x91\x17\x99\x13\xb6\xb8\x79\xb5\x10\x59\xdd\xf9\xef\x82\xd1\x6f\xf2\xc2\x8f\xf3\x4f\xb5\x1a\xea\xc7\x17\x45\x41\xc6\xd7\x8b\x90\xe3\x95\x7c\xf1\xf2\x7f\x8b\xca\x45\x3d\xb9\x4d\x32\xa6\xd8\xf2\x77\x08\x64\xfe\x8d\xc3\x9f\x29\xe1\xa0\x9a\xff\xed\x11\x42\x08\xcd\x8a\xd6\xb3\x9f\x15\x67\x74\xc5\xca\x7f\x27\x58\x6e\xc4\xec\x11\x42\xd7\x59\x5d\x1c\x86\x44\x12\x46\x71\x74\xc1\x59\x02\x5c\x12\x10\xb3\xd7\x68\x85\x23\x01\x59\x81\x04\x4b\x09\x9c\x6a\xbf\x7e\xce\x49\x7d\xba\x7b\x51\xfd\xa1\x44\xe2\xb0\x52\xac\x7d\xb3\x08\x61\x45\x68\x46\x56\x2c\x6e\x80\x86\x8c\xbf\xbd\x93\x40\x05\x61\x74\x96\x95\xbe\x7f\x84\xd0\x7d\x4e\xde\x42\xb7\xe4\xbe\x46\xbb\x14\x5b\x48\x4e\xe8\xba\x90\x05\xa1\x19\xd0\x34\xae\xc4\xce\xbe\xbc\x9a\xbf\x9c\x15\x7f\x5d\x57\xc5\x42\x10\x01\x27\x89\xe2\x48\x51\xb9\xda\x40\xd5\x87\x37\xc0\x15\x5f\x88\xad\x90\xdc\x10\x81\x42\x16\xa4\x31\x50\x39\x2f\x38\xad\xab\xb0\x53\xd8\xac\x94\x56\x6f\xc3\x84\xf4\x11\xa4\x50\xb3\xfa\xe9\xd3\x6f\x9f\x3e\xdf\x2f\xd0\xeb\x8f\x1f\x3f\x7e\xbc\xfe\xf6\xe9\xf7\xaf\x5f\x7f\xfc\x18\x7e\xfb\xec\xfb\xc7\xb3\x36\x79\x54\x43\xe8\x29\xc5\x31\x20\xc6\x11\x49\x9e\xe5\x12\x41\x66\xa0\xe8\xed\x1d\x8e\x93\x08\x5e\xa3\x27\x3b\xc3\x7c\xa2\x73\xba\xc4\x02\x2e\xb0\xdc\xf4\xe5\x76\xd1\xca\x96\xa2\x8a\x94\xcd\x21\xc9\x6c\xec\x2c\x70\x42\x9e\x34\x74\x9d\x19\x7c\xcd\x20\x9c\xea\x2e\x0a\xfe\x42\x84\xd4\x29\x04\x8c\x8a\xb4\x41\xa2\xc1\xdc\x19\x8a\x88\x90\x4a\x49\xef\xce\xdf\xbd\x45\x4a\x52\x81\x70\x10\x40\x22\x21\x44\xcb\x6d\xc5\xec\x4e\x3c\x1c\x45\xef\x57\x9a\xb5\x7d\xae\xfe\xe5\xe4\x31\x86\x90\xe0\xab\x6d\x02\x3b\x2e\xcb\x11\x90\xd9\xa8\xc6\x77\xc2\x59\x98\x06\xfd\xf9\x2e\x78\x45\x01\xa6\xa8\xa0\x71\x5c\xbe\x33\xa7\xd2\xd9\x5f\x95\xef\xd9\xd5\xac\xfd\xdc\x5d\xbf\x5e\xb8\xd1\x3e\xc7\x31\x48\xe0\x5e\x4c\x14\x65\xdf\xb8\xa8\x71\x10\x09\xa3\xc2\xc7\x02\xcb\xa2\x4e\x5a\x02\x82\x94\x13\xb9\xf5\x30\xe6\xb2\xa4\xb5\xfe\x9b\x3e\x7a\xb2\x55\xd2\xa8\x4a\xbc\x16\xb6\x71\x8e\x39\xc7\xdb\x9d\xe1\x10\x09\x71\xbd\x9c\xb3\x41\x89\xd7\xa5\x89\xdc\x57\xb5\x53\x4a\xfe\x4c\xe1\xbc\xa0\x21\x79\x0a\x1a\x0f\x70\xa7\x5c\x08\x8e\xde\xb0\xc0\x43\x24\xad\x74\x63\x0e\xb1\xd9\x90\xe1\xb0\x2d\x13\xa7\x6d\x78\xfd\x04\x14\x38\x8e\x90\xaa\xce\x63\xac\x3e\x23\xbc\x64\xa9\xb4\xf8\x03\x63\xde\xcd\xbe\x16\x13\x4a\x55\xac\x82\x12\xc6\xac\xd4\x35\xf7\x22\xd4\x3a\xff\x22\x73\x0e\x6e\x51\xa0\x75\x1e\xae\x8f\xe8\x5d\xc7\x59\xe6\xe4\x9a\x18\x8d\xd6\x1c\x53\x84\x4d\xb7\x67\x28\x37\x09\x84\x69\x88\x12\x0e\x01\x11\x80\x32\xa2\xf5\xb9\xaa\xc6\xd9\x73\x53\xab\xfb\xb4\x2e\x20\xc6\x54\x92\xa0\x9a\xf3\x69\x1a\x2f\x81\x77\x37\xae\x53\x1a\xce\x40\xc4\xa8\x82\x1c\xb5\xef\xda\x24\x7d\xb9\x61\x69\x14\xa2\x25\xa0\x90\xac\x56\xc0\x81\x4a\xb4\xe2\x2c\xce\x4a\x64\x7a\x9a\x23\xf4\x13\x91\x3f\xa7\x4b\xf4\x63\x84\x6f\x18\x87\x10\xbd\xc3\xfc\x8f\x90\xdd\x52\x44\x04\xc2\x51\xc4\x6e\x21\x74\x48\x21\x81\xc7\xe2\xfd\xea\x12\xf8\x0d\x09\xf6\xe9\x47\x35\xaf\x67\xc4\x14\xf7\x22\x27\x97\xe1\xe2\x76\x2d\x06\x8c\x4a\x1c\x48\x3f\x73\x2d\x0b\x5b\x29\x45\x24\x00\x2a\x0c\x11\xec\x94\xca\xc2\xa6\xc1\x37\x21\x43\x83\x3b\x5f\x97\xf1\x43\x5e\x53\x73\x19\xa5\x36\xd8\x2d\x05\x2e\x34\x0b\xeb\x39\xfc\x1d\x63\x51\x01\xbd\x3d\xbb\x90\x84\x40\x25\x59\x6d\x09\x5d\xa3\x1c\x37\xe6\x5c\x16\x9a\x40\x09\x70\xc1\xe8\x82\xf1\x35\xa6\xe4\xdf\x99\x5c\x8e\x9e\x4d\x79\xb4\x27\x2f\xbf\x7e\xf8\x05\x25\x8c\x50\xa9\x98\x29\x90\x62\x60\xea\x75\xae\x13\xca\xbf\x2b\x1a\x29\x27\x76\xd6\x20\xc6\x64\x5f\xe6\x32\x1a\x08\x87\x21\x07\x21\xbc\xb4\xe4\xe0\x32\x67\xa6\xcd\xf3\x1e\xcd\xd9\x6b\xb6\x6f\x8e\x27\xa7\xed\xdb\xe7\xbc\xcc\x1a\x07\xce\x6f\x87\x33\xf0\xba\x51\x17\x22\x66\x78\x79\x8e\xce\xe5\x13\x81\x80\x06\x2c\xe5\x78\x0d\xa1\xb2\xb8\x54\xa8\x79\x09\xbd\xbf\x3c\x47\x01\x8b\x13\x2c\xc9\x32\xaa\xaa\x1d\xd5\xee\xab\x36\xbd\x6c\xfd\x54\x6c\xc8\x08\x01\x3c\xbd\xe7\x07\x88\xb0\x24\x37\x79\x90\x28\x4a\x1d\x10\x1a\x92\x1b\x12\xa6\x38\x42\x40\xc3\x4c\x43\x62\x8e\xae\x36\xb0\x45\x71\x2a\xa4\x9a\x23\x79\x59\xb1\xa8\xf2\xa4\x0c\x60\x9f\xcc\x8d\x40\xf5\x80\xca\xa8\x99\xc3\xa7\x85\x1f\x31\x25\xa9\x82\xc5\x6d\xbd\xd8\x36\x76\x7c\x02\x28\x97\xf6\x1d\x74\x3b\x11\x7e\x91\xae\x32\xf8\x6c\xf4\xe6\x7b\x9a\xa5\x1f\x62\xc6\x21\xcf\x9a\xe5\xed\x8b\x02\xf3\x2c\x33\x33\xdf\x00\xca\xc9\x09\xb4\x04\xf5\xa5\x08\xd7\xc3\x02\x18\x66\xf1\xab\x1e\x83\x37\x4c\xcd\x12\xc1\x1d\x50\xf6\xaa\xbd\xfe\xe2\x73\x48\x38\x08\xa0\x32\x9b\x18\x44\x86\x0b\x6a\xc1\xaa\x26\x96\x2d\x96\x3c\xa0\x54\x65\x73\x87\x15\xca\x15\xe5\xf5\x94\x46\x9f\x33\x1a\x0c\x9a\xb1\x5a\xd9\x6a\x95\xcd\xcb\x7e\xec\x9a\xc5\x94\x3b\x37\x26\x31\xd7\xfc\xe4\x1f\x13\x8c\x31\x75\x9c\xba\xf7\x87\x3c\xa1\xb7\x4f\x17\x1b\x09\x82\x98\xc4\x70\x95\xd3\xe8\x4c\x48\x5a\xa6\xd6\x2a\x3d\x56\x42\x80\x9f\xaf\xae\x2e\x50\x0c\x42\xe0\x35\x34\x3c\x8a\x62\x03\x37\xba\xb2\x27\x04\xda\x25\x8d\x06\xe2\xa0\x13\x8a\xf3\xf5\xec\x10\x72\x67\x88\x90\x3d\x4b\x64\xeb\xaa\xda\x8f\xf7\x5a\x75\x47\x9a\xa8\x51\x70\x26\xd2\x38\xc6\x7c\xbb\x57\xfc\xbd\xe4\x04\x56\xa8\xa0\x54\x9a\x45\xd5\xf7\x0f\x16\xfc\x57\x1c\x3c\xdf\x23\xba\x77\x38\xda\x16\x4b\x31\x53\x6a\x4d\x9a\x15\x63\xe7\xe1\x18\x69\x9f\x22\xe0\x24\xbb\x94\x4b\x97\xee\x2d\xf9\x70\x87\x72\x7b\xe6\xc4\x33\x2a\x66\x5e\x1c\x35\x72\xe3\x2d\xda\x73\xe4\xc7\x51\x6d\xa4\xa1\x2a\x4f\xde\x94\xcb\xb2\x3e\x31\x48\xae\x82\xce\xc9\xc8\x65\xcd\xc3\xb7\x34\xb6\x2b\xdf\x58\x65\x78\x6e\x73\xac\x5e\x24\x0d\x3f\xdc\x70\x23\xc6\xda\x52\x0b\x2d\x63\x7d\xa9\x49\x2d\x54\x48\x28\xc0\x12\x9c\xe3\x63\xc9\x58\x04\x98\x36\x07\xc8\x0a\xa7\x91\xd4\xf0\xbc\xc1\xa8\xb9\x70\xd0\xc6\xa9\xb6\x78\x80\x5a\xa3\xb4\x2c\xf4\x18\x0b\x8a\x9d\xd0\xb4\x55\x10\xee\x0d\xc5\xd6\xe0\x99\x93\xdc\xa1\x04\xbb\xf1\xa7\x23\xd1\xd1\x97\x8c\x87\x13\x0a\x21\x02\xe9\x99\x25\xed\x20\xc5\x92\x66\x3c\x32\x9c\xd6\x06\xb0\x31\x5c\x86\x29\x0a\xcb\x60\x33\x12\xa5\x91\xfc\x96\x75\xd0\x59\xd7\x13\xbd\xd3\x23\x79\xdd\x2a\x90\xa6\x38\x06\x91\x39\x7f\x20\x72\x03\x1c\x2d\x01\x61\xba\x45\x37\x38\x22\x61\x8e\x71\x85\xc4\x32\x15\x28\x60\x61\x16\xb8\x3d\x29\xdc\x4d\x3d\x2f\x12\x13\x7d\xc8\x7e\x37\xee\xa8\x7f\xfa\xdb\xcb\x17\xff\x77\xfd\xf9\x7f\xee\x9f\x3d\xfe\xcf\xa7\xa7\x45\xfb\xcf\x1e\xf7\xf3\xe0\xff\xc4\x51\x0a\x8e\x4c\xcb\x01\xdc\x0a\x65\xb2\x01\x83\xed\x3d\xe4\xa9\xa3\x4e\x2d\x59\xc5\xe8\x2f\x48\x7d\x5a\x6e\x37\xbf\x5c\x9f\x35\x13\x64\x14\xfa\xef\x0b\x68\xa6\x0d\xb4\x8e\xf1\xa8\xff\xbb\x60\xf4\x03\x64\xab\x5b\x81\x65\x51\xe6\xda\xca\xfa\xf0\xb0\xac\x3e\x9c\xca\x26\x0e\x1d\xdb\x57\x5b\xbb\xb4\x9a\xa6\xb6\x9b\x1a\x6b\xd1\x9a\x9e\x7e\x33\x9a\xec\x41\x69\x45\x22\xb8\xb4\x51\xeb\x04\x77\xca\x6f\x7b\x7b\xc8\xb2\xb0\x95\x92\x25\x5b\xd0\x42\xaa\x2a\xdd\x32\x78\x4f\x0c\xab\x68\x46\x6c\xea\x6d\xf4\x5c\x5e\xde\xc4\xac\xa5\xf9\xd1\x00\x9f\x7d\x98\x65\x24\xbd\xc7\x97\xd4\xb3\x3a\xa8\x2b\xa0\x34\x76\xf9\x65\x5f\x2d\x25\x95\x1b\xcf\xd6\xf4\x9b\x5f\x09\x95\xb0\x36\x3f\xdb\xd0\x39\x2a\x93\x1c\x9d\x03\xa2\x4a\xca\xf5\xf6\x10\xb6\x94\x89\x0b\x6a\x70\x12\x13\x49\x6e\x40\xe4\x29\x12\x2b\xbd\x80\x45\x11\x04\xaa\xc2\x8f\x56\x9e\x5c\x6b\xec\x8d\x5a\x0e\x14\x59\x06\x2b\x1e\x24\xcb\xc2\x56\x4a\x31\xbe\x23\x71\x1a\xfb\x51\x2a\x0b\x3b\x1c\x48\x10\xa5\x82\xdc\xc0\xbb\x3e\x24\x8d\x5a\x76\x2e\x09\xed\xc1\x65\x51\xb8\x83\xcb\x3e\x24\x8d\x5a\x2e\x5d\xfe\x02\x74\x2d\x3d\xf1\xef\xae\xb8\x4b\xe6\x5e\xd4\xaa\xe2\x2e\x5c\x5e\xec\x0e\xf5\x5b\x0c\xcb\x0a\xbb\xa4\x3c\xf7\x1f\x2a\x55\x69\x97\x8c\x7d\x68\x95\xa5\xad\xb4\xf4\x9c\xa5\x07\xb9\x7a\x05\xbb\xad\x50\x6f\xfb\xa0\x4e\x9b\x48\x23\x49\x92\x28\x87\x19\x3e\x32\xee\xca\x3b\x46\x7e\x7f\x18\x64\xcc\xcc\x0f\x34\xe9\x36\x8b\xb7\x6c\xa8\xa5\x5b\x54\x4c\x54\x5b\x15\x3a\xf1\x6c\x2d\xfe\x96\xc8\x0d\xba\x7b\x81\x88\xc8\x23\xab\xee\x7d\x3b\x92\xa7\x60\x29\xe3\xdc\xff\xb8\x64\xe1\xf6\xa2\x5a\x59\xdc\x6f\xeb\x45\x7d\x6a\xd1\x76\x1e\xea\xb8\xf1\xfa\x14\xd3\x36\x63\xe5\xd7\xf3\xe4\xbe\x25\xbd\x5e\x05\xeb\x73\x74\xb5\x21\x2a\x2e\x4e\xa3\x30\xdf\xbf\x43\x28\x2a\xd1\xa5\x2a\x9d\x8a\xfd\x76\xd8\x8d\xbc\x67\x65\xc7\xb8\x03\x45\xec\xa3\xb0\x37\x8a\x70\x4c\x68\x91\x51\x8e\x58\x80\xed\x4a\xf3\x81\x62\xca\x96\xbb\xf1\x52\xcd\x80\xfb\xe4\x4a\x5d\x6c\xdf\x6e\x20\x4b\x80\x30\x8e\x28\x93\xf9\xe9\x8d\x8a\x6d\xd5\x59\x65\x7b\xaa\x44\x9e\xc0\xc2\xd1\x7c\x40\x26\xd6\x1a\xce\xf9\xc5\x69\x7b\x6c\xec\xc8\x71\x7b\xe5\x21\x2e\xd3\xe5\x65\x93\x91\x53\x0b\x7b\x3a\xc7\xfa\x17\x6a\x01\xa7\x33\xd0\xf4\x40\x0f\x39\x87\xda\xe4\x54\x87\x3a\xd5\xe3\xc7\xa6\x8e\x20\xd4\x11\xb2\x4e\xb1\xe9\x14\x9b\x4e\xb1\xe9\x14\x9b\xfe\x15\x63\xd3\x47\xf5\xff\x97\x38\xe9\xcf\x14\xf8\x76\x82\x49\x13\x4c\xaa\x7d\xcd\x6c\x62\x42\x49\x87\x43\x49\x19\x33\x6f\xe3\x44\x6e\x9b\xab\x8a\x3e\x86\xaa\x99\x52\x1b\x5b\x59\x33\x02\x09\xa0\x21\xa1\x6b\x84\x6b\x66\xbb\xdc\x16\x0c\xd3\x68\xab\xec\x36\x4b\xd8\x60\x8a\x40\x31\x85\x6e\x14\x57\x13\xc2\xfb\x92\x10\xde\xbf\x88\xdc\xbc\x53\x5e\x7f\x82\x7a\x13\xd4\x9b\xa0\xde\x04\xf5\x90\x01\xf5\x94\xcb\x7b\x83\x25\x9e\xd0\xde\x84\xf6\x6a\x5f\x4b\xb3\x98\x00\xdf\x04\xf8\x6c\xbc\x7f\x19\x80\xaf\xf1\x71\x45\x22\x98\x40\xe0\x04\x02\x27\x10\xd8\x29\xf5\x04\x02\xff\x4a\x20\x30\xc1\x72\xf3\x65\x02\x40\xd7\xc1\xd1\xe2\x6b\xf1\xa9\x7b\xfb\xe4\x20\xc0\x68\x9d\xd4\xb4\xd3\x96\xb5\xa6\xd1\x41\x20\xe6\x89\xc3\x48\x65\x58\x13\x84\x9c\x56\x56\x3b\x0c\xe0\x6b\x83\x5c\x13\xd2\x9a\x90\xd6\x84\xb4\x26\xa4\x85\x0c\xa4\x45\x19\xfd\xff\x63\x6c\x52\xb5\x1f\x1e\x19\x74\x3a\xcd\xb9\x69\xce\xa6\x3a\x0f\x7a\x2d\x19\xc7\x81\x14\x5d\xcb\xd5\x03\xc9\x39\xd0\xb0\xd1\xb3\xcd\xfb\x7a\x2d\x5d\x3a\x48\xe1\xfa\x2e\xe6\x81\x42\x18\x86\xd6\xc1\xbe\xb1\x23\xd3\xf7\x34\xed\x19\x0a\x0b\xc4\x48\x44\xfd\x22\x50\xb6\x42\x58\xbb\xe5\x3d\xa7\x73\xd4\x8b\xc4\x8c\x70\x61\xec\x73\xee\xc3\x81\x8b\xf5\xe2\xd7\x52\x3e\xcf\xeb\xeb\x17\x3b\x71\x16\xda\x7d\xb8\xde\xf0\x7a\x8f\x06\x2d\xa7\x40\x7b\xc1\x9d\x41\x4d\xb6\x61\xa2\x4e\x9f\x3d\xa0\xc5\xae\xe3\x1c\x1d\x40\x6c\x48\x8b\x63\xa0\xb5\x01\xed\x8e\x02\xe9\x86\xc8\x3b\x06\xee\xdb\x4b\xde\xbd\xc0\xa1\x6f\xcb\xda\xfc\xc2\x44\x16\x87\x9c\x17\x31\xd3\x30\x20\x39\x42\xcb\x6f\xf2\xf1\xf4\x72\x10\xf8\x1c\xa0\xf3\xbd\x10\xea\x21\x35\x7d\xe8\x86\xdb\x15\xed\x81\x81\x07\x28\xbb\x13\x28\xc7\xf8\xce\x7d\x8d\xc2\x31\xb4\x7e\x94\xd6\xdb\x55\xef\x4a\xfb\xed\xc3\x40\x3e\xeb\x9f\xe9\x99\x0f\xdf\x08\x65\x88\x27\x73\x86\x31\x9d\x47\xdf\x55\x19\xba\x3d\xee\x15\x0a\xcd\x8c\xaa\x5e\xb9\xf6\x57\x33\x73\x5a\xa1\x89\x7b\x3b\xa0\xb2\xa4\xc2\xf6\xc1\x53\xb5\x00\xca\x23\xe5\xf4\x60\x6a\xb4\x2d\x74\xea\x4e\xed\x3b\xe3\x47\xfb\xed\x82\x3d\x19\xd4\x3b\x6b\xaf\xae\x2b\x2f\x57\xb3\x82\x68\xcb\xed\x88\x2e\xe1\x5c\xd7\x26\xfa\x0a\x65\xe7\xce\x11\x33\xb4\xdd\x66\xe3\x37\xf6\xfa\x70\xd6\x4f\xa1\x21\x51\xd8\x3c\x26\x14\x4b\xc6\x87\x44\x27\x1c\x70\xf8\x9e\x46\xce\xab\x21\x07\x5f\xc1\x76\x17\x1b\x77\xb4\xda\x75\xa0\x0a\x3a\x30\xe1\xf8\x97\x32\x16\x2b\x00\x75\x85\xee\x62\x46\xef\xd3\x85\xb5\x6b\x60\xbe\xf2\x30\x7a\x8c\x0b\x4b\xa6\xd0\xf9\x64\x42\xe7\x07\x41\x41\xe3\x2c\x5d\xf9\x6d\xe9\x39\x98\x3b\x3b\x5d\x67\xd4\x5c\xed\xf2\xf0\x48\x7b\xbd\x2d\x31\xdd\x3f\x34\xad\x44\x76\x51\x9a\x56\x22\xa7\x95\xc8\x69\x25\xf2\xe1\x56\x22\x1f\x00\x32\x6a\x73\x92\xed\xe1\xc6\x7d\x9f\x49\x2c\x69\x7e\xc8\x31\x4c\x0c\xb4\xf2\x54\x3b\x79\x3b\x9e\x4d\xb4\xd1\x18\x3e\x5f\x9a\x93\xa2\x11\xc3\xda\x27\x0b\xaf\x37\x2e\x5c\x37\xfb\xeb\x9a\xd6\xc3\xac\xc3\xcc\xf8\x1e\x5b\x9d\xac\x22\x64\xb7\xed\x26\xb8\xf3\xb9\x3c\xbb\x1f\xe2\xb0\x22\x77\x43\x6a\x62\x29\x39\x59\xa6\xe6\xe5\xcd\x7b\x83\xc0\x5b\x8e\x93\x64\xac\xeb\xca\x4f\x65\xac\x4a\xbc\x1e\xcd\x82\xfa\x3c\x70\x36\xb6\xb5\xed\x79\xef\xec\x68\x00\xff\x54\xfa\xb5\xe3\xf1\xdb\xe1\xbe\xce\x76\x17\xaf\x57\xb6\x6b\x89\x05\x09\xce\x52\xb9\x01\x2a\x49\xbe\xd9\xf4\xd2\xb8\x7a\xbf\x91\x02\xf3\x22\x8c\x13\xf2\x77\xd8\x8e\x43\x8b\xe1\x54\x6e\x5e\x9d\xc7\x49\x44\x02\x22\xc7\xa4\x79\x81\x85\xb8\x65\x3c\x1c\x93\xe6\x59\xa2\xf8\x1c\x51\x95\x05\xd9\x20\x00\x21\x7e\x60\x21\x58\xa9\x56\xff\xbe\xb6\x5a\x5e\x5b\x3f\x1f\xd6\xd3\x3c\xc4\x4d\xba\x99\xb4\x63\x6e\x7d\x3e\x3d\x57\xd2\x18\x5f\x47\xe8\xc3\x06\x8a\x68\x6c\x7f\x3b\x72\x0f\xe7\xe2\x77\x77\xf1\xd0\x99\xab\xdf\x2e\xfe\xd6\xbb\xcd\x1a\xb9\x90\xd1\xaf\xf2\x38\x3d\xdb\x74\xf8\xeb\xe3\xda\xe8\x2a\x62\xb7\xda\x1b\x07\xa9\xdc\x30\x5e\xbc\x68\xfb\x6b\x9f\x97\xf1\xc6\xb1\xd8\x5c\x29\x1e\x49\x30\xc5\xf7\xde\xad\x91\x42\xf9\xdd\xed\x89\x80\x25\xbe\x37\xd7\xe7\x32\x5c\xe6\x35\xac\xd4\x0c\x2d\xf7\x90\xc4\xe3\xf5\xe3\x2f\x7f\x54\x18\x88\xe3\x61\x47\x85\x64\x7f\xc0\xd7\x3f\x1a\x92\x42\xe9\xc7\x1e\x0d\x95\x76\xa7\x51\xa0\x8f\x02\x1b\x46\x9e\x06\x42\xd1\xf2\x01\x07\x02\xde\xe9\x7d\x1a\x0b\xa7\x32\x16\xcc\xc0\xee\xc4\x90\xd2\x5f\x6f\x98\x54\x5d\xf2\x95\xe1\xa7\x69\x10\x3a\x06\xe1\x65\xb3\x17\x47\x58\x78\xd0\x45\xd6\x5b\xd5\x5f\x25\x1d\x71\x49\xa6\x7a\x64\xda\xd0\x6f\xc7\x3a\x4c\xe3\x09\xc0\x6e\x96\x2c\xa7\xa7\x77\x34\x10\x05\x08\x21\x44\x92\x65\x77\xdf\x20\x5c\xbc\xe7\x97\x3f\xf4\x1a\x45\xd6\xe7\x27\x4a\xde\x74\x27\x66\x11\x7d\x70\xba\xd3\x78\xf9\x1e\x0d\xca\xc8\x39\xde\x7c\xb3\xa6\xe1\xbc\xd7\xc1\x6a\x6f\xb3\x0e\x52\xbe\xe4\x98\x8a\x15\x70\x94\x70\x26\x59\xc0\xa2\xf2\x1c\xfb\xd9\xc5\xf9\xbc\xd5\x92\x9c\xa3\xdf\xe6\x1e\xb3\x0d\x49\xba\x87\x50\x5f\x84\xfe\xe9\xd6\xf8\xbb\xe6\xf0\x7a\xeb\xa6\x65\x3b\x86\x8b\x79\x93\xf5\x59\x20\x6e\xb4\xa7\x44\xf4\x3f\xa5\xfe\x67\x42\x12\xdb\xd3\xe7\xbb\xa5\xa3\x8c\x5c\x2b\x97\xbb\xbb\x7f\x8e\xc5\x6e\xed\x43\x5c\xbf\x74\xc8\x8f\xff\xe6\xd6\xbe\x91\xb6\xf5\x95\xe4\xed\x93\xc4\xa8\x5b\xf9\x76\x4d\x35\xb7\xd8\x8c\xb6\x7d\xaf\x72\xe0\xb6\xbd\x01\x63\x9e\x76\xab\x1a\x32\x76\xe4\x8c\x76\xc2\xad\x6c\xa2\x65\xf7\xcf\xf8\xa7\xda\x2a\xb9\x8c\x3d\x3c\xa3\x9d\x64\x33\xe5\x1a\xb5\x2d\xfb\x86\xa2\x5a\x7f\x19\x5b\x7f\xc6\x3f\xd1\x53\xd3\xe2\x41\x5b\xd3\x4f\xf0\xec\xb0\x42\x73\x43\xd2\x68\x27\xd3\x6a\x6a\x34\xf6\x4e\x1e\x52\x8b\x87\x6c\xcc\xae\x44\xfb\x9e\xa7\x51\x4f\x9d\x55\x03\x81\x8e\x67\xfc\xb4\x69\xf0\x3a\x18\xf2\x40\xd0\xf6\xa8\x34\xe3\xc9\x98\xaf\xf6\xda\x24\xd3\xeb\x60\xb9\x0e\xd3\x1f\xa9\xff\xee\x1f\xfd\x37\x00\x00\xff\xff\x69\x5d\x0a\x6a\x39\x9d\x00\x00") + +func v2SchemaJSONBytes() ([]byte, error) { + return bindataRead( + _v2SchemaJSON, + "v2/schema.json", + ) +} + +func v2SchemaJSON() (*asset, error) { + bytes, err := v2SchemaJSONBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "v2/schema.json", size: 40249, mode: os.FileMode(436), modTime: time.Unix(1540282154, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcb, 0x25, 0x27, 0xe8, 0x46, 0xae, 0x22, 0xc4, 0xf4, 0x8b, 0x1, 0x32, 0x4d, 0x1f, 0xf8, 0xdf, 0x75, 0x15, 0xc8, 0x2d, 0xc7, 0xed, 0xe, 0x7e, 0x0, 0x75, 0xc0, 0xf9, 0xd2, 0x1f, 0x75, 0x57}} + return a, nil +} + +// Asset loads and returns the asset for the given name. +// It returns an error if the asset could not be found or +// could not be loaded. +func Asset(name string) ([]byte, error) { + canonicalName := strings.Replace(name, "\\", "/", -1) + if f, ok := _bindata[canonicalName]; ok { + a, err := f() + if err != nil { + return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err) + } + return a.bytes, nil + } + return nil, fmt.Errorf("Asset %s not found", name) +} + +// AssetString returns the asset contents as a string (instead of a []byte). +func AssetString(name string) (string, error) { + data, err := Asset(name) + return string(data), err +} + +// MustAsset is like Asset but panics when Asset would return an error. +// It simplifies safe initialization of global variables. +func MustAsset(name string) []byte { + a, err := Asset(name) + if err != nil { + panic("asset: Asset(" + name + "): " + err.Error()) + } + + return a +} + +// MustAssetString is like AssetString but panics when Asset would return an +// error. It simplifies safe initialization of global variables. +func MustAssetString(name string) string { + return string(MustAsset(name)) +} + +// AssetInfo loads and returns the asset info for the given name. +// It returns an error if the asset could not be found or +// could not be loaded. +func AssetInfo(name string) (os.FileInfo, error) { + canonicalName := strings.Replace(name, "\\", "/", -1) + if f, ok := _bindata[canonicalName]; ok { + a, err := f() + if err != nil { + return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err) + } + return a.info, nil + } + return nil, fmt.Errorf("AssetInfo %s not found", name) +} + +// AssetDigest returns the digest of the file with the given name. It returns an +// error if the asset could not be found or the digest could not be loaded. +func AssetDigest(name string) ([sha256.Size]byte, error) { + canonicalName := strings.Replace(name, "\\", "/", -1) + if f, ok := _bindata[canonicalName]; ok { + a, err := f() + if err != nil { + return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err) + } + return a.digest, nil + } + return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name) +} + +// Digests returns a map of all known files and their checksums. +func Digests() (map[string][sha256.Size]byte, error) { + mp := make(map[string][sha256.Size]byte, len(_bindata)) + for name := range _bindata { + a, err := _bindata[name]() + if err != nil { + return nil, err + } + mp[name] = a.digest + } + return mp, nil +} + +// AssetNames returns the names of the assets. +func AssetNames() []string { + names := make([]string, 0, len(_bindata)) + for name := range _bindata { + names = append(names, name) + } + return names +} + +// _bindata is a table, holding each asset generator, mapped to its name. +var _bindata = map[string]func() (*asset, error){ + "jsonschema-draft-04.json": jsonschemaDraft04JSON, + + "v2/schema.json": v2SchemaJSON, +} + +// AssetDir returns the file names below a certain +// directory embedded in the file by go-bindata. +// For example if you run go-bindata on data/... and data contains the +// following hierarchy: +// data/ +// foo.txt +// img/ +// a.png +// b.png +// then AssetDir("data") would return []string{"foo.txt", "img"}, +// AssetDir("data/img") would return []string{"a.png", "b.png"}, +// AssetDir("foo.txt") and AssetDir("notexist") would return an error, and +// AssetDir("") will return []string{"data"}. +func AssetDir(name string) ([]string, error) { + node := _bintree + if len(name) != 0 { + canonicalName := strings.Replace(name, "\\", "/", -1) + pathList := strings.Split(canonicalName, "/") + for _, p := range pathList { + node = node.Children[p] + if node == nil { + return nil, fmt.Errorf("Asset %s not found", name) + } + } + } + if node.Func != nil { + return nil, fmt.Errorf("Asset %s not found", name) + } + rv := make([]string, 0, len(node.Children)) + for childName := range node.Children { + rv = append(rv, childName) + } + return rv, nil +} + +type bintree struct { + Func func() (*asset, error) + Children map[string]*bintree +} + +var _bintree = &bintree{nil, map[string]*bintree{ + "jsonschema-draft-04.json": &bintree{jsonschemaDraft04JSON, map[string]*bintree{}}, + "v2": &bintree{nil, map[string]*bintree{ + "schema.json": &bintree{v2SchemaJSON, map[string]*bintree{}}, + }}, +}} + +// RestoreAsset restores an asset under the given directory. +func RestoreAsset(dir, name string) error { + data, err := Asset(name) + if err != nil { + return err + } + info, err := AssetInfo(name) + if err != nil { + return err + } + err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755)) + if err != nil { + return err + } + err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode()) + if err != nil { + return err + } + return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) +} + +// RestoreAssets restores an asset under the given directory recursively. +func RestoreAssets(dir, name string) error { + children, err := AssetDir(name) + // File + if err != nil { + return RestoreAsset(dir, name) + } + // Dir + for _, child := range children { + err = RestoreAssets(dir, filepath.Join(name, child)) + if err != nil { + return err + } + } + return nil +} + +func _filePath(dir, name string) string { + canonicalName := strings.Replace(name, "\\", "/", -1) + return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...) +} diff --git a/vendor/github.com/go-openapi/spec/cache.go b/vendor/github.com/go-openapi/spec/cache.go new file mode 100644 index 00000000000..3fada0daef1 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/cache.go @@ -0,0 +1,60 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import "sync" + +// ResolutionCache a cache for resolving urls +type ResolutionCache interface { + Get(string) (interface{}, bool) + Set(string, interface{}) +} + +type simpleCache struct { + lock sync.RWMutex + store map[string]interface{} +} + +// Get retrieves a cached URI +func (s *simpleCache) Get(uri string) (interface{}, bool) { + debugLog("getting %q from resolution cache", uri) + s.lock.RLock() + v, ok := s.store[uri] + debugLog("got %q from resolution cache: %t", uri, ok) + + s.lock.RUnlock() + return v, ok +} + +// Set caches a URI +func (s *simpleCache) Set(uri string, data interface{}) { + s.lock.Lock() + s.store[uri] = data + s.lock.Unlock() +} + +var resCache ResolutionCache + +func init() { + resCache = initResolutionCache() +} + +// initResolutionCache initializes the URI resolution cache +func initResolutionCache() ResolutionCache { + return &simpleCache{store: map[string]interface{}{ + "http://swagger.io/v2/schema.json": MustLoadSwagger20Schema(), + "http://json-schema.org/draft-04/schema": MustLoadJSONSchemaDraft04(), + }} +} diff --git a/vendor/github.com/go-openapi/spec/contact_info.go b/vendor/github.com/go-openapi/spec/contact_info.go new file mode 100644 index 00000000000..f285970aa19 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/contact_info.go @@ -0,0 +1,24 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +// ContactInfo contact information for the exposed API. +// +// For more information: http://goo.gl/8us55a#contactObject +type ContactInfo struct { + Name string `json:"name,omitempty"` + URL string `json:"url,omitempty"` + Email string `json:"email,omitempty"` +} diff --git a/vendor/github.com/go-openapi/spec/debug.go b/vendor/github.com/go-openapi/spec/debug.go new file mode 100644 index 00000000000..389c528ff61 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/debug.go @@ -0,0 +1,47 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "fmt" + "log" + "os" + "path/filepath" + "runtime" +) + +var ( + // Debug is true when the SWAGGER_DEBUG env var is not empty. + // It enables a more verbose logging of this package. + Debug = os.Getenv("SWAGGER_DEBUG") != "" + // specLogger is a debug logger for this package + specLogger *log.Logger +) + +func init() { + debugOptions() +} + +func debugOptions() { + specLogger = log.New(os.Stdout, "spec:", log.LstdFlags) +} + +func debugLog(msg string, args ...interface{}) { + // A private, trivial trace logger, based on go-openapi/spec/expander.go:debugLog() + if Debug { + _, file1, pos1, _ := runtime.Caller(1) + specLogger.Printf("%s:%d: %s", filepath.Base(file1), pos1, fmt.Sprintf(msg, args...)) + } +} diff --git a/vendor/github.com/go-openapi/spec/expander.go b/vendor/github.com/go-openapi/spec/expander.go new file mode 100644 index 00000000000..1e7fc8c490c --- /dev/null +++ b/vendor/github.com/go-openapi/spec/expander.go @@ -0,0 +1,650 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "encoding/json" + "fmt" + "strings" +) + +// ExpandOptions provides options for spec expand +type ExpandOptions struct { + RelativeBase string + SkipSchemas bool + ContinueOnError bool + AbsoluteCircularRef bool +} + +// ResolveRefWithBase resolves a reference against a context root with preservation of base path +func ResolveRefWithBase(root interface{}, ref *Ref, opts *ExpandOptions) (*Schema, error) { + resolver, err := defaultSchemaLoader(root, opts, nil, nil) + if err != nil { + return nil, err + } + specBasePath := "" + if opts != nil && opts.RelativeBase != "" { + specBasePath, _ = absPath(opts.RelativeBase) + } + + result := new(Schema) + if err := resolver.Resolve(ref, result, specBasePath); err != nil { + return nil, err + } + return result, nil +} + +// ResolveRef resolves a reference against a context root +// ref is guaranteed to be in root (no need to go to external files) +// ResolveRef is ONLY called from the code generation module +func ResolveRef(root interface{}, ref *Ref) (*Schema, error) { + res, _, err := ref.GetPointer().Get(root) + if err != nil { + panic(err) + } + switch sch := res.(type) { + case Schema: + return &sch, nil + case *Schema: + return sch, nil + case map[string]interface{}: + b, _ := json.Marshal(sch) + newSch := new(Schema) + _ = json.Unmarshal(b, newSch) + return newSch, nil + default: + return nil, fmt.Errorf("unknown type for the resolved reference") + } +} + +// ResolveParameter resolves a parameter reference against a context root +func ResolveParameter(root interface{}, ref Ref) (*Parameter, error) { + return ResolveParameterWithBase(root, ref, nil) +} + +// ResolveParameterWithBase resolves a parameter reference against a context root and base path +func ResolveParameterWithBase(root interface{}, ref Ref, opts *ExpandOptions) (*Parameter, error) { + resolver, err := defaultSchemaLoader(root, opts, nil, nil) + if err != nil { + return nil, err + } + + result := new(Parameter) + if err := resolver.Resolve(&ref, result, ""); err != nil { + return nil, err + } + return result, nil +} + +// ResolveResponse resolves response a reference against a context root +func ResolveResponse(root interface{}, ref Ref) (*Response, error) { + return ResolveResponseWithBase(root, ref, nil) +} + +// ResolveResponseWithBase resolves response a reference against a context root and base path +func ResolveResponseWithBase(root interface{}, ref Ref, opts *ExpandOptions) (*Response, error) { + resolver, err := defaultSchemaLoader(root, opts, nil, nil) + if err != nil { + return nil, err + } + + result := new(Response) + if err := resolver.Resolve(&ref, result, ""); err != nil { + return nil, err + } + return result, nil +} + +// ResolveItems resolves parameter items reference against a context root and base path. +// +// NOTE: stricly speaking, this construct is not supported by Swagger 2.0. +// Similarly, $ref are forbidden in response headers. +func ResolveItems(root interface{}, ref Ref, opts *ExpandOptions) (*Items, error) { + resolver, err := defaultSchemaLoader(root, opts, nil, nil) + if err != nil { + return nil, err + } + basePath := "" + if opts.RelativeBase != "" { + basePath = opts.RelativeBase + } + result := new(Items) + if err := resolver.Resolve(&ref, result, basePath); err != nil { + return nil, err + } + return result, nil +} + +// ResolvePathItem resolves response a path item against a context root and base path +func ResolvePathItem(root interface{}, ref Ref, opts *ExpandOptions) (*PathItem, error) { + resolver, err := defaultSchemaLoader(root, opts, nil, nil) + if err != nil { + return nil, err + } + basePath := "" + if opts.RelativeBase != "" { + basePath = opts.RelativeBase + } + result := new(PathItem) + if err := resolver.Resolve(&ref, result, basePath); err != nil { + return nil, err + } + return result, nil +} + +// ExpandSpec expands the references in a swagger spec +func ExpandSpec(spec *Swagger, options *ExpandOptions) error { + resolver, err := defaultSchemaLoader(spec, options, nil, nil) + // Just in case this ever returns an error. + if resolver.shouldStopOnError(err) { + return err + } + + // getting the base path of the spec to adjust all subsequent reference resolutions + specBasePath := "" + if options != nil && options.RelativeBase != "" { + specBasePath, _ = absPath(options.RelativeBase) + } + + if options == nil || !options.SkipSchemas { + for key, definition := range spec.Definitions { + var def *Schema + var err error + if def, err = expandSchema(definition, []string{fmt.Sprintf("#/definitions/%s", key)}, resolver, specBasePath); resolver.shouldStopOnError(err) { + return err + } + if def != nil { + spec.Definitions[key] = *def + } + } + } + + for key := range spec.Parameters { + parameter := spec.Parameters[key] + if err := expandParameterOrResponse(¶meter, resolver, specBasePath); resolver.shouldStopOnError(err) { + return err + } + spec.Parameters[key] = parameter + } + + for key := range spec.Responses { + response := spec.Responses[key] + if err := expandParameterOrResponse(&response, resolver, specBasePath); resolver.shouldStopOnError(err) { + return err + } + spec.Responses[key] = response + } + + if spec.Paths != nil { + for key := range spec.Paths.Paths { + path := spec.Paths.Paths[key] + if err := expandPathItem(&path, resolver, specBasePath); resolver.shouldStopOnError(err) { + return err + } + spec.Paths.Paths[key] = path + } + } + + return nil +} + +// baseForRoot loads in the cache the root document and produces a fake "root" base path entry +// for further $ref resolution +func baseForRoot(root interface{}, cache ResolutionCache) string { + // cache the root document to resolve $ref's + const rootBase = "root" + if root != nil { + base, _ := absPath(rootBase) + normalizedBase := normalizeAbsPath(base) + debugLog("setting root doc in cache at: %s", normalizedBase) + if cache == nil { + cache = resCache + } + cache.Set(normalizedBase, root) + return rootBase + } + return "" +} + +// ExpandSchema expands the refs in the schema object with reference to the root object +// go-openapi/validate uses this function +// notice that it is impossible to reference a json schema in a different file other than root +func ExpandSchema(schema *Schema, root interface{}, cache ResolutionCache) error { + opts := &ExpandOptions{ + // when a root is specified, cache the root as an in-memory document for $ref retrieval + RelativeBase: baseForRoot(root, cache), + SkipSchemas: false, + ContinueOnError: false, + // when no base path is specified, remaining $ref (circular) are rendered with an absolute path + AbsoluteCircularRef: true, + } + return ExpandSchemaWithBasePath(schema, cache, opts) +} + +// ExpandSchemaWithBasePath expands the refs in the schema object, base path configured through expand options +func ExpandSchemaWithBasePath(schema *Schema, cache ResolutionCache, opts *ExpandOptions) error { + if schema == nil { + return nil + } + + var basePath string + if opts.RelativeBase != "" { + basePath, _ = absPath(opts.RelativeBase) + } + + resolver, err := defaultSchemaLoader(nil, opts, cache, nil) + if err != nil { + return err + } + + refs := []string{""} + var s *Schema + if s, err = expandSchema(*schema, refs, resolver, basePath); err != nil { + return err + } + *schema = *s + return nil +} + +func expandItems(target Schema, parentRefs []string, resolver *schemaLoader, basePath string) (*Schema, error) { + if target.Items != nil { + if target.Items.Schema != nil { + t, err := expandSchema(*target.Items.Schema, parentRefs, resolver, basePath) + if err != nil { + return nil, err + } + *target.Items.Schema = *t + } + for i := range target.Items.Schemas { + t, err := expandSchema(target.Items.Schemas[i], parentRefs, resolver, basePath) + if err != nil { + return nil, err + } + target.Items.Schemas[i] = *t + } + } + return &target, nil +} + +func expandSchema(target Schema, parentRefs []string, resolver *schemaLoader, basePath string) (*Schema, error) { + if target.Ref.String() == "" && target.Ref.IsRoot() { + // normalizing is important + newRef := normalizeFileRef(&target.Ref, basePath) + target.Ref = *newRef + return &target, nil + + } + + // change the base path of resolution when an ID is encountered + // otherwise the basePath should inherit the parent's + // important: ID can be relative path + if target.ID != "" { + debugLog("schema has ID: %s", target.ID) + // handling the case when id is a folder + // remember that basePath has to be a file + refPath := target.ID + if strings.HasSuffix(target.ID, "/") { + // path.Clean here would not work correctly if basepath is http + refPath = fmt.Sprintf("%s%s", refPath, "placeholder.json") + } + basePath = normalizePaths(refPath, basePath) + } + + var t *Schema + // if Ref is found, everything else doesn't matter + // Ref also changes the resolution scope of children expandSchema + if target.Ref.String() != "" { + // here the resolution scope is changed because a $ref was encountered + normalizedRef := normalizeFileRef(&target.Ref, basePath) + normalizedBasePath := normalizedRef.RemoteURI() + + if resolver.isCircular(normalizedRef, basePath, parentRefs...) { + // this means there is a cycle in the recursion tree: return the Ref + // - circular refs cannot be expanded. We leave them as ref. + // - denormalization means that a new local file ref is set relative to the original basePath + debugLog("shortcut circular ref: basePath: %s, normalizedPath: %s, normalized ref: %s", + basePath, normalizedBasePath, normalizedRef.String()) + if !resolver.options.AbsoluteCircularRef { + target.Ref = *denormalizeFileRef(normalizedRef, normalizedBasePath, resolver.context.basePath) + } else { + target.Ref = *normalizedRef + } + return &target, nil + } + + debugLog("basePath: %s: calling Resolve with target: %#v", basePath, target) + if err := resolver.Resolve(&target.Ref, &t, basePath); resolver.shouldStopOnError(err) { + return nil, err + } + + if t != nil { + parentRefs = append(parentRefs, normalizedRef.String()) + var err error + transitiveResolver, err := resolver.transitiveResolver(basePath, target.Ref) + if transitiveResolver.shouldStopOnError(err) { + return nil, err + } + + basePath = resolver.updateBasePath(transitiveResolver, normalizedBasePath) + + return expandSchema(*t, parentRefs, transitiveResolver, basePath) + } + } + + t, err := expandItems(target, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + target = *t + } + + for i := range target.AllOf { + t, err := expandSchema(target.AllOf[i], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + target.AllOf[i] = *t + } + for i := range target.AnyOf { + t, err := expandSchema(target.AnyOf[i], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + target.AnyOf[i] = *t + } + for i := range target.OneOf { + t, err := expandSchema(target.OneOf[i], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + target.OneOf[i] = *t + } + } + if target.Not != nil { + t, err := expandSchema(*target.Not, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + *target.Not = *t + } + } + for k := range target.Properties { + t, err := expandSchema(target.Properties[k], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + target.Properties[k] = *t + } + } + if target.AdditionalProperties != nil && target.AdditionalProperties.Schema != nil { + t, err := expandSchema(*target.AdditionalProperties.Schema, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + *target.AdditionalProperties.Schema = *t + } + } + for k := range target.PatternProperties { + t, err := expandSchema(target.PatternProperties[k], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + target.PatternProperties[k] = *t + } + } + for k := range target.Dependencies { + if target.Dependencies[k].Schema != nil { + t, err := expandSchema(*target.Dependencies[k].Schema, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + *target.Dependencies[k].Schema = *t + } + } + } + if target.AdditionalItems != nil && target.AdditionalItems.Schema != nil { + t, err := expandSchema(*target.AdditionalItems.Schema, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + *target.AdditionalItems.Schema = *t + } + } + for k := range target.Definitions { + t, err := expandSchema(target.Definitions[k], parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return &target, err + } + if t != nil { + target.Definitions[k] = *t + } + } + return &target, nil +} + +func expandPathItem(pathItem *PathItem, resolver *schemaLoader, basePath string) error { + if pathItem == nil { + return nil + } + + parentRefs := []string{} + if err := resolver.deref(pathItem, parentRefs, basePath); resolver.shouldStopOnError(err) { + return err + } + if pathItem.Ref.String() != "" { + var err error + resolver, err = resolver.transitiveResolver(basePath, pathItem.Ref) + if resolver.shouldStopOnError(err) { + return err + } + } + pathItem.Ref = Ref{} + + for idx := range pathItem.Parameters { + if err := expandParameterOrResponse(&(pathItem.Parameters[idx]), resolver, basePath); resolver.shouldStopOnError(err) { + return err + } + } + ops := []*Operation{ + pathItem.Get, + pathItem.Head, + pathItem.Options, + pathItem.Put, + pathItem.Post, + pathItem.Patch, + pathItem.Delete, + } + for _, op := range ops { + if err := expandOperation(op, resolver, basePath); resolver.shouldStopOnError(err) { + return err + } + } + return nil +} + +func expandOperation(op *Operation, resolver *schemaLoader, basePath string) error { + if op == nil { + return nil + } + + for i := range op.Parameters { + param := op.Parameters[i] + if err := expandParameterOrResponse(¶m, resolver, basePath); resolver.shouldStopOnError(err) { + return err + } + op.Parameters[i] = param + } + + if op.Responses != nil { + responses := op.Responses + if err := expandParameterOrResponse(responses.Default, resolver, basePath); resolver.shouldStopOnError(err) { + return err + } + for code := range responses.StatusCodeResponses { + response := responses.StatusCodeResponses[code] + if err := expandParameterOrResponse(&response, resolver, basePath); resolver.shouldStopOnError(err) { + return err + } + responses.StatusCodeResponses[code] = response + } + } + return nil +} + +// ExpandResponseWithRoot expands a response based on a root document, not a fetchable document +func ExpandResponseWithRoot(response *Response, root interface{}, cache ResolutionCache) error { + opts := &ExpandOptions{ + RelativeBase: baseForRoot(root, cache), + SkipSchemas: false, + ContinueOnError: false, + // when no base path is specified, remaining $ref (circular) are rendered with an absolute path + AbsoluteCircularRef: true, + } + resolver, err := defaultSchemaLoader(root, opts, nil, nil) + if err != nil { + return err + } + + return expandParameterOrResponse(response, resolver, opts.RelativeBase) +} + +// ExpandResponse expands a response based on a basepath +// This is the exported version of expandResponse +// all refs inside response will be resolved relative to basePath +func ExpandResponse(response *Response, basePath string) error { + var specBasePath string + if basePath != "" { + specBasePath, _ = absPath(basePath) + } + opts := &ExpandOptions{ + RelativeBase: specBasePath, + } + resolver, err := defaultSchemaLoader(nil, opts, nil, nil) + if err != nil { + return err + } + + return expandParameterOrResponse(response, resolver, opts.RelativeBase) +} + +// ExpandParameterWithRoot expands a parameter based on a root document, not a fetchable document +func ExpandParameterWithRoot(parameter *Parameter, root interface{}, cache ResolutionCache) error { + opts := &ExpandOptions{ + RelativeBase: baseForRoot(root, cache), + SkipSchemas: false, + ContinueOnError: false, + // when no base path is specified, remaining $ref (circular) are rendered with an absolute path + AbsoluteCircularRef: true, + } + resolver, err := defaultSchemaLoader(root, opts, nil, nil) + if err != nil { + return err + } + + return expandParameterOrResponse(parameter, resolver, opts.RelativeBase) +} + +// ExpandParameter expands a parameter based on a basepath. +// This is the exported version of expandParameter +// all refs inside parameter will be resolved relative to basePath +func ExpandParameter(parameter *Parameter, basePath string) error { + var specBasePath string + if basePath != "" { + specBasePath, _ = absPath(basePath) + } + opts := &ExpandOptions{ + RelativeBase: specBasePath, + } + resolver, err := defaultSchemaLoader(nil, opts, nil, nil) + if err != nil { + return err + } + + return expandParameterOrResponse(parameter, resolver, opts.RelativeBase) +} + +func getRefAndSchema(input interface{}) (*Ref, *Schema, error) { + var ref *Ref + var sch *Schema + switch refable := input.(type) { + case *Parameter: + if refable == nil { + return nil, nil, nil + } + ref = &refable.Ref + sch = refable.Schema + case *Response: + if refable == nil { + return nil, nil, nil + } + ref = &refable.Ref + sch = refable.Schema + default: + return nil, nil, fmt.Errorf("expand: unsupported type %T. Input should be of type *Parameter or *Response", input) + } + return ref, sch, nil +} + +func expandParameterOrResponse(input interface{}, resolver *schemaLoader, basePath string) error { + ref, _, err := getRefAndSchema(input) + if err != nil { + return err + } + if ref == nil { + return nil + } + parentRefs := []string{} + if err := resolver.deref(input, parentRefs, basePath); resolver.shouldStopOnError(err) { + return err + } + ref, sch, _ := getRefAndSchema(input) + if ref.String() != "" { + transitiveResolver, err := resolver.transitiveResolver(basePath, *ref) + if transitiveResolver.shouldStopOnError(err) { + return err + } + basePath = resolver.updateBasePath(transitiveResolver, basePath) + resolver = transitiveResolver + } + + if sch != nil && sch.Ref.String() != "" { + // schema expanded to a $ref in another root + var ern error + sch.Ref, ern = NewRef(normalizePaths(sch.Ref.String(), ref.RemoteURI())) + if ern != nil { + return ern + } + } + if ref != nil { + *ref = Ref{} + } + + if !resolver.options.SkipSchemas && sch != nil { + s, err := expandSchema(*sch, parentRefs, resolver, basePath) + if resolver.shouldStopOnError(err) { + return err + } + *sch = *s + } + return nil +} diff --git a/vendor/github.com/go-openapi/spec/external_docs.go b/vendor/github.com/go-openapi/spec/external_docs.go new file mode 100644 index 00000000000..88add91b2b8 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/external_docs.go @@ -0,0 +1,24 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +// ExternalDocumentation allows referencing an external resource for +// extended documentation. +// +// For more information: http://goo.gl/8us55a#externalDocumentationObject +type ExternalDocumentation struct { + Description string `json:"description,omitempty"` + URL string `json:"url,omitempty"` +} diff --git a/vendor/github.com/go-openapi/spec/go.mod b/vendor/github.com/go-openapi/spec/go.mod new file mode 100644 index 00000000000..42073be0075 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/go.mod @@ -0,0 +1,14 @@ +module github.com/go-openapi/spec + +require ( + github.com/go-openapi/jsonpointer v0.19.2 + github.com/go-openapi/jsonreference v0.19.2 + github.com/go-openapi/swag v0.19.2 + github.com/kr/pty v1.1.5 // indirect + github.com/stretchr/objx v0.2.0 // indirect + github.com/stretchr/testify v1.3.0 + golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8 // indirect + golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f // indirect + golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59 // indirect + gopkg.in/yaml.v2 v2.2.2 +) diff --git a/vendor/github.com/go-openapi/spec/go.sum b/vendor/github.com/go-openapi/spec/go.sum new file mode 100644 index 00000000000..73e97a2d73e --- /dev/null +++ b/vendor/github.com/go-openapi/spec/go.sum @@ -0,0 +1,66 @@ +github.com/PuerkitoBio/purell v1.1.0 h1:rmGxhojJlM0tuKtfdvliR84CFHljx9ag64t2xmVkjK4= +github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/go-openapi/jsonpointer v0.17.0 h1:nH6xp8XdXHx8dqveo0ZuJBluCO2qGrPbDNZ0dwoRHP0= +github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= +github.com/go-openapi/jsonpointer v0.19.0 h1:FTUMcX77w5rQkClIzDtTxvn6Bsa894CcrzNj2MMfeg8= +github.com/go-openapi/jsonpointer v0.19.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= +github.com/go-openapi/jsonpointer v0.19.2 h1:A9+F4Dc/MCNB5jibxf6rRvOvR/iFgQdyNx9eIhnGqq0= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonreference v0.19.0 h1:BqWKpV1dFd+AuiKlgtddwVIFQsuMpxfBDBHGfM2yNpk= +github.com/go-openapi/jsonreference v0.19.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= +github.com/go-openapi/jsonreference v0.19.2 h1:o20suLFB4Ri0tuzpWtyHlh7E7HnkqTNLq6aR6WVNS1w= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/swag v0.17.0 h1:iqrgMg7Q7SvtbWLlltPrkMs0UBJI6oTSs79JFRUi880= +github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= +github.com/go-openapi/swag v0.19.2 h1:jvO6bCMBEilGwMfHhrd61zIID4oIFdwb76V17SM88dE= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 h1:2gxZ0XQIU/5z3Z3bUBu+FXuk2pFbkN6tcwi/pjyaDic= +github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 h1:nTT4s92Dgz2HlrB2NaMgvlfqHH39OgMhA7z3PK7PGD4= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/net v0.0.0-20181005035420-146acd28ed58 h1:otZG8yDCO4LVps5+9bxOeNiCvgmOyt96J3roHTYs7oE= +golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980 h1:dfGZHvZk057jK2MCeWus/TowKpJ8y4AmooUzdBSR9GU= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/go-openapi/spec/header.go b/vendor/github.com/go-openapi/spec/header.go new file mode 100644 index 00000000000..39efe452bb0 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/header.go @@ -0,0 +1,197 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "encoding/json" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +const ( + jsonArray = "array" +) + +// HeaderProps describes a response header +type HeaderProps struct { + Description string `json:"description,omitempty"` +} + +// Header describes a header for a response of the API +// +// For more information: http://goo.gl/8us55a#headerObject +type Header struct { + CommonValidations + SimpleSchema + VendorExtensible + HeaderProps +} + +// ResponseHeader creates a new header instance for use in a response +func ResponseHeader() *Header { + return new(Header) +} + +// WithDescription sets the description on this response, allows for chaining +func (h *Header) WithDescription(description string) *Header { + h.Description = description + return h +} + +// Typed a fluent builder method for the type of parameter +func (h *Header) Typed(tpe, format string) *Header { + h.Type = tpe + h.Format = format + return h +} + +// CollectionOf a fluent builder method for an array item +func (h *Header) CollectionOf(items *Items, format string) *Header { + h.Type = jsonArray + h.Items = items + h.CollectionFormat = format + return h +} + +// WithDefault sets the default value on this item +func (h *Header) WithDefault(defaultValue interface{}) *Header { + h.Default = defaultValue + return h +} + +// WithMaxLength sets a max length value +func (h *Header) WithMaxLength(max int64) *Header { + h.MaxLength = &max + return h +} + +// WithMinLength sets a min length value +func (h *Header) WithMinLength(min int64) *Header { + h.MinLength = &min + return h +} + +// WithPattern sets a pattern value +func (h *Header) WithPattern(pattern string) *Header { + h.Pattern = pattern + return h +} + +// WithMultipleOf sets a multiple of value +func (h *Header) WithMultipleOf(number float64) *Header { + h.MultipleOf = &number + return h +} + +// WithMaximum sets a maximum number value +func (h *Header) WithMaximum(max float64, exclusive bool) *Header { + h.Maximum = &max + h.ExclusiveMaximum = exclusive + return h +} + +// WithMinimum sets a minimum number value +func (h *Header) WithMinimum(min float64, exclusive bool) *Header { + h.Minimum = &min + h.ExclusiveMinimum = exclusive + return h +} + +// WithEnum sets a the enum values (replace) +func (h *Header) WithEnum(values ...interface{}) *Header { + h.Enum = append([]interface{}{}, values...) + return h +} + +// WithMaxItems sets the max items +func (h *Header) WithMaxItems(size int64) *Header { + h.MaxItems = &size + return h +} + +// WithMinItems sets the min items +func (h *Header) WithMinItems(size int64) *Header { + h.MinItems = &size + return h +} + +// UniqueValues dictates that this array can only have unique items +func (h *Header) UniqueValues() *Header { + h.UniqueItems = true + return h +} + +// AllowDuplicates this array can have duplicates +func (h *Header) AllowDuplicates() *Header { + h.UniqueItems = false + return h +} + +// MarshalJSON marshal this to JSON +func (h Header) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(h.CommonValidations) + if err != nil { + return nil, err + } + b2, err := json.Marshal(h.SimpleSchema) + if err != nil { + return nil, err + } + b3, err := json.Marshal(h.HeaderProps) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2, b3), nil +} + +// UnmarshalJSON unmarshals this header from JSON +func (h *Header) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &h.CommonValidations); err != nil { + return err + } + if err := json.Unmarshal(data, &h.SimpleSchema); err != nil { + return err + } + if err := json.Unmarshal(data, &h.VendorExtensible); err != nil { + return err + } + return json.Unmarshal(data, &h.HeaderProps) +} + +// JSONLookup look up a value by the json property name +func (h Header) JSONLookup(token string) (interface{}, error) { + if ex, ok := h.Extensions[token]; ok { + return &ex, nil + } + + r, _, err := jsonpointer.GetForToken(h.CommonValidations, token) + if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { + return nil, err + } + if r != nil { + return r, nil + } + r, _, err = jsonpointer.GetForToken(h.SimpleSchema, token) + if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { + return nil, err + } + if r != nil { + return r, nil + } + r, _, err = jsonpointer.GetForToken(h.HeaderProps, token) + return r, err +} diff --git a/vendor/github.com/go-openapi/spec/info.go b/vendor/github.com/go-openapi/spec/info.go new file mode 100644 index 00000000000..c458b49b216 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/info.go @@ -0,0 +1,165 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "encoding/json" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// Extensions vendor specific extensions +type Extensions map[string]interface{} + +// Add adds a value to these extensions +func (e Extensions) Add(key string, value interface{}) { + realKey := strings.ToLower(key) + e[realKey] = value +} + +// GetString gets a string value from the extensions +func (e Extensions) GetString(key string) (string, bool) { + if v, ok := e[strings.ToLower(key)]; ok { + str, ok := v.(string) + return str, ok + } + return "", false +} + +// GetBool gets a string value from the extensions +func (e Extensions) GetBool(key string) (bool, bool) { + if v, ok := e[strings.ToLower(key)]; ok { + str, ok := v.(bool) + return str, ok + } + return false, false +} + +// GetStringSlice gets a string value from the extensions +func (e Extensions) GetStringSlice(key string) ([]string, bool) { + if v, ok := e[strings.ToLower(key)]; ok { + arr, isSlice := v.([]interface{}) + if !isSlice { + return nil, false + } + var strs []string + for _, iface := range arr { + str, isString := iface.(string) + if !isString { + return nil, false + } + strs = append(strs, str) + } + return strs, ok + } + return nil, false +} + +// VendorExtensible composition block. +type VendorExtensible struct { + Extensions Extensions +} + +// AddExtension adds an extension to this extensible object +func (v *VendorExtensible) AddExtension(key string, value interface{}) { + if value == nil { + return + } + if v.Extensions == nil { + v.Extensions = make(map[string]interface{}) + } + v.Extensions.Add(key, value) +} + +// MarshalJSON marshals the extensions to json +func (v VendorExtensible) MarshalJSON() ([]byte, error) { + toser := make(map[string]interface{}) + for k, v := range v.Extensions { + lk := strings.ToLower(k) + if strings.HasPrefix(lk, "x-") { + toser[k] = v + } + } + return json.Marshal(toser) +} + +// UnmarshalJSON for this extensible object +func (v *VendorExtensible) UnmarshalJSON(data []byte) error { + var d map[string]interface{} + if err := json.Unmarshal(data, &d); err != nil { + return err + } + for k, vv := range d { + lk := strings.ToLower(k) + if strings.HasPrefix(lk, "x-") { + if v.Extensions == nil { + v.Extensions = map[string]interface{}{} + } + v.Extensions[k] = vv + } + } + return nil +} + +// InfoProps the properties for an info definition +type InfoProps struct { + Description string `json:"description,omitempty"` + Title string `json:"title,omitempty"` + TermsOfService string `json:"termsOfService,omitempty"` + Contact *ContactInfo `json:"contact,omitempty"` + License *License `json:"license,omitempty"` + Version string `json:"version,omitempty"` +} + +// Info object provides metadata about the API. +// The metadata can be used by the clients if needed, and can be presented in the Swagger-UI for convenience. +// +// For more information: http://goo.gl/8us55a#infoObject +type Info struct { + VendorExtensible + InfoProps +} + +// JSONLookup look up a value by the json property name +func (i Info) JSONLookup(token string) (interface{}, error) { + if ex, ok := i.Extensions[token]; ok { + return &ex, nil + } + r, _, err := jsonpointer.GetForToken(i.InfoProps, token) + return r, err +} + +// MarshalJSON marshal this to JSON +func (i Info) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(i.InfoProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(i.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2), nil +} + +// UnmarshalJSON marshal this from JSON +func (i *Info) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &i.InfoProps); err != nil { + return err + } + return json.Unmarshal(data, &i.VendorExtensible) +} diff --git a/vendor/github.com/go-openapi/spec/items.go b/vendor/github.com/go-openapi/spec/items.go new file mode 100644 index 00000000000..365d1631582 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/items.go @@ -0,0 +1,244 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "encoding/json" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +const ( + jsonRef = "$ref" +) + +// SimpleSchema describe swagger simple schemas for parameters and headers +type SimpleSchema struct { + Type string `json:"type,omitempty"` + Nullable bool `json:"nullable,omitempty"` + Format string `json:"format,omitempty"` + Items *Items `json:"items,omitempty"` + CollectionFormat string `json:"collectionFormat,omitempty"` + Default interface{} `json:"default,omitempty"` + Example interface{} `json:"example,omitempty"` +} + +// TypeName return the type (or format) of a simple schema +func (s *SimpleSchema) TypeName() string { + if s.Format != "" { + return s.Format + } + return s.Type +} + +// ItemsTypeName yields the type of items in a simple schema array +func (s *SimpleSchema) ItemsTypeName() string { + if s.Items == nil { + return "" + } + return s.Items.TypeName() +} + +// CommonValidations describe common JSON-schema validations +type CommonValidations struct { + Maximum *float64 `json:"maximum,omitempty"` + ExclusiveMaximum bool `json:"exclusiveMaximum,omitempty"` + Minimum *float64 `json:"minimum,omitempty"` + ExclusiveMinimum bool `json:"exclusiveMinimum,omitempty"` + MaxLength *int64 `json:"maxLength,omitempty"` + MinLength *int64 `json:"minLength,omitempty"` + Pattern string `json:"pattern,omitempty"` + MaxItems *int64 `json:"maxItems,omitempty"` + MinItems *int64 `json:"minItems,omitempty"` + UniqueItems bool `json:"uniqueItems,omitempty"` + MultipleOf *float64 `json:"multipleOf,omitempty"` + Enum []interface{} `json:"enum,omitempty"` +} + +// Items a limited subset of JSON-Schema's items object. +// It is used by parameter definitions that are not located in "body". +// +// For more information: http://goo.gl/8us55a#items-object +type Items struct { + Refable + CommonValidations + SimpleSchema + VendorExtensible +} + +// NewItems creates a new instance of items +func NewItems() *Items { + return &Items{} +} + +// Typed a fluent builder method for the type of item +func (i *Items) Typed(tpe, format string) *Items { + i.Type = tpe + i.Format = format + return i +} + +// AsNullable flags this schema as nullable. +func (i *Items) AsNullable() *Items { + i.Nullable = true + return i +} + +// CollectionOf a fluent builder method for an array item +func (i *Items) CollectionOf(items *Items, format string) *Items { + i.Type = jsonArray + i.Items = items + i.CollectionFormat = format + return i +} + +// WithDefault sets the default value on this item +func (i *Items) WithDefault(defaultValue interface{}) *Items { + i.Default = defaultValue + return i +} + +// WithMaxLength sets a max length value +func (i *Items) WithMaxLength(max int64) *Items { + i.MaxLength = &max + return i +} + +// WithMinLength sets a min length value +func (i *Items) WithMinLength(min int64) *Items { + i.MinLength = &min + return i +} + +// WithPattern sets a pattern value +func (i *Items) WithPattern(pattern string) *Items { + i.Pattern = pattern + return i +} + +// WithMultipleOf sets a multiple of value +func (i *Items) WithMultipleOf(number float64) *Items { + i.MultipleOf = &number + return i +} + +// WithMaximum sets a maximum number value +func (i *Items) WithMaximum(max float64, exclusive bool) *Items { + i.Maximum = &max + i.ExclusiveMaximum = exclusive + return i +} + +// WithMinimum sets a minimum number value +func (i *Items) WithMinimum(min float64, exclusive bool) *Items { + i.Minimum = &min + i.ExclusiveMinimum = exclusive + return i +} + +// WithEnum sets a the enum values (replace) +func (i *Items) WithEnum(values ...interface{}) *Items { + i.Enum = append([]interface{}{}, values...) + return i +} + +// WithMaxItems sets the max items +func (i *Items) WithMaxItems(size int64) *Items { + i.MaxItems = &size + return i +} + +// WithMinItems sets the min items +func (i *Items) WithMinItems(size int64) *Items { + i.MinItems = &size + return i +} + +// UniqueValues dictates that this array can only have unique items +func (i *Items) UniqueValues() *Items { + i.UniqueItems = true + return i +} + +// AllowDuplicates this array can have duplicates +func (i *Items) AllowDuplicates() *Items { + i.UniqueItems = false + return i +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (i *Items) UnmarshalJSON(data []byte) error { + var validations CommonValidations + if err := json.Unmarshal(data, &validations); err != nil { + return err + } + var ref Refable + if err := json.Unmarshal(data, &ref); err != nil { + return err + } + var simpleSchema SimpleSchema + if err := json.Unmarshal(data, &simpleSchema); err != nil { + return err + } + var vendorExtensible VendorExtensible + if err := json.Unmarshal(data, &vendorExtensible); err != nil { + return err + } + i.Refable = ref + i.CommonValidations = validations + i.SimpleSchema = simpleSchema + i.VendorExtensible = vendorExtensible + return nil +} + +// MarshalJSON converts this items object to JSON +func (i Items) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(i.CommonValidations) + if err != nil { + return nil, err + } + b2, err := json.Marshal(i.SimpleSchema) + if err != nil { + return nil, err + } + b3, err := json.Marshal(i.Refable) + if err != nil { + return nil, err + } + b4, err := json.Marshal(i.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b4, b3, b1, b2), nil +} + +// JSONLookup look up a value by the json property name +func (i Items) JSONLookup(token string) (interface{}, error) { + if token == jsonRef { + return &i.Ref, nil + } + + r, _, err := jsonpointer.GetForToken(i.CommonValidations, token) + if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { + return nil, err + } + if r != nil { + return r, nil + } + r, _, err = jsonpointer.GetForToken(i.SimpleSchema, token) + return r, err +} diff --git a/vendor/github.com/go-openapi/spec/license.go b/vendor/github.com/go-openapi/spec/license.go new file mode 100644 index 00000000000..f20961b4fd8 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/license.go @@ -0,0 +1,23 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +// License information for the exposed API. +// +// For more information: http://goo.gl/8us55a#licenseObject +type License struct { + Name string `json:"name,omitempty"` + URL string `json:"url,omitempty"` +} diff --git a/vendor/github.com/go-openapi/spec/normalizer.go b/vendor/github.com/go-openapi/spec/normalizer.go new file mode 100644 index 00000000000..b8957e7c0c1 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/normalizer.go @@ -0,0 +1,152 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "fmt" + "net/url" + "os" + "path" + "path/filepath" + "strings" +) + +// normalize absolute path for cache. +// on Windows, drive letters should be converted to lower as scheme in net/url.URL +func normalizeAbsPath(path string) string { + u, err := url.Parse(path) + if err != nil { + debugLog("normalize absolute path failed: %s", err) + return path + } + return u.String() +} + +// base or refPath could be a file path or a URL +// given a base absolute path and a ref path, return the absolute path of refPath +// 1) if refPath is absolute, return it +// 2) if refPath is relative, join it with basePath keeping the scheme, hosts, and ports if exists +// base could be a directory or a full file path +func normalizePaths(refPath, base string) string { + refURL, _ := url.Parse(refPath) + if path.IsAbs(refURL.Path) || filepath.IsAbs(refPath) { + // refPath is actually absolute + if refURL.Host != "" { + return refPath + } + parts := strings.Split(refPath, "#") + result := filepath.FromSlash(parts[0]) + if len(parts) == 2 { + result += "#" + parts[1] + } + return result + } + + // relative refPath + baseURL, _ := url.Parse(base) + if !strings.HasPrefix(refPath, "#") { + // combining paths + if baseURL.Host != "" { + baseURL.Path = path.Join(path.Dir(baseURL.Path), refURL.Path) + } else { // base is a file + newBase := fmt.Sprintf("%s#%s", filepath.Join(filepath.Dir(base), filepath.FromSlash(refURL.Path)), refURL.Fragment) + return newBase + } + + } + // copying fragment from ref to base + baseURL.Fragment = refURL.Fragment + return baseURL.String() +} + +// denormalizePaths returns to simplest notation on file $ref, +// i.e. strips the absolute path and sets a path relative to the base path. +// +// This is currently used when we rewrite ref after a circular ref has been detected +func denormalizeFileRef(ref *Ref, relativeBase, originalRelativeBase string) *Ref { + debugLog("denormalizeFileRef for: %s", ref.String()) + + if ref.String() == "" || ref.IsRoot() || ref.HasFragmentOnly { + return ref + } + // strip relativeBase from URI + relativeBaseURL, _ := url.Parse(relativeBase) + relativeBaseURL.Fragment = "" + + if relativeBaseURL.IsAbs() && strings.HasPrefix(ref.String(), relativeBase) { + // this should work for absolute URI (e.g. http://...): we have an exact match, just trim prefix + r, _ := NewRef(strings.TrimPrefix(ref.String(), relativeBase)) + return &r + } + + if relativeBaseURL.IsAbs() { + // other absolute URL get unchanged (i.e. with a non-empty scheme) + return ref + } + + // for relative file URIs: + originalRelativeBaseURL, _ := url.Parse(originalRelativeBase) + originalRelativeBaseURL.Fragment = "" + if strings.HasPrefix(ref.String(), originalRelativeBaseURL.String()) { + // the resulting ref is in the expanded spec: return a local ref + r, _ := NewRef(strings.TrimPrefix(ref.String(), originalRelativeBaseURL.String())) + return &r + } + + // check if we may set a relative path, considering the original base path for this spec. + // Example: + // spec is located at /mypath/spec.json + // my normalized ref points to: /mypath/item.json#/target + // expected result: item.json#/target + parts := strings.Split(ref.String(), "#") + relativePath, err := filepath.Rel(path.Dir(originalRelativeBaseURL.String()), parts[0]) + if err != nil { + // there is no common ancestor (e.g. different drives on windows) + // leaves the ref unchanged + return ref + } + if len(parts) == 2 { + relativePath += "#" + parts[1] + } + r, _ := NewRef(relativePath) + return &r +} + +// relativeBase could be an ABSOLUTE file path or an ABSOLUTE URL +func normalizeFileRef(ref *Ref, relativeBase string) *Ref { + // This is important for when the reference is pointing to the root schema + if ref.String() == "" { + r, _ := NewRef(relativeBase) + return &r + } + + debugLog("normalizing %s against %s", ref.String(), relativeBase) + + s := normalizePaths(ref.String(), relativeBase) + r, _ := NewRef(s) + return &r +} + +// absPath returns the absolute path of a file +func absPath(fname string) (string, error) { + if strings.HasPrefix(fname, "http") { + return fname, nil + } + if filepath.IsAbs(fname) { + return fname, nil + } + wd, err := os.Getwd() + return filepath.Join(wd, fname), err +} diff --git a/vendor/github.com/go-openapi/spec/operation.go b/vendor/github.com/go-openapi/spec/operation.go new file mode 100644 index 00000000000..b1ebd59945b --- /dev/null +++ b/vendor/github.com/go-openapi/spec/operation.go @@ -0,0 +1,398 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "bytes" + "encoding/gob" + "encoding/json" + "sort" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +func init() { + //gob.Register(map[string][]interface{}{}) + gob.Register(map[string]interface{}{}) + gob.Register([]interface{}{}) +} + +// OperationProps describes an operation +// +// NOTES: +// - schemes, when present must be from [http, https, ws, wss]: see validate +// - Security is handled as a special case: see MarshalJSON function +type OperationProps struct { + Description string `json:"description,omitempty"` + Consumes []string `json:"consumes,omitempty"` + Produces []string `json:"produces,omitempty"` + Schemes []string `json:"schemes,omitempty"` + Tags []string `json:"tags,omitempty"` + Summary string `json:"summary,omitempty"` + ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` + ID string `json:"operationId,omitempty"` + Deprecated bool `json:"deprecated,omitempty"` + Security []map[string][]string `json:"security,omitempty"` + Parameters []Parameter `json:"parameters,omitempty"` + Responses *Responses `json:"responses,omitempty"` +} + +// MarshalJSON takes care of serializing operation properties to JSON +// +// We use a custom marhaller here to handle a special cases related to +// the Security field. We need to preserve zero length slice +// while omitting the field when the value is nil/unset. +func (op OperationProps) MarshalJSON() ([]byte, error) { + type Alias OperationProps + if op.Security == nil { + return json.Marshal(&struct { + Security []map[string][]string `json:"security,omitempty"` + *Alias + }{ + Security: op.Security, + Alias: (*Alias)(&op), + }) + } + return json.Marshal(&struct { + Security []map[string][]string `json:"security"` + *Alias + }{ + Security: op.Security, + Alias: (*Alias)(&op), + }) +} + +// Operation describes a single API operation on a path. +// +// For more information: http://goo.gl/8us55a#operationObject +type Operation struct { + VendorExtensible + OperationProps +} + +// SuccessResponse gets a success response model +func (o *Operation) SuccessResponse() (*Response, int, bool) { + if o.Responses == nil { + return nil, 0, false + } + + responseCodes := make([]int, 0, len(o.Responses.StatusCodeResponses)) + for k := range o.Responses.StatusCodeResponses { + if k >= 200 && k < 300 { + responseCodes = append(responseCodes, k) + } + } + if len(responseCodes) > 0 { + sort.Ints(responseCodes) + v := o.Responses.StatusCodeResponses[responseCodes[0]] + return &v, responseCodes[0], true + } + + return o.Responses.Default, 0, false +} + +// JSONLookup look up a value by the json property name +func (o Operation) JSONLookup(token string) (interface{}, error) { + if ex, ok := o.Extensions[token]; ok { + return &ex, nil + } + r, _, err := jsonpointer.GetForToken(o.OperationProps, token) + return r, err +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (o *Operation) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &o.OperationProps); err != nil { + return err + } + return json.Unmarshal(data, &o.VendorExtensible) +} + +// MarshalJSON converts this items object to JSON +func (o Operation) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(o.OperationProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(o.VendorExtensible) + if err != nil { + return nil, err + } + concated := swag.ConcatJSON(b1, b2) + return concated, nil +} + +// NewOperation creates a new operation instance. +// It expects an ID as parameter but not passing an ID is also valid. +func NewOperation(id string) *Operation { + op := new(Operation) + op.ID = id + return op +} + +// WithID sets the ID property on this operation, allows for chaining. +func (o *Operation) WithID(id string) *Operation { + o.ID = id + return o +} + +// WithDescription sets the description on this operation, allows for chaining +func (o *Operation) WithDescription(description string) *Operation { + o.Description = description + return o +} + +// WithSummary sets the summary on this operation, allows for chaining +func (o *Operation) WithSummary(summary string) *Operation { + o.Summary = summary + return o +} + +// WithExternalDocs sets/removes the external docs for/from this operation. +// When you pass empty strings as params the external documents will be removed. +// When you pass non-empty string as one value then those values will be used on the external docs object. +// So when you pass a non-empty description, you should also pass the url and vice versa. +func (o *Operation) WithExternalDocs(description, url string) *Operation { + if description == "" && url == "" { + o.ExternalDocs = nil + return o + } + + if o.ExternalDocs == nil { + o.ExternalDocs = &ExternalDocumentation{} + } + o.ExternalDocs.Description = description + o.ExternalDocs.URL = url + return o +} + +// Deprecate marks the operation as deprecated +func (o *Operation) Deprecate() *Operation { + o.Deprecated = true + return o +} + +// Undeprecate marks the operation as not deprected +func (o *Operation) Undeprecate() *Operation { + o.Deprecated = false + return o +} + +// WithConsumes adds media types for incoming body values +func (o *Operation) WithConsumes(mediaTypes ...string) *Operation { + o.Consumes = append(o.Consumes, mediaTypes...) + return o +} + +// WithProduces adds media types for outgoing body values +func (o *Operation) WithProduces(mediaTypes ...string) *Operation { + o.Produces = append(o.Produces, mediaTypes...) + return o +} + +// WithTags adds tags for this operation +func (o *Operation) WithTags(tags ...string) *Operation { + o.Tags = append(o.Tags, tags...) + return o +} + +// AddParam adds a parameter to this operation, when a parameter for that location +// and with that name already exists it will be replaced +func (o *Operation) AddParam(param *Parameter) *Operation { + if param == nil { + return o + } + + for i, p := range o.Parameters { + if p.Name == param.Name && p.In == param.In { + params := append(o.Parameters[:i], *param) + params = append(params, o.Parameters[i+1:]...) + o.Parameters = params + return o + } + } + + o.Parameters = append(o.Parameters, *param) + return o +} + +// RemoveParam removes a parameter from the operation +func (o *Operation) RemoveParam(name, in string) *Operation { + for i, p := range o.Parameters { + if p.Name == name && p.In == in { + o.Parameters = append(o.Parameters[:i], o.Parameters[i+1:]...) + return o + } + } + return o +} + +// SecuredWith adds a security scope to this operation. +func (o *Operation) SecuredWith(name string, scopes ...string) *Operation { + o.Security = append(o.Security, map[string][]string{name: scopes}) + return o +} + +// WithDefaultResponse adds a default response to the operation. +// Passing a nil value will remove the response +func (o *Operation) WithDefaultResponse(response *Response) *Operation { + return o.RespondsWith(0, response) +} + +// RespondsWith adds a status code response to the operation. +// When the code is 0 the value of the response will be used as default response value. +// When the value of the response is nil it will be removed from the operation +func (o *Operation) RespondsWith(code int, response *Response) *Operation { + if o.Responses == nil { + o.Responses = new(Responses) + } + if code == 0 { + o.Responses.Default = response + return o + } + if response == nil { + delete(o.Responses.StatusCodeResponses, code) + return o + } + if o.Responses.StatusCodeResponses == nil { + o.Responses.StatusCodeResponses = make(map[int]Response) + } + o.Responses.StatusCodeResponses[code] = *response + return o +} + +type opsAlias OperationProps + +type gobAlias struct { + Security []map[string]struct { + List []string + Pad bool + } + Alias *opsAlias + SecurityIsEmpty bool +} + +// GobEncode provides a safe gob encoder for Operation, including empty security requirements +func (o Operation) GobEncode() ([]byte, error) { + raw := struct { + Ext VendorExtensible + Props OperationProps + }{ + Ext: o.VendorExtensible, + Props: o.OperationProps, + } + var b bytes.Buffer + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err +} + +// GobDecode provides a safe gob decoder for Operation, including empty security requirements +func (o *Operation) GobDecode(b []byte) error { + var raw struct { + Ext VendorExtensible + Props OperationProps + } + + buf := bytes.NewBuffer(b) + err := gob.NewDecoder(buf).Decode(&raw) + if err != nil { + return err + } + o.VendorExtensible = raw.Ext + o.OperationProps = raw.Props + return nil +} + +// GobEncode provides a safe gob encoder for Operation, including empty security requirements +func (op OperationProps) GobEncode() ([]byte, error) { + raw := gobAlias{ + Alias: (*opsAlias)(&op), + } + + var b bytes.Buffer + if op.Security == nil { + // nil security requirement + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err + } + + if len(op.Security) == 0 { + // empty, but non-nil security requirement + raw.SecurityIsEmpty = true + raw.Alias.Security = nil + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err + } + + raw.Security = make([]map[string]struct { + List []string + Pad bool + }, 0, len(op.Security)) + for _, req := range op.Security { + v := make(map[string]struct { + List []string + Pad bool + }, len(req)) + for k, val := range req { + v[k] = struct { + List []string + Pad bool + }{ + List: val, + } + } + raw.Security = append(raw.Security, v) + } + + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err +} + +// GobDecode provides a safe gob decoder for Operation, including empty security requirements +func (op *OperationProps) GobDecode(b []byte) error { + var raw gobAlias + + buf := bytes.NewBuffer(b) + err := gob.NewDecoder(buf).Decode(&raw) + if err != nil { + return err + } + if raw.Alias == nil { + return nil + } + + switch { + case raw.SecurityIsEmpty: + // empty, but non-nil security requirement + raw.Alias.Security = []map[string][]string{} + case len(raw.Alias.Security) == 0: + // nil security requirement + raw.Alias.Security = nil + default: + raw.Alias.Security = make([]map[string][]string, 0, len(raw.Security)) + for _, req := range raw.Security { + v := make(map[string][]string, len(req)) + for k, val := range req { + v[k] = make([]string, 0, len(val.List)) + v[k] = append(v[k], val.List...) + } + raw.Alias.Security = append(raw.Alias.Security, v) + } + } + + *op = *(*OperationProps)(raw.Alias) + return nil +} diff --git a/vendor/github.com/go-openapi/spec/parameter.go b/vendor/github.com/go-openapi/spec/parameter.go new file mode 100644 index 00000000000..cecdff54568 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/parameter.go @@ -0,0 +1,321 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "encoding/json" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// QueryParam creates a query parameter +func QueryParam(name string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "query"}} +} + +// HeaderParam creates a header parameter, this is always required by default +func HeaderParam(name string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "header", Required: true}} +} + +// PathParam creates a path parameter, this is always required +func PathParam(name string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "path", Required: true}} +} + +// BodyParam creates a body parameter +func BodyParam(name string, schema *Schema) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "body", Schema: schema}, + SimpleSchema: SimpleSchema{Type: "object"}} +} + +// FormDataParam creates a body parameter +func FormDataParam(name string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "formData"}} +} + +// FileParam creates a body parameter +func FileParam(name string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name, In: "formData"}, + SimpleSchema: SimpleSchema{Type: "file"}} +} + +// SimpleArrayParam creates a param for a simple array (string, int, date etc) +func SimpleArrayParam(name, tpe, fmt string) *Parameter { + return &Parameter{ParamProps: ParamProps{Name: name}, + SimpleSchema: SimpleSchema{Type: jsonArray, CollectionFormat: "csv", + Items: &Items{SimpleSchema: SimpleSchema{Type: "string", Format: fmt}}}} +} + +// ParamRef creates a parameter that's a json reference +func ParamRef(uri string) *Parameter { + p := new(Parameter) + p.Ref = MustCreateRef(uri) + return p +} + +// ParamProps describes the specific attributes of an operation parameter +// +// NOTE: +// - Schema is defined when "in" == "body": see validate +// - AllowEmptyValue is allowed where "in" == "query" || "formData" +type ParamProps struct { + Description string `json:"description,omitempty"` + Name string `json:"name,omitempty"` + In string `json:"in,omitempty"` + Required bool `json:"required,omitempty"` + Schema *Schema `json:"schema,omitempty"` + AllowEmptyValue bool `json:"allowEmptyValue,omitempty"` +} + +// Parameter a unique parameter is defined by a combination of a [name](#parameterName) and [location](#parameterIn). +// +// There are five possible parameter types. +// * Path - Used together with [Path Templating](#pathTemplating), where the parameter value is actually part +// of the operation's URL. This does not include the host or base path of the API. For example, in `/items/{itemId}`, +// the path parameter is `itemId`. +// * Query - Parameters that are appended to the URL. For example, in `/items?id=###`, the query parameter is `id`. +// * Header - Custom headers that are expected as part of the request. +// * Body - The payload that's appended to the HTTP request. Since there can only be one payload, there can only be +// _one_ body parameter. The name of the body parameter has no effect on the parameter itself and is used for +// documentation purposes only. Since Form parameters are also in the payload, body and form parameters cannot exist +// together for the same operation. +// * Form - Used to describe the payload of an HTTP request when either `application/x-www-form-urlencoded` or +// `multipart/form-data` are used as the content type of the request (in Swagger's definition, +// the [`consumes`](#operationConsumes) property of an operation). This is the only parameter type that can be used +// to send files, thus supporting the `file` type. Since form parameters are sent in the payload, they cannot be +// declared together with a body parameter for the same operation. Form parameters have a different format based on +// the content-type used (for further details, consult http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4). +// * `application/x-www-form-urlencoded` - Similar to the format of Query parameters but as a payload. +// For example, `foo=1&bar=swagger` - both `foo` and `bar` are form parameters. This is normally used for simple +// parameters that are being transferred. +// * `multipart/form-data` - each parameter takes a section in the payload with an internal header. +// For example, for the header `Content-Disposition: form-data; name="submit-name"` the name of the parameter is +// `submit-name`. This type of form parameters is more commonly used for file transfers. +// +// For more information: http://goo.gl/8us55a#parameterObject +type Parameter struct { + Refable + CommonValidations + SimpleSchema + VendorExtensible + ParamProps +} + +// JSONLookup look up a value by the json property name +func (p Parameter) JSONLookup(token string) (interface{}, error) { + if ex, ok := p.Extensions[token]; ok { + return &ex, nil + } + if token == jsonRef { + return &p.Ref, nil + } + + r, _, err := jsonpointer.GetForToken(p.CommonValidations, token) + if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { + return nil, err + } + if r != nil { + return r, nil + } + r, _, err = jsonpointer.GetForToken(p.SimpleSchema, token) + if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { + return nil, err + } + if r != nil { + return r, nil + } + r, _, err = jsonpointer.GetForToken(p.ParamProps, token) + return r, err +} + +// WithDescription a fluent builder method for the description of the parameter +func (p *Parameter) WithDescription(description string) *Parameter { + p.Description = description + return p +} + +// Named a fluent builder method to override the name of the parameter +func (p *Parameter) Named(name string) *Parameter { + p.Name = name + return p +} + +// WithLocation a fluent builder method to override the location of the parameter +func (p *Parameter) WithLocation(in string) *Parameter { + p.In = in + return p +} + +// Typed a fluent builder method for the type of the parameter value +func (p *Parameter) Typed(tpe, format string) *Parameter { + p.Type = tpe + p.Format = format + return p +} + +// CollectionOf a fluent builder method for an array parameter +func (p *Parameter) CollectionOf(items *Items, format string) *Parameter { + p.Type = jsonArray + p.Items = items + p.CollectionFormat = format + return p +} + +// WithDefault sets the default value on this parameter +func (p *Parameter) WithDefault(defaultValue interface{}) *Parameter { + p.AsOptional() // with default implies optional + p.Default = defaultValue + return p +} + +// AllowsEmptyValues flags this parameter as being ok with empty values +func (p *Parameter) AllowsEmptyValues() *Parameter { + p.AllowEmptyValue = true + return p +} + +// NoEmptyValues flags this parameter as not liking empty values +func (p *Parameter) NoEmptyValues() *Parameter { + p.AllowEmptyValue = false + return p +} + +// AsOptional flags this parameter as optional +func (p *Parameter) AsOptional() *Parameter { + p.Required = false + return p +} + +// AsRequired flags this parameter as required +func (p *Parameter) AsRequired() *Parameter { + if p.Default != nil { // with a default required makes no sense + return p + } + p.Required = true + return p +} + +// WithMaxLength sets a max length value +func (p *Parameter) WithMaxLength(max int64) *Parameter { + p.MaxLength = &max + return p +} + +// WithMinLength sets a min length value +func (p *Parameter) WithMinLength(min int64) *Parameter { + p.MinLength = &min + return p +} + +// WithPattern sets a pattern value +func (p *Parameter) WithPattern(pattern string) *Parameter { + p.Pattern = pattern + return p +} + +// WithMultipleOf sets a multiple of value +func (p *Parameter) WithMultipleOf(number float64) *Parameter { + p.MultipleOf = &number + return p +} + +// WithMaximum sets a maximum number value +func (p *Parameter) WithMaximum(max float64, exclusive bool) *Parameter { + p.Maximum = &max + p.ExclusiveMaximum = exclusive + return p +} + +// WithMinimum sets a minimum number value +func (p *Parameter) WithMinimum(min float64, exclusive bool) *Parameter { + p.Minimum = &min + p.ExclusiveMinimum = exclusive + return p +} + +// WithEnum sets a the enum values (replace) +func (p *Parameter) WithEnum(values ...interface{}) *Parameter { + p.Enum = append([]interface{}{}, values...) + return p +} + +// WithMaxItems sets the max items +func (p *Parameter) WithMaxItems(size int64) *Parameter { + p.MaxItems = &size + return p +} + +// WithMinItems sets the min items +func (p *Parameter) WithMinItems(size int64) *Parameter { + p.MinItems = &size + return p +} + +// UniqueValues dictates that this array can only have unique items +func (p *Parameter) UniqueValues() *Parameter { + p.UniqueItems = true + return p +} + +// AllowDuplicates this array can have duplicates +func (p *Parameter) AllowDuplicates() *Parameter { + p.UniqueItems = false + return p +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (p *Parameter) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &p.CommonValidations); err != nil { + return err + } + if err := json.Unmarshal(data, &p.Refable); err != nil { + return err + } + if err := json.Unmarshal(data, &p.SimpleSchema); err != nil { + return err + } + if err := json.Unmarshal(data, &p.VendorExtensible); err != nil { + return err + } + return json.Unmarshal(data, &p.ParamProps) +} + +// MarshalJSON converts this items object to JSON +func (p Parameter) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(p.CommonValidations) + if err != nil { + return nil, err + } + b2, err := json.Marshal(p.SimpleSchema) + if err != nil { + return nil, err + } + b3, err := json.Marshal(p.Refable) + if err != nil { + return nil, err + } + b4, err := json.Marshal(p.VendorExtensible) + if err != nil { + return nil, err + } + b5, err := json.Marshal(p.ParamProps) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b3, b1, b2, b4, b5), nil +} diff --git a/vendor/github.com/go-openapi/spec/path_item.go b/vendor/github.com/go-openapi/spec/path_item.go new file mode 100644 index 00000000000..68fc8e90144 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/path_item.go @@ -0,0 +1,87 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "encoding/json" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// PathItemProps the path item specific properties +type PathItemProps struct { + Get *Operation `json:"get,omitempty"` + Put *Operation `json:"put,omitempty"` + Post *Operation `json:"post,omitempty"` + Delete *Operation `json:"delete,omitempty"` + Options *Operation `json:"options,omitempty"` + Head *Operation `json:"head,omitempty"` + Patch *Operation `json:"patch,omitempty"` + Parameters []Parameter `json:"parameters,omitempty"` +} + +// PathItem describes the operations available on a single path. +// A Path Item may be empty, due to [ACL constraints](http://goo.gl/8us55a#securityFiltering). +// The path itself is still exposed to the documentation viewer but they will +// not know which operations and parameters are available. +// +// For more information: http://goo.gl/8us55a#pathItemObject +type PathItem struct { + Refable + VendorExtensible + PathItemProps +} + +// JSONLookup look up a value by the json property name +func (p PathItem) JSONLookup(token string) (interface{}, error) { + if ex, ok := p.Extensions[token]; ok { + return &ex, nil + } + if token == jsonRef { + return &p.Ref, nil + } + r, _, err := jsonpointer.GetForToken(p.PathItemProps, token) + return r, err +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (p *PathItem) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &p.Refable); err != nil { + return err + } + if err := json.Unmarshal(data, &p.VendorExtensible); err != nil { + return err + } + return json.Unmarshal(data, &p.PathItemProps) +} + +// MarshalJSON converts this items object to JSON +func (p PathItem) MarshalJSON() ([]byte, error) { + b3, err := json.Marshal(p.Refable) + if err != nil { + return nil, err + } + b4, err := json.Marshal(p.VendorExtensible) + if err != nil { + return nil, err + } + b5, err := json.Marshal(p.PathItemProps) + if err != nil { + return nil, err + } + concated := swag.ConcatJSON(b3, b4, b5) + return concated, nil +} diff --git a/vendor/github.com/go-openapi/spec/paths.go b/vendor/github.com/go-openapi/spec/paths.go new file mode 100644 index 00000000000..9dc82a2901d --- /dev/null +++ b/vendor/github.com/go-openapi/spec/paths.go @@ -0,0 +1,97 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/go-openapi/swag" +) + +// Paths holds the relative paths to the individual endpoints. +// The path is appended to the [`basePath`](http://goo.gl/8us55a#swaggerBasePath) in order +// to construct the full URL. +// The Paths may be empty, due to [ACL constraints](http://goo.gl/8us55a#securityFiltering). +// +// For more information: http://goo.gl/8us55a#pathsObject +type Paths struct { + VendorExtensible + Paths map[string]PathItem `json:"-"` // custom serializer to flatten this, each entry must start with "/" +} + +// JSONLookup look up a value by the json property name +func (p Paths) JSONLookup(token string) (interface{}, error) { + if pi, ok := p.Paths[token]; ok { + return &pi, nil + } + if ex, ok := p.Extensions[token]; ok { + return &ex, nil + } + return nil, fmt.Errorf("object has no field %q", token) +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (p *Paths) UnmarshalJSON(data []byte) error { + var res map[string]json.RawMessage + if err := json.Unmarshal(data, &res); err != nil { + return err + } + for k, v := range res { + if strings.HasPrefix(strings.ToLower(k), "x-") { + if p.Extensions == nil { + p.Extensions = make(map[string]interface{}) + } + var d interface{} + if err := json.Unmarshal(v, &d); err != nil { + return err + } + p.Extensions[k] = d + } + if strings.HasPrefix(k, "/") { + if p.Paths == nil { + p.Paths = make(map[string]PathItem) + } + var pi PathItem + if err := json.Unmarshal(v, &pi); err != nil { + return err + } + p.Paths[k] = pi + } + } + return nil +} + +// MarshalJSON converts this items object to JSON +func (p Paths) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(p.VendorExtensible) + if err != nil { + return nil, err + } + + pths := make(map[string]PathItem) + for k, v := range p.Paths { + if strings.HasPrefix(k, "/") { + pths[k] = v + } + } + b2, err := json.Marshal(pths) + if err != nil { + return nil, err + } + concated := swag.ConcatJSON(b1, b2) + return concated, nil +} diff --git a/vendor/github.com/go-openapi/spec/ref.go b/vendor/github.com/go-openapi/spec/ref.go new file mode 100644 index 00000000000..08ff869b2fc --- /dev/null +++ b/vendor/github.com/go-openapi/spec/ref.go @@ -0,0 +1,191 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "bytes" + "encoding/gob" + "encoding/json" + "net/http" + "os" + "path/filepath" + + "github.com/go-openapi/jsonreference" +) + +// Refable is a struct for things that accept a $ref property +type Refable struct { + Ref Ref +} + +// MarshalJSON marshals the ref to json +func (r Refable) MarshalJSON() ([]byte, error) { + return r.Ref.MarshalJSON() +} + +// UnmarshalJSON unmarshalss the ref from json +func (r *Refable) UnmarshalJSON(d []byte) error { + return json.Unmarshal(d, &r.Ref) +} + +// Ref represents a json reference that is potentially resolved +type Ref struct { + jsonreference.Ref +} + +// RemoteURI gets the remote uri part of the ref +func (r *Ref) RemoteURI() string { + if r.String() == "" { + return r.String() + } + + u := *r.GetURL() + u.Fragment = "" + return u.String() +} + +// IsValidURI returns true when the url the ref points to can be found +func (r *Ref) IsValidURI(basepaths ...string) bool { + if r.String() == "" { + return true + } + + v := r.RemoteURI() + if v == "" { + return true + } + + if r.HasFullURL { + rr, err := http.Get(v) + if err != nil { + return false + } + + return rr.StatusCode/100 == 2 + } + + if !(r.HasFileScheme || r.HasFullFilePath || r.HasURLPathOnly) { + return false + } + + // check for local file + pth := v + if r.HasURLPathOnly { + base := "." + if len(basepaths) > 0 { + base = filepath.Dir(filepath.Join(basepaths...)) + } + p, e := filepath.Abs(filepath.ToSlash(filepath.Join(base, pth))) + if e != nil { + return false + } + pth = p + } + + fi, err := os.Stat(filepath.ToSlash(pth)) + if err != nil { + return false + } + + return !fi.IsDir() +} + +// Inherits creates a new reference from a parent and a child +// If the child cannot inherit from the parent, an error is returned +func (r *Ref) Inherits(child Ref) (*Ref, error) { + ref, err := r.Ref.Inherits(child.Ref) + if err != nil { + return nil, err + } + return &Ref{Ref: *ref}, nil +} + +// NewRef creates a new instance of a ref object +// returns an error when the reference uri is an invalid uri +func NewRef(refURI string) (Ref, error) { + ref, err := jsonreference.New(refURI) + if err != nil { + return Ref{}, err + } + return Ref{Ref: ref}, nil +} + +// MustCreateRef creates a ref object but panics when refURI is invalid. +// Use the NewRef method for a version that returns an error. +func MustCreateRef(refURI string) Ref { + return Ref{Ref: jsonreference.MustCreateRef(refURI)} +} + +// MarshalJSON marshals this ref into a JSON object +func (r Ref) MarshalJSON() ([]byte, error) { + str := r.String() + if str == "" { + if r.IsRoot() { + return []byte(`{"$ref":""}`), nil + } + return []byte("{}"), nil + } + v := map[string]interface{}{"$ref": str} + return json.Marshal(v) +} + +// UnmarshalJSON unmarshals this ref from a JSON object +func (r *Ref) UnmarshalJSON(d []byte) error { + var v map[string]interface{} + if err := json.Unmarshal(d, &v); err != nil { + return err + } + return r.fromMap(v) +} + +// GobEncode provides a safe gob encoder for Ref +func (r Ref) GobEncode() ([]byte, error) { + var b bytes.Buffer + raw, err := r.MarshalJSON() + if err != nil { + return nil, err + } + err = gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err +} + +// GobDecode provides a safe gob decoder for Ref +func (r *Ref) GobDecode(b []byte) error { + var raw []byte + buf := bytes.NewBuffer(b) + err := gob.NewDecoder(buf).Decode(&raw) + if err != nil { + return err + } + return json.Unmarshal(raw, r) +} + +func (r *Ref) fromMap(v map[string]interface{}) error { + if v == nil { + return nil + } + + if vv, ok := v["$ref"]; ok { + if str, ok := vv.(string); ok { + ref, err := jsonreference.New(str) + if err != nil { + return err + } + *r = Ref{Ref: ref} + } + } + + return nil +} diff --git a/vendor/github.com/go-openapi/spec/response.go b/vendor/github.com/go-openapi/spec/response.go new file mode 100644 index 00000000000..27729c1d93b --- /dev/null +++ b/vendor/github.com/go-openapi/spec/response.go @@ -0,0 +1,131 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "encoding/json" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// ResponseProps properties specific to a response +type ResponseProps struct { + Description string `json:"description,omitempty"` + Schema *Schema `json:"schema,omitempty"` + Headers map[string]Header `json:"headers,omitempty"` + Examples map[string]interface{} `json:"examples,omitempty"` +} + +// Response describes a single response from an API Operation. +// +// For more information: http://goo.gl/8us55a#responseObject +type Response struct { + Refable + ResponseProps + VendorExtensible +} + +// JSONLookup look up a value by the json property name +func (r Response) JSONLookup(token string) (interface{}, error) { + if ex, ok := r.Extensions[token]; ok { + return &ex, nil + } + if token == "$ref" { + return &r.Ref, nil + } + ptr, _, err := jsonpointer.GetForToken(r.ResponseProps, token) + return ptr, err +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (r *Response) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &r.ResponseProps); err != nil { + return err + } + if err := json.Unmarshal(data, &r.Refable); err != nil { + return err + } + return json.Unmarshal(data, &r.VendorExtensible) +} + +// MarshalJSON converts this items object to JSON +func (r Response) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(r.ResponseProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(r.Refable) + if err != nil { + return nil, err + } + b3, err := json.Marshal(r.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2, b3), nil +} + +// NewResponse creates a new response instance +func NewResponse() *Response { + return new(Response) +} + +// ResponseRef creates a response as a json reference +func ResponseRef(url string) *Response { + resp := NewResponse() + resp.Ref = MustCreateRef(url) + return resp +} + +// WithDescription sets the description on this response, allows for chaining +func (r *Response) WithDescription(description string) *Response { + r.Description = description + return r +} + +// WithSchema sets the schema on this response, allows for chaining. +// Passing a nil argument removes the schema from this response +func (r *Response) WithSchema(schema *Schema) *Response { + r.Schema = schema + return r +} + +// AddHeader adds a header to this response +func (r *Response) AddHeader(name string, header *Header) *Response { + if header == nil { + return r.RemoveHeader(name) + } + if r.Headers == nil { + r.Headers = make(map[string]Header) + } + r.Headers[name] = *header + return r +} + +// RemoveHeader removes a header from this response +func (r *Response) RemoveHeader(name string) *Response { + delete(r.Headers, name) + return r +} + +// AddExample adds an example to this response +func (r *Response) AddExample(mediaType string, example interface{}) *Response { + if r.Examples == nil { + r.Examples = make(map[string]interface{}) + } + r.Examples[mediaType] = example + return r +} diff --git a/vendor/github.com/go-openapi/spec/responses.go b/vendor/github.com/go-openapi/spec/responses.go new file mode 100644 index 00000000000..4efb6f868bd --- /dev/null +++ b/vendor/github.com/go-openapi/spec/responses.go @@ -0,0 +1,127 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "encoding/json" + "fmt" + "reflect" + "strconv" + + "github.com/go-openapi/swag" +) + +// Responses is a container for the expected responses of an operation. +// The container maps a HTTP response code to the expected response. +// It is not expected from the documentation to necessarily cover all possible HTTP response codes, +// since they may not be known in advance. However, it is expected from the documentation to cover +// a successful operation response and any known errors. +// +// The `default` can be used a default response object for all HTTP codes that are not covered +// individually by the specification. +// +// The `Responses Object` MUST contain at least one response code, and it SHOULD be the response +// for a successful operation call. +// +// For more information: http://goo.gl/8us55a#responsesObject +type Responses struct { + VendorExtensible + ResponsesProps +} + +// JSONLookup implements an interface to customize json pointer lookup +func (r Responses) JSONLookup(token string) (interface{}, error) { + if token == "default" { + return r.Default, nil + } + if ex, ok := r.Extensions[token]; ok { + return &ex, nil + } + if i, err := strconv.Atoi(token); err == nil { + if scr, ok := r.StatusCodeResponses[i]; ok { + return scr, nil + } + } + return nil, fmt.Errorf("object has no field %q", token) +} + +// UnmarshalJSON hydrates this items instance with the data from JSON +func (r *Responses) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &r.ResponsesProps); err != nil { + return err + } + if err := json.Unmarshal(data, &r.VendorExtensible); err != nil { + return err + } + if reflect.DeepEqual(ResponsesProps{}, r.ResponsesProps) { + r.ResponsesProps = ResponsesProps{} + } + return nil +} + +// MarshalJSON converts this items object to JSON +func (r Responses) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(r.ResponsesProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(r.VendorExtensible) + if err != nil { + return nil, err + } + concated := swag.ConcatJSON(b1, b2) + return concated, nil +} + +// ResponsesProps describes all responses for an operation. +// It tells what is the default response and maps all responses with a +// HTTP status code. +type ResponsesProps struct { + Default *Response + StatusCodeResponses map[int]Response +} + +// MarshalJSON marshals responses as JSON +func (r ResponsesProps) MarshalJSON() ([]byte, error) { + toser := map[string]Response{} + if r.Default != nil { + toser["default"] = *r.Default + } + for k, v := range r.StatusCodeResponses { + toser[strconv.Itoa(k)] = v + } + return json.Marshal(toser) +} + +// UnmarshalJSON unmarshals responses from JSON +func (r *ResponsesProps) UnmarshalJSON(data []byte) error { + var res map[string]Response + if err := json.Unmarshal(data, &res); err != nil { + return nil + } + if v, ok := res["default"]; ok { + r.Default = &v + delete(res, "default") + } + for k, v := range res { + if nk, err := strconv.Atoi(k); err == nil { + if r.StatusCodeResponses == nil { + r.StatusCodeResponses = map[int]Response{} + } + r.StatusCodeResponses[nk] = v + } + } + return nil +} diff --git a/vendor/github.com/go-openapi/spec/schema.go b/vendor/github.com/go-openapi/spec/schema.go new file mode 100644 index 00000000000..37858ece909 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/schema.go @@ -0,0 +1,596 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "encoding/json" + "fmt" + "net/url" + "strings" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// BooleanProperty creates a boolean property +func BooleanProperty() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"boolean"}}} +} + +// BoolProperty creates a boolean property +func BoolProperty() *Schema { return BooleanProperty() } + +// StringProperty creates a string property +func StringProperty() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}}} +} + +// CharProperty creates a string property +func CharProperty() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}}} +} + +// Float64Property creates a float64/double property +func Float64Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"number"}, Format: "double"}} +} + +// Float32Property creates a float32/float property +func Float32Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"number"}, Format: "float"}} +} + +// Int8Property creates an int8 property +func Int8Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"integer"}, Format: "int8"}} +} + +// Int16Property creates an int16 property +func Int16Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"integer"}, Format: "int16"}} +} + +// Int32Property creates an int32 property +func Int32Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"integer"}, Format: "int32"}} +} + +// Int64Property creates an int64 property +func Int64Property() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"integer"}, Format: "int64"}} +} + +// StrFmtProperty creates a property for the named string format +func StrFmtProperty(format string) *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}, Format: format}} +} + +// DateProperty creates a date property +func DateProperty() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}, Format: "date"}} +} + +// DateTimeProperty creates a date time property +func DateTimeProperty() *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}, Format: "date-time"}} +} + +// MapProperty creates a map property +func MapProperty(property *Schema) *Schema { + return &Schema{SchemaProps: SchemaProps{Type: []string{"object"}, + AdditionalProperties: &SchemaOrBool{Allows: true, Schema: property}}} +} + +// RefProperty creates a ref property +func RefProperty(name string) *Schema { + return &Schema{SchemaProps: SchemaProps{Ref: MustCreateRef(name)}} +} + +// RefSchema creates a ref property +func RefSchema(name string) *Schema { + return &Schema{SchemaProps: SchemaProps{Ref: MustCreateRef(name)}} +} + +// ArrayProperty creates an array property +func ArrayProperty(items *Schema) *Schema { + if items == nil { + return &Schema{SchemaProps: SchemaProps{Type: []string{"array"}}} + } + return &Schema{SchemaProps: SchemaProps{Items: &SchemaOrArray{Schema: items}, Type: []string{"array"}}} +} + +// ComposedSchema creates a schema with allOf +func ComposedSchema(schemas ...Schema) *Schema { + s := new(Schema) + s.AllOf = schemas + return s +} + +// SchemaURL represents a schema url +type SchemaURL string + +// MarshalJSON marshal this to JSON +func (r SchemaURL) MarshalJSON() ([]byte, error) { + if r == "" { + return []byte("{}"), nil + } + v := map[string]interface{}{"$schema": string(r)} + return json.Marshal(v) +} + +// UnmarshalJSON unmarshal this from JSON +func (r *SchemaURL) UnmarshalJSON(data []byte) error { + var v map[string]interface{} + if err := json.Unmarshal(data, &v); err != nil { + return err + } + return r.fromMap(v) +} + +func (r *SchemaURL) fromMap(v map[string]interface{}) error { + if v == nil { + return nil + } + if vv, ok := v["$schema"]; ok { + if str, ok := vv.(string); ok { + u, err := url.Parse(str) + if err != nil { + return err + } + + *r = SchemaURL(u.String()) + } + } + return nil +} + +// SchemaProps describes a JSON schema (draft 4) +type SchemaProps struct { + ID string `json:"id,omitempty"` + Ref Ref `json:"-"` + Schema SchemaURL `json:"-"` + Description string `json:"description,omitempty"` + Type StringOrArray `json:"type,omitempty"` + Nullable bool `json:"nullable,omitempty"` + Format string `json:"format,omitempty"` + Title string `json:"title,omitempty"` + Default interface{} `json:"default,omitempty"` + Maximum *float64 `json:"maximum,omitempty"` + ExclusiveMaximum bool `json:"exclusiveMaximum,omitempty"` + Minimum *float64 `json:"minimum,omitempty"` + ExclusiveMinimum bool `json:"exclusiveMinimum,omitempty"` + MaxLength *int64 `json:"maxLength,omitempty"` + MinLength *int64 `json:"minLength,omitempty"` + Pattern string `json:"pattern,omitempty"` + MaxItems *int64 `json:"maxItems,omitempty"` + MinItems *int64 `json:"minItems,omitempty"` + UniqueItems bool `json:"uniqueItems,omitempty"` + MultipleOf *float64 `json:"multipleOf,omitempty"` + Enum []interface{} `json:"enum,omitempty"` + MaxProperties *int64 `json:"maxProperties,omitempty"` + MinProperties *int64 `json:"minProperties,omitempty"` + Required []string `json:"required,omitempty"` + Items *SchemaOrArray `json:"items,omitempty"` + AllOf []Schema `json:"allOf,omitempty"` + OneOf []Schema `json:"oneOf,omitempty"` + AnyOf []Schema `json:"anyOf,omitempty"` + Not *Schema `json:"not,omitempty"` + Properties map[string]Schema `json:"properties,omitempty"` + AdditionalProperties *SchemaOrBool `json:"additionalProperties,omitempty"` + PatternProperties map[string]Schema `json:"patternProperties,omitempty"` + Dependencies Dependencies `json:"dependencies,omitempty"` + AdditionalItems *SchemaOrBool `json:"additionalItems,omitempty"` + Definitions Definitions `json:"definitions,omitempty"` +} + +// SwaggerSchemaProps are additional properties supported by swagger schemas, but not JSON-schema (draft 4) +type SwaggerSchemaProps struct { + Discriminator string `json:"discriminator,omitempty"` + ReadOnly bool `json:"readOnly,omitempty"` + XML *XMLObject `json:"xml,omitempty"` + ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` + Example interface{} `json:"example,omitempty"` +} + +// Schema the schema object allows the definition of input and output data types. +// These types can be objects, but also primitives and arrays. +// This object is based on the [JSON Schema Specification Draft 4](http://json-schema.org/) +// and uses a predefined subset of it. +// On top of this subset, there are extensions provided by this specification to allow for more complete documentation. +// +// For more information: http://goo.gl/8us55a#schemaObject +type Schema struct { + VendorExtensible + SchemaProps + SwaggerSchemaProps + ExtraProps map[string]interface{} `json:"-"` +} + +// JSONLookup implements an interface to customize json pointer lookup +func (s Schema) JSONLookup(token string) (interface{}, error) { + if ex, ok := s.Extensions[token]; ok { + return &ex, nil + } + + if ex, ok := s.ExtraProps[token]; ok { + return &ex, nil + } + + r, _, err := jsonpointer.GetForToken(s.SchemaProps, token) + if r != nil || (err != nil && !strings.HasPrefix(err.Error(), "object has no field")) { + return r, err + } + r, _, err = jsonpointer.GetForToken(s.SwaggerSchemaProps, token) + return r, err +} + +// WithID sets the id for this schema, allows for chaining +func (s *Schema) WithID(id string) *Schema { + s.ID = id + return s +} + +// WithTitle sets the title for this schema, allows for chaining +func (s *Schema) WithTitle(title string) *Schema { + s.Title = title + return s +} + +// WithDescription sets the description for this schema, allows for chaining +func (s *Schema) WithDescription(description string) *Schema { + s.Description = description + return s +} + +// WithProperties sets the properties for this schema +func (s *Schema) WithProperties(schemas map[string]Schema) *Schema { + s.Properties = schemas + return s +} + +// SetProperty sets a property on this schema +func (s *Schema) SetProperty(name string, schema Schema) *Schema { + if s.Properties == nil { + s.Properties = make(map[string]Schema) + } + s.Properties[name] = schema + return s +} + +// WithAllOf sets the all of property +func (s *Schema) WithAllOf(schemas ...Schema) *Schema { + s.AllOf = schemas + return s +} + +// WithMaxProperties sets the max number of properties an object can have +func (s *Schema) WithMaxProperties(max int64) *Schema { + s.MaxProperties = &max + return s +} + +// WithMinProperties sets the min number of properties an object must have +func (s *Schema) WithMinProperties(min int64) *Schema { + s.MinProperties = &min + return s +} + +// Typed sets the type of this schema for a single value item +func (s *Schema) Typed(tpe, format string) *Schema { + s.Type = []string{tpe} + s.Format = format + return s +} + +// AddType adds a type with potential format to the types for this schema +func (s *Schema) AddType(tpe, format string) *Schema { + s.Type = append(s.Type, tpe) + if format != "" { + s.Format = format + } + return s +} + +// AsNullable flags this schema as nullable. +func (s *Schema) AsNullable() *Schema { + s.Nullable = true + return s +} + +// CollectionOf a fluent builder method for an array parameter +func (s *Schema) CollectionOf(items Schema) *Schema { + s.Type = []string{jsonArray} + s.Items = &SchemaOrArray{Schema: &items} + return s +} + +// WithDefault sets the default value on this parameter +func (s *Schema) WithDefault(defaultValue interface{}) *Schema { + s.Default = defaultValue + return s +} + +// WithRequired flags this parameter as required +func (s *Schema) WithRequired(items ...string) *Schema { + s.Required = items + return s +} + +// AddRequired adds field names to the required properties array +func (s *Schema) AddRequired(items ...string) *Schema { + s.Required = append(s.Required, items...) + return s +} + +// WithMaxLength sets a max length value +func (s *Schema) WithMaxLength(max int64) *Schema { + s.MaxLength = &max + return s +} + +// WithMinLength sets a min length value +func (s *Schema) WithMinLength(min int64) *Schema { + s.MinLength = &min + return s +} + +// WithPattern sets a pattern value +func (s *Schema) WithPattern(pattern string) *Schema { + s.Pattern = pattern + return s +} + +// WithMultipleOf sets a multiple of value +func (s *Schema) WithMultipleOf(number float64) *Schema { + s.MultipleOf = &number + return s +} + +// WithMaximum sets a maximum number value +func (s *Schema) WithMaximum(max float64, exclusive bool) *Schema { + s.Maximum = &max + s.ExclusiveMaximum = exclusive + return s +} + +// WithMinimum sets a minimum number value +func (s *Schema) WithMinimum(min float64, exclusive bool) *Schema { + s.Minimum = &min + s.ExclusiveMinimum = exclusive + return s +} + +// WithEnum sets a the enum values (replace) +func (s *Schema) WithEnum(values ...interface{}) *Schema { + s.Enum = append([]interface{}{}, values...) + return s +} + +// WithMaxItems sets the max items +func (s *Schema) WithMaxItems(size int64) *Schema { + s.MaxItems = &size + return s +} + +// WithMinItems sets the min items +func (s *Schema) WithMinItems(size int64) *Schema { + s.MinItems = &size + return s +} + +// UniqueValues dictates that this array can only have unique items +func (s *Schema) UniqueValues() *Schema { + s.UniqueItems = true + return s +} + +// AllowDuplicates this array can have duplicates +func (s *Schema) AllowDuplicates() *Schema { + s.UniqueItems = false + return s +} + +// AddToAllOf adds a schema to the allOf property +func (s *Schema) AddToAllOf(schemas ...Schema) *Schema { + s.AllOf = append(s.AllOf, schemas...) + return s +} + +// WithDiscriminator sets the name of the discriminator field +func (s *Schema) WithDiscriminator(discriminator string) *Schema { + s.Discriminator = discriminator + return s +} + +// AsReadOnly flags this schema as readonly +func (s *Schema) AsReadOnly() *Schema { + s.ReadOnly = true + return s +} + +// AsWritable flags this schema as writeable (not read-only) +func (s *Schema) AsWritable() *Schema { + s.ReadOnly = false + return s +} + +// WithExample sets the example for this schema +func (s *Schema) WithExample(example interface{}) *Schema { + s.Example = example + return s +} + +// WithExternalDocs sets/removes the external docs for/from this schema. +// When you pass empty strings as params the external documents will be removed. +// When you pass non-empty string as one value then those values will be used on the external docs object. +// So when you pass a non-empty description, you should also pass the url and vice versa. +func (s *Schema) WithExternalDocs(description, url string) *Schema { + if description == "" && url == "" { + s.ExternalDocs = nil + return s + } + + if s.ExternalDocs == nil { + s.ExternalDocs = &ExternalDocumentation{} + } + s.ExternalDocs.Description = description + s.ExternalDocs.URL = url + return s +} + +// WithXMLName sets the xml name for the object +func (s *Schema) WithXMLName(name string) *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Name = name + return s +} + +// WithXMLNamespace sets the xml namespace for the object +func (s *Schema) WithXMLNamespace(namespace string) *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Namespace = namespace + return s +} + +// WithXMLPrefix sets the xml prefix for the object +func (s *Schema) WithXMLPrefix(prefix string) *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Prefix = prefix + return s +} + +// AsXMLAttribute flags this object as xml attribute +func (s *Schema) AsXMLAttribute() *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Attribute = true + return s +} + +// AsXMLElement flags this object as an xml node +func (s *Schema) AsXMLElement() *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Attribute = false + return s +} + +// AsWrappedXML flags this object as wrapped, this is mostly useful for array types +func (s *Schema) AsWrappedXML() *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Wrapped = true + return s +} + +// AsUnwrappedXML flags this object as an xml node +func (s *Schema) AsUnwrappedXML() *Schema { + if s.XML == nil { + s.XML = new(XMLObject) + } + s.XML.Wrapped = false + return s +} + +// MarshalJSON marshal this to JSON +func (s Schema) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(s.SchemaProps) + if err != nil { + return nil, fmt.Errorf("schema props %v", err) + } + b2, err := json.Marshal(s.VendorExtensible) + if err != nil { + return nil, fmt.Errorf("vendor props %v", err) + } + b3, err := s.Ref.MarshalJSON() + if err != nil { + return nil, fmt.Errorf("ref prop %v", err) + } + b4, err := s.Schema.MarshalJSON() + if err != nil { + return nil, fmt.Errorf("schema prop %v", err) + } + b5, err := json.Marshal(s.SwaggerSchemaProps) + if err != nil { + return nil, fmt.Errorf("common validations %v", err) + } + var b6 []byte + if s.ExtraProps != nil { + jj, err := json.Marshal(s.ExtraProps) + if err != nil { + return nil, fmt.Errorf("extra props %v", err) + } + b6 = jj + } + return swag.ConcatJSON(b1, b2, b3, b4, b5, b6), nil +} + +// UnmarshalJSON marshal this from JSON +func (s *Schema) UnmarshalJSON(data []byte) error { + props := struct { + SchemaProps + SwaggerSchemaProps + }{} + if err := json.Unmarshal(data, &props); err != nil { + return err + } + + sch := Schema{ + SchemaProps: props.SchemaProps, + SwaggerSchemaProps: props.SwaggerSchemaProps, + } + + var d map[string]interface{} + if err := json.Unmarshal(data, &d); err != nil { + return err + } + + _ = sch.Ref.fromMap(d) + _ = sch.Schema.fromMap(d) + + delete(d, "$ref") + delete(d, "$schema") + for _, pn := range swag.DefaultJSONNameProvider.GetJSONNames(s) { + delete(d, pn) + } + + for k, vv := range d { + lk := strings.ToLower(k) + if strings.HasPrefix(lk, "x-") { + if sch.Extensions == nil { + sch.Extensions = map[string]interface{}{} + } + sch.Extensions[k] = vv + continue + } + if sch.ExtraProps == nil { + sch.ExtraProps = map[string]interface{}{} + } + sch.ExtraProps[k] = vv + } + + *s = sch + + return nil +} diff --git a/vendor/github.com/go-openapi/spec/schema_loader.go b/vendor/github.com/go-openapi/spec/schema_loader.go new file mode 100644 index 00000000000..c34a96fa04e --- /dev/null +++ b/vendor/github.com/go-openapi/spec/schema_loader.go @@ -0,0 +1,275 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "encoding/json" + "fmt" + "log" + "net/url" + "reflect" + "strings" + + "github.com/go-openapi/swag" +) + +// PathLoader function to use when loading remote refs +var PathLoader func(string) (json.RawMessage, error) + +func init() { + PathLoader = func(path string) (json.RawMessage, error) { + data, err := swag.LoadFromFileOrHTTP(path) + if err != nil { + return nil, err + } + return json.RawMessage(data), nil + } +} + +// resolverContext allows to share a context during spec processing. +// At the moment, it just holds the index of circular references found. +type resolverContext struct { + // circulars holds all visited circular references, which allows shortcuts. + // NOTE: this is not just a performance improvement: it is required to figure out + // circular references which participate several cycles. + // This structure is privately instantiated and needs not be locked against + // concurrent access, unless we chose to implement a parallel spec walking. + circulars map[string]bool + basePath string +} + +func newResolverContext(originalBasePath string) *resolverContext { + return &resolverContext{ + circulars: make(map[string]bool), + basePath: originalBasePath, // keep the root base path in context + } +} + +type schemaLoader struct { + root interface{} + options *ExpandOptions + cache ResolutionCache + context *resolverContext + loadDoc func(string) (json.RawMessage, error) +} + +func (r *schemaLoader) transitiveResolver(basePath string, ref Ref) (*schemaLoader, error) { + if ref.IsRoot() || ref.HasFragmentOnly { + return r, nil + } + + baseRef, _ := NewRef(basePath) + currentRef := normalizeFileRef(&ref, basePath) + if strings.HasPrefix(currentRef.String(), baseRef.String()) { + return r, nil + } + + // Set a new root to resolve against + rootURL := currentRef.GetURL() + rootURL.Fragment = "" + root, _ := r.cache.Get(rootURL.String()) + + // shallow copy of resolver options to set a new RelativeBase when + // traversing multiple documents + newOptions := r.options + newOptions.RelativeBase = rootURL.String() + debugLog("setting new root: %s", newOptions.RelativeBase) + resolver, err := defaultSchemaLoader(root, newOptions, r.cache, r.context) + if err != nil { + return nil, err + } + + return resolver, nil +} + +func (r *schemaLoader) updateBasePath(transitive *schemaLoader, basePath string) string { + if transitive != r { + debugLog("got a new resolver") + if transitive.options != nil && transitive.options.RelativeBase != "" { + basePath, _ = absPath(transitive.options.RelativeBase) + debugLog("new basePath = %s", basePath) + } + } + return basePath +} + +func (r *schemaLoader) resolveRef(ref *Ref, target interface{}, basePath string) error { + tgt := reflect.ValueOf(target) + if tgt.Kind() != reflect.Ptr { + return fmt.Errorf("resolve ref: target needs to be a pointer") + } + + refURL := ref.GetURL() + if refURL == nil { + return nil + } + + var res interface{} + var data interface{} + var err error + // Resolve against the root if it isn't nil, and if ref is pointing at the root, or has a fragment only which means + // it is pointing somewhere in the root. + root := r.root + if (ref.IsRoot() || ref.HasFragmentOnly) && root == nil && basePath != "" { + if baseRef, erb := NewRef(basePath); erb == nil { + root, _, _, _ = r.load(baseRef.GetURL()) + } + } + if (ref.IsRoot() || ref.HasFragmentOnly) && root != nil { + data = root + } else { + baseRef := normalizeFileRef(ref, basePath) + debugLog("current ref is: %s", ref.String()) + debugLog("current ref normalized file: %s", baseRef.String()) + data, _, _, err = r.load(baseRef.GetURL()) + if err != nil { + return err + } + } + + res = data + if ref.String() != "" { + res, _, err = ref.GetPointer().Get(data) + if err != nil { + return err + } + } + return swag.DynamicJSONToStruct(res, target) +} + +func (r *schemaLoader) load(refURL *url.URL) (interface{}, url.URL, bool, error) { + debugLog("loading schema from url: %s", refURL) + toFetch := *refURL + toFetch.Fragment = "" + + normalized := normalizeAbsPath(toFetch.String()) + + data, fromCache := r.cache.Get(normalized) + if !fromCache { + b, err := r.loadDoc(normalized) + if err != nil { + return nil, url.URL{}, false, err + } + + if err := json.Unmarshal(b, &data); err != nil { + return nil, url.URL{}, false, err + } + r.cache.Set(normalized, data) + } + + return data, toFetch, fromCache, nil +} + +// isCircular detects cycles in sequences of $ref. +// It relies on a private context (which needs not be locked). +func (r *schemaLoader) isCircular(ref *Ref, basePath string, parentRefs ...string) (foundCycle bool) { + normalizedRef := normalizePaths(ref.String(), basePath) + if _, ok := r.context.circulars[normalizedRef]; ok { + // circular $ref has been already detected in another explored cycle + foundCycle = true + return + } + foundCycle = swag.ContainsStringsCI(parentRefs, normalizedRef) + if foundCycle { + r.context.circulars[normalizedRef] = true + } + return +} + +// Resolve resolves a reference against basePath and stores the result in target +// Resolve is not in charge of following references, it only resolves ref by following its URL +// if the schema that ref is referring to has more refs in it. Resolve doesn't resolve them +// if basePath is an empty string, ref is resolved against the root schema stored in the schemaLoader struct +func (r *schemaLoader) Resolve(ref *Ref, target interface{}, basePath string) error { + return r.resolveRef(ref, target, basePath) +} + +func (r *schemaLoader) deref(input interface{}, parentRefs []string, basePath string) error { + var ref *Ref + switch refable := input.(type) { + case *Schema: + ref = &refable.Ref + case *Parameter: + ref = &refable.Ref + case *Response: + ref = &refable.Ref + case *PathItem: + ref = &refable.Ref + default: + return fmt.Errorf("deref: unsupported type %T", input) + } + + curRef := ref.String() + if curRef != "" { + normalizedRef := normalizeFileRef(ref, basePath) + normalizedBasePath := normalizedRef.RemoteURI() + + if r.isCircular(normalizedRef, basePath, parentRefs...) { + return nil + } + + if err := r.resolveRef(ref, input, basePath); r.shouldStopOnError(err) { + return err + } + + // NOTE(fredbi): removed basePath check => needs more testing + if ref.String() != "" && ref.String() != curRef { + parentRefs = append(parentRefs, normalizedRef.String()) + return r.deref(input, parentRefs, normalizedBasePath) + } + } + + return nil +} + +func (r *schemaLoader) shouldStopOnError(err error) bool { + if err != nil && !r.options.ContinueOnError { + return true + } + + if err != nil { + log.Println(err) + } + + return false +} + +func defaultSchemaLoader( + root interface{}, + expandOptions *ExpandOptions, + cache ResolutionCache, + context *resolverContext) (*schemaLoader, error) { + + if cache == nil { + cache = resCache + } + if expandOptions == nil { + expandOptions = &ExpandOptions{} + } + absBase, _ := absPath(expandOptions.RelativeBase) + if context == nil { + context = newResolverContext(absBase) + } + return &schemaLoader{ + root: root, + options: expandOptions, + cache: cache, + context: context, + loadDoc: func(path string) (json.RawMessage, error) { + debugLog("fetching document at %q", path) + return PathLoader(path) + }, + }, nil +} diff --git a/vendor/github.com/go-openapi/spec/security_scheme.go b/vendor/github.com/go-openapi/spec/security_scheme.go new file mode 100644 index 00000000000..fe353842a6f --- /dev/null +++ b/vendor/github.com/go-openapi/spec/security_scheme.go @@ -0,0 +1,140 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "encoding/json" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +const ( + basic = "basic" + apiKey = "apiKey" + oauth2 = "oauth2" + implicit = "implicit" + password = "password" + application = "application" + accessCode = "accessCode" +) + +// BasicAuth creates a basic auth security scheme +func BasicAuth() *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{Type: basic}} +} + +// APIKeyAuth creates an api key auth security scheme +func APIKeyAuth(fieldName, valueSource string) *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{Type: apiKey, Name: fieldName, In: valueSource}} +} + +// OAuth2Implicit creates an implicit flow oauth2 security scheme +func OAuth2Implicit(authorizationURL string) *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{ + Type: oauth2, + Flow: implicit, + AuthorizationURL: authorizationURL, + }} +} + +// OAuth2Password creates a password flow oauth2 security scheme +func OAuth2Password(tokenURL string) *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{ + Type: oauth2, + Flow: password, + TokenURL: tokenURL, + }} +} + +// OAuth2Application creates an application flow oauth2 security scheme +func OAuth2Application(tokenURL string) *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{ + Type: oauth2, + Flow: application, + TokenURL: tokenURL, + }} +} + +// OAuth2AccessToken creates an access token flow oauth2 security scheme +func OAuth2AccessToken(authorizationURL, tokenURL string) *SecurityScheme { + return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{ + Type: oauth2, + Flow: accessCode, + AuthorizationURL: authorizationURL, + TokenURL: tokenURL, + }} +} + +// SecuritySchemeProps describes a swagger security scheme in the securityDefinitions section +type SecuritySchemeProps struct { + Description string `json:"description,omitempty"` + Type string `json:"type"` + Name string `json:"name,omitempty"` // api key + In string `json:"in,omitempty"` // api key + Flow string `json:"flow,omitempty"` // oauth2 + AuthorizationURL string `json:"authorizationUrl,omitempty"` // oauth2 + TokenURL string `json:"tokenUrl,omitempty"` // oauth2 + Scopes map[string]string `json:"scopes,omitempty"` // oauth2 +} + +// AddScope adds a scope to this security scheme +func (s *SecuritySchemeProps) AddScope(scope, description string) { + if s.Scopes == nil { + s.Scopes = make(map[string]string) + } + s.Scopes[scope] = description +} + +// SecurityScheme allows the definition of a security scheme that can be used by the operations. +// Supported schemes are basic authentication, an API key (either as a header or as a query parameter) +// and OAuth2's common flows (implicit, password, application and access code). +// +// For more information: http://goo.gl/8us55a#securitySchemeObject +type SecurityScheme struct { + VendorExtensible + SecuritySchemeProps +} + +// JSONLookup implements an interface to customize json pointer lookup +func (s SecurityScheme) JSONLookup(token string) (interface{}, error) { + if ex, ok := s.Extensions[token]; ok { + return &ex, nil + } + + r, _, err := jsonpointer.GetForToken(s.SecuritySchemeProps, token) + return r, err +} + +// MarshalJSON marshal this to JSON +func (s SecurityScheme) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(s.SecuritySchemeProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(s.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2), nil +} + +// UnmarshalJSON marshal this from JSON +func (s *SecurityScheme) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &s.SecuritySchemeProps); err != nil { + return err + } + return json.Unmarshal(data, &s.VendorExtensible) +} diff --git a/vendor/github.com/go-openapi/spec/spec.go b/vendor/github.com/go-openapi/spec/spec.go new file mode 100644 index 00000000000..0bb045bc06a --- /dev/null +++ b/vendor/github.com/go-openapi/spec/spec.go @@ -0,0 +1,86 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import "encoding/json" + +//go:generate curl -L --progress -o ./schemas/v2/schema.json http://swagger.io/v2/schema.json +//go:generate curl -L --progress -o ./schemas/jsonschema-draft-04.json http://json-schema.org/draft-04/schema +//go:generate go-bindata -pkg=spec -prefix=./schemas -ignore=.*\.md ./schemas/... +//go:generate perl -pi -e s,Json,JSON,g bindata.go + +const ( + // SwaggerSchemaURL the url for the swagger 2.0 schema to validate specs + SwaggerSchemaURL = "http://swagger.io/v2/schema.json#" + // JSONSchemaURL the url for the json schema schema + JSONSchemaURL = "http://json-schema.org/draft-04/schema#" +) + +var ( + jsonSchema *Schema + swaggerSchema *Schema +) + +func init() { + jsonSchema = MustLoadJSONSchemaDraft04() + swaggerSchema = MustLoadSwagger20Schema() +} + +// MustLoadJSONSchemaDraft04 panics when Swagger20Schema returns an error +func MustLoadJSONSchemaDraft04() *Schema { + d, e := JSONSchemaDraft04() + if e != nil { + panic(e) + } + return d +} + +// JSONSchemaDraft04 loads the json schema document for json shema draft04 +func JSONSchemaDraft04() (*Schema, error) { + b, err := Asset("jsonschema-draft-04.json") + if err != nil { + return nil, err + } + + schema := new(Schema) + if err := json.Unmarshal(b, schema); err != nil { + return nil, err + } + return schema, nil +} + +// MustLoadSwagger20Schema panics when Swagger20Schema returns an error +func MustLoadSwagger20Schema() *Schema { + d, e := Swagger20Schema() + if e != nil { + panic(e) + } + return d +} + +// Swagger20Schema loads the swagger 2.0 schema from the embedded assets +func Swagger20Schema() (*Schema, error) { + + b, err := Asset("v2/schema.json") + if err != nil { + return nil, err + } + + schema := new(Schema) + if err := json.Unmarshal(b, schema); err != nil { + return nil, err + } + return schema, nil +} diff --git a/vendor/github.com/go-openapi/spec/swagger.go b/vendor/github.com/go-openapi/spec/swagger.go new file mode 100644 index 00000000000..44722ffd5ad --- /dev/null +++ b/vendor/github.com/go-openapi/spec/swagger.go @@ -0,0 +1,448 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "bytes" + "encoding/gob" + "encoding/json" + "fmt" + "strconv" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// Swagger this is the root document object for the API specification. +// It combines what previously was the Resource Listing and API Declaration (version 1.2 and earlier) +// together into one document. +// +// For more information: http://goo.gl/8us55a#swagger-object- +type Swagger struct { + VendorExtensible + SwaggerProps +} + +// JSONLookup look up a value by the json property name +func (s Swagger) JSONLookup(token string) (interface{}, error) { + if ex, ok := s.Extensions[token]; ok { + return &ex, nil + } + r, _, err := jsonpointer.GetForToken(s.SwaggerProps, token) + return r, err +} + +// MarshalJSON marshals this swagger structure to json +func (s Swagger) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(s.SwaggerProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(s.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2), nil +} + +// UnmarshalJSON unmarshals a swagger spec from json +func (s *Swagger) UnmarshalJSON(data []byte) error { + var sw Swagger + if err := json.Unmarshal(data, &sw.SwaggerProps); err != nil { + return err + } + if err := json.Unmarshal(data, &sw.VendorExtensible); err != nil { + return err + } + *s = sw + return nil +} + +// GobEncode provides a safe gob encoder for Swagger, including extensions +func (s Swagger) GobEncode() ([]byte, error) { + var b bytes.Buffer + raw := struct { + Props SwaggerProps + Ext VendorExtensible + }{ + Props: s.SwaggerProps, + Ext: s.VendorExtensible, + } + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err +} + +// GobDecode provides a safe gob decoder for Swagger, including extensions +func (s *Swagger) GobDecode(b []byte) error { + var raw struct { + Props SwaggerProps + Ext VendorExtensible + } + buf := bytes.NewBuffer(b) + err := gob.NewDecoder(buf).Decode(&raw) + if err != nil { + return err + } + s.SwaggerProps = raw.Props + s.VendorExtensible = raw.Ext + return nil +} + +// SwaggerProps captures the top-level properties of an Api specification +// +// NOTE: validation rules +// - the scheme, when present must be from [http, https, ws, wss] +// - BasePath must start with a leading "/" +// - Paths is required +type SwaggerProps struct { + ID string `json:"id,omitempty"` + Consumes []string `json:"consumes,omitempty"` + Produces []string `json:"produces,omitempty"` + Schemes []string `json:"schemes,omitempty"` + Swagger string `json:"swagger,omitempty"` + Info *Info `json:"info,omitempty"` + Host string `json:"host,omitempty"` + BasePath string `json:"basePath,omitempty"` + Paths *Paths `json:"paths"` + Definitions Definitions `json:"definitions,omitempty"` + Parameters map[string]Parameter `json:"parameters,omitempty"` + Responses map[string]Response `json:"responses,omitempty"` + SecurityDefinitions SecurityDefinitions `json:"securityDefinitions,omitempty"` + Security []map[string][]string `json:"security,omitempty"` + Tags []Tag `json:"tags,omitempty"` + ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` +} + +type swaggerPropsAlias SwaggerProps + +type gobSwaggerPropsAlias struct { + Security []map[string]struct { + List []string + Pad bool + } + Alias *swaggerPropsAlias + SecurityIsEmpty bool +} + +// GobEncode provides a safe gob encoder for SwaggerProps, including empty security requirements +func (o SwaggerProps) GobEncode() ([]byte, error) { + raw := gobSwaggerPropsAlias{ + Alias: (*swaggerPropsAlias)(&o), + } + + var b bytes.Buffer + if o.Security == nil { + // nil security requirement + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err + } + + if len(o.Security) == 0 { + // empty, but non-nil security requirement + raw.SecurityIsEmpty = true + raw.Alias.Security = nil + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err + } + + raw.Security = make([]map[string]struct { + List []string + Pad bool + }, 0, len(o.Security)) + for _, req := range o.Security { + v := make(map[string]struct { + List []string + Pad bool + }, len(req)) + for k, val := range req { + v[k] = struct { + List []string + Pad bool + }{ + List: val, + } + } + raw.Security = append(raw.Security, v) + } + + err := gob.NewEncoder(&b).Encode(raw) + return b.Bytes(), err +} + +// GobDecode provides a safe gob decoder for SwaggerProps, including empty security requirements +func (o *SwaggerProps) GobDecode(b []byte) error { + var raw gobSwaggerPropsAlias + + buf := bytes.NewBuffer(b) + err := gob.NewDecoder(buf).Decode(&raw) + if err != nil { + return err + } + if raw.Alias == nil { + return nil + } + + switch { + case raw.SecurityIsEmpty: + // empty, but non-nil security requirement + raw.Alias.Security = []map[string][]string{} + case len(raw.Alias.Security) == 0: + // nil security requirement + raw.Alias.Security = nil + default: + raw.Alias.Security = make([]map[string][]string, 0, len(raw.Security)) + for _, req := range raw.Security { + v := make(map[string][]string, len(req)) + for k, val := range req { + v[k] = make([]string, 0, len(val.List)) + v[k] = append(v[k], val.List...) + } + raw.Alias.Security = append(raw.Alias.Security, v) + } + } + + *o = *(*SwaggerProps)(raw.Alias) + return nil +} + +// Dependencies represent a dependencies property +type Dependencies map[string]SchemaOrStringArray + +// SchemaOrBool represents a schema or boolean value, is biased towards true for the boolean property +type SchemaOrBool struct { + Allows bool + Schema *Schema +} + +// JSONLookup implements an interface to customize json pointer lookup +func (s SchemaOrBool) JSONLookup(token string) (interface{}, error) { + if token == "allows" { + return s.Allows, nil + } + r, _, err := jsonpointer.GetForToken(s.Schema, token) + return r, err +} + +var jsTrue = []byte("true") +var jsFalse = []byte("false") + +// MarshalJSON convert this object to JSON +func (s SchemaOrBool) MarshalJSON() ([]byte, error) { + if s.Schema != nil { + return json.Marshal(s.Schema) + } + + if s.Schema == nil && !s.Allows { + return jsFalse, nil + } + return jsTrue, nil +} + +// UnmarshalJSON converts this bool or schema object from a JSON structure +func (s *SchemaOrBool) UnmarshalJSON(data []byte) error { + var nw SchemaOrBool + if len(data) >= 4 { + if data[0] == '{' { + var sch Schema + if err := json.Unmarshal(data, &sch); err != nil { + return err + } + nw.Schema = &sch + } + nw.Allows = !(data[0] == 'f' && data[1] == 'a' && data[2] == 'l' && data[3] == 's' && data[4] == 'e') + } + *s = nw + return nil +} + +// SchemaOrStringArray represents a schema or a string array +type SchemaOrStringArray struct { + Schema *Schema + Property []string +} + +// JSONLookup implements an interface to customize json pointer lookup +func (s SchemaOrStringArray) JSONLookup(token string) (interface{}, error) { + r, _, err := jsonpointer.GetForToken(s.Schema, token) + return r, err +} + +// MarshalJSON converts this schema object or array into JSON structure +func (s SchemaOrStringArray) MarshalJSON() ([]byte, error) { + if len(s.Property) > 0 { + return json.Marshal(s.Property) + } + if s.Schema != nil { + return json.Marshal(s.Schema) + } + return []byte("null"), nil +} + +// UnmarshalJSON converts this schema object or array from a JSON structure +func (s *SchemaOrStringArray) UnmarshalJSON(data []byte) error { + var first byte + if len(data) > 1 { + first = data[0] + } + var nw SchemaOrStringArray + if first == '{' { + var sch Schema + if err := json.Unmarshal(data, &sch); err != nil { + return err + } + nw.Schema = &sch + } + if first == '[' { + if err := json.Unmarshal(data, &nw.Property); err != nil { + return err + } + } + *s = nw + return nil +} + +// Definitions contains the models explicitly defined in this spec +// An object to hold data types that can be consumed and produced by operations. +// These data types can be primitives, arrays or models. +// +// For more information: http://goo.gl/8us55a#definitionsObject +type Definitions map[string]Schema + +// SecurityDefinitions a declaration of the security schemes available to be used in the specification. +// This does not enforce the security schemes on the operations and only serves to provide +// the relevant details for each scheme. +// +// For more information: http://goo.gl/8us55a#securityDefinitionsObject +type SecurityDefinitions map[string]*SecurityScheme + +// StringOrArray represents a value that can either be a string +// or an array of strings. Mainly here for serialization purposes +type StringOrArray []string + +// Contains returns true when the value is contained in the slice +func (s StringOrArray) Contains(value string) bool { + for _, str := range s { + if str == value { + return true + } + } + return false +} + +// JSONLookup implements an interface to customize json pointer lookup +func (s SchemaOrArray) JSONLookup(token string) (interface{}, error) { + if _, err := strconv.Atoi(token); err == nil { + r, _, err := jsonpointer.GetForToken(s.Schemas, token) + return r, err + } + r, _, err := jsonpointer.GetForToken(s.Schema, token) + return r, err +} + +// UnmarshalJSON unmarshals this string or array object from a JSON array or JSON string +func (s *StringOrArray) UnmarshalJSON(data []byte) error { + var first byte + if len(data) > 1 { + first = data[0] + } + + if first == '[' { + var parsed []string + if err := json.Unmarshal(data, &parsed); err != nil { + return err + } + *s = StringOrArray(parsed) + return nil + } + + var single interface{} + if err := json.Unmarshal(data, &single); err != nil { + return err + } + if single == nil { + return nil + } + switch v := single.(type) { + case string: + *s = StringOrArray([]string{v}) + return nil + default: + return fmt.Errorf("only string or array is allowed, not %T", single) + } +} + +// MarshalJSON converts this string or array to a JSON array or JSON string +func (s StringOrArray) MarshalJSON() ([]byte, error) { + if len(s) == 1 { + return json.Marshal([]string(s)[0]) + } + return json.Marshal([]string(s)) +} + +// SchemaOrArray represents a value that can either be a Schema +// or an array of Schema. Mainly here for serialization purposes +type SchemaOrArray struct { + Schema *Schema + Schemas []Schema +} + +// Len returns the number of schemas in this property +func (s SchemaOrArray) Len() int { + if s.Schema != nil { + return 1 + } + return len(s.Schemas) +} + +// ContainsType returns true when one of the schemas is of the specified type +func (s *SchemaOrArray) ContainsType(name string) bool { + if s.Schema != nil { + return s.Schema.Type != nil && s.Schema.Type.Contains(name) + } + return false +} + +// MarshalJSON converts this schema object or array into JSON structure +func (s SchemaOrArray) MarshalJSON() ([]byte, error) { + if len(s.Schemas) > 0 { + return json.Marshal(s.Schemas) + } + return json.Marshal(s.Schema) +} + +// UnmarshalJSON converts this schema object or array from a JSON structure +func (s *SchemaOrArray) UnmarshalJSON(data []byte) error { + var nw SchemaOrArray + var first byte + if len(data) > 1 { + first = data[0] + } + if first == '{' { + var sch Schema + if err := json.Unmarshal(data, &sch); err != nil { + return err + } + nw.Schema = &sch + } + if first == '[' { + if err := json.Unmarshal(data, &nw.Schemas); err != nil { + return err + } + } + *s = nw + return nil +} + +// vim:set ft=go noet sts=2 sw=2 ts=2: diff --git a/vendor/github.com/go-openapi/spec/tag.go b/vendor/github.com/go-openapi/spec/tag.go new file mode 100644 index 00000000000..faa3d3de1eb --- /dev/null +++ b/vendor/github.com/go-openapi/spec/tag.go @@ -0,0 +1,75 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +import ( + "encoding/json" + + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/swag" +) + +// TagProps describe a tag entry in the top level tags section of a swagger spec +type TagProps struct { + Description string `json:"description,omitempty"` + Name string `json:"name,omitempty"` + ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` +} + +// NewTag creates a new tag +func NewTag(name, description string, externalDocs *ExternalDocumentation) Tag { + return Tag{TagProps: TagProps{Description: description, Name: name, ExternalDocs: externalDocs}} +} + +// Tag allows adding meta data to a single tag that is used by the +// [Operation Object](http://goo.gl/8us55a#operationObject). +// It is not mandatory to have a Tag Object per tag used there. +// +// For more information: http://goo.gl/8us55a#tagObject +type Tag struct { + VendorExtensible + TagProps +} + +// JSONLookup implements an interface to customize json pointer lookup +func (t Tag) JSONLookup(token string) (interface{}, error) { + if ex, ok := t.Extensions[token]; ok { + return &ex, nil + } + + r, _, err := jsonpointer.GetForToken(t.TagProps, token) + return r, err +} + +// MarshalJSON marshal this to JSON +func (t Tag) MarshalJSON() ([]byte, error) { + b1, err := json.Marshal(t.TagProps) + if err != nil { + return nil, err + } + b2, err := json.Marshal(t.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b1, b2), nil +} + +// UnmarshalJSON marshal this from JSON +func (t *Tag) UnmarshalJSON(data []byte) error { + if err := json.Unmarshal(data, &t.TagProps); err != nil { + return err + } + return json.Unmarshal(data, &t.VendorExtensible) +} diff --git a/vendor/github.com/go-openapi/spec/unused.go b/vendor/github.com/go-openapi/spec/unused.go new file mode 100644 index 00000000000..aa12b56f6e4 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/unused.go @@ -0,0 +1,174 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +/* + +import ( + "net/url" + "os" + "path" + "path/filepath" + + "github.com/go-openapi/jsonpointer" +) + + // Some currently unused functions and definitions that + // used to be part of the expander. + + // Moved here for the record and possible future reuse + +var ( + idPtr, _ = jsonpointer.New("/id") + refPtr, _ = jsonpointer.New("/$ref") +) + +func idFromNode(node interface{}) (*Ref, error) { + if idValue, _, err := idPtr.Get(node); err == nil { + if refStr, ok := idValue.(string); ok && refStr != "" { + idRef, err := NewRef(refStr) + if err != nil { + return nil, err + } + return &idRef, nil + } + } + return nil, nil +} + +func nextRef(startingNode interface{}, startingRef *Ref, ptr *jsonpointer.Pointer) *Ref { + if startingRef == nil { + return nil + } + + if ptr == nil { + return startingRef + } + + ret := startingRef + var idRef *Ref + node := startingNode + + for _, tok := range ptr.DecodedTokens() { + node, _, _ = jsonpointer.GetForToken(node, tok) + if node == nil { + break + } + + idRef, _ = idFromNode(node) + if idRef != nil { + nw, err := ret.Inherits(*idRef) + if err != nil { + break + } + ret = nw + } + + refRef, _, _ := refPtr.Get(node) + if refRef != nil { + var rf Ref + switch value := refRef.(type) { + case string: + rf, _ = NewRef(value) + } + nw, err := ret.Inherits(rf) + if err != nil { + break + } + nwURL := nw.GetURL() + if nwURL.Scheme == "file" || (nwURL.Scheme == "" && nwURL.Host == "") { + nwpt := filepath.ToSlash(nwURL.Path) + if filepath.IsAbs(nwpt) { + _, err := os.Stat(nwpt) + if err != nil { + nwURL.Path = filepath.Join(".", nwpt) + } + } + } + + ret = nw + } + + } + + return ret +} + +// basePathFromSchemaID returns a new basePath based on an existing basePath and a schema ID +func basePathFromSchemaID(oldBasePath, id string) string { + u, err := url.Parse(oldBasePath) + if err != nil { + panic(err) + } + uid, err := url.Parse(id) + if err != nil { + panic(err) + } + + if path.IsAbs(uid.Path) { + return id + } + u.Path = path.Join(path.Dir(u.Path), uid.Path) + return u.String() +} +*/ + +// type ExtraSchemaProps map[string]interface{} + +// // JSONSchema represents a structure that is a json schema draft 04 +// type JSONSchema struct { +// SchemaProps +// ExtraSchemaProps +// } + +// // MarshalJSON marshal this to JSON +// func (s JSONSchema) MarshalJSON() ([]byte, error) { +// b1, err := json.Marshal(s.SchemaProps) +// if err != nil { +// return nil, err +// } +// b2, err := s.Ref.MarshalJSON() +// if err != nil { +// return nil, err +// } +// b3, err := s.Schema.MarshalJSON() +// if err != nil { +// return nil, err +// } +// b4, err := json.Marshal(s.ExtraSchemaProps) +// if err != nil { +// return nil, err +// } +// return swag.ConcatJSON(b1, b2, b3, b4), nil +// } + +// // UnmarshalJSON marshal this from JSON +// func (s *JSONSchema) UnmarshalJSON(data []byte) error { +// var sch JSONSchema +// if err := json.Unmarshal(data, &sch.SchemaProps); err != nil { +// return err +// } +// if err := json.Unmarshal(data, &sch.Ref); err != nil { +// return err +// } +// if err := json.Unmarshal(data, &sch.Schema); err != nil { +// return err +// } +// if err := json.Unmarshal(data, &sch.ExtraSchemaProps); err != nil { +// return err +// } +// *s = sch +// return nil +// } diff --git a/vendor/github.com/go-openapi/spec/xml_object.go b/vendor/github.com/go-openapi/spec/xml_object.go new file mode 100644 index 00000000000..945a46703d5 --- /dev/null +++ b/vendor/github.com/go-openapi/spec/xml_object.go @@ -0,0 +1,68 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 spec + +// XMLObject a metadata object that allows for more fine-tuned XML model definitions. +// +// For more information: http://goo.gl/8us55a#xmlObject +type XMLObject struct { + Name string `json:"name,omitempty"` + Namespace string `json:"namespace,omitempty"` + Prefix string `json:"prefix,omitempty"` + Attribute bool `json:"attribute,omitempty"` + Wrapped bool `json:"wrapped,omitempty"` +} + +// WithName sets the xml name for the object +func (x *XMLObject) WithName(name string) *XMLObject { + x.Name = name + return x +} + +// WithNamespace sets the xml namespace for the object +func (x *XMLObject) WithNamespace(namespace string) *XMLObject { + x.Namespace = namespace + return x +} + +// WithPrefix sets the xml prefix for the object +func (x *XMLObject) WithPrefix(prefix string) *XMLObject { + x.Prefix = prefix + return x +} + +// AsAttribute flags this object as xml attribute +func (x *XMLObject) AsAttribute() *XMLObject { + x.Attribute = true + return x +} + +// AsElement flags this object as an xml node +func (x *XMLObject) AsElement() *XMLObject { + x.Attribute = false + return x +} + +// AsWrapped flags this object as wrapped, this is mostly useful for array types +func (x *XMLObject) AsWrapped() *XMLObject { + x.Wrapped = true + return x +} + +// AsUnwrapped flags this object as an xml node +func (x *XMLObject) AsUnwrapped() *XMLObject { + x.Wrapped = false + return x +} diff --git a/vendor/github.com/go-openapi/swag/.editorconfig b/vendor/github.com/go-openapi/swag/.editorconfig new file mode 100644 index 00000000000..3152da69a5d --- /dev/null +++ b/vendor/github.com/go-openapi/swag/.editorconfig @@ -0,0 +1,26 @@ +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true + +# Set default charset +[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] +charset = utf-8 + +# Tab indentation (no size specified) +[*.go] +indent_style = tab + +[*.md] +trim_trailing_whitespace = false + +# Matches the exact files either package.json or .travis.yml +[{package.json,.travis.yml}] +indent_style = space +indent_size = 2 diff --git a/vendor/github.com/go-openapi/swag/.gitignore b/vendor/github.com/go-openapi/swag/.gitignore new file mode 100644 index 00000000000..d69b53accc5 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/.gitignore @@ -0,0 +1,4 @@ +secrets.yml +vendor +Godeps +.idea diff --git a/vendor/github.com/go-openapi/swag/.golangci.yml b/vendor/github.com/go-openapi/swag/.golangci.yml new file mode 100644 index 00000000000..625c3d6affe --- /dev/null +++ b/vendor/github.com/go-openapi/swag/.golangci.yml @@ -0,0 +1,22 @@ +linters-settings: + govet: + check-shadowing: true + golint: + min-confidence: 0 + gocyclo: + min-complexity: 25 + maligned: + suggest-new: true + dupl: + threshold: 100 + goconst: + min-len: 3 + min-occurrences: 2 + +linters: + enable-all: true + disable: + - maligned + - lll + - gochecknoinits + - gochecknoglobals diff --git a/vendor/github.com/go-openapi/swag/.travis.yml b/vendor/github.com/go-openapi/swag/.travis.yml new file mode 100644 index 00000000000..aa26d8763aa --- /dev/null +++ b/vendor/github.com/go-openapi/swag/.travis.yml @@ -0,0 +1,15 @@ +after_success: +- bash <(curl -s https://codecov.io/bash) +go: +- 1.11.x +- 1.12.x +install: +- GO111MODULE=off go get -u gotest.tools/gotestsum +env: +- GO111MODULE=on +language: go +notifications: + slack: + secure: QUWvCkBBK09GF7YtEvHHVt70JOkdlNBG0nIKu/5qc4/nW5HP8I2w0SEf/XR2je0eED1Qe3L/AfMCWwrEj+IUZc3l4v+ju8X8R3Lomhme0Eb0jd1MTMCuPcBT47YCj0M7RON7vXtbFfm1hFJ/jLe5+9FXz0hpXsR24PJc5ZIi/ogNwkaPqG4BmndzecpSh0vc2FJPZUD9LT0I09REY/vXR0oQAalLkW0asGD5taHZTUZq/kBpsNxaAFrLM23i4mUcf33M5fjLpvx5LRICrX/57XpBrDh2TooBU6Qj3CgoY0uPRYUmSNxbVx1czNzl2JtEpb5yjoxfVPQeg0BvQM00G8LJINISR+ohrjhkZmAqchDupAX+yFrxTtORa78CtnIL6z/aTNlgwwVD8kvL/1pFA/JWYmKDmz93mV/+6wubGzNSQCstzjkFA4/iZEKewKUoRIAi/fxyscP6L/rCpmY/4llZZvrnyTqVbt6URWpopUpH4rwYqreXAtJxJsfBJIeSmUIiDIOMGkCTvyTEW3fWGmGoqWtSHLoaWDyAIGb7azb+KvfpWtEcoPFWfSWU+LGee0A/YsUhBl7ADB9A0CJEuR8q4BPpKpfLwPKSiKSAXL7zDkyjExyhtgqbSl2jS+rKIHOZNL8JkCcTP2MKMVd563C5rC5FMKqu3S9m2b6380E= +script: +- gotestsum -f short-verbose -- -race -coverprofile=coverage.txt -covermode=atomic ./... diff --git a/vendor/github.com/go-openapi/swag/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/swag/CODE_OF_CONDUCT.md new file mode 100644 index 00000000000..9322b065e37 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/swag/LICENSE b/vendor/github.com/go-openapi/swag/LICENSE new file mode 100644 index 00000000000..d6456956733 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/swag/README.md b/vendor/github.com/go-openapi/swag/README.md new file mode 100644 index 00000000000..eb60ae80abe --- /dev/null +++ b/vendor/github.com/go-openapi/swag/README.md @@ -0,0 +1,22 @@ +# Swag [![Build Status](https://travis-ci.org/go-openapi/swag.svg?branch=master)](https://travis-ci.org/go-openapi/swag) [![codecov](https://codecov.io/gh/go-openapi/swag/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/swag) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) + +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/swag/master/LICENSE) +[![GoDoc](https://godoc.org/github.com/go-openapi/swag?status.svg)](http://godoc.org/github.com/go-openapi/swag) +[![GolangCI](https://golangci.com/badges/github.com/go-openapi/swag.svg)](https://golangci.com) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/swag)](https://goreportcard.com/report/github.com/go-openapi/swag) + +Contains a bunch of helper functions for go-openapi and go-swagger projects. + +You may also use it standalone for your projects. + +* convert between value and pointers for builtin types +* convert from string to builtin types (wraps strconv) +* fast json concatenation +* search in path +* load from file or http +* name mangling + + +This repo has only few dependencies outside of the standard library: + +* YAML utilities depend on gopkg.in/yaml.v2 diff --git a/vendor/github.com/go-openapi/swag/convert.go b/vendor/github.com/go-openapi/swag/convert.go new file mode 100644 index 00000000000..7da35c316e5 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/convert.go @@ -0,0 +1,208 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 swag + +import ( + "math" + "strconv" + "strings" +) + +// same as ECMA Number.MAX_SAFE_INTEGER and Number.MIN_SAFE_INTEGER +const ( + maxJSONFloat = float64(1<<53 - 1) // 9007199254740991.0 2^53 - 1 + minJSONFloat = -float64(1<<53 - 1) //-9007199254740991.0 -2^53 - 1 + epsilon float64 = 1e-9 +) + +// IsFloat64AJSONInteger allow for integers [-2^53, 2^53-1] inclusive +func IsFloat64AJSONInteger(f float64) bool { + if math.IsNaN(f) || math.IsInf(f, 0) || f < minJSONFloat || f > maxJSONFloat { + return false + } + fa := math.Abs(f) + g := float64(uint64(f)) + ga := math.Abs(g) + + diff := math.Abs(f - g) + + // more info: https://floating-point-gui.de/errors/comparison/#look-out-for-edge-cases + switch { + case f == g: // best case + return true + case f == float64(int64(f)) || f == float64(uint64(f)): // optimistic case + return true + case f == 0 || g == 0 || diff < math.SmallestNonzeroFloat64: // very close to 0 values + return diff < (epsilon * math.SmallestNonzeroFloat64) + } + // check the relative error + return diff/math.Min(fa+ga, math.MaxFloat64) < epsilon +} + +var evaluatesAsTrue map[string]struct{} + +func init() { + evaluatesAsTrue = map[string]struct{}{ + "true": {}, + "1": {}, + "yes": {}, + "ok": {}, + "y": {}, + "on": {}, + "selected": {}, + "checked": {}, + "t": {}, + "enabled": {}, + } +} + +// ConvertBool turn a string into a boolean +func ConvertBool(str string) (bool, error) { + _, ok := evaluatesAsTrue[strings.ToLower(str)] + return ok, nil +} + +// ConvertFloat32 turn a string into a float32 +func ConvertFloat32(str string) (float32, error) { + f, err := strconv.ParseFloat(str, 32) + if err != nil { + return 0, err + } + return float32(f), nil +} + +// ConvertFloat64 turn a string into a float64 +func ConvertFloat64(str string) (float64, error) { + return strconv.ParseFloat(str, 64) +} + +// ConvertInt8 turn a string into int8 boolean +func ConvertInt8(str string) (int8, error) { + i, err := strconv.ParseInt(str, 10, 8) + if err != nil { + return 0, err + } + return int8(i), nil +} + +// ConvertInt16 turn a string into a int16 +func ConvertInt16(str string) (int16, error) { + i, err := strconv.ParseInt(str, 10, 16) + if err != nil { + return 0, err + } + return int16(i), nil +} + +// ConvertInt32 turn a string into a int32 +func ConvertInt32(str string) (int32, error) { + i, err := strconv.ParseInt(str, 10, 32) + if err != nil { + return 0, err + } + return int32(i), nil +} + +// ConvertInt64 turn a string into a int64 +func ConvertInt64(str string) (int64, error) { + return strconv.ParseInt(str, 10, 64) +} + +// ConvertUint8 turn a string into a uint8 +func ConvertUint8(str string) (uint8, error) { + i, err := strconv.ParseUint(str, 10, 8) + if err != nil { + return 0, err + } + return uint8(i), nil +} + +// ConvertUint16 turn a string into a uint16 +func ConvertUint16(str string) (uint16, error) { + i, err := strconv.ParseUint(str, 10, 16) + if err != nil { + return 0, err + } + return uint16(i), nil +} + +// ConvertUint32 turn a string into a uint32 +func ConvertUint32(str string) (uint32, error) { + i, err := strconv.ParseUint(str, 10, 32) + if err != nil { + return 0, err + } + return uint32(i), nil +} + +// ConvertUint64 turn a string into a uint64 +func ConvertUint64(str string) (uint64, error) { + return strconv.ParseUint(str, 10, 64) +} + +// FormatBool turns a boolean into a string +func FormatBool(value bool) string { + return strconv.FormatBool(value) +} + +// FormatFloat32 turns a float32 into a string +func FormatFloat32(value float32) string { + return strconv.FormatFloat(float64(value), 'f', -1, 32) +} + +// FormatFloat64 turns a float64 into a string +func FormatFloat64(value float64) string { + return strconv.FormatFloat(value, 'f', -1, 64) +} + +// FormatInt8 turns an int8 into a string +func FormatInt8(value int8) string { + return strconv.FormatInt(int64(value), 10) +} + +// FormatInt16 turns an int16 into a string +func FormatInt16(value int16) string { + return strconv.FormatInt(int64(value), 10) +} + +// FormatInt32 turns an int32 into a string +func FormatInt32(value int32) string { + return strconv.Itoa(int(value)) +} + +// FormatInt64 turns an int64 into a string +func FormatInt64(value int64) string { + return strconv.FormatInt(value, 10) +} + +// FormatUint8 turns an uint8 into a string +func FormatUint8(value uint8) string { + return strconv.FormatUint(uint64(value), 10) +} + +// FormatUint16 turns an uint16 into a string +func FormatUint16(value uint16) string { + return strconv.FormatUint(uint64(value), 10) +} + +// FormatUint32 turns an uint32 into a string +func FormatUint32(value uint32) string { + return strconv.FormatUint(uint64(value), 10) +} + +// FormatUint64 turns an uint64 into a string +func FormatUint64(value uint64) string { + return strconv.FormatUint(value, 10) +} diff --git a/vendor/github.com/go-openapi/swag/convert_types.go b/vendor/github.com/go-openapi/swag/convert_types.go new file mode 100644 index 00000000000..c95e4e78bdd --- /dev/null +++ b/vendor/github.com/go-openapi/swag/convert_types.go @@ -0,0 +1,595 @@ +package swag + +import "time" + +// This file was taken from the aws go sdk + +// String returns a pointer to of the string value passed in. +func String(v string) *string { + return &v +} + +// StringValue returns the value of the string pointer passed in or +// "" if the pointer is nil. +func StringValue(v *string) string { + if v != nil { + return *v + } + return "" +} + +// StringSlice converts a slice of string values into a slice of +// string pointers +func StringSlice(src []string) []*string { + dst := make([]*string, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// StringValueSlice converts a slice of string pointers into a slice of +// string values +func StringValueSlice(src []*string) []string { + dst := make([]string, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// StringMap converts a string map of string values into a string +// map of string pointers +func StringMap(src map[string]string) map[string]*string { + dst := make(map[string]*string) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// StringValueMap converts a string map of string pointers into a string +// map of string values +func StringValueMap(src map[string]*string) map[string]string { + dst := make(map[string]string) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Bool returns a pointer to of the bool value passed in. +func Bool(v bool) *bool { + return &v +} + +// BoolValue returns the value of the bool pointer passed in or +// false if the pointer is nil. +func BoolValue(v *bool) bool { + if v != nil { + return *v + } + return false +} + +// BoolSlice converts a slice of bool values into a slice of +// bool pointers +func BoolSlice(src []bool) []*bool { + dst := make([]*bool, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// BoolValueSlice converts a slice of bool pointers into a slice of +// bool values +func BoolValueSlice(src []*bool) []bool { + dst := make([]bool, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// BoolMap converts a string map of bool values into a string +// map of bool pointers +func BoolMap(src map[string]bool) map[string]*bool { + dst := make(map[string]*bool) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// BoolValueMap converts a string map of bool pointers into a string +// map of bool values +func BoolValueMap(src map[string]*bool) map[string]bool { + dst := make(map[string]bool) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Int returns a pointer to of the int value passed in. +func Int(v int) *int { + return &v +} + +// IntValue returns the value of the int pointer passed in or +// 0 if the pointer is nil. +func IntValue(v *int) int { + if v != nil { + return *v + } + return 0 +} + +// IntSlice converts a slice of int values into a slice of +// int pointers +func IntSlice(src []int) []*int { + dst := make([]*int, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// IntValueSlice converts a slice of int pointers into a slice of +// int values +func IntValueSlice(src []*int) []int { + dst := make([]int, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// IntMap converts a string map of int values into a string +// map of int pointers +func IntMap(src map[string]int) map[string]*int { + dst := make(map[string]*int) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// IntValueMap converts a string map of int pointers into a string +// map of int values +func IntValueMap(src map[string]*int) map[string]int { + dst := make(map[string]int) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Int32 returns a pointer to of the int64 value passed in. +func Int32(v int32) *int32 { + return &v +} + +// Int32Value returns the value of the int64 pointer passed in or +// 0 if the pointer is nil. +func Int32Value(v *int32) int32 { + if v != nil { + return *v + } + return 0 +} + +// Int32Slice converts a slice of int64 values into a slice of +// int32 pointers +func Int32Slice(src []int32) []*int32 { + dst := make([]*int32, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Int32ValueSlice converts a slice of int32 pointers into a slice of +// int32 values +func Int32ValueSlice(src []*int32) []int32 { + dst := make([]int32, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Int32Map converts a string map of int32 values into a string +// map of int32 pointers +func Int32Map(src map[string]int32) map[string]*int32 { + dst := make(map[string]*int32) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Int32ValueMap converts a string map of int32 pointers into a string +// map of int32 values +func Int32ValueMap(src map[string]*int32) map[string]int32 { + dst := make(map[string]int32) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Int64 returns a pointer to of the int64 value passed in. +func Int64(v int64) *int64 { + return &v +} + +// Int64Value returns the value of the int64 pointer passed in or +// 0 if the pointer is nil. +func Int64Value(v *int64) int64 { + if v != nil { + return *v + } + return 0 +} + +// Int64Slice converts a slice of int64 values into a slice of +// int64 pointers +func Int64Slice(src []int64) []*int64 { + dst := make([]*int64, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Int64ValueSlice converts a slice of int64 pointers into a slice of +// int64 values +func Int64ValueSlice(src []*int64) []int64 { + dst := make([]int64, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Int64Map converts a string map of int64 values into a string +// map of int64 pointers +func Int64Map(src map[string]int64) map[string]*int64 { + dst := make(map[string]*int64) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Int64ValueMap converts a string map of int64 pointers into a string +// map of int64 values +func Int64ValueMap(src map[string]*int64) map[string]int64 { + dst := make(map[string]int64) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Uint returns a pouinter to of the uint value passed in. +func Uint(v uint) *uint { + return &v +} + +// UintValue returns the value of the uint pouinter passed in or +// 0 if the pouinter is nil. +func UintValue(v *uint) uint { + if v != nil { + return *v + } + return 0 +} + +// UintSlice converts a slice of uint values uinto a slice of +// uint pouinters +func UintSlice(src []uint) []*uint { + dst := make([]*uint, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// UintValueSlice converts a slice of uint pouinters uinto a slice of +// uint values +func UintValueSlice(src []*uint) []uint { + dst := make([]uint, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// UintMap converts a string map of uint values uinto a string +// map of uint pouinters +func UintMap(src map[string]uint) map[string]*uint { + dst := make(map[string]*uint) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// UintValueMap converts a string map of uint pouinters uinto a string +// map of uint values +func UintValueMap(src map[string]*uint) map[string]uint { + dst := make(map[string]uint) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Uint32 returns a pouinter to of the uint64 value passed in. +func Uint32(v uint32) *uint32 { + return &v +} + +// Uint32Value returns the value of the uint64 pouinter passed in or +// 0 if the pouinter is nil. +func Uint32Value(v *uint32) uint32 { + if v != nil { + return *v + } + return 0 +} + +// Uint32Slice converts a slice of uint64 values uinto a slice of +// uint32 pouinters +func Uint32Slice(src []uint32) []*uint32 { + dst := make([]*uint32, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Uint32ValueSlice converts a slice of uint32 pouinters uinto a slice of +// uint32 values +func Uint32ValueSlice(src []*uint32) []uint32 { + dst := make([]uint32, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Uint32Map converts a string map of uint32 values uinto a string +// map of uint32 pouinters +func Uint32Map(src map[string]uint32) map[string]*uint32 { + dst := make(map[string]*uint32) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Uint32ValueMap converts a string map of uint32 pouinters uinto a string +// map of uint32 values +func Uint32ValueMap(src map[string]*uint32) map[string]uint32 { + dst := make(map[string]uint32) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Uint64 returns a pouinter to of the uint64 value passed in. +func Uint64(v uint64) *uint64 { + return &v +} + +// Uint64Value returns the value of the uint64 pouinter passed in or +// 0 if the pouinter is nil. +func Uint64Value(v *uint64) uint64 { + if v != nil { + return *v + } + return 0 +} + +// Uint64Slice converts a slice of uint64 values uinto a slice of +// uint64 pouinters +func Uint64Slice(src []uint64) []*uint64 { + dst := make([]*uint64, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Uint64ValueSlice converts a slice of uint64 pouinters uinto a slice of +// uint64 values +func Uint64ValueSlice(src []*uint64) []uint64 { + dst := make([]uint64, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Uint64Map converts a string map of uint64 values uinto a string +// map of uint64 pouinters +func Uint64Map(src map[string]uint64) map[string]*uint64 { + dst := make(map[string]*uint64) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Uint64ValueMap converts a string map of uint64 pouinters uinto a string +// map of uint64 values +func Uint64ValueMap(src map[string]*uint64) map[string]uint64 { + dst := make(map[string]uint64) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Float64 returns a pointer to of the float64 value passed in. +func Float64(v float64) *float64 { + return &v +} + +// Float64Value returns the value of the float64 pointer passed in or +// 0 if the pointer is nil. +func Float64Value(v *float64) float64 { + if v != nil { + return *v + } + return 0 +} + +// Float64Slice converts a slice of float64 values into a slice of +// float64 pointers +func Float64Slice(src []float64) []*float64 { + dst := make([]*float64, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Float64ValueSlice converts a slice of float64 pointers into a slice of +// float64 values +func Float64ValueSlice(src []*float64) []float64 { + dst := make([]float64, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Float64Map converts a string map of float64 values into a string +// map of float64 pointers +func Float64Map(src map[string]float64) map[string]*float64 { + dst := make(map[string]*float64) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Float64ValueMap converts a string map of float64 pointers into a string +// map of float64 values +func Float64ValueMap(src map[string]*float64) map[string]float64 { + dst := make(map[string]float64) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Time returns a pointer to of the time.Time value passed in. +func Time(v time.Time) *time.Time { + return &v +} + +// TimeValue returns the value of the time.Time pointer passed in or +// time.Time{} if the pointer is nil. +func TimeValue(v *time.Time) time.Time { + if v != nil { + return *v + } + return time.Time{} +} + +// TimeSlice converts a slice of time.Time values into a slice of +// time.Time pointers +func TimeSlice(src []time.Time) []*time.Time { + dst := make([]*time.Time, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// TimeValueSlice converts a slice of time.Time pointers into a slice of +// time.Time values +func TimeValueSlice(src []*time.Time) []time.Time { + dst := make([]time.Time, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// TimeMap converts a string map of time.Time values into a string +// map of time.Time pointers +func TimeMap(src map[string]time.Time) map[string]*time.Time { + dst := make(map[string]*time.Time) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// TimeValueMap converts a string map of time.Time pointers into a string +// map of time.Time values +func TimeValueMap(src map[string]*time.Time) map[string]time.Time { + dst := make(map[string]time.Time) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} diff --git a/vendor/github.com/go-openapi/swag/doc.go b/vendor/github.com/go-openapi/swag/doc.go new file mode 100644 index 00000000000..8d2c8c5014e --- /dev/null +++ b/vendor/github.com/go-openapi/swag/doc.go @@ -0,0 +1,32 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 swag contains a bunch of helper functions for go-openapi and go-swagger projects. + +You may also use it standalone for your projects. + + * convert between value and pointers for builtin types + * convert from string to builtin types (wraps strconv) + * fast json concatenation + * search in path + * load from file or http + * name mangling + + +This repo has only few dependencies outside of the standard library: + + * YAML utilities depend on gopkg.in/yaml.v2 +*/ +package swag diff --git a/vendor/github.com/go-openapi/swag/go.mod b/vendor/github.com/go-openapi/swag/go.mod new file mode 100644 index 00000000000..15bbb082227 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/go.mod @@ -0,0 +1,14 @@ +module github.com/go-openapi/swag + +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/kr/pretty v0.1.0 // indirect + github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 + github.com/stretchr/testify v1.3.0 + gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect + gopkg.in/yaml.v2 v2.2.2 +) + +replace github.com/golang/lint => golang.org/x/lint v0.0.0-20190409202823-959b441ac422 + +replace sourcegraph.com/sourcegraph/go-diff => github.com/sourcegraph/go-diff v0.5.1 diff --git a/vendor/github.com/go-openapi/swag/go.sum b/vendor/github.com/go-openapi/swag/go.sum new file mode 100644 index 00000000000..33469f54acb --- /dev/null +++ b/vendor/github.com/go-openapi/swag/go.sum @@ -0,0 +1,20 @@ +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 h1:nTT4s92Dgz2HlrB2NaMgvlfqHH39OgMhA7z3PK7PGD4= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/go-openapi/swag/json.go b/vendor/github.com/go-openapi/swag/json.go new file mode 100644 index 00000000000..edf93d84c60 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/json.go @@ -0,0 +1,312 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 swag + +import ( + "bytes" + "encoding/json" + "log" + "reflect" + "strings" + "sync" + + "github.com/mailru/easyjson/jlexer" + "github.com/mailru/easyjson/jwriter" +) + +// nullJSON represents a JSON object with null type +var nullJSON = []byte("null") + +// DefaultJSONNameProvider the default cache for types +var DefaultJSONNameProvider = NewNameProvider() + +const comma = byte(',') + +var closers map[byte]byte + +func init() { + closers = map[byte]byte{ + '{': '}', + '[': ']', + } +} + +type ejMarshaler interface { + MarshalEasyJSON(w *jwriter.Writer) +} + +type ejUnmarshaler interface { + UnmarshalEasyJSON(w *jlexer.Lexer) +} + +// WriteJSON writes json data, prefers finding an appropriate interface to short-circuit the marshaller +// so it takes the fastest option available. +func WriteJSON(data interface{}) ([]byte, error) { + if d, ok := data.(ejMarshaler); ok { + jw := new(jwriter.Writer) + d.MarshalEasyJSON(jw) + return jw.BuildBytes() + } + if d, ok := data.(json.Marshaler); ok { + return d.MarshalJSON() + } + return json.Marshal(data) +} + +// ReadJSON reads json data, prefers finding an appropriate interface to short-circuit the unmarshaller +// so it takes the fastes option available +func ReadJSON(data []byte, value interface{}) error { + trimmedData := bytes.Trim(data, "\x00") + if d, ok := value.(ejUnmarshaler); ok { + jl := &jlexer.Lexer{Data: trimmedData} + d.UnmarshalEasyJSON(jl) + return jl.Error() + } + if d, ok := value.(json.Unmarshaler); ok { + return d.UnmarshalJSON(trimmedData) + } + return json.Unmarshal(trimmedData, value) +} + +// DynamicJSONToStruct converts an untyped json structure into a struct +func DynamicJSONToStruct(data interface{}, target interface{}) error { + // TODO: convert straight to a json typed map (mergo + iterate?) + b, err := WriteJSON(data) + if err != nil { + return err + } + return ReadJSON(b, target) +} + +// ConcatJSON concatenates multiple json objects efficiently +func ConcatJSON(blobs ...[]byte) []byte { + if len(blobs) == 0 { + return nil + } + + last := len(blobs) - 1 + for blobs[last] == nil || bytes.Equal(blobs[last], nullJSON) { + // strips trailing null objects + last-- + if last < 0 { + // there was nothing but "null"s or nil... + return nil + } + } + if last == 0 { + return blobs[0] + } + + var opening, closing byte + var idx, a int + buf := bytes.NewBuffer(nil) + + for i, b := range blobs[:last+1] { + if b == nil || bytes.Equal(b, nullJSON) { + // a null object is in the list: skip it + continue + } + if len(b) > 0 && opening == 0 { // is this an array or an object? + opening, closing = b[0], closers[b[0]] + } + + if opening != '{' && opening != '[' { + continue // don't know how to concatenate non container objects + } + + if len(b) < 3 { // yep empty but also the last one, so closing this thing + if i == last && a > 0 { + if err := buf.WriteByte(closing); err != nil { + log.Println(err) + } + } + continue + } + + idx = 0 + if a > 0 { // we need to join with a comma for everything beyond the first non-empty item + if err := buf.WriteByte(comma); err != nil { + log.Println(err) + } + idx = 1 // this is not the first or the last so we want to drop the leading bracket + } + + if i != last { // not the last one, strip brackets + if _, err := buf.Write(b[idx : len(b)-1]); err != nil { + log.Println(err) + } + } else { // last one, strip only the leading bracket + if _, err := buf.Write(b[idx:]); err != nil { + log.Println(err) + } + } + a++ + } + // somehow it ended up being empty, so provide a default value + if buf.Len() == 0 { + if err := buf.WriteByte(opening); err != nil { + log.Println(err) + } + if err := buf.WriteByte(closing); err != nil { + log.Println(err) + } + } + return buf.Bytes() +} + +// ToDynamicJSON turns an object into a properly JSON typed structure +func ToDynamicJSON(data interface{}) interface{} { + // TODO: convert straight to a json typed map (mergo + iterate?) + b, err := json.Marshal(data) + if err != nil { + log.Println(err) + } + var res interface{} + if err := json.Unmarshal(b, &res); err != nil { + log.Println(err) + } + return res +} + +// FromDynamicJSON turns an object into a properly JSON typed structure +func FromDynamicJSON(data, target interface{}) error { + b, err := json.Marshal(data) + if err != nil { + log.Println(err) + } + return json.Unmarshal(b, target) +} + +// NameProvider represents an object capabale of translating from go property names +// to json property names +// This type is thread-safe. +type NameProvider struct { + lock *sync.Mutex + index map[reflect.Type]nameIndex +} + +type nameIndex struct { + jsonNames map[string]string + goNames map[string]string +} + +// NewNameProvider creates a new name provider +func NewNameProvider() *NameProvider { + return &NameProvider{ + lock: &sync.Mutex{}, + index: make(map[reflect.Type]nameIndex), + } +} + +func buildnameIndex(tpe reflect.Type, idx, reverseIdx map[string]string) { + for i := 0; i < tpe.NumField(); i++ { + targetDes := tpe.Field(i) + + if targetDes.PkgPath != "" { // unexported + continue + } + + if targetDes.Anonymous { // walk embedded structures tree down first + buildnameIndex(targetDes.Type, idx, reverseIdx) + continue + } + + if tag := targetDes.Tag.Get("json"); tag != "" { + + parts := strings.Split(tag, ",") + if len(parts) == 0 { + continue + } + + nm := parts[0] + if nm == "-" { + continue + } + if nm == "" { // empty string means we want to use the Go name + nm = targetDes.Name + } + + idx[nm] = targetDes.Name + reverseIdx[targetDes.Name] = nm + } + } +} + +func newNameIndex(tpe reflect.Type) nameIndex { + var idx = make(map[string]string, tpe.NumField()) + var reverseIdx = make(map[string]string, tpe.NumField()) + + buildnameIndex(tpe, idx, reverseIdx) + return nameIndex{jsonNames: idx, goNames: reverseIdx} +} + +// GetJSONNames gets all the json property names for a type +func (n *NameProvider) GetJSONNames(subject interface{}) []string { + n.lock.Lock() + defer n.lock.Unlock() + tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() + names, ok := n.index[tpe] + if !ok { + names = n.makeNameIndex(tpe) + } + + res := make([]string, 0, len(names.jsonNames)) + for k := range names.jsonNames { + res = append(res, k) + } + return res +} + +// GetJSONName gets the json name for a go property name +func (n *NameProvider) GetJSONName(subject interface{}, name string) (string, bool) { + tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() + return n.GetJSONNameForType(tpe, name) +} + +// GetJSONNameForType gets the json name for a go property name on a given type +func (n *NameProvider) GetJSONNameForType(tpe reflect.Type, name string) (string, bool) { + n.lock.Lock() + defer n.lock.Unlock() + names, ok := n.index[tpe] + if !ok { + names = n.makeNameIndex(tpe) + } + nme, ok := names.goNames[name] + return nme, ok +} + +func (n *NameProvider) makeNameIndex(tpe reflect.Type) nameIndex { + names := newNameIndex(tpe) + n.index[tpe] = names + return names +} + +// GetGoName gets the go name for a json property name +func (n *NameProvider) GetGoName(subject interface{}, name string) (string, bool) { + tpe := reflect.Indirect(reflect.ValueOf(subject)).Type() + return n.GetGoNameForType(tpe, name) +} + +// GetGoNameForType gets the go name for a given type for a json property name +func (n *NameProvider) GetGoNameForType(tpe reflect.Type, name string) (string, bool) { + n.lock.Lock() + defer n.lock.Unlock() + names, ok := n.index[tpe] + if !ok { + names = n.makeNameIndex(tpe) + } + nme, ok := names.jsonNames[name] + return nme, ok +} diff --git a/vendor/github.com/go-openapi/swag/loading.go b/vendor/github.com/go-openapi/swag/loading.go new file mode 100644 index 00000000000..70f4fb361c1 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/loading.go @@ -0,0 +1,80 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 swag + +import ( + "fmt" + "io/ioutil" + "log" + "net/http" + "path/filepath" + "strings" + "time" +) + +// LoadHTTPTimeout the default timeout for load requests +var LoadHTTPTimeout = 30 * time.Second + +// LoadFromFileOrHTTP loads the bytes from a file or a remote http server based on the path passed in +func LoadFromFileOrHTTP(path string) ([]byte, error) { + return LoadStrategy(path, ioutil.ReadFile, loadHTTPBytes(LoadHTTPTimeout))(path) +} + +// LoadFromFileOrHTTPWithTimeout loads the bytes from a file or a remote http server based on the path passed in +// timeout arg allows for per request overriding of the request timeout +func LoadFromFileOrHTTPWithTimeout(path string, timeout time.Duration) ([]byte, error) { + return LoadStrategy(path, ioutil.ReadFile, loadHTTPBytes(timeout))(path) +} + +// LoadStrategy returns a loader function for a given path or uri +func LoadStrategy(path string, local, remote func(string) ([]byte, error)) func(string) ([]byte, error) { + if strings.HasPrefix(path, "http") { + return remote + } + return func(pth string) ([]byte, error) { + upth, err := pathUnescape(pth) + if err != nil { + return nil, err + } + return local(filepath.FromSlash(upth)) + } +} + +func loadHTTPBytes(timeout time.Duration) func(path string) ([]byte, error) { + return func(path string) ([]byte, error) { + client := &http.Client{Timeout: timeout} + req, err := http.NewRequest("GET", path, nil) + if err != nil { + return nil, err + } + resp, err := client.Do(req) + defer func() { + if resp != nil { + if e := resp.Body.Close(); e != nil { + log.Println(e) + } + } + }() + if err != nil { + return nil, err + } + + if resp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("could not access document at %q [%s] ", path, resp.Status) + } + + return ioutil.ReadAll(resp.Body) + } +} diff --git a/vendor/github.com/go-openapi/swag/name_lexem.go b/vendor/github.com/go-openapi/swag/name_lexem.go new file mode 100644 index 00000000000..aa7f6a9bb8e --- /dev/null +++ b/vendor/github.com/go-openapi/swag/name_lexem.go @@ -0,0 +1,87 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 swag + +import "unicode" + +type ( + nameLexem interface { + GetUnsafeGoName() string + GetOriginal() string + IsInitialism() bool + } + + initialismNameLexem struct { + original string + matchedInitialism string + } + + casualNameLexem struct { + original string + } +) + +func newInitialismNameLexem(original, matchedInitialism string) *initialismNameLexem { + return &initialismNameLexem{ + original: original, + matchedInitialism: matchedInitialism, + } +} + +func newCasualNameLexem(original string) *casualNameLexem { + return &casualNameLexem{ + original: original, + } +} + +func (l *initialismNameLexem) GetUnsafeGoName() string { + return l.matchedInitialism +} + +func (l *casualNameLexem) GetUnsafeGoName() string { + var first rune + var rest string + for i, orig := range l.original { + if i == 0 { + first = orig + continue + } + if i > 0 { + rest = l.original[i:] + break + } + } + if len(l.original) > 1 { + return string(unicode.ToUpper(first)) + lower(rest) + } + + return l.original +} + +func (l *initialismNameLexem) GetOriginal() string { + return l.original +} + +func (l *casualNameLexem) GetOriginal() string { + return l.original +} + +func (l *initialismNameLexem) IsInitialism() bool { + return true +} + +func (l *casualNameLexem) IsInitialism() bool { + return false +} diff --git a/vendor/github.com/go-openapi/swag/net.go b/vendor/github.com/go-openapi/swag/net.go new file mode 100644 index 00000000000..821235f84d4 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/net.go @@ -0,0 +1,38 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 swag + +import ( + "net" + "strconv" +) + +// SplitHostPort splits a network address into a host and a port. +// The port is -1 when there is no port to be found +func SplitHostPort(addr string) (host string, port int, err error) { + h, p, err := net.SplitHostPort(addr) + if err != nil { + return "", -1, err + } + if p == "" { + return "", -1, &net.AddrError{Err: "missing port in address", Addr: addr} + } + + pi, err := strconv.Atoi(p) + if err != nil { + return "", -1, err + } + return h, pi, nil +} diff --git a/vendor/github.com/go-openapi/swag/path.go b/vendor/github.com/go-openapi/swag/path.go new file mode 100644 index 00000000000..941bd0176b0 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/path.go @@ -0,0 +1,59 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 swag + +import ( + "os" + "path/filepath" + "runtime" + "strings" +) + +const ( + // GOPATHKey represents the env key for gopath + GOPATHKey = "GOPATH" +) + +// FindInSearchPath finds a package in a provided lists of paths +func FindInSearchPath(searchPath, pkg string) string { + pathsList := filepath.SplitList(searchPath) + for _, path := range pathsList { + if evaluatedPath, err := filepath.EvalSymlinks(filepath.Join(path, "src", pkg)); err == nil { + if _, err := os.Stat(evaluatedPath); err == nil { + return evaluatedPath + } + } + } + return "" +} + +// FindInGoSearchPath finds a package in the $GOPATH:$GOROOT +func FindInGoSearchPath(pkg string) string { + return FindInSearchPath(FullGoSearchPath(), pkg) +} + +// FullGoSearchPath gets the search paths for finding packages +func FullGoSearchPath() string { + allPaths := os.Getenv(GOPATHKey) + if allPaths == "" { + allPaths = filepath.Join(os.Getenv("HOME"), "go") + } + if allPaths != "" { + allPaths = strings.Join([]string{allPaths, runtime.GOROOT()}, ":") + } else { + allPaths = runtime.GOROOT() + } + return allPaths +} diff --git a/vendor/github.com/go-openapi/swag/post_go18.go b/vendor/github.com/go-openapi/swag/post_go18.go new file mode 100644 index 00000000000..c2e686d3133 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/post_go18.go @@ -0,0 +1,23 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// +build go1.8 + +package swag + +import "net/url" + +func pathUnescape(path string) (string, error) { + return url.PathUnescape(path) +} diff --git a/vendor/github.com/go-openapi/swag/post_go19.go b/vendor/github.com/go-openapi/swag/post_go19.go new file mode 100644 index 00000000000..eb2f2d8bc78 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/post_go19.go @@ -0,0 +1,67 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// +build go1.9 + +package swag + +import ( + "sort" + "sync" +) + +// indexOfInitialisms is a thread-safe implementation of the sorted index of initialisms. +// Since go1.9, this may be implemented with sync.Map. +type indexOfInitialisms struct { + sortMutex *sync.Mutex + index *sync.Map +} + +func newIndexOfInitialisms() *indexOfInitialisms { + return &indexOfInitialisms{ + sortMutex: new(sync.Mutex), + index: new(sync.Map), + } +} + +func (m *indexOfInitialisms) load(initial map[string]bool) *indexOfInitialisms { + m.sortMutex.Lock() + defer m.sortMutex.Unlock() + for k, v := range initial { + m.index.Store(k, v) + } + return m +} + +func (m *indexOfInitialisms) isInitialism(key string) bool { + _, ok := m.index.Load(key) + return ok +} + +func (m *indexOfInitialisms) add(key string) *indexOfInitialisms { + m.index.Store(key, true) + return m +} + +func (m *indexOfInitialisms) sorted() (result []string) { + m.sortMutex.Lock() + defer m.sortMutex.Unlock() + m.index.Range(func(key, value interface{}) bool { + k := key.(string) + result = append(result, k) + return true + }) + sort.Sort(sort.Reverse(byInitialism(result))) + return +} diff --git a/vendor/github.com/go-openapi/swag/pre_go18.go b/vendor/github.com/go-openapi/swag/pre_go18.go new file mode 100644 index 00000000000..6607f339357 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/pre_go18.go @@ -0,0 +1,23 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// +build !go1.8 + +package swag + +import "net/url" + +func pathUnescape(path string) (string, error) { + return url.QueryUnescape(path) +} diff --git a/vendor/github.com/go-openapi/swag/pre_go19.go b/vendor/github.com/go-openapi/swag/pre_go19.go new file mode 100644 index 00000000000..4bae187d1e4 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/pre_go19.go @@ -0,0 +1,69 @@ +// Copyright 2015 go-swagger maintainers +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// +build !go1.9 + +package swag + +import ( + "sort" + "sync" +) + +// indexOfInitialisms is a thread-safe implementation of the sorted index of initialisms. +// Before go1.9, this may be implemented with a mutex on the map. +type indexOfInitialisms struct { + getMutex *sync.Mutex + index map[string]bool +} + +func newIndexOfInitialisms() *indexOfInitialisms { + return &indexOfInitialisms{ + getMutex: new(sync.Mutex), + index: make(map[string]bool, 50), + } +} + +func (m *indexOfInitialisms) load(initial map[string]bool) *indexOfInitialisms { + m.getMutex.Lock() + defer m.getMutex.Unlock() + for k, v := range initial { + m.index[k] = v + } + return m +} + +func (m *indexOfInitialisms) isInitialism(key string) bool { + m.getMutex.Lock() + defer m.getMutex.Unlock() + _, ok := m.index[key] + return ok +} + +func (m *indexOfInitialisms) add(key string) *indexOfInitialisms { + m.getMutex.Lock() + defer m.getMutex.Unlock() + m.index[key] = true + return m +} + +func (m *indexOfInitialisms) sorted() (result []string) { + m.getMutex.Lock() + defer m.getMutex.Unlock() + for k := range m.index { + result = append(result, k) + } + sort.Sort(sort.Reverse(byInitialism(result))) + return +} diff --git a/vendor/github.com/go-openapi/swag/split.go b/vendor/github.com/go-openapi/swag/split.go new file mode 100644 index 00000000000..a1825fb7dc9 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/split.go @@ -0,0 +1,262 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 swag + +import ( + "unicode" +) + +var nameReplaceTable = map[rune]string{ + '@': "At ", + '&': "And ", + '|': "Pipe ", + '$': "Dollar ", + '!': "Bang ", + '-': "", + '_': "", +} + +type ( + splitter struct { + postSplitInitialismCheck bool + initialisms []string + } + + splitterOption func(*splitter) *splitter +) + +// split calls the splitter; splitter provides more control and post options +func split(str string) []string { + lexems := newSplitter().split(str) + result := make([]string, 0, len(lexems)) + + for _, lexem := range lexems { + result = append(result, lexem.GetOriginal()) + } + + return result + +} + +func (s *splitter) split(str string) []nameLexem { + return s.toNameLexems(str) +} + +func newSplitter(options ...splitterOption) *splitter { + splitter := &splitter{ + postSplitInitialismCheck: false, + initialisms: initialisms, + } + + for _, option := range options { + splitter = option(splitter) + } + + return splitter +} + +// withPostSplitInitialismCheck allows to catch initialisms after main split process +func withPostSplitInitialismCheck(s *splitter) *splitter { + s.postSplitInitialismCheck = true + return s +} + +type ( + initialismMatch struct { + start, end int + body []rune + complete bool + } + initialismMatches []*initialismMatch +) + +func (s *splitter) toNameLexems(name string) []nameLexem { + nameRunes := []rune(name) + matches := s.gatherInitialismMatches(nameRunes) + return s.mapMatchesToNameLexems(nameRunes, matches) +} + +func (s *splitter) gatherInitialismMatches(nameRunes []rune) initialismMatches { + matches := make(initialismMatches, 0) + + for currentRunePosition, currentRune := range nameRunes { + newMatches := make(initialismMatches, 0, len(matches)) + + // check current initialism matches + for _, match := range matches { + if keepCompleteMatch := match.complete; keepCompleteMatch { + newMatches = append(newMatches, match) + continue + } + + // drop failed match + currentMatchRune := match.body[currentRunePosition-match.start] + if !s.initialismRuneEqual(currentMatchRune, currentRune) { + continue + } + + // try to complete ongoing match + if currentRunePosition-match.start == len(match.body)-1 { + // we are close; the next step is to check the symbol ahead + // if it is a small letter, then it is not the end of match + // but beginning of the next word + + if currentRunePosition < len(nameRunes)-1 { + nextRune := nameRunes[currentRunePosition+1] + if newWord := unicode.IsLower(nextRune); newWord { + // oh ok, it was the start of a new word + continue + } + } + + match.complete = true + match.end = currentRunePosition + } + + newMatches = append(newMatches, match) + } + + // check for new initialism matches + for _, initialism := range s.initialisms { + initialismRunes := []rune(initialism) + if s.initialismRuneEqual(initialismRunes[0], currentRune) { + newMatches = append(newMatches, &initialismMatch{ + start: currentRunePosition, + body: initialismRunes, + complete: false, + }) + } + } + + matches = newMatches + } + + return matches +} + +func (s *splitter) mapMatchesToNameLexems(nameRunes []rune, matches initialismMatches) []nameLexem { + nameLexems := make([]nameLexem, 0) + + var lastAcceptedMatch *initialismMatch + for _, match := range matches { + if !match.complete { + continue + } + + if firstMatch := lastAcceptedMatch == nil; firstMatch { + nameLexems = append(nameLexems, s.breakCasualString(nameRunes[:match.start])...) + nameLexems = append(nameLexems, s.breakInitialism(string(match.body))) + + lastAcceptedMatch = match + + continue + } + + if overlappedMatch := match.start <= lastAcceptedMatch.end; overlappedMatch { + continue + } + + middle := nameRunes[lastAcceptedMatch.end+1 : match.start] + nameLexems = append(nameLexems, s.breakCasualString(middle)...) + nameLexems = append(nameLexems, s.breakInitialism(string(match.body))) + + lastAcceptedMatch = match + } + + // we have not found any accepted matches + if lastAcceptedMatch == nil { + return s.breakCasualString(nameRunes) + } + + if lastAcceptedMatch.end+1 != len(nameRunes) { + rest := nameRunes[lastAcceptedMatch.end+1:] + nameLexems = append(nameLexems, s.breakCasualString(rest)...) + } + + return nameLexems +} + +func (s *splitter) initialismRuneEqual(a, b rune) bool { + return a == b +} + +func (s *splitter) breakInitialism(original string) nameLexem { + return newInitialismNameLexem(original, original) +} + +func (s *splitter) breakCasualString(str []rune) []nameLexem { + segments := make([]nameLexem, 0) + currentSegment := "" + + addCasualNameLexem := func(original string) { + segments = append(segments, newCasualNameLexem(original)) + } + + addInitialismNameLexem := func(original, match string) { + segments = append(segments, newInitialismNameLexem(original, match)) + } + + addNameLexem := func(original string) { + if s.postSplitInitialismCheck { + for _, initialism := range s.initialisms { + if upper(initialism) == upper(original) { + addInitialismNameLexem(original, initialism) + return + } + } + } + + addCasualNameLexem(original) + } + + for _, rn := range string(str) { + if replace, found := nameReplaceTable[rn]; found { + if currentSegment != "" { + addNameLexem(currentSegment) + currentSegment = "" + } + + if replace != "" { + addNameLexem(replace) + } + + continue + } + + if !unicode.In(rn, unicode.L, unicode.M, unicode.N, unicode.Pc) { + if currentSegment != "" { + addNameLexem(currentSegment) + currentSegment = "" + } + + continue + } + + if unicode.IsUpper(rn) { + if currentSegment != "" { + addNameLexem(currentSegment) + } + currentSegment = "" + } + + currentSegment += string(rn) + } + + if currentSegment != "" { + addNameLexem(currentSegment) + } + + return segments +} diff --git a/vendor/github.com/go-openapi/swag/util.go b/vendor/github.com/go-openapi/swag/util.go new file mode 100644 index 00000000000..9eac16afb2e --- /dev/null +++ b/vendor/github.com/go-openapi/swag/util.go @@ -0,0 +1,385 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 swag + +import ( + "reflect" + "strings" + "unicode" +) + +// commonInitialisms are common acronyms that are kept as whole uppercased words. +var commonInitialisms *indexOfInitialisms + +// initialisms is a slice of sorted initialisms +var initialisms []string + +var isInitialism func(string) bool + +// GoNamePrefixFunc sets an optional rule to prefix go names +// which do not start with a letter. +// +// e.g. to help converting "123" into "{prefix}123" +// +// The default is to prefix with "X" +var GoNamePrefixFunc func(string) string + +func init() { + // Taken from https://github.com/golang/lint/blob/3390df4df2787994aea98de825b964ac7944b817/lint.go#L732-L769 + var configuredInitialisms = map[string]bool{ + "ACL": true, + "API": true, + "ASCII": true, + "CPU": true, + "CSS": true, + "DNS": true, + "EOF": true, + "GUID": true, + "HTML": true, + "HTTPS": true, + "HTTP": true, + "ID": true, + "IP": true, + "IPv4": true, + "IPv6": true, + "JSON": true, + "LHS": true, + "OAI": true, + "QPS": true, + "RAM": true, + "RHS": true, + "RPC": true, + "SLA": true, + "SMTP": true, + "SQL": true, + "SSH": true, + "TCP": true, + "TLS": true, + "TTL": true, + "UDP": true, + "UI": true, + "UID": true, + "UUID": true, + "URI": true, + "URL": true, + "UTF8": true, + "VM": true, + "XML": true, + "XMPP": true, + "XSRF": true, + "XSS": true, + } + + // a thread-safe index of initialisms + commonInitialisms = newIndexOfInitialisms().load(configuredInitialisms) + initialisms = commonInitialisms.sorted() + + // a test function + isInitialism = commonInitialisms.isInitialism +} + +const ( + //collectionFormatComma = "csv" + collectionFormatSpace = "ssv" + collectionFormatTab = "tsv" + collectionFormatPipe = "pipes" + collectionFormatMulti = "multi" +) + +// JoinByFormat joins a string array by a known format (e.g. swagger's collectionFormat attribute): +// ssv: space separated value +// tsv: tab separated value +// pipes: pipe (|) separated value +// csv: comma separated value (default) +func JoinByFormat(data []string, format string) []string { + if len(data) == 0 { + return data + } + var sep string + switch format { + case collectionFormatSpace: + sep = " " + case collectionFormatTab: + sep = "\t" + case collectionFormatPipe: + sep = "|" + case collectionFormatMulti: + return data + default: + sep = "," + } + return []string{strings.Join(data, sep)} +} + +// SplitByFormat splits a string by a known format: +// ssv: space separated value +// tsv: tab separated value +// pipes: pipe (|) separated value +// csv: comma separated value (default) +// +func SplitByFormat(data, format string) []string { + if data == "" { + return nil + } + var sep string + switch format { + case collectionFormatSpace: + sep = " " + case collectionFormatTab: + sep = "\t" + case collectionFormatPipe: + sep = "|" + case collectionFormatMulti: + return nil + default: + sep = "," + } + var result []string + for _, s := range strings.Split(data, sep) { + if ts := strings.TrimSpace(s); ts != "" { + result = append(result, ts) + } + } + return result +} + +type byInitialism []string + +func (s byInitialism) Len() int { + return len(s) +} +func (s byInitialism) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} +func (s byInitialism) Less(i, j int) bool { + if len(s[i]) != len(s[j]) { + return len(s[i]) < len(s[j]) + } + + return strings.Compare(s[i], s[j]) > 0 +} + +// Removes leading whitespaces +func trim(str string) string { + return strings.Trim(str, " ") +} + +// Shortcut to strings.ToUpper() +func upper(str string) string { + return strings.ToUpper(trim(str)) +} + +// Shortcut to strings.ToLower() +func lower(str string) string { + return strings.ToLower(trim(str)) +} + +// Camelize an uppercased word +func Camelize(word string) (camelized string) { + for pos, ru := range []rune(word) { + if pos > 0 { + camelized += string(unicode.ToLower(ru)) + } else { + camelized += string(unicode.ToUpper(ru)) + } + } + return +} + +// ToFileName lowercases and underscores a go type name +func ToFileName(name string) string { + in := split(name) + out := make([]string, 0, len(in)) + + for _, w := range in { + out = append(out, lower(w)) + } + + return strings.Join(out, "_") +} + +// ToCommandName lowercases and underscores a go type name +func ToCommandName(name string) string { + in := split(name) + out := make([]string, 0, len(in)) + + for _, w := range in { + out = append(out, lower(w)) + } + return strings.Join(out, "-") +} + +// ToHumanNameLower represents a code name as a human series of words +func ToHumanNameLower(name string) string { + in := newSplitter(withPostSplitInitialismCheck).split(name) + out := make([]string, 0, len(in)) + + for _, w := range in { + if !w.IsInitialism() { + out = append(out, lower(w.GetOriginal())) + } else { + out = append(out, w.GetOriginal()) + } + } + + return strings.Join(out, " ") +} + +// ToHumanNameTitle represents a code name as a human series of words with the first letters titleized +func ToHumanNameTitle(name string) string { + in := newSplitter(withPostSplitInitialismCheck).split(name) + + out := make([]string, 0, len(in)) + for _, w := range in { + original := w.GetOriginal() + if !w.IsInitialism() { + out = append(out, Camelize(original)) + } else { + out = append(out, original) + } + } + return strings.Join(out, " ") +} + +// ToJSONName camelcases a name which can be underscored or pascal cased +func ToJSONName(name string) string { + in := split(name) + out := make([]string, 0, len(in)) + + for i, w := range in { + if i == 0 { + out = append(out, lower(w)) + continue + } + out = append(out, Camelize(w)) + } + return strings.Join(out, "") +} + +// ToVarName camelcases a name which can be underscored or pascal cased +func ToVarName(name string) string { + res := ToGoName(name) + if isInitialism(res) { + return lower(res) + } + if len(res) <= 1 { + return lower(res) + } + return lower(res[:1]) + res[1:] +} + +// ToGoName translates a swagger name which can be underscored or camel cased to a name that golint likes +func ToGoName(name string) string { + lexems := newSplitter(withPostSplitInitialismCheck).split(name) + + result := "" + for _, lexem := range lexems { + goName := lexem.GetUnsafeGoName() + + // to support old behavior + if lexem.IsInitialism() { + goName = upper(goName) + } + result += goName + } + + if len(result) > 0 { + // Only prefix with X when the first character isn't an ascii letter + first := []rune(result)[0] + if !unicode.IsLetter(first) || (first > unicode.MaxASCII && !unicode.IsUpper(first)) { + if GoNamePrefixFunc == nil { + return "X" + result + } + result = GoNamePrefixFunc(name) + result + } + first = []rune(result)[0] + if unicode.IsLetter(first) && !unicode.IsUpper(first) { + result = string(append([]rune{unicode.ToUpper(first)}, []rune(result)[1:]...)) + } + } + + return result +} + +// ContainsStrings searches a slice of strings for a case-sensitive match +func ContainsStrings(coll []string, item string) bool { + for _, a := range coll { + if a == item { + return true + } + } + return false +} + +// ContainsStringsCI searches a slice of strings for a case-insensitive match +func ContainsStringsCI(coll []string, item string) bool { + for _, a := range coll { + if strings.EqualFold(a, item) { + return true + } + } + return false +} + +type zeroable interface { + IsZero() bool +} + +// IsZero returns true when the value passed into the function is a zero value. +// This allows for safer checking of interface values. +func IsZero(data interface{}) bool { + // check for things that have an IsZero method instead + if vv, ok := data.(zeroable); ok { + return vv.IsZero() + } + // continue with slightly more complex reflection + v := reflect.ValueOf(data) + switch v.Kind() { + case reflect.String: + return v.Len() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice: + return v.IsNil() + case reflect.Struct, reflect.Array: + return reflect.DeepEqual(data, reflect.Zero(v.Type()).Interface()) + case reflect.Invalid: + return true + } + return false +} + +// AddInitialisms add additional initialisms +func AddInitialisms(words ...string) { + for _, word := range words { + //commonInitialisms[upper(word)] = true + commonInitialisms.add(upper(word)) + } + // sort again + initialisms = commonInitialisms.sorted() +} + +// CommandLineOptionsGroup represents a group of user-defined command line options +type CommandLineOptionsGroup struct { + ShortDescription string + LongDescription string + Options interface{} +} diff --git a/vendor/github.com/go-openapi/swag/yaml.go b/vendor/github.com/go-openapi/swag/yaml.go new file mode 100644 index 00000000000..435e2948eb6 --- /dev/null +++ b/vendor/github.com/go-openapi/swag/yaml.go @@ -0,0 +1,227 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 swag + +import ( + "encoding/json" + "fmt" + "path/filepath" + "strconv" + + "github.com/mailru/easyjson/jlexer" + "github.com/mailru/easyjson/jwriter" + yaml "gopkg.in/yaml.v2" +) + +// YAMLMatcher matches yaml +func YAMLMatcher(path string) bool { + ext := filepath.Ext(path) + return ext == ".yaml" || ext == ".yml" +} + +// YAMLToJSON converts YAML unmarshaled data into json compatible data +func YAMLToJSON(data interface{}) (json.RawMessage, error) { + jm, err := transformData(data) + if err != nil { + return nil, err + } + b, err := WriteJSON(jm) + return json.RawMessage(b), err +} + +// BytesToYAMLDoc converts a byte slice into a YAML document +func BytesToYAMLDoc(data []byte) (interface{}, error) { + var canary map[interface{}]interface{} // validate this is an object and not a different type + if err := yaml.Unmarshal(data, &canary); err != nil { + return nil, err + } + + var document yaml.MapSlice // preserve order that is present in the document + if err := yaml.Unmarshal(data, &document); err != nil { + return nil, err + } + return document, nil +} + +// JSONMapSlice represent a JSON object, with the order of keys maintained +type JSONMapSlice []JSONMapItem + +// MarshalJSON renders a JSONMapSlice as JSON +func (s JSONMapSlice) MarshalJSON() ([]byte, error) { + w := &jwriter.Writer{Flags: jwriter.NilMapAsEmpty | jwriter.NilSliceAsEmpty} + s.MarshalEasyJSON(w) + return w.BuildBytes() +} + +// MarshalEasyJSON renders a JSONMapSlice as JSON, using easyJSON +func (s JSONMapSlice) MarshalEasyJSON(w *jwriter.Writer) { + w.RawByte('{') + + ln := len(s) + last := ln - 1 + for i := 0; i < ln; i++ { + s[i].MarshalEasyJSON(w) + if i != last { // last item + w.RawByte(',') + } + } + + w.RawByte('}') +} + +// UnmarshalJSON makes a JSONMapSlice from JSON +func (s *JSONMapSlice) UnmarshalJSON(data []byte) error { + l := jlexer.Lexer{Data: data} + s.UnmarshalEasyJSON(&l) + return l.Error() +} + +// UnmarshalEasyJSON makes a JSONMapSlice from JSON, using easyJSON +func (s *JSONMapSlice) UnmarshalEasyJSON(in *jlexer.Lexer) { + if in.IsNull() { + in.Skip() + return + } + + var result JSONMapSlice + in.Delim('{') + for !in.IsDelim('}') { + var mi JSONMapItem + mi.UnmarshalEasyJSON(in) + result = append(result, mi) + } + *s = result +} + +// JSONMapItem represents the value of a key in a JSON object held by JSONMapSlice +type JSONMapItem struct { + Key string + Value interface{} +} + +// MarshalJSON renders a JSONMapItem as JSON +func (s JSONMapItem) MarshalJSON() ([]byte, error) { + w := &jwriter.Writer{Flags: jwriter.NilMapAsEmpty | jwriter.NilSliceAsEmpty} + s.MarshalEasyJSON(w) + return w.BuildBytes() +} + +// MarshalEasyJSON renders a JSONMapItem as JSON, using easyJSON +func (s JSONMapItem) MarshalEasyJSON(w *jwriter.Writer) { + w.String(s.Key) + w.RawByte(':') + w.Raw(WriteJSON(s.Value)) +} + +// UnmarshalJSON makes a JSONMapItem from JSON +func (s *JSONMapItem) UnmarshalJSON(data []byte) error { + l := jlexer.Lexer{Data: data} + s.UnmarshalEasyJSON(&l) + return l.Error() +} + +// UnmarshalEasyJSON makes a JSONMapItem from JSON, using easyJSON +func (s *JSONMapItem) UnmarshalEasyJSON(in *jlexer.Lexer) { + key := in.UnsafeString() + in.WantColon() + value := in.Interface() + in.WantComma() + s.Key = key + s.Value = value +} + +func transformData(input interface{}) (out interface{}, err error) { + switch in := input.(type) { + case yaml.MapSlice: + + o := make(JSONMapSlice, len(in)) + for i, mi := range in { + var nmi JSONMapItem + switch k := mi.Key.(type) { + case string: + nmi.Key = k + case int: + nmi.Key = strconv.Itoa(k) + default: + return nil, fmt.Errorf("types don't match expect map key string or int got: %T", mi.Key) + } + + v, ert := transformData(mi.Value) + if ert != nil { + return nil, ert + } + nmi.Value = v + o[i] = nmi + } + return o, nil + case map[interface{}]interface{}: + o := make(JSONMapSlice, 0, len(in)) + for ke, va := range in { + var nmi JSONMapItem + switch k := ke.(type) { + case string: + nmi.Key = k + case int: + nmi.Key = strconv.Itoa(k) + default: + return nil, fmt.Errorf("types don't match expect map key string or int got: %T", ke) + } + + v, ert := transformData(va) + if ert != nil { + return nil, ert + } + nmi.Value = v + o = append(o, nmi) + } + return o, nil + case []interface{}: + len1 := len(in) + o := make([]interface{}, len1) + for i := 0; i < len1; i++ { + o[i], err = transformData(in[i]) + if err != nil { + return nil, err + } + } + return o, nil + } + return input, nil +} + +// YAMLDoc loads a yaml document from either http or a file and converts it to json +func YAMLDoc(path string) (json.RawMessage, error) { + yamlDoc, err := YAMLData(path) + if err != nil { + return nil, err + } + + data, err := YAMLToJSON(yamlDoc) + if err != nil { + return nil, err + } + + return data, nil +} + +// YAMLData loads a yaml document from either http or a file +func YAMLData(path string) (interface{}, error) { + data, err := LoadFromFileOrHTTP(path) + if err != nil { + return nil, err + } + + return BytesToYAMLDoc(data) +} diff --git a/vendor/github.com/go-openapi/validate/.editorconfig b/vendor/github.com/go-openapi/validate/.editorconfig new file mode 100644 index 00000000000..3152da69a5d --- /dev/null +++ b/vendor/github.com/go-openapi/validate/.editorconfig @@ -0,0 +1,26 @@ +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true + +# Set default charset +[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] +charset = utf-8 + +# Tab indentation (no size specified) +[*.go] +indent_style = tab + +[*.md] +trim_trailing_whitespace = false + +# Matches the exact files either package.json or .travis.yml +[{package.json,.travis.yml}] +indent_style = space +indent_size = 2 diff --git a/vendor/github.com/go-openapi/validate/.gitignore b/vendor/github.com/go-openapi/validate/.gitignore new file mode 100644 index 00000000000..fea8b84eca9 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/.gitignore @@ -0,0 +1,5 @@ +secrets.yml +coverage.out +*.cov +*.out +playground diff --git a/vendor/github.com/go-openapi/validate/.golangci.yml b/vendor/github.com/go-openapi/validate/.golangci.yml new file mode 100644 index 00000000000..c2c5071322e --- /dev/null +++ b/vendor/github.com/go-openapi/validate/.golangci.yml @@ -0,0 +1,20 @@ +linters-settings: + govet: + check-shadowing: true + golint: + min-confidence: 0 + gocyclo: + min-complexity: 25 + maligned: + suggest-new: true + dupl: + threshold: 100 + goconst: + min-len: 2 + min-occurrences: 2 + +linters: + enable-all: true + disable: + - maligned + - lll diff --git a/vendor/github.com/go-openapi/validate/.travis.yml b/vendor/github.com/go-openapi/validate/.travis.yml new file mode 100644 index 00000000000..dd3a4b29fdc --- /dev/null +++ b/vendor/github.com/go-openapi/validate/.travis.yml @@ -0,0 +1,19 @@ +after_success: +- bash <(curl -s https://codecov.io/bash) +go: +- 1.11.x +- 1.12.x +install: +- GO111MODULE=off go get -u gotest.tools/gotestsum +env: +- GO111MODULE=on +language: go +notifications: + slack: + secure: EmObnQuM9Mw8J9vpFaKKHqSMN4Wsr/A9+v7ewAD5cEhA0T1P4m7MbJMiJOhxUhj/X+BFh2DamW+P2lT8mybj5wg8wnkQ2BteKA8Tawi6f9PRw2NRheO8tAi8o/npLnlmet0kc93mn+oLuqHw36w4+j5mkOl2FghkfGiUVhwrhkCP7KXQN+3TU87e+/HzQumlJ3nsE+6terVxkH3PmaUTsS5ONaODZfuxFpfb7RsoEl3skHf6d+tr+1nViLxxly7558Nc33C+W1mr0qiEvMLZ+kJ/CpGWBJ6CUJM3jm6hNe2eMuIPwEK2hxZob8c7n22VPap4K6a0bBRoydoDXaba+2sD7Ym6ivDO/DVyL44VeBBLyIiIBylDGQdZH+6SoWm90Qe/i7tnY/T5Ao5igT8f3cfQY1c3EsTfqmlDfrhmACBmwSlgkdVBLTprHL63JMY24LWmh4jhxsmMRZhCL4dze8su1w6pLN/pD1pGHtKYCEVbdTmaM3PblNRFf12XB7qosmQsgUndH4Vq3bTbU0s1pKjeDhRyLvFzvR0TBbo0pDLEoF1A/i5GVFWa7yLZNUDudQERRh7qv/xBl2excIaQ1sV4DSVm7bAE9l6Kp+yeHQJW2uN6Y3X8wu9gB9nv9l5HBze7wh8KE6PyWAOLYYqZg9/sAtsv/2GcQqXcKFF1zcA= +script: +- gotestsum -f short-verbose -- -race ./... +- gotestsum -f short-verbose -- -timeout=20m -coverprofile=coverage.txt -covermode=atomic -args -enable-long ./... +- gotestsum -f short-verbose -- -timeout=30m -args -enable-go-swagger ./... +- go get -u github.com/go-openapi/runtime@master +- gotestsum -f short-verbose -- -timeout=30m github.com/go-openapi/runtime/... diff --git a/vendor/github.com/go-openapi/validate/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/validate/CODE_OF_CONDUCT.md new file mode 100644 index 00000000000..9322b065e37 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at ivan+abuse@flanders.co.nz. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/validate/LICENSE b/vendor/github.com/go-openapi/validate/LICENSE new file mode 100644 index 00000000000..d6456956733 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-openapi/validate/README.md b/vendor/github.com/go-openapi/validate/README.md new file mode 100644 index 00000000000..08fb352bcf3 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/README.md @@ -0,0 +1,6 @@ +# Validation helpers [![Build Status](https://travis-ci.org/go-openapi/validate.svg?branch=master)](https://travis-ci.org/go-openapi/validate) [![codecov](https://codecov.io/gh/go-openapi/validate/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/validate) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) + +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/validate/master/LICENSE) +[![GoDoc](https://godoc.org/github.com/go-openapi/validate?status.svg)](http://godoc.org/github.com/go-openapi/validate) +[![GolangCI](https://golangci.com/badges/github.com/go-openapi/validate.svg)](https://golangci.com) +[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/validate)](https://goreportcard.com/report/github.com/go-openapi/validate) diff --git a/vendor/github.com/go-openapi/validate/debug.go b/vendor/github.com/go-openapi/validate/debug.go new file mode 100644 index 00000000000..8815fd93597 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/debug.go @@ -0,0 +1,47 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import ( + "fmt" + "log" + "os" + "path/filepath" + "runtime" +) + +var ( + // Debug is true when the SWAGGER_DEBUG env var is not empty. + // It enables a more verbose logging of validators. + Debug = os.Getenv("SWAGGER_DEBUG") != "" + // validateLogger is a debug logger for this package + validateLogger *log.Logger +) + +func init() { + debugOptions() +} + +func debugOptions() { + validateLogger = log.New(os.Stdout, "validate:", log.LstdFlags) +} + +func debugLog(msg string, args ...interface{}) { + // A private, trivial trace logger, based on go-openapi/spec/expander.go:debugLog() + if Debug { + _, file1, pos1, _ := runtime.Caller(1) + validateLogger.Printf("%s:%d: %s", filepath.Base(file1), pos1, fmt.Sprintf(msg, args...)) + } +} diff --git a/vendor/github.com/go-openapi/validate/default_validator.go b/vendor/github.com/go-openapi/validate/default_validator.go new file mode 100644 index 00000000000..35c631be6de --- /dev/null +++ b/vendor/github.com/go-openapi/validate/default_validator.go @@ -0,0 +1,278 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import ( + "fmt" + "strings" + + "github.com/go-openapi/spec" +) + +// defaultValidator validates default values in a spec. +// According to Swagger spec, default values MUST validate their schema. +type defaultValidator struct { + SpecValidator *SpecValidator + visitedSchemas map[string]bool +} + +// resetVisited resets the internal state of visited schemas +func (d *defaultValidator) resetVisited() { + d.visitedSchemas = map[string]bool{} +} + +// beingVisited asserts a schema is being visited +func (d *defaultValidator) beingVisited(path string) { + d.visitedSchemas[path] = true +} + +// isVisited tells if a path has already been visited +func (d *defaultValidator) isVisited(path string) bool { + found := d.visitedSchemas[path] + if !found { + // search for overlapping paths + frags := strings.Split(path, ".") + if len(frags) < 2 { + // shortcut exit on smaller paths + return found + } + last := len(frags) - 1 + var currentFragStr, parent string + for i := range frags { + if i == 0 { + currentFragStr = frags[last] + } else { + currentFragStr = strings.Join([]string{frags[last-i], currentFragStr}, ".") + } + if i < last { + parent = strings.Join(frags[0:last-i], ".") + } else { + parent = "" + } + if strings.HasSuffix(parent, currentFragStr) { + found = true + break + } + } + } + return found +} + +// Validate validates the default values declared in the swagger spec +func (d *defaultValidator) Validate() (errs *Result) { + errs = new(Result) + if d == nil || d.SpecValidator == nil { + return errs + } + d.resetVisited() + errs.Merge(d.validateDefaultValueValidAgainstSchema()) // error - + return errs +} + +func (d *defaultValidator) validateDefaultValueValidAgainstSchema() *Result { + // every default value that is specified must validate against the schema for that property + // headers, items, parameters, schema + + res := new(Result) + s := d.SpecValidator + + for method, pathItem := range s.analyzer.Operations() { + if pathItem != nil { // Safeguard + for path, op := range pathItem { + // parameters + for _, param := range paramHelp.safeExpandedParamsFor(path, method, op.ID, res, s) { + if param.Default != nil && param.Required { + res.AddWarnings(requiredHasDefaultMsg(param.Name, param.In)) + } + + // reset explored schemas to get depth-first recursive-proof exploration + d.resetVisited() + + // Check simple parameters first + // default values provided must validate against their inline definition (no explicit schema) + if param.Default != nil && param.Schema == nil { + // check param default value is valid + red := NewParamValidator(¶m, s.KnownFormats).Validate(param.Default) + if red.HasErrorsOrWarnings() { + res.AddErrors(defaultValueDoesNotValidateMsg(param.Name, param.In)) + res.Merge(red) + } + } + + // Recursively follows Items and Schemas + if param.Items != nil { + red := d.validateDefaultValueItemsAgainstSchema(param.Name, param.In, ¶m, param.Items) + if red.HasErrorsOrWarnings() { + res.AddErrors(defaultValueItemsDoesNotValidateMsg(param.Name, param.In)) + res.Merge(red) + } + } + + if param.Schema != nil { + // Validate default value against schema + red := d.validateDefaultValueSchemaAgainstSchema(param.Name, param.In, param.Schema) + if red.HasErrorsOrWarnings() { + res.AddErrors(defaultValueDoesNotValidateMsg(param.Name, param.In)) + res.Merge(red) + } + } + } + + if op.Responses != nil { + if op.Responses.Default != nil { + // Same constraint on default Response + res.Merge(d.validateDefaultInResponse(op.Responses.Default, "default", path, 0, op.ID)) + } + // Same constraint on regular Responses + if op.Responses.StatusCodeResponses != nil { // Safeguard + for code, r := range op.Responses.StatusCodeResponses { + res.Merge(d.validateDefaultInResponse(&r, "response", path, code, op.ID)) + } + } + } else { + // Empty op.ID means there is no meaningful operation: no need to report a specific message + if op.ID != "" { + res.AddErrors(noValidResponseMsg(op.ID)) + } + } + } + } + } + if s.spec.Spec().Definitions != nil { // Safeguard + // reset explored schemas to get depth-first recursive-proof exploration + d.resetVisited() + for nm, sch := range s.spec.Spec().Definitions { + res.Merge(d.validateDefaultValueSchemaAgainstSchema(fmt.Sprintf("definitions.%s", nm), "body", &sch)) + } + } + return res +} + +func (d *defaultValidator) validateDefaultInResponse(resp *spec.Response, responseType, path string, responseCode int, operationID string) *Result { + s := d.SpecValidator + + response, res := responseHelp.expandResponseRef(resp, path, s) + if !res.IsValid() { + return res + } + + responseName, responseCodeAsStr := responseHelp.responseMsgVariants(responseType, responseCode) + + if response.Headers != nil { // Safeguard + for nm, h := range response.Headers { + // reset explored schemas to get depth-first recursive-proof exploration + d.resetVisited() + + if h.Default != nil { + red := NewHeaderValidator(nm, &h, s.KnownFormats).Validate(h.Default) + if red.HasErrorsOrWarnings() { + res.AddErrors(defaultValueHeaderDoesNotValidateMsg(operationID, nm, responseName)) + res.Merge(red) + } + } + + // Headers have inline definition, like params + if h.Items != nil { + red := d.validateDefaultValueItemsAgainstSchema(nm, "header", &h, h.Items) + if red.HasErrorsOrWarnings() { + res.AddErrors(defaultValueHeaderItemsDoesNotValidateMsg(operationID, nm, responseName)) + res.Merge(red) + } + } + + if _, err := compileRegexp(h.Pattern); err != nil { + res.AddErrors(invalidPatternInHeaderMsg(operationID, nm, responseName, h.Pattern, err)) + } + + // Headers don't have schema + } + } + if response.Schema != nil { + // reset explored schemas to get depth-first recursive-proof exploration + d.resetVisited() + + red := d.validateDefaultValueSchemaAgainstSchema(responseCodeAsStr, "response", response.Schema) + if red.HasErrorsOrWarnings() { + // Additional message to make sure the context of the error is not lost + res.AddErrors(defaultValueInDoesNotValidateMsg(operationID, responseName)) + res.Merge(red) + } + } + return res +} + +func (d *defaultValidator) validateDefaultValueSchemaAgainstSchema(path, in string, schema *spec.Schema) *Result { + if schema == nil || d.isVisited(path) { + // Avoids recursing if we are already done with that check + return nil + } + d.beingVisited(path) + res := new(Result) + s := d.SpecValidator + + if schema.Default != nil { + res.Merge(NewSchemaValidator(schema, s.spec.Spec(), path+".default", s.KnownFormats).Validate(schema.Default)) + } + if schema.Items != nil { + if schema.Items.Schema != nil { + res.Merge(d.validateDefaultValueSchemaAgainstSchema(path+".items.default", in, schema.Items.Schema)) + } + // Multiple schemas in items + if schema.Items.Schemas != nil { // Safeguard + for i, sch := range schema.Items.Schemas { + res.Merge(d.validateDefaultValueSchemaAgainstSchema(fmt.Sprintf("%s.items[%d].default", path, i), in, &sch)) + } + } + } + if _, err := compileRegexp(schema.Pattern); err != nil { + res.AddErrors(invalidPatternInMsg(path, in, schema.Pattern)) + } + if schema.AdditionalItems != nil && schema.AdditionalItems.Schema != nil { + // NOTE: we keep validating values, even though additionalItems is not supported by Swagger 2.0 (and 3.0 as well) + res.Merge(d.validateDefaultValueSchemaAgainstSchema(fmt.Sprintf("%s.additionalItems", path), in, schema.AdditionalItems.Schema)) + } + for propName, prop := range schema.Properties { + res.Merge(d.validateDefaultValueSchemaAgainstSchema(path+"."+propName, in, &prop)) + } + for propName, prop := range schema.PatternProperties { + res.Merge(d.validateDefaultValueSchemaAgainstSchema(path+"."+propName, in, &prop)) + } + if schema.AdditionalProperties != nil && schema.AdditionalProperties.Schema != nil { + res.Merge(d.validateDefaultValueSchemaAgainstSchema(fmt.Sprintf("%s.additionalProperties", path), in, schema.AdditionalProperties.Schema)) + } + if schema.AllOf != nil { + for i, aoSch := range schema.AllOf { + res.Merge(d.validateDefaultValueSchemaAgainstSchema(fmt.Sprintf("%s.allOf[%d]", path, i), in, &aoSch)) + } + } + return res +} + +func (d *defaultValidator) validateDefaultValueItemsAgainstSchema(path, in string, root interface{}, items *spec.Items) *Result { + res := new(Result) + s := d.SpecValidator + if items != nil { + if items.Default != nil { + res.Merge(newItemsValidator(path, in, items, root, s.KnownFormats).Validate(0, items.Default)) + } + if items.Items != nil { + res.Merge(d.validateDefaultValueItemsAgainstSchema(path+"[0].default", in, root, items.Items)) + } + if _, err := compileRegexp(items.Pattern); err != nil { + res.AddErrors(invalidPatternInMsg(path, in, items.Pattern)) + } + } + return res +} diff --git a/vendor/github.com/go-openapi/validate/doc.go b/vendor/github.com/go-openapi/validate/doc.go new file mode 100644 index 00000000000..f5ca9a5d580 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/doc.go @@ -0,0 +1,85 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate provides methods to validate a swagger specification, +as well as tools to validate data against their schema. + +This package follows Swagger 2.0. specification (aka OpenAPI 2.0). Reference +can be found here: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md. + +Validating a specification + +Validates a spec document (from JSON or YAML) against the JSON schema for swagger, +then checks a number of extra rules that can't be expressed in JSON schema. + +Entry points: + - Spec() + - NewSpecValidator() + - SpecValidator.Validate() + +Reported as errors: + [x] definition can't declare a property that's already defined by one of its ancestors + [x] definition's ancestor can't be a descendant of the same model + [x] path uniqueness: each api path should be non-verbatim (account for path param names) unique per method + [x] each security reference should contain only unique scopes + [x] each security scope in a security definition should be unique + [x] parameters in path must be unique + [x] each path parameter must correspond to a parameter placeholder and vice versa + [x] each referenceable definition must have references + [x] each definition property listed in the required array must be defined in the properties of the model + [x] each parameter should have a unique `name` and `type` combination + [x] each operation should have only 1 parameter of type body + [x] each reference must point to a valid object + [x] every default value that is specified must validate against the schema for that property + [x] items property is required for all schemas/definitions of type `array` + [x] path parameters must be declared a required + [x] headers must not contain $ref + [x] schema and property examples provided must validate against their respective object's schema + [x] examples provided must validate their schema + +Reported as warnings: + [x] path parameters should not contain any of [{,},\w] + [x] empty path + [x] unused definitions + [x] unsupported validation of examples on non-JSON media types + [x] examples in response without schema + [x] readOnly properties should not be required + +Validating a schema + +The schema validation toolkit validates data against JSON-schema-draft 04 schema. + +It is tested against the full json-schema-testing-suite (https://github.com/json-schema-org/JSON-Schema-Test-Suite), +except for the optional part (bignum, ECMA regexp, ...). + +It supports the complete JSON-schema vocabulary, including keywords not supported by Swagger (e.g. additionalItems, ...) + +Entry points: + - AgainstSchema() + - ... + +Known limitations + +With the current version of this package, the following aspects of swagger are not yet supported: + [ ] errors and warnings are not reported with key/line number in spec + [ ] default values and examples on responses only support application/json producer type + [ ] invalid numeric constraints (such as Minimum, etc..) are not checked except for default and example values + [ ] rules for collectionFormat are not implemented + [ ] no validation rule for polymorphism support (discriminator) [not done here] + [ ] valid js ECMA regexp not supported by Go regexp engine are considered invalid + [ ] arbitrary large numbers are not supported: max is math.MaxFloat64 + +*/ +package validate diff --git a/vendor/github.com/go-openapi/validate/example_validator.go b/vendor/github.com/go-openapi/validate/example_validator.go new file mode 100644 index 00000000000..b2acf1055c2 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/example_validator.go @@ -0,0 +1,299 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import ( + "fmt" + "strings" + + "github.com/go-openapi/spec" +) + +// ExampleValidator validates example values defined in a spec +type exampleValidator struct { + SpecValidator *SpecValidator + visitedSchemas map[string]bool +} + +// resetVisited resets the internal state of visited schemas +func (ex *exampleValidator) resetVisited() { + ex.visitedSchemas = map[string]bool{} +} + +// beingVisited asserts a schema is being visited +func (ex *exampleValidator) beingVisited(path string) { + ex.visitedSchemas[path] = true +} + +// isVisited tells if a path has already been visited +func (ex *exampleValidator) isVisited(path string) bool { + found := ex.visitedSchemas[path] + if !found { + // search for overlapping paths + frags := strings.Split(path, ".") + if len(frags) < 2 { + // shortcut exit on smaller paths + return found + } + last := len(frags) - 1 + var currentFragStr, parent string + for i := range frags { + if i == 0 { + currentFragStr = frags[last] + } else { + currentFragStr = strings.Join([]string{frags[last-i], currentFragStr}, ".") + } + if i < last { + parent = strings.Join(frags[0:last-i], ".") + } else { + parent = "" + } + if strings.HasSuffix(parent, currentFragStr) { + found = true + break + } + } + } + return found +} + +// Validate validates the example values declared in the swagger spec +// Example values MUST conform to their schema. +// +// With Swagger 2.0, examples are supported in: +// - schemas +// - individual property +// - responses +// +func (ex *exampleValidator) Validate() (errs *Result) { + errs = new(Result) + if ex == nil || ex.SpecValidator == nil { + return errs + } + ex.resetVisited() + errs.Merge(ex.validateExampleValueValidAgainstSchema()) // error - + + return errs +} + +func (ex *exampleValidator) validateExampleValueValidAgainstSchema() *Result { + // every example value that is specified must validate against the schema for that property + // in: schemas, properties, object, items + // not in: headers, parameters without schema + + res := new(Result) + s := ex.SpecValidator + + for method, pathItem := range s.analyzer.Operations() { + if pathItem != nil { // Safeguard + for path, op := range pathItem { + // parameters + for _, param := range paramHelp.safeExpandedParamsFor(path, method, op.ID, res, s) { + + // As of swagger 2.0, Examples are not supported in simple parameters + // However, it looks like it is supported by go-openapi + + // reset explored schemas to get depth-first recursive-proof exploration + ex.resetVisited() + + // Check simple parameters first + // default values provided must validate against their inline definition (no explicit schema) + if param.Example != nil && param.Schema == nil { + // check param default value is valid + red := NewParamValidator(¶m, s.KnownFormats).Validate(param.Example) + if red.HasErrorsOrWarnings() { + res.AddWarnings(exampleValueDoesNotValidateMsg(param.Name, param.In)) + res.MergeAsWarnings(red) + } + } + + // Recursively follows Items and Schemas + if param.Items != nil { + red := ex.validateExampleValueItemsAgainstSchema(param.Name, param.In, ¶m, param.Items) + if red.HasErrorsOrWarnings() { + res.AddWarnings(exampleValueItemsDoesNotValidateMsg(param.Name, param.In)) + res.Merge(red) + } + } + + if param.Schema != nil { + // Validate example value against schema + red := ex.validateExampleValueSchemaAgainstSchema(param.Name, param.In, param.Schema) + if red.HasErrorsOrWarnings() { + res.AddWarnings(exampleValueDoesNotValidateMsg(param.Name, param.In)) + res.Merge(red) + } + } + } + + if op.Responses != nil { + if op.Responses.Default != nil { + // Same constraint on default Response + res.Merge(ex.validateExampleInResponse(op.Responses.Default, "default", path, 0, op.ID)) + } + // Same constraint on regular Responses + if op.Responses.StatusCodeResponses != nil { // Safeguard + for code, r := range op.Responses.StatusCodeResponses { + res.Merge(ex.validateExampleInResponse(&r, "response", path, code, op.ID)) + } + } + } else { + // Empty op.ID means there is no meaningful operation: no need to report a specific message + if op.ID != "" { + res.AddErrors(noValidResponseMsg(op.ID)) + } + } + } + } + } + if s.spec.Spec().Definitions != nil { // Safeguard + // reset explored schemas to get depth-first recursive-proof exploration + ex.resetVisited() + for nm, sch := range s.spec.Spec().Definitions { + res.Merge(ex.validateExampleValueSchemaAgainstSchema(fmt.Sprintf("definitions.%s", nm), "body", &sch)) + } + } + return res +} + +func (ex *exampleValidator) validateExampleInResponse(resp *spec.Response, responseType, path string, responseCode int, operationID string) *Result { + s := ex.SpecValidator + + response, res := responseHelp.expandResponseRef(resp, path, s) + if !res.IsValid() { // Safeguard + return res + } + + responseName, responseCodeAsStr := responseHelp.responseMsgVariants(responseType, responseCode) + + if response.Headers != nil { // Safeguard + for nm, h := range response.Headers { + // reset explored schemas to get depth-first recursive-proof exploration + ex.resetVisited() + + if h.Example != nil { + red := NewHeaderValidator(nm, &h, s.KnownFormats).Validate(h.Example) + if red.HasErrorsOrWarnings() { + res.AddWarnings(exampleValueHeaderDoesNotValidateMsg(operationID, nm, responseName)) + res.MergeAsWarnings(red) + } + } + + // Headers have inline definition, like params + if h.Items != nil { + red := ex.validateExampleValueItemsAgainstSchema(nm, "header", &h, h.Items) + if red.HasErrorsOrWarnings() { + res.AddWarnings(exampleValueHeaderItemsDoesNotValidateMsg(operationID, nm, responseName)) + res.MergeAsWarnings(red) + } + } + + if _, err := compileRegexp(h.Pattern); err != nil { + res.AddErrors(invalidPatternInHeaderMsg(operationID, nm, responseName, h.Pattern, err)) + } + + // Headers don't have schema + } + } + if response.Schema != nil { + // reset explored schemas to get depth-first recursive-proof exploration + ex.resetVisited() + + red := ex.validateExampleValueSchemaAgainstSchema(responseCodeAsStr, "response", response.Schema) + if red.HasErrorsOrWarnings() { + // Additional message to make sure the context of the error is not lost + res.AddWarnings(exampleValueInDoesNotValidateMsg(operationID, responseName)) + res.Merge(red) + } + } + + if response.Examples != nil { + if response.Schema != nil { + if example, ok := response.Examples["application/json"]; ok { + res.MergeAsWarnings(NewSchemaValidator(response.Schema, s.spec.Spec(), path, s.KnownFormats).Validate(example)) + } else { + // TODO: validate other media types too + res.AddWarnings(examplesMimeNotSupportedMsg(operationID, responseName)) + } + } else { + res.AddWarnings(examplesWithoutSchemaMsg(operationID, responseName)) + } + } + return res +} + +func (ex *exampleValidator) validateExampleValueSchemaAgainstSchema(path, in string, schema *spec.Schema) *Result { + if schema == nil || ex.isVisited(path) { + // Avoids recursing if we are already done with that check + return nil + } + ex.beingVisited(path) + s := ex.SpecValidator + res := new(Result) + + if schema.Example != nil { + res.MergeAsWarnings(NewSchemaValidator(schema, s.spec.Spec(), path+".example", s.KnownFormats).Validate(schema.Example)) + } + if schema.Items != nil { + if schema.Items.Schema != nil { + res.Merge(ex.validateExampleValueSchemaAgainstSchema(path+".items.example", in, schema.Items.Schema)) + } + // Multiple schemas in items + if schema.Items.Schemas != nil { // Safeguard + for i, sch := range schema.Items.Schemas { + res.Merge(ex.validateExampleValueSchemaAgainstSchema(fmt.Sprintf("%s.items[%d].example", path, i), in, &sch)) + } + } + } + if _, err := compileRegexp(schema.Pattern); err != nil { + res.AddErrors(invalidPatternInMsg(path, in, schema.Pattern)) + } + if schema.AdditionalItems != nil && schema.AdditionalItems.Schema != nil { + // NOTE: we keep validating values, even though additionalItems is unsupported in Swagger 2.0 (and 3.0 as well) + res.Merge(ex.validateExampleValueSchemaAgainstSchema(fmt.Sprintf("%s.additionalItems", path), in, schema.AdditionalItems.Schema)) + } + for propName, prop := range schema.Properties { + res.Merge(ex.validateExampleValueSchemaAgainstSchema(path+"."+propName, in, &prop)) + } + for propName, prop := range schema.PatternProperties { + res.Merge(ex.validateExampleValueSchemaAgainstSchema(path+"."+propName, in, &prop)) + } + if schema.AdditionalProperties != nil && schema.AdditionalProperties.Schema != nil { + res.Merge(ex.validateExampleValueSchemaAgainstSchema(fmt.Sprintf("%s.additionalProperties", path), in, schema.AdditionalProperties.Schema)) + } + if schema.AllOf != nil { + for i, aoSch := range schema.AllOf { + res.Merge(ex.validateExampleValueSchemaAgainstSchema(fmt.Sprintf("%s.allOf[%d]", path, i), in, &aoSch)) + } + } + return res +} + +func (ex *exampleValidator) validateExampleValueItemsAgainstSchema(path, in string, root interface{}, items *spec.Items) *Result { + res := new(Result) + s := ex.SpecValidator + if items != nil { + if items.Example != nil { + res.MergeAsWarnings(newItemsValidator(path, in, items, root, s.KnownFormats).Validate(0, items.Example)) + } + if items.Items != nil { + res.Merge(ex.validateExampleValueItemsAgainstSchema(path+"[0].example", in, root, items.Items)) + } + if _, err := compileRegexp(items.Pattern); err != nil { + res.AddErrors(invalidPatternInMsg(path, in, items.Pattern)) + } + } + return res +} diff --git a/vendor/github.com/go-openapi/validate/formats.go b/vendor/github.com/go-openapi/validate/formats.go new file mode 100644 index 00000000000..b7afe981bce --- /dev/null +++ b/vendor/github.com/go-openapi/validate/formats.go @@ -0,0 +1,73 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import ( + "reflect" + + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" +) + +type formatValidator struct { + Format string + Path string + In string + KnownFormats strfmt.Registry +} + +func (f *formatValidator) SetPath(path string) { + f.Path = path +} + +func (f *formatValidator) Applies(source interface{}, kind reflect.Kind) bool { + doit := func() bool { + if source == nil { + return false + } + switch source.(type) { + case *spec.Items: + it := source.(*spec.Items) + return kind == reflect.String && f.KnownFormats.ContainsName(it.Format) + case *spec.Parameter: + par := source.(*spec.Parameter) + return kind == reflect.String && f.KnownFormats.ContainsName(par.Format) + case *spec.Schema: + sch := source.(*spec.Schema) + return kind == reflect.String && f.KnownFormats.ContainsName(sch.Format) + case *spec.Header: + hdr := source.(*spec.Header) + return kind == reflect.String && f.KnownFormats.ContainsName(hdr.Format) + } + return false + } + r := doit() + debugLog("format validator for %q applies %t for %T (kind: %v)\n", f.Path, r, source, kind) + return r +} + +func (f *formatValidator) Validate(val interface{}) *Result { + result := new(Result) + debugLog("validating \"%v\" against format: %s", val, f.Format) + + if err := FormatOf(f.Path, f.In, f.Format, val.(string), f.KnownFormats); err != nil { + result.AddErrors(err) + } + + if result.HasErrors() { + return result + } + return nil +} diff --git a/vendor/github.com/go-openapi/validate/go.mod b/vendor/github.com/go-openapi/validate/go.mod new file mode 100644 index 00000000000..1197fcd64f6 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/go.mod @@ -0,0 +1,14 @@ +module github.com/go-openapi/validate + +require ( + github.com/go-openapi/analysis v0.19.2 + github.com/go-openapi/errors v0.19.2 + github.com/go-openapi/jsonpointer v0.19.2 + github.com/go-openapi/loads v0.19.2 + github.com/go-openapi/runtime v0.19.0 + github.com/go-openapi/spec v0.19.2 + github.com/go-openapi/strfmt v0.19.0 + github.com/go-openapi/swag v0.19.2 + github.com/stretchr/testify v1.3.0 + gopkg.in/yaml.v2 v2.2.2 +) diff --git a/vendor/github.com/go-openapi/validate/go.sum b/vendor/github.com/go-openapi/validate/go.sum new file mode 100644 index 00000000000..7b65517fd5e --- /dev/null +++ b/vendor/github.com/go-openapi/validate/go.sum @@ -0,0 +1,103 @@ +github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= +github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8 h1:DujepqpGd1hyOd7aW59XpK7Qymp8iy83xq74fLr21is= +github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= +github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= +github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= +github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= +github.com/go-openapi/analysis v0.19.2 h1:ophLETFestFZHk3ji7niPEL4d466QjW+0Tdg5VyDq7E= +github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= +github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= +github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= +github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY= +github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= +github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= +github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= +github.com/go-openapi/jsonpointer v0.19.2 h1:A9+F4Dc/MCNB5jibxf6rRvOvR/iFgQdyNx9eIhnGqq0= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= +github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= +github.com/go-openapi/jsonreference v0.19.2 h1:o20suLFB4Ri0tuzpWtyHlh7E7HnkqTNLq6aR6WVNS1w= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= +github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= +github.com/go-openapi/loads v0.19.0 h1:wCOBNscACI8L93tt5tvB2zOMkJ098XCw3fP0BY2ybDA= +github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= +github.com/go-openapi/loads v0.19.2 h1:rf5ArTHmIJxyV5Oiks+Su0mUens1+AjpkPoWr5xFRcI= +github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs= +github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= +github.com/go-openapi/runtime v0.19.0 h1:sU6pp4dSV2sGlNKKyHxZzi1m1kG4WnYtWcJ+HYbygjE= +github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= +github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= +github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= +github.com/go-openapi/spec v0.19.2 h1:SStNd1jRcYtfKCN7R0laGNs80WYYvn5CbBjM2sOmCrE= +github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= +github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= +github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= +github.com/go-openapi/strfmt v0.19.0 h1:0Dn9qy1G9+UJfRU7TR8bmdGxb4uifB7HNrJjOnV0yPk= +github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY= +github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= +github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= +github.com/go-openapi/swag v0.19.2 h1:jvO6bCMBEilGwMfHhrd61zIID4oIFdwb76V17SM88dE= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 h1:nTT4s92Dgz2HlrB2NaMgvlfqHH39OgMhA7z3PK7PGD4= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980 h1:dfGZHvZk057jK2MCeWus/TowKpJ8y4AmooUzdBSR9GU= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/go-openapi/validate/helpers.go b/vendor/github.com/go-openapi/validate/helpers.go new file mode 100644 index 00000000000..7ac87710946 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/helpers.go @@ -0,0 +1,265 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +// TODO: define this as package validate/internal +// This must be done while keeping CI intact with all tests and test coverage + +import ( + "reflect" + "strconv" + "strings" + + "github.com/go-openapi/errors" + "github.com/go-openapi/spec" +) + +const swaggerBody = "body" +const objectType = "object" + +// Helpers available at the package level +var ( + pathHelp *pathHelper + valueHelp *valueHelper + errorHelp *errorHelper + paramHelp *paramHelper + responseHelp *responseHelper +) + +type errorHelper struct { + // A collection of unexported helpers for error construction +} + +func (h *errorHelper) sErr(err errors.Error) *Result { + // Builds a Result from standard errors.Error + return &Result{Errors: []error{err}} +} + +func (h *errorHelper) addPointerError(res *Result, err error, ref string, fromPath string) *Result { + // Provides more context on error messages + // reported by the jsoinpointer package by altering the passed Result + if err != nil { + res.AddErrors(cannotResolveRefMsg(fromPath, ref, err)) + } + return res +} + +type pathHelper struct { + // A collection of unexported helpers for path validation +} + +func (h *pathHelper) stripParametersInPath(path string) string { + // Returns a path stripped from all path parameters, with multiple or trailing slashes removed. + // + // Stripping is performed on a slash-separated basis, e.g '/a{/b}' remains a{/b} and not /a. + // - Trailing "/" make a difference, e.g. /a/ !~ /a (ex: canary/bitbucket.org/swagger.json) + // - presence or absence of a parameter makes a difference, e.g. /a/{log} !~ /a/ (ex: canary/kubernetes/swagger.json) + + // Regexp to extract parameters from path, with surrounding {}. + // NOTE: important non-greedy modifier + rexParsePathParam := mustCompileRegexp(`{[^{}]+?}`) + strippedSegments := []string{} + + for _, segment := range strings.Split(path, "/") { + strippedSegments = append(strippedSegments, rexParsePathParam.ReplaceAllString(segment, "X")) + } + return strings.Join(strippedSegments, "/") +} + +func (h *pathHelper) extractPathParams(path string) (params []string) { + // Extracts all params from a path, with surrounding "{}" + rexParsePathParam := mustCompileRegexp(`{[^{}]+?}`) + + for _, segment := range strings.Split(path, "/") { + for _, v := range rexParsePathParam.FindAllStringSubmatch(segment, -1) { + params = append(params, v...) + } + } + return +} + +type valueHelper struct { + // A collection of unexported helpers for value validation +} + +func (h *valueHelper) asInt64(val interface{}) int64 { + // Number conversion function for int64, without error checking + // (implements an implicit type upgrade). + v := reflect.ValueOf(val) + switch v.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + return int64(v.Uint()) + case reflect.Float32, reflect.Float64: + return int64(v.Float()) + default: + //panic("Non numeric value in asInt64()") + return 0 + } +} + +func (h *valueHelper) asUint64(val interface{}) uint64 { + // Number conversion function for uint64, without error checking + // (implements an implicit type upgrade). + v := reflect.ValueOf(val) + switch v.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return uint64(v.Int()) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + return v.Uint() + case reflect.Float32, reflect.Float64: + return uint64(v.Float()) + default: + //panic("Non numeric value in asUint64()") + return 0 + } +} + +// Same for unsigned floats +func (h *valueHelper) asFloat64(val interface{}) float64 { + // Number conversion function for float64, without error checking + // (implements an implicit type upgrade). + v := reflect.ValueOf(val) + switch v.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return float64(v.Int()) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + return float64(v.Uint()) + case reflect.Float32, reflect.Float64: + return v.Float() + default: + //panic("Non numeric value in asFloat64()") + return 0 + } +} + +type paramHelper struct { + // A collection of unexported helpers for parameters resolution +} + +func (h *paramHelper) safeExpandedParamsFor(path, method, operationID string, res *Result, s *SpecValidator) (params []spec.Parameter) { + operation, ok := s.analyzer.OperationFor(method, path) + if ok { + // expand parameters first if necessary + resolvedParams := []spec.Parameter{} + for _, ppr := range operation.Parameters { + resolvedParam, red := h.resolveParam(path, method, operationID, &ppr, s) + res.Merge(red) + if resolvedParam != nil { + resolvedParams = append(resolvedParams, *resolvedParam) + } + } + // remove params with invalid expansion from Slice + operation.Parameters = resolvedParams + + for _, ppr := range s.analyzer.SafeParamsFor(method, path, + func(p spec.Parameter, err error) bool { + // since params have already been expanded, there are few causes for error + res.AddErrors(someParametersBrokenMsg(path, method, operationID)) + // original error from analyzer + res.AddErrors(err) + return true + }) { + params = append(params, ppr) + } + } + return +} + +func (h *paramHelper) resolveParam(path, method, operationID string, param *spec.Parameter, s *SpecValidator) (*spec.Parameter, *Result) { + // Ensure parameter is expanded + var err error + res := new(Result) + isRef := param.Ref.String() != "" + if s.spec.SpecFilePath() == "" { + err = spec.ExpandParameterWithRoot(param, s.spec.Spec(), nil) + } else { + err = spec.ExpandParameter(param, s.spec.SpecFilePath()) + + } + if err != nil { // Safeguard + // NOTE: we may enter enter here when the whole parameter is an unresolved $ref + refPath := strings.Join([]string{"\"" + path + "\"", method}, ".") + errorHelp.addPointerError(res, err, param.Ref.String(), refPath) + return nil, res + } + res.Merge(h.checkExpandedParam(param, param.Name, param.In, operationID, isRef)) + return param, res +} + +func (h *paramHelper) checkExpandedParam(pr *spec.Parameter, path, in, operation string, isRef bool) *Result { + // Secure parameter structure after $ref resolution + res := new(Result) + simpleZero := spec.SimpleSchema{} + // Try to explain why... best guess + if pr.In == swaggerBody && (pr.SimpleSchema != simpleZero && pr.SimpleSchema.Type != objectType) { + if isRef { + // Most likely, a $ref with a sibling is an unwanted situation: in itself this is a warning... + // but we detect it because of the following error: + // schema took over Parameter for an unexplained reason + res.AddWarnings(refShouldNotHaveSiblingsMsg(path, operation)) + } + res.AddErrors(invalidParameterDefinitionMsg(path, in, operation)) + } else if pr.In != swaggerBody && pr.Schema != nil { + if isRef { + res.AddWarnings(refShouldNotHaveSiblingsMsg(path, operation)) + } + res.AddErrors(invalidParameterDefinitionAsSchemaMsg(path, in, operation)) + } else if (pr.In == swaggerBody && pr.Schema == nil) || + (pr.In != swaggerBody && pr.SimpleSchema == simpleZero) { // Safeguard + // Other unexpected mishaps + res.AddErrors(invalidParameterDefinitionMsg(path, in, operation)) + } + return res +} + +type responseHelper struct { + // A collection of unexported helpers for response resolution +} + +func (r *responseHelper) expandResponseRef( + response *spec.Response, + path string, s *SpecValidator) (*spec.Response, *Result) { + // Ensure response is expanded + var err error + res := new(Result) + if s.spec.SpecFilePath() == "" { + // there is no physical document to resolve $ref in response + err = spec.ExpandResponseWithRoot(response, s.spec.Spec(), nil) + } else { + err = spec.ExpandResponse(response, s.spec.SpecFilePath()) + } + if err != nil { // Safeguard + // NOTE: we may enter here when the whole response is an unresolved $ref. + errorHelp.addPointerError(res, err, response.Ref.String(), path) + return nil, res + } + return response, res +} + +func (r *responseHelper) responseMsgVariants( + responseType string, + responseCode int) (responseName, responseCodeAsStr string) { + // Path variants for messages + if responseType == "default" { + responseCodeAsStr = "default" + responseName = "default response" + } else { + responseCodeAsStr = strconv.Itoa(responseCode) + responseName = "response " + responseCodeAsStr + } + return +} diff --git a/vendor/github.com/go-openapi/validate/object_validator.go b/vendor/github.com/go-openapi/validate/object_validator.go new file mode 100644 index 00000000000..df0c5c14ef9 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/object_validator.go @@ -0,0 +1,268 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import ( + "reflect" + "regexp" + "strings" + + "github.com/go-openapi/errors" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" +) + +type objectValidator struct { + Path string + In string + MaxProperties *int64 + MinProperties *int64 + Required []string + Properties map[string]spec.Schema + AdditionalProperties *spec.SchemaOrBool + PatternProperties map[string]spec.Schema + Root interface{} + KnownFormats strfmt.Registry + Options SchemaValidatorOptions +} + +func (o *objectValidator) SetPath(path string) { + o.Path = path +} + +func (o *objectValidator) Applies(source interface{}, kind reflect.Kind) bool { + // TODO: this should also work for structs + // there is a problem in the type validator where it will be unhappy about null values + // so that requires more testing + r := reflect.TypeOf(source) == specSchemaType && (kind == reflect.Map || kind == reflect.Struct) + debugLog("object validator for %q applies %t for %T (kind: %v)\n", o.Path, r, source, kind) + return r +} + +func (o *objectValidator) isPropertyName() bool { + p := strings.Split(o.Path, ".") + return p[len(p)-1] == "properties" && p[len(p)-2] != "properties" +} + +func (o *objectValidator) checkArrayMustHaveItems(res *Result, val map[string]interface{}) { + if t, typeFound := val["type"]; typeFound { + if tpe, ok := t.(string); ok && tpe == "array" { + if _, itemsKeyFound := val["items"]; !itemsKeyFound { + res.AddErrors(errors.Required("items", o.Path)) + } + } + } +} + +func (o *objectValidator) checkItemsMustBeTypeArray(res *Result, val map[string]interface{}) { + if !o.isPropertyName() { + if _, itemsKeyFound := val["items"]; itemsKeyFound { + t, typeFound := val["type"] + if typeFound { + if tpe, ok := t.(string); !ok || tpe != "array" { + res.AddErrors(errors.InvalidType(o.Path, o.In, "array", nil)) + } + } else { + // there is no type + res.AddErrors(errors.Required("type", o.Path)) + } + } + } +} + +func (o *objectValidator) precheck(res *Result, val map[string]interface{}) { + o.checkArrayMustHaveItems(res, val) + if !o.Options.DisableObjectArrayTypeCheck { + o.checkItemsMustBeTypeArray(res, val) + } +} + +func (o *objectValidator) Validate(data interface{}) *Result { + val := data.(map[string]interface{}) + // TODO: guard against nil data + numKeys := int64(len(val)) + + if o.MinProperties != nil && numKeys < *o.MinProperties { + return errorHelp.sErr(errors.TooFewProperties(o.Path, o.In, *o.MinProperties)) + } + if o.MaxProperties != nil && numKeys > *o.MaxProperties { + return errorHelp.sErr(errors.TooManyProperties(o.Path, o.In, *o.MaxProperties)) + } + + res := new(Result) + + o.precheck(res, val) + + // check validity of field names + if o.AdditionalProperties != nil && !o.AdditionalProperties.Allows { + // Case: additionalProperties: false + for k := range val { + _, regularProperty := o.Properties[k] + matched := false + + for pk := range o.PatternProperties { + if matches, _ := regexp.MatchString(pk, k); matches { + matched = true + break + } + } + + if !regularProperty && k != "$schema" && k != "id" && !matched { + // Special properties "$schema" and "id" are ignored + res.AddErrors(errors.PropertyNotAllowed(o.Path, o.In, k)) + + // BUG(fredbi): This section should move to a part dedicated to spec validation as + // it will conflict with regular schemas where a property "headers" is defined. + + // + // Croaks a more explicit message on top of the standard one + // on some recognized cases. + // + // NOTE: edge cases with invalid type assertion are simply ignored here. + // NOTE: prefix your messages here by "IMPORTANT!" so there are not filtered + // by higher level callers (the IMPORTANT! tag will be eventually + // removed). + switch k { + // $ref is forbidden in header + case "headers": + if val[k] != nil { + if headers, mapOk := val[k].(map[string]interface{}); mapOk { + for headerKey, headerBody := range headers { + if headerBody != nil { + if headerSchema, mapOfMapOk := headerBody.(map[string]interface{}); mapOfMapOk { + if _, found := headerSchema["$ref"]; found { + var msg string + if refString, stringOk := headerSchema["$ref"].(string); stringOk { + msg = strings.Join([]string{", one may not use $ref=\":", refString, "\""}, "") + } + res.AddErrors(refNotAllowedInHeaderMsg(o.Path, headerKey, msg)) + } + } + } + } + } + } + /* + case "$ref": + if val[k] != nil { + // TODO: check context of that ref: warn about siblings, check against invalid context + } + */ + } + } + } + } else { + // Cases: no additionalProperties (implying: true), or additionalProperties: true, or additionalProperties: { <> } + for key, value := range val { + _, regularProperty := o.Properties[key] + + // Validates property against "patternProperties" if applicable + // BUG(fredbi): succeededOnce is always false + + // NOTE: how about regular properties which do not match patternProperties? + matched, succeededOnce, _ := o.validatePatternProperty(key, value, res) + + if !(regularProperty || matched || succeededOnce) { + + // Cases: properties which are not regular properties and have not been matched by the PatternProperties validator + if o.AdditionalProperties != nil && o.AdditionalProperties.Schema != nil { + // AdditionalProperties as Schema + r := NewSchemaValidator(o.AdditionalProperties.Schema, o.Root, o.Path+"."+key, o.KnownFormats, o.Options.Options()...).Validate(value) + res.mergeForField(data.(map[string]interface{}), key, r) + } else if regularProperty && !(matched || succeededOnce) { + // TODO: this is dead code since regularProperty=false here + res.AddErrors(errors.FailedAllPatternProperties(o.Path, o.In, key)) + } + } + } + // Valid cases: additionalProperties: true or undefined + } + + createdFromDefaults := map[string]bool{} + + // Property types: + // - regular Property + for pName := range o.Properties { + pSchema := o.Properties[pName] // one instance per iteration + rName := pName + if o.Path != "" { + rName = o.Path + "." + pName + } + + // Recursively validates each property against its schema + if v, ok := val[pName]; ok { + r := NewSchemaValidator(&pSchema, o.Root, rName, o.KnownFormats, o.Options.Options()...).Validate(v) + res.mergeForField(data.(map[string]interface{}), pName, r) + } else if pSchema.Default != nil { + // If a default value is defined, creates the property from defaults + // NOTE: JSON schema does not enforce default values to be valid against schema. Swagger does. + createdFromDefaults[pName] = true + res.addPropertySchemata(data.(map[string]interface{}), pName, &pSchema) + } + } + + // Check required properties + if len(o.Required) > 0 { + for _, k := range o.Required { + if _, ok := val[k]; !ok && !createdFromDefaults[k] { + res.AddErrors(errors.Required(o.Path+"."+k, o.In)) + continue + } + } + } + + // Check patternProperties + // TODO: it looks like we have done that twice in many cases + for key, value := range val { + _, regularProperty := o.Properties[key] + matched, _ /*succeededOnce*/, patterns := o.validatePatternProperty(key, value, res) + if !regularProperty && (matched /*|| succeededOnce*/) { + for _, pName := range patterns { + if v, ok := o.PatternProperties[pName]; ok { + r := NewSchemaValidator(&v, o.Root, o.Path+"."+key, o.KnownFormats, o.Options.Options()...).Validate(value) + res.mergeForField(data.(map[string]interface{}), key, r) + } + } + } + } + return res +} + +// TODO: succeededOnce is not used anywhere +func (o *objectValidator) validatePatternProperty(key string, value interface{}, result *Result) (bool, bool, []string) { + matched := false + succeededOnce := false + var patterns []string + + for k, schema := range o.PatternProperties { + sch := schema + if match, _ := regexp.MatchString(k, key); match { + patterns = append(patterns, k) + matched = true + validator := NewSchemaValidator(&sch, o.Root, o.Path+"."+key, o.KnownFormats, o.Options.Options()...) + + res := validator.Validate(value) + result.Merge(res) + } + } + + // BUG(fredbi): can't get to here. Should remove dead code (commented out). + + //if succeededOnce { + // result.Inc() + //} + + return matched, succeededOnce, patterns +} diff --git a/vendor/github.com/go-openapi/validate/options.go b/vendor/github.com/go-openapi/validate/options.go new file mode 100644 index 00000000000..deeec2f2ecc --- /dev/null +++ b/vendor/github.com/go-openapi/validate/options.go @@ -0,0 +1,43 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import "sync" + +// Opts specifies validation options for a SpecValidator. +// +// NOTE: other options might be needed, for example a go-swagger specific mode. +type Opts struct { + ContinueOnErrors bool // true: continue reporting errors, even if spec is invalid +} + +var ( + defaultOpts = Opts{ContinueOnErrors: false} // default is to stop validation on errors + defaultOptsMutex = &sync.Mutex{} +) + +// SetContinueOnErrors sets global default behavior regarding spec validation errors reporting. +// +// For extended error reporting, you most likely want to set it to true. +// For faster validation, it's better to give up early when a spec is detected as invalid: set it to false (this is the default). +// +// Setting this mode does NOT affect the validation status. +// +// NOTE: this method affects global defaults. It is not suitable for a concurrent usage. +func SetContinueOnErrors(c bool) { + defer defaultOptsMutex.Unlock() + defaultOptsMutex.Lock() + defaultOpts.ContinueOnErrors = c +} diff --git a/vendor/github.com/go-openapi/validate/result.go b/vendor/github.com/go-openapi/validate/result.go new file mode 100644 index 00000000000..ae9b8dbf2b5 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/result.go @@ -0,0 +1,484 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import ( + "fmt" + "reflect" + "strings" + + "github.com/go-openapi/errors" + "github.com/go-openapi/spec" +) + +// Result represents a validation result set, composed of +// errors and warnings. +// +// It is used to keep track of all detected errors and warnings during +// the validation of a specification. +// +// Matchcount is used to determine +// which errors are relevant in the case of AnyOf, OneOf +// schema validation. Results from the validation branch +// with most matches get eventually selected. +// +// TODO: keep path of key originating the error +type Result struct { + Errors []error + Warnings []error + MatchCount int + + // the object data + data interface{} + + // Schemata for the root object + rootObjectSchemata schemata + // Schemata for object fields + fieldSchemata []fieldSchemata + // Schemata for slice items + itemSchemata []itemSchemata + + cachedFieldSchemta map[FieldKey][]*spec.Schema + cachedItemSchemata map[ItemKey][]*spec.Schema +} + +// FieldKey is a pair of an object and a field, usable as a key for a map. +type FieldKey struct { + object reflect.Value // actually a map[string]interface{}, but the latter cannot be a key + field string +} + +// ItemKey is a pair of a slice and an index, usable as a key for a map. +type ItemKey struct { + slice reflect.Value // actually a []interface{}, but the latter cannot be a key + index int +} + +// NewFieldKey returns a pair of an object and field usable as a key of a map. +func NewFieldKey(obj map[string]interface{}, field string) FieldKey { + return FieldKey{object: reflect.ValueOf(obj), field: field} +} + +// Object returns the underlying object of this key. +func (fk *FieldKey) Object() map[string]interface{} { + return fk.object.Interface().(map[string]interface{}) +} + +// Field returns the underlying field of this key. +func (fk *FieldKey) Field() string { + return fk.field +} + +// NewItemKey returns a pair of a slice and index usable as a key of a map. +func NewItemKey(slice interface{}, i int) ItemKey { + return ItemKey{slice: reflect.ValueOf(slice), index: i} +} + +// Slice returns the underlying slice of this key. +func (ik *ItemKey) Slice() []interface{} { + return ik.slice.Interface().([]interface{}) +} + +// Index returns the underlying index of this key. +func (ik *ItemKey) Index() int { + return ik.index +} + +type fieldSchemata struct { + obj map[string]interface{} + field string + schemata schemata +} + +type itemSchemata struct { + slice reflect.Value + index int + schemata schemata +} + +// Merge merges this result with the other one(s), preserving match counts etc. +func (r *Result) Merge(others ...*Result) *Result { + for _, other := range others { + if other == nil { + continue + } + r.mergeWithoutRootSchemata(other) + r.rootObjectSchemata.Append(other.rootObjectSchemata) + } + return r +} + +// Data returns the original data object used for validation. Mutating this renders +// the result invalid. +func (r *Result) Data() interface{} { + return r.data +} + +// RootObjectSchemata returns the schemata which apply to the root object. +func (r *Result) RootObjectSchemata() []*spec.Schema { + return r.rootObjectSchemata.Slice() +} + +// FieldSchemata returns the schemata which apply to fields in objects. +func (r *Result) FieldSchemata() map[FieldKey][]*spec.Schema { + if r.cachedFieldSchemta != nil { + return r.cachedFieldSchemta + } + + ret := make(map[FieldKey][]*spec.Schema, len(r.fieldSchemata)) + for _, fs := range r.fieldSchemata { + key := NewFieldKey(fs.obj, fs.field) + if fs.schemata.one != nil { + ret[key] = append(ret[key], fs.schemata.one) + } else if len(fs.schemata.multiple) > 0 { + ret[key] = append(ret[key], fs.schemata.multiple...) + } + } + r.cachedFieldSchemta = ret + return ret +} + +// ItemSchemata returns the schemata which apply to items in slices. +func (r *Result) ItemSchemata() map[ItemKey][]*spec.Schema { + if r.cachedItemSchemata != nil { + return r.cachedItemSchemata + } + + ret := make(map[ItemKey][]*spec.Schema, len(r.itemSchemata)) + for _, ss := range r.itemSchemata { + key := NewItemKey(ss.slice, ss.index) + if ss.schemata.one != nil { + ret[key] = append(ret[key], ss.schemata.one) + } else if len(ss.schemata.multiple) > 0 { + ret[key] = append(ret[key], ss.schemata.multiple...) + } + } + r.cachedItemSchemata = ret + return ret +} + +func (r *Result) resetCaches() { + r.cachedFieldSchemta = nil + r.cachedItemSchemata = nil +} + +// mergeForField merges other into r, assigning other's root schemata to the given Object and field name. +func (r *Result) mergeForField(obj map[string]interface{}, field string, other *Result) *Result { + if other == nil { + return r + } + r.mergeWithoutRootSchemata(other) + + if other.rootObjectSchemata.Len() > 0 { + if r.fieldSchemata == nil { + r.fieldSchemata = make([]fieldSchemata, len(obj)) + } + r.fieldSchemata = append(r.fieldSchemata, fieldSchemata{ + obj: obj, + field: field, + schemata: other.rootObjectSchemata, + }) + } + + return r +} + +// mergeForSlice merges other into r, assigning other's root schemata to the given slice and index. +func (r *Result) mergeForSlice(slice reflect.Value, i int, other *Result) *Result { + if other == nil { + return r + } + r.mergeWithoutRootSchemata(other) + + if other.rootObjectSchemata.Len() > 0 { + if r.itemSchemata == nil { + r.itemSchemata = make([]itemSchemata, slice.Len()) + } + r.itemSchemata = append(r.itemSchemata, itemSchemata{ + slice: slice, + index: i, + schemata: other.rootObjectSchemata, + }) + } + + return r +} + +// addRootObjectSchemata adds the given schemata for the root object of the result. +// The slice schemata might be reused. I.e. do not modify it after being added to a result. +func (r *Result) addRootObjectSchemata(s *spec.Schema) { + r.rootObjectSchemata.Append(schemata{one: s}) +} + +// addPropertySchemata adds the given schemata for the object and field. +// The slice schemata might be reused. I.e. do not modify it after being added to a result. +func (r *Result) addPropertySchemata(obj map[string]interface{}, fld string, schema *spec.Schema) { + if r.fieldSchemata == nil { + r.fieldSchemata = make([]fieldSchemata, 0, len(obj)) + } + r.fieldSchemata = append(r.fieldSchemata, fieldSchemata{obj: obj, field: fld, schemata: schemata{one: schema}}) +} + +// addSliceSchemata adds the given schemata for the slice and index. +// The slice schemata might be reused. I.e. do not modify it after being added to a result. +func (r *Result) addSliceSchemata(slice reflect.Value, i int, schema *spec.Schema) { + if r.itemSchemata == nil { + r.itemSchemata = make([]itemSchemata, 0, slice.Len()) + } + r.itemSchemata = append(r.itemSchemata, itemSchemata{slice: slice, index: i, schemata: schemata{one: schema}}) +} + +// mergeWithoutRootSchemata merges other into r, ignoring the rootObject schemata. +func (r *Result) mergeWithoutRootSchemata(other *Result) { + r.resetCaches() + r.AddErrors(other.Errors...) + r.AddWarnings(other.Warnings...) + r.MatchCount += other.MatchCount + + if other.fieldSchemata != nil { + if r.fieldSchemata == nil { + r.fieldSchemata = other.fieldSchemata + } else { + for _, x := range other.fieldSchemata { + r.fieldSchemata = append(r.fieldSchemata, x) + } + } + } + + if other.itemSchemata != nil { + if r.itemSchemata == nil { + r.itemSchemata = other.itemSchemata + } else { + for _, x := range other.itemSchemata { + r.itemSchemata = append(r.itemSchemata, x) + } + } + } +} + +// MergeAsErrors merges this result with the other one(s), preserving match counts etc. +// +// Warnings from input are merged as Errors in the returned merged Result. +func (r *Result) MergeAsErrors(others ...*Result) *Result { + for _, other := range others { + if other != nil { + r.resetCaches() + r.AddErrors(other.Errors...) + r.AddErrors(other.Warnings...) + r.MatchCount += other.MatchCount + } + } + return r +} + +// MergeAsWarnings merges this result with the other one(s), preserving match counts etc. +// +// Errors from input are merged as Warnings in the returned merged Result. +func (r *Result) MergeAsWarnings(others ...*Result) *Result { + for _, other := range others { + if other != nil { + r.resetCaches() + r.AddWarnings(other.Errors...) + r.AddWarnings(other.Warnings...) + r.MatchCount += other.MatchCount + } + } + return r +} + +// AddErrors adds errors to this validation result (if not already reported). +// +// Since the same check may be passed several times while exploring the +// spec structure (via $ref, ...) reported messages are kept +// unique. +func (r *Result) AddErrors(errors ...error) { + for _, e := range errors { + found := false + if e != nil { + for _, isReported := range r.Errors { + if e.Error() == isReported.Error() { + found = true + break + } + } + if !found { + r.Errors = append(r.Errors, e) + } + } + } +} + +// AddWarnings adds warnings to this validation result (if not already reported). +func (r *Result) AddWarnings(warnings ...error) { + for _, e := range warnings { + found := false + if e != nil { + for _, isReported := range r.Warnings { + if e.Error() == isReported.Error() { + found = true + break + } + } + if !found { + r.Warnings = append(r.Warnings, e) + } + } + } +} + +func (r *Result) keepRelevantErrors() *Result { + // TODO: this one is going to disapear... + // keepRelevantErrors strips a result from standard errors and keeps + // the ones which are supposedly more accurate. + // + // The original result remains unaffected (creates a new instance of Result). + // This method is used to work around the "matchCount" filter which would otherwise + // strip our result from some accurate error reporting from lower level validators. + // + // NOTE: this implementation with a placeholder (IMPORTANT!) is neither clean nor + // very efficient. On the other hand, relying on go-openapi/errors to manipulate + // codes would require to change a lot here. So, for the moment, let's go with + // placeholders. + strippedErrors := []error{} + for _, e := range r.Errors { + if strings.HasPrefix(e.Error(), "IMPORTANT!") { + strippedErrors = append(strippedErrors, fmt.Errorf(strings.TrimPrefix(e.Error(), "IMPORTANT!"))) + } + } + strippedWarnings := []error{} + for _, e := range r.Warnings { + if strings.HasPrefix(e.Error(), "IMPORTANT!") { + strippedWarnings = append(strippedWarnings, fmt.Errorf(strings.TrimPrefix(e.Error(), "IMPORTANT!"))) + } + } + strippedResult := new(Result) + strippedResult.Errors = strippedErrors + strippedResult.Warnings = strippedWarnings + return strippedResult +} + +// IsValid returns true when this result is valid. +// +// Returns true on a nil *Result. +func (r *Result) IsValid() bool { + if r == nil { + return true + } + return len(r.Errors) == 0 +} + +// HasErrors returns true when this result is invalid. +// +// Returns false on a nil *Result. +func (r *Result) HasErrors() bool { + if r == nil { + return false + } + return !r.IsValid() +} + +// HasWarnings returns true when this result contains warnings. +// +// Returns false on a nil *Result. +func (r *Result) HasWarnings() bool { + if r == nil { + return false + } + return len(r.Warnings) > 0 +} + +// HasErrorsOrWarnings returns true when this result contains +// either errors or warnings. +// +// Returns false on a nil *Result. +func (r *Result) HasErrorsOrWarnings() bool { + if r == nil { + return false + } + return len(r.Errors) > 0 || len(r.Warnings) > 0 +} + +// Inc increments the match count +func (r *Result) Inc() { + r.MatchCount++ +} + +// AsError renders this result as an error interface +// +// TODO: reporting / pretty print with path ordered and indented +func (r *Result) AsError() error { + if r.IsValid() { + return nil + } + return errors.CompositeValidationError(r.Errors...) +} + +// schemata is an arbitrary number of schemata. It does a distinction between zero, +// one and many schemata to avoid slice allocations. +type schemata struct { + // one is set if there is exactly one schema. In that case multiple must be nil. + one *spec.Schema + // multiple is an arbitrary number of schemas. If it is set, one must be nil. + multiple []*spec.Schema +} + +func (s *schemata) Len() int { + if s.one != nil { + return 1 + } + return len(s.multiple) +} + +func (s *schemata) Slice() []*spec.Schema { + if s == nil { + return nil + } + if s.one != nil { + return []*spec.Schema{s.one} + } + return s.multiple +} + +// appendSchemata appends the schemata in other to s. It mutated s in-place. +func (s *schemata) Append(other schemata) { + if other.one == nil && len(other.multiple) == 0 { + return + } + if s.one == nil && len(s.multiple) == 0 { + *s = other + return + } + + if s.one != nil { + if other.one != nil { + s.multiple = []*spec.Schema{s.one, other.one} + } else { + t := make([]*spec.Schema, 0, 1+len(other.multiple)) + s.multiple = append(append(t, s.one), other.multiple...) + } + s.one = nil + } else { + if other.one != nil { + s.multiple = append(s.multiple, other.one) + } else { + if cap(s.multiple) >= len(s.multiple)+len(other.multiple) { + s.multiple = append(s.multiple, other.multiple...) + } else { + t := make([]*spec.Schema, 0, len(s.multiple)+len(other.multiple)) + s.multiple = append(append(t, s.multiple...), other.multiple...) + } + } + } +} diff --git a/vendor/github.com/go-openapi/validate/rexp.go b/vendor/github.com/go-openapi/validate/rexp.go new file mode 100644 index 00000000000..5a0824395c7 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/rexp.go @@ -0,0 +1,71 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import ( + re "regexp" + "sync" + "sync/atomic" +) + +// Cache for compiled regular expressions +var ( + cacheMutex = &sync.Mutex{} + reDict = atomic.Value{} //map[string]*re.Regexp +) + +func compileRegexp(pattern string) (*re.Regexp, error) { + if cache, ok := reDict.Load().(map[string]*re.Regexp); ok { + if r := cache[pattern]; r != nil { + return r, nil + } + } + + r, err := re.Compile(pattern) + if err != nil { + return nil, err + } + cacheRegexp(r) + return r, nil +} + +func mustCompileRegexp(pattern string) *re.Regexp { + if cache, ok := reDict.Load().(map[string]*re.Regexp); ok { + if r := cache[pattern]; r != nil { + return r + } + } + + r := re.MustCompile(pattern) + cacheRegexp(r) + return r +} + +func cacheRegexp(r *re.Regexp) { + cacheMutex.Lock() + defer cacheMutex.Unlock() + + if cache, ok := reDict.Load().(map[string]*re.Regexp); !ok || cache[r.String()] == nil { + newCache := map[string]*re.Regexp{ + r.String(): r, + } + + for k, v := range cache { + newCache[k] = v + } + + reDict.Store(newCache) + } +} diff --git a/vendor/github.com/go-openapi/validate/schema.go b/vendor/github.com/go-openapi/validate/schema.go new file mode 100644 index 00000000000..9bf8f2eb78d --- /dev/null +++ b/vendor/github.com/go-openapi/validate/schema.go @@ -0,0 +1,253 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import ( + "encoding/json" + "reflect" + + "github.com/go-openapi/errors" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +var ( + specSchemaType = reflect.TypeOf(&spec.Schema{}) + specParameterType = reflect.TypeOf(&spec.Parameter{}) + specItemsType = reflect.TypeOf(&spec.Items{}) + specHeaderType = reflect.TypeOf(&spec.Header{}) +) + +// SchemaValidator validates data against a JSON schema +type SchemaValidator struct { + Path string + in string + Schema *spec.Schema + validators []valueValidator + Root interface{} + KnownFormats strfmt.Registry + Options *SchemaValidatorOptions +} + +// AgainstSchema validates the specified data against the provided schema, using a registry of supported formats. +// +// When no pre-parsed *spec.Schema structure is provided, it uses a JSON schema as default. See example. +func AgainstSchema(schema *spec.Schema, data interface{}, formats strfmt.Registry) error { + res := NewSchemaValidator(schema, nil, "", formats).Validate(data) + if res.HasErrors() { + return errors.CompositeValidationError(res.Errors...) + } + return nil +} + +// NewSchemaValidator creates a new schema validator. +// +// Panics if the provided schema is invalid. +func NewSchemaValidator(schema *spec.Schema, rootSchema interface{}, root string, formats strfmt.Registry, options ...Option) *SchemaValidator { + if schema == nil { + return nil + } + + if rootSchema == nil { + rootSchema = schema + } + + if schema.ID != "" || schema.Ref.String() != "" || schema.Ref.IsRoot() { + err := spec.ExpandSchema(schema, rootSchema, nil) + if err != nil { + msg := invalidSchemaProvidedMsg(err).Error() + panic(msg) + } + } + s := SchemaValidator{Path: root, in: "body", Schema: schema, Root: rootSchema, KnownFormats: formats, Options: &SchemaValidatorOptions{}} + for _, o := range options { + o(s.Options) + } + s.validators = []valueValidator{ + s.typeValidator(), + s.schemaPropsValidator(), + s.stringValidator(), + s.formatValidator(), + s.numberValidator(), + s.sliceValidator(), + s.commonValidator(), + s.objectValidator(), + } + return &s +} + +// SetPath sets the path for this schema valdiator +func (s *SchemaValidator) SetPath(path string) { + s.Path = path +} + +// Applies returns true when this schema validator applies +func (s *SchemaValidator) Applies(source interface{}, kind reflect.Kind) bool { + _, ok := source.(*spec.Schema) + return ok +} + +// Validate validates the data against the schema +func (s *SchemaValidator) Validate(data interface{}) *Result { + result := &Result{data: data} + if s == nil { + return result + } + if s.Schema != nil { + result.addRootObjectSchemata(s.Schema) + } + + if data == nil { + result.Merge(s.validators[0].Validate(data)) // type validator + result.Merge(s.validators[6].Validate(data)) // common validator + return result + } + + tpe := reflect.TypeOf(data) + kind := tpe.Kind() + for kind == reflect.Ptr { + tpe = tpe.Elem() + kind = tpe.Kind() + } + d := data + + if kind == reflect.Struct { + // NOTE: since reflect retrieves the true nature of types + // this means that all strfmt types passed here (e.g. strfmt.Datetime, etc..) + // are converted here to strings, and structs are systematically converted + // to map[string]interface{}. + d = swag.ToDynamicJSON(data) + } + + // TODO: this part should be handed over to type validator + // Handle special case of json.Number data (number marshalled as string) + isnumber := s.Schema.Type.Contains("number") || s.Schema.Type.Contains("integer") + if num, ok := data.(json.Number); ok && isnumber { + if s.Schema.Type.Contains("integer") { // avoid lossy conversion + in, erri := num.Int64() + if erri != nil { + result.AddErrors(invalidTypeConversionMsg(s.Path, erri)) + result.Inc() + return result + } + d = in + } else { + nf, errf := num.Float64() + if errf != nil { + result.AddErrors(invalidTypeConversionMsg(s.Path, errf)) + result.Inc() + return result + } + d = nf + } + + tpe = reflect.TypeOf(d) + kind = tpe.Kind() + } + + for _, v := range s.validators { + if !v.Applies(s.Schema, kind) { + debugLog("%T does not apply for %v", v, kind) + continue + } + + err := v.Validate(d) + result.Merge(err) + result.Inc() + } + result.Inc() + + return result +} + +func (s *SchemaValidator) typeValidator() valueValidator { + return &typeValidator{Type: s.Schema.Type, Nullable: s.Schema.Nullable, Format: s.Schema.Format, In: s.in, Path: s.Path} +} + +func (s *SchemaValidator) commonValidator() valueValidator { + return &basicCommonValidator{ + Path: s.Path, + In: s.in, + Enum: s.Schema.Enum, + } +} + +func (s *SchemaValidator) sliceValidator() valueValidator { + return &schemaSliceValidator{ + Path: s.Path, + In: s.in, + MaxItems: s.Schema.MaxItems, + MinItems: s.Schema.MinItems, + UniqueItems: s.Schema.UniqueItems, + AdditionalItems: s.Schema.AdditionalItems, + Items: s.Schema.Items, + Root: s.Root, + KnownFormats: s.KnownFormats, + } +} + +func (s *SchemaValidator) numberValidator() valueValidator { + return &numberValidator{ + Path: s.Path, + In: s.in, + Default: s.Schema.Default, + MultipleOf: s.Schema.MultipleOf, + Maximum: s.Schema.Maximum, + ExclusiveMaximum: s.Schema.ExclusiveMaximum, + Minimum: s.Schema.Minimum, + ExclusiveMinimum: s.Schema.ExclusiveMinimum, + } +} + +func (s *SchemaValidator) stringValidator() valueValidator { + return &stringValidator{ + Path: s.Path, + In: s.in, + MaxLength: s.Schema.MaxLength, + MinLength: s.Schema.MinLength, + Pattern: s.Schema.Pattern, + } +} + +func (s *SchemaValidator) formatValidator() valueValidator { + return &formatValidator{ + Path: s.Path, + In: s.in, + Format: s.Schema.Format, + KnownFormats: s.KnownFormats, + } +} + +func (s *SchemaValidator) schemaPropsValidator() valueValidator { + sch := s.Schema + return newSchemaPropsValidator(s.Path, s.in, sch.AllOf, sch.OneOf, sch.AnyOf, sch.Not, sch.Dependencies, s.Root, s.KnownFormats, s.Options.Options()...) +} + +func (s *SchemaValidator) objectValidator() valueValidator { + return &objectValidator{ + Path: s.Path, + In: s.in, + MaxProperties: s.Schema.MaxProperties, + MinProperties: s.Schema.MinProperties, + Required: s.Schema.Required, + Properties: s.Schema.Properties, + AdditionalProperties: s.Schema.AdditionalProperties, + PatternProperties: s.Schema.PatternProperties, + Root: s.Root, + KnownFormats: s.KnownFormats, + Options: *s.Options, + } +} diff --git a/vendor/github.com/go-openapi/validate/schema_messages.go b/vendor/github.com/go-openapi/validate/schema_messages.go new file mode 100644 index 00000000000..786e2e3554e --- /dev/null +++ b/vendor/github.com/go-openapi/validate/schema_messages.go @@ -0,0 +1,78 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import ( + "github.com/go-openapi/errors" +) + +// Error messages related to schema validation and returned as results. +const ( + // ArrayDoesNotAllowAdditionalItemsError when an additionalItems construct is not verified by the array values provided. + // + // TODO: should move to package go-openapi/errors + ArrayDoesNotAllowAdditionalItemsError = "array doesn't allow for additional items" + + // HasDependencyError indicates that a dependencies construct was not verified + HasDependencyError = "%q has a dependency on %s" + + // InvalidSchemaProvidedError indicates that the schema provided to validate a value cannot be properly compiled + InvalidSchemaProvidedError = "Invalid schema provided to SchemaValidator: %v" + + // InvalidTypeConversionError indicates that a numerical conversion for the given type could not be carried on + InvalidTypeConversionError = "invalid type conversion in %s: %v " + + // MustValidateAtLeastOneSchemaError indicates that in a AnyOf construct, none of the schema constraints specified were verified + MustValidateAtLeastOneSchemaError = "%q must validate at least one schema (anyOf)" + + // MustValidateOnlyOneSchemaError indicates that in a OneOf construct, either none of the schema constraints specified were verified, or several were + MustValidateOnlyOneSchemaError = "%q must validate one and only one schema (oneOf). %s" + + // MustValidateAllSchemasError indicates that in a AllOf construct, at least one of the schema constraints specified were not verified + // + // TODO: punctuation in message + MustValidateAllSchemasError = "%q must validate all the schemas (allOf)%s" + + // MustNotValidateSchemaError indicates that in a Not construct, the schema constraint specified was verified + MustNotValidateSchemaError = "%q must not validate the schema (not)" +) + +// Warning messages related to schema validation and returned as results +const () + +func invalidSchemaProvidedMsg(err error) errors.Error { + return errors.New(InternalErrorCode, InvalidSchemaProvidedError, err) +} +func invalidTypeConversionMsg(path string, err error) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidTypeConversionError, path, err) +} +func mustValidateOnlyOneSchemaMsg(path, additionalMsg string) errors.Error { + return errors.New(errors.CompositeErrorCode, MustValidateOnlyOneSchemaError, path, additionalMsg) +} +func mustValidateAtLeastOneSchemaMsg(path string) errors.Error { + return errors.New(errors.CompositeErrorCode, MustValidateAtLeastOneSchemaError, path) +} +func mustValidateAllSchemasMsg(path, additionalMsg string) errors.Error { + return errors.New(errors.CompositeErrorCode, MustValidateAllSchemasError, path, additionalMsg) +} +func mustNotValidatechemaMsg(path string) errors.Error { + return errors.New(errors.CompositeErrorCode, MustNotValidateSchemaError, path) +} +func hasADependencyMsg(path, depkey string) errors.Error { + return errors.New(errors.CompositeErrorCode, HasDependencyError, path, depkey) +} +func arrayDoesNotAllowAdditionalItemsMsg() errors.Error { + return errors.New(errors.CompositeErrorCode, ArrayDoesNotAllowAdditionalItemsError) +} diff --git a/vendor/github.com/go-openapi/validate/schema_option.go b/vendor/github.com/go-openapi/validate/schema_option.go new file mode 100644 index 00000000000..f328b56b855 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/schema_option.go @@ -0,0 +1,33 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +type SchemaValidatorOptions struct { + DisableObjectArrayTypeCheck bool +} + +type Option func(*SchemaValidatorOptions) + +func DisableObjectArrayTypeCheck(disable bool) Option { + return func(svo *SchemaValidatorOptions) { + svo.DisableObjectArrayTypeCheck = disable + } +} + +func (svo SchemaValidatorOptions) Options() []Option { + return []Option{ + DisableObjectArrayTypeCheck(svo.DisableObjectArrayTypeCheck), + } +} diff --git a/vendor/github.com/go-openapi/validate/schema_props.go b/vendor/github.com/go-openapi/validate/schema_props.go new file mode 100644 index 00000000000..5643c783cdd --- /dev/null +++ b/vendor/github.com/go-openapi/validate/schema_props.go @@ -0,0 +1,240 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import ( + "fmt" + "reflect" + + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" +) + +type schemaPropsValidator struct { + Path string + In string + AllOf []spec.Schema + OneOf []spec.Schema + AnyOf []spec.Schema + Not *spec.Schema + Dependencies spec.Dependencies + anyOfValidators []SchemaValidator + allOfValidators []SchemaValidator + oneOfValidators []SchemaValidator + notValidator *SchemaValidator + Root interface{} + KnownFormats strfmt.Registry + Options SchemaValidatorOptions +} + +func (s *schemaPropsValidator) SetPath(path string) { + s.Path = path +} + +func newSchemaPropsValidator(path string, in string, allOf, oneOf, anyOf []spec.Schema, not *spec.Schema, deps spec.Dependencies, root interface{}, formats strfmt.Registry, options ...Option) *schemaPropsValidator { + anyValidators := make([]SchemaValidator, 0, len(anyOf)) + for _, v := range anyOf { + v := v + anyValidators = append(anyValidators, *NewSchemaValidator(&v, root, path, formats, options...)) + } + allValidators := make([]SchemaValidator, 0, len(allOf)) + for _, v := range allOf { + v := v + allValidators = append(allValidators, *NewSchemaValidator(&v, root, path, formats, options...)) + } + oneValidators := make([]SchemaValidator, 0, len(oneOf)) + for _, v := range oneOf { + v := v + oneValidators = append(oneValidators, *NewSchemaValidator(&v, root, path, formats, options...)) + } + + var notValidator *SchemaValidator + if not != nil { + notValidator = NewSchemaValidator(not, root, path, formats, options...) + } + + schOptions := &SchemaValidatorOptions{} + for _, o := range options { + o(schOptions) + } + return &schemaPropsValidator{ + Path: path, + In: in, + AllOf: allOf, + OneOf: oneOf, + AnyOf: anyOf, + Not: not, + Dependencies: deps, + anyOfValidators: anyValidators, + allOfValidators: allValidators, + oneOfValidators: oneValidators, + notValidator: notValidator, + Root: root, + KnownFormats: formats, + Options: *schOptions, + } +} + +func (s *schemaPropsValidator) Applies(source interface{}, kind reflect.Kind) bool { + r := reflect.TypeOf(source) == specSchemaType + debugLog("schema props validator for %q applies %t for %T (kind: %v)\n", s.Path, r, source, kind) + return r +} + +func (s *schemaPropsValidator) Validate(data interface{}) *Result { + mainResult := new(Result) + + // Intermediary error results + + // IMPORTANT! messages from underlying validators + keepResultAnyOf := new(Result) + keepResultOneOf := new(Result) + keepResultAllOf := new(Result) + + // Validates at least one in anyOf schemas + var firstSuccess *Result + if len(s.anyOfValidators) > 0 { + var bestFailures *Result + succeededOnce := false + for _, anyOfSchema := range s.anyOfValidators { + result := anyOfSchema.Validate(data) + // We keep inner IMPORTANT! errors no matter what MatchCount tells us + keepResultAnyOf.Merge(result.keepRelevantErrors()) + if result.IsValid() { + bestFailures = nil + succeededOnce = true + if firstSuccess == nil { + firstSuccess = result + } + keepResultAnyOf = new(Result) + break + } + // MatchCount is used to select errors from the schema with most positive checks + if bestFailures == nil || result.MatchCount > bestFailures.MatchCount { + bestFailures = result + } + } + + if !succeededOnce { + mainResult.AddErrors(mustValidateAtLeastOneSchemaMsg(s.Path)) + } + if bestFailures != nil { + mainResult.Merge(bestFailures) + } else if firstSuccess != nil { + mainResult.Merge(firstSuccess) + } + } + + // Validates exactly one in oneOf schemas + if len(s.oneOfValidators) > 0 { + var bestFailures *Result + var firstSuccess *Result + validated := 0 + + for _, oneOfSchema := range s.oneOfValidators { + result := oneOfSchema.Validate(data) + // We keep inner IMPORTANT! errors no matter what MatchCount tells us + keepResultOneOf.Merge(result.keepRelevantErrors()) + if result.IsValid() { + validated++ + bestFailures = nil + if firstSuccess == nil { + firstSuccess = result + } + keepResultOneOf = new(Result) + continue + } + // MatchCount is used to select errors from the schema with most positive checks + if validated == 0 && (bestFailures == nil || result.MatchCount > bestFailures.MatchCount) { + bestFailures = result + } + } + + if validated != 1 { + additionalMsg := "" + if validated == 0 { + additionalMsg = "Found none valid" + } else { + additionalMsg = fmt.Sprintf("Found %d valid alternatives", validated) + } + + mainResult.AddErrors(mustValidateOnlyOneSchemaMsg(s.Path, additionalMsg)) + if bestFailures != nil { + mainResult.Merge(bestFailures) + } + } else if firstSuccess != nil { + mainResult.Merge(firstSuccess) + } + } + + // Validates all of allOf schemas + if len(s.allOfValidators) > 0 { + validated := 0 + + for _, allOfSchema := range s.allOfValidators { + result := allOfSchema.Validate(data) + // We keep inner IMPORTANT! errors no matter what MatchCount tells us + keepResultAllOf.Merge(result.keepRelevantErrors()) + //keepResultAllOf.Merge(result) + if result.IsValid() { + validated++ + } + mainResult.Merge(result) + } + + if validated != len(s.allOfValidators) { + additionalMsg := "" + if validated == 0 { + additionalMsg = ". None validated" + } + + mainResult.AddErrors(mustValidateAllSchemasMsg(s.Path, additionalMsg)) + } + } + + if s.notValidator != nil { + result := s.notValidator.Validate(data) + // We keep inner IMPORTANT! errors no matter what MatchCount tells us + if result.IsValid() { + mainResult.AddErrors(mustNotValidatechemaMsg(s.Path)) + } + } + + if s.Dependencies != nil && len(s.Dependencies) > 0 && reflect.TypeOf(data).Kind() == reflect.Map { + val := data.(map[string]interface{}) + for key := range val { + if dep, ok := s.Dependencies[key]; ok { + + if dep.Schema != nil { + mainResult.Merge(NewSchemaValidator(dep.Schema, s.Root, s.Path+"."+key, s.KnownFormats, s.Options.Options()...).Validate(data)) + continue + } + + if len(dep.Property) > 0 { + for _, depKey := range dep.Property { + if _, ok := val[depKey]; !ok { + mainResult.AddErrors(hasADependencyMsg(s.Path, depKey)) + } + } + } + } + } + } + + mainResult.Inc() + // In the end we retain best failures for schema validation + // plus, if any, composite errors which may explain special cases (tagged as IMPORTANT!). + return mainResult.Merge(keepResultAllOf, keepResultOneOf, keepResultAnyOf) +} diff --git a/vendor/github.com/go-openapi/validate/slice_validator.go b/vendor/github.com/go-openapi/validate/slice_validator.go new file mode 100644 index 00000000000..6e615946b64 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/slice_validator.go @@ -0,0 +1,104 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import ( + "fmt" + "reflect" + + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" +) + +type schemaSliceValidator struct { + Path string + In string + MaxItems *int64 + MinItems *int64 + UniqueItems bool + AdditionalItems *spec.SchemaOrBool + Items *spec.SchemaOrArray + Root interface{} + KnownFormats strfmt.Registry +} + +func (s *schemaSliceValidator) SetPath(path string) { + s.Path = path +} + +func (s *schemaSliceValidator) Applies(source interface{}, kind reflect.Kind) bool { + _, ok := source.(*spec.Schema) + r := ok && kind == reflect.Slice + return r +} + +func (s *schemaSliceValidator) Validate(data interface{}) *Result { + result := new(Result) + if data == nil { + return result + } + val := reflect.ValueOf(data) + size := val.Len() + + if s.Items != nil && s.Items.Schema != nil { + validator := NewSchemaValidator(s.Items.Schema, s.Root, s.Path, s.KnownFormats) + for i := 0; i < size; i++ { + validator.SetPath(fmt.Sprintf("%s.%d", s.Path, i)) + value := val.Index(i) + result.mergeForSlice(val, i, validator.Validate(value.Interface())) + } + } + + itemsSize := 0 + if s.Items != nil && len(s.Items.Schemas) > 0 { + itemsSize = len(s.Items.Schemas) + for i := 0; i < itemsSize; i++ { + validator := NewSchemaValidator(&s.Items.Schemas[i], s.Root, fmt.Sprintf("%s.%d", s.Path, i), s.KnownFormats) + if val.Len() <= i { + break + } + result.mergeForSlice(val, int(i), validator.Validate(val.Index(i).Interface())) + } + } + if s.AdditionalItems != nil && itemsSize < size { + if s.Items != nil && len(s.Items.Schemas) > 0 && !s.AdditionalItems.Allows { + result.AddErrors(arrayDoesNotAllowAdditionalItemsMsg()) + } + if s.AdditionalItems.Schema != nil { + for i := itemsSize; i < size-itemsSize+1; i++ { + validator := NewSchemaValidator(s.AdditionalItems.Schema, s.Root, fmt.Sprintf("%s.%d", s.Path, i), s.KnownFormats) + result.mergeForSlice(val, int(i), validator.Validate(val.Index(int(i)).Interface())) + } + } + } + + if s.MinItems != nil { + if err := MinItems(s.Path, s.In, int64(size), *s.MinItems); err != nil { + result.AddErrors(err) + } + } + if s.MaxItems != nil { + if err := MaxItems(s.Path, s.In, int64(size), *s.MaxItems); err != nil { + result.AddErrors(err) + } + } + if s.UniqueItems { + if err := UniqueItems(s.Path, s.In, val.Interface()); err != nil { + result.AddErrors(err) + } + } + result.Inc() + return result +} diff --git a/vendor/github.com/go-openapi/validate/spec.go b/vendor/github.com/go-openapi/validate/spec.go new file mode 100644 index 00000000000..08ccd22feff --- /dev/null +++ b/vendor/github.com/go-openapi/validate/spec.go @@ -0,0 +1,777 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import ( + "encoding/json" + "fmt" + "sort" + "strings" + + "github.com/go-openapi/analysis" + "github.com/go-openapi/errors" + "github.com/go-openapi/jsonpointer" + "github.com/go-openapi/loads" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" +) + +// Spec validates an OpenAPI 2.0 specification document. +// +// Returns an error flattening in a single standard error, all validation messages. +// +// - TODO: $ref should not have siblings +// - TODO: make sure documentation reflects all checks and warnings +// - TODO: check on discriminators +// - TODO: explicit message on unsupported keywords (better than "forbidden property"...) +// - TODO: full list of unresolved refs +// - TODO: validate numeric constraints (issue#581): this should be handled like defaults and examples +// - TODO: option to determine if we validate for go-swagger or in a more general context +// - TODO: check on required properties to support anyOf, allOf, oneOf +// +// NOTE: SecurityScopes are maps: no need to check uniqueness +// +func Spec(doc *loads.Document, formats strfmt.Registry) error { + errs, _ /*warns*/ := NewSpecValidator(doc.Schema(), formats).Validate(doc) + if errs.HasErrors() { + return errors.CompositeValidationError(errs.Errors...) + } + return nil +} + +// SpecValidator validates a swagger 2.0 spec +type SpecValidator struct { + schema *spec.Schema // swagger 2.0 schema + spec *loads.Document + analyzer *analysis.Spec + expanded *loads.Document + KnownFormats strfmt.Registry + Options Opts // validation options +} + +// NewSpecValidator creates a new swagger spec validator instance +func NewSpecValidator(schema *spec.Schema, formats strfmt.Registry) *SpecValidator { + return &SpecValidator{ + schema: schema, + KnownFormats: formats, + Options: defaultOpts, + } +} + +// Validate validates the swagger spec +func (s *SpecValidator) Validate(data interface{}) (errs *Result, warnings *Result) { + var sd *loads.Document + errs = new(Result) + + switch v := data.(type) { + case *loads.Document: + sd = v + } + if sd == nil { + errs.AddErrors(invalidDocumentMsg()) + return + } + s.spec = sd + s.analyzer = analysis.New(sd.Spec()) + + warnings = new(Result) + + // Swagger schema validator + schv := NewSchemaValidator(s.schema, nil, "", s.KnownFormats) + var obj interface{} + + // Raw spec unmarshalling errors + if err := json.Unmarshal(sd.Raw(), &obj); err != nil { + // NOTE: under normal conditions, the *load.Document has been already unmarshalled + // So this one is just a paranoid check on the behavior of the spec package + panic(InvalidDocumentError) + } + + defer func() { + // errs holds all errors and warnings, + // warnings only warnings + errs.MergeAsWarnings(warnings) + warnings.AddErrors(errs.Warnings...) + }() + + errs.Merge(schv.Validate(obj)) // error - + // There may be a point in continuing to try and determine more accurate errors + if !s.Options.ContinueOnErrors && errs.HasErrors() { + return // no point in continuing + } + + errs.Merge(s.validateReferencesValid()) // error - + // There may be a point in continuing to try and determine more accurate errors + if !s.Options.ContinueOnErrors && errs.HasErrors() { + return // no point in continuing + } + + errs.Merge(s.validateDuplicateOperationIDs()) + errs.Merge(s.validateDuplicatePropertyNames()) // error - + errs.Merge(s.validateParameters()) // error - + errs.Merge(s.validateItems()) // error - + + // Properties in required definition MUST validate their schema + // Properties SHOULD NOT be declared as both required and readOnly (warning) + errs.Merge(s.validateRequiredDefinitions()) // error and warning + + // There may be a point in continuing to try and determine more accurate errors + if !s.Options.ContinueOnErrors && errs.HasErrors() { + return // no point in continuing + } + + // Values provided as default MUST validate their schema + df := &defaultValidator{SpecValidator: s} + errs.Merge(df.Validate()) + + // Values provided as examples MUST validate their schema + // Value provided as examples in a response without schema generate a warning + // Known limitations: examples in responses for mime type not application/json are ignored (warning) + ex := &exampleValidator{SpecValidator: s} + errs.Merge(ex.Validate()) + + errs.Merge(s.validateNonEmptyPathParamNames()) + + //errs.Merge(s.validateRefNoSibling()) // warning only + errs.Merge(s.validateReferenced()) // warning only + + return +} + +func (s *SpecValidator) validateNonEmptyPathParamNames() *Result { + res := new(Result) + if s.spec.Spec().Paths == nil { + // There is no Paths object: error + res.AddErrors(noValidPathMsg()) + } else { + if s.spec.Spec().Paths.Paths == nil { + // Paths may be empty: warning + res.AddWarnings(noValidPathMsg()) + } else { + for k := range s.spec.Spec().Paths.Paths { + if strings.Contains(k, "{}") { + res.AddErrors(emptyPathParameterMsg(k)) + } + } + } + } + return res +} + +func (s *SpecValidator) validateDuplicateOperationIDs() *Result { + // OperationID, if specified, must be unique across the board + res := new(Result) + known := make(map[string]int) + for _, v := range s.analyzer.OperationIDs() { + if v != "" { + known[v]++ + } + } + for k, v := range known { + if v > 1 { + res.AddErrors(nonUniqueOperationIDMsg(k, v)) + } + } + return res +} + +type dupProp struct { + Name string + Definition string +} + +func (s *SpecValidator) validateDuplicatePropertyNames() *Result { + // definition can't declare a property that's already defined by one of its ancestors + res := new(Result) + for k, sch := range s.spec.Spec().Definitions { + if len(sch.AllOf) == 0 { + continue + } + + knownanc := map[string]struct{}{ + "#/definitions/" + k: {}, + } + + ancs, rec := s.validateCircularAncestry(k, sch, knownanc) + if rec != nil && (rec.HasErrors() || !rec.HasWarnings()) { + res.Merge(rec) + } + if len(ancs) > 0 { + res.AddErrors(circularAncestryDefinitionMsg(k, ancs)) + return res + } + + knowns := make(map[string]struct{}) + dups, rep := s.validateSchemaPropertyNames(k, sch, knowns) + if rep != nil && (rep.HasErrors() || rep.HasWarnings()) { + res.Merge(rep) + } + if len(dups) > 0 { + var pns []string + for _, v := range dups { + pns = append(pns, v.Definition+"."+v.Name) + } + res.AddErrors(duplicatePropertiesMsg(k, pns)) + } + + } + return res +} + +func (s *SpecValidator) resolveRef(ref *spec.Ref) (*spec.Schema, error) { + if s.spec.SpecFilePath() != "" { + return spec.ResolveRefWithBase(s.spec.Spec(), ref, &spec.ExpandOptions{RelativeBase: s.spec.SpecFilePath()}) + } + // NOTE: it looks like with the new spec resolver, this code is now unrecheable + return spec.ResolveRef(s.spec.Spec(), ref) +} + +func (s *SpecValidator) validateSchemaPropertyNames(nm string, sch spec.Schema, knowns map[string]struct{}) ([]dupProp, *Result) { + var dups []dupProp + + schn := nm + schc := &sch + res := new(Result) + + for schc.Ref.String() != "" { + // gather property names + reso, err := s.resolveRef(&schc.Ref) + if err != nil { + errorHelp.addPointerError(res, err, schc.Ref.String(), nm) + return dups, res + } + schc = reso + schn = sch.Ref.String() + } + + if len(schc.AllOf) > 0 { + for _, chld := range schc.AllOf { + dup, rep := s.validateSchemaPropertyNames(schn, chld, knowns) + if rep != nil && (rep.HasErrors() || rep.HasWarnings()) { + res.Merge(rep) + } + dups = append(dups, dup...) + } + return dups, res + } + + for k := range schc.Properties { + _, ok := knowns[k] + if ok { + dups = append(dups, dupProp{Name: k, Definition: schn}) + } else { + knowns[k] = struct{}{} + } + } + + return dups, res +} + +func (s *SpecValidator) validateCircularAncestry(nm string, sch spec.Schema, knowns map[string]struct{}) ([]string, *Result) { + res := new(Result) + + if sch.Ref.String() == "" && len(sch.AllOf) == 0 { // Safeguard. We should not be able to actually get there + return nil, res + } + var ancs []string + + schn := nm + schc := &sch + + for schc.Ref.String() != "" { + reso, err := s.resolveRef(&schc.Ref) + if err != nil { + errorHelp.addPointerError(res, err, schc.Ref.String(), nm) + return ancs, res + } + schc = reso + schn = sch.Ref.String() + } + + if schn != nm && schn != "" { + if _, ok := knowns[schn]; ok { + ancs = append(ancs, schn) + } + knowns[schn] = struct{}{} + + if len(ancs) > 0 { + return ancs, res + } + } + + if len(schc.AllOf) > 0 { + for _, chld := range schc.AllOf { + if chld.Ref.String() != "" || len(chld.AllOf) > 0 { + anc, rec := s.validateCircularAncestry(schn, chld, knowns) + if rec != nil && (rec.HasErrors() || !rec.HasWarnings()) { + res.Merge(rec) + } + ancs = append(ancs, anc...) + if len(ancs) > 0 { + return ancs, res + } + } + } + } + return ancs, res +} + +func (s *SpecValidator) validateItems() *Result { + // validate parameter, items, schema and response objects for presence of item if type is array + res := new(Result) + + for method, pi := range s.analyzer.Operations() { + for path, op := range pi { + for _, param := range paramHelp.safeExpandedParamsFor(path, method, op.ID, res, s) { + + if param.TypeName() == "array" && param.ItemsTypeName() == "" { + res.AddErrors(arrayInParamRequiresItemsMsg(param.Name, op.ID)) + continue + } + if param.In != "body" { + if param.Items != nil { + items := param.Items + for items.TypeName() == "array" { + if items.ItemsTypeName() == "" { + res.AddErrors(arrayInParamRequiresItemsMsg(param.Name, op.ID)) + break + } + items = items.Items + } + } + } else { + // In: body + if param.Schema != nil { + res.Merge(s.validateSchemaItems(*param.Schema, fmt.Sprintf("body param %q", param.Name), op.ID)) + } + } + } + + var responses []spec.Response + if op.Responses != nil { + if op.Responses.Default != nil { + responses = append(responses, *op.Responses.Default) + } + if op.Responses.StatusCodeResponses != nil { + for _, v := range op.Responses.StatusCodeResponses { + responses = append(responses, v) + } + } + } + + for _, resp := range responses { + // Response headers with array + for hn, hv := range resp.Headers { + if hv.TypeName() == "array" && hv.ItemsTypeName() == "" { + res.AddErrors(arrayInHeaderRequiresItemsMsg(hn, op.ID)) + } + } + if resp.Schema != nil { + res.Merge(s.validateSchemaItems(*resp.Schema, "response body", op.ID)) + } + } + } + } + return res +} + +// Verifies constraints on array type +func (s *SpecValidator) validateSchemaItems(schema spec.Schema, prefix, opID string) *Result { + res := new(Result) + if !schema.Type.Contains("array") { + return res + } + + if schema.Items == nil || schema.Items.Len() == 0 { + res.AddErrors(arrayRequiresItemsMsg(prefix, opID)) + return res + } + + if schema.Items.Schema != nil { + schema = *schema.Items.Schema + if _, err := compileRegexp(schema.Pattern); err != nil { + res.AddErrors(invalidItemsPatternMsg(prefix, opID, schema.Pattern)) + } + + res.Merge(s.validateSchemaItems(schema, prefix, opID)) + } + return res +} + +func (s *SpecValidator) validatePathParamPresence(path string, fromPath, fromOperation []string) *Result { + // Each defined operation path parameters must correspond to a named element in the API's path pattern. + // (For example, you cannot have a path parameter named id for the following path /pets/{petId} but you must have a path parameter named petId.) + res := new(Result) + for _, l := range fromPath { + var matched bool + for _, r := range fromOperation { + if l == "{"+r+"}" { + matched = true + break + } + } + if !matched { + res.AddErrors(noParameterInPathMsg(l)) + } + } + + for _, p := range fromOperation { + var matched bool + for _, r := range fromPath { + if "{"+p+"}" == r { + matched = true + break + } + } + if !matched { + res.AddErrors(pathParamNotInPathMsg(path, p)) + } + } + + return res +} + +func (s *SpecValidator) validateReferenced() *Result { + var res Result + res.MergeAsWarnings(s.validateReferencedParameters()) + res.MergeAsWarnings(s.validateReferencedResponses()) + res.MergeAsWarnings(s.validateReferencedDefinitions()) + return &res +} + +func (s *SpecValidator) validateReferencedParameters() *Result { + // Each referenceable definition should have references. + params := s.spec.Spec().Parameters + if len(params) == 0 { + return nil + } + + expected := make(map[string]struct{}) + for k := range params { + expected["#/parameters/"+jsonpointer.Escape(k)] = struct{}{} + } + for _, k := range s.analyzer.AllParameterReferences() { + if _, ok := expected[k]; ok { + delete(expected, k) + } + } + + if len(expected) == 0 { + return nil + } + result := new(Result) + for k := range expected { + result.AddWarnings(unusedParamMsg(k)) + } + return result +} + +func (s *SpecValidator) validateReferencedResponses() *Result { + // Each referenceable definition should have references. + responses := s.spec.Spec().Responses + if len(responses) == 0 { + return nil + } + + expected := make(map[string]struct{}) + for k := range responses { + expected["#/responses/"+jsonpointer.Escape(k)] = struct{}{} + } + for _, k := range s.analyzer.AllResponseReferences() { + if _, ok := expected[k]; ok { + delete(expected, k) + } + } + + if len(expected) == 0 { + return nil + } + result := new(Result) + for k := range expected { + result.AddWarnings(unusedResponseMsg(k)) + } + return result +} + +func (s *SpecValidator) validateReferencedDefinitions() *Result { + // Each referenceable definition must have references. + defs := s.spec.Spec().Definitions + if len(defs) == 0 { + return nil + } + + expected := make(map[string]struct{}) + for k := range defs { + expected["#/definitions/"+jsonpointer.Escape(k)] = struct{}{} + } + for _, k := range s.analyzer.AllDefinitionReferences() { + if _, ok := expected[k]; ok { + delete(expected, k) + } + } + + if len(expected) == 0 { + return nil + } + + result := new(Result) + for k := range expected { + result.AddWarnings(unusedDefinitionMsg(k)) + } + return result +} + +func (s *SpecValidator) validateRequiredDefinitions() *Result { + // Each property listed in the required array must be defined in the properties of the model + res := new(Result) + +DEFINITIONS: + for d, schema := range s.spec.Spec().Definitions { + if schema.Required != nil { // Safeguard + for _, pn := range schema.Required { + red := s.validateRequiredProperties(pn, d, &schema) + res.Merge(red) + if !red.IsValid() && !s.Options.ContinueOnErrors { + break DEFINITIONS // there is an error, let's stop that bleeding + } + } + } + } + return res +} + +func (s *SpecValidator) validateRequiredProperties(path, in string, v *spec.Schema) *Result { + // Takes care of recursive property definitions, which may be nested in additionalProperties schemas + res := new(Result) + propertyMatch := false + patternMatch := false + additionalPropertiesMatch := false + isReadOnly := false + + // Regular properties + if _, ok := v.Properties[path]; ok { + propertyMatch = true + isReadOnly = v.Properties[path].ReadOnly + } + + // NOTE: patternProperties are not supported in swagger. Even though, we continue validation here + // We check all defined patterns: if one regexp is invalid, croaks an error + for pp, pv := range v.PatternProperties { + re, err := compileRegexp(pp) + if err != nil { + res.AddErrors(invalidPatternMsg(pp, in)) + } else if re.MatchString(path) { + patternMatch = true + if !propertyMatch { + isReadOnly = pv.ReadOnly + } + } + } + + if !(propertyMatch || patternMatch) { + if v.AdditionalProperties != nil { + if v.AdditionalProperties.Allows && v.AdditionalProperties.Schema == nil { + additionalPropertiesMatch = true + } else if v.AdditionalProperties.Schema != nil { + // additionalProperties as schema are upported in swagger + // recursively validates additionalProperties schema + // TODO : anyOf, allOf, oneOf like in schemaPropsValidator + red := s.validateRequiredProperties(path, in, v.AdditionalProperties.Schema) + if red.IsValid() { + additionalPropertiesMatch = true + if !propertyMatch && !patternMatch { + isReadOnly = v.AdditionalProperties.Schema.ReadOnly + } + } + res.Merge(red) + } + } + } + + if !(propertyMatch || patternMatch || additionalPropertiesMatch) { + res.AddErrors(requiredButNotDefinedMsg(path, in)) + } + + if isReadOnly { + res.AddWarnings(readOnlyAndRequiredMsg(in, path)) + } + return res +} + +func (s *SpecValidator) validateParameters() *Result { + // - for each method, path is unique, regardless of path parameters + // e.g. GET:/petstore/{id}, GET:/petstore/{pet}, GET:/petstore are + // considered duplicate paths + // - each parameter should have a unique `name` and `type` combination + // - each operation should have only 1 parameter of type body + // - there must be at most 1 parameter in body + // - parameters with pattern property must specify valid patterns + // - $ref in parameters must resolve + // - path param must be required + res := new(Result) + rexGarbledPathSegment := mustCompileRegexp(`.*[{}\s]+.*`) + for method, pi := range s.analyzer.Operations() { + methodPaths := make(map[string]map[string]string) + if pi != nil { // Safeguard + for path, op := range pi { + pathToAdd := pathHelp.stripParametersInPath(path) + + // Warn on garbled path afer param stripping + if rexGarbledPathSegment.MatchString(pathToAdd) { + res.AddWarnings(pathStrippedParamGarbledMsg(pathToAdd)) + } + + // Check uniqueness of stripped paths + if _, found := methodPaths[method][pathToAdd]; found { + + // Sort names for stable, testable output + if strings.Compare(path, methodPaths[method][pathToAdd]) < 0 { + res.AddErrors(pathOverlapMsg(path, methodPaths[method][pathToAdd])) + } else { + res.AddErrors(pathOverlapMsg(methodPaths[method][pathToAdd], path)) + } + } else { + if _, found := methodPaths[method]; !found { + methodPaths[method] = map[string]string{} + } + methodPaths[method][pathToAdd] = path //Original non stripped path + + } + + var bodyParams []string + var paramNames []string + var hasForm, hasBody bool + + // Check parameters names uniqueness for operation + // TODO: should be done after param expansion + res.Merge(s.checkUniqueParams(path, method, op)) + + for _, pr := range paramHelp.safeExpandedParamsFor(path, method, op.ID, res, s) { + // Validate pattern regexp for parameters with a Pattern property + if _, err := compileRegexp(pr.Pattern); err != nil { + res.AddErrors(invalidPatternInParamMsg(op.ID, pr.Name, pr.Pattern)) + } + + // There must be at most one parameter in body: list them all + if pr.In == "body" { + bodyParams = append(bodyParams, fmt.Sprintf("%q", pr.Name)) + hasBody = true + } + + if pr.In == "path" { + paramNames = append(paramNames, pr.Name) + // Path declared in path must have the required: true property + if !pr.Required { + res.AddErrors(pathParamRequiredMsg(op.ID, pr.Name)) + } + } + + if pr.In == "formData" { + hasForm = true + } + } + + // In:formData and In:body are mutually exclusive + if hasBody && hasForm { + res.AddErrors(bothFormDataAndBodyMsg(op.ID)) + } + // There must be at most one body param + // Accurately report situations when more than 1 body param is declared (possibly unnamed) + if len(bodyParams) > 1 { + sort.Strings(bodyParams) + res.AddErrors(multipleBodyParamMsg(op.ID, bodyParams)) + } + + // Check uniqueness of parameters in path + paramsInPath := pathHelp.extractPathParams(path) + for i, p := range paramsInPath { + for j, q := range paramsInPath { + if p == q && i > j { + res.AddErrors(pathParamNotUniqueMsg(path, p, q)) + break + } + } + } + + // Warns about possible malformed params in path + rexGarbledParam := mustCompileRegexp(`{.*[{}\s]+.*}`) + for _, p := range paramsInPath { + if rexGarbledParam.MatchString(p) { + res.AddWarnings(pathParamGarbledMsg(path, p)) + } + } + + // Match params from path vs params from params section + res.Merge(s.validatePathParamPresence(path, paramsInPath, paramNames)) + } + } + } + return res +} + +func (s *SpecValidator) validateReferencesValid() *Result { + // each reference must point to a valid object + res := new(Result) + for _, r := range s.analyzer.AllRefs() { + if !r.IsValidURI(s.spec.SpecFilePath()) { // Safeguard - spec should always yield a valid URI + res.AddErrors(invalidRefMsg(r.String())) + } + } + if !res.HasErrors() { + // NOTE: with default settings, loads.Document.Expanded() + // stops on first error. Anyhow, the expand option to continue + // on errors fails to report errors at all. + exp, err := s.spec.Expanded() + if err != nil { + res.AddErrors(unresolvedReferencesMsg(err)) + } + s.expanded = exp + } + return res +} + +func (s *SpecValidator) checkUniqueParams(path, method string, op *spec.Operation) *Result { + // Check for duplicate parameters declaration in param section. + // Each parameter should have a unique `name` and `type` combination + // NOTE: this could be factorized in analysis (when constructing the params map) + // However, there are some issues with such a factorization: + // - analysis does not seem to fully expand params + // - param keys may be altered by x-go-name + res := new(Result) + pnames := make(map[string]struct{}) + + if op.Parameters != nil { // Safeguard + for _, ppr := range op.Parameters { + var ok bool + pr, red := paramHelp.resolveParam(path, method, op.ID, &ppr, s) + res.Merge(red) + + if pr != nil && pr.Name != "" { // params with empty name does no participate the check + key := fmt.Sprintf("%s#%s", pr.In, pr.Name) + + if _, ok = pnames[key]; ok { + res.AddErrors(duplicateParamNameMsg(pr.In, pr.Name, op.ID)) + } + pnames[key] = struct{}{} + } + } + } + return res +} + +// SetContinueOnErrors sets the ContinueOnErrors option for this validator. +func (s *SpecValidator) SetContinueOnErrors(c bool) { + s.Options.ContinueOnErrors = c +} diff --git a/vendor/github.com/go-openapi/validate/spec_messages.go b/vendor/github.com/go-openapi/validate/spec_messages.go new file mode 100644 index 00000000000..441bb519758 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/spec_messages.go @@ -0,0 +1,354 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import ( + "net/http" + + "github.com/go-openapi/errors" +) + +// Error messages related to spec validation and returned as results. +const ( + // ArrayRequiresItemsError ... + ArrayRequiresItemsError = "%s for %q is a collection without an element type (array requires items definition)" + + // ArrayInParamRequiresItemsError ... + ArrayInParamRequiresItemsError = "param %q for %q is a collection without an element type (array requires item definition)" + + // ArrayInHeaderRequiresItemsError ... + ArrayInHeaderRequiresItemsError = "header %q for %q is a collection without an element type (array requires items definition)" + + // BothFormDataAndBodyError indicates that an operation specifies both a body and a formData parameter, which is forbidden + BothFormDataAndBodyError = "operation %q has both formData and body parameters. Only one such In: type may be used for a given operation" + + // CannotResolveRefError when a $ref could not be resolved + CannotResolveReferenceError = "could not resolve reference in %s to $ref %s: %v" + + // CircularAncestryDefinitionError ... + CircularAncestryDefinitionError = "definition %q has circular ancestry: %v" + + // DefaultValueDoesNotValidateError results from an invalid default value provided + DefaultValueDoesNotValidateError = "default value for %s in %s does not validate its schema" + + // DefaultValueItemsDoesNotValidateError results from an invalid default value provided for Items + DefaultValueItemsDoesNotValidateError = "default value for %s.items in %s does not validate its schema" + + // DefaultValueHeaderDoesNotValidateError results from an invalid default value provided in header + DefaultValueHeaderDoesNotValidateError = "in operation %q, default value in header %s for %s does not validate its schema" + + // DefaultValueHeaderItemsDoesNotValidateError results from an invalid default value provided in header.items + DefaultValueHeaderItemsDoesNotValidateError = "in operation %q, default value in header.items %s for %s does not validate its schema" + + // DefaultValueInDoesNotValidateError ... + DefaultValueInDoesNotValidateError = "in operation %q, default value in %s does not validate its schema" + + // DuplicateParamNameError ... + DuplicateParamNameError = "duplicate parameter name %q for %q in operation %q" + + // DuplicatePropertiesError ... + DuplicatePropertiesError = "definition %q contains duplicate properties: %v" + + // ExampleValueDoesNotValidateError results from an invalid example value provided + ExampleValueDoesNotValidateError = "example value for %s in %s does not validate its schema" + + // ExampleValueItemsDoesNotValidateError results from an invalid example value provided for Items + ExampleValueItemsDoesNotValidateError = "example value for %s.items in %s does not validate its schema" + + // ExampleValueHeaderDoesNotValidateError results from an invalid example value provided in header + ExampleValueHeaderDoesNotValidateError = "in operation %q, example value in header %s for %s does not validate its schema" + + // ExampleValueHeaderItemsDoesNotValidateError results from an invalid example value provided in header.items + ExampleValueHeaderItemsDoesNotValidateError = "in operation %q, example value in header.items %s for %s does not validate its schema" + + // ExampleValueInDoesNotValidateError ... + ExampleValueInDoesNotValidateError = "in operation %q, example value in %s does not validate its schema" + + // EmptyPathParameterError means that a path parameter was found empty (e.g. "{}") + EmptyPathParameterError = "%q contains an empty path parameter" + + // InvalidDocumentError states that spec validation only processes spec.Document objects + InvalidDocumentError = "spec validator can only validate spec.Document objects" + + // InvalidItemsPatternError indicates an Items definition with invalid pattern + InvalidItemsPatternError = "%s for %q has invalid items pattern: %q" + + // InvalidParameterDefinitionError indicates an error detected on a parameter definition + InvalidParameterDefinitionError = "invalid definition for parameter %s in %s in operation %q" + + // InvalidParameterDefinitionAsSchemaError indicates an error detected on a parameter definition, which was mistaken with a schema definition. + // Most likely, this situation is encountered whenever a $ref has been added as a sibling of the parameter definition. + InvalidParameterDefinitionAsSchemaError = "invalid definition as Schema for parameter %s in %s in operation %q" + + // InvalidPatternError ... + InvalidPatternError = "pattern %q is invalid in %s" + + // InvalidPatternInError indicates an invalid pattern in a schema or items definition + InvalidPatternInError = "%s in %s has invalid pattern: %q" + + // InvalidPatternInHeaderError indicates a header definition with an invalid pattern + InvalidPatternInHeaderError = "in operation %q, header %s for %s has invalid pattern %q: %v" + + // InvalidPatternInParamError ... + InvalidPatternInParamError = "operation %q has invalid pattern in param %q: %q" + + // InvalidReferenceError indicates that a $ref property could not be resolved + InvalidReferenceError = "invalid ref %q" + + // InvalidResponseDefinitionAsSchemaError indicates an error detected on a response definition, which was mistaken with a schema definition. + // Most likely, this situation is encountered whenever a $ref has been added as a sibling of the response definition. + InvalidResponseDefinitionAsSchemaError = "invalid definition as Schema for response %s in %s" + + // MultipleBodyParamError indicates that an operation specifies multiple parameter with in: body + MultipleBodyParamError = "operation %q has more than 1 body param: %v" + + // NonUniqueOperationIDError indicates that the same operationId has been specified several times + NonUniqueOperationIDError = "%q is defined %d times" + + // NoParameterInPathError indicates that a path was found without any parameter + NoParameterInPathError = "path param %q has no parameter definition" + + // NoValidPathErrorOrWarning indicates that no single path could be validated. If Paths is empty, this message is only a warning. + NoValidPathErrorOrWarning = "spec has no valid path defined" + + // NoValidResponseError indicates that no valid response description could be found for an operation + NoValidResponseError = "operation %q has no valid response" + + // PathOverlapError ... + PathOverlapError = "path %s overlaps with %s" + + // PathParamNotInPathError indicates that a parameter specified with in: path was not found in the path specification + PathParamNotInPathError = "path param %q is not present in path %q" + + // PathParamNotUniqueError ... + PathParamNotUniqueError = "params in path %q must be unique: %q conflicts with %q" + + // PathParamNotRequiredError ... + PathParamRequiredError = "in operation %q,path param %q must be declared as required" + + // RefNotAllowedInHeaderError indicates a $ref was found in a header definition, which is not allowed by Swagger + RefNotAllowedInHeaderError = "IMPORTANT!in %q: $ref are not allowed in headers. In context for header %q%s" + + // RequiredButNotDefinedError ... + RequiredButNotDefinedError = "%q is present in required but not defined as property in definition %q" + + // SomeParametersBrokenError indicates that some parameters could not be resolved, which might result in partial checks to be carried on + SomeParametersBrokenError = "some parameters definitions are broken in %q.%s. Cannot carry on full checks on parameters for operation %s" + + // UnresolvedReferencesError indicates that at least one $ref could not be resolved + UnresolvedReferencesError = "some references could not be resolved in spec. First found: %v" +) + +// Warning messages related to spec validation and returned as results +const ( + // ExamplesWithoutSchemaWarning indicates that examples are provided for a response,but not schema to validate the example against + ExamplesWithoutSchemaWarning = "Examples provided without schema in operation %q, %s" + + // ExamplesMimeNotSupportedWarning indicates that examples are provided with a mime type different than application/json, which + // the validator dos not support yetl + ExamplesMimeNotSupportedWarning = "No validation attempt for examples for media types other than application/json, in operation %q, %s" + + // PathParamGarbledWarning ... + PathParamGarbledWarning = "in path %q, param %q contains {,} or white space. Albeit not stricly illegal, this is probably no what you want" + + // PathStrippedParamGarbledWarning ... + PathStrippedParamGarbledWarning = "path stripped from path parameters %s contains {,} or white space. This is probably no what you want." + + // ReadOnlyAndRequiredWarning ... + ReadOnlyAndRequiredWarning = "Required property %s in %q should not be marked as both required and readOnly" + + // RefShouldNotHaveSiblingsWarning indicates that a $ref was found with a sibling definition. This results in the $ref taking over its siblings, + // which is most likely not wanted. + RefShouldNotHaveSiblingsWarning = "$ref property should have no sibling in %q.%s" + + // RequiredHasDefaultWarning indicates that a required parameter property should not have a default + RequiredHasDefaultWarning = "%s in %s has a default value and is required as parameter" + + // UnusedDefinitionWarning ... + UnusedDefinitionWarning = "definition %q is not used anywhere" + + // UnusedParamWarning ... + UnusedParamWarning = "parameter %q is not used anywhere" + + // UnusedResponseWarning ... + UnusedResponseWarning = "response %q is not used anywhere" +) + +// Additional error codes +const ( + // InternalErrorCode reports an internal technical error + InternalErrorCode = http.StatusInternalServerError + // NotFoundErrorCode indicates that a resource (e.g. a $ref) could not be found + NotFoundErrorCode = http.StatusNotFound +) + +func invalidDocumentMsg() errors.Error { + return errors.New(InternalErrorCode, InvalidDocumentError) +} +func invalidRefMsg(path string) errors.Error { + return errors.New(NotFoundErrorCode, InvalidReferenceError, path) +} +func unresolvedReferencesMsg(err error) errors.Error { + return errors.New(errors.CompositeErrorCode, UnresolvedReferencesError, err) +} +func noValidPathMsg() errors.Error { + return errors.New(errors.CompositeErrorCode, NoValidPathErrorOrWarning) +} +func emptyPathParameterMsg(path string) errors.Error { + return errors.New(errors.CompositeErrorCode, EmptyPathParameterError, path) +} +func nonUniqueOperationIDMsg(path string, i int) errors.Error { + return errors.New(errors.CompositeErrorCode, NonUniqueOperationIDError, path, i) +} +func circularAncestryDefinitionMsg(path string, args interface{}) errors.Error { + return errors.New(errors.CompositeErrorCode, CircularAncestryDefinitionError, path, args) +} +func duplicatePropertiesMsg(path string, args interface{}) errors.Error { + return errors.New(errors.CompositeErrorCode, DuplicatePropertiesError, path, args) +} +func pathParamNotInPathMsg(path, param string) errors.Error { + return errors.New(errors.CompositeErrorCode, PathParamNotInPathError, param, path) +} +func arrayRequiresItemsMsg(path, operation string) errors.Error { + return errors.New(errors.CompositeErrorCode, ArrayRequiresItemsError, path, operation) +} +func arrayInParamRequiresItemsMsg(path, operation string) errors.Error { + return errors.New(errors.CompositeErrorCode, ArrayInParamRequiresItemsError, path, operation) +} +func arrayInHeaderRequiresItemsMsg(path, operation string) errors.Error { + return errors.New(errors.CompositeErrorCode, ArrayInHeaderRequiresItemsError, path, operation) +} +func invalidItemsPatternMsg(path, operation, pattern string) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidItemsPatternError, path, operation, pattern) +} +func invalidPatternMsg(pattern, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidPatternError, pattern, path) +} +func requiredButNotDefinedMsg(path, definition string) errors.Error { + return errors.New(errors.CompositeErrorCode, RequiredButNotDefinedError, path, definition) +} +func pathParamGarbledMsg(path, param string) errors.Error { + return errors.New(errors.CompositeErrorCode, PathParamGarbledWarning, path, param) +} +func pathStrippedParamGarbledMsg(path string) errors.Error { + return errors.New(errors.CompositeErrorCode, PathStrippedParamGarbledWarning, path) +} +func pathOverlapMsg(path, arg string) errors.Error { + return errors.New(errors.CompositeErrorCode, PathOverlapError, path, arg) +} +func invalidPatternInParamMsg(operation, param, pattern string) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidPatternInParamError, operation, param, pattern) +} +func pathParamRequiredMsg(operation, param string) errors.Error { + return errors.New(errors.CompositeErrorCode, PathParamRequiredError, operation, param) +} +func bothFormDataAndBodyMsg(operation string) errors.Error { + return errors.New(errors.CompositeErrorCode, BothFormDataAndBodyError, operation) +} +func multipleBodyParamMsg(operation string, args interface{}) errors.Error { + return errors.New(errors.CompositeErrorCode, MultipleBodyParamError, operation, args) +} +func pathParamNotUniqueMsg(path, param, arg string) errors.Error { + return errors.New(errors.CompositeErrorCode, PathParamNotUniqueError, path, param, arg) +} +func duplicateParamNameMsg(path, param, operation string) errors.Error { + return errors.New(errors.CompositeErrorCode, DuplicateParamNameError, param, path, operation) +} +func unusedParamMsg(arg string) errors.Error { + return errors.New(errors.CompositeErrorCode, UnusedParamWarning, arg) +} +func unusedDefinitionMsg(arg string) errors.Error { + return errors.New(errors.CompositeErrorCode, UnusedDefinitionWarning, arg) +} +func unusedResponseMsg(arg string) errors.Error { + return errors.New(errors.CompositeErrorCode, UnusedResponseWarning, arg) +} +func readOnlyAndRequiredMsg(path, param string) errors.Error { + return errors.New(errors.CompositeErrorCode, ReadOnlyAndRequiredWarning, param, path) +} +func noParameterInPathMsg(param string) errors.Error { + return errors.New(errors.CompositeErrorCode, NoParameterInPathError, param) +} +func requiredHasDefaultMsg(param, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, RequiredHasDefaultWarning, param, path) +} +func defaultValueDoesNotValidateMsg(param, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, DefaultValueDoesNotValidateError, param, path) +} +func defaultValueItemsDoesNotValidateMsg(param, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, DefaultValueItemsDoesNotValidateError, param, path) +} +func noValidResponseMsg(operation string) errors.Error { + return errors.New(errors.CompositeErrorCode, NoValidResponseError, operation) +} +func defaultValueHeaderDoesNotValidateMsg(operation, header, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, DefaultValueHeaderDoesNotValidateError, operation, header, path) +} +func defaultValueHeaderItemsDoesNotValidateMsg(operation, header, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, DefaultValueHeaderItemsDoesNotValidateError, operation, header, path) +} +func invalidPatternInHeaderMsg(operation, header, path, pattern string, args interface{}) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidPatternInHeaderError, operation, header, path, pattern, args) +} +func invalidPatternInMsg(path, in, pattern string) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidPatternInError, path, in, pattern) +} +func defaultValueInDoesNotValidateMsg(operation, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, DefaultValueInDoesNotValidateError, operation, path) +} +func exampleValueDoesNotValidateMsg(param, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, ExampleValueDoesNotValidateError, param, path) +} +func exampleValueItemsDoesNotValidateMsg(param, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, ExampleValueItemsDoesNotValidateError, param, path) +} +func exampleValueHeaderDoesNotValidateMsg(operation, header, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, ExampleValueHeaderDoesNotValidateError, operation, header, path) +} +func exampleValueHeaderItemsDoesNotValidateMsg(operation, header, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, ExampleValueHeaderItemsDoesNotValidateError, operation, header, path) +} +func exampleValueInDoesNotValidateMsg(operation, path string) errors.Error { + return errors.New(errors.CompositeErrorCode, ExampleValueInDoesNotValidateError, operation, path) +} +func examplesWithoutSchemaMsg(operation, response string) errors.Error { + return errors.New(errors.CompositeErrorCode, ExamplesWithoutSchemaWarning, operation, response) +} +func examplesMimeNotSupportedMsg(operation, response string) errors.Error { + return errors.New(errors.CompositeErrorCode, ExamplesMimeNotSupportedWarning, operation, response) +} +func refNotAllowedInHeaderMsg(path, header, ref string) errors.Error { + return errors.New(errors.CompositeErrorCode, RefNotAllowedInHeaderError, path, header, ref) +} +func cannotResolveRefMsg(path, ref string, err error) errors.Error { + return errors.New(errors.CompositeErrorCode, CannotResolveReferenceError, path, ref, err) +} +func invalidParameterDefinitionMsg(path, method, operationID string) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidParameterDefinitionError, path, method, operationID) +} +func invalidParameterDefinitionAsSchemaMsg(path, method, operationID string) errors.Error { + return errors.New(errors.CompositeErrorCode, InvalidParameterDefinitionAsSchemaError, path, method, operationID) +} + +// disabled +//func invalidResponseDefinitionAsSchemaMsg(path, method string) errors.Error { +// return errors.New(errors.CompositeErrorCode, InvalidResponseDefinitionAsSchemaError, path, method) +//} +func someParametersBrokenMsg(path, method, operationID string) errors.Error { + return errors.New(errors.CompositeErrorCode, SomeParametersBrokenError, path, method, operationID) +} +func refShouldNotHaveSiblingsMsg(path, operationID string) errors.Error { + return errors.New(errors.CompositeErrorCode, RefShouldNotHaveSiblingsWarning, operationID, path) +} diff --git a/vendor/github.com/go-openapi/validate/type.go b/vendor/github.com/go-openapi/validate/type.go new file mode 100644 index 00000000000..ba0e956d675 --- /dev/null +++ b/vendor/github.com/go-openapi/validate/type.go @@ -0,0 +1,178 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import ( + "reflect" + "strings" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +type typeValidator struct { + Type spec.StringOrArray + Nullable bool + Format string + In string + Path string +} + +func (t *typeValidator) schemaInfoForType(data interface{}) (string, string) { + // internal type to JSON type with swagger 2.0 format (with go-openapi/strfmt extensions), + // see https://github.com/go-openapi/strfmt/blob/master/README.md + // TODO: this switch really is some sort of reverse lookup for formats. It should be provided by strfmt. + switch data.(type) { + case []byte, strfmt.Base64, *strfmt.Base64: + return "string", "byte" + case strfmt.CreditCard, *strfmt.CreditCard: + return "string", "creditcard" + case strfmt.Date, *strfmt.Date: + return "string", "date" + case strfmt.DateTime, *strfmt.DateTime: + return "string", "date-time" + case strfmt.Duration, *strfmt.Duration: + return "string", "duration" + case runtime.File, *runtime.File: + return "file", "" + case strfmt.Email, *strfmt.Email: + return "string", "email" + case strfmt.HexColor, *strfmt.HexColor: + return "string", "hexcolor" + case strfmt.Hostname, *strfmt.Hostname: + return "string", "hostname" + case strfmt.IPv4, *strfmt.IPv4: + return "string", "ipv4" + case strfmt.IPv6, *strfmt.IPv6: + return "string", "ipv6" + case strfmt.ISBN, *strfmt.ISBN: + return "string", "isbn" + case strfmt.ISBN10, *strfmt.ISBN10: + return "string", "isbn10" + case strfmt.ISBN13, *strfmt.ISBN13: + return "string", "isbn13" + case strfmt.MAC, *strfmt.MAC: + return "string", "mac" + case strfmt.ObjectId, *strfmt.ObjectId: + return "string", "bsonobjectid" + case strfmt.Password, *strfmt.Password: + return "string", "password" + case strfmt.RGBColor, *strfmt.RGBColor: + return "string", "rgbcolor" + case strfmt.SSN, *strfmt.SSN: + return "string", "ssn" + case strfmt.URI, *strfmt.URI: + return "string", "uri" + case strfmt.UUID, *strfmt.UUID: + return "string", "uuid" + case strfmt.UUID3, *strfmt.UUID3: + return "string", "uuid3" + case strfmt.UUID4, *strfmt.UUID4: + return "string", "uuid4" + case strfmt.UUID5, *strfmt.UUID5: + return "string", "uuid5" + // TODO: missing binary (io.ReadCloser) + // TODO: missing json.Number + default: + val := reflect.ValueOf(data) + tpe := val.Type() + switch tpe.Kind() { + case reflect.Bool: + return "boolean", "" + case reflect.String: + return "string", "" + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Uint8, reflect.Uint16, reflect.Uint32: + // NOTE: that is the spec. With go-openapi, is that not uint32 for unsigned integers? + return "integer", "int32" + case reflect.Int, reflect.Int64, reflect.Uint, reflect.Uint64: + return "integer", "int64" + case reflect.Float32: + // NOTE: is that not "float"? + return "number", "float32" + case reflect.Float64: + // NOTE: is that not "double"? + return "number", "float64" + // NOTE: go arrays (reflect.Array) are not supported (fixed length) + case reflect.Slice: + return "array", "" + case reflect.Map, reflect.Struct: + return "object", "" + case reflect.Interface: + // What to do here? + panic("dunno what to do here") + case reflect.Ptr: + return t.schemaInfoForType(reflect.Indirect(val).Interface()) + } + } + return "", "" +} + +func (t *typeValidator) SetPath(path string) { + t.Path = path +} + +func (t *typeValidator) Applies(source interface{}, kind reflect.Kind) bool { + // typeValidator applies to Schema, Parameter and Header objects + stpe := reflect.TypeOf(source) + r := (len(t.Type) > 0 || t.Format != "") && (stpe == specSchemaType || stpe == specParameterType || stpe == specHeaderType) + debugLog("type validator for %q applies %t for %T (kind: %v)\n", t.Path, r, source, kind) + return r +} + +func (t *typeValidator) Validate(data interface{}) *Result { + result := new(Result) + result.Inc() + if data == nil || reflect.DeepEqual(reflect.Zero(reflect.TypeOf(data)), reflect.ValueOf(data)) { + // nil or zero value for the passed structure require Type: null + if len(t.Type) > 0 && !t.Type.Contains("null") && !t.Nullable { // TODO: if a property is not required it also passes this + return errorHelp.sErr(errors.InvalidType(t.Path, t.In, strings.Join(t.Type, ","), "null")) + } + return result + } + + // check if the type matches, should be used in every validator chain as first item + val := reflect.Indirect(reflect.ValueOf(data)) + kind := val.Kind() + + // infer schema type (JSON) and format from passed data type + schType, format := t.schemaInfoForType(data) + + debugLog("path: %s, schType: %s, format: %s, expType: %s, expFmt: %s, kind: %s", t.Path, schType, format, t.Type, t.Format, val.Kind().String()) + + // check numerical types + // TODO: check unsigned ints + // TODO: check json.Number (see schema.go) + isLowerInt := t.Format == "int64" && format == "int32" + isLowerFloat := t.Format == "float64" && format == "float32" + isFloatInt := schType == "number" && swag.IsFloat64AJSONInteger(val.Float()) && t.Type.Contains("integer") + isIntFloat := schType == "integer" && t.Type.Contains("number") + + if kind != reflect.String && kind != reflect.Slice && t.Format != "" && !(t.Type.Contains(schType) || format == t.Format || isFloatInt || isIntFloat || isLowerInt || isLowerFloat) { + // TODO: test case + return errorHelp.sErr(errors.InvalidType(t.Path, t.In, t.Format, format)) + } + + if !(t.Type.Contains("number") || t.Type.Contains("integer")) && t.Format != "" && (kind == reflect.String || kind == reflect.Slice) { + return result + } + + if !(t.Type.Contains(schType) || isFloatInt || isIntFloat) { + return errorHelp.sErr(errors.InvalidType(t.Path, t.In, strings.Join(t.Type, ","), schType)) + } + return result +} diff --git a/vendor/github.com/go-openapi/validate/update-fixtures.sh b/vendor/github.com/go-openapi/validate/update-fixtures.sh new file mode 100644 index 00000000000..21b06e2b09a --- /dev/null +++ b/vendor/github.com/go-openapi/validate/update-fixtures.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -eu -o pipefail +dir=$(git rev-parse --show-toplevel) +scratch=$(mktemp -d -t tmp.XXXXXXXXXX) + +function finish { + rm -rf "$scratch" +} +trap finish EXIT SIGHUP SIGINT SIGTERM + +cd "$scratch" +git clone https://github.com/json-schema-org/JSON-Schema-Test-Suite Suite +cp -r Suite/tests/draft4/* "$dir/fixtures/jsonschema_suite" +cp -a Suite/remotes "$dir/fixtures/jsonschema_suite" diff --git a/vendor/github.com/go-openapi/validate/validator.go b/vendor/github.com/go-openapi/validate/validator.go new file mode 100644 index 00000000000..df700d3cd4c --- /dev/null +++ b/vendor/github.com/go-openapi/validate/validator.go @@ -0,0 +1,641 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import ( + "fmt" + "reflect" + + "github.com/go-openapi/errors" + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" +) + +// An EntityValidator is an interface for things that can validate entities +type EntityValidator interface { + Validate(interface{}) *Result +} + +type valueValidator interface { + SetPath(path string) + Applies(interface{}, reflect.Kind) bool + Validate(interface{}) *Result +} + +type itemsValidator struct { + items *spec.Items + root interface{} + path string + in string + validators []valueValidator + KnownFormats strfmt.Registry +} + +func newItemsValidator(path, in string, items *spec.Items, root interface{}, formats strfmt.Registry) *itemsValidator { + iv := &itemsValidator{path: path, in: in, items: items, root: root, KnownFormats: formats} + iv.validators = []valueValidator{ + &typeValidator{ + Type: spec.StringOrArray([]string{items.Type}), + Nullable: items.Nullable, + Format: items.Format, + In: in, + Path: path, + }, + iv.stringValidator(), + iv.formatValidator(), + iv.numberValidator(), + iv.sliceValidator(), + iv.commonValidator(), + } + return iv +} + +func (i *itemsValidator) Validate(index int, data interface{}) *Result { + tpe := reflect.TypeOf(data) + kind := tpe.Kind() + mainResult := new(Result) + path := fmt.Sprintf("%s.%d", i.path, index) + + for _, validator := range i.validators { + validator.SetPath(path) + if validator.Applies(i.root, kind) { + result := validator.Validate(data) + mainResult.Merge(result) + mainResult.Inc() + if result != nil && result.HasErrors() { + return mainResult + } + } + } + return mainResult +} + +func (i *itemsValidator) commonValidator() valueValidator { + return &basicCommonValidator{ + In: i.in, + Default: i.items.Default, + Enum: i.items.Enum, + } +} + +func (i *itemsValidator) sliceValidator() valueValidator { + return &basicSliceValidator{ + In: i.in, + Default: i.items.Default, + MaxItems: i.items.MaxItems, + MinItems: i.items.MinItems, + UniqueItems: i.items.UniqueItems, + Source: i.root, + Items: i.items.Items, + KnownFormats: i.KnownFormats, + } +} + +func (i *itemsValidator) numberValidator() valueValidator { + return &numberValidator{ + In: i.in, + Default: i.items.Default, + MultipleOf: i.items.MultipleOf, + Maximum: i.items.Maximum, + ExclusiveMaximum: i.items.ExclusiveMaximum, + Minimum: i.items.Minimum, + ExclusiveMinimum: i.items.ExclusiveMinimum, + Type: i.items.Type, + Format: i.items.Format, + } +} + +func (i *itemsValidator) stringValidator() valueValidator { + return &stringValidator{ + In: i.in, + Default: i.items.Default, + MaxLength: i.items.MaxLength, + MinLength: i.items.MinLength, + Pattern: i.items.Pattern, + AllowEmptyValue: false, + } +} + +func (i *itemsValidator) formatValidator() valueValidator { + return &formatValidator{ + In: i.in, + //Default: i.items.Default, + Format: i.items.Format, + KnownFormats: i.KnownFormats, + } +} + +type basicCommonValidator struct { + Path string + In string + Default interface{} + Enum []interface{} +} + +func (b *basicCommonValidator) SetPath(path string) { + b.Path = path +} + +func (b *basicCommonValidator) Applies(source interface{}, kind reflect.Kind) bool { + switch source.(type) { + case *spec.Parameter, *spec.Schema, *spec.Header: + return true + } + return false +} + +func (b *basicCommonValidator) Validate(data interface{}) (res *Result) { + if len(b.Enum) > 0 { + for _, enumValue := range b.Enum { + actualType := reflect.TypeOf(enumValue) + if actualType != nil { // Safeguard + expectedValue := reflect.ValueOf(data) + if expectedValue.IsValid() && expectedValue.Type().ConvertibleTo(actualType) { + if reflect.DeepEqual(expectedValue.Convert(actualType).Interface(), enumValue) { + return nil + } + } + } + } + return errorHelp.sErr(errors.EnumFail(b.Path, b.In, data, b.Enum)) + } + return nil +} + +// A HeaderValidator has very limited subset of validations to apply +type HeaderValidator struct { + name string + header *spec.Header + validators []valueValidator + KnownFormats strfmt.Registry +} + +// NewHeaderValidator creates a new header validator object +func NewHeaderValidator(name string, header *spec.Header, formats strfmt.Registry) *HeaderValidator { + p := &HeaderValidator{name: name, header: header, KnownFormats: formats} + p.validators = []valueValidator{ + &typeValidator{ + Type: spec.StringOrArray([]string{header.Type}), + Nullable: header.Nullable, + Format: header.Format, + In: "header", + Path: name, + }, + p.stringValidator(), + p.formatValidator(), + p.numberValidator(), + p.sliceValidator(), + p.commonValidator(), + } + return p +} + +// Validate the value of the header against its schema +func (p *HeaderValidator) Validate(data interface{}) *Result { + result := new(Result) + tpe := reflect.TypeOf(data) + kind := tpe.Kind() + + for _, validator := range p.validators { + if validator.Applies(p.header, kind) { + if err := validator.Validate(data); err != nil { + result.Merge(err) + if err.HasErrors() { + return result + } + } + } + } + return nil +} + +func (p *HeaderValidator) commonValidator() valueValidator { + return &basicCommonValidator{ + Path: p.name, + In: "response", + Default: p.header.Default, + Enum: p.header.Enum, + } +} + +func (p *HeaderValidator) sliceValidator() valueValidator { + return &basicSliceValidator{ + Path: p.name, + In: "response", + Default: p.header.Default, + MaxItems: p.header.MaxItems, + MinItems: p.header.MinItems, + UniqueItems: p.header.UniqueItems, + Items: p.header.Items, + Source: p.header, + KnownFormats: p.KnownFormats, + } +} + +func (p *HeaderValidator) numberValidator() valueValidator { + return &numberValidator{ + Path: p.name, + In: "response", + Default: p.header.Default, + MultipleOf: p.header.MultipleOf, + Maximum: p.header.Maximum, + ExclusiveMaximum: p.header.ExclusiveMaximum, + Minimum: p.header.Minimum, + ExclusiveMinimum: p.header.ExclusiveMinimum, + Type: p.header.Type, + Format: p.header.Format, + } +} + +func (p *HeaderValidator) stringValidator() valueValidator { + return &stringValidator{ + Path: p.name, + In: "response", + Default: p.header.Default, + Required: true, + MaxLength: p.header.MaxLength, + MinLength: p.header.MinLength, + Pattern: p.header.Pattern, + AllowEmptyValue: false, + } +} + +func (p *HeaderValidator) formatValidator() valueValidator { + return &formatValidator{ + Path: p.name, + In: "response", + //Default: p.header.Default, + Format: p.header.Format, + KnownFormats: p.KnownFormats, + } +} + +// A ParamValidator has very limited subset of validations to apply +type ParamValidator struct { + param *spec.Parameter + validators []valueValidator + KnownFormats strfmt.Registry +} + +// NewParamValidator creates a new param validator object +func NewParamValidator(param *spec.Parameter, formats strfmt.Registry) *ParamValidator { + p := &ParamValidator{param: param, KnownFormats: formats} + p.validators = []valueValidator{ + &typeValidator{ + Type: spec.StringOrArray([]string{param.Type}), + Nullable: param.Nullable, + Format: param.Format, + In: param.In, + Path: param.Name, + }, + p.stringValidator(), + p.formatValidator(), + p.numberValidator(), + p.sliceValidator(), + p.commonValidator(), + } + return p +} + +// Validate the data against the description of the parameter +func (p *ParamValidator) Validate(data interface{}) *Result { + result := new(Result) + tpe := reflect.TypeOf(data) + kind := tpe.Kind() + + // TODO: validate type + for _, validator := range p.validators { + if validator.Applies(p.param, kind) { + if err := validator.Validate(data); err != nil { + result.Merge(err) + if err.HasErrors() { + return result + } + } + } + } + return nil +} + +func (p *ParamValidator) commonValidator() valueValidator { + return &basicCommonValidator{ + Path: p.param.Name, + In: p.param.In, + Default: p.param.Default, + Enum: p.param.Enum, + } +} + +func (p *ParamValidator) sliceValidator() valueValidator { + return &basicSliceValidator{ + Path: p.param.Name, + In: p.param.In, + Default: p.param.Default, + MaxItems: p.param.MaxItems, + MinItems: p.param.MinItems, + UniqueItems: p.param.UniqueItems, + Items: p.param.Items, + Source: p.param, + KnownFormats: p.KnownFormats, + } +} + +func (p *ParamValidator) numberValidator() valueValidator { + return &numberValidator{ + Path: p.param.Name, + In: p.param.In, + Default: p.param.Default, + MultipleOf: p.param.MultipleOf, + Maximum: p.param.Maximum, + ExclusiveMaximum: p.param.ExclusiveMaximum, + Minimum: p.param.Minimum, + ExclusiveMinimum: p.param.ExclusiveMinimum, + Type: p.param.Type, + Format: p.param.Format, + } +} + +func (p *ParamValidator) stringValidator() valueValidator { + return &stringValidator{ + Path: p.param.Name, + In: p.param.In, + Default: p.param.Default, + AllowEmptyValue: p.param.AllowEmptyValue, + Required: p.param.Required, + MaxLength: p.param.MaxLength, + MinLength: p.param.MinLength, + Pattern: p.param.Pattern, + } +} + +func (p *ParamValidator) formatValidator() valueValidator { + return &formatValidator{ + Path: p.param.Name, + In: p.param.In, + //Default: p.param.Default, + Format: p.param.Format, + KnownFormats: p.KnownFormats, + } +} + +type basicSliceValidator struct { + Path string + In string + Default interface{} + MaxItems *int64 + MinItems *int64 + UniqueItems bool + Items *spec.Items + Source interface{} + itemsValidator *itemsValidator + KnownFormats strfmt.Registry +} + +func (s *basicSliceValidator) SetPath(path string) { + s.Path = path +} + +func (s *basicSliceValidator) Applies(source interface{}, kind reflect.Kind) bool { + switch source.(type) { + case *spec.Parameter, *spec.Items, *spec.Header: + return kind == reflect.Slice + } + return false +} + +func (s *basicSliceValidator) Validate(data interface{}) *Result { + val := reflect.ValueOf(data) + + size := int64(val.Len()) + if s.MinItems != nil { + if err := MinItems(s.Path, s.In, size, *s.MinItems); err != nil { + return errorHelp.sErr(err) + } + } + + if s.MaxItems != nil { + if err := MaxItems(s.Path, s.In, size, *s.MaxItems); err != nil { + return errorHelp.sErr(err) + } + } + + if s.UniqueItems { + if err := UniqueItems(s.Path, s.In, data); err != nil { + return errorHelp.sErr(err) + } + } + + if s.itemsValidator == nil && s.Items != nil { + s.itemsValidator = newItemsValidator(s.Path, s.In, s.Items, s.Source, s.KnownFormats) + } + + if s.itemsValidator != nil { + for i := 0; i < int(size); i++ { + ele := val.Index(i) + if err := s.itemsValidator.Validate(i, ele.Interface()); err != nil && err.HasErrors() { + return err + } + } + } + return nil +} + +func (s *basicSliceValidator) hasDuplicates(value reflect.Value, size int) bool { + dict := make(map[interface{}]struct{}) + for i := 0; i < size; i++ { + ele := value.Index(i) + if _, ok := dict[ele.Interface()]; ok { + return true + } + dict[ele.Interface()] = struct{}{} + } + return false +} + +type numberValidator struct { + Path string + In string + Default interface{} + MultipleOf *float64 + Maximum *float64 + ExclusiveMaximum bool + Minimum *float64 + ExclusiveMinimum bool + // Allows for more accurate behavior regarding integers + Type string + Format string +} + +func (n *numberValidator) SetPath(path string) { + n.Path = path +} + +func (n *numberValidator) Applies(source interface{}, kind reflect.Kind) bool { + switch source.(type) { + case *spec.Parameter, *spec.Schema, *spec.Items, *spec.Header: + isInt := kind >= reflect.Int && kind <= reflect.Uint64 + isFloat := kind == reflect.Float32 || kind == reflect.Float64 + r := isInt || isFloat + debugLog("schema props validator for %q applies %t for %T (kind: %v) isInt=%t, isFloat=%t\n", n.Path, r, source, kind, isInt, isFloat) + return r + } + debugLog("schema props validator for %q applies %t for %T (kind: %v)\n", n.Path, false, source, kind) + return false +} + +// Validate provides a validator for generic JSON numbers, +// +// By default, numbers are internally represented as float64. +// Formats float, or float32 may alter this behavior by mapping to float32. +// A special validation process is followed for integers, with optional "format": +// this is an attempt to provide a validation with native types. +// +// NOTE: since the constraint specified (boundary, multipleOf) is unmarshalled +// as float64, loss of information remains possible (e.g. on very large integers). +// +// Since this value directly comes from the unmarshalling, it is not possible +// at this stage of processing to check further and guarantee the correctness of such values. +// +// Normally, the JSON Number.MAX_SAFE_INTEGER (resp. Number.MIN_SAFE_INTEGER) +// would check we do not get such a loss. +// +// If this is the case, replace AddErrors() by AddWarnings() and IsValid() by !HasWarnings(). +// +// TODO: consider replacing boundary check errors by simple warnings. +// +// TODO: default boundaries with MAX_SAFE_INTEGER are not checked (specific to json.Number?) +func (n *numberValidator) Validate(val interface{}) *Result { + res := new(Result) + + resMultiple := new(Result) + resMinimum := new(Result) + resMaximum := new(Result) + + // Used only to attempt to validate constraint on value, + // even though value or constraint specified do not match type and format + data := valueHelp.asFloat64(val) + + // Is the provided value within the range of the specified numeric type and format? + res.AddErrors(IsValueValidAgainstRange(val, n.Type, n.Format, "Checked", n.Path)) + + if n.MultipleOf != nil { + // Is the constraint specifier within the range of the specific numeric type and format? + resMultiple.AddErrors(IsValueValidAgainstRange(*n.MultipleOf, n.Type, n.Format, "MultipleOf", n.Path)) + if resMultiple.IsValid() { + // Constraint validated with compatible types + if err := MultipleOfNativeType(n.Path, n.In, val, *n.MultipleOf); err != nil { + resMultiple.Merge(errorHelp.sErr(err)) + } + } else { + // Constraint nevertheless validated, converted as general number + if err := MultipleOf(n.Path, n.In, data, *n.MultipleOf); err != nil { + resMultiple.Merge(errorHelp.sErr(err)) + } + } + } + + if n.Maximum != nil { + // Is the constraint specifier within the range of the specific numeric type and format? + resMaximum.AddErrors(IsValueValidAgainstRange(*n.Maximum, n.Type, n.Format, "Maximum boundary", n.Path)) + if resMaximum.IsValid() { + // Constraint validated with compatible types + if err := MaximumNativeType(n.Path, n.In, val, *n.Maximum, n.ExclusiveMaximum); err != nil { + resMaximum.Merge(errorHelp.sErr(err)) + } + } else { + // Constraint nevertheless validated, converted as general number + if err := Maximum(n.Path, n.In, data, *n.Maximum, n.ExclusiveMaximum); err != nil { + resMaximum.Merge(errorHelp.sErr(err)) + } + } + } + + if n.Minimum != nil { + // Is the constraint specifier within the range of the specific numeric type and format? + resMinimum.AddErrors(IsValueValidAgainstRange(*n.Minimum, n.Type, n.Format, "Minimum boundary", n.Path)) + if resMinimum.IsValid() { + // Constraint validated with compatible types + if err := MinimumNativeType(n.Path, n.In, val, *n.Minimum, n.ExclusiveMinimum); err != nil { + resMinimum.Merge(errorHelp.sErr(err)) + } + } else { + // Constraint nevertheless validated, converted as general number + if err := Minimum(n.Path, n.In, data, *n.Minimum, n.ExclusiveMinimum); err != nil { + resMinimum.Merge(errorHelp.sErr(err)) + } + } + } + res.Merge(resMultiple, resMinimum, resMaximum) + res.Inc() + return res +} + +type stringValidator struct { + Default interface{} + Required bool + AllowEmptyValue bool + MaxLength *int64 + MinLength *int64 + Pattern string + Path string + In string +} + +func (s *stringValidator) SetPath(path string) { + s.Path = path +} + +func (s *stringValidator) Applies(source interface{}, kind reflect.Kind) bool { + switch source.(type) { + case *spec.Parameter, *spec.Schema, *spec.Items, *spec.Header: + r := kind == reflect.String + debugLog("string validator for %q applies %t for %T (kind: %v)\n", s.Path, r, source, kind) + return r + } + debugLog("string validator for %q applies %t for %T (kind: %v)\n", s.Path, false, source, kind) + return false +} + +func (s *stringValidator) Validate(val interface{}) *Result { + data, ok := val.(string) + if !ok { + return errorHelp.sErr(errors.InvalidType(s.Path, s.In, "string", val)) + } + + if s.Required && !s.AllowEmptyValue && (s.Default == nil || s.Default == "") { + if err := RequiredString(s.Path, s.In, data); err != nil { + return errorHelp.sErr(err) + } + } + + if s.MaxLength != nil { + if err := MaxLength(s.Path, s.In, data, *s.MaxLength); err != nil { + return errorHelp.sErr(err) + } + } + + if s.MinLength != nil { + if err := MinLength(s.Path, s.In, data, *s.MinLength); err != nil { + return errorHelp.sErr(err) + } + } + + if s.Pattern != "" { + if err := Pattern(s.Path, s.In, data, s.Pattern); err != nil { + return errorHelp.sErr(err) + } + } + return nil +} diff --git a/vendor/github.com/go-openapi/validate/values.go b/vendor/github.com/go-openapi/validate/values.go new file mode 100644 index 00000000000..24606da8d5a --- /dev/null +++ b/vendor/github.com/go-openapi/validate/values.go @@ -0,0 +1,398 @@ +// Copyright 2015 go-swagger maintainers +// +// 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 validate + +import ( + "fmt" + "reflect" + "unicode/utf8" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// Enum validates if the data is a member of the enum +func Enum(path, in string, data interface{}, enum interface{}) *errors.Validation { + val := reflect.ValueOf(enum) + if val.Kind() != reflect.Slice { + return nil + } + + var values []interface{} + for i := 0; i < val.Len(); i++ { + ele := val.Index(i) + enumValue := ele.Interface() + if data != nil { + if reflect.DeepEqual(data, enumValue) { + return nil + } + actualType := reflect.TypeOf(enumValue) + if actualType == nil { // Safeguard. Frankly, I don't know how we may get a nil + continue + } + expectedValue := reflect.ValueOf(data) + if expectedValue.IsValid() && expectedValue.Type().ConvertibleTo(actualType) { + // Attempt comparison after type conversion + if reflect.DeepEqual(expectedValue.Convert(actualType).Interface(), enumValue) { + return nil + } + } + } + values = append(values, enumValue) + } + return errors.EnumFail(path, in, data, values) +} + +// MinItems validates that there are at least n items in a slice +func MinItems(path, in string, size, min int64) *errors.Validation { + if size < min { + return errors.TooFewItems(path, in, min) + } + return nil +} + +// MaxItems validates that there are at most n items in a slice +func MaxItems(path, in string, size, max int64) *errors.Validation { + if size > max { + return errors.TooManyItems(path, in, max) + } + return nil +} + +// UniqueItems validates that the provided slice has unique elements +func UniqueItems(path, in string, data interface{}) *errors.Validation { + val := reflect.ValueOf(data) + if val.Kind() != reflect.Slice { + return nil + } + var unique []interface{} + for i := 0; i < val.Len(); i++ { + v := val.Index(i).Interface() + for _, u := range unique { + if reflect.DeepEqual(v, u) { + return errors.DuplicateItems(path, in) + } + } + unique = append(unique, v) + } + return nil +} + +// MinLength validates a string for minimum length +func MinLength(path, in, data string, minLength int64) *errors.Validation { + strLen := int64(utf8.RuneCount([]byte(data))) + if strLen < minLength { + return errors.TooShort(path, in, minLength) + } + return nil +} + +// MaxLength validates a string for maximum length +func MaxLength(path, in, data string, maxLength int64) *errors.Validation { + strLen := int64(utf8.RuneCount([]byte(data))) + if strLen > maxLength { + return errors.TooLong(path, in, maxLength) + } + return nil +} + +// Required validates an interface for requiredness +func Required(path, in string, data interface{}) *errors.Validation { + val := reflect.ValueOf(data) + if val.IsValid() { + if reflect.DeepEqual(reflect.Zero(val.Type()).Interface(), val.Interface()) { + return errors.Required(path, in) + } + return nil + } + return errors.Required(path, in) +} + +// RequiredString validates a string for requiredness +func RequiredString(path, in, data string) *errors.Validation { + if data == "" { + return errors.Required(path, in) + } + return nil +} + +// RequiredNumber validates a number for requiredness +func RequiredNumber(path, in string, data float64) *errors.Validation { + if data == 0 { + return errors.Required(path, in) + } + return nil +} + +// Pattern validates a string against a regular expression +func Pattern(path, in, data, pattern string) *errors.Validation { + re, err := compileRegexp(pattern) + if err != nil { + return errors.FailedPattern(path, in, fmt.Sprintf("%s, but pattern is invalid: %s", pattern, err.Error())) + } + if !re.MatchString(data) { + return errors.FailedPattern(path, in, pattern) + } + return nil +} + +// MaximumInt validates if a number is smaller than a given maximum +func MaximumInt(path, in string, data, max int64, exclusive bool) *errors.Validation { + if (!exclusive && data > max) || (exclusive && data >= max) { + return errors.ExceedsMaximumInt(path, in, max, exclusive) + } + return nil +} + +// MaximumUint validates if a number is smaller than a given maximum +func MaximumUint(path, in string, data, max uint64, exclusive bool) *errors.Validation { + if (!exclusive && data > max) || (exclusive && data >= max) { + return errors.ExceedsMaximumUint(path, in, max, exclusive) + } + return nil +} + +// Maximum validates if a number is smaller than a given maximum +func Maximum(path, in string, data, max float64, exclusive bool) *errors.Validation { + if (!exclusive && data > max) || (exclusive && data >= max) { + return errors.ExceedsMaximum(path, in, max, exclusive) + } + return nil +} + +// Minimum validates if a number is smaller than a given minimum +func Minimum(path, in string, data, min float64, exclusive bool) *errors.Validation { + if (!exclusive && data < min) || (exclusive && data <= min) { + return errors.ExceedsMinimum(path, in, min, exclusive) + } + return nil +} + +// MinimumInt validates if a number is smaller than a given minimum +func MinimumInt(path, in string, data, min int64, exclusive bool) *errors.Validation { + if (!exclusive && data < min) || (exclusive && data <= min) { + return errors.ExceedsMinimumInt(path, in, min, exclusive) + } + return nil +} + +// MinimumUint validates if a number is smaller than a given minimum +func MinimumUint(path, in string, data, min uint64, exclusive bool) *errors.Validation { + if (!exclusive && data < min) || (exclusive && data <= min) { + return errors.ExceedsMinimumUint(path, in, min, exclusive) + } + return nil +} + +// MultipleOf validates if the provided number is a multiple of the factor +func MultipleOf(path, in string, data, factor float64) *errors.Validation { + // multipleOf factor must be positive + if factor < 0 { + return errors.MultipleOfMustBePositive(path, in, factor) + } + var mult float64 + if factor < 1 { + mult = 1 / factor * data + } else { + mult = data / factor + } + if !swag.IsFloat64AJSONInteger(mult) { + return errors.NotMultipleOf(path, in, factor) + } + return nil +} + +// MultipleOfInt validates if the provided integer is a multiple of the factor +func MultipleOfInt(path, in string, data int64, factor int64) *errors.Validation { + // multipleOf factor must be positive + if factor < 0 { + return errors.MultipleOfMustBePositive(path, in, factor) + } + mult := data / factor + if mult*factor != data { + return errors.NotMultipleOf(path, in, factor) + } + return nil +} + +// MultipleOfUint validates if the provided unsigned integer is a multiple of the factor +func MultipleOfUint(path, in string, data, factor uint64) *errors.Validation { + mult := data / factor + if mult*factor != data { + return errors.NotMultipleOf(path, in, factor) + } + return nil +} + +// FormatOf validates if a string matches a format in the format registry +func FormatOf(path, in, format, data string, registry strfmt.Registry) *errors.Validation { + if registry == nil { + registry = strfmt.Default + } + if ok := registry.ContainsName(format); !ok { + return errors.InvalidTypeName(format) + } + if ok := registry.Validates(format, data); !ok { + return errors.InvalidType(path, in, format, data) + } + return nil +} + +// MaximumNativeType provides native type constraint validation as a facade +// to various numeric types versions of Maximum constraint check. +// +// Assumes that any possible loss conversion during conversion has been +// checked beforehand. +// +// NOTE: currently, the max value is marshalled as a float64, no matter what, +// which means there may be a loss during conversions (e.g. for very large integers) +// +// TODO: Normally, a JSON MAX_SAFE_INTEGER check would ensure conversion remains loss-free +func MaximumNativeType(path, in string, val interface{}, max float64, exclusive bool) *errors.Validation { + kind := reflect.ValueOf(val).Type().Kind() + switch kind { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + value := valueHelp.asInt64(val) + return MaximumInt(path, in, value, int64(max), exclusive) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + value := valueHelp.asUint64(val) + if max < 0 { + return errors.ExceedsMaximum(path, in, max, exclusive) + } + return MaximumUint(path, in, value, uint64(max), exclusive) + case reflect.Float32, reflect.Float64: + fallthrough + default: + value := valueHelp.asFloat64(val) + return Maximum(path, in, value, max, exclusive) + } +} + +// MinimumNativeType provides native type constraint validation as a facade +// to various numeric types versions of Minimum constraint check. +// +// Assumes that any possible loss conversion during conversion has been +// checked beforehand. +// +// NOTE: currently, the min value is marshalled as a float64, no matter what, +// which means there may be a loss during conversions (e.g. for very large integers) +// +// TODO: Normally, a JSON MAX_SAFE_INTEGER check would ensure conversion remains loss-free +func MinimumNativeType(path, in string, val interface{}, min float64, exclusive bool) *errors.Validation { + kind := reflect.ValueOf(val).Type().Kind() + switch kind { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + value := valueHelp.asInt64(val) + return MinimumInt(path, in, value, int64(min), exclusive) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + value := valueHelp.asUint64(val) + if min < 0 { + return nil + } + return MinimumUint(path, in, value, uint64(min), exclusive) + case reflect.Float32, reflect.Float64: + fallthrough + default: + value := valueHelp.asFloat64(val) + return Minimum(path, in, value, min, exclusive) + } +} + +// MultipleOfNativeType provides native type constraint validation as a facade +// to various numeric types version of MultipleOf constraint check. +// +// Assumes that any possible loss conversion during conversion has been +// checked beforehand. +// +// NOTE: currently, the multipleOf factor is marshalled as a float64, no matter what, +// which means there may be a loss during conversions (e.g. for very large integers) +// +// TODO: Normally, a JSON MAX_SAFE_INTEGER check would ensure conversion remains loss-free +func MultipleOfNativeType(path, in string, val interface{}, multipleOf float64) *errors.Validation { + kind := reflect.ValueOf(val).Type().Kind() + switch kind { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + value := valueHelp.asInt64(val) + return MultipleOfInt(path, in, value, int64(multipleOf)) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + value := valueHelp.asUint64(val) + return MultipleOfUint(path, in, value, uint64(multipleOf)) + case reflect.Float32, reflect.Float64: + fallthrough + default: + value := valueHelp.asFloat64(val) + return MultipleOf(path, in, value, multipleOf) + } +} + +// IsValueValidAgainstRange checks that a numeric value is compatible with +// the range defined by Type and Format, that is, may be converted without loss. +// +// NOTE: this check is about type capacity and not formal verification such as: 1.0 != 1L +func IsValueValidAgainstRange(val interface{}, typeName, format, prefix, path string) error { + kind := reflect.ValueOf(val).Type().Kind() + + // What is the string representation of val + stringRep := "" + switch kind { + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + stringRep = swag.FormatUint64(valueHelp.asUint64(val)) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + stringRep = swag.FormatInt64(valueHelp.asInt64(val)) + case reflect.Float32, reflect.Float64: + stringRep = swag.FormatFloat64(valueHelp.asFloat64(val)) + default: + return fmt.Errorf("%s value number range checking called with invalid (non numeric) val type in %s", prefix, path) + } + + var errVal error + + switch typeName { + case "integer": + switch format { + case "int32": + _, errVal = swag.ConvertInt32(stringRep) + case "uint32": + _, errVal = swag.ConvertUint32(stringRep) + case "uint64": + _, errVal = swag.ConvertUint64(stringRep) + case "int64": + fallthrough + default: + _, errVal = swag.ConvertInt64(stringRep) + } + case "number": + fallthrough + default: + switch format { + case "float", "float32": + _, errVal = swag.ConvertFloat32(stringRep) + case "double", "float64": + fallthrough + default: + // No check can be performed here since + // no number beyond float64 is supported + } + } + if errVal != nil { // We don't report the actual errVal from strconv + if format != "" { + errVal = fmt.Errorf("%s value must be of type %s with format %s in %s", prefix, typeName, format, path) + } else { + errVal = fmt.Errorf("%s value must be of type %s (default format) in %s", prefix, typeName, path) + } + } + return errVal +} diff --git a/vendor/github.com/jessevdk/go-flags/.travis.yml b/vendor/github.com/jessevdk/go-flags/.travis.yml new file mode 100644 index 00000000000..0f0728d2fd3 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/.travis.yml @@ -0,0 +1,44 @@ +language: go + +os: + - linux + - osx + +go: + - 1.x + - 1.7.x + - 1.8.x + - 1.9.x + - 1.10.x + +install: + # go-flags + - go get -d -v ./... + - go build -v ./... + + # linting + - go get github.com/golang/lint/golint + + # code coverage + - go get golang.org/x/tools/cmd/cover + - go get github.com/onsi/ginkgo/ginkgo + - go get github.com/modocache/gover + - if [ "$TRAVIS_SECURE_ENV_VARS" = "true" ]; then go get github.com/mattn/goveralls; fi + +script: + # go-flags + - $(exit $(gofmt -l . | wc -l)) + - go test -v ./... + + # linting + - go tool vet -all=true -v=true . || true + - $(go env GOPATH | awk 'BEGIN{FS=":"} {print $1}')/bin/golint ./... + + # code coverage + - $(go env GOPATH | awk 'BEGIN{FS=":"} {print $1}')/bin/ginkgo -r -cover + - $(go env GOPATH | awk 'BEGIN{FS=":"} {print $1}')/bin/gover + - if [ "$TRAVIS_SECURE_ENV_VARS" = "true" ]; then $(go env GOPATH | awk 'BEGIN{FS=":"} {print $1}')/bin/goveralls -coverprofile=gover.coverprofile -service=travis-ci -repotoken $COVERALLS_TOKEN; fi + +env: + # coveralls.io + secure: "RCYbiB4P0RjQRIoUx/vG/AjP3mmYCbzOmr86DCww1Z88yNcy3hYr3Cq8rpPtYU5v0g7wTpu4adaKIcqRE9xknYGbqj3YWZiCoBP1/n4Z+9sHW3Dsd9D/GRGeHUus0laJUGARjWoCTvoEtOgTdGQDoX7mH+pUUY0FBltNYUdOiiU=" diff --git a/vendor/github.com/jessevdk/go-flags/LICENSE b/vendor/github.com/jessevdk/go-flags/LICENSE new file mode 100644 index 00000000000..bcca0d521be --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/LICENSE @@ -0,0 +1,26 @@ +Copyright (c) 2012 Jesse van den Kieboom. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/jessevdk/go-flags/README.md b/vendor/github.com/jessevdk/go-flags/README.md new file mode 100644 index 00000000000..3b02394ed9c --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/README.md @@ -0,0 +1,134 @@ +go-flags: a go library for parsing command line arguments +========================================================= + +[![GoDoc](https://godoc.org/github.com/jessevdk/go-flags?status.png)](https://godoc.org/github.com/jessevdk/go-flags) [![Build Status](https://travis-ci.org/jessevdk/go-flags.svg?branch=master)](https://travis-ci.org/jessevdk/go-flags) [![Coverage Status](https://img.shields.io/coveralls/jessevdk/go-flags.svg)](https://coveralls.io/r/jessevdk/go-flags?branch=master) + +This library provides similar functionality to the builtin flag library of +go, but provides much more functionality and nicer formatting. From the +documentation: + +Package flags provides an extensive command line option parser. +The flags package is similar in functionality to the go builtin flag package +but provides more options and uses reflection to provide a convenient and +succinct way of specifying command line options. + +Supported features: +* Options with short names (-v) +* Options with long names (--verbose) +* Options with and without arguments (bool v.s. other type) +* Options with optional arguments and default values +* Multiple option groups each containing a set of options +* Generate and print well-formatted help message +* Passing remaining command line arguments after -- (optional) +* Ignoring unknown command line options (optional) +* Supports -I/usr/include -I=/usr/include -I /usr/include option argument specification +* Supports multiple short options -aux +* Supports all primitive go types (string, int{8..64}, uint{8..64}, float) +* Supports same option multiple times (can store in slice or last option counts) +* Supports maps +* Supports function callbacks +* Supports namespaces for (nested) option groups + +The flags package uses structs, reflection and struct field tags +to allow users to specify command line options. This results in very simple +and concise specification of your application options. For example: + +```go +type Options struct { + Verbose []bool `short:"v" long:"verbose" description:"Show verbose debug information"` +} +``` + +This specifies one option with a short name -v and a long name --verbose. +When either -v or --verbose is found on the command line, a 'true' value +will be appended to the Verbose field. e.g. when specifying -vvv, the +resulting value of Verbose will be {[true, true, true]}. + +Example: +-------- +```go +var opts struct { + // Slice of bool will append 'true' each time the option + // is encountered (can be set multiple times, like -vvv) + Verbose []bool `short:"v" long:"verbose" description:"Show verbose debug information"` + + // Example of automatic marshalling to desired type (uint) + Offset uint `long:"offset" description:"Offset"` + + // Example of a callback, called each time the option is found. + Call func(string) `short:"c" description:"Call phone number"` + + // Example of a required flag + Name string `short:"n" long:"name" description:"A name" required:"true"` + + // Example of a value name + File string `short:"f" long:"file" description:"A file" value-name:"FILE"` + + // Example of a pointer + Ptr *int `short:"p" description:"A pointer to an integer"` + + // Example of a slice of strings + StringSlice []string `short:"s" description:"A slice of strings"` + + // Example of a slice of pointers + PtrSlice []*string `long:"ptrslice" description:"A slice of pointers to string"` + + // Example of a map + IntMap map[string]int `long:"intmap" description:"A map from string to int"` +} + +// Callback which will invoke callto: to call a number. +// Note that this works just on OS X (and probably only with +// Skype) but it shows the idea. +opts.Call = func(num string) { + cmd := exec.Command("open", "callto:"+num) + cmd.Start() + cmd.Process.Release() +} + +// Make some fake arguments to parse. +args := []string{ + "-vv", + "--offset=5", + "-n", "Me", + "-p", "3", + "-s", "hello", + "-s", "world", + "--ptrslice", "hello", + "--ptrslice", "world", + "--intmap", "a:1", + "--intmap", "b:5", + "arg1", + "arg2", + "arg3", +} + +// Parse flags from `args'. Note that here we use flags.ParseArgs for +// the sake of making a working example. Normally, you would simply use +// flags.Parse(&opts) which uses os.Args +args, err := flags.ParseArgs(&opts, args) + +if err != nil { + panic(err) +} + +fmt.Printf("Verbosity: %v\n", opts.Verbose) +fmt.Printf("Offset: %d\n", opts.Offset) +fmt.Printf("Name: %s\n", opts.Name) +fmt.Printf("Ptr: %d\n", *opts.Ptr) +fmt.Printf("StringSlice: %v\n", opts.StringSlice) +fmt.Printf("PtrSlice: [%v %v]\n", *opts.PtrSlice[0], *opts.PtrSlice[1]) +fmt.Printf("IntMap: [a:%v b:%v]\n", opts.IntMap["a"], opts.IntMap["b"]) +fmt.Printf("Remaining args: %s\n", strings.Join(args, " ")) + +// Output: Verbosity: [true true] +// Offset: 5 +// Name: Me +// Ptr: 3 +// StringSlice: [hello world] +// PtrSlice: [hello world] +// IntMap: [a:1 b:5] +// Remaining args: arg1 arg2 arg3 +``` + +More information can be found in the godocs: diff --git a/vendor/github.com/jessevdk/go-flags/arg.go b/vendor/github.com/jessevdk/go-flags/arg.go new file mode 100644 index 00000000000..8ec62048f82 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/arg.go @@ -0,0 +1,27 @@ +package flags + +import ( + "reflect" +) + +// Arg represents a positional argument on the command line. +type Arg struct { + // The name of the positional argument (used in the help) + Name string + + // A description of the positional argument (used in the help) + Description string + + // The minimal number of required positional arguments + Required int + + // The maximum number of required positional arguments + RequiredMaximum int + + value reflect.Value + tag multiTag +} + +func (a *Arg) isRemaining() bool { + return a.value.Type().Kind() == reflect.Slice +} diff --git a/vendor/github.com/jessevdk/go-flags/check_crosscompile.sh b/vendor/github.com/jessevdk/go-flags/check_crosscompile.sh new file mode 100644 index 00000000000..c494f6119d3 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/check_crosscompile.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -e + +echo '# linux arm7' +GOARM=7 GOARCH=arm GOOS=linux go build +echo '# linux arm5' +GOARM=5 GOARCH=arm GOOS=linux go build +echo '# windows 386' +GOARCH=386 GOOS=windows go build +echo '# windows amd64' +GOARCH=amd64 GOOS=windows go build +echo '# darwin' +GOARCH=amd64 GOOS=darwin go build +echo '# freebsd' +GOARCH=amd64 GOOS=freebsd go build diff --git a/vendor/github.com/jessevdk/go-flags/closest.go b/vendor/github.com/jessevdk/go-flags/closest.go new file mode 100644 index 00000000000..3b518757c43 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/closest.go @@ -0,0 +1,59 @@ +package flags + +func levenshtein(s string, t string) int { + if len(s) == 0 { + return len(t) + } + + if len(t) == 0 { + return len(s) + } + + dists := make([][]int, len(s)+1) + for i := range dists { + dists[i] = make([]int, len(t)+1) + dists[i][0] = i + } + + for j := range t { + dists[0][j] = j + } + + for i, sc := range s { + for j, tc := range t { + if sc == tc { + dists[i+1][j+1] = dists[i][j] + } else { + dists[i+1][j+1] = dists[i][j] + 1 + if dists[i+1][j] < dists[i+1][j+1] { + dists[i+1][j+1] = dists[i+1][j] + 1 + } + if dists[i][j+1] < dists[i+1][j+1] { + dists[i+1][j+1] = dists[i][j+1] + 1 + } + } + } + } + + return dists[len(s)][len(t)] +} + +func closestChoice(cmd string, choices []string) (string, int) { + if len(choices) == 0 { + return "", 0 + } + + mincmd := -1 + mindist := -1 + + for i, c := range choices { + l := levenshtein(cmd, c) + + if mincmd < 0 || l < mindist { + mindist = l + mincmd = i + } + } + + return choices[mincmd], mindist +} diff --git a/vendor/github.com/jessevdk/go-flags/command.go b/vendor/github.com/jessevdk/go-flags/command.go new file mode 100644 index 00000000000..486bacba1ff --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/command.go @@ -0,0 +1,465 @@ +package flags + +import ( + "reflect" + "sort" + "strconv" + "strings" +) + +// Command represents an application command. Commands can be added to the +// parser (which itself is a command) and are selected/executed when its name +// is specified on the command line. The Command type embeds a Group and +// therefore also carries a set of command specific options. +type Command struct { + // Embedded, see Group for more information + *Group + + // The name by which the command can be invoked + Name string + + // The active sub command (set by parsing) or nil + Active *Command + + // Whether subcommands are optional + SubcommandsOptional bool + + // Aliases for the command + Aliases []string + + // Whether positional arguments are required + ArgsRequired bool + + commands []*Command + hasBuiltinHelpGroup bool + args []*Arg +} + +// Commander is an interface which can be implemented by any command added in +// the options. When implemented, the Execute method will be called for the last +// specified (sub)command providing the remaining command line arguments. +type Commander interface { + // Execute will be called for the last active (sub)command. The + // args argument contains the remaining command line arguments. The + // error that Execute returns will be eventually passed out of the + // Parse method of the Parser. + Execute(args []string) error +} + +// Usage is an interface which can be implemented to show a custom usage string +// in the help message shown for a command. +type Usage interface { + // Usage is called for commands to allow customized printing of command + // usage in the generated help message. + Usage() string +} + +type lookup struct { + shortNames map[string]*Option + longNames map[string]*Option + + commands map[string]*Command +} + +// AddCommand adds a new command to the parser with the given name and data. The +// data needs to be a pointer to a struct from which the fields indicate which +// options are in the command. The provided data can implement the Command and +// Usage interfaces. +func (c *Command) AddCommand(command string, shortDescription string, longDescription string, data interface{}) (*Command, error) { + cmd := newCommand(command, shortDescription, longDescription, data) + + cmd.parent = c + + if err := cmd.scan(); err != nil { + return nil, err + } + + c.commands = append(c.commands, cmd) + return cmd, nil +} + +// AddGroup adds a new group to the command with the given name and data. The +// data needs to be a pointer to a struct from which the fields indicate which +// options are in the group. +func (c *Command) AddGroup(shortDescription string, longDescription string, data interface{}) (*Group, error) { + group := newGroup(shortDescription, longDescription, data) + + group.parent = c + + if err := group.scanType(c.scanSubcommandHandler(group)); err != nil { + return nil, err + } + + c.groups = append(c.groups, group) + return group, nil +} + +// Commands returns a list of subcommands of this command. +func (c *Command) Commands() []*Command { + return c.commands +} + +// Find locates the subcommand with the given name and returns it. If no such +// command can be found Find will return nil. +func (c *Command) Find(name string) *Command { + for _, cc := range c.commands { + if cc.match(name) { + return cc + } + } + + return nil +} + +// FindOptionByLongName finds an option that is part of the command, or any of +// its parent commands, by matching its long name (including the option +// namespace). +func (c *Command) FindOptionByLongName(longName string) (option *Option) { + for option == nil && c != nil { + option = c.Group.FindOptionByLongName(longName) + + c, _ = c.parent.(*Command) + } + + return option +} + +// FindOptionByShortName finds an option that is part of the command, or any of +// its parent commands, by matching its long name (including the option +// namespace). +func (c *Command) FindOptionByShortName(shortName rune) (option *Option) { + for option == nil && c != nil { + option = c.Group.FindOptionByShortName(shortName) + + c, _ = c.parent.(*Command) + } + + return option +} + +// Args returns a list of positional arguments associated with this command. +func (c *Command) Args() []*Arg { + ret := make([]*Arg, len(c.args)) + copy(ret, c.args) + + return ret +} + +func newCommand(name string, shortDescription string, longDescription string, data interface{}) *Command { + return &Command{ + Group: newGroup(shortDescription, longDescription, data), + Name: name, + } +} + +func (c *Command) scanSubcommandHandler(parentg *Group) scanHandler { + f := func(realval reflect.Value, sfield *reflect.StructField) (bool, error) { + mtag := newMultiTag(string(sfield.Tag)) + + if err := mtag.Parse(); err != nil { + return true, err + } + + positional := mtag.Get("positional-args") + + if len(positional) != 0 { + stype := realval.Type() + + for i := 0; i < stype.NumField(); i++ { + field := stype.Field(i) + + m := newMultiTag((string(field.Tag))) + + if err := m.Parse(); err != nil { + return true, err + } + + name := m.Get("positional-arg-name") + + if len(name) == 0 { + name = field.Name + } + + required := -1 + requiredMaximum := -1 + + sreq := m.Get("required") + + if sreq != "" { + required = 1 + + rng := strings.SplitN(sreq, "-", 2) + + if len(rng) > 1 { + if preq, err := strconv.ParseInt(rng[0], 10, 32); err == nil { + required = int(preq) + } + + if preq, err := strconv.ParseInt(rng[1], 10, 32); err == nil { + requiredMaximum = int(preq) + } + } else { + if preq, err := strconv.ParseInt(sreq, 10, 32); err == nil { + required = int(preq) + } + } + } + + arg := &Arg{ + Name: name, + Description: m.Get("description"), + Required: required, + RequiredMaximum: requiredMaximum, + + value: realval.Field(i), + tag: m, + } + + c.args = append(c.args, arg) + + if len(mtag.Get("required")) != 0 { + c.ArgsRequired = true + } + } + + return true, nil + } + + subcommand := mtag.Get("command") + + if len(subcommand) != 0 { + var ptrval reflect.Value + + if realval.Kind() == reflect.Ptr { + ptrval = realval + + if ptrval.IsNil() { + ptrval.Set(reflect.New(ptrval.Type().Elem())) + } + } else { + ptrval = realval.Addr() + } + + shortDescription := mtag.Get("description") + longDescription := mtag.Get("long-description") + subcommandsOptional := mtag.Get("subcommands-optional") + aliases := mtag.GetMany("alias") + + subc, err := c.AddCommand(subcommand, shortDescription, longDescription, ptrval.Interface()) + + if err != nil { + return true, err + } + + subc.Hidden = mtag.Get("hidden") != "" + + if len(subcommandsOptional) > 0 { + subc.SubcommandsOptional = true + } + + if len(aliases) > 0 { + subc.Aliases = aliases + } + + return true, nil + } + + return parentg.scanSubGroupHandler(realval, sfield) + } + + return f +} + +func (c *Command) scan() error { + return c.scanType(c.scanSubcommandHandler(c.Group)) +} + +func (c *Command) eachOption(f func(*Command, *Group, *Option)) { + c.eachCommand(func(c *Command) { + c.eachGroup(func(g *Group) { + for _, option := range g.options { + f(c, g, option) + } + }) + }, true) +} + +func (c *Command) eachCommand(f func(*Command), recurse bool) { + f(c) + + for _, cc := range c.commands { + if recurse { + cc.eachCommand(f, true) + } else { + f(cc) + } + } +} + +func (c *Command) eachActiveGroup(f func(cc *Command, g *Group)) { + c.eachGroup(func(g *Group) { + f(c, g) + }) + + if c.Active != nil { + c.Active.eachActiveGroup(f) + } +} + +func (c *Command) addHelpGroups(showHelp func() error) { + if !c.hasBuiltinHelpGroup { + c.addHelpGroup(showHelp) + c.hasBuiltinHelpGroup = true + } + + for _, cc := range c.commands { + cc.addHelpGroups(showHelp) + } +} + +func (c *Command) makeLookup() lookup { + ret := lookup{ + shortNames: make(map[string]*Option), + longNames: make(map[string]*Option), + commands: make(map[string]*Command), + } + + parent := c.parent + + var parents []*Command + + for parent != nil { + if cmd, ok := parent.(*Command); ok { + parents = append(parents, cmd) + parent = cmd.parent + } else { + parent = nil + } + } + + for i := len(parents) - 1; i >= 0; i-- { + parents[i].fillLookup(&ret, true) + } + + c.fillLookup(&ret, false) + return ret +} + +func (c *Command) fillLookup(ret *lookup, onlyOptions bool) { + c.eachGroup(func(g *Group) { + for _, option := range g.options { + if option.ShortName != 0 { + ret.shortNames[string(option.ShortName)] = option + } + + if len(option.LongName) > 0 { + ret.longNames[option.LongNameWithNamespace()] = option + } + } + }) + + if onlyOptions { + return + } + + for _, subcommand := range c.commands { + ret.commands[subcommand.Name] = subcommand + + for _, a := range subcommand.Aliases { + ret.commands[a] = subcommand + } + } +} + +func (c *Command) groupByName(name string) *Group { + if grp := c.Group.groupByName(name); grp != nil { + return grp + } + + for _, subc := range c.commands { + prefix := subc.Name + "." + + if strings.HasPrefix(name, prefix) { + if grp := subc.groupByName(name[len(prefix):]); grp != nil { + return grp + } + } else if name == subc.Name { + return subc.Group + } + } + + return nil +} + +type commandList []*Command + +func (c commandList) Less(i, j int) bool { + return c[i].Name < c[j].Name +} + +func (c commandList) Len() int { + return len(c) +} + +func (c commandList) Swap(i, j int) { + c[i], c[j] = c[j], c[i] +} + +func (c *Command) sortedVisibleCommands() []*Command { + ret := commandList(c.visibleCommands()) + sort.Sort(ret) + + return []*Command(ret) +} + +func (c *Command) visibleCommands() []*Command { + ret := make([]*Command, 0, len(c.commands)) + + for _, cmd := range c.commands { + if !cmd.Hidden { + ret = append(ret, cmd) + } + } + + return ret +} + +func (c *Command) match(name string) bool { + if c.Name == name { + return true + } + + for _, v := range c.Aliases { + if v == name { + return true + } + } + + return false +} + +func (c *Command) hasCliOptions() bool { + ret := false + + c.eachGroup(func(g *Group) { + if g.isBuiltinHelp { + return + } + + for _, opt := range g.options { + if opt.canCli() { + ret = true + } + } + }) + + return ret +} + +func (c *Command) fillParseState(s *parseState) { + s.positional = make([]*Arg, len(c.args)) + copy(s.positional, c.args) + + s.lookup = c.makeLookup() + s.command = c +} diff --git a/vendor/github.com/jessevdk/go-flags/completion.go b/vendor/github.com/jessevdk/go-flags/completion.go new file mode 100644 index 00000000000..7a7a08b9386 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/completion.go @@ -0,0 +1,309 @@ +package flags + +import ( + "fmt" + "path/filepath" + "reflect" + "sort" + "strings" + "unicode/utf8" +) + +// Completion is a type containing information of a completion. +type Completion struct { + // The completed item + Item string + + // A description of the completed item (optional) + Description string +} + +type completions []Completion + +func (c completions) Len() int { + return len(c) +} + +func (c completions) Less(i, j int) bool { + return c[i].Item < c[j].Item +} + +func (c completions) Swap(i, j int) { + c[i], c[j] = c[j], c[i] +} + +// Completer is an interface which can be implemented by types +// to provide custom command line argument completion. +type Completer interface { + // Complete receives a prefix representing a (partial) value + // for its type and should provide a list of possible valid + // completions. + Complete(match string) []Completion +} + +type completion struct { + parser *Parser +} + +// Filename is a string alias which provides filename completion. +type Filename string + +func completionsWithoutDescriptions(items []string) []Completion { + ret := make([]Completion, len(items)) + + for i, v := range items { + ret[i].Item = v + } + + return ret +} + +// Complete returns a list of existing files with the given +// prefix. +func (f *Filename) Complete(match string) []Completion { + ret, _ := filepath.Glob(match + "*") + return completionsWithoutDescriptions(ret) +} + +func (c *completion) skipPositional(s *parseState, n int) { + if n >= len(s.positional) { + s.positional = nil + } else { + s.positional = s.positional[n:] + } +} + +func (c *completion) completeOptionNames(s *parseState, prefix string, match string, short bool) []Completion { + if short && len(match) != 0 { + return []Completion{ + Completion{ + Item: prefix + match, + }, + } + } + + var results []Completion + repeats := map[string]bool{} + + for name, opt := range s.lookup.longNames { + if strings.HasPrefix(name, match) && !opt.Hidden { + results = append(results, Completion{ + Item: defaultLongOptDelimiter + name, + Description: opt.Description, + }) + + if short { + repeats[string(opt.ShortName)] = true + } + } + } + + if short { + for name, opt := range s.lookup.shortNames { + if _, exist := repeats[name]; !exist && strings.HasPrefix(name, match) && !opt.Hidden { + results = append(results, Completion{ + Item: string(defaultShortOptDelimiter) + name, + Description: opt.Description, + }) + } + } + } + + return results +} + +func (c *completion) completeNamesForLongPrefix(s *parseState, prefix string, match string) []Completion { + return c.completeOptionNames(s, prefix, match, false) +} + +func (c *completion) completeNamesForShortPrefix(s *parseState, prefix string, match string) []Completion { + return c.completeOptionNames(s, prefix, match, true) +} + +func (c *completion) completeCommands(s *parseState, match string) []Completion { + n := make([]Completion, 0, len(s.command.commands)) + + for _, cmd := range s.command.commands { + if cmd.data != c && strings.HasPrefix(cmd.Name, match) { + n = append(n, Completion{ + Item: cmd.Name, + Description: cmd.ShortDescription, + }) + } + } + + return n +} + +func (c *completion) completeValue(value reflect.Value, prefix string, match string) []Completion { + if value.Kind() == reflect.Slice { + value = reflect.New(value.Type().Elem()) + } + i := value.Interface() + + var ret []Completion + + if cmp, ok := i.(Completer); ok { + ret = cmp.Complete(match) + } else if value.CanAddr() { + if cmp, ok = value.Addr().Interface().(Completer); ok { + ret = cmp.Complete(match) + } + } + + for i, v := range ret { + ret[i].Item = prefix + v.Item + } + + return ret +} + +func (c *completion) complete(args []string) []Completion { + if len(args) == 0 { + args = []string{""} + } + + s := &parseState{ + args: args, + } + + c.parser.fillParseState(s) + + var opt *Option + + for len(s.args) > 1 { + arg := s.pop() + + if (c.parser.Options&PassDoubleDash) != None && arg == "--" { + opt = nil + c.skipPositional(s, len(s.args)-1) + + break + } + + if argumentIsOption(arg) { + prefix, optname, islong := stripOptionPrefix(arg) + optname, _, argument := splitOption(prefix, optname, islong) + + if argument == nil { + var o *Option + canarg := true + + if islong { + o = s.lookup.longNames[optname] + } else { + for i, r := range optname { + sname := string(r) + o = s.lookup.shortNames[sname] + + if o == nil { + break + } + + if i == 0 && o.canArgument() && len(optname) != len(sname) { + canarg = false + break + } + } + } + + if o == nil && (c.parser.Options&PassAfterNonOption) != None { + opt = nil + c.skipPositional(s, len(s.args)-1) + + break + } else if o != nil && o.canArgument() && !o.OptionalArgument && canarg { + if len(s.args) > 1 { + s.pop() + } else { + opt = o + } + } + } + } else { + if len(s.positional) > 0 { + if !s.positional[0].isRemaining() { + // Don't advance beyond a remaining positional arg (because + // it consumes all subsequent args). + s.positional = s.positional[1:] + } + } else if cmd, ok := s.lookup.commands[arg]; ok { + cmd.fillParseState(s) + } + + opt = nil + } + } + + lastarg := s.args[len(s.args)-1] + var ret []Completion + + if opt != nil { + // Completion for the argument of 'opt' + ret = c.completeValue(opt.value, "", lastarg) + } else if argumentStartsOption(lastarg) { + // Complete the option + prefix, optname, islong := stripOptionPrefix(lastarg) + optname, split, argument := splitOption(prefix, optname, islong) + + if argument == nil && !islong { + rname, n := utf8.DecodeRuneInString(optname) + sname := string(rname) + + if opt := s.lookup.shortNames[sname]; opt != nil && opt.canArgument() { + ret = c.completeValue(opt.value, prefix+sname, optname[n:]) + } else { + ret = c.completeNamesForShortPrefix(s, prefix, optname) + } + } else if argument != nil { + if islong { + opt = s.lookup.longNames[optname] + } else { + opt = s.lookup.shortNames[optname] + } + + if opt != nil { + ret = c.completeValue(opt.value, prefix+optname+split, *argument) + } + } else if islong { + ret = c.completeNamesForLongPrefix(s, prefix, optname) + } else { + ret = c.completeNamesForShortPrefix(s, prefix, optname) + } + } else if len(s.positional) > 0 { + // Complete for positional argument + ret = c.completeValue(s.positional[0].value, "", lastarg) + } else if len(s.command.commands) > 0 { + // Complete for command + ret = c.completeCommands(s, lastarg) + } + + sort.Sort(completions(ret)) + return ret +} + +func (c *completion) print(items []Completion, showDescriptions bool) { + if showDescriptions && len(items) > 1 { + maxl := 0 + + for _, v := range items { + if len(v.Item) > maxl { + maxl = len(v.Item) + } + } + + for _, v := range items { + fmt.Printf("%s", v.Item) + + if len(v.Description) > 0 { + fmt.Printf("%s # %s", strings.Repeat(" ", maxl-len(v.Item)), v.Description) + } + + fmt.Printf("\n") + } + } else { + for _, v := range items { + fmt.Println(v.Item) + } + } +} diff --git a/vendor/github.com/jessevdk/go-flags/convert.go b/vendor/github.com/jessevdk/go-flags/convert.go new file mode 100644 index 00000000000..984aac89cc0 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/convert.go @@ -0,0 +1,348 @@ +// Copyright 2012 Jesse van den Kieboom. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package flags + +import ( + "fmt" + "reflect" + "strconv" + "strings" + "time" +) + +// Marshaler is the interface implemented by types that can marshal themselves +// to a string representation of the flag. +type Marshaler interface { + // MarshalFlag marshals a flag value to its string representation. + MarshalFlag() (string, error) +} + +// Unmarshaler is the interface implemented by types that can unmarshal a flag +// argument to themselves. The provided value is directly passed from the +// command line. +type Unmarshaler interface { + // UnmarshalFlag unmarshals a string value representation to the flag + // value (which therefore needs to be a pointer receiver). + UnmarshalFlag(value string) error +} + +func getBase(options multiTag, base int) (int, error) { + sbase := options.Get("base") + + var err error + var ivbase int64 + + if sbase != "" { + ivbase, err = strconv.ParseInt(sbase, 10, 32) + base = int(ivbase) + } + + return base, err +} + +func convertMarshal(val reflect.Value) (bool, string, error) { + // Check first for the Marshaler interface + if val.Type().NumMethod() > 0 && val.CanInterface() { + if marshaler, ok := val.Interface().(Marshaler); ok { + ret, err := marshaler.MarshalFlag() + return true, ret, err + } + } + + return false, "", nil +} + +func convertToString(val reflect.Value, options multiTag) (string, error) { + if ok, ret, err := convertMarshal(val); ok { + return ret, err + } + + tp := val.Type() + + // Support for time.Duration + if tp == reflect.TypeOf((*time.Duration)(nil)).Elem() { + stringer := val.Interface().(fmt.Stringer) + return stringer.String(), nil + } + + switch tp.Kind() { + case reflect.String: + return val.String(), nil + case reflect.Bool: + if val.Bool() { + return "true", nil + } + + return "false", nil + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + base, err := getBase(options, 10) + + if err != nil { + return "", err + } + + return strconv.FormatInt(val.Int(), base), nil + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + base, err := getBase(options, 10) + + if err != nil { + return "", err + } + + return strconv.FormatUint(val.Uint(), base), nil + case reflect.Float32, reflect.Float64: + return strconv.FormatFloat(val.Float(), 'g', -1, tp.Bits()), nil + case reflect.Slice: + if val.Len() == 0 { + return "", nil + } + + ret := "[" + + for i := 0; i < val.Len(); i++ { + if i != 0 { + ret += ", " + } + + item, err := convertToString(val.Index(i), options) + + if err != nil { + return "", err + } + + ret += item + } + + return ret + "]", nil + case reflect.Map: + ret := "{" + + for i, key := range val.MapKeys() { + if i != 0 { + ret += ", " + } + + keyitem, err := convertToString(key, options) + + if err != nil { + return "", err + } + + item, err := convertToString(val.MapIndex(key), options) + + if err != nil { + return "", err + } + + ret += keyitem + ":" + item + } + + return ret + "}", nil + case reflect.Ptr: + return convertToString(reflect.Indirect(val), options) + case reflect.Interface: + if !val.IsNil() { + return convertToString(val.Elem(), options) + } + } + + return "", nil +} + +func convertUnmarshal(val string, retval reflect.Value) (bool, error) { + if retval.Type().NumMethod() > 0 && retval.CanInterface() { + if unmarshaler, ok := retval.Interface().(Unmarshaler); ok { + if retval.IsNil() { + retval.Set(reflect.New(retval.Type().Elem())) + + // Re-assign from the new value + unmarshaler = retval.Interface().(Unmarshaler) + } + + return true, unmarshaler.UnmarshalFlag(val) + } + } + + if retval.Type().Kind() != reflect.Ptr && retval.CanAddr() { + return convertUnmarshal(val, retval.Addr()) + } + + if retval.Type().Kind() == reflect.Interface && !retval.IsNil() { + return convertUnmarshal(val, retval.Elem()) + } + + return false, nil +} + +func convert(val string, retval reflect.Value, options multiTag) error { + if ok, err := convertUnmarshal(val, retval); ok { + return err + } + + tp := retval.Type() + + // Support for time.Duration + if tp == reflect.TypeOf((*time.Duration)(nil)).Elem() { + parsed, err := time.ParseDuration(val) + + if err != nil { + return err + } + + retval.SetInt(int64(parsed)) + return nil + } + + switch tp.Kind() { + case reflect.String: + retval.SetString(val) + case reflect.Bool: + if val == "" { + retval.SetBool(true) + } else { + b, err := strconv.ParseBool(val) + + if err != nil { + return err + } + + retval.SetBool(b) + } + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + base, err := getBase(options, 10) + + if err != nil { + return err + } + + parsed, err := strconv.ParseInt(val, base, tp.Bits()) + + if err != nil { + return err + } + + retval.SetInt(parsed) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + base, err := getBase(options, 10) + + if err != nil { + return err + } + + parsed, err := strconv.ParseUint(val, base, tp.Bits()) + + if err != nil { + return err + } + + retval.SetUint(parsed) + case reflect.Float32, reflect.Float64: + parsed, err := strconv.ParseFloat(val, tp.Bits()) + + if err != nil { + return err + } + + retval.SetFloat(parsed) + case reflect.Slice: + elemtp := tp.Elem() + + elemvalptr := reflect.New(elemtp) + elemval := reflect.Indirect(elemvalptr) + + if err := convert(val, elemval, options); err != nil { + return err + } + + retval.Set(reflect.Append(retval, elemval)) + case reflect.Map: + parts := strings.SplitN(val, ":", 2) + + key := parts[0] + var value string + + if len(parts) == 2 { + value = parts[1] + } + + keytp := tp.Key() + keyval := reflect.New(keytp) + + if err := convert(key, keyval, options); err != nil { + return err + } + + valuetp := tp.Elem() + valueval := reflect.New(valuetp) + + if err := convert(value, valueval, options); err != nil { + return err + } + + if retval.IsNil() { + retval.Set(reflect.MakeMap(tp)) + } + + retval.SetMapIndex(reflect.Indirect(keyval), reflect.Indirect(valueval)) + case reflect.Ptr: + if retval.IsNil() { + retval.Set(reflect.New(retval.Type().Elem())) + } + + return convert(val, reflect.Indirect(retval), options) + case reflect.Interface: + if !retval.IsNil() { + return convert(val, retval.Elem(), options) + } + } + + return nil +} + +func isPrint(s string) bool { + for _, c := range s { + if !strconv.IsPrint(c) { + return false + } + } + + return true +} + +func quoteIfNeeded(s string) string { + if !isPrint(s) { + return strconv.Quote(s) + } + + return s +} + +func quoteIfNeededV(s []string) []string { + ret := make([]string, len(s)) + + for i, v := range s { + ret[i] = quoteIfNeeded(v) + } + + return ret +} + +func quoteV(s []string) []string { + ret := make([]string, len(s)) + + for i, v := range s { + ret[i] = strconv.Quote(v) + } + + return ret +} + +func unquoteIfPossible(s string) (string, error) { + if len(s) == 0 || s[0] != '"' { + return s, nil + } + + return strconv.Unquote(s) +} diff --git a/vendor/github.com/jessevdk/go-flags/error.go b/vendor/github.com/jessevdk/go-flags/error.go new file mode 100644 index 00000000000..05528d8d284 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/error.go @@ -0,0 +1,134 @@ +package flags + +import ( + "fmt" +) + +// ErrorType represents the type of error. +type ErrorType uint + +const ( + // ErrUnknown indicates a generic error. + ErrUnknown ErrorType = iota + + // ErrExpectedArgument indicates that an argument was expected. + ErrExpectedArgument + + // ErrUnknownFlag indicates an unknown flag. + ErrUnknownFlag + + // ErrUnknownGroup indicates an unknown group. + ErrUnknownGroup + + // ErrMarshal indicates a marshalling error while converting values. + ErrMarshal + + // ErrHelp indicates that the built-in help was shown (the error + // contains the help message). + ErrHelp + + // ErrNoArgumentForBool indicates that an argument was given for a + // boolean flag (which don't not take any arguments). + ErrNoArgumentForBool + + // ErrRequired indicates that a required flag was not provided. + ErrRequired + + // ErrShortNameTooLong indicates that a short flag name was specified, + // longer than one character. + ErrShortNameTooLong + + // ErrDuplicatedFlag indicates that a short or long flag has been + // defined more than once + ErrDuplicatedFlag + + // ErrTag indicates an error while parsing flag tags. + ErrTag + + // ErrCommandRequired indicates that a command was required but not + // specified + ErrCommandRequired + + // ErrUnknownCommand indicates that an unknown command was specified. + ErrUnknownCommand + + // ErrInvalidChoice indicates an invalid option value which only allows + // a certain number of choices. + ErrInvalidChoice + + // ErrInvalidTag indicates an invalid tag or invalid use of an existing tag + ErrInvalidTag +) + +func (e ErrorType) String() string { + switch e { + case ErrUnknown: + return "unknown" + case ErrExpectedArgument: + return "expected argument" + case ErrUnknownFlag: + return "unknown flag" + case ErrUnknownGroup: + return "unknown group" + case ErrMarshal: + return "marshal" + case ErrHelp: + return "help" + case ErrNoArgumentForBool: + return "no argument for bool" + case ErrRequired: + return "required" + case ErrShortNameTooLong: + return "short name too long" + case ErrDuplicatedFlag: + return "duplicated flag" + case ErrTag: + return "tag" + case ErrCommandRequired: + return "command required" + case ErrUnknownCommand: + return "unknown command" + case ErrInvalidChoice: + return "invalid choice" + case ErrInvalidTag: + return "invalid tag" + } + + return "unrecognized error type" +} + +// Error represents a parser error. The error returned from Parse is of this +// type. The error contains both a Type and Message. +type Error struct { + // The type of error + Type ErrorType + + // The error message + Message string +} + +// Error returns the error's message +func (e *Error) Error() string { + return e.Message +} + +func newError(tp ErrorType, message string) *Error { + return &Error{ + Type: tp, + Message: message, + } +} + +func newErrorf(tp ErrorType, format string, args ...interface{}) *Error { + return newError(tp, fmt.Sprintf(format, args...)) +} + +func wrapError(err error) *Error { + ret, ok := err.(*Error) + + if !ok { + return newError(ErrUnknown, err.Error()) + } + + return ret +} diff --git a/vendor/github.com/jessevdk/go-flags/flags.go b/vendor/github.com/jessevdk/go-flags/flags.go new file mode 100644 index 00000000000..e627c99ff87 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/flags.go @@ -0,0 +1,262 @@ +// Copyright 2012 Jesse van den Kieboom. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package flags provides an extensive command line option parser. +The flags package is similar in functionality to the go built-in flag package +but provides more options and uses reflection to provide a convenient and +succinct way of specifying command line options. + + +Supported features + +The following features are supported in go-flags: + + Options with short names (-v) + Options with long names (--verbose) + Options with and without arguments (bool v.s. other type) + Options with optional arguments and default values + Option default values from ENVIRONMENT_VARIABLES, including slice and map values + Multiple option groups each containing a set of options + Generate and print well-formatted help message + Passing remaining command line arguments after -- (optional) + Ignoring unknown command line options (optional) + Supports -I/usr/include -I=/usr/include -I /usr/include option argument specification + Supports multiple short options -aux + Supports all primitive go types (string, int{8..64}, uint{8..64}, float) + Supports same option multiple times (can store in slice or last option counts) + Supports maps + Supports function callbacks + Supports namespaces for (nested) option groups + +Additional features specific to Windows: + Options with short names (/v) + Options with long names (/verbose) + Windows-style options with arguments use a colon as the delimiter + Modify generated help message with Windows-style / options + Windows style options can be disabled at build time using the "forceposix" + build tag + + +Basic usage + +The flags package uses structs, reflection and struct field tags +to allow users to specify command line options. This results in very simple +and concise specification of your application options. For example: + + type Options struct { + Verbose []bool `short:"v" long:"verbose" description:"Show verbose debug information"` + } + +This specifies one option with a short name -v and a long name --verbose. +When either -v or --verbose is found on the command line, a 'true' value +will be appended to the Verbose field. e.g. when specifying -vvv, the +resulting value of Verbose will be {[true, true, true]}. + +Slice options work exactly the same as primitive type options, except that +whenever the option is encountered, a value is appended to the slice. + +Map options from string to primitive type are also supported. On the command +line, you specify the value for such an option as key:value. For example + + type Options struct { + AuthorInfo string[string] `short:"a"` + } + +Then, the AuthorInfo map can be filled with something like +-a name:Jesse -a "surname:van den Kieboom". + +Finally, for full control over the conversion between command line argument +values and options, user defined types can choose to implement the Marshaler +and Unmarshaler interfaces. + + +Available field tags + +The following is a list of tags for struct fields supported by go-flags: + + short: the short name of the option (single character) + long: the long name of the option + required: if non empty, makes the option required to appear on the command + line. If a required option is not present, the parser will + return ErrRequired (optional) + description: the description of the option (optional) + long-description: the long description of the option. Currently only + displayed in generated man pages (optional) + no-flag: if non-empty, this field is ignored as an option (optional) + + optional: if non-empty, makes the argument of the option optional. When an + argument is optional it can only be specified using + --option=argument (optional) + optional-value: the value of an optional option when the option occurs + without an argument. This tag can be specified multiple + times in the case of maps or slices (optional) + default: the default value of an option. This tag can be specified + multiple times in the case of slices or maps (optional) + default-mask: when specified, this value will be displayed in the help + instead of the actual default value. This is useful + mostly for hiding otherwise sensitive information from + showing up in the help. If default-mask takes the special + value "-", then no default value will be shown at all + (optional) + env: the default value of the option is overridden from the + specified environment variable, if one has been defined. + (optional) + env-delim: the 'env' default value from environment is split into + multiple values with the given delimiter string, use with + slices and maps (optional) + value-name: the name of the argument value (to be shown in the help) + (optional) + choice: limits the values for an option to a set of values. + This tag can be specified multiple times (optional) + hidden: if non-empty, the option is not visible in the help or man page. + + base: a base (radix) used to convert strings to integer values, the + default base is 10 (i.e. decimal) (optional) + + ini-name: the explicit ini option name (optional) + no-ini: if non-empty this field is ignored as an ini option + (optional) + + group: when specified on a struct field, makes the struct + field a separate group with the given name (optional) + namespace: when specified on a group struct field, the namespace + gets prepended to every option's long name and + subgroup's namespace of this group, separated by + the parser's namespace delimiter (optional) + env-namespace: when specified on a group struct field, the env-namespace + gets prepended to every option's env key and + subgroup's env-namespace of this group, separated by + the parser's env-namespace delimiter (optional) + command: when specified on a struct field, makes the struct + field a (sub)command with the given name (optional) + subcommands-optional: when specified on a command struct field, makes + any subcommands of that command optional (optional) + alias: when specified on a command struct field, adds the + specified name as an alias for the command. Can be + be specified multiple times to add more than one + alias (optional) + positional-args: when specified on a field with a struct type, + uses the fields of that struct to parse remaining + positional command line arguments into (in order + of the fields). If a field has a slice type, + then all remaining arguments will be added to it. + Positional arguments are optional by default, + unless the "required" tag is specified together + with the "positional-args" tag. The "required" tag + can also be set on the individual rest argument + fields, to require only the first N positional + arguments. If the "required" tag is set on the + rest arguments slice, then its value determines + the minimum amount of rest arguments that needs to + be provided (e.g. `required:"2"`) (optional) + positional-arg-name: used on a field in a positional argument struct; name + of the positional argument placeholder to be shown in + the help (optional) + +Either the `short:` tag or the `long:` must be specified to make the field eligible as an +option. + + +Option groups + +Option groups are a simple way to semantically separate your options. All +options in a particular group are shown together in the help under the name +of the group. Namespaces can be used to specify option long names more +precisely and emphasize the options affiliation to their group. + +There are currently three ways to specify option groups. + + 1. Use NewNamedParser specifying the various option groups. + 2. Use AddGroup to add a group to an existing parser. + 3. Add a struct field to the top-level options annotated with the + group:"group-name" tag. + + + +Commands + +The flags package also has basic support for commands. Commands are often +used in monolithic applications that support various commands or actions. +Take git for example, all of the add, commit, checkout, etc. are called +commands. Using commands you can easily separate multiple functions of your +application. + +There are currently two ways to specify a command. + + 1. Use AddCommand on an existing parser. + 2. Add a struct field to your options struct annotated with the + command:"command-name" tag. + +The most common, idiomatic way to implement commands is to define a global +parser instance and implement each command in a separate file. These +command files should define a go init function which calls AddCommand on +the global parser. + +When parsing ends and there is an active command and that command implements +the Commander interface, then its Execute method will be run with the +remaining command line arguments. + +Command structs can have options which become valid to parse after the +command has been specified on the command line, in addition to the options +of all the parent commands. I.e. considering a -v flag on the parser and an +add command, the following are equivalent: + + ./app -v add + ./app add -v + +However, if the -v flag is defined on the add command, then the first of +the two examples above would fail since the -v flag is not defined before +the add command. + + +Completion + +go-flags has builtin support to provide bash completion of flags, commands +and argument values. To use completion, the binary which uses go-flags +can be invoked in a special environment to list completion of the current +command line argument. It should be noted that this `executes` your application, +and it is up to the user to make sure there are no negative side effects (for +example from init functions). + +Setting the environment variable `GO_FLAGS_COMPLETION=1` enables completion +by replacing the argument parsing routine with the completion routine which +outputs completions for the passed arguments. The basic invocation to +complete a set of arguments is therefore: + + GO_FLAGS_COMPLETION=1 ./completion-example arg1 arg2 arg3 + +where `completion-example` is the binary, `arg1` and `arg2` are +the current arguments, and `arg3` (the last argument) is the argument +to be completed. If the GO_FLAGS_COMPLETION is set to "verbose", then +descriptions of possible completion items will also be shown, if there +are more than 1 completion items. + +To use this with bash completion, a simple file can be written which +calls the binary which supports go-flags completion: + + _completion_example() { + # All arguments except the first one + args=("${COMP_WORDS[@]:1:$COMP_CWORD}") + + # Only split on newlines + local IFS=$'\n' + + # Call completion (note that the first element of COMP_WORDS is + # the executable itself) + COMPREPLY=($(GO_FLAGS_COMPLETION=1 ${COMP_WORDS[0]} "${args[@]}")) + return 0 + } + + complete -F _completion_example completion-example + +Completion requires the parser option PassDoubleDash and is therefore enforced if the environment variable GO_FLAGS_COMPLETION is set. + +Customized completion for argument values is supported by implementing +the flags.Completer interface for the argument value type. An example +of a type which does so is the flags.Filename type, an alias of string +allowing simple filename completion. A slice or array argument value +whose element type implements flags.Completer will also be completed. +*/ +package flags diff --git a/vendor/github.com/jessevdk/go-flags/group.go b/vendor/github.com/jessevdk/go-flags/group.go new file mode 100644 index 00000000000..9341d23fd74 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/group.go @@ -0,0 +1,410 @@ +// Copyright 2012 Jesse van den Kieboom. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package flags + +import ( + "errors" + "reflect" + "strings" + "unicode/utf8" +) + +// ErrNotPointerToStruct indicates that a provided data container is not +// a pointer to a struct. Only pointers to structs are valid data containers +// for options. +var ErrNotPointerToStruct = errors.New("provided data is not a pointer to struct") + +// Group represents an option group. Option groups can be used to logically +// group options together under a description. Groups are only used to provide +// more structure to options both for the user (as displayed in the help message) +// and for you, since groups can be nested. +type Group struct { + // A short description of the group. The + // short description is primarily used in the built-in generated help + // message + ShortDescription string + + // A long description of the group. The long + // description is primarily used to present information on commands + // (Command embeds Group) in the built-in generated help and man pages. + LongDescription string + + // The namespace of the group + Namespace string + + // The environment namespace of the group + EnvNamespace string + + // If true, the group is not displayed in the help or man page + Hidden bool + + // The parent of the group or nil if it has no parent + parent interface{} + + // All the options in the group + options []*Option + + // All the subgroups + groups []*Group + + // Whether the group represents the built-in help group + isBuiltinHelp bool + + data interface{} +} + +type scanHandler func(reflect.Value, *reflect.StructField) (bool, error) + +// AddGroup adds a new group to the command with the given name and data. The +// data needs to be a pointer to a struct from which the fields indicate which +// options are in the group. +func (g *Group) AddGroup(shortDescription string, longDescription string, data interface{}) (*Group, error) { + group := newGroup(shortDescription, longDescription, data) + + group.parent = g + + if err := group.scan(); err != nil { + return nil, err + } + + g.groups = append(g.groups, group) + return group, nil +} + +// Groups returns the list of groups embedded in this group. +func (g *Group) Groups() []*Group { + return g.groups +} + +// Options returns the list of options in this group. +func (g *Group) Options() []*Option { + return g.options +} + +// Find locates the subgroup with the given short description and returns it. +// If no such group can be found Find will return nil. Note that the description +// is matched case insensitively. +func (g *Group) Find(shortDescription string) *Group { + lshortDescription := strings.ToLower(shortDescription) + + var ret *Group + + g.eachGroup(func(gg *Group) { + if gg != g && strings.ToLower(gg.ShortDescription) == lshortDescription { + ret = gg + } + }) + + return ret +} + +func (g *Group) findOption(matcher func(*Option) bool) (option *Option) { + g.eachGroup(func(g *Group) { + for _, opt := range g.options { + if option == nil && matcher(opt) { + option = opt + } + } + }) + + return option +} + +// FindOptionByLongName finds an option that is part of the group, or any of its +// subgroups, by matching its long name (including the option namespace). +func (g *Group) FindOptionByLongName(longName string) *Option { + return g.findOption(func(option *Option) bool { + return option.LongNameWithNamespace() == longName + }) +} + +// FindOptionByShortName finds an option that is part of the group, or any of +// its subgroups, by matching its short name. +func (g *Group) FindOptionByShortName(shortName rune) *Option { + return g.findOption(func(option *Option) bool { + return option.ShortName == shortName + }) +} + +func newGroup(shortDescription string, longDescription string, data interface{}) *Group { + return &Group{ + ShortDescription: shortDescription, + LongDescription: longDescription, + + data: data, + } +} + +func (g *Group) optionByName(name string, namematch func(*Option, string) bool) *Option { + prio := 0 + var retopt *Option + + g.eachGroup(func(g *Group) { + for _, opt := range g.options { + if namematch != nil && namematch(opt, name) && prio < 4 { + retopt = opt + prio = 4 + } + + if name == opt.field.Name && prio < 3 { + retopt = opt + prio = 3 + } + + if name == opt.LongNameWithNamespace() && prio < 2 { + retopt = opt + prio = 2 + } + + if opt.ShortName != 0 && name == string(opt.ShortName) && prio < 1 { + retopt = opt + prio = 1 + } + } + }) + + return retopt +} + +func (g *Group) eachGroup(f func(*Group)) { + f(g) + + for _, gg := range g.groups { + gg.eachGroup(f) + } +} + +func isStringFalsy(s string) bool { + return s == "" || s == "false" || s == "no" || s == "0" +} + +func (g *Group) scanStruct(realval reflect.Value, sfield *reflect.StructField, handler scanHandler) error { + stype := realval.Type() + + if sfield != nil { + if ok, err := handler(realval, sfield); err != nil { + return err + } else if ok { + return nil + } + } + + for i := 0; i < stype.NumField(); i++ { + field := stype.Field(i) + + // PkgName is set only for non-exported fields, which we ignore + if field.PkgPath != "" && !field.Anonymous { + continue + } + + mtag := newMultiTag(string(field.Tag)) + + if err := mtag.Parse(); err != nil { + return err + } + + // Skip fields with the no-flag tag + if mtag.Get("no-flag") != "" { + continue + } + + // Dive deep into structs or pointers to structs + kind := field.Type.Kind() + fld := realval.Field(i) + + if kind == reflect.Struct { + if err := g.scanStruct(fld, &field, handler); err != nil { + return err + } + } else if kind == reflect.Ptr && field.Type.Elem().Kind() == reflect.Struct { + flagCountBefore := len(g.options) + len(g.groups) + + if fld.IsNil() { + fld = reflect.New(fld.Type().Elem()) + } + + if err := g.scanStruct(reflect.Indirect(fld), &field, handler); err != nil { + return err + } + + if len(g.options)+len(g.groups) != flagCountBefore { + realval.Field(i).Set(fld) + } + } + + longname := mtag.Get("long") + shortname := mtag.Get("short") + + // Need at least either a short or long name + if longname == "" && shortname == "" && mtag.Get("ini-name") == "" { + continue + } + + short := rune(0) + rc := utf8.RuneCountInString(shortname) + + if rc > 1 { + return newErrorf(ErrShortNameTooLong, + "short names can only be 1 character long, not `%s'", + shortname) + + } else if rc == 1 { + short, _ = utf8.DecodeRuneInString(shortname) + } + + description := mtag.Get("description") + def := mtag.GetMany("default") + + optionalValue := mtag.GetMany("optional-value") + valueName := mtag.Get("value-name") + defaultMask := mtag.Get("default-mask") + + optional := !isStringFalsy(mtag.Get("optional")) + required := !isStringFalsy(mtag.Get("required")) + choices := mtag.GetMany("choice") + hidden := !isStringFalsy(mtag.Get("hidden")) + + option := &Option{ + Description: description, + ShortName: short, + LongName: longname, + Default: def, + EnvDefaultKey: mtag.Get("env"), + EnvDefaultDelim: mtag.Get("env-delim"), + OptionalArgument: optional, + OptionalValue: optionalValue, + Required: required, + ValueName: valueName, + DefaultMask: defaultMask, + Choices: choices, + Hidden: hidden, + + group: g, + + field: field, + value: realval.Field(i), + tag: mtag, + } + + if option.isBool() && option.Default != nil { + return newErrorf(ErrInvalidTag, + "boolean flag `%s' may not have default values, they always default to `false' and can only be turned on", + option.shortAndLongName()) + } + + g.options = append(g.options, option) + } + + return nil +} + +func (g *Group) checkForDuplicateFlags() *Error { + shortNames := make(map[rune]*Option) + longNames := make(map[string]*Option) + + var duplicateError *Error + + g.eachGroup(func(g *Group) { + for _, option := range g.options { + if option.LongName != "" { + longName := option.LongNameWithNamespace() + + if otherOption, ok := longNames[longName]; ok { + duplicateError = newErrorf(ErrDuplicatedFlag, "option `%s' uses the same long name as option `%s'", option, otherOption) + return + } + longNames[longName] = option + } + if option.ShortName != 0 { + if otherOption, ok := shortNames[option.ShortName]; ok { + duplicateError = newErrorf(ErrDuplicatedFlag, "option `%s' uses the same short name as option `%s'", option, otherOption) + return + } + shortNames[option.ShortName] = option + } + } + }) + + return duplicateError +} + +func (g *Group) scanSubGroupHandler(realval reflect.Value, sfield *reflect.StructField) (bool, error) { + mtag := newMultiTag(string(sfield.Tag)) + + if err := mtag.Parse(); err != nil { + return true, err + } + + subgroup := mtag.Get("group") + + if len(subgroup) != 0 { + var ptrval reflect.Value + + if realval.Kind() == reflect.Ptr { + ptrval = realval + + if ptrval.IsNil() { + ptrval.Set(reflect.New(ptrval.Type())) + } + } else { + ptrval = realval.Addr() + } + + description := mtag.Get("description") + + group, err := g.AddGroup(subgroup, description, ptrval.Interface()) + + if err != nil { + return true, err + } + + group.Namespace = mtag.Get("namespace") + group.EnvNamespace = mtag.Get("env-namespace") + group.Hidden = mtag.Get("hidden") != "" + + return true, nil + } + + return false, nil +} + +func (g *Group) scanType(handler scanHandler) error { + // Get all the public fields in the data struct + ptrval := reflect.ValueOf(g.data) + + if ptrval.Type().Kind() != reflect.Ptr { + panic(ErrNotPointerToStruct) + } + + stype := ptrval.Type().Elem() + + if stype.Kind() != reflect.Struct { + panic(ErrNotPointerToStruct) + } + + realval := reflect.Indirect(ptrval) + + if err := g.scanStruct(realval, nil, handler); err != nil { + return err + } + + if err := g.checkForDuplicateFlags(); err != nil { + return err + } + + return nil +} + +func (g *Group) scan() error { + return g.scanType(g.scanSubGroupHandler) +} + +func (g *Group) groupByName(name string) *Group { + if len(name) == 0 { + return g + } + + return g.Find(name) +} diff --git a/vendor/github.com/jessevdk/go-flags/help.go b/vendor/github.com/jessevdk/go-flags/help.go new file mode 100644 index 00000000000..8e3eba98004 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/help.go @@ -0,0 +1,491 @@ +// Copyright 2012 Jesse van den Kieboom. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package flags + +import ( + "bufio" + "bytes" + "fmt" + "io" + "runtime" + "strings" + "unicode/utf8" +) + +type alignmentInfo struct { + maxLongLen int + hasShort bool + hasValueName bool + terminalColumns int + indent bool +} + +const ( + paddingBeforeOption = 2 + distanceBetweenOptionAndDescription = 2 +) + +func (a *alignmentInfo) descriptionStart() int { + ret := a.maxLongLen + distanceBetweenOptionAndDescription + + if a.hasShort { + ret += 2 + } + + if a.maxLongLen > 0 { + ret += 4 + } + + if a.hasValueName { + ret += 3 + } + + return ret +} + +func (a *alignmentInfo) updateLen(name string, indent bool) { + l := utf8.RuneCountInString(name) + + if indent { + l = l + 4 + } + + if l > a.maxLongLen { + a.maxLongLen = l + } +} + +func (p *Parser) getAlignmentInfo() alignmentInfo { + ret := alignmentInfo{ + maxLongLen: 0, + hasShort: false, + hasValueName: false, + terminalColumns: getTerminalColumns(), + } + + if ret.terminalColumns <= 0 { + ret.terminalColumns = 80 + } + + var prevcmd *Command + + p.eachActiveGroup(func(c *Command, grp *Group) { + if c != prevcmd { + for _, arg := range c.args { + ret.updateLen(arg.Name, c != p.Command) + } + } + + for _, info := range grp.options { + if !info.canCli() { + continue + } + + if info.ShortName != 0 { + ret.hasShort = true + } + + if len(info.ValueName) > 0 { + ret.hasValueName = true + } + + l := info.LongNameWithNamespace() + info.ValueName + + if len(info.Choices) != 0 { + l += "[" + strings.Join(info.Choices, "|") + "]" + } + + ret.updateLen(l, c != p.Command) + } + }) + + return ret +} + +func wrapText(s string, l int, prefix string) string { + var ret string + + if l < 10 { + l = 10 + } + + // Basic text wrapping of s at spaces to fit in l + lines := strings.Split(s, "\n") + + for _, line := range lines { + var retline string + + line = strings.TrimSpace(line) + + for len(line) > l { + // Try to split on space + suffix := "" + + pos := strings.LastIndex(line[:l], " ") + + if pos < 0 { + pos = l - 1 + suffix = "-\n" + } + + if len(retline) != 0 { + retline += "\n" + prefix + } + + retline += strings.TrimSpace(line[:pos]) + suffix + line = strings.TrimSpace(line[pos:]) + } + + if len(line) > 0 { + if len(retline) != 0 { + retline += "\n" + prefix + } + + retline += line + } + + if len(ret) > 0 { + ret += "\n" + + if len(retline) > 0 { + ret += prefix + } + } + + ret += retline + } + + return ret +} + +func (p *Parser) writeHelpOption(writer *bufio.Writer, option *Option, info alignmentInfo) { + line := &bytes.Buffer{} + + prefix := paddingBeforeOption + + if info.indent { + prefix += 4 + } + + if option.Hidden { + return + } + + line.WriteString(strings.Repeat(" ", prefix)) + + if option.ShortName != 0 { + line.WriteRune(defaultShortOptDelimiter) + line.WriteRune(option.ShortName) + } else if info.hasShort { + line.WriteString(" ") + } + + descstart := info.descriptionStart() + paddingBeforeOption + + if len(option.LongName) > 0 { + if option.ShortName != 0 { + line.WriteString(", ") + } else if info.hasShort { + line.WriteString(" ") + } + + line.WriteString(defaultLongOptDelimiter) + line.WriteString(option.LongNameWithNamespace()) + } + + if option.canArgument() { + line.WriteRune(defaultNameArgDelimiter) + + if len(option.ValueName) > 0 { + line.WriteString(option.ValueName) + } + + if len(option.Choices) > 0 { + line.WriteString("[" + strings.Join(option.Choices, "|") + "]") + } + } + + written := line.Len() + line.WriteTo(writer) + + if option.Description != "" { + dw := descstart - written + writer.WriteString(strings.Repeat(" ", dw)) + + var def string + + if len(option.DefaultMask) != 0 { + if option.DefaultMask != "-" { + def = option.DefaultMask + } + } else { + def = option.defaultLiteral + } + + var envDef string + if option.EnvKeyWithNamespace() != "" { + var envPrintable string + if runtime.GOOS == "windows" { + envPrintable = "%" + option.EnvKeyWithNamespace() + "%" + } else { + envPrintable = "$" + option.EnvKeyWithNamespace() + } + envDef = fmt.Sprintf(" [%s]", envPrintable) + } + + var desc string + + if def != "" { + desc = fmt.Sprintf("%s (default: %v)%s", option.Description, def, envDef) + } else { + desc = option.Description + envDef + } + + writer.WriteString(wrapText(desc, + info.terminalColumns-descstart, + strings.Repeat(" ", descstart))) + } + + writer.WriteString("\n") +} + +func maxCommandLength(s []*Command) int { + if len(s) == 0 { + return 0 + } + + ret := len(s[0].Name) + + for _, v := range s[1:] { + l := len(v.Name) + + if l > ret { + ret = l + } + } + + return ret +} + +// WriteHelp writes a help message containing all the possible options and +// their descriptions to the provided writer. Note that the HelpFlag parser +// option provides a convenient way to add a -h/--help option group to the +// command line parser which will automatically show the help messages using +// this method. +func (p *Parser) WriteHelp(writer io.Writer) { + if writer == nil { + return + } + + wr := bufio.NewWriter(writer) + aligninfo := p.getAlignmentInfo() + + cmd := p.Command + + for cmd.Active != nil { + cmd = cmd.Active + } + + if p.Name != "" { + wr.WriteString("Usage:\n") + wr.WriteString(" ") + + allcmd := p.Command + + for allcmd != nil { + var usage string + + if allcmd == p.Command { + if len(p.Usage) != 0 { + usage = p.Usage + } else if p.Options&HelpFlag != 0 { + usage = "[OPTIONS]" + } + } else if us, ok := allcmd.data.(Usage); ok { + usage = us.Usage() + } else if allcmd.hasCliOptions() { + usage = fmt.Sprintf("[%s-OPTIONS]", allcmd.Name) + } + + if len(usage) != 0 { + fmt.Fprintf(wr, " %s %s", allcmd.Name, usage) + } else { + fmt.Fprintf(wr, " %s", allcmd.Name) + } + + if len(allcmd.args) > 0 { + fmt.Fprintf(wr, " ") + } + + for i, arg := range allcmd.args { + if i != 0 { + fmt.Fprintf(wr, " ") + } + + name := arg.Name + + if arg.isRemaining() { + name = name + "..." + } + + if !allcmd.ArgsRequired { + fmt.Fprintf(wr, "[%s]", name) + } else { + fmt.Fprintf(wr, "%s", name) + } + } + + if allcmd.Active == nil && len(allcmd.commands) > 0 { + var co, cc string + + if allcmd.SubcommandsOptional { + co, cc = "[", "]" + } else { + co, cc = "<", ">" + } + + visibleCommands := allcmd.visibleCommands() + + if len(visibleCommands) > 3 { + fmt.Fprintf(wr, " %scommand%s", co, cc) + } else { + subcommands := allcmd.sortedVisibleCommands() + names := make([]string, len(subcommands)) + + for i, subc := range subcommands { + names[i] = subc.Name + } + + fmt.Fprintf(wr, " %s%s%s", co, strings.Join(names, " | "), cc) + } + } + + allcmd = allcmd.Active + } + + fmt.Fprintln(wr) + + if len(cmd.LongDescription) != 0 { + fmt.Fprintln(wr) + + t := wrapText(cmd.LongDescription, + aligninfo.terminalColumns, + "") + + fmt.Fprintln(wr, t) + } + } + + c := p.Command + + for c != nil { + printcmd := c != p.Command + + c.eachGroup(func(grp *Group) { + first := true + + // Skip built-in help group for all commands except the top-level + // parser + if grp.Hidden || (grp.isBuiltinHelp && c != p.Command) { + return + } + + for _, info := range grp.options { + if !info.canCli() || info.Hidden { + continue + } + + if printcmd { + fmt.Fprintf(wr, "\n[%s command options]\n", c.Name) + aligninfo.indent = true + printcmd = false + } + + if first && cmd.Group != grp { + fmt.Fprintln(wr) + + if aligninfo.indent { + wr.WriteString(" ") + } + + fmt.Fprintf(wr, "%s:\n", grp.ShortDescription) + first = false + } + + p.writeHelpOption(wr, info, aligninfo) + } + }) + + var args []*Arg + for _, arg := range c.args { + if arg.Description != "" { + args = append(args, arg) + } + } + + if len(args) > 0 { + if c == p.Command { + fmt.Fprintf(wr, "\nArguments:\n") + } else { + fmt.Fprintf(wr, "\n[%s command arguments]\n", c.Name) + } + + descStart := aligninfo.descriptionStart() + paddingBeforeOption + + for _, arg := range args { + argPrefix := strings.Repeat(" ", paddingBeforeOption) + argPrefix += arg.Name + + if len(arg.Description) > 0 { + argPrefix += ":" + wr.WriteString(argPrefix) + + // Space between "arg:" and the description start + descPadding := strings.Repeat(" ", descStart-len(argPrefix)) + // How much space the description gets before wrapping + descWidth := aligninfo.terminalColumns - 1 - descStart + // Whitespace to which we can indent new description lines + descPrefix := strings.Repeat(" ", descStart) + + wr.WriteString(descPadding) + wr.WriteString(wrapText(arg.Description, descWidth, descPrefix)) + } else { + wr.WriteString(argPrefix) + } + + fmt.Fprintln(wr) + } + } + + c = c.Active + } + + scommands := cmd.sortedVisibleCommands() + + if len(scommands) > 0 { + maxnamelen := maxCommandLength(scommands) + + fmt.Fprintln(wr) + fmt.Fprintln(wr, "Available commands:") + + for _, c := range scommands { + fmt.Fprintf(wr, " %s", c.Name) + + if len(c.ShortDescription) > 0 { + pad := strings.Repeat(" ", maxnamelen-len(c.Name)) + fmt.Fprintf(wr, "%s %s", pad, c.ShortDescription) + + if len(c.Aliases) > 0 { + fmt.Fprintf(wr, " (aliases: %s)", strings.Join(c.Aliases, ", ")) + } + + } + + fmt.Fprintln(wr) + } + } + + wr.Flush() +} diff --git a/vendor/github.com/jessevdk/go-flags/ini.go b/vendor/github.com/jessevdk/go-flags/ini.go new file mode 100644 index 00000000000..e714d3d38d1 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/ini.go @@ -0,0 +1,597 @@ +package flags + +import ( + "bufio" + "fmt" + "io" + "os" + "reflect" + "sort" + "strconv" + "strings" +) + +// IniError contains location information on where an error occurred. +type IniError struct { + // The error message. + Message string + + // The filename of the file in which the error occurred. + File string + + // The line number at which the error occurred. + LineNumber uint +} + +// Error provides a "file:line: message" formatted message of the ini error. +func (x *IniError) Error() string { + return fmt.Sprintf( + "%s:%d: %s", + x.File, + x.LineNumber, + x.Message, + ) +} + +// IniOptions for writing +type IniOptions uint + +const ( + // IniNone indicates no options. + IniNone IniOptions = 0 + + // IniIncludeDefaults indicates that default values should be written. + IniIncludeDefaults = 1 << iota + + // IniCommentDefaults indicates that if IniIncludeDefaults is used + // options with default values are written but commented out. + IniCommentDefaults + + // IniIncludeComments indicates that comments containing the description + // of an option should be written. + IniIncludeComments + + // IniDefault provides a default set of options. + IniDefault = IniIncludeComments +) + +// IniParser is a utility to read and write flags options from and to ini +// formatted strings. +type IniParser struct { + ParseAsDefaults bool // override default flags + + parser *Parser +} + +type iniValue struct { + Name string + Value string + Quoted bool + LineNumber uint +} + +type iniSection []iniValue + +type ini struct { + File string + Sections map[string]iniSection +} + +// NewIniParser creates a new ini parser for a given Parser. +func NewIniParser(p *Parser) *IniParser { + return &IniParser{ + parser: p, + } +} + +// IniParse is a convenience function to parse command line options with default +// settings from an ini formatted file. The provided data is a pointer to a struct +// representing the default option group (named "Application Options"). For +// more control, use flags.NewParser. +func IniParse(filename string, data interface{}) error { + p := NewParser(data, Default) + + return NewIniParser(p).ParseFile(filename) +} + +// ParseFile parses flags from an ini formatted file. See Parse for more +// information on the ini file format. The returned errors can be of the type +// flags.Error or flags.IniError. +func (i *IniParser) ParseFile(filename string) error { + ini, err := readIniFromFile(filename) + + if err != nil { + return err + } + + return i.parse(ini) +} + +// Parse parses flags from an ini format. You can use ParseFile as a +// convenience function to parse from a filename instead of a general +// io.Reader. +// +// The format of the ini file is as follows: +// +// [Option group name] +// option = value +// +// Each section in the ini file represents an option group or command in the +// flags parser. The default flags parser option group (i.e. when using +// flags.Parse) is named 'Application Options'. The ini option name is matched +// in the following order: +// +// 1. Compared to the ini-name tag on the option struct field (if present) +// 2. Compared to the struct field name +// 3. Compared to the option long name (if present) +// 4. Compared to the option short name (if present) +// +// Sections for nested groups and commands can be addressed using a dot `.' +// namespacing notation (i.e [subcommand.Options]). Group section names are +// matched case insensitive. +// +// The returned errors can be of the type flags.Error or flags.IniError. +func (i *IniParser) Parse(reader io.Reader) error { + ini, err := readIni(reader, "") + + if err != nil { + return err + } + + return i.parse(ini) +} + +// WriteFile writes the flags as ini format into a file. See Write +// for more information. The returned error occurs when the specified file +// could not be opened for writing. +func (i *IniParser) WriteFile(filename string, options IniOptions) error { + return writeIniToFile(i, filename, options) +} + +// Write writes the current values of all the flags to an ini format. +// See Parse for more information on the ini file format. You typically +// call this only after settings have been parsed since the default values of each +// option are stored just before parsing the flags (this is only relevant when +// IniIncludeDefaults is _not_ set in options). +func (i *IniParser) Write(writer io.Writer, options IniOptions) { + writeIni(i, writer, options) +} + +func readFullLine(reader *bufio.Reader) (string, error) { + var line []byte + + for { + l, more, err := reader.ReadLine() + + if err != nil { + return "", err + } + + if line == nil && !more { + return string(l), nil + } + + line = append(line, l...) + + if !more { + break + } + } + + return string(line), nil +} + +func optionIniName(option *Option) string { + name := option.tag.Get("_read-ini-name") + + if len(name) != 0 { + return name + } + + name = option.tag.Get("ini-name") + + if len(name) != 0 { + return name + } + + return option.field.Name +} + +func writeGroupIni(cmd *Command, group *Group, namespace string, writer io.Writer, options IniOptions) { + var sname string + + if len(namespace) != 0 { + sname = namespace + } + + if cmd.Group != group && len(group.ShortDescription) != 0 { + if len(sname) != 0 { + sname += "." + } + + sname += group.ShortDescription + } + + sectionwritten := false + comments := (options & IniIncludeComments) != IniNone + + for _, option := range group.options { + if option.isFunc() || option.Hidden { + continue + } + + if len(option.tag.Get("no-ini")) != 0 { + continue + } + + val := option.value + + if (options&IniIncludeDefaults) == IniNone && option.valueIsDefault() { + continue + } + + if !sectionwritten { + fmt.Fprintf(writer, "[%s]\n", sname) + sectionwritten = true + } + + if comments && len(option.Description) != 0 { + fmt.Fprintf(writer, "; %s\n", option.Description) + } + + oname := optionIniName(option) + + commentOption := (options&(IniIncludeDefaults|IniCommentDefaults)) == IniIncludeDefaults|IniCommentDefaults && option.valueIsDefault() + + kind := val.Type().Kind() + switch kind { + case reflect.Slice: + kind = val.Type().Elem().Kind() + + if val.Len() == 0 { + writeOption(writer, oname, kind, "", "", true, option.iniQuote) + } else { + for idx := 0; idx < val.Len(); idx++ { + v, _ := convertToString(val.Index(idx), option.tag) + + writeOption(writer, oname, kind, "", v, commentOption, option.iniQuote) + } + } + case reflect.Map: + kind = val.Type().Elem().Kind() + + if val.Len() == 0 { + writeOption(writer, oname, kind, "", "", true, option.iniQuote) + } else { + mkeys := val.MapKeys() + keys := make([]string, len(val.MapKeys())) + kkmap := make(map[string]reflect.Value) + + for i, k := range mkeys { + keys[i], _ = convertToString(k, option.tag) + kkmap[keys[i]] = k + } + + sort.Strings(keys) + + for _, k := range keys { + v, _ := convertToString(val.MapIndex(kkmap[k]), option.tag) + + writeOption(writer, oname, kind, k, v, commentOption, option.iniQuote) + } + } + default: + v, _ := convertToString(val, option.tag) + + writeOption(writer, oname, kind, "", v, commentOption, option.iniQuote) + } + + if comments { + fmt.Fprintln(writer) + } + } + + if sectionwritten && !comments { + fmt.Fprintln(writer) + } +} + +func writeOption(writer io.Writer, optionName string, optionType reflect.Kind, optionKey string, optionValue string, commentOption bool, forceQuote bool) { + if forceQuote || (optionType == reflect.String && !isPrint(optionValue)) { + optionValue = strconv.Quote(optionValue) + } + + comment := "" + if commentOption { + comment = "; " + } + + fmt.Fprintf(writer, "%s%s =", comment, optionName) + + if optionKey != "" { + fmt.Fprintf(writer, " %s:%s", optionKey, optionValue) + } else if optionValue != "" { + fmt.Fprintf(writer, " %s", optionValue) + } + + fmt.Fprintln(writer) +} + +func writeCommandIni(command *Command, namespace string, writer io.Writer, options IniOptions) { + command.eachGroup(func(group *Group) { + if !group.Hidden { + writeGroupIni(command, group, namespace, writer, options) + } + }) + + for _, c := range command.commands { + var nns string + + if c.Hidden { + continue + } + + if len(namespace) != 0 { + nns = c.Name + "." + nns + } else { + nns = c.Name + } + + writeCommandIni(c, nns, writer, options) + } +} + +func writeIni(parser *IniParser, writer io.Writer, options IniOptions) { + writeCommandIni(parser.parser.Command, "", writer, options) +} + +func writeIniToFile(parser *IniParser, filename string, options IniOptions) error { + file, err := os.Create(filename) + + if err != nil { + return err + } + + defer file.Close() + + writeIni(parser, file, options) + + return nil +} + +func readIniFromFile(filename string) (*ini, error) { + file, err := os.Open(filename) + + if err != nil { + return nil, err + } + + defer file.Close() + + return readIni(file, filename) +} + +func readIni(contents io.Reader, filename string) (*ini, error) { + ret := &ini{ + File: filename, + Sections: make(map[string]iniSection), + } + + reader := bufio.NewReader(contents) + + // Empty global section + section := make(iniSection, 0, 10) + sectionname := "" + + ret.Sections[sectionname] = section + + var lineno uint + + for { + line, err := readFullLine(reader) + + if err == io.EOF { + break + } else if err != nil { + return nil, err + } + + lineno++ + line = strings.TrimSpace(line) + + // Skip empty lines and lines starting with ; (comments) + if len(line) == 0 || line[0] == ';' || line[0] == '#' { + continue + } + + if line[0] == '[' { + if line[0] != '[' || line[len(line)-1] != ']' { + return nil, &IniError{ + Message: "malformed section header", + File: filename, + LineNumber: lineno, + } + } + + name := strings.TrimSpace(line[1 : len(line)-1]) + + if len(name) == 0 { + return nil, &IniError{ + Message: "empty section name", + File: filename, + LineNumber: lineno, + } + } + + sectionname = name + section = ret.Sections[name] + + if section == nil { + section = make(iniSection, 0, 10) + ret.Sections[name] = section + } + + continue + } + + // Parse option here + keyval := strings.SplitN(line, "=", 2) + + if len(keyval) != 2 { + return nil, &IniError{ + Message: fmt.Sprintf("malformed key=value (%s)", line), + File: filename, + LineNumber: lineno, + } + } + + name := strings.TrimSpace(keyval[0]) + value := strings.TrimSpace(keyval[1]) + quoted := false + + if len(value) != 0 && value[0] == '"' { + if v, err := strconv.Unquote(value); err == nil { + value = v + + quoted = true + } else { + return nil, &IniError{ + Message: err.Error(), + File: filename, + LineNumber: lineno, + } + } + } + + section = append(section, iniValue{ + Name: name, + Value: value, + Quoted: quoted, + LineNumber: lineno, + }) + + ret.Sections[sectionname] = section + } + + return ret, nil +} + +func (i *IniParser) matchingGroups(name string) []*Group { + if len(name) == 0 { + var ret []*Group + + i.parser.eachGroup(func(g *Group) { + ret = append(ret, g) + }) + + return ret + } + + g := i.parser.groupByName(name) + + if g != nil { + return []*Group{g} + } + + return nil +} + +func (i *IniParser) parse(ini *ini) error { + p := i.parser + + var quotesLookup = make(map[*Option]bool) + + for name, section := range ini.Sections { + groups := i.matchingGroups(name) + + if len(groups) == 0 { + return newErrorf(ErrUnknownGroup, "could not find option group `%s'", name) + } + + for _, inival := range section { + var opt *Option + + for _, group := range groups { + opt = group.optionByName(inival.Name, func(o *Option, n string) bool { + return strings.ToLower(o.tag.Get("ini-name")) == strings.ToLower(n) + }) + + if opt != nil && len(opt.tag.Get("no-ini")) != 0 { + opt = nil + } + + if opt != nil { + break + } + } + + if opt == nil { + if (p.Options & IgnoreUnknown) == None { + return &IniError{ + Message: fmt.Sprintf("unknown option: %s", inival.Name), + File: ini.File, + LineNumber: inival.LineNumber, + } + } + + continue + } + + // ini value is ignored if override is set and + // value was previously set from non default + if i.ParseAsDefaults && !opt.isSetDefault { + continue + } + + pval := &inival.Value + + if !opt.canArgument() && len(inival.Value) == 0 { + pval = nil + } else { + if opt.value.Type().Kind() == reflect.Map { + parts := strings.SplitN(inival.Value, ":", 2) + + // only handle unquoting + if len(parts) == 2 && parts[1][0] == '"' { + if v, err := strconv.Unquote(parts[1]); err == nil { + parts[1] = v + + inival.Quoted = true + } else { + return &IniError{ + Message: err.Error(), + File: ini.File, + LineNumber: inival.LineNumber, + } + } + + s := parts[0] + ":" + parts[1] + + pval = &s + } + } + } + + if err := opt.set(pval); err != nil { + return &IniError{ + Message: err.Error(), + File: ini.File, + LineNumber: inival.LineNumber, + } + } + + // either all INI values are quoted or only values who need quoting + if _, ok := quotesLookup[opt]; !inival.Quoted || !ok { + quotesLookup[opt] = inival.Quoted + } + + opt.tag.Set("_read-ini-name", inival.Name) + } + } + + for opt, quoted := range quotesLookup { + opt.iniQuote = quoted + } + + return nil +} diff --git a/vendor/github.com/jessevdk/go-flags/man.go b/vendor/github.com/jessevdk/go-flags/man.go new file mode 100644 index 00000000000..c2cebae6d01 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/man.go @@ -0,0 +1,205 @@ +package flags + +import ( + "fmt" + "io" + "runtime" + "strings" + "time" +) + +func manQuote(s string) string { + return strings.Replace(s, "\\", "\\\\", -1) +} + +func formatForMan(wr io.Writer, s string) { + for { + idx := strings.IndexRune(s, '`') + + if idx < 0 { + fmt.Fprintf(wr, "%s", manQuote(s)) + break + } + + fmt.Fprintf(wr, "%s", manQuote(s[:idx])) + + s = s[idx+1:] + idx = strings.IndexRune(s, '\'') + + if idx < 0 { + fmt.Fprintf(wr, "%s", manQuote(s)) + break + } + + fmt.Fprintf(wr, "\\fB%s\\fP", manQuote(s[:idx])) + s = s[idx+1:] + } +} + +func writeManPageOptions(wr io.Writer, grp *Group) { + grp.eachGroup(func(group *Group) { + if group.Hidden || len(group.options) == 0 { + return + } + + // If the parent (grp) has any subgroups, display their descriptions as + // subsection headers similar to the output of --help. + if group.ShortDescription != "" && len(grp.groups) > 0 { + fmt.Fprintf(wr, ".SS %s\n", group.ShortDescription) + + if group.LongDescription != "" { + formatForMan(wr, group.LongDescription) + fmt.Fprintln(wr, "") + } + } + + for _, opt := range group.options { + if !opt.canCli() || opt.Hidden { + continue + } + + fmt.Fprintln(wr, ".TP") + fmt.Fprintf(wr, "\\fB") + + if opt.ShortName != 0 { + fmt.Fprintf(wr, "\\fB\\-%c\\fR", opt.ShortName) + } + + if len(opt.LongName) != 0 { + if opt.ShortName != 0 { + fmt.Fprintf(wr, ", ") + } + + fmt.Fprintf(wr, "\\fB\\-\\-%s\\fR", manQuote(opt.LongNameWithNamespace())) + } + + if len(opt.ValueName) != 0 || opt.OptionalArgument { + if opt.OptionalArgument { + fmt.Fprintf(wr, " [\\fI%s=%s\\fR]", manQuote(opt.ValueName), manQuote(strings.Join(quoteV(opt.OptionalValue), ", "))) + } else { + fmt.Fprintf(wr, " \\fI%s\\fR", manQuote(opt.ValueName)) + } + } + + if len(opt.Default) != 0 { + fmt.Fprintf(wr, " ", manQuote(strings.Join(quoteV(opt.Default), ", "))) + } else if len(opt.EnvKeyWithNamespace()) != 0 { + if runtime.GOOS == "windows" { + fmt.Fprintf(wr, " ", manQuote(opt.EnvKeyWithNamespace())) + } else { + fmt.Fprintf(wr, " ", manQuote(opt.EnvKeyWithNamespace())) + } + } + + if opt.Required { + fmt.Fprintf(wr, " (\\fIrequired\\fR)") + } + + fmt.Fprintln(wr, "\\fP") + + if len(opt.Description) != 0 { + formatForMan(wr, opt.Description) + fmt.Fprintln(wr, "") + } + } + }) +} + +func writeManPageSubcommands(wr io.Writer, name string, root *Command) { + commands := root.sortedVisibleCommands() + + for _, c := range commands { + var nn string + + if c.Hidden { + continue + } + + if len(name) != 0 { + nn = name + " " + c.Name + } else { + nn = c.Name + } + + writeManPageCommand(wr, nn, root, c) + } +} + +func writeManPageCommand(wr io.Writer, name string, root *Command, command *Command) { + fmt.Fprintf(wr, ".SS %s\n", name) + fmt.Fprintln(wr, command.ShortDescription) + + if len(command.LongDescription) > 0 { + fmt.Fprintln(wr, "") + + cmdstart := fmt.Sprintf("The %s command", manQuote(command.Name)) + + if strings.HasPrefix(command.LongDescription, cmdstart) { + fmt.Fprintf(wr, "The \\fI%s\\fP command", manQuote(command.Name)) + + formatForMan(wr, command.LongDescription[len(cmdstart):]) + fmt.Fprintln(wr, "") + } else { + formatForMan(wr, command.LongDescription) + fmt.Fprintln(wr, "") + } + } + + var usage string + if us, ok := command.data.(Usage); ok { + usage = us.Usage() + } else if command.hasCliOptions() { + usage = fmt.Sprintf("[%s-OPTIONS]", command.Name) + } + + var pre string + if root.hasCliOptions() { + pre = fmt.Sprintf("%s [OPTIONS] %s", root.Name, command.Name) + } else { + pre = fmt.Sprintf("%s %s", root.Name, command.Name) + } + + if len(usage) > 0 { + fmt.Fprintf(wr, "\n\\fBUsage\\fP: %s %s\n.TP\n", manQuote(pre), manQuote(usage)) + } + + if len(command.Aliases) > 0 { + fmt.Fprintf(wr, "\n\\fBAliases\\fP: %s\n\n", manQuote(strings.Join(command.Aliases, ", "))) + } + + writeManPageOptions(wr, command.Group) + writeManPageSubcommands(wr, name, command) +} + +// WriteManPage writes a basic man page in groff format to the specified +// writer. +func (p *Parser) WriteManPage(wr io.Writer) { + t := time.Now() + + fmt.Fprintf(wr, ".TH %s 1 \"%s\"\n", manQuote(p.Name), t.Format("2 January 2006")) + fmt.Fprintln(wr, ".SH NAME") + fmt.Fprintf(wr, "%s \\- %s\n", manQuote(p.Name), manQuote(p.ShortDescription)) + fmt.Fprintln(wr, ".SH SYNOPSIS") + + usage := p.Usage + + if len(usage) == 0 { + usage = "[OPTIONS]" + } + + fmt.Fprintf(wr, "\\fB%s\\fP %s\n", manQuote(p.Name), manQuote(usage)) + fmt.Fprintln(wr, ".SH DESCRIPTION") + + formatForMan(wr, p.LongDescription) + fmt.Fprintln(wr, "") + + fmt.Fprintln(wr, ".SH OPTIONS") + + writeManPageOptions(wr, p.Command.Group) + + if len(p.visibleCommands()) > 0 { + fmt.Fprintln(wr, ".SH COMMANDS") + + writeManPageSubcommands(wr, "", p.Command) + } +} diff --git a/vendor/github.com/jessevdk/go-flags/multitag.go b/vendor/github.com/jessevdk/go-flags/multitag.go new file mode 100644 index 00000000000..96bb1a31dee --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/multitag.go @@ -0,0 +1,140 @@ +package flags + +import ( + "strconv" +) + +type multiTag struct { + value string + cache map[string][]string +} + +func newMultiTag(v string) multiTag { + return multiTag{ + value: v, + } +} + +func (x *multiTag) scan() (map[string][]string, error) { + v := x.value + + ret := make(map[string][]string) + + // This is mostly copied from reflect.StructTag.Get + for v != "" { + i := 0 + + // Skip whitespace + for i < len(v) && v[i] == ' ' { + i++ + } + + v = v[i:] + + if v == "" { + break + } + + // Scan to colon to find key + i = 0 + + for i < len(v) && v[i] != ' ' && v[i] != ':' && v[i] != '"' { + i++ + } + + if i >= len(v) { + return nil, newErrorf(ErrTag, "expected `:' after key name, but got end of tag (in `%v`)", x.value) + } + + if v[i] != ':' { + return nil, newErrorf(ErrTag, "expected `:' after key name, but got `%v' (in `%v`)", v[i], x.value) + } + + if i+1 >= len(v) { + return nil, newErrorf(ErrTag, "expected `\"' to start tag value at end of tag (in `%v`)", x.value) + } + + if v[i+1] != '"' { + return nil, newErrorf(ErrTag, "expected `\"' to start tag value, but got `%v' (in `%v`)", v[i+1], x.value) + } + + name := v[:i] + v = v[i+1:] + + // Scan quoted string to find value + i = 1 + + for i < len(v) && v[i] != '"' { + if v[i] == '\n' { + return nil, newErrorf(ErrTag, "unexpected newline in tag value `%v' (in `%v`)", name, x.value) + } + + if v[i] == '\\' { + i++ + } + i++ + } + + if i >= len(v) { + return nil, newErrorf(ErrTag, "expected end of tag value `\"' at end of tag (in `%v`)", x.value) + } + + val, err := strconv.Unquote(v[:i+1]) + + if err != nil { + return nil, newErrorf(ErrTag, "Malformed value of tag `%v:%v` => %v (in `%v`)", name, v[:i+1], err, x.value) + } + + v = v[i+1:] + + ret[name] = append(ret[name], val) + } + + return ret, nil +} + +func (x *multiTag) Parse() error { + vals, err := x.scan() + x.cache = vals + + return err +} + +func (x *multiTag) cached() map[string][]string { + if x.cache == nil { + cache, _ := x.scan() + + if cache == nil { + cache = make(map[string][]string) + } + + x.cache = cache + } + + return x.cache +} + +func (x *multiTag) Get(key string) string { + c := x.cached() + + if v, ok := c[key]; ok { + return v[len(v)-1] + } + + return "" +} + +func (x *multiTag) GetMany(key string) []string { + c := x.cached() + return c[key] +} + +func (x *multiTag) Set(key string, value string) { + c := x.cached() + c[key] = []string{value} +} + +func (x *multiTag) SetMany(key string, value []string) { + c := x.cached() + c[key] = value +} diff --git a/vendor/github.com/jessevdk/go-flags/option.go b/vendor/github.com/jessevdk/go-flags/option.go new file mode 100644 index 00000000000..c681c39d747 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/option.go @@ -0,0 +1,509 @@ +package flags + +import ( + "bytes" + "fmt" + "os" + "reflect" + "strings" + "unicode/utf8" +) + +// Option flag information. Contains a description of the option, short and +// long name as well as a default value and whether an argument for this +// flag is optional. +type Option struct { + // The description of the option flag. This description is shown + // automatically in the built-in help. + Description string + + // The short name of the option (a single character). If not 0, the + // option flag can be 'activated' using -. Either ShortName + // or LongName needs to be non-empty. + ShortName rune + + // The long name of the option. If not "", the option flag can be + // activated using --. Either ShortName or LongName needs + // to be non-empty. + LongName string + + // The default value of the option. + Default []string + + // The optional environment default value key name. + EnvDefaultKey string + + // The optional delimiter string for EnvDefaultKey values. + EnvDefaultDelim string + + // If true, specifies that the argument to an option flag is optional. + // When no argument to the flag is specified on the command line, the + // value of OptionalValue will be set in the field this option represents. + // This is only valid for non-boolean options. + OptionalArgument bool + + // The optional value of the option. The optional value is used when + // the option flag is marked as having an OptionalArgument. This means + // that when the flag is specified, but no option argument is given, + // the value of the field this option represents will be set to + // OptionalValue. This is only valid for non-boolean options. + OptionalValue []string + + // If true, the option _must_ be specified on the command line. If the + // option is not specified, the parser will generate an ErrRequired type + // error. + Required bool + + // A name for the value of an option shown in the Help as --flag [ValueName] + ValueName string + + // A mask value to show in the help instead of the default value. This + // is useful for hiding sensitive information in the help, such as + // passwords. + DefaultMask string + + // If non empty, only a certain set of values is allowed for an option. + Choices []string + + // If true, the option is not displayed in the help or man page + Hidden bool + + // The group which the option belongs to + group *Group + + // The struct field which the option represents. + field reflect.StructField + + // The struct field value which the option represents. + value reflect.Value + + // Determines if the option will be always quoted in the INI output + iniQuote bool + + tag multiTag + isSet bool + isSetDefault bool + preventDefault bool + + defaultLiteral string +} + +// LongNameWithNamespace returns the option's long name with the group namespaces +// prepended by walking up the option's group tree. Namespaces and the long name +// itself are separated by the parser's namespace delimiter. If the long name is +// empty an empty string is returned. +func (option *Option) LongNameWithNamespace() string { + if len(option.LongName) == 0 { + return "" + } + + // fetch the namespace delimiter from the parser which is always at the + // end of the group hierarchy + namespaceDelimiter := "" + g := option.group + + for { + if p, ok := g.parent.(*Parser); ok { + namespaceDelimiter = p.NamespaceDelimiter + + break + } + + switch i := g.parent.(type) { + case *Command: + g = i.Group + case *Group: + g = i + } + } + + // concatenate long name with namespace + longName := option.LongName + g = option.group + + for g != nil { + if g.Namespace != "" { + longName = g.Namespace + namespaceDelimiter + longName + } + + switch i := g.parent.(type) { + case *Command: + g = i.Group + case *Group: + g = i + case *Parser: + g = nil + } + } + + return longName +} + +// EnvKeyWithNamespace returns the option's env key with the group namespaces +// prepended by walking up the option's group tree. Namespaces and the env key +// itself are separated by the parser's namespace delimiter. If the env key is +// empty an empty string is returned. +func (option *Option) EnvKeyWithNamespace() string { + if len(option.EnvDefaultKey) == 0 { + return "" + } + + // fetch the namespace delimiter from the parser which is always at the + // end of the group hierarchy + namespaceDelimiter := "" + g := option.group + + for { + if p, ok := g.parent.(*Parser); ok { + namespaceDelimiter = p.EnvNamespaceDelimiter + + break + } + + switch i := g.parent.(type) { + case *Command: + g = i.Group + case *Group: + g = i + } + } + + // concatenate long name with namespace + key := option.EnvDefaultKey + g = option.group + + for g != nil { + if g.EnvNamespace != "" { + key = g.EnvNamespace + namespaceDelimiter + key + } + + switch i := g.parent.(type) { + case *Command: + g = i.Group + case *Group: + g = i + case *Parser: + g = nil + } + } + + return key +} + +// String converts an option to a human friendly readable string describing the +// option. +func (option *Option) String() string { + var s string + var short string + + if option.ShortName != 0 { + data := make([]byte, utf8.RuneLen(option.ShortName)) + utf8.EncodeRune(data, option.ShortName) + short = string(data) + + if len(option.LongName) != 0 { + s = fmt.Sprintf("%s%s, %s%s", + string(defaultShortOptDelimiter), short, + defaultLongOptDelimiter, option.LongNameWithNamespace()) + } else { + s = fmt.Sprintf("%s%s", string(defaultShortOptDelimiter), short) + } + } else if len(option.LongName) != 0 { + s = fmt.Sprintf("%s%s", defaultLongOptDelimiter, option.LongNameWithNamespace()) + } + + return s +} + +// Value returns the option value as an interface{}. +func (option *Option) Value() interface{} { + return option.value.Interface() +} + +// Field returns the reflect struct field of the option. +func (option *Option) Field() reflect.StructField { + return option.field +} + +// IsSet returns true if option has been set +func (option *Option) IsSet() bool { + return option.isSet +} + +// IsSetDefault returns true if option has been set via the default option tag +func (option *Option) IsSetDefault() bool { + return option.isSetDefault +} + +// Set the value of an option to the specified value. An error will be returned +// if the specified value could not be converted to the corresponding option +// value type. +func (option *Option) set(value *string) error { + kind := option.value.Type().Kind() + + if (kind == reflect.Map || kind == reflect.Slice) && !option.isSet { + option.empty() + } + + option.isSet = true + option.preventDefault = true + + if len(option.Choices) != 0 { + found := false + + for _, choice := range option.Choices { + if choice == *value { + found = true + break + } + } + + if !found { + allowed := strings.Join(option.Choices[0:len(option.Choices)-1], ", ") + + if len(option.Choices) > 1 { + allowed += " or " + option.Choices[len(option.Choices)-1] + } + + return newErrorf(ErrInvalidChoice, + "Invalid value `%s' for option `%s'. Allowed values are: %s", + *value, option, allowed) + } + } + + if option.isFunc() { + return option.call(value) + } else if value != nil { + return convert(*value, option.value, option.tag) + } + + return convert("", option.value, option.tag) +} + +func (option *Option) canCli() bool { + return option.ShortName != 0 || len(option.LongName) != 0 +} + +func (option *Option) canArgument() bool { + if u := option.isUnmarshaler(); u != nil { + return true + } + + return !option.isBool() +} + +func (option *Option) emptyValue() reflect.Value { + tp := option.value.Type() + + if tp.Kind() == reflect.Map { + return reflect.MakeMap(tp) + } + + return reflect.Zero(tp) +} + +func (option *Option) empty() { + if !option.isFunc() { + option.value.Set(option.emptyValue()) + } +} + +func (option *Option) clearDefault() { + usedDefault := option.Default + + if envKey := option.EnvKeyWithNamespace(); envKey != "" { + if value, ok := os.LookupEnv(envKey); ok { + if option.EnvDefaultDelim != "" { + usedDefault = strings.Split(value, option.EnvDefaultDelim) + } else { + usedDefault = []string{value} + } + } + } + + option.isSetDefault = true + + if len(usedDefault) > 0 { + option.empty() + + for _, d := range usedDefault { + option.set(&d) + option.isSetDefault = true + } + } else { + tp := option.value.Type() + + switch tp.Kind() { + case reflect.Map: + if option.value.IsNil() { + option.empty() + } + case reflect.Slice: + if option.value.IsNil() { + option.empty() + } + } + } +} + +func (option *Option) valueIsDefault() bool { + // Check if the value of the option corresponds to its + // default value + emptyval := option.emptyValue() + + checkvalptr := reflect.New(emptyval.Type()) + checkval := reflect.Indirect(checkvalptr) + + checkval.Set(emptyval) + + if len(option.Default) != 0 { + for _, v := range option.Default { + convert(v, checkval, option.tag) + } + } + + return reflect.DeepEqual(option.value.Interface(), checkval.Interface()) +} + +func (option *Option) isUnmarshaler() Unmarshaler { + v := option.value + + for { + if !v.CanInterface() { + break + } + + i := v.Interface() + + if u, ok := i.(Unmarshaler); ok { + return u + } + + if !v.CanAddr() { + break + } + + v = v.Addr() + } + + return nil +} + +func (option *Option) isBool() bool { + tp := option.value.Type() + + for { + switch tp.Kind() { + case reflect.Slice, reflect.Ptr: + tp = tp.Elem() + case reflect.Bool: + return true + case reflect.Func: + return tp.NumIn() == 0 + default: + return false + } + } +} + +func (option *Option) isSignedNumber() bool { + tp := option.value.Type() + + for { + switch tp.Kind() { + case reflect.Slice, reflect.Ptr: + tp = tp.Elem() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Float32, reflect.Float64: + return true + default: + return false + } + } +} + +func (option *Option) isFunc() bool { + return option.value.Type().Kind() == reflect.Func +} + +func (option *Option) call(value *string) error { + var retval []reflect.Value + + if value == nil { + retval = option.value.Call(nil) + } else { + tp := option.value.Type().In(0) + + val := reflect.New(tp) + val = reflect.Indirect(val) + + if err := convert(*value, val, option.tag); err != nil { + return err + } + + retval = option.value.Call([]reflect.Value{val}) + } + + if len(retval) == 1 && retval[0].Type() == reflect.TypeOf((*error)(nil)).Elem() { + if retval[0].Interface() == nil { + return nil + } + + return retval[0].Interface().(error) + } + + return nil +} + +func (option *Option) updateDefaultLiteral() { + defs := option.Default + def := "" + + if len(defs) == 0 && option.canArgument() { + var showdef bool + + switch option.field.Type.Kind() { + case reflect.Func, reflect.Ptr: + showdef = !option.value.IsNil() + case reflect.Slice, reflect.String, reflect.Array: + showdef = option.value.Len() > 0 + case reflect.Map: + showdef = !option.value.IsNil() && option.value.Len() > 0 + default: + zeroval := reflect.Zero(option.field.Type) + showdef = !reflect.DeepEqual(zeroval.Interface(), option.value.Interface()) + } + + if showdef { + def, _ = convertToString(option.value, option.tag) + } + } else if len(defs) != 0 { + l := len(defs) - 1 + + for i := 0; i < l; i++ { + def += quoteIfNeeded(defs[i]) + ", " + } + + def += quoteIfNeeded(defs[l]) + } + + option.defaultLiteral = def +} + +func (option *Option) shortAndLongName() string { + ret := &bytes.Buffer{} + + if option.ShortName != 0 { + ret.WriteRune(defaultShortOptDelimiter) + ret.WriteRune(option.ShortName) + } + + if len(option.LongName) != 0 { + if option.ShortName != 0 { + ret.WriteRune('/') + } + + ret.WriteString(option.LongName) + } + + return ret.String() +} diff --git a/vendor/github.com/jessevdk/go-flags/optstyle_other.go b/vendor/github.com/jessevdk/go-flags/optstyle_other.go new file mode 100644 index 00000000000..56dfdae1286 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/optstyle_other.go @@ -0,0 +1,67 @@ +// +build !windows forceposix + +package flags + +import ( + "strings" +) + +const ( + defaultShortOptDelimiter = '-' + defaultLongOptDelimiter = "--" + defaultNameArgDelimiter = '=' +) + +func argumentStartsOption(arg string) bool { + return len(arg) > 0 && arg[0] == '-' +} + +func argumentIsOption(arg string) bool { + if len(arg) > 1 && arg[0] == '-' && arg[1] != '-' { + return true + } + + if len(arg) > 2 && arg[0] == '-' && arg[1] == '-' && arg[2] != '-' { + return true + } + + return false +} + +// stripOptionPrefix returns the option without the prefix and whether or +// not the option is a long option or not. +func stripOptionPrefix(optname string) (prefix string, name string, islong bool) { + if strings.HasPrefix(optname, "--") { + return "--", optname[2:], true + } else if strings.HasPrefix(optname, "-") { + return "-", optname[1:], false + } + + return "", optname, false +} + +// splitOption attempts to split the passed option into a name and an argument. +// When there is no argument specified, nil will be returned for it. +func splitOption(prefix string, option string, islong bool) (string, string, *string) { + pos := strings.Index(option, "=") + + if (islong && pos >= 0) || (!islong && pos == 1) { + rest := option[pos+1:] + return option[:pos], "=", &rest + } + + return option, "", nil +} + +// addHelpGroup adds a new group that contains default help parameters. +func (c *Command) addHelpGroup(showHelp func() error) *Group { + var help struct { + ShowHelp func() error `short:"h" long:"help" description:"Show this help message"` + } + + help.ShowHelp = showHelp + ret, _ := c.AddGroup("Help Options", "", &help) + ret.isBuiltinHelp = true + + return ret +} diff --git a/vendor/github.com/jessevdk/go-flags/optstyle_windows.go b/vendor/github.com/jessevdk/go-flags/optstyle_windows.go new file mode 100644 index 00000000000..f3f28aeeff4 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/optstyle_windows.go @@ -0,0 +1,108 @@ +// +build !forceposix + +package flags + +import ( + "strings" +) + +// Windows uses a front slash for both short and long options. Also it uses +// a colon for name/argument delimter. +const ( + defaultShortOptDelimiter = '/' + defaultLongOptDelimiter = "/" + defaultNameArgDelimiter = ':' +) + +func argumentStartsOption(arg string) bool { + return len(arg) > 0 && (arg[0] == '-' || arg[0] == '/') +} + +func argumentIsOption(arg string) bool { + // Windows-style options allow front slash for the option + // delimiter. + if len(arg) > 1 && arg[0] == '/' { + return true + } + + if len(arg) > 1 && arg[0] == '-' && arg[1] != '-' { + return true + } + + if len(arg) > 2 && arg[0] == '-' && arg[1] == '-' && arg[2] != '-' { + return true + } + + return false +} + +// stripOptionPrefix returns the option without the prefix and whether or +// not the option is a long option or not. +func stripOptionPrefix(optname string) (prefix string, name string, islong bool) { + // Determine if the argument is a long option or not. Windows + // typically supports both long and short options with a single + // front slash as the option delimiter, so handle this situation + // nicely. + possplit := 0 + + if strings.HasPrefix(optname, "--") { + possplit = 2 + islong = true + } else if strings.HasPrefix(optname, "-") { + possplit = 1 + islong = false + } else if strings.HasPrefix(optname, "/") { + possplit = 1 + islong = len(optname) > 2 + } + + return optname[:possplit], optname[possplit:], islong +} + +// splitOption attempts to split the passed option into a name and an argument. +// When there is no argument specified, nil will be returned for it. +func splitOption(prefix string, option string, islong bool) (string, string, *string) { + if len(option) == 0 { + return option, "", nil + } + + // Windows typically uses a colon for the option name and argument + // delimiter while POSIX typically uses an equals. Support both styles, + // but don't allow the two to be mixed. That is to say /foo:bar and + // --foo=bar are acceptable, but /foo=bar and --foo:bar are not. + var pos int + var sp string + + if prefix == "/" { + sp = ":" + pos = strings.Index(option, sp) + } else if len(prefix) > 0 { + sp = "=" + pos = strings.Index(option, sp) + } + + if (islong && pos >= 0) || (!islong && pos == 1) { + rest := option[pos+1:] + return option[:pos], sp, &rest + } + + return option, "", nil +} + +// addHelpGroup adds a new group that contains default help parameters. +func (c *Command) addHelpGroup(showHelp func() error) *Group { + // Windows CLI applications typically use /? for help, so make both + // that available as well as the POSIX style h and help. + var help struct { + ShowHelpWindows func() error `short:"?" description:"Show this help message"` + ShowHelpPosix func() error `short:"h" long:"help" description:"Show this help message"` + } + + help.ShowHelpWindows = showHelp + help.ShowHelpPosix = showHelp + + ret, _ := c.AddGroup("Help Options", "", &help) + ret.isBuiltinHelp = true + + return ret +} diff --git a/vendor/github.com/jessevdk/go-flags/parser.go b/vendor/github.com/jessevdk/go-flags/parser.go new file mode 100644 index 00000000000..042930c408f --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/parser.go @@ -0,0 +1,704 @@ +// Copyright 2012 Jesse van den Kieboom. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package flags + +import ( + "bytes" + "fmt" + "os" + "path" + "sort" + "strings" + "unicode/utf8" +) + +// A Parser provides command line option parsing. It can contain several +// option groups each with their own set of options. +type Parser struct { + // Embedded, see Command for more information + *Command + + // A usage string to be displayed in the help message. + Usage string + + // Option flags changing the behavior of the parser. + Options Options + + // NamespaceDelimiter separates group namespaces and option long names + NamespaceDelimiter string + + // EnvNamespaceDelimiter separates group env namespaces and env keys + EnvNamespaceDelimiter string + + // UnknownOptionsHandler is a function which gets called when the parser + // encounters an unknown option. The function receives the unknown option + // name, a SplitArgument which specifies its value if set with an argument + // separator, and the remaining command line arguments. + // It should return a new list of remaining arguments to continue parsing, + // or an error to indicate a parse failure. + UnknownOptionHandler func(option string, arg SplitArgument, args []string) ([]string, error) + + // CompletionHandler is a function gets called to handle the completion of + // items. By default, the items are printed and the application is exited. + // You can override this default behavior by specifying a custom CompletionHandler. + CompletionHandler func(items []Completion) + + // CommandHandler is a function that gets called to handle execution of a + // command. By default, the command will simply be executed. This can be + // overridden to perform certain actions (such as applying global flags) + // just before the command is executed. Note that if you override the + // handler it is your responsibility to call the command.Execute function. + // + // The command passed into CommandHandler may be nil in case there is no + // command to be executed when parsing has finished. + CommandHandler func(command Commander, args []string) error + + internalError error +} + +// SplitArgument represents the argument value of an option that was passed using +// an argument separator. +type SplitArgument interface { + // String returns the option's value as a string, and a boolean indicating + // if the option was present. + Value() (string, bool) +} + +type strArgument struct { + value *string +} + +func (s strArgument) Value() (string, bool) { + if s.value == nil { + return "", false + } + + return *s.value, true +} + +// Options provides parser options that change the behavior of the option +// parser. +type Options uint + +const ( + // None indicates no options. + None Options = 0 + + // HelpFlag adds a default Help Options group to the parser containing + // -h and --help options. When either -h or --help is specified on the + // command line, the parser will return the special error of type + // ErrHelp. When PrintErrors is also specified, then the help message + // will also be automatically printed to os.Stdout. + HelpFlag = 1 << iota + + // PassDoubleDash passes all arguments after a double dash, --, as + // remaining command line arguments (i.e. they will not be parsed for + // flags). + PassDoubleDash + + // IgnoreUnknown ignores any unknown options and passes them as + // remaining command line arguments instead of generating an error. + IgnoreUnknown + + // PrintErrors prints any errors which occurred during parsing to + // os.Stderr. In the special case of ErrHelp, the message will be printed + // to os.Stdout. + PrintErrors + + // PassAfterNonOption passes all arguments after the first non option + // as remaining command line arguments. This is equivalent to strict + // POSIX processing. + PassAfterNonOption + + // Default is a convenient default set of options which should cover + // most of the uses of the flags package. + Default = HelpFlag | PrintErrors | PassDoubleDash +) + +type parseState struct { + arg string + args []string + retargs []string + positional []*Arg + err error + + command *Command + lookup lookup +} + +// Parse is a convenience function to parse command line options with default +// settings. The provided data is a pointer to a struct representing the +// default option group (named "Application Options"). For more control, use +// flags.NewParser. +func Parse(data interface{}) ([]string, error) { + return NewParser(data, Default).Parse() +} + +// ParseArgs is a convenience function to parse command line options with default +// settings. The provided data is a pointer to a struct representing the +// default option group (named "Application Options"). The args argument is +// the list of command line arguments to parse. If you just want to parse the +// default program command line arguments (i.e. os.Args), then use flags.Parse +// instead. For more control, use flags.NewParser. +func ParseArgs(data interface{}, args []string) ([]string, error) { + return NewParser(data, Default).ParseArgs(args) +} + +// NewParser creates a new parser. It uses os.Args[0] as the application +// name and then calls Parser.NewNamedParser (see Parser.NewNamedParser for +// more details). The provided data is a pointer to a struct representing the +// default option group (named "Application Options"), or nil if the default +// group should not be added. The options parameter specifies a set of options +// for the parser. +func NewParser(data interface{}, options Options) *Parser { + p := NewNamedParser(path.Base(os.Args[0]), options) + + if data != nil { + g, err := p.AddGroup("Application Options", "", data) + + if err == nil { + g.parent = p + } + + p.internalError = err + } + + return p +} + +// NewNamedParser creates a new parser. The appname is used to display the +// executable name in the built-in help message. Option groups and commands can +// be added to this parser by using AddGroup and AddCommand. +func NewNamedParser(appname string, options Options) *Parser { + p := &Parser{ + Command: newCommand(appname, "", "", nil), + Options: options, + NamespaceDelimiter: ".", + EnvNamespaceDelimiter: "_", + } + + p.Command.parent = p + + return p +} + +// Parse parses the command line arguments from os.Args using Parser.ParseArgs. +// For more detailed information see ParseArgs. +func (p *Parser) Parse() ([]string, error) { + return p.ParseArgs(os.Args[1:]) +} + +// ParseArgs parses the command line arguments according to the option groups that +// were added to the parser. On successful parsing of the arguments, the +// remaining, non-option, arguments (if any) are returned. The returned error +// indicates a parsing error and can be used with PrintError to display +// contextual information on where the error occurred exactly. +// +// When the common help group has been added (AddHelp) and either -h or --help +// was specified in the command line arguments, a help message will be +// automatically printed if the PrintErrors option is enabled. +// Furthermore, the special error type ErrHelp is returned. +// It is up to the caller to exit the program if so desired. +func (p *Parser) ParseArgs(args []string) ([]string, error) { + if p.internalError != nil { + return nil, p.internalError + } + + p.eachOption(func(c *Command, g *Group, option *Option) { + option.isSet = false + option.isSetDefault = false + option.updateDefaultLiteral() + }) + + // Add built-in help group to all commands if necessary + if (p.Options & HelpFlag) != None { + p.addHelpGroups(p.showBuiltinHelp) + } + + compval := os.Getenv("GO_FLAGS_COMPLETION") + + if len(compval) != 0 { + comp := &completion{parser: p} + items := comp.complete(args) + + if p.CompletionHandler != nil { + p.CompletionHandler(items) + } else { + comp.print(items, compval == "verbose") + os.Exit(0) + } + + return nil, nil + } + + s := &parseState{ + args: args, + retargs: make([]string, 0, len(args)), + } + + p.fillParseState(s) + + for !s.eof() { + arg := s.pop() + + // When PassDoubleDash is set and we encounter a --, then + // simply append all the rest as arguments and break out + if (p.Options&PassDoubleDash) != None && arg == "--" { + s.addArgs(s.args...) + break + } + + if !argumentIsOption(arg) { + // Note: this also sets s.err, so we can just check for + // nil here and use s.err later + if p.parseNonOption(s) != nil { + break + } + + continue + } + + var err error + + prefix, optname, islong := stripOptionPrefix(arg) + optname, _, argument := splitOption(prefix, optname, islong) + + if islong { + err = p.parseLong(s, optname, argument) + } else { + err = p.parseShort(s, optname, argument) + } + + if err != nil { + ignoreUnknown := (p.Options & IgnoreUnknown) != None + parseErr := wrapError(err) + + if parseErr.Type != ErrUnknownFlag || (!ignoreUnknown && p.UnknownOptionHandler == nil) { + s.err = parseErr + break + } + + if ignoreUnknown { + s.addArgs(arg) + } else if p.UnknownOptionHandler != nil { + modifiedArgs, err := p.UnknownOptionHandler(optname, strArgument{argument}, s.args) + + if err != nil { + s.err = err + break + } + + s.args = modifiedArgs + } + } + } + + if s.err == nil { + p.eachOption(func(c *Command, g *Group, option *Option) { + if option.preventDefault { + return + } + + option.clearDefault() + }) + + s.checkRequired(p) + } + + var reterr error + + if s.err != nil { + reterr = s.err + } else if len(s.command.commands) != 0 && !s.command.SubcommandsOptional { + reterr = s.estimateCommand() + } else if cmd, ok := s.command.data.(Commander); ok { + if p.CommandHandler != nil { + reterr = p.CommandHandler(cmd, s.retargs) + } else { + reterr = cmd.Execute(s.retargs) + } + } else if p.CommandHandler != nil { + reterr = p.CommandHandler(nil, s.retargs) + } + + if reterr != nil { + var retargs []string + + if ourErr, ok := reterr.(*Error); !ok || ourErr.Type != ErrHelp { + retargs = append([]string{s.arg}, s.args...) + } else { + retargs = s.args + } + + return retargs, p.printError(reterr) + } + + return s.retargs, nil +} + +func (p *parseState) eof() bool { + return len(p.args) == 0 +} + +func (p *parseState) pop() string { + if p.eof() { + return "" + } + + p.arg = p.args[0] + p.args = p.args[1:] + + return p.arg +} + +func (p *parseState) peek() string { + if p.eof() { + return "" + } + + return p.args[0] +} + +func (p *parseState) checkRequired(parser *Parser) error { + c := parser.Command + + var required []*Option + + for c != nil { + c.eachGroup(func(g *Group) { + for _, option := range g.options { + if !option.isSet && option.Required { + required = append(required, option) + } + } + }) + + c = c.Active + } + + if len(required) == 0 { + if len(p.positional) > 0 { + var reqnames []string + + for _, arg := range p.positional { + argRequired := (!arg.isRemaining() && p.command.ArgsRequired) || arg.Required != -1 || arg.RequiredMaximum != -1 + + if !argRequired { + continue + } + + if arg.isRemaining() { + if arg.value.Len() < arg.Required { + var arguments string + + if arg.Required > 1 { + arguments = "arguments, but got only " + fmt.Sprintf("%d", arg.value.Len()) + } else { + arguments = "argument" + } + + reqnames = append(reqnames, "`"+arg.Name+" (at least "+fmt.Sprintf("%d", arg.Required)+" "+arguments+")`") + } else if arg.RequiredMaximum != -1 && arg.value.Len() > arg.RequiredMaximum { + if arg.RequiredMaximum == 0 { + reqnames = append(reqnames, "`"+arg.Name+" (zero arguments)`") + } else { + var arguments string + + if arg.RequiredMaximum > 1 { + arguments = "arguments, but got " + fmt.Sprintf("%d", arg.value.Len()) + } else { + arguments = "argument" + } + + reqnames = append(reqnames, "`"+arg.Name+" (at most "+fmt.Sprintf("%d", arg.RequiredMaximum)+" "+arguments+")`") + } + } + } else { + reqnames = append(reqnames, "`"+arg.Name+"`") + } + } + + if len(reqnames) == 0 { + return nil + } + + var msg string + + if len(reqnames) == 1 { + msg = fmt.Sprintf("the required argument %s was not provided", reqnames[0]) + } else { + msg = fmt.Sprintf("the required arguments %s and %s were not provided", + strings.Join(reqnames[:len(reqnames)-1], ", "), reqnames[len(reqnames)-1]) + } + + p.err = newError(ErrRequired, msg) + return p.err + } + + return nil + } + + names := make([]string, 0, len(required)) + + for _, k := range required { + names = append(names, "`"+k.String()+"'") + } + + sort.Strings(names) + + var msg string + + if len(names) == 1 { + msg = fmt.Sprintf("the required flag %s was not specified", names[0]) + } else { + msg = fmt.Sprintf("the required flags %s and %s were not specified", + strings.Join(names[:len(names)-1], ", "), names[len(names)-1]) + } + + p.err = newError(ErrRequired, msg) + return p.err +} + +func (p *parseState) estimateCommand() error { + commands := p.command.sortedVisibleCommands() + cmdnames := make([]string, len(commands)) + + for i, v := range commands { + cmdnames[i] = v.Name + } + + var msg string + var errtype ErrorType + + if len(p.retargs) != 0 { + c, l := closestChoice(p.retargs[0], cmdnames) + msg = fmt.Sprintf("Unknown command `%s'", p.retargs[0]) + errtype = ErrUnknownCommand + + if float32(l)/float32(len(c)) < 0.5 { + msg = fmt.Sprintf("%s, did you mean `%s'?", msg, c) + } else if len(cmdnames) == 1 { + msg = fmt.Sprintf("%s. You should use the %s command", + msg, + cmdnames[0]) + } else if len(cmdnames) > 1 { + msg = fmt.Sprintf("%s. Please specify one command of: %s or %s", + msg, + strings.Join(cmdnames[:len(cmdnames)-1], ", "), + cmdnames[len(cmdnames)-1]) + } + } else { + errtype = ErrCommandRequired + + if len(cmdnames) == 1 { + msg = fmt.Sprintf("Please specify the %s command", cmdnames[0]) + } else if len(cmdnames) > 1 { + msg = fmt.Sprintf("Please specify one command of: %s or %s", + strings.Join(cmdnames[:len(cmdnames)-1], ", "), + cmdnames[len(cmdnames)-1]) + } + } + + return newError(errtype, msg) +} + +func (p *Parser) parseOption(s *parseState, name string, option *Option, canarg bool, argument *string) (err error) { + if !option.canArgument() { + if argument != nil { + return newErrorf(ErrNoArgumentForBool, "bool flag `%s' cannot have an argument", option) + } + + err = option.set(nil) + } else if argument != nil || (canarg && !s.eof()) { + var arg string + + if argument != nil { + arg = *argument + } else { + arg = s.pop() + + if argumentIsOption(arg) && !(option.isSignedNumber() && len(arg) > 1 && arg[0] == '-' && arg[1] >= '0' && arg[1] <= '9') { + return newErrorf(ErrExpectedArgument, "expected argument for flag `%s', but got option `%s'", option, arg) + } else if p.Options&PassDoubleDash != 0 && arg == "--" { + return newErrorf(ErrExpectedArgument, "expected argument for flag `%s', but got double dash `--'", option) + } + } + + if option.tag.Get("unquote") != "false" { + arg, err = unquoteIfPossible(arg) + } + + if err == nil { + err = option.set(&arg) + } + } else if option.OptionalArgument { + option.empty() + + for _, v := range option.OptionalValue { + err = option.set(&v) + + if err != nil { + break + } + } + } else { + err = newErrorf(ErrExpectedArgument, "expected argument for flag `%s'", option) + } + + if err != nil { + if _, ok := err.(*Error); !ok { + err = newErrorf(ErrMarshal, "invalid argument for flag `%s' (expected %s): %s", + option, + option.value.Type(), + err.Error()) + } + } + + return err +} + +func (p *Parser) parseLong(s *parseState, name string, argument *string) error { + if option := s.lookup.longNames[name]; option != nil { + // Only long options that are required can consume an argument + // from the argument list + canarg := !option.OptionalArgument + + return p.parseOption(s, name, option, canarg, argument) + } + + return newErrorf(ErrUnknownFlag, "unknown flag `%s'", name) +} + +func (p *Parser) splitShortConcatArg(s *parseState, optname string) (string, *string) { + c, n := utf8.DecodeRuneInString(optname) + + if n == len(optname) { + return optname, nil + } + + first := string(c) + + if option := s.lookup.shortNames[first]; option != nil && option.canArgument() { + arg := optname[n:] + return first, &arg + } + + return optname, nil +} + +func (p *Parser) parseShort(s *parseState, optname string, argument *string) error { + if argument == nil { + optname, argument = p.splitShortConcatArg(s, optname) + } + + for i, c := range optname { + shortname := string(c) + + if option := s.lookup.shortNames[shortname]; option != nil { + // Only the last short argument can consume an argument from + // the arguments list, and only if it's non optional + canarg := (i+utf8.RuneLen(c) == len(optname)) && !option.OptionalArgument + + if err := p.parseOption(s, shortname, option, canarg, argument); err != nil { + return err + } + } else { + return newErrorf(ErrUnknownFlag, "unknown flag `%s'", shortname) + } + + // Only the first option can have a concatted argument, so just + // clear argument here + argument = nil + } + + return nil +} + +func (p *parseState) addArgs(args ...string) error { + for len(p.positional) > 0 && len(args) > 0 { + arg := p.positional[0] + + if err := convert(args[0], arg.value, arg.tag); err != nil { + p.err = err + return err + } + + if !arg.isRemaining() { + p.positional = p.positional[1:] + } + + args = args[1:] + } + + p.retargs = append(p.retargs, args...) + return nil +} + +func (p *Parser) parseNonOption(s *parseState) error { + if len(s.positional) > 0 { + return s.addArgs(s.arg) + } + + if len(s.command.commands) > 0 && len(s.retargs) == 0 { + if cmd := s.lookup.commands[s.arg]; cmd != nil { + s.command.Active = cmd + cmd.fillParseState(s) + + return nil + } else if !s.command.SubcommandsOptional { + s.addArgs(s.arg) + return newErrorf(ErrUnknownCommand, "Unknown command `%s'", s.arg) + } + } + + if (p.Options & PassAfterNonOption) != None { + // If PassAfterNonOption is set then all remaining arguments + // are considered positional + if err := s.addArgs(s.arg); err != nil { + return err + } + + if err := s.addArgs(s.args...); err != nil { + return err + } + + s.args = []string{} + } else { + return s.addArgs(s.arg) + } + + return nil +} + +func (p *Parser) showBuiltinHelp() error { + var b bytes.Buffer + + p.WriteHelp(&b) + return newError(ErrHelp, b.String()) +} + +func (p *Parser) printError(err error) error { + if err != nil && (p.Options&PrintErrors) != None { + flagsErr, ok := err.(*Error) + + if ok && flagsErr.Type == ErrHelp { + fmt.Fprintln(os.Stdout, err) + } else { + fmt.Fprintln(os.Stderr, err) + } + } + + return err +} + +func (p *Parser) clearIsSet() { + p.eachCommand(func(c *Command) { + c.eachGroup(func(g *Group) { + for _, option := range g.options { + option.isSet = false + } + }) + }, true) +} diff --git a/vendor/github.com/jessevdk/go-flags/termsize.go b/vendor/github.com/jessevdk/go-flags/termsize.go new file mode 100644 index 00000000000..1ca6a8503c7 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/termsize.go @@ -0,0 +1,28 @@ +// +build !windows,!plan9,!solaris,!appengine + +package flags + +import ( + "syscall" + "unsafe" +) + +type winsize struct { + row, col uint16 + xpixel, ypixel uint16 +} + +func getTerminalColumns() int { + ws := winsize{} + + if tIOCGWINSZ != 0 { + syscall.Syscall(syscall.SYS_IOCTL, + uintptr(0), + uintptr(tIOCGWINSZ), + uintptr(unsafe.Pointer(&ws))) + + return int(ws.col) + } + + return 80 +} diff --git a/vendor/github.com/jessevdk/go-flags/termsize_nosysioctl.go b/vendor/github.com/jessevdk/go-flags/termsize_nosysioctl.go new file mode 100644 index 00000000000..3d5385b0bca --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/termsize_nosysioctl.go @@ -0,0 +1,7 @@ +// +build windows plan9 solaris appengine + +package flags + +func getTerminalColumns() int { + return 80 +} diff --git a/vendor/github.com/jessevdk/go-flags/tiocgwinsz_bsdish.go b/vendor/github.com/jessevdk/go-flags/tiocgwinsz_bsdish.go new file mode 100644 index 00000000000..fcc11860101 --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/tiocgwinsz_bsdish.go @@ -0,0 +1,7 @@ +// +build darwin freebsd netbsd openbsd + +package flags + +const ( + tIOCGWINSZ = 0x40087468 +) diff --git a/vendor/github.com/jessevdk/go-flags/tiocgwinsz_linux.go b/vendor/github.com/jessevdk/go-flags/tiocgwinsz_linux.go new file mode 100644 index 00000000000..e3975e2835f --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/tiocgwinsz_linux.go @@ -0,0 +1,7 @@ +// +build linux + +package flags + +const ( + tIOCGWINSZ = 0x5413 +) diff --git a/vendor/github.com/jessevdk/go-flags/tiocgwinsz_other.go b/vendor/github.com/jessevdk/go-flags/tiocgwinsz_other.go new file mode 100644 index 00000000000..308215155ea --- /dev/null +++ b/vendor/github.com/jessevdk/go-flags/tiocgwinsz_other.go @@ -0,0 +1,7 @@ +// +build !darwin,!freebsd,!netbsd,!openbsd,!linux + +package flags + +const ( + tIOCGWINSZ = 0 +) diff --git a/vendor/github.com/mailru/easyjson/LICENSE b/vendor/github.com/mailru/easyjson/LICENSE new file mode 100644 index 00000000000..fbff658f70d --- /dev/null +++ b/vendor/github.com/mailru/easyjson/LICENSE @@ -0,0 +1,7 @@ +Copyright (c) 2016 Mail.Ru Group + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/mailru/easyjson/buffer/pool.go b/vendor/github.com/mailru/easyjson/buffer/pool.go new file mode 100644 index 00000000000..07fb4bc1f7b --- /dev/null +++ b/vendor/github.com/mailru/easyjson/buffer/pool.go @@ -0,0 +1,270 @@ +// Package buffer implements a buffer for serialization, consisting of a chain of []byte-s to +// reduce copying and to allow reuse of individual chunks. +package buffer + +import ( + "io" + "sync" +) + +// PoolConfig contains configuration for the allocation and reuse strategy. +type PoolConfig struct { + StartSize int // Minimum chunk size that is allocated. + PooledSize int // Minimum chunk size that is reused, reusing chunks too small will result in overhead. + MaxSize int // Maximum chunk size that will be allocated. +} + +var config = PoolConfig{ + StartSize: 128, + PooledSize: 512, + MaxSize: 32768, +} + +// Reuse pool: chunk size -> pool. +var buffers = map[int]*sync.Pool{} + +func initBuffers() { + for l := config.PooledSize; l <= config.MaxSize; l *= 2 { + buffers[l] = new(sync.Pool) + } +} + +func init() { + initBuffers() +} + +// Init sets up a non-default pooling and allocation strategy. Should be run before serialization is done. +func Init(cfg PoolConfig) { + config = cfg + initBuffers() +} + +// putBuf puts a chunk to reuse pool if it can be reused. +func putBuf(buf []byte) { + size := cap(buf) + if size < config.PooledSize { + return + } + if c := buffers[size]; c != nil { + c.Put(buf[:0]) + } +} + +// getBuf gets a chunk from reuse pool or creates a new one if reuse failed. +func getBuf(size int) []byte { + if size < config.PooledSize { + return make([]byte, 0, size) + } + + if c := buffers[size]; c != nil { + v := c.Get() + if v != nil { + return v.([]byte) + } + } + return make([]byte, 0, size) +} + +// Buffer is a buffer optimized for serialization without extra copying. +type Buffer struct { + + // Buf is the current chunk that can be used for serialization. + Buf []byte + + toPool []byte + bufs [][]byte +} + +// EnsureSpace makes sure that the current chunk contains at least s free bytes, +// possibly creating a new chunk. +func (b *Buffer) EnsureSpace(s int) { + if cap(b.Buf)-len(b.Buf) >= s { + return + } + l := len(b.Buf) + if l > 0 { + if cap(b.toPool) != cap(b.Buf) { + // Chunk was reallocated, toPool can be pooled. + putBuf(b.toPool) + } + if cap(b.bufs) == 0 { + b.bufs = make([][]byte, 0, 8) + } + b.bufs = append(b.bufs, b.Buf) + l = cap(b.toPool) * 2 + } else { + l = config.StartSize + } + + if l > config.MaxSize { + l = config.MaxSize + } + b.Buf = getBuf(l) + b.toPool = b.Buf +} + +// AppendByte appends a single byte to buffer. +func (b *Buffer) AppendByte(data byte) { + if cap(b.Buf) == len(b.Buf) { // EnsureSpace won't be inlined. + b.EnsureSpace(1) + } + b.Buf = append(b.Buf, data) +} + +// AppendBytes appends a byte slice to buffer. +func (b *Buffer) AppendBytes(data []byte) { + for len(data) > 0 { + if cap(b.Buf) == len(b.Buf) { // EnsureSpace won't be inlined. + b.EnsureSpace(1) + } + + sz := cap(b.Buf) - len(b.Buf) + if sz > len(data) { + sz = len(data) + } + + b.Buf = append(b.Buf, data[:sz]...) + data = data[sz:] + } +} + +// AppendBytes appends a string to buffer. +func (b *Buffer) AppendString(data string) { + for len(data) > 0 { + if cap(b.Buf) == len(b.Buf) { // EnsureSpace won't be inlined. + b.EnsureSpace(1) + } + + sz := cap(b.Buf) - len(b.Buf) + if sz > len(data) { + sz = len(data) + } + + b.Buf = append(b.Buf, data[:sz]...) + data = data[sz:] + } +} + +// Size computes the size of a buffer by adding sizes of every chunk. +func (b *Buffer) Size() int { + size := len(b.Buf) + for _, buf := range b.bufs { + size += len(buf) + } + return size +} + +// DumpTo outputs the contents of a buffer to a writer and resets the buffer. +func (b *Buffer) DumpTo(w io.Writer) (written int, err error) { + var n int + for _, buf := range b.bufs { + if err == nil { + n, err = w.Write(buf) + written += n + } + putBuf(buf) + } + + if err == nil { + n, err = w.Write(b.Buf) + written += n + } + putBuf(b.toPool) + + b.bufs = nil + b.Buf = nil + b.toPool = nil + + return +} + +// BuildBytes creates a single byte slice with all the contents of the buffer. Data is +// copied if it does not fit in a single chunk. You can optionally provide one byte +// slice as argument that it will try to reuse. +func (b *Buffer) BuildBytes(reuse ...[]byte) []byte { + if len(b.bufs) == 0 { + ret := b.Buf + b.toPool = nil + b.Buf = nil + return ret + } + + var ret []byte + size := b.Size() + + // If we got a buffer as argument and it is big enought, reuse it. + if len(reuse) == 1 && cap(reuse[0]) >= size { + ret = reuse[0][:0] + } else { + ret = make([]byte, 0, size) + } + for _, buf := range b.bufs { + ret = append(ret, buf...) + putBuf(buf) + } + + ret = append(ret, b.Buf...) + putBuf(b.toPool) + + b.bufs = nil + b.toPool = nil + b.Buf = nil + + return ret +} + +type readCloser struct { + offset int + bufs [][]byte +} + +func (r *readCloser) Read(p []byte) (n int, err error) { + for _, buf := range r.bufs { + // Copy as much as we can. + x := copy(p[n:], buf[r.offset:]) + n += x // Increment how much we filled. + + // Did we empty the whole buffer? + if r.offset+x == len(buf) { + // On to the next buffer. + r.offset = 0 + r.bufs = r.bufs[1:] + + // We can release this buffer. + putBuf(buf) + } else { + r.offset += x + } + + if n == len(p) { + break + } + } + // No buffers left or nothing read? + if len(r.bufs) == 0 { + err = io.EOF + } + return +} + +func (r *readCloser) Close() error { + // Release all remaining buffers. + for _, buf := range r.bufs { + putBuf(buf) + } + // In case Close gets called multiple times. + r.bufs = nil + + return nil +} + +// ReadCloser creates an io.ReadCloser with all the contents of the buffer. +func (b *Buffer) ReadCloser() io.ReadCloser { + ret := &readCloser{0, append(b.bufs, b.Buf)} + + b.bufs = nil + b.toPool = nil + b.Buf = nil + + return ret +} diff --git a/vendor/github.com/mailru/easyjson/jlexer/bytestostr.go b/vendor/github.com/mailru/easyjson/jlexer/bytestostr.go new file mode 100644 index 00000000000..ff7b27c5b20 --- /dev/null +++ b/vendor/github.com/mailru/easyjson/jlexer/bytestostr.go @@ -0,0 +1,24 @@ +// This file will only be included to the build if neither +// easyjson_nounsafe nor appengine build tag is set. See README notes +// for more details. + +//+build !easyjson_nounsafe +//+build !appengine + +package jlexer + +import ( + "reflect" + "unsafe" +) + +// bytesToStr creates a string pointing at the slice to avoid copying. +// +// Warning: the string returned by the function should be used with care, as the whole input data +// chunk may be either blocked from being freed by GC because of a single string or the buffer.Data +// may be garbage-collected even when the string exists. +func bytesToStr(data []byte) string { + h := (*reflect.SliceHeader)(unsafe.Pointer(&data)) + shdr := reflect.StringHeader{Data: h.Data, Len: h.Len} + return *(*string)(unsafe.Pointer(&shdr)) +} diff --git a/vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.go b/vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.go new file mode 100644 index 00000000000..864d1be6763 --- /dev/null +++ b/vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.go @@ -0,0 +1,13 @@ +// This file is included to the build if any of the buildtags below +// are defined. Refer to README notes for more details. + +//+build easyjson_nounsafe appengine + +package jlexer + +// bytesToStr creates a string normally from []byte +// +// Note that this method is roughly 1.5x slower than using the 'unsafe' method. +func bytesToStr(data []byte) string { + return string(data) +} diff --git a/vendor/github.com/mailru/easyjson/jlexer/error.go b/vendor/github.com/mailru/easyjson/jlexer/error.go new file mode 100644 index 00000000000..e90ec40d05f --- /dev/null +++ b/vendor/github.com/mailru/easyjson/jlexer/error.go @@ -0,0 +1,15 @@ +package jlexer + +import "fmt" + +// LexerError implements the error interface and represents all possible errors that can be +// generated during parsing the JSON data. +type LexerError struct { + Reason string + Offset int + Data string +} + +func (l *LexerError) Error() string { + return fmt.Sprintf("parse error: %s near offset %d of '%s'", l.Reason, l.Offset, l.Data) +} diff --git a/vendor/github.com/mailru/easyjson/jlexer/lexer.go b/vendor/github.com/mailru/easyjson/jlexer/lexer.go new file mode 100644 index 00000000000..ddd376b844c --- /dev/null +++ b/vendor/github.com/mailru/easyjson/jlexer/lexer.go @@ -0,0 +1,1182 @@ +// Package jlexer contains a JSON lexer implementation. +// +// It is expected that it is mostly used with generated parser code, so the interface is tuned +// for a parser that knows what kind of data is expected. +package jlexer + +import ( + "encoding/base64" + "encoding/json" + "errors" + "fmt" + "io" + "strconv" + "unicode" + "unicode/utf16" + "unicode/utf8" +) + +// tokenKind determines type of a token. +type tokenKind byte + +const ( + tokenUndef tokenKind = iota // No token. + tokenDelim // Delimiter: one of '{', '}', '[' or ']'. + tokenString // A string literal, e.g. "abc\u1234" + tokenNumber // Number literal, e.g. 1.5e5 + tokenBool // Boolean literal: true or false. + tokenNull // null keyword. +) + +// token describes a single token: type, position in the input and value. +type token struct { + kind tokenKind // Type of a token. + + boolValue bool // Value if a boolean literal token. + byteValue []byte // Raw value of a token. + delimValue byte +} + +// Lexer is a JSON lexer: it iterates over JSON tokens in a byte slice. +type Lexer struct { + Data []byte // Input data given to the lexer. + + start int // Start of the current token. + pos int // Current unscanned position in the input stream. + token token // Last scanned token, if token.kind != tokenUndef. + + firstElement bool // Whether current element is the first in array or an object. + wantSep byte // A comma or a colon character, which need to occur before a token. + + UseMultipleErrors bool // If we want to use multiple errors. + fatalError error // Fatal error occurred during lexing. It is usually a syntax error. + multipleErrors []*LexerError // Semantic errors occurred during lexing. Marshalling will be continued after finding this errors. +} + +// FetchToken scans the input for the next token. +func (r *Lexer) FetchToken() { + r.token.kind = tokenUndef + r.start = r.pos + + // Check if r.Data has r.pos element + // If it doesn't, it mean corrupted input data + if len(r.Data) < r.pos { + r.errParse("Unexpected end of data") + return + } + // Determine the type of a token by skipping whitespace and reading the + // first character. + for _, c := range r.Data[r.pos:] { + switch c { + case ':', ',': + if r.wantSep == c { + r.pos++ + r.start++ + r.wantSep = 0 + } else { + r.errSyntax() + } + + case ' ', '\t', '\r', '\n': + r.pos++ + r.start++ + + case '"': + if r.wantSep != 0 { + r.errSyntax() + } + + r.token.kind = tokenString + r.fetchString() + return + + case '{', '[': + if r.wantSep != 0 { + r.errSyntax() + } + r.firstElement = true + r.token.kind = tokenDelim + r.token.delimValue = r.Data[r.pos] + r.pos++ + return + + case '}', ']': + if !r.firstElement && (r.wantSep != ',') { + r.errSyntax() + } + r.wantSep = 0 + r.token.kind = tokenDelim + r.token.delimValue = r.Data[r.pos] + r.pos++ + return + + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-': + if r.wantSep != 0 { + r.errSyntax() + } + r.token.kind = tokenNumber + r.fetchNumber() + return + + case 'n': + if r.wantSep != 0 { + r.errSyntax() + } + + r.token.kind = tokenNull + r.fetchNull() + return + + case 't': + if r.wantSep != 0 { + r.errSyntax() + } + + r.token.kind = tokenBool + r.token.boolValue = true + r.fetchTrue() + return + + case 'f': + if r.wantSep != 0 { + r.errSyntax() + } + + r.token.kind = tokenBool + r.token.boolValue = false + r.fetchFalse() + return + + default: + r.errSyntax() + return + } + } + r.fatalError = io.EOF + return +} + +// isTokenEnd returns true if the char can follow a non-delimiter token +func isTokenEnd(c byte) bool { + return c == ' ' || c == '\t' || c == '\r' || c == '\n' || c == '[' || c == ']' || c == '{' || c == '}' || c == ',' || c == ':' +} + +// fetchNull fetches and checks remaining bytes of null keyword. +func (r *Lexer) fetchNull() { + r.pos += 4 + if r.pos > len(r.Data) || + r.Data[r.pos-3] != 'u' || + r.Data[r.pos-2] != 'l' || + r.Data[r.pos-1] != 'l' || + (r.pos != len(r.Data) && !isTokenEnd(r.Data[r.pos])) { + + r.pos -= 4 + r.errSyntax() + } +} + +// fetchTrue fetches and checks remaining bytes of true keyword. +func (r *Lexer) fetchTrue() { + r.pos += 4 + if r.pos > len(r.Data) || + r.Data[r.pos-3] != 'r' || + r.Data[r.pos-2] != 'u' || + r.Data[r.pos-1] != 'e' || + (r.pos != len(r.Data) && !isTokenEnd(r.Data[r.pos])) { + + r.pos -= 4 + r.errSyntax() + } +} + +// fetchFalse fetches and checks remaining bytes of false keyword. +func (r *Lexer) fetchFalse() { + r.pos += 5 + if r.pos > len(r.Data) || + r.Data[r.pos-4] != 'a' || + r.Data[r.pos-3] != 'l' || + r.Data[r.pos-2] != 's' || + r.Data[r.pos-1] != 'e' || + (r.pos != len(r.Data) && !isTokenEnd(r.Data[r.pos])) { + + r.pos -= 5 + r.errSyntax() + } +} + +// fetchNumber scans a number literal token. +func (r *Lexer) fetchNumber() { + hasE := false + afterE := false + hasDot := false + + r.pos++ + for i, c := range r.Data[r.pos:] { + switch { + case c >= '0' && c <= '9': + afterE = false + case c == '.' && !hasDot: + hasDot = true + case (c == 'e' || c == 'E') && !hasE: + hasE = true + hasDot = true + afterE = true + case (c == '+' || c == '-') && afterE: + afterE = false + default: + r.pos += i + if !isTokenEnd(c) { + r.errSyntax() + } else { + r.token.byteValue = r.Data[r.start:r.pos] + } + return + } + } + + r.pos = len(r.Data) + r.token.byteValue = r.Data[r.start:] +} + +// findStringLen tries to scan into the string literal for ending quote char to determine required size. +// The size will be exact if no escapes are present and may be inexact if there are escaped chars. +func findStringLen(data []byte) (isValid, hasEscapes bool, length int) { + delta := 0 + + for i := 0; i < len(data); i++ { + switch data[i] { + case '\\': + i++ + delta++ + if i < len(data) && data[i] == 'u' { + delta++ + } + case '"': + return true, (delta > 0), (i - delta) + } + } + + return false, false, len(data) +} + +// getu4 decodes \uXXXX from the beginning of s, returning the hex value, +// or it returns -1. +func getu4(s []byte) rune { + if len(s) < 6 || s[0] != '\\' || s[1] != 'u' { + return -1 + } + var val rune + for i := 2; i < len(s) && i < 6; i++ { + var v byte + c := s[i] + switch c { + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + v = c - '0' + case 'a', 'b', 'c', 'd', 'e', 'f': + v = c - 'a' + 10 + case 'A', 'B', 'C', 'D', 'E', 'F': + v = c - 'A' + 10 + default: + return -1 + } + + val <<= 4 + val |= rune(v) + } + return val +} + +// processEscape processes a single escape sequence and returns number of bytes processed. +func (r *Lexer) processEscape(data []byte) (int, error) { + if len(data) < 2 { + return 0, fmt.Errorf("syntax error at %v", string(data)) + } + + c := data[1] + switch c { + case '"', '/', '\\': + r.token.byteValue = append(r.token.byteValue, c) + return 2, nil + case 'b': + r.token.byteValue = append(r.token.byteValue, '\b') + return 2, nil + case 'f': + r.token.byteValue = append(r.token.byteValue, '\f') + return 2, nil + case 'n': + r.token.byteValue = append(r.token.byteValue, '\n') + return 2, nil + case 'r': + r.token.byteValue = append(r.token.byteValue, '\r') + return 2, nil + case 't': + r.token.byteValue = append(r.token.byteValue, '\t') + return 2, nil + case 'u': + rr := getu4(data) + if rr < 0 { + return 0, errors.New("syntax error") + } + + read := 6 + if utf16.IsSurrogate(rr) { + rr1 := getu4(data[read:]) + if dec := utf16.DecodeRune(rr, rr1); dec != unicode.ReplacementChar { + read += 6 + rr = dec + } else { + rr = unicode.ReplacementChar + } + } + var d [4]byte + s := utf8.EncodeRune(d[:], rr) + r.token.byteValue = append(r.token.byteValue, d[:s]...) + return read, nil + } + + return 0, errors.New("syntax error") +} + +// fetchString scans a string literal token. +func (r *Lexer) fetchString() { + r.pos++ + data := r.Data[r.pos:] + + isValid, hasEscapes, length := findStringLen(data) + if !isValid { + r.pos += length + r.errParse("unterminated string literal") + return + } + if !hasEscapes { + r.token.byteValue = data[:length] + r.pos += length + 1 + return + } + + r.token.byteValue = make([]byte, 0, length) + p := 0 + for i := 0; i < len(data); { + switch data[i] { + case '"': + r.pos += i + 1 + r.token.byteValue = append(r.token.byteValue, data[p:i]...) + i++ + return + + case '\\': + r.token.byteValue = append(r.token.byteValue, data[p:i]...) + off, err := r.processEscape(data[i:]) + if err != nil { + r.errParse(err.Error()) + return + } + i += off + p = i + + default: + i++ + } + } + r.errParse("unterminated string literal") +} + +// scanToken scans the next token if no token is currently available in the lexer. +func (r *Lexer) scanToken() { + if r.token.kind != tokenUndef || r.fatalError != nil { + return + } + + r.FetchToken() +} + +// consume resets the current token to allow scanning the next one. +func (r *Lexer) consume() { + r.token.kind = tokenUndef + r.token.delimValue = 0 +} + +// Ok returns true if no error (including io.EOF) was encountered during scanning. +func (r *Lexer) Ok() bool { + return r.fatalError == nil +} + +const maxErrorContextLen = 13 + +func (r *Lexer) errParse(what string) { + if r.fatalError == nil { + var str string + if len(r.Data)-r.pos <= maxErrorContextLen { + str = string(r.Data) + } else { + str = string(r.Data[r.pos:r.pos+maxErrorContextLen-3]) + "..." + } + r.fatalError = &LexerError{ + Reason: what, + Offset: r.pos, + Data: str, + } + } +} + +func (r *Lexer) errSyntax() { + r.errParse("syntax error") +} + +func (r *Lexer) errInvalidToken(expected string) { + if r.fatalError != nil { + return + } + if r.UseMultipleErrors { + r.pos = r.start + r.consume() + r.SkipRecursive() + switch expected { + case "[": + r.token.delimValue = ']' + r.token.kind = tokenDelim + case "{": + r.token.delimValue = '}' + r.token.kind = tokenDelim + } + r.addNonfatalError(&LexerError{ + Reason: fmt.Sprintf("expected %s", expected), + Offset: r.start, + Data: string(r.Data[r.start:r.pos]), + }) + return + } + + var str string + if len(r.token.byteValue) <= maxErrorContextLen { + str = string(r.token.byteValue) + } else { + str = string(r.token.byteValue[:maxErrorContextLen-3]) + "..." + } + r.fatalError = &LexerError{ + Reason: fmt.Sprintf("expected %s", expected), + Offset: r.pos, + Data: str, + } +} + +func (r *Lexer) GetPos() int { + return r.pos +} + +// Delim consumes a token and verifies that it is the given delimiter. +func (r *Lexer) Delim(c byte) { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + + if !r.Ok() || r.token.delimValue != c { + r.consume() // errInvalidToken can change token if UseMultipleErrors is enabled. + r.errInvalidToken(string([]byte{c})) + } else { + r.consume() + } +} + +// IsDelim returns true if there was no scanning error and next token is the given delimiter. +func (r *Lexer) IsDelim(c byte) bool { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + return !r.Ok() || r.token.delimValue == c +} + +// Null verifies that the next token is null and consumes it. +func (r *Lexer) Null() { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != tokenNull { + r.errInvalidToken("null") + } + r.consume() +} + +// IsNull returns true if the next token is a null keyword. +func (r *Lexer) IsNull() bool { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + return r.Ok() && r.token.kind == tokenNull +} + +// Skip skips a single token. +func (r *Lexer) Skip() { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + r.consume() +} + +// SkipRecursive skips next array or object completely, or just skips a single token if not +// an array/object. +// +// Note: no syntax validation is performed on the skipped data. +func (r *Lexer) SkipRecursive() { + r.scanToken() + var start, end byte + + switch r.token.delimValue { + case '{': + start, end = '{', '}' + case '[': + start, end = '[', ']' + default: + r.consume() + return + } + + r.consume() + + level := 1 + inQuotes := false + wasEscape := false + + for i, c := range r.Data[r.pos:] { + switch { + case c == start && !inQuotes: + level++ + case c == end && !inQuotes: + level-- + if level == 0 { + r.pos += i + 1 + return + } + case c == '\\' && inQuotes: + wasEscape = !wasEscape + continue + case c == '"' && inQuotes: + inQuotes = wasEscape + case c == '"': + inQuotes = true + } + wasEscape = false + } + r.pos = len(r.Data) + r.fatalError = &LexerError{ + Reason: "EOF reached while skipping array/object or token", + Offset: r.pos, + Data: string(r.Data[r.pos:]), + } +} + +// Raw fetches the next item recursively as a data slice +func (r *Lexer) Raw() []byte { + r.SkipRecursive() + if !r.Ok() { + return nil + } + return r.Data[r.start:r.pos] +} + +// IsStart returns whether the lexer is positioned at the start +// of an input string. +func (r *Lexer) IsStart() bool { + return r.pos == 0 +} + +// Consumed reads all remaining bytes from the input, publishing an error if +// there is anything but whitespace remaining. +func (r *Lexer) Consumed() { + if r.pos > len(r.Data) || !r.Ok() { + return + } + + for _, c := range r.Data[r.pos:] { + if c != ' ' && c != '\t' && c != '\r' && c != '\n' { + r.AddError(&LexerError{ + Reason: "invalid character '" + string(c) + "' after top-level value", + Offset: r.pos, + Data: string(r.Data[r.pos:]), + }) + return + } + + r.pos++ + r.start++ + } +} + +func (r *Lexer) unsafeString() (string, []byte) { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != tokenString { + r.errInvalidToken("string") + return "", nil + } + bytes := r.token.byteValue + ret := bytesToStr(r.token.byteValue) + r.consume() + return ret, bytes +} + +// UnsafeString returns the string value if the token is a string literal. +// +// Warning: returned string may point to the input buffer, so the string should not outlive +// the input buffer. Intended pattern of usage is as an argument to a switch statement. +func (r *Lexer) UnsafeString() string { + ret, _ := r.unsafeString() + return ret +} + +// UnsafeBytes returns the byte slice if the token is a string literal. +func (r *Lexer) UnsafeBytes() []byte { + _, ret := r.unsafeString() + return ret +} + +// String reads a string literal. +func (r *Lexer) String() string { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != tokenString { + r.errInvalidToken("string") + return "" + } + ret := string(r.token.byteValue) + r.consume() + return ret +} + +// Bytes reads a string literal and base64 decodes it into a byte slice. +func (r *Lexer) Bytes() []byte { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != tokenString { + r.errInvalidToken("string") + return nil + } + ret := make([]byte, base64.StdEncoding.DecodedLen(len(r.token.byteValue))) + n, err := base64.StdEncoding.Decode(ret, r.token.byteValue) + if err != nil { + r.fatalError = &LexerError{ + Reason: err.Error(), + } + return nil + } + + r.consume() + return ret[:n] +} + +// Bool reads a true or false boolean keyword. +func (r *Lexer) Bool() bool { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != tokenBool { + r.errInvalidToken("bool") + return false + } + ret := r.token.boolValue + r.consume() + return ret +} + +func (r *Lexer) number() string { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() || r.token.kind != tokenNumber { + r.errInvalidToken("number") + return "" + } + ret := bytesToStr(r.token.byteValue) + r.consume() + return ret +} + +func (r *Lexer) Uint8() uint8 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 8) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return uint8(n) +} + +func (r *Lexer) Uint16() uint16 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 16) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return uint16(n) +} + +func (r *Lexer) Uint32() uint32 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return uint32(n) +} + +func (r *Lexer) Uint64() uint64 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return n +} + +func (r *Lexer) Uint() uint { + return uint(r.Uint64()) +} + +func (r *Lexer) Int8() int8 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 8) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return int8(n) +} + +func (r *Lexer) Int16() int16 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 16) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return int16(n) +} + +func (r *Lexer) Int32() int32 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return int32(n) +} + +func (r *Lexer) Int64() int64 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return n +} + +func (r *Lexer) Int() int { + return int(r.Int64()) +} + +func (r *Lexer) Uint8Str() uint8 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 8) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return uint8(n) +} + +func (r *Lexer) Uint16Str() uint16 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 16) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return uint16(n) +} + +func (r *Lexer) Uint32Str() uint32 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return uint32(n) +} + +func (r *Lexer) Uint64Str() uint64 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseUint(s, 10, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return n +} + +func (r *Lexer) UintStr() uint { + return uint(r.Uint64Str()) +} + +func (r *Lexer) UintptrStr() uintptr { + return uintptr(r.Uint64Str()) +} + +func (r *Lexer) Int8Str() int8 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 8) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return int8(n) +} + +func (r *Lexer) Int16Str() int16 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 16) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return int16(n) +} + +func (r *Lexer) Int32Str() int32 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return int32(n) +} + +func (r *Lexer) Int64Str() int64 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseInt(s, 10, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return n +} + +func (r *Lexer) IntStr() int { + return int(r.Int64Str()) +} + +func (r *Lexer) Float32() float32 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseFloat(s, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return float32(n) +} + +func (r *Lexer) Float32Str() float32 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + n, err := strconv.ParseFloat(s, 32) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return float32(n) +} + +func (r *Lexer) Float64() float64 { + s := r.number() + if !r.Ok() { + return 0 + } + + n, err := strconv.ParseFloat(s, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: s, + }) + } + return n +} + +func (r *Lexer) Float64Str() float64 { + s, b := r.unsafeString() + if !r.Ok() { + return 0 + } + n, err := strconv.ParseFloat(s, 64) + if err != nil { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Reason: err.Error(), + Data: string(b), + }) + } + return n +} + +func (r *Lexer) Error() error { + return r.fatalError +} + +func (r *Lexer) AddError(e error) { + if r.fatalError == nil { + r.fatalError = e + } +} + +func (r *Lexer) AddNonFatalError(e error) { + r.addNonfatalError(&LexerError{ + Offset: r.start, + Data: string(r.Data[r.start:r.pos]), + Reason: e.Error(), + }) +} + +func (r *Lexer) addNonfatalError(err *LexerError) { + if r.UseMultipleErrors { + // We don't want to add errors with the same offset. + if len(r.multipleErrors) != 0 && r.multipleErrors[len(r.multipleErrors)-1].Offset == err.Offset { + return + } + r.multipleErrors = append(r.multipleErrors, err) + return + } + r.fatalError = err +} + +func (r *Lexer) GetNonFatalErrors() []*LexerError { + return r.multipleErrors +} + +// JsonNumber fetches and json.Number from 'encoding/json' package. +// Both int, float or string, contains them are valid values +func (r *Lexer) JsonNumber() json.Number { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + if !r.Ok() { + r.errInvalidToken("json.Number") + return json.Number("") + } + + switch r.token.kind { + case tokenString: + return json.Number(r.String()) + case tokenNumber: + return json.Number(r.Raw()) + case tokenNull: + r.Null() + return json.Number("") + default: + r.errSyntax() + return json.Number("") + } +} + +// Interface fetches an interface{} analogous to the 'encoding/json' package. +func (r *Lexer) Interface() interface{} { + if r.token.kind == tokenUndef && r.Ok() { + r.FetchToken() + } + + if !r.Ok() { + return nil + } + switch r.token.kind { + case tokenString: + return r.String() + case tokenNumber: + return r.Float64() + case tokenBool: + return r.Bool() + case tokenNull: + r.Null() + return nil + } + + if r.token.delimValue == '{' { + r.consume() + + ret := map[string]interface{}{} + for !r.IsDelim('}') { + key := r.String() + r.WantColon() + ret[key] = r.Interface() + r.WantComma() + } + r.Delim('}') + + if r.Ok() { + return ret + } else { + return nil + } + } else if r.token.delimValue == '[' { + r.consume() + + ret := []interface{}{} + for !r.IsDelim(']') { + ret = append(ret, r.Interface()) + r.WantComma() + } + r.Delim(']') + + if r.Ok() { + return ret + } else { + return nil + } + } + r.errSyntax() + return nil +} + +// WantComma requires a comma to be present before fetching next token. +func (r *Lexer) WantComma() { + r.wantSep = ',' + r.firstElement = false +} + +// WantColon requires a colon to be present before fetching next token. +func (r *Lexer) WantColon() { + r.wantSep = ':' + r.firstElement = false +} diff --git a/vendor/github.com/mailru/easyjson/jwriter/writer.go b/vendor/github.com/mailru/easyjson/jwriter/writer.go new file mode 100644 index 00000000000..b9ed7ccaa8b --- /dev/null +++ b/vendor/github.com/mailru/easyjson/jwriter/writer.go @@ -0,0 +1,390 @@ +// Package jwriter contains a JSON writer. +package jwriter + +import ( + "io" + "strconv" + "unicode/utf8" + + "github.com/mailru/easyjson/buffer" +) + +// Flags describe various encoding options. The behavior may be actually implemented in the encoder, but +// Flags field in Writer is used to set and pass them around. +type Flags int + +const ( + NilMapAsEmpty Flags = 1 << iota // Encode nil map as '{}' rather than 'null'. + NilSliceAsEmpty // Encode nil slice as '[]' rather than 'null'. +) + +// Writer is a JSON writer. +type Writer struct { + Flags Flags + + Error error + Buffer buffer.Buffer + NoEscapeHTML bool +} + +// Size returns the size of the data that was written out. +func (w *Writer) Size() int { + return w.Buffer.Size() +} + +// DumpTo outputs the data to given io.Writer, resetting the buffer. +func (w *Writer) DumpTo(out io.Writer) (written int, err error) { + return w.Buffer.DumpTo(out) +} + +// BuildBytes returns writer data as a single byte slice. You can optionally provide one byte slice +// as argument that it will try to reuse. +func (w *Writer) BuildBytes(reuse ...[]byte) ([]byte, error) { + if w.Error != nil { + return nil, w.Error + } + + return w.Buffer.BuildBytes(reuse...), nil +} + +// ReadCloser returns an io.ReadCloser that can be used to read the data. +// ReadCloser also resets the buffer. +func (w *Writer) ReadCloser() (io.ReadCloser, error) { + if w.Error != nil { + return nil, w.Error + } + + return w.Buffer.ReadCloser(), nil +} + +// RawByte appends raw binary data to the buffer. +func (w *Writer) RawByte(c byte) { + w.Buffer.AppendByte(c) +} + +// RawByte appends raw binary data to the buffer. +func (w *Writer) RawString(s string) { + w.Buffer.AppendString(s) +} + +// Raw appends raw binary data to the buffer or sets the error if it is given. Useful for +// calling with results of MarshalJSON-like functions. +func (w *Writer) Raw(data []byte, err error) { + switch { + case w.Error != nil: + return + case err != nil: + w.Error = err + case len(data) > 0: + w.Buffer.AppendBytes(data) + default: + w.RawString("null") + } +} + +// RawText encloses raw binary data in quotes and appends in to the buffer. +// Useful for calling with results of MarshalText-like functions. +func (w *Writer) RawText(data []byte, err error) { + switch { + case w.Error != nil: + return + case err != nil: + w.Error = err + case len(data) > 0: + w.String(string(data)) + default: + w.RawString("null") + } +} + +// Base64Bytes appends data to the buffer after base64 encoding it +func (w *Writer) Base64Bytes(data []byte) { + if data == nil { + w.Buffer.AppendString("null") + return + } + w.Buffer.AppendByte('"') + w.base64(data) + w.Buffer.AppendByte('"') +} + +func (w *Writer) Uint8(n uint8) { + w.Buffer.EnsureSpace(3) + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) +} + +func (w *Writer) Uint16(n uint16) { + w.Buffer.EnsureSpace(5) + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) +} + +func (w *Writer) Uint32(n uint32) { + w.Buffer.EnsureSpace(10) + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) +} + +func (w *Writer) Uint(n uint) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) +} + +func (w *Writer) Uint64(n uint64) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, n, 10) +} + +func (w *Writer) Int8(n int8) { + w.Buffer.EnsureSpace(4) + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) +} + +func (w *Writer) Int16(n int16) { + w.Buffer.EnsureSpace(6) + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) +} + +func (w *Writer) Int32(n int32) { + w.Buffer.EnsureSpace(11) + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) +} + +func (w *Writer) Int(n int) { + w.Buffer.EnsureSpace(21) + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) +} + +func (w *Writer) Int64(n int64) { + w.Buffer.EnsureSpace(21) + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, n, 10) +} + +func (w *Writer) Uint8Str(n uint8) { + w.Buffer.EnsureSpace(3) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Uint16Str(n uint16) { + w.Buffer.EnsureSpace(5) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Uint32Str(n uint32) { + w.Buffer.EnsureSpace(10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) UintStr(n uint) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Uint64Str(n uint64) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, n, 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) UintptrStr(n uintptr) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendUint(w.Buffer.Buf, uint64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Int8Str(n int8) { + w.Buffer.EnsureSpace(4) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Int16Str(n int16) { + w.Buffer.EnsureSpace(6) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Int32Str(n int32) { + w.Buffer.EnsureSpace(11) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) IntStr(n int) { + w.Buffer.EnsureSpace(21) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, int64(n), 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Int64Str(n int64) { + w.Buffer.EnsureSpace(21) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendInt(w.Buffer.Buf, n, 10) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Float32(n float32) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = strconv.AppendFloat(w.Buffer.Buf, float64(n), 'g', -1, 32) +} + +func (w *Writer) Float32Str(n float32) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendFloat(w.Buffer.Buf, float64(n), 'g', -1, 32) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Float64(n float64) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = strconv.AppendFloat(w.Buffer.Buf, n, 'g', -1, 64) +} + +func (w *Writer) Float64Str(n float64) { + w.Buffer.EnsureSpace(20) + w.Buffer.Buf = append(w.Buffer.Buf, '"') + w.Buffer.Buf = strconv.AppendFloat(w.Buffer.Buf, float64(n), 'g', -1, 64) + w.Buffer.Buf = append(w.Buffer.Buf, '"') +} + +func (w *Writer) Bool(v bool) { + w.Buffer.EnsureSpace(5) + if v { + w.Buffer.Buf = append(w.Buffer.Buf, "true"...) + } else { + w.Buffer.Buf = append(w.Buffer.Buf, "false"...) + } +} + +const chars = "0123456789abcdef" + +func isNotEscapedSingleChar(c byte, escapeHTML bool) bool { + // Note: might make sense to use a table if there are more chars to escape. With 4 chars + // it benchmarks the same. + if escapeHTML { + return c != '<' && c != '>' && c != '&' && c != '\\' && c != '"' && c >= 0x20 && c < utf8.RuneSelf + } else { + return c != '\\' && c != '"' && c >= 0x20 && c < utf8.RuneSelf + } +} + +func (w *Writer) String(s string) { + w.Buffer.AppendByte('"') + + // Portions of the string that contain no escapes are appended as + // byte slices. + + p := 0 // last non-escape symbol + + for i := 0; i < len(s); { + c := s[i] + + if isNotEscapedSingleChar(c, !w.NoEscapeHTML) { + // single-width character, no escaping is required + i++ + continue + } else if c < utf8.RuneSelf { + // single-with character, need to escape + w.Buffer.AppendString(s[p:i]) + switch c { + case '\t': + w.Buffer.AppendString(`\t`) + case '\r': + w.Buffer.AppendString(`\r`) + case '\n': + w.Buffer.AppendString(`\n`) + case '\\': + w.Buffer.AppendString(`\\`) + case '"': + w.Buffer.AppendString(`\"`) + default: + w.Buffer.AppendString(`\u00`) + w.Buffer.AppendByte(chars[c>>4]) + w.Buffer.AppendByte(chars[c&0xf]) + } + + i++ + p = i + continue + } + + // broken utf + runeValue, runeWidth := utf8.DecodeRuneInString(s[i:]) + if runeValue == utf8.RuneError && runeWidth == 1 { + w.Buffer.AppendString(s[p:i]) + w.Buffer.AppendString(`\ufffd`) + i++ + p = i + continue + } + + // jsonp stuff - tab separator and line separator + if runeValue == '\u2028' || runeValue == '\u2029' { + w.Buffer.AppendString(s[p:i]) + w.Buffer.AppendString(`\u202`) + w.Buffer.AppendByte(chars[runeValue&0xf]) + i += runeWidth + p = i + continue + } + i += runeWidth + } + w.Buffer.AppendString(s[p:]) + w.Buffer.AppendByte('"') +} + +const encode = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" +const padChar = '=' + +func (w *Writer) base64(in []byte) { + + if len(in) == 0 { + return + } + + w.Buffer.EnsureSpace(((len(in)-1)/3 + 1) * 4) + + si := 0 + n := (len(in) / 3) * 3 + + for si < n { + // Convert 3x 8bit source bytes into 4 bytes + val := uint(in[si+0])<<16 | uint(in[si+1])<<8 | uint(in[si+2]) + + w.Buffer.Buf = append(w.Buffer.Buf, encode[val>>18&0x3F], encode[val>>12&0x3F], encode[val>>6&0x3F], encode[val&0x3F]) + + si += 3 + } + + remain := len(in) - si + if remain == 0 { + return + } + + // Add the remaining small block + val := uint(in[si+0]) << 16 + if remain == 2 { + val |= uint(in[si+1]) << 8 + } + + w.Buffer.Buf = append(w.Buffer.Buf, encode[val>>18&0x3F], encode[val>>12&0x3F]) + + switch remain { + case 2: + w.Buffer.Buf = append(w.Buffer.Buf, encode[val>>6&0x3F], byte(padChar)) + case 1: + w.Buffer.Buf = append(w.Buffer.Buf, byte(padChar), byte(padChar)) + } +} diff --git a/vendor/github.com/oklog/oklog/pkg/group/group.go b/vendor/github.com/oklog/oklog/pkg/group/group.go deleted file mode 100644 index 02a39695689..00000000000 --- a/vendor/github.com/oklog/oklog/pkg/group/group.go +++ /dev/null @@ -1,9 +0,0 @@ -// Package group aliases github.com/oklog/run. -package group - -import ( - "github.com/oklog/run" -) - -type Group = run.Group - diff --git a/vendor/github.com/prometheus/alertmanager/COPYRIGHT.txt b/vendor/github.com/prometheus/alertmanager/COPYRIGHT.txt new file mode 100644 index 00000000000..af2570c1e41 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/COPYRIGHT.txt @@ -0,0 +1,12 @@ +Copyright Prometheus Team +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/vendor/github.com/prometheus/alertmanager/api/api.go b/vendor/github.com/prometheus/alertmanager/api/api.go index ec66c7f42b8..6b4a883887a 100644 --- a/vendor/github.com/prometheus/alertmanager/api/api.go +++ b/vendor/github.com/prometheus/alertmanager/api/api.go @@ -1,4 +1,4 @@ -// Copyright 2015 Prometheus Team +// Copyright 2019 Prometheus Team // 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 @@ -14,813 +14,217 @@ package api import ( - "encoding/json" "errors" "fmt" "net/http" - "regexp" - "sort" - "sync" + "runtime" "time" - "github.com/go-kit/kit/log" - "github.com/go-kit/kit/log/level" - "github.com/prometheus/client_golang/prometheus" - "github.com/prometheus/common/model" - "github.com/prometheus/common/route" - "github.com/prometheus/common/version" - "github.com/prometheus/prometheus/pkg/labels" - + apiv1 "github.com/prometheus/alertmanager/api/v1" + apiv2 "github.com/prometheus/alertmanager/api/v2" "github.com/prometheus/alertmanager/cluster" "github.com/prometheus/alertmanager/config" "github.com/prometheus/alertmanager/dispatch" - "github.com/prometheus/alertmanager/pkg/parse" "github.com/prometheus/alertmanager/provider" "github.com/prometheus/alertmanager/silence" - "github.com/prometheus/alertmanager/silence/silencepb" "github.com/prometheus/alertmanager/types" -) - -var ( - numReceivedAlerts = prometheus.NewCounterVec(prometheus.CounterOpts{ - Namespace: "alertmanager", - Name: "alerts_received_total", - Help: "The total number of received alerts.", - }, []string{"status"}) + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/common/model" + "github.com/prometheus/common/route" - numInvalidAlerts = prometheus.NewCounter(prometheus.CounterOpts{ - Namespace: "alertmanager", - Name: "alerts_invalid_total", - Help: "The total number of received alerts that were invalid.", - }) + "github.com/go-kit/kit/log" ) -func init() { - numReceivedAlerts.WithLabelValues("firing") - numReceivedAlerts.WithLabelValues("resolved") - - prometheus.Register(numReceivedAlerts) - prometheus.Register(numInvalidAlerts) -} - -var corsHeaders = map[string]string{ - "Access-Control-Allow-Headers": "Accept, Authorization, Content-Type, Origin", - "Access-Control-Allow-Methods": "GET, DELETE, OPTIONS", - "Access-Control-Allow-Origin": "*", - "Access-Control-Expose-Headers": "Date", -} - -// Enables cross-site script calls. -func setCORS(w http.ResponseWriter) { - for h, v := range corsHeaders { - w.Header().Set(h, v) - } -} - -// API provides registration of handlers for API routes. +// API represents all APIs of Alertmanager. type API struct { - alerts provider.Alerts - silences *silence.Silences - config *config.Config - route *dispatch.Route - resolveTimeout time.Duration - uptime time.Time - peer *cluster.Peer - logger log.Logger - - groups groupsFn - getAlertStatus getAlertStatusFn - - mtx sync.RWMutex -} - -type groupsFn func([]*labels.Matcher) dispatch.AlertOverview -type getAlertStatusFn func(model.Fingerprint) types.AlertStatus - -// New returns a new API. -func New( - alerts provider.Alerts, - silences *silence.Silences, - gf groupsFn, - sf getAlertStatusFn, - peer *cluster.Peer, - l log.Logger, -) *API { - if l == nil { - l = log.NewNopLogger() + v1 *apiv1.API + v2 *apiv2.API + requestsInFlight prometheus.Gauge + concurrencyLimitExceeded prometheus.Counter + timeout time.Duration + inFlightSem chan struct{} +} + +// Options for the creation of an API object. Alerts, Silences, and StatusFunc +// are mandatory to set. The zero value for everything else is a safe default. +type Options struct { + // Alerts to be used by the API. Mandatory. + Alerts provider.Alerts + // Silences to be used by the API. Mandatory. + Silences *silence.Silences + // StatusFunc is used be the API to retrieve the AlertStatus of an + // alert. Mandatory. + StatusFunc func(model.Fingerprint) types.AlertStatus + // Peer from the gossip cluster. If nil, no clustering will be used. + Peer *cluster.Peer + // Timeout for all HTTP connections. The zero value (and negative + // values) result in no timeout. + Timeout time.Duration + // Concurrency limit for GET requests. The zero value (and negative + // values) result in a limit of GOMAXPROCS or 8, whichever is + // larger. Status code 503 is served for GET requests that would exceed + // the concurrency limit. + Concurrency int + // Logger is used for logging, if nil, no logging will happen. + Logger log.Logger + // Registry is used to register Prometheus metrics. If nil, no metrics + // registration will happen. + Registry prometheus.Registerer + // GroupFunc returns a list of alert groups. The alerts are grouped + // according to the current active configuration. Alerts returned are + // filtered by the arguments provided to the function. + GroupFunc func(func(*dispatch.Route) bool, func(*types.Alert, time.Time) bool) (dispatch.AlertGroups, map[model.Fingerprint][]string) +} + +func (o Options) validate() error { + if o.Alerts == nil { + return errors.New("mandatory field Alerts not set") + } + if o.Silences == nil { + return errors.New("mandatory field Silences not set") + } + if o.StatusFunc == nil { + return errors.New("mandatory field StatusFunc not set") + } + if o.GroupFunc == nil { + return errors.New("mandatory field GroupFunc not set") } - - return &API{ - alerts: alerts, - silences: silences, - groups: gf, - getAlertStatus: sf, - uptime: time.Now(), - peer: peer, - logger: l, - } -} - -// Register registers the API handlers under their correct routes -// in the given router. -func (api *API) Register(r *route.Router) { - wrap := func(f http.HandlerFunc) http.HandlerFunc { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - setCORS(w) - f(w, r) - }) - } - - r.Options("/*path", wrap(func(w http.ResponseWriter, r *http.Request) {})) - - r.Get("/status", wrap(api.status)) - r.Get("/receivers", wrap(api.receivers)) - - r.Get("/alerts/groups", wrap(api.alertGroups)) - r.Get("/alerts", wrap(api.listAlerts)) - r.Post("/alerts", wrap(api.addAlerts)) - - r.Get("/silences", wrap(api.listSilences)) - r.Post("/silences", wrap(api.setSilence)) - r.Get("/silence/:sid", wrap(api.getSilence)) - r.Del("/silence/:sid", wrap(api.delSilence)) -} - -// Update sets the configuration string to a new value. -func (api *API) Update(cfg *config.Config, resolveTimeout time.Duration) error { - api.mtx.Lock() - defer api.mtx.Unlock() - - api.resolveTimeout = resolveTimeout - api.config = cfg - api.route = dispatch.NewRoute(cfg.Route, nil) return nil } -type errorType string - -const ( - errorNone errorType = "" - errorInternal errorType = "server_error" - errorBadData errorType = "bad_data" -) - -type apiError struct { - typ errorType - err error -} - -func (e *apiError) Error() string { - return fmt.Sprintf("%s: %s", e.typ, e.err) -} - -func (api *API) receivers(w http.ResponseWriter, req *http.Request) { - api.mtx.RLock() - defer api.mtx.RUnlock() - - receivers := make([]string, 0, len(api.config.Receivers)) - for _, r := range api.config.Receivers { - receivers = append(receivers, r.Name) - } - - api.respond(w, receivers) -} - -func (api *API) status(w http.ResponseWriter, req *http.Request) { - api.mtx.RLock() - - var status = struct { - ConfigYAML string `json:"configYAML"` - ConfigJSON *config.Config `json:"configJSON"` - VersionInfo map[string]string `json:"versionInfo"` - Uptime time.Time `json:"uptime"` - ClusterStatus *clusterStatus `json:"clusterStatus"` - }{ - ConfigYAML: api.config.String(), - ConfigJSON: api.config, - VersionInfo: map[string]string{ - "version": version.Version, - "revision": version.Revision, - "branch": version.Branch, - "buildUser": version.BuildUser, - "buildDate": version.BuildDate, - "goVersion": version.GoVersion, - }, - Uptime: api.uptime, - ClusterStatus: getClusterStatus(api.peer), - } - - api.mtx.RUnlock() - - api.respond(w, status) -} - -type peerStatus struct { - Name string `json:"name"` - Address string `json:"address"` -} - -type clusterStatus struct { - Name string `json:"name"` - Status string `json:"status"` - Peers []peerStatus `json:"peers"` -} - -func getClusterStatus(p *cluster.Peer) *clusterStatus { - if p == nil { - return nil +// New creates a new API object combining all API versions. Note that an Update +// call is also needed to get the APIs into an operational state. +func New(opts Options) (*API, error) { + if err := opts.validate(); err != nil { + return nil, fmt.Errorf("invalid API options: %s", err) } - s := &clusterStatus{Name: p.Name(), Status: p.Status()} - - for _, n := range p.Peers() { - s.Peers = append(s.Peers, peerStatus{ - Name: n.Name, - Address: n.Address(), - }) + l := opts.Logger + if l == nil { + l = log.NewNopLogger() } - return s -} - -func (api *API) alertGroups(w http.ResponseWriter, r *http.Request) { - var err error - matchers := []*labels.Matcher{} - - if filter := r.FormValue("filter"); filter != "" { - matchers, err = parse.Matchers(filter) - if err != nil { - api.respondError(w, apiError{ - typ: errorBadData, - err: err, - }, nil) - return + concurrency := opts.Concurrency + if concurrency < 1 { + concurrency = runtime.GOMAXPROCS(0) + if concurrency < 8 { + concurrency = 8 } } - groups := api.groups(matchers) - - api.respond(w, groups) -} - -func (api *API) listAlerts(w http.ResponseWriter, r *http.Request) { - var ( - err error - receiverFilter *regexp.Regexp - // Initialize result slice to prevent api returning `null` when there - // are no alerts present - res = []*dispatch.APIAlert{} - matchers = []*labels.Matcher{} - - showActive, showInhibited bool - showSilenced, showUnprocessed bool + v1 := apiv1.New( + opts.Alerts, + opts.Silences, + opts.StatusFunc, + opts.Peer, + log.With(l, "version", "v1"), + opts.Registry, ) - getBoolParam := func(name string) (bool, error) { - v := r.FormValue(name) - if v == "" { - return true, nil - } - if v == "false" { - return false, nil - } - if v != "true" { - err := fmt.Errorf("parameter %q can either be 'true' or 'false', not %q", name, v) - api.respondError(w, apiError{ - typ: errorBadData, - err: err, - }, nil) - return false, err - } - return true, nil - } - - if filter := r.FormValue("filter"); filter != "" { - matchers, err = parse.Matchers(filter) - if err != nil { - api.respondError(w, apiError{ - typ: errorBadData, - err: err, - }, nil) - return - } - } - - showActive, err = getBoolParam("active") - if err != nil { - return - } - - showSilenced, err = getBoolParam("silenced") - if err != nil { - return - } - - showInhibited, err = getBoolParam("inhibited") - if err != nil { - return - } - - showUnprocessed, err = getBoolParam("unprocessed") - if err != nil { - return - } - - if receiverParam := r.FormValue("receiver"); receiverParam != "" { - receiverFilter, err = regexp.Compile("^(?:" + receiverParam + ")$") - if err != nil { - api.respondError(w, apiError{ - typ: errorBadData, - err: fmt.Errorf( - "failed to parse receiver param: %s", - receiverParam, - ), - }, nil) - return - } - } - - alerts := api.alerts.GetPending() - defer alerts.Close() - - api.mtx.RLock() - // TODO(fabxc): enforce a sensible timeout. - for a := range alerts.Next() { - if err = alerts.Err(); err != nil { - break - } - - routes := api.route.Match(a.Labels) - receivers := make([]string, 0, len(routes)) - for _, r := range routes { - receivers = append(receivers, r.RouteOpts.Receiver) - } - - if receiverFilter != nil && !receiversMatchFilter(receivers, receiverFilter) { - continue - } - - if !alertMatchesFilterLabels(&a.Alert, matchers) { - continue - } - - // Continue if the alert is resolved. - if !a.Alert.EndsAt.IsZero() && a.Alert.EndsAt.Before(time.Now()) { - continue - } - - status := api.getAlertStatus(a.Fingerprint()) - - if !showActive && status.State == types.AlertStateActive { - continue - } - - if !showUnprocessed && status.State == types.AlertStateUnprocessed { - continue - } - - if !showSilenced && len(status.SilencedBy) != 0 { - continue - } - - if !showInhibited && len(status.InhibitedBy) != 0 { - continue - } - - apiAlert := &dispatch.APIAlert{ - Alert: &a.Alert, - Status: status, - Receivers: receivers, - Fingerprint: a.Fingerprint().String(), - } - - res = append(res, apiAlert) - } - api.mtx.RUnlock() - - if err != nil { - api.respondError(w, apiError{ - typ: errorInternal, - err: err, - }, nil) - return - } - sort.Slice(res, func(i, j int) bool { - return res[i].Fingerprint < res[j].Fingerprint - }) - api.respond(w, res) -} - -func receiversMatchFilter(receivers []string, filter *regexp.Regexp) bool { - for _, r := range receivers { - if filter.MatchString(r) { - return true - } - } - - return false -} - -func alertMatchesFilterLabels(a *model.Alert, matchers []*labels.Matcher) bool { - sms := make(map[string]string) - for name, value := range a.Labels { - sms[string(name)] = string(value) - } - return matchFilterLabels(matchers, sms) -} - -func (api *API) addAlerts(w http.ResponseWriter, r *http.Request) { - var alerts []*types.Alert - if err := api.receive(r, &alerts); err != nil { - api.respondError(w, apiError{ - typ: errorBadData, - err: err, - }, nil) - return - } - - api.insertAlerts(w, r, alerts...) -} - -func (api *API) insertAlerts(w http.ResponseWriter, r *http.Request, alerts ...*types.Alert) { - now := time.Now() - - api.mtx.RLock() - resolveTimeout := api.resolveTimeout - api.mtx.RUnlock() - - for _, alert := range alerts { - alert.UpdatedAt = now - - // Ensure StartsAt is set. - if alert.StartsAt.IsZero() { - if alert.EndsAt.IsZero() { - alert.StartsAt = now - } else { - alert.StartsAt = alert.EndsAt - } - } - // If no end time is defined, set a timeout after which an alert - // is marked resolved if it is not updated. - if alert.EndsAt.IsZero() { - alert.Timeout = true - alert.EndsAt = now.Add(resolveTimeout) - } - if alert.EndsAt.After(time.Now()) { - numReceivedAlerts.WithLabelValues("firing").Inc() - } else { - numReceivedAlerts.WithLabelValues("resolved").Inc() - } - } - - // Make a best effort to insert all alerts that are valid. - var ( - validAlerts = make([]*types.Alert, 0, len(alerts)) - validationErrs = &types.MultiError{} + v2, err := apiv2.NewAPI( + opts.Alerts, + opts.GroupFunc, + opts.StatusFunc, + opts.Silences, + opts.Peer, + log.With(l, "version", "v2"), + opts.Registry, ) - for _, a := range alerts { - removeEmptyLabels(a.Labels) - - if err := a.Validate(); err != nil { - validationErrs.Add(err) - numInvalidAlerts.Inc() - continue - } - validAlerts = append(validAlerts, a) - } - if err := api.alerts.Put(validAlerts...); err != nil { - api.respondError(w, apiError{ - typ: errorInternal, - err: err, - }, nil) - return - } - - if validationErrs.Len() > 0 { - api.respondError(w, apiError{ - typ: errorBadData, - err: validationErrs, - }, nil) - return - } - - api.respond(w, nil) -} -func removeEmptyLabels(ls model.LabelSet) { - for k, v := range ls { - if string(v) == "" { - delete(ls, k) - } - } -} - -func (api *API) setSilence(w http.ResponseWriter, r *http.Request) { - var sil types.Silence - if err := api.receive(r, &sil); err != nil { - api.respondError(w, apiError{ - typ: errorBadData, - err: err, - }, nil) - return - } - - // This is an API only validation, it cannot be done internally - // because the expired silence is semantically important. - // But one should not be able to create expired silences, that - // won't have any use. - if sil.Expired() { - api.respondError(w, apiError{ - typ: errorBadData, - err: errors.New("start time must not be equal to end time"), - }, nil) - return - } - - if sil.EndsAt.Before(time.Now()) { - api.respondError(w, apiError{ - typ: errorBadData, - err: errors.New("end time can't be in the past"), - }, nil) - return - } - - psil, err := silenceToProto(&sil) if err != nil { - api.respondError(w, apiError{ - typ: errorBadData, - err: err, - }, nil) - return + return nil, err } - sid, err := api.silences.Set(psil) - if err != nil { - api.respondError(w, apiError{ - typ: errorBadData, - err: err, - }, nil) - return - } - - api.respond(w, struct { - SilenceID string `json:"silenceId"` - }{ - SilenceID: sid, + // TODO(beorn7): For now, this hardcodes the method="get" label. Other + // methods should get the same instrumentation. + requestsInFlight := prometheus.NewGauge(prometheus.GaugeOpts{ + Name: "alertmanager_http_requests_in_flight", + Help: "Current number of HTTP requests being processed.", + ConstLabels: prometheus.Labels{"method": "get"}, }) -} - -func (api *API) getSilence(w http.ResponseWriter, r *http.Request) { - sid := route.Param(r.Context(), "sid") - - sils, err := api.silences.Query(silence.QIDs(sid)) - if err != nil || len(sils) == 0 { - http.Error(w, fmt.Sprint("Error getting silence: ", err), http.StatusNotFound) - return - } - sil, err := silenceFromProto(sils[0]) - if err != nil { - api.respondError(w, apiError{ - typ: errorInternal, - err: err, - }, nil) - return - } - - api.respond(w, sil) -} - -func (api *API) delSilence(w http.ResponseWriter, r *http.Request) { - sid := route.Param(r.Context(), "sid") - - if err := api.silences.Expire(sid); err != nil { - api.respondError(w, apiError{ - typ: errorBadData, - err: err, - }, nil) - return - } - api.respond(w, nil) -} - -func (api *API) listSilences(w http.ResponseWriter, r *http.Request) { - psils, err := api.silences.Query() - if err != nil { - api.respondError(w, apiError{ - typ: errorInternal, - err: err, - }, nil) - return - } - - matchers := []*labels.Matcher{} - if filter := r.FormValue("filter"); filter != "" { - matchers, err = parse.Matchers(filter) - if err != nil { - api.respondError(w, apiError{ - typ: errorBadData, - err: err, - }, nil) - return - } - } - - sils := []*types.Silence{} - for _, ps := range psils { - s, err := silenceFromProto(ps) - if err != nil { - api.respondError(w, apiError{ - typ: errorInternal, - err: err, - }, nil) - return - } - - if !silenceMatchesFilterLabels(s, matchers) { - continue + concurrencyLimitExceeded := prometheus.NewCounter(prometheus.CounterOpts{ + Name: "alertmanager_http_concurrency_limit_exceeded_total", + Help: "Total number of times an HTTP request failed because the concurrency limit was reached.", + ConstLabels: prometheus.Labels{"method": "get"}, + }) + if opts.Registry != nil { + if err := opts.Registry.Register(requestsInFlight); err != nil { + return nil, err } - sils = append(sils, s) - } - - var active, pending, expired []*types.Silence - - for _, s := range sils { - switch s.Status.State { - case types.SilenceStateActive: - active = append(active, s) - case types.SilenceStatePending: - pending = append(pending, s) - case types.SilenceStateExpired: - expired = append(expired, s) + if err := opts.Registry.Register(concurrencyLimitExceeded); err != nil { + return nil, err } } - sort.Slice(active, func(i int, j int) bool { - return active[i].EndsAt.Before(active[j].EndsAt) - }) - sort.Slice(pending, func(i int, j int) bool { - return pending[i].StartsAt.Before(pending[j].EndsAt) - }) - sort.Slice(expired, func(i int, j int) bool { - return expired[i].EndsAt.After(expired[j].EndsAt) - }) - - // Initialize silences explicitly to an empty list (instead of nil) - // So that it does not get converted to "null" in JSON. - silences := []*types.Silence{} - silences = append(silences, active...) - silences = append(silences, pending...) - silences = append(silences, expired...) - - api.respond(w, silences) -} - -func silenceMatchesFilterLabels(s *types.Silence, matchers []*labels.Matcher) bool { - sms := make(map[string]string) - for _, m := range s.Matchers { - sms[m.Name] = m.Value - } - - return matchFilterLabels(matchers, sms) -} + return &API{ + v1: v1, + v2: v2, + requestsInFlight: requestsInFlight, + concurrencyLimitExceeded: concurrencyLimitExceeded, + timeout: opts.Timeout, + inFlightSem: make(chan struct{}, concurrency), + }, nil +} + +// Register all APIs. It registers APIv1 with the provided router directly. As +// APIv2 works on the http.Handler level, this method also creates a new +// http.ServeMux and then uses it to register both the provided router (to +// handle "/") and APIv2 (to handle "/api/v2"). The method returns +// the newly created http.ServeMux. If a timeout has been set on construction of +// API, it is enforced for all HTTP request going through this mux. The same is +// true for the concurrency limit, with the exception that it is only applied to +// GET requests. +func (api *API) Register(r *route.Router, routePrefix string) *http.ServeMux { + api.v1.Register(r.WithPrefix("/api/v1")) + + mux := http.NewServeMux() + mux.Handle("/", api.limitHandler(r)) + + apiPrefix := "" + if routePrefix != "/" { + apiPrefix = routePrefix + } + // TODO(beorn7): HTTP instrumentation is only in place for Router. Since + // /api/v2 works on the Handler level, it is currently not instrumented + // at all (with the exception of requestsInFlight, which is handled in + // limitHandler below). + mux.Handle( + apiPrefix+"/api/v2/", + api.limitHandler(http.StripPrefix(apiPrefix+"/api/v2", api.v2.Handler)), + ) -func matchFilterLabels(matchers []*labels.Matcher, sms map[string]string) bool { - for _, m := range matchers { - v, prs := sms[m.Name] - switch m.Type { - case labels.MatchNotRegexp, labels.MatchNotEqual: - if string(m.Value) == "" && prs { - continue - } - if !m.Matches(string(v)) { - return false - } - default: - if string(m.Value) == "" && !prs { - continue - } - if !prs || !m.Matches(string(v)) { - return false + return mux +} + +// Update config and resolve timeout of each API. APIv2 also needs +// setAlertStatus to be updated. +func (api *API) Update(cfg *config.Config, setAlertStatus func(model.LabelSet)) { + api.v1.Update(cfg) + api.v2.Update(cfg, setAlertStatus) +} + +func (api *API) limitHandler(h http.Handler) http.Handler { + concLimiter := http.HandlerFunc(func(rsp http.ResponseWriter, req *http.Request) { + if req.Method == http.MethodGet { // Only limit concurrency of GETs. + select { + case api.inFlightSem <- struct{}{}: // All good, carry on. + api.requestsInFlight.Inc() + defer func() { + <-api.inFlightSem + api.requestsInFlight.Dec() + }() + default: + api.concurrencyLimitExceeded.Inc() + http.Error(rsp, fmt.Sprintf( + "Limit of concurrent GET requests reached (%d), try again later.\n", cap(api.inFlightSem), + ), http.StatusServiceUnavailable) + return } } - } - - return true -} - -func silenceToProto(s *types.Silence) (*silencepb.Silence, error) { - sil := &silencepb.Silence{ - Id: s.ID, - StartsAt: s.StartsAt, - EndsAt: s.EndsAt, - UpdatedAt: s.UpdatedAt, - Comment: s.Comment, - CreatedBy: s.CreatedBy, - } - for _, m := range s.Matchers { - matcher := &silencepb.Matcher{ - Name: m.Name, - Pattern: m.Value, - Type: silencepb.Matcher_EQUAL, - } - if m.IsRegex { - matcher.Type = silencepb.Matcher_REGEXP - } - sil.Matchers = append(sil.Matchers, matcher) - } - return sil, nil -} - -func silenceFromProto(s *silencepb.Silence) (*types.Silence, error) { - sil := &types.Silence{ - ID: s.Id, - StartsAt: s.StartsAt, - EndsAt: s.EndsAt, - UpdatedAt: s.UpdatedAt, - Status: types.SilenceStatus{ - State: types.CalcSilenceState(s.StartsAt, s.EndsAt), - }, - Comment: s.Comment, - CreatedBy: s.CreatedBy, - } - for _, m := range s.Matchers { - matcher := &types.Matcher{ - Name: m.Name, - Value: m.Pattern, - } - switch m.Type { - case silencepb.Matcher_EQUAL: - case silencepb.Matcher_REGEXP: - matcher.IsRegex = true - default: - return nil, fmt.Errorf("unknown matcher type") - } - sil.Matchers = append(sil.Matchers, matcher) - } - - return sil, nil -} - -type status string - -const ( - statusSuccess status = "success" - statusError status = "error" -) - -type response struct { - Status status `json:"status"` - Data interface{} `json:"data,omitempty"` - ErrorType errorType `json:"errorType,omitempty"` - Error string `json:"error,omitempty"` -} - -func (api *API) respond(w http.ResponseWriter, data interface{}) { - w.Header().Set("Content-Type", "application/json") - w.WriteHeader(200) - - b, err := json.Marshal(&response{ - Status: statusSuccess, - Data: data, + h.ServeHTTP(rsp, req) }) - if err != nil { - level.Error(api.logger).Log("msg", "Error marshalling JSON", "err", err) - return - } - w.Write(b) -} - -func (api *API) respondError(w http.ResponseWriter, apiErr apiError, data interface{}) { - w.Header().Set("Content-Type", "application/json") - - switch apiErr.typ { - case errorBadData: - w.WriteHeader(http.StatusBadRequest) - case errorInternal: - w.WriteHeader(http.StatusInternalServerError) - default: - panic(fmt.Sprintf("unknown error type %q", apiErr.Error())) - } - - b, err := json.Marshal(&response{ - Status: statusError, - ErrorType: apiErr.typ, - Error: apiErr.err.Error(), - Data: data, - }) - if err != nil { - return - } - level.Error(api.logger).Log("msg", "API error", "err", apiErr.Error()) - - w.Write(b) -} - -func (api *API) receive(r *http.Request, v interface{}) error { - dec := json.NewDecoder(r.Body) - defer r.Body.Close() - - err := dec.Decode(v) - if err != nil { - level.Debug(api.logger).Log("msg", "Decoding request failed", "err", err) + if api.timeout <= 0 { + return concLimiter } - return err + return http.TimeoutHandler(concLimiter, api.timeout, fmt.Sprintf( + "Exceeded configured timeout of %v.\n", api.timeout, + )) } diff --git a/vendor/github.com/prometheus/alertmanager/api/metrics/metrics.go b/vendor/github.com/prometheus/alertmanager/api/metrics/metrics.go new file mode 100644 index 00000000000..0f1fb9a708a --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/metrics/metrics.go @@ -0,0 +1,54 @@ +// Copyright 2019 Prometheus Team +// 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 metrics + +import "github.com/prometheus/client_golang/prometheus" + +// Alerts stores metrics for alerts which are common across all API versions. +type Alerts struct { + firing prometheus.Counter + resolved prometheus.Counter + invalid prometheus.Counter +} + +// NewAlerts returns an *Alerts struct for the given API version. +func NewAlerts(version string, r prometheus.Registerer) *Alerts { + numReceivedAlerts := prometheus.NewCounterVec(prometheus.CounterOpts{ + Name: "alertmanager_alerts_received_total", + Help: "The total number of received alerts.", + ConstLabels: prometheus.Labels{"version": version}, + }, []string{"status"}) + numInvalidAlerts := prometheus.NewCounter(prometheus.CounterOpts{ + Name: "alertmanager_alerts_invalid_total", + Help: "The total number of received alerts that were invalid.", + ConstLabels: prometheus.Labels{"version": version}, + }) + if r != nil { + r.MustRegister(numReceivedAlerts, numInvalidAlerts) + } + return &Alerts{ + firing: numReceivedAlerts.WithLabelValues("firing"), + resolved: numReceivedAlerts.WithLabelValues("resolved"), + invalid: numInvalidAlerts, + } +} + +// Firing returns a counter of firing alerts. +func (a *Alerts) Firing() prometheus.Counter { return a.firing } + +// Resolved returns a counter of resolved alerts. +func (a *Alerts) Resolved() prometheus.Counter { return a.resolved } + +// Invalid returns a counter of invalid alerts. +func (a *Alerts) Invalid() prometheus.Counter { return a.firing } diff --git a/vendor/github.com/prometheus/alertmanager/api/v1/api.go b/vendor/github.com/prometheus/alertmanager/api/v1/api.go new file mode 100644 index 00000000000..fe85013a8b1 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v1/api.go @@ -0,0 +1,797 @@ +// Copyright 2015 Prometheus Team +// 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 v1 + +import ( + "encoding/json" + "errors" + "fmt" + "net/http" + "regexp" + "sort" + "sync" + "time" + + "github.com/go-kit/kit/log" + "github.com/go-kit/kit/log/level" + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/common/model" + "github.com/prometheus/common/route" + "github.com/prometheus/common/version" + "github.com/prometheus/prometheus/pkg/labels" + + "github.com/prometheus/alertmanager/api/metrics" + "github.com/prometheus/alertmanager/cluster" + "github.com/prometheus/alertmanager/config" + "github.com/prometheus/alertmanager/dispatch" + "github.com/prometheus/alertmanager/pkg/parse" + "github.com/prometheus/alertmanager/provider" + "github.com/prometheus/alertmanager/silence" + "github.com/prometheus/alertmanager/silence/silencepb" + "github.com/prometheus/alertmanager/types" +) + +var corsHeaders = map[string]string{ + "Access-Control-Allow-Headers": "Accept, Authorization, Content-Type, Origin", + "Access-Control-Allow-Methods": "GET, POST, DELETE, OPTIONS", + "Access-Control-Allow-Origin": "*", + "Access-Control-Expose-Headers": "Date", + "Cache-Control": "no-cache, no-store, must-revalidate", +} + +// Alert is the API representation of an alert, which is a regular alert +// annotated with silencing and inhibition info. +type Alert struct { + *model.Alert + Status types.AlertStatus `json:"status"` + Receivers []string `json:"receivers"` + Fingerprint string `json:"fingerprint"` +} + +// Enables cross-site script calls. +func setCORS(w http.ResponseWriter) { + for h, v := range corsHeaders { + w.Header().Set(h, v) + } +} + +// API provides registration of handlers for API routes. +type API struct { + alerts provider.Alerts + silences *silence.Silences + config *config.Config + route *dispatch.Route + uptime time.Time + peer *cluster.Peer + logger log.Logger + m *metrics.Alerts + + getAlertStatus getAlertStatusFn + + mtx sync.RWMutex +} + +type getAlertStatusFn func(model.Fingerprint) types.AlertStatus + +// New returns a new API. +func New( + alerts provider.Alerts, + silences *silence.Silences, + sf getAlertStatusFn, + peer *cluster.Peer, + l log.Logger, + r prometheus.Registerer, +) *API { + if l == nil { + l = log.NewNopLogger() + } + + return &API{ + alerts: alerts, + silences: silences, + getAlertStatus: sf, + uptime: time.Now(), + peer: peer, + logger: l, + m: metrics.NewAlerts("v1", r), + } +} + +// Register registers the API handlers under their correct routes +// in the given router. +func (api *API) Register(r *route.Router) { + wrap := func(f http.HandlerFunc) http.HandlerFunc { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + setCORS(w) + f(w, r) + }) + } + + r.Options("/*path", wrap(func(w http.ResponseWriter, r *http.Request) {})) + + r.Get("/status", wrap(api.status)) + r.Get("/receivers", wrap(api.receivers)) + + r.Get("/alerts", wrap(api.listAlerts)) + r.Post("/alerts", wrap(api.addAlerts)) + + r.Get("/silences", wrap(api.listSilences)) + r.Post("/silences", wrap(api.setSilence)) + r.Get("/silence/:sid", wrap(api.getSilence)) + r.Del("/silence/:sid", wrap(api.delSilence)) +} + +// Update sets the configuration string to a new value. +func (api *API) Update(cfg *config.Config) { + api.mtx.Lock() + defer api.mtx.Unlock() + + api.config = cfg + api.route = dispatch.NewRoute(cfg.Route, nil) +} + +type errorType string + +const ( + errorInternal errorType = "server_error" + errorBadData errorType = "bad_data" +) + +type apiError struct { + typ errorType + err error +} + +func (e *apiError) Error() string { + return fmt.Sprintf("%s: %s", e.typ, e.err) +} + +func (api *API) receivers(w http.ResponseWriter, req *http.Request) { + api.mtx.RLock() + defer api.mtx.RUnlock() + + receivers := make([]string, 0, len(api.config.Receivers)) + for _, r := range api.config.Receivers { + receivers = append(receivers, r.Name) + } + + api.respond(w, receivers) +} + +func (api *API) status(w http.ResponseWriter, req *http.Request) { + api.mtx.RLock() + + var status = struct { + ConfigYAML string `json:"configYAML"` + ConfigJSON *config.Config `json:"configJSON"` + VersionInfo map[string]string `json:"versionInfo"` + Uptime time.Time `json:"uptime"` + ClusterStatus *clusterStatus `json:"clusterStatus"` + }{ + ConfigYAML: api.config.String(), + ConfigJSON: api.config, + VersionInfo: map[string]string{ + "version": version.Version, + "revision": version.Revision, + "branch": version.Branch, + "buildUser": version.BuildUser, + "buildDate": version.BuildDate, + "goVersion": version.GoVersion, + }, + Uptime: api.uptime, + ClusterStatus: getClusterStatus(api.peer), + } + + api.mtx.RUnlock() + + api.respond(w, status) +} + +type peerStatus struct { + Name string `json:"name"` + Address string `json:"address"` +} + +type clusterStatus struct { + Name string `json:"name"` + Status string `json:"status"` + Peers []peerStatus `json:"peers"` +} + +func getClusterStatus(p *cluster.Peer) *clusterStatus { + if p == nil { + return nil + } + s := &clusterStatus{Name: p.Name(), Status: p.Status()} + + for _, n := range p.Peers() { + s.Peers = append(s.Peers, peerStatus{ + Name: n.Name, + Address: n.Address(), + }) + } + return s +} + +func (api *API) listAlerts(w http.ResponseWriter, r *http.Request) { + var ( + err error + receiverFilter *regexp.Regexp + // Initialize result slice to prevent api returning `null` when there + // are no alerts present + res = []*Alert{} + matchers = []*labels.Matcher{} + ctx = r.Context() + + showActive, showInhibited bool + showSilenced, showUnprocessed bool + ) + + getBoolParam := func(name string) (bool, error) { + v := r.FormValue(name) + if v == "" { + return true, nil + } + if v == "false" { + return false, nil + } + if v != "true" { + err := fmt.Errorf("parameter %q can either be 'true' or 'false', not %q", name, v) + api.respondError(w, apiError{ + typ: errorBadData, + err: err, + }, nil) + return false, err + } + return true, nil + } + + if filter := r.FormValue("filter"); filter != "" { + matchers, err = parse.Matchers(filter) + if err != nil { + api.respondError(w, apiError{ + typ: errorBadData, + err: err, + }, nil) + return + } + } + + showActive, err = getBoolParam("active") + if err != nil { + return + } + + showSilenced, err = getBoolParam("silenced") + if err != nil { + return + } + + showInhibited, err = getBoolParam("inhibited") + if err != nil { + return + } + + showUnprocessed, err = getBoolParam("unprocessed") + if err != nil { + return + } + + if receiverParam := r.FormValue("receiver"); receiverParam != "" { + receiverFilter, err = regexp.Compile("^(?:" + receiverParam + ")$") + if err != nil { + api.respondError(w, apiError{ + typ: errorBadData, + err: fmt.Errorf( + "failed to parse receiver param: %s", + receiverParam, + ), + }, nil) + return + } + } + + alerts := api.alerts.GetPending() + defer alerts.Close() + + api.mtx.RLock() + for a := range alerts.Next() { + if err = alerts.Err(); err != nil { + break + } + if err = ctx.Err(); err != nil { + break + } + + routes := api.route.Match(a.Labels) + receivers := make([]string, 0, len(routes)) + for _, r := range routes { + receivers = append(receivers, r.RouteOpts.Receiver) + } + + if receiverFilter != nil && !receiversMatchFilter(receivers, receiverFilter) { + continue + } + + if !alertMatchesFilterLabels(&a.Alert, matchers) { + continue + } + + // Continue if the alert is resolved. + if !a.Alert.EndsAt.IsZero() && a.Alert.EndsAt.Before(time.Now()) { + continue + } + + status := api.getAlertStatus(a.Fingerprint()) + + if !showActive && status.State == types.AlertStateActive { + continue + } + + if !showUnprocessed && status.State == types.AlertStateUnprocessed { + continue + } + + if !showSilenced && len(status.SilencedBy) != 0 { + continue + } + + if !showInhibited && len(status.InhibitedBy) != 0 { + continue + } + + alert := &Alert{ + Alert: &a.Alert, + Status: status, + Receivers: receivers, + Fingerprint: a.Fingerprint().String(), + } + + res = append(res, alert) + } + api.mtx.RUnlock() + + if err != nil { + api.respondError(w, apiError{ + typ: errorInternal, + err: err, + }, nil) + return + } + sort.Slice(res, func(i, j int) bool { + return res[i].Fingerprint < res[j].Fingerprint + }) + api.respond(w, res) +} + +func receiversMatchFilter(receivers []string, filter *regexp.Regexp) bool { + for _, r := range receivers { + if filter.MatchString(r) { + return true + } + } + + return false +} + +func alertMatchesFilterLabels(a *model.Alert, matchers []*labels.Matcher) bool { + sms := make(map[string]string) + for name, value := range a.Labels { + sms[string(name)] = string(value) + } + return matchFilterLabels(matchers, sms) +} + +func (api *API) addAlerts(w http.ResponseWriter, r *http.Request) { + var alerts []*types.Alert + if err := api.receive(r, &alerts); err != nil { + api.respondError(w, apiError{ + typ: errorBadData, + err: err, + }, nil) + return + } + + api.insertAlerts(w, r, alerts...) +} + +func (api *API) insertAlerts(w http.ResponseWriter, r *http.Request, alerts ...*types.Alert) { + now := time.Now() + + api.mtx.RLock() + resolveTimeout := time.Duration(api.config.Global.ResolveTimeout) + api.mtx.RUnlock() + + for _, alert := range alerts { + alert.UpdatedAt = now + + // Ensure StartsAt is set. + if alert.StartsAt.IsZero() { + if alert.EndsAt.IsZero() { + alert.StartsAt = now + } else { + alert.StartsAt = alert.EndsAt + } + } + // If no end time is defined, set a timeout after which an alert + // is marked resolved if it is not updated. + if alert.EndsAt.IsZero() { + alert.Timeout = true + alert.EndsAt = now.Add(resolveTimeout) + } + if alert.EndsAt.After(time.Now()) { + api.m.Firing().Inc() + } else { + api.m.Resolved().Inc() + } + } + + // Make a best effort to insert all alerts that are valid. + var ( + validAlerts = make([]*types.Alert, 0, len(alerts)) + validationErrs = &types.MultiError{} + ) + for _, a := range alerts { + removeEmptyLabels(a.Labels) + + if err := a.Validate(); err != nil { + validationErrs.Add(err) + api.m.Invalid().Inc() + continue + } + validAlerts = append(validAlerts, a) + } + if err := api.alerts.Put(validAlerts...); err != nil { + api.respondError(w, apiError{ + typ: errorInternal, + err: err, + }, nil) + return + } + + if validationErrs.Len() > 0 { + api.respondError(w, apiError{ + typ: errorBadData, + err: validationErrs, + }, nil) + return + } + + api.respond(w, nil) +} + +func removeEmptyLabels(ls model.LabelSet) { + for k, v := range ls { + if string(v) == "" { + delete(ls, k) + } + } +} + +func (api *API) setSilence(w http.ResponseWriter, r *http.Request) { + var sil types.Silence + if err := api.receive(r, &sil); err != nil { + api.respondError(w, apiError{ + typ: errorBadData, + err: err, + }, nil) + return + } + + // This is an API only validation, it cannot be done internally + // because the expired silence is semantically important. + // But one should not be able to create expired silences, that + // won't have any use. + if sil.Expired() { + api.respondError(w, apiError{ + typ: errorBadData, + err: errors.New("start time must not be equal to end time"), + }, nil) + return + } + + if sil.EndsAt.Before(time.Now()) { + api.respondError(w, apiError{ + typ: errorBadData, + err: errors.New("end time can't be in the past"), + }, nil) + return + } + + psil, err := silenceToProto(&sil) + if err != nil { + api.respondError(w, apiError{ + typ: errorBadData, + err: err, + }, nil) + return + } + + sid, err := api.silences.Set(psil) + if err != nil { + api.respondError(w, apiError{ + typ: errorBadData, + err: err, + }, nil) + return + } + + api.respond(w, struct { + SilenceID string `json:"silenceId"` + }{ + SilenceID: sid, + }) +} + +func (api *API) getSilence(w http.ResponseWriter, r *http.Request) { + sid := route.Param(r.Context(), "sid") + + sils, _, err := api.silences.Query(silence.QIDs(sid)) + if err != nil || len(sils) == 0 { + http.Error(w, fmt.Sprint("Error getting silence: ", err), http.StatusNotFound) + return + } + sil, err := silenceFromProto(sils[0]) + if err != nil { + api.respondError(w, apiError{ + typ: errorInternal, + err: err, + }, nil) + return + } + + api.respond(w, sil) +} + +func (api *API) delSilence(w http.ResponseWriter, r *http.Request) { + sid := route.Param(r.Context(), "sid") + + if err := api.silences.Expire(sid); err != nil { + api.respondError(w, apiError{ + typ: errorBadData, + err: err, + }, nil) + return + } + api.respond(w, nil) +} + +func (api *API) listSilences(w http.ResponseWriter, r *http.Request) { + psils, _, err := api.silences.Query() + if err != nil { + api.respondError(w, apiError{ + typ: errorInternal, + err: err, + }, nil) + return + } + + matchers := []*labels.Matcher{} + if filter := r.FormValue("filter"); filter != "" { + matchers, err = parse.Matchers(filter) + if err != nil { + api.respondError(w, apiError{ + typ: errorBadData, + err: err, + }, nil) + return + } + } + + sils := []*types.Silence{} + for _, ps := range psils { + s, err := silenceFromProto(ps) + if err != nil { + api.respondError(w, apiError{ + typ: errorInternal, + err: err, + }, nil) + return + } + + if !silenceMatchesFilterLabels(s, matchers) { + continue + } + sils = append(sils, s) + } + + var active, pending, expired []*types.Silence + + for _, s := range sils { + switch s.Status.State { + case types.SilenceStateActive: + active = append(active, s) + case types.SilenceStatePending: + pending = append(pending, s) + case types.SilenceStateExpired: + expired = append(expired, s) + } + } + + sort.Slice(active, func(i int, j int) bool { + return active[i].EndsAt.Before(active[j].EndsAt) + }) + sort.Slice(pending, func(i int, j int) bool { + return pending[i].StartsAt.Before(pending[j].EndsAt) + }) + sort.Slice(expired, func(i int, j int) bool { + return expired[i].EndsAt.After(expired[j].EndsAt) + }) + + // Initialize silences explicitly to an empty list (instead of nil) + // So that it does not get converted to "null" in JSON. + silences := []*types.Silence{} + silences = append(silences, active...) + silences = append(silences, pending...) + silences = append(silences, expired...) + + api.respond(w, silences) +} + +func silenceMatchesFilterLabels(s *types.Silence, matchers []*labels.Matcher) bool { + sms := make(map[string]string) + for _, m := range s.Matchers { + sms[m.Name] = m.Value + } + + return matchFilterLabels(matchers, sms) +} + +func matchFilterLabels(matchers []*labels.Matcher, sms map[string]string) bool { + for _, m := range matchers { + v, prs := sms[m.Name] + switch m.Type { + case labels.MatchNotRegexp, labels.MatchNotEqual: + if string(m.Value) == "" && prs { + continue + } + if !m.Matches(string(v)) { + return false + } + default: + if string(m.Value) == "" && !prs { + continue + } + if !prs || !m.Matches(string(v)) { + return false + } + } + } + + return true +} + +func silenceToProto(s *types.Silence) (*silencepb.Silence, error) { + sil := &silencepb.Silence{ + Id: s.ID, + StartsAt: s.StartsAt, + EndsAt: s.EndsAt, + UpdatedAt: s.UpdatedAt, + Comment: s.Comment, + CreatedBy: s.CreatedBy, + } + for _, m := range s.Matchers { + matcher := &silencepb.Matcher{ + Name: m.Name, + Pattern: m.Value, + Type: silencepb.Matcher_EQUAL, + } + if m.IsRegex { + matcher.Type = silencepb.Matcher_REGEXP + } + sil.Matchers = append(sil.Matchers, matcher) + } + return sil, nil +} + +func silenceFromProto(s *silencepb.Silence) (*types.Silence, error) { + sil := &types.Silence{ + ID: s.Id, + StartsAt: s.StartsAt, + EndsAt: s.EndsAt, + UpdatedAt: s.UpdatedAt, + Status: types.SilenceStatus{ + State: types.CalcSilenceState(s.StartsAt, s.EndsAt), + }, + Comment: s.Comment, + CreatedBy: s.CreatedBy, + } + for _, m := range s.Matchers { + matcher := &types.Matcher{ + Name: m.Name, + Value: m.Pattern, + } + switch m.Type { + case silencepb.Matcher_EQUAL: + case silencepb.Matcher_REGEXP: + matcher.IsRegex = true + default: + return nil, fmt.Errorf("unknown matcher type") + } + sil.Matchers = append(sil.Matchers, matcher) + } + + return sil, nil +} + +type status string + +const ( + statusSuccess status = "success" + statusError status = "error" +) + +type response struct { + Status status `json:"status"` + Data interface{} `json:"data,omitempty"` + ErrorType errorType `json:"errorType,omitempty"` + Error string `json:"error,omitempty"` +} + +func (api *API) respond(w http.ResponseWriter, data interface{}) { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + + b, err := json.Marshal(&response{ + Status: statusSuccess, + Data: data, + }) + if err != nil { + level.Error(api.logger).Log("msg", "Error marshalling JSON", "err", err) + return + } + + if _, err := w.Write(b); err != nil { + level.Error(api.logger).Log("msg", "failed to write data to connection", "err", err) + } +} + +func (api *API) respondError(w http.ResponseWriter, apiErr apiError, data interface{}) { + w.Header().Set("Content-Type", "application/json") + + switch apiErr.typ { + case errorBadData: + w.WriteHeader(http.StatusBadRequest) + case errorInternal: + w.WriteHeader(http.StatusInternalServerError) + default: + panic(fmt.Sprintf("unknown error type %q", apiErr.Error())) + } + + b, err := json.Marshal(&response{ + Status: statusError, + ErrorType: apiErr.typ, + Error: apiErr.err.Error(), + Data: data, + }) + if err != nil { + return + } + level.Error(api.logger).Log("msg", "API error", "err", apiErr.Error()) + + if _, err := w.Write(b); err != nil { + level.Error(api.logger).Log("msg", "failed to write data to connection", "err", err) + } +} + +func (api *API) receive(r *http.Request, v interface{}) error { + dec := json.NewDecoder(r.Body) + defer r.Body.Close() + + err := dec.Decode(v) + if err != nil { + level.Debug(api.logger).Log("msg", "Decoding request failed", "err", err) + } + return err +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/api.go b/vendor/github.com/prometheus/alertmanager/api/v2/api.go new file mode 100644 index 00000000000..353a132e94c --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/api.go @@ -0,0 +1,787 @@ +// Copyright 2018 Prometheus Team +// 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 v2 + +import ( + "fmt" + "net/http" + "regexp" + "sort" + "sync" + "time" + + "github.com/go-kit/kit/log" + "github.com/go-kit/kit/log/level" + "github.com/go-openapi/loads" + "github.com/go-openapi/runtime/middleware" + "github.com/go-openapi/strfmt" + "github.com/prometheus/client_golang/prometheus" + prometheus_model "github.com/prometheus/common/model" + "github.com/prometheus/common/version" + "github.com/prometheus/prometheus/pkg/labels" + "github.com/rs/cors" + + "github.com/prometheus/alertmanager/api/metrics" + open_api_models "github.com/prometheus/alertmanager/api/v2/models" + "github.com/prometheus/alertmanager/api/v2/restapi" + "github.com/prometheus/alertmanager/api/v2/restapi/operations" + alert_ops "github.com/prometheus/alertmanager/api/v2/restapi/operations/alert" + alertgroup_ops "github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup" + general_ops "github.com/prometheus/alertmanager/api/v2/restapi/operations/general" + receiver_ops "github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver" + silence_ops "github.com/prometheus/alertmanager/api/v2/restapi/operations/silence" + "github.com/prometheus/alertmanager/cluster" + "github.com/prometheus/alertmanager/config" + "github.com/prometheus/alertmanager/dispatch" + "github.com/prometheus/alertmanager/pkg/parse" + "github.com/prometheus/alertmanager/provider" + "github.com/prometheus/alertmanager/silence" + "github.com/prometheus/alertmanager/silence/silencepb" + "github.com/prometheus/alertmanager/types" +) + +// API represents an Alertmanager API v2 +type API struct { + peer *cluster.Peer + silences *silence.Silences + alerts provider.Alerts + alertGroups groupsFn + getAlertStatus getAlertStatusFn + uptime time.Time + + // mtx protects alertmanagerConfig, setAlertStatus and route. + mtx sync.RWMutex + // resolveTimeout represents the default resolve timeout that an alert is + // assigned if no end time is specified. + alertmanagerConfig *config.Config + route *dispatch.Route + setAlertStatus setAlertStatusFn + + logger log.Logger + m *metrics.Alerts + + Handler http.Handler +} + +type groupsFn func(func(*dispatch.Route) bool, func(*types.Alert, time.Time) bool) (dispatch.AlertGroups, map[prometheus_model.Fingerprint][]string) +type getAlertStatusFn func(prometheus_model.Fingerprint) types.AlertStatus +type setAlertStatusFn func(prometheus_model.LabelSet) + +// NewAPI returns a new Alertmanager API v2 +func NewAPI( + alerts provider.Alerts, + gf groupsFn, + sf getAlertStatusFn, + silences *silence.Silences, + peer *cluster.Peer, + l log.Logger, + r prometheus.Registerer, +) (*API, error) { + api := API{ + alerts: alerts, + getAlertStatus: sf, + alertGroups: gf, + peer: peer, + silences: silences, + logger: l, + m: metrics.NewAlerts("v2", r), + uptime: time.Now(), + } + + // load embedded swagger file + swaggerSpec, err := loads.Analyzed(restapi.SwaggerJSON, "") + if err != nil { + return nil, fmt.Errorf("failed to load embedded swagger file: %v", err.Error()) + } + + // create new service API + openAPI := operations.NewAlertmanagerAPI(swaggerSpec) + + // Skip the redoc middleware, only serving the OpenAPI specification and + // the API itself via RoutesHandler. See: + // https://github.com/go-swagger/go-swagger/issues/1779 + openAPI.Middleware = func(b middleware.Builder) http.Handler { + return middleware.Spec("", swaggerSpec.Raw(), openAPI.Context().RoutesHandler(b)) + } + + openAPI.AlertGetAlertsHandler = alert_ops.GetAlertsHandlerFunc(api.getAlertsHandler) + openAPI.AlertPostAlertsHandler = alert_ops.PostAlertsHandlerFunc(api.postAlertsHandler) + openAPI.AlertgroupGetAlertGroupsHandler = alertgroup_ops.GetAlertGroupsHandlerFunc(api.getAlertGroupsHandler) + openAPI.GeneralGetStatusHandler = general_ops.GetStatusHandlerFunc(api.getStatusHandler) + openAPI.ReceiverGetReceiversHandler = receiver_ops.GetReceiversHandlerFunc(api.getReceiversHandler) + openAPI.SilenceDeleteSilenceHandler = silence_ops.DeleteSilenceHandlerFunc(api.deleteSilenceHandler) + openAPI.SilenceGetSilenceHandler = silence_ops.GetSilenceHandlerFunc(api.getSilenceHandler) + openAPI.SilenceGetSilencesHandler = silence_ops.GetSilencesHandlerFunc(api.getSilencesHandler) + openAPI.SilencePostSilencesHandler = silence_ops.PostSilencesHandlerFunc(api.postSilencesHandler) + + openAPI.Logger = func(s string, i ...interface{}) { level.Error(api.logger).Log(i...) } + + handleCORS := cors.Default().Handler + api.Handler = handleCORS(openAPI.Serve(nil)) + + return &api, nil +} + +// Update sets the API struct members that may change between reloads of alertmanager. +func (api *API) Update(cfg *config.Config, setAlertStatus setAlertStatusFn) { + api.mtx.Lock() + defer api.mtx.Unlock() + + api.alertmanagerConfig = cfg + api.route = dispatch.NewRoute(cfg.Route, nil) + api.setAlertStatus = setAlertStatus +} + +func (api *API) getStatusHandler(params general_ops.GetStatusParams) middleware.Responder { + api.mtx.RLock() + defer api.mtx.RUnlock() + + original := api.alertmanagerConfig.String() + uptime := strfmt.DateTime(api.uptime) + + status := open_api_models.ClusterStatusStatusDisabled + + resp := open_api_models.AlertmanagerStatus{ + Uptime: &uptime, + VersionInfo: &open_api_models.VersionInfo{ + Version: &version.Version, + Revision: &version.Revision, + Branch: &version.Branch, + BuildUser: &version.BuildUser, + BuildDate: &version.BuildDate, + GoVersion: &version.GoVersion, + }, + Config: &open_api_models.AlertmanagerConfig{ + Original: &original, + }, + Cluster: &open_api_models.ClusterStatus{ + Status: &status, + }, + } + + // If alertmanager cluster feature is disabled, then api.peers == nil. + if api.peer != nil { + status := api.peer.Status() + + peers := []*open_api_models.PeerStatus{} + for _, n := range api.peer.Peers() { + address := n.Address() + peers = append(peers, &open_api_models.PeerStatus{ + Name: &n.Name, + Address: &address, + }) + } + + sort.Slice(peers, func(i, j int) bool { + return *peers[i].Name < *peers[j].Name + }) + + resp.Cluster = &open_api_models.ClusterStatus{ + Name: api.peer.Name(), + Status: &status, + Peers: peers, + } + } + + return general_ops.NewGetStatusOK().WithPayload(&resp) +} + +func (api *API) getReceiversHandler(params receiver_ops.GetReceiversParams) middleware.Responder { + api.mtx.RLock() + defer api.mtx.RUnlock() + + receivers := make([]*open_api_models.Receiver, 0, len(api.alertmanagerConfig.Receivers)) + for _, r := range api.alertmanagerConfig.Receivers { + receivers = append(receivers, &open_api_models.Receiver{Name: &r.Name}) + } + + return receiver_ops.NewGetReceiversOK().WithPayload(receivers) +} + +func (api *API) getAlertsHandler(params alert_ops.GetAlertsParams) middleware.Responder { + var ( + receiverFilter *regexp.Regexp + // Initialize result slice to prevent api returning `null` when there + // are no alerts present + res = open_api_models.GettableAlerts{} + ctx = params.HTTPRequest.Context() + ) + + matchers, err := parseFilter(params.Filter) + if err != nil { + level.Error(api.logger).Log("msg", "failed to parse matchers", "err", err) + return alertgroup_ops.NewGetAlertGroupsBadRequest().WithPayload(err.Error()) + } + + if params.Receiver != nil { + receiverFilter, err = regexp.Compile("^(?:" + *params.Receiver + ")$") + if err != nil { + level.Error(api.logger).Log("msg", "failed to compile receiver regex", "err", err) + return alert_ops. + NewGetAlertsBadRequest(). + WithPayload( + fmt.Sprintf("failed to parse receiver param: %v", err.Error()), + ) + } + } + + alerts := api.alerts.GetPending() + defer alerts.Close() + + alertFilter := api.alertFilter(matchers, *params.Silenced, *params.Inhibited, *params.Active) + now := time.Now() + + api.mtx.RLock() + for a := range alerts.Next() { + if err = alerts.Err(); err != nil { + break + } + if err = ctx.Err(); err != nil { + break + } + + routes := api.route.Match(a.Labels) + receivers := make([]string, 0, len(routes)) + for _, r := range routes { + receivers = append(receivers, r.RouteOpts.Receiver) + } + + if receiverFilter != nil && !receiversMatchFilter(receivers, receiverFilter) { + continue + } + + if !alertFilter(a, now) { + continue + } + + alert := alertToOpenAPIAlert(a, api.getAlertStatus(a.Fingerprint()), receivers) + + res = append(res, alert) + } + api.mtx.RUnlock() + + if err != nil { + level.Error(api.logger).Log("msg", "failed to get alerts", "err", err) + return alert_ops.NewGetAlertsInternalServerError().WithPayload(err.Error()) + } + sort.Slice(res, func(i, j int) bool { + return *res[i].Fingerprint < *res[j].Fingerprint + }) + + return alert_ops.NewGetAlertsOK().WithPayload(res) +} + +func (api *API) postAlertsHandler(params alert_ops.PostAlertsParams) middleware.Responder { + alerts := openAPIAlertsToAlerts(params.Alerts) + now := time.Now() + + api.mtx.RLock() + resolveTimeout := time.Duration(api.alertmanagerConfig.Global.ResolveTimeout) + api.mtx.RUnlock() + + for _, alert := range alerts { + alert.UpdatedAt = now + + // Ensure StartsAt is set. + if alert.StartsAt.IsZero() { + if alert.EndsAt.IsZero() { + alert.StartsAt = now + } else { + alert.StartsAt = alert.EndsAt + } + } + // If no end time is defined, set a timeout after which an alert + // is marked resolved if it is not updated. + if alert.EndsAt.IsZero() { + alert.Timeout = true + alert.EndsAt = now.Add(resolveTimeout) + } + if alert.EndsAt.After(time.Now()) { + api.m.Firing().Inc() + } else { + api.m.Resolved().Inc() + } + } + + // Make a best effort to insert all alerts that are valid. + var ( + validAlerts = make([]*types.Alert, 0, len(alerts)) + validationErrs = &types.MultiError{} + ) + for _, a := range alerts { + removeEmptyLabels(a.Labels) + + if err := a.Validate(); err != nil { + validationErrs.Add(err) + api.m.Invalid().Inc() + continue + } + validAlerts = append(validAlerts, a) + } + if err := api.alerts.Put(validAlerts...); err != nil { + level.Error(api.logger).Log("msg", "failed to create alerts", "err", err) + return alert_ops.NewPostAlertsInternalServerError().WithPayload(err.Error()) + } + + if validationErrs.Len() > 0 { + level.Error(api.logger).Log("msg", "failed to validate alerts", "err", validationErrs.Error()) + return alert_ops.NewPostAlertsBadRequest().WithPayload(validationErrs.Error()) + } + + return alert_ops.NewPostAlertsOK() +} + +func (api *API) getAlertGroupsHandler(params alertgroup_ops.GetAlertGroupsParams) middleware.Responder { + var receiverFilter *regexp.Regexp + + matchers, err := parseFilter(params.Filter) + if err != nil { + level.Error(api.logger).Log("msg", "failed to parse matchers", "err", err) + return alertgroup_ops.NewGetAlertGroupsBadRequest().WithPayload(err.Error()) + } + + if params.Receiver != nil { + receiverFilter, err = regexp.Compile("^(?:" + *params.Receiver + ")$") + if err != nil { + level.Error(api.logger).Log("msg", "failed to compile receiver regex", "err", err) + return alertgroup_ops. + NewGetAlertGroupsBadRequest(). + WithPayload( + fmt.Sprintf("failed to parse receiver param: %v", err.Error()), + ) + } + } + + rf := func(receiverFilter *regexp.Regexp) func(r *dispatch.Route) bool { + return func(r *dispatch.Route) bool { + receiver := r.RouteOpts.Receiver + if receiverFilter != nil && !receiverFilter.MatchString(receiver) { + return false + } + return true + } + }(receiverFilter) + + af := api.alertFilter(matchers, *params.Silenced, *params.Inhibited, *params.Active) + alertGroups, allReceivers := api.alertGroups(rf, af) + + res := make(open_api_models.AlertGroups, 0, len(alertGroups)) + + for _, alertGroup := range alertGroups { + ag := &open_api_models.AlertGroup{ + Receiver: &open_api_models.Receiver{Name: &alertGroup.Receiver}, + Labels: modelLabelSetToAPILabelSet(alertGroup.Labels), + Alerts: make([]*open_api_models.GettableAlert, 0, len(alertGroup.Alerts)), + } + + for _, alert := range alertGroup.Alerts { + fp := alert.Fingerprint() + receivers := allReceivers[fp] + status := api.getAlertStatus(fp) + apiAlert := alertToOpenAPIAlert(alert, status, receivers) + ag.Alerts = append(ag.Alerts, apiAlert) + } + res = append(res, ag) + } + + return alertgroup_ops.NewGetAlertGroupsOK().WithPayload(res) +} + +func (api *API) alertFilter(matchers []*labels.Matcher, silenced, inhibited, active bool) func(a *types.Alert, now time.Time) bool { + return func(a *types.Alert, now time.Time) bool { + if !a.EndsAt.IsZero() && a.EndsAt.Before(now) { + return false + } + + // Set alert's current status based on its label set. + api.setAlertStatus(a.Labels) + + // Get alert's current status after seeing if it is suppressed. + status := api.getAlertStatus(a.Fingerprint()) + + if !active && status.State == types.AlertStateActive { + return false + } + + if !silenced && len(status.SilencedBy) != 0 { + return false + } + + if !inhibited && len(status.InhibitedBy) != 0 { + return false + } + + return alertMatchesFilterLabels(&a.Alert, matchers) + } +} + +func alertToOpenAPIAlert(alert *types.Alert, status types.AlertStatus, receivers []string) *open_api_models.GettableAlert { + startsAt := strfmt.DateTime(alert.StartsAt) + updatedAt := strfmt.DateTime(alert.UpdatedAt) + endsAt := strfmt.DateTime(alert.EndsAt) + + apiReceivers := make([]*open_api_models.Receiver, 0, len(receivers)) + for i := range receivers { + apiReceivers = append(apiReceivers, &open_api_models.Receiver{Name: &receivers[i]}) + } + + fp := alert.Fingerprint().String() + state := string(status.State) + aa := &open_api_models.GettableAlert{ + Alert: open_api_models.Alert{ + GeneratorURL: strfmt.URI(alert.GeneratorURL), + Labels: modelLabelSetToAPILabelSet(alert.Labels), + }, + Annotations: modelLabelSetToAPILabelSet(alert.Annotations), + StartsAt: &startsAt, + UpdatedAt: &updatedAt, + EndsAt: &endsAt, + Fingerprint: &fp, + Receivers: apiReceivers, + Status: &open_api_models.AlertStatus{ + State: &state, + SilencedBy: status.SilencedBy, + InhibitedBy: status.InhibitedBy, + }, + } + + if aa.Status.SilencedBy == nil { + aa.Status.SilencedBy = []string{} + } + + if aa.Status.InhibitedBy == nil { + aa.Status.InhibitedBy = []string{} + } + + return aa +} + +func openAPIAlertsToAlerts(apiAlerts open_api_models.PostableAlerts) []*types.Alert { + alerts := []*types.Alert{} + for _, apiAlert := range apiAlerts { + alert := types.Alert{ + Alert: prometheus_model.Alert{ + Labels: apiLabelSetToModelLabelSet(apiAlert.Labels), + Annotations: apiLabelSetToModelLabelSet(apiAlert.Annotations), + StartsAt: time.Time(apiAlert.StartsAt), + EndsAt: time.Time(apiAlert.EndsAt), + GeneratorURL: string(apiAlert.GeneratorURL), + }, + } + alerts = append(alerts, &alert) + } + + return alerts +} + +func removeEmptyLabels(ls prometheus_model.LabelSet) { + for k, v := range ls { + if string(v) == "" { + delete(ls, k) + } + } +} + +func modelLabelSetToAPILabelSet(modelLabelSet prometheus_model.LabelSet) open_api_models.LabelSet { + apiLabelSet := open_api_models.LabelSet{} + for key, value := range modelLabelSet { + apiLabelSet[string(key)] = string(value) + } + + return apiLabelSet +} + +func apiLabelSetToModelLabelSet(apiLabelSet open_api_models.LabelSet) prometheus_model.LabelSet { + modelLabelSet := prometheus_model.LabelSet{} + for key, value := range apiLabelSet { + modelLabelSet[prometheus_model.LabelName(key)] = prometheus_model.LabelValue(value) + } + + return modelLabelSet +} + +func receiversMatchFilter(receivers []string, filter *regexp.Regexp) bool { + for _, r := range receivers { + if filter.MatchString(r) { + return true + } + } + + return false +} + +func alertMatchesFilterLabels(a *prometheus_model.Alert, matchers []*labels.Matcher) bool { + sms := make(map[string]string) + for name, value := range a.Labels { + sms[string(name)] = string(value) + } + return matchFilterLabels(matchers, sms) +} + +func matchFilterLabels(matchers []*labels.Matcher, sms map[string]string) bool { + for _, m := range matchers { + v, prs := sms[m.Name] + switch m.Type { + case labels.MatchNotRegexp, labels.MatchNotEqual: + if m.Value == "" && prs { + continue + } + if !m.Matches(v) { + return false + } + default: + if m.Value == "" && !prs { + continue + } + if !prs || !m.Matches(v) { + return false + } + } + } + + return true +} + +func (api *API) getSilencesHandler(params silence_ops.GetSilencesParams) middleware.Responder { + matchers := []*labels.Matcher{} + if params.Filter != nil { + for _, matcherString := range params.Filter { + matcher, err := parse.Matcher(matcherString) + if err != nil { + level.Error(api.logger).Log("msg", "failed to parse matchers", "err", err) + return alert_ops.NewGetAlertsBadRequest().WithPayload(err.Error()) + } + + matchers = append(matchers, matcher) + } + } + + psils, _, err := api.silences.Query() + if err != nil { + level.Error(api.logger).Log("msg", "failed to get silences", "err", err) + return silence_ops.NewGetSilencesInternalServerError().WithPayload(err.Error()) + } + + sils := open_api_models.GettableSilences{} + for _, ps := range psils { + silence, err := gettableSilenceFromProto(ps) + if err != nil { + level.Error(api.logger).Log("msg", "failed to unmarshal silence from proto", "err", err) + return silence_ops.NewGetSilencesInternalServerError().WithPayload(err.Error()) + } + if !gettableSilenceMatchesFilterLabels(silence, matchers) { + continue + } + sils = append(sils, &silence) + } + + sortSilences(sils) + + return silence_ops.NewGetSilencesOK().WithPayload(sils) +} + +var ( + silenceStateOrder = map[types.SilenceState]int{ + types.SilenceStateActive: 1, + types.SilenceStatePending: 2, + types.SilenceStateExpired: 3, + } +) + +// sortSilences sorts first according to the state "active, pending, expired" +// then by end time or start time depending on the state. +// active silences should show the next to expire first +// pending silences are ordered based on which one starts next +// expired are ordered based on which one expired most recently +func sortSilences(sils open_api_models.GettableSilences) { + sort.Slice(sils, func(i, j int) bool { + state1 := types.SilenceState(*sils[i].Status.State) + state2 := types.SilenceState(*sils[j].Status.State) + if state1 != state2 { + return silenceStateOrder[state1] < silenceStateOrder[state2] + } + switch state1 { + case types.SilenceStateActive: + endsAt1 := time.Time(*sils[i].Silence.EndsAt) + endsAt2 := time.Time(*sils[j].Silence.EndsAt) + return endsAt1.Before(endsAt2) + case types.SilenceStatePending: + startsAt1 := time.Time(*sils[i].Silence.StartsAt) + startsAt2 := time.Time(*sils[j].Silence.StartsAt) + return startsAt1.Before(startsAt2) + case types.SilenceStateExpired: + endsAt1 := time.Time(*sils[i].Silence.EndsAt) + endsAt2 := time.Time(*sils[j].Silence.EndsAt) + return endsAt1.After(endsAt2) + } + return false + }) +} + +func gettableSilenceMatchesFilterLabels(s open_api_models.GettableSilence, matchers []*labels.Matcher) bool { + sms := make(map[string]string) + for _, m := range s.Matchers { + sms[*m.Name] = *m.Value + } + + return matchFilterLabels(matchers, sms) +} + +// func matchesFilterLabels(labels model.LabelSet, matchers []*labels.Matcher) bool { + +func (api *API) getSilenceHandler(params silence_ops.GetSilenceParams) middleware.Responder { + sils, _, err := api.silences.Query(silence.QIDs(params.SilenceID.String())) + if err != nil { + level.Error(api.logger).Log("msg", "failed to get silence by id", "err", err) + return silence_ops.NewGetSilenceInternalServerError().WithPayload(err.Error()) + } + + if len(sils) == 0 { + level.Error(api.logger).Log("msg", "failed to find silence", "err", err) + return silence_ops.NewGetSilenceNotFound() + } + + sil, err := gettableSilenceFromProto(sils[0]) + if err != nil { + level.Error(api.logger).Log("msg", "failed to convert unmarshal from proto", "err", err) + return silence_ops.NewGetSilenceInternalServerError().WithPayload(err.Error()) + } + + return silence_ops.NewGetSilenceOK().WithPayload(&sil) +} + +func (api *API) deleteSilenceHandler(params silence_ops.DeleteSilenceParams) middleware.Responder { + sid := params.SilenceID.String() + + if err := api.silences.Expire(sid); err != nil { + level.Error(api.logger).Log("msg", "failed to expire silence", "err", err) + return silence_ops.NewDeleteSilenceInternalServerError().WithPayload(err.Error()) + } + return silence_ops.NewDeleteSilenceOK() +} + +func gettableSilenceFromProto(s *silencepb.Silence) (open_api_models.GettableSilence, error) { + start := strfmt.DateTime(s.StartsAt) + end := strfmt.DateTime(s.EndsAt) + updated := strfmt.DateTime(s.UpdatedAt) + state := string(types.CalcSilenceState(s.StartsAt, s.EndsAt)) + sil := open_api_models.GettableSilence{ + Silence: open_api_models.Silence{ + StartsAt: &start, + EndsAt: &end, + Comment: &s.Comment, + CreatedBy: &s.CreatedBy, + }, + ID: &s.Id, + UpdatedAt: &updated, + Status: &open_api_models.SilenceStatus{ + State: &state, + }, + } + + for _, m := range s.Matchers { + matcher := &open_api_models.Matcher{ + Name: &m.Name, + Value: &m.Pattern, + } + switch m.Type { + case silencepb.Matcher_EQUAL: + f := false + matcher.IsRegex = &f + case silencepb.Matcher_REGEXP: + t := true + matcher.IsRegex = &t + default: + return sil, fmt.Errorf( + "unknown matcher type for matcher '%v' in silence '%v'", + m.Name, + s.Id, + ) + } + sil.Matchers = append(sil.Matchers, matcher) + } + + return sil, nil +} + +func (api *API) postSilencesHandler(params silence_ops.PostSilencesParams) middleware.Responder { + + sil, err := postableSilenceToProto(params.Silence) + if err != nil { + level.Error(api.logger).Log("msg", "failed to marshal silence to proto", "err", err) + return silence_ops.NewPostSilencesBadRequest().WithPayload( + fmt.Sprintf("failed to convert API silence to internal silence: %v", err.Error()), + ) + } + + if sil.StartsAt.After(sil.EndsAt) || sil.StartsAt.Equal(sil.EndsAt) { + msg := "failed to create silence: start time must be equal or after end time" + level.Error(api.logger).Log("msg", msg, "err", err) + return silence_ops.NewPostSilencesBadRequest().WithPayload(msg) + } + + if sil.EndsAt.Before(time.Now()) { + msg := "failed to create silence: end time can't be in the past" + level.Error(api.logger).Log("msg", msg, "err", err) + return silence_ops.NewPostSilencesBadRequest().WithPayload(msg) + } + + sid, err := api.silences.Set(sil) + if err != nil { + level.Error(api.logger).Log("msg", "failed to create silence", "err", err) + if err == silence.ErrNotFound { + return silence_ops.NewPostSilencesNotFound().WithPayload(err.Error()) + } + return silence_ops.NewPostSilencesBadRequest().WithPayload(err.Error()) + } + + return silence_ops.NewPostSilencesOK().WithPayload(&silence_ops.PostSilencesOKBody{ + SilenceID: sid, + }) +} + +func postableSilenceToProto(s *open_api_models.PostableSilence) (*silencepb.Silence, error) { + sil := &silencepb.Silence{ + Id: s.ID, + StartsAt: time.Time(*s.StartsAt), + EndsAt: time.Time(*s.EndsAt), + Comment: *s.Comment, + CreatedBy: *s.CreatedBy, + } + for _, m := range s.Matchers { + matcher := &silencepb.Matcher{ + Name: *m.Name, + Pattern: *m.Value, + Type: silencepb.Matcher_EQUAL, + } + if *m.IsRegex { + matcher.Type = silencepb.Matcher_REGEXP + } + sil.Matchers = append(sil.Matchers, matcher) + } + return sil, nil +} + +func parseFilter(filter []string) ([]*labels.Matcher, error) { + matchers := make([]*labels.Matcher, 0, len(filter)) + for _, matcherString := range filter { + matcher, err := parse.Matcher(matcherString) + if err != nil { + return nil, err + } + + matchers = append(matchers, matcher) + } + return matchers, nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/alert.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/alert.go new file mode 100644 index 00000000000..832df76e41d --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/alert.go @@ -0,0 +1,102 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Alert alert +// swagger:model alert +type Alert struct { + + // generator URL + // Format: uri + GeneratorURL strfmt.URI `json:"generatorURL,omitempty"` + + // labels + // Required: true + Labels LabelSet `json:"labels"` +} + +// Validate validates this alert +func (m *Alert) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateGeneratorURL(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLabels(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Alert) validateGeneratorURL(formats strfmt.Registry) error { + + if swag.IsZero(m.GeneratorURL) { // not required + return nil + } + + if err := validate.FormatOf("generatorURL", "body", "uri", m.GeneratorURL.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *Alert) validateLabels(formats strfmt.Registry) error { + + if err := m.Labels.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("labels") + } + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Alert) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Alert) UnmarshalBinary(b []byte) error { + var res Alert + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/alert_group.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/alert_group.go new file mode 100644 index 00000000000..92a4b918263 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/alert_group.go @@ -0,0 +1,142 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "strconv" + + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// AlertGroup alert group +// swagger:model alertGroup +type AlertGroup struct { + + // alerts + // Required: true + Alerts []*GettableAlert `json:"alerts"` + + // labels + // Required: true + Labels LabelSet `json:"labels"` + + // receiver + // Required: true + Receiver *Receiver `json:"receiver"` +} + +// Validate validates this alert group +func (m *AlertGroup) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAlerts(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLabels(formats); err != nil { + res = append(res, err) + } + + if err := m.validateReceiver(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AlertGroup) validateAlerts(formats strfmt.Registry) error { + + if err := validate.Required("alerts", "body", m.Alerts); err != nil { + return err + } + + for i := 0; i < len(m.Alerts); i++ { + if swag.IsZero(m.Alerts[i]) { // not required + continue + } + + if m.Alerts[i] != nil { + if err := m.Alerts[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("alerts" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *AlertGroup) validateLabels(formats strfmt.Registry) error { + + if err := m.Labels.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("labels") + } + return err + } + + return nil +} + +func (m *AlertGroup) validateReceiver(formats strfmt.Registry) error { + + if err := validate.Required("receiver", "body", m.Receiver); err != nil { + return err + } + + if m.Receiver != nil { + if err := m.Receiver.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("receiver") + } + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *AlertGroup) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *AlertGroup) UnmarshalBinary(b []byte) error { + var res AlertGroup + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/alert_groups.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/alert_groups.go new file mode 100644 index 00000000000..9cf8efe6591 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/alert_groups.go @@ -0,0 +1,59 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "strconv" + + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" +) + +// AlertGroups alert groups +// swagger:model alertGroups +type AlertGroups []*AlertGroup + +// Validate validates this alert groups +func (m AlertGroups) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName(strconv.Itoa(i)) + } + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/alert_status.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/alert_status.go new file mode 100644 index 00000000000..cadbad364e1 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/alert_status.go @@ -0,0 +1,152 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// AlertStatus alert status +// swagger:model alertStatus +type AlertStatus struct { + + // inhibited by + // Required: true + InhibitedBy []string `json:"inhibitedBy"` + + // silenced by + // Required: true + SilencedBy []string `json:"silencedBy"` + + // state + // Required: true + // Enum: [unprocessed active suppressed] + State *string `json:"state"` +} + +// Validate validates this alert status +func (m *AlertStatus) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateInhibitedBy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSilencedBy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AlertStatus) validateInhibitedBy(formats strfmt.Registry) error { + + if err := validate.Required("inhibitedBy", "body", m.InhibitedBy); err != nil { + return err + } + + return nil +} + +func (m *AlertStatus) validateSilencedBy(formats strfmt.Registry) error { + + if err := validate.Required("silencedBy", "body", m.SilencedBy); err != nil { + return err + } + + return nil +} + +var alertStatusTypeStatePropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["unprocessed","active","suppressed"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + alertStatusTypeStatePropEnum = append(alertStatusTypeStatePropEnum, v) + } +} + +const ( + + // AlertStatusStateUnprocessed captures enum value "unprocessed" + AlertStatusStateUnprocessed string = "unprocessed" + + // AlertStatusStateActive captures enum value "active" + AlertStatusStateActive string = "active" + + // AlertStatusStateSuppressed captures enum value "suppressed" + AlertStatusStateSuppressed string = "suppressed" +) + +// prop value enum +func (m *AlertStatus) validateStateEnum(path, location string, value string) error { + if err := validate.Enum(path, location, value, alertStatusTypeStatePropEnum); err != nil { + return err + } + return nil +} + +func (m *AlertStatus) validateState(formats strfmt.Registry) error { + + if err := validate.Required("state", "body", m.State); err != nil { + return err + } + + // value enum + if err := m.validateStateEnum("state", "body", *m.State); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *AlertStatus) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *AlertStatus) UnmarshalBinary(b []byte) error { + var res AlertStatus + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/alertmanager_config.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/alertmanager_config.go new file mode 100644 index 00000000000..a7ef560d024 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/alertmanager_config.go @@ -0,0 +1,78 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// AlertmanagerConfig alertmanager config +// swagger:model alertmanagerConfig +type AlertmanagerConfig struct { + + // original + // Required: true + Original *string `json:"original"` +} + +// Validate validates this alertmanager config +func (m *AlertmanagerConfig) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateOriginal(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AlertmanagerConfig) validateOriginal(formats strfmt.Registry) error { + + if err := validate.Required("original", "body", m.Original); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *AlertmanagerConfig) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *AlertmanagerConfig) UnmarshalBinary(b []byte) error { + var res AlertmanagerConfig + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/alertmanager_status.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/alertmanager_status.go new file mode 100644 index 00000000000..88afa7fe29e --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/alertmanager_status.go @@ -0,0 +1,161 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// AlertmanagerStatus alertmanager status +// swagger:model alertmanagerStatus +type AlertmanagerStatus struct { + + // cluster + // Required: true + Cluster *ClusterStatus `json:"cluster"` + + // config + // Required: true + Config *AlertmanagerConfig `json:"config"` + + // uptime + // Required: true + // Format: date-time + Uptime *strfmt.DateTime `json:"uptime"` + + // version info + // Required: true + VersionInfo *VersionInfo `json:"versionInfo"` +} + +// Validate validates this alertmanager status +func (m *AlertmanagerStatus) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCluster(formats); err != nil { + res = append(res, err) + } + + if err := m.validateConfig(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUptime(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVersionInfo(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *AlertmanagerStatus) validateCluster(formats strfmt.Registry) error { + + if err := validate.Required("cluster", "body", m.Cluster); err != nil { + return err + } + + if m.Cluster != nil { + if err := m.Cluster.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("cluster") + } + return err + } + } + + return nil +} + +func (m *AlertmanagerStatus) validateConfig(formats strfmt.Registry) error { + + if err := validate.Required("config", "body", m.Config); err != nil { + return err + } + + if m.Config != nil { + if err := m.Config.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("config") + } + return err + } + } + + return nil +} + +func (m *AlertmanagerStatus) validateUptime(formats strfmt.Registry) error { + + if err := validate.Required("uptime", "body", m.Uptime); err != nil { + return err + } + + if err := validate.FormatOf("uptime", "body", "date-time", m.Uptime.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *AlertmanagerStatus) validateVersionInfo(formats strfmt.Registry) error { + + if err := validate.Required("versionInfo", "body", m.VersionInfo); err != nil { + return err + } + + if m.VersionInfo != nil { + if err := m.VersionInfo.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("versionInfo") + } + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *AlertmanagerStatus) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *AlertmanagerStatus) UnmarshalBinary(b []byte) error { + var res AlertmanagerStatus + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/cluster_status.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/cluster_status.go new file mode 100644 index 00000000000..9db4491d820 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/cluster_status.go @@ -0,0 +1,155 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + "strconv" + + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ClusterStatus cluster status +// swagger:model clusterStatus +type ClusterStatus struct { + + // name + Name string `json:"name,omitempty"` + + // peers + // Minimum: 0 + Peers []*PeerStatus `json:"peers"` + + // status + // Required: true + // Enum: [ready settling disabled] + Status *string `json:"status"` +} + +// Validate validates this cluster status +func (m *ClusterStatus) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validatePeers(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ClusterStatus) validatePeers(formats strfmt.Registry) error { + + if swag.IsZero(m.Peers) { // not required + return nil + } + + for i := 0; i < len(m.Peers); i++ { + if swag.IsZero(m.Peers[i]) { // not required + continue + } + + if m.Peers[i] != nil { + if err := m.Peers[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("peers" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +var clusterStatusTypeStatusPropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["ready","settling","disabled"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + clusterStatusTypeStatusPropEnum = append(clusterStatusTypeStatusPropEnum, v) + } +} + +const ( + + // ClusterStatusStatusReady captures enum value "ready" + ClusterStatusStatusReady string = "ready" + + // ClusterStatusStatusSettling captures enum value "settling" + ClusterStatusStatusSettling string = "settling" + + // ClusterStatusStatusDisabled captures enum value "disabled" + ClusterStatusStatusDisabled string = "disabled" +) + +// prop value enum +func (m *ClusterStatus) validateStatusEnum(path, location string, value string) error { + if err := validate.Enum(path, location, value, clusterStatusTypeStatusPropEnum); err != nil { + return err + } + return nil +} + +func (m *ClusterStatus) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + // value enum + if err := m.validateStatusEnum("status", "body", *m.Status); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ClusterStatus) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ClusterStatus) UnmarshalBinary(b []byte) error { + var res ClusterStatus + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/gettable_alert.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/gettable_alert.go new file mode 100644 index 00000000000..c0c983486f2 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/gettable_alert.go @@ -0,0 +1,327 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "strconv" + + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// GettableAlert gettable alert +// swagger:model gettableAlert +type GettableAlert struct { + + // annotations + // Required: true + Annotations LabelSet `json:"annotations"` + + // ends at + // Required: true + // Format: date-time + EndsAt *strfmt.DateTime `json:"endsAt"` + + // fingerprint + // Required: true + Fingerprint *string `json:"fingerprint"` + + // receivers + // Required: true + Receivers []*Receiver `json:"receivers"` + + // starts at + // Required: true + // Format: date-time + StartsAt *strfmt.DateTime `json:"startsAt"` + + // status + // Required: true + Status *AlertStatus `json:"status"` + + // updated at + // Required: true + // Format: date-time + UpdatedAt *strfmt.DateTime `json:"updatedAt"` + + Alert +} + +// UnmarshalJSON unmarshals this object from a JSON structure +func (m *GettableAlert) UnmarshalJSON(raw []byte) error { + // AO0 + var dataAO0 struct { + Annotations LabelSet `json:"annotations"` + + EndsAt *strfmt.DateTime `json:"endsAt"` + + Fingerprint *string `json:"fingerprint"` + + Receivers []*Receiver `json:"receivers"` + + StartsAt *strfmt.DateTime `json:"startsAt"` + + Status *AlertStatus `json:"status"` + + UpdatedAt *strfmt.DateTime `json:"updatedAt"` + } + if err := swag.ReadJSON(raw, &dataAO0); err != nil { + return err + } + + m.Annotations = dataAO0.Annotations + + m.EndsAt = dataAO0.EndsAt + + m.Fingerprint = dataAO0.Fingerprint + + m.Receivers = dataAO0.Receivers + + m.StartsAt = dataAO0.StartsAt + + m.Status = dataAO0.Status + + m.UpdatedAt = dataAO0.UpdatedAt + + // AO1 + var aO1 Alert + if err := swag.ReadJSON(raw, &aO1); err != nil { + return err + } + m.Alert = aO1 + + return nil +} + +// MarshalJSON marshals this object to a JSON structure +func (m GettableAlert) MarshalJSON() ([]byte, error) { + _parts := make([][]byte, 0, 2) + + var dataAO0 struct { + Annotations LabelSet `json:"annotations"` + + EndsAt *strfmt.DateTime `json:"endsAt"` + + Fingerprint *string `json:"fingerprint"` + + Receivers []*Receiver `json:"receivers"` + + StartsAt *strfmt.DateTime `json:"startsAt"` + + Status *AlertStatus `json:"status"` + + UpdatedAt *strfmt.DateTime `json:"updatedAt"` + } + + dataAO0.Annotations = m.Annotations + + dataAO0.EndsAt = m.EndsAt + + dataAO0.Fingerprint = m.Fingerprint + + dataAO0.Receivers = m.Receivers + + dataAO0.StartsAt = m.StartsAt + + dataAO0.Status = m.Status + + dataAO0.UpdatedAt = m.UpdatedAt + + jsonDataAO0, errAO0 := swag.WriteJSON(dataAO0) + if errAO0 != nil { + return nil, errAO0 + } + _parts = append(_parts, jsonDataAO0) + + aO1, err := swag.WriteJSON(m.Alert) + if err != nil { + return nil, err + } + _parts = append(_parts, aO1) + + return swag.ConcatJSON(_parts...), nil +} + +// Validate validates this gettable alert +func (m *GettableAlert) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAnnotations(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEndsAt(formats); err != nil { + res = append(res, err) + } + + if err := m.validateFingerprint(formats); err != nil { + res = append(res, err) + } + + if err := m.validateReceivers(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStartsAt(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUpdatedAt(formats); err != nil { + res = append(res, err) + } + + // validation for a type composition with Alert + if err := m.Alert.Validate(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *GettableAlert) validateAnnotations(formats strfmt.Registry) error { + + if err := m.Annotations.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("annotations") + } + return err + } + + return nil +} + +func (m *GettableAlert) validateEndsAt(formats strfmt.Registry) error { + + if err := validate.Required("endsAt", "body", m.EndsAt); err != nil { + return err + } + + if err := validate.FormatOf("endsAt", "body", "date-time", m.EndsAt.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *GettableAlert) validateFingerprint(formats strfmt.Registry) error { + + if err := validate.Required("fingerprint", "body", m.Fingerprint); err != nil { + return err + } + + return nil +} + +func (m *GettableAlert) validateReceivers(formats strfmt.Registry) error { + + if err := validate.Required("receivers", "body", m.Receivers); err != nil { + return err + } + + for i := 0; i < len(m.Receivers); i++ { + if swag.IsZero(m.Receivers[i]) { // not required + continue + } + + if m.Receivers[i] != nil { + if err := m.Receivers[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("receivers" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *GettableAlert) validateStartsAt(formats strfmt.Registry) error { + + if err := validate.Required("startsAt", "body", m.StartsAt); err != nil { + return err + } + + if err := validate.FormatOf("startsAt", "body", "date-time", m.StartsAt.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *GettableAlert) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + if m.Status != nil { + if err := m.Status.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("status") + } + return err + } + } + + return nil +} + +func (m *GettableAlert) validateUpdatedAt(formats strfmt.Registry) error { + + if err := validate.Required("updatedAt", "body", m.UpdatedAt); err != nil { + return err + } + + if err := validate.FormatOf("updatedAt", "body", "date-time", m.UpdatedAt.String(), formats); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *GettableAlert) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *GettableAlert) UnmarshalBinary(b []byte) error { + var res GettableAlert + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/gettable_alerts.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/gettable_alerts.go new file mode 100644 index 00000000000..fe7f1defdfb --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/gettable_alerts.go @@ -0,0 +1,59 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "strconv" + + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" +) + +// GettableAlerts gettable alerts +// swagger:model gettableAlerts +type GettableAlerts []*GettableAlert + +// Validate validates this gettable alerts +func (m GettableAlerts) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName(strconv.Itoa(i)) + } + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/gettable_silence.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/gettable_silence.go new file mode 100644 index 00000000000..e2cad931904 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/gettable_silence.go @@ -0,0 +1,196 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// GettableSilence gettable silence +// swagger:model gettableSilence +type GettableSilence struct { + + // id + // Required: true + ID *string `json:"id"` + + // status + // Required: true + Status *SilenceStatus `json:"status"` + + // updated at + // Required: true + // Format: date-time + UpdatedAt *strfmt.DateTime `json:"updatedAt"` + + Silence +} + +// UnmarshalJSON unmarshals this object from a JSON structure +func (m *GettableSilence) UnmarshalJSON(raw []byte) error { + // AO0 + var dataAO0 struct { + ID *string `json:"id"` + + Status *SilenceStatus `json:"status"` + + UpdatedAt *strfmt.DateTime `json:"updatedAt"` + } + if err := swag.ReadJSON(raw, &dataAO0); err != nil { + return err + } + + m.ID = dataAO0.ID + + m.Status = dataAO0.Status + + m.UpdatedAt = dataAO0.UpdatedAt + + // AO1 + var aO1 Silence + if err := swag.ReadJSON(raw, &aO1); err != nil { + return err + } + m.Silence = aO1 + + return nil +} + +// MarshalJSON marshals this object to a JSON structure +func (m GettableSilence) MarshalJSON() ([]byte, error) { + _parts := make([][]byte, 0, 2) + + var dataAO0 struct { + ID *string `json:"id"` + + Status *SilenceStatus `json:"status"` + + UpdatedAt *strfmt.DateTime `json:"updatedAt"` + } + + dataAO0.ID = m.ID + + dataAO0.Status = m.Status + + dataAO0.UpdatedAt = m.UpdatedAt + + jsonDataAO0, errAO0 := swag.WriteJSON(dataAO0) + if errAO0 != nil { + return nil, errAO0 + } + _parts = append(_parts, jsonDataAO0) + + aO1, err := swag.WriteJSON(m.Silence) + if err != nil { + return nil, err + } + _parts = append(_parts, aO1) + + return swag.ConcatJSON(_parts...), nil +} + +// Validate validates this gettable silence +func (m *GettableSilence) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUpdatedAt(formats); err != nil { + res = append(res, err) + } + + // validation for a type composition with Silence + if err := m.Silence.Validate(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *GettableSilence) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *GettableSilence) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + if m.Status != nil { + if err := m.Status.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("status") + } + return err + } + } + + return nil +} + +func (m *GettableSilence) validateUpdatedAt(formats strfmt.Registry) error { + + if err := validate.Required("updatedAt", "body", m.UpdatedAt); err != nil { + return err + } + + if err := validate.FormatOf("updatedAt", "body", "date-time", m.UpdatedAt.String(), formats); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *GettableSilence) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *GettableSilence) UnmarshalBinary(b []byte) error { + var res GettableSilence + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/gettable_silences.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/gettable_silences.go new file mode 100644 index 00000000000..8f1604e3ff3 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/gettable_silences.go @@ -0,0 +1,59 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "strconv" + + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" +) + +// GettableSilences gettable silences +// swagger:model gettableSilences +type GettableSilences []*GettableSilence + +// Validate validates this gettable silences +func (m GettableSilences) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName(strconv.Itoa(i)) + } + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/label_set.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/label_set.go new file mode 100644 index 00000000000..0d1d35389d6 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/label_set.go @@ -0,0 +1,33 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + strfmt "github.com/go-openapi/strfmt" +) + +// LabelSet label set +// swagger:model labelSet +type LabelSet map[string]string + +// Validate validates this label set +func (m LabelSet) Validate(formats strfmt.Registry) error { + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/matcher.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/matcher.go new file mode 100644 index 00000000000..eae3605a7e2 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/matcher.go @@ -0,0 +1,112 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Matcher matcher +// swagger:model matcher +type Matcher struct { + + // is regex + // Required: true + IsRegex *bool `json:"isRegex"` + + // name + // Required: true + Name *string `json:"name"` + + // value + // Required: true + Value *string `json:"value"` +} + +// Validate validates this matcher +func (m *Matcher) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateIsRegex(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if err := m.validateValue(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Matcher) validateIsRegex(formats strfmt.Registry) error { + + if err := validate.Required("isRegex", "body", m.IsRegex); err != nil { + return err + } + + return nil +} + +func (m *Matcher) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +func (m *Matcher) validateValue(formats strfmt.Registry) error { + + if err := validate.Required("value", "body", m.Value); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Matcher) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Matcher) UnmarshalBinary(b []byte) error { + var res Matcher + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/matchers.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/matchers.go new file mode 100644 index 00000000000..bd28548978f --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/matchers.go @@ -0,0 +1,66 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "strconv" + + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Matchers matchers +// swagger:model matchers +type Matchers []*Matcher + +// Validate validates this matchers +func (m Matchers) Validate(formats strfmt.Registry) error { + var res []error + + iMatchersSize := int64(len(m)) + + if err := validate.MinItems("", "body", iMatchersSize, 1); err != nil { + return err + } + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName(strconv.Itoa(i)) + } + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/peer_status.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/peer_status.go new file mode 100644 index 00000000000..29e10ece6ff --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/peer_status.go @@ -0,0 +1,95 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PeerStatus peer status +// swagger:model peerStatus +type PeerStatus struct { + + // address + // Required: true + Address *string `json:"address"` + + // name + // Required: true + Name *string `json:"name"` +} + +// Validate validates this peer status +func (m *PeerStatus) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAddress(formats); err != nil { + res = append(res, err) + } + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PeerStatus) validateAddress(formats strfmt.Registry) error { + + if err := validate.Required("address", "body", m.Address); err != nil { + return err + } + + return nil +} + +func (m *PeerStatus) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PeerStatus) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PeerStatus) UnmarshalBinary(b []byte) error { + var res PeerStatus + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/postable_alert.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/postable_alert.go new file mode 100644 index 00000000000..afa91ca965a --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/postable_alert.go @@ -0,0 +1,196 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// PostableAlert postable alert +// swagger:model postableAlert +type PostableAlert struct { + + // annotations + Annotations LabelSet `json:"annotations,omitempty"` + + // ends at + // Format: date-time + EndsAt strfmt.DateTime `json:"endsAt,omitempty"` + + // starts at + // Format: date-time + StartsAt strfmt.DateTime `json:"startsAt,omitempty"` + + Alert +} + +// UnmarshalJSON unmarshals this object from a JSON structure +func (m *PostableAlert) UnmarshalJSON(raw []byte) error { + // AO0 + var dataAO0 struct { + Annotations LabelSet `json:"annotations,omitempty"` + + EndsAt strfmt.DateTime `json:"endsAt,omitempty"` + + StartsAt strfmt.DateTime `json:"startsAt,omitempty"` + } + if err := swag.ReadJSON(raw, &dataAO0); err != nil { + return err + } + + m.Annotations = dataAO0.Annotations + + m.EndsAt = dataAO0.EndsAt + + m.StartsAt = dataAO0.StartsAt + + // AO1 + var aO1 Alert + if err := swag.ReadJSON(raw, &aO1); err != nil { + return err + } + m.Alert = aO1 + + return nil +} + +// MarshalJSON marshals this object to a JSON structure +func (m PostableAlert) MarshalJSON() ([]byte, error) { + _parts := make([][]byte, 0, 2) + + var dataAO0 struct { + Annotations LabelSet `json:"annotations,omitempty"` + + EndsAt strfmt.DateTime `json:"endsAt,omitempty"` + + StartsAt strfmt.DateTime `json:"startsAt,omitempty"` + } + + dataAO0.Annotations = m.Annotations + + dataAO0.EndsAt = m.EndsAt + + dataAO0.StartsAt = m.StartsAt + + jsonDataAO0, errAO0 := swag.WriteJSON(dataAO0) + if errAO0 != nil { + return nil, errAO0 + } + _parts = append(_parts, jsonDataAO0) + + aO1, err := swag.WriteJSON(m.Alert) + if err != nil { + return nil, err + } + _parts = append(_parts, aO1) + + return swag.ConcatJSON(_parts...), nil +} + +// Validate validates this postable alert +func (m *PostableAlert) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAnnotations(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEndsAt(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStartsAt(formats); err != nil { + res = append(res, err) + } + + // validation for a type composition with Alert + if err := m.Alert.Validate(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *PostableAlert) validateAnnotations(formats strfmt.Registry) error { + + if swag.IsZero(m.Annotations) { // not required + return nil + } + + if err := m.Annotations.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("annotations") + } + return err + } + + return nil +} + +func (m *PostableAlert) validateEndsAt(formats strfmt.Registry) error { + + if swag.IsZero(m.EndsAt) { // not required + return nil + } + + if err := validate.FormatOf("endsAt", "body", "date-time", m.EndsAt.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *PostableAlert) validateStartsAt(formats strfmt.Registry) error { + + if swag.IsZero(m.StartsAt) { // not required + return nil + } + + if err := validate.FormatOf("startsAt", "body", "date-time", m.StartsAt.String(), formats); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *PostableAlert) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PostableAlert) UnmarshalBinary(b []byte) error { + var res PostableAlert + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/postable_alerts.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/postable_alerts.go new file mode 100644 index 00000000000..7097adcaf1e --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/postable_alerts.go @@ -0,0 +1,59 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "strconv" + + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" +) + +// PostableAlerts postable alerts +// swagger:model postableAlerts +type PostableAlerts []*PostableAlert + +// Validate validates this postable alerts +func (m PostableAlerts) Validate(formats strfmt.Registry) error { + var res []error + + for i := 0; i < len(m); i++ { + if swag.IsZero(m[i]) { // not required + continue + } + + if m[i] != nil { + if err := m[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName(strconv.Itoa(i)) + } + return err + } + } + + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/postable_silence.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/postable_silence.go new file mode 100644 index 00000000000..45efa4ff7de --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/postable_silence.go @@ -0,0 +1,117 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" +) + +// PostableSilence postable silence +// swagger:model postableSilence +type PostableSilence struct { + + // id + ID string `json:"id,omitempty"` + + Silence +} + +// UnmarshalJSON unmarshals this object from a JSON structure +func (m *PostableSilence) UnmarshalJSON(raw []byte) error { + // AO0 + var dataAO0 struct { + ID string `json:"id,omitempty"` + } + if err := swag.ReadJSON(raw, &dataAO0); err != nil { + return err + } + + m.ID = dataAO0.ID + + // AO1 + var aO1 Silence + if err := swag.ReadJSON(raw, &aO1); err != nil { + return err + } + m.Silence = aO1 + + return nil +} + +// MarshalJSON marshals this object to a JSON structure +func (m PostableSilence) MarshalJSON() ([]byte, error) { + _parts := make([][]byte, 0, 2) + + var dataAO0 struct { + ID string `json:"id,omitempty"` + } + + dataAO0.ID = m.ID + + jsonDataAO0, errAO0 := swag.WriteJSON(dataAO0) + if errAO0 != nil { + return nil, errAO0 + } + _parts = append(_parts, jsonDataAO0) + + aO1, err := swag.WriteJSON(m.Silence) + if err != nil { + return nil, err + } + _parts = append(_parts, aO1) + + return swag.ConcatJSON(_parts...), nil +} + +// Validate validates this postable silence +func (m *PostableSilence) Validate(formats strfmt.Registry) error { + var res []error + + // validation for a type composition with Silence + if err := m.Silence.Validate(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// MarshalBinary interface implementation +func (m *PostableSilence) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *PostableSilence) UnmarshalBinary(b []byte) error { + var res PostableSilence + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/receiver.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/receiver.go new file mode 100644 index 00000000000..3686e6d199d --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/receiver.go @@ -0,0 +1,78 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Receiver receiver +// swagger:model receiver +type Receiver struct { + + // name + // Required: true + Name *string `json:"name"` +} + +// Validate validates this receiver +func (m *Receiver) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Receiver) validateName(formats strfmt.Registry) error { + + if err := validate.Required("name", "body", m.Name); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Receiver) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Receiver) UnmarshalBinary(b []byte) error { + var res Receiver + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/silence.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/silence.go new file mode 100644 index 00000000000..0a842a301b8 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/silence.go @@ -0,0 +1,163 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// Silence silence +// swagger:model silence +type Silence struct { + + // comment + // Required: true + Comment *string `json:"comment"` + + // created by + // Required: true + CreatedBy *string `json:"createdBy"` + + // ends at + // Required: true + // Format: date-time + EndsAt *strfmt.DateTime `json:"endsAt"` + + // matchers + // Required: true + Matchers Matchers `json:"matchers"` + + // starts at + // Required: true + // Format: date-time + StartsAt *strfmt.DateTime `json:"startsAt"` +} + +// Validate validates this silence +func (m *Silence) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateComment(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCreatedBy(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEndsAt(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMatchers(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStartsAt(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Silence) validateComment(formats strfmt.Registry) error { + + if err := validate.Required("comment", "body", m.Comment); err != nil { + return err + } + + return nil +} + +func (m *Silence) validateCreatedBy(formats strfmt.Registry) error { + + if err := validate.Required("createdBy", "body", m.CreatedBy); err != nil { + return err + } + + return nil +} + +func (m *Silence) validateEndsAt(formats strfmt.Registry) error { + + if err := validate.Required("endsAt", "body", m.EndsAt); err != nil { + return err + } + + if err := validate.FormatOf("endsAt", "body", "date-time", m.EndsAt.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *Silence) validateMatchers(formats strfmt.Registry) error { + + if err := validate.Required("matchers", "body", m.Matchers); err != nil { + return err + } + + if err := m.Matchers.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("matchers") + } + return err + } + + return nil +} + +func (m *Silence) validateStartsAt(formats strfmt.Registry) error { + + if err := validate.Required("startsAt", "body", m.StartsAt); err != nil { + return err + } + + if err := validate.FormatOf("startsAt", "body", "date-time", m.StartsAt.String(), formats); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Silence) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Silence) UnmarshalBinary(b []byte) error { + var res Silence + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/silence_status.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/silence_status.go new file mode 100644 index 00000000000..669269e1893 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/silence_status.go @@ -0,0 +1,118 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" + + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SilenceStatus silence status +// swagger:model silenceStatus +type SilenceStatus struct { + + // state + // Required: true + // Enum: [expired active pending] + State *string `json:"state"` +} + +// Validate validates this silence status +func (m *SilenceStatus) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateState(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var silenceStatusTypeStatePropEnum []interface{} + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["expired","active","pending"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + silenceStatusTypeStatePropEnum = append(silenceStatusTypeStatePropEnum, v) + } +} + +const ( + + // SilenceStatusStateExpired captures enum value "expired" + SilenceStatusStateExpired string = "expired" + + // SilenceStatusStateActive captures enum value "active" + SilenceStatusStateActive string = "active" + + // SilenceStatusStatePending captures enum value "pending" + SilenceStatusStatePending string = "pending" +) + +// prop value enum +func (m *SilenceStatus) validateStateEnum(path, location string, value string) error { + if err := validate.Enum(path, location, value, silenceStatusTypeStatePropEnum); err != nil { + return err + } + return nil +} + +func (m *SilenceStatus) validateState(formats strfmt.Registry) error { + + if err := validate.Required("state", "body", m.State); err != nil { + return err + } + + // value enum + if err := m.validateStateEnum("state", "body", *m.State); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SilenceStatus) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SilenceStatus) UnmarshalBinary(b []byte) error { + var res SilenceStatus + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/models/version_info.go b/vendor/github.com/prometheus/alertmanager/api/v2/models/version_info.go new file mode 100644 index 00000000000..232d805d287 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/models/version_info.go @@ -0,0 +1,163 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// VersionInfo version info +// swagger:model versionInfo +type VersionInfo struct { + + // branch + // Required: true + Branch *string `json:"branch"` + + // build date + // Required: true + BuildDate *string `json:"buildDate"` + + // build user + // Required: true + BuildUser *string `json:"buildUser"` + + // go version + // Required: true + GoVersion *string `json:"goVersion"` + + // revision + // Required: true + Revision *string `json:"revision"` + + // version + // Required: true + Version *string `json:"version"` +} + +// Validate validates this version info +func (m *VersionInfo) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateBranch(formats); err != nil { + res = append(res, err) + } + + if err := m.validateBuildDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateBuildUser(formats); err != nil { + res = append(res, err) + } + + if err := m.validateGoVersion(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRevision(formats); err != nil { + res = append(res, err) + } + + if err := m.validateVersion(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *VersionInfo) validateBranch(formats strfmt.Registry) error { + + if err := validate.Required("branch", "body", m.Branch); err != nil { + return err + } + + return nil +} + +func (m *VersionInfo) validateBuildDate(formats strfmt.Registry) error { + + if err := validate.Required("buildDate", "body", m.BuildDate); err != nil { + return err + } + + return nil +} + +func (m *VersionInfo) validateBuildUser(formats strfmt.Registry) error { + + if err := validate.Required("buildUser", "body", m.BuildUser); err != nil { + return err + } + + return nil +} + +func (m *VersionInfo) validateGoVersion(formats strfmt.Registry) error { + + if err := validate.Required("goVersion", "body", m.GoVersion); err != nil { + return err + } + + return nil +} + +func (m *VersionInfo) validateRevision(formats strfmt.Registry) error { + + if err := validate.Required("revision", "body", m.Revision); err != nil { + return err + } + + return nil +} + +func (m *VersionInfo) validateVersion(formats strfmt.Registry) error { + + if err := validate.Required("version", "body", m.Version); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *VersionInfo) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *VersionInfo) UnmarshalBinary(b []byte) error { + var res VersionInfo + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/openapi.yaml b/vendor/github.com/prometheus/alertmanager/api/v2/openapi.yaml new file mode 100644 index 00000000000..7d8f77dea7b --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/openapi.yaml @@ -0,0 +1,521 @@ +--- + +swagger: '2.0' + +info: + version: 0.0.1 + title: Alertmanager API + description: API of the Prometheus Alertmanager (https://github.com/prometheus/alertmanager) + license: + name: Apache 2.0 + url: http://www.apache.org/licenses/LICENSE-2.0.html + +consumes: + - "application/json" +produces: + - "application/json" + +paths: + /status: + get: + tags: + - general + operationId: getStatus + description: Get current status of an Alertmanager instance and its cluster + responses: + '200': + description: Get status response + schema: + $ref: '#/definitions/alertmanagerStatus' + /receivers: + get: + tags: + - receiver + operationId: getReceivers + description: Get list of all receivers (name of notification integrations) + responses: + '200': + description: Get receivers response + schema: + type: array + items: + $ref: '#/definitions/receiver' + /silences: + get: + tags: + - silence + operationId: getSilences + description: Get a list of silences + responses: + '200': + description: Get silences response + schema: + $ref: '#/definitions/gettableSilences' + '500': + $ref: '#/responses/InternalServerError' + parameters: + - name: filter + in: query + description: A list of matchers to filter silences by + required: false + type: array + collectionFormat: multi + items: + type: string + post: + tags: + - silence + operationId: postSilences + description: Post a new silence or update an existing one + parameters: + - in: body + name: silence + description: The silence to create + required: true + schema: + $ref: '#/definitions/postableSilence' + responses: + '200': + description: Create / update silence response + schema: + type: object + properties: + silenceID: + type: string + '400': + $ref: '#/responses/BadRequest' + '404': + description: A silence with the specified ID was not found + schema: + type: string + /silence/{silenceID}: + parameters: + - in: path + name: silenceID + type: string + format: uuid + required: true + description: ID of the silence to get + get: + tags: + - silence + operationId: getSilence + description: Get a silence by its ID + responses: + '200': + description: Get silence response + schema: + $ref: '#/definitions/gettableSilence' + '404': + description: A silence with the specified ID was not found + '500': + $ref: '#/responses/InternalServerError' + delete: + tags: + - silence + operationId: deleteSilence + description: Delete a silence by its ID + parameters: + - in: path + name: silenceID + type: string + format: uuid + required: true + description: ID of the silence to get + responses: + '200': + description: Delete silence response + '500': + $ref: '#/responses/InternalServerError' + /alerts: + get: + tags: + - alert + operationId: getAlerts + description: Get a list of alerts + parameters: + - in: query + name: active + type: boolean + description: Show active alerts + default: true + - in: query + name: silenced + type: boolean + description: Show silenced alerts + default: true + - in: query + name: inhibited + type: boolean + description: Show inhibited alerts + default: true + - in: query + name: unprocessed + type: boolean + description: Show unprocessed alerts + default: true + - name: filter + in: query + description: A list of matchers to filter alerts by + required: false + type: array + collectionFormat: multi + items: + type: string + - name: receiver + in: query + description: A regex matching receivers to filter alerts by + required: false + type: string + responses: + '200': + description: Get alerts response + schema: + '$ref': '#/definitions/gettableAlerts' + '400': + $ref: '#/responses/BadRequest' + '500': + $ref: '#/responses/InternalServerError' + post: + tags: + - alert + operationId: postAlerts + description: Create new Alerts + parameters: + - in: body + name: alerts + description: The alerts to create + required: true + schema: + $ref: '#/definitions/postableAlerts' + responses: + '200': + description: Create alerts response + '500': + $ref: '#/responses/InternalServerError' + '400': + $ref: '#/responses/BadRequest' + /alerts/groups: + get: + tags: + - alertgroup + operationId: getAlertGroups + description: Get a list of alert groups + parameters: + - in: query + name: active + type: boolean + description: Show active alerts + default: true + - in: query + name: silenced + type: boolean + description: Show silenced alerts + default: true + - in: query + name: inhibited + type: boolean + description: Show inhibited alerts + default: true + - name: filter + in: query + description: A list of matchers to filter alerts by + required: false + type: array + collectionFormat: multi + items: + type: string + - name: receiver + in: query + description: A regex matching receivers to filter alerts by + required: false + type: string + responses: + '200': + description: Get alert groups response + schema: + '$ref': '#/definitions/alertGroups' + '400': + $ref: '#/responses/BadRequest' + '500': + $ref: '#/responses/InternalServerError' + +responses: + BadRequest: + description: Bad request + schema: + type: string + InternalServerError: + description: Internal server error + schema: + type: string + + +definitions: + alertmanagerStatus: + type: object + properties: + cluster: + $ref: '#/definitions/clusterStatus' + versionInfo: + $ref: '#/definitions/versionInfo' + config: + $ref: '#/definitions/alertmanagerConfig' + uptime: + type: string + format: date-time + required: + - cluster + - versionInfo + - config + - uptime + clusterStatus: + type: object + properties: + name: + type: string + status: + type: string + enum: ["ready", "settling", "disabled"] + peers: + type: array + minimum: 0 + items: + $ref: '#/definitions/peerStatus' + required: + - status + alertmanagerConfig: + type: object + properties: + original: + type: string + required: + - original + versionInfo: + type: object + properties: + version: + type: string + revision: + type: string + branch: + type: string + buildUser: + type: string + buildDate: + type: string + goVersion: + type: string + required: + - version + - revision + - branch + - buildUser + - buildDate + - goVersion + peerStatus: + type: object + properties: + name: + type: string + address: + type: string + required: + - name + - address + silence: + type: object + properties: + matchers: + $ref: '#/definitions/matchers' + startsAt: + type: string + format: date-time + endsAt: + type: string + format: date-time + createdBy: + type: string + comment: + type: string + required: + - matchers + - startsAt + - endsAt + - createdBy + - comment + gettableSilence: + allOf: + - type: object + properties: + id: + type: string + status: + $ref: '#/definitions/silenceStatus' + updatedAt: + type: string + format: date-time + required: + - id + - status + - updatedAt + - $ref: '#/definitions/silence' + postableSilence: + allOf: + - type: object + properties: + id: + type: string + - $ref: '#/definitions/silence' + silenceStatus: + type: object + properties: + state: + type: string + enum: ["expired", "active", "pending"] + required: + - state + gettableSilences: + type: array + items: + $ref: '#/definitions/gettableSilence' + matchers: + type: array + items: + $ref: '#/definitions/matcher' + minItems: 1 + matcher: + type: object + properties: + name: + type: string + value: + type: string + isRegex: + type: boolean + required: + - name + - value + - isRegex + alert: + type: object + properties: + labels: + $ref: '#/definitions/labelSet' + generatorURL: + type: string + format: uri + required: + - labels + gettableAlerts: + type: array + items: + $ref: '#/definitions/gettableAlert' + gettableAlert: + allOf: + - type: object + properties: + annotations: + $ref: '#/definitions/labelSet' + receivers: + type: array + items: + $ref: '#/definitions/receiver' + fingerprint: + type: string + startsAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + endsAt: + type: string + format: date-time + status: + $ref: '#/definitions/alertStatus' + required: + - receivers + - fingerprint + - startsAt + - updatedAt + - endsAt + - annotations + - status + - $ref: '#/definitions/alert' + postableAlerts: + type: array + items: + $ref: '#/definitions/postableAlert' + postableAlert: + allOf: + - type: object + properties: + startsAt: + type: string + format: date-time + endsAt: + type: string + format: date-time + annotations: + $ref: '#/definitions/labelSet' + - $ref: '#/definitions/alert' + alertGroups: + type: array + items: + $ref: '#/definitions/alertGroup' + alertGroup: + type: object + properties: + labels: + $ref: '#/definitions/labelSet' + receiver: + $ref: '#/definitions/receiver' + alerts: + type: array + items: + $ref: '#/definitions/gettableAlert' + required: + - labels + - receiver + - alerts + alertStatus: + type: object + properties: + state: + type: string + enum: ['unprocessed', 'active', 'suppressed'] + silencedBy: + type: array + items: + type: string + inhibitedBy: + type: array + items: + type: string + required: + - state + - silencedBy + - inhibitedBy + receiver: + type: object + properties: + name: + type: string + required: + - name + labelSet: + type: object + additionalProperties: + type: string + + +tags: + - name: general + description: General Alertmanager operations + - name: receiver + description: Everything related to Alertmanager receivers + - name: silence + description: Everything related to Alertmanager silences + - name: alert + description: Everything related to Alertmanager alerts diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/configure_alertmanager.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/configure_alertmanager.go new file mode 100644 index 00000000000..8cfe1fc6b82 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/configure_alertmanager.go @@ -0,0 +1,110 @@ +// This file is safe to edit. Once it exists it will not be overwritten + +// Copyright Prometheus Team +// 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 restapi + +import ( + "crypto/tls" + "net/http" + + errors "github.com/go-openapi/errors" + runtime "github.com/go-openapi/runtime" + middleware "github.com/go-openapi/runtime/middleware" + + "github.com/prometheus/alertmanager/api/v2/restapi/operations" + "github.com/prometheus/alertmanager/api/v2/restapi/operations/alert" + "github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup" + "github.com/prometheus/alertmanager/api/v2/restapi/operations/general" + "github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver" + "github.com/prometheus/alertmanager/api/v2/restapi/operations/silence" +) + +//go:generate swagger generate server --target ../../v2 --name Alertmanager --spec ../openapi.yaml --exclude-main + +func configureFlags(api *operations.AlertmanagerAPI) { + // api.CommandLineOptionsGroups = []swag.CommandLineOptionsGroup{ ... } +} + +func configureAPI(api *operations.AlertmanagerAPI) http.Handler { + // configure the api here + api.ServeError = errors.ServeError + + // Set your custom logger if needed. Default one is log.Printf + // Expected interface func(string, ...interface{}) + // + // Example: + // api.Logger = log.Printf + + api.JSONConsumer = runtime.JSONConsumer() + + api.JSONProducer = runtime.JSONProducer() + + api.SilenceDeleteSilenceHandler = silence.DeleteSilenceHandlerFunc(func(params silence.DeleteSilenceParams) middleware.Responder { + return middleware.NotImplemented("operation silence.DeleteSilence has not yet been implemented") + }) + api.AlertgroupGetAlertGroupsHandler = alertgroup.GetAlertGroupsHandlerFunc(func(params alertgroup.GetAlertGroupsParams) middleware.Responder { + return middleware.NotImplemented("operation alertgroup.GetAlertGroups has not yet been implemented") + }) + api.AlertGetAlertsHandler = alert.GetAlertsHandlerFunc(func(params alert.GetAlertsParams) middleware.Responder { + return middleware.NotImplemented("operation alert.GetAlerts has not yet been implemented") + }) + api.ReceiverGetReceiversHandler = receiver.GetReceiversHandlerFunc(func(params receiver.GetReceiversParams) middleware.Responder { + return middleware.NotImplemented("operation receiver.GetReceivers has not yet been implemented") + }) + api.SilenceGetSilenceHandler = silence.GetSilenceHandlerFunc(func(params silence.GetSilenceParams) middleware.Responder { + return middleware.NotImplemented("operation silence.GetSilence has not yet been implemented") + }) + api.SilenceGetSilencesHandler = silence.GetSilencesHandlerFunc(func(params silence.GetSilencesParams) middleware.Responder { + return middleware.NotImplemented("operation silence.GetSilences has not yet been implemented") + }) + api.GeneralGetStatusHandler = general.GetStatusHandlerFunc(func(params general.GetStatusParams) middleware.Responder { + return middleware.NotImplemented("operation general.GetStatus has not yet been implemented") + }) + api.AlertPostAlertsHandler = alert.PostAlertsHandlerFunc(func(params alert.PostAlertsParams) middleware.Responder { + return middleware.NotImplemented("operation alert.PostAlerts has not yet been implemented") + }) + api.SilencePostSilencesHandler = silence.PostSilencesHandlerFunc(func(params silence.PostSilencesParams) middleware.Responder { + return middleware.NotImplemented("operation silence.PostSilences has not yet been implemented") + }) + + api.ServerShutdown = func() {} + + return setupGlobalMiddleware(api.Serve(setupMiddlewares)) +} + +// The TLS configuration before HTTPS server starts. +func configureTLS(tlsConfig *tls.Config) { + // Make all necessary changes to the TLS configuration here. +} + +// As soon as server is initialized but not run yet, this function will be called. +// If you need to modify a config, store server instance to stop it individually later, this is the place. +// This function can be called multiple times, depending on the number of serving schemes. +// scheme value will be set accordingly: "http", "https" or "unix" +func configureServer(s *http.Server, scheme, addr string) { +} + +// The middleware configuration is for the handler executors. These do not apply to the swagger.json document. +// The middleware executes after routing but before authentication, binding and validation +func setupMiddlewares(handler http.Handler) http.Handler { + return handler +} + +// The middleware configuration happens before anything, this middleware also applies to serving the swagger.json document. +// So this is a good place to plug in a panic handling middleware, logging and metrics +func setupGlobalMiddleware(handler http.Handler) http.Handler { + return handler +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/doc.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/doc.go new file mode 100644 index 00000000000..ccf41ec6839 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/doc.go @@ -0,0 +1,37 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 restapi Alertmanager API +API of the Prometheus Alertmanager (https://github.com/prometheus/alertmanager) + + + Schemes: + http + Host: localhost + BasePath: / + Version: 0.0.1 + License: Apache 2.0 http://www.apache.org/licenses/LICENSE-2.0.html + + Consumes: + - application/json + + Produces: + - application/json + +swagger:meta +*/ +package restapi diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/embedded_spec.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/embedded_spec.go new file mode 100644 index 00000000000..c13f93ff537 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/embedded_spec.go @@ -0,0 +1,1623 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 restapi + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "encoding/json" +) + +var ( + // SwaggerJSON embedded version of the swagger document used at generation time + SwaggerJSON json.RawMessage + // FlatSwaggerJSON embedded flattened version of the swagger document used at generation time + FlatSwaggerJSON json.RawMessage +) + +func init() { + SwaggerJSON = json.RawMessage([]byte(`{ + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "swagger": "2.0", + "info": { + "description": "API of the Prometheus Alertmanager (https://github.com/prometheus/alertmanager)", + "title": "Alertmanager API", + "license": { + "name": "Apache 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + }, + "version": "0.0.1" + }, + "paths": { + "/alerts": { + "get": { + "description": "Get a list of alerts", + "tags": [ + "alert" + ], + "operationId": "getAlerts", + "parameters": [ + { + "type": "boolean", + "default": true, + "description": "Show active alerts", + "name": "active", + "in": "query" + }, + { + "type": "boolean", + "default": true, + "description": "Show silenced alerts", + "name": "silenced", + "in": "query" + }, + { + "type": "boolean", + "default": true, + "description": "Show inhibited alerts", + "name": "inhibited", + "in": "query" + }, + { + "type": "boolean", + "default": true, + "description": "Show unprocessed alerts", + "name": "unprocessed", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "description": "A list of matchers to filter alerts by", + "name": "filter", + "in": "query" + }, + { + "type": "string", + "description": "A regex matching receivers to filter alerts by", + "name": "receiver", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Get alerts response", + "schema": { + "$ref": "#/definitions/gettableAlerts" + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "500": { + "$ref": "#/responses/InternalServerError" + } + } + }, + "post": { + "description": "Create new Alerts", + "tags": [ + "alert" + ], + "operationId": "postAlerts", + "parameters": [ + { + "description": "The alerts to create", + "name": "alerts", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/postableAlerts" + } + } + ], + "responses": { + "200": { + "description": "Create alerts response" + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "500": { + "$ref": "#/responses/InternalServerError" + } + } + } + }, + "/alerts/groups": { + "get": { + "description": "Get a list of alert groups", + "tags": [ + "alertgroup" + ], + "operationId": "getAlertGroups", + "parameters": [ + { + "type": "boolean", + "default": true, + "description": "Show active alerts", + "name": "active", + "in": "query" + }, + { + "type": "boolean", + "default": true, + "description": "Show silenced alerts", + "name": "silenced", + "in": "query" + }, + { + "type": "boolean", + "default": true, + "description": "Show inhibited alerts", + "name": "inhibited", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "description": "A list of matchers to filter alerts by", + "name": "filter", + "in": "query" + }, + { + "type": "string", + "description": "A regex matching receivers to filter alerts by", + "name": "receiver", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Get alert groups response", + "schema": { + "$ref": "#/definitions/alertGroups" + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "500": { + "$ref": "#/responses/InternalServerError" + } + } + } + }, + "/receivers": { + "get": { + "description": "Get list of all receivers (name of notification integrations)", + "tags": [ + "receiver" + ], + "operationId": "getReceivers", + "responses": { + "200": { + "description": "Get receivers response", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/receiver" + } + } + } + } + } + }, + "/silence/{silenceID}": { + "get": { + "description": "Get a silence by its ID", + "tags": [ + "silence" + ], + "operationId": "getSilence", + "responses": { + "200": { + "description": "Get silence response", + "schema": { + "$ref": "#/definitions/gettableSilence" + } + }, + "404": { + "description": "A silence with the specified ID was not found" + }, + "500": { + "$ref": "#/responses/InternalServerError" + } + } + }, + "delete": { + "description": "Delete a silence by its ID", + "tags": [ + "silence" + ], + "operationId": "deleteSilence", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "ID of the silence to get", + "name": "silenceID", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "Delete silence response" + }, + "500": { + "$ref": "#/responses/InternalServerError" + } + } + }, + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "ID of the silence to get", + "name": "silenceID", + "in": "path", + "required": true + } + ] + }, + "/silences": { + "get": { + "description": "Get a list of silences", + "tags": [ + "silence" + ], + "operationId": "getSilences", + "parameters": [ + { + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "description": "A list of matchers to filter silences by", + "name": "filter", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Get silences response", + "schema": { + "$ref": "#/definitions/gettableSilences" + } + }, + "500": { + "$ref": "#/responses/InternalServerError" + } + } + }, + "post": { + "description": "Post a new silence or update an existing one", + "tags": [ + "silence" + ], + "operationId": "postSilences", + "parameters": [ + { + "description": "The silence to create", + "name": "silence", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/postableSilence" + } + } + ], + "responses": { + "200": { + "description": "Create / update silence response", + "schema": { + "type": "object", + "properties": { + "silenceID": { + "type": "string" + } + } + } + }, + "400": { + "$ref": "#/responses/BadRequest" + }, + "404": { + "description": "A silence with the specified ID was not found", + "schema": { + "type": "string" + } + } + } + } + }, + "/status": { + "get": { + "description": "Get current status of an Alertmanager instance and its cluster", + "tags": [ + "general" + ], + "operationId": "getStatus", + "responses": { + "200": { + "description": "Get status response", + "schema": { + "$ref": "#/definitions/alertmanagerStatus" + } + } + } + } + } + }, + "definitions": { + "alert": { + "type": "object", + "required": [ + "labels" + ], + "properties": { + "generatorURL": { + "type": "string", + "format": "uri" + }, + "labels": { + "$ref": "#/definitions/labelSet" + } + } + }, + "alertGroup": { + "type": "object", + "required": [ + "labels", + "receiver", + "alerts" + ], + "properties": { + "alerts": { + "type": "array", + "items": { + "$ref": "#/definitions/gettableAlert" + } + }, + "labels": { + "$ref": "#/definitions/labelSet" + }, + "receiver": { + "$ref": "#/definitions/receiver" + } + } + }, + "alertGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/alertGroup" + } + }, + "alertStatus": { + "type": "object", + "required": [ + "state", + "silencedBy", + "inhibitedBy" + ], + "properties": { + "inhibitedBy": { + "type": "array", + "items": { + "type": "string" + } + }, + "silencedBy": { + "type": "array", + "items": { + "type": "string" + } + }, + "state": { + "type": "string", + "enum": [ + "unprocessed", + "active", + "suppressed" + ] + } + } + }, + "alertmanagerConfig": { + "type": "object", + "required": [ + "original" + ], + "properties": { + "original": { + "type": "string" + } + } + }, + "alertmanagerStatus": { + "type": "object", + "required": [ + "cluster", + "versionInfo", + "config", + "uptime" + ], + "properties": { + "cluster": { + "$ref": "#/definitions/clusterStatus" + }, + "config": { + "$ref": "#/definitions/alertmanagerConfig" + }, + "uptime": { + "type": "string", + "format": "date-time" + }, + "versionInfo": { + "$ref": "#/definitions/versionInfo" + } + } + }, + "clusterStatus": { + "type": "object", + "required": [ + "status" + ], + "properties": { + "name": { + "type": "string" + }, + "peers": { + "type": "array", + "items": { + "$ref": "#/definitions/peerStatus" + } + }, + "status": { + "type": "string", + "enum": [ + "ready", + "settling", + "disabled" + ] + } + } + }, + "gettableAlert": { + "allOf": [ + { + "type": "object", + "required": [ + "receivers", + "fingerprint", + "startsAt", + "updatedAt", + "endsAt", + "annotations", + "status" + ], + "properties": { + "annotations": { + "$ref": "#/definitions/labelSet" + }, + "endsAt": { + "type": "string", + "format": "date-time" + }, + "fingerprint": { + "type": "string" + }, + "receivers": { + "type": "array", + "items": { + "$ref": "#/definitions/receiver" + } + }, + "startsAt": { + "type": "string", + "format": "date-time" + }, + "status": { + "$ref": "#/definitions/alertStatus" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + } + } + }, + { + "$ref": "#/definitions/alert" + } + ] + }, + "gettableAlerts": { + "type": "array", + "items": { + "$ref": "#/definitions/gettableAlert" + } + }, + "gettableSilence": { + "allOf": [ + { + "type": "object", + "required": [ + "id", + "status", + "updatedAt" + ], + "properties": { + "id": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/silenceStatus" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + } + } + }, + { + "$ref": "#/definitions/silence" + } + ] + }, + "gettableSilences": { + "type": "array", + "items": { + "$ref": "#/definitions/gettableSilence" + } + }, + "labelSet": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "matcher": { + "type": "object", + "required": [ + "name", + "value", + "isRegex" + ], + "properties": { + "isRegex": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "matchers": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/definitions/matcher" + } + }, + "peerStatus": { + "type": "object", + "required": [ + "name", + "address" + ], + "properties": { + "address": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "postableAlert": { + "allOf": [ + { + "type": "object", + "properties": { + "annotations": { + "$ref": "#/definitions/labelSet" + }, + "endsAt": { + "type": "string", + "format": "date-time" + }, + "startsAt": { + "type": "string", + "format": "date-time" + } + } + }, + { + "$ref": "#/definitions/alert" + } + ] + }, + "postableAlerts": { + "type": "array", + "items": { + "$ref": "#/definitions/postableAlert" + } + }, + "postableSilence": { + "allOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + { + "$ref": "#/definitions/silence" + } + ] + }, + "receiver": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + } + } + }, + "silence": { + "type": "object", + "required": [ + "matchers", + "startsAt", + "endsAt", + "createdBy", + "comment" + ], + "properties": { + "comment": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "endsAt": { + "type": "string", + "format": "date-time" + }, + "matchers": { + "$ref": "#/definitions/matchers" + }, + "startsAt": { + "type": "string", + "format": "date-time" + } + } + }, + "silenceStatus": { + "type": "object", + "required": [ + "state" + ], + "properties": { + "state": { + "type": "string", + "enum": [ + "expired", + "active", + "pending" + ] + } + } + }, + "versionInfo": { + "type": "object", + "required": [ + "version", + "revision", + "branch", + "buildUser", + "buildDate", + "goVersion" + ], + "properties": { + "branch": { + "type": "string" + }, + "buildDate": { + "type": "string" + }, + "buildUser": { + "type": "string" + }, + "goVersion": { + "type": "string" + }, + "revision": { + "type": "string" + }, + "version": { + "type": "string" + } + } + } + }, + "responses": { + "BadRequest": { + "description": "Bad request", + "schema": { + "type": "string" + } + }, + "InternalServerError": { + "description": "Internal server error", + "schema": { + "type": "string" + } + } + }, + "tags": [ + { + "description": "General Alertmanager operations", + "name": "general" + }, + { + "description": "Everything related to Alertmanager receivers", + "name": "receiver" + }, + { + "description": "Everything related to Alertmanager silences", + "name": "silence" + }, + { + "description": "Everything related to Alertmanager alerts", + "name": "alert" + } + ] +}`)) + FlatSwaggerJSON = json.RawMessage([]byte(`{ + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "swagger": "2.0", + "info": { + "description": "API of the Prometheus Alertmanager (https://github.com/prometheus/alertmanager)", + "title": "Alertmanager API", + "license": { + "name": "Apache 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + }, + "version": "0.0.1" + }, + "paths": { + "/alerts": { + "get": { + "description": "Get a list of alerts", + "tags": [ + "alert" + ], + "operationId": "getAlerts", + "parameters": [ + { + "type": "boolean", + "default": true, + "description": "Show active alerts", + "name": "active", + "in": "query" + }, + { + "type": "boolean", + "default": true, + "description": "Show silenced alerts", + "name": "silenced", + "in": "query" + }, + { + "type": "boolean", + "default": true, + "description": "Show inhibited alerts", + "name": "inhibited", + "in": "query" + }, + { + "type": "boolean", + "default": true, + "description": "Show unprocessed alerts", + "name": "unprocessed", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "description": "A list of matchers to filter alerts by", + "name": "filter", + "in": "query" + }, + { + "type": "string", + "description": "A regex matching receivers to filter alerts by", + "name": "receiver", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Get alerts response", + "schema": { + "$ref": "#/definitions/gettableAlerts" + } + }, + "400": { + "description": "Bad request", + "schema": { + "type": "string" + } + }, + "500": { + "description": "Internal server error", + "schema": { + "type": "string" + } + } + } + }, + "post": { + "description": "Create new Alerts", + "tags": [ + "alert" + ], + "operationId": "postAlerts", + "parameters": [ + { + "description": "The alerts to create", + "name": "alerts", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/postableAlerts" + } + } + ], + "responses": { + "200": { + "description": "Create alerts response" + }, + "400": { + "description": "Bad request", + "schema": { + "type": "string" + } + }, + "500": { + "description": "Internal server error", + "schema": { + "type": "string" + } + } + } + } + }, + "/alerts/groups": { + "get": { + "description": "Get a list of alert groups", + "tags": [ + "alertgroup" + ], + "operationId": "getAlertGroups", + "parameters": [ + { + "type": "boolean", + "default": true, + "description": "Show active alerts", + "name": "active", + "in": "query" + }, + { + "type": "boolean", + "default": true, + "description": "Show silenced alerts", + "name": "silenced", + "in": "query" + }, + { + "type": "boolean", + "default": true, + "description": "Show inhibited alerts", + "name": "inhibited", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "description": "A list of matchers to filter alerts by", + "name": "filter", + "in": "query" + }, + { + "type": "string", + "description": "A regex matching receivers to filter alerts by", + "name": "receiver", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Get alert groups response", + "schema": { + "$ref": "#/definitions/alertGroups" + } + }, + "400": { + "description": "Bad request", + "schema": { + "type": "string" + } + }, + "500": { + "description": "Internal server error", + "schema": { + "type": "string" + } + } + } + } + }, + "/receivers": { + "get": { + "description": "Get list of all receivers (name of notification integrations)", + "tags": [ + "receiver" + ], + "operationId": "getReceivers", + "responses": { + "200": { + "description": "Get receivers response", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/receiver" + } + } + } + } + } + }, + "/silence/{silenceID}": { + "get": { + "description": "Get a silence by its ID", + "tags": [ + "silence" + ], + "operationId": "getSilence", + "responses": { + "200": { + "description": "Get silence response", + "schema": { + "$ref": "#/definitions/gettableSilence" + } + }, + "404": { + "description": "A silence with the specified ID was not found" + }, + "500": { + "description": "Internal server error", + "schema": { + "type": "string" + } + } + } + }, + "delete": { + "description": "Delete a silence by its ID", + "tags": [ + "silence" + ], + "operationId": "deleteSilence", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "ID of the silence to get", + "name": "silenceID", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "Delete silence response" + }, + "500": { + "description": "Internal server error", + "schema": { + "type": "string" + } + } + } + }, + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "ID of the silence to get", + "name": "silenceID", + "in": "path", + "required": true + } + ] + }, + "/silences": { + "get": { + "description": "Get a list of silences", + "tags": [ + "silence" + ], + "operationId": "getSilences", + "parameters": [ + { + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "description": "A list of matchers to filter silences by", + "name": "filter", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Get silences response", + "schema": { + "$ref": "#/definitions/gettableSilences" + } + }, + "500": { + "description": "Internal server error", + "schema": { + "type": "string" + } + } + } + }, + "post": { + "description": "Post a new silence or update an existing one", + "tags": [ + "silence" + ], + "operationId": "postSilences", + "parameters": [ + { + "description": "The silence to create", + "name": "silence", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/postableSilence" + } + } + ], + "responses": { + "200": { + "description": "Create / update silence response", + "schema": { + "type": "object", + "properties": { + "silenceID": { + "type": "string" + } + } + } + }, + "400": { + "description": "Bad request", + "schema": { + "type": "string" + } + }, + "404": { + "description": "A silence with the specified ID was not found", + "schema": { + "type": "string" + } + } + } + } + }, + "/status": { + "get": { + "description": "Get current status of an Alertmanager instance and its cluster", + "tags": [ + "general" + ], + "operationId": "getStatus", + "responses": { + "200": { + "description": "Get status response", + "schema": { + "$ref": "#/definitions/alertmanagerStatus" + } + } + } + } + } + }, + "definitions": { + "alert": { + "type": "object", + "required": [ + "labels" + ], + "properties": { + "generatorURL": { + "type": "string", + "format": "uri" + }, + "labels": { + "$ref": "#/definitions/labelSet" + } + } + }, + "alertGroup": { + "type": "object", + "required": [ + "labels", + "receiver", + "alerts" + ], + "properties": { + "alerts": { + "type": "array", + "items": { + "$ref": "#/definitions/gettableAlert" + } + }, + "labels": { + "$ref": "#/definitions/labelSet" + }, + "receiver": { + "$ref": "#/definitions/receiver" + } + } + }, + "alertGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/alertGroup" + } + }, + "alertStatus": { + "type": "object", + "required": [ + "state", + "silencedBy", + "inhibitedBy" + ], + "properties": { + "inhibitedBy": { + "type": "array", + "items": { + "type": "string" + } + }, + "silencedBy": { + "type": "array", + "items": { + "type": "string" + } + }, + "state": { + "type": "string", + "enum": [ + "unprocessed", + "active", + "suppressed" + ] + } + } + }, + "alertmanagerConfig": { + "type": "object", + "required": [ + "original" + ], + "properties": { + "original": { + "type": "string" + } + } + }, + "alertmanagerStatus": { + "type": "object", + "required": [ + "cluster", + "versionInfo", + "config", + "uptime" + ], + "properties": { + "cluster": { + "$ref": "#/definitions/clusterStatus" + }, + "config": { + "$ref": "#/definitions/alertmanagerConfig" + }, + "uptime": { + "type": "string", + "format": "date-time" + }, + "versionInfo": { + "$ref": "#/definitions/versionInfo" + } + } + }, + "clusterStatus": { + "type": "object", + "required": [ + "status" + ], + "properties": { + "name": { + "type": "string" + }, + "peers": { + "type": "array", + "minimum": 0, + "items": { + "$ref": "#/definitions/peerStatus" + } + }, + "status": { + "type": "string", + "enum": [ + "ready", + "settling", + "disabled" + ] + } + } + }, + "gettableAlert": { + "allOf": [ + { + "type": "object", + "required": [ + "receivers", + "fingerprint", + "startsAt", + "updatedAt", + "endsAt", + "annotations", + "status" + ], + "properties": { + "annotations": { + "$ref": "#/definitions/labelSet" + }, + "endsAt": { + "type": "string", + "format": "date-time" + }, + "fingerprint": { + "type": "string" + }, + "receivers": { + "type": "array", + "items": { + "$ref": "#/definitions/receiver" + } + }, + "startsAt": { + "type": "string", + "format": "date-time" + }, + "status": { + "$ref": "#/definitions/alertStatus" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + } + } + }, + { + "$ref": "#/definitions/alert" + } + ] + }, + "gettableAlerts": { + "type": "array", + "items": { + "$ref": "#/definitions/gettableAlert" + } + }, + "gettableSilence": { + "allOf": [ + { + "type": "object", + "required": [ + "id", + "status", + "updatedAt" + ], + "properties": { + "id": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/silenceStatus" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + } + } + }, + { + "$ref": "#/definitions/silence" + } + ] + }, + "gettableSilences": { + "type": "array", + "items": { + "$ref": "#/definitions/gettableSilence" + } + }, + "labelSet": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "matcher": { + "type": "object", + "required": [ + "name", + "value", + "isRegex" + ], + "properties": { + "isRegex": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "matchers": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/definitions/matcher" + } + }, + "peerStatus": { + "type": "object", + "required": [ + "name", + "address" + ], + "properties": { + "address": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "postableAlert": { + "allOf": [ + { + "type": "object", + "properties": { + "annotations": { + "$ref": "#/definitions/labelSet" + }, + "endsAt": { + "type": "string", + "format": "date-time" + }, + "startsAt": { + "type": "string", + "format": "date-time" + } + } + }, + { + "$ref": "#/definitions/alert" + } + ] + }, + "postableAlerts": { + "type": "array", + "items": { + "$ref": "#/definitions/postableAlert" + } + }, + "postableSilence": { + "allOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + { + "$ref": "#/definitions/silence" + } + ] + }, + "receiver": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + } + } + }, + "silence": { + "type": "object", + "required": [ + "matchers", + "startsAt", + "endsAt", + "createdBy", + "comment" + ], + "properties": { + "comment": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "endsAt": { + "type": "string", + "format": "date-time" + }, + "matchers": { + "$ref": "#/definitions/matchers" + }, + "startsAt": { + "type": "string", + "format": "date-time" + } + } + }, + "silenceStatus": { + "type": "object", + "required": [ + "state" + ], + "properties": { + "state": { + "type": "string", + "enum": [ + "expired", + "active", + "pending" + ] + } + } + }, + "versionInfo": { + "type": "object", + "required": [ + "version", + "revision", + "branch", + "buildUser", + "buildDate", + "goVersion" + ], + "properties": { + "branch": { + "type": "string" + }, + "buildDate": { + "type": "string" + }, + "buildUser": { + "type": "string" + }, + "goVersion": { + "type": "string" + }, + "revision": { + "type": "string" + }, + "version": { + "type": "string" + } + } + } + }, + "responses": { + "BadRequest": { + "description": "Bad request", + "schema": { + "type": "string" + } + }, + "InternalServerError": { + "description": "Internal server error", + "schema": { + "type": "string" + } + } + }, + "tags": [ + { + "description": "General Alertmanager operations", + "name": "general" + }, + { + "description": "Everything related to Alertmanager receivers", + "name": "receiver" + }, + { + "description": "Everything related to Alertmanager silences", + "name": "silence" + }, + { + "description": "Everything related to Alertmanager alerts", + "name": "alert" + } + ] +}`)) +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/get_alerts.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/get_alerts.go new file mode 100644 index 00000000000..0177f79b7ff --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/get_alerts.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 alert + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "net/http" + + middleware "github.com/go-openapi/runtime/middleware" +) + +// GetAlertsHandlerFunc turns a function with the right signature into a get alerts handler +type GetAlertsHandlerFunc func(GetAlertsParams) middleware.Responder + +// Handle executing the request and returning a response +func (fn GetAlertsHandlerFunc) Handle(params GetAlertsParams) middleware.Responder { + return fn(params) +} + +// GetAlertsHandler interface for that can handle valid get alerts params +type GetAlertsHandler interface { + Handle(GetAlertsParams) middleware.Responder +} + +// NewGetAlerts creates a new http.Handler for the get alerts operation +func NewGetAlerts(ctx *middleware.Context, handler GetAlertsHandler) *GetAlerts { + return &GetAlerts{Context: ctx, Handler: handler} +} + +/*GetAlerts swagger:route GET /alerts alert getAlerts + +Get a list of alerts + +*/ +type GetAlerts struct { + Context *middleware.Context + Handler GetAlertsHandler +} + +func (o *GetAlerts) ServeHTTP(rw http.ResponseWriter, r *http.Request) { + route, rCtx, _ := o.Context.RouteInfo(r) + if rCtx != nil { + r = rCtx + } + var Params = NewGetAlertsParams() + + if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params + o.Context.Respond(rw, r, route.Produces, route, err) + return + } + + res := o.Handler.Handle(Params) // actually handle the request + + o.Context.Respond(rw, r, route.Produces, route, res) + +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/get_alerts_parameters.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/get_alerts_parameters.go new file mode 100644 index 00000000000..7ae752e673c --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/get_alerts_parameters.go @@ -0,0 +1,278 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 alert + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + "github.com/go-openapi/runtime/middleware" + "github.com/go-openapi/swag" + + strfmt "github.com/go-openapi/strfmt" +) + +// NewGetAlertsParams creates a new GetAlertsParams object +// with the default values initialized. +func NewGetAlertsParams() GetAlertsParams { + + var ( + // initialize parameters with default values + + activeDefault = bool(true) + + inhibitedDefault = bool(true) + + silencedDefault = bool(true) + unprocessedDefault = bool(true) + ) + + return GetAlertsParams{ + Active: &activeDefault, + + Inhibited: &inhibitedDefault, + + Silenced: &silencedDefault, + + Unprocessed: &unprocessedDefault, + } +} + +// GetAlertsParams contains all the bound params for the get alerts operation +// typically these are obtained from a http.Request +// +// swagger:parameters getAlerts +type GetAlertsParams struct { + + // HTTP Request Object + HTTPRequest *http.Request `json:"-"` + + /*Show active alerts + In: query + Default: true + */ + Active *bool + /*A list of matchers to filter alerts by + In: query + Collection Format: multi + */ + Filter []string + /*Show inhibited alerts + In: query + Default: true + */ + Inhibited *bool + /*A regex matching receivers to filter alerts by + In: query + */ + Receiver *string + /*Show silenced alerts + In: query + Default: true + */ + Silenced *bool + /*Show unprocessed alerts + In: query + Default: true + */ + Unprocessed *bool +} + +// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface +// for simple values it will use straight method calls. +// +// To ensure default values, the struct must have been initialized with NewGetAlertsParams() beforehand. +func (o *GetAlertsParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error { + var res []error + + o.HTTPRequest = r + + qs := runtime.Values(r.URL.Query()) + + qActive, qhkActive, _ := qs.GetOK("active") + if err := o.bindActive(qActive, qhkActive, route.Formats); err != nil { + res = append(res, err) + } + + qFilter, qhkFilter, _ := qs.GetOK("filter") + if err := o.bindFilter(qFilter, qhkFilter, route.Formats); err != nil { + res = append(res, err) + } + + qInhibited, qhkInhibited, _ := qs.GetOK("inhibited") + if err := o.bindInhibited(qInhibited, qhkInhibited, route.Formats); err != nil { + res = append(res, err) + } + + qReceiver, qhkReceiver, _ := qs.GetOK("receiver") + if err := o.bindReceiver(qReceiver, qhkReceiver, route.Formats); err != nil { + res = append(res, err) + } + + qSilenced, qhkSilenced, _ := qs.GetOK("silenced") + if err := o.bindSilenced(qSilenced, qhkSilenced, route.Formats); err != nil { + res = append(res, err) + } + + qUnprocessed, qhkUnprocessed, _ := qs.GetOK("unprocessed") + if err := o.bindUnprocessed(qUnprocessed, qhkUnprocessed, route.Formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// bindActive binds and validates parameter Active from query. +func (o *GetAlertsParams) bindActive(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: false + // AllowEmptyValue: false + if raw == "" { // empty values pass all other validations + // Default values have been previously initialized by NewGetAlertsParams() + return nil + } + + value, err := swag.ConvertBool(raw) + if err != nil { + return errors.InvalidType("active", "query", "bool", raw) + } + o.Active = &value + + return nil +} + +// bindFilter binds and validates array parameter Filter from query. +// +// Arrays are parsed according to CollectionFormat: "multi" (defaults to "csv" when empty). +func (o *GetAlertsParams) bindFilter(rawData []string, hasKey bool, formats strfmt.Registry) error { + + // CollectionFormat: multi + filterIC := rawData + + if len(filterIC) == 0 { + return nil + } + + var filterIR []string + for _, filterIV := range filterIC { + filterI := filterIV + + filterIR = append(filterIR, filterI) + } + + o.Filter = filterIR + + return nil +} + +// bindInhibited binds and validates parameter Inhibited from query. +func (o *GetAlertsParams) bindInhibited(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: false + // AllowEmptyValue: false + if raw == "" { // empty values pass all other validations + // Default values have been previously initialized by NewGetAlertsParams() + return nil + } + + value, err := swag.ConvertBool(raw) + if err != nil { + return errors.InvalidType("inhibited", "query", "bool", raw) + } + o.Inhibited = &value + + return nil +} + +// bindReceiver binds and validates parameter Receiver from query. +func (o *GetAlertsParams) bindReceiver(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: false + // AllowEmptyValue: false + if raw == "" { // empty values pass all other validations + return nil + } + + o.Receiver = &raw + + return nil +} + +// bindSilenced binds and validates parameter Silenced from query. +func (o *GetAlertsParams) bindSilenced(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: false + // AllowEmptyValue: false + if raw == "" { // empty values pass all other validations + // Default values have been previously initialized by NewGetAlertsParams() + return nil + } + + value, err := swag.ConvertBool(raw) + if err != nil { + return errors.InvalidType("silenced", "query", "bool", raw) + } + o.Silenced = &value + + return nil +} + +// bindUnprocessed binds and validates parameter Unprocessed from query. +func (o *GetAlertsParams) bindUnprocessed(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: false + // AllowEmptyValue: false + if raw == "" { // empty values pass all other validations + // Default values have been previously initialized by NewGetAlertsParams() + return nil + } + + value, err := swag.ConvertBool(raw) + if err != nil { + return errors.InvalidType("unprocessed", "query", "bool", raw) + } + o.Unprocessed = &value + + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/get_alerts_responses.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/get_alerts_responses.go new file mode 100644 index 00000000000..a9a4bd8852c --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/get_alerts_responses.go @@ -0,0 +1,161 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 alert + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/runtime" + + models "github.com/prometheus/alertmanager/api/v2/models" +) + +// GetAlertsOKCode is the HTTP code returned for type GetAlertsOK +const GetAlertsOKCode int = 200 + +/*GetAlertsOK Get alerts response + +swagger:response getAlertsOK +*/ +type GetAlertsOK struct { + + /* + In: Body + */ + Payload models.GettableAlerts `json:"body,omitempty"` +} + +// NewGetAlertsOK creates GetAlertsOK with default headers values +func NewGetAlertsOK() *GetAlertsOK { + + return &GetAlertsOK{} +} + +// WithPayload adds the payload to the get alerts o k response +func (o *GetAlertsOK) WithPayload(payload models.GettableAlerts) *GetAlertsOK { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the get alerts o k response +func (o *GetAlertsOK) SetPayload(payload models.GettableAlerts) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *GetAlertsOK) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(200) + payload := o.Payload + if payload == nil { + payload = make(models.GettableAlerts, 0, 50) + } + + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + +} + +// GetAlertsBadRequestCode is the HTTP code returned for type GetAlertsBadRequest +const GetAlertsBadRequestCode int = 400 + +/*GetAlertsBadRequest Bad request + +swagger:response getAlertsBadRequest +*/ +type GetAlertsBadRequest struct { + + /* + In: Body + */ + Payload string `json:"body,omitempty"` +} + +// NewGetAlertsBadRequest creates GetAlertsBadRequest with default headers values +func NewGetAlertsBadRequest() *GetAlertsBadRequest { + + return &GetAlertsBadRequest{} +} + +// WithPayload adds the payload to the get alerts bad request response +func (o *GetAlertsBadRequest) WithPayload(payload string) *GetAlertsBadRequest { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the get alerts bad request response +func (o *GetAlertsBadRequest) SetPayload(payload string) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *GetAlertsBadRequest) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(400) + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + +} + +// GetAlertsInternalServerErrorCode is the HTTP code returned for type GetAlertsInternalServerError +const GetAlertsInternalServerErrorCode int = 500 + +/*GetAlertsInternalServerError Internal server error + +swagger:response getAlertsInternalServerError +*/ +type GetAlertsInternalServerError struct { + + /* + In: Body + */ + Payload string `json:"body,omitempty"` +} + +// NewGetAlertsInternalServerError creates GetAlertsInternalServerError with default headers values +func NewGetAlertsInternalServerError() *GetAlertsInternalServerError { + + return &GetAlertsInternalServerError{} +} + +// WithPayload adds the payload to the get alerts internal server error response +func (o *GetAlertsInternalServerError) WithPayload(payload string) *GetAlertsInternalServerError { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the get alerts internal server error response +func (o *GetAlertsInternalServerError) SetPayload(payload string) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *GetAlertsInternalServerError) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(500) + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/get_alerts_urlbuilder.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/get_alerts_urlbuilder.go new file mode 100644 index 00000000000..43047083906 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/get_alerts_urlbuilder.go @@ -0,0 +1,167 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 alert + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "errors" + "net/url" + golangswaggerpaths "path" + + "github.com/go-openapi/swag" +) + +// GetAlertsURL generates an URL for the get alerts operation +type GetAlertsURL struct { + Active *bool + Filter []string + Inhibited *bool + Receiver *string + Silenced *bool + Unprocessed *bool + + _basePath string + // avoid unkeyed usage + _ struct{} +} + +// WithBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *GetAlertsURL) WithBasePath(bp string) *GetAlertsURL { + o.SetBasePath(bp) + return o +} + +// SetBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *GetAlertsURL) SetBasePath(bp string) { + o._basePath = bp +} + +// Build a url path and query string +func (o *GetAlertsURL) Build() (*url.URL, error) { + var _result url.URL + + var _path = "/alerts" + + _basePath := o._basePath + _result.Path = golangswaggerpaths.Join(_basePath, _path) + + qs := make(url.Values) + + var active string + if o.Active != nil { + active = swag.FormatBool(*o.Active) + } + if active != "" { + qs.Set("active", active) + } + + var filterIR []string + for _, filterI := range o.Filter { + filterIS := filterI + if filterIS != "" { + filterIR = append(filterIR, filterIS) + } + } + + filter := swag.JoinByFormat(filterIR, "multi") + + for _, qsv := range filter { + qs.Add("filter", qsv) + } + + var inhibited string + if o.Inhibited != nil { + inhibited = swag.FormatBool(*o.Inhibited) + } + if inhibited != "" { + qs.Set("inhibited", inhibited) + } + + var receiver string + if o.Receiver != nil { + receiver = *o.Receiver + } + if receiver != "" { + qs.Set("receiver", receiver) + } + + var silenced string + if o.Silenced != nil { + silenced = swag.FormatBool(*o.Silenced) + } + if silenced != "" { + qs.Set("silenced", silenced) + } + + var unprocessed string + if o.Unprocessed != nil { + unprocessed = swag.FormatBool(*o.Unprocessed) + } + if unprocessed != "" { + qs.Set("unprocessed", unprocessed) + } + + _result.RawQuery = qs.Encode() + + return &_result, nil +} + +// Must is a helper function to panic when the url builder returns an error +func (o *GetAlertsURL) Must(u *url.URL, err error) *url.URL { + if err != nil { + panic(err) + } + if u == nil { + panic("url can't be nil") + } + return u +} + +// String returns the string representation of the path with query string +func (o *GetAlertsURL) String() string { + return o.Must(o.Build()).String() +} + +// BuildFull builds a full url with scheme, host, path and query string +func (o *GetAlertsURL) BuildFull(scheme, host string) (*url.URL, error) { + if scheme == "" { + return nil, errors.New("scheme is required for a full url on GetAlertsURL") + } + if host == "" { + return nil, errors.New("host is required for a full url on GetAlertsURL") + } + + base, err := o.Build() + if err != nil { + return nil, err + } + + base.Scheme = scheme + base.Host = host + return base, nil +} + +// StringFull returns the string representation of a complete url +func (o *GetAlertsURL) StringFull(scheme, host string) string { + return o.Must(o.BuildFull(scheme, host)).String() +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/post_alerts.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/post_alerts.go new file mode 100644 index 00000000000..d5b41d6e834 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/post_alerts.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 alert + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "net/http" + + middleware "github.com/go-openapi/runtime/middleware" +) + +// PostAlertsHandlerFunc turns a function with the right signature into a post alerts handler +type PostAlertsHandlerFunc func(PostAlertsParams) middleware.Responder + +// Handle executing the request and returning a response +func (fn PostAlertsHandlerFunc) Handle(params PostAlertsParams) middleware.Responder { + return fn(params) +} + +// PostAlertsHandler interface for that can handle valid post alerts params +type PostAlertsHandler interface { + Handle(PostAlertsParams) middleware.Responder +} + +// NewPostAlerts creates a new http.Handler for the post alerts operation +func NewPostAlerts(ctx *middleware.Context, handler PostAlertsHandler) *PostAlerts { + return &PostAlerts{Context: ctx, Handler: handler} +} + +/*PostAlerts swagger:route POST /alerts alert postAlerts + +Create new Alerts + +*/ +type PostAlerts struct { + Context *middleware.Context + Handler PostAlertsHandler +} + +func (o *PostAlerts) ServeHTTP(rw http.ResponseWriter, r *http.Request) { + route, rCtx, _ := o.Context.RouteInfo(r) + if rCtx != nil { + r = rCtx + } + var Params = NewPostAlertsParams() + + if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params + o.Context.Respond(rw, r, route.Produces, route, err) + return + } + + res := o.Handler.Handle(Params) // actually handle the request + + o.Context.Respond(rw, r, route.Produces, route, res) + +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/post_alerts_parameters.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/post_alerts_parameters.go new file mode 100644 index 00000000000..d35610f0f31 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/post_alerts_parameters.go @@ -0,0 +1,91 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 alert + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "io" + "net/http" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + "github.com/go-openapi/runtime/middleware" + + models "github.com/prometheus/alertmanager/api/v2/models" +) + +// NewPostAlertsParams creates a new PostAlertsParams object +// no default values defined in spec. +func NewPostAlertsParams() PostAlertsParams { + + return PostAlertsParams{} +} + +// PostAlertsParams contains all the bound params for the post alerts operation +// typically these are obtained from a http.Request +// +// swagger:parameters postAlerts +type PostAlertsParams struct { + + // HTTP Request Object + HTTPRequest *http.Request `json:"-"` + + /*The alerts to create + Required: true + In: body + */ + Alerts models.PostableAlerts +} + +// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface +// for simple values it will use straight method calls. +// +// To ensure default values, the struct must have been initialized with NewPostAlertsParams() beforehand. +func (o *PostAlertsParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error { + var res []error + + o.HTTPRequest = r + + if runtime.HasBody(r) { + defer r.Body.Close() + var body models.PostableAlerts + if err := route.Consumer.Consume(r.Body, &body); err != nil { + if err == io.EOF { + res = append(res, errors.Required("alerts", "body")) + } else { + res = append(res, errors.NewParseError("alerts", "body", "", err)) + } + } else { + // validate body object + if err := body.Validate(route.Formats); err != nil { + res = append(res, err) + } + + if len(res) == 0 { + o.Alerts = body + } + } + } else { + res = append(res, errors.Required("alerts", "body")) + } + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/post_alerts_responses.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/post_alerts_responses.go new file mode 100644 index 00000000000..5fc53cd8408 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/post_alerts_responses.go @@ -0,0 +1,136 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 alert + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/runtime" +) + +// PostAlertsOKCode is the HTTP code returned for type PostAlertsOK +const PostAlertsOKCode int = 200 + +/*PostAlertsOK Create alerts response + +swagger:response postAlertsOK +*/ +type PostAlertsOK struct { +} + +// NewPostAlertsOK creates PostAlertsOK with default headers values +func NewPostAlertsOK() *PostAlertsOK { + + return &PostAlertsOK{} +} + +// WriteResponse to the client +func (o *PostAlertsOK) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.Header().Del(runtime.HeaderContentType) //Remove Content-Type on empty responses + + rw.WriteHeader(200) +} + +// PostAlertsBadRequestCode is the HTTP code returned for type PostAlertsBadRequest +const PostAlertsBadRequestCode int = 400 + +/*PostAlertsBadRequest Bad request + +swagger:response postAlertsBadRequest +*/ +type PostAlertsBadRequest struct { + + /* + In: Body + */ + Payload string `json:"body,omitempty"` +} + +// NewPostAlertsBadRequest creates PostAlertsBadRequest with default headers values +func NewPostAlertsBadRequest() *PostAlertsBadRequest { + + return &PostAlertsBadRequest{} +} + +// WithPayload adds the payload to the post alerts bad request response +func (o *PostAlertsBadRequest) WithPayload(payload string) *PostAlertsBadRequest { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the post alerts bad request response +func (o *PostAlertsBadRequest) SetPayload(payload string) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *PostAlertsBadRequest) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(400) + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + +} + +// PostAlertsInternalServerErrorCode is the HTTP code returned for type PostAlertsInternalServerError +const PostAlertsInternalServerErrorCode int = 500 + +/*PostAlertsInternalServerError Internal server error + +swagger:response postAlertsInternalServerError +*/ +type PostAlertsInternalServerError struct { + + /* + In: Body + */ + Payload string `json:"body,omitempty"` +} + +// NewPostAlertsInternalServerError creates PostAlertsInternalServerError with default headers values +func NewPostAlertsInternalServerError() *PostAlertsInternalServerError { + + return &PostAlertsInternalServerError{} +} + +// WithPayload adds the payload to the post alerts internal server error response +func (o *PostAlertsInternalServerError) WithPayload(payload string) *PostAlertsInternalServerError { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the post alerts internal server error response +func (o *PostAlertsInternalServerError) SetPayload(payload string) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *PostAlertsInternalServerError) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(500) + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/post_alerts_urlbuilder.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/post_alerts_urlbuilder.go new file mode 100644 index 00000000000..fdfd24e60ef --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alert/post_alerts_urlbuilder.go @@ -0,0 +1,98 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 alert + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "errors" + "net/url" + golangswaggerpaths "path" +) + +// PostAlertsURL generates an URL for the post alerts operation +type PostAlertsURL struct { + _basePath string +} + +// WithBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *PostAlertsURL) WithBasePath(bp string) *PostAlertsURL { + o.SetBasePath(bp) + return o +} + +// SetBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *PostAlertsURL) SetBasePath(bp string) { + o._basePath = bp +} + +// Build a url path and query string +func (o *PostAlertsURL) Build() (*url.URL, error) { + var _result url.URL + + var _path = "/alerts" + + _basePath := o._basePath + _result.Path = golangswaggerpaths.Join(_basePath, _path) + + return &_result, nil +} + +// Must is a helper function to panic when the url builder returns an error +func (o *PostAlertsURL) Must(u *url.URL, err error) *url.URL { + if err != nil { + panic(err) + } + if u == nil { + panic("url can't be nil") + } + return u +} + +// String returns the string representation of the path with query string +func (o *PostAlertsURL) String() string { + return o.Must(o.Build()).String() +} + +// BuildFull builds a full url with scheme, host, path and query string +func (o *PostAlertsURL) BuildFull(scheme, host string) (*url.URL, error) { + if scheme == "" { + return nil, errors.New("scheme is required for a full url on PostAlertsURL") + } + if host == "" { + return nil, errors.New("host is required for a full url on PostAlertsURL") + } + + base, err := o.Build() + if err != nil { + return nil, err + } + + base.Scheme = scheme + base.Host = host + return base, nil +} + +// StringFull returns the string representation of a complete url +func (o *PostAlertsURL) StringFull(scheme, host string) string { + return o.Must(o.BuildFull(scheme, host)).String() +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup/get_alert_groups.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup/get_alert_groups.go new file mode 100644 index 00000000000..9a07ad6fea1 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup/get_alert_groups.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 alertgroup + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "net/http" + + middleware "github.com/go-openapi/runtime/middleware" +) + +// GetAlertGroupsHandlerFunc turns a function with the right signature into a get alert groups handler +type GetAlertGroupsHandlerFunc func(GetAlertGroupsParams) middleware.Responder + +// Handle executing the request and returning a response +func (fn GetAlertGroupsHandlerFunc) Handle(params GetAlertGroupsParams) middleware.Responder { + return fn(params) +} + +// GetAlertGroupsHandler interface for that can handle valid get alert groups params +type GetAlertGroupsHandler interface { + Handle(GetAlertGroupsParams) middleware.Responder +} + +// NewGetAlertGroups creates a new http.Handler for the get alert groups operation +func NewGetAlertGroups(ctx *middleware.Context, handler GetAlertGroupsHandler) *GetAlertGroups { + return &GetAlertGroups{Context: ctx, Handler: handler} +} + +/*GetAlertGroups swagger:route GET /alerts/groups alertgroup getAlertGroups + +Get a list of alert groups + +*/ +type GetAlertGroups struct { + Context *middleware.Context + Handler GetAlertGroupsHandler +} + +func (o *GetAlertGroups) ServeHTTP(rw http.ResponseWriter, r *http.Request) { + route, rCtx, _ := o.Context.RouteInfo(r) + if rCtx != nil { + r = rCtx + } + var Params = NewGetAlertGroupsParams() + + if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params + o.Context.Respond(rw, r, route.Produces, route, err) + return + } + + res := o.Handler.Handle(Params) // actually handle the request + + o.Context.Respond(rw, r, route.Produces, route, res) + +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup/get_alert_groups_parameters.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup/get_alert_groups_parameters.go new file mode 100644 index 00000000000..4920f0ad293 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup/get_alert_groups_parameters.go @@ -0,0 +1,242 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 alertgroup + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + "github.com/go-openapi/runtime/middleware" + "github.com/go-openapi/swag" + + strfmt "github.com/go-openapi/strfmt" +) + +// NewGetAlertGroupsParams creates a new GetAlertGroupsParams object +// with the default values initialized. +func NewGetAlertGroupsParams() GetAlertGroupsParams { + + var ( + // initialize parameters with default values + + activeDefault = bool(true) + + inhibitedDefault = bool(true) + + silencedDefault = bool(true) + ) + + return GetAlertGroupsParams{ + Active: &activeDefault, + + Inhibited: &inhibitedDefault, + + Silenced: &silencedDefault, + } +} + +// GetAlertGroupsParams contains all the bound params for the get alert groups operation +// typically these are obtained from a http.Request +// +// swagger:parameters getAlertGroups +type GetAlertGroupsParams struct { + + // HTTP Request Object + HTTPRequest *http.Request `json:"-"` + + /*Show active alerts + In: query + Default: true + */ + Active *bool + /*A list of matchers to filter alerts by + In: query + Collection Format: multi + */ + Filter []string + /*Show inhibited alerts + In: query + Default: true + */ + Inhibited *bool + /*A regex matching receivers to filter alerts by + In: query + */ + Receiver *string + /*Show silenced alerts + In: query + Default: true + */ + Silenced *bool +} + +// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface +// for simple values it will use straight method calls. +// +// To ensure default values, the struct must have been initialized with NewGetAlertGroupsParams() beforehand. +func (o *GetAlertGroupsParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error { + var res []error + + o.HTTPRequest = r + + qs := runtime.Values(r.URL.Query()) + + qActive, qhkActive, _ := qs.GetOK("active") + if err := o.bindActive(qActive, qhkActive, route.Formats); err != nil { + res = append(res, err) + } + + qFilter, qhkFilter, _ := qs.GetOK("filter") + if err := o.bindFilter(qFilter, qhkFilter, route.Formats); err != nil { + res = append(res, err) + } + + qInhibited, qhkInhibited, _ := qs.GetOK("inhibited") + if err := o.bindInhibited(qInhibited, qhkInhibited, route.Formats); err != nil { + res = append(res, err) + } + + qReceiver, qhkReceiver, _ := qs.GetOK("receiver") + if err := o.bindReceiver(qReceiver, qhkReceiver, route.Formats); err != nil { + res = append(res, err) + } + + qSilenced, qhkSilenced, _ := qs.GetOK("silenced") + if err := o.bindSilenced(qSilenced, qhkSilenced, route.Formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// bindActive binds and validates parameter Active from query. +func (o *GetAlertGroupsParams) bindActive(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: false + // AllowEmptyValue: false + if raw == "" { // empty values pass all other validations + // Default values have been previously initialized by NewGetAlertGroupsParams() + return nil + } + + value, err := swag.ConvertBool(raw) + if err != nil { + return errors.InvalidType("active", "query", "bool", raw) + } + o.Active = &value + + return nil +} + +// bindFilter binds and validates array parameter Filter from query. +// +// Arrays are parsed according to CollectionFormat: "multi" (defaults to "csv" when empty). +func (o *GetAlertGroupsParams) bindFilter(rawData []string, hasKey bool, formats strfmt.Registry) error { + + // CollectionFormat: multi + filterIC := rawData + + if len(filterIC) == 0 { + return nil + } + + var filterIR []string + for _, filterIV := range filterIC { + filterI := filterIV + + filterIR = append(filterIR, filterI) + } + + o.Filter = filterIR + + return nil +} + +// bindInhibited binds and validates parameter Inhibited from query. +func (o *GetAlertGroupsParams) bindInhibited(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: false + // AllowEmptyValue: false + if raw == "" { // empty values pass all other validations + // Default values have been previously initialized by NewGetAlertGroupsParams() + return nil + } + + value, err := swag.ConvertBool(raw) + if err != nil { + return errors.InvalidType("inhibited", "query", "bool", raw) + } + o.Inhibited = &value + + return nil +} + +// bindReceiver binds and validates parameter Receiver from query. +func (o *GetAlertGroupsParams) bindReceiver(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: false + // AllowEmptyValue: false + if raw == "" { // empty values pass all other validations + return nil + } + + o.Receiver = &raw + + return nil +} + +// bindSilenced binds and validates parameter Silenced from query. +func (o *GetAlertGroupsParams) bindSilenced(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: false + // AllowEmptyValue: false + if raw == "" { // empty values pass all other validations + // Default values have been previously initialized by NewGetAlertGroupsParams() + return nil + } + + value, err := swag.ConvertBool(raw) + if err != nil { + return errors.InvalidType("silenced", "query", "bool", raw) + } + o.Silenced = &value + + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup/get_alert_groups_responses.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup/get_alert_groups_responses.go new file mode 100644 index 00000000000..1218c1295b3 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup/get_alert_groups_responses.go @@ -0,0 +1,161 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 alertgroup + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/runtime" + + models "github.com/prometheus/alertmanager/api/v2/models" +) + +// GetAlertGroupsOKCode is the HTTP code returned for type GetAlertGroupsOK +const GetAlertGroupsOKCode int = 200 + +/*GetAlertGroupsOK Get alert groups response + +swagger:response getAlertGroupsOK +*/ +type GetAlertGroupsOK struct { + + /* + In: Body + */ + Payload models.AlertGroups `json:"body,omitempty"` +} + +// NewGetAlertGroupsOK creates GetAlertGroupsOK with default headers values +func NewGetAlertGroupsOK() *GetAlertGroupsOK { + + return &GetAlertGroupsOK{} +} + +// WithPayload adds the payload to the get alert groups o k response +func (o *GetAlertGroupsOK) WithPayload(payload models.AlertGroups) *GetAlertGroupsOK { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the get alert groups o k response +func (o *GetAlertGroupsOK) SetPayload(payload models.AlertGroups) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *GetAlertGroupsOK) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(200) + payload := o.Payload + if payload == nil { + payload = make(models.AlertGroups, 0, 50) + } + + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + +} + +// GetAlertGroupsBadRequestCode is the HTTP code returned for type GetAlertGroupsBadRequest +const GetAlertGroupsBadRequestCode int = 400 + +/*GetAlertGroupsBadRequest Bad request + +swagger:response getAlertGroupsBadRequest +*/ +type GetAlertGroupsBadRequest struct { + + /* + In: Body + */ + Payload string `json:"body,omitempty"` +} + +// NewGetAlertGroupsBadRequest creates GetAlertGroupsBadRequest with default headers values +func NewGetAlertGroupsBadRequest() *GetAlertGroupsBadRequest { + + return &GetAlertGroupsBadRequest{} +} + +// WithPayload adds the payload to the get alert groups bad request response +func (o *GetAlertGroupsBadRequest) WithPayload(payload string) *GetAlertGroupsBadRequest { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the get alert groups bad request response +func (o *GetAlertGroupsBadRequest) SetPayload(payload string) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *GetAlertGroupsBadRequest) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(400) + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + +} + +// GetAlertGroupsInternalServerErrorCode is the HTTP code returned for type GetAlertGroupsInternalServerError +const GetAlertGroupsInternalServerErrorCode int = 500 + +/*GetAlertGroupsInternalServerError Internal server error + +swagger:response getAlertGroupsInternalServerError +*/ +type GetAlertGroupsInternalServerError struct { + + /* + In: Body + */ + Payload string `json:"body,omitempty"` +} + +// NewGetAlertGroupsInternalServerError creates GetAlertGroupsInternalServerError with default headers values +func NewGetAlertGroupsInternalServerError() *GetAlertGroupsInternalServerError { + + return &GetAlertGroupsInternalServerError{} +} + +// WithPayload adds the payload to the get alert groups internal server error response +func (o *GetAlertGroupsInternalServerError) WithPayload(payload string) *GetAlertGroupsInternalServerError { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the get alert groups internal server error response +func (o *GetAlertGroupsInternalServerError) SetPayload(payload string) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *GetAlertGroupsInternalServerError) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(500) + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup/get_alert_groups_urlbuilder.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup/get_alert_groups_urlbuilder.go new file mode 100644 index 00000000000..919547b3af3 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup/get_alert_groups_urlbuilder.go @@ -0,0 +1,158 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 alertgroup + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "errors" + "net/url" + golangswaggerpaths "path" + + "github.com/go-openapi/swag" +) + +// GetAlertGroupsURL generates an URL for the get alert groups operation +type GetAlertGroupsURL struct { + Active *bool + Filter []string + Inhibited *bool + Receiver *string + Silenced *bool + + _basePath string + // avoid unkeyed usage + _ struct{} +} + +// WithBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *GetAlertGroupsURL) WithBasePath(bp string) *GetAlertGroupsURL { + o.SetBasePath(bp) + return o +} + +// SetBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *GetAlertGroupsURL) SetBasePath(bp string) { + o._basePath = bp +} + +// Build a url path and query string +func (o *GetAlertGroupsURL) Build() (*url.URL, error) { + var _result url.URL + + var _path = "/alerts/groups" + + _basePath := o._basePath + _result.Path = golangswaggerpaths.Join(_basePath, _path) + + qs := make(url.Values) + + var active string + if o.Active != nil { + active = swag.FormatBool(*o.Active) + } + if active != "" { + qs.Set("active", active) + } + + var filterIR []string + for _, filterI := range o.Filter { + filterIS := filterI + if filterIS != "" { + filterIR = append(filterIR, filterIS) + } + } + + filter := swag.JoinByFormat(filterIR, "multi") + + for _, qsv := range filter { + qs.Add("filter", qsv) + } + + var inhibited string + if o.Inhibited != nil { + inhibited = swag.FormatBool(*o.Inhibited) + } + if inhibited != "" { + qs.Set("inhibited", inhibited) + } + + var receiver string + if o.Receiver != nil { + receiver = *o.Receiver + } + if receiver != "" { + qs.Set("receiver", receiver) + } + + var silenced string + if o.Silenced != nil { + silenced = swag.FormatBool(*o.Silenced) + } + if silenced != "" { + qs.Set("silenced", silenced) + } + + _result.RawQuery = qs.Encode() + + return &_result, nil +} + +// Must is a helper function to panic when the url builder returns an error +func (o *GetAlertGroupsURL) Must(u *url.URL, err error) *url.URL { + if err != nil { + panic(err) + } + if u == nil { + panic("url can't be nil") + } + return u +} + +// String returns the string representation of the path with query string +func (o *GetAlertGroupsURL) String() string { + return o.Must(o.Build()).String() +} + +// BuildFull builds a full url with scheme, host, path and query string +func (o *GetAlertGroupsURL) BuildFull(scheme, host string) (*url.URL, error) { + if scheme == "" { + return nil, errors.New("scheme is required for a full url on GetAlertGroupsURL") + } + if host == "" { + return nil, errors.New("host is required for a full url on GetAlertGroupsURL") + } + + base, err := o.Build() + if err != nil { + return nil, err + } + + base.Scheme = scheme + base.Host = host + return base, nil +} + +// StringFull returns the string representation of a complete url +func (o *GetAlertGroupsURL) StringFull(scheme, host string) string { + return o.Must(o.BuildFull(scheme, host)).String() +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alertmanager_api.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alertmanager_api.go new file mode 100644 index 00000000000..8f57c7a6de6 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/alertmanager_api.go @@ -0,0 +1,406 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "net/http" + "strings" + + errors "github.com/go-openapi/errors" + loads "github.com/go-openapi/loads" + runtime "github.com/go-openapi/runtime" + middleware "github.com/go-openapi/runtime/middleware" + security "github.com/go-openapi/runtime/security" + spec "github.com/go-openapi/spec" + strfmt "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + + "github.com/prometheus/alertmanager/api/v2/restapi/operations/alert" + "github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup" + "github.com/prometheus/alertmanager/api/v2/restapi/operations/general" + "github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver" + "github.com/prometheus/alertmanager/api/v2/restapi/operations/silence" +) + +// NewAlertmanagerAPI creates a new Alertmanager instance +func NewAlertmanagerAPI(spec *loads.Document) *AlertmanagerAPI { + return &AlertmanagerAPI{ + handlers: make(map[string]map[string]http.Handler), + formats: strfmt.Default, + defaultConsumes: "application/json", + defaultProduces: "application/json", + customConsumers: make(map[string]runtime.Consumer), + customProducers: make(map[string]runtime.Producer), + ServerShutdown: func() {}, + spec: spec, + ServeError: errors.ServeError, + BasicAuthenticator: security.BasicAuth, + APIKeyAuthenticator: security.APIKeyAuth, + BearerAuthenticator: security.BearerAuth, + JSONConsumer: runtime.JSONConsumer(), + JSONProducer: runtime.JSONProducer(), + SilenceDeleteSilenceHandler: silence.DeleteSilenceHandlerFunc(func(params silence.DeleteSilenceParams) middleware.Responder { + return middleware.NotImplemented("operation SilenceDeleteSilence has not yet been implemented") + }), + AlertgroupGetAlertGroupsHandler: alertgroup.GetAlertGroupsHandlerFunc(func(params alertgroup.GetAlertGroupsParams) middleware.Responder { + return middleware.NotImplemented("operation AlertgroupGetAlertGroups has not yet been implemented") + }), + AlertGetAlertsHandler: alert.GetAlertsHandlerFunc(func(params alert.GetAlertsParams) middleware.Responder { + return middleware.NotImplemented("operation AlertGetAlerts has not yet been implemented") + }), + ReceiverGetReceiversHandler: receiver.GetReceiversHandlerFunc(func(params receiver.GetReceiversParams) middleware.Responder { + return middleware.NotImplemented("operation ReceiverGetReceivers has not yet been implemented") + }), + SilenceGetSilenceHandler: silence.GetSilenceHandlerFunc(func(params silence.GetSilenceParams) middleware.Responder { + return middleware.NotImplemented("operation SilenceGetSilence has not yet been implemented") + }), + SilenceGetSilencesHandler: silence.GetSilencesHandlerFunc(func(params silence.GetSilencesParams) middleware.Responder { + return middleware.NotImplemented("operation SilenceGetSilences has not yet been implemented") + }), + GeneralGetStatusHandler: general.GetStatusHandlerFunc(func(params general.GetStatusParams) middleware.Responder { + return middleware.NotImplemented("operation GeneralGetStatus has not yet been implemented") + }), + AlertPostAlertsHandler: alert.PostAlertsHandlerFunc(func(params alert.PostAlertsParams) middleware.Responder { + return middleware.NotImplemented("operation AlertPostAlerts has not yet been implemented") + }), + SilencePostSilencesHandler: silence.PostSilencesHandlerFunc(func(params silence.PostSilencesParams) middleware.Responder { + return middleware.NotImplemented("operation SilencePostSilences has not yet been implemented") + }), + } +} + +/*AlertmanagerAPI API of the Prometheus Alertmanager (https://github.com/prometheus/alertmanager) */ +type AlertmanagerAPI struct { + spec *loads.Document + context *middleware.Context + handlers map[string]map[string]http.Handler + formats strfmt.Registry + customConsumers map[string]runtime.Consumer + customProducers map[string]runtime.Producer + defaultConsumes string + defaultProduces string + Middleware func(middleware.Builder) http.Handler + + // BasicAuthenticator generates a runtime.Authenticator from the supplied basic auth function. + // It has a default implemention in the security package, however you can replace it for your particular usage. + BasicAuthenticator func(security.UserPassAuthentication) runtime.Authenticator + // APIKeyAuthenticator generates a runtime.Authenticator from the supplied token auth function. + // It has a default implemention in the security package, however you can replace it for your particular usage. + APIKeyAuthenticator func(string, string, security.TokenAuthentication) runtime.Authenticator + // BearerAuthenticator generates a runtime.Authenticator from the supplied bearer token auth function. + // It has a default implemention in the security package, however you can replace it for your particular usage. + BearerAuthenticator func(string, security.ScopedTokenAuthentication) runtime.Authenticator + + // JSONConsumer registers a consumer for a "application/json" mime type + JSONConsumer runtime.Consumer + + // JSONProducer registers a producer for a "application/json" mime type + JSONProducer runtime.Producer + + // SilenceDeleteSilenceHandler sets the operation handler for the delete silence operation + SilenceDeleteSilenceHandler silence.DeleteSilenceHandler + // AlertgroupGetAlertGroupsHandler sets the operation handler for the get alert groups operation + AlertgroupGetAlertGroupsHandler alertgroup.GetAlertGroupsHandler + // AlertGetAlertsHandler sets the operation handler for the get alerts operation + AlertGetAlertsHandler alert.GetAlertsHandler + // ReceiverGetReceiversHandler sets the operation handler for the get receivers operation + ReceiverGetReceiversHandler receiver.GetReceiversHandler + // SilenceGetSilenceHandler sets the operation handler for the get silence operation + SilenceGetSilenceHandler silence.GetSilenceHandler + // SilenceGetSilencesHandler sets the operation handler for the get silences operation + SilenceGetSilencesHandler silence.GetSilencesHandler + // GeneralGetStatusHandler sets the operation handler for the get status operation + GeneralGetStatusHandler general.GetStatusHandler + // AlertPostAlertsHandler sets the operation handler for the post alerts operation + AlertPostAlertsHandler alert.PostAlertsHandler + // SilencePostSilencesHandler sets the operation handler for the post silences operation + SilencePostSilencesHandler silence.PostSilencesHandler + + // ServeError is called when an error is received, there is a default handler + // but you can set your own with this + ServeError func(http.ResponseWriter, *http.Request, error) + + // ServerShutdown is called when the HTTP(S) server is shut down and done + // handling all active connections and does not accept connections any more + ServerShutdown func() + + // Custom command line argument groups with their descriptions + CommandLineOptionsGroups []swag.CommandLineOptionsGroup + + // User defined logger function. + Logger func(string, ...interface{}) +} + +// SetDefaultProduces sets the default produces media type +func (o *AlertmanagerAPI) SetDefaultProduces(mediaType string) { + o.defaultProduces = mediaType +} + +// SetDefaultConsumes returns the default consumes media type +func (o *AlertmanagerAPI) SetDefaultConsumes(mediaType string) { + o.defaultConsumes = mediaType +} + +// SetSpec sets a spec that will be served for the clients. +func (o *AlertmanagerAPI) SetSpec(spec *loads.Document) { + o.spec = spec +} + +// DefaultProduces returns the default produces media type +func (o *AlertmanagerAPI) DefaultProduces() string { + return o.defaultProduces +} + +// DefaultConsumes returns the default consumes media type +func (o *AlertmanagerAPI) DefaultConsumes() string { + return o.defaultConsumes +} + +// Formats returns the registered string formats +func (o *AlertmanagerAPI) Formats() strfmt.Registry { + return o.formats +} + +// RegisterFormat registers a custom format validator +func (o *AlertmanagerAPI) RegisterFormat(name string, format strfmt.Format, validator strfmt.Validator) { + o.formats.Add(name, format, validator) +} + +// Validate validates the registrations in the AlertmanagerAPI +func (o *AlertmanagerAPI) Validate() error { + var unregistered []string + + if o.JSONConsumer == nil { + unregistered = append(unregistered, "JSONConsumer") + } + + if o.JSONProducer == nil { + unregistered = append(unregistered, "JSONProducer") + } + + if o.SilenceDeleteSilenceHandler == nil { + unregistered = append(unregistered, "silence.DeleteSilenceHandler") + } + + if o.AlertgroupGetAlertGroupsHandler == nil { + unregistered = append(unregistered, "alertgroup.GetAlertGroupsHandler") + } + + if o.AlertGetAlertsHandler == nil { + unregistered = append(unregistered, "alert.GetAlertsHandler") + } + + if o.ReceiverGetReceiversHandler == nil { + unregistered = append(unregistered, "receiver.GetReceiversHandler") + } + + if o.SilenceGetSilenceHandler == nil { + unregistered = append(unregistered, "silence.GetSilenceHandler") + } + + if o.SilenceGetSilencesHandler == nil { + unregistered = append(unregistered, "silence.GetSilencesHandler") + } + + if o.GeneralGetStatusHandler == nil { + unregistered = append(unregistered, "general.GetStatusHandler") + } + + if o.AlertPostAlertsHandler == nil { + unregistered = append(unregistered, "alert.PostAlertsHandler") + } + + if o.SilencePostSilencesHandler == nil { + unregistered = append(unregistered, "silence.PostSilencesHandler") + } + + if len(unregistered) > 0 { + return fmt.Errorf("missing registration: %s", strings.Join(unregistered, ", ")) + } + + return nil +} + +// ServeErrorFor gets a error handler for a given operation id +func (o *AlertmanagerAPI) ServeErrorFor(operationID string) func(http.ResponseWriter, *http.Request, error) { + return o.ServeError +} + +// AuthenticatorsFor gets the authenticators for the specified security schemes +func (o *AlertmanagerAPI) AuthenticatorsFor(schemes map[string]spec.SecurityScheme) map[string]runtime.Authenticator { + + return nil + +} + +// Authorizer returns the registered authorizer +func (o *AlertmanagerAPI) Authorizer() runtime.Authorizer { + + return nil + +} + +// ConsumersFor gets the consumers for the specified media types +func (o *AlertmanagerAPI) ConsumersFor(mediaTypes []string) map[string]runtime.Consumer { + + result := make(map[string]runtime.Consumer) + for _, mt := range mediaTypes { + switch mt { + + case "application/json": + result["application/json"] = o.JSONConsumer + + } + + if c, ok := o.customConsumers[mt]; ok { + result[mt] = c + } + } + return result + +} + +// ProducersFor gets the producers for the specified media types +func (o *AlertmanagerAPI) ProducersFor(mediaTypes []string) map[string]runtime.Producer { + + result := make(map[string]runtime.Producer) + for _, mt := range mediaTypes { + switch mt { + + case "application/json": + result["application/json"] = o.JSONProducer + + } + + if p, ok := o.customProducers[mt]; ok { + result[mt] = p + } + } + return result + +} + +// HandlerFor gets a http.Handler for the provided operation method and path +func (o *AlertmanagerAPI) HandlerFor(method, path string) (http.Handler, bool) { + if o.handlers == nil { + return nil, false + } + um := strings.ToUpper(method) + if _, ok := o.handlers[um]; !ok { + return nil, false + } + if path == "/" { + path = "" + } + h, ok := o.handlers[um][path] + return h, ok +} + +// Context returns the middleware context for the alertmanager API +func (o *AlertmanagerAPI) Context() *middleware.Context { + if o.context == nil { + o.context = middleware.NewRoutableContext(o.spec, o, nil) + } + + return o.context +} + +func (o *AlertmanagerAPI) initHandlerCache() { + o.Context() // don't care about the result, just that the initialization happened + + if o.handlers == nil { + o.handlers = make(map[string]map[string]http.Handler) + } + + if o.handlers["DELETE"] == nil { + o.handlers["DELETE"] = make(map[string]http.Handler) + } + o.handlers["DELETE"]["/silence/{silenceID}"] = silence.NewDeleteSilence(o.context, o.SilenceDeleteSilenceHandler) + + if o.handlers["GET"] == nil { + o.handlers["GET"] = make(map[string]http.Handler) + } + o.handlers["GET"]["/alerts/groups"] = alertgroup.NewGetAlertGroups(o.context, o.AlertgroupGetAlertGroupsHandler) + + if o.handlers["GET"] == nil { + o.handlers["GET"] = make(map[string]http.Handler) + } + o.handlers["GET"]["/alerts"] = alert.NewGetAlerts(o.context, o.AlertGetAlertsHandler) + + if o.handlers["GET"] == nil { + o.handlers["GET"] = make(map[string]http.Handler) + } + o.handlers["GET"]["/receivers"] = receiver.NewGetReceivers(o.context, o.ReceiverGetReceiversHandler) + + if o.handlers["GET"] == nil { + o.handlers["GET"] = make(map[string]http.Handler) + } + o.handlers["GET"]["/silence/{silenceID}"] = silence.NewGetSilence(o.context, o.SilenceGetSilenceHandler) + + if o.handlers["GET"] == nil { + o.handlers["GET"] = make(map[string]http.Handler) + } + o.handlers["GET"]["/silences"] = silence.NewGetSilences(o.context, o.SilenceGetSilencesHandler) + + if o.handlers["GET"] == nil { + o.handlers["GET"] = make(map[string]http.Handler) + } + o.handlers["GET"]["/status"] = general.NewGetStatus(o.context, o.GeneralGetStatusHandler) + + if o.handlers["POST"] == nil { + o.handlers["POST"] = make(map[string]http.Handler) + } + o.handlers["POST"]["/alerts"] = alert.NewPostAlerts(o.context, o.AlertPostAlertsHandler) + + if o.handlers["POST"] == nil { + o.handlers["POST"] = make(map[string]http.Handler) + } + o.handlers["POST"]["/silences"] = silence.NewPostSilences(o.context, o.SilencePostSilencesHandler) + +} + +// Serve creates a http handler to serve the API over HTTP +// can be used directly in http.ListenAndServe(":8000", api.Serve(nil)) +func (o *AlertmanagerAPI) Serve(builder middleware.Builder) http.Handler { + o.Init() + + if o.Middleware != nil { + return o.Middleware(builder) + } + return o.context.APIHandler(builder) +} + +// Init allows you to just initialize the handler cache, you can then recompose the middleware as you see fit +func (o *AlertmanagerAPI) Init() { + if len(o.handlers) == 0 { + o.initHandlerCache() + } +} + +// RegisterConsumer allows you to add (or override) a consumer for a media type. +func (o *AlertmanagerAPI) RegisterConsumer(mediaType string, consumer runtime.Consumer) { + o.customConsumers[mediaType] = consumer +} + +// RegisterProducer allows you to add (or override) a producer for a media type. +func (o *AlertmanagerAPI) RegisterProducer(mediaType string, producer runtime.Producer) { + o.customProducers[mediaType] = producer +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/general/get_status.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/general/get_status.go new file mode 100644 index 00000000000..d866825045c --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/general/get_status.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 general + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "net/http" + + middleware "github.com/go-openapi/runtime/middleware" +) + +// GetStatusHandlerFunc turns a function with the right signature into a get status handler +type GetStatusHandlerFunc func(GetStatusParams) middleware.Responder + +// Handle executing the request and returning a response +func (fn GetStatusHandlerFunc) Handle(params GetStatusParams) middleware.Responder { + return fn(params) +} + +// GetStatusHandler interface for that can handle valid get status params +type GetStatusHandler interface { + Handle(GetStatusParams) middleware.Responder +} + +// NewGetStatus creates a new http.Handler for the get status operation +func NewGetStatus(ctx *middleware.Context, handler GetStatusHandler) *GetStatus { + return &GetStatus{Context: ctx, Handler: handler} +} + +/*GetStatus swagger:route GET /status general getStatus + +Get current status of an Alertmanager instance and its cluster + +*/ +type GetStatus struct { + Context *middleware.Context + Handler GetStatusHandler +} + +func (o *GetStatus) ServeHTTP(rw http.ResponseWriter, r *http.Request) { + route, rCtx, _ := o.Context.RouteInfo(r) + if rCtx != nil { + r = rCtx + } + var Params = NewGetStatusParams() + + if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params + o.Context.Respond(rw, r, route.Produces, route, err) + return + } + + res := o.Handler.Handle(Params) // actually handle the request + + o.Context.Respond(rw, r, route.Produces, route, res) + +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/general/get_status_parameters.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/general/get_status_parameters.go new file mode 100644 index 00000000000..3a7d16c7680 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/general/get_status_parameters.go @@ -0,0 +1,59 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 general + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime/middleware" +) + +// NewGetStatusParams creates a new GetStatusParams object +// no default values defined in spec. +func NewGetStatusParams() GetStatusParams { + + return GetStatusParams{} +} + +// GetStatusParams contains all the bound params for the get status operation +// typically these are obtained from a http.Request +// +// swagger:parameters getStatus +type GetStatusParams struct { + + // HTTP Request Object + HTTPRequest *http.Request `json:"-"` +} + +// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface +// for simple values it will use straight method calls. +// +// To ensure default values, the struct must have been initialized with NewGetStatusParams() beforehand. +func (o *GetStatusParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error { + var res []error + + o.HTTPRequest = r + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/general/get_status_responses.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/general/get_status_responses.go new file mode 100644 index 00000000000..27f114580db --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/general/get_status_responses.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 general + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/runtime" + + models "github.com/prometheus/alertmanager/api/v2/models" +) + +// GetStatusOKCode is the HTTP code returned for type GetStatusOK +const GetStatusOKCode int = 200 + +/*GetStatusOK Get status response + +swagger:response getStatusOK +*/ +type GetStatusOK struct { + + /* + In: Body + */ + Payload *models.AlertmanagerStatus `json:"body,omitempty"` +} + +// NewGetStatusOK creates GetStatusOK with default headers values +func NewGetStatusOK() *GetStatusOK { + + return &GetStatusOK{} +} + +// WithPayload adds the payload to the get status o k response +func (o *GetStatusOK) WithPayload(payload *models.AlertmanagerStatus) *GetStatusOK { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the get status o k response +func (o *GetStatusOK) SetPayload(payload *models.AlertmanagerStatus) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *GetStatusOK) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(200) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/general/get_status_urlbuilder.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/general/get_status_urlbuilder.go new file mode 100644 index 00000000000..ec165fb5e71 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/general/get_status_urlbuilder.go @@ -0,0 +1,98 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 general + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "errors" + "net/url" + golangswaggerpaths "path" +) + +// GetStatusURL generates an URL for the get status operation +type GetStatusURL struct { + _basePath string +} + +// WithBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *GetStatusURL) WithBasePath(bp string) *GetStatusURL { + o.SetBasePath(bp) + return o +} + +// SetBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *GetStatusURL) SetBasePath(bp string) { + o._basePath = bp +} + +// Build a url path and query string +func (o *GetStatusURL) Build() (*url.URL, error) { + var _result url.URL + + var _path = "/status" + + _basePath := o._basePath + _result.Path = golangswaggerpaths.Join(_basePath, _path) + + return &_result, nil +} + +// Must is a helper function to panic when the url builder returns an error +func (o *GetStatusURL) Must(u *url.URL, err error) *url.URL { + if err != nil { + panic(err) + } + if u == nil { + panic("url can't be nil") + } + return u +} + +// String returns the string representation of the path with query string +func (o *GetStatusURL) String() string { + return o.Must(o.Build()).String() +} + +// BuildFull builds a full url with scheme, host, path and query string +func (o *GetStatusURL) BuildFull(scheme, host string) (*url.URL, error) { + if scheme == "" { + return nil, errors.New("scheme is required for a full url on GetStatusURL") + } + if host == "" { + return nil, errors.New("host is required for a full url on GetStatusURL") + } + + base, err := o.Build() + if err != nil { + return nil, err + } + + base.Scheme = scheme + base.Host = host + return base, nil +} + +// StringFull returns the string representation of a complete url +func (o *GetStatusURL) StringFull(scheme, host string) string { + return o.Must(o.BuildFull(scheme, host)).String() +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver/get_receivers.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver/get_receivers.go new file mode 100644 index 00000000000..1ae303e3d2f --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver/get_receivers.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 receiver + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "net/http" + + middleware "github.com/go-openapi/runtime/middleware" +) + +// GetReceiversHandlerFunc turns a function with the right signature into a get receivers handler +type GetReceiversHandlerFunc func(GetReceiversParams) middleware.Responder + +// Handle executing the request and returning a response +func (fn GetReceiversHandlerFunc) Handle(params GetReceiversParams) middleware.Responder { + return fn(params) +} + +// GetReceiversHandler interface for that can handle valid get receivers params +type GetReceiversHandler interface { + Handle(GetReceiversParams) middleware.Responder +} + +// NewGetReceivers creates a new http.Handler for the get receivers operation +func NewGetReceivers(ctx *middleware.Context, handler GetReceiversHandler) *GetReceivers { + return &GetReceivers{Context: ctx, Handler: handler} +} + +/*GetReceivers swagger:route GET /receivers receiver getReceivers + +Get list of all receivers (name of notification integrations) + +*/ +type GetReceivers struct { + Context *middleware.Context + Handler GetReceiversHandler +} + +func (o *GetReceivers) ServeHTTP(rw http.ResponseWriter, r *http.Request) { + route, rCtx, _ := o.Context.RouteInfo(r) + if rCtx != nil { + r = rCtx + } + var Params = NewGetReceiversParams() + + if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params + o.Context.Respond(rw, r, route.Produces, route, err) + return + } + + res := o.Handler.Handle(Params) // actually handle the request + + o.Context.Respond(rw, r, route.Produces, route, res) + +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver/get_receivers_parameters.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver/get_receivers_parameters.go new file mode 100644 index 00000000000..ef1ca653ffc --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver/get_receivers_parameters.go @@ -0,0 +1,59 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 receiver + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime/middleware" +) + +// NewGetReceiversParams creates a new GetReceiversParams object +// no default values defined in spec. +func NewGetReceiversParams() GetReceiversParams { + + return GetReceiversParams{} +} + +// GetReceiversParams contains all the bound params for the get receivers operation +// typically these are obtained from a http.Request +// +// swagger:parameters getReceivers +type GetReceiversParams struct { + + // HTTP Request Object + HTTPRequest *http.Request `json:"-"` +} + +// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface +// for simple values it will use straight method calls. +// +// To ensure default values, the struct must have been initialized with NewGetReceiversParams() beforehand. +func (o *GetReceiversParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error { + var res []error + + o.HTTPRequest = r + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver/get_receivers_responses.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver/get_receivers_responses.go new file mode 100644 index 00000000000..dbfccc0bda5 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver/get_receivers_responses.go @@ -0,0 +1,75 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 receiver + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/runtime" + + models "github.com/prometheus/alertmanager/api/v2/models" +) + +// GetReceiversOKCode is the HTTP code returned for type GetReceiversOK +const GetReceiversOKCode int = 200 + +/*GetReceiversOK Get receivers response + +swagger:response getReceiversOK +*/ +type GetReceiversOK struct { + + /* + In: Body + */ + Payload []*models.Receiver `json:"body,omitempty"` +} + +// NewGetReceiversOK creates GetReceiversOK with default headers values +func NewGetReceiversOK() *GetReceiversOK { + + return &GetReceiversOK{} +} + +// WithPayload adds the payload to the get receivers o k response +func (o *GetReceiversOK) WithPayload(payload []*models.Receiver) *GetReceiversOK { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the get receivers o k response +func (o *GetReceiversOK) SetPayload(payload []*models.Receiver) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *GetReceiversOK) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(200) + payload := o.Payload + if payload == nil { + payload = make([]*models.Receiver, 0, 50) + } + + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver/get_receivers_urlbuilder.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver/get_receivers_urlbuilder.go new file mode 100644 index 00000000000..861d98f6093 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver/get_receivers_urlbuilder.go @@ -0,0 +1,98 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 receiver + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "errors" + "net/url" + golangswaggerpaths "path" +) + +// GetReceiversURL generates an URL for the get receivers operation +type GetReceiversURL struct { + _basePath string +} + +// WithBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *GetReceiversURL) WithBasePath(bp string) *GetReceiversURL { + o.SetBasePath(bp) + return o +} + +// SetBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *GetReceiversURL) SetBasePath(bp string) { + o._basePath = bp +} + +// Build a url path and query string +func (o *GetReceiversURL) Build() (*url.URL, error) { + var _result url.URL + + var _path = "/receivers" + + _basePath := o._basePath + _result.Path = golangswaggerpaths.Join(_basePath, _path) + + return &_result, nil +} + +// Must is a helper function to panic when the url builder returns an error +func (o *GetReceiversURL) Must(u *url.URL, err error) *url.URL { + if err != nil { + panic(err) + } + if u == nil { + panic("url can't be nil") + } + return u +} + +// String returns the string representation of the path with query string +func (o *GetReceiversURL) String() string { + return o.Must(o.Build()).String() +} + +// BuildFull builds a full url with scheme, host, path and query string +func (o *GetReceiversURL) BuildFull(scheme, host string) (*url.URL, error) { + if scheme == "" { + return nil, errors.New("scheme is required for a full url on GetReceiversURL") + } + if host == "" { + return nil, errors.New("host is required for a full url on GetReceiversURL") + } + + base, err := o.Build() + if err != nil { + return nil, err + } + + base.Scheme = scheme + base.Host = host + return base, nil +} + +// StringFull returns the string representation of a complete url +func (o *GetReceiversURL) StringFull(scheme, host string) string { + return o.Must(o.BuildFull(scheme, host)).String() +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/delete_silence.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/delete_silence.go new file mode 100644 index 00000000000..410f0904d28 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/delete_silence.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 silence + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "net/http" + + middleware "github.com/go-openapi/runtime/middleware" +) + +// DeleteSilenceHandlerFunc turns a function with the right signature into a delete silence handler +type DeleteSilenceHandlerFunc func(DeleteSilenceParams) middleware.Responder + +// Handle executing the request and returning a response +func (fn DeleteSilenceHandlerFunc) Handle(params DeleteSilenceParams) middleware.Responder { + return fn(params) +} + +// DeleteSilenceHandler interface for that can handle valid delete silence params +type DeleteSilenceHandler interface { + Handle(DeleteSilenceParams) middleware.Responder +} + +// NewDeleteSilence creates a new http.Handler for the delete silence operation +func NewDeleteSilence(ctx *middleware.Context, handler DeleteSilenceHandler) *DeleteSilence { + return &DeleteSilence{Context: ctx, Handler: handler} +} + +/*DeleteSilence swagger:route DELETE /silence/{silenceID} silence deleteSilence + +Delete a silence by its ID + +*/ +type DeleteSilence struct { + Context *middleware.Context + Handler DeleteSilenceHandler +} + +func (o *DeleteSilence) ServeHTTP(rw http.ResponseWriter, r *http.Request) { + route, rCtx, _ := o.Context.RouteInfo(r) + if rCtx != nil { + r = rCtx + } + var Params = NewDeleteSilenceParams() + + if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params + o.Context.Respond(rw, r, route.Produces, route, err) + return + } + + res := o.Handler.Handle(Params) // actually handle the request + + o.Context.Respond(rw, r, route.Produces, route, res) + +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/delete_silence_parameters.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/delete_silence_parameters.go new file mode 100644 index 00000000000..dc2761f4919 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/delete_silence_parameters.go @@ -0,0 +1,106 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 silence + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime/middleware" + "github.com/go-openapi/validate" + + strfmt "github.com/go-openapi/strfmt" +) + +// NewDeleteSilenceParams creates a new DeleteSilenceParams object +// no default values defined in spec. +func NewDeleteSilenceParams() DeleteSilenceParams { + + return DeleteSilenceParams{} +} + +// DeleteSilenceParams contains all the bound params for the delete silence operation +// typically these are obtained from a http.Request +// +// swagger:parameters deleteSilence +type DeleteSilenceParams struct { + + // HTTP Request Object + HTTPRequest *http.Request `json:"-"` + + /*ID of the silence to get + Required: true + In: path + */ + SilenceID strfmt.UUID +} + +// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface +// for simple values it will use straight method calls. +// +// To ensure default values, the struct must have been initialized with NewDeleteSilenceParams() beforehand. +func (o *DeleteSilenceParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error { + var res []error + + o.HTTPRequest = r + + rSilenceID, rhkSilenceID, _ := route.Params.GetOK("silenceID") + if err := o.bindSilenceID(rSilenceID, rhkSilenceID, route.Formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// bindSilenceID binds and validates parameter SilenceID from path. +func (o *DeleteSilenceParams) bindSilenceID(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: true + // Parameter is provided by construction from the route + + // Format: uuid + value, err := formats.Parse("uuid", raw) + if err != nil { + return errors.InvalidType("silenceID", "path", "strfmt.UUID", raw) + } + o.SilenceID = *(value.(*strfmt.UUID)) + + if err := o.validateSilenceID(formats); err != nil { + return err + } + + return nil +} + +// validateSilenceID carries on validations for parameter SilenceID +func (o *DeleteSilenceParams) validateSilenceID(formats strfmt.Registry) error { + + if err := validate.FormatOf("silenceID", "path", "uuid", o.SilenceID.String(), formats); err != nil { + return err + } + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/delete_silence_responses.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/delete_silence_responses.go new file mode 100644 index 00000000000..9c1e9355534 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/delete_silence_responses.go @@ -0,0 +1,93 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 silence + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/runtime" +) + +// DeleteSilenceOKCode is the HTTP code returned for type DeleteSilenceOK +const DeleteSilenceOKCode int = 200 + +/*DeleteSilenceOK Delete silence response + +swagger:response deleteSilenceOK +*/ +type DeleteSilenceOK struct { +} + +// NewDeleteSilenceOK creates DeleteSilenceOK with default headers values +func NewDeleteSilenceOK() *DeleteSilenceOK { + + return &DeleteSilenceOK{} +} + +// WriteResponse to the client +func (o *DeleteSilenceOK) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.Header().Del(runtime.HeaderContentType) //Remove Content-Type on empty responses + + rw.WriteHeader(200) +} + +// DeleteSilenceInternalServerErrorCode is the HTTP code returned for type DeleteSilenceInternalServerError +const DeleteSilenceInternalServerErrorCode int = 500 + +/*DeleteSilenceInternalServerError Internal server error + +swagger:response deleteSilenceInternalServerError +*/ +type DeleteSilenceInternalServerError struct { + + /* + In: Body + */ + Payload string `json:"body,omitempty"` +} + +// NewDeleteSilenceInternalServerError creates DeleteSilenceInternalServerError with default headers values +func NewDeleteSilenceInternalServerError() *DeleteSilenceInternalServerError { + + return &DeleteSilenceInternalServerError{} +} + +// WithPayload adds the payload to the delete silence internal server error response +func (o *DeleteSilenceInternalServerError) WithPayload(payload string) *DeleteSilenceInternalServerError { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the delete silence internal server error response +func (o *DeleteSilenceInternalServerError) SetPayload(payload string) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *DeleteSilenceInternalServerError) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(500) + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/delete_silence_urlbuilder.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/delete_silence_urlbuilder.go new file mode 100644 index 00000000000..e98d616a681 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/delete_silence_urlbuilder.go @@ -0,0 +1,112 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 silence + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "errors" + "net/url" + golangswaggerpaths "path" + "strings" + + "github.com/go-openapi/strfmt" +) + +// DeleteSilenceURL generates an URL for the delete silence operation +type DeleteSilenceURL struct { + SilenceID strfmt.UUID + + _basePath string + // avoid unkeyed usage + _ struct{} +} + +// WithBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *DeleteSilenceURL) WithBasePath(bp string) *DeleteSilenceURL { + o.SetBasePath(bp) + return o +} + +// SetBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *DeleteSilenceURL) SetBasePath(bp string) { + o._basePath = bp +} + +// Build a url path and query string +func (o *DeleteSilenceURL) Build() (*url.URL, error) { + var _result url.URL + + var _path = "/silence/{silenceID}" + + silenceID := o.SilenceID.String() + if silenceID != "" { + _path = strings.Replace(_path, "{silenceID}", silenceID, -1) + } else { + return nil, errors.New("SilenceID is required on DeleteSilenceURL") + } + + _basePath := o._basePath + _result.Path = golangswaggerpaths.Join(_basePath, _path) + + return &_result, nil +} + +// Must is a helper function to panic when the url builder returns an error +func (o *DeleteSilenceURL) Must(u *url.URL, err error) *url.URL { + if err != nil { + panic(err) + } + if u == nil { + panic("url can't be nil") + } + return u +} + +// String returns the string representation of the path with query string +func (o *DeleteSilenceURL) String() string { + return o.Must(o.Build()).String() +} + +// BuildFull builds a full url with scheme, host, path and query string +func (o *DeleteSilenceURL) BuildFull(scheme, host string) (*url.URL, error) { + if scheme == "" { + return nil, errors.New("scheme is required for a full url on DeleteSilenceURL") + } + if host == "" { + return nil, errors.New("host is required for a full url on DeleteSilenceURL") + } + + base, err := o.Build() + if err != nil { + return nil, err + } + + base.Scheme = scheme + base.Host = host + return base, nil +} + +// StringFull returns the string representation of a complete url +func (o *DeleteSilenceURL) StringFull(scheme, host string) string { + return o.Must(o.BuildFull(scheme, host)).String() +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silence.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silence.go new file mode 100644 index 00000000000..4cc3cdd137c --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silence.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 silence + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "net/http" + + middleware "github.com/go-openapi/runtime/middleware" +) + +// GetSilenceHandlerFunc turns a function with the right signature into a get silence handler +type GetSilenceHandlerFunc func(GetSilenceParams) middleware.Responder + +// Handle executing the request and returning a response +func (fn GetSilenceHandlerFunc) Handle(params GetSilenceParams) middleware.Responder { + return fn(params) +} + +// GetSilenceHandler interface for that can handle valid get silence params +type GetSilenceHandler interface { + Handle(GetSilenceParams) middleware.Responder +} + +// NewGetSilence creates a new http.Handler for the get silence operation +func NewGetSilence(ctx *middleware.Context, handler GetSilenceHandler) *GetSilence { + return &GetSilence{Context: ctx, Handler: handler} +} + +/*GetSilence swagger:route GET /silence/{silenceID} silence getSilence + +Get a silence by its ID + +*/ +type GetSilence struct { + Context *middleware.Context + Handler GetSilenceHandler +} + +func (o *GetSilence) ServeHTTP(rw http.ResponseWriter, r *http.Request) { + route, rCtx, _ := o.Context.RouteInfo(r) + if rCtx != nil { + r = rCtx + } + var Params = NewGetSilenceParams() + + if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params + o.Context.Respond(rw, r, route.Produces, route, err) + return + } + + res := o.Handler.Handle(Params) // actually handle the request + + o.Context.Respond(rw, r, route.Produces, route, res) + +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silence_parameters.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silence_parameters.go new file mode 100644 index 00000000000..72b7f86d46e --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silence_parameters.go @@ -0,0 +1,106 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 silence + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime/middleware" + "github.com/go-openapi/validate" + + strfmt "github.com/go-openapi/strfmt" +) + +// NewGetSilenceParams creates a new GetSilenceParams object +// no default values defined in spec. +func NewGetSilenceParams() GetSilenceParams { + + return GetSilenceParams{} +} + +// GetSilenceParams contains all the bound params for the get silence operation +// typically these are obtained from a http.Request +// +// swagger:parameters getSilence +type GetSilenceParams struct { + + // HTTP Request Object + HTTPRequest *http.Request `json:"-"` + + /*ID of the silence to get + Required: true + In: path + */ + SilenceID strfmt.UUID +} + +// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface +// for simple values it will use straight method calls. +// +// To ensure default values, the struct must have been initialized with NewGetSilenceParams() beforehand. +func (o *GetSilenceParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error { + var res []error + + o.HTTPRequest = r + + rSilenceID, rhkSilenceID, _ := route.Params.GetOK("silenceID") + if err := o.bindSilenceID(rSilenceID, rhkSilenceID, route.Formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// bindSilenceID binds and validates parameter SilenceID from path. +func (o *GetSilenceParams) bindSilenceID(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: true + // Parameter is provided by construction from the route + + // Format: uuid + value, err := formats.Parse("uuid", raw) + if err != nil { + return errors.InvalidType("silenceID", "path", "strfmt.UUID", raw) + } + o.SilenceID = *(value.(*strfmt.UUID)) + + if err := o.validateSilenceID(formats); err != nil { + return err + } + + return nil +} + +// validateSilenceID carries on validations for parameter SilenceID +func (o *GetSilenceParams) validateSilenceID(formats strfmt.Registry) error { + + if err := validate.FormatOf("silenceID", "path", "uuid", o.SilenceID.String(), formats); err != nil { + return err + } + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silence_responses.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silence_responses.go new file mode 100644 index 00000000000..c05a317d7cc --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silence_responses.go @@ -0,0 +1,139 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 silence + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/runtime" + + models "github.com/prometheus/alertmanager/api/v2/models" +) + +// GetSilenceOKCode is the HTTP code returned for type GetSilenceOK +const GetSilenceOKCode int = 200 + +/*GetSilenceOK Get silence response + +swagger:response getSilenceOK +*/ +type GetSilenceOK struct { + + /* + In: Body + */ + Payload *models.GettableSilence `json:"body,omitempty"` +} + +// NewGetSilenceOK creates GetSilenceOK with default headers values +func NewGetSilenceOK() *GetSilenceOK { + + return &GetSilenceOK{} +} + +// WithPayload adds the payload to the get silence o k response +func (o *GetSilenceOK) WithPayload(payload *models.GettableSilence) *GetSilenceOK { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the get silence o k response +func (o *GetSilenceOK) SetPayload(payload *models.GettableSilence) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *GetSilenceOK) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(200) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} + +// GetSilenceNotFoundCode is the HTTP code returned for type GetSilenceNotFound +const GetSilenceNotFoundCode int = 404 + +/*GetSilenceNotFound A silence with the specified ID was not found + +swagger:response getSilenceNotFound +*/ +type GetSilenceNotFound struct { +} + +// NewGetSilenceNotFound creates GetSilenceNotFound with default headers values +func NewGetSilenceNotFound() *GetSilenceNotFound { + + return &GetSilenceNotFound{} +} + +// WriteResponse to the client +func (o *GetSilenceNotFound) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.Header().Del(runtime.HeaderContentType) //Remove Content-Type on empty responses + + rw.WriteHeader(404) +} + +// GetSilenceInternalServerErrorCode is the HTTP code returned for type GetSilenceInternalServerError +const GetSilenceInternalServerErrorCode int = 500 + +/*GetSilenceInternalServerError Internal server error + +swagger:response getSilenceInternalServerError +*/ +type GetSilenceInternalServerError struct { + + /* + In: Body + */ + Payload string `json:"body,omitempty"` +} + +// NewGetSilenceInternalServerError creates GetSilenceInternalServerError with default headers values +func NewGetSilenceInternalServerError() *GetSilenceInternalServerError { + + return &GetSilenceInternalServerError{} +} + +// WithPayload adds the payload to the get silence internal server error response +func (o *GetSilenceInternalServerError) WithPayload(payload string) *GetSilenceInternalServerError { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the get silence internal server error response +func (o *GetSilenceInternalServerError) SetPayload(payload string) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *GetSilenceInternalServerError) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(500) + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silence_urlbuilder.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silence_urlbuilder.go new file mode 100644 index 00000000000..0d2efa769b0 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silence_urlbuilder.go @@ -0,0 +1,112 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 silence + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "errors" + "net/url" + golangswaggerpaths "path" + "strings" + + "github.com/go-openapi/strfmt" +) + +// GetSilenceURL generates an URL for the get silence operation +type GetSilenceURL struct { + SilenceID strfmt.UUID + + _basePath string + // avoid unkeyed usage + _ struct{} +} + +// WithBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *GetSilenceURL) WithBasePath(bp string) *GetSilenceURL { + o.SetBasePath(bp) + return o +} + +// SetBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *GetSilenceURL) SetBasePath(bp string) { + o._basePath = bp +} + +// Build a url path and query string +func (o *GetSilenceURL) Build() (*url.URL, error) { + var _result url.URL + + var _path = "/silence/{silenceID}" + + silenceID := o.SilenceID.String() + if silenceID != "" { + _path = strings.Replace(_path, "{silenceID}", silenceID, -1) + } else { + return nil, errors.New("SilenceID is required on GetSilenceURL") + } + + _basePath := o._basePath + _result.Path = golangswaggerpaths.Join(_basePath, _path) + + return &_result, nil +} + +// Must is a helper function to panic when the url builder returns an error +func (o *GetSilenceURL) Must(u *url.URL, err error) *url.URL { + if err != nil { + panic(err) + } + if u == nil { + panic("url can't be nil") + } + return u +} + +// String returns the string representation of the path with query string +func (o *GetSilenceURL) String() string { + return o.Must(o.Build()).String() +} + +// BuildFull builds a full url with scheme, host, path and query string +func (o *GetSilenceURL) BuildFull(scheme, host string) (*url.URL, error) { + if scheme == "" { + return nil, errors.New("scheme is required for a full url on GetSilenceURL") + } + if host == "" { + return nil, errors.New("host is required for a full url on GetSilenceURL") + } + + base, err := o.Build() + if err != nil { + return nil, err + } + + base.Scheme = scheme + base.Host = host + return base, nil +} + +// StringFull returns the string representation of a complete url +func (o *GetSilenceURL) StringFull(scheme, host string) string { + return o.Must(o.BuildFull(scheme, host)).String() +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silences.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silences.go new file mode 100644 index 00000000000..ab7ddba2d00 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silences.go @@ -0,0 +1,72 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 silence + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "net/http" + + middleware "github.com/go-openapi/runtime/middleware" +) + +// GetSilencesHandlerFunc turns a function with the right signature into a get silences handler +type GetSilencesHandlerFunc func(GetSilencesParams) middleware.Responder + +// Handle executing the request and returning a response +func (fn GetSilencesHandlerFunc) Handle(params GetSilencesParams) middleware.Responder { + return fn(params) +} + +// GetSilencesHandler interface for that can handle valid get silences params +type GetSilencesHandler interface { + Handle(GetSilencesParams) middleware.Responder +} + +// NewGetSilences creates a new http.Handler for the get silences operation +func NewGetSilences(ctx *middleware.Context, handler GetSilencesHandler) *GetSilences { + return &GetSilences{Context: ctx, Handler: handler} +} + +/*GetSilences swagger:route GET /silences silence getSilences + +Get a list of silences + +*/ +type GetSilences struct { + Context *middleware.Context + Handler GetSilencesHandler +} + +func (o *GetSilences) ServeHTTP(rw http.ResponseWriter, r *http.Request) { + route, rCtx, _ := o.Context.RouteInfo(r) + if rCtx != nil { + r = rCtx + } + var Params = NewGetSilencesParams() + + if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params + o.Context.Respond(rw, r, route.Produces, route, err) + return + } + + res := o.Handler.Handle(Params) // actually handle the request + + o.Context.Respond(rw, r, route.Produces, route, res) + +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silences_parameters.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silences_parameters.go new file mode 100644 index 00000000000..66c5af37c2c --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silences_parameters.go @@ -0,0 +1,99 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 silence + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + "github.com/go-openapi/runtime/middleware" + + strfmt "github.com/go-openapi/strfmt" +) + +// NewGetSilencesParams creates a new GetSilencesParams object +// no default values defined in spec. +func NewGetSilencesParams() GetSilencesParams { + + return GetSilencesParams{} +} + +// GetSilencesParams contains all the bound params for the get silences operation +// typically these are obtained from a http.Request +// +// swagger:parameters getSilences +type GetSilencesParams struct { + + // HTTP Request Object + HTTPRequest *http.Request `json:"-"` + + /*A list of matchers to filter silences by + In: query + Collection Format: multi + */ + Filter []string +} + +// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface +// for simple values it will use straight method calls. +// +// To ensure default values, the struct must have been initialized with NewGetSilencesParams() beforehand. +func (o *GetSilencesParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error { + var res []error + + o.HTTPRequest = r + + qs := runtime.Values(r.URL.Query()) + + qFilter, qhkFilter, _ := qs.GetOK("filter") + if err := o.bindFilter(qFilter, qhkFilter, route.Formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// bindFilter binds and validates array parameter Filter from query. +// +// Arrays are parsed according to CollectionFormat: "multi" (defaults to "csv" when empty). +func (o *GetSilencesParams) bindFilter(rawData []string, hasKey bool, formats strfmt.Registry) error { + + // CollectionFormat: multi + filterIC := rawData + + if len(filterIC) == 0 { + return nil + } + + var filterIR []string + for _, filterIV := range filterIC { + filterI := filterIV + + filterIR = append(filterIR, filterI) + } + + o.Filter = filterIR + + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silences_responses.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silences_responses.go new file mode 100644 index 00000000000..f4238a00313 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silences_responses.go @@ -0,0 +1,118 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 silence + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/runtime" + + models "github.com/prometheus/alertmanager/api/v2/models" +) + +// GetSilencesOKCode is the HTTP code returned for type GetSilencesOK +const GetSilencesOKCode int = 200 + +/*GetSilencesOK Get silences response + +swagger:response getSilencesOK +*/ +type GetSilencesOK struct { + + /* + In: Body + */ + Payload models.GettableSilences `json:"body,omitempty"` +} + +// NewGetSilencesOK creates GetSilencesOK with default headers values +func NewGetSilencesOK() *GetSilencesOK { + + return &GetSilencesOK{} +} + +// WithPayload adds the payload to the get silences o k response +func (o *GetSilencesOK) WithPayload(payload models.GettableSilences) *GetSilencesOK { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the get silences o k response +func (o *GetSilencesOK) SetPayload(payload models.GettableSilences) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *GetSilencesOK) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(200) + payload := o.Payload + if payload == nil { + payload = make(models.GettableSilences, 0, 50) + } + + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + +} + +// GetSilencesInternalServerErrorCode is the HTTP code returned for type GetSilencesInternalServerError +const GetSilencesInternalServerErrorCode int = 500 + +/*GetSilencesInternalServerError Internal server error + +swagger:response getSilencesInternalServerError +*/ +type GetSilencesInternalServerError struct { + + /* + In: Body + */ + Payload string `json:"body,omitempty"` +} + +// NewGetSilencesInternalServerError creates GetSilencesInternalServerError with default headers values +func NewGetSilencesInternalServerError() *GetSilencesInternalServerError { + + return &GetSilencesInternalServerError{} +} + +// WithPayload adds the payload to the get silences internal server error response +func (o *GetSilencesInternalServerError) WithPayload(payload string) *GetSilencesInternalServerError { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the get silences internal server error response +func (o *GetSilencesInternalServerError) SetPayload(payload string) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *GetSilencesInternalServerError) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(500) + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silences_urlbuilder.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silences_urlbuilder.go new file mode 100644 index 00000000000..7ab757fd03c --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/get_silences_urlbuilder.go @@ -0,0 +1,122 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 silence + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "errors" + "net/url" + golangswaggerpaths "path" + + "github.com/go-openapi/swag" +) + +// GetSilencesURL generates an URL for the get silences operation +type GetSilencesURL struct { + Filter []string + + _basePath string + // avoid unkeyed usage + _ struct{} +} + +// WithBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *GetSilencesURL) WithBasePath(bp string) *GetSilencesURL { + o.SetBasePath(bp) + return o +} + +// SetBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *GetSilencesURL) SetBasePath(bp string) { + o._basePath = bp +} + +// Build a url path and query string +func (o *GetSilencesURL) Build() (*url.URL, error) { + var _result url.URL + + var _path = "/silences" + + _basePath := o._basePath + _result.Path = golangswaggerpaths.Join(_basePath, _path) + + qs := make(url.Values) + + var filterIR []string + for _, filterI := range o.Filter { + filterIS := filterI + if filterIS != "" { + filterIR = append(filterIR, filterIS) + } + } + + filter := swag.JoinByFormat(filterIR, "multi") + + for _, qsv := range filter { + qs.Add("filter", qsv) + } + + _result.RawQuery = qs.Encode() + + return &_result, nil +} + +// Must is a helper function to panic when the url builder returns an error +func (o *GetSilencesURL) Must(u *url.URL, err error) *url.URL { + if err != nil { + panic(err) + } + if u == nil { + panic("url can't be nil") + } + return u +} + +// String returns the string representation of the path with query string +func (o *GetSilencesURL) String() string { + return o.Must(o.Build()).String() +} + +// BuildFull builds a full url with scheme, host, path and query string +func (o *GetSilencesURL) BuildFull(scheme, host string) (*url.URL, error) { + if scheme == "" { + return nil, errors.New("scheme is required for a full url on GetSilencesURL") + } + if host == "" { + return nil, errors.New("host is required for a full url on GetSilencesURL") + } + + base, err := o.Build() + if err != nil { + return nil, err + } + + base.Scheme = scheme + base.Host = host + return base, nil +} + +// StringFull returns the string representation of a complete url +func (o *GetSilencesURL) StringFull(scheme, host string) string { + return o.Must(o.BuildFull(scheme, host)).String() +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/post_silences.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/post_silences.go new file mode 100644 index 00000000000..82246621e6d --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/post_silences.go @@ -0,0 +1,105 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 silence + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "net/http" + + middleware "github.com/go-openapi/runtime/middleware" + strfmt "github.com/go-openapi/strfmt" + swag "github.com/go-openapi/swag" +) + +// PostSilencesHandlerFunc turns a function with the right signature into a post silences handler +type PostSilencesHandlerFunc func(PostSilencesParams) middleware.Responder + +// Handle executing the request and returning a response +func (fn PostSilencesHandlerFunc) Handle(params PostSilencesParams) middleware.Responder { + return fn(params) +} + +// PostSilencesHandler interface for that can handle valid post silences params +type PostSilencesHandler interface { + Handle(PostSilencesParams) middleware.Responder +} + +// NewPostSilences creates a new http.Handler for the post silences operation +func NewPostSilences(ctx *middleware.Context, handler PostSilencesHandler) *PostSilences { + return &PostSilences{Context: ctx, Handler: handler} +} + +/*PostSilences swagger:route POST /silences silence postSilences + +Post a new silence or update an existing one + +*/ +type PostSilences struct { + Context *middleware.Context + Handler PostSilencesHandler +} + +func (o *PostSilences) ServeHTTP(rw http.ResponseWriter, r *http.Request) { + route, rCtx, _ := o.Context.RouteInfo(r) + if rCtx != nil { + r = rCtx + } + var Params = NewPostSilencesParams() + + if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params + o.Context.Respond(rw, r, route.Produces, route, err) + return + } + + res := o.Handler.Handle(Params) // actually handle the request + + o.Context.Respond(rw, r, route.Produces, route, res) + +} + +// PostSilencesOKBody post silences o k body +// swagger:model PostSilencesOKBody +type PostSilencesOKBody struct { + + // silence ID + SilenceID string `json:"silenceID,omitempty"` +} + +// Validate validates this post silences o k body +func (o *PostSilencesOKBody) Validate(formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (o *PostSilencesOKBody) MarshalBinary() ([]byte, error) { + if o == nil { + return nil, nil + } + return swag.WriteJSON(o) +} + +// UnmarshalBinary interface implementation +func (o *PostSilencesOKBody) UnmarshalBinary(b []byte) error { + var res PostSilencesOKBody + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *o = res + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/post_silences_parameters.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/post_silences_parameters.go new file mode 100644 index 00000000000..0fdebcfa2fc --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/post_silences_parameters.go @@ -0,0 +1,91 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 silence + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "io" + "net/http" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + "github.com/go-openapi/runtime/middleware" + + models "github.com/prometheus/alertmanager/api/v2/models" +) + +// NewPostSilencesParams creates a new PostSilencesParams object +// no default values defined in spec. +func NewPostSilencesParams() PostSilencesParams { + + return PostSilencesParams{} +} + +// PostSilencesParams contains all the bound params for the post silences operation +// typically these are obtained from a http.Request +// +// swagger:parameters postSilences +type PostSilencesParams struct { + + // HTTP Request Object + HTTPRequest *http.Request `json:"-"` + + /*The silence to create + Required: true + In: body + */ + Silence *models.PostableSilence +} + +// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface +// for simple values it will use straight method calls. +// +// To ensure default values, the struct must have been initialized with NewPostSilencesParams() beforehand. +func (o *PostSilencesParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error { + var res []error + + o.HTTPRequest = r + + if runtime.HasBody(r) { + defer r.Body.Close() + var body models.PostableSilence + if err := route.Consumer.Consume(r.Body, &body); err != nil { + if err == io.EOF { + res = append(res, errors.Required("silence", "body")) + } else { + res = append(res, errors.NewParseError("silence", "body", "", err)) + } + } else { + // validate body object + if err := body.Validate(route.Formats); err != nil { + res = append(res, err) + } + + if len(res) == 0 { + o.Silence = &body + } + } + } else { + res = append(res, errors.Required("silence", "body")) + } + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/post_silences_responses.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/post_silences_responses.go new file mode 100644 index 00000000000..354a3663e24 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/post_silences_responses.go @@ -0,0 +1,156 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 silence + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/runtime" +) + +// PostSilencesOKCode is the HTTP code returned for type PostSilencesOK +const PostSilencesOKCode int = 200 + +/*PostSilencesOK Create / update silence response + +swagger:response postSilencesOK +*/ +type PostSilencesOK struct { + + /* + In: Body + */ + Payload *PostSilencesOKBody `json:"body,omitempty"` +} + +// NewPostSilencesOK creates PostSilencesOK with default headers values +func NewPostSilencesOK() *PostSilencesOK { + + return &PostSilencesOK{} +} + +// WithPayload adds the payload to the post silences o k response +func (o *PostSilencesOK) WithPayload(payload *PostSilencesOKBody) *PostSilencesOK { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the post silences o k response +func (o *PostSilencesOK) SetPayload(payload *PostSilencesOKBody) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *PostSilencesOK) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(200) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} + +// PostSilencesBadRequestCode is the HTTP code returned for type PostSilencesBadRequest +const PostSilencesBadRequestCode int = 400 + +/*PostSilencesBadRequest Bad request + +swagger:response postSilencesBadRequest +*/ +type PostSilencesBadRequest struct { + + /* + In: Body + */ + Payload string `json:"body,omitempty"` +} + +// NewPostSilencesBadRequest creates PostSilencesBadRequest with default headers values +func NewPostSilencesBadRequest() *PostSilencesBadRequest { + + return &PostSilencesBadRequest{} +} + +// WithPayload adds the payload to the post silences bad request response +func (o *PostSilencesBadRequest) WithPayload(payload string) *PostSilencesBadRequest { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the post silences bad request response +func (o *PostSilencesBadRequest) SetPayload(payload string) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *PostSilencesBadRequest) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(400) + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + +} + +// PostSilencesNotFoundCode is the HTTP code returned for type PostSilencesNotFound +const PostSilencesNotFoundCode int = 404 + +/*PostSilencesNotFound A silence with the specified ID was not found + +swagger:response postSilencesNotFound +*/ +type PostSilencesNotFound struct { + + /* + In: Body + */ + Payload string `json:"body,omitempty"` +} + +// NewPostSilencesNotFound creates PostSilencesNotFound with default headers values +func NewPostSilencesNotFound() *PostSilencesNotFound { + + return &PostSilencesNotFound{} +} + +// WithPayload adds the payload to the post silences not found response +func (o *PostSilencesNotFound) WithPayload(payload string) *PostSilencesNotFound { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the post silences not found response +func (o *PostSilencesNotFound) SetPayload(payload string) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *PostSilencesNotFound) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(404) + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/post_silences_urlbuilder.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/post_silences_urlbuilder.go new file mode 100644 index 00000000000..7341cb31dea --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/operations/silence/post_silences_urlbuilder.go @@ -0,0 +1,98 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 silence + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "errors" + "net/url" + golangswaggerpaths "path" +) + +// PostSilencesURL generates an URL for the post silences operation +type PostSilencesURL struct { + _basePath string +} + +// WithBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *PostSilencesURL) WithBasePath(bp string) *PostSilencesURL { + o.SetBasePath(bp) + return o +} + +// SetBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *PostSilencesURL) SetBasePath(bp string) { + o._basePath = bp +} + +// Build a url path and query string +func (o *PostSilencesURL) Build() (*url.URL, error) { + var _result url.URL + + var _path = "/silences" + + _basePath := o._basePath + _result.Path = golangswaggerpaths.Join(_basePath, _path) + + return &_result, nil +} + +// Must is a helper function to panic when the url builder returns an error +func (o *PostSilencesURL) Must(u *url.URL, err error) *url.URL { + if err != nil { + panic(err) + } + if u == nil { + panic("url can't be nil") + } + return u +} + +// String returns the string representation of the path with query string +func (o *PostSilencesURL) String() string { + return o.Must(o.Build()).String() +} + +// BuildFull builds a full url with scheme, host, path and query string +func (o *PostSilencesURL) BuildFull(scheme, host string) (*url.URL, error) { + if scheme == "" { + return nil, errors.New("scheme is required for a full url on PostSilencesURL") + } + if host == "" { + return nil, errors.New("host is required for a full url on PostSilencesURL") + } + + base, err := o.Build() + if err != nil { + return nil, err + } + + base.Scheme = scheme + base.Host = host + return base, nil +} + +// StringFull returns the string representation of a complete url +func (o *PostSilencesURL) StringFull(scheme, host string) string { + return o.Must(o.BuildFull(scheme, host)).String() +} diff --git a/vendor/github.com/prometheus/alertmanager/api/v2/restapi/server.go b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/server.go new file mode 100644 index 00000000000..a17ca5c4e39 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/api/v2/restapi/server.go @@ -0,0 +1,522 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright Prometheus Team +// 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 restapi + +import ( + "context" + "crypto/tls" + "crypto/x509" + "errors" + "fmt" + "io/ioutil" + "log" + "net" + "net/http" + "os" + "os/signal" + "strconv" + "sync" + "sync/atomic" + "syscall" + "time" + + "github.com/go-openapi/runtime/flagext" + "github.com/go-openapi/swag" + flags "github.com/jessevdk/go-flags" + "golang.org/x/net/netutil" + + "github.com/prometheus/alertmanager/api/v2/restapi/operations" +) + +const ( + schemeHTTP = "http" + schemeHTTPS = "https" + schemeUnix = "unix" +) + +var defaultSchemes []string + +func init() { + defaultSchemes = []string{ + schemeHTTP, + } +} + +// NewServer creates a new api alertmanager server but does not configure it +func NewServer(api *operations.AlertmanagerAPI) *Server { + s := new(Server) + + s.shutdown = make(chan struct{}) + s.api = api + s.interrupt = make(chan os.Signal, 1) + return s +} + +// ConfigureAPI configures the API and handlers. +func (s *Server) ConfigureAPI() { + if s.api != nil { + s.handler = configureAPI(s.api) + } +} + +// ConfigureFlags configures the additional flags defined by the handlers. Needs to be called before the parser.Parse +func (s *Server) ConfigureFlags() { + if s.api != nil { + configureFlags(s.api) + } +} + +// Server for the alertmanager API +type Server struct { + EnabledListeners []string `long:"scheme" description:"the listeners to enable, this can be repeated and defaults to the schemes in the swagger spec"` + CleanupTimeout time.Duration `long:"cleanup-timeout" description:"grace period for which to wait before killing idle connections" default:"10s"` + GracefulTimeout time.Duration `long:"graceful-timeout" description:"grace period for which to wait before shutting down the server" default:"15s"` + MaxHeaderSize flagext.ByteSize `long:"max-header-size" description:"controls the maximum number of bytes the server will read parsing the request header's keys and values, including the request line. It does not limit the size of the request body." default:"1MiB"` + + SocketPath flags.Filename `long:"socket-path" description:"the unix socket to listen on" default:"/var/run/alertmanager.sock"` + domainSocketL net.Listener + + Host string `long:"host" description:"the IP to listen on" default:"localhost" env:"HOST"` + Port int `long:"port" description:"the port to listen on for insecure connections, defaults to a random value" env:"PORT"` + ListenLimit int `long:"listen-limit" description:"limit the number of outstanding requests"` + KeepAlive time.Duration `long:"keep-alive" description:"sets the TCP keep-alive timeouts on accepted connections. It prunes dead TCP connections ( e.g. closing laptop mid-download)" default:"3m"` + ReadTimeout time.Duration `long:"read-timeout" description:"maximum duration before timing out read of the request" default:"30s"` + WriteTimeout time.Duration `long:"write-timeout" description:"maximum duration before timing out write of the response" default:"60s"` + httpServerL net.Listener + + TLSHost string `long:"tls-host" description:"the IP to listen on for tls, when not specified it's the same as --host" env:"TLS_HOST"` + TLSPort int `long:"tls-port" description:"the port to listen on for secure connections, defaults to a random value" env:"TLS_PORT"` + TLSCertificate flags.Filename `long:"tls-certificate" description:"the certificate to use for secure connections" env:"TLS_CERTIFICATE"` + TLSCertificateKey flags.Filename `long:"tls-key" description:"the private key to use for secure conections" env:"TLS_PRIVATE_KEY"` + TLSCACertificate flags.Filename `long:"tls-ca" description:"the certificate authority file to be used with mutual tls auth" env:"TLS_CA_CERTIFICATE"` + TLSListenLimit int `long:"tls-listen-limit" description:"limit the number of outstanding requests"` + TLSKeepAlive time.Duration `long:"tls-keep-alive" description:"sets the TCP keep-alive timeouts on accepted connections. It prunes dead TCP connections ( e.g. closing laptop mid-download)"` + TLSReadTimeout time.Duration `long:"tls-read-timeout" description:"maximum duration before timing out read of the request"` + TLSWriteTimeout time.Duration `long:"tls-write-timeout" description:"maximum duration before timing out write of the response"` + httpsServerL net.Listener + + api *operations.AlertmanagerAPI + handler http.Handler + hasListeners bool + shutdown chan struct{} + shuttingDown int32 + interrupted bool + interrupt chan os.Signal +} + +// Logf logs message either via defined user logger or via system one if no user logger is defined. +func (s *Server) Logf(f string, args ...interface{}) { + if s.api != nil && s.api.Logger != nil { + s.api.Logger(f, args...) + } else { + log.Printf(f, args...) + } +} + +// Fatalf logs message either via defined user logger or via system one if no user logger is defined. +// Exits with non-zero status after printing +func (s *Server) Fatalf(f string, args ...interface{}) { + if s.api != nil && s.api.Logger != nil { + s.api.Logger(f, args...) + os.Exit(1) + } else { + log.Fatalf(f, args...) + } +} + +// SetAPI configures the server with the specified API. Needs to be called before Serve +func (s *Server) SetAPI(api *operations.AlertmanagerAPI) { + if api == nil { + s.api = nil + s.handler = nil + return + } + + s.api = api + s.api.Logger = log.Printf + s.handler = configureAPI(api) +} + +func (s *Server) hasScheme(scheme string) bool { + schemes := s.EnabledListeners + if len(schemes) == 0 { + schemes = defaultSchemes + } + + for _, v := range schemes { + if v == scheme { + return true + } + } + return false +} + +// Serve the api +func (s *Server) Serve() (err error) { + if !s.hasListeners { + if err = s.Listen(); err != nil { + return err + } + } + + // set default handler, if none is set + if s.handler == nil { + if s.api == nil { + return errors.New("can't create the default handler, as no api is set") + } + + s.SetHandler(s.api.Serve(nil)) + } + + wg := new(sync.WaitGroup) + once := new(sync.Once) + signalNotify(s.interrupt) + go handleInterrupt(once, s) + + servers := []*http.Server{} + wg.Add(1) + go s.handleShutdown(wg, &servers) + + if s.hasScheme(schemeUnix) { + domainSocket := new(http.Server) + domainSocket.MaxHeaderBytes = int(s.MaxHeaderSize) + domainSocket.Handler = s.handler + if int64(s.CleanupTimeout) > 0 { + domainSocket.IdleTimeout = s.CleanupTimeout + } + + configureServer(domainSocket, "unix", string(s.SocketPath)) + + servers = append(servers, domainSocket) + wg.Add(1) + s.Logf("Serving alertmanager at unix://%s", s.SocketPath) + go func(l net.Listener) { + defer wg.Done() + if err := domainSocket.Serve(l); err != nil && err != http.ErrServerClosed { + s.Fatalf("%v", err) + } + s.Logf("Stopped serving alertmanager at unix://%s", s.SocketPath) + }(s.domainSocketL) + } + + if s.hasScheme(schemeHTTP) { + httpServer := new(http.Server) + httpServer.MaxHeaderBytes = int(s.MaxHeaderSize) + httpServer.ReadTimeout = s.ReadTimeout + httpServer.WriteTimeout = s.WriteTimeout + httpServer.SetKeepAlivesEnabled(int64(s.KeepAlive) > 0) + if s.ListenLimit > 0 { + s.httpServerL = netutil.LimitListener(s.httpServerL, s.ListenLimit) + } + + if int64(s.CleanupTimeout) > 0 { + httpServer.IdleTimeout = s.CleanupTimeout + } + + httpServer.Handler = s.handler + + configureServer(httpServer, "http", s.httpServerL.Addr().String()) + + servers = append(servers, httpServer) + wg.Add(1) + s.Logf("Serving alertmanager at http://%s", s.httpServerL.Addr()) + go func(l net.Listener) { + defer wg.Done() + if err := httpServer.Serve(l); err != nil && err != http.ErrServerClosed { + s.Fatalf("%v", err) + } + s.Logf("Stopped serving alertmanager at http://%s", l.Addr()) + }(s.httpServerL) + } + + if s.hasScheme(schemeHTTPS) { + httpsServer := new(http.Server) + httpsServer.MaxHeaderBytes = int(s.MaxHeaderSize) + httpsServer.ReadTimeout = s.TLSReadTimeout + httpsServer.WriteTimeout = s.TLSWriteTimeout + httpsServer.SetKeepAlivesEnabled(int64(s.TLSKeepAlive) > 0) + if s.TLSListenLimit > 0 { + s.httpsServerL = netutil.LimitListener(s.httpsServerL, s.TLSListenLimit) + } + if int64(s.CleanupTimeout) > 0 { + httpsServer.IdleTimeout = s.CleanupTimeout + } + httpsServer.Handler = s.handler + + // Inspired by https://blog.bracebin.com/achieving-perfect-ssl-labs-score-with-go + httpsServer.TLSConfig = &tls.Config{ + // Causes servers to use Go's default ciphersuite preferences, + // which are tuned to avoid attacks. Does nothing on clients. + PreferServerCipherSuites: true, + // Only use curves which have assembly implementations + // https://github.com/golang/go/tree/master/src/crypto/elliptic + CurvePreferences: []tls.CurveID{tls.CurveP256}, + // Use modern tls mode https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility + NextProtos: []string{"http/1.1", "h2"}, + // https://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Sheet#Rule_-_Only_Support_Strong_Protocols + MinVersion: tls.VersionTLS12, + // These ciphersuites support Forward Secrecy: https://en.wikipedia.org/wiki/Forward_secrecy + CipherSuites: []uint16{ + tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, + tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, + tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, + tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, + tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, + tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + }, + } + + // build standard config from server options + if s.TLSCertificate != "" && s.TLSCertificateKey != "" { + httpsServer.TLSConfig.Certificates = make([]tls.Certificate, 1) + httpsServer.TLSConfig.Certificates[0], err = tls.LoadX509KeyPair(string(s.TLSCertificate), string(s.TLSCertificateKey)) + if err != nil { + return err + } + } + + if s.TLSCACertificate != "" { + // include specified CA certificate + caCert, caCertErr := ioutil.ReadFile(string(s.TLSCACertificate)) + if caCertErr != nil { + return caCertErr + } + caCertPool := x509.NewCertPool() + ok := caCertPool.AppendCertsFromPEM(caCert) + if !ok { + return fmt.Errorf("cannot parse CA certificate") + } + httpsServer.TLSConfig.ClientCAs = caCertPool + httpsServer.TLSConfig.ClientAuth = tls.RequireAndVerifyClientCert + } + + // call custom TLS configurator + configureTLS(httpsServer.TLSConfig) + + if len(httpsServer.TLSConfig.Certificates) == 0 { + // after standard and custom config are passed, this ends up with no certificate + if s.TLSCertificate == "" { + if s.TLSCertificateKey == "" { + s.Fatalf("the required flags `--tls-certificate` and `--tls-key` were not specified") + } + s.Fatalf("the required flag `--tls-certificate` was not specified") + } + if s.TLSCertificateKey == "" { + s.Fatalf("the required flag `--tls-key` was not specified") + } + // this happens with a wrong custom TLS configurator + s.Fatalf("no certificate was configured for TLS") + } + + // must have at least one certificate or panics + httpsServer.TLSConfig.BuildNameToCertificate() + + configureServer(httpsServer, "https", s.httpsServerL.Addr().String()) + + servers = append(servers, httpsServer) + wg.Add(1) + s.Logf("Serving alertmanager at https://%s", s.httpsServerL.Addr()) + go func(l net.Listener) { + defer wg.Done() + if err := httpsServer.Serve(l); err != nil && err != http.ErrServerClosed { + s.Fatalf("%v", err) + } + s.Logf("Stopped serving alertmanager at https://%s", l.Addr()) + }(tls.NewListener(s.httpsServerL, httpsServer.TLSConfig)) + } + + wg.Wait() + return nil +} + +// Listen creates the listeners for the server +func (s *Server) Listen() error { + if s.hasListeners { // already done this + return nil + } + + if s.hasScheme(schemeHTTPS) { + // Use http host if https host wasn't defined + if s.TLSHost == "" { + s.TLSHost = s.Host + } + // Use http listen limit if https listen limit wasn't defined + if s.TLSListenLimit == 0 { + s.TLSListenLimit = s.ListenLimit + } + // Use http tcp keep alive if https tcp keep alive wasn't defined + if int64(s.TLSKeepAlive) == 0 { + s.TLSKeepAlive = s.KeepAlive + } + // Use http read timeout if https read timeout wasn't defined + if int64(s.TLSReadTimeout) == 0 { + s.TLSReadTimeout = s.ReadTimeout + } + // Use http write timeout if https write timeout wasn't defined + if int64(s.TLSWriteTimeout) == 0 { + s.TLSWriteTimeout = s.WriteTimeout + } + } + + if s.hasScheme(schemeUnix) { + domSockListener, err := net.Listen("unix", string(s.SocketPath)) + if err != nil { + return err + } + s.domainSocketL = domSockListener + } + + if s.hasScheme(schemeHTTP) { + listener, err := net.Listen("tcp", net.JoinHostPort(s.Host, strconv.Itoa(s.Port))) + if err != nil { + return err + } + + h, p, err := swag.SplitHostPort(listener.Addr().String()) + if err != nil { + return err + } + s.Host = h + s.Port = p + s.httpServerL = listener + } + + if s.hasScheme(schemeHTTPS) { + tlsListener, err := net.Listen("tcp", net.JoinHostPort(s.TLSHost, strconv.Itoa(s.TLSPort))) + if err != nil { + return err + } + + sh, sp, err := swag.SplitHostPort(tlsListener.Addr().String()) + if err != nil { + return err + } + s.TLSHost = sh + s.TLSPort = sp + s.httpsServerL = tlsListener + } + + s.hasListeners = true + return nil +} + +// Shutdown server and clean up resources +func (s *Server) Shutdown() error { + if atomic.CompareAndSwapInt32(&s.shuttingDown, 0, 1) { + close(s.shutdown) + } + return nil +} + +func (s *Server) handleShutdown(wg *sync.WaitGroup, serversPtr *[]*http.Server) { + // wg.Done must occur last, after s.api.ServerShutdown() + // (to preserve old behaviour) + defer wg.Done() + + <-s.shutdown + + servers := *serversPtr + + ctx, cancel := context.WithTimeout(context.TODO(), s.GracefulTimeout) + defer cancel() + + shutdownChan := make(chan bool) + for i := range servers { + server := servers[i] + go func() { + var success bool + defer func() { + shutdownChan <- success + }() + if err := server.Shutdown(ctx); err != nil { + // Error from closing listeners, or context timeout: + s.Logf("HTTP server Shutdown: %v", err) + } else { + success = true + } + }() + } + + // Wait until all listeners have successfully shut down before calling ServerShutdown + success := true + for range servers { + success = success && <-shutdownChan + } + if success { + s.api.ServerShutdown() + } +} + +// GetHandler returns a handler useful for testing +func (s *Server) GetHandler() http.Handler { + return s.handler +} + +// SetHandler allows for setting a http handler on this server +func (s *Server) SetHandler(handler http.Handler) { + s.handler = handler +} + +// UnixListener returns the domain socket listener +func (s *Server) UnixListener() (net.Listener, error) { + if !s.hasListeners { + if err := s.Listen(); err != nil { + return nil, err + } + } + return s.domainSocketL, nil +} + +// HTTPListener returns the http listener +func (s *Server) HTTPListener() (net.Listener, error) { + if !s.hasListeners { + if err := s.Listen(); err != nil { + return nil, err + } + } + return s.httpServerL, nil +} + +// TLSListener returns the https listener +func (s *Server) TLSListener() (net.Listener, error) { + if !s.hasListeners { + if err := s.Listen(); err != nil { + return nil, err + } + } + return s.httpsServerL, nil +} + +func handleInterrupt(once *sync.Once, s *Server) { + once.Do(func() { + for _ = range s.interrupt { + if s.interrupted { + s.Logf("Server already shutting down") + continue + } + s.interrupted = true + s.Logf("Shutting down... ") + if err := s.Shutdown(); err != nil { + s.Logf("HTTP server Shutdown: %v", err) + } + } + }) +} + +func signalNotify(interrupt chan<- os.Signal) { + signal.Notify(interrupt, syscall.SIGINT, syscall.SIGTERM) +} diff --git a/vendor/github.com/prometheus/alertmanager/asset/asset.go b/vendor/github.com/prometheus/alertmanager/asset/asset.go new file mode 100644 index 00000000000..87ad35dc11e --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/asset/asset.go @@ -0,0 +1,49 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// +build dev + +package asset + +import ( + "net/http" + "os" + "strings" + + "github.com/shurcooL/httpfs/filter" + "github.com/shurcooL/httpfs/union" +) + +var static http.FileSystem = filter.Keep( + http.Dir("../ui/app"), + func(path string, fi os.FileInfo) bool { + return path == "/" || + path == "/script.js" || + path == "/index.html" || + path == "/favicon.ico" || + strings.HasPrefix(path, "/lib") + }, +) + +var templates http.FileSystem = filter.Keep( + http.Dir("../template"), + func(path string, fi os.FileInfo) bool { + return path == "/" || path == "/default.tmpl" + }, +) + +// Assets contains the project's assets. +var Assets http.FileSystem = union.New(map[string]http.FileSystem{ + "/templates": templates, + "/static": static, +}) diff --git a/vendor/github.com/prometheus/alertmanager/asset/asset_generate.go b/vendor/github.com/prometheus/alertmanager/asset/asset_generate.go new file mode 100644 index 00000000000..2b8a4d3b050 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/asset/asset_generate.go @@ -0,0 +1,38 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// +build ignore + +package main + +import ( + "log" + "time" + + "github.com/shurcooL/vfsgen" + + "github.com/prometheus/alertmanager/asset" + "github.com/prometheus/alertmanager/pkg/modtimevfs" +) + +func main() { + fs := modtimevfs.New(asset.Assets, time.Unix(1, 0)) + err := vfsgen.Generate(fs, vfsgen.Options{ + PackageName: "asset", + BuildTags: "!dev", + VariableName: "Assets", + }) + if err != nil { + log.Fatalln(err) + } +} diff --git a/vendor/github.com/prometheus/alertmanager/asset/assets_vfsdata.go b/vendor/github.com/prometheus/alertmanager/asset/assets_vfsdata.go new file mode 100644 index 00000000000..94d642f51d8 --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/asset/assets_vfsdata.go @@ -0,0 +1,380 @@ +// Code generated by vfsgen; DO NOT EDIT. + +// +build !dev + +package asset + +import ( + "bytes" + "compress/gzip" + "fmt" + "io" + "io/ioutil" + "net/http" + "os" + pathpkg "path" + "time" +) + +// Assets statically implements the virtual filesystem provided to vfsgen. +var Assets = func() http.FileSystem { + fs := vfsgen۰FS{ + "/": &vfsgen۰DirInfo{ + name: "/", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + }, + "/static": &vfsgen۰DirInfo{ + name: "static", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + }, + "/static/favicon.ico": &vfsgen۰CompressedFileInfo{ + name: "favicon.ico", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + uncompressedSize: 15086, + + compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x5b\x09\x90\x54\xc5\x19\xee\x75\x51\x52\x49\x2a\x50\xb1\xd4\xc4\x4a\x0a\xa2\x52\xae\x8b\xe2\x62\x84\x12\x63\xc4\x44\x4a\xc5\x83\x63\xb9\x2f\x05\x05\x01\x21\x20\x82\xa0\x08\xb8\x01\xc1\x8b\xa0\xd1\x35\x8a\x28\x02\x1e\x1c\xde\x8b\x88\x68\x8c\x8b\x80\x1a\x4e\x2f\x64\x41\x81\x15\x99\x99\x9d\x6b\x67\x76\x76\xae\x9d\x99\x37\x5f\xea\xef\xe9\x1e\xde\xbc\x9d\xf7\x5e\xcf\xb0\x5a\xf9\xaa\xfe\x7a\xbb\x33\xaf\xbb\xff\xee\xfe\xef\xee\x61\xac\x84\x95\xb2\x8e\x1d\xe9\xd9\x99\x4d\x6a\xc7\x58\x4f\xc6\x58\xe7\xce\x99\xff\xd7\x75\x64\x6c\x65\x3b\xc6\x2a\x2a\xc4\xff\x5d\x18\xbb\xe6\x0c\xc6\xca\x18\x63\x1d\xe9\x3d\x96\xf9\x9c\xa3\x1d\xb3\x04\x80\xf6\x00\xfa\x02\x58\xa7\x69\x38\xee\x0b\x68\x49\x7f\x50\x4b\x6a\x1a\x8e\x01\x78\x09\x40\x1f\x00\xa7\x99\xb4\xfd\x2d\x80\x6a\x00\x81\x58\x4b\x1a\xcf\xbe\xd6\x8c\x01\xd3\x3d\x18\x38\xc3\x83\x55\x6f\x87\xd1\x92\x48\x03\x80\x1f\xc0\x3f\x00\x9c\x91\xa7\x6d\x0d\x04\xea\x8e\x26\x30\x66\xae\x0f\x95\x33\x3c\x9c\xc6\xce\xf7\xe1\xc8\xf1\xa4\xfc\x9a\x3a\xda\x20\xfb\x20\x7e\x00\x3c\x49\x5f\xa4\x34\x60\xe3\xd6\x28\x1e\x7f\x29\x84\x07\x9f\x6f\xca\x21\xfa\x6c\xf3\xf6\x28\xb4\x74\xb6\x8f\x87\x01\xb4\x03\x70\x3d\x80\x46\xfa\x30\x91\x4c\x63\xd1\xb3\x41\x0c\xbe\xcb\x8b\x61\x77\xe7\xd2\xa0\xbb\xbc\x78\xe4\x85\x26\x3e\x86\x80\x1b\xc0\x55\xb4\x56\xf2\x83\xe6\x48\x1a\x6b\x37\x87\xf1\xd4\xba\x10\x9e\xde\xd0\x9c\x43\xf4\xd9\xfa\x2d\x11\x44\xa2\x69\xe8\xb0\x02\xc0\x0f\xf2\x9f\xd5\x35\x61\x5c\x3a\xdc\x85\x8a\x21\x4e\x74\x1d\x98\x4b\x97\x0c\x73\xe1\x8f\xc3\x5d\x78\xe5\xdd\xb0\xbe\xfd\x41\x00\x49\xc9\xfb\xbb\xdb\xa2\x78\xf3\xc3\x08\xfa\x4d\xf3\xa0\x7c\xa0\x13\x17\x56\x66\xa8\x7c\x80\x13\x93\x16\xf9\xf9\xda\xd0\x3b\xc9\x54\xb6\x7d\x48\xb6\x97\xd8\xb5\xbf\x05\x3d\x46\xba\xd0\xb5\x32\xb7\xfd\x8d\x53\x3d\xf0\x34\xa6\x60\x00\xb5\x3f\xa6\xff\x60\xc7\xbe\x38\xba\x0f\x33\xb4\x1f\xe8\x44\x9f\xdb\xdd\x70\xb8\x5b\xb5\xaf\x03\xf0\x8a\xfe\x83\x1f\x1a\x52\xb8\x76\x92\x1b\x17\x0d\xca\xcc\xfb\xb2\xd1\x2e\x74\x1f\xea\xc2\xad\x0b\x7c\x88\xc6\xd2\xc6\xf6\xcb\x01\x5c\x0b\xc0\x27\x3f\xa0\xfd\x99\xfb\x44\x00\xe3\xab\xfc\x7c\xcd\x06\xcf\xf4\x72\xde\xdf\xf8\x30\x62\x6c\xeb\x02\x70\x25\x80\x53\x01\x3c\xa6\xff\x82\xd6\x88\x64\xe5\xea\x09\x6e\x3c\xb4\xb2\x09\x8f\xbd\x18\x82\xc3\x93\xc3\x3b\x31\xb2\x18\x40\xa9\x90\xc1\xb3\x00\xbc\x2e\x3e\x47\x24\x96\x86\xb7\x51\xc3\xcd\xf7\xf9\xb0\x7b\x7f\x0b\xbe\x77\x26\xf5\xbc\x93\x04\xbd\x0c\xe0\x74\x83\x0e\x9c\x09\x60\x99\xd0\x11\xbe\x47\xaf\xff\x3b\x02\x7f\x50\xd3\x8f\xeb\x01\xf0\xa0\xb1\xad\xae\x8f\xd3\x84\x8e\xae\x01\x70\xa4\x25\x91\x8e\xa6\x34\xd0\xc4\xbf\x03\xf0\xbc\x90\xd7\x53\xf5\x6d\xe2\x9d\x18\xab\x6f\xcf\x58\x6d\x29\x63\x55\x25\x19\x32\x83\xfc\x9e\xde\xa5\x36\xd4\xb6\x4c\xd8\x98\xab\xf4\x76\xa6\xa3\xb5\x9d\x31\x83\xd0\xc7\x72\x00\xd3\x00\xbc\x01\xe0\x90\x90\xb1\x94\xa0\x20\x80\x03\x42\xe7\x26\x02\x38\x4f\xee\xc1\xc9\x40\x8c\x7b\x19\x80\x67\x00\xd4\x8b\xb1\x38\xc8\x6e\x35\x36\x69\x08\x84\x34\x24\x93\x39\xf2\x97\x00\xf0\xad\x90\x9d\x0a\x00\xa7\x14\x39\xf6\xef\x84\x4d\xf4\xea\x3b\x8f\xc6\xd3\xa8\xa9\x8d\x62\xca\x12\x7f\xc6\x8e\xde\xe9\xc1\x8c\x47\x1a\xf1\xc1\xa7\x31\x69\x4b\xf5\x70\x00\xa8\x32\xda\x55\x85\xb1\x69\xce\x3b\xa4\xdc\x4a\x90\xfd\x26\xb9\x27\x3b\x54\xd6\x3f\xa3\xff\x44\xf4\x37\xd9\x27\xb2\x67\xc9\x56\xaa\xcc\xe5\xfa\x3d\x00\x17\x2a\x8e\xdd\x47\xac\x5f\x2b\xbc\xff\x49\x0c\xdd\x06\x67\xc6\xbb\xc0\x40\xe7\xf7\x73\xa0\xc7\x08\x17\x76\x7e\xd5\x92\xaf\x29\xe1\x73\x00\x3d\x15\xe6\x9d\x77\x6c\xc2\xab\xef\x47\x70\xcb\x3c\x1f\xb7\x39\xf9\x88\xfc\xd1\x96\x4f\x62\x66\xcd\x09\x7b\x01\x74\xb5\xd8\xef\xed\xc6\x06\xcd\xd1\x34\xdc\xfe\x14\xb7\xb1\x64\x6b\x8e\xb9\xac\xc9\xe9\xc9\xbc\xeb\xf1\xa7\xb8\xbd\xc9\x83\x8d\x00\x7e\x6d\x18\xbb\x14\xc0\xd2\x7c\x2f\x3f\xff\x66\x33\xb7\xbb\xd7\x4f\xf1\xe0\x06\x45\xa2\x77\xfb\x4e\x76\x73\x3b\x95\x07\x24\x0f\x73\x0c\xe3\x5f\x2e\x6c\x58\x2b\x90\x6f\x3d\xf7\x06\x07\xdf\xdf\x42\xa8\xcb\x8d\x0e\xce\xbb\x09\x8e\x92\x3d\xd1\xcd\x7d\xb9\xd9\x8b\x34\x87\xdb\x17\xfa\xb9\x9f\x2c\x84\x26\x2e\xf4\x73\x9d\xb4\xc0\x03\x62\xfc\xae\x82\x9f\xbc\x20\x7d\x27\x1b\x53\x0c\x91\xbe\x5a\xe0\x0b\x21\x73\xd3\x8c\xbe\x5e\xc2\xdf\xa4\x61\x5e\x75\x00\x23\xe6\x78\x31\xea\x9e\xc2\x88\xda\x2c\x5e\x11\x44\x28\xac\x99\x4e\x0d\xc0\x50\x61\xcf\x5b\x41\xd3\xc0\xfd\x2b\xf9\xfa\xac\x9e\x0f\x28\x80\xfa\x67\x62\x8c\xe5\xaf\x35\x23\x6d\xbe\x0c\xd5\x22\x56\x6a\x85\x9d\x5f\xb7\xf0\x18\x83\x64\x89\x78\xa0\x58\x83\x62\x8f\x0b\x2b\xad\xe9\xe2\x21\x4e\x5c\x3c\x38\xc3\x03\xb5\xed\x3d\xae\x01\xfb\x0f\x27\xcc\xc6\xdf\x26\xfc\x58\xee\xdc\xd3\xc0\xd2\x55\x4d\xa8\x9c\xe1\xc5\xbd\xff\x0c\xe0\xc5\x77\xc2\x98\x5f\x1d\xb0\x1d\x9f\xf8\xec\x33\xc1\x8d\x35\x1b\xc3\x78\xe2\x95\x10\xa6\x3e\xd8\x88\x9b\xfe\xe6\xc1\x33\x1b\x4c\xf5\xe0\x88\xd0\xc7\x56\x6b\x4f\xb6\x26\xd8\xac\xf1\xb5\xf3\x06\x34\x1e\xeb\x92\xad\xb7\x9b\x3f\xf1\xf8\xc2\x5b\x99\x58\x34\x99\x4a\xc3\x17\xd4\x78\x5f\x26\x7b\xe0\xd5\xfb\x54\x33\xbc\xb7\x23\xc6\xd7\xd4\x6e\x6c\x22\x5a\xf7\xd1\xf7\xfa\x78\xcc\xad\x00\x1a\xbf\xc9\xee\xa5\xea\xb5\x21\xde\xaf\xca\xf8\xb4\x07\x14\x1f\x92\x2d\x56\xc0\x61\x11\xb7\x58\x62\xd9\x9a\x50\x56\x9e\x55\xc6\xef\x7d\x6b\x83\x3e\x2f\xb2\x42\xad\xc8\x99\x2c\xf1\xf2\xa6\x30\xef\x57\x65\x7c\x92\x91\xeb\x26\xbb\xd1\xe0\x53\x9a\xff\xe3\x00\xee\x30\xb3\x3f\x12\x7b\xbe\x69\x41\xcf\x51\xae\xbc\x3c\x50\x3e\xd1\x6b\xb4\x8b\xc7\xf4\x7c\xff\xfb\x3b\x31\xe1\xef\x7e\xc4\xad\x6d\x1f\x81\x9c\x53\x25\x80\x32\x11\x07\x9b\xa2\x29\xac\x61\xe4\x3d\x5e\x2e\x03\xa4\xdf\xdd\x06\xe7\xe6\x30\x43\x67\x79\xb9\x9e\x4b\xfe\xd6\xd4\x84\x55\xe6\x4e\xb1\xc0\xd9\x14\x1f\xca\x3c\xd5\x0a\xff\x5a\x1f\x42\x59\x7f\x07\xcf\x5b\x28\x07\x96\xba\x48\xcf\x99\x4b\x33\x7a\x4e\x71\x11\xc5\x84\x4e\x8f\xd2\xda\x2f\xd0\xf9\xdf\x1e\x22\xef\x31\xc5\xbe\xba\x16\x1e\x5f\xcd\x5e\x16\xc0\xda\xcd\x11\x5c\xa4\x9b\x3f\xe5\xb0\x94\x57\x11\x2f\x64\x7b\x14\x40\x31\x56\x17\xdd\xf8\xa7\x88\xbc\xc9\x14\xe4\xcf\x28\xd6\x7d\xe1\xed\x30\xaf\x03\x5c\x7e\x73\x66\xbd\x29\xf7\xa5\xdc\x92\x7c\xcd\x5f\xc6\xbb\x79\x4e\x65\x03\x7a\xe1\xce\x3c\xf1\xd7\x6f\x00\x7c\x68\xd6\x88\xec\xc9\x7d\x4f\x06\x70\xf8\x87\x24\x7c\x01\x0d\x37\x4c\xf5\xa0\xac\x9f\x03\x43\x66\x79\xb9\x7c\x6c\xda\x16\xe5\x3e\xdf\xc6\xe7\x12\x5e\x05\xd0\xc1\x24\x06\xec\x0e\xe0\xeb\x7c\x8d\x48\x9e\xeb\x9d\x49\x1e\x90\x87\x22\x1a\x86\xde\xed\xe5\xfe\x85\x6c\x13\x81\xe2\x3d\xf2\x75\x36\x72\xff\x29\xe5\x46\x36\x31\xf0\x15\x66\x3c\x64\x79\x49\xa4\xf9\x7e\x93\x7f\xfc\xfa\xdb\x13\xbe\xcd\xe5\x4d\xe5\xcb\x41\x24\x3e\x03\x70\xb1\xd5\xd8\x3a\x1e\x28\x6f\xfa\x20\x9f\x6f\x92\x20\x9f\x46\x31\x46\x73\xd4\x76\xbd\x93\x22\xc6\xe8\xa2\x32\xb6\x8e\x87\x33\x45\xee\xe4\xc8\xd7\x29\xe9\x58\xf5\xba\x90\x9d\x9f\xa1\xb8\x6e\x26\x80\xa2\x32\x5f\xa1\x17\x15\x22\xff\xa7\x38\x25\x27\xb9\xa1\xf8\x3e\x4f\xbe\x15\x13\xfb\xb7\x58\xd8\x36\x8b\xcc\xbd\x20\x3e\xce\x01\x30\x16\xc0\x4a\x00\xbb\x85\xbd\x08\x09\xff\xe9\x10\xfb\x4b\x79\xf2\x08\x00\xbf\x57\x1d\x17\xc1\x0e\x40\x55\x09\xd2\x8c\xdd\x9f\x62\xac\x77\x9c\xb1\x4e\x41\xc6\x3a\xd4\x33\xd6\xbe\x36\x43\xa5\x55\x8c\x95\x48\xb2\xeb\x4f\xf7\x6e\x69\x6d\x86\xda\x53\x5f\xd4\x27\xf5\x4d\x63\xa4\x69\x4a\x55\x25\xa0\xb1\xcb\x18\x63\x15\x8c\xb1\xb1\xfa\x3a\x85\xa5\x86\x14\x07\x00\xbf\x02\xd0\x0b\xc0\x74\x51\xdb\xda\x43\x62\x24\xe2\x60\x59\xc7\x08\x8b\xba\xdf\x67\x62\x9d\x6f\x17\x36\xe1\xe7\x6d\xcf\x91\x12\xcf\x94\x1b\x5d\x00\x60\x16\x80\xff\xa8\xc6\x6b\x06\xdd\xa3\x39\xbe\x03\x60\x12\x80\xce\x6d\x21\x8f\x0a\x7c\x4b\xbd\x79\x42\xac\xa7\xa9\x92\x92\xbd\x24\xdf\x42\xb1\xae\x85\xed\x82\xb0\x45\x87\x00\x2c\x12\xf5\xa5\x1f\x65\x1e\xa2\xe6\xbd\xd0\xcc\xee\x40\xd4\x00\x3f\xaf\x6b\xc1\xb2\x35\x4d\xb8\xed\xfe\x4c\x3d\x7c\xd0\x5d\x5e\x9e\x77\x3e\xbd\xbe\x19\x07\xeb\x13\xb2\x9e\x9d\x0f\x69\x31\x8f\xe9\xc5\xda\x25\x13\xbe\x4b\x00\xf4\x16\x39\x8d\xa9\xdd\xa6\x75\xa6\x78\xf6\x4f\x37\x37\x64\xf3\x34\x59\x47\x92\x7f\x5f\x3d\xde\xcd\xcf\x06\x62\x71\xcb\xfd\x20\xd9\x7a\x1b\x40\xb7\x36\xe0\xfd\x54\x00\xb7\x59\xad\x39\x44\x2e\x5e\xf5\x74\x30\x1b\x67\x5b\xc5\xc0\x15\x43\x9c\xbc\x1e\x96\x32\x5d\x89\x2c\xea\x00\xdc\x58\xac\x3c\x89\xda\xee\xec\x7c\x79\xa4\x11\xef\x7c\x1c\xe5\x79\xac\x4a\x2c\x4f\xef\x50\x8c\xb5\x7b\xbf\x69\x3d\x4d\x8f\x06\x00\x63\x0a\xad\x75\x8a\x75\x9f\x2d\x62\x71\x4b\x90\xcc\x4f\x7b\xa8\x91\xd7\x75\x28\xce\x55\x21\x7a\xf7\xe1\x95\xb6\xe9\x9d\x84\x0f\xc0\xe8\x42\xf6\x01\xc0\xad\x2a\xeb\x4e\x20\x59\x7e\xec\xc5\x10\xa6\x3f\xdc\xc8\xeb\xb5\x2a\x44\xf3\xa5\x5c\x5a\xb3\x97\x21\x09\xb2\xb5\xd7\x29\xf2\x4e\xba\x7a\x5c\xb9\xe7\x9f\x0e\x5f\x91\xcf\xb1\xe1\x9d\x62\xf5\xad\x56\x9d\x50\xfe\xbb\xba\x26\xcc\xed\xc8\x6a\x49\x35\x45\x92\x68\x4f\x7d\x51\x2e\xec\xf6\xdb\xba\xc0\xb5\x00\x7e\x61\xc2\x7b\x89\x88\x2b\x2d\x8d\xdb\xbb\xdb\xa2\x59\x5b\x42\x39\x56\x9b\xd0\x00\x27\xcf\xe1\xf6\x1e\xb0\xd5\xe9\x38\x80\x71\x26\xfc\x77\x57\x91\x1b\xe2\xbf\x9b\x62\xcd\x46\x95\xc8\x26\xf5\x1c\xe5\xc2\x3e\x7b\xfe\x09\xfb\x28\x0e\x35\xf0\x7e\x8a\xa8\xf9\xd9\x62\xd3\xc7\x51\xbe\x66\xaa\xb6\x46\x8d\x1c\x3c\x5f\x55\x58\x7f\x08\xf9\x98\x65\xe0\xbf\x5c\x7f\x2e\x6c\x85\x2f\x0f\x25\xb0\xe0\xa9\x20\xe6\x57\xb7\x1d\xcd\xab\x0e\xf0\x73\x70\x85\x1c\x5b\x82\x62\xdc\xb3\x74\xfc\xdf\xad\xda\xf0\xff\x04\xb4\x51\x43\x04\xef\x1d\x44\x0c\xac\x84\x63\xae\x24\x6a\x77\xc5\x50\xbb\xbb\x0d\x69\x57\x0c\x5b\xf7\xc4\x55\xec\x8f\x1e\xab\x44\x1c\xdf\xcb\xec\x8c\xc5\x08\xca\xe3\xc7\xce\xf3\xf1\x9a\x2b\xc5\x0b\x6d\x45\x15\x43\x5d\xbc\x7e\x46\x3e\xb0\xb1\x49\xd9\xa9\x1d\x00\xd0\x09\xc0\x9d\x2a\xb9\x47\x3c\x91\x89\xd1\xca\x15\xeb\x95\x05\xdb\x20\xf1\xa4\xd8\x3b\xa5\xb6\x0d\x94\xd3\xdd\x24\xce\xf6\x6d\x41\x31\x1a\xd9\x08\xd5\x7a\x6b\xb1\x76\xb4\xd7\x68\x17\xb6\xef\x8d\xab\xb0\x44\x76\x68\x81\xd0\x65\x4b\xc8\x73\x02\x8a\xeb\xf9\xb9\x8d\xee\x1c\xa6\x58\x5f\x70\xd1\xa0\x4c\x5b\x7d\xae\x20\xcf\x84\x26\x2e\xf2\x23\x6c\x5f\xff\x81\xb8\x17\x60\x59\xdf\x24\x6c\xd8\x12\xc9\x9e\xf5\xfc\x75\xbc\x9b\x9f\xf5\x2e\x5e\x11\xe4\xb5\xa6\x6b\x26\xba\x8b\xda\x93\x4b\x86\xb9\x78\x1f\xd5\xeb\x42\x98\xba\xc4\xcf\xeb\xb4\x97\x8d\xce\x9c\x25\xd1\x38\x1f\xed\xb4\x3c\x23\x94\xf8\x44\xd4\x09\x4c\x41\x31\xe2\xfa\xf7\x22\x3c\xff\x23\x3b\x71\xd4\x91\xcc\x9e\xff\xae\x7c\xb3\x59\xf9\xfc\x24\x5f\x2e\x43\xeb\x1c\x0a\x6b\xfc\x3c\xc7\xd3\xa8\x71\xdf\x42\x72\x4a\x79\x1c\x3d\x15\x70\xd0\x2a\x27\xcc\xce\x21\xcf\x56\x92\x1d\xed\x7b\x87\x5b\xe9\xec\xc9\x8c\x28\x17\xdb\x64\xc2\xa7\x62\x6c\xfd\xbd\x0a\xff\xf9\xb0\x7e\x4b\xe4\xa4\xf5\x95\x64\x7d\xe6\xd2\x46\x55\x7b\x63\xc6\xbf\x6d\x8e\x65\x44\x3a\x0d\x7e\xfe\x58\xa6\x78\xf6\x64\x25\x43\xfd\xa6\x79\xb8\x7d\x28\x12\x75\x76\xb9\x79\x3e\xc4\x5a\xd2\x18\x37\xdf\xa7\x7c\x76\x66\x65\x2f\xaf\x1c\xd7\xc0\x6b\xff\x45\x62\x3b\x80\x9d\x85\x36\x22\xfd\x1d\x33\xd7\xa7\x7c\xf6\x68\xc5\xff\x15\xb7\x34\xf0\xba\x50\x91\x20\xdf\xb5\xba\xd0\x46\x89\x64\x1a\x93\x1f\xf0\xb7\xc9\xfa\x5f\x75\x5b\x03\xb7\x69\x45\x80\xac\xca\x5c\x00\x53\xec\xce\x19\xf3\x61\xc9\x73\x4d\x27\xcd\xff\x49\xca\x7f\x48\xdc\xbd\xbd\x54\xc5\x87\x19\x51\x53\x1b\x45\x37\x85\x7b\x0b\x92\xc8\x37\x55\x0c\x6d\x6d\x7f\xa6\x2c\xf1\xf3\xfd\x2c\x02\x5f\x89\x7b\x26\xbf\x14\xf7\xc0\x0a\x02\xed\xf9\xd5\x13\xd4\x7c\x2f\xbd\x33\x62\x8e\x17\x97\x8f\x69\xc8\x79\x9f\xfe\xa6\xdc\xbd\x48\x3c\x2b\xeb\x5a\xa2\x66\x5a\x10\xc8\x67\x92\xed\x96\x32\x44\x7e\x9f\xe2\x3b\xb3\x39\xcc\x79\x3c\xc0\x63\x0f\xc9\x7f\xb9\xb8\xd3\xf1\x5d\x71\xb6\x87\x82\x8b\xfe\xba\xfc\xab\x8b\xb8\xf3\x51\x10\x36\x6e\x8d\xf2\xf8\x81\x62\xdf\x4b\x87\xbb\x78\x1e\xd8\x63\x64\xeb\x39\xd0\xdc\xaa\xd7\x86\xd0\x7f\x9a\x27\xe7\x7c\xfa\xd1\x55\x4d\x56\x77\x70\xac\xf0\xa9\xfe\x4e\xab\xa8\x9d\x3c\x5a\x68\x27\x0e\x4f\x0a\xd7\xdf\xe1\xe6\x76\x94\xc7\xbd\xfb\xe2\x3c\xb6\x33\xda\x55\x8a\x13\x48\x5f\xc6\xce\xcf\x7c\x47\x6b\xdf\x77\xb2\x5b\xf5\x2e\x85\x11\xe4\xad\xa7\xe4\xa9\x9f\x94\x17\xba\x07\x9a\xb8\xbb\x7c\x7e\x3f\x07\xbf\x8b\xd7\xe0\x4b\xf1\x98\x54\x1f\x13\xc9\x3b\xd1\x9f\xd7\xb5\xf0\x73\x6a\xf2\xd9\xf4\x99\x3c\x1f\x2e\x02\x9f\xe9\x73\x77\xc3\x1c\x66\x17\x78\x0e\xc4\x63\x53\xd2\x01\xf2\x07\x14\xc7\xec\xd8\x17\xcf\xd1\x03\x9a\xcb\x80\xe9\x1e\x9e\x17\xae\x7c\xab\x99\xaf\xff\x9f\xc7\x36\xe0\x1b\xf3\xbb\x53\x56\xa0\x58\x67\xb8\x45\xfd\xf0\xf4\x42\x6d\xd1\xb6\xbd\x71\x1e\xaf\xbf\xbc\x29\x63\x47\xbe\x77\x26\x73\xf4\x94\xe6\xb6\x68\x79\x90\x7f\xf7\xdf\x2f\xe3\x3c\xee\x27\x19\x33\xb9\x83\x69\x87\xe7\x00\xfc\xcc\x8c\x7f\x76\xe2\xce\xc6\x61\xd5\x0e\x3f\xda\x15\xe3\x72\x2d\x6b\x07\xc1\x90\xc6\xcf\x8c\x78\x3e\x55\x99\xb1\x49\x5b\x77\x67\xf2\xc1\x80\xf8\x8e\xe4\xa8\x08\x90\xdc\xfc\xc1\x8a\x77\xdd\x1c\x86\xc8\x7b\xed\x76\x38\x70\x24\xc1\x49\x22\x1a\x4f\x67\x75\x98\x68\xe4\x3d\x5e\x7e\xb6\x24\xb1\xe2\xf5\x66\xee\xbb\x0b\x04\xe9\xe5\x15\x2a\xbc\xb3\x13\xf5\xc4\x49\x2a\x77\xc8\x8c\x20\x5f\x3a\x71\x61\x26\x36\x22\x19\x7a\xee\x8d\xdc\x3b\x7a\x2e\x5f\x8a\xff\xa6\xa3\x00\x9f\x4b\xf1\x71\x3f\x55\xde\x75\x73\x68\x27\xee\xcc\xfb\x0a\x9d\xc3\x82\xa7\x82\xd9\x3b\x8e\x75\x47\x5b\xeb\x29\xc9\x18\xf9\x3f\x05\x1c\xd5\xfb\xa9\x22\xe6\x40\xfb\x30\xc8\xee\x1e\x97\x11\x94\xbb\x92\xee\xf2\xdf\x90\x58\x9f\x35\x5a\x61\x37\x80\x2b\x8b\xe5\xdd\x30\x8f\x4b\xc4\x59\xb9\x92\xc3\x21\x5b\x39\xea\x5e\x1f\x66\x3c\xda\x58\xc8\x19\x91\x44\x54\xd4\x06\xcf\x6d\x0b\xde\x75\x73\xe8\x28\xee\x14\x1f\xb2\x3b\xe3\x80\xb8\xdb\x47\x7a\xaa\x78\x5f\x13\x22\x0f\xdf\x23\xce\xea\x7e\x94\x7b\x11\x22\xce\x38\x4f\x9c\xf5\x1f\xb4\xf3\x75\x64\x77\x14\xf4\x34\x21\x7e\x83\x30\x13\xc0\xd9\x3f\x06\xdf\x26\xf3\xe8\x04\x60\xbc\xb8\x03\x55\x2f\xce\x76\x54\x90\x16\x7e\xf4\x90\xf8\x8d\xdf\x08\xb3\x78\xe0\x27\x9a\x4b\x7b\x71\x17\x65\xa4\xf8\x5d\xcc\x66\x71\xcf\xe9\xb8\xb8\x97\xe2\x15\x67\x23\x5f\x88\x7b\x01\x4b\xc4\xfd\xce\x73\x8c\xbf\x6d\x2a\x6e\xfc\xfa\xf6\x00\x3d\x05\xc5\x19\xeb\x44\xcf\x7a\xc6\x3a\xd0\xb3\x96\xb1\x52\x7a\x56\x31\x56\x42\x4f\xde\x88\xb1\x34\x3d\xef\x67\x2c\x45\xcf\xde\x8c\xc5\xe9\xd9\x89\xb1\x20\x3d\x3b\x30\x56\xaf\x7f\xb6\x67\xac\x56\xff\x2c\x3d\xf1\xac\x62\xfc\x82\x52\xab\x27\xd3\x3f\x4f\x16\x79\xfa\x97\x4f\x23\x3f\x92\x4f\xc9\xb7\x9c\x8f\x7c\xca\x79\xca\x79\xcb\x75\x90\xeb\x92\x5d\x27\xb9\x6e\x41\xb1\x8e\x71\xc6\x7a\xeb\xd7\x59\xac\xfb\xff\x02\x00\x00\xff\xff\xeb\x12\x88\x54\xee\x3a\x00\x00"), + }, + "/static/index.html": &vfsgen۰CompressedFileInfo{ + name: "index.html", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + uncompressedSize: 1314, + + compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4f\x4f\xdc\x3e\x10\xbd\xf3\x29\x86\x5c\x92\xd5\x6f\x37\x11\xb7\x9f\xb6\xc9\x4a\x08\x50\x45\xa5\x96\x4a\x70\xe9\x71\x88\x27\x89\x8b\xd7\xb6\xc6\x13\x28\xaa\xf8\xee\x95\x93\x8a\x25\xd9\xd0\xd6\x97\xf8\xcf\xbc\x97\x37\xcf\x33\x2e\x4f\x2f\x6f\x2e\xee\xbe\x7d\xbd\x82\x4e\xf6\x66\x77\x52\xc6\x0f\x18\xb4\x6d\x95\x90\x4d\x76\x27\x00\x00\x65\x47\xa8\xc6\xe9\xb0\xdc\x93\x20\xd4\x1d\x72\x20\xa9\x92\x5e\x9a\xcd\xff\xc9\xfc\xd8\xe2\x9e\xaa\xe4\x51\xd3\x93\x77\x2c\x09\xd4\xce\x0a\x59\xa9\x92\x27\xad\xa4\xab\x14\x3d\xea\x9a\x36\xc3\x62\x0d\xda\x6a\xd1\x68\x36\xa1\x46\x43\xd5\xd9\x1a\x42\xc7\xda\x3e\x6c\xc4\x6d\x1a\x2d\x95\x75\x6f\xe9\x45\x8b\xa1\xdd\xb9\x21\x96\x3d\x5a\x6c\x89\xcb\x62\xdc\x1b\xc5\x16\x07\xb5\xe5\xbd\x53\xcf\x6f\xa0\xa1\x66\xed\xe5\xb0\x11\x47\x51\xc0\x75\x03\xd2\x11\x13\xe8\x00\xd6\x81\x30\x6a\xa3\x6d\x0b\xc1\x60\xe8\x00\x25\x9e\x02\x59\x05\x6e\x08\x04\x8f\xd2\x81\xb6\xc3\xbc\x67\xb3\x9e\xf3\xa1\x52\xe0\x2c\xe5\x70\xd7\xe9\x00\x64\x43\xcf\x14\x00\x43\x20\x09\x60\xf4\x03\xc1\x28\x24\xff\x1e\x00\x99\xc0\x38\x54\xa4\xc0\xb3\xf3\xc4\xe6\x79\x42\xa7\x1b\xc8\x8c\xab\x51\xb4\xb3\x79\xfc\x71\x34\x36\x0f\xfd\x7d\x10\xce\x36\x67\x2b\x38\xad\x20\x2d\xd2\x15\xfc\x9c\xc0\xe2\x38\x82\x41\xb5\xb0\xf7\x5f\x84\x7f\x38\x02\xd7\xce\x06\x67\x28\x37\xae\xcd\x52\x54\x51\xdf\x60\x47\xba\x9a\xc6\xbe\x1c\xdc\x2d\xe6\xf6\xfe\xf6\x1b\x02\xd7\x55\xf2\x9a\x72\xb2\x7b\x37\x72\x7a\x33\x8f\xc8\x80\xde\x43\x05\x57\x66\x9f\x7f\x46\x6d\xf3\x58\x28\xd9\x71\xa6\x8d\xc1\x36\x6c\x17\x2c\x88\xc3\xb3\x53\x7d\x1d\x93\xde\x82\x70\x4f\xeb\xc5\x28\x45\x0d\xf6\x46\x2e\x98\x50\x1c\x6f\x07\xa3\xcc\xad\x38\xc6\x96\xf2\x96\xe4\x5a\x68\x9f\xa5\xd3\xa8\x74\xb5\xcc\xd5\xb2\xeb\xfd\xd5\x0f\x8f\x56\x9d\x1b\xb3\x85\x4f\xb7\x37\x5f\x72\x1f\xdb\x25\x5b\xa6\x9d\x02\xd2\xd5\xea\x88\xf6\x65\x6a\xfa\xec\x12\xd0\xfb\x3c\xb6\x59\xc8\x3d\x71\xd0\x41\x2e\x27\x3a\x87\x72\xa9\x59\xdf\x53\xd6\xf4\x76\xb0\x22\x8b\x77\xff\x5e\xd1\xbc\x0a\x0c\xef\xe4\xbd\x1e\xda\x7b\x5e\x09\x7f\x13\xf5\x71\x92\xe5\x92\x28\x1a\x0e\x49\xfd\xbb\xb0\x99\x73\xeb\xd1\xeb\x20\xac\x6d\xab\x9b\xe7\x03\xe3\x1f\xc4\x4e\xcb\xb1\x2c\xc6\x47\xa3\x2c\xc6\x17\xf1\x57\x00\x00\x00\xff\xff\x58\x9a\x7f\x3b\x22\x05\x00\x00"), + }, + "/static/lib": &vfsgen۰DirInfo{ + name: "lib", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + }, + "/static/lib/bootstrap-4.0.0-alpha.6-dist": &vfsgen۰DirInfo{ + name: "bootstrap-4.0.0-alpha.6-dist", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + }, + "/static/lib/bootstrap-4.0.0-alpha.6-dist/css": &vfsgen۰DirInfo{ + name: "css", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + }, + "/static/lib/bootstrap-4.0.0-alpha.6-dist/css/bootstrap.min.css": &vfsgen۰CompressedFileInfo{ + name: "bootstrap.min.css", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + uncompressedSize: 150996, + + compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x5b\x93\xe3\x36\x92\x30\xfa\x7e\x7e\x05\xb7\x27\x3a\xda\x6d\x8b\x6c\x8a\xba\x95\xa4\xb0\x63\x76\x26\xf6\x8b\x6f\x22\xec\x79\xd8\xd9\x3d\x2f\xfe\xfa\x81\x22\x21\x89\xd3\xbc\x7d\x24\x55\xc5\xb2\x56\xe7\xb7\x9f\x20\x2e\x24\x2e\x09\x80\xaa\xae\x8b\xda\xe3\xf1\xd8\x45\x01\x89\xcc\x44\x22\x91\x48\x24\xc1\xc4\xa7\xef\xff\xed\xff\x71\xbe\x77\xfe\x52\x14\x4d\xdd\x54\x61\xe9\xdc\xcf\x3d\xdf\xf3\xdd\x30\x2d\x8f\xa1\xb7\x74\xbe\x3b\x36\x4d\x59\x6f\x3e\x7d\x3a\xa0\x66\xc7\x80\xbc\xa8\xc8\x3e\x76\xcd\xfe\x5a\x94\x8f\x55\x72\x38\x36\x4e\xe0\x4f\xa7\x6e\xe0\x4f\x57\xce\x7f\x1d\x11\x87\xee\xdf\x4f\xcd\xb1\xa8\x6a\x2d\xf0\x43\xd2\x34\xa8\x9a\x38\x7f\xcb\x23\xaf\x03\xfa\x39\x89\x50\x5e\xa3\xd8\x39\xe5\x31\xaa\x9c\x5f\xfe\xf6\x5f\x1c\x0b\x49\x73\x3c\xed\x3a\xe2\x9f\x9a\x87\x5d\xfd\xa9\xe7\xe7\xd3\x2e\x2d\x76\x9f\xb2\xb0\x6e\x50\xf5\xe9\xe7\xbf\xfd\xf5\x3f\xfe\xfe\x8f\xff\xe8\xf8\xfb\xf4\xe9\xfb\x7f\x73\xf2\xa2\xca\xc2\x34\xf9\x0d\x79\x51\x5d\x3b\xf7\x8b\xae\x7b\xce\xff\x60\xcc\x94\x98\xf3\x3f\x0e\x87\x3a\x47\x51\x91\x86\xf5\x27\xb1\xdd\xf7\x9f\x8e\x4d\x96\x9e\xf7\x45\xde\xb8\xfb\x30\x4b\xd2\xc7\x4d\x1d\xe6\xb5\x5b\xa3\x2a\xd9\x6f\xd3\x24\x47\xee\x11\x75\x9d\xdb\x4c\xbd\xe9\x62\xeb\x66\xb5\xdb\xa0\xb6\x71\xeb\xe4\x37\xe4\x86\xf1\x3f\x4f\x75\xb3\x99\xfa\xfe\xfb\xad\xfb\x80\x76\x5f\x92\x06\xae\xbd\xec\x8a\xf8\xf1\x9c\x85\xd5\x21\xc9\x37\xfe\x25\xac\x9a\x24\x4a\xd1\x24\xac\x93\x18\x4d\xf6\x45\xd1\x89\xea\x88\xc2\x18\x55\x93\x3c\xbc\x9f\xd4\x28\x6a\x92\x22\x3f\xc7\x49\x5d\xa6\xe1\xe3\x66\x97\x16\xd1\x97\xcb\x71\x4a\xd8\xec\x90\x6f\x02\x94\x6d\x29\x3e\x6f\xb9\x42\x99\xe3\x5f\xf6\xc9\x21\x0a\xcb\xae\xe1\x64\x9f\x1c\x4e\x15\x9a\x64\x61\x22\x23\x21\x35\x8c\x95\x29\xca\x9c\xb9\x5f\xb6\x97\x63\x75\x66\x1d\xd8\x15\x6d\x47\x22\xc9\x0f\x9b\xa8\xc8\x1b\x94\xe3\xa2\xad\xa6\x98\x0a\xc7\xdf\x16\xf7\xa8\xda\xa7\xc5\xc3\xe6\x3e\xa9\x93\x5d\x8a\x2e\x65\x85\x04\xb1\x66\x45\x5e\xd4\x65\x18\xa1\x49\xff\xb4\x1d\xfa\x33\x45\xd9\x25\x3c\xef\xc2\xe8\xcb\xa1\x2a\x4e\x79\xec\x46\x45\x5a\x54\x9b\xa6\x0a\xf3\xba\x0c\x2b\x94\x37\xa2\x84\x63\x14\x15\x55\xd8\x75\xd6\xad\xbf\x24\xe5\xa6\xd8\xfd\x13\x45\x4d\x7d\x09\x37\x61\xd4\x24\xf7\x68\x12\x6e\x8e\x1d\x4b\xe7\xe2\xd4\xe0\x51\x7c\x48\xe2\xe6\xd8\xc9\x7e\xb7\xab\x7e\x6d\x92\x26\x45\x9f\xcf\xbb\xa2\x8a\x51\xe5\xee\x8a\xa6\x29\xb2\x4d\x5e\xe4\x68\x2b\x21\xdf\x60\x75\xed\x10\xe8\x6b\x9c\xb8\x68\x1a\x14\x5f\x76\x93\xba\xa9\x8a\xfc\x40\x7a\xfd\x40\x04\x93\xe4\x47\x54\x25\x0d\x5c\xb9\x2b\xd2\x18\x55\x97\xa8\x88\xd1\xe4\xcb\x2e\x9e\xd4\x61\x56\x5e\x29\xb3\x78\x9f\x53\xad\x68\x1e\x53\xb4\x49\x9a\x30\x4d\xa2\x4b\x16\x56\x5f\x54\x61\xfe\x69\xbf\xf7\xb7\xf4\xd1\xf7\xfd\x4b\x9d\x85\x69\xca\xe9\xd4\x9d\xff\xfe\x52\x9f\x76\x93\xfa\x54\x72\xa5\xab\xc5\x7b\x61\x1e\xf8\xdb\xb2\xa8\x13\x2c\x82\x0a\xa5\x61\x27\xec\xed\x3d\xea\x34\x3a\x4c\xdd\x30\x4d\x0e\xf9\x66\x17\xd6\xa8\x6b\xd2\x61\x3b\x53\xe9\xba\x5e\xb0\x40\xd9\xa5\xc3\xdd\x14\xe5\xc6\xf5\xba\x5f\xe1\x29\x4e\x8a\xc9\x7d\x12\xa3\xa2\xd7\xd3\x24\xc7\xd4\x88\xba\x62\x80\x4d\x5e\x34\xdf\xfd\xda\x69\x5d\x55\xa4\xf5\xe7\x8f\x3d\x28\x1e\x31\xc6\xd6\x25\xc9\x0e\x6c\x44\x89\x30\xba\xea\x4b\x7d\x7f\xc0\xed\x37\x55\x51\x34\x1f\xcf\xbd\x9a\x1e\x93\x38\x46\xf9\x65\x77\x6a\x9a\x22\x9f\x24\x79\x79\x6a\x26\x45\xd9\x74\x02\x2b\x27\x35\x4a\x51\xd4\x4c\xba\x21\x0f\x2b\x14\xea\xcc\x03\x37\x14\x9d\x09\x50\xac\x45\x3f\xe1\x79\x2a\x67\x65\xa6\xd0\x5a\x42\xf4\x8c\xf5\x0c\xeb\xfd\xbe\xa8\x88\x56\x5e\x7e\x6d\x1e\x4b\xf4\x63\x85\x6a\xd4\x7c\x9e\x90\x1f\xf5\x69\x97\x25\xcd\xe7\x09\x6d\xdc\x59\x31\x87\xd4\x90\x92\xcf\xfd\x84\x0e\xcb\x12\x85\x55\x98\x47\x68\x43\xaa\x2e\x02\xdc\x66\xe3\x66\xc5\x6f\xee\xbe\x88\x4e\xb5\x9b\xe4\x39\xaa\x26\x3c\x39\x6d\x35\x65\x00\xa8\x27\x88\xd5\x0a\x75\x74\xb6\x65\x18\xc7\x9d\x49\xf1\x25\x9e\x86\xa6\x55\x92\x1f\x44\x86\xc0\x3a\xc6\x8d\x54\x49\x59\x11\x4b\x99\x4d\xd8\x4c\xcb\x96\x4e\x5e\xe7\x2f\x18\xf0\xbf\x50\xdb\x5c\xf6\x09\x4a\xe3\x1a\x35\x94\x5d\x0c\x55\x17\x69\x12\x3b\x75\x92\xde\xa3\xaa\x1f\x56\x27\x28\xdb\xbe\x07\xde\x6c\x81\x32\xc7\x5b\x06\xf8\xcf\xaa\xd3\xee\x14\x1d\x50\x1e\x43\x86\xb5\x37\x3c\x82\x5d\xe5\x4a\xc9\x2c\xa5\xc6\x63\xcb\xf4\xbd\x09\x77\x29\xda\x66\x61\x4b\xad\x19\xd6\xba\x5e\x84\xdb\x87\x63\xd2\x20\x17\x5b\x89\x0d\x59\xe5\x2e\x65\x55\x1c\x2a\x54\xd7\xe0\xec\xd2\x4e\xdb\x5e\xef\x7b\x55\x0d\x4f\x4d\x41\x87\x28\x3a\xa2\xe8\xcb\xae\x68\x99\x22\x56\x61\x9c\x14\x9f\x9f\xd4\x4b\x79\xf4\xf3\x53\xb6\x43\x55\xa7\x52\x14\x19\x56\x1b\xb7\x2e\x93\xdc\xa5\x7a\xae\x01\x2c\x4e\x8d\x08\x78\xa6\xf3\x90\x63\xbc\x46\x61\x15\x1d\xc1\x79\xd1\x75\x18\x0f\xfb\x96\x2d\x17\xc5\x7e\x5f\xa3\x66\xe3\x06\x65\x2b\x36\x1f\x68\x92\x02\x37\xea\x30\xa4\x22\x7f\x3a\xd8\x61\xf9\x80\xb8\xc0\x53\x7d\x68\xb3\x4f\x52\xe4\x9e\xca\xb4\x08\x63\xd6\x29\xed\x94\xc6\xa6\xa8\x5f\x6c\x62\xd4\x84\x49\x5a\x4f\x32\x94\x9f\xa4\xf5\xbf\x3e\x65\x59\x58\x3d\xf6\xa5\x69\x52\x37\x6e\xd2\xa0\xec\x12\x85\xf9\x7d\x08\x2b\xca\xa5\x41\x59\x99\x86\x0d\x12\x2c\xef\xe5\x57\x62\x43\x3f\x8b\xa5\x7f\xce\x50\x9c\x84\x4e\x59\x25\x79\x73\xfe\x7e\xb2\xd9\x84\xfb\xce\xbd\xd9\x6c\x76\x68\x5f\x54\x68\x82\x31\xfe\xdf\x53\xd1\xa0\xcd\x66\x9f\x54\x75\xe3\xa6\x08\xfb\x8a\x40\x45\x92\xa3\x49\x9c\xdc\x4b\x80\x7c\x49\x07\x91\x26\x12\x00\x57\xd0\xd5\x97\x52\x75\xc9\xd7\x12\x7b\x5b\x1f\xc3\xb8\x78\xc0\x1d\xf8\xb7\x24\x2b\x8b\xaa\x09\x39\x8f\x03\x6b\x2f\x08\xa1\xad\xb9\x84\x93\x10\x1b\xf8\x06\xc5\x67\xad\xeb\xc0\x7b\x23\x54\x50\x67\xea\x5d\x6d\xde\x39\xdf\xbd\x73\xc2\xa6\xa9\xbe\xc3\xf5\x1f\x9d\x77\x1f\xdf\x61\xa7\x8a\x9f\xe6\x65\x85\xdc\x87\x2a\x2c\x39\xc2\x83\x18\x27\x1d\xb4\x62\xc4\xfe\xb4\x5e\xaf\xb7\x65\x78\x40\xee\xae\x42\xe1\x17\x37\xc9\x3b\x2f\x74\x13\xde\x17\x49\x7c\x69\x3a\x2f\xf4\x2c\xd8\x1b\x97\x38\xa6\x2e\x5e\x19\xbb\x45\x76\xd2\x54\x67\x5d\xfb\x63\x30\x39\xce\x26\xe5\xb9\xa8\xca\x63\x98\xd7\x9b\xd9\xf6\x21\x89\x8b\x87\x7a\x33\x23\x55\x7c\x43\xdc\x5d\xda\xce\xcb\xc3\xfb\x5d\x58\x89\x9a\xe4\xed\xc2\xf8\x00\xf5\xa0\x73\x5e\x3c\xcc\x1c\x5b\x52\xa2\x22\x4d\xc3\xb2\x46\x1b\xf6\xc0\x09\x84\x40\x3a\x4d\x3c\x61\x4f\x47\xd0\x37\xda\x2b\x6d\x5c\x82\x1d\xc5\x43\x63\xae\xe8\x08\x70\x16\xc7\x31\x87\xe5\x82\xf7\x16\x4f\xb0\x8c\x17\x75\xde\x40\x68\xd8\xfa\xa0\x16\x5d\xfe\xdc\xed\x54\xee\x13\xf4\xd0\xf1\x72\x26\xcb\x45\x8c\xee\x93\x88\x7a\xc2\x94\xb5\xac\x76\x99\x8d\xa7\xcb\x72\x1d\x55\x45\x9a\xee\xc2\x6a\xf0\xb7\xc3\xd2\x3d\x26\x87\x63\xda\x19\x54\xd5\x2f\x27\x7b\x1b\xde\x43\xea\xcc\x53\x8a\xdc\xfa\xb1\x6e\x50\x36\x21\x7f\xdc\x53\x32\xf9\x4b\x9a\xe4\x5f\x7e\x09\xa3\x7f\xe0\x92\xff\x55\xe4\xcd\xe4\xdd\x3f\xd0\xa1\x40\xce\x7f\xff\xed\xdd\xe4\x3f\x8b\x5d\xd1\x14\x93\x77\xff\x1b\xa5\xf7\xa8\x5b\x96\x9c\xbf\xa3\x13\x7a\x37\xf9\xf7\x2a\x09\xd3\x09\xec\x75\x55\x28\xdb\xf2\x0e\xf5\xdc\xf7\x25\x2f\x6c\xc1\x1c\xde\x60\x1d\xec\x82\x68\x0b\x0e\xfc\xe5\xd7\x26\xdc\x25\x79\x8c\xda\x1f\xdf\xb9\xd3\x77\x9f\x37\xd8\x55\xe8\xdd\x04\x9f\x1b\xd2\xe3\x74\x42\x74\xfc\x38\x9f\x1c\x17\x93\xe3\x92\x6e\xa5\xdc\xce\xa9\xf5\xa9\x6b\xc0\x76\x14\xde\xa2\x42\xd9\xa5\x34\x81\x74\x5d\x20\x56\x20\x0e\x9b\xd0\x2d\xaa\xe4\x90\xe4\x61\xea\x12\x9b\x30\xe1\x77\x2b\xd1\xa9\xaa\x8b\x6a\x73\x44\x69\x79\x09\xe3\x18\x2f\xeb\x2a\xb2\x2d\xb7\x1b\x20\x4e\x80\x20\x91\x7e\x89\x48\x27\x45\x3a\x39\xa5\x56\xde\x8a\xd4\x29\x3a\x58\xe7\xd4\x81\x3b\xb8\x91\x33\xb4\xa3\xa0\xfe\x25\x6e\x84\xad\xcd\xca\xf7\x2f\x71\x7c\x06\xe4\xc1\x88\xa4\x68\xdf\x79\xed\x83\xb9\xea\xf7\xc7\x8e\xef\x10\xb1\x9c\xd9\x66\x25\x58\x2d\xe2\x3b\x65\x07\x86\x8d\x44\x48\x06\xab\xdf\xef\xb1\x26\xd3\x79\x74\x17\xe9\x37\x6d\x97\x90\xec\x2a\x8e\x15\xda\x7f\xfe\x48\x9e\x99\x12\x7c\xfe\x78\x16\xfd\x2f\x0d\x61\x03\x82\x9e\x29\x13\x0c\xcf\xf0\xd7\x92\x1a\x94\x15\xaf\x11\x96\x51\xdd\x8a\x8e\x9d\x18\x14\xe8\xe5\xdf\x6d\xa8\x24\x17\x31\x4b\xe2\x38\x45\x97\x5f\xab\x22\x1d\x36\x1a\x54\x31\xcb\x22\xc9\x1b\x54\x89\x95\x93\x70\xd2\x79\x92\x13\x61\x9f\x95\x86\x3b\x94\xb2\x4d\x16\xf5\x48\x86\xcd\x16\x8e\xb1\x14\xa7\xe8\xe8\x86\x38\x0c\xb2\xc9\xc2\x3c\x29\x4f\x29\x16\xc8\x56\x5b\x73\x31\x2f\x08\xea\xcc\xe7\x6d\x18\x0d\x9c\x9c\xa9\x47\x8a\x05\xe7\xad\xb0\xba\xb2\x22\xa6\xc3\xa4\x94\xaa\xd9\x72\xb6\x8c\x56\x01\x19\x35\x22\xa1\x4e\xad\xb7\x14\x9d\x8b\x57\x46\xd2\xf0\xd2\x1c\xcf\x12\xd8\x05\xcb\x01\x76\xcd\x21\x43\x42\x37\x33\xe2\x78\x0f\x7b\x18\xe6\xbb\x6e\x16\x65\xeb\x74\xe3\xea\xf4\x9e\x24\xde\x83\x75\x5b\x1f\xd2\x75\x71\xd7\x2b\x6f\x76\x21\x73\x81\x21\x25\xff\x7f\x13\x27\x75\x27\xf2\x78\xc2\xd5\x92\xdd\x40\x5f\xc5\x74\x23\x2f\xba\x8e\xa7\xc5\x03\x8a\x79\x5c\x71\xd8\xa0\xcf\x7c\xf3\x26\xc9\xc4\x82\x0e\xa2\x2b\x74\xd3\x22\x0a\x53\xa1\x2a\x2b\xf2\x06\x76\xe7\x3b\xa7\xb6\x5b\x45\xfb\x2e\x55\x08\xaf\x17\x4c\x99\x87\x2d\x5e\x96\xe4\x2c\x32\xc4\x6d\xa4\xd8\x44\xd8\xd2\x05\xde\x67\x5b\x39\xc1\x97\xde\x82\x9b\x30\xc8\xe2\x71\x2b\x16\x29\xb0\x88\xd8\xb0\x53\xc1\xf6\xa0\x38\x35\xe5\xa9\x81\x5d\x75\xd0\x29\xe7\x3d\x9b\xe3\x74\xe2\x1d\x83\x89\x77\x9c\x4d\xbc\xe3\x7c\xe2\x1d\x17\x13\xef\xb8\x9c\x68\x17\x36\xb5\x27\x74\x99\x67\x26\x8b\x37\xfb\x0b\x65\x01\x9e\x8a\x7b\x59\x4c\x5f\x8c\x64\x12\xe5\xee\x78\x3a\x06\x7c\x39\x29\x9d\x75\x5e\x23\x2f\xc0\x15\x05\x9f\x4f\x8e\xf3\xb3\x2c\xd9\x4b\xd7\x9d\xe3\x42\x28\x0f\x68\xc5\xb2\xeb\x94\xe8\x3c\x5c\xbc\xb4\xf3\x77\x15\x68\xa1\x4f\xb3\xce\xdb\xa4\xd2\x74\x79\xce\x97\x00\xa4\xdc\xfb\xa1\x25\xdf\xb7\x85\x07\x51\xd1\xb7\xe5\x25\x30\xbf\xb2\x2d\x2f\xa4\xd9\xb8\xb6\xc7\x8a\x5f\x40\xa6\xdc\xa2\xcd\xaf\x21\x6c\x72\xd0\x07\x02\xdb\xbb\xc2\xd5\x61\x17\x7e\xe7\x4f\xba\x7f\xbc\xe9\xc7\x8b\x87\x83\x8d\x13\x20\xe4\x28\x3b\x70\x17\x2f\x0b\xab\x2f\x13\x1c\xc2\xec\x83\x2b\x41\x47\x4f\x75\xdd\xa2\xfd\x1d\x9a\x5d\x3c\xbc\x89\x3d\xe5\xd8\xe9\x89\x7b\x1b\x4e\x1c\x8c\x2d\xae\xe4\x02\x82\x04\x9a\xcc\x99\x6b\x60\xf1\x2e\x19\x9e\x73\x0a\x18\x89\x38\xa6\x61\xdd\xb8\xd1\x31\x49\xe3\x8f\x4c\x9e\x15\x99\x25\x65\x7b\xf1\x92\x3c\x69\x92\x30\x4d\xea\x8c\x93\xc7\xda\x7f\xbf\x95\x02\x80\xa7\xb2\x44\x55\x14\xd6\xdd\x7e\x68\xf0\x95\x7a\xc9\x74\x03\xea\xe8\x86\x48\x55\x6c\x3a\x56\xb8\xbf\xa4\x88\x6d\x5d\x50\x84\x10\xda\xf3\x44\x5c\xf2\x66\x42\xb2\x7a\xe2\xe0\x09\xeb\x20\xd0\xb8\xdf\xbe\xf4\xdb\xda\xff\x13\xf8\xd3\xb9\xf3\x7f\x7c\xff\xdf\xfd\x77\x42\x83\x0a\xdd\xa3\xaa\x1e\xc6\x84\xc8\x6a\xca\xaf\xc1\x74\x98\xb8\x75\x14\x03\xb1\x5e\x91\x16\x50\xb7\x84\x7e\xfb\x10\x59\x67\x0c\xef\x20\xc3\x60\x4b\x69\x2f\x8f\xbb\xeb\xe0\xae\xbf\xbb\x78\x49\x76\x70\xf7\xe9\x29\xe9\xfc\x63\x21\x96\xc7\x07\xad\x30\x54\x73\x3c\x65\xbb\x3c\x4c\x52\x6e\x2a\x90\x71\x84\xf6\x31\x5b\x70\x43\xda\x4b\x27\x8c\x93\x53\xcd\x10\xf4\xbb\xbb\x4e\xd1\x48\x38\x3f\x4c\x53\xc7\x0b\x6a\x07\x85\x35\x72\x93\xdc\x2d\x4e\xcd\xd6\x2d\x6c\x10\x96\x6a\x53\x0f\xa9\xdf\x09\xcf\x29\x52\xe9\x76\x4e\x28\xb4\x12\x09\x36\xab\x87\x66\x7e\x9c\x38\xa3\x44\x25\xed\x5f\xb7\x94\x15\x52\x5f\xb9\xfc\x82\xf2\xb4\x98\xfc\x52\xe4\x61\x54\x4c\xfe\x5a\xe4\x75\x91\x86\xf5\xe4\xdd\xcf\xc9\x0e\x11\x97\xdc\xf9\xa5\xc8\x8b\x77\x93\x77\x7f\x2d\x4e\x55\x82\x2a\xe7\xef\xe8\xe1\xdd\xf0\x7a\x06\x63\xe7\x06\xab\xd3\x44\x6f\x2e\xce\x45\x8e\xa5\x5d\x3c\x9f\xce\x57\xd0\x68\xae\xf6\xab\xfd\x1a\x1c\xba\x4b\xf8\x93\x40\xc4\x97\xa2\xc5\x0a\x32\xb6\xf4\x7e\xd9\xc5\xe3\x39\xc3\xea\xa4\xb0\xc5\x76\xd1\x12\x5b\x1d\x57\x5f\x76\xb1\xc3\x53\xf0\xe5\xd7\x23\xf2\xf6\xb0\xe4\x86\x5e\x70\x7a\xb5\xbb\x16\x90\x51\xc2\x52\x87\xcd\x91\xc4\x32\x80\x33\xd1\x58\x04\xc5\xbf\x6d\x14\xbb\xe8\x5f\xbc\xb2\x42\x2e\x09\x8e\xe0\x7d\x46\xa7\xd7\x54\xfd\x66\x73\xbf\x6c\xfb\x2d\x95\xfb\x48\x63\x28\x17\xaf\x9b\xfe\x61\x92\xa3\xea\xac\xbe\x32\xe3\x77\xc1\xdd\x6c\xd8\x0a\x2b\x04\x2e\x91\x0c\xe1\x62\x78\xdb\x40\x9a\x75\x25\x2c\xdc\xfa\xdd\xe0\xc9\x2e\x56\xcb\xb2\xfd\x78\xe6\xa9\x8f\x41\x04\x60\x5a\x2d\xef\x9e\x09\xd3\x7a\x1d\x3c\x13\xa6\x69\xe0\xfb\xcf\x84\x4a\x15\x14\x2d\xc7\xe3\x29\x1a\xae\x71\xe2\xa1\xe5\xc1\xb8\xf6\xaa\x50\x68\xf9\x72\x5c\x7b\x40\x14\xb4\x62\x0a\xf6\x60\x80\xa3\xab\xcf\x9b\x6a\x25\xe3\xe1\xb9\x74\xf3\x2b\xf1\x29\x83\xf1\x95\xf8\xd4\xc1\xb9\x0a\xa1\x57\x15\x0f\xbd\x75\xe4\x42\xbf\x5b\xb9\x6c\x9f\x22\xae\x30\xab\x71\x01\x0f\x88\x01\x78\x68\xfc\xc2\x60\xd3\xfd\x67\xcb\xe0\xb9\x22\xe9\xa7\x30\xfe\x2e\xe6\x96\xd7\x11\xd7\x32\xda\x5d\x2f\x46\xa1\x30\x8c\xf0\xd7\xe0\x60\xa3\xfa\x35\x38\xfa\x91\x1c\x8f\xc4\xcb\x0b\xf7\x70\x6a\x1a\x54\xd5\x62\x0b\x5f\x8a\x7e\x72\x80\x3f\x79\x51\x91\x4e\xf8\x82\x5f\xa3\x34\xac\xeb\xef\x7f\x8c\x8a\xd4\xfd\x2c\xe9\x8d\x2f\xf9\xc4\x17\xd2\xba\x03\x9d\xd2\x3f\x3e\xfd\xcb\x7e\x07\xe4\x2f\xfd\x33\x23\x7f\xe6\xe4\xcf\x82\xfc\x59\x92\x3f\x2b\xf2\xe7\x8e\xfc\x59\x93\x3f\xe9\x81\xfd\x65\x14\xba\x27\x7f\x78\xe4\x4a\x83\xfe\x71\x78\x9a\xf5\x4f\xf3\xfe\x69\xd1\x3f\x2d\xfb\xa7\x55\xff\x74\xd7\x3f\x51\x16\xb2\x98\xfd\x65\x2c\x74\x4f\xfe\xf0\xc8\x95\x06\xfd\xe3\xf0\x34\xeb\x9f\xe6\xfd\xd3\xa2\x7f\x5a\xf6\x4f\xab\xfe\xe9\xae\x7f\xa2\x2c\xd4\x19\xfb\xcb\x58\xe8\x9e\xfc\xe1\x91\x2b\x0d\xfa\xc7\xe1\x69\xd6\x3f\xcd\xfb\xa7\x45\xff\xb4\xec\x9f\x56\xfd\xd3\x5d\xff\x44\x59\x68\x53\xf6\x97\xb1\xd0\x0e\xa3\xdd\x0e\x03\xde\x0e\x63\xde\xf6\xc3\xde\xf6\x23\xdf\xf6\x83\xdf\xf6\xe3\xdf\xf6\x2a\xd0\xf6\x5a\xd0\xf6\x8a\xd0\xa6\xee\x1a\x58\x33\x38\xef\xbe\x9b\x34\xcc\x27\xe7\xec\xda\x93\x97\x8a\x3f\x34\xfa\x0f\x8d\x7e\x79\x8d\xfe\x6a\x0f\xe4\x0f\x35\xfd\x43\x4d\x6f\x56\x4d\x07\xc7\xf6\x0f\x35\xfd\x43\x4d\x6f\x56\x4d\xb9\xfd\xd2\x1f\x7a\xfa\x87\x9e\xde\x88\x9e\x76\xf0\x67\x61\xf3\xbc\x0b\xeb\xa4\xde\xf8\xc3\xd6\xb9\xac\xd0\x1e\x55\x15\x8a\x49\xa8\xd1\xdf\x8a\x60\xdc\xa9\xad\xae\x62\x33\x15\xf7\xe2\x87\xaa\x78\xe8\xca\x7a\x6c\xd8\xbd\xbe\x47\x9b\xe9\x96\xaf\x97\x42\x39\xb8\x1b\xe1\xa9\x29\xce\x0a\x7e\x5f\xc0\x8f\x0f\x73\xe0\xb0\x0d\xa3\x30\x94\x88\xbf\x08\x76\x12\x97\xc7\xd3\x6c\x14\xea\x3b\x6f\x86\xff\xf7\x5e\xc4\x3f\x14\x03\x45\x43\x5f\xfa\x32\x42\x32\x18\x45\x72\xba\xf4\x96\xdd\xff\x56\x12\x4d\xae\x1c\x2a\xe3\x24\xd8\x17\x12\xb2\xb3\x51\x64\x83\x85\x44\xaf\x2b\x10\x7e\x0c\x14\x82\x05\x45\x3d\x1f\x85\x7a\x36\x83\xa5\xc8\x95\x43\x65\x03\xbd\xa1\x90\x90\x5d\x8c\x22\x3b\x9f\xc2\x82\xe4\xca\xa1\xb2\x81\xec\x50\x48\xc8\x2e\x47\x91\x5d\xf8\x12\xbd\xae\x40\xf8\x31\x50\x58\x30\x5d\x5f\x8d\x43\xad\x51\xc7\x05\xa0\x8f\x0b\x48\x21\x17\x92\x46\xde\x8d\x22\xbb\xd4\x68\xe4\x12\xd0\xc8\x25\xa4\x91\x4b\x49\x23\xd7\xa3\xc8\xae\x64\x8d\x5c\xf1\x1a\xb9\x12\x34\x72\xc5\x34\x72\xea\x8f\x9b\xd7\x1a\x95\xbc\x03\x54\xf2\x0e\x52\xc9\x3b\x49\x25\xa7\xe3\xec\xc9\x5a\xa3\x93\x6b\x40\x27\xd7\x90\x4e\xae\x25\x9d\x9c\x8e\x34\x2a\xbe\xac\x95\xe4\x95\x95\xf0\x4b\x36\xc2\xe5\x29\x4d\x5d\xff\x5c\x71\x6f\x34\x71\xd1\x94\x16\x71\xca\x84\xcb\x03\x5a\xce\x1b\x20\x5c\x31\xa3\x15\xd8\x6e\xe0\x92\x39\x2d\xe1\x67\x36\xae\x58\xd0\x0a\x7e\xee\xe1\x8a\x25\xad\x58\xf4\x9c\xad\x58\x89\xcc\xc7\x1d\xad\x58\xca\x7c\xac\x69\xc5\xaa\xe7\x63\xca\xba\x77\x27\x33\x32\x65\xbd\x5c\xcb\x9c\x4c\xfb\x7e\x52\x29\xd5\x47\xd7\x3f\xf7\xaf\x14\x68\xc9\x94\x94\x08\xbc\xd5\x47\x37\x20\xc5\xa2\x88\xea\xa3\x3b\x23\xe5\x54\x42\xf5\xd1\x9d\x93\x02\x51\x40\xf5\xd1\x5d\x90\x72\x51\x3e\xf5\xd1\x5d\x92\xf2\x45\xcf\xd2\x8a\x16\xc8\x1c\xdc\x91\xf2\xa5\xcc\xc1\x9a\x94\xaf\x7a\x0e\xa6\xb4\x53\x77\x32\x0b\x53\xda\xb7\xb5\xcc\xc3\x94\xf5\x0e\x0b\x86\x7c\x62\xe2\x4e\xcf\x7c\x48\x98\xe3\x86\xd6\x07\x42\x3d\x2f\x18\x0a\x30\x13\x00\xb0\x84\x68\xcd\x5c\xa8\xe1\x45\x45\x01\x16\x02\x00\x2f\x33\x0a\xb0\x14\x00\x16\x1c\xdb\x2b\xb1\x46\xe5\xfb\x4e\x00\x58\xaa\x7c\xaf\x05\x80\x15\xc7\xf7\xd4\x17\x65\xa2\x32\x3e\x15\xa5\xc6\x49\xda\x18\x4e\x74\xeb\xec\x56\xbd\xb9\x3a\x7b\x61\x87\xae\xf3\xe4\x5f\xdf\xa7\xeb\x36\x0d\x6f\xe3\xd6\x75\x9b\x94\x97\xf3\xec\xba\x8d\xcf\xdb\x38\x77\xdd\x46\xeb\x6d\xfc\xbb\x6e\x63\xf7\x72\x2e\x5e\xb7\x59\x7c\x1b\x2f\xaf\xdb\x9c\xbe\x8d\xa3\xd7\x6d\x86\x5f\xce\xd7\xc3\x3b\xfa\xb7\x71\xf7\x70\x04\xe1\x6d\x3c\x3e\x1c\xb1\x78\x61\xa7\xaf\xce\x20\xbf\x0f\x5b\x58\xd8\xf5\xc3\x66\x50\xe3\xfd\x61\x43\x25\x3b\x80\xd8\xbe\x68\x7c\x40\x6c\x01\x34\x6e\x20\x9e\xa3\xb2\x27\x88\xa7\x96\xc6\x19\xc4\xca\xaf\xf1\x07\xb1\x7a\xca\x2e\x21\xd1\x2a\x8d\x57\x48\xc6\x5d\xe3\x18\x92\x91\x51\x7c\x43\x2c\x4c\xd9\x3d\xc4\xb2\x04\x3d\x44\x2c\x4a\xd8\x49\xc4\x92\x94\xfc\x44\x2c\x48\xd8\x55\xc4\x72\x84\xbd\x45\x2c\x46\xc9\x61\xc4\x52\x84\x7d\x46\x2c\x44\xd8\x6d\xc4\x32\x94\x3c\x47\x22\x42\xd8\x79\x24\x12\x84\xfd\x47\x22\x40\xd5\x85\xc4\x12\x94\x0e\x16\x0c\x55\x36\x07\x13\x0b\xd4\xe2\x63\x62\xc9\xea\xdc\x4c\x2c\x62\x8b\xa7\x89\x65\x6d\x71\x36\xb1\xd0\x75\xfe\x26\x96\xbe\xc5\xe5\xc4\xc3\x60\xf1\x3a\xf1\x78\xe8\x1c\x4f\x32\x30\x16\xdf\x93\x8c\x90\xc6\xfd\x34\xbf\x27\x74\xb3\xf8\x56\xfd\xcf\x2c\x7e\x61\xff\x33\x8b\xdf\xc2\xff\xcc\xe2\xb7\xf2\x3f\xb3\xf8\x25\xfd\xcf\x2c\x7e\x2b\xff\x33\x8b\xdf\xca\xff\xcc\xe2\x97\xf4\x3f\xb3\xf8\xad\xfc\xcf\x2c\x7e\x2b\xff\x33\x8b\x5f\xd2\xff\xc4\x2f\xb5\xde\xc6\xff\xc4\x2f\xd1\xde\xc6\xff\xc4\x2f\xed\x5e\xd8\xff\xcc\x62\xc8\xff\xc4\x16\x16\xf6\x3f\xb1\x19\xd4\xf8\x9f\xd8\x50\xc9\xfe\x27\xb6\x2f\x1a\xff\x13\x5b\x00\x8d\xff\x89\xe7\xa8\xec\x7f\xe2\xa9\xa5\xf1\x3f\xb1\xf2\x6b\xfc\x4f\xac\x9e\xb2\xff\x49\xb4\x4a\xe3\x7f\x92\x71\xd7\xf8\x9f\x64\x64\x14\xff\x13\x0b\x53\xf6\x3f\xb1\x2c\x41\xff\x13\x8b\x12\xf6\x3f\xb1\x24\x25\xff\x13\x0b\x12\xf6\x3f\xb1\x1c\x61\xff\x13\x8b\x51\xf2\x3f\xb1\x14\x61\xff\x13\x0b\x11\xf6\x3f\xb1\x0c\x25\xff\x93\x88\x10\xf6\x3f\x89\x04\x61\xff\x93\x08\x50\xf5\x3f\xb1\x04\x61\xff\x13\xcb\xd1\xec\x7f\x62\x81\x5a\xfc\x4f\x2c\x59\x9d\xff\x89\x45\x6c\xf1\x3f\xb1\xac\x2d\xfe\x27\x16\xba\xce\xff\xc4\xd2\xb7\xf8\x9f\x78\x18\x2c\xfe\x27\x1e\x0f\x9d\xff\x49\x06\xc6\xe2\x7f\x92\x11\x1a\xef\x7f\x72\x07\x80\xdc\xf4\x70\xab\xfe\x67\x7a\x78\x61\xff\x33\x3d\xbc\x85\xff\x99\x1e\xde\xca\xff\x4c\x0f\x2f\xe9\x7f\xa6\x87\xb7\xf2\x3f\xd3\xc3\x5b\xf9\x9f\xe9\xe1\x25\xfd\xcf\xf4\xf0\x56\xfe\x67\x7a\x78\x2b\xff\x33\x3d\xbc\xa4\xff\x89\xcf\x75\xbd\x8d\xff\x89\xcf\x91\xbd\x8d\xff\x89\xcf\xad\xbd\xb0\xff\x99\x1e\x20\xff\x13\x5b\x58\xd8\xff\xc4\x66\x50\xe3\x7f\x62\x43\x25\xfb\x9f\xd8\xbe\x68\xfc\x4f\x6c\x01\x34\xfe\x27\x9e\xa3\xb2\xff\x89\xa7\x96\xc6\xff\xc4\xca\xaf\xf1\x3f\xb1\x7a\xca\xfe\x27\xd1\x2a\x8d\xff\x49\xc6\x5d\xe3\x7f\x92\x91\x51\xfc\x4f\x2c\x4c\xd9\xff\xc4\xb2\x04\xfd\x4f\x2c\x4a\xd8\xff\xc4\x92\x94\xfc\x4f\x2c\x48\xd8\xff\xc4\x72\x84\xfd\x4f\x2c\x46\xc9\xff\xc4\x52\x84\xfd\x4f\x2c\x44\xd8\xff\xc4\x32\x94\xfc\x4f\x22\x42\xd8\xff\x24\x12\x84\xfd\x4f\x22\x40\xd5\xff\xc4\x12\x84\xfd\x4f\x2c\x47\xb3\xff\x89\x05\x6a\xf1\x3f\xb1\x64\x75\xfe\x27\x16\xb1\xc5\xff\xc4\xb2\xb6\xf8\x9f\x58\xe8\x3a\xff\x13\x4b\xdf\xe2\x7f\xe2\x61\xb0\xf8\x9f\x78\x3c\x74\xfe\x27\x19\x18\x8b\xff\x49\x46\x68\xbc\xff\xc9\x9f\xec\x75\xdb\x9b\x3d\x4e\xd9\xbe\xf4\x89\xca\xf6\x4d\x0e\x55\xb6\x6f\x76\xae\xb2\x7d\xd1\xa3\x95\xed\x9b\x9d\xae\x6c\xdf\xec\x80\x65\xfb\xa2\x67\x2c\xdb\x37\x3b\x66\xd9\xbe\xd9\x49\xcb\xf6\x45\x0f\x5b\xb6\x6f\x77\xde\xb2\x7d\xbb\x23\x97\xed\x2b\x9c\xba\x6c\xc1\x83\x97\xad\xfe\xec\x65\x6b\x38\x7e\xd9\x42\x27\x30\x5b\xc3\x21\xcc\xd6\x70\x0e\xb3\x85\x8e\x62\xb6\x86\xd3\x98\xad\xe1\x40\x66\x0b\x9d\xc9\x6c\x4d\xc7\x32\x5b\xd3\xc9\xcc\x16\x3e\x9c\x89\x85\x29\x3b\xa0\x58\x96\xa0\x03\x8a\x45\x09\x3b\xa0\x58\x92\x92\x03\x8a\x05\x09\x3b\xa0\x58\x8e\xb0\x03\x8a\xc5\x28\x39\xa0\x58\x8a\xb0\x03\x8a\x85\x08\x3b\xa0\x58\x86\x92\x03\x4a\x44\x08\x3b\xa0\x44\x82\xb0\x03\x4a\x04\xa8\x3a\xa0\x58\x82\xb0\x03\x8a\xe5\x68\x76\x40\xb1\x40\x2d\x0e\x28\x96\xac\xce\x01\xc5\x22\xb6\x38\xa0\x58\xd6\x16\x07\x14\x0b\x5d\xe7\x80\x62\xe9\x5b\x1c\x50\x3c\x0c\x16\x07\x14\x8f\x87\xce\x01\x25\x03\x63\x71\x40\xc9\x08\xe9\x1c\x50\x9a\x18\x9a\xff\x2a\x5d\x4c\x41\x05\x24\xb9\x85\x52\x44\xf7\x99\x92\x48\xc2\x4f\x29\x11\x6a\x53\x94\x70\xde\xbb\x3e\x8f\x1a\x43\x84\x42\x9c\x2b\x5a\xce\xb5\x8f\xa9\x6f\xc5\x1b\x48\x02\x2d\x96\x5d\x11\x3f\xfe\x80\xff\x7b\xe6\xa8\x6a\xe1\x59\x72\x6c\x30\xd9\x31\x4d\x64\x5d\x67\x5c\x56\xeb\xee\x07\xd7\xe5\xd9\x20\x94\x3e\xe1\x35\x90\xed\x5a\x20\x7a\x7d\xb2\x6c\x5d\x73\x22\x32\x08\x09\x95\xa5\x20\x35\xe6\x18\x96\x6d\xdf\xb3\xa6\x4a\xca\x0e\xbe\x93\x97\xd3\x54\x9b\xbc\x39\xba\xc5\xde\x6d\x1e\x4b\xf4\x5d\x11\xc7\x1f\x55\xc1\xf0\xd9\x0a\xfd\xc5\x47\x86\x09\x67\xe8\x1d\xf0\x90\x84\xbd\xe6\xc6\xab\xa1\x35\xbd\x89\x46\xf8\xf5\xd3\xd0\x2f\x56\x00\x64\x23\xd7\x61\x24\xfc\x08\xed\xaf\x65\x4a\x8b\x82\xe3\xcc\x00\x73\x05\xb3\xf5\x29\x8a\x50\x5d\x4f\xc4\x9f\x1c\x99\xbe\x04\xca\xc7\x1e\xef\xf7\x7e\x7c\x07\x72\x4d\xdb\xe9\x7a\xfe\xa7\xd8\x47\xeb\x68\x69\x6f\xaa\xeb\xb1\x04\x04\x72\x27\x90\x48\xf2\x7d\x31\xe1\x9e\x39\xc4\xe4\x27\x88\x62\x8d\xe2\xfd\x0a\xe4\xb2\x6b\xa4\xed\x5d\x34\x47\xb3\xfd\xcc\xd2\x4e\xd7\x35\x1e\x02\x62\x4a\x44\xfe\x10\x56\x79\x92\x1f\x26\xe2\x4f\x0e\x77\x5f\x02\x66\xd4\xa7\xd9\x39\x01\x36\x68\x3b\x6d\x1f\xf7\xe1\x3e\x88\x22\x7b\x53\x5d\x37\x25\x20\x90\x3b\x81\x44\x1c\xe6\x07\x54\x4d\x84\x5f\x1c\x72\x56\x00\x22\x0a\x62\x14\x23\x90\x57\xd2\x4c\xdb\x4b\xb4\x8b\x22\x4d\x2f\xf9\x96\xba\x4e\x8a\x30\x10\x6b\x3d\x81\xce\x70\xba\x49\x4e\xd2\x55\x36\xc7\xf3\x88\x1c\x7f\xac\x55\x8c\xf6\xe1\x29\x6d\xb8\x56\xf3\xe5\x3c\x9c\x43\x99\xf4\x45\x7b\x4e\xc9\x8d\xa4\xc5\x37\x71\xf8\xe9\xc3\x78\x56\x4b\xc4\xc5\x40\x5d\xe0\x28\xa4\x66\x19\x63\x37\x48\xb8\x15\xaa\xcb\x22\xaf\x93\x7b\x39\x1b\x21\xe7\x32\xf4\xb9\xfd\xda\x4d\x1f\xfa\x91\xee\x4d\xe8\x8a\xba\xba\x63\x82\xbf\x21\xee\xaf\x51\x50\xc9\xe8\x19\xda\x17\x55\xe6\xd2\x7b\xae\xec\xb9\xa6\x49\xea\x57\xea\x9e\x48\x97\x22\x88\x19\x7d\x83\xfe\x16\x04\xed\xd8\x49\xc3\x93\x64\xe1\x81\x5e\xd1\xd4\x6f\xe4\xb8\x36\x69\x52\x6e\x86\xbc\xe8\xed\xd6\x58\x27\xaf\xfb\x42\x66\xe0\xc5\xc7\xd1\xe9\x49\xf9\x81\xe6\x53\x8c\x3a\xde\x74\x51\x4f\xf8\xfd\x26\xb9\x91\x45\x81\xd9\x3e\x2b\x32\x31\x33\xaa\x19\xdf\xb3\x30\xf5\xd2\x48\xc6\xf4\x5a\xd4\xd1\x0d\xd6\x7a\xd4\x96\x61\x1e\x9b\xef\xee\x83\x75\x9c\xa6\xb2\x1f\xa5\x9b\xc2\x2c\x5f\x44\xbb\xd9\x7e\x48\x78\x2f\xa3\xe5\xee\x8f\x2a\x4f\x8d\x5b\xa6\x61\x84\x8e\xf8\xae\xbd\xb3\x98\xb7\xbf\x28\xc3\x28\x69\x1e\x71\x02\x59\xa9\x5f\xc5\x6f\x4f\x68\xd7\x89\xe3\xc9\x34\xaf\x6f\xd2\x27\xe0\x17\x8a\x7f\xad\x50\x18\x17\x79\xfa\xf8\x19\x5a\x12\x48\x3a\x64\x1b\x46\x28\x6f\x3f\xb9\x27\x40\x84\xc7\x77\x51\x74\x66\x87\xdd\x4b\x91\x9d\xd2\x26\x29\x53\xf4\xf9\x23\xbb\x81\x2b\x0a\xd3\xe8\xbb\x80\x26\x65\xfe\xc1\x09\xca\xf6\x23\x88\x0a\xeb\x02\xd1\xa8\xfb\x30\x3d\xa1\x31\x6a\x21\x72\x8f\x6f\xcc\x12\x65\xe1\x56\xdd\x22\x29\xdd\x81\x85\xa3\x54\x18\x8a\x5c\xc0\xc0\x5f\xfa\x80\xb9\x25\x96\xd5\x75\x3a\x9b\xf5\xbd\x13\x7c\x94\xef\x80\x80\x81\xe4\x1b\x51\x24\x32\x6e\x7a\x00\x28\xad\x46\x91\x52\xa0\x80\xfc\xf6\x12\xb5\x3a\x03\xa8\x05\xa3\xa8\x29\x50\x03\x35\xef\x6e\x25\x53\x23\x37\x23\x08\x17\x67\x80\xf7\x66\x2c\xd4\x1c\xe5\xfe\x56\x4e\xc7\x2f\x8c\x5d\xdd\x84\x4d\x12\x3d\x15\xb5\xb2\x04\x52\x1b\x44\x16\x21\x20\xd5\x2f\x5d\x62\xcb\xd6\xf1\x41\x46\xc4\xb2\xf4\x30\xb1\x03\xd5\xd9\xc4\x23\xf6\x00\xdf\x9e\xe5\xa6\x87\x9f\xac\x8d\xc6\xb5\xe0\x61\xc2\x38\x2e\x72\xb5\x19\xff\x7b\xd7\xe4\x30\x9e\x5d\x23\xb5\xac\xb3\x6b\x59\xd4\xb5\xb0\xb0\xd8\x35\x1b\xcb\xa2\x35\xf9\xa5\x51\xea\x32\x83\x66\x3e\xc6\xb2\xca\xb1\xc5\x52\xce\xcb\xb7\x7d\xd0\xd9\x02\xa6\xcb\xb6\x12\xa0\x36\x72\xd7\xe4\x26\x2b\xab\x30\x7a\xa5\x95\xd6\xb5\x57\x24\x62\x44\x02\x10\x75\xeb\x6c\xcc\xea\x30\xf5\xee\xa6\xd4\x80\x29\xd3\xcb\x34\x0f\xcc\xea\x3e\x76\x46\x08\x63\x48\x8c\xec\x54\xbd\xb2\x25\x80\x06\x71\xa6\x0c\x22\x44\xe1\x29\x83\x98\x1e\xbe\x6e\x10\x87\xf6\x5f\x3f\x88\xe9\x61\xcc\x20\xce\xbc\x29\x8e\xbe\x0e\xc3\x88\x69\x02\xb7\x93\xd1\xea\x06\xb5\x8d\x3e\xf7\xbb\x27\x28\xc4\x11\x45\x5f\x80\xac\xa3\x60\x6b\xe1\xba\x24\xae\xbd\xc7\xfc\x1a\x87\x2b\xa4\xab\xbf\xe8\x6a\x01\x7e\x8f\xda\x44\x4c\x14\x45\xf5\x43\x5e\x7f\xa4\x5b\xb1\x78\x2c\xe4\x1e\xe0\xbe\x4f\xe1\xae\x2e\xd2\x53\x83\x54\x19\x48\xb9\x85\x55\xc1\x10\x54\x9b\xce\xdb\x23\x37\x8d\x0c\x58\x89\xf5\x94\x80\xf1\xa5\x27\x9a\xfb\x16\x64\x38\x40\x56\xf0\x6d\x60\x6a\xd3\x1f\x00\xaa\x7c\x57\xd8\x25\x3e\xa2\xf7\x86\x50\xdc\x79\x79\x67\xad\x2a\x50\x40\x16\xac\x11\xcd\x0d\x8b\x36\x0a\xa5\x34\x10\x24\xad\x1f\x81\x7a\x89\x46\x85\x4a\x14\x36\x9b\xbc\xa0\x4f\x7c\x5d\x2f\xd2\x08\x75\x43\xe9\x90\xcb\xee\xbd\xc5\x52\xdc\xaa\x72\x2d\xa8\xe1\x20\x96\xcd\x61\x0f\x5b\x2b\xc4\xc5\x3b\x86\x35\xeb\x8a\x23\xb9\x74\x13\xa9\xf2\x54\x37\x05\x67\x0f\x85\x4a\x79\xe4\xc0\x6a\x49\xee\x26\x18\x61\xaa\x2c\xa2\xdd\xdd\x22\xba\xe8\xc1\xcf\xca\x6e\x4d\x85\x57\x6c\x93\x88\x5d\xdd\xf0\xe1\x42\x75\x3f\x13\xee\x97\x28\x34\xf0\xc2\x4a\xcf\x4a\x74\xe3\x54\xa5\xdf\xbd\x8b\xc3\x26\xdc\xe0\xdf\x9f\xea\xfb\xc3\x0f\x6d\x96\x6e\xa3\x63\x58\xd5\xa8\xf9\xf1\xd4\xec\xef\x26\xef\x67\x7f\xad\xef\x0f\x4e\x9b\xa5\x79\xfd\xe3\x87\x63\xd3\x94\x9b\x4f\x9f\x1e\x1e\x1e\xbc\x87\x99\x57\x54\x87\x4f\x81\xef\xfb\x5d\xcb\x0f\xce\x7d\x82\x1e\xfe\x52\xb4\x3f\x7e\xc0\xef\xe8\x9d\xbb\x0f\xef\x67\xff\xf1\x7e\xf6\xd7\x32\x6c\x8e\xce\x3e\x49\xd3\x1f\x3f\xbc\x0f\x66\xa4\x1f\x1f\x9c\xf8\xc7\x0f\xbf\x04\xde\xcc\x59\x7a\xab\xd9\xcf\xde\xd2\x99\x7b\x8b\x59\xe4\x7a\x73\x77\xea\xf9\x73\x6f\xbe\x74\xa7\xde\xbc\xd3\x0a\xd7\xbb\x4b\xa7\xde\xd4\xe9\x7e\xce\xbc\xb9\x3b\xf3\xee\x22\x6f\xe9\x7a\xcb\x99\x33\xed\xfe\x06\x2b\x67\xea\x05\xde\x2a\x75\xe7\xce\xdc\x5b\x76\x28\x66\xde\xc2\xf5\xee\x30\xaa\xa9\x37\xfd\xed\xc3\x27\xc2\x47\xc7\xe4\xfb\xd9\x7f\xbc\xfb\x48\x64\x45\x27\x06\xac\x63\x43\x25\xa0\x63\x7d\x25\xac\x63\x52\x35\xa8\x63\x30\x8c\xa0\x63\x7b\x3f\x8c\xe7\xe8\xa2\x07\x97\xe3\x7e\x10\xbc\x56\xc7\x08\xf4\x16\x42\xa1\xdb\x68\xea\xf9\x66\x36\xe6\x26\x14\x8c\x74\x82\x28\xd8\xdc\x9b\x3b\x0b\x6f\x16\xcc\x8f\xae\x77\x77\xef\x06\xde\x7c\x79\xf4\xee\x7e\xcb\xfc\x4e\x9d\x82\xae\xf0\xff\x5d\x78\x77\xeb\xae\xec\x97\x99\xb7\x5a\x7a\xcb\xd9\xcf\x9e\x3f\x77\x56\x9e\xbf\x5a\x44\xae\x37\x9d\x2e\xbc\xc0\xf3\xa7\x4b\x6f\x1e\x2c\xbc\xa0\xfb\xb3\x3c\xae\xbc\xd9\x7a\x15\x79\xc1\x3c\x70\x7c\xc7\x9b\xad\x02\xd7\x0b\x82\xa5\x17\x2c\xee\xdc\xae\xfe\xaf\x4b\x6f\x15\x74\xfa\xbc\x0e\x3a\xe2\xf3\x95\x13\x78\xab\xb5\x33\xf7\x82\xc5\xcc\x5b\xce\x30\xd6\x99\xeb\x4d\x57\x73\xd7\x9b\xad\xe9\xc3\x7c\x3d\x77\x7c\x9d\xa6\x12\x6b\x0f\x2b\x6a\x5f\x07\xe8\x29\xab\x83\xd5\x54\xac\x05\xb5\x14\x04\x11\x94\x34\x5e\x2f\x66\xf3\xfd\x45\x0b\x2d\xe9\x28\x04\xae\x55\x51\x02\xbc\x85\x30\x40\x2a\x1a\xef\x57\xfb\x95\x9e\x13\x5a\xf8\xe2\x3a\xda\xeb\x21\xe1\x94\x53\x5a\x37\x70\xdc\xc0\x59\x39\x2b\x5e\x6d\xeb\xa6\x2a\xbe\x20\xa1\x41\xa7\xb8\xbe\xe3\xa7\x33\x67\x96\xf9\xee\xec\x67\xdf\x99\x31\xc5\x88\x92\x2a\x4a\x91\x53\xfd\xf8\xc1\x5b\x48\x65\x51\xfb\xe3\x87\xd9\x07\xb8\xea\x51\x5f\x45\x5a\x41\x10\x9c\x12\x62\x39\x4a\xae\x13\x17\x2a\x7d\x8e\x1b\x39\xf0\x55\xac\x55\xf1\xe0\x88\xb7\x72\x88\xc5\x10\x24\x17\xb1\x25\x2e\x19\x71\x51\xfa\x0a\x5c\x88\xaf\xa4\xab\xfb\x2a\x86\x5d\x68\xa0\x02\x0a\x1d\xe7\xa7\x11\x77\xb4\xc2\x90\x6d\x8b\x6f\x2c\xde\x73\xfa\x7c\xb2\x7b\x89\x6e\x0b\xc8\xcb\x30\xfa\x22\x97\xff\xf3\x54\x37\xc9\xfe\xd1\x65\x77\xbb\xc9\xf8\xf9\x36\x1a\x58\x25\x52\xa8\x4a\x9a\x6c\xa0\x5e\x46\x64\x5f\x75\xaa\xf9\xe6\xf5\x76\x8c\x74\xe5\x77\x6c\xc2\xd5\xbb\xc3\xb9\x6d\xf9\xd0\x8f\xb0\xdf\x81\x10\xb2\x90\xa5\x61\x87\xc5\x9a\x71\x86\xff\xcc\x9f\x14\xd7\xe3\x26\xb3\x48\xde\x66\x8e\x67\x11\xcf\xdd\x3f\x26\x21\x2b\xe6\x86\xd9\x70\xef\x1c\xac\x3e\xba\x58\x80\x01\x5a\xda\xf3\xcb\x37\x6e\x09\xb4\xf9\x7b\x2c\xe5\x0b\x83\x04\xfc\xa2\xdf\xf3\xc7\xe0\xf6\xb0\xc6\x51\x11\xa5\xe6\x26\x79\x9c\x44\x61\x53\x54\x72\xec\x64\x6b\xba\x99\x5b\x18\x23\xf9\x70\x20\x6a\x1b\xaa\x40\x12\xe9\xce\x3f\x63\x5e\xa6\xc6\xf9\x3c\x63\x55\xb8\x5c\x70\x70\x12\xe4\x40\xba\x30\x57\x7d\xd3\xc1\xdd\x8f\xca\x94\xfd\x98\x34\xc8\xc5\x37\x54\x6e\xf2\x02\xdb\x60\xd0\x70\xf4\x63\x70\xaa\x51\xe5\x92\x88\x20\x3d\x06\x90\x15\xbf\x41\xa5\xb5\x5a\xa8\x14\x28\x47\x00\xf8\xb7\x2f\xc0\x4d\xb6\xd2\x61\x86\xb7\xbc\xbf\x14\x0f\x03\xbd\xcd\x1f\x3f\x92\xc3\x3c\xe0\x35\xfd\x5d\xbd\xc7\x81\x4a\x17\xf3\x6f\xd5\xf7\xeb\x78\x59\xf5\x9d\xa0\x6c\xc9\xa9\x88\x60\x32\x9d\xae\x26\xc1\x74\x39\xf1\x02\x7c\x32\x62\x1c\x20\xa1\x3c\xbc\x0d\xee\x88\x1b\xde\xe4\xf6\x6f\x7f\xbd\xe5\x82\x34\x65\x27\x15\xbb\x86\xe4\x59\xdd\x29\xe0\x2e\x86\x22\x25\x76\x8f\xfa\xaf\xac\xe4\xb3\x13\x92\xa0\x3a\x89\x7a\xba\xe8\x1e\xe5\x4d\x3d\x88\xc7\x2d\xab\x24\x0b\xab\x47\xf3\xa9\x20\x3f\x58\x2d\xe2\x3b\x69\xef\x43\x0a\x05\x2c\x74\x30\x2c\xb8\x16\x61\xb8\x90\x71\x4d\x17\xf3\xf5\x4e\xc0\xc5\x0d\x5c\x8f\x9e\x0c\xe0\x55\xc3\x36\x76\xd4\xe8\xa0\xf5\xd4\x85\xc1\xeb\x19\xe8\x07\xf1\xe9\x32\xe2\xc7\xb6\xc7\xcb\xca\xea\x63\xf1\xf0\x93\xc8\x47\x55\x94\x71\xf1\xd0\x2d\x48\x87\x43\x6a\x39\xbd\xc5\x64\x0b\x9e\x1b\xd2\x4b\xbc\x46\x51\x91\xc7\x9c\x16\xb0\x5b\x65\x47\x9c\xfc\xc0\xe7\xd9\x04\x24\xa2\x12\x68\x51\xa1\x65\xf7\x8f\x84\x2d\x8c\xbb\x7f\x24\x84\xbc\x26\x0c\x54\x46\xeb\x82\x3f\x9f\xb0\x7f\x2d\xda\x20\x42\xca\x5c\x88\x1a\x31\x30\x62\xd0\x89\x31\xe2\x12\xf4\x61\xc0\xaa\x6a\x04\xc7\x09\xac\x13\x56\x51\x8f\x50\x0b\x7e\x00\x92\x7c\x5f\x98\xf5\x6d\xb1\x8b\xfc\x58\x46\x41\x0a\x07\x14\x63\x8c\xc2\x6c\xba\xf3\x63\xd9\x28\x04\x61\xb8\x8b\x83\x01\x11\xaf\x07\x18\xf1\x58\x15\x58\x4f\x27\xd3\x75\x30\x09\x82\xc0\xa2\x01\x22\x20\x47\x59\x1c\x7b\x4c\xdc\x30\xec\xa3\xc4\x22\x8c\x3b\xc6\xa8\x0e\x39\xa1\x7d\x8d\x05\x60\x82\x1c\x31\xd4\xbc\x78\x59\x4c\xde\x3c\xda\xfa\x17\x01\x02\x96\x31\x03\x3e\x9f\xaf\xe3\xf9\x5c\xc2\x35\x9f\xae\x97\xf3\xa9\x80\x4b\x98\xfb\x14\xfd\xe8\x61\x0f\x26\xd3\xbb\xf9\x64\x6d\x1d\x75\x1e\x4e\xa4\x2e\xcd\x79\xca\x80\x69\xe8\x47\xca\x48\x9c\xf5\x14\x2f\x30\xe7\x19\x1f\xd7\xe8\x00\x93\xed\x08\x1d\xe0\x25\xce\xc2\xe6\x46\xdc\x86\x40\xbd\x80\x65\x8c\x0e\xa0\x68\xbd\x9a\xca\x06\x12\xed\xd6\xb3\xe9\x52\xc0\xc5\xeb\x00\x43\x3f\xda\xfa\xcf\xfd\xc9\x74\x35\x9b\xac\xee\x6c\xc6\x5f\x00\x14\xe9\x8b\x5a\xc0\x58\x30\xd9\xfd\x91\x52\x12\xb4\x80\xe1\x55\xb5\xa0\xe7\xe3\x1a\x2d\x60\xd2\x1d\xa1\x05\xbc\xcc\x69\x5c\xda\x88\xda\x10\x0a\xe7\x91\x8c\xd1\x81\x68\x3d\xf3\x03\x79\xbe\x44\xd3\x00\x05\x21\x8f\x8a\x57\x01\x8a\x7c\xb4\x06\x4c\x57\x93\xbb\xd9\x64\xb5\xb6\x29\x00\x0f\x27\xd0\x16\x87\x9f\x92\x37\x8c\xfe\x48\xf1\x08\x83\x4f\xb1\xaa\x63\xcf\x78\xb8\x66\xe8\x99\x50\x47\x0c\x3d\x2f\x6a\xba\x31\x92\xb7\x04\xcc\xb1\x85\xb1\x8d\xb8\xb2\x1f\xf0\x85\x25\x52\xe3\xf6\x0d\x16\xff\x5a\xc2\xc9\xab\x8c\x4c\xee\x15\xf6\x11\x32\x37\xa2\x12\xc9\x0c\x0d\x9b\x43\x9d\xcc\x15\xe9\xc2\x64\x78\x9d\x92\x89\xa8\xca\xa5\x30\x79\xdd\x66\x63\xe4\x80\x28\xdb\x8b\x28\xd2\x2a\xe7\x78\x75\xea\x3d\x69\x85\xcc\x28\xbb\x13\x29\x46\x47\x8b\x0f\xd2\xa4\x57\xdf\x87\xa8\x5c\xc1\x1a\x05\xec\x4b\x60\xa9\x5b\x14\x0a\xde\x9f\xa8\x54\xf4\x4a\x65\xdd\xaf\x3c\x79\x64\xf8\x8d\x09\xf3\xb5\xbf\x56\x9d\x78\xf7\x9c\xa7\x33\x46\x99\xac\xfe\x3e\x8f\x10\xd2\xa6\xd7\xdb\xcd\x08\x9c\xc0\x1a\x24\xee\x6e\xb4\x62\xb6\xe8\x8f\xb2\xc5\x11\xd0\xeb\xb5\xe6\xfa\x2d\xcf\x68\xe9\x4b\x9b\x1c\xf5\x08\xd3\x13\x35\x87\xf3\xee\x25\x52\xa3\x94\xc7\xb6\x63\x90\x70\x82\xd6\xe8\xf5\x76\x46\x32\x37\x1a\x2b\x24\xef\x94\x2c\xc7\xc6\xf4\x66\x08\xd8\x2e\xc9\x44\x0c\x26\xe8\x29\xdb\xa7\xd1\x03\x22\x6f\x98\x94\xe3\x4a\x4f\xd3\x27\x7e\x9f\x20\x91\x1a\xa3\x4f\xd6\xbd\x87\x84\x13\xd2\xa7\x57\xdd\x65\xc9\xfc\xc0\x1a\xa5\xec\xba\x2c\x87\xc4\xb4\x1a\x05\x6d\xbd\x64\x22\x7a\x8d\x7a\xd2\x56\x6c\xf4\x90\x88\x9b\x2f\xf5\x70\xd1\xd3\x14\x8a\xdf\x7a\x88\x94\xc6\xe8\x93\x75\x37\x23\xa2\x84\xd4\xe9\xf5\x76\x6c\x12\x2f\xb0\x2a\xc9\x3b\x38\xad\xb8\x2d\x9a\x04\x6c\xe3\x24\x12\x7a\x3d\x7a\xca\xb6\xce\x3a\x12\x69\x92\x7f\x39\xcb\x2f\x23\x41\x6f\x9d\xbe\xba\xf3\x87\x76\x93\xfe\x49\xe8\x50\x57\xb0\x51\x0a\xf4\x9b\x5f\x45\x58\x22\x6e\x15\x15\x51\x0a\xa1\x4f\x20\x0e\xf6\xd1\xbe\x1d\x90\x53\x40\xae\x61\xff\xda\x63\x1e\xdd\x45\x5b\xf9\x75\xe1\x29\x8f\x51\xd5\x0d\xcc\x88\xe1\x17\x25\x40\xf1\x92\xaf\x15\x00\x00\x85\x9d\xbe\xc2\xf2\xe2\x92\xfb\x88\x05\x7f\x13\x86\x11\x1c\xbe\xee\xeb\x98\x01\x6d\x9d\x71\x68\x87\x4f\x13\x9f\xf4\xe1\x54\x87\x02\xbf\x08\xd7\x7e\x22\xcf\xc1\xfc\xc0\x81\xf3\xdf\x15\xe0\xd3\xf6\xf8\x4c\xc6\xaf\xcd\x63\x89\x7e\xdc\x9d\x9a\xa6\xc8\x3f\x0f\xd0\x13\xae\xb2\x42\x35\x6a\x34\x75\xf5\x69\x97\x25\x7c\x25\x7f\x3c\xce\xdb\x87\x31\x3a\xb3\xd7\xad\x3e\xf4\xd2\x9a\x56\xe2\xaf\xab\x9d\x4e\x25\xc2\x4a\x7a\x69\x0d\x41\x98\xab\x09\x5d\x6c\x06\xce\xdc\x97\xbe\x51\x91\xa6\x61\x59\x0f\xa7\x18\xc9\xe0\xb3\x62\x02\x2f\x7e\x2a\xdb\x54\x9a\x6a\x9a\xd4\xa0\x78\xb8\xe0\xec\x38\x36\x28\xa2\x06\x3d\x2d\xfc\x49\x86\x72\x14\x86\x1e\x61\xf0\xfb\x74\x0b\x9b\x63\x12\xc7\x28\x87\xc4\x46\x60\x1d\x6f\xb6\x20\xaf\xeb\x25\x99\x29\xd5\x86\xba\x4b\x6f\x16\x27\xf8\xe9\x54\xaa\xbc\x5d\x64\xd3\xb9\xd9\x84\xfb\x06\x55\xa6\x13\x64\xfe\xd0\x21\xe1\xdb\x97\x99\x7a\x60\x84\x1e\xbe\x60\x87\x58\xde\xbd\xe3\x73\x4b\x75\x0d\xc8\xb9\x89\x7e\x3e\x90\xb3\x27\x7d\x39\xf4\x35\x6b\x4f\x4b\x05\x51\x3b\x23\x9d\x54\xb8\x50\x39\x38\xba\x5e\x73\xdc\xf9\x52\x0e\xab\x81\x24\x47\x26\x43\xf9\x09\xf8\xde\x09\x67\xce\xf2\xfd\xf7\x5b\x72\x4c\x67\xfb\x9b\x9b\xe4\x31\x6a\xbb\x32\x7f\xcb\x2b\xe9\x76\x9f\x16\x61\xb3\xe9\xc0\xb6\x5c\x62\x59\x9f\xfb\x18\x98\x9e\x1f\x61\xb2\xde\xb0\x4f\x6b\x7c\x47\xfe\xca\x78\x2b\xbe\xbf\xe4\x0e\xcb\x60\xfc\x69\x52\x37\x34\xa7\x07\xec\xf9\xe0\xe5\xf2\x4d\xb2\x62\x70\x12\x8d\x93\xfb\x24\x46\x55\xff\x19\x65\xd9\xf6\x1d\xa7\x72\x90\x27\x91\x3e\x5f\x4b\x8f\x34\x69\x50\x66\xcf\x3b\x32\x2b\x5b\xb6\x0e\x44\x29\x0a\xab\xcd\xae\x68\x8e\xca\xa1\x24\xad\x90\x93\xfc\x88\xaa\xa4\x81\x8e\x24\x0d\x2c\x76\xbe\x17\x97\x34\x42\xe0\x90\x2d\x71\x62\xa1\xb0\xec\x4e\xe3\x29\x9a\xee\x95\x65\x57\x37\x9e\xab\xfd\x6a\xbf\x96\xa8\xf4\x6e\x89\x48\x86\x9e\x8e\xe1\x34\x61\x24\x11\x16\xa9\x14\x89\x0c\x1e\xa3\x48\x06\x5e\xef\x81\xaf\x13\x2d\x0e\x04\xf1\x04\xc5\x79\x28\x25\x43\xc0\x20\xa1\x3c\xf9\x7b\x70\x62\x6c\xce\xec\xc3\x6b\x2e\x4d\xa4\x08\xd6\x55\x70\x19\x39\xb7\xec\xe4\x5d\x0f\x75\x44\x61\xcc\x19\x4c\xa2\x5e\xd2\xe1\x2f\x5b\x92\x00\xe6\x17\x88\x52\x51\x35\x89\x23\xdb\xc9\xa7\xfb\x31\x98\x9f\x7d\xd2\xa2\x78\x4b\x6c\x17\xeb\xd6\x90\x35\x40\xb4\x44\xeb\x35\x64\x0c\xb1\x18\x3b\x04\xb8\xa7\xec\xf3\x56\x35\xb7\x60\xff\x55\x5f\xef\x08\x4d\x38\x9f\x88\xad\x01\x86\x8f\x5b\x87\x3c\x26\x64\x75\x01\xce\x73\xd2\x2a\xe5\x58\x27\x57\xce\x37\xe3\xc1\x35\x47\x87\x55\x0e\x39\xdf\x0d\x57\xd0\x0f\xa7\x15\xb6\xed\x87\xcc\xa7\xca\x21\xf3\xa9\x70\xc8\x9c\xfc\xd2\xf2\x40\x66\xb9\xcc\x09\x9d\xfb\x6c\xcc\x02\x6d\x73\x61\xab\x01\xa1\xb7\xd5\x73\xce\xf5\x40\x5e\xc5\xaa\x41\xc6\xe1\x00\x99\x75\xba\xc7\x1f\x24\x59\x0f\x85\x8a\x06\x39\xc3\x23\xd8\x8a\xab\xd2\x6b\x1f\x48\x14\xa8\xb5\x60\x80\xd9\xd0\xc2\x88\x1f\x88\xd3\xcf\x9b\xcb\x96\x08\xa3\x29\x8a\x74\x17\x56\x2f\x74\x9c\x19\x9f\x1e\xae\x9b\xb0\x6a\xb4\x07\x8e\xf1\x29\x63\x0a\x22\x1c\x3a\x26\x65\x7a\x70\x81\x7f\xfd\x19\x7f\x49\x23\xf2\xa2\xf9\x6e\xb3\x4f\xaa\xba\x21\xdf\x70\x93\xef\xec\x37\x69\x28\x16\xc8\xce\xd8\xc7\x33\xb8\xbb\xe6\x55\x6d\xc0\x29\x67\xa7\xd5\x43\x5e\x49\x9c\x26\xe1\xc4\x86\xb4\xe7\x84\x73\x5f\xa5\x1a\x85\xf2\x40\x48\x95\x83\x30\x77\x64\x57\x54\x81\x96\x38\xea\x7a\x0a\x32\x24\x54\xc8\xfc\xd0\xd1\x1a\xfc\x4d\x18\x60\xc4\x98\x11\x23\x69\x19\x22\x8a\xcd\x24\x7e\x59\x4c\xb2\x41\x19\x85\x42\x0e\xfc\x3c\xcf\xe0\x51\xd2\xa6\x21\x54\x15\xf1\x2b\x47\x49\xdd\x93\x28\x76\xd6\x2b\x4a\x94\x2b\x70\xbc\x87\x83\x8d\x9a\x54\xef\xd6\x65\x9a\x34\x52\xa6\x00\x9a\x5d\x4f\xf8\x9c\x80\x25\x2f\xd0\x23\x61\xdb\x24\xdd\x9c\x63\xe1\x10\x4d\x73\x16\x25\x19\xc9\xe2\x0c\xe2\x71\xb6\x92\x3c\x0f\x16\xd9\x31\xd2\x4c\x0f\xe3\x68\xf6\x19\x0d\xa4\x4c\x18\x8a\xbf\x33\x38\x39\xaf\xe3\xd2\xf0\x86\xbe\xa8\x92\xce\x3a\x33\x0e\x84\xba\x38\xa9\x50\x44\xdd\xf5\x2a\xe3\x2a\xb1\x2d\x1f\x6a\xa3\x22\x3d\x65\xf9\xb0\x0a\x28\x35\x1a\x78\xe5\xf3\x19\x71\xc1\xe1\x3f\x8a\x81\x16\x1b\xbe\x8d\x0e\xf6\xc5\x3f\xa2\x81\x86\xd1\x19\xb1\xc0\x9f\xe5\x40\x1c\xe0\x49\x69\x1d\x85\x9f\x46\x38\x1c\x3f\x8d\x70\x38\x64\x18\xd1\xe1\xe8\x7c\x77\x77\xd8\x33\x03\x33\x54\xf4\xfb\xec\xd6\xde\x60\xe8\x65\x1f\xd2\x60\xa8\x47\xd9\x65\xc8\x72\xea\xc9\x99\x8c\xf3\x59\x6b\xe9\xc7\x58\x62\x48\xd6\xcf\xb0\x2e\x82\x68\x9f\xb8\x40\x3e\x01\xd7\x53\x56\xca\xab\x46\xe4\x6b\x16\xcd\x6b\x06\xea\xd7\x38\x6c\x42\xda\x0b\x1a\xde\xae\x3f\x63\xcc\x0e\x17\xbe\xc6\x1f\x27\xee\x8a\xf6\xf3\x64\x1c\x7c\x87\xbe\x30\x01\x73\xee\xc1\xb5\x74\x34\x4d\x09\x49\x20\x7c\x88\x83\x6a\x9d\xe5\xa5\x71\x33\xff\xe3\x16\xfc\xee\x88\x77\xc3\xed\x7b\xed\xa7\xef\x32\x78\xbb\xc7\xd1\x94\xbe\x39\x56\x39\xe8\xf7\x82\xb6\xeb\xad\x36\x53\x65\x03\x3d\x15\x36\xd0\xfd\x2f\xca\x8a\x1c\x90\xf0\x0d\x8c\xf5\x7e\x94\x1e\x82\x6e\x7f\xf5\x00\xe2\x46\x7c\x66\xa0\x36\xb1\xe5\x6b\xe3\xbf\x7e\x7c\xde\x0d\xe0\x8d\xf8\x05\x2f\xb5\x68\xeb\x47\xc7\x6e\x9b\x81\x51\xb9\xba\xd5\x53\xd7\xcb\x11\xfa\x30\xf6\x2b\x56\x00\xd9\x19\xcc\x9a\x6d\x4e\x47\x6a\xff\xd0\x96\x7d\xd6\x40\x52\xd4\xaa\x9f\xdd\x6a\xf3\xef\x3e\x31\xfc\xaf\x74\xcb\x9e\xf8\xf2\x29\xa9\x2d\x55\x32\xcf\x99\xec\x12\x60\x1c\xca\xf6\xf8\x94\x7c\x8e\x16\xc6\xbf\x36\xc3\x23\x46\x09\xaf\x6a\x66\x38\xba\x84\xf1\xdf\xfa\x5b\x27\xea\x98\x69\x79\xdd\x24\x54\xfc\x34\xd9\x89\x1a\x8b\x63\x64\x88\x48\x83\x6e\x24\x55\x19\x8c\xf3\x0e\xc6\xb4\x78\xae\x88\x87\x5d\xf2\x67\xe1\xad\xac\x7d\x60\xc5\x08\xd7\x08\x83\x3b\x76\x58\xae\x53\x81\xf1\x4d\x24\x51\x5e\x35\x5e\xd7\xb1\xaa\x78\xf5\xcf\x15\xe4\xe3\x47\xe1\x87\x31\x32\x3f\xf3\xaf\xd1\x25\x35\x80\x5f\x7e\x0c\xf6\xc4\x07\xdf\x48\xc1\xc9\x67\xed\xef\x50\x00\x17\x90\xbf\x35\x8f\xfe\xe6\x9e\x61\x52\x78\x17\x0c\x04\xdc\x21\x58\xc8\x15\x1c\x2a\x55\x2f\x70\xa8\x33\x39\x80\xcf\x64\x01\xce\x42\x02\x0e\xb0\x13\xcf\x32\x3f\x86\x57\x34\x5b\xab\xd4\xcc\xb6\x56\x23\x4d\x73\x23\x58\xca\xe6\x36\xf4\xed\xd8\x48\x23\x7e\x1d\x5b\xd7\x31\xa4\x2a\x82\x94\xaa\xe6\xad\xde\x79\x66\x49\x3e\x78\x70\x50\x08\x93\xf7\x0b\x69\xb0\x13\xbf\x71\x96\xb2\xf9\x2a\x39\x64\xe0\x8c\xbe\x4c\x00\xee\xb4\x4f\xba\xe1\xc3\x8d\x37\xd8\x97\x40\xf1\xff\xa7\x4f\x4f\x33\xe2\xf3\x28\x0d\x6e\x3c\x76\x06\xcc\xda\x43\xb2\x9d\x83\xda\x11\x9c\x90\x9f\xb3\xee\x67\x7f\xb4\x73\x34\xac\x86\x2b\xa2\x80\x4f\xed\xf0\xdd\x3e\x0a\xf7\x48\x83\x9a\x9d\x9f\x30\x21\x1f\x71\x96\xa2\x3f\x22\x73\x1d\x91\x18\xd5\x51\x95\x94\x9d\x2a\x8c\x48\x2f\x6d\x4f\x47\x24\x1c\x98\xa2\xce\x2a\x3d\xa8\x00\x9e\xd6\xe9\xea\x99\x92\x63\x15\x57\xa3\x22\x2f\x94\xe8\x47\x3d\x44\x1c\xc7\x4f\x4d\xb3\x2c\x67\x8b\x92\x92\x27\x2f\xfc\xf7\xf8\x26\x63\x4d\xf9\x20\x57\xea\xa3\x1b\xf2\x3e\xc1\x9b\x2d\x7b\xfb\x71\xd3\xf6\x36\xf2\xc2\xee\x69\x6e\xcd\xa5\xb7\x58\xce\xbd\xd5\x22\x75\x67\xde\x62\xed\xcc\xbc\xe5\x34\x70\xa7\xde\x62\x76\xd7\xfd\x77\xf1\xb3\xef\xcc\xbd\x60\xe9\x04\xde\x7a\x35\x77\x56\x5e\xb0\x70\xee\x9c\xc0\x9b\xae\x67\x50\x7e\xd6\x71\x22\xea\x4c\x60\x83\xaa\x2c\xc9\xc3\xc6\x34\xdd\xf5\xdf\x7c\xbe\xa6\x04\xe7\xce\x5c\x93\xa2\xb4\x97\xa1\xef\x04\xc7\xb9\x5e\x1c\x78\xb7\x37\x5a\xdd\x78\x5d\xd5\xb5\xbc\x31\x45\x73\xe7\x8e\x3b\xe7\x54\x6d\x48\xcc\x3a\xfb\x20\xaa\x9c\x5e\x65\x08\xf7\xb5\x5b\x37\x61\xd7\xad\xdf\x5d\xac\x4f\xdb\x53\x25\x6b\x9f\x74\x66\x4c\xb2\x3e\x96\xd6\x3f\x68\xb0\xb1\x7d\x0b\xad\x25\x46\x1a\x3e\xad\x2c\x5d\x8f\xab\xbf\xb6\x69\x38\xad\x37\x63\x91\x14\xf2\x97\xfd\xa6\x51\x35\x4b\x98\x0c\x3e\xfb\xcc\x9d\xfd\xec\x16\x7c\xe7\x65\xa7\xf8\x02\x34\x92\xb3\xd9\x8c\xa6\x66\x77\xfc\x9f\xf1\x24\xff\x2d\xf3\x9d\xce\x26\xce\x8e\x73\xd5\xfe\x39\xfd\x32\xc6\xae\x04\x20\x62\xb0\x2c\x5c\x77\x65\xeb\x4c\xfd\xb2\x55\x56\xae\xa1\xe2\x69\x57\xe6\x75\x0b\x77\x58\x96\x28\xac\xc2\x3c\x92\x6e\xef\x93\xca\x25\xc5\x80\x3e\x8b\x01\x2e\x59\x03\xda\x5c\x7d\x61\x97\x88\xe3\x2b\xce\xb9\xca\xbe\x19\xc5\xc8\x5f\x49\xa7\xba\xdc\x04\x48\xbe\x1c\x4b\x3e\x42\xd1\x1f\x65\x97\xef\x56\x24\x37\xfb\x13\x54\xfb\x24\x45\x86\x6d\xcc\x88\x29\x16\xc0\xc7\x5d\x35\x5b\x8d\x8e\x1e\xdd\x67\x70\x47\xe0\xe7\x04\x83\x15\xfd\xc6\xdf\xee\x93\xb4\x41\xd5\x26\x4c\xcb\x63\xf8\x1d\x15\xcd\x8f\xfe\x47\x60\x63\x82\x49\x29\x3b\x35\xc1\x0b\x1d\x8e\xce\x4a\x27\x66\x17\x12\x79\x20\xbd\xa3\x68\x1f\x64\xf3\xf0\x86\xce\xea\x90\x3f\xed\xea\xc8\x3c\x20\xb9\x4d\x1a\xe6\x87\xef\x50\xfe\x91\x1d\x07\xea\x3f\xef\xf8\xeb\xb1\x28\x6a\xd4\xd9\x1d\xe4\x79\xde\x3b\xb8\xf5\x66\x87\xf6\x45\x85\x34\xf2\xc7\xa7\x17\x86\x10\x08\x3b\x84\x8c\x9f\xd9\x50\x2c\xa5\xdd\xc1\x57\x0e\xcc\x73\xbd\xcc\xf0\x1d\xf6\x06\x81\x7e\xa1\x61\x93\x1e\x15\x44\x2f\xbe\xbf\x54\xc5\x43\x8d\xde\x5d\xbc\x3c\xbc\x7f\x46\xbf\x41\xcc\x19\x0b\xdc\x27\x27\x7c\x17\x82\xa9\x93\x4f\x20\x75\x47\xda\x3b\xb1\x76\xba\xc1\x00\x59\x08\xa5\xff\x6d\xfa\x24\x8f\x01\x79\xa3\x4d\x24\x69\xd3\x84\xbb\x5a\x0c\x92\xf2\x57\xae\xc7\x31\x07\xe6\xe0\x27\xfc\xd1\x87\xd8\x59\x12\xe3\x12\xc1\x70\x4f\x8d\x89\x5c\x75\x41\x74\xf1\xed\x8a\x1c\x9c\x65\x13\x48\xa5\xc6\x8b\x4b\xaa\x01\x3e\xce\xa4\xca\xe8\xf4\x7f\x81\xae\x9a\xe4\x39\xfe\x03\x67\xe1\x03\x0b\x55\x96\xf8\x83\x8a\x81\x1e\xc4\xbf\x27\x7e\x45\x72\xc5\xc5\xa7\x71\x4c\x06\xd1\x21\x8b\xe9\x80\x5a\xfc\x36\x41\x3e\xe6\xf4\x94\x73\x3e\x1d\xee\x32\x49\x53\x75\xfc\xa1\xa1\xe3\x20\xb5\x42\x90\xb0\x79\xea\xb7\x34\x54\xa9\xe9\x9d\xd3\x86\x28\x57\x87\xa3\x73\xdb\x38\x15\x7e\xb6\xb3\x13\xca\x6b\x5c\x42\x8e\xbc\x6f\x4f\x3a\x17\xfc\x2a\x9a\x78\x49\x16\x68\xe2\x12\xf1\x17\x40\xb3\x09\x77\xec\xdd\xfe\x4f\xf8\x47\x19\xe6\xf2\xa7\x9b\x02\x0c\x15\xa7\xf4\x79\x4f\x1e\xde\xef\xc2\xea\x45\xcf\xbd\xdc\xc6\x86\x0b\x58\xd0\x58\xef\xdd\x5d\xd5\xb9\x83\xa0\x6b\x26\xf8\x81\x01\xe8\x06\x06\x9a\x98\xb0\xfa\x06\x99\x5f\x40\xf5\xdf\xb9\x89\x6c\x71\x66\x6e\x28\xb3\xac\x0c\x1d\xe0\xf3\x2e\x7e\xb7\x35\x86\xd7\xac\xc1\x54\x16\x9c\x95\xb2\x5d\x16\x4a\x1b\x09\x97\x10\xea\x75\x62\x0e\x2b\xc5\x7c\x30\x7e\x18\x19\x7e\x35\x3a\x44\xd2\xc9\xa9\xdd\x1a\xa5\x7b\xf0\x80\x6f\x67\x3d\x80\x53\xbe\x32\xbc\x7c\xe4\x42\xb9\xeb\x1d\xd0\xbb\xa9\xe6\x33\x4a\xe3\xa2\xad\x5a\x74\xae\x53\x92\x86\xb2\xd2\x11\x3a\x4a\x41\xdd\x24\x2a\x34\xb9\xec\xe9\xb6\xa5\x73\x96\xb6\x83\xe7\x39\xea\x0b\xe9\xa1\x97\xc3\x3e\x7c\x5c\xe8\xb8\x33\xb9\xc4\xee\x6a\x6b\x94\x2e\xe0\xef\x1b\x55\x5f\x9c\xbc\x35\x02\x84\x46\xbf\x9b\x54\x5b\x0c\x06\x64\xb8\x3d\xa7\xdf\xbf\x2d\x56\x0b\x7c\x7b\x8e\x80\xab\x73\x57\x1c\x41\xd5\x35\x1f\x56\xd3\x6b\x0b\xc8\xc7\x2b\xc0\x40\x74\x88\x7e\xf2\x3a\x19\x86\x49\x8e\x2a\xdb\x44\x31\xdc\xee\xa3\xa0\x3d\x03\x06\xe4\x58\x54\xc9\x6f\x1d\xb1\xa7\x99\x90\xaa\x78\x80\xec\x47\x57\x0c\x41\xf2\x48\x3a\x2b\xcb\x4e\x88\xf5\x28\xf8\x42\x15\xea\x45\x6f\x52\x32\x0e\xe7\x5b\x8b\xce\xc2\x9e\xd6\xb0\x02\xaf\x4f\x3d\xc0\x7c\xc8\x4a\xf7\x42\x57\x68\x7d\x3b\x43\xae\xa4\xe1\xe0\x18\xf9\xb7\x24\x2b\x8b\xaa\x09\xf3\x06\x94\x09\x54\x3d\x48\x07\xa8\x95\x1a\xf1\x27\x94\xf5\x0c\xb2\xb5\x4c\xf0\x35\x01\x63\xb5\x5a\xae\x60\x63\xe0\xd6\xd9\xb3\xd9\x2b\x7c\x42\xf1\x6b\x4c\xd6\x6a\x79\xa7\xe5\xf2\xad\xa7\xde\x37\xa6\xc2\xd2\xb8\xbe\xb5\xf4\xec\x1c\x3e\x87\xed\x92\x14\xf0\x5f\xd5\x7c\xf1\x92\xbd\x55\x0b\xc6\xf3\x38\xd6\x88\xad\xd7\x53\x8d\x79\xc8\xe2\xe7\x33\x62\x59\xfc\x75\x46\x6c\xbd\x0e\xb4\x5c\xbe\xf5\x34\xfc\xd6\x14\x59\x1c\xd7\xb7\x96\x9e\x9d\xc3\x67\x31\x62\xa2\x02\xfe\xcb\x1a\x31\x4e\xb2\x37\x6b\xc4\x38\x1e\xc7\x1a\xb1\xe9\x74\xbd\xd6\xd8\x87\xf4\xf0\x7c\x56\x2c\x3d\x7c\x9d\x15\x9b\x06\xbe\xaf\x65\xf3\xad\x27\xe2\xb7\xa6\xca\xe2\xc0\xbe\xb5\xf4\xec\x1c\x3e\x8b\x19\x13\x35\xf0\x5f\xd6\x8c\x71\x92\xbd\x59\x33\xc6\xf1\x08\x9b\x31\xa0\x4d\x9b\xbe\xb5\x1e\x7f\x6b\x9a\xd0\xa6\xcf\x67\xde\xdb\xf4\x0a\xf3\x6e\xe5\xe5\xad\x47\x72\x8c\xb4\x9e\xc1\x22\x89\x42\xfb\x97\xb5\x48\x9c\x64\x6f\xd6\x22\x71\x3c\x82\x16\x89\x55\xa6\xe4\x30\x1f\xff\x42\x6e\x02\xd7\x31\x34\xe4\xed\x34\x7f\xec\x65\xfd\xd1\x84\x4e\x7a\xa3\x02\x41\xd0\x6f\x79\x4c\x64\x8d\x58\xc4\xb7\x34\x57\x30\x28\x4e\x0c\xb5\xe1\x62\x54\x43\x23\x6f\x22\xa4\x8e\xc3\xd5\x28\x42\xf2\x79\x0e\x1e\xc3\xcc\x88\x81\xbc\x2f\xff\x49\x3c\xa4\x60\xa3\xc6\x3e\x9a\x1a\x01\x5a\x94\x28\x37\x01\x76\xf5\x3f\x99\x24\xad\x1d\x22\xa6\x76\xc2\xd9\x10\xe1\xd0\x95\xa5\x25\x79\x21\xf7\x55\xe7\xc5\x85\x03\xb5\xb3\xc0\x99\x05\x1f\x46\x9c\xc3\x05\x0e\xd6\x53\xbe\x1d\xfa\x7f\x6f\xf1\xf1\x03\xad\x23\xbb\x86\x1f\x3f\x04\x7d\x41\x9a\xe4\x28\x0a\xcb\x1f\x3f\x60\xae\xfb\xe2\x2c\x69\x50\x95\x26\x59\xd2\xfc\xf8\x61\xea\x93\x23\xbc\x73\xe7\xee\x18\xcc\x7f\x99\x3b\xd3\x25\xf9\x1b\xcc\x8f\x01\x74\x68\x1f\x96\x13\x6a\x1b\xb3\xee\x27\xf9\x3d\xaa\x6a\xa4\x31\x13\x72\xad\x68\x28\xfa\xc3\x3b\x5a\x44\xd2\xf4\x81\x61\x44\x13\xa1\x21\x69\xc1\x04\x99\x09\x23\x7b\x5a\xf3\x10\x2c\x16\x13\xf6\xaf\x49\x50\x26\x33\x61\x86\x55\x0c\x85\x40\x72\x35\x96\x26\x68\x31\x04\x54\x81\x0d\x95\xd6\x74\x98\x09\x4b\xc6\xc3\x0c\x2c\x98\x0f\x10\x14\x34\x20\xc6\xc1\xd3\x1b\x0e\xa1\xff\x53\x7d\xf7\x6f\xd5\x80\x74\x7c\x3b\xc3\x7f\xde\xcc\x8c\x28\xf2\x92\x0c\x89\x32\x4b\xa2\xb0\x8a\xff\x15\x4e\x67\x3d\xe5\xb4\x75\xa0\x3f\x6e\x1d\x56\x31\xbd\x6e\xe1\xd9\xce\xfd\xb1\xc3\x36\x53\x81\x48\x93\x34\x29\x92\xbf\xd1\x59\x71\x00\xf5\x69\x27\xc0\xe0\x43\x97\xec\xd3\x01\x25\xfd\x12\xc1\x89\xda\x86\xfb\xba\xfd\x0c\x43\x59\x8f\x08\xf7\x50\x3f\x0c\x8f\xc2\xf7\x3f\x42\x4f\x7e\xf2\xf0\xe9\x29\x25\x07\x9a\xc3\x95\xd3\xfc\xea\x23\x12\x8f\x8d\x3b\xd4\xab\xd0\x1d\x3a\xad\x92\xe5\x04\x62\x48\xd6\x21\x12\x06\xd2\x40\x08\xa3\x47\x93\x8e\x2b\x19\x60\x02\xf0\xcb\x0b\x5d\x6a\xf8\xad\xee\x3c\xb5\xac\xad\x02\x55\x48\x8e\x94\x47\xfc\x71\x15\x3d\xd4\xe5\x3a\xd3\xb2\xfd\xe8\x00\x45\xbe\xc3\x54\x61\x5f\x14\x8d\xbe\x1b\x36\xb6\xf1\x35\x0b\x36\x9e\x09\x09\x60\x10\xfa\x53\xfb\x3e\xc4\xa3\x5a\x24\xc8\x80\x1c\x47\x17\x33\x36\x78\x4b\x48\xfa\xae\x98\x92\x89\xe4\x5a\x60\xa0\xa2\xfc\x7d\x91\x04\x3e\x56\x6c\xa6\x21\x60\xa3\xad\xd9\xb5\xb3\x57\xde\x34\xca\xb7\x75\x78\xd1\x4d\xa0\x2a\xaa\x7f\xe6\x24\xfd\xd4\x8c\x90\xdb\x02\xaf\xbc\x20\x8e\x6f\x0b\xb1\x23\x56\x8d\x67\x07\xdf\x79\x79\xe5\xe5\x87\x7d\x43\x88\x11\xae\x7c\x3c\x17\xec\xca\xbb\x2b\xef\x38\xe3\xdb\x42\xbc\x88\x55\xe3\xd9\xa1\xf7\xa5\x5d\x79\x55\x16\xd7\x14\x62\x46\xa8\x19\xcf\x8b\x7c\x7b\xf2\x13\x6e\x46\x16\xf0\x0c\xb7\xe6\x5e\x7b\x29\xae\x80\x06\xd6\x1b\xfb\x3d\xa8\x22\x2f\xba\xb9\x60\xbf\x15\x53\xc0\xa3\x55\x1f\xfb\x6d\x88\x02\x1e\xdd\xb8\xdb\xef\xc0\xa3\xaa\x8f\x7d\x42\xad\x1b\xb8\xec\x8d\x70\xef\x3d\x42\xf3\x87\xaf\x1a\xa1\x27\x5b\x8b\x93\x1f\xc0\x44\xb1\x53\xf5\x7f\x4f\x45\x83\x40\xc2\x56\x9e\xc0\x2a\xe2\x20\x09\x9f\x81\x9a\x28\x3b\xde\xf0\x6c\xa2\x48\xb6\x5e\x40\x05\xf3\xc9\x60\x66\x4c\x2e\xb9\x6e\x2c\xf8\xcd\xaa\xae\x5a\xdd\x43\x4b\xfd\xea\x17\x70\xf5\x64\xbb\x94\x6e\x8a\x90\xc8\x0e\x56\xbf\x61\x00\x75\x3b\xea\x69\xf8\x68\xfd\x60\x53\xbe\xeb\x04\xf6\x7b\x3b\x8c\x4d\x51\x6a\x1d\x40\x95\x15\x9d\x33\x68\x64\x9a\x30\x63\x72\xf8\xf4\x84\x00\xe7\x0f\xa0\xa5\x3f\xc4\x4c\xcc\x2f\xe2\x2e\x92\x7b\xe6\xb0\x3d\xbe\x7e\xa9\x2a\x1e\x1c\x31\x70\x2f\x16\xab\x45\x97\x81\x33\xa2\x5e\x2f\xf4\x9d\x07\xbc\x5b\xf2\xa5\xf4\x62\x3e\x97\x5e\x8c\xd4\xdd\xc4\x86\x52\x11\x12\x90\xc3\x4d\xd8\x0b\x2d\xca\x56\xd3\x86\xcf\xe5\x27\x7e\xe5\xd3\xb5\xb1\x29\x10\x49\x16\x76\x93\x1a\x44\x53\x10\x62\x15\xfa\xfa\x81\x57\x91\x92\x7d\xa7\x98\x72\x02\xb4\x64\x5c\x1b\xc3\x5d\x10\xe3\x93\x32\x9a\x90\x3a\xe3\xec\xd7\x78\x2c\x76\x13\x05\xe1\xd2\xee\x66\xc7\xa6\x2c\x34\x60\xd4\x77\xf1\x49\x38\xc0\x0e\xda\x30\x3d\x25\xc5\xef\x13\x90\x28\x6c\x4e\xbe\x12\x0b\x27\xb0\x9e\x31\xdb\x14\x27\x16\x67\xb8\x4b\x98\xfc\x76\xa3\xe2\x94\x37\x9b\x19\x49\x42\x20\x95\xc9\x20\x62\xcb\x43\x58\xf6\xdf\x6e\xf1\xad\xf9\x72\xb5\xe8\x22\x70\x23\x2d\x0d\xd0\x57\x55\xc0\x8d\x64\x24\x72\x75\xf1\x76\x15\x0a\xe3\xa8\x3a\x65\x3b\x25\xaa\xa0\xee\xcd\x69\x72\x00\xdb\xbd\x88\x42\x3a\x00\x39\x1c\x33\x10\x94\xaf\xce\x24\x2c\x73\x5f\x76\x0d\xb7\x0a\xf2\xcd\xc8\x17\xb7\xc2\xc5\x3c\x62\xdd\x0f\x72\x41\x9f\x39\xc0\xf8\x91\x9f\xf9\x95\xbf\x74\xd5\x5c\xcf\xe5\xa7\x77\x23\xe8\x63\x87\xb0\xe7\x42\x7b\x09\xf0\x57\x63\xa2\x97\xf8\x8a\x6d\xa4\xcf\xab\xd9\x8d\xc1\x65\x78\x48\x72\xdc\xec\xe5\x52\x27\x28\xaa\x02\x6a\x44\x19\x1e\x90\x12\x70\x74\x48\xb1\x12\xca\x34\xdd\xb5\x30\x2e\x16\x39\x90\xe3\x8d\xe0\x40\x6d\x74\xcc\x51\x13\x0b\xe5\x28\x50\xd1\xf3\xd8\x87\x64\xa2\x23\xb2\x38\x6a\xf6\xeb\x03\x7e\xf6\x06\x8b\xa7\x20\x2a\x2a\x94\x45\x65\x54\x56\x1d\x30\xe7\xc0\x85\xa3\xa3\x7f\x57\x01\x5d\xe9\x08\x45\xf5\xa6\x65\xab\xcd\x11\xa5\x66\x7c\x33\xbd\x2d\x90\x78\x63\x1b\xb4\xa1\x60\xcc\x65\xdc\xa3\xac\x99\x24\x0b\x3a\x85\xf0\x21\x37\x4e\x34\xe3\x12\x8d\xc3\x18\x4c\x33\xc1\xa0\xfb\x33\x93\xea\xcf\xcc\xd4\xae\x9f\x08\x32\x35\xb5\x56\x20\x57\x67\xa0\x78\x8c\x09\xe4\x61\x04\x4f\x94\x4e\x60\x34\x0c\x66\x6a\x4f\x30\x13\x66\x2b\x41\xd6\xc1\x30\x3e\x98\x57\xa4\x4e\x3e\x9d\x78\xe6\x72\xea\x29\xe1\x3e\x82\x95\x7c\x1f\xc1\x56\xbe\x93\x56\x38\xc5\x65\xbf\x3a\x61\x17\xd6\x88\x5c\x49\x0f\xaf\xdf\x1d\xdf\x1b\x94\x95\xcd\xa3\x74\x6a\x6a\xd7\xe4\x0e\xed\x96\x6a\x1b\x58\x0a\x92\x4b\x48\x31\x90\x29\xca\x7e\xc9\x21\x13\x78\x72\xca\x19\xb1\x70\x5b\x1c\xf7\x97\x0f\xee\x2d\x95\x45\x7c\xa9\x24\xf6\xc7\xd7\x46\x33\x24\x34\xd5\x08\x10\xd3\xed\xaf\xd8\xe7\xe1\x7e\x3d\x56\x68\xff\xb9\xbf\x07\x14\xa8\xa2\xa9\x69\x14\x74\xf3\xdd\x22\x58\xac\x7a\xde\x2d\x2f\x1f\x24\x38\x88\xac\x58\xa5\x23\xeb\x07\x8b\x30\x5c\x30\x74\xb6\x97\x0c\x12\x1c\x44\x56\xac\xd2\xf6\x76\xbe\x8e\xe7\x73\x86\xce\xf8\x32\x81\x07\x82\x08\x72\xe5\x3a\x6a\xb3\xe9\xce\x8f\xfb\x4e\xda\x5e\x1a\x48\x70\x10\x4d\xb1\x4a\x47\x16\x45\xeb\xd5\x74\xdf\x6b\x88\xf9\xe5\x80\x08\x06\xea\x11\x5f\xa3\xa3\x19\xad\x67\x7e\x10\x5d\xbc\x7f\x9e\xb2\x5d\xd1\x54\xdc\xc5\x26\x81\xc6\x79\x0f\xe0\x57\x84\xb0\xb3\x3e\x13\xd2\x12\x28\xbb\x21\x95\xea\xbc\xa3\x1a\x90\x3d\x45\x5f\xeb\x1e\xf9\x2b\xe2\x7b\x39\xf8\x31\xd6\xec\x01\x6c\x9f\x9e\x92\xd8\x72\xd0\x58\x4e\x1e\x76\xf1\xc2\x14\x55\xcd\xb8\x57\xba\xd3\xc1\x20\x5f\x95\xff\x02\x93\xc0\x01\xed\x4e\x91\x08\xff\x34\x9f\x0b\xab\xc4\x8b\x81\x64\x90\x59\x5d\x9c\xd4\x59\x52\xd7\x09\xfe\xa8\x3a\x4a\x8b\x5a\x6b\x19\xa9\x7b\xc4\x12\xb9\x89\x09\x68\xe4\xbe\x81\x7c\xe8\xa7\x74\xbc\xdf\xfb\x8a\x2f\x19\xfb\x68\x1d\x2d\xd9\x5a\x31\x8b\x56\xcb\x59\x2c\xa1\x72\xc0\xd1\x8b\xa6\x28\xd8\xcd\x64\x50\x5e\x18\xec\xc6\xf7\xdd\x62\xde\x69\x28\xa9\xd1\x4c\xfd\x78\x8d\xe2\xfd\x4a\xe2\x6d\x17\xc5\xfb\x7d\xbf\x8e\xcd\xa6\x2b\xff\x6e\xcf\xe3\x81\x19\x0b\x97\xf1\x02\x09\xf4\x40\xae\xe6\x8b\x60\xb9\x66\x50\x06\x13\x11\xed\xef\xd0\x4c\x7e\x29\x14\xee\x83\x28\x62\x8c\xdd\x85\xcb\x78\xb6\x93\x50\xc1\xbc\xed\x57\x28\xda\x2d\x64\x50\x80\xbd\xe5\x72\x31\x1d\x84\xa6\x35\x25\xfb\x20\x46\xca\xeb\x57\xb4\x8b\xa2\x81\xbb\x70\x3d\x9f\xcf\x03\x11\x13\xcc\x1c\x9a\xef\xd6\xbb\xb5\x04\x09\xf0\x76\x37\x9f\x2d\x66\xf3\xcb\x9f\xd9\x96\xf0\x0b\x7a\xdc\x57\x61\x86\x6a\xa7\xac\x8a\x43\x85\xea\xda\xdd\x85\x95\x5b\x37\x55\x52\xa2\xfa\xbc\xaf\x8a\xec\x0c\xa5\xf5\x9e\x92\x64\x7f\x4d\x01\xd6\xfa\x8e\x7f\xb9\xfc\xd9\x2d\x5e\x14\xfd\x0b\xe2\xf6\x18\xc6\x67\xdc\x56\x77\x6b\x00\x8e\xeb\x1e\x93\x38\x46\x39\xef\x2b\x03\x99\x76\xbb\x82\xab\xaf\xa0\x52\xf6\xb0\x9c\x5c\xce\x3c\xe6\x11\xdb\x56\xb1\x35\x95\x6a\xac\x9e\x12\x64\x42\xe8\xb8\x0f\x2b\xf7\xd0\xb1\x80\xf2\xe6\xbb\xf9\x22\x46\x87\x09\x70\x1c\x71\xf1\xd1\x09\x16\xef\x27\x9c\xdd\x56\x7e\x2f\xfc\xf7\x9a\x96\xfa\x9a\x95\x84\x43\xfa\xfd\x51\xcd\x3b\xee\x16\xdf\x20\xd3\x37\xcf\xb1\x36\x4d\x53\xef\xd1\x68\x6b\x24\x95\x0b\xf3\x24\x0b\x1b\x34\xbc\xed\x20\x05\xdd\x24\x85\x26\xbc\x33\xad\x1d\x22\x1d\x27\xc9\xf7\x49\x9e\x34\x68\xeb\x16\x4f\x68\x74\x75\x8b\x8b\x87\x7d\xac\x17\x7a\xb1\xf7\x32\x57\x0e\x53\x9e\xdd\x5d\x11\x3f\x8e\x3a\x75\x69\xbb\xa6\x68\x38\x00\xf8\xaf\x96\xc8\xee\x22\x1f\x7e\x74\x43\xdc\x9a\xbb\x3a\x59\x7f\xb7\x60\xef\x00\xc2\x38\x94\x83\x95\x92\x1f\xfb\xa7\x60\x1d\xec\x3a\x5f\x03\x6e\xce\xf6\x24\x9a\x5a\x61\xc3\xce\xf3\x66\x0f\xa8\x91\x43\x89\x5a\xba\x62\xb8\x9a\x30\x69\xc8\xfa\x2d\x61\x79\x95\x23\xd4\x5f\xf3\x4a\xf6\x45\xbf\xc8\xd3\xed\x18\xd4\xb4\xbe\x4f\x3d\x87\xad\x08\xfc\x19\x4f\x09\x1b\x0e\x02\x6b\x8e\xc9\x7c\xd5\xc1\x60\xa5\x23\xa0\xc2\x1b\x4f\x5e\x4b\xb0\x7d\x3c\x5e\xc5\xf2\x35\x09\xee\xf1\x11\x22\x1d\x29\xed\x34\xd7\xf3\x60\xb3\x0c\x3a\xc3\x62\xa0\xd9\x89\xe7\x1a\x82\xdc\xd9\xab\x3e\xc0\x26\x53\xa3\x86\xe0\x39\xde\x98\xc0\xa8\xc7\x8b\xce\xd6\xe0\x27\xaf\xce\xc2\x34\xbd\xbe\x1d\x6e\x66\x13\xbb\x0e\x09\x2f\xc4\x38\x44\x48\x52\x93\x7d\x7a\xaa\x8f\x4a\x2b\xe9\x96\x4a\xf1\x98\x86\x1a\x64\x91\xf1\x3d\xe5\x8b\x01\x10\xcf\x53\xbe\x00\x80\x16\x4c\x16\xf7\x10\x22\x19\xd0\x05\x54\x38\x0a\x72\x09\x75\x08\x26\xe4\x0a\xf2\x71\xf8\xf5\x68\xf4\x3a\x65\xc6\x3f\x76\x4e\x6a\x09\xf7\x01\x75\x5d\x3d\xf9\x4a\xd0\xcc\x05\x45\x62\x01\x12\xd6\x7e\xbd\xc0\x71\x84\x49\xcf\x30\xfb\x0a\xce\x4c\x0c\x48\x0e\x0e\xc4\x7d\x29\x0f\xc2\xdc\x67\x31\x2d\x19\x31\x8e\x44\x09\xb1\x25\x88\x79\x1c\x97\x02\x98\xef\x5a\xeb\x58\x56\x31\x6b\x10\x5c\xad\x24\xc6\x46\x56\x0d\xe9\x5a\x6b\xd5\x03\x57\x1a\x75\x83\x6b\x6e\x82\x10\xb5\x42\x27\xd8\x68\x8e\x66\xfb\x99\x86\x49\x8b\x4a\x70\x20\x16\x7d\xa0\xd4\x45\x7d\xa0\x71\x44\x19\x2b\x8b\x01\x0a\x51\x3d\x68\x15\xc6\x11\x41\x80\x73\x8a\x40\xc7\x35\x88\x5f\x8f\xe6\x6a\xdd\xb0\xb5\xb3\xaa\x07\x45\xa0\xd5\x10\x56\x6f\x54\x12\x11\x89\x05\x48\x50\x15\xbd\xc0\x71\xb4\x55\xcf\xb0\x45\x5b\x44\x28\xcb\x1d\x92\x94\x07\x41\x61\x58\x7c\x57\x46\x4c\xa3\xb2\x42\x9c\x15\x62\x1f\xc7\x68\x01\xf6\x49\x7b\x1d\xdb\x10\x76\x2d\x92\xab\x95\xc5\xd2\xcc\xaa\x2b\xa4\xbd\x56\x55\x68\xb5\x51\x53\x04\x14\x66\x18\x41\x4f\xb4\x82\x26\x71\x6f\x2d\xb3\x16\x35\x11\x80\xcc\x5a\xc2\x38\x10\xb4\x84\xc5\xd9\x51\xb6\x43\xb1\x5b\xa1\xba\x2c\xf2\xba\x43\x65\x3b\x1f\xc3\x6d\xf1\x87\xcf\x01\xa4\x48\xaf\x8a\x56\x39\xcb\x26\x9f\x9a\x53\x9b\x38\x4a\x09\xee\xf9\x44\x05\xc4\x05\x40\x79\x82\x83\xe5\x40\x45\xb1\xfb\x27\x8a\x1a\xa0\xe2\x3e\x89\x51\xa1\xfd\x02\x41\xfe\xf2\x40\xbd\xb3\x8a\x24\x65\x27\x9b\x51\x5f\xed\x92\x1b\x4c\x77\x8f\xeb\xe1\x6a\x24\x2e\x4f\xff\x3c\xf0\xee\x16\xab\xe9\x7c\xf6\x1e\x68\x36\x5d\xea\x9a\x2d\x96\x5e\xb0\x80\x9a\xcc\x77\x8f\x33\xb0\xc5\x0a\x04\x9f\xee\x1e\xa7\x20\x38\x49\x46\x43\x5e\x02\x92\xc3\x8b\xd8\x03\x17\x4e\x05\x0d\x07\x61\x6c\x87\x3b\x7c\xdf\x27\xe1\x96\xfe\xe6\xdd\x6e\xcb\xee\xe3\xeb\x60\xfa\x8b\xbc\xbc\x05\x25\xd8\x7f\xb0\x82\x7f\x88\x67\xa1\x18\x22\xf3\x59\x8b\x01\xe7\x6a\x71\xa1\x33\x89\xbe\xd0\xec\x75\x57\x6a\x01\xdf\x3e\xe0\xeb\x6f\xa2\xcb\x8a\x38\x4c\xdd\xa2\x44\xf9\x59\x99\x06\xb8\x6e\xd0\xa7\x7d\xd2\xa2\xd8\xf2\x39\x0b\xdb\x37\x4e\xfd\xc5\x70\x3d\x2e\xee\x9a\xfc\x3a\x85\xbb\xd9\x0e\xd3\xf1\xf6\x61\x8c\x1c\xca\x4f\x9c\x84\x69\x31\x24\x25\xc4\x01\x6b\xc2\x84\x50\xb4\x2f\xaa\xcc\xf1\x66\xb5\x83\xc2\x1a\xb9\xc5\xa9\xd9\x8e\x87\x74\x0b\x01\x6d\x31\x02\xe3\x53\x21\x26\x66\x56\x26\x7a\xe2\x4a\x43\x42\x21\x0d\x1b\xf4\x9d\x3f\x71\x83\xc5\xfb\x8f\x5b\xbe\x35\x50\x6d\xa8\x63\x92\x27\xd7\x05\xe9\x25\xaf\xb4\xf6\x0d\x54\x7d\x1d\x49\xff\x23\xaf\x6d\x94\x5e\xaf\x74\x6e\xdb\x2b\x06\x2b\x79\xdc\x84\xa7\xa6\xb8\x88\x8c\xa9\x06\x9e\xd8\x31\x9c\x44\x80\xde\xb6\x37\xf5\xcb\x96\x35\xa3\x36\xfa\x5f\x37\xc9\x03\xf0\x7e\x27\x4a\x93\x72\x33\x5c\xa9\x22\x86\x25\x95\x3a\x53\x70\x32\x50\x52\x44\xe0\x33\x8a\xf2\xdc\xc6\xc4\xe3\xaa\x28\x9f\x6a\x4c\xe6\x50\x7a\x00\xdf\x57\xf0\x63\x23\xc2\xdf\x3c\x29\x55\x77\x9a\x7e\xe6\x2d\x35\xa9\xa7\x1f\x74\xbe\xe4\xfb\xa0\x67\x0c\x37\xf3\xc8\xcb\x30\xfa\xb2\x21\x97\x63\x3d\xf6\x15\xf4\x37\xd3\xfd\x0d\x3e\x78\xe8\xee\x50\xf3\x80\x10\xa7\x56\x42\x5b\x73\x9b\xfe\x2b\xc5\xc5\x70\x9f\x99\x7a\xbf\x1d\x7b\x3b\x40\x84\x0a\xe5\xee\xf0\xe5\x5b\x0e\xfb\x11\x2a\xe2\x47\x60\x8e\x3e\x7f\x7a\x91\xc5\x60\x1a\x68\x5e\x87\x6f\x75\xd4\x51\x1e\x6b\x47\x1c\x63\xc4\x00\xc2\x60\x77\x25\x5a\x50\x68\x8c\xc5\xe4\x15\xd2\x00\x13\xf9\xfd\x64\xf9\xf4\x8f\x05\xfe\x81\x36\xda\x4f\xff\xc4\x36\x75\x54\x15\x69\xba\x0b\x2b\x37\x43\x61\x7d\xd2\xdf\xca\xb9\x5e\xaf\xd7\x65\x4b\x17\x84\x85\x5f\xb6\xcc\xb1\xc5\xcf\xbd\x03\x42\xf0\x19\x0e\xda\x09\x0b\x0e\x77\x3d\x90\xdf\xa1\xa1\x6b\xcc\xcc\x2f\x5b\x87\x5f\x9f\xea\x8c\x03\x9d\x75\xa0\xa6\x54\xf2\xa4\x4d\xca\xa3\xbf\x23\x6d\xbc\xa6\x28\xd2\x26\x29\x81\x4e\x0e\xf6\x70\xe5\x4b\xfb\x1a\xec\xbf\xee\xc3\x2c\x49\x1f\x37\x9d\x93\x97\x22\xb7\x7e\xac\xbb\x0d\x07\xf9\xe3\x9e\x92\xc9\x5f\xd2\x24\xff\xf2\x4b\x18\xfd\x03\x97\xfc\xaf\x22\x6f\x26\xef\xfe\x81\x0e\x05\x72\xfe\xfb\x6f\xef\x26\xff\x59\xec\x8a\xa6\x98\xbc\xfb\xdf\x28\xbd\x47\xdd\xda\xe5\xfc\x1d\x9d\xd0\xbb\xc9\xbf\x57\x49\x98\x4e\xea\x30\xaf\xdd\x1a\x55\xc9\x9e\xfa\xce\xf4\xfb\x12\xbc\x8c\xf1\xce\xf3\xbc\x73\x9e\x51\xd3\xa0\x0a\x9f\x77\xee\x14\x8a\x42\x91\xb3\xd6\x15\x0a\xbf\x90\xc5\x5a\xbe\xef\x94\x7b\xc9\xda\x29\x0e\xff\x9b\xbc\x18\x07\x3d\x66\xde\x1f\x1f\x0a\x06\x0f\x04\x97\x89\xe7\xaf\x31\x37\x0f\x45\x15\x53\x6e\xf8\x12\x89\x67\xe5\x7c\x3c\x81\xc2\xb9\x3e\x71\x63\xb7\xfb\xcd\x5f\xe2\x4b\x47\x4f\x5a\x69\xd6\x43\xc5\xae\x76\x1b\xd4\x1c\x51\xe5\xa2\x14\x65\x28\x6f\xdc\xb0\x69\xc2\xe8\x88\xe2\xfe\x1b\x3b\x06\x4a\xff\xe2\xaf\xe6\xd8\xec\x5c\x74\x3b\x8e\x2d\x9f\xed\x68\xd6\x59\xb4\xd1\xd8\x9d\x1e\x6b\x92\xe7\xc3\x57\x4d\x20\x51\x0d\xec\x59\x5c\xa7\x17\xc3\x77\x6e\xe4\x0b\x93\xce\x7e\xf0\x57\x85\x11\x53\x42\xe7\x50\xd9\x3a\xa4\x0b\xea\x91\x38\xbc\x9e\x8f\xe8\x48\x47\x45\xe5\x97\xde\xf8\xc5\x36\x46\x1d\x15\x81\xad\xb1\x62\xea\x80\x47\x0b\x89\xde\x3c\x0e\x8b\x09\xef\x70\xfd\xf7\x5b\xf1\x14\x02\x1e\xb3\x31\x22\x12\xc4\x44\x5e\xb6\x5e\x29\xa8\xa6\x28\x55\x96\xe9\xf7\xa6\x5a\x7d\x1a\x2b\x27\xbd\x7e\xe8\x68\x9a\xe4\xf4\x14\x5d\xf2\x99\x98\xa4\xd7\xce\x57\x4a\x09\x8b\x56\xe5\x99\x5c\x39\xa7\x55\xa7\xd1\xd3\xce\xa4\x22\x30\x55\x9b\x3e\x31\x77\xf9\x1a\x85\x52\x64\x85\xdf\xcd\x03\x92\x22\x34\xb9\x65\x09\xdf\x1a\xd0\x3b\x07\xb3\xb2\x75\xee\x30\x2d\xc3\xe7\x2e\xa0\xab\xae\x39\xf2\x08\x77\x55\x5d\xfb\xe8\x90\xb3\x15\xdd\xd7\xde\x0a\xcc\x2a\xc8\x0a\x85\x1d\x97\x8b\x57\x16\x25\x8e\xbf\xe8\x62\x63\xca\x86\x63\x29\x2f\xb0\x9c\x40\x3a\x2f\x61\xf0\x96\xca\xf6\x8f\xc5\xf7\x4d\x17\xdf\x9b\xd9\xf6\xf6\x6a\x36\x66\x8d\x67\xa0\xf4\x2f\x5e\xe3\x85\x8b\xa3\x71\x0c\x63\x34\x42\xfa\x59\xf7\xe4\x9a\x16\xcc\x06\x01\xac\x28\xe8\x84\x3a\x3a\x49\x7b\x8b\x2d\x9a\x5f\x3a\x53\xaf\x62\xde\xc8\x8a\xe8\x75\xb8\xd3\xa9\x6c\x8a\xa7\xd2\x2d\xdb\x5c\x7a\x21\x36\x60\x8b\x8f\x5f\x23\x4c\x55\x32\x03\x37\xbe\xc2\x8d\x0f\x71\x43\xce\x13\x8d\x60\x81\x78\x37\x32\x65\xe2\xdd\x08\x29\x55\xc6\x2a\x08\x86\xbe\x42\x3d\x08\xbc\x6e\x44\xc8\xe2\xa3\x13\x10\xad\x95\x16\x2c\x7e\xc9\xb9\x46\x3b\x46\x71\xc2\x2b\xa3\xa0\x1b\x64\x1a\x71\xaa\xc1\xfb\x50\x4f\x51\x0e\x50\x90\x90\x5c\xce\x9c\x22\xc8\x73\x1a\x74\xe8\xc6\xea\x06\x76\xe8\x64\xca\xd4\xa1\xe3\x08\x8d\x56\x0d\x68\xa6\xdb\xc0\x75\xc3\x61\x99\x3a\xe2\x4c\x57\x6c\x47\x37\x51\xae\x51\x8d\x51\xac\x70\x6a\x68\xb1\x1a\x82\xe7\xf8\x14\xdd\x30\xd9\x4c\x41\x32\xe7\x41\x13\xb4\x56\x43\xf4\x63\xf1\xc9\xdd\xd5\x58\x2e\x9c\xc1\x58\x25\x4d\x8a\x6c\x42\xd2\x80\x9b\x1d\xa5\x6e\xdc\xa0\xd7\xaa\x01\xdc\x2b\xd5\x2f\x55\x43\x87\x57\x74\x92\xfa\xeb\x72\x7f\xb0\xbf\xae\x10\x1f\x8f\xf1\x9a\x89\x20\x98\x1e\x98\x15\xad\x36\xf0\x46\x4d\xb6\x90\xc4\x28\x5c\x33\x0f\x46\x71\x42\x89\xb1\xef\x1c\x4d\x36\x92\xdb\x16\x3c\x65\x1a\x98\x57\x07\x4e\x2e\x3d\x33\x26\x1b\xc9\xef\x51\x78\x13\x49\x43\xcb\xcc\x05\xbf\x2b\x5b\x67\x3a\x1f\xf0\xf4\xe1\x09\xee\x2d\xaf\x21\x53\xef\xca\x10\xd0\xde\x75\xff\x68\x93\x0a\x90\x7c\x77\xb3\xb1\x49\xf8\x66\x7c\x0e\x3e\x71\xda\x41\x5f\xf6\x33\x88\xfe\x0d\x16\xed\xee\x9a\x76\xb7\x87\x90\xe5\x6d\x98\xc4\xd0\xac\xfd\xca\x3d\x55\x4f\x4d\xb7\xfd\xec\xd4\x4b\xe6\x55\x0f\xec\xd3\x44\x71\xc5\xa9\x46\xa9\xfa\x46\x60\xa8\xa3\x1b\x55\xdd\xfb\x40\x7c\x96\x41\x79\xa3\x3d\x34\x36\x7f\xb5\x40\x36\x2e\xc3\x7d\x36\x2c\x90\xab\xbc\x16\x75\x67\x31\xc9\x53\xc5\xa1\x1d\xf7\xd6\x7a\x49\x5f\xf3\x26\xf9\x88\x17\xd7\x12\xb0\xe9\xdd\xb5\x1e\xef\xd7\x01\x41\x2f\xb1\x65\x08\x13\x23\xfc\x86\x6c\x1f\x46\xc8\xbd\x4f\xea\x64\x97\xa4\x49\xf3\xc8\xde\xfc\x1a\xaa\x58\xeb\x12\x55\x75\x89\xf0\xb1\xa1\x6e\x64\x70\x68\x42\x29\xba\x5c\xfe\x5c\x9f\xca\xb2\xa8\x9a\xda\xf9\x4e\x1d\xb3\xe1\xad\xf4\x2c\x26\x06\xee\xe3\x47\xa7\xa8\x9c\xef\x8c\x10\x7f\x0c\xf3\xed\x0d\xb3\x38\x22\x6e\x8e\xbf\x87\x10\xcb\xca\x0a\xdd\x4b\x65\xec\xd8\xd9\xb3\xbd\xf8\x1b\xcb\x87\xce\xab\xba\xca\xbc\x60\xec\x52\x11\xd9\x33\xaa\x04\xa5\x22\xb2\x89\x1c\x33\x1f\xa0\x23\x1c\x7d\xe5\x85\x0a\x10\xc2\x2e\x73\xd1\x31\x6b\xa1\xd8\x19\x58\x13\xd1\xbe\x5e\x43\x57\xd7\x79\x0b\x59\xd7\x46\x77\x00\x78\x15\x7b\xf2\xc7\xb8\xbe\xc1\xb8\x0e\xe8\x3b\x87\xa4\x2a\x52\x79\xee\xb2\x62\xd3\xf4\x1d\xce\xad\x7c\xab\x47\x09\xa4\x72\xf9\x88\x80\x8c\x9f\x6f\xa3\x81\xa5\xbe\xd3\xe2\xbd\xf9\x4d\x81\x70\x68\x12\x1a\x0a\x2e\xeb\x37\x50\x49\xef\xe0\x02\x47\x4b\xdb\x12\x57\x8e\x4b\x7d\xd5\x9f\x63\xda\xf2\x6f\x72\x61\xe5\xe0\x52\xee\xaa\x9c\xd2\xed\x8e\xae\x1a\x5f\xe8\xa4\x61\x95\x5c\xf6\x64\x48\x34\x1a\x70\x07\x1d\xf0\x33\x77\x06\x94\xff\xf2\x3f\x2f\xdc\x0a\x95\x28\x6c\x1c\x22\x7c\x47\xd6\x06\xf9\x33\x7f\xdf\x7f\xef\x90\x23\xc1\xba\x1a\x8d\x2c\x9e\xe1\x7e\x2a\xfb\x5d\x54\xce\x3e\x49\xd3\x1f\x3f\xbc\x0f\x66\xfb\xfd\xfe\x83\x78\xa1\xd5\x9d\x73\xc7\xdf\x55\x45\xae\x92\xf2\x53\x77\xee\x90\x7f\xa6\xde\xc2\xed\xfe\x0d\xc8\xbf\x0e\xfd\xeb\xd2\xf2\xdf\x80\x1b\xa6\xf4\xe3\x76\x63\x1d\x9d\x7a\x8b\xae\xab\xdd\x9f\x29\xe9\x9a\xc3\x75\xd3\x61\xe5\x73\x17\xff\x63\xec\x6a\x92\xc7\x49\x14\x36\x45\x55\x03\xa6\x4f\x3a\xb4\x87\xf7\xed\xf2\x6b\xb4\xc5\x0b\x59\xc4\x17\x32\x5a\x70\xda\x00\x96\x8d\x5c\x7c\x33\xdd\xfd\x96\x32\xad\x82\x92\x73\xd2\xe4\x49\xe7\xda\x7c\xe5\x5c\x9b\x2f\x9c\x6b\xa3\xbf\xf8\x23\x47\x83\x19\x98\x0d\xc1\x90\x4a\x2e\x60\x87\x21\x88\xc5\xeb\x06\x2a\x6f\xf0\xd1\xa9\xb2\xd5\x1f\x26\xd7\xde\x63\xb1\x80\xf5\xc5\x49\x13\x4b\x28\xd1\xe5\x15\xc6\x96\x46\xb9\xff\x3e\x41\x88\x26\xea\x29\x93\x18\x83\x4a\x58\x78\x69\xf3\x02\xb4\xd9\xce\x42\xf3\x35\xf9\x60\x43\xc2\x12\x27\x9c\xd0\xcd\xaa\x4e\xb9\x58\x02\xb9\x9e\xd5\xae\x70\x78\x41\xbd\xe5\x3f\x73\x08\xb8\x57\xf4\x2e\xdf\xd0\xb4\xf8\x5e\x3c\xe2\x1a\xb0\xd4\x93\x67\x4d\x4a\xca\xe1\x86\x5f\xd6\xa2\x29\x4a\x19\xb8\x29\x4a\x15\x2e\x4b\xe2\x38\x55\xf0\x92\x52\x15\x9a\xbe\xc7\x90\xb9\xc0\xa5\x00\x0f\x5d\x77\xe0\x26\x5c\x95\xa6\x1d\xd4\x01\x5a\xce\xb7\xd8\x1d\xdc\x7d\x18\x8b\x49\x94\xa4\xa0\xfc\xee\x60\xcd\x26\xc9\x61\x0c\x39\xf8\x21\x17\xe7\x50\x64\xce\x23\x29\xb1\x66\x4b\x27\x29\xd3\x95\x3f\x59\xe6\x8a\xcc\x89\x24\x25\xba\xc6\x7c\x92\x32\x51\xe1\x2b\x58\xf6\xdb\x9c\x49\x52\x22\x67\x4b\x28\x29\x53\x94\x3f\xac\xe4\x8a\xcc\xa9\x24\x25\xba\x96\x8c\x92\x32\x59\xe9\x1b\xbd\xa1\xc4\x9c\x4b\x52\x91\x2d\xb9\xac\x48\x05\x27\x29\x59\x54\xf1\x62\x78\x51\xc2\xa4\x48\x47\x77\xea\x4f\xa7\xd3\x40\xa0\x4b\x02\xb0\xfe\x99\x7d\x2d\x04\x54\x36\x45\xd9\x03\x90\xec\x02\x00\x10\x09\x8e\xfb\x52\xb2\x03\x00\x90\xbe\xe0\xf2\xe5\x44\x03\x00\x28\x0e\xa3\xf7\x80\xc4\x66\xf3\x60\xb8\x6f\x48\xbe\x2f\x8f\x9d\x2e\xa2\xb5\xc6\xbb\x28\xc6\xa5\x49\x61\x98\xc8\x5e\xfb\xeb\xd3\x95\x33\x7c\xf6\xfb\x2d\x46\xa7\x56\x61\x28\xf1\x9b\xb0\xaf\x4d\xd8\xce\x90\x45\x49\x15\xa5\x48\x12\xef\xa2\x73\xfd\x19\x84\x0f\x5c\x35\x91\xa2\xb0\xda\x27\xed\x55\x97\x0d\xc4\x6e\xe7\x44\x09\x2f\x41\xf8\x81\x8e\x5d\xb2\x42\x4b\x5b\x21\x08\x84\xde\x4d\x0a\xad\xec\x22\xb8\x08\x07\x00\x34\xe1\x2e\x1d\x28\xe2\x5f\x00\x80\x1b\xa1\x34\x15\xa1\x70\x91\x08\xda\x39\x6e\xaf\x7f\x2b\x3f\x27\x15\x90\x01\x26\x1c\x23\x1f\x1c\x02\x0d\x3b\x1c\x04\x8c\x0a\x44\x61\x38\x83\x1f\xbb\x75\x66\x53\x88\x3a\x1b\xa3\x13\x3d\xd4\x68\xb5\xa8\x33\xbb\x66\xd4\x99\x5d\x39\x18\xcc\x38\xfd\xa8\xb3\x37\x54\x91\x41\x48\x37\xa8\x25\x80\x9a\xac\x96\x77\x54\x4d\x32\xab\xdd\xc8\x46\x99\x8e\xec\x6a\xeb\x91\x8d\x30\x20\xd9\x08\x1b\x92\x5d\x65\x46\xb2\xb7\xb4\x24\xd9\x2d\x1b\x13\xc3\xe7\x36\xb1\x9b\x1e\x6c\x6a\x92\x1e\xc6\xa8\x49\x0f\x35\x5a\x4d\xd2\x83\x5d\x4d\xd2\x83\x5d\x4d\x18\xcc\x38\x35\x49\x0f\x6f\xa8\x26\x83\x90\xbe\x0d\x35\x99\xe2\x43\xee\x58\x4f\xda\xd4\xa6\x27\x6d\x3a\x46\x4f\x7a\xa8\xd1\x7a\xd2\xa6\x76\x3d\x69\x53\xbb\x9e\x30\x98\x71\x7a\xd2\xa6\x6f\xa8\x27\x83\x90\x6e\x51\x4f\x3c\x92\x47\x32\xa9\xea\xe6\x2c\x7e\xe2\x1d\x27\x79\x98\xd2\x4b\xd5\x87\xdc\x0a\x64\xf7\xe4\x4e\x87\x98\x63\x5f\xc2\x1e\x28\xce\x34\x34\xa2\x0c\x24\x94\x0a\x46\x86\x90\xe1\x3b\xe5\xf8\x37\x8a\x0d\x48\xa7\x12\x52\x5f\x46\xea\x6f\xfb\xcc\x1f\xb8\xb4\x2a\x1e\xce\xc0\x97\xed\xc7\xa2\x4a\x7e\x2b\xf2\x26\xe4\x14\xc9\xf8\x95\x3b\x00\x26\x7d\xbf\x5e\x15\x0f\x3c\x90\xfa\xd9\xbb\x08\x60\xaa\xa4\xbc\x93\x2f\xe2\x21\xf6\x59\xd8\xe7\xd9\x98\x27\xa4\xcc\xfc\x2b\x30\x96\xfa\x61\x04\xdc\x0a\x91\x88\xc0\xd7\x8d\x04\xc5\x32\x6a\x28\x5c\x00\x18\x1c\x12\x00\x70\x0c\x90\x30\x44\xa6\xfe\x8d\x1e\xaa\xd1\xbd\x13\x69\x8e\x19\x33\x7b\x1f\x75\x70\xb4\x9b\x0f\x55\x58\x9e\x05\x76\xf0\xf7\x2b\xdd\x7f\x20\xfa\x50\xa5\xae\x82\x52\x20\x17\x0a\x01\x34\x48\x85\x96\x8a\x52\xad\xaf\xe2\xfa\xa2\x0c\x98\xc8\x9d\x49\xb6\x26\x20\x1b\xc0\xc5\x93\xde\xd9\x90\xac\xd8\x67\xe5\xad\x10\x2e\x06\x34\x01\xfc\xec\x5d\x01\x16\x5e\x16\xc9\xb5\x63\x50\xa8\x7c\xa2\x3c\x56\xb9\x44\x79\x3c\x96\x47\x09\x54\xfe\x9e\xdf\xc6\x9f\x00\xa2\x72\x47\x5e\x05\xa8\x0c\x92\xf2\x11\x3c\xaa\x80\xc0\x0b\x37\x03\x93\x32\x80\xca\x22\xcd\x41\xa1\xf2\x48\x01\x47\x30\x29\x24\xb3\xd0\xf2\xaa\xe2\x1b\x89\x47\xe5\x39\xc4\xc1\xb1\xb3\x99\x1f\x02\xa4\x65\x27\x4e\xea\xa6\x4a\x76\xa7\x06\x59\x39\x92\x31\xb1\x97\x1d\xf8\xd4\x07\x30\x53\xb8\x0f\xfb\x00\xe9\xc1\x09\xe8\x21\x3e\x61\x3c\xb6\xf6\x22\x77\xf2\xfc\x20\x38\xe1\x09\xa2\x60\xd6\x4c\x0e\x08\x87\xb9\xad\xc8\x13\x30\x2b\xf8\x37\x67\x16\xce\xf4\x53\x42\x83\xc4\xd4\x58\x64\xac\x7f\x57\xa7\xb2\xa6\xbe\xae\x03\x99\x83\xc0\x44\xf6\x00\x08\x33\x02\x59\xdb\x2a\xd4\x44\x47\x50\xdf\x70\x8d\x85\x41\x00\x4a\x56\x37\x19\xc0\xd8\x9c\x71\x07\xaf\x1b\x42\x9d\x45\xdb\xf1\x26\x01\x5c\x19\xec\x58\x64\x2e\x78\xad\x07\x5a\x6b\xf4\x7a\xe0\x00\xd2\x6d\x93\xdd\x17\xa9\x4b\xfa\x2d\x36\xd7\xab\xef\x40\x5e\xa3\xc2\x7a\xa3\x2e\xd2\x97\x4d\xba\xd8\xda\x6a\xad\x07\x3e\x54\x93\x3d\x0a\x95\xcc\x8f\x64\xae\x21\x1c\x7a\x63\x3d\x70\x03\x5a\xec\x31\xc8\x54\x1d\x15\xe7\x90\x84\x43\x3f\x43\x78\x15\x85\x67\x89\x16\x09\xe3\xa1\x46\xe9\xde\x0d\x4f\x4d\x21\x51\xef\xca\xf1\xb7\xe3\x10\x5d\x72\x95\x04\x9e\x9e\x00\xc8\xa1\x4a\x62\xbc\x99\x01\x21\xb4\xe8\x05\x8e\xa0\x69\x8b\xdb\x98\xe7\x2c\xc7\x18\x3c\x69\xb5\x38\x04\xea\xea\x74\x1d\xda\x69\xe6\x2a\x47\x19\x9a\xac\x9a\xf6\x02\x55\x70\x9a\xe2\x86\xfa\x39\xca\x91\x05\x81\xa4\xb1\xd0\x4c\x64\x90\x88\xc0\x9b\xb2\x12\x71\x0d\x4d\x6b\x0c\xc7\x9f\x76\xa1\xd1\x20\x91\xf4\x01\x9a\x22\xb8\xa5\x61\x7e\x08\xea\x00\x41\x49\xe2\xd1\xcd\x22\x98\x8e\xe1\x75\x16\xd1\xb0\xec\x45\xa2\x49\x75\xf6\xec\x01\xa5\x3a\x7b\x99\x98\x52\x9d\x7d\xd3\x61\xa5\x3a\xfb\x9d\x44\x96\xc8\x38\xfc\x7e\x83\x4b\xfd\x40\xfd\xee\xe3\x4b\x75\xf6\x0a\x21\x26\xfc\x2a\xfe\xb5\xa2\x4c\xb4\x47\xb7\x13\x68\xca\xbe\x99\x58\x53\x9d\xdd\x78\xb8\xa9\x9b\x97\xb7\x1f\x71\xaa\xb3\x6f\x32\xe8\x54\x67\x37\x16\x77\x82\x26\xce\x2d\x85\x9e\x80\xe9\x72\x0b\xd1\x27\x78\x92\xdc\x46\x00\xaa\x9b\x1a\xdf\x40\x0c\x2a\xbb\xfd\x30\x94\x3c\x39\xde\x2a\x12\x25\x4d\x82\xd7\x0f\x46\xa9\xea\xfe\xea\xf1\x28\xc0\xe0\xbf\x75\x48\x4a\x35\xe6\x6f\x1f\x95\x52\x67\xd5\xab\x07\xa6\x3a\xb1\xdc\x5e\x6c\x0a\x9e\xcb\xaf\x17\x9e\x02\xe7\xf0\x6b\x44\xa8\x74\x73\xf7\x46\x82\x54\xd0\x6a\xf5\xda\x71\x2a\xdd\xa4\x79\xe3\x50\x95\xe1\x4c\x2d\x26\x9f\xc5\x2f\x12\xab\xca\xe2\x67\x8f\x55\x65\xf1\xcb\xc4\xaa\xb2\xf8\x9b\x8e\x55\x65\xf1\xef\x24\x56\x45\xc6\xe1\xf7\x1b\xab\xea\x07\xea\x77\x1f\xab\xca\xe2\x57\x88\x55\xe1\xef\x01\x5e\x2b\x56\x45\x7b\x74\x33\xb1\xaa\x2c\xfe\x66\x62\x55\x59\x7c\xe3\xb1\xaa\x6e\x5e\xde\x7e\xac\x2a\x8b\xbf\xc9\x58\x55\x16\xdf\x56\xac\x0a\x9c\x38\xb7\x14\xab\x02\xa6\xcb\x2d\xc4\xaa\xe0\x49\x72\x1b\xb1\xaa\x6e\x6a\xdc\x7e\xac\x0a\x6b\xde\x6d\xc7\xaa\x94\xc9\xf1\x56\xb1\x2a\x69\x12\xbc\x7e\xac\x4a\x55\xf7\x57\x8f\x55\x01\x06\xff\xad\x63\x55\xaa\x31\x7f\xf3\x58\x15\x30\xab\x5e\x3d\x56\xd5\x89\xe5\xe6\x62\x55\x9a\xb9\xfc\x7a\xb1\x2a\x70\x0e\xbf\x46\xac\x4a\x37\x77\x6f\x24\x56\x05\xad\x56\xaf\x1c\xab\xd2\x4e\x9a\xdb\x8b\x55\xb1\x0f\x7b\xc9\x84\x3d\xbc\xcc\x57\x7a\x87\x67\x8f\x55\xa5\x87\x97\x89\x55\xa5\x87\x6f\x3a\x56\x95\x1e\x7e\x27\xb1\x2a\x32\x0e\xbf\xdf\x58\x55\x3f\x50\xbf\xfb\x58\x55\x7a\x78\x85\x58\x15\x4e\x4a\xf0\x5a\xb1\x2a\xda\xa3\x9b\x89\x55\xa5\x87\x6f\x26\x56\x95\x1e\x6e\x3c\x56\xd5\xcd\xcb\xdb\x8f\x55\xa5\x87\x6f\x32\x56\x95\x1e\x6e\x2b\x56\x05\x4e\x9c\x5b\x8a\x55\x01\xd3\xe5\x16\x62\x55\xf0\x24\xb9\x8d\x58\x55\x37\x35\x6e\x3f\x56\x85\x35\xef\xb6\x63\x55\xca\xe4\x78\xab\x58\x95\x34\x09\x5e\x3f\x56\xa5\xaa\xfb\xab\xc7\xaa\x00\x83\xff\xd6\xb1\x2a\xd5\x98\xbf\x79\xac\x0a\x98\x55\xaf\x1e\xab\xea\xc4\x72\x73\xb1\x2a\xcd\x5c\x7e\xbd\x58\x15\x38\x87\x5f\x23\x56\xa5\x9b\xbb\x37\x12\xab\x82\x56\xab\x57\x8e\x55\x69\x27\xcd\xed\xc5\xaa\xfa\xec\x62\x98\x7e\x9b\xbe\x48\xb0\xaa\x4d\x9f\x3d\x58\xd5\xa6\x2f\x13\xac\x6a\xd3\x6f\x3a\x58\xd5\xa6\xbf\x93\x60\x15\x19\x87\xdf\x6f\xb0\xaa\x1f\xa8\xdf\x7d\xb0\xaa\x4d\x5f\x21\x58\x85\x33\x23\xbe\x56\xb0\x8a\xf6\xe8\x66\x82\x55\x6d\xfa\xcd\x04\xab\xda\xf4\xc6\x83\x55\xdd\xbc\xbc\xfd\x60\x55\x9b\x7e\x93\xc1\xaa\x36\xbd\xad\x60\x15\x38\x71\x6e\x29\x58\x05\x4c\x97\x5b\x08\x56\xc1\x93\xe4\x36\x82\x55\xdd\xd4\xb8\xfd\x60\x15\xd6\xbc\xdb\x0e\x56\x29\x93\xe3\xad\x82\x55\xd2\x24\x78\xfd\x60\x95\xaa\xee\xaf\x1e\xac\x02\x0c\xfe\x5b\x07\xab\x54\x63\xfe\xe6\xc1\x2a\x60\x56\xbd\x7a\xb0\xaa\x13\xcb\xcd\x05\xab\x34\x73\xf9\xf5\x82\x55\xe0\x1c\x7e\x8d\x60\x95\x6e\xee\xde\x48\xb0\x0a\x5a\xad\x5e\x39\x58\xa5\x9d\x34\x6f\x1d\xac\xf2\xf6\x69\x11\x36\xe4\xc6\x20\xfc\xb8\xe9\x1e\xc5\xdd\x58\x07\x40\x6e\x3d\x22\x10\xf8\x59\x05\xc1\x59\xf3\x09\x84\x94\x33\xdf\x94\x15\xab\x6b\x59\x67\x76\x06\xea\x6c\x0c\x0f\xec\xca\x18\x90\x0d\xe3\x17\x8f\x5d\xeb\x2c\xb6\xf3\x91\xc5\x63\xf8\x60\x77\x92\x8c\xe5\x63\x38\xcd\x86\x47\xe3\x60\xe7\x23\x3d\x8c\xe1\x83\x5d\x7a\x31\x96\x0f\x2e\x52\xd9\x35\x6f\x53\x3b\x23\x6d\x3a\x86\x11\x76\xab\x02\xcc\x88\xb7\x4f\x5a\x7a\x49\x57\x7f\x23\x22\x2e\xa2\xf7\x2b\xb3\xab\x46\xe5\xeb\x45\xfd\x99\xcf\xda\xd2\x6b\xb4\xa4\xe6\xd2\x1d\xa5\x1a\x0c\x75\x93\x44\x5f\x1e\x45\xf2\x6c\x9a\x92\xba\x6d\x5f\x4e\x7f\x13\xbe\x24\x34\x95\x5b\xe4\xe9\x23\x70\xa9\x23\x15\xee\x70\x3f\xe7\x74\xb8\xae\xb1\xbf\x67\x74\xe3\x76\xa5\xc5\x3d\xaa\xf6\x69\xf1\xc0\x2e\xc4\x8f\xd2\xa4\xdc\x54\x28\x6a\xc8\x1d\xdd\x13\xff\xe3\x76\xd7\x47\x53\x29\x45\x17\xdf\xfe\x16\xee\x52\xb4\x21\xf7\x4f\x4e\x80\x1a\xfc\x74\xe6\xfa\x11\x36\x49\x44\x39\xc3\x37\x89\x52\xd6\xe8\xad\xa2\x98\x23\x7f\x60\x07\x5f\xd5\x9f\x22\xc2\x4f\x07\x73\xf1\x1e\xdc\x60\x71\xa6\x57\x10\x2f\xde\xf3\x63\xfe\xe0\x2e\x7c\x5a\xb3\xf0\xa5\x9a\x15\x6b\xb3\x92\xdb\x4c\x7d\xd6\x68\xea\x8b\xad\x8e\x1d\x25\x76\xc3\xf1\x42\xaa\x5a\xf8\xac\x6a\x21\xb7\x5a\xf5\xad\x56\x72\xab\x8e\x58\x7f\xb3\xa7\xd8\x2e\x23\xac\x0c\x37\xab\x2a\x00\xc7\x1e\x40\x87\xc2\xed\xaa\x89\x0c\x1d\xe1\xba\xba\xac\xe9\xab\xd4\x6b\xf4\xb2\x6a\xa8\x04\x2e\xcf\xcb\x76\x43\x35\x74\x63\x5e\x96\x0e\xf5\xea\x45\x79\x59\x6b\x40\xbe\xd5\x37\x7b\xd4\x32\xbc\x35\xf1\xe2\x4e\x99\x04\xc8\x8d\x72\x0e\xf9\x23\xc9\x62\xca\xa3\x06\x20\xaa\x01\x82\xf0\x0c\xc0\xec\x06\x18\xca\x09\x00\x94\x0e\x40\xb8\x8f\x00\x48\x6b\xa3\xb5\xb5\x20\x78\x34\x77\x67\x6b\x65\xd2\x0d\x7a\x99\x11\x91\x01\x12\x0b\x04\x12\x80\xc0\x02\xa9\x13\x80\xbc\x02\x59\x5e\x80\xb8\x02\x51\x5c\x80\xb4\xcc\x84\xb6\xe6\xe6\x8f\xc6\x8e\xc8\xa2\x52\x25\x35\x63\x92\x9a\x76\x82\x9a\xaa\x72\x9a\xf1\xe8\x95\xfa\x6a\xa8\xa7\x37\xee\xaa\x52\x9a\x49\x52\x52\x40\xd2\x01\x84\x5c\xd0\xab\xca\xc8\x48\x65\x6b\x6c\xfc\x68\xea\xc2\xd6\xc2\x9a\x3b\xef\xe5\x43\x54\x69\x0a\xe9\xd2\x5c\x20\x00\x29\xd3\x5c\xe2\x1f\xd2\xa6\xb9\x2c\x27\x48\x9d\xe6\xa2\xa4\x20\x7d\xb2\xd0\xda\x5a\x10\x3c\x9a\xbb\x23\x4b\x0c\xd0\xa9\x05\x93\xd9\xac\x93\xd8\x4c\x95\xd7\x82\x27\xa0\xd4\x57\x43\x3d\xbd\x74\x5b\x95\xd5\x42\x92\x95\x02\x92\x0e\x20\xe4\xa2\x6e\x55\x4e\x46\x2a\x5b\x63\xe3\x47\x53\x17\xb6\x66\xd6\x4a\xd7\x3f\xf7\x3e\x8b\xb8\xa8\x95\xcd\x50\xa7\xae\x6a\x65\xc5\xd5\x02\xcb\x5a\xb9\xe3\xea\xa1\xb5\xa4\x4c\x39\x00\x75\x85\x2a\x5b\x13\xfe\xad\xa1\xe1\xa3\x9e\x6d\xf9\x36\x6d\xb1\xa1\x3b\xed\x45\xa1\x5d\xdd\xca\x66\x80\xd2\x2c\x6f\x65\xc5\x81\xe8\xd6\xb7\x72\xc7\x01\x69\xd7\x8e\x32\xe5\xa0\x34\x0b\x54\xd9\x5a\xc9\x6d\x6d\x28\x1e\x2d\x9d\x92\xe5\x06\xa0\x70\x83\x41\x78\xf0\x32\x57\x36\x03\x0c\xbc\xce\x95\x15\x07\xa1\x59\xe8\xca\x1d\x07\xa3\x5b\x49\xca\x94\x03\x82\xd7\xaa\xb2\xb5\xd1\xda\x5a\x10\x3c\x9a\xbb\xa3\xc8\x4c\x15\xd9\xac\x17\x19\xb8\xde\x95\xcd\x00\x01\x2e\x78\x65\xc5\x01\xc0\x2b\x5e\xb9\xe3\x40\x34\xeb\x4a\x99\x72\x30\xe0\xb2\x55\xb6\x16\x42\x5b\x73\xf3\x47\x63\x47\x64\x49\x29\xcd\xdd\xf9\x20\x28\xdd\xc2\x57\x36\x03\x94\x66\xe5\x2b\x2b\x0e\x44\xb7\xf4\x95\x3b\x0e\x48\xbb\xac\x94\x29\x07\xa5\x59\xbb\xca\xd6\x4a\x6e\x6b\x43\xf1\x68\xe9\x94\x22\x3a\x40\xcb\x16\xbd\xf0\xc0\x15\xb0\x6c\x06\x08\x70\x09\x2c\x2b\x0e\x00\x5e\x03\xcb\x1d\x07\xa2\x5b\x69\x52\x0e\x06\x5c\xc8\xca\xd6\x42\x68\x6b\x6e\xfe\x68\xec\x88\x2c\x2a\x65\x19\x25\xd1\x67\xea\x2c\xc8\x21\xe1\xac\xe1\xab\x31\x7a\x05\xa4\x12\x40\xaa\x7e\xe3\x2d\x79\x0b\x3c\x10\xe5\x45\x81\x4a\x05\x28\xdc\x5d\x05\xa6\xb5\x92\xdb\x1a\xdb\x3f\x5a\x7a\xb4\x35\xf2\xa8\x0f\xff\x65\x6e\x6d\xdc\x29\x73\xb5\xe0\x66\x99\xaf\x87\xf7\xcb\x3c\x84\x66\xcb\xcc\x83\x80\xbb\x66\x23\x15\xe3\xc6\xd9\xc0\xbf\x79\xef\x5c\x8f\xdc\x3e\x73\x70\xfa\x1d\x34\x0f\x64\xd8\x44\xf3\x60\xa6\x7d\x34\x0f\xa7\xdf\x4a\xdb\x89\xda\x77\xd3\xb6\xde\x8d\xd8\x50\xd7\xa3\xf6\xd4\x1c\x94\x76\x5b\xcd\xc3\xe8\x77\xd6\x3c\x94\x61\x73\xcd\x83\x69\xf7\xd7\x56\x8a\xd6\x2d\xb6\xa5\x5f\xf6\x5d\x76\x3d\x62\xa3\xcd\xc1\xe8\xf6\xda\x3c\x88\x76\xbb\xcd\x03\xe9\x77\xdc\x3c\x94\x6e\xd3\x6d\x23\x67\xdb\x77\x9b\x7b\x64\xdd\x7a\xd7\x23\x77\xdf\x1c\x9c\x7e\x03\xce\x03\x19\xf6\xe0\x3c\x98\x69\x1b\xce\xc3\xe9\x77\xe2\x76\xa2\xf6\xcd\xb8\xad\x77\x23\xf6\xe3\xf5\x88\x2d\x39\x07\xa3\xdb\x95\xf3\x20\xda\x8d\x39\x0f\xa4\xdf\x9b\xf3\x50\xba\xed\xb9\x8d\x9c\x6d\x87\x6e\xee\x91\x75\x93\x8e\xd7\x1c\xfd\x3e\x9d\xaf\x06\xb7\xea\x02\x00\xbc\x5b\x17\x40\x34\x1b\x76\x01\x06\xdc\xb3\x9b\x09\x99\xb7\xed\xa6\x5e\x58\x76\xee\x78\x51\x19\xb3\x79\xe7\x01\xf5\xfb\x77\x01\xca\xb0\x85\x17\xe0\x4c\xbb\x78\x01\x50\xbf\x91\x1f\x41\x77\xc4\x5e\xde\xda\xc7\x31\xdb\x79\xbc\xca\xd8\x77\xf4\x3c\x98\x76\x53\x2f\x00\xe9\xf7\xf5\x02\x98\x61\x6b\x2f\xc0\x69\x77\xf7\x76\xa2\xf6\x0d\xbe\xad\x77\x23\xf6\xf8\x78\xd9\xb1\x6d\xf3\x79\x20\xdd\x4e\x5f\x80\xd1\x6e\xf6\x05\x28\xfd\x7e\x5f\x00\xd3\x6d\xf9\xad\x14\xad\xbb\x7e\x4b\xbf\xec\x1b\x7f\xbc\xde\x8c\xd9\xfb\xf3\x80\xfa\xed\xbf\x00\x65\x88\x00\x08\x70\xa6\x20\x80\x00\xa8\x8f\x03\x8c\xa0\x3b\x22\x14\x60\xed\xe3\x98\x68\x00\x5e\x88\x6c\x01\x01\x1e\x48\x17\x13\x10\x60\xb4\x61\x01\x01\x4a\x1f\x19\x10\xc0\x74\xc1\x01\x2b\x45\x6b\x7c\xc0\xd2\x2f\x7b\x88\xa0\xb6\x46\x09\x44\x08\x5d\xa0\x40\x82\xd2\xc6\x0a\x24\x38\x7d\xb8\x40\x02\xd4\x45\x0c\x46\xd0\xb5\x05\x0d\xac\x1d\x34\xc7\x0d\x0c\xe7\x75\x32\x37\x8b\x4d\x81\x03\xae\x16\x0c\x1c\xf0\xf5\x70\xe0\x80\x87\xd0\x04\x0e\x78\x10\x30\x70\x60\xa4\x62\x0c\x1c\x18\xf8\x37\x07\x0e\xb2\x78\x5c\xe0\x80\x83\xd3\x07\x0e\x78\x20\x43\xe0\x80\x07\x33\x05\x0e\x78\x38\x7d\xe0\xc0\x4e\xd4\x1e\x38\xb0\xf5\x6e\x44\xe0\x20\x8b\xc7\x04\x0e\x38\x28\x6d\xe0\x80\x87\xd1\x07\x0e\x78\x28\x43\xe0\x80\x07\xd3\x06\x0e\xac\x14\xad\x81\x03\x4b\xbf\xec\x81\x83\x2c\xb6\x07\x0e\x38\x18\x5d\xe0\x80\x07\xd1\x06\x0e\x78\x20\x7d\xe0\x80\x87\xd2\x05\x0e\x6c\xe4\x6c\x81\x03\x73\x8f\xac\x81\x83\x2c\x1e\x17\x38\xe0\xe0\xf4\x81\x03\x1e\xc8\x10\x38\xe0\xc1\x4c\x81\x03\x1e\x4e\x1f\x38\xb0\x13\xb5\x07\x0e\x6c\xbd\x1b\x11\x38\xc8\x62\x7b\xe0\x80\x83\xd1\x05\x0e\x78\x10\x6d\xe0\x80\x07\xd2\x07\x0e\x78\x28\x5d\xe0\xc0\x46\xce\x16\x38\x30\xf7\xc8\x1a\x38\xc0\x6b\x8e\x3e\x70\xc0\x57\x83\x81\x03\x01\x00\x0e\x1c\x08\x20\x9a\xc0\x81\x00\x03\x06\x0e\xcc\x84\xcc\x81\x03\x53\x2f\x2c\x81\x03\xbc\xa8\x8c\x09\x1c\xf0\x80\xfa\xc0\x81\x00\x65\x08\x1c\x08\x70\xa6\xc0\x81\x00\xa8\x0f\x1c\x8c\xa0\x3b\x22\x70\x60\xed\xe3\x98\xc0\x01\x5e\x65\xec\x81\x03\x1e\x4c\x1b\x38\x10\x80\xf4\x81\x03\x01\xcc\x10\x38\x10\xe0\xb4\x81\x03\x3b\x51\x7b\xe0\xc0\xd6\xbb\x11\x81\x03\xbc\xec\xd8\x02\x07\x3c\x90\x2e\x70\x20\xc0\x68\x03\x07\x02\x94\x3e\x70\x20\x80\xe9\x02\x07\x56\x8a\xd6\xc0\x81\xa5\x5f\xf6\xc0\x01\x5e\x6f\xc6\x04\x0e\x78\x40\x7d\xe0\x40\x80\x32\x04\x0e\x04\x38\x53\xe0\x40\x00\xd4\x07\x0e\x46\xd0\x1d\x11\x38\xb0\xf6\x71\x4c\xe0\x00\x2f\x44\xb6\xc0\x01\x0f\xa4\x0b\x1c\x08\x30\xda\xc0\x81\x00\xa5\x0f\x1c\x08\x60\xba\xc0\x81\x95\xa2\x35\x70\x60\xe9\x97\x3d\x70\xc0\xb2\x86\xeb\x03\x07\x22\x84\x2e\x70\x20\x41\x69\x03\x07\x12\x9c\x3e\x70\x20\x01\xea\x02\x07\x23\xe8\xda\x02\x07\xd6\x0e\x5e\x1d\x38\x60\x1f\xd8\x64\x6e\x7a\x30\x05\x0e\xb8\x5a\x30\x70\xc0\xd7\xc3\x81\x03\x1e\x42\x13\x38\xe0\x41\xc0\xc0\x81\x91\x8a\x31\x70\x60\xe0\xdf\x1c\x38\x48\x0f\xe3\x02\x07\x1c\x9c\x3e\x70\xc0\x03\x19\x02\x07\x3c\x98\x29\x70\xc0\xc3\xe9\x03\x07\x76\xa2\xf6\xc0\x81\xad\x77\x23\x02\x07\xe9\x61\x4c\xe0\x80\x83\xd2\x06\x0e\x78\x18\x7d\xe0\x80\x87\x32\x04\x0e\x78\x30\x6d\xe0\xc0\x4a\xd1\x1a\x38\xb0\xf4\xcb\x1e\x38\x48\x0f\xf6\xc0\x01\x07\xa3\x0b\x1c\xf0\x20\xda\xc0\x01\x0f\xa4\x0f\x1c\xf0\x50\xba\xc0\x81\x8d\x9c\x2d\x70\x60\xee\x91\x35\x70\x90\x1e\xc6\x05\x0e\x38\x38\x7d\xe0\x80\x07\x32\x04\x0e\x78\x30\x53\xe0\x80\x87\xd3\x07\x0e\xec\x44\xed\x81\x03\x5b\xef\x46\x04\x0e\xd2\x83\x3d\x70\xc0\xc1\xe8\x02\x07\x3c\x88\x36\x70\xc0\x03\xe9\x03\x07\x3c\x94\x2e\x70\x60\x23\x67\x0b\x1c\x98\x7b\x64\x0d\x1c\xe0\x35\x47\x1f\x38\xe0\xab\xc1\xc0\x81\x00\x00\x07\x0e\x04\x10\x4d\xe0\x40\x80\x01\x03\x07\x66\x42\xe6\xc0\x81\xa9\x17\x96\xc0\x01\x5e\x54\xc6\x04\x0e\x78\x40\x7d\xe0\x40\x80\x32\x04\x0e\x04\x38\x53\xe0\x40\x00\xd4\x07\x0e\x46\xd0\x1d\x11\x38\xb0\xf6\x71\x4c\xe0\x00\xaf\x32\xf6\xc0\x01\x0f\xa6\x0d\x1c\x08\x40\xfa\xc0\x81\x00\x66\x08\x1c\x08\x70\xda\xc0\x81\x9d\xa8\x3d\x70\x60\xeb\xdd\x88\xc0\x01\x5e\x76\x6c\x81\x03\x1e\x48\x17\x38\x10\x60\xb4\x81\x03\x01\x4a\x1f\x38\x10\xc0\x74\x81\x03\x2b\x45\x6b\xe0\xc0\xd2\x2f\x7b\xe0\x00\xaf\x37\x63\x02\x07\x3c\xa0\x3e\x70\x20\x40\x19\x02\x07\x02\x9c\x29\x70\x20\x00\xea\x03\x07\x23\xe8\x8e\x08\x1c\x58\xfb\x38\x26\x70\x80\x17\x22\x5b\xe0\x80\x07\xd2\x05\x0e\x04\x18\x6d\xe0\x40\x80\xd2\x07\x0e\x04\x30\x5d\xe0\xc0\x4a\xd1\x1a\x38\xb0\xf4\xcb\x1e\x38\x60\x29\x9c\xf5\x81\x03\x11\x42\x17\x38\x90\xa0\xb4\x81\x03\x09\x4e\x1f\x38\x90\x00\x75\x81\x83\x11\x74\x6d\x81\x03\x6b\x07\xaf\x0e\x1c\xf4\x19\x31\x32\xb7\x4d\x4d\x91\x03\xae\x16\x8c\x1c\xf0\xf5\x70\xe4\x80\x87\xd0\x44\x0e\x5a\xdb\x17\xfe\x46\x2a\xc6\xc8\x81\x81\x7f\x73\xe4\xa0\x4d\xc7\x45\x0e\x38\x38\x7d\xe4\x80\x07\x32\x44\x0e\x78\x30\x53\xe4\xa0\x1d\xf5\xd9\xbf\x9d\xa8\x3d\x72\x60\xeb\xdd\x88\xc8\x41\x9b\x8e\x89\x1c\x70\x50\xda\xc8\x01\x0f\xa3\x8f\x1c\xf0\x50\x86\xc8\x41\x3b\x26\x17\x80\x95\xa2\x35\x72\x60\xe9\x97\x3d\x72\xd0\xa6\xf6\xc8\x01\x07\xa3\x8b\x1c\xf0\x20\xda\xc8\x01\x0f\xa4\x8f\x1c\xb4\x23\x12\x04\xd8\xc8\xd9\x22\x07\xe6\x1e\x59\x23\x07\x6d\x3a\x2e\x72\xc0\xc1\xe9\x23\x07\x3c\x90\x21\x72\xc0\x83\x99\x22\x07\xed\xa8\xac\x01\x76\xa2\xf6\xc8\x81\xad\x77\x23\x22\x07\x6d\x6a\x8f\x1c\x70\x30\xba\xc8\x01\x0f\xa2\x8d\x1c\xf0\x40\xfa\xc8\x41\x3b\x22\x95\x80\x8d\x9c\x2d\x72\x60\xee\x91\x35\x72\xd0\xa6\xc6\xc8\x01\x5f\x0d\x46\x0e\x04\x00\x38\x72\x20\x80\x68\x22\x07\xad\x35\xbf\x80\x99\x90\x39\x72\x60\xea\x85\x25\x72\xd0\xa6\x23\x23\x07\x3c\xa0\x3e\x72\x20\x40\x19\x22\x07\x02\x9c\x29\x72\xd0\x8e\x4b\x3a\x30\x82\xee\x88\xc8\x81\xb5\x8f\x63\x22\x07\x6d\x3a\x2a\x72\xc0\x83\x69\x23\x07\x02\x90\x3e\x72\x20\x80\x19\x22\x07\xed\xa8\x4c\x04\x76\xa2\xf6\xc8\x81\xad\x77\x23\x22\x07\x6d\x3a\x22\x72\xc0\x03\xe9\x22\x07\x02\x8c\x36\x72\x20\x40\xe9\x23\x07\xed\x98\xf4\x04\x56\x8a\xd6\xc8\x81\xa5\x5f\xf6\xc8\x41\x9b\x8e\x8c\x1c\xf0\x80\xfa\xc8\x81\x00\x65\x88\x1c\x08\x70\xa6\xc8\x41\x3b\x2e\x67\xc1\x08\xba\x23\x22\x07\xd6\x3e\x8e\x89\x1c\xb4\xe9\x88\xc8\x01\x0f\xa4\x8b\x1c\x08\x30\xda\xc8\x81\x00\xa5\x8f\x1c\xb4\x63\x12\x19\x58\x29\x5a\x23\x07\x96\x7e\xd9\x23\x07\x6d\x6a\x8b\x1c\x88\x10\xba\xc8\x81\x04\xa5\x8d\x1c\x48\x70\xfa\xc8\x41\x3b\x2e\xbb\xc1\x08\xba\xb6\xc8\x81\xb5\x83\x96\xc8\x81\xd7\xa0\xb6\x4f\xb5\x7f\xc6\x3f\x48\x46\x56\x25\x13\x34\x05\xa5\x57\x69\x3c\x1c\x93\x06\xb9\x38\xf5\x32\x70\x15\x06\x86\x6c\xaa\x53\x1e\x85\x0d\x3a\xcb\xb9\x21\x71\x6d\x5f\x88\xd2\x34\x29\xeb\xa4\xde\xaa\x28\x29\xa2\xae\xef\x3c\x6b\xa9\x94\xd0\x13\x57\x61\xe1\xf1\x50\xb8\x40\x01\xa3\x09\x7f\x39\x38\x25\x07\xaf\x3e\xef\x03\x6e\xc5\xb2\xbe\xda\x18\xea\x33\xbf\x5a\x79\xaa\xb3\x31\x6c\x19\x3e\x2b\xc1\xcd\x58\x16\x58\x1b\x5f\x7d\x26\x58\x2b\x5f\xc3\xc5\xf3\x57\xf2\xc5\x4e\xad\x90\xd1\x3b\x8c\xe3\xab\xcf\x0c\x6b\xe5\x6b\xb8\x64\xec\x4a\xbe\xfa\xa0\x18\x6e\xc7\xb2\xc4\xda\x18\xeb\x33\xc5\x5a\x19\x1b\x12\x4a\x1b\x19\xa3\xbd\x28\x1e\x50\x15\x85\x35\x3a\xd3\xd9\x12\xe6\xf5\xbe\xa8\xb2\x4d\x5f\xa1\xe0\x3f\x95\x25\xdc\xa4\xaf\x50\xf5\x3d\x2c\x93\x26\x4c\x93\xdf\x94\x36\x43\x0d\xdf\x68\x5f\xe4\x8d\xfb\x80\xb3\x83\xba\xe4\xaa\xa7\x33\x57\xb4\x99\xfb\xbe\x08\xb3\x2b\xd2\x58\x80\x58\xf5\x10\x18\x7b\x44\x2a\xeb\xe6\x31\x45\x1b\x52\x42\x39\xc3\xd3\xfd\x1c\x15\x69\x51\x6d\xfe\xb4\xdf\xef\x55\xf5\x3b\x35\x28\x66\x00\xcb\xd9\x32\x5a\x05\x1c\x4c\xc8\x01\x91\x24\xb1\x13\xa1\xe8\xd8\x19\x18\xd6\x7a\xbe\x5b\x04\x8b\x95\x42\xa1\xac\x92\x2c\xac\x1e\x19\x94\x1f\xac\x16\xf1\x9d\x4a\x83\x82\x89\x54\x58\xa1\x40\xc7\x0f\x16\x61\xb8\x50\x27\xf8\x29\x8a\x50\x5d\x33\xa8\x45\xb4\xbb\x5b\x44\x2a\x1d\x0a\x26\xd2\x61\x85\x62\x7f\xe6\xeb\x78\x3e\x57\xe8\x24\xf9\xbe\xe8\x89\xec\x22\x3f\x46\x2a\x91\x0e\x46\xa4\x80\x4b\x04\xf4\xb3\xe9\xce\x8f\xd5\x6e\x3c\x84\x55\x9e\xe4\x87\x7e\xcc\xfc\x30\x9e\x03\x14\x28\x98\x48\x84\x15\x0a\x74\x50\xb4\x5e\x4d\xd5\x81\x8f\xc3\xfc\x30\x00\xc5\xeb\xc5\x6c\xbe\x57\xc9\x10\x28\x91\x0a\x2d\x13\x88\x44\xeb\x99\x1f\x44\x0a\x91\x43\x15\x3e\xba\x71\x58\x7d\x61\x70\xc1\x3a\xd8\x05\xc0\xa8\xf4\x80\x22\xa9\xa1\x58\xa0\x36\xf5\xa7\xd3\x69\xa0\x50\x3b\x26\x31\xc2\x33\x61\xe3\x7f\xf2\x9d\x70\x4b\xa0\xf1\x64\x2c\xc3\x0a\xe5\x0d\x59\x14\xeb\x63\x18\x17\x0f\x38\xcf\xf4\x76\x17\x46\x5f\x0e\xf8\x52\x03\x57\x85\x1e\x72\x29\x27\x39\x4d\x71\x7c\xc6\x7f\x93\x34\x69\x1e\xe9\x42\xcb\x73\x41\x4a\xdc\xb6\x76\x4f\xe5\x39\x4e\xea\x32\x0d\x1f\xb5\xf9\xce\xfb\x0c\xc2\x8b\xd5\x02\xdb\xcb\xa1\x75\x5c\x3c\xe4\xba\xf6\x86\x95\x93\x22\xa8\x33\x03\x79\x80\xfe\x6a\xb9\x92\x9a\x5f\x49\x9f\xad\x90\x14\x41\x16\x5f\x47\x7f\xbd\x9e\x4a\xcd\xaf\xa4\xcf\x56\x42\x8a\x20\x3d\x5c\x47\x7f\x3a\x5d\xaf\xa5\xf6\x57\x32\xd0\x2f\x79\x6c\x08\x53\x13\x07\x1c\x94\x89\x8e\x47\x55\xae\x33\x82\x79\xe3\xee\xd2\x22\xfa\x62\x51\x2a\x0c\x79\x36\x36\xc4\xbf\x04\x6e\x44\xe8\x24\xc7\x57\x21\x3c\x81\x8e\xd4\x92\xfc\xb4\x52\x7a\x7a\xbf\xc0\xf6\x7c\x21\x30\x66\x14\x11\x1d\x00\xf2\x4b\x37\x4c\x9f\xbe\xff\x93\x53\x17\xa7\x2a\x42\xbf\x84\x65\x99\xe4\x87\xff\xfe\xcf\x9f\x7f\xdc\x15\x45\x53\x37\x55\x58\x7a\x59\x92\x7b\x51\x5d\x7b\x59\x58\x3a\xdf\x7f\xfa\xff\x03\x00\x00\xff\xff\xae\xba\xa2\x3e\xd4\x4d\x02\x00"), + }, + "/static/lib/bootstrap-4.0.0-alpha.6-dist/css/bootstrap.min.css.map": &vfsgen۰CompressedFileInfo{ + name: "bootstrap.min.css.map", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + uncompressedSize: 68044, + + compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\x6b\x57\xdb\x3a\xd3\xe8\x7f\xe9\x57\xbc\x37\xe1\x5a\xfa\x9c\x4f\x92\x2c\x1b\xdb\x38\xc1\x75\xd3\xec\xf4\xac\x77\x75\xb9\xc1\x75\x4c\x6e\x24\x21\x84\x70\xd6\xf9\xef\xef\xd2\x5d\x96\xe5\x10\x28\xdd\xed\xde\x4f\xf8\x10\x6c\x69\x74\x1b\x8d\x66\x46\xd2\xcc\xf8\xff\xbd\x7b\xc8\x17\xcb\x72\x36\x7d\xf7\x9f\x13\xe7\xdd\x72\xb6\x5a\x0c\xf2\xe5\xbb\xff\xfc\xdf\x77\x7f\xfe\x79\xf8\xe7\x9f\x87\xcb\xc1\x72\x79\xf8\x75\x3a\x5b\x4c\xb2\x71\xf9\x94\xff\x49\xde\xdf\x39\xef\xbe\xcd\x66\xf7\xcb\xfb\x45\x76\xf7\x27\x7b\xd7\x81\xef\x16\xe5\xf4\x5e\x00\xea\x19\x8b\x9c\x14\xb3\xe5\x3c\x64\x8b\x32\xfb\x36\xce\x97\x96\xcc\x49\xf9\x58\x4e\x97\x87\x5f\x87\xb3\x87\x7c\x61\x2b\x7c\xbf\xb9\xcb\xb7\x94\x1b\x97\xcb\x7b\x5b\xbd\x5f\xcb\x49\x56\x6c\x6d\x91\x02\x6c\xc9\xff\x36\x5b\xdc\xe4\x8b\x3f\x16\xd9\x4d\xb9\xb2\xb6\xc0\x00\x6d\x39\x83\xd9\x8d\xad\xe6\xaf\xc5\xa2\xbc\xd9\xd2\xe2\x33\xd9\xdf\x16\x79\x36\xba\x9b\x95\x53\xeb\x80\xf5\x4a\xfe\xf8\xbe\xc8\x26\xf9\x7a\xb6\x18\x59\x31\xfa\xdc\x5c\x50\x80\x3f\x16\xb3\xb5\xad\xf4\xf7\xd9\x62\xb2\xad\x70\x53\xfe\xd7\x6f\xab\xfb\xfb\x99\x15\x5f\x72\x80\x8d\x10\x5f\xef\x17\xd9\x74\x59\xde\x97\x0d\xd9\x37\x8b\xd9\xdd\xcd\x6c\x3d\xdd\x52\xf9\x34\x7b\xf8\xe3\xa6\x7c\x28\x6f\xec\x64\xc6\xda\xfe\xa3\x58\xcc\x56\x77\x56\x72\x9a\xde\xad\xee\x9b\xb3\x07\xab\xe5\xfd\x6c\xf2\x47\xe3\xe0\xa7\xd9\x43\x43\xf2\xb7\xcc\xda\x9f\x41\xb6\xd8\x46\x0b\x24\xdb\x8e\xe5\x45\x9e\xdd\x0c\x16\xab\xc9\xb7\x6d\xa5\xc7\x79\xb6\xf8\x5e\x3e\xda\x2a\xb8\xcb\x8a\x72\x9a\x11\x4c\x6f\xa9\x60\x2b\xd0\xd7\x6f\xd9\xcd\xf6\x95\xd5\x90\xff\xf5\x76\x35\xf9\x36\xbb\x5f\xd8\x6b\xcd\xc6\xf9\xc2\xc6\x5e\x44\xad\x4d\xf9\x5f\xef\x16\xb3\x62\x91\x2f\xb7\x2f\x9a\xec\xa6\xcc\xed\x0b\xeb\xeb\x24\xbf\x29\x33\x5b\x06\xe1\x3d\x8d\x24\xa1\x33\xa8\x66\xba\x59\xe4\xcb\xbb\xd9\x74\x59\x3e\xe4\x7f\xe4\x93\x6f\xb9\x6d\xca\xbf\x0e\xc6\xb3\xa5\x15\x5d\x93\xd9\x4d\x36\xb6\xae\x96\xd9\x6c\x7c\x5f\x6e\xeb\xd5\x22\x5f\xe6\xf7\x7f\xdc\xe7\x8f\x76\x8c\xcd\xee\x9a\xd8\xf1\x20\x5b\xcc\x56\xcb\xdc\xd6\xac\x64\x1f\x64\xad\x36\xad\x84\xd5\x7d\x39\x2e\xef\xcb\x9c\x4e\x58\x59\xd8\x66\x5a\x03\xf9\x96\x0d\x46\x04\x77\xd3\xad\x7c\x51\x02\xfd\x41\x25\x8d\x55\x3c\xe9\x95\x52\xc6\xfe\x4c\xe7\x6e\xca\xe5\xdd\x38\xdb\x6c\x07\xfa\x3e\xce\x6d\x6b\xa8\x02\x31\xcb\xb6\x11\x6d\x53\xbe\x56\xc5\xdd\x8c\x31\xbe\xed\x50\xcb\xc1\x22\xcf\xa7\x64\xf1\xdb\x87\x26\x1a\x64\x70\x7f\x30\xc0\x67\xaa\x2c\x9f\xca\x69\xf1\x0c\xcc\x5d\x36\x78\x16\xa8\x81\xcc\x24\xbd\xe4\x8f\xf7\x7f\xdc\x2f\x56\xd3\x41\x76\xbf\x8d\x6d\x50\xb8\x7c\x72\x37\xcc\x96\xe5\x56\xf1\x45\xe0\x86\xa5\x55\x04\x6b\xbd\x7a\x28\x97\xe5\x37\xf2\x66\x9b\x64\x51\x97\x09\xf4\x3f\xce\xbb\x69\x36\xa1\x2a\xd4\xff\x38\xef\x26\xd9\xdd\x5d\x39\x2d\x96\xef\xfe\xf3\xee\xff\x90\xbf\x53\x0c\xfa\xc0\x89\x00\xc2\x4e\x1f\x00\xe0\xf4\x00\x02\xec\x29\x22\x4f\x73\x28\x1f\x37\xfc\xb1\xeb\x31\xf0\x0e\x79\xc5\xa0\xe3\x39\x09\x79\x8a\xc9\x4f\x47\xfe\x04\xe4\x27\x01\x31\x16\xb9\x89\xe7\xf8\xa4\x58\x97\xe5\x22\x0e\x17\xb3\x5a\x7a\x9e\xd3\x93\x65\x23\xe0\xcb\x62\x1d\xcf\xe9\xc8\xd6\x02\x96\x2b\xaa\x9a\xd0\x1e\xf1\x6e\xd3\x27\x51\x2b\x26\x4f\x29\xeb\x42\xe2\x91\xe6\xf8\xf0\xba\xec\x07\x01\xd1\x8f\x9e\x47\x80\xb1\x53\x42\x59\xc3\x39\x94\x05\x79\x15\x18\x3b\x03\x56\x6d\xe2\x11\x18\xfe\x4a\xd1\x52\x40\x59\xa5\x78\xa4\xe3\xe8\x90\x8a\xe9\x13\xe6\x6d\x27\x96\xb4\x0e\xa9\x31\xd2\xc6\xe6\x37\x75\xb4\xc3\x87\xd1\x93\xd5\x47\xaa\xdf\xb4\x27\x31\x7b\xea\x78\x4e\xac\x21\x9a\x0e\x9f\x3e\x61\x1d\xf9\xfd\x2a\x9a\x52\xf2\x94\xb3\x27\x9f\xb7\xc4\x27\x53\xbc\x06\x6c\x42\xba\x1e\x6b\x28\x26\xf5\xd1\x49\xca\x48\x93\x4b\x48\x60\x12\xd9\x19\x45\x1d\xb4\x70\x26\xfb\x96\x93\xd7\x94\x55\xdd\xf3\x34\x22\x48\xe5\xfc\xa7\x20\xd2\xa9\xb1\x2b\x2b\xed\x9b\xd5\x27\xb2\x02\x8c\xb5\xf9\xee\x48\x24\xe7\xac\x44\xea\xb1\x1e\x0c\x64\x1b\x13\x08\x02\x41\x41\x14\x9b\x05\x22\x8f\x07\x34\x81\x3d\x6f\x28\x48\x26\xdb\x4c\xe4\x90\x18\x85\x9c\xd2\x5f\xf6\xbc\xa4\xb0\x89\x9c\xc8\x0e\xeb\x7d\x87\x90\x50\x85\x7a\xf9\x32\x51\x43\x10\x13\x62\x2c\x22\x8a\xe8\x8e\xa2\xf2\x9e\xf6\x23\xe6\x3a\xd1\xca\x55\xf0\x94\xc8\xc9\x55\x44\x96\xca\xf9\xc9\xb4\xb9\x16\x1d\xa4\xb8\x8b\xd0\x61\xe8\x71\x2a\xce\xdc\x4d\xd4\xd0\x36\xab\x1d\xdd\x45\x9e\xb3\x61\x88\x42\xee\x79\xc4\x07\x19\xa1\xc7\xc8\x73\x06\x6e\x79\x25\x4a\x77\x65\x73\x11\x7a\x1f\x79\xce\xa9\x28\xb3\x94\x20\x74\x49\x9f\x43\x35\x5a\x8a\xa0\x88\x8d\xb1\xe7\x09\xb2\xc2\x3a\x57\x48\xe4\x78\xba\x12\x55\x8a\x1c\xd5\x68\x23\xf4\x3e\xf6\x9c\xd4\x5d\xb7\x45\x02\x1e\x0e\x28\x12\x30\xc3\x7e\x22\x89\x8f\x71\xb8\x15\xfd\x1d\x31\x42\xa0\xbf\x6c\x8d\xe5\x2a\x61\x00\x06\x9c\x40\x73\x80\x01\xef\x73\x2e\xb1\x94\x93\x35\x83\x59\xd7\x30\x96\x6c\x21\xf1\x08\x24\xeb\xd7\x39\x24\xc3\x7b\x0f\x49\x2d\xe7\xd0\x09\xc0\xe0\x10\x6a\x6c\x6a\x02\x01\xe6\x1c\x91\xae\x5b\x83\x7e\xe8\x24\xb3\x1e\x52\xc6\x1a\xcb\xd1\x4e\x20\x5b\xaf\x00\x38\x3e\x29\x28\x80\x7c\xc2\x32\x69\x22\xa5\x0c\xc1\x5f\xb1\x46\x88\x0a\x04\x0b\xb6\x12\x83\x58\x47\x74\x44\x3a\xd5\xb1\xd0\x73\x44\x0a\xd3\x0c\x36\xd6\x09\x04\xae\x27\x58\x58\x14\x48\x04\xfa\x21\xc7\x15\xe9\x66\x60\xd6\x52\x40\x74\xe2\x7d\x64\x6c\xad\x4e\x78\x02\xa5\x7c\xba\x7c\x01\x93\x48\x98\x04\xcc\x20\x5d\xe2\x05\x64\x15\x66\x20\x19\x13\x3c\xf7\x15\x29\xfa\x62\xd9\xf6\x49\x85\x4a\xec\x0d\x80\xe0\xb9\x5a\xcb\x1d\x74\x1c\x9d\x5e\x3a\x25\x74\x4f\xa2\xb3\x4b\x56\xa7\x8d\x23\x05\xda\x13\x96\x6b\x13\x0b\xc2\x89\xbc\x49\x42\x18\x24\x3e\xba\xe6\x88\xec\x83\x3e\x45\x76\xd0\xf0\x83\xc6\x90\xf5\x80\xce\xcf\x40\xd2\x3c\x96\x02\x40\x65\x44\x20\xf0\x9c\x96\x18\x13\x96\x12\x94\x4f\x9c\x12\x54\x3d\xb9\xb0\xb8\x34\xaa\xd0\x84\x4f\xca\xd6\xaa\xf6\x25\xb3\x57\x3f\x81\x14\x86\x3e\x97\xc3\x7c\xe8\xe2\x75\x20\x39\x52\x5f\xc2\xf5\x34\x8d\x41\xfc\xd0\x55\x4f\x87\xa4\xb8\x19\xa3\x9f\x08\x0f\x43\x8e\xaa\xc4\x9b\x84\xa0\x06\xd0\x05\xdd\xd0\xb9\x80\x0d\x65\x23\xec\xcc\x28\x93\x99\x21\x6f\x12\xd5\x4b\x47\xa0\x1d\x12\x88\x6e\x20\x56\x41\x1a\xb2\x75\xc6\x11\x80\x25\x02\x30\x67\x0d\x11\x13\x2b\xbe\x7d\x10\x01\xc9\xa0\xeb\xbf\xe3\x5d\xc4\x9e\x33\xc0\xb7\x31\x87\x4c\xc0\xc0\x13\xf8\x02\x9c\xa7\x75\xaa\x28\xed\x68\x64\x9d\x8a\xa5\x97\x69\x3f\x74\x85\x4b\x46\x92\x2a\xca\xea\xcb\x69\xee\xcb\xc9\xcd\xe5\x93\x1a\x76\x4f\x12\x41\x06\x84\x4c\xf7\xe5\x78\x23\xd9\x80\x12\x0f\x8a\xe6\x32\xb9\xfc\x03\x59\xb3\x7a\xa5\xe3\xd9\x40\xb6\xfe\x2b\x03\x4a\x89\xee\xa7\x28\xed\x82\x76\xf8\x18\x82\x98\xaf\xfb\x3e\x88\x42\x3e\x8c\x52\xe4\x31\xbe\x9b\xaa\xa5\xed\x13\x4e\x2e\xf8\x5f\xca\x5e\x63\xae\xc6\xd0\x69\xaa\x71\xb1\x0a\x3f\xeb\x68\x22\x03\xe9\xbc\x33\x31\x17\x17\x92\x7a\x5b\x65\x7d\x4c\x20\x88\x94\x90\x0a\x2a\x62\xc6\xbb\x08\x3c\x27\xc5\xf7\x42\xee\xe7\xfe\xe1\x5f\x94\xf5\x46\x4d\x3f\x4f\x70\xdb\xa2\xc7\x63\x68\x2e\x9d\xc4\xca\x62\xd4\xd4\xfa\x54\x2b\x0b\x49\x0d\x5d\xd9\xff\xb6\x99\x16\x59\xd2\x12\x4b\x9a\xad\xac\x0d\x2e\x02\xf8\xb3\xa6\x62\xea\x9d\x0c\xf8\x4a\xdf\xc6\x20\x75\x90\xce\x4f\x04\x11\xbb\x04\x45\xfc\x8a\x17\x2a\x62\xe9\x81\x8a\x0c\xca\xab\x2a\x65\xd7\xac\x54\x30\x44\xa5\x8c\xd0\xfa\x4a\xb5\x65\xc8\xd1\x7b\xcc\xb5\x46\xd5\x40\xe4\x96\x9e\xe7\x64\x68\xec\x59\xb2\x66\x9e\x47\xc8\x5e\xe9\x2f\xae\xe7\x4c\x10\x08\x02\x06\x1a\x10\x5e\xd7\xaf\x6e\x9d\x72\xc6\x04\x03\xbe\x1b\x51\xba\xa3\x31\x4e\x63\x82\xd4\x12\x15\xd4\x8d\xb0\xa9\x40\xea\xf4\x75\xe9\xf1\x15\x9b\x00\xb0\x24\xd4\x19\x1d\x41\x67\x06\xab\x72\xc5\x18\x4f\xac\xb1\x19\xa0\x33\x21\x25\x0c\x0e\x10\xc0\xb4\xce\x9e\xe3\x03\xef\xbb\x73\x81\x88\x92\xc0\xdb\xc0\x8b\xe0\x08\x3a\x3d\x14\x48\x2a\xf2\xc5\xb6\xd0\x75\xf9\xf6\x21\x91\xb3\xae\x6d\x7f\x4c\x9d\x04\x7f\xe1\xbd\xec\xa0\x9e\x58\xc3\x81\xfc\x51\x52\xdf\x48\xeb\x19\x69\x5e\x18\xd6\x3b\x92\x7b\x6c\x57\xc8\x27\xcc\xd7\x77\x85\x86\xe4\x2b\x60\x75\xea\x18\x42\x82\x47\xa4\xef\xfb\x38\x2f\x0d\x38\xc7\xd4\xb9\x28\xe5\x89\x1f\x27\xd7\xc7\x9e\x33\x48\xa6\xd7\x27\x1e\x9b\xf7\xa8\x3a\xef\xf6\xf9\x53\x94\xe9\x7d\x12\xc8\xc0\x99\xce\xc5\xb0\x15\x9a\xb0\xe6\xe0\xf9\x06\x74\xd2\xf7\x9e\xa0\x18\x3f\x9e\xc3\xd0\x49\x40\x1a\x68\x4d\xd4\x18\x42\x5c\x6d\x41\x50\x0f\xb6\xd0\xaf\x3e\xa2\x2b\x22\x01\xea\x35\x27\xb6\x61\xf4\x65\x5d\x98\x0c\x88\x4d\x44\xaf\xda\x5e\x07\x3d\xb9\xc0\xe9\x21\xa0\xef\x83\xfb\x55\xda\x8e\x08\x75\x1a\xf4\x1e\xa1\x63\xe4\x39\x1b\xe8\x4d\x5d\xcf\xe9\xa1\x4e\x0d\x20\x7e\x23\x80\xd6\xce\x35\x8c\x60\x60\x4e\x55\x8c\x8a\x37\x82\x68\xd5\x20\x3a\x0a\xc2\xbd\x26\x92\x1c\x7d\x79\x2d\x0e\x1f\x90\x47\xca\x5f\x35\x8f\xf0\x87\x21\x5a\xdb\x20\xdc\x41\xe8\x44\x28\x03\x42\x39\x17\xea\x58\x26\x9f\x54\x9a\xb6\xf5\x8a\x24\x0b\x89\x00\x90\x24\x1e\x71\xb6\xad\xd8\x40\x8c\x52\xda\xc5\xf7\xd0\x73\x22\x34\x81\x35\x80\xce\xdb\x00\xb4\xb6\x01\xb8\x37\x5c\x88\x28\x76\xcd\x79\x94\xe7\xf1\xf5\xd2\xa2\xac\x7e\x20\xf3\x19\xa4\x7f\x8b\x42\x4d\x6d\x4d\xaa\x3f\x9d\x1d\x7f\x12\x89\xa1\x5e\xf5\xa7\xbb\xe3\xcf\x3f\xbd\x02\x71\xc6\x92\x56\xb9\x27\x93\x36\xde\x0a\xd6\x24\x6a\x84\x96\x90\x4c\x3a\xba\x75\xbd\x3d\xfe\x7f\xb4\x02\xaf\x05\x2d\x9c\x61\x8f\xe1\x3d\x86\xff\x39\x15\x34\x63\xb8\xb5\xc7\xf0\xcf\xc3\x30\x0e\x81\x7e\x26\x49\x8f\x71\xd6\xea\x51\xa9\xad\xa5\x4a\x1c\x59\x1f\xbb\xc0\x50\x87\xb1\xc7\x24\x83\x56\x32\x03\xc6\xf1\x92\xd0\x4c\x8d\xb4\xc8\x4c\x53\x62\x25\x00\x4e\xc7\x3b\x87\xed\x2d\xd5\x76\x2d\xd5\x76\x2d\xd5\x76\x41\x24\x70\x83\xc7\x28\x7e\xb6\xde\x9e\xa5\xde\x9e\xa5\xde\x9e\xac\xb7\xb7\x53\xbd\x81\xa5\xde\xc0\x52\x6f\x20\xeb\x0d\x7e\x69\x7f\xf7\x78\xf8\x3d\xf1\x90\xfc\xa4\xfe\xfe\xaa\x7a\x77\x67\x0f\xa2\xde\x08\x9f\xc0\xc4\x49\xbc\x15\xfa\x28\xce\x49\x1e\x50\x25\xa1\x6b\x26\xf4\xcc\x84\xe0\x59\x88\xb7\x2b\x92\x9a\x10\xdb\x12\xc4\x58\x26\xe8\x23\x47\x03\x9e\x56\x13\xba\x66\x42\xcf\x4c\x08\x9e\x85\x78\xbb\x22\xa9\x09\xb1\x2d\x21\xc2\x47\x30\x71\xba\xde\x12\x7e\xe4\x26\x02\xf8\xbe\x9a\xd0\x33\x13\x82\x67\x21\xde\xae\x48\xcf\x84\xd0\x13\xd0\x03\xc4\x44\x0f\x3c\x82\x98\xdd\x57\xfc\x14\x59\x9a\xfd\x14\x59\xda\xfd\x49\xb2\xf4\xb9\x7a\x5f\xcb\x33\x9e\xab\xf7\xb5\xbc\xf3\x57\xf5\x77\x8f\x87\xdf\x13\x0f\xbd\x9f\xd4\xdf\x5f\x55\xef\x6b\x65\x69\xcf\x94\x3f\x3d\x53\x96\xf6\x4c\x91\xd5\x33\xa5\xdc\x36\x88\xb7\x2b\xd2\x37\x21\xb6\x25\x88\xb1\x18\xb2\xb4\x67\xca\xd2\x9e\x29\xb2\x7a\xa6\x94\xdb\x06\xf1\x76\x45\xfa\x26\xc4\xb6\x04\x26\x4b\x33\x25\xa1\x30\x15\x59\x99\x29\x5c\x33\x53\xa8\x65\xa6\xd8\xdb\x06\xf1\x76\x45\x06\x26\x84\x96\xd0\xdf\x0b\xd7\xbd\x70\xfd\xb7\x08\x95\x3d\x1e\xf6\xc2\x75\x2f\x5c\xf7\xc2\x75\x2f\x5c\xf7\xc2\x75\x2f\x54\xf6\x78\xd8\x0b\xd7\xbd\x70\xdd\x0b\xd7\x7f\xb5\x70\x6d\xed\x85\xeb\x5e\xb8\xfe\xf3\x85\xca\x1e\x0f\x7b\xe1\xba\x17\xae\x7b\xe1\xfa\xdb\x08\x57\xff\x44\x78\x6b\x2a\x73\xd3\xae\x7c\xe2\x56\x4e\x97\xd2\x4d\xb3\x13\x68\x6e\x15\x39\x10\x76\xf7\x3d\x50\xf1\xaa\x48\xc0\x27\x6a\x49\x9f\x05\x9a\xa3\xd9\xc0\x84\xb9\xa1\x7e\x9e\x23\x18\xd4\x8b\x8f\x61\xe8\x0c\xc0\x12\x06\xd2\x75\x23\x0d\x85\x9f\x9b\x1f\x08\x77\x80\x54\x98\xeb\x77\xcc\xf2\xae\xa7\x5c\x48\xa3\x9a\x0b\x69\x02\xae\x42\xee\xc6\xbb\x81\xa0\x17\x3b\x33\xee\xf6\xd1\x6d\x3b\x1b\xea\x75\xc2\x5a\x2d\x20\x69\xe2\x14\x02\x3f\x96\x3e\x68\xe8\x3d\x0e\xd9\x50\xa4\x57\x5a\x10\xa8\xe7\x38\x74\x4a\x04\x22\x05\x0f\xae\xda\xd2\xcd\x10\xa4\x89\x4a\x9f\xc2\x8f\x0c\x39\x23\xe1\xd1\x26\xeb\x49\x48\x35\x23\xad\x9a\x84\xd4\x32\xa7\xb5\xcc\xb5\x5a\x12\x5a\x09\xf7\x30\xa6\x3f\xd5\x2a\x0e\xa0\x51\xc5\x88\x56\x31\xaa\x55\xf1\x26\xfd\x68\x40\x4a\x62\xe2\x24\xb1\xa3\x24\x71\x4b\xef\x33\x69\x1e\x07\x75\xbf\x11\x10\x84\x7a\x56\x62\x64\xe5\x55\xfa\x15\x39\xcc\x63\x4a\x0e\x6d\x0d\x09\xf9\x72\x47\x83\x6b\xea\x19\xda\x0b\x84\x93\x57\x3f\xd4\xbd\xab\x62\x8b\xfd\x35\x7d\x9a\x08\xaa\x09\x3d\x32\xa8\x44\x94\xc7\xc3\x90\x90\x85\xad\xbc\x5f\xf5\xda\x6f\x08\x55\x60\x8e\x2b\xd2\x3c\x83\x49\xea\x9a\x3b\xab\x48\xef\xf2\xbe\xc5\x9b\xa9\xa0\x8e\x88\xcc\x83\xe7\xe3\x27\xa1\x28\x67\xb2\x64\x04\xa4\xeb\xb2\x7a\xef\xed\x00\x33\xb0\xc0\xf4\x9e\xaf\xe6\xe5\x20\x7a\xc3\xc9\xa7\xb6\xd3\x82\xe0\x5c\x72\x01\x2d\x72\x07\x4a\x3d\xee\x62\x56\x47\x1c\x92\x3e\x19\xd2\x87\xd3\x3d\x41\x21\x59\xda\x4b\x14\x68\x8e\xd7\xdc\x3d\xe8\x11\x85\x4e\xb1\x25\x6f\xb6\x25\xef\x18\x36\xe7\xad\x20\x00\x6b\x48\x66\x6e\xe4\xde\x41\x49\x95\x0a\xe8\xce\xa5\x40\x6b\x57\x3a\xbb\x06\xa1\x53\xb8\xd2\xe9\x7d\x06\xc1\x65\x48\x56\x5a\xbf\x4e\xf7\x11\x88\x84\x9b\xfc\x0c\x6a\x0e\xac\x5d\xe1\x4b\x46\x71\xb8\x84\x92\x4f\xb3\x47\xe5\x93\x3d\x51\x50\x2b\x05\xc5\x1e\xb9\x8d\xec\x6e\x50\x5d\xea\x19\x82\xa4\x53\x9a\x00\x8a\xb5\xf6\x14\xd1\xa7\x9e\x33\xdf\x01\xda\x88\xe1\x11\xcb\xe9\xcf\x24\xc5\x63\xd0\x3e\x77\x29\x37\x3a\x64\xff\xe6\xbe\x33\x72\x01\x58\xf8\xce\xca\x25\x00\x2d\x17\x80\x25\xa2\x69\xf7\x48\xa5\x75\xeb\xde\x2b\x20\x63\x4e\xc6\x23\x48\x3d\x90\xc7\xd0\x99\x50\xfe\xb4\x44\x9a\x1f\x61\xc5\xdf\x29\xf9\x74\x16\x0a\x4f\xb6\xb4\x88\x42\x67\x8d\x01\x98\xb9\x4e\x81\x01\xb8\x73\x9d\x39\x55\xf6\x26\x2e\xe1\x58\xb4\x64\x97\x4c\xed\x2e\x4d\x74\xb4\x26\x1e\x23\xd9\xc4\xe9\xf3\x4d\xf4\xa5\x07\xa8\x72\xcb\xef\x59\x9c\xe7\x3a\x32\x3c\x8d\x72\x35\x49\xaa\x53\x10\x13\x89\xbf\x42\xa0\x13\x6b\x74\x27\xfc\xb1\xdb\x9c\x51\xaa\x35\xa6\xd0\xd9\x91\x84\xc3\x60\x54\x0b\x3d\x50\x71\xc1\x4d\x49\x0b\xe7\xd4\x95\x88\x47\x74\x61\xe4\x5c\x71\x6f\x9d\x53\xf7\x56\xae\x41\x84\x21\xc1\x55\x12\x08\x1f\xd5\x94\xae\x1d\x15\xea\xc6\xf7\x78\x18\xa2\xa5\xf8\xf5\x39\x26\x12\xe5\x8c\x45\xa3\x8c\x30\x69\xaf\x87\x94\x91\xfc\x35\x95\x3f\x85\xf6\x8e\xce\xae\x45\x04\x17\xf6\xcb\xe2\xbf\x30\x19\x46\x44\x9b\xe4\x42\x01\x75\x85\x55\xc8\x49\x68\xc4\x98\x0a\x97\xca\x8c\x85\x9c\xb8\xc7\x9d\x90\x7b\xf2\xb2\x94\xf5\x35\xba\x4b\xbc\x9f\xd6\x60\xe4\x4e\xae\xab\x0d\x96\x5d\x74\x96\x78\x3c\xe4\x05\xfb\x65\x8e\xf8\x8c\x44\x0b\xa3\xc1\x96\xd1\xe0\x01\x7c\x76\x84\xd7\x54\x05\x90\x0d\x8e\x52\x30\x08\xb5\x98\x01\x3b\x3b\xd3\xa9\xad\xe5\xa0\xfa\xda\xd5\x5e\x25\xb4\x60\xa2\xe2\x31\x97\x4f\x9c\x86\x2e\x3d\x22\xca\x53\xa1\x70\x84\x47\xd7\x44\xb6\x07\xe5\x35\x65\x7c\x79\xf0\xc2\xde\x3d\xdb\x9e\x44\x09\x4d\x5c\xab\x47\x15\x71\xa8\x80\xa0\xa2\x30\x63\xaa\x0b\x6f\x20\x58\xc1\xdd\xbb\xf3\x46\xc7\x58\x3f\x05\xe7\x6a\x60\x27\x90\xca\xcf\x02\x05\x5a\x48\x09\xa5\x74\xf1\x92\x63\x44\x75\xd0\x95\x82\x7a\x40\x21\xa1\xc1\x63\x24\x15\x45\x22\xdd\x4b\x04\x0e\x90\xce\xda\x79\xf9\xa1\x4b\xd1\xb7\x74\x7f\xf1\x6c\x1a\xda\x24\xd6\x11\xe1\x52\x5d\xfd\xc2\x0d\xc4\x74\x7d\x60\x29\x25\x0e\x4c\x16\xaa\xa4\x56\x47\xf3\xce\xbc\xc3\x21\xe1\x14\x1b\xfc\x8b\x07\xc9\xbb\x7f\x86\x43\x22\x3e\x0e\xb0\xe4\xee\x08\x68\x73\xac\xba\x9f\xb3\x96\xc6\x5e\x48\xc4\xf4\xca\x0b\x78\x50\x22\x7c\xf4\x57\x5b\x73\x5e\xcf\x40\x3d\x74\x83\x2d\x5a\x8d\x11\xda\x64\x06\x25\xad\x96\xea\xb1\x50\x8f\x86\x96\xa1\x14\xe9\x3e\x9a\x61\x60\x06\x4c\x60\x1a\xcc\x97\x43\xfc\x26\x11\x03\xda\x11\x0f\xdd\xd4\x23\x1d\x92\xbd\xba\x49\x48\xea\x17\xa7\x47\x37\xc6\xca\x81\x5d\x3b\xf3\x36\x4e\xda\xd8\x28\x7b\x5b\xb2\xa7\x74\x37\x0d\x72\x67\x00\x36\xf0\x2f\x31\xbd\x2a\x42\xcb\x11\x4c\x49\x1f\xbf\x39\x7d\xba\x18\x05\xae\xe2\x90\xe1\x72\x03\xb5\x18\x69\x89\xe7\x64\xe8\xbd\x75\xbb\x25\x59\xff\x2d\x74\x09\x62\x4a\x18\x5b\x42\x00\x68\x12\x02\x6b\xbb\xf4\x38\xd8\x32\xc4\xc9\xf6\x21\x92\x4d\x7e\xa8\xe4\xbe\x0c\x4c\xa5\xb7\xe5\x7b\x1c\x51\x33\x21\xd9\xfc\x86\x31\xd4\xb6\x11\xee\x20\x74\x72\x34\x74\xb7\xed\x35\x22\x3a\xe6\xb9\x36\xe6\xa4\x71\xcc\x4c\x4d\x99\x3f\x33\xe6\xf9\xf6\x31\xcf\xe9\x98\xd7\x62\x63\x8b\x71\xbd\x4b\x64\xcc\x4b\x4d\x25\x9a\xab\x31\x9b\x9d\xab\x8f\xb9\x84\xa1\xd3\x45\x53\xf7\xf9\x89\x2e\x76\x9a\xe8\x42\x9c\xa8\x6c\x1d\xf4\xf3\xb4\x1c\x69\xc1\xc1\x9a\x26\x5a\x1e\x42\x30\xe5\x65\xf7\x89\x9e\xc1\xd0\xc9\xd0\xfd\x0e\x83\xfe\x17\x51\xf7\x8a\x0e\xfa\xe9\x6f\x1e\xf4\x4e\x33\xfd\xf3\x06\xdd\x82\xa1\xd3\x47\x67\x3b\x0c\x7a\xb4\xd3\xa0\xe5\x39\xd3\x8f\xcf\xb4\x64\x0f\x4d\x83\x96\x08\x66\x67\x79\xbb\x0f\xfa\x00\x92\xda\xd1\x13\x6c\xe0\x64\xda\x29\x8b\x40\xc0\x11\xc2\xce\x31\x2c\xe1\xb9\x2d\x9a\x4b\xb5\x5b\x2c\x32\xd7\x31\xed\xf7\x8f\xa0\x40\x86\x01\xbb\xa0\x55\x99\x3d\xa5\xd1\xcc\xf4\xad\xca\x71\x33\x0a\xf8\xb8\xe9\x59\x0c\x3a\x83\x75\x28\xeb\xb0\x23\x36\xec\xf3\x86\x61\x1b\x1c\x56\x6e\xd3\xb6\x0e\xfb\x79\x6e\xee\x8b\xe0\xa2\x05\x92\xc3\x8e\x8c\x61\x5f\x68\x7b\xb3\x73\xeb\xb0\xb5\xce\xb9\xf4\xcc\x14\x1d\xbe\x70\xb6\xd7\xbb\xcd\xb6\x2e\x79\x7e\x64\x95\x1b\x84\x63\x9d\x6d\x79\x54\x4f\x5a\x7c\x76\xb6\x3b\x94\xc8\xc7\x4d\x47\x83\xff\x56\x22\xef\xd2\x61\x2f\x7e\xe5\xb0\x77\x9a\xed\x37\x1e\x76\x16\x3a\x33\x88\x1e\x5f\x38\xec\xd6\x6e\xc3\x66\x01\x33\x5b\x6f\x31\xdb\x3a\x9b\xb0\x0e\x5b\xa2\x98\xb4\xf8\xec\xb0\x89\xd0\xee\x6a\x51\x35\x2b\x37\x08\x7c\x5b\xc9\x6e\xed\xce\xd9\xc9\xf3\x98\xfd\x9b\x21\xd2\x9f\xf4\x04\xc9\xa6\x3f\xd1\xc0\x65\xa7\x2c\xfb\x16\x12\x15\x2d\xbf\xe6\xa7\xf4\x43\xf8\xe8\x13\xa5\xad\x80\xc7\x3e\x90\x69\xb7\x3e\x90\xea\x5c\x01\x67\xbe\x2d\xf0\xa6\x36\xb6\x07\x48\x55\xb6\x96\x08\x09\x95\x0c\xe1\x93\x0f\xe4\xa2\x2e\xe0\xa9\x8f\xe5\xf6\xa7\xeb\x53\x74\x7e\x72\x12\xf4\xe8\x36\x9c\x8b\xaa\x1d\x58\xdc\x6b\x05\x91\x2c\x70\xe6\x36\x9c\xd5\xea\x05\x66\x61\x68\x9e\x8a\x0a\x6b\x1d\x11\x9e\xba\xc7\x72\x82\x5a\x04\xe7\x20\x90\xb7\xdb\x51\xa8\x85\xd3\xc5\x5f\x06\x81\x1e\x67\x36\x02\x95\x4d\xb2\x91\xd6\x33\xd2\xfa\xdf\xdb\x4e\x8f\x87\xb6\x23\xd3\x16\xf0\x99\xe5\x20\x34\x9a\x9d\xba\xf3\x64\xc7\xc8\x62\x9f\x4f\x8f\x95\x67\xea\xbd\x80\x24\xc1\x38\xdc\x55\x61\x0c\xd9\x66\xfc\xcb\x10\x06\x32\x82\x72\xe5\xfc\x67\x60\x49\xeb\x19\x69\xd9\x4d\x5b\x9c\xfc\x63\xd9\x0a\x13\x08\x7e\xed\x20\xc7\x88\xb9\xa9\xf6\xdb\x6a\x93\xce\x03\xfc\xa1\xbf\x34\x3b\x8c\x58\x13\xb1\x95\xd3\xff\xbe\x99\xf6\x17\x3d\x05\x2e\xa0\x8e\x3d\xa2\xf2\xc7\xe6\x29\x0b\x2f\x14\xb7\xb5\xd0\xe2\x14\x3b\xea\x00\x2b\x92\x25\xd4\x29\x89\x7a\x32\xce\x01\x62\x50\x89\xc6\xad\x9f\x7e\x2b\x16\x50\xb9\xeb\x53\x8b\x44\x5d\x27\xf6\x80\x45\x7c\xef\x78\xd5\x77\x43\x76\xa4\x6c\xc6\x06\x4b\x97\xca\xfa\x85\x2b\xef\xc2\x8d\xc8\xf9\x72\xf2\x35\x76\xe2\x6e\x2a\x91\x12\x6d\xc1\x4f\x55\x30\x57\x95\x61\xe3\x38\x3d\xf9\xa4\xce\x61\x7a\xd5\x8e\xe0\x29\x7c\xa0\x5b\x64\x40\xf5\x9d\x09\x6c\xb9\xb6\x98\xbb\x1a\xb7\xfb\xce\x36\x00\x2b\x48\xfe\xcd\xe0\x14\x6a\x9d\xb0\x80\xdf\x43\xb6\x1f\xde\xd0\x2b\xb7\x63\xb8\x80\xf5\xcb\x0b\x8d\x2d\xa5\x54\xd3\x56\x0b\xeb\x32\x74\x12\x90\x48\x3a\x4a\x42\x7e\x4f\xa5\x10\xc8\xd7\x84\x5f\xb9\x79\xd4\x29\x27\x10\x37\x61\x89\x85\x42\xf4\x93\xcf\x86\x80\x84\x1c\x77\x81\xb8\x76\x4b\x65\x35\x81\x2c\x67\x5b\x56\x06\xe1\xd2\xaf\x00\xac\xe8\xd8\x14\x71\x77\xe4\x13\xe3\x49\xf8\x84\x32\x42\x79\x7d\x68\xdc\x05\x69\xdc\x6c\xa6\x1e\xb5\xd4\xbe\xb6\x8a\x43\xa1\xa2\x15\xf4\x86\x5d\x55\xf5\x16\xe7\xd0\x1f\x43\x7e\xfb\xb1\x84\x20\x8b\xc5\xf4\x7c\x6b\x2b\x6d\x99\xdf\x8f\x4c\x5c\x7a\xe3\x7a\x04\xe9\xbf\x27\x4a\x35\x23\x28\x4b\x8c\x61\x9b\x13\x9f\x2e\x69\x4b\x5a\x9c\xe9\x24\xd2\x26\x81\x49\xe0\x63\x18\x08\x7e\x13\xbd\xf0\xb2\x82\x8d\x9b\x4e\xd5\x5a\x29\x07\x03\x6d\xf1\xb2\x44\x8f\xaa\x18\x91\x3c\xc7\x0e\x42\x67\x83\xe5\x0d\x1e\x25\xa8\x53\x75\x59\x8a\xa9\x59\x0b\x1e\xc2\x21\x0a\x78\xf7\xb1\xe2\x17\xb8\x80\x2b\x14\x92\x6d\x01\x19\x10\x1a\xc2\x23\x18\x70\x05\x86\x42\xad\x04\x14\xd9\x05\x2e\x75\x02\xc6\x9e\x73\xe1\x6a\xad\x92\x3d\x3c\x45\xfe\x0c\x0f\xe1\x9d\x6b\x6f\x6b\xe3\x86\x34\xff\x0c\xd9\x5b\x29\xdc\x90\x5f\x1f\x95\x48\x5e\x4f\x63\x50\x40\x31\xa4\x01\xa8\x1c\x1a\x77\x08\x32\x26\x34\xc4\x2b\x1f\x6c\x70\x01\xc9\x34\x80\x31\xe2\x37\x4c\xea\x32\x4f\x68\x68\x05\xb2\x40\xa4\x12\x22\x05\x33\x28\x16\xeb\x0b\xa8\x9a\xbd\xa7\x40\x1e\x9c\xd1\xb5\xb3\x52\x8f\x9a\xec\x54\x72\x6c\xa4\xe6\x5c\xd3\x83\x73\xa0\x64\x15\x4d\x7b\xc1\x79\xba\x5c\x56\x07\x90\x30\xa6\x58\xae\x07\x2b\xb9\xe6\x81\x26\x4d\x04\x0a\x43\xe7\x94\x5e\x10\xf3\x99\xf5\x42\x67\xe9\x0e\xe1\x38\xa8\xcc\x69\x4b\xcc\x59\x19\xb0\xfc\x61\x18\x48\xc3\x6a\x7d\x4e\x5b\x61\xe8\xac\x70\x95\x52\x4e\x29\xa5\x9c\x63\x56\xca\x56\xeb\x3c\x0c\x69\xfe\x5d\x64\xab\xf5\x53\xab\xf0\xa9\xd1\x03\xdb\xd2\x92\x85\x49\x9f\xd7\xee\x06\xde\x1e\x79\xb1\xc6\x4d\xb8\x8a\xa2\xbe\x13\x31\x8e\xdb\x6c\x5d\x1a\xcc\x6b\x87\x15\xca\x91\xc9\x42\x17\x27\x81\x59\x83\x69\x46\xfe\x6a\xee\x25\x94\x63\x5f\xe3\xfe\x37\x17\x90\x5a\x62\x8d\x11\x65\x3f\x73\x4c\xfe\x8d\xe0\xa1\x2b\xda\x8e\xda\x1c\x91\x8c\xd0\x4a\xf5\xd5\x90\x1d\x46\xf6\x3a\xea\xdd\x95\x26\xdb\x94\x57\x90\xba\xe9\xef\xcc\xbd\x85\x0f\x22\x1a\x1a\x2e\xe1\x0c\x85\xaa\xd3\xd8\x12\x70\x7e\x03\x8d\x80\xd2\x0d\x92\xd1\x16\x15\xdc\xa6\x45\x75\x8c\xed\x51\x4d\x4b\xba\x85\x4f\xf2\xbe\xa6\x84\x05\x16\x5c\x89\xfd\xae\x5d\x30\x08\xec\x9b\x86\x5b\x78\x28\x02\xfc\xc7\xd6\x82\x13\x18\xd8\xf7\x27\xb7\xf0\xce\xab\x96\x5c\x0b\x93\xb9\x53\x61\xec\x88\x41\x37\xe4\xdf\x38\xe1\xeb\x98\x12\xcc\x01\xfd\x5d\x31\x33\x3d\x8a\xe1\x89\x7b\x0b\x9f\x3c\x1b\x0f\x2e\x61\xe9\x53\xe3\x24\x15\xae\x15\x7b\x7c\x0d\x31\x1b\x3d\xd6\xec\x84\xcf\x94\x6a\x65\x43\x66\xcd\xb3\xf1\xed\x12\x1e\x78\x21\x29\xa1\x64\x4e\x47\x28\x35\x42\xd5\xd7\xdd\x27\xf8\xfc\x5e\xd1\xad\x53\x57\x2e\x23\xbc\x6d\xf1\xf8\x96\xc5\xe3\x5b\x16\x8f\x0f\xbe\xd0\xfb\xe1\x3c\x16\xd3\xff\x7d\x03\xe9\x96\xec\x10\xd2\x3d\xd9\x81\x4b\xfe\xcd\xe0\x93\x5c\x38\x77\xb0\xcd\x91\x77\x4e\x70\x1d\x8b\x3d\xc4\x19\x6c\x73\x64\x5c\x20\x30\x42\xb1\xb6\xc8\x79\xd5\x53\xd4\x76\xe6\x3a\xa2\x5c\x00\x4a\xd7\x39\x40\x00\xdc\xba\xa4\x14\x98\xf8\xe4\xdf\x12\x9d\xf0\x0f\xcd\x60\x34\x8e\x3e\x72\x5b\xab\x57\x29\x4f\x8a\x7e\xb3\xea\x53\x04\x2a\x96\x34\x4b\x5b\x13\xbe\xc6\xaa\x2e\x3d\x42\x8e\xb1\xcd\x6c\xf2\x9a\x30\x74\x90\x6d\x3b\x93\x8e\x9a\x32\x68\xed\x8d\xa7\x1a\x5b\x8a\x7d\x0b\x9d\x95\x0b\x4a\x68\xeb\x10\x35\x66\x70\xc1\x1a\xc6\x35\x95\x3c\x01\x4f\xb0\x4d\xb8\xff\x39\xb4\x98\x1d\xa5\x6d\x6e\x77\x62\xec\xdc\x3a\x16\x05\xd8\xd8\xc9\x28\xd5\x37\x97\x4f\x2f\xb8\x1a\xd6\x76\x66\x76\x23\xa2\x8e\x5a\x94\xea\x7e\xb7\xd0\xdf\x13\xcf\x39\x46\x63\x78\x22\x24\x71\x67\x04\x8f\x31\xd5\xf5\x62\x71\xdd\xba\x89\x41\x3b\x24\xeb\xbf\x1b\xd4\x0f\xf1\x97\x21\xd9\xae\xac\x91\x14\xe5\x01\x15\xe5\x5a\xf1\x49\x48\x18\xca\x06\xbe\x44\x4b\x7d\x85\xa4\xf0\xe8\xc7\x9c\x44\x90\xee\x0e\xb5\xa3\x76\x41\x12\x0b\x66\xd1\x6f\x6b\x1b\xca\x4c\xe3\xe6\x58\x99\x1a\x88\x59\xaa\x45\x1f\x6d\xe0\xf3\x4a\x48\xa9\x03\x82\x99\x32\x40\x89\x1b\xe7\x21\x32\xe6\xc1\x76\xd1\x5f\xc0\x31\xfc\x20\xbe\x55\xd3\x19\xc1\x52\x7e\xda\x4a\x43\x51\x04\xbe\xd3\x5b\xdb\x91\x88\x98\xad\x59\x96\xd2\xcb\xf5\x82\x71\x9b\xfa\x09\xe4\x7b\xc2\x78\x20\x18\xa1\x60\xcb\x5e\x34\x01\x77\xcc\x92\x74\x83\xf4\x63\x8c\x91\xd2\xfc\x15\x1e\x12\xa0\xe2\xdd\x67\x9e\x55\xfb\xc9\xaa\x42\x54\xa1\xc6\x66\xa6\x37\x51\xdf\x1d\x88\x9b\xca\x75\xaa\xe5\x4a\x08\x2a\x9f\x39\x9b\xdb\x96\xa5\xb1\x57\x35\x16\x28\xae\x36\x60\xd8\x59\xd8\x0e\x18\x7e\x74\xe5\x5a\xa6\x7d\xda\x51\xd3\xbe\x6c\x53\x3b\xdb\x09\xd9\x2e\x3e\xc2\x8b\x74\x04\x9d\x12\xae\xe1\x6d\xf7\x91\x4a\x9c\x35\x0c\xac\x27\x46\x36\x1e\x93\x58\x78\xd1\x8b\x86\xba\x4d\x9b\x19\xc3\xa7\x6b\xa0\x7d\x28\x48\x05\xe5\xc5\x6c\x10\x4b\x04\x36\x88\x0e\xe2\xf8\x63\xd7\x49\x37\xf0\x69\x08\x87\x50\x33\xa5\xd9\x81\x2f\x64\xa0\x72\x72\xa6\x7d\x84\x84\x50\x4c\xd7\x72\xc0\xc1\x3c\x69\x1e\x61\x8c\xe5\xc1\xf0\x1a\x5e\xaa\x59\xb9\xa2\x5a\x61\xd7\xb2\x08\x52\x7e\xd8\x69\x38\x87\xd0\x63\xcf\x19\x3d\x71\xe5\xa7\x77\x21\x3d\xe7\x4c\x6a\xbe\x1c\xfd\x29\xfc\x00\x95\xd2\x2a\x55\x99\xce\x04\xce\x21\xb5\x13\x03\xc7\x90\xfc\xeb\x2f\xa0\x36\x64\xde\xed\x2f\x6d\x32\xbd\x85\x65\xed\xaa\x2b\x83\x3e\x3d\x3a\x60\x6a\xdf\x31\xa3\x85\x2d\x76\x20\xda\xcf\x11\x33\xdc\x3b\x10\x3a\x5f\x34\x85\x0b\x17\x58\xf6\x40\x13\x78\xe0\x86\xce\x1c\x4e\xe1\xbd\x94\x10\x13\xb8\xc4\x21\xd7\x0d\x4f\xe9\xb1\x8a\x41\x6c\x15\x5a\x49\xc5\x29\xf0\x1b\x59\xfe\x71\xdd\x24\xa0\x03\x78\xf3\x6a\x99\xe9\xae\x38\xb3\x8e\x88\x2c\x9b\x43\x79\x02\x1e\xa3\xa9\x1f\x32\x47\xdf\x97\xef\xeb\x5e\xb7\xfb\xd1\x57\x65\xe2\x69\x7e\x1c\x19\x68\x30\x2d\x53\x8a\x9a\x3a\xc8\xeb\x57\x9f\x3a\x4f\x70\x08\xb1\x34\x51\xd8\xc0\x09\x54\x2b\x22\x0d\xb5\x6f\xf2\xfc\xb4\x71\x6d\x59\xc9\x4c\x65\x4f\x2c\xb6\xf0\xa9\x7e\xd8\x95\x55\x07\xc6\x65\x90\x74\x32\xd0\xae\xbe\x66\xea\xfc\x83\x99\xb5\x49\xc4\x9a\xfb\x23\x50\xf9\xb0\xa8\x71\x4c\xac\xad\xec\x3b\x78\xeb\x09\x16\x7d\x55\x40\x65\xd9\xbd\x81\x73\xac\x50\x19\x8b\x93\x5a\xe3\xee\x41\x71\xde\x18\x6c\xbb\x71\xe8\x02\x8b\x02\xa1\x48\xb8\xd0\xdf\xa3\xba\xb8\xe3\x39\xb8\xae\xa8\x33\x82\xfa\x7e\x86\xb0\xb3\x81\x79\xe9\x7a\x64\x03\x91\x76\xb5\x83\x78\x4e\x72\x9f\x3f\x3b\x17\x10\xe4\x89\x39\x17\xfe\xf7\x0f\xb8\x4d\xca\x5e\x30\x7f\xb6\x39\x8c\x75\x8c\xd7\x08\x41\xbb\x8d\x0c\x24\x21\x04\xa0\x6a\xec\xa9\xf6\xf4\x5d\x50\x3d\xbb\x7a\xd6\x16\xf4\x01\xb6\x9d\x03\x08\x5a\x30\x79\x4d\x37\x8e\xe0\x47\xa2\x3c\x9e\xc3\xae\xf6\x05\xa4\x8c\x3d\x7d\x80\x14\x05\x33\x94\xbc\xc6\x7e\xf5\x07\x86\x74\x8f\x3e\x12\x26\x7b\x2c\x1a\x5e\xaa\x4d\xda\x4a\x3d\x6a\xa9\xb9\x36\x6f\x67\xe8\x23\x91\x0b\xa5\xcb\x0b\xc7\xdf\xc7\x3e\x9d\xaf\xa5\x0b\x9c\xd2\x05\x41\x52\x9f\xeb\xab\x8f\x4e\x89\x40\x37\x6e\x9c\xeb\x09\xa6\xed\x15\xf2\x8e\xee\xd7\xcc\x35\xd9\xa8\x8d\xd0\x6b\x49\x6e\x01\xdb\xce\x29\x02\x6b\x98\xd4\xe7\xfa\x09\x52\x14\x1c\x88\xa3\xf9\xbf\x6d\xae\x6f\x11\x3d\x1d\x58\x8a\xfd\xff\x8b\xe6\xfa\x01\xb5\x89\x72\x75\x2a\x0a\xef\xe7\xfa\xbf\x6d\xae\x5b\x3f\x30\xd7\xad\xfd\x5c\xff\x53\xe6\x1a\x9c\x91\x94\xdf\x63\xa2\x5e\x48\x6b\x18\xfc\xd5\xde\x4f\xee\x96\xc9\x8d\x40\xf6\x59\x39\xb8\xf9\x7c\x4f\x95\x83\x4b\xba\x26\xc0\x04\xd1\x7f\x53\xa4\xee\xd6\xe2\x58\xc0\xb4\xa9\xd3\x7a\x5f\xbe\x7f\x69\xd3\xbb\xc7\x63\x7a\x05\x99\x4f\x91\x48\xff\xfe\xd1\x39\x47\x60\x02\x13\x91\x30\x85\x1f\xf9\x49\xff\x31\xff\xa6\x39\x10\x17\xcc\xb2\xb2\x13\xd8\x26\x3d\x2a\x10\x3f\x60\xca\xc1\x10\xd1\x0b\x87\x99\xf4\xc7\x98\x5d\x8b\x63\xa2\x35\x92\x1d\x8f\xc4\x65\x60\x81\xe4\x70\x22\x32\x1c\x32\x80\x39\x1b\xc7\x02\x11\x1c\x30\x57\x53\x31\x9c\x88\x0c\x67\xa9\x86\x33\x87\x64\x3c\xa4\x97\xe7\x88\xfc\xcb\x17\x7c\x3c\x4b\x48\x06\x74\xa0\x0d\x68\xc9\x42\x17\x5c\x88\x63\x76\x39\xae\x53\x6d\x44\x11\x1d\x51\x81\xd4\x88\xe6\x90\x0e\x69\xae\x0f\xa9\xc5\x86\x74\xae\x0d\x69\x0e\xd1\x22\xe1\xb6\x55\x7f\xd7\xee\xaf\xf9\x98\xa8\x84\x0b\x78\x25\xb6\x20\x73\x48\x37\x6d\xfe\x9b\x45\x89\xe2\x07\x11\x95\xcf\x82\x52\x3f\xd6\x5c\x5a\xa1\xa5\xa0\xe2\xb3\xbd\x54\xb7\xdc\xf8\x08\xde\x41\xd2\x95\x16\xdc\x68\xfb\x4a\x8f\xde\xed\xc7\x81\xc0\x4c\x10\x3a\xc7\xee\x02\xde\xa2\xc0\x72\x44\x32\x87\x05\x0a\x9d\x8d\xbb\x80\x53\x28\x6e\x98\x68\x7e\x4b\xe4\xcf\x91\xbe\x19\x54\xe7\x0e\x8a\xf1\x68\xa7\x55\x03\x13\x79\xec\x06\x7b\x01\x8f\x5c\xbe\xcd\xd4\x2d\xd7\x19\x32\xe6\x70\x8e\xed\x4d\x68\x15\xf7\x6a\x15\x5f\x7a\xce\x1a\x2e\xe0\x42\x5d\x6d\x8b\x1f\xd1\xc4\x1c\xce\xbc\x50\xf7\x54\x56\xa8\x54\x1b\x50\x03\xbd\x13\x03\x9a\xc3\x24\x9e\x33\x40\xf7\xbe\xcd\x1a\x1f\x83\x8a\x69\x2c\x3f\x3a\x72\x67\x7e\xe8\x0c\xd0\xd3\x4b\x8a\xac\xfc\xd0\xe9\xa1\xb3\xa6\x22\x75\x47\x9f\xbe\xdb\xa2\xad\x1c\xbe\xa4\x95\x73\x3f\x74\x32\x34\xbe\x6c\x28\xa2\xdb\xbb\x8a\x22\xa3\x4b\x42\x52\xe8\xbd\x6c\x46\x33\xa6\x75\x0f\xa8\xe1\x1f\x1a\x5e\xd6\x33\x23\x77\x74\x49\x50\x8a\xa6\x96\xcc\xc4\x9d\x5f\x12\x72\x46\xf7\xd6\xcc\x35\xcb\x7c\xb2\x66\x1e\x5f\x92\x4d\x38\x3a\xb3\x66\x4e\x02\x32\x59\x27\x97\x58\x32\x2b\x3b\x26\x64\x91\x39\x24\x5b\xf7\x03\x01\xa1\x4c\x70\xe9\xa5\xbb\xb2\x90\x61\xb7\xb1\xcc\x1e\x83\x99\x85\x6e\x14\xc4\x52\xab\xe4\x40\x8b\x60\xe2\x5e\xf8\x6d\xdd\x24\xcc\x38\x8a\x11\x56\x1a\x9e\xd3\x5d\xc0\xb3\x50\x2e\x92\x39\x2c\xa2\xb0\xe6\x41\xff\x22\x1b\xb0\x04\xc4\x9e\x33\x58\xc0\x7b\x69\x74\x31\x81\x6a\xe5\x93\x26\xd6\xf4\xc3\xea\x0b\x78\x22\xcd\x36\x18\x44\x8b\x3f\x47\x07\x90\x99\xe7\x4e\x02\x3d\x8e\xc0\xdb\xba\x6a\xb3\xaf\x8a\x46\x6f\xe1\xd9\xbc\xfb\xb5\xf2\xeb\x04\x05\xf3\x99\xef\xb7\xa0\xb8\x60\xf8\x72\x44\xcd\x38\xb2\x0d\x3f\x57\x8e\x87\x70\x18\x3e\x40\x8a\xb3\xe3\xd0\x7b\xd9\xf9\xde\xcb\x70\x36\xa2\x38\x7b\x0b\x5c\x5c\x51\x9b\x49\x75\x81\xa7\xa8\xf2\x13\xd1\x48\x16\x70\x1c\x63\x8b\xed\xc1\x1c\x96\xb1\x47\x24\xfe\x08\x76\xe5\x81\xf6\x18\x7e\x26\x9a\xc2\x1c\x76\x65\x89\x05\xfc\xec\x9c\xc3\x05\xbc\xbb\xc2\x16\x6b\x83\x39\x9c\x5c\x79\x44\x7b\x38\x85\x5d\x91\x06\xce\xe0\x67\xa2\x5c\x1c\xc0\xae\x2c\x71\x08\x3f\x3b\x73\x97\x9e\x0e\xf1\xc5\x73\x87\x3e\x3a\x4b\xc6\xef\x31\x58\x23\x7e\xa2\xe4\x0f\xe1\x34\xfe\x48\x27\xa0\x6c\xf3\x63\xdc\xb9\x42\xd2\xa8\x86\x2f\x54\xb9\x95\x2f\xd4\x23\xb7\x67\xf5\xe8\x25\x44\x64\xf7\x4f\xe7\x76\x94\xc3\x8f\x6d\x6d\xaa\x0d\x33\x4b\xab\x91\x6f\xf2\x00\x81\x10\xf7\x6b\x78\x59\xff\xc2\xba\x3a\xa0\xe4\x6c\x84\x2e\x55\xcd\x62\xcf\xf5\x88\xfe\x58\xe9\x57\x4d\x63\xaf\xdc\x29\x25\x00\x94\xc8\x09\xc0\xa7\x05\x72\x0a\x66\xba\x22\x2c\xf5\xe9\xfd\xa5\x4b\x63\x6d\x09\x25\x82\x5b\xd2\x2a\x8b\x7d\x3c\x45\x2f\x39\xaf\xc6\x3a\x82\xd9\xe8\x9f\xd4\x90\x37\x30\xa0\xea\xb6\x2f\x88\xee\x09\xce\xa0\xf0\xb5\xd0\xd5\x93\x0d\x7c\x24\x7b\x20\xf4\x04\xd3\x8a\x76\xb2\x16\xd9\x9f\xa9\xee\x38\xd0\xdd\xa4\xb7\x39\x74\xdc\x42\x6a\x4a\x3a\xaf\x5c\xe0\xa8\x8b\x45\xf3\x5a\x56\xbf\xd4\x09\xb8\xd3\x80\x2d\x62\x8a\xba\x3c\x30\xae\xb0\xb7\x05\x77\xb2\x7c\x89\xfe\x03\x7c\x82\x58\xfa\xae\x5e\xc0\x53\xf8\x8c\x7d\xb4\xfa\x06\xf0\xd0\x15\x51\x39\xec\x07\xee\x11\x76\x4a\xf7\x08\xce\x25\x9a\x63\x85\xe6\xb8\x05\x6f\x21\x76\x0a\xf7\x08\x62\xe1\x85\x12\x2b\x34\xc7\x2d\xf8\xbd\x5e\x79\xfc\x46\x95\x1f\xc3\x6f\xa1\xf6\x9d\xf9\x0c\xd4\xaf\x48\x39\xeb\xab\x9b\x83\x19\xf3\xdd\x18\x0a\x20\x3d\x81\x9f\x05\xed\x1d\x43\xaa\xd0\x0e\xe4\xd5\x53\x54\xf3\x96\x60\x5c\x76\x88\xda\xbc\xcc\xa0\x40\x19\xb0\x5b\x9e\x73\x65\x35\xad\x86\xdd\x91\xd3\x72\x42\x5d\x8d\x06\x7c\xa0\x23\x37\x74\x72\xea\x50\xcd\xe7\xef\x16\x95\x10\x4b\x9d\xa3\x44\xdf\x64\x8e\x3b\x71\xdb\x4e\x8e\x1e\x76\x82\x5d\x51\xd8\x93\x9d\x60\x8f\xdd\xb6\xd3\x47\x87\x26\xac\x50\x2e\x2b\xb0\x07\xb4\xde\x29\xde\xa9\xbf\xb8\xed\x0c\xd0\x83\x09\x2b\xd4\x49\x1d\x16\x5d\xb7\x35\x6d\x22\xb2\xb0\x4b\x0e\xf8\x1e\x4a\xe4\x45\x33\x97\xa8\x22\x6b\xf8\xe8\x12\x55\xa4\xa3\x17\xa6\x1e\x31\x03\x15\xbb\x57\x38\x80\x2b\x23\x55\x79\x3a\xf2\x1e\x7e\x13\x89\x17\x10\xe8\x74\x67\x6c\x6c\x6c\xcb\xb3\xff\x01\x5e\x0a\x2a\xba\x80\x49\xe8\xe4\x9a\x27\x57\xc0\xa5\x3d\xa7\xd0\x84\xae\x04\xbf\x66\x33\xa0\xcc\xfd\x15\x0b\xe9\x54\x33\x28\x35\xe5\xd4\x9f\xad\xce\xc0\x14\x10\x06\x5c\x3d\x14\x40\x58\xc4\x01\x8a\xf9\x8c\x10\x86\x8d\x4e\x9e\xaf\x26\x37\x6a\x59\xeb\xb5\x2c\x11\xe9\xcc\x87\x1f\xed\xcc\x06\x91\x8d\xca\xad\xfb\x6c\x35\xa5\x59\x4d\x4b\xab\x06\x7d\xa6\x26\x50\x08\x93\x89\xef\xe8\x76\x20\x18\xa0\x6b\xa2\xdf\x44\x3c\x91\xeb\x36\xde\x35\xd1\xd8\x5e\x04\x5f\xbc\x04\x3e\xb8\xd6\x8c\x21\x76\xd0\xf1\xd2\x2a\x5b\x36\xa4\x45\xcd\x9c\x75\x88\x3e\x09\x82\x2b\x50\x9f\x13\xb9\xd2\x2f\xea\x92\x8e\x3a\xb0\xa1\xbe\x40\xe0\x46\xb3\x91\x99\x69\xcf\x65\xe4\x7e\x7e\xe6\x9a\x33\xf0\x78\x6c\x2d\xa6\x32\x31\x1d\xca\x97\xe4\x9a\xca\x61\x5a\x73\xba\xd6\x1c\xfc\x01\x7a\xda\x92\xdb\x59\x27\x7e\xd6\xa2\x5e\x9c\x9f\xbc\x81\x3a\x8c\xbc\x17\xaa\xed\xaf\xd8\x47\xf8\x96\x6b\xf9\xb4\xb2\xee\x6c\x76\xce\x09\xb8\xf4\x9c\x52\x59\x79\x26\x8f\xe8\x0a\x48\x5f\xda\x35\xea\x3e\xa3\x2b\x7c\x63\xf1\x84\x2c\xb6\x2b\x94\xe3\x94\x36\x1b\xd3\x5f\x15\x95\xcb\x60\x8d\xb8\x2e\x1c\xec\x67\x75\xe0\x93\xe7\x9c\xc3\x29\xba\xb3\x1e\x76\x4d\x10\xe1\x89\xa7\xec\x60\x9f\xe1\x7d\x8a\xee\x11\xb0\x9c\x7b\x5d\x5d\x89\x52\x2b\xb8\x46\x07\x1a\x46\x17\x15\x93\xa2\x16\x7c\xd8\xe6\x63\x16\x81\x33\x48\x8d\xa9\xc1\xcc\x25\xff\x0a\xf4\x01\x09\xf0\x21\x6a\x53\xa7\x87\xd2\xa5\xfa\x38\x3a\x91\x39\x53\x44\x4d\x06\x35\x5b\xc0\x67\xd4\xda\x33\x44\x2f\x0a\x98\x51\x3a\xe9\xb3\x0b\x46\xae\x34\x68\x1a\xbb\x6d\x6a\xb7\xac\x52\x7a\xd4\x98\x09\x07\x1a\x19\xf6\x4d\x82\x0c\x43\xe7\xd8\x05\xa9\xf4\xa2\xfc\xd4\x76\x36\x2e\xc8\xc5\x8d\x03\x3a\xb9\x14\xc6\xa6\x75\x72\x92\x7e\xd3\x95\xb8\x70\xae\xc7\x0d\xd1\xd7\xae\xf4\xa3\x4d\x9e\x50\xe2\x55\xfc\xb8\x44\x6c\xd9\x0d\x0a\x6d\x55\x7f\x0a\xb9\xc3\xd6\x12\x81\xcc\x66\x5e\xac\xb0\x72\x57\xf5\x72\x32\x7b\xc8\xa6\xf7\xd4\xe8\x21\x73\x43\x99\x9b\x3d\xd4\x23\xf1\x89\x10\xba\xcd\x3d\x94\xa1\xf3\x76\xe8\xe1\xef\x8f\xc3\x75\x73\x0f\x37\x9c\xfb\x54\x7b\x38\x12\x44\x58\xed\xa1\x3c\x1c\xd3\x3c\x97\x9a\x7b\x28\x47\xb2\xbd\x87\x68\x01\xdb\xb5\x73\x32\xb5\x33\x53\x25\xd5\x4a\xe2\x42\xf8\x8a\x22\x38\x09\xea\xbb\xee\x4f\xdf\xf9\x0d\x0d\x63\x21\x95\xd8\x13\x8c\x83\xda\x8e\xe4\x6c\x07\x71\x36\xeb\x50\x0e\xc7\xbc\x94\x71\x20\x64\x58\xf5\x9d\x1a\xde\xb1\x73\x44\xae\x51\x56\xdf\x23\x74\xeb\x86\x5a\xd0\xee\xd8\xa2\x53\x34\xee\x93\x78\x9a\x8a\xa2\x5a\xc1\x91\x7f\x82\x32\x7e\x04\x9e\x1d\xa3\xcf\xdb\x37\x3e\xca\xe1\xb4\xab\x9f\xe1\xe3\x2a\x88\xe9\x07\xac\xe4\x66\x84\x16\x50\x0f\x45\x4a\x5d\x5f\x3b\x3f\xe0\xf9\x6a\xb8\x6c\xf3\x4a\x7d\x39\xff\x7f\x91\x59\xbf\x47\xbe\xb8\x1e\xd5\xc4\x57\x0a\x84\x82\x61\x26\xaa\xd8\xc7\x06\x60\xf7\xf9\x34\xb3\x2e\xad\x9a\x25\x2a\x60\x35\x3e\x75\xa6\x1e\xbb\xfc\x71\xca\xe4\xcd\x1c\x6e\x20\xcf\xc9\x25\x64\x2e\x01\x73\x80\x9f\x20\x3f\x45\x52\x6a\x24\x3f\x76\x0a\xf8\x41\x98\x69\x97\xa6\xd1\x65\xe0\x99\x4e\xf1\x7f\xdb\x85\xdb\x4e\xbe\xee\xf9\x03\x1a\x0b\x5f\xf7\x78\x85\x96\xae\x70\xc1\x21\x3d\x2f\x7e\xc4\x55\xba\xa2\x53\x5c\x53\xe3\xbe\x6e\x4f\x54\xfe\xf9\x2f\xf2\xde\xe3\xef\x3e\x88\xfe\xd2\x2c\x43\x7f\x42\x84\x45\x5a\x92\x21\x64\x00\x2a\xc1\x23\x0a\x9e\x58\xe9\x76\x2d\x9e\x7e\xc0\xfd\x01\x8c\x0b\x86\x00\x44\xd5\x78\xbf\xfe\xdb\xb8\x36\xaa\xce\x04\xde\xcf\x45\x4c\xa0\x10\xa3\x56\xa4\xe6\x65\x93\x56\x11\x53\xfb\x9a\xc0\x15\x8b\xd5\xbe\x81\xa2\xe6\x8f\x4f\x90\xf0\xdb\x74\x0d\x85\xef\x55\xf0\x08\xb9\x30\x6e\xdc\xb3\x1b\x9c\x9c\x31\x97\x31\xba\xc5\xd8\xd9\xc0\x11\x5a\x61\x8e\x05\xe5\x4c\xd1\xd1\x90\xd7\xa1\xc1\x58\xfa\x9c\x4d\x8f\xd1\xd0\xfb\x4c\x8b\xcd\xbc\x4a\x06\x3a\x09\x6e\x48\xeb\xb5\xc5\xa8\xf0\x1d\xa3\x4b\xa0\x85\x99\xec\x82\x6a\x08\x9a\xce\x21\x9a\x5f\x9f\x5e\x3a\x25\x3c\x40\x8b\xeb\xb3\x4b\x61\x92\x8b\x6b\x47\x64\x94\x27\xd7\xbc\x6b\x2a\xb9\x46\xa4\x8a\xd8\x90\x03\x46\x3c\x0f\x95\xd6\x01\x16\x07\x37\xf7\x5a\x9e\x19\x62\xf1\x71\x15\x4d\x38\x7f\x26\xf8\xeb\xcb\xd5\xf6\xa5\x47\xed\x0a\xee\x21\x59\x84\x32\xc0\x87\x5a\xdd\xbc\x6b\xb7\x70\x83\x9c\x11\x06\xe0\x3d\x35\x5c\x98\x09\xc7\x32\xb5\xda\x0d\x07\x52\x75\xb8\xae\x98\xb1\xaa\x55\xf0\x82\x27\x38\x82\x54\x0f\x78\xa4\xe1\x04\x2e\x54\x80\x11\xe3\x34\xf2\x10\x1e\x23\x1a\x92\xfb\x10\x09\xe7\xc2\x40\xc2\x44\x66\x6f\xb7\xb5\xaf\x3a\x21\xbc\x8e\x1e\xd0\x04\x52\xbf\xc5\x27\x1a\xd2\xe2\x14\xd9\x91\x10\x80\xf7\xe8\x14\x39\x07\x2e\x00\x43\xea\xb2\x58\xb8\xb1\x06\xb3\x03\x12\xb0\xd6\x09\xcd\xc5\x66\xe1\x96\xcc\x05\xff\x81\x06\x53\x68\xb9\x76\x24\x44\xe0\xc4\x6d\x21\xa7\xc4\x00\x7c\x40\xce\x39\x02\x17\xae\x8e\x84\x78\x47\x24\x18\x9d\x18\xf1\x4e\x88\x88\x2d\x46\xd4\x15\xa3\x7e\xeb\x11\x4a\xf4\x88\x4e\xa4\xf3\xef\x1a\x2d\x31\xf5\x3b\x48\x03\x53\x16\x1a\x32\x82\x7b\x7d\xc8\xab\x14\xfc\xe0\x85\xe6\x9a\x34\xd0\x6b\x53\x41\x94\x56\xa6\xf5\xda\x6d\xff\x33\xd7\x2e\x0a\xed\x6b\xf7\xc5\xa2\xfc\x08\x7d\x11\x92\xbc\x85\xc2\x11\xd4\x16\xf9\x46\x38\xca\xc4\xe0\x09\x1e\xb3\x60\xfe\x77\x74\xe7\x0c\xde\x33\x8f\xdf\x0f\xd4\x1b\xeb\x1c\xc6\x1a\x51\x8b\x23\xb9\x0f\x70\x0d\x29\x2c\x03\x22\x0b\x51\x5d\x55\xf4\xe5\x13\xeb\x70\x01\xc1\x1d\x5a\x41\xda\x04\xab\x7b\xbd\x15\x3e\x02\x47\xa8\xc2\x10\x0a\x57\x06\x07\x19\xba\xe7\x3e\xdd\x39\x8e\x5d\xba\x0f\x3f\x64\x11\xfe\x87\x34\x28\xc5\xac\xb2\x14\xc4\x0d\xe4\xc2\x6d\x41\x0a\xcb\x80\x36\x6e\xac\xc5\x3d\x52\xb3\x35\x11\x7d\x3d\x71\x37\x90\x36\xc1\xea\x3e\xd8\x0a\x1f\x81\x5b\x5c\xe1\x1b\x2b\x2c\x43\x43\x3c\xe0\x0b\x5f\x38\x35\x17\xb2\x7d\x70\x8b\x88\x38\x3c\xc6\x3a\x5e\x85\x8a\x70\x86\x8f\x59\xdb\x0c\xa8\xf0\x62\x31\x9d\x15\x3c\xcd\x44\x5f\xc7\x5e\x0b\xd2\x26\x58\xdd\xcb\xad\xf0\x09\x78\xf4\x5a\x3a\xeb\x3a\xaf\x44\x7c\xb0\x31\x31\xdb\xf6\xae\x0f\xea\x57\xa7\x35\xf5\xe8\xce\xaf\x72\x33\x3f\x10\xe5\x8e\xfc\x53\x9f\x4e\xc7\xd4\xa5\x14\xf1\x41\xba\x99\x5f\x40\x70\xe1\xeb\x33\x28\x6c\x97\x0e\xfd\x0d\xa3\x1e\x06\x34\xb9\x8c\xb5\xad\x98\x9a\x91\x91\xc0\xca\xe2\x72\xcd\x66\x9c\xd5\xbd\xd9\x0a\x1f\x81\x8e\xee\x47\xab\x0e\xd0\x6c\x41\x12\x9a\x0d\xb0\x92\x23\xf4\xfe\x52\xdc\xee\x8c\x34\xf3\x8f\x11\x6c\xa1\xd5\x25\x75\x9b\xe9\xca\x9b\xb0\x20\xd4\x2d\x55\x78\x9b\x89\xf0\x86\x2d\x6d\x41\x82\xe2\x5d\x39\xa8\xba\x93\x31\x18\x7f\xc4\x43\x03\x5b\x72\xd0\x63\xc4\x9d\x0d\x55\x8c\x31\xd3\xdb\x5e\x51\x80\xd8\xea\xd9\x77\x32\xda\x81\x39\xfa\x02\x9c\x0b\xe8\xa6\x94\x15\x05\x41\x7d\x23\xd8\x07\x96\x8d\xa0\x62\xd9\x99\x05\xb0\xfb\x7c\x9a\x59\x97\x56\x4d\x0b\xc9\xa0\x87\x15\x95\xb8\xea\x64\xce\x54\x68\xf4\x79\x85\x9c\xb9\xe7\xe2\x27\xf4\x8f\xec\x3f\x0f\x57\x27\xa1\xd8\x57\x3a\x76\xda\x37\xe8\xd1\x7e\x71\x5d\x14\xa3\x0f\x90\x4e\xec\x04\x89\xf8\x19\x6b\x1a\x77\x88\x75\x7c\xa2\x76\xd5\x2c\x1c\xe3\xa9\x56\xd5\x48\x74\x45\x80\x2c\xb5\xb0\xa4\x3a\xc8\x4a\x81\xac\x21\x7a\x44\x6c\x2e\x4e\xe1\x13\xfa\x7b\x9a\xe4\x8e\x93\x2c\xd9\x82\x03\x6d\x11\xe2\x97\x9e\xe1\xef\xbe\x1b\xeb\x80\x5d\xbf\x76\xd0\xa8\x9e\x31\x15\x7f\xe8\x92\x5d\xbd\x7e\xb8\x2a\x7e\x0b\x77\xed\x36\x1c\x3d\xa9\x13\x26\xbe\x4f\xf0\xc5\x77\x60\xb8\x22\x86\xc5\xdd\x15\x67\x4c\x81\x16\x51\x14\xd7\x9c\x04\x8d\x4d\x9d\xfa\x1a\xd5\x4b\xbc\x02\xb1\x88\x69\xc5\x10\x74\x7a\x65\xa6\x5c\x5c\xa9\xef\x1e\x35\xea\x9e\x91\x45\x9b\x54\x61\x3e\x76\xb6\x8d\xdb\x69\x7a\x32\x49\x25\x19\xa8\x9b\x57\x70\x65\xe1\x0b\xbd\x95\xca\xdf\x3a\xa0\x5b\x3d\xca\x40\x00\x90\xbd\x23\x8a\xf4\x4c\xbb\xe0\x39\xa4\x71\x45\x0b\x66\x73\x6e\x2c\x84\xd8\x82\xc9\xc6\x29\xe7\x72\xe7\x16\xdd\x42\xaa\xb0\xa1\xd8\x0c\x9d\xf9\x9a\xea\x8e\x48\x75\xe7\x90\x7e\x92\x44\xa8\x90\x69\xdd\xa6\x53\x2d\x13\x83\x04\x82\x2a\x09\xd8\x94\x75\x73\x61\xe1\xe1\x15\x93\xd6\x73\xc8\xa0\x26\x10\xa0\x05\x24\xb9\x22\x65\x40\x13\x06\x2a\xa1\x84\x0d\x29\x13\xad\x9e\x25\x4b\xaa\x56\x8d\xdc\x05\x64\xe2\x59\x18\x76\x78\x40\xbf\x87\x1d\xc1\x3b\xb7\x80\xca\x1e\x7b\xe6\x7e\x51\x59\xe0\x2a\x7c\x11\x6c\x5a\x87\x15\x71\x06\x7e\xa8\xde\x5e\x1d\x56\x1c\xc8\xbe\xba\x5e\x14\xd2\xf8\xa8\x13\x28\xef\x03\xa7\x14\xc1\x13\x28\xb8\x0b\x49\x20\xdd\x9f\x40\xa9\x28\x4d\x59\xf8\xdd\x09\x64\xcb\x95\xa5\xe4\x34\xa1\xcf\x12\xe2\x29\x74\xd2\xa1\xfb\x59\xc4\x07\x28\xdc\x2c\x74\xb2\xa1\x7b\x6d\xbb\xeb\x2c\xdc\x34\x74\xf2\xa1\x7b\x69\xb3\x9b\x2b\xdc\x28\x74\x0a\x38\x74\x91\xcd\xe6\xbf\x70\x51\xe8\x0c\x86\x6e\x14\x58\x2c\xf2\x0a\xd7\x13\x9f\xdc\xe4\xba\xa6\xf8\xc6\x18\xd3\x4c\x1f\xe1\x18\x01\xc7\x12\x03\xb3\x62\xce\xb8\x81\x01\x4d\xe4\x30\x39\x40\xf4\x08\x8c\xbf\x92\xd2\x8c\x8e\x79\xc2\x8a\x26\xa4\xf2\xbd\xb0\xbe\x0f\xe4\xfb\x9c\xbe\xab\xfa\x77\xf1\x18\x22\x6a\xa3\x80\x3f\x57\x39\x17\xea\xf1\x5c\x2f\x7a\x86\x36\xc8\x73\x36\xf0\x14\x0d\x5d\xba\xfc\xf4\xa1\x64\xc6\x50\x26\xe6\x50\xfa\x46\xd7\xcd\xf7\x12\x1a\x63\xe9\xbd\x70\x2c\x23\xb8\xfb\x60\x56\xfb\xc1\xfc\xe6\x83\x69\xfd\x3b\x06\x83\xae\x79\x17\x5a\x4a\x87\x60\x56\xdb\x40\xa8\x9b\x3e\x10\x5b\x57\x5f\xf6\xc7\x84\xc6\x12\x1a\x03\x2d\xbc\xb1\xe0\x18\xbb\x81\x63\xce\x70\x26\x42\x97\x90\xa3\x2b\x35\xad\x5b\x73\x59\x1a\xc8\x6a\x06\x12\xf7\xba\x33\x53\xbd\x70\xa9\xe5\xb2\xe7\x5c\xcd\x15\xc3\x5c\xbd\x75\x5d\xe7\x5f\xd6\xaa\x97\xc2\x98\x7d\x42\xc8\xd6\x03\xbd\x82\x8d\x96\xbb\x51\x15\x6c\xa8\xaf\x0a\xc5\xad\x76\xa3\xa8\x06\xd8\xad\x52\xd8\x48\x1b\xc1\x40\x3d\x76\x4d\xc2\x1b\x99\x88\xd3\x76\x2e\x2b\xc8\xb5\x72\x80\xd5\xf9\x9b\xd4\x52\xe7\xaa\x4c\xa1\x65\xce\xb5\x81\x6a\xcd\xaf\xa1\x31\x2b\x5a\xc1\x09\x2d\xb2\xd6\x8a\x94\x5a\x3b\xb5\x31\xc8\x93\x0d\xc4\x6c\x19\x34\x79\x0f\x34\x8f\x2b\x51\x68\x54\xed\xb9\x6c\x69\x6d\x8e\x7c\xae\x01\xb2\xa1\xeb\x28\x62\xe9\x33\x6d\xe8\x39\xd0\x8e\x4c\xe5\xc8\x4b\xad\xcc\x40\x15\x99\x18\x73\xd6\x57\x03\x9f\x41\x73\xc2\x66\x16\xf2\x13\x65\xd8\xb8\x97\x5a\x99\x09\xb4\x36\xa3\x7d\x92\x77\xa2\xcd\x89\x7e\x73\x3d\xd3\x9e\xb5\x6f\x49\x8b\x93\x03\x2c\xca\x2c\xb5\x51\x4f\x34\x6c\x0c\xd4\xb0\x27\x1a\xe0\xc4\x3a\xd7\x13\xad\xe3\xcb\x86\xb5\x36\x50\x23\x5c\x69\x80\x3a\xf1\x8c\x2a\x34\x65\xd4\xb8\xd2\x00\xe7\x15\x9a\x36\x6a\x1c\xd9\x6b\x64\x83\x2e\xb5\x55\x9a\x2b\x3c\xe5\x06\x82\x7b\xa0\xca\x51\xf5\x66\x67\x1a\x96\x7a\x0a\x4b\x45\x6d\xfd\xcf\x54\xe3\x3d\x85\xa5\x89\x06\x57\x27\x09\x3d\xbd\xa7\x30\x56\x67\x2e\x3a\x4d\xf4\x4c\x82\x9b\x34\x10\x82\x9e\xce\xcf\xa3\xde\xa3\x1e\x59\x6a\xe7\x54\x9e\xe5\x2f\x12\x06\x83\x17\x09\x83\xc9\xcb\x84\x41\xf6\x23\xc2\xa0\x3e\x17\x2f\x94\x06\xf3\x1f\x95\x06\xeb\x1f\x95\x06\x83\x1d\xa4\x41\x51\xe3\x2e\x76\x71\xb0\xdc\x51\x1c\xb4\x5e\x23\x0e\xd6\x2f\x17\x07\xc7\xaf\x11\x07\xa7\xaf\x11\x07\xc7\xbb\x8a\x83\xe5\x2b\xc4\xc1\xec\xc5\xe2\x60\xf5\x0a\x71\xb0\x79\x85\x38\x58\xbf\x42\x1c\xac\x77\x15\x07\xcb\x1d\xc5\xc1\x66\x57\x71\xd0\xda\x55\x1c\x6c\x76\x15\x07\xad\x5d\xc5\xc1\xec\xa5\xe2\xa0\xce\x18\x1a\xc4\xc1\x64\x47\x71\xb0\x7c\x8d\x38\xa8\x73\x97\x06\x71\xb0\x7a\x99\x38\x98\xec\xc5\x41\x7d\x39\xee\xc5\xc1\x5e\x1c\xec\xc5\xc1\x5e\x1c\xa8\xc7\xbd\x38\xd8\x8b\x83\xbd\x38\xd8\x8b\x83\xbd\x38\xd8\x8b\x83\xff\x3e\x71\xd0\xda\x8b\x83\xbd\x38\xd8\x8b\x83\xbd\x38\xd8\x8b\x03\x13\xab\xff\x65\xe2\x00\x3d\x21\xcf\xe9\xa3\x4b\x8f\x3b\x12\xb8\x01\x76\x32\xe4\xf2\xd7\x02\xba\x18\x3b\x7d\x84\x44\xf6\x21\x2a\x5d\xec\x6c\xe0\x05\xba\x23\xe2\xa3\x5a\xae\x80\x46\xc1\x5c\x16\x2c\xe0\xaf\x2b\xd9\x7a\x45\x49\x74\xe5\x69\xa1\xa9\x1a\x3d\x20\x6b\x5e\x2a\xbe\xee\x16\xda\x68\xc8\x6d\x2b\xa6\x5c\x09\x59\x78\x25\x20\x8c\x84\x02\x03\x18\xdd\x42\xcf\x49\xd1\x36\x83\xb7\x00\xd4\x3f\x09\x64\xc4\x4a\x51\x5f\x7d\xe4\xdd\xea\x0a\x5b\xa5\x8d\x32\x82\xed\x34\x99\xe3\xa9\xa1\x50\xb8\x44\xd6\x18\xa1\x27\x16\x5f\x8b\x1b\x8a\x0e\x00\xf0\x9e\x79\xed\xc8\xd7\x5c\xe6\x76\xaa\xc0\x8d\xaf\x1d\xf9\x9a\x83\xa0\x4d\x86\xdc\x95\xe2\xf2\x33\x7b\x65\x4b\x19\x61\x8f\x74\x10\x8b\x9e\x33\x6b\x30\x5e\x5f\xaf\xfa\x9a\x55\x5f\x07\xd5\xd7\xbe\xf6\x8a\xb0\x66\x93\xcf\x33\x30\xcf\xe8\xc9\x0c\x5e\xc1\x5f\x7a\x0f\x3a\x6a\x6d\xab\x2e\x68\xef\x99\xf1\x3e\x30\xde\xfb\xfa\x3b\xd2\xe0\x95\x28\xa9\x74\x84\x65\x89\x5a\x2a\x5d\xe1\x14\x5f\xed\x4a\x61\x74\xa5\x30\xba\x52\x18\x5d\x29\x8c\xae\x14\xaa\x2b\x85\xd1\x95\x42\x75\xa5\x30\xba\x12\x49\xb6\xab\x7a\x92\x57\x3b\x92\x57\xfb\x91\x57\xbb\x91\x57\x7b\x91\xcb\x4e\xe4\xd5\x3e\xe4\xb2\x0b\xf9\x6f\x3b\x2f\xbf\x14\x19\x89\x65\x99\xf4\xb7\xae\x8b\xbc\x79\x11\x21\x05\x2c\x9d\x58\x44\x0f\xfa\x32\x23\xaf\x2e\x93\xc4\x36\x1d\xfd\x67\xd0\x9f\x6f\x9b\x2e\xa4\xc1\x03\x99\x55\xe9\x08\xcb\xca\x8d\xe9\x48\x6c\xcb\xa4\xff\xcc\xb2\xc8\xb7\x2d\x23\xa4\xc1\x03\x99\x55\xe9\x4a\xa1\xba\x52\x18\x5d\x89\x9a\x27\xbb\x4e\x0a\x79\x33\xdd\x20\x05\x2c\x83\x1f\x54\xfa\x90\xcb\x2e\xe4\xbf\xed\xbc\xfc\x12\x64\xc4\x6d\x66\x09\xdb\x91\x15\xa4\xd5\x35\x9a\x56\xab\x4f\xab\x7d\x49\xab\x3d\x4d\x9b\xd6\x68\x6a\x5b\xa3\x77\x6e\x09\x89\x6a\x3c\x73\xdf\x33\xcf\xe5\x9a\x50\x4b\xab\x42\x2d\xad\xae\xc7\xb4\xba\x78\xd3\xea\xd2\x4e\x9b\x84\x5a\xda\x24\xd4\x12\x1b\xf3\x4c\x0d\xe6\x99\x1a\xb3\x9e\x1a\x54\x92\x1a\x54\x94\x36\x33\xcf\xb4\x99\x79\x26\x36\xa1\x96\x1a\x42\x2d\x35\x56\x63\x6a\xac\xde\xd4\x58\xdd\x69\xb3\x50\x4b\x9b\x85\x5a\x62\xe1\xe3\x7f\x1f\x8d\xfc\xb6\xf3\xf2\x4b\x91\x91\x58\x96\x49\x7f\xeb\xba\xc8\x9b\x17\x51\x83\x50\x4b\x9b\x84\x5a\x62\x63\x9e\x75\xf4\x5a\xd0\x9f\x6f\x9b\xae\x46\xe6\x99\x36\x33\xcf\xc4\x26\xd4\xea\x64\x6f\x59\x16\xf9\xb6\x65\xd4\x28\xd4\xd2\x66\xa1\x96\x58\xf8\x78\x6d\xb2\xeb\xa4\x90\x37\xd3\x4d\x03\x1f\x4f\x9b\x84\xda\x6f\x39\x2f\xbf\x04\x19\x71\x9b\xd9\x2f\x2b\xa1\xd6\xaf\xae\xd1\x7e\xb5\xfa\x7e\xb5\x2f\xfd\x6a\x4f\xfb\x4d\x6b\xb4\x6f\x59\xa3\x05\xdc\x4b\xb5\xbd\x54\xdb\x4b\xb5\xbd\x54\xdb\x4b\xb5\xbd\x54\xdb\x4b\xb5\xbd\x54\xdb\x4b\xb5\x5f\x3e\x2f\x7b\xa9\xf6\x5b\x71\xcf\xbd\x54\xfb\x3d\xe7\xe5\xbf\x55\xaa\xb5\xf6\x52\x6d\x2f\xd5\xf6\x52\x6d\x2f\xd5\xf6\x52\x6d\x2f\xd5\xfe\x05\x52\x0d\xdd\xa2\x36\x79\x2e\xa1\x8c\xf3\x87\x6e\x69\x2c\xa1\x12\x2a\x74\xdd\x42\x27\x47\xa1\x6e\x1f\x43\x8b\xab\x0f\xdb\x76\xdc\x2e\x66\xa3\xe8\x59\x46\xc1\x28\x35\xd3\x78\xe0\xc2\x5d\x52\x4b\xb7\xb9\xfb\xc8\x2a\xd3\x0b\xe6\x46\x41\x66\x00\xca\xbb\xf7\xeb\x4a\xb6\x5e\x51\x92\x4c\x2e\x0f\xcf\x24\x0c\xef\xb4\x88\x4d\x7a\x52\xa9\x25\xcd\x21\x08\xa6\x90\x1a\xb1\x2d\xf9\x2c\x04\x00\xdd\xb3\xb0\xfd\xd5\x94\x8c\x26\xf0\x68\x78\xc1\x3d\x64\xd3\xcc\x0c\x8b\xf0\x98\x4e\x8f\x78\x1f\xc1\x5b\xac\x47\x9a\x2a\xf1\x17\x99\x03\xae\xf8\x37\xa1\x2a\x90\x73\x6e\x00\xf8\x7a\xc8\x5e\x0d\x52\x98\x6b\xbe\xbe\xce\xac\x06\x29\x62\x39\x9a\x90\x05\xac\x81\x8a\x90\x87\x3a\xa8\x37\x72\xdb\x4e\xcf\x7f\x74\xb1\x19\x60\x4e\x19\xbe\x29\xad\x4c\x0b\x8f\xa7\x82\x12\x63\xe4\x79\x4e\x0f\xb9\x92\xc0\xdd\x84\x10\x0a\xe6\x11\x51\xf3\x27\x77\xed\x12\xda\xdb\xb8\x0b\x97\x92\x88\xc8\x29\xe0\x13\x27\xcb\x8d\xfb\x9e\x5a\x9b\xeb\x39\x7f\x6f\xa1\x56\x73\xa1\x96\xa5\x10\xf0\x43\x1d\x34\x07\xdd\x36\x0f\x4b\xc8\xdf\x69\x44\xc0\x4b\x46\xce\x2a\xbc\x90\x2f\xbe\xa5\x63\x40\x2d\x15\xd4\x88\x42\x9d\xda\xa0\x4e\x15\xd4\x1a\x82\x88\x70\x15\x97\x62\x9a\x25\xbe\xfb\xff\xff\x1b\x00\x00\xff\xff\xb4\x36\xa3\x31\xcc\x09\x01\x00"), + }, + "/static/lib/font-awesome-4.7.0": &vfsgen۰DirInfo{ + name: "font-awesome-4.7.0", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + }, + "/static/lib/font-awesome-4.7.0/css": &vfsgen۰DirInfo{ + name: "css", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + }, + "/static/lib/font-awesome-4.7.0/css/font-awesome.css": &vfsgen۰CompressedFileInfo{ + name: "font-awesome.css", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + uncompressedSize: 37414, + + compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x7d\x51\x8f\xeb\xb8\xb1\xe6\xfb\xf9\x15\xda\x19\x64\xe7\xcc\xa0\xd5\xa7\x25\xbb\x6d\x77\x5f\xdc\xbd\x99\xdd\x20\xd8\x00\xc9\x26\x40\x26\xc0\x3e\xec\x0b\x45\x95\x2c\x1e\x53\xa2\x86\xa4\xdc\xed\xb3\x98\xff\xbe\x90\x64\x5b\x9f\x64\xb3\xd4\x0b\xcc\xcb\x6d\x04\x39\x63\xe9\x63\x89\x14\x8b\xc5\xaa\xe2\x47\xea\xcb\x4f\xff\xe5\x53\xf4\x53\x14\xfd\xd9\xd4\x3e\xfa\xf9\x8d\x9c\xa9\x28\x5a\x3f\x6e\x1f\x9f\xa2\xec\x14\xfd\x31\x17\x47\xda\x8b\x3a\x3f\x45\x71\x54\x7a\xdf\xbc\x7e\xf9\x52\x98\xda\x8b\x01\xf8\xa8\x4c\x14\x47\x7f\x84\x2b\xbd\xac\xbf\x2a\x49\xb5\xa3\x50\x91\x2f\xfa\x7c\xff\x73\xf7\xd0\xd7\xe8\x9f\x7f\xf9\x6b\xf4\xf7\x3f\xff\x35\x4a\x1e\x93\x87\xe8\x7f\xfc\xf3\x9f\xaf\xd1\xdf\xfe\xf2\xcb\x45\xc8\x8f\x9f\xa2\x9f\xbe\x7c\xfa\xf2\x53\xf4\xe7\xbf\xff\xaf\x5f\xa2\x7f\xfc\xfc\xcb\xff\xec\x1e\x11\x07\xff\x3a\x74\x5f\xa1\xb8\x10\x92\xa2\xff\xfb\x29\x8a\xce\xbf\x2a\xa5\x4f\xaf\xd1\x0f\xdd\x33\xcf\xed\xfc\xe1\xdf\x3e\x45\x91\xb3\xf2\x35\x6a\xad\xfe\xfc\xc3\xe3\x63\x5f\x51\x87\xd5\x8d\xdf\x28\xeb\x7e\x3e\x92\xf1\xff\x71\xfc\xf7\xfe\xc5\xfc\xf0\xe3\xff\x67\xb9\xef\x15\x15\xea\xfd\xbf\x5e\x8b\x47\x85\xb1\x95\xf0\x9f\x7f\xa0\x2a\xa3\x3c\xa7\x3c\x36\x0d\xd5\xfe\xd4\xd0\x0f\x3f\x3e\x7c\x40\xe6\x9b\x29\x8a\xf4\x3f\x6e\xc5\xf5\xd7\x3f\x2e\x22\x20\xe1\x63\x02\xbc\xbf\x57\xde\xdb\x96\x3e\xde\x0e\x77\xdc\x5f\x64\x7c\x0f\xf7\x2d\xed\x5b\x2d\x2c\x88\x75\xc7\xfd\xf0\xd2\xfb\xae\x7c\x23\xb5\x2f\xfd\x6b\x54\x77\x77\xf5\xf5\xb2\xf3\x27\x4d\xe3\xd5\xdf\x3e\x3d\x16\xa2\xef\xff\x5c\xb9\x46\x8b\xd3\x6b\xa4\x6a\xad\x6a\x8a\x33\x6d\xe4\xe1\x52\xec\x52\x60\xf6\x4f\xb2\x6e\xde\xbf\x24\x11\x28\xcb\xf8\x1c\xf5\x8d\x3a\x59\x25\x59\xe5\xbb\xab\x9e\xde\x7d\x6c\xa9\xce\xc9\xaa\x7a\xff\x1a\x89\xd6\x9b\xee\x7a\xd7\xce\x83\xf2\xf1\x50\xaa\x32\xc6\x97\xc3\xfd\xda\x2b\xa1\x95\x70\x94\xf7\xb0\xca\x7c\x8b\x8d\x7b\xbf\xc1\xed\xad\x38\x39\x29\x34\x75\x8d\xf9\xf2\x53\x54\x89\x03\xb9\xc8\x97\xd4\xd7\x23\x5a\xad\xfe\x10\x69\x61\xf7\x64\x23\x4b\x5a\x78\x75\xa4\xc8\x9b\xfe\xbe\x92\xa6\x8e\x64\xf7\x46\x55\x4d\xb6\x1b\x12\x8f\x85\x88\xf5\x7e\x1c\x0e\x43\x23\x92\xc7\xd5\xf9\x8f\xaa\xae\x2a\xfd\xeb\x29\xcf\xaf\xf7\xe9\x71\xfb\x3c\x5c\x3e\x92\xf5\x4a\x0a\x1d\x0b\xad\xf6\xf5\x6b\x14\x27\xcf\x7f\x38\xbf\xe0\x38\x7d\x9f\x0b\x4d\xbb\x42\xc3\xcd\xd5\xcd\xcd\xd5\x78\x73\x7d\x73\x73\x3d\xde\x7c\xbe\xb9\xf9\x3c\xde\x2c\xde\xfa\x9b\x6f\x2a\xf7\x65\xd7\x88\x74\xf7\xbc\x4d\xd6\xe9\xcb\x50\xdb\xbe\x3b\xce\x35\x95\x54\x7b\xb2\x97\x72\xad\xee\xcb\x35\x22\xcf\x55\xbd\x8f\x35\x15\x5d\x33\xbb\x32\x95\xb0\x7b\x55\x9f\xaf\xa4\x8f\xc9\x7a\x10\x79\x79\x2b\xee\xac\x5d\x71\xa7\xdb\x9d\xc6\xd4\x04\x32\xff\x5b\xa4\xd5\x20\xd8\x38\xe5\x95\xa9\x5f\xaf\x1d\x72\x41\xdd\x00\x44\xe6\x8c\x6e\x7d\xaf\x55\xc3\x53\xe3\xf9\x63\xcf\xcd\x9b\x5f\xf6\xa6\xe9\xfa\x66\x76\x31\xd8\x66\xad\xa0\xeb\xcf\x4f\x4a\x1e\x87\x17\xb6\xdb\x8c\xef\x34\x33\x36\x27\x8b\xef\xe7\x35\x7a\x4c\xa9\x8a\x1e\xd3\xe7\xee\xff\x93\xb3\x2e\x0c\xb8\xd7\xc8\x19\xad\xf2\xe8\xe9\xf1\x69\x47\x55\xf4\x3d\xf5\x7f\xe3\xfd\xd8\x8a\x5c\xb5\xee\x35\x7a\x4c\xc6\x47\x34\xad\xd6\xfd\x2b\x1e\xba\x56\x1b\xe1\x5f\xfb\x2a\x4d\x00\xb6\xd3\x3e\x44\xf4\x17\xce\x90\x5b\x31\xe7\x9e\xb3\x83\xce\x3e\x8e\xfa\x75\x47\xe0\xa4\x97\x2f\xd0\x2f\x3f\x45\x7f\xa2\xc6\x92\x14\x9e\xf2\x48\xb8\xc8\x14\xd1\xfa\x71\xfd\xf8\xd4\x0f\x9b\xa5\x2a\x2d\xb5\xe9\xf1\xa3\xb5\xfd\x48\x55\xbb\x26\xb9\x46\xd5\x3d\xe2\x62\x5d\x44\xad\x2a\x31\x28\xd5\xe5\x76\xea\x22\x55\x17\xaa\x56\x9e\xfa\x21\x2d\x6c\xd7\x33\x1f\x04\x5e\xbb\xc2\xd1\xd2\x73\x12\x28\xee\x3c\x35\xee\xf3\xee\xc7\xc0\x93\xee\x43\x7f\xfb\xf4\xc7\x8b\xf8\x03\x9d\x0a\x2b\x2a\x72\x11\x36\xf2\xe9\x0f\xfd\x3f\x63\x2d\xbc\x15\xb5\xeb\xa6\x85\xd7\xc8\x1a\x2f\x3c\x7d\x7e\xca\x69\xdf\x3f\x35\x8a\x98\x9b\xbf\x7d\x8a\xa2\xe4\xe9\x03\xe2\x56\xcf\x2f\x9c\x40\xb8\xfd\x5b\x57\xfd\xff\x9c\xd5\xee\x7a\x78\xb8\x13\xbf\x3c\x0d\xbd\x5c\xb9\xb8\x50\xda\x77\x43\xfb\xbb\xc6\x9a\xbd\xca\x5f\xff\xf4\xbf\xff\x52\x89\x3d\xfd\x72\x91\xf6\xf8\x37\x25\xad\x71\xa6\xf0\x8f\xff\x5d\x38\x25\xfb\xbb\x9f\x7b\x39\xca\xd4\xff\x9e\xfc\xf8\x1d\xce\x7a\xb7\x95\x78\xb9\x36\xab\x7b\x1a\x77\x3f\x7c\x6f\x52\xf7\x64\xf7\xbb\x55\x3e\x5d\xaa\x7c\xb2\x5b\xa8\x3d\x00\x98\x9b\x93\xfa\xa7\xdb\xdf\xad\xfe\xab\xa5\xfa\xa7\xdb\x85\xfa\x03\x80\xb9\x79\x9e\x80\xb5\x6a\xe2\xd2\x58\xf5\xad\xf3\x31\xf4\xef\xd5\x88\xa7\x87\xa8\x52\xd6\x1a\xcb\xe8\x52\xef\x10\x7d\x8e\x93\x87\x28\xb9\xd7\x98\xf9\xed\xe0\x2d\x68\xc8\xc5\xbd\xf9\xdd\x74\xe9\xc3\xcd\x48\x1e\xa2\x98\x69\xc6\x78\x3b\x78\xeb\xb7\x4f\xaf\xd6\x18\x1f\x4d\x46\xf4\xc3\xed\xc5\x64\x77\xef\x6a\xba\x9d\x5c\x9d\x75\xeb\xcd\xad\xc9\x8b\xba\xbc\x24\x74\x86\x9c\x17\xf2\x10\x74\x85\x18\x4f\xfc\xe2\xeb\x0c\x3e\xc6\xc5\x03\x4d\xef\x78\xa5\xe9\x7d\x97\xb4\x52\x79\xae\xa7\xf5\x88\x93\xf7\x07\xf8\x75\x76\x54\x39\x17\xec\x09\xaa\xd2\x59\x5d\xde\xb3\xba\x3c\x64\xf0\xac\xb0\x8e\xd7\xd8\xe0\xb7\xdb\xe7\xdf\x77\x94\x55\x7d\x24\x7b\x9e\x70\xa5\xd1\xc6\xbe\x46\xdf\x17\xfd\xdf\xd9\x45\x99\x84\xe7\xad\x3b\xc7\x01\xff\xaa\x95\x34\x39\x45\xff\xb0\xea\x28\x3c\x45\xff\x72\x14\xfd\x6c\x49\x44\x9f\xff\xf1\xaf\x9f\x7f\xec\xa2\x01\xaa\x5d\x6b\x29\x72\xd2\x12\xd5\xdd\xe4\x60\x49\xe4\x64\x5d\x94\x9b\xa8\x36\xbe\xff\x19\x99\xa2\x88\xac\xa8\x73\x53\x45\xb2\x14\x56\x48\xdf\x21\x7c\x29\xba\xfb\x8d\x25\x47\xb5\xef\x63\x0a\x77\x09\x25\xf6\x5a\x38\xf7\x9a\x51\x61\xec\xa5\xd2\xb5\xa7\x2e\x9a\xfa\xee\xff\x14\x4f\x4f\x4f\xdf\x5d\x1a\x56\xb5\x4e\xc9\x30\x30\xb9\x02\x1d\x09\x2b\xcb\x30\x32\xbd\x22\xa9\x3e\x92\x36\x0d\xc5\x26\x8c\x5e\x5d\xd1\x25\x09\xeb\xc3\xc0\xf5\x77\xd0\x4b\x36\x8c\x7b\x9e\xe0\xb8\x47\x6f\xae\xc8\xd6\x11\x23\x71\x7b\xc5\x15\x4a\x57\x61\xdc\xee\x8a\xf3\x65\xdc\xc7\x7b\x61\xec\x0b\x60\xc3\x28\x31\x91\xa8\x1c\xf3\x7a\xb2\x2b\x54\x96\x24\x0f\x61\xa0\xbc\x02\x2d\x55\xe6\x78\xa9\xe3\x30\x00\xa5\x36\x6e\x7a\xc5\xab\x8a\x18\xfd\xc9\x67\x6a\x11\x37\xba\x65\xe0\x34\x87\x57\xaa\x66\xf0\xc9\xa8\x9e\x8d\x79\x23\x1b\x9b\xa2\x08\x83\x41\x45\xd5\xbe\x16\x3a\x8c\x1c\x55\x74\x4f\x57\x5d\x3a\xbf\x01\xb3\x0f\x97\x1b\x95\xd5\x5b\xe1\x4a\x46\xb9\x92\x51\x5d\x4b\x53\x85\x15\x21\x79\x46\xe5\xe2\x46\x4a\x32\xaa\xab\xec\x8c\x31\x07\x1d\x35\xd6\x1a\x91\x87\x71\xa3\xc6\xe6\xe6\xad\xd6\x2c\x76\xd4\x58\x61\xad\x79\x8b\xa5\xb2\xb2\xab\x70\x5f\x34\x5c\x4c\x84\x8a\xb5\x4d\xb8\xd0\xa8\xcc\xaa\xce\xcc\x7b\x18\x38\x2a\x73\x37\x5b\x5d\x85\x87\x0b\xe4\xdf\xcd\x3c\xbb\x21\xc0\x43\x0d\xb0\xd4\x90\x08\x8f\xb4\x84\x60\x00\x15\x96\x5c\x78\xfc\xa6\xa3\x46\xf6\x99\x09\xa1\xc3\x62\xd3\x51\x27\xbb\xde\x0d\xe3\x46\x1d\x2c\xb4\x08\xeb\x6a\xba\x46\xc3\x9a\x37\xa5\xa9\x99\x71\x9c\x8e\x6a\x78\x34\xba\xad\x88\x1d\x69\xe9\x66\x8e\x66\x75\x20\xdd\xce\xe1\x4c\xdf\xa7\xa3\x4e\xfe\x6a\xbb\x29\x33\x8c\x1c\x35\x32\x13\x0b\x50\x30\xa4\xdc\x3b\xcb\x10\xc6\xbc\xad\x51\xed\x32\x63\x98\xbe\xca\x27\xb8\x4a\x58\x06\x3b\xaa\x55\x63\x55\xcd\x28\x4a\x31\xda\x01\x51\x91\x15\x41\xe4\x6a\xb4\x9e\x7d\xfe\x34\x88\x4b\xa0\x9a\x3a\x6c\x02\x56\xa3\x8a\x2a\x2f\x34\xe3\x2d\xac\xc0\x50\x76\x5e\xd9\xd9\xdd\x0a\xc2\xd7\x53\xf8\xe0\xd8\x05\xd1\xa3\xae\xf6\xde\xde\x90\x7a\x09\xa2\x37\x33\xf4\xe0\x1a\x86\xf1\xdb\x19\xde\xf2\x55\xdf\xcd\xe0\x5f\x5b\xe7\x55\x71\x0a\x17\x78\x99\xd8\x84\x30\x6e\x54\xd9\x9c\x72\xaa\xa7\x36\xca\xb4\x1e\xae\xdd\x29\x8d\x16\x94\x47\x8e\xba\x7c\x54\x39\x99\x45\xa5\x1a\x75\xba\x29\x8d\x37\x93\x6a\xa9\x2e\xbc\x9a\x5c\x69\x94\xf4\xad\xe5\x4c\xf2\x0a\x14\x9f\x6a\xa9\xc2\xd3\xf6\x1a\x9c\x55\xd1\xc4\xdd\x70\x62\x3a\x72\x3d\x6a\xb5\xc8\xbb\x5e\x09\x23\x47\xbd\xf6\xdc\xc8\x5b\x8f\x5a\x4d\xb9\x9a\x76\xc8\x50\xf5\xd8\xfd\xda\x0a\xb6\xb5\x6b\x70\x63\xcb\x0e\xba\x5c\xe2\x79\xea\xd9\x7d\xa0\xc4\x66\x3a\xe7\x86\x0d\xd9\x7a\x0b\xce\x32\x35\x71\x26\xe4\xe1\x4d\xd8\xb0\x09\x58\x8f\xea\x5e\x08\xe7\x3f\x50\x00\x8d\xf4\x12\x56\x4c\x66\xf3\x30\x6e\x54\xee\x46\xb4\x2e\x6c\xf6\xd7\x12\x9a\x67\xc2\x73\xce\x3a\x07\x43\x69\xf9\x3a\xd2\xf4\x05\x2c\xe1\x9f\x9f\xa6\x6f\x78\x11\x3f\x6a\x2d\x7d\x25\x19\x56\xc6\xe7\x14\xd5\xe2\x68\xcd\x82\x1d\x7c\x5e\xdd\xe0\x79\xcb\xf6\xbc\x86\xde\x68\xdd\xd9\xb7\x0a\xc3\x47\x35\xed\x7d\xfa\x45\xfc\x06\x06\x5d\x45\xcb\xf8\xed\x6c\x18\x2c\xe1\xc1\x8f\x68\xc9\x79\x65\xea\xc5\x22\x2f\x60\x34\x0b\xb3\x08\x1f\xd5\x55\x5a\xe3\x5c\x29\x94\x0d\x0f\xb5\xe7\xec\x6e\x7b\x99\x61\xfc\x2c\xef\xb6\x98\x2b\x01\xfe\x86\x08\xfb\x63\xcf\x34\xf3\xc9\x59\xc5\xd9\x3c\xcd\xd0\xbc\xda\x6c\x92\x19\x9c\xf1\xf5\x36\xe9\x0c\xcb\xba\x91\x9b\x15\x98\x7f\xa5\x67\x43\xe9\x61\xb4\xa9\x61\x09\xa3\x4a\xd3\x7b\x23\xea\xf0\x30\xdc\x80\xd1\x35\x55\x63\x89\xc9\xa1\x6c\x36\x93\x81\x12\xc6\x6d\xa7\x23\x24\x0c\x04\x9f\xc2\x79\xb2\xca\x85\xdd\xc6\xcd\x0b\x34\x49\x6a\x31\xac\xe6\x2c\xa9\xee\x66\x54\xdd\xbd\xe2\xfa\x7e\x54\x5a\x4d\x22\x1c\x10\x6c\x24\x44\xb1\x5c\x07\x8c\x0a\x4a\x27\x06\x46\x08\x8b\x9d\x16\x4c\x90\xb5\x1d\xf5\xf3\x4d\xd8\x5a\xd5\xfb\x89\x46\xe0\x5b\xf1\x56\x89\x7a\xcf\xbc\x97\x6d\x82\x33\x50\xcd\x00\xc1\xfa\x0a\x4d\x75\xce\x64\xa4\xb6\xa3\xde\x0e\xa9\xbb\x30\x72\x8d\x5a\x57\x71\x6e\xdb\x16\xcc\xad\xd8\xd7\xc4\x20\x37\x37\x86\x9f\x19\x92\xdb\xed\x0d\x9a\x1d\x94\xdb\x1d\x44\xc3\xfe\x8d\xb8\x8a\xbc\x80\xeb\x63\x9a\x46\xd5\xfb\x58\x72\x29\xbf\xad\x80\x69\x59\xe7\x8c\xaf\xb7\xcd\x66\xc8\x9e\xa6\x13\x86\xcb\x99\x83\x14\x1f\xc3\xd8\x7c\x8e\x65\x54\x91\x30\x22\x8d\x65\x29\xac\x8f\xa7\x1e\xf2\xf5\x7a\x50\xc8\x6e\xd4\x67\xff\xa6\xbc\x27\x7b\xf6\xf8\xc2\x25\x12\xf0\x49\x24\x75\xa1\xe6\x62\x91\x74\x16\x44\x76\xbd\x67\xc3\x33\xcb\x6e\xd4\xe1\x03\x85\x3d\xb3\xdd\x7a\x92\x58\x73\xf3\xcc\x5a\xd8\xe6\xed\x9e\xe7\xaa\xcf\x60\xc1\x75\x28\xdb\x2a\x73\x7c\x36\x69\xb7\xbd\x85\xb3\x3a\xbd\xdb\x4d\x53\xc8\xa5\xd0\x61\xd3\xb7\x7b\x99\x26\xb0\x99\xe9\x79\x27\x26\x09\xca\x2e\x88\x0b\x63\xc1\xf2\xaa\xfa\x40\xb9\xaa\x17\xfb\x54\x4e\xdb\x19\x7b\xc1\xe4\x91\x76\x60\x8a\xdf\x3d\xd9\x5a\xe8\xfe\x49\xe1\x02\x34\xad\xbd\x0a\xbf\xc0\x17\x50\x61\x6b\x9a\x32\xac\x30\x2f\x09\x4c\x44\xbe\x6c\xb3\xa5\x46\xbe\x8c\x8a\xdb\x36\x6c\xc2\xf2\x65\x05\x73\x57\x65\x6a\xa6\x63\x5e\xd6\x18\xd3\x32\x66\xff\x05\x16\x17\x96\xa2\xb0\x97\xcd\x4d\xf2\x87\x43\x6f\xa7\x55\x58\x7c\x0f\xbb\xb9\x95\x08\x43\x5f\x6e\xcd\x43\x31\x19\x99\x97\xcb\x61\x11\x62\xd6\x4d\x61\xe4\xa8\xb7\x6d\xcd\x26\x32\x5f\xc0\xbd\xb5\x5d\x3c\xdd\x4d\x06\x4c\x77\x42\x8c\x46\x34\xf5\xfa\x2c\xe3\x9d\xbd\x8c\x6a\x5b\xe6\x39\xd3\x03\x62\x54\xda\xac\xd5\xba\x34\x36\xac\xe0\x02\x32\x66\xa4\xc3\x19\x8b\x02\x82\x2e\xb2\x5e\x15\x4a\x0a\x1f\xee\x54\x01\x8b\x61\xa2\xce\x63\xb3\xe0\x6b\x8b\xf5\x1c\xcf\x7a\xf2\xe2\x79\x0e\x67\xac\xa6\xd8\xcc\xc1\xac\xcd\x14\xdb\x99\x2b\x7f\x0e\x56\xf8\x0a\xed\xee\x17\x5a\x68\x75\x60\x25\x82\x6b\x4c\x60\x15\x82\x6f\xd2\xa8\xca\x7b\x6d\x32\xa6\xdb\x46\x4d\x7e\xb3\x54\x33\x6b\xa3\x22\x87\x04\xb3\x3b\x84\xb5\x56\x40\x9a\x61\x58\xbd\x0f\x21\x33\x50\x5b\xab\xa8\x90\x82\x49\x88\x64\xc9\xdc\x99\xe1\x96\x24\x32\x58\x26\xb3\xe6\xfa\x7a\x87\x31\xd7\x3a\x62\xa2\x5d\xf9\x04\x6e\xa4\xb8\x4e\x15\x0f\xd7\x09\x2d\x5c\x72\xac\xa2\xd4\xa6\x0d\x1b\x04\x39\xd6\xae\xd0\x82\x09\x91\x24\x0c\xc2\x76\x9a\xb5\x73\x52\x39\x67\xb8\x76\xa0\x47\xde\x9c\xa6\x56\x53\x69\x72\x8c\x41\x91\xcf\x90\xa6\x6a\xc8\x4a\xad\xc2\x1a\x2a\xc7\xe1\xe6\xc4\x6c\x51\xb6\xd0\xa6\x69\x4e\xdc\x93\xb6\xb3\x69\x29\x8c\x1c\x47\x5c\x2d\x8e\x4a\x9a\x69\xcf\x58\x1a\x38\xa3\x33\x8f\x95\x79\x3f\xd3\x6c\x76\xdc\x86\x6d\xa1\x14\x53\xa8\x61\xa0\x19\x38\x60\x56\x1d\xc8\x97\xd6\xb4\xfb\xf0\xb8\x92\x12\x66\x9d\x9c\xac\x56\xcc\x24\x2e\x71\x10\x66\x4c\x34\x28\x09\x63\x2c\x66\xb9\x23\x47\x7f\xa7\x65\xe6\xbc\x1c\xe2\x4b\x55\x7b\xb2\xc4\xa4\xa5\xf3\xf4\x16\xbc\xd4\xbf\xf9\xa8\xeb\x7b\x63\xf6\x9a\x86\xdc\xdd\x52\xa9\xf5\xbd\x52\x61\x38\xc4\x9e\xa6\x66\xc2\x81\x1c\x42\x4f\x61\xc9\xf3\xf6\x36\xdf\xce\xd0\x8c\x41\xcf\x77\x33\x2c\x3b\xcf\xe4\x2f\x33\x34\x3f\xc1\xe4\x90\xd8\x33\xba\xad\x6a\xe6\x55\xa0\xbb\xe3\x8c\xf5\x33\xcf\xa4\xbb\x14\x2e\x0c\xe9\x69\x63\x27\x6f\xe7\x01\xae\x92\x63\x34\x2f\x9f\x8a\x98\x19\xe9\xfe\x9a\xe0\xca\x43\xa6\xe5\x4c\xd6\x09\x62\xe9\xe9\x26\x24\x09\x63\x47\x45\x3f\xaf\xb3\x43\x07\x3d\x5c\x06\x6a\xd8\xa2\x11\xac\x86\xd3\xfe\x4a\xe5\x18\x4a\xee\xc5\x91\xc2\xc6\x83\xc6\x21\x90\x0b\x57\x66\x66\x9e\x23\xf4\x42\x96\xa6\x22\x6e\x52\xa5\x9b\x44\x0c\x63\x7d\xe9\x36\x74\xe5\xd0\x9b\xc9\xb4\x55\x4e\x6d\xad\x61\xa6\x63\x02\x2b\xaf\x3c\x55\x22\x3c\x3c\x68\x1c\x1e\x6d\x95\x59\xd2\x3a\xbc\xa0\x47\x2f\x30\x4d\x39\x3f\xe7\x03\xa9\x06\xdf\xe0\x9d\xe2\x68\xd6\xf7\xa5\xcf\x5a\x9d\x71\xcd\xcf\x30\x5f\x59\x8a\x9a\x21\x49\x91\x9c\xba\x02\xcb\x24\x15\xca\x67\x25\x16\x62\x44\x1a\xd5\xbf\xf3\x67\xe2\x2a\x0c\x2d\x26\x0b\x39\xbe\x34\x4e\x72\x83\xa5\x00\x32\x52\xab\x3c\xeb\x95\x15\xe9\x24\x9a\xe0\x62\x14\x48\xdb\x98\xa2\x20\x46\xe6\x1a\x9d\x1e\x4d\x36\x6c\xa5\x8b\x19\x05\xa9\x5f\x82\x0f\xd7\xa1\x80\xb8\xb6\x55\xba\xdf\x9f\xc3\xa0\x47\xa5\x2d\x8d\x6b\x94\x17\x5c\xfb\x0a\x08\x08\xaa\xac\xd5\xa2\x96\x4c\x13\x47\xc5\xad\x28\x3f\xa8\xf0\xc8\x29\x20\x91\xd8\xe9\x28\xd9\xf8\x2b\x93\xa8\x2c\x32\xe8\x0f\xc6\x4a\x14\xa3\x7e\x96\x4b\x53\x6c\x01\xcb\xe6\x1f\x98\x91\x0b\x58\xa2\xa9\xf7\x7d\xa4\xd2\x66\x0b\xe1\x54\x02\x64\xce\x49\x21\x76\xb6\x4b\x80\xd9\x39\x29\x15\x9e\x7d\x13\xa0\x78\x4e\x8a\x70\xd3\x7b\x02\x4c\xcf\xa1\x10\xdf\x96\xf5\x0c\xbd\xd0\x88\xe7\x19\x9c\xab\xfd\xe6\xa6\xf6\x5c\xb5\x47\x05\xce\xc9\x1d\x98\x65\xe4\x04\x08\xa0\x5a\x34\x2c\xf2\x65\xea\x82\x32\x0d\x13\xe0\x6b\x65\xdd\xf0\xc4\x0c\xd5\x03\xdc\x08\x8b\x00\x6a\xe8\xc2\x0a\x62\x02\xec\xd0\x5f\x5b\xe3\x97\x3a\x29\x9f\xa1\x17\x3a\x09\x32\x88\x8d\xaa\xeb\xf0\xd0\x4a\x80\xf8\xc9\x2f\x65\x25\xc0\xfa\xec\x57\x05\x2d\x35\xfa\x34\x0b\x6a\xc6\x2b\x77\xca\xa7\xf3\x0c\x24\x13\x12\x27\xc0\x00\xbd\x2c\x34\x84\xb1\xeb\x1b\x6c\x43\x4c\x1a\x32\x01\x2e\xa8\xab\x58\x32\x68\x02\xcc\xcd\xc2\x9a\x37\x56\x2a\x9a\x49\x86\xb2\x9a\x00\x55\x73\x2f\x2a\x6a\xc2\xf3\x66\x02\x04\xcd\x03\x9d\x7a\x07\x81\x13\x2c\xd1\xe5\x61\x66\x8b\x04\xe8\x99\x3d\xb2\x5f\xf7\x26\x4b\x4c\x4d\x46\x9d\xf2\x64\x2b\xc5\xd0\x7e\x93\x14\x94\x8a\x61\x0b\x26\xe9\x3d\x95\x8a\x85\xd6\xb7\x6a\x05\x57\xef\xc8\x49\xc1\x65\x38\xaf\x23\xc4\x54\x35\x7e\xaa\x9f\xe3\xbd\xa2\x9d\x3d\x63\xbc\x15\x7e\x67\x40\x08\xd5\x46\x0e\x0b\x9d\x7d\x72\x27\x5c\x02\x7c\x03\xcb\x58\xa9\xf4\x79\xf2\xbe\xe2\xc2\x84\xf9\x8b\x09\x70\x42\xdb\x1a\x32\x3c\x0f\x63\x12\x28\xce\xac\x39\x84\x97\xe5\x12\xe0\x89\x5e\x28\x1b\x61\xec\x38\x00\x54\x5d\x30\x6f\xe7\xee\xfa\x78\x18\x0e\x4b\x34\x6d\x43\xd6\x49\xab\x9a\xb0\x39\x00\xc2\xa8\x6b\xb3\x25\xf0\x38\x0c\xc8\x0a\x66\xc7\x41\x02\xbc\xd1\xa6\xfd\xf6\xad\x33\xfa\x8a\xc2\x9e\x50\x02\xdc\xd1\x4a\x75\x5d\xca\x2d\x62\x24\x40\x0b\x1d\xd1\xfc\x22\x7b\x02\x14\x51\x57\x2a\x0a\x93\x44\x93\xd5\xed\xca\x38\xa3\xbc\x40\x14\x2d\x94\xa5\x98\xde\xbd\xaa\xf7\xad\x72\x25\xf3\x7a\x80\x2e\x6a\x8d\x3c\x30\xb3\xe7\x0a\x57\xc9\xdf\x65\x1e\xee\xf8\xd5\xed\x2a\xf9\x07\x32\xd8\xc9\xea\x76\xb9\xfc\x23\x39\xec\x04\x68\xa3\xb3\x72\x8c\xe3\x02\xd4\xd1\x59\x21\xd6\x83\x01\x26\x69\xe9\x2b\xfd\x1c\x06\x82\xa3\xe0\xdc\x2a\x8c\x83\xe5\xf3\x5a\x96\x86\xe9\xa9\x1c\x8d\x82\x91\x07\x76\x72\x05\x26\x68\xd6\x6a\xed\x18\x8a\x48\x02\x5c\x50\xd2\x5a\x35\x4e\x31\x0b\xf3\x09\x70\x41\xaf\xe8\xe0\x92\x7f\x02\x7c\x50\xeb\x96\x5c\xf5\x04\x58\xa1\xb0\x07\x21\x0c\x07\xae\xb3\x62\x95\x77\x3d\x67\xd4\x2d\x55\x64\x73\x17\xcf\x8c\x3e\xa0\x7f\x6a\x3a\x92\xe6\x94\x0f\x98\x9f\x03\x96\xd5\xb9\xf5\x44\x55\xe5\x12\x1f\x21\x41\xea\x27\x32\x69\xc3\x05\x30\x8f\x00\xcb\xd7\x8b\xe5\x20\xe7\x06\xfc\xdb\x30\x3e\xc7\xe4\x4e\xc3\xec\xa5\x4b\x80\x1a\xea\xcd\x7e\x16\x58\x3c\x40\xf6\xf1\xd2\x2f\xfc\x2b\x04\xe6\xe8\x59\xdc\x2c\xb9\x37\x13\xc6\xf4\x1d\x90\x4a\xcf\xa2\x6e\x77\xbd\xcc\xa4\xf1\xe6\x0b\xc8\xa7\xd4\xda\x29\xc3\x85\xda\xb0\x3d\x00\x12\xea\x3e\x63\xea\x3b\x8e\x91\xdc\x68\x3d\xdb\xa1\xd5\xba\xf0\xec\x03\x2c\x54\xdb\x36\x34\x8d\x93\x54\xcd\xd4\x0c\xec\x7f\x3d\x8b\x1f\xaa\x6c\xf2\xfb\x44\xd3\x4e\xfd\xda\x84\xa3\x0b\x60\xad\xda\x76\x5c\x6b\x38\x0b\x36\xb7\x97\xc2\x4b\xeb\x09\x30\x5a\xdf\x66\xeb\x36\x07\x1b\xf6\xf6\x80\xd5\x9a\x29\x2f\xcd\x6c\x31\x2e\xf3\xc1\xec\x70\xf2\x2c\x26\x99\xa1\x30\x2e\xbb\xcd\x20\x85\xc1\xb3\xac\xb7\xd0\x4d\x29\xb8\x24\x75\xf2\x9c\xdf\x2b\xc1\xe5\xc5\x13\xa0\xb8\x0e\x45\x2a\xd3\xd6\x6c\x2a\x3c\x01\x9e\x2b\x16\x61\x1f\x03\x64\xd7\xbe\x4c\xdd\x56\x64\x95\xe4\x9f\x93\xde\x2f\xc3\x3f\x08\x36\xd4\x0c\x1c\x26\x66\xb8\x03\xcd\xf5\x0c\x66\x0d\x0d\x70\x5d\x4f\xa6\xf5\x6d\xb6\x68\x14\x81\xf1\x7a\x2e\x11\x86\x8e\x03\xe0\x7d\xa4\x66\xde\xc1\xed\x26\xb8\xc5\x1a\xbc\xdc\xd4\x99\xdb\x32\x90\x00\xe1\x35\xb7\xa6\x61\xf6\x14\x26\x1b\x5c\x7c\x14\xf2\x10\x9b\x23\xd9\x42\x33\xf1\x14\xb0\x5f\x55\xed\xbc\xd8\x5b\x11\xe4\x78\x26\x1b\x0c\x71\x95\x3c\x84\x4d\x12\xb0\x60\x05\xe3\xb9\x02\xff\x35\x53\x3e\x6b\x59\x9f\x02\x08\xae\x57\xf0\xd2\xbb\x06\xae\xab\x6f\xab\x4c\x87\x6b\x0c\x4c\xd7\x01\xb9\x28\x7a\x0d\xb1\x6b\xbd\xff\x00\x0b\x3c\x01\xe2\x2b\x14\x61\x46\x03\xf0\x5f\xa1\x00\xeb\xd5\x03\x09\x16\x8a\xf0\x53\x22\x10\x61\x45\xd3\x30\xc6\x12\x68\xb0\x6f\xaa\xce\x99\xed\x39\x09\x10\x60\x45\x9d\x5b\xa3\xc2\x13\xdf\x76\xc2\x17\x6c\xc3\xea\x0d\xdc\xd7\xdc\xaa\x2c\x63\x16\xc0\x13\xe0\xbe\xba\xc3\x29\xbc\xda\x91\x00\xf1\xb5\x30\xad\x5d\xe8\x75\x64\xb8\x5a\xd2\x3a\xec\xa0\x22\xb3\x95\x2a\xc1\x54\x15\x08\xad\x3c\x6e\x85\xe9\x3e\xaf\xa6\x2e\xd5\xde\x0a\xaf\x1a\xc6\x8e\x00\xc1\xd5\xb5\x5c\xd6\x6d\x87\x6b\xe4\x1c\xf9\x30\xd9\xe1\x6e\x2d\x59\xaa\x23\x53\xf9\x2d\x04\x48\x61\x5b\x0a\xfc\xd5\x63\x38\x61\x03\xc4\xd5\x37\x52\x19\x53\xc1\x51\x0b\x2d\xd5\x96\x49\xe0\xec\x70\x63\xd6\x9e\xb4\x62\xb6\x1c\x27\x3b\x39\xb3\xb3\x4b\xeb\x81\xc9\x6e\x46\xc5\x1e\xf7\x92\xf3\x43\x73\x37\xdf\xef\x72\x2d\xc7\x5a\x81\x97\x1b\x07\xfc\x66\x0d\x7b\xe6\x34\xf3\xe2\x12\x70\x6a\xfd\x72\x2a\x1e\x98\xae\x6f\x25\x91\x96\xa5\x50\x61\xd3\x0b\x6c\xd7\xa3\xaa\xc8\x2c\x59\x5e\xa0\xbc\xfa\xd6\x1e\x94\x2b\x63\xad\xae\xdb\x3e\xcf\x0b\xe5\xe1\x45\xc3\x04\x98\xb0\xb0\x9e\xc5\x35\x07\x08\x4e\x8d\x90\x14\xbb\xb2\xf5\x9e\x19\xa9\xc0\x88\x75\x9a\x61\x32\x27\x40\x85\xbd\x1e\x38\xb2\xd4\x7a\xd0\x7d\x63\x73\x76\x7f\x4f\x02\xe4\x57\xd3\x50\xcd\x18\xe1\x97\x6c\xe2\x08\x28\xdf\x42\xb2\xf1\xc2\xa6\x9a\x65\x46\xdb\x5a\x1d\xc9\x3a\xe5\x99\x77\x2d\xc1\x96\x58\x2f\x6c\x7c\x4b\x6a\xd8\x5b\x91\xb7\xe7\xbd\x3f\x61\x62\x40\x02\x2c\xda\x93\x28\x0d\xd3\x5d\xe3\x98\x19\x28\x41\x41\x24\xf0\x66\x2d\xe5\x79\x78\x19\x36\x01\xd6\xec\x80\x5c\xea\x26\x81\x09\xf4\xce\xa1\xa0\xb6\x59\xdc\xdc\x94\x00\x8b\x16\x4a\x85\xe1\x10\x6c\x92\x56\x52\x99\x30\xf5\x29\x01\x0a\x6d\xae\xf6\x61\x13\x0c\xec\xd9\x46\x51\x1e\x37\xaa\x21\x1b\x37\xe1\x8e\x01\xfe\x2c\x14\xe0\xb2\x65\x40\x9e\xcd\x6d\xdb\x30\xeb\x1e\x40\x98\xfd\x6a\x4c\x15\xe6\x82\x24\xc0\x93\xd5\xa2\xde\xb7\x82\xb1\xc6\x40\x8f\x2d\x44\xd8\xdf\x00\x72\xec\x85\x2e\x10\xc6\x42\xb2\xa5\x54\x4c\x92\x19\xe8\xb1\x8d\x08\x3b\xe6\xc0\x8d\x75\x8d\x61\x74\x00\x78\xb1\x92\x8b\x66\x80\x11\xdb\xe1\xc2\x7a\x92\x8d\x3a\x98\x51\xc9\xd1\x18\x92\x6c\x3d\x87\x2e\x0d\x8b\x0c\x8f\x38\x22\x26\xd6\xc8\x36\x53\xe0\xa2\x60\xc8\x56\x90\x3c\x71\x83\x2c\x03\x77\xb7\xf5\x66\xb2\x04\x7d\x9d\x1b\xc3\xa5\x91\x90\x37\xcd\xae\x78\xf1\xae\xc2\xe5\x04\x7a\x8e\x4c\xed\x32\xec\x78\xee\x3c\x86\x24\x03\x7f\x98\x8e\x4a\xd4\x9e\xd9\x9c\x95\x64\x98\x8a\x68\xeb\x9c\xa5\x28\x27\xd9\xa8\xa6\xb9\xf0\x22\x63\x48\x40\x09\x30\xa6\xfb\x1c\x4a\x93\x73\x8b\x7e\xc0\x92\xee\xd1\xdd\x2c\xc6\xc1\xd3\x29\x9c\xde\x25\x31\x3c\x9c\x44\xae\x66\x95\x31\x6f\x64\x1b\xa3\x38\x1e\x5c\x02\x5c\xe9\xe2\x4c\x54\xf0\x66\xb6\xfd\x6d\xb8\x31\x3b\x13\x02\x6e\xf5\x07\x48\x70\xcf\x98\x71\x95\xbe\xa9\xe6\x9e\x98\xb3\x23\xcd\x09\xda\x4c\x05\xf5\xbd\x79\x57\x54\x9b\x2b\xc3\x09\xda\x4e\x05\x55\xe6\xa8\xee\x36\x6d\x38\x5d\x83\x11\xb4\x9b\x0a\xea\x97\x5c\x19\xf8\x0b\x38\x7c\xcc\x6a\x9f\x44\x32\x6b\x4e\xcc\xb6\xc8\x04\x68\xd7\x5f\x5d\xd1\x1f\xd3\x17\xc6\x4a\x88\x37\x0b\x8a\x33\xd3\x4e\xb3\xa6\xc3\xd5\xd6\xdc\xb9\xea\xc4\x71\xc6\x31\x77\x6d\xd3\x8c\x4c\x59\x80\x5a\x6e\xba\x00\x22\xf7\xd5\xa3\xaf\x8d\x0f\xef\xbf\x48\x80\xd1\x3d\xf3\x75\x2d\x39\xe5\x3c\x18\xea\xcb\xe5\x2c\x4c\x35\x4d\x80\xf7\x3d\x3b\xf6\x84\xaa\x86\xd9\x07\x9d\xe4\x93\x6d\x6f\x4b\x66\x39\x9f\x50\x54\xc2\xb0\x71\xd0\x9e\x62\x69\xaa\x4c\xd5\xc2\x9b\x59\x0e\xe6\x9c\xc2\x96\xf7\xae\x96\x42\x1e\xc8\xc6\x35\x31\x29\x89\x1c\x8f\xea\xa9\x25\x0d\x87\xbc\x33\xd1\x23\x90\xc5\x7f\xfd\x35\x8c\xda\x40\x30\x2a\x4b\x31\x55\x85\x37\x52\xef\x61\xb2\x71\x02\xc4\x71\x47\xf5\xd4\x2f\xee\x77\x5e\xf0\x9b\xb9\x13\x20\x93\x77\xe5\x67\x83\x17\x24\x30\xc3\x11\x28\xe6\xa5\x72\xde\x30\xa1\x13\xd2\xcb\x07\xb5\xf5\x25\xd7\xba\x71\x54\x96\xfd\x89\x90\x61\x24\x9c\x86\x26\xac\xd8\x5b\xd1\x84\x87\x02\x32\xc7\xb5\xca\x99\xcd\x3c\x09\x90\xc4\x87\x35\x33\xce\x2d\x05\x96\xf8\x15\xbc\xa4\xe0\x84\x07\x50\x55\xe1\x15\x10\xc2\xd4\xb9\x94\x64\xe3\x4c\x00\x5f\xf6\x6c\x6c\x5b\x9f\x19\x6e\x72\x03\x82\xb8\x67\xa2\x2e\xe0\x80\x67\xaa\x36\xb2\xd5\xcc\x46\x98\x84\x26\xf1\x70\xd8\x66\x01\xfd\xbb\x7f\xed\xec\x81\x15\x09\x50\xbe\xfd\x9b\xe2\x2c\x1b\x30\xbe\x4f\xa4\xc3\x71\x06\xb0\xbd\xbb\x71\x3e\x28\x37\xf3\xae\x04\x24\x2b\x8b\xb0\x63\x06\xb4\x6e\x29\x74\xf7\xae\x3c\x43\x0b\x20\x54\xd4\x13\x17\xba\x00\xa1\xfb\xbc\x33\xe5\x4d\x68\x8e\x2f\x09\x8c\x6e\x29\xe3\xa3\x72\xe1\x60\x07\x18\xdd\x52\xc6\x55\x7f\xd4\x06\xb7\x05\x35\x01\x4e\xb7\x94\x71\xae\x9c\x34\x47\x66\x38\x02\xad\x5b\xca\x58\x54\x14\x0e\x92\x70\x9f\xa8\x5c\x7a\x27\x48\xed\x96\xfd\x06\x29\x26\x33\x0b\xe4\xee\x9e\x5b\xce\xd3\x7c\x90\xdb\x7d\x45\x33\xea\x01\xec\xee\xfe\x40\xcc\x30\x10\xf8\x2e\xa6\x39\xf1\xf9\x3a\x20\x76\x87\xcf\x61\x4c\x80\xd4\x4d\x27\xca\xad\x69\x1a\xae\x33\x30\x35\xd9\xf9\xb1\x99\x6d\xb9\xfa\x42\xd4\xaa\xac\x2f\x73\x71\x8a\xa5\x38\x30\xef\x19\x73\x93\x24\xf8\x33\x1e\x12\xa0\x77\x37\x8a\x78\x70\xfa\x34\xd9\x77\xb3\x88\x86\x33\x27\x85\xf3\x45\x30\x3a\x4c\x81\xc5\x3d\x20\x17\xcc\x74\x0a\x0c\xee\x73\x42\x94\x39\x24\x32\x05\x06\xf7\x05\x1d\x9c\xe4\x52\xe0\x6f\x67\x8a\x8d\x3c\xd3\x27\xdc\x7f\x10\x34\xc8\x29\xf0\xb6\x95\x79\x2f\x4d\x78\xa3\x5d\x0a\xbc\x6d\x51\xef\x49\x73\xe7\xf2\xa5\x40\xdd\x96\xc1\xf5\xda\x14\x68\xdb\xae\xa4\x03\xcd\x68\x9d\x25\xfd\x3a\xbb\xa4\x34\xd3\x94\x51\x77\x2b\x12\x75\x23\xc2\x87\x23\xa6\x4f\x98\x6e\x39\x39\xd2\x5a\xe4\x8c\x64\x64\xb7\xd4\x35\x49\x9f\x53\x9f\x41\x0d\x97\xc0\x90\xd6\x95\x5c\xb6\x24\x4d\xf0\xfc\x49\xdb\x56\x59\x38\x62\x4f\x81\xc6\xad\xbb\x36\x86\x79\x10\x29\x30\xb6\xbb\xf6\xb9\xe0\x14\x9e\x02\x5b\xdb\x95\xca\x7a\xa7\xea\xac\xd5\xc1\x4c\x72\x0a\x8c\x6d\xa7\xaa\x46\x9f\xb2\x56\x85\x5d\x9d\x14\xf9\xda\x87\x93\xf0\x5a\x84\xdf\x74\x32\xd9\x0a\xe9\xd9\x0d\x96\x69\xb2\x9d\x82\x97\x97\x45\x53\x3c\xca\x57\x89\xca\x84\xcf\xb6\x4a\x13\x3c\x87\x27\xbc\x25\x39\x05\x3e\x78\xbf\x39\xca\x91\xb4\xe1\x99\x37\x05\x4e\x78\x65\xbc\xb1\xfc\x28\x4e\x70\xf5\xc7\x12\xf9\xf8\xa8\x28\x98\xc9\x4b\x81\x18\xde\x9f\xb2\x92\x31\x27\xf4\xa6\xc0\x09\x3f\x12\x73\xd0\x56\x3a\x21\x7a\x87\x9d\xbb\x14\x88\xdc\x15\x59\xd9\x86\x9d\xfb\x14\xd8\xd8\xfd\x9e\x5d\x77\x9d\xf5\x2f\x6b\x2a\xa2\x76\xfb\xfe\x0b\x54\x61\x19\x6b\x9c\x55\x2f\x70\xce\xeb\x4e\xf1\xfc\xde\xae\xc9\xe7\x1d\x39\x61\xfc\x66\xd2\xf2\x45\xf8\x76\x26\x9e\x7f\x5d\xbb\xa9\x70\xe7\xad\x09\x4f\x9d\x29\x50\xb4\x01\x1e\xe6\x67\xa6\x40\xd2\xc6\x02\x61\xa3\x08\x34\xed\x9a\x5a\x66\xe3\x67\x0a\x1c\xed\xe1\xad\x6b\x66\x65\x28\x05\x9e\xf6\xf5\x64\x15\x53\x14\x4a\xaa\xb0\xfb\x96\x02\xfd\x7a\xdc\xd6\x1d\x1e\x85\xc0\xbc\x7e\x2b\x85\x77\x22\xbc\x88\x90\xae\xd0\x32\x5a\xc6\x37\x4d\x81\x77\xdd\x8f\x6d\xd6\x1c\x01\xdf\xba\x07\xb3\x47\xc2\xa7\xc0\xb9\x2e\x8d\x9f\x4d\x73\x59\x78\x2b\x47\x0a\x14\xec\xa3\x12\x40\x54\xbb\x03\x9d\xf8\x9d\x1c\x10\x42\xfb\x36\x7b\x0b\xaf\xec\xa7\xab\xc9\x6e\x42\xd5\x86\xfd\x26\xe0\x53\x9f\xe4\x34\xad\x02\x69\x97\x70\xf1\x51\x19\x4d\xe3\x55\x1d\x57\xa6\x76\x9c\x4e\x02\xdd\xda\x34\x54\x73\x47\xa6\xa5\x2b\x3c\xd5\xa9\xa1\x5c\x79\xca\x9d\x63\x94\x11\x4f\x2c\xf3\x9e\xec\x29\x5e\x4f\x3b\x6c\xb8\x7a\xef\x1a\x6e\x57\xb9\x95\x0c\x04\xed\x0b\x7e\x75\x57\x8a\x2f\x2d\x51\xdc\x79\x9e\x9e\x49\x42\xa4\x40\xe1\xbe\x94\x4c\xef\xca\xe3\x4e\xeb\x4a\x81\xda\x7d\xc1\x27\x77\xa5\x9c\xeb\x13\x16\xb4\xba\x11\xf4\x74\x57\x10\xee\xf7\xb9\x23\x66\x0d\x93\x66\xeb\x28\xee\x93\xec\xdc\x73\xc7\xd1\xa5\x62\xd9\x5a\xc7\x68\x1a\x10\xc2\x4d\xf6\x95\xa4\x9f\x1c\xe3\x72\x07\xbf\x9d\xe3\xdb\x7a\xa1\x04\x9e\x94\xa6\xe4\xe1\x14\xd7\x26\x7c\xbe\x51\x0a\xac\x70\x80\x87\xe3\xcb\x14\x68\xe1\x52\xc6\x5f\x65\xd8\x29\x04\x3e\x78\x1f\x9b\xd7\x64\x5d\x2c\x35\xe3\x46\xae\x27\xbb\xcb\xc3\xe9\xc1\x74\x8d\xa7\xaa\xea\x61\x81\x4e\x32\x1c\xa3\x14\x88\xe0\xa5\x69\x6d\xff\x05\x16\xa6\x91\x40\xf4\x1e\xe1\x53\xad\x1c\xaf\x3b\x6e\x79\x2a\x05\xa2\xf7\x58\x24\x0d\x88\x62\x07\x0a\x30\xbc\xc7\x12\xab\x80\x24\x62\xbc\x4d\xa0\x7c\x5f\x0b\x84\xc1\xb3\x03\xad\xf6\x56\x64\xb3\xf4\x5e\x7f\xdd\xb2\xdf\xbf\x48\x9f\x67\x07\x5d\x39\x6f\xe6\xcb\x44\xfd\xf5\x85\xec\x57\xfa\x3c\x3b\x03\xeb\x72\x5c\x10\x57\x64\x3b\x2d\xa2\xd5\x37\x76\x73\x64\x0a\xac\xee\xe1\x19\xcd\x42\xdb\x5e\xa6\xf8\xb3\xc1\xe0\x4a\x88\x59\x09\x12\x92\x1b\x74\x78\x52\xb1\x15\x39\x71\x9f\x2d\x48\x9f\xf1\x73\x32\x7b\xd5\x4d\x64\xcc\x14\x0f\x4c\x6e\x69\xa9\xff\xd8\x54\x7f\x66\x86\x09\x1f\xb1\x92\x02\x95\x3b\x4c\xb8\x48\x81\xbd\xbd\xdf\x2f\x30\x44\x52\xa0\x6d\x7b\xab\x1a\x91\x1f\x15\x67\x47\x81\xb1\x6d\xf2\xda\x1c\x3a\x15\xae\xd5\x21\x98\x0d\x4d\x81\xad\x3d\x29\xb0\x94\x60\xd9\xe0\xf1\x99\x3e\x6e\xd8\xcd\x6d\x29\xf0\xb6\xdf\xd4\x41\x75\xb3\xbd\x88\xc3\x21\xd4\x06\x4f\x98\x2a\x84\x65\xaa\x8f\x9b\xda\x2c\xf3\xf5\x9a\x74\x83\x6b\x96\x96\x8a\x30\xad\x3a\x05\xc6\xb6\x69\x98\x0f\x0c\xa4\x40\xd5\xee\x35\xbb\x26\xdf\xf9\x32\xda\x58\x66\x5a\x04\xd2\xb6\x3f\x4e\x03\x2e\xd2\x74\x54\x8e\xd9\xf4\x99\x02\x7f\xbb\xbb\x2e\xc2\x43\x03\xc8\xdb\xcf\x4f\x4f\x0d\xd3\x5a\xa0\x1c\x56\xe2\x1b\xf3\x70\xa0\x6f\x5f\xf7\x4b\xf6\x8c\xba\x70\x2d\x80\xc4\x7d\x2d\x32\xec\xf8\x62\xca\xdc\xd9\x96\x39\x9c\x43\xce\x94\x59\xdd\x96\x19\x76\x73\x31\x65\xd6\xd0\x7b\x79\xeb\x18\x0e\x61\x3a\x39\xc3\xb8\xe9\xa2\xa1\x30\x74\x33\x81\x3a\xb5\x67\x2c\x06\xd0\xb7\x3b\x30\x53\x59\x0c\x54\xc3\x5e\x0e\x30\xb6\xcf\x07\xfc\x30\xab\xd2\xe9\x56\xdc\x41\x73\x95\xc8\x70\x82\xfc\xf6\x2d\x0c\xc4\x2f\x75\x54\xc4\x48\x04\x87\x45\x0b\x79\x88\xbd\x0a\x0f\xe1\x09\x75\xbb\xf6\xfd\xb7\xe3\x82\xe0\xdd\x9c\xeb\x17\x0b\xad\xc2\x8c\x82\x14\xf8\xdb\x94\x87\xb9\x64\x29\x1e\x47\x3c\x9e\x05\xca\x66\x3c\x80\xc8\x2d\x4d\xae\xa8\x61\xda\xb8\x43\x2f\x3b\x0f\x8f\x5a\x20\x6d\x17\xfd\x16\xa0\xe1\x2b\x7e\x61\x3c\x7e\x41\x2e\xec\x69\x02\x6d\xbb\xb1\x26\x6f\xa5\x8f\xcb\x36\x7c\xb6\x77\x0a\xfc\xed\x4a\xbd\xb3\x14\xa3\x14\x58\xdc\x4e\x5a\x95\x31\x48\xd8\x62\x29\xba\x50\x63\x61\x92\xdc\x65\x77\xf1\x8c\x26\xef\xa6\x9f\xdb\x58\x7c\x40\x7e\x0f\xce\xc9\xc7\x75\xe8\xf3\x01\xe2\x59\xf8\x73\x4e\xe9\xcb\xd3\x3d\xbc\xe3\xe6\x54\x20\x69\x97\xc2\x95\xcc\xc7\xa2\x52\xe0\x67\x67\xba\x25\x6f\x0c\x93\x96\x07\x7a\xf6\x15\x1c\x87\x35\x06\x0f\x24\x26\x2b\x89\x51\x16\x20\x62\xef\x95\xd7\x82\x11\x0a\x1c\x8b\x26\xa3\x3d\x7b\x02\x4b\x0a\xf4\xeb\xb7\xa6\x30\xb6\x0a\x5b\x85\x29\x01\x5b\x31\x73\x3b\xf0\xae\xcf\xbc\x67\xa1\x63\x21\x25\x97\x64\x03\xfa\xf5\xc8\x83\x67\x4d\x03\xd0\xb0\x67\x9f\xfe\x60\x94\x0b\x48\xd6\x99\x56\x4c\x40\x03\x14\xea\x81\x1b\x96\xd3\x70\xf0\x03\xe7\x62\x00\x9d\xfa\xfc\x09\xb4\xee\xb6\x35\x9a\x3f\x70\x3a\xc5\x43\x89\xad\x50\x9a\x19\x4e\xc0\xae\x16\xce\x29\xd7\x3b\xd7\xba\xf3\xc8\xeb\x7e\x43\xdd\xc9\x79\x62\x3a\x11\xb8\xd6\xc2\xe9\xc1\xf5\x6a\x2c\xf9\xf9\xf7\x14\x44\xbf\x5b\x51\xd4\xc3\x21\xe0\x17\x96\xf0\x3d\xfc\x9d\x67\xc0\xd1\x7c\x24\x8a\x7a\xec\xf6\x4b\x50\xd6\x85\x4a\x45\x9f\xe2\x9f\x3f\x37\x67\xbe\x3f\x91\x02\x87\x7b\xaf\x55\xf8\x68\x97\x14\xf8\xdb\x3d\x30\x66\x2a\x0b\xfe\xb2\xda\xdf\x7c\x57\x62\xd2\xfc\xb0\x10\xdc\x49\xf6\x16\x2f\x38\xa2\x40\xe9\x3e\x2a\x91\x33\x53\xbc\x78\x99\x21\x97\x42\x0b\x60\x76\xbb\x5a\x34\x40\xb1\xba\x83\xcd\x6e\xb0\xf1\x9e\x5d\x41\x05\x92\xf7\xb5\xc4\x52\x85\xe0\x8c\x93\x2b\xe1\x3d\x8c\xc6\xf3\x90\xad\xf3\x31\x9e\x53\x7b\x0b\x07\xe2\xf7\xc9\x08\xa6\xe2\x40\xfc\xf6\x25\x55\xa4\x1c\x33\xc2\xf0\x3c\x64\x38\x5c\x75\x32\xcd\x3d\xdc\xdc\x5e\x5c\x10\x00\xae\x78\x31\x25\x25\xf6\x5f\x20\x5e\x72\x42\xb2\x69\xce\xc4\x95\xe2\xc0\xd9\x39\x20\x8f\x8f\x9f\xe7\x65\x58\xa1\x29\x90\xc8\x27\x05\xb8\x67\x80\xd6\xab\x9a\x39\x6a\x29\x45\x1a\x79\x9e\x5b\x72\x8e\xfd\xa2\x62\x0a\xc4\x71\xc4\x73\x75\x19\x15\xff\x28\xe7\xbb\x66\x2e\x32\x38\xda\x4f\x0a\x64\xf2\x5e\xc2\x2c\x93\x84\x32\xb8\x7a\xc8\xe9\x22\xca\x82\x73\x04\x44\x73\x80\x73\xf2\x67\x47\x59\x86\x91\xc0\x34\x57\x79\x9c\x09\xce\x31\x07\x9e\x79\x6e\xfb\x09\x3b\xd6\x4a\x52\x3d\xfb\x48\xb0\xca\xf9\x57\x08\xfc\xf3\x99\x98\xd9\xcb\x3c\x0b\xe2\x6a\xbf\x82\xc9\xdd\x30\xbe\x06\xd2\xd1\x2d\x9d\xf9\xd4\x52\x54\xe1\x38\x0f\xc8\xe5\x9e\x34\x71\xdb\xb8\x53\x89\xdf\x20\x21\x5b\x0d\x07\xca\xce\x16\x4f\xe0\x4e\xe8\x3a\xbf\x88\x22\xb7\x77\x9f\xb2\x0a\x4a\xfb\xe0\x62\x8a\xdc\xdd\x95\x9b\x06\xe5\xb2\xb9\x62\xf9\x72\x57\x5a\x12\x94\xb6\xb4\xb8\x22\xc5\x5d\x81\x4f\x41\x81\xfc\x22\x0b\x1e\x27\x5e\x9a\x37\xee\xc1\xe0\x04\x0a\x5f\xfa\x76\xba\x37\xc5\x25\xcf\x93\xdf\x19\xc7\xc4\x01\x76\x7a\x63\x72\xc9\xcd\x42\x40\x4b\x1f\xb6\x84\xc7\x95\x78\x57\x95\xfa\x16\x1e\x98\x40\x3d\xbf\x14\x51\xf5\x42\x91\x64\x5e\xc4\x92\xf3\x86\x99\xa3\x73\xfc\x30\x66\x45\x2e\xb6\x24\x3d\x7e\x41\xeb\x01\xa5\xe1\xb7\xc3\xef\xc8\x5a\x85\x64\xcd\x4c\x00\x4a\x63\xec\x00\x10\xd1\x33\x51\xe7\xec\xc0\x06\x0e\xfa\xde\x8a\x30\xb1\x00\x58\xe8\xe4\x19\x5e\x11\x10\xce\x55\x95\x87\x23\x2e\x20\x96\x5b\x71\x24\xcd\xe4\xc2\x80\x3f\x4e\x64\x59\x6d\x01\xfe\x78\x7f\x7e\x9b\xe4\x48\x3c\x39\xfa\x72\xe6\xad\xd0\xbc\x77\x80\x47\x92\xb7\x0d\xd9\x7e\xe3\x4f\xd8\x8e\x00\x89\xfc\xad\x59\x4c\xd2\x02\x8f\xbc\x22\xf2\xcc\xba\xe2\x85\x44\xee\x6c\x6c\x6a\x7d\xea\x01\x8d\x71\xaa\x8f\xb1\x22\x91\x39\xa3\x5b\x4f\xff\xf6\x29\x8a\x86\x4f\x05\x47\x49\xf3\xde\xfd\x3a\x7f\x67\xf8\xf2\xb3\x11\x79\xbf\xdf\x30\x7a\xea\x7e\x55\xc2\xee\x55\xfd\x1a\xc5\xe7\xbb\xd7\x73\x3d\xa2\x52\xe5\x39\xd5\xdd\xb5\xfe\x1b\x0d\x51\xa7\x9a\x9f\x9f\x1e\xa2\xf3\xff\x7e\xec\xee\x64\x83\xc7\xd9\x89\x1a\x2b\x16\x17\x46\xb6\xae\xff\x88\x80\x90\x5d\xc0\xf5\x70\xef\x56\xff\x5f\xb3\x36\x38\x2f\xbc\x92\xd0\x02\xd1\x7a\x83\x4d\xb8\xfc\xbe\xd4\xfa\x69\x5a\xe5\x2e\x92\xc8\x34\x8d\x75\x1e\xf0\xbf\x7d\xfa\x7f\x01\x00\x00\xff\xff\xa2\x10\xca\xbc\x26\x92\x00\x00"), + }, + "/static/lib/font-awesome-4.7.0/css/font-awesome.min.css": &vfsgen۰CompressedFileInfo{ + name: "font-awesome.min.css", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + uncompressedSize: 31000, + + compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x7d\x4d\x8f\xe4\xb8\xd1\xe6\xdd\xbf\x22\x77\x06\xde\xe9\x36\x4a\x35\x45\xe5\x77\x15\xbc\x9e\xfd\x80\x01\x03\x36\xf6\x60\x1f\xf6\xb0\x17\x8a\x0a\xa5\xd8\x49\x89\x1a\x92\xca\xac\xec\x46\xff\xf7\x17\x92\x18\x4c\x2a\x2b\x28\xcf\x0b\xcc\xe1\x35\x0c\xbb\x8b\x7c\x48\xf1\x23\x18\x11\x0c\x3e\x64\xfe\xfc\xa7\xff\xf6\x87\xd5\x9f\x56\xab\xbf\xea\xd6\xad\xfe\xe7\x15\xac\x6e\x60\xb5\x79\xde\x3f\xbf\xac\x8a\xdb\xea\x97\x92\x5f\xe0\xc4\xdb\xf2\xb6\xca\x56\xb5\x73\xdd\xeb\xcf\x3f\x57\xba\x75\x7c\x02\x3e\x4b\xbd\xca\x56\xbf\x44\x29\x63\x5d\x7f\x97\x02\x5a\x0b\xa9\x22\x3f\x2b\x9f\xff\x69\xf8\xe8\xeb\xea\x9f\x7f\xfb\xfb\xea\xff\xfe\xf5\xef\x2b\xf6\xcc\x9e\x56\xff\xfb\x9f\xff\x7c\x5d\xfd\xe3\x6f\xff\xc2\x4a\x3e\xff\x61\xf5\xa7\x9f\xc7\x2f\x64\x15\x17\xf0\xcd\xff\xab\x91\xea\xf6\xfa\xd3\x50\xde\xb7\xf9\xa7\x37\x6b\xc4\x6b\x6f\xd4\xa7\x9f\x9e\x9f\xc7\x0f\xda\xf8\xb3\xd9\x15\x8a\xe1\xcf\x67\xd0\xee\x2f\x97\x3f\x8f\x1d\xfc\xe9\xf3\x7f\xa2\xcc\x8f\x12\x2a\xf9\xfe\xdf\x43\xd1\x55\xa5\x4d\xc3\xdd\xa7\x9f\xa0\x29\xa0\x2c\xa1\xcc\x74\x07\xad\xbb\x75\xf0\xd3\xe7\xa7\x7f\x5f\xe5\x55\x57\x55\xfe\x97\x8f\xb5\x8d\xe9\xbf\xb9\x86\x44\x05\xbf\xa9\xbc\x73\x54\x71\x67\x7a\xf8\xcd\x9d\xb0\x97\x13\x56\xf1\x63\x94\x6f\xe0\xd4\x2b\x6e\xa2\x5a\xed\xe5\xf4\xd3\xe7\xb7\x71\xea\xae\x20\x4f\xb5\x7b\x6d\x87\x1c\x35\x25\x59\x77\x53\xe0\x53\xbe\x3f\x57\xfc\x5b\x29\x6d\xa7\xf8\xed\x55\xb6\x4a\xb6\x90\x15\x4a\x8b\xf3\x08\xf5\xa0\xd5\xfc\xff\xd8\xa6\x7b\xff\x99\xad\x22\x61\xf0\xf5\xca\xaf\xf0\x2a\xdb\x1a\x8c\x74\x6f\x0e\xde\x5d\x66\xa0\x2d\xc1\xc8\xf6\xf4\xca\x7b\xa7\xdf\x86\x8e\x9c\xa5\xcb\x26\x74\xa3\xb5\xab\xc7\xbc\xd6\x49\xae\x24\xb7\x50\xbe\x65\x8d\xfe\x9a\x69\xfb\xfe\x88\x39\x19\x7e\xb3\x82\x2b\x18\x1a\x9c\xa9\xd3\xb7\xfb\x17\xd9\xf3\xda\xff\x07\x9a\xb7\xb1\x03\xf5\xd4\xe7\xe7\xfd\x16\x9a\xb7\x0b\x18\x27\x05\x57\x19\x57\xf2\xd4\xbe\x66\x6c\xfb\xc7\xb1\x8e\xfc\x3d\xaa\x23\x87\x66\x4c\x5c\xc7\x89\x6b\x9f\xb8\x89\x13\x37\x3e\x71\x1b\x27\x6e\x7d\x62\x75\xfd\x76\x95\xa5\xab\x5f\xd9\x73\x7e\xd8\xee\xd9\x26\x3f\x42\x33\x0d\xc5\xf4\x75\x01\xad\x03\x33\x62\x7b\xf5\xad\xe3\x65\x29\xdb\x53\xa6\xa0\x72\xaf\x2f\x6f\x0d\x37\x27\xd9\x4e\x7f\xe5\xcf\x6c\x33\x55\x31\x76\xca\xfa\x59\xcb\x06\x59\x79\x6d\x75\x0b\xbe\x8e\xff\xa1\xe4\xb7\x4e\x5b\xe9\xa4\x6e\x5f\x0d\x28\xee\xe4\xc5\x8f\x51\x94\xc1\x0b\xab\x55\xef\xe0\x6d\xac\x3b\x9b\x55\x3e\x35\x78\x96\xe4\x74\xf7\x3a\xfb\x9b\xec\x80\x92\x7e\x2a\xa6\x4a\xd9\xf3\xd4\xe3\xc3\xce\x0f\x46\xa1\x4d\x09\x06\x3b\xf9\xfa\x9c\x43\xb3\x7a\xce\xb7\xc3\xff\xb2\x61\x62\xa6\xfc\x57\xab\x95\x2c\x57\xcf\x2f\x07\x68\x56\x3f\x02\x80\x4f\xcf\x0c\x2f\x65\x6f\x5f\x9f\x99\xaf\xae\xeb\x95\x1a\xc7\xe6\x5b\xa5\x34\x77\xaf\xc3\x3f\xef\x19\x66\x98\x71\x9f\x33\xfe\x7b\xc8\x9a\x17\xf3\xc3\x6b\x26\xd9\xf0\x93\xfb\x50\x41\x3c\x05\x13\x24\x55\x7b\xaa\x39\xcf\xff\xee\x83\x8b\x5f\xab\x78\x66\x3b\xd9\x7e\xc3\x95\xc2\x5b\xd9\xf0\x71\x0a\x7d\xce\x2a\xb7\x2b\xd9\x56\xb2\x95\x0e\x56\x83\xb0\x73\xf3\xf6\x5b\x40\x38\x52\x16\x16\xea\x66\x51\x31\xeb\xa0\xb3\x9f\x0e\x9f\x89\xda\x29\xd8\xf7\x5f\xb0\xda\x33\xdc\x2a\xc3\x1b\xb0\x2b\xec\xcc\xcb\x1f\xc3\x37\x9d\xe1\xad\x1d\xb4\xd4\xab\xd1\x8e\x3b\xf8\xf4\x52\xc2\xe9\xf3\x1b\x9d\xfc\x9d\xbd\x2c\x15\x5d\x6f\x8f\x74\x61\x9f\xf1\xfd\xfb\x2f\xff\x85\xda\x32\x8c\xff\x94\x96\x1d\x5f\xbe\x65\x8d\xcd\x2a\xa9\x1c\x98\xd7\x1f\x3a\xa3\x4f\xb2\x7c\xfd\x3f\xff\xef\x6f\x0d\x3f\xc1\xbf\xb0\x86\xe7\x7f\x48\x61\xb4\xd5\x95\x7b\xfe\x5f\xdc\x4a\x31\xe6\x7e\x1a\xab\x90\xba\xfd\x33\xfb\xfc\xc3\x5b\xb2\x39\xc7\xa9\x2b\xc3\x57\x52\x79\x89\xf4\xb8\x9d\xec\xf0\x7b\x34\x34\x5f\x6a\x28\x3b\x2c\xb4\x14\x33\x53\x19\x71\x5b\xf3\xfd\xef\xd1\xd6\xf5\x52\x5b\xf3\xfd\x42\x5b\x31\x33\x95\x31\x99\x07\x25\xbb\xac\xd6\x46\x7e\x1d\x8c\xb7\xfa\x1d\x1a\xfc\xf2\xb4\x6a\xa4\x31\xda\x24\xe4\x61\x34\x99\x9f\x32\xf6\xb4\x62\x8f\x0d\x9f\x65\xd1\xc9\xf7\x46\xa3\x11\xfd\x3d\xe4\xe1\x37\x35\x99\x3d\xad\xb2\x44\x93\x7d\x16\x9d\xfc\xfd\xd5\x68\xed\x56\xb3\xd5\xf6\xf4\x21\x8d\x1d\x88\xc4\x7c\x1f\x27\x3e\xcc\xd5\x63\x4e\x18\x10\x3f\x18\xc1\x24\x5b\xc7\xc5\xf9\xa3\x49\x7e\x23\x7d\x2c\x6f\x7b\xa1\x79\xf3\x2e\x4b\xfe\xe0\xc2\xe4\x1f\x1d\x98\x46\x96\xa5\x8a\xbe\x95\xb1\xf7\xa7\xfb\x1f\xf9\x7b\xca\xea\xbf\xf8\xaf\x0d\x8a\x2c\x61\xd1\xb1\xbe\x6f\x71\x13\xbc\x43\xf7\x7d\xf6\x8d\x8f\x9e\x93\x6c\x2f\x60\x2c\x7c\x13\x5a\x69\xf3\xfa\x63\x55\x55\x63\xf2\x49\x71\x6b\x5f\x0b\xa8\xb4\x19\xf2\x5a\x07\xad\x7b\xfd\xe1\xff\x57\x2f\x2f\x2f\x3f\x8c\x80\xa6\xb7\x52\x90\x00\x36\x01\x2c\x70\x23\x6a\x12\x91\x4f\x08\x68\x2f\xa0\x74\x07\x99\x26\x51\xeb\x09\x55\x03\x37\x8e\x04\x6c\x7e\xc0\xce\x19\x32\x7f\x7b\xcf\x4f\x7c\x62\x37\x21\x7a\x0b\x74\x0d\xfb\x29\xbf\x92\xaa\x21\xf3\x0f\x53\xbe\xab\x33\xc5\xcd\x09\x48\xcc\x11\x31\x64\x2e\xbf\xd7\x20\x2d\xdd\xcd\x62\x82\x88\x1a\xc4\x99\x04\x88\x09\x60\xa0\xd1\x17\x6c\xc3\x28\x5a\x42\x69\x3b\x4b\x70\xb2\x01\x7a\x56\xcb\x78\xd2\xb2\x4e\xf5\x34\x0c\x66\xb0\x46\xb6\x34\x8e\x79\x21\xe9\xf4\x15\x4c\xa6\xab\x8a\x04\xa1\xa0\xc8\x53\xcb\x15\x89\xf0\x82\x72\x82\x30\xc3\x53\xbf\xf4\x89\x84\x7b\x89\x71\x86\xdb\x9a\x9e\x71\xe6\x65\xa6\xd6\x0d\x39\x5b\x6c\x1b\x66\x3c\x21\x96\xcc\xcb\x8c\x18\x14\x41\x02\xe2\xc5\xc6\x68\x5e\x92\xf9\x5e\x6c\x4a\x7d\x6d\x55\x0a\xe3\xc5\x86\x1b\xa3\xaf\x99\x90\x46\x0c\x0d\x1a\x8b\x90\x70\x4e\xc2\xfb\x8e\x04\x7b\x89\x92\x6d\xa1\xdf\x49\x80\x97\xa8\x41\xf1\x85\xca\x48\x60\xf9\x43\x6c\xcc\x27\x8f\x39\x9a\x28\x03\x1d\x70\x52\xaa\x19\xa0\xd0\x56\x06\x2c\xb9\x36\x72\x2f\x1f\xe3\x2e\x8a\x2b\xb2\x9a\xdc\x4b\xc8\x30\x19\x64\xbe\x17\x89\x4a\x71\x52\x64\xf2\x4d\x50\x32\x65\x57\xeb\x96\x5e\x1d\xb9\x97\x8a\x8b\x56\x7d\x03\x29\x79\xce\x77\x33\x54\x6a\xaa\xf2\xfd\x0c\x46\x4f\x51\xee\x45\xe4\x57\x23\x74\x49\x4a\x6a\xee\x05\xa4\xe0\x69\x08\x2a\x97\x44\xdf\x8b\x90\x4d\xf7\xda\x4b\x41\xa1\x35\x3d\xb6\xe5\x3d\xbf\xe1\x86\xc6\xf8\x69\xee\x8c\x6c\xe9\x09\xac\xfc\x72\xe2\x0d\x18\x4e\x21\xd6\x5e\x97\x8c\x71\x0d\x2a\x9f\x61\x33\x14\xb9\x92\xd6\x5e\x44\xa4\xe3\x8a\xb6\x58\x6b\xd4\x1b\x83\x71\xf5\xd6\x93\x82\x6d\x22\xd8\x64\x93\x29\x94\x97\x95\xd1\x48\x4f\x5b\x44\x0a\xb5\x8b\x51\x93\x29\x27\x71\xfb\x18\x67\x92\x4d\x3b\xc4\xb0\x2f\xbd\x75\xb2\xba\x91\xc0\xe3\x7d\x4d\x91\xf9\x5e\x64\x4a\x28\xa1\x9d\x2d\x65\xdd\xbb\x28\x69\x5e\x28\xe8\x93\x24\xc2\x8b\xd2\x45\x96\xa0\x97\xe6\xda\x8b\x54\x57\x6b\xa7\xe3\xaf\xcb\xc1\x17\x8d\x13\x3a\x29\x5c\x6f\x12\x6a\x69\x8d\x52\x07\xad\x90\xa4\x65\xd9\xa0\x17\xc3\xbb\x6c\x90\x5d\x7a\xf4\x37\x5e\xb4\x78\x39\x0c\x29\x89\xf0\xc2\xe5\x12\xe2\xbd\xf1\xa2\x05\xa5\x9c\x8d\xe6\xd4\xb2\xcc\xfe\xda\xf3\x54\x27\x36\xe8\xde\xd4\x03\x64\x11\xb9\x8d\x3c\x84\x65\xe4\x2e\x32\x13\xe4\xa2\xdf\xec\xd1\x69\x82\x2e\x2b\xb8\x38\x5f\xb9\x21\x97\xd5\xc6\x8b\x5c\xc5\xad\x5b\x06\x06\x45\xb5\x80\xe1\x77\x83\x43\xe6\x7b\x09\xeb\x78\x6f\x49\x55\xb7\x11\xd8\x6c\x4d\xea\xd3\x4d\x89\x4a\xc4\x24\xdb\x00\x51\x87\x16\x70\xdb\x97\x68\x84\x96\x70\x5e\x78\xe0\x0b\x08\x52\x36\xb6\x79\x98\xb6\x8b\xd1\x69\x5d\xb1\x5d\xcf\x71\x49\x2d\xb0\xdd\xe0\x28\xf6\xd6\x9b\x6d\x12\xe6\xc5\x65\xf4\xde\x96\x70\x3b\x94\xed\x06\x16\x71\xfb\x58\xfc\x16\x70\x68\xd3\x7a\xb0\xc3\x3e\x67\x09\x7a\x44\x8d\x52\xe9\x25\x98\x17\x9b\x61\xdb\x6a\x6b\x2e\x0d\x29\xd2\xdb\xe2\x63\x3f\xe8\xe5\xb1\x15\x1f\x7b\x92\x40\xa2\xed\xe3\xa4\x8d\xdf\x42\xec\x8e\xa5\x26\x76\xf7\x12\xa3\x92\xd3\xba\x63\x31\x8c\xf6\x17\x76\x79\x8c\x49\xb9\x1e\xbb\x35\x6a\x3d\xa9\x1e\x44\xf7\x29\xa8\x1a\xb2\xa0\x97\x2c\x78\xef\x78\x4b\x4a\xfb\x0e\x75\x90\x6e\x3a\x03\xf4\xd6\x71\xb7\xbb\xcb\x27\x99\xbf\x8f\x04\x93\x04\xa0\x99\xb3\x0e\x8c\xb4\xa4\xc7\xb1\x3b\x62\x53\x85\xe2\x53\x00\x74\x41\x82\x76\x5e\x82\x4e\x32\x31\x45\x5e\x76\x14\x70\xd2\xe7\xdb\x09\xdc\x2f\x24\x06\xce\xcb\x09\xdc\xe8\x6c\x08\xd9\x99\x55\x9c\xf6\x83\xf7\x5e\x4c\xae\xdc\xb4\xb2\x3d\xc5\x13\x16\x77\xd2\x19\xc9\xdb\x13\xdd\xcd\x3d\x0b\xfa\xb5\xa5\x01\xa8\x8b\xb8\x82\xb6\xa4\xf7\xd3\x7b\x2f\x3d\x86\xb7\xa5\x26\xf7\xc3\xfb\x4d\x10\x82\x26\xe1\x09\xec\x51\xf9\xf0\x53\x0b\x34\x62\x37\x57\x77\xb4\xc0\xef\xf7\x73\x54\x4a\xe4\xf7\x07\xdc\x67\xb8\x2b\x24\x3e\x78\x44\x43\xab\xbb\x4e\xb6\xa7\x4c\x24\x02\x0e\x7b\x8e\x46\x44\x95\xb4\xc3\xb0\x2f\x62\xc4\x78\xd2\x49\xc2\x44\x6c\x86\xb3\x0b\x89\x29\x67\x18\x5a\x32\x20\xec\x01\x32\x51\x73\xe3\xb2\x99\xd3\x14\x92\xa9\xb2\x07\x2f\x55\xee\x2a\x9d\x03\xe3\xdd\x06\x12\xc9\xd0\x30\x0a\x18\x7c\xfd\x25\x68\x1e\x7b\xf3\xc3\xa0\x1b\x52\x7d\x1e\xbc\x28\x9d\x81\x34\xf7\x87\xcd\x7d\xdf\x6f\x1f\x36\xfe\xa4\x62\x38\x6c\x67\x82\x47\x63\xd0\x9c\xd5\x7d\x53\xd8\xe4\xe6\xf8\xb0\x7f\x80\xa5\x24\xeb\x70\x88\xc2\x4b\x35\x57\xa4\x7e\x38\x1c\xa3\x20\x16\x6d\x4a\x0e\xfc\x1e\x06\x19\xbc\x6c\x12\x83\x6a\x48\xb6\x67\x28\x65\xbb\x34\x05\x22\x6a\x7f\xe6\x38\xbd\x2f\x3e\xa0\x5e\x7a\x77\x60\x5a\xae\xc6\x9a\x49\x20\x44\xad\x93\xe4\x40\x1c\x51\x92\x8c\xee\x6a\x72\x3e\x8f\x0c\xb5\xac\xab\xfb\x62\xa1\xf1\x47\x2f\x3f\x7d\x97\x8a\x8b\x1c\xd7\xa8\x90\x1b\xdd\xd2\x03\x7a\xdc\x84\x4d\x04\xad\xec\x8e\x18\x18\x5c\xf0\x94\x8f\xbb\xf9\xe6\x36\x81\xda\x47\x9f\x5a\xea\xd7\x61\xb6\xd8\x48\xc8\xf1\x61\x95\x55\xb1\xe0\x63\x2a\x59\x92\xc7\xa3\x4b\x22\xbc\xf8\xf4\x6d\x2a\x4e\x72\x44\xcf\xc7\x0c\x3b\x95\x41\x03\xd2\xa3\x8f\x6e\x34\xc0\xcc\x71\x30\xb4\xc1\x3f\x7a\xe1\xa9\xcb\x92\x1e\x3f\xee\x45\xa7\xe8\x95\xaa\xb5\x21\xc5\x8b\xe3\xfe\x1e\x14\xb9\x95\xab\xd0\x3d\x06\xe3\x64\x25\x05\x77\xe4\x14\x70\x0c\x27\xf3\xb6\xcc\x74\xda\xdb\xe2\x9b\x19\x2e\xe5\xbb\xf1\xed\x0c\x46\xeb\x12\xbe\x9b\x81\x52\x9a\x84\xef\x63\xe7\xcd\xbb\x9d\xc9\x0f\x1f\x08\x70\xba\x37\x54\x18\x31\xd1\x58\x2a\x84\x98\x6c\xb2\x97\xa8\x93\xd2\x05\x3d\xdc\x5e\xa0\xae\x06\x5a\xfa\x14\x80\x97\x18\x7e\xb2\x67\x52\x7a\x38\x6e\xc8\xa6\x93\x1a\x02\x51\xa0\xf8\x18\x09\x95\xe0\xf4\xd6\xb0\x60\x33\x43\x9a\x08\x24\x16\x18\x6a\x36\x3a\x0c\xcf\x28\xda\xbd\x05\x7a\x5b\x21\x5e\xd0\x03\xe1\x41\x2f\x3e\xa1\x92\x26\x0b\xf8\x86\x08\xa5\x7b\x72\x75\x09\xdf\x86\x4a\x71\xda\xb7\x15\x28\xea\xfd\x2c\x98\x60\x85\xb4\x56\x27\x5a\x19\x5c\xb2\xee\x36\x53\x28\x52\x81\xa5\x17\xa5\xd8\xe2\x66\xbb\x03\x23\x94\x24\xa5\x45\x78\xd1\xb6\x7c\x7e\xe4\x50\x29\xdd\x75\xb7\x44\xc5\xfb\x58\xef\x92\x08\x2f\xdc\x2d\xbf\x48\xa1\x67\xa3\x6a\x60\xa2\x9d\xcc\xfd\x1b\xba\xcf\x51\x90\x2b\xeb\x49\xa5\x21\x78\x04\xd1\x34\xa4\x40\xfb\x6e\xe4\x19\x5c\x6d\x74\x7f\x22\x05\x59\x08\xd4\xae\x25\x18\x25\x69\x9b\x23\x82\xb4\x17\xb4\x8b\x2e\x20\x38\xc6\x74\x94\xb2\x0c\x66\xb6\xa7\x75\x78\x89\x4e\xbe\x6c\x1d\x18\xa0\x03\x56\x65\xfe\x00\x5a\x98\x8d\xd2\x8b\xdb\x49\xeb\x93\x82\x29\xac\xb0\x80\xde\x7c\x40\x93\x30\xdc\x00\xe8\x96\x76\xfe\x4a\xf4\xff\xb9\x01\x97\x54\x40\xe5\x3e\x46\xd1\x1a\xad\x3c\xc4\x98\x94\x42\x2d\x8f\x31\x2a\xa9\x49\x4b\x8c\x35\x68\xd5\x37\x2d\xdd\xb5\x60\x66\xad\x36\x6e\x6e\x21\x87\x14\xb2\x0c\x06\xae\xb4\x99\x75\xf6\xe9\x9e\x08\x96\x96\x87\x32\x2a\x39\xd7\x59\x63\x12\x4f\x14\xc3\x2d\xa7\x3f\x7c\xa5\x30\xf0\x32\x77\x37\x49\x8c\x97\x36\x7f\xf4\x13\x8d\xee\x93\x5f\x0c\xa4\x0e\x00\x3c\xb0\x81\x53\x38\xf3\x1b\x0b\x9c\xf8\x05\xc8\x75\x08\x5e\x0a\x4b\x6e\xeb\x42\x3f\x44\x2c\x1c\x17\xb5\x6e\x20\x61\x1f\x60\xbe\x1f\xa5\xb5\x12\x3c\xec\x1d\x12\xa8\xdd\x5d\x37\xd7\x33\x25\xa4\x69\x83\x02\xa8\xec\xa4\x83\x86\x93\xf2\x09\x5e\x3e\xfb\xa6\x30\xa0\x14\x19\x11\x87\x23\x2a\x63\xeb\x1e\xce\x76\x65\x17\x0f\xc7\xbc\x54\x50\x6f\xa7\xda\x15\xbd\x2a\x12\x9d\x2a\x42\xac\xa4\xe6\x2d\x7d\x7e\x0d\x22\xb2\x5a\x8b\x47\x96\x50\xc6\xc8\xb4\x0b\x0f\x5e\x02\x07\xcb\x9a\x35\x24\xa4\xba\xc7\x58\x5d\xad\xad\x48\xc8\x69\x85\x27\xc8\xbd\x74\x29\xf3\x5f\xe5\x77\xf7\x31\xe1\x84\xe2\xa6\x55\x57\x15\xd0\x75\x6c\x82\xdd\x55\x60\x48\xad\x55\xc5\x07\xc7\xe3\x09\x11\xf9\xad\x0a\xb7\x15\xbd\x54\x23\x85\x94\x46\x79\xd9\xa9\xb5\xed\xa4\xe3\x89\x76\x57\xe8\x09\x36\x45\xaf\x78\x2b\xe8\xa6\x7b\xf9\x69\xa0\x3c\x4b\x52\x50\x2b\x8c\x6a\x0c\xb2\x02\x26\xfb\x42\x47\x49\xaa\x02\xc7\x91\x5e\x6b\x95\x97\x93\x7a\xc1\x44\x54\x78\xbc\xb3\x6c\x49\x2a\x8c\x9e\xb6\xa7\xd1\x05\xed\x8b\xb4\x3f\xcc\x90\x8f\x32\x03\xa7\xb4\x38\x43\x72\xca\x0c\x4d\x5a\x0f\x86\x2c\x95\x19\x34\x61\x8e\x18\x92\x55\x26\x70\xb2\xad\x9b\x18\x95\x6e\xe4\x36\x86\x25\x5a\xb7\x9b\xb7\x2e\xd1\x2c\x2f\x48\x25\xd8\x33\x7d\x32\xc2\x90\xc3\xa2\x78\x97\x42\x1c\x23\xd7\x85\x6e\x30\x47\x9b\x5e\x0c\xe2\x1f\x6f\xbc\x9f\xee\xe9\x64\x49\x24\xb7\xa4\x63\xed\x0c\xf9\x2d\xbf\xf6\xda\x2d\x8c\x6d\x19\xa3\xd2\x63\x8b\xf1\x8c\x4e\xb6\x2d\x29\xc9\x0c\xc9\x2b\xc9\xa8\x31\x43\xe6\xca\x18\x47\x37\xd0\xa9\xdb\xdc\x53\xbd\x27\xcc\x8b\xe5\xb3\x30\x08\xbd\x13\x61\xc8\x62\xc1\x18\x22\x89\xd9\xcc\x31\x1d\xd0\xb1\x10\x86\x7c\x16\xdb\xa4\x08\x2d\x0c\xd9\x28\x95\xd1\xd7\x54\x2d\x41\x89\xd0\xb4\x1a\x86\xf4\x93\x13\x6f\xa0\x23\xb5\x3e\x43\xd2\xc9\x19\x6e\xa3\xd9\x4a\x54\x24\x82\x99\xa5\x75\x23\x43\xca\xc9\x88\x18\x0f\x6a\xc0\x00\xfd\x45\x3f\xd5\x0e\x4c\x23\x69\x86\x11\xcb\x71\xae\x69\x0a\x05\xcb\x3f\xcc\x74\xc6\x95\xfa\x30\xdb\x51\xe2\xbc\x78\x8e\x76\xcc\xc7\x08\x33\x68\x3a\x37\x93\x96\x7b\x56\xd5\xcf\x6b\xbe\xe7\x90\x03\x81\xd4\x16\xa5\xc5\x74\x00\x30\x6e\x70\x49\x24\x9a\x2f\x43\x2f\xf0\x7c\x7b\x1f\x84\xac\xd2\x24\x93\x83\x21\xbb\xa5\x6f\xa3\xfd\xed\x53\xd8\x00\x67\x85\xd1\x67\x32\xda\xcd\x90\xf0\x82\xe7\x7e\x24\xc6\x0b\xa1\x6c\x2b\xba\xb3\x1f\x4f\x75\x48\x18\xc6\x52\xfb\x0e\x8c\x15\x46\x76\xe4\x12\x43\xe6\x8b\xed\x8b\x05\x90\x17\x45\x30\x9c\xa6\x07\x32\x24\xc0\x74\xfd\xd7\xaf\x83\xda\x93\x40\xda\x60\x86\x24\x98\x46\x0e\x33\x90\x88\x4a\x32\xe4\xb9\xdc\x51\xc9\x23\x21\x86\x9c\x17\x5b\x4b\x20\x59\x2f\x6c\xfd\x70\xa0\x43\xcb\x10\x32\x5f\x2a\x69\x20\x83\x77\x27\xdb\x53\x2f\x6d\x4d\x77\x17\xf9\x2f\x46\x8b\x33\x6d\x07\xd6\xe1\x70\xe7\x5d\x94\xe4\x04\xad\x1f\x0e\x77\x96\x83\x5d\x6c\xbd\x27\xe1\x49\xed\x8e\x3c\x98\x07\x3c\x6d\x42\x91\x0b\xf3\x00\x4e\xd9\x52\xa4\xc6\xd4\xae\x51\x5b\x12\x80\xb6\xcc\xda\x35\x99\x8f\xa7\x3e\xad\xa8\x35\x3d\xc2\x65\x58\x63\x5a\x9c\x53\x06\x02\xd9\x2d\x45\xaf\x94\xa5\x0f\x16\x19\xf2\x5b\x40\x29\xd9\x59\x49\x9f\x1f\x31\xe4\xb7\x04\x14\x75\x12\xc5\x90\xe3\x62\xec\x82\xd3\xc6\x90\xe9\x12\x71\x06\x49\x18\x92\xa8\x64\x4a\x88\x36\x33\x7a\xc2\xc2\x07\x77\x1f\x71\xb4\x94\x23\xa7\x45\xc1\x05\x54\x42\x18\x90\xce\x32\x61\x52\x32\xb0\xb9\x8b\x8c\x58\x38\x07\x63\x81\xcf\x12\xd3\x7c\x48\x60\xd8\x81\x45\xe7\x30\x4b\x78\x0c\x17\x44\xa4\x20\x12\x57\x86\x4d\x6d\x47\x13\xb9\x19\xf2\x5d\x9c\x3e\x3d\xb8\x90\x4f\xf7\x70\x08\x0e\x6b\x72\x44\x90\x0d\xe3\x6b\x99\xc7\x21\x1e\xea\xa0\x47\x1e\x79\x32\xbe\x86\x0f\x1c\xd2\x87\x4a\x92\x6b\x1f\xe9\x34\xd0\x9b\xd9\x29\x28\xf4\xe4\x5a\x43\x56\xcd\xa9\xa0\x5b\xe5\xe5\xb4\xd4\x4a\xcd\xc9\xc7\xbd\x25\x15\x2e\xb2\x6a\x4c\xdf\xc1\xcc\xf9\x95\x2d\xfd\x7d\xd4\x84\xed\xdc\x79\x6c\x8a\xf8\xcf\x1b\xcc\x26\xe5\x4b\x47\x3a\x96\xc8\xc0\x31\xfd\x3d\xb8\x38\xd5\xa6\x3f\xa4\x90\x27\x44\x0c\xb9\x39\xd7\x79\xd0\xf5\x6c\x48\x87\x02\xe9\x39\x85\x74\x42\xcf\x83\xdf\x85\xa3\xa2\x4e\x6c\xcb\xef\xdb\x63\x32\xbf\x78\xd8\x3e\x93\xa0\x38\x56\xc6\x55\x57\xf3\x44\x90\x8b\x6d\xcb\x0f\xc8\x44\x18\x8d\x21\x55\x67\x82\x36\xba\x6f\x53\xa1\x33\x86\x7c\x9d\x18\x9a\xaa\x16\x49\x3b\x23\xb6\xed\x1b\x30\x52\x24\xeb\xcd\x09\x6c\xb2\x62\x24\xab\x4e\xe7\xd3\xf4\x9a\x42\xbe\x8e\x07\xa5\x16\x2f\x92\x76\x6e\xba\x77\x7d\xb1\xa4\x4f\x90\xba\xe3\x91\x24\xc4\x0b\xe1\xfb\x9d\xa3\x32\xcf\x3f\xdc\xf3\x97\xbe\x74\x9c\xb7\x29\x41\x09\x64\xc8\xdc\x29\x8d\xee\x68\x1a\x3b\xdb\x85\x08\x3e\x17\xe7\x4c\x5f\xc0\x54\x8a\xf6\x90\x91\xc6\x23\x5b\xeb\xf8\xc9\x70\x8a\xdd\xc2\x76\x61\xe7\x21\xc5\x99\x5c\xd3\x48\xe7\xe1\xb4\xf3\x83\x44\x9e\x42\xba\xa2\x4f\x99\x3f\xa4\xea\x04\xd0\xc2\x58\x21\x6b\xc7\xf5\x4d\xa1\xc8\x16\x21\x67\x67\x42\x2c\x55\xb5\xc1\xdd\x44\x7b\x5a\x66\x91\x31\xa4\xf0\x44\x50\x5a\x0a\x91\xc9\x13\x01\x53\x8e\x1e\xd2\x79\x22\x68\x52\xd1\x23\xa5\x87\x77\x1d\xad\x4c\x90\xd0\x73\x95\x6d\x49\xd3\x5c\x19\x52\x79\x78\x5b\x1a\x2d\x49\x85\xbe\xbf\x73\x2e\x7a\x52\xbc\x90\xc5\x53\x1a\x59\x14\xf4\xa9\x0e\x43\x16\x8f\x3d\xdf\xc8\x10\x26\x43\x0a\x4f\xa5\x7b\x93\x9e\x9d\x40\xd6\x31\xa0\x14\xe9\xe3\x04\x92\x0e\x34\x9c\x6e\x0a\x72\x73\x92\xf9\xeb\x10\x9d\x70\x72\x66\xc6\x4f\x86\x3b\xd9\xd1\xcb\x10\xa9\x3a\xb6\x4f\xc4\x0e\x0e\xe1\xbc\x27\xc1\xd7\x60\x87\x40\x4a\x16\xb5\xbc\xd0\x6d\xdb\xa3\xcb\x4b\xaa\x16\xa4\xe2\x5c\xc8\x9d\x2b\x72\x70\xae\x20\x0b\xba\x01\x5e\x18\x0c\xb4\x86\xde\xc2\x1e\x02\xff\xf8\x04\x4a\xd2\xb7\x44\xd8\x41\xc4\xea\x66\x21\xa6\xce\x0e\x31\xb7\xeb\x7e\x5b\x27\x29\xf1\x07\x20\xf1\xa9\xc5\x74\x9c\xfb\x64\x8f\x47\x33\x0f\x0e\x55\xb2\x16\x86\x1e\x90\x5b\x0c\xcf\x21\x67\xe7\x5a\x03\x28\x51\x73\x49\x2a\x22\xe4\xed\x5c\x64\x03\x7a\x41\x0f\x21\x79\xc7\xf5\xe6\x2c\x6d\x9d\x29\x19\x6e\x0a\x4c\x07\x3e\x64\xf8\x9d\x21\xa5\x27\x8a\x2c\x27\x5a\x8b\xe7\xd6\x1d\x17\x90\xd9\xba\x77\x8e\x5e\x0e\x48\xed\xb1\x8a\xa6\x50\x31\xe4\xf4\x84\x5b\x8c\x0b\x9d\x42\x09\xd4\xa6\x4c\xb1\x63\x19\xd2\x78\x74\x07\x2d\xad\x91\x8e\xc5\xdd\x4a\x49\xd7\x47\x41\x10\x7f\x1c\x3e\x8f\xcb\xf4\xad\xbc\x80\xb1\xd2\xd1\x23\x26\x70\x5d\x1a\xc7\x4d\xf6\xe1\x64\xed\x64\x78\xd9\x7b\xfa\x2c\x79\x7c\xc5\x90\x0c\x74\xe3\xb5\xa6\xc7\xda\x8b\xed\x74\x22\x4c\x21\x90\xff\x63\xa0\x2c\xc9\xd3\x09\x86\xec\x9f\x09\xb1\x30\xc6\x3c\x84\xda\x06\x53\x07\x7d\xb7\xc4\xfb\x65\xc8\x06\x8a\xd0\x24\x0c\x77\x01\xa0\xa4\x90\x9a\x3c\xd1\x66\x48\x05\x2a\xe5\x89\xd4\x4e\xc8\x02\xea\x24\x94\x59\x27\x3b\x30\x59\x47\x0e\x28\xf2\x80\x22\x60\x22\x04\x80\x24\xa0\xd2\xf4\x1d\x1d\xd8\x44\xe2\xcf\x17\xad\x1b\xf2\x64\x91\x21\xdf\x47\xf1\xf6\xd4\x73\x5a\x51\x21\xcd\xa7\xe2\xa4\x05\x44\x92\x0f\x9e\x66\x91\x18\xdc\x89\xd6\x92\x8e\x54\x21\xcd\xa7\xe3\xa4\x6b\x86\x1c\x1f\xdb\x69\x7a\x8e\x90\xdf\x23\x12\x7e\x29\x32\x7b\x86\x7c\x72\xfe\x0a\x2f\x0b\x05\xd4\x89\x53\x34\x56\x6c\x66\x90\x05\x31\x2c\xc2\xa5\x63\xa0\xbd\xc8\x62\x17\x01\x96\x2a\xc2\x3d\x1d\x88\x5b\x42\x88\x0b\x74\x84\x7a\xa7\x67\x47\x2c\xa8\xe6\xc9\x42\x81\xee\x30\xdb\x68\x3a\xfe\x2e\x49\x38\x0f\x9e\x07\xdd\x86\x22\x4c\x4f\xe2\xce\x19\x2b\xd0\x4f\x82\x8b\xe4\xad\xa3\xf9\xc8\xac\x08\x5b\xb6\xbe\x2d\x53\x14\x29\x56\x78\x61\x29\xb9\xe3\x05\x7d\xe2\xcb\x90\x98\x35\xee\x25\xbb\x32\x11\x3e\x47\x36\xd6\x88\x1a\x14\x73\x02\x96\x47\x30\x78\x17\x40\x1f\xc6\x32\xb1\x8e\x3f\xaa\xaf\x60\x3a\x2d\x13\x94\x03\x86\xa4\xac\xca\x9f\x96\x39\x3d\x27\x6e\x4f\xe9\x0f\x37\xdc\xee\x39\xe3\x65\xb8\x44\xcd\xf1\x31\xf4\x57\xd9\x11\xa5\xbd\x9b\x95\x28\xbf\x8b\xca\x8f\x53\x41\xd5\xd0\x97\x52\x27\xca\xef\xa3\xf2\x8d\xbe\x48\xaa\xfd\xd3\x2d\x40\xba\xfc\x21\x2a\x3f\x9e\x47\xd0\xb0\x23\x7a\x13\x74\x2c\x5d\x04\xb2\x4e\x09\x34\x07\x9f\x21\xbd\xeb\x8b\xad\xc6\x87\x19\x48\x8c\xc0\x2d\x40\x05\x59\xa1\xfb\x59\xa4\x66\x4a\xec\xf5\xc7\x44\xcb\x2f\x73\xa2\x9a\xed\xbb\xee\xce\xff\xb9\x03\x4d\x42\x67\x22\x59\x2c\x78\x7a\xad\x76\x24\x89\x92\x21\x6b\x6c\xee\x24\x19\xb0\xd2\xba\x48\x99\xf9\xd4\x82\x64\xd8\x30\x64\x96\xcd\x6f\x58\x42\xd3\xd1\x97\x5a\x58\x79\xa7\x73\x2f\x28\xb0\xf2\x7e\xda\x49\x66\xfb\x05\x73\xcb\x84\x6e\x0a\xd9\x72\xa7\x1f\xf6\xa7\x53\x00\x4c\x10\x89\x35\x17\x67\x30\x59\x0b\xf4\xe6\xae\x0c\x17\x75\x5b\x01\xd3\x53\x6a\xb4\xe3\x8f\x5c\xb4\x5f\x7f\x25\x73\x77\xb8\x6f\x10\x35\x9f\x4d\xde\x15\xe4\x3b\xc9\x8a\x62\x48\x4b\xb3\xd0\xce\xbc\xa9\x91\x4b\x99\xbc\x7e\xc3\x90\xa9\x36\x14\x9b\x2f\x98\xa8\x20\xbd\x14\x90\xbe\x56\x4b\xeb\x34\xed\x1c\x07\xea\xda\x24\x4e\xae\x4e\xb4\xdd\xaf\x88\x1a\x38\x7d\xbd\x85\x21\x59\xad\xe3\x86\x9f\x0c\xef\x48\x91\x0c\xbc\x34\x25\x4b\x9a\x3a\xcb\x90\x83\x36\x45\xb1\x13\x3e\x0e\x92\xd0\x02\x68\x41\xd6\x20\xdc\x01\x6f\xc8\xf0\x26\x84\x08\x9b\x10\x60\xb2\x82\x47\x5c\xa0\x49\x2f\xf5\xae\xd0\x09\xd5\x8e\x04\x34\x47\x3b\xd2\x48\x32\x2b\x64\xab\x45\xaf\x68\x4e\x2a\x83\xfb\x06\x85\x5c\xf2\xc8\x2f\x1b\x47\x2d\x75\x0f\x8f\x21\xa9\xcc\x5d\x65\x42\x21\x20\xa7\xec\x06\x8a\xf4\x31\x91\x4f\x36\xac\x9d\x49\xb6\xe8\x3e\x73\x0c\xa1\x54\xa4\x5b\x80\xcc\x31\xc1\xd5\xd0\x67\x47\x9f\x67\x41\x90\x97\x5b\xc2\x4d\x45\xce\x98\x27\x8d\x5e\xb9\x4a\x50\x4c\x90\x34\x26\x44\x76\x91\x96\x74\x68\x91\x34\x26\x44\xd6\x8c\x37\x04\x13\xb7\x18\x18\xd2\xc6\x84\xc8\x4a\x69\x85\xbe\xd0\xd2\x8e\xcc\x31\x21\x32\xde\x00\xe9\x00\x87\xbb\x07\x62\xa1\x8f\x81\x3d\x26\x46\x2e\x31\x1d\x07\x42\xfe\xd8\x48\x53\x4b\x9e\xfb\x06\xfa\x58\x40\xd1\xd3\x87\x04\xb2\xf1\x25\x14\x12\x80\x07\xa5\xba\xbb\x25\xc3\x0e\xc8\x1d\x23\x5f\xf0\x60\xc8\x1b\x83\x1b\x94\x46\x77\x5d\x62\x10\x43\xe4\x64\xf0\x86\x0a\xd3\x27\xda\x83\x3b\x09\x69\x5c\x5d\xf2\x5b\x26\xf8\x99\x1e\xa7\x10\x3a\x01\x9e\xbc\xdc\xc6\x90\x41\xd6\x49\x48\x82\xf2\x97\x3b\xcb\x75\x09\x85\xaf\x90\x70\xeb\x2a\xca\xa3\xcf\x91\x28\x36\x21\xd2\x5a\x2a\x47\x92\x98\x8f\xcb\xd0\xcf\x88\xe4\x48\x12\x43\x14\xa5\xab\x73\xa4\x88\x15\x32\xb5\x3b\xc8\x5f\x02\xd5\x90\x52\x48\x39\x52\xc3\xa4\x7e\xaf\x35\xc9\x15\xcf\x91\x1a\xc6\xdb\x13\xa8\xc4\x8b\x11\x39\xb2\xc3\x04\x75\x5a\x91\x23\x33\xcc\xd6\x70\x86\x39\xbb\xa5\x86\x5f\xe7\x29\x52\xd1\x0d\xf5\x12\xd4\x00\x6f\x3b\x4e\x3e\xba\x91\xbf\x84\x8d\xe8\xcd\x82\x52\xbc\xa4\x6b\x0a\x87\xa2\x6d\x0b\xc2\x95\x30\x06\x6e\x48\x64\xd8\x66\xd8\x3a\xb1\xaf\xcc\x59\x78\x97\xc4\xf4\x4d\x41\xee\x8e\x72\x24\x8a\xa9\xa1\xed\xe4\xc9\x5b\x8e\xa4\xb0\xa1\xdd\x96\x32\x30\x39\x12\xc2\x6c\x2d\x8d\xb3\xb2\x2d\x7a\x45\x05\xa4\x72\x24\x85\x59\xd9\x74\xea\x36\xec\xc9\xc9\x09\x0b\x94\xb0\xf3\x8d\x3b\xc5\xc9\x91\x62\x77\x0e\xbe\x4b\x31\xf9\x73\xb6\x8f\x40\x8b\x47\x06\x79\x78\xf1\x48\xf2\x46\x93\x17\xc8\x73\x16\x6e\xe1\x92\x17\x4e\x72\xa4\x98\x8d\xac\x61\x0b\xc2\x90\x76\x22\x47\x9a\x59\xa3\x9d\x36\xc9\xb5\xc1\x42\xa8\xd6\x00\xb8\xec\x22\x81\x8a\x3d\xe4\xc8\x35\x1b\x6f\x6f\x16\xf4\x4b\x46\x39\xd2\xcc\x2e\x40\xdf\x5a\xcf\xef\x1c\x32\xd2\x35\xc8\x91\x24\xd6\x80\x11\x3d\xe9\xc1\xe5\xc8\xf5\x1a\x2f\x6d\xd8\x60\x8b\x7c\x44\x94\xb7\xf6\x34\x3e\xd8\x4b\x16\xdd\x04\x53\x80\xb0\x84\xc7\x95\x87\x67\x8e\x86\x9e\x78\xc6\x2b\x89\xdb\xdd\x3b\xb4\x04\xdb\xc7\xd5\x25\x7b\x7f\x88\x2a\xb3\xce\x68\x52\xef\xe7\x48\x00\x8b\x60\x24\x5b\x25\x47\x0a\x58\x0c\x24\x75\x06\x92\xc0\x5a\xe8\xe9\xeb\x03\x39\x32\xc0\xa6\x51\x53\x74\xdc\x36\x47\x16\x58\xb8\xb8\xa9\xab\x4a\x0a\x49\xfa\x02\x39\x92\xbc\xee\xd7\x6f\x48\x61\x47\x7e\xd7\xb5\xe6\xce\x72\x32\x5a\x98\xaf\x83\xe2\x30\xb4\x03\x93\x23\xbb\x6b\x5c\x32\xa9\x55\x8c\xac\xae\x11\x94\x7a\x1f\x2e\x47\x66\x57\xad\xdd\x5c\x69\x17\x24\xf7\x32\x47\x9e\xd7\x45\xf2\x88\x21\x30\x87\xdc\x7d\x94\x04\x00\x37\x45\x7d\x71\x25\x0f\x9f\xf2\xf5\x9d\xdc\x2e\x7b\xd2\x36\x23\x69\xeb\x26\x66\x9b\xca\x68\xcf\x49\x96\xf2\xa2\xa1\x3b\x27\xdb\xac\xd1\xad\x4d\x48\x08\x52\xba\x74\x07\x6d\xe2\xd5\x80\x7c\x1d\xae\x5a\x77\x50\x4a\x07\xa5\xb5\xb4\x68\x84\xcb\xfc\xce\x81\xb9\x65\x9b\xd9\x30\x4f\x89\x44\x52\x4c\x1b\x9d\xd5\x87\x14\x30\xc4\xad\xa9\xc2\xae\x36\x00\xd9\xe0\xb1\x38\x7a\xaf\x96\x23\x47\x0c\x4b\xe4\x54\x35\x89\xeb\xef\x39\x52\xc7\x10\xc7\xa8\xc2\xfe\xeb\x64\xf9\xf5\xbc\xfc\x0b\x55\x3e\xa6\xd4\xce\x4b\x6f\xd0\x16\xf4\x16\xb2\x31\x1e\x97\xf8\x8c\x97\x6e\x99\x89\xde\x58\x5a\x26\x90\x6e\xa6\x8b\x2f\x20\xdc\xec\x9e\xe8\x1c\xb7\x9f\xe1\xfa\x36\x8d\x0c\x0f\x08\x48\x71\xbe\x65\xad\x26\x2f\x2e\xe7\xc8\x39\x8b\x60\xa4\xd3\x9f\x23\xe9\x4c\x88\xec\x8b\x20\x7d\x0d\x64\x9b\x8d\x1b\x9f\x16\x8c\xcd\x84\xa2\xbd\x92\xcd\xfd\xd6\x0f\x19\xb1\xc8\x37\xe1\x01\x1c\x35\x45\xc4\x05\x7d\xac\x9c\x23\xcd\xac\xd6\xbd\x19\x1f\x15\xa5\x1b\x8f\x3c\xb2\x3b\x6c\x26\x2b\xf7\x64\x9b\x08\x20\xe7\xc8\x23\xbb\x43\x73\xba\x86\x94\xb0\x22\x81\xec\x8e\x5c\xd3\x15\x00\xed\xc1\x20\xa3\x2c\x00\x49\x50\x7c\xbd\xfc\x64\x78\x31\x8f\x43\x8c\xc9\x26\xf5\xb2\x64\xbe\x8d\x6f\x9d\x5b\xa7\x3b\xa2\x74\x7a\x57\x9f\x6f\xe3\xfb\xe8\x78\x6b\x38\x01\xdd\x47\x50\x25\xbf\xa6\x18\xfb\x39\x32\xc7\xa6\x3a\xbb\x74\xd3\x8f\x11\xce\xaf\xc5\x04\x92\xc7\x48\xe0\x22\x21\xef\xe1\x5d\x27\xc3\x4b\x48\x3c\x40\x98\x6f\xc3\xe3\xa8\x27\x39\x68\x71\xda\x5c\x21\x5f\x4c\x18\x18\x5f\xfd\x1d\x2f\x03\x6a\xf2\x96\x67\x8e\x84\x31\xf2\xb0\x2f\x47\x8e\xd8\xe9\x94\x3e\x7d\xcc\x91\x1c\xe6\x8c\xec\x78\x79\x91\x09\x95\x83\xbc\x30\x5d\xb6\xfa\x3c\x08\x54\x2b\xcf\x54\x34\x26\x47\x4e\xd8\x0c\xb8\xb0\x11\xdd\x85\xf7\x55\x5c\xd6\xa5\xd8\xdc\x39\xb2\xc3\xae\xf2\x2c\x07\xd3\xc5\x33\xd2\x49\xde\x85\x9b\xe0\x15\x37\x74\xf3\x02\x8b\xdb\xd0\xcf\xae\xe6\xbb\x10\xf6\x37\x50\x91\x64\xae\x1c\x79\x61\xba\xa3\xdf\x0e\xcc\x91\x10\x36\x4a\x56\x0b\x6e\x30\xb8\x4a\x1b\x5a\xe3\x23\x35\xcc\x5d\x66\xae\x34\x28\xb8\x48\x4b\x5f\x2e\xc8\x91\x24\x36\xa4\x71\x52\x22\x91\x21\xb6\x7d\x79\xe9\xe8\x4e\x20\x91\xa3\xe1\x5f\xe9\x8f\x20\x47\x2c\xf0\xf6\x47\x46\x03\xf9\x35\x64\x8a\x05\xe8\xc4\x84\xa6\xb1\x8f\xd7\x01\xa6\xc7\xd0\x68\xec\xfa\x01\x3b\xb1\x9d\x69\xec\x06\x07\xbd\xec\x2d\xcd\xcd\xc8\xef\x4f\x3e\x75\x83\xdf\x4b\x42\x76\x77\x88\x95\x27\x7a\xe1\x21\x47\x6c\x00\xd1\x8d\x09\x5b\x09\xd2\xde\x22\x2d\xcc\x5f\xf4\xa5\xcf\x5e\xf2\x3d\x7f\x44\x25\x3e\x56\x04\x6d\xff\xf5\x2b\x09\x08\x6f\x5e\x36\x40\xd7\x80\x26\x54\x71\x71\xce\x9c\x24\x57\xc6\x9d\x1f\xd6\x3a\x29\x12\x2a\xe9\x30\xa3\x51\x64\x5c\x49\xf2\xcc\x2b\x47\x92\x18\x94\xe4\x71\x7f\x1e\x9e\x6f\xba\xbf\x02\x93\xda\x2b\x22\x5b\x4c\xe8\x52\x42\x47\xb7\xfd\x10\xfc\xaf\x92\x5c\x0d\x48\x0d\xab\x46\x3e\xed\xf4\x8b\x34\x24\x2e\x3c\xd3\x4d\xfa\x2a\x48\x0e\xeb\x8c\x2e\x7b\xe1\xb2\xba\x27\x9f\x1e\xcb\x91\x25\xd6\xc8\xf7\xd4\xf9\x72\x8e\x5c\x31\x2b\x8c\x2c\x68\x04\x52\xfb\xf9\xe0\x54\xa6\x75\xfc\xa1\xf8\x88\xa3\x25\xe9\x10\xbd\x5d\xb9\x54\x61\xf9\x01\x96\xa8\x2f\x9c\xae\xf8\xf7\xcc\x0a\xf2\xfd\xdf\xfc\xf8\xf2\x01\x67\x13\xa6\x00\xb9\x60\x35\xb7\x35\xfd\x9a\x70\x8e\x34\xb0\x42\xf5\xe0\xb4\xa6\xe3\x74\xc8\x02\x0b\xa0\x8c\x9c\xd1\xf0\x82\x13\x18\x01\xf4\x64\x22\xe1\xeb\x24\x9d\xe2\x74\x25\x78\x7c\xd7\x15\x70\x4a\x5d\xf6\xcc\x91\xe6\x75\xed\x2a\x6d\x1a\x72\x75\x45\x44\x2f\x49\x9b\x1e\xe4\x77\x79\xc6\x15\x57\x19\x17\x22\x11\x2e\x40\x9a\xd7\x9d\x2e\x97\x5a\x62\x48\xf7\x7a\x78\x2f\x93\x9e\x74\xa4\x73\x15\x4a\xd2\xde\x29\xb2\xb5\xa6\xc3\xfb\x12\xa6\x8b\x6f\x09\x53\x87\xcc\x2d\xff\x46\xf5\x90\x65\xb4\x4a\xbe\xa8\x95\x87\x77\x9c\x0c\x97\x8a\x16\x5f\x24\x72\x71\x6b\xa5\x1d\x7d\x2c\x35\x38\x64\xed\xc8\x06\xbf\x59\x07\xf4\xe0\x23\xad\x8b\x5b\x35\x59\xf6\xce\x80\x7b\x78\x05\x91\x8f\x8c\x79\xde\x4e\x8f\x94\x21\x9f\x89\x82\xcf\xab\xc6\x87\x25\x80\x57\xed\x7d\xb6\xbc\x27\x3d\xf8\xbb\xd5\x18\xf9\x7b\xf8\x5a\x49\x3f\x05\x99\x23\x57\xec\xa4\x24\x79\x97\x34\x47\x9e\xd8\x08\xc8\xe8\x26\xa1\x2f\x25\x4f\x8f\x4f\x3d\xce\xfa\x46\x96\x0d\x14\xea\x6b\x96\x76\x62\x90\x39\x76\x91\xbc\xa4\xcd\x12\x3f\xc6\x88\x05\x2f\x12\x09\x64\xb6\xe5\x5d\x74\x42\x3e\xc7\x14\x73\x4c\x76\x4a\x1d\x36\x20\x97\x2c\x20\x17\x3e\x8c\xf7\x2e\x03\x4f\x8e\x44\x85\xe7\xa3\x8c\x75\x59\xfc\x78\xd0\x0c\x86\xfc\xb2\x9b\xe6\x74\xc3\x90\x5f\xe6\x6a\x68\x40\x5a\x5a\xba\xc3\xf3\x51\xd1\x53\x39\x33\x55\xfe\xf4\x98\xbb\x14\x25\x44\x46\x5a\x35\x63\x75\x8c\xbf\xdd\xb1\x60\x26\x8b\x68\x6b\x69\x6b\x7e\x4e\x68\x0a\x64\xa8\xdd\x7f\x7d\x83\x66\xc8\xe4\xc8\x54\x9b\x01\x13\x75\xa2\xec\xc9\x96\xbe\x48\x9d\x07\xae\x5a\x59\x1a\xb0\x36\xf5\xa8\x7c\x8e\xf4\xb4\x18\x97\xf8\xa6\x17\xbf\x8b\x78\x60\xae\x62\xd1\xc4\xf1\x6f\x8e\x94\xb5\xb1\xe0\x7c\x03\x1d\x17\x4d\x7c\x55\x44\xe1\xd2\xb4\xb1\x46\x36\x5b\x04\x4b\xd4\x17\x3f\x86\x42\x22\x90\xce\x26\xcb\xac\xe0\x09\xc7\x0d\xc9\x6c\xa5\x19\x0d\x50\xe6\x7f\x38\x32\xee\x9a\x2c\x93\x03\x82\x1c\xb7\x87\xd2\xf3\xa1\xf1\xe5\x13\x6d\x5c\xa3\xa9\xd2\xb4\x85\x0c\x8c\x37\x03\x9e\xd7\x25\x78\x43\x7a\xe9\xc8\x60\x1b\xf6\x62\x89\x9b\x38\xb9\x08\x4f\x79\x82\x69\xa6\xe7\x7f\xe6\xe1\xd2\x28\x23\x91\x9c\x0c\x9b\x8a\xfd\xc7\xba\xd7\xa9\x4a\xfe\x7d\xf8\x54\x1c\x3e\x56\x97\xa7\xaa\x4b\x45\xa6\xc4\xf1\x63\x25\x2c\x55\xc9\x42\x38\x55\xf0\x8f\xf5\xbc\xa4\xea\x49\x86\x55\xc3\xc3\x68\xb5\xbe\x26\xbe\x83\xce\x08\x77\xb5\xeb\x67\x3c\x53\xcb\xb6\xf1\x9f\x45\xe2\x40\x17\x19\x70\x9d\x2e\x45\x42\x2f\x23\xf5\x6d\xba\xe5\x93\x35\xfc\x5d\x36\xf2\x2b\xb9\x3c\x90\xe0\x86\x50\xd9\xa6\xa1\x6c\x06\x35\x60\x9d\xa6\xad\x50\x19\x9e\xfe\x1f\x76\xd2\x06\x84\x8b\x9f\x5f\x7e\x8a\x2a\x89\x7f\x86\x67\x5e\xc5\x9a\xac\x62\xbe\xf0\xe2\x4a\xe8\xd5\x87\x7c\xb7\x82\xb7\x65\x6a\x59\x21\xd5\xed\x64\x38\x79\x6c\x86\x64\x37\x70\xf4\x21\x34\x12\xdb\x64\x53\x92\xde\x36\x32\xd8\x0c\xbf\x80\xa2\xe3\x00\xc8\x54\x03\x30\xa9\x39\x45\xa6\xda\xf8\x06\x82\x48\x9c\x04\x97\xc1\xa7\xd0\xd7\x4a\x25\xed\x5c\x78\x59\xad\xef\xc0\x8c\x8c\x5c\x72\x81\x22\x5d\xed\xda\x2d\xc5\x8b\x90\xb1\xd6\x00\x38\x3a\x9a\x3f\xd2\xd5\xac\xc9\x74\xab\x6e\xc4\x4f\x79\xf9\xdf\xf0\xea\xde\xf1\x17\xc3\x86\x7f\xe2\x4f\x6c\xe2\x4f\x88\xbe\x66\x43\x6a\xb8\xa8\x58\xcb\xb2\x84\xf6\x6d\x7c\x82\x71\x10\x8e\x4f\x2f\x4f\x2b\xff\xdf\xcf\xf8\x2b\x9c\x2f\xe1\xa3\x59\xa5\x45\x6f\xc7\xe7\x05\xb9\x18\x1c\xec\x27\x22\x67\xfc\xd7\xbd\x79\xd6\x71\x27\x85\x6f\xdc\xf8\x53\xaf\xbe\x75\xe3\xbf\x7d\xa3\x5e\xee\x2d\x1a\xfc\xca\x42\xc1\xd4\xa4\x01\xf3\xfd\x0f\xff\x11\x00\x00\xff\xff\xdc\x38\xf5\x02\x18\x79\x00\x00"), + }, + "/static/lib/font-awesome-4.7.0/fonts": &vfsgen۰DirInfo{ + name: "fonts", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + }, + "/static/lib/font-awesome-4.7.0/fonts/FontAwesome.otf": &vfsgen۰CompressedFileInfo{ + name: "FontAwesome.otf", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + uncompressedSize: 134808, + + compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\xfa\x79\x7c\x93\xc5\xfa\x07\x0c\xcf\x34\xc9\x9d\x74\x26\x4b\x97\xa4\xd2\x26\x77\x02\xc8\xa2\xb2\xb5\xd9\xda\x0a\x28\x50\x16\x05\x41\xc4\x88\x2c\xc2\x4d\xda\xa6\x4d\x68\x9a\x84\x24\x5d\xa1\x74\x87\x42\xa0\xd0\x36\xa5\x94\x52\x5a\xa0\x2a\x9b\x2c\x82\xe0\x7a\xac\xc7\xa3\x22\xb8\x13\x3d\x8a\xfb\xf6\x73\x45\x3d\x1e\x74\xd2\x4c\x8a\xef\xe7\x4e\xc0\xa3\xef\xf3\xc7\xfb\x7e\x1e\x42\x73\x5d\x33\x99\xb9\xbe\x33\xd7\x5c\xdb\xe4\xce\xbd\x16\xcb\xbd\x00\x81\x3a\x20\x00\x23\xf3\xe6\xce\x1d\x99\xeb\xfb\x2a\x1b\x00\x70\x0c\xc0\xc8\x73\x73\x16\xcf\x5c\x02\x58\x70\x0b\x80\xd4\x09\x00\xc8\xbc\xf7\xfe\x29\xfa\x16\x7d\xf5\x6a\x00\xe9\x5e\x00\xc0\x9a\x82\x52\xab\x07\xbe\x72\xc0\x02\x20\x8d\x02\x20\xd0\xd8\x6d\xd6\x42\xf1\x9e\x9f\x8f\x01\xf8\xc7\x08\x00\x80\xd9\x6e\xb7\x59\x15\x02\x74\x06\xc0\x3f\x16\x03\x00\xc6\xd8\x4b\xfd\x95\xf3\x27\xdc\x74\x1e\xc0\x3f\xfc\x00\xa0\xef\x4b\xad\x95\x9e\x84\x17\x16\x03\x90\x80\xd6\x00\x00\x18\x97\xb5\xd4\x76\x47\xd2\x98\x9b\x41\x02\xb2\x03\x20\x94\x79\xdc\x3e\x3f\x10\x00\x00\x12\xe4\x95\x00\x80\x91\x10\x08\x05\x00\x42\x28\x9d\xeb\x76\xf9\x67\x56\xd8\x7c\xee\x52\x1b\xdf\xce\x0b\x27\x81\xc8\x9b\x30\xf2\x56\x42\xe4\x2d\x41\x38\x5d\x18\x90\x0a\x02\x52\xe1\x56\xda\xa9\x49\x84\x1a\x06\x8a\xb4\xfd\xe0\x81\x3a\xf3\x1f\x81\xc0\x9f\x8c\x54\xac\xd1\x9f\x53\x68\xf4\x9f\x26\x1f\x67\x01\xfc\x4c\x96\x92\x70\x36\x01\x40\xc0\x00\x0c\x92\x41\x3a\xd0\x82\xd1\x60\x22\xc8\x04\x46\x30\x0d\xdc\x01\xe6\x80\x79\x60\x21\xb0\x80\x87\x00\x07\x6c\xc0\x0e\x4a\xc1\x3a\x50\x05\x6a\x40\x3d\xd8\x0e\x3a\x41\x0f\xe8\x07\x47\xc1\x29\xf0\x24\x18\x04\xff\x02\xe7\xc1\x3b\xe0\x23\xf0\x0d\xf8\x05\xfc\x0e\x86\x21\x80\x42\x28\x81\x49\x50\x05\xd5\x50\x07\x6f\x86\xb7\x42\x23\xbc\x03\xde\x05\x2d\x90\x83\x4e\xe8\x81\xeb\xe1\x66\xd8\x09\xf7\xc2\x03\xf0\x18\x7c\x1c\x9e\x85\x4f\xc3\xe7\xe1\xbf\xe0\x79\xf8\x2e\xfc\x02\x7e\x0f\x7f\x82\xff\x85\x04\x5e\x4b\x40\x09\x69\x09\xea\x84\xf1\x09\xc6\x84\xe9\x09\xf3\x12\x96\x24\x2c\x4f\x28\x4a\x70\x27\x54\x25\x6c\x4a\xd8\x91\xd0\x9d\x70\x30\xe1\x78\xc2\xd9\x84\xc1\x84\x57\x13\x42\x09\x9f\x25\xfc\x92\x70\x35\x21\x9c\x10\x15\x08\x05\x32\x41\xba\x40\x2b\x18\x27\x98\x28\x30\x08\x72\x05\x79\x82\x7b\x05\x4b\x05\x05\x02\xb7\xa0\x5a\xb0\x45\xb0\x47\x70\x50\x70\x42\xf0\xac\xe0\xbc\xe0\xa2\xe0\x4d\xc1\xbf\x05\x5f\x09\xfe\x2b\x88\x0a\xc5\x42\xb9\x50\x2d\x1c\x2d\x9c\x22\x34\x09\xa7\x0a\xe7\x0a\x17\x0b\x1f\x10\xae\x10\xda\x84\x3e\x61\x8d\xb0\x49\xb8\x4d\xd8\x2e\xdc\x2d\x3c\x28\x7c\x44\x78\x58\x78\x4a\xf8\x84\x70\x50\x78\x41\x78\x49\x78\x59\xf8\xa5\xf0\xaa\x88\x11\xa9\x44\xe3\x44\x13\x44\x59\x22\xb3\x68\x9a\x68\x8e\xe8\x5e\xd1\x83\x22\x4e\x64\x17\x95\x8a\xd6\x89\xca\x45\x1b\x44\xb5\xa2\x46\xd1\x76\x51\x9b\xa8\x47\x74\x40\x34\x20\x7a\x44\x74\x5a\xf4\xac\xe8\x05\xd1\xcb\xa2\x8b\xa2\x90\xe8\x0b\xd1\xaf\xa2\x61\x26\x81\x91\x32\x4a\x46\xcb\xdc\xca\x64\x32\x46\x66\x3a\x33\x9b\x59\xcc\x2c\x63\x1e\x62\xac\xcc\x5a\xa6\x8c\xa9\x67\x9a\x99\x6d\x4c\x90\xe9\x66\x0e\x32\x47\x99\xa7\x98\x97\x98\xd7\x98\x7f\x33\x9f\x32\xdf\x30\x57\x98\xff\x30\xd7\xc4\x8c\x58\x2e\xbe\x49\xcc\x8a\x6f\x11\x4f\x14\xeb\xc5\x66\xf1\x3c\xf1\x72\xb1\x5d\x5c\x25\x6e\x14\xb7\x8a\x77\x89\xfb\xc5\x8f\x8a\x1f\x13\x9f\x16\x3f\x2f\xbe\x28\x7e\x57\xfc\x99\xf8\x1b\xf1\x15\xf1\xaf\xe2\xa8\x44\x2a\x51\x4b\xc6\x4a\xb2\x24\x66\xc9\x54\xc9\x1d\x92\x39\x92\x85\x92\x07\x24\x05\x92\x12\x89\x5b\x52\x29\xd9\x2c\xe9\x94\x74\x4b\x0e\x48\x0e\x49\x8e\x49\xce\x49\xfe\x29\xb9\x28\x79\x53\xf2\xa1\xe4\x6b\xc9\x7f\x25\x43\x89\xe2\xc4\x11\x89\xda\xc4\x31\x89\xa6\xc4\x79\x89\x4b\x13\x8b\x13\x9d\x89\x9e\xc4\xf2\xc4\xba\xc4\x96\xc4\x9e\xc4\x63\x89\x27\x13\x9f\x4a\x7c\x3e\xf1\xf5\xc4\xf7\x13\x3f\x4b\xfc\x3e\xf1\x6a\xe2\x30\x82\x08\xa3\x14\x94\x81\xc6\xa1\xdb\xd0\x24\x94\x89\x0c\xc8\x8c\x72\xd1\x34\x74\x27\x9a\x85\xe6\xa2\x7b\x11\x87\x0a\x50\x19\x0a\xa0\xdd\xe8\x30\x7a\x0c\x9d\x42\xcf\xa1\x7f\xa1\xf3\xe8\x6d\xf4\x31\xfa\x0a\xfd\x07\x45\x30\xc0\x02\x2c\xc6\x2a\xac\xc6\xe3\xb0\x09\xcf\xc2\xf7\x61\x2b\x2e\xc2\xa5\xd8\x8f\xab\x70\x1d\x6e\xc6\x3b\x70\x27\xee\xc1\x7d\xf8\x61\x7c\x08\x1f\xc3\xa7\xf1\x59\xfc\x24\x7e\x0e\xbf\x88\x5f\xc1\xef\xe2\x0f\xf0\x4f\xf8\x57\x29\x90\x0a\xa5\x49\x52\xa5\x74\x94\x74\xac\xf4\x56\xe9\x24\x69\x96\xd4\x24\xcd\x95\x4e\x97\xce\x94\xde\x25\xbd\x47\xba\x58\x6a\x91\x2e\x93\x3e\x24\x5d\x23\x2d\x94\xda\xa5\x4e\xa9\x47\xea\x97\x56\x4a\x37\x48\xeb\xa4\x9b\xa5\x01\xe9\x0e\x69\x87\xb4\x4b\xda\x23\xed\x93\x1e\x94\x3e\x2a\x3d\x2a\x3d\x21\x3d\x2d\x3d\x27\x7d\x46\xfa\xbc\xf4\x65\xe9\xeb\xd2\xb7\xa5\xef\x4a\x3f\x90\x7e\x2c\xfd\x5c\xfa\xb5\xf4\x3b\xe9\x15\xe9\x7f\xa4\xbf\x49\x87\xa4\xc3\x32\x28\x93\xc8\x14\xb2\x34\x59\x86\x4c\x2b\x1b\x2b\x9b\x28\x33\xc8\xb2\x65\x53\x65\x77\xca\xf2\x64\xf3\x64\x0b\x64\xf7\xca\x96\xca\x56\xc8\x56\xcb\xf2\x65\x45\xb2\xb5\x32\x97\xcc\x2b\x2b\x97\x55\xcb\x36\xca\x1a\x64\x9b\x64\x5b\x65\xad\xb2\x4e\x59\xb7\xac\x57\xb6\x5f\xf6\xb0\xec\xb0\xec\x31\xd9\x29\xd9\x13\xb2\xa7\x64\xcf\xc9\x5e\x90\xbd\x24\x7b\x55\xf6\xba\xec\x6d\xd9\xbb\xb2\x0f\x64\x1f\xcb\x3e\x97\x7d\x2d\xfb\x4e\x76\x45\xf6\x1f\xd9\x6f\xb2\x21\xd9\xb0\x1c\xca\x45\xf2\x44\xb9\x4c\x9e\x2c\x57\xc9\xd3\xe5\xac\x7c\x94\x7c\xac\xfc\x56\xf9\x24\x79\x96\xdc\x24\xcf\x95\x4f\x97\xcf\x94\xcf\x91\xcf\x97\x2f\x92\x2f\x91\x2f\x95\xaf\x90\xaf\x96\xe7\xcb\x8b\xe4\x6b\xe5\x2e\xb9\x57\x5e\x2e\xaf\x96\x6f\x94\x37\xc8\x37\xc9\xb7\xca\x5b\xe5\xed\xf2\x5d\xf2\x3d\xf2\x7d\xf2\x03\xf2\x47\xe4\x47\xe4\xc7\xe5\x8f\xcb\xcf\xca\x9f\x96\xff\x43\xfe\x4f\xf9\xcb\xf2\x0b\xf2\x37\xe4\xef\xc8\xdf\x93\x5f\x96\x7f\x22\xff\x42\xfe\x7f\xf2\xef\xe5\x3f\xc9\x7f\x95\xff\x2e\x8f\xc8\xaf\x29\x12\x14\x8c\x02\x29\xe4\x8a\x14\x45\x9a\x22\x43\xa1\x55\x8c\x56\x8c\x53\xdc\xa6\x98\xac\xd0\x2b\xcc\x8a\xdb\x15\x77\x28\x66\x29\xe6\x2a\xe6\x2b\x16\x29\x96\x28\x96\x2a\x56\x28\x56\x2b\xf2\x15\x45\x8a\xb5\x0a\x97\xc2\xab\x28\x57\x54\x2b\x36\x2a\x1a\x14\x9b\x14\x5b\x15\xad\x8a\x76\xc5\x2e\xc5\x1e\xc5\x3e\xc5\x01\xc5\x23\x8a\x23\x8a\xe3\x8a\x27\x14\xcf\x2a\x06\x15\xff\x52\x9c\x57\xbc\xa9\x78\x4f\x71\x59\xf1\x89\xe2\x0b\xc5\xff\x29\xbe\x57\xfc\xa4\xf8\x55\xf1\xbb\x22\xa2\xb8\x96\x94\x90\xc4\x24\xa1\x24\x79\x52\x4a\x52\x5a\x52\x46\x92\x36\x69\x74\xd2\xb8\xa4\xdb\x92\x26\x27\xe9\x93\x72\x93\x66\x24\xcd\x4b\x5a\x94\xf4\x40\xd2\x43\x49\x05\x49\x6b\x93\xd6\x25\x55\x26\xd5\x26\x6d\x4a\xda\x9e\x14\x4c\xea\x49\x3a\x90\x74\x38\xe9\x64\xd2\xb9\xa4\x7f\x24\xbd\x94\xf4\x5a\xd2\xa5\xa4\xcb\x49\x9f\x27\x7d\x9b\xf4\x73\xd2\xef\x49\xc3\xc9\xc2\x64\x9c\x9c\x92\x9c\x9e\x3c\x32\x79\x7c\xf2\xe4\x64\x53\xf2\xb4\xe4\xbc\xe4\xf9\xc9\xf7\x25\x2f\x4b\xe6\x92\x8b\x92\x4b\x93\xfd\xc9\xeb\x93\x1b\x92\xb7\x24\xef\x4c\xee\x4a\xde\x97\xfc\x70\xf2\xb1\xe4\xd3\xc9\x4f\x27\xbf\x90\x7c\x3e\xf9\xcd\xe4\xf7\x92\x3f\x4e\xfe\x2a\xf9\x87\xe4\x5f\x93\x87\x52\x40\x8a\x38\x45\x9e\x92\x92\x92\x9e\x32\x32\x65\x7c\xca\xe4\x14\x53\xca\xb4\x94\x92\x94\xf2\x62\xa7\xd5\xe7\x2b\x2d\xf3\x39\x0a\x7c\x36\xab\xb7\xc0\x6e\x73\x95\xdb\x9c\x6e\x8f\xcd\x6e\xb3\x7a\xfd\x3e\xbf\xd5\xcb\xff\x71\xb6\x52\x8f\xbf\xaa\xcc\x67\xf3\x16\x39\x9c\xa5\x7e\x3b\xe7\xb4\x7a\x8b\x6d\x7e\x3b\xcf\x39\x7c\x7e\x77\x89\xd7\x56\xea\x2e\xb7\x55\xbb\xdd\xa5\x9c\xc3\x15\x23\xee\x32\xbf\xbb\xa8\xc8\xe7\x28\x76\x59\x9d\x05\xee\x62\xbf\xd7\xea\xb3\xdb\xdd\xa5\xb6\x22\x87\xd3\xc6\x59\x9d\x7e\xbf\xa3\xd4\xe6\x75\x5b\x0b\x0b\xdd\x15\x2e\xa7\xdb\x5a\xc8\xf7\xdd\xe0\xcb\x3c\xfc\xbb\xc3\x95\xef\xae\xf4\x38\xad\x55\x5c\x81\xc3\x5b\xe0\xb4\x79\x6d\x1e\x9b\xd5\xef\xb5\x15\x79\x6d\x3e\x3b\x0f\xcb\x4f\x71\xba\x0b\x4a\x8a\x9c\xd6\x62\x3e\xe5\x79\xec\x6e\x97\xcd\x57\xee\x76\x96\x95\xda\x38\x77\x51\xd1\x75\x8e\x97\x7a\x9d\x2d\xf3\xac\xf3\x16\xb8\x0b\x6d\xf9\xd6\x18\xf1\x5b\x8b\xfd\xd6\x62\x5f\xbe\xdb\x5d\xc2\xff\x95\x5a\xbd\x25\x1e\xaf\xc3\xe5\x2f\xb0\x96\xda\xbc\xd6\x22\xb7\xcb\x9f\xef\x76\x16\x3a\xfc\x56\xa7\xa3\xc0\x6f\xab\xf4\x73\x76\x9b\xa3\xd8\xee\x8f\xb1\x15\x8e\x42\xbf\xdd\xea\x74\x14\xbb\x38\xa7\xad\xc8\x1f\xe7\x0a\x6c\x2e\xbf\xcd\x1b\xe7\xbd\xfc\xd0\x38\xbb\xb6\xcc\xe7\x77\x14\x55\xf1\x6b\x76\xb8\x0a\x6d\x2e\x7f\x6c\xca\x75\x36\x36\xae\xc8\x5a\x60\xe3\x35\xc2\x95\x3b\x0a\x6d\x6e\x8f\xa3\xc0\x5f\xc6\x6f\xd7\x55\xe0\x70\x96\x5a\x3d\x1c\xbf\x32\x9b\xd7\x5a\xc8\x0b\xf2\x3b\x5c\x7e\x5b\xa1\xc3\xef\xb3\x5b\xbd\xb6\x02\xbb\xad\xa0\x84\x57\xbd\xcf\x6f\xf3\x70\xf9\xd6\x82\x92\x0a\xab\xb7\xb0\xc8\xea\xf3\xff\xd9\xb8\x41\x79\x4d\x7a\xac\x65\x3e\x9b\xcf\xef\xf6\x14\xb9\xbd\x7f\x0e\xbc\xce\xc7\x24\x5c\xe7\x6d\x6b\x6d\x05\xfe\x02\xbb\xad\xdc\xeb\x8e\x6f\xef\x06\x1f\x5b\xac\xc7\x59\xe6\xe3\xf8\x93\x2d\x75\xb8\xae\x73\xf1\xf3\x8f\xb1\xee\x92\x18\x59\x57\x66\xf3\xf9\x1d\x6e\x57\xac\xe1\x70\x15\xb9\x63\x8c\xaf\xc0\x6b\xb3\xb9\x7c\x76\xb7\xff\xfa\x8c\xf8\xd1\xba\x4b\xae\x33\xf9\x56\xd7\x75\xce\xea\xf5\xba\x2b\xe2\xaa\x8d\x71\x71\x75\xc6\xd8\x32\x4f\x9c\xf2\x07\x1b\xd3\x02\x6f\x08\x5e\x9b\xcf\x51\x6d\xe3\x8a\xca\x9c\xce\xeb\xac\xaf\xd4\xea\x74\xda\x2a\x0b\x9c\xd6\x52\xeb\x9f\x2b\x29\x76\x14\xf9\x9d\x36\x6b\x51\x91\xc3\x6b\xb3\x55\xd9\x38\xb7\xc7\xe6\xe2\x69\x81\xd3\xed\xb3\x55\x58\xbd\x2e\x87\xab\x38\x36\xd0\xe3\xb4\xba\x6c\x05\x56\xa7\xcd\x55\x68\xf5\x7a\xad\xae\x42\x77\x69\x81\xbb\xb4\xd4\xe6\xf2\x97\x5a\x8b\x5d\xb6\x3f\x35\x52\xe6\xb9\xc1\xf1\xcb\xf1\xda\xfc\x15\x36\x9b\xdf\x67\x77\x7b\x3c\xbc\xa4\x02\xab\xd7\x5f\xe4\x76\x16\xda\xbc\x71\x84\xeb\x3c\x8f\x7a\x7d\x95\xe5\x36\xaf\xdf\x51\x60\xbd\xb1\x68\xbb\xdb\xeb\xa8\x76\xbb\xfc\x56\x67\xbe\xd5\xcb\x15\xd8\xad\x5e\xbf\xbf\xc2\xe1\xf7\xdb\xbc\xb1\x55\xf1\x76\xc2\x9b\x6a\xac\x11\x37\x53\xce\x6b\xf3\x7b\xdd\x25\xb6\xaa\x02\x77\xb1\xef\xfa\x12\x7d\x7e\x7b\x59\x69\xbe\x8f\x2b\xf3\xc4\x5c\x2d\xde\xe0\xd7\xc7\x37\x63\x0e\x6d\xb7\x3a\x8b\x62\x2e\x1e\x77\xed\xd8\xc1\x95\xf9\x9d\x0e\x57\x89\xad\xd0\x11\x57\x95\xa7\xcc\x67\xf7\x38\x5c\xb6\x4a\xbf\xcd\xeb\xb2\x3a\x39\xfe\xc3\xf8\x61\xfa\xbd\x6e\x8f\xbd\xaa\xd8\xe1\xb7\x97\xe5\xc7\x86\xc6\x1d\x36\xe6\x8f\xb6\x52\xb7\x2b\xe6\x88\x31\xd3\x8c\x4b\xbf\xe1\x5c\xf1\x56\xec\xd3\xd8\xb4\xeb\x3b\xbb\xb1\xa9\xb8\xc0\x32\x17\xef\xd3\x05\x5e\xde\xc6\x79\xfd\x15\x7a\x7d\x3e\x7b\x61\x61\x7e\x99\xd3\x69\x77\x7b\x5d\xf9\x36\xa7\xb3\x80\xd7\x59\x91\xa3\xc0\xea\xb7\xd9\xad\xae\xc2\xb8\x6d\xc4\x38\xde\x5e\x62\x4c\x99\x27\x46\xf8\x3d\xc7\xed\x89\xfb\x9f\x41\xfd\xad\x23\x36\xf7\x6f\x3d\x65\x9e\xbf\x35\x79\x11\xc5\x4e\x77\xbe\xad\xc2\x6b\x73\x15\xd8\xfd\x56\x5f\x89\xaf\xc8\xe1\xf4\xdb\xbc\xf9\x5e\x87\xad\xa8\xc0\xea\xb3\xf1\x46\x17\xb7\x6c\x97\xdb\x6f\x5b\x57\x66\x75\x3a\x5c\x45\x0e\x97\xc3\x5f\xe5\xb4\xf9\x7c\xb1\x8e\x62\xaf\xbb\xcc\xc3\x6b\xb0\xc0\xe9\x2e\x2b\xcc\xb7\x59\x4b\x6c\xde\x82\x32\x7f\x81\xdb\x53\xe5\xb1\x7a\x62\xe6\xe1\xf0\xf8\xac\xe5\x36\x5e\x2f\x5c\xbe\xd3\xea\x2a\xf1\xda\xdc\xde\x42\x9b\xb7\xcc\xe9\x76\xfa\xfc\x5e\x47\x89\xcd\x6f\xf7\xba\xcb\x8a\xed\x65\xae\x42\x9b\xd7\xe9\x70\xd9\xfc\xd6\x7c\xa7\xad\xd4\x5a\xec\x28\xf0\x7b\xcb\x0a\x4a\x3c\x7c\x60\xf0\xda\x7c\xfe\x3f\x99\xb8\xc5\xbb\xdd\xc5\x4e\x1b\xf7\xa7\xd3\xfe\xa5\x5d\xea\x76\xd9\xaa\x0a\xac\x5e\x9b\x3f\xae\xa8\x18\x57\xe6\x89\xd3\x98\xa6\x62\x5c\x5c\x45\x7c\x04\x75\xf9\x7c\x6e\xaf\x9f\xff\x8b\x3b\x1f\xcf\x94\x79\x6e\xa4\x8c\xd8\xf9\x5f\xb7\xa0\x32\x57\xa1\xdb\x69\x2b\xb6\x3a\x0b\xad\x3e\x7b\xbe\xdb\xea\x2d\xbc\x6e\x9a\xfc\xa0\x1b\x56\xca\xf3\xf9\x6e\xa7\xdf\xe7\xf0\xdb\x4a\xad\x9e\xb2\xd2\x7c\xaf\xcd\xe9\xb4\x7a\xac\x3e\xbf\xcd\xc9\x83\x72\xf9\x65\xce\x7c\x5b\x65\x81\xdd\xea\x2a\xb6\xc5\x34\xc7\xdd\xc8\x11\xf1\x56\xdc\xf0\xf8\xc4\xc4\x95\xf2\x11\xcc\x6f\x77\xfb\x0a\xdc\x1e\x9b\xaf\xcc\xe1\xe7\x4f\x86\xb7\x96\x38\x62\x51\x91\xcd\x56\xe4\x76\x17\xc6\xf2\x4f\x2c\x82\xf3\xe0\x65\x0e\x67\xa1\xc3\x55\x6c\x77\xfb\x3c\x7c\x98\xb7\x96\xe6\x97\x39\xad\xae\x02\x5b\xa9\xad\xb0\xc4\xe1\x2f\xe2\xd7\x60\xf3\x72\x6b\x6d\xfe\x7c\x9b\xcd\x6b\x8f\xbb\x60\x66\x91\xad\xd0\x5d\x96\xcf\x1b\x88\x8b\xd7\x24\xaf\xa8\xbf\x75\xc4\xf4\xf5\xb7\x9e\x32\xcf\xdf\x9a\xfc\x1e\xfe\x37\xf7\x2f\x93\x6e\x8c\xfe\xdf\xb0\x42\x9b\xaf\xc4\xef\xf6\x38\xad\x1e\xbf\xdb\x13\x3b\x70\x7f\xa9\x3b\x9f\xdf\x43\xdc\xc9\xe2\x96\x1a\xb3\x97\x75\x65\x6e\x7f\x5c\x62\x9c\x8b\x49\xf4\x79\x1c\x2e\x97\xcd\xfb\x67\x06\x75\xde\x70\x5b\xab\xf3\x6f\x81\xe9\x2f\x6d\x3e\x38\xf1\x4d\x5b\xa5\x87\x77\xa1\x98\xf6\xf8\x53\x89\x0f\xf2\x95\x3a\x9c\xb6\x22\xaf\xbb\xc2\x55\x6a\xb3\x17\x5b\x4b\x6d\x1e\x6b\x61\x89\xad\x2a\x76\xc4\x7c\x22\x8e\x09\xe2\x69\xcc\xff\x6d\x5e\x5b\xa1\xdf\xe6\x2d\x75\xc4\xaa\x80\xc2\xf8\x0a\x38\xab\xd3\xf9\x67\x10\x8a\xc7\x04\xa7\xbb\x20\x1e\xa3\x63\x3e\x57\xe0\x75\x7b\xf8\xd1\x7c\x3a\x2a\x29\x73\xf1\x36\xc5\xe9\xb3\x73\xff\x12\xcb\x7d\x65\x1e\x9b\xd7\x57\xe0\x75\x78\xfc\xbe\xb2\xfc\x38\xc3\xe9\x73\x0c\x9e\xb2\xea\x6a\x5e\x37\x0e\x5b\x81\xad\xd4\xc1\xcb\xe1\xb5\xf4\x3f\x8e\x2f\x0b\x7c\x76\x87\xcd\x59\x78\x23\xb4\xc7\xf1\xf9\x74\xc0\xd9\x2a\xfd\x0e\x57\x71\x99\xc3\x67\xb7\x79\xbd\xee\x82\x12\x9b\xbf\xd4\x5a\x59\x50\xe8\xba\x11\xe0\x7d\x37\x92\xfd\xdf\x3a\xe2\xde\xf1\xd7\x9e\xff\xa5\x84\x58\x93\x3f\x46\xbb\xbf\xd4\x69\x2a\xf0\xf9\x0c\x56\x57\x81\xdd\xed\x8d\xc7\xb8\xb8\x05\x3a\x9d\x3e\x5b\x95\xcd\xe6\xe4\xfd\xdf\xe1\xfb\x4b\x02\xf8\xb3\xeb\x46\x8a\xe0\x0c\x99\x86\x58\x3d\x14\x8b\x9d\x8e\xd8\x02\xff\xcc\xc0\xb1\x73\x8a\x85\xdc\x58\x9f\xd3\x56\x6e\x73\xf2\xee\x11\xa3\x31\xef\x8e\x7d\xc8\x0f\x8d\x45\xd6\xd8\x1c\x43\x96\x3e\x9e\x40\x63\xe9\xc4\x5d\xea\xb1\xfa\x7c\x37\x0e\xfb\xcf\x43\xf7\xbb\x3d\x9c\x21\x2b\xdb\x56\xe6\x2d\xce\xf7\x94\xf9\x0a\x1d\x2e\xef\x5a\x4f\x95\xb7\x2c\xbf\xc4\x5b\x91\xef\x2f\xe0\x1d\xea\x4f\xa7\x8a\x45\x84\x7c\xfe\x84\x3d\x76\x6b\xbe\xcd\xcf\x19\xf4\xb9\x7f\xf6\xf9\xfd\x5e\x47\x7e\x99\xdf\xe6\xfb\x7f\xf6\xc4\x2c\xeb\x7a\x6f\x2c\xea\xfd\xad\xc1\x7f\xca\x19\x0c\x46\xce\x60\x30\x55\xb9\xcb\xfc\x65\xf9\xf1\x15\x5f\xe7\x2b\x1d\xae\xe2\xca\x1b\x79\xfb\xc6\xe7\xbc\xa2\x0a\xbd\x6e\x4f\xbe\xbb\xd2\xe7\xb7\x16\x94\xdc\x88\x22\x0e\x97\xcf\x6f\x2d\xf6\x5a\x4b\x8b\x9c\x8e\x82\x12\xaf\xb5\xd0\x55\x94\x95\x9d\x95\xef\xf0\xe7\x97\xf1\x0a\x8d\xeb\xb6\xac\x34\xdf\xe9\x8d\xbf\xc7\x3a\x9c\x6e\x57\xf1\x5f\xd2\xc1\x5f\x9a\x7c\x00\xfa\xb3\xc1\xdb\xc6\x5f\x9a\x71\x97\xf6\x78\x9c\xb6\x0a\x87\xab\xd0\x5d\xe1\xb3\xba\x0a\xbd\x6e\x47\xa1\xd3\xe1\x2a\xab\x2c\xf4\x3a\xf2\xf3\x9d\x36\x5f\x49\x95\xc7\x56\xe4\x2e\xf3\xfa\xd6\x95\xf1\xc1\x96\x0f\x80\xee\x22\x5b\xa9\xd5\x19\xfb\x2b\x76\xf8\xfd\x0e\x8f\xaf\xcc\xc5\x19\xcc\x66\xbe\x3c\x77\x94\xdb\xf2\xcb\x8a\xcb\x4b\x2a\x6c\x8e\x7c\xb7\x97\xaf\x22\x5c\x9c\x21\x5b\x1f\xdb\x22\x77\x63\x8f\x9c\x21\xdb\x18\x5f\xc2\x8d\x4c\xe6\x8c\xc7\x73\xce\x90\x6d\x2e\x74\xfb\xff\xda\x6d\xc8\xce\x29\x77\x94\xda\xdc\x5c\x7c\x01\x9c\x21\x27\x33\x9e\x2a\xe2\x4d\x37\x67\xc8\xd1\x73\x86\x1c\x03\x67\xc8\x31\x72\x86\x1c\x13\x67\xc8\x31\x73\x86\x9c\x6c\xce\x90\x93\xc3\x19\x72\x72\xcb\x5c\x8e\xb9\x59\x33\x33\x8b\xb2\xac\x59\x9c\x21\x57\xcf\x19\x72\x0d\x45\x59\x56\x23\x67\xc8\x35\x71\x86\x5c\x33\x67\xc8\xcd\xe6\x0c\xb9\x39\x9c\x21\x37\x97\x33\x66\xf2\xe3\xf2\x39\x63\xa6\x9e\x33\x66\x1a\x38\x63\xa6\x31\x36\x7d\x56\x16\x67\xcc\x34\x73\xc6\xcc\x6c\xce\x98\x99\xc3\x19\x33\x73\x39\x63\x56\x26\x67\xcc\xca\xe2\x8c\x59\x7a\xce\x98\x65\xe0\x8c\x59\x46\xce\x98\x65\xe2\x8c\x59\x66\xce\x98\x95\xcd\x19\xb3\x72\x38\x63\x56\x1c\x3d\x2f\x33\x4e\xb2\x38\xa3\x5e\xcf\x19\xf5\x06\xce\xa8\x37\x72\x46\xbd\x89\x33\xea\xcd\x9c\x51\x9f\xcd\x19\xf5\x39\x9c\x51\x9f\xcb\x19\x0d\x99\x9c\xd1\x90\xc5\x19\x0d\x7a\xce\x68\x30\x70\x46\x43\x7c\x01\xb3\xe3\x12\x66\x67\xc5\x09\xff\x61\x0e\x67\x34\xc4\xc5\xcf\x36\xc5\x89\x39\x4e\xb2\x39\xa3\xd1\xc0\x19\x8d\x46\xce\x68\x34\x71\x46\xa3\x99\x33\x1a\xf9\xbe\x1c\xce\x68\x8c\x4f\x98\x93\xc9\x19\x4d\x59\x9c\xd1\xa4\xe7\x8c\x26\x03\x67\x34\x19\x39\xa3\xc9\xc4\x19\x4d\x66\xce\x68\xca\xe6\x8c\xa6\x1c\xce\x68\xca\xe5\x8c\xe6\x4c\xce\x68\xce\xe2\x8c\x66\x3d\x67\x34\x1b\x38\xa3\x39\xbe\x98\xb9\x7c\xb7\x99\x33\x9a\xb3\x8b\xb2\x8a\xf8\xee\x5c\xce\x98\x9d\xc9\x19\xb3\xb3\x38\x63\xb6\x9e\x33\x66\x1b\x38\x63\xb6\x91\x33\x66\x9b\x38\x63\xb6\xb9\x28\xab\xa8\x80\x33\x66\xe7\x70\xc6\xec\x5c\xce\x98\x93\xc9\x19\x73\xb2\x38\x63\x8e\x9e\x33\xe6\x18\x38\x63\x8e\x91\x33\xe6\x98\x38\x63\x8e\x99\x33\xe6\x64\x73\xc6\x9c\x1c\xce\x98\x93\xcb\x19\x73\x33\x39\x63\x6e\x16\x67\xcc\xd5\x73\xc6\x5c\x03\x67\xcc\x35\x16\xe9\x79\x8d\xe7\x9a\x8b\xf4\xbc\xc6\x73\x73\x38\x63\x6e\x2e\x67\xca\xcc\xe4\x4c\x99\x59\x9c\x29\x53\xcf\x99\x32\x0d\x9c\x29\xd3\xc8\x99\x32\x4d\x9c\x29\xd3\xcc\x99\x32\xb3\x39\x53\x66\x0e\x67\xca\xcc\x2d\xb7\xf1\x51\xc8\x94\x95\xc5\x99\xb2\xf4\x9c\x29\xcb\xc0\x99\xb2\x8c\x9c\x29\xcb\xc4\x99\xb2\xcc\x9c\x29\x2b\x9b\x33\x65\xe5\x70\xa6\xac\x5c\xce\xa4\xcf\xe4\x4c\xfa\x2c\xce\xa4\xd7\x73\x26\xbd\x81\x33\xe9\x8d\x9c\x49\x6f\xe2\x4c\x7a\x33\x67\xd2\x67\x73\x26\x7d\x0e\x67\xd2\xe7\x72\x26\x43\x26\x67\x32\x64\x71\x26\x83\x9e\x33\x19\x0c\x9c\xc9\x60\xe4\x4c\x06\x13\x67\x32\x98\x39\x93\x21\x9b\x33\x19\x72\x38\x93\x21\x97\x33\x19\x33\x39\x93\x31\x8b\x33\x19\xf5\x9c\xc9\x68\xe0\x4c\x46\x23\x67\x32\x9a\x38\x93\xd1\xcc\x99\x8c\xd9\x9c\xc9\x98\xc3\x99\x8c\xb9\x9c\xc9\x94\xc9\x99\x4c\x59\x9c\xc9\xa4\xe7\x4c\x26\x03\x67\x32\x19\x39\x93\xc9\xc4\x99\x4c\x66\xce\x64\xca\xe6\x4c\xa6\x1c\xce\x64\xca\xe5\x4c\xe6\x4c\xce\x64\xce\xe2\x4c\x66\x3d\x67\x32\x1b\x38\x93\xd9\xc8\x99\xcc\x26\xce\x64\x36\x73\x26\x73\x36\x67\x32\xe7\x70\x26\x73\x6e\x91\xde\x9c\x59\xa4\xe7\xc7\x65\xeb\x8b\xf4\xfc\xb8\x6c\x23\x67\xca\x36\x71\xa6\x6c\x33\x67\xca\xce\xe6\x4c\xd9\x39\x9c\x29\x3b\x97\x33\xe5\x64\x72\xa6\x9c\x2c\xce\x94\xa3\xe7\x4c\x39\x06\xce\x94\x63\xe4\x4c\x39\x26\xce\x94\x63\xe6\x4c\x39\xd9\x9c\x29\x27\x87\x33\xe5\xe4\x72\xa6\xdc\x4c\xce\x94\x9b\xc5\x99\x72\xf5\x9c\x29\xd7\xc0\x99\x72\x8d\x9c\x29\xd7\xc4\x99\x72\xcd\x9c\x29\x37\x9b\x33\xe5\xe6\x14\xe9\xb3\x6d\xbc\x7d\xe8\x73\x32\xe3\x24\x8b\x33\x67\xea\x39\x73\xa6\x81\x33\xc7\xfd\x48\x9f\x63\x8a\x13\x33\x67\xce\xcc\xe6\xcc\x99\x39\x9c\x39\x33\x97\x33\x67\x65\x72\xe6\xac\x2c\xce\x9c\xa5\xe7\xcc\x59\x06\xce\x9c\x65\xe4\xcc\x59\x26\xce\x9c\x65\xe6\xcc\x59\xd9\x9c\x39\x2b\x87\x33\x67\xe5\x72\x66\x7d\x26\x67\xd6\x67\x71\x66\xbd\x9e\x33\xeb\x0d\x9c\x59\x6f\xe4\xcc\x7a\x13\x67\xd6\x9b\x39\xb3\x3e\x9b\x33\xeb\x73\x38\xb3\x3e\x66\xe2\xfa\x99\xf1\x35\xcc\xcc\x8a\x13\x7d\x9c\x18\xe2\x24\xbe\x98\x99\xf1\xc5\xcc\x34\xc7\x49\x76\x9c\xe4\xc4\xc9\x75\x29\x33\xe3\x64\x56\x9c\xe4\xc5\xc9\xec\x38\x99\x13\x23\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xf1\x20\xa2\xcf\x8b\x03\xe5\xc5\x81\xf2\xe2\x40\x79\x71\xa0\xbc\x38\x50\x5e\x1c\x28\x2f\x0e\x94\x17\x07\xca\x8b\x03\xe5\xc5\x81\xf2\xe2\x40\x79\x71\xa0\xbc\x38\x50\x5e\x1c\x28\x1e\x6b\xf4\xf1\x58\xa3\x9f\x1d\x07\x9a\x1d\x07\x9a\x1d\x07\x8a\x47\x1c\x7d\x3c\xe2\xe8\x67\xc7\x81\x66\xc7\x81\x66\xc7\x81\x66\xc7\x81\x66\xc7\x81\x66\xc7\x81\x66\xc7\x81\x66\xc7\x81\xe6\xc4\x81\xe6\xc4\x81\xe6\xc4\x81\xe6\xc4\x81\xe6\xc4\x81\xe6\xc4\x81\xe6\xc4\x81\xe6\x64\x73\xe6\xdc\x38\xca\x9c\x38\xca\x9c\x38\xca\x9c\x38\xca\x9c\x38\xca\x9c\x38\xca\x9c\x39\x79\x6e\x4f\x55\x2c\xc7\x8d\x9c\x6d\x2d\xb7\x8d\x9c\x67\x75\x15\x56\x8d\xd4\x67\x66\x99\x27\x8f\x9c\xe9\x74\x8e\x8c\xd7\x9f\x23\xbd\x36\x9f\xcd\x5b\x6e\x2b\x9c\xfc\x97\x87\x05\xf0\x4a\x02\x80\x40\x0a\x56\x02\x0e\xb4\x82\x76\xd0\x05\x0e\x80\x47\xc0\x49\xf0\x31\x1c\x0d\x27\xc0\x29\xd0\x00\xb3\xe1\x54\x68\x81\xcb\x20\x07\x0b\xa1\x1d\xba\xe0\x76\xd8\x06\x3b\xe1\x29\x78\x0e\xbe\x0c\x5f\x87\x6f\xc3\x77\xe1\x47\xf0\x73\xf8\x0d\xfc\x0f\xfc\x0d\x46\x12\xb4\x09\x37\x27\x8c\x4f\x58\x9c\xe0\x4d\xa8\x4e\xa8\x4f\x38\x98\x70\x38\xe1\x6c\xc2\xab\x09\x6f\x26\x7c\x96\xf0\x55\xc2\xb7\x09\xbf\x24\x0c\x0b\x12\x04\x49\x82\xc9\x02\xbd\xc0\x2c\xb8\x5d\x30\x43\x30\x5b\x70\x97\x60\xa1\xa0\x5f\x70\x52\xf0\xac\xe0\x9f\x42\x2c\x4c\x17\x6a\x85\x63\x85\xb7\x09\x27\x0b\x8d\xc2\x1c\xe1\x0c\xe1\x1c\xe1\xa2\xd8\x77\xee\xab\x85\x35\xc2\xcd\xc2\x80\x70\xa7\xf0\x15\xe1\x4f\x42\x2a\x02\x22\xa1\x48\x22\x1a\x21\xd2\x88\xa6\x88\x0c\xa2\x9d\xa2\x2e\xd1\x7e\xd1\x71\xd1\x13\xa2\x67\x44\x83\xa2\x57\x44\xaf\x8b\xde\x16\xfd\x20\x22\x22\xca\x2c\x66\x1e\x64\x56\x33\x05\x4c\x31\xe3\x64\x6a\x99\x66\x66\x0b\x73\x9c\x39\xc7\x3c\xcb\x5c\x11\xe7\x88\xa7\x89\xe7\x8a\xe7\x8b\xbb\xc4\x7b\xc5\x07\xc5\x47\xc4\x8f\x8b\x9f\x14\x3f\x27\x7e\x41\xfc\x8a\xf8\x2d\xf1\xd7\xe2\x9f\xc5\x61\x89\x46\x92\x27\x79\x40\x62\x95\xac\x95\xb8\x25\xe5\x92\xf5\x92\x5a\x49\xb7\x64\x40\x72\x4c\x72\x46\xf2\xbc\xe4\x35\xc9\xa5\xc4\xc4\xc4\x19\x89\xf3\x13\x57\x24\x6e\x4d\xdc\x91\xd8\x97\x78\x38\xf1\x85\xc4\x97\x12\xdf\x4b\xfc\x2e\xf1\xbf\x89\x43\x89\x7f\x20\x09\x92\xc5\xbe\xdf\x9e\x8c\x6e\x47\x33\x91\x05\x95\x22\x2f\xaa\x41\x0d\xa8\x19\xed\x45\xc7\xd0\x13\xe8\x19\xf4\x25\xfa\x16\xfd\x88\xc5\x38\x15\x4f\xc5\xb3\xf0\x5c\x7c\x0f\xb6\xe0\x65\x98\xc3\x05\xd8\x81\x5d\xd8\x87\xab\x71\x3f\x7e\x18\x1f\xc3\x8f\xe3\xa7\xf0\x20\x7e\x1b\x5f\xc6\x5f\xe3\x2b\xb1\x6f\xad\x47\x4a\x27\x4b\x0d\xd2\x1c\xe9\x0c\xe9\x5c\xe9\x02\xe9\x62\xa9\x47\xba\x41\xda\x22\xdd\x2e\xed\x92\xee\x95\x3e\x22\x3d\x29\x7d\x4e\x7a\x51\xfa\x96\xf4\x43\xe9\xe7\xd2\xef\xa4\x3f\xc9\xc4\xb2\x71\xb2\x39\xb2\x42\x59\xa9\xac\x5a\xb6\x59\x16\x90\xb5\xcb\x1e\x96\x9d\x93\xbd\x28\x7b\x43\xf6\x6f\xd9\x47\xb2\xcf\x65\xff\x27\xfb\x49\xf6\x1f\xb9\x4c\xce\xca\xc7\xca\xb3\xe4\xd3\xe5\xb3\xe4\xf3\xe4\x8b\xe4\x0f\xc8\x57\xca\x6d\xf2\x5a\x79\xb7\xfc\xb4\xfc\x69\xf9\x0b\xf2\x97\xe4\xaf\xc9\xdf\x91\xbf\x2f\xff\x8f\x02\x29\x6e\x56\xdc\xaa\x98\xa4\xc8\x56\x4c\x57\xe4\x29\xe6\x2b\xee\x55\xac\x52\x94\x28\xbc\x8a\x3a\xc5\x66\x45\x87\x62\xaf\xe2\x61\xc5\x71\xc5\x69\xc5\x53\x8a\x7f\x28\x5e\x51\xbc\xa9\xf8\xb7\xe2\x43\xc5\xaf\x8a\xb0\x62\x38\x29\x35\xe9\xd6\xa4\xdb\x93\x16\x27\x3d\x90\x94\x9f\xe4\x4c\x5a\x97\x54\x9e\xb4\x21\xa9\x31\x69\x6b\xd2\xce\xa4\xce\xa4\xde\xa4\xc7\x93\xce\x26\x5d\x4c\xfa\x2c\xe9\xb7\x64\x90\x2c\x4f\x1e\x9d\x3c\x31\xd9\x94\x7c\x7b\xf2\xac\xe4\xf9\xc9\xf7\x26\x5b\x92\x8b\x93\xab\x93\xb7\x27\xf7\x24\xf7\x27\x3f\x92\xfc\x58\xf2\x13\xc9\xcf\x26\xbf\x90\x7c\x21\xf9\x8d\xe4\x4b\xc9\x97\x93\x3f\x49\xfe\x32\xf9\xb7\x14\x71\x4a\x7a\xca\x98\x14\x73\xca\x5d\x29\x2b\x52\x56\xa5\xd8\x53\x7c\x29\xeb\x53\xea\x53\x9a\x53\xb6\xa6\xf4\xa4\xf4\xa7\x9c\x4a\xf9\x67\xca\xa5\x94\x0f\x53\x7e\x4c\xf9\x4f\xca\x6f\x29\x91\x54\x94\x3a\x22\x75\x64\xea\xb8\xd4\x89\xa9\xe6\xd4\x19\xa9\xf3\x53\x2d\xa9\xcb\x52\xd7\xa4\xda\x53\x5d\xa9\xfe\xd4\x0d\xa9\x8d\xa9\x5b\x52\x5b\x53\x3b\x53\x7b\x52\xfb\x52\x1f\x4e\x3d\x92\x7a\x32\xf5\x4c\xea\x53\xa9\xff\x48\x7d\x3d\xf5\x83\xd4\x6f\x53\x49\xea\x35\xa5\x4c\xa9\x51\xde\xaa\xcc\x51\xce\x50\xde\xab\xbc\x5f\xb9\x4c\xf9\x90\x32\x5f\x69\x57\x7a\x94\x1b\x95\xcd\xca\x0e\x65\xaf\x72\x40\xf9\x98\xf2\x71\xe5\x33\xca\x17\x94\xaf\x28\x5f\x53\xbe\xad\x7c\x5f\xf9\x89\xf2\x4b\xe5\x77\xca\x9f\x94\x57\x55\x50\x25\x57\xa9\x55\xa3\x55\x53\x54\x46\xd5\x54\xd5\x9d\xaa\xb9\xaa\x7b\x54\xf7\xab\x1e\x54\x3d\xa4\xb2\xab\x4a\x55\x7e\x55\x9d\x6a\x9b\x6a\xb7\x6a\x40\x75\x5c\xf5\xa4\xea\x9f\xaa\x57\x54\x6f\xaa\xfe\xad\xfa\x54\xf5\x8d\xea\x27\xd5\x55\x55\x58\x75\x2d\x4d\x90\x26\x49\x93\xa5\xa5\xa4\xdd\x94\xa6\x49\x1b\x9f\x36\x31\x4d\x9f\x36\x3d\xed\xae\xb4\xfb\xd3\x56\xa7\xd9\xd2\x9c\x69\x15\x69\xb5\x69\x4d\x69\x5b\xd2\x5a\xd3\x3a\xd2\x76\xab\x6e\x43\x64\x26\x8a\x58\xc6\xb1\x72\x8d\xe8\x59\x8d\xb0\x49\x45\x5f\x23\xaf\x89\x4e\x16\xcd\x3c\xb2\x54\x7d\x4d\x79\x11\x69\x86\x06\x2d\x2c\x79\x9a\x1d\x74\xbe\x5b\x74\x52\x1b\x5d\x4c\x5a\x54\x7b\x9b\xf7\x36\xb4\x37\x91\xd7\xe9\xeb\x23\xda\x9b\x82\xd5\x6d\xd5\x92\xa8\x94\x09\x2b\xc9\x27\x48\x43\xc1\x62\x34\x14\x8c\x1a\x3f\x66\xb1\x6a\x14\xc2\xaa\x48\xd0\xcf\x5e\x0b\x8a\xaf\x05\x35\xc2\x41\xd5\x76\x34\x14\x4c\xdb\x8e\xc2\xca\x8b\x5f\xb3\x54\xf9\x03\xb3\x0e\x45\x95\x3f\x88\xd7\x21\xaa\x14\xe7\xb3\x7e\xf6\x3d\x56\x3c\x0e\xe1\xaa\x9a\x9a\x2a\xcc\x10\x03\x51\x11\x15\x31\xe8\xf0\x58\x56\x87\xa9\x81\xaa\xa8\x8a\x1a\x74\xf8\x4b\xa4\x11\xad\xa9\x66\x35\x91\x7e\x6a\x11\x6f\xac\x6d\xac\xdd\xa4\xdb\x54\xdb\xba\x31\x58\x4f\x42\x34\x34\x82\x30\x6c\x47\x47\x6b\x5b\xbb\x8e\x5c\x22\x97\x44\x58\x45\x8c\x44\xc7\x6a\xc2\x83\xab\xd0\x35\x4b\x31\xab\x11\xcf\x58\x81\x88\x51\x9c\x1a\x21\x12\xa4\x0b\x2b\xc5\xe4\x1c\x4a\x8d\x46\x83\xc2\xd4\xcb\x54\xc9\xa4\x46\xc9\x12\xa4\x09\x0f\x4e\x64\x23\x96\x95\xfc\x58\x52\x8f\x88\x52\x2c\x0f\x4f\xa3\x3f\x92\x1f\xa3\xd3\x30\x63\x44\x78\x22\xd2\xe2\xd5\xec\x71\x2c\xd6\x23\x1c\x6d\x8c\x8e\x8d\x8e\x8d\x36\x46\x1b\xc3\x63\xa3\x63\xc3\x8d\xe1\xc6\xf0\xd8\xf0\xd8\x70\x23\x36\xb0\x5a\x7c\x11\x51\xcb\x34\x84\x8f\xbb\x0e\xd9\xf1\x0c\x56\x87\xa7\xb2\xd4\x22\xc6\x8b\x78\xdd\x58\xee\x66\xc3\x41\x6a\x59\x84\x48\xf0\xa2\x2a\x0f\x2d\x60\xe6\xb2\xba\x05\x25\xec\x45\x06\x33\x66\x84\x99\x3b\x59\xac\x22\xf5\x2c\x1d\xa4\x2d\xb4\x85\x0e\xce\x47\xba\xa1\x60\xf4\xcc\x25\x36\x40\xb6\x22\x22\x63\x6f\x47\x0b\x26\xb2\xf8\x76\x44\x43\x4c\x55\x4d\x77\xaf\x8e\x58\xd6\x22\x6c\x42\x54\x39\x85\xc5\x0f\x22\x2d\x5e\x30\x86\xc5\xe3\x59\x6a\x19\xc3\xe2\xe3\x87\x0e\x1d\xc7\x4b\xd1\x3d\x48\x87\xcb\x11\x79\x1a\x11\x09\xd2\x62\xbe\x65\x46\x45\x08\xab\x78\x45\x6b\xa9\xf2\xba\x18\xa5\xb8\xb7\xbb\xbb\x57\x4b\x94\x4c\x6f\x77\x4d\x95\x8e\x28\x85\x4e\x16\x57\x6f\xd8\x50\x8d\x55\x63\x11\x1e\xae\x25\x59\x68\x48\x79\x02\x05\x88\xf2\xc6\x2b\x40\x94\x0b\x88\x25\x75\xf8\xad\x21\x25\xb1\xa8\x3e\x5c\x1e\x9a\xfe\xa8\x16\xab\xf6\x6e\xd8\x53\xad\x5d\xc0\xf0\x33\x75\x0b\xc4\xd5\x7b\x36\xec\xd5\x5e\x64\xf6\xee\xd9\xb3\x57\x47\x83\x24\xb4\x08\xe1\x23\x68\xd4\xe7\xa6\x5e\x84\xc9\x28\x22\xde\x87\xf0\xbf\x51\xb4\x28\x5a\x44\x6e\x41\x61\x96\x7f\x45\x59\x51\x73\x5b\x70\x73\x87\x3a\xd8\x41\xe6\xa1\xe7\x9e\xeb\x44\xf8\x3e\x64\x60\x75\x78\x03\x4b\x2c\xc2\xeb\x6f\xb8\x87\xbd\x66\xa9\x43\x11\x4b\x08\x45\x2c\xcc\xde\x3d\x1b\xaa\x7d\x6c\x33\x5a\xf2\xaf\x77\x70\x27\x4b\xce\xb1\x44\x45\x55\xc4\xa0\x1d\x0a\x8d\x63\xb1\x6a\x3c\xc2\xe2\xf1\x08\x4f\x43\x1a\xd1\x8c\x99\x08\x5f\x97\xde\x11\x24\xf3\x10\x0e\x2b\x89\x12\x8b\xda\x9a\x1b\x76\x34\xaa\x1b\x1b\x36\x37\x37\xeb\xf0\x6a\x44\x46\x30\x21\x96\x68\x56\x92\xe4\xe9\x57\xb4\xa4\x9d\x74\x88\x48\x32\x8a\x5a\x34\x74\xe4\x14\xa4\x32\x20\x5c\xc0\x06\xb0\x78\x12\x8b\x07\xd7\x9c\x5d\xaa\xc5\xdd\x35\xbd\xd8\x7e\xc8\x85\x47\xb3\x34\x88\x87\x43\xaa\x59\x6c\x44\x99\x56\x8e\xb4\xa9\x8f\x90\xdf\xd9\x48\xa8\x18\x69\xe8\xbd\xcc\x33\xf5\x5b\x3f\x9c\xa7\xa6\x41\xa6\x1e\x91\x35\x0c\x99\x33\x7c\x51\x54\xe3\x7a\xe8\x0e\x27\x29\x46\x91\x20\xf3\x25\x7b\x6d\x22\xd3\xd9\xd7\xdd\x7f\x20\xe3\x40\xc3\xc0\xe6\xfd\xda\xc8\x21\x22\x17\x1d\xdb\x71\xf0\xd1\xa3\x19\x72\x62\x27\x3f\xb2\x27\x59\x6a\x27\x33\xe8\x0c\x62\xc7\x8f\xb0\x1a\x0a\xc4\x73\x5e\xba\xef\x6d\x2d\xa6\xca\xc5\x08\x5e\xd7\xb8\x66\x68\x46\x5c\xe7\xd4\x12\x57\xba\x86\x19\x8c\xab\x3d\x1c\x12\xc6\x46\x5c\x0b\xfd\x7d\x40\x24\xf4\x26\x1b\x16\xb2\xd9\x88\x1f\x39\x17\xe9\xe4\xaa\x03\x2c\x49\x65\x49\x25\x4b\x54\x48\x8b\x07\xcf\x9e\x1d\xc4\x62\xc3\xa5\xbc\x2f\xb5\x78\xf6\x92\x25\xb3\x31\x33\x9b\xc5\xe4\x23\xb6\x8c\xc5\x55\x48\x8b\xa7\x22\xa2\x14\x4e\x45\x98\xf2\x2a\x54\xfd\x66\xfa\x7c\xd4\x7c\x56\x8b\xf3\x59\x8d\x04\xbc\xc7\x5e\x66\xbf\x46\x58\x6c\x47\x78\x28\xa8\x11\xf6\xab\xbe\x45\xf4\x73\xfa\xb9\x88\xee\x31\xa1\xa8\x72\x0a\x4b\xf6\x30\xe4\x73\xfa\xf9\xab\x08\xeb\xae\x59\xc4\x24\x18\xb1\x8c\x64\x35\xa2\x3a\x3c\x01\x4d\x62\xb1\xbf\xba\xac\xb2\x41\x47\xcb\xa2\x2b\xa3\x5b\x67\x89\xbc\x9b\x9d\xb5\xa5\x19\x55\xbb\xab\xbb\x36\x6a\xc3\x80\xfe\x6e\x8a\xb6\x88\xb6\x36\x6d\x6d\x6e\xca\x58\xb7\xdb\x77\xa8\x7b\xf7\xce\xf6\xdd\xda\xf0\x03\xa4\x0e\xab\xec\x2e\x97\x9d\x37\x66\xbb\xeb\xd0\x71\xde\x98\x79\xdb\xe7\x8d\xf9\xf8\x21\x97\x5d\x47\x95\xe2\xb0\x52\x78\x34\xb6\x5a\x7f\x24\x44\xfc\x30\x40\xfc\x98\x19\x60\x75\x58\x6c\x41\x58\x23\x06\xb1\xa8\xa3\x5d\x10\xf7\x85\x8b\x77\x22\xac\x5a\xcb\x62\x43\x5e\x1e\x79\x12\x91\x7e\xa4\x1b\x0a\x89\xbf\xbc\x74\xe9\x4b\x2d\x56\x99\x58\x4c\xa6\xd2\x04\x72\x0b\x9d\xfe\xad\x76\xcf\x8a\x8e\x65\x0f\x66\xd0\x79\x53\x68\x2e\x9d\x4a\xe5\x5a\x2a\xa4\x53\x28\xb7\x90\x96\xa8\x5d\xa5\xdb\xb7\xbb\x74\xb9\x24\x99\xdc\xbe\x9c\xdc\xad\x3e\xff\x72\x5b\xe7\x8b\xba\x4f\x16\x7f\xb7\xe6\x97\x75\x8f\x34\x1d\xda\x74\x78\x73\xcf\x96\x3d\xbb\x77\xf4\x4a\x88\x84\xdd\xb1\x6f\x63\x57\xdd\xee\xc2\x73\xdc\xe3\x8e\x4f\x24\xd8\x3b\x50\x10\xf0\x7a\xb1\x3a\xea\x08\x44\x1d\x51\x47\x06\x26\x97\x59\x18\x20\xc1\x48\x90\x04\x05\x98\x54\xb1\xa4\x05\xe1\x19\x2c\xb9\x8b\xc5\xbf\x7d\xfe\xf9\x6f\x78\x12\x4b\x94\x4b\x10\x86\x64\x3c\x12\x60\x8d\x08\xe0\xf0\xe1\x00\x79\x02\xf1\x96\x4d\x2c\x64\x24\xab\x11\xd7\xc5\x3c\x35\x75\x0f\xce\x62\x35\x91\xba\x69\xac\x9f\xcd\x44\xb8\xbb\x57\x87\x55\xce\x6b\xae\x80\x53\xbd\x61\x43\x4b\x73\x8d\x8e\xab\x76\xe7\xaf\xce\xd0\x44\x88\x78\xf5\xa3\xf9\xe7\xaa\xb5\xcd\xdd\x7b\x5a\xf6\xa8\x8f\x1c\xea\xea\x3f\xa0\x0b\x2f\x0c\x4f\x0b\x2f\x8c\x4e\x13\x95\x1f\x38\x54\x77\x44\xbd\x67\xcf\xf6\xb6\x6e\xdd\xb9\xbd\x8f\x9e\x79\x32\x43\x23\x4a\x14\x3f\xe9\x3e\xc3\xed\xd5\xb6\xd5\x6c\x68\xdd\xa0\x96\x7b\x51\x38\xf4\x2e\xc2\x53\x58\xa2\xcc\x44\x98\x04\xc8\x2a\x1c\xa8\x41\x98\x06\xe8\x2a\x7c\x19\x45\x83\xbf\xa0\xa8\x32\x6e\xbe\xe1\x60\x15\x8b\xbb\x51\xf9\xab\x2c\x66\x6e\x61\xb1\xea\x63\x44\x19\xc2\x3c\xc8\xd2\xcf\xe8\x67\xe4\x29\x74\x9e\x8d\x5a\xa6\xb0\x61\x0b\xf9\x89\x25\x4f\x21\xf2\x19\xf9\xac\x13\xe1\xf0\xda\x40\xd8\x11\xb6\x67\x60\x1a\x5c\xcf\x62\xe2\x17\x0c\x05\xc9\x6d\x28\x3a\x8d\xfe\x48\x7f\x8c\x4e\x8b\x4e\x23\x3f\xd2\x1f\xc9\xe3\x88\xfc\x18\x9e\x36\x81\xd5\x69\x22\x9f\x09\xc9\xac\x3f\x23\xa9\x0e\x47\x42\xa4\x0f\x0d\x2b\x99\x76\x36\x9c\xc0\xea\xae\x29\xc5\x74\x26\xb9\x9f\x8e\x24\x4d\xcd\x5a\xea\xa0\xab\x45\x15\xe5\xdd\xf6\x43\xea\xc8\x19\xe6\x50\xf7\xf1\xbe\x72\x1d\x75\x90\xd5\x22\xd2\xd4\x46\xee\x27\x23\xc9\xcc\x8c\x88\x52\x4c\xe6\xd0\x55\xe4\x66\x1a\xd0\x62\x55\x2f\x8b\xc7\xa3\x05\xb7\xa0\x68\x68\x36\xc2\x73\x59\x2d\x56\x91\x52\xaa\x24\x69\xd4\x40\xc7\x8f\xa2\x22\xaa\xa5\x69\xdf\x53\x86\x8c\x7d\xf9\xe5\xfe\xc3\x8f\x6a\xb7\x33\x37\x57\x2e\x1c\x4f\xa5\x6a\xd7\xba\xb6\xf6\x0a\x5d\x5d\x6b\xdd\x8e\x86\x1d\x85\x54\x34\xa2\x6b\x53\xf7\xa6\x9e\x4d\x92\x86\x87\x4f\x36\x3d\xa9\x26\x0d\x24\x81\xb8\xc9\x6a\x1d\xa6\xab\x68\x00\xab\x7e\x45\x69\x7e\x84\x2b\x11\xc9\x62\x75\x7c\xbc\x7c\x86\xa5\xa3\x70\xb0\xbd\x3d\xa8\xc3\x6f\xbf\xf4\xd2\xdb\x58\x74\x8a\xc5\x73\xee\xbb\x6f\x8e\x0e\x9b\xd8\x70\x30\xaa\xac\x65\x71\x47\x0b\x71\xb0\x94\xcf\x7e\x6d\x4d\x8d\x3b\x1a\xd4\x7c\x2a\xc0\x55\xdd\x35\x24\x8d\xe5\xcf\x9c\x28\x61\x2c\x82\x63\x72\x0a\x51\x3f\xb3\x74\xcd\xd9\x41\xdd\x51\xf2\x2b\x22\x2f\xa2\x05\x0c\x39\x82\x86\x2d\xe4\x49\x56\x1b\x56\x32\xe4\x1a\xe2\xc7\x44\x95\xcc\x11\xa4\x8b\x2a\xf9\x5e\xe2\x27\xdf\xa0\x12\x71\x3e\xd2\x2e\x98\xc6\x5e\x64\xc8\x71\x52\x1d\x16\x22\x1d\x56\x2d\x43\x9a\xc8\x0c\xc6\x90\x97\x67\xd0\x69\xe8\x0c\xd2\xc6\x92\x9b\xd9\xc5\x28\x1a\x52\x91\x14\x16\xab\xf8\x14\x78\x1f\xd2\x62\x6a\x6f\x62\x71\x6d\x57\x4f\xd3\x5e\x35\xef\x87\x41\xac\x61\xea\x30\x99\xc2\x0e\xdd\x2e\xe6\x87\x68\xa9\xf2\x73\x44\x76\xa1\x43\xc7\x75\x43\xb7\xbf\x84\xb0\x8a\x06\x5b\x11\x09\x92\xa9\x2c\xae\x64\x79\x9f\x15\x60\x1a\x20\xcf\xb2\x24\x80\xcb\x58\xe2\x64\x89\x65\xc1\x33\x88\xb7\xe9\xa1\xba\x56\xa4\x61\xea\x32\x11\xfe\xe4\x93\x4f\x72\x9e\x63\xb1\x23\x87\x2b\x2c\xe4\xea\x36\x6e\xac\xdd\x51\xc9\x3b\x58\x75\x6b\x77\xed\x9e\x6d\xdb\x02\xdb\xd4\x87\x77\x1c\xda\xf9\x48\xfb\x2f\x0f\x7f\x77\xf6\x93\x97\x25\xf5\x2f\xbe\xdc\x7c\x5e\x1d\x4e\x27\x6f\x92\x2a\x72\x02\x87\x47\x93\x5c\x32\x82\xdc\x0b\x03\x24\x97\x8c\x25\x8d\x61\x21\x49\x26\x1f\x93\x5c\x41\xe4\xd6\x21\xac\xa2\x6e\x3a\x9e\x66\xd2\x75\xd4\x41\xef\x24\x33\x88\x9d\xd8\x09\x4f\x1d\x78\xc0\x7b\x3a\x30\x30\x90\xfe\x16\x8b\xf3\xd0\x35\xcb\xf5\x54\x1e\xb1\x78\x11\x5e\x8c\x86\x94\xaa\xf0\x54\x7a\x85\x5c\x89\x4e\xa5\xcb\xe9\xfd\xd3\x68\x3a\x1d\xa5\xa5\x69\x44\x55\xb5\xcf\xbd\xd3\x5f\x9f\xee\xab\x5f\xef\x5f\x97\x11\x37\x73\x06\x67\x9c\xe3\x8d\x88\x8a\x8b\x89\x98\x21\x4a\x96\x98\xc8\x07\x2c\x5e\xd9\xc3\x04\x10\x99\x8b\x98\x58\xa0\x45\x30\x40\x7c\x48\x23\x1a\xe4\x8d\xde\x98\x85\x48\x37\x83\x5f\x67\xb5\x78\x2f\x79\x8a\xd5\x92\x10\x09\x89\xda\xda\x5a\x83\x1d\x19\x58\xdc\xd2\xbe\xb9\xad\xb9\x6d\x78\xc5\xd0\x8a\x11\xde\x81\x8a\x06\x7b\x06\x56\x91\x5b\x59\xd2\xc5\xde\x8f\xf0\x63\x68\x12\x5f\x11\x04\xca\x1b\x58\x4c\x8f\xd3\x6a\x5a\x4d\x8f\x63\x12\xd8\xc9\x62\xd5\xed\x88\xfa\xa9\x9f\x21\x6f\xb3\xc4\x4f\xfd\x62\xf2\x26\x4b\xfc\xc4\xcf\x60\xd5\xdb\x08\x67\xa1\x1f\x70\x2b\x7b\x2d\xc4\x64\xa3\x48\xa8\x95\x8d\x69\xfb\x43\x84\xc3\xc1\x34\x22\x67\xb5\x01\xf1\x7c\x56\x17\x0d\x86\x83\x2e\x16\xd3\x77\xe8\x2e\xba\x8b\xbe\x43\xdf\x21\xbb\xe8\x2e\xf2\x0e\x79\x87\xec\x22\xbb\xc8\x3b\x58\x35\x81\xd5\x62\x72\xe6\x28\xf1\x93\x16\xf2\x6c\x06\x2e\x65\x89\x12\x57\xb1\xf2\xdf\xa6\x12\xb4\x52\x4b\x73\xa8\xf2\x28\x4d\xca\x20\x4f\xa3\x77\xfe\xf5\xc2\x6f\x5a\x4c\x82\x24\x18\x37\xd8\xef\x11\x51\x0a\x30\x51\xf2\x6d\xa2\xc4\x76\x17\xb9\x83\xc5\xaa\xae\xdd\x81\xbe\xda\xdd\x1b\xbb\x2a\x02\x1b\x6b\x69\x90\x06\x47\xd4\x6e\x0c\x54\x74\x6d\x94\xfc\xaf\x0a\x0c\x92\xa0\x08\x2f\x60\x3f\x40\x98\x99\xce\x62\xed\x04\xe2\x67\x96\x21\x0d\x9d\xb1\x8a\xb7\xd8\x62\x56\x23\x1c\x5c\x81\x88\xff\x07\x31\x16\x2f\x5d\xb3\x66\xa9\x2e\x1a\x22\x53\x11\x8e\xa8\xc8\x54\x15\x85\x0c\x5d\x43\x9e\x25\xf7\x90\x3e\x11\x49\x26\xd3\x68\x27\x43\x47\xd2\x4a\xaf\x75\x53\xd3\xe6\xa6\x2d\x4d\xe9\x2d\x0c\xfe\x18\x2d\x7f\xee\x41\x16\xab\x7e\xe2\x03\x32\x5f\xa2\x10\xc5\xb8\x5f\xa8\x42\x8b\x55\x97\x11\xde\xb8\x31\x50\xb1\x7b\x23\x9e\xc1\x97\x82\x2a\xf2\x11\x8b\xc5\x44\xc0\xe2\x0f\xf8\x0d\x93\x5d\xec\xe7\xa6\x51\x58\xd5\x7f\x51\xd4\xdb\xb6\xaf\x7b\xaf\x3a\x7c\x95\xe9\xed\xac\xa9\x6a\xd6\x95\x2f\x10\x55\x35\x57\xd6\x54\xab\xa3\x57\x99\xaa\xfa\xee\xde\x36\x1d\x76\x21\x7e\x86\x32\x40\xb6\xb1\x98\x58\xd8\x6c\x16\x7b\xbd\x81\x82\x01\x2f\xde\xbd\x3b\xd0\xb7\x71\x37\x2e\x46\x9a\x48\x1d\xc3\x67\x3f\x9d\x26\x52\x47\x76\x22\xbe\x8a\x59\xbe\x7c\x1e\xc2\x64\x27\xdd\xb9\x18\xd1\x9d\x64\x27\xde\xbd\xb1\x2f\xb0\x7b\x77\x3a\x56\x85\x6f\x23\x9f\xd0\x4f\xa2\xb7\x45\x6f\xa3\x7f\x52\xf2\x49\xf8\x36\xbe\x9f\xa7\x3a\xac\x9a\x8e\x30\x31\x92\x6f\xd8\x68\xe8\x22\xa2\x46\x2c\xaa\xed\x6a\xee\xd9\x9b\xb1\xb7\xad\xa7\xab\x4b\x8b\xc9\xad\x48\x8b\x27\xb3\x33\x58\x4c\x5a\xc8\x20\xb9\x85\xc5\xcd\xed\xe4\x55\x16\x93\x95\x48\x87\x89\x1d\x69\xb1\xa8\xa5\xa3\x63\x4b\x87\x7a\xd7\xae\xd6\x9d\x41\xdd\xde\xce\xae\x9e\xd6\x7d\x24\xb8\x18\x8d\xd8\x31\x50\x7f\xb0\x7c\x8f\x04\x13\x0b\xd9\xc8\x56\xb3\xd1\xd0\x18\x16\x93\xb5\x6c\x00\x4d\x60\x62\x93\x05\x24\x89\xc5\xe1\x69\xe4\x47\x3e\x76\xeb\xe4\x7c\x41\x81\xef\x46\x61\x25\x35\x92\x66\x16\x6b\x84\x9f\x91\xd8\x3d\x05\xe7\xa1\x1b\x35\x8b\x97\x6f\x68\x22\x83\x4c\x36\x5f\xda\x79\x11\xce\x47\x74\x14\x26\xe6\x13\xd7\x7d\x08\x93\xf7\x79\x6d\xf7\x6a\x89\x85\xe9\xed\xc6\xc7\xc8\x1c\x16\x8f\x24\x14\x0d\x85\x2e\x06\x88\x32\x25\x70\x9a\xaf\xa4\x48\x30\x0c\xd9\x54\x3b\x26\x86\x8f\xa6\x6c\x6e\xd5\x05\xeb\xb6\xad\x6f\xac\x5d\x3a\x7d\xc4\xa6\xc6\x86\x4d\xf5\x5b\xeb\xb7\x36\xec\x68\x6a\x97\x04\xb0\x2a\x44\x5c\xed\x7d\xdb\xf6\xb4\x76\xa5\xb7\xf6\x89\x76\x30\xcd\xdb\x9a\xb7\x35\x6a\xbb\x1e\xba\x44\x5d\xa2\x61\x29\xce\x20\x57\x56\xa9\x68\x02\x4d\x20\xb1\xbf\xf8\x8b\x26\x10\x48\x13\xc4\x24\x17\xbf\x14\x73\xd9\x72\x56\xfe\xf0\x81\x9e\x83\x9d\xba\xce\x03\x9b\x1e\xad\xec\xc5\xb5\xb5\xeb\x9b\xab\xd5\xd5\xeb\xdb\xba\x6a\x75\x58\xbc\x0c\x61\x7e\x51\x44\x89\x0f\x93\xbc\x15\x24\xfb\x56\xa2\xe0\x6b\xcf\x11\x34\x63\x36\xc2\xd4\x12\x0e\xa9\x7a\x6b\xba\xab\xb4\xd4\x92\xc3\x12\x0b\x83\xf3\x10\xb5\x30\xd9\x88\xf0\x81\x86\x04\xe8\x2a\xb2\x8a\x06\x56\xf2\xe1\x90\x34\xf2\xb7\x29\xfc\x33\x0a\x2b\x31\xd9\xc2\x1e\xc2\x64\x90\xb4\x60\xd2\x8f\xf8\xfa\x05\x67\xb3\xf2\x14\xde\x29\xc2\x37\x91\xd3\xf4\x01\x22\x25\xbb\xc9\x19\x5a\x44\x64\xa9\xc3\x33\x34\xc2\x47\x71\x7f\x29\x1b\x20\x6d\xb1\x1a\x3f\x48\x46\xb2\xf8\x22\xaf\xdf\x69\x08\x0f\xad\x18\x5a\xd1\xd6\xb6\xa3\xad\xb5\x3d\x1d\x0f\xaf\x18\x5e\xd1\xdc\xbc\xb9\xb9\xa5\x29\x1d\xb7\xb0\xeb\x59\x4c\x95\xb3\x10\x1e\x18\x08\x9c\xf6\x0e\x60\xef\x40\xe0\xf4\xc0\x00\xae\x6e\x5f\xdf\x55\x8b\xc9\x5b\x68\x02\xd2\x11\x0b\xc2\xaa\x69\x1f\xad\x20\x09\x44\x9e\x41\xe4\xcf\x92\x84\xcb\x1f\x69\x2f\xdf\xfe\x2c\x4d\xa0\xf2\x0c\x7c\x68\x5f\xc7\xe9\x8a\xc3\x74\x16\xd9\x3d\x62\xcf\xa9\xd3\xc1\xb3\x6a\x32\x9b\x8c\xa1\x63\xe8\x6c\x9c\x16\xd8\x4c\x36\xd1\x5b\xc8\x74\xed\x1a\x86\x68\xa8\x7d\x0b\x5d\x11\xc8\x08\xb4\xd0\x9d\xf8\x7b\x36\x16\x04\x3e\x66\x23\x96\x99\x08\x33\xef\xf3\xd5\x46\x38\x98\x89\xf0\xde\x9e\xf6\xae\x2e\x1c\xab\x03\x71\xb4\x21\x3a\x2e\x3a\x2e\xda\x10\x6d\x08\x8f\x8b\x8e\x0b\x37\x84\x1b\xc2\xe3\xc2\xe3\xc2\x0d\x58\xd7\x59\x5b\xd7\xbe\x5e\x4d\x9f\x5a\x4a\x7f\xa6\xe5\x34\xfb\xf7\x09\xc4\xa8\x1b\xba\xc6\x60\xbd\xb8\xaf\xaa\x6b\x9d\x27\x83\x8f\x04\x7c\x5e\x7c\xa4\xeb\xe1\xbe\x5e\xed\x57\x62\x3c\x1f\x91\x7a\x16\x93\xe5\x48\x2e\x5e\xf8\xdc\xf2\x57\xc9\x7e\xa4\xc5\x35\x61\x01\xea\xe6\x03\xd2\x1d\x08\xc7\x2e\x20\x3a\xcc\x57\x9a\x58\x54\x55\x55\xef\xf5\x66\x78\x3b\xbd\xbd\x55\x5a\xac\xf2\xf8\xfd\x1e\xed\x38\xc6\xe3\x3f\xf0\x88\x0e\x67\xb1\x34\x68\x42\xd8\xdf\x55\xde\x57\xab\xdd\xd4\xb9\xab\x65\x97\x7a\x17\x66\x62\x45\x04\x0e\xa7\xb0\x6d\xe4\x07\xd4\x5c\xdb\xa5\x8b\x87\xbd\x20\x09\xe2\xf0\x54\x72\x85\x5c\x09\x4f\xc5\x0c\x51\xfc\xf2\x0b\x51\xe8\x70\x38\x58\x8c\x70\x3b\x4b\xba\x10\x1e\xc3\x12\x23\x26\xbf\x91\xd3\xf4\x34\xfd\x0d\x8b\xaa\x7a\x07\xea\x07\xd4\x18\x06\x22\x41\x41\x24\x88\xc5\x1b\x59\x4c\x16\x12\x15\x11\x90\xfb\xb6\xe8\x1e\x7f\xae\xff\xe2\xc5\x8c\xee\xad\x7b\xb6\x74\x6b\x71\xff\x65\x35\xf1\xb1\xe4\x34\xf9\x0d\xdf\xf7\xd6\x6c\x97\xbf\xb9\xae\x4a\x4b\x0f\x8b\xeb\x7b\x0f\x6c\x3a\xa4\x7e\xe7\xa5\xb7\x70\x7b\x47\x47\xb0\x2d\x98\x1e\x16\x85\x1f\x11\x7d\x15\xbd\x48\xab\x88\x94\x88\xb1\x8a\xf8\x49\x33\x7f\xeb\x9c\xcb\xea\xa8\x3f\xaa\xc4\x21\x1b\xc1\x59\x59\x36\x8a\x67\xcd\x3a\x45\xf1\xd7\x5f\x9f\x22\x38\xa4\xc5\xd7\x2c\x9d\x6c\x2c\x5e\xc5\x62\x75\x20\x16\xbc\x62\x25\x87\x1e\x61\x22\xe4\xc3\x7f\x03\xab\xe5\x9d\x72\x1f\xc2\x6d\xed\x3b\x3a\x82\x19\x78\x60\xe0\x74\x60\xc0\x8b\x61\x6c\xcf\xc1\xe6\x36\x2d\x26\x77\xf3\x39\x4f\xcc\xef\xaa\xfe\xe0\xc3\x19\x03\x9d\x07\x7b\x7b\xb5\x64\x3c\x19\x27\xda\xdb\x8b\x17\xfc\x17\x61\xaa\x6e\xaf\xd8\xc3\xf5\x70\x07\x0a\x0e\xb4\x1e\x68\xdf\xdf\x21\x69\x3b\xbe\x95\x0f\x5b\x21\x62\x0c\x2b\x49\x10\x06\x88\x51\xc3\x0c\x12\xa3\x00\xf7\xf4\xb4\x75\x75\xe9\x86\x04\xe1\x1f\x45\xc1\x20\xf1\x90\x55\xa4\x29\x03\x2f\x61\xe9\x19\x12\x42\xe4\xaa\x18\x93\x79\x2c\x7f\x09\x51\x46\x2c\xaa\x65\x08\x6f\x69\x6f\x69\x6f\x6e\x6f\xda\xdd\xb4\xa7\xa1\x9b\xea\x48\xe5\x08\x7a\x28\x56\xc3\xd2\x55\xe4\x0a\x92\x8f\xcc\xd1\x30\x06\xf2\x35\xc2\x81\xb0\x84\xc5\xe2\xe3\x15\x41\xaf\x57\x8b\xc5\xf6\xbe\x86\x81\x01\x2d\x26\x62\x2a\xc6\xd4\x4e\x67\xe0\x17\xa9\x98\x6a\xce\xd3\xa9\x6a\x5a\x44\xcb\x69\xb2\x6d\x81\x0e\x3f\x54\x59\xe0\x28\xd1\x76\x95\xb7\xf9\x7c\x19\xab\xfc\x4b\xac\x7e\x2d\xce\x88\xdb\x9e\x76\xe8\x1a\x43\x8c\xbf\xff\x40\xb2\x75\x98\xa1\x8a\x71\xe3\xa8\x42\x37\x1c\x22\x1f\x22\x9c\xcd\x86\x43\x98\xc8\xd9\x23\x7c\x68\x58\xca\xc2\x00\x26\xb7\xb0\x7c\x21\x8b\x27\x21\xfe\x9a\x83\xdf\x8d\x65\x93\xd9\x64\x0c\x19\x43\x66\x63\x55\x00\xe1\x1f\xc4\x13\x11\x7e\xac\xe6\x98\xff\xa0\x16\x07\x16\xf3\xf3\xc4\xc7\xf1\x9a\xe9\xf4\x3f\xd1\x6b\x85\x19\x01\x31\xcd\x27\xa7\x72\x49\x36\x26\xb3\xe8\x6e\x51\x65\x57\x5f\x7d\xbf\xba\x6b\x77\x6b\xc7\x2e\x5d\xfc\xc4\xfe\xfa\x1f\x93\xc7\x59\x3f\x3b\x74\x86\x18\x10\x26\x5a\x52\x47\xb4\xe1\x20\xd1\xde\x49\xee\x21\x4a\xa2\xc5\xe7\x8a\x4f\x70\x5c\x71\x31\xc7\x9d\x28\x3e\x77\xee\xc4\x89\x73\x5a\x9c\x41\x84\x01\x22\xdc\x42\x84\xda\x86\xfa\x6d\x0d\x6a\xeb\x56\xfc\x02\x92\xef\xec\x6a\xdd\xdd\x9d\xc1\x5f\x94\x71\x2c\x73\xc7\xfe\x78\xaf\xe9\x64\xb7\xf0\x56\xc2\x27\xf5\x4d\xec\x6f\xf8\xcb\x4b\x79\x06\x1c\x4b\xde\xb5\xe9\x4f\xad\xea\xaa\xed\x0b\xec\xee\x4a\xc7\x44\x59\x83\x70\x34\x9d\xbe\x49\xab\xe8\x09\x6a\xfe\x2f\x1d\x4b\xcc\x93\x30\x79\x87\xee\x22\xb1\xe2\x22\x5e\x64\xe0\x77\x48\x22\xe1\xde\x23\x63\xd4\x44\xf1\x61\xc1\xb2\x5f\x74\x98\x6c\x44\x43\x96\x25\x2c\x26\x4b\x89\x9e\xe8\xc9\x52\x9e\x52\x3d\x5d\x8a\x35\xa2\x41\x06\x9f\x66\x19\x4c\x82\x34\x88\x17\xcf\x78\x41\xd7\x55\x1d\xac\xda\x55\x2d\xa9\x6b\xef\x68\xc6\xd5\x61\x80\xb4\x34\x44\x43\xa2\xe6\xe6\x16\xac\x11\xf9\x54\x64\x0a\x8b\x67\xb2\xf4\x8c\x18\xf7\xf7\x97\xb7\xb0\x78\x4b\xfd\xf6\xfa\xb6\xc6\xf4\xa6\x36\xdc\xc4\x07\xee\x76\x3e\x70\xef\xae\xed\x0b\x74\x75\xa5\x3f\xf5\x14\xbe\xfe\x95\x08\x09\xe2\x7c\x3e\x19\x9e\x21\x67\xf8\x99\xf0\xfd\x48\xb5\x20\xf2\x0a\xa6\x21\xf1\x24\x84\x55\x44\x8c\xb4\xbc\x47\xc4\x22\x98\xf0\x24\x11\x17\x31\x18\x06\xfc\xac\x00\x87\x01\xab\xc5\x54\xa5\x61\x12\x20\xa6\xca\xd3\x2c\xc4\xcc\x38\x84\x87\x43\x62\x6a\xc0\xe2\x70\x02\xc2\x1d\xc1\xd6\xb6\x36\xbc\x09\x89\x31\x15\x13\x31\xe6\x8d\x92\x2f\x17\xe7\xcc\xa3\x4c\xe5\x8a\x4e\xd7\x66\x6d\x15\xf6\xb3\x42\x4d\x04\x2c\x46\x8b\x91\x18\x77\xf5\x74\xee\xed\xd8\x27\xe9\xdb\x4e\x54\xdd\x7b\x32\x30\x61\xc9\x84\x0c\x32\x61\x31\x61\x27\xfe\xaa\x3d\x81\xa9\x52\x4c\x7e\x67\x71\x46\x77\x47\x67\x77\xab\xf6\x9b\xbe\x37\x2e\x3c\xfe\xa9\x04\x37\x36\x77\x74\x6c\xd3\xbd\x16\x9e\x28\xda\xb5\xad\xb3\x83\xdf\xd1\x66\x14\x73\xde\xcd\x08\x73\xf6\x33\xba\xd2\xc7\x0e\x54\xfe\x43\xfd\x8f\xfd\xfb\x0e\x63\x46\x8f\x48\x1a\xd2\xe1\x8e\xb6\x5d\xed\xba\x5d\x7b\x83\xbd\x5d\x7b\x25\xef\xbd\x80\x37\x21\x15\xee\x68\xe9\x50\xe3\x2d\xac\x0a\x5f\x0c\x90\x9f\x10\x3e\x80\xce\xf1\x7b\x2e\x64\xc3\x46\xf1\x71\xdc\xbd\x37\x83\x28\xc5\xc1\x1d\x1d\x6d\x6d\xda\x36\x6c\x44\xc4\xb2\x92\xc5\x74\xcd\xb5\x85\x22\xf2\x05\x43\xd6\x44\x16\x8a\xe2\x57\x71\x6a\x99\xc8\xc6\xcc\x9e\x04\x71\x74\x2a\xb9\x42\xf9\x38\x18\xe6\xef\x94\xe1\x86\xe8\xb8\xf0\xb8\x68\x03\x5f\x4a\x34\x23\x4c\x43\x31\x13\x8d\xa2\x00\x3e\x41\xc2\x2c\x7e\x9c\xe5\xaf\xca\x98\xfa\xc5\xe3\x59\x3c\x19\x8d\xe5\xa5\x5c\x24\x4a\xac\x89\xcc\x10\x63\x0f\x22\xb7\xb2\x78\x9d\x7f\xbd\xbf\x5e\x57\xef\xdb\xe9\xde\x57\x85\x75\xcd\xcd\x9b\x1b\x1b\x32\x7c\x64\x2c\x1d\x83\xff\xf7\xe5\x56\xcc\x4e\x53\xc8\x11\x16\x1b\x0c\x9b\x0d\xea\x72\xba\x60\x7b\x6b\x13\xef\x27\x27\xf9\xfa\x88\x0f\x30\x98\x79\x88\xc5\x1b\x6b\x03\xe5\xbb\x6b\x71\x3f\xf9\x18\x41\x5c\xb3\xd6\x91\xe1\xe8\xc6\xe2\x3c\x16\xd3\x19\x64\x06\xa6\x2c\xd5\xd6\xd5\x6d\xad\xec\xdc\x98\x8e\x19\x92\x87\xf8\xbb\xfc\x82\x8a\x14\x6c\x1a\x39\xca\xf8\xf9\xef\xbf\x7d\xf1\xc5\x6f\xbf\xe3\x8a\x12\x1d\xad\x16\x6f\x68\x6a\xda\xa0\xc5\xda\x89\x63\x16\x53\x96\x4e\xc8\xa0\x13\xb0\x8a\xca\x28\xa6\xdb\x98\xda\x86\x00\xd6\xb6\x36\x36\x6c\x6f\x50\x4f\x42\x37\xd6\xc7\x87\xd8\xf8\xd7\x79\x44\x89\x55\xe4\x2c\x7f\x5b\x62\x8a\x09\xc3\x60\x91\xef\xc0\xb1\x9a\xc7\xd4\x98\xd9\xdb\x53\x53\xb5\x4d\x87\x45\xbd\xdb\x7a\xba\x63\x17\xae\xb0\x88\x37\x7c\x65\x38\xa4\xc2\x03\xac\x16\x17\x51\xf1\x49\x06\x8b\xc9\xd3\x08\x0f\xf1\x9b\xa5\x37\xd3\x39\xbc\x93\x5a\xb0\x66\x68\x06\x83\xa3\xca\xb0\x12\xdf\xfa\xe0\xb9\xe3\xf9\xba\xc3\x0e\xff\x3e\x4c\x8e\x22\x7e\x36\xb9\x1f\x61\x2a\xb9\x42\x6f\x22\xc6\x65\xe4\x1f\xb8\xa2\xb4\x52\x77\xb8\x6a\x6d\x9f\x5d\x8d\xd5\x74\x04\x05\x14\xd0\x11\x3a\xac\x7a\xdc\x7d\xa0\x68\x85\xad\x70\x45\x21\x16\x3f\x88\x8a\x58\x2d\xd6\x6a\x84\x7c\xb9\xe6\xad\xf7\x55\x55\x69\xe9\x78\x3a\x0e\x93\x91\x2c\x1f\x0d\x30\xe5\xcf\x4a\xd4\xd5\xd5\x83\xa9\x92\x2a\x31\xb1\x93\x19\xb8\xbf\x1c\x06\x30\x04\x10\x00\x0c\xc1\x48\x00\x6a\x00\x68\x04\x60\x2b\x00\xdb\x01\xe8\x06\xe0\x61\x08\x8e\x00\xb8\xf9\x8f\x84\xcd\x7f\x08\x36\x9f\x4e\x78\x41\x00\xf8\xa1\x26\x00\x72\x01\x78\x11\x80\xdf\x00\xec\x00\xb0\x13\xc0\x2e\x00\xbb\x01\xec\x01\xb0\x17\xc0\x3e\x00\x4f\x03\xf8\x04\x80\x11\x90\xa0\x07\x09\x77\x83\x84\x2f\x80\x40\x02\x04\x39\x40\xd0\x0a\x04\x17\x80\x30\x1d\x08\x73\x80\xb0\x01\x08\xdf\x04\xa2\x51\x40\xd4\x03\x44\x5f\x03\x26\x19\x30\x3b\x01\xf3\x06\x90\x30\x40\xb2\x11\x24\x4a\x40\x62\x06\x48\xbc\x1b\x24\x5e\x05\x68\x21\x40\x3b\x01\xfa\x18\xe0\x3b\x01\xae\x02\xf8\x13\x20\xdd\x0d\xa4\xdf\x01\xd9\x6d\x40\xf6\x18\x90\xcf\x02\xf2\xc5\x40\xde\x0e\x14\x1b\x40\x52\x0e\x48\xce\x01\xc9\x53\x41\x72\x23\x48\x71\x82\x94\x5a\x90\xf2\x0b\x48\x5d\x05\x94\x26\xa0\xd2\x02\xd5\x71\x90\xd6\x0a\x6e\x2a\x05\x37\x75\x83\x9b\x9e\x05\x37\x7d\x0b\x6e\x8a\x80\x11\x13\xc0\x88\x87\xc0\x88\x9d\x60\xc4\x07\x20\x7d\x1a\x48\x7f\x1e\xa4\x53\x90\xa1\x00\x19\x9d\x40\x9d\x0f\x34\x93\x80\xe6\x7b\xc0\xce\x03\x2c\x07\xd8\x2a\xc0\x3e\x0c\xd8\x10\x60\x7f\x07\xec\x1f\x40\x3b\x1e\x68\xef\x00\xda\x07\x80\x76\x13\xd0\x9e\x07\x3a\x08\x74\x77\x00\x5d\x01\xd0\x45\xc0\xc8\x25\x60\xe4\x47\x60\x54\x26\x18\xf5\x2e\x18\x3d\x11\x8c\x5e\x0d\x46\x9f\x07\x37\x67\x82\x9b\xfb\xc1\x18\x29\x18\xb3\x0e\x8c\xf9\x08\x8c\xf9\x01\x8c\x15\x80\xb1\x1b\xc1\x38\x13\x18\xf7\x25\x18\x3f\x13\x8c\xff\x11\xdc\xca\x80\x5b\xdb\xc1\x6d\xf3\xc1\x84\x9b\xc0\x84\x41\x30\x51\x0b\x26\x96\x82\x89\x87\xc1\xc4\xcf\xc1\xa4\x76\x30\x39\x05\x4c\xce\x02\x93\xbb\xc0\xe4\x8f\xc0\xe4\x6b\x60\xca\x62\x30\xe5\x0a\xc8\x14\x83\xcc\x56\x90\x95\x0b\xf4\x97\x80\x9e\x02\xa3\x1a\x98\xd6\x01\xd3\x56\x60\xfa\x1d\x98\xa7\x01\xf3\x20\xc8\xce\x02\xd9\x95\x20\xfb\x19\x90\x63\x07\xb9\x11\x70\xfb\xfd\x60\x6a\x25\x98\xc6\x82\x69\x16\x30\xad\x1e\x4c\x67\xc0\xf4\x13\x60\xfa\x10\xb8\xb3\x19\xdc\xf9\x14\x98\x31\x0a\xcc\x78\x0f\xcc\x5c\x0b\x66\xfe\x04\x66\xed\x06\x79\x3d\x60\x76\x2b\x98\xf3\x28\x98\x3b\x08\xe6\x5d\x01\x77\xcd\x07\x77\x9d\x06\x77\x8b\xc0\xdd\x16\xb0\x48\x0d\x16\x75\x82\x45\x9f\x81\x7b\x47\x83\x7b\x2b\xc1\xe2\x54\xb0\x58\x05\x16\xdf\x04\x16\xa7\x83\xc5\xef\x82\x25\x93\xc0\x92\x72\xb0\xe4\x0d\x60\x79\x18\x3c\x30\x0f\x2c\xd5\x80\xa5\x8f\x82\xa5\x27\xc0\xd2\x57\xc1\x83\x2c\x58\x96\x05\x96\x2f\x03\x2b\x5e\x02\x2b\x27\x80\x95\x2f\x80\x87\xf2\xc0\xaa\x24\xb0\x6a\x10\xac\x8a\x82\xd5\x41\xc0\x4d\x00\x5c\x2e\xe0\xe6\x01\xce\x0d\xb8\x0e\xc0\xbd\x03\xb8\xaf\x00\xf7\x1f\xc0\xfd\x01\xd6\xb4\x01\xeb\x08\x60\x9d\x07\xf2\xcd\x20\xff\x79\x90\xff\x15\x28\x58\x0c\x0a\x5e\x01\x85\xe3\x41\xe1\x65\x60\x5b\x04\x8a\xe6\x81\xa2\xbd\xa0\xe8\x0a\x28\xbe\x03\x14\x7f\x08\xec\x2d\xc0\xfe\x26\x70\x4c\x02\x8e\x3a\xe0\xf8\x0a\xac\x1d\x09\xd6\x5e\x06\x25\x15\xc0\x39\x16\x38\xbb\x41\x69\x36\x28\xed\x03\xa5\x2f\x83\xd2\x9f\x81\x6b\x0c\x70\x4d\x05\xae\x7b\x81\xab\x00\xb8\x9a\x80\xeb\x39\xe0\x7a\x0d\xb8\x3e\x04\xee\xd1\xc0\xdd\x0e\xdc\xff\x02\x1e\x16\x78\xc6\x01\xcf\x1d\xc0\xb3\x0c\xac\x83\x60\x1d\x02\xeb\x6a\x80\xf7\x6e\xe0\x6d\x07\xbe\x1c\xe0\xbb\x1d\xf8\xa6\x01\xdf\x76\xe0\xfb\x04\xf8\x22\xc0\xbf\x15\x94\x6d\x05\xe5\xd3\x40\xc5\xdd\xa0\xc2\x0e\x2a\x42\xa0\x72\x1e\xa8\x7c\x03\x54\x8d\x04\x55\x8d\xa0\x7a\x1c\x58\x6f\x06\xeb\xcb\xc0\xfa\x27\xc1\x06\x1d\xd8\xd0\x00\x36\xbc\x07\x6a\xfe\x01\x36\x8a\xc0\xc6\x3d\x60\xe3\x2f\x60\x63\x14\xd4\x3e\x01\xea\xf2\x40\xdd\x5e\x50\xf7\x3e\xa8\x4f\x06\xf5\x0b\x41\x7d\x33\xa8\xff\x0e\x34\xe4\x82\xc6\x24\xd0\x98\x07\x1a\x37\x80\xc6\x1e\xd0\x78\x16\x34\xe9\x41\x53\x2b\x68\xce\x01\xcd\x4b\x41\xf3\x0e\xd0\xfc\x33\xd8\xb4\x18\x6c\x6a\x01\x9b\x13\xc1\xe6\x02\xb0\xf9\x33\xd0\xa2\x04\x2d\xf7\x83\x96\x76\xd0\xf2\x05\xd8\xf2\x02\xd8\x7a\x2f\x08\xa4\x82\xc0\x49\xb0\xed\x6e\xb0\xed\x75\xb0\xfd\x3b\xd0\xfa\x25\xd8\x71\x33\xd8\xb1\x01\xec\xb8\x00\x76\xde\x04\x76\xde\x03\x76\xb6\x81\x9d\xe7\xc0\xce\x4f\x40\x5b\x2f\x68\x5f\x03\x82\x4f\x80\xae\x74\xd0\xf5\x02\xd8\x5d\x0a\xba\x11\xe8\xee\x00\x7b\x20\xe8\x59\x0c\x7a\xdc\xa0\xa7\x1f\xec\x1d\x04\xbd\xff\x06\xfb\xb2\xc0\xbe\xad\x60\xdf\x65\xd0\x77\x1b\xe8\xab\x04\x7d\x2f\x83\xfe\x9d\xa0\xff\x0d\xb0\xff\x35\xf0\x88\x11\x3c\x5a\x04\x0e\x4d\x06\x87\x05\xe0\xf0\x5d\xe0\xf0\x7b\xe0\x88\x1a\x1c\x79\x00\x1c\x7d\x08\x1c\xfd\x05\x1c\xcb\x02\xc7\xbe\x07\x8f\x7d\x03\x4e\xec\x00\x27\x93\xc1\xc9\x0b\xe0\xd4\x78\x70\x2a\x0f\x9c\xaa\x00\xa7\x8e\x80\x53\x4f\x82\xc7\x57\x82\xc7\x87\xc0\xe9\x07\xc1\xe9\x7e\x70\xe6\x11\xf0\x44\x0b\x38\x2b\x01\xe7\x6e\x01\xe7\xf6\x80\x27\x59\xf0\xe4\x15\xf0\x54\x3e\x78\xea\x4d\xf0\xf4\xeb\xe0\x99\x13\xe0\xd9\xa9\xe0\xd9\x8f\xc0\x73\x4a\xf0\xdc\x31\xf0\x8f\xf9\x60\x70\x3d\x78\xe1\x29\xf0\xe2\x64\xf0\x52\x12\x78\xa9\x17\xbc\x7c\x1f\x78\xf9\x31\xf0\x4a\x11\x78\xe5\x38\x38\x7f\x1b\x38\xff\x3e\x78\xf5\x3c\xb8\xd0\x03\x2e\x76\x81\xd7\xb6\x80\xd7\xb7\x81\xd7\x2f\x80\x37\xd2\xc1\x1b\x1b\xc0\x9b\x6b\xc0\x9b\x47\xc1\x3b\x2b\xc0\x3b\xbd\x20\x74\x0b\x08\xfd\x13\xbc\x3b\x1f\xbc\xfb\x3c\x78\x0f\x82\xf7\x7e\x02\xff\x7e\x06\xbc\xaf\x05\xef\xbf\x0f\x3e\xf0\x80\xcb\xb9\xe0\xc3\x11\xe0\xc3\xcf\xc1\x47\xb3\xc1\xc7\x0a\xf0\x69\x2e\xf8\x6c\x2b\xf8\x3c\x0c\x3e\x1f\x06\x5f\xbc\x06\xbe\x7c\x0e\x7c\x35\x00\xbe\xfa\x03\x7c\x5d\x0c\xbe\x7e\x02\x7c\xfd\x6f\xf0\x7f\x7f\x80\x6f\xfc\xe0\x9b\x8f\xc0\xb7\xc5\xe0\xdb\x30\xf8\x7e\x22\xf8\xfe\x23\xf0\xc3\x31\xf0\xe3\x08\xf0\xe3\x66\x70\x65\x1d\xb8\xf2\x05\xf8\xf9\x4e\xf0\xf3\x55\xf0\xcb\xa7\xe0\x3f\x6e\xf0\xeb\x2a\xf0\x5f\x2d\xb8\x9a\x05\x86\xac\x80\xce\x87\x20\x0f\xc2\x73\x50\xd0\x0f\x85\x42\x28\x3c\x0a\x45\x99\x50\xf4\x36\x64\x3e\x81\xe2\x62\x28\xfe\x12\x4a\xb6\x40\xc9\x00\x94\x7c\x0a\x13\xc7\x40\x84\x21\xfa\x02\xe2\x45\x10\xef\x82\xd2\xdd\x50\x36\x17\xca\x27\xc3\xa4\x74\x98\xcc\xc0\xe4\x2a\x98\xb2\x0e\xa6\xbc\x0b\x55\x1f\xc0\x34\x23\x4c\xfb\x0a\xde\x14\x81\x23\xce\xc1\x8c\x5d\x50\x3d\x01\x6a\xb4\x50\xb3\x10\x6a\xf6\x40\x76\x1a\xd4\x36\x43\xdd\x0e\x38\xf2\x2c\x1c\x75\x07\x1c\xf5\x39\x1c\x3d\x15\x8e\xb6\xc3\xd1\x9f\xc0\x9b\x53\xe1\xcd\xdb\xe0\x98\x7c\x38\xb6\x18\x8e\x9b\x0d\xc7\xb5\xc1\xf1\x0c\x1c\xbf\x1d\x8e\x3f\x0d\xc7\x7f\x08\xc7\x7f\x0c\xc7\x7f\x0a\x6f\xd1\xc0\x5b\x9e\x83\xb7\x3e\x07\x6f\x1b\x0d\x6f\x3b\x08\x27\x74\xc2\x09\x9f\xc0\x89\x77\xc2\x89\x1e\x38\xf1\x2c\x9c\x34\x17\x4e\x7a\x00\x1a\xef\x80\xc6\x43\xd0\xb4\x11\x9a\x7e\x81\x66\x31\x34\xb3\xd0\x6c\x80\xe6\x3b\xa0\x79\x27\xcc\x4e\x84\x39\xa3\x61\xee\x6e\x98\xfb\x3a\xbc\x7d\x12\x9c\x3a\x17\x4e\xfd\x16\x4e\xcb\x85\xd3\x28\x9c\x3e\x1e\x4e\x7f\x08\x4e\xef\x86\xd3\x9f\x87\x77\xa4\xc1\x3b\x97\xc3\x19\x4b\xe0\xcc\xb7\xe0\xac\x67\xe0\x6c\x25\x9c\x33\x13\xce\x3d\x0f\xe7\x6d\x85\x77\xdd\x02\xef\x3a\x00\xef\x16\xc1\xbb\x4b\xe1\x82\x79\xf0\x1e\x0d\xbc\xe7\x7d\xb8\x70\x35\x5c\xb4\x02\xde\xfb\x1c\x5c\x5c\x09\xef\x9b\x01\x97\xc8\xe1\xfd\x63\xe1\xfd\x4e\x78\xff\x1f\x70\xe9\x51\xf8\xe0\x69\xb8\xec\x76\xb8\x6c\x09\x5c\xf6\x30\x5c\xf6\x15\x5c\x2e\x81\xcb\x57\xc1\xe5\xef\xc0\x15\x75\x70\xc5\x0b\x70\xe5\x04\xb8\xd2\x05\x57\x9e\x87\x0f\x15\xc2\x87\xda\xe0\xaa\x62\xb8\x7a\x39\x5c\xfd\x0d\xe4\xf4\x90\xfb\x12\xae\x31\xc1\x35\x17\xa1\x75\x3f\xb4\xfe\x04\x0b\x66\xc1\x42\x01\x2c\x9c\x0a\x0b\x1f\x84\x85\xe5\xb0\xb0\x07\xda\x46\xc1\xa2\x11\xb0\xe8\x1b\x58\xec\x86\xc5\xaf\x43\xfb\x22\x68\xff\x27\x74\x94\xc0\xb5\x33\xe0\xda\x0f\x60\xc9\x25\xe8\xfc\x18\x96\x36\x40\x57\x1f\x74\xf7\x43\x4f\x14\xae\xb3\x43\xef\x4e\xe8\x7f\x0a\x96\x95\xc0\xf2\xe5\xb0\xa2\x08\x56\xfe\x08\xab\x97\xc2\xf5\x5e\xb8\xa1\x01\xd6\x4c\x81\x1b\x19\xb8\xf1\x49\x58\xdb\x08\xeb\xa2\xb0\xfe\x24\x6c\x7a\x00\x36\x6d\x87\x4d\xd7\xe0\xa6\x32\xb8\x59\x07\x5b\x94\x70\xcb\xab\x70\xeb\x4a\xb8\x95\xc0\xc0\x05\xb8\xad\x1b\x6e\x97\xc1\xed\x7e\xd8\x9a\x06\x5b\xf7\xc1\x1d\xf3\xe1\x8e\x1f\xe0\xce\x93\xb0\x7d\x23\x6c\x7f\x1b\xb6\x7f\x08\xdb\xbf\x86\xed\x3f\xc3\xf6\x21\xd8\x71\x14\x06\x77\xc2\xce\xf3\xb0\xeb\x26\xd8\x65\x80\x5d\xf3\x61\xd7\x21\xb8\xfb\x66\xb8\xbb\x0d\xee\x3e\x0e\xf7\xbc\x08\x7b\x76\xc0\xbd\x05\xb0\xf7\x0f\xb8\xef\x1b\xd8\xf7\x06\xdc\x3f\x06\xee\x3f\x0c\x0f\x4c\x85\x03\x17\xe0\xc0\x6b\x70\xe0\x0d\x38\xf0\x16\x1c\x78\x07\x0e\x84\xe0\xc0\x7b\x70\xe0\x7d\x38\x70\x19\x0e\x7c\x04\x07\x3e\x81\x03\x9f\xc1\x81\x2f\xe0\xc0\x57\x70\xe0\xff\x86\xff\x08\x10\xa1\x46\xa4\x23\x42\x48\x84\x44\x18\xb6\x10\xa1\x80\xf8\x89\x50\xa5\x11\x8d\x0c\x5b\x34\x91\xcf\xa2\x16\x31\x15\x52\xa1\x6a\xc8\xb8\x18\x0d\x1b\x35\x11\xc0\xc8\x35\x91\x77\xe5\x23\x0b\x58\x82\x34\xa2\xa0\x40\x23\xba\x10\xae\x56\xd1\x7d\x64\x32\xd9\x47\x26\x9f\x3f\xde\x7f\xd9\x7e\x3e\x7d\x01\x49\xb0\x9f\x9f\xd6\xbf\xc8\x9e\x4e\xf7\xd1\x49\x22\xf2\x8a\xf8\x32\xa2\xca\x5f\x10\x7d\x45\x4c\xf7\x91\x49\x8b\x8e\x4f\x2b\xb7\x2f\x4a\x5f\x40\x13\xec\x8b\xfa\xa7\x9d\xb7\xa7\x93\x7d\x74\x32\xdd\x47\x27\x2f\xb2\x97\x4f\x3b\xbe\x28\xfd\x22\x4d\x38\xbe\xe8\x72\xf9\xf9\xe3\xe9\x64\x1f\x99\x24\xa2\xaf\x90\x41\x44\x5e\x11\x93\x7d\x74\xd2\x79\xfb\xe5\xfe\xe3\xe7\xd3\x2f\x92\x84\xe3\xe7\xcb\x2f\x2f\x3a\x9e\x2e\xa7\x7f\xf4\x97\x93\xed\x6c\xd4\x18\x36\x92\x6f\x58\x6a\xb9\x88\xa2\xc6\xa8\x31\xfe\xcd\x26\xb5\x4c\x43\x61\x63\xd4\xf8\x31\x4b\x2c\x33\x51\xd8\x18\x36\x8a\x17\x22\xf9\x70\x6d\x80\x84\x86\x32\xc9\x93\x30\xac\x24\x21\xc1\x90\x85\x1c\x53\xed\xaf\xea\x2d\xd3\xd2\x26\xa6\xac\xaa\xaa\x4c\x47\x9b\xc4\x65\xbd\x55\xfb\xb5\xa4\x89\xd9\xdf\xdb\xbb\x5f\x47\xde\x1a\xfa\x48\x45\xaa\x68\x13\xb9\x93\xae\xa5\x6b\xe8\x44\x23\x9d\x47\x81\xb6\xae\x6a\x47\xd9\xde\x8d\x24\x87\x26\x8f\xd8\xd4\xd1\xd1\x12\x54\xef\xea\x6a\xeb\xec\xd0\xbd\xfc\xee\xc1\x83\x07\xf7\x4a\xf6\xec\x3f\xd3\xfd\xa4\xfa\xa3\xd0\xf2\xfb\x17\x94\xac\xbd\xc3\xae\x33\x14\x50\xe9\xcd\x54\x96\xb1\x5a\x5c\xd6\xed\x88\xc9\x3e\xb0\xf7\xe1\xfd\xba\x80\xf8\xd0\xc9\xb7\x5e\x7e\x4c\xfb\xfd\x20\x51\x85\xc8\x92\x0c\x79\xff\x5f\x5e\xf4\x8f\x70\x30\xac\x24\xdb\x59\x0d\x9d\xa1\x67\x35\xc2\xc1\x99\x48\xde\x2f\x27\x46\x04\x87\x82\x24\x28\xd0\x30\x07\x35\xa2\xb9\xaa\x67\x17\x06\x8b\xb4\x9a\x48\x1d\x53\xb4\xb0\x61\x85\xeb\x80\xab\xaf\x42\x37\x24\x1d\x96\x8a\x86\x83\x34\x24\xae\x47\x11\x25\xf3\x25\x4b\x43\x43\x41\x66\x48\x3a\x24\x15\xf5\xf5\x1d\x38\x74\x28\x43\xde\x5f\x0e\xc9\x33\x88\x54\x22\xc1\x62\xa4\x11\x8d\x54\xf1\xd7\xd5\xfa\x86\xad\x2d\x0d\xda\xe1\x10\x0d\x8a\x0a\x36\xba\x8b\xac\x19\xd7\x56\x92\x51\x68\x68\xb9\x78\x28\x48\xea\x45\xd1\xc7\xc8\x28\x24\x1f\x19\x20\xc1\x88\xf2\x14\x8a\x28\x49\x50\xb0\x09\x0d\x59\x66\xa0\x01\x56\x27\xef\xa7\xca\xf8\x4d\x77\x28\x48\xf2\xd9\xd3\xec\xd1\x1e\x56\x13\x99\x51\x87\x86\x82\xe2\x7e\xdf\x81\xb2\x81\x0a\x72\x33\x4d\x20\x63\xa8\x90\xe8\xa8\x44\x72\xcf\x7b\xdf\xde\xf1\x5f\xf5\x36\x66\x1b\xf3\xdf\x6f\xdf\xbf\xf0\x9e\x8e\xe8\x88\x84\x8c\x21\x42\x72\x33\x49\x18\xe8\x3b\xb0\xbf\xff\xa0\x64\x38\x28\x8e\x9c\x10\x9a\x73\xa9\x60\xfe\x32\x2d\xcd\x18\x4d\x33\x46\xd1\xf4\x51\x92\x35\x4b\x27\x4c\x99\xa3\xde\xca\x6c\x65\xe6\x4c\xf8\xe6\xec\x52\x1d\x4d\xff\x8d\x66\xfc\x46\x33\xae\x4a\xb2\xde\x59\xf2\x13\x61\x32\xe6\x22\x2d\xe9\x63\x4f\x35\x73\x5e\x1d\x51\x9e\xfc\x1d\xf5\xaf\x60\x35\x62\x20\x88\x28\xa9\x52\x45\xdc\xec\x71\x44\x9b\x88\x87\xae\xea\x68\xd2\x0d\x09\xa3\x3f\x89\x6a\xbb\x7a\x9a\x7b\xd4\x72\xe2\x67\x4f\xb3\x11\x99\xea\x70\x49\x97\x6f\x87\x36\xba\x35\x44\xcb\xc2\x2b\x45\xfb\x1a\xaa\xf7\xfb\xd5\xe5\x6c\xf8\x01\x5a\x27\x6a\xea\xea\xde\xd4\xad\x3e\xd4\x75\xf0\x61\xb2\x02\x11\x3f\xab\x11\xae\x0b\x1f\x52\x5d\x8a\xe6\x46\x65\x64\x65\x54\x4e\x57\x86\xc2\xb9\xf4\x65\xf2\x5c\xf8\xf6\x57\xc9\x7d\xe1\x14\x72\x5f\x34\x25\x7c\xfb\x42\x11\x59\xf7\xca\xff\x3f\x52\x0f\x3c\x42\x56\xa0\x68\xed\x0a\x76\x0b\x2b\xd8\xc2\x12\x56\x45\x7a\xe6\x93\x7f\xd1\x3d\x5a\xd2\x83\xe8\x9e\xf9\xf4\x5f\xb4\x87\x8e\xfb\x81\x62\x92\xa8\x1b\xfa\x9e\x21\x89\x3f\x10\x4c\xc6\xe9\x68\x30\x82\x55\x56\x76\x3f\xd2\xca\xc9\xad\x34\x48\x36\xc4\xef\xad\x41\xe2\x43\x61\xe5\x82\x0a\x36\x12\x1c\x0e\x12\x80\xae\x05\x35\xc2\x3a\x02\x58\x3f\xab\xa1\x3c\x8d\xf2\xa7\x04\x50\x58\x19\x55\x56\xb0\x44\x49\x8c\xaa\x65\x48\x33\x34\xb8\x0a\x69\x22\x83\xc5\xac\x86\x99\x71\x01\x8d\xec\x2f\x27\x5f\xa3\xa1\x60\x38\xa8\xea\x60\x37\x21\x61\x07\x1b\x51\x46\x95\x37\x78\x39\x79\x84\x0d\x07\xc9\x99\xe5\xec\x90\x45\x68\x40\x43\x4a\x1a\x5a\xce\x0e\x2b\x35\xc2\xc1\x98\x1d\x69\x69\x88\xb9\xee\x7f\xe2\xa5\x67\xd7\x0c\x6a\x49\x88\x19\x3c\x7b\x76\x50\xc7\x0f\x3c\x8d\x62\x03\x4f\xa3\xd8\xd4\xff\x2f\x49\x5b\x58\xf2\x6f\xf6\x9a\xe5\xc6\x6c\x32\x15\x69\x28\xd0\x08\x07\x97\xb3\xff\xcf\x4f\x86\x2c\xc2\x87\xfe\xde\x23\xef\xef\xd6\x08\x07\x20\x91\x69\x18\xb9\x40\xc3\x6c\x8e\xac\x56\x0d\xd4\x0f\x54\xf5\x6a\xa9\x86\x68\x48\x02\x1a\x1e\x33\x3c\x96\x3e\x4d\x9e\x21\x09\x88\x6a\xa8\x86\xdc\xcd\x92\x6b\xf4\x1a\xe1\xd9\xa5\xec\xc0\x40\x67\x6f\xaf\x8e\x68\x88\x66\xc8\x3e\x64\x17\xf5\xf6\x76\x0e\x0c\x64\xc8\xe9\x1f\xad\xe5\x90\x24\x68\x84\x03\x02\x8d\x28\x85\xac\xbd\x21\xf0\x69\x12\x7b\x5d\x1f\xf6\x37\x14\xfa\x34\xff\x22\x4f\xff\x05\xe5\xe9\xeb\x7d\x77\xb3\x7f\x07\x8b\xc9\xa0\x4f\xff\x0d\xfd\x06\x32\xef\x68\x4b\xd9\xb0\xf2\x14\xe2\xdf\x49\x50\x19\x8d\x04\xc9\x25\x44\xfd\xc4\xcf\x5c\xff\xf9\x0c\xf5\x53\xbf\x38\xfe\xec\x8d\xf8\xa9\x9f\x79\x1c\x69\x2f\x7a\x11\xf1\x13\xbf\xf8\x0e\x44\x94\x47\x67\xf0\x97\x65\xdd\x5f\x24\xf1\x4e\xab\xfc\x2c\x26\x27\x1a\xba\xfe\xd4\x2e\x1c\xf2\xfe\x65\x2c\x8d\x7f\x8f\xc8\x47\x9d\x6f\x91\xd2\x13\x7b\x9a\x47\x36\x53\x21\xf1\xd3\x07\xc9\x38\xed\xfd\x67\x6f\xaf\xb3\x2e\x59\x73\x7f\xd7\xed\x2f\x5a\x25\x24\xed\xd6\xf7\xe8\xad\xd4\x9c\x71\x81\xa5\xc7\x69\x75\x58\x88\x88\xf9\x3d\x72\x2b\x49\xbb\xa2\x7d\xf1\x89\xae\x8f\xd6\xbc\x68\xfd\xd7\xd4\x5d\x4b\xd6\x48\xe8\x83\x74\x1c\x15\x52\x3f\xdd\x9c\x41\x2e\xb1\x64\x31\xab\x1d\x56\x0e\x05\x55\x6f\xdf\xf7\xd2\x9c\x39\xf7\xdd\x37\x47\x3b\x1c\x7f\x34\x4e\xae\xb1\xb1\x30\x12\xc3\x27\xdd\xac\x80\x04\x7f\x58\x8e\xf8\x10\x4d\x72\x10\x0d\x91\x71\x6c\x98\xe7\xa2\x3c\x17\xb1\x90\x1c\x74\xcd\x42\xc6\xb1\x1a\xd1\x20\xc9\x41\x9a\xc8\x8c\x9f\x91\xdc\x86\x22\xc1\x21\xe5\x7a\x14\x0e\x12\xa8\xda\x5b\xdb\x53\xdd\xaa\xa5\x0b\x1e\xad\x3f\x56\x73\xac\xfa\x68\xfa\x63\x4f\x9f\x3c\xf7\xd8\x53\x92\x9d\xed\xad\xed\xc1\x8c\x8e\x2d\x1d\x9b\xda\xb4\xd6\x97\xe7\xbc\xba\xf4\x59\x49\x5b\x53\xc3\x8e\x06\x75\x43\x43\x4b\x73\xb3\x8e\x8e\x1e\xe9\xda\x53\xda\xe5\xec\x4c\x77\x93\x7b\x44\x7b\xb7\xac\xdf\x5d\xa5\xa6\x5e\xa6\xaa\xa6\x76\xfd\x66\xdd\xfa\x7b\x9b\xe7\x37\x2d\x72\xd6\x3b\x37\xba\x36\x50\xed\xef\x23\xda\x1a\xf9\x89\x0e\xaa\xa6\xe3\xd6\xfa\x74\x9b\x9a\x36\x37\x35\x64\x34\xec\x68\x6c\x6b\xd2\x9e\x5c\x7d\x62\xf5\x63\x2b\xd7\x97\x6e\x2c\xad\x2f\xa1\x8b\xdc\x23\x36\xb4\xd4\x56\x6d\xc8\xa0\x5e\x71\x75\xd7\xfa\xbd\x2d\x5a\xb2\xc0\xd3\xe9\xe8\x5e\xbb\xb7\x24\xdd\xf1\x50\x11\xe7\x58\x25\xd9\xd4\xd4\xd2\xd4\x90\xd1\xb8\xbd\x71\x67\x93\xf6\x89\xfb\xde\x5e\x38\xb8\x52\xd2\xd4\x1e\xdc\x1c\x54\x07\x83\xb1\x27\x7a\xa3\x7e\x3f\xb4\xe1\x70\xed\x91\xfa\xf4\x47\xe9\x3d\xa2\xea\xed\x3d\x1b\x7b\xd5\xc4\xcb\xf4\x76\x77\xf5\xec\xd0\xf5\xbc\xd2\xf6\x5a\xfb\xf9\x23\x9d\x47\x76\x1f\xda\x43\xb4\x14\x8c\xd8\xd4\xc1\xcf\x7c\x8c\xa8\xc9\xf8\xa3\x07\x75\x6d\xb1\x0d\x07\x37\x07\x9b\xdb\xb5\x45\x4f\x16\x9f\x73\x3c\xdb\x73\xa8\xeb\xf0\xae\xa3\x64\xe1\xa3\x23\x7a\x5a\xbb\x7a\xf7\xf0\x46\x5e\xca\x46\x62\xcf\x18\xc9\x49\xf6\xfa\x97\x2d\xbf\xb1\xe1\xe0\xd0\x19\xd5\x5e\x96\x04\xc3\xa1\xbf\x10\x25\xbd\x45\xb5\xd2\xe3\xde\xa4\x1d\x0e\x31\x9b\x3c\x8f\x3e\xa3\x8b\xdc\x15\x51\x5e\xbb\x4b\x3c\x6c\x8c\x9c\xff\x14\x3d\x5b\x71\xef\xe9\xa5\x6a\xde\xfd\xef\x2d\x58\x51\xa1\x9b\x43\xa7\x8a\xe8\xab\x6f\xb0\xd7\xee\x61\x68\xc2\xa5\xac\x2f\xb5\x43\x21\xe6\xcb\x4b\xdf\x91\x04\x5d\xe4\x2e\x52\xc6\x07\x19\xb8\x09\x91\xa0\xc0\xcf\x86\xcf\xa8\xb6\x07\xb6\x6f\xdd\xae\x8d\x5e\x0a\xbb\xa2\x97\xa2\x2e\xd1\x96\xad\x5b\xb6\x64\x44\xfd\x53\x58\x72\x1e\x91\x60\x54\x49\x42\x2c\xf1\x85\x9f\x52\xed\xda\xbd\xa5\x7f\xe3\x2e\xea\x26\xf3\x47\x84\x27\x56\xb3\xf4\x41\x31\x6d\x21\x6b\xac\xc7\xe7\x05\xac\xf6\xf4\xe1\x82\xe8\x0f\x1b\xeb\xb6\x94\xef\xda\x98\xfe\xea\xcc\x9d\xcd\x1d\x9b\x3b\xb6\xa6\x07\xb7\x76\xb4\xb6\xef\x1c\xba\x2b\xfc\xee\x88\xa1\xbb\xa2\xef\x8a\x36\xb5\xb5\x6f\xe9\x88\x3d\x18\xef\xd8\xd6\xb1\x63\x67\xdb\xab\xef\x8e\x90\xb7\xa0\x48\x90\xa4\xa2\xa1\x20\xa9\x40\xa3\xd8\xb0\x91\xe1\x1d\xc1\x1f\x36\x12\x65\xf8\x4c\xfc\x77\x33\xe1\x33\x44\x19\x36\x12\xbf\x20\xa2\x8c\xf8\xc9\x6b\x88\x5e\xa5\x7e\x37\x22\x16\x14\x36\xfe\xa0\xba\x19\x91\x5b\xfb\xcb\x49\x88\x58\x96\xb2\xf0\x39\x8d\x58\x23\x88\xfc\x10\x3e\xa9\x5a\xbf\x6d\x43\xed\x06\x35\x6d\x61\x36\x6c\xe8\xea\xd9\xa6\xdb\x21\x3e\x48\x42\x84\xb2\x64\x11\x89\xb0\x07\x69\x48\xb4\x59\x3c\x14\x88\x16\xab\x4e\xd7\x9d\xde\x70\x42\x1b\x35\x45\x0e\x89\x06\xea\x3d\xfb\x3d\x6a\xfa\x0d\x89\xb0\x7b\xa8\x45\x54\xb5\x6d\x63\x4d\x95\x9a\xde\xce\x54\x6d\xec\xee\xdd\xa6\xdb\x43\x2c\x84\xb2\xf4\x1b\xc6\xe3\x29\xf3\xd6\xeb\xa2\xa6\x6b\x87\x44\x1b\x8a\xeb\x0a\x0a\x32\x5c\x1d\xdc\x29\xed\x90\x85\xa9\xae\xe1\xc7\xf5\x91\x20\x0f\x33\x40\x22\x6c\x1f\x0d\x8a\xaa\xb6\xd5\xd4\x54\xab\x87\x2c\xcc\xa9\x8e\x73\x87\x62\xe1\x20\xc2\x07\xda\x20\x4b\x2c\xff\x42\xd1\x42\x86\x8f\x52\xa2\xe2\xa2\x95\x15\xcb\xd4\xcb\x56\xf6\x9d\x28\xd2\x51\x35\xd1\x88\xa2\x36\x62\x46\x11\x99\xea\x40\xbd\xbf\x67\x9d\x9a\x06\xc3\x16\x86\x2c\x60\xa3\x16\x1a\x14\x93\xcf\xd8\xb0\x25\x6a\x19\x41\xb4\x28\x6c\x09\x5b\xf6\xf5\xee\x7c\xb4\xfe\x60\xba\xbc\x92\x0d\x1b\x49\x90\x57\x92\x32\x27\x72\x35\x7c\xf5\x4b\x44\xae\x56\xb3\xf4\xea\xff\xef\x9f\x2c\x92\x22\x96\x5e\x0d\x87\x72\xd9\xbf\x89\xf8\x75\xe8\x16\xd5\xce\xae\x96\xdd\x0d\x9d\x34\x44\x42\x23\xda\x9a\x1a\x5b\x1b\xd5\x8d\x8d\x2d\xcd\x4d\x3a\x7a\x89\x5e\x12\x35\x37\x6d\x6e\x6c\xc8\x18\x87\x02\xc4\x42\xaf\xfe\x8c\xc8\x55\x62\x11\xef\xee\xea\xe8\xda\xa9\xa3\xbf\x86\xfb\x73\xd9\xfe\xf2\x48\x88\x58\xbe\x42\x91\x8e\x70\x48\x35\x91\x5a\x44\x34\xc4\x4c\x24\x16\x11\x7d\x8b\xd9\xbe\x73\x5b\xdb\xf6\x9d\xc4\x1e\x6e\x1a\x31\xb4\x8c\x21\xf6\x68\xd3\xf6\x4d\xdb\x9a\xb7\x6f\x4a\x27\xcb\x4b\x55\x27\xea\x06\x6b\x1e\xd3\xd2\x86\xf0\xb3\xa2\x63\x35\x05\x0f\xdb\xd5\xc3\x21\xc6\x5e\xb0\x6e\x6d\x8d\x8e\x36\x44\x9f\x15\xd5\x38\xea\x96\x16\x67\x44\xcb\xc9\x4e\x74\x96\xd5\x08\xfb\x87\x94\xaa\x03\xb5\xfd\x15\xbb\xb4\xd1\x33\x24\x54\xd9\xe5\x0d\x54\xd4\xa5\x57\xd4\xd6\x96\xfb\x33\x86\x95\x62\x72\x0f\xbb\xab\xb5\xad\x53\x17\x3e\x43\x42\xa2\xbe\x5d\x5d\xfd\x07\x32\x88\x32\xed\x66\x44\x7e\x66\x03\x24\x98\x7a\x72\x31\x22\x17\x58\xc2\x22\x9a\x46\x55\x23\x48\x3a\x1d\x45\xef\xbf\x4c\x97\xab\xc9\x1e\x44\xaa\x88\xf3\x17\x32\x9b\x8c\xd3\x75\xee\x0e\xec\xab\xdd\x45\x59\xa2\x1d\xd1\xd6\xd4\xd0\xda\xa0\x6e\xd8\xda\xb0\x79\x53\x93\x84\xa6\xde\x4a\xc7\xe7\x51\x83\x9a\x8c\x41\xe4\x26\x92\xb4\xdc\xf8\x9d\x2e\xf5\x2d\xaa\xa5\x5a\xb2\x00\x85\x2d\x0e\x1e\x84\xb4\xb0\xa9\x27\x35\xa2\x6f\xc2\x7e\xd5\xde\x9a\x3d\x55\x5a\x6a\x61\x36\xd4\x37\xd4\x6c\xd2\x55\x17\xd4\xda\x7c\x85\x12\x3a\x71\x32\xcd\x9d\x42\xe7\xaa\xa9\x8a\x26\x3f\xf7\xe5\x24\x1d\x61\x09\xfb\x06\xca\x62\xa3\x16\x13\x8a\x5a\xc4\xa9\x6f\x5d\x42\x44\x45\x54\x22\xaa\x26\xa3\xc9\x7d\x77\x90\x07\xd5\x61\x11\x79\x92\x04\xc8\xef\x9f\xe9\xb6\x6d\x0f\xb4\x6e\xcf\x18\x18\x3a\xa3\xfa\x36\xb6\x01\x11\xc9\xa0\xa3\xe9\xfd\x1f\xd0\x65\xea\xa8\x88\x3e\x43\xb7\x52\x62\xd2\x6d\x09\xb4\x6c\xc9\xa8\xee\xde\xd0\xab\x25\x2b\x99\x3d\x9d\xc1\xee\x9d\xba\xbd\xa7\xbb\x4e\x1d\x7c\x5c\x42\x26\x7e\x4b\x72\xbf\x21\x73\xd5\x44\x45\x92\x57\x18\xbe\xd7\xf1\x4b\x0f\xc6\x56\xde\xff\xbf\x1f\x5c\xe6\xf2\xb6\xaa\x14\x84\x95\xe4\xea\x68\x96\x84\x84\xa3\x50\xec\x6d\x13\x8a\x5a\x54\xff\xe0\x3b\x6e\xbc\x29\x87\x95\x37\x8a\xce\x50\x28\xf6\xec\x79\x1e\x3b\x1c\x12\x13\x65\x24\xf4\x3b\x8a\xfe\xd1\x5f\xae\x11\x0e\x12\x0b\x24\x0e\x3e\x3f\x58\x04\x24\x34\x14\x54\x11\x8b\x98\xa4\x20\x6a\x11\x93\xd0\x04\x62\x40\x25\xc4\xc2\x90\xad\x74\x35\x59\x4d\xb7\xd2\xad\x74\x35\x5d\x4d\xb7\x6a\xa9\xa5\xe4\x53\x56\xde\x5f\xc0\x92\x4e\x96\x84\xc8\x05\xb6\x1c\xad\x1a\xc8\x7f\xdc\xaf\xd5\x50\x79\x09\x7b\xd1\x8b\x34\xc2\x5f\xc5\x8f\x1f\x18\x38\xf3\x54\x86\x46\x34\xb8\xa0\x18\x71\x74\x3a\xd5\xd0\x2c\xb5\xd3\xb5\xb3\xdb\xad\x7b\x8d\xea\xa8\xe2\x79\x9a\xa5\xa6\xa3\xe9\xa4\xfb\x17\xd0\x14\xdd\xba\x8d\xae\x1a\xdf\x7a\x49\x65\x4d\x6d\xb5\x2f\x63\xb8\x5a\x3c\x99\xed\xea\x6c\x6d\xdb\xa5\x7d\x97\x68\xc9\xd4\x4b\xc4\x40\x5c\x5f\xd2\x91\xe4\x1e\x35\xb9\x89\x24\xff\xf3\x3c\x11\xe9\x0e\xed\x39\xd0\x7d\x32\x43\x3e\xf2\xc6\x16\x02\xc4\x42\x42\xb1\xa7\x04\x21\x62\x11\x9c\x66\x87\xb4\xaa\xf0\x94\x68\x32\xf9\x39\xfa\x60\xf4\xc1\x68\x32\xfd\x39\x3a\x85\xc2\xbe\x51\xa7\x6f\xd1\xf6\xad\x20\x0b\xd7\x8a\x28\x3c\xf4\xd3\xed\x04\xab\x4b\x66\xa3\x70\x88\xdc\x83\x4a\xc4\x13\x72\x96\x4e\xe7\x74\xf3\xba\x44\x95\xaf\xd6\x5f\x7c\x23\x83\xfc\x93\x3c\x4f\xf6\x92\xef\xc8\x77\xe4\x79\xba\x97\xfe\xf3\xae\xfa\x05\x95\x0b\xb5\xf3\x6a\x45\x1f\x70\x39\x83\x13\xd4\x47\xc5\x7b\xd9\xa3\x62\x82\x7f\xfa\x88\xc0\x43\x3a\xb2\xf0\x58\xdf\xb3\xa2\xd3\x3f\xf5\xfd\x46\x60\x86\xfc\x5a\xed\x51\x8d\x70\x10\x06\x86\x82\x02\x2f\x2b\x8f\xfe\x11\x6b\xf1\xc9\x44\xe0\x65\xc3\xca\xf0\x19\xd5\xcf\x8b\xae\x4c\x3a\xa9\xdd\xd1\xd8\xb0\xad\x51\x6d\x77\xb9\x8b\x75\x77\x12\x49\x3f\x95\x51\x19\x95\xf4\xdf\x99\x51\x7c\xc8\x7d\xbc\x23\xb8\x6d\x47\x87\xf6\xbb\x53\xe7\x7f\xfc\x39\x43\x3e\x52\x23\x9a\x57\xc1\x0b\xe0\xd0\xff\x2b\x01\x24\x98\x46\x38\x2a\x27\xf7\xd1\xc5\x97\xc9\x55\xd6\xdd\x53\x79\xa0\x56\xf7\x48\xcd\x40\xed\xc1\x2a\xc9\x4f\x79\x2f\x51\x31\x95\x67\x50\xf9\x7d\x54\x7c\x4b\x9e\xd6\x57\xe5\xad\xf5\xd4\x48\xfc\xb5\xeb\x2b\xdd\x19\xab\xd9\x13\x1d\xc1\xed\xad\x1d\x5a\xb2\xf8\x32\x91\x93\xfb\x08\x17\x93\xf5\x0a\x5d\x40\x8e\xd0\xe3\x44\x46\xae\xb2\xae\x3d\xeb\x0f\xd6\xe8\xba\x1b\x7b\x36\xed\x69\x7c\x74\xc3\xa3\xd5\x0f\x57\x4a\x48\x0e\x95\xfd\x48\xef\xa7\x6b\x32\xe8\x9a\xdb\xe8\xfd\x34\x87\xca\xb4\xeb\x2a\xdd\xd5\xee\x0d\x1b\x1a\xd7\x6f\xaa\x69\x94\xf8\x6a\x36\xac\x77\x65\x4c\x66\x83\x71\xd9\xbc\xa0\x05\xe4\x08\x79\x85\xcf\xba\x01\xa2\x22\xa9\x44\xc9\xd7\x3c\x81\x13\xe8\x2f\x4f\x61\xfe\x7c\xa5\x7e\x1a\x26\xe7\x91\x8a\x7c\x87\x98\x88\x52\xc8\x13\x52\x19\x6f\x5e\x0b\x5e\x4b\x55\x85\x53\xc3\xca\x68\xaa\x38\xaa\x1c\xea\x50\x91\xf3\x28\xaa\x14\x87\x95\x69\x71\x66\x58\x49\x83\xaa\x61\xe5\xb0\x72\x48\xc9\x90\x67\xe2\x73\xf8\xfb\x99\x2a\x9c\xca\x32\xa9\x23\x47\x10\x25\x33\xa4\x14\xc6\x1a\x3b\x33\x4b\xd9\xa8\x72\x58\xc9\xa4\x8e\xcc\x21\xca\xb0\x92\x49\xfd\x34\x1c\x86\x28\xac\x64\x86\x83\xe4\x3c\x7b\x5d\xc8\x50\x70\x48\x79\x43\xa0\xbc\xbf\xbf\x7c\x7f\x79\x4a\xe0\xc2\x91\xa3\x17\x8e\x90\x94\x23\xdf\xbf\xfa\xfd\x91\xa3\x47\x8e\x1e\xf9\xee\xc2\x77\x17\xf8\x7f\x47\x2e\x7c\xff\xdd\x91\xa3\x47\x2e\xa4\xd6\xfe\x31\x78\x21\x2d\x5c\x12\xff\xf9\x62\x79\x79\xa0\x3c\xf6\x0b\xcf\xb5\x51\x47\x46\x7f\x5f\x60\xbf\xfa\xc2\x36\x55\x17\x5b\x57\x1f\xa8\x6b\x60\xbb\x82\x81\x5d\xea\xef\x3a\xd0\xae\xce\x40\xa7\x9a\x64\x75\xa0\xae\x20\xf9\x27\xaa\x78\x95\xdd\xdf\x17\xe8\x53\x93\x94\xeb\x9f\x5c\xf8\x1f\x4d\xed\x07\xe0\xfa\xe8\x20\x9b\xba\x7c\xb0\xee\xc0\xbe\x40\x7f\xac\x71\x20\x3e\x25\xc8\xcf\xed\xff\x1f\xf3\x5d\x90\x8d\x0f\xb9\xaf\x1b\x95\x38\x03\xce\x06\x36\xb5\x0e\x0c\x1e\x3d\x12\x38\xa2\xbe\xd0\x8d\xe2\xcb\x48\x9d\x7b\x27\x88\x2f\x65\xab\x2a\xfc\xff\xe1\xeb\x4d\xe0\x9b\xa8\xb6\xc7\x71\x6a\x3b\xc9\x38\x3e\xab\x92\x19\x6c\x67\x32\x33\x55\x10\x54\x10\x41\x22\xfa\x50\x04\x51\x41\x65\x97\x80\xec\x94\x7d\x29\x94\xd2\x86\xee\x6d\x9a\x34\xfb\x9e\x74\xda\x74\xdf\xa1\x40\xcb\x56\xaa\xec\x5a\x04\x14\xa9\x0a\xfa\xaa\x3e\xb7\xf7\xf0\xa9\xa8\x0f\x77\xd1\x33\xc9\x49\xf0\xff\x49\x0a\xbe\xef\xf6\xff\x25\x9f\xcf\x2c\xf7\x9e\x7b\xee\xb9\x67\xe6\xde\x39\xe7\xde\x73\xce\xdd\xe8\x94\x37\xc9\x1b\xff\x43\xf7\xc6\xc8\x26\x36\x8e\x3b\xb9\x90\x4a\x86\xfb\x0a\xa9\x18\xb7\xad\x7c\x74\x45\x68\x39\xf1\xca\xc2\xfb\x0f\x3d\xcd\xa1\x4e\xf1\xde\x77\xab\x17\xbe\x22\x86\x56\x44\x97\x13\xad\x39\x35\x9b\x36\xb2\x1b\x4b\x36\xe9\x74\x42\x64\x53\x64\x13\xb1\x61\xef\x8e\x9c\x57\xb9\xbd\x5d\x35\xad\x6d\xa2\xac\x97\xcb\xe0\x45\x2a\x39\x6d\x0b\x1f\xa6\x21\x4c\xc5\xe7\x61\x4e\xfc\x33\x51\xad\x58\x1f\x7e\x99\x29\x6e\xca\xad\xd1\x49\xae\x02\x67\x9e\x39\x1f\x7b\xaf\x6d\x4d\x59\x5f\x96\x9e\xbb\x8e\xbb\xf6\xa0\x42\x3b\x35\x78\x36\x4f\x2c\x6f\x71\x49\x15\x41\x32\x28\xd5\x79\xaa\xb9\x50\x48\x01\xaa\x1d\x7b\x61\xf4\x31\x11\x76\x86\x85\x9a\x63\xe6\x63\xdb\xf6\xa7\xee\xcb\x5e\xd9\xbc\x94\x8b\xba\x15\x85\x85\x16\x6b\xa1\xe8\xf2\xa0\x6a\x7f\x39\xf2\x2b\x67\xa6\x16\xe9\x72\xf2\xac\xf9\xb6\x82\xca\x42\x7b\xa1\x79\xc1\xea\x51\x39\x9b\x8a\xf3\xb6\x1b\x4c\x3a\x73\x51\xa5\xce\x9e\x6b\x59\xba\xe1\xa1\xac\x65\x86\x82\xfc\x12\x4b\x3e\x69\x29\xac\xdc\x6e\xc9\x2f\x7b\x71\xe3\x84\x2d\x8b\x8a\xb2\x72\x0b\xad\x39\x76\xbd\x54\xea\x28\x72\xe4\x58\xf3\xec\x79\x25\x6b\x9d\x2b\xea\x96\x93\x43\x0f\x40\xc2\x84\x9f\xb9\xf0\x83\x8a\xcf\xbf\x78\xfb\x52\xbb\x08\x1d\x61\xa1\xe6\xa8\xe9\x58\xf6\xfe\xd4\x6b\x27\xec\xdf\xf1\x8f\xa2\xf4\x1d\x9f\x1c\xd1\xdf\xad\x26\xbe\x4d\x70\xda\xf9\x44\x75\x92\x4b\x4d\x94\xb9\xf9\x34\xa4\x81\x0e\xd1\x70\x99\x4a\x88\xaf\x92\x5b\x29\xa8\xe4\x63\x4c\x95\xc2\x34\x4a\xca\x6b\x74\x88\x66\x42\x74\x88\x46\xcd\xe3\x14\x68\x22\xb4\x02\xa4\xe9\xdf\xf3\x43\xae\x6a\xfe\x75\xb7\x30\x1d\x24\x45\xef\x96\xfe\xb5\x07\x05\x1c\x05\xa3\x88\x83\x6b\xa7\xec\x5e\xc0\x45\x35\x7d\x54\xa4\x67\xba\xf2\x6e\x8d\xe6\x6e\x31\xa2\x89\xeb\x45\x1a\x98\xc0\x83\x26\xae\x13\x25\xc3\x7d\xdd\x7c\x82\x53\xad\x2c\x4b\x0c\x6b\x43\x57\x99\x1b\x0e\x16\x38\x6e\xc0\x78\xfe\x86\xfb\x05\x8c\x43\x06\x18\x1c\x27\x86\xb4\xb2\x86\x41\x9d\x62\x21\xa8\x89\xb7\xb3\x27\x9e\x7a\x86\x8b\x48\x8a\x67\x26\xce\x7f\x2e\x5b\x5c\x88\x6a\x02\x75\x0a\xe8\xe4\xaf\xd1\x4a\x13\x25\xe8\x78\xc5\x74\x5e\x0c\xd3\x32\x45\x45\xb5\x6a\x2c\x7b\x90\x4a\x43\xfa\xbb\x51\x97\xe4\xb9\x70\xcb\x60\xe7\x21\x5e\x75\x20\xb4\x31\xbc\x96\x51\x65\xbd\x87\xf7\x9c\xc3\x07\x5f\xc5\x51\xa4\x23\x3f\xdf\x91\xcf\xdd\x7b\xaf\xc7\x75\xaf\x18\x79\x35\x3a\x94\x39\xff\xa6\xa7\xea\xbc\xe8\xae\x69\xf2\xd7\x00\x09\x37\xe7\x01\xc9\xb9\x24\x97\x24\xb1\x4d\xce\x46\x47\xa3\xf0\x42\x05\x8e\xf0\xfc\x9d\x3d\xf8\x13\xd4\xee\x38\x2b\xc8\x0b\xec\x44\xdd\x2a\x60\xf0\xe4\x7a\x76\xdd\x02\x53\x96\x59\xc0\x3b\xb7\x12\xb6\x6d\x8e\x6d\xdb\x58\x2f\xdc\x09\x77\x56\xc1\x9d\xa0\x02\x55\x11\xa8\x38\xc9\x55\x21\xb1\x8d\xb6\x46\x5b\xa3\xb0\xb4\xe1\x41\xff\xa6\x1d\x25\x55\x25\xbb\x4d\x75\x8b\x7e\xde\xf0\xfb\xf2\x5f\x49\xd5\x81\x49\xf0\xf4\x54\x98\x36\x19\x9e\xc1\x95\xb2\x2e\xc5\x16\xb0\x06\xac\x01\x72\x81\x62\xb2\x02\xbb\xa2\x1b\xd0\x10\x89\xac\xc4\x41\xf7\x34\x3d\x90\x99\x6a\x7f\x9c\x48\xc6\x3f\x30\xf1\xdb\xd0\xc3\xdf\xcb\xc7\x7f\x19\x0c\x39\xf0\xae\xbc\x1a\x3e\xc4\x0a\xf8\x4a\x25\xcb\xaf\xd6\x32\x39\x67\x25\x98\x7d\xf1\xaa\xeb\xb7\xdf\xd8\xca\x8e\x97\x9d\xbb\x39\x78\x18\xd8\x72\xbc\xff\x1b\xb1\x6b\x41\xc5\xf3\x33\x59\xb4\xe1\xbd\x63\x30\x7f\xc9\x92\xea\xc6\x15\x42\x49\xa8\x94\x51\x5d\x75\xb4\x3a\x63\xff\x5e\x57\x6f\xef\x5f\xee\x51\xc9\x3f\x95\xff\xf4\x13\x1b\x78\xf9\x65\xff\x61\x0e\x1e\x83\x27\x9f\xc5\x17\xb1\x08\x47\xcc\xc5\x55\xeb\xd7\xb9\xfc\xeb\xc5\xc8\xc1\x6b\xb7\x32\x01\x98\x0a\xcf\xd5\xc1\xb4\x2f\xbe\x30\x7f\xc1\xc1\x51\x78\x1b\x14\xf0\x1d\xac\xc3\x89\xc0\xe0\x0b\x2f\x8b\x70\x57\x1f\xa8\xdf\x81\x69\x2c\x54\xa3\x1b\x06\x61\xae\xa0\xba\xba\x7c\x99\x6b\x39\x87\x06\x34\x16\x5a\xd1\x28\x7a\x1f\x25\x54\x72\x97\x15\x46\x98\x6a\x33\xc9\xb6\xa5\xf6\x6b\x73\xb6\xb3\xcf\xfa\x86\x6e\x98\x23\xcc\xdc\xf6\xbc\x63\x7a\x91\xfd\x81\x94\xe4\xa8\xfe\xae\x7f\xd6\xe7\x0e\x76\x86\x25\x55\x3a\x0e\x4e\xf2\x7d\xf1\xaf\xda\x2f\x39\x55\xf3\x85\x8b\x0e\xc7\x45\xd1\x71\xe6\xf5\xfc\x33\x2d\xcd\x9e\x16\xae\xa2\xcb\xdf\xe5\xee\x9a\x59\x39\x33\x30\xab\xc6\xd1\x90\x62\x7d\xe9\x04\x2c\xa9\x3c\xde\x0b\x95\x7d\x10\x3c\x0e\xc1\xca\x33\xbe\xd7\x5b\x4e\x5d\xd8\xd9\x5f\x75\xb1\xad\x62\x57\x60\xb7\x77\x37\x69\xbe\xeb\x2e\xc3\x5d\x1c\x0e\xc1\x3b\x2b\xfd\xc8\x88\xf9\xc3\xde\x30\xbc\x53\xf1\xda\x96\x54\x55\x7a\xb6\xd2\xf3\x18\x66\x5e\xdb\x58\x3a\xcd\xb4\xa1\x6c\x9d\x2e\x73\xf6\xe6\xa9\xe5\xd3\xf3\x48\x55\x73\xe1\x78\x22\xb9\x19\x6f\x03\x6f\x58\x02\x2f\x3e\x00\x34\xde\x0e\x77\x0c\x76\xc2\x2d\x72\x0a\x54\x85\x82\x40\xab\xf6\xa9\x15\x17\x81\x66\x1e\x0b\x4b\x9f\x28\x0e\xd7\x74\xec\xcb\x12\x55\xef\xe0\x60\x18\x9f\xb5\x6f\x85\x33\x6b\x43\x2a\x0e\xc6\xf1\xc4\x86\xac\x9a\xad\x87\xb9\x4f\xae\x49\x8f\x29\x56\x94\x6c\xdd\xb0\x53\x84\xc1\x38\x7e\xe7\x86\xc3\xce\x9d\xfb\x52\x61\x30\x8c\x27\x54\xfb\xf6\xed\x2c\xe9\x58\xc1\xa9\x43\x06\x75\xd2\x1f\xf0\x0e\x45\xaa\x1a\xdf\xf0\x3a\x61\xe9\xf1\x2e\xb2\x79\xd7\xef\xf5\x07\xb8\x7a\xb8\xd3\x53\x5c\x23\x06\x4b\xac\x4f\x15\xb0\x78\xb3\x12\x97\xfb\x63\x82\x12\x3b\xc3\x83\x6d\xdb\x17\x1f\xa1\x60\xaf\x0d\xf6\x3a\x60\xaf\xa0\xda\xe7\x38\xe2\x3d\xe6\x3b\x4c\x56\x7d\xf5\x6f\xeb\x65\x6e\x4f\xab\x6f\x5b\xb3\xe8\xb6\xb7\xc1\x16\xbe\x7b\x1f\xf8\x78\x62\x6d\x96\x4e\x5a\xcd\xe1\x51\xc5\x53\x4f\xbb\x9e\x82\x2f\xf9\xe4\x2d\xbc\x3a\xe9\x5f\xc0\x24\xc4\x5a\xd5\x00\xfe\xc4\x4f\xd5\x84\x1e\xde\xa1\xde\xf0\xb9\x60\xd9\xb1\x3d\x64\x5d\x1b\xe8\x5b\x5e\xba\x41\x40\x6d\xa1\x09\xf5\xab\x8a\x7d\xc5\x25\xec\xb8\x40\x64\x4b\xf6\xbc\x23\x14\x8c\xb7\xc3\x78\x07\x3c\x22\xbc\xa8\x74\xc0\xa8\x81\xda\x53\x6b\xe0\x56\xb8\xdb\x04\xb7\x71\x95\xc7\x5d\xb6\x0a\xb1\x2a\xa6\x08\x1b\x5d\xf6\x76\xd8\xc2\x1f\xdc\x0f\x3e\xbe\xb4\x20\xb7\x64\xbb\x2b\x55\xc2\x06\x6c\x36\x63\x03\x7c\xc9\xab\x93\x82\x6a\x4c\x65\x96\xd5\xa5\x15\x88\xd7\x24\x45\x43\xdd\xef\xcb\x36\x60\x2a\xde\x92\x9b\x25\x14\xeb\xcb\x0a\xf3\xd8\xbc\xaa\xc2\x5a\xbd\x90\xbb\x13\x52\xf1\x96\x7d\xdc\xd1\xa2\xdf\x1b\xc4\xb0\xa4\x28\x28\x4a\x3b\xba\x0f\x52\xe1\x96\xe6\x9d\x42\x6d\xb0\xaa\xbe\x89\x6d\x2a\xab\x2f\x0e\x0a\xcd\x59\x98\x0a\xb7\x6c\xe0\x92\xb7\x50\x11\x1a\x5e\xe0\xd5\x38\xe8\x71\xde\xce\x8f\xa1\x40\x8a\xdd\x85\x07\x3d\xce\xcf\xa1\xc6\xdc\xc8\x2b\x7b\x9c\xb7\x50\x1b\xa9\xeb\xb0\xd7\xe8\xc7\xf9\x30\x1d\x03\x95\x25\xc6\xc9\xc7\xd3\xa2\xf4\xe3\x7c\x88\x8e\x81\xc8\x52\xd2\xd8\xff\xa0\x1b\xb8\xbb\x81\xee\x7a\xde\x9f\xe8\x64\x29\xe9\xd9\xff\x72\x48\x6e\xf6\xc7\x1d\x2c\x12\x41\x02\x1d\x03\x43\x79\xb9\x3f\x69\xe0\xb8\x2f\x86\x43\x4d\x4c\x66\xf6\xc5\xd3\x06\x5f\x3f\x26\xe7\x51\x32\x1d\xd6\x31\x4b\xa9\xb8\xc1\x50\x0f\xf6\x10\x66\xb3\xcd\x58\xce\x96\x7b\x8c\x7e\xb3\x00\xf1\x04\xbf\x64\xab\xe0\x9e\xa0\x74\x3c\x6a\xd7\xf0\x79\x14\x5c\x0d\x69\x99\x01\xd3\xfc\x1e\xe8\x21\xfc\x66\xa3\xa7\x9c\x9b\xca\x8b\x91\xfe\x02\x2a\x6e\xbb\x1d\x4f\x8d\xdb\x6e\xab\x89\xe6\x88\x6e\x0d\xdf\xdc\x9c\x0b\x63\x62\x4a\x15\xb3\xa3\xa8\x55\x57\x19\x37\x01\x29\xe7\x0a\x8b\xcc\xa5\x7a\x31\x32\x22\x32\x9c\x80\xbf\x2a\xef\xa7\xa2\xda\x4a\x3e\xaa\x55\xde\x18\xb5\x85\x90\x76\x38\x0f\x13\x94\xf2\x88\xc8\x08\xa2\x34\x58\x67\x7e\x3b\x36\xd0\xbf\xcf\x83\x36\xac\x1d\x30\xc3\x3b\x14\xd3\x20\x42\x74\x58\x9b\xc9\x87\xa5\x08\xcd\x44\x34\xb2\x26\x22\x45\x24\xd4\x80\x26\x6e\xfb\x84\x5a\x1d\xaf\xbc\x02\xe7\xf8\xb8\x51\xa3\x1a\x27\x2b\x1b\x78\xd8\x4d\xa9\x93\x7a\x65\x25\x0f\x9a\x0c\x66\x21\xe5\x54\x87\x7a\x95\xf3\x28\x35\x4e\xbe\x3e\x45\xba\x25\xc6\x40\x3a\x11\xfe\x18\x92\x26\x27\x50\xbf\x2b\x2e\x5f\x06\x3d\xea\x09\xf9\xe9\xd0\x47\x8c\xd9\x6e\xb6\x58\x84\x48\x77\xa4\x9b\xb0\x58\xcc\x76\x33\x57\x6a\x94\xaa\xfd\x6e\xbf\xcf\x27\xca\xdd\x72\x37\xe1\xf3\xf9\xdd\x7e\xae\x5a\x32\x96\x8a\xf3\x41\xcb\x44\xfb\xa3\xfd\x44\x8c\x28\x65\xa8\x3f\xd4\x4f\x40\x13\xf4\x33\x60\xe5\x51\x0f\xa5\x44\x5b\xce\xa6\x9a\x8d\xdc\xc6\x4d\x25\x39\x3a\x11\x27\xe0\x5f\x65\x4d\x44\x03\x13\x60\x42\x4c\x76\x88\xea\x2d\xd4\x41\x0a\x3e\xa3\x12\x43\x52\x98\x2e\xa2\x62\x02\xab\x89\x02\x82\x9a\x15\x98\xb1\x43\x2b\xc8\x09\xd1\x5a\x62\x45\xd3\xd1\xac\xe3\xdc\xf1\xa3\x3b\x0f\x37\x8b\xf2\xa0\x50\x2d\xb1\xe3\xb5\xc0\xf9\x73\x6c\x72\x3e\x9f\x18\x92\xae\x30\xcf\x53\xe2\xb5\x7e\x65\x48\x92\x7b\x98\x34\x2a\xaa\x77\x82\x84\xfa\xdc\xc1\x4e\x68\xe1\xc3\x92\x6a\x8e\xca\x27\x4b\x32\xcd\xcc\xe1\x05\x55\x73\x7b\x45\x5b\xb0\x49\xa8\x6e\xea\xbd\xd0\xfc\x0e\x59\xe5\xa9\xf4\x55\x70\x15\x95\x96\x32\x8f\xd8\xfc\x6c\xef\xb4\xea\x3c\x32\x98\x57\x91\x93\xcd\xaa\xe6\xc4\xa4\xcd\x9f\xb6\x7c\xbb\xf0\x13\x61\xe1\x27\xb8\x09\xda\x26\x40\x2b\xf9\xb2\x7e\x55\x73\x06\x97\xb1\x3a\x37\xbd\x54\x9c\x80\xad\xb8\x09\xdb\x16\x3e\x46\xaa\xd2\x17\x3d\xb6\xf9\x81\xe1\xac\x6a\x0e\xee\x87\x02\x2c\x80\xfd\x30\x97\x12\x92\x07\x94\xbf\x2b\x61\xcd\xc0\xc3\x93\xa5\x2b\x72\x0f\xd0\x89\xe1\xbf\xc0\x55\x66\xde\x95\x91\xa7\x15\x40\x02\x09\xa3\x70\x14\x01\x7f\x97\x7f\x62\x24\xa3\xa3\xd8\x68\xc4\x5f\xf0\x97\x14\xa3\xb1\xd8\x61\x94\x8c\x92\xab\x56\x92\xe0\x17\xf8\x25\x45\x92\x6a\x5d\x92\x91\xfc\x24\x72\x99\xa9\x2e\xaf\xd2\xfb\x04\xbd\xaf\xd4\x6e\x30\x4c\x9f\x9e\x62\x36\xdb\xca\xcb\x59\x1c\x0c\x0b\xf9\x50\xbf\xa2\xb6\xd6\x6e\xad\x15\xab\xac\x41\x8f\x24\x9d\x38\x91\x52\x51\xe1\xa9\xb4\x57\xd9\x2b\x4d\x92\xd1\x4b\xd6\xaf\x5b\x5d\xb1\x9a\x8b\xf6\xcf\xe5\x47\x86\x35\x4c\x54\x13\xd5\x10\xb1\xd7\x59\x19\xd2\x84\x34\x04\x8c\x81\x31\xcc\x81\x03\xce\x37\xd7\x1d\x88\x89\x21\x29\xeb\x0e\xcc\x74\xae\x5b\xf7\xe0\x83\x29\xb1\x0e\xf1\xf5\xd7\x44\x72\x9a\x13\x68\x0b\xb5\x87\x87\xf5\xa1\x53\x40\x27\xea\x78\xf9\x30\x53\x6d\x1c\x20\xa5\xc4\x6a\x34\x16\x15\x17\x94\xe6\x19\xc9\x32\xb3\xa9\x4c\xcf\xe2\x26\x58\xc8\x43\x92\xc2\xef\x73\xbb\x7d\xe2\xc1\xd6\x23\x4d\x27\xeb\xc9\x5a\x4f\x55\x75\x1d\xdb\x50\x5c\x53\x28\x38\x9d\x4e\xd8\x40\xfd\xe5\x6e\xac\x98\xcb\x83\x21\x64\x65\xe0\x21\x5e\x26\xf8\x94\xa0\xbe\x28\x50\xc8\x95\x1b\xed\xb6\x72\x51\x17\x77\xaf\x40\x2d\x6a\x94\xd1\xb4\x47\xf0\x1c\x36\xe3\x52\x18\x87\xdb\x03\x06\xb1\xdc\x5f\x69\xa9\xe4\xbc\x5e\x97\xcb\x2b\x56\xfb\xa5\x1a\x7b\xcd\x66\x28\x6c\x83\xfb\x3f\xfd\x86\xfc\xf2\x23\x48\x7b\x09\xb2\x38\xd0\xa0\x56\xb1\xad\x4e\xd7\x6a\x10\x6c\x15\x92\xbd\x82\xab\xaf\xf3\x57\x07\x45\x38\x47\xdd\x68\x0a\xd0\xcf\xe7\x0d\xbe\x7e\xa5\xfa\xbb\xea\x88\x8e\x97\x7f\xb9\xce\x5c\xb7\xd5\xea\xb2\x72\xe5\xe5\x36\x93\x49\x9c\x3e\x9d\xb8\xce\xe2\x80\x72\xc0\xa3\x4c\xf5\xf7\xff\xea\x53\xf6\x27\xd3\x1d\x1e\x8f\xc3\x33\xe0\x99\x78\xe2\xc4\x00\xe3\x53\xff\x17\xe7\xa1\x28\x74\x9c\xe9\xec\x74\x9e\xcc\xe8\xc4\x9b\xe0\xa6\x94\x8c\xce\x45\xce\x8c\x8c\x28\x17\xe5\x52\xb0\x0e\xea\x06\x6e\x53\xf1\x26\xbc\x29\x23\xc3\xb9\xa8\x33\x23\x55\x9e\x12\x99\xd2\x99\x71\xd2\xd9\xd9\x99\x1a\x7a\x2d\xf4\x1a\x91\x0c\xdf\xf2\x21\x09\x24\xb8\x8d\x8a\xd0\x32\x0d\xb4\x12\x9e\xa2\xe4\x3b\xf8\xbd\x14\xdc\x49\x89\x28\xa1\x24\x51\x40\x47\xe8\x08\x0d\xb4\xe2\x62\x7c\x69\x04\x69\xe5\x03\x14\x68\x78\x11\x5a\xf8\x1d\x3c\x4c\xe4\xe3\x8e\x15\xef\x50\x63\x79\xa4\xe1\x1c\x85\xb4\xe2\x6f\xd4\x40\x4a\x72\x54\x0f\x3d\x7c\x6c\x34\x0d\xaf\x57\x13\x39\x4c\x0f\x7f\xdd\xf2\xbd\xf9\x7a\xb2\x5a\xf1\x37\x68\xe7\x43\x8b\x21\x97\xef\x89\x9d\xd4\x7c\x1a\xf4\xf0\x90\xac\x56\x28\x12\xd5\x8a\x79\x37\xf2\xa2\x8b\xa3\x8b\x7f\xe2\x53\x43\x8b\xa3\x8b\x89\xf6\xec\x26\x69\x1f\x1b\x87\xc5\x3f\x50\xad\x56\xdc\x9e\xe0\x54\x13\xfa\x44\x35\xb1\x41\xfe\x8d\xd9\x53\xef\xec\xd8\x5c\xaf\x0e\x5f\x0c\xe5\xa6\x6c\xae\xcf\x2e\xde\xc0\xc2\x3f\xf8\x0d\xed\xc5\x7b\xea\x85\xe4\xb5\xd4\x1c\x4a\x4d\x4c\x5e\x4f\x45\xa4\xcf\x29\x59\x52\x4c\xe6\xc5\x6b\xb4\x9a\x28\xbb\x91\xb0\x91\xba\x0e\xf1\x4b\x9c\x0a\xa7\x5a\xa1\x80\x1a\x2a\xba\x18\xf2\xf8\xd0\xe2\xd0\x62\x78\x88\x4f\x8d\x2e\x0e\x2d\x26\x06\x3c\x68\xa2\x8b\x41\x4d\xc5\xda\x31\x27\xd6\xd8\xeb\x70\x3d\x54\x3c\x39\xde\xec\xf8\x4a\xe4\x11\x54\x32\x3d\x94\x3a\x3c\x19\xf2\xf8\x64\x2c\x91\x19\x5e\xad\xb8\x29\xb1\x46\x3e\xc5\x64\x67\x4b\x79\xfb\x38\x68\xe2\xf7\x49\x4d\xed\xd9\x62\x0c\xb3\x81\x4f\x0d\x19\xd4\x78\x2b\xf3\x77\x4a\x1d\x2e\xf3\x50\xc9\x11\xfd\x3d\x6a\xc5\x8c\x04\x18\x1d\x6e\x4e\x54\x27\x55\xa8\x93\xfe\x16\x7b\xb1\x71\x02\x4c\x48\x31\xf0\xd1\xc2\x68\x61\xca\x4f\x7c\x28\x76\x1a\x70\x3b\x8a\x8d\x7e\x29\xf0\x10\x1f\xe9\x90\x3b\x52\xe4\x0e\xb9\x83\xb8\x81\xe1\xab\x70\x73\x62\xf8\xeb\xd0\x88\x58\xf1\x68\x61\xa8\x30\xc5\xc0\xe3\x04\x9c\x90\xf2\x13\x2f\x77\x44\x3a\x52\x22\x1d\x91\x8e\x9f\xf8\x54\x98\x80\x13\x76\x50\xa1\xc2\x50\x21\x91\x8c\x34\xf4\x87\x69\xe8\x4f\x70\x0e\x9c\x13\xd5\x49\xbd\x50\x46\xc5\x5e\x08\x45\x16\x0f\x2d\xbc\x12\xde\xe2\x63\x4f\x59\xb1\x21\xf6\xba\x28\xe1\x59\x5e\x44\x5a\x09\xfd\x7d\x4c\x1a\xb5\x98\xff\x6f\x85\xa2\xd2\x0d\x3f\x4c\x38\x45\xfd\x09\xb4\x96\x52\x27\x95\xc8\x0f\x31\x85\xa6\x42\xbd\x5e\x18\x3b\x96\xd0\xeb\x0b\x61\x17\x8f\xcf\xc1\x73\xf8\x1c\x3e\x47\xe8\xf5\x45\xa6\x42\xae\xb0\x30\x10\xd4\x8b\x63\xbf\x22\xf4\x41\x53\x7d\x3d\x5b\x1f\xa8\x0b\x06\x05\x88\xc3\xc0\x73\xb1\xc4\xba\x58\x62\x7d\x30\x28\x7c\xf5\x15\x11\x0c\xd6\x07\xe0\x0a\x65\xd2\x07\xc5\x01\x00\x78\x4e\x1e\xcc\x07\xea\xb9\xfa\xfa\x58\xda\x57\x63\x89\xa0\x3e\x50\x58\xc8\x16\x9a\x8a\xf4\x7a\x01\x9f\x1b\xa8\x2b\x96\x58\x54\xc8\xca\x77\x42\x2e\x93\x46\x21\x3d\x87\x1a\xec\xbc\xca\xab\x9a\xd5\x44\x52\xe8\x65\x00\x3e\x72\x28\x72\x28\x46\x9c\xa9\x90\x2b\x8a\x53\x83\xd7\xe0\xda\x9f\x8e\x30\xb1\xaa\x2f\x7f\x05\x33\x29\xc8\xc5\x5c\x79\x94\x3c\x12\x66\x52\x97\x63\x15\xf9\x0b\x0b\x59\xf0\xe1\xf8\x33\xbc\xea\x22\xdc\xca\x77\xf3\x20\xf5\x85\xb4\x20\x7d\x49\x85\x69\xd0\x5c\x77\xb7\xd6\xde\xf0\xda\x86\x57\xe3\xb3\x6d\x52\x48\xc3\xe0\xa8\xa1\x73\x27\xa5\x0b\x4b\xb3\x32\x17\xeb\x58\xa7\x12\xde\xe5\xf7\x2b\xbf\xfb\xee\x1f\xef\x75\x0a\xe7\x3a\x76\xee\x78\x95\x3d\x3c\xa7\x67\xfa\xfa\x4d\x7a\x7d\xa1\x90\x5f\x92\x57\xb0\x74\x36\x59\x6e\x36\x58\x8d\x9c\xc9\xe4\xf6\x5a\x44\x4c\xf9\xb1\xb4\xd2\xda\x20\xd5\xa4\xc2\xd0\xcf\x21\xf9\x5d\x78\x84\x83\xc9\xa0\x45\x1e\xa7\x8b\x32\x8d\x5a\x26\x8d\xea\xe6\x41\x07\xfd\xa0\x03\x1a\x74\xa0\xf9\x92\x0a\x4b\xa0\x61\x26\x50\x11\x2d\xbc\x4e\x5d\x81\xfe\x91\xd7\x49\xd2\x6c\xa2\x22\xd2\x15\xb8\xc2\xa3\x46\x89\x74\x98\xfe\x1f\x14\x6b\x62\x14\x6b\x94\x21\x3a\xa2\x61\xd2\x62\x9f\xda\x04\x39\x21\xa6\xc0\xee\x95\x25\x26\x1d\x87\xa1\x02\x15\x38\x2c\x9d\x84\x84\x16\x1e\x13\x94\x38\xec\x65\x54\x80\x22\x1d\x86\x91\x90\x00\xa7\x29\x4c\x50\xbc\x0c\xc3\x40\x01\x0a\x18\xf6\x32\x89\x09\x5e\x1e\x12\x94\x30\x2c\x1d\x14\xa8\x78\x19\x87\x91\x98\xf0\x38\x0f\x09\x0a\xf8\x1a\xb4\xeb\x29\x1c\xaa\x58\x0c\x19\x38\x11\x26\x62\xc6\x09\x12\x86\xb6\xf0\x38\x54\x89\x19\x8b\x71\x22\x4e\x5c\x8c\x19\x24\x0e\x7d\x9c\x87\xa1\x8a\x13\x98\x01\x13\x71\x22\x64\x2c\x26\x71\xa8\x97\x87\xa1\x4a\xc8\x38\x01\x13\x61\xe2\x09\xc8\x20\x61\xe8\x46\xea\x65\x3e\xfc\x99\xbc\x8c\xf9\x99\x47\x1e\xf8\x14\xe0\x81\xff\x99\x4f\xc5\xe1\x30\x1c\x14\x54\x2a\xf2\x18\x4f\x8f\x5f\x0f\xc7\xe1\x97\xf9\x54\xe0\x07\x12\x63\x97\xc3\x71\xf8\x6f\xb1\x5c\x3e\x96\xf8\x1b\x0f\xc3\x61\x38\x01\x19\x30\x9d\x19\x1a\x9f\xec\xae\x08\xad\x8f\xf5\xad\x7b\x7e\x8e\xf5\xac\x0e\xec\x48\xc1\x11\x30\xc2\xc0\xa7\xde\x73\x4f\xac\x5f\x1d\xc3\x63\x3b\x28\x79\x82\x3c\x81\x80\xbb\x1e\x65\x86\x52\x71\xbf\xe3\x8f\xe4\x64\x2a\x51\x4d\xa4\x85\xee\x64\xf0\x35\xb4\xa1\x1d\x7b\x31\xe1\x9e\xae\xd3\x0f\x0b\x21\x4b\xc8\x4c\xbc\x36\xbe\x73\x38\x26\xb0\xd7\x8a\xf0\x55\x66\xde\xe7\x9b\x7e\x86\x44\x16\x4e\x81\x0d\xec\xd0\x0b\x89\xbf\x6c\x9a\xfb\xb9\x20\x6f\x88\x2c\x61\xe4\x89\xf8\x1d\x7c\x1f\x79\x3c\xee\xf4\xfa\x7d\x64\x62\xe4\x09\xf8\x0e\xbf\x87\x6e\x0a\xbe\x97\x9f\x10\x92\xd5\xc4\xf4\xbc\x84\x3e\x35\xd1\x9b\x18\x5f\xb1\xbc\xb0\xfc\x8d\xa7\x84\xa8\x56\x01\x47\xe1\x28\xd1\xd6\x56\xd3\xb5\x97\xdd\x5b\xd2\x95\xd3\x26\x4c\x7e\x9f\x68\xcb\xc9\xb8\x2e\x4f\xe5\x88\x51\x31\x2a\x10\x3a\xc8\xa5\x36\xb5\xea\x84\x90\x18\x4d\x83\xb7\xa9\x0f\x3e\x24\xda\x5a\x6f\x94\x68\x15\xf0\x28\x1c\x23\x42\x5a\xc5\xdf\x8e\xbc\x71\x41\x1c\xa8\xc7\x19\xab\x47\x4d\xf4\xca\xfd\xcc\xde\xd2\x18\x4c\x54\x0c\x89\x37\xe4\xb4\x8c\x18\xde\xc9\x93\x89\x1c\x1d\xfc\x9b\xdf\xd4\xa6\x13\xe0\x28\x1e\x23\xa2\x5a\xc5\x53\xcb\x67\x4f\x8b\x0d\x1d\xd3\x8e\xcc\xfe\x9b\x10\xd2\x2a\xf0\x28\x1e\x25\x72\x62\x75\xb7\xe5\x08\x1f\x4c\x26\x74\x6d\x9d\xf0\x0c\xdf\xda\x26\x86\xe2\xd8\xda\xaa\xbb\xf6\xc6\x67\x43\x27\xe7\x25\xf4\xaa\x15\x43\x12\xd5\x8a\xe9\xf2\x9b\x31\xa9\xf0\x46\x6d\xd5\xb1\x56\x94\xe6\xe8\x62\xad\x10\xe3\x98\x32\x06\x30\xe5\xb4\xc2\x9d\x7c\x5b\xab\x08\xc7\xe0\x28\x11\xd5\x2a\x9f\x7a\x63\xf9\x05\x01\x68\xc5\x85\x37\x8e\xfc\x4d\x0c\x69\x95\x70\x2c\x56\x73\x1c\xa8\x4d\xfc\xe0\x03\xa2\xb5\xad\xa6\x33\x56\xd7\x64\x35\xd1\xf7\x67\x5d\x21\x6d\xac\xae\xc9\x1f\x10\xad\x37\xe4\x4f\x9d\x4e\xc4\x63\x18\x63\xc6\x75\x6b\x9e\x98\x08\x7e\x0c\x8e\x11\xad\xba\x1b\x10\x39\xe2\x93\x93\xaf\xb7\x69\x80\x9f\x84\x2e\x56\xcd\x40\xa3\xd2\x62\x12\x6b\x33\xd2\x6a\xc5\xe4\x04\x27\x6c\x4a\x2c\xe2\xc3\x34\xec\xe7\x23\x92\x2c\x9d\xe3\x51\x42\x9d\x12\x3f\x8d\x8c\x9a\x8b\xdf\xa3\x28\xae\xbc\xab\x0c\x95\x98\xc4\x62\xda\xbb\x38\xfd\x0c\xd2\x42\x95\xae\x2a\xa3\x36\x97\x34\x04\x02\xa6\x1a\xae\x29\x58\xd7\x58\x67\x6d\x70\xd4\x89\xb6\x1e\x7b\x4f\x0f\x2b\x6f\x83\xfd\xff\x90\x9f\x12\x40\x87\x92\xe2\x6f\x94\x2c\xc9\xb1\x8f\xf2\x5a\x2a\x64\x95\x75\x55\x7c\xa8\x25\x74\xb5\x8e\x4a\x46\xa5\x9a\xb8\x9c\x50\xad\x26\x2e\x27\x86\x24\xb9\xbf\x8e\x0a\x59\xc3\x57\xab\xf8\xe4\xd8\x80\x75\x25\xa4\x89\x0d\x58\xff\x4f\xb7\x6a\xa0\xd5\x78\x17\x53\x50\x52\x5c\x08\x7f\x50\xc5\xb5\x0d\x22\xbc\xa0\x6c\xa8\xad\x8d\x3b\xda\xd5\xd7\x14\x17\x88\x76\x18\xcd\x94\x38\x8a\xcb\x0a\x38\x9c\xa9\xc8\x2f\xae\xaa\x11\x0b\x43\x09\x44\xc0\x13\x08\x78\x05\x9f\x5f\xf2\x48\x1c\x64\x29\x24\xc9\x66\xf1\x8b\x01\xab\xc7\x64\x62\x93\x9d\x71\x73\x99\x97\xa8\x04\x70\x01\x7d\x05\xd4\xd0\x0f\xea\x2b\x31\x49\x57\x03\xcf\x32\x1b\x32\x0b\x37\xc4\x86\xa1\x0d\x99\xf5\xfb\xc4\xd3\x4a\x79\x83\x12\xb4\xd0\x8f\x5a\x65\x64\x83\x72\x9e\x32\xb2\x34\x74\x89\x59\x90\xfe\x72\xef\x3a\x7e\x6f\x5b\x41\x69\x55\x4c\x91\x7f\x98\x90\x0d\x57\x98\x05\xe9\xe9\x0b\x04\x5c\xa0\x80\x3b\xe0\x61\xa2\xba\xaa\xad\x61\x2f\xd7\xfb\x72\xfa\x02\x51\xfe\x0b\x4a\x2f\xf0\x91\x19\x0a\xb8\xfd\xc7\x1f\xe1\x76\xb8\x7d\xc4\x8f\x78\xfb\xb3\x33\xb7\x2e\x5e\x23\x22\x8d\x7f\x45\x1a\xfe\x4a\x9c\x58\x33\xb3\xe3\x59\x0e\x6f\x1f\x31\x02\x6f\x87\xb5\x94\x18\x99\x71\x2f\x85\xfd\xc3\xf8\x2b\x11\xcd\x67\x7c\xb8\xff\x49\x4a\xd6\xc0\x76\xaa\xb9\x39\x37\x4c\xc3\x3f\x6d\xbc\x9d\x07\x99\x42\x07\x3e\xf8\x3c\x3e\x82\xcf\x09\x4b\x96\xaf\x58\xb2\x78\x05\xa9\x2f\x2d\x31\x15\x70\xb1\x2f\x61\x43\xa0\x26\x58\x2d\x42\x05\x14\x41\x3e\xdc\x0b\xbf\x73\xb1\xaf\xa7\x2c\xc1\x62\xe6\xd2\x3a\x38\x8a\xc4\x23\x59\x4b\x17\x6a\x05\x14\x31\x25\xf2\xec\xc7\xb8\x72\x1a\x89\x07\x1e\x40\x3f\xe6\xe1\x7b\xec\x06\xcf\x06\xff\x46\xc1\x9b\xb7\x63\x81\x71\x2e\x2e\x9e\x30\x94\xcd\x0d\x98\xa5\x42\x61\xd9\xce\xc6\xcd\xe7\xff\xf5\x06\xa4\x9f\xe4\x0e\x5d\x99\x51\x74\x5c\xdc\x7c\xf9\x87\xa2\x2b\x1c\x8c\x82\x91\x87\x2e\x00\x27\xc2\x1e\x10\x60\x29\x2c\xef\x83\x3e\xb2\xba\x2f\xf0\x56\x1f\x9b\x8c\x7f\xc0\x58\x2a\xee\xd6\x83\x1a\x66\xc0\x75\x72\xc0\xf0\x21\xee\x3e\x89\x52\xf8\x2a\x03\x97\xb1\x0c\x9e\xc2\x5d\xa0\x12\x5c\x0e\x9b\x8b\xd8\x33\x6b\xdf\xe8\x67\xb0\x22\xa2\xdd\x18\x51\xb1\x78\x19\xca\xf0\x29\xd8\x85\x2a\xc1\xe1\xf2\x3a\x88\x8c\x73\x1b\xbe\x79\x17\x2a\x64\xed\x5e\x59\xc5\xc6\x75\x95\x70\x12\x0c\x4b\x90\xb5\x30\x2c\xf1\x10\x2f\xf7\x33\x58\x8f\x93\x70\x17\xce\xc0\xf7\x39\x7c\x1f\x77\xc1\x0c\xa8\xc7\x49\xe2\xbf\x61\x04\x0c\x81\xc1\x30\xe6\x13\x72\xf5\xb4\xdc\x89\x8f\xb3\x87\x79\xd8\x49\xe5\x7e\xb4\xfa\x82\x00\x63\x1e\x83\x21\x38\xf8\xdf\x38\x82\x8c\xae\x91\x69\x66\xdb\xf6\xed\xdb\x50\xf1\xc0\x03\xa8\x80\x65\x54\xe8\xcb\x08\xcd\xb4\x97\xb7\xea\x9b\x05\x78\x0d\x67\xe0\x57\xb0\x12\x81\x43\xc0\xaf\x70\x25\xbe\x86\x33\x44\x7d\x6e\xb9\x2e\x9b\xcd\xae\xd0\x05\x73\x05\x7c\x0d\x66\xc0\x57\xb8\x12\x80\x03\x80\xaf\x20\x1d\x4e\xc3\x0c\x31\xd8\x5c\xd1\xda\xce\x26\xc7\x1e\x9b\xe9\x06\xa5\xf2\xab\xb0\x8c\xc1\xa7\x3f\xc6\x11\xc0\x0d\x85\x87\xff\x17\x75\x38\xf4\x22\x72\x40\x3e\x22\x40\x9f\x7c\xed\x06\x45\xa3\x51\x09\xcb\x28\xf8\x03\xe6\x31\x55\xe6\x4a\x83\x5f\x08\xe6\x3e\x70\xb6\x80\xd3\x1b\xcc\x06\xb3\x38\xff\x7e\xa2\x6a\xce\x2c\xff\x6c\x2e\x42\xe0\x9b\xb8\x02\xcf\xe0\x62\xb1\x34\xcf\x94\x9d\xc3\x66\x07\x72\xaa\xf3\x04\x50\xe2\xb3\xf0\x08\xde\x0f\x0b\xc6\x91\x86\xc2\x8d\xf3\x8b\x58\xbd\xdf\x50\x69\x16\xf4\xcd\xff\x9e\xdb\xc0\x55\x55\xf9\x2b\xfd\xe2\x89\x2f\x61\xbd\x7c\x2b\xac\x95\x6f\x8b\x9d\x53\x5d\x6e\xa7\xcf\xcd\x1e\x88\xcc\x63\x3a\x6c\x1d\x96\x0e\x01\xbb\x22\x0e\x02\x9e\x7c\x1b\x94\x30\x01\x66\xb1\xb2\x16\x69\x66\x87\xa9\xb9\xb4\x45\x98\x08\x0c\xde\x01\x77\xe0\xed\xff\x98\x81\x49\x29\x40\x4c\xfc\xf7\xf0\xf7\x51\x89\x63\xd0\x82\x4e\x7c\x06\x0f\x67\x3f\x89\x29\x29\x70\x0a\x5a\x81\x87\xed\xb0\x50\xec\x3e\xd2\x7d\x62\xcf\x2b\x64\x75\x4b\xa0\x79\x07\x9b\xdc\xdc\x1d\x77\xcb\xb0\xf1\x61\x09\x1e\x8e\x75\xf1\x02\xf8\x83\x2a\xb9\xde\xc5\x6b\x6a\x61\x08\x5f\x5c\x20\xe2\x0b\x4a\xbb\x4c\x31\xa5\x8e\x62\xc3\xf5\x1e\x5e\x59\x2d\x16\xca\xcb\x08\xbf\xa7\x32\xe0\x8b\xf5\x70\xff\xf5\x1e\x6e\x8e\xf5\x70\x8b\xa7\xdc\xcc\x66\xc8\x5b\x99\x9e\xed\xe9\x3b\x96\x72\x4b\xd3\xb7\xad\xda\x2e\x46\x25\x75\xb8\x6c\xfb\x1a\xd7\x92\xd6\x35\xa9\x6b\x5a\x5f\xca\x39\xc2\xcd\xa1\x14\x47\x5e\x6a\xeb\x6e\x15\x5b\xbb\x5d\xc7\xb7\x77\x93\xc9\xf8\x47\x4c\x78\x26\x0a\x13\xd5\x44\xba\x9a\x48\x67\xa6\xf7\xa1\x66\xfa\xc8\x91\xa8\x41\x4d\x4a\xf4\x01\x18\x67\xf0\xe8\xad\xe5\xa6\x54\x59\xc5\x9b\x4c\xb6\x32\x97\x31\xd5\x6d\xf0\x1b\x25\x8b\xec\xc3\xce\x14\x0c\x62\x10\x17\xf4\x12\x2e\xbb\xcd\x69\xe3\xe4\x41\x94\x38\xf2\x7e\xb3\xc9\x6a\x74\x19\x53\x5d\x46\xaf\xb1\xc2\x02\x3e\x9c\x9b\x02\x73\xd1\xe7\x2f\xaf\xb0\x56\x3a\x52\x5d\x4e\xa7\x8b\x83\xa3\xbc\x78\xe5\x4a\x85\xe4\xa9\xb2\x55\xa5\x2e\x80\x05\x10\x84\x20\x74\x46\x7c\xb1\x02\x92\x3d\xd5\xe1\x71\x3b\xdd\x5c\x20\xe0\xf6\xfa\x44\xa0\xaf\x54\x56\xf8\xaa\x6d\xc1\x54\xd4\x84\x66\xc0\xc3\xf0\xf0\x95\x2b\x7d\xa0\x99\xde\x97\x9a\x9c\x66\xa3\xa0\xa7\x0f\xfa\xfb\xa0\x07\x34\x70\xf5\x55\xaa\xb3\xaf\x13\x68\xd0\xf4\x81\x06\xe8\x81\xeb\x4a\x5e\x4e\xa0\x18\xe8\xe2\xfb\x86\xc0\x01\x2a\xaa\x81\xab\x0c\xf4\x43\x0f\xf6\x2b\xfb\x86\x40\x3f\xf4\x63\xbf\x32\xaa\x91\xe9\x18\x84\xac\x8d\xea\x98\x18\x90\x36\x14\x3f\x0f\xdc\x77\xf1\x37\x0a\x0d\xc0\x86\xae\xd6\xf1\xd3\xcb\x28\xe8\xe9\xa7\xfa\x60\x1a\x8f\x3d\xca\x90\x2e\xfa\x27\xd2\x01\x5c\x07\xa8\xbe\x21\xd0\xc5\xa3\x24\xeb\xfe\x27\xf0\xff\x7f\x40\xa6\x66\xa0\xe3\x2e\xd2\x36\x3e\x34\x3a\x7c\x88\x81\xbb\x87\xe3\x9d\xff\xc0\xa9\x1c\xea\x1e\xe5\x41\xa7\x80\x91\x7d\x78\x2b\xde\x7a\x56\x3c\xf4\x6d\xcf\x37\xa7\x3f\x27\xc3\xe1\xe8\x21\x66\x17\x8f\x92\x12\x47\x4e\x87\x5b\xe1\xd6\xb9\xe2\xea\x07\x56\x8d\xd6\x3e\x4c\x62\x35\xcc\x84\xe9\xfb\xe0\x24\x37\x10\x7f\xe6\x2c\x1f\xa6\x93\x06\x20\x3f\xc2\x21\xd8\x8c\x55\x98\x28\xe6\xbc\x90\x3d\x37\x73\x1e\x89\x83\xe6\xcd\x18\x83\xa9\x7f\x56\xf2\x11\x0c\x81\x66\xa8\x82\x44\xb1\xed\x4c\xfb\xd9\x5d\xa7\x49\x18\x74\xfa\xfc\x65\x48\xe5\x40\x8a\x49\xa7\xb5\x25\x67\xf9\xe4\x81\xf9\xb2\x10\xcd\xc0\xef\x91\x7b\xa0\x3b\x52\x1e\x29\x8f\xdc\x83\x87\xf0\x37\x5c\x01\x29\xf8\x1c\xac\xc2\x9b\x85\xa5\xf8\xd8\x53\xb3\x67\x3c\x5d\x5c\x50\x58\xec\xcb\x26\x9d\x4e\xa7\x83\xf5\xe5\x34\x17\xb5\xb8\xbb\x7d\xdd\x81\xfd\x95\xf0\xe4\x61\x18\xf3\x19\xdc\x09\x24\x69\x39\x76\xc2\x76\x82\x93\xcb\xe5\x7b\xa0\x1b\x7e\x17\xe3\x9a\x64\x4c\x0e\xb8\x87\xc7\xe9\xb8\xd1\x98\x9e\x8e\x1b\x25\x98\x2e\xc4\x94\xe7\x7b\xf8\xc8\x28\xf8\x10\x4f\xc8\x73\xe5\xb9\xf0\x21\x9c\x90\x47\x09\xd7\xa4\x90\xb4\x9e\x82\xf2\x81\x68\x37\xfd\x7c\x58\x92\xe9\xff\x7a\x9f\xdc\xdc\x0c\x57\x29\x58\xc9\xb4\xb7\x3b\x7b\xb2\xdb\xa3\x85\xa1\x82\x01\xf5\xae\x20\x25\x3b\xdb\xb9\xaa\x3d\x1b\x26\xe0\x5f\xaf\xab\x78\xf2\x80\x6a\x17\xe9\xd8\x41\xc1\x04\xf8\x2b\x91\xdc\x9c\x01\x57\xa9\xd0\xe6\xeb\x65\x71\x02\xfc\x35\xc5\xc0\x47\x06\x94\x3a\xb9\xc3\xc0\xa7\xe2\x04\xfc\xeb\x00\x9a\xd4\x50\x61\xb4\x20\xae\xdf\x15\x10\xc9\x70\x1f\x7c\x39\x60\xab\x6a\xe7\x3b\x99\x80\xad\xc2\xea\x17\x50\x03\x5a\x22\x60\x36\x78\x8d\x5c\xa4\x5f\xa6\x41\xab\x98\xcc\xd7\x5a\x6a\x0d\x55\x22\xf6\xcb\x34\x51\xa3\x2f\xa8\xc8\xe7\xf2\x0b\xca\x4b\xf4\x22\xf6\x47\x68\xc2\x50\x66\x29\x2e\x86\xf5\x14\x68\x23\x1a\x05\x6a\x94\xd9\x96\x35\x07\x84\xb0\x36\x9b\x0a\xd1\xb2\x66\x3d\x85\x5a\x59\xa3\x00\x8d\xb2\xdd\xd7\xbd\x4e\x88\x07\xc3\x30\x79\xca\xbd\x16\x11\x34\xa8\x25\xca\xfd\x95\x56\x89\x93\xfb\x23\x34\x6a\xa7\x50\xc5\xbe\xe2\xca\x32\x11\x62\x48\x4b\x82\x0d\xc6\x46\xae\xb1\x41\xaa\x09\x8a\x10\xab\xb6\xb2\xca\x57\x5b\xcb\x26\xa7\x01\x52\x60\xa5\xfe\x74\xd4\x57\x65\x85\xe8\x21\x37\x4c\xe5\xae\x9b\xc9\x85\xff\x7b\x8a\xa0\xda\xd5\x1e\x93\x4f\xfe\x13\x77\xc9\xfe\xc9\xb3\xff\x3d\xee\x52\xd1\xe6\xe5\x93\xff\x77\xdc\xa5\xb6\xf2\x56\x4b\xeb\x40\xdc\x25\xd5\x86\x4e\x6f\x7b\x47\x67\xdc\xc8\x00\xbe\xa2\x0e\xf1\x61\x0d\xe8\xa9\xa8\xe6\x25\x0a\x6f\xfb\x69\x38\xdc\x26\xc4\x54\xdc\xb9\x7c\x32\xdc\x17\x1b\x9e\x94\x2f\x26\xaa\x95\x2f\xca\x9f\x32\x47\x16\x56\xad\x17\xae\xf5\x2b\xc6\x21\x35\x7f\xda\x5c\x11\xbf\x8c\xa4\x11\x45\x05\xc5\x39\x39\xec\xf2\x57\xca\xf6\x0b\xe1\x7e\xc5\x17\x40\x9d\xba\x70\x56\x84\x2f\xe5\x34\xa2\xae\xa1\xb6\xad\x8d\xc5\x2b\xf0\x1d\xe8\xa9\x48\xcf\x4b\x54\xb9\xcb\x58\xce\xfa\xfc\xf0\x95\x9c\x46\x5c\xf9\x14\x1e\x7c\x0f\xee\xe0\x42\xfd\x8a\xe4\x6b\x7a\x10\xe3\x73\x2b\x89\x21\x6d\xac\xe2\xfd\xfc\xff\x9a\xaa\xb9\x26\xc1\x58\xfe\xff\x67\x76\x26\x2c\x01\xbd\x91\x6a\x96\x25\x90\x12\x9c\x6a\xe5\x20\xb8\x8d\xba\x26\x01\xad\xbc\x48\x85\x25\xa4\x95\x7f\x4e\xdb\xc0\xee\x81\x39\x5c\x90\x4a\xa8\xc4\x10\x1d\xa2\x19\x94\x22\x31\x5d\x5f\xa6\xc3\x12\x83\xd2\xb5\xd8\x75\xac\x08\xa3\x96\xcb\x74\x3c\xd2\xea\xf0\x20\x35\x39\x48\x11\x1d\xc8\x8e\x0e\x80\x42\x4c\x7a\x55\x63\x19\x48\x71\xab\xb1\xfe\x04\x27\xf4\x24\xda\xf9\xf0\x43\xcc\xd6\xf4\xf5\xeb\x56\x65\x92\x2e\xa3\xd3\x68\x64\x71\x0f\x6e\xc0\xfe\xc8\x10\xbc\x05\x6f\xda\xf7\xfa\x68\xc1\x5e\x57\xef\xa8\xe7\x7e\xf8\x6a\xef\xe9\xbf\x89\x0f\xba\x9f\x38\x97\xf5\x0f\xd2\x5e\x5d\x6d\xaf\xe6\x1a\x6b\x3c\xbe\x06\x71\x64\xe3\x13\x97\x7e\x66\x5d\x4e\x97\x53\xe8\x2c\xee\x32\xec\x73\x90\x2f\x1c\xdc\xd8\xd7\xcf\x1e\xac\x3a\xd0\xb0\x47\xf8\x15\x69\x78\xf0\x51\x78\xca\x48\x5a\x6b\x1d\xf5\x75\x2c\x90\xdf\x7e\x0b\xe4\x1b\xaf\x65\xaf\x3a\x28\x1c\x97\x8e\x34\xf4\xb4\x15\x2d\xde\xb4\x72\xc5\xb6\x97\xfd\x87\xaa\x0e\xd6\x93\x20\xc1\x82\x34\x3e\x34\x1b\xaa\x61\x0b\x14\x27\xa8\x89\x3b\xa0\x1c\xfe\xc2\xcb\xbb\x4e\x53\x30\x07\x9e\xe2\x9b\xdf\xe7\xdf\x94\x5f\xfe\x16\xe8\xb7\xe1\x33\xbe\xef\xfa\xa4\x6b\x58\x13\x17\x45\x43\x5a\xe6\x1e\x3e\x26\x54\xc2\xa7\xf1\x68\x0a\x33\xa8\x98\x9c\x3d\x64\x2d\x7f\x4d\x8a\xbc\xc7\x00\x3d\x27\x36\x6c\x46\x68\xf9\x3d\x46\x4f\x5d\x93\x42\x43\x18\xa0\x65\x3a\x96\x24\xa1\x96\x01\x3a\x94\xa2\xec\x03\x9a\x08\x5d\x44\x41\x81\x94\x32\xc6\x6c\x06\x0e\x53\xea\xf0\x20\xc5\x06\x5e\x8c\xbd\xe2\x87\xf8\x39\x94\x22\x6e\x7c\xda\x1c\xeb\x8c\x21\x7a\xc0\xc2\x25\x76\x4e\x0c\xf5\x87\x25\x66\x0f\x95\xb9\x35\x10\xdc\x26\x04\xb7\x05\xb6\x66\xb2\xf0\x77\xea\xb7\xcf\x3f\xff\x6d\x57\x87\x49\xbf\x43\xd0\xef\x30\x75\xec\x62\xaf\xf0\x42\xe8\xeb\xa8\x96\xd9\x85\x9d\x50\xb7\xee\x80\x30\x10\xda\x4c\xf7\xe0\x83\xba\x6d\xdf\x4e\x68\xce\x15\x47\x8e\x44\x00\x20\x3e\xba\xda\x0b\x34\xa4\xb0\x90\x89\x23\xe1\x7e\xdc\x82\x9f\x5e\xff\x6f\x81\xfb\x71\x24\x64\x42\x0a\xd0\xbd\x1f\x5d\x15\x42\xe3\xa2\xe3\x60\x01\x7f\xba\xaf\xef\x74\xdc\xb0\x57\xc4\x2c\xc8\xba\x72\x85\xc8\x6d\xfe\xf4\x81\x1d\x5c\xeb\xd7\x5f\xb7\x8a\xc9\x70\xdf\x16\xde\x9a\x7b\x34\x17\x24\xb8\x1c\x7b\x9d\xe8\xc1\x16\x0a\x24\xd5\x13\x61\x3a\x44\x17\x51\x21\x29\x22\x31\xcf\xbc\x30\xf7\xe9\x67\xe6\x9e\x79\x0f\x56\x53\x61\x29\xe9\xcf\xbb\x6b\xbc\x2a\xf0\xee\xd9\xb9\xcf\x88\x11\x3a\xf2\x57\xa6\xc6\x50\x5d\xe2\x11\x70\x54\xab\xb1\x43\xbf\xb3\x74\x67\x6a\x47\xf7\xee\xfd\xbb\xba\x49\xaf\xdf\xe3\x0f\xb0\x1d\x48\xc1\xa0\x6d\x6d\x82\xcf\x6c\xf2\x94\x73\x26\x93\xdd\x62\x16\x91\x7a\x28\x27\x98\x5d\xb5\xad\x22\x55\x07\x0f\x10\x35\xf6\x92\xaa\x12\x0e\x67\x29\x4a\xf4\x86\x12\xab\x58\xba\xd8\xa2\xb5\x2c\xca\x32\x66\x1b\xb2\x4b\x51\xf9\x55\x8a\x37\x5e\x30\x13\x93\xf0\xd6\xac\x3c\xd1\x62\xb6\x9b\x4c\xac\xc9\x63\xf2\x9a\x85\xce\xb5\xbb\xd7\x75\xac\x2e\xcd\x2e\xcb\x2e\xdf\x86\x0f\xe6\xa4\x94\xda\x0d\xc5\xa5\x2c\xce\x54\x96\x54\x96\xd6\xd8\x05\x18\x95\x23\x6d\x0d\x66\xd5\x64\xa5\x66\xae\xd9\xb2\x2e\x73\x2d\x69\x35\xdb\xcc\x26\x36\x13\xa8\xb4\x1d\x39\x82\xc5\x1f\xb0\x55\x70\x81\x0a\xb7\xcf\x27\x02\xf5\x65\x9b\xbe\xbd\x6c\x47\x79\x6a\x2b\x3e\x40\x94\xb8\x6b\xca\x6a\x38\x98\xa5\xa8\x09\x56\xd6\x78\xc5\xea\x13\xbe\xd7\x7c\xaf\xec\xac\x68\xaf\x6c\xaf\x06\xe5\xd8\x14\x6b\xbc\xe0\x2e\x48\x82\xe4\x9d\x4d\xa2\xcf\xe7\x0e\x04\xd8\x0a\x9b\xdf\xea\x17\x32\x0e\x6e\x39\xb0\xf5\x50\x75\x7b\x55\x7b\xc5\x0e\x78\xb0\x2d\xa5\xda\x5d\x59\x5b\xcd\x86\x68\xfc\x89\x81\x93\x54\x3a\x05\x5f\x50\xaa\x27\x1a\x56\xfe\x68\x6c\x12\xe0\x55\x5e\x9d\xe4\x4a\x82\x93\x94\x6a\x4a\x3a\xa5\x32\xc2\x17\xd4\x40\x86\x6a\x16\xbc\x1a\x37\x4d\xd7\xf1\x21\x89\x81\xfd\x78\x01\x0a\x22\xa9\x50\xcb\x0b\xc7\x79\x51\xa6\x51\x62\xca\x78\x18\xff\xed\xaf\x30\x0c\x1e\x61\x93\xb7\xf0\x4e\x98\xca\x3b\xbf\x1d\xb0\xbb\x79\x03\xee\x80\x35\x40\xc3\x73\x40\x8f\x06\x7a\x1c\xd0\xaa\x17\x7d\xaa\x17\x9b\xe5\x44\x9e\x79\x80\x12\x54\xc1\xde\x98\x3e\x63\xe6\x45\x0b\x25\xf7\x33\xeb\xb6\x8e\x5d\xea\x10\x9a\x73\x6a\x96\x66\xb0\xaa\xad\x3e\x28\xe2\x3d\x05\xee\xfc\x7c\x16\x93\x1f\x5f\x8e\x84\x80\xb7\x2a\x90\x42\xc5\xbe\x83\x78\x93\xd8\x38\xff\xc1\xfd\xf3\xb8\x8c\x10\xdd\xa9\x50\xbd\xe8\xfb\x18\x6e\x81\x49\x67\x8f\x88\xed\x7b\xda\xf6\x74\xec\xfa\xee\xe7\x4d\xf0\x40\xdf\x5b\x24\xf0\xad\x93\xf1\x66\x11\xa9\x91\xe3\xf1\x66\x16\xae\x2a\xde\x39\x37\x7b\x9a\x08\xb4\x8b\x89\x21\x17\x90\x82\x9b\x51\x10\xf0\x69\xc5\xee\x37\x1b\xde\x78\x97\x7d\xc7\x7a\x76\xf3\x39\xe1\xbb\xc5\x23\x0e\x0c\xe5\x36\x66\xc4\x94\xee\x11\xf7\x75\xe2\x43\xb3\xa7\xaf\x5d\xb5\x21\x7d\xe3\x0a\x52\x15\xec\xdd\xb2\x66\xda\xd8\x35\xdb\x48\xdc\x19\xeb\x63\x51\x1a\x0e\xf1\xd0\xa3\x50\xbd\xd8\xdc\xf1\xe9\x16\xc3\x2e\x71\x19\xa4\x40\xca\x4a\xb8\x9b\x53\xbd\xe8\xfb\x46\xb1\x5f\x01\x8b\xf8\xf6\xc3\xd5\x27\x4f\xb2\xad\xb6\x36\x73\x8b\xd0\x79\xbc\xfe\xcc\x59\x36\xd9\x46\x2d\x18\xe0\x10\xa4\x0d\xd8\x04\xbf\x0e\x77\xc0\x5a\xa0\xe1\x56\xa0\xa7\xfd\xc9\xa5\xd9\xbd\xaa\x0f\x6d\x20\x85\xfb\xe3\x6c\x7a\xe4\x3f\x6c\x8a\xf4\x33\xd3\x66\xcd\x7e\x56\xc0\xab\x0a\xbc\xf9\xca\x78\xa4\x58\xbc\x59\x37\x19\x79\x61\xfa\x5b\x5d\xf0\xc0\xfd\x3f\x6f\xdd\x95\xb3\x27\x7b\x0f\x79\x76\x39\xde\x02\x93\x1e\xe7\x32\x14\xaa\xd9\xbd\x21\xba\x53\x79\xfa\xeb\xfd\x8d\xa7\xc4\x83\x70\x13\x28\xf6\x01\xc5\x01\xad\x50\xcd\x6e\x86\xc4\xf7\x17\xe1\xcd\xa2\x6a\xb6\x2f\xdf\x9e\x6f\x2b\x10\x5e\xd2\xb5\xbe\xb0\x8c\x55\x7d\x68\xcb\x31\xe7\xe8\x73\x85\xbd\x19\x8d\xab\x97\xb2\x19\x25\x4b\x73\x73\x04\xd5\x6c\xdf\x31\x47\xc7\xd8\x75\x2c\xd0\x0e\x46\x35\xbb\xf9\x6c\xe1\x99\x8c\xe3\x82\xbf\xc5\xd3\xd6\xca\xaa\x66\xf7\x9e\x2c\x3d\x99\x7d\x58\x70\xd7\xb8\x6a\x6b\xd8\xbe\xdc\xbe\x35\x27\x05\x9f\x52\x75\xb8\x17\x66\xbb\xf0\x4e\x18\x84\xcf\x73\x98\xa4\xc0\xd1\x78\xc7\xda\x45\x38\x4c\x34\x64\x4e\xd8\xb2\x95\xc3\x9e\x18\x6d\x7f\x32\x72\xa7\xa2\x7b\xdb\x85\xb1\xbb\xd7\xec\x5d\xb1\x2f\xfd\xe0\xea\xd7\x9f\xdf\x8c\x0f\xfd\x78\x1f\xa9\x6b\xeb\x2c\xd9\xcb\xfd\xfa\xe3\x81\xef\x4e\x88\x7b\xde\xf0\xbe\xf1\x36\xfb\x6e\xc1\x1b\x5b\xde\x14\xe0\x69\x45\x8c\x41\x02\x50\x70\x33\x08\x62\x72\xf4\x8f\x47\xd5\x8a\x71\x09\xce\x50\x7f\x62\xa8\x5f\x4d\x5c\x62\x9c\xca\x5c\x9e\x70\x2a\x93\x9b\xd5\xc4\xa0\xb8\xe7\x4c\x78\x32\x83\xd3\x71\x26\x3e\x61\xb3\x09\x91\xbf\x47\x4e\x47\x3e\x92\xcf\x10\x76\x37\xce\x84\x27\x60\x3a\x0b\x7b\xe1\x85\xd7\x41\x03\xf7\xc1\xe3\xf8\xf0\xcc\x57\x85\xb6\xcc\x93\xce\xb6\x5d\xe4\x9b\xaf\xc2\xe3\xf0\x30\xdc\xc7\x81\x06\x5e\x98\x83\x7b\x45\xa0\x87\xfc\xdf\xae\x2e\xb0\x95\x4f\x4e\x83\xed\x7c\x62\x88\xbe\xc2\x1c\x58\x63\xc9\x16\xb0\x47\x11\x5f\x98\xd1\x0e\x2c\xcc\x40\xbf\xe2\x48\xe9\x85\x8e\xa5\x94\x88\xfd\xff\x7d\x99\xf5\x7a\x8e\x18\xd6\xc8\x3d\x5d\x54\xec\x5b\xe7\x09\x3d\xff\x2d\x98\xa0\x2a\xc1\x09\x06\x28\x02\x15\x14\x81\x05\x8a\xc0\x90\x08\x06\x48\x66\x42\xcf\x43\x51\xf4\x79\x65\x6d\x38\x8d\x79\x6e\xd1\xfc\x09\x82\xd3\xa1\x9c\xb8\xe8\xd4\xdb\x17\x5e\x7d\xf5\xe3\x8f\x4f\xbc\x38\xcd\x25\xca\x9f\x5d\x4b\x63\x64\xa5\xf2\xdb\x4d\xe7\x1f\x9d\xbe\x36\x7d\x55\xa1\x60\x2e\x76\xe4\xe6\xb1\x91\x14\x2c\x72\x2a\x3d\xa1\x9b\x6d\x6f\x39\x59\x28\x1a\x6e\x57\x1c\xdf\xfd\xda\x45\xb8\x3d\xa6\xe7\x2b\xee\xc5\x8d\x62\xe4\x6e\x25\x18\xc2\x85\x69\x7c\xe4\x8f\xd8\xb0\x9b\x00\x12\x68\x12\x65\x5d\x48\xc3\xc0\xa7\x94\x20\x6b\x95\xa3\xa8\x19\x94\x10\xd1\x2a\x43\x1a\xbc\xca\xc0\xa3\x78\x3b\x8c\xc1\x14\x41\x96\x94\xed\x7c\x4c\x72\x12\xa3\xb4\xe2\x86\xf4\x24\x46\x24\x25\xa6\xe0\xed\x38\x06\x1f\x1d\xcd\x8b\xf2\xbd\x8a\x0f\x23\x05\x44\x91\xa7\xba\xac\x8e\x73\xba\x9c\xce\xba\xea\xea\x3a\xb7\xf0\x8a\x9c\x47\xc8\x4f\x0e\x18\xa6\x5a\x28\xf8\x9c\xd2\xf1\xf2\x55\x78\x8b\xc2\x7e\x58\xc8\x87\xb4\x1b\xf9\xa8\x76\x2e\x2f\xd3\xea\xa4\xe6\xf5\x54\x44\x9a\x32\xb0\x6e\xf4\x34\x3e\x1d\x4d\x8b\xa6\x4d\xa3\x40\x81\x8a\xf9\x7c\x28\x2d\x94\x16\x4b\x83\x37\x28\x27\xc4\x85\x94\x04\x1d\x0f\x74\x62\xdc\x86\xb8\x8b\x82\xab\x70\x95\xb9\x9f\xc2\x7e\xc5\xf2\xea\x69\x5b\xd7\x75\xfb\xda\x45\xe8\x51\x40\x90\x17\xa3\x5a\x65\x16\x25\x5c\xcf\xe8\xa6\x44\xe8\x1f\xce\x27\xa7\x75\xf3\xd7\xe3\x54\xc8\xfd\x20\xc9\xfd\x40\xd3\x8f\xca\xcb\x43\x77\x31\xb8\xa8\x07\x53\x41\xfd\x3d\x7b\x05\x24\x25\x8e\xed\xc4\xe4\x97\x1e\x14\xc2\xe7\xa1\x83\xb9\x0f\x53\x51\x8d\x8b\x56\x09\x2f\x7d\xdd\x09\xc9\x30\x96\x05\x69\xa4\x22\xde\xb7\xc7\x51\xd8\x73\x45\xb1\x90\x8a\xf4\x2f\xa3\x46\x62\xcf\x75\xef\x39\x5a\x89\x2f\x40\x21\xae\x83\xb7\x8a\x85\x43\x0b\x0f\x6c\x69\x28\x21\x7b\x97\xd4\x2c\x9a\xce\x4e\xcf\x98\x3e\x72\xe4\xc8\xe9\x23\x85\x27\xf8\x50\xff\x23\x7c\x9f\xf2\xca\xc8\xbe\x91\x23\x33\xfa\xfa\xfa\x6a\x4e\xf6\x1e\x17\x1a\x6a\x0e\xec\x3e\xf4\x0a\x09\x6f\xd5\x42\x21\xac\x83\x17\xd8\x64\x68\x39\xff\x4d\x5d\x68\xc9\x41\x0a\x1e\xdc\x01\xe9\x50\x21\xc7\x24\x72\xb9\x0e\xbe\x64\x6c\x36\xb3\xcb\xe2\xb5\x7a\x1d\x7e\xb7\xc7\xe3\xf1\x3b\x7c\x56\xaf\xd5\x65\xb6\xdb\x48\xa7\x72\x6b\x0f\xe3\xb1\x38\xcd\x36\x3b\xe9\x54\xda\xec\x16\xb7\xd5\x67\xf3\x3a\xfd\x1e\xb7\xd7\xed\xb3\x7b\xac\xe4\xaa\x43\x8c\xc3\x66\x75\x5a\x5d\x56\xb7\xdd\xe3\xf6\xb8\x3c\x5e\xa7\xc7\xe1\xb5\xbb\xad\x8e\x58\x81\x66\x1d\x63\xb3\x59\xdc\x36\x8f\xcd\xeb\xf0\x7a\x3c\x6e\xb7\xcf\xe1\xb1\x7a\x6d\x4e\x8b\x3d\x96\xfb\xf9\x64\xc6\x6e\xb5\xd8\xcd\x6e\xb3\xdb\xea\x73\x79\xdd\x5e\x9f\xdb\x6f\xf7\xdb\xbd\x16\x87\x95\x74\x2a\x5f\xb2\x31\x56\x8b\xd5\x6c\xb6\x78\x63\x3f\x7f\xc0\x67\xb5\x0a\x4e\x65\x77\x80\xb1\x5a\x2d\x66\x87\x60\x76\x58\x3c\x0e\xaf\x23\x96\xe5\xf2\xbb\xfc\x76\x57\xac\x4c\x68\x08\xbc\xcb\x60\x2e\x8e\x40\x2d\xae\x98\x26\x6c\xb3\x18\xeb\x6a\xea\x5d\xaf\x5d\x60\x8f\x17\xee\x29\xa8\x13\x40\x51\x0d\x7f\x79\x19\x16\xb1\xa7\xf3\x8e\x6c\xda\x2f\xf8\xaa\x1b\x5e\xdd\xfa\x1e\x99\x5e\x7d\xdf\x73\x4e\x36\xb8\x2a\xdd\xb7\x82\x5b\x91\x6e\xd1\xaf\x12\x9d\xf7\xbd\x9d\x5e\x2a\x6c\x7d\xba\xe1\x45\x5f\x29\xb9\x69\x7d\xde\xf2\x79\x2c\x2e\x84\xbf\xac\x00\x45\xa9\x50\x5c\x5a\xaa\xb3\x6c\xca\x2c\x9d\xac\x5b\xfe\x31\xb9\xf5\xc4\x22\xaf\x93\x5d\x74\x34\xc3\x29\xee\x2d\x6e\x9d\xe3\x64\x77\x3f\x08\x77\xef\x71\xb2\xae\x74\xe7\x6a\x3d\x5b\x62\x2c\xda\xe6\x13\x70\xc5\x05\x1c\x01\x5a\xc8\x65\x61\x2e\x05\xf1\x25\x76\xdc\x2f\x80\x24\xeb\xd2\xe2\xa6\x77\xd7\xdd\x00\xfa\xce\x50\x91\x49\x8a\x27\xb3\x9e\x9e\xff\x68\x4c\x6b\x78\xf4\xe9\x53\xef\x67\x89\x91\x49\x30\x9e\x0a\x2f\x65\x06\xc2\x76\x45\xb4\xb2\x36\xa5\x5a\x5f\xe8\x2f\xe2\x8a\x0a\xe3\xc6\x18\xda\x88\x16\xa6\x53\x20\x45\xb4\xf0\x3a\x2f\x6b\x41\x52\x0e\x84\xf9\x8a\x0d\x0b\xb1\xe1\x42\xc0\x04\xb8\x53\x9d\x74\x40\x4e\xa0\x40\x18\x0b\x69\x3c\xde\x01\xf4\x5d\x40\xab\x93\x8e\x02\xfd\x28\xd0\xaa\x40\x9a\xea\xa1\x34\x35\xa1\x0f\x2d\x66\x70\x17\x2e\xc6\x33\x58\x37\x5a\xc8\x7c\x14\x93\x4c\x0f\xa1\x02\x13\xf7\xa0\x62\xd1\xd2\xed\x8b\x39\xd5\xdc\xb4\x2d\x45\xad\x1d\xe2\xe1\x96\x97\x8e\xb2\x2a\x5f\xf3\xa7\xd9\x1f\x7f\xca\x82\xf9\x5d\xe8\x82\xe5\xf0\x80\xf0\xfa\xe1\x0f\x3a\x2f\xec\x24\xf7\x7e\xfe\xd5\xbe\x6f\x38\x95\x25\x0d\x6e\x01\x62\x09\xdc\xd2\xdd\x2d\x75\x73\x5e\x9f\xd3\xe1\x15\x55\x81\xc9\x52\x91\x2b\x2f\x7f\xb9\x61\xf9\x32\x76\x7e\x55\x56\xe3\x12\xa1\x6e\xb5\x84\xb7\x2d\x65\x81\x76\x33\x7d\x65\x90\xaa\x3b\x2b\xa8\x02\x69\xfa\x4e\x63\xcd\xfe\x23\x95\x47\x8f\xb0\xbf\xae\xfa\x14\x15\xc2\x9a\xb5\x86\xb5\x78\x33\x12\xc7\xf1\x16\x4e\xe5\x98\x8c\x89\xc3\xd6\xad\xba\x47\x54\x05\xd2\x1e\xdf\x3c\x7e\xdd\xb4\x17\x49\x2c\xc3\x69\x1a\x7c\x07\x0f\xb0\x2a\x4b\xda\x5f\xdb\x1f\x9f\xb0\x6c\xfb\xca\xa5\xac\x6a\x6e\xda\xa8\x0f\x1e\xfa\x41\x38\x79\x7c\xd7\x71\x20\x20\x29\x13\x14\xdc\xaf\x70\x9b\xb4\xef\x07\x11\x2e\x42\x12\x14\xc1\xaf\xf0\x39\x9b\x2c\xdf\x46\xe9\x78\x38\xc1\x04\x9c\x01\x5b\x40\x30\x35\x2f\x6e\xc9\xab\x7c\xa1\x73\xee\x9e\x79\x5d\x64\xdd\xb6\x8c\xdd\x9b\x67\x3d\x84\xcf\xcd\xe7\xb2\x36\xb4\xd7\xe4\x88\xf8\xfc\x4f\x38\x18\x06\x0f\x87\xe7\xc9\x92\xb6\xec\x7d\x3b\x4f\xc1\x73\x5f\x9e\x63\xf7\x6c\xe9\x2c\xda\x21\x6c\x3a\xbd\xf9\x6c\xc6\x19\x43\xd3\xf6\x13\xb9\x01\xd2\x63\x32\x39\x4d\xdc\xfa\x67\x8a\x8a\x37\x89\x8b\x73\x33\xe6\x65\x2f\x27\x33\xe6\xe4\xcf\x7e\x96\x1d\x7d\xf0\x91\x3d\xe3\x85\x96\x59\x3b\xe7\xec\xd5\x5e\xc5\x27\x60\x25\xae\x84\x27\xee\x7e\x6d\xe3\xeb\x59\xe7\xb6\x93\x9b\x2f\xfd\x73\xed\x37\xdc\x3b\x6f\x34\x76\xbe\x2e\x1e\x69\x3f\xdd\xd9\x7c\x82\xac\xed\xaa\x7b\x77\xff\x80\x81\xf2\xc0\x60\x17\xbe\x0a\xe7\xf9\xf8\x48\xd4\x3f\x60\x2f\x01\x3d\xa8\x61\xee\xa7\x9c\xd1\x7e\xe5\xbd\xff\x23\xf6\x70\x72\x44\x0f\x7b\xa9\x81\xf1\x2d\xd1\x42\xc1\x79\x5e\x8d\xc3\x95\x91\xc7\xe4\xfb\x1f\xba\xf4\xd0\xf8\xc8\x63\x91\xfb\x09\x75\xd2\xc7\x61\x49\x19\x04\xda\xcd\x97\xf3\x76\x1e\xae\x30\xdb\xf4\x0b\x0d\x39\xc2\x73\x5b\x70\xf0\x92\xa9\xdc\xb3\xb3\x76\xb6\xce\x14\x71\xeb\x27\x68\x04\xe3\x63\xb0\x95\xd4\xbd\x99\x75\xee\x1d\xf6\xe2\x71\x18\xfc\xf6\x6e\xa1\xb2\xed\x95\xe0\x0e\xce\xe7\x77\xda\x7d\x62\x83\xf9\x7d\x1c\x5e\xb7\x95\xac\xca\x6f\xd1\xe9\x56\xe0\x9d\xcf\xaf\x61\xf3\x1a\xb2\x2b\x0b\x84\xf7\x31\xe5\xf2\x18\x48\x79\x92\x34\x34\xb4\x17\x34\x75\xbf\x05\x77\x1e\xe6\x5a\x5b\xb7\x97\x35\x8a\x1d\x45\x30\xfc\x49\x7f\x01\xe9\xb6\x38\xcd\x16\x16\xa4\x50\x43\x1a\x9f\xd6\x9c\x9b\x70\x58\xad\xb8\x37\x51\xad\xd0\x86\x23\xcc\xdc\xec\x19\x05\xcf\x9b\xde\x39\xf4\xca\xf9\xb6\x0f\x66\xae\x7b\x26\x6b\x4a\x09\x79\x7e\xce\x23\xdd\xa3\x39\x9c\x86\xc3\xf0\x1e\x9c\x9a\xed\xc9\xf6\xe5\x88\xd8\x5c\x83\xe5\x40\xe3\x38\x58\x48\x6e\x5d\x52\xa4\x9d\xcd\x62\xd2\x99\x7b\xff\x35\x57\x58\xe0\x5e\x54\x9b\xde\x46\x3a\x9c\x76\x07\x8b\x63\x21\x11\x87\xc0\xbd\x5b\x04\x53\x56\xa6\x35\x93\xcb\xcd\x73\x7b\xf2\xc4\x1e\xa4\xe1\x96\xd1\x70\xb7\x8d\xd4\x60\x22\x8a\x0b\x71\x24\x97\x95\xed\xf2\x6c\x13\x1f\x84\xa1\xf0\xc4\x02\x98\xce\xc9\x97\xe1\x23\xb9\x4c\x9e\x54\xe3\xac\x71\xd4\x88\xe7\x8f\xbe\x76\xe6\x70\x1f\x99\x1c\xd5\x87\x6e\x81\x13\xf0\x39\xec\x4a\x80\x5f\xe0\xf5\xc4\xf0\x3c\x35\x71\x95\xf1\x66\x8d\xae\xc0\x41\x1c\xe6\xe2\x83\x28\xa0\x5f\xc4\x4c\xac\xc0\x13\x50\x11\x75\xc2\xeb\x21\x27\x04\x94\xdd\x70\x82\xc0\xa3\x30\x57\x71\xa9\xf5\x75\xb8\x4d\x80\xb1\x8a\xe4\xb1\x6a\xe2\x63\x75\x78\x04\x3c\x39\xd8\x09\x7b\xa0\xac\x2f\xf4\x38\xec\x51\x1d\xf9\x6f\x0b\x20\xa2\x2a\x1f\xbf\x86\x2c\xec\x81\xb3\xf7\x08\xdd\xa6\x9a\xb6\xa6\x46\xc7\x1b\x7d\xac\x13\x37\x2d\x5b\x0e\xbc\xe0\xdc\xf0\xe5\xa2\x56\xc1\xf9\xcc\xf1\x0f\x1c\x82\xf3\x43\xf3\x4b\x53\x84\x77\x90\x82\xa4\xbd\x87\x9b\x02\x27\x9a\xf6\xb6\x34\x91\x38\xa9\x11\xa7\xbd\x0d\xc7\xd8\x7f\xee\xbe\x70\xe2\x94\x50\xde\xb4\xed\xa3\x97\x7e\x23\xfb\x9a\x60\xc4\xbd\x4e\xb6\xfe\xdc\xdb\xd2\x5b\xdc\x5b\x6f\x1b\x0b\xcf\x89\x4e\x18\xf1\x43\x5f\x9e\xf0\xd2\x5d\xdb\x26\x96\xe7\x91\x27\xe6\xef\x9e\xf6\x08\x8b\xc7\xf1\xd9\xe7\x71\x52\xbe\xd0\x91\xd3\xb6\xec\xa9\x61\x8e\x47\xb3\xd9\xbc\x9a\x9c\xee\x80\x00\x67\x7f\x86\x2c\xe8\x81\xaf\x59\xd5\x91\x91\xbc\x10\xd9\x76\xed\x0b\xc6\x6e\x8d\x0d\xc9\x66\x8f\xcd\xe7\xf6\xba\x3d\x3e\x97\xdf\xee\xb7\x79\x2c\x76\x2b\xb9\x67\x23\x63\xb5\x9a\xdc\x16\x9f\xc5\xef\x08\x78\x3d\x5e\x6f\xc0\xee\xb3\xf8\xcc\x2e\x93\xd5\x46\xee\x5e\xce\x58\x6d\xe5\x1e\x4b\xc0\x12\x70\x56\xf8\x3c\x3e\x6f\x85\xcd\x6b\xf2\x99\x9c\xe5\x16\x2b\xf9\xd2\x4a\xc6\x6a\x31\xba\x4c\x01\x93\xdf\x2e\xf9\xbc\x5e\x9f\xe4\x08\x98\xfc\x66\xb7\xd1\x6a\x25\xcf\x64\x33\x76\xb3\xd1\x56\xee\x31\xba\xcd\x01\xb7\xdf\xed\x97\x3c\x15\x76\xc9\xe6\x37\xd9\xcd\xe4\x79\x0b\x63\x36\x59\x8c\x82\xc1\x61\xf2\x05\x58\x7f\xc0\x27\x09\x92\xab\xc2\x62\x62\xcf\x56\x32\x2e\xb3\xd9\x6c\xb4\x1b\xed\xe5\x5e\x87\xdf\x11\xf0\xfb\x25\xb7\xe4\xaa\xb0\xba\xcc\xe4\x7f\xfc\x3a\x42\x12\x68\xe3\xbe\x29\x87\xf8\xb0\x96\x81\x61\xbc\x80\xda\xa8\xe6\x9f\xbc\xdc\xaf\x5c\xca\x8f\x04\xad\x02\x06\x53\x28\x3d\xc8\xf7\x6d\xa4\xe0\xbe\xb8\xc3\x35\x2d\x93\x31\xe1\x5c\x8a\xbb\xc8\xa8\x15\x97\xe0\x7e\x4a\x1d\xea\xdd\x4c\xa9\x15\x93\x17\x53\x31\xa4\x22\xaf\x0e\xf5\x22\xcd\xa8\x15\x93\x61\x1a\x8f\x3a\x75\xa8\x0c\x74\xd0\x49\xa9\x71\x10\x03\xbb\x29\xf9\xea\x21\x3e\x72\x55\xd9\xc0\xab\xc3\x69\x40\x33\x31\x45\x16\x25\x45\x4c\x7f\x67\x16\xf0\x11\x5a\x11\x1b\xa8\x62\x4a\x79\x26\x2f\x4b\x78\x1b\x53\x08\x1b\x47\xc3\x32\x1c\x05\x23\x71\x24\x8c\xc2\x65\xdf\xe0\xc6\x7a\xd2\xee\x70\xda\xb9\xa2\x22\x73\x59\x99\x58\xa2\x37\x15\x16\xb0\xc8\x29\x37\xb5\x67\x75\xd9\x04\x38\x9b\x09\x16\xb4\xec\xc2\xb3\xe4\x26\xcf\xce\xec\x2e\x0e\x38\x45\x43\x7d\xa0\x26\x28\x06\xab\xfd\xf5\x8e\x06\x52\x96\xec\x4c\x01\xfc\x82\x23\xe0\x33\x74\x83\x0b\x5d\xe0\xc6\xcf\x60\x04\xfe\xd2\x40\x3a\x1c\x4e\x47\x0c\xab\x5e\x2f\x96\xea\x4d\x45\x05\x2c\x0e\x55\x6e\xda\xb1\x75\xaf\x5d\x90\x3f\xda\x28\xaf\x8e\xac\xee\x8a\x7c\x44\x6e\x74\x77\x6c\xdb\xcb\xc1\x50\x45\x43\x5d\xa0\x3a\x28\x56\xc7\xb0\xd6\x93\xc9\x4e\xa0\x21\x09\x34\x90\x04\x97\xe3\x02\x52\xc8\x04\x9a\x2b\xf1\x7b\x3a\x31\xdc\x0e\xfd\x0c\x78\x79\x90\x86\xc4\x8e\x49\xa8\xa9\xe3\xd5\x38\xb9\x8c\x82\xfe\xfe\x38\xc7\xa6\xf1\xd8\xaf\x54\xe3\x43\xb2\x8e\x81\xb1\x72\x2e\x51\xef\x6b\xac\x6e\xe0\x42\xad\x8a\x86\xc6\xd2\x42\x9f\x08\x63\x23\xb9\x04\x4c\x45\x0d\xb3\xb3\xbc\xb5\xbc\x5d\xc0\x45\xf2\x2f\xc4\xbb\xba\x67\x4f\x3c\xc9\x45\x5b\x15\x4f\x3e\xbb\xf8\x19\x9d\x88\x8b\x22\xbf\x10\xe5\xd9\xe5\xba\x2c\x16\xfb\xe3\xf1\x56\xcf\x53\xcd\x61\x0e\x6e\x4d\x80\x87\xa8\x43\x7c\x98\x66\x64\x5a\xf9\x31\x85\x1a\xd4\x62\x3f\xea\x22\x34\x17\xd1\x2d\xa3\x50\xbb\x9e\x87\x64\xc5\x33\xb8\xfd\x73\x9c\x7a\x16\xa7\x7e\x3d\x1e\xaa\xdc\x6f\x42\xf2\x5d\xff\x18\xfb\xe9\xbb\xa0\x9c\xf8\x49\x0f\x88\x70\xcb\x21\xf8\x31\x13\x0e\xe1\x0a\x98\x8a\xf7\x92\xed\x7c\x3c\x9e\x3f\x49\xbd\xf7\xc2\x99\xa7\x45\xa4\x23\x3f\x31\x58\x03\x4b\xd1\x0f\x04\x06\x3a\x48\x68\x55\x42\xa0\x03\xfc\xa0\x84\x1a\x58\x4a\x26\x37\xa3\xf4\x09\x3c\x0d\x34\x26\x41\x52\x4c\x6e\x1e\xbc\x80\x07\xfa\x93\x4f\x40\x0b\x3d\x40\xab\xde\x0e\x0f\x43\x0d\x03\x4b\xa8\xef\x29\x21\x3a\x1a\x7a\x18\x98\x06\xcb\xff\x05\x3b\x41\x66\x81\x81\x64\x98\x07\xb5\x50\x0b\xc9\x38\x0f\x19\x94\xff\x85\x3b\x61\x1a\x2e\x17\xe0\xf9\x21\x78\x2f\xdc\x81\x93\x41\x27\xe7\xb1\xa0\xc5\x71\xb0\x0e\x1b\xba\x05\x08\xf0\x82\x6a\x6f\x4c\x8c\x2c\xf1\x94\xfa\xf4\x22\x36\xac\xc1\x71\xb8\x0e\xb5\xac\xea\xed\x48\x1e\x4e\x46\x1d\xde\x8b\x77\x08\x03\x21\xb1\xb5\x0a\xd5\x3f\xf1\x2e\x50\xa2\x12\x98\x98\xf8\xfe\x01\xbf\x96\x52\x13\xe9\x21\x9a\x01\x01\xb8\xc6\x86\xc0\x4e\x73\x7b\xaa\xa9\x3d\xaf\x29\xdb\x8f\x73\x8e\xa7\xf4\xc2\xac\x40\xbb\x69\x67\x7e\x43\x6a\x41\x63\x56\x20\xdb\x84\xb3\x16\xa4\x2c\x81\x39\xe6\x38\x40\xea\xb6\xc0\x36\x53\x41\x3e\x72\x28\xa6\x20\x07\xe2\x00\x48\x6a\xb6\x39\x2f\xcf\x9c\xbd\x04\xe7\xa4\xe0\xac\xde\xec\x40\x96\xa9\x20\x3f\x35\xbf\xc0\x94\x15\xc8\xee\xc5\x59\x29\x38\x67\x49\x0c\xc0\x94\x9d\x6a\xce\x0e\x64\x35\x16\x80\x80\x5c\x0a\x0a\xc8\xc5\x40\xfc\xd9\xa9\x81\xec\xa6\xbc\x76\x33\xcc\x59\x92\xb2\x00\x67\x99\xe2\x20\xa9\x0d\xf9\x3b\x4d\xed\x01\x98\xd5\x9b\x72\x1c\xe7\xf8\xb3\x1b\xf3\x76\x98\x52\xdb\xcd\x3b\x03\x0d\x8d\xc0\x81\x90\x02\x1c\x0a\x44\x49\x75\x63\x79\x23\xe7\x0f\xb8\x5c\x7e\xb1\x3d\xd0\xd4\xe4\x6f\x3f\x0e\x73\x52\x60\xd6\x82\x76\x53\x0c\x30\x35\xd6\x34\x53\xfb\x02\x98\x95\x02\x73\x8e\xb7\xfb\x9b\x9a\x02\xed\xa9\xfe\x78\xd3\xc8\x64\x18\x15\x57\xbb\x43\x1a\xa0\x9b\x63\xea\xb6\x0a\x4e\x02\xad\xda\x7a\x40\x4e\xe4\x19\xd5\xfe\x8b\xf3\x29\x55\xde\x01\x1d\x2f\xf7\x33\x53\xe7\xcc\x99\x2a\xe0\x3f\x15\x03\xf3\x11\x50\xc4\xab\xb6\x1e\xb8\x3e\x1f\xf1\x97\x27\x96\x62\x92\x80\x0b\x70\x12\xd0\xf8\xd4\xc0\x34\xc4\x6f\xef\x7d\xd5\xdf\x27\xf6\x1c\x3d\x78\xb4\xab\xb7\xba\x39\xd8\x12\x6c\x21\x5b\xab\x5e\x01\xb2\x83\x53\xe5\x1d\xb8\xf4\x41\xc6\x48\x11\xe9\x91\xcf\xcf\x60\xe5\xfe\xff\xcc\x43\xfc\x39\x09\x11\xa1\x14\xb5\x3d\x81\x97\x0f\xb3\x30\x11\x99\x7f\xe1\x38\x41\xb5\xff\x22\xb2\xe9\x38\x69\xf4\x5c\x71\xcb\xd2\x8d\xab\xd6\xaf\x22\x37\x65\x4e\x7b\x78\x49\x4c\x69\xde\xc0\x8b\xaa\xad\x07\x6e\xcc\x3e\x9c\xff\x61\xdd\xf6\x73\xe2\xda\x5f\x7f\xdb\x0c\x49\x1c\x2c\xe2\x9b\x0f\x54\x1f\xf2\xbc\x44\xc2\x44\x05\xa4\x01\x09\x37\x43\x9a\x18\x6f\xf2\x49\x50\x8d\x06\x7a\x1a\x30\xab\x07\xda\x1e\xf7\x82\xca\x7c\x54\x4d\xa4\x03\xcd\xa8\xf6\x2d\xc4\xa7\xf0\x09\xa4\x71\x09\x87\x89\x53\x4e\x00\x25\xaa\x32\x8f\x34\xba\x1a\x3d\x0d\xc2\xca\x56\xdd\x99\xa3\x6c\x9b\xbf\x2d\xd8\x2c\xa8\xb6\x3e\xba\xb1\x33\xff\xd0\x31\xb6\xb3\xe6\x58\x73\x5b\x8c\x39\x53\xe7\xbc\x7e\xf1\xc2\xb9\x37\xde\x11\xe5\x7e\x85\x2a\xf7\xd1\xf3\x23\xdf\x02\x9a\xbd\xf2\x41\xe7\xa5\x9d\x27\x91\xd0\x05\x85\xa0\x2e\xa8\xab\xd9\xde\xb5\xe0\xe0\xb2\x9e\x65\xe4\x94\xbe\xf7\xc6\xfe\xc6\x75\x46\x69\x05\x48\x7d\xdf\xc7\x78\x0c\x87\x29\xd5\xd6\x47\xb1\x47\xb1\x64\xda\xe7\x5d\x99\xe2\xfa\x9e\x8d\x3d\x5b\x8e\x91\xdf\xcc\x4d\x87\x49\xc8\x72\x38\x0e\x19\x0d\x4e\x5c\x11\x48\xaf\x5d\x25\x46\x28\x05\x0a\x48\xe1\xcd\x28\x60\x1a\x90\x18\x6b\x19\x4c\x54\x78\x56\x56\xaf\x6e\x5e\x47\xaa\x32\x8f\xd8\x4b\x1c\xc5\x25\xec\xf4\xe6\xe9\x87\x16\x09\xaa\x7d\x0b\x1d\x16\x02\xe7\x39\x80\x1d\x0a\x33\x38\xb8\xe9\x6a\xe7\x81\x9f\x45\x55\xe6\xa3\x2d\xe7\x7e\x38\x70\x9e\x8b\xe9\x7f\x24\x25\x26\xdb\xa8\xff\xf5\x2a\x4c\xa1\x54\x5f\xa7\xdb\xf9\xe9\xdf\xf3\x21\x1f\xa3\xfa\x7a\x0e\x2e\x40\x1a\x27\xe1\x53\x6c\x46\x94\xee\x54\xfe\x36\xf6\xbd\x29\x7d\xc2\xb2\x9e\x65\x07\x17\x74\xe5\x56\x6f\x0f\x6e\x0f\x92\xba\x2a\x24\x5f\xe9\x60\x2f\x75\x7e\x70\x45\x50\x5d\xbe\x04\xf4\x5b\x23\xcf\x73\x72\xbf\xf2\x9d\x37\xce\x5d\x10\x54\x3f\xa6\x5f\x7c\x7d\xce\x54\x11\xff\xa9\x54\x41\x7a\x73\xdb\xb1\x9a\x4e\xee\xd8\xa1\xfc\x8d\x9d\x62\xb0\xb9\xcd\xdf\xc6\xa9\xbe\x9e\x73\xf4\x8c\x6e\x65\xab\xe8\x69\x68\x74\x37\x72\x70\xeb\xd1\x49\x48\x88\x40\xfb\x18\x98\x89\x89\xc0\xe0\x5c\xbb\xd0\xbd\x68\x7a\xf3\x74\xae\xa4\xd8\x61\x2f\x11\x55\x30\x67\x5d\xf3\xea\xea\x95\x1e\x12\x26\x2a\x21\x0d\x6f\x06\x12\xd3\x50\xc0\x9b\x91\x8a\xbf\x45\xca\xda\x55\xe9\x81\x15\x1c\x4e\xd4\xc4\xdd\x6f\x58\x98\x94\xfe\xcd\x5c\xf1\xd8\x96\x9e\x8d\x3d\xeb\x49\xd5\x8f\xe9\x5d\x99\x9f\x4f\x5b\xc2\x62\x8f\x32\x46\xe9\x31\x4a\x08\xd1\x71\x46\x40\x8f\xf2\xfc\x81\x1f\x5a\xce\x09\x07\x7f\xdd\xf3\x1b\x24\xb1\x31\xc6\xfc\x1f\x2f\xcc\x14\x4a\xe5\x1d\xe8\x1b\x98\xb8\x78\x0a\x52\x82\x2a\xb8\x2b\x3f\xdf\xe5\x29\x10\x57\xea\x5e\xd0\x2d\xe3\x72\x72\xfc\xc1\x5c\x71\x63\xc6\xea\xfc\xa5\xdc\xa6\x15\xb5\x4d\xdb\xe2\xed\xde\x7f\x20\xd6\x93\xa6\xcd\x3e\xf7\x8e\x20\xf7\x2b\x67\x3c\x3f\x12\x69\x6e\x64\xc6\x07\x97\x76\x02\x71\xb2\x35\x28\xb6\x06\x5b\x83\x2d\x35\xbd\x5d\x47\x0f\x1e\xed\x21\xfb\xfb\xbe\x7a\xef\x37\xb6\x53\xa9\xba\x70\x20\x44\x67\x28\x54\xde\x2c\x7c\x0a\x68\x7c\x02\x97\xb0\x48\x87\x24\x06\x8c\xfc\xd7\xbc\x2a\xb8\x0b\x9e\xe5\x45\x95\xf7\x00\x48\x51\x1f\x03\x37\x65\x5c\x5d\xf7\xb3\xb0\xfd\xdc\xba\x1f\xce\xb3\xd0\x13\xdf\x86\x25\xb8\x2b\x4a\xc7\x3a\x0a\xf6\x28\x97\x3c\x3c\x6d\x53\xa6\xb0\x6a\xfd\xaa\x8d\x4b\xb7\x90\xa3\xe7\xe2\xa4\x74\x64\x59\x1c\xf7\x05\x32\xf0\xf8\x4b\xc7\xfc\x75\xdd\x31\xb6\xa1\x00\x37\x23\x05\x02\xa4\xc1\xcd\x40\x42\x9a\xa0\xf2\x66\xc1\x44\x65\xb7\xf7\x68\xcd\xde\x46\x52\x75\xe1\x80\xbd\xa6\xd6\x51\xc3\xf5\xf5\x35\x1f\x3a\x29\xfa\x1c\x84\x6a\xff\x01\x98\xe7\xf8\x15\x58\x98\xc1\x26\x23\x7d\x95\x1f\xec\x04\x6f\xb8\x06\x24\xd5\xb3\x76\x1e\xca\xa8\x88\x43\x01\x73\x71\x2e\xa1\x3a\x12\xd4\xfb\x8b\x0a\x59\xd5\xb3\xf0\x32\x35\x66\x0c\xf4\x51\x78\x0d\xae\x8d\xb9\x0c\x37\xf1\x97\x2f\xc3\x35\xb8\x06\xa3\xa8\xeb\xf6\x83\xd7\x8d\x0a\x63\xa5\x64\x87\x42\x75\x04\x02\x54\x5f\xdc\x9e\xf0\x2a\x2f\xdf\x4e\x85\x6b\xc0\xab\x5a\xa8\x26\x88\x10\x0d\xc0\x8f\x19\x83\xd7\xf0\x1a\xa1\x3a\x32\x10\xf5\x59\xb5\x70\x20\xee\xf3\x98\xcb\x7f\x5a\x34\xc6\xcd\x1c\xe7\xc2\x5c\x22\x46\xc9\x5b\xbc\xec\x50\xe0\x5c\x98\x3b\x50\xed\xac\x78\x78\x8e\xcb\x63\x88\x01\xda\xc0\x3b\x44\x75\x24\x8d\xea\xe6\x63\x75\xc4\x4d\x17\x7d\x6a\x22\x29\xc4\xc4\xeb\x21\xf4\xfa\x22\xd8\xc5\xe3\x00\x2a\x65\x16\x2f\x3b\x94\x31\x1a\xa1\x8d\x82\x9b\xf8\x58\x0b\x2e\x5f\x86\x51\x54\x0c\xe1\x0d\x74\x3e\xc7\x19\x5e\xf5\x0d\xdc\xca\x23\x3d\xc0\x93\x38\xce\x39\x31\x9c\x2a\x00\x3e\x46\xf9\x98\x31\xd0\x16\xe7\xc4\x00\x41\x33\x29\x18\x68\xf6\x36\x3e\xe2\x50\xc6\xc8\x1e\x60\xcb\x00\x3a\xd7\x7f\xd0\x09\x60\x7b\x0d\xee\x01\x95\x5d\x02\xbe\x16\x06\xd7\x36\x34\xd6\xd7\x1e\x85\xb9\xa8\x81\x84\xd1\x35\xce\x1d\xbf\xd7\xbb\x5a\xf6\xc2\xf0\xc1\x4e\x38\x0e\xcf\x74\x7d\xfc\x99\xb1\xe5\x58\xc7\x0e\xe9\x78\x53\xc5\xab\xb9\x4d\x40\x4a\xaa\xcf\x46\xec\x2d\xfb\x7f\xda\x22\xa9\xfe\x39\x62\x6f\x19\xec\x8c\x34\x30\x55\x81\x06\xa9\xc6\x5a\x65\x93\xac\xa5\x46\x52\xf5\xfd\x88\xbd\x65\x66\xab\xd1\x6b\xb2\x4b\xf6\x6a\xab\xd5\xb8\xa3\x78\x63\x41\xa1\x9b\xac\x70\x64\x17\xbb\x58\xa3\x45\xef\x34\x19\xcb\xcb\xaa\xf2\x8b\xbd\xe6\x52\x5d\xc0\x50\x52\xa5\xdf\x5e\x58\x56\x6b\xb0\xfa\xca\x0c\x66\xaf\xd9\x65\x36\x59\xdd\xae\xa0\xc1\xe3\x20\x2d\x76\xab\xd5\xc2\xf9\x4a\xcb\x4a\x8c\xe5\x86\x72\x5d\xb9\xcd\x5e\x50\xa8\xcf\xee\x34\x91\x2e\xe7\x26\x87\x4b\x74\xeb\x7d\x1b\x72\xab\x0d\x3e\x73\x87\xad\xca\x16\x74\x38\xcb\x83\xa5\xc5\xf6\xaa\xb2\x00\x19\xa7\xbc\xcc\x5f\x64\x37\xfb\x8b\xcb\xca\x3c\xb6\x7a\x6b\x79\x85\xde\x61\xb3\x18\x8c\xee\x72\x7f\x69\xe5\xd6\xc2\xe2\x00\xe9\xf2\x5a\xed\x1e\xd1\xa6\x37\x05\xcc\xd6\x01\x8a\x4d\x16\xb3\xc1\x6c\xa9\xce\x2e\xc9\x71\x65\x91\x79\xd5\x1b\x1a\xcb\x04\xc9\xb2\xdb\x2e\x79\x6b\xfc\xf6\x2a\x5f\xd0\x57\xed\xf7\xd7\xba\x5e\x76\x6f\xda\x60\x29\xb0\x95\x3a\x8a\xed\x7a\xd2\xee\xf3\xb9\x7c\x9c\xd7\xe3\xf3\xb0\x7e\x43\x93\xcd\x1f\x0c\xe8\x6b\x8c\xee\x12\xb2\xc4\x5d\x5d\x9c\xcf\x95\xd4\x6d\xb5\xb8\xc5\xaa\xbc\x86\xf2\xa6\x4a\xb2\xdc\xb6\xbd\xcc\x2e\x18\xec\xf9\xcd\xde\x2a\x87\xd5\x66\xb3\xd9\x0d\xc1\x42\xbf\x31\x68\xf7\x64\xf5\xf8\xdd\x25\xe6\xad\x95\xa5\x81\xdc\x2a\xdb\xae\x6d\xd6\x02\x9b\xc5\x94\x5b\x41\x96\xf8\xf4\x95\x25\x81\x22\x69\xab\x64\x6e\x32\xd7\xb9\x1b\x8d\xb5\x64\xa5\xb9\xa0\xa9\x94\x0b\xea\x76\x7b\x6c\x62\x59\xf5\xea\x7d\x15\x4d\x6e\xcf\xf6\x0a\xab\xcb\x6b\x70\x95\xf9\x8c\x3e\x83\xdf\xe8\x37\x54\x15\xd4\x6e\xb7\x6f\x2f\xb5\x7a\x1b\xad\x15\xa6\xea\x7c\xa7\xa5\x86\x74\xbb\x5c\x4e\xb7\xcb\x55\x9f\x5d\xe3\x0d\x96\x54\x39\x9b\x0d\x35\xc6\xea\x62\x7f\xa9\x64\xf1\xac\x3f\x5a\xed\xc9\xb3\x18\x8e\x79\x82\xa4\xd3\xee\x74\xb1\xde\xa0\xe9\xcd\x3a\x57\x99\xc3\xb6\xd3\xe3\x73\x7b\x6b\x8b\x5d\x76\xbf\xc7\x5f\x61\x0f\xd8\x2a\xca\x02\x26\xbf\xcd\xbd\x7a\x87\xc3\xe1\x0d\x38\x02\x66\x1f\x99\x5f\x5c\xb9\xcb\xe0\xb1\xba\xac\x1e\xab\xf7\xec\xd7\x9f\xfe\xfd\x4a\x2f\xe9\xf2\x57\x38\x2b\xb8\x06\x7b\x65\x71\xb5\xd1\xed\xb3\x56\xd8\x7c\x9e\x8a\xa0\x3b\xe0\x96\x5c\xd5\xee\x0a\xab\x59\x32\x55\x98\x2a\x1c\x0e\x9b\xdd\x61\x2f\x93\x72\xf5\x06\x2b\x59\x6e\x35\x59\xca\x6d\x16\xbb\xcd\x69\x75\xc5\x9e\xd9\x67\x65\xbb\xeb\xf6\xd4\x74\x55\xf9\xad\x7e\x93\x64\x32\xfb\x9c\x3a\xb7\x95\xac\x2a\x6e\xab\xac\x75\x1c\x31\x1b\xff\x32\x2c\x60\x70\x16\x4b\x46\x49\x2a\xad\xf4\x4b\x6e\x6f\x83\xcf\xef\x09\xf8\xf4\x01\x9b\xdb\xe0\x5f\xe3\x69\x6c\x0d\x54\xb4\x5b\x2b\x2c\xa4\xea\xb3\x91\xaf\x94\x55\x99\x83\x65\xc5\x86\x80\xa3\xcb\x68\x29\x25\xfd\x1e\x9f\x54\xc1\x49\x0e\x77\xae\xd7\x52\x93\xdd\x76\xd2\x6b\x2f\x08\xec\x95\x24\x5b\xc0\x56\x95\x53\x1a\xab\xd8\xba\xaf\xac\xca\xe0\xda\x9e\xe7\x2a\x71\x15\x35\x96\x16\x93\xaa\xcf\xa6\xed\x2d\x33\x1a\xac\xc5\x46\x63\x49\x49\xbe\xab\xd0\x1d\x70\x6c\xd7\xd9\xad\x66\x93\xb5\xdc\x5e\x6e\x37\xb8\xcb\x2c\x86\x7a\x9f\xb4\xd9\xe4\x68\xf6\xd4\x3b\x9b\x4c\x03\x18\x6a\x2c\xcd\x66\x7f\xb1\xd7\xdf\x68\xf3\xdb\x83\x66\x57\xa9\xa7\xcc\x5b\x5c\x9d\x5d\x5f\xe1\x71\xb7\x54\x96\xfb\x49\xd5\x67\x77\xee\x2b\x2b\x0f\x18\x1b\x2a\x2a\x2b\xaa\x1a\x3d\xbe\x1a\xb2\xa2\x35\xc3\x56\xcf\x56\x56\x7b\x1c\x41\xa1\xb2\xb8\x29\x18\x10\x2a\xfd\xc7\x0d\x92\x59\x32\x77\x94\xbb\x8d\x03\xea\x4c\xbc\x83\x55\x98\x02\xc5\x25\x56\xc9\xbd\xc3\x50\x60\xf6\x7b\x7c\x76\xbf\x37\xe0\xf5\x06\x24\x8b\xdb\x51\xd5\xe2\x77\x48\x0e\x77\xa9\xd7\xec\x35\x56\xd9\xbc\x46\x32\x50\x68\x2b\x6a\x35\x07\xec\x8d\x55\x8e\x62\xd2\xeb\x75\x7b\x5c\xac\xab\xc4\x5f\x54\xef\x26\x9d\xce\x7c\xbb\x4d\x30\x1b\x8b\xdd\x46\x8b\xcd\x91\x93\xeb\xb1\x95\xd6\xe6\x3a\x0b\xad\x05\xb6\x42\x7b\xa1\xa9\xdc\x5a\x6e\x35\x9b\x6c\x56\x4b\x81\xc5\x51\xe9\xf6\x55\x55\xf8\x07\xfa\x10\x3e\x72\x2d\x81\x71\xf8\x1c\x95\x2e\xd6\x51\x57\x5f\xe5\xa8\x2d\xf3\xd8\xaa\xdc\x41\x77\x7d\x6d\x30\x58\x15\xac\xf2\xb4\xda\x6a\x2c\x6d\xce\x76\x6b\x9b\xcb\x5c\xef\xf6\x94\x7b\x03\x6e\xc9\x17\x20\xbd\xfe\x80\xdb\xef\xab\xf4\x37\xb7\x06\x4b\x2a\xf5\xd9\xa5\xd5\x65\xde\x0a\x6b\xb0\xa2\xa2\xae\xa1\x2a\xaf\xce\x52\x6f\xf1\x9b\xab\xcb\xac\xde\xa6\x80\xdb\x45\x36\x7a\x2b\xca\xaa\x0d\x35\x86\x16\x93\x3d\xaf\xd2\xee\xb7\x55\xd8\x2a\xac\x55\x6e\xbf\xf9\xc1\xfb\x31\x79\x1a\xf2\x39\x64\x72\x1a\xea\xd5\x8a\x8c\x84\x66\xb5\x62\x63\xa2\x4c\xf7\x65\x52\xa1\x14\xf9\x51\x06\xef\x7c\xf5\xee\xab\x2f\xc2\x9d\xd1\x89\xd1\x89\x29\x37\x2c\x3d\x7f\xc3\x41\xf0\x36\x15\x7a\x22\xf4\x04\x11\x4a\x96\xa7\x31\x4d\xfa\xda\xbc\x3c\x2c\xc6\xe1\xf9\x9b\x04\x9c\xff\x3b\x01\x3a\x25\x1c\x85\x89\x84\xe4\x0f\x54\x55\xb1\x41\xb3\x64\x08\x08\x3d\xb3\x46\xb5\x4c\xe1\x96\x50\x87\x79\x98\x0b\x93\xe0\x36\x98\x7a\x5e\xac\xea\x0c\xf6\x74\xb1\xc9\xff\x25\xf8\xc3\x8d\x7f\x84\x8a\xbb\x70\x85\xa5\x98\x92\x4a\x87\x68\xa4\x95\xd7\x24\x59\x02\x23\x15\xa1\x65\xe9\xc6\x92\x33\xd0\xd1\x7e\xe6\x28\x1f\x92\x92\xae\x1f\x92\xf1\x0f\xa4\x75\x3c\x74\xf3\x6a\xa2\x48\x9d\xf4\xd1\xf5\x60\x26\x6a\x1c\xa4\x80\x4b\xbc\x6c\x88\x18\x52\x22\x85\x4a\xd0\xf0\x02\xb4\xf0\xd7\x5d\xc7\x42\x85\x4a\xd9\x20\x1b\x6e\x04\x35\x69\x6e\xce\x1d\x88\x93\x96\x00\xc7\xa9\x8f\x78\x5a\x1d\xa2\xe1\x3c\x0f\xb4\x2c\x21\xad\x0c\xd1\x51\x9a\x89\x6a\x50\x33\x85\x12\xb0\xff\x2b\x0a\x34\x51\x4d\x44\x77\x8a\x8a\x4a\xb2\x8e\x41\xa9\x9b\x57\x84\x24\xf9\x2a\xb3\x90\xc2\xab\x90\xc0\xe3\x55\xe5\x3c\x2a\x42\x17\xf1\xca\xe4\x98\x7e\x93\x18\xce\x63\x60\x18\x0e\x23\xf4\xc1\x3a\xd3\xdb\x94\xac\xcd\xa7\x22\x5a\xc5\x36\x5d\x51\x8e\x41\x34\xe8\x7c\x5b\x1b\x0b\x62\xb9\x29\x08\xb1\x3f\x00\x0c\x83\x61\x71\xa2\x5a\x53\xdb\xe2\xad\x18\x88\xd0\x01\x59\x54\x3c\x12\x3a\x5c\x87\x3b\x4a\xfd\x5f\xdb\xac\x00\xcf\xc3\x51\x2a\x05\xe2\x3f\x04\x1c\x86\xc3\xe2\x31\x42\xc6\x50\xb2\x56\x09\x3c\x85\x03\x35\x01\x10\xd7\x23\xcf\xc1\x7d\x20\x52\x71\x47\x69\xf9\xab\x10\xcd\xbc\xf8\x41\xe6\x57\x97\xd9\x16\x77\x8b\xa7\x45\x28\x4e\x5f\x51\xbe\x0c\xb9\xa1\x97\x72\x39\x54\x79\xb0\x7d\x02\x26\x7e\xbb\xe4\x47\x11\x58\xc5\x3b\x9f\x7c\x7b\xe4\x57\x0f\x19\x3e\x1d\xbd\x83\x81\xdc\x05\xf0\x23\x1e\x15\x36\xe2\xed\x28\xe2\x52\x5c\x8a\xb7\x83\xb8\xf1\xcf\x0d\x08\xc6\xff\x7e\xff\xc0\x06\x04\xa0\xf9\xfd\x3b\x18\x2f\x5e\x93\xd4\x49\xd1\xb5\x7c\x48\x1b\xa1\x07\x02\x9a\xc9\xfd\xb8\x9d\xf9\xd4\x03\xed\xa8\x12\x72\x87\x8e\x47\x8e\x5b\xb6\xa2\xa2\x36\x5d\xf4\x6c\x77\x6f\xdf\xce\x8e\xc9\x1c\xfb\xe2\x64\xe1\x57\xdb\xb7\xcb\xdf\x79\x8c\x04\x56\xf1\xe3\xb7\xc7\x21\x51\x44\x5a\xfe\x6d\x2d\x9f\x9c\x86\x49\x30\x1f\xe7\xab\x15\xe9\xd7\x34\x30\x1f\x1f\x1e\x98\x54\x19\x5c\x07\x5a\xd4\x0e\x24\xce\xc3\x87\x60\x9e\x6a\xca\x20\x95\x71\x90\x9a\x38\x00\xfd\x8c\x7c\x1b\x4f\x14\x16\x64\x1b\xb3\xb9\xec\x6c\xa9\xa1\x40\xc4\x55\xb0\x9a\x28\x68\x30\xb4\xb7\xb3\xbb\x83\xad\xcd\x4d\xc2\xa6\xae\x8e\x35\xaf\x70\x33\x29\xd5\x1d\x83\x5e\x59\xd3\xb1\xa9\x4b\x68\x6e\x6a\xad\xda\xc5\xb5\xb7\x1b\x0a\x1a\x44\x58\x83\x6b\x88\x86\x82\xca\x9c\x6d\x6c\x74\x5e\x68\x3e\xb3\x45\xaf\xcb\xcd\x13\xba\x36\x6d\xed\x5e\xc8\xc5\x54\xe0\x85\xdd\x5b\xbb\x36\x89\xb9\x79\x3a\x43\xe6\x75\xfc\xaa\x29\x83\x70\x0d\xac\x81\x0c\xbe\xbd\xb2\xfd\x06\x96\x55\xb8\x3a\x86\x25\x3b\x9b\x0d\xab\xa2\xf3\x99\xbf\x67\xfe\x4d\xfb\x9a\x10\x03\x23\x4e\xcd\x7f\x72\xf7\x24\xee\xf1\x27\x33\xe6\x69\xc5\x71\x5f\x10\xa7\x5f\xeb\xfc\xe0\x63\xf6\xc3\xcc\xfe\xf9\xa7\x84\x38\xa5\xaa\x51\x65\xaf\xcd\x9f\xb2\xfb\x09\x4e\xa5\x2e\x9b\x34\x25\x73\xfe\x7c\x11\x47\xe0\x70\x62\xfe\x82\xcd\x4f\x4e\x62\x9f\xd8\xf5\xd4\x6b\x5a\x21\x4e\xe3\xfc\x53\xef\x6f\xf9\x90\xfb\xf8\xfd\xce\xd3\xaf\x89\x5f\x8c\x23\xe6\x69\x33\x26\x3f\xce\xaa\x5a\x06\x4d\xda\x35\xe5\xd4\x7c\x21\x4e\x80\xf6\x54\xff\x96\xbf\x73\xaa\x51\x65\x1f\xf6\xef\x3a\x75\x4a\x8c\x6f\x3f\x70\xaa\x77\xcf\xfb\x1f\xb2\x37\x6c\x7f\xca\x12\xd5\xca\x32\x99\x66\xe0\x79\x54\xc1\x28\x7c\xe2\x90\xb0\xe3\x50\xed\xb1\x57\xa0\x83\x9a\x3e\x57\xb7\x66\x85\x00\xb3\x9f\xc0\xe9\x70\x27\x6e\xe2\x80\xa0\x4a\x5c\xc5\xae\x12\x11\x47\x3d\x7d\x17\x3e\x88\xd3\x7a\xf9\x70\xbf\xe2\x5f\x54\x9a\x9d\x07\x3a\xe1\x0a\x95\xa8\x26\xe0\x0b\x26\xe2\x0c\xed\x25\xe4\xa1\x7d\xca\x2f\xf8\x88\xa4\x30\x50\x7d\x91\xa1\x8a\x88\x33\xba\x97\xc0\x5b\x26\xf7\xde\x0f\x77\x71\x16\x4a\x01\x77\xf5\x7e\x07\xb7\x4c\x16\xa3\x4d\xa1\x8d\x4c\xd3\x1e\xe2\x80\x52\x1e\x0a\x74\x64\xa8\x72\x9d\xb2\x69\x33\xb4\x47\x9e\x24\xa2\x4b\x15\xf1\xe8\x61\x9a\xb2\x5c\xb8\x0a\x9a\x78\x38\xff\xf8\xce\x08\x83\x5d\x30\x4e\xd6\xc2\x38\x57\x5f\x5f\x4c\x7f\x9e\x1c\xd6\x86\x68\x66\x26\x0f\xbd\xd3\x19\xd9\x2b\xdf\xdd\x50\x2d\xb5\xd8\x9b\x53\x6d\x2d\xa5\x8d\xf9\x95\x48\xf7\xa5\xf8\x8c\x06\xb7\x81\x2b\x2b\xb3\x59\x8c\x62\x74\x6a\xe4\x4e\xbc\xe9\x6d\xab\xdb\xea\xb6\xba\x52\xa5\x3d\xde\x2e\x5b\x97\xf1\x97\xa9\x3f\xe0\x4d\x17\xc9\x53\xe3\xef\xdb\xfd\x00\x37\x76\x52\xd6\x8b\xf3\xc4\x17\x5e\xcc\x9c\x14\x98\x28\xdd\x73\xf1\x5e\x48\x78\x86\x9c\x7f\xe9\x87\x2d\xdf\x72\xa7\x5f\xa9\x6a\x3a\x2c\xfa\x8d\x01\x93\x64\x86\xe4\x29\x29\xaa\xf2\x41\x98\x3c\xc5\x68\x36\x99\xcc\xc6\xd4\xa6\x15\x0b\xab\xe6\x71\x0f\xdc\xbb\x65\xfe\x78\x11\x13\x9e\x99\x7a\xaf\xf1\x1e\xd3\xc4\x5d\x93\xce\x2c\x20\x17\x9e\xfe\x30\xeb\x2b\x4e\x35\x7b\xd0\xb7\xdf\xef\x3e\x75\x49\x84\x9b\xde\xbd\xf8\xbd\xf4\x8b\xa7\xcb\xda\x65\xdc\xe3\x75\x79\xdd\x5e\x37\xdc\xf4\x76\x4a\x68\x6a\xe4\x4e\xc2\x22\x55\xd9\xaa\xb8\xca\x4a\xb7\x4f\x12\x81\xee\x6b\xac\xac\x6e\xf4\xb4\xa4\xba\x9b\x8d\x2d\x05\xd5\xa4\x1a\x97\x86\x86\x33\x39\xdb\x56\xe9\x97\x71\xaa\xb6\x41\xb3\x9e\x69\xea\x9e\x25\xe2\xa0\x0b\x6b\x7f\x3a\x77\x9a\x6c\xdb\xd1\x13\x3c\xca\xbd\xf1\x5e\xde\x9a\x73\x22\x0c\x9a\x76\x70\xf8\xac\x79\xe4\xf8\x68\x09\xb3\x66\xd6\xd3\x79\xb3\x39\xd5\xed\xbd\xcb\x56\x05\xdb\xb6\x89\xb3\x4e\x1f\xfc\x09\x06\x5d\x20\xbb\xcf\xbd\xdb\x74\x8e\x3b\xda\xa3\xcf\xd9\x21\x9e\x9b\xb7\x76\x38\x0e\x9a\x46\xc2\x54\x39\xc4\x48\x92\xdb\xed\x76\x79\x3c\xa9\x15\x01\x7f\x45\x45\xc5\x8e\x1d\x29\x1f\x2f\x2d\x29\x27\xf2\xf4\xa5\xb9\x3a\xb6\x4c\x09\x34\x4e\x60\x50\x33\x72\xdb\x8e\xf2\x0a\x73\x45\x79\x45\xaa\xcd\x6d\x77\xd9\x3d\xc6\x8a\x14\xd0\x5c\x21\x80\x50\x86\x24\xf9\x29\xa0\xa7\x47\x75\x91\x7e\x42\xbe\x1a\xa1\x99\xc8\xc7\xf0\x89\xcf\xed\x73\x79\xbc\xa9\xf0\x0c\x08\x72\x7d\x64\x14\x91\x0c\xde\x3f\xf7\x66\x91\x69\x58\xc9\x2f\xe0\x55\x3f\x1c\x50\x2b\x9a\xe1\x1c\x1f\xd1\x28\xd6\x2c\x2a\xd4\xad\x11\xe1\x53\xa5\x0a\xe6\x2c\x8d\x25\x2c\x78\x72\xf3\xba\x75\x62\x64\x54\x64\x14\xb1\x6e\xdd\xe6\x27\x17\xb0\x51\xcd\xe3\x94\xea\x87\x03\x72\x0f\xf6\xc0\x04\x5e\x9d\xd4\xab\x5c\xca\x47\x7a\x70\x23\xa3\xfa\xe1\x22\xbe\x8a\xaf\x2a\xf1\xdb\xd0\x24\x26\x7e\x25\x97\xe3\x4f\xcc\x40\x29\x94\x22\x52\x88\x8e\x47\x0c\x95\x35\x32\x1d\xd1\x28\x55\x3f\x1c\x08\xd1\xd7\xae\x32\xd7\xe8\x58\xba\x42\x05\x63\x06\xb2\x94\xb1\xcf\xcc\xed\xa0\x0a\x0f\x01\x06\x3c\x70\x7b\x82\x17\x68\x70\x00\x1d\x0a\x82\x2a\x51\x4d\x14\xc3\x48\xe6\x8b\x75\x97\x66\xbc\x29\x44\x3e\x92\x3f\x22\x0e\xad\x99\xdf\x3a\x8f\xc3\x9b\x1e\x7e\x18\x6f\xd2\xb6\x6a\x0f\xad\x11\xe5\xd1\x91\xd1\x84\xd9\x5f\x61\xad\xe0\x9a\xcf\x9c\x69\xae\x80\x28\x15\x19\x2d\x8f\x26\x8a\xeb\x0c\xcd\x2d\x6c\xf7\xae\x8e\x83\x2d\x2d\xc6\xe2\x3a\x41\xfe\x28\xf2\x11\x71\x70\x6d\xfb\x8b\x5a\x76\xfc\x8c\x19\xe3\xe7\x2f\x68\x3f\xb8\x56\x88\xd6\x87\x1a\x88\x25\xc7\xb7\xbe\x75\x81\x85\xbb\xe0\x26\x50\xc2\xdd\x17\xde\xda\xb2\xf4\xb8\x20\xff\x12\xf9\x35\x8e\x55\xe2\x9a\x4f\x9f\x1e\xc0\xfa\xb3\xfc\x0b\xf1\xb7\x29\xf7\xf5\xdc\xc3\xe1\x06\x7c\x0c\x27\xe2\x86\xe1\x2f\xdd\xf7\xde\x53\x62\xa8\x21\x5a\x4f\xcc\x7c\xf3\xd2\xda\x2f\x38\x18\x03\xb7\xc0\x2d\x30\x26\xbe\x90\x17\xf7\x94\x04\x29\x76\x7e\x95\x92\x25\xf8\x8d\x97\xe9\x21\x32\x1d\x92\x22\xb1\x8f\xed\x10\x59\xa3\x5c\xca\x47\xfb\xfb\xa8\x88\x06\xe9\x58\x9f\x8e\x68\x1e\xa7\xe4\xb8\x9b\x80\xb2\xa9\xbb\xa8\xa4\x46\x84\xbd\xb8\x97\xa8\x2e\xad\x5f\x95\xcf\x5e\xa3\x95\x11\x29\xac\xa9\xe3\x51\x3b\x30\xd9\x0a\xda\x81\xb9\xd6\x10\x9d\xc1\x5c\x0f\xe4\xd1\x05\x5d\xd7\x03\x79\x5c\xd3\x0c\xc4\x75\x54\x87\x7b\xb5\x7c\xdc\x10\x35\x7c\x35\x8d\x77\xfe\x9b\x82\xe1\x14\x7d\x69\x0e\x05\x5a\xc6\xc9\x87\xe8\xa4\xeb\x87\xe4\x66\xe7\xbf\xa9\xbe\x3c\x1b\xbf\x80\xcf\xe4\x65\x29\xe9\xfa\xce\x8c\x3a\x3e\xa2\x61\x9e\xa2\xe0\x4d\xea\x11\x4a\x9d\x14\xdf\xef\x51\x1d\x2e\x0b\x5f\xcd\xe4\xff\x8f\x9c\x90\xf6\xfd\xff\x76\x9f\xdc\x8c\x12\x24\xc0\x08\x90\xee\xfb\x1e\xe8\x1f\x76\x81\xd4\x08\x09\x40\xff\x30\xb8\xf3\xb7\x46\xb8\x65\x03\x0c\xc1\x9b\x41\x35\xec\xaa\xea\xf9\x32\xf9\x8e\x47\x98\x8b\x2b\x5e\x7d\xb6\x4e\xf8\x37\x28\x89\x2f\xf0\x73\x1c\xf5\x9b\x52\x75\x2a\xad\x57\xa9\x6a\x49\xeb\xec\x72\x77\x72\x0e\x65\xfa\x9a\x4d\x0b\xd7\x2f\xdb\x31\x2f\xa5\xc7\xd3\x67\x9b\xc7\xae\x5e\x57\xb8\x61\xed\xaa\xa6\xf6\x2c\xe1\x85\x71\x84\xea\x54\xda\xf2\x23\x7d\xb9\xe7\xb9\x5f\x3f\x7f\x13\x6e\x12\xdd\x21\x25\x73\xb7\x42\x75\x53\xda\x6c\x54\x29\x3d\x1f\xc1\x96\x2e\xb8\x97\xfd\xe1\xb1\xd7\x46\x4f\x9a\xb6\x66\xea\x26\xe1\xd2\x1c\xa2\xa3\x7e\xd7\xee\x7d\x5c\x57\x73\xc1\x46\xf1\x11\xcc\xdd\x8a\x33\xd9\x02\x4f\x81\xa7\x40\x80\x6b\x0a\x35\x61\x40\x0d\xdc\x42\xc5\xda\xf9\x21\xa3\xba\xa9\x0c\x07\x29\x54\xb7\xdf\x2e\xdf\x7b\x97\x12\xd5\xa8\x7a\x6f\x52\x63\x7d\x53\x6d\x55\x4b\xaa\x5b\xaf\x98\xe0\x98\x30\x81\x4d\x53\xa8\xe8\xc9\xf7\xc2\x17\x4a\x1d\x8f\x3d\x70\x0b\x15\xe3\x82\xea\xf6\xdb\xd5\x38\x19\x0e\x51\xa8\x55\xc6\x23\x77\xc5\x38\xa2\x22\xcb\x9e\x88\xfb\xef\xfc\x26\xef\x01\x3a\x34\x0c\x92\x6c\xbc\x5a\x71\x29\x44\x33\xea\xd0\xe4\xb1\x94\x5a\xd1\xbb\x91\x57\x63\x62\x1f\x13\x2a\x52\x64\x35\x64\xd4\xaf\xaf\x9f\xb6\xfb\x85\x96\x25\x35\x78\x77\xcf\xe8\x97\x57\x1c\x21\x57\x1c\xd9\x7e\xf4\x04\x7b\xb6\xe5\xc4\x91\x6e\xa1\xfb\xc8\xb9\xa6\x0f\xb9\x4f\xde\xdb\x32\xeb\x75\x71\xef\xfa\x7d\xd3\xf6\x0e\xaf\xb1\xa7\xfc\xd3\x1c\xf4\x10\x9e\x3a\x77\x6d\x0d\xfb\xb2\xe5\x9c\xf1\x63\xc1\xf4\xaa\xe9\x90\x69\xc7\x93\x6d\x73\xea\x56\x54\x90\xc1\x27\xb5\x81\xb5\x1c\x3e\x89\x77\xae\x1c\xff\x90\xf8\xd0\xf8\xe5\xf7\x60\x32\x3b\xbb\x6e\x46\xe7\xf3\x42\x6d\x66\x7d\x56\x63\x0e\x29\x7b\x51\x62\x2e\x6e\x3d\x9a\xd3\x92\x4f\x9e\x5a\xbc\xf3\xc5\x79\xec\xb2\xa2\xf4\xcd\xab\x85\x2d\xab\x57\x65\x2e\x2c\x24\x0b\x16\x2d\x35\xae\xe4\x96\x2e\x0f\xd4\xae\x16\x57\xd5\x6c\x68\xcc\x6c\xcb\x6c\xcb\xda\x93\xd3\x5d\xd6\x50\xf8\xca\xba\x4b\xf7\xd8\x53\x56\x28\xf3\xac\x1b\xdc\x8b\x04\xef\x48\xfb\x8b\xe5\x6c\xa9\xb2\xcc\x6b\xf2\x5a\x85\xca\xf2\x56\x63\x77\x19\xa4\xad\x4e\xc9\x7d\xff\x6d\xfb\x6b\xdc\x3f\xde\x09\xd4\xf4\x8a\xbd\xd5\x27\x5b\x4f\xee\x3e\xb1\x67\xff\xce\xb6\xd6\xae\xae\xd6\xbd\xb5\x07\xc8\x8e\x8b\xd5\xef\xfd\x8d\xed\xb2\xef\xb1\x74\x08\xc9\x4e\xb0\x21\x09\x64\xf8\xe4\xb7\x63\xbf\x79\xf8\x8b\xc1\xb0\x01\x8e\x84\x72\x21\xe9\xaf\xbf\xab\xdc\xaa\xf9\xc7\xd5\xc4\x5d\xcc\x67\xf6\x13\x25\x75\x3a\xb2\xaa\xc8\xff\x34\x0e\x66\xf1\x73\xe5\x30\xdf\xe3\x55\x5a\xa1\xf6\xb1\x8e\xe7\x0f\x2d\x3a\xb4\xe8\x8d\x55\x1f\x6f\x26\x37\x7f\xfc\xef\x62\xb8\x89\xfb\xee\x52\x55\x4b\xbf\xd8\xdf\xf2\xc6\xee\x13\x07\x8e\x1f\x3c\xd8\xb3\xe3\x70\xfd\xee\x9a\x9e\xca\x57\x2a\x5f\xa9\xfc\xd9\x02\x23\x49\x95\xa7\x44\x4e\x2e\x6f\x70\xb2\x8e\x76\x7b\x53\x35\xdb\xe8\xaf\x96\x24\xc1\xe7\xdb\xe9\x3b\x16\xd8\xe5\xea\xf0\xed\x0c\x90\xee\xa0\xbb\x52\x62\x25\x7b\xbd\xb5\x5d\x28\x70\xcf\x30\x3d\x6f\x9e\xe6\x49\xc5\x95\x95\xc4\x23\x0a\xfb\xc3\x35\xb6\x1f\xdd\xbb\x5c\x3b\xf4\x2d\xba\xd4\x9a\xe2\xc0\x16\x4f\xba\x77\x4e\x8a\x6a\x47\x2d\xe6\x56\x5b\x70\x1a\x3b\xd4\x34\xa9\x64\xb1\x60\xd8\x50\xb8\x66\xdb\x6a\x7d\xde\xf6\xdc\xcd\xba\xcd\x39\x9b\x8a\x36\x94\x91\xf9\x73\xa6\x1b\xa7\x71\x73\xe7\xd4\x76\xce\x16\x57\xb5\x64\xec\xd1\x75\x6f\x3e\x55\xf4\x8e\xf5\xd3\x12\xe8\x4a\x71\x40\x01\x51\xeb\x68\x6c\x63\x3f\xf2\x1e\x96\x2a\x85\xfa\xea\x1d\x15\x87\xb8\x97\x7b\x3c\xfe\x43\xa2\xa4\xb4\xf7\xb9\x6a\x08\x47\x71\xa6\x63\x25\x97\xee\x58\x6c\x9f\x6f\x27\x55\x95\x76\xed\x3c\xc7\x0b\x5c\xd1\x3c\xb7\xef\x01\xd1\xb3\x66\xad\x6b\x03\x57\x52\xea\x74\x94\x8a\x9e\x71\x84\x6a\x7e\xd0\x56\xeb\x6c\x70\x90\x6a\xe2\xa2\x3a\xac\x67\x26\xc4\xb7\x5d\x54\xb9\x35\xd4\x76\x4a\x4d\xf4\xbe\x10\x0f\x49\x4c\x43\xfa\x80\x29\x0c\x0d\x3f\xc7\x06\x2a\x8d\x9e\x97\xe9\xa4\x0e\x3e\x22\x85\xa4\xeb\x0e\x9d\x7f\x6e\x1c\x7c\x7d\xc7\xdf\xfe\x81\x1d\x7f\x51\xab\x94\xa5\x08\xbd\x93\x8a\x81\xee\xa4\x64\x3a\xe9\x61\x1e\x68\xe8\x8f\x6f\xef\xd8\xbb\x8c\xba\xd6\xbf\x9e\x57\x13\x93\xcf\x53\x69\xc3\xd5\x8a\xb5\x09\x3b\xd5\x8a\xb5\x89\xea\xa4\x9d\xe1\xd9\x4c\xda\xef\xf0\xff\x31\xf6\x26\xf0\x4d\x54\xdd\xff\x70\x6b\x9b\x99\x3c\xf3\x68\x51\x92\xe1\x69\x33\x99\x99\xb2\xca\xa6\x82\x14\x10\x41\x44\x41\x11\x2b\xc8\x12\x64\xdf\x97\xb6\x14\x4a\x0b\xe9\xbe\x25\x69\x9a\xb6\x99\xb4\x4d\xda\x49\xba\xef\x50\x28\xa5\xac\x95\x45\x41\x40\x59\xd4\x02\x22\x44\xf4\x51\x50\x14\xc1\xa5\x3e\x0a\x8a\x9e\x49\x4e\x52\xde\xcf\xa4\xe8\xe3\xef\xfd\xbd\xff\xf7\x7d\x3f\x4a\x27\x77\xe6\x9e\x7b\xcf\xdc\x99\x7b\xee\x39\x77\xce\xf9\x9e\xa3\x70\xf4\x8f\x48\x05\x3c\xd9\xaf\x36\xbf\x26\xb7\x82\xc3\xc5\xb0\x58\x51\x91\x9b\xe9\xc8\x60\x32\x02\x5f\xae\xb4\x5e\xaf\xd6\xeb\x55\xe4\xe6\xe6\x67\x66\x68\x32\x1c\x99\x15\xb9\x1c\x2c\xc6\xc5\x01\x57\x2c\xe8\xa6\x1c\x15\x15\xbc\x56\x41\x68\x15\x84\xa2\xa2\xc2\x51\x53\xab\xd1\x7a\x8f\xc2\x5c\x18\x4c\x81\x1d\xc3\xe9\xd7\x61\xe1\xeb\xb8\x10\x17\xca\xc7\x73\xb8\xf0\x1c\x2c\x84\x85\xe7\x14\x9e\x2d\xbe\x71\x30\x98\xf2\xa7\x78\x9e\x86\xc1\x54\x58\x23\xe4\xb1\x1e\x35\xdc\x64\xa5\x7f\x50\x2a\x80\xc9\xd4\xd9\x5e\x8b\xa8\x8d\x2c\x75\x54\x97\x94\x70\xb0\x00\x16\x28\x4a\x4a\xaa\x1d\xa5\x0c\x3c\x4d\xa8\x7e\x41\x91\xf4\xaa\x7d\xe2\x59\x0a\x44\xaf\x3b\x86\xea\x11\xc7\x52\x01\xa8\x80\x98\x25\xa9\x5b\xb6\xf0\x2a\x40\x99\x3d\x9d\xce\x39\x69\x9a\x06\xf6\xb0\x2f\xfc\xdb\x79\x9c\xef\x22\xfe\xf6\x6d\x46\xfd\xb7\xc2\xf1\x7f\x1b\x3f\x09\x2c\x13\x5d\x9e\xd1\x30\x11\xfe\x15\xf0\x03\x2b\x86\x61\x30\x0c\xec\x70\x1c\x66\x83\xbd\x37\x1a\x73\x04\xfb\xe7\x3e\x16\x7e\x04\x73\xb0\x19\x5a\xf0\x9f\x5c\xd1\x29\xdb\xf9\xaa\x33\x4a\xa1\xfa\x83\xaf\x40\xe2\xb6\x1c\x13\xdc\x82\x06\x88\x0b\x37\xae\x7f\xdc\xf1\xc6\x6b\x2f\x2d\x1f\xa0\x1f\xce\x4d\x48\x3b\x37\xe3\x0b\x06\x86\xfc\x07\x5e\x87\x24\x78\x0e\x09\xe8\x8b\xab\x31\x1b\x07\xe3\x8b\xf8\xc6\x2b\x0d\x4b\x77\xad\xe7\xab\x32\x8a\xf3\x2d\xa9\x05\xd9\x79\x71\x05\x39\x96\xd4\x4c\x73\x46\x99\x32\xf2\xf0\x22\xa0\x02\x5e\xbe\xf0\x1a\x54\x4b\x41\xf0\x16\xcc\xc7\x38\x4c\xc5\x77\x71\x12\x26\xa3\xf0\xcc\x73\x47\xde\x49\xe2\x96\xe3\x4b\xa6\x38\x41\x93\x39\x7b\xc3\xec\x84\x65\xca\x94\x8f\xaf\x18\x3e\x65\x7a\xf7\xee\x3e\xf3\x0c\x83\x09\xd0\x6f\x3f\x05\x43\x61\x28\xd8\xe0\x2d\x98\x05\x22\x3c\xcc\x42\x34\x91\xff\xae\xe9\x8f\xa6\xef\x64\x9e\xbf\x84\x7b\xdc\xd6\x63\xc2\x15\x41\x03\xa1\xe7\xbf\xba\x76\x69\xf7\x82\x99\x2f\xaf\x18\xa8\x1f\xc1\x3d\x9b\x76\x6e\xc6\xe7\x0c\x0c\xfa\x09\x66\xc2\x66\x98\x88\xa1\xf0\x28\xae\xc4\x0c\x1c\x84\xcf\xa3\xee\x95\x86\x65\x6d\xeb\xf9\xaa\xcc\x62\xb3\x25\x4d\xe6\xb9\x30\xc7\x92\x16\xe0\xb9\xff\xe1\x45\xa0\x84\x7e\x1a\xd8\x08\xaf\x42\x05\xf8\xe1\x10\xcc\xc3\xf5\x98\x8c\xef\xe0\xb3\xb8\x15\x0b\x27\x4c\x3e\xfc\x4e\x22\xb7\x02\xa7\xca\x3c\xa7\x4c\x98\xff\xec\x86\xa5\x4a\x4f\x1c\x4c\x65\x8f\xb1\xbf\x7e\xb3\x6e\xe6\x45\x6e\xe0\x10\xc5\x8e\x84\x45\xbb\x5e\x60\x30\x3c\x12\x83\x50\x83\x9a\x3f\x30\x08\xc2\x61\xe4\x69\x08\x7e\xaf\x9c\xc7\x4d\x10\x4e\x08\xd0\x43\x96\xa4\x95\xa4\x6e\x01\x86\x95\xda\x23\x59\xa9\xed\x49\x68\x86\x4b\x60\xc7\xf5\xb0\x1e\xbc\xd0\xdc\x57\x80\x76\x2d\xf1\x32\xac\x57\x5d\xd3\x2a\xea\x3c\x21\xf4\xdb\x96\x7d\xe6\x7d\x9c\xff\x15\x81\x40\xbb\x14\x45\x46\x66\x60\x30\xae\xc3\x43\x0c\x96\xe0\x4a\x58\x13\x48\xd7\x26\x1f\x4b\x60\xe0\x8f\xb3\x16\x9c\xe2\x61\x09\xcc\x53\xc0\xc3\xa8\xc6\x09\x57\x70\x31\xa3\x3a\xe6\x1b\x86\xd7\xf0\x9a\x6f\x98\x6f\x18\x5c\xc3\x6b\xd2\x30\x69\x22\x74\xc0\x71\x69\x3c\xef\x01\x08\xa3\x71\x1d\xac\xc3\xf5\xb8\x0e\xd7\xe1\x7a\x58\x87\xeb\x60\x3d\xac\x83\x75\x44\x18\x0c\x13\x40\xdd\x0d\x51\x52\xa7\x7c\x50\x07\xc3\x6e\xea\xf2\xe9\x80\x1a\xf2\x36\x15\xe2\x11\x25\x35\xdd\x0d\x6a\xe8\x2c\x22\x33\xb7\x64\x19\xb6\xa6\x4c\xfe\x22\x1c\x86\x02\xab\x00\xc2\xa7\x03\x75\xc0\x9f\x4d\x94\x6d\x93\x87\x20\x07\xd7\xe3\x7a\x7c\x08\x73\xf0\x55\x7c\x15\x1e\xc2\x1c\x90\x6f\xf4\x21\xc8\x81\x57\x39\x49\x44\x91\x86\x76\x56\x8b\x06\xa2\x99\xe5\x24\x91\x8c\x66\x79\x0b\x45\x98\x29\xce\x27\x92\xa0\xf6\xb8\x63\x28\xad\x27\x68\x2c\xa5\x45\xc3\x53\x6c\x26\x1b\x47\xf9\x73\xc1\x2d\xb9\x61\x01\xeb\x71\x9b\x02\x88\x0f\x62\xa0\x04\x6e\x3a\x87\xea\xb9\x0f\x6a\xaf\x18\xdc\x25\xb9\x43\x3c\x6a\xaf\x9b\xfe\x9e\xf2\xe9\x7c\x3a\x45\x6e\xae\x39\x33\x43\x03\x51\x2c\x27\xe9\x7c\x3a\x38\xf7\x67\x3d\x41\x72\x87\x48\x6e\x4f\x20\xfa\x55\x27\xe9\xde\x67\x7b\xd4\xe4\x95\x00\x94\xea\xc5\x00\x1e\x5c\xc0\xa7\x51\x08\x20\xa3\xbd\xcc\xaa\x9f\x81\xa8\x7e\x2d\x94\xf7\x9e\x47\xad\x45\x03\xe9\x11\xdb\x6b\x58\xdf\x3d\x0b\x25\xab\xa2\x04\x04\x30\xb7\x03\xa2\x6a\x23\x15\x10\x53\xfe\x5c\xad\x62\x4a\x2a\x2c\x60\x25\x9d\x49\x96\x66\x39\x94\x3f\x37\x3a\xc0\xa9\x7c\x22\xec\xaf\xcb\x1e\x99\xef\xc6\xc0\xee\xc8\x28\xd6\x73\x91\xde\xb4\x21\x2e\x21\x66\x0b\x4e\x44\x05\x4e\x42\x02\xc7\x23\xa5\x9c\x39\x7e\xe0\xf3\x18\x1c\x00\x5b\xc7\xe0\x81\x9f\x7e\x30\x9e\xc7\xf1\xf0\x4f\x9c\x04\x0a\x7c\x16\x14\xeb\xb7\xc5\xed\xdc\xb4\x5b\xe9\xdf\x73\x8a\xf2\xba\x43\x6f\xbe\x78\x25\x8a\x93\x05\x73\xe4\x1b\xe3\x87\x8d\xba\x83\x8a\xcb\x4b\x78\x78\x0a\x83\x60\x34\x06\xc1\x53\x18\xac\x5c\x7e\x1e\x1e\x7a\xea\x5a\x00\xf3\xfd\x1a\x3c\xf4\xdd\x91\xf3\x3c\x3c\x05\xc1\x30\x1a\x82\x60\x14\x04\x29\x6f\xbe\xff\xe5\x1d\x08\xd5\x84\x79\xc6\x41\x25\x4e\x84\x41\x7d\xeb\xe1\x4b\xcf\xcf\x70\x5d\x95\x08\x77\xbd\x03\x69\xfc\xb2\x67\x2b\x7c\x49\x34\x6a\x15\x8f\xd1\xaa\x7d\x3f\x59\x5f\xfa\x04\x15\x0c\x86\xbe\xf0\xc2\xf0\x91\x97\x9f\x87\x10\xbe\x58\x20\x80\xbc\xf2\xe9\x8f\x56\x5e\x1b\x5a\xe2\xdf\x44\xc3\x69\x1c\x07\x03\x70\x13\xa7\x4a\xc4\x97\x9f\x1b\x3a\x7d\x25\xaf\xda\x57\x0c\x83\xf0\x3a\x21\x94\x3e\x59\xd0\xd3\x8f\x13\xe0\xba\x74\x9c\x6c\x2b\xd9\x59\xde\xc4\x9d\x6d\x39\xf5\xfe\x6d\x06\xfe\xf9\xf6\x28\x8c\xe0\x7d\xad\x70\x9d\x0c\x83\x5f\xd8\x22\x16\x44\xd5\x3e\xd5\xa5\x13\xac\x6a\x1f\xb0\x6c\x00\x7e\xf5\x23\x4a\x75\x09\xfe\xc3\xaa\xf6\xe1\x34\x18\x02\x1b\x87\x40\x3a\x03\xb3\x03\xe8\xf7\xb9\x5a\xe2\xbd\xe0\x83\x5a\xe2\xbd\x10\x2d\xd1\xdd\x0f\x0a\x58\xbc\x0f\xf7\x1f\xc4\x4e\xaf\xdb\x98\x99\x98\xc8\x4b\x8f\xb1\xd0\x17\xfa\x2a\x44\xd1\x5e\x51\xa9\xa9\xb4\x54\x98\x44\x6e\x53\x5b\xd3\xe6\xa3\xcc\xf6\x66\x67\x5d\x3d\xbf\xb7\xe3\xed\xbd\xa7\x1e\x20\x89\xfb\x46\x4a\x23\x15\x75\xe9\x5b\x9c\x5b\x98\xf9\x31\x4b\x62\xe2\xf8\xf4\x34\xa3\x3e\x49\xb3\x6c\x47\x72\xdb\x26\x4e\x34\xe5\xda\x73\x98\x9c\x5c\x8b\xc9\xc4\xe3\x1d\xbc\xa3\x30\x99\x2c\xb9\x39\x9a\x1c\x7b\xae\x68\xe2\xda\x36\x25\xef\x58\xc6\x24\xe9\x8d\xe9\x69\x7c\x4c\xdc\x92\x98\xf9\x0f\x92\x32\x4a\x23\x7d\x23\xe1\x0d\xf6\xd4\xde\xb7\xf7\x76\xf0\x75\xf5\xce\xe6\xed\x9a\xa3\x9b\x9b\x36\xb5\x71\x26\xb1\xc2\x52\xc9\x54\x56\xd8\x45\x91\x97\xf9\x83\x26\x56\x91\x98\x98\xb9\x71\x9d\x26\xae\x2a\x10\xbe\x7e\xdf\x17\xf4\x57\x14\xf7\x1f\x10\x14\x08\xe2\x0e\xbc\xa2\xab\x59\x78\x9f\x9a\xce\x82\x4e\xd2\x4d\x67\xa5\x29\xbe\x64\xfa\xfc\xf2\x8e\x09\x29\xcf\x26\x0e\x1e\x30\x73\x50\xeb\xe0\xd6\x99\xf7\x5a\x7f\x6d\xba\x76\xe9\xdd\xcf\x1d\x77\xa4\xbe\xe1\x62\xc7\x9e\xc6\x0e\x93\x52\x20\x3b\x4c\x0d\xb1\x79\x71\x4a\xe9\x3d\xbc\x3b\x9d\xf5\xab\x3d\xea\xe9\xac\xa4\x43\xdd\x74\x16\xdc\x3e\x1d\x0d\x9f\xb0\x7f\xe6\xb0\xc4\x29\xc7\x70\xe2\x77\x38\x88\x4b\xaf\x68\x30\x34\x31\x5a\x45\x06\xd1\xd4\xe0\xaa\xab\xe0\xbf\x83\xc1\xc7\xe0\x59\x98\xf2\x20\xfa\x56\x84\xd5\xac\x57\xad\x0d\x35\xec\xa0\xfe\x8c\x82\xe3\x04\x32\x10\x08\x77\x00\xff\x68\xa0\x1a\x1b\x53\x1e\x24\x26\xf8\x9a\xf2\xe8\xe0\x7d\x16\xce\x43\x2d\x4e\xc3\xb5\xb8\x16\xe5\xe3\xf9\x05\x0b\xed\xe2\x22\xfe\x0d\xe7\x8a\x8d\xa9\xd9\x29\x39\x29\xb9\x11\x7b\xbe\x1a\xfe\x9e\x02\xd5\x9f\xbc\xf0\x3b\x3c\xa4\x81\xb5\x50\x0b\xd3\xe0\x3c\x07\xea\x50\xa8\x66\xf9\xb7\xd9\x3f\x23\x0b\x78\xcf\x87\x5a\xdc\x4c\xff\x15\x52\x60\x60\xc3\xfc\xf7\x51\x3c\xc8\x06\x0b\x5e\x55\x88\xf7\x1f\xde\xe5\xb4\x68\xca\x75\xe4\x30\x05\x05\x56\x6b\x01\xef\x8b\x1c\x06\xcf\x4b\x6b\x14\x25\x8e\x62\x87\x43\xd3\x9c\x5a\xbf\x85\x13\xf0\x1a\x99\x92\x9e\x93\x66\xe1\x71\x99\xff\x42\x61\x76\x69\x56\x85\x31\xc2\x5c\x5e\x51\xe0\x62\x4a\x4b\x05\x5b\x29\x2f\x0d\xbf\x83\x8b\xfc\xc7\x2c\x29\x95\x29\x4d\xe6\x08\xab\xdd\x6e\x2d\x65\xea\x6a\x9c\xd5\xe5\xbc\xb4\x4f\x1b\x9a\x5f\x56\x5d\x58\x6b\xa8\x88\x08\x6b\x94\xdc\xb2\xa0\xd4\x81\x5a\x12\xe1\x36\xa5\x4e\xcc\x64\xa1\x13\xc6\x50\x23\x40\x47\x7c\x4e\xf9\x44\xd0\x75\xbf\x40\x81\x9b\x5c\xca\xa2\xbb\x8b\x42\xf7\x24\xaa\x1b\x75\x3e\xf1\x0e\x85\xba\x11\xe4\x8d\xde\x2b\x23\x40\x27\x89\xa8\x1b\x41\xfc\xef\xb2\x2c\x93\xb4\x8a\x48\x88\x0a\x96\xd4\x00\x94\x57\xed\x59\x48\x97\xa5\xa4\x94\x26\x33\xc9\x29\x05\xe6\x14\xde\xf7\x19\xf9\xca\xac\x59\xaf\xbc\x32\xeb\xfd\x8b\x30\x8c\x42\x1e\xfe\x81\xff\x00\x1e\x78\xf8\x07\xfc\x03\x78\xce\x23\x4a\xc7\xe9\x92\x00\xba\xb7\x14\x36\xda\xa7\x80\x0d\x3e\x25\xe3\xa3\x7c\xc1\xb8\xc1\x17\xf6\x14\x6f\x2d\x12\x8a\x0a\x35\x07\x28\xb1\xac\xd4\x51\xc6\x9d\x3a\x73\x6a\xff\x97\xcc\x8f\xd7\xa1\x99\xad\x64\xaa\xe0\x1c\x7b\xed\xec\x8f\xcc\x8f\xd7\xa0\x99\xad\x62\x2a\xe1\x1c\x7b\xfd\xec\x8f\xcc\x97\xa7\xd6\xcd\x3f\xc3\xe7\x97\x95\x15\x88\xcc\x64\xca\x2f\x7a\xe2\x69\x08\x61\x87\x91\x8d\xb6\x26\x5b\x63\x63\x93\xb5\xf1\xe1\x41\x61\x8d\x30\x9a\x82\xb7\x29\xe9\x41\xf2\xe4\x07\x98\xf6\x77\x29\x8f\x88\x6a\xda\x42\x49\xbd\xb6\x6a\x94\x5f\x4d\xf8\xd5\x5a\x45\x63\x0d\xeb\xd7\x19\xa8\x2e\xb7\xfc\x86\x4c\x67\xa3\x49\x10\xfd\x51\x34\x9c\x20\xe1\x04\x9e\x50\x40\x1c\xaa\x1f\x98\xa8\xf2\xcc\x34\xb8\x72\xc5\x9c\xf2\x08\xb8\x46\x2e\x65\x7b\xdc\xf0\x04\x2b\x75\x06\x40\x26\xc3\xfc\xb9\xde\xce\x2e\x88\x82\x48\x16\x06\x82\x0a\xd2\x40\xf5\x6c\x20\xfc\x55\x75\x5b\xe5\xf5\xe8\xbd\x3a\x1a\x42\xf0\x5f\xc7\x9e\x7c\x99\x3d\x40\x9d\xfc\x23\xf1\xe5\x03\xd4\xcb\x14\x07\x51\xfd\xa2\x93\x5e\x59\xb5\x98\x4b\x4b\x4e\x4e\x49\xd5\x4f\x1b\xf7\xfa\xe3\x46\x54\x28\x31\x8d\x30\x82\xe2\xf5\x5f\xa6\xdd\x48\x6d\x4e\x6e\x4c\x6b\x52\xae\x3a\x96\x74\xb1\x4b\x03\x4b\x61\x05\x3c\x0c\x33\x38\xd5\x6d\x98\x01\x2b\xf0\x61\x5c\xca\x83\xba\x1f\x6c\xc3\x0a\x98\x86\x0e\x74\x60\x05\x4e\xc3\x6d\x83\x3a\x9e\xbe\xf4\x3c\xa7\xf2\x5e\x7a\xfe\x76\x64\x79\xa4\x32\x21\x23\x3d\x7e\x83\x66\xab\xa8\xaf\xc9\xe0\x32\x33\x4c\xfa\xad\x9a\x0d\xb5\x9b\x76\xa4\x73\x79\xd9\x96\x8c\x4c\x8d\xea\xf6\xab\xef\x6c\x3c\xc3\xcd\xd9\x7e\x66\xdd\x87\xcc\x87\x67\xf6\x9f\xd9\xce\x9f\x79\x67\xd7\xf9\x1a\x4b\x6d\x5e\x15\xbf\xa3\xae\xb6\x6d\xb7\xa6\xc5\xd4\x9c\x59\xcb\xd5\xd4\x8a\xcd\x2d\x9a\xdd\xe9\xed\x09\xb5\x5c\xf9\x1f\xb7\xff\xb8\xf4\xa9\xf2\xd2\xa7\x1d\xdf\xfe\xaa\x09\x6b\x04\x35\x7c\x4f\xc1\x28\x16\xee\xd1\x01\xa0\x2a\xad\xb7\x11\x74\x44\x5d\x56\x15\xb4\xb0\x79\x26\x4d\x5e\x49\x9e\x23\x9f\x83\x2b\xe8\x56\xe4\x97\x95\x17\x88\x4c\x5d\x55\x75\x2d\x0f\x3a\xad\x62\x25\x39\x99\xf2\xe8\x43\x77\xb2\x5a\x6f\x23\x39\x9e\xd2\x2a\x56\xa2\x8e\x08\x04\xca\x06\xf4\x00\x7d\x2f\x58\x67\x11\x2b\xdd\xa3\x4d\x05\x79\xf9\x66\x0e\x7f\xc3\xdf\x14\xf9\xf9\xa6\xc2\x3c\xc6\x94\x57\xe2\xc8\xe7\xf1\x1e\xdc\x53\xe4\x3b\x0a\xc5\x72\x4d\x6d\x55\x75\x1d\x07\x7a\xb8\x47\xc8\x03\x1b\xd8\x5e\xb8\x07\x7a\xe8\x66\x3d\x6a\xd4\xdb\x28\xb9\x41\xf1\xcf\x06\x3d\x51\x74\x46\x76\x56\x3a\x87\x7a\xbc\x47\xd4\xf5\x6e\x4a\xdc\x43\x3d\x29\x1b\x09\x62\x69\xb9\xa3\x8c\x87\xdf\xe0\x37\x85\xc3\x21\x96\x94\x33\x62\x79\x61\xbe\x83\x87\x7b\x78\x4f\xe1\xc8\x2f\x31\xe5\x69\x3c\x6a\xec\xb4\x51\x78\xbf\xd7\x09\x0f\x56\x53\xbd\x49\x3e\x51\x0f\xba\xc0\x03\xff\x4d\x52\x83\x6e\x2f\xab\xfa\xdd\x2b\xce\xa2\x61\xc9\x1a\xb8\x88\xa6\x13\xdc\xce\xe9\xe6\xe7\x5e\xd4\x7c\xbe\xfc\xd8\xb8\x51\x1a\x78\x81\xfd\x2b\x01\x02\xbc\xc0\x46\xb3\x5c\x17\xb9\xbb\x70\x77\x72\x2b\xa7\xc2\x19\xe3\x07\xae\x8b\x64\x22\x07\xee\xbf\x30\x9e\x4f\x4e\x2c\xdc\xb0\x41\x83\x2b\xc8\x4f\x13\x4f\xbc\xf8\xac\x46\xf5\x1b\x7c\x46\x5d\x7b\xc7\xfd\x59\x2b\x07\x2b\xc8\x4e\x47\x67\xcd\x7e\x0e\x4d\x0b\xd6\xe0\x45\x5c\x02\x59\x2c\xba\xbd\x8f\x3d\x48\x08\x82\xf7\x37\xb1\x50\x40\x81\x3b\x80\xd6\x05\xe2\x8f\x6c\x6f\x8a\x53\xd5\xf1\x20\x55\x8f\xa1\x88\xf5\xb8\xff\xc3\xf6\x83\x5c\x76\xfc\xc9\x97\xae\x26\x72\x3e\x1e\x32\x29\x08\x27\x61\x53\x2b\x4c\x84\x28\x98\xaf\x91\x44\x72\x0c\x9b\x6f\xb1\x5a\x2d\xdc\x81\xe4\x55\xad\x4b\x98\x7c\xea\xf4\xdc\xcb\xcd\x4d\x65\xae\x7a\xde\x37\x04\x32\x29\x69\x08\x69\xa8\x6f\x32\x37\x33\x0f\xfc\xcf\x96\xac\x4a\x5c\x9b\xcc\xab\x8e\x07\xd9\x2c\x16\x5b\x3e\xf3\x04\x15\x88\xac\x98\x0f\x13\x31\x0a\x36\x25\x72\x18\x4e\x62\x2c\x2c\xc3\x29\x5d\x2c\x4c\x81\x58\x4e\xe2\x49\x55\x8f\xe1\x6a\xeb\xc9\x8f\xbf\x92\x5f\xa0\x0e\x0a\x3a\x41\x0f\xb7\x29\xd0\x43\x67\x88\x47\x2d\xcb\xe9\xde\x8f\x2c\xfe\x7b\xfd\xa2\x21\x9b\xed\x22\x02\x5e\xc8\xa8\x86\x60\x16\xd5\x5a\x0c\xf2\x8a\xa4\xa4\xf6\x76\x42\x2e\x15\xad\xc5\xa0\x2e\x98\xc3\x86\x35\xfe\xcd\x85\xcd\x73\x1a\x3a\xe9\xff\x93\x6f\xda\x5f\x8e\x69\xdc\x7f\x1d\xd3\xfe\x1f\xdc\xd2\xfe\xa7\x53\x1a\x0c\x3b\xc0\xca\xcf\x55\xfe\x17\x7c\x90\xed\xf5\xd3\x54\xd3\xbb\x28\x2e\x5a\x52\x77\x11\xbf\x7f\x3d\xb6\x3f\xaf\xf5\x18\xfc\x22\x6d\xa6\xb8\xa2\x00\x1c\x6c\x97\x47\xa4\x21\x16\x7e\x62\x31\x96\xd3\xa2\x61\x2c\xe5\xd7\xc3\x17\xb2\x8c\x99\xc3\xb6\x77\x91\xdf\x50\x78\x1f\x78\x4a\x80\x15\x94\x47\xad\x55\x9c\x94\xa5\x98\x2f\x8a\x84\x0b\x6c\xc2\xce\xd8\xd8\x84\x84\x58\xee\x7f\x96\xfc\x6a\xf2\xd9\x13\x2f\x7e\x9a\xc8\xf9\x1b\xe0\x24\xe5\x69\x20\x3f\x6d\x3d\xe1\xbe\xa6\xf1\x88\x1e\x75\x0c\x85\x22\x01\xf3\x29\xde\xdf\x19\xcf\x82\xde\x27\x12\x81\x7b\x00\xf5\x55\x16\x45\x98\x20\x9b\xb4\x7f\x4f\x6f\xd0\x23\x62\x14\x3d\xf9\x41\xe0\xca\x50\xca\xa3\x47\x3d\xed\xd7\x8d\xa6\xe4\x13\x28\x86\xfe\xf9\x33\x0c\xef\xff\x49\xdd\x0b\xc5\xfe\xdf\xe4\x10\x6a\xd0\xff\x09\xc7\x2e\x76\xcd\xa2\x3c\xa2\x4f\x47\xd7\x66\x55\x67\x70\xd1\x44\x46\x56\x56\x06\x1f\x4d\x66\x54\x67\xd5\x72\x5d\x44\x6d\x75\x75\x2d\x8f\x22\xb8\x67\xb0\xff\x3f\x2a\xfd\x7f\x5c\x1e\xc7\xbe\x4c\xf1\x28\x6a\xbd\x37\x60\x39\x3b\x9b\xb2\x50\x5a\x6f\x10\x09\x6a\x2d\x31\x25\x86\xd2\xa2\xac\xae\x7b\x0c\x4f\xb1\x45\x6c\x1c\x15\xe0\x5c\x16\xfe\x45\x54\x60\xe7\x18\xd4\x3f\x07\x6e\x43\x05\xf3\xff\x27\xef\xe3\x58\x95\x72\xda\x64\x0a\x45\x7f\x27\x2c\x0f\xa8\xde\xf1\x93\x28\x49\xf7\x02\xa5\x32\x2b\xda\x41\x94\x75\x6e\x9f\x5a\x1b\xda\x18\x40\x0f\xe8\x46\xf5\x08\xb2\x2e\x80\x23\xe0\xee\xc5\x11\x18\x01\xea\x6e\x37\xa5\xa2\x74\x5d\xbd\xbb\x99\xaa\x82\x97\x24\xb1\x3d\x86\x42\x37\x74\x12\xaa\xc4\x5d\x4b\x59\x9f\xae\x8b\xc2\x4e\xd8\x13\x88\x76\xed\x65\x0e\x86\xf5\x9a\xed\x32\x7f\x37\x59\x50\xf7\xe2\x4f\xf4\xa6\x8e\x16\x55\x9e\x46\x98\x4c\x4d\x67\x1f\xd8\xf1\x36\x87\xdd\x55\x62\x97\xed\xf8\x70\xd5\x1f\x27\xed\xa5\xae\x52\x87\x4d\x09\x4f\xa3\x48\xc8\x86\xfc\x74\x16\xd4\x9e\xa8\xf3\x2c\x04\x07\x32\xc3\x40\x37\x1b\x80\xd7\x92\x3a\x69\x95\xa7\x31\x00\x00\x3a\x96\x42\x37\x46\x91\xb1\x8b\x03\x06\xfe\x1f\x27\x03\x16\xfe\x96\x2d\xa9\x8b\x63\x35\xbe\x28\xd2\x48\x41\xc0\xa4\x27\x90\x84\x01\x30\x00\x88\xfa\x80\x91\x6f\xa6\x1e\xfc\x06\x5d\x1c\xd5\x78\xa0\x17\x3a\x4f\x0d\x6a\xe9\x51\xaa\x1b\xa2\x60\x37\x25\x40\x54\xb7\xcc\xaa\xa1\x88\x95\xa2\xce\xb3\xaa\x3f\x0c\xff\xe5\x40\xe5\x31\xa0\x8e\x54\xfd\x61\xf0\xab\x3d\x7a\xfa\xc1\x2c\x56\x79\x0c\x3d\xea\x7e\xf1\x90\xcd\xb6\x13\xda\xd0\x46\x79\x26\x47\xc9\x33\x39\x4a\x9e\xc9\x6e\x12\xee\x05\x66\x72\xbc\x16\x83\xda\x7b\xe3\xcc\x85\x76\xd0\x81\x18\x0f\x62\xbc\x14\xc2\xb6\xf7\x95\xc5\xb6\x6a\xb7\x96\x34\x48\x6e\x5a\x10\xda\xb1\xb3\x8b\xc3\x7b\xed\xa8\xef\x52\x44\x13\x78\x14\xee\x29\x2e\x49\x8f\x50\x23\x08\x8c\x22\xa2\xe3\xbb\x7c\x51\x84\xea\x1a\x46\x11\xa8\x03\xbd\x62\x04\x11\x1f\xaf\x40\x5d\x7b\x3c\xa8\xf3\x48\xd4\x6d\x55\xa0\x9a\x04\xdd\x56\x45\x1e\xaa\xe3\xe3\x51\x47\xb6\xc7\x2b\x54\xbb\xbb\x09\x90\xeb\x42\x94\x2f\x2a\x3a\xbe\x8b\x80\x28\xa2\x5b\x7a\x84\x7a\x99\x00\xb9\xe9\x2e\x02\xf4\x5d\x70\xaf\x5d\x01\x9d\x5d\x42\xbb\x10\x08\x92\x0f\x24\xc8\x09\x96\x1f\x5a\x6f\xe4\x78\x56\x8c\x30\x99\x99\x36\xf7\xf4\x65\x5e\x08\x7c\xbe\xd6\x80\xe8\x53\x13\x5e\xf9\x8d\x47\x35\xe8\x14\x9e\x4e\xb2\xab\x3d\x1e\x74\x8a\x1e\x1d\x11\x8f\x6a\x85\x4f\x2f\x1f\xba\xa2\x15\xe8\x96\xe5\xe2\x14\x94\x65\xa2\xeb\x77\xc1\xc5\xa0\x1a\x75\x0a\xd4\xc1\x5b\x6c\x58\x20\x3a\x42\x47\x27\xca\xba\xb1\x88\x6e\x32\x91\xf5\xaa\x93\x58\x74\x4b\x22\xb8\x93\x64\xab\x11\x44\x6f\x54\x64\x6f\x10\x85\x41\x7e\xce\x6e\x42\xae\x8b\xee\x00\x6a\x9d\x1b\xdc\x44\xac\xfc\x22\xba\x49\x28\xa3\xa4\xce\x48\xd6\x9f\xfb\x99\x37\x23\xf8\x88\x77\x71\x88\x87\x84\x28\xfa\x3a\xe5\x63\xa5\xc0\x7f\x4e\xaa\xbc\x40\x8c\xa7\x24\x75\xbf\xff\x75\x2e\xac\x97\xa8\xd2\xbb\x38\x44\xfa\x4e\x72\xd3\x76\xb9\x96\x9d\x0a\xf3\xdd\x87\xfe\xde\xc5\xd0\xc1\x82\x9e\x7e\x8d\x95\xd4\xa1\xaf\xb1\xf2\xb9\x17\x02\xe7\x3c\x51\x74\xb4\x6c\x7d\x46\x53\x61\x3d\xf7\x03\x7d\x4a\x9f\x87\x78\x48\xaf\x9e\x16\x0b\xca\xe3\xa9\xbf\x77\xf2\xa0\x42\xa5\xf4\x79\x6f\xfb\x9f\x52\x8b\x16\x29\xf2\xf3\x0b\x4c\x79\x9a\xbc\x52\x93\x23\x9f\x93\x58\x1f\x2b\xa9\xa8\x07\xe7\x4c\xa5\xb2\x2a\x71\x7c\xd1\xce\x00\x07\x4d\xd2\xe7\x32\x07\xf7\xe8\xde\xce\x4f\x05\x8a\x9e\x4e\x3a\x9a\x0a\x83\x61\xb0\xb6\xd7\x6b\x20\x93\x95\x3a\x6b\x58\x68\xa3\x3c\x6e\x89\xec\x45\x78\x0d\xe4\x85\xf0\xb8\xff\xcc\x7b\xd5\xe3\x8e\x61\xa5\x4e\x22\x2a\x7a\xfa\x7a\x88\xa1\x24\x71\x14\xb5\x27\xfa\xca\x0d\x8d\xd4\xf9\xa1\xac\x34\x74\x8f\x00\x5d\x74\x57\x17\xa8\x21\x8d\xea\x2b\xcf\x83\x00\xf4\xe5\x72\x29\x0a\x44\xda\xeb\x5e\x2c\x8b\x73\x9e\xed\x71\x2f\xa3\xfc\xba\x18\x36\xde\x73\x8f\x7e\x99\xe2\xbc\x6e\x98\xce\xfa\x75\x64\x1d\xdb\xe3\x36\x04\xd4\x1a\x3d\xad\xf5\x9c\x24\x30\x6a\x04\xf1\xc6\x95\x95\x37\x39\x2d\x31\x85\xb8\x79\xe5\xd0\x49\xbe\x9b\x54\xbd\xd3\x13\x3a\x82\x86\x2d\x14\x90\xf2\x5d\x08\x5d\xa0\xee\x82\x79\x14\x14\x50\x21\x30\x99\x4a\x90\x75\xd8\xa8\x1a\xd6\xef\x36\x50\x5e\x9d\x9b\xf2\xb8\x21\x89\xf5\xbb\x7b\x99\xf6\xb8\x3f\xa4\x7a\x72\x85\xb7\x21\xea\x6d\x8f\xd8\xdd\x2e\xeb\xb9\xdd\x92\xbb\x3b\x44\x5a\x0b\x6a\x7a\x45\x4c\xcc\x0a\xf8\x8a\xe2\x60\xad\x4c\xef\x13\x0d\x94\x47\xe7\xa6\x24\xb1\x97\x33\xd4\x79\xbe\x95\x97\x4a\x0e\xb6\x50\x3c\x74\xd6\xdc\x62\x65\x83\xa0\x47\x24\x7b\x17\x3f\xf1\x2a\x7b\x88\xf5\x88\xda\xd0\xc6\x09\x6c\x64\x63\x8a\x85\xda\x4f\x49\xc1\x6c\x00\x3a\xab\x9d\xf5\xaa\x25\x75\x3b\x1b\x48\x2c\x15\x0c\xd7\x1f\x5c\xd0\x86\x9e\xdc\xcd\x7a\xd5\x1e\xdd\x6e\x36\xac\x11\x75\x20\x2e\x02\x11\x2c\x20\x4a\xb7\x53\xfb\x76\x41\x13\x7b\x90\xd5\x7a\x67\x3d\x38\xa5\x03\x51\xa5\x0f\x92\x9a\x61\x00\x2d\xab\x0e\x2f\xcd\x99\x3b\x4d\xee\xf6\xf2\xe9\x33\x1f\x73\x92\x05\x57\xd3\x2f\xb2\x7e\x9d\x47\x47\xbf\xc8\x6a\x43\x0f\xf8\x2c\xf4\xe5\x39\xa7\x5f\x8a\x65\x5f\x3a\x3d\xe7\x32\xf4\xb0\x3d\x0b\xbd\x69\xf4\xcd\xa9\x57\xc6\x24\x52\x63\xae\x4c\xbd\xc9\xa9\x5e\x0c\x5a\x43\x69\x43\xcb\x7c\x16\x99\x4c\xed\xd1\xd1\x70\x83\xe2\x54\x6d\x41\xd0\x43\x49\xad\xb8\x9a\x86\x3e\x43\xee\x60\x1f\x7c\xf4\xf1\x21\xd8\x07\xd6\x51\x9c\x2a\xd1\x00\x7d\xee\xfc\x02\x8f\x3e\x80\x38\x51\xd3\x91\xd4\x03\x60\x32\x2d\x31\x3c\x00\x4d\x26\x45\xd1\x10\x6a\x00\x72\xd5\xef\x1c\xfc\x07\x79\xdf\xc8\x33\x78\x8d\x41\x3d\x88\xc4\xf7\x94\x4f\xf4\x89\x7f\xdf\xdb\x11\x7d\xe2\x07\xf2\x22\xa3\x27\xa5\xa9\xb0\xf7\x19\x5f\xd2\xea\xa2\xd5\x85\xab\x79\x6b\x66\x41\x7a\xa6\x26\xad\x22\xb3\xa1\xaa\xac\xcc\x59\xc6\x55\x37\xba\xda\x5d\xcd\xca\xd3\xa0\xfe\x18\xa2\x21\x52\x13\x16\x89\xea\x1f\x83\x05\xd0\x43\x94\xac\x3c\x47\x81\x5e\x56\x7b\xdc\x34\xac\x60\x3d\xea\x7e\xb0\x82\x85\xa8\x7e\x78\x16\x77\x2f\xc5\x42\x0e\x27\x11\x58\x88\xbb\xdf\x82\xb3\xf0\xc4\xf7\xc0\xc0\xf8\x0b\x5d\xb9\xa6\xf3\x7c\xde\x89\x13\x85\x27\x99\x93\x27\x4a\xca\x4f\xf0\xe2\x85\x0f\x2b\x2e\x30\x30\xfe\x7b\x64\xf0\x09\x1e\xf4\x30\x8d\x86\x21\x6b\x80\x1f\x01\x0a\xae\xee\x94\x78\xfa\xb4\xe6\x6a\xc6\xd5\xb8\x8f\x38\x1c\x35\xe4\x95\x27\xf1\x9f\x7c\xd3\xa8\x91\xce\x27\x98\x81\x03\x0d\x5b\x87\xf0\x3f\xe0\xc3\x43\x2e\xe1\xd3\x4c\xdc\xf4\x8c\x29\x53\x34\x73\xc5\x39\x75\x3a\x6e\x04\x86\xae\x41\x0e\x87\x68\x30\xc4\x85\xff\x7c\x67\x08\x87\xcd\xc0\x4a\xb4\x1e\x6a\x19\xa8\x84\xfb\xdb\xa1\x01\xc2\xf9\xe3\x77\x5d\x40\x41\x48\x20\x5b\x99\xda\xab\x06\x9a\x95\xc4\xc0\x3c\x09\x99\x4d\x81\xbe\x17\x8b\x0c\x3e\xa0\xde\x58\x79\xe8\x24\xef\xd5\xc1\x72\x79\xae\x7c\x47\xf9\x75\xf2\xec\xd3\xfd\x1f\x00\x46\x02\xe8\x13\x81\xd5\x30\xd0\xda\xcb\x2c\x14\x05\x82\x5b\x7e\x97\xee\xd2\x59\xa6\x1c\x93\x81\xc3\xb7\xf0\xbe\x62\x55\xdc\x4b\x1b\xde\x60\x7a\xdc\x44\xf2\xc6\xb2\x1d\xd5\x62\xa5\x58\xc1\xc3\x5b\x70\x5f\xd1\xd9\xf1\xf1\xee\x93\x8c\xd7\x4d\x34\xed\x32\x6f\xe6\xb5\x28\xc0\x78\x7a\x54\xe4\xc2\x69\x73\x78\x14\xf1\x23\x85\xe7\x07\x58\x4e\x49\x6e\xf8\x8e\xc2\x28\x52\x2a\xc2\xf1\x74\x8b\xa5\xd9\xd8\xc8\x75\x6d\x9a\xbe\x6b\x3a\x83\xb2\xfa\x9e\x1d\xc0\x26\x79\xc0\x96\xd7\x4d\xdc\x82\xe0\x13\x1f\x9f\xe6\xe1\x6d\xb8\xaf\x68\xed\xa8\x7f\xf3\x70\x6f\x92\x46\x54\xc3\x9b\x94\xa4\xfb\x8c\xd5\x86\x26\x48\xab\x68\x57\x47\xda\x9e\x0d\xae\x38\x57\x4c\x9a\x21\x4e\x19\xb9\x61\xe8\x54\x0c\x65\x30\x74\xe8\x95\x3f\x36\xf0\x86\x8e\x98\xfa\x0d\x86\x38\x43\x5a\xac\x2b\x4e\x89\x63\x8f\xc3\xe3\x18\x04\xcf\x31\xf0\x1c\x3c\x0e\x41\x30\xf6\x38\xef\x33\x49\xd3\x9f\xa1\x36\xb1\x92\x0e\xe2\xa8\x40\x83\x70\x8e\x86\xb1\x8b\xf0\x71\x08\xc2\xe7\x18\x7c\x0e\x1f\xc7\x20\x1c\xbb\x88\x37\xc4\xd5\xc7\x76\x18\x76\x1b\xf6\xd6\xbb\x3a\x94\x7f\xec\xfe\xf9\x0a\x84\x32\x10\xfa\xf3\xd4\xc8\xdd\xbc\x2b\x6e\x6f\x5a\x87\x6b\xb7\xab\x7e\x8f\xa1\x43\xe9\x33\x49\x5f\x3f\x43\xa1\x1a\x2e\xb3\x9f\xb1\x16\x4a\xd2\xc5\x50\x7e\x35\x61\xa4\x3c\xea\x51\x94\x4f\x94\x74\xcf\x04\x8c\x21\x5d\x34\x74\x4a\x51\xa0\xeb\x2b\xc8\xa6\xd8\x49\x10\x55\x47\x3c\x6e\x49\x47\x3f\x4b\xa1\x0e\x75\x84\x2a\xad\x80\x02\x1d\xea\xc8\x28\x4a\x75\x04\xd4\x4b\x58\xd0\x81\x8e\x28\x60\x51\x07\x3a\x59\xd1\x50\x93\x92\x3b\x7a\x7a\x00\x1d\x95\x56\xa5\xcd\x66\x41\x49\x71\xaa\x23\xf0\x08\xc5\x83\x6c\x64\xab\xd2\xc0\x2c\x9f\xe8\x51\x13\xa0\xa0\xfe\x42\x78\xee\x07\xd4\xb1\xcf\x6f\xf1\x90\x48\x4c\xba\x05\xd4\x62\xe8\xc7\xc0\x1c\x8a\xef\x7d\xee\xa0\xee\x4d\x83\x12\xc8\x88\xf2\x33\xfb\x57\x16\x94\x9e\x76\x83\xa4\x96\x42\x69\xd1\x5c\x66\xe2\x66\xc8\x55\xee\x41\x3e\x8b\x7a\x02\x48\x76\x04\x69\x2a\x33\x8b\x1c\xe8\x6f\xcb\xf7\x7b\xef\xcf\x3a\x5e\xd1\x17\x05\xf9\xac\xaa\x7f\x50\x90\xff\xde\xdf\xea\x79\xee\xdd\xa6\xfc\x7f\xab\xf7\x5f\x1a\xe8\xc3\xaa\xb6\x4c\x09\xfa\xbf\x9f\x1a\x65\x0f\x82\x3e\xec\x0c\x79\xd8\xfe\x22\x02\xb1\x5b\x6e\x3b\x71\x70\xd0\x5f\xbf\x47\xfd\x33\x08\x46\x51\x68\xc6\x50\xf2\x7f\x32\x05\x6a\xdf\x20\x5a\xeb\x31\x78\xd5\xd0\xc8\xca\xb6\xfa\x61\x59\x49\x25\x62\x59\xbe\x27\x10\x1a\xd1\xc8\xf6\x62\x9f\x40\x0b\xa8\x2b\x40\x2d\x25\x81\xba\x1c\xd4\x7d\x41\x0d\xd7\x59\x79\x4e\xa8\x55\xcb\x0f\xb2\x52\x2e\xbd\x61\x26\x3e\x3c\x1b\x43\x98\xb5\x71\xe5\x55\x9b\xf9\xcd\x55\x8a\x93\x91\x8f\xbf\x83\x4f\x32\xaa\x2f\x31\x02\x27\x2d\x98\x85\xe1\xbc\xd4\x4d\x76\x81\x12\x9e\xfe\x10\x68\x06\x78\x50\x2e\x7c\xe3\x0f\x3e\xf9\xd0\x31\xe3\x49\xb8\x43\xf9\x7c\xa4\xd6\x7b\xd2\xd3\x46\xab\x96\xa7\x50\x9c\x2a\x67\xe9\xf6\xd5\xfb\x93\x39\x2d\x86\x4d\xa3\x54\x5f\x6a\x43\x7f\x25\x41\x43\xc1\x69\x4a\xb5\x1c\x32\x58\xd5\x97\x69\xb9\xb9\x29\xc9\x1a\x7f\x06\xa9\xca\x81\xd7\xd8\x8a\x12\x87\x93\x87\x5a\x56\xb5\x1c\x9e\xa7\x54\x5f\x36\xba\xaa\x9a\x5a\x34\x7f\x72\xfc\xd8\xbb\x95\xd2\x28\x50\x97\x01\xfd\x77\x9e\xf7\x7a\xdc\xd2\x6e\x1a\x1f\x35\xe2\xa0\x65\xa8\x9c\xaf\x84\x99\x24\x90\xa7\xe1\xf1\x63\x10\xe6\x52\xa2\x8e\x94\xc6\x85\xe2\xa3\x16\x1c\xb0\x00\xa9\x59\x4a\x98\x43\xc2\x43\xef\xc3\xd0\xb3\xd0\xd7\xa1\xc4\x45\xa4\xc7\xed\x5b\xf3\xd7\xfd\xc6\x6d\x72\xb8\x12\x79\x98\x4d\xe6\x94\xe6\xd8\x73\x1c\xca\xd3\x48\xe2\xa3\xa7\x70\x44\x7e\xbe\x60\x66\x60\x0b\x59\x5c\x5b\x63\xab\x61\x60\xc4\x0f\xf3\xe7\x00\xc9\x57\xe6\x57\x5a\x2a\x0b\x94\xa8\x27\x41\xb3\x1a\xc6\x5c\xbc\x7d\x44\x89\xaf\x91\xd2\xf3\xa1\xa3\x16\xe2\x98\xc9\xa8\xd9\xaf\x84\x85\x64\xfe\xb6\xed\x45\xad\x70\x87\x52\xf5\xc5\x39\xf2\xa8\x40\x0f\x9d\x42\xfd\x6d\x40\xe4\xe1\x50\xbd\x0a\x1a\x4a\x65\x84\xd3\x14\x64\xb0\x7f\x0d\xc7\x9f\x83\xa1\x7a\x55\x1e\x8e\x37\xe1\x79\xea\xc1\x60\xc8\xf2\x2f\xb8\x52\x4b\x6c\x0d\x91\xae\x4b\xc7\x8f\x52\xde\x2e\xdf\xb2\xb9\x6c\x8f\x6e\x34\xe5\xd5\xc1\x70\x16\x86\xe1\x43\x5a\xc5\xd2\xe0\x23\x5a\x72\x48\x88\xe4\x07\x96\xbe\x2b\x6b\x35\x6c\xb8\xac\x03\xdd\x65\x23\x16\x1d\x07\x82\x8a\xf0\xad\xf7\xad\xbf\xcd\x46\x48\xeb\x7d\xeb\x7f\x67\x8f\x1f\x57\x48\x37\xbd\x27\x68\x7b\xad\xb1\x2e\xc3\x3e\xb3\x36\x3c\xd3\x9e\x6e\xb4\x64\xf8\xfe\xa1\xf5\xfe\x1e\x6e\xc9\x70\xa6\xd7\x5a\x3e\xc8\x08\xaf\xb1\xd4\x39\xed\xb5\xd2\x3f\xb4\x8a\x7f\x86\x7b\x06\xfb\xf9\xa3\x7f\x83\xd8\xd4\x6b\x15\xaf\xc2\x86\x10\x8f\x5a\x5a\x4c\xfb\xfa\x4b\xfd\x61\x0c\x1b\x21\xf5\x97\x06\x28\x2e\x9d\xa7\x2c\x54\x3b\x0d\x83\xd2\x61\x3d\x8e\x80\xa7\x38\xec\x0b\x34\x2e\x72\xe3\xce\x7a\x25\x54\x9f\xa7\xa0\x94\x84\xf8\x0c\xe0\x16\xde\x18\x79\x07\x43\x3b\xf0\x95\x04\xdc\x6e\xcd\x12\xb3\xab\x2d\x4a\x6b\x49\x89\x50\xc2\x54\xb8\x1c\x2e\x3b\x5f\x56\x09\xa3\xe1\x2c\xac\xd5\x84\x05\xd2\xa1\x36\x4b\x9f\xd2\x8b\x97\x56\xcc\x38\x87\x80\x97\x61\xd2\xec\x5d\x0a\xef\x02\x12\xc6\xe0\xd5\xb6\xd7\x2f\x18\x41\x5a\xa0\x80\x05\x15\xf4\xe1\x43\xd9\x6f\xbe\x2e\xfa\xac\xee\xf0\x40\x2e\xd4\xd6\xec\x8c\xaa\x74\x46\x20\xd3\xd3\xb3\x13\x73\x78\x4c\xf6\x2d\xf1\x59\x5f\x7c\xdd\x94\xbd\xea\xd0\xca\x08\x29\x08\xff\x18\xeb\x2b\x54\xac\x30\xd7\x24\xed\x62\x5c\x55\xa5\xe5\xd5\xbc\x34\x1f\x0c\x81\xbc\xa9\x79\xd5\x55\x05\x2e\x66\x57\xcd\xf6\xc3\x66\x7e\xac\x54\x08\xf7\xe1\x0f\xc5\xdf\xbd\x3d\xd3\xb5\xa1\x2d\x74\xe5\x36\x4b\x5b\x6a\xbd\xb2\x32\xf0\x45\xd6\x68\x2c\xb2\x98\x64\x13\xcc\xaf\x4e\xca\xc9\xde\x54\x96\x10\x91\x50\xb6\x2d\xb5\x8d\x91\xdc\x3e\x37\xb1\xa9\x61\xcb\x4e\x33\x67\xb5\xdb\xad\x76\xa6\xa5\xa9\xb2\xc9\xc5\x7b\xd4\x45\xac\x22\x2c\x12\xbe\x0d\x68\x37\xd2\x29\x10\x69\xe9\x3b\xe9\x3b\x85\xef\x3b\xd2\xaf\x3e\x12\xf8\x4d\x4a\xa7\xfc\x51\x73\x59\xd4\x7b\xbe\x23\x40\x00\x6b\x45\xa5\xd0\x90\x5b\x19\x91\x53\x91\x2a\xe4\xe4\xa2\x15\x85\x70\xff\x77\xa0\x27\x74\x54\x20\x4f\xe7\xf3\x2c\xe8\xfd\xf7\xe0\x10\xeb\xb9\x87\x7a\xa2\x8d\x0d\xa4\xe9\x1c\x27\xab\xd7\xa8\xee\xd6\x86\x9e\xec\x6e\xef\xee\x2b\x74\x0b\xa0\x13\xba\x65\x91\xa2\xeb\x56\x75\x43\x67\x17\x5d\x4b\x59\xa8\xd0\x5a\xca\x13\x08\xc9\x94\x97\x53\x15\xc8\xab\xe9\xc9\x43\x52\x5f\x6a\xe5\x1b\x7c\x77\x3f\x08\x63\x39\x55\xf7\x2e\x6a\xda\x81\x99\xa7\x37\xf0\x45\xb8\xae\xff\x0a\x9c\x35\x7b\x71\xd6\xfc\x8c\x85\x5b\x94\x2a\x90\xf2\xc9\xd3\xbb\x0f\x7c\x70\x59\xa3\xea\x86\x5c\x36\x50\x89\xf3\xbf\x4f\xaa\x60\xee\x86\xb5\x33\xa7\x69\xfa\x7f\x3d\xb6\x8e\xba\xbc\xf6\x83\xb9\xbb\xb9\xed\xe4\x4f\x27\x5a\x60\xcc\x71\x0e\x26\x9f\x02\xf1\x8b\x12\xf0\x2b\x7b\x29\x03\x0e\x95\xba\xd9\x29\x52\x54\x97\xa4\xeb\x82\x6f\x7b\x7d\x29\xe1\xdb\x3f\x4b\xaa\x4c\x83\x14\x0d\x75\x5f\xb0\xf0\xdc\x6a\x1a\xae\xb1\x1c\xba\xc9\x64\x16\xf5\x52\x27\x8c\x65\x55\x06\x83\x36\xf4\x0e\xaa\xe9\xcf\x36\x5d\x99\xff\x2e\x87\xdf\xc2\xb7\x19\xb5\x69\x95\xa9\x15\x11\xe9\x98\x07\xad\xb8\xe3\x81\xe3\xa4\xd4\x87\x8d\x89\x89\xb6\xc5\xec\x8d\xc0\xed\xd0\x8a\x79\xe9\x15\xa9\x95\x69\xb5\x19\x11\xaa\x4c\x03\x7c\x83\x37\x1f\xf8\x25\x7e\x76\xe5\x2f\xa7\xc4\x77\x4f\xb5\x5d\xf9\x4c\xe3\xf3\x7b\x62\x69\xd5\xc3\x41\xb9\x0d\x39\xf5\x19\xb5\xf8\x0d\xdc\x0c\xef\xf5\x84\x9c\x3c\xf5\x2f\x37\x48\xdd\xfc\x4d\x53\x27\x6b\x26\xb7\x4d\x3d\xa5\xe3\xe0\x5b\xfc\xb6\x36\xa3\x3e\xa7\x21\x57\x6e\xb9\x0e\xcc\xd8\x0a\xad\x10\xcf\xb6\x38\xb7\x33\xdb\x5b\x02\x6e\x98\xdb\xb1\x15\xf2\xea\x14\x9e\x47\xc6\xc3\x58\xd6\xd7\x29\x75\xfe\xf7\x9e\xa4\x11\xf0\xdc\x17\x6c\x58\xcf\x7d\x41\xd6\xd8\x74\xe0\x0e\x16\x3c\x6a\x59\x6b\xd3\xc5\x50\xd1\x92\x9b\x80\xc1\xec\x93\x2c\xd7\xe5\x53\x47\x13\xb1\x09\x09\xb1\x3c\xaa\x61\x12\x8b\x6a\xad\x22\x88\x86\x68\x16\x75\x4f\xb1\x20\xc6\x51\x3d\xf7\x1b\x53\x82\xff\x23\xcd\x0e\x91\x44\xe8\x0c\x5c\xd0\x3f\xc5\x42\x3f\x8a\x6f\x83\x0f\xd9\x3d\xb6\xcd\x3b\x63\x19\x74\x13\xb1\x9b\x13\x62\x6d\xfc\x0e\xbf\xa8\x88\xb5\xb5\x25\xec\x61\xe0\x27\xaa\x6d\xe7\x1e\x1b\xbf\xc3\x23\x2a\xc2\x04\x98\x28\x6d\x82\xbe\x31\x30\x09\xba\x61\x48\x5f\xad\x62\x1e\x8c\x41\x02\xfa\xaa\x4e\xab\xb6\xdd\x60\x55\xa7\x61\x0b\x4b\xa8\x3e\xc3\x49\xc0\x92\xc7\x29\xcf\x63\x9e\x6f\x68\xec\x3b\x11\xb3\x88\x2a\x18\x08\x37\x1a\xc0\xac\x81\x88\x21\x37\x70\xf0\xb8\x59\xf1\x1b\x20\x9e\xea\xa8\xdb\xcf\x9c\x7c\x2b\x76\x01\xaf\x3a\x2d\x91\x54\x5a\x71\x36\x57\x92\xa8\x90\x5c\x44\x18\x8a\xd0\x17\xfa\xc1\x44\x78\x19\x86\x40\x1e\x4c\xea\xab\x55\xcc\x7f\xd0\x91\x5b\x25\xdd\x60\x55\x6e\xd8\xc2\xca\xbd\x10\xc7\x29\x8f\x6a\xd1\x5f\x9d\x0c\x92\x3b\xc9\xfb\xab\x93\x8d\x71\x10\x4f\xed\xae\x3b\xd0\xdb\x89\x44\x52\xe9\xb6\x2c\xae\xb4\xb7\x8b\xc0\xba\xdf\xbb\x29\x0b\x05\x14\xed\x17\x09\xf8\x56\x52\x2b\x3c\x22\xe1\x99\xe0\x99\x41\x1f\x4d\x59\xb6\x73\x11\xe3\x17\x89\xf5\xb1\x99\x9b\xb7\xf2\x3d\xea\x1e\x71\xc3\xba\xbc\x37\x1a\x96\x45\x2c\x6b\x3c\x9a\x70\x9c\xf1\x88\xc4\xbe\x3d\x35\x3b\x5a\x78\xaf\xda\x2b\xee\xde\x5f\x7e\x32\xf5\x68\x44\x58\x64\x6d\xca\xf6\x14\x40\x88\xee\x2b\x25\x43\xb4\x2a\xf1\x20\x2b\xbd\x4a\xdf\x9b\xf3\x13\x92\x1c\xaa\x74\xc3\x5f\x66\x62\x37\x36\xb5\xe8\xf9\x84\x5d\xf9\x87\xdf\xd4\x5c\x77\x5d\xaf\xbc\xc6\x15\x3b\xcb\xce\x96\x94\x2a\x8b\x49\xd5\xbe\x7c\x24\x90\x48\x42\x92\x99\xf6\xc2\x8e\xeb\x3c\x3c\x04\x21\xed\x10\xa6\x81\xe0\xb1\x67\x07\xf7\x1f\x3e\x27\xd0\xc6\x4f\xba\x97\x35\xb1\xc9\x1b\xb7\xea\xb9\x84\x8d\x2b\xf2\x57\x31\x13\x26\xb8\x2a\x9f\xe5\x8d\xc5\xb3\xcb\x0a\x4a\x94\xaa\xc4\x1e\x91\xb4\x96\x08\xc5\x56\xae\xb2\xa8\xae\xb0\xbe\xa8\xae\x30\x22\xe7\xda\x75\xc3\x75\xe6\xcd\xc3\x8e\x9d\xbb\xf8\x96\xe6\xa6\x5d\x7b\x2e\x0d\x7f\x17\x54\x1a\x20\x7f\x3a\x73\xef\xd7\xaf\x67\x63\x30\x87\x61\x18\x12\x8f\x0f\x69\x26\x7c\xb2\xf9\xf2\x6f\xbf\x35\x38\x7f\xe5\x6c\x2e\x97\xe0\x62\xec\xa4\xed\xb3\xf8\xab\xff\xd6\x7c\xd2\x76\xfc\x0b\x0e\x1e\x6a\xc7\x10\x08\x63\x20\xf8\xec\xd7\xbf\xf2\x61\xbe\xfb\x9b\xd8\x60\x61\x1f\xa5\x4e\xb4\x50\x1e\x37\x0d\x21\xb2\x4e\xb6\x84\x82\x79\x2c\x07\xea\x1f\xe4\x02\x4c\xa3\xbe\xa4\x50\x94\x44\x1a\xa6\xc1\x51\x0a\xa7\xc1\xfc\xc0\x07\x6e\x9c\x06\x83\x70\x10\x4c\x03\x33\xfb\x60\xa7\x38\x1c\x1e\x0d\x86\x5b\xac\xfa\x19\x68\x91\x6e\xd2\xa6\xbd\xf9\xfb\x0f\x68\x1e\x34\xf2\x7c\xf5\xd4\xd6\x19\xdc\x9d\x3b\x0a\xef\xcf\xd2\xcf\xf4\x5d\x76\xc2\xf5\x70\x20\x28\x2d\x3e\xa9\xc5\x27\xc3\x6f\xb3\xd7\x27\x84\x57\xe6\x34\x08\x95\x95\x50\x06\x65\xe1\x1f\xaf\xfc\x22\xe1\x86\x49\xf9\x25\xf5\x80\x78\x09\xf5\xc2\x4b\xf5\xed\xb3\xb8\xee\x6e\x45\x6e\xc7\x3e\xf3\x7e\x06\xcc\x2c\x0f\x6a\x12\xfc\xe0\x57\xf8\x1e\x85\x70\x1a\xc2\x96\x23\xf5\x2d\x72\x0c\xcc\x0f\x6c\x19\x7b\x82\x3d\xc1\x8a\x30\x5f\x6e\x6f\x4c\xbc\xd7\x0d\xba\x10\xaf\x5b\x72\xd3\x38\x18\xd5\xf8\xaf\xc8\xf1\xdc\xc4\xd7\x26\x2c\x5d\x98\xa8\xd4\x86\x26\x49\x3a\xbf\x9a\x04\x9d\x47\x8c\xa1\x7a\x77\x57\x45\xd2\x37\x41\xfa\x1a\xeb\xb7\x19\xb8\xf2\x02\xb1\x48\x14\xc5\xe2\xf2\x87\x07\x6d\x73\x49\x5f\x43\xbd\x34\x41\x13\x16\x59\x48\x79\x45\x2b\x25\x05\x53\x03\x59\xbc\x6f\x09\x28\x9b\xdd\x7d\xa1\xb3\xbb\x1b\xa2\x50\xdd\xad\xda\x27\x89\x5a\xc5\x94\x04\xca\xab\x6e\xa7\x9d\x05\x62\x9e\x83\xb3\xe7\x9b\x8b\xcd\x4c\x51\x91\x60\x2d\xe4\x7d\xba\x11\x8a\xec\x42\x43\x4e\x96\x06\xdf\x25\xc4\x06\x7b\x63\xb3\xa6\xd7\x0c\x8d\x77\x26\x54\x6f\xe1\x54\xdf\xe3\xb2\x57\x1f\xc7\x37\x2c\xc6\xcc\xf8\xca\x75\xbb\x32\x95\x16\xd1\x59\xe4\x64\x9a\x9b\xe5\xf5\xa4\xd8\x06\x04\x6c\x86\x58\xa6\x1d\x43\x08\xec\xb7\xe6\x09\x0c\xc3\x81\x1a\x7f\x27\x4c\x62\x3d\x9d\x24\x3c\x85\x0f\x01\x8d\x43\xda\xb8\xbb\x20\x92\x59\xae\x9c\xaa\x42\x4e\xd2\x8d\x50\xfc\x05\xbe\x6a\x77\xf0\xaa\x7d\xe5\x8e\x52\xd1\x29\x8b\x63\xbd\x96\x58\x19\xdc\xae\x25\x56\x86\x68\x15\x8d\x5e\x37\x5d\x1b\xd8\x35\xa7\xeb\x32\xab\xd2\xf1\x0e\xce\x9b\x88\xc5\x58\xc2\xcd\x9d\x33\x7b\xc6\xeb\xd3\x7c\x7d\x52\xc3\x8d\x56\x63\x7e\xbe\x09\xf5\x3e\x75\xb8\x39\xb7\x38\xd3\x69\xe8\x8a\x0e\xef\xcd\xd5\x53\x52\x22\xd8\x4a\x78\xd8\x79\x03\x3a\xb0\x63\x1c\xee\x2c\x34\x94\xe4\x96\x9b\x22\xba\xa2\x15\x40\xb0\x0e\xbb\xad\xc4\xce\x4b\x6a\xd0\x8b\x0e\x87\xd3\xe6\x8c\x68\x90\xfa\x5c\x3e\x77\xe1\xec\x99\xd3\x11\x60\x04\xd3\x77\x90\x04\x37\x7a\x61\x85\x67\xc2\x17\x7d\x05\x2d\xf1\x05\x7e\x0e\x9f\xab\x6e\x68\x89\x8f\x3d\xa5\xf4\x0e\x08\x4f\x80\x88\x89\xff\x51\xfe\x67\x12\xf6\x79\x0f\x19\x46\x8b\xa1\x04\x3c\x81\x5f\xc0\x25\x16\x0e\x10\xf2\xdf\xe7\x88\xbd\x6d\xb9\x29\xb5\x7c\x5d\x8a\x3d\x3e\x2f\x16\x5f\xf6\xbb\xc3\xe1\x1b\x42\x75\x09\x9e\xf1\x94\x06\x52\x33\x94\x78\x1b\xa1\xe4\x5b\xca\xdb\x1f\xfa\xd3\xb0\x9e\xf2\x2d\x96\x16\x87\xc3\x18\x56\x0a\x1c\x63\xd8\xbb\x83\xc3\xe1\x25\x0a\xcf\xe1\xb9\x70\x38\x87\xe7\xe0\x25\x2a\x42\x6a\x92\xfa\x07\xa2\x11\xff\xa4\xf5\xac\xea\xa5\x1d\x7c\x57\xa6\x84\x73\x70\x2e\x1c\xcf\xc1\x39\x59\x17\xba\x7b\x17\x62\xd8\x08\x69\xb1\x6f\x71\x80\x32\xf8\x48\x6f\x4a\x87\x00\x61\x88\x36\xb4\x58\x0a\x10\x62\x2f\x09\x9e\x83\xf5\x54\xc4\xe0\xbb\x01\x25\x6a\xb1\xb4\xf8\xef\xa4\xd0\x04\xfd\xff\x4e\xeb\x39\x05\xc6\xbf\xf3\x7b\xf7\xae\xcc\x2d\xf4\xf2\x09\xe7\x64\xd2\xbb\x83\x7b\x09\x17\xca\xcc\xde\x97\x0c\x37\xe1\x65\x98\x01\x53\xe1\x2d\x38\xc0\x7a\x7b\xbc\xcf\xd3\xfe\x71\x44\x35\xce\x50\x78\xc2\x89\x45\xbe\x4e\xc4\xa1\x0a\x6b\x01\x89\x3d\xbf\x24\xc3\x2e\x05\x4c\x25\x2a\x31\x12\x16\xbe\x01\x8b\x4e\x36\x41\x9a\xc2\x27\x11\x4b\xa5\x5d\x0a\xaf\x92\xd0\xa2\x05\xde\xa2\x41\xad\xf5\xae\x96\x2e\xe3\x38\xe9\x2a\x8c\x03\xb5\x56\x51\xaf\x08\x6b\xf4\x84\xc0\x71\x98\x07\xc7\x83\x2b\xb4\xc4\xf7\x21\xb0\x03\x86\x53\xb3\xf1\xb8\x42\x1b\x7a\x84\x58\x87\xf3\x14\x5a\x9c\x4e\xcc\x79\x50\x9e\x8e\xdf\xf9\x32\x70\xac\xef\x59\x18\xbb\x13\x1e\x57\xe0\x71\x62\x1a\x4a\x9e\x59\xd8\xe0\x39\x02\x0d\x50\xaf\x55\x8c\x55\x84\x35\x4a\xc1\xb2\xb5\x2a\x9b\x8e\x43\x25\x83\x6c\x49\x8a\xd1\xa0\x93\x0c\x30\x54\xf5\xbe\x57\xa7\x55\x04\x25\x50\x1e\x77\x8f\xac\x1d\xdd\x23\xfe\x9e\xfc\xf7\x97\xc7\xc3\x47\xe3\x23\xf8\xc2\x18\x5c\x9c\xa8\xf4\x30\xa0\x23\xa3\x58\xb8\x4a\xa1\x0e\xc6\x13\x9f\x1e\x3e\x71\xfd\x47\xd8\x41\xad\xa6\x46\x9e\x98\xf0\xe9\x0a\x0e\xc7\x93\xaa\xab\xa8\x1b\x4b\xa1\x9a\x54\xbd\xff\x34\x05\x3a\x3f\x43\xe0\xe2\x56\x7c\xe1\xe6\x68\x78\xe4\x97\x5f\xc2\x45\x67\x49\xa5\xa5\x42\x59\x61\xc9\x2d\xcf\x61\xf0\x1e\xa1\x72\x3f\xce\xe2\x3d\x32\xa7\x3c\xb7\xc2\xc2\x59\x4b\x4b\xad\xa5\x01\x70\xe3\xef\xbf\x57\xe0\x1c\x18\x0d\x7b\xf0\x11\xf8\x80\x81\x0f\x02\x49\x38\xe7\xc0\x68\xfe\xfb\x27\x15\xf9\x65\xe5\xb0\x93\x52\xfd\x58\x61\x2f\xaf\xa8\xd4\x84\x05\xd2\xc4\x2a\xa6\xfc\x2d\x4d\xac\xb7\xd3\x23\xd2\x7e\x3d\xb8\x89\x6b\xec\xd3\x54\x17\x31\x85\x85\x41\x2c\x8f\xee\xf8\x07\xb0\x1c\x61\x90\xc7\x7a\x44\x98\x40\xc1\xe7\x54\x88\x57\xf4\xa8\xd7\xc9\x46\x5e\x2e\x25\x5b\x7a\x81\x54\x4c\x7f\x4f\x6d\x04\xea\x7e\xab\x28\x98\x2f\x8b\xe7\x61\xf2\x63\x17\x25\x35\x1c\x60\x25\xb5\xa7\x93\x5e\x11\xe8\xee\xbf\x87\x30\xad\xd7\x29\xd1\xac\x14\xc8\x7c\x2b\x5f\xf6\xe8\x42\x1f\xfc\x09\x3b\xc0\x7a\xb7\xc2\x9b\xc1\x02\x88\xf2\x31\x04\xae\x53\xd3\x59\xf8\xed\x09\xda\x66\x2a\x30\xe5\xc3\x47\x54\x65\xad\x95\xcf\x82\x55\x38\x01\x26\xe0\xaa\x6a\x65\x86\x2d\x07\x2e\xb2\x0e\xb1\x54\xb4\xc2\x87\x19\x60\x45\x6b\x2d\x7e\xa8\x94\xd4\x56\xda\x66\x2a\xcc\x33\xc3\x47\x54\x95\x4c\x20\x8d\xc1\xdb\x70\xdb\x37\x46\x26\xc8\x86\x8b\x6c\x59\x59\x89\xd3\x2a\xd5\x66\x48\x13\x7c\x13\x6a\x7d\xb5\x4a\x78\xd3\x3b\x2f\x92\x5d\xf7\xff\x8e\x92\x2f\xa9\xfd\x5d\xb4\xaf\x13\xdd\x8a\x7c\xa3\xa1\xd0\xc0\x18\x0c\x25\x76\x23\x9f\x5a\x91\xdb\xd8\xac\xf1\xa8\xc9\xe6\x8a\xc6\x86\x0a\xae\xc1\xb5\x4d\xa8\xcf\x95\x3a\xd1\x1d\xde\x60\xa8\x48\xd1\x6b\xf4\xb9\x29\xa9\x06\x2e\xac\x11\x57\x68\x09\x27\xbe\x09\x6f\xf6\x3d\x05\x9d\xd8\xf9\xa0\xa0\xb2\x7b\x45\xef\x25\xda\x77\xc9\x77\x09\x2e\xe1\x25\xe9\x92\x74\x49\xe1\x6b\xf1\x8f\xa0\x81\x63\x03\xc1\xb9\xf2\x94\xec\x91\x7a\x5a\x5a\xde\x14\x5a\xb6\x46\x04\x72\xfa\xcb\x93\xab\xa5\x9e\x3e\x76\x4c\xb8\xbe\xf8\x38\xf6\x85\xc7\xc2\xa7\x4c\xc1\x30\x61\xca\xd5\x29\x57\x05\x08\xbb\x7a\x55\xa9\x6a\xc4\xc7\xe0\xb1\x45\xc7\x27\x08\x8b\x17\x45\xa8\x62\x7b\xf8\x1e\x6e\xd1\x22\x61\xc2\xf1\xc5\x11\xf0\x18\xf6\xbd\x7a\x15\xc2\x84\xab\x53\x22\xae\x4e\x11\x30\x6c\xca\x14\xe8\x8b\x7d\xc3\x8f\x2d\xbe\x2e\x1c\x3f\xe6\xe5\xbd\x91\xe1\x61\x8b\x59\x10\xbd\x62\x00\x55\x18\x0c\x54\x8f\x9a\x80\xf3\xac\x57\x4d\x3c\xd8\x66\xc7\xfb\xa0\x0f\xb8\xa3\xca\x0b\x8c\xfa\x86\x85\xf2\xe8\xe7\xb2\x7e\xf7\x68\xca\xe3\x86\xcb\x94\x4f\x4d\xe7\x04\x30\x94\x02\x78\x4a\xbd\xfb\xd0\xc3\x29\xbf\x7b\x0e\x1b\x16\xc8\xbf\x15\x0c\xd7\xa9\x10\x6f\x89\x77\x02\xed\x6a\x2a\x68\xcd\xac\x47\xb7\xa4\x0e\xdf\xba\x73\x91\xb0\x35\x01\xdd\x3e\x75\x78\x66\x5a\x61\xa2\x33\x59\xa9\x77\x35\x65\x6f\x63\x40\xe7\x57\xa3\x9b\x30\x19\x0b\xcc\xf9\x3c\x46\xa1\x2e\xcf\x68\xcd\xb1\xe7\x46\x18\xec\x15\xe6\x0a\xc6\xa3\x1b\xcf\x7a\xee\x81\x8e\xdc\xd6\x54\xd5\xec\xe2\xc3\xfc\xb9\x32\xd3\x81\x0e\xda\xe1\x43\x36\x37\x37\xcf\x60\xe1\x2d\x06\x5b\x76\xb9\x09\xa2\x50\x17\xde\x9b\x73\x1e\xdc\x7e\x35\xea\x88\x2d\xc9\x59\xc9\x06\xde\xa8\x2f\x49\xac\x49\x03\xb9\xe3\x5e\xac\x41\x90\xd9\xa9\xa9\x2f\x6d\x35\x34\x2b\x9b\x0c\xc9\xd5\x5b\x18\xd4\x79\x7e\x23\xea\xb2\xab\xd3\x39\x79\x5c\x12\xbc\x37\x20\x21\xc4\xf3\x42\xaf\x08\x44\x2f\x78\xff\x26\x02\x63\x30\x26\x5c\x8a\x91\x62\xfe\x26\x02\x8d\xd0\x14\xc9\xa2\x5a\x0a\x61\xdf\xf3\x88\x50\x1b\x2c\xfc\xf9\x2b\x44\x1a\x2a\x4d\xa1\x17\x2c\x50\xcc\xeb\x1e\xf1\x1e\x79\xe2\x84\x02\xaa\xa5\x03\xb4\xb9\x3c\xbb\xc8\x64\xc2\xc3\x78\x38\xdc\x64\x2a\xca\x2e\x37\x97\xe5\x55\x15\x8b\x22\x1c\x86\xc3\xe1\xa2\x58\x5c\x95\x57\xa6\xc4\x56\xff\xcb\x34\x76\x42\x27\x21\x75\x4a\x9d\x81\xcc\x74\x5d\x5d\x81\x13\xdf\x7d\xb7\x6f\xdf\x07\xc2\xbe\xf5\x11\x30\x12\x47\xee\x5b\x2f\xcc\x5c\xbf\x3e\x02\x8e\xc0\x11\x99\x01\xd8\xe3\xcd\x08\xb8\xdd\x05\x8e\xbd\x2e\x07\x49\x99\x7a\xbd\x91\x2b\xcc\x33\x15\xe5\x31\x19\x99\x8e\xca\x5c\x1e\x8e\x52\xbe\x5d\xbe\x5d\x7f\x5b\x0b\x76\x49\xbb\xe0\x28\x95\x56\x67\xd9\xe1\x6c\x89\x68\x76\x36\xd7\x6c\x67\x24\x7d\x35\xe5\xd3\x93\x20\x4a\x62\xa0\xe5\x28\x59\x95\x89\x0a\xcc\xd7\x7b\x10\x15\xe2\x35\x4a\xd3\xe9\xde\xb4\x3f\x79\xa6\xe2\x12\x33\xbf\xd5\x99\xd9\xbc\x5d\x03\x51\x24\xbe\xde\x7f\xd3\xcb\xb3\xf8\x17\x27\xa4\xe1\xf0\x36\xcc\x2f\xce\xce\xcb\xce\xb1\x28\x8b\x0a\x2c\xd6\x02\xc6\x64\x2a\x2d\x37\xf3\xf9\xe5\x38\x16\x16\xc0\x32\x0d\x08\x17\xe0\xba\x74\x99\x83\x28\x72\x7b\x4d\x73\x8b\x93\x6b\x76\xee\xb0\xd4\xa5\xc1\x3d\xbc\x27\x2f\x8a\x4a\x98\x0e\x5f\x47\xb2\x69\x2c\x74\xf6\x7e\x58\x84\xce\xc0\xfe\xb2\xa4\xa3\x41\x24\x41\x44\xb5\x02\xd4\xd2\x1a\xda\x27\xa2\xa8\xf0\x1d\x20\xe1\x3a\xa5\x80\x4e\x18\x48\x0f\xa4\xf2\x58\x6d\x68\xba\xe7\x2e\xdd\x64\x48\xae\xdc\xca\xf8\xd5\xc4\xd6\xe4\x9c\x64\x03\x6f\x48\x29\x4e\xaa\x92\x5f\x04\x5d\x78\x46\x45\xbd\xb1\x91\x69\xac\x77\xd6\x06\xb0\xab\x75\x55\xf5\xc5\xdb\x0d\x8d\x11\xc0\xf8\xe7\xbc\xce\x06\xc8\xa5\xf1\xb4\xab\xb1\x68\x7b\xb6\xfc\xf2\xea\xc2\x6b\x73\xd3\x9c\x29\x4c\x4a\x9a\x31\x23\x80\xa8\xad\xcb\x4e\x2b\x4a\x72\xa5\x44\x24\xbb\x9a\x72\x5a\x18\x8f\x9a\xe8\xb5\xb8\x81\xc1\x0a\x99\xdc\xeb\xf6\xa8\xe9\x46\x63\x7d\x46\x05\xe7\xd3\x81\x3b\xad\x2a\xa9\x38\xc5\x10\x91\x6c\xc8\x49\xde\xaa\xf1\xab\xc9\xad\x95\xc9\x4d\x06\xae\xd1\xb0\xbd\xb8\xbe\x4a\xd2\x81\x3b\xbc\xb6\xc2\x59\xdf\xa8\x01\x9d\x4f\x4f\x3f\x4b\xf5\xe8\x46\xb2\x5e\xdd\x12\xd6\xab\x0b\xb8\x77\x6f\x65\xe5\x29\x95\x06\x65\xf0\xd2\x3d\x78\x19\xcc\x90\x12\xfc\x33\x94\x86\x78\xd7\x42\x3a\x5d\x54\x6e\x29\xcf\xb3\xe7\x95\x1a\x6d\x79\x85\x4a\xeb\xb4\xad\x51\x0c\x4e\xc6\x41\xff\x81\x51\xd1\xbc\xf4\x2f\xa2\xba\xd2\x55\x5d\xc2\xb7\x40\x68\xb1\x58\xe4\xcc\x2f\x8f\x28\xcb\x37\xd9\x8d\x8c\x6f\x05\x51\x74\xc0\xda\x51\xd2\xae\x94\xb2\x88\x9a\x07\x55\x88\x62\xb1\xd0\x99\x5f\x16\x51\x9e\x6f\x2a\x35\x32\xbe\x58\x02\x86\x5d\x84\xfe\xb7\x61\xd2\xe5\x8f\x32\x6c\x4c\xad\xa5\xd6\x59\x5a\x7b\x08\xc6\x84\x17\x97\x5b\xc5\x82\x32\x4b\x99\xd9\x91\x57\xac\xb4\x15\x8c\x6d\x1a\xc8\xe0\x09\x14\x71\x16\xee\x7e\x9a\x1f\x36\x94\x42\x62\x10\x7b\x91\x28\x8a\x15\xd6\xd9\xe2\x95\x33\xe0\x20\x85\x8a\xde\xf0\x8b\x1f\x09\x7c\xeb\x2b\x28\xc5\xd9\x70\x9e\x81\x87\xbf\x6f\xb7\x95\xf2\xd5\x76\xb1\xa6\xa0\x46\x19\x90\x18\x1b\x70\x03\x24\x48\x7d\x60\x81\x44\x43\x66\x5f\xa0\xa1\x54\x7a\x1a\x52\x54\x59\x5e\xbb\x34\x70\x2e\x8b\xe3\x08\xd5\xb1\xc7\x59\x9c\xe1\x7b\x9a\x54\x65\x49\x7d\xe0\x0c\x39\x8e\x82\x7f\xcd\x63\xf1\x0c\xc4\x13\x77\x3f\xfd\x08\x14\x77\xbe\x9e\x6e\xb5\x71\x0e\x8b\x58\x58\x6e\x13\x6d\x65\xa5\x8e\xb2\x5f\x41\x15\xee\xac\xb4\xd6\xe7\xba\x94\xf6\x7c\xa4\xe1\x61\x5c\xca\x60\x19\xbe\x86\x13\x30\x8d\xc7\xad\x23\xc9\xc7\x59\xfc\xd7\x20\xf6\x47\x9f\x6a\xb8\xcc\xe7\xf0\x41\xac\x77\x36\x0c\x67\xfd\xb9\xc0\x53\x1f\x41\xd9\xcf\xb0\xe4\x1e\x38\x42\xbc\xeb\xe1\x37\x1a\xf2\x71\xed\x35\x7c\xed\x32\x87\x03\xde\xc5\xb0\xb7\x7e\xd7\xdc\xbe\xf9\x21\xa8\x60\x38\x3c\x12\x69\xb5\x71\xe5\xf9\x62\xa1\xb3\xd8\x69\x2b\x77\xd8\xc5\x6b\x30\x24\xbc\xac\xa2\xa8\xda\xe8\x2a\x28\xc5\x20\x78\x08\x57\x34\x2b\x61\xda\x3c\x16\x19\x22\x23\x2b\x3b\x9d\xc7\x57\x48\x5c\xb7\x06\x07\xe1\x48\x7c\x4d\x83\xa5\xa0\x1f\x0d\xaf\x4c\xe3\x80\x99\x0f\xd4\xd2\x11\x1a\x54\xf4\x5f\x30\x0c\x5f\xc2\x48\xd0\xd8\x8a\xb8\xfc\x32\x53\x89\xc9\xda\x9b\x28\x7f\x10\x32\xe1\xa6\x5c\x5b\x86\x33\xd7\x9e\x0f\x6a\x8c\x84\x9c\x0d\x4a\x9c\x4a\xa6\x57\x67\xd7\x72\xc0\x8c\x67\x61\x2a\x09\xb1\x7b\x60\x08\x8c\x85\x95\x9a\x30\xbf\xbf\x31\xc5\xfb\x0c\x3c\x0b\x83\xe0\xd9\x60\xc1\xdb\x2f\xc4\xdb\xcf\xfb\xce\x5c\x16\x9f\x27\x0c\xef\xa6\xbc\x1d\xdf\xa9\x84\xec\xf1\xec\xdd\x79\xac\xdf\x3d\x94\xc2\x88\xde\x07\x04\x83\x09\x88\xbc\xb5\x6e\xca\x7e\xde\x37\x7a\x28\x35\x78\x10\x2b\x3d\x4f\x60\x70\x02\x3e\x34\x1b\xa7\x31\x18\x2a\x0f\x91\x8a\x7c\xe0\x04\x35\x07\x97\xc1\x50\x7c\x09\xc6\xe2\x7c\x65\x9e\x43\x2c\x70\x32\xb0\x80\xa8\x74\x95\xb9\xec\xbc\xc3\x55\x54\x95\x27\xe2\x08\x98\x89\x63\x40\x87\xc3\x60\x0c\xa4\xb6\xc2\xe3\xf0\xd8\x2e\xd0\x29\x61\x92\x3c\xc0\x59\x8d\x29\xd0\x03\x13\x6f\xc0\xa4\x60\x69\x20\x18\x42\xa4\x5f\xfa\xd5\x56\xdb\x58\xf8\x12\x0e\x91\xe3\xa8\x5f\xe7\xb1\x78\xe8\x06\x1c\x1a\xcf\xfe\x46\xf6\xa6\xfb\x8f\x27\xe0\x82\xf4\xa9\xdd\x29\x54\xe4\x8b\x11\xce\x7c\xa3\xc3\xc0\xe0\x3c\x22\x37\xd7\x9c\x6b\xe1\x71\x9e\xef\x99\xb4\x15\xc9\xab\x32\x56\x46\x64\xee\xcf\x3c\xb8\xf5\x2d\x8c\x97\x9e\x0b\x77\xe5\x1b\xca\x72\x19\x7c\x83\x30\x18\xf2\x8d\xf9\xbc\xc5\x28\xe4\xda\x8d\xf0\x89\xef\x6a\x38\x6e\x80\x83\xd4\xc0\x41\x2c\x74\x8e\x83\x50\x6a\x90\xfc\x03\xbf\x84\x43\x2c\x4c\x21\xc2\x7c\xb9\x8d\x29\xa0\x07\x1d\x50\x10\x27\xe9\x20\x2e\x18\x44\xc8\x94\x4e\x82\x31\xc4\xbb\xc3\xbb\x82\x46\xcd\xc8\xd1\xd8\x9f\x93\xa5\x01\x21\x80\x9b\x84\xfe\x3f\x8e\x46\x0d\x0f\xc6\x7e\xe0\xc4\x59\xf0\x0a\x36\x70\x82\x6f\x2f\xf9\x38\xeb\xff\x07\x7c\xc1\xe2\xb0\x41\x2c\xe8\x91\x42\xfd\x50\x0a\xd5\x81\xdf\x3a\xb9\x9f\x89\xe3\x59\xd0\x49\xc5\xf2\xfb\xab\x9e\xc7\xfa\x8a\x81\x82\xef\x09\x68\x80\x59\xf0\x0a\x38\x79\xd9\x12\xf1\xa8\xe1\x33\x56\x4b\x06\x85\x48\x2e\xf8\x81\x2e\xb2\x16\x16\x69\xac\xc5\x42\xb1\xb5\x78\x0a\x9c\x0c\x87\x31\xc4\x1e\x50\xd3\x98\x4c\xc4\x83\x5a\x01\x47\x08\x18\x8d\x6a\xba\x03\xd4\x8a\x8f\x89\x3d\xb2\x40\xfc\xd0\x37\x85\x2e\xb2\x16\x3d\xa0\x29\x79\x16\x4e\x84\xc3\x38\x62\xb7\x4c\x93\x41\xc4\xc9\x34\xc7\x09\xe9\x11\x94\xb5\xda\xe9\x84\x4c\x07\x83\xe3\x58\x0c\x21\x6e\xc3\x4f\x25\x62\x91\x2b\x20\x25\x8c\x76\x23\x83\x2c\x91\x95\x63\xcc\x2e\xe4\x9f\x44\x9f\xc2\x17\x4c\x0c\x03\x9f\xa2\xaa\x20\xd7\x99\xc5\x60\x5f\x22\x3b\xc7\x98\x5d\xc0\x0f\x47\x9f\x02\x91\x18\x2d\x5f\x29\xcc\x91\xaf\xb0\x84\xd1\x68\x31\xe7\xf3\xf9\x79\x45\xc6\x12\xe3\xb7\xf8\x53\x38\x06\x8f\xa6\x60\x00\xb1\x1b\xd5\x0a\x9c\x3a\x9a\x82\xb5\x04\x44\xf9\x7c\x8a\xec\x92\x4a\x63\x15\x03\x63\x88\xea\x00\xc6\x36\x4c\x94\x7c\x0a\x58\x47\xc0\xb3\xf2\xb5\xd2\x07\xd7\xaa\x2a\x03\xd7\x9e\x91\xaf\xc5\xc1\x70\xd6\x97\x6b\x81\xd7\xf1\x55\x88\x86\x5b\xf0\x24\x9c\x83\x57\xf1\x79\x18\xdf\x17\x44\xa8\xc7\xd1\xf0\x24\x84\xc1\x93\xaa\x68\x6d\x68\xa9\x57\x4d\x67\xc0\xab\x38\xfa\x7d\x5c\x5c\xab\x04\x3b\x3e\x49\xaa\xe6\x61\x11\xb9\x66\xb5\xd5\xba\x9a\x07\x41\x2e\x47\xa3\x9d\xb4\x6e\xd8\x20\x6c\x64\x04\x12\x63\x6d\x0a\xd5\x4c\x7c\x86\x04\x45\x71\x51\x91\xa0\xf9\xb0\x21\x26\xde\xc1\xe3\x41\xb2\xd4\x21\x58\x1d\xbc\x25\x5f\xb0\x30\xbe\x21\x64\x6a\x61\xee\xc6\x95\x8c\x50\x5c\x84\x8a\x62\x6e\x23\x46\x2b\x54\xd1\xb0\x94\xd8\xb7\xd7\xba\x97\xc1\x72\x52\x25\xc0\x93\x60\x27\xac\x6f\x76\x0a\x07\x18\x2c\x25\x55\xd1\xf0\x24\x94\x13\xe0\xaa\x82\x57\xce\x37\x43\x41\x1d\x2c\x78\xea\x1b\x1c\xb2\x47\xa9\x7a\xf3\xe6\x91\xf7\xbe\xc8\x81\x08\x25\xc6\xfb\xde\xa4\x71\x1e\x7e\xde\x34\x90\x83\xdb\xe4\x6f\xf0\xf9\x4e\x5c\xcc\x4f\x93\x12\x69\x7c\x01\xb7\x35\x44\x71\x70\x8e\xfc\x06\xb6\xb5\xe2\x0c\x3e\x0c\x45\x2d\x19\xf4\x2d\xe5\x15\xbd\x22\x2d\x6d\x24\x4c\x55\xa6\x0a\xa3\xd3\x37\x52\x1a\x19\x6e\x74\xe6\x8a\xd9\xa2\x12\xd5\x3e\x1b\x2d\x75\xfa\x1f\xa0\xde\x6a\x3d\x27\x75\xac\xb7\xd3\x27\x17\x0f\x9d\xe4\xc3\x7a\x1d\x5f\xe4\xd7\x8a\x08\x52\xdf\xd0\x2a\x8e\x79\x8f\xd0\x32\x79\x2f\x75\x84\x6f\xa3\xb4\x91\xec\x6d\x54\xe9\x4b\xc4\x67\x02\x49\x99\xf8\xff\xd5\x1c\xe9\x53\xfb\xf5\xb4\x8b\x02\x5d\xe8\x83\x3f\x61\x91\x28\x02\x21\xed\x03\x02\xc4\xdf\x61\x10\x3c\x04\xfb\xa1\x0f\x8c\x60\xbd\x3e\xd0\xb0\x3d\xb5\xc3\x58\x55\x8f\x01\xd6\xb3\x9e\xcf\xf0\x9f\xf0\x1b\x5b\x64\xe2\xb3\x8b\x14\xc5\xa4\xcb\x05\xcb\x58\xc8\x22\xe1\x51\xea\x5b\x6f\x0f\x64\x50\x84\xca\x3f\x05\x96\x06\x5a\xfb\x6f\x2b\x7f\x36\x3c\x82\xfd\x0d\x34\x6c\xde\x9f\x6d\x79\x47\xa3\x15\x32\x28\x58\x4a\x3d\xad\x0d\xfd\x01\x7e\x63\xad\x26\x3e\xbb\x50\x51\x42\xba\x9c\xb0\x8c\x25\xe5\x96\xb2\x08\x78\x94\x0a\x83\x11\x94\x47\xdf\x3d\x8c\x95\x69\x3a\x51\x2d\x2b\xaf\xcf\xb0\x1e\x37\xd4\xb1\x7e\xf5\x33\xac\x47\x0d\x75\xac\x4f\xf7\x8c\x6c\x00\xd6\xb1\x28\x3e\xc3\x82\x08\xc3\x59\x18\x41\x69\x43\x4f\xc6\xcf\x7d\x70\x66\x3c\xeb\xd3\x83\x3b\xd0\x86\x27\x4a\x52\xcf\x7d\x40\x21\x4f\x61\x8f\x6e\xee\x83\x86\xfe\x2a\xf5\xb6\x3f\x9c\x45\x51\x52\x52\x01\xfe\xe3\x52\x21\x89\x82\xad\xb0\x81\x42\x55\x6f\x2b\xa6\x4b\xf5\xec\x26\xcf\xaa\xab\x54\x98\x3c\x72\xde\x01\x72\xcd\x24\x4a\x1b\xfa\x15\x6c\xa0\xb4\x68\xec\xad\xb4\x16\x4d\x57\xa9\x36\xad\x62\x7b\x3d\x1b\x16\x29\xec\x62\x21\x2a\x44\x0a\x61\xe9\x98\x84\xcd\xb1\x31\x9b\x77\xec\xdd\xb3\x63\xe7\x5e\x78\x85\xe5\x20\x0a\xe6\xb2\xd8\x39\x96\xf2\xab\x9f\x62\xa1\x73\x14\x15\x00\x61\xa6\x7f\x1b\x73\x73\x20\x87\x6d\x44\x79\xbb\xd3\xe9\x6a\x52\xb6\x9e\xd8\x79\xe6\xba\xe6\x33\x01\xa6\xa3\x1e\xfe\x45\x71\x2b\x57\xe5\xce\x34\xcc\xce\x9d\x63\x78\x7d\xed\xda\x8d\x1b\xe3\x56\xc6\x2c\x5b\x31\x67\x04\xfe\x73\x7d\xa1\x72\x43\xe1\xe6\xcd\x1b\x34\x7e\x9a\x8c\x6d\xdb\xdc\x61\xe5\xf6\x58\xcf\xa5\x7c\x98\xac\x5c\x0f\x41\xc0\x2c\x85\x81\x4c\x2d\xf1\x29\x51\x57\x25\x94\x32\x37\x6d\x17\xb6\x1f\x7a\x67\xff\x91\xda\xf7\xf3\xaf\x6e\x6b\xa9\xdf\xed\xdc\xe7\x3a\x28\x1c\x34\xec\x6b\x3b\x58\xfd\x56\xd1\x71\x65\x55\x41\x9b\xa1\x9d\xeb\x38\xd0\x78\xfa\xa4\x26\x2c\xd2\xab\x86\x7d\x6c\x08\x88\x5e\x1d\xbd\x37\x61\x47\x6c\xcc\xe6\xcd\x31\xb1\x3b\x12\xf6\x7e\xc7\x42\x94\x4f\xa4\x9f\xa0\x38\xec\xbc\x45\x79\xd4\xd0\x49\x41\x67\x35\xe5\x57\x93\x5e\x3f\x0c\xa3\x5d\xed\xa5\x6d\x55\x9a\xe2\xe3\x59\x6f\x6d\x3a\xe8\xda\x27\x1c\x34\x1c\x34\xee\x4b\xdb\xbd\xa5\xc5\x71\x35\xe3\xfd\x75\x47\x56\xbe\x33\x63\xfb\x18\x9b\xb2\x20\x5b\x48\x67\x9e\x27\x32\x08\x1c\x88\xcc\xd2\xf5\x18\xc4\xbf\x96\xfc\x7a\x4a\xac\x55\x19\x67\xdd\xb4\x39\x56\xbe\x91\x0d\x3b\x36\xef\x2e\xe4\xf6\x15\x76\xe3\x3f\x0f\xcf\xd9\xbb\xac\x63\xe5\xae\x8d\x07\xd6\xba\x5e\xaf\x98\xe3\x9a\x5d\x31\xf3\xd0\x2a\xe5\x7e\x16\xf4\x02\x4c\xff\xec\xfa\xa6\x33\x49\x27\x78\x43\x93\xd1\x99\xd7\xae\x84\x36\xe2\xb7\x6f\x6e\xfe\x66\xe3\x4f\xa6\x9c\x89\xdb\xcf\x85\xa1\x1a\x42\x20\xf2\x7d\x50\xbe\x7b\xe3\xdc\x3b\x1f\x83\xfa\xa2\x94\xff\x63\x5f\x01\x12\x20\xea\x93\x5b\x17\x96\xdf\xae\xb8\x98\xdb\x65\xbf\x68\x79\xb7\xe2\x82\xe1\x6c\xe9\x85\x0b\x17\xaf\x43\x82\x6a\xaf\x7b\x9f\x77\x04\x64\xd3\x1b\x8c\x99\x69\x06\x83\xdd\x65\xe0\x40\x4f\xba\x5c\x2e\xbb\x8b\xa9\x77\x66\x6c\xe0\x71\x34\xa9\x2a\x18\x60\x87\xd7\x20\x8c\xee\x20\x3b\x5c\xb5\x4d\x4d\xae\x8c\x38\x2e\x8e\xf4\x3f\x06\xf5\x34\x66\xbd\xf4\x6f\xdf\xc4\x4f\xa4\x89\x5f\x10\xb0\x6c\x1e\xfd\x0a\xee\x26\x52\x64\x59\xcc\x98\x2c\x76\xa7\x95\xb7\x16\x0b\x62\xb5\x06\x9a\x67\xe0\x21\x32\xa9\x38\xa3\xd4\xc0\xa5\x39\xaa\x4d\x8d\xcc\xb6\x6d\xd5\x6d\xdb\xf9\x35\x17\x49\xb0\x83\x48\xef\x29\x6a\xb1\x54\x73\x3b\xf2\xd2\xab\x12\x99\xad\xfa\xec\xa4\x14\x1e\xc6\xbe\xe2\x33\x5e\xdc\x4b\x26\x36\x35\x67\x37\x33\xad\x75\x55\x3b\xca\x79\x7b\x75\xf1\xb6\xdd\x1a\x28\xad\xa5\xa7\x13\x49\xd6\xac\x02\x4d\x46\x81\xd1\x94\xc9\xe8\x0d\xb5\x1d\xfc\x79\x88\xf8\x94\x3c\x60\xde\x91\x5d\xcf\x6d\x4b\x4f\xac\xdc\xc0\xc4\x25\xe6\x6c\x49\xe3\xb3\xd3\xf2\x37\xaf\xd5\x20\x4d\xae\x2d\x4b\xa8\x4a\xe7\xb6\xd4\xb7\xe6\xec\x61\x3a\x76\x54\xb6\xd6\xf1\xe5\x15\xf6\xca\xe2\x6a\xa5\xad\xcc\x56\xd5\xa4\xf1\x2d\xf0\x7c\x42\x77\x18\xea\x52\x92\x8d\xe9\x71\x1c\x8e\x22\xe3\x9c\x19\x4d\x8d\xae\xda\x0e\x4e\x6a\xf3\x9d\xa2\x55\x69\x9f\xac\x1c\x27\x8c\x4a\x1d\xcf\xe5\xcc\x59\xb2\x72\xae\x59\x99\x85\x2c\x72\x02\xb2\x4c\xe0\x58\x8d\x2c\x3f\xb7\x6c\xc9\xa1\x9c\x33\xca\xd4\xaf\x84\xdb\x37\x34\x02\xf9\xb5\xed\x76\xfd\x97\x5c\xe5\xd9\xb7\x0f\x9d\x71\x28\xab\x41\x0b\x9c\x00\x2c\x03\x1c\x70\x42\x16\x68\xf9\xd3\xf9\x6f\xaf\xac\x9a\xad\xac\x7f\x46\x18\x35\x56\x23\x90\xfe\x02\x0f\x4f\xe3\xb2\x17\x60\x19\x69\xde\x9b\x75\x62\xeb\xc7\x59\x47\x33\x8e\x66\x1d\x55\xfe\x9b\x38\x89\x0b\xde\x81\x05\x8a\xab\x04\x2c\xf1\x3d\x42\xaf\x35\x6f\xca\x4e\xe7\xb6\xa4\x25\xe5\x6c\x60\xe2\x92\x2a\xb7\xa5\xf3\xd9\xf5\xe6\x9d\x07\x34\xd0\x8f\x3c\x50\xb6\xb3\xaa\x9e\xdb\x56\xb7\xbd\xb2\x83\xd9\xbd\x3d\x67\x4b\x3d\x5f\x95\x56\x96\xb0\x56\x83\xfd\x48\x98\x81\x0f\xd3\x07\xc9\x4d\x89\x5b\xb2\xb6\x30\x29\x59\x62\x9d\x99\x2f\xa8\x28\xaa\xdd\xae\x81\xa3\x17\x71\x1b\xa9\x7a\x48\x19\x94\x29\xe4\xd9\x8a\x38\x83\xcd\x61\x11\x99\xca\x2a\x67\x63\x35\x0f\x7b\x2f\xfa\x08\x52\x7a\x05\x4e\x47\xb2\x28\xc2\x42\x78\xfe\xec\x55\x20\xae\x5e\xfd\x01\x5e\xf8\xf2\x3a\xdc\xbd\x96\x9f\xda\xb7\x15\x36\xfe\x02\x0f\x4f\xfb\xe5\xdc\xe7\x19\xb7\x6a\xfe\x9d\x77\xdb\xf1\x55\xe6\xed\xaa\x8f\x2d\xb7\x4b\x6e\xde\x86\x10\x95\xdf\xbd\xd3\xbb\x02\x8e\xd0\x87\x73\x9a\x93\xb2\xb2\xcc\x59\x59\x1c\x9e\x22\xb3\xaa\xab\xcd\xd5\xcc\xf6\xca\xa6\x23\x3c\xdc\x86\xf5\xf4\x91\xac\xe6\x4d\x9b\xb2\xf4\xcb\xb9\x65\xb7\xc8\x9e\xc5\x50\x4b\xfb\x2e\x3c\x4e\xaa\xa4\x4f\x16\x4a\x17\x06\xfc\x00\xe7\x9f\x20\x61\x86\xef\x02\x7d\x8a\x5c\x1d\x13\x97\x1a\xcf\x24\xa4\x54\x6c\xcb\xe3\x2d\xd5\x85\xcd\x7b\x34\x12\xf3\xad\x2f\x88\x4c\x11\x0c\xb6\x42\x2e\xbb\xb8\xcc\x5c\xc1\xd4\xd5\x57\xed\x68\xe0\xa5\xb0\x6f\x7d\x26\x12\xbe\x87\xa1\xf4\xb2\xa2\x0d\xe6\x14\x2e\xc6\xb0\x25\x2d\x96\x89\xdf\x58\xb7\x6f\x13\xbf\xe4\x69\xcf\x88\x6f\x49\x15\x31\x3c\x08\x37\x91\x7b\x77\xee\xaa\xdb\xcd\xec\xd9\x96\xb6\xde\xc5\x97\xa5\x16\x6f\x58\xa6\xc1\x45\x24\xdc\x76\xd2\x09\x42\x6a\x91\x89\x2b\x4a\xcd\x4b\x37\x64\x2a\x63\xb7\xae\x4f\x5f\xca\x2c\x8d\xad\xed\x48\xe2\xd3\x5a\x8c\x07\x4e\x6a\xe0\x05\xf2\xa4\xb8\xbf\x7e\x1b\xd7\xb1\x7d\x4f\xed\x51\xe6\xc8\x9e\x8c\xb8\xed\x7c\xdd\x16\x71\xdd\x1b\x9a\x41\x38\x3d\x8a\x5c\x56\xad\xdf\xd5\x54\x59\xd1\x62\xe7\x6c\x76\x5b\xc3\x5e\xcd\xed\x1c\xc2\x77\xcf\x3b\x98\x5e\x96\xb3\x75\x53\x42\x76\xcb\x51\x0e\xd6\x93\x47\xab\x9a\x77\xb6\x55\xea\x97\x71\xb8\x9e\xf4\xac\xf1\xe7\xd1\xa0\x14\x20\x2c\x09\x42\xb9\xf4\xcf\x5f\x3d\x33\x59\x54\x36\xe0\x6b\x38\x4b\xc0\x99\x0c\xce\xc4\x59\x42\x2a\x46\xf3\xcf\x99\xa2\xe7\xa4\x4d\x52\x6e\xc1\x50\x2b\x86\xa1\x52\x23\x90\x48\x0a\xd8\x67\x3b\x86\x72\x75\x93\xce\xcf\xf9\x2c\x4f\x99\x02\xaf\xc1\x2c\x01\x66\x32\x30\x13\x66\x09\x8d\xf0\x1a\xff\x59\x79\xd7\x99\xfa\xcf\x95\xdb\x20\xd4\x06\x7d\x80\xd4\xf4\x64\x68\x43\x7d\xf4\x74\xac\x99\x06\x35\x8a\xfe\x44\xe3\xcc\xa6\xd7\x9a\x66\xb6\x3f\xd9\xf0\x92\xb8\x58\x89\x2d\xbf\x40\x0b\x09\x8f\x48\x03\x15\xd0\x88\x5f\xd3\x27\x4d\x07\xd2\xb6\x71\x1d\x5b\x62\x6b\x97\x31\xcb\x63\x33\xe2\xb6\xf0\x69\x5b\x4c\x6b\xdf\xd0\xe0\x54\xf2\x0d\x71\x6d\x7d\x12\x17\xb7\x6d\x4f\xc6\x11\xe6\xe8\x9e\xda\x8e\x6d\x7c\xfd\x36\xf1\xe0\x49\x0d\xdc\x84\x5b\xf4\x28\xdf\x63\x44\x42\x6a\x5a\x76\x3a\x93\x6b\x2e\xaf\x2a\x92\x25\x40\x45\xa3\x46\x0a\x19\xe5\xe3\xc8\x98\x92\xad\xf6\x2c\x6e\x8b\xd8\x98\xbb\x93\xd9\xdd\xd1\xf0\xe6\x5e\x5e\x47\xaa\x14\x41\x8d\xb7\x89\xc0\xa7\x64\x2d\x91\x02\x07\x58\xe9\x07\x8f\x87\x16\xac\x36\x1c\x0f\xfb\xb9\xc6\xdc\xf4\x96\x18\x06\xf3\x88\xec\x5c\x8b\x31\x9f\x37\x1b\x6d\xd9\x65\x39\x30\x16\xdb\xc3\xad\x36\x41\xb0\x32\xe8\xf0\xe9\xcc\x39\xb6\x1c\x87\x31\xc2\xe8\x70\x99\xab\x18\xc8\x23\xf6\xd4\xb6\x34\x55\xf2\x20\x48\xd1\xce\x5a\x41\xe3\x79\xcb\xd3\x8f\x76\xe6\x1b\xec\xd9\x0c\xe6\x13\x31\x59\xc9\xfa\x1c\xde\xe7\xea\x19\x94\xb1\x49\xd0\x08\x82\x15\xbe\xf3\x07\x73\x29\xae\xfa\xad\x7b\x65\xd2\x2a\x97\xdd\x59\xc6\x3b\x9c\x42\x95\xb9\x12\xbf\x95\x30\xdc\x2a\xd8\x6c\x8c\xb4\xcd\xfb\x6c\x59\xa5\x50\x65\x76\x46\x84\xc1\x53\x14\x6c\xf5\x5e\x85\xad\x21\x9e\x17\x3c\x15\xb4\x60\xce\x41\x1d\x7e\xc7\x65\x98\xb2\xd3\x12\x19\x9c\x49\x18\xf2\xec\xe5\x16\xde\x52\x6e\x75\x3a\x9c\xb0\x10\x7e\x0e\xb7\x09\x82\xc0\xe1\x63\xb0\xd1\xe2\xb4\xba\xec\xe5\x11\x65\x76\xb1\xb4\x82\x81\xd7\x88\x1d\x55\xe9\x99\x4e\x1e\xfa\x62\x92\x60\x15\x34\x9e\x50\x29\x9f\xb6\xe7\x09\x46\x8b\xd1\xf7\x84\x3f\x26\x5c\x10\xac\x02\x07\x95\xbe\x44\x87\x51\x30\x5a\xf2\x22\xf2\x2c\xa6\x02\x03\x83\xaf\x11\x09\xd9\xf5\x35\x26\x1e\xab\x25\xbd\x60\x13\x34\x42\x65\xb3\x34\xc0\xf3\x06\x57\xe7\xac\xa8\x6d\x65\xe0\x75\xc2\x55\x5e\x90\x67\xe7\x21\x15\x87\x46\xb2\x8d\x4e\x6d\xe8\x4f\x85\xac\x67\x89\x34\x92\x96\x04\x52\x4a\x43\x87\x2f\x0d\x4b\x14\x30\xd3\xf3\x2b\x2d\x90\xbe\x47\xb0\x24\x5d\xe0\x63\x0b\x26\x0b\xd3\xa7\x2a\x05\xdd\xfc\x4c\x7c\x94\x4b\xc3\xc1\x36\x1c\x2c\x68\x50\x4b\x0a\x56\x1c\x5c\x8f\x83\xb9\x1a\xec\xf3\xae\x4e\xd0\x7c\x34\xed\x56\xf1\x41\xb3\x52\x80\x81\xd9\xd2\xfa\x02\x4e\x20\xa5\x47\xa0\xa4\x5e\xe0\xf7\x94\x7e\x26\x7c\x74\x59\x29\xbc\xfb\x6e\x0d\xf4\xe1\xea\x61\xb0\x15\x06\x0b\x1a\xd0\x92\x82\x0d\x06\xa7\xc1\x60\x2e\x13\x1e\xd5\x9d\x12\x34\xd3\xaf\x4c\x16\x62\x4b\x95\x02\x96\xd4\xf9\x1e\xe1\x7a\xbd\x26\xa8\xe0\xae\x83\x6c\x88\x34\xc4\xf3\x31\x8d\xb7\xb1\x45\xca\xc1\x2b\xf0\x23\xec\x57\x48\x06\x2c\xa1\xf1\xf1\x11\xd8\x0d\xfb\x14\xc5\xa4\xd5\x6a\xb5\x29\x8a\x48\xfc\x11\xf7\xe1\xe3\xdd\x0a\x0c\x22\xa5\x6c\x3c\xaa\xb0\x92\x36\x9b\xcd\xaa\xb0\x91\x52\x0e\x1c\x55\xf8\xaf\x6a\x43\xbf\xa5\x7d\x72\x13\xb7\xb1\x59\x32\xc1\x69\x85\x64\xc2\xd3\xb4\xcf\x84\x67\xa0\x1b\xf7\x4b\xd9\x70\x45\xe1\xcb\xf6\xdc\xa1\x51\x2e\x99\xf0\x34\xdc\x86\x66\x45\xd8\x79\x18\x13\xec\xed\x81\x31\x21\x5a\xc5\x3f\x46\xd0\x92\x1e\xa2\xfc\x6a\xad\x77\xb5\x47\x0d\x51\x3e\x3d\x09\xd3\xa4\x46\xda\xd3\x82\xcf\xec\x86\x51\xfe\x16\x98\xa0\xf8\x18\x36\xd1\x9e\x38\xbc\x7d\x11\x06\xfb\xe3\xe0\x3b\x05\x68\x60\x3d\x2d\x79\x7d\xce\xbb\xd0\xc7\xe7\x95\x9c\x0a\x78\x1b\xca\x69\x54\x8f\x90\x92\xfc\x34\xa8\xbb\x15\x5a\x9c\xef\xbf\x4c\x7b\x3a\x61\x8c\xbf\x33\x90\xb0\xaa\x84\xed\x2b\x40\x09\xab\xfa\x65\x8a\x57\xf4\xa8\x69\x50\xb1\x48\x42\x20\xe8\x41\xf5\xe5\xc9\x7f\x53\x3c\x70\xfd\x20\x01\xa7\xc1\x34\x4c\xc0\x04\x9c\x86\x81\x63\x20\x8f\x45\x02\x24\xc0\x34\x98\x06\x09\x1c\x04\x49\x4f\xd2\xef\xac\xee\x5c\xb8\x70\xf5\xea\x85\x0b\x3b\x57\xbf\xf3\x4e\x67\xe7\x3b\x9c\xcf\x0a\x89\x34\x84\x82\x59\x5c\x73\x87\xdf\x93\xbd\x3d\xa3\x35\xb1\x35\xb1\x36\xa9\x2a\x56\x79\x70\x88\x09\xcd\x18\xaa\xc1\x50\x11\xcd\x6b\x86\x70\xd9\xb1\x19\x49\x89\x89\x89\x89\x49\x19\xb1\xd9\xca\x35\x43\xd0\x2c\x06\xbc\xe7\xd0\x6c\x3a\x38\x84\x8f\xad\x4a\xaa\x4d\x6c\x4d\x6c\xcd\xd8\x9e\xbd\x47\xb9\xe6\x8e\x08\x66\x08\xd5\x40\xa8\x09\xcc\x07\xef\x70\x55\x7b\x6a\xb7\xb7\xb6\xb6\xb6\x6e\xaf\xdd\x53\xa5\x3c\x78\x07\xcc\x26\x08\x65\x3c\xa2\x9f\xa2\x7f\xb7\xdd\xcb\xff\x9d\xcb\x87\x3e\x9b\x21\x78\xf4\xad\xd1\xb7\x30\x78\x07\xf6\x71\x28\xfb\x3b\x06\x58\xfb\xf7\x1f\x60\xeb\xff\xf0\x20\xec\x93\x8f\xc1\x9b\x47\x8f\x1e\x3d\x7a\x33\x06\xe7\x63\x1f\x65\x7e\x7f\xdb\x00\xa1\xbf\xd0\xdf\x3a\xa0\xff\xc3\x83\x1d\xd8\x67\x07\x06\xdf\x1a\x7d\x6b\x34\x04\x6f\x86\x3e\xf9\xca\xdf\xf3\xef\xd9\x7e\xff\xfd\x9e\xf5\xf7\x87\x07\x41\x1f\x07\x04\xef\xb8\x75\xeb\xd6\xad\x1d\x10\xec\x80\x3e\x4a\xc7\xef\xd6\x7b\xbf\x6b\xc2\x16\xb3\xd0\x2a\x4d\x82\x48\x69\x12\xb4\xaa\x13\xb7\x52\xbe\xb7\xfc\x22\x0d\xe3\x29\xe9\xfd\x7e\x30\x3e\x90\x92\x56\xf4\x0e\xa1\x71\x19\x9e\x55\x48\x43\x08\x78\x06\xf5\xf4\x40\x88\x52\xf8\xea\x89\x81\x18\xa5\x78\x82\x90\x56\x78\xa6\x4b\x2b\xfc\xd3\x15\xf0\x01\x88\x81\x4f\x43\x38\x15\x6e\xc1\x63\x30\x06\x42\x20\x19\x42\xc0\x01\x0b\x21\x34\x58\xba\x05\x5b\xa4\xc8\x96\x10\xcf\x7b\x9e\x09\xf4\xbf\x87\x9f\x7a\x65\x35\xf7\x5c\x8c\x80\xaa\x2f\x62\x2f\xaf\xbc\x7b\xc1\xf0\x95\x12\x42\x1a\xe9\x6a\x0c\x1b\x89\xff\xc4\x30\x83\xfc\xbf\xf2\x17\x0b\x84\x15\x7c\xff\xde\xcd\x2f\xf7\xc1\xbf\xce\xc2\xd8\x27\xea\x70\x80\x12\xf2\xa4\x03\xf4\xcc\x99\x4f\xe5\x3d\x63\xc4\xa1\x69\x38\xd2\x86\x43\xeb\x27\x38\x47\x89\xd1\xe7\x0e\xbc\xf7\xb1\xeb\x03\x27\xbc\xbe\x1b\x74\x56\x78\x7d\xd3\x05\xc3\x55\xe3\xe1\x39\xca\xd3\x3d\x0d\xb4\xad\x63\xcf\xe9\xa5\x55\x78\x02\x17\xf9\xc6\x0a\xf8\x0e\x2c\x4a\x37\x85\xe7\x67\xd6\x0c\xab\x19\xb6\x6d\x44\xc4\xe9\x61\x10\xb6\xe1\xb7\x34\x58\x14\x0b\x9b\x5c\x30\xfd\xe7\xdf\x4e\x67\x42\xf8\x8e\xff\x28\x61\x86\x77\x3e\x6d\xdf\x53\x7e\x60\xeb\xae\x37\x2e\x8e\x6f\x7f\xae\x19\x37\x77\x61\x66\x39\xa6\x24\xf7\x37\x46\x66\x3c\xbe\x7e\xca\xe6\x21\x6b\x73\x47\x6f\xc3\x35\x07\x71\xd5\x1e\x5c\xe5\x9c\x2d\xbc\x74\x72\xb5\x12\x14\x51\x30\x60\x3d\xf0\x59\xb0\x2a\x19\x12\x6a\xe0\xf5\x1f\x4e\xb4\x7e\xb0\xd7\xd5\xb5\x1f\x12\x0e\x40\x42\x07\x6c\x56\xca\xaf\xef\x0c\xb0\xdc\x06\xe2\x0b\x18\xff\x05\xbc\x0a\xfd\xaf\xc1\x8c\x60\x01\x2a\xe1\x97\x2f\x60\xec\x17\x70\x07\x2a\x43\x3c\xdf\x7a\x9e\xa4\xcb\x5f\x7f\x71\xe9\x82\x5d\x73\x5a\x84\xef\x4e\xb7\x2a\xdf\xde\xf9\xf1\xda\xb9\x9a\x2f\x6a\xe8\x9c\xbb\xa8\xfc\xe8\x89\x55\xaf\x27\xae\x8e\x2e\x99\x51\xfa\xf4\x97\x53\x6f\x96\xdf\x2c\xbf\xf4\xb5\xe1\xa6\x12\xa6\x48\x0c\xbd\xb1\x73\x7e\xf9\x92\x32\x64\x9a\x90\xb3\x21\xb3\x75\xb9\x79\x51\xde\xe6\x35\x47\x57\x9e\x37\x9f\xcd\x83\xa0\x1c\x08\xb6\xfe\x51\x75\xb6\xec\xa2\xe3\xf0\x11\xe5\x9b\xfe\x1c\x3a\x65\x5a\xc5\xc8\x29\xab\x90\x9e\x86\xa3\xf3\x70\xc0\xf6\x29\x95\x63\x5a\x56\x5f\x4e\xbf\x64\xb8\x9c\xfb\xb1\xbd\x22\xbc\xc2\x01\x1b\x71\x00\x9c\x14\x20\x1e\x06\x44\x74\x18\xb7\xac\xde\xaa\x81\x7e\x9e\x19\xf4\x16\x1c\x93\x88\xa3\x37\xe3\xe8\xbc\x65\x2b\x92\xd6\xa5\x22\x33\x1d\x47\x1b\x70\x68\xcd\xe3\xae\x41\xad\xcf\x7e\xb0\xae\x4d\x38\x9e\xf7\xe6\x16\x18\x96\x00\x8f\xa7\xc3\x70\xb1\xcb\xbd\xe3\x54\xa3\xf2\xca\xf6\xcf\x2a\x3f\x2b\x83\x71\x35\x30\x31\x1f\x9e\x5e\x76\x3a\xe3\x9c\x7e\xff\x92\xda\x64\x4b\x42\xc1\x56\x25\xd4\xfe\x12\xc9\xfa\x73\x3d\x77\xc0\x1e\xfc\x91\x77\x76\x88\x77\x1a\xac\xa1\x37\x66\xcd\xce\x59\x61\x55\xa2\xa6\x30\xe9\xa7\x8f\x35\x52\x35\x7c\x03\x76\xfc\x5a\x9a\x44\xa2\xb9\x40\x10\xf8\x02\x73\x41\x9e\x95\xcf\xc6\x7e\xb3\x30\x0d\xed\xa3\x94\x18\x0f\x93\x7c\x9d\x24\xce\x02\x16\x6b\xe1\xbe\x83\x83\xb0\x62\xd0\xbe\xd3\x76\x44\x29\xaf\x37\x5a\x22\x28\x44\x1b\x9a\x78\x95\xd6\xc7\x0d\x58\xfb\x44\x91\x12\xdb\x2d\x03\x60\x25\x0c\xd4\x48\xe3\xb0\x1f\x4c\x20\xe1\x8d\x8f\xdf\x82\x69\xae\x9f\x95\x65\x36\x7b\x49\x09\x23\x94\x08\x30\x93\xc3\xcf\x41\xc4\x37\xd0\xe9\x1b\x40\xea\x1a\x5f\xb8\x5b\xc2\x75\x1c\x71\x56\xb4\xf0\x1f\x60\xb4\x42\x1a\xe4\x6d\x8b\x64\x7b\x72\x51\xa7\x25\x4e\x42\x2c\x1b\xe2\x71\x80\x91\xae\xb0\x18\xca\x72\x18\xd4\x6b\x43\x6f\x10\x3a\x4a\x8b\x91\xa8\x27\x73\x0c\x81\xef\x15\xb9\xc5\x39\xe5\x46\x00\x9f\x3a\x3c\xdf\x11\xf8\x5e\x11\x4b\x89\xe5\xa5\x0e\x07\x07\xbf\x4a\xea\x72\x67\x71\xa5\xa5\x22\x22\xac\x27\x17\xc5\xbf\xda\xf3\xee\xa0\xed\x15\x45\x95\x79\x4e\x04\x49\x1d\xee\xc8\x37\x95\x9a\x64\x2a\x53\x5e\x41\x7e\x3e\x87\xbf\xfa\xd4\x79\xc6\xa2\x1c\x7b\x6e\x44\xae\xdd\x65\xae\x64\x40\xaf\xc5\x48\xa2\x8d\xd5\x86\xde\x00\x3d\x59\xe9\x2a\x77\xd9\xf9\x30\xf8\x81\xed\xd2\x12\x27\x43\x32\x59\x8f\x7e\x2e\xab\xc5\x48\xd0\x13\x95\x79\x2e\x83\x9d\xcb\xb5\xe7\x14\x19\x4d\x3e\x35\xfe\x11\x9e\x9f\x5f\x60\x32\x69\x40\xc9\xf6\x46\x29\x48\x6a\xfc\xd5\x99\x57\x59\x54\x61\x8f\xa8\xb0\x97\xb9\x2a\x35\x20\xdf\x0e\x39\x8e\x92\x5b\x13\xe4\xd6\xb4\xc4\x49\xcf\xbf\x68\x50\xb2\x62\x41\x79\xbe\x83\xf3\xa9\xe1\x57\x63\x79\x4e\x71\xae\x25\x22\xd7\x62\x36\xe4\x68\x50\x66\x85\x7c\x5e\x66\x05\xf5\x44\x4e\xb9\xc1\x65\xe1\x2a\x2c\x95\xc5\x4e\x51\x52\xc3\x1f\xe1\x0e\x47\xa9\x28\x06\x52\x1c\xef\xa1\xb4\x8a\xa4\x10\xad\x22\x09\x3e\xa1\x67\xd7\xbd\xf1\xe6\xb2\x0b\xca\x65\x17\xf4\x57\xaf\x6b\x3e\x6d\xba\x74\xe8\x03\xae\x65\xcf\xfe\x03\x27\x0e\xc7\xbd\x19\xdb\x11\xdb\xa2\x3c\x34\x73\x5a\xd3\x44\x66\xf1\x9c\xdc\xe4\x19\xbc\x7e\xc6\x12\x43\x02\xa3\x5f\xe6\x6c\x78\x99\x6f\x78\x69\x8e\x73\x31\x83\xe4\x13\x4b\x46\x4c\xe1\xa7\x0c\x5f\x87\x8f\xe2\x13\x1a\x7c\xe6\x38\x4e\xfc\x09\xa7\x70\x38\xe5\xe7\x9f\xa3\x7e\x65\x76\x1f\x76\x35\xbf\xcb\x37\x9d\x7a\xdb\x75\x90\xe9\x7c\xc7\x98\x7c\x96\x4f\x39\x77\xd4\xd0\xc1\xdc\xf8\xfa\x3c\xfc\xeb\x6b\xfe\xcc\x37\x07\xbf\xda\xf6\xb9\xd2\xf7\xb0\x36\xd4\x49\x97\x59\x1d\x65\x1a\xab\xa3\xa8\xac\x48\x44\x65\xe2\xf8\xc5\x8b\xa6\x2e\x9a\x9a\x34\xb6\x68\xe8\x5b\xa5\x1d\x8e\xe6\xb2\xbd\x15\x7b\x5b\xf6\xee\x7d\xf3\xcd\x5d\x47\x1b\x8e\x2b\xeb\x8f\x39\x8f\x76\x6a\xc2\x22\xf3\x53\xe0\x16\xe5\x99\x2c\xb5\xd2\x82\x7f\xb2\xef\x14\xe9\x99\xfc\x84\x42\xab\xd8\x12\xea\x9f\xfc\x84\xc2\xf7\x81\x67\x32\xe9\xdd\x30\x9e\xee\xe1\xfd\xc3\x08\x2f\x8f\x8f\x29\x0e\xb2\xa1\x3d\xf2\xd1\x3f\xda\xcb\x93\x61\x78\xdf\x4b\xc1\xc4\x60\x01\x56\x41\x32\xac\x02\x0e\x56\x83\x1e\x56\x85\x48\x46\xef\x7e\x3a\x25\xa3\xae\xb1\xb1\xb6\xae\xb1\xa9\x36\x3d\x25\x25\x23\x3d\x99\x97\x9e\xed\x97\xdc\x7b\xae\xa9\xb1\xf7\x5c\x0a\xef\x3f\x89\xaf\xd1\x73\x97\x2d\x9b\xc7\xfb\x5e\x24\xe7\x1e\x5d\x76\xfa\xf4\x91\xa3\xa7\x39\xe9\x45\xf2\xbd\x65\x47\xe7\x71\xde\x23\x69\x74\xcf\x70\xff\x93\xc4\xac\x63\x8b\xdf\xe7\x3e\x21\x6c\x98\xaa\x98\x7b\x74\xd9\x7b\xa7\x8f\x1e\x3d\xcd\x41\x2a\x70\x98\xda\x4b\xd4\x5b\xbe\x4a\x9e\x3b\x76\xec\x7d\x1e\xb3\xbc\xef\xd1\x97\xe1\x5f\xa5\x65\x45\xa2\xb9\x34\xc2\x5c\x62\x2a\x2a\x30\x4f\xc5\xf0\xf0\xd6\x59\xd3\xab\xa7\x32\x53\xa7\x67\x25\xce\xe2\xa7\x42\x78\x41\x99\xa9\xd8\x5c\x18\x61\x2e\x28\x32\x95\x9a\x2f\xe3\xbf\xc2\xb1\xff\xd4\x91\xc8\xe1\x18\x8d\x77\x34\x01\x63\x46\x02\x87\x91\x57\x38\x29\xc9\x97\x45\x9f\x5e\x76\x64\xee\xbc\x65\xcb\xe7\x72\xbd\x5c\xf6\x32\x10\x86\xe2\xb1\x15\x9d\x6f\x35\xa6\x76\xc3\xd7\xb5\xd2\xf1\x8b\x87\x1b\x80\x6c\x28\x6e\xc8\xae\x36\xb7\xbd\xdd\x98\x55\xd7\xb7\xac\x2d\xb5\x5e\x68\x87\x41\x3f\xfc\xf4\xad\xf8\x76\xfc\x2e\x67\x67\xdc\xfe\xf3\x5f\xb7\x9e\xe8\xa8\xd9\x73\x66\x6f\x13\xcc\x80\xf1\xa6\x6a\x78\xac\x51\x55\xff\xea\x07\x3f\x79\x46\x78\x3d\x74\x7c\x71\x91\xde\x69\x53\xba\xcc\x75\xc5\x0d\xbc\x40\x7e\x93\x4d\x3b\x4b\x8d\x0d\x09\x39\x4a\x81\xac\xb3\xdb\xd2\x9c\x25\x4a\xfc\xcd\xf7\x3c\x5d\x5e\x68\x31\x59\x32\xf2\xb3\xb3\x73\x2d\x36\xa5\x40\x66\x17\xd7\x39\xcb\x2a\xc5\xaa\xa2\x3a\xb1\x50\xe9\xe9\x46\xa4\x57\xef\xc6\x3e\x8e\xc2\x89\xca\xe4\xcc\xa2\xcc\x1c\x5e\x35\x34\x28\x68\xd4\xa2\xd9\x47\x91\xb2\x44\x2b\x55\xfd\x82\xde\x0f\x2a\x98\x97\xa9\xcb\x9b\xb7\xc9\x56\xd2\x28\xee\x52\xaa\x1e\x0a\x7a\x34\x48\x6c\xad\xdc\x6d\x6b\xb7\xb5\x15\xd6\xe5\x95\x9a\xed\x06\x53\x66\x52\x9c\xee\x85\xad\x2f\xe7\x4d\x37\x45\x97\xc5\xed\x37\x54\xa6\x66\x14\x15\x16\x5a\xaa\x4c\xae\x54\xa5\x2a\x68\x14\x11\x54\xb3\xb9\x7a\xc5\xba\x54\xdb\x9d\x78\xc7\x86\x0f\x94\x02\xa9\xfa\x87\x72\xc0\xa5\xae\x32\xf1\xa3\x8d\x3b\xb7\x6e\x43\xee\x6e\xec\xc1\x8c\x3a\xbd\x68\x6a\x4c\x7e\x3b\xeb\x52\xeb\x31\xbb\x58\x5a\x50\x90\xae\x0c\xf0\x91\x3c\xe0\xa3\xb1\xd5\x87\x5d\x6d\xc6\x53\x8e\xc3\x4a\x55\xd0\x94\x17\x83\x9c\x9f\x5e\x82\xc7\x77\x95\x2f\xbd\x79\xf7\x23\xeb\x67\xd6\xe3\x47\x30\xe4\xc8\xd6\xe3\x49\xef\x7e\xfa\xef\xfd\x4d\xae\x1d\x15\x45\x4e\xb9\xc3\xd0\x29\xa6\x23\x4f\x0e\x19\x5f\xb8\xce\x9a\x2d\x66\x55\xad\x38\x74\x2c\xe6\x42\xc5\x4e\xbb\xd3\xbe\xab\xb2\xbd\x62\x4f\xfd\x1e\xa7\x52\x55\xa8\x0c\xde\xbd\xcd\x51\x54\x6f\xb4\x5b\x4a\xf2\x04\xb3\x21\x2b\x69\x5a\x56\xb2\x39\xc1\xb4\x31\x6f\x55\x71\x74\x71\x75\xdb\xb2\xed\x39\x65\xa5\x0d\xb5\x75\x4e\x71\x9b\xa3\xb2\x51\x59\x5c\x52\x53\x5b\x29\x96\x96\x08\xff\x5e\x6b\x93\x47\x20\xf2\xd1\x38\x9b\x31\xc9\x96\xa4\x4c\x2a\xae\x4a\x16\x99\x3a\x5b\x46\xaa\xb1\x30\xcb\x92\xfa\x61\x49\x5b\x71\x7b\xcd\x7b\x07\xad\x7b\xad\xdb\x97\x5b\x9f\x53\xe6\x9c\xa9\x6f\x48\xe1\xaa\xb2\x67\xc2\x48\xe0\x5c\x7b\xcd\x7b\x72\xab\xc6\x5b\xf2\xaa\xe6\x24\x9b\x13\x4d\x19\xce\x9a\xed\xce\xed\xc6\x0b\xba\x82\x79\x85\xe5\x43\xab\x8b\xaa\x8b\xf6\x27\xb6\x5a\x94\xdf\x64\x44\x2f\x72\xcd\x52\xaa\x1e\x0d\xb2\x07\x55\x4e\x3f\x52\xd7\x89\xaf\x96\x1b\x3a\x8c\xbb\x31\x72\x27\x3e\xb6\xfa\xa9\x8f\xcb\x6b\x6c\x2d\x76\xe7\xde\xed\xdf\xad\x81\x90\x35\x57\xf5\x87\x93\x77\xe6\x3a\x8f\x26\x9e\x8d\xaa\x8a\x56\xd6\x8d\xab\x88\x49\x1c\xad\xac\x31\x1f\xc8\x48\xd7\xf8\x95\x9e\x8f\xe8\xc2\x22\xc1\xca\xa9\xa6\x84\x16\x06\x99\xac\xe5\x15\xc5\xbc\x58\x6c\x71\x14\x30\x02\x99\x5f\x54\x54\x57\x51\xe8\x28\xaa\x48\x2f\xd8\xa2\x94\xc6\xe3\x22\xba\x24\xdb\x94\x99\x5b\x9c\x5a\xba\xf4\xed\xc6\x66\xa5\x4a\x19\x1c\x14\x24\x90\x2a\xe5\x43\x41\x41\x65\x65\xa5\xa9\xf5\xb9\x35\xc6\xaa\xb2\xd2\x34\x25\xbe\x0c\x71\x74\xa1\xb1\xa0\x58\x53\x54\x9d\x57\x95\x57\xac\x14\xc8\xfc\xe2\x02\x47\xa5\xcd\x6e\x6b\xcc\xb5\x6e\x55\x9e\x82\x6c\xda\x62\xd0\x97\x58\x8a\xd2\xcc\xf9\xe9\xa6\x32\x63\x79\xb5\x58\xea\x52\x0a\x64\x89\xd3\xd8\xd8\x50\xac\x2c\x2f\x37\xe7\x95\xf3\xa2\xb9\x32\xdf\x6a\x51\x4a\x1f\x68\xbd\xef\xd1\x9b\xeb\xa6\xd7\xe7\x43\xbf\x24\x7d\x09\x3e\x72\x65\xeb\x17\x89\xc7\x97\xe3\xb0\x85\x4a\xd5\xa3\xc1\x41\x41\xc3\xe2\x32\x8c\xcf\xbd\x3a\x69\x06\x52\xdb\x1b\x81\x73\xb9\x1d\x67\xd3\x3f\x34\xb5\x15\x1c\x74\xb4\xba\x4e\xed\xac\xd9\xb9\xb0\x6e\x83\x63\x5d\x57\xa1\x52\x35\x3b\x34\x28\xe8\x97\x82\x86\x3b\xed\xf6\xc6\x92\xa6\xf7\x33\xff\x93\x7e\x6f\x26\x4c\x98\xf4\x95\x52\x65\x08\x0a\x0a\x9d\xf1\xf1\xea\xf7\x93\xbe\x49\xfe\x24\xf7\x72\xe9\x25\xc7\xcd\xc5\xd0\xe7\xb9\x33\x8b\xf7\x4e\x6e\x78\xd9\xaa\x5c\xbb\x3e\x3f\x6b\x33\x8f\xca\xd7\x32\x47\x17\x0f\x2a\x1e\x51\x82\x0f\xb9\x06\xe6\x2c\x99\x3e\x6a\xe5\xbc\x39\x73\x13\x30\x64\xdd\xf0\xd4\x85\x1b\xb6\x16\xce\xb0\xa6\xd9\x96\xd4\x56\x7d\x74\xe2\x06\x86\x03\x8d\xcb\x95\x02\xd9\xb2\xf6\x1b\x1c\x8f\x23\x53\x16\x9a\x27\xec\x9d\xd4\x30\xad\xf6\x45\xd7\x1a\xd7\x96\xff\x8b\xb0\xff\x80\x6e\xe2\x0a\xfe\x86\x61\x1b\x7b\xa5\x45\x21\x0e\x20\x2d\x58\xbb\xd2\xae\x09\x01\x42\x09\xd5\x94\xd0\x21\x21\xf4\xd0\x4c\x33\x1d\x8c\x6d\xdc\x31\xee\x4d\x92\x65\xcb\x92\x56\x92\x65\x59\xee\x1d\x1b\x17\x6c\x6c\x8a\xe9\x25\x74\x12\x4a\x68\x0e\x21\x81\x84\x96\x46\x48\xa7\xcc\x4a\x23\xf3\xff\x8e\x4c\xf2\x3c\xdf\xf3\xbc\xe7\xbc\xef\x39\xbb\x3b\x77\xe7\xce\xcc\xbd\x77\xcf\xd5\x6a\x67\x77\xee\xfc\x6c\x1a\xbb\xa1\x20\xbb\xbe\x6d\x9f\xa9\xd9\xdc\x9c\x51\xae\xde\xa5\xde\xa5\xaf\xb2\x17\x92\x79\xf6\x12\xcb\x4e\x43\xa3\xbe\x35\xaf\xb2\x68\x77\x65\xe9\xfe\xf4\xe3\xe4\xda\xd4\x94\xad\xf1\x6c\x48\x62\x40\xf9\xf6\xb8\xc8\xed\xed\x9f\xe8\x57\xe9\xb7\x6e\xd9\x50\x11\xf4\x66\x5a\x56\x04\x3d\xd4\x3d\x49\x86\xde\xdb\x3b\xd6\x5d\x30\x3c\xd4\x17\x3f\x04\x5f\xcb\x7e\xd3\x3e\xf3\x3e\x13\x79\xe8\x10\x6f\x3c\xcc\x3d\xd1\x47\xae\x3b\x1f\x75\x22\xf6\x71\x41\x75\x55\x43\xfd\xd7\x57\xce\x37\x92\x52\x0f\xb5\xc7\xf4\x8e\xbd\x30\xe5\x32\xbe\xf3\x75\xd7\x33\x97\xb7\xf0\xe4\xef\x54\x10\x09\x15\xe0\xdd\x9b\x07\x6f\x05\xe1\x07\xde\xd2\xfb\x4e\x7b\x1b\x15\x36\x79\x6c\xd2\x48\x06\xc7\xe0\x80\xf3\xbf\xa0\x88\xe3\xed\xd9\x79\x3a\x16\x7a\x43\xbd\x20\x07\x05\x4f\x9b\xcc\x26\x13\xf3\x33\x66\xed\xc3\xb5\x05\x4b\x48\x5c\x28\x3c\xa7\xb4\xfa\x4c\x43\xa6\x9e\xe4\xf1\x15\x8a\x70\x36\xde\x66\x81\x54\xf6\x07\x72\x3e\x0c\x87\xc9\xb4\xf4\x7d\x1b\x6f\x33\xd9\xd8\x42\xb8\xab\xfd\x0b\x7e\xe2\x2a\x83\x2b\x82\xcb\x82\x49\x3f\x08\xa5\xa4\xf7\x27\xe0\x75\xac\xb7\xa4\x30\x87\x60\x03\x28\x60\x0a\xcc\x7f\x64\x57\xc1\xdb\x38\x01\x44\xb8\x9e\x74\x4c\xc7\xdb\x54\x24\xce\xef\x8f\xa3\x71\xd0\xfb\x59\xfb\x43\x61\xf9\x58\xd0\x40\x68\x0b\xcc\x5f\x52\x92\x43\x76\x1e\x75\x24\x53\x46\xa3\x91\xe7\x4c\x5d\x20\xe8\xc2\x63\x1c\x40\x19\xf4\xc3\xf1\x5d\xe4\x47\xa0\x37\x6c\xc6\x9e\x30\x5e\x53\x4c\x16\x9d\xfc\xcc\x76\x9a\x91\xbe\x07\x13\x61\xd8\xc2\x01\x20\xe6\x60\x87\x2b\x99\xd2\x9a\x70\xc7\x09\x4c\x88\x22\xa5\xab\x74\x85\x39\x45\xba\xc2\xf4\xe6\xb4\xe6\xb4\xdd\x50\xf4\xf2\x05\x0c\x33\x9b\x7f\x46\xef\xb3\xd8\xdf\x8c\x23\x48\xf0\xce\xa2\xfc\x24\xf3\x21\xcb\x39\x05\x52\x7b\x83\x5e\xa9\x70\x4e\x87\xab\x8e\x7d\xf0\x99\xf4\xa1\xc2\xbb\x40\x88\xa4\x70\x03\xae\xfa\x00\x17\x63\x3c\x2e\xfe\x13\xde\x39\xbb\xfb\xe4\x4d\xf6\x55\x01\x0e\x87\x85\xcc\x93\xf3\xfb\x4f\x5d\x09\x28\x18\x5d\xc3\xe1\xc0\x36\x02\x07\xb6\xa2\xf7\x25\x98\x4c\xc3\x06\x58\x77\x07\x66\xc0\x12\x58\x36\x1d\xc5\x4b\x82\x56\xcd\x63\x87\xe8\x41\x8c\xa3\x98\x31\xcb\x76\xac\x58\x72\x3e\xe3\xeb\x64\xee\xf9\x0e\x02\xde\x0d\x87\x29\x8b\x70\x26\x0d\xff\x83\x91\xd4\x93\xc8\xfb\xab\xaf\xb2\x05\xc7\xf3\x4e\x9d\xa2\x05\x39\x5e\x87\xeb\x2e\xf9\xaa\x55\xd9\x9a\x35\xec\xc9\x79\x13\x9b\xc6\x30\x59\xca\x31\x4d\x13\x4f\xce\xe3\x34\x6b\xb2\x57\xad\xa2\x5d\x72\xb8\x8e\xd7\x05\xf9\xa9\x53\x79\x05\xc7\xd9\xd5\x57\xef\x47\x3e\x61\xa4\x77\x1f\x4b\x5c\x2a\x61\x30\x2c\x84\x63\x5d\x71\x6a\xf3\x3d\x0f\xc3\x7c\x67\x9a\xdd\xcb\x99\xe6\x7c\x4c\x25\xe4\xc4\xc4\xef\x60\xf8\x58\x1e\xbf\x0a\x8a\x8e\x09\x62\x37\x89\x83\x1a\xa2\xf7\x43\x65\x03\xcf\xb3\xf5\xf5\x91\x51\xd9\x5c\x76\x54\x34\x0e\xd4\xa7\x92\xa9\xfa\xa4\xe8\x30\x86\x8f\xe1\x31\x74\x83\x2a\x3b\x34\x92\xe5\xa3\x82\xb1\x14\xaf\xb3\x7a\xbd\xde\x64\xa1\x9d\x8f\xc4\x75\x35\x8d\xcd\x8e\x19\xf5\x6e\xcd\xda\xd8\xf0\x2c\x0e\x96\x36\x50\xc0\x36\x84\x7e\x85\x7d\x98\xce\x3c\x7c\x87\xe7\x39\xf4\x09\x19\xb1\x84\xe3\xf9\x25\x0a\xe7\x11\x7a\x6e\xeb\x8e\x2a\x2d\x5b\xa5\x3d\x93\xd5\xb2\x8f\x14\xc6\x0b\x29\xb6\x7c\x9e\x2e\x2c\x30\x19\x0b\xab\x61\x1c\xff\x84\x01\x51\xc5\x77\xc7\x8a\xb8\x82\x76\xf0\x12\xae\xed\x85\x39\x24\xef\x1d\x8c\x73\xd0\xcb\x75\x4d\xb3\xb9\x6b\x3a\xb7\x3b\x3b\xe0\x27\xa5\xd0\x0e\x32\xa1\x1d\xfc\x65\x13\x1c\x01\x10\x40\x4d\x94\xb8\xe2\x86\x29\x9d\xf6\x35\x4a\x21\x6e\xa9\xe4\xb5\x5d\xec\xf0\x17\x64\xff\x72\x1d\xb2\x37\xdc\x4e\x99\x18\xfc\x1d\xf6\x7f\x94\x2e\x95\xa3\x0b\x6c\xda\xa0\xf4\x32\x28\x85\x38\xaa\x32\xbb\x52\x53\xca\xa2\x5d\x90\x11\x17\xb7\x2c\x3c\x3e\x83\x71\xc9\x44\x33\x16\xae\x59\xbc\x85\x43\xbb\x4b\x46\x68\xd2\xb2\x93\x92\xe8\x95\x92\xe6\xa6\xb2\xfa\x0a\xf7\xa3\xc3\x53\xe2\x08\xfa\x8a\x90\x77\x8d\x20\xb2\x35\x7a\xb5\xaa\x0b\x6d\x1c\xeb\x44\x0b\x4f\xad\xfe\x9c\x05\x7f\x11\xd4\x48\x38\xa8\x83\x00\xf1\x74\x65\x91\xbe\x30\xbb\x80\x43\x5e\x18\x41\x80\xef\x11\x31\x24\xe2\x53\x22\xa6\xa2\x29\xb5\x99\x59\x28\x71\xf9\x3b\xda\xd3\x24\x3e\x9d\xff\xf6\x06\x02\xae\x40\x5c\xd7\x16\xe0\xe5\xb4\x3b\x3a\x60\x9f\xa4\x53\x26\xda\x2d\xe1\x5c\xfe\xc2\xdb\x4a\x78\x71\xe5\xf5\x7b\xf0\xb1\x52\x08\xba\xe2\x0a\x82\x8f\x95\xce\xf7\xae\xe0\x0b\xe1\x6d\x25\xb6\x3b\x5e\xa4\x75\xf9\xaa\x25\x90\x41\xe1\xdf\x42\x64\xcc\xde\x70\x78\xeb\xaf\x2f\xe5\x8f\xcf\x7d\xb7\xf1\xd0\x6a\x32\xb9\xac\x3e\xfe\x33\xe6\xb3\x86\x9a\x8a\x32\xee\xd0\xc9\xef\x0e\x3d\x5a\xf6\xf7\x9c\x70\x7c\x2b\x26\x98\x14\x46\xcd\xe9\x5a\x4a\x69\x57\x88\xfe\x07\x6f\xc3\xed\xde\x90\xf4\xb3\x4e\xf2\xb3\x74\xaf\x82\x38\xed\x90\x51\x78\x0b\x0b\xb1\x10\x6f\xb9\x29\x14\xc2\x2d\xb8\x05\xff\x8b\xba\xf9\x2c\x34\x62\x13\x65\x29\x30\x16\x66\xe7\xe3\x1c\x30\xf9\xc2\x1c\x30\xe5\xd9\x4d\x05\xfa\x02\xb9\xbe\x40\x6b\xcb\xb4\xe0\x91\x67\xbe\x70\x51\x5c\xa0\x2b\xd0\xe6\xb1\x99\x79\x1a\xb3\x26\x07\x8f\x7c\xe0\xeb\x16\x56\x95\x45\xf3\xaa\x54\x39\xce\x41\x13\x1e\x79\xaa\xc9\xd5\x18\x32\xb3\xe5\xda\x6c\x9d\x46\x43\xe3\x45\x31\x1e\x19\x9a\xa9\xd7\x66\xe9\x35\x72\xbd\xc6\xa4\xc9\xcb\x84\x39\x68\xf2\x75\xcb\x66\x6b\x8d\x6a\x8b\x46\x6e\xd1\xe4\x67\xd9\xf5\x70\x64\xa8\x2f\x5e\x14\x6b\xac\x9a\xfc\x6c\xd6\x9e\x5d\x60\x28\xc8\x85\x23\x4f\x7d\xdd\xc2\x84\x36\xaf\x40\x57\xc0\x14\x14\x58\xf3\xf3\x38\x77\xbf\xe0\xc8\x07\x05\x39\x05\x66\x7b\x9e\x3c\x3f\xcf\x5a\x50\x40\xc3\x45\x31\x1c\x79\x46\x48\x63\xec\x96\x7c\x9b\xa5\x80\xf4\x89\x54\x42\x5c\x57\xe2\x19\x19\xbc\xe8\x42\xf9\xfc\x03\xd2\x29\x1c\x80\x3d\x70\xee\x18\x5c\xce\xe0\x4b\x3c\x00\x6b\x94\x70\x08\x96\x82\x1e\x2a\xbf\xe5\xe6\xf4\x0b\xc6\x9e\x28\xa5\x5d\x62\x38\x83\x67\x04\xf1\xde\xbd\x96\xbc\x36\x16\x36\x3c\xa4\x0a\x6b\x75\x8d\x49\x95\x49\x95\xd1\xd6\x58\x35\xb9\x6d\xe6\xb4\x94\xc9\x0c\x9e\x46\x3d\xe8\xe1\x34\x0c\xbf\x0c\xef\x82\xe8\x39\x57\x59\x61\x6b\x54\xd7\x69\x6a\xe3\xca\xa2\x8d\xa4\x6b\x74\x1a\x7e\x83\x3f\xba\xc6\xd0\x70\x5b\x09\xa7\xa0\x1e\x3e\x82\x5a\xe8\xc5\xfa\x54\x3b\xec\x10\xd0\xf5\x92\xcb\xd9\xe1\x08\xe8\xfa\x84\x64\x17\x85\x46\x35\xb6\xfa\x2b\xc1\x5e\x2a\x11\x3a\x20\x20\x44\xa2\x70\xaa\xc7\x4a\x5e\x07\x8c\x50\xc6\x29\x47\x4a\xae\x28\x08\xb5\x9b\xe5\x61\x91\x2c\x96\x6c\x93\xf8\x55\x27\x08\xf6\x6f\x94\xd0\xe1\xd9\xac\x10\x4d\xf7\x52\x88\x36\x0a\x1d\x21\x12\x8c\x13\x81\x8c\xff\xf3\x1a\x0d\x33\x60\x06\x8c\x56\xca\x35\x4a\x9c\x81\x33\x7c\x3b\x1f\x8a\x70\x06\xcc\xd0\x28\xe5\x7f\x29\xc1\xcd\x98\xcb\x0f\x42\x19\x8d\x71\x22\x8d\x04\xe2\x44\x48\xee\x1c\xdd\xfa\x09\x8b\xeb\x31\x31\x2e\xc6\xbc\x65\xd7\x0e\xb9\xba\xb8\x54\x57\xca\x54\x94\xdb\x4a\x8a\x39\x98\x0f\x5b\x08\x1e\x7c\xd1\x17\xe6\xb2\x90\x23\x79\x2d\x13\xc3\x54\xe8\x0b\x3d\x78\x0e\x02\x71\x35\x01\xac\x04\x46\x2b\x31\x08\xb6\xfa\x1e\xb8\x55\xff\x14\x7a\xd1\x10\x37\x52\xe2\x8a\x13\x3a\x28\x98\x25\xc8\x24\x38\x0b\x67\x61\x7f\xa1\x9b\x92\x75\xc8\x44\x3e\x30\xb8\x26\xc1\xc9\x37\x6a\x6d\xbd\x15\xe2\xe8\x52\xe9\x0d\x85\x38\xdd\x69\xa2\xf8\xf4\x03\xfe\x6a\x16\xdb\x0d\x44\xbc\x25\x35\x93\xa7\xf9\x94\x4c\x6d\x3c\xbb\x16\xdf\x5e\xd4\x9f\xa7\x51\x86\x51\x2b\x55\x09\x25\x64\xe0\xee\xe2\x5f\xaf\xd3\x10\xda\xfc\x64\xd8\x4e\x36\xc2\x16\x67\x9d\x68\x7a\xcf\xe4\x6f\x0c\xdc\x11\x96\x1a\x1b\x52\x6a\xa8\xd4\x1f\xca\xdc\x19\x41\xf2\x75\x9b\x73\x47\xb1\x85\x68\x5e\x15\xc1\xd3\x41\x09\xb3\x5b\x07\xc1\x66\x92\x5f\xf2\xf7\x7a\xf0\x66\xb5\xd5\xa9\x85\x3c\xcd\x27\x97\x6c\xcf\x65\xa5\x7b\xb1\xde\x40\x6c\x4a\x4b\xe2\xf9\xb4\xd4\x92\x30\x0e\xc2\x5c\x3c\xe8\xd1\xca\xd3\x3c\xec\xc0\x74\xc8\x2b\x63\x79\x10\x8b\x5b\x2d\x15\x95\x3c\xcd\x97\x55\x18\x5b\x58\x03\x0c\xbf\xbd\x93\xa7\x6f\xd6\xfc\x88\xd3\x9e\xcd\x25\xf9\x8e\xd5\x67\x0b\x59\xb0\xe7\x12\xc0\x98\xe6\x83\x37\x4f\xeb\xec\xe1\x37\x70\x38\xf4\x27\xa5\x37\xd0\x1f\x06\x57\xef\x80\x15\x50\x08\x12\x18\x75\xec\x59\x5a\x3b\xe9\x53\x3d\xf6\xef\x0e\xe8\x06\xb3\x61\x0b\x0c\xe8\xca\xc8\x36\x03\x1a\x41\xd9\x5b\xf0\xfb\x0d\x56\x15\x7e\x05\x4b\x85\x60\x90\xbc\x04\x56\x0a\x0f\x1d\xe3\xc1\x4a\x45\xad\x5b\x98\xb8\xae\x7a\x7d\x75\xfa\xe9\xc6\x23\x0d\x87\x2f\x55\x1d\x49\x3a\x96\x58\xba\x22\x7a\x1d\xf9\x14\xde\xa6\x34\xc9\x71\xda\x64\x5b\x72\xbe\xae\xb2\xa0\xa2\xa0\xbc\x26\xbf\x22\xbb\x22\x2b\x2f\x51\x93\x4c\xc2\x4c\x3f\xea\x12\xd0\x33\x80\xc5\x41\xfb\xb0\x5f\x1b\x8e\x99\xb5\x10\x7b\x2e\x44\xe9\x25\xec\x07\xfd\xd7\x91\x52\x52\x0d\xef\xaf\x81\x99\x5f\x5d\x02\x05\x09\x57\xc1\x9f\xaa\xc4\x95\x18\x87\x73\xf1\x64\x24\x29\xb5\x4e\xc7\x93\x51\x68\x07\x3a\x09\x56\x26\xc1\x4a\x88\x83\xb9\x70\xb2\x09\x4e\x36\x82\x1d\xe9\x4a\x5c\x49\xc2\xe7\x39\x14\x28\x50\x74\xf7\xbd\x66\x36\x36\x3f\xc5\x5a\xdc\xd2\x70\xdb\xf2\x45\xc4\xe1\x25\xdf\xe3\x98\x1c\x9c\x37\x95\x34\x2d\xdd\x5e\x72\x94\x6d\xf8\x31\xe7\xeb\x0d\x87\xde\xff\x03\xcb\x06\x60\x02\x26\x90\x52\x78\x88\x53\x70\xca\x60\x9c\x8d\x23\x68\x3c\x29\xf4\xc4\x39\x02\x29\xa4\xc2\x5d\x68\x83\x78\x76\x86\xc3\x9b\x5a\x7a\x65\x5c\xed\x94\x14\x52\x4a\x4e\x0f\xcf\x4a\x8c\xb0\x85\xe7\x85\x37\x27\x36\xdb\xdc\x8a\xbc\x78\x5f\x7e\xbb\xaa\x21\xa2\x21\x22\x7f\x93\x6a\x2b\xc9\x8b\x35\x11\xe5\x61\xbb\x35\xbb\x35\x2d\xe5\x05\xbb\xeb\xbe\x4e\x7d\xbc\xf4\x32\xe9\xf6\x9c\x28\x94\x40\x5f\x9c\x71\x02\xc7\x6e\x23\x79\x71\xb0\x76\x47\x48\x7e\x70\x7e\xf0\xde\x1d\x7b\xf3\x41\x54\x0b\xef\x84\x3e\x18\xfe\x60\x44\x0d\x4a\x43\xd0\x8b\xe4\xc5\xea\x90\xaa\xad\x6d\xaa\x36\xd5\xbe\xaa\xa2\x36\x12\x48\xe5\x49\x18\x19\x01\x9f\xa0\x04\xfa\xb8\xff\x8b\x14\xc4\x3f\x3f\x48\x14\xde\x91\xdb\x28\x9c\x05\xde\xd8\x1f\xa6\xac\x81\xc0\xb5\x18\x88\xfd\x71\x0a\xce\x42\x6f\x72\x11\x78\x42\xaf\x6d\x20\x67\x80\x86\x5e\x7b\x2e\x81\x27\xe7\xd2\x2a\x08\x3b\x85\xaf\x3f\xc5\x46\xbc\xee\xea\x49\xe3\x92\xeb\x38\x1d\x08\xa4\x59\xa8\x86\x3e\xb0\x04\x8e\xc1\xaf\xb4\xb3\x0f\xd6\x52\x42\x4f\x6c\x84\xeb\xf8\xfa\x73\xd6\x95\x2c\xc6\x5f\x61\x09\x1e\x83\x6a\xec\xc3\x02\x01\xf4\x75\x98\x0e\x4b\xe8\xae\x84\x2f\x3f\x28\xbc\x6b\x0e\xc4\xd4\xf5\x76\xec\x7c\x28\xdd\x2b\xbd\xa1\x20\x52\x84\x59\x14\x7e\x03\xa5\x78\x0e\x9f\xf0\x74\xf3\x93\xba\x5f\xcb\xfe\x24\x79\x81\x1f\x58\x2a\xa4\xb3\xf8\x08\xc4\xf8\x21\x7e\xc3\xd3\xe6\x56\xfe\xbe\x21\x8f\xe4\x21\x55\x98\xe3\x5a\x03\xa3\x58\x34\xe3\x63\xc1\x17\x6b\x78\x5a\x9f\x8d\x7d\xb3\x3f\x65\xa5\x7b\x79\xf4\x11\xd6\xb8\x66\xe3\x47\x6c\x9b\x6b\x9e\x60\xbb\xc7\xd3\x29\xef\x6e\x1f\x12\x32\x7a\x16\xf4\xc2\xf9\xb0\xc9\xf5\x2e\x4e\x80\x51\xae\x81\xd0\x76\x18\x86\x5c\x40\x1a\x8d\xb8\x09\x47\xa0\xca\x48\xc6\x26\x26\xc5\xc6\x56\x25\xd6\x71\xd0\x6a\x02\x3d\x04\xc0\xfb\xf0\x19\xc9\x0b\x09\x78\x16\xd6\x09\x39\xac\x8f\x4b\x55\x0c\x3b\x6f\x41\x7e\x87\x7b\xdb\xe9\x59\xad\xf0\xbe\xe3\xa5\xf0\x7e\x06\x6d\x94\x02\x87\xcc\x15\x21\xf1\x64\x24\x78\xb0\xc2\x2e\xac\x11\x41\x31\xd4\x10\xe7\x45\xe0\xf1\xe4\x27\x20\x38\x41\x21\xf4\x90\x08\xf7\xdc\x07\xce\x1b\xbc\xc7\xfc\x84\x1e\x6c\xe7\x63\x11\x7a\x8c\x19\x89\xde\xdc\x1c\x85\xf7\x1d\xb1\x0f\x8c\x95\x38\x64\x54\xa3\x12\x5f\x88\xc7\x4b\xe0\xc5\x7f\x29\xaa\xc0\xbf\x4f\x7f\x09\x8c\x95\xc0\x6d\x09\xbe\x80\x00\x51\x79\x5a\x29\xd4\x2a\x33\xb5\xb4\xd6\x92\xf9\x26\xdf\xd5\xed\x7f\xf3\x5d\x8d\x93\x40\x00\xbc\x10\x4f\x95\x80\xff\xb3\xae\x10\x4b\xa7\xdd\x19\x40\x8d\x51\x66\x64\xe4\x68\xd5\xac\x2b\x00\x3b\x88\x14\x95\x26\x31\x91\x4e\x28\x48\x2a\x57\xb1\x82\x9b\xa1\x2d\x2c\xce\x29\x66\xdc\x37\x66\xf4\x5f\xa4\x3c\xa4\x7c\x13\x5c\x8e\x76\xa1\xfd\x43\xa5\x1f\x8c\x92\x08\x76\xa0\x94\x5e\xce\x7c\xf8\x9b\xc2\x82\x0a\x0c\xc2\x18\x2c\x60\x60\x99\x12\x3e\x79\x01\xfe\x30\xfe\x36\x97\x02\x7d\x09\x4c\x9c\x80\xc3\x30\x02\x75\x34\xde\x84\x22\x2c\x82\x9b\x60\x81\x58\x18\x0f\x99\x77\x59\x61\xe9\x73\x0a\x03\xdf\xc7\x24\x61\x0d\x51\xad\x89\x2b\xd9\xc1\xb8\xd6\x88\x52\x41\x46\x08\x43\x41\xe6\x9a\x24\x0a\x86\x83\xc4\xcf\x9a\x7b\xdf\xfc\xd4\xb5\xca\xe5\xe3\xf9\xeb\x3f\x49\x62\xf5\x9a\x9c\x78\x93\xe6\x59\x67\x95\x6f\x78\x6e\x43\x6c\x33\x23\x44\x88\x40\xeb\xda\x4e\x24\x14\xec\x4c\xaf\xfd\x2f\x17\xbd\x1d\x64\xc4\x9b\xe7\xaa\x00\x68\xf7\xe4\x61\xbe\xf3\x29\xe8\xbd\x14\x44\x0f\x67\x1f\x2a\x07\x3d\xa6\xe1\xfb\x38\x10\x17\x93\xb8\x0a\x87\xa2\x6c\x70\x7f\x66\xde\xf2\x4b\xf0\xd6\x7a\x2e\x12\xba\x45\x82\x67\x24\x74\x23\xe1\xad\xb0\x90\x4b\x5b\x19\x6d\x54\xf2\xb6\xd5\xdc\xca\x2f\xcf\x1e\x3f\x7d\xe2\xcc\x31\xf9\xed\x2b\xe7\x9a\xdb\x72\x1f\xe7\x9f\x5e\x5c\x85\xbd\x6b\x50\x59\x3a\x3e\x7f\x1b\x89\xc4\xae\x5d\xcb\x9a\x98\x9d\xad\x6d\x5f\x1d\xe3\x8e\x76\xd4\x9d\xb3\xec\x23\xaf\xd8\x62\x9b\x97\x31\x31\x31\x59\xaa\x68\xee\x0c\xcc\x7e\xfe\x18\x86\xeb\x40\x94\x73\x66\x66\x16\x0e\x20\x41\x0f\xb1\x7e\x4a\xd7\xff\xf0\x10\x8f\x1b\x13\x7a\x83\x1d\xe2\x84\x00\x88\x93\xc6\x48\xf7\xea\x24\x8e\x80\xa5\x4a\xf4\x17\x0d\x50\xa2\x0d\x03\x31\x08\x2d\x29\x9c\x90\x0a\xdd\x25\xbf\x40\x77\x09\xcc\x5d\xa6\x44\xff\xf7\x25\x68\x81\x1e\x12\x08\xbf\x46\x0c\x87\x1e\x12\x69\x8c\xbb\xe4\x02\x08\x50\x8a\x04\x5f\xb8\x01\x37\x04\x5f\xce\xe7\x4d\x00\x38\xc4\x49\x64\xae\x37\xc1\xdf\xf8\x02\x5e\xc0\x42\x25\xbe\xc0\x17\xd1\xee\x09\xf4\x42\xa4\xed\xc2\xfb\xee\x0a\x65\xfb\x7f\x09\x08\x17\x06\x43\xc7\xbd\x32\xe8\xc0\x65\x5f\xc0\x80\x7b\xbd\x79\x05\xa9\x96\x16\x4b\xef\x3a\x3c\x04\x7f\xca\xf9\xbb\xe8\xab\xe2\x2f\x0b\x8f\xe6\x93\x10\xd0\x7c\xe5\x4a\x33\xdd\x3c\xff\x0a\x06\x34\xb3\xeb\xf2\xe7\x14\xce\x28\x26\x5f\xff\x2e\x3a\xf0\xc9\x07\xb5\xef\x32\x28\x9b\x5f\x2c\x09\xd9\xc0\x49\x8f\x24\x5b\x52\x72\xd3\xd9\xa9\x86\x25\x19\xa9\x74\xea\x85\x8c\xbb\x06\x56\x7a\x37\x27\x5d\x9f\x92\x4c\x6f\x28\x09\xa9\x60\xaf\xcc\x07\x99\xe8\xc5\xd3\xda\x03\x37\x38\xe7\x73\xb0\x52\xf7\x9b\x88\xf6\xa8\xfa\x0d\x81\x74\x60\xcc\x86\xcd\x51\xec\xc4\x26\xa2\xb9\xa6\xba\x65\x2f\xbd\x37\xa1\x25\xbc\x86\x95\x16\xbf\xfe\x03\xab\xa9\xcd\x33\x86\xc4\x0d\x60\xa2\x44\xbf\xb8\x82\x88\x96\xcb\x3c\xcf\x5d\xbe\xda\xdc\xdc\xcc\x35\x37\x83\x3f\xf8\x3f\x7b\x46\xf2\xcf\x9e\x81\x8c\x05\xed\x41\x88\xdc\xc7\xd3\x0a\xa7\x20\xf8\x53\x7f\xff\x16\xb7\xf9\x2b\xce\xc9\x8b\x78\x8c\xdc\x87\xda\x83\x2c\xca\x86\x3e\xe3\xb9\xa1\xcf\xd0\x1f\xfc\xc3\x9b\xc9\xe6\xf0\x05\xcd\xf3\x18\x7e\x1e\x1f\xc1\x0e\x77\x05\x11\x3e\x7e\xd0\x2a\x39\xa0\xf4\x52\x10\x7f\x3a\x4c\x54\x5a\xaa\x5e\x97\xc6\xe1\x84\x65\xef\xc2\x0d\x18\x75\x86\x38\x57\x79\xfc\xb3\x2f\xe8\x7b\x73\x2e\x4c\x49\x4b\x37\xe4\xa4\xb3\x38\x2e\x60\x05\x8c\x25\x2e\x26\x2e\x3b\xb0\x80\x99\x3c\x6f\xee\xe4\x54\x4b\xaa\x35\x8d\x3b\x83\xfe\x78\xf9\xdd\xe5\xe0\x4f\x5c\x4a\x0c\xd8\xbf\x80\x99\x34\xff\xbf\x9a\xd3\x38\x06\x47\xad\x20\x16\x27\x6e\x59\xb6\x90\x9e\xf4\xc5\xa7\xf7\xca\xca\x2c\xd6\x32\x16\x46\x9e\x79\x81\xd7\x70\xe4\x7f\x35\x13\x3f\x5f\x74\xbf\xbc\x3c\xd7\x5d\xf3\xc1\xe9\xb3\x38\x9e\x58\x54\x75\x36\xe8\x32\x73\xef\xca\x97\xdf\x94\xe9\xcb\x74\xa5\x5c\x00\x4c\x80\xcb\x2f\xcf\xe2\x87\xc4\xa2\xaa\x73\x41\x97\x99\x6f\xaf\x5c\xfb\xb6\xcc\xe0\xae\x59\x06\x93\x60\xfa\x45\xe2\x52\x75\xcb\x91\x2b\xf4\x77\x0b\x2e\x7d\xc8\x76\xb6\x62\x29\xf5\x2e\x5c\x83\xcb\xaf\x5e\xe0\x75\xc2\x47\x88\xbb\xd2\x15\x1e\x6e\x07\xbb\xd7\x0e\x49\xf3\xeb\xf6\x37\x6b\x7d\x3b\x3b\x44\x6f\xc2\xc9\xe6\x88\x77\xa6\x54\xc4\xef\x4c\xfb\x65\xfe\xef\x4b\x7f\x99\x4f\x86\x1d\xbb\x10\x72\x91\x81\x6f\x24\x17\x2f\xb4\xb5\x1c\xe3\x7e\xb9\xf2\xdb\x85\xa7\x5f\xd4\x96\x56\x57\x56\x56\x93\xa0\xf4\x5e\xbd\x78\x51\xd0\x76\x76\xf4\xe2\xd1\x4b\x47\x2f\x21\x63\xb7\x2e\x58\xb7\x8e\x59\xb7\xe0\x68\xdd\x56\x6e\xcc\x85\x91\x67\xc7\x5c\x24\x37\x35\x2c\xbb\x78\x86\x0e\x56\xb2\x8e\x0e\xd1\xb9\x03\xeb\x97\x77\xa5\xba\x6f\x87\xd0\x04\x05\xf1\x67\xbb\x27\xdf\x2e\xe8\xff\x11\xa2\x60\xb4\x10\xdd\xee\x05\x52\xf7\x73\xfb\x79\x98\x85\x65\x50\x80\xbd\x58\x97\x97\x53\x43\x6c\x1c\xba\xa3\x1f\x7a\xd1\x0a\x82\xdc\x4f\xfd\x1a\x76\x2d\xf2\x14\x1b\x74\x25\xf8\xf4\x65\xfa\xd6\x99\xab\x77\x58\x4b\x2e\x6f\x61\xa0\x17\x2a\x71\xde\x5d\x5c\xcb\x60\x0d\xaa\x91\xc5\xad\xa8\xe4\x2a\xca\x8d\x25\x0c\x7f\xdf\x04\x3d\x61\xa7\x04\x5a\x3a\x3b\x60\xb2\x60\xc2\x1e\x70\x9f\xe0\x37\xe7\x06\xe5\xb2\x9b\x2c\xd6\xcb\x07\xf5\x24\x48\x33\xef\x18\x79\x9a\xbf\x67\x82\x5e\x6e\xc1\xdd\x9d\x5f\x7e\x0d\x76\xa2\xf9\x55\xfd\xd7\xd7\x68\x97\xa5\x1f\x85\x29\x9d\xa3\x89\x84\x1b\x1d\xea\x3b\xcc\x8f\x0f\xcb\x1a\xee\x71\x06\x8b\x21\xd7\x98\x4b\x0a\x93\x9d\xd7\xa9\xdc\x58\xf3\xf6\x68\x7a\x4a\xe2\xd8\x20\xf4\x66\x51\xd5\x39\x91\x80\x64\x90\xc3\x70\xe0\x61\x2f\x0d\x74\x28\xf4\x5a\x04\xdd\xd8\xce\x71\x42\x2d\x05\xd3\x94\xf0\x95\x92\x53\x38\x06\x7b\xbb\xc2\x05\x42\x29\x84\x0b\xe1\xf0\xb9\xc4\x4d\x04\x99\x4b\xe6\x0a\x77\x85\xbb\xba\x28\xe7\x53\x2d\x50\x4a\xa8\x15\x0e\x40\x9d\x97\xf3\x16\x54\x49\xb0\x0e\xe5\x84\xc2\xb9\x57\xcc\x8b\xf1\x8b\xfd\x98\x01\x53\x60\x23\x0d\xcb\x21\x18\xc6\xc1\xfe\x93\x2c\x4c\x17\xbb\xe6\xae\xc0\xef\x31\x13\xf7\xd3\x78\x12\x5e\xa1\x41\xd8\xb8\x99\xe5\xc5\x50\x07\x32\xc2\x31\xca\xf9\x29\x85\x7e\x93\xb1\xcf\xb7\x38\xf1\x1c\x2e\xac\x91\xe3\x74\xf1\xcb\xa4\x67\xdb\xbe\x59\x87\x83\x26\xf8\x0a\x35\x28\x22\x7c\xa0\x09\xed\x6e\xff\x4d\x06\x39\x12\x4f\xb0\xa7\x4b\xbc\x9c\x01\x50\x25\x79\x1d\xe0\x92\x11\x91\x4a\x71\xe8\xee\xa8\x7d\xac\x82\x78\x25\xda\xb7\xbb\xb1\x95\x03\x19\xc8\x44\x0a\x87\x1a\xed\x54\xa7\x7d\xb1\x78\x6b\x44\x54\x28\x37\xff\x80\xf2\x8a\xb8\x35\xa2\x71\x2b\xbb\xd8\x61\x47\x7b\xa7\x1d\x65\xff\x4f\x2a\x52\x10\x93\x5e\x07\x50\x0a\x87\x44\xd4\xa5\x84\x32\x85\x58\x0d\x06\xa5\x5b\xcd\x47\x68\x0a\x54\x2a\xba\x7b\x78\x29\x44\x7f\x38\x16\x53\xae\x5b\x38\x97\xd0\xa5\xa6\x1a\x52\x99\xd4\x54\xb3\x35\x95\x73\xdd\x82\xb9\xc9\x78\x83\xc0\x7e\x5a\x38\x8e\x62\x78\xc9\xc0\x4b\x38\x5e\x29\xd1\x72\x82\xdd\x21\xa3\x4a\x32\x8b\x32\xac\xec\xeb\x17\xf0\x82\xc8\x31\xe9\x79\xbd\x5e\xcf\xe7\xf4\x78\xef\xf5\x0b\x7c\x41\x64\xe8\x32\x55\xe9\x74\xba\x5d\x55\xac\x63\xe1\x51\xff\x85\xfe\x91\xd8\x3b\x1b\xbb\xcb\xb7\xc6\xc7\x6c\x5e\x43\xaf\xdf\x19\xd4\x1a\xc7\x2e\x71\xcd\x32\x66\x5a\x32\xf3\xb2\xe4\x59\x6f\x3e\xf2\x04\x88\xec\xf6\x5c\x5b\x1e\x97\x67\xb3\xd8\x8d\xf6\x25\xc2\x2c\xdf\xd6\x9d\x3b\xf7\x1f\xa1\x8f\xc5\x1e\xd8\x5a\xc3\xe6\x03\x73\x00\xba\x9d\x3f\xe2\xf0\xc3\xcd\xbe\xb9\x46\x0b\x6f\xb1\x58\xf8\xdc\x1e\xef\x39\xdd\xed\x17\x5b\xed\x45\x25\xb4\x0f\x1c\x54\x3a\x46\xc2\x6a\x2f\xc7\x9f\xc2\xd7\x14\x74\x87\x8d\xd0\x1d\x36\xc0\x5b\xb0\xe1\x06\x74\xbf\x06\x3d\xee\x41\x37\x92\x17\xf3\xe2\xcc\xe0\x20\xdd\x56\x26\x24\xc4\x6a\x0f\xe5\x90\x46\x0b\x8e\xc2\x6c\x7c\x1f\x75\x38\x08\xf4\x38\x0c\xb2\xd1\x0f\x4c\xa4\x36\x64\x6b\x56\x30\x13\x1c\x92\x67\x0f\xe5\x60\x13\x7e\x01\x1f\xe1\x3d\xf8\x14\xbf\xca\xe8\x5c\xe9\x9b\xd7\xda\x6a\x6d\x65\xda\x5a\x75\xd9\x7b\xba\xd2\xa3\xb7\xc1\x03\x28\x17\xde\x82\x36\x4f\x1e\x8e\x78\x39\xec\x8e\x4c\x0a\xcb\x85\x39\x62\x24\x92\x51\x84\x51\x78\x9e\xc1\x52\x0c\x83\x48\xa8\x86\x6a\x70\xd3\x52\x18\xfc\xe7\xfc\x80\xf3\x1c\x6c\x85\x75\x04\xf4\x42\x1a\x67\x7e\x8d\x5b\x18\xd7\x14\x7c\x86\xcf\x5c\x53\x5c\x53\xe0\x19\x3e\x13\xa6\x08\x8b\xe0\x18\x5c\x15\xe6\x9d\xd2\xed\xcb\xda\xcf\x75\x6e\x13\xf9\x54\x43\xe3\x61\xe8\x07\xb3\x61\x30\x6c\xf5\x14\x5e\xc2\x6c\x88\x80\xd9\x5e\xce\x7b\x02\x41\x69\xf3\xd3\x79\xad\x96\x0c\x0e\x9e\xaa\x0a\x60\x02\xa6\x14\xed\x0d\xe1\xde\xb0\x32\x33\xf9\x74\xbb\x96\x5c\x7a\x1e\xba\xe9\x9a\x99\x66\xe8\x66\x3d\x7f\x9e\xb3\xe7\xf3\x25\x99\x76\x12\x2f\xc1\x5c\xea\xe4\x96\x03\x81\xab\xb7\x6c\x59\x1d\x78\x60\xcb\xc9\x13\x07\x0e\x9c\x60\x05\xae\xcf\xc9\x2d\x07\x56\x07\xbe\xe1\x9d\x38\xe9\xe6\x41\x2e\xf4\xa0\xd6\xc6\x6c\x09\x4a\x64\xad\xc9\xe6\xc4\x24\x1a\x97\x62\x18\x0e\xc7\x72\x2c\xc3\x30\x18\x0e\x4b\x2b\xcd\x95\xb9\x15\xec\x96\xaa\xe8\x03\xc7\xe9\x6b\x67\x4e\x5f\xdb\xb3\x3b\x3d\xae\x86\xbd\x7f\x0e\x3c\xda\xa0\x87\xf5\x06\x5c\xf5\xb5\x14\x16\xe6\x17\xea\x61\x7b\xa0\x6f\x63\x69\x53\x75\x2b\x73\xf2\xc0\xe6\xc0\xc0\x2d\x9b\x57\x07\x6e\x39\x70\x82\xc3\xb5\x47\x16\x60\x1b\xbc\x9d\x03\x9e\x21\xf7\x97\xc9\x6b\x6a\x9a\x4a\xf6\x30\xd7\xce\xac\x98\xcb\x81\x33\x92\xca\x95\x8c\x54\xb2\x3e\x70\x7f\x2f\xbc\x0d\xc3\x41\x06\xb3\x61\x38\x5c\xf2\xe4\xe1\x12\x84\xc3\x70\x58\x00\xc3\x21\x1c\x2e\x79\x39\xa7\x09\x43\xa9\xac\x7c\x15\x9f\xa5\x25\x23\x22\xe6\xa8\xd7\x32\x6b\xe7\x14\xee\x8e\xe0\xde\xb0\xb2\xb2\x78\x95\x2d\x8b\x0c\x3c\xf1\x34\xa7\x81\x69\x78\x9a\x7b\xe2\x04\x67\xb3\xf1\x45\x59\x36\x12\xcb\x60\x24\x05\x16\x09\xfc\xd4\xc7\x7d\x0c\xff\x87\xda\x12\x17\x1a\x96\xc2\xe6\xa6\x9a\x53\x53\x68\x1c\x8f\x0b\xd0\xd7\xed\x6b\xe0\x7c\xf0\x85\xf1\x65\xe6\x72\x4b\x29\xbb\xad\x7c\x47\x6b\x3b\x7d\xee\xe8\xd1\xf3\x8d\xbb\x54\x89\x95\xec\x8d\xe3\xbf\xec\xfe\x27\xf7\x12\x54\xfb\x9a\xed\x76\x5b\x81\x1e\x96\x6c\xf2\xdd\x55\xbc\xab\xbc\x89\x39\xd8\x1a\xba\x69\x53\x68\xe8\xa6\x4d\xdb\xf6\x1c\x34\x72\x38\x6d\xff\x72\xcc\xf9\x47\xff\x34\xe2\xe6\x1a\x79\x65\xe5\xae\xa2\x06\xe6\xfc\xd1\x75\xcb\x38\xb8\x24\x04\xfa\x29\x03\x95\xd0\x01\x43\x7f\x81\xc1\xbf\xc0\x90\x5f\x60\x08\xfc\xe8\xe5\x78\xe5\x58\x48\x2d\x6a\x20\xce\x88\x77\x25\x54\xc7\x6e\x4f\x48\xd8\xce\x62\x8b\xd8\x6f\xf4\x58\x3f\xf4\x1c\xf3\x18\x3c\x59\x9e\x37\xc1\xdb\x34\x0c\xc5\x1e\xa2\xed\x55\x09\xbb\x76\x55\x57\xef\x62\xa1\x4d\xfc\xf2\xc7\x07\x2f\x5f\xfe\x38\xae\x1f\xbb\x50\x0c\x39\x18\x4b\xa1\xe7\x18\x7f\xf4\x40\x8f\xd1\x8f\x5f\xb1\xf0\x8e\xf8\x52\xf4\x8f\xbb\x08\x7c\x47\xbc\xbd\x3a\xa1\xee\x8d\x4a\x6f\x18\x22\xc6\xb7\xbb\xa2\x80\x7e\x04\x96\xf2\x93\xc0\xe0\xe1\x0a\xe2\x98\x27\x0f\xf7\x61\x23\x7c\xfb\xef\x7e\xdf\xcb\x79\xcc\x71\x95\x82\xbe\x9f\xc2\xca\x0b\x04\x28\xc4\x90\x8a\x2b\x61\x21\xa6\x63\x1a\xae\xc2\x05\x98\xcc\x76\x7a\x88\x97\xae\x5b\xbf\x6c\xd9\xba\x23\xe7\x59\x28\xc5\xfb\x62\x2c\xe3\xf5\x3c\x8b\x1a\x08\xc0\x00\xd0\x80\x0a\x56\xc0\x12\xc8\x60\x05\x41\x7c\xee\xe8\xd1\x73\xe7\x8e\xae\x5b\xc6\x0a\xf5\xf8\x0b\x85\x0d\xe2\x65\x6f\x14\xcf\xb1\xb0\x53\x8c\x2b\x97\x60\xdf\xcf\x09\xac\x16\xa3\x0a\x96\xe3\x52\x50\x83\x06\x02\x20\x00\x34\x2c\xcf\x5b\xa0\x8c\xf6\x41\xd9\x95\x38\xe5\x15\x4f\xde\x7d\xf4\x52\x10\xa7\xc1\x9f\xc2\x9e\x83\x06\x61\x4f\xd6\x15\xe7\x08\xe8\x0c\x10\xe2\x44\xd0\xf3\xcf\x3f\xa1\x27\x2b\xc4\x75\x06\x38\x02\x5c\x71\xa2\x2b\xce\x00\x3f\x25\x34\xed\x82\xf1\xdf\xc1\x04\x81\x80\x09\xfc\x77\xbd\x79\xd8\x04\xef\xc0\x46\x81\xe8\xa2\x9b\xbe\x83\x8d\x6e\x22\xfd\xf3\xb4\x74\xbd\x07\xdc\x57\x78\xff\x44\xe1\x7e\xbc\xdf\xb9\x50\x68\x74\x86\x8b\xa5\x11\x1e\xb8\xb1\xf3\x12\xdc\x94\xc0\x7e\x98\x40\xc1\xa6\xce\x85\xb8\x49\xe4\x0c\xf7\x86\x4d\x22\xe9\x4a\x0f\xdc\x88\x9b\xc4\x70\xe0\x43\xaa\x73\xa1\x58\xfa\xe4\x34\xdc\xff\x10\xef\xe3\x78\xa1\xc9\x39\x53\x84\x9b\x5c\x4d\x6e\xb5\x03\x30\x81\xea\x5c\x08\xf7\x3e\xc4\x7b\x38\x5e\x68\x74\xce\x14\xff\x5b\xe3\x83\xb2\x1f\x1c\x3d\x2b\x05\x01\xe6\x78\xf2\x70\x14\x42\xc0\x17\x42\x60\x0d\x44\x43\xad\x97\x73\xb7\x50\x4c\x3d\x82\xb5\xca\x87\x1c\x3e\x13\xa6\x53\x0f\x61\xad\xf2\x11\x27\x5c\x74\x7d\x44\xe1\x6c\x64\x70\x00\x4e\xdc\x18\x94\x57\x1c\xca\xe2\x66\x31\x86\x6c\x26\x1c\x3d\xc5\xf7\x72\xef\xb4\x9d\xfb\x7c\xef\xfe\x5d\x47\x4b\x4f\x91\xe6\xe2\x62\x53\x31\x03\x13\xc1\x2d\x3a\xdb\x6d\x63\xda\x7f\x8a\x93\x36\x05\xd9\x8a\xfe\xb7\xe2\x7d\xf8\x54\xbc\xf3\xd0\x89\xe2\x13\x0c\x4c\xfa\x57\x5a\x70\xc2\x1c\x3f\x25\x54\xd9\x12\x0e\x95\xc1\x08\xe8\x03\xe9\x87\x2d\x97\xc1\x06\x7d\x7a\x0b\xc7\x60\x3c\xfc\xd5\x96\x05\x7d\xa5\x37\x3d\x14\xde\x17\x85\xe7\x94\xb1\x3a\xe7\x18\x48\x96\xe4\xc3\x5b\xf2\xd5\xb1\x04\x8c\xf9\x64\x7f\x13\x06\x32\xab\x36\x65\x6b\x56\x71\x96\x24\xf7\x8d\x63\x83\x6a\x73\x44\x38\x7b\x3d\x89\xc8\x56\xe7\xa8\x55\xb4\xb4\xa7\x7a\x26\x0c\xbe\xec\x47\xcf\x47\x19\x0e\x58\x10\x8d\x63\x60\x66\xab\x89\x35\x95\xc1\xbc\x03\x44\x55\x6e\x51\x79\x25\xbd\x33\xb1\x2c\x3e\x03\x95\xe1\xba\x78\xb6\x22\x2b\x69\x77\x3c\xa3\x56\xab\xf5\x6a\x4e\x3a\x44\x1d\x9e\x39\xcd\xd8\xb2\xc8\x95\xd2\xcf\x37\x29\x47\x95\x9c\x44\x27\x54\xa6\x54\x37\x08\x33\xfe\x28\x3e\xc7\xda\xd5\x36\x75\xa1\x96\x5c\x7d\x13\x58\x34\x5f\x60\x1e\x80\xe4\x9b\xeb\x47\xb9\xc2\xd2\xe2\xc2\x4a\x83\x79\x0d\x7a\x7f\xac\x0b\x23\x73\x22\x4d\xa1\x11\x74\x1a\x9f\x6a\x4e\x65\xb3\x76\xd6\xea\xeb\x98\x2f\xaf\xd6\x18\xbe\xe4\x4a\x3b\x6a\x3a\xf4\x77\x8c\x2d\xbe\x3a\x78\x2b\xac\x74\xc2\xcd\x9c\x5c\x9d\x35\xc7\x9a\x97\xeb\x5b\x60\x26\xe0\x73\xf4\xee\x94\xe2\x58\x08\xe0\x80\xfc\x0c\x94\x47\xc0\xe3\xcb\x81\x3f\x7c\x78\x73\x16\xbc\x85\x12\x08\xc4\xf7\x20\x0c\x8b\x35\xe4\x25\x50\x51\x36\x6b\x65\x71\x11\x2d\xed\xe5\x51\xbe\xb9\x51\xb7\x87\xdd\x5f\x75\xc2\x74\xa8\x00\x34\xe7\x61\x32\x48\x5f\x42\x6c\xf5\xe1\xaa\xa3\xe6\x13\x59\x99\xbe\xef\xe3\xcc\xd4\x75\x38\x19\x65\xe8\x35\x0e\xfb\x04\x60\x9f\xd5\xa4\xb4\xa7\x3a\xde\x44\x7c\x2d\x56\x19\x03\xf5\x69\x97\xb6\xd5\xca\xe7\x7d\xb4\x7e\xd6\xb0\x90\x0d\x29\x3b\x92\xe3\x37\x93\xcd\xd7\xbf\x2a\xbc\xc3\xdc\xde\x6d\x51\xd7\x72\x3b\x35\xe5\xf1\xfb\xd7\x93\x52\xc2\x03\xb7\xbf\xfe\x80\xaa\xc5\x51\x44\x56\xfb\xc1\x9c\x83\xcc\x83\xef\xca\x1a\xbf\xe1\x5a\x53\xe6\xc1\xa8\x30\x66\x2e\x8e\x0a\x0b\x09\xe0\x50\xeb\x60\xa8\x07\xb8\xad\xe3\x38\x21\xed\xa9\x46\x4f\x98\x45\x08\xab\x5d\xbb\xa8\x74\xd1\x42\xd3\x27\xa9\x0b\xb3\x6c\x1b\x7d\x77\x5b\x61\x7a\xc5\x2e\xda\x6a\xc8\x33\x5a\x59\xd7\x3a\x07\x49\xd9\xd4\x6a\x4b\x06\x13\x97\xa0\x36\xc4\x71\x79\x29\x04\x1c\x76\x39\xa9\x61\xe2\xf6\x22\xcd\xf7\x84\xe3\x0f\x05\x71\x8b\x32\x89\x8d\x62\x5e\xcc\x7b\x1b\x72\x8c\x7a\xb3\x99\x30\x59\x29\x93\x89\xf0\xc1\xcc\xef\xcf\x40\xef\x79\xd7\x81\x80\xb7\x7a\xf3\xf0\x48\xe1\x9d\x71\x5a\x5a\x27\x3d\xaf\xf0\xce\x5d\x4d\x99\xb3\x2c\x1a\x95\x8a\x94\xd6\x69\xb5\x53\x96\x8f\xc8\x1c\xa9\xc5\x9e\xd9\x33\xae\xab\x8a\x72\xcb\xf3\x6d\xa4\xcd\x9e\x67\x2d\x64\x0a\x0c\x7c\x8e\x95\xdb\xbe\xe7\x54\x1c\x78\x30\xe0\xf1\xf5\xee\xba\x3d\x9c\xb4\xa3\xac\x28\x4f\x63\xce\x22\x83\x40\x4c\xd9\x52\xb2\x34\xe9\x59\xaa\x6c\xa3\x45\x55\x43\xd6\xa8\x34\x35\x8b\x99\xc5\x49\x09\x71\x51\x5c\xf4\x0e\xb5\x56\x53\x4c\x4a\xeb\x34\x25\x96\xe2\xca\xf2\xca\xf2\xa6\xfa\xc6\x22\xb2\xa8\xb1\xd4\x50\xcf\xd4\x37\x1a\x32\xaa\x38\xe9\x89\xaa\xf4\xa2\x48\x5b\x0a\x09\x00\x7b\xa8\x15\x29\x1f\x6c\x59\xc4\x6e\x5e\x1c\x1b\xbf\x26\xf7\xd3\x5c\x7c\x1b\x96\x4d\xb1\x90\x96\xc1\xb8\x0d\x83\x70\x32\x33\x30\xa2\x64\xe7\x36\x4e\x5a\xb7\xaa\x75\xc7\x59\xd3\x57\x66\xf0\x85\x77\xa0\x27\x8c\x34\x41\xa0\x19\x94\x18\xf8\x87\x99\x34\x3d\x84\x71\x30\xf1\x1e\x23\x6d\x79\xb8\x73\xcc\x4a\xce\x7d\x23\x12\x96\xe3\x43\xd8\xb0\xbc\x85\x1d\x7d\x6e\x5c\xcd\xb8\x73\x2b\x5b\x67\x3e\xfc\xb4\x83\x94\xd6\xa9\xb1\x7b\xe8\x9a\x4d\x61\xe3\x66\x2f\x4f\x98\xbe\x85\x5c\x10\x86\xbf\xe0\x7a\xd7\x1c\xda\x35\x57\xf0\xc2\xaf\x84\x61\xc2\x50\x78\x05\x27\x84\x00\xd6\xa7\x06\xc2\x1c\xad\x10\xee\x09\xef\x43\x98\x63\x0f\x84\x79\x39\xcf\x0a\x5b\x28\x1c\x0a\xc3\x70\x2c\xfa\xe3\x50\x1c\x16\x19\x19\x18\x38\x89\x0f\x3c\x21\x0f\x3c\x69\xbc\x77\xf2\x44\x61\xa1\xaf\xbb\x56\xa5\x1a\x33\x26\x12\x7b\x36\x22\x21\x1f\x99\x30\xe7\xc3\x21\x34\x8a\x7e\x1e\x01\xc4\xef\xdf\x5d\xff\xb9\x9a\x05\xef\x68\x78\xa7\xe9\xc9\xe3\xa6\x26\x5f\x18\x0a\xc3\xdc\x1e\x1c\x81\x4f\x1d\x53\x29\xff\x47\xf8\xf6\x6e\xf4\xda\x4e\xfe\x96\x3a\xfe\xce\x7b\x0c\x12\x23\x46\xa0\x68\xf0\xf5\x0f\x7f\x4e\xe4\x42\xb1\x7b\x03\xf6\xfd\x79\x64\x53\xa4\x2f\x2f\x86\xa1\x38\x0c\xc6\xa2\xbf\x5b\xdb\xed\xcb\xe1\x30\x18\x16\xd5\x18\x78\x82\xbf\x7f\xe2\x84\xfc\xc4\x89\x7b\xfc\x89\xc0\x22\x95\x2f\x0c\x83\x61\x84\xa3\xed\xf5\x01\xea\xf9\xd4\x87\x83\x4a\xd8\x06\xf0\x8e\x80\x77\xfc\x1f\x47\x35\xf9\xba\x15\xde\x28\xe2\x30\xf0\x47\x7f\x18\x86\xc3\x9a\x22\x4f\x04\xf2\x93\x02\x03\xe5\x6f\xc6\xa3\x2a\xf2\x75\x0f\xaf\x50\xf5\xf3\x08\x90\x47\x03\xd9\x26\xe7\xc5\x1f\x54\x7e\xff\xf1\x9f\x0c\x10\x3f\xff\x0c\x22\xce\xe0\x14\x28\x10\x8d\xf8\x19\x89\xfe\x63\xa7\x0e\x4a\x67\x91\xdc\x83\x7d\xa2\x46\x8e\x8c\x8a\xf4\x75\x9b\x75\x5f\x1f\x82\x17\x43\x57\x0b\xe0\xef\xee\x4c\x53\xd3\x9b\xbe\xc9\xdf\x34\xa4\x52\xf9\xba\x07\x52\x54\xf4\xd3\x4f\x8d\x40\x85\x81\x58\xfe\x67\xc9\x37\x8f\x9e\xd3\x3e\x68\xdf\xe7\x1c\x7a\x0c\x24\x57\x3d\xf9\xfd\x8e\x79\x87\x85\x9b\xfb\xbd\x1c\xef\x0a\xeb\x29\x73\xbe\xfa\x68\xb6\x39\xdb\x8c\x6f\x9d\x4c\xc9\x4f\xb7\x6d\x2b\x49\xb5\x1d\xb9\xd9\x70\x3a\x37\xdf\x56\x7a\xfc\xa9\xc9\x6a\xca\x33\xd5\x18\xad\x46\x6b\x8a\x66\x87\x96\xdc\xa1\x5d\x1f\x99\xac\x4f\xc9\x59\x96\x10\xa5\x89\xd2\x2c\x4f\x8d\xcf\x8e\xcf\x4e\x34\xaa\x72\x48\x53\x4a\x6e\x36\x4f\x5b\x74\x45\x19\xc5\xfa\x92\x9c\x9d\xa6\x02\x4b\xa1\xb9\xc2\x6e\xce\x35\xe7\xea\x8b\x72\x73\x73\x2d\x67\x8b\xab\xf2\xaa\x6d\xdf\xd6\x17\x18\xf5\xaa\x05\xd8\x3b\x61\x2b\x99\xb8\x15\xdf\xc2\x89\xb1\x51\x89\x71\xeb\x96\xa6\xaa\x72\x0d\x8d\x16\xab\xa5\xa5\xfa\xcc\xf5\x8a\xea\xcf\x3e\x3f\x7a\xb5\xed\x2c\xc9\x8b\x6d\xfa\xf3\x6b\x4b\x35\xa5\x9a\x8b\x61\xc5\xd9\xc5\xba\x13\x71\x66\x1b\x89\x9b\x84\x14\xaa\x58\xaf\xcd\xd5\x30\x1a\x63\xa4\x36\x4d\x97\x9e\x13\x91\x99\xa1\xcf\xd0\x47\xe5\xe6\xe4\xe6\xe4\xda\x43\x8b\x32\x6a\xe2\x2b\xf4\x76\x23\x59\x55\x97\x97\x57\xca\x95\xe6\xd5\x15\x17\x54\x9a\x73\xad\x36\x7d\x39\xe9\xf8\x14\x29\x6a\x1a\x2e\x04\x6e\x13\xa1\xc0\x48\xd7\x4d\xca\x59\x26\x76\xcc\x83\x74\xe2\x75\xb9\x58\x38\xfc\x90\x0a\x06\x06\x43\xae\xae\xc7\x6e\x03\x76\x43\x84\xd0\xf2\x67\x04\xcc\xed\x1c\x40\xb8\xfe\x76\xc6\x53\xc2\x4d\x58\x45\xb8\x7a\x8a\xb1\x54\x81\x66\xea\xd0\xcc\x88\x94\xa8\xa4\xb0\x34\x79\x20\x8a\xc6\xa5\x62\x2f\x66\x20\xf6\x6e\x3f\x32\x8a\xcb\xcb\x58\xdb\x98\xc9\x68\xb4\x5a\x75\x96\x39\x27\x4f\xc7\x7d\xfa\x00\x96\x2f\x78\xc9\x3c\x10\x35\xb6\xe4\xe5\x35\x72\xbf\x96\xfd\x79\xe0\xfe\x67\x07\xe6\xfa\x9e\x01\x7f\x02\x0e\x39\xef\x52\x38\xe8\x18\x21\x8c\x13\x17\x67\xe6\xab\x33\x3b\xbb\x61\xb8\x21\x8b\x75\x9d\x85\x40\xc2\x25\x13\x8f\x8b\xfa\x34\x51\x6f\xcc\x36\x68\x0d\xd9\x59\x06\x83\x51\x67\xd4\x93\xaf\x2f\x8b\x8d\x26\xa3\x91\xd6\x5a\x6c\xba\x7c\xa6\xc0\xb1\x09\x74\xb6\x32\x8e\x37\xf1\x8e\x12\x34\xb2\x5d\x90\x6f\x71\x6e\xb7\xcb\xbd\x41\x1c\x1c\xef\x82\x7d\x85\xf6\x2e\x46\x3b\xc8\xbc\xa0\x1d\x3e\x57\xa2\xec\x4d\xf6\x55\x90\x05\x4a\x9c\x1d\xc0\x29\x15\xc4\x46\x1c\x4f\xc1\x78\xf1\xe9\x88\xaf\x82\xf7\xb2\xee\x59\x4c\xec\x0d\x9e\xb1\x7b\x05\xd3\xe9\x7f\x45\xa2\x70\x7a\x84\x28\x1d\x2f\x44\xf3\x95\x9c\xc3\x2e\x7e\xba\xf2\xfb\x69\x87\xd9\xce\xb8\xd7\xdb\x67\x29\xc1\xde\x29\xfb\xef\xf8\x0c\xec\xd4\x6b\x99\xdb\x75\x42\xff\xef\x94\xe0\x2f\xf2\xd1\x4b\xc0\x0e\xf6\xae\x14\xf3\xe5\x12\xa1\xa7\x04\xca\x25\xd2\xcf\xfe\x52\x10\xd3\xa1\xea\xff\x48\x76\x3d\x52\x72\x40\x99\x24\xe9\xec\xc0\x76\x6a\x86\x52\x3a\xa3\x7a\xfe\x29\x09\x06\x78\xaf\x90\x48\x47\x9d\xfe\x48\xf9\xe6\x64\xc6\xff\xa2\xd2\x0d\x0f\xdd\x45\x19\xfe\x8b\x8b\x35\xff\x0d\x2c\xd6\x95\x37\xa8\x58\x57\xde\x80\x62\x41\x80\xf7\x87\x12\xc1\xae\x70\x9e\xa6\x26\x29\xa1\xc3\xfb\x43\x89\x74\xea\x48\xb0\xbf\xee\xf8\xff\xd2\xf1\x71\xa9\x30\x4b\x21\x5a\xec\x29\xc8\xba\xbe\x3c\x7a\x29\xbc\xeb\x9c\x31\xd4\xde\x7d\xfc\xa5\xe0\x7d\x5b\xf7\x2e\xe2\xb7\x06\x63\x12\x26\xf9\xba\xbc\x45\x98\x04\x49\x6f\x38\xf2\xe0\xad\xfc\xa2\xbd\x5b\xe1\x08\x1e\xf1\xed\xbc\x0a\x1f\x2b\x05\xd9\x15\x97\x0c\x3e\x56\x3a\xae\x8a\xe1\x08\x1c\x21\xf0\x2e\x4c\x48\x93\xf8\xf8\x05\x2a\x0f\x28\xbd\x1c\xd5\xce\x13\x14\xf8\x0d\x81\x8d\x38\x1e\xa9\x25\x28\x47\x6f\xf4\xfb\x1d\x37\xc2\x38\xa0\x2e\x80\x1c\xbc\x59\xfc\xd5\x95\x48\xc1\x00\xec\x0e\xab\xd1\x1f\x3d\x57\x0e\x18\x82\x03\xa0\x3b\xae\x02\x7f\xe8\x76\xea\xaf\xdf\x58\x81\xad\xa7\xd0\x80\x0f\xf0\x05\x6a\x90\x78\x14\xf6\x1b\x07\x03\x40\xf4\x03\xd0\x20\x03\x8f\x51\x40\x33\x7f\x3f\xaf\x02\x29\xa8\xf1\x01\xbc\x44\x03\x07\x5a\x08\xa1\x60\xdc\xef\xb0\x11\xfc\xc0\x7b\x09\xc8\x91\xc2\xf1\x43\x70\x23\xfa\xa1\xf7\x05\x94\x03\xc5\x09\x1f\x3f\xa7\xd0\x1f\xbb\xe3\x6a\x1c\x30\xe4\xd4\x40\xe8\x06\xfe\xd0\x1d\x56\xc1\x80\xdf\x56\xfe\x8d\x9e\x9c\xcf\x6b\x15\x70\x92\x2b\x0e\x99\x97\x23\xc0\x99\x45\x81\x1d\xfb\x43\xdd\x9b\xaf\x53\x58\x87\x76\x5c\xfb\x18\xfb\x82\xcf\x1a\x76\x7d\xe7\x17\x44\xa8\xa1\x3e\xaa\xd5\xed\xec\xb6\xd6\x37\xb6\x1a\xb8\xf5\x8e\x2f\x08\xf0\x39\xfe\x18\xfa\xc2\x5a\xda\x3d\x3b\x0f\x28\x3d\x79\xa0\x15\x44\x0a\xc8\xbc\x9c\xb2\xe1\x94\x23\x4b\xec\x90\x41\x3a\xd1\xd9\x53\xdc\x19\x20\x14\x53\x9d\x9f\x82\xcd\xd1\xb5\xa3\x8d\x00\xda\x40\x9d\xd9\x76\x7c\x75\x05\xdb\x19\x00\x76\xc2\x9a\x9e\x66\x49\x63\xd2\xd2\xf4\xba\x74\xae\x33\x00\xed\xc4\xea\xe4\x6d\x6b\x96\xd3\x9d\x76\xf1\xda\x5d\x1b\xdb\xe3\x59\x47\x80\x4b\x46\xa8\x2b\xab\x75\xd5\x4c\x75\xb5\xb5\xb0\x92\x73\x04\x08\x32\xa2\xbd\x66\xd7\xa1\x63\xb4\x8f\xd0\x64\x4b\xf0\x14\xec\xc0\x08\x6f\xc3\xdf\x12\x87\x6c\x28\xf8\x4a\x1c\xd3\x3b\xc5\xe0\x2b\xe9\xfc\x05\x7a\x50\x50\x25\x16\x64\x30\x81\xc0\x4a\xb1\x2b\x00\xc2\x28\xd7\x42\x58\x22\x74\xed\xb8\x84\x70\x30\x9d\x2b\xa9\x53\x91\x47\xd7\x54\xb3\xae\x4f\xe0\x53\x42\x78\x4f\x7c\x2a\xe2\xe8\xda\x6a\xd6\x15\x00\x01\x84\x2d\x35\xc5\x92\xc2\xa4\xa4\xe8\xb3\x52\x39\x57\x00\x06\x10\x6b\x13\x22\xd6\xad\xa2\x5d\xef\x89\x5d\x9f\xe0\xa7\xff\x9d\xf9\x8b\xd7\xd4\xaf\x3f\x9c\xc0\x0a\x01\x18\x47\x40\xb1\xc4\x62\x32\x9b\xcc\x66\xb9\xd9\x60\x36\x5a\x8c\x6e\xa6\x2f\x14\x4b\x88\xc3\xd5\xf5\x47\x8e\xd3\x3e\xd0\x64\x80\xc5\x38\x01\xc2\x60\x1e\x8c\xb6\xc1\x52\x03\x2c\x79\x05\xe1\xbd\x79\x68\x12\x56\xc0\x4e\x8c\x86\xa6\xef\x20\x57\xda\xea\xa1\x10\x4f\x50\x78\xef\xa1\xb0\xa7\x2b\x1f\x7a\x8a\xa1\xc8\x35\x95\x82\xde\x97\x67\xe0\xdb\x85\x9c\x6b\x98\x08\x7a\xe4\xdf\xbb\x03\x3d\x98\x32\xd7\x77\x14\x0e\x9a\xfa\x08\x06\x72\x8e\x81\x22\x53\xa9\xa9\xac\x8c\x86\x9d\x38\x1a\xe2\x71\x3f\xee\xc6\x25\xb8\x15\xeb\x71\x2f\xcc\xc6\x95\xd0\x0e\x51\xd0\xef\x77\xd8\x7a\x9d\xc5\xed\xa2\x29\x3b\x06\x6f\x9e\xc6\x28\x9c\x5f\x9c\xa4\xa4\x2b\xd4\xf0\x27\x9c\x15\x4b\x57\x7a\x80\xcf\xdd\x55\x48\xa1\x74\xc4\x16\x24\x38\x3c\x21\xec\xa1\xe0\x18\x14\x8b\xa5\xd3\xd5\x7f\xfe\x18\x8d\xa4\xdf\xac\x8d\xef\x73\xae\xb3\x42\x1e\xa5\x40\x99\x00\x62\x48\x86\x70\xe8\x06\x76\x18\x3d\x1d\xba\xe3\x88\xc3\x1c\x10\x67\x2e\x7e\x07\x52\x5a\xba\x67\x3a\xe4\xe2\xa2\xcf\x31\x82\xf5\x11\x7c\x21\x12\x3f\xba\xf5\x07\xf8\x98\x60\x41\xee\xdd\x2e\xc4\x87\x19\xd0\x8a\xad\x70\x0d\x66\x9c\x12\xbe\x04\x99\x34\xe2\xf4\x0e\x49\xa7\xc6\xe5\x45\x01\x03\xdd\xb7\xe2\xa8\xc9\xc1\xab\x66\x6d\xe3\x9e\x45\x1f\x9b\xf9\x3e\x8d\xfe\x48\xcf\xc6\xfe\xac\xab\xb7\xa3\x41\x04\x7f\xe3\x2d\xea\x8b\xc3\xf5\x5f\x76\x2c\x2d\x5f\xc8\xb9\xdd\x5b\x11\x2c\xc4\x27\xd4\xad\xf3\xb5\xf7\xee\xad\x69\x99\xc6\xe1\x12\x8c\x14\x39\xbe\x0e\xa7\x8e\x7d\xbe\xeb\x78\x29\x07\xac\x08\xfb\x6c\x1a\xf3\x29\x2a\x19\xa9\xcd\x03\xe7\xa0\x37\xbc\x0d\x9f\xc0\x34\x78\x0b\xfa\xc2\x0c\x98\xfd\x07\xf6\xc3\xc9\x1a\x5e\x63\xd4\x70\xae\x11\xa2\x91\xc7\x97\xff\xcc\x4a\x35\x1e\x1a\xa1\x1b\x35\x7d\xf5\xda\xe9\x3a\x0e\x6c\xa2\x3b\x59\x41\xc7\xa6\x30\x52\xbf\xe9\x38\x0e\x2a\xa9\xa9\x70\xfb\xae\xd8\xa7\x1a\x65\x3f\x0a\xfa\x1f\x97\xc3\x10\xe1\x15\x0c\xe9\xad\x10\x85\xc1\x10\xe9\x11\x85\x68\xb8\xf3\x53\x0a\x18\xec\x06\x9e\x48\x23\x83\x9e\xe8\x89\x0c\x32\xe0\x89\x9e\xc0\x00\x0d\xdd\xc0\x13\x18\x56\x7a\xb7\xb3\xb0\x33\x85\x42\x0e\xbd\xd0\x0b\xb9\xa1\x13\xce\x7c\xbb\x89\x95\x1e\x69\x4f\x6d\x4f\x69\x4f\xfd\x7b\x13\x90\x27\xdb\xff\x6e\xff\x7b\x35\x88\x07\xb4\xf7\x3f\xe8\x9b\x5b\x51\x61\xae\x60\x80\x83\x2e\x61\xce\x71\xcb\x91\x4c\xe1\x14\x54\xa2\x02\x27\xbb\x69\x57\x74\xd1\x64\x50\x82\x12\xa6\xb0\xd2\xbb\xee\x22\x2a\x71\x32\x07\x43\xfa\x48\x8f\x40\x2e\x6e\x84\x8d\x98\x8b\x16\xdc\x88\xeb\xd1\x6c\x60\x71\xaf\x6b\x28\x61\x52\xab\x4c\x2a\x66\xc1\xe2\x94\x88\x55\x9c\x4b\x0e\xa3\x08\xd7\x0c\x31\xa4\x8c\x20\xa4\x77\xf1\x83\x16\x50\xa2\x18\xc6\x31\xf0\x31\x0c\x04\x06\xa6\x97\x71\xc2\x5c\xb8\x4d\x40\x2e\x6c\x84\x0d\x60\xed\x7a\x69\xe4\x7f\xeb\xac\x90\x76\x52\xe8\x73\x0c\xde\x02\x7f\x4f\xe1\xe6\x45\x98\x79\x42\xe8\xeb\x3e\x93\x79\x29\xbc\xbf\x75\xbe\x4d\xf9\xf9\xc3\x5f\xca\xc7\xfe\xfd\x58\xd7\x2b\xd7\x43\x0a\xba\x8d\x79\x82\xdd\xd2\xd3\x0c\xfa\x0c\xf6\xbb\xb0\xfb\xe1\xfb\x47\x84\x4f\x92\x87\x4d\x1c\x11\x34\xa9\x39\xac\x24\xbc\x38\xac\x98\x5c\xd0\x72\x6d\xe3\xd7\x0c\x74\x7b\xf2\x04\xba\x71\x4e\x85\xe3\x12\x35\x44\x02\x1b\x95\xae\x50\x31\x9c\xc4\xb7\x88\xda\x03\xc7\x8a\x4f\x32\x05\x76\xde\x68\xe7\x20\x1e\xee\x10\xb0\xda\x0c\x63\xc1\x1f\x56\x33\xb0\x16\xc6\xe2\x58\x5c\x8b\x81\x38\x16\xc7\xe1\x5a\x0e\x7f\x47\x2b\x81\x8a\x0c\x14\xfb\xa1\x1f\x83\x32\xf4\xf8\x09\xde\xde\xce\xe1\xf4\x1b\x04\x7e\x20\xc6\x31\x40\x21\x05\x63\x58\x67\xc0\x40\x25\xf2\x8e\x70\x0a\x68\xf4\x00\x0f\xa4\x51\x8e\x1e\x5d\xf0\x74\x72\xf0\x40\x0f\x90\x03\x0d\x1e\xe0\x01\x72\xd6\xa7\xda\x90\xb0\x2f\x41\x41\xac\x4a\xec\x5d\xa6\x10\x3d\x94\xc6\x38\xee\x0a\x5e\x94\xeb\xe3\xb2\xa9\x45\x3c\x1d\x39\x7a\x25\x76\x3b\x30\xbc\x72\xc3\xa1\xc0\xcf\x72\x84\x09\x51\xbe\xe6\x9a\x52\xc1\x9b\x70\xf5\x15\xbe\xa7\x5c\xb3\xca\xc1\x6f\x2c\x31\x19\x7b\x85\x2e\xe0\x69\x3e\x74\xc1\xfe\x25\x2c\x2c\x45\x07\xc1\x57\xc3\x32\x88\x87\x02\x16\x06\x8d\x20\x9c\x6d\xc8\x52\x3c\x4e\x1d\x89\x3f\xb7\xb3\x59\x30\x03\x43\xf0\x35\xa4\xb8\xbc\xb4\x30\x81\x80\xf7\xad\xb7\x6c\x3c\xcd\xdf\xce\xdb\x75\x95\x85\xc5\x80\x44\xe7\x2e\xe7\x48\x6a\xfe\x8d\x8f\x7e\x1b\x64\x0f\xb4\x2e\x48\x8d\xde\x80\xf1\x28\xf8\x56\xaa\xe0\x26\x2e\x22\x20\x4a\xe8\x7e\xec\x0b\x9e\x76\xf4\xc7\x4b\x54\x92\x1a\xaf\xe1\x4a\x02\x52\x5d\x9e\x7b\x3e\xe6\xe9\x1f\xeb\xa0\x47\xd5\x99\x07\xbb\x0e\x96\x5d\x8e\x39\x42\x22\x08\x8f\x28\xa9\x75\x26\x50\x41\x9f\xf3\x34\xbf\xf5\xd2\xac\x6c\xd6\x35\xd8\x44\x48\x63\x78\x18\x83\xdd\xa0\x07\xde\x66\x71\xe8\x58\x61\x7c\x22\xc4\x08\xdd\x09\x1f\x68\x02\x19\x44\x29\x85\x38\x21\x00\x92\x25\x6d\xd0\x01\xd3\x25\x20\x60\x07\x24\x77\x7d\x35\x84\x9e\x83\xfe\xc4\x9e\x2c\xec\x92\x74\xda\x45\xe0\x23\x41\x99\xe8\xac\x04\xda\x24\x67\x25\x20\x83\x78\x09\x34\xf1\x10\xa5\x54\x88\xfd\x1c\x32\x0a\x76\x49\x50\x06\x71\xa2\x41\x12\x57\x00\x74\x48\x50\x26\x06\x1f\xc9\x7c\xd1\x59\xc9\x15\xa7\x7d\xbe\xf8\xac\xe4\x0a\xac\x90\x08\x32\xf1\xbf\x16\x15\x4e\x3f\x57\xdc\x25\x25\xac\x12\xe2\xdc\x2d\xae\x72\x9f\xf8\x54\x27\x78\x36\x2b\x88\xd3\x5e\x0a\xe2\xe1\x15\x68\x53\xba\x06\x0a\x83\x08\x48\x86\x3f\xfe\x2d\xad\x86\x3f\x94\x02\xa1\xdc\x23\x81\xbe\x12\xce\x25\x73\xc9\xec\x12\x58\x2d\x72\x0d\x74\x0d\xb2\x4b\x20\xf9\xdf\x82\xb0\x59\xa4\x9f\xaf\x9d\x33\x8f\x0e\xab\x8f\xd9\xc3\x42\x87\x68\x4f\x7d\x7d\xcb\x55\xed\x97\xfa\x2b\x9c\xb0\x79\x9b\x44\x50\x43\x6f\xe8\x05\x62\x4f\x1e\x34\xce\x6f\x61\x93\x97\x13\xe1\x5b\x2a\x3a\x3e\x31\x36\x43\x9b\x6b\x53\xb1\x5f\xba\x7f\x8c\x6d\x38\x88\x99\xf0\xa1\x3a\x75\x0a\xa7\x57\xa5\xea\x32\x99\xc8\xa4\xda\xba\xe6\xca\xd2\x9d\x56\xae\xfa\xd7\xa7\xc5\xbf\x33\x30\x19\x86\x6c\x9d\x0a\x14\x57\xa9\x2a\x54\x47\xd3\xcf\x20\x9c\x0a\xdb\x1e\xb3\x2d\x55\x6d\xcb\x53\xb3\x5f\x61\x2f\x9c\x71\x12\x97\x32\x43\xc6\xa7\x27\xcd\xe2\x72\xd2\xb4\x39\xe9\x4c\x58\x4c\x7d\x4b\x4b\x59\x4d\xb3\x9d\xab\x7d\xf4\xa4\x02\x28\x06\xd6\xc1\x8a\xd5\x23\xe1\x03\xae\x2e\xad\x20\x29\xc6\x3d\x23\x4d\xd4\xa6\x6d\x91\x5b\x53\x35\xb9\xf9\xe9\xec\xf7\xc8\x61\xc4\x51\x0c\x62\xde\x7d\x57\x13\x33\x84\xd3\xab\xd3\x75\x69\xcc\xe6\x88\xe6\xf6\x83\xbb\x6a\x1b\xf2\xb9\x66\xf0\x04\x9f\x52\x90\x33\x90\x00\x9a\xb5\x03\x61\x06\x57\x9b\x5e\x96\x14\x4c\xc3\x26\x1c\x4c\xf9\x49\x3a\x55\x28\x53\x88\xd4\xb0\x52\xa9\xf0\xbe\x49\xc1\x39\x3c\x23\x36\x18\x62\xa2\x8d\x0c\xbe\x8b\xbb\x36\x44\x12\xae\x5c\xd7\x18\x68\x16\xd5\x46\xe2\x39\xd7\x3d\x02\xcf\xc1\x19\xb1\xd9\x5c\xdf\x60\x62\xe0\x5d\xd8\x75\xb8\x89\x10\x72\x85\x31\xd8\x2c\xda\xb1\x9b\xf0\x11\x9a\x04\xe1\xd7\x6f\x2a\xae\x57\x7a\x0a\xfb\x8f\x9d\xfd\x0c\x98\x93\xfb\x7e\x7a\x71\xd3\xcb\x51\x07\x13\xa8\x0c\xa3\x46\x93\xc1\xa8\x34\x05\xc5\x46\x2e\x1d\xb2\x4b\x84\x2a\xa2\xb8\xb0\xb0\xa8\xb8\x40\x9d\x61\x62\xcb\x5c\x55\x04\xb4\x60\x28\x65\xdc\x41\x68\xf5\x59\xd9\x3a\x56\xa7\xcb\xca\xd1\x32\x99\xda\x5c\x5b\x36\x97\x63\x35\xe4\xe5\xd1\x5d\xab\x02\xd5\xa0\xe2\x4d\x3c\x5d\x20\x7c\x6d\xca\x23\x0a\xac\xf6\x7c\x2b\x6b\xb5\x58\xcd\x79\x79\x56\x83\xb5\xc7\x7b\xf9\x3a\x6b\xa6\x86\x2e\x72\x7d\x4f\xbc\x6e\x07\x8a\xb2\x1a\xf5\xb9\x3a\x46\xa7\xcf\xd1\x19\xb9\x14\x94\x95\x63\x6f\x42\x67\xb2\xe4\x58\x19\xab\x25\xd7\x6a\xe2\xaa\xa0\x37\x71\x0d\xb6\x50\x56\x63\x8e\x5b\x2c\x27\x47\xc7\xf3\x7c\x1c\x6e\xe1\x76\xe2\x7a\x22\x3b\x37\xc7\x6a\xcd\xcd\xb5\x9a\xd8\x5d\xb0\x81\x00\x1b\x1a\x29\x5e\xcc\x8b\x71\xb1\xa0\xa2\x6c\x3a\x6b\x76\xb6\x4e\x97\x65\x64\x13\xd0\x50\x8d\x1a\x22\xdb\x64\xd5\xe5\x31\x79\x56\x6b\x1e\x57\x07\x1a\xe2\x06\x58\xa9\x7c\x63\xb6\x35\x8b\xc9\xca\xd6\x69\xb9\x04\xb4\x56\xa3\x9e\xd0\xe6\xe9\x6c\xb6\x3c\x6b\xbe\x89\xdd\x09\x7a\xe2\x16\x64\x50\xf9\xc6\x2c\x9b\x96\xd1\x66\x65\x69\xb9\x44\xcc\xa8\x42\x23\x91\x69\xcb\xca\xcf\xb7\xd9\xec\x26\xb6\x1a\x8c\x04\xbc\xc6\xec\x37\xad\x1e\x74\x78\x52\x05\xda\xfc\x4c\x4d\x96\x56\x63\x64\x79\x9e\x4f\x76\xf5\x64\x2b\xd0\x48\x68\x4c\x36\x6d\x01\x63\xcf\xcf\x2f\xe0\x78\xb1\x5b\xa7\x43\x08\xa6\x0a\x33\xf3\x35\x6a\xad\x56\xdd\x25\x99\xea\x0a\x65\xcb\x50\x4f\xa8\x4d\xf9\xda\x42\xa6\xc0\x9e\x5f\xc8\xf1\xe2\x4a\xd0\x13\xdf\x0a\x56\xaa\xc8\x98\x59\xa0\x62\xd4\x1a\x8d\x8a\x4b\x75\x59\xca\x50\x47\xa8\x4c\xf6\xcc\x42\xa6\xc8\x6e\x2f\x32\x71\xbc\xb8\x02\x74\x84\x20\x41\x35\xc5\x8b\xe1\x1b\x09\x90\x4a\x0c\x74\x64\x50\x25\xea\xc2\xf4\x74\xb5\x3a\x9d\x4d\x77\xd9\x4a\x50\x4b\xa4\x9b\x0a\xd4\x25\x4c\x49\x61\x61\x09\xc7\x8b\x4b\x41\x4b\x3c\x10\x54\x54\x99\x51\x5d\x94\xc6\xa4\xa9\x54\xa9\x46\x4e\xe5\x52\x17\xa1\x9a\x48\x33\x15\xa9\x4a\x99\xd2\xa2\xa2\x52\x8e\x17\x97\x80\x9a\x80\xc0\x3e\xe9\x0e\xa9\xb1\x30\xbb\x20\xd3\x2a\xb7\xe4\x64\x9b\x75\x8c\x36\x4b\x9f\xa3\xe3\xb2\xb2\x73\x32\x8d\x99\xa4\x5e\xac\xea\xec\x99\x87\xdd\xf3\x50\x44\xa4\x98\x4a\xd2\xcb\x99\xf2\x92\x92\x72\xce\x7d\x49\x4a\x20\x95\x70\xfe\x56\x49\xc1\x28\x94\x82\x14\x47\x06\x05\x6b\xd3\xb7\xb1\x90\x1f\x87\x61\xb0\x16\x4b\x98\xf9\x0b\x55\xf1\x01\x5c\xbc\x36\x5b\x9b\x42\xbf\xee\x2b\x4e\x2e\xc9\x28\x37\xb0\x6e\x1f\x6a\x17\x8c\x04\x29\xf4\x86\x91\xac\x0f\xda\x21\x5f\xd9\x05\xd6\xed\xb0\x3b\xec\x54\x9e\xa4\xd3\xee\x9d\x27\x11\x64\xde\x79\x12\x9d\xc4\xbb\x2b\x7d\x9c\x18\xfb\x71\x28\x13\x63\x3f\xf8\x0d\xc5\xb0\x5f\x52\x29\x61\x41\x26\x86\x7e\xf8\x1b\x88\x5d\x93\x59\xb7\xff\x23\x3b\x13\x96\x00\x75\xa7\x1b\x2e\x0b\x71\x4f\x25\x42\xf9\xa5\xbc\xe3\x91\x6d\x5d\xe9\x38\x22\x0e\x74\x25\x86\x6f\xb3\xf7\x53\x4a\x7b\xea\x05\x7f\x91\xab\xd0\xf5\x11\xb5\xf8\xf8\xca\x87\xa1\x2f\x8a\x6e\x98\x2e\x99\x2e\x93\x05\x7c\x41\x01\x2d\x25\x49\x0b\x6f\x36\x5a\x58\xb3\xd9\x64\x31\x59\xf2\x9a\xf5\x35\xaa\x12\x52\xda\x66\x2f\xd0\xaa\xac\x69\x8c\x51\x94\x20\x4a\x4c\x4b\x8b\xcd\xe2\x92\xe7\x16\xa0\x77\x33\x7a\xee\x18\x1f\x3a\x66\xfd\xa8\x2d\x13\x43\xe6\x45\xac\x22\x4d\x46\xb3\xd1\xc4\xea\xf2\x35\x16\xad\x0e\x7b\xce\x5b\x3e\x55\xb3\x4e\x9f\x98\xab\xb6\xea\xba\x70\xec\x8d\xb5\x2a\x5f\x9d\xdd\x6e\x28\x60\x2e\x7d\xfb\x08\x3e\xfe\x87\x7b\xb5\x17\x06\xee\x06\xae\x94\xdc\xf0\xe0\xb7\xa8\x2b\xcc\xe9\xd2\xaa\x0a\x0b\xc7\xf3\x26\x9e\x35\x99\x4c\x66\x93\xa9\xb0\x36\xbb\x22\xab\x80\x6c\x8f\x1d\x97\x3f\x87\x09\x09\x32\xe8\x36\x71\x11\x15\xd1\x15\xb1\x55\xa4\x74\xba\xda\xd5\xe1\x1a\x41\x95\xee\x39\x76\xed\xce\x85\xf9\x03\x37\x6e\x8c\x4c\x27\x85\x77\x9d\xc3\x28\xb7\x26\x2d\xf5\xf6\xcb\xcb\xca\x53\x9b\x92\x4d\x06\xde\x60\x32\x1a\xf4\x46\x83\x51\x4f\x4a\xbd\xa7\x1b\x54\xfa\x74\x43\x8a\x21\xc3\x90\xa6\x4f\x75\x1b\xd1\x9e\xe3\x8f\x17\x34\x90\x52\x92\xc4\x9e\x9d\x83\xa9\xd2\xfa\xd2\x86\xd2\x06\x52\xda\x93\x6c\xbb\xd5\x70\xb5\xf2\xf3\x3d\x33\x0f\x2f\x3a\xb1\x91\x94\x92\xde\x76\x6d\x41\x56\x81\xd6\x2d\x38\x38\x79\x70\xf4\x98\x50\xd2\x41\x97\x51\xa6\x2e\xd7\xd8\x98\xa3\xe3\x33\x99\xc8\xf5\x05\x15\x81\x1c\x78\xee\x4a\xd2\x59\x39\x1f\xbd\xc4\x69\x07\xa9\x44\x98\x68\x83\x9f\xff\xc3\x90\x52\xe0\x36\x94\x51\x70\xda\x6f\x94\xe8\x0f\xd7\xbc\xdc\x54\x73\x8a\x29\x43\x6e\x4e\x20\x72\x45\xb9\xd5\x96\x62\x53\x79\x6e\x99\x1c\xde\x13\x0e\x12\x20\x12\xc1\x7b\xae\x83\x6e\x01\x4b\x86\xdc\x94\x65\xd6\x66\xd3\xb9\x22\x73\xb5\xa9\xd8\xec\x96\xf9\x43\x98\x47\x8c\x7a\x05\xa7\xfd\x66\x89\x70\x42\xe7\x60\x02\xc7\x88\x50\x26\x24\xeb\xca\x8c\x65\xfa\x12\xb9\xbe\x96\xc8\x11\x69\x8d\x5a\xa3\x96\x35\xa4\xea\xd3\x74\x69\x28\x73\x25\xfb\xba\x65\x26\x38\x06\x13\xb3\x44\x5d\x3d\x7b\x2a\x11\xbe\x7d\x3e\xea\xf9\x75\x90\xad\x50\x4a\xe1\x0d\xc0\x55\x48\xe7\x6e\xea\xba\x08\x56\x40\x1b\x2e\x81\x3a\x62\xf6\x2b\x38\xe4\x37\x4d\xf4\x12\xc7\xe4\x67\x5a\xb3\x72\xb3\xe4\x66\xbd\x59\x6f\xca\x21\xcd\x22\xa3\xbd\xb4\xa8\x92\xfd\x07\xc6\x10\x33\x5e\x41\xb3\xdf\x1c\x11\xae\xc4\x56\x08\xc0\x5d\xc4\xf5\x7e\x22\x29\xe2\xe1\x97\x5f\x8b\xfc\x60\x6c\x56\x41\x76\x5e\x4e\xbe\xdc\x60\x31\x58\x8c\xb9\xa4\x41\xa4\xcf\x4e\x4b\x52\x71\xef\xe1\x58\xe2\x4e\x3f\xdc\xd3\xe5\xac\x67\xc0\x24\x20\xa0\x1a\x74\x4f\x25\x42\x25\x14\x65\x74\x75\xa7\x53\xfd\xa6\x3f\x71\x9d\xbb\xa9\x9f\x85\xcf\x46\xbc\x12\xbc\x45\x47\x8f\xe6\xa4\xed\xe3\xbe\x0f\x3d\x33\x1e\x3d\x69\xf4\x5c\x36\x7c\x54\x04\x9b\x11\x12\x64\xd8\xc8\xa0\x12\x27\xfd\xd2\x0f\xef\x89\xe0\xa5\xd0\x87\x92\xbe\x56\xef\xde\x65\x2d\xa8\xe6\x0e\x56\x57\x1d\x3a\x47\x9f\x4e\x6c\x0f\xa9\x66\x8b\x12\x62\xf2\x42\x19\xec\x81\xd5\x5d\x8d\x6e\x93\xe0\xb4\x04\xa7\xec\xa9\x04\x92\x24\x2b\x94\xd2\xcf\xba\x5a\x43\x99\xab\x83\xc2\x0e\xe8\x70\xff\x35\x47\x2a\x09\xe9\x03\x0c\xe8\x02\x15\x72\xda\xc5\x9d\x1d\x82\x9d\x7a\xf9\xe8\xd1\x4b\x78\x28\xe1\xba\x7e\x63\x5d\x80\x1d\xfc\x9b\x34\x71\xbd\x79\xf8\xc0\x5d\x5e\xa1\x94\xfe\xb6\xd7\x21\x53\x78\xab\x61\xb1\x04\x64\x68\x87\xc5\x5d\x2f\x0d\xfe\x3d\xa3\xa4\xe5\x7b\xbf\x52\x8a\x1c\x8b\xa1\x98\xc2\xab\x70\xf5\xdf\xb7\x1d\xaf\x65\x57\x24\x5d\x09\x6f\xe0\x98\xf2\xcd\xab\x10\xd7\x62\xd0\x53\xe5\xd9\xe5\x99\xb6\x2c\xb8\x86\xd7\x7c\x6d\x59\xf6\x94\xbc\x14\xd2\xd5\x43\x24\xed\xe7\x27\xc8\xe0\x7b\x89\x02\x3d\x16\x4b\x04\x3b\x68\x95\x2e\xff\xef\xdc\x9d\xef\x14\xe3\x39\xaa\x41\x1b\x5b\x19\xc5\x4c\x06\x99\x20\x55\x8a\xa4\x33\xa7\xbf\x8f\x8f\x13\x16\xf2\xb4\x2e\x45\x9f\x92\x4c\xa3\x17\x78\x4c\xec\x82\x67\xf6\xb8\x0f\x5e\x15\xfa\x72\x5d\x39\x2b\xed\xe7\xc7\xc7\x7f\x31\x0e\x0e\xb0\xd2\x99\xd3\xb1\x9f\x6b\x2b\xf5\xf1\xd2\xc6\xd6\xd6\xf3\x8d\xb7\x6e\x9d\x8f\x0a\x0d\x5d\x1a\xf5\xb1\x7b\xb0\x82\x0c\xec\xc2\x9b\x8b\x35\x1f\x64\xd0\x01\x32\xe9\xc9\xae\x2b\x26\x9d\xd9\xd9\x88\xc1\x94\xca\x9a\xa1\xd7\x64\xe2\x44\x9c\xe4\x8b\x7d\x27\x28\xa1\xaf\x08\x26\xe2\xa4\x7f\xb3\x84\xbe\xc9\x11\x2a\xb4\x8b\x8b\xb5\x45\x2a\x2b\x2b\x8c\xed\x9c\x45\xa5\xa7\x5b\x0b\x54\x5c\x74\x4d\xce\x81\x9d\x0d\xe4\xd5\x7b\xad\xbf\x3f\xa7\x9f\x87\xfe\x3e\xef\x1e\x1b\xd7\x90\x7b\xa0\x61\x67\x7d\x4d\x7b\x4e\x4d\x34\xf9\xfd\x80\xa3\x48\xa1\x2f\x8d\xbe\xeb\x90\x9a\x30\x80\x4d\xcd\x48\xd6\x26\x31\x18\x02\xef\x53\x69\xa9\x79\x85\x19\x5c\x6c\xad\xa1\xbd\x6e\x17\xd9\xd2\x56\x79\xf4\x04\x7d\x22\xe9\x68\x58\x1b\x1b\xbb\xcb\xdc\x5e\x57\xbb\xab\xb6\xdd\x58\xbb\x9d\x3c\xb7\x68\xf7\xd4\x0f\xe9\x0f\x23\xa6\x2e\x5b\xc4\x66\x64\xa4\x64\xa5\x30\xff\x4e\xfc\xae\x81\x74\x74\xdd\x0b\x9d\x5d\x03\xe9\x94\xa1\x8c\x72\xc9\xfe\x92\xb8\x64\xff\x22\xf9\xc8\x92\x95\x82\x4c\xfc\xad\x44\xfa\x4a\x50\x1b\x28\x53\x4e\x8e\x29\x87\x11\x3c\x24\x1c\x56\x60\x25\x31\x4a\x0c\x6e\x92\x9d\x67\xff\xdf\x03\xec\xf8\x77\x80\xee\xc9\x31\x20\xc1\xe9\xfb\x7f\x22\xc7\xf9\xa3\x8c\xc2\x04\x3c\xa3\x55\xf3\xa9\xf9\x6a\x39\x24\xe0\x99\xc2\xf4\x2a\x7d\x49\xa1\xfc\xd4\xbe\x92\x42\x4b\x95\xba\x44\x8e\xf3\x20\x07\xe6\x41\x4e\x61\x89\xbe\x2a\xbd\x50\xbe\x6a\x5f\x7a\x61\xa2\x5e\x9d\x2e\x77\x1c\xc2\x33\x14\x26\xc0\x19\x75\x49\xa2\x25\x5d\x2d\x5f\xb5\x35\x5d\xad\x4f\x2c\x4c\x97\xc3\x3c\xcc\xc1\x79\x98\xa3\x4e\xb7\x24\x96\xa8\xe5\xa7\xb6\x96\xa8\xab\x2c\x85\x25\x72\x48\x80\x33\xf9\x85\x7c\x99\xb6\x50\xde\xe9\xe1\xda\x44\x5d\xd6\x94\xeb\xcb\x0b\x2d\x15\x72\x60\x1d\xb7\x2d\xe5\xea\xf2\x64\x8b\x7c\x41\x41\x8a\x25\x45\xad\x4f\x96\x23\xdb\x79\x5b\x9f\x52\x98\x52\xa1\x97\xfb\x08\x69\xb0\x45\x78\x02\x16\x4f\x47\x32\x94\x41\x3c\x54\x7b\x29\x88\x6f\x1c\xab\x29\xcd\xa6\x4d\x39\xc1\x0c\x06\xe3\x38\x18\x08\xf9\xd0\xeb\xf8\xd5\x1b\x57\x0f\x2d\xc1\xb7\xe6\x24\xcf\xc8\xd8\xc8\x5d\x45\x02\x3e\x6e\xe5\xe9\x7d\xdf\x57\x81\xc7\xaf\x34\xe4\x63\x1f\x78\x1f\x33\xd1\x80\xfd\x71\x31\x9a\xd1\x08\x62\x0c\x81\x25\x43\xd9\xc9\x38\x66\x00\xf6\xeb\xd7\x0f\x97\x41\x1a\xce\x84\xcb\x1f\x0b\x7f\x91\xd8\x26\x82\x3e\xaf\x33\x05\x1a\x3b\xfe\x59\x78\x31\xf4\xa4\xf9\x74\xd3\x83\x63\x90\x0b\x56\xf0\x83\x63\xe4\x85\x9b\xb6\xb2\x9b\x9c\x0f\x2c\x92\xc0\x70\xc7\x07\x6f\x76\x59\x0c\x44\x08\x5e\x14\xd4\xc0\x1c\x78\x8c\x3b\x08\x44\x71\xe7\x07\xc2\x21\x0a\x0a\xc5\xb0\x1c\x29\xc2\x21\xea\x1c\x4f\x01\x8a\xe1\x31\xec\x80\x1a\x9c\x43\x74\x4e\xfe\x89\xc2\x3a\x98\x07\x5d\x3b\xce\x23\x3a\xa7\xfd\x42\x61\x0d\xcc\x11\xfe\x14\x06\xba\xd5\x1d\x22\xbc\x41\xc1\x72\xa0\x08\x2c\x14\xe3\x03\x88\xa5\xf0\x31\xec\x20\x00\xc5\xc2\x9f\xae\x81\x04\x44\xf4\xa9\xcb\xa8\x4b\x28\x61\x3b\x2f\x09\x87\x88\xfc\x8c\x34\x6b\x1a\x93\x96\xa6\xd3\x66\x70\x9d\x97\x5c\x87\x88\x84\xf4\x8c\xd8\x58\xda\x75\x48\x1c\x5b\x1c\x5b\x9d\xce\x3a\xdc\x3c\x6d\x57\x40\x76\x69\xa9\x35\xbf\x98\x73\xb8\xb5\xaa\x4b\x8a\xeb\xea\x68\x1f\x68\x32\x41\x1a\xbc\x0b\x3a\x4f\x5e\x41\x7a\x78\x29\xc4\xa4\xc3\x4a\x15\x99\x8a\x8a\x68\x78\x80\x75\x50\x83\x3f\x62\x0e\x06\xa1\x1f\xae\x1f\xcc\xb6\xad\x59\x54\x33\x9f\xc1\x91\xd8\x0b\x7b\xe2\x07\x51\xb9\x31\xf9\xdb\x39\x7c\xfb\xe3\x89\xd8\x07\x07\xd3\x18\xdb\x95\x8b\x2c\x2e\x83\xb5\x8a\xcc\x22\x93\x48\xe1\x7d\x54\x64\xb3\x19\xf3\x19\x88\x85\xb9\xf0\x09\x44\xc3\x87\xef\xc1\xbb\x38\xe0\x12\xa7\x70\x5e\xc5\x4a\x0a\x3e\x04\xe5\xaf\x30\x82\x85\xab\xe7\x5d\x32\xd8\xc6\xdc\x39\x77\xe2\xee\xcd\xb9\xc7\xe6\x2e\x5d\x1f\x1b\xb4\x85\x8b\x68\x8b\xdc\x1b\xde\x4a\xde\xb8\xd9\xd1\xf0\x3b\x03\xa3\x41\x3e\x04\x27\xe2\x04\xf4\x1d\x8c\x23\x39\xec\x58\x2b\xc8\x30\x86\xf9\xe4\xd3\x35\x33\x67\x7c\xbe\xf6\xd6\x85\x23\x75\x07\xda\xb9\xa6\x90\xe6\xd0\xc6\x10\x72\xf6\xc7\x1f\x47\x0c\x66\x70\x0c\xca\x7f\x85\x29\x9c\xcf\x4b\x89\x53\x06\x55\x92\x91\xca\x5c\x09\x87\x32\x6f\xe8\x03\xef\x84\x2d\x05\x0f\x0e\x57\xe0\x0a\xa2\x62\x45\x40\xc1\x62\x66\xc9\x32\x4d\xf2\x0a\x0e\x57\xc0\x0a\xe2\x3c\x78\xc0\x3b\x2d\xd0\x87\xe9\x9c\xf8\xba\x93\x5a\x0a\x1e\x61\xf0\x0e\xf4\xa1\xa1\x4f\x0b\xbc\x73\x1e\x3c\x58\x70\x6b\x25\xaf\xd0\x04\x2c\xa6\x97\x14\x2c\xab\x58\xc1\x0a\x49\xae\xdf\x29\xec\x83\xef\xb4\x9c\x47\x0f\x0e\xdc\x36\x92\x4f\x9f\xd3\x5c\x60\x2e\x9e\x2d\xa8\x38\xcd\x75\xc9\x2f\x45\x0f\x7c\x27\x0c\xfb\x30\x82\xcc\x1b\x43\xe1\x37\x25\x84\xd6\x48\x04\x99\x12\xa7\xef\x55\x72\x42\x12\x44\x52\x15\xa7\x0b\xce\x5d\xa0\x2f\x68\xce\x25\x9f\x66\xbb\x6c\x9c\x47\x8f\x16\x7c\x07\xfb\xd0\xd8\x27\x0c\xdf\x59\x8a\x1e\xac\x4f\x35\xc6\x41\x9c\x67\x33\xc4\x19\x94\x10\xe7\xa5\x10\x3d\x74\xc8\x28\xe1\x13\xec\x00\x74\xf9\x7f\xc1\x62\x92\x18\x8e\x2c\x86\x18\x2c\xc2\x2f\x68\x7c\x89\x07\xf0\x00\xbe\xfc\x6f\x61\xc2\x17\x10\x03\x45\x70\xe4\x22\x0b\x49\x62\x97\xff\x42\xec\x40\x74\x7d\x42\xbb\xb6\x0b\x7d\x5d\x7d\x85\xed\xc2\x76\xa1\xaf\xd0\x57\xd8\xce\xfa\x54\x2b\x88\xb9\x89\x35\x89\xbd\x2b\x21\x41\xd8\x0d\x69\xc2\x6e\x48\x96\x26\x49\x8f\x54\x3a\x86\x50\x2e\x5d\x9a\xc0\xb8\x26\x08\x3c\x23\x14\x09\xde\xc2\x5b\xc2\xce\x2c\x2e\x5b\x98\x8d\xe9\x30\x03\xe7\x82\x2f\xc9\xc7\x16\xd4\x24\xb2\xbc\xf0\x81\x2b\xde\x25\xc6\x87\x2c\x8f\x6b\x71\x1a\x76\x87\xb1\xec\x20\x50\xb6\x43\xcc\xf9\x7f\x48\xfe\x2a\x78\xff\xd1\xcc\x4a\x93\xde\x03\x31\xc1\xfb\x2d\x5e\x3d\x81\xe5\xad\xe0\xf3\xd5\x73\x16\xfd\x61\x2e\x8e\xc5\xf9\x04\xff\x1d\x8a\xf5\x7e\x2c\x3f\xfb\xef\x31\xfb\xd8\xfe\x28\x26\x78\xa0\x02\xda\x46\xb1\x3c\xf4\xc3\x7a\xe4\x70\x2e\xcb\xe3\x00\x9c\x8a\x73\x60\x36\x8b\xcf\xe1\x6f\xa1\x97\xb0\xbc\xba\x8a\xb4\x5a\xb2\x0d\x46\x06\x2b\x70\x26\x0e\xc4\x72\x0d\xee\x27\x7d\xaa\xd1\x7e\xf8\xf0\x35\xe8\x91\xa0\x20\xd6\x26\xb6\x5c\x3b\x7c\xb8\x37\x7f\xf8\x10\x7c\xa0\x20\xfc\xe0\x83\x43\x87\xa5\x70\xda\xf1\x7a\x00\xb5\xd9\xb4\xd9\x1a\x64\x2b\x7f\xe4\x8b\x03\x1b\x51\xf6\xf5\x07\xaf\xe6\x2d\xf5\x8d\xd9\x1d\xdb\x92\xd0\x4a\xf2\xe2\x25\xdb\x80\xc3\x78\xe0\x71\x18\xb4\x6a\xe5\xae\x5f\x85\x5f\xa8\xb8\x6b\x19\xb7\xbf\xa2\xbf\x2a\xba\xbd\xf3\x1a\xfb\x61\x43\xf1\xfe\xf2\x7d\x95\xad\xf2\xa5\x2d\xc4\x42\x14\x85\xa0\x2f\x72\xb4\xdb\xcb\xf5\xfd\x02\x45\xec\xf9\x96\xa4\xb6\xd4\xbd\xe9\xfb\xe5\xdf\x37\x10\x0a\xef\x1f\x70\x16\x95\x10\x1a\x1b\x16\x13\x31\xef\xbc\xef\x07\x7e\x28\x9b\x86\x03\xa3\x48\x69\x77\x8f\xf2\xb1\x41\x59\x9b\x75\x9b\x8d\x72\x69\x2f\x8f\xb9\x62\x68\xcd\x07\x1e\x86\x01\x07\xf1\x24\x6e\x15\x1e\x52\xf1\x97\xb7\x9d\xdf\x78\x02\x17\xe2\x38\x5f\x29\xa9\x0e\x3e\xb4\x6a\xf7\xe2\xa2\xe3\x90\xe5\x6b\x8b\x08\xb3\x6c\x63\xb6\x85\xe9\xb3\x22\xb8\xe3\x98\xb5\x58\xb5\x2a\x22\x78\xa3\x1c\x17\xc2\xb8\x8d\x81\xdb\x96\xc6\x2f\x90\x43\xfa\x24\x22\x33\x46\x17\x1d\x49\x47\x5a\xa3\xed\x31\x2c\xa6\x4d\xaa\x5e\xb0\x67\xe9\xa1\x40\x39\x2c\x84\x71\x7b\x37\x9e\x8a\xbc\xa8\x92\xaf\xc1\x6c\x22\x7b\x77\x4b\x8e\xe0\x25\xc9\xcd\xdb\xcd\xad\x81\xec\x8b\x45\xa7\x9a\xf6\x1e\x92\xc3\x42\x1c\x77\xe8\xc4\x9e\xf3\xd5\x97\xe5\x98\x76\x8f\xb0\xd7\x5b\x1b\x9a\xe8\x26\x5d\x43\x66\x3d\x0b\xe9\xf7\x08\x17\xef\xe8\x4b\xf1\x62\x6c\xd5\xa2\x11\x87\x22\x87\x09\xe7\xc3\x7c\x6b\x5a\x6b\x5b\xea\x9b\xae\x2e\xf3\x7d\xfa\x0a\x64\x5f\xc3\xc0\x86\x94\x47\xbe\xfb\xf3\xdb\x73\xdb\x4d\xa4\xe3\x76\x67\x0a\x05\x5c\x08\xf8\x2e\x04\x11\xbb\x34\xac\x32\xb4\x7c\x6b\x71\x90\xfc\xc3\x68\x62\xe7\xdc\xa2\x8f\x66\xd0\x33\x32\x3e\x8a\x9b\xcb\x7e\x1f\x9d\x1e\x94\x1a\x9c\x14\x22\x3f\x1f\x46\x7c\x01\xa2\x36\xf0\x05\x8e\xc6\x1e\xc2\x24\x0a\x39\x48\x40\x23\x0c\xc5\xd6\x7c\x72\xae\xb8\xdd\xd8\x9e\xb3\x5f\x9b\x32\xd6\x17\x06\x46\x83\x6c\xda\x53\xbf\xab\xe7\x7c\xeb\x23\x6b\xc3\x6a\x42\xcf\xb7\xf8\xc2\x78\xd7\x24\xca\x15\xe6\xea\xed\xea\xed\x0a\x73\x53\xa1\xb7\x10\x26\x84\x09\x5d\x94\xe5\xc5\xee\xa2\xbb\x8a\x3b\xdc\x27\x57\xc2\xf2\xe2\x91\xca\xae\x37\x74\xf3\x5f\x81\x14\x3a\x60\xe6\x8b\x5f\x61\x0e\x18\x84\x9e\x12\xe8\x0d\x6b\x71\x11\x0c\x85\x89\x5f\x80\xef\x25\xf8\x12\xec\xd2\xce\x87\xc2\xb7\x90\x44\x9d\x59\x64\xdb\xb4\x61\x79\x66\xc0\xb2\x2b\x59\x87\x58\xe9\x4c\x8f\xc3\x27\x8a\xce\x70\x21\x42\x30\x75\x2c\xee\xe0\xaa\xa5\x89\x5b\x57\xae\xac\x09\x3f\xcb\x4a\xfb\x79\x9c\xa9\x6a\x3d\xc9\xc1\xc4\x3b\x54\xaa\x2e\x25\x27\x35\x87\xcc\x4b\xc9\x4d\x49\xa6\xdf\x9d\x37\x79\x40\x22\x1b\xa1\x4b\x4e\x0f\xa3\x43\x8f\x27\x36\xe8\xd8\xef\xd3\x7e\x8a\x1c\x44\x63\xbf\xa1\x6b\x51\xd6\x0f\xdf\x6e\x03\xe9\x57\x47\x0e\x5d\xaf\x61\x2d\xe2\xa8\x72\x55\x7d\x0b\xdd\x9c\xb7\xbf\xb9\x84\xb5\x88\x17\x56\x6f\x7e\xf4\x05\x0d\xe4\x8f\x0f\x40\xb4\x7f\x9f\x26\xa9\x85\x3d\x7a\xb4\xb8\xec\x10\x87\xbd\xc4\x17\x5d\xe3\x29\x4b\x1d\x5f\x57\x47\x0b\x0a\xf1\x4e\xbe\x4e\xbf\x93\x05\xa5\xc8\x10\xc7\xc7\xc5\xd1\xae\xbe\xe2\x18\x3e\xda\x1c\xc3\x0a\x64\x19\x95\x1c\xb6\x35\x3b\x98\x41\xdf\xd4\xe7\xe0\xc1\x41\xa4\xd9\x2c\xd6\x6a\x4d\x59\x4c\x86\xca\x60\x54\x71\xd0\xfd\xd2\x31\x71\xa5\xb1\x42\x5f\xc1\x82\x9f\x48\xb7\xcd\xbc\x6d\x1b\xfd\x02\xbb\x8b\x92\x53\xcc\xc9\xcc\x4a\x8c\x17\x05\xe7\xaf\x3f\x52\x5b\x6b\x2b\xa9\x62\xf1\x6d\x31\x0a\x8e\x15\xd4\xba\x90\x8d\x6b\xd6\x04\x1f\x3c\x76\xbc\xed\xd0\x89\x13\xad\x1b\xd6\xb2\x82\x70\xdc\x4f\x59\x8d\x76\x98\x01\x87\x60\xbd\x90\x05\x9f\xe2\x34\x98\xdb\xfb\x3a\x6c\xc4\xe5\x10\x86\xdd\x20\x18\xfa\xc3\x66\x1c\x04\xeb\xc1\x03\xc2\x20\x00\x22\xa5\xbf\x3c\x14\x7e\xae\xa1\xfc\xa7\x24\xcf\xfc\xe4\xbd\xc2\x1f\x7f\x78\x5c\x7a\xeb\xfa\x6f\xaa\x31\xec\x62\x47\x0e\x35\x31\x7c\x99\xff\x98\x90\xcf\xbe\x7f\xd0\xfc\xf9\xcf\xdf\xb7\xcd\x9e\xce\x42\x0d\xdc\xa5\x62\x3e\x99\x91\x38\x9d\xd9\xbd\x7c\x61\x59\x57\x0e\xab\x01\xa8\xc4\x45\x03\xaf\x21\xf7\xd7\x36\x2e\x47\xbc\x32\x4e\xbd\x60\x15\xbd\xbc\x7a\xc3\xd1\x68\x36\x47\x8c\x9e\x21\x33\x3f\xc1\x1e\x34\x6e\x86\x95\x4b\x61\x1a\x04\xc1\x88\x3b\x90\xcc\x4a\x65\x6a\x68\x75\xbd\xdf\x1f\x3e\xa0\xcf\x34\x56\x9f\x2c\x60\x61\xe2\xee\xe7\x40\xc1\x14\xba\x31\xbb\x41\x53\xcf\xd6\xe7\xed\xb2\xed\xb2\x93\x70\xab\x73\x12\x95\x73\x84\x3f\x7c\x84\x16\x1c\xe2\x76\xe3\x41\x6b\x3b\x8b\xb1\x22\xeb\x26\xe3\xc6\x8d\xb4\xeb\xa5\x78\x3d\xbf\x21\x67\x3d\x0b\xb1\x22\xe1\x77\x88\xa5\xe2\xc3\xb7\xaa\x83\x98\x19\x19\xb7\x2f\x72\xd2\x4c\x0f\xc1\xf3\xa1\xb8\xa1\x31\xa7\x91\x81\xa5\x38\x4d\x2c\xd5\xab\xcf\x1a\xce\xe6\x9f\x65\x31\x51\x64\x8d\x32\x45\x46\xd2\xd2\x77\xd5\xd3\x86\x8a\xa5\x1a\x0f\x5c\x2a\xb6\x54\x56\x59\xaa\x8a\x8a\x0c\xc5\x8c\x54\xaf\xce\x31\xe0\x73\xb1\x74\xf9\x46\x9c\x59\x87\x53\x20\xec\xd2\xe7\x05\x8d\xa7\x59\x57\x87\xc2\x3b\x91\xba\xb3\xec\xf6\xe4\x49\x4b\x66\x4d\x9d\x76\xf1\x93\x6f\x59\xe9\x46\xbf\xbb\x17\x6e\xde\xe1\x7c\x8e\x49\x7e\xf0\x53\xba\x54\x82\xf8\x1f\xe7\xd2\xe7\xbd\xcf\x3f\x5f\xf5\xdc\xa9\x7c\x2e\xbd\x2b\xfd\xc5\xf1\xbd\x73\x15\xf5\xca\xff\x51\x3f\xbf\xb1\x63\xfd\x62\xac\xdb\x0b\x77\xb0\x9b\x36\xac\x5f\xbe\x7e\x0e\xbe\x83\xf3\x91\xc3\xcb\xfb\x5d\xf3\xc8\x18\xcb\xce\xc4\x5d\x66\x13\x6f\x66\x1a\x2c\xd5\x75\x86\xc6\x48\xf8\xe6\x06\x1c\x84\xf1\x60\xd8\x7f\xe1\xc0\x89\xb6\xfd\x64\x7c\xf3\xbe\x8c\x76\x46\x7a\xf7\xe5\xe3\xc7\x2f\x39\xa1\x97\x9a\x82\x3b\x58\x02\x25\x78\x07\xbf\xc2\x52\x2c\xc1\x3b\x23\x6a\x46\x1c\x9c\xc8\x16\x6f\xdf\xad\xd9\x55\x5c\x57\x5c\xb0\x3b\x63\x17\xb9\xed\x7a\x72\xc7\x5d\x1a\xca\x21\x1c\xc2\xa1\xdc\x4d\x31\x1c\xcb\xb1\x1c\xbb\x68\x48\x70\xae\x3d\x94\x8d\xce\x8b\x49\xce\x8a\xc9\x8e\x2e\x8f\x6e\xc8\x22\x33\x0f\x1d\xd6\x1d\x66\xe0\x0e\x94\x40\x09\x7c\xc5\xf9\xbc\x90\x54\x28\x44\xf7\xbd\x60\xa7\x23\x8a\xc2\x91\x28\x19\x8a\xef\xe3\x5a\x3a\xd8\x1e\x59\x12\xc6\x1a\xf2\xf4\xda\x7c\xc6\x24\xba\x90\xf7\xd9\xd9\x9a\x53\xa4\xd5\x6c\x29\xb5\x31\x56\x7d\xe9\x47\xbf\xe1\xcc\x1b\xa9\x72\xb3\x9e\xd0\x1b\x79\xa3\x91\x35\xea\x72\x8c\x3a\x26\xc4\x10\x97\x12\x91\x4d\x06\x85\xa8\x52\x97\xd1\xd8\x07\x8e\xe9\xbe\x7e\x04\x83\x2b\xbe\xfc\x9c\xdd\xa5\x6f\xcb\xad\xcd\x22\xb7\x81\xf8\x8f\x70\xf0\x61\x7e\x86\x0f\x0a\x1f\x9d\xe7\xf2\x0b\x0d\x45\xd6\xc2\x94\x5f\x47\xe8\x96\x9e\xbd\xfa\x45\xeb\x37\xcd\xdf\x5b\x73\x7d\x4d\x26\xde\x68\xe2\xb6\x97\x1c\x1a\xb6\x9f\x39\x57\x09\x3e\xad\x30\x7a\x0a\xb0\x63\x41\xca\x19\xcd\xd9\xf9\xe6\xda\x8a\xfa\x7a\xfa\xcc\xf6\xcf\xa2\x0e\xb3\x46\xeb\x6a\x50\xad\x80\x05\xa8\xfa\x43\xbe\xe7\xc3\xa1\xd5\x63\x18\x24\xd0\x23\x25\xf0\x3d\x0e\x27\x4d\xc2\xfe\x98\x8e\x0b\xe9\xc4\x14\xf5\x0a\xd3\x76\x32\x25\x21\x79\x7d\x34\x9d\x6c\x4a\xb1\xa5\xb0\x3e\xd0\x94\x9f\xe0\xe8\x07\x87\xde\x3c\x82\x09\x77\x9d\x97\xa8\xe5\x21\x21\x01\xcb\x03\xda\xce\x9c\x3d\xdb\x76\xe6\x6c\x5b\x48\x00\xeb\x48\x75\xe5\x52\xc1\x21\x21\x01\x21\x21\x6d\x7b\xdb\xda\xda\xda\xce\xb6\x85\x84\xb0\xa8\x16\x72\xdd\xb2\xcb\x03\x96\xb7\x9d\x39\x7b\xa6\xed\xec\x99\x2e\xd9\x77\xdc\xb2\xc1\x21\xcb\xff\x93\x3d\xb3\xd7\x2d\x5b\x29\xf4\xa3\xe0\xc8\x42\xbc\x06\x91\x28\x30\xae\xfe\xf8\x2d\xd6\xe2\xef\xb8\x06\x3c\x71\x02\xcc\x45\x29\xf7\x11\x46\x41\x1e\x48\x89\xe4\x9f\x6e\x27\xff\xc4\xec\xac\x31\x99\x77\x72\x69\xc7\xb5\xa7\x4e\xd3\x70\x03\xea\xa0\x00\x7e\xab\xdd\x69\xd4\xef\x64\x85\x1f\x5c\x17\x28\x38\x84\x87\x40\x8d\xdf\xe2\xef\x58\x8b\x6a\x74\x9f\xd5\xa2\x1a\x7e\xbf\xdd\x51\x59\xd1\xc1\xc2\x1a\xf4\x0c\x80\xb9\x04\x0c\x04\x4f\xf0\x80\x01\x30\x9e\x76\x3f\x33\x2b\x44\xff\xe3\xa5\x10\xfd\xa0\x20\x5e\x52\x36\x4d\x46\x6e\x06\xa3\x56\xeb\xb3\x35\x9c\xc2\xa1\x7e\x1d\x90\xa0\x52\xc5\x99\x76\xc8\xcd\xb1\xa5\x09\x3b\x33\x05\x0e\xc7\xf9\x3a\xcf\x38\x47\x75\xbe\x78\x7d\x98\xc0\xbf\xc5\x31\xe5\x3b\xea\x32\x59\xbd\x2d\xdf\x68\x63\x2a\x2b\xf2\x4b\x8b\x38\xd0\xc1\x71\x61\x35\x2e\x84\xee\xca\xff\xcb\x74\x62\x49\x8c\x29\x21\xa3\xcb\xa8\x6f\x82\x2a\x23\xce\xbc\xe3\x5f\xa3\x11\xb8\xdc\xd7\xb5\x4a\xbc\xbd\x6c\x47\x9d\xa6\xcb\x56\x7e\xd7\x12\xc5\x22\x0e\x4e\xc1\x3d\xa1\x16\xc3\xa1\xbb\x12\x7f\x55\x38\x07\x50\x2e\x35\xac\x13\x62\x1d\xfb\x3a\x9f\x77\x4a\xf1\x07\x50\x2a\x88\x52\xc7\x75\xc2\x67\xbf\xd2\xed\xa3\x09\x1d\x60\x9f\x9f\xd8\x1b\x92\xba\xdc\x50\xe9\xfd\xcf\x94\xa0\x54\x92\xd2\xdf\x50\x09\x2c\x71\x5d\x02\xbf\x2b\xa5\xf7\xf1\x63\x18\x08\x11\x03\x21\x99\x81\xc5\x4a\xae\x53\x06\xed\x70\x55\x82\x2f\xe0\x9e\x52\xfa\xdb\x54\xa5\xf4\x3e\x04\x48\xba\x72\xbe\xc9\x0c\x4a\x90\x79\x39\xec\x70\x59\x09\xcb\x95\x9b\x24\x9c\xc3\xde\x29\xbb\xad\xe4\xc1\x28\x81\xb7\x95\xd5\x28\x83\xbe\xd8\x13\x7a\x62\x4f\x90\x0a\xf7\x60\x8c\x50\x0f\x3e\xbd\xa1\x00\x2c\x8e\x6a\x30\x4b\xd7\x2b\x44\x36\x94\x51\xad\xc5\xed\x8d\x8f\xd1\x63\xf3\xaa\x66\x2e\xbc\xca\xf0\xb8\x85\x96\x4e\x35\x3a\x3f\x22\xda\x4c\xff\xec\xa9\x61\x4f\xee\xfe\x67\xc3\x63\xba\x29\xfd\x40\x08\x3b\x76\x6c\xd6\xd8\x31\x63\x6c\x63\x98\x90\xf4\x2d\x91\xe3\xfe\x3c\x70\x32\x92\x6b\x4d\xe0\x07\x04\xd3\x46\xec\x20\xd4\xbc\xc6\xa8\x66\xf5\x19\x19\xbc\x8a\xe9\x5c\x24\x92\x56\x66\x64\xf0\x96\x0c\xce\x58\xc8\x17\x14\xd2\xd2\xf5\x46\xe8\x20\xda\xf8\x7f\x5a\xab\xd9\x13\xbb\xff\xd8\xf4\xe8\x8d\xc1\xf1\xe3\xb2\xc6\x8f\x18\x6e\x1b\xc1\x84\x66\x6c\x8e\x1a\xf5\xea\xf8\xc9\x08\xee\x48\x4c\x16\x0e\x5f\x43\x77\x9e\x11\x9b\x96\x12\xa1\xc6\xb1\xe1\xf1\x6c\xe0\xb6\x11\x6d\xfe\x74\x74\xe9\xd6\x16\xf6\xe1\x43\xdb\xc3\x9f\x7f\xc9\xfa\x85\x69\x2d\x39\xd0\xf4\x23\x4a\xd6\xaf\x6c\xe6\x82\x6b\xf8\xe7\xfb\x68\x93\x20\x26\x0a\xf9\x02\x53\x01\x6b\x2d\xab\x30\x96\x33\x8e\xf1\xa2\xb2\x0a\x93\xae\x8c\x33\x69\x78\x8d\x9a\x36\xb9\x18\x22\x94\x1f\x1f\x96\xc0\xae\xdc\x36\x68\xdf\x68\x3a\xaa\x2c\x78\x0f\xfb\xe4\x89\xed\xc9\x0f\x3f\x64\x3d\x61\xba\x40\x86\x54\x50\xe0\x29\xd4\x40\x0a\xf4\x87\x14\x2f\x85\xf7\x6b\x05\xf1\x11\xb5\x27\xa6\x7e\x1b\xeb\xda\x21\xc2\x05\x38\x5a\x15\x3b\x9d\x9b\x14\x33\x6b\xc5\xe2\xc9\xe4\x92\xc9\x91\x43\xd1\x8b\x1e\x56\xe3\x7f\x70\x2a\x7b\x78\xd2\x95\x45\x0f\x82\xae\x46\x7c\x9f\xf8\x9b\x96\x74\x65\xc1\x09\x89\xc2\xfb\x2c\xf4\x57\xe0\x54\x38\x21\x81\x63\xca\x6a\x43\xad\xb5\x92\xcd\x2d\x2b\x2a\x2c\xcb\x25\x73\xcb\xab\xf4\xe5\xcc\x9e\xfa\x8b\x7b\x38\x1f\x7e\xaf\xc4\x93\x87\x38\x67\x07\xc4\xc9\x1e\xc2\x0b\x90\x51\xf8\x02\x65\xf0\x42\x04\x2f\xc0\x7e\x50\x09\xfe\x82\x8c\xea\x7c\x81\x32\xc7\x0b\x51\xa7\xcc\x21\xa3\x30\xae\xeb\x63\x8e\x82\xf0\x7b\x2d\xa3\x3a\xe3\x50\xe6\x88\x13\xbd\x0e\x50\x10\x1e\x07\x95\x0e\x99\xcb\xad\xd1\x81\xff\x4b\xca\x21\xf3\xfe\x57\xd7\x67\xab\x44\xe1\x7d\x5a\xb0\x53\xe3\xa7\x86\xad\x58\xca\xa1\x0b\xe6\x10\xa6\x42\x53\x11\x5f\xc8\x17\x1a\x8b\x0a\x7b\x0c\x00\x37\x67\xc5\xf9\xbb\x61\x0f\x18\x98\x05\xfd\xa1\x3f\xcc\xfa\x3f\xd7\xcd\xaa\x4d\x2a\x93\x9a\x43\x17\xce\x21\x4e\x2f\x9d\xda\x32\x9e\xf9\x97\x8f\xb3\xa0\x3f\xf6\x87\x59\x0f\xee\xb6\x9c\x3e\xcf\x81\xbb\xde\xa8\x36\xaa\xd4\xf4\x7f\x15\xff\x97\x39\xd6\x67\xbf\x52\x98\x06\x53\x85\x69\xfb\x24\x4e\x3b\xd8\x65\x0f\x0d\x4a\x78\x4a\x61\xf7\xa1\x43\xb1\x3b\x4a\x86\x3e\x83\xee\xf9\x26\x9b\x29\x9f\xc5\x6c\xe8\x41\x84\x6e\x5d\x15\xbf\x8c\xc1\xee\x43\x7f\x05\x09\x48\x9e\xfd\x0a\xdd\xcf\x9d\x8a\x0f\xdd\xc7\x81\xbb\xd2\x98\x6f\xb4\xe5\xd3\xd0\xfd\xd9\x33\x90\x40\xf7\x67\x6f\xf4\x87\x62\xf7\x65\xab\x6a\xda\xb6\xb2\x98\x8d\x3d\x08\x93\xd6\x94\xc5\x6b\x79\xad\x31\x4b\xdb\x63\x00\xb8\x39\x6d\xfb\x4e\xd5\x9c\x63\xba\xc4\x25\x1c\xd8\x1d\x55\x7e\xca\x6a\x67\x34\x7c\x08\xb2\x2b\xcd\xe0\xdf\x9b\x87\x0f\x15\xde\xc7\x61\x84\xf5\x8a\x15\x46\xa0\x0c\xfc\xa5\x1d\xc2\x75\xe7\x6c\xaa\x24\x2c\x35\x38\x2c\x1d\xbd\xd7\x8f\x1a\xb5\x1e\xbd\xc9\x58\x75\x5c\xda\x76\x46\xab\x35\x5b\xb4\x5c\x58\x71\xda\xde\xe2\x96\x0b\xf0\x1e\x90\x40\xc2\x7b\x17\x48\xe9\xbc\x96\xe2\xbd\x69\xc5\x61\xa4\x73\x26\x08\x14\xe6\xa0\x7e\xf6\xf5\xd8\xba\xcd\x7c\x6c\xac\x7c\xfe\x7c\xe2\xdc\x40\xec\xde\x82\xbd\x18\x97\x1c\xaf\xe3\x75\x97\xfc\xbf\xfc\x0a\x82\x1c\xae\xc3\x75\x41\x0e\xbd\xc2\xa0\xfb\xb2\xbf\xb8\x2b\x57\xea\xea\xf8\xf6\xd8\x3a\xb9\x74\xeb\xec\xeb\xa0\x87\x1c\x62\xeb\xdf\x54\x71\x11\x5f\x9d\x51\x34\xea\x27\xdf\x37\xb8\x82\xaa\x0c\x3e\xb1\x28\xe3\xa7\x51\xbe\xd9\x79\xf9\x39\x76\x26\x3f\x1f\x66\x4b\x20\x05\x53\xa8\x37\xe8\x83\x23\x7f\xf4\x55\x15\x27\xf0\xaa\x0c\xf8\x45\xf9\xe3\x48\x5f\xe9\x4c\x10\x29\xf3\xf3\x2d\x79\x36\xae\x1d\xe6\x2f\x55\x0e\x15\x0d\x50\x0e\x95\x70\xcf\x20\x43\x02\x01\x5d\xb8\x76\x43\xc5\xf1\x4a\x18\xda\xfe\xaf\xfa\x9b\x36\x46\x8d\xf4\x85\x5f\x94\xe4\xff\x5f\x0b\x3f\xfd\x48\xf8\x80\xbf\x04\xa8\x84\xae\xf5\xec\xa3\x25\xc2\x4b\x47\x10\x05\xdd\xf0\x07\x02\x40\x04\x9e\xf0\x03\x1e\x80\x20\x42\x78\xe1\xdd\xe5\x32\x0b\xff\xa3\x70\x1e\xa3\x22\xc1\x17\xbf\xdd\x82\x1c\x9e\x02\xf2\x13\x22\x76\xfa\xc4\xf4\xf1\xcc\xf8\x89\x25\x75\xd3\x39\x20\x6f\x20\x07\xa7\xfe\x7f\x8c\xbd\x07\x78\x14\x55\xf7\x30\x3e\x21\x99\xe2\x08\x79\x21\xb3\x13\x93\x9d\x9d\x99\xd0\xa4\x89\x08\x46\x9a\x20\x01\xe9\xbd\xac\x48\x0f\x2d\xd4\x24\x84\xf4\x9e\x25\x7d\x4b\xfa\xa6\x12\xd2\x13\x48\x20\x24\x40\x68\xa1\x4a\x11\x31\xe8\xab\x10\x41\x50\x10\xec\x8a\x80\xaf\xa2\x67\x76\xcf\x24\xef\xff\xd9\x8d\xbe\xbf\xf2\x7d\xdf\xf3\xfc\x9f\xdd\x9d\x7b\xee\xb9\xa7\xdd\x76\xee\xdd\x3b\x33\xf7\xe2\xbd\x63\x41\xe8\x45\x8e\x04\x8d\x1e\x5e\x83\xb7\x2c\x66\x8b\x45\xfb\xaf\x31\x90\x0a\xe1\x0b\xe0\x0e\x0a\x49\x3f\xc3\x4b\xa0\xfb\x15\xc6\x9c\xf3\x5e\x8e\x7d\xe1\x18\xbe\x0e\xc7\xe0\xf5\xe5\xd0\x17\xc6\xac\x04\xdd\xcb\x3f\xe3\x4b\xde\xa8\x2d\x9e\x8f\x77\x20\x15\xc3\xff\xf5\x2d\xe9\x18\xc1\xb5\xf8\x96\x1e\x5f\x1b\x89\x1a\xc9\xbd\xca\xfc\xf7\xa1\xfa\xb0\x1c\x46\xc2\x69\xa5\x2f\xeb\x3c\xa5\xe8\xff\xf2\xe5\xec\x07\x14\x3d\x84\xaf\x64\x51\xaf\x74\xae\x64\x95\x4e\xd4\xaf\x64\x61\x80\xc8\xa5\x12\x63\x59\xf5\x26\x3c\xe7\x15\x8e\x6a\x39\x70\xa0\x45\x06\x5e\x2d\x42\x9e\xde\x7a\x20\xb8\x55\xd2\xb9\x25\xaa\x6d\x2b\x59\xee\x3a\xf1\xbf\xd9\xbe\xf6\x1b\xcb\x2a\x1a\xe5\x17\xfe\x63\xec\x03\x77\xbb\xf6\x76\x95\x63\x6f\xbc\x3b\x5b\x4a\x54\x8a\x0a\xe9\xd6\x83\x1d\xf0\x9b\x45\x82\xdf\xb2\x0e\xce\xde\xa2\xdd\xa3\x14\xd1\xaa\xec\xa6\x67\x51\x4f\x73\x17\x73\x1b\x45\xe5\x84\x9b\x43\x05\xb5\xf5\x40\x70\x8b\xa4\x68\x28\x2e\x64\xa8\x53\xb3\x7b\x95\x51\x04\xab\x8b\xa2\x81\xce\x0e\xb0\x76\x40\xa7\x26\xc4\xa6\xd7\xb9\x5d\xe4\xd5\x49\x54\x42\x62\x72\x42\x86\x8c\x59\x5d\x5d\xa4\x6a\x85\x49\xa2\xd2\x49\x9b\x69\x5f\x11\x3a\x6d\x56\x1e\xad\x5d\x7a\xb0\x52\x36\x2b\xea\x79\xcc\xb2\x75\x91\xa5\x19\x89\xd6\x04\x41\x9d\xd4\x65\xa5\xc6\xb0\x66\x5a\xed\x84\x49\x62\x77\x9b\x8e\xaa\x82\x10\xd1\xe6\x0b\xe1\x10\x22\xba\x9f\x60\x75\xd4\x17\xf6\x7f\xf2\x2b\xcf\x4d\x34\xaf\x5c\xa9\x0e\x56\x07\x79\x61\x22\x24\x2a\x83\x94\xc1\xe7\xce\x9a\xef\xaf\x3c\xe7\xbd\xf2\xec\x44\xf3\xca\x55\xea\x20\x75\xb0\x17\x0e\x87\xe1\xe8\x8b\xbe\xb8\x0b\x77\x05\xe2\xd7\x30\x1e\x2d\xde\xd8\x8d\xdd\x24\xce\x81\x39\x34\x74\x43\x37\x58\x70\x3c\x7c\xdd\x04\xbb\x60\x97\x37\xf8\x82\xaf\x83\x43\x19\xac\x0c\x3a\x7b\xce\xfc\xe5\xaa\x73\xde\xee\x55\x3a\xb2\xf6\x47\x97\x3f\x1f\xeb\xc8\x88\x47\xae\xb6\x2e\x5b\x2b\x0f\x6e\xc3\xbf\xc3\x17\xe1\x6b\x16\x5e\xfc\xe5\x7b\x70\x95\x14\x93\x27\xb8\x8d\xf8\x0e\x7b\x3b\x50\xbd\x1f\x3b\x50\x10\x81\xb3\x79\x4c\xc3\x97\x70\x73\x35\x92\xb9\xe3\xb3\x03\xb7\x65\xe8\xa3\xca\xa2\xf6\x46\x56\x66\x64\x67\x66\x67\x66\xc7\x54\x04\x59\xd7\x98\xd0\x35\x03\xfd\x23\x70\x0f\xf4\x65\x6c\x6f\xd0\xe0\xde\x74\x04\x5c\x25\xfb\x2f\xd4\x1f\xad\xeb\x90\x96\xbb\x46\xd1\x30\x2e\x97\x3f\x78\x66\xdb\xf9\xe5\x5b\x52\xd3\x1d\x1f\xc6\x36\x97\x7e\xfc\xf6\xdd\x31\x92\x0e\x5f\xa2\xc6\xbc\x3d\x79\x84\xdc\x35\x97\x4e\xcd\x4d\xc9\x4d\xcd\x5d\xde\xba\x6d\xc5\xc1\xd5\x1d\x93\xc0\x7d\x38\x2c\x9c\x82\x2b\xbb\x5e\xb7\x4d\xf4\x31\xc0\x2f\x4c\x9a\x05\xd6\xc2\x40\xed\xbe\x8c\xb2\x8c\xb2\x4c\x06\x07\x58\x70\x59\x9e\xd6\x80\xbf\xd8\x26\xfe\x89\x2b\x6d\xaf\xc3\xc2\x3b\xe0\xfe\x4b\xc7\x3d\xc6\xbd\xea\x5b\xc8\xb3\x37\xc3\x60\x97\x67\x90\x07\x83\x61\xce\x2d\x18\xec\x04\xf2\x60\xb0\xab\x5d\x63\xff\x9a\xc7\xc1\xea\x4c\x18\x4c\x29\x03\x94\x99\x7f\xc3\x78\xcf\x4d\x1d\x40\x61\x10\x06\x91\x10\x84\xf7\xec\xcd\x3a\xb7\xa6\xae\x16\x1a\x06\xdb\xfd\x78\x9d\xfd\x0d\x0a\x5d\xf0\x38\xa9\xc3\x58\x65\x00\x06\x41\x10\x0d\x41\x10\x44\xc2\x3d\x4a\x99\xa9\xcc\x24\xdd\x41\x66\x1f\xea\xc8\xe5\xae\xb6\x52\x08\xe2\x2d\x8d\x31\xfb\x77\x94\xec\x28\xde\x9a\x12\x15\xca\x2c\x9e\x61\x32\x9b\xb5\xb8\x16\x93\x93\x0d\xe9\x09\x99\x29\xc6\x64\x4b\x72\x56\x52\x6e\x62\xa1\xa1\x7d\x19\x44\x8c\xbf\x55\x5c\x97\xbb\xaf\xb4\xa0\x2a\xb7\xc4\x5c\x68\x81\xc3\x0c\xf4\x33\x67\x99\x25\x1c\x06\x39\x7c\x56\x4b\x74\x53\x50\x31\x33\xf6\x90\xc5\x62\xd6\x02\x8b\x27\x92\xf2\xe2\x85\x08\x4b\x94\x21\x21\x22\x78\x6d\x22\x0e\x29\x1a\x96\xbd\x33\x2f\xa4\x20\xae\x38\xa2\x32\xb1\xda\xc4\x94\x5a\xb3\x1e\x41\xb5\x0c\xbd\x8f\x9a\xcd\x66\x6d\xa3\xb5\xb2\x3e\xeb\x30\x63\xfb\x18\xcf\xf1\x39\xf5\x29\x55\x31\xa5\x06\x6b\x72\x36\x56\x7f\xc3\x20\x7b\xd4\x64\x31\x6b\x83\x0b\x77\x26\x47\x84\x84\xef\xca\xdc\xba\x6f\x57\xfb\x5b\x5e\xe0\x8b\x25\xc5\x31\xc5\xc9\xe5\x09\x35\xc6\x1a\xeb\x3f\x1b\x60\x18\x2c\x29\xbc\xc5\x74\xf9\xda\x7a\xf3\x69\xd0\x67\xab\xd2\x92\x51\x97\x56\x13\xb3\x37\x34\x6f\x72\x25\x5e\x18\xa7\x5f\x1a\x13\x93\x16\x9e\x1b\xc9\x98\x0b\x63\x15\x37\xf5\xae\x74\xf9\xf5\x93\x25\xa5\x39\x65\xb9\x27\x4b\xd2\x7f\x67\x6c\xc3\x91\xe0\x9d\x7e\x26\xe5\x36\xbe\x04\xef\xce\x6d\x0a\x2f\x0a\x37\x47\x27\x26\xa5\xa4\x18\x70\x3c\x86\x33\x53\x5f\x36\x99\xcc\xda\x98\x30\xd3\x8e\x8a\xa0\x8a\xa0\xe6\x84\xc6\x02\xc6\x64\x74\x98\x5d\x96\xdb\x90\x7f\xb6\x08\xae\x7e\x56\x9c\x53\x5c\x50\x51\x62\xad\x32\xd6\x31\xee\xd0\xe8\x3c\xb4\x1a\x8c\xac\x19\x26\xb2\xcb\x45\x88\x66\x39\xfc\xd5\x79\xd4\x80\xaa\x51\x35\xf0\x01\x4b\x83\xa6\x4b\xc3\x77\x69\x50\x63\xd3\x50\x76\x8d\x9b\xb9\x4b\xe3\x18\xd4\x69\xe7\x79\xae\xaa\x15\x35\x8a\x95\x52\x34\x6e\xff\x2f\x88\xe2\x48\x83\x62\xa5\x74\x76\xa2\xab\x93\x87\xcd\xa2\x5d\x0f\x1a\x9a\xc3\x5f\xbb\xf5\xf4\x31\xd1\x73\x24\x2b\x39\xea\x3f\xbf\x32\xa7\xba\x5a\x6b\xef\x5c\xcc\x76\x77\xd2\xa0\x71\xf8\x04\x9d\x8d\xa0\xb8\xb4\x5c\xd4\xa0\x95\xe6\xa2\xd7\x77\x77\xc2\x29\x51\x82\x2a\x11\xba\x59\x77\x68\x54\x34\x50\x20\xba\x1c\xd7\xd1\x87\x34\x0f\xed\xd6\x12\xbe\x1e\x7c\xc0\xa7\xe1\x2c\x6a\x1a\x02\x02\x50\x13\xb2\x2a\x04\x7c\xd0\xa7\x5e\x86\x1a\xa8\xe5\x6b\x61\x30\x0c\xaa\xb5\x42\x17\xfb\x87\x0f\x4e\x7b\x1f\x87\x0a\x38\x14\xa7\x2d\xee\xef\x03\x8f\xc4\x5a\xa9\xec\xcf\x67\x30\x14\x86\x80\xcb\x90\x52\x01\xea\xa1\x8e\xaf\x81\x41\x30\xa8\xb6\x00\xba\x58\x98\x85\xb3\xb0\xe6\x29\xe6\x08\x98\x83\x35\x43\x71\x16\xce\x92\xd3\xd2\x32\x52\x52\xb4\x61\x30\x08\x07\xd5\x48\x45\x10\x0b\xdb\xe0\x92\x00\x81\x20\x4f\x41\x0d\x4c\x90\x33\xf2\xac\x19\x05\x02\xd4\x42\x2d\x5f\xf3\x1f\xb5\x90\x83\x79\xaa\x0b\xc8\xf8\xa7\x80\x7f\xaa\x2e\x28\x63\x0e\xe6\xc1\x23\xb1\xa6\xa0\x20\x27\x37\x4f\x02\x7f\x88\x83\x2c\x20\xe1\x86\x00\x37\x20\x0b\x49\xf4\x87\x38\x39\x3d\xaf\x20\xa3\x40\x70\x87\x1c\x76\xb9\xe8\x62\x86\x78\xd6\x55\xd1\x78\x42\x10\x3b\x98\x55\x48\x71\x96\x68\xb3\xaa\x9a\x59\xa2\x13\xfc\xdf\x71\x9b\xb5\xcb\xca\xcf\x58\xb2\x64\x86\x64\xa6\x67\x2c\xb9\xfa\xa9\xac\x68\x68\xe8\x16\xcd\xf4\xa7\x57\x97\xcc\x90\x55\x0d\xad\x6a\x6c\xd6\x59\xa2\xc3\x0d\xf3\x8e\xf2\x47\xe2\x3b\x16\xac\xd0\xc6\x1a\xc5\x32\x16\xad\x34\x76\xba\x0d\x66\x41\x63\xd3\x7c\x27\xea\xec\x86\x5f\x59\x9d\x9d\xe8\xb9\x0f\x13\x2e\xde\x16\x4b\x44\x9d\xfd\x37\x28\xf5\xb0\xea\xc8\xa7\xc8\x02\xcb\x55\xe9\xc8\x67\x76\x77\x3e\xe9\xa3\xc0\x4b\xfa\xb6\xd4\xdc\xcc\x2c\x63\x52\xca\xba\x24\xff\x78\xff\x1d\x23\x57\x8d\x9b\x36\x6b\xe2\x94\x61\xfe\x48\x84\x4d\x8c\x19\x9f\xf1\xb6\x85\xb1\xac\xd8\x64\xda\x24\x84\xc5\x25\x86\x65\xca\x31\xe8\x16\x83\xae\xce\xab\x5b\xac\xf3\xca\xec\xca\xd8\x17\xbe\x5f\x80\x1c\xaa\x79\x7f\x5d\x73\xbe\x9c\x55\x76\x09\x9e\xe6\x54\x90\xcd\x79\xfb\xeb\x9a\x85\x93\x14\x34\xc3\x2e\xa0\xe0\xc1\x0d\xb9\xf4\x76\xf6\x27\x89\xd7\x18\x33\x8d\x7e\x70\x98\x87\x57\x26\x83\x1b\x0e\xb8\x24\xd5\xcf\x1e\x5a\xb1\x5e\x50\x7f\xa6\x36\x6f\x0f\x0e\x48\x93\x31\x5e\x67\x9f\x4a\x06\x67\x54\xef\x6e\x14\xe0\x0c\x55\x90\x9d\x9d\x6f\x91\xf7\x3e\xbb\x04\x7f\x96\xde\x61\x3a\x8a\xdb\x0e\xde\x10\xae\x5d\x33\x59\xae\xc9\x8f\x2c\x0f\x8b\xbf\x3c\x00\xaf\x5c\x7e\x02\xc4\x05\x18\xc1\x70\x8b\x1b\xee\x54\xdc\xbd\xaf\x75\x7f\xce\xb6\x38\xfe\x90\x2b\x0b\x6c\xcf\x79\xf5\x05\x6a\x77\x5c\x50\xe4\x5e\x19\x26\x63\x10\xb0\x98\xff\x05\x36\x31\xca\x52\x6a\x2e\x1c\x44\x77\xb0\xe2\xdb\x90\xc2\xec\x4d\x8a\x2a\x8c\x12\x94\xcb\x68\xe3\xc7\xc1\x26\x74\x83\x40\xec\x0f\x51\x99\x38\x2a\x1e\x87\xed\xc6\xc1\xc0\xe2\x92\x87\xb8\xe2\x22\x06\x9c\x03\xee\x38\xbc\x74\x08\x04\xe6\xa9\x6d\x25\xaf\xce\xa2\xa0\x41\x9d\x0e\x26\x35\xfb\x90\xda\xc4\x28\xef\x52\xab\x95\xb3\x18\xaa\xe4\xe2\x05\xe5\x35\xc6\x36\x47\xed\xe4\xa1\x7d\x33\x1c\x9d\x02\x35\x52\x43\xea\xee\x8a\x5d\x02\x22\x15\x19\x1f\x15\x99\x2b\x5f\xc4\x85\x2d\xb8\xa2\x1c\xd7\xc1\x3b\xf8\x04\xdc\x55\xb7\x93\x2a\xc5\x7c\x08\xe9\x47\xe0\x14\x34\x69\x9d\x2f\xc0\x02\xaf\xa3\xff\x0d\x1a\x57\x1d\x7d\x52\x39\xc1\x9b\x53\x0f\x06\xc2\x48\x29\xe9\x52\x4a\x58\x7c\x80\xc5\xe2\xfd\x2e\x0e\x48\xd8\x62\xd6\x1e\xba\x67\xae\x17\x74\xf6\x35\x37\xf8\x59\xb0\x04\x47\x3c\xc3\xf9\xed\x59\x25\x5e\x50\x45\xb5\x34\x25\x6e\x2c\x90\xaf\xe2\x19\x12\x66\xc1\xbf\x78\x98\x4e\x61\x69\x17\x4f\xe2\xdb\x14\x0a\x4a\xfe\xe3\xcd\x0f\xdf\x38\xfc\xaa\x77\xf9\x18\x18\xab\xcc\x25\x41\xee\xf2\xe4\x7f\xb7\x79\x92\x30\x91\x1a\xd8\xe5\x49\xe2\x44\xca\x66\xb5\x51\x7c\x38\xca\xf1\x05\x41\xa5\x9b\x8a\xde\x31\x79\xcf\x0d\xda\x15\x12\x74\x38\xf2\x6a\xb0\xfc\xf3\xda\x53\xfa\x69\x5a\x23\x7a\x23\xe9\x8b\xd3\x2c\x8c\xdf\xf4\xbd\xfb\x36\xcb\x35\x30\xa8\xda\x40\x86\x5e\x6c\x49\xf9\x58\x68\xbf\x50\x71\x62\x7f\x64\xd5\xdc\x26\x79\x7e\xd3\xf8\xf3\x96\x1f\x18\xe8\x67\x01\xfa\x6b\x18\x2f\x74\x5c\x48\x48\x3c\x24\x2b\x93\xf7\xf2\xa0\x75\x28\x7a\x95\x8a\xff\x2c\xbd\xda\xac\x0d\xc3\xc9\xe6\x68\xc1\x9c\x1a\xbb\x6b\x92\x84\xd3\x28\x30\x29\x0f\xc9\xe3\xe5\x8d\xc5\xc7\x04\xd0\x50\x50\x06\x9d\x9b\x59\xa5\x11\x35\x20\x64\x94\x96\x1c\x0a\x7c\x30\xfe\x51\xe0\xc1\x06\x78\x01\xd6\x14\xda\xce\x38\xef\x1c\xdf\x07\xfa\xc3\x03\x1f\x36\xd6\x37\x7e\xb9\xbf\xf9\xfb\xa3\xd1\x35\xd1\xed\x8d\xb7\x9a\x3e\x6d\x6c\x6c\xbc\x61\x3c\xfa\xc9\x81\xa6\x2f\xf7\x1f\x3d\x70\xa3\xf1\x8b\x03\x27\x13\x8b\xb2\xcb\x2a\xe1\x3e\x97\xfa\x78\xc4\x3b\xf6\xdf\x75\x6e\x07\x79\xac\xc0\x60\xa3\x3a\x0a\xaa\x30\x98\xd1\x8f\x1f\x16\x34\x44\xe0\x7a\xbd\x47\x10\xd8\x8c\xd1\x10\x0d\xcd\x70\x08\x9c\xa1\xec\x64\x79\xf6\x24\x48\xff\x40\x3e\x14\xc6\x43\x11\xfa\x5b\x54\x09\x8b\x71\x1d\x16\xc3\x3a\x8b\x22\x41\x11\xf8\x33\x87\x6a\xf9\x4b\x0f\x9e\x34\x3e\x13\xa0\x19\xa2\x31\x1a\x0f\xc9\x5c\x32\xd3\x23\x0c\xa3\xb1\x79\xe8\xd0\xc6\x4b\xe3\x25\xa8\x86\xa0\x0c\xe5\x35\xdc\x07\xc1\x8c\x2d\xa6\x6b\x0b\x1f\x9b\x59\x9e\x4a\x73\xbd\xdc\x08\x22\xbb\x3c\x93\xae\x8e\xe5\xcb\xe8\xf4\x44\x32\x83\x4a\x2b\x21\xe3\x33\x2b\x73\xe9\xbc\xc4\xbc\x12\x32\x37\x8a\x4a\x52\xe7\xf3\xce\x67\x3a\x4c\x66\xb3\x49\xc8\xcc\xcc\xa6\x9c\x1b\xc8\x39\x2e\xda\x64\xb7\x8c\x5c\xd2\x94\x9e\x59\x92\x47\x71\xc9\xbd\xfc\x88\x2c\x8b\xc9\x22\x58\x4c\xe6\xbf\x3e\xa6\xde\x83\x4d\x66\x93\x51\xc8\x49\x27\xb9\x01\xbd\x0c\x84\x0e\xff\xf1\x4f\x3e\xac\x2c\xba\x5e\xe2\xdc\x08\x3f\xa2\x76\xef\xbe\xba\xda\xb8\x8a\x30\xd9\xc9\xbb\x3b\x3e\x3a\x4c\xe6\xfa\x12\x7e\x84\x12\x74\x92\xe7\x3c\x88\x2a\x22\x2a\x29\x31\x3a\x53\xe6\xdc\x08\x1f\xe2\x53\xaa\x2a\x33\xb1\x28\x5a\xe0\xfa\x12\x3e\x04\x28\xfe\x0e\x31\x75\x75\x3d\x02\x42\x43\xe3\xa3\xc3\x24\x27\x2b\xd4\x79\x86\xed\x8d\xae\x93\x9c\x12\x6b\xcb\xf7\xd5\xd5\xc6\x3a\xe4\xfb\x10\x43\x89\xd0\xb8\x68\x27\xd4\x97\x80\x31\x6f\xf3\x59\x8e\x41\x51\xce\xb2\x58\x2c\x16\xd9\xe2\x80\x2d\x8c\x39\xcb\x01\x98\xb3\x4c\x16\x4b\xef\xc1\xa6\x2c\xb3\xc5\xe4\xf8\x98\x8d\x16\xc6\x19\x98\x4c\x66\x63\xef\x41\x26\x93\x23\x5f\x8c\xc9\x64\x32\x19\xb5\x0e\xd8\x6c\x74\xe4\xd4\xd8\x7b\xb0\x93\x5a\x32\x59\x1c\x45\x60\x72\x88\x17\x74\xf6\x0b\x39\xfc\x6d\xba\x66\x4f\x49\x94\xc4\x19\x08\x1f\x22\x3a\x21\x29\x4c\xf6\x0b\xee\x41\x45\x25\x26\x85\x49\x7e\x41\x20\xd0\x4e\xf3\x1a\xe3\xa8\xb2\xa2\xd2\xdc\x52\xa1\xaa\x2c\x39\xde\x2a\x57\x14\xef\xcb\x2d\x17\x0e\x99\xaa\x22\x77\x6a\x39\x03\xe1\x46\x8c\xa5\x41\xe7\x59\x4e\x27\xee\x49\x48\x8d\x16\x02\x82\x1b\xdb\x64\xce\x40\x30\x44\xdb\x81\xc6\x23\x15\xa5\x29\x49\x85\xd2\x5e\x9a\x73\x23\xdc\x88\x03\xb3\x29\x27\xfd\x2c\x1a\x86\xb5\xf1\xbb\xc3\x63\x36\x47\x44\xe5\x15\xc5\x49\x25\x35\x64\x6a\x61\x59\x6a\xa5\xc0\x25\x13\x24\x51\x59\x94\x57\x94\x9f\x9a\x13\x9b\x2d\x73\x0c\xe1\x42\x24\x66\x91\x81\x39\x71\x25\xd5\x0e\x55\x24\xd1\x50\x5d\xde\x5c\x5d\x91\x9e\x5c\x2a\x25\x85\x91\xb9\xc9\x71\x79\x31\x42\x5c\x72\x5a\x72\x72\x61\x66\x89\x51\x76\xb2\x97\x1a\xc9\x03\x19\xfb\x92\xc2\xb4\xe0\xb9\x9d\xe7\x92\x0d\xae\x7b\xd2\x92\xe3\x33\x92\x84\x6d\x49\x15\x4d\xf2\x07\xbb\x1a\xf6\xb7\x35\x6e\x3c\x13\xb2\x7a\x21\xcd\x25\x13\x84\x5f\x62\x4e\x72\x99\xe4\x80\x7c\x0a\xac\x59\xb9\x56\xb9\x20\x94\x74\xe2\x1f\x81\x17\x7f\xa4\x3e\x78\x83\x9c\x61\xce\xc8\xd0\xbe\x4c\x85\xe5\x96\x27\x57\x08\x5c\x2f\x82\xf0\x29\x29\xcb\xb3\x16\xc9\xa5\x11\x64\x42\x5c\x74\x7a\x94\xe0\x64\xde\x14\xbc\xff\x84\xec\x48\xed\x7b\x7c\xff\x81\xa3\x12\xbc\xee\xe9\x40\x33\x79\x05\xa6\xcc\x7c\x39\x79\x17\xc9\x19\x08\xa2\x57\x76\x5a\x9a\x25\x4d\x88\x4a\x4e\x8c\x90\xa7\x04\x81\xd0\x48\x3b\xb0\x4c\x9c\x33\xe8\x55\x9c\x5f\x54\x50\x2e\x34\x4e\xe7\xdb\xf6\x37\x9e\x94\x38\x3f\x97\x5e\xbd\x2a\x4b\xd3\x0d\xa5\x72\x42\x18\x59\x60\x30\xe4\x24\x0a\x9c\xc1\x8d\x20\xc2\x62\x63\x77\xef\x2e\x8f\xad\x95\x4b\x4c\x45\xb9\x45\x05\x0c\xc7\xb8\x11\x44\x69\x18\xe9\x4c\x4c\x4a\x48\xc8\x88\x12\xb8\x54\xa2\xaf\xc1\x7f\x57\x63\x9b\x0c\xc6\x59\x3c\xc7\x10\x84\xa1\x9c\x4e\x4c\x76\xd6\x4d\x50\x63\x5b\x5b\x63\x4f\xad\x58\xe5\xbd\x4e\xcd\x86\xc6\xd9\xd4\x2c\xda\xc9\xf4\x1b\xc8\xbc\x03\xd5\x37\xcf\x6a\xca\xcc\x73\xd8\xdd\x63\x72\xf4\x9e\xc4\x08\x47\x65\x10\x7d\xa7\x04\x83\x70\xa0\xc7\xe2\xbe\x3d\x16\x83\x0f\xca\x7c\x8f\xfc\x28\x61\x4b\x8f\xfc\xd6\x4a\xa7\xfc\x9b\x34\x67\xe8\x4b\x10\x07\xd0\x9d\x9a\x45\x9f\xad\xe4\xb3\xb2\x4c\x59\x82\xf3\x31\x2e\x13\xc3\x19\x86\x12\x8c\xc5\x64\x31\x5a\x4c\x8c\xc5\x68\x36\x3a\x9b\xaa\xd1\xd1\x54\x4d\x26\xa3\xc9\xc4\x70\x2e\x04\xe1\xe6\x04\x4d\x8c\xd1\x64\x34\x3b\x7f\xbd\x07\x19\x9d\x0d\xdf\x99\xda\xcb\x68\x31\x65\x59\x9c\xc7\x83\x39\x7a\x86\x39\x2b\xab\xf7\x60\x8b\x25\x2b\xcb\x22\x39\x79\x2d\xce\xc7\xbc\x98\xac\x2c\x8b\x45\x00\x55\xe7\xf6\x5d\x8f\xbf\xec\x50\xbe\xf9\xe8\x3c\xc4\x62\xc4\x77\xa3\x21\xfc\xe5\x5f\xa6\x7e\xe6\x61\xfe\xe3\x06\x0c\xf8\xb8\xf1\xc6\x71\xd8\x5e\x05\x85\x15\xb6\x97\x0f\xc0\xfc\x13\x37\xac\xc9\x0f\x60\x44\x07\xf7\xd9\xbf\xfd\xe0\x23\x9b\x99\xe7\x98\x8b\xc4\xc1\xc4\xa6\xf0\x4a\xa9\x32\x72\x77\xfe\x06\x21\x16\x43\xca\xa9\xe3\x0d\x05\xfb\x2a\x65\x07\x4d\x4d\x55\x49\xd3\x41\xad\x8e\xfa\xf5\x06\xcf\x31\xae\xc4\xc1\x88\xf2\x8d\x52\xd4\xcb\x15\xd4\xf1\xea\x7d\xcd\x32\xe7\x36\xde\x4f\x67\x5b\x36\x97\x5f\x15\xb1\x26\x60\xa7\xc4\xf9\x78\x11\x21\x3b\xb7\x18\x56\x0a\x8e\x84\x57\xe0\xd1\xcf\xd4\x1f\x9d\x33\x87\xc9\x8d\x38\x91\x87\x47\x37\xf0\x11\x0d\x05\xbf\xf2\x73\xd7\xac\x9b\xb5\x6a\x6b\xe5\xc9\x20\xe9\xf8\x31\x92\xf3\xa0\x88\xe0\xb2\xba\xf8\x26\x81\x73\x23\x0c\x07\xaa\x2a\x1b\x4a\xd3\x8a\x13\x0b\xe4\xd4\xdc\xc4\xdc\x50\x2b\xb3\xb0\x3a\xb2\xf6\xb4\xf6\xbd\x53\x6d\xef\xb7\x34\x27\x85\xee\x97\xb6\xfb\x93\x1c\x43\x18\x2a\x62\xe3\x0a\xa2\x84\x5d\x51\x71\x91\x31\x45\x7b\x8e\x26\xc8\x9f\x85\x54\x87\x2d\xd7\x42\xd3\x68\x3e\x21\x38\x2c\x7d\x97\x30\xf4\xad\x3b\x4f\x7e\xb9\xf7\xf9\x93\xfd\xb5\x69\x09\xfb\xe5\xb7\xe8\x86\x90\xf0\xa2\x40\x61\xe1\xea\x15\xf3\x66\x9f\x5e\xfd\xd1\x81\x9a\xa2\xfa\x7a\xf9\x2d\x5a\xe7\xf6\x89\xfa\xab\x73\x76\x65\xfb\x8a\xb2\x0f\x80\x29\xca\x35\xe8\x04\xdf\x67\x8c\x5a\x4b\x77\xfd\x60\x33\xf2\x43\x26\x4e\x1c\xe2\xf0\x99\x86\x21\x13\xbf\x7c\xf6\xec\x4b\xc7\x6f\xe2\x10\x19\x5e\xc1\xa9\xfc\x36\x0a\x07\xc0\xcf\x24\xe7\xc6\x10\x37\xa9\x6f\x31\xfc\x3b\x08\x27\x6f\x52\x07\xf0\x11\x0f\x8f\x60\xfe\x52\x7c\x71\x2a\xd0\xcb\x90\x1e\x0d\x2f\x2e\xa3\x61\x93\xe7\x68\xf0\x26\x93\xd1\x7b\x2e\x3c\xa2\x1c\xf2\x7e\xa1\x6e\x9f\xd8\x3a\x7f\x45\xc8\x8e\x55\x7b\x64\xce\xcf\x8d\x78\x8e\x3e\x24\xbc\x68\x9b\xcc\x7f\xb6\xf8\xda\x34\x49\xa7\x30\xd4\xb4\xc5\x8b\xa6\xca\x3a\xec\x4d\x4f\x7d\x7f\x51\xa7\xa4\xa3\x15\xaa\xf3\xfd\x6b\x9f\xc9\xee\x4a\x23\xd4\xb6\x6c\xbd\x7a\xe8\xd2\x9a\x4b\x6b\x2f\xbd\x7b\xe9\x0c\xac\xc6\x55\x97\xdf\xfb\xe6\x75\x18\x96\x7a\x79\x19\x30\xc8\x40\x0d\x6e\x81\x2d\xe8\x77\xd9\xff\xd2\x91\x7f\x2e\xbd\xe2\x61\xbe\x39\xfd\x2e\x4c\xae\x7e\xef\xc6\xe9\x8a\x8e\x8e\xf8\xca\xf6\x8f\xce\xdc\x80\x05\x37\x96\x77\x9c\x06\xd7\x41\x95\x47\x3f\x59\x72\x6b\xd6\x8d\xca\x1b\xeb\x3e\x3a\x58\x19\xf5\x91\x3f\x4c\xc3\x7e\x37\x67\xdd\x78\x49\x47\xbd\x7a\x03\xc4\x9a\x9a\x8f\x17\xc1\x7a\x9c\x73\xe3\xe3\xba\xa8\x7f\x16\x7c\xb4\xf4\x9f\xed\x7f\xea\x2f\x71\x33\xa6\xcb\x3b\x56\x7c\x5f\x05\x2f\xda\x7e\xe6\x4f\x02\x71\x0a\x09\x52\x39\xa0\xd6\xf0\xf8\xfa\x7b\x30\xe0\x12\xc5\x19\x0c\xbd\xdc\x18\xa6\x2f\x0e\x38\x0b\xe3\xa8\x4f\x27\x91\x1c\x91\xea\x45\xf4\x1a\x50\xf5\x95\x89\x7f\xfa\x27\x89\x41\x34\x2c\x81\xd1\x3c\x47\xf8\x11\x04\xe1\x47\x84\xc6\x18\xc2\x25\x8e\xc8\xec\x95\x4c\x10\xc4\xf8\x4f\xbe\xa2\xaa\xf7\x25\x87\xc9\x70\x3c\x87\x0f\x89\x4c\x8f\x90\x26\x52\x1c\xe1\xd7\x97\x20\x08\xe2\x83\xfb\x74\x65\x75\x46\xa8\x8c\x4d\xca\x16\x7e\xb7\x33\xed\xda\x7d\x8a\x23\x72\x37\xfb\x11\x44\x5f\x67\x92\xe2\x3f\x93\xe7\x08\x37\xc6\x41\x7e\x0a\x88\x93\x48\x90\xdd\x4d\x30\x8a\xe7\x88\xbe\xd3\x1d\xda\x90\xa0\xde\xc2\xf9\x63\x61\x3e\xd9\x1f\x0b\x29\x8e\xf0\x71\xda\x80\xbd\xa0\x90\x1c\x41\x71\x84\x1b\x41\x10\x6e\x06\x64\xb0\x96\xfc\x94\xaa\xbb\x46\x82\x40\xd5\x2d\x22\xc1\x0b\xb6\x51\x3f\xe1\x36\xf2\x0a\xf5\x13\x6c\x23\x71\xdb\x47\xb4\x72\x11\x8f\xf0\xff\x5c\x5d\xb5\x50\xe2\x88\xbe\x7e\x0e\x3e\xdc\x44\x39\xc1\x5e\x04\x31\x61\xcc\x9b\xdf\x92\x58\x82\xb5\xd4\xdf\x89\x60\xa5\x1e\x7c\xf7\xc5\x68\xb2\x47\x83\x0f\x01\x1e\xdf\x53\x9f\xc1\x8b\x31\xe0\x22\xe3\x49\xf8\x89\xc7\x57\x1c\xa4\x06\x87\xf2\xf7\x60\xe8\x25\x1c\x7a\x16\x5e\xa1\xff\xce\xc7\x15\x0c\xc2\x5a\x08\xa2\x75\xe4\x24\xd5\xcc\x27\x04\x6f\xcf\xdc\x29\xe0\xa4\x5a\x2a\x26\x7c\x6b\x5a\xb0\xa0\xd6\x7f\x4d\x15\x19\x2d\x7b\xa4\x94\xa1\x38\xed\x5f\x54\x52\x70\xa0\x29\x48\x88\xa4\xb8\x0d\x7d\x5d\x5c\x08\x82\x18\x83\x5b\xe9\x77\xdf\x27\x39\x37\x82\x70\x94\xa1\x7e\x31\xc9\xf9\xf4\x80\xf8\x58\x71\x87\x7f\x51\xe7\x96\xbc\x77\x95\x84\xc4\xff\x30\x34\x9c\x30\x46\x55\xc9\xd5\x10\x40\xef\x3f\x9c\x1e\x5b\x2b\x57\xc3\x27\x34\x97\x47\x10\x44\x7f\x82\x88\xa0\xb9\xc5\x0e\x8b\x0c\xc4\xbe\x8a\xe6\x9c\x3a\xe1\x6f\x3c\xcc\x88\xa0\xca\x6b\x1a\x73\xf7\x0b\x5c\xbf\x1e\xe1\xd0\xdb\x36\x91\xea\x5c\xfc\xc1\xdf\x0d\x79\xe1\x34\x59\x15\xe8\xbb\x30\x8b\x84\xc9\x54\xb5\x3f\xc9\xf5\xef\xef\x37\x9a\x20\x88\x93\x34\x47\xf4\xf2\x63\x0c\x04\x01\xab\xa8\x13\xc3\x4f\xfc\x42\xda\x18\xaa\xbe\x21\x23\xa6\x52\xae\xa6\x39\x82\x21\x9c\x49\x7e\x11\x14\x47\xf4\x22\x18\x3f\x82\xd8\x77\xe8\x68\x4e\xab\x00\x59\x54\x8d\x3f\xe9\x48\x77\xd4\xdf\x49\x58\xf0\x1f\xda\x3a\x7f\xf2\x24\xcc\x56\xdd\x69\x6e\x86\xc3\xd2\x25\x04\xce\xa5\xb6\x5f\x25\x97\x60\x14\x1d\xfa\x01\xb9\x8c\x0a\x5d\x48\xce\x1a\x63\x68\x9e\xeb\x1c\xcd\x08\xa2\x1f\x11\x8e\x07\x69\x6e\xaa\xc1\x09\x3f\xa2\xf3\x4d\xf9\xc9\xd2\x1e\x13\x39\x54\x3d\xd2\x4e\x73\x8e\xb6\x41\x30\x44\xd4\x1a\x12\x49\xea\x6f\x81\xd1\xa7\xc9\xb5\x18\xec\x90\xa6\x77\x48\x43\xd7\xae\x89\xd4\xb4\xf7\x17\xfe\xdd\x41\x3f\xe8\x94\xbb\x4c\xca\x26\xbe\x43\x6f\x5d\x21\xe1\xab\x58\x7b\xc3\xc1\xe9\x28\x59\xe2\xe9\x27\x34\xd7\xaf\xaf\xb3\xc4\x4e\x94\xa5\xac\x95\xd7\xdd\x78\x8f\x3e\x9c\x5a\xbb\xb5\x44\x6a\x2c\xde\xdb\xd8\xa8\xc5\x46\x65\x2b\xdf\xa1\x2f\x78\x57\xc2\x91\x16\x12\x6b\x3b\x9e\x7c\x4a\xdf\x8a\xdf\xb4\xc4\x22\xdf\xa0\xfe\x6e\x39\x17\xe9\x96\xb4\x9a\x2d\x25\x12\xc7\x3a\xbb\xc4\xe2\x03\xc5\xe5\x8d\x4d\x5a\xa5\x5e\xfd\x83\xc7\x11\x16\xf2\xef\xd6\x33\xe2\x32\x06\x62\x2d\x04\xd2\xea\x5b\xb6\x48\x7e\x0e\xd6\x7e\x44\xd9\xe6\xa8\xfd\x78\xf0\xc4\x49\x6f\xbc\xaf\xad\xae\xc8\x2e\x97\xe0\xc5\x2b\xe8\x49\xad\xdc\xb0\x5b\x2f\x23\x0f\x6f\x7e\xb1\x44\x1b\x19\x93\x11\x27\xa1\xc7\x12\xf0\xa0\xae\x9e\xac\xee\x90\x21\xe5\x1c\xdf\x53\x4e\xc4\xfa\x8d\xef\x21\xb9\xea\x8c\xb6\x7a\x5f\xf6\x3e\x09\xd8\x2b\xc8\x53\x2b\xd7\xff\xc5\x79\x6f\xa9\x36\x2a\x36\x3d\x4e\xc2\x7e\x4b\xa0\x1f\x75\xb0\x35\x7f\x7f\x85\x8c\x13\x6c\x4b\xf9\x39\xb8\x98\x42\x0a\x16\x93\x43\xd1\x4a\xa1\x0b\x58\xc9\xe1\xd4\x28\xdc\x4e\x06\x53\xef\x1a\x0e\x9e\xfe\xf1\x7a\xfc\x3f\x4d\xf2\xfb\xf3\xe9\x51\x1b\xd7\xbc\xe6\x7b\x6c\xed\xb7\xf2\x6d\x67\x9f\xd3\x52\xf5\xce\x3e\xe7\x4f\x81\x3b\xfa\x93\x9c\x9f\x63\x34\x26\x16\xff\x40\xb9\x2b\x8d\x4a\x1b\x0c\x2d\x83\x17\x3c\xcc\xa0\x51\x02\xe0\x15\x7b\x20\xbc\x02\x67\x40\xc3\xc5\xdb\x12\x6c\xac\xd2\x5b\x6c\x88\x6c\x3d\x7b\xb4\xf5\xac\x64\xab\x87\x61\x3c\x97\x7b\x22\x20\x6b\xbb\x14\x43\xa5\xa6\x67\xa4\x9a\xe4\x58\x9f\x83\x16\xf2\x42\x4b\xf1\x35\x19\x7e\xc7\x61\x4a\x6f\x71\x7f\x64\xeb\x19\x07\xb1\xce\x7e\x00\xa6\xc0\x39\x11\x7b\x91\x06\xd3\x9e\x14\x83\x30\x85\x82\xcb\x62\xa1\x00\xbe\x60\x61\x67\x52\xc9\x19\xf9\xd6\xbc\x2c\x6b\x56\x9e\xbc\x2b\x74\x5d\xdc\x56\x61\xf2\xaa\xf3\x77\x7f\xbe\xfd\xe8\xc9\x91\xe6\xb4\xed\x35\x32\x5c\x65\x95\xe1\x59\x7c\xa6\xd9\x68\x34\x4a\x58\xa0\xba\x91\x69\x19\xa9\x19\xa9\xc2\x5b\x54\x6a\x5a\x5e\x7e\xf1\xcd\x1f\x8b\xca\xe4\xd4\xaa\xc9\x10\x99\xab\xcd\xcf\xcb\xcf\x97\x6e\x53\x85\xd6\xd4\xe4\x6c\xf9\x24\x0e\xff\x03\x5e\x23\xf3\x72\xf2\x73\xf2\x85\xcf\xa9\xfc\xbc\xd4\x54\x59\xe9\x7b\xd6\x61\x06\x43\xa6\x1a\xd3\xd2\x52\x84\x09\x14\x37\x1b\x2e\x8b\x45\x02\xbc\x0e\x16\x96\xcb\xfc\xcb\x94\x6c\xab\x25\x4f\xde\x15\xb6\x2e\x6e\x8b\xd3\x14\x99\x5b\xec\xb0\xe6\x68\x73\xda\xf6\x6a\x09\xae\xb2\x30\x03\x86\xf2\x73\xd5\x91\xce\xbc\xec\x11\xe6\x50\x29\x69\xf9\xf9\xb2\x25\xeb\x86\xe2\x4b\xe6\x59\xf2\x72\xf3\x84\xcf\xa8\xfc\xbc\xb4\x14\x59\x67\x63\x50\xe0\xdf\xb3\x6e\xcf\x5b\x27\x44\x53\x69\x69\x3d\x65\x74\xc8\x42\x9e\x6c\xce\x3b\x5f\x20\xeb\xe8\x68\xa5\xc4\x31\xab\x50\x92\x1e\x8d\x85\x8a\x31\x4f\x7e\x3c\x0d\xaf\xc3\x63\x0f\x33\x68\xe1\xe7\x4f\x21\xf1\x2c\x14\xb5\xc2\xf0\xf7\x61\x38\x50\x30\xac\x09\x86\x42\x2f\xe8\x0f\x1a\xee\xc2\x73\x1d\x35\xd9\xd6\x87\xff\x22\xfa\x78\x40\x4a\x78\x66\xc8\x6e\x89\x5b\x4a\x60\x38\x9d\x56\x5c\x9a\x59\x26\x54\x55\x94\x54\x17\xcb\xa5\x75\xf9\x87\x4f\x6b\x95\xb9\x2d\xfc\x47\xc6\x98\x83\xdb\x85\xed\x31\x81\xb3\x33\x64\xe8\x45\xe9\x6c\x3f\xa1\xc0\xaf\x88\xdd\xbc\x3d\x44\x0a\x0b\xf4\x4f\x7c\x47\x98\x35\xb7\xaa\x72\x9b\xbc\x0f\x48\x32\xac\xed\xc3\xe8\x23\x42\x53\x79\x51\x65\x55\x4c\xc9\xbb\x15\xf2\x84\x03\x2b\x5b\xee\x6b\x4f\xed\x3d\x72\xb0\x5e\xaa\x6b\x3c\x5e\x72\x5e\xb8\x75\x21\x2a\xa9\x4e\x8e\x41\x37\x72\xef\xce\xb5\xe5\x6b\x85\xb0\x84\xe4\xd8\xa8\xda\xc4\x93\x71\xb2\x99\x7e\x10\x74\x7e\xdb\x38\x2d\x9c\x81\x9d\xfc\x5b\xb8\x92\xda\x5e\x12\x77\xa0\xb4\x2a\x37\xcb\x2a\x21\x4b\x67\xc4\x86\xa7\x6e\x16\x56\x6e\x2d\xac\x0c\x95\x83\x6b\xe3\x8f\x5e\xd1\xc2\xae\x05\x74\xf9\x6f\xa7\x0b\xf6\x01\x05\x7c\x15\x89\xc2\x63\x1a\xce\xa1\x8e\xcf\xda\x93\x62\x4e\x11\xb6\x86\xa4\x84\x47\xcb\xf8\x3e\x0e\x57\x76\xc2\x4b\x74\xe1\x32\xf2\x58\x49\x73\xf5\x71\xc1\x6a\x35\x19\x0b\x65\x94\xe9\x56\xfc\x86\x57\x76\xc2\x70\x75\x27\xad\x04\x42\x16\x3f\x3a\x6a\xd6\x46\x7f\x69\xed\x06\xfd\x9e\x2d\x42\x64\x58\x4e\x7e\xb8\x8c\x23\x68\x1c\x1e\x4a\xda\xbc\x69\xee\xc2\x73\xf0\xa2\x0a\xd6\x90\x47\x5a\x8e\xec\x3b\x21\xb4\xb7\xc6\x6e\x6b\x90\x1b\x03\xca\x16\xbe\xa9\x55\xb7\xc1\xaf\xbc\xff\xb6\xad\xfe\x12\xe7\xa7\xf1\xdf\xd6\x72\xf2\xe4\xe1\xc3\x27\x4f\x1e\xde\xe6\x2f\xdb\x3d\xd1\xc6\x1b\x4c\xdb\x4d\xa9\x12\x5a\xa8\xec\x40\x6b\xc4\xde\x44\x86\xbb\xf0\x3c\xb1\xb4\x32\xed\x80\x70\xe6\x44\x51\x65\xab\xbc\x77\x10\x19\xba\x65\x71\xfc\x3c\x61\xc6\x3b\xfb\x5a\xb7\xc8\x5c\x15\xb3\xe1\x58\x64\xc7\x57\x5a\x78\xe5\xde\x4f\xa0\xb9\x7e\x36\x62\xc3\x21\xe9\xe0\x86\xbd\x8b\xfd\xb4\xa0\xb1\xc9\x9b\x59\x68\x44\xeb\x17\xb0\x22\xb2\x3a\xd2\xc3\x66\xfd\xe2\x0b\xd0\x73\xad\x3a\xca\xd3\xe6\xc7\x73\x9f\x74\x35\x75\x4d\x25\xb1\xbf\x05\x1c\xbd\xb9\xbf\xc0\xb5\xce\x13\x65\x45\x1f\x23\x2a\x2f\x88\x8c\xda\xd4\xf5\x2b\xff\x84\x05\x5a\xb4\x27\xea\x28\x3f\x7e\xdc\x63\x43\x69\xa4\x25\xd1\xe0\xad\x8e\xc5\x7f\x93\xdc\xa9\x7c\x96\xe4\x5a\x4b\x8a\x2d\x95\x86\x52\xc6\xbd\x47\xc7\x74\xd0\xa0\x1b\xb8\xa5\xb3\x60\xf5\x80\x33\x2c\x68\x9c\xda\x1e\xd8\xeb\xd0\x97\x87\xd5\xec\xf0\x49\xf7\x7e\xb1\xe6\xe7\x5b\x25\xee\xbc\x35\x3f\x35\x79\xd2\x8d\xb9\xf7\x1c\xa1\xcc\x3d\x50\x9b\x95\x5d\xfc\x0f\xf0\xf6\x29\xd8\x01\x56\x2d\xf0\xe0\x0e\xcb\xa0\x0c\x96\x02\x33\x64\xc0\x39\x49\x09\xe9\x9e\xc5\x2b\x2f\x88\xe8\x3a\xdc\xab\x0d\xe7\xde\xc6\x57\xc0\x15\xfb\x31\x5d\x46\x0a\x87\x21\xff\xdf\xec\xff\xcb\xfa\x47\x3a\x32\x84\xef\x31\xd6\x61\xab\x57\x3e\xdb\x63\xa6\xb7\x3b\xfe\xfb\xa8\x68\xb3\x82\x15\x52\x44\x0f\x98\x20\x82\x95\xbb\xc0\x7d\xa5\x58\xc1\x97\x9f\x28\xda\xf4\xab\x45\xee\x42\xc7\x52\xb6\x4b\x4f\x73\x5f\x81\xd5\x73\xa2\xc8\x5d\xb0\xe9\xa7\x38\xe2\xce\xd8\x5f\xb0\xda\x66\x0f\xff\x8a\xe5\xbe\x3a\x1b\xb5\xe8\xd8\x72\x01\x3b\xa9\xe5\x8b\x36\xad\x8a\x92\x67\xe0\x9b\x24\x5e\x1f\xca\x72\x17\xe6\xd1\xdc\x57\x2f\xb3\x8f\xbb\xe7\x53\xd8\xeb\xd6\xe8\x6f\x24\xee\x82\xad\x93\xfa\xe6\xd6\x4f\xd0\x4b\xb6\xcf\x86\x08\x36\x48\x04\x5f\x18\x60\x9b\x00\xfd\xc1\x17\x7c\x44\x98\x0e\xe3\x94\x72\x18\x8e\x22\x0c\x87\x22\xd0\x70\xdd\x06\x9d\x5b\xa2\xb2\x91\xb7\xa6\xe4\xa7\x48\xf8\x22\x95\x92\x9a\x9a\x2c\xcf\xa0\xe7\xa3\x2e\xe4\x6d\x5c\x82\x3a\x18\x02\x6b\x61\x39\x78\x82\x00\x8b\xee\x43\x9f\xe0\xf9\xd2\x0c\x3a\x39\x3f\xd5\x2a\x71\x5d\x06\x60\xbf\x67\xc1\x85\x86\xd7\xb1\xf8\xf0\x50\xac\xc5\xf5\xb8\x1e\x6b\xf1\x00\x6c\xc4\x00\x68\x80\xfe\x10\x71\x01\xfa\x4b\xaa\x87\xfd\x75\x1e\xde\x11\x65\xae\xdb\xb0\x81\x95\xfe\xeb\xae\xbf\xec\x90\xd0\x47\x0c\x12\x61\x11\x48\xd8\x1b\x78\xdb\x60\x90\x61\xb8\xc3\xc8\x97\x61\xa4\x92\x08\x2f\xc3\x13\xd0\x70\x0f\x0c\xdc\x05\x83\x7d\xbd\x2d\x8b\xc7\x8d\xe8\x83\xb1\xb8\x16\x3d\xa7\x3e\x84\x61\x12\xf7\x95\x01\x2a\x61\x26\x4c\x80\x89\xe0\x71\xfb\x0d\x1c\x24\x71\x17\x0c\xca\x07\xd8\x87\x57\xfc\xf1\x3a\x5c\x57\xfd\xa1\xcc\xe1\xc6\xa6\x5e\x07\x57\xd0\x49\xf9\x79\x39\x05\x96\x02\x8b\x35\xb3\x20\x3d\x7f\xe3\x59\x2f\x43\x69\x54\x56\x42\x12\xf3\x2a\x52\x38\x68\x05\x0e\xf9\xcf\xe6\xd6\x7f\x80\x23\x90\xb9\x07\x06\xc5\x1b\x72\x30\x47\xf5\xc6\x03\x18\xb2\x6b\x96\x51\xde\x18\x57\xf4\x5e\xa9\xa5\x2c\xa7\x42\x86\xde\x8a\xdd\x92\x6b\x2a\xc8\xcc\xf6\xce\xc9\x4c\xcf\x4f\x17\x90\xa5\x52\x53\xf7\xa4\x98\x64\xc3\x32\x63\x34\xf9\x70\xe5\xc8\x73\xf8\x82\x80\x35\xb8\x1b\x8b\xf1\x16\xc6\xc3\x3f\xd0\x1b\x76\x82\x00\xc4\x9d\xbb\xd7\xe5\xec\x1d\x45\xbb\x2a\x22\x98\x6d\x4d\x67\x63\xae\x97\xe6\x5a\x4a\x04\x58\x9a\x07\xa1\xf0\x02\x74\x68\xdd\xab\x50\x03\x7a\x17\xd8\xce\xba\xea\xa8\x1a\x1d\x59\xc3\x63\x3f\xe8\x87\xfe\x16\xec\x8b\x1e\x18\x86\x11\x5e\x03\x7f\x07\x8a\xf5\xc6\x2d\xb8\xe5\x7b\xd1\xfb\xf9\x00\xf5\x99\xfa\x8c\x0c\x0b\x4b\xdc\xb9\x5d\x8b\xfe\x34\x6a\xd0\xda\x31\xcf\xb9\x99\x29\xf8\x53\xcd\x07\x4b\x6a\x6b\x65\xe5\x99\xf2\xec\xf9\x80\x3f\x44\xd8\x02\x5b\xfe\x25\x7a\x0f\xfc\x1d\x22\x20\x0c\x3c\xa0\xaf\x09\xfc\x1d\xc2\xbd\x75\xb8\x4e\x67\xaf\xe0\x51\x0f\x7a\x4a\xe9\x54\x3a\x41\x8f\x7a\xb2\xe7\x39\x93\x6e\x57\x1d\xb5\x08\x2a\xd9\x55\x6b\x23\x76\x6e\x93\xbb\x3c\xd4\x3b\xe4\xe2\x77\x76\x4c\x7e\x53\x8b\x93\x40\xc2\x41\x30\xf9\xe1\xad\xe6\x2b\x1f\x48\xd0\x0f\x68\x28\x53\x12\xee\xc2\x50\xa6\xb6\xbd\xea\xfc\x45\xed\xcf\xe3\xfe\xf9\x9a\xd4\xdd\xbf\xbb\x82\xc7\x88\x3d\xe8\xbd\x69\x2c\x86\x32\xe1\xc9\x91\x09\xa1\xc2\x06\xe4\x7f\xab\xdb\x22\xe3\x35\x18\x82\x35\xf0\x03\x1c\x85\x55\xb0\x02\x8e\xa4\x49\xa6\x9b\xd8\xeb\xc0\x2b\x77\xde\xfd\xd5\xdb\xbd\x4a\xd1\x80\xd5\x05\x36\xb0\x9a\x90\x38\x11\x34\xbc\x42\x89\x2b\xe1\x43\x56\xa1\xc4\x15\xc2\x8a\x88\xe8\xa0\xed\xf2\xb6\x0d\x2b\xfc\x87\x09\x43\x57\x9c\x3c\xbc\x51\x6e\xdc\x16\x51\xb1\x02\x3e\x64\x55\x4d\x9c\x48\xdb\xf4\x6e\xe0\x2e\x4a\xf3\x14\x3d\x5a\x55\x3d\x5a\xff\x67\x38\x8f\x6a\x62\x65\xd4\xd3\xe7\x6b\x2a\x1a\x9b\xe5\xc3\x6d\xe7\x4f\x3e\x15\x9e\x5c\x80\xab\x62\xb3\x7c\xf8\xf8\xf9\x93\x4f\x84\xa7\xe7\xe1\xaa\x78\xf8\xef\x94\xf3\xfe\xdb\xda\xe4\xa0\xc3\xd5\xd1\xe7\x05\x1d\x12\xf6\x36\xfe\x8e\xa8\x58\x3d\xff\xba\xb8\x83\x37\xab\x6a\xe0\x03\x51\xd5\x60\xa7\xda\xa9\x74\xaa\x7a\xb5\x93\x54\x3b\x8f\x89\xb4\x7b\x15\x1c\x66\x75\xd4\x45\x57\x9b\xd5\xa6\xe5\x6d\xd9\x60\x62\x61\x3b\x2c\xff\x1a\xfa\x83\x2c\x23\x2a\xad\xbc\x72\x5c\x3d\x41\x3a\xa2\x5f\xc3\x72\xd8\xae\x9d\x07\x9a\x5b\x62\x97\xd5\x66\xa5\x1d\x52\x51\xa3\x23\xd7\x2f\x15\xd5\x59\xd4\xae\xf8\xed\x91\x55\x32\xf4\xc1\x3e\xea\x66\x75\x33\x26\x40\x82\xa3\xf2\xd5\xfb\xea\x7d\x47\x25\x29\xbe\x8a\x2f\x24\x60\xc2\x1f\xa2\xad\x8f\xad\x8f\x83\x8a\xac\x8a\x6c\x2e\xdb\xaf\x75\xaf\x32\xc3\x78\x5b\x1d\x8c\x73\x31\xc3\x78\xfb\xbb\x30\x01\xbe\x83\x71\xae\x3a\xb2\xb7\xad\x93\xff\xf8\xbd\xb3\x37\x1a\x4f\x58\x22\x6a\x25\x13\x5d\x17\x5d\x1a\x5e\xb6\x0b\xf8\xa7\x5e\x91\x07\xa2\x9a\x43\xea\x18\x0b\x35\xe3\xfa\xf2\xec\xd7\xb3\x19\x1c\x92\x8b\x32\x72\x38\x54\x6b\xb0\x18\xb2\x0c\xd2\x75\x55\x50\xe6\xc0\x58\x4c\xd6\x62\xaf\x51\xb3\x07\x22\xe5\x07\xc4\x0f\xfe\x12\x3c\xc2\xb1\x61\xca\x18\x35\x54\xc0\x36\xb4\xe0\x3e\x3c\x82\xed\x10\x89\x95\x70\x09\x86\x81\x74\x18\x5e\xf8\x55\x36\x59\xca\xab\xf6\xd6\x16\xd5\x79\x8f\x83\x57\x22\xd6\x07\x05\x04\x6e\xf3\x36\xd3\x7e\xf3\x86\x46\xbd\x22\xe0\x4e\x1c\x05\x7a\xd8\x04\xef\xc2\x34\x58\x0a\xab\x20\xec\x4b\x64\x70\xd5\xe7\x32\xa6\xfe\xf8\x4c\x95\xe0\xb6\x00\xcb\x61\x22\xf8\xc0\x6a\x58\x81\x63\xbe\xc5\x37\xdb\x65\xbf\xaa\xf9\xe5\x21\xf7\x19\x63\x7e\xca\xfe\x3c\xe7\xd1\x75\x03\x74\x24\xfb\xbb\xab\x8e\x2c\x51\xa2\x79\x1c\x88\xbd\x5f\x46\x19\xe3\xdf\x86\x56\xf0\x9b\x2d\xc1\xc0\x65\x4b\x1e\xa0\xaf\x80\x3e\xa8\x41\x2d\xca\x38\x02\x5c\xd0\x07\xc6\x40\xef\x4f\x4e\xff\x71\x59\xbe\x86\x2e\x29\x31\x86\xd8\xa4\x38\x6f\x33\x3d\xf6\xed\x21\xa1\x3e\x02\x46\xe2\x10\x58\x02\x3b\x52\x65\x0b\x0d\x1b\x52\x61\x21\x2c\x83\x4d\x02\xfc\xb2\x0f\x2f\x60\x0a\x30\xf2\x9c\x83\x17\x27\xdf\x17\x6e\x7f\x7c\xe6\x0b\x93\x9c\x4b\x9b\x3e\x1b\xdb\xb0\xa8\x1c\xdd\x0f\xcf\x3c\x1e\x01\x3a\xe6\xaf\xe7\x3c\x5c\x9e\x3e\x7a\x7e\xfd\x64\xea\x86\x76\xc9\x4c\x57\xc4\x94\x85\x96\x45\xbe\x3a\xdd\xcb\x50\x95\xbc\x37\xba\x94\xb1\x50\x7b\x63\x02\x4d\x11\xc2\x9a\x80\x6d\xab\x33\x72\xa3\x2d\xe9\x72\xe5\xa2\x53\x89\x97\xe2\x19\xe8\xbd\x1d\xa8\x79\xd8\x5f\xfb\xbb\xad\xaf\x8f\x08\x8d\x10\x21\xda\xad\x30\x53\x74\x4d\x67\x6d\x1a\xfe\x43\x11\x06\xb1\x70\x18\x62\x31\x16\x0f\x4b\x36\xab\xe7\x87\xa2\xa4\x7a\x52\xf0\x1a\xbc\xf0\x2f\x58\x08\x01\x5a\x08\x18\x0c\x0b\xf1\x35\x78\x41\x52\x3c\xa9\xbf\x09\x65\xd0\x78\x82\xc3\xa7\x1d\xc3\x3f\xa4\x2e\x2b\xf5\x5f\xcf\xca\xc3\x31\x3c\x06\x7f\xc8\xf0\x3b\x2b\xf7\xdc\x0e\xb4\x5b\x41\xe3\xa2\xa3\x0d\xa0\x71\xb5\x69\xdc\xfe\x26\x90\xe0\x77\xf6\x6f\x01\xf2\x7f\x13\x20\x87\x8b\xaa\x95\xff\x6f\x26\x41\x13\xeb\xae\x34\xf6\xbc\x8d\x35\x92\x75\xcc\xa9\x8d\x22\xcc\x14\xb9\x3b\x06\x5b\xb6\xe2\xe8\xbd\x2c\x4e\x87\xd3\x2c\x4c\x87\x54\xf1\xec\x69\x43\xd4\x71\x19\x17\x63\x0e\xb9\x61\x67\xe3\xa2\x8b\x02\x7c\x4c\xe1\x42\xd0\xf0\xe0\x0a\x43\x49\xee\x07\x43\xeb\xc6\xfa\x15\xc5\xcb\x18\x68\xf7\xc4\x09\x54\xc2\x93\x75\xdf\xcc\xfe\xe8\x29\x78\x79\x29\xe1\x94\xad\x53\xd5\xf3\xf0\xce\xdf\xc2\x24\xee\x8e\xe1\x9b\x96\x7b\x57\xae\x4a\x60\x16\xb9\xc7\x06\x18\x27\xca\xdc\x1d\x83\x23\xd7\x66\x5c\x0b\x6b\xd1\x3c\x73\x6e\xdc\xae\x25\x12\x56\x2a\x83\xc8\xf2\xa4\xa8\xa2\x48\x01\xad\xd4\x1e\x16\x42\xa9\x87\xa8\x21\xd5\x59\xa0\x51\x35\x3d\x9b\xfa\x73\x3f\x18\x50\xc4\x79\xe4\xe1\x79\xd3\x2a\x27\x0b\xdc\x1d\xc3\x6a\xf6\xa4\x08\x91\xb0\x10\xde\x84\xa0\x26\x19\x56\x52\x95\x15\xd6\xf2\x62\x19\xfe\x50\xb6\xdf\x18\x46\xbe\x36\x61\x09\xbe\x88\x5e\x5a\xee\x07\xc3\x49\x11\xcc\xb0\x16\x8a\x59\xc9\xdd\x0c\x7a\xc5\x55\x84\x33\xec\x63\xe7\x03\x3a\x1a\x33\x58\x1d\x63\xbf\x19\x34\x9c\x4d\xd1\x40\xe7\x2c\xd1\x6e\xf5\x1c\xcc\xae\x55\x7c\xf8\x4d\xf9\x41\x5b\x37\x09\xdc\x9f\xdd\xed\xd4\xa6\xa0\x96\x63\xf9\xf2\x2d\x45\x43\x36\xe6\xd5\x57\x37\x09\xf6\xe1\x54\x53\x7d\x44\x50\x9e\x7c\x4b\xd5\x90\x18\xa9\x28\x7c\x48\x64\x64\x88\xd4\xa5\xa1\x38\xdb\xee\x88\xaa\x86\x86\xea\xaa\x7a\xd9\xa6\xa1\x1a\xaa\x22\x43\x64\x65\x50\xd7\x76\xfe\x7e\xfa\x07\x31\x5f\x48\x03\x94\x55\x24\xf8\x46\xe3\xa1\xc7\xf8\x93\x80\x3f\xe1\xa1\x11\xe8\x1b\x2d\x0f\x52\x57\x91\x31\x6f\xa6\x2e\x9c\xa0\x55\x9f\x81\x06\xde\x73\xcc\x46\xde\x13\x41\x43\x3b\x66\x50\xbd\xc1\x0f\x3a\x60\xca\x57\xe0\xf7\x15\x4c\x81\x0e\xf0\x73\x81\xb5\x30\x45\x47\x7a\xc3\x14\x57\x1d\x79\xd2\xa6\xe7\xdb\x03\x8e\xae\x96\xba\x96\x52\xab\x03\x36\xaf\x59\x73\x64\xf3\x19\xd9\xb6\x94\x3a\x73\xe4\x68\xbb\x0c\x3b\x3c\x51\xc5\xd3\x78\x0a\x11\x93\x70\x23\xf4\x85\x45\x48\x4b\x76\x1f\xea\xcc\x91\x23\x67\xda\x03\x8e\xac\x96\xbb\x77\x50\xf1\x97\x52\x2e\xbf\xaf\x05\x15\x4e\xc3\x29\x50\x21\x11\x36\x62\x5f\x5c\x04\xb4\xd4\xed\x43\xad\x0e\x08\x58\xbd\xe6\x48\xc0\x19\xd9\xbe\x83\x2a\xd3\x17\x2c\x5b\xac\x55\x68\x28\xe0\xcf\x04\x1c\x59\x2d\xe1\x62\x0a\x8e\xa0\x27\x1e\x83\x55\xf8\x50\x50\x57\xab\xa4\x4a\xa9\xab\x96\xe4\x2d\x2d\xd2\xcb\xe8\xe5\x60\x5d\xb3\xda\xc1\x0a\x4b\x28\x3c\x02\x9e\x70\x0c\x57\xc1\x23\x41\x59\xa5\x90\x0a\xa5\xac\xba\x9a\x76\xc5\x70\x49\x86\x97\x1c\xa6\xb4\xcb\xee\x6a\x12\x5a\x81\x01\x19\xfa\xd6\x40\x6f\xc5\x17\xfa\x2c\x06\x37\xa5\x16\x7a\x4f\x04\xca\xa3\x08\xa8\x56\xe8\x13\x08\xbd\x3a\xe0\xc5\xa3\xc0\x28\x13\x80\xf6\x85\xde\xdc\x47\xe1\xf6\x05\x3a\xb7\x74\xfe\x44\xe9\x35\x98\x7b\x59\x68\x2c\x08\x0c\x9d\x8d\x82\x4a\x06\x4d\x90\xf1\x85\x2a\x12\x17\x20\xf2\xcd\x86\xc3\x99\x87\x53\x77\x47\x87\x87\x47\x84\xee\x69\x4c\x3a\x60\x38\xc0\xe0\x29\xbb\x86\xaf\x29\x3e\xd8\x70\xe1\x2a\xce\x0d\x28\x91\xa0\x0f\xfe\x4e\x66\x85\x85\x64\x87\x09\x9c\x1b\x13\x1b\x63\x4c\x49\x90\x03\x7e\xc5\x3e\x70\xf3\x5f\xda\x49\x5d\x66\xbe\xe1\x64\x7b\xc3\xfd\x9f\x71\xd3\xec\x7a\xc9\x1a\x51\xb3\x34\x5c\x1b\x13\x1b\x11\x25\x71\x1e\x7e\xd3\x70\x05\x54\x77\xca\x5c\x5f\x03\x8e\xc1\x6f\xf8\x0b\xcd\x0f\x3e\x3c\x06\xe3\x71\xeb\xba\xd8\x90\xa4\x84\x77\x56\xde\x38\x1a\x2c\x45\xd7\x47\xd6\x45\xd5\x31\x51\x51\x89\xb1\x41\x5a\xec\x05\x03\x91\x03\xe2\xd3\x1b\x17\x3b\xf3\xcd\xf9\xc6\x7c\xa9\x64\xaf\x29\xbb\x58\xce\x79\x65\x3f\x92\x40\xa5\x30\xd9\xf9\xd5\x96\x0f\xb6\x5c\xbc\xae\x7d\x7a\xe7\xf1\xe7\x97\xa5\xfd\x55\x07\x4b\x0e\x15\x37\x97\xb4\x94\xd5\xd7\x1b\x2b\x33\x2a\x12\xf7\x32\xdc\x47\xe1\xa5\x49\xc9\xb9\xd1\xc2\x70\xbc\x93\x00\x23\x8b\xcc\x15\xc5\xb9\x72\x61\x51\xad\xa5\x54\x00\x12\x8e\xec\x9a\xfa\x95\x7c\x72\x93\x69\xcc\x32\x2d\xbe\xee\x8f\x43\x91\xc0\xde\x12\xba\x0d\x46\xcd\x12\x7c\x45\xc0\xcd\x38\x13\x28\x78\x77\x92\x9c\x78\x28\xe9\x70\x8b\x96\x6b\xf4\x45\x2a\x99\xc7\xad\x30\x03\xdf\x85\xa5\x6f\x4b\xdc\x47\xe1\x21\xb7\x6e\xc7\xdf\x11\x94\xd1\x50\x00\x1f\x2a\x83\x60\x44\x18\xe8\x70\x52\x9b\xdc\x06\x14\xb0\xf0\xe0\x0f\x2d\xc7\xfa\xfd\xa8\xbf\x3b\x0c\x5f\x43\x49\xdd\x80\xbd\xfc\xa5\x67\xdb\xf1\x75\xc5\x82\x3e\x02\xe7\x9b\x89\x2e\x2b\xde\x7c\x19\x49\xe8\x83\xdf\x1c\xc7\x17\xe5\x82\x88\xb0\xfc\x30\x61\xc2\xcb\x83\x27\x04\x96\xfb\x17\x05\xcb\xc8\x6f\x5b\xf9\x06\x7a\x6a\x1d\x4d\x5a\x03\x6b\x81\x81\x35\xca\x06\x58\x03\x93\x60\xa9\x8b\x19\x96\x83\x04\x3b\x61\x0f\xf8\x5f\x81\x9d\x60\x80\xf5\x30\x1a\xf4\xae\xb6\x7a\xa5\x8e\x9f\x94\xb2\x73\xd1\x4c\x01\x5d\xa2\x80\x00\x1a\xc6\x9c\xfa\xe2\xf6\x3f\x8f\xaf\x1a\x9b\x2f\x83\x3f\x0c\x60\xa1\x0f\x68\x60\x6b\x85\xac\x64\x79\x4e\x4a\xd9\xe1\xa4\x8b\xfe\x0f\xdd\xc7\x27\x56\x8d\xcd\x93\x61\xbd\x83\xae\x77\x0f\x1d\x8c\x84\x17\x79\xac\x4e\xc4\x17\xe6\x4f\x90\x92\xa2\x22\x52\x62\x13\x99\x35\xf3\xf1\x74\x4c\x4f\x6f\xbc\x56\x71\x7a\x81\x1c\x53\x1a\x59\x90\x50\xc1\x2c\x7c\x90\x00\x0c\x54\x6b\xa1\xaa\x04\x5e\xb8\xfe\x40\x2a\x29\xaf\x2e\xdc\x57\xc2\x9c\xbe\x0e\xd7\xca\xe1\x27\x01\x7e\x82\xd3\xb1\x6b\x3f\x94\xcb\x93\xaa\x0c\x25\xb1\xcc\xf5\x71\xa5\xc8\x60\x95\x16\xf4\xb6\x2c\x5e\xa7\x10\x3a\x3b\xa1\x63\x08\xca\xdd\x0c\xe1\x76\x3d\x84\xbb\x98\x21\x1c\x7c\xff\xeb\xe7\x6a\x0f\xb7\x0f\xe2\xa1\x01\x43\x21\x14\x1b\x24\x75\xf3\x50\x56\x67\xbf\xf8\x4c\x4c\x67\xa1\x8e\x86\xe1\xe0\x8e\xee\x38\x5c\x56\x53\x9f\x89\x8a\xc6\xee\xdc\x38\x7e\x28\xdb\xed\x46\xe3\x70\x74\xa6\x48\x58\x67\xb3\x52\x43\x58\x27\x5a\x3f\x48\x54\x36\x53\xd0\x00\xa1\x10\x0a\x0d\xb2\xbb\x52\x07\xc1\x2e\x66\xf0\x7c\x02\xab\x7e\x81\x35\x4f\xbe\x7e\x02\x57\x9f\x82\x87\xab\x8e\x94\x6d\x73\xf9\x83\xd1\x95\x3b\x25\x5c\x47\xed\x8c\x8a\xda\x29\x23\x45\xef\xac\x8c\x3a\x28\xc1\x3a\xea\x60\x45\xe5\x41\x59\x4d\x44\x86\x8f\x4f\x4d\x4d\x90\xf4\x54\x7c\x6a\x7e\x99\x0c\xb1\xb4\x93\x61\x38\xb5\x33\x0a\xfe\x25\xbe\x43\xc5\xa7\xfd\x85\x8d\xaa\xdc\x29\x8d\xa4\x76\x44\xc3\xbf\x44\x3d\x95\xe0\xa4\xcd\xa6\x6f\x9e\x69\xff\x54\x02\x4f\xea\xd4\xa1\xe8\x1d\xfb\xe4\x43\xfb\x0e\x55\x9c\x12\xc0\x9b\xba\xd9\xbe\x66\xba\x8c\xd9\xb4\xf2\xe8\x31\x3f\x63\xf5\xea\xe9\x12\x2e\xa3\xd6\x05\xed\xad\x8f\x96\x71\x36\x1d\x9f\x96\x16\x2f\xe9\xa9\x84\x94\xbc\x32\x59\x79\xd5\x21\xe2\xa6\x04\xe5\xd4\xcd\x33\x0e\x9e\x57\x69\xf0\x50\x54\x1e\x34\x03\x7f\x47\x8d\xd4\x7d\x85\x42\xcd\xc0\x81\xa8\x91\xbb\xaf\xd0\xa8\xf9\x7d\x20\x68\x24\xfb\x15\x0a\x34\xbf\xff\x0e\x1a\xd9\x1d\xee\x89\xdf\xb2\xf6\x21\xca\x72\x1e\x87\x28\x67\x70\x88\x7a\x86\x54\xfa\xe2\x6d\x7e\x3c\x7c\xac\x72\xf8\x31\x69\xc6\x0e\x1a\x3e\xb7\x5b\x49\x65\x3e\x05\x9f\x77\x5b\x49\x08\xb7\x87\xf3\x30\x06\x3d\xc1\x13\xc7\x48\xdd\x7a\x0a\xc7\xa0\x27\x7a\xe2\x18\xb9\x5b\x4f\xe3\x18\xf0\x44\x4f\x18\x23\xd9\xf5\x14\x8c\x01\x4f\xf0\x84\x31\x8e\x61\x18\x0d\x77\xe1\xcf\x46\x9d\xdb\xd9\xcf\x3d\xcc\x40\x82\x17\x50\xf0\x0f\x60\x90\x7a\xb2\xa8\xd1\xce\x01\x3b\xec\x29\x0c\x02\x0a\x7a\x01\xc5\x3d\x6a\xd5\x31\x84\x8d\xe7\x1b\xa2\x6b\x42\x73\x25\x5c\x04\x9f\x93\x39\x05\xd9\xd6\x42\x6d\x63\x68\x5d\x90\x45\xc2\x4d\x60\x27\xb3\xf2\xb2\xf2\xf2\xb4\x07\x77\xd7\x05\xc6\xc4\xa7\x24\x1a\x24\x75\x00\x55\xb2\x27\xbe\x20\x46\x70\x44\xf7\xc8\x5c\xbb\x9f\xea\x43\x95\x18\x1c\x98\xc0\xdd\xa1\x3b\xd3\xb2\x52\xb3\xd2\x65\x0c\xc0\x7f\x93\x51\xc9\x09\xd1\xe1\x46\x8b\xd1\xa8\xc5\xd5\xf8\x0b\x19\x92\x1e\x15\xbe\x4b\x1b\x52\x11\x5e\x9f\x26\xc1\x46\x54\x48\x63\x9a\x29\x3d\xd5\x89\x48\x97\xe0\x1d\xfc\x86\x34\xa6\x19\x53\x53\xb5\x3b\xeb\x43\x9b\xf6\x95\x15\x14\x17\x4a\xca\x40\x2a\xa9\x70\x6f\x0a\x3c\x66\x0b\x8a\x0b\x65\x65\x10\xc5\x19\x72\x0d\x85\x65\xa9\x7b\x85\x83\x75\xf5\x4d\x79\xa6\x5c\x63\xae\x0c\xef\xc0\x77\x64\x7d\x6e\x45\x4d\x83\x36\xcf\x94\x67\xcc\x93\x60\x03\x28\x24\xf7\xa8\xb5\x3e\xb7\xb2\x66\xbf\xb6\x3b\xa8\xeb\x18\x6f\xdd\x93\x90\x1f\x2f\xc4\x27\xa4\x26\xef\x91\xb9\x4b\x06\x54\x29\xf8\x19\xfe\x24\x61\x20\x05\x3f\xe3\x9f\xa4\xce\x7e\xc5\x76\x91\x87\xe5\xf0\x6d\xa1\xa5\x30\xdb\x9a\xe7\x0d\x8b\x70\x39\x89\xcf\x68\xce\xe6\x87\x8b\x71\x75\x7a\x56\x7a\x76\xba\xc5\x1b\x37\x83\x4a\x66\xe5\x9a\x73\x73\xb5\xb9\xe6\x1c\x53\x8e\x64\xeb\xb6\xd5\xf1\x7b\x0a\x4b\xd2\xca\x84\xb2\x92\xbc\xc2\x42\x19\x0e\x51\xea\x79\x5c\x83\x4b\x61\x0d\x69\xbf\xa3\xc3\xe9\xfc\x14\xaa\xfc\x5e\xc7\x2c\x63\xa6\x31\xc3\x94\xe1\xdd\xdf\x53\xdd\x44\xcd\xef\x80\xb3\x70\x0d\x72\xb1\x82\xc4\x5e\x6a\x10\x9f\x6e\xca\x30\x66\x18\xf1\x11\x3c\xf6\x52\xa6\x50\x73\xf1\x43\xb2\x7b\x82\x3f\x9f\x96\x97\x9a\x93\x9c\x9d\x91\xe7\x05\xdf\x28\x2f\xd0\xe8\xb0\x32\x50\xd1\xf0\xb0\x9b\x86\xd1\x30\x11\xae\xe3\x67\xf3\xe6\x90\xea\x0f\x9e\xa6\x1c\x63\x8e\x31\x07\x26\xc1\x0c\x2f\x5c\x42\xe3\x78\xdb\x47\x3c\x8c\x7f\x9f\xc4\x6a\x1a\xa7\xc0\x0c\x32\xb7\x20\xbb\xb0\xc8\x79\xd3\x8e\xdb\x4c\xc0\xf2\x4f\x79\x88\xba\x0f\x61\x68\xc0\x73\xf8\x31\x8e\x84\xd1\x64\x8e\x82\x3c\xb7\xa1\x35\xc7\x92\x6d\xc9\xb6\xc0\x32\x5c\xeb\x85\x1b\xa6\x92\x50\x4e\xdb\xb9\x2a\x5e\x9d\xa4\xbe\x83\xdb\x21\xc2\xe6\x02\xe1\xa4\xfa\x8a\x6a\xe0\xe1\x43\xfc\x02\xcf\xe2\x35\xec\x80\x5b\x64\x40\x36\x8f\x3a\x1c\x48\x42\x2b\xad\xc4\xaa\x59\xfc\x09\x7f\x72\x2c\xa5\xb8\x2b\x3a\x5e\xe9\xa5\xfc\x83\x34\x5b\x4c\x66\x29\x3b\x1d\xbd\xba\xdc\xc8\x3f\x6c\x32\xaf\x12\xaa\x3b\x7e\x08\x5f\x28\x73\x94\x4d\x0e\xab\x73\x4d\xde\x10\xa8\xf6\x26\x4d\x66\xb3\x49\x6b\xc8\xde\x93\x9b\x22\xe9\x50\x0f\x7d\x79\x1c\xb7\x18\xc6\xc1\x61\x52\x87\xbb\xdc\xb0\x85\xc6\x71\xd0\x42\xea\xdc\x1e\x7a\xde\xa7\xd0\x13\xa3\x48\x78\x0b\xce\xf1\xe9\xc6\x74\x63\x7a\xe6\x5b\xf7\xbd\x80\x57\x14\x98\x82\x67\x49\x53\xba\x31\x3d\x4d\x9b\x6e\xc9\xb0\xa4\x4b\xee\x20\xb3\x3a\xb7\x4f\x60\xba\xab\xed\x17\xb7\xae\x26\x1a\xa7\x81\x84\x43\x61\xba\x64\xab\xa2\x60\x3a\x48\x30\x14\xa6\xc9\x3a\xf2\x3c\x8d\xcf\xd1\x4e\x76\xc5\x52\x38\x1d\x25\x1c\x86\x53\x65\x9d\xdb\x27\x5d\xe9\x7c\x57\x11\xb5\x70\xd5\x85\x0f\x64\xc5\x40\x7f\x70\xf6\xfc\x07\x92\x12\x4d\x7d\x70\x76\xc5\x42\x59\x9d\x4c\xbb\x17\x45\x7e\xcb\xda\x27\xea\xc8\x1d\x7c\xb1\x7e\x69\xfe\x52\x41\x7d\x13\x7f\xc6\xc7\xea\x9b\x8b\xf3\x17\x97\x2c\x91\x61\x8c\x32\x09\x1e\xc1\xf7\xca\x9b\xf0\x06\x03\xd5\xf8\x22\xaf\x16\xe2\x2b\xea\x20\x75\x28\x0e\x53\x8b\x4e\x2c\xb8\xf8\xce\xfb\x6b\x61\xa8\xb2\x57\x19\xa6\x8c\x50\xca\x60\xc4\x9a\x6b\xfa\x0b\x0b\x4e\x30\x5d\xbb\x75\xf6\x0f\xf9\xeb\xbb\x6f\xc4\x7e\x9c\x0c\xaf\x2b\x02\x7c\x08\x37\x14\x2d\xf8\x26\x7f\x1c\xf3\x51\xc8\x75\x35\x08\x47\xab\x8c\xca\xe2\xab\xea\x2e\xc6\x7e\x7e\x09\xbf\x13\xfa\x05\x40\xdf\x75\xd0\xe7\xc2\xa3\xc3\x4f\x4a\x9f\x61\x1d\x0e\xc1\x08\x8c\xc4\x97\xb1\xfe\xb7\xb2\xa7\xad\xdf\x5c\x82\xde\xeb\xe0\x1f\x01\xd0\x77\x27\xd3\x33\x94\x8d\x8b\x07\xd1\x1e\x00\xa2\x87\x59\xc7\x10\x5c\x88\x8e\x0e\xd0\xb9\x45\xf3\x5f\xe2\x40\x9c\x76\x1a\x27\x08\x28\xa0\xbc\x6b\x32\x92\xf2\x5d\x24\x51\xde\x8f\x82\x80\x13\x70\xda\xda\x89\x38\x50\xe6\x5a\x71\x94\x0e\x19\x32\x97\xfa\xf6\x7e\x55\xcb\x97\x32\x17\x72\x05\xfa\x81\x67\x33\x48\x02\x0c\x80\x97\xd6\xbc\xfc\xab\xfc\xeb\xaf\xf0\x52\x3b\x0c\x10\x40\x02\xcf\xed\x4b\xa1\x9f\xcc\xb5\x06\x7c\xf5\x45\xf4\x8f\x02\x17\xd2\x25\xc1\x11\x1e\x45\xec\xb3\x6d\x1a\x32\x72\x27\x32\xd8\xe7\x30\x8a\x02\x2e\x45\xcf\x15\xd3\xd1\x4f\xe6\x5a\xa1\xaf\x3d\x8f\x3c\x0f\x6e\xe0\xdd\x00\xff\x10\xc0\x07\x5e\xf2\x1f\xfe\x9b\xfc\xcb\x6f\xf0\xd2\x49\xf0\x11\xe0\x1f\xe0\x1d\xb2\x02\xdc\x64\xe8\xdb\x9d\x47\xde\x44\x3f\xf4\x3c\x8f\x4b\x05\x2e\xe4\x58\x33\xbf\xc9\x82\x5e\xd9\xc8\x6f\x43\x72\x86\xf7\xa7\x48\x22\x7f\x10\xbd\x04\x9c\x88\xde\x9b\x17\xe0\x08\x19\x28\xfb\x54\xf2\xc4\xef\xd0\xbb\x06\xdc\x04\x18\x0e\x2f\xae\xf6\x79\x2e\xff\xfa\x1b\x50\x67\x61\x50\xb6\xa3\x54\x5e\x83\x8d\x3a\xb7\x1f\xa3\x5c\x60\x37\x6c\x81\xb5\xdf\xff\xf5\x7d\x07\x0a\x5c\x75\xe4\x97\x30\x81\x0f\x09\x0f\x0f\x91\x5e\xa5\x42\xc2\x6b\x1a\x64\xdb\x6e\x7a\x7f\x4d\x4d\x83\xf4\x23\xd5\x50\x13\xbe\x4b\xc6\xd6\xae\xdd\x30\x57\x54\xf6\xc3\x42\x16\x4f\xa9\xfb\x1d\xf0\xd4\x1e\x78\x2a\xcc\x15\xa1\x1b\x16\xb2\x3a\x32\x13\x03\x79\x98\x8f\x1c\x8c\xc5\xd9\x27\xa5\xc2\x63\x39\x6d\x6d\x5a\xb8\x84\x26\x30\xe1\x25\xcc\xc5\x10\x9c\x8a\x99\x8b\xa4\x13\x2b\xe7\xd5\xce\x11\x70\x04\xfe\x03\xff\x81\x23\xc2\xb2\x43\xf3\xc3\x64\xf4\x99\xf3\x1a\x0e\xc0\x51\x5a\x0c\x85\x39\x38\x1b\x76\x4b\x3a\xb7\x2f\x29\xd8\x0d\x73\x60\x36\x84\xca\xee\x99\x91\x90\x0f\xf4\x9b\x30\x74\x1b\xd0\xbb\x7f\xd8\x01\x74\xc4\x97\xbb\x81\xde\x0e\xba\x99\x40\x83\x5b\xcb\xb9\x67\xc0\xb6\xb4\x3f\xf3\x30\x3f\x3b\xd9\xba\x15\xa8\x76\xa0\xeb\x61\x28\x72\x40\xb7\x03\x35\x0e\xd6\xce\x04\xaa\x06\x06\x61\x6f\x47\xdc\x81\xda\xda\x7a\xf2\x19\xd7\x74\x61\xd8\x8a\xc5\xac\x9b\xce\x9e\x4b\xdb\x2c\xf8\xbd\xad\x1c\xbe\x27\x75\x64\x08\x3d\x44\x67\xff\x94\xef\x1a\x87\xed\x5d\xc3\xa0\x9d\xb4\x8f\xd1\x91\xe3\xe9\x67\x6e\x3a\xfb\x07\xb0\x56\x47\x8e\xa7\x74\xe8\xad\x66\xf0\xf0\x6f\x71\x87\x1b\x37\xdc\x30\x98\x70\x42\xff\xe3\xc2\x7d\x36\x95\x20\xea\x77\xf1\xcf\xd7\x96\x1d\x1a\xd0\x4e\x42\x9f\x91\x0e\xb0\x79\xc0\x69\x12\x7a\xff\x17\xd8\xe7\x55\xfe\xf7\x35\x65\xcd\x03\x4f\x93\x30\x69\x2d\x5f\xb6\xfd\x79\x7b\xfc\x21\xb2\xb1\xd4\x01\x9d\x8e\x6f\x26\x9b\xfe\x03\x35\x96\xf0\x65\x3b\x9c\x50\x77\xb3\xce\x6d\x0f\x28\x22\x8c\x6d\x79\x4f\x84\xb1\x70\x57\xe4\x08\xe6\xde\x43\x67\x54\x87\x33\xf1\x0a\x7f\xb7\x05\x69\xa4\x5b\x29\x48\x05\xda\x41\xd2\xc2\x23\x45\x71\xef\x6c\x58\xf5\xc9\x56\xa0\x68\xd0\x88\x8e\x6f\xbf\x49\x7c\x2b\x44\x8b\x5b\xef\x52\x18\x05\x47\x44\xdc\xfb\x7f\x5e\xd4\x1f\xde\xe4\x61\x2a\xf8\x80\x0f\x4c\x05\x3f\xf4\x81\xfe\x38\x15\xfd\xb0\x3f\xf6\x47\x3f\x9c\x0a\xfd\xd1\x07\xfc\x64\x9c\xa0\xf4\xe3\xbf\xfe\xb5\xfa\x93\xab\xc7\xa3\x22\x2f\x48\x41\x4b\xc8\x4c\xaa\x39\x62\x7e\xd1\x16\x21\x70\x7a\xda\x3a\x79\x2a\x54\x83\x0b\x4e\xd0\xfa\x22\x11\x35\x7b\xc1\xaa\xc2\x83\x2b\xa4\xa6\x0f\xc9\x6c\x6a\x43\xd5\xb5\xe4\xe3\x42\xe3\xfd\x9c\x53\xf2\xb7\x58\x81\xae\xf0\x8a\x73\xf2\xd9\x5f\x47\x69\x5d\xcc\x70\x5b\x47\xc6\xc3\x6d\x57\xdb\xef\x8a\x85\xc7\x61\xd8\x07\xfb\xe0\x70\x47\x08\x7d\x60\x18\x0c\x87\xff\x84\x0e\xbc\x64\xfb\xdd\xc2\xe3\x70\x27\xd1\x30\x47\x08\x7d\x60\x38\x0c\x83\xff\x84\x0e\xbc\x04\xb7\x6d\xe7\xf8\xf7\x57\x9f\x59\x24\xa9\x6f\x53\x8b\x57\xad\x5e\x2c\xe3\x1b\x5d\xe9\xf0\x06\xfd\xfe\xaa\x33\x8b\x1d\xb8\x45\xab\x57\x2f\x96\x75\xf6\xb3\xf4\xe2\x33\xab\xaf\x49\x3a\x7a\x28\x75\xed\xcc\x99\xf7\x1d\xb3\x8a\x63\xd0\x1b\x7b\xc3\xab\xca\x32\x20\xbe\x83\x01\xf0\xda\xef\x1e\x66\xf0\xd3\x91\x9e\xcf\xe1\x32\x4c\xe4\x92\x74\x64\x91\x7d\x01\x6f\xa6\x4d\x16\x8b\xc9\xac\x85\x12\x5c\xcf\x07\x6c\x4e\xdf\x13\x20\x67\x57\x5b\xaa\xab\xb5\x90\x8f\xcb\x60\x11\xe6\xa3\x3b\x7a\xac\x1e\x35\x51\x4a\x4a\x4c\x8c\x8f\xd1\x46\xed\x8d\xab\x94\xf6\x3f\x02\x16\xde\x12\x60\x2b\x8c\xc3\x57\x71\xbb\xbc\x29\x76\xf3\x16\x6d\x48\x6d\x78\x83\x74\xe4\x72\xeb\x65\x01\x3c\x9e\x8c\x40\x0e\xc5\x97\x7d\x51\x2b\xab\x4b\xf1\x45\xdb\x7e\xf5\x3b\x81\xbb\x80\xf5\x18\x88\xeb\x70\x3f\xee\x87\x48\x5c\x02\x95\x30\x0d\x96\xde\x07\x0a\x5e\x92\xf7\xed\x3d\xde\x52\xa7\xad\x88\xdb\x1b\x1d\xbd\x75\x73\x62\x8c\x34\x09\x7b\xe1\xa8\xa5\xa8\x13\x70\x13\xfa\x02\x0f\x3b\x64\x2e\x09\x36\xc1\x10\xe0\x61\x9d\xa4\x54\x3c\xe9\x3a\xa6\xec\x17\x60\x33\x4c\x82\x51\xb0\x15\x56\xe1\x78\x18\x8c\xcb\x65\x77\xf0\x12\x75\x6e\x17\x6d\x9d\xfc\x3d\x11\x35\x14\x6c\x16\x15\x17\x96\xae\x61\xb9\x15\x3f\x88\xce\x13\x47\xd2\x44\x09\x35\x30\x44\x0c\xde\x26\xab\x9d\xeb\x45\xf0\x12\x8d\xa2\xad\x93\x8f\x4d\x8d\x4b\x4a\x92\xd0\x8a\x56\x32\x29\x29\x0e\x0e\x88\x4a\x3f\x91\x4c\x2a\x4e\xdd\x5b\xae\xf5\x13\xcb\xf7\xa6\x26\x15\x4b\xdc\x0a\x18\x82\x2f\x93\x70\x9a\x76\xc8\x38\x4d\xc3\x10\x78\x59\xf1\x10\xf3\xcb\x05\x98\x2d\xca\x5d\x9a\xf5\x22\x34\xda\xac\x60\x10\x75\x0c\xe1\x0a\xdb\x6c\x56\x1e\xee\x50\x70\xb1\x6b\x24\x09\x4b\x7c\x78\xfc\x97\xad\x84\xb4\x2d\xa4\xba\xee\x80\x86\xc7\xa7\x14\xb4\x29\x1a\x12\xca\x28\x65\xa7\x0e\xb7\xf2\x70\xd1\x36\x92\x84\x3b\x94\x0e\x93\x40\xc3\xc3\x7a\x47\x5a\x03\x05\xeb\x55\x0d\x09\x83\x3d\x71\x7d\x0f\x2d\xb4\xa9\x1a\xd2\xb9\x17\x72\x79\x52\xb4\x35\x4a\xd0\xa1\x81\x8a\x8a\x4e\x8e\x4d\x92\x55\x8d\x6a\x8d\x0e\xcb\xda\x56\x15\xee\x6d\xd7\x77\x5b\xc9\xc4\xe2\xf2\xd4\x7d\xc2\xbe\xf2\xfc\x92\x62\xd9\xae\xb7\x5b\xab\x6a\xb2\x0e\x47\xd7\x7a\xf7\x9c\xd0\xe2\x82\x2e\x30\x24\x00\x86\xa0\x0b\xb8\x98\x1d\x5f\x27\x04\x19\xac\x19\x34\x1e\x70\xc6\x11\xdc\x15\xcd\xa0\xe1\x4c\x57\xb8\xfc\x2b\x3a\x9a\x8b\xe6\xb9\x01\x57\xc6\x8f\x1f\xff\x60\x8f\xe8\xfd\xff\x23\xe0\xf2\x9d\xc4\xa3\x47\x2b\x2e\x6c\x5d\xe8\x31\x73\x5d\x9d\x77\xbb\x48\x72\x73\xaf\x3c\x18\x4f\x82\xc4\x72\xf9\x57\x1e\x3c\x78\x30\xfe\xbb\xef\x82\x44\x07\xb1\x79\xba\xce\x76\xef\x08\xdf\x2e\xf6\xa4\xfe\xb7\xa4\xf1\x13\xc6\xdf\xdf\x23\x7a\x47\xc7\x38\xca\x1c\xb6\xc0\xc7\x35\x87\xe3\xce\x6c\x2a\xf5\xc6\x19\x57\x49\xb8\x40\x73\xe6\xd9\xa8\xa1\x38\xd3\x29\xd0\x64\xb2\x68\xed\x79\x6e\xdc\x3c\x08\x35\x34\x97\x36\x1d\x35\x78\x81\xc2\x19\x4b\x36\x25\xc4\xad\xae\xd9\xe6\x0d\x5b\xf0\x63\x12\x4f\xd3\xf3\xe6\x39\x45\x72\xa6\x2b\x0e\xe1\x4e\x0b\x49\xce\x3c\xbd\xc7\x4a\x46\x19\xa2\x73\x0b\xe2\x39\xf3\x20\x70\xc8\x3d\x00\x1a\xc5\xda\xa3\x85\xe6\xcc\xd3\x15\x17\x96\x52\x35\xa0\x51\x35\xa8\x21\xdd\x83\x44\x17\xe8\x7c\xa2\xdc\xfc\xc9\x55\xe9\xf4\x44\x0d\xbc\xc5\xce\x7b\x8c\x1a\x12\x7c\x55\x3d\x3f\x42\xd1\x3f\x76\xb4\xb5\x0e\xf2\xa0\x42\xf1\xa6\x64\x53\xb2\x31\x39\x2d\x25\x3d\x3b\x23\x89\x99\xbe\x3b\x49\x3f\x1a\xf9\x16\x78\x71\x83\x90\x44\x6d\x68\xc1\x17\x91\x17\x46\x27\x5d\xba\xb9\x5b\xce\x28\x4e\xcf\x4c\x2b\x30\x5a\x4d\x56\x93\xd5\xb9\x4d\x6c\x16\x93\x6f\xbd\x65\x29\x13\xae\xbc\x97\x62\xb8\x2c\xe7\x1b\xf3\xcd\xf9\xf9\xf9\xe6\xfc\xde\x83\x8a\x2e\xbf\x57\x70\x45\x28\xbb\x65\x4a\xb5\xca\x59\x46\x8b\xd1\x62\x64\x14\xdf\x6e\x57\x1e\x66\x06\x42\x35\xce\xfa\x51\xba\x0f\x11\x24\xee\xa0\xf6\x5d\xc8\x7f\x2f\xfd\x3d\xe6\x68\x01\x8c\x3a\x78\x59\xfb\x3e\xbe\x75\x70\x53\x81\x14\x79\x7b\x25\x50\x2b\xde\x67\x6a\xa2\x42\x4b\x03\x17\xad\x5e\xb0\x68\xd1\xea\xeb\x8b\x84\xc0\xd0\x84\xf0\x28\x79\xc5\xe2\x95\x48\x45\xfa\x31\x9b\x52\xf0\xad\x9d\x8b\xb5\xcb\x60\xd4\xce\xa3\x29\x92\x69\x8f\xc9\x60\xd0\xfa\x17\xac\x2f\xdd\x28\xe1\x0e\xea\x3b\x0c\x21\x71\xe1\xe8\x9d\xd8\x80\x73\x20\x5e\xec\x59\xf8\x43\x0e\xb8\xc7\xec\x51\x11\x35\xe0\x23\xf6\x2c\xfe\xed\x37\x70\x3b\x0d\x3a\xa6\x4b\xc9\xe4\x23\xe0\x1d\x1c\x06\xbe\xb8\xec\xf0\x90\x8a\x91\x71\x13\x37\x23\x0d\x7e\x5e\x30\x0b\x2e\xb3\x2f\x53\xb1\xb1\xa9\x49\x49\x32\x52\x48\x91\xdc\x7e\xc3\x8c\xe7\x7f\xaf\xd4\xe5\x51\x81\x41\x11\x81\xe9\xf2\xa6\xd4\xa6\x6d\x47\x85\xbf\xd6\xec\x90\xa6\x54\x2b\xc5\x1d\x33\xb4\xac\x45\xea\x07\x0c\x17\x50\x43\xed\x61\x3b\x28\xf0\xf8\x75\xe3\xcc\xcf\xe5\xb0\x75\x64\xf9\xea\x15\x85\xcb\x85\xff\xb9\x7c\xf7\x89\x19\xac\x54\xcb\xfe\xc6\x16\x98\xfe\x05\x8c\x06\x8f\xe7\xf2\x4d\x1f\x92\xdb\x6a\x18\x3c\x6a\x11\x8a\x7b\xf1\x15\x86\xdb\x69\xa8\xc6\x1d\x30\x13\xa7\xc0\x8e\x04\x86\xdb\x6f\x80\x83\x31\x10\x03\x86\x9d\xd0\xcc\xe8\x94\xcb\x2a\xc3\xff\xd7\xfa\xe5\xc1\xc6\xf4\x94\x03\x32\x0e\xc1\x46\x43\x94\x25\xac\x28\xda\x3b\xba\xb8\x2a\xa9\x5a\x80\x8f\x29\x85\x62\xc3\x45\xcf\xbf\x28\x9d\x0b\x93\x32\x98\x45\x18\x27\xc2\x3b\xac\xec\x0e\xa3\x59\x17\x33\x68\x5c\xc3\x45\x4f\xd0\xa1\x7f\x07\xbe\x75\x40\xda\x96\xb7\x23\x3c\x6d\x5b\xda\xb6\x9a\x1d\x87\xd3\x60\xe3\xd6\xab\xcb\xb2\xf7\x30\x5b\xf7\xa0\xfe\x55\x95\x15\x54\x16\xf5\x3f\x36\xef\x91\xb3\x8b\xaf\x5e\x86\x8d\x2d\x87\xf3\x6a\x0e\xa5\x1d\x4e\x3b\xbc\xa3\x66\x5b\x1a\x83\x6f\x05\xa3\xff\x3c\xd4\x69\x71\xba\xe2\xf2\x26\xfc\x00\x3f\x28\x2e\x5f\xc0\x74\x49\xd5\xd8\x35\x3c\x9c\x64\x55\x0d\xb5\x4d\x94\x55\xcd\x28\xb1\x43\xd5\xc0\xfb\xa2\xa2\xe9\xa0\x7d\xc5\x11\x36\x6b\x3c\xeb\x5e\xb5\x4a\xd4\xd1\x84\xab\x51\x54\xac\x7c\x58\x44\x69\x95\x41\x5e\x06\x6e\xf8\xb2\x1a\x43\x86\xa4\x84\x46\xef\x12\x60\x1b\x1b\x1c\x5a\xd1\x90\x22\xe1\x52\xdb\xa8\x19\xd8\x4c\xee\x4a\xdd\x1d\x15\x2c\xa8\x24\x55\x94\x54\x90\x9a\x65\xb2\xb9\xa9\x4f\xbd\x92\x8a\xf7\xa6\xed\x15\xf6\xee\xcd\x2b\x2e\x96\x6d\xae\xca\x2f\x59\x59\x05\xf9\xc5\x25\xde\xb0\x49\xf1\xe3\x0f\xb3\x48\x9f\x1b\x70\xf1\x4d\x59\x79\x93\x02\x46\xd9\x4c\xee\xcf\xaf\xab\x3c\x20\x34\xd6\x45\x87\x14\xc8\xb0\xa2\x6b\x1a\xf0\xca\xb4\xfc\xfa\xea\xf2\x86\x6c\xef\xba\xac\xfa\x84\xa2\x70\x70\xc5\xdd\x5e\x0a\x49\x5d\xfc\xe2\xdc\x73\xa0\xb5\xee\x6a\x52\xcf\x0a\xb2\xc6\x45\xb1\x42\x14\x9b\xce\xda\xf5\x3c\xfc\x88\xed\x50\x8b\xbf\x6e\x96\xb0\x26\x08\x03\x31\x2c\x02\xeb\x42\xf1\x53\x88\xc7\x6a\xb8\xbc\x83\xc1\x12\x0c\xdf\xc5\x42\x38\x86\x53\x29\x2c\x84\x43\x38\x3d\x5d\xc4\x70\x28\xa1\x3a\xc5\x6e\xab\xe7\x0c\x76\x35\x0b\xcb\x44\xc9\xfd\xb2\xa8\x7a\xa8\x1e\xe4\xbd\x61\xd8\xaf\x1d\x75\xc2\x4d\x11\x74\x6b\xa0\xdf\xa4\x27\xb2\xe2\xa1\x70\x24\x96\x4d\x67\x15\xdf\x68\xb6\x5b\xa3\xb3\x1b\x46\xb1\x6a\x52\x90\x98\xce\x82\xc6\xc5\xdc\xca\x6a\xc6\xdb\x6e\xea\xdc\xae\xf0\xcf\x3f\xb8\xff\xb8\x0d\x18\xa6\xaa\x20\xae\x3a\x42\x58\x48\x45\x1a\x52\x92\xd2\x65\x94\x97\xa0\x38\x1c\x5f\x17\xf0\x75\x14\x7f\x01\x79\x89\x5c\x9c\x6e\x28\x48\x14\x66\x52\x11\x71\x11\x91\x05\x72\x1b\x32\xf7\x47\x3c\x5f\xc8\xe0\xd2\x91\xe8\x85\x2b\x30\x52\x0b\xd3\xd9\x75\x2c\x78\x51\x9d\x22\x44\xa2\x17\xac\xc0\xa5\x3f\x49\x98\xdf\xbd\x62\x14\xeb\xd4\xa9\xb2\x8a\x15\xf2\x58\x57\xbb\x55\x47\x3e\xfc\x5a\x44\xea\x7b\x1c\x7e\x0e\xc7\x46\x7b\x63\x4d\xa0\x23\xf3\x91\x8e\xcc\x7f\x02\x09\x58\x0d\x97\x76\x30\x2b\xc4\x2a\x27\xd7\x04\x56\xd1\x80\x46\xd1\x80\x55\x74\xb2\x91\x77\x87\x61\xbf\x33\x8e\x11\x54\x87\xfd\x56\x4f\x1e\x26\x2f\xbd\xfc\xdd\xd3\xe2\x12\x53\x55\x62\x91\xf7\xea\x93\x89\x45\x51\xa6\xa4\x44\xef\x37\x46\xf6\xff\x93\x04\xef\xed\x22\xb6\xbd\xc1\x62\xdb\x74\x16\xb4\x34\xb8\xa2\xdb\x00\xa4\x93\x12\x2d\x91\x25\x06\xef\x33\xfe\x25\x86\x4a\x4b\x71\x89\xf7\xaf\xe0\x7a\x61\x39\x39\x79\xd8\x6a\xec\x87\x3a\x47\x16\x56\x88\x55\x66\xd0\xe8\xdc\xae\x45\x7d\x0e\x1a\x0f\xc5\x0a\x1b\x44\xee\x37\x1d\xd5\x6d\x4f\xe1\x23\x60\x3f\xee\x86\x08\x6c\xa8\x47\x9f\x52\x7c\x69\x4b\xff\xe9\xfd\x6f\xe2\x4b\xad\xe8\x93\x80\x0d\xbb\x71\x37\x46\x44\xe0\xfe\xff\x77\xfd\x29\x56\x0c\x9f\xfe\x3f\xea\x11\x2e\x1f\x82\x78\xa8\x0e\x85\x4f\x99\x6e\x0f\x54\x61\xac\xc8\xfd\x8c\xee\xab\xb0\xd7\xa4\x89\x12\x76\xa2\xc0\x73\xbf\xc1\x32\x51\xe6\x7e\x81\x06\xf6\xb3\xc8\xad\x37\xe0\x37\xf1\x2a\x8a\x8f\x07\x49\x5b\xe7\x4e\x8d\x9c\x24\x28\x9d\xaa\x86\x57\xad\x50\x42\xfd\x54\xf8\x75\xf3\xed\x73\xb7\x57\x7e\xbd\xfd\xa7\x3d\x4c\x07\xf4\xe5\x27\x4d\xad\x6a\x99\x2b\x73\xbf\x3d\xfe\xed\x2a\x5c\x14\x6f\x7c\x06\xab\x44\x18\x86\x05\xc0\x39\xea\xbe\xe7\x55\x29\x8d\x87\x05\x38\x45\x03\x79\x3d\x1b\xcf\x69\x40\xc3\x7d\x75\x71\x31\x6b\x7f\xfe\xb5\xf8\xda\x2d\x24\x4f\x63\xdf\x3c\xef\x88\xeb\x81\x57\x36\x9d\x83\x7c\x28\xf0\x82\x7e\xec\x53\x96\xe4\x2e\x5c\x44\xda\x59\x6f\x6f\x44\x63\x7d\x20\x06\x61\x74\x0c\x36\x44\xe2\x5d\xc8\xc2\x3a\xf8\x24\xee\x6b\xcc\x82\x3c\x9c\x02\x47\x8f\x41\x66\x33\xac\x82\x65\xc7\x21\x03\xfa\x8b\xdc\x57\x17\xbf\x64\x55\xab\xea\xcb\x3b\x04\x84\xe3\x04\x5c\x80\x3b\x77\x48\xc6\x0a\x63\x45\xa5\x16\xc2\x61\x02\x2c\x80\x9d\x87\xa4\xac\xe8\xac\xe8\x28\x2d\xf7\xd5\xc5\x6e\x8d\x67\xae\x08\xc5\x2c\xcc\x85\xd1\xe8\x82\xa3\x3f\x95\xb0\x7a\x15\xae\xc7\x24\x3c\xac\x8d\xb2\x44\x65\x45\x4b\x18\xdc\x88\x93\x61\x11\x44\x6a\xed\xfa\xae\x4e\x1e\xe7\xe2\x68\x70\x81\xd1\x33\x64\xa8\x3e\x0b\xeb\x21\x09\x0e\x6b\x2b\x4d\x95\xc6\x0a\x09\x82\x83\x60\x32\x2e\xc2\x48\xed\x6a\x56\x72\x87\xc6\x20\x11\x78\xe0\xb0\x2f\xf4\xb5\x6b\x80\x03\x1e\x7c\xc4\xe5\x62\xcf\x5d\x9e\xef\x9d\x25\xc1\x3d\x78\x78\xec\x7f\x37\x35\x16\x7b\x6d\x5d\x38\x4a\x46\xea\x0e\x0e\x6c\xc5\x91\xe1\x68\x09\xc0\x55\xb8\x66\x3b\x66\xad\xc1\xaf\x20\x05\xdb\xe0\xe3\x6d\xcc\x3a\x96\xe2\xce\x3f\x04\x2f\xfa\xa7\xc2\xaf\x0f\xdd\x3e\xc7\x70\x0f\x1e\x02\x35\x05\x06\x6e\x81\x57\x6a\x20\xad\x05\xde\x75\x94\x46\x6a\x23\xbc\xbd\x0a\xc6\x0d\x83\x7f\xfc\x5d\xaa\xdc\xb9\x87\x5d\xd6\xee\x27\x30\x56\xfc\xbb\xea\xbb\xac\xf0\x11\x0f\x0d\xec\xed\xc8\xad\x1d\xf0\x9b\xf8\x3e\x8a\x3f\x0f\x92\xb6\xce\xf3\x8b\x9c\x24\x38\x9b\xc3\x83\x87\xf6\x4e\x55\xcf\x4f\xf2\xab\x6a\x99\x27\xff\xfc\xdb\xfb\x70\x51\xec\xb8\x0d\xab\xc4\xcb\x22\x6e\xc7\xed\xf0\x8b\x08\x03\x59\xf0\x43\xbf\xc9\x93\xff\x2f\x4e\xe1\xee\x3d\xf0\xc1\xfe\xd0\x28\x16\x17\x9b\x2b\x93\x4a\xbc\xd1\xf1\x67\x62\x3b\xec\xf8\x3f\x1d\x45\x26\xeb\x74\x14\x4e\x77\x65\xd3\xd8\xfb\xf2\xe0\x05\xbe\x8e\xa6\xeb\x0b\x13\xa8\x1f\x46\xfd\x37\x11\xeb\x60\xed\x1e\xd1\x1b\xd7\xe1\x5a\x28\x11\x7f\xf8\x81\xc4\x09\xe8\xbb\x8b\x05\x5f\xf4\xa2\xf0\xf2\x0e\x8c\xc7\xea\x3a\xfc\xb4\x1a\xeb\x20\x10\xc3\xa0\x26\x88\x81\x5f\x37\x43\x3b\xd4\xc2\x8f\x5a\x38\x8b\xe1\x90\x89\x6d\x07\xa5\x79\xdd\xb9\xa3\x9c\x7b\x27\x3b\xfa\xfa\x23\x56\x47\x07\xd9\x5c\x78\x6c\x87\xf6\x9e\xb7\xa8\xbd\xd7\xad\x83\x1f\x45\x6f\x58\x80\x0b\x48\x6c\x87\x70\x58\x20\x62\x38\x7a\xd1\x3b\xe0\x32\x56\x43\x3c\x7e\x1a\x8a\x75\x11\x18\x86\x81\x41\x58\xc3\xe0\xaf\x9b\xa1\x16\xdb\xe1\x47\x01\xce\x42\x26\x84\x43\xdb\x41\x19\xbc\xfe\x76\xa3\xed\x34\x2e\xc0\x05\x0e\x69\xa7\xd6\x15\x27\x56\x99\x1d\x3e\xbe\x1d\xda\x61\x8c\xe8\xad\xb3\xdf\x52\xf7\x38\xf2\xae\x23\x0d\x7f\xf9\xc8\x10\x87\xa7\x06\x33\x0b\xd3\x59\x55\x99\xce\x2a\x0a\xdd\x29\xaa\x9d\xaa\xde\x41\x65\x86\x2b\xa2\xab\xdd\xaa\x74\xf2\xab\x59\x74\xde\x9e\x03\xf3\x0c\x56\x02\x8d\x27\x38\x0f\x56\xc7\x9b\x37\x45\xc9\xbd\xca\xbd\xca\xdd\xb6\x08\x4a\x20\x08\xe2\x5d\x74\x64\x3f\x48\x71\xd5\x91\x07\x61\x38\xab\xb3\x37\x51\x6b\x02\x02\xd6\xc8\x3a\x7b\x13\xbd\xe6\x48\x40\xbb\x64\x0b\xbb\xcc\x2a\x02\xd5\x7e\xe4\x48\xbb\xac\x23\x97\xd3\xed\x01\x47\xd6\x48\xee\x6a\x12\x3c\x82\x09\xb6\x7f\x3b\xef\x7c\x2f\xb0\xfd\x0e\xf1\xae\xf6\x29\x6e\xf8\xd2\x05\x5c\x06\x03\xd7\x4b\xa6\xdc\x7c\x63\xae\x70\xa8\xe2\x87\x7a\xb9\x69\xd2\x47\xc0\x6b\xa1\x0a\xd6\xc3\x52\x28\x87\x28\x98\x84\x3c\xee\xc1\x19\xd3\xf1\x21\xc6\x8e\x9f\x7e\xed\x91\x04\x1e\xdf\x80\x3b\x78\x6a\xef\xad\xeb\x18\x87\xd4\x0c\xd4\xbc\xbc\x2c\x7f\x41\xdd\x0a\x69\x2d\xae\x1a\x89\x67\x70\xbd\x76\xbe\x75\x41\xde\x7c\xc9\xba\xa7\x34\x17\x26\x41\x6c\xda\xa9\x3b\xf0\x9e\xf7\xe4\xb6\x3f\x36\x7c\x25\xc0\x9f\xf0\x3a\x3c\x81\x0e\xf8\x0a\x8f\x42\x20\x7e\x8c\x3f\xe3\xf7\x18\xad\x92\xb2\xfb\x48\xf0\x30\x44\xea\x48\x06\x3c\x3c\xf6\x83\x87\xce\xed\x47\xf0\xe0\xa2\xed\x41\xca\xfb\xfc\xee\x95\xc3\x83\x84\x94\xd4\xec\x9c\x54\x79\xd9\xfe\x55\x07\xd6\x9e\x0c\x68\xd9\xf0\x5e\x44\x3b\x93\x99\x6b\xcc\xcd\xad\xf9\xe4\xc4\x11\x6d\xe1\x0a\xd0\xa5\x96\x4b\xf5\x7b\xd2\x0b\x42\x12\x93\xb2\x93\x84\xc8\xb8\x94\x84\x78\x79\xf5\xba\xb0\x35\xc6\x39\x4c\x0a\x6d\x9a\xd9\x3c\xf3\xc8\xb2\x47\xc8\x7d\x8b\xae\x30\x70\x2e\x13\x75\xe2\xe9\x86\x33\xc2\x95\x1f\x5b\x2e\xd7\xc8\xd6\x9a\x82\xfd\x75\xda\x1c\x73\x9e\x31\x57\x2a\x4e\xc5\x71\x0f\x63\x05\xee\x14\xfa\xab\x0d\x3c\xba\x63\x9f\xd6\x8f\x07\xcb\x98\xfe\xd6\x3d\x48\x20\x27\xff\xb9\x01\x78\xf0\xd2\xc2\x53\x38\x0c\x87\xe1\xa9\x23\xc4\xc3\xf8\x14\x9f\xa2\x33\x94\x74\xe4\x16\x37\xd5\x17\xbf\xc7\xef\x55\x5f\x14\x5b\x51\xb8\x89\x2f\xc8\xa8\x53\x87\x91\x5c\xb4\xf2\x06\x68\x49\xee\xd4\x02\x70\x03\x8f\x9d\xc0\x09\x8a\x2f\x7c\x0f\xdf\x2b\xbe\x8a\x2f\x7e\x0f\xdf\xab\xbe\xb2\x7b\x95\xf9\xf1\x88\xbf\x9d\x68\x0b\xab\xa3\x7c\x1e\x73\x49\x06\x67\x34\x99\xed\xb6\x2a\x56\x48\x66\x95\x36\x55\xcf\x97\xb3\x3a\xdb\x43\xbb\xfe\xbf\xa2\x8a\xd5\xad\x9c\x7d\xdc\xd5\xc9\xeb\x6c\x84\xaa\xa1\xb8\x0b\x86\x38\x91\xb2\x6b\xdc\x9c\xd1\xff\x09\xf6\xac\x9e\xb5\x3d\x06\xeb\xe3\xc7\x2e\xe1\x22\x58\x5d\x6d\x7a\x9b\x86\xaf\x66\x37\x88\xb2\x5d\x8f\x1a\x1e\x9e\x43\x1a\x8b\x7a\x6a\xa6\x28\xe3\xf3\xbf\xcf\x47\x7e\x4e\x1d\x65\x25\xd0\x87\xf6\x9c\x71\x0b\x73\xd9\xee\x4e\x0c\xe7\x41\x4f\x43\xb7\x08\x61\x54\xc7\x52\xbf\x83\x63\x85\x38\x43\xea\x9e\x24\xd9\x6f\xd8\x2b\x6b\xd0\x43\x40\x8f\x57\xda\x6f\x0f\x03\x3f\xf1\xda\xf5\xd2\x96\xb3\x32\x24\xa3\xb5\xe7\xf5\x4b\x77\x68\x74\xcc\xb2\xe0\xbf\xeb\xbd\x8e\x9d\x3c\x64\x41\x16\x99\x97\x97\x5d\x60\xd5\x16\x64\x16\xa4\xe5\x49\xa8\x03\x1d\x99\x97\x96\x92\x9d\x22\x24\xa7\x64\xa6\xa5\xc9\x98\xe5\xf8\x38\xa8\xd2\x52\xb2\x93\x85\x94\x1e\xa4\x0e\x75\x64\x5a\x5a\x66\x4a\x8a\x36\x39\x3b\x25\x2f\x4d\x82\xac\x1e\x3a\x27\x32\x59\x9b\xd2\x83\x74\x52\xe5\xc1\x75\xd1\x5a\x90\x9d\x97\x27\x3b\x94\x81\x93\x28\xaf\x20\xd3\x2a\x14\xf4\x20\x9d\x0a\xf3\xb2\x0b\x0a\xb4\x56\xa7\x05\x5d\x49\x90\xc5\xe3\x1c\x98\x43\x86\xd5\x26\x1e\x6a\xd6\x9e\xa9\xaa\x3f\x74\x50\xca\x89\x8e\xce\x8a\xfe\x2b\xb3\x53\x46\x0c\x5b\x8b\xfd\x04\xec\x37\xec\xf4\x9d\x11\xe0\x27\x96\x95\x59\xb2\x4a\xe5\xf1\x0f\x9c\x0c\x87\xb4\xcd\x25\x87\x6a\x6b\x1d\xa3\x45\x55\x24\x58\x8f\xb0\x4a\x67\x87\x5d\x03\x56\x57\xb0\x2a\x56\xde\xa6\xaf\x16\x75\xe8\x07\x56\xb0\x2e\x66\x95\x7e\xa2\xa2\x8f\x66\x75\x68\x80\xce\x38\x56\xe7\x76\x11\xad\xbc\x0e\x0d\x8a\x86\xfa\x41\xb4\xe9\x29\x45\x23\x42\x26\x2b\xbb\x2b\x9d\xa0\x87\xed\xec\xb7\xec\x62\x16\x2a\x59\xb4\x52\x78\xa7\xcb\x4a\xaa\xee\x14\xde\xb1\x59\x49\xb4\x52\xa0\x57\xf5\x24\xea\x51\x0f\x0d\xd4\x25\xc7\x7f\x82\xfb\xa8\x57\x46\x51\x60\xeb\xea\x04\x9b\xad\x93\x54\x46\x81\x1e\xef\x53\x97\xc0\xf1\x17\x1a\xf4\xa8\xa7\xd4\xce\x2e\x2b\x8f\x04\x58\x49\x08\xa4\xdc\xab\x23\x95\x5b\xa0\x87\xfb\x8e\xe9\xb8\x3e\x9d\x05\xbd\x6b\x99\x88\x9d\x3a\xfb\x45\xbe\xff\x1b\x8f\xfe\x78\x2c\x36\xb1\xb2\xd2\xa9\x74\x3a\x6d\xb3\xa6\xb3\x94\xbb\x05\xc2\x70\x5d\xa4\x72\x0c\xc2\xe1\x3e\xeb\x61\x06\x5f\xa5\xcd\xb9\x2f\x8e\x86\x4b\x2c\x13\xbb\xda\x74\xf6\x87\xd7\x44\xc5\x57\x69\xe3\xd5\x36\xc5\x4a\x71\xe7\x95\x36\x4a\x69\xeb\x6e\xbb\x26\x82\x13\xd9\xa9\x58\x95\x4e\xca\xbd\x0a\x59\x1d\xf9\x4b\xa6\xa8\xfc\x64\x7f\xc6\x5b\x8c\xd9\x26\x8b\xa4\x16\x80\x95\xcc\x4f\x48\x28\x88\x13\x42\x92\xc2\x43\x65\x1d\x5a\xe8\xa0\xea\xad\xfb\x13\x24\x25\x00\x13\xc8\xf4\xc2\xa2\xcc\x62\xa1\xb9\xec\x40\x93\xdc\x61\xbf\xc2\xab\xbf\xd0\x4a\x13\x56\x90\xca\x4f\xb6\x6f\x79\xb5\xb5\xdb\x45\x59\x80\x21\x64\x4a\xe9\xde\xf4\x72\xe1\x50\x45\xcd\x21\x39\x53\xe7\x56\xc4\x67\x1b\xb3\x8c\x16\x49\x3d\x02\x35\x64\x4e\x4a\x72\x56\xb2\x10\x19\xb5\x27\xc6\x20\xe3\xe7\x6a\xad\xa2\xed\x72\x27\x8f\x75\x28\xa5\xb6\x2f\x72\xb4\xee\xed\xac\xd2\x87\xd7\xd9\x09\x9d\x9d\x58\xcc\x52\xee\x4a\x35\x66\xd7\x9d\x3b\xbf\xe2\x7a\x38\xec\x58\x73\xb1\xe9\xfc\x46\x20\x60\xc8\x89\xcd\x27\x77\x1c\xcf\x39\x76\xf4\xbd\x4f\x8e\x6d\xbd\x0d\xab\x8f\x7d\x75\x19\xe6\x7f\xf9\xe0\x6b\x8f\x6f\x2e\xde\x69\xbb\x03\x43\xb1\xcf\xa1\xe4\xa6\xec\x4b\x2d\x0d\x20\xb6\xc2\xc0\x36\x88\x6a\x87\xa0\x33\x70\xff\x42\xd1\x85\x9c\xc6\xe4\xe6\xaf\xae\x6d\x3c\x52\x7d\x22\xfc\x1b\xae\x6e\xd6\x6f\x5d\x43\x39\x0f\x82\x20\xfa\x2a\xa1\x28\xf3\x45\xf5\xf1\x67\x76\xa6\xed\x48\x7b\x6b\x59\x56\x20\xc3\xb9\x39\xf0\x59\x61\x27\xc2\x0f\x17\xd7\x15\x1e\x38\x50\x58\xc5\x70\xbd\xbc\x89\x5e\x3e\x3a\x72\xb2\xa7\xa1\xbe\xec\x4c\x53\xda\xa1\xb4\xbb\xcb\x32\x03\x4d\x61\xfe\xe1\xdb\x8b\x77\x17\x06\x1f\x48\xae\x62\xce\x80\x0b\x1f\x79\xa2\xe5\xee\xa5\x54\xe6\x6a\x1a\xf4\x7b\x7d\x8e\x76\xfd\x92\xe0\x85\xe5\xd2\xba\xe2\xe9\x17\x63\x5a\x18\x9d\x7d\x83\x67\xf5\x89\xad\x77\xf5\xa9\xcc\x92\x34\x74\x26\x5f\x0d\xfe\xa0\x5c\x3a\x55\xfc\xe9\xc5\x7d\x2d\x8c\x2d\xd8\xae\xf0\x7f\x3c\x7a\x73\xe8\xd0\x37\xde\xec\xdf\x7f\xec\x17\x4f\xcb\xb2\x4a\xb2\x4b\xe5\xd0\xbd\x8d\x31\xcd\xc2\xf9\xb6\x23\xed\x32\x47\x08\x56\xc2\xd0\xba\xfb\xe0\xb6\x22\xa9\xb0\xa6\x3e\xb7\x41\x80\xcb\x10\xcc\x27\x40\x25\xe2\xfe\x57\x71\x33\x4c\xf8\x0e\x26\xef\x04\x2f\x1c\xcc\xd8\x92\x75\x38\x8c\x4f\xcf\x4b\x32\x27\xa4\x1b\xf6\xc5\x97\xc7\xef\xcd\x2d\x37\x95\xa5\xe5\xa5\xe6\xc5\x1b\xe3\x52\x62\x8b\x23\x8b\x23\x0b\x99\x7d\x69\xa5\x29\xb9\x92\x21\x2f\x22\x23\x26\x26\x32\x3b\xd2\x1c\x9d\x9e\x90\x99\x94\x9a\x94\xcc\x58\x6a\xcd\xb5\x75\xda\xdc\x7c\x8b\x25\x57\xbe\x51\x74\xf3\x74\xf9\xed\xdc\x3a\x4b\x7d\x6a\xa3\xe1\xdc\x86\x03\x9b\xf6\x66\x56\x87\x36\x85\xe4\x85\xe4\x45\x87\xa5\x45\x31\xe9\x19\xe6\x0c\x21\xd6\x18\x9c\x9e\x10\x67\x34\x1a\x33\x4d\x99\x51\x59\x91\xd9\x91\x59\x85\xf9\x85\x79\x45\x39\x95\xcd\xcd\x05\x6d\x16\x26\xc7\x9c\x9d\xad\xe5\x7a\x11\xfd\x08\xe2\x56\xd6\xd7\x95\xc7\x4e\xb5\x9f\xcf\xff\x3a\xe5\xa3\xe4\x8e\x90\xdb\xfa\xa3\x81\xd5\xab\xa2\x33\x02\x8c\x31\x99\x4b\xe3\x92\x19\x13\xc5\xb9\x11\xaf\x11\xc4\xae\xf8\x77\x2d\x1b\x73\x03\xbe\x59\xfe\xf9\xec\x2b\x58\x04\xbb\xf1\xdf\x11\xd8\xb2\x88\xe1\xf2\x09\x1f\x82\xe8\x8c\xbd\x17\xff\x49\xf0\xf0\xe4\x61\x3b\x7c\xfd\x97\x05\x2f\x0c\x58\xeb\xbf\x66\xad\xd7\xa5\x82\x0b\x45\x97\xd2\xb7\x46\xed\x0c\x0d\x0a\x66\xb8\x8b\x04\x41\x30\xc1\xa6\xe0\x9c\x18\x6b\x9c\x35\xf3\xaa\xb1\x3c\xe3\xe8\xaa\x7d\x81\x91\xfa\xcd\x21\x7e\x29\x73\x19\xae\xaf\x23\x39\x79\x4e\x81\xef\xe9\x15\x4c\x4f\x13\x38\xb6\xee\xbb\xe8\x4e\x23\xc3\x11\xb9\x84\x1f\x61\xca\x30\x67\x66\x6a\x8f\x19\x0f\xa6\x54\xec\x28\xca\x28\x4c\xb3\xa6\x46\x19\x23\x33\xa3\x8c\xa6\x2c\x63\xb6\x31\x8b\xe1\x08\x3f\xa2\x2f\x91\x58\x1e\x9c\x13\xe3\x88\xf8\x10\x0c\x91\x91\x6e\xce\x10\xd2\xaa\x62\x6a\x77\xa5\x86\xa6\x86\x04\x65\x46\x04\xc4\xad\x0f\x4e\x5a\xc9\x70\x2e\x7d\x09\x03\x91\x16\x6c\x0e\xc9\x0b\xdd\xeb\x77\x73\xdd\x8d\x24\xc6\x98\x9f\x6b\xce\x13\x42\xcd\x61\x61\xda\x24\x6b\x62\x7e\x62\x76\x74\x6e\xa4\x39\x32\x33\x66\x5f\x64\x4e\x52\x1a\x93\x92\x9e\x9e\x10\xa3\xed\x31\x23\x62\x4f\x54\x52\x6c\x12\xc3\x11\xd3\x89\xf1\x44\x5c\x41\x5c\x56\x6a\x5a\x5a\x9a\x39\x3e\x27\x36\x3e\x2e\x21\x2e\x29\x3a\x21\x37\xd1\x9c\x91\x96\x9e\x9a\x17\x53\x18\x9b\x91\x68\x4c\x34\x25\x18\xf1\x05\x78\x13\x7b\xff\x99\xc1\x70\xc4\x20\xc2\x8b\xe8\x30\x76\x1c\x6a\xba\xac\x8c\x8b\x51\xc6\x67\x2b\xe3\xcb\x1a\x97\x75\x6c\xef\xc8\x06\x22\x07\xde\x84\xde\x99\xf0\xc2\x5f\x92\x4b\x33\x4b\x32\x4a\x24\xce\xc5\xcd\xb0\x8d\x28\x2c\xcf\xdb\x97\x9e\xcf\xe0\x7e\xfb\x7c\xbe\xba\xae\xa0\x21\x44\x6a\x5b\x5f\xea\x93\xb1\x39\xfe\xdc\x8e\x2b\xf3\xea\x98\x9c\xa2\xdc\xca\x1a\xed\xe4\x21\x3c\x30\xe2\xbe\xec\xea\xbc\xe2\xe2\x5b\xe1\xcd\x93\x72\x26\x65\xec\x49\xdd\x93\x9a\x12\x19\xb1\x35\x7e\x53\x0a\xc3\x11\x06\x62\x3d\xb1\xf7\x5e\xfc\xe3\xd5\x57\x19\x60\xc4\x1e\xc9\x5b\x32\x9c\x2f\x44\xb9\x11\xe7\xfd\x6b\x5e\x8e\x18\xcd\x18\xe3\xe3\x4d\x89\x82\xa3\x9f\xf5\x22\x52\xbf\x8c\xb9\xbf\xeb\x0e\x63\x2a\xdd\x6b\x2e\x15\x74\xb6\x6f\x27\xf0\x19\x47\x4b\xfe\x3c\x7e\x82\xa9\x6f\xa8\x4f\x89\xd0\x86\xe7\x46\xe5\x18\xa4\x79\xa1\x3b\x96\xc6\xaf\x64\x5a\x06\xf3\x9c\x0f\x41\xb8\x11\xa9\x05\x69\x85\xe9\x85\xb9\xf7\x0e\xfd\x7f\x6c\xfd\x07\x58\x14\x57\xf7\x38\x8e\x83\x30\xc5\x89\x41\x65\x76\x0c\xec\xec\xcc\x68\x62\x47\xac\x68\x34\x6a\xc4\xde\x0d\x1a\xc4\xde\xc0\x02\x22\x2a\x45\x40\xe9\x9d\xdd\xa1\x33\xf4\x22\x62\x45\xec\x62\x6f\x18\x93\x58\xb0\x8b\x31\xcd\x44\x63\x34\x05\xa3\x26\x31\x9e\xd9\x3d\xb3\x7c\xfe\xcf\x2e\xbe\x79\xdf\xe7\xff\xfd\x3d\xb3\x3b\x77\xee\xb9\xe7\x9e\x7b\xe7\xce\xcc\xb9\xe7\xcc\x9c\x7b\xce\xb7\xf7\x6a\x69\x56\x61\x06\xa7\x4d\x29\x49\xd8\x96\x56\x95\x69\x6b\x53\xa6\x80\x16\x16\xcd\x8e\xf5\xa8\x18\x15\x50\xb8\xa6\x2c\xb2\x96\x86\x89\x73\xb9\xd8\xd8\xac\xec\x2d\xd2\x96\xdb\x45\x5f\xed\xba\x40\x9b\xa8\x93\xd5\x55\x05\x55\x05\xd5\xb9\xee\x2b\xc7\x85\x8d\x4c\x1e\x41\x5b\xe6\xad\xe4\xce\x9a\xce\xca\x67\x32\x4d\x53\xc3\x90\xf2\x09\xd9\x94\x98\x9a\x97\x51\x9b\x74\x23\xfd\x46\xfc\x0d\x5a\xa6\xf0\x80\x99\xe3\x60\x00\xb0\xe8\x8a\x03\x70\x20\xb6\xa5\x03\xd0\xee\xa6\xdf\x06\x07\x57\x18\x20\x41\xb4\x95\xe5\x72\x36\x17\xe3\x7b\x51\x69\xcb\xe3\xdf\xcf\xf4\xdf\x1a\x5b\x6c\x04\x97\xac\x6a\xda\x44\xdd\xc9\xba\x2b\xdf\x31\xd1\x58\x83\x8b\xb8\x45\xf1\xdd\x8c\x8b\x6a\xc2\x8b\x8a\xa0\x57\xc1\xfe\xbb\xd9\x77\xe5\x7b\x59\xb4\x89\xca\x5d\x57\x88\x43\xb6\x24\xd3\x9a\x08\xb3\xb9\x93\x39\xa7\xb2\x4f\x66\xd1\x32\x95\x3c\xc7\xf8\x41\x6a\x70\x46\x58\x82\x1c\xa5\x7c\x74\x30\xf2\xb7\xad\xcd\xb4\xad\x75\xce\x94\x63\xca\x35\xe6\xec\xc9\xdd\x93\xb3\x27\x27\x3f\xa2\x30\xb2\x24\x92\x66\xbb\x3a\x38\x26\x3a\x1c\x9a\x01\xae\x93\x72\xff\xa9\xf5\x05\x5d\xd1\x85\xbc\x2f\xf2\xea\xe4\xe2\x33\xa7\x62\x6e\x65\x9d\xcd\x3d\x96\x73\xc0\x54\xb6\x37\x37\x3a\x27\xbc\x28\xfa\xe8\xa8\x3f\xee\x1f\x00\x17\xba\x3e\x73\x5f\xc6\xbe\x4c\xba\x6d\x29\xb6\x6d\xe4\x4c\x99\x26\xa3\x29\x03\xde\x30\xc6\xd8\xb2\x84\xaa\x54\x9c\x80\xe3\x70\x12\x7a\x60\xce\x04\x8c\xff\x1a\xa7\xc2\x07\x38\x0c\xc6\x6d\x2d\xa8\x28\x36\x56\xd1\x1f\x5a\x69\x2e\x6e\xea\x94\x65\x53\x73\x68\x96\x76\xa0\x1d\x1c\x26\xe4\xf4\xbc\xbc\xf8\x5e\x12\x50\xe0\x0d\xce\x3f\x84\xd9\x9e\xb6\x76\x0e\x0e\x9f\xc5\x9c\xe9\x53\x33\x14\xde\x30\x89\xa6\x24\x63\xb2\x98\x03\x63\xb8\xe4\x6d\x09\x3b\xe3\x76\xd0\xac\x83\xb3\x43\x27\x07\xe3\x39\xf9\x5c\xd6\x39\x3a\x8b\x2c\xca\x2f\x2e\x2c\x2c\xda\x9e\xbf\xbd\xb4\xb0\xbc\xa0\x3c\xa1\x64\x4b\x51\x56\x8e\x9c\x93\x95\x03\x6f\x98\xa2\xdc\xe2\xdc\xc2\x3c\x9a\xed\xea\xe8\xeb\x50\x63\x0f\x7b\xe3\xd8\x13\x3e\x18\x83\x86\x15\xe8\xf6\x09\x76\x1a\x9f\x79\x2c\xe1\x44\xc2\x3e\xfa\x36\x7e\xc4\x99\x64\xd9\x24\x66\x51\x59\xb2\x2c\x4b\xd0\xe5\x3b\x10\xae\x43\x9f\xe3\xc7\xa3\x8f\xc5\x9c\x88\x2b\xcc\x94\xe5\xc2\x9c\xc6\xf2\x0b\xd5\xe7\x6b\xa1\xff\x72\x10\xc7\x82\x61\x94\xd6\x39\x5e\x73\x35\x6a\xae\xe5\xb4\xc1\xb9\xe6\x14\x87\xee\xf7\x50\xb8\x82\xdd\x8f\x43\xb7\xfb\xd0\xf9\x15\xb4\x07\xc7\xc2\x74\x25\xa3\x38\x93\xce\xcc\xca\xc8\x32\x8a\x5b\x92\x12\xe2\x0b\x62\x0b\xe3\xb6\xc7\x6d\x4f\x57\x92\x8a\x92\x8b\xd3\xe8\xf9\xa6\xf9\xc6\xf9\x62\x56\x56\x5c\x78\x62\x58\xca\x26\xf7\x84\xb5\xf1\x4b\x33\x57\xd0\xaa\x21\x82\x5b\x3c\xbe\xe7\x27\x13\x32\xa7\x66\x4e\x39\x11\x77\x83\x36\x2a\xa6\xa2\x62\x7d\xcd\xe3\xb3\x7f\x5c\xac\xf8\x71\x07\x78\xa3\x73\x22\x52\xb4\x8b\x5a\x67\x99\x06\xc3\x1c\x65\x7b\x90\x70\xe2\x75\x18\xf7\x6c\xdc\xfd\x81\x03\xc7\x8e\x1d\x38\xf0\xfe\xb8\x67\xcf\x9a\x9b\x9f\x89\xd6\xa4\x2e\xcf\xc6\xde\x1f\x38\x70\xdc\xd8\x81\x03\x9b\xc7\x3d\x7b\x76\xdf\x06\xab\x30\x10\x5f\x71\xd0\x09\x67\xdd\xc2\xbf\x0c\xce\x09\x95\x06\xe7\x43\x55\xd6\x8d\xf8\x3d\x06\x69\x24\xad\x3e\x37\x7b\xa9\x61\x90\xde\xda\xcc\xb7\x36\x63\xdd\x29\x68\xc2\x33\xf6\xf8\xf4\x4d\x4d\xa0\x98\x75\xf5\x6a\x04\xe8\x9a\x9a\x1c\x65\x5b\xb6\xa9\xc9\xee\x56\xcf\xd7\x76\xe4\x64\xd1\x19\x88\x46\x4e\x5d\xa6\xb6\xd7\xda\x6b\xcb\xb4\x65\xda\xbf\xa9\xda\x5e\x5d\x66\x83\xdb\x52\xa9\xa9\xcd\x43\x95\xd6\xdd\xda\xcc\x05\x93\x40\x09\x5a\x44\x9b\x05\x7e\xfd\x33\x46\x8d\xa0\x64\x46\xed\x3e\x9d\x0b\x14\x16\xef\xf4\x3f\xbc\x49\x42\x72\x02\x03\x24\x75\x78\xdb\xce\x86\xd3\x7a\x38\xc1\x98\x95\xb6\xc8\x15\xcf\xb5\x51\xda\x28\x78\x8e\xcf\xe1\x08\x03\xcf\xd5\x51\x1e\x36\xe1\x57\x8b\xe0\xa0\x5a\x10\x3d\xce\x33\x2d\x6f\x43\xeb\xbc\x0d\x37\xec\x71\x9e\x31\xbf\xb6\xea\x38\x4f\x46\x6c\xd5\x3d\x65\x54\x05\x1a\x18\x8b\xae\xfc\x3f\x76\x9e\x41\x8c\xaa\x03\x5f\xd0\x41\x57\xc1\x6e\x36\x2a\x83\x8e\xb5\x18\xa8\x44\x8b\xc2\x19\xcc\x89\x56\x05\x6a\x04\x08\x62\x38\x98\xc3\x18\xd4\xc6\x7e\x02\xab\x59\x7c\x17\x09\x06\xca\x7b\x0e\xc3\x5a\xb0\x01\x74\x9a\x8e\xb2\x69\xaf\x1c\x9c\x60\xc0\x0b\x24\xc1\xa0\x36\x2e\x61\x5a\x7d\x29\x56\x1b\x72\x6f\xfc\x13\xd1\x40\x79\x2f\x64\xc0\x8b\x02\x9a\x91\x5c\x4c\x82\x4d\x80\xe4\x8c\x82\x59\x31\xa0\x03\xc9\x6a\x06\x2a\x71\x7a\x5f\xe1\x2d\xd8\xa2\x33\x2b\xad\xba\xff\x7f\xa8\xaa\x98\x15\x4d\xf9\x1f\x28\xab\x19\xe8\x44\x8b\x6f\x5f\x41\x4b\x00\x89\x91\xd3\x19\x27\x83\x73\x88\x9a\xc4\xb5\x2a\x16\x85\x28\x4d\x88\xc9\xdf\xc2\xa7\x24\x1b\x33\x53\xa5\xf0\xa4\x98\x88\x50\xbd\xc1\xd2\x15\x36\x32\x70\x1d\xae\xc3\xa7\xda\xfc\xb2\xe0\x43\x31\xfb\xca\xdc\x61\xe2\x57\xf5\x65\x15\x87\xe2\xf6\xb9\xe3\x12\x75\x23\xa1\xba\x92\x20\x08\xb4\x8b\x35\x21\x93\x31\x2b\x30\x49\x70\xf4\x13\x9c\xcc\xcd\xd0\x97\x69\x02\xdd\x74\x12\xa7\xa0\xdb\x3c\xcf\xf1\xd2\x6f\xe3\xd1\xed\x02\x4e\xe1\xa7\xa3\xae\x89\x84\x40\x70\xf0\xc6\x3e\x92\xe6\x05\xbf\x31\x5a\x03\x85\x7d\xd0\xc1\x1b\x03\xc5\xb6\xc2\x29\xe0\x76\xe1\xb7\x7b\x92\xe7\x3d\x70\x9b\x07\x53\xf8\x36\x32\x81\xe8\xf0\x15\xf4\x91\xec\x42\xa7\x23\xa3\x7a\x51\xd0\x07\x1c\xbe\x82\x40\x9b\xcc\x9d\xc9\xd8\xed\x4c\xdb\x5e\x53\xfd\x2e\xfc\x27\xd3\x55\xf8\x2f\x58\x79\x6b\x95\xcb\x1e\x28\xa9\x61\x1d\xbd\x7d\x0c\xb4\x03\x5c\x11\x54\xdb\x15\x60\x1d\x32\xbd\x51\x67\x40\x07\x8a\x75\x0c\x74\xb0\x5d\x14\x1b\xb0\x5b\x27\x07\xd0\xb5\x2a\x24\x5b\xd3\xdb\x01\x34\x81\xf5\xa6\xbd\x41\x67\x14\x28\xb6\xc6\xc1\x07\xed\xee\x81\xd8\x6e\x0e\x5d\x51\x67\x51\x48\x5b\xd9\x11\x81\x03\x1d\xc9\x76\xa5\x1d\xb0\xad\x32\xda\xa3\xfa\x83\x8e\x63\x1d\x69\x07\x5b\x91\x43\xa6\xb7\xca\x0a\x14\xeb\xe8\xe0\x0d\x3a\x83\x25\x91\xb3\xd5\x0f\x11\x48\x76\x67\x90\x0f\xe8\xc8\x08\xa1\x8b\x01\x1d\x54\x47\xc6\x62\xeb\xaa\xce\x28\x84\x08\xad\x0a\xea\x48\xd8\x26\x80\x0f\x63\xd5\x59\x74\x1c\x2b\x52\x89\xa0\xb4\xea\xac\x8a\xaa\x43\xc5\x76\xc5\x29\x03\x26\x6a\x3a\xdb\x65\xd6\x69\x0a\x65\x83\x72\x56\x9b\x12\x79\x85\x01\x85\x74\x51\xff\x1d\x98\x23\x42\x88\x20\xc3\x0a\x41\xb6\xdb\xe1\xfe\x77\x64\x6c\xc3\xf2\xbf\x47\x2b\xec\xdf\xbb\x0a\x76\xce\x61\x1d\xbd\x09\x43\x7b\x07\xb3\xc2\xbd\x1d\xa2\x44\x1d\xb6\x1d\x78\x77\x02\x5b\xe2\xd3\xdb\x76\xe3\xda\x34\x50\x87\xf7\xbb\xa2\xae\xd5\x06\x5b\xf8\xef\xe0\xb5\x9b\xe0\x00\x3a\xab\x8e\x64\x19\xc6\x3e\x78\xdd\xdb\x25\xda\xd0\x6d\x43\x53\xe3\xe8\x6d\x1f\x4e\x87\x09\xa0\xb3\xd8\xf2\x0e\xc4\xdb\xe1\xec\xd1\xae\x9d\xdd\xd5\xd2\x11\x81\x63\xdb\xb5\xb3\x8f\x59\xbb\x09\x0e\xf6\x31\x73\x18\xe7\x60\xd5\xa9\x0a\x67\x6b\x4c\x75\x64\x48\xd6\xc1\xbb\x2b\xda\xca\xbd\x3b\x19\xd0\x01\x74\xf6\xb1\x6f\x67\xbb\x1c\x14\xdb\xdd\xe1\x7d\xdb\xb0\xe9\x5a\x15\xdb\xc4\xed\x6c\x43\xb3\x37\x66\xeb\x76\x57\x07\x6f\xa3\xd0\x85\xed\xee\x50\x03\xbf\x31\x14\xcb\x38\xf4\x6e\x55\xba\xa8\x8e\x0c\xc5\xb6\x4b\xd4\xc1\xc7\x8c\x0d\xc7\xd1\xc1\xd9\xa2\x23\xd9\xc2\x77\xd6\x86\x08\x56\x9d\xad\x79\x4d\xa7\x29\xe0\xc3\x18\x05\xd4\x81\x0f\xc3\xe6\x2f\xf4\x0c\x11\x38\x95\x15\x5a\x75\xa0\x0b\x11\x6c\xa7\x05\x57\x18\xfb\x2e\x44\x20\x5d\x56\xd9\xae\x60\x03\xb7\x5a\x10\x55\x2f\x8b\x17\xfc\x22\x18\x2c\x8d\xe0\x29\x58\xbc\x48\xfb\xa3\xae\x75\xa6\xce\x28\x17\x77\xd6\xd5\xc1\x0c\x98\xe1\x56\x57\xb7\xf3\xa2\x72\x86\x76\x09\xb1\x3d\xaf\x9f\xdb\x76\x3a\x27\x03\x11\x0d\x0a\x97\xb6\x25\x79\x4b\x6a\x2a\xce\xc4\x99\x6e\xa9\xa9\x5b\x92\xb7\xa4\xd1\x90\x05\x59\x14\xee\x03\x1d\xe7\xb7\x7c\xb9\x9f\x84\x0d\xad\x3a\xa3\x60\x14\x5a\x6d\x3c\xc4\xe2\x05\x43\x98\xb7\x0d\x29\x64\xe3\xfd\xbd\x87\x0e\x49\xb6\x06\x88\x43\x87\xf6\xde\x6f\xd4\xbb\xa8\x75\xea\x62\x98\x8b\x53\xa1\xeb\xb7\xc0\xd9\x57\x7b\x3e\xbf\x68\xee\x7d\x1f\x56\x43\x00\x64\x80\x8e\x8d\x33\x50\x5b\xd5\x03\xdc\x81\xf0\x5d\x21\xf9\x62\x56\x46\x72\x56\x3a\x8f\x9e\xd8\x15\x3c\xc9\x3c\x25\x2b\x2b\x57\xaa\xcb\xdf\xbe\xf3\xa0\x7e\x33\x04\x71\x07\xc2\xb7\xaf\xcf\x13\x33\x53\x6d\x18\x12\x72\x20\x91\x79\x05\x72\x56\x8e\xc4\x66\xee\xc9\xdb\x5e\x7b\x40\x6f\xc0\xe9\x38\x9c\xc3\x0e\x63\xfb\x62\x81\x28\x63\x3f\x19\x3b\xec\x13\xc1\x99\x5a\x73\xff\xeb\x88\x6f\xf8\x5f\xce\x5f\xfa\x4a\x82\x2b\x10\x8d\x57\x28\xf3\x52\x9c\xc1\x75\xdd\xd8\x33\x43\xd6\xe3\xeb\x98\x5e\x20\x41\x0f\x3d\xf4\x78\x09\x12\xbc\x8e\x11\xe5\x57\x19\x6f\x36\x8a\xe8\x4c\xf9\xed\x9a\xb6\x63\x44\x3e\x8d\xdd\x8b\x87\x4e\xc4\x4e\x7a\xec\xf4\x78\x22\x74\x2f\x16\x1f\xe6\xdf\xd8\x79\x61\x17\xcd\xc6\x21\x41\x99\xc3\x80\xe2\xd8\x6d\x1f\x8d\x9f\xd7\x57\xd4\x12\xd4\x02\x75\x11\xa9\x14\x9b\xf2\xf9\x47\x19\xd7\x96\x8d\xd1\xfb\x2c\x9f\x3f\x3a\x51\xcc\xa4\xd8\xb8\xc7\x69\x37\x16\x8d\xd5\x83\xce\x9c\xf3\x54\x30\xa8\x0e\x24\xeb\xbf\x41\x50\xeb\x60\x00\x03\xcf\xaf\x40\x30\x24\x43\x35\x24\x43\xb0\xca\xc2\x73\x27\xf3\x0b\x38\xc3\xa1\xd4\xd8\x1b\x78\x18\xac\x87\xc1\x2f\x80\x07\xe9\xa2\x68\x9d\x4a\xa9\x59\xf0\x82\xc3\xc1\xbd\x91\x47\x69\xae\x68\x9e\x46\x81\x34\xf7\x05\xf2\x38\x58\x0f\xc1\x5d\xe0\x6b\x2c\x87\x72\xfc\x1a\x1f\x60\x05\xda\x53\xa8\xc0\x0a\x78\x00\x5f\x43\x39\x54\xc0\x03\x51\x65\x53\x39\xfc\x13\xef\xe1\x61\xfc\x4b\xc4\x8b\x24\xbe\xc1\x93\x70\x18\xfe\x54\x5d\xe1\x24\x54\xc2\x1b\x09\x2e\x92\xf0\x17\xdc\xc3\x4a\xcd\x55\x82\xe7\x66\xfd\x4a\xe6\x1f\xe6\xa8\xe0\x51\x21\xb4\x36\x27\x32\x96\xe6\x66\xc6\xd2\x0c\x93\x05\xbb\xb3\x30\x4b\x33\x37\x9f\x69\x6d\x6e\x8b\x67\x6b\x69\x5e\xc8\x68\xf6\x69\xf4\xbf\x30\xf0\x02\x1d\x7a\xfd\x4f\x35\xf4\x02\x1d\x65\x67\x0b\x10\x01\x0d\x90\xc1\x54\x80\xb3\xab\xdc\x64\x56\x9a\xda\xde\x44\xd9\x8e\xd8\x97\x89\x06\xb2\xd1\xd2\xcc\xa9\x3a\xab\x2f\x61\x55\xc8\x56\x9d\xd9\xf7\xdf\x8c\xc1\xf9\x98\x45\xc7\xa9\x09\x41\x82\x96\x40\x7e\xb5\x71\x62\xe3\x87\xfc\x87\x13\xfd\xbc\x37\x4a\x5a\xc2\x20\x46\x4d\x20\xab\xe7\x9e\x58\x76\x31\x9a\x36\x58\xfe\xd1\x5e\x6f\x60\x60\x0a\xc3\xba\x3a\x0c\x63\xd8\x5a\x87\xd5\x8c\xf6\xda\x40\xbc\x43\x5e\xac\x3e\x71\xa2\xfa\x22\x8d\x53\x63\x38\xf8\x91\x59\xb6\x66\xcd\x32\xc9\xd2\xdc\xea\xcc\xc9\x14\xac\x67\xc0\x24\x88\xec\xcb\x44\xf8\x10\x0e\x3f\x04\x7f\xc9\x80\x0e\x5d\x58\x57\x07\x58\xcf\xd8\x80\x26\xe1\x2d\x5c\x74\xe9\xce\x68\x7b\xad\xf3\xb9\xb0\xe4\x2d\xe1\x1b\xf5\x6d\x6e\x82\x61\xe9\x18\x58\x8e\x5b\x35\x47\x7d\xab\x42\xaa\x8e\xb0\x1c\xb6\xc2\xd2\x07\xe2\x73\xa6\x3b\x83\xba\x2e\xcb\x32\x97\xa7\xf9\x8b\xad\xc9\x64\x5a\x43\xe6\xf1\x13\x7a\x8b\x62\xb0\x38\x70\xad\x0a\x09\x08\x0b\xa1\x0a\x16\x7d\x27\xc2\x16\x12\x16\x8d\x84\x85\x58\x85\xa8\x77\xb1\x57\xc2\x9e\x6b\x91\x9b\x87\x8e\xa2\xf5\x77\x72\x1e\x38\xae\x05\x0e\x7a\xea\x2d\x8b\x0c\xe8\xcd\xb5\xbe\x4f\xde\x87\xb9\xe0\x0e\x02\xb8\x5f\xa4\x6d\x75\xdd\xe7\x82\x3b\x0a\xf7\x71\x2e\xfd\xff\xd5\xbb\xc7\xc1\x3f\x4d\xbe\xeb\x41\x5b\x7d\xc8\xbb\x2d\x3f\xdd\x7a\x5c\x4f\x3f\x67\x50\x01\xdf\x47\x91\x06\xc2\x1b\x7c\x7f\x66\x0c\xc4\xa3\xe9\x7f\x32\x06\x4b\x6d\x13\x67\x70\xd6\xc8\x68\x78\x8a\xbb\x61\x2a\xce\x00\x17\xb0\xfd\x77\xc3\xd4\x6a\x78\x4a\x1b\xd0\x99\xac\xc6\xa7\xb0\x1b\xa7\xc2\x0c\x74\x41\xdb\x7f\x37\x4e\x8d\xc6\xa7\xb4\x81\x58\x6a\x20\x1d\xfe\x64\x5c\x42\x04\x8b\x33\xe8\xea\x41\x37\x1d\x74\x1e\xf6\x75\xa1\x5d\x05\x88\xa8\x97\x41\xd7\x52\x0f\x4a\x3d\x44\xd4\xb7\xb4\x89\x29\x4f\x22\xd8\xcb\x11\x66\x05\xae\x08\xb9\xb9\xb2\x29\x4f\xba\x99\x7a\xc6\x67\x8a\x1e\x5d\xea\x6d\x3c\xb0\x29\x02\xb6\x31\x85\x85\x26\x53\x81\xd8\x98\x78\x70\xa1\x9f\x1e\x3b\xd7\xd7\x53\xec\x13\x1b\xb8\xe9\xcc\xbc\x19\x22\x9a\xa8\xd0\xcc\xd0\xd4\x30\x91\xfd\x49\x45\x07\x6d\x0a\x91\x1a\x96\x19\x1a\xaa\x0f\xa3\x3c\x19\xd1\xaa\x23\x03\xd7\xef\x39\x70\x34\x69\xdf\xfa\x3d\x12\x5e\x83\xb3\xc4\xa6\x6d\xf1\x7b\xf6\xea\x21\x82\x82\x6d\x8c\xc8\xde\x8b\xb0\x91\x90\xd0\x9b\xaa\x0f\x21\xd4\xb1\xd4\x7f\x68\xf6\xb7\x37\x7d\x39\x02\x68\x46\x04\x9d\xf3\xb4\x99\xe1\x4b\x17\x4b\xec\xbd\x88\xb2\x75\x6b\x0b\x82\x78\x74\xed\xd6\x07\xd9\x14\x29\x2b\x3d\x5d\x4e\x53\xdf\x11\x30\x82\x9a\xba\x67\xfa\xe9\xa5\xb6\x1e\xc0\x15\x3c\x4b\x60\xbb\x6f\x06\x02\x29\x9a\x75\x64\xba\xb0\x5d\xae\xcd\xdf\x2e\xd9\xfa\xeb\xa8\x4e\x21\x0a\x0f\xe4\x1d\x3a\xa8\x07\x13\x05\xee\xdd\xa0\x1d\xea\xa3\xa2\x8c\xe9\xd1\x22\xdb\x14\x71\x7d\xe9\xb8\xc3\xa3\xf8\xe5\xcb\x13\x36\xad\x96\xd8\xcb\x11\xfb\x96\xcf\xab\x9c\xcb\xdb\x9d\xa5\x46\x33\xa0\xd8\xbf\xf5\xe8\x64\xb5\x93\x6d\x00\xff\xf3\x03\x1d\xfb\xf7\x23\xb6\xe5\x91\xc5\x19\xfa\x32\x57\xcf\x2d\x98\x29\x59\xbb\xd7\xab\x3b\x28\x16\x1e\xc1\x36\x3b\x40\xd4\x76\xd4\xc3\x0e\xea\xdf\x5c\x3a\x15\x65\x8c\xca\x8c\x16\xc7\x68\x7d\x88\xa5\xc9\x01\x6b\x97\xf0\xd6\x09\x64\xc0\xaa\xea\xfa\x70\x09\xfe\x61\xee\x7c\xfe\xc5\xdd\xa3\x87\xa3\x83\xb7\x8b\xd0\x1f\x57\x10\xa0\x50\xea\xff\xd4\xdd\x51\x6f\xee\x4e\xb1\x2d\x36\xd2\xb6\x21\x19\x34\x7c\xfe\x47\xfe\x12\x0b\x8f\x72\xe2\xe2\xb2\xe2\xd4\x77\x04\x6d\x12\xb5\x3d\x70\x7e\xd1\x0a\x1e\xdf\x47\x12\x29\xec\x06\xd9\x8c\x79\x02\x09\x0e\xbf\x7e\xfd\x4f\xb5\xf4\x40\xed\x4d\xe4\xed\xca\xd9\xbd\x5b\xaf\xa6\x53\xd0\x15\xdb\xbf\x41\x29\x45\xac\xa4\xc0\xcd\x1e\xd2\xd3\x2d\x2e\xce\x94\x19\x27\xb2\x2d\x8f\xbe\xf7\x1f\x7e\x7e\x10\xef\x52\x63\x9b\xcc\x76\x6f\x80\x11\x82\x6d\x86\xa8\x07\x9d\xed\x74\x0b\x40\x07\xd9\xb6\x73\xaf\xaf\x87\x06\xd0\xb1\x17\xce\x5a\xbe\x40\x1d\x77\xed\x5a\x61\xf9\x65\x09\x7e\x79\x44\x00\xb9\xfb\xbb\x3f\x81\xd1\x9b\x07\xaa\x0c\xa3\xf5\x20\xad\x34\xa4\x10\xc5\xeb\xd7\xe5\xaf\xe3\xfd\x99\x6e\x37\x3c\x5e\xac\x96\x4e\x6c\x21\x90\x20\x81\x15\x20\x5a\x80\x6e\x12\x94\x91\xe9\x49\xf2\xc6\x44\x3d\xfb\x63\xec\x80\xc6\x0f\x1f\x06\x88\xe9\x54\x60\x61\x60\x79\xb0\xe8\x71\xfc\xdb\xa5\x7f\xf3\xa0\x33\x2f\xe2\x7c\xa9\x29\xa7\x7d\xae\xc7\x89\xf8\x0c\xfb\x13\xa9\x71\x31\x99\x31\xfc\xcc\x05\xe7\xae\x9e\xd8\x79\xf4\x68\x95\x04\x1f\xde\x27\xd4\x0d\x98\xca\x2d\x0b\x0d\x08\xd8\x2c\xe2\x6b\xf4\x22\xd2\x93\x62\x32\x12\xf8\x29\x4b\xce\xdc\x78\x70\x65\xfb\xe5\x5d\x12\x1c\x07\x37\xa2\xa0\xac\x22\xa7\x82\xb7\x5f\x27\x8c\x35\xa7\x72\xb7\x49\x74\xea\x41\xac\xdf\xb8\x65\x65\x80\x1e\x17\x52\x18\xd7\x8d\xd0\xea\xc9\x09\x73\x3e\xbf\x2b\xb1\x3f\x9e\xb5\xdd\x79\x66\x5d\x13\xa9\xd5\xc2\x62\x62\x61\xf5\xda\x33\x8d\xfa\xbb\x5f\x7c\x7e\xa7\xa2\x3c\x33\xbd\x5c\x64\x7f\x8c\x55\xc1\x80\x34\x37\x90\x84\x6b\xd0\x8d\x38\x5f\xbb\xef\xc2\x25\x3d\xfb\xe3\xd9\x3b\xf3\xaf\x4c\x2c\x16\xd9\x0b\x67\x0f\xec\xda\x76\xec\xa4\x1e\x56\x06\xe3\x4a\x6a\xd6\x02\xdf\x99\xb3\xe6\x9f\xba\x2a\xc2\x59\x6a\x6f\x69\x5d\x6d\x8d\x08\x06\x70\x25\xe0\x0a\x09\xef\x32\x92\x75\x20\xe5\x13\x30\x7f\x4e\x9c\x88\xbf\x0c\x23\xe2\x17\xf8\xa5\xcd\xe3\xdb\x6c\x92\x74\xaa\xee\x77\xfb\xed\xa6\xbb\xc0\x58\x74\xf0\xcc\x26\x9f\x27\xc0\x56\xa6\xf5\x53\x72\x2f\x23\x05\x53\x53\x6b\xa7\x1d\x9b\x2f\xa2\x5b\x31\x38\xf5\x00\x77\xde\x3c\x8e\x5c\x81\x3a\x42\x1b\x5e\x24\x04\xc3\x49\x41\x54\x8f\x93\x70\x04\x3f\x20\x70\xa2\x3d\xa7\x23\xa1\x95\x01\xa0\xa0\x8b\x3f\x74\xfe\xf8\x6f\x51\xbb\x6d\xde\x46\xdc\x58\x34\xfa\xc8\x47\xbc\xb9\xc8\x60\x6e\xb4\xa9\x35\x9a\xee\x29\x03\x0b\xa8\x83\x91\xfb\x82\x2b\x45\xbc\x03\x83\x89\xbc\xe4\xa4\xec\x24\x5e\xfb\xe2\x29\x53\x4f\x3d\xb9\x77\xef\x89\xa8\x7e\x42\x36\x1c\xda\x75\xa4\x54\x6a\x02\x5f\x22\x47\xc9\x2e\x2e\xd2\x2f\x16\x06\x92\x56\x1d\xf9\xc9\xdc\xe3\x5f\x26\x4a\x19\xd5\x59\x5b\xab\xf5\xbf\x08\xe6\xe6\x7a\x6b\x33\xb9\x62\xf5\x06\xff\x78\x29\xf0\xb8\xe9\x50\xa3\xfe\x17\xc1\xf2\x29\xd9\x70\x38\x2a\x78\xbb\xa4\xde\xb1\x6e\x23\x2e\x8f\xd8\xd7\xb3\xa7\xbe\xed\x54\x27\x09\xe6\x09\xa0\x5b\x64\x53\x9d\x88\x4e\xa0\x83\x54\xd0\xb1\x3f\xa8\xcb\x50\xe1\xcc\xd3\xc8\xcf\x2e\x56\xed\x3b\x21\xa9\xb9\x6a\x27\xe2\xc6\xb9\x86\x6f\x7e\xd4\x43\x57\xa4\x81\x40\xe9\xfd\xd9\xb3\x3f\x19\x29\x42\x47\x55\x21\x72\xb7\xe6\x6c\xad\xd6\x43\xc7\xc1\x7f\x63\xc7\x32\x11\xe8\xe8\x3e\x8f\xf1\x1d\x1e\x9d\x3c\xc6\xa0\x43\xa8\xd4\x5d\xf3\x1e\x0e\xaf\x08\xf6\x05\x38\x84\x7a\x3c\x40\x27\x1e\xe9\xbe\x23\x91\xd8\x24\x61\xc7\x78\xcf\x1e\xd8\x49\x1f\x9d\x1d\x9d\x17\x2d\x02\xad\x85\x12\x79\x9b\xe4\x4d\x11\xfa\x35\x79\xab\x0b\x03\xc5\x57\x5a\x0f\x82\xfd\xa1\xd7\x8e\x9f\x27\xfe\xc5\x9b\xdd\x8f\x0a\xdc\xf5\x53\x7e\x33\x92\x4d\x49\xc6\x64\x09\xfb\x5a\x9d\x89\x9d\x24\xd0\x6a\x24\x71\xae\xe4\xe4\xc1\x0b\x7c\xd3\x69\xbf\x99\x49\x46\x5b\x59\xd2\x72\xe4\xb4\x5d\x29\x7a\x8c\xa2\xe0\x32\x6c\x21\x2a\xb7\xed\x52\x76\xf3\xb7\xbf\xf0\x9d\xb8\x7c\x93\x7f\x50\xa8\xa4\xe5\x6a\x1d\x89\x2d\x9b\x36\x26\x6f\xe4\xad\xd3\xc8\x65\xab\xea\x8e\x27\x4a\xbd\xd4\x1e\xb1\x5f\x14\x7d\x11\xf7\x85\x3b\xd2\x6a\x18\x61\x2c\x34\x29\x8a\xfe\xea\xf9\x73\x57\x2f\x9c\x5c\xb9\xb0\x44\x7c\xa1\xf5\x23\x76\x92\xe8\xa6\x9e\x20\x8c\x8a\x49\x29\xd2\xb3\x2f\xae\x9e\x39\xdf\x74\xfe\xe4\x9a\x05\x25\x22\xf4\xd0\x5e\x10\xc0\x92\xec\x0f\x30\xdc\xfc\xb1\xbd\x3b\xe7\xff\xc3\xba\xea\x6d\xc3\xaa\x1b\x09\x3a\x78\x6d\x63\x5e\x4a\x7d\xb0\x9d\x75\xa1\xaf\x9d\x85\xf9\x82\x8e\x7d\x5a\xc9\x3e\x5d\x67\xd6\x41\x5f\xa6\xf9\xb3\x99\xe3\x25\xed\x66\x7d\x8b\x4d\xc9\xb4\x65\xc4\x41\xf5\x4d\xff\xb2\xe4\x59\x14\x7b\xa3\xb2\x9e\x5c\x2d\x7c\xd6\xb0\xc8\x4f\xc4\x10\x6a\x5a\xca\xb4\x98\xe9\xe2\x00\xcd\xf9\xad\x3d\x8c\xd5\xff\x2d\x2b\x63\xef\x57\xc2\x3f\x0c\xfb\x4b\xe5\xed\x4b\x5f\xde\x39\x76\x34\x72\xed\x0e\x11\x3c\x70\x29\xa1\xea\x28\x55\xa1\xde\xb2\x74\xa8\x17\xb4\x13\x54\xed\xca\xa5\x25\x4b\x78\xec\x8a\x24\xd2\xd8\xd5\xc6\xb1\xfc\xc9\x27\x5f\x5f\x7e\x54\x23\xfd\xa2\x3a\x13\xec\xd3\x75\xd5\xf7\x95\x07\x5f\xe9\xd9\x5f\x2a\x21\x84\x82\x4e\x7d\x5e\xa3\x6b\xf4\x66\x1b\xc7\xfe\x6c\xe9\x94\xfa\xf1\x7c\x50\x50\x6a\xdc\x3a\xe9\xc4\xe2\x59\x3b\xa6\xf1\x89\x49\x26\x53\xa2\x04\x1b\x29\x78\x1f\x09\xe8\x80\x1f\x88\x6d\xaa\x55\xb0\xaa\xab\x27\x41\xd1\x74\x5c\x30\xc9\xde\xaf\x54\x75\xf5\xb6\x13\x69\x03\xa8\x3a\x92\xfd\xa5\xb2\xde\x1e\x81\xaf\xc1\xc6\xd5\x22\xea\x21\xbb\x8d\xcf\x45\xd8\xb8\xde\x47\x36\xd6\xaf\xdb\xb0\xdb\x4f\x60\x21\x82\xc5\x08\x03\x41\x5b\xde\xe5\x58\x78\xfd\x30\xe0\xc3\xc6\x01\x7c\x4c\x8c\x31\x33\x46\x82\x32\xaa\x56\xf0\x67\x44\x24\xa8\x2d\x27\x88\x17\xab\x3d\x6e\x74\xe3\xfd\x99\x75\xf9\xeb\x8a\xd7\x4b\x90\x62\xa5\x09\xad\x07\x95\xca\x88\xe6\x81\x24\x30\x7f\x7e\x07\xe4\x6e\xe9\x11\xfc\x42\x94\x5f\x2e\xbc\x76\x4d\x0f\x13\x29\x16\x23\xfe\x5e\xfa\xad\xc7\x71\xb1\x62\xed\xea\x82\xd5\x3c\x0b\xeb\x70\x5d\x01\x67\x63\x53\x31\x99\x31\xa9\x71\x12\xf6\xc7\x67\xc4\xf5\x38\x9f\xd3\x53\x78\x5f\xf2\x2e\x0c\xb8\x0f\x1f\x12\x47\xab\x8e\xee\x3c\xc1\x43\x28\xf2\xdc\x8d\x33\x4b\xa6\x24\x64\xc4\xa4\x27\x49\xe8\x85\xaf\x89\x80\xcd\x01\xa1\xcb\xec\xdc\xb1\x22\xa7\xa2\xa0\x4c\x02\x37\x38\x4e\x5c\xde\xb5\xfd\xca\x03\xde\x80\xe1\x80\x9c\x6d\x92\x69\x3c\xb3\x76\x61\xb5\x08\x8b\xb5\x5a\xa2\xc9\xac\x23\x81\x66\xe0\x5d\x46\xd4\xea\xa9\x6e\x18\x47\xe0\x42\x92\xc5\xe7\x01\x2b\xb7\xac\xdf\x28\xf5\x40\x27\xe2\x36\x85\x59\x66\x91\x48\x2f\xcf\x2c\xaf\xd0\x5b\x0e\x19\xb0\x2b\x67\x1d\xd8\xc6\x26\xe1\x0a\x05\xae\x60\x20\x6a\x6b\xea\x4a\xf7\xf2\x70\x96\xbc\x7a\x6a\xfe\xac\x99\xbe\x0b\x66\x49\xb8\x32\x98\x64\xe1\x35\xac\x24\x4f\x1e\xdb\x76\x60\x97\x34\xb1\xf8\xca\xfc\x3b\xfc\xa5\x0b\xfb\xce\xd7\x4a\xd0\x0d\xae\x11\x03\xa9\x79\x69\x7e\xf1\x0b\xc4\x61\xf8\x0b\xc1\xe2\xf3\x39\x71\xf3\x03\x7c\x78\x17\x58\x5a\x13\x69\x7e\x04\x53\x1c\xe1\x21\x2c\x74\x32\xff\x61\x89\xe0\xaa\x62\xcb\xb6\x88\xd6\xfd\xbd\x19\x6c\x4f\x6d\x59\x22\x88\x70\xce\xda\x08\xc7\x05\xe0\xc9\xca\xb2\x2c\xc1\xdc\x08\xe7\xa9\xca\xf2\xb2\x4a\xc9\x52\x0b\x1d\xb8\x0a\x53\x5c\xe9\x16\x1e\xbb\x91\xf1\x89\x29\x89\xe9\x12\x86\x6a\x95\xa9\x31\x69\x9b\x53\xb7\xb8\xa7\x55\xa6\x56\xa5\x56\xe0\x46\xb5\xd2\xad\xd8\x6e\x88\x84\xef\x93\x31\x71\xf1\x31\x26\x69\x74\xeb\x5c\x22\x39\x27\x25\x3f\x55\x6c\x73\x94\x0e\x3c\x59\x51\x56\x5a\x91\x25\x9d\x54\x7f\x02\x1f\x6d\x0c\x91\x90\x5f\x9c\x5a\xc2\x43\x07\xb2\xb4\xb8\xa0\x24\x4f\x82\xd9\xea\xe8\x53\xda\x23\x22\x26\xab\x2c\xbe\x82\x07\x3d\xa9\x14\xc2\x64\x26\xbf\x20\xa7\xd0\xa4\xd8\x43\x4f\x81\x97\xfa\x17\x4c\x85\xfd\x30\x05\x22\xe0\x99\xa0\xea\x60\x21\x34\xc2\x12\xd5\x1d\xbc\x9c\x2c\xbb\xcc\xf7\xb9\x41\x0b\xe6\x0d\x11\x71\x18\xec\x87\x8e\xe4\xed\xdd\xa9\x89\x5b\xa5\xa3\x9b\xb6\xfa\xcf\xd6\x5f\xc0\xc3\x5c\x66\x7e\x66\x5e\x66\x1e\xfd\xfc\xcc\x95\xbf\xa1\xa3\x1e\x0c\x13\xc1\x09\x89\x63\x62\xf9\xca\x25\xca\xfb\x3c\x9e\x6e\x5b\x82\x06\xfa\x0f\x05\xf8\x0b\x06\x50\xe0\xa7\x39\x12\x89\x79\xc5\x69\x25\x3c\xf4\x23\x8b\x8b\xf3\x8b\xf2\xa4\x7c\x45\x2e\x49\x2f\xa2\xb5\x5e\x06\xe7\xc3\x6f\x04\x8b\xce\x1a\xc1\xfd\x1b\xee\xc8\xde\x3b\x03\xd1\x08\xcf\x04\xdb\xde\xcb\x49\xfd\x13\x2e\x71\xea\x3b\x0c\xf4\x82\x1e\xb0\x00\xdc\x05\xdf\x4b\xc3\x61\x1d\x53\x64\x2c\x4a\xcb\x4d\x3e\x39\xc2\xad\x20\xd1\x18\x9b\x92\x44\x67\x64\x0c\xee\x85\xc3\x79\x33\xd3\xc5\x86\xdb\x1b\x7a\xc0\x7c\x70\x17\xe6\x5e\xfa\x10\xd6\x31\xc5\x46\x25\x2d\xcf\x86\x9b\xff\x1f\xdc\x21\xbd\x70\x04\x8f\xbf\x58\xbe\x78\x23\x80\x57\xdb\x7b\x3a\x17\xa8\x0b\x36\x10\xde\x8e\x4d\x06\x2a\xd1\xc9\x1c\x61\x8e\xe0\x3c\x3c\xe0\x18\x1e\xc5\xb9\x38\x57\x8b\x50\xed\xdb\xbd\xf1\x2d\x2d\x38\x0a\x46\x59\xbd\xac\x5e\x66\x2f\xab\x17\x5c\x61\x08\xf0\xb5\xf8\x72\x9a\x4e\x25\x04\x4d\xd7\xd2\x82\xc7\xe0\x28\xcc\x85\xb9\x6a\x84\x66\xdf\xc6\xdf\xf3\xf0\x80\x51\x38\xca\xec\x65\xf6\x22\x5c\x8e\x33\xe6\x15\x30\x8d\xd3\x16\xaa\xf6\x0d\x58\xd4\x79\x79\x05\x1c\xc5\x7a\xac\x87\x7a\xac\x6f\x69\x41\x5f\xf8\xf4\xc9\x13\x42\xa6\x6c\x59\xe2\x27\xac\xe0\x90\x05\xf6\xa7\x27\x47\x03\xc0\x8e\x01\xf5\x1e\x1e\xe0\x8b\x9f\x12\x32\x35\x64\x08\x21\x53\x36\x08\x6c\x87\xed\xea\x42\x6d\x21\x01\x15\x19\x5c\x2e\x33\x50\x10\x5d\xd4\xba\x35\xe0\x34\x3b\x12\xaa\x1f\xbd\x80\x4f\x5e\x3c\xfa\x1c\x36\x7f\x00\xce\xd0\xee\x77\xd7\x3c\x70\x86\x09\x8f\x1f\xc1\x27\x40\x3e\x82\x39\xe0\x2c\x83\x33\x4c\x7f\xf4\x08\x7c\x80\x78\x0c\xd3\xc1\x99\xdd\xff\x6d\xa3\x59\x52\x0f\x72\xe7\x57\x1c\x9b\x3f\x6f\xc5\x8a\xf9\xf3\x8e\xad\xb8\x70\xfe\xd8\xb1\x0b\xa2\xc1\x39\x39\x8b\xbb\xb0\xa2\x61\xde\xbc\x15\xfe\xf3\x6c\xd0\x0b\x36\x68\xeb\x0e\x13\xd7\xd5\x6b\x68\xb7\xae\x43\x1f\xbf\xf9\xe7\xf1\x4f\x6f\xfe\xf9\xc9\xab\x9b\x68\x70\x4e\xca\xe2\xba\x0e\x85\x57\xc2\x63\xaf\x6e\x62\x6b\xa3\x89\x03\x4f\xec\x04\x9d\xb1\x3f\xf6\xc7\xce\xd8\x19\x3d\xb1\x3f\x74\xc6\xce\xd0\x1f\xfa\x43\x27\xe8\x0c\xfd\xdb\xa8\x43\x7f\xec\x0c\x9d\xb0\x3f\x7a\xda\xe3\xf7\xf5\xb7\x63\x75\x02\x4f\x91\x75\xa2\x1d\xa0\x3f\x74\x86\x4e\xd0\x5f\x62\xd3\x12\x1d\x5a\xe7\x67\x72\x58\x88\x01\x18\x80\x85\x22\xeb\xed\x90\x88\x05\x18\x00\x01\x50\x08\x85\x60\x4b\x0b\x6c\xa9\xad\x50\x32\x0f\x54\xef\x70\x78\x35\x19\x65\xcc\xc7\x26\x3d\xdc\x51\x3b\x0b\x78\x27\x4b\xbc\x0b\xc3\x61\xf9\x11\x58\xc1\xb3\xa9\x0e\xde\xb0\x02\x66\xad\x1c\x0f\x23\x24\x35\x5c\xbb\x63\x23\xec\x6f\xab\x6b\x6b\xc0\x46\x53\x64\x93\x33\xbd\xdf\x12\xb6\x35\xe0\xdf\xd6\x6a\xb2\xb3\x03\x56\xab\xd7\x38\x78\x0f\xe7\xe3\xd6\x87\xf8\x25\x8f\x5f\xe2\xe1\x11\xf8\x1e\xce\x97\x34\x47\xf2\xf2\xc4\x13\x9e\xc5\xd3\xe8\x49\xfd\xfc\x91\x46\x57\x3d\xde\x81\x22\x54\xe0\x36\x4c\x81\xa1\x0f\xa1\xcb\x6b\x3b\xd1\xe3\x0b\xee\xf6\x2c\x5b\x4f\x3f\x84\x8e\xa7\x2f\xc9\x7a\xe4\x5e\x83\xd7\x08\x98\xc2\xc3\x6d\x28\x02\x05\xee\x80\xab\x3f\xd0\x93\x7e\x97\xd8\xe1\xe1\x89\xc5\xd7\x4f\xfc\x76\xf9\x0e\xed\xa2\x25\xc0\x4e\xd8\xf8\xea\x68\x3a\x6c\x51\x3f\x85\x2d\xae\x30\x0b\x62\xd4\x39\x10\xc3\x8e\x32\xeb\xcc\xed\x39\xc8\xb1\x07\xf6\xcf\x81\x5c\x5c\x0e\xcb\x30\x07\x73\x70\x39\x2e\xc3\x5c\xcc\x81\xe5\xb8\x0c\x72\x24\xf3\x08\x67\xe8\xf8\xb2\x17\x76\xc2\x8e\xbd\x7a\x61\x47\xec\xd8\xeb\x25\x74\x84\x4e\x2f\x5f\x42\x47\x89\xfd\x5e\xdd\x6a\xdd\xc8\x85\x9e\x9f\x70\xdc\x73\x2c\x2d\x23\xdb\x13\x57\xe0\x0a\x64\x5f\xc9\xa2\xe7\xfd\x09\xcb\x43\xe7\x2f\x1b\x74\x6e\x39\x90\x63\x9f\xcf\x04\x7d\xc4\xe3\xe4\xf1\xe3\xdd\x7a\xf4\xec\xdb\x67\xf2\x64\x7f\x7f\x79\x6a\x43\x40\x49\xbc\xdb\xd1\x80\x1b\x72\xc3\x51\xd8\x0a\x35\x6e\x7f\xf6\xf8\xa3\xcf\xcd\xc9\x0d\x76\x40\x49\xa9\xdb\xd1\xa3\xf2\x8d\x80\x06\xdc\x0a\x5b\xdd\xc6\xdd\xfb\x49\x01\xb7\xed\x2d\x57\xdc\x81\xbc\x7f\xee\xf8\xb2\xa7\xb4\x4b\x88\xa0\xd6\x3f\x37\x1b\x40\xf7\x33\x63\x19\x62\xf1\xe1\x9e\x4c\xb8\x3b\x64\xc8\x84\x09\x43\x86\xdc\x9d\xf0\xe4\xc9\xdd\xbb\x4f\x44\x58\x8b\xff\xc7\xd5\x4f\x5f\xb3\xee\x23\xbf\x49\xcb\x3c\xb7\xcc\x4c\xbb\x30\xcf\x0d\x3e\xc5\x39\x7b\xd6\xcb\x8b\xd7\xaf\x77\x4f\x4e\x5e\xbf\x7e\xb1\xbc\x7e\x8f\xfb\xc2\x33\x13\xef\x8c\x6f\xc6\x4f\xf1\x53\xb7\x36\x48\xb2\xe2\xb6\x7e\x8f\x7c\x7a\xcf\x9e\xb3\x67\xee\xdc\xb9\x77\xef\xfc\x05\xb7\x59\xf9\x1e\x95\x93\x4e\x7c\xd4\xb8\x66\x6f\x7d\x53\xd5\xc1\xf3\x7b\x6f\xfa\xd1\xf2\xb3\xf1\xd0\x13\x7a\x3e\xbb\x27\x8b\x37\x1b\xcf\xaf\xab\x5a\x43\x2f\x84\xff\xe3\x70\x32\xf6\xc0\x1e\x38\xd9\x96\x42\x0f\x98\x0c\x93\xe1\xdf\xd4\x06\x17\x55\x1f\x18\xde\x55\x98\x8f\x3a\x1f\xc6\x55\x86\x5f\xf0\x17\x03\x79\x12\x7f\x86\x9f\xd9\x1a\xf6\xb6\x81\x14\xec\xf6\x4f\x09\xe4\xb0\x09\x13\x86\x49\x5a\x05\xa5\x85\xab\xac\xe6\xaa\x86\xa9\x1b\x55\x56\x75\x55\xc3\x45\xb5\x82\x7a\x3c\xf9\x8e\x97\x68\xf5\x6d\x3d\xcb\x85\x84\x94\xd4\x44\x4a\x5a\x1f\xd5\x8d\x88\xd8\x16\xbf\xb7\x5e\x7f\xbd\xb1\xf1\x7a\xdd\x9e\x84\xc8\x6d\x22\x3c\xc0\x6b\xf0\x00\xae\x11\x35\xdb\xf6\x94\xec\xe5\xaf\x37\xfa\x4d\x0b\x8e\x5b\x17\xb1\x49\xd2\x7a\x6b\x6e\x44\xe4\xa6\x90\x84\x10\xde\x45\xad\x33\x10\x5e\x67\x17\x9d\x73\x95\x0d\xed\x1d\xd8\xe5\x6c\x8d\x81\xf8\xaa\x3b\x27\x9f\x95\x65\x11\x3e\x51\xc7\xc0\x01\x73\xf7\xa7\xb0\xf2\xc8\x93\x2b\x17\x5f\xe5\x64\x9d\x70\x63\x97\x9b\xb2\xb5\xe5\xb9\xc4\x16\x39\x2a\x5e\x7f\xc4\xf4\x72\xf3\xde\xe1\xda\xcc\xd6\x6c\xb7\xc8\x73\xb8\x42\x5d\x1c\xf1\x05\x04\xa9\xb3\xdc\x4e\xdc\xfa\xf1\xf8\xf7\x39\xf4\x59\x6a\xb9\x09\x53\x65\xf4\x32\x99\x12\xb2\xc2\x4d\xf1\xd0\x39\xf3\xd4\xfa\xe0\xb1\x34\x5b\xb3\x08\x89\xf7\x71\x4d\xd4\xca\x19\xe0\xb6\xe2\xd5\x64\xe8\xbe\xee\xc6\xcd\x9d\x77\xb2\xe9\xd3\x94\x56\x94\x45\xb0\xcb\x23\xe5\xf8\x18\xfd\x5d\xd3\xef\x69\x07\xa6\x9f\xf7\x84\xa1\x5a\xa7\x73\x3d\x66\xe0\xbb\xd8\x1f\x8f\xcc\xed\x3a\x0a\xc6\xe1\x69\xf3\xb8\x51\x30\x39\xe8\x2b\x78\xf7\xc4\xed\x5c\x9a\xad\x39\xa7\x7d\x47\xc5\x66\x85\x25\xea\xd9\xe5\xbf\x65\x81\x80\x03\x1b\x3c\x60\xb4\xd6\x15\x26\x6a\x06\x18\xad\x49\xb4\xa9\xd1\x94\x95\x25\x82\x13\x44\x01\x07\x29\xd0\x1e\x36\xc3\x19\xeb\x74\x37\xdb\x8c\xd1\x62\x8e\x02\x17\xf3\xfb\x51\xaf\x5b\x1c\xe5\x16\xf3\x06\x70\x31\x27\xb4\x38\x59\xa6\x9a\xdf\xe3\x0e\xac\xab\x0d\x0e\x0c\x5f\xb7\x36\x68\x6f\xf8\xbe\x03\xb5\x7b\xf7\x89\xe5\xb3\xb9\xc4\x68\x6d\xba\xd6\x67\xc9\x72\xf8\x53\xfd\xda\xad\xa4\x46\x9d\xa6\xf6\x3a\x7d\x82\x86\x73\x5a\x2d\x77\x3a\xfd\x74\xf2\x29\x71\x4e\x3c\x91\x6e\x4a\xca\x2d\xd0\x17\x66\xe5\x2b\xd9\xe2\xa5\x12\x7f\x18\xd7\x0d\x3c\xb1\xf7\x4b\xf7\x84\xd4\x8d\xf3\xe2\xf8\xd4\xf4\xfc\x82\xc2\xfa\xd3\x05\x45\xd2\x5d\x24\xf1\xbd\xc3\xa8\xe7\x65\x6a\xe9\xd2\xf4\x94\x65\x52\xf9\x54\x22\x2d\x2b\x23\x29\x95\x4f\x4d\xcb\x2e\x34\x4a\xb1\x37\x71\x42\x00\x0e\xe8\xda\x03\xfb\xb8\x97\xa4\x34\x6e\x8c\xd3\xa7\xa6\xa5\xa7\xa6\x2c\xda\x97\x9f\x24\x4e\x40\x62\x15\xba\xa1\x5e\xbf\x38\x6f\x89\xb2\x44\xbc\x55\x4e\xe4\x67\x15\x65\xa4\xea\x53\x8d\x69\x29\x46\x71\x52\xec\x31\x9c\x08\x8e\x38\x00\x3c\x7a\xb9\x97\x28\x75\x97\xcb\xf8\x82\xfc\xb4\xd4\x94\x55\xbe\x69\x49\xd2\x64\x70\x06\x6e\x35\xbc\xc7\x9f\x3d\x9b\x57\x74\x46\x8a\xb9\x45\xe4\x99\x72\x8b\x0a\xf8\xc2\x7c\x53\x72\x96\x54\x31\x05\xc6\x1d\x07\x4f\x70\x78\x01\x7d\xdd\x13\x0a\x16\x6f\x2f\xd5\x17\xe4\xe7\x17\x14\x1e\x0b\x49\x2f\x12\x6f\x81\xd3\x41\xe0\xe0\x3d\xfd\xa3\x2e\xda\x2c\xb4\xa0\x45\x9b\x65\x4b\xc1\xa2\xce\x52\x67\xc1\xbf\xa9\x0d\x2e\xb6\x74\x69\x9b\x4f\x8e\x33\x96\xce\xb0\x95\xc1\x4a\x13\x16\x23\x83\xde\xb8\x16\xf6\x68\xa3\xdc\x6e\xc3\x42\x58\x0c\x0c\xac\x4e\x30\x6f\x59\xe9\x36\x06\xfa\xe2\x3b\xf0\x1e\x0e\x7a\x86\xef\x3f\xc4\x81\x47\xd0\xd3\x44\x5b\x13\xb4\x3e\xdc\x00\xec\x36\x17\x47\xe3\x54\xbd\xe6\x0b\xdf\x6b\x94\x3a\x76\xaa\x08\x5b\xd4\x79\xb8\x72\x25\x2e\x01\xb2\x1f\x7c\xe2\x8e\x4f\xcd\x1e\x84\x81\x1c\x8c\xa3\x39\x2d\x3b\x14\x04\xf4\xca\xc6\x18\xa4\x70\xa2\xbb\xd6\xc7\xea\x04\xa3\x92\x61\xec\x21\x18\xf4\xcc\x5d\x75\x83\x08\x18\xa4\xae\xc5\x41\x6a\x6f\xda\xfa\x75\x14\x87\x23\x91\x47\x1e\x47\xe2\x48\xe0\x91\x87\x91\x30\x12\x78\xb0\xa7\xc8\x03\x8f\x23\xed\xf2\x84\x81\xbc\xaa\x1d\x83\x77\x5d\x2d\xed\xeb\xd5\x4d\x7f\xb0\x87\xd8\x8d\x16\x1e\x15\x4e\x2d\x50\x39\x75\x8e\xea\x9d\x26\xa5\xa9\xde\xb8\x06\x6a\xf0\xc5\x2b\x98\x81\x7d\xfe\xc2\x82\x28\x8c\x58\xf5\x6a\xfc\xa9\x0f\x4e\x3e\x19\xf7\x35\x96\x0c\xc1\x71\x43\x70\x3c\xbe\x42\x3f\x2c\x86\xb5\xf0\x71\xec\xeb\xcf\xbe\x85\xce\xf4\xaf\xc9\x65\x17\x65\x3d\x7b\xa8\xf8\x64\xd0\x99\xa1\x79\x5e\x79\xcb\x3e\xc2\x4e\x91\xe8\x1c\x8d\x0e\xaf\x4e\x02\x09\xd2\x14\xb7\x58\x98\x4d\x00\x5b\x7b\xfa\xba\xac\x3f\x78\x2e\xe7\xca\xe6\x22\x9f\x5c\x74\xce\x1a\x57\x9b\xf8\x33\xb8\xc1\xf8\xcf\xcf\x60\xdf\x4c\xfc\x64\xf8\x6c\x74\xda\x52\xdb\x35\x3d\x6e\x73\x31\xec\x77\xc3\xfd\x58\x80\xae\xda\x3d\x18\x8c\x48\xe3\x03\xe8\x06\x97\x31\x52\xed\xc2\xdb\xe5\x22\xc6\x40\x7c\x17\xf5\x35\x30\x99\x82\x81\xb8\x6f\x20\x0c\x1c\x0e\x86\x6e\xb8\xf2\x31\x46\x67\xd1\x26\x93\x6c\xe2\xb5\x14\xad\x87\xd6\x43\x4b\xd1\x36\xa9\x2e\x9a\x41\xdd\xb0\x49\x32\x95\x95\xcb\x65\x3c\x6c\x86\xd5\x8f\xe1\x7d\x18\x2c\x4d\x7c\x1f\x3b\x06\xe0\x7b\x3c\x06\xa1\x0f\x38\xc2\x70\x74\x93\x3c\xa0\xc3\x14\xf8\x38\x1d\xfc\x68\x59\x3e\x26\x8b\x79\xe0\x77\x13\x3e\x6e\x81\x0e\x34\x0c\x07\x37\xb0\x61\x05\xf1\xf0\x1e\x74\x0c\x98\xf8\x5a\x82\x0b\xd6\x81\x1c\x94\x60\x3b\x88\xc3\x09\x30\x5c\x3c\x36\x69\x4c\xed\x47\xfc\x80\xa1\x21\x7e\x63\x24\x58\xe6\x0d\x7d\xb0\x08\xbf\xd4\xe3\x65\xec\x8b\x45\xb8\x6c\xac\x38\xf7\xc1\x4f\x21\xbf\xf0\xdf\x7e\xb5\xad\xe1\x96\x04\x93\x60\x38\x38\x43\x3c\x94\xe9\x5d\x6a\x30\xf5\x9a\xd9\x0b\x36\x9a\x3b\x46\x3d\x7d\xe9\x28\x83\xce\x40\x7e\x74\xc2\x29\x46\x50\x5b\x38\x30\x04\x02\x3f\x15\xde\x11\x0f\x3f\x3e\xf4\x77\x8b\x1e\xa6\xa3\x74\x15\x87\xa1\x01\xc7\x7e\x32\x07\x3b\x89\x59\xb1\xb1\x72\x2c\xaf\xbd\x83\xdf\x62\x89\xd6\xee\x43\x09\x1c\xc0\x05\x3e\x82\x8f\xc0\xf3\x06\xce\xc1\xd1\x38\x0c\xd7\x62\x47\x0c\x5f\xef\x37\x1d\x99\x98\xd9\x74\xd8\xe0\xa8\xfe\xfd\xf5\xe8\x75\xbb\x3b\x8c\x82\xce\x30\xe8\xcb\xcf\xc1\x59\x9c\x0b\xed\xa0\xe3\x7a\xe8\xc8\xc3\xaf\xf0\x05\x04\xc3\x7d\x20\x25\x6d\x24\x89\xc4\x14\xec\x3c\x1d\xbb\xf0\xe8\x8b\xe3\xa1\x3b\x2c\x92\x0c\xce\x09\x64\xde\xfe\xec\x03\x07\xf4\x13\xcd\x3a\x6e\x62\xe8\xc8\xb0\xa9\xe2\x00\xe8\x8d\x12\xd0\x38\xec\x1a\x7d\xf0\xab\xdf\xf7\xff\xc8\x43\xbb\xef\x26\xa1\xb3\x64\x30\x7f\x69\x40\x0f\x0e\x1c\x2e\x80\xee\x54\x8b\x78\x15\x27\x83\x2b\x7a\xc2\x87\x1e\xf4\xf2\xd1\xbd\x03\x06\xf3\x48\x4e\xba\x06\xb4\xa4\x66\x99\x97\x70\x30\xb7\x00\x46\x83\x04\x3e\x3c\x7c\x02\x1f\xa3\x84\x73\x0b\x24\xeb\xba\xb7\x26\x90\x3a\xd0\xa9\xb4\x00\xd1\x36\xdd\x58\x67\x88\x11\xa0\xa1\x42\x80\x3a\xc6\xe2\x4b\x55\x96\x97\x57\x8a\x06\xd2\x1b\x42\x05\x83\xd9\xfe\xe9\x75\x8d\x60\x8e\x40\x1d\xbe\x1e\xc4\x98\x9b\x83\x04\x7c\x0d\x3a\x73\xc4\x35\xa6\x26\x40\xd8\xf6\xd4\x40\xba\xfd\xe1\x04\x22\xf4\x65\xa6\xcf\x9b\x37\x5d\x32\x58\x7e\xa5\xa6\x5f\x98\xd7\x24\xc2\x0e\x12\x3f\x80\x41\xfe\xb0\x7e\x21\x6c\xfe\x04\x0e\xcc\x80\x72\x18\x00\x29\x87\x2e\x1d\x3b\x77\xfa\x38\x6d\xc9\xe8\xd2\x3c\xee\x8a\xc7\x29\x64\xb4\xc0\x5e\x6e\xf3\x5f\x8c\xfe\x01\x3d\x83\x3f\xdc\xfc\xe9\xa2\xb0\x79\x21\xd3\x63\xc7\x37\x63\xcb\x3d\xfc\xfd\xf8\x27\x17\x97\x9c\x58\x75\x27\xea\x51\x15\xf4\xab\x3f\xfc\x26\x1f\x9c\xd4\xa0\x57\x6e\xc5\x98\xe9\x8d\x73\xd0\x0d\xdf\xa3\x61\x12\xd9\x74\xe1\x42\x93\x64\x20\xdc\xa8\xa6\x79\x17\xa6\x8b\x2e\xa8\xbc\x06\x67\x70\x98\x16\x09\xab\xc1\x41\x8d\x05\x27\x70\x05\x87\x37\x7f\x3d\x84\x76\xae\x65\x7f\x43\x9f\xbf\x7f\x82\x76\x6a\x1c\x38\x41\x47\x70\x4c\x2f\x65\x2f\x44\x1b\x88\xcd\x89\x5c\xa1\x52\x50\x11\xbc\x8f\x96\xa9\xf8\x92\xc4\xc2\xe4\xec\xa4\x9c\x14\x63\x6a\x6a\x5a\x9a\xdb\xb4\x69\x63\xe6\x7f\xb8\x86\x5e\x3d\xa4\x7f\x74\x3f\xde\xa3\x7f\xf5\x21\x2f\x69\xd8\xc1\x31\xe7\xa7\x5d\x9f\x7c\x6b\xfe\x83\xb5\x0f\x83\xbf\x4d\xba\x9c\xb1\x95\xb6\xfb\x91\x17\x33\x6a\x23\xb3\xd7\xa5\xc7\x1b\x57\xa6\xe5\x6e\xa0\x65\x4a\x99\xb6\x75\xc6\x8e\x59\x0d\x7d\xbf\xf4\xfa\x6a\xec\x7d\xef\x27\x3e\xcf\xfd\xe9\x15\x2f\xdf\x6c\x82\x76\x3c\xb4\xfb\x67\xdb\xb1\x57\xd2\xf3\x86\x9f\xbe\xfc\xea\x2b\x5a\xce\xcd\xcd\xce\x16\xb5\x75\x2a\x72\x65\xe5\xf1\x95\x09\x25\xd1\xd5\x9b\xf3\x12\x13\xa7\x4d\x73\x9b\x76\x83\xc8\xc9\xc8\xc8\x4e\xe7\x93\x93\xd2\x12\x12\xa4\xa8\xa8\xf4\xb8\xe2\xc4\x1b\x53\xdd\xa6\x4e\x23\xd2\xd3\x32\xd3\xd3\xf4\x09\xc5\x89\x05\x69\x62\xb6\x91\x48\x2c\x2e\x4e\x57\xf8\xc2\xbc\x9c\xec\x6c\x29\x2f\xef\xd2\xa5\xbc\xbc\xab\xb3\xdc\x52\xf3\xf3\x33\x0b\xf8\xa2\xe2\xfc\xe2\x62\x69\xd7\xae\xf8\xf2\xd4\x82\x19\xd7\xdc\x6e\xdc\x20\xd4\xe0\x39\xdc\x77\x31\x0f\x42\x9a\xc5\x90\x3b\x2b\xae\xce\xbd\x38\xf7\xe2\x8c\x63\x13\xeb\xe8\xbd\xe3\x3f\x2e\x1f\xc5\x8f\x1c\x19\x13\x32\x41\x9a\x13\xde\x77\xe6\xa7\x3e\xb4\x49\x8d\x32\x5f\x20\xeb\xe4\x86\xb2\x52\xf9\x58\x88\xd4\xea\x48\x86\xc7\x45\x6d\x96\xac\xa3\xa8\x4d\xbb\x62\x77\xa4\x89\xe7\x12\x8b\x2b\x4a\x2a\xb3\xb3\xdd\xaa\x77\x7d\xfe\x65\x56\x16\xfd\xf4\x29\xbc\x7b\x0e\x38\x1e\x38\xe8\xb0\x60\xd0\x53\xe9\xd9\xc0\x73\xd8\x01\x75\x7a\x64\x17\xe0\xbb\x83\x06\x89\xec\x85\xd7\x83\x07\x63\xa7\xf9\xa8\xe3\xbd\x86\xd7\x9e\x18\x2f\xa9\x83\xa8\xcf\xb6\x5f\x3e\x7a\x52\xbc\x70\xea\xda\xee\xdb\xfc\xcd\xab\x61\x4b\x4e\x49\xa7\x96\xee\x9c\x35\x4d\x8f\x22\x3a\xa2\x03\x4a\x62\xe8\xc2\x12\x23\xbf\xa1\x30\x61\x55\x46\x7c\xec\xc2\xda\xa4\x3c\x23\x1d\x7f\x62\x4f\xe6\x11\x1e\xe6\x81\x17\x0c\x81\xf9\xe0\x87\x43\x60\x30\xce\xf7\x18\xb4\x7a\xea\x14\x69\xda\x8c\xc0\x61\xc6\x0f\x69\x23\x95\x24\x63\xd6\x47\x7a\x13\xb9\xa6\x61\xf5\xd5\xf0\xa6\xe4\x1d\x9b\x32\xd6\x27\x27\x64\x04\x24\x28\x1b\xe8\x2c\xd2\xa8\x84\xe5\xc7\x8b\x7b\x26\x1e\x9b\x79\x71\xee\xc5\xb9\xd7\x56\xdc\x09\xa1\xd7\xdd\xfb\x3a\xf6\x5b\xfe\xdb\xaf\xcb\xf7\xde\x93\xee\xd4\x5d\x3b\x76\xf1\xe2\xc5\x8b\xc7\xae\xd6\xdd\xa1\xeb\xee\x55\x7c\xfd\xad\x7e\x9d\xfa\x0d\x37\xf9\xba\xf7\x99\x01\x47\xe8\x63\xbd\xba\x6e\x43\x47\xfe\x7d\x74\x8e\x5c\x33\x42\x4a\xce\x4c\x4f\x35\x26\x99\x92\x73\xe2\xf3\x63\xf2\xe2\xcb\x82\x76\x16\xd1\xf5\x3f\xfe\x5a\xf9\x88\x6f\xf9\x75\xf3\xaa\x9f\xa4\x3b\xeb\xaf\xaf\xb8\x37\x93\x4e\xcf\xcb\x33\xe6\xf3\x65\xa5\x65\x25\x25\x12\xfb\x63\x74\xf5\xb6\xd2\xaa\xe8\xca\x36\x05\xb9\x1f\x24\xdf\x8c\x82\x02\x55\x80\x99\x50\x07\x26\x57\xf8\x1b\x7e\x83\xa7\xf0\x04\x6e\x3e\x66\x7f\x34\x90\x1d\x2f\x73\xd6\x28\xfc\x4b\x5b\x0a\xa7\xf0\x14\x4c\xda\x5c\xb2\x2e\x6e\xd7\x3a\x1a\x99\x3f\xa0\x19\x8f\xa8\xc3\x78\x75\x18\x64\x43\xf4\xd1\xbd\xd2\xde\xa3\x11\xb5\x21\xb1\x34\x04\x00\xc5\x45\xed\xec\x99\x3b\x23\x75\x46\x8a\xc7\x4a\x25\x82\x66\x2f\xe4\x26\x2b\xb9\xc7\x73\x4f\xe4\x82\x4b\xc5\xce\xb5\x3b\x83\xa6\xa1\x57\x42\x68\x42\x68\x45\xea\xb6\x2a\x9a\xfd\xb1\xa6\xf2\xf0\x89\x9d\xd7\x68\xf6\xc2\xce\xa6\xf2\x27\xb1\x5b\x69\x4d\x54\x3f\xe1\xd4\xc7\xd4\xab\x3e\x10\x8d\x7f\xe3\x6b\xfc\x04\x37\xe2\x02\x11\x4e\x6f\x24\xae\xc3\x42\xe8\x27\xcb\x7a\xe8\x97\x84\x1d\x37\x4a\xc8\x52\x38\x2f\x55\x8b\xf2\xd5\xfa\xe9\xd9\x1f\xb5\x69\xea\xb9\xcd\x30\x15\x0e\x8a\x05\x89\x85\x09\x45\x49\xb4\x7c\x73\xe2\xcf\x1f\x8a\x10\x05\x11\x84\x8c\xdc\x2b\x68\xa7\xb7\x7a\x45\x72\x30\x1b\x96\x1e\x06\x3e\x57\xc4\x61\x14\x36\xe3\xd3\x33\xb0\x4c\xef\x02\x5e\x8c\xea\x6b\xb7\x7a\xf1\x82\xd7\x17\xfe\x5d\x45\x03\x3a\xf8\x47\xf0\x61\xe0\x9a\x80\xba\x16\x32\x94\xd1\x74\x2d\x54\x28\x83\x3a\xca\x5f\x88\x10\x36\x0b\x46\x81\xfa\xd6\x06\xe3\x60\xa7\xd0\x43\x10\x4b\x99\xb2\x2a\xc9\xaa\x40\xc3\xff\xe6\xd3\x19\x03\x7a\x73\x06\x4b\xa2\x45\x89\x10\x48\xab\x4e\xf3\xe5\x20\x02\x66\x30\x18\xf1\xff\x2e\x08\xfb\x6f\x37\x4c\x4c\x3a\xa3\x7a\x41\x57\xa6\x55\xd1\x22\x3e\x10\xc0\x8b\xb1\x28\x26\xc6\xd2\x02\x1e\x5c\xdb\x42\x0d\xf4\x01\x1f\xdb\x8c\xe5\x63\x0f\x31\x57\xe2\xbe\xe4\x54\x82\x3d\xca\x9c\x3b\xfa\xd8\x36\xf0\x81\x0f\x18\x98\x8d\x3e\x38\x1b\x7d\xa0\x54\x00\x1f\x98\x0d\x3e\x38\x1b\xea\x04\xa2\x35\x18\xeb\xff\x25\x69\x20\xde\x53\x6f\xb7\xc5\xa9\x2b\x59\x72\xca\xad\x8d\x88\xe6\xa3\xf9\xb8\xe1\x46\xd8\x68\x23\xd2\x80\x0d\xa5\x09\x5b\xe5\xd2\x12\x77\x55\x51\x15\xc2\x80\x41\x56\x9f\x0f\x84\xe3\xb6\x8e\x6e\x65\x20\x85\x31\x98\x13\x07\x08\x06\x32\x71\x20\x63\x70\x4e\x84\x2a\x46\xed\x08\x55\x8c\xa5\x63\x34\xe3\x62\x4d\x30\x10\xcb\xe1\x99\x00\x11\xa0\x38\xa9\x8a\xea\xcb\x2d\x5b\x9e\x57\xe4\x2f\x59\x3f\xc8\x15\xcc\x1f\x50\x49\xfe\xcb\xd3\x97\xf1\x96\x66\x67\x20\x18\x3c\x08\x9b\x71\x33\x1c\x84\xd9\x0c\xa4\x32\x12\x46\x38\xe3\x10\xe4\x90\xc3\x21\xf0\x3d\x03\x7e\x30\x18\x06\x83\xdf\x0c\xa6\x97\xe0\xf2\x9a\x31\x2b\xa0\x38\x19\xc8\x3b\x06\xe7\x07\x1c\x76\x83\x6e\x44\xd5\xe6\xb0\xa2\x30\x5e\x53\x9a\xc8\x41\x02\x0c\x12\xa4\xe9\x5a\x33\xe5\xc9\x48\xa8\x0c\x10\x60\x0a\xb3\x63\x47\x51\x55\x95\x04\xdd\xa0\xdb\x9f\x82\x7b\xeb\xaa\x56\x0f\x4e\x53\x72\x05\x55\xa1\xd4\x66\xd5\x97\xd3\x9a\xc1\x17\x15\xf4\xd5\x14\x32\x2c\x2c\x69\xf3\x66\x09\xbb\x61\xb7\x67\x82\x3b\x74\xc3\x6e\xe0\x27\x18\x08\x6f\x18\x29\xb8\x40\x5d\x85\x3d\x46\x9f\xda\xd0\xa4\x36\x37\xa9\x0d\xf6\xd0\x35\xf6\xf0\xa6\x9b\x4b\x36\x65\x47\xa5\x68\x1a\x9a\xdc\x34\x0d\x4c\x31\x05\x31\x72\x4c\xaa\xbb\x55\x87\x0a\x11\x9e\x1c\x13\x1e\xaa\x37\x58\x12\xa9\xc8\xe2\xa8\xca\x04\x31\xb5\xb8\x24\xa3\x94\x2f\x2c\xcc\xca\x2d\x94\x54\x0d\x4c\xaa\x86\xa6\x8a\xd4\x0a\xb9\xa2\xc0\x5d\x75\x14\x88\xed\x4a\xc5\xf6\x9d\xfa\x08\x81\xaa\x49\xdc\xba\xa5\x44\x34\x58\x34\xe4\x39\xb5\x19\xb7\x10\x06\x64\x28\xad\x19\xb6\x10\xda\x6b\xcb\x61\x4e\x6d\x80\x90\x36\x50\x03\x86\x10\x31\x02\x2c\xe7\xec\x47\x06\xe7\x37\x94\xbd\xcc\xe5\x38\xa3\x2a\xb0\x95\x69\x64\x0c\xce\x8f\xba\x34\x32\xad\xaf\xbb\x4c\x12\x24\xf8\x41\x48\x28\x48\x2c\x4e\x13\x55\x05\x15\xc2\x98\x9b\x67\xca\xe3\x3f\x66\x0c\x44\x23\x55\x92\x5a\x9c\x98\x2f\x6a\x0a\x28\x44\x76\x46\x7a\x56\x3a\xef\x52\x53\x13\xe9\x68\xd6\x01\x30\x66\x9d\x59\xc7\x41\x08\xf3\xf6\xf7\x46\xeb\x01\x47\xb4\x14\x9b\xe8\x85\x47\xf0\x0d\xce\x03\x17\x1c\x07\x9f\x62\x7b\x31\x14\xd7\x78\x2f\x9e\xe1\x93\x90\x98\x90\x94\x1b\x43\x03\x2d\xe4\xc6\x96\x27\x56\x64\xd7\xe5\xec\xc9\xdb\x95\x07\xde\x87\xa0\xcf\x37\x40\x02\x49\x27\xdc\xbc\x9b\xd6\xcc\xab\x29\x6a\x0f\x38\x02\x6f\x24\x97\x9a\xb6\x35\x42\x8a\x3d\xa0\x94\x0e\x14\x58\xce\x80\x4e\xf7\xc8\xde\xee\x38\x41\xd5\x75\x79\xbb\xd3\x14\x55\xd9\xcd\xc0\x3f\x5a\x0f\x38\xaa\xa5\x88\x32\x65\xef\xc3\x51\xfc\x67\x2b\x63\x4d\x40\xd9\x40\xbe\x70\x94\x2d\xb6\x9b\x0c\xfe\xe0\xb4\x9f\x29\x55\x81\xb3\x84\xfa\x84\xd2\x14\x3c\x43\x68\x0a\x9c\xe1\x64\x4a\x55\xf0\x8c\xa6\xa0\x1d\xae\x2a\x96\x77\x38\x7b\x46\x7b\xf2\x5f\xe4\x27\xce\xea\xdb\x72\x7b\x3d\x97\x1a\x03\xe1\x1d\xe5\xf8\xd0\x40\x2e\x76\x32\x90\xfb\x2d\x39\x5c\x11\x04\x8e\x02\x47\x1c\x99\x87\x91\x05\xe8\x89\xec\x48\x2c\xa7\x2b\x8f\x1d\x55\x8e\xf0\x0f\x0f\x2e\xe9\x9f\x2c\xa5\x7f\xba\x66\xc4\x64\x74\xa0\xd1\x61\xd2\x7c\xbf\x20\x7e\xd9\xca\x1f\xe0\xa3\xd5\x52\xc2\x99\x08\xe8\xbc\x0e\x16\x87\xc0\xcc\x8f\x1f\x23\x9b\x30\x37\xfd\xa3\xc5\xdd\x3c\x47\x4d\x1a\x35\x7e\xe4\x84\xaf\xfb\xb8\x9d\x6f\x3e\xb6\xa3\x84\xbf\xd4\xe8\x85\xe3\xcf\x48\x27\x70\xa8\xfd\xe7\x45\xe3\xf8\xeb\xdf\x0d\xf9\x9d\x87\xfe\x30\x0b\xba\xc3\x51\x08\x93\x60\x2d\xec\x01\x27\x08\x29\x80\xc1\xb4\x0b\xea\xa0\xbd\xc1\xf9\x36\x7c\xf2\x33\x03\xe7\x05\x6d\x5e\xeb\x4b\x0e\xef\xe0\xe7\x78\x07\x3e\x87\x50\xf3\x3b\x18\x0a\xe7\x08\xb3\x0b\x89\xa1\x78\x8e\xb0\x21\x47\x98\x75\xcf\xfb\xc2\x6c\x28\x81\x08\x57\x19\x1a\xa0\x01\xde\x3d\x62\xe3\x75\xd0\xc0\x5e\x80\xf3\x82\x95\xc6\x66\xee\x77\xb2\xb1\x85\xa8\x27\x1b\x3d\x88\xdf\xc9\x92\xb5\xde\xc3\x09\xf6\xc7\xbd\x48\x86\x85\x75\xfd\xbc\xeb\x9c\xb0\x1d\x7b\x81\xf4\xfe\x81\xc0\x42\xec\xc2\xcd\x30\x06\x7d\x22\x8d\xa4\x52\x12\x52\x8b\x44\x88\x21\x57\xa1\x8e\xc0\x4f\xb5\xf7\xc8\xa8\xd4\xcc\x2a\xa3\x08\x7d\xe2\x88\xa1\x9a\xef\x13\x8a\xbd\xd0\x5c\x40\x54\x65\xe7\xe5\x57\xeb\x55\x57\xaa\x30\x49\x4e\x12\xc7\x80\xae\xe5\x1e\x09\x1f\x3f\xbb\x03\xe3\xa0\xfd\xeb\x0d\xe8\x29\xe2\xb8\x48\xa2\x29\x2b\xa6\xdc\x9f\x57\xff\xb6\xde\xe1\xf0\xf5\x63\xf2\x8e\x42\x54\x65\x17\xe6\x56\xeb\x55\x92\x2a\x4b\x52\xe2\x73\xc5\xe1\xdb\x6a\x5f\x11\xb0\x5b\xab\x24\xa3\x92\x8d\xd5\x99\xe2\xc5\x64\xc2\xa5\x06\x07\xc2\x1c\x18\x0e\x1f\xc0\x40\xc1\x3c\x89\x83\x76\x83\x7f\xc6\x76\x9f\xce\x8f\x58\xb5\x46\x44\xc3\x6f\x38\xed\x32\x2e\xc9\xff\x5b\x5d\xe7\x06\x3f\x8d\x25\x46\xdc\x9c\xf2\xf0\x87\x9b\x37\x7f\x78\x38\xe5\xe6\xf0\xd9\xf3\x83\x16\x85\x8b\x1a\xf1\xfd\xe6\xdc\xe8\x84\x8c\xcd\xee\x48\x6b\x55\xb8\x38\x15\xa7\xcc\x42\xde\xd3\xfd\xc8\xea\xf9\xdb\xe7\xf0\xd8\x6e\xf0\x60\x6c\x37\xea\xd4\xe4\x9b\x6b\xa5\xd4\x90\x8c\xe0\x60\x3d\xde\x06\x33\x2a\xea\x74\x75\x06\x98\x41\x81\xdb\xfb\x32\xea\x53\xf6\x8a\xd7\xf7\x9d\xb8\xf9\x8d\xde\x60\xa9\xc5\x45\xdc\xc3\x9b\x37\x1f\xfe\x70\x73\xca\x88\xe1\x53\xa6\x0c\x1f\x31\xe5\xe6\x0f\xa2\xf9\x3c\x02\xd7\xaf\x1f\x4e\x4f\x9d\xcb\xcf\xc5\xe9\x05\xbf\xf7\x93\x62\xcb\xe5\xda\xf2\xb2\xb2\xb2\x5a\xb9\x2c\x8e\x9e\x75\x19\xb8\xc8\x5f\xf8\x5f\x80\xab\xb9\x72\x59\x6a\x03\x96\xc7\xca\x9b\x62\x63\xe9\x4c\x58\xc1\x0d\x9f\x72\xf3\x87\x87\xb6\x3e\xb7\xd1\x1c\x21\xb9\xd4\xa8\x69\x70\x57\xed\x08\xbf\xbb\xde\x36\x90\x91\x06\xcb\x22\x68\x66\x1f\xb1\xb7\x6f\x9b\x37\x73\xe0\x09\x61\x50\x0b\xeb\x55\xa6\x94\x96\xd5\xae\xf2\x6a\xad\xa3\x68\xed\x48\xd6\x02\x7f\xe2\x9b\xcf\xef\xe1\x76\x74\xc5\xd1\x18\x9a\x8b\x8f\x73\xb0\x18\x26\x61\x15\x14\xf6\x81\x8b\x48\xa9\x5d\x7e\x86\x31\x7f\xd1\xea\xbb\x14\xfb\x08\x4f\xe2\x72\xeb\x88\x98\x74\x75\x25\x6d\x31\x83\x0f\x09\x43\x36\x40\xcf\x31\x20\x88\x50\x85\xbd\x31\x1f\xba\xe3\x65\x5e\xcb\xc9\xc2\x83\x9a\xeb\x3c\x6d\x30\xed\xa2\xd6\xa1\xee\xb0\xfd\x93\x8c\x53\xbd\xf3\x5b\xab\xc8\xc6\x85\x8c\xfa\xda\x00\x0e\x94\x59\xa7\xe9\x38\xd5\x6e\x9a\x66\x77\x4a\xc0\x81\xdd\xff\x01\x69\xa0\x96\xc3\x35\xc1\xa0\x7a\x2f\x61\x30\xc2\xd0\xde\x01\x22\x40\x12\x6c\x62\xc8\x5f\xe6\xfd\xe0\xab\xfe\xf1\x97\xa3\xfc\x97\x81\x70\x6f\x71\x32\x90\x03\xc1\xc4\xa1\x8c\xdd\xb0\x02\xfb\xe1\x21\x5e\x9b\x86\x00\xa0\x4e\x53\xa7\x81\x3d\x85\x6d\x90\x8d\x3c\x46\x42\x2f\x09\x83\xb1\x33\x01\xdd\x7b\xe2\xf0\x47\x38\x9e\xc7\xf3\x98\x86\x69\x78\x1e\xcf\x41\x1a\xa6\xc1\x79\xf0\x81\x71\x7f\x80\xd7\x1f\x12\xac\x47\x27\x42\x3b\xaf\x76\xe3\xcc\x5e\xaa\x40\xc0\x97\x38\x1c\x8f\x83\x1f\xbe\xfe\xaf\x32\x99\xa2\xf6\xd0\x7a\xa8\x29\x2a\x69\x57\x96\x1e\x41\x3f\x09\xa7\xc0\x9f\x1c\xb8\x24\x81\x2f\x3a\xf1\x68\xc0\xd7\x2d\xe0\x45\xda\x58\x83\x6f\x94\x63\xbd\x81\x6c\x74\x32\x10\x85\xe6\x5b\x1c\x3c\x56\xf7\x13\xd6\x16\x72\x00\x7a\x10\x5a\x3f\xab\xc4\x59\x62\x20\xc6\x80\x2b\xcc\x31\x84\xf5\x05\x65\x70\x3e\x5a\xcd\x69\x9c\xd6\xaa\xee\xc1\x27\x84\xf9\x05\x85\x33\x80\xe6\x5a\x63\x30\x06\x55\xed\x16\x61\x6e\x21\x5d\x6a\xcc\xca\x5b\xb9\x63\xf4\x29\x18\x0d\xff\x08\x66\x9d\xba\x83\x03\x86\xe9\x02\x0c\x13\xcc\x5d\x61\xd0\x19\x75\x66\x67\x78\x47\x80\x49\x0c\x55\xb3\x21\x3d\x5e\x04\x77\xaa\x60\xcf\xde\xbc\xba\xc3\x07\x62\x0f\xf1\x15\xdf\xe7\x6e\x97\x60\x35\x25\x33\x9b\x03\x63\xd7\x05\xad\x2c\xf7\xe7\x37\x6c\xc8\x48\xdb\x28\x55\x52\xd5\x4a\xe9\xd6\x1a\xbb\xef\xb5\x90\xb0\xb0\x90\xc8\xd2\xa8\xea\x64\x51\xe3\xa9\xf8\x0d\x79\x91\x12\x4c\x62\xe0\x1d\xc1\xea\x8c\x3a\x70\x86\xa9\x8c\x35\xd5\xac\x83\x66\xaa\x45\x10\xb1\xd9\x6c\xb7\x48\xaa\x89\x84\xa7\xc2\x5b\x6b\x64\xfa\x95\x79\x03\x87\xcd\xe0\x9b\x9c\x1f\x9f\x95\x94\xe6\x9e\x94\x96\x96\x94\xa0\x47\x5d\xeb\x0b\xaa\xfe\xdc\xae\x2f\xb7\x5f\xa2\xc1\xe1\xcc\x59\x70\xba\xc3\xbf\x21\xbd\x77\xdd\xf1\xfb\x91\x87\x62\x61\xe8\xe3\x6e\x6d\x86\x48\x5d\x49\xf4\x9c\x84\x83\x50\x9c\x29\x75\x5d\xbc\x10\xdb\x4d\xe6\x3f\x20\xa1\xdd\xfa\x5e\x0f\xf1\x1d\xfe\x3f\x16\x08\xf0\xce\xcb\x87\xd0\x6e\x8f\x04\x1a\x79\xeb\x2c\xb6\xeb\x7a\x5a\x42\xf1\xea\x6d\x1c\x04\x9e\x7c\x8b\x07\x1c\x17\xc0\x97\x81\xe6\x4f\x05\x6c\xee\xcd\x78\x78\x50\x13\x17\x82\x13\x38\x2c\x92\xc2\x2f\x6d\xfc\x32\xf8\x1c\x6d\x7e\x81\x3a\x32\x21\x3f\xa9\x28\x4d\xcc\xcc\xcb\x37\xe5\xf1\xf9\x79\xd9\x39\x79\x12\x34\x83\x2f\x51\x94\x97\x5f\x5c\xac\x2f\x4e\x2b\x4e\xca\x13\x5d\x6a\xcc\x3a\xd8\x96\x29\x18\x9c\xe3\xcd\xe5\xdc\x57\x9f\x5c\xf6\x16\x65\xcc\xc7\x6d\x90\x2f\x53\x5f\x5d\xbe\x7c\x5f\x82\xc9\x5d\x70\x2c\x76\xc5\xae\x38\xae\xad\x04\xa7\x58\x74\xea\x44\x99\x82\x71\x60\x87\x4a\x6a\x00\xea\xff\xfd\x00\xd1\x02\x9e\x6a\x01\x0c\x80\x3c\xf0\x74\x94\xc1\xd3\x40\x34\x83\xe7\x73\xf0\xfc\x0b\x3c\x9d\x0c\x64\x88\x3a\x8d\xfb\x60\xd8\xb0\xf7\xc5\xd6\xbd\x24\x76\x43\x0a\x48\x9b\x28\x02\xf6\xf4\x56\xd3\xc6\x45\x67\xa4\xba\x90\xb3\x72\x5d\x5d\x5d\x9d\x7c\x36\xa4\xce\xef\xc2\xb4\x83\x13\xab\x68\xf0\xba\x07\xc3\xde\xc0\x14\x1e\x72\x61\x39\x2e\xc7\x9c\x85\x29\x8b\x62\x97\x48\xf1\x01\x35\xcb\x1b\xe2\x68\x63\x61\xa1\xa9\x90\xaf\xaf\xdb\x5a\x5f\x24\x15\xd5\x15\xee\xcd\xdb\x4b\xdf\xd9\x78\x7e\xf2\x48\x3d\x78\x76\x81\x0f\x91\x06\x01\x3d\xf7\x89\x70\x39\x04\x4b\x21\x0d\x6f\xf1\x58\x86\x31\x38\x0a\x33\x87\x4b\xb8\x60\x3d\xf6\xc3\xd1\xb8\x42\x8f\x9b\x60\x3a\x4e\x87\x48\xd1\xb2\x97\x84\xd9\xd0\x1f\x3c\x61\xb6\x04\x39\x5d\x80\x5c\x0b\xed\xa6\xff\x26\x86\x1f\x58\x54\x14\x18\x1e\x18\x9e\xbc\x78\x7b\x20\x7d\x7a\xd2\xf6\x8f\x86\xeb\x3f\x0c\x1f\xb9\x78\x92\x18\x1e\xa8\x2c\x3a\x10\x41\x27\x97\x96\x67\x94\xf3\x32\xb5\x63\x7b\xf1\xb6\x72\xa9\xe9\xf7\x7d\xd0\x0e\x48\x3d\x28\x5d\x60\xc8\x12\xf0\x1c\x02\x5d\xc4\xf0\x83\x8b\x95\xc0\xf0\xc0\x88\xa4\x45\xdb\x03\xe9\x3b\xef\x1f\xc6\x4e\x36\x45\x4c\xb7\x0a\x3b\x4d\xec\x26\x86\x07\x16\x2d\x3e\x10\x6e\xa7\x52\x66\xa7\x52\xb2\xad\x5c\x7a\x02\xef\x9d\x02\x4f\x18\xa2\x77\x41\x05\xae\x1a\x9c\x6b\xe0\x82\xe3\x41\x03\x71\xd2\xc9\x40\x7c\x1f\xcf\x41\x07\x8f\xe7\xd8\x01\x3b\xf4\xed\x8b\x1d\xf0\x9d\xe7\x7d\xa1\x03\x74\x68\x79\x0e\xef\x88\x18\x07\xfb\x39\x98\xb9\x05\x96\x68\x01\xd0\x5f\xc4\xcf\x5e\x6e\xfc\xf1\x96\xfe\x66\x13\xb4\x83\x1e\xa2\x0c\xdd\xe5\x7d\xab\x45\xdc\x0b\x33\x2b\xcf\x9d\x07\xe1\x28\x0c\x85\xa1\x38\x18\x12\xb4\x0f\xb5\x0f\x71\x14\x16\x62\x1e\xe6\x42\xbb\x9e\x70\x12\x45\x11\x4e\xa2\x00\xba\xb9\xe8\xa4\xc7\x76\x48\x8e\x45\x0f\x51\x46\x0f\x79\xfa\x65\xb1\xf6\xb4\xbc\x5f\xd6\xef\x0b\x85\xa1\x36\xe1\x3a\x04\x47\xce\x5f\xf0\x83\xd6\x41\xdd\x03\x23\xc1\xa5\xee\xcc\x53\x31\xb2\x21\xe1\xcc\x59\x3d\x0c\x06\x06\xba\x40\xbf\xad\xa2\x4b\x80\x60\xf6\x05\x9d\x93\xd9\x17\x5e\x73\x1f\x31\xa8\xf4\x13\xd4\xe6\x45\x02\x28\x73\x18\xad\x99\x52\x7d\xbb\xfc\xbf\x30\x1d\x34\x70\x5d\x99\x68\xbb\xb0\x6c\x97\x84\x22\xca\x84\x16\x88\xe0\x80\x11\x34\x5d\x17\x60\x04\x97\x55\x8c\xa5\xd9\x4e\x4e\x6b\x6e\xab\xaa\x36\xbf\x25\x67\xaf\x6a\x9b\xe4\x2d\xcd\x6d\x0e\x37\x2d\xcd\x65\x02\x36\x40\x04\xa7\x36\x43\xbc\xf0\xa9\xa0\x35\xf7\x66\xb4\xe6\xee\x82\x4b\x4d\xc4\x5b\xaf\x15\xcf\x18\x27\x03\xf9\x10\x74\x9c\xc1\x3c\x89\x0c\xc4\x1b\xc6\xcd\xf9\x9b\x4b\xe2\xdc\xe3\x4b\xaa\x52\xaa\x78\xa8\x11\xaa\xaa\x0a\x4b\x4b\xa4\x92\xb2\xfc\x2a\x63\x15\x8d\x3a\xb8\x22\xd4\x67\x6c\xdc\xb1\x96\x47\x05\x75\xa4\x8f\x20\xb6\xb9\x99\xa1\xec\x47\xa8\x50\x6b\x37\x86\x05\x67\x48\x43\xad\x15\x84\x81\xdc\x47\x6a\x6b\x2d\xbe\x1c\x04\xc2\x73\xe1\x90\x20\xa2\x42\x41\x80\x00\x0a\x05\xae\x4c\xdb\x71\x9b\x95\x49\x84\xda\x00\x8a\xda\x6c\xeb\x4e\x03\x44\xd8\x4e\xd9\xc9\x40\x25\x9a\x15\x7b\x98\xd5\x34\xe6\xf3\x39\x77\xa5\x72\x12\x28\x6b\x5f\x62\x56\x71\xe3\xd2\xab\xbc\x51\x20\xaf\x36\x9e\xbc\x52\x2c\x01\x65\xee\x4b\x94\x93\x40\x33\x77\xe7\x7c\x3e\x41\x32\x58\x56\x59\x1b\x38\xa3\x49\x36\xf2\x6b\x37\xec\xdc\x97\x29\x05\xab\x5e\x99\x07\x76\xed\x3d\x90\xe3\x7e\x20\x67\xef\xc6\x9c\xc0\x7a\xcd\xcb\x2d\x27\x70\xe3\xba\xc0\x4c\x5a\x1d\xd0\x04\xf3\x19\x55\xa7\x79\xc1\x7c\x06\x5e\x6b\x23\xb8\xb5\x99\x1b\x42\xd7\xda\x2b\x07\xe6\x6c\xdc\x9b\x73\xa0\x5e\xf5\x72\xcb\x39\xb0\x77\xd7\x81\xcc\x03\x99\xbb\xd6\x65\x06\xd2\x06\x5c\x6c\x3e\xc6\x7d\x59\x76\xbe\xe1\x32\x0f\x23\xc9\xc1\x0c\x34\x0b\x30\x92\xbc\x7c\xde\xdf\xa7\x4c\xfa\x55\x1b\x48\x80\x1b\xd9\x53\x9d\x49\x40\xfb\xd0\xee\x0f\xb1\x03\x8f\x23\x6d\x5a\x48\x0a\x83\x23\x49\xec\xd0\x7d\x04\xb6\x0f\x95\x7a\x6a\x33\x6d\x58\x2e\x35\x76\xdb\x4e\x05\x1a\xda\x26\x0e\x4b\xb8\xaa\x70\x58\x40\x36\x81\x42\x40\x01\x69\xf6\x85\x2c\x2e\xbb\xc8\x58\x94\x56\x48\x17\xa4\x25\xe7\x25\xf1\xd8\x04\x3c\x83\x05\xb6\xdd\x77\x64\x6c\x7c\x52\x5c\xa6\xf4\x29\x46\x64\x26\xe5\x24\xe5\xa7\xb8\xa7\xe6\x2b\xe9\x45\x3c\x34\x91\xd3\x51\x21\x6c\xe5\x09\x49\x71\x19\xb6\x72\xd8\x2d\xbc\x2d\x19\x8d\xd7\x61\xb7\x50\x94\xae\xf0\xb0\x89\x2c\x2b\x2d\x2a\xcb\x95\xbe\x87\xef\x6d\x6d\xfd\xa7\xa4\x88\x87\x88\xff\x2d\xf9\x8e\x2c\x2f\x2d\x2a\xcb\x91\x2e\x41\x44\x4e\x51\x66\x51\x5a\xa1\xfb\x7f\x7a\xd2\xd6\xcb\xef\xc8\xf2\x12\x1b\xf2\x25\x88\x20\x6c\x0f\xa9\xab\x81\x74\x06\x57\xc7\x37\x06\xa2\xaf\x93\xf9\xa1\x1a\xc5\x99\xf0\x1c\x21\x53\xd0\x07\xfa\x10\xd8\xc7\x2c\x73\x32\x95\x85\xe7\xa0\x37\xf4\x26\xb0\xbe\xf5\x32\xa7\x02\x85\x85\x58\xd8\xff\x57\x68\x86\xfb\x84\x4c\x61\x33\xdc\xff\xf5\x57\x28\xc4\x42\x42\x05\x4a\x5d\xa9\xad\xc4\x2f\xf1\x4b\xf8\x12\xbf\x24\xa0\x10\xbe\xe4\xcc\x0b\xb1\x16\x66\x69\xbc\xc6\x63\x2d\xce\xb2\x2e\xb4\x2e\x84\x5a\x9c\xa5\xf2\xa2\x4c\xa9\x3c\xd4\xc2\x2c\xf3\x42\xc9\xc5\x9a\x00\x12\xa3\xce\x06\x0f\x27\xf5\x57\x20\x38\x99\x82\xe7\x14\x8c\x45\x6f\x02\xc7\xaa\x07\x38\x78\x4e\xc9\x6f\xb3\xdd\x10\x38\x50\x41\xd5\x0e\xaa\x87\x08\xeb\x22\x0a\xcf\xc1\x59\x74\x40\x07\x95\xd6\xda\x13\x32\xa5\xd1\x5a\x7b\xfb\x52\xa2\x73\x70\xd6\x56\xac\xda\xd0\x6c\xb2\xf3\x36\xc1\x87\x69\xb5\x3b\xca\x56\x6c\x9b\xab\x6c\x87\x58\x95\xb6\x2c\x3b\xce\xc1\x28\x80\xf2\x25\x63\x55\xcc\xca\x97\x8c\x45\xb1\x2a\xdc\x0a\x61\x1b\x23\xb2\x75\x89\x1e\x96\x66\x8e\x35\x38\x0c\x12\xd0\x8b\x8c\x8a\x4e\x8a\x49\x90\xd8\xba\xc4\xd6\x06\x83\x25\x91\x48\x49\x4c\x8f\x8f\x83\x35\x0c\x78\x91\x5b\xab\x8b\x2a\x4a\x24\x4b\x43\x84\x40\x14\x16\xe7\x95\x96\xe9\xad\x5e\xd8\xcc\xad\x10\x44\xd6\xe0\xf0\x13\x53\x83\x33\x0d\x64\x58\xa6\xf0\xb7\xf9\x2e\x27\x53\x32\xd5\x13\xaf\x24\x6f\x28\x5a\xb7\x7d\xb3\xbb\x59\xb5\x32\x04\xfe\x60\x91\x39\xf8\xa1\x55\x26\x6c\x85\xf0\x83\x45\x26\xac\x2f\x54\x95\x4b\xdc\xbb\x4c\x4e\x5c\x87\x0b\x35\xd5\x4d\x56\xfd\x29\xcb\x9b\x2e\xb6\x72\xeb\xbe\x56\xd9\xac\x9a\x99\xed\x55\x45\x7b\x93\x77\xbb\xf7\x84\x2b\x1c\x2e\x54\xd5\x36\x64\x77\x1b\x36\xa1\xfa\x93\x2e\x35\xea\xc7\xb0\xd7\x51\x6d\x68\x71\x52\x75\x66\xfb\x0b\x0b\x2f\x8c\xa0\xcc\x23\xf0\x11\xb7\x6e\xd2\x88\xcd\x5e\x3c\xae\x34\xe1\xc8\x6f\xd0\xf1\x85\xa9\xc5\x0d\xe8\x41\x30\x66\x24\xcc\xcd\x7a\x9c\x75\xb7\xe0\x71\x1d\x3d\x80\xd2\xbe\x81\x47\x9c\x4d\xe5\xc0\x08\x4a\x55\xea\x39\x75\x94\xd6\x03\x9e\xbf\x55\x1c\x9f\x6b\xa3\x90\x3d\x88\x1d\xae\xbd\x2f\x7e\x3a\x7d\xed\xa8\xa1\x7a\x5c\x05\x0b\xf1\x63\x30\xc2\x47\xd0\xfd\x1b\xa0\x1e\x88\xd5\xa6\x6a\xb9\xba\xba\x5a\xae\xee\xd0\x1d\xa9\x07\xd0\x7d\x34\x7c\xc4\x83\x11\x16\xc2\xc7\xb0\xea\xf1\xda\x6f\x3f\x6d\x92\xae\xbd\x3e\x08\x1d\x80\xd5\xbb\x84\x08\x90\xf6\xef\xab\x1a\x56\xed\x0e\x3a\xbb\x1e\xc9\x43\x9e\x3a\x14\x7e\x03\x1e\x74\x4e\x6a\x89\x99\xe0\x30\x0f\x75\x90\x47\xaa\xac\x33\xe6\x21\x0b\x79\xa4\xd9\xa4\xe9\x38\xfc\x4d\x26\x51\x07\xbf\x51\xaa\xce\xd9\xea\x85\x3a\xb3\x97\x0d\xc3\xea\x85\xac\xd9\x8b\x04\xde\x1a\xca\x25\x26\x27\x27\x8a\x06\xec\x4d\x26\x26\x2b\xc5\x92\xc1\xf9\x6b\xaa\x58\x51\x8a\xc5\x7a\x52\xb5\xdd\xfe\xab\x61\x0c\xac\xc6\x31\xaa\x0b\x28\x84\x5c\x4f\x15\x2b\xc9\x89\x92\x01\x7b\x53\xd6\x16\xcb\xef\x1c\x86\x42\x5f\x42\xed\x4b\x82\x11\xfb\x72\x38\xf3\x6d\xe6\x51\x14\xf7\x70\xea\x8d\x11\x76\x9a\x23\xa6\x4e\x1d\x61\xc7\x1f\x71\x63\xea\x43\xd1\xe0\xfc\x35\xf9\xf0\xc6\x8d\x87\x92\x4b\x4d\x22\x50\x06\xa2\x1d\xf4\x75\x85\x5e\x8c\xc1\x1c\xf5\xda\xe0\x9c\x03\x2e\xec\x23\x8b\xce\xbc\x92\x7b\x86\x63\xc1\x0b\x2b\x80\x18\x06\xc4\x87\xd0\x71\x26\x96\x82\x33\x96\x81\x33\xce\x81\xbb\xe8\x0a\x69\x7d\x61\xe6\x70\x18\x8d\x53\xa1\x33\x2d\xe3\x24\x78\x0f\x16\x79\x8a\xec\xd7\xf0\x18\x07\x43\x7b\x8c\x07\x16\x53\x69\xf6\x11\xbe\xd4\x8e\x72\xa0\xe1\x11\xf8\x1d\xde\x85\x81\x95\xb0\x1f\x0f\xbb\xfd\x4d\xe2\x03\xf8\x8e\x60\xbf\x86\xf9\x46\xd5\xc7\xe0\xfc\x8f\x41\x35\xf2\xb0\xd2\xba\x21\x0a\x7f\x07\x2b\x1e\xa1\x5d\xc0\x8b\x69\x02\x2f\xb3\x52\xaf\x3a\x09\x4d\xe0\x2f\x18\x88\xa5\x16\x27\xae\x30\x30\x32\x28\x28\xa5\x5b\x58\xef\x4d\x7d\x12\x73\xf1\xd9\x21\xcf\x63\xe8\xa0\x44\xba\x95\xae\xdd\xb2\x7a\x6d\x3c\x9d\x99\x9a\x62\x4a\xe1\x43\xc3\xcb\x77\x26\x49\x29\x5b\x37\xdc\x0b\xbd\xb9\x05\x3a\xb8\xaf\x20\xb7\x60\x87\xd0\x29\x1b\xc6\xa7\x44\xb9\x85\x26\x85\xc7\x86\xf2\x29\x29\x59\x39\xa9\xd2\xda\xd2\x2d\x87\x4a\xf7\x29\x35\x6e\xc7\xc0\xe1\xd0\x6f\xb9\xf0\xac\x4f\x71\xef\x6d\xdd\x76\x04\x15\x46\xee\x2f\x3c\x50\xb8\x7f\x7f\xcd\x81\x14\x3a\x08\x3e\x80\x2e\x1b\x40\xc7\x83\x0e\xba\xec\xde\x0f\x1f\x48\x07\x0a\xf7\x47\x16\x06\xd1\xf8\x17\xf4\x98\x2c\xd8\x3d\xe9\xa8\xee\x78\x0b\x6e\x69\xee\x9a\x3b\xde\x42\x7b\x0a\xb7\xf0\x96\xea\xae\xba\xc3\x2d\xb8\xa5\xba\x8b\x56\x5f\xb3\xc2\xa9\x23\xe1\x0f\xfc\x43\x1b\xa9\x8d\xc4\x7f\x53\xf8\x43\x1d\x09\x3e\x82\x64\xd1\x59\x95\xff\x9a\xea\xa0\x02\x7e\x5f\x45\xaa\x87\x20\xc8\xf1\x16\xcc\x33\xfb\x80\x9f\x93\x81\xa8\x36\xaf\xe1\x36\xd5\x86\x14\xaf\x33\x6a\x54\x94\x1b\xac\x80\xd8\x3d\xfb\x0b\x4e\x24\x1d\x71\x4f\xdd\x15\xbb\x33\xb4\x9c\x96\x4d\xb2\x16\x03\x07\xc5\x80\xed\x0b\xd2\x83\xd6\x61\x0a\x06\xb9\x2d\x5f\x99\x31\xe5\xc8\xb2\x23\xcb\x6e\x66\x9c\x38\x0a\x53\x61\xa8\x1b\xf4\xf1\xc2\x4a\x6c\x44\xc7\xcd\x7d\x16\x7c\x3c\xce\x1d\x04\x14\x89\xcf\xaf\x3d\x3c\xf0\x8c\x87\xb9\x30\x08\x07\xa1\xdf\xa0\xc0\xe1\x9f\xce\x94\x40\x40\x81\xf8\xe5\xf9\x25\x78\x0f\xba\xeb\x1f\x47\x3d\x0c\xbc\x27\xc2\x07\x85\x81\xda\xd8\x8c\xd9\xc7\xe7\x7d\x99\xe1\x6e\xca\xc9\x91\x73\xf8\xcf\x4e\x1d\xbb\x94\x27\x9d\x50\xcf\xe4\xd4\x25\xd6\x45\x6e\x73\xc7\x85\xea\x12\xee\xc5\x77\xdf\xbe\xf8\x63\xe4\x77\xbd\xfb\x8c\x1c\xd9\xa7\xf7\x77\xa3\xfe\x90\xac\x94\x01\x7b\x72\x38\x17\x07\xc1\x20\x98\xdb\xbc\xed\xd6\xe1\x4b\x12\x4a\x20\x11\xe3\xfa\x2f\x47\x1a\x59\x3d\x36\x42\x26\x66\xc2\x45\x70\x85\xf6\xc7\x9b\x7f\x11\xed\x85\xab\x3e\x9d\x1c\x31\x9e\xb7\x3d\x71\xdd\x21\x42\x6d\x82\x25\xf0\xf6\x69\x53\x77\xb4\xd9\x5f\xef\x00\x9d\x93\xc5\x19\x7e\x9e\x23\xc8\xe8\x45\xf5\x12\xd0\xeb\xa5\x00\x8a\xb9\x3b\x07\xe3\x70\x06\x74\xc1\xe1\xa2\x4c\x61\x3f\xa4\x66\x20\x37\x42\x4a\x8e\xcb\x89\x2e\x4d\x02\x87\x11\x6e\x19\x79\x05\xc6\x02\xbe\x48\xc9\x2d\xcc\x97\x0e\x9d\xaa\xd9\xb6\xad\x9c\xae\xa8\x3d\x54\x7c\x80\xbf\xd1\xbc\x7c\xf6\xd2\xd5\xd1\x9f\x6c\x90\x26\x04\x0f\x59\x89\x1d\xf5\x93\x5f\x0a\xf5\x54\x7d\x7d\xf5\x85\x3a\xb1\xb9\xe1\xc5\x25\x78\x5f\xaf\x39\xab\xbe\x1c\xcc\x15\x56\x30\xd2\x7f\x83\xf6\xc0\xbb\x02\xfe\x5f\x7e\xa4\x5a\x55\xaa\x86\xc3\x7c\x47\xd8\x01\x09\x30\xfb\x84\xfa\xfb\x5e\x27\xb5\x9d\xc1\xf9\x2a\xf7\xf8\xf6\x9d\xc7\x8f\x26\xdd\x19\x3a\x74\xe2\xc4\x61\x43\xef\x4c\x7c\x2c\xa9\x67\xac\x5d\xb8\x22\x63\x51\xba\x22\x66\x65\x65\xe6\x64\x14\x64\xe4\xa7\xe5\xba\x6b\xa3\xd4\x2a\x42\xa6\xb6\x47\x07\x55\xcc\xe5\x67\xad\x49\x0a\x8f\x91\x64\x4a\x36\x19\xd1\xa6\x5a\x9f\xc2\x0b\x84\xb1\x6c\xd4\xad\x62\x51\xbe\x5b\x1c\xff\xa3\x18\x08\x61\x8f\x60\x78\xba\xe6\x45\xe0\x3c\xed\x85\x31\x46\xd6\x67\x86\x94\xcc\x3f\x16\x5d\x1f\x5b\x97\xde\x50\xb3\xbf\xe2\x08\xd0\xa7\x41\x4f\xcb\x5f\x41\xc0\x63\xc8\x11\x4d\xf0\x06\x5d\x40\x22\x12\x4b\x0b\x0a\x65\xbd\x5c\x52\x52\x11\x2a\xaa\x4e\xda\x34\x62\xe7\x32\xa0\xc2\xc1\x41\xaf\xf5\xc2\xbe\xdc\x40\xcc\x87\x4e\xf8\x77\x76\x72\x4e\x4a\x4e\x8a\x7b\x96\x4c\x56\x04\x7d\xb1\xf0\xde\xb1\xe6\x63\x0b\xfe\x59\x7f\x9f\x96\x87\xc2\x5c\x0f\x28\x14\xcd\xd7\xb5\x9f\x39\xf9\x7d\x18\x8f\x57\x54\x59\x4c\x49\x4c\x96\x45\x39\x31\x39\x2d\x5b\x84\x6b\x5a\x3c\x10\x38\x46\xd6\xd7\x04\xe5\x07\x56\x97\x14\x17\x6c\xde\x1e\xb9\xcf\xa6\xb7\x43\x34\xac\x47\x17\x58\x0f\x27\x61\xbd\xab\x79\x18\xec\xbf\x0f\x39\x90\x0b\xf9\x2d\x97\xa1\xe3\x15\xe8\x70\x85\x4d\x48\x54\xb3\xd4\x23\x1c\x7c\x0c\x55\x59\x58\x45\x98\x5b\x5e\x70\x1f\x8c\x1d\x88\x9d\xc5\x79\xaa\xdb\x45\x12\xdc\x9b\x46\xa0\x93\xa4\xdd\x55\xdf\xe5\xaa\x63\xcb\xa3\x45\x7c\x44\x26\x26\xa5\x27\xa7\x49\x5a\xa3\xd5\x48\x6c\xda\x52\xb1\x6e\x37\x0f\x5b\xc9\xe2\xe2\x7c\x25\x5f\xfa\xec\x7b\x02\x4e\xcc\x24\xa3\xcb\x63\xab\x44\x58\x47\x56\x95\x97\x57\x4b\xe6\x9b\x6a\x47\x0e\x2a\xd0\x17\x7a\x63\xa9\x88\x35\x64\x74\x6c\x6c\xb4\x64\xcd\xa4\xd8\x7d\x0e\xd1\xe5\xb1\xd5\x22\x9b\x90\x08\xb5\x24\x14\x83\x2f\xf4\x85\x0a\x09\x06\x9a\x38\x39\x03\xd2\xb1\x37\x8c\x16\xd9\x83\x89\xcb\x49\x10\x30\xd0\x88\x0b\x65\xbd\x9c\x89\x79\x68\xc0\x61\xe2\x79\x12\xfa\x81\x99\x81\x19\x30\x5c\xf8\x0f\xc0\xd3\x06\x98\x6a\x03\xf0\xff\xc5\x70\xc1\xff\x43\xc5\x40\xfe\xe5\x68\x56\x60\x19\xa3\x5a\xd1\x93\x0b\x1a\xb4\x60\x7d\xa2\x98\x16\x1b\x6b\x8c\xe5\xd7\xae\x55\x94\x60\x09\x87\x9f\x5d\xf9\x72\x1a\x74\xa3\x27\x82\xc7\x16\xe8\x0e\x23\xf4\x30\xa2\x12\xba\xdf\x01\x0f\xf1\x3a\x74\x3b\xf2\x12\x86\x9f\xa5\x95\xfa\x7d\xca\x3e\xbe\xbc\xdc\x98\x56\x2e\xed\x49\x7c\xba\x20\x48\x1f\xee\x87\x1f\x27\x06\x88\x69\x61\x46\xff\xe8\xcd\x74\x42\x7c\xa4\x71\xcb\xe2\xc5\xc5\x8b\xf9\xb8\x48\x53\x52\x82\x14\x13\x9f\xb2\x34\x2d\x8a\x0e\x1f\x1e\x3f\xcc\x4b\xef\x55\x3a\x6c\xfb\x70\x31\x3f\xaa\x70\x69\x45\x3c\x9d\x54\x52\x63\x2a\x3b\x7d\xba\xf8\x34\x5f\x59\x63\x4c\x28\x95\xaa\x37\x67\xfb\xe7\x87\xd1\xc5\x01\x8d\xf8\x71\xb8\x1e\x86\x58\x7a\x70\x15\x15\x05\x25\xa5\xd2\x99\x33\xbb\xae\xdf\xd2\xdf\xda\x78\x7d\xd1\x19\x31\x49\x08\x0b\x33\x05\xec\x0c\xa3\xb7\x87\x95\x06\x07\xe9\x83\xe2\x83\xc3\xc3\xc5\xd0\xb0\x2c\xff\x1d\x61\xf4\x61\x01\xa6\xe2\x54\xae\xa2\x32\xbf\xb4\x44\x7a\xfe\xbc\x11\x74\x20\xe8\x41\xf0\x03\x5d\xdf\xe7\x62\x92\xf0\x4a\xa0\xef\x8d\x3b\xea\xd1\x5d\xdf\x3d\xc0\x63\xfc\x38\xf1\x95\x40\xc7\x97\x54\xa4\x55\xf2\xff\x53\x09\x7a\x40\x8f\xef\x60\x2e\xac\xd0\xc3\x8a\x91\x30\x17\x7b\x40\x8f\xb6\x8a\xd0\x01\xdf\xbd\x89\x43\x71\x8c\x1e\xc7\x4c\xc1\xa1\xd8\x01\xdf\xfd\x2f\x01\x17\xb5\x8f\x5c\x0f\xcd\xf5\x36\x71\x9e\x71\x94\x41\x61\x54\xdb\x91\x13\xf8\xc2\xeb\x1a\x41\x55\x9c\x23\x18\xb3\xa2\x29\x35\xf6\x17\xba\x6f\x01\x06\x73\xa3\x01\x97\x1b\x19\x1b\x88\xfb\x67\xe8\xe3\x6e\xd3\x04\xd1\x28\xb4\x2a\x70\x98\x91\xa9\x69\x82\x64\x55\x2c\xca\x7a\xe1\x7f\x21\x36\x4c\x23\x63\xff\x78\xf5\x50\x00\xfb\xae\x01\x74\x2d\xa0\x7b\x10\xe5\x2a\xc3\x43\x61\x16\xe8\x7e\x05\x5d\xb0\x0d\xae\xb3\x2f\xb6\x79\x01\x3a\xf6\xff\x42\x40\x87\xbe\x07\x05\xf0\x05\xdf\x83\xc2\x49\xd5\x91\x1b\x34\x08\xb6\x09\x4f\x9f\x12\x3f\xc0\xee\x83\x82\x79\x1e\x34\x83\xcc\x80\xb3\x30\x91\x41\xc6\x6f\xd6\xcc\x09\xe2\x94\x8f\x3f\x1e\x82\x43\xf5\xfe\x8c\xc8\xae\xcc\xf7\x64\x24\x36\x75\x62\x7f\x61\x1b\x03\xc4\xb9\xcf\xaf\xdd\x13\x6f\x7d\xfb\xcd\xcf\xf0\x91\x5e\x2b\x41\xdd\x41\x7b\xfb\x1c\xf8\xe1\x60\x18\x8c\x7e\xe8\x87\x83\x71\x30\xfa\xd9\xaa\x81\xb3\x00\x9d\x5e\xb5\x19\x9e\xf5\xc2\x4e\x10\x20\xa8\x22\x1c\xe3\xe6\x82\x34\x00\x5c\xb0\xc3\xd3\x0d\x35\x01\x69\x9b\x36\x44\x6e\xc8\x0f\xd8\x1d\xf9\x6a\xcc\x37\x3d\x4e\x62\x7b\x3a\x54\xd9\x11\xbb\x83\x2f\x2c\xcc\xca\x29\x90\xf6\x95\x56\x1e\x8a\xdf\x47\xc3\xea\xef\xb9\x49\x30\x09\x19\x18\x88\xfd\x81\xa2\x59\x7d\xdf\x0d\x35\x01\xe9\x91\xeb\x23\x37\xe4\x05\xec\x89\x04\x7d\xcf\xbf\xd0\x70\x19\x07\xd2\xa1\x45\xdb\x63\x77\xf2\x85\x05\x59\x39\x85\xd2\xbe\xd2\x8a\x43\x09\xf6\x07\x5e\x75\x12\xa6\xdb\xbd\xd6\x4c\x07\x5f\x74\x06\x5f\xd7\x2c\x03\xfd\x7f\xec\x4a\x4b\xa5\xda\xcc\x05\x9a\xd6\x46\xc5\x04\xd1\x4b\x37\x2d\xdb\xb0\x80\x5f\xb7\xbe\x78\xeb\x26\x29\xa9\x90\x08\xdf\x96\xb0\x6f\xbf\x1e\x68\xe6\xdc\x89\x0d\x4b\xb7\x89\x15\x41\xfb\xa2\x0e\x98\x68\xf5\x3a\xe8\xb8\x40\x61\xc1\xb2\xdd\x27\x37\x89\x31\xfb\xd7\x6e\x0d\xcc\x3a\x90\xb5\x6f\x6b\xc5\x7e\xfa\xe4\xb6\x13\xbb\xcf\xf1\x7b\xf7\x24\x46\x6d\x93\x8a\x52\x88\xed\x9b\x4a\xd6\x06\xe9\xb5\x8f\x21\x94\xdb\x7e\x26\xea\xf3\x45\xdb\xe9\x7d\x93\xc7\x56\x8e\xe1\xd9\x1d\x41\x6b\x33\x53\x83\xa5\xd3\xbb\x2f\x6e\xfd\xa2\xa0\x31\xff\xd0\x99\xd4\xc6\xb4\xc6\x45\x87\xfc\x52\x7b\x27\x0c\x5a\x33\xda\xaf\xfe\xf4\xd1\xe3\x27\x0f\x37\xec\xcf\xbf\x1c\xd4\xb0\xb6\x61\x56\xbe\x7f\x10\x8d\xc3\xd0\xbd\x07\xce\x8e\x40\x7f\xec\x8d\x5b\xdd\x70\x15\xbe\xb3\x7e\x4b\xe2\xea\xf2\x75\xee\xe0\x85\xcd\xc4\xa6\xe2\xda\xf8\x5a\xbe\x48\xc9\xce\x2b\x92\xd8\x95\x90\x02\x1d\x08\x76\x1f\x1c\xdf\x58\x6e\x2a\x33\x95\x1b\xdd\x65\x2a\x3b\x5b\xce\x96\x65\xb9\xc3\xfb\xd0\x11\x88\x7b\xe0\xd4\x28\xd5\x9e\x89\xfc\x7c\x51\x2d\x9d\x9f\x10\x9f\x13\xc7\x97\x95\xe6\xe4\x97\x48\xec\xca\x33\xb5\x35\x9f\x47\x9c\xa1\xc1\xc9\x0f\x89\x7b\xd8\x91\x67\xd7\xa5\xa5\x9a\xd2\xf8\xe2\xbd\xfb\xf2\x0f\xf0\xec\xca\xd3\x27\x93\x22\x8f\x49\xa7\x23\xbe\xd8\x5a\x7b\x9a\xb6\xcc\x03\x2f\x6e\x5b\x62\x44\x69\x04\x9f\x94\x6c\x4c\x4f\x92\x30\x05\x3b\xe0\x89\x5d\x71\x59\x71\x59\x71\xd9\xee\x26\xd2\x68\x94\x8d\xf6\x36\xb1\x23\x12\xe3\xd1\xc9\x4f\x8a\x58\x54\x33\xe7\x4c\x04\x9d\x56\x52\x9a\x59\xc6\xc7\xc5\x67\xa6\x25\x48\x8b\x22\x22\xe7\xd4\x2e\xa2\xd1\xa9\x11\x88\xf1\xd0\x31\xbf\x20\x2b\x9f\x4f\x5c\xb7\x36\x2d\x90\x5f\xbc\xb4\xa8\x66\x85\xb4\xb8\x76\x76\x54\xc4\xe2\xf0\x45\x5b\xe7\x9c\x09\xa7\xd7\xde\xba\xbf\xe5\x01\xbf\x7f\x5f\x4e\x41\xbd\xb4\x78\xc3\xdc\xa8\xd9\xa9\x7e\x69\xab\x17\x15\xf8\xd1\xac\xef\xa2\xfc\x86\x35\x67\xf8\xdc\x5c\x39\x2b\x57\x62\x57\xbe\x28\x79\x7a\xf0\x9b\xc6\xe0\xc5\x01\xcb\x97\xae\xf2\x0f\x4a\xfb\x64\xbf\x3f\x1d\x51\xbd\x2b\x61\x37\x5f\xb3\xad\xa0\xbc\x4a\x82\x61\xe0\xfe\x27\xcc\xae\x05\x7f\xe8\x0d\x5b\xdd\x58\x5f\x58\x05\xef\xec\xa9\x2c\x3e\x14\xbb\xd7\xdd\xa5\xc6\xd2\xd0\xe2\xa8\xbe\xf7\xab\xd9\xf7\x85\x93\xa5\xc1\x26\xf8\x77\xea\xf9\x12\x3b\x62\xc7\x9e\xb6\x5b\x37\x59\x80\x6a\x01\x56\x0a\x18\xaa\x36\x73\x70\x17\x8a\xb1\x18\xef\xe2\x47\xa3\x07\x4f\x1e\x25\xcd\x18\xbf\x60\x0e\x12\xfa\x54\x21\x70\xfd\x9e\x03\xde\xc2\x74\x01\x86\x7e\xfd\xe4\xe6\xd7\xe2\xd5\xbb\x8d\x57\x80\xd1\x43\x77\xc1\x56\xfd\x2e\x14\x43\x31\xdc\x15\x31\xd3\x1a\xc0\x69\x0f\xb4\x07\x31\x31\x72\x68\x45\x8c\x3b\x8c\xc2\x51\x15\x31\x3b\xe5\x8a\x0a\x77\xf5\x81\xfa\x80\x30\x1f\x34\x38\xef\xe4\x62\x2a\x42\xe5\x2d\x31\x18\x80\x01\x6e\x03\x07\x3e\x9e\x78\x63\xc8\xf1\x5e\xee\x77\xef\xee\xdc\x01\x71\x10\x57\x51\x29\xef\x8c\xa9\x70\xb7\x69\x67\x3e\x06\xe7\x74\x98\xe3\x68\x20\xa6\xc0\x0c\x27\xf3\x1b\x4b\x3e\xb7\x3f\xa3\xce\x7f\xf3\x96\xb4\x94\x18\xb1\xaf\xaf\x3f\x4a\x1f\xe8\x27\x6e\xef\xff\xb8\xa8\x38\x2b\xab\x48\x2c\xcf\x92\xe5\x9c\xb2\x9a\x97\x5b\x5f\xd6\xbc\xa4\xf3\xf7\x16\xec\xad\xd7\xab\x5b\xb4\x51\x5c\x5a\x4a\x6a\x9a\xc9\x28\x67\x99\xc4\xa2\x65\x2b\x0b\x97\xf1\x1f\x79\x87\xaf\x99\x20\x25\xa7\x67\x66\x18\x93\x13\x97\xa5\x2c\x4d\x5c\x46\x63\xdf\x95\xe8\x8a\xd3\x70\x2c\x8f\xed\xc7\x7d\x07\xf4\xd5\x06\x70\x79\x70\xec\x7c\xc4\x86\xbd\x52\xb6\x31\x2f\x23\x43\x6f\x4c\xef\x35\xcf\x4b\xbf\xb1\x34\x6a\xcf\xcd\x0b\xbf\x7f\x56\x2e\x16\x1d\x2a\x39\x96\x7b\x98\xce\xca\x96\xb3\xb2\xf5\x79\x91\xc6\x0c\x9c\x87\x04\x38\xc0\x7c\x98\x09\x1d\x60\x13\x2c\x38\x20\xe6\x6c\xab\xcd\xa9\xe5\x61\xd0\xa3\xb1\x38\x04\x9d\xd6\xf4\x8b\xe9\x2a\x65\x1b\x89\xa3\x77\xee\x1f\x7a\xc8\x2b\x95\xe9\x99\x85\x52\x65\xea\x7d\x6c\xbf\x59\x0f\x33\xd4\xad\x5d\x05\x4c\x44\x05\x16\xaa\xa3\x21\x3a\x11\xc2\xd5\xad\xb0\xc2\xf5\x10\x44\xe2\x52\x78\x00\x1a\x34\xb0\xdf\xb2\x5f\x99\x63\x0d\xce\xb7\xb8\x85\xc9\x0b\x93\x16\x89\xc1\xd8\x3f\x18\x07\x04\x63\x7f\x3a\x30\x65\x55\x61\x08\x8f\x6e\xab\xa1\x3b\x38\xc0\xb0\xab\x10\x0c\x1e\x3f\x48\x65\xdb\x77\x29\xbb\xf8\xa6\xbc\x25\x7e\x92\x39\xdd\xda\x9d\xdb\x8d\x14\x4c\x0d\x2d\x12\xf3\x12\x36\x14\xc6\xf3\xa8\x43\x72\xf6\x2c\x74\x90\xd8\x6f\x33\x73\x88\xed\xf0\xe1\xe7\xd0\x1f\x46\xea\x41\x46\x37\x20\x30\x5d\x64\x8f\xaf\x09\xcc\x4c\x0b\x94\xf0\x0b\x3f\x9c\x85\x7f\xe2\x11\x3d\x5e\x82\x09\x38\x0a\x2e\xe6\xd7\xe7\xa6\x88\xc9\x14\xba\xc4\x8c\xc3\xe3\x38\x84\x5f\x1a\x55\xdf\x00\x3c\x0c\xf8\x2e\xbb\x50\x62\xbf\x3a\x66\xc2\xa1\x8d\xfe\x3c\xb6\x9f\x81\xb3\xfb\x4a\xec\x69\x9c\x0c\xce\xd8\x09\xa6\xc1\x56\x98\x07\xfb\x21\xee\xb2\x58\x79\xab\xe4\x4e\xd5\x2d\x9a\xfd\x36\xb7\x2c\x27\xbf\xac\x80\xbe\x04\x4e\x40\x1d\x82\xce\xfc\xed\xcb\x9b\x93\x6e\x49\xf9\x26\xa2\xa8\xb4\xa8\x48\x72\xe9\x1a\x0c\xbe\x8e\x06\xe2\x38\xcc\x75\x32\xdf\x33\xff\xcd\xad\x5f\x1f\x1f\xb6\x59\x5a\xbb\xac\x78\xe6\xa9\x75\x30\x0b\x3b\xbb\x6d\xde\x15\xeb\x1f\x62\x34\x66\x19\x79\x0c\x39\xa4\xf9\xb6\x10\x59\xa9\x69\x59\xa9\xfc\x12\xff\xb5\x8b\x52\xa4\x94\xf9\x87\x97\x9c\x8b\x87\xbf\x3d\xdd\xb4\x4d\x97\x89\xcc\x0c\x39\x93\x5f\xb4\x2c\xd8\x56\xe0\x7b\x64\xe1\xc5\x34\xb5\x6a\xba\x9b\x36\xcb\x44\xcc\x5b\xb2\x72\x5e\xa6\xe4\x9b\x79\x62\xc9\x67\xbc\xea\x4b\x62\x69\x30\xb1\x20\x6d\x45\xc0\x02\xfd\xdc\x13\x2b\x2e\x88\x76\x99\x1b\x5e\xd7\xab\xdb\x2f\x1d\xcf\xdb\x5f\x5f\x78\xcc\xfd\x9e\x3a\xa8\xe0\x70\xe2\x91\xb0\x3d\xee\xd8\x13\x3e\x0e\x3e\xb4\x7a\x9f\xff\x2e\x77\x0c\x83\xde\x44\xc9\xe6\xa8\xfc\x48\x7e\x22\x2e\xe5\xd6\x6f\x8d\xda\x9b\xb6\x3f\xed\x40\xe1\x81\x9a\x3d\x39\x39\x39\xd9\x39\x39\xf8\x3e\xf4\x72\x0b\x3c\x34\xa7\x28\x60\xdd\xf2\xb5\xa9\x9f\xec\xf5\xcf\x36\x66\x65\x66\x1b\x21\x19\xcb\xdd\x0e\xae\xca\x33\xc2\xfa\xff\x1f\x73\xff\x1d\x17\xc5\xf5\x3d\x8c\xe3\x0b\xec\xcc\x0e\x73\x75\x05\x76\x87\xc0\xee\xce\x0c\x2a\x62\xef\xe4\x6d\x43\x83\x35\x1a\x62\xc3\xd5\x88\x68\xec\x02\x0a\x2a\x4d\x7a\xef\x2c\xb0\x94\xa5\x49\x6f\x76\xb1\x61\x49\x14\x45\x63\x8a\xd1\x14\x95\x14\x4d\x8c\xa9\x9a\xa8\x49\x34\xd1\x9c\x59\xce\xe2\xfb\xf7\xda\xc5\xbc\x9f\x77\x7e\xcf\xf3\x7c\x5e\xdf\x3f\xbe\x7f\x7c\xb7\xcc\xbd\xf7\xcc\xdc\x3b\xf7\xde\x73\xee\xb9\xe7\xb6\x73\xb6\x50\xe6\xa5\xd2\x17\xdc\x85\xdc\xf5\xa7\xdf\xd0\xea\xf3\xd7\xad\x29\xd2\x57\x62\x94\x5b\x61\xc8\xea\xe4\x84\x03\x5e\xb0\xd2\x0d\x97\x4b\x13\xa3\x3a\x17\x37\xae\x0a\x77\x5f\x13\x99\xbc\xb4\x3e\x10\x74\xf8\x93\x1b\x66\x49\x93\xc3\xcf\x2c\xad\x5f\x13\xe9\xbe\x2a\x3c\x61\xd1\xde\xd5\xb0\xdb\x12\xe8\x86\xf5\xf0\x74\xdb\xc9\x25\xd5\xeb\xc2\xdc\xd7\x84\xa6\x2d\x3c\xb4\x16\x52\xf0\x9a\x5b\x73\xf3\x81\xea\xc3\xda\xbd\x6d\x19\x89\x4d\x22\x44\xe0\xb0\xd3\xdb\x8f\x07\x1f\xde\xe4\x0e\x5e\x38\x63\x4f\x68\xd5\xe6\xfc\x8d\xee\xcf\x2e\xb6\xd7\xb5\x1c\x28\x3b\xe6\x7e\x16\x76\x94\x9f\x35\x76\xe6\x9e\x73\x57\x36\x36\xee\xea\x99\x03\x9b\xec\x74\xf2\xa3\xe0\xe9\x00\x3f\xc0\x7c\xae\xb8\xb8\xb8\xb8\x04\xff\x05\x67\x93\xda\xc4\xd4\x86\xf8\x86\xe4\xfa\x96\xa3\x6d\xed\x7b\x0f\x43\x94\x65\xbc\xdb\x33\x0c\xa0\xd2\x8b\xc1\x7d\x43\xad\xb6\xa4\xb8\xb0\xac\xc4\xe2\x62\x5e\x16\x7d\x5c\x6c\x6b\xd9\xd3\xbc\xaf\x51\x5a\xdd\x7b\xc7\x2d\xdd\x78\xa6\xb0\x42\xdb\xb4\x37\xaf\xb8\x49\x2c\x2e\x30\x16\x15\x6b\x4a\x2d\xe1\x3d\xb2\x94\x66\xe1\x60\xdd\xa1\xdd\x87\xab\x33\x33\xdd\xa4\x25\xbd\x1f\x5c\x45\x02\x4e\x18\x47\xa5\x95\x54\x64\x55\x6a\x6b\x7f\xea\xaa\x68\x10\x2b\x4a\x4a\x2a\x2a\x35\x75\xa3\x60\x6a\xe2\x1e\x01\xd6\x7d\x0f\xb3\x60\x2c\x10\x58\xcc\x54\x35\x94\xb6\xb4\x6a\x5a\x33\x5b\x92\x1b\x04\xb8\x84\x7a\xfc\x1c\xd6\xe3\x73\xad\xdf\x6b\x59\xc9\xaf\x8b\xe8\x04\x71\x54\x79\x56\x6a\x49\xaa\x36\x6e\xfc\x8a\xd4\x18\x31\x2d\x2b\x33\x35\x45\x13\xf7\x00\xa7\xee\xde\x29\xe0\x82\x19\x38\x16\x5d\x91\xc1\x09\xcc\xf6\x4d\x41\xeb\xdf\xd0\x44\x94\x46\x56\xc7\x08\x9f\x21\x01\x47\x54\x83\xe3\x74\x26\xbf\xb0\x30\xbf\x50\x6b\xbe\xf1\x84\x03\xea\xee\x47\xe0\x0e\x03\x35\x30\x20\x00\x1c\x27\x7c\x2b\x80\xff\x2b\x30\x01\x07\x81\x03\xbe\x82\x76\x38\x1d\xc7\xa0\x07\x2e\x7e\x85\xb1\xd8\x9b\x97\x73\x6d\x4d\x4d\x6d\xe0\x03\x3a\xd4\xa1\x4f\x78\x74\x74\x78\x78\x74\x53\xdb\xa5\xe8\xae\x4d\xc7\x85\xe3\x9b\x56\x34\xe9\xb5\xd6\xb0\x28\xd9\x5f\xe3\xf2\x72\x33\x4b\x29\xa5\x25\x65\x10\x38\x9b\xaf\x00\x27\x39\xc7\xd8\x19\xe0\x25\xf3\xc8\x0b\x37\xc1\x0d\x74\xf7\x1d\x7a\xda\xa5\x59\xdc\xcd\xe4\xee\x1d\x1f\x0b\x5b\xa2\xd6\xc7\xaf\x4d\x67\x9a\x56\x94\x2f\xf3\xd7\xd8\x94\xb3\xfa\x61\x2c\xc6\xe2\x54\xf0\x83\x28\xd8\x09\xd3\x60\x05\xc4\x9c\x3b\x97\x1e\x7b\x46\x28\x3e\x5d\x7d\xaa\xe1\x38\xd3\xb8\x74\x61\xf9\x42\x2d\x5e\xc4\x28\xcc\xc1\x4e\x1c\xdc\x89\x2e\x8f\x06\x89\xe8\xf0\x18\xb8\x00\x18\xa6\x85\xe1\xa0\x3e\x0f\xf6\x8f\xc5\x47\x4f\x3b\xc1\x05\x06\x6b\x70\x1d\x2c\xe5\xc0\x21\x16\xec\x83\x9e\x0a\x45\x21\x86\xe0\x10\x0d\x36\xae\xb0\xf8\xe1\x49\xb4\x17\x72\x1b\x1a\xf3\x1a\xb5\xd5\x05\x14\x84\x82\xee\x09\x6c\x81\x62\x8d\x1e\xbe\xe6\x52\x61\xe8\x3c\xd8\x80\x2e\xdf\xde\x41\xf1\x26\x0e\xbb\x80\xa3\x19\xc8\xc5\x35\xdc\x5f\x9f\xff\xf2\xd3\x51\xb1\xf6\x54\xe9\x9d\x33\x9a\x1f\xa3\x7f\x7a\xe3\x33\x21\xd8\xf7\xb5\x85\xd3\xa2\xf5\x89\x8b\x62\x36\x6c\x62\x82\x82\x23\xfd\x02\x35\x1b\xaa\x36\x37\x85\x08\x20\x1c\x84\x61\x4f\xde\x05\xd7\xbc\x84\x94\xf0\xcc\xa4\x25\x83\x91\xf3\x1e\xb2\x8c\x59\x7f\xea\xd2\xd6\x2b\x5a\xe5\x71\xde\xc5\x00\x5f\x4b\x6b\xbf\xcf\xab\xd8\x73\x0e\x0a\xe0\x8e\xea\xd3\x9e\x76\x29\x83\xc3\x75\x38\x16\x27\xe1\x06\x41\xf5\x33\x6e\xc0\xb1\xf0\x2f\x58\x0f\xeb\xad\x8c\x0c\x36\x9e\x3a\x99\x99\x74\x42\x4c\xda\x99\x16\x96\x1b\xc6\x54\x85\x6e\x2d\x09\xd1\xe2\x38\x54\xa0\x3b\x8e\xc4\x31\x40\xa3\x0b\x8c\x17\x55\x9f\xc2\x38\xa0\xc1\x05\xc6\x1c\xcf\x3a\x9e\x70\x44\xdc\x5f\xb2\xaf\xb2\xad\x86\xa9\x5f\x6d\x0a\x08\xd0\xe0\x3c\x00\xae\x75\x76\xd5\x2b\x33\x34\x38\x73\x0e\x7a\xe2\xb0\xd1\x42\x1a\x9d\x94\x54\x50\x98\x24\x42\xe0\x17\x47\xe0\x22\x2c\xd4\x34\x1b\x5a\xf2\x5a\x04\x83\x3c\xe8\x69\xc0\x93\x65\x0f\xee\xe8\x2f\xe1\x88\xe2\x11\x0c\xfc\xf0\x94\x0b\xcd\x5e\x96\x12\x26\x2c\x8c\x78\xe3\xb5\x59\xda\x75\x9b\x9b\xf7\x6d\x17\x55\xdd\xef\x1e\x84\xe1\x8f\x4a\xbe\x62\x54\x3f\x6f\x1c\xef\x35\x77\x54\x34\x93\xd8\x9c\xbe\x67\x8f\xe6\x97\xeb\x47\x6f\x37\x09\x97\x76\x9f\x39\xd5\x72\x9e\x39\xb2\x72\xf7\xc2\x45\x1a\xb8\x03\x53\xb8\x11\xec\x73\x3d\xad\xfa\x74\x18\xff\x5c\xaf\xc0\x89\xc0\x21\x07\x13\x85\x1e\xbd\x17\x6f\xed\x16\xcf\xf5\xac\x80\x03\x3f\xb2\x3a\xf9\xbf\x25\x37\x6e\xcd\xc0\xf8\xd0\x6c\x21\x2a\xdd\xb8\x3e\x38\x3c\xa2\x6c\xe7\xc0\xc8\x51\xa8\x42\xe5\x8e\x07\x83\x76\x46\xa4\x47\x68\x83\x8c\x27\x5b\xd2\xc5\xd0\xe2\x81\xb5\x6f\xc1\x25\xbe\xa8\xcc\x58\x66\x3a\x83\xce\x19\x57\x34\x7b\x0f\xd4\xb4\x0a\x8d\x75\x89\xcd\xda\xe2\x62\x43\xa1\x51\xcc\x3b\x96\x7b\xec\x98\xa6\xbd\xf0\xec\xee\x03\x02\x90\x4b\x0f\xde\x02\x67\x2d\xd0\x3f\x2f\x1a\x7c\x56\xdc\x1d\x5a\x18\x18\xac\xd9\x9c\xbb\x39\x6f\xb3\x90\x6f\x34\xe6\x1b\x9b\xea\x6a\x9a\xb5\x2d\x87\xe2\x77\x8a\x7e\xe8\x6c\x7a\x53\x93\x6e\xcc\x28\xca\x10\x8e\x4d\xfa\xf4\xf5\x7b\x31\x4c\x75\x6e\x59\x5a\x92\x06\xca\xa1\x98\xf3\x60\x3d\x36\xf2\xbb\x75\xf4\x06\x07\xf3\x8f\x30\x82\xc5\xc0\x3c\x1c\x3e\x6f\x22\xfa\x33\x51\xab\x72\x66\x2c\xd7\xf8\x15\xbf\x6e\x7c\x5d\xc8\x4e\x4b\xcd\x4b\xdd\x14\xda\x16\xaa\x0d\x5e\x13\xb1\x49\x1c\x03\x6f\xd6\x4c\xd2\x24\x66\x25\x65\x25\x09\xab\x07\x8d\x19\xe2\xb1\x36\x3c\x35\x3c\x6b\x47\x16\x13\x97\x93\x96\x1c\xa7\x79\x15\x66\xee\x78\x2b\x53\xd8\xd6\x18\x3f\xf3\x9d\x23\xa7\x76\x9f\xd1\x36\x36\xe6\xe7\x34\x8a\x31\xc0\x9c\xb1\xca\x0b\x5a\x78\xe3\x04\xa8\x1b\x80\x88\xc6\x86\xc6\x82\xc6\xd3\x1d\xc9\x1d\xda\xae\xc4\xee\x03\x0d\xe2\x5b\xa5\x30\x73\xef\x27\x9a\xba\xb4\xaa\x38\xa3\xb0\xa3\x24\xbc\x24\xbc\x02\x65\x67\xc6\x3d\x0e\x7c\xca\x64\x55\x67\x55\xef\xbe\x0b\x6b\xe2\x1e\x6a\x4e\xac\x6a\x09\x11\x82\xc2\x76\x06\x69\xd3\x53\x8b\x8c\x19\xa2\xf1\x6a\xf1\x87\x57\x35\x17\x73\xbe\x88\x3a\x27\xf8\xc2\xbf\x70\xf8\x63\x9c\x9f\xc7\xf4\xe1\xe0\x0d\xd8\x6f\x1d\x05\xf5\x98\xc0\xe4\x90\xc7\x4b\x6e\xdc\xea\x81\xf1\xdb\xb2\x85\xa8\x8c\xa2\xf5\x21\xe1\xe1\xa6\x70\x8f\xbf\x31\x31\x30\x3c\x22\x2d\x5c\x1b\x6c\xc3\xc4\xb6\xe2\x81\xb5\x6f\xc3\x25\xde\x58\x56\x64\xc5\x84\x93\x15\x13\xfb\x6b\x5b\x85\xc6\xfa\x84\x26\x6d\x71\x71\x41\x41\xb1\x98\xdb\x87\x89\xa2\xb3\xbb\x0f\x0a\xc0\x5e\x7a\xf0\xb6\x15\x13\x8a\xfb\x36\x4c\x6c\x2b\x0c\x0c\xd1\x6c\xce\xdb\x94\xfb\x02\x13\xcd\x75\x35\x4d\x7f\x63\xc2\xc9\x8a\x89\xa2\x0c\xa3\x0d\x13\x7e\xf7\x62\xff\xc6\x84\xc9\xbc\xd3\x83\x97\xf6\x43\x3b\x6b\x5b\xe8\x75\x94\x41\x03\x3b\x78\x1d\x7a\xf8\xe3\x22\x4c\x60\x0c\x0a\x5c\x88\x09\x1e\x98\x1b\x1b\xc2\x18\x62\x42\xa6\xe0\x60\xe1\x55\x88\xc4\x0a\x83\x41\x83\xe5\x98\x8a\x73\x2d\x85\x58\x27\x62\x92\x1e\x05\x83\x41\x93\x93\x97\x97\x23\xe6\x17\xe4\xe7\x6b\x9a\x43\xef\x8f\x84\x94\x22\xc6\x08\x07\x21\xe1\x7b\x38\xaa\x85\x95\x60\x9f\x98\x7e\x56\xac\xcf\xa9\x37\x99\x6a\x61\x05\xfc\xea\x56\x56\x9d\x5d\x9b\x54\xc6\x14\xe4\xe6\x16\xe6\x68\x27\x54\x62\x70\x13\x4e\xde\x89\x21\xc1\x73\x03\xb1\xd6\x8b\x31\x04\x44\x0c\x0c\x16\x20\x08\x5c\xee\x77\x19\x34\xe0\x0f\x14\xec\xb8\x08\xe1\xe9\xe7\x7e\x79\x1f\xec\x4e\xee\x3d\xb5\x17\x46\x7f\x7c\xf2\xdb\x93\x77\xeb\x60\x66\xcb\xe9\xd6\x53\x07\xc0\x03\x4e\xc3\x72\x46\x29\x7d\x02\xa2\x9d\xe1\xfd\xf3\xdd\x52\x25\xf0\x52\x55\xf7\xf9\xf7\x1d\x74\xd4\x08\xb3\x9a\x6b\xcb\x6f\xcb\x69\x15\x30\x2d\x09\xa2\x6e\x25\x77\xc6\x9e\x0d\x3f\xe5\x8e\x21\x83\x61\x2e\x4c\x0c\xed\x08\x3a\xb2\xf1\x80\x3b\x4e\xc0\x79\x7f\xc0\xd6\x75\x6d\xab\x1b\x02\xaa\xdc\xa7\x63\x74\x35\xa4\x51\x11\xc6\x88\xc2\xf0\x88\xf0\xbc\xc8\x7e\x9e\x55\x98\x3a\x03\xa2\x02\x92\x57\xc7\xac\x8b\x70\xff\x03\xb7\xe1\x04\x98\xb7\x31\x34\x28\x28\x74\x83\x3b\xcc\xc5\x89\xb8\xf5\xcf\x88\x75\x31\xab\x93\x03\xdc\x21\xda\x07\xd3\xab\xa9\xdc\x88\xbc\x70\x43\xb8\x21\xbc\x30\x22\xa2\xdf\x10\x48\xab\xc6\x28\x9f\xaa\x80\x86\xd5\xad\x6b\xdd\x61\xeb\x9f\x38\x0f\x27\x1c\xd8\x70\x64\x4b\x47\x98\x3b\x8c\x87\x79\x9e\xb8\xed\x54\xf8\xdb\x31\x9d\xc9\xee\xb7\x60\x57\x12\xa6\x53\xad\x39\x6d\x79\xad\x6d\xad\x85\xad\xfd\x3c\x93\x20\xf3\x36\xc6\x76\x56\xbf\x5d\x7f\xaa\xcd\xdd\x13\xb6\xc1\x78\x9c\xd7\x71\xe0\xc8\x91\xfd\x1d\xee\x38\x17\x26\xc0\x56\xcf\xd6\x53\x0d\x6f\x57\x9d\x77\x37\x28\x30\xea\x16\xa4\x26\x51\xc6\xd6\x82\xd6\x36\xcd\x7e\x57\xfc\x12\x77\x63\x0d\x7e\x8e\x5f\x60\x35\xd4\xc0\x97\x70\x0b\xac\xee\x17\xf0\x39\x58\xe1\xb7\x84\x6e\x49\xc5\xf5\x0e\x91\x54\xbd\x43\x2c\x2a\xaa\xb7\x54\x61\x1e\x62\x51\x99\x87\x48\x2a\xaa\x77\x88\xe5\x75\xae\x77\xa5\x34\x8e\x32\x5f\x55\x98\x57\x4a\x63\xcd\x2b\x2d\x63\xa9\xde\xab\x8a\xf7\xcd\xbf\x73\xbd\x26\x49\xdf\x6b\xb2\xe8\xa9\xe7\x6a\x85\xd9\x64\xd1\x9b\x4d\x92\x9e\x52\x7a\xa0\x7b\xb7\x8e\xd2\xdc\xb4\x33\xdc\xd4\x51\x8f\x6f\x3a\xc0\x7d\x1d\xe5\xc5\xe1\x62\x1c\x85\xa3\x71\xb1\xd8\x5b\xa9\xc0\xc5\x30\x0a\x47\xc3\x62\xe1\xcc\x4d\x7a\xeb\xd6\xbc\xd2\x6d\x22\x3a\xb5\x8d\x07\x07\x70\xd1\x98\x2b\x15\x30\x14\xfa\x41\x7f\x18\x2a\x98\x47\xd3\x6d\x37\x29\xf0\x86\xed\x9c\xc5\xe9\x79\x07\x2e\x96\xee\x50\x18\x4b\xc3\xb1\xde\x70\xaa\x2a\xa4\x34\x28\x48\x13\x94\x19\x9c\x1c\x22\x6c\xf6\x9c\xb3\x08\x1d\xe2\x18\x7c\x43\x01\xe7\xca\xc0\x0e\x8a\x7e\x82\x4c\x69\x97\x8e\x52\xba\x41\x8c\xe5\x12\x07\x83\xc7\x83\x1b\xea\xde\x12\x22\xe6\x53\x7f\x6d\xbe\x39\x04\x69\xcd\xf3\xe6\xde\xa9\x8a\x94\xf0\xf8\xa8\x84\x48\xc6\x7c\x84\x56\x36\xa2\xe9\x10\x54\x1f\xfe\x13\x32\x20\xf0\x50\xc6\x21\x29\x12\x46\x9d\x88\xd9\x07\x4e\x2e\x06\xd8\x07\xe9\x87\x60\xe0\x01\x13\x38\xc5\x1c\xca\x3e\x08\x83\x0e\xc2\xa0\xfd\x3f\x1c\x80\x71\xfb\x54\x37\xee\x77\x99\x7f\xd6\xc9\xaf\x72\xed\x51\x1d\x9b\x36\x46\x6f\x08\x0e\x6a\xda\x78\xe2\x78\xf3\x89\x23\x02\x4e\xd6\xf5\x34\x72\x1b\x43\x43\x36\x6e\x0c\x6b\x3f\x2e\x00\xad\x50\xa5\x5d\x4c\x3d\xbe\xff\xf0\x09\xc1\x1a\xeb\xc4\x81\x90\x4d\x22\xd2\x0a\xf0\x75\xdd\x14\x16\x0c\x3b\xd8\xfd\x21\x9b\x04\xa4\x15\xaa\x71\x8c\x0c\x66\xb9\xaa\x18\x59\xea\xc6\xd0\x10\xd8\xc1\x1e\x78\x01\x67\x64\x5d\x30\xcb\x75\x53\x68\xf0\xc6\x8d\xa1\x7d\xe9\x1d\x3f\x70\xf8\xc4\x89\x17\xb7\xa1\xd1\xec\xcb\xa5\x61\xc0\x44\x7c\x03\x47\xa1\x8a\x39\x14\x1f\xdc\xbc\x59\x1b\xbc\x35\x26\x2c\x4e\xdc\x1f\xbb\xb5\x21\x58\x1b\xbc\x55\x62\xf9\xa0\x6d\x12\xcb\x6f\x0a\x89\x0a\x89\x13\x71\x12\xf0\xde\xb0\x0d\x82\x34\xa0\x3b\x0c\xba\xeb\xc0\x0a\x49\xfe\x99\x4b\x97\x68\xf0\x73\x88\xc2\x73\x70\x0f\x32\x60\x13\x8c\x82\x8d\x20\x13\x70\xc4\x3e\x6e\x67\x56\x78\x66\xb8\xb0\x6e\xd1\xcc\x9d\xbe\x5a\x5c\x87\xfd\xe0\x35\x58\xfa\x68\xff\xa3\xae\xaf\xc5\xf8\xf9\xc9\xaf\xce\xd3\xe0\xc8\x4f\xc6\xc2\x84\xce\x73\xa6\xf2\x4e\xa1\x68\x77\x4d\x51\x8d\xb6\xb3\x29\x22\x40\xb4\x2c\x32\x0f\xe5\xfc\xd6\x2e\x98\x37\x6f\xed\x47\x57\x3f\x3c\xfd\xd1\xa7\x9f\x9e\x5e\xf0\xba\x60\x76\xc4\xfb\x1c\xea\x96\xa0\xe8\x35\x4e\x28\xda\x5d\x50\xb3\x5b\xf3\x49\xf0\x89\x79\x71\xf1\xb9\xb9\x71\x42\xda\xea\xd5\xe9\x81\x5a\xf4\x58\xf1\x25\xb8\xff\xd0\xfc\xa8\xf5\x1b\xf1\x8b\x1b\xbf\x75\x3d\xd3\xaa\x9c\x18\x19\xac\x85\xfe\xf8\x1a\x2e\x11\x6d\xf5\x71\x10\xc3\xb8\x9f\xe3\xa1\xff\xac\x6b\x42\xcb\xce\xa0\xd6\x2d\xda\xc8\x5d\x29\x71\x89\x62\x24\x0c\x7e\x1d\x04\xb4\x7f\xc4\x94\x94\x96\x97\x95\x6b\xea\x36\xd6\x27\x16\x0b\xa6\xf2\x23\x87\xab\x34\xc6\xbc\xe2\xdc\x22\xe1\x48\xd0\x8a\xc6\x95\x5a\xfd\x8a\xa8\x0d\x9b\xc5\xa2\x98\x5d\x05\xbb\xb4\xb8\x08\x67\x0e\x43\x4f\xa4\xc4\xe0\x37\x93\xc3\x76\xac\xcd\x4e\x4b\x4e\xcb\x4c\x4f\x8c\x4f\x8a\x4b\x8e\x65\xda\x13\xb7\xd7\x6e\xd1\x62\xc2\x1c\x8b\x2b\xce\x0a\x30\xbe\xde\xb0\x5a\x3c\x39\x14\xfa\x23\xf7\xe5\x0c\x26\x6c\x95\x7f\xc2\x52\x6d\x64\x64\x61\x71\x94\x78\x7a\xd1\xb5\x35\xdd\x31\x21\x29\x41\x99\x41\xf9\xcc\xca\xf7\x3e\xdf\xfe\xa5\xb6\xfb\x93\xd6\x53\x97\xc5\xc5\x47\xf5\x1f\xb5\x1f\x6a\xd8\x5f\x27\x84\xd5\x1f\x8c\x39\xa2\xb5\xf9\xc5\xb0\xfa\x43\x31\xed\x5a\x15\xe5\x24\xb3\x86\xeb\xc5\xb0\x3a\x6b\xf8\xdd\xd3\x9d\x97\x45\xa0\x15\xc6\x02\x70\x3c\x04\xbb\x40\xf5\xd5\xf7\xee\xdf\x3f\x3c\x01\x89\xe0\xa2\x51\x9e\xe3\x1f\xfd\x18\xb2\xe0\x86\x30\xd8\x8b\x3a\xb1\x61\x59\xfd\x32\x2d\xba\x0f\x44\x7b\x74\x43\xb7\x67\x68\x0f\xee\x8f\x7f\x7f\xef\x59\x8d\x88\x61\xe0\x06\xcf\x69\xe3\xae\xc2\x5d\xd1\xa0\xe5\x2f\x71\x1e\x2c\x88\x2c\xcc\x01\x6f\x87\x25\x6c\x8f\x89\x9b\xc8\x87\x8c\xde\x96\xb1\x41\x48\x5d\xbe\x2c\x53\xaf\x9d\xe8\xbd\xbf\xea\x65\xb1\x7c\xc1\x82\xe2\x05\x5a\x54\x20\x13\x17\x8e\x72\xf1\x13\xc5\xdd\x43\x97\xee\xfc\xa4\x81\xfe\xc3\x7f\xc5\xfe\xd8\x7f\xf8\x70\xec\x3f\xfe\xd2\x94\xbb\x5b\x05\x5d\xcf\x3e\xf0\x86\x7b\x8a\xbd\xd0\x0f\x54\x0d\x30\x00\xa6\x82\x6a\x09\x8c\xd0\x82\x03\xf4\x6b\x38\xf8\x97\xb8\xaf\xac\xa1\xf9\x80\x46\x29\xed\xc7\xd9\xa0\x9e\x08\x6a\xa8\x79\xb1\x2e\x67\xb2\xcd\xc1\x3d\x04\xb5\x8b\x01\x38\x70\x01\x4e\xf2\x03\xb5\x39\xc9\x0a\xb2\x05\x55\xa7\x25\xd0\x4b\x6a\x0e\x7e\x67\x75\xd4\xc5\x77\xb9\xd1\xdd\x0b\xd1\x19\x89\x36\x25\xba\xc0\x94\x2e\x16\x6d\x0d\x5b\x1f\xb5\x2b\x78\xeb\xda\xc4\x40\x63\xd4\x0c\xef\xf5\xbe\x6d\xcc\xb6\x6d\x81\x89\x6f\x6a\xbd\x7d\x2e\xbc\xb7\x48\xc4\x4e\x38\x43\x1d\x0e\xde\x98\xb5\x56\x2b\x75\xc0\x58\x85\xea\xac\x04\x13\x60\x02\x75\xf2\xe4\xe5\x96\xf7\xb4\x1f\x7f\x5e\xb1\xed\x8a\x88\x73\x71\xc3\xf4\x71\x06\x74\xfb\x62\xac\xfb\x5f\xa8\x86\x80\x5c\xb0\x07\x67\xc6\xfa\x5e\x67\xf0\xf8\x69\xf4\x97\x83\x6e\x7b\xba\xc3\xc4\xa5\x5c\xd6\x85\xa8\xb3\xa1\x27\x56\x7d\x18\x78\x2d\xe0\xca\x96\xd3\x1b\x4e\x6d\x3e\xdd\x78\x6d\xd2\xd9\x35\x2b\x71\x39\x6e\x77\x5b\xb2\x60\x50\x81\xff\x27\x41\xa7\x0d\x57\x8e\x9e\x86\xcd\x90\xe3\x76\xf2\xc8\xc5\xd6\x77\xb4\x30\x8d\xbe\xfa\xe1\x8e\xc0\x93\x22\x8c\xc7\xf9\x94\x2a\x46\xfa\xd9\x62\xa2\x41\xef\x0a\xbf\xb3\xa0\x97\xba\x83\x58\x04\x1a\xdc\x50\xe1\x03\x4e\xe8\xaf\x55\x9d\x96\x70\x1a\xfd\xda\xeb\x31\x41\x2b\xc4\x23\x2b\x5e\x6f\x78\x4d\x8b\x8e\x34\xce\x9a\x86\x32\x64\x90\x11\x2d\x53\x5e\x66\x7b\xbd\x15\xaa\x18\x69\x02\x0b\x3d\x34\x9c\xc0\x76\x18\x80\xfd\x61\xd1\x54\x98\xf2\xb3\xfb\x8f\x59\x3f\x9e\xbc\x74\xfd\xb3\x9a\x8f\xce\x9e\xfa\xf0\x7e\xd5\xed\x77\x8f\x7c\xcf\x48\xf3\x68\xd5\x59\xc9\x9b\x57\xc2\x62\x16\x36\xea\xa8\x0d\xb0\xd1\x21\x81\xef\xa1\x39\x53\x8e\x29\xb3\x44\x18\x74\x3f\xbf\xc2\x52\x2f\x39\x33\x67\x16\xa2\xfc\xf1\x64\xed\x64\x74\x18\xba\xe6\x75\xd1\x52\x6f\x71\xce\x4f\x1d\x34\x96\xc9\xcc\xca\x49\x4f\xd7\x3c\xdf\x72\x91\xb5\x7c\x20\xf1\xdc\xf2\x99\xe8\x82\x0a\x74\xd3\xe2\x4b\x38\x00\xa8\x77\xa6\x8b\x38\x0e\x28\xb4\xbb\x3d\xed\xfd\xa4\xf2\xdc\x86\x8a\xea\x63\x17\xdc\x2a\xaa\x1b\x8a\xaa\x53\x6f\x2f\x05\x99\x0f\x8c\x43\x8a\x79\xf3\x0a\xc8\x87\x7e\xa3\xfd\x06\xe4\xbf\x9f\xb9\x22\xc2\x38\x90\x83\xec\xab\xdb\xef\x56\x57\x34\xe4\x56\x24\x1d\x7b\xc3\xad\x22\x29\x37\x26\x29\x6d\xda\x62\xb4\xf3\x41\xeb\xf3\x36\x55\x18\x26\x50\x67\xb3\xb6\x15\xc4\x4b\x66\x07\x2e\xb5\x3a\xa6\x28\x29\xf5\xd5\xe5\xc3\x7d\x71\x28\x52\xcc\xe6\x80\x61\x63\xe6\x6a\x0d\xf9\x06\x83\x21\xdf\xd0\x6f\xd0\xdc\x61\x3f\x1f\x0b\x10\x71\x10\xd8\x8d\xfc\xec\xd5\xae\xa4\xca\x5d\xb9\xa9\x89\x5b\xde\x70\x4b\x4d\x2a\x8a\xad\x4e\xfd\xf5\x15\x88\xc0\x57\x2a\xd2\x99\xa5\x37\x1e\xfa\xfc\xa9\x35\x14\x18\x0c\x42\x01\xfd\x67\xfe\xc3\xaf\x6e\xbc\x5b\x5e\x06\xf1\x30\xf7\xf7\x5b\x55\x15\x45\xf5\xa9\xd5\x0c\x8c\xec\x1d\x57\xc3\xeb\x7a\x7c\x53\xd9\x1e\x6f\xc5\xef\x3f\x27\x66\x48\x1b\xa1\x87\x39\xde\xf9\xdb\x2f\xd7\x6d\x11\x0d\x05\x86\x7e\x83\xae\xff\x36\x7a\x53\xa7\x28\x6d\xc4\x9e\xc4\xb2\xdf\xc7\x30\xcf\xbd\x6d\x3a\xdc\xb8\x23\x89\x87\xc3\x5b\x04\x5c\x0d\x8b\xd0\x08\x73\xd1\x0d\xec\x98\x77\xe7\x8e\xf8\x6a\xb0\xd6\x96\x49\x6b\x36\x07\x8f\x98\xb6\x74\xae\x88\x83\xd0\x11\x53\x71\x0a\xae\x47\x7f\x26\x3c\x32\x31\x24\x48\xf3\xdc\x1b\x4a\xf8\xea\x5d\x2e\xe6\xc6\x03\x59\xd5\xc5\x6d\xdf\x37\xdd\x6d\x00\xc7\x2a\xd5\xc7\xf0\x4d\x01\x17\x08\x29\x10\x8a\x21\x87\x31\x95\x6a\x49\xe1\xb6\x40\x01\x74\xc1\xb6\x0a\xcc\xa3\x2c\x77\xa4\xc9\xdc\x02\xb8\x01\x79\xb8\xee\x2c\x7e\x45\x35\xa7\x72\xab\xe0\x1e\x3c\x85\xd5\xd5\xf8\x25\x75\x00\xa3\x39\x55\x63\x65\xd1\x27\x69\x65\xc2\xbf\xae\xdf\xba\x40\x95\x95\xe4\x54\x97\x69\x54\x5d\x7f\xf8\x14\x62\x06\xd5\xdb\x61\xee\xe6\xc6\x49\xaf\xc1\x41\x9c\xf9\x89\x65\x33\x65\x6e\xb0\x6c\xe4\x30\x04\x67\xe4\x41\x26\xc4\xc3\x64\xaa\xb7\x12\xc2\xb9\x79\x52\xa8\x34\x0d\x26\xd5\x5b\x16\x52\x52\x94\xe5\x1d\x6e\xfe\xdb\xa5\x40\x0a\x8a\xf2\x8c\xb9\x85\xee\xe8\xf9\xa0\xf0\x29\xec\xc2\x41\x14\xbc\x32\x9a\xc3\xe9\xa8\x69\x80\x58\x78\x15\xd4\x14\x6e\xb7\xb8\x73\xc6\xdc\x62\x83\xb1\x08\x96\xc1\x68\xb7\xc2\x82\xc2\xa2\x22\x4d\x51\xf3\x21\x88\xce\x2b\xcd\x2f\xca\x2b\xcc\x2b\xc4\x3c\xd0\xba\xa9\xea\x73\x0b\x73\x0c\x39\x79\xb8\x01\x5d\xdc\x72\xf3\xf2\x72\x72\x35\xb9\x68\x3f\xe9\x9d\xdc\xc2\x6c\x43\x6e\x9e\x3b\xf6\x9f\x99\x0d\x03\x28\xeb\xdb\x0a\x04\x74\xf9\x16\xd8\x0f\x28\x63\x61\xa1\xd1\xa8\x89\x91\x36\x52\x45\xb9\xc6\xdc\x42\x01\xaf\xc3\x68\xaa\x20\x37\xd7\x90\xa7\xb5\xcc\x45\x6d\x76\x5e\x6e\x76\x41\x96\xfb\x43\xcb\x96\xa2\x14\x60\x26\xd5\xa4\xb8\xab\x1a\x47\xbf\x99\x9d\x9b\x97\x5d\x90\xe3\x7e\x13\xff\x2c\x4c\xfb\x7a\x4e\x65\xaa\xbb\xaa\x6b\xd1\x96\x5c\xeb\xa3\x39\xee\xc5\x11\xe7\xd0\x50\x9c\x0d\xb1\x98\xed\x56\x98\x57\x64\x28\xca\x67\x0a\x0b\x0b\x0a\x0a\x45\x78\x0b\x92\xa9\xa2\xc2\x82\xa2\x22\x4d\x26\xbc\xfc\xeb\x64\x63\x6e\x89\xc1\x58\xe4\x0e\xc9\xb0\xf8\x05\xb8\x0c\x1c\x29\xa5\xc7\xdf\xea\x29\xd1\xef\x2c\xd4\xd8\x76\x7e\xfc\xa0\xda\xa7\x93\x1f\x83\xf3\xdc\xb0\xd7\xe6\x4c\x13\x2c\xdd\xf4\xb4\xd7\x6e\xfc\x06\x73\x4f\x41\x00\xcc\x13\xb7\x5d\xfa\x5c\x7f\x47\x7b\xe7\xf3\x4b\x07\x2f\x89\x30\xef\x14\x06\xe0\x5c\x11\x67\x4a\xf7\x38\x1c\x8c\x8e\xc8\xe0\x60\xab\x0b\x0c\x0c\x06\x4f\xe8\x73\x07\x83\x15\xee\x29\x98\x9d\x2c\x47\xfd\x79\x2b\x97\x9c\xc4\x83\x7e\x19\x3f\x92\x56\x7d\x09\x6a\x58\xc1\x82\x5e\x51\x97\x54\x1d\xf7\x0d\x5f\x57\x5d\x5d\x27\x2a\x3d\x72\xd9\x17\x9b\xe4\xed\x5e\x98\x20\x72\xe8\xa9\xea\x71\xe2\xc0\xd3\x9a\x70\xdf\x0b\xac\x09\xa2\x2d\xe1\xbe\x17\x58\x5f\x24\x04\xe2\x4e\x6e\xd3\x82\xf9\x81\x3e\x5a\x9f\xf9\x67\x8f\x2f\x10\xb3\x69\x5c\x14\x86\x49\x38\x70\x52\xd7\xcb\xf7\x45\xa9\x9b\xbe\xdf\xf5\xdd\x5d\x18\x1a\x06\x31\xb8\x4c\x34\xfb\x82\x89\x03\xbd\xa2\x36\x71\x77\xfc\x37\x3c\xbc\xc6\x5a\x33\x46\xbf\x70\x23\x58\x34\x3d\x37\xd5\xf0\x3a\xf4\x4d\x65\x75\x54\x57\x37\xab\x93\x77\xc1\xab\xbc\xcd\x50\xbf\xc9\x5a\x5f\x35\x27\xaf\xdb\x2a\xce\x24\x39\xb1\x10\xcb\x4a\x76\xbc\xea\x6e\x8f\x49\x1a\xce\x79\xfb\x2f\x9c\x23\x58\x4c\xf4\x1c\xff\x2b\xdf\xc3\xd8\x63\xe0\x0b\x13\xc4\x1d\xe7\x3e\x0a\xec\xd6\x76\x7f\x74\x76\xef\x39\x11\x26\x1c\x43\x5f\x1c\x2b\xe2\x78\xa9\x96\x53\x79\xa2\xcb\x10\x2f\x74\x46\xe7\x21\x8f\xc1\x05\x9c\x9f\x3c\x01\x67\x41\x75\x17\x9c\x9f\x0c\x41\x67\xb1\x67\xbc\xa5\xc4\xb6\x15\x6e\x3f\x2b\x75\xfb\xb3\x7e\x0a\xa8\x92\xc7\x24\x24\xc4\x08\x96\x6b\x74\x4c\x42\x4d\x83\xf8\x8e\xa2\xa1\xa6\xa6\x41\x90\xae\xd1\x0d\x35\x09\x31\xe2\x32\x05\x14\xcb\x55\x53\xfb\x36\xcf\xa9\xee\x46\xff\x1d\xcb\x04\xdd\xdc\x4a\x56\x67\xf6\x0d\x65\xe1\xe9\x43\x7a\x26\x3f\xd2\x6c\x7a\xf8\x0a\x3b\x12\x9e\x2a\x36\xb2\x2f\x0e\x29\x4a\x6a\xf8\x9e\xef\xab\xf1\x15\xbc\xd9\x04\x31\xac\xad\x34\x30\x76\x33\xf8\xe2\x04\x61\xc7\xaa\x05\x81\xb3\xb4\xb3\x16\x9c\xdd\xbb\x4a\xc4\x09\x9b\xad\x25\xf0\xbe\xbc\xf0\x86\x28\x99\xe8\x1b\x97\xaf\x7c\xdf\x57\x1a\x70\x1e\xf2\xc4\x56\x96\x21\xe8\x8c\x2e\x4f\xbc\xc0\x19\x9c\x9f\x3c\x06\x17\xa1\x67\xbc\x65\x29\x78\xb0\xf0\xa9\xbc\x21\xa1\xe6\x45\xf6\x6d\xf9\xb5\x19\x31\xb4\x65\xbf\xa6\x41\x84\x4f\xe5\x43\x59\x4b\xf7\x78\x56\xea\x86\x1b\xec\x73\x75\x0d\x8f\x4f\x1f\xc2\x42\x7e\x64\xaf\xe9\x21\xbc\xce\x8e\xc4\xa7\x8a\x16\x2b\x1e\xba\x59\x1d\x6d\x45\x86\x0e\x7d\x15\xa0\xd6\xc9\xbb\xfe\x2e\x9c\x8e\xee\xfa\x90\x05\x6f\x56\xea\x78\x68\x36\x81\x29\x97\xd7\x51\x7f\x42\x00\x87\x2b\x51\xc4\x38\xe4\xb0\x52\x8b\x95\x18\x07\x1c\xac\x44\x51\x6c\x83\xc5\x5f\xc0\x54\x98\xd1\xcc\x8c\xfc\x01\x54\x8b\xc0\x43\x0b\x1e\xa0\xfa\xe0\xe1\x0f\x22\xcc\x88\xfa\x02\xa7\xb6\xe1\x62\x06\x73\xcc\x8b\xb9\x14\x56\x32\xa1\x89\x33\xb2\xff\xd9\x40\x9d\x2e\x0d\xb1\x78\x49\x19\x52\xa6\xe4\x29\x0d\x95\xd2\x04\x65\xa3\x8e\x4a\x85\x0d\x7c\x8f\x1a\x1a\xfe\xd7\x53\x69\x92\xa7\x65\xa8\x94\x29\x65\x49\x83\xa5\x61\x52\xaa\x91\x15\xa5\x7f\xeb\x7a\xde\xe2\xe0\xd5\x20\x6f\x18\x86\x7e\x5a\xa8\x61\xd1\xcf\x1b\x87\xe1\xab\x41\xe2\x18\x50\x2f\x83\xf1\x30\x43\x03\x4b\xf8\xbf\x77\x6c\xe0\x8c\x65\x38\x7e\x0c\xaa\x05\x4c\x31\x6b\xb9\x14\x56\xd9\xa7\xb6\xca\x74\x81\x85\xdb\xac\x83\x4e\x7e\xcc\x9c\xc9\x75\xde\xde\xf7\xf3\xef\x1a\x68\xc7\x78\x88\xc7\xf6\x0f\xf9\xa1\xfb\xc6\x74\xfa\x08\x38\x70\x03\xae\x40\xd1\x12\xa8\xc1\x0d\x30\x1a\xa7\xc1\x12\xc1\xfc\x80\x86\x25\x30\x1a\xa6\xc1\x06\x29\x10\x57\x80\x88\x03\x3b\x44\xcb\x5c\xb3\x27\x27\xa9\x79\xf4\x3d\xca\x63\x30\x3c\xe2\x21\x18\x1c\x58\xe9\x15\x5d\x8f\x8c\xeb\x7d\x40\xa3\xe3\x48\xb0\x03\x1d\x7c\xf2\x0c\x02\x60\x55\xb9\xe8\xf3\x13\x38\x06\xf6\x9d\x3c\x74\x3c\x7b\xfb\x27\x11\x56\xa5\x3d\xc3\x00\xfc\x44\x83\xba\x91\x68\x87\x8e\x82\xd2\x92\x92\xcb\xc2\x26\x9b\x12\x59\x87\x1e\x13\x1c\xe0\x60\xdc\x26\x98\x89\xe3\x85\x35\xab\x16\x6c\xb7\xd2\xcf\xbe\xb7\x56\x89\x38\x7e\x13\xce\xc4\x71\x2f\x5f\xf6\x7b\x41\x3f\x57\xbf\x13\x71\x8c\x54\xc3\x81\xb3\xe7\x13\x54\xa1\xca\xd3\x46\x3f\x7f\x78\x81\x0a\x54\x7f\x58\xe9\x07\xda\x9f\x3b\xd7\xf0\xcf\xf5\xd6\xb6\xb8\xae\xc7\xa4\xeb\x69\xb4\x22\xde\xa6\x6d\x12\x9f\x8e\xa4\xe1\x3a\xff\x10\x9f\x2a\x96\xb1\xba\x1e\xdf\x20\xbe\x47\xff\x21\x6b\xa3\xe9\x6e\xd0\x83\xfa\xe0\xc1\xab\xa0\xbe\x65\x3b\x79\x63\x36\xc1\x13\xb6\x47\x0d\x5f\x72\xb3\x02\x97\x2c\x11\x2c\x33\xe8\x25\x81\xef\x75\x83\xdb\x41\x18\x05\x6e\xe2\xc6\x13\x97\x22\x3f\xd0\x7e\x70\xa9\xe5\xc4\x09\x11\xdc\x0e\xe2\x28\x74\x13\x51\x2d\x2d\xe1\xe0\x4b\xf6\x21\x2f\xf4\x98\x2c\x51\x5c\x05\xeb\xa7\xb0\xa8\xc1\xc4\x4d\x65\xb1\x9b\x8e\x4b\xaa\xae\x13\xaf\x6e\x65\xfd\x14\x92\xda\x35\x2e\x29\x29\x4e\x40\xfd\x0b\x20\x5c\xb0\xb5\x3b\xb9\x35\x82\xce\x9c\x0a\x4f\xb9\x87\x81\xbc\x8e\xee\xf2\x67\x47\x2a\x40\xfd\xf0\x9f\x04\x6b\xcd\xeb\x14\x9b\xc6\x64\x6b\x2e\xa3\xac\xbe\x72\xde\x96\x4f\x70\xdb\x06\xa3\xd0\x4d\xd8\xb8\x51\x1f\xb9\x48\xbb\x48\xdf\x72\x62\xa3\x88\x6e\xdb\xac\x79\x9b\x75\x76\xc9\x7b\xa2\x34\x83\x7e\xef\xec\x7b\xdd\xb6\x7c\x6e\xe7\x7b\x4c\x16\x6f\x7f\xbe\x57\x3f\x9e\x35\xeb\x27\xf1\x16\x35\x74\x73\x56\xb6\x2a\x60\xf7\x78\x16\xf4\xac\xa4\xbe\x0a\x93\x59\xbf\xdf\x59\xe8\x96\x0f\x65\xfb\x1e\x83\x1b\x6c\xaf\x95\xcd\x99\xad\xf2\xc2\xd3\x04\xfe\xf9\xd3\xff\x43\x8b\x6a\x44\x13\x14\xed\x80\x71\x28\xdb\x25\x69\xc1\xd7\x7c\x0d\xc6\xb9\xec\xd3\xd1\xef\xa9\x7c\x74\xf2\xfb\xe6\x34\x0e\xa7\x45\xa3\xf6\xcd\xa1\x82\x6a\x35\x38\x4e\x1f\x71\x1f\x97\x69\x55\x3e\xa8\x1c\xb5\x71\xe5\x12\xf1\xdc\x08\x4a\x55\x5b\xd9\xba\xc7\xb8\x47\x0b\x83\xba\x71\x00\x2a\xaf\x88\x06\x45\xca\xc6\x75\xd9\x81\x5a\xec\x42\x57\x08\x96\x26\x8a\xaa\xd5\xd2\xcb\xe0\x0a\x5b\xa1\x0b\xde\x05\x57\xdc\x6a\x79\x59\x50\xf9\x48\x9a\xde\x7e\xdc\xf2\xac\xa0\x79\xe3\xb5\x53\x96\x5c\xfe\xce\x5f\x54\xd5\xc2\x5c\xe0\x41\x09\x21\xb0\x5b\x23\x6d\xb5\xbc\x04\xd7\x2d\x23\x2d\x83\x2d\x3a\xbc\x69\x09\xb6\x6c\x92\xb4\x78\x53\xf2\xbc\x7e\xdd\x54\x77\x4d\x30\x28\x50\x73\xfb\x4f\x54\xc0\x2a\x2d\x7c\x75\x04\x2e\xde\xcc\x14\x95\xd2\xfe\x60\x70\xd3\xc9\x7f\x8a\xb1\x33\x80\x93\x79\x04\xf8\x41\x0d\x38\xde\x85\x61\xd2\x2f\xe0\xe2\x20\x05\x78\x71\x87\x57\x9d\xd9\xd5\x2c\xac\xb8\xf8\xe6\xc5\xcd\xd7\x98\xf1\x30\x66\x2b\x78\xc3\x5c\x0d\x4c\x39\x0c\x83\xbe\x85\x41\x42\xc7\xa7\xe7\xdf\xbd\x74\x99\xa9\xaf\x3f\xdd\xb1\x5f\xd3\x16\xde\x10\xb1\x74\x38\x52\xeb\xb6\x0a\x38\x18\xfd\xe6\x62\x20\x26\x6a\xb0\xf0\x53\x8c\x87\x71\x18\x20\x1c\x5e\x77\x73\xd2\x3b\xc9\x8c\x41\x91\x6f\x2c\xce\x33\x6a\xf7\xb6\xb6\xed\x15\x75\xd4\x2b\xa0\x09\x62\x9f\x7f\x44\x6f\x8a\x08\xdd\x32\x86\x17\x7b\x3e\xa2\x8f\xb7\x1e\x38\x2a\xe2\x36\x09\x38\x10\x83\x7e\x1f\xf1\x87\x50\x9b\xf0\x46\x57\x84\x36\x2b\x27\x37\x53\x8c\x38\xb1\xea\x4d\x4d\x58\xcc\xae\xd0\xc0\x94\xa7\x87\xb2\x84\x48\xf0\xd8\xfe\x18\xc5\x8f\x98\x9a\xad\x1b\xaa\x82\xb4\x29\xdb\x73\xe3\xd3\x2a\x32\xcb\x72\xc4\xba\xd4\x3d\xc1\x15\x71\x4c\x7d\x68\x49\xf8\x16\x5c\x86\x19\x38\x0b\x03\x35\xe8\x03\x8e\xa8\x81\x31\xcb\x04\x83\x22\xaf\xb8\x39\xbd\x58\x6b\x32\x15\x57\x54\xa4\x17\xa4\x17\x89\xc1\xd5\x51\x75\xbb\x0e\x30\x21\x9d\x19\x9d\xef\x83\x3b\xf8\xb5\x80\xfb\xf9\x6d\xbb\xab\x35\xa6\x22\x83\xe9\xd0\x5b\xfa\x9d\xd5\x82\x29\xb6\x20\x6b\xd7\xf6\xdc\xb0\xed\x9a\x75\xf5\x5b\xdf\xde\x73\xbc\xe6\xa0\xd0\x9a\xd8\xdc\xa2\x29\x32\x14\x16\x55\xb7\x6e\x4b\x2b\x15\x5a\xb6\x54\xac\x5a\x8b\x1a\x54\xce\xdb\xae\x49\xdf\x9d\x5e\x66\x2a\x2f\x2e\x2e\x13\xba\xf6\x7c\xfc\xe1\xa1\x73\xcc\xd9\x1b\xf5\xb7\xee\x6a\xcc\x41\xdb\xb9\xc6\xfc\xa6\xfc\x46\x21\x11\x22\xfc\x61\x21\x6a\x60\x3e\xf3\x76\xf0\x28\x50\x2e\xd0\x46\x84\xef\x8c\x08\xea\x7c\xb3\x39\x52\xbc\x31\xf3\xed\x85\x67\xc6\x32\xdd\x38\xbc\x01\xdd\x71\xb2\x06\x03\x97\xe0\x1c\x74\xc2\x71\xc2\xf6\x2d\xe8\x88\x76\x21\x9a\x5d\xad\xe1\x8d\xf7\x40\x80\x95\xd7\x4f\x0a\xf7\x60\xe4\xdb\x30\x07\xe6\x68\x94\xa7\x58\x9d\xbc\x0d\xe2\xb8\xd4\x55\xdb\x53\x36\x34\x63\x14\x4c\x71\x43\xd9\x60\x2a\x25\x25\x2d\x2d\x4a\x5b\x03\xb1\x14\xdc\x62\xa5\x89\x12\xa9\xab\x89\x36\x45\x26\xb8\x5b\xca\xf1\x0b\x0c\xff\x34\x70\x77\xfe\xa1\xf7\x9a\xdd\xcd\x4f\xe1\xbb\x13\xbb\xdb\x23\x93\x17\xb9\x4b\xab\xb1\xfd\xc5\x11\x87\xf9\x7c\x8f\x88\xea\xe7\xe2\x20\x76\x3e\x6f\x16\x51\xdd\x6b\xf3\x49\x22\xaa\x2d\x36\x1f\x88\xa8\x46\x71\x10\xdb\x9b\x02\xe3\x59\xb3\xfa\x08\x6b\xeb\x29\x0d\xa0\xf6\x03\xbd\xaa\xb7\xd1\xac\x06\x3d\xf7\xe7\xbf\x7e\xf0\xf0\xf8\x97\xf7\xa0\x4b\x2c\xa8\x5d\x71\x2e\x0e\x96\xec\x79\x9c\x2b\xa9\x59\x98\xfb\xb4\xf3\xfe\xad\xf7\x04\xb3\x49\xf1\x90\x17\x7a\x4d\x8a\x5b\x4b\x3a\xc7\x0e\xd2\xa8\xd2\x7d\x41\xed\xaa\xa2\x52\x41\xb9\x0a\xec\x7d\xbe\x16\xcc\x81\x0a\x2b\xcc\x1a\x05\xe7\xbe\x48\x40\xe8\x0d\x54\xf8\x4c\x5d\x85\xf6\xa8\xec\xe2\x55\x54\xaa\xcd\xd0\x9c\x08\xbd\x3c\xea\x69\x55\xba\x0c\xd5\xa0\x57\x48\x6a\x39\xea\x51\x4d\x5b\x23\xeb\xe9\xff\x84\x62\x3d\x40\x4f\x2b\x61\x38\xa8\x7f\xe3\x5f\xc8\x2a\x66\xd3\x6f\xbc\xea\x60\xb9\x8e\xaa\xd6\x51\x0a\x6e\xca\x1d\xa0\x59\xf7\xb5\x6b\xd1\xfe\x7b\xf4\xaa\x47\x97\x95\xee\x0f\xc7\xa0\xeb\xfb\xe8\xa9\x85\x03\xac\x0e\x65\x60\xca\xe3\x15\x7e\xfc\x27\x57\x76\xae\x7d\x4b\x98\x89\xee\x95\x38\xed\x11\x2a\xd7\xae\x75\xbb\xc7\xdf\x99\xe2\x56\x95\xdc\x60\xa8\xaa\x32\xd3\x66\xda\xed\x09\xcf\x4c\xc0\x1a\x6e\x21\x0f\x26\x54\x73\xbe\x7c\xfb\xf6\x7d\xc1\x69\xb6\x21\x10\xb7\x90\x57\xc9\x47\xf4\xaa\xcf\xb1\xa0\xf7\xe3\x40\xce\x83\x03\x0f\xdd\x57\xad\x60\x46\x6f\x03\xff\x9f\x62\x38\x0d\xb3\xa8\xd1\xf4\xbf\x81\x3d\x96\x58\x6c\x31\x5c\x17\xf2\x2a\x5f\x0f\x54\x9f\x63\x55\xa9\xbe\x56\x47\xd9\x28\x99\x20\x84\x85\xab\x3c\xa8\xe1\x07\xde\xea\x76\x83\x5a\x95\xea\xeb\x71\x82\x97\xf4\x9c\xae\x47\x86\x7a\x1a\xe9\x4e\xaf\x5b\x73\x04\x5c\xa4\x88\xae\x8e\x83\xcd\x7c\x5d\x93\xa8\x4a\xf5\xf0\x00\x7b\x45\xd2\x89\x53\x19\x67\xb4\x66\x13\x7d\xe6\x54\x59\xf5\x09\x11\x59\x85\xaa\xeb\x53\x59\x06\x0b\x2b\x14\xb7\x6e\x74\x3e\x06\x5a\xa3\xf2\x60\x64\xcf\xf5\xd2\xd3\x24\x5e\xe5\xa4\x96\x5d\xfd\x93\x55\x31\x8c\x0c\x42\x79\x95\xdc\x49\x06\x6a\xd7\xad\xbc\x8a\xb1\xef\x0b\xcb\x6d\x8e\x3d\x23\xeb\xe9\xb6\x98\xfc\x79\x5d\x8f\x47\x9f\xc2\x3b\x41\x25\xb7\x93\x1d\x3e\x90\x1c\xdd\x2c\x6e\x99\x5f\x32\xe9\xec\xa2\xe8\x68\xb7\xac\x2c\x43\x5a\x49\xd6\xc9\xf5\x6e\x25\x59\xe5\x86\x92\x12\xf8\x18\x3e\x76\x2b\x29\x31\x94\x67\x95\xac\x3f\xe9\x96\x55\x92\x66\xc8\xca\x62\x54\xf6\xf6\xb2\xe8\x68\xfd\xa9\x99\xa6\x85\x11\xee\x67\x57\xbf\xb6\x7f\xb6\x16\x0e\xf2\xbd\x6a\x85\xca\x4e\x2e\x1b\x39\xde\xca\xa3\x27\xf1\xcf\xd5\x92\xc9\xc6\xed\xad\xfd\x50\x5c\x75\x52\x9d\x55\x94\x16\xfc\xae\xfe\x07\x76\x86\x17\x54\xf6\xb2\xd4\x33\xfc\x48\x76\x14\x2b\xa8\xec\xec\x7c\x6d\xb9\x56\x82\xc8\x16\x80\x0a\x5c\xc1\xd5\x5c\x0a\x6a\x70\xb1\x76\xdc\xbb\xe0\x11\x07\x5a\xb4\x3b\x84\x0a\x54\xa0\xdd\x56\xd4\x2e\x28\x5d\x50\xfe\x9a\xb0\x7b\xf0\x6e\x8f\xd6\x21\xcc\xac\xba\x4f\xe2\x3f\xd2\x7e\xf4\x49\x6d\x77\x9d\xd8\xfa\x64\xf7\x5f\xbb\xff\x64\xca\xaf\x95\x7e\xf4\x91\x46\x3a\x2e\xf9\x70\xd2\xeb\x16\x05\xfc\x65\xf1\xdf\x21\x58\x5e\x8a\xc4\x6b\x78\x3d\xd6\xf2\x52\x3c\xfe\x02\x1b\xf1\x1c\x74\x22\x53\x91\x5d\x55\x9e\x57\x99\xd3\x94\xdb\x94\xd3\x92\x57\x93\xb7\x3b\xaf\x3a\xbf\x38\xb7\x38\xbb\x10\x37\xff\x89\x43\x60\x5b\x1e\x14\x32\x79\x70\x0f\x9a\xa0\x03\xee\xd5\x31\x12\xd5\x00\xef\xe1\xdb\x16\x3b\x0d\x16\xa2\x27\x86\xe2\xa6\x81\x42\x76\x5e\x6e\x4e\x7e\x56\x5e\x62\x5e\x42\x5e\x42\x4e\x54\x6e\x74\xee\xae\xbc\x94\xca\xb4\x0a\x23\x03\x47\x81\x82\xd5\xb0\x1f\xbe\xd4\x58\x8e\x1f\x4c\x64\xa1\x63\x1b\x07\xa7\x31\x07\x92\xf1\xed\x24\x01\xeb\x52\x30\x14\x23\xb2\xb0\x3e\x17\x67\xdc\xc6\x91\xe0\x34\xb2\x3c\xa3\xba\xb4\xb0\xb2\x68\x5f\xd9\xa1\xba\x03\xc6\x92\xfc\xb2\xac\x92\x7f\xdd\x0a\x00\xa6\x0a\x5c\x6a\x61\x1e\x78\x82\x17\xcc\x6d\x60\x20\xa1\x15\x02\x70\x01\xee\xd2\xa0\x3c\x70\xe8\x2b\x73\x85\xac\xac\xfc\x0c\x63\x56\x5d\x68\xd9\xd6\xa2\x1d\x85\xc9\xd5\x99\xe5\x65\x0c\xf4\xff\xf9\x36\x0c\x83\x29\x1a\x65\x23\xaa\x8f\xb1\x79\xbc\xcd\xf6\x16\xa8\x39\xb3\x29\x8f\xef\x35\x29\xc0\xd4\xf3\xf4\x30\xdf\x88\x6a\xc9\x04\xe3\x78\x88\xb2\x76\xaf\x3d\xbe\x6b\x58\xd4\x43\x09\x0f\xfb\x25\x67\x5b\xeb\x34\xbf\x18\x4d\xdc\x61\xad\x63\x8c\x3b\xac\xea\x2f\x30\xb9\x4a\x26\xb3\x49\xa1\xea\xb1\x58\x13\x91\x4c\x1c\x3c\x05\x91\x1f\x69\x7d\xb6\xd7\x44\x83\xc9\xfc\x94\x5b\xc9\x3e\xd7\xaf\x61\xf1\xa9\xe5\xa9\x42\xf5\xd7\x32\x9b\x0e\x91\x1e\xfd\x2a\x16\x9e\x4a\x36\xe9\xbe\x11\xd5\xf0\x9d\xb9\x07\xbe\xcb\xe5\x75\xf2\x4a\xd8\xc6\x25\x27\xc7\x18\x92\xab\x30\x09\x92\xdc\x30\x09\x93\xfa\x82\xee\xe8\x05\x5e\xc9\x55\x86\x86\xaa\x2a\x77\x48\x82\x24\xeb\xed\xbf\x83\x5e\xe0\x55\x55\xd5\x60\xa8\x4a\x76\xef\x83\x43\xd2\xdf\x41\x2f\xf4\xaa\x4a\x36\xc4\x24\x27\xbb\xa3\xed\x0e\x26\xbd\x08\x4a\xdb\x7a\xc8\x61\xbe\x11\x6e\x5b\xe5\x2e\x93\xad\x3a\x74\xf2\x5f\xa4\xe9\xdc\x13\x1e\xa7\xc3\x74\x37\x98\x0e\xd3\x9f\xf0\xb6\x97\x5a\xf9\x0f\x4e\xb7\x7e\x61\xba\xcd\xef\x85\x5e\xf7\x78\x77\x98\xde\x07\xb4\x7a\xbd\xd0\xeb\x19\x6f\x8d\x62\x05\x3e\xe3\xad\x19\xa2\x9e\x27\x61\x27\xd7\x63\xca\xe3\x9f\xff\x5d\xbb\xa7\xd8\x9e\x4b\xd0\xc3\xf5\x0e\xa2\xe1\x3d\xe9\x03\xca\x3c\x88\x96\xbc\xff\xc3\xdc\x9b\xd1\x04\x6b\xcd\x49\x30\x01\xc7\xd6\x3c\xe8\x2a\xba\xb8\x01\xa8\x6f\xe0\xa5\x8b\x87\xae\xc7\xbc\x07\x82\x8b\xf4\xfd\x1e\xa0\x3f\xb8\x7c\xb1\xa8\x6b\x2d\x8c\x1f\x71\xac\x19\x96\xdd\x7d\x57\xb5\xd7\xec\xab\xa3\x48\xcf\x19\xee\xfd\xf9\x13\x22\x77\x1e\xda\x71\xe8\xc2\x07\x07\x83\x18\x8b\x07\xe6\x73\xe5\xe5\x86\xda\xb4\x72\x46\x45\xcb\x52\x53\x2b\xe2\x0d\x69\xa9\xa9\x69\x86\xf8\x8a\xb4\xf2\xd4\x5a\x43\x45\x05\x03\x53\x66\x72\x35\x35\x86\x3d\x09\x35\x9b\x8f\xbb\xc5\xd7\xec\x34\x24\x24\x04\x07\xbb\x25\xc4\x1b\xc2\x6b\xe2\x19\x6b\xb2\xc7\x36\xd7\xc6\xef\x31\xd4\xd4\xba\xb7\xb7\x53\x68\x07\xae\x5c\x45\x85\xa1\x36\xb5\x9c\x51\x65\xfb\x76\xa5\x55\xc4\x1b\x52\x53\xd3\xd2\x0c\xf1\xe5\xa9\x15\x69\xb5\x86\xf2\x72\x46\x1a\xfa\x2b\x77\xfa\xee\xeb\xe7\xd6\x75\xcc\xbb\x36\x6f\xef\xf4\xf1\x3e\xe3\x3b\x07\xdf\x7c\xe3\xe6\x4a\x60\xdb\xcf\x7c\xcb\xd8\xa6\x8d\xd7\x58\x76\x71\xbb\x50\x8d\xf5\xf0\xfa\x34\x98\x18\xea\xe7\x3b\x12\x9d\x7d\x5f\xc7\x15\x78\xde\xe2\x38\xb2\xcb\xe7\xf4\x33\x20\x1f\x5e\x67\x0a\xc3\xdb\x97\x1b\x34\x6b\x60\x08\x0c\x80\x79\x87\xde\x67\x0c\x17\x6a\x8b\x3e\x12\x8c\x8f\x17\x7f\xf6\xe6\x69\xe6\xe0\xe6\xb2\x25\x2b\x34\x06\x03\x0a\xdb\xab\x85\x75\x05\x11\x69\x43\x23\x99\xe3\x85\x8d\x71\x06\x4d\xe4\x96\x95\xab\xfd\xc3\x27\x6f\x8a\xfc\xf2\x54\x67\x79\x65\x79\x79\x79\x59\x56\x69\x8e\x29\xbf\x82\x01\x86\x8f\xfc\x13\xe6\xc1\x90\x27\xc7\x19\x03\x38\x83\xdf\xad\x76\xa1\xba\xba\xa5\xd6\x54\xfc\x1a\x50\x49\x30\xb1\xee\x54\x5e\x5e\x7e\x5e\x7e\xee\x9e\x2b\xd7\xb3\x1a\x36\x30\x15\x91\x85\xa1\x51\x1a\x43\x60\xd1\x3a\xbd\x70\xbc\xbe\xd3\x60\xd0\x54\xa5\xd6\xec\x32\x68\xa2\xd7\x87\x78\xb7\x8c\x69\x9c\x7a\x73\xf3\x85\xec\x57\x8e\x4d\x00\x87\xbb\x30\xe4\xd8\xb5\x5b\x47\xbf\x4a\x07\x79\xf2\xd7\x43\x92\x51\x9e\xf1\xea\x06\xff\x65\xa1\x8c\xa1\x2a\x28\xe9\x4d\xe1\xf0\xba\x82\xc8\xfc\x28\xc6\xb0\xae\x74\xfd\x76\xe1\x51\xf3\xf9\x35\xe7\xbc\xeb\xb6\x7e\x93\x97\xbe\x94\x51\xf9\xda\xcb\x20\x03\xc6\x70\x52\x86\xc5\x4b\x1a\x62\xc9\x10\x54\x8c\x5c\x66\xc9\xb0\x78\xbd\x38\xf6\xea\x65\x3b\xf6\x9a\x21\x79\x49\x43\xa4\x0c\x51\x89\xb9\xe0\x68\x0e\x00\xc6\xfc\x1a\x38\xda\x41\x31\xd4\x3b\x48\xbb\x75\xd4\x02\xae\xb5\xb0\xba\x43\x90\xce\xd0\x0f\x2f\x4c\xc6\xb1\xc7\xc5\x83\xe8\x44\xfd\x4c\x1b\x6a\xe1\x59\x35\x8c\x16\x30\x65\x27\x8a\x06\x83\xa6\xd7\x9f\xb6\xf4\xab\xa4\x86\x28\x40\x15\xf9\x63\x7c\x6b\x4c\xd1\x64\xf7\x0a\xcc\xc9\xb5\x78\x19\x34\x86\x3c\xcb\x90\x2c\xcc\x16\xf2\x67\xed\x0c\x9f\x10\x8f\xaa\x08\xb7\x21\x0a\xa9\x5f\x25\x65\x66\x68\x03\x0c\x34\xc0\x9d\x14\xa1\xf4\x87\xb3\xd2\xc0\xd2\x53\xcc\x04\x7a\x0c\x86\x52\xf8\xca\x4c\x94\xa5\x60\x3f\x2d\x9a\x69\xec\xe7\x7f\xee\x4f\x51\xea\x52\x40\xfd\x77\x19\x06\xf1\xe3\xfc\x8e\xa8\xc6\x51\xfb\x50\xe5\xf6\x07\x9d\x09\x37\xab\xe1\x73\xca\x93\xde\x8a\x83\xa2\xc7\x26\x45\x8e\xce\x75\x37\xa0\x32\x05\x13\x0b\x05\xe5\x2a\x1e\xe6\x83\xb2\xe3\x2f\x98\xfc\xec\x24\x28\x8f\x81\x63\x87\xf5\xc7\xc2\x7c\x87\x9e\x31\xe6\x18\xee\x48\x49\xf3\x5a\x01\xaf\x28\xce\xe4\x67\x1e\x3a\xa2\x81\x4f\xbf\xe3\x1a\x8c\x7b\x76\x46\x1b\xb7\x26\xe5\xe5\xa0\x67\x59\xac\x90\x55\x54\x9c\x5b\xa2\xdd\x97\x75\xa8\x41\x7c\x7e\x0a\x15\x9c\x14\x0a\x4a\x4b\xa8\x02\xae\xb9\xc2\x4d\xc5\x3a\xbc\x49\xbd\x42\xbf\x09\xd7\x28\xbc\xe6\x21\x85\xc2\x04\x45\xe5\xac\xf2\x99\xe5\x33\xf7\x42\xb8\x1b\x4c\xb4\x84\xd2\x70\x13\xde\xe5\xf0\xab\x8e\x26\xbc\x21\x48\xa1\xf7\x14\xd7\x7e\x2f\x99\x5c\x23\x96\xec\xc8\xdf\x16\xa6\x81\xeb\x18\xc0\x2d\x4d\x5f\x36\x6b\x6b\x54\x45\xeb\x2e\x21\x33\x8c\x42\x7b\x29\x14\x1c\x71\x0c\xdd\xd2\xd4\x54\x7e\x48\x7b\xbb\x68\xb5\x9f\x88\xee\x0a\x98\x6f\x0e\xb7\x32\x46\xb4\x8e\x3b\xe4\x5d\x1f\xb2\xd2\x70\x2c\xfd\xcb\x1c\xdd\x28\xcd\x04\x1a\x76\xc2\xbf\xec\xa0\xe7\x41\xcf\x1f\x3f\x49\x6e\xb7\x1c\x74\xf2\x18\x0c\xe0\xb0\xf3\x6d\xcc\x86\x50\x6f\x38\xc2\x18\x14\xef\x27\xdf\x8a\x3b\x9a\xc5\x80\x03\x5e\x83\x3b\xb8\xdc\xa0\x31\xe6\x15\xe5\x1b\xf3\x99\x5e\x4e\xfa\x83\x4b\x3f\x9a\x7d\x2c\xf7\x38\x63\x50\xd4\x5d\x3f\xf2\xe3\xc7\xd7\x18\x43\x29\xbe\x71\x19\x5f\x11\x96\x9a\x9d\x39\x43\x76\x40\x61\x98\x90\x94\xb6\x33\x6a\x6b\x70\xe3\x85\xd6\xce\x03\x6f\x31\x06\x85\x8e\xaa\xb3\xcc\xe3\xf0\x0a\xce\xc5\x46\x34\xa1\xab\x60\x50\x2c\x89\x9d\x98\x88\x4c\x3d\x63\xb0\xd0\xbf\xe0\x30\x78\x24\xc0\xd8\xdc\x77\x8d\x7f\xee\x06\xef\x66\x78\xf9\x14\x78\x7d\x72\xb6\x29\xf7\x72\xd6\xc9\x8c\x0b\x5b\x72\xd7\x87\x31\x06\xfc\x0e\xd3\x2d\xaf\x35\x08\xaf\x80\xeb\x56\xe8\x36\x68\xc0\x07\x06\xc3\x8c\xdf\xe0\xb7\xed\x05\x6d\x15\x77\x47\x19\x19\x83\xc5\xe9\x0c\x86\xe0\x02\xa1\xfc\xe3\xea\x0b\x8d\x1d\x0c\x38\x83\x08\xaf\x7d\x01\xab\xb5\xd2\x1c\x78\x8a\x7f\x59\xe6\x8b\x9f\x1d\xe5\xda\xe1\x7b\xf4\x86\xcf\xf1\x2c\x8c\x61\x0c\x0a\xfc\x00\xbc\xb1\x2b\x08\x2f\xe3\xa0\x35\xbb\xe2\xa3\xe3\x42\xd6\x4f\x8f\x9c\x99\xb8\xf0\xe5\xc1\x0b\xd1\x69\x07\xf2\xeb\x66\xad\x1f\x95\x8e\x4a\xc6\x90\x1b\x5a\x90\x2f\xe0\xe0\x3a\x9c\x7a\xcf\xa0\x39\xba\x04\x82\x67\x7f\x10\xc5\x18\x4a\x2d\x83\xa0\x0c\xb5\xc2\x9a\xeb\x19\x95\x06\x8d\x01\xdd\x21\xa7\x19\xe6\x0b\x45\x45\xf9\x45\x5a\x84\x47\xf0\x39\x56\x49\xce\xda\xd6\x96\x82\xc2\x16\xf1\x72\xd6\x25\xe3\xf9\xba\xbd\xa6\xbd\xb5\x6d\x75\x70\x0c\x26\x82\x33\xcc\xfa\x09\x1a\x9a\xae\x55\xdc\x2e\xfd\x84\x51\x36\x62\x01\xd8\xe9\xe4\x1f\x5c\xfa\xb1\x0a\x5e\x82\xb1\x76\x47\x4f\x3c\x3c\xa5\x93\x87\x83\x1c\xa2\xaf\x39\xe8\xa8\xe9\xe6\x4c\x2e\x78\x79\x1e\x2c\xc7\x5d\x77\x91\x3f\xef\x1b\xd2\xde\x75\xe4\x22\x8c\x2d\x81\xfe\x53\x41\x39\xb5\x03\xf9\xe0\xe5\x0c\xfc\xdb\x72\x83\x33\x35\x67\x17\xc6\x45\x58\x62\x7a\x67\xe8\x30\x48\x32\x40\x90\xf9\xe9\x56\xb4\xdf\x36\x23\x17\x15\x3b\x9f\x6b\x75\x72\xc4\x39\x70\xc4\xfc\x3a\x83\x19\xd2\x72\x0e\x8e\x60\x2c\xc4\xe3\x61\x3c\x8c\xb1\x18\x8f\x47\xf0\x08\xc4\x62\x3c\x1c\x86\xc3\x10\x0b\xf1\x70\x44\x80\x13\xd0\xc1\xe5\x5e\x0e\x04\xf9\xfa\xab\x96\x4a\x73\xab\xae\xc7\x68\x29\x84\x7b\xcf\xbf\xc3\x49\x3d\x77\x75\xd4\x79\x38\x0f\x52\xef\x39\x66\x21\x3e\xe0\xe2\xf1\x3e\x36\xa1\x3f\xee\x79\xc5\x7c\xa7\x7a\x87\x4e\x7e\xa3\xb7\xaa\x8d\xc9\xd9\xd0\x94\x5e\xac\x85\x4f\xbd\x21\x19\x13\xe2\xf1\x1e\xa3\xb4\xed\xad\xbe\x0a\xde\xff\xe7\xab\xcb\x55\xdb\x14\xbf\x5a\x75\xe0\x28\xe8\xc1\xc4\xa1\x9c\x56\xf9\x7a\x34\xb2\xaa\x46\x8f\x1b\xac\xca\xc9\xea\x1b\x66\xf5\xc9\xad\x3e\xd6\xea\xb3\xb3\xfa\xec\x1b\x6f\xb0\x2a\xd9\xba\x46\x56\xe5\x7b\xf4\x6c\x02\x6d\x33\x22\x05\x72\xba\xa7\x1b\x3a\x60\x22\xdb\xdb\x7d\xd5\x2a\x1d\xf8\xb0\xe6\xee\x99\x56\xc1\x37\x13\xb2\x78\x55\xaa\xd3\x25\x5e\xb5\xc4\xa9\x85\xaf\x39\xab\x68\xe1\xa1\x43\x6e\x60\x55\x1e\x56\x98\xfa\x9f\x30\xc6\x0a\xa3\xfe\x09\xb3\xb7\xc2\xec\x96\xfc\x03\x26\x2b\xbe\xc4\xab\x64\x7f\xc3\x94\x1e\x20\xb2\x10\xcb\x3a\xe8\x68\x41\x9a\xc4\x7d\x53\x1b\x01\xce\x93\x13\xf0\xc3\x85\x6e\xd8\x02\xe3\xc1\xfa\xff\x70\x21\x95\x6f\x2c\x36\x18\xb5\x5f\x54\x80\x7c\xb7\xaf\x88\xd3\x0e\xc1\xa2\xbf\xf6\xd7\x56\x9c\x88\xdb\xef\x1e\xb7\x7f\x53\x45\x58\x1c\x2e\x1a\xe8\x76\x09\xbc\xf7\x7e\x85\xca\x8e\x9d\x3e\xee\x43\xb0\x0b\x5b\x70\x1c\x05\x1f\x29\x60\x13\xa4\xbf\xf3\xe1\x88\x6f\xf5\x7e\xee\x28\x47\x35\x05\x5b\x7f\xe1\x71\xab\x02\xe5\xa0\xd6\x5f\x1d\xf1\xaf\x77\x5e\x77\x87\x4d\x98\x4e\xe1\x47\x0a\x6c\x81\x71\x43\xa0\x6b\xe7\x6d\x54\x6e\xd8\x3b\xcd\xfd\x12\x7a\xe3\xa2\x67\x61\x75\x9b\xd2\xe2\x42\xdd\xe3\xc2\x2a\x36\xee\x8f\x87\x45\x1e\x6e\x38\x6d\x2b\x95\xe8\x5b\x81\xf2\x2f\xb4\xc6\x62\x43\x81\x51\x84\x0f\xaf\x40\x0b\x8e\x47\xeb\xff\xc3\x2b\x93\x6b\x22\xd0\xf9\x9b\x78\x77\x98\xb6\x15\x17\x79\x84\xc5\xa7\x6e\xac\x0b\x73\xaf\x0b\x3b\x9e\xba\xbf\x0e\x16\x3d\x73\xd3\xa3\xf7\x8e\x69\xa0\xdc\xb0\xe7\xb6\xfb\x13\xe8\x82\x16\x18\x67\x7b\xf3\x26\x4c\x5f\xf6\xfa\xa3\x7f\x5d\xba\xea\x0e\x72\x50\x53\xb8\xd5\x76\xa4\x77\xab\x02\xe4\xa8\xbe\xe4\xf7\xe8\xdb\x65\x1f\xba\xe3\x26\x48\xb7\x95\xa7\x05\xc7\x3d\xc1\xae\x3d\x3e\xa0\xec\xd8\xf1\x95\xbb\x1e\xbc\x61\xd1\xc0\xfd\x71\xc7\x2b\xea\xf6\xbb\xd7\xed\x4f\x3d\x11\x56\x8b\x8b\xfe\x72\x53\x3e\x65\x81\x81\x35\x3a\x79\x26\xac\x71\xd0\x51\x17\xa5\x3f\xb9\x78\xbc\x81\x07\x31\x03\x3f\xa9\xc7\x1b\xf5\x98\x07\x75\x75\xd0\x5d\x07\xd7\xe1\x20\x64\xc2\x27\xb1\x70\x3d\x16\xf2\xb0\x2e\x0e\xbb\x19\xb8\xd9\xf3\x32\x87\xdf\xad\xc5\xef\xd7\xe2\x77\x6b\x2d\xf2\x00\x3c\x86\x9d\x51\x16\xc7\x64\x8c\xf8\x16\x43\x61\x22\x8e\xc5\xdf\xf1\x77\x37\xf8\xee\x74\xdf\x4f\x72\xe8\x84\xe3\xd0\xd9\x24\x31\xd5\x10\xf1\x32\x84\xe2\x44\x18\x0b\x4f\xe0\xb1\x4d\x9d\x26\xc8\x75\xb4\x07\xc8\xed\x0c\x2f\x3c\x0e\x3d\xf3\xa5\x62\xee\xdd\x88\xc6\x4e\xcc\x7c\xb2\x6b\xd5\xad\xad\xf8\xaa\x85\xa5\xce\xd1\xf0\x0a\xfc\x01\xb3\xf1\x0f\xea\x3c\x6d\x39\xd3\x33\x9a\x43\x57\xbc\x0c\x97\xd1\x15\x5c\xe1\x32\x75\x42\xcf\x0d\xc1\x4c\xc8\x18\xf2\x07\x64\x50\x1d\xab\xb9\xa9\xe8\x0f\xfe\x53\xef\x80\x3f\x05\x17\xd7\x72\x96\x39\xf8\x14\x9f\x5a\xe6\x58\x5d\x78\x2a\xcd\xb1\xb2\xb0\xbf\x5d\x2b\x5c\x00\xb9\x2b\x7c\xc6\xc3\x2b\xbc\xa0\x84\xe1\x68\x7a\x9c\x08\x93\xa5\x3f\x61\xc7\x6c\x13\xcc\x04\xb7\x8f\x81\xbd\x0b\x63\x5d\x8e\xc2\xe8\x4a\x28\xf2\x04\x46\x1a\xf4\xdb\x41\x18\x05\xb3\xe0\xe5\xfb\xc0\xa9\x1a\x12\x75\xd4\xbf\xe0\x12\x57\x3d\x1a\x5f\x6d\xdf\xd8\xe0\x77\x70\x53\x77\xcd\xcd\xaa\x8b\xc0\xc2\xce\xe2\x43\x4c\xbb\x31\xae\x28\x55\x9b\x58\x90\x9a\x99\x18\x9d\x1c\x83\x43\xf1\x42\x72\xc4\x06\x9f\x81\x55\x95\x5f\x15\xb5\xfc\x02\x5b\x8d\x87\x8b\x1a\x72\x9a\x62\x2a\x62\xca\x23\x13\x32\x53\xd2\xe2\xd1\x0d\xff\x4c\x0a\x67\x22\xde\x8c\x48\xda\x94\x37\x2e\xfb\xd5\x2f\xf7\xff\x5c\x75\xf2\x07\xf8\xf4\xcc\x57\xfb\x2f\x7e\xd3\x71\x39\x62\x7f\xf2\xc9\x5d\x95\x59\x7b\x93\xf7\xb7\x57\x96\x1f\xd8\x53\x5f\x7d\x2a\x93\xd9\x97\x53\x1b\xd3\xb4\xab\x2e\xae\xaa\xa2\xbc\xa4\xc6\x54\x59\xf6\x76\xfe\xb9\xfc\x77\xe2\x2a\x27\x55\x8d\xc6\xc9\x98\x5d\x81\xf2\x32\x1f\x70\x7b\xa7\x62\x36\xf3\xdc\x0f\x43\xb9\x9c\x86\x98\xca\xd8\x9c\xd8\x9c\x94\x18\x63\xac\x31\xa6\x3e\xa5\xde\xc8\xa8\x9c\x52\x1b\x8c\x95\xf5\x39\x0d\x8c\xf4\x31\xd6\x70\x89\xcd\xa1\x25\x51\x09\xd1\x09\x59\xa1\xbb\xa3\x6a\xa2\x0e\x64\x35\xd7\x34\xd5\x94\x1c\x48\x68\x66\x7a\x6b\xcd\x5d\x5c\xcb\x91\xf4\xb3\xc1\xad\xc1\x2d\x81\xe9\x91\x41\x91\xc1\xa6\x55\xed\x91\xed\x11\x67\x4d\x2d\x47\x18\x5b\x3d\xb0\xbd\x53\x38\x95\x53\x6a\xf8\xd1\x80\xf2\x2d\xe1\x41\xe1\xe9\x2b\x5b\xb7\x58\x6f\xb4\x6e\xe9\x4c\x3f\xda\x7a\xb4\xcd\x74\x3e\xe2\x28\xa3\x1a\x28\x03\xb9\xf4\xd8\x5a\x71\xc0\xfc\xb6\x01\xfc\xd1\xf3\x74\x3d\x18\x31\x0b\x16\x60\xea\x74\x5c\x09\xa3\xf0\x24\xda\x4f\xc4\x44\x5c\x18\xee\x85\xc1\xbf\xe1\x64\x46\xe5\x21\xc7\x57\xd0\xfb\x3b\x3c\x0d\x71\x9b\x0b\xfd\x6b\xfd\x0f\x07\x3c\x40\x11\x16\x85\x00\xff\xc0\x68\x2c\x2e\x32\x16\x81\x33\xca\x61\xcd\x07\x27\x61\xca\xa7\x79\x9f\xd6\x7f\x70\x8a\x51\x39\xc9\xad\x92\x1f\x04\x8e\x85\x91\xcc\x73\xc9\x3c\x8c\x8b\xdb\xb3\xa5\x24\x3c\x6e\x67\x6c\xd6\x96\xba\x9d\x75\x3b\x8f\x66\xb5\xd5\xed\xa9\x2f\x39\x1a\xb7\xc7\x9a\x41\x98\x08\x87\xb9\x9c\xe6\xe8\xea\xe8\xec\xe8\xec\xa4\x68\x63\x74\x71\x54\x53\x52\x53\x71\x53\x71\x75\x53\x76\x13\xa3\x93\x37\x3f\x9f\xcf\x65\xb7\x85\xd7\x86\x67\x87\x67\xc5\x87\x97\xec\x2c\x0e\x6f\x8b\x6f\x2b\x69\x2b\xae\x6d\xcb\xda\xc3\xf4\x8e\xea\x71\xe6\x54\x8b\x56\x47\x1f\x5d\x5d\x19\x14\x1d\x14\x9d\x12\xd8\xb4\xa5\x31\xe8\xed\x94\x23\x4d\x47\x9b\x2a\xce\xee\x3a\xc2\x98\x93\x7b\x3d\xb9\x9c\x86\xd8\xca\xd8\x9c\x18\x6b\xc5\xc7\x18\x63\xeb\x93\x1b\x8c\xf5\xc5\x55\xf5\xd9\x0d\x0c\x2e\x83\x2c\x2e\x66\xff\x86\xb2\xed\xbb\xc2\x76\x65\x6e\x68\x08\x6b\x08\xeb\xc8\xdc\xdf\xb0\xaf\xb1\xb4\x23\x66\x3f\x63\x33\x77\xfe\x7f\xfb\xee\xdc\xa3\xa3\x7c\xf7\xd0\xa0\x66\x41\x4d\xac\x7d\x41\xbf\x7e\xb6\x6b\x7f\x1d\x2d\x53\xeb\xe8\x87\x5c\xbb\xca\xee\x91\xbd\xcc\x4e\xd6\x5f\xa6\x95\x1d\x95\x75\xd9\xb9\xdb\x0d\xb6\x1b\x6a\x37\xd2\x6e\xac\xdd\x04\x3b\x1f\x3b\x5f\xbb\xb9\x76\xaf\xd9\x2d\xb6\xdb\x68\x17\x64\xb7\xcd\x6e\x87\x5d\xbc\x5d\x8a\x5d\x86\x5d\x8e\x9d\xd1\xae\xcd\xee\x5d\xbb\x2b\x76\xd7\xed\x3e\xb3\x7b\x60\xf7\x9b\xdd\x1f\xf6\xb3\xec\xe7\xd9\xbf\x66\xbf\xc8\xde\xdf\x3e\xc0\xfe\x4d\xfb\x50\xfb\x38\xfb\x1c\xfb\x32\xfb\x76\xfb\x13\xf6\xa7\xed\xcf\xdb\xbf\x63\xff\xbe\xfd\x27\xf6\x37\xed\xbf\xb0\xff\xce\xfe\x67\xfb\x5f\xed\xff\xb0\x97\x1c\x88\xc3\x00\x07\xb5\x83\xbb\x03\xef\x30\xc6\x61\x8a\x43\x97\xc3\x17\x0e\xdf\x3a\xdc\x73\xf8\xcd\xe1\x99\x83\xd9\xa1\x57\x2e\x97\x2b\xe4\x4a\xb9\x97\x7c\x8c\x7c\x8a\x7c\xba\x7c\xa6\x7c\x9e\x7c\xa1\x7c\xa9\x7c\x95\x7c\x83\x7c\x8b\x3c\x4c\x1e\x29\x8f\x91\x27\xc8\xbb\xe4\x1f\xcb\xef\xc9\x1f\x52\x0e\x94\x2b\xa5\xa1\x04\x6a\x0a\x35\x8b\x7a\x8d\x5a\x44\xf9\x53\x01\xd4\x9b\x54\x34\x95\x45\x19\xa8\xf7\xa8\x4f\xa8\xcf\xa9\xbb\x34\x4d\x8f\xa6\xe3\xe9\x0c\xba\x90\x2e\xa7\x1b\xe9\x36\xfa\x00\xdd\x4e\x77\xd0\xb7\xe8\x07\xf4\x6f\xf4\x9f\x0a\x1f\xc5\x42\xc5\x72\x45\xa0\x62\xbd\x22\x48\xb1\x43\x11\xa9\x78\x4b\x71\x49\xf1\xbe\xe2\x9a\xa2\x5b\x01\x8a\x7f\x33\x83\x98\x09\xcc\x14\xc6\x97\x99\xcb\x2c\x62\xde\x64\x76\x32\xb1\x4c\x32\xf3\x36\x73\xd7\x51\xed\xa8\x71\xf4\x70\x5c\xe1\xb8\xca\x71\xad\x63\xa1\x63\xb9\x63\xad\xe3\x27\x8e\xdf\x38\x3e\x71\x7c\xce\x3a\xb0\x8e\xac\x92\x75\x66\xdd\xd8\xb1\xec\x0c\x76\x1e\xbb\x83\xcd\x65\x6b\xd8\xc3\x6c\x07\xfb\x16\xdb\xc9\xfe\xc2\xfe\xc1\x9a\x89\x1d\x51\x10\x81\x78\x91\x51\xc4\x97\x6c\x26\x91\x24\x81\xa4\x90\x2c\x92\x4f\x8a\x48\x29\xd9\x4d\x9a\xc8\x7e\x72\x84\x9c\x26\x5f\x91\xc7\xa4\x87\x3c\xef\x67\xdf\xcf\xa5\xdf\x4b\xfd\xb4\xfd\x3c\xfa\x8d\xee\x37\xb5\x9f\x5f\xbf\xe5\xfd\x36\xf6\x0b\xea\x17\xda\x2f\xba\x5f\x62\xbf\xf4\x7e\x39\xfd\xf6\xf5\x7b\xbf\xdf\x9d\x7e\xcf\xfb\x3b\xf4\x17\xfb\x8f\xed\xbf\xb8\xff\x8a\xfe\xab\xfa\xaf\xeb\xbf\xb5\xff\x8e\xfe\xd1\xfd\x13\xfa\xef\xee\x7f\xaa\xff\x67\xfd\x9f\xf6\xef\x55\xb2\xca\x97\x94\x5a\xa5\x97\x72\x8e\x72\x83\x32\x52\x99\xac\x34\x2a\x4d\xca\x2a\x65\x83\xb2\x55\xb9\x4f\xf9\x96\xf2\x82\xf2\x13\xe5\x4d\xe5\x2d\xe5\x5d\xe5\x4f\xca\x87\xca\xdf\x95\x7f\x0e\xa0\x06\xa8\x06\x8c\x1e\x30\x7e\xc0\xe4\x01\x33\x06\xcc\x1d\xe0\x37\x60\xf1\x00\xfd\x80\xb0\x01\xd9\x03\x2a\x06\xec\x19\x70\x78\xc0\x99\x01\x17\x06\xbc\x37\xe0\xea\x80\x4f\x07\x74\x0f\xb8\x3d\xe0\xe7\x01\xbf\x0d\xe8\x71\x62\x9c\xfa\x39\x39\x3b\x69\x9c\x3c\x9c\x86\x3b\x8d\x71\x9a\xe4\xe4\xe3\x34\xc7\x69\xa9\x53\x80\xd3\x76\xa7\x48\xa7\x3c\xa7\x06\xa7\x43\x4e\x6f\x39\x5d\x70\xba\xec\xf4\xb1\xd3\xe7\x4e\x77\x9d\xee\x39\xfd\xea\xf4\xc4\xe9\x2f\x27\x74\x76\x72\x1e\xe2\x3c\xd5\xd9\xd7\x79\xb9\x73\x88\x73\x82\x73\xa1\x73\xbd\x73\x8b\xf3\x41\xe7\x23\xce\x1d\xce\x6f\x3b\x5f\x70\xfe\xc0\xf9\x2b\xe7\x47\xce\x7f\x38\xff\xe5\x8c\xce\xff\x76\xa1\x5d\x88\x8b\x93\x0b\xe7\x22\xb8\x0c\x72\x19\xea\x32\xca\x65\xbc\xcb\x6c\x97\xe5\x2e\xab\x5c\x42\x5d\x92\x5d\x8a\x5d\xaa\x5c\xea\x5d\xf6\xba\x1c\x73\x39\xed\x72\xc9\xe5\x7d\x97\x6b\x2e\xd7\x5d\xbe\x77\x79\xe8\x02\x2a\x46\xe5\xa4\x12\x55\x9e\xaa\x61\xaa\xd1\xaa\x09\xaa\x59\xaa\xf9\xaa\x25\xaa\x75\xaa\x20\xd5\x36\x55\xb4\x2a\x41\x95\xa2\xca\x52\xe5\xab\x4a\x54\x15\xaa\x7a\xd5\x1e\xd5\x21\xd5\x09\xd5\xdb\xaa\xf3\xaa\xcb\xaa\xab\xaa\xeb\xaa\x2f\x54\x5f\xab\xbe\x53\xdd\x53\x3d\x53\xcb\xd5\xfd\xd4\xce\x6a\x9d\xda\x53\x3d\x4a\x3d\x41\x3d\x53\xbd\x44\xfd\x86\x7a\x95\x7a\xad\x7a\x93\x3a\x42\x1d\xa3\x4e\x52\xe7\xa8\xcb\xd5\x2d\xea\x83\xea\x0e\xf5\x5b\xea\x0b\xea\xcb\xea\x6b\xea\xeb\xea\x5b\xea\x6f\xd5\xbf\xa8\x9f\xa8\x7b\x38\x3b\x8e\xe6\x08\xe7\xc6\x89\xdc\x48\x6e\x32\x37\x97\x5b\xcc\x2d\xe7\x02\xb9\x0d\x5c\x08\xb7\x9d\x8b\xe2\xe2\xb8\x64\x2e\x93\x2b\xe6\x6a\xb9\x7d\xdc\x21\xee\x38\xd7\xc9\x5d\xe1\x3e\xe3\xee\x70\x3f\x71\x0f\xb9\x3f\x39\x74\xb5\x73\x75\x74\x1d\xe0\xaa\x72\x75\x77\x15\x5d\x3d\x5d\x87\xbb\x8e\x71\x9d\xe8\x3a\xd9\x75\xb6\xeb\x22\xd7\x00\xd7\xb5\xae\x9b\x5c\x77\xb8\xc6\xbb\x66\xb9\x16\xbb\x56\xb9\xd6\xb9\x36\xbb\xee\x75\x3d\xe4\x7a\xec\x3a\x2b\xf9\xc0\x23\x78\x24\xf9\x08\xca\xd9\xac\x1f\x3d\x8f\x17\xfd\xb6\xf1\x57\x23\x58\xa2\x98\xbe\x23\x60\xd6\x34\xcd\xff\xf3\x99\x5e\x0f\xdb\x4c\xaf\xef\x3f\x66\x7a\x3d\xfe\xc7\x99\x5e\xdf\xff\x79\xa6\xd7\xe3\x1f\x33\xbd\xc5\xa0\xa7\x95\xd8\x85\xb9\x98\x8b\x5d\x30\x8b\x17\x20\x6a\x38\x9b\xcb\x2e\x61\xe1\x28\x6f\x5b\x8e\x8b\xe2\x61\x04\xfb\x30\x84\xd7\xf5\xf8\x7e\xcc\xd3\x16\x1a\xe6\x62\x23\xac\x44\x57\x01\x57\xa2\xb5\x04\x8d\x16\x5a\x33\x92\x8e\x4b\x4a\x8a\x13\xfd\xa0\x95\xbd\xaa\x18\xc3\x0a\x23\x69\x89\xc6\xb9\xd0\x88\x2b\xc1\x55\x80\x95\xe0\x0a\x73\xa1\x51\xa2\x35\x64\x09\xff\xc2\x82\x07\x19\xc9\x0a\x64\x0c\x2b\x10\x7a\x28\x4f\x5c\x3d\x58\x98\x88\x1c\x70\x38\x51\x20\x71\x6b\x78\x52\x57\x5d\x5d\x47\x82\xb7\x6f\x0f\x26\x75\x49\xd5\x71\x84\x43\x03\xae\x81\x35\x60\x00\x03\xf4\xb9\x91\x3c\xed\xcd\x13\xfa\x7d\x96\x8c\xe1\x05\xb2\x9a\xc7\xee\x09\x3c\x74\xcf\x64\x49\x5c\x52\x01\x4f\x66\xb1\x22\x19\xc5\x8a\x64\x1e\x2f\xa2\x7e\x1b\x4f\xb8\x59\xbc\x64\x72\x9d\xc5\x43\x13\xcf\xad\x67\x61\x39\x2f\x80\x7a\x38\x6b\x5b\x79\xf3\x7b\xb1\xf0\xa6\xb0\xcd\x7b\x5e\xa5\xeb\xaa\x93\xe2\x44\xd0\xcb\x17\xf1\x64\x08\x2f\x90\x1c\x16\xd4\x8a\x1c\x9e\x28\xa6\xf3\xb6\xfc\x08\xd8\x67\x25\x4c\x04\x75\x38\x8f\x6a\x05\x99\xc7\x8a\x44\x31\x93\x27\x5c\x20\xfb\x77\x26\xe7\xb2\x82\x64\xea\xed\xe6\x0e\x27\x1d\x8a\x6a\x16\xf0\x21\x3c\xa4\xbe\x06\xc7\x53\xe0\x01\x83\x34\xff\xb7\xa3\xf7\x30\x08\x3c\x4e\x7d\x0d\x8e\x02\x3c\xc4\x07\x60\xe6\x09\xbd\x90\x25\xf4\x68\x96\xac\x66\x05\xa2\xc8\x60\x49\x31\x5f\xc9\x36\xf0\xa4\x76\xf7\xee\x5a\x42\x65\x65\xe5\xa4\x67\x68\x32\x8c\xe9\x25\x59\x02\x19\xcf\xeb\xcc\xa9\x3e\x7d\x4a\x26\x09\x8c\x63\x47\xf6\x19\x97\x7d\x78\x8f\x25\x56\xb4\x02\xc5\x43\x2e\x74\x91\xef\x78\x0b\x2f\xa9\x58\x89\xa7\x4a\xb2\xd2\x8d\x19\xda\xf4\x8c\x3f\x79\x69\x8b\x65\xcb\x3e\x96\x58\xcb\x4c\xb6\xf0\x22\x59\xcb\x43\xf7\x20\x9e\x8c\x66\xc7\xf0\x44\x47\xcb\x6c\x25\x06\x39\x4f\xe8\xd9\x3c\xd9\xc9\x8a\xa4\x6f\x55\x50\x3f\x8c\x25\x90\xce\x67\xf1\x02\x19\xcd\x5f\xa5\xc9\x8a\x53\xeb\xba\xc8\x0f\xb3\x6f\x4e\x14\xc8\x8b\x75\x43\x7d\x1f\x39\xa0\xfe\x77\x96\xd0\x1b\x59\x52\xca\x5b\xb3\x9e\xb8\x3b\x9e\xd0\xcb\x58\x82\x6e\x23\x77\xb0\x0f\x47\xd2\x19\xec\xc3\x87\x8a\x39\xfc\x48\x2b\xfa\xf4\x13\x78\xd0\xcf\x64\x89\xa9\xe1\xe4\xef\x75\x9a\xc2\xfc\xa2\xdc\x42\xa1\x34\xc5\xe3\xc3\x6c\x6d\x56\x5e\x48\x48\xd8\xa6\x1d\x9b\xdc\xd3\x0a\xd2\x0a\xd2\xd2\xd2\xf2\xd3\xfa\x79\xee\x4e\xf3\xfd\x2d\x59\x9b\xed\xe1\x97\x95\x22\xe6\xe6\xe5\xe7\xe6\x69\xe2\x4f\x7a\x99\x62\x84\x94\x84\xb4\xb8\x8c\x38\x26\x26\x0f\xb9\xa4\x44\x0d\x7a\x28\x12\x81\x4b\x6a\xc8\x13\xca\x62\xcb\xe3\x2b\x13\x98\xf4\x98\xf5\x5e\xf1\x9a\xbc\x82\xdc\xa2\x3c\x21\xb3\xf2\x2f\xbf\x62\x6d\xd5\xe7\xbf\xef\x2e\x17\xcb\xf3\xcb\xf3\xcb\xcb\xcb\x0b\xca\xfb\x79\x26\x96\x7f\x3e\xb4\x4a\x4b\xf0\x19\x9e\xc0\x13\xf8\xcc\xea\x42\x20\x0f\xcf\xc0\xea\x10\x1c\x68\x9b\xd8\x1e\x48\x7e\xb8\x79\xf3\x07\x91\xf4\x99\x63\xdc\xc1\xaf\xe2\x75\xb4\xcc\x81\x5c\x5d\xc6\x13\x6e\x3c\x4f\xee\xf3\xa0\xde\xcd\x92\x71\xac\x32\x90\x87\x6e\x7f\x96\x64\x95\x08\x01\x9d\x6f\xf0\x96\x2d\x96\x2d\xaf\xb2\xd6\x3a\x5f\xce\x77\x76\x96\xb3\x64\x0d\xab\x43\xdf\x20\x9e\xc4\xb0\x3a\x85\x0c\xf4\xdc\x7c\x96\x70\xcb\x59\xa2\x78\x9f\x25\x13\x67\xcf\x9e\x48\x56\xb2\x7e\x6b\xd8\x91\x84\x9e\xc1\x12\x70\xe2\x7b\xf4\x10\xc0\x12\xa8\xe4\xe1\x2e\x2f\x92\xab\x81\x3c\xb9\xe1\x7f\x79\x4e\x30\x4f\x1a\x4b\xf8\x5c\x9e\x28\xc6\xf3\x44\x71\x9c\x25\x3a\x79\x17\xe8\xed\x0c\xa0\x77\x90\xf4\x3d\xdd\xaf\xf2\x3d\x17\x2c\xdd\x1c\xe4\xf0\xbd\x6b\xcd\x6f\x52\xe7\x57\x8e\x38\x31\x47\x6b\xf1\x7e\xcc\x5a\xbc\x15\x73\x4e\x8c\x38\x1f\x20\x98\xd7\xf6\xae\xa3\xa2\x9a\xe1\x25\xbe\xb9\x45\x94\x52\xa4\x54\x78\x83\x25\x1c\xa8\x78\x54\x80\x02\x06\x82\x8b\x35\xf4\x5f\xb6\x85\x61\x33\x6b\x33\x13\xe1\x24\x10\x30\xb5\xb2\x04\x14\xac\x60\xd1\x4b\xfa\xc3\x2c\xbc\xc4\x8a\x16\xbd\x45\x6f\x62\x7b\xd4\x21\x6c\xe6\xdf\x1b\x03\x9a\x58\x49\xcd\x43\xae\xb5\xa9\xb7\xb0\x64\x31\x2b\x92\x20\xf6\xb9\x7a\x16\x0b\xde\xbc\x28\xe9\x2d\xfa\x36\x1e\xa6\x5b\x7d\x92\xfe\x63\x96\xc4\x55\x27\xd5\x09\x57\x27\x59\xab\xda\xa6\xf2\x8c\x04\xf3\x73\x88\x4e\x9e\x4a\xa6\xb2\xa8\x1e\xc5\x13\x34\x59\xe5\xa9\x17\x27\x9d\xaf\x5b\x5b\x35\x28\x79\xc1\x16\x22\xff\x4b\x3b\xad\xa4\x86\x67\x3c\x31\x65\x96\xa6\x0b\x84\x83\x79\x38\x00\xc6\xe2\xac\x0e\x61\x4f\x47\xf5\xd9\x73\xb0\x97\x5d\xb4\x24\x7a\xe3\x1a\x01\xf4\x3e\xb8\x18\x5c\x70\x93\x16\x28\x36\xa9\x20\xa9\x20\x51\xc4\xf1\xb3\xbc\x70\x02\xce\xea\xe2\x7b\xba\xe9\xef\xd9\xa9\x3c\x74\x28\xa0\x8d\x27\x2f\xb3\x68\x1a\xcb\x13\x29\xc3\x32\x44\x1a\x62\xc9\x20\x5f\xb0\x01\x01\xff\x68\x84\x52\x5f\xe3\x82\x61\xac\xb4\x45\xda\x42\x95\x94\x18\x4d\x65\x1a\x82\x17\xf1\xd2\x45\x60\x70\x8a\x88\x33\x14\x38\x10\x1e\xa1\x02\x8e\xb3\xf5\xac\x00\x33\x14\xc8\xe0\x14\xbc\xb4\x1c\x2f\x6a\xc9\xab\xc0\xa2\xea\x11\xfa\xb6\x32\x50\xca\xaf\x58\xb7\x6e\x45\x52\x51\x72\x71\x8a\x80\x75\x9b\x70\x22\x6e\x41\xbd\xc6\x12\x83\xbe\x18\x85\xc3\xd0\x59\x88\x2c\x8d\xae\x8c\x11\x70\x11\xbe\x9c\x9c\x9a\x1f\x53\x91\xe4\x7e\x77\x64\x45\x52\x63\x7e\x55\x85\xbb\x4e\xb1\x44\x47\xaf\x20\xd5\x6c\x5a\xaa\x21\x2d\x9d\x27\x54\x4a\x4a\x66\x42\x3c\x04\xb1\xe4\xef\xec\x4c\x65\x7b\xf5\xfb\x59\xb3\xde\x9f\x25\xb0\xe6\x2a\x4f\xac\xac\x8f\xb8\x56\xf2\x84\x86\xf9\xbc\x15\x2b\x16\x7d\x1f\x56\xc0\x13\x3d\xf1\x5b\xfc\xf6\x55\x16\x68\xa4\x97\xf3\xf0\x2d\x7c\x6b\x85\x5d\x61\x89\x35\x7b\x2b\xd6\x9d\xea\xea\x3a\x25\xb9\xb0\xeb\x56\x08\xe4\x59\x36\x4f\xac\x74\x42\x70\x2d\xb8\xe1\x02\xd8\x80\x8e\xe2\x6a\x9c\x36\x7b\xf1\xeb\x73\x12\xe3\xe2\x13\x8b\x23\x18\x83\xc1\x90\xaf\x89\x2e\xae\x4b\x68\x28\x28\x34\x14\x6a\x8f\x17\x1f\x2f\x3d\x52\x0e\x33\x4f\xc3\xb8\x3b\xf0\x12\x30\x4c\xf6\xdb\xe7\x72\xcf\xfd\x97\xd6\x53\x50\xf0\x09\x81\x0a\x50\xf0\xdb\xfa\x18\x19\xb1\x92\x8f\x2f\x04\x13\x1b\xdf\x25\xf1\x89\xbb\x6b\x45\xab\x48\x5d\xc6\x93\xd6\x88\x13\x86\xd6\x56\x77\xc2\xed\xe5\x09\x27\x79\xc3\x53\x4c\xc6\x03\x78\x00\x9f\x62\xb2\xc5\x7b\xdd\xda\xa2\xe2\x75\xa2\x7f\xc9\xba\xcd\x53\x66\x8f\xf5\xf7\x5a\xef\xde\xf6\x56\xeb\xa5\xfa\x1b\x7b\x1e\xba\x79\x77\x52\x38\xf3\xd7\xa1\x30\x08\x86\x6b\xe0\x00\x3c\x85\x64\xc9\x5b\xe8\x51\x5b\x4c\x1c\x59\xce\x5b\x11\x58\xce\x92\x51\x7c\x34\x4b\x06\xbe\xfc\xf2\x40\x32\x9d\x95\xd4\xf2\xe9\x2c\x81\x23\xbc\xa5\x43\xea\xf8\x80\xc7\x0e\x8b\x5e\x31\x9a\x15\x2d\xea\xb1\xbc\xa4\xc7\x0e\xfa\x26\x2b\x75\x48\x1d\x1f\xb3\x84\xaa\x4c\x49\x28\x8d\xd7\x12\x78\x0b\x5f\x85\xd9\x78\x01\x67\xe3\x64\x14\xa6\xfb\x08\xb7\x7c\x70\x32\x08\x38\x5b\x8b\x17\xf0\x55\x9c\x8d\x6f\x91\xff\x52\xa2\xac\x06\x0f\x9e\x80\x7a\x05\xbf\x82\x27\xb6\xad\x1c\x26\x12\xbf\x3b\xb1\x96\x04\xf0\x66\x35\x76\x07\xf0\x04\xc6\xf0\xbd\x53\x8d\x7c\x14\xdf\xc4\xf7\x4e\x7d\x8f\x27\x07\x21\x89\xc5\x6e\x1a\x07\x78\x79\xe1\x00\xf1\xb9\x5e\x41\x60\xb1\x95\x85\x38\x10\x18\xca\xef\x6b\x27\xc2\xeb\x5b\x90\xcf\xdf\xbc\x88\x49\x57\xc4\x17\xc6\x15\xc4\x0b\x8f\x1f\xd7\x3d\xd6\xc2\x60\xf0\x88\x36\xc2\x20\xf1\x70\x01\x55\x58\x5e\x50\x6e\xd2\xd4\xe6\xd6\xe6\xd5\x08\xd3\xdb\xc7\x97\xbc\x72\x9c\x89\xfe\xac\xf2\xeb\x2f\x35\x84\x7b\xc2\x5b\xb6\x48\x5b\xdc\x80\x66\x03\x02\xdc\xee\xf1\x56\xca\x76\x93\x54\xec\x3d\xde\xbd\x33\xe0\x99\xad\x76\x28\x82\x6a\x78\xf0\x23\x6b\xee\x94\xf6\x71\x78\xc3\x0b\xbe\x54\x60\x8d\x94\x46\x41\x3f\x1a\xc6\xe2\x35\xca\xd0\xbc\xa6\x7e\x8d\xd0\x70\xba\xe5\xac\x41\x03\xe3\xe1\x1a\x05\x72\x5a\x5a\x4f\x92\x78\x18\xc3\x12\x54\x73\x0b\x79\x02\x0b\xb1\x15\x03\xf0\x34\x85\x6a\x9c\x06\x15\x34\x8c\x85\xa2\xf2\x1a\x53\x4d\x49\xa5\x7b\x51\xa9\xb1\xb4\xb0\x94\x29\xa2\x0b\x33\x8b\x32\x4b\x32\x5b\xd6\xbb\xc1\x44\x2c\xa6\xa0\x80\x26\x8a\xa9\x3c\x39\xc0\x83\x9a\x64\x67\xe7\xe7\x66\x8b\x96\x28\x34\x51\x69\xd9\x99\xa9\x29\x1a\x5d\x8f\x6f\x1c\x5b\x5c\x5c\x50\x54\x2c\x48\x51\x60\xa2\xca\x8b\x4b\x2b\x2a\x35\x3a\xaa\x0b\xb2\x58\x12\xc4\xeb\xa8\xae\x55\x2c\x19\xf8\xdd\xcb\x75\xac\x40\xa4\xfb\xb8\x1a\x12\x61\x35\xbc\x42\xc3\x2a\x50\x82\x0c\xe6\xde\xed\xce\xca\x6d\x14\x70\xa3\x02\x95\xf9\xd4\x88\xb8\x37\xe7\x8b\x38\x0c\xe2\x14\x61\x98\x48\x61\xa0\xe5\x3e\xd9\xce\x82\xc9\x75\x39\x6b\x33\xb5\x36\x91\x25\x8a\xa2\x4c\x63\x56\x49\x96\x79\x55\xef\x2a\xb7\xd6\x88\x06\x53\xbb\x86\x70\x73\x97\x2e\x9d\x3b\x77\xe9\xbb\xd7\x61\x23\x4b\x86\xf2\x33\x78\x62\x60\x61\x1c\x4b\xda\x78\x6f\x9e\xac\x62\x95\xb4\xcd\xf6\x31\x51\x00\xcf\x5a\x4c\x16\x93\xdb\x63\x5e\xb2\x3a\xc9\x95\x35\x59\x1f\xb1\xa4\x56\x5b\x66\x2a\x2c\x2a\x13\x9b\xcb\x6b\x9a\xdb\x34\x84\xaa\xac\x2c\xad\xa9\xd5\x90\xef\x7f\x06\xa7\x4e\x78\x49\x0b\xed\x10\x8f\xb6\x5d\x5a\x38\x11\x87\xde\x04\xd5\x70\x31\xbb\x34\xdd\x98\x5e\xc0\xa4\xa7\xe7\x66\x65\x8a\xe4\x67\x16\x4d\x68\xea\x6b\xf1\x1a\xf0\xe6\x05\x68\xe2\xaf\x58\x47\x9e\x23\xf9\x7f\x1a\x8f\x97\x7c\xc8\x7f\xcd\x1b\x5a\x85\x40\x39\x4d\xc6\x58\x19\xb0\x40\x60\x3a\x2b\x10\xf9\x6c\x96\x70\x38\xc5\x3c\x08\x07\xd0\xa8\xc7\x85\x77\x5e\xbe\xf2\x6e\x55\x55\x59\x79\x71\x99\x7b\x69\x25\x55\x98\x40\xa7\xe5\x27\x27\x6b\x2c\x73\x70\x1a\xd2\x52\x88\x82\xdc\x61\xad\xd4\xf2\x06\x4f\xbc\x79\x30\xc5\xb2\x04\xac\x6c\x1b\x07\x92\xeb\x4b\xdf\x9d\x2b\x90\x36\xf6\x9b\x6f\xbe\x99\xfc\xff\x7f\x25\xd0\x11\xcb\x82\x9c\x25\x65\x39\x10\xc2\x13\x74\x43\x93\x22\x8d\x35\xab\xe9\x1f\x78\x34\x81\x1b\xdd\xcd\x13\xee\x1c\x38\x16\x19\xcb\x4a\x4a\x0a\xdc\xe1\x3a\x5d\x9c\x6f\xca\x2a\xca\x39\x8b\x8e\x6e\x52\xd4\x36\x7f\x1e\xaf\xd0\x73\x61\x1a\x45\xfa\xcc\x49\x77\xfb\xb0\x36\xc1\xef\x65\x56\xd7\x93\x3a\x96\x27\xe0\xc0\x2a\xfd\x79\x03\xea\x09\x78\xb1\x0e\x84\x6e\x66\x09\xdd\xc2\x93\xb3\xac\x6d\xfd\x9a\x4c\xe4\xe1\x25\x56\x20\xb6\x3e\xc2\xda\xec\x4c\xb0\x98\x27\x36\x13\xda\xa0\x26\xad\xa6\xda\x96\x3d\x9a\x3d\xf1\x2d\x11\x26\x01\xdf\xfc\x02\xd7\x41\x83\x64\xa7\xe9\x31\xd1\x16\x3b\x5c\x87\x0d\xf8\xe6\x2b\x82\x72\x84\xcf\xed\x47\xa6\xd2\x52\x93\xa9\x34\x33\xdd\xe7\xda\x6b\xb7\xad\x2e\x99\xc1\x83\x86\xc6\x32\x2c\x25\x8a\xfd\x3c\xa1\xf7\xf0\x84\xd3\xf5\xf8\x0e\x63\x51\x0d\xad\x2c\xa8\x97\xf1\x24\x8a\x95\x4c\xe4\x6a\x12\x4f\x1a\x41\x64\x49\x23\x9a\xe0\x3c\x6b\x67\x80\xf3\xac\x03\xf9\x7b\x51\xf7\x79\x37\x94\xf0\xdc\x68\x56\xe8\x35\xd9\x4c\xf6\x5f\x64\x2d\x26\x85\x55\x14\x06\x57\x3e\x29\x4e\x24\x2f\x54\x79\xf7\x69\xe2\x26\x4d\xac\x48\xb0\x63\x18\x4b\xf0\x08\xc6\x61\x1c\x1e\x21\xc9\x55\x31\x86\xe4\x64\x52\x9b\x59\x93\x52\x49\x6e\x5c\xbe\x7c\x83\x28\x24\x1e\xfa\x53\xd5\xc5\xa6\xca\x6a\x0d\xa8\x15\xe5\xd9\xe5\x19\x25\x42\x46\x49\x6a\x61\x7a\xae\x85\x20\xe3\x46\x20\x90\x15\x24\x8a\x2d\x35\x89\x10\xa5\xb0\x96\x4a\x78\x48\x5b\x0b\x24\xda\x74\x93\x91\x3e\x8b\x76\x3a\xb4\x96\x44\xaf\x88\xaf\x4e\xac\x93\x94\x3c\x51\x60\xd2\x1c\x2a\x29\x3b\x3d\x25\x49\x83\x6a\x45\x5a\x71\x5a\x59\x96\x90\x53\x52\x92\x57\xaa\x2d\x2a\x32\x14\x14\x89\xe4\xc6\x65\xff\x39\x04\x5d\x51\x39\x0a\x5d\x42\xc5\x41\x96\x49\xd4\x0e\xba\x4f\x78\x10\x2d\x6a\x4f\xfe\x21\x71\x48\xe0\xcd\x6a\x38\xc2\x4b\xce\xfc\x07\x3c\xaa\x49\x65\x79\x41\x61\x99\x58\x62\x2c\x30\x6a\x73\x15\xa9\xe9\xd9\xd9\x19\x69\x19\x29\xee\x16\xca\xd2\x46\x8d\x97\xbe\x56\x10\xd4\xcc\x61\xbf\x66\xc9\xd7\x56\x2a\x4d\xe5\xfb\x66\x54\x72\x6c\x7b\x3b\x08\x0c\xf4\xe3\x09\x94\xb3\xfb\xda\x49\x7c\x42\x66\x4a\x0a\xe1\xe0\x81\x42\x52\xc3\x64\x0a\x3f\x56\x58\xf4\xb0\x9b\xb3\x0c\x83\x99\x92\xed\x8f\x33\x29\x02\xfb\xc3\x6c\x7b\xfa\x1c\x74\x8c\xcc\x55\x27\xa5\x46\xf1\xa8\xd6\xf5\xc8\x74\x8c\x8c\x26\xc7\x9a\xda\x3a\xde\xb6\x72\x0d\x3f\xae\x29\xa5\x31\xb6\x52\x88\xad\x88\x2a\x88\x49\xcb\xcc\x49\xcd\x4a\xce\x64\x08\x7d\x0b\xae\xf5\xa9\x20\x74\x2f\xcd\x4a\x2b\x4e\xd7\x62\x94\x4d\xf1\x60\x8e\x38\x15\xbf\xa6\xc8\x7b\xd6\x11\x12\xc4\xf0\xca\xb6\x84\xe6\xa8\x72\x21\xb2\x7c\x47\x76\x5c\x2c\x49\xae\xac\xcd\xaa\xd1\xf6\x69\x8d\x21\x55\xbc\x1d\xf1\xe7\xfb\x76\xaa\x4e\xe2\x89\x62\xcf\xe2\x05\x95\x0b\xb4\x68\x87\x41\x2b\x71\x20\x0e\x84\xa0\x95\x60\x07\x76\x10\x74\x1e\x06\x8a\x84\x86\x2d\xf1\x28\x07\x27\x5c\xad\xc5\xd7\xd0\x13\xa7\x60\x2d\xd6\xc3\x4b\x38\x15\x42\x61\x26\x49\xae\x8c\x31\xa4\xa4\xb8\xaf\x59\x93\x92\x62\x88\xa9\x4c\x76\x27\xd8\x8e\xf1\xf0\x19\x2b\xc9\x59\xc2\x85\xfd\x1a\x36\x7c\x78\xd8\xaf\x61\xfb\x87\xef\xff\xf5\xd7\xfd\x14\xb1\x83\x5c\x9e\x18\x12\x78\xf2\x2a\xdb\x19\xb0\x9c\x27\x13\xf9\xd1\x2c\x89\xe2\x39\x1b\x1d\x9a\x60\x3d\x0b\xc1\xbc\xa4\x86\x6e\x07\x02\x8b\xf8\x7b\xe3\xc8\x7f\x5b\xd8\x37\x80\x9a\xf8\xfd\xcc\x93\x30\x1e\x0e\xb3\x64\x24\x0d\x0a\x9e\xe4\xb2\x30\x7c\x17\x59\xc2\x82\xda\x81\x70\xab\x79\xd2\x98\x6b\x65\xec\x10\x25\x79\x83\x49\xf2\x96\x94\xac\xfa\xdb\x6c\x96\x5c\x65\xad\x8d\x53\x47\x75\xcd\x64\xf1\x16\x41\xc7\x51\xa3\xd0\x11\x1d\x47\x3d\x00\x47\x70\x7c\xd0\x77\x1d\x85\x8e\x02\xe1\xf4\xac\xad\x3b\xbc\xc0\x12\xd8\x60\xe5\x5a\x3e\x6c\x8f\x75\x2c\x00\xdd\x74\x5d\x35\x51\xcc\x63\x89\xd9\xda\x38\xf7\x26\x51\x51\x6f\x75\xa5\xbc\xa7\x85\x31\x30\xf2\xce\xe1\xab\x62\xa9\xb1\xa4\xc8\x58\xc8\x10\xee\x47\x30\x53\x15\x45\x0d\x35\x95\x5a\xb3\x89\xae\x6c\x48\x48\x2d\x12\x7f\x44\x33\x45\x60\xdd\x3f\x0e\xff\x12\xc9\x89\x37\xf4\xf5\xb8\xb6\xfd\x57\xc4\x97\x07\x85\xb5\x15\x9d\x83\x28\xcc\x85\x8e\x6d\x02\x69\x8d\x30\x6c\x8c\x88\x20\x68\xd3\xf8\x4b\x8c\x25\x25\x22\xd1\x51\xbe\x34\x51\x7c\xc0\x92\x19\x2c\x7c\xce\x93\xd8\xb8\xec\x1d\xe5\x51\xee\x91\xe5\xcd\x09\x6d\x5a\xb2\x8c\xf7\x1b\xc6\x12\xc9\x85\x2f\x85\x87\x6c\x66\x4a\xa5\x48\x14\x7b\x9a\x9b\xf7\x08\x8f\xe9\x3d\xcd\x51\x3b\x45\xf2\x94\x35\x10\xee\x33\x9e\x26\x70\x04\xe2\x20\x0e\x8e\x10\xec\x50\x4c\x65\x89\x75\x60\x6d\xa5\x42\x02\x56\x3a\xc0\x39\x68\x95\xb8\xe6\x10\xc8\xe6\x45\x42\x35\x37\x57\x1f\x3a\xac\x21\x1c\x7c\xc4\xef\xdb\xd7\xde\xbe\x6f\x7b\xb0\x40\xbc\xf8\x1e\xbd\x62\x04\x4b\x4a\x0d\x25\xf9\xa5\xe2\xcb\x52\x2e\xfc\x1b\xfe\xa2\xaa\xaa\xaa\x6a\xeb\x34\xca\xf4\xcc\xcc\x74\x02\x27\x9e\xf9\xd2\x6f\x83\x27\x05\x39\xf4\xdb\xe8\x49\xf9\x0e\x84\x0e\x9a\xfc\x7d\x74\x1e\xa6\x01\x0f\x3c\x4c\x6b\x6b\x8a\x0e\x17\x88\x62\x0b\x2f\x40\x37\xdc\x67\xfd\x7c\xd8\xff\x92\x44\xd4\x3b\x09\x94\xf1\x60\x22\x60\x7a\xc0\x12\xf0\xe0\xfb\xc0\xa4\x95\xbf\xfe\xee\xd2\xb9\x02\x89\x7a\xb1\xcf\x9b\xa0\xd3\xef\x43\xc1\x89\x44\x44\x6c\x34\x44\xb4\x12\xcd\x04\x96\x18\x0c\x06\x83\x35\x25\x3d\xe1\x96\xe9\x37\xbd\x36\x6a\xcd\x07\x37\x3f\x3b\x7d\xf9\xfa\x57\x1f\x7b\x4f\x11\x2c\x7f\x91\xf5\x42\x44\x4c\xcc\xae\xb8\x88\xa7\x63\xdd\x2a\xaa\x2a\xab\xab\x2a\x98\xc6\x56\x32\x6c\xce\xac\x21\x9e\xdd\x33\x1f\x0b\xf7\x3f\xfc\xb8\x40\x5b\x5a\x56\x6e\x2c\xcf\x27\x43\x58\x49\xed\x4a\x8e\xe3\x13\xe9\xf9\xba\x5b\x42\x43\x6a\x74\x55\x94\x36\x2a\x3a\x39\x26\x55\x24\x1b\x05\xd5\xcf\xf7\x53\x37\x86\xb6\x1f\x17\xff\x3e\xe6\x47\x14\xe1\x35\x51\x2d\x69\x42\x6e\xa9\x29\xaf\x4c\x6b\x1d\x47\x10\x2b\x29\xcf\x03\xf1\x53\xe0\x2f\x81\x87\x83\x8e\x9a\x45\xd0\x9b\x4e\xcf\x2c\x35\xb5\xf0\xe0\x6d\x63\x6e\x04\xd4\xac\x03\x81\x43\x56\x1e\xab\x26\xb0\x82\x55\x46\xc2\x83\x3e\x09\xcc\x81\x98\xad\x30\x0e\xee\xf2\x50\xc9\x0b\x84\x9b\x4b\x63\xbc\x79\x04\x85\xff\xa2\x31\xbe\x77\x04\x35\x77\x20\x51\xe0\x40\xf4\x44\x05\xce\xb1\x62\xad\xde\xda\x95\x54\x5b\x39\x12\xfd\x23\x4f\x26\xf1\xa8\x27\xdc\x8f\x3c\x91\xba\xad\x6c\x9c\xf8\xb3\xd8\x41\x38\x38\xc2\x12\x8b\xfa\x65\xab\x00\x89\x71\x60\x65\xd4\x8a\xd9\x2c\xb9\xca\x8d\x61\x49\x8f\xb5\x76\xd1\x17\x83\xff\x29\x0e\xda\xda\x9c\xe2\x7f\xeb\xb9\x39\xa8\xe1\x09\xfd\xd9\xb5\x1d\x93\x44\xb8\x82\xd7\xb8\xd4\xbc\xf4\x8c\x54\x2d\xd1\xd7\xe9\x0f\xad\x15\x25\xb5\xc5\x44\xbd\x7e\xf6\xcb\x4d\x5f\x69\xc9\xa9\xe0\xc3\xeb\xd7\x07\x87\xac\x5b\xdf\x1e\x7c\xf2\x64\x7b\xfb\x49\xc1\xda\xce\xad\xfd\x10\x19\xcb\x47\xf1\x21\xac\xb5\xa4\x36\xc4\x5a\xe5\x7e\x54\x2b\xac\x18\x57\xc3\x17\x2c\xe9\x53\x4e\x65\xbd\x12\x78\xc4\xee\x23\x92\x33\xbb\x8f\xc0\x1a\x30\x90\xb4\xba\xfa\x9c\x06\x6d\x43\xbd\xb1\xbc\x4e\x94\xf4\x10\x45\x1c\xce\xa0\x82\x83\x31\x3c\xf9\x5b\x3d\x20\xdc\xe4\x89\xcf\x54\xb4\x5f\x85\x4a\x2d\x2a\xd1\xfe\xdc\xed\xa9\x62\x5f\xb1\xbe\xe7\x89\x62\x22\x9f\x94\x98\x9d\x9e\x2a\x58\x0e\x59\x66\x52\xe4\xaa\xb5\x61\x2f\x61\x39\x32\x71\xf6\xcd\x1f\xc8\x95\xce\xce\x2b\xc4\x24\x74\x14\x15\x2f\xda\x90\xcd\xac\xcf\x5e\x93\x6b\xd0\x10\xb8\xca\x8e\xbb\x47\x3c\xad\xa2\xdb\x24\x9e\xec\xa0\x07\x49\x93\x28\x70\x09\x45\xe5\x03\x74\xd5\x12\xdb\x04\xd7\x6d\xa2\x69\xe6\x49\x6e\x99\xd6\x68\x2c\x28\x30\x8a\x44\x67\xee\x4a\x65\xc9\x87\xbc\x48\xba\x59\x1d\xed\x4b\x0c\x70\x8f\x25\x79\x36\x9a\x25\x70\x92\xb7\xd2\x67\x8f\x09\xd5\x0a\x02\x1d\xd0\x8d\x1d\x0a\xc2\x59\xc7\x8e\x44\xf2\x91\x7c\xe0\x11\xa1\xe3\x92\x12\xe3\x45\xa2\xb8\xcf\x13\xb0\x56\x11\x89\xcf\x4a\x48\x49\x11\x6c\x83\x6c\x81\x4c\x14\x7a\xbb\x69\x82\x9e\xe0\x49\xe6\x5c\xf6\xbf\x41\x6c\xa4\xa3\x08\xd9\xb3\xf3\xb0\x00\x32\xfa\xf0\x9e\x3d\x87\x45\xb2\x1b\xb9\xea\x98\x42\x21\xa3\x2e\xad\x2e\xa5\x86\x21\x50\xd6\xd7\x43\x29\xc0\x8e\x25\x8a\xb9\xef\x2e\xbd\x2e\x80\x3a\x8e\x27\xd0\xc1\x9a\x4d\xbb\x59\x62\x28\xd7\xc2\xf8\x6a\x96\x8c\x63\xe1\x73\x96\x6c\x59\x88\xae\xbe\xc8\x6a\xb7\x86\x95\x54\x85\x8b\xa4\xa2\xa0\xa0\x69\xb7\xf6\x0b\xba\xac\x24\x23\x23\x5f\x24\xa3\x78\xf0\x0e\xe4\xc9\x15\x56\x29\xa9\x25\x35\xd1\xa1\x2f\x4d\xb4\x2b\xa3\x62\xc3\x42\xc4\xe0\x0d\x6f\xac\x1d\xae\x25\x14\x08\x3c\xf1\xb7\xb1\x23\x2a\xaa\xc5\x3a\x9a\x6f\x16\x09\x37\x35\x9f\xb2\xa8\x14\x55\xf1\xad\x09\x75\xa9\x24\x8b\xc9\xca\xca\xc8\x49\xd7\xa2\x9a\x8e\x4f\x22\xfe\x3c\x76\xd3\x43\x78\xc2\xe1\x00\x89\x82\x01\x34\x99\x64\x25\x63\x73\x14\x37\x9b\x25\xc3\x58\x8c\x22\x92\x9c\xb5\x0a\x9e\x04\xd4\x56\xb9\xce\x04\x6a\x88\x65\xc9\x01\x76\xe0\xcb\xdf\x3d\x23\x06\x45\xdf\x97\x40\x6c\x9f\xe4\xa4\xc0\x01\x8f\xbd\x60\x80\x40\x86\xf0\x71\x49\xd5\x75\xd6\xfa\x31\x11\x1d\xa6\x72\x64\x6d\xd0\x91\xd3\xa7\x8f\x58\xff\x41\x6b\x09\xa4\xf0\x92\xbd\x95\xe5\x58\xd9\x48\xb6\xad\xff\x40\x32\x62\x3c\xca\xd1\xe1\xd1\x38\x20\xa4\xf8\xaf\xab\xa5\x95\x62\x51\x61\x41\x61\x91\x86\x18\xc0\x24\xd9\xf1\x10\xcc\x13\x3b\xc3\x09\xde\xc1\x4a\x4c\x67\x59\x42\x77\x9d\xb2\x4a\xd2\x60\x92\xd4\x60\x22\xa8\x0e\xe3\x49\x81\x75\x9c\x4e\x6a\xb5\xb5\x35\x04\x4c\x74\x3b\x41\x43\x20\x2b\x92\xab\x86\xff\x7c\xc9\x24\x03\xa8\xef\xde\x35\xa0\x7a\x92\x96\x68\x0d\x0a\xa0\x41\x7e\xf6\xd4\x57\x22\x39\xca\x3a\x10\x85\x1f\x2f\x5c\x25\x66\x13\xfd\xf7\x2c\x4f\x4f\x83\xdd\x4f\x3a\xfa\x75\x07\x1d\x5d\x46\x2c\x6a\xc9\x44\xc5\x37\xa5\xef\xd9\xab\x21\x8c\xca\x49\xc6\xc8\x64\x2f\x7a\x47\x07\x62\xb6\xb6\x72\x02\xa3\x73\xa0\xca\x4a\xb0\xb6\xc3\x9c\x76\xe4\xb8\xad\x6b\xe9\x6b\xc7\x76\x24\xa7\x2c\xab\x44\x24\x56\xb6\x6e\x9b\x15\x23\x19\xe9\xb9\x59\x59\x04\xd4\xa8\xb6\x0e\x47\x9e\x91\xc3\xda\xc3\x87\x08\xc4\x43\x3b\x19\x49\xa7\x67\x12\xf4\x0a\x43\x0e\xed\x71\xac\x96\xe0\x10\xfc\x23\x0a\xdb\x34\xc9\x85\x04\xfa\xc1\x68\x70\x80\x5a\xe8\x47\xe0\x86\x15\x4b\x8a\x66\x5e\x20\xb8\x1a\x3d\x61\x10\xbc\x01\x7a\x22\xd7\xe1\x08\x2c\xd3\xc9\x3f\xa7\x09\xdd\xbe\xaf\xd4\x64\xda\x5e\x1a\x2c\x92\xbf\xb5\x5d\x43\x14\xc1\x7f\x37\xee\x82\xe3\x3c\x71\x31\xd8\xda\x3a\xdd\x4e\xac\x43\x78\x62\xe1\x2d\x3c\xc1\xc1\x30\x98\xc8\x64\x32\x99\x9d\xcc\x45\xe6\x20\xfb\xef\x0f\x23\x53\x58\x9d\x7f\xff\x5b\xc6\xfe\xc7\xe7\xf8\x1f\x9f\x03\x1d\x6c\x57\x2c\xa3\x64\x32\x79\x81\x7c\xa2\x4c\x26\xcb\xee\x73\xed\x23\x65\x32\xbb\x7c\xd9\xff\xf0\xd9\x19\x17\x11\x29\xf3\x95\x79\x3c\x93\xd1\xb2\x7f\xcb\x64\x32\x5a\x66\xd7\xf7\xfe\xbf\x3f\x1e\x32\x0f\x9b\xeb\xd0\xf7\xb7\x1b\xf4\xe2\x9e\x4e\xe6\x60\xf5\xd9\x0d\x92\xc9\xec\xe8\xff\x4a\xd0\xee\x1f\xb1\xff\x01\xfe\xff\xc2\x87\xed\xe7\x48\xd1\xc7\x15\xcc\x89\xff\xb7\x13\x96\xdb\xf5\xc8\x64\xb2\x58\x99\xaf\x8c\x92\x4d\x96\x79\xc8\xf6\xcb\xda\x65\x1d\xb2\xf7\x64\x5f\x0e\x1c\x34\x48\x18\xf4\xff\x63\xbd\xda\x62\xe3\xb8\xca\xf0\x37\xb3\x73\xad\x63\x9f\xa1\x34\xa5\x6a\x21\x4c\x21\x51\xd2\xa8\xd9\xdd\x44\xbd\x80\x15\x45\xeb\x36\x71\x1f\x28\xf6\xd6\x72\xab\xaa\xa2\x69\x36\xf6\x6c\xbc\x64\xbd\xb3\x9a\x9d\xb8\x32\x42\xd1\x88\x77\xa2\xbc\xf0\x02\x52\x14\xf1\xc4\x53\x14\xa1\x22\x2e\x0f\x25\x48\xbc\x55\x44\x11\x14\x4a\xa1\x98\x94\x5b\xb9\x9a\x73\x06\x02\x3c\x65\xd0\x9c\x39\x33\x7b\x66\xbc\x49\xfb\x50\x4b\xbf\xcf\x3f\xff\xfd\x7a\x66\xf6\x14\x9d\xa1\x7b\xe8\x31\xba\x40\x4f\xd2\x2e\xed\xd1\x01\x3d\x4f\x2f\xd0\x4b\xf4\x0a\xfd\x36\xbd\x4e\xb7\xe8\x36\xbd\xcd\x66\xd8\x1e\xb6\x9f\x1d\x60\x75\x76\x8c\x2d\xb0\x93\x6c\xc0\xce\xb3\x0b\xec\x12\xbb\xc2\x5e\x67\xd7\xd9\x16\xdb\x66\xb7\xe3\x99\x78\x4f\x7c\x2c\x5e\x88\x4f\xc6\x83\xf8\x7c\x7c\x21\xbe\x14\x5f\x89\x5f\x8f\xaf\xc7\x5b\xf1\xf6\xad\x74\x0e\xd2\x7e\x7d\xab\xe2\x19\xd4\xa1\x0f\xd3\x16\x6d\xd3\x53\xf4\x0c\xfd\x22\x1d\xd2\x88\x5e\xa4\x97\xe9\x55\x7a\x8d\xde\xa0\x37\x29\x65\x60\x0e\x73\xd9\x01\xf6\x08\x6b\xb2\x16\x6b\xb3\x53\x6c\xc8\x22\x76\x91\x5d\x66\x57\xd9\x35\x76\x83\xdd\x64\x34\x46\xec\xc4\x0f\xc7\xad\xb8\x1d\x9f\x8a\x87\x71\x14\x5f\x8c\x2f\xc7\x57\xe3\x6b\xf1\x8d\xf8\x66\xea\x39\x79\x17\x48\xbe\x90\x3c\x97\xcc\x25\xcd\xad\xf7\xb6\xbe\xb6\xb5\xe4\x4c\x3b\xbb\x9c\x7b\x1c\xdb\xb1\x1c\x13\x70\x34\xa7\xe6\xa8\x8e\xe2\x80\x24\xe4\x16\xf9\x37\xf9\x17\x89\x09\x23\x94\xfc\x73\xe6\x1d\xb2\x4d\xfe\x41\xfe\x4e\xfe\x46\xfe\x4a\xfe\x42\xfe\x4c\xde\x23\x7f\x22\x7f\x24\x7f\x20\xbf\x27\xbf\x23\xef\x92\x9b\xe4\xb7\xe4\x37\xe4\x1d\xf2\x6b\xf2\x2b\xf2\x36\xf9\x25\x79\x8b\xfc\x82\xfc\x9c\xbc\x49\x7e\x46\x7e\x3a\xf5\x1a\x1f\xab\x8d\xbb\x74\xe5\xe4\x87\xdd\xe6\xe2\xcf\xc0\x2e\xd4\x30\x05\x95\xc7\xa0\x29\x6f\xbc\xb5\xef\xcb\x3f\x79\x85\x1c\xbd\x85\x1a\x5f\x4a\xbc\xb1\x78\xb4\x99\x9e\x6f\x1e\x5e\xfb\x7e\x92\xdc\x4e\x6c\xc5\x50\xf8\x0e\xa9\xc2\x82\x02\xb1\x73\x76\x5a\xbf\xc4\x56\xaa\x4b\xa2\xbe\x56\x8b\x30\x54\xae\x01\x46\x84\x0d\x3d\x02\x34\xe0\x95\xd4\xfa\x24\x48\xf9\x02\x7f\x39\x5d\x48\x63\xfc\xcc\xf1\x14\xf4\xf4\x39\x2a\xf3\x4c\x60\x53\x8f\x30\xc8\x65\x8c\x5c\x47\xd8\x34\x22\x3c\x68\x88\x67\x33\xc2\x91\x5c\x66\x12\xa4\x7a\x5a\x66\xbb\x95\xca\xd5\xc4\x33\xf7\x1d\x8d\xed\x66\x31\x24\x89\x9e\xc7\x29\xc9\x68\x92\xff\x3b\xe5\x5a\x80\x88\x45\xc3\xf8\x94\xf3\x35\xcb\xb4\x2f\xe9\x72\xec\x12\xdf\x50\x79\x2c\x5f\xd7\x81\x97\xee\x94\xdb\x04\x68\x09\x3b\x8f\xa7\x60\x8e\xe9\xd3\x72\x3d\xf4\x68\x67\x9f\x4a\xbd\xc9\xce\x97\x38\x44\x52\xec\x59\xfd\x5a\x26\xbf\xfc\xcb\x35\xce\x73\x97\x7c\xa2\x16\x49\xb9\x8f\xfb\x50\xe4\x2a\x9f\xba\xa8\xb5\x3e\xe6\x3f\x9a\xce\x96\x21\xf5\x43\x8f\x4a\xfe\x5a\x06\x92\x44\x8e\xf9\x8e\x10\x61\xb7\x9c\xf7\x8e\x3e\x66\xf9\x39\xe2\xec\x4a\x75\xd1\xaa\xb3\x64\x02\xa4\x94\x43\x84\x87\xcc\xbc\xee\x02\x6c\x61\x53\x13\xbd\x54\x23\xb4\x54\x51\xc3\x9c\xa6\x55\xe2\x36\x81\x03\x72\x4c\x72\xed\xe4\x99\x31\xa5\x5a\x48\x7d\x6c\xc9\xf5\x29\x78\x51\xd6\x2b\x91\x57\x11\xa3\x06\x1c\xd2\x80\x69\x2d\xc2\xe7\x53\x50\x23\x1c\x52\xa3\xf1\x73\xee\x43\x13\xfb\x62\x94\xe7\xb7\x65\x54\x67\xba\x32\x3b\xd2\x6e\xe6\xbc\x96\xd8\xbf\x69\x33\xc2\xa1\x5c\x57\x97\x6a\x92\x9e\x6a\x06\xa7\x0d\x40\x4f\x21\x9f\x3d\x2d\x93\x9d\xd6\xcb\x7a\xee\xa4\xbe\x8b\x9a\xec\xca\xf7\x3e\xa7\x29\x51\xa9\xd6\x8f\xe7\x74\x4d\xda\xd5\xbb\x81\xd4\xb7\x43\xb5\xaf\x00\x5a\x4d\xdc\x5d\xe0\xe7\x67\xa4\x59\xfb\x64\x0a\x26\x32\x30\x72\x90\xee\x32\x03\x78\x68\xe7\x2c\x63\xaa\x9a\x87\xf0\x7b\xdc\x18\x7f\xec\xe4\xb5\x2c\x6a\x27\xe4\x8c\x42\x0f\x78\x54\x9c\x45\x5e\x26\x70\xd0\x40\x71\x07\xba\x66\x94\xed\x4d\x31\x2b\xc0\xee\x09\x3b\x53\xec\x6c\x2a\x63\x55\xee\xe2\xfc\x0e\xb0\x33\xf9\x75\xa3\x3a\xcf\x42\x36\xbf\x27\xcc\xff\xe0\x91\xea\x2e\x89\x38\xf3\x7b\x99\xe7\x65\xcb\x3a\xe3\xd3\xb1\xc6\x74\x37\xef\x87\xfd\xc1\xef\xc5\x14\xf6\xe7\x31\x8b\xf8\xd3\xf9\xb9\x57\xf2\x71\x5c\xc4\xf3\xd9\x94\x3e\x96\x4b\x12\x29\xe6\x63\x3a\xf0\xc0\x84\x3b\xa1\x0a\xe9\x07\xc6\xaa\x01\x3c\x2f\xe2\x3e\x28\xfc\x58\x26\xf0\x69\x5b\xc4\x5e\x05\x0b\x98\x49\x41\x8f\x26\xdb\xb7\x2a\x67\x5e\x5f\xa9\x0f\x1c\xd7\x81\x29\xab\x92\xbf\x55\xc1\xad\x2a\x2e\xfa\x2b\x9e\x3f\x6a\x48\x36\xc5\x8c\xe7\xfd\xaa\xdc\xf9\x49\x62\x49\x3c\xe1\xbf\xd8\x0d\x73\x82\x9e\x55\x89\xa1\x3a\x13\xd6\xff\xb0\x64\x8b\xe7\x49\x75\xca\x67\xdb\xaa\xcc\x40\xce\x37\xdf\x67\x36\xcc\x4a\x1c\xc5\x0c\x7c\xa7\xc4\x2b\xe6\x51\x07\x3c\xae\xfb\xbd\xb1\xfd\x2a\x08\x3b\xf7\xa7\xef\x5a\x13\xf8\xf8\x24\x19\x71\x87\xef\xb3\x26\xd3\x97\x2a\xf1\x9d\xb0\xcb\xb3\x5a\xcd\x6d\xef\xce\xbc\xb2\x5e\x98\xd9\x8e\x9c\xd5\x80\x03\x39\xbd\xfa\xde\x33\xf2\x79\x8f\xb0\xdf\xc6\x78\xc7\x65\x3f\x9c\x9f\x60\x5f\xfe\x0e\xd2\xcb\xf7\x03\x91\x67\xc4\x28\xbf\xfb\xf7\xd9\x65\x5f\xf7\x55\xe6\x6b\xc7\x6c\x48\xf4\x4f\xd8\x52\x5d\xaa\x60\x4e\x78\x87\x57\xeb\x69\xaa\xd2\xac\x47\x68\x9a\x79\xad\x22\xd4\xa5\x77\xfe\x5e\xf3\x7d\x3f\xa9\xdb\x50\x7f\xc4\x91\x8f\x29\x0f\x16\xdf\xc2\x8d\xe2\xc7\xa3\x82\x29\x34\x04\x5e\xc3\x47\x30\x2b\x70\x4d\xa2\xeb\xb8\x17\x9f\x13\xb8\x21\xd1\x4d\x3c\x87\x97\x05\x6e\x61\x17\xae\x08\xdc\xc6\x3d\xf8\x81\xc0\xa7\xb0\x1b\x3f\x16\xf8\x0c\xf6\xe0\xed\xf4\x17\xae\x66\xf3\x5f\x11\xff\x15\xb8\x82\xfb\x95\xe7\x05\xae\x62\x46\x39\x2b\xf0\x1a\x3e\xa5\x6c\x0a\x5c\x93\x64\x74\xec\x55\xbe\x21\x70\x43\xa2\x9b\xf8\xa6\xf2\x43\x81\x5b\x78\x40\xed\x08\xdc\xc6\x7d\x6a\x6e\x67\x0a\x07\xd5\xaf\x0a\x7c\x06\x47\xd5\xef\x3e\xed\x0f\x37\x83\xde\x99\xb5\xd0\x3d\xde\xd9\xf0\xdc\x67\x3a\x83\xd5\x4d\xf7\x48\xf3\xf0\x13\x75\x77\xae\xdf\x77\x39\x6b\xe4\x06\xde\xc8\x0b\x36\xbc\xd5\xfa\xbc\x3f\x08\xe7\x5e\xf5\x46\xfe\xba\x37\xbf\xb8\xb0\xfc\xec\xdc\x53\xb3\x8b\xcb\xf3\x27\x5e\x6c\x2f\x2e\x2d\xbf\xe0\x05\xa3\x9e\x3f\x70\x1f\xab\x3f\x59\x6f\x72\x1b\xed\xbe\xd7\x19\x79\x6e\xe0\x75\xbd\xc0\x0d\x7d\x37\x5c\xf3\xdc\xb1\xc3\x91\xb7\x12\xa6\xf2\x5d\x3f\xe0\x9c\xae\x3f\x08\xdd\x30\xe8\xac\x7a\xeb\x9d\xe0\xac\xdb\x09\xc3\xa0\x77\xfa\x1c\x17\x19\xf8\x61\x6f\xc5\x1b\xd5\xe7\xfd\x20\x74\x85\xff\x71\xbc\x6b\x61\x38\x9c\x6d\x34\x52\xfd\x4e\xc6\xab\xf7\xfc\x89\xc4\x46\xbf\xb7\xe2\x0d\x46\x5e\x03\x4f\xc3\xc7\x10\x9b\x08\xd0\xc3\x19\xac\x21\x84\x8b\xe3\xe8\x60\x03\x1e\x5c\x3c\x83\x0e\x06\x58\xc5\x26\x5c\x1c\x41\x13\x87\xf1\x04\xea\x70\x31\x87\x3e\xfa\x70\x25\xad\x11\x7f\xf2\x30\x82\x87\x80\x6b\xaf\xa2\x8e\x79\xf8\x18\x20\xc4\x1c\x5e\xe5\x3c\x1f\xeb\xf0\xb0\x04\x0f\x67\x70\x0e\x7d\x74\x10\x60\x1e\x8b\x58\xc0\x32\x9e\xc5\x1c\x9e\xc2\x2c\x16\xb1\x8c\x79\x9c\xc0\x8b\x68\x63\x11\x4b\x58\xc6\x0b\xdc\xe6\x08\x3d\x6e\xcd\xc5\x63\xa8\xe3\x49\xd4\xd1\x94\xa2\x6a\xa3\x0f\x0f\x1d\xee\x3f\x8b\xa4\xcb\xb5\x5c\x84\xf0\xf9\xff\x35\xce\x99\x94\x6f\xaa\xb3\x82\xb0\xb0\xdf\x85\x2f\x34\x33\x9d\xae\xc8\x22\xa5\x04\xe8\x60\x15\x1e\xd6\x79\xec\x67\xe1\xa2\x83\x90\xd3\x7b\x38\x8d\x73\x92\x95\x01\x7c\xfe\xb4\xc2\x33\xcf\x6a\x11\x70\x2b\xe5\x6a\x4c\xaa\xf6\x1a\xb7\x39\xc4\x2c\x1a\x68\x14\xfe\x3b\x25\xbd\x3a\xf7\xf4\xc1\x25\x1b\xe8\x8b\x68\x06\x3c\xe3\x06\xc4\x87\xd8\x5d\xfe\xfe\x1f\x00\x00\xff\xff\x31\xa1\x82\xc2\x98\x0e\x02\x00"), + }, + "/static/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.eot": &vfsgen۰CompressedFileInfo{ + name: "fontawesome-webfont.eot", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + uncompressedSize: 165742, + + compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\xbd\x0b\x7c\x54\xd5\xb5\x3f\xfe\x5d\xfb\xbc\x66\x26\xf3\x3e\xf3\x48\x26\x93\x64\x9e\x67\x02\x89\x01\xe6\x19\x79\x24\x23\x22\xaf\x04\x44\xa5\x8a\x88\x18\x29\x28\x0a\x28\x2a\x08\x52\x1f\xc7\x4a\x2d\x2a\x55\x44\xb4\xd4\x5a\x1b\x9f\x85\x7b\xad\xe5\xb6\xda\xab\x2d\x7a\xa7\x2f\x6b\x5b\xb5\xb6\x72\xad\xb5\xb6\x37\x6d\xb5\xf5\x56\xf4\x06\x6a\xbd\x0a\x99\x93\xff\xe7\x9c\x33\x93\x4c\x02\x68\x7b\xef\xef\xf7\xfb\xfc\xe7\x93\x73\xce\x7e\xef\xb5\xd7\x5e\x7b\xef\xb5\xd6\x5e\x7b\xe7\xb2\xcf\x33\x3c\x76\x33\x03\x81\x61\xec\x8f\xb0\x83\xf4\x6f\xef\x22\x1c\x13\x63\xfe\xce\xdd\xfc\xf3\x1d\xe3\xe3\x80\x00\x66\xe3\x72\x5c\x86\x0d\x38\x05\x9b\xb0\x0a\x57\xe1\x72\xac\xc3\x2a\x00\x4e\x9c\x89\x55\xb8\x18\x1b\xb1\x16\x17\xe2\x4a\x00\x09\x9c\x8d\x55\xb8\x12\x57\xe1\x12\x23\x4f\x04\x59\x74\xa0\x80\x0e\x4c\x46\x04\x69\x4c\xc6\x14\xe4\x3f\xb6\xcc\x0a\x38\x0e\xa8\xe0\xb0\x68\xf6\xec\xc5\x0b\xd6\x3c\x3b\xe7\x69\xb0\x9b\x75\xc8\xc2\x73\x66\x9d\x36\x9b\x0d\x82\x07\xbb\x79\x3d\x80\xc8\xe9\x67\x4d\x4a\x6f\x4b\x6f\x29\x02\xb4\x04\x40\xdf\xa7\xd7\x5d\xb8\xde\xf6\x6f\x53\x6f\x00\xec\x7b\x00\x76\xf8\xe2\x0b\xaf\x5a\x3f\x3c\x0c\x0e\xec\xe6\xd5\x00\x2c\x17\xaf\xbd\xe6\xa2\x3b\xfe\xfb\xf1\x05\x40\xe8\x31\xb0\xde\xfd\xab\x57\x5d\xb8\xd2\x7d\xcb\x5b\x27\x01\x78\x03\x40\x7e\xf5\xea\x55\x17\xba\x38\xdb\x93\x00\xf9\xf4\xe6\xac\x5e\xb7\x61\xf3\x69\xd7\xd4\x7f\x0e\xa0\xa7\x00\xdb\xe0\xda\xcb\x3f\x7d\x21\xfb\xdb\x83\xcb\x00\xd7\x7d\x40\x9d\x7b\xdd\x85\x9b\xd7\x73\xed\x2c\x0c\x50\xa7\x0e\xcf\x65\x17\xae\x5b\xf5\xc7\x2f\xde\xf6\x18\xd8\xc5\xab\x01\xfe\xe6\xf5\x97\x5f\xb5\xe1\x1b\x77\x7c\xf9\x01\xb0\x35\x83\x40\x68\xa3\xd1\x36\x9e\x7e\xb6\xe3\xe7\x9b\xcf\xbd\xc0\x35\xfd\x6f\xa8\x93\x8c\x26\x1f\xc8\xbc\x98\xae\x7e\x87\x87\x87\x61\x25\x51\xf7\x5a\xc0\x2a\x9d\x43\x80\x88\x61\x00\x56\x0c\x0f\x0f\x0f\x5b\x69\xa4\xd3\x2a\x3f\xf6\xa4\x1e\xc2\x7e\xc0\x1a\x90\x32\x03\x8c\x5c\x7a\xaa\x62\x25\x09\x27\x5e\x42\x3b\x20\x00\xfc\x76\x3e\x03\xe0\x66\xf3\xcb\xae\x02\xe8\xd6\x63\xfb\x7d\xf4\xb7\xfe\x9a\x2b\xaf\x42\x11\x91\xbf\x55\x60\x10\xcd\xca\x6b\x21\x88\x80\x38\x15\xeb\x8d\x8a\x3f\x05\x50\x09\xd0\x5b\xf6\x77\x3c\xe7\xeb\x2d\x15\xd5\xd1\x30\xdd\xad\x3f\x82\xee\x57\xc7\xc6\x49\xc0\x35\x82\x8a\xcb\xaa\x69\xc4\x6a\x1e\x00\x82\x19\x16\x12\x2b\x7e\x49\x45\xba\x9a\xe6\x78\x8f\x9e\x8f\x37\xcb\x2e\xea\xe9\xb8\x8a\xdf\xa8\x5b\x1d\x2d\xb7\x02\x83\x4d\xa8\xc2\x59\x93\x86\xaf\xa9\xff\x13\xdb\x5a\x81\x85\xc7\xe8\xb7\xb6\xbd\xd2\xd8\xb0\x2d\x42\x2d\xec\x35\xf1\x22\x03\x09\xc0\xbd\x02\xb0\xf4\x44\x6d\x3b\xce\x53\xac\x94\x93\xd3\x1f\x69\x34\xdc\x21\xa8\x23\xb8\xdb\x52\x8b\x1b\x61\x2c\xde\xdd\xc2\xb8\xbe\xa8\xa4\x5b\x6a\x3c\x6a\x4d\x3b\x4c\x5c\x16\x25\x83\x80\xc7\xe2\xbb\x8a\x87\x9a\xfa\xc1\xa9\x35\x78\x18\xed\x93\x91\x76\xd7\x7e\xab\xb0\x0a\xa3\xf1\xed\x3c\x70\x81\x58\xd3\x37\x82\x3a\xa6\x3e\xbd\xdd\xac\x16\xe6\x13\x3e\x2a\xfc\x95\x76\x0b\xe3\xfa\xde\x5d\xf9\x5e\x25\x01\x54\x49\xc3\x8f\xa7\x25\x09\x70\x8d\x81\x5b\x45\xa3\x54\xc5\x7b\xe5\xb1\x56\xca\xe4\x2b\x7d\xc9\x54\x14\x59\x05\x6f\xd5\x30\x7e\x1c\xac\x12\xd0\x5a\x4b\x47\x9c\x6a\xc2\x30\x9e\x66\xa4\x9a\xf6\xd7\xf4\x5d\xb1\x16\x27\x23\x71\xaa\xd9\x3f\x95\x76\x8d\xc0\xc8\x03\x27\xf1\x80\x83\x57\xb1\x40\x7f\x98\x8a\x93\x98\x3a\xea\xaf\xd6\xc1\x57\xc6\x8b\x38\x96\x7e\x8b\xe2\x78\x9a\x1e\x47\x2f\x35\x63\xb3\x1a\x57\xac\x8c\x3f\x87\xa4\xe2\xa4\x4a\x5e\x26\xa8\x60\x55\x9c\x54\xbe\x7d\x3a\x9e\x98\x8a\x15\x22\x20\xe8\x8f\xa4\x82\xc4\x0a\x2c\x82\x0a\x47\x75\x7c\x0a\x2a\x38\x51\x45\xe2\x78\xfd\x5d\xc1\x8b\xbd\x3a\xf6\xab\x61\xa4\x8e\xc1\x77\xbe\x1a\xce\x03\x9c\xfe\x7c\xd2\xf8\xaa\xe9\xbb\x2c\xf7\x59\x80\xe7\xc0\x0b\xd5\x71\x04\x74\xd6\xd0\x58\x4c\x7f\x24\x98\x8f\x58\x7d\x6a\xe6\x33\x11\x68\xd4\x69\x70\x1c\x0d\xd7\x8d\x6f\x47\xa5\xde\x59\xc6\x18\x02\x38\xfd\xa9\xe0\xb3\x3a\x9e\xab\xe9\x46\xf2\x0a\x40\x7b\xe5\x3b\x32\x0f\x49\x95\xb0\x4a\x3f\x44\x24\x75\x78\xb8\x76\x4e\x15\x00\xff\x71\xc6\xca\xc8\x58\xd5\xd3\x58\xc6\xcd\xc7\xd5\xb1\x6f\x35\xd3\xaf\x13\xc7\xd3\x74\x25\x6d\x75\x7e\x90\x3e\xc0\x84\xf1\xe3\xa9\x02\x67\x75\x6e\x36\xda\x65\xad\xcd\x33\xfa\x75\x5b\x46\xc3\x23\xd5\xfe\xb0\xfe\xfd\x73\xa3\xfe\xa4\xaa\x30\x57\xe0\x8f\x48\x80\x5c\x53\xc7\xac\x0a\x3c\x27\x4b\x80\xb7\x26\x5d\x2d\xcc\x5d\x02\x50\x7f\x9c\x79\x61\xfc\xd3\x20\x01\x2b\x45\xe0\xdc\x0a\xdc\x13\x2b\xe5\x58\x25\x20\x65\xad\xc0\x3e\xfe\xb1\x00\x4e\xfd\x11\xd4\xe3\x97\x6f\x19\xf7\xad\xe2\xb7\xa6\x1f\x0c\xb7\x00\xd4\x59\xc6\xb5\xdf\x32\xce\x6d\x19\xef\xae\xf4\x6f\xc5\x2f\x8b\x35\x65\x56\x68\x9c\x55\xe9\xaa\x66\xbe\x65\xfa\x18\xb5\x00\x62\x25\x8e\x59\x60\x8e\x0b\x61\x1c\xfe\x84\x9a\xb2\x2c\xe3\x60\x18\x4f\x13\x96\x0f\xb1\xd8\x5a\xf1\x1f\x0f\x4f\x55\xda\xb6\x8c\xa3\x81\x6a\xbc\xf4\x09\xb4\x21\x8d\x83\x63\x84\x06\x9e\x1c\x13\x37\x42\x8f\x02\x70\x91\x91\xf7\xa9\xd1\xf2\x47\xda\x3f\xb6\x4f\x02\x22\xe0\x94\x80\xa6\xe3\xd1\x45\x65\x1e\x4f\x5a\x8e\x1f\x7e\xe6\x38\xf8\x4e\xb3\x8e\xa5\xd5\xf1\x6d\x4b\x1c\xaf\x5d\x95\xb2\xa3\x22\xb0\x86\x07\x5a\x2b\xe1\xdc\x78\x1e\x46\xac\xd2\xbb\x6a\xd0\x23\x57\x1d\xe3\x95\xf2\x47\xd2\x0b\xc3\x48\x8a\x95\xf5\x48\x18\x3b\x3f\xb8\x6a\x69\x44\x1c\xbb\xe6\x27\xad\x63\xeb\xf2\x8f\xa3\xaf\x63\x68\xa3\x26\xbc\xc9\x5a\x83\x97\xf1\x4f\x0d\x6f\x41\xe3\xc7\xc5\xc8\xc3\x6a\x68\x5d\xc5\x64\x1d\xe7\x15\x18\x27\xd5\xf0\x28\x8a\xf4\x71\x2c\x71\x85\xa3\xae\x3c\xe1\x0a\x43\x7c\x10\x9c\xe1\x0a\x83\xa7\x97\x75\xc6\x19\x45\x08\x86\xe8\xb3\x17\x8f\xe3\x09\x3c\x87\xd7\xa2\xb1\x58\x73\xac\x6f\xd0\x39\xd8\x3c\xd8\x35\xb8\x70\x70\xf9\xe0\x65\x83\xd7\x0f\xde\x3e\x78\xff\xe0\xe3\x83\xdf\x1c\x7c\x69\xf0\x77\x83\xef\x0d\x6a\x87\x9c\x87\x9a\x0f\x75\x1c\xea\x3a\xb4\xf0\xd0\xf2\x43\x97\x1d\xba\xfe\xd0\xed\x87\xee\x3f\xf4\xf8\xa1\x67\x0f\xbd\x74\xe8\x77\x87\xde\x3b\xa4\x1d\x76\x1e\x6e\x3e\xdc\x75\x78\xe1\xe1\xe5\x87\x2f\x3b\x7c\xfd\xe1\xdb\x0f\xdf\x7f\xf8\xf1\xc3\xcf\x1e\x7e\xe9\xf0\xef\x0e\xbf\xf7\x37\x0c\x0f\x1b\xfc\xf8\x9e\x71\x35\x62\xd0\x3d\x18\x1d\x2c\x0e\x2e\x1a\xec\x1b\x5c\x3f\xa8\x0e\xee\x18\xec\x1f\xdc\x37\x58\x1a\x7c\x79\x70\x60\x70\xf0\x10\x0e\xb9\x0f\x45\x0e\x4d\x3e\x54\x3c\xb4\xe8\x50\xdf\xa1\xf5\x87\xd4\x43\x3b\x0e\xf5\x1f\xda\x77\xa8\x74\xe8\xe5\x43\x03\x87\x06\x0f\xe3\xb0\xfb\x70\xf4\x70\xf1\xf0\xa2\xc3\x7d\x87\xd7\x1f\x56\x0f\xef\x38\xdc\x7f\x78\xdf\xe1\xd2\xe1\x97\x0f\x0f\xe8\x35\x0e\xff\x71\x78\xd9\xf0\x92\xe1\xb3\x86\x67\x0e\x4f\xf9\xdd\xdb\xbf\x7d\xf7\xb7\x8f\xb9\x1d\x6e\xbb\xdb\xe6\xb6\xba\x2d\x6e\xc9\x2d\xba\x05\x37\xef\xe6\xdc\xcc\xf5\x37\xd7\xfb\xae\xbf\xba\x0e\xbb\x0e\xb9\x06\x5d\xff\xe5\x7a\xcf\xf5\xae\xeb\xa0\xeb\x1d\xd7\x5f\x5c\xff\xe9\x7a\xdb\xf5\x67\xd7\x9f\x5c\x6f\xb9\xde\x74\xfd\xd1\xf5\x07\xd7\xef\x5d\x03\xae\xdf\xb9\x7e\xeb\x7a\xc3\xf5\x1b\xd7\xeb\xae\x5f\xbb\x5e\x73\xfd\xca\xf5\xaa\xeb\xdf\x5d\x07\x5c\xaf\x38\xbe\x3f\x5e\xf6\xf9\x7f\xf1\xd3\x05\xb2\x6a\xb5\xc4\x2a\xf2\xd5\x98\x04\x26\x29\xfc\xff\xe1\x27\x0a\x36\x89\xb7\x5b\xac\x75\xff\xb7\x2a\x68\xff\x1f\x3c\x3b\x4c\x99\x9a\x76\x03\x6c\x03\xc0\x5e\x06\xb8\x5e\x80\x1b\x04\xf8\xc5\x80\x98\x00\xc4\x01\xc0\xb2\x16\xb0\x6e\x06\xac\x2f\x03\xb6\xc5\x40\x5d\x2b\x50\x77\x00\xb0\x6f\x05\x1c\x2b\x01\xe7\x1e\xc0\x75\x00\x70\x6f\x05\x3c\x00\x3c\xf7\x01\xde\xb5\x80\xdc\x0e\xc8\xaf\x01\x3e\x15\xf0\x0d\x01\xfe\x1d\x40\x20\x0b\x04\xdd\x40\xfd\x4a\xa0\xfe\x05\xa0\x61\x3d\x10\x9a\x0b\x84\x76\x01\x8d\x09\x20\xbc\x12\x68\x6a\x07\x9a\x2d\x40\xf3\x06\xa0\xa5\x15\x88\x6c\x07\x22\x83\x40\xb4\x1f\x88\x4d\x06\xe2\x11\x20\xd1\x0e\x24\x06\x00\x65\x16\x90\x7a\x13\x68\xbd\x0f\x98\xb0\x18\x98\xa8\x2f\xdd\xfb\x81\x76\x37\xd0\xfe\x3e\x70\xd2\x6b\x40\x47\x11\xe8\x78\x0d\x98\xd4\x07\x4c\xda\x0f\x4c\xf6\x01\x93\x1f\x06\xa6\xec\x02\xd2\x3b\x80\xcc\x4a\x20\x9b\x05\xb2\xbb\x80\x5c\x04\xc8\xa9\x40\xee\x29\x20\x1f\x01\xf2\xcb\x80\xfc\x7e\xa0\x30\x17\x28\xec\x01\x3a\xed\x40\x67\x1f\xd0\xf9\x04\x70\x72\x2f\x70\xf2\x13\xc0\xd4\xd5\xc0\xd4\x83\xc0\xb4\x12\x30\x7d\x3d\x30\x63\x3d\xd0\x35\x1d\xe8\x7a\x13\xe8\x5e\x0d\x74\xbf\x06\x14\xe7\x02\xc5\xfd\xc0\x29\x93\x81\x53\x9e\x02\x66\x2e\x01\x66\x7e\x08\x9c\xba\x12\x38\xf5\x3e\x60\x56\x2f\x30\xeb\x4d\xe0\xb4\xa7\x80\xd9\xf7\x01\x73\x26\x03\x73\xde\x00\xe6\x1e\x04\xe6\x6d\x07\xe6\x77\x02\x3d\x8f\x01\xbd\x6f\x02\x0b\x56\x02\x0b\xdb\x81\x85\x2a\xb0\xf0\x00\x70\xfa\x3e\x60\x51\x1f\xb0\x68\x0f\x70\x46\x16\x38\xa3\x1f\x38\xd3\x0e\x9c\xb9\x16\x38\xab\x1d\x38\x6b\x37\xb0\xb8\x0f\xf8\xd4\x64\xe0\x9c\x41\x60\xc9\x1b\xc0\x52\x0b\x70\x5e\x11\x38\x6f\x3b\xb0\x6c\x3a\xb0\xec\x43\xe0\xfc\xdd\xc0\xf2\x56\x60\xf9\x9b\xc0\x05\xfd\x40\xdf\x7a\x60\x45\x3b\xb0\xe2\x7d\x60\x25\x0f\xac\x3c\x08\xac\x5a\x04\xac\x7a\x19\xb8\xe8\x87\xc0\xc5\x7d\xc0\xc5\x7b\x80\x4b\x7a\x81\x4b\x4a\xc0\xa5\xb3\x80\x35\x76\x60\xcd\x01\x60\xad\x0a\xac\x2b\x02\x97\xb5\x03\x97\xf7\x02\xeb\xb7\x02\x57\x3c\x0c\x5c\xf9\x06\x70\xd5\x66\x60\x83\x1b\xd8\xb0\x07\xd8\x38\x0b\xf8\x4c\x1f\x70\x2d\x80\x6b\xf7\x03\xd7\xb9\x81\xeb\x1e\x06\xae\xdf\x06\xdc\xb0\x0b\x50\xf7\x03\x37\xd6\x03\x37\x6e\x07\x6e\x9a\x0b\x6c\xf5\x01\x5b\x0f\x00\x9f\xdb\x03\x7c\xee\x4d\xe0\xe6\xb5\xc0\xe7\x8b\xc0\xb6\xdd\xc0\x2d\x25\xe0\x36\x37\xb0\xfd\x79\xe0\x0b\xdb\x81\xdb\xd7\x02\x77\xcc\x05\x76\x44\x80\x1d\x25\xe0\xce\xc5\xc0\x4e\x3b\xb0\x73\x2e\xb0\x73\x2b\xb0\xb3\x04\xec\x1c\x02\xee\xea\x03\xee\x7a\x1e\xd8\xc5\x03\xbb\x8a\xc0\xae\x41\xe0\x6e\x15\xb8\x27\x01\x7c\x71\x19\xb0\x7b\x09\xf0\xa5\x30\x70\xef\x2c\xe0\xde\xa7\x80\x2f\xef\x06\xee\xeb\x07\xbe\xb2\x18\xb8\x7f\x09\x70\xff\x87\xc0\x57\xef\x03\xfa\x67\x01\x0f\x2c\x02\x1e\x6c\x07\x1e\x7c\x18\x78\xa8\x13\x78\x68\x0f\xf0\xf0\x4a\xe0\x91\x65\xc0\x9e\x1d\xc0\x3f\x5b\x80\xc7\xc2\xc0\x63\x07\x81\xaf\xef\x00\xbe\xfe\x36\xf0\xb8\x0a\x7c\xa3\x1e\xf8\xc6\x3e\x60\xdf\x5c\x60\xdf\x00\xf0\x2f\x9b\x81\x7f\x79\x01\xf8\x66\x04\xf8\xe6\x06\xe0\x9b\xcf\x03\xdf\x5a\x02\x7c\xeb\x7d\xe0\x89\xf5\xc0\x93\x00\x9e\x5c\x09\x7c\x3b\x0c\x7c\xfb\x00\xf0\xaf\x4f\x00\xff\x3a\x08\x3c\xb5\x19\x78\x7a\x03\xf0\xf4\x87\xc0\x77\x5e\x18\x7d\xbe\xbb\x07\xd8\xbf\x15\x78\xa6\x08\x3c\xcb\x03\xff\xf6\x3c\x50\xfa\x21\xf0\x7d\x3b\xf0\xfd\xed\xc0\x0f\x96\x01\x3f\x8c\x00\x3f\xdc\x0f\xfc\xc8\x0d\xfc\xe8\x29\xe0\xb9\x5d\xc0\xf3\x93\x81\xe7\x07\x80\x9f\xac\x04\x7e\xf2\x02\xf0\xd3\x3d\xc0\xcf\x54\xe0\x67\x03\xc0\x0b\xef\x03\x2f\xee\x02\x5e\xda\x0c\xbc\xf4\x36\xf0\xf3\x7d\xc0\xcb\xdb\x81\x5f\xb4\x03\xbf\xd8\x06\xfc\xd2\x02\xfc\x72\x1b\xf0\x8a\x1d\x78\x65\x3b\xf0\xca\x41\xe0\x40\x27\xf0\xef\xed\xc0\xbf\xdf\x07\xbc\xda\x07\xbc\xfa\x36\xf0\xab\xb5\xc0\x6b\x73\x81\xd7\x9e\x00\x7e\xdd\x07\xfc\xfa\x87\xc0\xeb\x8b\x81\xd7\x9f\x02\x7e\x53\x0f\xfc\x66\x17\xf0\x46\x11\x78\xe3\x79\xe0\xb7\x6b\x81\xdf\x0e\x02\xbf\xdb\x0a\xfc\x47\x3d\xf0\x1f\x8f\x01\x03\xfb\x81\xdf\xaf\x05\xfe\xb0\x1e\xf8\x63\x04\xf8\xe3\x9b\xc0\x9b\x2a\xf0\xd6\xf3\xc0\x9f\x4a\xc0\x9f\xeb\x81\x3f\x1f\x04\xde\x7e\x13\xf8\xcf\xd7\x80\xbf\xbc\x06\xbc\xf3\x1a\x70\xf0\x00\xf0\xee\xcb\xc0\x7b\x6f\x00\xff\xf5\x26\x70\x98\x07\xfe\xfa\x3e\xf0\xbe\x0a\xfc\x2d\x0b\x7c\xe0\x06\x3e\xb8\x0f\xf8\xef\x7a\xe0\xc3\x25\xc0\x87\x25\xe0\xa3\x04\x70\x64\x2d\x70\x74\x3f\x30\xd4\x0a\x0c\x3d\x05\x94\xed\x40\xb9\x0f\x28\x3f\x01\x68\x16\x40\x7b\x0a\x18\xb6\x80\xe0\x03\x09\x4f\x80\xc4\xf7\x41\xd2\x87\x20\xcb\xcb\x20\xeb\x4a\x90\xcd\x0d\xb2\xed\x06\xd5\xd5\x83\xec\x3c\xc8\xfe\x30\xc8\xd1\x0e\x72\x02\xe4\xda\x06\xf2\xb4\x83\x3c\xfd\x20\xef\x0b\x20\xb9\x13\x24\xbf\x09\xf2\xed\x00\xf9\x5b\x41\xfe\x87\x41\x81\x25\xa0\xc0\x10\x28\x58\x02\xd5\x6f\x05\x35\x6c\x06\x85\xae\x05\x35\x2e\x06\x85\x0f\x80\x9a\x8a\xa0\xa6\x03\xa0\xe6\x1d\xa0\x16\x1e\xd4\x72\x2d\x28\xf2\x30\x28\x5a\x02\xc5\x36\x83\xe2\x16\x50\x7c\x2d\x28\xc1\x83\x12\x2f\x80\x52\xab\x41\xad\x6f\x83\x26\xf6\x82\xda\x17\x83\x3a\x7a\x41\x53\x36\x80\xa6\xbc\x0f\x4a\x0f\x80\x32\x93\x41\x99\x7d\xa0\xec\x1e\x50\x6e\x03\x28\xbf\x18\x54\x48\x80\x3a\xed\xa0\x93\xe7\x82\xa6\xba\x41\x53\x07\x41\xd3\x76\x80\xa6\x6f\x05\x4d\x7f\x0d\xd4\xbd\x04\x54\x0c\x83\x4e\x29\x81\x66\x3e\x0f\x3a\xf5\x79\xd0\xac\xfb\x40\xa7\xcd\x05\xcd\x9e\x0b\x9a\xb3\x1e\x34\x77\x2e\x68\xde\x66\xd0\xfc\x08\x68\xfe\x9b\xa0\x9e\x03\xa0\xde\x7e\xd0\x82\x7a\xd0\xc2\x22\x68\x51\x11\x74\x46\x3f\xe8\xcc\x01\xd0\x59\xb3\x40\x8b\x23\xa0\x4f\xf5\x82\xce\xee\x03\x9d\x7d\x00\x74\xce\x12\xd0\x92\x2c\x68\x49\x3f\x68\x29\x0f\x5a\xba\x0d\x74\xde\x4a\xd0\x79\x03\xa0\x65\xd7\x82\xce\x7f\x0d\xb4\xbc\x1f\xd4\xb7\x0b\x74\xe1\x5c\xd0\x85\xfb\x41\x2b\x06\x41\x9f\x5e\x02\x5a\xf9\x18\x68\xd5\x06\xd0\x45\xab\x41\x17\xbf\x01\x5a\xfd\x04\xe8\x92\x65\xa0\x4b\x37\x83\x2e\xdb\x0a\x5a\x5f\x04\x5d\x35\x00\xba\xda\x0d\xda\xf4\x3c\x68\xf3\x0e\xd0\x35\xdb\x40\x5b\xb6\x83\x3e\xb3\x1a\x74\xed\x76\xd0\x75\x61\xd0\x75\x0f\x83\x6e\x58\x06\xba\x61\x37\xe8\x86\x0f\x41\xea\x5a\xd0\x8d\x1b\x40\x9f\xdd\x01\xba\x29\x0b\xba\xe9\x61\xd0\xd6\xe7\x41\x9f\xdb\x07\xba\xf9\x61\xd0\xb6\x0d\xa0\x5b\xb6\x83\x6e\xed\x04\xdd\xa6\x3f\xfd\xa0\xdb\x7b\x41\xb7\xef\x01\xdd\xb1\x18\xb4\xc3\x0d\xba\xd3\x07\xba\x6b\x07\x68\x97\x0f\x74\x37\x0f\xba\x7b\x08\x74\xcf\x87\xa0\x2f\xf6\x83\xbe\x74\x2d\xe8\xde\xe7\x41\xf7\xb9\x41\x5f\xb1\x80\xbe\xf2\x1a\xe8\xfe\x6b\x41\x5f\xad\x07\x7d\xf5\x6d\x50\xff\x0f\x41\x0f\xda\x41\x0f\x65\x41\x0f\x6f\x06\x3d\xb2\x0f\xf4\xa8\x0a\xfa\x5a\x2f\x68\x4f\x18\xb4\x67\x07\x68\xcf\xc1\xd1\x67\xef\x12\xd0\x3f\xb5\x82\xfe\x39\x02\xfa\xe7\x17\x40\x8f\x3d\x06\xfa\xfa\x1e\xd0\xe3\x11\xd0\xe3\xdb\x40\xdf\xe0\x41\xdf\xd8\x03\xda\x57\x04\xed\xdb\x06\xfa\xf6\x7e\xd0\xbf\xae\x05\x3d\x35\x00\x7a\x7a\x03\xe8\x3b\x3c\xe8\x3b\xbb\x40\xdf\x4d\x80\xbe\xfb\x30\x68\xbf\x05\xb4\x7f\x33\xe8\x99\x5e\xd0\xb3\xfa\xf3\x30\xe8\xdf\x22\xa0\xd2\x5c\xd0\xf7\xea\x41\xdf\xfb\x21\xe8\x07\x3c\xe8\x07\x6f\x82\x7e\xd8\x0f\xfa\xd1\x62\xd0\x73\xad\xa0\xe7\x0e\x82\x9e\xb7\x83\x7e\x62\x07\xfd\x74\x1b\xe8\x67\xfd\xa0\x17\x3e\x04\xbd\x14\x06\xfd\x7c\x17\xe8\xe5\xb5\xa0\x5f\xac\x04\xfd\xf2\x0d\xd0\x2b\x8b\x40\xaf\x7c\x08\xfa\xf7\xad\xa0\x57\x37\x83\x7e\xb5\x1e\xf4\xab\x21\xd0\x6b\xef\x83\x5e\x7f\x0c\xf4\x9b\xc5\xa0\x37\x16\x83\x7e\x6b\x07\xfd\x76\x10\xf4\xbb\x6d\xa0\xff\xe8\x05\xfd\x5e\x05\xfd\xe1\x43\xd0\x9b\xf5\xa0\xb7\xec\xa0\x3f\x4d\x07\xfd\x79\x2e\xe8\xcf\x7b\x40\x6f\x27\x40\x6f\x1f\x00\xfd\xe7\x5a\xd0\x5f\xc2\xa0\xbf\x1c\x00\xbd\xf3\x26\xe8\x60\x16\x74\xf0\x29\xd0\xc1\xf7\x41\xef\x0e\x82\xfe\xcb\x02\xfa\xaf\x87\x41\x83\x3c\x68\xf0\x05\xd0\xa1\x08\xe8\xf0\x22\xd0\x5f\xd7\x82\xfe\xfa\x36\xe8\x6f\x76\xd0\x07\xed\xa0\x0f\x4a\xa0\xff\xde\x0c\xfa\xef\x01\xd0\x87\xeb\x41\x1f\xb5\x83\x8e\x6c\x06\x1d\xdd\x00\x1a\xb2\x83\x86\x56\x82\xca\x76\x50\x79\x3b\x48\xcb\x82\xf4\xf9\x62\xf8\x65\x30\xca\x82\xb1\x30\x18\xd7\x0e\xc6\xaf\x06\x13\x0e\x80\x49\x8b\xc0\xac\x59\x30\xdb\x01\x30\xfb\x00\x98\x63\x10\xcc\x55\x0f\xe6\xce\x82\x79\xde\x04\x93\xa7\x83\xf9\xda\xc1\xfc\xed\x60\x81\x2c\x58\x70\x32\x58\x7d\x27\x58\x43\x02\x2c\xb4\x0d\xac\xb1\x13\xac\xe9\x09\xb0\xe6\xc5\x60\xcd\x2f\x80\x45\xae\x05\x8b\xae\x06\x8b\x3d\x06\x96\xe8\x05\x4b\x4e\x06\x53\xe6\x82\xa5\xb6\x81\xb5\xbe\x0f\x36\x61\x3b\xd8\xc4\xc9\x60\x13\xdf\x00\x6b\xdb\x05\xd6\xfe\x06\x58\x47\x02\xac\xe3\x20\xd8\xe4\x83\x60\x53\xb6\x82\xa5\x8b\x60\xe9\x21\xb0\xcc\x53\x60\xd9\x0d\x60\xb9\x04\x58\xfe\x7d\xb0\x93\x23\x60\x53\xb7\x83\x4d\x3d\x00\x36\xcd\x0e\x36\x6d\x1b\xd8\xf4\x56\xb0\xe9\xaf\x81\xcd\xc8\x82\x75\x3f\x05\x56\xdc\x0d\x76\xca\x00\xd8\xa9\xfd\x60\xb3\x86\xc0\x66\xef\x06\x9b\xdb\x07\x36\xf7\x7d\xb0\x79\x2f\x80\xf5\xee\xff\xdf\x3d\x58\x0f\x70\x6e\x51\x67\xfe\x25\xa0\x10\xf5\x44\x39\x4f\xd4\x33\x40\x25\xad\xb8\x9e\xf5\xaf\x17\x22\x47\xd6\x8b\x38\x62\x70\xcd\x84\xf3\x87\x21\x3e\x24\xa8\x68\xd2\x79\x61\x89\x3c\xd1\x74\xc0\x27\xc6\xa3\x31\x25\x9b\xcf\x44\x3d\xa4\xe4\xb2\x5d\x94\x89\xa6\x9b\x49\x7c\xa8\xad\xbc\x8d\x8a\x21\x45\x09\x0d\xa9\xfa\x9b\x8a\xe5\x6d\x6d\x89\xd6\xa0\xa0\x06\x5b\x13\xc2\xec\x78\x5b\x79\x5b\x19\x4a\x56\x51\xb2\x0a\x07\xb6\xb9\x2d\x1e\x6c\xb4\x58\x1a\x0d\x29\x64\x18\xa2\x2e\xb7\xb7\x01\xe4\xf1\x39\x59\xac\x83\x65\xbb\x58\x26\x1d\xf4\x08\x63\xbd\xd9\x7c\x81\xf2\x99\x74\x40\xc4\xac\xd5\x17\x2f\xbd\x78\xf5\xac\x59\xab\x2f\x3e\xe9\x92\x73\xca\x63\xbd\x4a\x33\x57\xb4\xbb\x5b\x3b\x85\xc8\xd1\xfe\xf4\xc2\x36\xbf\xbf\x6d\xe1\xca\x85\x6d\xfe\x14\x6b\x78\xb7\x3c\xad\x36\x80\xfb\x71\x4b\xc6\x46\xe0\x3b\x75\xc9\x68\x18\xa2\x2a\xa8\x90\x10\x05\xe0\x46\x44\x7f\xc8\x27\xc6\x63\x29\x12\xe3\xb1\x84\xc2\xdc\xde\x7c\x22\xc2\x07\xbc\x7e\x9f\x44\x01\x5e\xd5\x3e\xd2\x6e\xd7\x3e\x22\x89\xae\xe4\xa4\xde\x6c\x3e\xa1\xed\xfd\xd6\x1b\x77\x68\x47\x9f\xb9\xfc\xf2\x67\x48\xa0\x66\x12\x9e\xb9\xfc\x5a\x3a\x27\xc9\x24\xba\x92\x24\x33\xb1\xa6\x66\x7b\x15\x3a\xfb\xda\xd1\x14\x97\x3f\xa3\x1d\xbd\xe3\x8d\x6f\x69\x7b\x93\x86\x28\x36\xac\x4a\x10\x80\x10\x66\x60\x01\x90\xf4\x88\x12\x2f\x39\x59\x1b\x8b\x75\x50\x4a\x49\x2a\x29\x8f\x2f\x90\x89\xa6\xf3\x9e\xe9\xac\x83\x8b\x47\x63\xa2\xdf\x17\x0c\x04\x9b\xf9\x69\x2c\xdd\xc5\x15\xf2\x85\x2e\x2a\x78\xcc\xce\xc9\x79\xf4\xee\x49\x07\x44\x35\x92\xd4\xde\xbf\x3f\x53\x5c\x37\x99\x68\xf2\xba\x62\xe6\x7e\xed\xfd\x64\x44\x76\x08\x25\x87\x4c\x82\x68\xb7\x1c\x29\x3a\xe4\xbb\xbe\xf7\xb2\x38\x35\x56\xe8\xf0\x11\xf9\x3a\x0a\xb1\xa9\xe2\xcb\xdf\xcb\x9f\xaf\x2e\x9f\x79\xa4\x38\x73\xf9\xf2\x99\x42\x69\xe6\xf2\x08\x87\x44\xf3\x4b\x5b\xdb\x26\x4f\x99\x32\xb9\x6d\xeb\x4b\xcd\x89\x32\x1c\xb2\xcc\xb7\x32\xaf\xd5\x63\xb1\x09\xb2\x63\xcf\x86\xdd\x8f\x08\x53\x42\x49\xaf\x37\x19\x9a\x22\x3c\xb2\xbb\xed\xce\xbe\xa3\x25\x3d\x37\xaf\x97\x61\xf6\xb1\xde\x36\x15\x61\x80\x8f\xa5\xa8\x83\xcf\x65\xf3\x99\x74\x33\x0b\x76\x71\x99\x74\x40\xc7\x29\x77\x6f\xd6\x5b\xde\x61\x8b\xf7\x4e\x9f\xa4\x0d\x74\xdd\x78\xf9\xa2\x44\x62\xd1\xe5\x37\x76\x0d\x68\x6f\x95\xef\x54\xbd\x6c\xa9\x25\x71\xc1\xca\xdb\x4f\x7d\xe3\xc3\xb6\x79\xc5\x44\xa2\x38\xaf\xed\xc3\x37\x7e\xfb\x56\x79\x8f\x59\xf6\xd7\x45\x55\x18\x40\xcc\xa4\x51\x39\xe0\x37\xfa\x2d\x29\x88\xf1\x98\x92\xcb\x16\x64\x9d\x4c\x0b\x49\x39\x9f\x0e\xca\x42\x40\x54\x43\xda\xdd\x67\x93\xdf\x27\xfb\xb5\x6e\xad\x3b\xe0\xf5\xfb\xd9\xd9\xda\xae\x86\x4e\xfa\xe0\xf7\xf2\x74\xf9\xf7\xf4\x41\x27\x77\x4d\x20\xa4\xdd\xaf\xd9\x25\x87\xbf\xc9\x7e\xf0\xa0\xbd\xc9\x2f\x3a\xe9\x7d\x5a\xd1\xe8\x4f\x5a\xe7\xd1\x8f\x27\x4c\xd0\x4e\x9e\x67\x85\x29\x51\x57\xea\xb6\xea\xd4\x6b\xa5\x64\x1d\x09\xc4\x25\x85\x2a\x1c\x27\x06\x83\xbf\x82\xd2\xda\xd2\x67\x9e\xd1\x96\x52\x7a\x1e\x6d\xa1\x6b\xe8\xc7\x06\x5c\x13\x4e\x0c\x16\xf3\xd1\x84\x2e\xba\x5e\xfb\x6c\x97\xf6\x2b\xed\xbc\x1f\xff\x98\xb3\x55\xc1\x4c\x7f\x0c\x94\x3a\x8c\xaa\xa0\xe3\xde\xaf\x8f\xe2\x64\x85\x42\xb2\x5d\x5c\x26\x10\x29\xa4\x9b\x39\xb8\xc5\x88\xe2\xce\x47\x04\x5c\xb7\x64\xe8\x9f\x96\x5c\xe7\xe9\x98\xb3\xb1\xf7\x26\x5a\x7b\x53\xef\xc6\x39\x1d\x9e\x61\xfc\x5e\xfb\xfe\xef\x7f\x4f\x5d\xb7\xac\xbb\xef\xbe\x75\x9f\xfa\xe2\x97\xd6\x9d\xa6\xaa\xa7\xad\xfb\xd2\x17\xb9\xef\x99\xe1\xbf\x07\x50\xa7\x8f\x1f\x49\x1f\x3f\x2e\xb4\x60\x12\xba\x71\x3a\x2e\xc0\xe5\xb8\x01\x77\xe0\xab\xf8\x06\x20\xe4\xb2\x4a\x1b\xc5\xc4\x26\xf2\x05\xa6\x51\x3a\xef\xf9\x04\x3f\x79\xb2\x8a\x41\xe1\x15\x92\xa7\xf1\xf1\xff\x60\xfa\x4f\xaa\x6f\xfc\xc0\x21\x55\x09\x19\xb3\xd8\x09\x5e\x3c\x94\x50\x19\xba\x87\x43\x48\x19\xc2\x68\x8c\x50\x93\x53\x53\x6b\x53\x7d\x52\x99\xea\xf2\x99\x1f\x19\x83\x46\x2c\xce\x5c\x5e\x1c\x89\xa2\x7b\x8f\xe7\x2c\x87\x98\x51\xb0\xa6\xbf\xf9\xd1\xf0\xa3\xa3\x4e\xae\x36\x89\x76\xdc\x52\x6a\x9c\xdf\x39\x62\xd4\x2d\x18\x03\x96\x37\x74\x32\xb5\xfd\xa9\xcf\xcc\x63\x30\xd4\x40\xe3\x30\xf6\x09\xf1\x1c\x7a\xb3\x1a\xb2\xbd\xbd\x59\x66\xbc\x47\xdd\x9c\x7a\xa2\x18\x06\x7d\xca\xec\xcd\x92\xfe\x66\x2f\xd4\x78\x86\x5e\x38\x51\x8c\xa1\xc0\x85\x31\xd7\x1c\x4b\x8b\x20\xbf\x09\xd5\x0c\x32\xa1\xf2\x8c\xf3\x8f\x8f\xff\x3f\xed\x1f\x5f\x1f\x43\x67\xab\x56\x6a\xed\xec\x6c\xa5\xa2\xfe\x1e\x75\x33\xb5\xd6\x57\x56\x4f\x1c\xf7\xf7\xa7\xac\x75\x53\xc4\x70\xea\x2f\x7a\x6d\xc4\x59\x1e\x75\x72\xc7\x0d\xfd\xc4\x04\x35\x85\x99\x0a\xeb\x63\xfb\xe2\xff\x78\x2f\xfc\xfd\x58\x15\xd0\xd9\x3a\x64\x84\x71\xa5\xd6\xce\xa3\x38\x71\x5c\xad\xfb\x7f\x88\xab\x31\xa8\x00\xe1\x1a\x38\xc5\xcf\xf3\xdf\x44\x00\x80\x4f\x22\x49\x8c\x4d\x22\x52\xb2\xdd\x94\x4f\x07\xad\x94\x4f\xb7\x90\xf8\xf9\x70\xb9\x7d\x5b\x78\x51\x78\x9b\x76\x4f\x38\xac\x3b\x48\x61\x3b\x74\x3f\x77\x78\x91\x11\x15\xde\x46\x97\xea\xfe\x70\x58\xfb\x35\xbb\x33\x1c\xde\x06\xc2\x65\xc3\xef\x09\x5e\x7e\x27\xe2\x40\xc2\xe7\x22\x31\x96\xb2\x92\x5e\xb6\x92\x2d\x58\xc7\x96\x1f\xf0\x49\x56\x12\xbc\x46\xc9\xda\xeb\xda\xeb\x66\x49\xa4\x68\xaf\x57\x6b\x23\xa5\x52\xfa\xeb\xa4\x68\x1f\x1b\x1b\x1e\x29\xc5\xe4\x5d\xcc\xf9\x22\x8e\x36\xcc\x32\x7b\xb8\xcd\x7c\xe9\xdd\x12\x37\xfb\x66\x1a\xe5\xf4\x57\x3a\xd0\x44\x99\x74\x33\x55\xb8\x2c\x9c\x88\xcb\xe2\x21\x3b\x06\x64\x47\xd1\x21\x0f\x38\xe4\x1a\xe7\x18\xde\xab\x27\x77\x22\xde\x8b\x0d\x1c\x93\x53\x77\xfe\xa9\x86\x21\x7b\xf2\xd2\x9e\x13\x30\x64\xb5\x6d\x72\x21\x88\xc9\xc7\x50\xed\xdf\x07\x7f\xb9\xa4\xd7\xca\x8a\xff\x18\xd4\x06\xbc\x7f\x37\xa4\x95\x35\x5e\xd4\x87\xdb\x04\xe4\x74\x2e\x88\x89\x7c\x24\xa1\xb0\x5c\xd6\x5b\xc8\x07\x82\x01\x51\x72\x92\xdf\xd7\xcc\xd2\x5d\x2c\x97\x55\x52\x1d\x54\xe8\xa2\x60\xc0\xab\xcf\xd9\xe6\x0c\xad\xf3\xd4\x5b\x5e\xd2\xde\xd4\x9e\xd7\xde\x7c\x69\xcb\x03\x3b\xdb\x2e\x69\x89\xb8\x26\xae\x58\x73\xc6\xad\xcf\xbc\xfc\xcc\xad\x67\xac\x59\x31\xd1\x15\x69\xb9\x74\xe2\xce\x07\xca\x6a\xef\xea\xde\xde\xd5\xbd\x4c\xbd\x4f\x4f\xb9\xe5\x25\x0a\xdf\xf7\x6d\x9a\xb9\x2e\xe2\x6c\x9b\x78\x49\x64\xfe\xab\xd7\xac\x7e\xe6\xd6\x33\xce\xb8\xf5\x99\xd5\xd7\xbc\x3a\x3f\x72\xc9\xc4\x36\x67\x64\x9d\xf6\x2c\x9b\x5f\x36\x26\x68\x66\x4c\xd0\xe6\x06\x59\x85\x1f\x1c\x9d\x17\x90\x1c\x21\x17\x93\x48\x92\x1e\xd3\xaf\xc3\x77\x3c\x3f\x7d\x92\x1f\x5e\x67\xc9\xe9\x35\x5e\xa4\xfe\x63\xee\xbe\xaa\xc3\x7b\xa5\x66\x38\xa9\xe8\xf4\x7a\x0f\x97\x0d\x37\xd3\xdd\x74\xe5\x90\xfe\x71\x72\x7a\x10\x1d\x3e\x62\x78\x04\xdd\x33\xda\x1f\x86\x3c\x71\x19\x80\xac\x12\x13\x7d\x81\xb4\x4e\x41\x2e\x12\xa5\x40\x30\xe0\x93\x9c\x14\x8f\x4d\x22\x51\x12\x25\x03\xea\x49\xa4\xa4\x24\x9d\x90\x94\x94\xce\x26\x76\x51\x41\x99\x44\x1d\xa4\x23\xa3\x9b\xf2\x85\x6a\x68\x26\xdd\x42\xf9\x42\xbe\x60\xb4\xb0\x85\x02\xc1\x42\x3e\x93\x0e\x06\x82\x3a\x0b\xed\x24\x29\xd0\x42\xcd\xc4\xe3\x9e\x03\xf7\xdc\x73\x80\xdd\xe3\xb6\x3f\x2d\xfb\xe2\x73\x6d\xd6\xc6\x1d\x01\xbb\xf3\xd6\xf6\x49\x6e\x87\xd4\xf4\x3b\xa7\x9f\xc2\x53\x26\x7c\xc1\xe6\x72\xd6\x5d\x9f\x92\x2c\xae\xb9\xde\x46\xe7\xbf\x3a\xdc\xee\xba\xef\x38\x1b\x5a\x4f\xb5\x59\x43\x77\x06\x1c\x8e\xb1\x89\x6f\xb7\xba\x1c\xf6\x1b\x13\x46\xe2\x90\xeb\x5f\x1d\x6e\x16\xd0\x6b\xb8\x87\xd6\xfd\xce\x1e\x60\xe1\x7c\x32\xbd\xc4\x1e\xb2\x25\x6f\xb7\xae\x0d\xba\xb6\xa5\xc3\x1e\xc7\x53\x6e\xff\x1a\x6b\xdd\x95\x79\x9b\xc3\x5e\xe7\x3f\xaf\x21\x3d\xa5\x91\xf9\x1d\x46\xda\x8e\x8e\x93\xcf\xb0\xdb\x6d\x8e\xc4\x1d\xb6\x35\xb5\x89\x6d\x9b\x32\x16\xa7\x99\x78\x72\x98\xf9\x8d\xb5\x63\x58\x15\x46\x79\x90\x69\x38\x15\x17\x9b\x7c\x48\x6d\x2f\x0b\x9f\xe0\x97\x3d\x51\x8f\xaf\x59\x97\x51\xbb\x88\xa2\x29\x25\x15\x15\x25\xc1\xa0\xb4\x11\x86\x25\x5e\x1d\xd3\x05\x43\x96\x0d\xb4\x90\xb1\x86\x78\x9d\x46\x9f\x16\x9d\x5e\x3a\x81\x5b\x1d\x52\x9d\x2e\x8e\x2b\x72\x2e\x67\xb9\x8f\x4a\x93\x25\x9b\xf6\x03\x9b\xc4\x5d\xee\x75\xf6\x2d\x9f\x39\x54\x9a\xb9\xbc\xcf\x20\x9d\xdc\x6c\xd7\x42\x7d\x85\x59\xe8\x9a\x4d\x39\xa7\x97\x8b\xd4\x90\x91\xf3\x04\xee\x72\x33\xf7\xc4\x50\x6f\x20\xe9\xf1\x24\xf9\xf9\x1b\xad\x8c\x59\xef\x2e\x3a\xbd\x43\xbd\x67\x5d\xb3\xf1\x2c\xee\x29\xa3\xf6\xaf\x25\xb3\xd9\xe4\xd7\xbc\xe6\xf8\x0f\x01\xe2\x45\x02\x07\xd9\x18\xff\x46\xd3\x3c\x51\x4f\x85\xff\xca\x59\x29\x50\x90\x44\x29\x6e\xac\x0c\x29\x9d\xd6\x74\x49\x3a\xdd\x52\x9d\x8f\xfd\x9e\x60\x33\xe9\x9c\xab\xa6\x0e\x43\x53\x43\x0a\xb1\x6e\xd6\x4d\xff\xd1\x65\x71\x70\x0e\x4b\xb9\xb7\xdc\x6b\xb7\x3b\x2c\x5d\x16\x66\x63\x3f\x8f\x2c\x89\xbc\x6f\x0c\x8d\xdf\xd8\x18\x8b\x68\x11\x9d\xb1\xd5\x19\x5d\x1a\x20\x9e\xe8\x75\x4d\x61\xa7\xcc\xb7\x32\x89\x9d\x52\xfe\x37\x0b\x31\xeb\x7c\x5b\xa3\x85\x9d\x13\x0a\xbd\xf0\x03\xbd\x6d\xda\xea\x6f\xeb\x32\xbf\x39\xb7\xea\x5d\x2c\x23\xa4\xaf\x5b\xd4\x4c\xfe\x71\x0c\x64\x50\xf2\x44\x95\x14\x29\x64\xb6\x22\xea\x11\xf6\x87\x5b\x3b\x5b\x8f\x18\x6b\x2a\xa7\xb6\xf6\x85\xb7\xd2\x66\x9b\x5d\xfb\xb1\x9d\x3e\xad\xf5\xb5\x76\x96\xc1\x6f\x0d\xf7\xb5\x1e\x55\xf5\x78\xb1\xd8\xda\xd9\x1a\x9e\xa5\x6d\x6b\xb2\xd3\xc9\xf6\x23\x5e\x1e\x9d\xad\xd4\x6f\x28\x35\xb8\x91\xb1\xe9\x43\x04\xed\xa3\x9c\xad\x39\xef\x54\xc8\x06\xee\x0e\x8a\x38\xc9\xdd\x4c\x91\x3c\xdc\x8c\x8f\x24\x98\xdb\x9b\x88\xf0\x9c\xea\x75\x9a\x33\xc2\x80\x49\x0e\xfd\x3b\x8f\x68\xaf\x1d\xd9\xb9\xf3\x08\xb5\x1e\xa1\x2b\x5f\xd2\xbe\xaa\x2d\xd7\xbe\xfa\xd2\x4b\x74\x21\x3d\x48\x17\x72\x03\xda\x08\xdd\xe8\xb4\x50\xd6\xa8\x55\x4f\x6b\xe4\x60\x17\xd4\x26\x7d\xe9\x25\xa3\x1f\xd3\x80\xb4\x50\x00\x3c\x38\x15\xa0\x1c\xd7\x41\xba\x98\x22\x71\x7e\xd1\x94\x73\x7c\xf1\x68\x3a\x9f\xe2\x3a\x48\x97\x76\x24\x4e\x0c\x64\xa2\xb1\x5c\xb6\x40\x3a\xe5\xc6\xf4\xc9\xc5\x48\xa6\xcf\x1c\x71\x1d\x87\x14\xe0\xcf\xa9\x27\x9f\xe3\x3b\x0e\x1f\xd5\x93\xd7\xfe\xbe\xdd\xcb\x3e\xe8\x28\x17\x1d\x5e\xf2\x91\xcf\xa1\x0d\x3a\x7c\xe4\x23\xaf\xa3\x5c\xec\x08\xd1\x03\x96\x84\x8f\xce\x72\xf8\xc8\x45\x5e\xc7\xa3\x0e\x2f\xb9\xc8\xe7\xa0\xb3\x7c\x09\x0b\x3d\x10\x62\x61\x9e\x8c\x95\x49\x2b\xf1\x76\xb7\x5b\x3b\x79\x9e\xec\x20\xe8\x01\xc3\x70\xc8\xf3\xf2\x5d\xbc\x4f\x0e\xcb\x0e\x73\xde\x74\xc8\x61\xf9\xe8\xc1\xae\xaa\x1c\x21\xea\x4c\xa0\x0b\x49\xcc\x00\x12\x95\xb9\xb0\xfa\x95\xc7\x74\x7b\x30\x90\xee\xd6\x47\x1f\x05\x24\x9d\x8f\x21\xa5\x90\xcf\x44\x2b\x04\xe1\xf7\x44\xd3\x82\xa9\x41\x22\xc5\xf8\x3c\xda\xd9\x7a\xc4\x60\xd2\xe8\x17\x9f\x9f\x7a\xdf\xd4\x6d\xf4\x72\x6b\xa7\xf6\x5d\x4f\x8b\x56\xf4\xe6\xbd\x5a\xb1\xc5\xe3\x99\x48\x50\x42\xa4\x0b\x5f\x98\xf8\x68\xd6\xcc\xa5\xff\x51\x64\x94\xef\xdb\xd6\xd9\xb9\xad\x93\x79\x26\x34\x69\x45\x59\xa6\x52\xd3\x84\x14\x95\x0c\xb9\xa9\x58\x43\x2b\xf5\x48\x18\x3c\x80\x6f\x04\xae\x11\x52\xf1\x7b\x32\xe9\x00\xab\x10\x4b\x17\xb9\x15\xbe\x86\x5e\xf8\x3e\x9b\xf6\xbd\xba\xfa\x3a\xad\xe4\xb2\x58\x02\x25\x63\xe0\x94\x9c\xde\x17\x46\x68\x66\xe7\xce\x63\xa8\x86\xf5\xd9\xed\xda\xf7\xac\x56\x2a\xba\x65\x9f\x41\x37\x4e\xad\xdf\xcb\xd2\x35\x94\xf6\xcc\x31\xa4\x73\x1c\x58\xcd\x39\xce\x9c\x0c\x4d\x15\x84\xce\x09\xd2\x89\x61\x5d\x5e\x03\xa1\x8d\xba\xeb\xea\xeb\xa8\xe8\xfa\xe5\xc7\x82\xba\xcb\xa7\xf5\x1b\x93\x5c\x9f\xd7\x69\xb7\x53\xb7\xd5\xaa\x95\xdc\xf4\xd1\xc7\x80\x6a\x58\x21\x88\x3a\x0b\xe0\x30\x46\x7e\xb4\x83\x52\x5c\x94\x73\x92\x14\x0d\x46\x93\xa3\xd4\x50\x90\xcd\xd9\x38\x28\x07\xb8\x61\x9a\x4e\x1c\x1d\x28\x4f\x3f\x40\x1c\xd1\xf4\x0b\xa8\xc8\xfa\x94\xd0\x11\x35\xa4\x34\xbc\x67\xcb\x85\xb8\x62\x28\x67\x7b\xaf\x81\x15\xb9\x3a\x46\x83\x9a\x9b\xab\x63\xa5\x07\xb5\x66\x43\x0b\xf9\x87\xae\x19\xac\xb5\x21\x16\x6b\x28\xbf\x36\xa3\x06\x47\x2e\x34\x1a\x56\xe7\x7a\x7f\xea\x8b\xae\x5e\x61\x3e\x48\x81\x13\x0c\x7b\xbe\x3f\x52\x1e\x70\x79\xdc\xee\x48\x24\xda\xc2\x22\x1f\x3b\xe8\xd9\x23\xf3\xbd\x5a\xc9\x6a\x91\x93\x4c\x4d\xca\x5e\x59\x2b\xfd\xec\xe3\x46\x3d\x8d\xc0\x94\x19\x99\x8b\x52\x4a\x37\x29\xf1\x98\x93\xf9\x9a\x59\x26\xad\xaf\xf7\x69\x7d\x61\x97\x44\x7e\x84\xc9\xcc\xa4\xf9\x60\x21\x1f\x0c\x88\xd0\x29\x75\xa2\xc7\xd3\x72\xeb\xae\x9f\x54\x99\xaf\x4d\x07\xe6\x49\x6e\x97\xed\x16\x2b\x59\xd6\x69\x3f\x7d\x6c\x94\x55\xbb\x8b\xe4\x35\x9f\x6d\x9a\x90\x12\xa0\x15\x43\x4a\x6b\xaa\xf9\xd6\x5b\x2a\x2c\xde\xea\x0b\x6c\xcc\x7a\xab\xa5\xc1\xb6\xf5\x4e\x3d\x25\x75\x52\xf8\xa5\x2d\x97\xaf\xba\xb1\xc5\xe3\xa9\xe5\x67\x12\x98\x63\x8c\x02\x86\x68\x2c\x91\x92\xc4\xd1\xf9\xda\xe7\xa2\x66\x32\x81\xad\x2c\xbc\x15\x45\xb1\xd1\x94\x11\x3e\x67\x06\x79\x11\x35\x60\x4f\x07\x84\x3f\x53\x51\x5b\xad\xbd\xb7\x53\xfb\xaf\x35\x37\xca\x59\xbd\xbb\x4a\x21\x45\xbe\x65\xce\x13\x17\xde\xfc\xf6\xec\xba\x89\x96\x40\xc9\x21\x37\xe8\xed\x0b\x29\xf2\xad\xbb\x7e\x52\x09\xfc\xb1\x43\x3e\x85\xee\x25\x79\x27\xf9\xd6\x7c\x56\xce\x2a\x34\x20\x30\xed\x7d\xed\x5b\x97\x5d\x74\xa3\x6c\x16\xa1\x64\xe5\x5b\x66\xce\xfd\xec\x95\x9e\x95\x41\x99\x93\xf5\xec\x4a\x56\xbe\xf5\x16\x33\xc0\x21\x91\x9d\x16\x5c\xbe\xea\x46\x59\x41\xc5\xd8\xea\xf8\xfa\x02\xd0\x38\x8e\x34\xf7\x09\xfe\xf1\x72\x69\xee\x13\xfc\xf2\x38\xad\x95\x7c\x8c\x16\xca\x14\x04\x4e\xf4\xe2\x55\xd9\x31\x64\x78\x38\x43\xcc\x38\xbe\x5b\x95\x1d\x47\x0c\x8f\xa0\x7b\x6a\xf5\xba\xd4\x37\x52\xdc\x5f\x8f\xe3\x2a\x1f\x2f\xb0\x26\x3a\xc3\x19\xee\x21\xbd\x3e\x7e\x41\xad\xc2\xd7\x18\xe3\xbc\xa9\x4f\x6f\xd1\xc7\x78\x4e\x9f\xed\xfd\xb5\x3a\x22\x5d\x16\x44\x04\xba\x24\x18\xa0\x22\xd3\x59\x56\xae\x58\x15\xba\x23\x64\xa1\xf5\x64\x89\xb4\x76\x72\x28\x5d\x7a\xcf\x3d\x97\x6a\x03\x65\x63\xbe\x66\xc5\xd6\xce\xd2\x53\x64\xd1\x3e\x7c\xaa\xd4\xa9\xd3\x65\xb1\x22\x47\x78\x50\x30\xe8\x72\x64\xc2\x53\x72\xba\x54\xa3\x73\x83\x3a\x57\xdd\xc1\xe2\x31\x53\x0f\xab\x8f\x73\x9d\x67\x0e\x04\x03\x99\x74\x17\x33\x6a\x2f\x1a\x0d\x2a\xf6\x5c\xda\x23\x94\x1a\x1a\x7f\x75\xef\x8c\xeb\x96\xdd\x36\xaf\xa4\x0d\x7a\xdc\x21\xa5\xc5\x3f\xf5\xe0\xd3\x6b\xbe\x73\xbd\x92\xce\xdf\x70\xfe\x59\x8e\x90\x22\x60\xae\x72\xd4\xa9\x37\x9c\x3f\xac\xcc\xcd\xf5\xf4\x6c\x2c\x0b\x0d\x8d\xce\x0d\xed\xd9\xf6\x9d\x56\x25\xc4\xfe\x14\x09\x3a\x9b\x36\x4f\x9d\x26\x4f\xcc\x4e\x54\xaa\x67\x4e\x0c\x39\xb2\x47\x87\xd0\xc5\x9c\x14\xf7\x8f\xe5\x51\x9b\x28\xad\x33\xf2\xb9\x2c\x4b\x44\x78\xe6\xf7\xb5\xe8\xcb\xf9\x08\x6b\x56\xa5\xb1\x98\x32\x89\x29\xb9\x6c\x45\xc0\x14\xd5\xe9\xbe\xa7\x03\xb7\x2c\x19\xe5\x46\xe7\x5c\x1d\x9b\xd5\xb4\x4f\xfb\x95\xf6\x4d\xed\x57\xfb\x9a\x66\xc5\xae\x9e\x33\x1a\xb7\xe4\x96\xc0\xd3\xbe\xe9\x37\x0f\x50\x96\x7a\x29\x3b\x70\x33\xbb\xf5\xd1\x5d\x53\xa2\x67\xad\x89\x8c\x32\x9f\x91\x39\xd3\xed\x17\xac\xd8\x45\xe2\x7d\xf7\x69\x47\x76\xad\xb8\xc0\x3e\x7d\x4e\x64\x94\x29\x8d\xac\x39\x2b\x3a\x65\xd7\xa3\x5f\xa4\xfa\x17\xb7\x6c\x79\x51\x7b\xdb\x6c\x57\x84\x03\x3f\x00\xd9\x9c\xb7\x62\x29\x1a\xa1\x5d\xca\xa7\x03\x1c\x94\xac\xac\x7d\x4b\x3b\x62\xcc\xc3\x22\x2d\x90\xb3\x0a\xdf\x7f\x54\x1f\xe1\xb4\x40\x09\x91\xce\x66\x2e\x30\xc7\xa0\x4e\x2f\x11\x5e\x35\xca\x3a\xe9\xf8\xa5\xc1\xec\x48\x43\x71\x9d\xed\xe0\x8c\xed\x83\xe0\x71\xeb\x20\xf5\x53\xb3\x6d\xae\x90\x52\x1f\x8b\xd5\xeb\x8f\x12\x72\xd9\x66\x1f\xa7\x62\xcd\xbb\xfb\xa6\xb0\x90\x6c\xf4\x37\xf9\x1b\x26\xcd\x9c\xd4\xe0\x6f\xf2\x37\x26\x85\x46\x98\x86\x99\xc3\x4f\x8b\xaa\x30\xc7\x80\x67\x1e\xd6\xfc\x23\x30\xf1\x6e\x56\x09\x35\xf6\x64\xb2\x8a\x29\xd2\x8d\x8f\xeb\x22\x9d\x10\xbd\x6e\x96\xd2\x05\xf2\x91\x14\x7f\x77\x8b\xe8\x53\xff\xb4\xdd\x61\x6f\x54\x52\x9d\xbe\xf9\x67\x9d\x35\xdf\xd7\x99\x52\x42\x0e\xc7\x76\xfa\x27\xed\x15\x87\x23\xa4\xa4\xa4\x16\xa9\x23\xf1\x99\x5b\x6f\xfd\x4c\xa2\x43\x6a\x91\x8c\xc8\x57\xfe\x7e\x2c\x14\xb4\x97\xb4\xf2\x34\x41\x09\xa5\x7c\x4d\xae\xfc\x43\x4f\x3d\x94\x77\x35\xf9\x52\x21\x45\x98\xf6\x6d\x2d\xab\xdd\x70\x9e\xa0\x84\x12\x41\xde\xc1\x37\x84\xce\x23\x37\xa5\xc9\x7d\x5e\xa8\x81\x77\xf0\xc1\x44\x48\x11\xce\x83\xdd\x10\xf2\x75\x9a\xe7\x20\xa1\x0e\x2e\xc8\x08\xa2\x11\x2d\x88\x63\x12\x32\xc6\x58\xf5\xc7\x73\xb2\x3f\x9e\x8b\xfa\xe3\x39\x32\x64\x15\x4f\x54\xff\x92\x27\xea\xa1\x4a\xb8\xec\x89\xe6\xe2\x9e\xb8\x27\xea\xcf\xe4\xc8\x4c\xe2\x21\x55\x55\x55\x4e\x55\x87\x54\x5d\xec\xd0\x1f\x0e\xfa\x7b\x18\x65\x95\x57\x55\x3d\x5a\x53\x8d\x6f\x59\x2d\xab\x82\x5a\x36\x82\x38\xe8\xd9\x86\x88\x6e\xa0\x4a\x3e\x3d\x96\xa9\x9a\x11\xce\xa0\xe9\xb9\x98\x91\x50\x0f\xd6\x1f\x18\xfb\x80\xd5\xb5\xe1\xd8\x76\xa4\xd0\x56\x69\xcb\x34\x74\x03\x99\xb8\x27\x23\xff\x2f\x9e\xee\xee\xee\xee\x48\x64\x79\x4b\xcb\x57\x5a\x5a\xbe\xd2\xd5\x75\x7d\x4b\x4b\xb7\xf1\xf7\x95\xee\xee\xaf\x74\x77\x5f\x6f\xfc\x2d\xef\xee\x7e\x66\xf9\x72\x3d\x59\x77\xb7\xa0\x1e\xb9\x51\xb8\xe1\x7f\xf4\xe8\xfd\x62\xae\xe9\x77\x0b\xef\x18\x73\x74\x53\x8d\x8e\xa2\xc2\x11\x51\x07\x8d\x48\x62\x14\xa0\x52\xcf\xa5\x3d\x3d\x97\xf2\x57\x27\x35\x7f\x2a\x9b\x4b\x96\x73\x4a\xae\x37\x4b\xfd\x39\x55\x61\x3f\x4b\xf2\x75\x7a\x64\x8f\x56\xcc\x25\x35\x5f\x32\xc9\x5e\x48\xaa\x39\xea\xcf\xf6\xe6\x94\x72\x3e\x55\xe5\x4d\xef\x96\xd6\x54\xea\xca\x7d\x52\x6d\x82\x19\xaa\xa4\x28\x9f\xcb\xea\x71\xf1\xcc\xdf\x01\x05\xa9\x46\x70\xa2\xa3\x99\x5e\x4d\xea\x71\x6a\x6e\xe0\xef\x80\x2f\x6b\x04\x86\x5b\xe8\xd5\x64\x2e\x9b\x62\x3f\x55\x72\x26\xd8\x1c\x6c\xc3\xaa\x78\x8d\xa0\x62\x31\x56\x62\x03\xa0\xcb\x24\x4e\x5d\xee\x52\x52\x4a\x21\x9b\x2f\xe4\x95\x42\x17\x33\x86\xb1\xa2\xbf\xc7\x3b\x58\xa1\x4b\x0c\x4a\x46\x93\x2a\xf9\x24\x31\x68\x2c\xf3\x05\xca\xa7\x02\x82\x68\xb8\xbb\x29\xaf\x8c\x8a\x72\x35\x7e\xf1\xe2\xd6\x80\xf6\xae\x7c\xd5\x29\x43\xab\x16\xdc\x11\xae\x0f\x88\x44\x16\x62\x76\xbf\x18\x6c\xb7\x70\x02\xe3\xc2\x9c\x7f\x22\x4f\x12\xcf\x27\x78\x79\x12\x4f\x16\xc6\x9c\x01\xd1\xe2\x71\xc8\xbe\x68\x2a\x4c\x8a\x83\x7d\x34\x7f\x51\x40\x7b\x2f\x31\xe7\xfc\xa1\x2f\x37\xd6\xd5\xd9\xea\x37\x73\x5f\x6e\xca\x5b\xa8\x5d\x62\xca\xd1\x77\x79\xbb\x93\xf5\x39\x1a\x78\x3f\x6f\x77\x96\xfb\x1d\x0d\xfc\xea\x63\x42\xf8\xd8\xc9\x73\x87\xae\x2e\x9e\xb3\x66\xe1\xa9\xd3\xf9\x0e\xa7\xa5\x51\xac\xf3\x35\xda\x94\x35\x8a\xad\xd5\x52\x17\x13\x13\xeb\x63\xd6\x0e\xc1\x11\x17\x42\x1b\x15\x4b\xdc\x6a\xf1\x85\x2c\xf6\x64\x34\xd5\x10\x20\x91\xb3\xae\x9f\x3f\x74\xf5\xa6\xd3\x5c\xee\xc6\xd9\x2d\x21\xee\x37\x81\xb8\xab\x79\x84\x6d\xd1\x4a\x23\x4e\x73\xef\xf6\x8b\x42\x65\x5f\x98\xd2\x41\x53\x0b\x60\xa8\xc1\xac\x06\x5d\x98\x64\x51\xc8\x67\xf8\xed\x41\x7f\x34\x95\x8a\xca\x0d\x93\xe3\xda\x1c\x6d\x4e\x62\x92\xe9\xf7\x07\x05\xd5\xea\xe8\x8c\x1d\xf9\xef\x58\xa7\xc3\x12\xa1\x3d\xda\x92\xa8\xee\x17\xac\xb1\x4e\x87\xb5\x3a\x97\xab\xa2\x39\x17\xd9\xe1\xc3\x74\x60\x82\x39\x99\x18\x7a\x9f\x68\x95\x14\x0b\x9e\x8a\xca\xda\xe4\xd0\xe2\xd5\xe5\xb9\x42\x96\x2d\x86\x8a\x42\x67\x17\x54\x4e\x1d\x52\x39\xb5\xbf\xb5\x53\x9f\x71\x4c\x41\x54\x76\x0c\x98\xbc\xcb\x80\x43\xbe\xe2\xf4\x62\x67\x2b\xeb\x6f\xed\x0b\xef\x0e\xb7\x16\x4f\xbf\x82\xa0\xcf\x39\x9d\xad\xfd\x65\x53\xf6\x2c\x6a\x7d\x0e\xb9\x5f\xe7\x66\xfa\x65\x07\xf5\x9f\x7e\x05\x8b\xb4\x76\xb6\x86\x77\x87\xfb\x5a\x87\x71\x45\xc5\x0e\xc0\x94\x99\xa3\x98\x00\x20\x1d\xf0\x89\x31\x25\x5b\x61\x06\x46\x19\xa8\x11\x75\x55\x45\x0f\xed\xe6\xe6\xbd\xb7\x77\xef\x7b\x7b\xb9\x01\x9d\x65\x3a\xa2\xea\xef\x81\x8c\xbc\x2a\xc7\x90\x5b\x25\x67\xca\x17\x8f\xea\x93\xb9\xbe\xbd\x7a\x52\x36\xef\x9e\x4b\x87\x8c\x74\x9c\x7a\xe9\x3d\xdb\xa6\xcc\x99\x33\x65\xdb\x51\x95\x46\x6c\x16\x46\x75\xcb\x26\x2f\xb7\x08\x20\x2e\x1d\xc8\xa4\x0b\x0a\x15\xba\xf8\x82\x4c\xd3\x48\x17\xd0\xbc\xc1\x66\x0a\x06\x8c\x97\xdf\x27\xfa\x63\x4a\x3c\xc6\x4b\xd9\x6e\x4a\x77\x09\xb9\x6c\x07\xa5\x92\x22\xf3\xfb\x9a\xb9\x4c\xc0\xef\x93\xf4\x48\x31\x2e\xb2\x7f\xff\xa7\xe8\xcf\x4f\x96\x95\x73\x86\x7e\xca\x82\x33\x27\x67\x14\xfb\xbb\x54\xdf\x93\xb3\x70\x2f\x46\x77\x4e\x70\x9d\xdd\xe4\x73\xc9\xb7\xba\x44\xea\xd6\x8a\xbd\xda\x5f\x52\xfc\x4d\x14\xb4\xf8\xad\x0e\xa1\xeb\x4c\xd2\xba\x42\xab\xc2\xd3\x94\x5e\x8e\xd8\xd4\xff\x9c\x6a\x49\x72\x8b\xb8\x5f\x68\x5d\x3c\x2b\x0f\x5d\x7d\xba\x54\x67\x93\x53\x2d\x6c\x35\x3b\xe0\x94\xb4\xc8\x42\xed\x4b\x17\xc4\x7e\x3b\xf5\x24\xbb\xab\x49\x54\x64\xc1\xc3\xbb\x9d\xd4\x16\x0f\x0b\x4c\x12\x6d\x76\x8b\xfb\x81\xef\x73\x6c\xaa\xf6\x6e\x43\xa0\xc5\x6b\xb5\xc8\x29\xab\xd7\x67\x71\x56\xe4\x68\x63\xed\xf2\xa3\x0d\x17\x02\xc9\x40\x26\xe2\xc9\xa6\x3a\xf8\x78\x4c\xf2\x89\x7e\x9f\xd8\x4c\x9c\xc1\x3b\xe6\xb2\x3a\x5b\x29\xf9\x8c\x36\xfb\x8c\x81\xdf\xc5\x4f\xa7\x9c\x3b\xd5\xc1\x4f\x22\x5d\x44\x0b\x64\xd2\xcd\x9c\xdf\xe7\xe4\xa4\x66\xd2\x3f\x71\x03\x33\xac\x6d\xfe\x4c\xda\x3c\xa1\xf1\xb4\x99\x17\xcc\x9b\x3a\x2f\x4c\x8c\x2c\xe2\xc4\x53\xcf\xdc\xb2\x22\x33\x75\xe5\x86\x99\xe9\x45\x16\x2a\xbf\xc9\x5c\xdb\x13\x52\x9d\x28\x50\x80\x4f\xe4\x3a\x32\x02\xbf\x82\xde\xbc\x29\xb8\x34\x38\xfb\x73\xd7\x2e\xeb\x8c\x9e\xb4\xb8\x2b\x77\xef\x8b\xb3\x37\x7e\x75\xcf\xb2\xf6\x7d\xed\x97\x6a\x97\xb9\x22\x74\xfa\x95\x33\xdb\xa7\x47\x3d\xbc\x2d\x77\x20\x6b\xd9\x34\xff\x7c\xf6\xaa\x14\xea\xde\xb0\x78\xf6\x25\xd3\xc2\x8e\xf4\x4f\x33\x8d\x97\x86\x3a\x86\xd6\x2f\xe7\xeb\x5d\xf6\xe6\x64\x78\x92\x3f\x2d\x70\xaf\xb6\x59\x1c\x56\x81\xa7\xb3\x98\x4c\xa1\xa9\x8b\xaf\xeb\xc9\x9e\x73\xf2\xd4\x48\x7d\xfc\xb9\xbb\x57\x7e\xf5\xa2\xd3\xc2\x62\xc0\x94\x4d\x79\x7d\x7c\x4e\x05\xfc\xfa\x9c\x96\x2f\xe4\x43\x94\xca\x75\xb0\x54\x41\x17\x4d\xbb\xa8\x20\x4a\x4e\x92\x9c\x9c\x24\x32\xc9\xc9\xb5\x50\x20\x28\x4a\x31\x7d\xf2\x8e\xeb\xfd\xec\x09\x9c\x7e\x4a\x63\xd8\x41\x5b\x2e\xa5\xfa\x19\x0b\x65\x39\xfa\xf8\x75\x53\x27\xaf\xfa\x42\x58\x70\x36\xdf\x91\xb4\xd8\x45\x2b\x6b\xbc\xc6\xc3\x02\x5e\x27\x91\x67\x0f\xe7\xa8\x6b\xab\x6b\xda\x10\xbe\x75\x56\xe6\xa9\xeb\x3f\x25\xc9\xb2\x33\x3e\x53\x62\x59\x56\x17\x6f\x70\xd4\x09\xdc\xc5\xcc\x2a\x08\x56\x96\x4a\xdb\x92\x2e\x79\x52\x74\xaa\x63\x57\xf9\xf7\x8b\xad\x2b\xce\xfc\x94\xcb\xcb\x37\xb6\x17\x38\x1f\xf3\x8e\xd2\xeb\x11\x41\x45\x23\xae\x03\x92\xe9\x80\xcb\xdc\x0d\xd3\xc7\x72\x3c\xa6\x74\x9b\x3b\x61\x62\x1b\x79\x48\x97\x01\x74\x59\x40\x1f\x46\x5d\xac\x9b\xd2\x01\x83\x44\x45\x49\x49\x75\xb0\x54\x07\xa7\xb7\x43\x9f\x8b\x83\x3e\xaf\xdf\x27\x56\x09\xdc\x45\x62\x42\xa7\x61\x65\x06\xe9\x18\xf1\x64\x99\x2e\xd0\xe9\x74\x6e\x08\xba\x4e\x26\x29\x29\x8f\xf8\x72\xd4\xeb\xbb\xde\x37\xd5\x77\xbd\xcf\x1b\x5d\xb4\xa8\xd6\xf3\xd1\x2f\xf2\xf6\x1f\xb7\xef\x6b\x4f\xdc\x91\xa0\xa4\xd8\x5c\xe7\x77\x5a\x26\xf2\x3e\x9e\x09\xa9\xa6\x86\x26\xce\xed\x20\xd1\x2e\x4b\x4d\xcc\xf3\xe9\xf4\xc2\x88\x95\x78\x41\xb0\xb5\xee\x49\x08\x5c\xac\x57\x7b\xf3\x94\xf4\x4f\x33\x9c\xe7\xdc\xb5\xf5\xb2\x48\x8c\xe7\xea\xbe\x18\xdd\xec\x93\x9b\xa3\xa1\x89\x4e\x35\x19\x7a\x30\x14\x7a\x30\x94\xe4\x51\x75\x0d\x81\x1f\x6e\x14\x78\x22\x12\x1c\x75\x44\xeb\x07\x16\x35\x39\xf9\xf6\xc5\xd6\x85\xa7\x91\xc5\xca\x31\x22\x9e\x3f\xa3\xb0\xbc\xfc\xc4\x03\xee\xcb\xe7\x46\xfd\x6d\xee\x56\x9b\xd3\x45\xcc\xe7\xcd\x90\xb5\x31\x12\x72\x4e\xa4\x4f\xad\xa2\x5d\xab\x36\xb2\xc6\x60\xd8\xc7\xdb\xeb\x9d\x8e\x4d\x17\xb3\x90\x97\x6e\x30\x71\xcc\x19\xfa\x80\x0b\x71\x37\x20\x57\xf0\x98\xe0\x83\x81\x71\x48\xcc\x29\x3a\x52\x0c\x24\xb6\x50\xce\xa7\x0f\x83\x13\xe0\xb1\x8b\x65\x95\x5c\xd6\x30\x28\x1b\x8b\x49\x4a\x37\x33\x63\xc3\x84\x8b\xc7\x3a\x28\x9b\xcf\x45\x7d\x01\x9f\x93\x74\xa1\x2e\xa5\x64\x0b\x5d\x5c\x26\xdd\x4c\x3e\xd1\x1f\xcd\x2a\xd9\x2e\x3a\xc3\xc4\xed\x6c\xba\x90\xb0\x29\x1a\xac\x45\xac\xd3\xe6\x11\x66\x34\x5f\xbf\x68\xed\x44\x2b\x11\xa3\xe3\xe2\x55\xb2\x72\x24\xe8\x18\xe3\xeb\xbe\x38\xe1\x7d\xb7\x89\x5b\xa1\xd9\x3e\xbd\x50\xe4\x43\x21\xbe\x58\x98\x6e\x77\xb8\x04\x6e\x08\x9c\xe0\x72\x8c\x0f\xe5\xf5\x50\xe1\x86\x46\x81\x67\xc4\x53\xa4\x06\xe5\x0b\x66\x93\x43\x64\x8c\x17\xce\x28\xec\xce\x16\x9e\x7b\x70\xee\xf1\x51\xee\xde\xf0\x8d\xcf\x3f\xc6\x49\x4d\x16\x69\xfe\xdc\x33\xf2\x82\xbd\xb1\xce\xbe\x69\xb5\x81\xf3\x23\xc3\xa9\xf6\x3c\xe7\xef\xf4\x73\xf9\xf6\x94\x3f\xd1\x12\x67\x2c\xde\x92\xf0\x1f\x37\xd0\x3c\x58\x36\x56\xa7\x61\xec\xae\xfd\x6f\xf6\xd8\x25\x28\xa1\x8f\x0c\x6b\x11\xb1\x62\xd9\x72\xd4\xb0\x2e\x11\x0c\xe5\xaa\x12\x3a\x62\xf8\x44\x54\xe2\x8c\x94\xbc\x1a\x52\x4a\xa3\xc6\x26\x17\x7d\x82\xf3\xff\x11\xdc\xa6\x79\x22\xa7\x56\xe0\x36\x7c\x42\xd5\x5a\xc7\xf0\xb1\xff\x0b\x70\x8f\xb7\x51\xf8\x24\xff\x58\xb8\x6b\xb1\x5d\x8b\xeb\xff\x31\xa6\xff\x9f\xc0\xfc\xc9\xee\x7f\x10\xe6\x8f\xd1\xd5\x8d\xdf\x3d\xf6\x7c\x82\xff\x78\x74\xf3\x71\xf1\x9f\xd4\x76\x82\xec\x30\x58\xdb\x13\xbc\x44\xc8\x8e\x23\x86\x47\x28\x3a\xe4\x23\x38\x51\xcc\x89\xdc\x03\x23\xa5\xd1\x55\xc7\x73\x0e\xfd\x75\xc4\xc9\x1f\x37\xf4\xf8\xd9\xcc\xc3\xaa\xe3\x71\x6a\xea\xa1\x63\x29\x52\xb2\xa6\xc5\xed\x3f\x8a\x8d\x63\xb0\xa3\xca\x0e\xa7\x55\x1b\xb0\x5a\x29\x62\x75\x3a\x64\x41\x95\x1d\x1f\x19\x2d\x14\x0d\x50\x8e\x1a\x6f\xbe\x38\xde\x3d\x9a\x86\x1b\x28\x97\x1c\xb2\x9e\x3d\xac\xbf\x3e\xb9\x65\xb5\x8d\x3c\x6e\x1b\x2b\xba\x7f\x53\x9f\x93\x0e\x5a\xff\xd7\x6d\xec\xd3\x1b\x68\x68\x06\x9d\x56\x8a\x08\x7b\xff\xd1\x26\xb2\x97\xc2\x7a\x09\xa6\xb9\x88\x55\x1b\xd0\xac\xff\x40\x13\x4d\x3d\xa3\x61\x3f\xdc\x62\xf4\x9f\x21\x45\x55\xdb\x54\x15\xae\x9b\x88\x0c\x2d\x93\x84\x94\xc3\xde\xe8\xd5\xd6\xed\xdd\x54\x2e\x6e\xda\xbb\x77\x13\x2b\x6d\xda\x4b\x77\x79\x1b\xed\x8e\x14\xdf\x7f\xb4\x34\xd1\x23\xc8\x74\xd7\xa3\xd5\x98\xbd\x9b\x1e\xa1\x9d\xb2\xe0\x19\x91\xa7\x24\x53\x1e\x70\xa2\x19\x1d\x3a\x26\x75\xf9\x24\x9f\x26\x4f\x34\x47\x41\x2b\xd5\xa8\xb4\x73\x9e\xac\x12\x1c\xa7\xd6\x66\xea\xfa\xfe\xf5\xeb\xfb\xf9\xf5\x47\x54\x2a\xf6\x33\x30\x7c\x64\xb4\x43\xd4\x31\x71\x57\xad\x15\x24\xef\xd6\x13\xae\x2f\x97\xb4\x62\xc9\x48\x4a\x11\xd9\x71\xd4\x40\x18\x5f\x72\xc8\x91\xa3\x86\x2a\x9b\x2f\x55\x6c\x16\x87\x55\xe1\x1d\x61\x0d\x44\xf8\xd0\x80\x24\x10\x2d\xa4\x24\x7f\xc6\x4f\xd9\x78\x4c\x22\xd1\xef\xcb\xa4\x75\xd1\xdb\x4a\x51\x0f\xf9\x5c\x44\x85\x7c\x46\xe7\x04\x69\xcd\x79\xef\x9c\xa7\xb2\xab\x03\x36\xa9\xfc\x07\x29\x60\x93\x58\xb3\x94\xa7\xfe\xa1\x92\xd6\x27\xbc\x93\x7c\x54\xeb\x7b\x34\x91\xcf\x29\xef\x24\xcf\x7b\xe7\xbc\x35\x2a\xd7\x1f\xd0\x53\xd9\x02\x7a\xaa\x9f\x6a\x7d\x43\x25\xea\x67\x03\xb9\xe4\xa3\xd4\xff\x88\xa2\xfc\x25\x55\xe1\x3f\x79\xd3\xf6\x23\x38\x56\xd3\xe1\xa4\x98\x92\x22\xc5\x50\x7c\x73\xa6\x91\x06\xdd\x13\xd5\x76\xb9\xbb\xe7\x76\xbb\xb4\xbb\xa2\xd4\x4e\x7b\xa8\x9d\xab\xd8\x56\x60\xdd\xec\xa1\x23\x51\x45\x89\x72\xe2\xec\x75\x07\xa8\x5d\x3b\x30\xc6\xae\x44\x06\x92\x9e\x98\xb1\x57\x35\x66\x83\x1a\xbb\x8e\xec\xdc\x79\x84\xdb\x35\x6e\x57\xaa\x8f\x2f\x9a\x3b\x50\xec\xd0\xb1\x7b\x87\xa6\xbe\x1e\x42\x09\x7e\x43\xff\x9a\x4d\x75\x70\x29\x25\x66\xb0\xf5\x7e\x5f\x20\x9d\x4f\xfa\x10\x41\x4e\x67\xb6\x0a\x5d\x94\x0e\x04\x9b\xb9\x60\x80\xc1\x47\x4d\x81\xb0\xc4\xc7\x78\x29\x1c\x68\x22\x5f\xcf\xa5\x3d\x0c\xda\x01\x6d\x89\x76\xe0\x0c\xf1\x8a\x73\x2f\x0b\x5b\xd3\xd9\x8c\x25\x7c\xd9\xb9\x57\x88\x67\x90\x9a\x88\x52\x5b\xb4\x10\x74\xbb\x83\x85\x68\x1b\x45\x13\xb9\x9e\x9e\x27\x0f\x68\x07\xa8\xfd\xc0\x9d\x9f\xb5\x3e\x74\xdb\xaf\xcf\x6f\x8e\xc5\x9a\xcf\xff\xf5\x6d\x0f\x59\x6f\x30\xc7\xab\xf8\xa1\xa0\x42\x84\x13\x27\xa3\x0b\x73\x01\x32\x7b\x13\x8a\x44\x62\xa0\x40\xf2\x58\xd2\x0e\x06\x82\x3a\xa3\x9f\x1a\xb3\xa1\x32\x83\xb2\xdd\x94\x0f\x70\x46\x97\x4b\x54\x30\x6d\xe0\xb8\xcd\x1b\x76\x6f\xe8\x63\x88\x78\xb4\x07\x3d\x11\x0f\x2d\x3f\x63\xef\xa6\x21\x83\xca\xb9\x62\x77\xde\xc5\x71\xf6\x29\x4e\x6f\x30\x30\x64\x90\x21\x57\x9c\xb9\xdc\x5a\x74\xb5\xf6\x51\xa4\xdc\xa7\x0d\xf0\xcb\x96\x69\x03\xcb\xc2\x8b\xc2\xbb\xc3\xd4\xb7\x61\xf7\x86\xce\x3e\x56\x1a\x29\xa7\xfc\xf3\x67\xcd\x52\x36\xed\x6d\x90\xdc\x1e\xfb\x14\xa7\x28\x9a\x86\x20\xcb\x67\x5e\xef\xb0\x16\x5d\x6e\xf6\xa2\x36\x50\xee\xa3\x08\x0b\x2f\xa3\xc8\xb2\x70\x78\x77\x78\xd1\x08\xfe\x8d\x7d\xf2\x36\x2c\x1d\x6f\x6b\x3b\x25\x6d\xb2\xd3\xfa\xf2\x54\xdb\x32\x5d\x16\x0b\x06\x64\x73\xff\x72\x06\xc5\x23\x92\x28\x07\x8c\x51\xdf\xc1\xe7\xb2\x5d\xd2\x34\xca\x65\x0d\xeb\x20\x0a\xf8\x04\xb5\xda\x44\x0c\x3b\xe4\xd0\x82\x4e\x9b\xb8\xbe\xda\x3a\x6f\x38\xe4\x96\xfd\xef\x6a\xaa\x31\xfa\xfb\xb5\x67\xae\xda\x74\x12\x17\xb4\xf0\x6e\x9b\x2d\x70\xf2\xc4\xb8\xe4\x8f\x4f\x5b\x78\xf9\xad\x4f\x5e\xda\x9f\x72\xd8\x43\x32\xa9\x32\x8b\x6b\xe5\x6a\x3b\x65\x47\xa3\x10\x8a\xf1\xd5\x56\xbe\x2a\xdb\x1c\xf5\x6e\x8b\x95\xde\xd0\x54\x59\xf0\x4c\x2c\xdd\x74\x8b\xb6\x2f\x58\xc7\x1c\xce\xd8\xc5\x7d\x5b\x3b\xa7\x2c\xee\x5b\x74\xd6\x29\x53\x53\x01\x63\x82\xd1\x54\x39\x5b\x6d\xfb\x0d\x82\x8a\x49\x86\xe5\xa0\xe7\x78\xdd\xaa\x37\xf1\xd8\x8e\xd5\x67\x32\xd9\xdc\x8f\x1f\x6b\xe5\x38\xda\xdc\x91\x1e\xb5\x39\x38\x71\x6c\x9f\xda\x1c\xa2\xe8\xfb\xf3\xd0\x2f\xeb\x67\xd6\x6b\x67\xd6\xd7\x5f\x56\x3f\xb3\x9e\x24\xf6\xf9\xfa\x99\xf5\x97\xd5\xb3\xe5\xda\xf7\xc7\x76\xa5\x8d\x8d\x74\xa5\xe6\xb0\x16\x6d\x9c\x85\x0e\x0c\xfd\xb2\xbe\x9e\x1e\x37\x32\xd4\x6b\x1f\xb1\xcf\x1b\x85\x98\xe7\x66\x30\x0c\x09\x22\x70\x6a\x65\x9d\x31\x54\x4d\x9e\x4c\x3a\x50\x35\x20\x30\x54\x4b\x51\xbf\x4f\xac\xae\xb2\xfa\xe4\x6c\xe8\xa4\xaa\xdb\xf4\x86\x8d\x52\x34\x97\xd5\x3d\x12\xe4\x61\xc8\x59\x45\x53\xd5\x90\x62\x38\xf5\x97\x12\x52\x35\x55\x31\x9c\x32\xc1\xd8\x28\xd0\xa3\x75\xa7\xfe\x52\x42\x2a\xe9\xd1\x04\x76\xef\x3f\x96\x5e\x1e\x5b\x5b\x8d\x1e\xa0\x09\xa0\xbc\xa1\x87\x4a\x91\x92\x1a\x67\x6b\xe5\xf7\xe4\x0b\xdc\x2b\x72\x28\x24\x97\xa7\x5a\xf9\x1a\x6b\x79\xab\x70\x95\x6c\x0f\x1d\x29\x86\xec\x32\x7b\xce\x6a\x2b\x2f\xad\xf2\xdc\x4a\xa8\xbc\xd4\x66\xad\x39\x1f\xd2\x36\xbe\xfc\x13\x54\x63\x24\xca\x17\xc4\x91\xda\x8e\xad\x93\x3d\x27\x87\x8e\xa9\x79\xea\x09\x40\x60\xcf\xc9\xf6\x50\x79\xaa\x01\xcb\x96\x8a\xbe\xab\xe1\x38\xb0\x64\x47\x6a\x3e\xab\xb6\x66\x59\xfe\x98\xda\xe4\xac\x3c\x5a\xbc\xd1\xd6\x6b\x85\x1b\x84\xad\xa8\x03\xac\x24\x1a\xcd\x32\xc6\xe8\xea\x23\x2f\x07\xa3\xd1\xa0\x30\x39\xc8\x2e\x2c\x37\x3b\x7c\x21\xa1\x14\xf2\x39\xca\xcd\x8e\x04\xc6\xd8\x14\xba\x2a\x2b\xfc\x98\x45\x55\x18\x7f\xf4\x07\x15\xcb\x7f\xe3\x14\xc0\x90\x5a\xeb\x13\x8a\xa3\x52\x4f\xad\x04\xa4\x54\x69\xb7\x5a\xcf\x31\xb5\x88\x63\x24\xa6\x31\xe5\x8c\xe6\x15\x4d\xdc\x05\x47\x9a\x16\xac\xb4\x50\x32\x5a\x2b\x4a\x27\xe9\xa8\x63\xcf\xe9\xa8\x63\xcf\xc9\x3a\xfa\x42\xbc\x55\xc7\x9c\x50\x0a\xd9\x75\x9c\xda\xd8\x73\x86\x43\xce\xea\x2f\x7b\x88\x3d\x67\xb3\x8e\x94\x5f\xa5\x93\x63\xca\x0f\x7a\xc6\x6e\x99\xea\x55\x1d\xaf\xc6\xb1\x64\x72\xe2\xda\xad\x36\xf6\xe8\x28\x82\xd8\xa3\x36\x6b\x2d\x30\x63\xc6\xc4\x58\x58\xc6\x03\x31\x52\x7b\x6d\xbd\x63\x6b\x1c\x57\x91\xd1\xdf\x04\x88\x24\x88\xa8\x43\x23\x20\x9b\x93\x82\xd1\x1b\x54\xd3\x23\x7a\x3d\xce\x51\x1a\xd3\x69\x4f\x78\xae\xa6\x5b\xd8\x49\x55\x14\x87\xca\x7f\x32\x6d\xa1\x94\xd0\x30\x42\x95\xfe\xba\x77\xf8\x5e\xfe\x51\xe1\x4f\xf0\x01\x56\x16\x30\xad\xc7\x2b\xf3\x91\x3e\x91\xf2\x77\x95\xdf\x65\xb2\x2c\x3f\xaa\xf7\x44\x48\x96\xd9\x9f\xe4\xac\xfc\xa8\xcc\xbf\x52\x7e\xb7\xfc\xae\xe1\x34\x83\xd8\x9f\x8c\x34\x66\x99\x4b\x87\xef\xe5\x2f\xaa\x94\x79\x8c\x21\xba\x5e\xe8\x59\xe5\x50\x25\xaf\x5c\x7e\xd7\x2c\x9c\xfd\x49\x66\x77\xe9\x35\x18\x1e\x99\xc9\x66\x02\x3d\xe1\x18\xda\x8f\x63\x12\x40\xb9\xac\x12\x8f\x7a\xcc\x23\x3c\x7e\x4f\xd4\x3c\xc7\x93\x89\x7a\xcc\xc3\x3c\x39\x4f\x34\x3d\xd6\x7a\xa7\xa4\x37\xd9\xc0\xfb\xb0\xd1\x7e\x32\x3d\x86\x61\x58\x71\xbc\xf9\x4e\xb1\x12\x73\x6c\x1e\x6a\x3b\xd6\x96\xa9\xc6\x9e\xa8\x02\x57\x15\x9a\x63\x61\xa8\x39\x0b\x74\xdc\x5a\x2b\x32\xef\xf8\x5a\x6a\xdb\xdf\x66\xec\x9d\x66\x27\x51\x21\x9f\xcb\x4e\x22\x25\x1e\x73\x19\xca\x32\x97\xce\xdf\xb6\x90\x64\xbc\x03\x99\x74\xb7\xa1\xdb\xec\xa6\xb1\x30\x5c\x27\x3f\xf9\xa4\x2c\x2f\x95\x1b\x43\xba\x23\xd4\x28\x2f\x95\x8f\x0d\xa1\x9b\xc6\xc1\x46\xf7\x7f\x5c\xf2\x4a\x08\xbd\x74\x42\xdc\x04\x0d\x3b\x2f\x1d\xda\x98\x44\x29\xc5\x84\x35\xa8\x43\x59\xa0\x2e\xaa\x81\x4f\xe0\xbd\xe7\xc9\x59\x59\x5b\xfd\x07\x39\x2b\x9f\xe7\xf5\xd2\xa5\x7a\x15\xac\xc5\x3b\x34\xde\xae\x32\x16\xf6\x2e\x95\x65\xed\x92\x3f\xc8\xf2\x52\x6f\xb8\xd1\xab\xdd\x23\xeb\xe9\xe6\x8f\x83\xa1\xd6\xde\x6b\x2a\x66\x03\xc9\xf1\xe7\xc6\xb2\x1d\x14\x8f\x49\xa2\x81\xb3\x8a\x61\x88\xdf\x27\x4a\x4e\xaa\xa6\xc8\x65\xf3\x85\x2e\x3e\x31\xce\x04\x74\xc4\x66\x1c\x97\x3f\x7a\xce\x5f\x55\x57\x70\xab\x64\x77\x5b\x73\xd1\x58\x76\x72\x4f\xeb\xe4\xee\x4b\x8c\xc8\xb6\x68\x24\x36\xb5\xa5\x81\xd4\x71\xd0\xf7\x8f\x18\x97\xb3\xc7\x97\xdc\x73\xe6\xbf\xd7\x7b\x57\x8a\xf6\x59\xf5\xf5\xd9\xa8\xd2\x11\x08\x6f\x3c\x35\xa1\x47\xcb\x33\x64\xaf\x7f\xca\xa4\xf9\x33\xc6\x13\xc3\x68\x9b\x74\xd9\x6b\x6a\xb5\x4d\x9e\x51\xd2\x33\xf4\xdc\x23\x44\xc8\x8d\x6b\xf2\x18\x8b\x3f\x78\x9d\x7d\x55\x83\xd6\x3e\xd3\x5a\xb9\xe4\xf4\xd6\x34\x90\x1d\x03\x7c\xbf\xd3\xcb\xa0\xc7\xf6\x3b\xbd\x5a\xc9\xf8\x78\xb9\xdb\xfb\x2b\x21\xde\xef\x8d\x87\x77\x94\x0e\x26\x19\x67\x7f\x46\xce\x82\x74\x50\x6a\x44\xe7\xe2\x24\x29\xa3\x33\x40\xba\xbf\x99\x82\x23\xc7\x44\xba\xc8\xd4\xcb\x38\x49\x1a\x49\xdb\x41\xa9\x91\x32\xba\xa8\x30\x92\xb6\x99\x82\x99\x74\x80\xff\xfa\x3a\x7d\x20\xad\x8b\x3c\xb0\xd6\x18\x4e\x6b\x1f\x88\x8c\x0f\xa0\xab\x94\xd0\x1d\xc9\x77\x1e\x30\xbc\x0f\xbc\x93\xbc\x43\x8f\x1f\x17\xc0\x70\xa2\xdc\x23\x01\xd4\x7e\xe2\xec\x95\x80\xb1\x76\x99\x71\xc3\x8a\x1d\xe6\xc1\x1f\xc9\x9c\x18\xbb\x29\x65\x4e\x8c\x2d\x55\xe9\xc4\x45\xc1\x80\x2f\x7f\x22\x3b\xc4\x79\x3b\x6d\x21\xdb\x2d\xb7\xd8\x42\xb6\x9d\x36\xfd\x6b\x1b\xe7\x7f\xf1\xe3\x2c\x13\xe9\x27\xc7\xcf\x34\xe2\x6f\xf8\x78\xf3\xe4\x63\x6d\xa7\xad\x35\xdc\x77\x0b\x55\x16\x8d\x13\x1a\x51\xde\xa5\x2d\xd5\x87\xf7\xeb\xb2\x7c\x91\x9c\x95\xef\x22\x7d\x92\xbf\x48\xde\xf2\xb1\xc6\x94\xaf\x68\x4b\x65\x99\x14\x23\xa5\x91\x45\xcf\x7b\xe4\xef\x84\xf3\x73\xb0\xc2\x6b\x9c\x0b\xce\xa6\xc8\xd8\xb3\x13\x0c\xbb\x4a\xf2\xfb\xe0\xae\x9c\x91\xa9\x9c\xd8\x11\x22\xe7\x94\x9d\xb7\xf4\x5f\xfe\x93\x9d\x67\x0f\x35\xb0\xbf\x7e\xfe\x91\x5d\x47\x76\x0a\x91\x2d\x2f\x6a\x7f\xd4\x9e\xd7\xfe\xf8\xe2\x96\x2d\x2f\x52\x13\x75\x52\xd3\x8b\xec\xa6\x07\x6e\x2e\xbb\xce\x3d\x67\xe7\xcf\xf6\xb3\xc3\xe7\xed\x1c\xda\xf5\x20\x75\x6b\xcf\x69\x7f\x30\x2c\x2c\x9b\x69\x2a\x35\xe9\x2e\x7d\x1d\x2c\x0e\xe7\x44\x08\x3d\x88\x54\xcf\x0e\x19\xbd\x6b\xea\xd5\x72\xa6\x62\xcd\x38\x92\x45\x06\x63\x75\x4a\xb6\x5c\xa4\xa4\xa2\xf4\x24\x73\xd9\x54\x79\x63\x32\xc9\x6e\x53\x72\x59\xa5\x47\x51\xb4\xdf\xb0\x52\xf6\x14\xa6\xaa\xb9\x1e\xed\xf5\xc4\xda\x44\x6f\x32\xc9\xb6\x1b\xc6\x0a\xb7\x2a\xca\x7c\xe5\x52\x45\xfb\x4d\x8f\xc9\x8f\xe4\x84\x52\xa5\x3e\x53\xb7\x65\x2c\xbd\x34\xa2\xa3\x32\x3b\xca\x90\x08\x85\x52\xb2\xbc\x31\x95\xcd\xa4\x7a\x14\x85\x92\xe5\x62\xf6\x94\x53\xb2\xac\xa4\xfd\x46\x51\x7a\x94\x6c\x4e\x61\xb7\x25\x59\x31\x9f\xd4\xc1\xe8\x51\x2e\x55\x28\xd9\x93\x53\x73\x3d\xa4\x24\xd6\x26\x7a\x14\xa5\xbc\x51\x9f\xd0\x91\x1b\x56\xc5\x1e\xa1\x88\xa8\x61\xd7\x66\x36\x6c\x84\xeb\x31\x17\xfe\x4a\x33\x75\xc6\xa5\x27\xd9\xa3\xe4\xf2\x09\xed\x75\xa3\x28\xa3\x21\x3d\x8a\xc2\x6e\x8b\x17\xf2\x49\xbd\xba\xdc\xc7\xc0\xa2\xc3\x6a\xf2\x16\xb9\xe1\x27\xc5\x1e\x41\xad\x9e\xf5\xae\x22\xb3\xd2\xac\x11\xde\xab\x82\x5b\xb1\xc7\x68\x65\x2e\x59\xde\xa8\x28\xf3\x75\x07\x29\xbd\x59\x35\xdb\x4b\x8a\x8e\xbf\x9e\x24\x2b\xe5\x92\xe5\x0d\x3a\x3e\x13\xf9\x9c\xd2\x93\x4c\x6a\xaf\xb3\x52\xb6\xb7\x57\xef\x0b\x25\x99\xec\x49\x8d\xf2\x9c\x25\xe3\x4e\x30\x53\x96\xcb\x79\xe2\x31\xa7\xe0\xf7\x05\x7d\x95\xb3\xe6\x1d\x2c\xc5\x72\xd9\x82\x37\x9a\xf1\x54\xe5\x35\x4d\x97\xa0\x06\x56\x7c\xf9\x4b\x57\xac\xe8\x8a\x0b\x82\xc7\xe5\xb6\x4b\x76\x17\x77\x43\xee\x41\xf6\x93\x01\x25\x2b\x33\x70\xf7\x66\xf5\x54\x3a\x6b\x61\x6f\xc9\x7f\x6a\x63\xff\xaa\xc2\x2c\x31\x6e\x75\xf9\x3c\xd6\x50\x4c\xa2\xa6\x47\x7f\x7c\x33\xdd\xa5\x73\x22\xb2\x36\x86\x07\x08\xea\x3c\x90\x0e\x49\x30\x30\xca\x9d\x57\x87\x9f\x61\xa7\x36\x89\xaa\x7c\x97\x3e\xbd\x98\x4a\xb7\xbf\xda\xb4\x27\x76\xc8\xa6\x31\xad\x92\x95\x77\x50\xaf\x2d\x64\xbb\x92\x0b\xea\x6e\xed\x09\xdd\x6d\xb3\x51\xef\x8e\x8a\x05\x2d\xbd\x1b\x32\xd2\x8f\x18\xe5\xea\xe9\x6d\x57\x72\xf3\x0c\x5b\x5c\x3d\x83\xed\x4a\x5b\xc8\xc8\x90\x55\x2a\x36\x7c\x8e\xe1\x2f\x08\x7f\x15\xae\x32\xe1\x3b\x11\x1c\x27\x82\xdb\xb0\x7b\x3b\x0e\x20\x27\x80\x9b\x15\x8f\x0b\x08\xbb\xeb\xb8\x60\xa3\x6a\x87\x29\x98\x67\x14\x2b\xe3\x71\x84\x58\x47\x46\xc8\x08\x01\xe9\x12\x95\xda\xd9\xaa\xf5\x19\xe7\x37\xb5\x3e\xe3\xb0\x40\xbf\xe1\xa1\xfe\xd6\x4e\x2e\x72\xbc\x50\x23\x7d\xa5\x2e\x06\x41\xe5\x4c\x19\x6a\x9c\x9e\x58\x2f\xf7\xa8\x61\xe6\xca\x97\x2a\x25\x55\x0f\x89\x9a\xb2\xa7\x2e\x3f\xe5\x8c\x33\x31\x2e\x72\x52\x6a\xf4\xdc\x9b\x20\x9a\x47\x77\x4e\xa2\x0e\xea\xa6\x2e\x0a\x0a\x23\xf0\x26\xf3\x01\x9d\xde\x25\x41\xf8\x69\x47\x63\xa8\x18\xba\xb8\x43\xfb\xc0\xa0\x74\xed\x83\x8e\x8b\x43\xc5\x50\x63\x07\xd9\xb4\x0f\x2a\x51\x64\x33\x07\x81\xad\x12\xa5\x7d\x40\x7f\x0a\x5d\xdc\x71\x59\x47\x63\xe8\x4b\xda\x8b\xc6\x51\xea\xcc\x97\x42\x8d\x1d\x97\x75\x5c\x1c\xba\xf7\xde\x6a\x0c\x65\x8c\xd3\xd9\x2f\x8e\xc4\xd4\xae\x07\xba\x8c\x72\x92\x61\xc5\xe9\xad\xce\xf8\xe3\xcf\xe0\x73\x72\x36\xa5\x07\x48\xa2\x5f\x36\x43\xd8\x24\x73\xca\xae\x4e\xf9\xec\x9b\x5e\x47\xc9\xe1\xf3\x39\x4a\x0e\x2f\xf3\xda\x6c\xce\x37\x9c\x36\x9b\xc7\xe7\x7c\xda\x29\x0b\xe3\xf9\x90\xa3\xff\xf5\xac\x53\xf6\x39\x9e\x75\xf8\x64\xba\x88\xad\xb3\x8b\x16\x8b\x68\x2f\xdf\x65\x73\xb9\xaa\x7b\x5b\x22\x84\x22\x1c\x08\xa0\x05\xf3\x75\x2e\xc9\x93\x8b\xfa\x3d\xfe\x0a\xdf\x97\x31\x76\x98\x7d\x81\x44\xd6\x60\x9e\x33\x69\xf3\xdc\x58\xed\x99\x30\x53\xc2\x32\x6e\x3a\x31\x56\xe7\x8c\x79\xf5\x49\x3a\xc0\xf5\x6b\xa5\x44\xb8\x14\x4e\x68\x9d\x3f\xb8\x3e\xd4\xd6\xda\xd9\xc9\x5e\xeb\x6c\x6d\x0b\x5d\xf7\xfd\x56\xda\xe7\x75\xf6\x75\xb6\x1e\x2d\xb5\x76\x9a\xdc\xd4\x53\xe7\xdf\x74\xd3\xf9\x6b\x66\xa8\xea\x8c\x35\xba\x8b\x9e\x72\x7a\x9f\xe8\xa4\x03\xa5\x92\xd6\xde\xd9\xd0\xd8\xc8\xad\x7a\xa0\xa5\x73\x51\x67\xe7\xa2\xce\x96\x07\xfa\x75\x36\xac\x4a\x53\xe6\x89\xc3\x9b\xbe\x73\xd3\x82\x47\x1e\x59\x70\xd3\x77\x6e\xf2\x9a\x7a\x32\xc9\xbc\xc7\x61\xa1\xa1\x57\x8e\xc7\x78\xd1\xd0\xcf\x66\xd2\x86\xd1\x59\x22\x93\x26\x9f\x24\xc2\xd4\x01\x52\x3c\xe6\x64\xf1\x98\x92\xea\xe0\x72\x59\xf3\xdc\xa7\xa2\x3b\x0a\x5d\x7c\xa1\x8b\xcf\xa4\x9b\x99\x00\x25\xf4\x98\xf6\xc6\x1f\xb7\xc8\x4a\xa8\xde\xdf\xb8\xdc\x77\x0b\x49\xdf\x0e\x31\xc5\xd7\xa1\xbd\xf3\x9b\x57\x07\x76\xdd\xea\xda\x19\x74\x4f\x6a\xeb\x6a\x6a\x9b\xd0\xc0\x2c\x1c\xd7\x35\xbf\x2b\xcc\xac\xe7\x7c\xf1\xd9\x75\x85\x27\xbe\xf5\xcd\xbb\x53\xb6\x94\x2f\x96\xaa\x4f\x75\x47\xdc\x9c\x92\x55\x3e\xbd\xf7\xf3\xfe\xfa\x90\x22\xd7\x2f\x97\xaf\x5d\x4d\xe2\x05\x2b\x06\xb4\xef\xaf\x5b\x3b\x49\x98\x5f\xec\x2d\xc6\x27\xf2\x4e\xd1\x21\xc5\x17\xe4\xa7\xca\xfc\x2c\x5b\x26\x77\xd5\x2f\xbf\xba\x29\xe1\x75\x71\xd6\x54\xd2\x96\xf2\x04\xad\xcb\xb6\x6e\xa8\xea\x38\x20\xa8\x22\xe0\x42\x06\x10\xc6\xef\xb0\xf8\x8c\x49\x37\x15\x34\x14\x9c\x42\x2e\x9b\x0a\xa6\x9a\x79\x41\xad\xdd\x27\x1b\xc6\x94\xd3\xfb\xfa\x4e\x9f\x72\x2a\x4f\x4b\xb7\xdf\xb2\xb4\x60\xfa\x66\x72\xa6\xaf\x7f\xc4\x7a\x9d\x97\x17\x6e\x3d\xff\xac\xb9\x73\xcf\xcb\xf4\xa9\x44\x13\x16\x6f\xb8\xf1\xb1\x15\xd5\x90\xe5\x9f\xad\x84\x54\x78\x09\x1d\xef\xbc\x0a\x0f\xa2\x98\x02\x90\x92\x0a\xf8\x2b\xfa\x70\x51\x0a\xf0\x91\x84\xd1\x17\xa6\xa2\xdc\xb0\xe2\x85\xde\x0b\x11\xa4\x94\x6c\x21\x8f\x08\x82\xa2\xba\xfb\xad\x19\xa6\xe1\xd5\x8c\xb7\x76\x7f\x8e\xee\xa4\x03\x74\x67\xf9\xc9\xb0\xef\xba\x6f\x85\x5b\xc3\x5b\xce\xf6\x71\x6b\x7d\xdb\xb5\x54\xf9\xb0\x96\xda\xee\xf3\x6d\xa7\x5f\x33\x27\xfd\x7a\x3b\x2b\x1e\xdc\xb8\xfa\x9a\xa7\xb5\x8f\x48\x7a\xfa\x9a\xd5\x1b\x0f\xbe\xf8\xd7\xbf\xb2\x93\x5b\xc3\xdf\xba\xce\x17\x0e\xfb\xce\xde\xa2\xfd\x72\x56\xfc\x4f\xda\x3b\x14\x78\x2b\x3e\x2b\xfe\x16\x05\xb4\xbf\xbc\x65\x9c\xab\xed\x97\xc0\x0f\xc0\x8a\x06\xcc\xc0\xa9\xf8\x14\x90\x2c\x74\x90\x01\xaa\x77\x3c\x9c\x49\x1d\xce\x8a\x76\x35\x97\x2d\x74\x90\x09\x71\x34\x6d\x9c\x2a\x6d\xe6\x82\x01\xd9\x27\x4a\x14\xe0\x0d\xf5\x33\x1f\x2f\xe4\x13\x05\x25\x55\x68\xa6\x20\x6b\x5b\x78\xce\x8a\x19\x6f\xed\xfe\x1a\xbb\x65\xb4\x15\xf4\x79\xba\x54\x5b\x76\xc9\x14\x9b\xd7\xbe\xc5\xdd\x7e\xc7\xa1\x25\x3e\xdf\x97\xe8\x39\x72\x9c\x7b\x5e\xde\xe6\x15\x42\x89\xe6\x28\xe7\x4e\xde\xff\x59\xaa\xb7\x50\xc9\x97\x9a\x7d\x8f\xb6\xf1\x77\xf3\x0f\xd0\x25\xd7\x5c\xf5\xb5\xee\x0b\xbe\x71\xf2\x4f\xbe\xd0\x5d\x5a\xa3\xb7\x53\xd3\xd8\x65\xa3\xcd\xfc\x2f\x89\x3d\x53\xb6\xef\x3f\xd7\x3d\xdb\xe6\xb5\xf7\x9c\xf2\xda\x2d\x2d\xbd\x2d\xef\x90\xdb\x73\xa1\xdb\x2e\x7b\x65\x66\xd3\x26\xdf\xf6\x56\x9a\x3e\x38\x69\xeb\xec\x58\xf1\x8c\xc7\x9e\xdd\xea\x7d\x6f\xff\xb7\xae\x5a\x5f\xfc\xe6\x05\x66\xdf\xb9\x87\x55\x71\xd0\xa0\xa7\xa8\x4e\x51\xe3\xe5\xbf\x63\xe7\x24\x8e\x02\xd2\x88\x95\x27\x75\x51\x3a\xc0\xd7\xec\xd5\x32\xaf\xcd\x51\xf7\x46\x9d\xa3\x32\x2b\x39\x38\xc4\x93\x9e\x69\xb1\x23\x88\x4d\xf3\x24\xe3\x1c\x3c\xd3\x67\x4f\x7f\xe0\x59\xa7\x2c\x3b\xf5\x17\x6d\xa5\x9f\xd9\xa5\xba\x3a\xc9\xa9\x15\x6c\x0e\x07\xb7\xef\x88\xda\xdd\xdd\x14\x8b\x35\x75\x77\x0b\x6a\x4b\x22\x51\x59\x93\xd6\x0a\x6b\x91\x06\x28\x20\xba\x48\xae\x6a\xbb\x53\x56\x32\x34\xdf\x6d\xa4\x4c\x62\x4a\x4a\xe9\x36\x59\x1a\x2b\x99\xee\xa0\x50\xe8\x22\xa1\xaf\xbd\xd8\xfb\x40\xbf\xe0\x51\x25\x3b\xcf\xb9\x44\xed\x3f\xb5\x72\x4e\x70\xf4\x59\x9d\xcc\x65\x7d\x66\xa8\x8e\x91\xad\xcf\xea\x14\xd9\xf7\x89\xd3\x78\x27\xc7\xea\x54\xa7\x9b\x7d\xa9\xbf\xb7\x24\xf4\x65\x4b\xbd\x0f\x94\xe7\xca\xce\x3e\x91\x38\x07\x0d\x69\xe5\xef\x7b\x9c\x7d\x56\x56\x37\xf4\x8c\xe4\x76\xd8\x2f\xb4\x52\x8e\x38\x0a\x5a\xdc\xee\x3a\xd5\x21\x7c\xb5\xbf\xb7\xa8\xaf\x64\xc3\xe6\x1e\xc5\xb1\xb6\xd0\x55\x2b\xe8\xd3\x71\x15\x10\xac\x58\x72\x27\xc7\x7d\xa9\xd6\x3f\xa2\xbc\xa9\xcc\xc7\x35\xe9\x0a\xe3\xe2\x92\xe3\x4e\x8d\x54\xc4\xbd\x68\xcd\x5d\x02\x01\x95\x22\xda\x00\xf5\x51\x51\x2b\x69\xfd\xe3\xdd\x6c\xc0\x70\xab\xfa\x9b\x83\x1e\x62\xba\xb5\xfe\xd1\xa3\x34\x6c\x60\x34\x9c\x8c\xd2\x22\xa3\x91\xa4\xf6\x66\x8f\x18\x27\xd8\xd5\xe5\x33\x8b\x33\x97\x93\xf9\x51\xb3\xbd\x66\xbd\x91\xa2\x91\xad\x58\xa4\xc8\x10\x28\x42\x25\xf3\x5b\xa4\x22\x8b\x50\xc4\xb0\x7a\x1d\x70\xc8\xf2\xd0\xd7\x8d\x24\x7a\x86\x52\x4d\xf0\x82\xa3\xc6\x85\x27\x02\xb2\xbd\x7d\x33\x97\x2f\x9f\xd9\x67\xbe\x7b\x2b\x72\x4c\xbf\x04\x61\x00\x5e\x14\x70\x05\x40\xa2\xd4\xc1\xd7\x98\x29\x54\xf7\xb0\x67\x50\xcc\x49\x1d\x62\x2a\x5f\x68\xe6\x33\x51\xf3\x28\x01\x79\x47\x22\xa3\x31\x27\x93\x44\xc9\x59\x6b\xe1\x60\x18\xf3\x75\x89\x23\xa9\xd9\xbd\xd3\x17\x04\x9a\x33\x99\x9e\xf6\x01\xe3\x78\xeb\x11\x41\xb4\x6a\x25\xab\xd3\x21\x47\x2e\xed\x5c\x9a\xed\x4d\xcf\xcc\x4e\x6d\x9c\x56\x49\x42\x18\x3d\xee\xa7\x27\x19\xc6\xe4\x85\xd3\x27\xd6\x47\x3a\x9a\x26\x9c\x3a\xe3\x9c\xf3\x37\xcf\x32\xcb\x18\x17\x58\xcd\xc5\xb7\x2c\x7b\xf2\xa4\xc2\xdc\x09\x4d\x86\x8a\x61\xc8\x19\xd6\x4b\x91\x1d\x25\x22\x4e\x72\x06\x63\x1d\x33\x52\xe7\x3f\x61\xc4\x97\x9c\x5e\x9b\xf6\x3d\x6e\x53\x35\x41\xf3\xf4\xee\x8e\xae\x75\x33\x97\x6e\x5e\x74\x76\x26\x6a\x64\x1e\x13\x62\x26\x1f\xdd\x7f\x11\x00\x9d\x35\x75\x33\x3e\x1e\x4b\x89\x82\x28\x89\x4a\x2a\xa7\xe4\x15\x7d\x11\x14\x0a\x0a\xcb\x65\xbb\x28\x91\x49\xf3\x12\x06\xb5\x95\xef\xcf\xee\x79\x4e\x3b\x32\xe5\x14\x4f\x23\xcf\x09\x64\x63\x76\x26\x4d\xf6\x4f\xa8\x6f\xae\xfb\xca\x93\xb7\x0f\x52\xef\xb7\xdf\xa7\xfb\xb8\x0e\xed\x61\xed\xd7\xff\x6c\xf9\xc6\xa9\x4e\x0b\x0b\x78\x89\x77\xf3\x2e\xce\xc9\x2c\xb9\x60\x67\xc7\xdc\xd6\x73\x49\xbc\xe7\xb3\xef\x3e\xb6\xea\x9f\xc7\xca\xfc\x19\xe3\x24\xaf\xdf\x67\x70\x45\xd5\x95\xac\x89\x7c\xcd\x5c\xba\x8b\x1b\x59\xd9\x3e\x51\x9b\xff\x23\xed\x01\x6d\xae\xf6\xc0\x8f\xcc\x93\x1b\x93\xa6\x9f\xd9\x31\xb1\xe3\xcc\xe9\x93\x4c\xef\x10\x94\x90\x66\xde\xba\x56\xb9\x9c\x68\xd4\xc7\x4a\xea\x4f\xb4\x67\x9f\x7c\x92\x66\xfe\xc4\x54\x31\x66\x7b\x95\x00\xcf\x07\x74\x41\x28\xa4\x28\xec\xa2\xd1\xa4\xb5\xd9\x2a\xfa\xe1\xa5\xf0\x8b\x8f\xf2\x11\xf8\x80\xa4\x54\x7b\xb3\x48\x75\x8f\xea\x2e\x43\x35\x7c\x8c\x36\xf8\xc5\x47\xaa\xda\xdd\x47\xe4\x9c\xcc\xde\x92\xe5\x72\xa3\x9c\xab\xea\x87\x07\xc4\x47\xb9\x77\xaa\xfa\xe1\x63\x76\xef\xc4\xbb\x0c\xfd\xf0\x31\xda\x60\xf6\x5a\xb9\x51\xd6\xcb\xca\xc9\x8f\xc8\xb2\xa9\x98\x7e\xc4\x28\xd4\xe4\x8d\x54\x5e\x45\x12\x3d\xd5\x3b\xae\x3a\xb8\xe9\x34\x83\xc6\x9c\x7c\x35\xcf\xfd\x47\x8d\x5d\xff\xea\x46\x5c\xce\xdc\x89\x33\xa5\x55\xe3\x62\x0f\x2e\x4c\x4d\xe4\xc9\xa4\x03\x02\x64\xc7\x50\xd1\x52\x27\xf1\xac\x14\x52\x5c\x54\x94\xa7\xcb\x54\x74\x29\xa1\x12\x2b\xba\xad\xfd\x12\x53\x5d\x5a\xc9\x37\xd5\xa7\x95\xf4\xb0\x72\x49\x0f\x93\x1d\x5c\xa9\x9a\x23\xe2\x90\x79\x9b\xe8\x11\x7d\xd4\x4f\xfd\x4a\xa8\xde\x43\x6a\x20\xa0\xa9\x9e\xfa\x90\xa2\xa9\x75\x25\x1b\xdd\x5d\xef\xd1\xd4\x60\x90\x8c\x20\x52\xed\x25\x6b\xdd\x68\x16\xad\xaf\x46\x7f\xa4\x0a\xe6\x19\xea\xa9\x40\xa2\x62\x6d\xc1\x57\xbe\xb2\xc7\x27\x4a\x42\xc0\xef\x93\x46\x2e\xe7\x33\xf8\x3c\x2e\x6e\xde\xd2\x97\x6e\xe6\x83\x86\xd5\x85\x71\x73\x07\xf7\x82\xf1\x79\x21\x5a\x7f\xf4\xa0\xa3\x9e\xdb\x6d\x5c\xd8\x87\x90\xe2\x76\x37\xb2\x7f\x79\xc1\x54\x74\xbb\x1b\x9c\x76\x5e\x22\xfe\x5f\x42\x4a\xd6\xb8\xed\xc3\xfc\xe3\x4a\x1a\xea\x93\xdc\x96\xe9\x36\xf7\x64\x45\x97\xb0\xea\x26\xb4\x4c\x11\xb8\x82\x92\x55\x1c\xde\x16\xbf\x22\x29\x18\x73\xde\xcd\x77\xec\xfe\x51\x93\xa1\xeb\x50\xb7\x2e\x3b\x5a\x5c\xb6\x75\xeb\x32\x2a\x2e\xdb\xca\xfa\x97\x6d\xe5\xfa\xcb\x86\x9f\x2b\xe9\xef\xc8\xd6\x91\x3d\x71\xe9\x1c\x41\x85\x8c\x89\xa6\xb4\x6f\xae\xcb\xd5\xe3\xee\xe9\x00\xf9\xa3\x31\x51\x22\x29\x3b\xb6\x7c\xe9\x9c\x16\x6d\x5f\xdb\x97\x67\x1e\x2d\xc5\x72\x2d\xb4\xa8\xed\xcb\x33\xf9\x62\x2c\xa7\xed\x1d\x2a\x2d\x7f\x69\x86\xf6\x0d\x81\x2a\x15\x47\x96\x6d\x65\x73\x5b\xe2\xda\x86\xcc\x9c\x50\x73\x4b\x9c\xb6\x67\xe6\x84\x68\x6a\xff\x05\x73\xb5\x0d\x22\xef\xe1\x6b\x80\x21\x14\x87\xc1\x4a\xa2\x61\x5b\x03\x83\x88\xc6\x6f\xe5\x8e\x6e\xdc\xb2\x92\x12\x1a\xbf\x4d\x5b\xb3\xcd\xca\xbf\x9e\xd5\xc7\x6b\xcd\x2e\x2c\x8f\x91\x4d\x57\x13\x7f\x54\x94\xc0\x95\xcc\xba\xaa\x7b\xc7\xe3\x77\x8a\xc7\xee\x0b\x1f\xb7\xc0\xd1\x5d\xdf\x71\xbb\xbc\x95\x5d\xdd\xca\x3d\x2c\x96\xea\xf9\x26\x07\x3c\xf0\xeb\x7d\x16\xf5\x98\xa7\xb0\xa2\x9e\x8c\xa7\xea\x63\xea\x30\xf4\x47\xc0\x87\x50\x05\x98\x1e\xa6\x6a\x60\x60\x18\x02\x8f\xa3\xaa\x2a\xe2\x88\xca\xa9\x65\x70\x20\xf5\xa8\x3e\x1a\x47\x75\x16\x93\x51\x34\x56\xaf\x7c\x41\x94\x4c\x26\x34\xd8\x41\x29\xfd\xa3\xa4\xfc\xbe\x40\x50\xe7\x79\x9a\xc9\xf8\x04\x32\xe9\x2e\x2e\x97\x4d\xe5\x8f\x99\x14\xd1\x79\xca\xac\x86\x53\x4e\x9b\xb1\xec\x9c\xcf\x08\x37\xfe\xe1\xf4\xa6\xf3\x26\xe5\x56\xce\x6b\x0a\x38\x42\xfe\x35\xb3\x36\xdc\x19\xaa\xdf\xf5\xf8\xfa\x1f\x6e\x5f\x35\x85\xba\x69\xe2\xde\x4d\x43\x86\x5d\x13\x57\xda\xb4\x97\xbb\xbf\xc1\xda\xba\x40\x71\xcc\xfc\xcc\x39\x4d\xb2\xb4\xe1\xc2\x74\xe7\x95\x33\xa8\x81\xf5\x6c\x74\x5a\xf8\xee\x33\x69\x29\xb7\x7c\xce\xa6\x2f\xef\x5d\xec\xb5\x9e\x44\x6c\x34\xd7\xde\x31\x7b\xa1\x09\x60\x64\x53\xcf\x93\x29\xc4\xf5\xa9\xa2\x90\x53\x0c\x3d\x7b\xdc\x9f\xa9\xde\xb4\x91\xe1\x07\xf4\xfc\xfb\x7f\xdc\xfc\xd6\xa4\x59\x5b\xba\xaf\xda\xf6\xd0\xf3\xcf\x97\x0f\xea\x41\x86\x49\x42\x71\xd3\x5e\x76\xd6\xdb\xbb\x3a\x3b\xe9\xe7\xd6\xfe\x9d\xff\xfc\x76\xf9\xeb\x66\x5d\xa6\x88\x31\x7a\x27\x8e\xce\x57\xc5\x91\x42\x07\xba\x2a\x92\x5e\x0d\xd7\x9e\xaf\x5a\x5b\x45\x73\x51\xb8\x95\x88\xe8\x0e\x44\x74\x37\x17\x9d\x41\x51\xa9\xf6\x08\xbd\x79\xf1\x5a\xbf\xd7\x39\x73\xb9\x37\xec\xed\x6c\x75\x1e\x36\x6c\x8e\x86\xee\x11\x71\x04\xbc\x5a\xb9\xd8\x6f\xe8\xf7\xa4\x6a\x7a\xe7\x0d\xfd\xb0\x58\xbe\x56\x54\x7b\x72\x47\x90\xeb\xe9\xc9\x89\xc8\xf5\xb0\x6f\x86\xbd\xcb\x67\xea\x6b\x79\x6b\xa7\xc5\x30\x4b\x1a\xfa\xbe\x4a\x2d\xd4\xf5\x7b\x3d\x33\xcf\x54\xad\x74\xf5\xad\xaa\x7a\xd4\xc8\x20\xe8\x6f\xa3\xcf\xe7\x8a\x77\x19\x72\xea\x9c\x8a\xfd\x93\xde\xcd\x86\xb8\xad\x37\x41\xef\x60\xe3\x66\xcd\x0e\x96\x92\x82\x15\x05\x9a\x69\x89\x97\xf5\x26\x2a\xb7\x41\x16\xaa\xc7\x29\x9b\x79\xae\xb8\xbe\x7f\xbd\x3c\x61\xe2\xa2\xf5\x95\x2f\xf7\x83\x15\x1e\x6b\x2a\xd6\xc6\xf5\xbd\x11\x5e\x38\xb1\x35\x5c\xbe\x70\xdf\x33\x0f\xbd\xf8\x2c\xa5\xfb\x1f\x7a\xf1\x26\xfa\x74\x1f\xd7\x11\x8b\xac\xf0\x38\x6c\xe2\xa2\xc5\xe7\x9e\xcc\xed\xeb\x5f\xbf\x7e\xd1\xc4\x09\xf2\xfa\xca\x57\x83\x67\x45\x24\xd6\xa1\x67\x6e\x9d\xb8\x30\xcc\xbe\x7a\xd3\x8b\x0f\xf5\x53\xfa\xd9\x17\x1f\x7a\x66\x9f\xf6\x95\x3e\xae\x2d\x96\xb2\x7a\x56\xd8\xc4\x05\x67\x2e\x9d\x69\xaa\x11\x30\xec\x92\x54\x61\x10\x12\x3c\x68\xc4\x0d\x78\x06\x47\x6b\xec\xba\xcc\xf6\x05\xd2\x79\xcf\x88\xab\xe6\x9e\x1f\xff\xc7\x5c\xf4\xf3\x8f\x5f\xf3\x53\x73\xc9\x0f\x19\x36\x41\x86\x65\x90\x2e\xe4\x8b\xb1\x94\x5e\x8f\x91\x5d\x49\x29\xa6\x79\x90\x51\x16\xcb\xa4\x03\xc1\x7c\x3a\x98\xef\x26\xb3\x84\x40\x30\xe0\xf9\xdf\x64\xe6\x54\x83\x8a\xb8\x7b\x7a\x57\xf7\xf6\x5c\xda\x63\xbe\x35\xd5\x69\xfd\x72\x9d\x3f\xd6\x29\x49\xc1\x4d\x72\x9d\xed\xaa\x64\x6b\x9d\x5d\x0a\x7e\xa7\xce\x4b\xc1\xd8\x84\xab\x25\x47\x9d\x6d\x87\x64\xeb\x72\x07\xed\xbb\x6d\xce\x91\xa4\x81\xcd\x7a\xd2\x58\x5b\x6d\x52\x8b\x5d\x4f\x6a\x9f\xee\x0a\xd6\xed\xb6\x39\x99\x7a\xb7\xdd\x9b\xe1\xb7\x30\x4b\xaf\xd3\xe7\xf3\x39\x7b\x2d\x6c\x0b\x9f\xf1\xda\xef\xbe\xdb\xe1\xc9\xf0\x7c\x57\x67\x25\x22\x33\x41\xe4\x37\xf3\x19\x8f\xe3\xee\x7f\x34\x7d\xe5\x2a\xa3\x61\x83\x09\xcf\xf5\xf4\xf0\xb9\x8a\x43\xdb\xf1\xb4\x4d\xa6\xfa\xf8\x84\xc9\xa7\xd6\x59\xed\x52\xf3\x26\x69\xa9\x6c\x5f\x3b\xa9\xde\x65\xfb\x92\xcd\x7f\xae\x64\xf9\x5c\xa3\xd5\xe6\x5c\x18\x68\x57\xea\xc9\x53\x57\x9b\xd4\xd2\x7c\xb5\xb4\xd4\xeb\x5c\xdb\x51\x93\xd4\x52\xe7\xee\x0d\x4c\x8e\x05\x99\xa7\x3c\xb0\xdd\xed\x6a\x6c\xb8\xa2\x81\xe7\xe6\x2c\xf7\x33\xe6\x5f\x3e\x87\xe3\x1b\xae\x68\x68\x74\xb9\xb7\xbb\x5d\x4d\x41\x3d\x82\x25\x22\xe7\xfb\x19\x9b\x33\x81\xcd\xd6\xe3\x82\x4d\x2e\x6e\xf0\x7f\x92\x6b\xc4\x6e\xc4\xe0\x85\x93\x86\xd5\xab\x5b\x34\xb8\x61\xe3\x3a\x20\x25\xa5\x64\xbb\x84\x42\x17\x6f\xa8\x08\xf2\x89\x08\x4f\x3e\x51\x6a\xe6\x83\xcd\xa2\x4e\x69\x29\x25\xa5\xa4\xc4\x78\x44\x1f\xb1\x89\x42\x17\xe5\xb2\xa9\x66\x12\xd4\xfd\xda\x77\xff\xed\xec\xa5\xd7\xde\x9b\x48\x73\x75\x32\x23\xe2\x98\xc0\x89\x24\x24\xdc\x4d\x7e\xdb\xb5\xb7\xef\xa7\xd3\xe8\x7a\x3a\x8d\x4d\xbf\xfd\x5a\x9b\xbf\xc9\x9d\x10\x48\xe4\x04\xc6\x11\x71\x3e\x7b\x3a\x71\xef\xb5\x4b\xcf\xd6\x0e\xfd\x64\x6a\xf3\x03\xd4\xba\xe1\xba\x9b\x83\x37\xde\xc3\xdd\xa6\xfd\xe5\xe0\x2d\xee\x25\xad\x56\xc9\xed\xe0\x24\x51\xe4\x25\x4e\x22\x51\xf1\x27\x5b\xeb\xe7\xfe\x72\xd3\x6d\x07\x6f\xb9\xa5\x7c\xcb\xe6\x5f\xcc\xad\x6f\x4d\xfa\x15\x91\x24\x4e\xe2\x45\x51\xe2\x9c\x6e\x92\xac\xad\x4b\xdc\x5b\xf9\xa5\x8b\x97\x0d\xde\xbc\xa0\x67\xce\xab\x23\x7c\xb7\x71\x76\x6e\x3a\xd6\x8d\xde\x36\x43\x59\x25\x1e\xcd\xe6\x73\x59\x25\x3e\x22\x09\x79\x32\x3a\x67\xa4\x8b\x98\xb9\x6c\xaa\x8b\xb2\x29\x3d\x3a\xd5\x45\x05\x9f\x31\x32\x8c\x47\x6c\x63\x3a\x92\x46\xe7\x53\x7d\x50\xea\x92\x53\x26\xdd\xac\x8f\xc0\x4c\x3a\x40\xe6\x95\x34\xfc\xa3\x0b\xd3\x5a\x7f\x5f\xb1\x2f\x54\x9f\x9c\x10\x28\xf0\x4a\x43\x7b\x62\x42\xca\x1d\x89\x38\x92\x4d\x93\x82\x93\x85\x57\x6e\xba\xa6\x24\x34\xc7\xbd\x39\x9f\x2b\xd2\xa6\x4e\xb1\x2a\xdc\x74\x7a\xec\x0b\x89\xf3\xfb\xbe\xfb\x99\x0d\x01\x6d\x40\x9f\x3f\xc9\x9b\x58\x35\x75\x4a\x7d\x50\x69\x4b\x65\x16\xdf\x3c\x7b\xf2\xbe\xd5\xbb\xcd\x3b\x6b\x98\x9a\x59\x30\xf5\x67\xd3\x56\x2c\x0f\x5d\xfd\xb9\xb6\xe0\x2c\x21\x1d\xc9\xc5\x13\xde\xb2\x2a\x4a\x2e\x8b\x87\xcd\xfb\x5a\xa8\xd9\x3d\x6f\x7e\x24\x7d\x5a\xc3\x0c\x0f\x2d\x4b\x9c\x3b\x3f\x9a\x58\x70\xaa\x3f\xb0\x6a\xc1\x6d\x0f\x9c\xd4\xd6\xda\x93\x63\x6a\xae\xa7\xfe\xa6\x9e\x5c\xc3\x35\x5b\x27\x26\x4f\xb9\x75\xe3\xf9\x9f\xde\x8d\x91\x3b\x98\x0c\x5b\xd2\x2e\x5d\xb6\xac\x99\xd1\x52\x46\x5f\x1b\xf8\xc8\x9b\x1a\x13\xc9\x29\x98\x18\x13\x82\x81\x60\x33\x0b\xea\x13\xb9\x92\x8b\xa6\xf3\x05\x7d\x45\xac\x4e\x73\x86\xd9\x68\x4a\x49\x8d\x2e\x3f\x85\x2e\xd2\xa7\x30\xc9\x3f\x82\xd2\x11\x7c\xb5\x45\x5c\xbe\x9c\x37\xde\x2c\xac\x38\x47\xbd\xe9\x15\x61\x72\x70\x52\x53\xd2\x11\x89\xb8\x53\x13\x12\xed\x0d\x0a\x5f\x08\x4c\x48\xd6\x87\xfa\x8a\x7d\xd4\x97\x5e\xa8\xee\x5e\xbd\x6f\x72\x3c\x7e\xf3\xe2\x4c\x2a\xd6\x5a\x57\x2f\x4f\x9e\xb6\x2a\xa1\xbd\x67\x20\x2d\x12\xd8\xa0\x3e\x7b\xc9\xfa\xed\x5f\xa7\xe9\x9c\x62\x9d\xc2\x9b\x87\x2c\x35\xc4\x97\x91\x67\x46\xc3\x69\xe9\x16\x25\x39\xcf\xdd\x1c\xfa\xd4\x99\xf3\x98\xc7\xe2\x92\xc4\xb2\xea\x4d\xc4\x73\x91\xb4\x30\x2b\xd8\xf6\xb9\xab\x43\xcb\x57\x4c\xfb\xd9\xd4\x05\xe9\x8b\x77\x7f\xfa\xfc\xab\x67\x9d\x76\x4a\x32\xba\xe2\xac\xb3\xfd\xe9\x05\x37\xd5\x9b\x78\x6b\x6d\x6f\xbf\xff\x16\x61\xc1\xaa\x80\xff\xd4\x05\x89\xe8\xbc\x0a\x4f\xf0\x75\xae\x68\xc8\xe4\x20\xcf\x31\xb7\xfb\x72\xc5\xf1\xb7\xf7\x0a\x03\x47\x7e\x74\xec\xf5\xbc\xb5\x63\x53\x45\x18\x27\x03\x94\xed\xe0\x0c\x49\x5d\x47\x64\xcc\xc9\xf9\x7d\xba\x4c\x54\xa8\xf0\x99\xe3\xee\x4c\x16\xd5\xb6\x53\xfb\x96\xad\xde\xbc\x6a\x6e\xbd\xb7\xcb\x5b\x3f\x77\xd5\xe6\xd5\xcb\xfa\x4e\x6d\xfb\x2e\x3b\x8d\xcd\xda\xaf\xbe\x55\xbe\xd3\x7b\x82\xfb\x94\xb9\xc7\xce\xb8\x76\x5e\x87\x3b\xb3\xe0\xd4\x70\x20\x10\x3e\x75\x41\xc6\xdd\x31\xef\xda\x33\xf6\x7c\xb7\xfc\x32\x9b\xb4\x7f\xcf\x6f\xdf\x2a\xef\xf1\x1e\xef\xba\xe5\x51\x3b\xd5\x88\x00\xb4\xea\xfc\x5c\xd2\x17\x70\xb2\x5a\x5e\xc3\x5f\x09\xa8\xd8\x69\x4e\x65\xcd\xdc\xc8\x8e\xd9\x48\x32\x73\x87\x8c\xa9\x8c\x04\x97\x43\x33\xac\x34\xa9\xe8\x90\x2b\xde\x99\xcb\x97\xcf\xa4\x08\xf9\x44\x8f\x68\xe3\xb9\x7e\xb9\x3c\x20\x67\x15\x63\xef\x27\x44\x25\x25\x2b\xb3\x48\x1f\x1f\xf1\x87\x1c\xa6\x61\xba\xec\x30\x3c\xcb\x67\x96\x8b\x33\x97\x33\x5e\xaa\x63\xe9\xac\x9e\x45\x09\x51\xa4\x72\xc7\x41\x24\xa4\xc8\xe5\x81\xea\x39\x60\x93\xd7\x75\x21\x89\x1c\x50\xc8\x78\xe2\x85\x0e\x32\x56\x6d\x73\x57\xc0\xa3\xf3\x5a\x52\x26\x17\x0f\x70\x19\x8f\xb9\x10\xfb\xc7\xb3\xa1\xef\xfe\xf9\xcf\x1f\xd0\xec\x0d\xf3\xe6\x9c\x4c\xd3\xe6\xb2\x79\x7f\xde\xb9\x79\xdb\x3c\xf6\x67\x8e\xfb\xb3\xe4\x9a\xde\xbe\x81\x0e\xd4\xb2\x9e\x5b\xd8\xb7\x5f\xcd\xce\x9a\x95\xcd\x9c\x76\xda\xd0\xd7\xe8\xf6\x7b\xef\xdf\xb8\x6a\x66\x79\x3b\x6d\x55\xbc\xf1\x29\x5f\x61\x57\xd5\x72\x9b\x86\xee\xdb\xb8\x33\xa5\x0e\x1d\x3a\x65\x19\xec\x84\xc7\xe0\x27\x74\x00\x38\x27\xb5\x51\x2c\xc5\x19\x12\x50\x3e\xe3\xa9\x08\x77\xba\xc4\xe7\x49\x07\x68\xc0\x1b\xf6\x7a\xc3\x5e\xd6\xaf\x84\xb4\xb3\x32\xcc\x63\xa7\x46\xa1\x57\x5b\x1b\x52\xbe\xf2\xe9\x91\xab\x17\xb3\x9f\xfe\x0a\xeb\x27\xc3\xb4\xc3\xb8\x97\x4c\x7b\x3c\xa4\x68\x4d\x76\x4f\x23\xbd\xa5\x84\x3e\xf3\x23\x06\x53\xce\xd3\xf0\xa3\x11\xf9\xcb\xf8\x3f\x83\xc7\xbb\xff\xb7\xc9\xbc\xdf\xb7\xd6\xd0\x7f\xe4\x16\xc6\xe3\xed\xfb\x8d\x9a\xe4\x32\x03\x80\x72\x71\xc4\xfe\xd8\xb8\x1e\x4d\x55\xb2\xf2\xbe\xf2\x06\x73\xfb\x8f\x6d\xdf\x27\x9b\xa6\x8a\xac\x4f\x2b\x55\x0d\x71\x8d\x84\x55\x23\x5c\xe3\x42\x46\xee\x4c\x0d\x21\xc5\xc8\x67\xec\x02\xea\xf9\xb2\x8a\x52\x73\xc7\x54\xd0\xf8\x5f\xc2\xc7\xa7\x41\xeb\x48\x9b\xb2\x4a\x17\xab\x9e\x56\x88\x47\x27\x32\x9d\xf9\x34\x83\x02\xfc\xf1\x48\x90\xae\xda\xbb\x49\x2b\x55\x68\x96\x8c\x96\x68\x03\x15\x9a\xad\x84\x6d\xda\xab\x8b\x5f\xc7\x23\x45\xca\x94\x8b\x35\x94\xcb\x4a\x26\xe5\x5a\x4c\xb2\x1e\x91\xf7\x55\x88\x70\x60\x1e\x40\x4a\x2e\xea\xf7\x05\x92\xb9\xa8\x4f\xea\xa2\x82\xdf\x67\xae\x60\x64\x6c\xfc\x54\xfb\xc1\xdc\x23\x31\x66\xe5\x94\x92\xea\xa8\x28\x96\x72\x35\x52\x31\xfd\x74\xfe\x30\x9e\xe1\x7f\x30\x8c\xf9\x5f\x78\x46\x3d\xeb\x0b\x2f\x5e\x31\x31\xa7\x34\xcd\x38\xb5\x67\xa3\xd7\x39\x54\x72\x7a\x37\xf6\x9c\x3a\xa3\x49\xc9\x4d\xbc\xe2\xc5\x2f\x9c\xd5\xd9\x4a\x91\xe5\x33\x59\x71\xe6\x72\x8a\xb4\x76\xb2\x2f\x3c\xf8\x8b\xbe\x85\x7b\x3e\xe8\xfb\xc5\x83\x4d\x7b\x5e\x52\xe7\xec\xd8\x70\xba\x90\x9f\x10\x5b\x90\xc9\xcf\x3f\xef\x34\xf3\x86\x99\xd3\xce\x9b\x9f\xcf\x2c\x88\x4d\xc8\x0b\xa7\x6f\xd8\x31\x47\x6d\xed\x34\x75\x98\x9d\xe6\x3f\xd4\x1b\x39\xb3\xa0\x4b\x36\x2d\x48\xa1\x1d\x69\xdc\x88\x3b\x01\xca\xa7\x14\x49\x0c\x06\xcc\x77\x21\x9f\xaa\xf8\x83\x79\x25\xa5\x18\x5f\xc3\xdf\x4c\xd9\x78\xcc\x57\xd0\x43\xf2\x94\x45\x04\x7e\x9f\x37\x18\xd0\x65\x09\x27\xeb\x20\xa3\xc1\xc6\x8a\x1c\x6c\x26\xe3\x02\x2a\xbd\xff\x0a\x4a\x21\x1f\x68\xd1\x25\xf2\x2e\x16\x0c\xe8\x6b\x8f\x93\x93\xcc\xa3\xda\x81\x42\xde\x3b\x9e\x9e\x99\xc4\x4b\x56\x81\x97\xac\x41\x41\x12\x45\x49\x10\x27\x31\x49\x22\x4e\xb2\x04\x18\x71\xa2\x45\x10\xcf\x63\x75\x56\x9e\xd5\x59\x3b\xec\xb6\x19\x2c\xc0\x98\x8f\x7d\xd6\x3c\xeb\xf0\xc3\x7b\xbd\x1e\x12\xe5\x6c\x7b\x9b\x25\x18\x63\x42\x1d\x57\xe7\x14\xbd\x13\xed\xee\xb6\xf6\x88\x53\x0a\x4d\x99\x3f\x37\x95\xab\x6f\x92\xe7\x34\x84\xa6\x6e\x9f\x5a\x17\xef\x95\x9b\xea\x73\xe1\xb6\xe2\x0c\x25\x4e\x1e\xef\xbd\x3f\x24\xd4\xce\x17\xb4\x48\x94\x24\x41\x94\xa4\x0e\x89\xe3\x2d\x16\x8e\x9f\xc2\xf3\x8c\x17\x38\x26\x93\xc4\x24\x8b\x24\xce\x91\x78\x4e\x92\x78\x8e\x77\xbb\x5d\x12\x2f\x59\x78\x3a\xcd\x38\x1a\x72\xe0\x6b\xda\xdf\xb2\x9c\xdb\x9e\x6d\x23\x8e\xac\x2d\xa1\x69\x2e\x12\xea\x2c\x12\xdf\x18\x08\x87\x25\x71\x52\x40\x6c\xc8\x7d\x7a\xf6\xe9\x53\xbb\xe6\x8b\x8d\x6e\xb7\xe7\xff\xe3\xed\x4d\xe0\xe3\x28\xce\xbc\xe1\x7a\xaa\xfa\x98\xab\x7b\x66\xba\xe7\xd2\x68\x34\x9a\xd1\x68\x0e\xdd\xf6\x9c\x92\x75\x8d\xe5\xdb\x92\x6d\xf9\xc4\x60\x63\x0b\x5f\x18\x71\xd9\x80\x31\x87\x8f\x0e\x38\x80\x6d\xc2\xe5\x60\x1c\x12\x62\x41\x48\x80\x10\x36\x84\x6c\x0e\x12\x93\xcc\x26\x84\xe4\x5d\x02\xc1\x2c\x6c\x2e\x92\x15\x49\x36\x4b\x12\x48\x78\x93\x25\x09\x96\xa6\xf5\xfd\xba\x7a\x2e\x8d\x65\x4c\xf6\x7b\xdf\xd7\xd6\x74\x57\x57\x57\x75\xd7\xd5\x55\x4f\x3d\xc7\xff\xb1\xf3\x2e\x3f\xb7\xb4\x6f\xce\x8a\xae\x0b\x52\x8d\x36\xa6\x3e\x1b\xdb\x82\x2d\x36\x92\x04\x33\xbe\xbd\x72\x4e\x2a\x62\x27\xe4\x68\xdf\xd1\x79\xe0\x83\xf1\xfb\x28\xd0\x66\x3a\xa3\x0d\x37\x5d\xbe\xae\xdf\x0a\x36\x44\x23\x05\x16\xdc\xb9\x10\xfc\x9e\x74\x6e\xed\x05\xd4\xbb\xd5\x09\x4f\x52\x10\xbf\xe6\x29\xa4\xeb\xa9\x4e\xa1\x66\xbb\xbd\x1e\x72\x52\x5a\x82\x5c\x7d\xe4\x1c\x20\x7e\x9d\x8b\x17\x77\x76\xe2\x91\x58\xf1\x33\x8d\x45\xfd\x90\x93\x65\x35\xeb\x2f\xad\xb3\xec\x14\xab\xa0\xd9\x68\xab\xb6\xce\x52\xd3\x64\x8d\x1e\xa4\x62\x60\x6a\x96\x2f\x82\xf6\x55\x61\x27\x55\xe9\x70\x14\x0d\xc3\x35\x02\x46\xca\x38\xb0\x0e\xf4\xa3\xa7\xa5\x19\x75\x1e\x9b\xae\x31\xa8\xa7\xa5\x43\xcb\x8f\xdd\x7e\x60\x0f\x8a\x66\x8b\xc9\x60\x32\x31\x46\x79\xb9\xa3\xe7\xad\xee\x96\x4b\xe7\x75\x1e\x9e\x3b\x72\x70\x76\x8d\xcb\xe3\xf2\x5c\x52\xd3\xf5\x66\xd7\x57\x2e\xfd\xc8\xeb\x7b\x95\x3b\x27\x3f\xb9\xef\x5f\xbb\x7e\xd5\xe9\xb9\xa4\x66\xc9\x76\x57\x4d\xe3\x12\x65\xdd\xf2\x07\xbf\x73\x53\xcf\x7f\xcd\x91\x87\x1c\x2b\x97\x9a\x18\x62\xc1\x36\x09\xbf\xd0\x7a\xb4\xd6\xef\x6b\xf3\xba\x37\xb8\xc2\x12\x18\x67\xb9\x3d\xae\xf4\xec\x25\xbf\xfb\xd3\x47\x62\x63\x4d\xee\x0b\x5a\xeb\x5c\xf5\x8d\x6d\x3f\x06\xc7\xd1\xcf\xaa\xdf\x9c\xc8\xb4\xd6\xd5\x5d\xbd\xc4\xb3\xde\x1d\x7b\xb8\xe9\xea\xd7\x5f\xfe\xea\xdc\xee\xde\xe5\xb3\x4c\xdb\xd7\xb8\x2f\x72\x0b\x1e\x63\x80\x89\x3d\x54\xa9\x0b\xb1\x02\x21\x8d\xe4\xd7\x41\xb2\x28\xf1\x86\xb4\xcf\x89\x29\x80\x17\x51\x6c\x59\xad\x4e\x58\x9b\x76\x0a\xd5\x73\xfb\x89\x0e\x9d\xa5\x05\xb1\xdb\xe5\x76\xb1\x8a\xc3\xec\xdc\xbe\x69\x63\x6d\xb2\xbf\x7e\xd8\xb8\x65\xd9\x41\xf5\x8f\x2b\x66\x85\x88\xdf\x2c\xf1\x89\xce\x78\xcd\x05\xb5\x22\x2f\x85\xcc\x91\x80\x95\xd4\x89\x5d\xf3\xba\x4c\xbc\x13\x86\x9e\x3f\x8c\x1b\xc4\x5a\xa3\xd4\x19\xef\x71\x88\x75\xcd\x4c\x4d\xd7\x42\x79\x21\x47\x20\x56\x7b\x41\x4d\xbc\x33\xc1\x4b\x66\x3f\x09\xcd\x5a\x01\xd2\xc1\x65\x5b\x8c\xc3\xf5\xfd\xc9\xda\x8d\x9b\xb6\x3b\xcd\x0e\xc2\x2d\x94\x17\x76\xd5\x30\xcd\x75\xa2\xa3\x27\xde\x29\x19\x6b\xc5\x06\x7c\xf8\xf9\x21\x70\xf2\xa6\xae\x79\x5d\x62\x1d\xb1\x06\x22\xe6\x90\xc4\x17\xd7\xb0\x12\x86\x2c\x3a\x9f\x61\x1a\x33\x52\xb6\x0f\xd9\xf4\xcb\xb2\x09\xc9\xde\x27\x58\x54\x5c\x77\xb4\x7b\x63\xe5\x1b\xfa\xba\xad\x63\x98\x70\x3a\x9e\xa1\x1d\x32\x6e\x90\x3f\x10\xcc\x44\x99\x44\xf0\xd8\x85\x17\xc2\x63\x96\x73\xa2\x9a\xa0\x89\x08\x1c\x5f\xbb\x56\x1d\x65\x2f\xfa\x60\x7c\x93\x32\x8f\x6d\x11\xba\x80\xd2\x90\x4c\xb4\x1d\xeb\xc2\xff\x76\x1c\x6d\x87\x92\x02\x80\x16\x64\x43\x0d\x3a\x16\x34\xe3\x76\x21\xb7\x9f\xa5\x80\x7d\x67\x33\xda\x98\xc0\xec\xf6\x36\x8e\xf5\xb9\x4c\xd6\x96\xc6\x26\x81\x97\x2d\x2e\xb2\xf5\xae\x4e\x2c\x70\x7c\xd3\xec\x26\x93\x83\x10\x8f\xb7\xd6\x6d\x32\xcf\x4a\xb5\xcf\x67\x59\x81\x97\x70\x0f\x74\x3d\xca\xcd\x92\x9a\x6a\x1a\x6d\x5d\xc7\x9c\xae\xaa\x69\xed\x02\xb3\xc9\x5d\xeb\xf5\x10\xe2\x30\x35\xcd\x6e\xe2\x39\x01\x67\xee\xde\x4a\x5c\x16\x99\x17\x9a\x1a\x5b\xac\x26\x97\x8f\xe5\xda\xda\x67\x07\x18\x97\xf3\x58\x97\xad\xb1\xa6\x49\x9a\xc5\x3d\xaa\x7e\xbf\x07\x4b\xbc\xc0\xb2\xf3\xdb\x53\xa4\xab\x72\x5e\x02\xd4\x8a\x10\xb7\x86\x45\x54\x1e\x4f\x39\x19\x58\x04\x46\xdf\xa9\x66\xda\xa1\x70\xea\x05\x97\x9b\xca\xbe\x5d\x8c\xbb\x80\xaf\x95\xce\x70\x7c\x9a\x5b\x33\x6f\x33\x0c\x7d\xf2\xdf\xd5\x57\xbf\xa0\xfe\xef\x37\x43\x2d\x6f\x3e\x7d\xd9\xe7\xea\x83\xbe\x96\xe6\x5d\xc7\xe6\x2f\x1f\x58\xde\x7a\x23\x6c\x78\xc1\xf0\xdc\x6d\x77\x8e\x5c\x39\x12\xbe\xec\x62\x66\xe7\x96\x05\xa2\xef\x16\x35\xff\xc7\xaf\x5d\x79\x2f\x73\x04\xef\xbf\x84\x35\xbb\xbf\xb4\x87\x89\x90\xd6\xbb\x56\xaf\x1f\xbc\xff\xcb\xa6\x48\xe3\x6d\xcf\xed\x70\x76\x5d\xdb\x6f\xa2\xfb\x83\xcd\x53\x0a\xf9\x36\x87\x74\xfe\x37\xe5\x10\x06\x49\xc8\x1e\xb4\x87\xec\xba\xac\x8d\x7c\xfb\xa1\x75\x3d\x10\x8e\xaa\xea\xcb\x53\x68\xea\x95\xa7\x8e\xb1\xff\xad\xfe\x7d\xf1\xe2\xe7\xd4\x9f\xe4\x8d\xf8\x6f\x10\xfb\xd9\x37\x5e\xd2\x6d\x9d\xa7\x1e\xa3\xfd\xba\x06\x6d\x44\xdb\xd0\xe5\xe8\x5a\x74\x13\xba\x05\xdd\xa1\x6b\xd9\x38\x1d\x88\xe7\xf4\xa9\x28\xda\xc7\x68\xbb\xb5\x68\x84\xb3\x42\xa4\x81\x6f\xc7\x3c\xe7\xd6\xa6\x22\xe2\xd6\xc8\x84\x86\x48\xb4\x1d\x3a\xa0\x81\xf3\x43\x3d\xd0\x1f\xe9\x07\x3a\xc9\x45\x23\x28\x95\x94\xe4\xd2\x92\x5b\x79\x9e\x76\xa9\x2d\xcd\x49\xbe\xc1\xe9\xc8\xc4\x33\xda\xbd\xa2\xe2\x8e\xfa\xf3\xb7\x6a\xbd\x90\xec\xda\x70\xc9\xdc\xa6\x15\xe1\x36\xdf\x68\x34\x72\xf1\x0b\x17\xdb\x52\xd7\xf8\xda\xc2\x2b\x9a\xb2\x97\x6c\xe8\x8a\x9a\x9c\xb3\x06\xe6\xba\xe5\x6e\x87\xc3\x69\xe3\x2c\x3c\xef\x6a\x31\x99\x84\xbe\xc5\xf3\x5c\x6e\xf0\xd6\xbe\xa5\xfe\xfc\xe5\xb5\xc4\x64\x22\xc4\x64\x0c\xf1\x46\x13\xc7\x1b\x4d\x8d\x46\xa3\xc1\x68\x94\xe2\x06\x8b\xc5\x60\x14\x2c\x73\x89\xcd\x6a\xb0\x5b\xe7\xd9\x6d\x76\xdb\x1c\x6c\xb3\x31\x01\xaa\x09\x74\x7a\x42\xbd\x7a\x19\xeb\x91\xc8\xb1\xde\x4b\xda\x38\x4f\x7a\xc5\xad\x6b\xf7\x5e\xb0\x61\xb7\x31\xe6\xf1\x78\xbd\xe6\x40\x9b\x71\xf7\x86\x0b\xf6\xae\xbd\x65\x38\xed\xe1\x1a\xe7\x99\x4c\x2d\x4d\x81\x18\x43\x8c\xa2\xc8\xb2\xa6\x4e\xb7\x3b\xd2\x21\x00\xc3\x44\xb6\x33\x92\x87\x5d\x06\xf7\x4e\x9c\x86\x4b\x26\x0f\xf2\x2c\x61\x79\x96\xf3\xb2\x66\x23\xc7\x9a\x4d\x11\xde\x22\xf0\xac\xb7\xd1\x60\xb6\x18\x0d\x66\x8b\xcd\xcc\x32\x2e\x86\xe3\x05\x6c\x16\xb0\xd3\x8c\x89\xc7\x30\x4d\xd6\x11\x9e\x86\x4c\x1d\xd1\x3a\x3d\x31\x1d\xaf\x47\xa3\xc6\x50\x00\x71\x4a\xc4\x9b\xf5\x46\x8e\xbf\x76\x7c\xa4\xec\x64\x00\x8f\xe9\x98\x3b\x24\x57\xb4\x35\x18\x3d\x7e\x7c\x34\xd7\x19\xab\x40\x3d\x7c\x16\x78\xf5\xfd\x12\x76\xba\x3e\xa7\xd5\x14\x70\xc8\x50\x15\x36\x50\xc2\x49\x47\x5d\x2a\x19\x09\xd9\xa9\x3d\x84\x36\xe9\x65\x52\x41\x67\x22\x15\x74\x72\xe3\xda\x3c\xa6\x1b\xd9\x0a\x32\xa7\xc8\x82\x20\xbf\xaf\xc8\xc2\x08\x20\x05\x14\x56\xd9\x34\x50\x36\xab\x55\x64\x61\x7c\x5c\x90\x27\x90\x2c\xe0\x91\xfc\x98\x20\x2b\xda\x3f\x5d\x27\x86\x2d\xfa\x4b\xea\xad\xb0\x00\x76\xe9\x4c\x4e\x6d\x19\xa1\x5c\xcd\x4c\xba\x1b\x5c\x8c\xdb\x25\xb1\xa5\x3b\x18\x35\x96\xef\x59\x28\x0e\xbd\x6e\x10\x8c\x77\x61\x59\xaa\xbb\xbd\xa6\x11\xbb\xd4\x6f\xfe\x67\x4d\xd0\x69\xf7\xb2\x63\xd0\xb8\xfb\x9a\xdb\xb1\x80\x1d\x92\xef\x6e\x6f\x18\x2c\xcf\xa8\xbf\x56\xf7\xff\xb8\x26\xe4\x90\xbc\x04\x38\xf8\x8f\x6f\x7c\xf3\xdf\x41\xb7\x12\x56\xbf\xe7\x73\x38\x83\x35\xff\x09\x0b\x5c\xb8\xb1\xe6\xf6\x3a\xc9\x2e\xdc\x7e\xcd\x6e\xf5\x8d\x47\x6a\x1d\x8e\x50\xcd\x8f\xe1\x56\xa8\x7b\x46\x80\x70\xcd\xdd\x3e\x49\x12\xfe\xfd\x9b\xdf\x50\x83\x05\x3b\x53\x54\x90\xad\xd5\xa3\x26\x8d\xc2\x41\x55\xf2\x35\x77\xb5\x6f\x99\x60\x11\x7e\x19\x66\x44\xab\x65\x6c\x1d\x03\x1d\x1d\x03\xd0\x41\x4f\x27\x2b\x0d\x96\x27\xe2\xcc\xa7\x1e\x62\x3c\xe2\xe4\x9f\x45\x0f\xc3\x7c\x49\x6f\x69\xdb\xf7\xec\x1b\x33\x44\xcc\x6c\xb4\x7f\xcf\x06\x97\x0c\xe8\xd9\xb4\xbf\x77\xa1\x8c\x98\x05\xef\xc0\xaf\x04\xbb\x5d\xc8\x1f\x28\x6c\x91\xb3\x35\x71\xbc\x29\x35\x30\x90\xca\x3f\x12\xa7\x6b\xc0\xad\x94\x8f\xd0\x8e\x92\x74\x34\x68\xbb\x42\x07\x17\x42\x61\x11\x5c\x6e\x11\xfc\xd8\x2d\x82\xb6\xae\xa7\x33\x25\xb4\xf3\x80\x36\x68\x88\x1d\xb1\x76\x86\x53\x52\x83\x83\xa9\xa1\xa4\xba\x59\xdd\x33\x67\x80\x89\x38\x38\x69\x76\x47\xa4\xee\xb3\x5f\x68\xe7\xdb\xe4\x5a\x62\xb2\xdf\x44\xdf\x39\x0e\x5f\x86\x97\x92\x43\x8a\x7a\xbd\x7a\x04\x6e\x24\x0a\xe5\xfb\x26\x87\x60\x43\x50\xde\x74\x79\x34\x38\x37\xd1\xdd\xe4\x9f\x13\xaf\x6d\x76\x7f\xa4\xe7\xfa\x35\xbb\xd3\x9b\x06\x72\x03\x9b\x40\x19\x4a\x4e\x36\x92\x6f\xa8\xaf\x36\xa9\x7f\x6e\xa6\x7c\xa7\xec\x14\xe2\x72\x1c\x42\x66\x54\x83\xe6\x22\xc4\x24\x29\x4d\xd5\xa0\xed\x67\x20\x88\xec\xc9\x76\xdc\x20\x62\xa7\x8d\x6e\x6c\xa8\x83\x02\xad\x89\xb5\x39\x4e\xca\xe8\xa8\x9e\x4e\x07\xef\x92\xb4\x09\x8e\xdc\x63\xeb\x5e\x1b\xb8\x74\x49\xfe\x7a\xd6\xa1\xfe\x75\xd6\x45\x9f\xf8\xc6\x27\x2e\x9a\xc5\xe4\x86\x92\x6a\xf6\xf8\x6b\xc7\xd5\x6c\x72\x28\xbe\x6a\x7d\x6f\xf4\xf7\xdf\x32\x74\x0e\x77\x1a\xbe\xf5\xfb\x68\xef\xfa\x55\x4f\x07\xd6\x76\xdb\x6c\x4b\x2e\x85\x59\xd0\x8a\x1d\x89\x2b\xb6\xf4\xf7\x6f\xb9\x22\x91\x7f\x5b\x7d\x2d\x39\xa4\x7d\x75\x43\xc9\xe6\x8d\xc7\x3e\xff\xe7\xa3\x27\x80\xf5\xc9\x0e\xed\xf3\x73\xc8\x3e\x75\xe2\xc4\xd1\x3f\x7f\xfe\xd8\x46\xfa\xcd\xe3\x29\x85\x55\xd9\xfd\x74\x6f\xe6\x76\xf1\x9c\x95\x1e\x3b\x40\xa7\xa2\xb4\x73\x34\xa2\x1f\xfb\x29\x0b\x55\x3b\x66\xd2\xfa\xb1\x9e\xa2\x3e\x6a\x47\xb7\x4b\x3f\x6a\xb9\xdd\x2e\x9e\x1d\x39\xe2\x37\x59\x62\xa7\x52\x96\xfa\xba\xa6\x6f\xcc\x32\x35\x59\xf8\x7a\xc7\xed\xb7\xfb\x9a\x9b\x4c\xb3\xbe\xd1\x54\x57\x6f\x49\x9d\x8a\x59\x4c\xfe\x23\x55\xa9\x9a\xea\x6e\xbf\xbd\xae\x69\x7a\x1a\xac\x54\x65\xc3\x2e\x2d\x9b\xb9\xa9\x9c\xad\xd9\x37\xfd\xd1\x4d\x26\x4b\xfd\xd1\xa3\x7e\xb3\x69\x5a\x9a\x92\x4f\x32\xed\x3b\x4f\xa1\x9d\xd5\xfc\x54\xaa\x55\x18\x6a\xe0\x39\xbe\x20\xdd\xb0\x6b\x34\x61\x62\x1a\x3f\xb5\xc8\x22\xe4\x0a\x0c\xd5\x82\x25\x6f\x91\xd6\xe8\x63\x35\x3a\x93\xd1\xa5\x3e\xc1\x12\x37\x95\xfd\xdc\xf2\x78\x3e\xe7\x6f\xf4\x5f\xb8\xc8\x33\xe0\x11\x62\x8b\x17\xf9\x17\x2c\x0a\x04\x16\x7f\xeb\x7b\x2b\x9f\x2b\x70\x51\x61\x30\x39\xa4\x3c\x70\xd9\x13\x4c\x90\x72\x52\x3f\xfa\xdc\xa3\xdd\x05\x36\x6a\xc0\xe4\xf6\x38\x6b\x45\x0f\x9e\x1b\x12\x62\x0d\x1d\xfd\x91\xfd\x9f\x71\xc1\xf5\x95\xcc\x54\x47\x57\x6a\x75\xcb\xbc\xde\xa3\xad\xce\xec\xca\x95\x35\x5d\x79\x25\x9b\xad\x64\xa2\x0e\xa5\x2e\x3b\xd1\xd7\xa5\x73\x50\x17\x74\xeb\x8c\x40\xa3\x6c\xf7\x59\x7d\x64\x69\xc6\xb9\xaa\x2f\x1b\xba\xed\xa6\xf9\x3d\x27\x50\x45\xfb\xa4\x50\x2f\xda\x8d\x50\x38\x61\xd7\x71\x89\xe8\xff\x76\x86\x0a\xee\xfc\xd8\x49\x9d\xb5\xb9\x12\x41\x8d\xf4\x72\x73\x0e\x97\x5b\x57\xdb\xec\x83\xaa\x6d\x14\xdd\x65\xf4\x83\x2e\x88\xd1\xb7\x1a\x89\xa0\x4e\xba\xf8\x89\x46\x8a\x73\x94\x3e\x1b\x09\x04\x42\x73\x7b\x62\x75\x06\x66\x71\x4c\xf4\x80\x2c\xb9\x9c\x86\x45\x17\xfa\x1b\xfd\xf9\x5c\x7c\xf9\x50\x12\x06\x75\xce\x2a\x73\xc9\x05\x6b\x5e\xf8\x16\xec\xd4\xb7\x5a\x83\x29\x75\xbc\xfb\xd1\x6f\x1d\xbc\xeb\x69\x80\x5e\x12\x64\x9e\xb8\xec\x81\x13\x3b\xe1\x7a\xd7\x67\xf6\x47\xfa\x3b\x1a\x62\x42\x68\x2e\xf6\x88\xb5\x4e\x8f\xdb\x04\x81\xd4\xa0\x82\x15\x4f\xbc\x39\x68\x64\x57\x66\x5d\xed\x24\x1a\x8c\xb8\x7b\xe7\xb5\xac\x4e\x75\x39\x96\x25\x92\x43\x94\xb1\x1a\x58\xba\xc4\xe6\x09\xac\x5d\x95\xcd\x46\x0a\x0d\x9b\x57\x52\x83\xdd\x0b\x3e\x79\x27\x3b\xb4\xc3\xe5\xec\xea\x3b\x71\xd9\xa5\x27\x7a\xe6\xdf\x74\x5b\x28\xdb\xb7\xca\x99\x59\x4a\x7c\x56\x9f\x5d\x36\x0e\xa2\x4a\xfc\xff\xc2\xb8\x62\x8a\xcd\x90\x0c\x35\xf0\xed\xd0\x40\x65\xc4\xbc\x5d\x97\x7c\xda\x29\x7c\xaf\xee\xed\x8e\xfe\xa7\x4b\x1b\x65\xd4\x73\x15\xab\x5e\x3b\x5b\xd8\xb9\xa4\x75\x5f\x81\x94\x39\xe2\x72\x53\xaa\xaf\xb8\xed\xfc\xdc\xb4\x6e\x4e\x9e\x35\x12\xb0\x92\xcd\x2a\x5a\x97\xe7\x67\xee\xf2\x4b\xcb\x03\xe3\x22\xdd\x95\x61\x4f\xe5\x78\x3c\xd7\xa0\x5d\xf7\x21\x46\x67\x69\x28\x4f\x6b\x9f\x24\xea\x41\xbb\x28\x55\x0f\x54\x09\x80\xf2\x7e\xb4\xff\x22\xa3\x8f\x20\x9c\xb0\xd3\xcd\x6a\xca\xae\xd1\xbc\xae\x78\x3a\xa3\x5d\xe1\x12\xea\x04\xd7\x41\xf7\x1e\x1c\x4f\xe5\xac\x91\x94\xbd\x08\x58\x4b\xb5\xbf\x2a\xac\x48\xb5\x5d\x5c\x36\x9b\xff\x80\x5e\x6f\xef\x2a\x77\xba\x52\xd8\xc5\x17\x3a\x3b\x3d\x57\xeb\xec\xf4\xd2\x1b\x6f\xaf\xea\x6c\xfa\xed\x74\x2f\xc0\xd9\x35\x2f\x7c\x6b\xf1\xf9\x46\x6d\x48\x1f\xb4\xa4\x97\x36\x6d\x7e\xbe\x3e\x52\xfd\xfc\x07\x8f\xd4\xc2\xb8\x9e\xbe\x17\xaa\xa7\x54\x11\xb5\xc7\xcc\xa4\x0b\xa6\x87\x3c\xe7\xa8\x07\x70\xc5\xfb\x41\x8b\xa9\xb2\xcf\x64\x51\xc4\xab\x9a\x9e\x93\xe5\x0d\x52\x5a\x52\x8f\x6f\x90\xa4\x0d\x30\x2a\xa5\xa5\x0d\x92\xf4\x1c\xfc\xd5\x1b\x01\x34\x93\xc5\xe6\x73\xba\xa1\xa2\x96\x3e\x2d\x6d\x50\x8f\x4b\x92\x16\x78\xee\x83\x6d\x38\x69\xd9\x50\xb2\x03\x80\xda\x42\x3a\xea\xa1\x64\x33\x4a\x8b\xe8\x8a\x67\x20\x53\x69\x71\xc8\xb2\xf4\xd9\x7a\x61\x54\x13\xa5\x10\xff\x5a\x28\x2a\x8c\x6e\x00\xa1\xba\x68\xdb\xd3\xb4\xf4\x85\xc2\x78\xcb\x05\x85\xd1\x0d\xea\x39\xed\x34\x0b\xe5\x8a\xea\x36\x9a\xa0\x17\xa5\x1f\x4a\x56\xb5\xd4\x39\x43\xe3\x74\x7b\xcd\xb3\x6a\x5e\x7a\x19\x88\xd5\xa5\xda\x41\x4b\x2b\x9d\xa3\x2e\xf9\xf3\x95\xab\x83\x36\x57\x49\x39\x54\x37\x24\x75\xb8\x81\x16\x6b\x1a\x06\x0a\xcb\xcc\x58\x73\x89\xb6\xca\xd9\xe5\xda\x56\xee\xe5\x19\xc6\x00\x9a\xfa\x20\x3b\x38\x33\xfc\x04\x7b\xaa\xec\x1e\x44\xe0\xe3\x3a\xba\x73\x26\xed\x8e\xa4\x33\x7d\xd0\x0f\x5c\x24\xea\xe0\x93\x11\x2e\x5a\xdc\x92\x37\x88\x10\x8a\x88\x98\x17\x81\xd7\x76\x5a\xe9\x48\x34\x41\x6f\xf1\x9c\x1f\x9c\x2e\x6d\x79\xd0\x6e\x71\x2e\xb7\x4b\xc4\x56\x2d\x7b\x24\x1a\xe1\xb5\x9f\x96\xba\x0f\x52\xe9\x4c\x1f\x0e\xb9\xa8\xde\xbf\x1f\x12\xae\x74\xd4\x45\x53\x70\xee\x88\x08\xda\x1b\x1a\xb4\x47\xa6\xb5\x07\x52\xea\xcf\xc5\x6b\x33\x87\x8b\xd7\xf6\xc6\xda\x66\x30\xa2\x11\x23\x54\x05\x87\xd7\x1f\xe2\xce\xb8\xdc\x11\x9e\xe3\x5d\x7c\x3b\x8e\x6a\x4b\xba\xcb\xed\xc7\x19\x17\x9f\xa6\xd4\x89\x56\x2e\x57\xa6\x81\x73\xf0\x6e\xce\x95\xe1\x0a\x4c\x21\x70\x73\x2e\xbe\x81\x0b\x51\x3e\x50\x26\xad\x03\x59\xc7\xfd\x98\xe7\xe8\xdd\x50\xdc\xa5\x73\x8b\x28\xde\x5f\x3c\x4d\x5d\x51\x65\xf4\x7b\xda\x46\xdc\x95\x49\xa7\xb8\x68\xb2\x1d\xa7\x13\xf1\x34\xcd\xab\xb5\x12\xe7\x6c\x88\xf6\x41\xa6\x8f\x44\x28\x3f\x8e\xe7\xb4\x3b\xda\x74\x4f\x63\xc1\x45\x95\x24\x42\xae\xb4\xb6\x27\x8d\x64\x5c\x19\xfa\xf2\x74\x86\x2e\x0c\x7d\x10\xe9\x80\x64\x2a\xda\x0e\xba\x94\x36\x1a\xcf\x34\xb4\x43\x28\xad\x65\x75\x65\xf4\x53\x3a\x49\x3b\x24\x1d\xa2\xec\xe6\x48\x34\xad\x9d\x23\x24\x4d\xd5\xdf\xa3\xe9\x02\xee\x23\x2f\x12\x77\x24\xda\x8e\x29\xba\x65\x24\x1d\x8d\x88\x8c\x16\x6a\x87\x94\x9f\x52\x7b\x3c\xe7\x76\x70\x6e\x47\xb5\x05\x0b\x99\x8f\xad\x1c\x66\x59\xe0\x6c\x62\xa4\xc1\x8e\xdd\x84\x78\x08\xb6\x98\x81\x33\x8a\xd8\x64\xe2\x00\x5b\x31\x10\xc2\x72\x06\x1e\x08\x47\x38\x4c\xcc\xc4\x6a\x33\x71\x46\xc2\xb3\x60\x75\x10\x43\x92\x67\x81\x07\xc1\xc7\x10\x2f\x61\x79\x1e\x03\xc7\x32\xc4\x2c\x33\xbc\xd1\xcd\xb1\x8d\x35\x41\x8e\xe3\x2d\x04\x13\x23\x58\x78\x12\xb2\xb2\x02\x63\x34\xc9\xac\x48\x8c\x16\x23\xc3\x58\xac\x06\x13\xd8\x6d\x06\x30\xb2\x06\x03\xf1\x99\xe4\x5a\xbe\x96\x63\xc1\x6c\x12\xb0\xc8\x61\xc1\x04\x84\x63\x59\x03\xe1\x03\x26\xc6\x63\x67\x19\x06\x08\x23\x92\xf6\x59\x1c\xc7\xda\x70\x83\x81\x15\x39\xde\xed\xc0\x3c\x66\xac\xa2\xc1\xc6\xdd\x77\x21\xcf\x32\x98\x98\x8c\x1c\xb4\xc8\x98\x08\x60\x03\xc2\xf3\x3c\x0b\x98\xd8\x05\x21\xc8\x61\x22\x59\x18\xc6\x62\xc0\x6e\x00\x02\xa4\x86\x00\x66\x38\xec\xb5\x62\xc2\x62\x6c\x30\x72\x40\x4c\xa2\x03\x73\x36\x83\xd1\xc5\xb1\x1c\xc6\x82\xc5\x41\xd8\x5a\x83\xc9\x62\x67\xad\x3e\xbe\x51\xc6\xac\x99\xc7\xac\x97\xe5\x80\x38\x0c\x62\xbd\xc4\x12\x8c\x19\x23\xe6\x00\x1c\x98\x75\xb1\x44\xc0\x40\x30\x18\x39\x6c\xb6\xc8\x3c\x30\x1c\xc7\x37\xf0\x82\xcc\x02\x47\x2c\x0c\xd6\x0a\x0f\x84\x00\xdf\xc2\x59\x79\x16\xb3\x1e\x52\xc3\x12\x03\xe1\x59\x13\x36\x1b\x78\x03\x68\xff\xac\xbc\xc9\x04\xa2\x9d\x71\x72\x3c\x03\x06\x1e\x8c\x3c\xcb\xb2\x46\x8b\x81\x67\xeb\x09\x8f\x09\xe3\xc2\x76\x42\x24\xc1\x64\x23\x16\x23\xb1\x63\xab\xcb\xfe\xdc\xcb\xf7\x12\x99\x48\x1c\xf0\x46\x1b\xc1\x26\xc6\xcc\xf1\x5a\x57\x61\x70\x5a\x59\x8b\xd1\xcc\xb1\x18\x78\x91\x25\x56\xa3\xc8\x08\x98\x70\x18\xcb\x98\x21\xbc\x5c\x8b\x19\x9b\x0d\xce\x32\x50\x52\xbf\x07\x76\x30\x59\x80\x37\x70\x9c\x41\xc6\x2e\xc0\x2c\xeb\x02\x9b\x80\x39\x1e\x33\x40\x8c\x1e\xc2\x5a\x18\xcc\x73\xac\xc9\x84\x01\x58\xc0\x18\x58\x8e\x01\xc6\xc6\x31\x46\x03\x66\x8d\x0c\x67\x94\x09\x27\xb2\xbc\x5d\x30\xd8\x18\x83\x93\xa3\x72\x00\xcc\xba\xac\x35\xac\xc1\x28\x08\x46\x16\x44\x2b\xe1\xdc\x5a\xc7\x5a\x2d\x8c\x95\xf5\xb0\x1c\x98\xc0\x63\x00\x89\xc7\x8c\x91\x61\xc0\x6d\x31\x43\x0d\x58\x0d\x22\x58\xac\x0c\x66\x79\x23\xcf\x30\x60\x62\x80\x65\x30\xe3\x60\xd8\x1a\xc6\x48\x80\xc1\xbc\xc1\xc2\x60\x22\x60\xab\x17\x30\x36\x82\xc8\xb3\x36\x23\x43\x38\xce\xc2\x11\xd1\x00\x30\x7c\x17\x0f\x60\xe3\x38\x83\x19\x7c\x76\xc6\xcc\x63\x91\xb0\xb5\x10\x88\x32\x60\x69\x23\x24\x66\x00\x6c\x36\x72\x6c\x88\xe3\x7c\x46\xcc\x8b\x5a\x1e\xec\x68\xae\x61\x58\x27\x43\x18\x06\x78\xa7\xcd\x85\xb9\x5a\xa7\xd1\xd0\xc8\xf1\x02\x67\xc2\xd8\x4e\x18\x16\x70\x03\x23\x1b\x40\x90\xcc\x84\x93\x38\x86\x35\x78\x30\xa9\xb3\x06\xc1\x68\x30\x72\xbc\xc4\x18\x3c\xc4\x88\x0d\x60\xc4\x40\xea\x0c\x8c\x4d\xb0\xf0\x00\x32\xb1\x1a\x08\xc1\x8c\xa1\xd9\x66\x0a\xda\x6d\xd8\x4a\x00\x80\x61\x00\x13\x62\xe4\xcc\x02\xd8\xd9\x5a\x89\x30\x04\xf3\x98\xb0\xa2\x29\xc6\x10\x6c\x37\xf3\x06\xa3\xd1\x40\x24\xd9\x08\xac\x81\x91\x6d\x46\x8e\x61\xcd\xc4\x86\x2d\x26\x83\x81\xe7\x39\x6c\xb0\x31\xac\x01\xcc\x0c\x16\xcc\x46\x8e\xc7\x00\xd8\xc4\xb1\x93\xb7\x34\x7e\x82\x10\xcc\x03\x6f\xd1\x4a\x6b\x20\x1c\xd6\x46\x1a\x01\x3b\x0b\x46\x16\x73\xac\x83\xb0\x35\x1c\x47\x38\x33\x36\x12\xc6\x46\x18\x96\x98\xe2\x42\xbd\xbd\xc6\xea\x62\xf8\x5a\x03\xb5\x8e\x70\x4e\x39\xb9\x03\x74\xcf\xe4\x44\x1d\xe5\x3d\x93\xb1\x60\x91\x9b\x4a\x66\xc0\x0f\xa0\x6b\x4c\x20\x1b\xa2\xbe\x28\x1c\x3c\xeb\x74\xeb\xee\x28\x74\xd2\x0a\x7f\x3e\xbf\x2e\x9c\x4a\x46\x47\x23\x11\xfc\x44\xf4\x01\xfc\x86\xbb\xe3\x0f\x1f\xd3\x8d\x81\xe6\x1c\x6c\xb5\xd9\xd4\x9f\xff\x0b\xfb\xf1\x9b\x8d\x56\x7b\x41\x16\xf2\x9b\xfc\xba\x70\xf8\x8a\xc6\x74\x2a\x82\x9f\xd8\xf2\x00\xdc\x19\x9d\x77\xdb\x63\x3a\x53\x29\xe8\x37\x37\x98\x9f\x18\xbf\x9c\x6c\x58\xe4\x40\x95\x3e\x39\x75\x3b\x8e\x5a\xd4\x82\xba\x11\x0a\x07\x53\x41\x28\xfe\xce\xe3\xcb\xb5\xfa\x9a\x41\x1a\xed\xaf\x2a\x0c\x9a\x44\x98\xe2\xeb\xe3\x0f\x85\x04\x49\x61\xfa\x41\x51\x26\xb3\x45\xb6\x97\x37\x12\x81\xdf\x9e\xeb\x42\xdb\x7b\xb3\x53\x0a\x7b\x33\x8b\xa8\x9e\xaa\x8b\x2f\xc1\xdc\x45\x52\x76\xdd\x57\x54\x9c\xbd\xd9\x5e\xaf\xca\x14\xdd\x6e\x0a\xc9\xaa\x5c\x6f\xb7\x37\xb3\xa8\x99\xf9\x69\x53\x9d\x2a\xe7\xbd\x14\xd8\x0e\xc9\x5e\xf8\x2d\xbc\x53\xd7\x14\x2d\xe3\x60\xd2\x9e\x73\xa3\x5a\x6a\xbb\x3a\xad\x0d\x82\xce\x22\xe6\x54\xc8\x19\xa4\x7e\x08\xaa\x45\xab\x58\xc1\x48\x45\x4c\xc1\xb7\x0a\x1e\x8b\x78\x21\xeb\x8d\x8c\x4c\x21\x06\xbd\x8f\x36\x0d\xc0\x88\xce\xc2\x83\x91\x81\x4d\x2c\x52\xf2\x48\x0d\xe8\xec\x94\x31\xad\x6a\x63\x8a\x02\xe3\xaa\x02\xca\xc0\x26\x1d\x14\x7c\x53\xa5\xde\xe9\x22\x84\x8c\x38\x93\x76\x17\xd9\x7b\xd1\x48\x3f\x18\xe9\x0a\x54\x64\x3c\xa5\xeb\xc1\x08\x7c\xd1\x89\x91\x8e\x99\x65\x05\x23\xe5\x36\x14\x48\x7b\x7a\x97\x25\xea\x43\xb0\xf5\x9e\xba\xa6\x68\xd1\x61\xd0\x3d\xea\x43\xea\x43\xf7\x68\x0d\x54\x70\x06\x74\x0f\x6c\x55\x1f\xba\x47\xf6\x5a\x2c\xb1\x88\x17\x72\x34\x0d\x6c\x85\xad\x34\x0d\xe4\xbc\x11\x8a\x00\x46\x7e\x3d\x73\x3e\x7f\xb4\x2a\x97\xcc\xea\xb9\xb4\x14\xf4\xdd\x34\x85\xf6\x6e\x56\xd6\xf5\x2a\x11\xc5\x39\xb7\xa3\xd9\xa8\x0b\xcd\x45\xab\xd1\x06\xca\xcd\xd7\x36\x28\x36\x9d\x93\x90\xe1\x9c\x0e\x28\xe9\xb4\xb3\x89\x38\xf5\x61\x99\x88\xfb\xd9\x22\x97\xae\xe8\xbd\x9a\x42\x47\x50\x75\x25\xaa\x40\x0c\x89\x38\x2e\xa4\xc0\x2b\x1f\xb9\xf4\xb6\x55\xbb\xf6\x71\x83\x37\x74\xcf\x1b\x60\x19\xe5\xbe\x1b\x27\x8f\xdf\x78\x1f\xef\x0c\xa4\x17\x6e\xef\x35\x0d\x0c\xdf\x76\xc7\x6d\xc3\x03\xa6\xde\xed\x0b\xd3\x01\x27\x3f\xa9\xe3\xf2\x91\x75\x05\xed\x58\x12\xdc\xb5\xea\xb6\x4b\x1f\x59\xc9\x0e\xcc\xeb\xbe\x61\x90\xdb\xa7\x2b\x3f\x62\x85\xbd\x79\xe5\x72\xb8\xa4\xb9\xc5\x1d\xae\x3b\x9a\x17\x6f\x38\x7a\xf4\x86\xd4\xf6\x3d\xdb\x36\xcf\x8b\xb5\xa4\x5a\x5a\x52\x2d\xb1\x79\x9b\xb7\xed\xd9\xce\xc6\xa9\x6e\xa1\x5a\x5f\x70\x95\x9d\x3f\xb9\x7c\xe5\xcd\xec\x9e\xa3\x75\x61\x77\x4b\x33\x8c\xd2\x9b\x45\x3b\xb5\x7b\xb8\x5d\xec\xbb\x28\x88\xe6\xa1\xcb\x0a\x68\x29\xa1\x06\xde\xcf\xd0\x6d\x5b\x3b\x89\x96\x81\x5d\xd2\x50\x04\x7e\x29\xc6\x65\x8a\xaa\x41\xc4\x9d\x46\xba\x25\xbe\x3e\xcf\x44\x0b\x18\x00\x05\xe3\x31\x97\xd3\xc1\xbb\x69\x88\x7d\xda\xf7\x8a\x2f\xd6\xec\x27\x01\xb3\xcc\x77\xc6\xac\x35\x5e\x4b\x3d\x09\xfa\x5e\xae\x6d\x8a\xf9\x8e\xf9\xf2\x73\x7d\x2f\xfb\x62\xd1\xba\x63\x3e\xdf\x2b\xb5\x4d\xd5\xa9\xc8\xc1\xb5\xc7\x56\xdf\x70\xe3\xea\x97\x57\xaf\x5f\xbf\xee\xa6\x1b\xd6\xbc\xb2\xa6\xea\x1a\xb2\x31\xdf\x2b\xbe\x00\xa9\xb7\x78\x6b\xac\xb1\x4e\x5e\x36\x07\x48\x7d\x73\xcc\xf7\xa3\x5a\xef\x7d\x3e\xfc\x56\xcc\xf7\x23\x5f\xed\x7d\xbe\x68\xcc\xf7\x4a\x6d\xfd\xf4\x44\xf9\x37\xdf\x5d\x7d\xdf\xea\xb5\x3f\x5a\x7d\xc3\xcd\xeb\xd6\xaf\x5f\xf3\xca\x9a\xe9\x97\x05\x8c\x4b\x85\x62\x7b\x23\x7d\x5c\xa0\x54\x92\xea\xaa\xa2\x44\x9c\x71\xeb\x62\x58\xde\x0f\xbc\xf2\xe6\xc9\x89\xdc\xb3\xea\xfb\x77\x5d\x87\xa1\xf5\xb5\x4f\x03\x74\x2f\x1c\x19\x3d\xde\xf4\x91\xc7\x41\x39\xf9\x26\xf0\xcf\x1e\xfa\x79\xda\x67\x7d\x0d\x5a\x9f\xbe\xab\xef\xf8\xe8\x60\xbf\xff\x34\xc2\xe8\xda\x29\x85\x13\xa8\x7d\x7d\x10\xa1\xb0\x0e\xb5\x94\xd1\x35\xfb\x0b\x9a\x36\x2d\xda\x32\x10\x84\x68\xca\x1e\xb2\x3b\xd9\xbf\x75\x2e\x18\x9d\x50\x46\x17\x74\xc2\xdf\xb2\x45\x68\xad\x88\x37\xab\xbe\xad\xbe\x8b\x7f\xa0\xbe\xeb\x50\xd6\x5f\x78\xf0\xe0\x85\xa4\x06\xee\x2e\xe8\xa4\xed\x9e\xaf\xae\x86\xa7\xea\xc3\x70\xb7\xba\x3b\xac\x4f\x3b\x50\xd0\xcd\xe4\xd1\x72\xb4\x11\x8d\xa2\x1b\xd0\x6d\xe8\xce\x32\xe6\x3f\x0b\x94\xbf\x48\xe7\x38\x4a\x9c\x8b\x85\x4f\x9d\xd2\xec\x09\xaa\x98\x4b\x75\x34\x1b\xa8\x0f\x19\x2a\x8e\xa6\xd4\x36\xef\xaa\x87\x42\xa7\xbb\x5d\x3c\x9b\xa6\x30\xdc\x74\x3b\x91\x88\x93\x3e\x0a\x19\xc4\x8b\x14\x23\x08\xdc\xa9\x64\x3f\x44\x29\x8a\x3b\xf0\xf5\x00\x51\x70\xf2\x14\xcc\xbf\x1e\x20\xa3\xbd\x95\xe8\x8c\x33\xb8\x02\x26\x7c\x84\xf5\x2b\x82\xcd\x2e\xe6\x97\x5f\x65\x60\x44\x86\xdf\xb2\xfa\xd0\xbd\x77\xac\xbb\xc8\xcc\x6f\x59\x75\xe8\xbe\xd5\xf3\x8d\xc2\x4d\x37\x09\xc6\xf9\xab\xef\x3b\xb4\x6a\x0b\xcf\x36\xb5\xac\x3d\x7c\xef\xa1\xd5\x5b\x78\x46\x64\x0c\x57\xe1\x67\x44\xbb\x4d\x50\xfc\x2c\xf1\x4d\x6c\x6c\x8f\xaf\xdc\xb8\x6d\x69\x54\x3f\xb5\xaf\x8c\xb7\x47\x97\x6e\xdb\xa8\x9f\x40\x1c\x09\x8a\x2b\xbc\x44\x64\x31\x03\x3f\x1e\xc1\xe3\x4a\x1e\x8d\x19\x31\xcb\x88\x8c\x97\x8c\x28\xf9\xbf\x7f\x09\x9b\xb1\xbe\x48\x7a\xd5\x6b\x1c\x8d\x21\x5b\x96\x37\xc0\xad\x03\x0c\xcc\x9e\xb5\xec\x63\xa9\x35\xcb\xd7\xdc\x3c\x74\x57\x6a\x4d\xbd\x60\x5c\xb2\xc4\x28\xd4\xaf\x49\xdd\x35\xd4\x7d\x45\x74\xc5\x9a\xe4\x5d\xcb\x66\xcd\x06\x66\x00\x6e\x35\xf0\x59\x5b\xa8\xd1\x71\xa4\xf9\x50\xa2\xbb\x51\x3b\xe4\xbb\x13\x87\x9a\x1b\xe9\x01\x8f\xcd\x31\x37\x3a\x0c\x1d\x5e\x62\x63\x30\x81\xdf\x05\x70\x36\xab\xae\xdc\x3d\x62\xc0\x0c\x63\x63\xbc\x6a\x2e\x0b\x27\x8e\x10\x46\x97\xc3\xe8\xeb\x46\x3d\x6a\x40\x61\x94\x40\x3d\x55\x72\x98\xc2\x0a\x59\xb4\x56\x71\xda\xd3\x09\x1e\x82\x46\x08\xca\xda\x22\x52\x70\xd1\x99\x4c\x97\x2e\xb8\xb1\xa2\x44\x28\x3f\x1e\xeb\x8c\xf9\xe0\x84\x6f\x24\x06\x63\xb1\xce\xf9\x3d\x8a\xfa\x3a\xb4\xe4\xe9\xf1\x79\xe8\x51\x29\x32\x01\x46\x31\xf2\x13\x3d\xc8\x94\x20\x05\x20\x50\xf0\x3d\x01\x27\x7c\xb1\xce\x98\xfa\xf5\xd8\xeb\xea\xeb\xf8\x49\xf5\x75\xf5\x51\xe8\x81\x31\xea\x28\x53\x01\x14\x1b\x99\xfc\x3b\xa3\xe8\x57\x94\xa7\xcd\x4c\x1d\x62\xf7\xb1\xfb\x28\x0a\xb4\xa3\x88\xaa\xa1\x23\x77\x14\x14\xf4\x0b\x56\x1b\x40\x99\x4d\xc9\x8a\x6b\x67\x55\x7a\x76\xdf\xa7\xf7\xdc\xbe\x6d\xf2\x6f\xbb\xdf\x38\xf9\xe9\x6b\xf1\xc5\xa6\x5e\x9b\x60\xca\x3f\xb2\x62\xc7\xe8\x7d\x43\xc4\xd0\xbf\x2a\xbb\xa6\x3f\xff\x4d\x6f\x43\x5d\xa4\x06\x1e\x34\xf5\xd9\x2c\x26\x75\x47\xff\x35\xab\xd6\xf7\xe2\x05\xdb\x1e\xd8\xf3\xe9\x6d\xc4\x70\xed\xa7\x4e\xfe\x72\x77\xfe\x11\x93\xc5\xd6\x6b\xc2\x9b\x97\x1d\x1f\xbd\x6c\x68\xf2\x6f\xfd\x6b\xb2\xab\xfa\xf1\x02\x4f\xa4\x2e\x50\xab\xee\x30\x59\x6c\x7d\x26\x78\xb0\x77\xfd\xaa\x6b\xfa\xf3\xdf\xdc\x32\x4d\xb7\x2f\x88\x66\xa3\x05\xba\x8f\x0f\xaa\xcf\x47\xfd\xc7\x94\xed\xfa\xed\x89\x22\xcb\xab\xda\x06\xb5\xda\xe6\xce\xad\x51\x69\x0a\x41\x79\x44\x14\xc5\x61\x52\xff\xcb\x34\xcb\xaa\x4b\xe4\x14\xa5\x33\x46\xb2\xb1\x4e\x55\xa9\xb0\x0c\x56\x4a\xbe\x49\x69\xf3\x7b\x7c\x31\xea\x9c\x48\x11\x67\x9b\xa0\xc6\xe4\x28\x1a\xf6\x4f\x20\x1d\x29\x02\xa3\x0a\xe9\x8e\x3c\x49\xef\xb2\xd4\x6b\xa9\xfa\x96\x6f\xe4\xfc\x38\x7c\x95\xe2\x75\x66\x64\xba\xd9\x8a\x2e\x9f\xa3\x72\x2d\x1d\xef\xf8\x1f\x46\xf6\x9e\x8e\xf3\x77\xae\x70\x05\x7a\xf7\x6f\x67\x0a\xd2\x35\x3e\xc7\x23\x36\x5b\x90\xaf\x45\x51\x46\xa3\x68\x8a\x16\x6c\x52\x51\x6a\x58\xf5\x76\x74\x8e\xf8\xb3\x51\xa5\xa9\xdc\x50\xff\x63\xdf\xad\x94\xb4\x9d\x51\x66\x88\xac\x0c\xbf\x42\xb3\xc1\x3d\x3a\xc0\xf0\x58\x09\x48\x99\xfc\xba\x3a\x06\xfe\x52\x81\xb2\xac\x35\xab\x95\xda\x96\xfe\x0d\xf9\x51\x0f\x1a\x42\x1b\xd1\x15\x68\x1f\x42\x2c\xfd\x0a\x32\xfa\xd7\xc1\x47\xfb\x70\x26\xd5\xc0\x85\xa8\x23\x2b\xde\x0f\xb2\x33\x48\x99\xae\xba\xbc\x24\xda\x47\x85\xc3\x0e\x11\xf3\x89\xd4\xd9\x40\xe4\xc1\x54\x22\xa9\x51\x9b\x1c\x1f\xcd\x24\xec\xe7\x6d\x84\xfd\x57\xae\x1c\x1d\xe8\x9a\xdd\x55\xd7\x72\x99\xd7\x30\xbb\x51\xb6\xcd\xb5\x8d\xc2\xb2\xcd\x89\x1e\xac\x1e\xe7\x3a\x06\x06\x3a\xea\x6a\xda\x43\x6b\x3d\x9b\xe7\x2c\xd9\x36\x7f\xd5\x02\x38\xc8\xfe\x5e\x6f\x07\x49\xd4\x1b\x4a\xfd\xd2\xe5\x80\x0d\xcd\x8b\xee\x18\x65\xdf\xae\xbc\x53\xd9\x5a\x6b\x86\x37\x0e\xac\x6f\xab\xf3\x65\x0d\x9d\xa6\x79\x4d\x12\xe0\xd4\x89\xf5\xd7\x5a\x96\xe2\xec\xc9\x46\x29\xb1\x26\xd9\xd2\xea\xae\xa9\x9d\xd3\x9d\xe8\x5a\xbd\x28\xbe\xba\x3d\x53\xd3\xa3\xfe\x8b\xde\x66\xa2\x24\x93\xeb\xb7\x6e\x6d\x7a\xb8\xc9\x62\x0f\x0f\x1d\x54\xaf\x50\xf7\x97\x6e\x54\xb5\x2b\xa9\xb0\x7f\x4a\xa1\xed\x74\x2e\x9d\xa6\xdc\x18\xd6\x8d\x63\xd2\x3a\x28\xac\xee\x40\xa2\x03\x0a\x0b\x5b\x49\x38\x40\x82\x05\xb4\xdc\xa2\x34\x4e\x37\x68\xd1\xe8\xe6\x54\x46\xd7\x56\x72\x17\xb0\xde\x52\xc9\x68\x84\xa3\x86\xca\xef\x53\x2d\x46\xf8\xae\xcf\x3d\xeb\xb6\x8f\x02\x13\xdf\x33\x70\xb5\xc9\x2c\xb2\x96\x35\x62\x3c\xb5\xfe\xa6\x6b\xe6\xcf\x1b\x18\x78\x7d\xc1\xce\x39\xe1\xb7\xe1\x93\x7c\x93\x7b\x56\x78\xf1\xf0\x92\xe1\x9b\xaf\x59\x79\x67\x97\xd5\xa0\xed\x1b\x77\x58\xfd\x56\x36\xd4\xd6\xd2\xd7\xbd\x24\x3b\xb8\xac\xad\x63\x65\x03\x56\xca\xbe\xf7\xb2\xa1\xb6\x2d\x17\x7d\x45\x39\x28\x5b\x1a\x23\xc3\x37\xf7\x48\xb5\x84\xc3\xf7\x77\x6e\xe8\x9e\xb3\x7e\xc9\xbc\x79\x7d\x8e\x76\x9f\x67\x0a\x45\x53\x57\x6f\xef\x9c\x15\x6a\x9f\x25\x39\xdd\x31\x9b\xc5\x20\x0a\x57\xcc\xf2\x47\xc2\xad\xb8\x61\x69\xc4\xd0\x15\x6e\x74\xba\x6a\xbd\x3d\xbd\xf3\xd7\x2c\xa9\xab\xe0\x8b\x6e\x45\xd7\x22\x24\x47\x3a\x74\x20\x5c\x5a\xa7\x78\x86\x77\x3b\x39\xbd\x41\x5c\x4e\xb7\x5c\x51\x5b\xbd\xc6\xed\x7a\x93\x59\x21\x9a\x49\xb8\x5d\x19\x77\xa9\xb1\xb4\xf4\x2e\xd9\x55\x6e\x39\x5d\x86\x95\xb2\x27\xa3\x91\x6a\x5c\xc3\x59\x61\x03\x11\x6a\x7b\x92\x87\x1a\xd6\xad\xba\xce\xdf\xe9\x07\xdc\x93\xed\x91\x05\x00\x91\x6b\x0b\xf5\xae\xbf\x70\xe7\x05\x9d\x2d\xb3\xec\x8d\x76\x27\x6f\xe5\x18\x56\x6e\x68\xd9\x26\xe2\x35\x2f\x0d\xdd\x20\x71\x4c\x5b\x74\x09\x67\x25\x06\x91\x73\x5a\xbd\x91\xa5\x83\x97\x5f\x79\xdf\x63\x7b\xf6\xf6\xf4\xba\x6c\xf6\x1a\x76\x9d\x24\x96\xdd\xa8\xb3\x41\x8c\xd7\x03\xc3\x13\x06\xb0\x98\x35\x1a\x6b\xc4\xeb\x85\x28\xf7\x9f\xea\x5b\xfb\x96\x77\x07\x3b\x7c\x52\xb0\xd1\xd7\x39\x67\xc9\xa7\x56\x6c\x39\xb6\xae\x7b\x9e\x33\x04\x98\xac\x33\x11\x01\x47\x04\xde\x63\x01\x33\x67\xf5\xf2\x31\xb3\xac\xde\xfe\xdd\x2b\x87\xda\xe7\xce\xe9\x0a\x04\xdb\x3b\x06\x87\xf6\x0e\x3f\x04\xcb\x4e\xd5\x34\x9e\xb9\xa5\xd8\x37\x12\x42\xa6\x92\x0e\x47\xb5\x4f\x81\xbb\xd1\x49\x1d\x31\xa2\xb2\xee\xf6\xaa\xeb\xea\xb6\xf9\x3f\x7d\x5d\xfd\xbe\x6a\x1f\xa1\x18\x15\xf1\xfb\xa8\x46\x74\x45\x78\xfa\x1d\x15\x9d\xfb\xde\x87\x4f\x59\x19\xd6\xb6\xbb\x54\x17\x81\xcd\x0e\x6c\x2a\x63\x1a\xc2\x5d\xa5\xa0\x5a\x0e\x12\x71\xa6\xd8\xf3\x26\xa8\x78\x18\x2c\xaf\xf4\x30\xaa\xcd\xc3\xb5\x53\x9f\x2c\xe0\x51\xc8\xd4\x5e\xb2\x05\x25\x10\x32\x42\x14\x1a\xa9\xbe\x77\x47\x09\xc7\x34\xec\xd6\x66\x8a\x7e\x80\x73\x9c\x99\xcf\x41\xf8\x72\xf5\xe7\xb8\x59\x3a\x73\x46\x4a\x4b\x2f\x48\x12\xcb\x69\xe7\x33\x2f\x6e\xd9\xe2\xf7\x6f\xd9\xe2\x87\x7d\xcf\x3f\xdf\xd3\xf3\xfc\xf3\x3d\xe4\x97\x85\x98\xfc\xa7\x0b\x01\xf2\x4d\x9a\xf7\xf5\xb4\x96\x57\x7a\x41\x4a\x6b\x79\xa5\x17\xee\xa5\x37\xfd\x5b\xd4\x49\x9a\xaf\xe7\xf9\xfc\xa6\x42\x0c\xf6\x17\x02\x94\xf7\x90\x2d\xd1\xff\x36\xe4\x41\xcb\x2a\x24\xec\x41\xbb\xbe\xc5\x2b\x99\xe5\xd8\x1d\x22\x13\x09\xe9\x0a\x11\xf4\x18\x6a\xe0\xf4\x8d\x9f\x3d\x19\xe9\x23\xfd\xd0\x07\x14\x1e\x23\x51\x36\xf6\x56\x7f\x08\xca\xa7\x05\xe3\x77\x8d\xac\xae\xda\x0f\x43\x06\x59\x0c\x5a\xa2\x44\xdb\x94\x6a\x3b\xd9\x2c\x89\x5a\x82\xa2\x6c\x88\x78\x01\x18\xa3\x2c\xbc\x20\xf7\xd7\x8e\x45\xbc\x0c\xf2\x46\x74\x5b\x00\xac\x00\x32\x7e\xd7\x28\xe4\xff\x89\x5e\x32\xb9\x49\x64\x75\x8b\x46\x02\x30\x7a\xfc\xf8\xa8\xf6\x03\x20\x46\xd1\x6d\xf5\x46\x20\x6b\x48\xbb\x3a\x6a\x1b\x84\x17\x64\x6f\x4e\x07\x10\x28\xd3\x30\x4b\x4b\x38\x0c\xda\x44\xa4\x6d\xed\xfb\x20\x45\xc1\x37\x45\xe2\x74\xb8\xdc\xba\x10\xa2\xe0\x05\x53\x27\x29\x23\x99\x82\x7e\x81\x36\xb9\x13\xce\x1d\xc1\xa9\xa4\xd4\x18\x60\x38\xf4\xb2\x7a\xf2\xf4\xd5\x97\x77\xcb\xc6\x36\xc7\x68\xef\x8d\xdf\xda\xb9\xf7\x57\x77\x5d\xf6\xd5\x83\x1b\x5a\x86\x97\xf9\x0d\xd8\x82\x39\x7b\xe2\xf4\x13\x0f\x3c\x71\xf8\xf2\xde\xa5\xa2\x21\xec\x4e\xc7\xfb\xd6\xd5\x6c\xb5\x33\x2f\xab\x45\xf4\xd0\x95\x94\x4f\x1b\xb8\x78\x51\xc3\x97\xa2\x5d\x87\xdf\x3d\x7e\xcd\x0f\x0e\xcc\x19\xd9\x7f\xdb\xbc\x9d\x9f\x0e\x58\x02\xfc\x2c\xce\xed\xe8\xbd\xe8\x81\x9f\x3e\x7a\xeb\xe7\xff\x78\x41\x6f\x68\xcf\x85\xf5\xf1\x81\x6b\xd6\x2e\x99\xad\x6e\x5a\x78\xf9\x06\xd8\xf7\xbb\xd3\xba\x14\xa8\x5c\xb7\xa1\x0a\xba\xbf\x58\x3b\x49\x77\x0e\x56\xa8\x1c\x9d\x7c\x3f\xb0\x72\xa1\x69\xf6\xc3\xf9\x96\xb5\x6e\x63\xab\xf3\xb2\x9e\xaf\xfc\xe7\xc2\x9b\xbf\x3a\xba\xf3\x2b\xfb\x2f\x6a\x59\xb1\x4c\x70\x32\x26\x96\xb3\xc7\x7f\xf4\xd8\xfd\x8f\xdd\x3e\xda\xa3\x55\xce\x95\x9a\xdd\xbb\xd6\xb3\xc5\x63\xff\x5a\xa5\x8d\xf1\x4d\xeb\x1b\xbe\x18\xed\x84\xe8\xaf\xd6\x3c\x74\xe3\x92\xae\x91\x9b\x3f\x3a\xb0\xe3\x53\x01\xd6\x24\xb6\xda\xdd\x72\xdf\xfa\xe3\xaf\x3f\xf2\x91\xc7\xdf\xbe\xa0\xa7\x61\xcf\x05\xf5\xb3\xe7\xee\x5e\xbd\x78\xb6\xba\x65\xdb\x83\x25\x43\xe4\xb2\x6c\xab\x96\xd2\x6b\x08\x92\xd1\xa0\x33\x21\x16\xe0\x04\xe2\xee\x8c\x56\x6a\x9b\x46\xe8\x84\x13\xa9\x50\x2a\xe4\x0c\x39\x13\xce\x44\x35\x85\x4a\xee\xe7\xd4\xe3\x3f\x25\xb5\xb3\xd6\xa6\xb7\xde\x79\xe7\xd6\x8d\xbd\x3b\xaf\xb8\x7f\x6c\x7c\x7c\xec\xb3\x2f\xc2\x85\x57\x5e\x79\xd5\x55\x57\x5d\x05\x52\x25\x0d\x8b\xf7\x7a\x23\x87\x3c\xc9\x74\xe8\xae\x1f\xdc\xd5\xbd\x7d\xdb\x9b\xea\x77\xde\x7c\x75\xaf\x96\xec\x2a\xfc\xd1\x69\xd4\xad\xb6\xfe\x7d\xc6\x88\xd8\x8b\x0b\x58\xc0\x0e\x5c\xe1\x14\x3b\xe0\xe6\xa9\x2a\xb7\x83\x8e\x30\x92\x09\xa6\x82\xae\xb0\x53\x23\xc3\x42\xa9\x44\x2a\xe1\x64\x1f\xfa\x27\xf5\x5b\xaf\xdc\xaf\xbe\xfb\xfc\x75\xd7\x3d\x0f\xb6\xfb\xc1\xff\xd2\xf7\xf7\x7c\xf1\xe6\xd3\x37\xdd\x74\xfa\xe6\xd5\x47\x2f\x9a\x57\xcf\xa9\x23\xf8\x9f\x2d\x64\xeb\xe9\x57\x4f\x9f\x7e\x15\x5f\xfd\x8a\xfa\xcd\xaf\x69\x09\xa1\x19\x6c\xcf\x5f\x97\xfb\xf6\xee\x7d\xaf\x4f\xbe\xbe\xaf\x7d\xc1\xfa\xe5\xa1\xc9\xfe\x7e\x2d\xcd\xe9\xd3\x25\x1e\xa2\xc2\x22\x64\x41\x3e\xd4\x4a\x77\x82\xd4\x75\x29\xef\x4e\x67\x12\xf6\x50\xa3\x43\xc4\x0d\xed\x38\xd9\x87\xe3\x7e\x00\xbb\xfe\x05\x87\xec\x71\x97\x33\x98\x3c\x6b\x46\x27\x08\x14\xe5\x9a\x8f\x2f\x6b\x16\xb0\x82\x51\xf3\xb2\x03\xc7\x0f\x2c\x6b\xd6\x4f\xb8\x79\xf4\xf8\x84\xa2\x7d\x77\x8c\x72\xfc\xf7\x11\xef\xfb\x94\xe3\xc0\x23\x6f\x04\x94\x11\xc8\x1d\x1e\x0e\x3b\xd4\xf1\xdf\xde\x79\xcf\xbe\xe5\xcb\xf7\xdd\xa3\x9f\xd4\x66\x8c\xb4\x0c\x2a\x3d\x92\x6c\xd9\x5f\x50\xa4\x80\x35\xc0\x20\xa2\x20\xa1\x68\x25\x43\xf1\x0c\x12\xc1\x38\x83\x64\x35\x2b\x27\xb5\x03\x75\x96\x44\x2e\xa2\x61\x19\x72\x72\xb2\x88\xf3\x00\x88\x41\x24\xab\xe7\xd5\x7d\x7d\xeb\x4a\xfe\x0c\xd2\xbd\x2c\xd1\xc4\x32\xe4\x80\xea\x4a\xc8\xba\x42\xbe\x9e\x37\x8b\x14\xac\x30\xf4\xbd\x05\xcf\xba\x05\x68\x03\x6d\x67\x5f\x7e\x11\x93\xad\x7c\x8e\x5c\xf4\xa7\xac\xe0\x2c\x53\x51\x66\x1d\x48\xd0\x0d\x38\x4b\xcb\xac\xbf\x0b\x3f\x58\x2e\x7c\xa4\xf0\xde\xe9\xb6\x35\x75\x08\x25\x82\x54\x37\x32\x6c\x0f\xda\x67\x58\x5b\xc7\xf0\x48\x5e\x91\xd9\x2b\xf3\x0a\x1e\xd1\x5d\x67\x97\xd6\x3b\x46\x99\x18\x13\xe4\x00\x33\x32\xa1\xc8\xcc\x4b\x95\x7e\x48\xb4\xf1\x99\x63\x74\xec\xb9\xda\xea\x56\x95\xaa\xda\x69\x7a\x1b\x47\xaa\x9a\xed\x67\x15\x2d\x31\x43\x1b\xd2\xf7\x60\x74\xfe\xbe\x9b\xf6\xa0\x42\x5e\x82\x0a\x65\x3c\x4f\xdf\x91\xea\xf7\x96\xed\x89\xbd\x68\x4e\xe5\xce\xd4\xe5\x66\xdc\x7e\xdc\x8d\xa9\xec\x3b\x9c\x96\x1d\x1c\x8f\x78\x91\x69\xc1\xd4\xb0\xa0\x91\x4a\x71\x0b\x6e\xa2\x74\x46\x79\x6b\x17\x8c\xde\xde\xb5\xe8\xfa\x04\x40\xe2\xfa\x45\x5d\x9f\x87\xc5\x5d\x2d\x5b\x96\xa8\x77\x6c\x34\xcd\x6d\xe9\x4d\xbb\x01\xdc\xe9\xde\x96\xb9\xa6\x0d\xea\xe7\x1b\xfa\xae\x5a\xbd\x8c\xcd\xcd\xdd\x4c\xe6\x4c\xfe\x96\x6a\xe1\x7b\x67\x47\xfe\xba\xb5\xb9\x63\xf6\xec\x8e\xe6\x9b\x7f\x19\x85\x75\x2b\xee\x49\xa8\x13\x59\xbe\xa3\xae\x51\x92\x1a\xeb\x3a\xf8\xec\x3b\x9e\xe6\x63\xfd\xcb\x77\x6e\xa2\x7d\xfe\x34\x87\xd8\x2b\xa8\xdd\x5f\x4b\x01\xdf\xc2\xa5\xab\xea\x26\xd3\x71\x17\xe5\xe8\xeb\x2e\xea\x9d\xf6\xa0\x64\xeb\x80\xa0\x33\x44\x4d\x2c\xe1\x62\xf5\xab\xb0\x19\x2e\x5d\x83\x57\x6d\xbb\xf4\x73\xdb\x98\xbb\xd5\xaf\xad\x5c\xd7\xbf\xd6\x69\x56\xbf\x86\x01\x60\x09\x76\x34\x2f\xba\xb4\xff\xc9\x57\xc8\xdd\x93\x41\xf2\x1f\x10\x5f\xb2\x65\xcb\x92\xa5\x97\x5c\x32\xf9\x8b\xfc\x0f\xb0\x74\xd9\xde\x05\x09\x7f\x22\xff\x63\xb8\x1b\xde\x9d\x35\xeb\x9e\xc0\xac\xce\xfa\x5f\x4f\xc7\xd7\x4f\xd2\x35\x91\xfa\xf4\x8f\x46\xd2\xfd\x90\x4e\xb8\xdc\x74\xde\xc2\x74\xed\xe0\xf8\x2a\x36\x3f\x75\xfa\xef\xe2\xd0\x4d\x2f\xab\xbf\xf9\xd4\x17\xd4\x7f\xbd\x92\x07\xc3\x61\x93\xd5\xc6\x2f\x79\x6d\x6f\xd1\xf3\xff\x96\x7f\x5e\x78\xb8\x82\x33\x7f\xcb\xe5\x20\x1f\xfb\x14\xf8\x5e\x26\x3e\xf5\x07\xea\x6f\x5e\xbe\xe9\xde\x43\xa6\x1a\xc3\x11\x23\x36\x6d\xde\x59\x70\xfc\xbf\x68\xe0\x48\x05\xe7\xfe\x23\xdb\xaf\xbe\xe9\x65\x04\x28\x36\xe5\xe4\xfe\xc0\xfe\x04\xed\x46\x28\x38\x0d\xb4\x96\xe7\x1a\xa2\x7e\xce\xe9\xe0\x45\xb6\x10\xd7\xc7\x50\x73\x68\xd6\x5d\x18\x42\xed\x5c\x2a\x99\xe9\x63\x0b\xbc\x23\x91\xa1\xa6\x25\x6c\xd4\xe5\xb0\x42\x11\x0b\xf6\x0f\xe1\xcb\xa9\xdf\xdd\xfb\x23\x2d\x53\xe8\x80\x18\x13\xb1\x93\xb1\x31\x06\xe2\x23\xb5\x66\xaf\xe4\x15\x62\x3e\x75\xa7\xcf\x68\x74\x99\xfd\xc4\x1f\x31\xd9\xec\x26\x3b\xe7\xc0\xa2\x08\x1b\x67\x4a\x0a\x27\x66\x48\x7a\x00\x50\x4b\x2a\x19\x85\xcb\xc3\xa9\xf0\x15\xe1\x30\x5c\xd1\x98\x4e\xb5\x00\x3a\x20\x8a\xd8\xc1\xd9\x4d\x76\x9b\x29\xe2\x27\x7e\xb3\xcb\x68\xa4\x9c\x32\xc1\x2b\x79\xcd\xb5\xc4\x47\x0c\x8c\x8d\x71\x62\x31\xa6\xbd\xeb\xec\xa4\xea\xce\x99\x92\x1e\x98\x42\x2d\x61\xf5\xfe\x68\x19\xc3\x43\xd7\x27\x0e\xa2\x26\x2a\xd9\x18\x2c\xdb\x56\x97\x88\x39\x39\xdd\x0e\x1c\x4f\x44\xaa\xef\x91\xce\xa4\x23\x8d\x55\x29\x8a\x1a\x71\x60\xe3\x75\xb9\x8f\xbd\xe8\xf9\x1d\x14\xea\x05\x19\xcc\xfa\xe9\x6f\xdb\xb9\xda\x78\x3b\xbf\xbd\x67\x93\xcd\x31\xfc\xe0\x11\x87\xad\x15\x6f\xa1\x77\xf2\x2f\xd2\x13\x2e\xa4\x3b\xfa\x31\x39\x74\xe6\xb6\x90\xfc\xb1\xbb\xde\x85\x21\xb8\x02\x86\xde\xbd\x0b\xe8\x9d\x41\x5c\x70\x8f\x7c\x12\x0e\x78\xdb\xc4\x5a\xaf\x7a\x0b\xbb\xac\x67\xd9\x91\xd8\xf0\xb2\x9e\x6b\x44\x3d\xc5\x8b\xf4\xb4\x47\x4f\x97\x53\x27\x7e\x59\x57\xf7\x0b\xe0\xbe\xaa\x3d\xe4\xae\x77\xd5\x7f\x2e\x61\x37\xd2\xba\xbb\xb4\xf5\x0f\x05\x18\x6d\x4f\x59\x0f\x3c\xc7\xa7\x75\x34\xfa\xc6\xb4\x2d\xc2\x94\xc1\xb8\x42\x0d\xd5\x68\x5c\x14\x24\x7a\x48\xdd\xa9\x3e\x74\xfa\xee\x5b\x2e\xa8\xf5\xb4\x9f\xb8\xb9\xa5\x6b\x41\xef\x0f\x61\xeb\xe9\xd3\xb0\xb2\x02\xa3\x8b\xb5\x7a\xce\x02\xe9\x7a\x17\x3e\x05\x6f\xc1\xa7\x18\xe5\xe8\xdb\x87\x77\xbd\xb8\x34\x3e\xb2\x61\x65\xff\x15\x11\xce\x70\xf4\x6d\x90\xde\xfe\x7e\x19\xb8\xcb\x69\x9f\x01\xb7\xeb\x9f\x20\xfa\xe4\x93\x65\x1e\x04\x42\x0e\x34\x07\x6d\xab\xac\x45\xa9\x0e\xc9\x88\xd6\x0b\x1f\x80\xa2\x00\x1f\x8c\x9f\xe0\x74\x70\xe4\x42\xf5\x65\xf5\xaf\x0f\x8d\x8e\x5c\x12\x6a\xf0\xb5\xa6\x96\x0f\x7e\x02\x4c\x0f\x3d\x94\xff\x34\x1c\x80\x05\xa7\xce\x83\xae\xc0\xce\xf9\x50\xa8\x0a\x77\x31\xca\xce\x67\x76\xac\x3a\xd1\xd9\xb9\xc6\x21\xd7\x9b\xc4\x9d\xcf\xfc\xf0\x99\xb7\x0e\xbf\x7d\x1e\xa8\x85\x89\xbf\x9f\x1f\x65\xe1\xe6\x1b\x4e\x23\x40\x30\x85\xc8\x3e\x56\xa1\xd8\xcf\x2e\xbe\x60\xde\x94\x91\x59\x5d\x38\x51\x50\x86\x77\x3a\x78\x12\x4e\x27\xe2\x64\x8f\x64\xce\xff\x46\xa8\x63\x4c\x76\x3b\xf3\x3d\x75\x94\x31\x48\x82\xc4\xfe\x2f\xc6\x63\x83\xc5\xb2\x97\x7d\x12\xee\x34\x30\x32\xf9\x57\x87\x67\xe2\xe6\x1a\xcc\xfa\x6c\x24\xb6\x1d\xcc\x56\x0f\xe9\x12\xa5\x1a\xbb\xc1\xa4\xce\xde\x82\x2b\x7d\x7f\xac\x9d\xce\x0f\xed\x86\x54\xd0\x99\xa8\x76\x8e\x3c\x63\x1c\x15\xdc\x86\xa6\x3b\xcf\x68\x01\x67\xb0\x80\x22\xc8\xa3\xce\x98\x6e\x52\x38\xa2\x22\xca\x91\x9d\xf1\x6a\x28\x89\xf5\x6b\x6a\x78\x18\x1b\xc1\x28\x39\x34\x12\xeb\xac\x34\x47\xcc\xe5\x8a\xa9\x67\xb8\x4a\x0e\xe5\x8a\x79\xb5\xd8\xdc\x50\x32\xd7\x59\xa6\x4d\x72\x48\x46\x2b\xd0\x85\x05\xba\xa8\xa8\xf0\xee\x8a\xa7\x53\xf6\x74\x5c\xe7\x32\x6a\xdb\x26\xae\x28\x0a\x6a\x87\x68\x3b\x54\x5d\xd2\xc5\x4c\xc7\x25\x48\x23\x6d\xd5\xf0\x83\xdb\x05\xce\x48\x03\x4f\x1f\x47\x94\x13\xaf\x9c\x88\x24\x23\xcb\xb7\x2d\x0f\xf6\x91\xa0\x2c\x98\x2d\xb3\xd7\xcf\x99\x7f\x43\x0b\xef\x64\xcc\x76\xc9\xcc\x38\xf9\x96\xbd\x77\xec\xa5\x97\x92\x9d\x5e\xde\x30\x7f\xce\xfa\xd9\x16\xb3\x20\x43\x1b\x9a\x82\xb5\xdf\xba\x13\x84\xf1\xcf\x06\x21\x8f\x9a\x5b\x9b\x23\xc9\x08\x7e\x3e\x7f\x6a\xe7\x89\x13\x3b\x35\x12\x26\xbe\x7c\x79\x1c\xcf\x37\x47\x04\xd9\xd4\xde\xbe\xb4\xc7\xd4\xc8\xd9\xed\x5c\xa3\xa9\x67\x69\x65\xb8\xbd\xdd\x24\x0b\x2c\xfe\x1a\xd8\xef\x18\x3e\xf6\xeb\x23\x18\xbf\xba\x05\xe3\x2d\x1a\x51\xca\x94\xe4\x2a\x06\xe4\x41\xb5\xda\x0e\x84\x0d\xea\xb2\x94\xe0\x59\xcc\x92\x60\xc9\x86\xbb\x77\xba\x53\x14\xca\xbd\x27\x88\x50\x19\x87\xaa\x00\x92\x85\x3c\xe5\x66\xe2\x9c\x20\x03\x82\x16\xf5\x75\x8c\xca\xc2\x96\xce\x18\x93\x8d\x75\x3a\xad\xda\x5a\xa0\x60\xa5\x33\x06\x63\x10\x28\x61\xc5\xe6\xaf\x84\x16\x75\x6d\x9e\xf6\xf9\x98\xce\xa6\xef\x8c\xa9\x5f\x17\xac\xea\x4e\xca\xaa\xd7\xfb\x8e\xfa\x82\xb1\xa1\x18\xda\x48\x65\x93\xd4\xac\xbc\xb0\x67\xf2\x83\xbb\x60\xd5\xe0\xd0\x3d\x65\x27\xd2\x74\xbf\x9b\x71\xf0\x22\x2e\xa3\x8d\x68\x3b\x43\x6a\xb0\x45\x7b\xae\xf8\x6b\xc7\x3a\x70\x6f\xdc\x8f\xf1\xb8\xec\x95\xaf\x48\x6a\xe5\x8a\x6f\x1d\x1c\x5b\x70\xf5\xed\x47\x6e\xbf\x7a\xc1\x7c\x53\x93\x49\x11\x7e\x23\x28\xa6\x26\xd3\x7c\xe5\xd2\xb6\xee\x1e\xa6\xa3\xa6\xa6\x4d\xe8\x6f\x77\x0c\x6f\x1a\x76\xb4\xf7\x0b\x6d\x35\x35\x1d\x4c\x4f\x77\xdb\xa5\x17\xde\xfb\xb5\x6f\x7d\xed\xde\x0b\x09\xe5\xbc\xb6\xc7\x65\xaf\x1c\x18\x4a\x2e\xde\xb7\xa2\xad\x6d\xc5\xbe\xc5\xdb\x57\x98\x5b\xcd\x9f\xb8\xf7\xde\x4f\x98\x5b\xcd\x2b\xb6\x7f\x72\xf7\xec\xa1\x6b\xe3\xbe\x74\xb8\xb6\x36\x9c\xac\x73\x7b\xda\xe3\xad\xc9\x64\x6b\xbc\xdd\xe3\xae\x4b\x6a\x71\x69\x5f\xfc\xda\xa1\xd9\xbb\x3f\xb9\xf5\xc9\xdd\x73\xe7\xee\x7e\x92\xce\xff\x3a\xf6\xac\x97\xda\xa0\x50\x36\x75\x59\x36\xa4\xfb\x91\xa4\xea\x12\xb6\x0a\x5c\xca\x48\xd9\x50\x5d\x87\x33\x13\xce\x8c\xc9\x82\xc5\xa2\xfe\x8b\xd1\x08\x59\xea\x2a\x72\x44\x90\x0b\x28\x93\x67\xc6\x28\xca\xef\x88\x8e\x22\x09\x23\x39\x41\xce\x09\xb2\x09\xb2\x46\x41\xd4\x52\xcb\x42\x4e\xc6\xc1\x22\x58\x24\x65\x2d\x97\x20\x21\x8b\x18\x81\xd4\x37\x51\x8a\xda\x00\xb7\x94\x25\x40\x45\x59\x56\x3c\x03\x69\xf6\x03\xe4\xca\x2c\x92\xc4\x71\xfa\xe0\x71\x41\x36\xc2\x88\xd1\x67\x84\xcd\x26\x5c\x94\x36\xdf\x79\x3d\x86\xd6\xd7\x3e\x05\xa4\x7b\xd1\xe6\xd1\xe3\x4d\xb7\x3c\x86\x47\x44\x09\x46\xa8\x9c\x67\x8c\x7a\xc0\x1c\x33\x1a\x61\xb3\xe5\x35\x2a\x83\xbe\xe5\x8d\x8c\x5f\x78\x0d\x5a\xff\xe9\x9e\xbe\xe3\xa3\x43\x7d\xf5\xa7\xcf\x2e\x63\x94\x2a\x2e\xeb\xf8\x14\x25\x3d\xdc\x44\x01\x11\xe2\x9c\x65\xd4\x5e\xe3\x33\xaa\x0f\x9b\x2a\x0a\xfb\x01\x65\x1c\x13\xb5\x9a\x18\xd5\x87\x2d\x16\x51\x52\x69\x1b\xc3\x88\xac\xbe\x73\x8e\x42\xa2\x4a\x1f\xe9\x3c\x5a\x8f\x46\xca\x12\x1d\xb6\xa4\xab\x41\x32\x5c\x1d\x50\x90\x02\x1d\x94\x20\x95\xcc\xb8\x02\x19\x57\x1d\x05\xdf\x2d\xa2\x99\x45\xe9\x74\x34\xed\x3a\x12\x4d\xa6\xdb\x71\xd4\xcf\x94\x14\x3b\x74\x51\x2f\x13\xd1\xd5\x36\xcc\xe1\x39\x3b\xe7\xbb\xe6\x2c\xdc\x35\xb6\x6b\x51\x57\xcd\x21\x58\x78\xa8\x66\xf4\x78\xa0\x73\xb8\x33\x30\xb4\x73\x88\x9e\x17\x74\x03\x30\x26\xc3\xfc\x9d\x73\xc2\x66\x35\x57\x50\xe3\xf8\x19\x15\x61\xef\xbf\xf1\xc8\x91\x1b\xe7\x1f\x38\x7e\xed\x06\x6b\x72\xfe\x8b\x8e\x6d\xbd\xc3\xbb\x76\x0d\xf7\x6e\x73\xbc\xd8\x57\xbf\x73\x67\x7d\x5f\xf6\xf8\xe8\x85\x75\xcd\xda\xc7\xdd\x5c\x77\x61\x72\x68\x28\x59\xbe\x9a\xbf\xb7\xc1\x34\xb7\x3e\xd9\x2c\x5b\x37\x5c\x7b\xfc\x00\xf9\x49\x41\xa1\xa3\x64\x5b\xae\xb7\xc5\xb2\x32\xa5\x97\x71\x70\xbc\xdd\xc1\x04\x1a\x7b\x41\xb7\xfb\x4d\xc4\xdd\x54\xec\x43\xbf\x08\xbb\xc3\x15\x48\xeb\xba\xf8\x94\x27\xa4\xf7\x9e\xdd\xc1\xf1\x4e\xfd\x0e\xa5\x24\xe2\x25\xb3\x85\x45\x5d\x3a\x7c\xf4\xa3\x6f\x44\xbc\x9c\xc9\xde\x13\x4a\x0d\x0e\xa6\x82\xf5\xa7\xc0\x70\xaa\x3e\xa8\x85\x43\x3d\x76\x13\xe7\x8d\xbc\xf1\xa8\x16\xd5\xb5\x68\xd7\xd8\x2e\xa2\x2b\x1d\x64\xfb\xb6\x38\xd5\x3d\x27\xdf\x7c\xf3\xe4\x21\xc7\x4f\xee\xa1\x90\x1a\xfe\xc6\xc1\xd1\x41\x49\xbd\x8a\x72\xef\xee\x93\x06\x47\x07\x1b\xfd\x38\xe2\x55\xd1\x3d\x3f\x71\x1c\xa2\x91\x47\x9d\x5b\xfa\x86\x77\xed\x2a\xf8\xfa\xd4\xe5\xaa\xda\x6e\x36\xac\xeb\x46\xb1\x65\x78\x74\x7b\xd0\x9e\x28\xa9\x42\x15\x30\xd4\x13\x45\x8d\x28\x75\x8c\xa2\x3a\x32\x63\x93\x48\xd1\x55\xa0\x30\x3a\xb4\x31\x9b\xdd\x78\x88\x51\x14\x65\x02\x1d\xda\x48\xb2\x1b\x0f\x4d\x20\x16\xe9\x9a\x4f\xe3\x93\xb9\x8d\x87\x58\x74\x08\xe1\x0a\x1b\xb1\x44\x95\x85\xd8\x87\xb7\x0a\x23\xd9\x0f\x69\x08\xf6\xa1\x0c\xbf\x74\xda\x30\x5b\xa0\xed\x1b\x68\x4f\xd3\xca\x42\x50\x1f\xf4\xc8\xa6\xd1\x12\xd3\x38\x08\x9c\xb2\x6b\x38\x9b\x1d\x7e\xff\x5d\x1e\x1d\x1f\x9d\x40\xa3\xc7\xf9\xec\x9b\x27\xb3\x87\x36\xe6\xb3\x1b\x0f\x45\xbc\x8c\x72\x92\xcc\x1a\xdb\xa5\x2a\xf9\xdc\xe8\xf1\xe3\x8c\x51\xfd\xce\x9b\x01\xad\xbd\xf0\xb8\x37\x52\x89\x85\xde\x86\x06\x74\x6a\x80\x2f\x59\x98\xea\x43\x8a\x0e\x19\x97\x8e\xbd\x32\x3d\xcc\x96\x52\x86\x2a\xfd\xae\x2e\xea\xa2\xc0\xff\x5d\x8b\x2a\x61\x14\x22\xc9\x08\x41\x34\x7e\x5c\x90\x4f\x1d\x02\xe4\x8d\xb0\xb9\xbc\xd2\xbb\xcd\x31\xf9\x9e\xf6\x11\x10\xb3\x63\x5b\x2f\xd6\xe1\x61\x47\xa8\x32\xde\x58\x75\xf8\x7d\xea\x33\x03\x23\x59\x20\x81\x43\xa7\x74\xb9\xaf\x6e\xbf\x22\x23\x6f\x01\x03\x77\x35\xf5\x68\xe0\xac\x16\xb2\xf3\xf6\x60\x24\x0a\x11\x28\xac\xf0\x76\x98\x06\x2f\x13\x49\xb1\x55\x52\xc0\x6a\xa9\x20\x7b\xca\x17\x2b\x49\xde\x95\xd8\x88\xef\x10\xdc\x60\xb2\xa8\xdf\xb7\xc0\x56\xaa\xde\x80\x00\x49\x62\x11\x72\x46\x94\xf0\x78\x31\x54\x19\x2b\x89\xcc\x21\xdf\x48\x6c\x42\xd1\x9e\xc2\x51\x29\xfc\x7c\xf5\x8e\x3a\x0b\x74\x59\xce\x48\x0c\xd2\xc8\x81\x33\x88\x8c\x14\x85\x46\xe2\x58\x59\xba\x37\x85\xca\x61\xe4\xa8\xc0\xaf\x3f\x5b\x96\xf4\x45\xf4\x6d\xf4\x23\xf4\x1f\xe8\x4f\x68\x0a\xac\x50\x0f\x6d\xd0\x7b\xb6\xdf\xea\x54\xd5\x35\x5b\x75\x5d\x9d\xbe\xda\x6f\x75\xf5\xfd\xf3\x5d\xff\xbf\xce\x7f\xbe\xf4\xd5\xf5\x05\x6d\x8a\x29\x6a\x5b\x9e\x85\xc5\x04\x4a\x19\xa5\xbb\x02\xaf\x1b\x95\xc3\x53\x15\x61\x72\x8e\xf8\x73\x85\xff\x6f\xa4\xc7\xe7\x88\x9f\x5e\x66\x50\x26\x14\xad\x6e\x14\x18\x0b\x55\x7a\x7f\x1f\x2f\xd5\xf4\x2f\x67\x57\xbc\x22\x2e\xff\x97\x19\x22\x67\x0a\xfd\x9f\x4a\xa8\xce\x14\x59\x3e\x9c\x39\xc6\xa1\x33\x68\x5c\x27\xe0\x2a\xd4\x81\x91\xf0\x81\xdf\xcc\xd7\xd0\xcf\xd1\x7b\xff\xef\xbf\x92\xff\xc9\x28\x2d\xe9\x65\x54\x8c\xd7\x1a\x28\xfa\x1b\x08\xa5\xa6\x6b\x1b\xf5\x42\xc2\x79\x36\xbe\x7d\x22\x58\xda\xc1\xfc\x5f\x19\xdd\x1f\x76\xf4\x4d\x69\x3b\xe1\x6c\xac\x53\x0b\xeb\xa3\x90\xde\xaa\x28\x8f\x52\x78\x5e\x71\x6c\x42\xb6\x33\x06\xb9\x58\x27\x64\xff\x8f\x8d\xd1\xf3\x8c\xa8\xc9\x63\x8c\x12\xd0\x26\xec\xc0\x84\x42\xc7\x15\xc9\xe9\x05\x1d\x19\x29\x29\x56\xe9\xe1\xb6\xf2\xe7\x03\x34\x87\x3a\x1e\x41\x2c\x95\xbd\xea\x74\x9b\x0d\x79\x50\x0f\xda\x3a\x5d\xfa\x4a\x21\x5c\x8b\xe4\x9c\x4c\xbb\xaf\xe4\x3d\x22\x54\x74\x21\xe1\x2c\xf5\x66\x3c\xad\x03\x40\x4c\x13\xd0\x46\xa8\x74\x36\xad\xcb\x66\x4b\xcb\x30\x65\xbb\xa9\x2f\x82\xf2\x69\xd1\xf0\x5d\x1e\xb3\x88\x46\xbc\x28\x89\xe3\x54\xd4\xad\x63\xe7\x17\x83\x80\x22\xde\x5c\x51\x5e\x4b\xbf\x1b\xaf\xfc\x82\x9c\xf5\x8e\xe9\x52\x9c\x02\x0b\x4f\x01\x84\xf9\xef\x5a\x4c\xf9\xa7\xe8\x35\x09\x9c\xf5\x1c\x2d\x88\xdb\x27\x14\x6f\xa4\x28\xb9\x8d\x24\x23\x30\xe6\xcd\xca\x2f\xc8\x54\x5f\x3d\x52\xc4\x96\xd0\x71\xeb\xa3\x68\x36\xea\xa7\x36\xee\x1f\xa6\xea\x1f\x8a\x2a\xa4\xbb\xa7\x19\xaa\x98\xd7\xa9\x45\x85\x52\x3f\x4c\x6e\x22\x37\x56\xa6\x16\x03\x81\x8d\x87\x60\x6c\xe6\xda\xfc\xf1\x03\x89\xc8\x22\x3e\x07\xc5\x85\x9f\x83\x10\x70\x02\xf0\x21\x9d\x04\x6f\x21\xa9\x84\x3d\xc4\x87\xa2\xa9\x44\x2a\x91\x8a\xa6\x32\xa9\x50\x2a\x94\xca\x24\xdc\x09\x7b\x28\xd5\x8d\x75\x5d\x5f\x48\xb8\x59\x3f\xb8\x79\x05\xd4\x37\xd5\xb1\xf1\xac\xfa\xf3\x05\x5a\xf3\x8f\x8c\x65\xb3\x63\xb9\x91\x40\x40\xc9\xe5\x94\x40\x60\x24\xa7\x5d\x53\x62\x68\x01\x84\xb3\xe3\x30\xa2\xdc\x63\xc0\xd9\x40\x36\x90\x55\xc7\x8c\xa2\x31\x00\x63\xe3\x81\x5c\xc0\xe0\x51\x3c\x86\x40\x2e\x30\x0e\x63\x01\xa3\xb6\x11\xcc\x06\x7c\xb3\x4c\x74\xff\x90\x2d\xe8\x9f\x70\xc8\xa3\x4b\x27\x34\x32\xd7\x19\x4c\x65\x68\x7b\x46\x33\xc1\x4c\xd0\xcd\x53\x00\xee\xc1\x14\xa3\x4c\x28\x8a\x72\xf2\xcd\x6c\x00\xc6\x03\x24\x17\xc8\x62\x45\xfb\x5a\x53\x83\x6a\x36\x97\xcb\xbd\x79\x12\xb2\x59\x45\xc9\x05\x26\xc7\xa7\xf9\x4c\x4d\x20\x14\x2e\xbb\x4b\xad\xd2\x7b\xd4\xe1\x41\x28\xfe\xe1\x59\x38\x40\x54\x8f\x4f\x45\x65\xbf\xb5\xb8\xe8\x39\xb5\x52\x76\x9b\xd3\x65\x57\x6a\x8e\x0e\x23\x2a\x3e\xd2\x26\x04\x35\xe7\x8d\x44\xc8\x37\xaa\x74\x13\xab\xca\xf5\x61\x7c\xb9\xce\x54\x2e\x35\xa7\x97\x2d\xa7\xbf\x4b\x2f\x55\xb6\xba\x64\xba\x33\xd7\xac\x5e\xba\xe9\x19\xf0\x9c\xe9\x05\xc3\xa8\x0d\x2d\x23\x7f\x61\x12\xc8\x81\x9a\xb4\x1d\x6d\xb5\x2f\x5c\xde\x08\xcc\x4c\x91\xf8\x5a\x53\xdc\xe4\x35\xa9\xed\x26\x13\xbc\x6a\xf2\x9a\xe2\x26\x93\xba\x17\x0e\xc3\x91\x19\xa3\x9f\xa2\x21\x1a\x03\xaf\x9a\xf4\x24\x7b\xd5\xbd\xa6\x99\xa3\x75\xbf\x6a\x68\x19\xf9\xb7\x62\xb9\x50\x59\xb7\xa5\xec\x53\x97\x99\x29\x12\xaf\xd6\x5e\xae\x3f\xf7\xb0\xba\x57\x7f\x28\xbc\x0a\x47\x66\x8c\xc6\xcb\xf4\xb2\xd2\xab\xc3\x70\xb8\x50\xe2\x76\xd3\xcc\xd1\x5a\xb9\x96\xa1\x8f\x31\x09\x66\xf5\xb4\xf6\x9a\xee\x1f\x42\x9a\x29\x92\x49\x9c\xaf\xd6\xd3\xa2\xdf\x39\xab\xa8\xda\xfb\xe1\xfa\x19\xa3\x91\x5e\xae\xa7\x98\x04\x73\x6d\x65\x7b\x55\xf9\x98\x90\x66\x8a\x64\x12\xe7\xae\xee\x0c\xd1\xf8\xa9\xb3\x3b\xd7\x64\x8a\x6b\x05\x9b\x21\x5a\x9b\x8b\xda\xd0\x32\x7c\x2d\xed\x47\xad\x54\x46\xa8\x76\xb7\x8c\xaf\x2d\xa6\x9e\x36\x6e\xc8\x3b\x33\x37\x16\x9d\xdf\x04\xb4\x0c\xaf\x2e\x3d\xf3\x43\x0f\x82\x73\xf5\x36\x7d\xe6\x32\x10\x98\x04\x59\xad\x3f\xf3\x1f\xe8\x40\xb8\xf2\x5c\x7d\xa2\x3d\xb3\x8d\x49\x90\x6b\xcb\xe5\xfc\x90\x8d\x4f\xda\xce\xd1\x9c\x05\x39\xb4\x4e\x37\x76\xe8\x78\xa9\x95\x28\x3d\xba\x2c\xdf\xe1\x2f\xed\xc8\x93\x7d\x90\xaa\x98\x43\x78\x24\x0b\xef\x53\x12\x81\xcb\x52\xd9\x7e\x7e\x3c\x10\xd0\x9d\xa4\x07\x02\x79\x0a\x91\xc4\x65\x07\x36\xe1\x00\xa1\x34\xc5\x24\xd5\x0d\x5e\x36\x91\x1b\xd8\x14\x5e\xd9\x2b\x68\x73\x88\xd8\x33\x1c\x29\xab\xa3\x55\xe8\x80\x58\xa9\xc5\xba\x36\xb7\x4d\x97\x34\x84\xa0\x02\x7b\x4e\x2b\xab\x46\x02\x16\x68\xc6\x04\x1b\x4f\xb6\x40\x83\x23\x01\x63\x25\x25\xb7\x81\x89\x31\x59\x60\xe8\xeb\x27\x72\x82\xcc\x8e\x8c\xe9\xb0\x4d\x63\x64\x97\xcd\x36\x66\xb3\x01\xd2\xd1\x43\x75\xf4\x5b\x32\x52\x66\x70\xcb\x93\xab\x29\xb3\x7a\x64\x24\x10\x28\xe9\x83\x33\x3a\xad\xe3\x46\xd1\x32\x9d\x13\x9e\xb1\xd5\x2a\x59\x06\x3a\xce\xc3\xe7\x0a\x2d\x20\x10\xbd\xb1\xca\x58\x78\x3b\x28\x03\x61\x5c\xe7\x28\x4f\x6a\x25\x20\x2f\x4d\x53\xd4\x63\xf4\x02\x50\xbe\x89\x5b\xd7\x46\x3f\xd7\xdb\x31\x6d\x82\x6e\xa8\x76\x61\x00\xaf\x50\x40\x24\x34\x25\x0b\x2a\xa2\x75\x44\x82\x9c\xd3\x9a\x60\x0c\x66\x0d\x25\x55\xa4\x73\x1f\x92\x43\x9b\x75\xdc\x24\xda\x04\x3a\xbf\x9f\x2c\x0b\x04\x02\x93\x34\x01\xa3\x1d\x2b\xd7\x1f\x33\x72\x23\x84\x0a\x9e\x6a\xfb\x40\x17\x4e\x96\xbc\x3c\x7f\xbc\xe4\x94\xf6\xbe\xfb\xce\x72\x4b\xcb\x8c\x55\x38\xad\x7d\x6e\x26\xac\x87\xc2\x9a\x1e\xa4\xde\x7f\xca\xf5\xe9\xc3\xdd\x50\x74\x74\x5c\x72\x43\x56\xe9\xee\x67\xe6\x04\x04\xed\x1a\x56\x95\xe1\x5d\x2b\x8f\x3c\xb7\x93\xae\x66\xd9\xd1\xe3\x9d\xb1\xf1\xe1\x5d\x44\x39\xc7\x0d\x9c\xd5\xa2\x77\x0d\xe3\xdc\xce\xe7\x8e\xac\xa4\x4b\xdf\xf1\xd1\x40\xac\x53\x4f\x3e\x43\x3c\x9a\xb1\xdc\x22\xae\xd8\xe6\xa4\x7b\xf5\xed\x4c\xa5\x9b\xa2\x0f\x4e\x40\xd0\x59\x05\xdb\x35\x0c\x8a\x56\xee\x73\xdc\x60\x72\xf9\x6c\x75\x89\x81\x96\xf8\x1c\xf1\x88\x62\xe5\x65\xa7\xb2\x94\x5f\x68\x44\x76\x8a\x8a\xa6\x7d\x7f\xdd\x05\x5b\x03\x1d\x47\x27\x5e\xb2\x18\x2c\x5a\x17\x38\x74\xf6\x6b\xd9\xde\x60\xe6\x14\xba\xd6\x1e\x16\x07\x53\xc9\xa1\xc1\x51\xdc\xab\x0b\xd7\x8f\xd2\x13\x93\xa7\xae\x02\x46\x07\x27\x7b\x36\x1d\xda\xb4\xe9\x10\xf3\x6e\x41\xf4\xae\x03\x9a\xdd\x72\x68\xe3\xc5\xb7\xde\x7a\xf1\xc6\x43\xdf\x1d\x1d\xd4\x12\xaa\xff\xa5\x53\xeb\xba\x20\x3d\x7f\x97\xf6\xc0\xc1\x41\xf2\xbf\xb5\xac\x9b\xf2\x9f\xd1\x6f\xea\x26\x09\xea\x35\x7a\xce\x43\xd3\x75\x46\xcc\xba\x1e\x65\x71\x94\x72\xd5\xa8\x24\x05\xdd\xc6\x8a\xc1\x38\xcd\x7f\x2d\x38\x88\x88\xf9\x22\x88\x69\x3a\x95\x6c\x67\x5b\xa6\xeb\x5f\x39\xed\x89\x80\xec\xe2\xd1\x41\x62\xb5\xf0\x16\x9b\xd5\xce\xb2\xa1\xbe\x2d\xbb\x3f\xf1\xc9\x2d\xe3\x11\xea\xae\x56\xdb\x43\x26\x23\xe3\xf8\x7f\x3d\x92\x82\xb1\xcf\xa9\xbf\xe6\x1b\xbc\x46\xbb\xc3\x6a\x0c\x71\xf3\x33\xdb\xc7\xf6\xac\x4d\xd7\x5b\xa6\x90\x37\x42\x93\x69\x87\x88\x77\x0a\xa9\x57\xde\x56\xc2\x92\x45\xf4\xbb\x9b\x8d\xd6\x6b\x2b\x81\x08\x0d\xed\x90\xa4\x5e\xf6\x2a\xc2\x6e\x1d\x55\xaa\x21\xaa\xeb\x47\xfa\x49\x37\xc4\xfb\x88\xec\xe0\x45\x26\xd4\xd0\xce\x44\x8b\x92\x31\x9d\x6f\xee\xee\x83\x04\x65\xfe\x62\xa5\xa6\x77\x4d\x6f\x8d\x76\xc0\x9f\x28\x05\x9f\x3d\x72\x7d\xd3\x83\x8b\xbe\xb0\xe8\x44\xcb\xf5\x47\xb2\x5b\xee\xbb\x6d\xd5\xe3\xab\x6e\xbb\x6f\x4b\x76\xbc\x37\x72\xfb\xb1\x7f\x39\xbe\x71\xb9\xf2\xd8\x91\x3b\x46\x83\x7d\x77\xd4\x26\xae\x78\xf4\xf2\x63\x8f\x7c\xfc\xd0\x65\x8f\x5e\x9e\xa8\xbd\x03\x76\x0e\xaf\x99\x3f\x7f\xcd\xf4\xc3\xbe\x1b\x1e\x77\x9a\xcd\xce\xc7\x6f\x58\x7f\xeb\x60\x9b\x28\xb6\x0d\xde\x0a\x86\x1f\xed\x5b\xb6\xab\x27\x64\xe4\xe4\xa6\xbe\x6d\x73\x6f\x7e\xe5\x9d\x93\xab\xd6\x5f\xb7\x63\xc5\x9a\x50\x60\xd5\xf2\x1d\xd7\x5d\xb0\x72\x6c\xfa\x77\xe5\xd6\x7a\xa1\x30\xef\x69\x5f\xcd\x07\xce\xbe\xba\xb7\x24\xd4\x19\xcb\x67\xcb\xe2\x67\x26\x17\xeb\x3c\xcb\x81\xd2\x38\xa6\xf7\xb2\x25\x48\x41\xfc\x56\xb5\x47\x25\xdd\x8f\xe5\x1e\x56\x41\x76\x14\x45\x0b\x10\x82\xa4\x0e\x62\xc7\x39\x1d\x14\xb4\x17\xd2\xe1\x60\xaa\xba\x60\xd0\x07\x6c\xd9\xf3\x52\x65\xb9\xa8\xc4\xdc\xed\xe2\xde\x4b\x4d\xe4\x62\x1b\xbc\xea\xcf\xa4\x14\x93\x8d\x6d\xac\x81\x88\x34\x71\x94\xa0\x22\x76\xa1\x56\x68\x40\xad\xf7\xb0\x5d\xed\xea\x4f\x5b\xee\x9b\x37\x91\x2b\x95\x3b\xb0\xf1\x50\x2e\x7d\x91\xcb\x8a\x2f\x0e\xb5\xd4\xab\xf7\x7b\x6c\xa1\xd6\x7a\xb8\xdc\xf5\xcf\x63\xe5\xaa\x3c\x09\xdd\xa9\x05\x9f\xe9\x9b\xa3\xde\x9f\x5a\x50\xae\xcc\xc6\xb1\xd9\xed\x81\x92\xff\xa2\x82\x3f\x72\x1f\x6a\x44\x49\xea\x65\x88\x8a\x50\x23\x14\x6e\x84\xe2\x41\xf7\x81\x1f\xaa\x41\xfd\x90\xad\x1d\x07\x44\x6c\xf3\xe3\x40\x1f\x48\x95\x4e\xca\xaf\x0a\xff\xab\xfa\xaf\x61\x83\xc7\x5b\xd3\x61\xa8\xb9\xfd\xf1\xdb\x6b\x0c\xb3\xe2\x1e\xd5\xa4\xeb\xd2\x0c\xea\xba\x34\x83\x3b\x9e\x7c\x47\x9d\x7c\xe7\xc9\x1d\x3b\x9e\x7c\x07\x98\x77\x9e\xfc\x6d\xb5\xa3\xf5\x97\x6e\xfc\xf8\xc7\x6f\xac\xe9\x30\x18\x3c\xde\xe1\xad\x5b\x87\xbd\x1e\x5b\x07\xfc\x68\x54\xcf\x4d\x3f\x7d\x55\xcb\xb6\xa3\xfc\x18\x9c\xad\xfe\x6e\x67\xae\x9b\x8b\xc2\xf8\xe9\xf2\xfe\x68\x3b\x64\xb4\xcf\xe5\x1f\xa8\x9b\xc1\x13\x9f\x55\xa8\x55\x47\x8d\xd7\x63\xd0\xea\xaa\x66\xfe\xb1\xba\x25\x6a\x3a\x6c\xc5\x6a\x19\x0c\x1d\x35\x37\x7e\xfc\xe3\xd8\xf8\x3f\xad\x9b\x99\xea\xee\xb7\xa0\x4c\x59\x0f\x51\x1b\x62\x1f\xbe\x4a\x4a\xc4\x9b\xa7\xfb\x4d\xac\x78\xd5\xc8\x3f\x56\x13\x5d\x28\x08\x5f\xf9\x87\x0a\x5f\xa0\xf3\x18\x54\x58\x65\xe6\x7d\x38\x0e\x09\x53\xa5\xdf\xd5\x68\x43\xa1\x86\x68\x88\xd3\x21\x20\x82\x71\x92\x95\xc4\x9c\x24\x2a\xa2\xa4\x5b\x3c\x14\x83\x38\x5b\xa8\x4c\xe1\xa4\xbe\xf6\x5a\xee\xbe\x37\xee\xcb\xbd\xa6\xbe\x06\xad\xaf\x11\xe5\x35\xc8\x9d\x95\x47\x0b\x5e\x4a\xab\x53\xd0\xf0\xa2\x38\xe5\x8a\x02\xad\xf0\x38\xb4\x22\x8d\x42\x2d\xf2\x45\xb4\xb9\x38\x84\x3a\xe8\x5a\xb9\x1a\x6d\x46\x97\xa3\xbd\xe8\x56\xca\x79\xfd\x0c\xfa\x32\x95\xe2\xb7\x40\x43\x2f\x24\xbb\x21\x9e\xa9\x08\x47\x2b\xc2\xe0\x74\x84\x82\x5a\x38\x11\x8c\x87\xcf\x9d\xe6\xbc\xf1\xe7\x0a\xb3\x95\x61\x7b\x29\x9c\xd2\xae\x65\xea\x9d\xac\x5a\x26\x60\x1b\xb1\xd9\x46\x6c\x8a\x6d\xdc\x66\x1b\xb7\x15\xae\x18\x64\x9b\x1c\xb3\xd9\xc8\x88\x2d\x5f\xba\x4f\x4f\x30\xf3\x65\xf1\xac\xa2\xc2\x75\xf9\x3c\x6e\xb3\xed\xd2\x32\xbc\xaf\xf0\x68\x30\xf5\x3e\xc5\xce\xe4\x94\xd4\x20\xec\xa2\x29\xde\xad\x38\xe6\xdf\x3d\x2b\x4a\x9d\xe1\xa2\x70\x02\xfd\x54\xf8\x53\xc7\x68\x3a\x5b\x1e\x11\x65\x52\xd1\x7e\xda\x8b\x88\x76\x44\x05\x1c\x4d\x9d\x57\xe7\x42\xcd\x68\x9d\x46\xad\x15\x75\x83\x78\x3b\xf5\x13\x42\xb1\x01\xa0\x4a\x6c\x58\x90\x0e\x16\xad\xe3\xda\x71\xa8\x81\x29\xa1\x47\x64\xa8\xda\x6b\xd1\x62\xcc\xed\xe2\x94\x27\x0e\xaf\xea\xdf\xf6\xf8\xa6\xa7\x7e\xfb\xde\xa9\xcc\x25\x5b\x33\x19\x5f\x6b\xd7\x0d\x13\x57\x86\xea\xa8\xbc\xab\x2e\x34\x38\x3a\xc8\xe6\x42\x26\xfe\x67\x0f\xac\x5f\xe8\xcb\x2e\xdc\x35\x67\x87\xfa\xde\x66\xab\x64\xb3\x05\xea\x43\x17\x7c\xec\xd1\x25\xbb\xbe\xb3\x2b\x92\xb8\xe9\x94\xcb\x58\x5f\x5f\x0f\x7f\xc0\x3b\x37\x04\x66\x67\x0e\xe6\x9f\xd8\x6d\x0d\xd7\xd4\x8a\x2e\xb2\x3b\x34\xc7\x3e\x21\x52\xf9\xdb\x9f\xed\x73\x42\xa9\xc1\xc1\x3d\x79\x36\x2a\xb1\xcc\x75\x21\x31\xe8\xf7\xad\x9f\x63\x34\xc8\x61\xfc\xdb\x90\xc3\xd9\xd2\x1b\xe9\xcb\xc8\xbb\x2c\xac\x4d\x72\x20\xc4\x95\xea\xce\x22\x33\x6a\x46\x71\xb4\x10\x5d\xa3\x7d\x87\x1c\xef\x4c\xcb\xf4\x08\x29\x2e\x9a\x8a\x44\xdb\x8d\xa1\x06\xde\x49\x2b\xe5\x76\xba\x12\x71\x39\xa5\xd5\xd5\xe9\xfa\xff\xd5\x2c\x24\xfb\x95\x17\x5f\xfa\xf2\x17\x5e\xfb\x31\xf9\xdd\x1f\xee\x77\xc8\x6c\xa7\x10\x97\xdb\xbd\xad\xa1\x56\x97\xdb\x2b\xef\xf8\xca\xe5\xb2\xa3\x79\xf6\x0d\x4f\x3d\x71\xb8\x2d\xf8\xf1\x89\x2f\xfc\x8f\xda\x0a\x7b\x72\xb6\xed\xcf\x8e\xc0\xd3\xdf\x33\x5c\xff\xdc\xd5\x6a\xe7\xd7\xaf\x6b\x1b\xe7\x8c\xc4\xc7\x79\x78\x99\x33\x33\x0c\xf9\xe5\x9c\x94\x91\x3b\x65\xc7\xfc\x73\x1b\x0c\xcf\x37\xc3\x1f\xff\x67\x0d\x89\x91\xa0\xd1\x25\x94\x7f\xd0\xa8\x7b\xe3\xac\xe2\x1f\xb8\x1c\xd5\xf6\xa7\x78\xc9\x4c\x0c\x05\x13\xd3\x26\x89\x93\x54\x10\x4a\xb4\x59\xab\x69\x66\x2e\x8a\xda\x56\x61\x79\xa7\x8d\xe1\xb6\xa9\x63\xfc\x6a\xe6\x1d\xfa\xfe\xae\x82\x8f\xd1\xe9\xec\x35\x97\xc3\x08\x22\x74\x40\x3b\x64\xa0\x8f\x42\x58\xcf\x58\x4c\x7c\xd9\x4c\xdc\x36\x13\x5e\xa0\x1e\x65\xdc\x96\x3e\x41\x60\x60\x8f\x1e\xc0\x1f\x9b\xb1\x02\x87\x67\xe6\x44\x31\xc1\x33\xef\x09\x02\x63\x67\xdc\x02\x6b\xd6\x03\xf9\x9d\x33\x57\xae\xac\x1b\xff\x4d\xe4\x44\xdd\x74\xf6\x2c\xc0\xd3\x68\x15\x72\xbb\xea\x80\x02\xd6\x39\x44\x52\x00\x71\x90\xa2\xed\x10\xad\x4a\xe4\xb4\x33\x6e\x17\x56\x28\x82\x8d\x4e\x6e\xd7\x35\x45\xd5\x6b\x65\x99\x13\x1a\x5a\x52\x3e\xce\xe0\xe0\x48\x0d\x6e\xb9\x3f\xfb\xfa\xc3\xd3\xd3\xc0\x27\x4f\x3d\x01\x2f\x2c\x6c\xb6\xb3\x45\xda\xbb\xde\x6e\x6f\x5e\xa0\x5e\x23\x27\x65\x75\xd9\x9c\x07\xf6\xef\xef\xb4\xd8\xc1\xe0\x85\x7b\x3e\xbb\x68\x85\x30\x51\x95\x4e\x3d\xe3\xfb\x97\xa7\x74\x5a\x15\x4f\x3d\xc5\x1d\x60\xc7\x91\x09\xc5\x10\x82\x36\xe8\x00\x62\x77\xb3\x24\x6a\x04\x99\xe2\xb7\x86\xa9\xcf\xa3\x8c\x0c\x91\x74\x26\x2c\x6b\x14\xb8\xcc\xfa\x81\x79\x04\x40\xfd\xd4\x80\xff\x64\x37\xf4\xf5\x58\xe0\x3d\xf5\xfe\x75\xac\xcb\x6d\x77\xab\xfd\x6a\xbf\xdb\xee\x76\xb1\xeb\xd4\x8f\x07\xa4\x36\xf8\xeb\x9b\x8e\x3a\x9f\xf3\x4d\xf8\x6b\x9b\x84\xe7\x9d\x49\x9a\x7a\x60\x60\xb2\xb7\xfe\x71\xd8\x3a\x00\x29\xf5\xd3\xaa\x25\x18\xb6\xbc\xfd\xb6\x25\x1c\x84\xff\x86\x2d\x81\x0c\xbf\x04\xbe\xdf\xd4\xa4\x76\x2d\xe1\x33\x25\xec\x5d\x85\xea\x18\xa3\x32\xa8\x7e\xb0\xa1\x1d\xd2\x54\xc1\xcc\xed\x07\xf6\xc6\xbc\x62\x8f\xb1\x26\x57\x6d\x3e\xe7\x0a\x99\x24\x07\x8b\x04\x5b\xad\x64\xe5\x99\xcf\x4c\xa0\x10\x66\x43\x2e\x9c\xad\x6d\x8d\x99\xb0\xc2\xcb\x62\x53\x11\x6b\x53\xa3\xcd\x31\x62\x51\x27\x45\xf0\x37\x42\x50\x97\x00\x96\xc4\x7c\xc1\x82\x2e\x85\xbe\xd1\x2d\x3b\xa1\xce\xa4\xe3\x6e\x97\xc3\xaa\x2b\xbd\xb4\xe1\xd5\x79\x05\xaf\xce\x3f\xc5\x28\x45\x51\xc5\xe4\xd8\x34\xc9\x05\x59\xfd\x57\x93\xd7\x64\x34\xfe\x8d\x0a\x76\xf0\xea\xfc\xcf\xf0\xea\xfc\x48\x85\x74\x83\x8c\x54\x48\x38\xfe\x66\x34\x9a\xbc\xa6\xbf\x4e\x3e\x25\xa1\x82\xff\x22\xa6\xec\x47\x65\xb0\xcc\x47\x91\xaa\x74\xc6\x33\x0e\x8e\xd7\x7d\xc4\xd4\x01\x65\x80\xd1\xed\x5e\xa6\x38\xcf\x39\xb5\xb9\x2f\x9d\xe9\x63\x53\x85\x08\x08\x74\x0e\x77\x16\xff\xf0\xd7\xe9\xe9\x44\xb2\x15\x8f\xcf\xbb\x43\x59\xdd\x9a\xdc\x35\xb6\x2b\xd9\x5a\x38\xa5\xb7\x65\xe6\x0e\x35\x47\xed\xf4\xd2\x43\xb3\x30\x5f\xa7\xa7\xc5\xf4\x38\x92\xbc\xb0\x46\x7d\xf3\x60\xa4\x25\xd6\xb7\xc0\x5b\x73\x61\x52\xdb\xb8\x27\x2f\xac\x21\xc9\x72\x58\xb5\x7a\xeb\xed\x35\xe1\xe6\x9e\x15\x85\x48\x1d\xeb\x5e\xa1\xb6\x9c\x02\xaa\x41\x61\x94\x45\x1b\xd1\x4e\x74\x1d\xba\xa5\xe0\x21\xb8\xc0\x79\x74\x39\xdc\xba\x4e\x2c\xd5\x71\x89\x54\xd0\x8b\x6c\xc9\x46\x21\x9a\x01\x3f\xf4\x03\x85\xa8\xc8\xb8\xdc\xe0\x02\xbe\x04\x96\xe3\x06\x3e\x42\x95\x11\xfb\x0b\x86\x08\x4c\xc5\x23\xa0\xe2\xd1\xec\xb4\x97\xc2\xd7\xa6\x90\xd9\x63\x36\x1a\x01\x69\x9d\x37\xa6\x7b\x5a\x1a\xaf\xb0\x85\x65\xb1\x0e\x81\xa3\x3e\xe3\x74\xfe\x09\xec\xb5\xab\x6a\x8f\xf9\x7c\xea\x1f\xa5\x90\x13\x86\xd7\xe4\x1f\xf8\x93\xfa\xa7\x02\x9c\x0e\x48\x52\xc8\xa9\x3e\x5d\x40\xcc\x81\xe5\x4e\x7c\x57\xc5\x63\xf2\x7f\xd6\x1f\x0d\x0f\x4c\x7b\x21\x18\xa7\x10\x1d\x09\x40\x4f\x89\x0a\x73\xdc\x71\x9a\x7e\xec\x86\xd5\xf7\xad\x5e\x0b\x2b\x9c\x21\x49\xfd\x63\x2d\xe8\xe0\x3a\x20\xff\xc9\xe9\x54\x9f\x5e\x87\x37\x49\x20\x15\x00\x77\xd4\x3f\xbe\xeb\x74\xc2\xf0\xba\xeb\x69\x06\xf5\x4b\xce\xcb\x74\xa7\x51\xa8\xe2\x91\x9f\x9d\xf6\x32\x6d\x3e\x18\x41\x88\x4c\x52\xbe\x66\x8f\xae\xd7\x39\x4d\xf2\xad\xcd\x66\x62\x65\x2c\x55\x74\x2f\xc0\x42\xd3\xb5\x14\x32\x52\x30\xee\xc7\x38\xe7\xb1\xbd\x6b\xf3\xd0\x03\xf4\xd4\x47\x17\xb5\x46\x9b\x32\x1e\xdb\xbb\x56\xe7\x2d\xcb\xbb\xe3\x17\xf7\xce\x6d\x09\x2d\x16\x24\x8b\xf0\xa8\xc0\x1a\xc6\x60\xd6\xf0\x23\xb7\xac\x02\x4f\x31\x83\x07\x2f\x4e\x6f\xea\xee\xa9\x75\xb9\xd7\xd4\xd8\xeb\xc3\x72\xdb\xea\x63\xa1\xda\x39\x1d\xcd\xd9\xba\x9a\x8b\x6c\x86\xfd\x26\xbf\x00\xa6\xbe\x9d\x0f\x14\xf7\xda\x58\xfb\x9e\xfd\xa8\x7d\x3a\xf2\x85\xee\xa6\xb7\xb8\x90\x39\xb5\x6f\x96\x54\xaf\x6e\x8a\xce\x03\x8e\x78\xb3\xd9\xa2\x2b\xec\xac\x37\xa2\xe8\xbe\x68\x74\x20\xb2\x12\xec\x05\x28\x05\xc1\x58\x3e\x17\x61\x76\x50\xc1\x92\x6e\xf8\x8a\xd1\x16\x84\xb0\xbf\xe4\x77\xa4\xea\x25\x32\xd1\xf7\xd3\x51\x12\x29\xd8\x70\x57\x3e\xde\xef\x83\xa8\x76\x19\x05\x1f\x84\xbd\x90\xf5\x86\x21\x30\xae\xdd\xd4\x0e\x0c\x97\xa7\x09\x09\x05\x44\xd3\x66\x2c\xc4\xaa\xec\xe5\x28\x8c\x96\x6a\x75\x0d\x75\x40\x24\x4a\x5d\x1c\x5a\x21\x98\x4a\xc8\x24\x94\x0a\x52\xc8\x83\x44\xba\x1f\x07\x9d\x21\x22\x83\x33\x48\xd5\x89\x99\x62\x1f\x45\x75\x1f\x36\xd4\x52\x27\x91\x22\x1f\xf9\xfb\x49\x8f\x81\x10\x20\x0c\x98\xac\x9f\x54\x55\xe5\x7b\xcf\x1e\x06\xc7\x51\xec\x34\x10\x42\x0c\x35\x77\x02\xec\xff\xfa\x0f\xf1\xef\xf3\x2a\x61\x92\xcb\x2f\x5a\x9e\xec\x6e\x4a\xb4\x8b\xae\xcb\xbc\xe1\xd5\x97\x5d\x75\xc7\xec\xc1\xf5\x43\x19\xf2\xd6\x63\x8f\x4d\x36\x1b\x2d\x84\x37\x62\x87\xe7\xcc\x63\x10\x02\xdb\xe3\xbf\x61\x22\x46\x8b\xd1\xd2\xfc\x9b\xc7\xd5\xf7\xd4\x9f\xe0\xc7\x5e\xae\xf5\x49\xd9\xd1\x79\xfd\xed\x7d\xc1\xc8\xec\xa8\xb9\x76\x63\xb8\x6e\xee\xde\xad\x9d\x9b\xba\xe7\xb4\xf4\x04\x87\xf5\x75\x88\x9d\x42\x1c\x22\xb7\xa0\x30\x5a\xf2\xe1\xea\xc6\x9e\xbb\x6e\xe4\xc3\xd7\xed\xed\xbc\xca\x90\xe9\x75\x1b\xbe\xe2\xaa\x3b\x16\x6c\xdd\xb6\x94\x39\x7f\xd5\x7e\xfa\x72\x6d\x1b\x9c\x5d\xb3\x81\xcb\xe6\xcd\x99\x1f\x1d\xa6\xf5\x02\x84\xf8\x83\xac\x8e\x37\x87\xc2\x10\x34\x82\x8b\xe3\x81\x8e\x90\x68\x84\xae\x63\xc1\xb8\x8b\x28\x30\x9c\x47\xea\xd3\xdc\x7b\x56\x73\xcd\xa4\x12\x99\x93\x47\x91\x7e\x9b\xd5\x5c\x43\x94\xc8\x1c\x82\x22\xfd\x14\x67\x8f\x49\x35\x0c\xfa\x26\x51\x6b\x53\x43\xc3\xa0\x8f\x41\xad\x4d\x3a\xbf\xef\x0d\x3a\x97\xee\xd4\x31\xb2\x28\x7a\xb6\xd3\xe1\xe2\x9d\x0d\xbc\x88\x75\xf4\xe7\x92\xed\xb1\x1f\x17\xc8\x0f\xea\x23\x24\xda\x90\xb2\xfb\xb1\x4e\xe8\xa6\x92\xd4\x45\x52\x01\xa8\x84\x82\x4d\xa7\x33\x4e\xad\xf9\x9d\x0e\xb7\x8e\x3c\x1d\x77\x71\xca\x85\x2b\x9a\x96\xb4\xcd\x0f\x5f\x15\x00\x97\xb9\xe1\xe0\xce\xf6\xde\x35\xa1\xa6\xd0\x15\x2b\xd7\x5c\xef\x0f\xfb\xdb\xc3\xc3\x9b\x8f\x1b\xc3\x46\x01\x30\xc6\xf5\x61\x72\x7c\xf3\x70\xb8\xdd\x1f\xf6\x5f\xbf\x76\xf8\x8a\x50\x53\x68\x4d\x6f\xf6\xad\x0e\x60\x59\xf0\x84\x5a\xdb\x5c\x5d\xb3\x87\x5b\x56\x6d\x80\xaf\xae\xd4\x6e\xed\x8b\x9e\x88\xb2\x40\xec\xa6\x54\x57\x78\x7e\xdb\x92\xa6\x15\x17\x6e\x58\xd5\x32\x3c\xbb\xcb\xd5\xd6\x1a\xf2\x60\x06\x63\x00\x06\x55\x65\x2d\x94\xa4\x2b\xe5\xaf\x7a\x5b\x81\x2e\x63\x14\xea\xcb\x2e\x41\xbf\x47\xc4\x3b\x4b\xde\xd2\xa9\x02\x7a\x04\x69\x5f\x27\xe5\xbc\xa3\x40\x21\xac\x2d\x09\x01\xba\x24\x04\x5c\x8c\xa2\xfe\xf4\xa7\x14\x86\xb0\xc0\x6f\x00\xf4\x53\xf5\xa7\x91\x64\x44\x07\x59\x8c\x24\x23\x53\xe8\x94\xfa\xf7\x53\xa7\xc0\x70\x8a\x64\x95\x5f\xa8\xcf\x7a\x0e\xe9\xca\x95\x87\x3c\xb0\xe8\x17\xfa\x94\xa1\xe3\x37\x52\x94\x9c\x1d\x2a\x3a\x74\xea\xd4\x21\xac\x1d\x11\x41\xc2\x94\xc2\x5e\x4b\xf5\x5d\xe7\x69\x2b\x3b\xf0\x91\x52\x71\x8c\xa0\x6b\xd1\xf3\xae\x44\xbc\xa2\x90\x67\x55\x20\xca\x57\x62\x1e\xb8\x1c\x61\xd0\x41\xd0\xc1\xba\xbd\x39\x92\x8c\x30\x97\xa9\x0f\x9c\x3a\x94\x49\x8f\x5c\x72\xc5\xb3\xb4\xbc\x67\xd5\x67\xff\x55\xaa\xc9\x6b\x5a\x65\x32\x31\xaf\xd2\xb3\x7a\x53\xfe\xd8\xa9\x43\x3b\x3e\x8b\x57\x6c\xbf\xf4\x6a\xbd\x02\x29\xec\x57\x1f\x50\x0e\x9d\x92\x47\x12\x85\x8a\x78\xa7\x55\x55\x98\xaf\x9a\x4c\xab\x4c\x5e\xed\x11\xda\xf9\xa6\xfc\x31\xad\x86\xd7\x97\xf4\xa4\x75\x3f\x49\x0d\xba\x9e\x43\x3a\x93\x96\xed\x0e\x91\xa5\x0e\x2f\x4b\x58\xe4\x4c\x56\xcd\xee\xdd\xf4\x87\xdc\xbc\xad\x87\xaf\x3b\x90\xb2\x59\x7c\x16\x5b\xea\xc0\x75\x87\xb7\xce\xd3\x15\x5e\x70\x16\x2b\x13\x77\xf7\x2f\xfd\x3a\x79\x3a\x8f\xd6\x3d\x71\xeb\xbe\x55\x4b\xbc\x3c\xc7\xf1\xde\x25\xab\xf6\xdd\xfa\xc4\x3a\x7d\x62\x2c\xd0\x4b\xa8\x84\x0f\x11\x42\x8b\x10\x72\x07\xed\xc1\x70\x95\xf6\xc3\xd9\xd7\x55\x16\x43\x05\x42\xaf\x14\x4a\xc4\x5d\x0a\xab\x9c\x51\xa0\x02\xe2\x85\x54\x28\x81\x82\x32\x94\x3c\x43\xbd\x2d\x2a\x9b\x06\xb2\x03\x9b\x40\x3f\x29\xc9\x21\x85\x41\x39\x08\x50\x10\x0d\x4a\xdf\x55\x84\x97\x4f\x50\x11\x15\x8b\x92\x43\xba\xe7\x3c\xfd\x38\x44\xdb\x8d\x50\x9a\x77\x1c\xf1\x68\xa8\xac\x5f\x1e\x2e\xc0\x3a\x86\xdb\x21\x15\x74\x4e\x57\xac\xcd\xa4\x42\x0d\x85\x3d\x46\x3b\x64\xfa\x98\xb2\x82\x74\x30\x99\xce\x84\x29\x5c\x0c\xd6\x35\xcb\xc9\xe7\x2c\x06\x0b\x43\xd4\xac\x59\x9c\x42\x57\xdf\xab\x2f\x7e\xfb\xb7\x06\xba\x77\x2d\xea\x75\x30\xf6\x98\x4d\x70\xdb\x2d\xac\xdc\x39\xf7\xb2\xce\x9a\x4d\x87\x36\x89\xd0\x2e\x9a\x21\x47\x18\x8b\xc1\xc2\xea\x7d\x3e\xa2\xe6\x6c\x46\x1e\x46\xb0\x64\xde\xe1\x7e\xfa\xda\x49\xba\x54\x91\xc0\xe8\x13\xfe\xab\x3b\xba\x97\x06\x0d\x21\xde\x12\xf7\x98\x02\x83\x73\x17\x48\xcd\xad\x5a\xad\x82\xf5\x66\x09\x8f\x00\x6f\xd4\xea\xd6\x38\x15\xe0\x74\xb9\x64\x5b\x85\x07\x5a\x87\x46\xbd\x12\x8e\x67\x75\x04\x9f\x8c\x0c\xa5\x90\x56\xfe\x4c\xba\x31\x18\x77\xb1\x63\x94\x50\x05\xcf\x03\xcf\xac\xbc\xc6\x81\x45\x55\xe1\x8d\x16\x73\x56\x60\xd7\xaa\xff\xa5\xbe\x4d\x38\xd1\x98\xb5\x5b\xc6\x4d\x36\xb8\x79\x64\xf8\x14\xac\x01\x56\x74\x30\x3a\xc5\x0a\xca\xfb\xea\xfd\x5f\x1e\x1e\x51\x3f\x6a\x33\x8d\x33\x46\xad\xd3\x1c\x50\xb3\x16\x8c\x59\xd9\x01\x8a\x88\x1d\xd7\xac\xfc\xe6\x5d\x72\xc9\xbf\xcf\x69\x7d\xbf\x01\x24\x28\xa7\xa3\x91\x16\xed\x1c\x24\x41\x99\x04\x29\xbe\x35\x77\xfa\x51\xf5\x99\x67\x04\x5f\x6d\xe7\x13\x3f\x54\x9f\xf9\xa1\xfa\x2b\xed\xf8\x09\x66\x72\xfb\x97\xba\x7b\x9a\xf1\x44\x9e\x25\xd9\xce\x40\x70\x72\x11\x79\x56\xfb\xc1\xa2\x95\x4b\x96\x7c\x7b\xba\x1e\x8c\x36\xe1\xa0\x70\x26\x9d\x8c\x1a\xa1\x88\x55\xcf\x51\x6b\x94\x4a\x51\x0f\xf9\xd8\x0e\x59\x56\x5f\x82\x84\x2c\xef\xd0\x76\x74\x73\x64\x19\x5e\x90\x93\xf8\xb6\x2a\xae\xe6\xc7\xb4\xbb\x90\x80\x84\x9c\x94\xb5\x1c\x73\xf4\xc4\xf8\xc7\xe7\xc4\x57\xd7\xdf\x0f\x69\x6a\x6d\x42\x31\xd5\x8d\x05\xf0\xf7\xca\xf7\xe3\x97\xe0\x85\xc2\xe3\x76\xc8\x32\x24\xd4\x97\x68\x41\xc8\xc2\xea\xf7\x6b\xa5\xd2\x8a\xa6\x17\xf3\x25\xf5\x25\x9a\xe3\x7c\xef\x87\x4c\xba\x68\xed\xa2\x43\xe0\x1b\xab\xde\xcf\x7c\xac\xa2\x36\x72\xb9\x92\x50\xdd\x00\xa0\xb7\x40\x75\x61\xa1\xba\x00\x33\xf4\x41\xb1\xf9\x8d\xc5\x86\xa8\xee\x83\xb6\xb3\xea\xa5\x77\x42\x35\x6b\xf9\x1d\xda\x08\xd5\x1d\x86\xf7\xce\xd0\x06\x59\x6a\x3b\x62\xa7\x23\x2c\x13\x94\x83\x56\xe8\x80\x90\xcc\x26\x52\x61\x39\x18\x85\x20\x61\xc3\xcc\xa8\x6d\xf2\xce\x0e\xbc\xcd\xf5\xbd\xe7\x85\x2f\xba\x60\x94\x81\x4b\xe3\xf9\x7d\x56\xb5\x93\x55\x94\xfc\xb7\xf2\xdf\x21\x4f\x7e\x31\xff\xfb\xdf\xa4\x52\x77\xaa\xbf\xdf\x06\x5b\x71\xe0\x2b\xf0\xfa\x99\x2d\x8f\x3c\x42\xc7\xaf\x65\x2a\xcb\xfd\x77\x01\x43\x2e\x68\xc4\x72\x90\x67\xc3\x72\x50\x0e\x66\x82\x20\xb3\x6f\xaa\x7f\x9d\x7c\x23\xbf\x70\x11\x34\xd5\xc1\xe7\xe0\xb7\xf3\x27\x16\xcf\x61\x9e\x8d\x4c\x2c\x66\x95\x33\x2f\xaa\xef\x81\x19\xb6\x1d\x7b\xf8\x61\x58\x0d\x4d\xdf\x2e\xb4\x95\x8d\xd7\x7d\x76\xac\xad\xf8\x56\xf5\x79\xa8\x03\x38\x26\xd0\x18\x3d\x0b\x87\xd6\x0f\xee\x8a\x6d\x73\xc5\x06\xd4\x99\x28\x4a\xb9\xed\x7d\x90\x29\x82\xd5\x92\x9c\x3e\x2b\xed\x70\x18\x18\x8b\xf9\xe2\xbd\xea\x6e\x35\xa9\xee\xde\x7b\xb1\x51\x64\x0c\x0e\x49\x84\x11\x97\xc1\x60\xdd\x36\xef\xbd\xfb\x75\x62\x7b\xce\xc2\xe3\xaf\x1d\x5f\x38\x47\xbf\xb8\xff\xbd\x79\xdb\xac\x06\x83\x0b\x46\x44\x89\xf9\x2d\x9d\x9b\x26\xc7\xd4\x31\x97\x01\x1b\x2f\xbe\xfb\xb1\xc7\xee\xbe\xd8\x88\xf5\x9b\x0e\xd9\xb6\x6d\xc3\x7e\x07\xbe\x9d\x52\xef\x9f\x69\xd8\xb3\x70\xf4\xf8\xf1\xd1\x85\x7b\x1a\x3e\x43\x23\xf2\x37\x3a\xf6\x6f\xd8\x66\x93\x1d\x92\xfe\xfd\x53\xba\x21\x74\x96\x8f\xad\x6e\xb0\xeb\x9e\x48\x0b\x48\x02\xd4\x5b\x2f\x13\x28\x3b\xf5\x0a\x14\x28\x83\x82\xbb\xaf\xb2\x48\x8c\x62\x01\x67\xa9\x3f\xaf\x67\xb5\x92\x6b\x6f\x57\x73\xd3\xe5\x59\xfa\x1e\x9f\x52\x2b\x65\xa4\xdb\x48\x80\xb3\xb9\x02\xc8\x86\x0a\xbf\x73\xc9\x44\x74\x08\x5b\x70\x15\x6c\x9f\xe0\x12\xdd\x51\x29\x65\xff\x7f\xe1\x3c\x42\x11\xfc\x7b\x1d\xb2\xf6\x12\xe8\x7b\x53\xcb\x8f\xd7\x94\xb2\xb6\xe6\x0f\x9c\x57\xb2\x43\xf9\x29\x18\xb1\x0a\x29\xe2\x69\x9d\xb5\x63\xac\xd6\x9d\x3e\x4b\x97\x5a\xe9\x8c\xd1\x76\xca\xc5\x3a\x31\x9a\x39\x4c\x02\xc5\xd0\x8c\x87\x92\xce\x0b\x94\x71\xbd\xce\x2a\x87\xfd\x3c\xd7\x95\xe5\x98\xe9\x00\xe5\x32\xc0\x4f\x66\x0a\x56\xfa\x9c\xe6\x51\x2d\x4a\xa1\x05\x15\xba\x2f\x11\x14\x8d\x50\x39\x11\xf5\x91\x00\x94\xf6\x88\xe0\x76\x68\x8c\x46\x78\x3d\xde\xc5\x48\xfa\x8d\xb3\x3d\x34\x62\x5d\x65\x18\x3e\x2f\xa8\xcf\xfe\x4e\x74\xd8\x85\x07\xdf\x30\x83\x24\x28\x82\x03\x0e\xb2\x3b\xbe\xf4\x3b\xf5\xcd\x07\x45\xa3\x49\x12\x7e\x08\x1b\x4f\xf3\xf4\x86\xc9\x0c\xf5\x95\x9a\x91\xba\x45\x7f\xc3\xef\x60\x91\x00\x0e\x41\x11\x24\x30\xbf\xf1\xa0\x60\x77\x08\x0f\x42\xfd\xef\xbe\xb4\x83\x05\x93\x89\xc6\xf2\xa7\xd5\x47\x7f\x28\x48\x26\x23\x79\xa9\x5a\x5f\xb2\x2c\xc3\xab\xad\xf2\x80\x41\xa7\x72\xea\x9c\x87\xee\x25\xce\xf2\x92\xf0\x4c\x20\x90\x1f\xaf\x0f\x06\x02\x36\x9b\xdd\x7a\x16\x72\x7e\xfe\x01\x69\xa9\x04\x59\x59\x92\xc3\x79\x25\x2c\x1b\x8c\x88\xa0\xf4\x54\x8a\x7b\x91\xfd\x57\x4a\xcb\x75\x20\x64\x64\xcb\xab\x85\x36\x49\xeb\x2c\xe1\x74\x32\xd2\xc0\x47\x8b\x14\x30\xe5\x84\xb9\x5d\x0e\x06\x41\x4f\xfe\x79\xf5\x79\xb8\x0c\x8f\xca\x32\xf5\x3d\x92\x3f\x2e\xcb\x30\x2a\xa5\xc9\xd1\xc9\x3d\xe1\xcb\xc3\x07\x3a\x77\x8d\x75\xee\x0f\x87\xc9\xd1\xf0\xe5\xe1\xfd\xda\xc5\x81\x30\xd3\xa3\x3e\x9f\x7f\x1e\x7a\x54\x2d\x57\x52\x4b\xad\xe5\x4a\x6a\xf9\xf1\xdd\x93\xd7\x85\xc3\x07\x3a\xc7\x76\x75\x1e\x08\x5f\x1e\x26\x47\xc2\xe1\xfd\xda\xc5\xfe\xf0\xe5\xd3\xda\x45\xdf\xfb\x57\x9b\x2c\xcf\xa0\xcb\xaa\x2b\xcc\x92\xb3\xf4\x6a\xa9\xf6\xaa\xce\x62\x98\xae\xad\x4a\xa6\xf9\x35\xed\x98\x81\xc3\x70\x1e\xbd\x2e\x46\xd1\x9d\x3e\x4b\x22\xd1\x91\xdc\xca\x0a\x5d\x4a\xa5\xdf\x53\x3c\x5e\xe2\xd7\xab\x71\xea\x16\x55\x4f\x49\x6e\xa9\x74\x81\x8a\x40\x2b\x11\x39\xc3\x1e\x44\x3e\x84\x80\x6b\x81\x32\x58\x79\x3a\x11\xb4\x87\xca\xee\x7f\xc9\x19\x29\x96\x93\xc4\x7c\xd6\x69\x30\x58\xc6\x8c\x36\xc8\xe6\x62\x92\xdd\x0b\x59\xa9\x4f\x82\x6c\x2d\xf9\x6c\x78\x72\x4c\x94\x24\x87\x35\x67\xc6\x4a\x38\x5c\x0f\x8a\xcb\xa5\x2a\x01\xba\x96\x91\x29\x85\x9c\x61\x91\x36\xda\xe4\x22\xff\xa6\xa0\x4a\x98\xd1\xa6\xe3\x20\xa5\x10\xd3\x01\x9c\x13\xe4\x5c\xac\xb1\x56\xcd\x49\x7d\x92\x9a\xf3\xda\xa5\x58\x4e\xcd\x89\xe6\x31\xc1\x68\x64\x91\x2c\x4e\x3e\xbc\x34\xa0\x2a\x2e\x17\x28\xf5\x91\x30\x56\xcc\x39\xd1\x21\x4f\xa7\x05\x1a\x2b\x68\x01\x88\x96\x69\x81\xb3\x3e\xc3\xa7\xf0\x8e\xc2\xea\xde\xf6\x6f\x05\x72\x40\xa3\x89\x76\x54\xf6\xe2\x3b\x78\x47\x81\x16\x68\xfb\xb7\x42\xe2\x07\x65\x72\x5b\x65\x7f\x96\xe7\x7d\x0e\xd9\x90\xb3\xd0\xa7\x6e\x3e\x94\x0a\xa5\x28\xbc\x02\x6d\x3f\x23\xb1\x43\xc1\x99\x91\xf5\x6c\x1d\xb9\x8f\x9f\x48\x76\x8e\xc0\xab\xa2\x5d\xfd\x85\x5d\x10\xed\x10\xb2\xab\x13\x38\xa0\x8e\xe7\xc7\x89\xb2\xd1\xe7\x3b\xe1\x1b\xf6\x6d\xc4\x63\xd3\xbc\xb2\x7e\xe1\x44\x72\xa4\x13\xbe\x21\x68\x59\x44\x41\xcb\x92\xcf\xe2\x00\x04\xf2\xe3\xea\x38\x1e\xd9\xe8\x1b\xf6\x9d\xf0\xf9\x36\x8e\x9c\xeb\xbb\xaf\x41\x4d\x25\xbd\x4b\x9e\xab\x2f\x7a\x0c\xca\x80\xce\x40\x98\x51\x6b\x3b\x40\xe1\xe1\xf3\xbf\xd7\x1b\x02\xbb\xee\x91\x6a\x2d\x42\xb4\x6a\xd8\x8f\xc0\xb8\x37\x12\x6d\xaa\xd3\xd2\xd1\x96\xc3\xae\x7b\x64\xd6\x8e\x9b\xab\xfd\xe5\xeb\xe5\xa0\xbe\xfc\x8d\xc5\x49\xa7\x0e\x1a\x44\x56\x67\x51\x64\xd2\x51\x9c\xe9\x83\x84\x7e\x75\x16\x42\xd9\x3b\x30\x22\xcb\xea\x98\x3f\x1a\xdb\xfb\x9d\x5b\x2f\xe9\x0c\x9a\x1e\x33\x8b\x3c\xe7\x22\xad\xa3\xed\x8f\xdf\x19\xb3\x58\xbc\x38\x32\xad\xb9\xbe\x0c\x23\xda\x4c\x30\x52\x6f\xb7\x37\x8f\x45\xfb\x37\x8f\xdc\xb4\xbd\xe7\x2b\xff\x61\x21\x46\x0f\x6c\xd9\x9b\xec\x18\x6b\xb6\xb3\x38\x37\xad\xb1\xca\xf3\x3f\x46\x1c\x92\x90\x9f\xca\x53\xc0\x0e\x76\x64\x6b\x87\x82\xe6\xe1\x34\x37\x54\x58\x01\x34\x85\x40\x51\x11\x09\x54\xa8\x18\x9e\xa5\x80\x08\x39\x45\x81\x15\xf9\x5f\x4d\x21\xec\x57\x7f\x41\x95\x14\xf5\xd4\x78\x73\xd5\x92\x5c\xc6\x73\x13\x50\x9d\xb6\xcb\x82\xf2\x47\x93\x08\xc6\xab\x67\x8a\xea\x56\x62\x6e\x94\xdc\x6a\x4e\x1e\x90\xd5\x9c\x5b\xb2\xc7\xb0\x12\x3b\x51\xd0\xf3\x14\x08\x85\x52\xa8\x6c\x22\x72\x71\xa8\x5e\xcd\xd6\xd6\x42\xae\x3e\x14\xca\x07\xa6\x29\x85\x56\xcd\x5f\x55\x65\xd2\xa7\x8b\xc2\x24\x71\xfe\x32\xd9\x63\x79\x25\x66\x97\xdc\x90\x95\x07\x64\xc8\xba\xf7\x9c\xbb\x4c\xf0\x99\x50\x28\x54\x0f\xb9\xda\x5a\x35\x5b\xaf\xfe\xec\xc3\x97\x89\xea\x29\xeb\xf2\xdf\xb4\x1b\xce\x5b\xa6\xac\xf6\xfc\x90\xfe\xae\x9f\x57\xca\x42\xab\x06\xf7\xc3\x15\x4d\x69\xd7\xda\x36\xff\x36\xa1\x33\x31\xcd\x41\x5e\x9e\xee\xe7\x58\x23\x64\xfe\xc2\x2a\x68\x04\xa1\xb0\xdb\xc5\x59\x41\xe4\x43\x0d\x28\x5a\x22\xa9\x23\x99\x52\x30\x8d\xa8\xb7\x6e\x97\x55\x17\x97\xb2\xa1\x06\x8e\xd7\x89\x70\x2e\x14\xe4\xdc\x7a\x50\x84\x50\x90\x62\x4c\x31\xfd\x90\x76\xbb\xc8\x2b\x21\x62\x31\xb3\x8c\x20\x7b\x6a\x83\x0d\x51\xf9\xf7\xea\x23\xfd\x9b\xb5\x06\x1a\xc0\x64\x9e\x56\xa8\x2d\xf3\xe0\x92\xf1\x1d\x1b\xcd\x46\x8e\xb4\x10\x97\xc0\x30\x56\x47\x4d\x6d\xbd\x78\xe0\x07\x71\x78\xcd\x66\x34\x11\x0f\x5b\xab\x7a\x08\x81\x17\xad\x26\x23\xf1\x60\xc9\xac\xee\x9f\xf5\xe2\x41\xa9\xb1\xde\xe7\xb4\x31\xac\x20\x58\xfe\xf3\xa4\xc5\xc9\x00\x26\x1c\xcb\xb2\x0c\x06\xf6\x17\xb2\xb0\x5b\x90\xbb\x66\x49\xe2\x35\xa2\xf4\x2a\x20\x37\xb1\x98\x85\x93\x82\xc0\x00\x10\x86\x10\xac\xec\xb2\x58\xc4\x6b\xbc\xe1\xf9\x16\x8b\x75\x97\xd9\xba\xe7\x30\x61\x58\x96\x01\xcc\xf2\x7c\x61\x3f\x4e\x26\x59\x05\xf5\x97\xb5\x6a\xa7\x73\xf6\x75\x94\x97\xb8\xdb\x0f\x56\xe0\x78\x8e\xba\xc2\xe6\x0a\x0a\x6b\x3a\xe4\x7a\x81\x93\x43\x26\x25\x71\x72\xbe\x28\xc9\xc2\x25\x9b\xb5\x9a\x6e\xfe\xdb\xb7\x9f\x3d\x6e\xc4\x86\x4b\x8d\x82\x60\x62\x9b\x47\xda\xd6\xee\x84\xd9\xd4\x90\xec\x47\xf0\x69\x49\x7c\x44\x94\xe0\x6e\xf5\x5e\x2d\xe5\x71\x41\x86\x83\xb2\x70\xab\x28\xfd\xc7\x93\xbf\xdc\x6f\xa8\x31\x1d\x34\x03\x36\xb2\xbe\xc6\x4d\x43\x3f\x96\xc4\x5b\x05\x59\xfd\xe8\x57\x74\x50\x63\x40\xc9\x29\x44\x5e\xe5\x10\xda\xa2\xfb\x59\x2f\x91\x98\xed\x0c\x5d\x1c\x33\x69\xf7\x2c\x1d\xa2\x37\x9d\x4a\xb6\x93\x68\xbb\x21\x95\x4c\x67\x4a\xbc\x26\x3f\x43\xbb\x4f\xab\x46\xc1\x95\x24\xe3\xf6\x73\xe4\xd5\xef\x9f\x94\xc4\xdb\x05\x79\xe0\xe6\xe1\xf9\x35\xac\xdd\x7a\x29\x6f\xb3\x1a\xf1\xee\x5b\xc2\xe1\x95\x37\xfb\xc3\xc3\xc9\x74\xb4\x6d\x79\xc7\x40\x53\x7b\x8d\xfd\xf9\x87\x64\xe1\x76\x51\xea\xba\x7c\x5e\x8f\xc4\xd9\x2d\x2b\x0d\x56\x51\x20\xee\x4c\xdf\x05\xcd\x9b\x6f\xb0\x37\x87\x07\xdb\x3b\x52\x9d\x23\x99\x05\x61\x2f\x6c\xfe\xc4\x2f\xbc\x5f\xd4\x5a\xe3\x8b\xc6\xd6\xb6\x84\x87\x73\x3a\x6e\x37\x61\x6c\xc6\x5b\xbd\x86\x75\x2b\x7c\xf1\x86\x26\xb7\xd3\x26\x85\x6a\x5b\x9b\xba\xba\x97\x36\x1d\x79\xc5\xff\xcf\x82\x2c\x89\x4f\x73\x0d\xc1\x66\x1b\x27\x39\xee\xb3\x02\x31\x11\x29\x54\xe7\x5e\x37\xdf\xdb\x1a\xad\x0d\xc9\x92\xc3\xdd\x11\xe9\x9b\xbb\xbe\xd0\x67\xb7\xb0\x0a\xea\x2b\xd2\xe0\x22\xf0\xae\x82\xa7\xe0\x28\x8a\x96\x94\x87\x33\x25\x02\x26\x52\xa4\xc3\x8b\xa6\xe0\x2d\xe0\x72\x27\xe2\x2e\x72\x8b\x24\x3e\xee\x7e\xed\xf3\x8f\x41\xa3\x68\x32\x38\xbf\x6b\x33\xaa\x2f\xe7\x8c\xb2\xb0\xeb\xd0\xc3\x2e\x75\x2d\xe5\xa9\x3d\xd4\xf5\x6f\xf7\x6a\x45\x23\xf4\xfb\xfb\x5d\x87\xfd\x49\x51\x62\x9a\x77\x88\xd2\x3d\xff\xec\x78\x46\x7d\xd0\x26\x49\x16\xb8\xfa\x87\x46\xe1\xa0\x20\xaf\x5b\x25\x89\x3b\x44\x69\xb7\x2c\x7c\x54\x4b\xbb\x43\x94\x7a\x57\x4b\x14\xd4\x10\x91\x29\x56\xd1\xa8\xf5\x60\xa8\x00\xe4\x5f\x80\x29\x29\x0d\x37\x9d\xe4\x88\xbb\x65\x97\xbb\x0f\x32\x32\x0d\xbb\x78\x48\x14\x87\x99\xb3\x3c\xe0\x1c\x1c\xde\xf0\x05\x41\x56\xa9\x8d\x22\x04\xf4\xf3\xbf\xab\xdf\x36\x18\x4c\xd2\x77\x64\xd3\x8f\xe5\xb0\xa9\x89\xff\xb6\xc1\xf9\x6d\xbb\xc9\x68\x50\xbf\xff\x63\x3a\xe6\x7e\x09\x0d\xfa\x59\x96\x44\x58\x2a\x89\x97\x0a\xf2\x5a\x49\xdc\x29\xc8\x78\xc0\x66\xb3\x49\xea\x05\x91\x0b\x3c\xeb\xed\xf0\xa8\x6c\x13\xed\xf9\xe7\x64\x61\xa7\x28\xad\x95\x85\x4b\x45\x49\xfd\xaa\x20\x17\xfc\xde\xeb\xfb\x8e\x4e\xba\x57\xd7\x06\x7e\x1c\xd9\xa6\x95\xac\x34\x18\xcb\x9f\x4e\x29\xa4\xcf\x6a\x8c\x7c\xcb\xa8\x9a\x83\xec\x28\x5c\x9d\xff\x81\xfa\x05\x78\x9f\x32\x2c\x79\x59\x78\xac\x28\xa2\x2e\xca\xad\x71\xed\x0f\xc8\xa5\x3f\xd8\xa7\x66\xe1\x61\xf5\xc0\x7f\x5f\x5f\xad\xc8\x76\xbd\x24\xde\x2f\xc8\x78\x8f\x28\x55\xf8\x1f\x32\x20\x0b\xb2\xa1\x1a\x54\x87\xae\x42\x08\xe4\x90\xec\x72\xb8\x93\x69\x39\x13\x74\x07\x13\xd1\x90\x16\xe1\x70\x15\x22\xf4\x3d\x22\xa1\x23\x86\x84\x88\xee\x49\x9a\x94\x4a\x5b\x9e\x0f\x49\xb1\x5f\x82\xf2\xb4\xb3\x8b\x27\x25\x86\x03\x9f\x88\xbb\x30\x5e\x79\x72\x10\x00\xae\x0b\xa9\x6f\x04\xe0\xe1\xa3\xa1\x85\x70\x72\xf9\x23\x2b\x01\xe0\xea\xa0\xfa\x63\x8a\xdf\xfd\xfa\xa3\xbc\xe7\xa4\x87\xff\xdc\xe9\xc7\x78\xcf\x49\xb3\x1d\x8f\xbd\xa2\xd5\xe7\x8b\xc1\xbb\xb4\xd3\x95\x17\xb2\x26\x93\xed\xb0\x97\xbd\x08\x2e\xbd\x84\xf7\x1c\xf0\xf0\x5b\xe0\xca\x8b\x59\xef\x61\x9b\xc9\xc4\x6e\xb8\x5a\x4b\x72\x6f\xc3\x97\x45\x09\xd6\x42\x8b\xfa\x1a\x30\x00\x2c\x7c\x41\x51\x94\xfc\x6b\xd0\xaa\xbe\x0e\x2c\x00\x03\x4f\x29\x4a\x20\x2b\x4a\xf9\x13\x1e\x0f\xde\x99\x3f\xe1\x11\x4d\x78\x27\xa5\xb5\x75\xce\x32\xac\xb7\x0a\x16\x8f\x7a\x02\x76\x7a\xf4\xa3\x45\xb0\xaa\x8f\x17\x12\x68\xfb\xdb\xce\x29\xc4\xbc\xc5\x2a\x28\x81\x16\x53\xcc\x21\x17\xef\x07\x5e\x64\x78\x67\x28\xd5\x10\x75\x86\xec\x0d\x91\x16\xc8\x24\xe2\x19\x7b\x22\x12\xb2\x47\x5a\x20\xe5\x8e\x67\x52\x09\x67\x3a\x91\x4a\x38\xfd\x84\x24\xdb\x99\x06\x0a\x42\x1a\xef\xe3\xb4\x0b\x11\xb4\x8b\x3e\x8e\xb9\x5b\xba\x7f\xcf\x75\x02\x9f\x58\x7e\xdd\xc1\x55\x0f\x0e\x37\x3f\x28\x2d\x96\x7f\x50\x7f\x75\xdc\x60\xe3\x4c\xc2\xd0\xd5\xaf\x65\x83\x0f\xae\x8a\x3d\xb8\xe2\xa6\x9d\xbd\xa7\xfd\xad\x8b\x7a\xd6\xc7\x57\x18\x0c\x73\x22\xf3\x67\xcf\x6d\x9f\xed\x97\x17\xd5\x34\xf6\xc4\x97\xb4\xcc\xe5\xd9\xee\x86\x81\xd6\xee\x48\xa3\x44\x94\xaf\x0e\xf9\x8e\x1f\x5d\x74\xc5\xc2\x0e\x17\x33\x35\x01\x93\x68\x0a\xbe\x96\x80\xfb\x00\xea\xe7\x3f\x0a\x30\xf9\x37\xfc\xde\x24\x5f\xdf\x7d\x49\xfe\xa1\xc6\xce\xc6\x1a\x0b\x87\xd5\x7f\x02\xc2\x5a\x6c\xde\x86\x76\xf8\x7b\x30\x11\x74\x9b\x38\x00\xf5\x25\x00\x62\x10\xdd\xf5\xed\x3a\x2e\x06\xc5\x96\x28\xd8\x4b\xba\xdc\xe0\x72\xb3\xba\xcd\x60\xc5\x92\xcc\x20\x97\x08\x27\x44\x31\xff\x78\x67\x0c\x07\x4a\x10\x11\x01\x06\xc1\x4f\x44\x51\xdd\x29\xba\x02\xb1\xce\x89\xf1\x22\xe2\x83\xee\xcf\xa3\xf4\xdc\x18\xea\x44\x8b\xb5\x36\x75\x07\xed\x2e\x37\x99\xfe\x68\xbb\xc3\x25\x9f\x07\xa6\xbb\xfa\x9a\x3d\x25\x8a\x6a\xcc\x25\xce\xaf\x2c\x4a\xe7\x0f\x66\x82\xa2\xa8\x0e\x33\x8d\xa2\x4b\x2b\x72\xfe\xf9\x72\x69\xf3\xe3\xb1\xce\x7c\xa0\xb4\x37\x03\x71\xa6\xa0\x46\x7f\x36\x4c\x21\x6e\x3f\x87\x90\x09\x35\xa2\x01\xb4\x0a\x21\x48\x74\x40\x24\x15\xe2\x1d\x1c\x0f\x3a\x0e\x53\x71\xfb\xa4\x2f\x3a\x74\x57\xc5\x3a\x83\x29\x48\xf7\x43\xaa\x81\x0b\x71\x2d\x40\xbd\x18\x00\x67\x05\xa7\x96\x30\x25\x3b\x83\xa9\x44\x34\xc4\x27\xb4\xb3\x9c\x90\x99\xc7\xbe\xb4\xd8\x82\x19\xc2\x33\xf9\x77\x4d\xea\xbf\x98\x04\x8b\x59\xcd\x59\x0d\x06\x57\x8e\xea\xb2\xe4\x44\x89\xcc\xcf\x7f\x1d\x76\x5b\x8c\x66\x6c\x24\x16\xe9\xad\x1b\x70\x46\xbd\x9b\xb3\x9a\x45\xa3\xf3\xef\xaf\xaa\xe3\x83\x1d\x7f\xe9\x18\x54\xdf\x5c\xf8\xdb\xff\x8f\xb6\xff\x80\x8f\xa3\x38\xff\xc7\xf1\x79\x66\xdb\xd5\xbd\xdb\xdb\xbd\xdd\xd3\xdd\xe9\xfa\xed\xaa\x9e\xa4\x6b\xab\xde\x5d\x24\xcb\xb6\x2c\xdc\x8b\xac\x50\x5c\x01\x37\xc0\x15\x73\xb6\x21\x01\x12\x0c\x98\xde\x05\x18\x08\xc5\x09\xa1\x3b\x94\x28\x10\x08\xe1\x13\x4a\x42\x08\x21\x81\xe0\x24\x86\x04\x42\x4f\x01\x6c\xdd\xfa\xff\xda\xbd\x93\x2d\x17\x4a\x5e\xdf\xff\x0f\xac\xdd\x99\x6d\x37\xcf\xec\xec\xcc\xf3\xcc\x3c\xcf\xfb\x7d\xdb\xbb\xe4\xb2\x3f\xd6\x38\x49\x01\x22\xb6\x83\x81\x31\x10\x28\x27\x2f\x50\x06\xf4\xc6\x81\x61\xd7\x05\xef\xcd\xc7\x9c\xcb\x6c\x26\x80\x58\xf7\xce\xbc\xfc\x47\x26\x97\x15\x63\xbc\x9e\xd8\xb6\x62\xc5\x65\x97\xad\x58\x81\xaf\xce\xaf\x28\xac\xfd\x8c\x97\x3b\xad\xcb\x1d\x3f\x22\x37\xf5\x95\x72\xc3\x31\x92\x11\x5f\x5b\x0f\xdf\x42\xee\x9b\x8e\x92\x8e\xff\xca\x5a\x38\x2c\xf6\x5f\x4f\x24\xb5\x36\x7a\x44\x3c\xf2\xbc\xe3\xaa\xc0\x42\x10\xb0\x1e\x51\xba\xcc\xc6\xfc\xac\x6e\x97\x35\xa0\x1e\x34\x0f\xa1\xf8\xd7\xbc\xe2\xa3\x67\x0c\x8e\x75\x84\xf8\xa6\x3c\xde\x77\x62\x91\xc9\xd0\xf8\x99\x05\xdd\xd4\xcf\x19\x0d\x39\x67\x64\xb4\x02\xd1\xc2\x88\x91\x39\x84\x8c\x0c\x62\x5d\x43\x27\x92\x7a\x1c\xf4\xfb\x67\xdf\x90\x2c\x0c\x77\x63\xf2\x3b\x8e\xc8\x7f\xac\x94\x5f\x5d\x1f\xc7\xcd\xa0\x7c\x43\x9e\x3c\x4a\x00\x2d\x74\xe2\xda\xc0\xc3\xc7\xc8\x7c\x54\x6d\x1c\xa9\xa7\xd0\x61\x51\xd6\x9e\xa8\x2a\x60\xed\x37\x57\x80\xd1\xe6\xa9\x97\x8a\x6d\xbe\x0b\xcd\x46\x28\x6e\x2c\xf2\x1b\x2b\xf7\x5f\xdd\xe6\xe3\x02\x4b\x18\x6c\x0f\x6a\x41\x0f\x55\xa3\x2c\x1c\x8e\x7a\xd2\x3f\x80\x14\x67\xb0\x91\x30\xb4\x41\x1a\xc1\x51\x9d\x73\x9b\xd2\xad\x3d\xdd\xc9\x89\xf9\x9b\xbf\x42\xe8\x8f\xbc\xf5\xfd\x67\x4f\x68\x4d\x78\x5c\x8a\xc3\x19\x97\x67\x9e\xe6\xc4\xee\x19\x55\x2b\xbe\x7b\xd9\x19\x9b\x77\x07\xb4\xca\xbb\x00\x33\x26\x57\xeb\xc0\xc8\xe6\xb7\xdb\x56\xf4\xae\xed\xcb\xce\x3e\x91\xcc\x6a\xeb\xfa\x33\x06\xea\x9c\x26\x66\x0d\x43\xda\xcf\x9e\x23\xf9\x2f\x3d\x6d\xf9\xae\x27\x71\xcd\xda\xb5\x70\x3f\xe3\xa1\x9c\x36\xbb\xab\x71\xf6\xde\xfc\x5a\x74\x9c\xec\xaa\xe1\x0d\x7d\x44\xf6\xaf\xef\xe7\x8e\x11\x8f\xff\xba\xea\xf8\x16\xb2\xbf\x32\x5e\xbe\x67\xbe\xa6\x22\xc8\xa2\xf0\x07\xef\x39\x91\xf4\xa3\xc7\x8a\x49\xa5\x4e\x58\x1f\x63\xb8\x91\xed\xc5\x79\xd8\x85\x63\x6f\xbd\xe0\xb0\x71\xec\xbc\x1f\x25\x30\xa2\x5b\x64\x44\x83\x4b\x8c\x66\x2a\x71\xc4\x60\xbd\x2d\xc0\x49\x15\x20\x09\x5b\xb1\x41\x9d\x9b\x4a\x06\x28\xb7\xc0\x02\xc3\xe2\x22\x2f\xbf\xd7\x17\x8f\xfb\xbc\xf2\xb0\xec\xd5\x8c\x35\x5e\x08\x79\x65\x72\x58\x75\x10\x09\x8e\x73\x28\xe6\xc6\xf6\x0b\x62\x7d\x5c\xe7\x8d\x73\xa6\x6e\x8e\x7a\xe5\x58\x89\x67\x59\x5d\x77\xd8\xe5\x35\x9b\x19\xab\x5f\xe0\xbd\x89\x9e\x9a\xb0\xc3\x0c\x3c\xef\x22\x58\x13\x09\xee\x69\x6b\x8d\x55\x1b\x5f\x3c\x8e\x7d\x87\x03\x38\x64\xd9\x3b\xbb\xad\x2a\xd4\xd7\x52\xdf\xd2\x10\x5f\x3d\xa1\x0f\x07\x7d\xde\x4a\x80\xb8\x17\x6f\x2b\x89\x63\xbc\xb6\x7d\x4e\xd8\xd5\x1c\xaf\x50\xaa\x9a\x05\xde\x1d\x4c\x96\x35\x07\x3c\x72\x5f\x55\x84\xf6\x08\xec\x5a\x74\x98\x37\xbd\xdd\x88\x31\xf3\x15\x71\x18\x0f\xbf\xbc\x63\x2d\xf8\xb8\xe8\x36\xac\x61\x2c\x05\xb0\x5b\x30\xe0\x8c\x13\x58\x31\xc8\xfb\x0d\x10\x4d\xa3\x4a\xf4\xfa\x68\x22\x44\x49\x64\x8c\x3f\x46\xf8\xaa\x8a\x58\xae\xc2\x9a\x69\xda\x3f\x49\x13\x4b\xb8\x5c\x02\x98\x1d\xe1\x9a\x9e\x84\x97\x17\xfc\x56\xc6\x6c\xf6\xba\xc2\xdd\x75\xcb\x3c\x25\x31\xd9\x1b\xdd\x3c\x75\xce\x8d\x9d\x5c\x5f\xec\x82\xf6\x46\xb3\xe2\xe0\xb8\x04\x41\x8c\xd5\x44\xfe\x9d\x42\x1d\x18\xf5\xf1\xe3\x96\xb9\xd3\xd6\xb2\x82\x87\x8e\x97\x4d\x95\x3d\x81\xe6\xb2\x64\xd0\xcd\x0b\xcd\x55\x4a\x45\xbc\xd9\x15\x9e\xd3\xbe\x16\xe3\x78\x09\xde\xe6\x8d\x03\x54\x7a\x7d\x41\xdc\x37\x61\x75\xbc\xa1\xa5\xbe\xa5\x2f\x84\x90\xed\xf0\x5c\x86\xd9\x58\x47\xaa\x44\x2d\x68\x21\x3a\x15\x9d\x87\x7e\x80\x6e\x46\x0f\xa0\xa7\x0d\x5e\x93\x68\x84\x71\x8b\xa9\xa4\x9a\xca\xa4\x23\xee\xb8\x3b\xca\x45\xb9\x68\x86\xe2\xa2\x99\xe2\x22\x5e\xaa\x38\x7d\xcf\x51\x45\x1f\x21\x77\x94\xd3\xd5\xc7\xa4\x24\x4a\x6e\x61\x8c\x25\xa6\x05\xd2\x86\x13\x6c\x29\x44\xdd\x42\x2a\xa9\xa6\xb3\xe9\x0c\xb8\x85\x48\x0b\xa4\x93\x90\x36\x68\xe9\xc2\x21\x03\x9d\xb4\x08\x7e\x19\x32\xda\x19\xf0\x51\x46\x89\x1a\x60\x98\xee\x54\x3c\x93\x2e\xd0\xf8\x94\x42\x71\xe2\x4e\x4a\x71\x51\xae\x58\x8e\x68\xb1\x1c\xc7\x4d\xe0\x5d\x53\xca\x39\x9d\x5c\xe9\x63\x9d\x9d\xf9\x67\xfb\x7b\xa7\xc1\x4f\xba\x94\x78\xd8\x4c\x77\x02\xb0\x82\x08\x6d\x8c\xad\x3c\x1a\xee\xea\x0a\xc5\xca\x6d\xcc\x41\x4c\xd8\x7c\x99\x74\xa9\x5b\x28\x5d\xe2\x73\x5f\x10\xf1\xd0\xa0\x6d\x6b\x6f\xc7\x6e\xde\xd2\x59\x79\xa1\xf6\x81\xf6\xe1\x85\x55\x1d\x16\x41\xb0\x74\x54\x5e\x84\xe5\x8b\x2a\x3b\x2c\x42\xde\x3e\x7f\x4a\x2a\x33\x8d\x09\x99\xa2\xd6\x5e\x08\xbb\x4b\xeb\x52\x3e\xb7\xdb\x97\xaa\x2b\x75\x3f\xdc\xd5\x65\xc0\x59\x77\xd1\xd6\x50\xac\x1c\x3e\x1f\x3f\xc1\xf3\xde\x4d\x49\xe7\x3e\xe7\xbd\x91\x54\xea\x1f\x13\xb5\x79\x70\xd7\xc4\xad\xda\xe5\x65\xd5\x7e\x2e\x0e\x11\xed\x33\x0f\x76\x04\xc1\xb3\x6a\x57\xda\x5d\x51\x1e\x83\x0f\x6f\x2d\xab\x70\x3f\x62\x2e\x65\x45\x57\x99\xec\x6b\xda\xd6\xe4\x93\xe5\xd2\x86\xbe\x8e\x94\x17\x6c\x6e\x2b\x51\x7f\x63\x2a\x75\x63\x3a\x4f\xfc\xe4\xa4\xaa\x26\xca\xe1\xa0\x9a\xaa\xe6\xec\xb9\x7f\x66\x65\xb3\x9e\x6e\xae\x9c\x49\x34\x41\xd9\x33\xcf\x48\x0b\xa5\xa5\xea\xaf\x36\x6c\x6f\x2c\x95\xe5\xd2\x46\x63\xe7\x6b\x86\xb5\xda\x3b\x41\x27\xf6\x80\x53\xfb\x53\xdc\xe5\xab\x06\xd3\xd1\x73\xb8\x56\xe4\x3b\x84\xa8\x77\x8c\x78\xd9\xb1\xf6\xb1\x00\x9d\x82\xce\x45\x17\xa1\x1b\xd0\x8f\x0d\x3b\x3d\x1a\x51\xb8\x6c\x2a\x49\xb9\xa3\x99\x74\x32\x9e\xca\x84\xdd\x29\x2e\x15\x3e\xc1\x6b\x19\x7b\x79\x99\x28\x97\xca\x18\x2f\x2f\x9e\x89\x1a\x0d\xa6\x05\x52\xc7\xbd\x58\x35\x0b\x99\x74\xa4\x14\x84\xa4\xc1\x80\xcb\xd0\x21\xa3\x89\x64\xd2\x46\xab\x08\x19\x2d\x04\x52\x04\x17\xe5\x64\x45\x56\x52\xfc\x58\xdb\x2b\xb4\x33\xbd\xed\xc5\x4f\xd0\x42\x89\xff\x53\x24\x51\x94\x14\x18\x98\x3f\x7f\xb4\x71\xa5\xf6\xfc\xf2\x53\x21\x34\x6f\x5e\xc0\xe7\x22\x60\x9e\xc9\x96\xa8\xcd\xc2\x1e\x33\x97\x4d\x56\xce\x9b\x57\x5d\x9b\xe5\xcc\x30\xb0\x00\x33\xe1\xc4\x83\x3e\xa5\xab\x5b\xf1\x97\x2a\x13\x26\xc7\x5c\x04\xce\x0f\xcf\x9e\x8d\x5f\xf6\xb2\x73\x1b\x1f\xcb\x7b\x1f\x6b\x9c\x67\xf7\x7a\xd9\xb9\x4d\x8f\xe2\x77\x8d\xf4\xa8\x77\xc9\xc6\x53\xd9\x9a\xb8\x7f\xc5\x24\x78\xc4\x2f\x77\x77\xc9\x7e\xbf\xdc\xd5\x2d\xfb\x61\xfa\x82\x4c\x32\x61\x37\x2d\x00\xc2\xe5\x0b\x40\xec\xd5\x2e\x11\xaa\xc5\xee\x44\xa2\xfb\xea\xc1\xc1\xfc\x2f\xe1\x23\xed\xbb\x15\x6e\x22\x04\xa7\x6b\x1b\xeb\x3c\xf1\x96\xc1\x67\x7b\xbc\xf5\xd9\x37\xf2\xcb\x6b\x55\xd5\x77\x92\x3d\x65\x89\x4d\x98\xb3\x74\x7a\x3c\x95\x8a\x4f\xdf\x33\x3d\x9e\xca\xf8\x7c\x66\xe2\xe9\xdf\x4e\x98\xf0\xdb\x89\xf9\x39\xef\x9f\xd5\xd4\x4f\xbb\xdd\x74\x7f\xd3\xea\x8f\xf4\x34\x23\x08\x4c\x7f\xd3\x6a\x92\xd5\xd6\x68\x9f\x82\xa3\xf7\xe2\xa5\x33\xb5\x2f\x27\xfe\x78\x46\x3c\x95\x92\xfb\x7f\xdc\xaf\x3f\x64\x40\xb3\xab\xad\x71\x4f\x0a\x2e\xd6\x2e\x0f\x63\xb1\x12\xce\x2d\xf8\x52\xe6\xa8\xcd\xd4\x7f\x11\x8f\x14\x84\x80\x2e\x58\xd0\x2a\x9f\x54\xc6\x0c\x66\x10\x19\x70\x8f\x4d\xca\x40\x16\xf4\x83\x78\x96\xe5\x73\x9f\xfc\xb1\x5b\xb0\xe4\x01\x6e\xb5\x59\xcd\xd2\xc7\x65\x5e\xe2\x05\xab\x35\xff\x09\xf4\x5b\x2d\x16\xf1\xe3\x0a\x8f\xb6\xc7\x85\xa1\x44\xf9\x54\x24\x4e\x73\x69\xbd\x89\x08\x0f\x23\x00\x92\xe8\x70\x54\xc3\xa9\x4e\xf7\xe8\x7c\xc8\x5f\x27\x70\x8e\x6a\x7c\x66\x88\xd8\x59\x7d\x34\x77\x3e\x7f\x98\x5f\x44\xae\x04\x63\x05\xc1\x4d\xd0\x92\xd8\x04\x49\x15\x8c\x23\x20\x82\x91\xcb\x2a\x90\x81\xac\x74\xdc\xe2\xcb\x56\x77\xf0\x31\x97\x89\x31\x9d\xfb\x0b\xb3\xd9\xe4\xdc\x1b\xe4\x09\x95\xe1\x1e\x0f\xf0\xda\x69\x00\x94\x10\x7a\xcc\xc5\x98\xcc\xda\x28\x5c\x67\xfa\xd3\x51\x93\xd4\x04\xbc\x15\xb1\xda\xb8\x3f\x80\x76\x27\xcb\xda\x63\xc4\x0c\x5b\x34\xaf\x60\x2d\x1c\xb5\xd9\x1d\xf0\x26\xe0\x57\x9d\x17\x1e\x8f\x59\x83\x2c\x0c\x22\xff\x8b\xb0\x81\x88\x54\x0d\x7c\x92\x0c\x42\x32\x40\x15\x79\xf0\x4b\x41\x64\x58\x70\x00\x4b\x47\xe9\xb0\x1c\xab\xc1\x85\x91\x24\x01\x4a\x0b\xc8\x06\xdf\x7c\x2b\x9d\xca\xe2\x5f\xc2\x7e\xcd\xbf\xf7\x87\xd0\xd0\xd3\x03\x21\x36\xec\x09\x05\x58\x9a\x57\x18\x93\x19\x80\x67\x62\x2c\xcb\x06\x42\x9e\xb0\x23\x08\x07\xb5\x0b\x5f\xd6\x5e\xae\xad\x8b\xc5\xe2\x1d\x9e\xe3\xaf\x60\x43\x70\x10\xae\x3d\x90\x87\xa5\x66\x8a\x24\x08\xda\xe2\x94\x1c\x74\xc9\x42\xb5\xfd\xf2\xf2\xb2\x0b\x2f\xbf\x5c\x9d\xc7\x71\x0e\xc9\x61\xa1\x09\x82\xc7\x66\x82\x24\x29\x4b\xa8\xe4\xb8\xf3\x4e\xfd\xbc\x0b\x15\x70\xb0\xe8\x11\xea\x62\x63\x6d\x55\x42\x3e\x14\x44\xc8\x4c\xba\xc1\xad\x30\x19\xc8\x48\x90\x91\x54\xb7\xd9\x06\xbb\xe0\x23\xed\x1e\x4d\xa4\xaa\x34\x11\x40\x93\xae\x80\xd9\x00\x30\x27\x3f\x03\x66\x6b\x2e\xed\x47\x54\x02\x06\x34\x49\xbb\x1b\xe6\xc0\x7b\xda\x8f\x34\x17\xd1\xa2\xbd\xac\xfd\x0d\xda\xb4\xfd\xa7\x6b\x7f\x32\xf8\xd8\xe3\xa7\x0f\x81\x1f\x03\x60\x6d\x3f\xf9\x07\xed\x6f\xda\x2b\xc0\x6a\x9f\x69\x9f\x6a\x3f\x87\x52\x62\xab\xf6\x73\xed\x33\xa8\x45\x34\xb2\x1e\x42\xd4\x7f\x0c\x1f\x13\x2b\x72\x14\xcb\x83\xa8\x30\x17\xe5\xc2\x5c\x34\xae\x52\x0c\xa8\x60\xfc\x11\xc0\x98\x21\x13\x76\x53\xe6\x83\xb7\x0d\x53\x37\x0f\x8f\x0e\x84\x09\x47\x38\x3f\xb7\x0b\xbf\xd6\x95\xff\xf7\x12\xbc\x64\xc9\x1b\xf0\x56\x4e\x8b\xe6\x1f\x20\x42\x43\xb0\x2f\x9f\xc3\xb9\xaa\x9b\xee\xb8\x11\x7b\x77\x69\x7b\x2e\xc7\x8f\x6c\xce\x1f\xda\x4c\x6c\xce\x9f\x37\x84\xb7\x1d\xb8\xf5\x96\x5b\x4e\xe0\x7b\x31\x1d\x2d\x1d\x87\xdb\x5f\x04\xa3\x1d\xc3\xb9\x8d\x45\x64\x16\x1b\x94\xa9\x84\x28\xd0\x85\x36\x10\x20\xb2\x49\x51\xd7\x9e\x40\x6d\x25\x64\x03\xc5\x56\xd7\x23\x08\xe4\x1c\xd7\xcf\x39\x8f\x74\x73\x63\x6e\x1a\xa1\x77\xb5\xc7\xde\x7d\x17\x26\xc3\x40\xb6\x2f\x9b\xed\xd3\x26\xb1\xdf\x9f\xbc\x71\x56\x69\xb2\x4f\xb0\x3a\x28\xbd\xe6\x28\x87\x55\xe8\x4b\x96\xce\xda\x38\xf9\xfb\x5f\x7d\x0a\x9f\x49\x59\xf6\xbf\x32\x57\xcb\xce\x7d\x65\xbf\x85\x32\xd2\xf0\x82\x9e\xc6\xa2\xe1\xd0\x01\xbb\x0b\xbf\xf2\xae\xf1\x23\xd9\xdc\xb7\x7c\xec\xd1\xa7\xb4\x33\x8f\x7f\xbe\x91\x3e\xea\xbb\x76\x18\x38\x1f\xc7\xfa\xcb\xa4\x0e\x47\xbe\x8e\x45\xab\x18\x54\x47\x85\x2f\x0d\xae\xdf\x72\xff\x96\x2d\xf7\xe3\xfb\x8d\xdd\x18\x8f\x51\xe1\x0b\x1c\xfd\xa1\x7e\xac\xf8\x6f\xfc\xef\x60\x64\x36\x78\xc0\xf9\x30\x95\x32\x43\x4a\x0d\x1f\xe5\xaa\x85\x7e\xa5\x9d\x89\xb3\x83\x5a\x46\xcb\x0c\x2e\xc3\x16\x38\x78\x2c\x52\xc2\x2e\xed\xa5\x7d\xf8\xc1\xfc\xd4\x61\xa8\x3b\x51\x7c\x72\x3f\xb5\x8d\xba\x1d\x59\x8c\xe8\xca\x2e\xbd\x2d\x80\x48\x2b\x09\xc8\xaa\xd9\x00\x48\x09\x60\x58\x90\x02\xa0\xb6\x02\x9f\xc0\x4a\x8c\x62\x31\x13\xc0\x92\xa8\xb6\x62\xde\x88\x87\x90\x95\x04\xa1\xc8\x4a\x1b\x88\x21\x35\x00\x34\x4f\x1b\xb8\x0b\x71\x59\x49\x90\xfa\x99\x56\x52\xcd\xaa\x31\x4a\x94\x02\x40\xd4\x98\xce\xce\x28\xa5\x7e\x39\xd6\xa3\xae\x62\x9f\x3b\xb9\x6d\x0a\x41\x5e\xb1\x70\xc1\xa6\xfd\xc2\xe4\xaa\x3a\xed\x2d\xed\xc3\xca\x44\xbb\x2b\xb0\x50\x6d\xde\xff\x66\x5b\x66\xe1\x6c\x93\xc3\x5e\x15\x9b\xfd\xf2\xb3\x4b\x13\x93\x06\xda\x85\x92\x10\xed\x7a\x1b\xab\xfb\xdc\xb4\xf3\x61\xef\x2c\xaa\xaa\x32\x3c\xaa\x5d\xff\xc5\x2e\x87\xdb\x4e\x31\xd8\x1c\x75\x7b\xcd\x44\x69\xa4\x3e\x16\x38\xf7\x09\xd8\x0c\xe5\x37\x34\x3b\x01\xdf\xd1\xd6\x17\xe2\x06\x06\x38\x97\xad\x89\x5b\xb9\xb6\xca\xbf\x71\xc2\x82\x9c\xc9\x74\x2d\xde\xe4\x8b\x9a\x4d\x35\x75\x8c\x25\xe2\xf5\x47\xcd\x4c\xa9\xdf\x64\x8a\x8e\xba\xbc\xa7\x75\xf5\x08\xb5\x35\x04\x67\x12\x22\x99\xe8\xd0\x2f\x9c\xe6\x2b\xaf\xa4\x23\xf5\xc4\x63\x77\x69\x9e\x40\xda\xcf\x6d\x95\x7d\xab\x6d\xa5\xe5\xbe\xb4\x39\xf9\xfc\xe6\xfb\x26\x7b\xab\x03\x01\x87\x35\xe1\x8a\xcf\x49\xf4\x09\xad\x06\x0e\x6c\xe1\x5d\x99\x8c\xde\xbe\x11\xcd\x2b\xb0\x5b\xcb\x06\x15\x71\x56\x35\xc2\xd9\x8d\x50\x7d\x5e\xaf\x1f\xbd\xcf\xd4\x8d\x0f\x29\x80\xf9\x74\x56\x56\xe8\x90\xe2\x00\x83\xc3\x50\xaf\xd8\xac\x22\x2b\x32\x45\x33\x85\xba\x0e\x10\x92\x28\x91\xba\xad\xe2\x3a\x4e\x31\xec\x1f\x88\x55\x42\xa5\x32\xb3\xd7\x34\xf7\xfc\x15\x04\x56\xab\x27\x5e\xfa\x88\xd0\xa5\x54\xdd\x70\x77\x95\xdc\xe5\xb6\x27\x22\x81\xe7\x7e\x1b\x8e\x25\xeb\xad\x94\xe3\x56\x6d\xd9\x6d\x36\xca\xeb\xa8\xb9\xe9\xcb\x07\x23\x01\xc7\xf7\xcc\x5c\xe5\xea\x3f\x68\x9f\x9e\x3f\x28\x57\xa6\x48\x93\x18\xa3\xc1\x44\xbb\xec\xcb\x1f\x04\xe2\x61\x4f\x30\x48\xd6\x42\xd9\x51\xab\x79\xd7\x57\x26\x44\x61\xb9\x4b\xca\xb6\x74\x9e\x69\x5b\xd8\x55\x37\x57\x08\x0e\x40\xa3\xdb\x4b\x53\x82\x40\x33\x25\x02\xef\x61\xa8\x68\x84\x62\x4a\xf2\x04\xa3\x94\x90\x2b\x56\xd0\xb6\xeb\xeb\x67\xf8\x12\xa7\xf0\x1d\x2b\xf0\x2f\x33\xa2\x1a\x6e\xf3\xd9\x22\x0e\xa1\x36\xd0\xfd\x83\x17\x62\x54\x5a\x88\x58\xfb\x05\xff\x02\xbb\x20\xbb\xc1\x0a\xc9\x63\xc6\x21\x40\xdd\x87\x72\xa4\x5e\xad\x11\x84\xe2\x92\xde\xad\x24\x88\x0c\x17\xcd\xb4\x92\xaa\x81\x30\x18\x76\x87\x39\x21\x80\xd5\x2c\x71\x7f\xbf\x74\xff\xbc\x65\x7b\x56\x4f\x0b\xff\x70\xf2\xda\xee\x5a\x81\x02\x86\xfc\x37\x4c\xd5\x1e\xb0\x87\xba\x6a\xa7\xbd\xfc\x61\xb4\x15\x70\xfd\xc2\x0d\x1b\x1a\x71\xe8\x75\xef\x9c\x45\xab\xe6\x54\x53\x8c\x36\x77\x34\x7f\x20\x90\xce\x04\x00\x8f\x5f\xe7\x2f\x30\xc8\x2a\x74\x94\x4e\xe0\x0c\x17\xce\x84\xb9\x68\x84\x61\x09\xc6\x9d\x32\x7e\xab\x15\x8e\x5b\x0b\x5d\xdd\x5a\xd5\x14\x4b\x97\x58\x00\x0e\xa1\x27\x4c\x40\x95\x64\x4e\xeb\xde\x5e\x39\xe7\x86\x53\x26\x7c\x0f\x6e\x1b\x5f\x7f\x53\x1e\x15\x41\x2a\x2b\x97\x60\xe7\xd3\x30\xd1\x52\x35\x7b\xd9\xec\x92\x3b\xb4\xc1\x86\xb3\x56\x74\x60\xa8\x25\x6b\x8e\x5e\x0b\x25\x0e\xb5\xe3\x3c\x8d\x0c\xd4\x1e\xf1\xc4\x26\x3d\xfe\x8f\xd3\xae\xdd\x66\xb1\xb3\x16\xed\x26\xbb\xc9\x2c\x14\xf1\x02\x01\xc9\x4e\x2d\x67\xb1\x40\xce\xc9\xf3\xa4\xb1\x66\x71\x70\xcc\xa7\x04\xe1\x3c\x35\xa2\x3f\xb3\xe8\xb7\x72\x18\x36\x59\x2d\x06\x89\xe1\xfc\xe1\xe7\xb8\x9d\x76\x18\xd4\x9f\x0e\xa7\xd8\x49\x9e\x3f\x68\x38\x70\x93\xfb\x64\x27\xe4\x2c\x16\x2d\xe7\x2c\x72\x5b\x01\xc1\x20\x22\x6f\x3c\x73\x0c\x05\x7f\x0c\x03\x5f\x2a\x80\x67\x30\x48\x2f\xc1\x31\x85\xc2\xfb\x8e\xfe\x8d\x93\x59\x43\x82\x22\xd7\x16\x41\x8f\x14\x9f\x59\x58\x97\x3e\x1a\x3d\x5f\x02\x91\x1e\xd1\x8b\x70\x4c\xa9\xf0\x0e\xd6\xa2\xdd\xcc\x9a\xc6\x8b\xa0\xdd\x66\x39\xec\x8f\xbf\x86\x46\x48\x36\xa2\x1e\x8b\xe6\x9c\xae\xac\x47\x23\x04\xce\x14\xb5\x6d\x5d\x67\x37\x2c\xbe\x02\x47\x28\x8c\x71\xab\x16\x88\xee\x24\x41\xa4\xd6\x28\x33\xb7\xe5\xea\x16\xcc\xee\x68\x99\x31\x23\x75\xed\x55\x57\xac\x59\x73\xef\xe4\xe5\xcb\x22\xd5\x27\x2f\x99\xb4\x7e\x30\x9d\x9e\x1e\xed\xb8\x58\xfb\x4b\x69\xa0\x2d\x9b\x8d\x77\x11\x53\x7a\xef\x07\x02\x00\x3a\xce\x3d\xf7\x17\xa1\x50\x38\x02\x04\x50\x9f\xed\xdf\x75\x59\x20\x10\x89\x74\xc4\xda\xbb\x52\x83\x6b\xb6\x3c\x47\x6e\x6a\x99\x32\xa5\x2d\xeb\xb2\xd2\x57\x9d\xbe\xb2\x9c\x70\x12\xa4\xed\xb0\x3f\xbf\x81\x45\x5e\xd0\x0e\x10\x70\x71\xce\x60\x73\x2a\xee\xf1\x3d\xf9\xd9\xfa\x1f\x9d\x1b\x3d\x9b\xf8\xfe\xe8\xd9\xd8\x95\x3f\x7b\x10\x57\xe3\xbf\xe7\xcf\xc0\x99\xfc\xfa\xd1\x8f\xce\xc5\x57\x11\x67\x8e\xbe\x8b\x6f\x32\xf8\x23\x0d\xdc\x59\x6a\xab\x31\xde\xfb\x91\x8a\xa6\xa2\x05\x08\xa1\x64\xd6\x18\x9f\xc8\xe2\x9e\x2a\x8c\x62\x85\xc6\x5d\x80\xb2\x34\x02\x2a\x5b\x74\x73\xd7\x98\x5c\x50\x8c\x35\x42\x08\x80\x3b\x9c\xce\x1a\x9e\xac\x41\xc8\x26\x25\x35\x2b\x89\x8c\xf1\x65\x14\x3f\x8c\xa4\x08\x6f\x85\x24\x29\x24\xc2\x13\x21\x51\x0c\x49\xa3\x07\x2b\x9a\x9b\x66\x37\x37\x93\xd3\xdb\xab\xa7\x34\xcf\x6e\xbe\xb8\xb9\xb2\xa2\x19\x7a\x13\xed\xf8\x47\x2b\x73\xa3\xa7\xe4\x4e\x9f\xc4\xd8\xec\xcc\xe4\xc5\xbf\x5b\x3c\x99\xb1\xdb\x18\xb8\x5a\x3f\xdf\x5c\x51\xd9\x4c\x96\x4a\xfa\x73\x0a\xff\x5e\x6e\xae\xd0\x06\x2a\x9b\x9b\x2b\xe1\x47\x15\xcd\x7c\x7e\x49\xa2\xfd\x6f\x7a\xee\x6f\x85\x6d\x7b\x02\x5f\x0f\x57\xa9\xcf\x9e\x7d\xf6\xb3\xea\x0e\x3b\x43\xdb\xce\xaf\xa8\x38\xdf\x46\x33\xf6\xfc\x55\x63\x77\x55\x36\x35\x21\xb3\xa1\x77\x7d\x69\x70\x6e\x38\x50\x04\x4c\xe0\x86\x38\xa4\xa0\x07\x3e\x35\xf0\x54\xa2\x74\x26\xad\x26\x25\x5a\x66\xb2\x92\x08\xb2\xde\xef\x30\xb4\xde\x7f\xb7\x12\xcd\x20\x43\x5a\xd1\x15\x9e\x82\xbe\x23\x4a\x06\x87\xac\xae\xf9\x18\x23\x9d\x9c\x2d\x4e\xa7\xe8\x9d\x3c\x43\x8b\x6a\x36\x9d\x49\x10\x0a\x2d\x09\xd1\x04\xd0\x4a\x56\x56\x64\x9a\xa1\x03\xa0\x5b\x86\x8c\x11\x00\x25\x25\x45\xda\x08\x5e\x35\x86\x58\x42\xef\xfb\x09\x7d\x48\x80\x02\xc7\x09\x43\x2b\x72\x61\x44\xa0\x44\x49\x60\x29\x86\xc5\xfa\xb8\xa0\xb7\x4e\x16\x1b\x5d\xa2\xa8\x5f\xa2\xbf\x07\xa3\x94\x86\x77\xa5\x71\x77\x00\xbb\xb3\x4a\x42\xef\xb0\x24\xb1\x10\xc8\xaf\x5f\x60\x2c\xe0\x66\x0d\xea\xfc\x56\x10\x41\x2f\x90\x5b\x94\x92\x0c\x9d\x4a\x52\xba\x48\x64\x61\xa8\x52\xd2\x09\x60\x22\x7a\x52\x12\xd4\xac\x9a\xd6\x95\xb9\x28\xab\xab\xfd\x58\x12\xf5\x27\x24\xb3\x10\xc0\x7a\x71\xc0\x80\x66\x21\x0c\xf0\x22\x86\x25\x94\x42\x55\xe8\x3f\xa0\x57\x82\xae\x1d\x42\xc6\x28\xa2\x5e\x38\x82\x11\x68\xa9\xe0\x02\x8a\xd5\x56\x6c\xcc\xc6\xc9\xfa\x49\x63\x1e\x8e\x50\xb3\x6a\x61\x7c\x4c\x19\x60\x36\x4c\xf1\x5a\xd1\xd0\x3c\x8d\xc7\xb2\xa0\x8b\x21\x16\x1f\x5c\xac\xe9\x00\x85\xaf\xb1\x9a\x49\x8a\xa7\x16\x92\x0e\x8b\xc7\x44\x68\x37\x90\x24\x45\x10\x8c\xc5\x4c\x72\x24\x60\x0c\x98\x98\xa5\x92\x0c\x41\x60\x06\xcc\x60\xe9\x8d\x7a\xc2\x73\xc2\x56\x25\xe8\x00\xab\xd9\xed\xb2\xdb\x81\x8d\x94\x88\x24\x29\x58\x15\x47\x13\x6d\xa2\xc5\x92\xb8\xdf\x62\x75\xb9\xed\x14\x57\x22\x3a\x57\xba\xc0\x5c\x5e\x42\x40\xc4\xef\x2b\xc5\x60\xe6\x18\x0b\x4d\x5a\x19\x0e\x40\xf0\x70\x02\x80\x68\x36\x29\x60\xa7\x2c\xac\x68\xf1\x89\x35\x2a\xae\xf0\x85\x28\xb3\x95\x22\xcc\x36\xa1\xc7\x5c\xe5\x2d\xc9\x5a\x00\x9c\x25\x15\x9c\x1c\x09\xfb\x44\x3b\xc6\x34\x6d\x65\xec\x84\x7f\x7a\x56\x74\x57\x88\x04\x04\x4a\xed\x2e\x69\xba\x09\x03\x6d\x72\x87\x48\x4c\x93\x14\xc6\xb1\x04\x55\x46\x0a\x3f\x34\x3b\x89\x60\xc0\x54\xc1\x26\x14\xd2\x4e\x03\x21\x58\x12\x1b\x2e\xa8\x92\xac\x36\x0c\xa2\x99\x76\x13\x12\xc6\x1c\x16\x1d\x31\xe8\x9a\x96\xbf\x95\xb0\xd2\x66\x4c\x58\x08\xc2\x4a\xc0\xed\xd8\xcc\xd1\x94\x99\xa2\x31\xc1\x56\xb8\xcc\xd6\x87\x2c\x36\x82\x26\x49\x82\x25\x4d\x38\x4b\xd9\x09\x87\xd9\x4c\x11\x18\x2c\x98\x24\x4d\xac\x09\x9c\x2c\x56\x05\x11\x33\x1e\x29\xee\x95\x4d\xf2\x62\x3f\xb7\x44\x76\x49\x96\x48\xa0\x6a\x36\xdf\x27\x54\x4d\x8a\xa5\xfc\xa5\xbb\xdb\xf9\xf6\x58\xa5\x87\xb2\x44\x00\x2c\x16\xb0\xb0\xb3\xb9\x80\xc7\x9d\x09\xa5\x22\x66\xbb\x0b\xdb\x28\x12\x22\x04\x11\x11\xb6\x45\x3d\xa7\x76\x48\x95\x95\x84\x4b\xb0\x6c\xac\xed\xae\xb6\x92\x04\x80\x2b\xc0\x98\xe2\xa2\x2c\x9c\xc9\xda\x48\x9c\xee\x57\x3a\x32\x2b\x62\x0d\x13\x28\x2a\x1a\x39\x45\x9d\xe7\x30\xd1\x2e\xab\xc5\xe7\xcb\x46\x5c\x3e\x97\x99\xc5\xa2\xec\x72\x0a\xbc\xa5\x7e\x7e\x59\x53\x4b\x4f\xa6\xd6\xaa\x84\xc2\x61\x82\x05\xd6\xe1\x75\xfa\xc8\xd3\x80\x07\xda\x46\xb0\xe0\x20\xac\x76\x5a\x1b\x00\x13\x47\x51\x26\x2b\x80\xd3\x42\x98\xf4\x17\x8e\xb5\xeb\x5d\x1e\x47\x89\xcf\x59\x6a\x89\x30\x95\x54\xed\x99\x82\xd0\x76\xdb\x59\x65\x98\xac\xde\x94\x50\x9a\x83\x2e\x1b\xb4\x0e\x04\x62\xa2\xbb\x23\x62\x22\x02\x00\xc9\x34\x10\x9d\x25\xbc\x83\x21\xdb\xa9\x40\x99\xdb\x4c\x98\xb6\x3a\xcc\x04\xc9\x34\x74\x02\x34\x04\x1d\x55\x41\x4c\x58\xcd\x50\xca\x8b\x01\xa8\x88\x91\x0e\xd6\x26\x01\xeb\xa5\x4c\x92\xc3\x0a\x98\x03\x9b\x99\x33\xb3\x34\x61\xb5\x13\x74\x90\xe4\x49\x8a\xc1\x24\xe9\x90\x00\x6c\x4e\xde\x61\x26\xcd\x98\xa2\x48\x9a\x60\x80\x6d\xf6\xda\xac\xad\x41\x33\xc1\x94\xb4\xd5\x76\x97\xd2\x3f\x6c\x70\x2d\x31\x79\xdc\xc1\x36\xbf\x9f\x07\x20\x3b\x4e\xb3\x85\x48\xe9\x7b\x66\x47\xa2\x8c\x70\x34\xd5\x25\x3c\xdd\x26\xa7\x09\x53\x66\x26\xed\x74\x4c\x96\x4d\x74\xa2\xa4\x4b\x2a\x05\xfe\xac\x90\x7b\xf9\x3c\xaf\x2b\x1e\xb2\x12\x15\x9c\x17\x63\x33\x05\x0e\xe1\x69\x13\x43\x90\x84\x85\x66\x00\x3b\x55\x12\x5c\xfb\xac\x9c\x09\x48\x12\x48\x1f\x41\xe1\xf7\x31\x6d\xc2\x0e\xb0\xdb\x69\xd2\x4e\xd1\x04\x6d\x23\x80\x3c\xf0\xbc\xad\x44\x12\x45\x4e\xb0\xbb\x48\xbe\xd7\xe7\x64\x5c\xe6\x52\x91\x03\x7d\x88\xf2\x87\x4a\x00\x9a\xed\xa4\x95\xb1\x71\x56\x69\x8e\xd5\x59\x1b\x8f\x99\x6d\xa4\xc5\x15\x89\xf4\x84\x05\x8a\xb0\x3b\x2a\x68\x8f\x4d\xb4\x3a\xba\x59\xce\x4c\x97\x98\xe8\x10\x4b\xd0\x55\xe9\x0e\x85\x7b\x2a\xdd\x1b\x31\x7b\x9c\x62\x69\xa2\xd6\xe5\x5e\x92\xed\x16\x2e\x4d\xaf\x7e\x6e\xfe\xe6\x4a\x37\x94\xfa\x2a\x6e\xe9\x5e\xbc\x7e\xcd\xf2\xa6\x57\xe6\xd4\x4d\x2a\xc3\x38\x12\x0f\x00\x98\x78\x5b\x29\x15\x67\x67\xaa\x13\xcf\xed\x98\x44\x85\xeb\xa2\x25\xae\x78\xa8\xc4\x6a\xed\x9d\x64\x0b\xa6\x02\x3e\xab\xa3\x18\x1f\xaf\xeb\x62\x2c\x0a\x21\x05\x25\x50\x12\xb5\xa2\xd9\xe8\x64\x84\xe2\x32\x11\x65\x58\x92\x51\xc4\x54\x92\x90\x15\x32\xac\x8f\xd2\x52\x81\x0e\x58\x91\x15\x16\x98\x10\x25\x33\x7a\x27\x07\x11\x26\x4b\xe9\xe3\xbb\x28\xb5\x92\xbc\xac\xe8\x77\x19\xbd\x49\x2b\x24\x03\xa4\x94\x3d\x2a\x82\xa0\xe2\x64\x8c\x9d\xd9\x2b\xb7\x5e\x18\x75\x3c\xf6\xfe\xf9\x2d\xee\x90\xf6\x2b\xed\x6a\x98\xdb\x9f\xbc\xe2\xe2\xcd\x72\x9c\x74\x2d\xdd\xb0\xe5\xe2\x91\x10\x24\x88\x37\x7f\xfb\xcb\x39\xe5\xab\xae\x1c\xfd\x14\x00\xf0\xf4\xbd\x5f\xf4\x4d\xdf\xb1\x6e\xc2\xa6\x49\xcd\x8e\xfd\xc4\x2e\x30\x0b\x5d\x53\xce\x9d\x50\xc2\x63\x33\x11\x9b\x3a\xb1\xbb\x39\x53\x19\xb0\x6c\x3a\xc6\x0e\x8b\xe9\x77\xd2\xee\xa9\x73\x76\x4e\xb5\x5e\x8d\xaf\xa8\x6b\x5d\xc4\xb0\x5b\xfe\x32\x6f\xde\x0d\x83\xdd\xac\x1d\xa8\xdf\xbf\x76\x47\xc7\x67\xd7\x7c\xdc\x1c\xfc\xf8\xdd\x29\xef\x10\x67\x00\x5c\xbe\x9b\xbf\xe7\x77\xde\x09\xd9\x66\xb7\x16\xf9\xc7\x03\x60\x2b\x69\x6f\xe8\xf1\x67\x2a\x28\x0f\x45\x91\x04\x45\x33\x14\x7e\xfe\x44\x78\x8c\xc5\xfa\x6b\x45\x83\xba\xfd\x91\x20\x6a\x20\x41\x66\xd2\xa9\x64\x80\x28\xf8\x5e\x41\xd4\xa0\x67\x32\x50\x73\xa4\x02\x47\x6f\x82\x18\x5b\x47\x69\xc5\x05\xe2\x2d\xda\x60\x9a\x2d\xa0\xcf\xe9\x5a\x51\x36\x95\x24\x45\x97\x5b\x60\x44\xf2\x2a\xa5\x71\xee\xd4\xba\x65\x01\x7f\x85\xcb\x71\x59\x65\x77\x59\xac\xca\x5b\xd3\xb0\xfa\xbe\xa1\xee\xdc\xaa\x2e\xb9\x77\x76\xf3\xae\xf9\x62\xa8\xbf\x23\x35\xa3\xae\x22\x59\x9a\x4c\xfd\xfb\xee\x9e\xef\xae\xea\x84\x95\x7f\xb9\x65\xfb\xb2\xa9\x3d\x97\x6a\x07\x9f\x5c\xe5\xec\x2f\x66\x80\xd2\x33\xf0\x46\xf2\xa4\x6c\x95\xc7\xea\x61\x18\xa7\xd3\xcb\x4d\xf5\x84\x23\x9e\xf6\x6a\x75\x5e\x22\xd8\xb6\xaa\xa7\x65\x41\x73\x9c\x8d\x89\xac\x50\xa6\xa4\x42\xd5\xd5\xa1\xe6\xea\x85\x3b\xe2\x13\xcf\xbe\xec\x96\xbf\xf4\x3b\x57\x3d\x09\xd4\xa5\x3d\x53\x97\x6d\x2f\x64\xb4\x83\x7a\xc6\xb0\xcf\xab\x0e\xe5\xc8\xff\x33\x62\x59\xda\x50\xb7\x11\x71\x35\xb6\x1e\xa2\x1a\xf8\xe4\x49\x83\xa6\x58\x1e\xb7\xca\x99\x55\x69\x0b\x30\x2c\x69\x38\xf8\x02\x0b\xca\x11\xf8\x54\x22\xeb\x05\xe2\x1f\x71\xca\xef\xce\xd7\x4b\x41\x1a\xa2\x52\x20\xfc\xb1\x18\x20\x3c\x76\x32\xe8\xd6\xfe\x58\x2a\xcb\xa5\x30\xdf\x15\x79\xd7\x31\xb5\x95\xa4\x69\xd1\x97\x0c\x6b\x9f\xda\xcd\x26\x6d\x50\xec\xb1\xa9\x7d\x03\xc4\x86\xc5\xed\xe2\xcd\x64\xeb\x54\x72\xda\xd3\x52\x24\x22\x1c\x7c\x90\xa1\x61\xc8\xeb\x28\x75\x6c\x6f\x71\xcb\x72\x69\x45\x69\xdc\xf7\x51\x8f\x76\xae\xf6\x4b\x4e\x74\x57\x89\x82\xc5\xac\xf9\x4a\x18\xb3\xd8\x47\x6d\x57\x17\xaf\x58\x31\xfa\x3e\x07\x0d\xb0\x03\x1d\x33\xef\x50\xb0\x54\x8e\xf3\xd4\xfc\x06\x8c\xd3\x11\x17\xab\x19\x3a\x33\xec\x2b\xae\xd8\x1e\xce\x0d\xcb\xde\x03\xc6\x92\x0c\x95\xf3\xca\x23\xa4\xb1\xde\x3b\x8a\x0c\x62\x72\x6c\xac\xe4\x1a\xeb\xb9\x04\x7b\xe4\x22\xf9\x30\x17\x22\x85\xa8\x7d\x06\xff\x63\x61\x15\x4a\x21\xa2\x6e\x5e\x34\xfc\x98\x8e\x22\x67\x49\xab\x7c\x26\x4a\x14\xd9\xda\x8c\xd8\x6f\x09\x0e\x43\xba\x51\xa8\xbe\x2c\x55\xfa\xb7\xea\xcf\xcd\xb2\x77\xa4\x33\x31\x9c\xe8\x1c\xf1\xca\xe6\xcf\xab\xff\x56\x9a\x2a\xab\x77\x02\xea\x59\x0a\xb9\xa5\x3d\x80\x9c\xda\xd0\x8e\x9f\xee\xd8\xf1\x53\xd8\x57\x56\x5f\x09\xb3\xce\xd7\x4e\x73\xb8\xbc\xb2\xf6\x49\xa2\xb3\x33\x01\x4e\xd9\xeb\x72\xc0\x0d\xe7\x6b\xf7\x56\xd6\x97\x95\x7a\x20\xb7\x72\xa5\x96\xf3\x10\x43\xfa\x0d\x3b\x0a\x65\x25\xf5\xb2\xc6\x0d\x4f\xdc\xa2\xb2\x1b\xfd\x8a\x7d\xa1\xce\x0e\xe3\xb3\xa1\xfa\xfe\xfa\xf6\xce\x85\x9d\xc6\x5f\x7d\x7f\xfd\xea\x7e\x9c\xeb\x5f\xad\xed\x33\x4a\x43\xb4\x6b\x05\x9e\xbc\xa1\xd1\xd5\x46\x49\x5e\xd1\x6a\xf5\x3d\x71\x99\x66\x60\xfc\xc1\x70\xff\xea\xd5\xf0\xe2\x91\x72\x14\xde\xa3\x1b\x85\x11\x8a\x43\x2b\xc8\x8a\x3c\xc6\x6a\x87\x19\x16\x44\x29\x36\x7e\x82\x87\x82\x41\x27\x57\x5a\x53\x36\xbb\xc5\x13\x6b\x6e\x8a\x79\x5a\x66\x97\x27\x4a\x39\x27\x39\xf7\x98\x0e\xe6\x7d\x78\x43\xec\x1d\x0a\x7a\x21\xe2\x2f\x2b\xf3\x47\xc0\x1b\x1c\xea\x15\x77\x9e\xa0\x8f\xa8\x3a\x84\xe8\xdf\x51\x87\x90\x03\xf5\x20\x84\x0a\x84\x6d\x42\x00\x27\x5b\x21\x4e\x33\x06\x38\x94\x12\x37\x62\xac\x29\xc3\x2d\x38\x2e\x2b\x72\x1b\xe8\x7a\xa6\x1a\x37\x7c\x84\x29\xd5\x20\x9b\x37\x30\x7c\x28\xc3\x11\x57\x12\xa9\x91\x05\x37\xbc\xf6\xfe\x6b\x37\x2c\x28\xec\x60\x15\xe9\xd4\xde\xb4\x3b\x58\xed\xcd\x87\x2c\x21\xcb\x43\xda\x9b\xac\xc3\xae\xbd\xe9\x24\x29\xf3\x43\x0f\x99\x29\xd2\x09\x31\xbb\x83\x85\xd8\x43\xe6\x88\xf9\x21\x88\xb1\x0e\x3b\xc4\x8a\x27\xb1\xf5\xc8\x63\x16\x2c\xb8\x21\xe3\xa0\x86\xb4\x97\x9c\x16\x0b\x3d\xf8\x85\xdd\xfe\xc5\x20\x6d\xb1\x38\x21\x39\x44\x39\x38\xdb\x17\x5f\xd8\x9d\x0e\x6a\x08\x92\x85\xb3\x36\x5b\xe1\xac\xf6\xd2\x10\xe5\x70\xda\xbf\xf8\xc2\x56\xb4\xfd\x9e\xa2\xce\x43\x2e\x54\x87\x50\x5c\xef\xd7\xf4\x6e\x8d\x36\x7a\xc0\x54\x32\x16\xa7\xc9\x62\x57\xe7\xca\xc6\x0c\x4d\x99\x05\xb7\x41\xaa\x6d\x68\xe2\xe4\x47\xd9\xfa\x47\xb4\x17\x1e\x5a\xf6\xab\x43\x4b\xee\xfd\x70\xfb\x65\x40\x80\x3c\xa8\x5d\xb0\xef\x46\x6d\xff\x4b\x9b\xd6\x3d\x0b\xae\xeb\xaa\x38\x57\x78\xf6\x82\x5d\x07\xae\x3c\xe7\xcc\xf2\x20\xcb\xbc\x67\x7e\x08\xb2\x8f\x8c\xdc\xd1\xac\xfd\xe8\xf5\xed\x1f\xde\xbb\x64\xf3\x33\xff\xf7\xaf\x4d\x2f\x81\xff\xc6\xeb\x40\xfa\xf5\xb9\x34\x2e\x2f\x0f\x4e\x7b\x79\xdd\x95\x07\x76\xa5\x5c\x41\xb6\xac\x80\x6d\x46\x8f\x14\xd7\xb4\x2b\x8b\x1e\x8c\xc6\x72\x7e\xf8\x38\x3f\xfe\xe3\x62\x5b\xda\xc7\xa1\x69\xe0\x25\xe3\xbf\xe0\x76\xd9\x7b\xc0\x38\x43\x23\xaf\x8c\xef\x2c\xc0\xff\xa1\x51\x03\xe9\xc3\x58\x85\x85\x3b\x8f\xe0\x70\x18\x38\x1e\xa1\x43\xc3\xf4\x10\x35\x82\x3a\xd1\x64\x23\x12\xaf\x12\x04\x46\x12\x05\xa3\x19\xb0\x64\x94\x8b\x72\x91\x04\xae\x19\xa3\x5e\x6c\x83\x22\xe9\x43\x13\x70\x8a\xfe\x7d\x04\x0d\x84\xa0\x22\x40\x10\x84\xd3\xd9\x90\x48\x0f\xc9\xde\x7d\x5d\xaf\xf0\xbc\x2b\xeb\x7a\x8e\x12\xda\x3b\x4f\xae\xcd\xa5\x4e\xeb\x69\x62\x1d\x8f\x0a\x7e\x0f\xcf\x13\xdc\x0b\x8d\x05\xb8\x8f\x3d\xbc\x9c\xe6\xf7\x10\x7d\x7b\xf8\xb4\xcc\xef\xd9\xe7\xd5\x26\xe6\x73\x8f\x83\xe5\x71\x3c\x3f\x2d\xdf\xbb\xfe\x37\x7c\x9a\xe7\xf9\x67\x29\x67\x79\xc8\x4b\xe4\x46\x73\x3e\x45\xb1\xb3\x2f\xbb\x9d\xae\x8c\xf0\xb7\xb5\xc3\xba\x60\x72\xe1\xc6\xc2\x63\xb4\x3f\x62\x74\xc1\xe3\x8f\x23\x04\x87\x0e\x21\x60\xce\x25\x27\xa1\x0b\x0c\x9f\x41\x9a\x61\x71\x00\x1b\x40\x1a\x01\xcc\x42\x94\xa2\xe5\x1a\x48\x10\x0c\x4b\x4a\x82\x41\x81\x11\xa5\x75\x09\x13\x04\x56\x0c\xb4\xad\x54\x3c\x00\xfa\x18\xa9\x6f\x03\x44\x52\x6d\x25\x0d\xec\x08\xc3\xe0\xd2\x5b\x8a\x14\x20\x04\x03\x0f\xc6\x98\x15\x6f\xc5\x6a\xb6\xb0\xfe\x81\xa5\x78\x56\x94\x98\x73\xa5\x3d\x9e\xf2\xb2\x40\x90\xe1\x13\x11\x12\x2e\x49\x12\x0c\x63\xaa\x90\x0f\x21\x4f\xbb\x20\x04\xfa\x1b\x3a\x3c\x84\xc5\xc3\x3b\x80\x21\x49\x57\x74\xdd\xa4\xab\xd7\x2c\xf2\x94\x58\xa2\xa7\x2f\xbb\xa4\x99\x26\x48\x47\x05\xb8\x6c\x22\x45\x39\x4d\x42\xda\xe1\x2c\xcd\x56\x96\xf9\xed\x98\x76\x99\x2d\x14\x66\x19\xba\xa4\xd9\xee\x72\x8a\x99\x9f\x0e\x64\x04\x1f\xcb\x60\x02\x03\xcd\xb1\x26\x57\xa4\xa2\x35\xde\x5c\x43\xda\x28\x12\xd3\x82\x05\x42\x4a\x92\x26\xbe\x68\x7f\x37\x94\x49\x55\x34\xf8\x2a\xaa\x82\x18\xef\x98\x4f\x39\xe4\x40\x09\x49\x09\x36\x9b\x7b\xf6\x84\x1a\x13\x50\x9e\xe8\x84\x4a\x47\x09\x4d\xf1\x04\x59\xde\xd1\xe5\xf1\x58\xca\x76\x0e\x03\x7d\x89\x53\xa4\x68\x1e\x63\x33\x49\x58\xdd\xc9\x95\xfe\xd2\xe6\xb9\x75\x7e\x0a\x4c\xb1\xc6\x65\x3d\x65\x9d\x76\x5b\xc4\x8c\x45\xde\xea\xc5\x60\xa3\xb8\x60\xb8\x31\x3d\x4f\xb6\xb6\x46\x6a\x82\x66\x4c\x7a\x2b\x17\xb4\x2e\xdb\x68\x71\x10\x04\x10\x04\x60\xca\x61\x36\xb8\x82\xef\xa1\x3f\xa7\xa6\x20\x8b\xd1\xe3\xd5\xa0\x59\x68\x39\x3a\x0f\xa1\xf8\x61\x9b\x58\x1f\x8d\x8d\xa4\x24\x66\xa5\x31\xbc\x4f\x29\x00\xf1\x04\xc4\x18\x9a\xd4\x3f\x44\x35\x1b\x8b\x0b\xac\xde\x2b\x26\x20\x93\x76\xa9\xd9\x98\x6e\x0e\x06\x20\x6b\xe0\xa2\xe9\x9f\xad\x61\x5a\xe2\x00\x14\x01\x43\xb3\x32\x43\x17\x4c\xca\xb8\x71\xcc\x38\xa4\x24\x40\x37\xd9\x75\x13\x1d\xdf\xee\x16\xa2\x91\x69\x6e\xd1\xd5\x3d\xe3\x2c\x93\xd9\xce\x96\x32\x5c\x80\x0d\x3c\x5c\xfd\xd7\x55\x2b\x67\xd4\xd4\xfc\x66\xc5\xaa\xc5\x60\x35\x0f\x6b\x87\x76\xbd\xad\xfd\x89\x35\x0f\x03\xec\x7a\x1b\xe2\x20\xf7\x5e\xf6\x73\x2d\xaf\xbd\xab\xfd\xfb\xb5\xed\xdf\xcf\xdd\x0d\xf3\x7a\x3b\xaa\x49\x9a\x75\xd0\xf4\xf7\x7f\x9f\xa8\xae\xc6\x14\x6b\xb1\x35\x2c\xec\x3e\x6b\x66\x09\x6f\xaa\x94\x24\x91\x11\xe6\xb6\x79\x2a\x48\xca\xeb\x69\x86\x59\x73\x52\x8a\x39\x99\xf5\x9a\xfc\xb1\xd6\xd6\xfb\xe6\xf8\x6b\x6d\x41\xff\xe6\xcf\x46\x23\x13\x1d\xac\x37\x1c\x99\x10\xf2\xdd\x60\xf7\x51\x94\xd5\x1e\x64\x29\xeb\xe0\x92\xa1\x58\x64\xef\xe2\x45\x0b\x7d\xa5\x0f\x37\x0f\x5d\x39\x91\x95\x3e\xdc\x55\xd8\xed\xec\xbe\x74\xc7\xb2\xd6\xae\xf5\x8f\x9e\xbe\x0e\xc8\xdc\xdd\xdf\xed\x6d\xbf\x9c\xb5\x61\x02\xe3\xa6\x96\xb6\x75\x76\xd6\x4a\x92\xae\xc6\xe5\x78\xf1\xe0\xe6\x7a\x49\x64\x4c\x95\x52\xdb\x90\x9d\xf2\x7a\x3c\xe5\x94\x7d\xfa\x50\x7e\x9d\xcf\xeb\x4a\xfa\x06\x1e\xea\x9e\x90\x71\xd1\xc1\xfa\x1a\xda\x3b\x65\xbc\x6e\xb1\x16\x99\x11\x8f\x4a\x11\x32\xf8\x6d\x5b\x41\x0d\x00\x70\x02\x66\x64\x2e\xed\x8a\x81\x93\x91\x71\x86\x13\x49\x17\x79\xc6\xbd\xcf\xfe\xe2\xde\x8b\x9f\x89\x44\x9f\xd1\x6e\xc8\xff\xfa\xe1\xbb\x20\x46\x66\x1e\xfe\x75\xfe\x41\x88\xdd\x15\x19\x1c\x9c\xf3\xc5\x65\x97\x7d\x41\xb5\x68\xbe\x51\xed\x3b\xa7\xbc\x0e\x9e\xc7\x61\xc2\xef\xf3\x15\xda\x3f\x5e\x3f\x05\x6e\x19\x85\x77\x02\xbf\xd7\x1e\x2f\x62\x3d\x23\x6a\x13\x8d\xd0\x4a\x84\x80\x25\x74\x55\x95\x46\x8c\x81\xf2\x91\x8d\xa9\x2c\x4e\x10\x4a\x2b\x04\xb0\x94\xd5\xd3\x94\x9e\xa6\x82\x90\xcd\x24\xa8\xac\x1a\x20\x59\xec\x00\x51\x60\x5a\x29\x51\x62\xf5\x0f\x99\xd6\x93\xd4\xa6\xd0\xdc\xc1\x65\xa7\x0c\x4e\x6f\x76\x72\x6b\xb4\x5b\x5e\xe1\xbd\x5e\x7e\x0f\x54\x2e\x89\x4d\x1e\x9c\x7b\xf2\xec\x93\xc2\x6b\x9f\xff\xde\xda\xb6\x92\x8c\x97\x11\x27\x75\x2f\x1e\x98\xdd\x5e\x4d\x4f\x3c\xef\xe4\xd9\x2d\xa9\xb0\x48\x91\x36\x93\x6f\x52\x7d\x9a\x95\x53\x3d\x67\x34\xc7\x28\x5a\x70\x99\x18\x00\x82\xad\xc9\xce\x5d\xbc\xad\x1b\x2b\x2d\xd3\x66\xcd\xec\x6b\xe2\x38\x29\x49\x7b\xa6\xf4\xaf\x3f\x6b\x27\xfc\xa4\xff\xac\x96\x10\xc1\x06\x4a\x2c\x96\xfd\xda\x97\xe0\x95\x4b\xe0\xb5\x27\x58\x97\xc9\x5e\xd5\xbb\xf5\xa4\x1a\x21\x3a\xad\xaf\x6a\xc7\x30\x10\x98\xe0\x4a\xeb\x7b\xd7\x4d\xf4\x73\x7c\x79\x53\x5b\x5b\x9d\xc3\xb9\xa9\x87\x16\x26\xf4\xae\x5e\x73\x49\x77\x49\x4f\xff\xfc\xb9\x27\x4d\xcc\x3a\x1c\xe4\x42\x2f\x23\xb5\x65\x1a\x83\x58\x9a\x76\xde\x40\x4b\xc0\x05\x04\x41\x5c\x71\x21\x23\x35\x25\x64\x5c\x87\x48\xe4\x3e\x84\xc8\x7f\x52\xc8\xf0\x24\x17\x8c\xf8\x2a\x43\xc3\x82\x82\xcf\x3e\xb8\xc3\x9c\xfe\x17\x77\x8f\x31\x32\x91\xff\x5c\x37\xa3\x41\x1b\xcd\x7f\x3c\x63\x1d\xf9\xfb\x83\x15\x63\x7f\xeb\x66\x10\xd3\x66\xac\x03\x5f\xe7\xac\xf5\xda\xbf\xc0\xbe\x7e\x56\x27\x4c\x3c\x84\x0e\xc1\xe4\x43\xe8\xd0\x0f\xba\xba\x66\xae\x5f\x3f\x4e\xcf\x2c\x41\x71\x7d\xd4\x44\x5f\x49\x63\x2a\x7e\x45\x70\x17\x99\x2b\x12\x99\x8e\x91\x6c\x16\x88\x4c\xef\xfe\xba\x40\x2f\xbc\xf3\x04\x7c\xa6\xf7\x7e\x5d\xc0\xd7\x51\x3a\x71\xb1\xac\x47\xb3\xb1\x8e\x27\x63\x75\x7d\x65\x59\x79\xbb\x36\xac\x17\xf0\x08\x15\x2b\x0c\xd9\xf9\xe1\xaf\x2d\xec\xbe\x62\x11\xa1\xcd\xec\x1f\x63\x64\xd5\x0e\x7d\x6d\x69\x8f\xd3\xdf\x0b\x73\xa6\x47\x8a\x79\xac\xfe\x7e\xdc\x6a\x03\x92\xbd\x02\x57\x08\x3b\xe3\x04\xaf\x0c\xe8\x6b\x02\xd4\x46\xf2\x39\xaf\x6c\x2b\x86\x8d\xd9\xe4\xd1\xe7\xbe\x45\x3c\x18\x83\x78\x14\x3c\x12\x87\xef\xfa\x0a\xc6\x80\xe2\x7a\x6e\xc5\xd7\xf1\x06\x14\xa3\xeb\x21\xf4\xb5\xf4\x01\x45\x1f\xf7\x45\xd4\x3e\xe4\x46\x59\x84\x40\x32\xd4\x31\x5d\x1b\x53\x25\x7d\x6c\x45\x29\x5d\x29\x95\x8c\xde\x88\x28\x00\x89\xa9\x06\xb9\xa8\x5b\xa0\x15\x3e\xec\x0e\x4b\xe1\xa4\xc4\x13\x87\x96\x34\x6a\xaf\x3c\x7e\xa3\xf6\xf9\x0d\xbf\xb9\x87\xdb\xb4\x0b\x98\xbd\x5b\x5f\x3b\x1b\xfb\x1a\x0f\x21\xbb\xb3\x8c\xfb\x58\x2b\xf3\xc4\x89\x21\x6c\x62\x67\x67\x3b\x07\x97\x75\xc7\xe1\x2e\x6d\xb9\x13\x7e\x59\xc6\xed\x87\x45\xbf\x7e\xf0\xcf\x37\x80\xf9\xc6\x87\xa1\xa2\x75\x47\xf6\xed\x0b\xf6\x6a\x5f\x6e\x7f\xcb\xbb\x36\xc7\x44\xe1\xad\xb0\x87\xb0\x72\x25\xa9\xb6\xc1\xce\x09\xdf\x61\xb4\xb7\x73\xb9\xa8\xd6\x70\x02\x5e\x9f\xac\x22\x13\xd9\x54\x92\x61\xc1\x70\xa7\x94\x0b\x53\xba\x52\x21\x36\x4b\x12\x53\x49\xde\x75\x9c\x77\xa2\xcd\x72\xef\xdf\x67\x54\xc9\xb3\xac\xe4\x0f\xa2\x95\x8a\x3d\x14\xd8\xde\xb4\xdc\x77\xba\x2f\xdd\x67\x6d\x48\x3a\x9a\x1d\xdd\x43\x37\xfd\xf5\xcd\x03\x47\xbd\xcf\xed\x7f\xa0\x4d\xda\xbf\xf8\xa1\x86\x37\xef\xce\xfe\xea\x49\x1b\xb3\xc8\x33\xe4\xe9\x4a\x3f\xa8\xfe\x49\x7d\x10\x64\xf0\xc1\x79\x47\xad\xa0\xc1\x61\x1e\x0c\xdd\xfe\x15\x30\x59\x30\xc3\x0e\x3b\x18\xb5\x41\x66\x7c\x7a\x2c\x0c\x2b\x9e\x15\x4b\x41\x60\x28\xf7\x58\x82\xcb\xa2\xe2\x49\x32\xf7\xa4\xf6\xc4\xcf\x86\x59\xd7\xeb\x04\x6d\x31\xdb\xa5\xf7\xc6\xf6\x2e\x76\x98\x75\xc1\x7a\x87\x57\xd2\xd6\x17\x77\x4f\x00\x69\x1c\xc5\x23\x3f\xd3\x9e\x78\xd2\xc5\xe2\x53\x3a\x81\xb6\x38\x73\x92\x69\xd2\xa2\xc3\xa9\x03\xba\x55\xf9\xf0\x59\x94\xa0\xe7\x36\x2e\x1a\x4b\x68\x25\x76\x10\x9e\x62\x5d\xae\x71\xb1\xdf\xd1\x22\xfa\xb4\xbb\x18\x66\x54\x10\xe6\x70\x67\x74\x78\x55\xec\x5b\xc6\x83\x6b\x05\x56\x4b\x6d\xd8\x30\x7e\x87\x0a\x31\x28\x43\xdf\x18\x1d\x7e\xdc\xf5\xc6\x93\xbe\x2e\x5a\xbc\x18\x17\x6b\xca\x51\x08\x29\x06\xe3\x5f\x7f\x61\xf5\x2d\x53\x30\x82\x13\x50\xa0\x35\xce\x36\x41\x26\x95\x94\xc2\x86\x06\x63\xb8\xa2\x02\xa3\x8a\x02\x23\x65\xd3\x0a\x84\x69\x26\x42\x3b\x00\x58\xa8\x04\x22\x95\x24\xa2\x7c\x2a\x29\x4a\x10\x20\x53\x54\x58\xc6\xa7\x9f\x79\x73\xae\xdd\xce\x33\x8d\x53\xa7\x36\x32\xbc\xbd\x3d\x77\xf3\x99\xe4\xbc\x8a\x6d\xce\x79\x9b\xaa\xab\x37\xcd\x73\x6e\xab\xa0\x33\x99\x19\xdd\xdd\x07\x67\x11\x9f\xbf\xf1\x71\xc3\x6a\x9f\x5f\xdb\xe7\x9d\x57\x3d\xb4\xa8\xf4\xa6\x9b\x4a\x17\x0d\x25\xe6\x7a\x21\x44\xb2\x35\xc9\x9e\x18\x3c\x3f\x6a\x3e\x0b\x86\xdb\xdb\x6b\xc2\x9e\x12\xcc\x79\x38\x5c\xe2\x09\xd7\xb4\xb7\x33\x22\xe1\x48\x55\xc5\xaa\x52\x0e\x42\x64\x46\x63\xab\x63\x81\xda\x2b\x6b\xb5\xdf\xcb\x15\xb5\x1e\x8f\xb6\xcf\x2b\xc3\x2b\xb0\x0f\x5e\x91\xbd\xda\x3e\xd2\x1e\x2e\x71\xf7\xb7\x17\xbf\x8f\x1c\x8d\xd0\x80\xe1\x9f\xac\x7f\xac\xba\x85\x58\x58\x45\xaa\x01\xea\x48\x72\x8c\xa0\xa1\x0d\x88\x23\x49\xa5\xe8\xc6\x1a\x84\xf8\x91\x64\x11\xde\x8e\x76\x00\xaf\x66\x21\x4e\x50\xd4\xc7\xad\x27\x2d\xba\xaf\x9e\x99\xd9\x54\x33\xd5\xa1\x6a\x2f\xa8\xa6\x99\xcd\x35\x7d\x0e\xf5\xba\x52\x77\xcb\x0c\xb5\xea\xc6\xe5\x37\x7a\xc5\xe6\x01\xb5\xea\xa6\x4c\xe1\x44\x16\xb2\x59\xd3\x2c\xfd\xe2\xcc\x6d\x6e\xb1\x79\x56\x73\xd5\x4d\xcb\x77\x7b\x46\x47\x21\xbb\x5c\x7b\x01\x7f\x31\xa3\xe5\x3b\xe1\xa6\xbb\xdc\xde\xa6\xd9\xd9\xea\x3b\x56\xec\xf6\x48\x7a\xe2\xf6\x8c\xb9\xbf\xa5\xa6\xcf\x91\x81\x86\xac\x69\x86\xfe\x94\xcc\x2d\x1e\xa9\x79\x56\xb6\x7a\x78\xf9\xb0\x7e\x89\x5a\x75\xab\x4a\x4f\x6f\xaa\xee\x71\x64\xb5\x5f\xd4\x9b\xb4\x03\xcb\xa1\x69\xe5\xb1\x73\x35\xe5\x86\x27\xd5\x31\x3e\x22\xc0\x15\x89\xec\x1b\xa0\x48\x65\xaf\x14\x5b\xec\x58\x03\x2e\xe2\x65\xd0\xc9\x56\x4a\x8d\xb7\xc2\x78\x27\x12\x62\x5f\x30\x1c\x79\x36\x73\x72\x67\xe7\xc9\x35\x4f\xd5\xd8\x2a\x2c\xf5\x65\x44\x7b\x59\xbd\x5a\x3e\x3a\x52\x56\xdf\x12\xaf\x79\x58\x21\xfc\xac\x9f\xf7\xb8\x05\xb7\x87\xf7\xb3\x7e\x02\xac\xd1\xb6\xa3\x7d\x4d\x0e\xee\x83\x87\xa2\x82\xb8\x35\x36\x61\x42\x68\x63\xc8\x24\x9b\xb4\xbe\xb2\xfa\x7a\x7c\x5a\x79\x63\x7d\x59\x7c\x7a\x49\x68\xad\x17\xf3\x66\xce\x6c\xa1\x28\x8b\x99\x33\xf3\xf8\x47\xd2\x74\x34\xb6\x96\x68\xc4\x1e\x50\xa8\x0d\x4d\x42\x33\xd0\x77\xd0\x1a\x84\xf8\xb4\x0a\x32\x36\x10\x32\x09\x63\xe9\x47\x76\x14\xe6\x34\x74\xdb\x89\x3f\x7c\x28\x22\x47\xb3\xb1\x54\x92\x94\x0a\x21\x9e\xb4\x24\x52\xbc\x28\x19\x63\xa0\xe8\x16\x30\xc3\x67\x33\x69\x14\x22\x45\x97\x13\xd3\x64\x28\x26\x63\xa7\x2b\x8b\x42\xb1\xac\xcb\x89\xe5\x58\x88\xa4\xb1\xd3\x25\x9e\xd7\x05\xab\x7e\xf1\x11\x65\xa2\x1c\x26\x1f\xd9\xa7\xbd\x9f\xa8\xe0\x59\x9e\x7f\x71\xca\x79\x36\x8e\x26\x1c\xb6\xfe\x0d\x3f\xd4\xfe\x51\x3c\xc6\x84\x2c\xcb\xe1\xa4\xe7\xae\x00\xeb\x72\x8b\xda\x4b\x92\x36\xda\xc5\x88\x44\x9b\x46\x7f\x08\xe4\xd6\x6d\xab\x97\x13\x9b\x17\xbf\xf2\xe3\x7f\x36\x8d\xde\x06\xa7\x43\xdf\x27\x3b\x77\x7e\xa2\x3d\xa4\x5d\xa9\x3d\xa4\xa7\x60\x16\xcc\x87\x96\x77\x2e\xbc\xf0\x1d\xed\x19\xed\x4e\xed\x19\x3d\x85\x73\xb7\x5f\x3d\xca\x2f\x86\xb3\xc0\xc4\x2b\xcd\xfe\xf9\xf6\x43\x88\x68\x24\x28\x1c\x2e\x05\x0b\x98\xc1\xe6\xe2\x59\x30\x69\x8f\x69\x26\xa2\x7d\xec\xe8\xf0\xe3\x2b\x86\x66\xa8\x36\x0f\xef\x73\x04\x6c\x31\x6a\xe5\xab\xf9\x8d\x34\x55\x15\x22\x07\x7e\xf4\xcc\x6f\xb4\x5b\x96\xe0\x3b\xef\x5e\x59\x81\xd3\x47\xfd\x70\x9f\x51\x98\x2f\x1f\xbd\xf0\x1d\x68\x39\xa6\x0c\x87\xb9\xa0\xf4\xfa\x77\x21\x9f\xae\x41\x50\x72\x4c\xff\x46\x62\xaa\x9b\x26\xdd\x02\x29\x71\xc0\xc7\x55\x59\xc9\x90\x12\xd9\xaa\x7d\xb2\x5f\xfb\xc1\xef\x7f\x05\x8b\xde\x78\x43\x7b\x0f\x32\xef\x13\x7b\xe2\xf9\x7f\x5d\xb1\xfe\x56\x70\xff\x9a\x46\x07\x50\x4e\xd8\x9d\xdf\xf5\x83\xcf\x77\x7b\xef\x93\xf7\x5d\x7a\xed\xbb\x01\xaa\x5f\x6b\xd3\x36\xad\x3d\x69\x62\xe9\x7d\xe1\x2d\x63\x3e\xe6\x06\xef\x94\x0d\xc9\xa8\x16\x21\x33\xb8\xa3\xc5\x26\x1c\xcd\x40\x98\x4b\x71\xe3\xfe\x8e\x60\xc7\x51\x63\xc9\x14\x31\x42\x8c\xe4\xca\xfd\x07\x2c\xfe\xf2\x1c\x20\x40\xb9\xb1\x7f\x4d\xfe\xf2\x2f\x73\xe5\xfe\x26\xba\xc9\x5f\xfe\x45\xae\xdc\x4f\x23\x2d\x57\x40\x00\x39\x84\xf2\x88\x18\xf7\x57\x80\x27\x1d\x91\xbd\xfa\xf9\xa2\xfc\xe6\x42\xec\xba\xae\x2f\xf0\xa2\xd1\x50\x54\x9e\x12\x93\x6a\x91\x6f\x2b\xce\x02\x23\xba\x05\x86\x2f\xfa\x78\xca\x2a\xaf\x77\xb6\x59\x35\x3e\xc6\xeb\x45\x7f\xe4\x22\xef\xd3\x7e\xaf\xed\xd6\x7e\x7f\x1f\xe9\xc2\xad\x62\x5a\x24\xfb\xc5\x83\xc3\xa4\x8d\xcc\x9f\x55\x59\x4f\xb7\x35\x36\x62\x8b\xd9\x31\xe2\x30\x5b\x70\x63\x63\x87\x75\x8e\xf6\xa0\x28\x92\x43\xa4\x8d\x24\x87\xf0\x13\xda\x2f\x26\x9c\x33\x61\xc2\x39\x13\xa0\xf9\x61\x86\xc1\xce\x84\x49\x1b\x06\x78\x29\x72\xc3\x69\xb1\x9e\x09\xb2\x36\x9d\xb5\x5a\xad\x56\x16\x7e\x22\x4f\xe8\x91\x5f\xde\xbc\xcc\x94\x30\xc1\x10\x80\x36\x8c\x00\x9d\x71\x28\x47\x5d\x51\xf0\x69\x01\x5e\x8e\x46\x18\x5e\x46\x58\x11\x53\x49\x35\x00\x2e\xa9\x95\x50\xf5\x64\x1d\x4b\x30\x34\xb1\xc0\xde\x5a\x59\xde\x6e\x2f\xd3\x0e\xdd\xbf\xa8\x31\x59\xd5\xd5\x76\xc9\xcf\x2b\xe2\x97\xcf\xdf\x50\x93\xcd\xd4\x37\xfa\xdb\xa3\xd3\x2c\xbb\x70\x57\xbe\xc5\x6a\xc5\xcf\x4c\x80\x67\xa1\xec\xfb\x0e\xc7\xaa\x0f\xb5\x5f\x4c\x68\x79\xef\x8a\x17\xe7\xb0\xac\x72\x4a\xe3\x77\xb9\x2f\x8a\x9c\x38\xd4\x5f\x8c\x31\x14\x41\x58\xff\xca\x0a\xf3\x5d\x4e\x57\x36\x96\x0a\x49\x8c\x1c\x8d\x18\x4a\x5e\x2a\xd9\x4a\xa8\x61\x02\xe1\xd7\x6c\x8f\x68\x3f\xfe\xe3\x4d\xda\xfe\x97\x36\x6e\x7c\x09\xfc\x37\x41\xd5\xeb\xbf\xd9\xfc\xe8\xb6\x3f\xe5\x72\x7f\xda\x36\x67\xd7\xe0\xc4\x30\xad\xf5\xe1\x8f\xba\x5a\xde\xd0\xee\x1d\xd1\x2f\x80\x46\xf0\xbf\xb4\xf1\x57\xbf\x5a\xbf\xfd\x6d\xed\x8b\xb7\xb7\xd7\x4e\x5e\x38\x10\x2f\xf8\x95\x15\xfa\x09\x27\x2a\x41\x11\x34\xcd\x58\x8d\x10\x19\x3a\xa4\xc8\x86\x13\x7d\x2a\xa9\x66\x93\xb1\x22\x60\x73\x92\x2a\x6a\x9c\xa2\x9a\x96\x23\x8c\xac\xf0\x92\x20\x26\xb3\x06\xb6\xa9\x22\x33\x04\xcd\x14\x03\x3d\x24\xda\x2d\x90\xa9\x64\x2c\x93\x56\x5a\x21\x36\xae\x97\x88\x85\x48\x91\x9c\xe4\x74\xb6\x6a\x1f\xb5\x3a\x9d\xb4\x8b\xae\xdd\xb8\xa1\x8e\x76\x69\xaf\xa6\x7b\x33\x99\x5e\xf8\x59\xa6\x37\x9d\xee\xcd\x1c\x9c\x78\x6a\x6c\xfb\xc3\x6d\xcf\xeb\x07\xe3\x59\xef\x5b\x3c\x3d\xe1\xa1\x6d\xd1\x74\x72\x62\x3c\x48\x83\xe7\xd9\xe7\xc0\xc3\x04\x62\xb0\xe4\x04\xdf\x23\xac\x71\x3a\x5a\x5b\x1d\x4e\x9a\xae\xab\xa3\x7f\xd7\x9b\x4e\xc7\xe5\xf4\xfc\xb8\xfe\xcc\xf4\x40\xdd\xc4\xd8\x7c\x1a\x7c\xd5\xf1\x74\xa6\x37\x93\xac\xa3\xdc\xda\xf3\xcc\xfc\xf8\xc4\xba\x68\xa3\xc3\x57\xba\xf3\x85\x17\x76\x86\x4a\x1c\x0d\x8f\x1f\xf3\xc0\x9d\x3b\x3f\x39\x1a\x07\xcb\x61\xb0\x39\xe9\xfd\xa9\x51\x4f\x91\x62\x3d\xe9\xd5\x14\x1f\xab\x26\x91\x3a\x9c\x52\x8d\xca\x91\x15\x55\xd2\xdf\xdd\x57\x54\x55\x21\xda\x5e\x39\xde\x6f\x89\xb8\xd7\x6e\xcf\x7c\x90\xb1\xdb\x29\x27\x55\xf1\x52\x05\xe5\xd4\xb4\x44\x6b\xa2\xba\xbd\x1a\x06\x0a\xfb\xd7\x9b\x2b\x2b\x82\x6b\xae\xcf\xde\x0b\xd5\xc1\x50\x75\x75\xa8\xd6\xfd\x24\x47\x36\x5f\xbf\x2a\x50\x55\xd9\x1c\xf2\x52\x9f\xdc\x7d\xcf\x27\x74\x49\x10\x52\x47\xe1\x4f\x5c\x63\xb7\x67\x32\x76\x3b\x4d\x57\x54\xd0\x57\x07\x13\x09\xe3\xce\xe2\x7e\x52\x45\x73\x70\x1a\xf9\x2f\x25\x54\x55\xdd\x5e\x5d\x59\x41\xb9\xb4\x7f\xd3\x53\x43\xcd\x15\x81\xa4\xbd\x44\xda\xb4\x67\xcf\xa6\x12\x8f\xbd\x0e\xf6\x9f\xd8\x2e\x09\xa0\x5a\x03\x91\x59\x2d\x82\x8f\x1d\x76\x4b\x31\x04\x2c\xb8\x9c\x94\x02\x95\x29\x3a\xaa\xb4\x00\xa3\xb8\xf5\x06\x74\x94\x9b\xe4\xc9\xf3\xcf\x1a\x3e\xcb\x2f\xfb\xae\x59\x37\x30\x63\x9d\x4f\xe0\x7d\x70\xd1\xd5\xfa\x6e\x7e\xf3\x59\xb7\xad\x83\x19\xc7\xda\x2f\x7b\x7d\xad\xd3\x57\xaf\x9a\xae\xbd\x23\xf8\x7c\xc2\x86\x4d\x03\x6b\xd7\xf4\x83\x87\xf7\xfb\xf9\xec\xdb\x9b\xb6\x0a\x3e\x3f\xbf\xd9\xeb\xdf\xdc\xbf\x76\x2d\xec\x39\xd6\xaa\xd1\xfb\xa8\xdb\x99\x1c\xb5\xc8\x28\xb7\x81\x8b\x54\x28\x74\x21\xc4\xfe\x30\x79\xbd\x51\x68\x86\x0a\x8f\x9d\x91\xd4\xc2\x29\x52\x6e\x9e\xd9\x3c\xfa\x93\x07\x0e\xc2\xe4\xe6\x99\xcd\xf9\x1f\xdf\x3f\xfa\x0c\x5c\x0a\x93\x0f\x3e\xf0\x93\xd1\x1d\xcf\x34\xcf\x6c\x26\xea\xcf\xa9\x68\x6e\xae\xc8\xdf\xf8\xe3\x2f\x0e\x3e\x00\x16\xed\x40\x65\x53\x53\x25\x3e\xfd\xde\xcf\xfe\x7d\xdf\x85\x8d\xb7\x6a\xff\x7d\xe0\xe0\x97\xf7\x83\xad\xa5\x51\xfb\xac\xa2\xa9\xa9\x62\xbc\xbd\x62\x47\xa5\x08\xc5\xb9\x30\x17\x2e\xd0\xa3\x9e\x40\x3f\xa6\x46\xf2\xed\x5a\x68\xd1\x0e\x3c\x02\xfb\x16\xed\x68\x1f\xff\x7e\x87\x61\x1f\x1e\xd9\xb1\x48\x0b\xe5\xdb\x77\x90\xa5\x47\x3b\xec\x99\x10\x42\x5e\x13\x22\xdf\x45\x14\x32\x23\xbb\xc1\x4d\x56\x8a\xe2\x06\x6e\x8e\x3e\x3c\x84\x4b\x20\xca\x01\x97\xe2\x08\x77\x2a\xc3\x87\xb9\x70\x26\x9c\x09\xc7\xb9\x28\x07\xe3\xd3\x93\x7f\x9d\xff\x00\x26\x6f\x86\xeb\x5e\x7c\xf1\xc5\x01\xec\xce\xff\x13\x26\x6b\x8f\xe9\x07\xae\xc7\x42\xfe\x03\x98\xa4\xed\x85\x49\x9b\xc9\x77\x47\xcb\xf1\xde\xfc\x3f\x61\x8d\x76\x29\x76\xe7\x27\xe1\xbd\x10\xf8\xf5\xaf\xb5\xbf\x8e\x0e\xdc\x3e\xb0\xbb\x70\xf0\x70\x72\xdc\xf7\x65\x36\xb0\x51\x6b\x51\x7b\x81\x7f\xa7\x10\xf3\x31\x2e\xe5\x2c\x02\x79\x33\x9c\x9a\x11\x53\x49\x6c\xe4\xa3\x85\xcc\x71\x86\xb8\xd8\x97\xa9\xf4\xf9\x2b\x32\xda\x7f\x8a\x09\xbc\xf5\xfe\x73\x05\x5e\x52\xe7\x6c\x79\x35\xd5\x79\xee\x5d\x3f\x39\xb7\xb7\xeb\xa7\xaf\xaa\x2d\xe7\x12\xd2\x51\x4e\x94\xdd\xb9\xf9\x0e\x70\x73\x30\x23\xb7\x40\xdf\xe7\xeb\xc0\xf6\x14\x31\xad\x71\x31\x9d\x3f\xbf\xfc\x25\x1e\x2f\x07\xdb\x53\xb1\xd1\xc7\xca\x5f\xe2\xe1\x8b\xa3\xeb\xd7\x82\xca\x0f\x99\x99\x17\x69\x84\xb6\xa3\x27\xd0\x0b\xe8\x25\xf4\x26\xfa\x1b\xfa\x3b\x7a\x0f\x7d\x88\x3e\xd6\x6d\xd0\x00\x21\x05\xb0\xc4\x62\x26\x41\x45\x1d\x20\x4a\x01\x26\x08\x22\x8b\x19\xb9\x10\x40\x92\x56\x5b\xb1\x22\x1b\x26\xaa\xe1\x79\x43\x16\x94\x6d\x7d\x48\x6c\x25\x0a\x16\xb5\x34\xa6\x61\x63\xba\x88\xd2\x81\x33\x69\x55\xd1\x3b\x10\x23\x46\x4e\x52\x59\x42\x52\x13\x8c\x92\xc0\x15\x10\x8d\x30\xad\x94\x1a\xc0\x6d\xe0\x96\xb2\x6a\xab\xa9\xad\xe0\xb3\xc4\x62\x26\x00\x6e\x81\xd0\x1f\x18\x20\x0a\x9a\x9d\x2a\x31\x50\x00\xa6\x56\x5a\x71\x0a\x18\x45\x3f\xc9\xa7\x24\x06\x32\x6e\x07\xb4\x61\xf2\xb9\x29\x17\x9d\xb2\xb4\xa3\x32\xbc\xa0\x79\x42\xed\xc6\x1b\x63\x55\xcd\x3e\x25\x71\x4a\x8f\x85\x26\xcd\x74\x15\x13\xa4\x5c\x04\x0d\x00\x8c\x89\x23\xa2\xe7\x87\x94\x30\x26\x70\x93\x0a\x1e\x3e\x76\x4d\x4b\xc9\x69\xab\xfd\xb4\x5b\x0b\x04\x9d\x1e\x8e\x85\x77\x4d\x56\x37\xef\xa3\x48\x89\x76\x78\x99\xdb\xcd\x5c\x09\xe7\x78\x04\xe0\x0e\xb1\xe6\xb2\x1a\xb5\xc6\xd2\x5d\x49\x0d\xb4\x56\xa9\x15\x82\xdb\xe2\xb1\x25\x89\xb2\xea\x28\xb4\x50\x1c\xc3\xd2\x16\xc6\x4c\x32\x0e\xaf\xab\x86\xdd\xba\xc0\x59\xd6\xdd\x56\x3a\xc9\x64\x0b\x85\x44\x9b\xf8\xf9\x16\x7f\x55\x79\x49\x84\x8d\x5a\x2b\x4d\x0c\x2e\x9f\x3e\xfa\x10\x5b\x5f\xc5\x11\x95\x9f\x2b\x7b\xb3\x66\x5f\xa9\x54\x82\x37\x6e\x6e\x69\xd7\xbe\xac\x3d\xa3\x07\x6e\x25\xa2\x0d\xa9\x7a\x92\x71\x4f\xef\xf0\x6b\x13\x86\x68\x4b\xb5\x8d\x7f\x35\x68\x29\x27\x36\x02\xd6\xff\x5f\x4c\xd4\x4c\x5c\xff\x9d\xc9\xf5\x2b\xd4\x96\x80\xda\xe6\x8c\xdf\xb8\xe7\x89\xab\xbe\x83\x49\xca\x4c\xc5\x99\x52\x5b\xa0\x24\x2e\x86\xbd\x6d\xe5\x7d\x0e\x70\x5b\x9c\xc1\x5e\xd1\xde\xd0\xe2\xc6\xde\xcc\xa2\xad\xd7\x09\xa4\x77\xb5\xe8\x74\x48\xc4\x0a\x56\xb4\x5b\x48\x0a\x83\x3d\xc4\xc5\x45\xce\x21\x12\x65\x4e\xef\xa3\xc3\x75\xb1\x08\x21\x78\x9c\x2e\xbe\xaa\xc7\x1b\x72\x12\xac\x3d\x16\x6c\xf7\x97\x94\x95\x61\xab\xe3\xf7\x94\xdb\xe4\xa0\x2d\x14\x85\x09\x12\x2a\x03\x61\x6f\xc2\x77\x92\xd9\x5c\xed\x07\xe8\x83\xc5\x8b\xdd\x31\x45\xaa\xe6\x1a\xf8\x3e\x87\x39\x33\xfb\x8e\xe7\x2a\x09\xb3\xc5\xcc\x67\x19\xeb\xe8\x4c\x6f\x65\x30\x9b\xa8\xa7\xaa\xad\x44\xcc\xf6\x93\x5a\xed\x15\x07\x30\x0e\xab\x89\x81\x4a\x6c\x67\xf0\x59\x02\x07\xb6\xfc\x96\x93\x6c\x74\x1d\x80\xf1\xe4\x82\x8d\xeb\xa2\x11\xf5\x11\x92\x50\x16\x2d\x42\x3b\x10\xa2\xe4\xe2\x6c\x48\x34\x52\x70\x1f\x37\xa2\x2d\x0d\xb7\xe6\xc2\x57\x66\xb8\xd4\x31\xa9\xa4\xe1\xb0\xa6\x66\x21\x9d\xc0\xba\x22\x12\xa5\x13\x84\x61\x16\x19\xa3\x5a\x6b\xc1\xf7\xd9\xf0\xf8\x12\x8a\x63\x7d\x26\xdd\x4a\xa9\x46\x93\x55\x8b\xf6\x11\x79\x29\xc5\x07\xd6\xf6\x6e\x6b\xa7\x4c\x56\x07\x03\xa6\xc8\xca\x93\x93\xe5\x73\x2a\x19\x5b\x15\x2f\x48\x99\x1a\x4f\x69\x9d\x97\x35\x73\x12\xe1\xa0\x59\xb3\x93\xe5\xad\xbe\xa8\xd5\x64\xa1\x2c\x12\xcc\xb7\x48\xd5\x81\x70\x6e\x7b\xcc\xd7\x33\x7d\xee\x6a\x75\xdd\x6e\x8c\xfb\x4a\xbb\x26\x36\x5c\x7d\xce\xa6\x90\x77\x5a\xc7\x24\x21\x5a\x13\xf2\x97\x66\xb6\xbc\xa2\xfd\x53\x7b\x45\x7b\xf7\xb5\x9c\xd2\x34\x30\x65\xa0\x86\x67\x7b\xa3\x2d\x81\x58\x95\x69\x5b\x43\xd5\x7d\x95\xee\xd8\xac\xae\x93\x54\x25\xc9\xb3\x62\xa4\x8e\xb4\xd1\x82\x25\xe4\x27\x08\x32\xec\x63\x6c\xe7\xd7\xb0\x0e\x8b\xad\xca\x23\x98\x18\x01\xdb\x49\x0b\x49\x13\xd8\xc1\x3a\x38\x9a\xb4\x41\x8d\x58\x5d\xed\x3f\x69\x26\x94\x35\x36\x96\x01\xdc\x70\xda\xea\xb4\xc0\x75\x4c\x6d\x07\x68\xe9\x69\x05\x22\x92\x28\xdf\xf0\xd2\x6e\xed\xef\x3f\x3b\x7d\xdd\x2f\xc1\x3f\x3c\xef\xae\x2d\x6b\xa6\xb4\x97\x5a\x4c\x71\xa1\xcc\xe3\x9f\x37\xe3\x06\xb9\x74\x9a\xcf\xee\x99\x30\xf9\x9c\xad\xf7\xa2\xf1\xd8\x5b\x01\xd4\x8c\xe6\xa3\x0d\x08\x81\x03\xb3\xa0\x8c\xc5\xf3\xaa\x72\xb6\x0d\x24\x86\x16\x24\x31\xd9\x46\x10\x12\xa3\xc8\x11\x5a\x08\x12\x4c\x0d\x4e\x80\x9a\x28\xe0\x08\x89\x52\x56\x2c\x04\x91\x2a\xb4\x5c\x03\xaa\xa4\x2b\x60\x35\x84\x1a\xc4\x01\x60\x02\x40\x08\x34\x23\x1a\x91\xc3\xd9\xb4\x1c\x71\x10\x4a\x1b\x6e\x05\xc9\xe8\x38\xc8\xc4\xf0\x35\x81\x8e\x3d\xb3\x9c\xab\x7b\x66\x6d\x98\x37\x41\x4c\x74\xd8\xae\xb1\xc6\xe3\xf1\x65\xf1\xc0\x35\xb7\x3e\x65\xbb\xd6\x16\x5f\xd6\x1b\x2f\xbd\x76\xf8\x9a\x5b\xaf\x09\x74\x57\xf9\x26\xce\xdf\x30\xab\x6f\x9d\x6d\xe6\xbd\xc4\xd2\x0d\xb3\x7a\xd7\xb2\xb3\x1f\xef\xb6\x5e\x63\x5c\x13\xb8\x76\xf8\xda\xe1\x6b\x4b\xdb\x6b\xdc\x7d\xa7\xe1\x25\x7d\xde\x44\x97\xed\x1a\x5b\xbc\x77\x99\x71\xe2\xd6\x6b\x4b\xbb\x1e\x9b\x6d\x5d\x37\x6d\xd6\x06\x78\x79\xf8\xda\x40\x7b\xc2\x3d\x71\xfe\xc6\x59\x93\x57\x3b\x67\xff\xa8\xc3\x76\xad\x35\xbe\x4c\x8e\xeb\x17\x62\x97\xfe\x8b\xbd\xcb\xf5\x5f\xbc\x76\xf8\xda\x40\xd7\xde\x39\x8e\xd5\x3d\xb3\x36\x9e\xdc\x2b\xd4\x1c\xbc\x6a\xd6\xc6\xc1\x49\xfe\xaa\x6e\xe3\x92\x65\xc5\x1f\x0c\xb4\xef\x99\x65\x5d\x47\x4a\x53\xcf\xb2\xce\x7a\xb4\xab\x58\xde\xe2\xa9\xae\x6a\xef\x94\x25\x1b\x0b\xbc\x1d\x05\xcc\x8c\x09\x68\x2e\x5a\x80\x16\xa3\xa5\x68\x05\xba\x08\xdd\x8e\x10\xe8\xd5\x65\xb8\x7e\x16\x9c\x39\x95\xa2\x87\xa2\x2a\xeb\xdd\x21\x2d\x14\x1c\x39\x15\x59\x31\x82\x8e\xb3\x29\xfd\x24\x96\x44\x46\x30\x7c\x3c\x0b\x2e\x9b\x84\xe1\xa0\x19\xd5\xaf\x52\x8d\xd5\x30\x35\x49\x49\x0a\xc4\x39\x0a\x24\x42\x21\x24\x55\x02\x8a\x03\x89\xd1\x7f\xc2\x40\x84\x29\xcc\x8b\x18\xf7\xa6\x92\xc6\xc7\x05\x9c\xb1\x94\xad\xa4\x15\xce\xf0\x6e\x51\x39\x2a\x59\x05\xa9\xa4\x9b\xc3\x3b\x41\x12\x84\xaa\x4a\xa6\x9b\xec\xea\x9a\xe1\x21\x83\x04\xdd\xe7\xde\xc6\x72\xdd\xd8\xb4\xc4\xa4\x04\x30\x06\xca\x2b\x79\x5c\x16\x12\xe8\xb8\xb5\xb1\xe6\x54\x6c\xe9\xb4\x9a\x4b\x48\x12\x13\x25\x7e\xa2\x24\xdd\x6e\x3b\x97\x22\xed\x2f\x13\x8c\x4d\x0e\x04\xbc\x12\x4b\x02\x11\x16\x6a\x63\x3c\x87\x9f\x6a\xfb\xfe\xc1\x2f\xf0\x23\xf9\x5e\xf2\x8d\x25\x0f\x9f\xfa\x87\x25\xd5\xaf\x6a\x09\xdc\xa2\x1d\xb8\x39\x5b\xb6\x7d\x57\x63\x78\xe6\xf4\x4f\xdb\x4c\x16\x13\xe9\x0f\x93\x3d\x7b\x26\x2d\xbe\x6c\x96\x23\x18\xb7\xc0\x55\xa3\x07\xd8\x7c\x82\xb1\x53\x40\x00\xe5\x58\x59\x81\x13\x18\x5a\xa0\x89\x14\xe0\x05\x82\x31\x99\x85\x52\x2a\x83\x97\x4e\x5b\xec\xc0\x24\x26\xe7\x7a\x1e\xf1\x05\x2e\x32\x43\x04\x5b\x4d\x80\x39\xb0\x50\x0c\x43\x72\x34\x87\x69\xc2\xe9\x8c\xe2\x28\x49\x58\x00\x6c\x6e\x9c\x6c\xa0\x92\x33\xfc\x74\x1a\x43\x1d\xec\x73\xd8\x25\x87\x8d\x90\x1c\x5e\x82\x20\x49\xd6\x86\x77\xfd\xad\x22\x7f\xdd\x3f\x48\xd3\x7b\xf9\x6c\x10\x5f\x1e\xcc\xff\x23\x78\x66\x07\xd1\xf4\x18\x6c\x39\xc0\xd9\x87\x3b\x4f\x2a\xb1\x4d\x4b\x30\x66\x93\xd5\xe1\xc2\xf1\xba\xd2\x18\xc3\xb9\x69\x32\x77\xf0\x57\xff\xa5\xff\x65\x07\x4c\x66\xcd\x40\x53\x31\x16\x72\xcf\x9d\xb9\xd2\xad\x0d\x1a\xf1\xc6\x63\xd8\x0b\x0a\x52\xd1\x24\x34\x07\x2d\x45\xeb\xd1\xf7\xd0\x35\xe8\x2e\xf4\x28\x1a\x39\x3c\xd3\x73\x98\x1c\x96\x3a\x1a\xb2\x5c\xd7\x1f\x82\x10\x00\xf7\x11\x1a\xbd\x02\x1e\x3b\xf7\x0d\xf9\xff\xaf\xaf\xe7\x0b\xc0\x62\x61\x0e\x42\x9d\x83\x83\x9d\x39\x7d\x43\xed\x6b\x9c\x78\xf5\x8a\xd1\xe1\xce\xc1\xfa\x32\x3c\x5c\x36\xe4\xbf\xd6\x5f\x96\x0f\x19\x40\x47\x5f\xb9\x01\xf4\xff\x76\x7e\x68\xb8\xac\x3e\x9f\x23\x73\x83\x9d\x47\xd8\x95\x6f\x8f\x9c\x33\x21\x8f\x56\x5c\x3d\xd8\x49\xa3\xb2\xfa\x32\xff\xb5\xfe\xa1\xb2\x83\xb9\xc3\xb7\x01\x7b\xa2\xa4\x76\xc2\xa3\xff\xcb\x05\xb0\x13\x50\x7d\xd9\xb0\x86\x90\x50\xf0\xa1\xa7\x51\x71\xed\xa6\x0d\x4d\x47\x8b\xd1\x2a\x74\x9e\xc1\x20\xf8\x63\xf4\x33\xf4\x32\x7a\x1b\x7d\x8c\x0e\x81\x03\x82\x50\x03\x6d\x27\x98\xf1\x3b\x4c\x92\x58\xa8\x77\xee\x7f\xcc\x13\xff\xe3\xfb\xfc\x36\xed\xe3\x58\x20\x9f\xff\xd7\xe7\xfd\xff\xb3\x7c\x94\xe1\xac\x72\xb0\xe0\xa5\x32\x72\x84\x76\xe0\xeb\x37\xb9\x6f\x7b\xe1\x91\x0d\x46\xe3\x98\x89\xbe\xf5\x5d\x80\xfe\xf7\x5f\xa2\x91\xec\xfd\xd2\x98\xe7\xa2\x73\x5e\x59\x1b\x07\x39\xfb\xd9\x37\x25\x1f\xf8\x06\x08\xa4\x13\x27\x0f\xb2\x87\x81\x53\xf0\xff\x70\xdb\xe8\xff\x70\xed\x51\x30\x4c\x08\xa3\xf6\x43\x4e\x72\x84\x1a\x42\x41\xa4\x20\x64\x3e\xd6\xc9\x0e\xe4\xb4\x3a\xe6\x2c\x24\x89\xc2\x58\x94\x29\xb9\x5b\x7b\xb3\xe8\x5b\xa7\xbd\xe9\xf7\x97\x4e\xf7\xef\x87\xd5\xfb\xfd\xfd\x7e\xbf\x36\x5c\x70\xb0\x7b\x53\x7b\x73\xf4\x79\xc3\xb5\x2e\xa7\xe5\x0c\xd7\xba\x7a\x88\xe9\x17\xf8\xf7\xef\xd7\x6f\x78\xa7\xe0\x5b\x47\x15\xb9\x97\x73\xc8\x81\x4a\x8d\x55\xa3\x19\x08\x81\x50\xb0\x7b\x32\x69\xc3\x2e\x81\x02\x57\x0c\x14\x87\x50\x2a\x49\xba\xdc\x82\xc1\x17\x13\x8d\xd0\xd1\x48\x26\xdd\x8a\xe3\xe3\xae\x76\x0b\x2c\xc4\x0d\x6e\x98\x82\x3a\xd5\x0a\x84\x4d\x9e\xdb\xd2\xb7\xa5\x59\x9e\xdb\x32\x75\x73\xb3\x76\xcf\xcc\xa9\x7d\x3b\x26\x1a\x1b\xb8\xf8\x1c\x70\x3d\x16\x69\xeb\xac\xec\xfe\xb8\xad\x33\xdf\xfb\xe8\xea\xbb\x5e\x81\xc9\x2d\x73\xe5\xe6\xcd\x53\xf5\xed\x16\x38\x75\xea\xcc\x89\x3b\xfa\xf4\x0d\x59\xd6\xbc\x72\xda\xba\x1b\x7b\xf4\xed\x0d\xf9\x57\xfb\xcf\x59\x75\x63\x6f\xff\xfa\x55\x37\xd5\x3c\xa3\xbd\xb7\x2e\xd1\x52\x6a\x9d\x3f\x6f\xd7\xec\x57\x7f\x74\xce\xab\xd3\x56\x36\xf7\xde\xb0\x6e\xda\xca\xe6\x9e\x1b\xd7\x2d\x5b\xdf\xdf\x7b\xe3\xaa\x73\xfa\x7b\x6f\x5a\x85\x00\xb5\x1f\x42\x78\x84\x46\x46\x6c\xa8\x40\x33\xbc\x58\x0c\x76\x2f\x14\x3e\x19\x00\x3c\xb2\x76\x71\x35\x8e\x79\x47\xbc\x31\x5c\xbd\x78\xed\xac\xab\xef\xb9\x7a\x16\xf1\xc9\xe5\xcf\xc6\x47\xff\xcf\xf0\x04\xcb\xc4\x9f\xbd\x3c\xf7\xaf\x9b\x6e\xfa\xd7\x11\x4c\x91\xb1\xb8\xa3\x20\x42\x14\x70\x94\x52\x0d\x76\xfd\x25\x16\x90\x54\x8b\x58\x21\xc6\x24\x6a\x00\x88\x1c\xce\xe5\x73\xed\xf8\xa7\xf9\x89\xf9\x89\xd4\x81\x58\x30\xdf\xee\xef\xf4\xe7\xdb\x83\xb1\x84\x8c\x47\xc4\x2a\x11\x8f\xc8\x89\x45\xb0\x08\x6f\x79\x6f\x8d\xa6\x69\x38\x8f\xa2\xcd\x9c\x96\x73\x3a\x21\xc7\x35\x47\x09\x54\xd6\xc9\x02\x32\x99\x0e\x21\xb6\xb3\x00\x95\x87\x0e\x21\x53\x81\xc7\xe4\x48\x54\x74\x27\x42\x54\xdc\x28\x07\x05\xc5\xbd\x32\x96\xd7\xcb\x45\xd1\x11\x25\x2e\x2b\xc5\x44\xb1\x80\x71\x63\x93\x4d\x4a\xc6\xe0\x4b\x05\x00\x1b\x24\x42\xed\x70\xa5\x76\xba\x76\x3a\xf5\xbb\x71\x99\xaa\x42\x7a\xaf\x36\x49\x9b\x44\x7d\x29\x87\xb5\xf6\x92\xf6\x12\xad\x9d\x24\x30\x55\x4c\x86\xe5\xca\x28\x3c\x50\x19\x85\x11\x29\x2b\xc1\x48\xb4\x12\x1e\x88\x55\x0c\x8d\x40\xe3\xee\xd5\x7b\xf6\xec\xc9\x5f\x32\x96\xda\x70\x07\x58\x76\xaf\x7e\xf2\xc9\x27\xf3\x2d\xda\x50\xac\xd5\xb9\x8f\x65\xf7\x61\x8c\xb1\xbe\x77\xb6\xc6\x60\x58\x6e\x77\xfe\x14\x2e\x93\xdb\x9d\x23\x16\xcb\x88\xb3\x5d\xd6\x56\xff\xd4\xd9\x5e\x58\x53\xd1\x4c\x88\xc2\x88\x40\x66\x14\x44\x32\x4a\xa0\x0e\x84\x20\xec\x0e\x13\x11\x9a\x09\xcb\x44\x32\xab\xa6\x70\x38\x82\x33\x69\x54\x68\x91\x4c\x58\x10\xe3\xe1\x64\x26\x1d\x0d\x67\xc2\xba\xad\x1e\x0d\xc7\xc3\x49\x83\xe2\xc8\x68\xb0\x44\x34\xcc\xd4\x6b\x00\x87\x46\xe7\xaf\xa6\xe1\x5a\xd7\x9d\x6d\xe7\x70\x6f\x9d\xaa\xed\xfd\x7d\x1e\xa8\x97\x2e\x7e\xf1\x34\x9c\x3f\x73\xdd\xc1\x2c\x94\xbd\xf8\x4b\xed\xb7\x50\x32\x6d\xc1\x53\xda\xa8\xf6\x4f\x3c\x30\xe7\xc2\xb3\xdb\xee\x5b\x7b\x56\xdd\x49\x6b\x73\x13\xf3\x37\x91\x7b\xb6\x68\xbf\x5d\x3e\xff\x99\xfc\xa3\xed\xaa\xf6\x22\x98\x5e\x7f\x05\xf8\x0b\xff\x7c\x11\x17\x58\xb5\x31\x79\xd7\x43\x4f\xf5\x4c\xbd\xec\x75\x7f\xd7\xd6\x05\x0f\x0f\x84\xee\xdc\x38\x65\xf3\xcc\x46\x6f\xf1\x1d\x8e\xcd\x67\x06\x50\x1c\x55\xa1\x0e\x34\xc9\xe0\xf9\x39\x66\x34\xe4\x8d\xd9\xa7\x4c\x5a\x31\x26\x1a\x88\x68\x26\x95\x74\x0b\xc5\x1d\x15\x91\x33\xe1\x6c\xe6\x08\xba\x8f\x1a\x65\x81\x48\x4a\xd1\x56\x20\xc2\xee\xf0\xf8\x95\xb0\x57\xb5\x4b\x60\xeb\xd9\xc3\x97\xae\x54\x7a\x67\x4e\xbd\xff\xf6\xf5\xdf\xd9\xfb\xe4\x16\x6c\xe9\x9e\x0c\x37\xc0\x55\xdb\x72\xbb\x6f\xfe\xee\x8b\xad\x17\x5b\x7b\xea\xd6\x58\x35\x72\xe2\x0a\x68\xd3\x7e\x7e\xf4\x2a\x98\x76\xf9\xe8\x87\xeb\xd6\xdc\x5c\x91\x5e\xdd\x30\xbd\x82\xd3\x9e\x7e\x6c\xfe\xa0\xf6\x93\x37\xd6\x2c\x0b\xf5\x4d\xb0\x08\xe7\xff\xe4\xbe\xed\xdf\xdb\xfd\xb3\x48\x19\x9c\xb9\xa9\xbe\x13\x2c\x53\xc7\x6c\x2d\x66\x0c\xe7\x5e\x41\x6d\xe3\x58\x0b\x8c\x39\x58\x69\xcc\xff\x4c\xd1\x35\x73\x18\x87\x50\xa4\x0a\x28\x0a\x46\x1f\x52\x03\x1c\x65\xb8\xcf\x64\x51\x2a\x89\xe8\xc4\xa5\x2f\x5c\x7a\xe9\x0b\xf9\x4b\x76\x2d\xf3\xf9\x96\x4d\xed\x08\x06\xaf\xed\x73\x0f\x08\xa1\x73\x26\x2d\x23\x5e\x79\x70\xeb\x79\x0f\x3e\x78\xde\xd6\x07\xaf\xd6\xfe\xf3\x84\x36\xc5\xf6\xf4\xf9\x1b\x7f\x5a\xf2\x2e\x5c\x30\x7d\xd0\x2e\x82\x1f\x83\xf5\xf1\x27\xc0\x4a\x06\xf5\xfb\x2f\x3d\xf8\xd4\x2b\xbb\xe8\x8a\xe0\x35\x7d\x53\xdb\x83\xa6\xb0\xa9\xb9\x87\x78\x7b\xeb\x83\x0f\x6e\x3d\xef\x81\x07\xce\x7b\x52\xfb\xaf\xf6\xf3\x6d\x0f\x5c\x7b\xd6\x42\xd8\x73\x53\x2d\x86\x6b\x1e\x07\x93\xf6\x1f\x74\x94\xed\x68\x42\x3e\xd4\x85\xa6\x16\x91\x00\xdc\x82\x58\x98\x1c\x93\x15\x23\x7c\x39\x2b\xd7\x40\xf6\xc8\x44\x58\xcb\x98\xe1\x11\x4f\x16\xdf\x13\x43\xe8\xd2\xc7\xc7\xe6\x97\x0b\x75\xa2\x1b\x87\x7f\x5c\x3b\xbc\x66\xcd\xb0\xe6\x3c\x6b\xa0\x7e\xb0\x24\x9d\x68\xde\x50\xe2\x49\xb5\x0c\x88\xc2\x00\x31\x5a\x78\x13\xf7\x09\x57\x2c\x5e\x76\xbd\x05\xe6\x5d\xfd\xea\xab\x57\x5f\xf9\x5b\xfc\x17\x33\x3f\xa5\x55\x7b\xbd\xf0\x82\x3e\xdf\xf9\xfc\x25\x97\x9c\x7a\xda\x25\x44\xf9\xf0\x9a\xb5\xd3\xfb\xd7\x68\xcf\xdf\xb9\xae\xb1\x56\x10\x3c\xa9\x96\xe6\x0d\x9e\x30\x85\xcf\x28\xbc\xcc\xeb\x26\x2c\xdc\xf0\x83\xa5\xa3\xaf\x5e\x75\xf5\xab\xbf\xb9\x52\x7b\x0a\xe2\xeb\xe1\x77\xeb\xef\xbe\x5b\x1b\x3e\xf5\x92\x4b\x9e\xdf\x79\x09\xa2\x91\xf3\xd0\x6c\xfa\x63\xea\x10\xb2\xa3\x00\xaa\x46\xcd\x68\x8a\x81\x9a\x44\x30\x71\x63\xf1\xb5\x15\xab\xa2\x0f\x14\x96\x70\x00\x91\x80\x36\xc8\xaa\x0a\x10\xac\x81\xac\x2b\x11\xbc\x5e\x03\x40\x13\x71\x85\x6f\x05\x29\x40\x01\x2f\xd2\x0c\x4b\x31\x32\x11\x57\x54\x22\xae\x26\x88\x1a\xa0\xb2\x62\x10\x44\xa2\xdb\x81\xb5\x85\xb1\x56\xa7\x95\x71\x98\x23\x78\x5a\xd5\x43\x57\xb4\x7d\xa7\x36\x48\x90\x4f\x71\x98\x31\x45\xa7\xff\x80\xce\x3d\x61\xab\xe3\x5d\x93\xae\x34\xbd\xfb\x2a\x73\xcf\x5f\x1b\xf2\x4a\xcd\x1f\xb5\x67\xf8\xbf\x08\xfd\x65\x9e\xba\x68\xad\xa7\x16\x5f\xf3\x3b\x97\x55\xb4\x97\xc5\x5a\xc2\x13\xad\x91\xbf\x43\xc3\x96\x9d\x6f\x6a\x8b\xae\x89\x0c\x4c\x68\xe6\x38\xb8\x2a\x98\xb5\x59\x15\x58\xa5\x5d\x26\x96\x12\x0d\x71\x5f\x7d\x6f\x6c\x21\x63\xc3\x8d\xda\x05\x0b\x27\x5f\xbe\x7c\xa6\xdb\x0d\xa7\x79\x9b\x39\x57\xdb\xb9\xb3\xf3\xef\x6b\xd7\x95\x46\x09\x92\xa1\x76\xc3\x2a\x58\xb1\xc7\x29\x8a\xc4\x03\x6d\xda\x0f\x1e\xb7\xc1\xa9\x41\x3f\x89\x05\xb1\xaa\x24\xab\x3d\xab\x5d\x15\x9f\x16\x15\x22\xa2\x68\x71\x11\x93\xe1\xf4\x67\x3e\x3c\x49\xfb\xbe\x30\x7b\xde\xf5\x8b\xba\xec\x76\x20\x7c\x0e\x47\x4b\xa1\x8d\xb4\x9b\x0a\x6d\x9e\x43\x25\xa8\xeb\x08\x5a\x04\x1f\x26\x12\x60\x90\xeb\x1f\x3e\x32\x3e\x70\x34\x3c\x16\x40\x3a\x46\x24\xc2\xb7\x82\xde\x3c\x24\x3e\x95\x14\x61\xdf\xe0\xf9\x83\x83\xe7\x6f\x27\xbe\x98\x87\x3d\xe6\x3c\x32\x7b\x30\x45\x18\x87\x34\x17\x3b\xb4\x7a\x78\xf5\x28\x5a\x3d\xbc\x7a\x88\x75\xed\x58\xe4\x5f\x2e\xdd\x76\x32\x81\x4e\xbe\x4d\x5a\xee\x5f\xb4\x03\xb6\xea\x17\x0d\xc2\x3e\x38\xcd\xc4\xf3\xa6\x7c\x49\x21\x8b\xb4\x1c\xeb\xca\xf5\xaf\x5e\xdd\x9f\x2b\x6c\x5d\x2c\xe4\x16\xed\x80\xdb\x07\xcf\x3b\x6f\x50\x5b\xb4\xa3\x10\x57\x6b\xd2\xbb\xdb\x14\x6a\x42\x13\xf4\xb6\x7e\xd8\x56\xfb\x9a\x02\x17\x70\x96\xc3\x45\x46\x2c\x89\x1f\x8b\x9b\x85\x23\xb2\x17\x8f\x30\xa1\x45\x3b\x4e\x58\xf4\x5c\x01\x15\x2f\xa7\x0b\xf0\xe5\x81\x42\x71\x4f\x1d\x27\x37\x19\x36\x8e\xe1\xdc\x8e\x45\xba\x10\xed\x7a\xf1\xdb\x0b\xdb\x23\x42\x14\x00\x68\x75\x51\xb4\x90\x51\x4d\xb0\xbd\x50\x01\xa3\x8f\x1b\x59\x04\x28\x74\x08\x51\xfb\x0c\xf9\x50\x4c\xff\x50\x03\x63\x58\x7f\x99\xb4\x81\x39\x9c\x56\x75\xc9\x0e\x6f\x0b\x7c\xc2\x74\x25\x14\xb7\xd4\x3e\xd9\xab\x25\xc1\x12\x2b\xd1\x46\x4a\x62\x16\xd0\x92\x5e\x99\x87\x5d\xef\x18\xdb\x67\xf5\x6d\x8e\x4f\xeb\x1b\xd9\xfb\x2c\xec\xe2\x65\xef\x3b\xb0\x6b\x7e\x5a\xe6\x2e\x91\x4b\xa2\xd1\x12\xf9\x12\x4e\x4e\xf3\x70\xc5\xe1\x4d\x8e\xe7\xb5\x1c\x9f\x96\xb5\x33\x8c\xcd\xb8\xbe\xc6\x8d\x2a\x51\xb7\xe1\x0b\x53\x04\x4d\x2a\xf4\xf2\xc5\x30\xec\xac\x9a\x56\xe4\xf0\xb8\xa3\x21\xe3\x28\x9f\x56\xe4\x98\x31\x9f\x78\xf8\x6a\xd2\xa0\xe7\x83\xf1\xae\x69\x4b\x03\x3f\xd7\x2e\xb8\xbe\xc2\x27\x52\xa1\xf3\x57\xfd\xf5\x5e\x9e\xe5\xfd\x43\xd1\x0f\xb5\x5f\x5d\x77\x75\x6d\xb4\x84\x09\x6c\xda\x06\xd2\x6f\x3c\x6c\x49\xf4\xf4\xb2\xad\xda\x03\xf7\xff\x7a\x58\x0a\x96\x07\xad\xa5\x17\xfc\xe8\x16\xa8\x5e\xea\xe6\x4b\x2b\x5f\x3c\x16\x7e\x7e\x62\x88\x5f\x17\x31\x57\x0a\xa5\x26\xdf\x52\xab\xef\x83\x32\xf7\x25\x15\xf6\x54\x49\xd4\x14\xde\x62\x8f\x02\x57\x23\xf5\x4c\xa9\x61\xe2\x81\x60\x85\x29\xde\xdd\x62\x2b\x5f\x70\xcc\x62\x10\x14\xb8\x6c\x69\x84\x78\x5d\x1b\x96\xc2\x5c\x98\x21\x98\x30\x07\x4a\x98\x0b\xab\xbc\x1a\x26\x91\xf6\x1b\x0f\x48\x1a\x55\xb5\x33\xa0\xbd\x0a\x35\x1e\xed\x3d\x38\x58\xb5\x33\x00\xd5\xe4\x6f\xf2\x3f\x0d\x6a\xdf\x09\x68\x1f\x07\xa0\x06\x4f\x0a\xc0\x2d\x01\xe0\x02\x08\x21\x0e\x21\xf4\x03\x33\x22\xcf\x42\x2c\x8a\x1b\x8c\xf6\xcd\x68\x32\x9a\x89\x4e\x46\xa7\xa0\x35\xe8\x3c\x74\x09\xba\x0c\xdd\x8c\xee\x43\x23\xe8\x77\x08\xc5\x55\xbd\x95\x46\x68\x37\x61\xf4\xd8\x71\x95\x48\x2b\xb2\x5e\xb7\x0c\x21\x48\x63\xe4\x01\x19\x90\x0c\x3f\x7f\x35\x9b\x54\x25\x46\xd7\x81\x15\x35\x9d\x4a\x02\x21\x31\x42\xd4\x38\x9e\x4a\x06\xe1\xc8\x89\x60\xd1\x71\x47\x51\xf5\x3e\xde\x0c\x3c\x23\x18\xcc\x48\xbc\xde\xe3\xab\xc7\xe6\x0a\x99\x42\x5c\x78\x03\x10\xfa\x69\x7d\x0c\xe4\xd3\x59\xfd\x73\x1a\xcb\xb5\x42\x52\xe4\x99\x3a\x23\x87\xf9\x4c\xb6\x18\x8c\x6f\xe0\x37\x1b\x5a\x9d\x7e\x00\x19\x8b\x14\x84\xd3\xe9\x04\xbb\xc5\xcc\xb2\x2c\xd8\xcd\x22\x54\x58\x6d\x76\x93\xd3\x64\x07\x8b\x95\x36\xb3\x56\xb3\xf9\xe0\x07\x82\x80\x59\xcc\x71\x98\x9d\xeb\xf5\x62\x93\x59\x92\xcc\x26\xf0\x3e\x51\x52\x62\xb5\x60\xb7\x1b\x5b\xac\x83\x92\x84\x6d\x76\xb7\xdb\x6e\x1b\x72\xbb\x31\x4b\x9b\x05\xc1\x4c\xb3\xb0\x4d\x7b\xdb\xed\xb6\x30\x4e\xec\x72\x61\x27\x63\x19\xe4\x79\xab\xc9\x85\x9d\x4e\xec\x32\x59\x4f\x76\xb9\xb0\xc0\x63\xa7\xd3\x6e\x32\xdb\xe0\xa2\xe7\x1c\x0e\x87\xc0\x02\xcb\x3a\x04\xc7\x29\x2c\xeb\x14\x9d\x60\xb3\x81\x53\x74\xbc\xc6\xba\xbc\x2e\xa0\x69\x1b\xb6\x98\xad\x26\x86\xc5\xe4\x92\x3b\xcf\x1e\xfd\xc8\xee\xf2\xcf\x1a\x7a\x06\x02\x5c\xa6\xe1\xec\x3b\x77\x7f\x8a\xad\x16\x96\xb5\xe4\xff\xf3\xa9\xc5\x9e\x7e\x15\xf7\x3a\x4d\x14\x65\x72\xd2\xf9\x27\xe1\x9f\x60\x61\xac\x66\xc6\x0e\xa7\xe7\xb6\x9a\xcd\x5b\x73\xe6\x89\x2f\xff\x9f\xd9\xf2\xc2\xcb\x66\x2d\x09\xff\xfc\xcf\x87\x56\xeb\x87\xff\xb1\x51\xa3\xff\xb6\xdb\xff\x3d\x6a\x0f\xbe\xff\x5f\xa7\x99\xf9\xef\xfb\xb4\x59\x13\xf1\x19\xda\xf9\xff\x65\xac\xae\xff\xc2\x16\x97\x75\xba\x56\xf5\x6f\x93\x95\xff\x37\xfc\x8e\xb7\x86\x34\xfa\x33\xb7\xfb\x33\x38\x60\xb6\xdb\xf3\x1c\x7e\x5f\xc3\x1f\x5b\x1c\xac\xf5\x63\xd0\xac\x2c\x1b\xd0\x84\x0f\xac\x4e\xa7\xf5\x03\xf8\xc0\xe6\x74\x6a\xa6\xbf\xdb\x5d\x2e\xfb\xda\xb3\xf1\x16\xc2\x61\x66\x28\x93\x2b\x7f\xe5\xd9\x77\x60\x97\x9d\xd8\x21\x59\x22\xda\x97\x23\xe2\x9d\x87\xf9\x06\x91\xc1\x61\xec\x33\x10\x48\x11\x0a\xc5\x54\xb7\x60\xcc\xd0\xb7\x80\xf8\xf5\x39\xd2\x00\xa7\x2e\x64\xd3\x59\xcc\xc3\x1f\xe1\xc6\xf5\x2f\x69\x37\x6b\x43\xda\xcd\x2f\xad\x87\x1b\xbf\x21\xbf\x17\x86\xe1\xe4\x97\xc6\xf2\x2f\x11\x68\xf6\xcc\x7b\x0a\xfe\x18\xf7\xcc\x1c\xbd\x67\x5c\x06\x2a\xc6\x65\xc8\x8a\x09\xe7\x4c\xc8\x15\x72\xb9\x09\xe7\x8c\x9b\xcf\xe5\x91\x17\x45\xd1\x20\x3a\x05\x9d\x85\xce\x43\xdf\x43\x08\x8e\x9f\xaf\x93\x18\x2e\x2c\x2b\x20\x1b\xce\xd6\x19\x2e\xcc\x81\xb1\x5a\x26\x89\x8c\x40\x33\xee\xc2\x9c\x39\x83\x0d\xde\x3e\x45\x36\x70\x8f\x24\xd1\x9d\x55\xb3\x6a\x02\xd4\x6c\x13\x4e\x1a\xf1\xf7\x62\x29\xd0\x8c\x08\x59\x95\x05\xa0\xa5\xac\x9a\x56\xb3\xaa\x9c\x91\x33\xb2\x22\x30\x84\x7e\xa9\xa2\x3f\x85\xa6\xe4\xa8\xfe\x4d\xa6\xa9\x27\xfc\x65\x87\x01\x94\x73\x65\x43\xfe\xf3\x61\x83\xc5\xa6\xfd\xd2\x06\xa7\x68\x43\x65\xf5\x79\x84\xb5\x70\xaa\xa9\xf1\x8a\x80\x93\xc5\x40\x77\xd4\x7e\xb7\xed\xad\x7b\xaf\x9b\xe7\xb0\x7b\x80\xb2\x90\xe6\xc1\x59\xac\x19\xa7\xd5\xee\x98\xc7\x6e\xb7\x06\xdd\x20\xd9\x5c\x66\x8c\x01\xdb\x54\xcd\x97\x9e\x95\xea\x81\x6d\x0e\x3b\xd0\x8c\x81\x50\x61\x83\x2d\xdf\xbb\x0a\x8b\x54\x5f\xca\x57\x1f\xc0\xeb\x3d\x67\xf5\xd5\xb2\x24\x79\xbe\x31\xc5\x36\x06\xc3\x5c\xe6\xef\xd6\x2e\x2c\xb5\x41\x83\xed\x80\x8b\x44\xf5\x65\x30\x7c\x00\xe1\x19\xde\x00\x53\x27\x06\x00\x03\xc8\x65\x61\x4f\x93\x76\x80\xb1\x01\x69\xf1\x96\x2d\xad\x36\x3b\x30\x9e\xb5\xfa\xc2\xad\x03\x37\x24\xcb\x1c\xee\x1a\x1a\x13\x54\x60\xf3\x84\xdd\x9a\xcf\xf3\xdd\xb2\xb9\xc4\xa6\x8a\xf9\x4c\x9c\x28\x23\x49\x00\x0c\x22\x0b\x90\x5f\x9e\xf5\x01\x47\x75\x9d\x31\x7b\x55\xbd\xd5\xe3\x07\x40\x47\xb5\xb3\xc2\x3b\x9a\xf9\xed\xde\x0d\xef\x4e\xf1\x29\x3e\xab\x66\x33\x29\x29\x00\x12\x9f\xe2\x0d\x48\x3f\x82\x76\x40\x34\x9d\x80\x4c\x02\x14\x22\x6a\xe8\x76\x51\x45\x56\x88\x54\xe6\x1b\x6b\x7a\xf9\xc4\xdd\xb7\xe4\x18\x02\x93\x04\x50\x44\xee\x96\xdd\x13\xb5\xdf\xcd\x3f\x85\xc2\x98\x04\x0c\x34\xbe\x6c\xed\x65\x98\x02\x92\xc4\x98\x3a\x65\xfe\xb7\xa8\x36\x22\xb7\x32\xbf\x12\xde\x11\xbc\x4e\x93\x87\x88\x98\x35\x1f\xbe\x6a\xe5\x4a\xad\x57\xf0\xba\x09\xc6\x8c\xa9\x90\x19\x87\xf3\x6f\x9b\x83\xb4\xdb\xed\x15\xe0\x91\x95\xc7\xd7\xc3\x49\xdf\xae\x1e\xe2\xee\x70\x26\xaa\xb6\xe2\x26\x10\xa5\x00\x0e\x42\x54\xcf\x13\x85\xca\x30\x20\xdc\xa2\xb2\x22\xd7\x80\x91\xe7\x89\x6f\xac\x04\xa8\x86\x92\x29\x4b\x29\x0b\x05\x18\x48\x4c\x31\xc4\xca\x3e\x88\x76\x8f\x3c\xd3\xa5\xbd\xd7\xbb\x94\xb4\x11\x18\x03\x49\x5b\x57\xf4\x69\x7f\xee\x7e\xf2\xe9\x6f\x51\x0d\xef\xaf\x58\x71\x2b\xc3\x9b\x48\x9a\x64\xcc\xe4\xad\x2b\x56\x00\x07\xde\x95\x2b\x6f\x61\x78\x92\x20\x69\xab\xed\x96\x95\x2b\xb5\x4f\xb4\x77\xc6\x7c\x64\xc6\xcb\x5f\x6f\xf8\x02\x7f\xdb\x1a\xc8\xa4\x92\x05\x9e\x6e\x45\x8e\x86\xdd\x29\x0e\xa2\x9c\xfe\xe5\xba\x05\x86\xfe\x66\x99\x43\x30\x69\xd1\x45\x7d\x15\x5d\xd3\x7b\xdb\x6a\x07\xb4\xcb\x16\x02\xb5\x7e\x43\x3a\x58\xdf\x1a\xfc\x76\x02\xde\xe5\x90\x72\x03\x33\x36\xf8\xf8\x95\xf9\xd7\xc0\x03\x36\x57\x78\x60\x5e\xd0\x71\x22\x99\x2a\x50\xf2\x5b\xf6\x3c\x5c\x38\xa3\x4a\x40\x16\xdc\xa5\x84\x6f\x14\x81\xcc\x8d\xa2\x91\x1c\xe4\xb4\xfe\xe1\xd5\xab\x87\x57\x7f\x8b\x72\xc3\x88\x36\x32\xa2\xdf\x92\x5b\xad\xdf\x82\x90\xf9\x70\x59\xc7\xe6\x65\xf4\xf2\xaa\xa8\xd7\x40\x59\xcf\x44\xdd\x54\x26\x5a\x5a\xdc\xbb\xbf\x59\x86\xa8\x3b\x9a\x09\x73\x60\x44\x08\x1b\x5e\xd0\x59\x3e\x93\x72\xa7\x92\x22\x2e\xaa\xd1\x38\x97\x03\x64\xfc\x11\xcd\x5f\x2b\x5d\x2e\xa7\x21\x7c\xc9\x4a\xd3\xe5\x7f\xbe\xdc\xe4\x3e\x25\x37\x5d\x8c\x3c\x61\x70\xbd\x91\xb9\x71\xff\xc1\x37\x49\x9c\xcb\x1d\x40\xf8\x37\xda\xed\xbe\x92\x93\xce\x38\xe3\xa4\x12\x5f\x1b\x4c\xcd\xe5\xbc\x9a\xd7\xe0\x67\x3c\xec\xf3\x3a\xee\x5d\x35\xa0\x3e\xc3\x9b\xed\x5b\x8d\x13\xee\x31\xd6\xc8\xc3\xc4\x0d\x6a\x16\x92\x6a\xd6\xa9\x14\x90\xd5\x44\xa7\x81\xba\xa2\x24\xd5\x6c\x5a\x49\x80\x7e\x44\x30\x8e\x7c\x73\xe3\xfc\x40\x30\xb8\x23\xef\xdc\xa1\x1b\x06\x3b\xee\x74\xc2\x43\x41\x7e\xdb\x36\x67\x56\x70\x53\xdc\xa9\xa7\x72\x94\xdb\xf5\xa4\x4f\x98\x33\xc7\x95\x95\x31\x9f\x4e\xf3\x98\x17\xbe\x4d\xef\x94\x30\x89\xf9\x7d\xa2\x09\x9b\xef\x32\xe6\x8d\xef\x72\xe4\x27\x79\x6e\x81\x6b\x6f\x71\xd3\x1c\x97\x71\x6f\xd6\x9e\xde\xec\xce\x38\x1d\x57\x0a\x8b\x46\x17\xf1\x38\x96\x11\x1a\xae\x6c\x10\x32\x2e\xee\x04\x6d\x3a\xf5\x6d\xbf\xd3\x63\xe7\x86\xa8\xb1\x5a\x33\xd0\x30\x53\xc9\x6f\x1e\x0a\x0d\x16\x62\xcd\xd8\x12\xa7\xeb\xd5\xc2\x9a\xb5\xcf\xc1\x6c\xfe\x56\xe3\x18\x91\x1b\xbb\x17\x72\xe9\x3e\x6c\x12\xf3\x23\xba\xfc\x60\x99\x0f\x16\xf3\x09\xde\xbf\x8a\xa6\xa0\x05\xdf\x52\xb2\x56\x08\x42\x00\x1c\x60\x30\x1a\xd1\x46\xf8\x4a\x58\x64\x08\x83\xb7\x08\xda\x40\x91\xb3\x6d\x90\x15\x25\x48\x80\xca\x17\xae\xd5\x4f\x2a\xdf\xfc\xf2\x87\x4c\x5e\x6b\xca\x4a\x98\x1e\x79\xc4\x44\x58\x53\x56\xaf\xe9\xaf\x2c\x4b\x92\x2c\xfb\xd7\x63\x8f\x6b\xe7\xd8\x1d\xf8\x62\x2c\xda\xdb\x8a\xfb\x6f\x55\x23\x56\xc2\x24\x9b\xbc\xd6\x7f\xfd\xcb\xea\x35\xc9\x26\xc2\x0a\xd5\x3c\xcf\xf3\xda\xab\xc7\x1e\xcf\xd3\x58\xb4\x13\xfa\xa3\x2d\x58\xb4\x8f\xfe\xdc\xee\xc0\x08\x90\x72\xe8\x1a\xea\x0d\x1a\x19\x1e\xba\x6e\x3a\x4a\xe3\x02\xb1\x8f\x05\x94\xb0\xe8\xd5\x75\x27\x55\x3e\xcc\xb8\xce\xb0\x10\x49\x80\x32\x7e\xba\x8f\x7a\xe3\xb4\xef\x74\xfc\xea\xb6\x9a\xfe\x01\x7f\xc7\xf2\x53\xd7\x0d\xcd\xf1\x81\xcf\x3b\x77\xe3\xa6\xe9\x77\x9f\xb3\xf3\xb6\x57\x1e\x7a\xe0\xa9\x46\xa6\xa4\xab\xa9\xc3\x15\x6c\x4c\x66\xda\x7f\x7b\x5b\x2b\x7e\xf6\x39\xe9\x42\xed\xb3\x5b\xbd\xd5\xb5\x5c\x66\xed\xa5\x7f\x01\x06\xce\x7c\xf9\x8f\xda\x35\xda\xc7\xcf\x0d\xdd\xfd\xe1\x64\x28\xdb\x3b\xf2\x9f\x57\x47\x6e\x39\x0f\x48\x9b\x12\x5a\x3a\x63\xce\xfc\x53\x16\xfc\xf4\xf5\xe2\x9a\x3e\x53\xe8\xd7\x68\x64\x41\x2c\x72\x21\x37\x2a\x41\xd5\x08\xf1\xc0\xc5\x29\x55\x31\x43\x7c\x6c\xc2\xd9\x0c\x12\x47\xc5\x81\xa3\x38\xa1\x48\x2a\xa6\x9b\x24\x05\x13\xfa\x0f\x78\x81\xf6\x80\xf6\xf0\xcf\x7f\x4e\xa4\xf0\x02\xed\x5f\xda\x03\x53\xc1\xa9\x7d\xa2\x7d\xf2\x7d\x98\x96\xbf\x83\x7c\xf1\xe7\xda\xc3\x60\xcf\xdf\x41\xa4\x22\xa3\x2f\xba\xab\xdc\xa3\x2f\x46\x22\x44\xca\x5d\xe5\x26\x52\x11\x58\xa5\x9d\x09\x4b\xdf\x8e\x6d\xdb\x36\xfa\x26\xec\x7a\xe8\xed\xef\x3e\xf2\xc8\x23\x8b\xde\x86\xa5\xda\x99\xda\xc7\xdb\x00\xc7\x1e\x82\x5d\xda\x75\x95\xf9\x3f\x97\x4b\xf9\x3f\xdb\xed\x38\x22\x95\xe3\x48\xb9\x84\x23\x76\x7b\xfe\xcf\xd2\x18\x5e\x2b\x32\x21\x6a\x03\x8a\xa2\x39\x85\x36\x69\xcc\xda\x45\xc3\x95\xd8\x58\xe1\x38\x0c\xe0\x11\x4b\x19\xeb\x1c\x34\x18\xc6\x73\x02\x94\xc3\x78\xe1\x01\x2a\x55\x9c\xc5\x63\xc6\x7c\xc0\xa2\x91\x02\xab\x96\x69\xd5\x45\x1f\xdc\x45\x3a\x88\x83\x93\x00\x53\xf7\x7c\x70\xe6\x42\xdb\xee\xb3\x17\x4f\x9d\x02\xca\x83\x77\x82\xe7\x76\x38\xf0\xeb\x1f\x6e\xb9\x68\xa9\xb3\xcd\xd6\x35\x55\x9d\x3a\x35\x53\x35\xa3\xa3\xa3\x67\xc6\x9a\x8e\x8d\x77\xfd\x70\xf3\xa5\x27\x2f\xea\xec\x4b\xf7\xf7\x36\x54\x4e\xef\xe8\xec\x19\x58\xd5\xb6\xe9\x1e\x3c\x9a\xf8\xe5\xa6\xdd\xef\x81\xe5\xef\x77\x9c\xf9\xd3\xac\x52\xb9\xee\xb6\xc6\xeb\x9f\xb8\x55\xfb\xe0\x76\xda\xa3\x7d\xb2\x69\xe7\x29\x42\x0f\xdb\xd1\x95\xcd\x74\x57\x74\x0f\x0c\x74\x57\x5c\xba\x7e\xe3\xce\xef\x9c\xde\xde\x99\x6a\x98\x50\x38\x70\xc9\xd1\xf1\x07\x05\xec\x4d\x05\xd5\x20\xd5\xe0\xe4\x3c\x2a\x68\x20\x16\x62\xa4\x6c\x52\x52\x41\x95\xd3\xaa\x42\x3b\x51\x48\x55\xe8\x88\xc2\xb8\x42\x59\x83\x5b\x96\x92\xb2\x4e\x85\x11\x05\xfc\xc2\xf1\xae\xff\x78\x44\x3b\xff\xde\xa7\x07\xee\x19\x78\xfa\xe0\xa7\x4f\xfb\xfd\x4f\xcf\xc7\x9d\xb0\xa5\x70\xe0\x85\x22\x55\x2c\x71\xea\xd3\xf3\xe7\x3f\xed\xa7\xd1\x09\x3c\x85\xd9\xf9\xfa\x4d\x07\x3f\x35\x6e\xb8\x57\x3b\x3f\xff\x94\x71\x00\xe4\xbf\x14\x6e\x36\x3d\x7d\x6f\xe1\x71\xc6\x7c\x4d\x88\xde\x47\xbd\x8e\xc2\x46\x8c\xd6\x98\x83\x93\x2b\xa6\xba\x69\xe4\x16\x02\x38\xd4\x8a\x33\x69\xa4\x64\x44\xd2\x45\xef\xbb\xe8\xef\xda\x88\x36\xac\x8d\xfc\xfd\xa2\xa7\xa1\xff\xa5\xb7\xb4\xb7\x8a\xbc\xb6\x4b\xb4\xb7\xde\x7a\x09\xfa\x9f\xc6\xb9\xfb\xf5\x93\x17\xfd\x1d\xda\xef\x7f\x0d\xd6\x7d\x12\xdc\x5f\xad\x0d\xbf\xbb\xbd\x40\x63\xbb\xfd\x5d\x18\xaa\xde\x1f\xfc\x44\xbb\x04\x21\x40\xfc\x21\x44\x7f\x44\x23\x74\x0a\x42\x7c\xd6\xa5\x26\xeb\x04\x86\x25\x0d\x67\x12\x23\x80\x1d\x12\x7a\xf7\x44\xd4\x80\x1a\x80\x20\x64\x0d\x6f\x20\x5d\x61\xd4\x4f\x1a\x09\xd6\x88\x8a\x2f\x04\xbb\x27\xc8\x1a\x90\x53\x62\x5d\xc0\x24\xb9\x8a\xbe\xe5\xbc\xe9\x0f\xcf\x52\x60\x2a\x6b\xaf\x0f\x53\x3d\x93\x93\xcb\xa6\xb6\x3a\x9d\x8a\xdf\xe1\xb3\xb3\x96\xf2\xea\x0a\xd6\xbe\x4c\x99\x26\xf0\xa0\xb8\x85\x5b\x87\xc3\x0a\x41\x8a\xd3\xfd\xfe\xa5\x55\x03\x3c\x1f\x8c\x08\x35\xe1\x79\x33\x26\x89\xee\xe6\x1e\x0f\x19\xaa\xa8\x2b\x67\xed\x2c\x63\x29\xab\x9e\x5e\xd7\x5d\x59\xeb\xe7\x81\xf8\xb3\x76\xe6\xa1\xbd\xda\x43\xff\xbc\x00\x5f\xfd\x06\x6c\xda\x06\xd8\x94\x5a\xb2\xfe\xda\xab\xee\x9c\x94\x54\x9c\x41\xce\x99\xda\xb1\xf6\xd4\x40\x69\x49\x5d\xd8\x4b\xd3\xeb\xb8\x89\x5e\x5f\xed\xaa\x50\xf0\xd1\x87\x13\x6b\x22\xe1\xf8\x24\x8e\x5b\xc7\x4e\x2e\x2d\xad\xbf\x61\x6f\x7b\x75\x50\x08\x73\xce\xcc\x96\xf5\x5b\x56\x2f\x3d\xa9\x85\xe3\xec\x44\x69\xa4\x33\xd9\xdf\xbb\x64\xd9\xf6\x49\x5a\x5e\x3b\xf5\xdd\x2b\xbf\x80\x81\x82\xde\x63\xb4\x35\x1b\xf2\xa1\x32\xd4\x8f\x16\xa1\xd3\xd1\x46\x74\x11\xba\x0e\x21\xca\x2d\xc7\x14\x55\x94\x54\x51\x62\x44\x60\x44\x89\x91\x9d\xaa\x44\x33\x12\xed\x16\x40\xa2\x49\x26\x93\x55\x95\xac\x2a\x65\x09\x46\x14\x18\x89\x66\x14\xfd\x5c\x44\x51\x65\x85\x91\x15\xa3\x59\xea\x67\x55\x25\x9b\x94\x18\xfd\x31\xe0\xa6\x8b\x97\x29\xd9\x18\x72\x32\x4a\xb6\xe0\x7b\xa9\xca\x8a\xaa\xdf\x62\xdc\xa5\x37\x05\x34\x2e\x18\x86\x2c\x04\xc7\x1c\xe5\x06\x4f\xac\x78\x45\xbb\x79\x45\x63\x69\x55\xc7\x95\x6f\x72\x1d\xf9\xbf\x9e\x24\xfa\x1a\x4e\x3e\xb9\x21\xc0\x0f\x44\x29\x53\xe3\x0a\xed\xe6\x57\xea\x3b\xb8\x37\xaf\xec\xa8\xda\xf4\x1e\xcb\xfe\x23\xd8\xb5\xb7\x61\x7e\x6d\x7a\x61\xba\x76\x7e\xc3\xde\xae\xe0\x3f\x58\xf6\xbd\x70\xe7\xde\xa6\xb9\xb5\x55\xa7\x57\xd5\xce\x6d\xda\xdb\xa9\x55\x74\xd4\xeb\x97\xcb\xd1\x86\x15\x30\x44\x3a\x4f\x6e\xf0\x89\x27\xc5\xa2\x03\x7c\xa0\x41\x6c\x88\xca\xfa\x8f\xd4\x77\xfc\x06\x86\xc0\xfe\xbd\xfd\xda\x2f\xb4\x3b\xb5\x5f\xec\xff\xde\xf7\xf6\x43\x33\xcc\x87\xe6\xfd\x0f\x9e\xe0\x03\x59\xd2\x49\xbf\xfc\xff\xe3\xec\x3b\xe0\xa4\x28\xd2\xbe\xeb\xa9\x4e\x33\xb3\x3b\xb1\x67\xba\x27\xef\x4e\xea\xd9\xbc\xec\xc4\xcd\x3b\xc0\xb2\xa4\x25\xe7\xbc\x20\x39\x48\x92\x28\xc2\x90\x04\x45\x3d\x45\xc5\x80\x81\xd3\x03\x11\x39\x14\xf5\x54\x14\x75\xf5\xce\x33\x60\xba\x3b\xbd\xf7\xf0\xd4\xc3\x3b\xef\xde\xd3\xf7\x82\x7a\x49\xd8\x9d\xe2\xfb\x75\xf5\x6c\x00\xf5\xee\x7b\x5f\xd8\x9e\xae\xae\xaa\xee\xae\xaa\xae\x7a\x2a\x3c\x4f\xfd\xff\xc7\x83\x35\xb1\xba\xa3\x15\x93\x0b\xb1\xd5\xdb\x98\x08\x3c\x09\x77\x3f\x19\xa8\xad\xf5\xce\x5f\xb5\x82\xfc\x31\x78\xfc\x1d\x7e\x10\x14\x4e\xae\x38\x5a\x17\xc3\x33\xc6\x96\x4d\x2e\x1b\x3b\x73\xd4\x03\x83\x6d\x5f\x1a\x0c\x5f\xda\x06\x3f\x30\x6a\x26\xf5\x9a\xd5\xfe\x40\xab\xed\x0b\x83\xe1\x0b\x5b\xeb\x03\xed\x58\x19\x84\x0b\x26\x97\x3d\x5c\x5b\x56\x1b\x38\xfe\x4e\xee\x11\xb2\xf0\xc9\x40\xa2\xd1\xbb\x68\xc5\xaa\xf9\xde\xda\xda\x80\x12\xa8\x2d\xab\x7d\xb8\x6c\x72\x01\x1e\xc4\xbf\x93\x43\x34\x65\x7b\xfa\xa7\x16\xdf\xff\x6d\xd6\xf9\x42\xbf\x7d\xb1\x16\x54\x87\x86\xa0\x25\x68\x2d\xda\x89\x50\xc4\x1e\x0a\x26\x13\xf1\x18\x93\x3f\x4b\xe9\x24\x1f\xea\x31\xbb\x77\xf0\x0e\x3b\xfd\xf1\xe3\x78\x4c\x9d\x76\xa8\x62\x98\xce\x40\xa2\x29\x31\x4e\x7b\x8d\x90\x3a\xbe\xe1\x92\x1a\x6e\x7c\x4c\x8a\x27\x43\xaa\x9f\x0f\x42\x0e\x55\xfc\xc6\x1d\x21\x87\xdd\xcf\x50\xe5\x91\xa6\x88\x49\x5d\x4e\x81\x8a\xdb\x66\x2d\x9b\xb7\x30\x3c\x62\xd4\xa8\xb0\x72\x64\x74\x5d\xac\x71\xf2\xfa\x86\x0a\xa5\x74\x75\x49\x6b\x7b\xf9\xb9\x8e\xd1\x9e\x9a\x9a\x51\xd3\x0d\x91\xa1\xd7\x61\x7c\x1d\x03\x17\xfc\x4a\x32\xa1\x0f\xe9\x97\x30\x37\xb0\x8d\x61\x60\x2c\x2c\xe6\x6c\x45\xb5\x4a\x86\xbc\x36\x60\x58\x4d\xac\xad\x06\xcf\xef\xaf\x12\xfb\x74\x50\x4b\x06\x6e\x9f\x34\x71\x7a\x3c\x72\x8d\xcf\xb7\x66\x72\x6c\xb1\x99\xb1\xb6\x26\x9d\x4c\x64\x61\xe5\xe0\x90\xe5\xf4\xe0\x8c\x89\x2b\x72\x56\xe8\xcc\x57\x8e\x71\x7a\xf5\x64\xae\x27\x0d\x3b\xab\x64\x79\x00\xd9\x18\xd3\x6f\x72\x8c\xff\x04\xaf\x1b\x6f\x77\x16\x55\xaf\x63\x00\x9f\x8d\xa4\x1a\x14\x27\xfe\x20\x9c\x4e\x45\xc2\xc9\xd4\x84\xcb\x30\x5e\x79\xd4\x7a\x11\xf1\xa7\x29\x06\xb6\x85\xae\x61\x2e\x47\x1b\x10\x8a\x24\x42\x41\x87\x3d\x1e\x63\xd4\x1e\x49\x75\xa8\x2d\x83\x32\xa9\x53\x64\x16\xce\x61\x09\x04\xa9\x69\x72\x52\x9d\x3c\x24\xf3\x7a\x7c\x39\x06\xa1\x54\xd2\x9a\x88\xc6\x79\x87\xd5\x1e\x71\x50\x54\xab\xa4\x35\x9e\x0c\x52\xc4\xfe\x78\x92\x86\xc4\x1d\x41\xa5\x1c\xac\xf6\xbc\xe5\xb7\xd6\xff\xe1\x09\x87\xef\x3b\x7e\x47\x43\x63\xc3\x96\x2d\x1b\xc0\x18\x2e\xb7\xec\xdf\x52\x12\xad\x1c\x3a\x79\xf2\xd0\x4a\x72\xfb\x90\xcd\x57\x0e\x7c\x6a\x70\xcb\xb0\x39\x2f\xdc\xd0\x31\x7e\x1e\x3c\xf5\x31\xcb\x7e\xcc\xe2\x59\x43\x17\x35\x4f\x8f\xf9\x74\x58\x70\xf2\x0e\xa5\x83\xff\x1d\xff\x88\xb9\xce\x34\x69\x4a\x53\xee\x8b\xd1\x75\xf5\x63\xc7\x34\xd4\x4b\xf3\x17\x2f\x60\x66\x36\x8d\xbf\x65\x0f\xbc\xf5\x46\xa1\xa1\xbc\x74\xdb\x13\xb2\x4e\x89\x16\x95\xca\x0e\x7f\xe5\x84\x3a\xf2\xae\xab\x6e\xd9\x88\xc3\x8d\x6c\xe9\xa4\x15\x5e\xd6\xf9\xf0\xb8\x7d\xa7\xaa\xbb\x5f\xa8\x9c\x86\xe7\xce\x0e\x06\x66\xe4\x0e\x4e\x3b\xf9\x93\x68\x49\x63\xc7\xd4\x06\x98\xc3\x62\xfe\x85\xf6\x54\xa8\x74\xcb\x0b\x2c\xb9\x75\x27\x6b\xba\x6a\xca\x94\xfa\x86\xa9\xdf\xe4\xa5\xd6\x43\x88\xe1\x85\x28\x13\x02\x6b\xfc\x1b\xfb\x3d\x4a\xc1\xb0\xea\x5e\xa7\xbd\xec\xe0\x46\x10\x16\xe0\xff\xba\xc4\x28\xdd\x0e\x7f\x23\xaf\x0d\xa8\x98\x09\xb5\x44\x24\xa7\x99\xeb\x2f\xe5\x9e\xad\xbb\x88\xd8\x57\x79\x84\x7c\x14\x2b\x48\x03\x07\x13\xb0\x28\xf1\x42\x28\xa8\x44\x15\x0d\xb9\x31\x99\x48\xc5\x58\x8b\x2a\xfe\xf3\xd0\x1d\x14\x4a\x4c\x03\x16\x72\xd8\x65\x0d\xfc\x38\x99\x68\xc6\xf1\x18\xcb\x8c\x58\x33\xa6\x31\xde\x9c\xfc\x57\x25\x78\x1c\x9c\xdd\x8f\x4d\x0e\xa5\xad\xb5\xa4\x69\xa8\x65\xf5\x21\xf8\xcb\x3d\xe4\x6f\xf7\x65\x06\x3b\x64\x8e\x0b\x3b\xe2\x75\x73\x1f\xcf\xb6\xb7\x67\x1f\x7f\xf9\xf1\x6c\x7b\xc2\x60\x54\x4a\x0d\x99\x59\xf7\xfc\x6a\xfd\x7d\x60\x64\xed\x87\x56\x87\x06\x8f\x21\x37\x12\xa7\x14\xc0\x1e\xfb\xd6\xbf\xbd\xf8\xa3\x1d\x8d\xd3\x47\x86\xca\xc6\xae\xae\x22\x3f\x21\x7f\xbf\xc7\xc4\x45\x1c\x76\x99\x35\xe6\x6f\x6f\xcf\x3e\x3e\x77\xcd\x62\x7b\x89\xdd\x24\x5e\x7d\xd3\x86\x5f\xdd\x33\xf3\x1e\x04\xc8\x96\xef\x07\x97\x20\x04\x79\x43\xd9\x74\xc2\x46\x57\x9e\xfd\x7c\x11\xa8\x95\xce\x61\xf7\x83\x23\x3f\xaa\xaa\x62\xa3\x4a\x48\xe0\x05\xbf\x86\xbe\x19\xea\xa1\x94\xa1\x86\xb6\x55\x4c\x52\x23\x96\x89\xa5\x53\x49\x0a\x14\x13\x14\x4c\xa0\x15\x52\xd2\x02\x26\x9d\x64\x04\xab\xe9\xd4\x35\xfb\x4e\xed\xde\x5d\x33\xbe\x31\x16\x2c\xb2\x17\x42\xda\xc6\xb0\xa3\xa6\x44\xc3\x7a\x87\xd5\x51\x60\x01\xc0\x5c\xc3\x70\xfb\x84\xb4\x0e\xb3\x5c\xe6\x2f\xc9\xb5\xe3\x32\x66\x9d\x29\xa3\x2b\xfd\xe1\xf8\x50\xeb\xfa\x89\x03\xed\x45\x05\x0d\x76\xd6\x80\xf1\x80\x8d\x46\x8e\xd5\xd9\x86\x97\x02\xcb\x32\x32\xfe\x40\x0c\xd8\xeb\x2d\x52\x73\xe1\x3e\x28\x6f\x1c\x94\x76\xa4\xea\x47\xb7\x5d\x31\xb6\x9e\x9b\x30\xd8\x94\x28\x04\x8e\x83\x35\xaf\x2f\x2f\x5f\x63\xb6\x17\x3b\x8a\x30\xb0\x77\x0f\xb1\x47\xaa\xca\x58\x27\x3f\xd7\x26\x89\x1c\x66\x01\x2a\x4b\x18\xb3\x3b\x15\x29\x89\xfa\xb0\x04\x18\x63\xa6\xe0\xf9\x66\xc6\x5e\x3a\x98\xd5\x43\xaa\x0a\xc4\x9e\x71\x57\xb3\x0e\x71\x2f\x53\x9c\xf0\x00\xaa\x44\xc3\x29\x86\x6c\xdf\xa0\xbd\xbf\xaa\x1b\x7f\xbb\x37\x28\xa1\x20\xab\xd6\x07\xda\x38\xa3\x42\x3a\x6c\x4d\xd8\xd4\x71\xa9\x04\x76\x5e\x90\x35\xd0\x39\x0b\x1d\xa9\x4a\xb8\x35\x56\x5a\x3e\x68\x50\x79\x29\xe3\x8a\x97\x78\x2a\x2b\x3d\x25\xf1\x3f\xd5\x68\x3e\xf8\x78\x22\xaa\xfa\x44\x13\xe4\x9f\x45\xd1\x87\xc9\xa7\x0f\xca\xa1\x80\x7b\x40\xb3\x67\xbc\x3e\x37\x8c\x7c\xfc\x63\x18\xf5\xca\x63\x50\xf7\x0b\xbc\xf2\xba\x75\xe9\x57\x0f\xb4\xaa\x11\x1e\x04\xef\xc3\xdf\x07\xef\x23\xac\x61\x7c\x2c\x5e\x12\x8d\x93\x39\xde\x8a\x4a\x8f\xb7\xb2\x02\xfe\x7a\xb9\xc7\x31\xf6\x6e\x72\xfe\x9e\xd1\x23\x18\xc6\xc0\x5a\xf1\xb6\x0f\xce\x40\xd1\xc3\xe0\x7d\x70\xd7\x67\xb9\x96\x75\xef\x4f\xf9\xd1\x8a\xc8\x8d\x5f\x81\xff\xab\x1b\x6f\xfc\x9b\x86\x5f\xc2\x5f\xe4\x11\x45\xe3\x90\x84\x3c\xb0\x70\x84\xd1\x20\x92\x92\x56\x3d\x44\x94\xa8\x86\xae\xcc\x7f\x1a\xe0\x2f\x22\xce\x63\xb2\x16\x18\x49\xc3\x57\xb6\x22\xa3\x5e\x94\x99\x8e\xae\x5f\x90\x75\x11\x06\x07\xf9\xac\xd9\x6a\xe7\xfe\xe1\x2c\xb9\x80\x7c\x16\x1d\x77\x8a\x9c\x95\x59\x21\x60\x87\x59\x6c\xa8\xfb\x8a\x07\x4c\xa5\x25\x22\xd3\xa9\xef\xc3\x4b\xb8\xc8\xfd\x0b\xb9\x51\xf1\x25\x6f\x85\x9e\xb7\xe6\xdf\x09\x22\x70\x7a\xe8\xff\xde\xdc\x97\xe4\x97\x36\x9f\x49\x2f\x4a\xa4\x24\xc2\x30\x21\x3e\x1b\x22\x67\x3e\xba\xb0\x10\xc6\x32\x73\x48\xb0\xef\xed\xff\x45\x4e\x39\xe8\xdb\x7f\xf2\x92\xa9\x34\x6a\x67\x3a\x1d\x17\x4c\x5c\x79\xf7\x2b\xd7\xe1\x6d\xdd\xbf\xbb\x44\xee\x24\xa8\x4c\x50\xc7\x1f\xa1\x60\x58\x9b\xcb\xc6\xa5\xbc\xe9\x3e\xb5\xe8\xe7\x05\x59\x12\x7a\x24\x11\x85\x0b\xa6\x1f\x97\xbb\x94\xd0\x56\xdb\xbe\xcf\xa3\xcd\x6f\x93\x4f\xef\x39\x4e\xde\x58\x21\x80\xee\x3a\x83\xd9\x22\x0c\x7f\x6f\xc3\xe2\xe7\xaf\x1f\x37\xee\xfa\xe7\x17\xcf\x7b\xb2\xed\xba\x22\xab\xb5\x8c\x64\xdc\x4a\x49\xd4\xbf\x63\x19\x88\xb7\xde\x03\xde\xb7\x73\x17\x7a\x8c\xf7\xce\x51\x23\x34\xc6\x4b\x5e\x23\x9f\xbe\xbd\xf9\x96\x5d\x06\x97\xee\x7a\x3d\x36\xcc\x59\x3c\xee\xfa\xe7\xdf\x7d\xfe\xfa\x71\x43\x07\x5d\xef\x8f\x96\x28\x6e\xe8\x2c\xb3\x5a\x8b\xb6\x2f\x58\xb9\xf9\xed\x3b\x49\xaf\x35\x5f\x47\x8f\xfd\x5a\x9f\xfd\x0a\xe5\xfa\x37\x61\x0b\x1d\x87\x5b\xaa\xe0\x92\xdd\x64\x3b\x48\xb7\x36\xb2\xa6\x43\xf0\x85\x8f\xc0\x2d\x97\x29\x0e\x39\xb4\xf0\x91\x3f\xf7\x8f\x44\x9e\xfe\x86\x6e\xb0\xf9\x62\x96\x7f\x99\xcb\xa2\xdd\x08\x71\x79\xeb\x33\x2a\x25\xd3\xa9\x24\x93\x88\x6a\x6c\xe3\x0e\xc6\x2e\xfb\x99\xfc\xac\xae\x7f\x8c\xa8\x35\x91\xaa\x62\xa3\x55\xd0\x43\xfb\x14\x8f\x69\xb3\x37\x13\x16\x78\x87\x68\x97\xa5\x78\x40\x95\x45\x62\x22\x5a\x85\xbf\x3d\x06\x7d\x2e\xbf\xbf\xe2\x64\x65\xc5\x63\x15\x4e\x77\xb0\xa2\xde\x12\x00\x30\x46\x72\xb3\x14\x23\x40\xc4\x92\x89\x95\xb8\x9c\xd5\xa7\xaa\xca\x8f\x95\xc9\xae\xa2\xd2\x94\x39\x00\xaa\x8c\xd2\x99\xf4\xe6\xc6\xaa\xb0\xd3\x59\x75\xaa\xaa\xec\xe1\x32\x97\x2b\x58\x5e\x6b\x0e\x01\x18\xdd\xf8\x39\x97\x11\x20\x64\x1b\x17\x77\xb9\x2a\x1e\xab\x28\x3f\x5e\xee\x72\x85\x2a\xeb\xcd\x21\x08\x5a\x1a\xab\xc3\xce\xac\x20\x94\xba\x8a\xfc\xac\xc1\xe0\xd8\x00\x7b\x1c\x06\x96\x35\x38\xc8\x8d\x37\x49\x06\x1e\x7c\x45\xee\x0a\x41\x28\x73\xfa\xfd\x9c\xc1\x20\x6f\xac\x63\x2a\x99\x2a\x4f\x2c\x18\x75\xf2\x06\xd6\x4b\xc3\x2a\xdc\x7e\x0f\xe6\x0d\x8e\x7d\xa4\xd3\x51\xc0\x30\x05\x0e\xc8\xec\x73\x14\x30\xb2\x92\x0f\xf4\x02\x67\x90\xaf\xef\x1e\xb7\xc1\x61\x10\xb0\xcf\xef\xae\xa0\x18\x43\xce\x8b\x59\x96\x70\x59\x54\x91\xc7\x8f\xa0\xdb\x4f\xfa\x0c\xb4\x43\xbd\x2e\x25\x4a\xfb\xa8\x74\x2a\x9d\x2a\x85\x98\xc4\x92\x88\x33\xc6\xba\x79\x26\xec\x5a\xee\x0a\x7f\x2f\xe4\x5e\xee\x0e\xdd\x3a\x6f\xeb\xa0\xcc\xd4\xa9\x9b\x56\x42\x0c\x7e\xe3\x0a\x73\x83\x87\xfb\x32\xc0\xbb\x0a\x92\x5d\x59\x57\x38\xec\x62\x5f\xee\x6a\x56\xcf\xf0\x45\x61\x75\xfd\xa6\x75\x37\x1d\xd9\xb8\xbe\x34\x12\xa6\xf3\x08\xb5\x4e\xa1\x7e\xbc\x23\xd5\xa8\x05\x0d\x46\x43\x11\x8a\x38\x02\xc9\xc8\x37\x2c\x85\x03\x49\xd1\x11\x4a\xaa\x67\xe6\xf2\xb0\xcb\xd7\xca\x1c\x21\x4a\x53\x09\x1d\xe4\x10\xa6\xf4\x5a\x79\x5c\xb7\x43\xdd\x87\xce\x9d\xe3\x51\xae\xf8\x5c\x9f\x27\x93\xed\x73\xe3\xcc\xb9\x73\xdd\x87\xb2\xd9\x6c\xb6\x1f\x88\x9c\x02\xd9\x6c\x16\xa3\x6c\xb6\x1b\x65\xb3\xec\x25\x21\x04\xf5\xbf\xca\x47\xd3\xf4\xdb\x79\x6e\x7a\x04\x31\xc9\xc2\x17\xab\x65\x18\x51\xeb\xa9\x45\xed\x47\x23\x6a\xe5\x2c\x96\x2c\xaa\x74\xe2\x24\xbb\xc0\xa5\xd8\xce\xdd\xcf\x3d\x47\xfe\xf9\x1c\x26\x77\xce\xdc\xba\xfb\xb9\xe7\x76\x6f\x9d\x09\x8b\xf1\x73\x60\xa0\x4e\x72\x27\xc6\xb0\x78\x26\x46\x6a\x94\xe7\x76\x17\x4a\x4f\x4e\x56\x83\x26\x3f\x29\x15\x6a\xb7\x4d\x7e\x52\x72\x4a\x4f\x4e\xbe\xa4\xad\x52\x5e\xfc\xb0\xb6\x07\x36\x95\x88\xa6\xa5\xb8\xb6\x94\xec\xb0\xd3\x0d\xce\x94\x1c\x2f\x4d\x37\xc4\x7e\x63\x2b\x1f\x87\xae\x99\x3a\xb1\xe9\x4b\x8c\xbf\x6c\x9a\x38\xf5\x9a\x6b\x1e\xdb\x8a\xbf\x6c\x9e\x30\xf5\x9a\x6b\xa6\x4e\x68\xfe\x12\x6f\x7d\x0c\xae\xe9\x3f\x54\xca\x3d\xb6\xb5\x7e\xa3\xc5\x64\xd9\x58\xbf\xf5\xb1\x6b\xae\x99\x2a\x58\x36\xd6\x5d\xf3\xd8\x35\x75\x1b\x2d\xc2\xd4\x6b\x98\x73\xfd\xc7\x4d\x42\xef\xdc\xd1\x8a\xaa\x51\x33\x6a\x47\x53\xd1\x7c\xb4\x16\x21\x44\x97\x7d\xe9\x0a\x2f\x55\x4c\xa4\x53\x20\x0b\xb2\x64\x37\x53\x04\x84\xbe\x89\x5c\x3c\x26\x53\x43\x59\x91\x2e\x1e\xe7\xad\x66\x25\xbb\xcc\xf7\xbf\x4a\x69\x75\x97\xca\xcf\x68\xde\x74\x85\x6a\xd5\x35\x6c\x97\x84\x06\x8d\x66\xc7\x43\xec\x03\x5c\xcb\x8f\x54\x18\xec\x2e\x63\x41\x99\x2d\xb8\x7d\xa2\x8b\x79\xa6\xea\xef\xad\xa2\x98\x99\xb6\xf2\x79\xd2\x45\x7e\x4b\xba\x9e\x5f\x49\xe1\x54\x9f\xfa\x7e\x46\x4c\x8a\xad\x5d\x86\x42\xa3\x61\x86\x5e\x6f\x70\x1b\xa6\x1b\x3e\x2c\x70\x16\x4c\x37\x18\xf4\x1e\xfd\x0c\x7d\xb1\xcd\x44\x81\x4f\x3a\x4c\x27\x6c\x5e\x9b\xcd\x6b\xbb\x63\x86\x1a\xd5\x60\x98\x6e\x70\x1b\xf4\xcc\xdd\x31\xbb\xa1\xe2\xc8\x72\xd7\x00\x03\x57\x32\x71\x7b\xb0\x00\x7e\x58\xf5\xb7\x56\x31\x29\x66\xbe\xff\xd4\xf7\x7a\xde\x01\x7e\xe0\x9e\x5f\x39\x2d\x23\x8a\xad\x50\x91\xbf\x51\x3f\x43\xef\xf9\x2b\xfd\xd5\x53\x9f\xe7\xe8\xb3\x0f\xe5\x5f\x65\xb3\x0d\xe9\x79\xbf\xde\xe0\xce\xe3\x12\xa8\x65\xcb\x22\xbb\xfa\xe5\x21\xc2\x31\x01\x7c\xd9\x12\x10\xa4\x9a\x40\x88\x8a\xb2\x12\x95\xb9\x48\x9a\x17\xd2\xa2\x10\x75\xd8\xe5\x34\x27\x0a\x52\x2c\x1d\x15\x23\x78\x2e\x14\x41\xd1\x0a\x72\x2f\xf7\xcd\x35\x20\x76\xc5\xed\x0b\xbf\x68\xb9\xf6\xc0\x5f\x93\xe4\x13\xf2\x49\xf2\xaf\x07\xf6\x34\x7f\xb1\xf0\x76\x3f\xb4\xed\xbb\x6a\xdd\x3f\xd7\x5d\xb5\x0f\xda\xf0\xbb\xef\xbe\x4b\x1e\x63\xb3\xdf\x32\xc1\xed\x1a\x76\xa6\x8b\x99\x76\x0e\x06\x17\xbe\xdd\xbe\xe5\xfe\xfb\xb7\xb4\xbf\x5d\x48\x9e\x3f\x37\x8d\xe9\x3a\xb3\xab\x84\xfc\x72\x48\x34\x3a\x04\xca\x4a\x10\xe5\xae\xcb\xf3\x43\xf7\xec\x29\x18\x4e\x59\x43\x36\xa1\xeb\xd0\x03\xe8\x71\x74\x5a\x95\x0e\x3d\xcc\xd5\x79\x2a\xf7\xcb\xae\xe1\x3f\x84\x47\x7a\x8c\x9a\x42\xff\x29\xe6\x7f\x0e\x0f\x24\x13\x1c\x4b\x81\x1d\x9a\xd9\x70\x31\xeb\x67\xad\x97\x45\xb1\xf6\x12\x87\x82\xc6\x12\xa9\x51\x45\xf6\x39\x71\xe6\x5b\xbd\x73\x2f\x7b\x15\x8c\x15\x0f\xbe\xf8\xbf\xb9\x0b\xb2\x39\x42\x76\x90\x1d\x39\x62\x8d\x8f\xbd\xf1\x09\x30\x42\x33\x14\x3e\x79\xe3\xd8\xb8\xb5\x2f\x8e\xe2\x21\x59\x8f\x72\xae\x8f\x47\xb4\x8f\x5d\x94\xac\xf9\x36\xdf\xfd\x8a\x67\xfb\x76\x8f\x92\xfb\x5f\xdc\x02\xd7\x1b\x0d\x8b\x31\x2c\x30\x18\xad\x89\xf6\x91\xa3\xea\x23\x91\xfa\x51\x23\xdb\x13\x64\x4a\x5f\x8c\x89\xdb\x3d\x8a\xe2\xd9\xde\xab\xf7\xcb\xe3\x22\xd8\xa9\xf5\x4e\x5d\x1e\x07\xac\x57\x2e\x89\xa9\x78\x80\x2a\xfa\x7a\x3c\xa8\x2a\x21\x26\x43\x2f\xb4\x1b\xd7\xeb\xc2\x9d\x8a\x5b\x71\x13\xe4\x56\xce\x0b\x4e\xfc\xc7\x8b\x88\x45\xda\xa5\x5b\x81\xa3\x4e\xa1\xfb\x2c\x39\x64\x33\x41\xb1\xc9\x86\x0f\xf5\xb8\xd8\xce\x1c\x72\x2b\x39\xda\x55\x60\xc4\x2c\x91\x73\x19\xdc\xd9\x9d\x25\xf9\x4e\x41\x71\x33\x48\x86\xf4\xb9\x3e\xd2\x73\x6d\x9c\x4b\xd3\xec\x53\x47\x9c\x76\x01\x64\x81\x67\xa3\x10\x4a\x82\x62\x6b\x01\x19\x52\x31\xea\x09\xa9\x18\xff\xeb\x48\x84\xac\x3c\x70\xe8\x41\xd2\x70\x8a\x1c\xf8\x11\x2c\xdd\x52\xfd\xe0\xa1\x03\x70\xb3\xb2\x74\x44\x84\xac\xfa\x1c\x6e\x51\x96\xb2\x0d\xca\x12\x85\xac\x3a\x70\xe8\xc1\xea\x2d\x34\xca\x29\x78\x45\x8d\x73\x4b\x64\xc4\xb2\x08\x59\xf9\x39\xdc\x1c\xa1\xba\x7f\xd7\xc5\x42\xfe\xbf\x29\x6f\x9f\x03\xd5\x53\x56\xa2\xfe\x28\x08\xdf\xc2\x75\xe9\xe7\x62\xa9\x78\x8a\xc2\x7b\xa6\xe4\x98\x1f\x37\x73\x69\x5e\xb0\x69\xbb\xef\xd2\x0c\x55\xfb\xe7\xf9\x12\x44\x4a\xbe\xe0\x07\x39\xdf\x07\x38\xac\xe9\x94\xc4\x2c\xd9\xf6\xf8\xb6\x6d\x8f\x6f\x83\x7f\x6e\x9d\x3e\x6d\xdb\xb6\x69\xd3\xb7\x7e\x92\x19\xd3\x75\x74\x42\x43\xf9\x8c\xa1\x33\xe2\xd3\xbc\x93\x70\xab\x87\x67\xdd\x21\x61\x25\xd7\x22\xb7\x2a\x43\xe3\xc3\x9b\x46\xfc\x74\x53\xd7\xc4\x65\x83\xd6\x2d\x1e\x3d\x99\x05\x5d\x40\x00\x76\xca\x98\xc5\xeb\x06\x2e\x99\xd0\xb5\xc9\x55\x16\x65\xcd\xcc\xec\xc1\xec\x67\x83\x67\x3b\xa2\x65\x8c\x77\xc2\x86\x0d\x13\x26\xae\x5f\x3f\x31\x7f\x26\x5f\xe3\x83\x53\x86\xb7\xce\xcc\xcd\x91\x83\x92\x59\x00\x16\xbc\x3c\xe3\x72\xcf\x60\x19\x00\x86\x2f\xb0\xc8\x45\xce\xdb\x17\x91\xdf\x3d\xb9\x3a\x54\x5c\x1d\x5f\x0d\x6d\x80\x75\x40\x4e\xac\x89\x55\x17\x87\xd7\x3c\x09\x9e\x45\xb7\x47\x12\x1e\x6c\x60\xf0\x53\xc3\x16\x2e\x1c\x96\x1b\x61\xf6\x24\xd4\x32\x9b\x7f\x31\xcb\xdf\x93\xd7\xd3\x9a\x91\x4b\xad\x59\x94\x4e\xcc\x2a\xa6\xad\x01\x6b\xc0\x91\x06\x2b\x04\x84\x50\x32\x60\x15\x99\xec\x2d\xb8\xe8\x96\x5b\x72\x5d\x93\xa1\xed\x2c\xe3\x25\xa3\xc9\xb3\x67\xcf\x92\x35\x2b\xd8\xd1\x64\x34\x3c\xae\x1e\x39\x1d\x61\x3c\x5d\xff\x7d\xf6\x2c\x7b\xac\xbb\x80\x8c\x3e\x7b\x96\xbd\x16\x02\x5a\x1d\x9e\x76\x11\xb8\x63\x5c\x0e\x49\xa8\x1c\xb5\xa0\xd1\x68\x81\x2a\xa9\xb0\x5a\xd4\x74\x10\xa5\xcd\x82\x29\x80\x67\x94\x37\x03\x4b\xf7\x35\x2a\xcd\x20\xc7\x64\xba\xf5\x0d\xd4\x0e\x30\xaa\x30\x14\x9c\x33\xcf\xf3\x00\xea\xb7\x01\x85\xc2\x7a\xca\x92\x8d\x93\x04\x9e\xe3\x85\x34\xaf\xa1\xad\x52\x93\x1a\x3f\xc8\x0c\x07\x5c\x61\x34\x75\x31\x64\x64\x81\x63\x1b\xef\x80\x06\x73\x8d\xcb\xe9\x39\xc0\xd4\x6c\x24\x7f\xb6\x86\xc4\x42\x4e\x67\x2b\x0b\x19\x9f\x1f\x5a\x31\x51\x76\x31\x75\xc2\xc3\xf1\x88\xdb\x74\xac\xda\xc4\x59\x43\x03\x60\xfd\x99\xd1\x3a\x6f\x6e\x3a\xd7\x50\x5f\x4b\xae\xd5\x79\x4a\x61\x54\x7d\x89\x9e\x51\xf0\x41\xc6\x67\x26\x3f\x1d\xec\x04\xb9\xca\xe4\xf7\xc3\x88\x6b\x62\x7a\x6f\x64\xc0\x01\xfe\xec\x36\xf2\xa1\xb1\x58\xa7\x9f\x5d\x66\x76\x14\x9a\x0c\x23\x9e\x68\x13\x0b\xf4\x06\xe5\xd3\xb4\x39\x3a\x15\x07\x5d\xb1\xf6\x1f\xb5\xe2\x51\x3e\x5b\x50\x5f\x4e\x4e\xa7\x7e\x69\x37\x39\x0c\xe0\x18\xe5\x88\x39\xca\xad\x10\x1d\xe4\x11\x24\x3c\x6e\xa1\xdd\x3a\x15\x4f\x0e\x79\xca\x67\x99\x0d\x21\x5b\xee\xa5\xd7\xa2\x76\x43\xbb\x59\x87\x79\xbb\x54\x5d\x02\x0b\x1e\x19\xc4\x8b\x56\xf9\xa3\x3a\xba\xbf\x5f\xd3\xe3\x64\x2f\xd9\xfb\xe0\x41\x21\x54\x41\x39\x6b\x02\xd6\x00\x1d\xe5\x59\x29\xcc\x63\xf2\x92\x43\x1d\xc3\xd2\x45\xc2\x80\xd5\x2e\x5c\x02\xe9\x10\x48\xb2\x88\x64\x21\x9b\xcd\xd1\x9d\x1a\x1c\x22\x08\xf7\x3b\xba\x51\x56\x49\x28\x7c\xf6\x02\x2a\xe0\xce\xb8\x95\xec\xaa\xb1\xe7\xb3\x63\x57\x01\x52\x6f\xba\x88\xb2\x59\x06\xd1\xfb\x50\xaf\x3e\x9e\x1e\xdd\x19\xa6\x53\x03\x12\x66\x33\x5d\x9d\x81\x22\x85\xfd\xa0\x8b\xda\xaa\xb2\x99\x2c\x62\x51\x19\x32\x0a\xbf\xa4\x78\x0b\x45\xa8\x0e\x8d\x43\x28\x9c\x6f\xb5\x0e\x7b\x3a\x58\x05\xc1\xfc\x2e\x9a\x74\x33\xc4\x34\xf8\x79\x8a\x7f\x15\x0a\x9a\x18\xcd\x3f\x15\x2e\x66\xa9\xbf\x18\x8c\x2a\xe1\x62\x36\x8f\x0b\xd6\xe7\xcf\xda\x4b\xf6\x5f\x33\xfe\x9a\xc5\xb8\x7d\xdb\x8e\x6d\x23\x19\xdb\x1d\x86\xd1\x7f\xfa\xc3\x9f\x46\x1b\xee\x40\x17\x0b\x0a\xf7\xfe\xf1\xce\x49\x8f\x6c\x9b\x5f\x8f\xad\x07\x0c\xbb\x60\x23\x64\x61\xe3\x2e\xc3\x01\x52\x50\xf0\x04\xd9\x46\x6a\xc9\xb6\x27\x0a\x0a\xac\x77\x18\x9e\xc3\x2c\x76\x63\xf6\x39\xc3\x1d\xc6\x5b\xed\xc5\x15\x15\xc5\xf6\x2d\xb1\x58\x2c\x76\xc0\x66\x34\x8c\x9a\x3a\x75\x94\xc1\x68\x3b\x00\x16\xdd\x92\x2b\x2a\x9a\x9b\x2b\x0e\xd8\x0a\x0d\xbb\xf6\xef\xdf\x65\x28\xb4\x1d\x00\xb3\xfe\xde\xfb\xef\xbf\x57\xaf\x46\x7c\xf6\xcd\x37\x9f\x55\x23\x22\x64\xd4\xf6\xcd\xd0\x75\xcc\xfe\x5a\xa9\x16\x34\x12\x4d\x40\x57\xa0\x65\xe8\x6a\x84\xd8\xcb\x38\xe1\xd0\xff\xf2\x0c\xd6\x3c\x8a\x88\x14\x4b\xf5\xf7\xeb\x8f\x75\x67\xe9\x67\x83\xdd\x7f\x8c\x0b\xd9\x91\x4b\x47\x8e\x5c\x0a\x67\xe8\x89\x68\x27\x66\x64\xff\xab\x6f\xf5\x64\x46\xb6\x2f\x6e\x6f\x5f\xdc\x4e\x7a\xee\xef\xd9\x8e\xc7\x21\xb7\x42\xbd\xce\xb4\x27\x2e\x50\xcd\x39\x97\x4d\xb4\x27\x97\x6a\x77\xab\x7f\x70\x86\x9e\xc8\x99\xfe\x57\xdf\xea\x99\xcb\x42\x9f\xf6\x1e\x5f\xd4\x82\x3a\x29\x2c\xb5\x36\xdf\x20\x87\xa9\x1f\x83\x2e\x20\x35\x1e\xaf\xfe\x22\x8c\xf4\x17\x11\xf7\x57\x1e\xa1\x28\x1a\x42\xd7\x41\x70\x20\x14\xe4\xcd\xc0\x08\x26\xa0\x9b\xa0\x9a\x99\x74\xaa\x01\x28\xfd\x0d\x15\x20\x92\x2c\x45\x35\x4a\x27\x7b\x28\x1a\x14\x78\x86\x16\x51\xba\xc7\x22\xdd\x0f\xdc\x5f\x6d\xd2\x14\x12\xac\x70\x29\x1c\x9b\xc6\x5c\xd4\xd5\xe5\x70\x32\xfa\x90\x2d\xac\xe7\x94\x9d\xbb\x17\x3d\xba\x6a\x61\xd2\x59\x00\x0c\xcb\x8e\xb9\xab\x6a\xec\xc7\xab\xf7\x4d\x9f\x3e\xdf\x86\x27\x40\x01\x39\x2b\xf9\x98\x3f\x72\x95\x3e\x3c\x39\xb8\x6d\xc0\xb2\xd5\xcc\xe6\x89\x1b\x49\x6b\xc0\x2d\x92\x23\x66\x77\xc0\xef\xa8\x3d\xb7\xea\x37\xb5\x11\x2c\x47\x97\xcc\xb9\xa3\xad\x85\x67\x80\x69\x78\x62\xd9\xf6\xcf\xc6\x97\x60\x80\x0e\x5d\xee\x9f\x86\x80\xc4\xbd\xe8\x53\xdc\x62\xe9\x0f\x54\x19\x1e\xcd\xf7\xb5\x06\x64\x43\x2e\x54\xa2\xce\xaa\x64\x24\x06\x30\xa3\xa4\xe2\xc0\x0b\x98\x49\xa5\x6d\xa2\x4d\xf5\xd1\x83\x85\xc1\x40\x03\xd4\x1c\xd8\xe0\x54\x40\x04\x43\x07\x19\xb4\xed\x8b\x42\x9b\x9d\xf9\x41\x4d\xfb\x98\x93\x25\xec\x2f\x3e\xf9\x1f\x28\x0f\x91\xa6\x52\x82\xd8\xc5\x0b\x06\x93\x0f\x5d\xe3\x58\xd1\x02\x8b\x1c\x21\x6e\x2d\xd3\xe1\x26\xb7\x91\x85\x70\x0a\x12\x96\x10\x39\xf8\xea\xcb\x90\x02\xef\x47\x9f\x92\xe3\xf0\x3d\x72\x3a\x27\x92\xd5\xf8\x2e\x26\x9a\xeb\x24\x53\xc9\x16\x3c\x00\x17\x40\x25\x78\x2c\x2e\xb7\x9d\x2c\xd2\x74\x23\x7a\x6d\xdf\x88\x19\x39\x91\x17\x35\x6b\x3c\xf4\x10\x4a\xb5\x40\x33\xa4\x65\x8e\x51\x42\x01\x81\x8d\x50\x5a\x20\x31\x0e\x4c\x5c\x0c\x71\x74\xa7\x08\x2f\xe7\xd7\x53\xab\x41\x90\xe2\x52\x2a\x9d\x88\x6a\x8b\xf8\xa9\x22\x88\x84\x82\x02\x13\x4f\xc7\x25\x39\x7e\x79\x2d\x16\x9e\xbe\xde\x94\x60\xd8\x42\xa6\xf0\xc2\x8e\xfa\x82\x0c\xf9\x3b\x86\x34\x98\x1f\xb0\xba\xd7\x0f\xdb\xf3\x28\x70\x91\x23\x8b\x8f\xe0\x3b\x87\x8c\xbd\xfa\x1e\x80\xfd\x03\x94\xc6\xe8\xe4\x36\x49\x1e\xb1\x72\xc7\xbd\xf8\x86\x9a\x8a\x9a\xaa\xb6\x94\x19\x3a\xb3\x03\xa5\x7f\x9e\x08\xbd\xc7\x99\xef\xce\xb6\x27\xbe\xa6\xd5\x49\x87\x12\xed\x38\x18\xb9\x49\x6f\x28\x36\xa4\x37\x42\x34\x65\x1c\x33\x93\x8c\x98\xd6\xb6\xc1\x47\x30\xde\x9e\xdb\x8a\x77\x58\x3c\xeb\x67\x2f\x1c\x26\x87\x1d\xfe\xe2\x40\xc1\xcd\x41\xd8\x38\x7f\x69\xab\x2b\xe8\x90\x02\xe0\xd2\x1d\x4c\xe5\x9e\xec\x90\x46\x30\x2f\x77\xd1\x87\x71\xb4\x6e\x3a\x7b\xcb\xc6\x8a\x5c\xa8\x1c\xc5\x51\x06\x0d\x45\x53\xd1\x15\x68\x11\x5a\x8d\x36\xa3\x7b\xd0\x33\xe8\x55\xf4\x7b\x74\x1e\x0a\xc0\x05\x95\xd0\x08\x23\x60\x2a\x5c\x0d\xfb\x10\x02\xa5\x87\x9c\x23\x1e\x4b\x2b\xd8\x96\xe6\xb1\x4d\x4e\xd9\x70\x54\xb2\x61\x81\xae\xa9\x27\xe9\xba\x1a\xc4\x93\x21\x47\xdc\xd1\x80\x93\x21\x21\x1a\x72\xc4\x93\x72\x3c\xcd\x38\xca\x21\xd9\x00\x8e\x78\x34\x16\x4f\xa7\x12\xd5\x10\x2c\x07\x47\x3c\x19\x0f\x27\x7a\x95\xfa\xe1\x98\x1c\x62\x35\x59\xcc\x87\x82\xa9\xbc\x2b\x28\x07\xa3\x41\x85\x6a\x53\x12\xe9\x54\x4d\x2c\x49\x4d\x5b\x6b\x64\x87\xe4\x10\xbc\x10\x12\xf8\x10\x1f\x89\x27\x13\x4a\x34\x28\x68\xec\xc7\x8e\x78\x32\x11\x8f\xf9\x80\x9e\x1c\x72\xbc\x09\x42\x8e\x9e\x69\x76\x0b\x24\xaa\x41\x51\x03\xe4\xb4\xb6\xf2\x4b\xd7\xd1\x43\xc1\xa8\x9a\xfe\x14\x5d\xe4\x6d\x52\x93\x9f\x0c\x39\xd4\x2c\xd8\xe3\xb1\x74\xcf\x2e\x2f\x35\x2c\xaa\xbe\x29\xde\xf7\x16\x39\xad\x48\xf9\xc0\xa8\xb6\xa5\x88\x3e\xf7\xf2\x97\x5e\x72\x43\x3e\xb0\x27\x4c\x08\x86\x78\x81\xa7\x7a\x39\x3b\x5d\x9c\x4c\xab\x13\xe3\x74\x2a\x99\x88\x2a\x51\xb5\x9c\x94\x6f\xe0\xfb\xcc\xc9\xde\xb5\xe8\xf9\xbd\xe3\xc6\xed\x3d\xbd\xf8\xae\xec\xce\xd9\x73\x1e\xdc\x3a\x73\xc6\xb6\x6d\x33\x66\xce\xda\x31\x67\xf6\xce\xec\x5d\x8b\x4f\xab\x61\xcf\x2f\xba\x0b\x2f\x10\xac\x02\xe3\x63\x39\x9e\xe7\x18\x9e\xe5\x74\x98\x61\x30\xc3\x52\x1a\x58\xc0\xc0\x33\xd0\x25\x49\xa2\x4d\x92\x6c\x22\x1c\x6e\xe4\xda\x60\x8f\x14\x96\x25\xd1\x76\x41\x0e\xcb\x72\x78\x0f\xc6\x40\x4d\x60\x31\xc6\x0c\xb0\x98\xde\x84\xe1\xc2\x69\xbf\xcf\x55\x6c\x36\x15\x39\xcd\x7e\x7f\xc0\xef\x0b\xf8\x8f\xf8\x7c\x56\xb7\x4f\x51\x7c\x5e\xf3\xe3\xd5\x26\xd9\x25\xdb\x0b\xa5\x80\xdb\x5f\x6d\x74\x16\xb9\xec\x46\x57\xc0\x17\xd8\xa1\x33\x1a\xc5\x01\x03\xfc\x5e\x6f\xb5\x63\x81\x4f\x89\xfa\x03\x92\xc9\xe6\x08\x0a\x0b\xc2\x3b\xe5\x42\xbf\xdf\x67\xd0\xe9\xf5\xb6\x68\xc0\x27\x9a\x6c\x56\x9b\x2c\xdb\x44\x8b\xc9\xee\x0d\xbc\xed\xf7\x9b\x3d\xbe\x68\xd4\xe7\x35\xed\x96\x0b\x7d\x3e\x35\x9a\x6e\x9b\xcf\x67\xae\x8d\x46\xbd\x3e\xd3\x68\xac\x26\x4d\x1d\x91\x62\x96\x61\xb1\x7a\x45\x53\xa8\xa6\x7a\x51\xff\x06\xc4\x3e\x32\x69\xdc\xde\xd3\x8b\xd4\x62\x99\xb4\x0c\x9a\xa0\x71\xc2\x15\xe4\x17\xe4\xbd\x2b\xae\x80\x0a\xa8\xbc\x7a\x19\xf9\x31\xf9\xf1\x52\x35\xc6\xe2\x45\xa7\xf7\x8e\xeb\x3e\xcb\x30\x56\xbb\xd1\x68\x37\x1b\x8d\xa4\x0e\x33\x06\x0e\xd4\x52\x30\x72\x15\x8a\xd3\x65\x13\x9d\x53\x8a\x8b\x34\x87\x2b\xec\x52\x4f\x3e\x60\x69\x2a\xb0\x56\x3e\xac\x9a\x08\x4c\x13\x31\xc9\xe9\x03\xa7\xd3\x6e\xd9\x33\x32\x1c\x1e\xa9\x1e\xad\x83\x2d\xf6\x92\xe6\x12\xbb\x33\xc8\x63\xd6\x60\x2e\x70\x9a\x9c\xf6\x80\xea\xb4\x9a\x64\xab\xd3\xe4\x12\xa4\x26\x4f\x69\xa9\xa7\x29\x76\x53\x49\x51\x71\x54\x94\xcc\x81\xc2\xe2\xa8\xdd\xb2\xa7\x3d\xc4\x7a\xd9\x92\xe6\x12\x8b\xd3\x08\x4e\xc5\x59\xe8\xb4\xec\xeb\x79\xd4\xe6\x9e\xe0\x7d\xad\x9b\x87\xda\x4b\x1b\x4b\xed\x8c\xfa\xc5\xd4\x12\xc1\x34\x15\xea\x3f\xf5\x9b\x63\x6a\x4b\x0d\xec\xef\xfb\x8b\x02\x8d\x9f\x9e\xca\x02\x03\xb2\xd2\x95\xbf\x41\x68\x0a\x9a\x87\x96\xa2\xd5\xe8\x1a\x74\x3d\xba\x9b\xb2\x1c\xf2\xe5\x14\xff\x55\x8a\xd8\xa9\x83\x4b\x28\xe5\x60\xed\x21\x87\xe7\xf2\x3a\xe4\x54\x5f\x93\xa2\x44\xa1\x1a\xc6\x35\x6d\x55\x54\x97\x9c\x37\xf4\x49\xf6\x34\x0a\xb0\x9a\xa0\x10\x73\x81\xbe\xf1\x42\x84\x32\xd1\x8b\x69\xb5\xf5\xe5\x0f\x88\x53\xcb\x2b\xf5\x75\xc9\x6f\x68\x0d\xa1\x2e\xec\x6b\xb4\x5a\x9b\xbc\x61\xfe\x8b\x8c\x68\x6f\x39\x3f\x61\xfe\x98\x39\x73\x46\x54\x36\xfa\x07\x0e\x84\x4c\x69\xda\xe7\xf0\x38\x7c\xce\x60\x69\x5d\x45\x63\xb8\x2a\xa2\x13\xbd\xd2\x00\xb9\xac\x62\x68\x3c\x03\x52\xa4\xb4\xa6\xa5\xa5\xaa\x5c\x29\x29\x19\xb1\x68\xe1\x88\x32\xf6\x5f\x03\xef\x27\x3f\x21\x0f\x13\x3b\x21\x7c\xc0\xad\x74\xff\x70\xe9\x81\xa5\x4b\x0f\x00\xbe\x79\xe8\xf4\x69\x43\x6f\x7a\xf7\x99\x0d\x6b\xd7\x6e\x78\x06\xf6\x8c\x5d\xd2\xde\x5c\x3b\x77\xa0\x1e\x02\xa3\xd2\x5f\xeb\xd2\xa3\x46\xa5\x85\xaf\xd3\xa3\xf0\xbf\xe2\x01\xf7\x87\x9e\x22\x63\x62\xc1\x9a\x11\xb3\xc8\x13\x4a\x7c\x1a\x8c\xfa\x63\x49\x85\xdd\x60\x33\x59\x1c\x9e\x8a\x48\xba\x24\x54\x6a\x31\xf2\x85\x92\xdd\x53\x51\x92\x69\x2a\x1d\x15\x19\x18\x1b\x30\x58\x19\x65\x5f\xb0\x7f\x41\xee\x69\x6c\x2e\x99\xba\x7f\xfb\x0d\x03\x14\xfc\x13\xf5\xa5\x4b\x75\x30\xf9\xdc\x39\x72\x4c\x5f\x3b\xbd\x76\x44\x1d\x79\xe2\x06\xcb\xe8\xea\x04\x79\x62\x37\x0e\x77\x15\xd6\x8e\x1e\x5d\xcb\xfe\xbd\x76\xf4\x68\x75\x38\x6e\xeb\xfd\x76\x18\x15\x20\x13\x72\x20\x2f\x0a\x21\x05\xd5\xa3\x31\x68\x06\x7a\x1b\xfd\x16\x9d\x07\x0e\xf4\x10\x86\x16\x98\x87\x90\x18\x8f\x42\x5a\x15\xc6\x8e\x90\x23\x22\x27\xe5\x84\x2a\x7e\x63\x11\xed\x04\xda\x89\x8b\x47\x23\xd6\x50\x52\x08\x45\x1d\xa1\x68\x48\x08\x89\x71\xd1\x1a\x97\xd3\x60\x37\xb1\x41\x25\xe4\x08\x45\x85\x80\x35\x20\xa7\xe3\xb1\x88\x23\x64\x8d\x3b\xb4\x87\xf5\x6e\xe2\xb2\xc6\xd3\x71\x99\xca\x7a\x47\x20\x99\x8e\xf9\x20\x90\xf4\xe3\x54\x8f\xa7\x35\xe4\x88\xaa\x7f\x54\x14\xaa\x7d\x2f\xbd\x12\x7a\xe7\xb8\x34\x20\x28\x24\x03\x0e\xa5\x1c\xd4\x43\xa0\x7b\x90\xe4\x78\x32\x1e\x4b\xab\x1d\x85\x86\x93\x9e\x56\x13\x6d\xe7\x05\x3f\xf8\x20\x44\xab\x86\x9a\x94\x18\x55\xd1\x51\xbf\x44\xaa\x8a\xa1\x9e\x72\x4c\x82\xfe\xc9\xb4\x86\xac\xa0\x55\xe0\x64\x42\xd1\xf6\xd7\x37\x80\x23\x14\x74\xd8\xa5\x94\x1f\xd2\x0e\xbe\x27\x8c\xa7\xfa\x88\x7c\x98\x1f\x18\x6b\x4f\x71\x04\x93\x89\x06\x70\x04\x15\x13\x4b\xb1\x2f\xd2\xb4\x74\x92\x1b\xa6\x55\xe2\x81\x23\xda\x1e\xbc\xe9\x26\x68\xba\xe2\xf9\x92\x89\x13\x4a\x21\x50\x36\x7e\x5c\x39\xf9\x5c\xfd\x85\x33\xd3\x2a\xba\xa5\x41\xb3\xeb\x66\xef\x72\xed\x71\xb5\x5d\xd5\x71\xe5\xd2\x49\xa3\xf0\x9d\x05\x56\xaf\x33\xea\x2c\xd5\x6f\x1d\x3b\xe1\x22\x02\x76\xec\xf8\x77\x56\x90\x8f\xce\x9e\xbd\xf3\xb6\xdb\xb8\xf7\xb4\xba\xb5\xd2\x95\x76\x7d\x20\xae\xb6\x63\x9f\xc1\x00\xb2\x9c\x29\x9d\xa4\x77\xd5\xba\x7e\x17\x7c\xea\x49\xd7\x29\xf9\xfc\x90\x92\xe3\xce\x9a\xdc\x0d\xe5\xe5\x3f\x95\x1e\x1e\xad\x55\xc3\x8d\x71\xff\xc9\xb4\x4c\x7e\x52\x54\xfb\x33\xb9\xf5\xf3\x54\x8c\x3c\x08\x53\xd2\x89\x5f\x38\x1a\x8a\x4e\xe8\x74\x2c\xb6\xd6\x15\x1d\x6d\xcc\x55\x3a\x25\x97\x6d\xa0\x33\x38\x64\xe0\xdd\x03\xea\xc9\xff\xb8\x1c\x6e\xeb\x40\x00\xae\x50\xb6\xb5\x65\xee\xaa\xa9\xc7\xd6\x5f\xfd\xea\x8e\xdb\x6e\x23\x7f\x1e\x84\xff\xb5\x70\xeb\xd6\x60\xb0\x26\x16\x4c\x94\xec\xd8\x10\x0e\xd5\xd4\x84\xfe\xea\xcc\x5c\x73\x4d\xc0\x15\x29\x8f\xb8\x92\x25\xdb\xd7\x87\xeb\xc7\xdc\x36\x73\xf3\x2e\xf7\xb5\xae\x91\xdb\x77\xb7\x08\x65\xe6\xa2\x42\x2b\xef\x09\xfb\x66\xce\x5d\x71\xc5\x1a\x66\xf2\xf2\xdc\xb5\x63\xc6\xd4\xa4\x53\xa3\xaf\x3c\xdb\x18\x18\x52\xe2\x6b\x82\xaf\x7c\x8d\xca\xf2\x6a\xf2\xe5\x7b\xef\xbd\xf7\x5e\x63\x23\x98\xc9\x45\x80\x67\x9e\xc9\xbd\x67\xf7\xdb\x8d\x02\x86\x19\xd3\xa7\x83\x79\xda\xb4\xee\x5a\x30\xd7\xd5\xa4\x53\xb9\x9f\xfd\x3e\x3d\x66\x4c\x1a\x1f\x69\x6a\xaa\xaa\xaa\xae\xbe\x02\x4c\x93\xe5\xc2\x42\xc0\x4d\x4d\xf5\xf5\xb0\xb9\xa2\xa2\xa2\x42\x92\x24\x69\xee\xdc\x8a\x8a\x27\x60\x8f\x1a\x33\x37\x5d\xca\xff\xab\xaf\x27\xd7\x36\x34\x4c\x33\x2e\xbc\x82\xd5\x4d\x71\x3a\xbb\xe4\x12\xbd\x3e\xe8\x4b\x55\x06\x1c\x57\x80\xd9\x0f\x47\x9d\x25\x7a\x7d\xc0\x9f\xd4\x87\xcc\x92\x41\x98\x07\x66\xf0\xe5\xae\xaa\x05\x73\x6d\x4d\x3a\x85\x1f\x26\x5f\x82\x39\x77\xd5\xe4\x7a\x97\xc5\x20\x28\xe1\x68\x59\x9d\xcb\xa2\x07\x3e\x62\x5a\x10\xaa\x77\x19\x0b\x81\x2b\x88\xf8\x55\x4f\x3b\xcb\xe3\x41\xe4\xab\x33\x67\x1a\x1b\x77\x5f\xdf\x80\x81\x31\x58\x7d\xa2\x52\xf2\xfe\x45\x04\xe8\xf4\x69\xb5\x7d\x16\xf4\xb6\xcf\x02\x24\xa3\x10\xaa\x47\x13\xd0\x95\x68\x37\xba\x1f\x9d\x40\xa7\xd0\xeb\x79\x36\xaa\xfc\x3a\x51\xc4\xce\x87\x04\x75\x46\x10\xf3\x43\xff\xf5\xa3\x08\x05\x1d\x11\x18\x5e\x6a\x80\x58\x0b\x34\x63\xaa\x25\xe3\xc4\x14\xf5\xee\xb7\x7b\x9b\x77\xd8\x1b\x40\x9d\x8e\x95\x43\xd0\x0c\x94\xc8\x9f\x1a\x07\xc8\x5a\x40\x1a\xfe\xbf\x9f\x64\xd7\xee\x10\x93\x09\x1a\x5f\xa0\x70\x27\x69\x30\x41\x3e\x81\xd2\xe5\x72\x18\x7f\x16\x8f\xf8\x42\xb1\x88\x37\xc2\x58\x2b\x2a\x8a\xad\xb8\xc0\x26\xb9\x9d\x30\x27\x1e\xf6\x85\x55\xdf\x0b\x47\x47\x35\x1f\x12\xf1\x40\xd0\xf1\xed\x76\x6c\x83\x42\x9b\x45\x62\x26\xcf\x83\x64\xa9\xea\x63\x62\x3c\xad\xc3\x16\x0c\xa9\xf7\x36\xda\x58\xe3\x10\x11\x5e\xd6\x71\xa3\x0a\x84\xa5\x15\x9c\x75\x24\xa7\x8b\x56\xc2\x78\xe3\xa8\x02\x01\x5d\x84\xad\xa3\x9a\xef\xb7\xd3\x87\x8c\x2f\x64\xbf\xf9\x10\xf7\x10\xf5\x21\xbe\x46\xab\xfa\x90\x8f\x8c\x23\x0a\x68\xd4\x41\x22\x3e\x3f\x9c\x2b\x8b\x06\xac\xb8\x40\x2c\x09\x0b\x6b\x2e\x19\x57\xaf\x8f\xd4\x14\x7b\x23\xf1\xc0\xc6\x32\x3f\x2c\x2b\x60\x1d\x0f\x87\x63\xf4\xfa\xa6\x86\xa4\x48\x16\xf3\x06\xf1\x4a\x9d\x81\xc1\x73\x7f\x0b\x1c\x6f\x08\x94\x2c\x1f\xde\xd0\xe6\xb4\x17\xea\x2d\xe0\x30\xe8\x0d\xf7\x1c\xb0\xe8\x39\xbc\x66\x17\xbb\x4a\x67\x34\xc0\xaa\xda\xfc\x2d\xc6\xab\xbe\x79\x0b\x58\x58\x0b\x1c\x07\x53\x01\xe9\xc0\x9c\x5e\x04\x31\x24\xc1\xb2\x02\x19\x7e\x73\x49\x57\x8c\x0c\xfd\xfa\x62\x33\x8a\xa1\x61\x68\x0a\x9a\x81\x96\xa3\xab\xd0\x3e\x74\x50\xeb\x87\x43\xc1\xa8\x3a\xfa\xe5\x42\x29\xda\x0b\xd3\x7e\x37\xdf\xed\x0a\x79\x44\x6e\x75\x2c\xab\xd0\x6e\x37\x9d\x82\x74\x28\x69\x66\xe2\xf9\x6d\x94\x9a\x41\x17\x47\x3b\x60\x21\x1a\xb2\xc6\xad\xa9\x78\x4c\xa4\x3d\x38\xdd\xe5\x1a\xcd\xa3\x49\xa6\xfb\x26\xf0\x34\x80\xcf\xdf\x4f\x87\xbf\x4a\x34\xfe\x0d\x4c\x4e\xbe\xc9\x21\x06\x64\x9b\xcf\x5b\x07\x4f\x5d\xc9\xc7\xe2\xe7\xff\x34\xa8\x35\x5c\xac\xd4\x0f\xb2\x0d\x1e\x3f\xaa\x6a\xc0\xc0\xc1\xd1\xa2\x01\xbe\xf1\x45\xb6\x61\x1d\xe3\x06\xc4\x21\x2a\x76\x6c\xb7\x55\x59\x9b\x2b\x94\xe1\xc5\xd5\xc5\x85\x65\x70\x9d\xd9\x58\x5c\x6d\x30\xec\x3c\xe0\xae\xb5\x54\x1f\x38\x80\xaf\xac\x2c\x19\x9a\x49\xea\x76\x1d\x08\x17\x4f\x88\x37\x91\x8a\xaa\x41\x55\x55\x83\x98\xc7\x06\xc4\x66\x77\xac\x6c\x49\x2f\x5d\xd0\x60\xa9\x1b\x5a\x6e\x97\xb9\xaf\xf1\xa5\xb3\xa4\x4d\x43\x22\x21\xfd\x39\xff\xe4\x79\x9f\x35\x0c\x74\x19\x25\x93\x3b\xb0\xaa\x58\x89\xb6\xd5\x0f\x74\x9a\x64\x4b\x91\xcb\xb6\xba\x34\x52\x0a\xa1\x95\x7b\x1c\x6b\x74\x8b\x7e\x3d\x31\xec\x2f\x58\x2f\xc4\x5e\x71\xed\x63\x8a\xfd\xb5\xa4\x14\x62\x45\xe4\x51\xf8\xaf\x8f\x37\xd7\x25\x6a\xab\x73\x57\xbb\xee\x28\xa8\x1d\x08\x3f\x51\xdf\x5c\x4d\xfe\x67\x75\x4b\x66\xd7\x9a\x6c\x63\xba\x64\x51\x91\x28\x56\x9b\xf0\xc9\x4b\x3e\x1c\x83\x4c\x17\x91\xf0\x15\x8f\x68\x3b\x6f\x41\x08\x6c\xb2\x5a\x40\x76\x3e\xa8\x44\xb9\x58\x82\xb6\x65\xb5\x97\x01\x89\x17\x34\x34\xb6\x54\x0b\x28\xc9\x66\x36\x99\xb0\xa5\x7b\x16\x9f\x04\x3f\xc8\x90\x92\x64\x5e\x6a\xfa\x73\x7b\x82\x64\x0e\xbc\x77\x3b\x00\xb2\x58\x1a\x26\x15\x2f\x62\xe3\x3a\x30\x7c\xfd\x98\xc1\xa3\x9b\xa8\x03\xc3\xb3\x62\x6c\xfc\xd4\xa6\xe8\xe7\x2f\xe8\x6a\xc7\xd6\xea\xb6\xbc\x90\x84\x07\x0c\x1e\x1d\x3e\x4e\xee\x79\x2d\xd1\xbe\xf4\xc0\xed\x4b\x1f\x2d\x9e\xd4\x60\xb1\x0c\x5f\xc4\x67\x0c\x1e\xfd\xf9\x63\x3a\x6c\xe8\x30\x78\x74\xdf\x2f\x0e\x96\xcd\xbc\xf5\xd8\x57\xfb\xee\x04\xce\x2b\xda\x4b\x6a\x6b\x4b\xec\xa2\x6d\xfb\x2c\x58\xa6\xc3\x06\x6d\x3f\x5b\x5f\x3e\x24\xa4\xa0\xd1\x08\xb1\x7d\x89\x8f\xeb\x21\x4f\xcd\x68\x81\xde\xdc\xa5\x03\x0a\x93\xb6\x81\xfc\xff\x91\x31\x56\xcb\xca\xf0\xdc\xbf\x98\x15\x65\x3f\xda\x3d\xeb\xae\xe9\x03\xd8\xce\x9e\x8c\xde\x8e\xff\x71\xa4\x69\x65\x13\x0c\x9e\xf8\x1f\x33\xfa\x58\x3e\x73\xf0\x3f\xf8\xeb\xa9\xeb\x5a\xe6\x2d\x8f\x93\x2c\xc9\x68\x19\xdf\xfe\x1c\x58\xe6\x92\x7b\xd8\xa3\x1d\xff\xbf\x19\xef\xc5\x38\xe6\xb2\xbd\x7a\xae\x34\x9a\xa1\x71\x17\x52\x11\x6a\xd5\xd0\x9e\xfe\xd3\x35\x04\xa2\x4a\x34\xc0\x0b\x5c\x0f\xaf\xa0\xd6\x40\x42\x3d\x1c\x10\x69\x6d\x1d\xa7\x08\x54\x79\x89\xbe\x1d\xa6\xa9\xbf\x3b\x77\x0e\x3a\x07\x08\x06\xf2\x63\x83\xc0\xac\xb4\x99\x3a\x34\x02\x07\xaa\x70\x84\x64\x9b\x79\x74\x09\x64\x4a\x46\x9b\xdb\x20\x69\xb2\x1d\xc2\x54\x95\x93\xa3\xb7\x7e\x87\x9b\xf9\xcb\x3a\x3d\xc6\xfa\xdb\x33\x26\x5b\x77\xfb\x84\x4d\xeb\x26\x30\xcf\xd0\xd7\x3c\x14\x49\x24\x22\x0f\xd9\xfa\x61\x19\x57\x50\x4b\x47\x04\x1a\xe4\x10\xd2\x20\x5d\x18\x9f\x3a\x72\x0a\x36\xf5\xb7\x96\xea\x51\xab\xe1\xef\xb2\x41\x61\xb7\x0e\x5f\xbb\xa9\xee\x2d\xf2\x67\xb0\x9c\x09\x4e\x58\x34\xbe\xd6\xb2\xde\xb2\x73\xd8\x0d\x27\x9f\xbe\xa9\xf5\x06\x3d\xbf\x81\x37\x74\xff\x27\x1b\x15\x78\x7b\x45\x6c\x74\xb9\x04\xd2\x3b\x67\xc0\xa2\xf7\x94\x0e\xab\x5c\x61\xb1\xb4\x95\xd7\x3c\xbd\xff\x8e\x57\x06\x94\xb5\x09\x7a\x3d\x53\xfe\x9f\xac\x58\xfa\xeb\xe1\x4d\x68\x1e\x42\x34\x0f\x26\xac\xd1\x89\x02\x67\x37\x61\x21\xa8\x49\xb6\xfc\xd2\xaf\x8d\xa2\x4d\xb6\x68\x4c\x9c\xb2\x24\x30\x34\xc3\xcd\x6c\xd2\x82\x02\x41\x9a\x57\x55\x46\x4a\x45\x1a\x65\x1b\xf4\x83\x2b\x47\xcc\x9b\xcb\x66\xb7\x6c\x9e\xd7\xb4\x6c\x6e\xc7\xa1\x49\x38\x31\xe2\xea\x1b\x46\xf2\xa2\x30\xa7\xda\xcb\x25\xee\x9f\xfd\xfd\x93\xbb\x7e\xbb\x7b\xca\x5e\x05\x17\x80\x9e\x5b\xcf\xe9\x38\xbc\x91\x73\x15\x7b\xeb\xa7\x0e\x1a\x40\x7e\x40\x3e\xec\xb1\x84\xff\xf4\x64\x81\x5b\x57\xaa\x03\x6c\x58\xd8\xb5\x9b\xf2\xf8\x51\x7e\x3e\x98\x0a\x47\xf1\xf9\xe5\x9b\x9b\x96\x1f\x99\xbb\x6a\xf3\xee\x57\xad\x2b\x8f\xcf\x8b\x63\x48\x06\x62\x83\xa6\xbe\x78\xe2\x5e\x30\x1c\x1c\x9a\x11\x6b\xf9\xc2\x02\xae\x20\x77\xb7\xd3\x19\x75\x83\x3e\xda\xb4\x7e\x34\x84\x61\x66\x4f\x11\xdd\xac\xc7\x05\x35\x85\x85\x46\xfd\x84\xe9\xea\x23\xa1\x16\xbc\x6f\x6f\x26\x53\x7b\xed\xb6\xe8\xba\x5e\x08\x95\x20\x84\x24\x8b\x19\xa8\xd6\x9f\x0f\x56\x03\xf0\xe5\xc0\x45\xc5\x64\x22\x0d\x79\xa5\x7d\x11\xa4\x53\x7a\x88\x82\x83\x6f\x3d\x3d\xfb\x93\xc5\x06\xc3\xcf\x0d\x6e\xc3\x92\xdc\xe1\x48\xf2\xcc\x45\x94\xc9\x46\xf0\x8c\x25\x9a\xdf\xe2\xdf\xcc\xea\x7e\x05\x67\x3a\x73\x9d\x3c\x3a\x4d\xfe\x35\xeb\x37\x8b\x0d\x6e\xc3\xcf\x0d\x34\x6e\x36\x03\xe8\x4c\x92\xc6\xa5\x7e\x8b\x3f\x99\x7d\x21\x43\xe3\x76\xe6\xed\xc8\x08\xd5\x43\x96\xe6\x39\x3a\x04\x24\xf4\x92\x73\x52\xe2\x06\x09\x85\x82\x55\x38\xe9\x67\xe2\xb1\x74\x33\xcb\x8f\x69\x5b\x52\x49\x9e\xdc\x3d\x77\xd3\xd6\x1f\xcd\xc4\x5b\x1b\xba\x9f\x8d\xee\x99\x00\x2c\xf9\xc7\x7f\x5d\xfd\xc2\xda\x7a\xa1\xb5\xb6\xd9\x5c\x6a\x72\x0d\x1c\xb1\x70\x31\x8f\x66\xb5\xb5\x4c\xcd\xed\xbb\x7a\xc6\xa9\x6d\xd9\x89\x78\x70\xaa\xeb\x9f\xed\xcb\xa5\xa1\xef\x93\xbf\xcf\x7a\xe0\xcd\xf5\x5c\x2c\x1a\x8c\x0c\x9a\xd5\x10\x36\x5f\xa2\x0f\xad\xec\x45\xd3\xa3\x08\xd5\x31\x8a\xa1\xa9\x41\x5c\xe2\x38\xbd\xc2\x6a\xb5\xa1\x2c\x95\x79\xc0\x62\x3f\x16\x1d\xc1\x2a\x88\x6a\xd8\xb1\x02\x85\xf0\xfa\xf6\x0b\x75\x26\x93\x6a\x00\x6b\xa0\xf7\xbf\x36\xa3\xd1\xac\xa9\xd8\x64\x9f\x4e\xf1\x9b\x17\x02\x3a\x8f\x2a\xc7\x2a\x5e\x7f\x79\xc8\x59\x22\x49\xbe\xf0\xd8\xaa\xca\xb1\x61\xbf\x43\x8e\x3a\x43\xe5\x7e\xaf\x32\x76\xba\x16\x18\xa4\x17\x95\xf9\x38\x95\x55\x63\xc3\x3e\x49\x2a\x51\xe3\x7c\xf3\x16\x1a\xea\x2f\x0f\xad\x1a\x9b\x01\xd4\xf3\x3f\x33\x76\x55\x17\x1a\x56\x9b\x1c\x29\x7a\x83\x5e\x51\x99\x8e\xbf\xf3\x22\x4b\xb2\x90\xf5\x7a\x9c\x1e\xc9\x64\x11\x5d\x6e\xaf\xcf\xe5\x12\x2d\x26\xc9\xe3\xf4\x78\xa9\x2f\x75\x41\xa6\x53\x0b\xf5\xba\xb5\xd0\xcb\x22\xba\x5d\x1e\xa9\x73\xec\x2a\xe8\x24\x99\x9e\x63\x15\x63\x19\x35\x61\x64\xd2\x57\xe1\x2c\x2e\xaa\x57\x6e\x6b\xff\xce\x0b\xad\xcd\x53\x7d\x15\xa7\x8e\xc3\x03\x8e\x80\x35\x6e\xd5\x43\xc0\xaa\x07\x1d\xfa\x1a\x65\x79\x04\xe8\x7c\x16\x3a\x71\x26\xcb\xa3\x0b\x59\x16\x75\x67\x71\x06\x67\x72\x9d\xbd\xdc\x28\x9d\xb4\x1f\xb4\x20\x09\x21\x3d\x68\xac\x4f\x16\x5b\x38\x2e\x06\xec\x58\x10\x03\xd6\x18\x6b\x63\x10\x0e\x2e\x25\xbf\xbf\xf7\x67\x9a\xbc\xf9\xd9\x73\x0c\xb7\x71\xf9\x0f\x72\xe8\x67\x30\xf7\x6d\x7c\x6d\xee\xe3\xe5\x1b\x7b\xa4\x50\x0e\xdd\x4b\x7e\xbf\x14\x3f\xc0\xa0\xb7\xc9\xfd\x97\xa4\xad\xa8\x27\x6d\x6a\x97\xa1\xb6\x34\xb5\xb9\x45\x69\x0b\x83\xa8\xb6\x70\x4e\xd3\x2b\xa0\xa8\x65\x53\x6e\x8f\xc1\x6d\xf8\x8c\x74\x74\xe2\xe1\xaa\x03\xde\xdd\x64\xb1\x3a\xe0\x09\x93\x4d\xcb\xc3\x39\x32\xca\x61\xa5\xb1\x7a\x22\x69\x71\xa2\xb6\x3c\xdf\x92\x80\xd8\x29\xa8\x43\x1d\x49\xca\x7e\x46\x66\x35\x9b\x61\x3e\x5a\xc5\xa8\x95\x30\x0f\x5a\xa2\xed\x11\x09\x04\x29\x92\x31\x8e\xc7\xfc\xbc\x9c\x47\xdb\xe6\x29\xa8\xab\xec\x07\x39\xe4\xc7\xb2\xa0\x44\xe9\x40\x92\x2b\x34\x18\xfc\x89\x70\x04\x86\xfc\xe2\xf6\x86\x25\xa3\xdb\x63\x75\xfe\x9a\x82\xe2\x86\xa9\x1b\xc7\x77\x9c\x58\xf8\xfe\xbd\x27\xc7\xd5\x7a\x26\x9a\x7d\xb0\x93\x5c\xbc\xf5\x1f\x7b\xa7\xdc\xf2\xea\x92\x29\x37\x2f\x9a\x52\xdf\x50\x56\xef\xee\xb8\x6e\xdc\x5a\xa5\x65\xfc\x94\xa9\x23\x6a\x0b\x98\x47\x57\x8e\x9e\x34\x00\x0a\x25\x3f\xbb\xdd\xed\x95\x47\xd4\xb4\x31\x19\x3e\xe4\x2b\xf5\x18\x0d\x33\xbe\xdc\xff\x52\x24\x35\x67\xec\xb6\x31\xd7\x7a\xc7\x2d\x99\x5a\xb2\xf2\xf1\x8e\x43\x7f\x9d\xd3\x92\xbc\x33\x18\x86\x3b\xef\x03\xd8\xbf\xe4\x8d\x3b\x66\x2a\xcd\xf3\xe6\x5f\xbb\x76\x7f\xea\xb5\xb9\x63\xcb\x1a\x8b\x8b\xe4\xca\x86\x25\x6d\x16\xeb\x95\x3f\x60\x19\xb9\xac\xc0\x53\xc9\x5d\x51\xe3\x00\xc7\xa0\x4b\xfa\x82\x29\x54\x67\x9f\x88\x56\xe1\x68\xa2\x67\xf9\x2a\x24\xc9\x69\x25\xaa\xe1\x91\xd8\x29\xf2\x2d\xe3\x03\x89\x1a\xae\x72\x6a\x19\xc9\x0e\x4d\xf6\xa7\x7b\xa1\x8b\x69\x33\x17\xe2\xdf\x82\x53\x7f\xe7\xe7\xa1\x70\x89\x9e\xc5\x35\xe1\x94\x15\xec\xe2\xac\xa8\x21\x30\x24\x3e\x76\x0b\xb6\xcc\x9d\xef\x2b\x89\x79\x60\x42\xc3\xdc\x36\xb9\x2e\x3a\x64\x4c\x76\xc2\x82\xa7\x96\x32\xec\xac\x13\x2b\x9e\x9d\x65\x2f\x68\x2c\x5b\x33\x6d\xed\x9d\x3f\x58\xbc\xea\xaa\x2a\x5d\x48\x2a\x0d\xa7\x6b\xdb\xcb\x96\xdd\xb9\xf8\x12\x1e\x83\x4f\x7f\x38\xc8\x60\x8c\x78\xb1\xb1\x00\x87\xab\xcd\xe6\xf0\xd0\x94\xc1\x67\x5f\x3b\x56\xb0\x74\x4c\xf5\xe9\xcc\xde\x52\x37\x57\xdf\x76\x73\xf5\xed\x0b\x37\x0c\xab\x59\xf5\xcc\x7c\x58\xfe\xd4\xea\x2b\x3d\xce\x15\x63\x87\x9d\x58\xb7\xe4\xe8\xb2\x0d\x8e\x39\xf5\x33\xea\x5a\xa3\x9e\x7d\xf8\xf7\x97\x6e\x78\x60\xf2\x3a\x5e\x0d\x43\x34\x7e\x19\xf3\x6e\x38\x51\x85\x43\x01\xc9\x66\xc1\x42\x20\xd6\x0c\x36\x8b\x09\x87\x02\xc1\x2a\x6c\x69\xc6\xf1\x40\xcc\x0f\x6c\x36\x6f\xc7\xaa\x9d\x18\x6a\x15\x4b\xb6\x6e\xd8\xb7\x6f\x03\xec\x58\xfc\xfc\xf5\x3f\x53\xfb\xb6\x1c\xea\xe9\xe5\x18\xd5\x85\x9d\x7d\x37\xf4\x9c\xa6\x93\xbf\x93\x37\xc9\xdf\xa7\x8f\xbb\x1e\x1e\xba\x6c\x7c\xd0\x6f\x3f\x21\xa2\x68\xf9\xc8\x09\xda\xdb\x71\x3e\x35\xc0\xf6\x9a\xf5\xdb\xfd\xd0\xfb\x9e\x85\xbd\xef\x66\x1f\xbf\xe4\x8d\x40\xf2\x8f\xee\x19\x43\xdc\x72\x49\x62\xa8\xfc\x47\x48\xaf\x9e\x4c\xc8\x86\x9c\xa8\x82\xa2\x72\x05\x82\x4a\x0b\xa8\xb5\xdf\xa2\xb6\x8d\x68\x5c\x89\x72\x10\x10\x24\x99\xa5\xa0\xfc\xa2\xa4\x99\x3c\xd3\x71\x43\x31\xb2\xa0\x62\x94\x4c\xa4\xd2\x51\xb5\x1b\x55\xeb\x0d\xb2\x20\x75\xce\x46\xe9\x69\xe3\x01\x47\x20\x9a\x77\xc5\x64\x48\xc5\x63\xf8\x02\xf9\x69\x49\xc8\x79\x7a\xe0\xb0\x5d\xa7\x4f\xef\x5a\xfb\xd8\x83\xcf\xda\xea\x60\x35\x14\x93\xe2\x2b\x96\x38\x38\xee\xf4\xae\xc6\xa6\x13\x66\x83\x64\x76\x84\x6c\x27\x66\x9d\x06\x1d\x34\x92\xf3\xe4\x26\x72\x7e\x4c\xdb\x40\x72\xbf\x2d\xf0\x8a\xdc\x7d\xf4\x14\x39\x0f\xc2\xa9\x35\x0b\xae\xa3\xa6\x95\x90\x85\x27\x26\x7d\xac\x19\x46\x06\xec\x50\x30\x63\xc1\x29\xc8\xb6\x15\x77\x15\x9d\x26\x5f\x9f\xbe\xe5\xaf\x93\x5a\x6e\x83\xec\xae\x45\xb7\xff\x04\x74\xa7\x9d\xa4\x5b\x4e\x98\x0a\x7c\xc0\xce\xd9\xb1\xeb\x34\xd0\xe7\x82\x70\x6a\xee\x0f\x5b\xe6\x91\x72\xf7\x0f\x3e\x04\x01\xd6\x80\x90\x7e\x5a\x49\x28\xd9\xac\x92\x50\xbc\x64\x55\x45\xff\x7d\xd5\x02\xad\x39\xe5\x68\x64\x1f\x02\x57\x8f\x3e\x59\xec\x01\xa3\x62\x78\xaa\x0b\xc6\x97\xf0\x08\x87\x2e\xc7\xb7\xb2\x26\xd2\x62\x33\x84\x8b\x59\x49\x16\x7b\xf4\xc3\xac\xa6\xbb\xf5\x0d\xe3\x42\x72\xf7\x52\x39\xc4\x0d\xe3\x14\x3f\xab\xf8\x95\xff\xf6\xda\x73\x59\xbb\xd7\x6b\xc7\x59\x3b\x1c\x57\x23\xe7\xd0\xc8\xa5\x23\xb3\xae\x45\xfa\x93\xe0\x81\xc9\xe0\x39\xa9\x5f\x22\x43\x41\x3f\xfd\x2f\x2e\x84\xac\xec\xf3\xc9\x24\xeb\xaf\xaa\xc2\x57\x96\x78\xbd\x25\xde\xdc\x8c\xdc\xe1\x6c\x72\xe4\xc8\x64\x56\xfb\xc5\x33\x56\xad\x84\x9f\x8e\x5e\xdf\xd8\xb8\x7e\x34\xa9\x5f\x48\xfb\x85\xbd\x3a\xc4\x7d\x8d\x0a\x50\x15\x1a\xaf\xed\x36\x09\xe4\xbf\x1d\x97\x88\x6a\x38\x56\xf1\x80\x12\xce\x6f\x23\x08\x68\x8a\xac\x80\xc4\xc6\x63\xcd\x18\xd4\x89\x81\x66\x44\x19\x0a\xa2\xa8\x26\x3f\x1a\x80\x0e\x38\xc3\xf1\x18\x92\xe3\x31\x89\x7b\x3a\x16\xce\x0d\x0a\xc7\x62\x61\xfc\x42\x18\x74\x72\x77\x99\xea\x66\x6e\x98\x4a\x3e\xf8\xe1\x49\xf2\x8b\x47\x65\xe6\x97\xaa\x47\xf7\x55\x53\x21\xfa\xc3\x5d\x5f\x9d\x58\x0c\x6b\x63\xe1\x9d\xd6\x9d\x1f\x92\x77\x1e\xfa\x27\x59\x76\xc5\xf3\x6a\xe8\x2e\xeb\xce\x0f\xa1\xe6\xe8\x3f\xe0\xf6\x2b\x4e\x87\x63\xf8\x77\x6d\xf1\x78\x5b\x7c\xf2\xe4\x89\xb1\x50\x38\xf6\xbd\xa3\x8f\x92\xf7\x4e\xf6\xb8\x17\x3d\xfa\x25\xec\x0a\xc5\x26\x4d\x7a\x88\xbc\xf3\xd1\x4e\x30\x9c\x8d\x85\xe9\x15\xd4\x7c\xb4\x93\xfc\xf3\x6c\x0c\x21\x1e\x15\x5c\x44\xec\x3f\xf2\xdf\xd6\x83\x2a\xd0\x3a\x8a\x29\xce\xc8\xb6\x64\x22\x14\xa4\x7b\xa5\xab\x30\xd8\x45\x55\x7c\x32\x6a\x93\x60\x28\x39\x75\x2a\x99\xa0\xfd\x0a\xcf\xe4\x55\x5a\x29\x6b\xa2\x0a\x34\x80\x2c\xde\x61\xf7\xb3\xe9\x18\x85\x4f\xd2\x20\xc9\x1d\x76\xc9\x21\xf0\x0e\x25\xca\x87\xf2\xd4\x6b\xc9\x44\x5a\xca\x77\x3c\x74\xb9\xa2\x6f\xa3\xb0\x66\x2a\x2e\x4a\x72\x33\x47\xd5\x86\x8c\x9f\x71\xd8\xb1\x86\xe6\x8f\x99\x53\x6b\xd6\x1d\x56\xea\xc8\x0d\x7e\x26\x12\x2c\x2c\x0b\x91\xb7\xee\xb7\x16\x9b\x1b\x37\x8d\x1c\x20\xda\xc7\x2c\xda\x15\x34\xc9\xc5\x46\xa5\x6e\x90\xcf\x1e\xbf\xcf\xd5\x70\xfe\xde\xdf\x1d\xbc\x13\x3b\xec\xb5\xe4\xf5\xb5\x91\xc2\xc2\xf2\xd6\x29\x53\xc7\xfb\x2c\x82\xd3\x62\x66\xbd\xad\x4d\xc5\x99\x69\x11\x86\xbd\x4e\xaf\x0b\xe0\x71\xa9\xf1\x0f\x07\x12\xba\x51\xb5\x85\xbe\x47\x7d\xe5\xa9\x35\x93\x66\x7b\x37\x37\xf9\x4a\x1f\x1c\x3f\x7a\xe7\xcb\x3c\xe6\xab\x4a\x07\x37\x8f\x89\x0c\x1d\x7f\x7f\xd3\x18\xc5\x34\xfb\x58\xf7\x9d\x2b\x57\xdd\xfe\x01\x7b\x2d\x79\xc6\x01\x3f\x1e\x5c\xdb\xbd\x6a\xac\xae\xcc\x85\x05\x81\xd9\x3d\x8f\x4c\x33\x70\x30\xe7\xc3\x50\xf7\x3f\xc2\x47\x6e\x70\x9b\x9c\xa3\x8b\xc7\xce\xcb\xa4\xc8\xbd\xa5\x2d\xb7\xfc\xe0\xd8\xc3\x80\xcb\x07\xb4\xdb\x6a\x92\x05\x9c\x3f\x98\xf0\x8a\x2c\x8b\x45\x31\xec\x75\x4b\xce\xaa\xbd\x43\x8a\xd6\xfa\x0b\x0b\xb1\xe1\x6d\x2c\x98\x92\xc3\xef\x19\x17\x0c\x64\x0a\x17\x5b\x0b\x83\x1f\x4f\x4b\x2f\xd8\xe2\x1e\xe1\x6f\xde\x6c\x86\xb7\x97\x8c\x5d\x90\x7b\xce\xca\x5b\xb6\x5d\x79\xcb\x82\x61\xf3\x86\x2f\x27\x6d\xe6\xe6\xd9\xb3\x32\x07\x48\xf7\x0b\x57\x96\xd5\x81\xb1\x8f\xef\x4f\xed\xff\xdc\x28\x45\x71\xe2\x11\xc4\xfb\x77\x66\xa1\x7c\xef\xa7\x76\x74\x91\xef\x0c\x49\x45\x12\xea\xe0\x35\xaa\x04\x8a\x05\x13\xd6\xbe\xa0\xec\xc7\xb2\xc4\x06\x8a\xd3\xcd\x38\xdd\x0c\xa2\x35\x60\x65\xac\xef\x98\x1e\xde\xf1\xc0\xa9\x67\x6f\xb8\xed\xa8\xf1\x0c\xd7\x14\xaf\x6b\x31\xb8\x53\xd1\x39\xf8\x97\x6f\x9b\x8e\xf6\xf8\xbf\xc9\x36\xc7\x54\xff\x64\xb4\x26\x0d\x2b\x8a\x2a\x79\xb3\x17\x4f\xce\xdd\x9b\xfb\xde\x24\xce\x65\xe5\x2b\xfd\xfe\x4a\xde\x26\xf3\x15\xb0\x07\x44\x3c\x6f\x0a\xe7\xb4\x72\x55\xfe\xce\xaf\x11\xb6\xdc\xf7\xa3\x3f\xbe\xf6\xf2\xff\x9c\x38\x94\x69\xdb\xb4\x6e\xc0\xb0\xc1\xe1\x7d\x97\x7b\xb4\x3f\xf5\xce\x6b\x4d\xba\x42\x1b\x6e\x69\x61\xcd\x46\x5d\xe3\xab\x3f\x7b\xf7\xd5\x26\x9d\xc9\xc4\x05\x8a\x07\xb2\x26\x93\xbe\xf1\xa7\xcc\x99\x0b\xaa\xd8\xea\xe9\x57\xb8\x0e\x2e\x8b\x7c\xa8\x41\xb3\x78\xcc\x03\xa4\x2b\xfd\x18\x1d\x69\x4b\xa7\x8c\xc3\x26\xe8\xe9\xec\x7b\x98\x1d\x53\x3d\x17\xcc\x39\xca\x2d\x79\x68\x15\xf9\x82\x3a\x6c\x26\x78\x77\xcf\xa7\xbb\x21\xbb\xfb\xd3\x3d\x64\x80\x7a\x7d\xc8\x64\x03\xcb\xaa\x43\xd4\xc1\xdc\x4c\x2c\x34\xce\x17\xab\x0e\x75\x51\x60\x6f\x2e\x63\xb2\xed\xfe\x14\x86\x77\xdf\xbc\xe7\xd3\xdd\x36\x13\xa3\x4d\xe2\xd1\xa1\x55\xcc\x2a\x6d\x0f\x08\xdb\x6f\x0f\x48\x33\xb5\xe0\x41\x97\x5b\xc7\x72\x1a\x56\xb5\xd0\x03\x58\xdd\x00\xb1\x9e\xa0\x6f\xbb\x8a\x24\x7b\x0d\x75\x68\x58\x1e\x6f\xfd\xb2\x11\x4d\x91\xc7\xf9\x86\xd3\xeb\x75\xbe\xe1\xf4\x10\x69\x60\x72\x77\xab\xd7\xdb\xba\x23\x39\xd0\x91\x96\x3c\xae\xd9\x4e\xaf\x23\x25\x79\x9d\x73\x9d\x1e\x29\xed\xc0\xa3\x06\x25\xc9\xd7\xc9\x41\x52\xda\x51\xd4\xf2\x62\x72\xd0\xd6\xbd\x1d\x5d\xef\x76\xec\xdd\xdb\xc1\x0e\xe8\xd8\x8b\x9f\x5a\xa3\x3e\x45\xfd\x21\x17\x92\x03\x13\x89\x81\xc9\x0b\x92\xf4\x07\xd5\xef\x0f\xbd\xe7\xf5\x77\x27\x07\x0e\x4c\x92\x85\x0e\xc7\x93\x65\x03\xf1\xbd\x7d\x77\xef\xed\xcf\x5d\x88\x91\x9e\x5a\x11\x06\x3c\x10\x50\xff\xeb\xbf\xb1\xaf\xf0\x56\xf2\xc1\xad\x9f\x41\x9a\x9c\x26\xc3\xc8\x69\x48\xc3\x36\xbc\xf4\xd8\xfa\xee\xcc\xfa\x63\xc7\xd6\x33\x9d\xeb\x8f\xc1\xcb\x38\xda\x7d\x07\x8b\xba\x11\xd4\xe3\x23\x7d\xfe\xc7\xd4\xea\x20\xf7\xe2\x31\x8e\x42\x93\xd0\x5c\xb4\x18\xad\x40\x6b\xd0\x46\xb4\x0d\xed\x42\xd7\xa1\x5b\xd0\x01\x74\x0f\x3a\x84\x7e\x80\x1e\x42\xc7\xd0\xa3\xe8\x19\xf4\x1c\x7a\x01\xbd\x84\xce\x68\x58\xc7\x0c\xdd\x11\xca\xe4\xb5\xa0\x01\x5e\x3d\x34\xb9\xc6\xd0\x0d\xb7\x8c\x86\x7e\x20\x26\x54\x2f\x31\x2f\xdb\x02\x29\xf5\xd0\x60\x27\x44\x8a\xa3\x2b\xfa\x01\x02\x10\x82\x40\x2a\x06\xd4\x57\x4e\x5b\xa3\xbc\x00\x01\x39\x12\xe0\x83\x90\x4a\x47\x85\x50\x9a\x01\x19\xd2\x62\x00\x52\x5c\x1c\x02\x56\x59\x62\x02\x69\x30\x43\x3c\x29\x48\x56\xbb\x7a\x93\x6c\x4d\x5b\x65\xa8\x06\xc1\x9a\x8e\xf2\x91\x10\x27\x3b\xf4\x38\x12\xb5\x72\x42\x1c\x64\xb1\x1a\x2b\x4d\xc0\x28\x51\x3d\x4e\x32\x62\x48\x04\xa1\x05\x28\x1d\x5d\x01\xc8\x29\x1d\x72\xdb\xdf\x62\x5c\xf6\x97\x98\x80\xd3\x65\x21\xab\xac\x09\x2b\x59\x6d\x75\xcb\x41\xf6\x25\xbb\x8b\x79\xdb\xee\xf2\xd8\x5f\x85\xe0\xcf\xd8\xa0\xec\xb6\xc1\x0d\x96\x94\x05\x6e\xb2\xa9\xa1\xef\xc8\xc5\xc2\x73\xa2\xab\x3b\x0a\xbb\xc9\xb1\xef\x91\x63\xb0\xd8\x56\xd6\x3d\x03\xf0\xbb\xe6\xd3\xcf\x19\x2d\xf8\x28\xd9\xf2\x02\x2e\x23\x7f\xb4\x54\xe0\x47\x81\xcd\x58\xfd\x52\x37\xf9\x55\x0b\x6c\xb0\x0c\x24\x93\x60\x94\xae\x7b\x15\x07\x93\xc9\x3e\xd6\x64\x83\xfd\x19\x72\xe6\xde\x97\x1e\x3c\xca\x82\xee\x11\xff\x5d\x50\xfa\x9b\xdf\xb0\x6f\xbd\xc8\x33\x1b\x2c\xb9\x5b\xdf\x27\xff\x05\x69\x28\xc9\x5d\xbd\x17\xfe\x50\x36\x09\x22\x7f\xd9\xc5\x80\xa4\xfb\x15\xa7\x23\x23\x21\xd5\xdd\xf9\xe0\x83\x0f\x3e\xc8\x36\x0d\xd8\x51\xf2\x0e\x66\x1e\xd9\x3e\x8a\xc3\xdb\x1d\x45\x2c\xb9\x47\xaf\xb7\x17\xb1\xe4\x51\x9d\x4e\x0e\xda\xec\x76\x7b\xc0\xa9\x2b\x84\x31\x6c\x91\x5d\xaf\x87\xf9\x5c\x91\xdd\x51\xc4\xc2\x54\x60\x21\x6c\x86\x65\x06\x9d\x33\xe0\x70\x38\x1c\x01\x27\x5f\x48\xee\x86\x80\x64\x34\x91\xd3\x6c\x51\xf7\x5b\x30\x8f\xdc\x67\x61\xbc\xac\xde\xc0\x91\x3b\xf9\x57\x61\xc6\xcb\x3a\x0c\x9d\xaf\xbd\x66\xe9\x9a\xc8\x73\xad\x63\x96\x80\x81\xbc\x95\x21\x37\x7b\x21\x45\x1e\x66\xcd\x30\x8f\x9c\xe4\x39\xd8\x38\x08\x06\x1e\xf9\xe8\xf9\x93\x3a\x26\x09\x18\x2c\xc6\x93\x60\x2c\x20\xaf\xdf\x0b\xf5\x7f\xfa\x58\x47\xbe\x1e\xf1\x3a\x2e\x3c\xf7\x49\x39\x79\x85\xbc\x04\x71\xf3\x8d\xe4\xd3\x8f\x2a\x60\x6f\x17\x5e\xc5\x81\xc3\x68\xc1\xb0\x11\x58\x52\x43\x4e\xc1\x3f\x7f\x43\xfe\xd0\x7d\x1d\xf9\x3d\x78\x7e\xf7\xbb\x36\x58\x62\x60\xc1\x0c\x25\xb9\x7b\xc6\x33\xda\x7a\x09\xc5\xff\x37\x22\x0f\x42\xb4\xfa\xf7\x36\x86\x48\xb4\xbf\x21\xde\xd3\x3b\xf1\x1f\xa0\xe3\xe9\x9d\xdd\x7f\xdf\xf9\x34\xfb\xee\x63\x99\x2a\xe2\xad\xca\x0c\xac\x64\xa6\xee\x7c\x11\x16\x5e\x18\xb4\xeb\x85\x17\x76\x85\x9f\x84\x87\xab\x06\x0d\xaa\x22\xf6\xaa\xc1\x9a\xbc\xd9\xc9\x23\xee\x1a\x64\xa0\xcc\xde\xa5\x08\x01\x8b\x18\x75\xe0\x12\x8e\xc7\x38\x49\x56\x2f\xa2\x36\x04\x36\x14\xd1\x2e\x38\x25\xca\x0b\x29\x94\xe6\x05\x89\x39\x42\x7e\x4c\x82\x1b\xec\x6f\x41\xc7\xbb\xe3\x61\xfe\xac\xa1\xe4\xea\xdc\x2b\x2b\x67\x35\xaf\xc2\x29\xf2\xe0\x5a\x6c\x85\x2b\x4a\x4c\xe4\x43\x92\xd9\xb0\x88\x79\xe7\xa5\x13\x7b\x0e\xae\x80\x11\x6f\x3a\xc6\x0e\xe4\x96\x6e\x22\x3e\xf2\xd2\xb4\x29\xef\xc2\xdc\xb7\xae\x1f\x38\x7d\x75\xee\x25\x72\xf5\xb0\xe9\xb0\x03\xd7\x77\x35\xc2\x7c\x6c\x5f\x3f\x73\xd1\x46\xd2\x4c\x7e\x6d\xb2\xc7\x06\x4e\x94\xdf\x82\x91\x57\xde\xb9\xeb\xd1\xbc\x6c\xd0\x21\xf6\x5f\xd4\xf6\x57\x95\xe4\xa2\xc6\xf2\x43\x35\x24\xe5\x20\xa6\x02\x31\x39\x15\x2f\x86\x98\x44\x87\x2b\xd4\x9f\x51\x27\xba\x72\x2a\xad\x91\xd3\x09\x94\x1d\x4a\x4e\xc9\xc2\x82\x83\x3b\xb7\xbe\xf6\xd2\x6f\x6f\xbb\xed\xb7\x2f\xbd\x96\xdd\xc2\x1d\x3c\x07\xf8\xb3\xbb\xef\xfe\x0c\x30\xf9\x72\xfb\xdb\xf7\x6e\x79\xe4\x95\x73\x07\x0e\x9c\x7b\xe5\x91\x2d\x4b\x36\x3d\x36\xfd\x8d\xe3\xc7\xbf\x4a\xff\xe2\xb6\x3b\x3f\x7e\xec\xd0\x9a\x2d\x3f\x5b\xf7\xb3\xc3\xc7\xdf\x60\x37\x76\xe9\xea\x66\xdc\x76\xdb\x8c\x3a\xf6\xeb\x6d\x4b\x97\x76\x1d\xa9\x1b\xc8\xe4\x46\xdf\x78\xe3\xe8\x6e\xa6\xbc\x22\xb4\x7c\x79\x90\xd9\xc7\xde\x71\x70\x50\xf7\x84\x78\x6c\xe1\x32\x4e\x1b\x47\x1f\xd6\x21\x6e\x46\xef\x7e\x8b\x99\xff\xfb\x75\xe8\x6f\x5c\xf7\x01\xac\xf6\x43\x5a\xa1\xb2\xc5\x0f\xdc\x87\x7e\xfb\x2c\xbb\x9f\xfe\x90\x4f\xfd\xf6\x05\xaa\x7b\x81\xdd\x4f\x3e\xfc\x76\x37\xb7\xf7\x4f\x47\xba\xc2\x47\xfe\xb4\x75\x89\xe1\xfb\xab\x17\x8e\xae\x84\xb2\xe7\x6f\xef\xbe\xd5\xb4\xe7\xf8\x61\xfc\x91\xc3\xef\x77\xe4\x42\x6a\x44\x2c\xaa\xbf\xb9\x3f\xab\xbf\xf0\x43\xf5\x97\x4c\xa0\xee\xa5\xd4\x7d\xc0\xee\xf7\x1f\x39\xf2\xa7\x3f\x1d\xb9\xea\x95\x58\x30\xba\xfa\xfb\x83\x9f\xfe\xfc\xd6\xee\xdb\x07\xd5\x06\x7e\x8d\x10\x8a\x22\x74\xb1\x99\xd7\xf6\xce\x68\x3c\x6d\x0e\xca\xd4\x16\xa0\x5c\x6d\x95\xa8\x06\x25\x51\x1d\x6a\x42\x03\xd1\x10\x34\x1c\x8d\x42\xe3\xd0\x24\x34\x0d\xcd\x42\x73\xd1\x22\xb4\x0c\xad\x44\x6b\xd1\x06\x74\x35\xda\x86\x76\xa3\xeb\xd0\x8d\xe8\x16\x74\x3b\xba\x0b\x1d\x46\xef\x23\x64\x0d\x58\xf5\x10\xa1\xbf\xc9\x80\x43\x74\x84\x92\xf2\xe5\x47\x5a\x16\xfa\x1f\x2d\x70\xe9\x01\x8e\x50\x32\xf0\x6f\x0e\x35\x3c\xee\x48\x7f\x47\xa8\x9c\x54\x43\x85\x6f\x39\x22\x3d\x23\x2c\x0a\x7e\xe3\xc7\x29\xcd\x1c\x2d\xd4\x6b\x4f\x07\xbc\xa2\x61\xfd\x4b\x72\x3c\x5d\xc5\x87\x82\x26\xcc\xa3\xee\xaf\x73\x3a\xee\x9e\x0b\xaf\xe1\xdb\xf1\x83\x17\x5e\x1b\x17\xe9\xf9\xd7\x62\x5e\x62\x2e\x32\x2f\x31\xfb\xe9\x79\xb1\x79\xcc\x12\xf3\x92\x8d\x4b\xcc\x4b\x36\xe5\xcf\xdd\x03\xd7\x80\x7d\x2d\x38\xd6\x82\x7d\x0d\xfd\xcb\xbb\xbb\x9e\x89\xac\x7d\xe0\x72\xff\x2f\x46\xaf\xed\x7d\x70\x24\xb7\x77\xfb\x33\xcf\x6c\xdf\xf1\xf4\xd3\xe4\x6c\xb4\xb1\xb5\x31\xba\x6a\xae\x9b\x29\x1a\x3c\xc7\x97\xae\x0d\xa5\xc7\x8e\x49\x97\x96\x38\x82\xc3\xcd\x8c\x9f\x09\xeb\xfd\x26\xb7\x54\xe8\x4b\x27\x03\x3c\xba\x70\x33\x39\x01\xe3\x07\x32\xf7\x75\xcf\x23\x1f\x70\x25\xaf\xbf\x4e\x7e\xb9\x76\xed\x6d\xfd\xfe\xbe\x17\xac\x0e\x98\x82\x55\x41\xf5\x30\x06\xaa\x82\xc1\xaa\x40\xf5\xec\xaa\x60\x95\x7a\xcc\xaa\x0e\x56\xb1\x3f\x0b\x5f\xf6\x8f\x1c\x1f\xb3\xf6\x52\x9f\xb5\x63\xc2\x97\x3c\xf3\xb6\xb5\x6b\x43\x4f\xef\xd0\x52\x0b\xd7\x84\x4b\xf5\x1c\x88\x8e\x9a\x78\x4b\x99\x41\xaa\x28\xaa\xaa\x16\xa0\xc0\xee\x70\xf2\x92\x5c\x0f\x66\xa6\x80\xe1\xb1\x41\xae\xec\xe1\x17\x58\xab\x43\xdc\x8d\x14\xef\xa1\xec\xb2\x39\xec\xb7\x6d\xce\xcb\xd3\xc8\xaa\x03\x8d\x39\xf7\x9f\xbb\xef\xbe\x73\x0c\xb9\xef\xdc\xfd\xf7\x9f\x83\x73\x2d\x95\x5f\xff\xaa\xb2\xa5\xa5\x12\x1e\xad\xc8\xe0\xaf\x32\x15\xf0\x68\x65\x0b\xec\x55\xc3\xee\x53\x23\xae\x5a\x7d\x1f\x5b\x7b\xe1\x74\x45\x4b\x4b\x05\xd7\xaa\xfe\x7e\xff\xfb\x15\x2d\x2d\xf9\x71\x68\x89\x0e\xb1\x67\x11\x42\xd3\x11\x02\xae\x07\xee\x48\xe8\xd3\xcf\xd3\x85\x66\x87\x5d\x50\xe7\x91\xea\x28\x02\xf5\x87\x48\xca\x5b\x0e\x24\x35\x25\x47\x8f\x29\xbb\x76\x43\x8a\x3b\x00\xec\x6d\x3f\xff\xe0\xbe\x49\x77\x6f\x5e\xb3\x78\xd1\x9a\x8d\x77\x4e\xb8\xfb\xc7\xef\xde\x3f\xff\x57\x93\xb8\x62\xaf\xce\xe4\x68\x5c\x40\xfe\xb1\x6d\xf7\x27\x7b\xc0\xf3\xf6\xc6\xf7\xef\xbb\x65\xf7\xb5\x87\xa7\x2f\xdc\xbd\x7d\x8e\x7f\x91\xd5\x5e\x64\xfd\xaf\xfb\xeb\x97\x35\xc5\x74\x66\x87\xab\xe1\xb1\xd9\x2f\x12\xb6\x8e\x39\xf5\xe6\x2b\xfb\xef\xfd\x59\x7a\xe6\xc6\x5d\xbb\x37\xce\x4c\x3f\x7d\xd7\xbd\xcf\x8e\x6c\x62\x7d\xa2\xc3\xe4\x4c\x4e\x5d\x7e\xd5\x2f\xaf\x7d\x0b\x2c\x53\xf6\x3d\x74\x74\xdf\x94\xab\x17\xcc\xc9\x46\xfc\x76\xdb\x68\xfb\xfd\xef\x46\x2a\x22\x0e\xb3\xe8\x19\x3c\xbc\xeb\x85\x88\xcf\x9c\x1f\xcb\x66\x39\x44\xf7\x12\x94\xa3\x29\xb4\xd4\xcb\x35\x4e\x4a\x1f\x50\x53\xb1\x06\xa0\x20\x23\x4d\x40\x51\x31\x34\x3e\x8e\xfc\x59\xa4\x0c\x0b\x94\x57\x20\x10\x93\x7a\x44\x5d\x33\xa4\x99\x9e\x35\x15\x3f\xab\x4e\xc3\xd9\x4e\xc5\x9d\x55\x12\x8a\xc6\xe1\x4b\x1d\xb9\x3f\x68\x36\xe4\x9a\x29\xf9\x99\x62\x57\xd7\x9f\x40\xe0\x9c\xcc\x9d\x6a\x94\x6e\xe4\x56\xa4\x08\x3e\xf9\xa6\xb6\x6c\x62\x71\x99\x0b\x58\x01\xd8\x93\x6e\x85\xb9\xf4\x29\xaa\x23\xd7\xdf\xb0\x9c\xe9\x24\xc8\x19\x61\x36\x0b\x3e\xa7\xc1\x32\x40\x49\x28\x8a\xdb\x14\x6f\x65\x99\xb4\x92\x50\x8c\xb6\x22\x29\x22\x28\x7d\xb8\xf6\x6a\xbe\x35\x7b\xfc\x09\x5a\x6d\x33\xf7\x98\xd1\x53\x06\x34\x19\xa4\x58\x1a\xfe\xaf\x79\xe6\x90\x92\x10\x6f\x55\x12\xca\xad\x62\x42\x11\x01\x89\x09\x11\x50\xee\xd6\xff\x73\xae\xc5\xfd\x10\x51\x03\xc8\xaf\xf7\x8b\x4a\x42\xbc\x88\x44\xf5\x79\xc1\xff\x7d\xde\x35\x1e\x0d\x6d\xfc\xce\x21\x3d\x2a\xa4\x7b\xcd\x14\x84\x44\x3d\x13\x88\x8a\x01\x3d\x0e\x44\x02\x0c\x1d\xd0\x47\x34\x95\x39\x65\xf6\x48\x83\x9a\xb7\xf7\xf0\x4a\xf2\x1e\x7c\x06\xb3\x72\x6d\xd7\xbd\x49\x2e\x90\x73\x4c\x0e\xaf\x24\xcf\x77\xbf\x8c\x8f\xbd\x49\xfe\x82\x57\xc2\x74\x72\x8e\x5c\x80\x69\x90\x35\x61\x4b\x77\xc6\x56\x6f\xeb\xce\x58\xb0\x09\xb2\xb6\x00\x9b\x0d\x30\x28\xb7\x08\xdf\xd5\xdd\xcd\xb0\x94\x6f\xa3\xfb\xbf\xf1\x5d\xd4\x01\xd9\x85\x04\xd9\xaa\xad\xdd\xc8\x6e\x67\x91\xb5\xda\x86\x91\x1b\x31\x48\xbc\x88\x84\x3f\xf3\x08\x0d\x47\x77\xa0\x43\x08\x71\xa9\x58\x11\x08\x51\x0a\x45\xfd\xef\x7f\xd2\xda\xe6\xd8\xef\xfc\x89\xf4\x8f\x64\x65\x94\x54\x0b\x58\xe3\xc9\x40\x32\xe0\x08\x38\xe2\x56\xd9\x0f\x02\x63\xed\x8b\xfd\x9f\x5e\x09\x8e\x08\x97\x54\xbb\x19\x41\x14\x13\x62\x76\xfa\x84\x09\xb6\x94\x6d\xc2\x04\x31\x21\x7e\xe7\x8f\x1a\xe9\xdf\x85\x4f\xb8\x50\xd9\x2f\x56\xe6\xe7\x56\xbb\xff\x64\x56\x53\x03\x65\x4f\xfa\xed\xd6\x9f\x8b\xfd\x9f\xf4\x6f\x5f\x07\x19\xc8\x42\x36\x4b\x90\x28\x6a\x0f\x14\xbf\xeb\xf8\x37\xa1\x9b\xd4\xd0\xf1\xe3\x45\x71\x7c\x06\x22\x50\xef\x6e\x32\xd4\x43\x79\x36\x9b\xcd\x92\xf7\xeb\x0d\x4d\x6e\xf2\x53\xf2\x6b\x9b\x28\xaa\x11\xfe\xcd\x43\x58\xb7\x06\xb9\xd9\xd3\xfe\xb8\x1e\x2e\x97\xc1\x68\x3d\x42\x01\xb1\x1a\x40\x34\x03\xe4\x49\x20\x83\x79\x2e\x48\x8d\xc6\x51\x1f\x8f\x35\x33\x0d\x10\xf3\x33\xf1\x58\xb3\x4e\xdb\x18\xdd\xdb\xf6\x98\x74\x34\xae\x0a\x5a\x4d\xd8\xa6\xd5\xce\x3c\x46\x41\x5a\x80\x02\xb9\x4a\x42\x5c\xf0\x33\x38\xd3\xd1\xa1\x16\x44\xb6\x03\x10\xc6\x86\xc9\x6d\x73\x05\xaf\x30\xb7\x6d\xb2\x81\xda\xe9\x16\x60\x5c\xc0\x14\x72\xc6\x02\xab\x4d\x36\x86\xab\x44\x83\xb1\xa0\xb0\xc0\x68\x10\xab\xc2\x46\xd9\x66\x2d\x30\x72\x85\x4c\x01\x8d\x05\x0f\xec\xdf\xd4\x7d\x60\xd3\x7e\xbd\xaf\x6a\x5c\x72\xfa\x2f\x25\xfc\xf2\xcf\xad\x43\xc2\xc5\x15\xfe\xe5\x8d\xcb\xfd\x15\xc5\xe1\x21\xd6\x9f\xbf\x2c\x78\x7e\x39\xbe\x65\x5a\x99\x05\x3a\xb3\x99\x5c\x16\x67\x33\x59\x1c\x63\xb1\x4e\xc4\x58\xd4\x61\xd6\xa6\x67\x04\x81\x0d\xe8\xdc\x3a\xbb\x50\xc8\xb2\xae\x50\xd0\xe5\x0a\x86\x5c\x2c\x5b\x28\xd8\x75\x6e\x5d\x80\x15\x04\x46\xdf\xfd\xe0\xa6\xeb\xaf\xdf\xd4\xb4\xe6\xba\x2b\xe7\xba\x3f\xcc\x64\x0a\xed\x25\xb5\x75\x65\xcd\x37\x97\x45\x9a\x9b\x23\x65\x37\x37\x97\xd5\xd5\x96\x8c\x1b\xf3\x49\x60\xdb\xa1\xef\xe5\xf5\x06\x39\x0e\xa1\x76\x34\x13\xad\x42\x08\x24\x13\x8e\x56\x41\x54\xa1\x8a\x12\xba\x04\x1a\xea\xb7\xf0\xad\xf4\xee\x09\xf7\x63\x39\x10\x8f\x86\x82\x4a\x9a\xea\xda\xd5\xea\x9e\x5f\x94\xe0\xcb\x41\x4e\xc9\x7e\x80\x58\x2a\x1d\xd0\x28\xd2\xe9\x72\x7b\x09\xa4\xbe\xb1\xc6\xae\xcb\x15\xb6\xee\x78\x6e\xd1\xf7\xff\x6c\x29\x1c\x33\x66\x68\xc7\x95\x11\xcf\x45\x34\xa4\x77\x19\xbc\xbd\xdd\x79\xf5\x8f\xe8\x76\xb0\xec\xe8\x6b\xaf\xa8\xf0\x61\xb4\x76\xd2\xc7\x7e\x85\x63\x15\x67\x2e\x60\x6f\x5b\x23\x7a\x16\xa8\x81\x4f\xac\xdd\x79\xf3\xf7\xde\xf8\xfa\xbd\xb5\x8f\xc9\xe4\xa7\x21\xbb\xcd\x7a\x6b\x75\xc5\xae\xd3\xa7\xb9\x2c\xe8\x4e\x5f\xba\xe6\x0e\x7f\x5f\xf4\xe2\xde\x76\xa1\xe0\xd3\x43\x2b\x5f\x1d\xba\x6c\xec\xa7\x3b\x3c\xd1\x9e\x95\x71\x4f\xe5\x95\x4a\x42\xf1\xc4\x7c\x52\xb6\xd2\x2f\xfb\xbd\x4b\xd6\x88\x8a\x3b\xeb\x56\x8e\xb7\x78\xdc\x67\x73\x5d\xb7\xac\x2c\x2a\x2e\x02\x87\xf1\x34\xf9\xfa\xf4\xe9\xcb\x97\xdb\xf3\xfc\x46\x5c\x96\x3b\x87\x92\x68\x8c\xda\x13\x06\xec\x26\x5c\x5c\x85\x35\x3c\x0d\x49\x96\x78\xc1\xc4\x0a\x7e\x36\xd6\xcc\xa4\x29\xb0\x06\xdd\xc2\xc8\x68\x6b\x55\xfd\x2d\x4e\x7a\xed\xf2\xf2\x3d\x06\x97\xbd\xfa\xad\x7f\x90\x0b\xff\x78\xeb\xea\x41\x57\x6d\x1c\xea\xae\x60\xb9\x22\x77\x7d\x47\x5d\x89\x19\x98\x01\xf3\x76\xbc\xf8\xde\x8b\x3b\xe6\x0d\x60\xc0\x5c\x52\xd7\x51\xef\x2e\xe2\xd8\x0a\xf7\xd0\x8d\x57\x0d\x22\x59\xc5\x9d\xd1\xb6\x38\x65\xdc\xca\xc8\x24\x64\x93\x23\x3b\x28\xd7\x55\xcb\x82\xa6\xa2\xa2\xa6\x05\x2d\x35\x63\x52\xa1\x42\xae\xc8\xed\xae\x60\x0d\x1e\xa7\x6c\x61\x0b\x8a\x42\x7e\xbb\xdd\x1f\x2e\x2a\x64\x4d\x4e\xd9\x63\x60\x2b\xdc\xee\x22\xae\x30\x94\x1a\xc3\x8c\x21\x59\xb7\x42\xb2\x9a\x3e\x42\x3d\x92\x23\x47\xc2\x51\x8d\x13\x0b\xf7\x72\xd6\x78\xa8\xf5\x54\xc0\x04\x66\xd0\x30\x2c\xa3\x81\x58\x2a\xed\x01\x8d\xcb\x45\x94\x25\xb0\x0b\x81\x68\x15\x08\xbc\x50\x00\x55\x10\xe4\x05\x26\x90\xc7\x88\xc4\x72\x33\x13\x57\x3b\x3d\xa8\xe1\x0c\x2c\x93\xbb\xc5\x96\xb0\xe5\x6e\xe6\x2c\xb0\x5a\x0a\x71\x6d\x2f\xf0\x41\xc9\x11\xe4\xf7\xd7\xda\x70\x74\x11\xf9\xde\x4a\x5d\x48\xac\x2c\xd8\xfe\x13\x3e\x54\x11\xe4\xae\x22\xd3\x16\x91\x73\xcd\xdb\x57\x8e\x0d\x87\xc7\xae\xdc\xde\x7c\x8e\x60\xc4\xeb\x19\x36\x77\xd4\x66\xc3\xd3\xb1\xcd\xe3\x00\x57\x6e\x81\xdd\xed\xb6\xc3\xef\x57\x85\xe0\xf8\x2d\x07\x3f\xb2\xda\x31\x57\x4a\xc6\xe3\x13\x76\xb7\xc7\x41\x06\x1c\xbc\xe5\xc3\xaf\xcb\x87\x67\xc2\xe1\xcc\xf0\xf2\xaf\xd5\x31\x1c\xbe\x88\xd8\x2c\xd7\x4d\xf7\xd6\x20\xb0\x23\xc1\x1a\xef\xa9\xd5\xbd\x0b\x75\xbd\x78\xbb\xd6\x2a\xc0\x94\x7d\x96\xb5\x85\x2d\x88\xea\x8b\xd8\x2c\x39\x7b\xf6\x5c\x1f\x68\x8c\xe6\x3c\xf0\xb7\xed\x85\x05\xfb\x3e\xd9\x7d\x0c\xca\x4e\x74\x23\xad\xc6\x91\xf3\xe4\x26\xa6\xf3\x23\x72\xca\x49\xba\xfb\x45\xd5\xcc\x89\x58\xcb\x09\xb0\x1d\xbc\xf6\x0f\xfb\xcd\xe2\x7e\xf2\xb9\x4d\xd3\xe6\xa8\x77\xf5\xd7\x83\x46\x51\xf5\x65\x9c\x90\x94\x0d\x19\x07\xab\x30\x55\x00\xcb\x90\x07\xc2\x89\x6b\x69\x43\x16\xae\xd3\xad\xd0\x17\x90\x1d\x5b\x67\x1c\x7c\xff\xf3\xf7\x0f\xce\x98\x71\xf0\xfd\x75\x67\xee\x81\xad\xa4\x8b\x2e\x56\x2e\xea\x49\x1a\x39\xcf\x65\x15\x37\xd1\xcc\x96\x78\xb2\xfd\x9e\x33\xeb\xb4\xd8\xea\x4d\x5b\x61\x2b\x7d\xcc\x85\x6c\x5f\x5e\x7a\x6d\x51\x58\x55\x36\x37\x69\x7b\xe7\x6c\x0e\x3b\x12\x1c\xff\xa6\x08\x93\x0a\xa2\x16\x67\x51\x45\x95\x1f\xb2\x5f\x95\x1a\x54\x92\x08\x7c\x4f\xa2\x99\xe6\x5b\x4e\x92\xb3\x67\x35\xc4\x06\xfa\x5a\xcd\x79\x96\x9c\x3d\x79\xcb\xe1\x16\x5e\xb4\x0e\x71\xe8\x2a\x3a\xff\xd4\x59\xa1\xf3\x35\x59\x45\xbe\x25\xf7\x83\xbe\x4c\xb0\x3f\x19\x46\xfe\xe7\x21\xb5\x94\x77\xf5\xbb\x95\x3a\x77\x39\x61\xe8\x47\x0f\x81\x63\x58\xc7\x49\x8b\xc7\xbe\x74\xc7\x8e\xa5\x76\x8f\xe5\x64\xd7\x87\xfd\xb2\x44\xeb\x03\xed\x6b\x06\xa1\x11\x08\x41\x8f\xc1\x7b\x4f\x36\x04\xe9\x3f\xe6\x4f\xad\x22\x29\xa4\x0a\x81\x88\xda\xbe\x7b\x32\xc5\x22\x9b\x09\x8a\x7b\xbe\xc6\xd6\x6f\xcb\xdf\xed\x7f\xdb\x51\x68\x81\xe2\x33\xeb\x3f\x9c\x8a\x2e\x5e\x6b\xb2\xe5\xf6\xf4\xfb\x36\xe7\x4c\x36\xc5\x4d\x68\x95\xb9\xf6\xe2\x7d\xaf\x7f\x7b\x06\x2d\x27\xc0\x7a\xf0\x4d\x28\x97\x4d\x83\xda\x88\xcd\xd4\xd5\xd1\xff\x6b\xe1\xde\xbd\xa5\xcb\xd0\xda\xff\x5b\xde\xd4\x6f\x97\x8e\x0a\xbd\x90\xc3\x8e\x4b\x56\xdb\x7b\x3a\x83\x74\x2f\x52\x71\xaa\xf8\xd2\x42\xe0\xfe\x73\x21\x9c\x25\x67\xb7\x26\x16\xe8\xdd\x86\x01\x06\xd0\x2f\x59\x49\x43\x14\x37\x14\xab\x81\xbb\x97\x4e\xce\x07\x4c\xaf\xbb\x0f\xf6\xdf\xf7\x7f\x2c\x25\xb5\x1a\xbc\x7e\x5f\x72\xa5\x01\x74\x15\x3a\x8f\x61\xed\xaa\x6b\x69\x9d\xef\x49\xd7\xb2\xd9\xf9\x80\x2b\x6a\xb7\x6e\xfd\x46\x29\x22\xc4\xa9\x75\x84\x27\x5c\x0e\xd5\xa2\x66\x34\x12\x8d\xa7\x9a\x19\x09\xf3\xdf\x26\x3a\x02\xdf\x21\x44\xd4\x1a\x22\xa7\x64\x09\x41\xca\x12\xe5\x2d\x4c\x8c\x0e\x48\x14\xda\xf1\x82\x55\x89\xf2\x82\x15\x62\xc8\x82\x42\x41\x81\x0e\x4b\x78\x52\xb8\xfd\x6f\x07\xfa\x49\x0c\x82\x2e\x13\x37\x56\x88\xbe\xf5\xf6\x23\x8f\xbc\xfd\x16\x44\xbb\x6f\xcd\x66\xb3\x9d\x6b\x17\xdd\x7d\xf7\xa2\xb5\xb4\x67\xc5\xe7\xaf\xdb\xb0\xe1\x3a\x9c\x39\xa5\xe6\xe2\x14\x0d\x60\xfe\x7a\x90\xfc\xe5\x84\xe5\x12\x51\xf4\x4d\x81\xf4\x36\x54\x8a\x8e\xb5\x6b\x1d\x22\xf9\x45\xee\x8d\x9d\xb0\x7c\xe7\x4e\x72\x1b\xf9\x67\xdd\xe1\xdf\x9e\x7b\xa8\x4e\x2b\x72\x92\x05\xd6\x3c\x66\x8c\x99\x74\x43\x5e\x36\xd4\x3d\x74\xee\xb7\x87\xeb\xd4\x71\x1b\x5c\xe4\x05\xb5\xbe\xb5\xa1\xb1\x68\x36\x5a\xfe\x6d\x75\xce\x0f\x02\x8f\x04\x3e\x1c\xad\x62\xd2\x5a\xd7\x19\xe9\xb5\xc3\xbc\xb4\x72\xca\xf9\x06\x05\x09\x3a\x50\x91\x9b\x21\x62\x97\x64\x25\x99\x40\xe9\x2a\x75\xc0\x02\x31\x94\x4c\x28\x51\x5a\x89\xfd\xc0\x5f\x52\xd3\xda\x5b\xa4\x22\xf2\xd5\xd3\x3f\x27\x0f\x0e\x5e\xf7\xee\xad\x63\x75\xfa\xeb\x7f\xbb\x67\xfd\xaf\xa7\xd1\xfa\xd3\x3f\x5e\x43\xf0\xa9\xfd\xd4\x93\x20\xf6\x81\x0f\xd8\x07\x3e\xe8\xce\x7e\x7c\x98\x01\xd3\x99\xe4\x47\x7b\x4e\x91\xf3\x4c\xe7\x29\x10\x3e\x3e\xcc\x90\xaf\xce\x24\x3f\x62\x3b\xfa\xd7\xb5\x39\x7f\xc9\x3e\x45\xba\xdd\xbe\x0f\x5e\xe4\x17\x3d\xf8\xf1\x86\x3d\x9f\xdf\x6e\xd6\xda\x60\xa6\x7f\xac\x11\x73\xf4\x6b\x89\xcd\x44\x0e\xd9\x15\xd7\x85\x87\xe8\xcf\xd1\x6e\xd9\xe7\xff\x39\xb4\x44\x36\xee\x27\xe7\xbb\x05\x10\x4e\x1d\xed\x96\xbd\x45\x3f\x27\x2f\x45\x36\xee\x47\x2c\xe2\xf3\x7a\x8d\x11\x68\x2c\x9a\x89\x16\xff\x9b\x32\x8c\xf2\xff\x7f\x82\x89\xd2\x8d\x68\x45\x49\xeb\x1e\x1d\xea\xa5\x15\x8b\x5a\xfb\x7a\xeb\x9c\x45\x90\xf8\xec\x65\x45\x58\x4c\xfe\xf5\xa3\xdf\x3c\xbb\x6e\xdf\x37\xda\xec\xc1\xf3\xd7\xc8\x2e\x30\x3e\x7b\xee\xd9\xfd\x27\x5e\xcf\xb7\x4a\x94\xcd\x66\x73\x59\x10\x4e\xad\x5b\x70\xf7\xdd\x0b\xd6\x9d\x62\xea\xb4\xca\x47\x2f\x2f\x6d\xa7\x73\xfe\x92\x7d\x92\x74\x7b\x82\x5b\x46\x9b\xbf\xd9\x58\xad\xa7\x20\xf8\xc0\x73\x60\xf6\x05\xb7\xcc\xa5\xad\xf1\xbf\xf3\xd5\x10\x56\xaa\xd5\xaf\xee\x21\xe8\x7c\xa8\xae\xbb\xb7\xea\x91\xcc\x43\x75\x97\xd8\x0e\x35\x50\xe4\xf8\xfe\x7d\xa6\xd0\x6b\x2c\x29\x5c\xda\x7b\xa6\xfb\x2c\x26\xbf\xb3\x1f\x7d\xff\x06\xbd\xbe\x4a\xef\x36\xdc\x30\xfa\xd2\xfe\x74\xf4\x71\xcd\xff\xf8\xfb\xff\xbe\x5f\xfd\xe5\x0d\x06\xb7\xbe\x4a\xaf\xbf\x71\xcc\xa5\xfd\xeb\xe8\xe3\x9a\xff\xf1\xf7\xbf\xa3\x9f\xc5\x17\x59\xda\xcf\xd6\x51\x3e\x47\x09\x39\xec\x98\xa5\x6a\x5d\x5b\x2a\x9d\xec\xfb\xc8\x82\x06\xea\xa4\x65\xa3\x27\x9f\x7d\xd5\x02\xe7\xf3\x83\xb3\x67\x21\x7a\x82\xfc\xf2\xd8\xee\x4f\xf6\x15\xa8\x92\x85\x2a\x3f\x0f\xcd\xd4\x12\xf1\x86\x98\x10\xdf\xd0\xf2\x33\x53\x0b\x38\xdf\x97\x1b\x66\x8b\x93\x9c\xfa\xe8\x21\xf2\xf9\x7e\xd1\xbc\xff\x0f\xd7\x1e\x04\xdb\x09\x8b\xf6\xd9\x0e\xcf\xd4\xee\x79\x5d\x14\x5f\xd7\x1e\x34\xf3\x30\x0d\xe8\xca\x5e\xda\x0f\xb1\x08\x09\x59\x76\x6b\x4f\x5e\x28\x0a\xba\x96\xea\x7e\xe2\x92\x47\xa1\x60\x38\x3f\xda\x92\xe4\x78\xb2\x47\x09\x1a\xe8\x01\xa3\xea\xf9\x36\xc2\x0a\x51\x24\x1f\xe8\x3d\xfa\x4a\x83\xe1\x14\xf9\x20\x2f\xe3\xbf\x23\x8d\xa0\x9c\x32\x18\x2a\xf5\x1e\x7d\x57\xa6\x2f\x4b\x78\x85\x98\x10\xc9\x07\x5a\xc0\x29\x4d\x0a\x9e\x25\x67\x4f\x40\x59\x6f\xf9\x68\x9e\xa7\xb4\xb7\x74\xff\xf9\x1b\xfd\x2a\xfd\x36\x32\x2a\xca\x8f\x21\x7b\x81\xe0\x90\x3a\x23\x88\xf9\x71\xef\x30\x40\x1d\x2e\xd2\x94\x9c\x25\x67\xf3\x1f\x3f\x27\xf4\x2b\x5d\x3a\x40\xcc\xdd\x43\x6d\xc2\xe7\xab\x3d\x55\xbe\x96\xe4\xce\x5c\xf6\x4e\x84\xd8\x2c\x9b\x45\x02\x92\x11\x42\xf9\xc1\x28\xea\xad\xce\x31\x3f\xb0\x88\x9c\xef\x1d\x47\xee\xe9\xab\xad\x9f\xbf\x7f\x10\xfa\xf5\x99\x38\xd9\xe7\x3f\x63\xc6\x41\xd4\x0f\x87\x2d\xdc\x8f\x6b\xd3\x1a\x4f\x87\xd4\xe1\x7b\x9a\x9a\x12\xfa\x20\xe4\x88\x5b\x7b\x81\xe3\x1e\x09\xc5\x62\x21\xb2\xe9\x55\xff\xef\xab\x5b\x37\xb7\xac\xdd\xfb\xe0\x6b\xaf\xe5\x02\xaa\x1f\x97\x8d\x85\x2e\x1c\x0b\xc5\xf0\x84\x3f\xde\x56\x5b\x0b\xef\xe8\x0f\xed\x7f\xe4\x8f\xb9\x1f\xc6\x42\xdc\xe4\x50\x0c\xe5\xdf\xc5\xa9\xf2\xad\x1d\x21\x6b\x42\x9d\x17\xb0\x12\x25\x1d\x0d\x2a\x51\x13\x6f\x06\x6a\xc8\x68\x4b\xf7\x2d\xbb\x6b\xb6\xe0\x2c\x5d\x34\xa5\xc0\xe6\x9a\xd6\xb6\x8a\x19\xb9\xeb\xf8\x4f\x17\xdd\x07\x96\x63\xca\xf8\xf5\xc7\x17\xb5\x5e\xeb\x33\x84\x0b\xfc\x52\x59\x2c\x62\xd2\x9b\xcb\xa7\x0b\xc5\x8b\xc7\x36\xb5\x4e\x9d\x9e\x49\xcf\x6e\xa9\xf1\x18\x7f\xfd\xd8\x6b\xe4\xef\x2e\x9f\xcb\x2f\x61\x73\x7c\x4c\xb9\xc4\x3c\xb2\xfc\xc5\x9b\x16\x27\x76\x93\x43\x1d\xcf\x1c\xdb\x3e\x2a\x53\x1b\xbd\xb5\xfc\x8a\xf2\xf1\xc3\x63\x9c\xe1\xde\xa2\x99\xbf\x87\xe9\xfe\x81\x8b\x27\xec\x1f\xd7\x3c\xe8\x42\x73\xcb\x84\xd8\xe4\xc5\xeb\x96\x54\xff\xf0\x25\x92\x7b\xb5\x62\xfc\x80\x72\xbd\x77\x3a\x63\x1e\xbf\x6c\x45\xcf\xba\xf4\x66\x1e\x71\xd7\xa2\x72\xd4\x8c\xc6\x21\x84\x34\x64\x12\x6a\x7b\x4e\xe7\xd9\x69\x8d\x8e\x4c\xa2\xd6\x88\x40\x33\x44\x71\x86\xa4\x78\x8c\xe9\x8f\x73\x2b\xa4\x25\x5b\x0f\x0c\x59\x28\x18\xe5\x44\x6a\x7c\xc4\xbc\xe9\x7e\x98\xc3\x56\xcb\x95\xd5\x75\xbb\xe7\xdd\xdc\x3e\x0c\x98\xa1\x4e\x2f\xef\x14\x44\xb3\x4e\x17\x1b\xc2\x05\x5b\x6b\xe7\x14\x1a\xcc\xab\xb6\x7d\x76\x74\xfe\xfc\xa3\x9f\x91\xcf\x8e\xce\xdf\x38\xe6\xab\xfb\x82\x10\x03\xf9\x8d\x8d\x1b\xdf\x20\x9f\xdd\xf5\xe3\x63\x64\xce\xde\xe5\x1b\xdf\xc0\xb1\xa9\x7a\xce\x10\x28\x8f\x26\x9b\x2b\xf7\xaf\x5a\x36\x45\x37\x63\xb0\xc4\x18\x1d\xf6\xbd\x82\x63\xb8\x41\xd0\x0d\xcf\x24\x07\x08\x64\x4c\xfe\x21\xf3\x8f\x7e\xb6\xed\xcc\xe1\xcf\x46\x2d\xe6\x16\xaa\x0f\x21\x6f\x93\xcf\xde\xd8\x38\xfb\x5a\xb8\xfd\xf1\x5f\xdc\x05\xf2\x1b\x94\xd7\x25\x8f\x3f\xa6\xe1\x05\x89\x74\x8d\x38\x8a\xca\xd5\x19\x4b\x3a\x90\x0c\x58\x03\xc9\x40\xef\x56\xa5\x7e\x6e\x5b\x2f\xce\x08\xe5\xa3\xa1\x47\x96\x45\xdd\x48\x3d\xf8\xe2\xda\xb1\xb5\xb5\x63\x2f\x38\xfb\x5d\x68\x7f\x77\x9e\x47\x02\xd2\x8e\x2c\x05\xa5\xb9\x93\x06\xb0\xc5\x3d\x2e\xac\xc5\xcc\x15\x93\x2c\x64\x31\xea\xfb\xed\xd5\x3b\x52\x2c\xee\x72\x34\x1a\x21\x54\xac\x58\x52\xc5\x92\x05\xf2\x43\xd8\x7e\x56\x24\x3d\xfd\x40\xa0\xc7\x7a\x84\x12\x9c\x3b\x7a\x16\x93\xb8\x78\xcf\x0c\x26\x1e\x93\x29\x33\xde\x1c\xf2\xf2\x27\x9f\x40\xf3\x27\x38\x03\x1d\x46\x51\x34\x92\x43\xa2\xb1\xd3\x28\x92\x43\xea\x05\x74\xd0\x8b\x5c\x71\x7b\x02\x50\xeb\xa2\xee\x03\x9b\xf6\x0b\x8e\xe2\x54\xdb\x82\x26\xd1\x3e\xe6\x8e\xc7\xef\x18\x63\x17\x77\x4d\xfa\x4d\xa2\x1d\x67\xf3\x00\xff\xe4\xfe\x6f\xde\xad\x3d\x37\xd7\x99\x68\xff\x4b\xec\xfa\x4d\xc9\x05\xeb\xe6\xcf\x19\x5c\x62\x6d\x6a\x6a\x6a\xb2\x76\xb4\x27\x7a\x6c\xa2\x85\x7f\xd1\xfc\xc5\xd1\xe4\x7e\xf9\x53\x6b\xa2\x19\x34\xb4\x0c\x0d\x0b\x30\x99\x68\xa1\x4d\xac\x05\x28\x2d\x9f\x46\xce\xa7\xd6\x57\x4e\xa0\x70\x0b\xfd\x33\x2a\x15\xd3\x6c\xd2\xc1\x57\x5f\x3e\x7f\x74\x5e\xaf\xdf\xab\x37\x9a\xf4\xe7\xcf\xeb\x4d\x46\xfd\x5e\xbd\xea\xb8\xcc\x27\xe7\xf8\x51\x24\x32\xc1\x21\x5f\x92\xe1\xbb\x61\xc4\xdd\x76\xd1\xeb\xf3\xba\x23\xbd\xf9\xcd\xfd\xe6\xbb\x1f\xd2\xe7\xf3\xa3\x48\x2a\x19\x99\xc0\xf4\x65\x7e\xf3\x66\x2b\xef\xa9\x0a\xa4\x22\xfd\xec\x62\x6d\xc8\x4d\xe5\x17\x1d\x2a\x69\x76\xfa\xf9\x4f\xd8\x53\xf5\x02\xbd\x96\x34\x80\xf8\x4e\xb7\x72\x11\x5d\x40\x17\x11\x5d\x04\xc2\x99\x03\xef\x1d\x38\xf0\x1e\x37\xf9\x93\xfb\x73\x19\xb7\x82\x91\xe2\x26\x19\x50\xc5\x3c\xc5\x3a\x23\x92\x1a\x7a\x20\x73\xff\x27\x8a\x9b\x64\xfb\xb0\x74\x55\x39\x26\x51\x2b\x17\x26\xee\x08\x08\x01\x47\x40\xaf\xd6\xf5\x68\x20\x19\x67\xa8\xc9\x8b\x18\xe2\x51\x67\x27\xf9\x4b\x1a\x86\x93\x05\xe4\x20\x39\x48\x16\xc0\xf0\x34\xf9\x4b\x67\x27\x20\x18\x0c\x9b\x61\x30\x41\xcb\x7f\xc5\x23\x92\xe9\xcc\x76\x76\x77\x32\xea\x09\x3a\x73\x88\x41\x5d\x19\xe8\xe3\xd5\x46\xf9\xbe\x26\xa4\xca\x67\x56\x95\xcf\x82\x2c\xd1\x4f\xd5\xa2\xd1\x6a\x87\xe3\xb6\x1e\x66\x51\x6b\xc0\xca\xaa\xe3\xfe\xae\x27\xdf\xb7\x58\xa4\xae\x73\x92\xc5\xf2\xfe\x93\x5d\x20\x9c\xfa\x82\x92\x38\x31\xa8\x2b\xcb\xa3\xe7\x76\x77\x67\x77\x3c\xc3\xbd\x61\x2e\x29\x31\xbf\xc1\x3d\xb3\x83\xc9\xee\x7e\xee\x42\x27\xe5\x6c\x82\x77\x31\x22\xe8\x52\x9e\x29\xed\xdd\xe5\xda\x6a\xc4\xb7\xbf\x1f\xf7\x7b\x3f\xfa\x8f\x69\xf9\xad\xc6\x59\x9a\xc9\x9d\x63\x88\x46\x69\x9a\xc9\x75\x7e\x47\xb2\x34\xaa\x57\x78\x59\x4d\x56\xae\xff\x45\x8f\xae\xe6\x7a\x01\x71\xeb\x29\xff\x8a\x97\x62\xde\x58\x69\x07\x91\xa7\xf3\x8e\xc7\x64\x90\x64\x3d\xb6\xda\xf9\x60\x34\xa2\xf6\xd5\x7a\xd0\x3c\xf1\x24\x97\xd3\x6a\x21\xd5\x0e\x9f\x5d\x34\xf9\xe1\x22\x93\xc1\x52\xee\x73\x76\x99\x77\x80\x4c\x86\x62\x57\xee\x62\x05\xd9\x0c\xad\xd6\x90\xa9\x10\xfb\x58\x76\x46\xd7\x32\x57\x48\xf7\x99\xa1\x5a\x66\xaf\xb2\x7b\xcd\x17\x11\xb3\xa8\xfb\x3e\x30\xe0\xb6\xae\xdf\xba\x8a\x8c\x1f\x32\xbf\x67\xba\x5f\x1c\x8a\x37\x63\xb3\x97\x27\x5f\xe1\x4b\xf0\xd5\xcd\x97\xe3\xab\x07\xac\x97\x63\xaa\x5f\x40\x97\x21\xa9\xb3\xc7\x34\xeb\x37\x27\x9a\x78\x91\xd7\xfd\x80\xbb\x98\xdf\xa7\x5c\x8d\x5a\xd1\x28\xd4\x0d\x3c\xd8\xc0\x03\x11\x88\x41\x23\x0c\x85\x71\x30\x1b\x96\xc3\x06\x78\x02\x5e\x86\xb3\xf0\x19\x10\x6c\x44\x88\x33\x01\xc5\x54\x4b\xa5\x53\x12\xe7\x07\x8d\x89\x39\xaa\xf0\x69\xea\xa6\xa4\x66\xbc\x16\x27\x99\x50\xe3\x40\x3c\x28\xe4\xc1\x75\xa2\x79\x75\x66\x42\x49\x57\x81\xd0\x8c\xfd\x00\x92\x20\x39\x24\xed\x89\x6c\x84\x92\x54\xa7\x53\x69\x45\x9d\x5c\xe4\x7f\x13\xda\xfc\x56\x4e\xe6\xbb\xbd\x54\xba\x19\x4b\x72\x5c\xed\xea\x9a\x21\xad\x44\x95\x68\x22\x5d\x95\xbf\x2f\x25\xc9\x76\x3f\x23\x4b\xea\x23\x04\x8a\xb1\x54\xc5\x46\xc3\x20\xc9\x52\x3a\xde\xcc\xb4\x40\x33\xc8\xda\x92\x2a\x08\x0e\x5e\xe0\x05\x3f\xc8\x6a\xa4\x78\x33\xf8\x69\x08\x45\x41\x0d\xd9\x85\x94\xf6\x4e\x87\xa4\xfe\x0a\x92\x9c\x02\xbb\xfa\xab\xe6\x4c\x9d\x24\x69\x2c\x8a\x51\x5e\x08\x46\x25\x39\x96\x4e\x29\x1c\x35\xb4\x50\x28\x77\x96\xac\xa4\xd2\x35\x4a\xd4\xa4\xce\x34\x53\x69\xde\x0c\x49\x5e\xa6\xe5\xe4\x87\xb4\x9a\x60\x94\xe7\x4f\x48\x26\x18\x45\x48\xf2\x92\xe6\xaf\x70\xcd\xa0\x44\x93\x7c\x48\xa3\x31\x89\xf0\x94\xe1\xba\x19\xd2\xbc\x20\x09\x12\x2b\xa7\xc2\x69\x25\x9d\x68\x86\x26\x70\xd0\x37\x53\xcc\xc0\xa8\x49\x17\xe2\xa3\x26\x46\xe0\x43\x7c\x54\xf3\x51\x27\xfc\x12\x93\x4a\xaa\x45\x65\x02\x59\xfb\x3c\xd4\x60\x57\xbd\xcb\xce\x3b\x24\x0a\x37\x15\xe2\x65\x49\x66\x29\x45\x3d\x4f\xef\x09\x39\x62\x11\x35\x5b\x42\x2a\xa9\xc1\xe5\x29\x49\xfa\x28\x2e\xa5\x61\xc3\xda\xb5\x64\xc2\xc7\x3a\xc5\xe6\x4a\x62\x18\xef\x91\x25\x2e\x21\x28\xa2\x2b\x09\x78\x82\x47\x92\xea\x8c\x53\x82\x95\x23\xf6\x0c\x28\xa9\xbe\xb0\xc6\x38\x59\x73\x56\xe1\xd7\xa1\x34\xe4\x09\xa6\x94\x84\x97\x5b\x35\x66\xec\xaa\x55\xe7\xae\xf8\xdb\x16\xcf\xca\x6b\xd6\x8f\xc3\x5f\xe9\x44\x01\x66\x64\x53\x03\xa6\x4a\xb9\x71\xb9\x9f\xc8\x53\x6a\x26\x3f\x07\x98\x13\x75\xbc\xcb\xe4\x11\xf4\x05\x5e\x9f\xdf\x28\x7b\x43\x6e\x9b\xbd\x40\x48\x4e\x2d\xd0\xeb\xcd\xa3\x71\x50\xf1\x72\xc6\x2a\x13\x83\x0d\xa5\x06\xb3\x59\x6e\x85\xe6\xd5\xde\x62\x87\xce\x32\x42\xae\x67\x18\xcc\x0a\x9c\xa7\x66\x40\xac\x64\x73\x75\xd3\xc2\x5b\xae\xb3\x97\x25\x02\xcd\x85\x78\x02\x24\xe7\x35\x4e\x0a\x03\x27\xb0\x18\x03\x53\x2f\x0f\xb7\x09\x8e\x62\xef\xca\xc6\xa1\x4e\x93\xb5\xa0\x4c\x0f\xac\xa5\xc2\xc8\x79\x95\x20\x1e\x63\xd2\xeb\x0a\xa7\x26\x0d\x02\xd8\x6d\xee\x90\x57\x36\x05\xdc\x9e\x02\x83\xce\x6b\x94\xc9\x3f\xf4\xe3\xfd\xac\xc7\x6b\x2f\x1e\x1d\x72\x19\x07\xfb\x8d\x1c\x53\x1b\x37\x8f\xf0\x9b\xca\x0a\x1c\x92\xc5\x7f\xfe\x05\xff\x78\x7d\x40\xf4\x7a\x4a\x7c\xad\x46\x57\x28\x62\x8e\xa7\x59\xfd\xb3\xa6\x06\x31\x5c\x59\xe5\x76\x31\x67\x75\x56\x86\x31\x5a\x4b\x2a\xc0\x49\xce\xfd\xf1\xc8\x91\x3f\x1e\x49\x2d\x59\x0a\x82\xc1\xb7\xbd\x48\xcf\x72\xe4\x2b\x1d\xc3\xe2\xf7\x30\xcb\xf3\x05\xc1\x6b\xc9\x9d\x96\xd2\x3a\xb3\x8d\x61\x0c\xdc\x90\x97\x99\xc8\x2e\x90\x8f\x1c\x07\xc7\xc1\x00\x03\xd8\x3a\xc8\xec\xae\x8d\x17\x71\xac\x60\xc0\xbc\x5e\x28\xd4\x59\x74\x22\xbb\xb4\x8e\x2d\xf4\x5b\xbc\x3c\xf3\x84\x13\xa7\xaa\x2b\x0a\x75\x56\x7d\xbd\x0f\xc6\x31\xd6\xd6\x68\xe9\xa6\xa9\x5c\x68\x47\x2a\x3e\xd9\x28\xb3\x3f\x7e\x65\xde\xe1\xb9\xbc\x8c\x8b\xf4\x85\x15\x06\x11\x30\x23\x4e\xc2\x76\xbc\x80\x9c\x68\x1f\xab\xd3\x0d\xcc\xbc\xfb\x2e\x00\x7b\x88\x75\x9a\x44\x60\xcc\xe6\x32\x93\xbe\x08\x5b\x0a\xdf\x7c\xe2\xa7\xb8\x83\x9b\xba\xb1\x4c\x19\x62\x65\x0c\x93\xe3\xa9\x1d\xfb\x2c\x11\x41\xef\x12\xa5\x41\x1c\x1b\x77\xf4\x73\x4f\xf5\x0c\xd4\x1b\x43\x81\xaa\x15\x1c\x37\x29\xd8\xcf\xcd\x0e\x32\xeb\x2a\x3d\xa1\x58\xb9\x2c\x8e\x58\xb2\xe4\xb6\x25\x1f\xac\xa8\x1c\xdc\x38\x9c\x2f\x59\x71\xe1\xc3\x82\x22\xd9\x5a\xbb\xba\x0d\xe3\xea\x32\x97\xab\x74\x00\x66\x0e\x4e\x90\x6c\x45\x05\x06\xbd\xe4\xf3\xe9\x0d\x26\xbb\xc9\xa7\x2b\xf4\x72\x02\x6b\x1e\x8e\x0d\x43\x92\x4a\x79\x73\xc0\x1a\x31\xb8\x6c\x9c\x8d\x61\x81\x83\x02\xbe\x84\xe1\x59\x1c\x28\x0a\xaf\xaa\xdd\x9a\xb4\xc8\x3e\x70\x5b\x9c\x26\xc6\x84\xab\xbc\xac\xad\xaa\x3e\x39\xdc\xa8\x33\x1b\x75\x26\x66\x2b\xf9\xd7\xc4\xeb\x0d\x22\x63\x72\x9a\x4d\x26\xaf\xd3\x9a\xd8\x5a\xb7\x2a\x54\x1c\xc0\x06\x5c\xca\x15\x02\x07\x1c\x63\xe3\x6c\x4e\x9d\x62\x2d\x6e\x29\x29\x4d\xb6\xe9\x71\x8d\xd3\xcc\x0a\x9c\xb7\x50\xef\xb5\xd8\x8c\x7a\x83\xd7\xef\xd0\x31\x8f\xfa\x5c\xc5\xf3\x23\x57\xfb\x44\x76\x7d\xd9\xee\x7a\x63\xb1\xc9\x94\x59\x60\x31\x1b\x60\xed\x16\xa6\xf5\xda\x9a\xf9\xc5\x2e\x9f\x8d\x15\x7d\x57\xef\x2b\x32\xd5\xef\x2e\xe3\xcd\x96\xf9\x03\xad\x03\xb7\xac\x64\x4d\x22\x4c\x5b\xc6\x44\x95\x1b\x45\x9b\xa0\xb3\xef\x6c\xc4\x78\xe7\xe1\xab\xd6\x1d\x3e\xbc\xee\x2a\xa2\x60\x0c\x9e\xf5\x82\x09\x0a\x98\x61\x83\x9f\x65\xa7\x4e\x15\x81\xb1\x4f\x1c\xcf\x99\xf1\x6b\x0d\x1b\x5c\x3a\xde\x66\xb9\xcd\x87\x77\xc8\xc6\x1b\x7f\x9a\xae\x79\xf9\x2e\xa3\x03\x33\x0c\x00\x60\x01\xa6\x97\x29\x51\x5e\x67\xac\xe1\x74\x3c\xc7\x60\x0c\xa0\xb7\x5b\xc5\x02\x06\x83\xb5\xae\x45\xaf\xab\x32\x1a\x7d\x61\x9e\xc5\xb9\x5d\x26\xcb\xd0\xf5\x05\x85\xc9\x65\xa9\xe4\x58\x8c\x1b\x3f\x6c\xa9\x5d\xdd\x94\xd8\x3b\x97\xd5\x03\x8f\x6d\xa2\x5c\x60\x2c\x98\x30\x38\xf8\x96\xc3\x71\x6b\x4d\x48\x62\x18\x87\xb7\x31\x0b\xd5\xa9\x41\x4a\x00\x46\xb5\xeb\xac\x7a\xa7\xfd\xff\x31\xf7\xde\xf1\x71\x54\xf7\xfa\xf0\xf9\x9e\x69\x5b\x67\xfb\xae\xb4\x92\x56\x5b\x67\x56\x6d\x25\x6d\x95\x2c\x69\xb5\x96\xbb\x25\xdb\x72\x97\x2d\x4b\x96\x1b\x96\xe5\x26\x37\x6c\x8c\xc1\x8b\x6d\xaa\x6d\x30\xc6\x36\xd5\x58\xc1\x10\x20\xb4\x98\x9b\xd0\x8b\x20\x09\x2d\xe0\x40\x42\x0f\x45\xd4\x40\x12\x08\xe1\x06\x02\x96\x76\xf4\x7e\xe6\xcc\x4a\x96\x65\xdf\x9b\xfc\xee\xbd\x7f\xbc\xfa\x68\xf7\x94\x39\x33\x73\xe6\xec\x99\x53\x9f\xef\xf3\x98\x69\x86\x56\x3d\xd5\x5e\xb3\x2f\xbe\x3a\xa6\xd3\x6e\x9d\x68\xe4\x2b\x6b\x31\x6e\x56\xc6\x0c\xe3\xd4\xc0\x3c\x49\x46\xe6\x35\x44\xcf\xfb\x0c\x94\x02\xb8\x18\x1d\x44\xc2\x2e\x5a\x6e\x92\xb8\x24\x13\xa2\x38\xd6\x1f\xe2\x98\x7f\x74\x5c\xb1\x64\xc9\x15\x99\x4d\x4b\xae\xe8\xe8\xb8\x22\xb3\xb0\x7a\xf5\xe5\x57\xfe\xea\x15\x10\xa1\xfa\xed\xbd\x7f\xb8\x7e\x49\x19\x55\x3c\x69\xcd\x8e\x69\x8f\xae\x28\x58\xdc\xd6\x31\x51\xd0\xcd\xb8\x49\x3a\x71\x97\xf4\xde\x7b\x4f\xee\xda\x34\x7e\xbc\xa7\xbc\x44\x3e\x69\x09\x39\x75\x09\x53\x59\xbb\xa0\x31\x12\x74\xf0\x8c\xc6\xe1\x2e\xaf\x9a\x3c\x73\xc5\x9a\xb1\x47\x17\x46\x36\x2f\x3e\x6f\x66\x73\x6d\xa4\xd0\x48\x61\xa3\x2b\x1a\x99\x5a\x33\x27\x31\x73\x08\x73\x90\xd5\xe5\x2a\x24\xac\xa0\x8d\x68\x25\xda\x4a\x94\xb9\x46\x2a\x15\x09\xfe\x51\x34\xcd\x96\xb0\xcd\x64\x2d\x01\x6f\xcc\x14\x8d\xd0\x64\xb2\xc8\x0d\x2f\x27\x84\x20\x16\xc5\x6e\xda\x3c\x64\xf3\x6c\xb1\x29\x98\x3b\x85\xe4\xba\x00\x86\x43\x82\x9b\x1d\xcd\x85\x48\x17\x49\xf7\x4b\x2f\x7f\xb8\x67\xcf\x87\x10\x85\x59\x10\x95\x7d\x99\xb5\x67\x33\x3d\x6f\x34\x1a\xdd\x46\x23\x5c\xd8\xd5\xe8\x2b\x20\x53\xfc\x02\xdf\x4c\xc5\xb2\x79\xc8\x54\xfa\xf7\x24\x7a\xf7\x63\xbb\x89\x7b\x52\x7a\xef\x24\xd5\x21\x38\x07\xd2\x43\x84\xea\x4c\xef\x9e\x0f\xa5\x97\x47\xdd\xed\xd7\xe7\xe0\x85\xce\x4c\x37\x4a\xf2\xbd\xfa\x8c\xa9\xc6\x98\x6f\x8c\x69\x23\x6f\x36\xf3\x1b\x4d\x63\x7c\x31\xaa\x71\x94\x61\xb6\xf4\xb5\xb2\x9c\xd6\xb6\x7b\x77\x9b\xe2\x3b\x78\xf2\xe4\xc0\xd5\x98\xb0\x22\x12\xaa\xde\x21\x7b\x32\xb5\xc2\x2b\xef\x20\xe3\x3a\x79\x2e\x16\x31\xf9\x46\x15\x45\x8c\x8c\xa6\x6c\xa3\xa1\x55\x61\x3b\x97\xfe\x31\xcd\xa1\x74\xda\xcc\xff\x40\x40\xf0\x1c\xb1\x91\x6f\x8c\xb5\x37\xfc\xd0\xdb\xd0\xde\xde\xc0\xa5\x1a\xda\x63\x8d\x34\x92\xc7\xb2\x99\x5e\x48\x2b\x0b\xfa\x03\x8a\xed\x7b\x8f\x94\x8e\x35\xf6\xc8\xc9\x28\x92\xb8\xa7\x11\x8d\xca\x53\xde\x70\x9e\xb2\xeb\x11\xa3\xb2\x60\xcb\x85\xb3\xb2\x6a\x02\xc4\x20\x4c\xec\x83\x46\xe6\x62\x54\x16\x29\x94\x41\xb8\xb7\x31\x36\x2a\x0b\x99\x8e\x33\xf3\x08\xee\xff\x8b\xfc\x50\x69\x1a\xfd\xff\x29\x3f\x18\x31\xff\x77\xe5\x83\x87\xf3\xe3\x40\x25\xa7\x57\x8e\xfe\x9d\x9c\xa8\xfe\xfb\x5c\x50\xff\xd6\xfd\x01\xa1\x41\x86\xbe\x90\x45\x28\x9f\xb0\x78\xb2\x3e\x8f\x65\x48\x2a\x93\x28\x9a\x08\x59\xe5\x77\x07\xbd\x96\xc8\x7f\xec\x7a\x51\x63\xcd\x39\x91\x5b\xa1\x7d\x5a\x7a\xc1\xe2\xd4\xe9\x82\x41\x9d\x2e\xcf\x0c\x5f\xb9\xc4\xa0\xe4\xcf\xad\xd0\x36\x6a\xac\x39\xf0\x6b\xe9\x05\x0b\x63\x2a\x66\xfa\x8a\x4d\x8c\x45\xe1\xaf\xa6\xd2\x2c\x22\x1a\x05\x6e\x9b\x29\x62\xf3\x99\xac\x9e\x88\xcd\xe7\x16\x59\x8f\x2f\x16\x71\xc7\x4c\xbe\x58\xc4\x14\x25\x7e\x47\xdc\x13\xb1\x51\x29\xa9\x37\x9d\x86\x54\x2a\x25\x7d\xd3\xdd\x2d\x7d\x93\x4a\x41\x2a\x9d\x96\x7a\x53\x29\x30\x76\x77\x83\x31\xc5\xa4\xfb\xa4\x8e\x74\xa6\xaf\x2f\x7d\xf0\x60\xba\x0f\xbb\xd3\xd0\x43\xbc\x4a\x71\x0e\xd9\x35\x0c\xa9\x3d\x94\x10\xd6\x8b\x1a\xb2\x72\xea\x33\x45\x4c\x04\x88\x64\x92\xdf\x54\x8f\xcd\x13\xf3\x30\x36\x22\xc2\x1c\x33\xc5\x7c\xb6\x40\x2c\x62\x22\x88\x56\x53\x44\xd1\xd3\xcd\x1a\xac\xcb\x2e\xb1\x5f\xb7\xa9\x50\x3a\x2d\xa5\xfb\x91\x94\x4e\xa7\x21\xcd\x20\x48\x0f\xa2\xf4\x8f\x28\x9d\x66\x51\x3a\xdd\xaf\xb8\x12\x82\xf4\x40\x5a\x4a\x53\xe9\x0c\xc2\xe9\x4c\x9a\x46\x83\x48\x4a\xd3\xe9\x81\xec\x59\x34\x82\x21\x7d\xdc\x53\x48\xfe\xa6\xb3\x9a\x0f\xb2\x2f\x83\x48\x0d\x4a\x63\xb9\x16\xc9\x27\x64\xb9\x73\x90\x5a\x7e\xa6\xc2\xe1\x35\xa2\x48\x56\xc3\x62\xfe\x99\x4f\x75\xe6\xb3\x99\x7c\x43\x4f\x08\x23\x9f\xd2\x67\x8b\x04\x3c\xa7\x1f\x15\x62\x44\x9d\x5a\xae\x67\x31\x4f\xf6\x52\x11\x9b\x27\xa6\x26\xcf\x2a\x3f\x49\x5a\x4a\x2b\x59\xa7\xd2\x20\x3b\xe4\xa9\x33\x28\x7d\x2a\x9d\x4e\x33\xe9\x74\xba\x3f\x4d\xa5\xd3\xe9\x01\x45\x97\x42\x8e\x18\x3a\x85\x22\x34\xc6\xca\xb9\xf2\x07\x13\x57\xca\x8a\x03\x93\xef\xfe\x6c\x51\x60\xb2\xfd\x91\x51\x8e\x20\x3c\x74\x4f\xb9\x00\x4e\xcf\x05\x4d\x28\x87\xbc\xb5\x23\xde\x0e\x93\xc7\xcb\x3a\x3c\x72\xad\xe5\x68\x34\xd0\x11\xac\xaa\x0a\x32\xa9\x60\x15\x91\x28\x86\x8b\x0c\xe1\x47\xc2\xb3\xc0\x2d\x75\x28\xb1\x55\xc1\x81\x8e\xaa\xc9\xb3\xc2\x8f\x84\x0d\x68\xa4\xad\x0d\x4b\x74\x95\x11\xf8\x6c\xf1\x7a\x88\x07\x86\x56\x3f\xe4\xb6\xdb\x00\xa7\xcd\xa1\x88\xa5\xd0\xb6\x1f\x0a\x74\x8f\xea\xa4\x6f\xc1\xdd\x8f\xa8\x74\x15\xbc\x10\xcc\x7f\x24\xbf\x23\x38\x80\x86\x6e\x0d\xe8\x07\x8d\xee\x51\xdd\x51\x2a\xdd\x8f\xc0\x1d\xac\xa2\x7a\x06\x50\xb0\x23\xff\x91\xfc\x60\x36\x13\x43\x9a\x4e\x43\xfc\x59\x39\x48\x44\x63\xd1\x1c\xb4\x9c\x58\x5d\x0e\x13\x12\xc6\x87\xfd\xf6\x88\x9d\x21\x62\x29\x3e\xaf\x68\x73\x41\x21\xb8\x03\x31\x96\x63\x85\x28\x99\x2f\x86\xa0\x1c\x04\x62\xc9\x9c\x20\xa6\x6b\x31\x45\x71\xdb\x2b\xf8\x3c\x26\xcf\xd9\xa6\x4e\xdc\xb1\x42\x87\x4a\x73\xe3\x8d\x1a\x95\x43\xef\x72\x50\xba\xbd\x7b\x29\x2d\x38\xfa\x57\x7d\xda\x34\x6e\xcd\x05\xb1\x2b\x8a\x8a\x61\x32\x7e\x69\xd9\x8a\x35\xdb\xb7\xaf\x59\xb1\xac\xa2\x33\x3f\x7f\xe7\xc3\x4b\x4b\x4b\x97\x3e\xbc\x73\x05\x35\x65\x5e\x43\x75\x6a\x56\x03\x65\x66\xa4\x6a\xf8\xcb\xd4\xc5\x67\x52\x14\x45\xa3\x01\x06\xef\xc3\xcc\x03\x61\x2f\x0d\x97\x00\xdd\x07\x51\xe9\xe5\x31\x53\x6a\xba\x0d\x46\x00\xcf\x86\x28\xa7\x5a\xfa\xd8\x52\x15\x17\xe9\xd6\x19\x30\x66\x83\xcd\x1d\x9b\x3b\x9a\x83\x2c\x7d\x75\x7c\x02\x43\xa9\xc6\x85\x12\x0d\x14\x48\x78\x0a\x15\x3f\x83\x7f\x88\x19\x2e\x27\x06\x69\x91\x13\x85\x50\x52\xae\x01\x3c\x58\xed\xfe\xa8\x20\x9a\xe2\x88\x28\x9f\x85\x88\x74\xa7\x9b\x06\x62\xc8\x4d\x2c\x54\xcd\x74\xc4\x13\x4e\xe2\xb3\xac\xa6\x16\x76\xed\xd9\x83\x97\xee\xe9\xea\x82\xd6\xa3\xd2\xb7\xc7\xb6\xbe\x73\xb4\xed\x28\xf0\x90\x04\x1e\xe7\xaf\x7f\xe4\x3f\x77\x4b\x7f\xf8\xb9\xf4\xce\x03\xf7\x43\xf1\xfd\x50\x76\xc9\x77\x8f\xac\x87\x96\x91\x4f\x09\x22\xfe\x65\xd1\x93\x7f\x7e\xf2\xc9\x3f\x3f\x59\x94\x99\x5a\x04\xaf\x49\xcf\x4a\xdf\x1e\x6d\x3b\xfa\xce\xd6\x63\xc0\x1f\x3d\x2a\x35\xed\xfd\xee\xa7\x1d\xb7\x49\x6f\x3e\x76\x8f\xf4\xc7\x9f\xad\xb8\xfb\xaf\x14\x7b\x26\x0f\x16\x75\xc6\x58\xad\x06\x21\x66\x54\xdb\x7e\x16\x7f\xb4\xcd\x77\xda\x80\xcd\x4e\x78\xfb\x4e\x73\x53\xa5\x2d\xfa\xfe\x5e\xbd\xc5\xa2\xa7\x53\x7a\x4b\xba\xbd\xa1\x9f\x34\xf5\x74\xaa\xa1\x5d\x4a\x0f\x1f\xeb\xe9\x19\x8a\xec\x90\x93\x65\xa3\xe9\x69\xa7\x13\xb7\x43\xb2\xa7\x67\xe8\x48\x3a\x1b\x97\xd5\x7b\x55\xc9\x6d\x37\x46\x0c\x8a\xa1\x3a\x34\x17\xad\x45\x48\x0d\x1e\x35\x78\x80\x07\xce\x34\xbc\xfe\x3b\xbc\xea\x1b\x02\x71\x38\x40\x58\xc6\x87\x92\xd0\x43\x6b\x5a\xca\x8e\x0b\x01\x16\xc6\xc3\x0e\x17\xcd\x8c\x8e\x60\x7b\xa5\x34\x85\x7e\x94\x5b\x50\x04\xbf\xe4\xeb\x83\x98\x8c\xc2\x4e\x91\xde\x0d\x77\x04\xeb\x79\xc9\x46\x7a\xb0\xbf\xd8\x96\xee\x58\x6a\x83\xbf\x90\xed\xc3\xfa\x86\xf2\xf2\x86\x72\xfa\x40\xdb\xd5\xd7\xed\xb9\xee\xea\xb6\x89\x1b\x97\x77\xd2\xe6\x26\x33\xdd\xb9\x7c\xe3\xc4\x7e\x74\xae\x58\x3a\x95\x49\xe1\xde\x4c\x8a\x4a\x07\xeb\xf9\x53\xdf\x9d\xa6\x27\x62\xb4\x7c\x7d\x90\xf8\xaa\x27\x4d\xaa\x26\x1e\x63\xb9\x7c\xf9\x81\x25\x53\x36\x37\x78\x3c\x0d\x9b\xa7\x68\xf7\xbd\xf6\xd0\x63\x9c\xc7\xc3\x3d\xf6\xd0\x6b\xfb\xb4\xe7\x8c\x1d\xb9\xc6\x59\x86\xa6\x21\x04\x46\xcc\xd9\xcd\x43\x90\x87\xd3\x12\x5c\x46\x73\x42\xc0\xa6\x11\x9b\xf8\xe4\x30\x24\xa9\x98\xc7\xea\xc2\x0e\x17\x58\x59\x8e\xa7\x6c\x9e\x68\x08\x8b\x21\x88\xc6\x99\xf4\x1b\x3d\x3d\x6f\x28\x65\x42\xb2\xdc\x31\x1c\x66\x14\x7b\xca\xab\xa6\x1d\xd8\x34\x71\x00\x4d\xdc\x74\x60\x9a\xc5\xe1\xb0\xc8\x21\x7a\x28\xc4\xa4\xa5\x7e\x69\x7d\x57\x97\xb4\x5e\xea\x1f\xc1\xce\xc4\xc0\xb5\x5d\x5d\x70\x2d\x30\x23\x58\x9a\x6a\x0b\x76\x3e\xf8\xed\x9e\x3d\xdf\x3e\xb8\xb3\x80\xf3\x04\x3d\xdc\x99\xc1\x91\x6b\xab\x65\xa4\x3f\xfa\x7f\x7b\xc2\x12\xf0\x58\x1d\x9e\xb8\x49\x7e\x2c\x1f\x4f\xd9\xfe\xe5\x63\xf5\x0d\x20\x35\xf5\xb5\x7a\xfc\x86\x7d\x4d\x9f\x37\xed\xdb\x30\xfe\xdf\x7f\x92\x86\x64\xdd\xa9\x71\xbb\xfe\x76\x62\x67\x61\xe1\xce\x13\x7f\xdb\x75\xe6\xba\xb0\x9c\xf7\x9a\xff\x59\xde\xa9\x10\x88\x3e\x1e\xb8\x7f\x27\xeb\x73\xa9\x79\x73\xab\xe3\x0f\xaf\xfc\x7c\xe5\xc3\xf1\x7f\x3f\xe7\x27\x1f\x7c\x70\x80\xdf\xff\x62\x71\xf1\x8b\xfb\xcf\xac\x4f\x93\xfe\x77\xf5\x89\xe5\x3c\xc2\xff\xac\x32\x5d\xb9\x1a\x3f\xb1\xfa\xca\xff\x5d\x45\x8a\x5c\x7b\x6d\x44\xa9\x42\x23\x7e\x07\x03\xaa\x46\x53\x10\x62\x46\x35\x29\x89\xa4\x2a\x11\x52\x89\x1e\x5e\xc5\xb9\x54\x0e\xcb\xa8\xa3\x4c\xdf\xe9\x9c\x2f\xa5\x9c\xde\x31\x95\xcd\xd1\x05\xa5\x25\x25\xa5\x0b\xa2\xcd\x95\x63\xbc\x4e\x8a\x1e\x38\x57\xec\xd2\xd3\x67\xa5\xcc\x3c\xb1\x4c\x4e\xf3\xe6\x54\xa2\x73\x5e\x4b\xaa\xb1\x6c\xac\x2b\x3f\xdf\x35\xb6\xac\x31\xd5\x32\xaf\x33\x71\xae\x38\x16\x9d\x3e\x69\x04\x76\x02\xa1\xb1\xa8\x0b\x21\x62\x95\xec\xcb\x4a\xaa\x9b\x44\xc5\x53\x00\x56\x07\xd8\x6d\x4a\x1b\x5f\x07\xd1\x84\x25\x9e\x25\x1c\x53\xd2\x8a\x23\xbd\x62\x98\x68\x81\x93\xaf\x02\xb0\x12\x92\x2e\xa5\x53\x00\xe5\xb1\xc3\x0e\xc5\x8c\x8f\x42\xb1\x46\x77\xaa\x22\xd4\x40\xbe\x7c\x10\x17\x05\x27\x4e\x3b\x05\xcd\x1a\x0d\x89\x0d\x8b\xbc\x3a\xd4\xe0\x1e\x1b\x66\x54\x73\xc6\x56\x37\xd4\x74\x7a\xf3\xdc\xcb\xf7\xe9\xd7\xb2\xdd\xcd\x99\xf4\x9c\x35\xd2\xcb\x4d\xfb\x97\x69\x19\x76\xef\xe2\x68\x68\x32\x9d\x6e\x8c\xa5\xdb\x2a\xc6\x35\x84\xa4\xd9\xae\x7b\x65\xb7\xaf\xdc\x27\xbd\x2d\xd6\xcb\xd3\xde\xdc\x22\x3f\xfc\xc2\x5f\xf4\xbd\x1c\xed\xbe\x28\x38\x56\x85\x1b\x42\xe9\xed\x91\x69\x0c\xa4\xc3\xde\x78\x25\x77\xcd\xf2\xef\x23\xd5\x52\x53\x4e\x79\x73\xf7\x96\x39\x10\x9c\x72\x5e\xdf\xb2\xfd\xb0\x78\x97\x6d\xc2\xe9\xbd\x9e\x0e\x16\xa1\x4a\xd4\x82\x10\x92\x8b\xc5\xa7\xd8\x82\xe4\xc2\x10\x09\x23\x90\x92\x49\x58\xe2\xb1\xac\x95\x88\x6f\x84\x3b\x5c\x16\x71\x79\x8a\xc4\x51\xca\x90\x4c\x84\xac\xd5\x9f\xb2\x4d\x11\xa7\x6e\x5d\xd4\xe0\x6e\x58\xd4\x70\x93\x90\x8a\x35\x3a\x21\x2d\xa4\xf0\xcf\xbd\x71\xae\x89\x69\x50\xe2\xdd\xbf\xb8\x62\x53\xa1\xc5\xb1\x6c\xff\xaa\xeb\x55\x4d\xfc\x45\x33\x33\xcd\xb5\x6b\xfd\x52\x3a\x72\xa4\x6b\x7a\x78\xff\x32\x87\xa5\x90\x49\x37\x84\x32\xdd\xd8\x18\x6a\x68\x08\x65\xbe\x19\x44\xaf\x44\x1a\x63\x25\x5e\x09\x45\x4a\xbd\x70\xd8\x9d\x07\xdf\x12\xbb\xd1\x6f\x86\x12\xe0\x03\xa1\x67\x27\xd5\xd1\xfb\x97\x99\xd8\x7d\xab\x24\x3e\x58\x22\xad\x99\xd1\x99\x28\xc7\x68\xfc\xbc\xae\x23\x5e\x78\x70\xd9\x7e\xba\x6e\x98\x83\x8f\xec\xf5\x0a\x28\x86\xa6\xa2\xa5\x68\x37\x42\x8c\x3c\xbf\x52\x96\x59\x12\x1e\x05\x32\x3e\xcc\x34\xcd\x64\xe1\x4a\x1c\xc3\x52\xf2\xf8\x53\xa1\x2f\x0a\x84\x20\x46\xaa\x0c\xc7\x10\x8e\x5e\x39\x2a\x09\x54\x60\x88\x96\x9a\xb1\x65\x39\x47\x12\xb1\x68\x3d\x50\xe4\xa8\x62\xe3\xcf\x65\xb5\x2b\xea\x20\x42\x4c\x23\x6d\xf2\xa5\xe9\xca\x13\xc7\xeb\x1d\xc9\x29\x8c\xd4\xdf\x75\xe4\x48\xd7\x86\xd2\xa9\xad\x47\xba\x42\x65\x78\x33\x5c\xdb\x75\x64\xcd\x3c\xe9\xbe\x45\xd7\xdc\x7c\xdc\xe5\x6f\x08\x39\xad\x30\xab\xb2\x1e\x52\xb2\x4f\xfa\x20\xdf\x5c\x62\x34\xd6\x87\xad\x66\xe8\x70\xf9\xbf\xc8\x9c\x9f\x63\x8f\x35\x96\x05\x30\x9f\x21\x33\x52\xec\xf8\x32\xb4\x7e\xcd\xac\x29\x30\xbb\x24\xde\x18\x93\x5e\xbe\xc2\x2f\x97\x7b\x75\x74\x42\x48\x90\x5e\x4a\xef\xaf\x8c\x31\xae\x2d\x13\x04\xcd\x91\xd7\x8f\x98\xf2\x77\x37\x77\x1d\x31\xfd\xed\x48\x57\x66\x79\xcb\x5e\xdb\x5c\x07\x7e\x7e\xd2\x54\x3e\xe1\x09\x35\x68\x6e\xd2\x34\x87\x07\x51\xa8\x41\xb3\x47\xaf\x72\xda\x02\xf6\x70\x4a\xdd\xc3\x27\x28\xd3\x0f\xaa\xc6\x58\xb0\x81\x7f\x21\xd5\xd8\xd5\xd8\xf5\x5c\x7d\xc9\x79\x03\xc8\x32\x57\x3b\xa1\x14\xdf\x12\x6b\xbc\xd8\x53\x29\xbd\x1d\x4a\x4e\x0c\xbd\xfa\xea\xc4\x52\xd5\xcc\x58\xf1\x64\xd3\xfe\xe1\xba\x47\xe6\x83\x7e\xc2\x8f\x17\xb6\xcb\xaf\xe1\xb0\x04\x66\x60\x78\xb0\x22\xff\x08\xa2\xe2\x07\x53\x54\x04\x65\xc8\x65\x75\x81\xfc\xaa\x79\x6c\x9e\x2c\x6b\x52\xc4\x43\x50\x15\xd9\x59\x81\xfc\x5a\xcb\xf5\xd6\xc1\xb8\x20\xeb\x8d\xd3\x3b\xeb\xd6\xf9\x71\xed\xf9\xdd\xcd\x52\xba\xb9\x5b\xfa\x38\xf3\x41\x73\xf7\xdd\x5b\xe1\xf6\xe2\xcc\xac\xe5\xd7\xa9\xc6\x76\x37\xb3\xbd\x6d\x99\x5f\x89\xa9\x81\xb1\x4e\x81\x32\x9a\x34\x91\x42\x2a\x35\xd0\xeb\x14\x28\xd5\xe4\x32\x9c\x6e\x0d\x56\x31\x29\x4d\xb8\x50\x9a\xd0\xd0\x2e\x38\x71\xa5\x51\x0f\x75\x39\x05\x82\x13\xd2\x4e\x81\x45\x55\x95\x03\xff\x79\xec\x05\xe9\x68\x73\x77\x77\xf3\x89\x6b\xba\x9b\xdd\x5b\xef\x4e\x5f\xbe\x6c\xc6\x4a\x77\x73\xf7\x8f\xbd\xb0\xec\xe8\x4e\x4a\x1f\x15\x9c\x6e\x5f\xc8\x5a\x28\xb8\x05\x67\x29\x5f\x3a\xa6\x2a\x68\x30\xf4\x16\x04\xda\x1b\xdc\x4e\x81\xbb\x55\x1f\xca\xfb\x0d\x59\xc0\x52\x38\xf1\xe4\xb1\x5d\x18\x6d\x96\xdb\x2c\x41\xa4\x84\x58\x94\x7c\xc5\xb3\x14\x6f\x79\x90\xa5\x7a\x03\x9b\x95\xa3\xb2\x94\x24\x2c\x07\xac\x8f\xf2\xb2\x1c\xe5\xa3\x86\xc8\xa4\x2c\x23\xbc\x2e\x90\x3f\x11\x4f\x38\x01\x8a\xa1\x1e\xc7\xc4\xa2\x4e\x48\x0c\x91\x9d\x50\x3e\x8b\xec\x85\xdf\x4e\xbb\xc0\xb2\x42\xcf\x6c\xe6\x76\xb4\x99\x76\xcf\x9f\xbd\xcb\x3a\x7b\xa5\x75\xd7\xec\x05\x97\xf2\x8b\xb6\x71\x17\x6a\x12\xf6\x0a\x6f\x65\xee\xaa\x23\xd5\x61\x89\x19\x3f\xb7\x52\xa8\x53\xdf\xbe\xf3\x5a\x75\x9d\x50\x91\xa2\xf6\x38\x97\xa9\x93\x42\x79\x03\xb5\x99\xa3\x55\xcb\x55\x51\x0f\x7e\xa8\xd8\x0b\xfd\x55\x8d\xd1\x12\xaf\xf4\x4a\x6a\x32\x45\xa7\xca\xc5\x3a\xf5\x66\xe7\x11\xaa\x7e\x10\x2d\x6e\x84\x6b\xab\x23\x65\x76\x78\x3f\xcf\xd5\x76\x85\x66\xee\x9a\x95\x33\xa5\xdb\xe1\xde\x99\x2b\x37\xcd\xd7\x5c\xd5\x96\xe3\x93\x10\x57\x62\x74\x69\xb5\x87\x56\x25\xbb\x05\x69\x4f\x84\x4d\x57\x08\x99\x79\x78\xa1\x50\xd1\x50\x6e\xd0\x67\xde\x87\x1b\x02\x91\x86\x10\xaf\x93\xbc\xf9\x9b\x5d\xd2\x7a\x77\x91\x13\x2e\x2c\x19\x17\x9d\xe2\xfc\xfc\x13\x1a\x74\x10\xd4\x9b\xb5\xe5\xe3\x2b\x04\xc9\x85\xbb\x79\xbe\x62\x7c\x76\xcf\x57\x2e\xd7\x08\x61\x20\x59\x46\x98\xb8\xce\xdd\xd2\xd5\x29\x22\xe3\xbe\xd8\x88\x7e\x40\xf1\x98\xa2\x82\x48\x9a\xbb\x08\xe9\x09\x4e\x77\x04\x67\x37\x7c\x96\xac\xca\x94\xfc\xc1\xe9\x58\xe3\xf5\x45\x0d\xd1\xa9\x4a\xe3\x77\xd2\xee\x63\x16\xe5\x54\x35\x57\x29\x5d\xc4\xd4\x78\xac\xd1\x3d\x35\xbe\xfa\xb0\x5d\xb3\x6c\x6a\x79\x74\xc3\xa4\xbc\x82\xf6\x5d\xf9\x8b\x8c\x9d\x0d\x99\xb0\xd2\x10\x1e\x5e\x35\xa9\xe6\xc8\x9f\xdd\xe0\x96\xff\x99\x74\x63\x4c\x42\x52\xfa\xa5\x78\x53\x94\x34\x82\x79\x36\xe8\xee\x58\xfa\x4e\x51\x6d\x55\xb0\x4e\xee\x07\x52\x0b\x13\x33\x1a\x63\x1d\x78\x4c\x62\x46\xfa\xe6\xd5\xef\xe1\x09\xb6\xf9\xdc\xe5\xed\xef\x6c\x5e\x2b\x1d\x48\xcd\x54\x9a\xc1\x55\xd7\xfb\xb0\xaf\xeb\xc8\xa9\xac\x1d\x9a\xf2\x19\xb1\x2f\x1e\x20\x2a\xb6\x4b\xd0\x2e\xa2\xb4\x32\xf2\x11\x63\x26\x2a\x0b\x61\x2a\x04\x85\x6b\xd5\x24\x07\x38\x2f\x6b\x20\x54\x84\xa4\x12\x39\xbc\x3c\x95\x65\xb0\x54\xba\x8e\xa8\x00\x56\x87\xc5\x96\x88\xd7\x40\x62\xa8\xfb\x50\xaa\x26\x64\x4b\x9c\x22\xac\x2f\xa2\x32\xaf\x8e\x93\x89\x95\x01\xe4\xa9\x17\xa3\xaa\x2d\xdf\xef\x98\x6b\xdb\xdb\x92\x59\xde\x75\xe4\x6f\xa6\x23\x5d\xcd\xbb\xf3\x4d\x47\x5e\x3f\x92\x67\x9b\xb0\xe5\x31\x4f\x82\x9f\x3a\x29\x11\x6e\xd6\xdc\xa4\x69\x78\xc0\x1e\xb0\x39\x55\xfa\x3d\x9a\x86\x90\x27\xc1\xf7\xa8\x53\xfd\x63\x55\x3f\x9c\x57\x52\xff\x5c\x57\x63\x57\x63\xea\x05\xbe\x21\x18\x6b\xa4\xf3\x4b\x27\x68\xe7\x5a\xf6\x9b\x26\x17\xc7\x66\xaa\x4a\x27\xbe\xfa\x6a\x68\x62\x32\x24\xbd\x5d\xe9\xb9\xb8\x31\x46\x5d\xe0\xa8\x3f\x7e\xa2\x7d\x91\x74\xdf\xbc\x35\x47\xba\xe0\x5a\xbc\xb9\x2c\xd4\x75\xa4\x75\x6a\xe9\x06\xb9\x21\x96\xfa\x99\x29\x09\xbf\xeb\xf8\xcd\xf5\x95\x30\xcb\xea\x0c\x35\x5c\x6e\x34\x96\x98\xf3\xa5\x0f\x64\xbf\xdf\x05\x1d\x66\x6b\xb8\x1e\x56\xda\x73\x32\xe7\x4f\x58\x1f\xfa\x12\x3b\xe4\x76\x37\x93\xc6\x7c\xa0\xac\xf1\xd4\x5f\xe2\x25\x30\x7b\xca\xac\x56\xe9\x25\x21\x34\x21\x5a\x2d\xf7\x7a\xfe\x2b\xa4\x97\x63\x8d\xc3\x3c\x30\xdc\x2f\x68\x84\x72\xc9\xf8\xd1\x76\x6e\xe4\x4e\xd8\xce\x58\xec\x1c\x89\x15\xb5\x20\xbb\xa2\x16\x88\xb0\x8f\x28\xc4\x2c\x0a\x71\xa8\x85\x6c\x4a\x5b\x14\x4e\x98\x05\x16\xbd\xf4\xa6\x59\x7f\xb9\xde\x22\xbd\xa5\xb7\x98\x79\x2a\x57\x6f\xa1\xf9\x69\xa0\xd6\xe8\x2f\xd3\x99\x21\xf4\xa4\xca\xb6\xcd\xaa\x7e\xa2\x0c\xcc\xba\xcb\xf5\x1a\xf5\x74\x30\xeb\xae\xb6\xaa\xdf\xd3\x68\x28\x3d\xfd\xbe\xda\xba\x5f\x6f\xa6\xfa\xb6\xe8\xcd\x03\xaf\x93\x93\x4b\xcd\xfa\x2d\xbc\xd9\xa2\x19\xa8\xd7\x6b\x35\x26\x1d\x6e\x92\xe6\x5b\x2c\x70\x4f\xe6\x41\x9d\x49\xa3\xe1\xa9\x67\x74\x26\x4b\xe6\x87\x9c\x3c\xce\xa7\xc6\x2a\x8b\x69\x08\xc3\xa0\xcc\xa9\xd5\xa8\x18\x8d\x51\xec\x10\x44\x45\xc6\x21\xee\xc8\x3e\x8b\x48\xf9\xce\xa4\xba\x51\xc0\x64\x9c\x1d\x8f\xda\x24\x41\x23\x36\x48\xfc\x6e\xda\x4e\x9b\x6b\x3d\x73\x2e\xbc\xad\x61\x72\xf4\x15\x95\x5a\x65\xb9\xc1\xaa\x7a\xf6\x66\x33\xaf\xe0\xa0\x85\x74\x72\xee\xd2\xb9\x53\xd8\x32\xe9\x75\xe9\x9b\xdf\x6c\xd9\xf2\x1b\x30\x42\x29\x18\x89\xef\xdd\x73\xec\x42\x50\x63\x5b\x3c\x66\xe9\x4f\x53\xdf\x91\xf6\x9a\x78\xa3\x09\xd6\x4a\xb7\xc9\xd7\xa1\x7a\x79\x73\x4e\xe1\x2d\xe7\x2d\xba\xce\xaf\xa1\xe2\x5b\x7e\x23\x7d\x33\xea\x7a\x52\xe3\xa8\x0b\x5d\x7d\xf5\x37\x23\x9f\xbb\x0c\xb5\x2a\x4a\x57\x10\x4e\xc4\xcb\x41\x10\x05\x03\xf0\xcc\x30\xbd\x51\x21\xd8\x13\xf1\x7a\x88\x8b\x21\x5a\x19\x2b\x78\xfe\xbd\x64\x67\x15\xcd\xa8\xfd\x23\xdc\x76\x63\x27\xaf\x2d\x63\xcd\x46\x2d\x4d\x1b\xac\x79\xae\x80\xa5\x69\x69\xc7\xd4\xc0\x04\xa3\x51\x6b\x30\xaa\x62\x7a\x03\x65\x2c\x8d\xcd\x2a\x3b\xf4\xeb\x67\x29\xdd\x8d\x9d\xbc\xa6\x4c\x65\xfa\x17\x49\xaf\xfb\xcd\xb3\xe2\xd9\x85\x99\xb9\xfd\xec\xcd\x23\x28\xef\x34\x9b\x67\xe9\x69\xac\xa7\x68\x9d\x81\xd7\x71\xcb\xa7\x35\x2d\xcb\xe7\x79\x2d\x60\xdd\x74\xab\x85\x36\x16\xe6\x5a\x9f\x39\x70\xf0\x69\x39\x15\x4f\xfd\xab\x54\x74\xe5\x39\x8a\x1d\x6c\xe7\xf8\x0d\xe5\xf7\x28\x35\xd8\xc7\xf5\x32\x6e\x82\x29\x41\x6a\xda\xc1\x89\x6a\x48\xa8\x29\x31\xe1\x50\x03\x07\x1c\xe0\x3e\xb9\xa1\xcb\x74\xe0\x9e\xbb\x3a\x26\x4b\x6e\xe8\x7b\x46\xfa\x10\xf7\xe0\x9e\x4c\xc7\x5d\x1d\x93\xa1\x4f\x72\x3f\x03\x9e\x0e\x29\x8d\xfb\xa4\xb4\x94\x96\x0f\x90\x64\x72\x74\xa1\x9c\x28\x9b\x4c\x3e\xed\xa3\x0e\x48\xa3\x33\xd6\x8d\xe4\x7b\x8a\x08\x05\xd4\xc0\x39\x38\x35\x38\x12\xa2\x9a\x49\x88\x09\x35\x88\xdc\xe8\xaa\x8b\x5f\x01\x83\xf4\x65\x4b\x6f\x87\xf4\x25\x38\x82\xf3\x77\x4a\x63\xa8\x52\x78\x4e\x1a\x23\xfd\x1d\x1c\x2d\xbd\x1d\xe0\x90\xbe\x0c\xce\xa7\x9a\xce\xf1\x90\x0f\x81\x01\x1c\x2d\x4f\x77\x80\x43\x3e\x31\x2d\x8d\x91\x1a\xe0\x39\x78\x4e\xfa\xbb\xf4\x65\xcb\xd3\x1d\xd2\x97\xd2\x97\xc1\x16\xf8\xf1\x1c\x95\x52\x83\xd0\xe0\x7b\x6a\xc4\xf8\x91\x16\x59\x50\x7e\x56\x65\x73\x02\x9a\x8d\x5a\x51\xfa\x4c\x55\x80\xa1\x5d\x55\x26\x0b\x2f\x8b\x13\x11\x61\xa2\x95\x42\x52\xc9\xad\xbe\x3f\xeb\x8b\x28\x30\x7b\x1e\x08\x01\x1b\x08\x1e\x37\x17\x76\x61\x5b\x34\x89\x87\x90\xbc\x16\x0f\x4f\xe0\xe9\x98\x26\xed\x3b\x17\x02\xc2\x63\xe9\xc7\x31\x02\x9b\xf1\x10\xf1\x73\xbc\x37\x21\x88\x89\x84\x28\x24\xe8\x5d\x89\xe9\x89\xc4\xf4\x01\x71\x43\xcf\x86\x0d\x3d\x1b\xe8\x4b\x36\x34\xcf\xd8\xb8\xa1\x67\x60\xc2\xf1\x4d\x9b\x8f\xdf\xfe\xf9\x71\x7a\xd7\xf1\xcd\x9b\x8e\x1f\xdf\xb4\x79\xe0\x43\xe9\xef\x4f\x5f\xf4\xfa\x8e\x1d\xaf\x5f\xf4\x34\x75\x8f\x24\xfd\x5e\x7a\x46\xda\xf2\xfa\x8d\xad\xf3\x0f\x9f\xc4\x33\xa5\x6f\xa5\x5d\xd2\xdf\xc1\x00\x17\xd3\xb0\xb3\x34\xa9\x5e\x77\x93\xf4\xc3\xcd\x97\x7e\xd1\x5c\x3e\x4b\x3b\xd7\xdd\xfc\xe5\xa5\x37\x4b\x3f\xdc\xb4\x4e\x9d\x2c\x85\xb5\x87\xe1\x96\x8f\xfb\xe0\x2a\x9c\xa7\xdc\x3e\x81\xe5\xbb\xc7\xdb\xe5\x7b\x6e\xd8\x00\x24\x0f\xbd\xe4\xc6\xc7\xe1\xf3\xe3\xc7\x3f\x3f\x2e\x05\xe1\x62\x30\xec\x78\xe3\xd4\x1b\x3b\x68\xed\xfa\x75\xad\x37\xbd\xbe\x65\xd3\x6b\x37\xb4\x67\x38\x39\x5a\xfa\xbb\x7c\x5b\x9a\x8e\xec\x8c\x5c\xff\xd8\x2d\xd2\x0f\x37\x76\x2f\xab\xba\xd0\x7e\x41\x60\xd9\x86\x1b\x41\x75\xcb\x63\xd7\x47\x76\x46\x96\x6f\xe8\x46\x14\x3a\x6f\x10\xd1\x37\x91\x76\xd1\x82\x9a\x10\x22\x64\x8d\xc8\x8d\x6c\xd6\xd3\xe0\x1c\x70\x01\x8f\x39\x96\x73\x64\xc1\xef\xa2\x20\x66\xc1\xe5\x09\x48\x08\x62\x88\x52\x70\x48\x2e\x3a\x12\x26\xe2\x62\x2e\xa0\x6a\xa5\x2b\xa4\xef\x41\x03\xdb\x40\x23\x1d\x79\x64\xf7\xee\x47\x76\x43\xa9\x9e\xd6\x07\xcb\xc4\x4d\x2f\x4c\x01\xad\xcb\xa5\x2b\x9c\x57\x38\xee\x05\xe9\xbb\xc2\x79\x2e\x5d\x61\x21\x68\x27\xff\x76\xa3\x58\x16\xd4\xd3\x7a\x8d\xbf\x22\xe5\x61\xac\x0d\x93\xbb\xab\x5b\x7f\x1a\x10\x3c\xa9\x0a\x3f\xde\x02\x9a\xc7\x9f\x00\x8d\xf4\xfd\x13\x8f\xc3\xcd\xbb\xdb\x16\xed\xde\xbd\xa8\x2d\x73\x67\x5e\x99\xbf\xc8\x93\x3b\xc5\x36\x99\x5c\x45\xef\x72\x8d\x7f\x41\xfa\x87\xcb\xa5\x77\xcd\x93\xaf\x67\x9b\x92\xeb\x29\xf2\x97\xe5\x59\x5d\xbc\xd9\x49\xf3\x3e\xa7\x3d\x92\x9b\xeb\x34\xf3\xae\x11\xfc\x61\x1c\x8a\xa3\x24\x41\xab\x0e\xed\xda\x87\x80\xe5\x78\xec\x15\xca\x89\x8f\xb5\x3b\xec\x0e\x8e\xe5\x58\x6b\x21\xd8\xc3\xf5\x60\x77\xc8\xdf\xf1\x68\x39\x96\xc7\xbf\xd8\x28\xb8\x59\xa3\xdd\x7d\xd6\xf2\xf1\xb1\xb6\x3d\x6d\x6d\x7b\x20\xa2\xf1\xd7\x14\x6a\x84\x1d\xbb\xce\xcf\xcb\x2b\xac\xf1\x6b\xec\xc1\x71\xb3\xaf\x89\x5c\x5d\x69\xb7\xab\xed\x75\xf6\xa7\x37\x4e\xb3\xd7\xd9\xd5\x76\xfb\xd3\xd1\xfd\x73\xc6\x05\x27\x3d\x25\xfd\xe3\xa9\xa7\x40\x87\xb7\x8f\xa4\x3a\xa5\x24\xf9\x4a\x6d\x99\xef\xad\x39\x4c\xae\x2a\x27\xe8\x37\x9b\x73\x99\x1c\x6b\x59\x4d\x69\x8c\x8f\x5e\x5d\x91\xbd\xc0\xa6\x26\xe5\x92\x4f\x45\xf9\x58\x69\x0d\x98\x41\xf7\x94\x7c\x35\xf8\xe2\x4c\x7e\x53\x65\x0d\xe2\x11\x26\x8d\xcc\x8a\x6e\x9d\x3c\xc9\x21\x48\x68\xbf\x80\xb3\xe2\xe5\xc3\x23\x72\x35\x0c\x0f\x45\xd9\x82\xb1\x0b\xaf\xf8\x4c\x7a\xe6\x81\x9f\x4b\xcf\x7c\x7e\xc5\xa2\x14\x7e\xa6\xdc\x07\x87\x02\x13\x2a\xcb\x7d\xd2\x93\xd2\x93\xbe\x50\xe5\x04\x3f\x1c\xf6\x30\xe9\xd6\xb1\x99\x1f\x7f\x2e\xf5\x7e\x7e\xf9\xe5\x9f\x43\xea\xe7\x98\x4b\x2d\xea\x7f\xdb\x03\x7b\x7c\xe1\xca\x09\x1e\xe9\x25\x88\x7b\x26\x54\x46\xbc\xd2\x0e\x4f\x16\xa3\x7e\x83\x1a\x31\x2b\xe5\x3a\xc7\x00\x8b\x38\x56\x88\x09\x48\x0c\x61\x5f\x54\x88\x79\x6c\x3c\x76\xd8\x91\x23\x6e\x4e\x08\x58\x14\xc4\x18\x63\x53\x00\x5c\x04\x5e\x17\x8f\xc6\xc2\x49\x88\xd8\x78\xe0\x28\xbb\xd9\x01\x21\x2c\xc6\x18\xf9\x67\x42\x1c\xf3\xa6\xf4\x4e\xae\xf4\xdd\x58\x88\xcd\x92\xee\x98\x67\x6b\xdd\x5c\x0a\x78\x92\x38\x33\x6a\x74\xc2\x45\x65\x85\xef\xda\x2d\x6f\x16\x08\xc7\x31\xd4\x8e\xb3\x79\xd6\xb8\xd7\xd5\xe7\x8c\x5f\x0c\xa9\x37\xae\xb3\x24\x37\x7a\xde\xd0\x7f\xc6\xc1\xa3\xfc\xa4\x1a\x27\xbc\x0c\xb0\x37\x99\xf9\xd6\xb3\x12\x3f\x5c\x99\x19\xbc\x14\x00\x9e\xa1\xac\x2f\x85\x37\xcd\x63\x04\x55\x18\xe7\x8f\xf1\xd5\x0c\x1c\x58\x5e\x07\x37\x17\x8b\xf0\x69\x6c\x02\x0e\x43\x39\x0e\x85\x26\xfe\x6d\xfc\x9b\x87\x13\x95\x98\xf3\xb3\x00\x95\x38\x19\x96\x26\x7a\x32\x92\x89\xfa\x51\xa8\xe4\x21\x4c\xe3\x52\x7a\x7f\x7f\xaa\x71\x04\x9f\xb6\x06\xe5\xa0\x8d\x68\x17\x3a\x38\xa2\xc5\x93\x67\x9e\x3c\xcd\x41\x92\x0e\x58\xb9\x10\xf6\x79\x6d\x56\x07\x0f\x1c\x99\x15\x14\x92\xed\xd6\x24\x8e\x45\x09\x65\x76\x08\x44\x32\x5f\x32\xc8\xe3\xfc\x84\x0b\x13\xe1\x9e\x72\xa2\xec\x27\x8f\x74\xcb\xc9\xbc\x80\x25\xf2\x6d\x2e\x70\x10\x71\x8c\x7a\x70\x81\x82\xf0\x18\xd9\x63\x9f\xd1\x1b\x50\xbf\xf4\xe4\x3a\x05\x6f\x58\x30\x40\xbb\x7a\xcb\x65\x7b\x17\x53\xd2\x71\x6e\xdb\x9e\x7d\xed\xf8\xaa\x4e\x2a\x3f\x97\xd6\xd7\x4c\x7d\x7f\xb7\x11\x78\x86\x05\xe3\xe4\xa9\xcf\xdf\x07\x39\x16\x3d\x6b\x77\xe0\x0d\xb7\x16\x4e\xd0\x68\x99\xf1\xfc\x5a\xec\xc9\xa3\xf5\xb9\x56\xeb\xb4\xbe\x3d\x06\xac\x67\x58\x30\x4c\xaa\x7f\xf9\x01\x51\xa7\x0d\xac\xbf\xb1\xb0\x4a\xa3\xa5\xab\xf9\xb9\x3b\xdf\x94\xde\x96\x1e\x93\xde\x7e\x73\xe7\xce\x37\x21\x08\x13\x21\xf8\xe6\x87\xe7\xe8\x60\xf0\x6e\xa7\x20\x67\xc7\x33\x1b\x4f\x50\xad\xdd\xb1\xab\x95\xcd\x3c\xc1\xad\xbb\x70\x77\x6b\xed\x8b\x3f\xc3\x66\x83\x5e\xe3\xed\x3e\xea\x1e\xa7\xd1\xd2\xe3\x0d\xab\x70\xc0\x45\xeb\x0b\x82\x54\xe3\x47\x7b\x0c\x94\x4e\xbe\xed\xe4\x71\x27\xef\x03\xbb\x51\xc7\x5a\x74\xba\xee\x9b\x5c\xe3\x34\x5a\xa6\x41\xbf\xb6\x4a\xad\x4f\x35\x7e\xb0\x4b\x87\xe5\x47\xd0\x4f\xfe\x13\xb9\xf9\xce\x91\x19\xc2\x97\xfc\x57\xe3\x28\xc8\xf6\xad\x76\xe4\x45\xc5\x08\x41\xdc\x61\x77\x04\x04\x9a\x83\xb8\x5f\x0d\x76\x3a\x41\x09\x7e\x1c\x33\x06\xec\x66\xcc\x72\x6c\x00\xe2\x58\xf4\x87\xed\xa4\x61\xa1\x2e\xfa\xe6\x0f\x5f\x6c\xcb\x38\x7b\xa4\x7f\x44\xa4\xbf\xa6\x61\x5d\xe6\x7d\x98\x39\x19\xec\x37\x7d\xfe\xba\xf4\xd3\xe7\xd9\x5f\x8f\xa1\x96\x9f\xbc\xe6\x73\xe9\x1f\x70\xb8\x45\xbb\x42\xaa\x3a\x75\xe2\xc4\xa9\x13\x2c\xc2\xdb\x2f\xfb\x5a\x54\xdf\x79\x10\xee\x3a\x76\x9f\xb4\x26\xb3\xea\x9a\x43\x05\x52\x9d\xe7\x47\xd8\xf9\x1e\x68\x13\x47\xa4\xa7\xa5\xf7\x33\xb3\x2f\xe5\xf1\xfa\xdd\x50\x7f\x3e\x7b\x42\x3e\x49\x7e\xaf\xb0\x5c\xbf\x98\x17\xc9\x6e\x82\x1b\x89\x02\x76\x42\x82\x4a\x82\x3c\x16\x97\xdf\x21\x8a\x60\x3e\x31\xe7\x10\x59\x17\x4e\x24\xb1\xc3\x05\x1c\x4f\x8b\x3c\x88\x2e\x48\xe2\x44\x3c\x24\x7b\x1c\x71\x2c\xd2\xc8\x62\xc7\x3c\xd0\xd4\xe5\xd2\x67\xd2\x84\x35\x63\xcc\x13\x6f\x58\xa9\xd5\x6e\xd4\x17\x7f\xb5\x39\xbe\x9b\xcb\x6d\x8c\xcc\x55\x19\xb4\xb9\x8c\x63\x61\x95\x61\xaf\xd9\x16\x69\x2e\x8a\xb4\x4f\x09\xd4\x55\xab\x81\xe2\xed\x45\xce\xda\xbb\x2f\x9a\x7a\xa2\xe7\xf0\xea\xbc\x12\xd5\xb8\xb2\xf9\xcb\xf3\x0c\xd7\x5e\x09\x6a\x10\x68\x3c\xf7\xb6\xb7\xa5\x2f\x07\x11\x94\xfd\xb0\x1b\xe6\xc0\x04\x28\x69\x93\xfe\xc4\x53\xa6\x99\x1b\x71\xd9\xef\x6a\x55\x5a\x9a\x06\x66\xa6\x8f\x73\x54\x68\x9e\x1c\x57\x32\xad\x2a\x8f\x53\x47\x44\x4c\x8f\xf1\x63\xce\xac\x57\x51\x8b\x67\x6a\xeb\x4a\x0a\xa7\x9c\x17\x6b\xfd\xed\xfd\x82\x30\x7b\xd2\xcf\x60\xe1\xfa\x69\xd2\x6a\xe9\x37\x3b\x07\xd1\x7b\xf7\x2e\x1b\xc5\xe3\x9f\x50\xf4\x1a\x69\x02\x71\x75\x81\xc3\x4e\x47\xc2\x09\x62\xf8\x21\xc8\x0d\x5e\xd4\x1c\xf7\xd7\x80\x9d\x06\x2b\x26\x54\x0a\x71\x73\x2c\x8a\x45\xa2\xad\x68\x66\xde\xb8\xe3\xd9\x9b\xa5\xbf\x9e\xd7\xb8\x80\xa6\x17\x34\x9e\x07\xd6\x9b\x9f\xbd\xe3\x02\xe9\x95\xbb\x0b\xf8\x07\xa4\x5f\x7f\x7a\x99\x5c\x37\x1e\xa2\xee\x82\x4a\xb8\xfd\xa6\x2b\x3a\xcf\xbf\xf2\xfc\x9b\x9e\x7f\xee\xa6\xad\x97\x6f\x5d\x7d\xf9\xf5\x4c\xfe\xba\x83\x3b\xdb\x4e\xed\x2f\xde\x7f\xaa\x6d\xe7\xc1\x75\x6b\xb6\x81\xea\xd0\xd7\x30\xfe\xc4\x43\x72\x4d\x82\xad\x03\x3f\xf4\x4a\xf7\x5c\x5c\x3f\xa7\x0a\x96\x7e\xfa\x09\x2c\xad\x9e\x3d\xf6\x22\xe9\xde\xec\xfc\xc4\xc8\x21\xe6\x1b\x54\x82\x62\xa8\x1e\x4d\x24\x7a\x37\x1e\x65\xd6\xea\xe1\x41\xce\x35\xeb\xf3\x9a\xa2\x89\x78\xc2\x1c\x60\x29\x33\xf2\x84\x1d\xfe\x48\x98\xd0\xe0\xd8\x29\xd2\x64\xcb\xbf\x1b\x90\x35\xbf\x10\x88\x2c\x78\xc8\xa4\x96\x43\x5c\xff\x25\x7f\x3c\xb4\xec\xbe\x30\xdc\x59\xf5\x99\x74\xf2\xae\xc7\xef\xfe\xf4\xa7\x5f\x95\x99\x16\x3d\x0f\xd6\x47\xfe\xb3\x1e\x1e\x85\x5c\x97\x01\x0d\x3e\x98\xea\x9c\x5b\xd1\xb8\x62\x62\xd7\x9c\x35\x07\x2f\xf8\xed\x84\xc8\x8f\xcf\x2d\x99\xb7\xe9\xfa\xed\x0f\x87\x96\xc2\x0f\xf8\x6d\xe6\xed\x6b\x0e\xbc\x85\xe7\x57\x55\x1c\xfc\x4d\xdb\x9c\x63\xff\xb8\x74\xf6\x66\xe0\x36\xf5\xd4\xde\x0d\x9d\xdf\xcf\x90\xbe\x02\x33\x2c\x86\x2d\xce\xc4\xd2\x86\xcd\x3f\x7b\x08\x7e\x3e\x7b\xe9\xc4\xf2\xbb\xd7\x5f\xde\xbf\x63\x5e\xdb\xec\xc9\x1f\x5c\xf6\x0a\x9e\x7a\xf5\x53\x4f\x0d\xad\xb3\xa5\x39\x45\x67\x24\x82\xd0\x68\x44\x98\xb2\xab\x69\x3b\x6b\xbf\x30\x36\x72\x63\x1a\x59\xf4\x3f\x92\x1d\x4b\x56\xd9\xcd\xcc\xb8\x81\x6c\x44\x0c\x90\x8d\x08\xe8\xc8\xb8\x1b\xda\xdb\x1b\xd8\x54\x43\x3b\xb8\x29\x92\x70\x20\xa5\xb7\x58\xa8\x57\x06\x14\xfc\xcb\xd0\x7e\x43\x3a\x8b\x79\x51\xf2\x65\x1f\x4c\xb3\x7f\x66\xd2\xc8\x81\x92\x08\x59\x22\x2c\xc7\x53\x0a\x08\xda\x61\x77\x64\xef\x5e\x34\x6c\xee\x18\xa7\x18\x9e\xe2\x58\x91\x6c\xb5\x29\xd2\xd7\x2e\xca\x11\x10\xae\xfa\xcd\xc4\x2a\x7f\x88\xa7\x72\xcc\x16\x1a\x47\x5c\xd5\x8b\xa5\x6f\x2a\xc6\x8f\xa7\xbf\x80\x68\xc5\xf8\xf1\x15\x0f\xbe\x6e\x94\x4a\xb0\xb5\x78\x5a\xe2\xc2\x26\x77\x71\x9d\xd7\x67\xd3\x98\xad\x73\x6b\xcb\xa6\x55\x47\x7c\x26\x78\x7d\x3c\x93\x4e\xcd\xad\x3a\xff\xd2\xd5\x47\x17\x2f\xb0\xa8\xbf\x6e\xbd\xa7\x73\x7c\x05\x93\x23\x9f\x78\xea\x8b\x8a\xf1\xbf\x87\x65\x2b\xca\xa6\x4e\xac\xd4\x39\x1b\xf2\xc6\x3f\x75\xfc\xf8\x0b\xd3\x85\xa2\x94\x5e\xa7\x75\x94\x57\xba\x97\x3f\x30\xac\x5d\xc3\x5c\x40\xd6\x4b\x26\xa2\x7b\xd0\x6f\x10\x62\x38\x85\x22\x44\x81\x42\x0b\x09\x05\xc4\x9d\x35\x8b\x22\x93\x38\xd9\x0b\x9c\xc3\xce\x9d\x6d\xbd\x92\xc8\x9a\xae\x38\xec\x8c\x95\x50\x14\x7b\xc9\x45\x62\x3e\x72\x1d\x47\xc4\x94\xb5\xb8\x52\xa0\xec\x42\x22\x5e\x08\x43\xb4\xc7\x8a\x16\x93\x29\xcb\xde\xa6\x04\x0d\x40\x18\x51\xb2\x3f\xa3\xd5\xe7\x31\x45\xb2\x3c\x31\x72\x1e\x28\xbb\x75\x38\xab\x72\x6a\x82\x6c\x27\x2f\x22\x73\x01\xbb\xe1\xe0\x4d\xc7\xef\xb8\xe1\xd0\xfa\x0d\xc9\x62\x1d\x1d\x8d\x30\x60\xce\x0f\x9f\xb7\x34\xbd\xe7\xc0\x35\x97\xa6\x97\xb0\x1a\x83\xce\xe6\x97\x6c\x0d\xf5\xb6\x7c\x93\x41\xa3\x4e\x36\x30\x1a\x83\x11\x9b\x55\x0d\x0d\x46\x97\x59\xcf\x72\x63\xc7\x9a\x5d\x79\xf0\x7c\xa8\x6c\x66\xf3\x9b\xdf\xbe\xd9\x3c\xab\xc4\x00\xea\x68\x58\x13\xa8\x05\x6a\xd9\xaa\x43\xd7\xbd\xfa\xda\xc1\x31\xf1\x7c\x83\x31\x9f\xe7\x05\x6d\xe7\x81\xc9\x93\x3a\x57\x4f\x4a\xad\xdb\xd3\xf1\xe0\x65\x53\xf6\xef\x7b\xfe\x85\x7d\xb1\x1c\xac\xd2\x78\xec\xb6\x42\x9b\x89\x5a\xeb\x72\x0d\xbc\x01\xc1\x1d\xa1\xb5\xdb\x2f\x78\xb3\x79\x66\x59\xa8\x50\xad\xd5\x3a\xf5\x6a\xae\x6b\x45\xfa\xd0\xa5\x97\xe4\x99\xd5\x40\xe9\x77\xdd\x7d\xfb\x0d\x57\x6a\xd9\x0d\xc9\x54\xaa\xbe\xbb\xfb\xe0\xca\x79\xf9\x2a\x55\x3e\x50\x0b\x27\xec\x38\x6f\x69\xbc\xaa\x2a\xb1\x84\xd5\xd0\x94\x25\x80\x67\x91\x1c\x6b\xea\x1a\x18\x23\x36\xf0\x9c\x66\x6c\x83\xb1\xc0\xcc\x34\x8c\x35\xb9\xf2\xa6\x9e\xbf\x6e\xd5\xcc\xe6\x45\x8b\x9a\x67\x75\x7a\xb8\x3c\x93\x31\x7f\xd9\x78\x98\x8d\xaf\xe8\x58\x79\xf2\xe0\x75\xaf\x1a\xb5\xe1\x88\x8a\xa2\xd8\x6b\x56\xae\x98\x38\xa9\x79\x72\x8b\xb4\x6c\xdc\x94\xcb\x7e\xbe\xf8\xb9\xfd\xfb\xf6\xc5\xbc\x58\xab\xd6\xa8\x18\x87\x01\xdf\x65\x70\xac\x93\x0a\x8a\xe7\x58\x42\x8b\x9a\x67\xae\xea\x86\x57\x55\x56\xa3\xde\xc9\xb5\x16\x57\x55\x6a\xca\x73\xf5\x46\xba\x3a\x35\x46\xae\x33\x05\x83\x88\xfd\x88\x45\x28\x0f\x25\xd1\x66\xb4\x0b\xa1\x40\xdc\x6e\xe5\x78\xda\xe7\x0d\x51\x62\x08\x88\x28\xb3\x83\x0e\xc4\x03\x76\x96\x88\xc7\x27\x92\x20\x86\x28\x1e\xfb\x78\xaa\x18\x2b\x04\x37\x71\x3b\x58\x5d\xb8\x50\x1e\x90\x94\x83\x20\xf2\x14\xd9\xa6\x67\x12\xca\x2f\xcf\x53\x5c\x80\x18\x20\xba\x28\x1b\x58\x89\x31\x42\xbc\x0e\x78\x8a\x35\x18\xec\x06\x7d\xf2\x92\x1b\x3f\x3c\x7f\xeb\xd7\xbf\xb8\x63\xb9\x57\x45\xb3\x1a\x3d\xd3\xbb\x06\x2e\x85\x9b\x9e\x82\x1b\xb4\x26\xab\x37\x62\x32\xab\x6d\xe5\x26\xc6\xe6\x71\x96\x5a\x4a\x80\xe5\x55\x6a\x86\xa5\x28\x00\xb6\x2b\x1c\xda\x21\xed\xc9\x0b\x08\xbc\xfe\x93\xe0\x74\x8b\x45\xcb\x0b\x5b\xaf\x38\xb0\xbb\x33\x59\xd5\x72\xd1\xb6\x7d\xcb\xc2\x36\xef\x7c\xd6\x56\x1b\xad\x35\x4b\xef\x96\x2e\xbc\xf8\xc4\x79\xcb\x6f\x5b\x32\x36\x37\xd3\x31\xb1\x61\xca\x1c\x17\x5f\xd3\xb9\x76\x6c\x2d\xcb\x16\x58\x8c\x89\x99\xe3\x2a\x93\xad\x5b\xda\x8a\xd4\x06\x35\x03\xf4\x96\xca\x9f\xcf\x0b\xfe\xde\xb8\xba\x72\x76\x11\xaf\xb1\x94\xdd\x68\xe7\xd4\x14\xc6\x58\x11\x8b\xc5\xd8\x58\xc1\x72\x3a\xb8\xbb\xb0\x21\x5c\xac\xd5\xf6\x05\xa6\x59\xad\x5a\x7b\xcd\xfc\x20\x5b\x31\xfb\x9a\xd6\x39\xfb\xda\xa6\x14\xe5\xab\xf1\xce\xb1\xee\x18\xb6\x07\x66\x25\xf2\x6a\xcf\x5f\x33\xab\x32\x3c\xa5\x6d\x86\x37\x73\xeb\xbc\xf2\x52\x7b\xee\xd2\xb2\xaa\xdb\xb0\xb5\x7c\xf1\xb0\xcd\x4f\x9a\xf4\x51\x11\x82\xd0\x5a\x3d\xc2\x26\x74\x88\x55\xf9\xb4\x6d\xee\xb0\x2f\x90\xe5\xb4\x8c\x65\x39\x2e\x99\x51\x61\x05\x5f\xfa\xdf\x58\xab\x67\x8d\xb5\x88\x44\x77\x56\x18\x3c\xdd\xde\x20\x37\x96\x8a\x33\x38\x52\x80\x69\x84\x9f\x4e\x9f\x4a\x53\xe8\x2c\x42\x16\x05\x09\x81\x9a\xa2\xa7\xf1\x2b\x1d\x72\xf3\xdb\x91\xfd\x56\x6c\xd1\x15\x44\xe1\x08\xff\x29\x33\x8d\x06\x10\x4e\x8d\xbe\x12\xf1\x9e\x51\x3e\x06\xa2\x72\x10\x21\x08\x36\xdb\xc8\x3e\x21\x6c\x07\x8f\xc9\xf3\xaf\xb9\x40\xff\x45\x81\x46\xc2\x76\x3a\x6d\xe6\x33\x0a\x6c\x24\xc5\x9b\x07\x10\x93\x3e\x95\x86\x11\x1d\x05\x35\x52\x9f\x2a\x7d\xce\x52\x4b\x47\x9b\xa0\x67\x28\x8d\x39\xf3\x7b\x1a\xf5\x9e\xf5\xcc\x8a\x7f\xfa\xb9\x0b\xaa\xe9\xcc\x3a\x21\xa2\x84\x52\x27\x02\xa7\x29\xce\x04\xd2\x2a\x0f\x6b\x0f\x65\xed\xd0\x1d\x76\xeb\xff\x59\x39\xcc\x0f\xa9\x9d\x9a\x27\x9e\x50\x6c\xcc\x9f\x7c\x52\xb1\x3a\x1f\x0a\x3f\xf1\x84\x7a\xc0\xfd\x3f\x2b\x9a\xeb\xcf\x7d\xb9\xe1\xb0\xd4\xf7\xbf\x2b\x2f\x2b\xca\x41\x41\x54\x85\x16\x11\x9d\x1a\xaf\x38\x6c\xa8\x9f\xb5\xd6\xff\xbf\x2a\x20\xc6\x21\x21\x8d\x53\x23\xf5\x29\x59\x7f\x0f\x94\x67\xe9\xef\xf8\x9f\x15\x0b\xae\x95\x90\x5a\x0d\x6e\xa5\x40\xde\x03\xa5\x44\x32\x63\xfe\x07\x85\x01\xc3\x63\xde\x82\x6c\x3b\x02\xa4\x6b\x1e\x72\x46\xac\x4e\x40\xaf\x53\xc0\x39\x26\xc7\xd0\xb7\xe0\xfc\x91\xe0\xe4\x59\x24\x38\x07\x2e\x85\xfb\x78\xc1\x29\x29\x4e\xbf\x12\x9f\x76\x0a\xca\xba\x22\xad\xcc\x7d\x88\xea\x08\x0a\x27\x86\xd7\xc9\x87\xc8\x0f\x02\x64\xa7\x64\x78\xc9\x28\x0e\x4f\xed\x49\x12\xb3\xcf\x39\x70\x17\x94\x4a\xaf\x4b\x2d\xd2\xeb\x18\xc9\x0f\x73\xf0\xa4\x39\xdf\x7c\x37\xf4\x1a\x32\x1b\xe4\x5b\xe0\x6b\xe8\x4a\xe5\x30\x94\xc2\x5d\x4d\xe6\x7c\xf3\xc9\x83\x72\xb2\xad\x77\x2b\x6b\x9a\x81\x41\xc4\xfe\x91\xf4\x51\x01\x82\xc1\x21\x4b\x50\xa7\x97\x5b\x4e\xff\x58\x61\x07\x0c\xef\x54\x9c\x6e\x4d\xb3\xc4\x0d\xf2\x30\xd2\xc6\xbe\xa6\xd1\xec\xcf\x0f\x9e\x22\xf6\xa6\x38\xa5\x58\xa5\xa2\x60\xfe\xc0\x13\xa0\x98\xa8\x52\x84\x27\xed\x54\x6f\x30\x7f\x3f\x49\x89\x11\x20\xfa\x2d\x8d\x53\xb3\x3f\x5f\x70\x82\xc2\x04\x26\x38\x53\xf9\xfd\xef\x11\x8c\xbf\x93\xea\x55\x08\xc2\xf2\xf7\x93\x34\xbd\xbd\xca\x7a\xbb\x0a\x31\xfd\x04\x57\x2c\xbf\xcb\x48\xd9\x4b\xe6\x80\x15\x03\xcc\x10\x62\x3a\x9e\x80\xb8\x83\x09\xc4\x19\x13\x63\x0a\x98\x02\x26\x30\x31\x26\xee\xd3\x7c\xbb\x39\x93\xce\xc9\xc9\xdc\x90\xb9\x41\xc3\x5b\x4c\xf9\x76\x33\x4e\xe7\xe4\xe0\x4e\xdc\xe9\xee\xcf\xc1\xa9\xfe\x0e\xec\xa6\xfb\x32\x7d\xcc\x77\x56\xcf\xa9\xb4\xd5\xcd\x0d\x22\xad\xf6\xfb\xef\x19\xad\xd5\xc3\xc8\x41\x20\x41\xfd\x4d\xfd\x9a\xcf\xe9\xef\xf5\xfd\x9a\x77\xe8\xef\x4f\x65\xe8\xef\xdf\xe9\xd7\x8c\x5c\x1b\x36\x21\x1f\x8a\x0d\xf5\x37\x1c\xb0\x0a\x56\x30\x01\x71\xcf\x39\x62\x86\x36\xc2\xe5\xd7\x4a\xce\x36\x46\x7a\x8b\x49\x72\x73\x2a\xbd\xc5\x04\x7d\x1c\xfd\xc5\x19\xc1\xfe\xbb\x54\x2c\x46\x66\x8b\x5e\xc5\x4a\xc8\x6c\x61\x91\x45\x7f\x2a\x65\x55\x0d\x22\xda\xa2\x67\x7a\xad\x2a\x90\x3d\xa3\x63\xa8\x41\xa4\xb1\x9c\x4a\xe9\x2d\x14\x20\x8d\x85\xe9\xd5\x5b\x86\xf6\x6b\xdc\x9c\xfc\x9a\x73\xc8\x80\x1c\xa8\xea\x6c\x45\x95\x21\x57\x41\x77\x8a\x2c\xc3\x12\x53\xcc\x44\x92\x4b\x84\x40\x81\x7a\x62\x45\x38\x05\x7e\x7b\xa6\xf3\x8d\xb4\xfc\x1f\xeb\x56\xdc\x27\x9d\x8a\x7a\x75\x56\x8a\xce\x61\x02\xbc\xc7\xe0\xe4\x0d\xcc\xc1\x3b\xbf\x81\x5b\xe0\x0b\xb8\x05\x37\x8e\xa0\xf5\x54\xfe\x21\x24\xdd\x2e\xbd\x73\x8f\xf9\xbe\x2a\x0d\x05\xbc\xd6\x60\x67\x3c\x7c\xc0\x59\x51\x31\x4e\x5c\x98\xb9\xe6\x7e\x10\xef\xb9\x07\x9d\xd6\x4b\x1b\xce\x77\x88\x30\xba\x8e\xb2\x0d\x1a\x72\xb1\x9b\x96\xdf\x97\x42\xe0\x58\x2e\x5e\x0f\xf2\xb8\xdc\x1f\x37\x0a\x60\x1d\x7e\x20\x9f\x57\x10\x63\x42\x5c\x48\xe2\x44\x92\x49\x10\x4d\x2a\xf0\xbb\x69\x17\x9c\xf3\xc9\xbe\x94\x3a\xa5\xa3\xaf\x5d\xb3\x6b\x7e\x5e\x4e\xe8\x86\x0b\x4b\xaa\x27\xd4\xbd\x0c\xcb\x5e\x7b\x0d\x66\xca\x0f\x3c\xb1\xf1\x39\xe9\x54\xe5\x58\xc6\x90\x43\x53\x0c\x68\xb0\x0e\x73\x15\xb6\xa2\x1c\x97\xf6\xe8\x2f\x4f\x2f\x75\xe0\x5f\x9e\xfd\xdc\xe9\xbd\x7f\xbd\xb2\xfb\xb7\x53\xc3\x1d\xad\x33\xeb\xd7\x08\xac\x6a\xef\x5f\xc1\xfc\x57\x69\xef\xfd\xd2\x3b\xf7\xa8\x1e\x18\xc7\xab\x6c\x26\xa0\x8d\xb4\x81\xe2\xb1\x2a\xe6\xa8\x0a\x4d\x0e\x2e\x00\xf6\xc8\xae\xaf\xee\x5d\xb1\xe2\xde\xaf\xc8\xef\xa8\xa6\x11\xf3\x4f\x44\x21\x16\x69\x90\x5e\x6e\xa5\x4d\x6a\x30\x41\x2e\x10\x17\x23\x8c\x24\x24\x91\x6f\xd9\x0f\x0b\x40\xcc\x9c\x90\xde\xa6\xb6\x66\x4e\x40\x90\xbe\x55\xf6\xe3\x19\xd2\x3b\x72\x2c\x59\x37\x9c\x35\xd8\xcb\xde\xc7\xa4\x88\x1d\x3a\x0b\xc8\xe7\xa5\x04\x0a\xfb\xbc\x9c\x98\xcc\x5a\xbd\x9a\x95\xf9\x4d\x22\xee\xf3\x72\x66\xc6\xce\xde\xa7\x91\x9e\x92\xfe\xe3\xb3\xab\x97\x96\xb6\x4c\x9e\x6b\x5e\x3b\x2d\xe7\xae\xd0\x2d\x73\x17\x6f\x76\x94\xda\x13\x63\x23\x2b\x57\xa8\xf4\xdb\xab\x53\xdb\x60\x76\x3f\x75\xea\xaf\xd2\x12\x69\x26\x70\x3d\xd0\x00\x6c\xd3\x52\xdb\xf5\xc1\xab\x54\xea\x4b\xf6\x4a\x1f\xcd\xfb\xf1\x27\x3f\x99\xbb\xd7\x09\x57\x6a\x55\xe8\x0c\x1e\x1c\x0a\x69\x08\xb3\xb6\x07\x28\x8b\xc7\x42\x01\x8b\x4e\x21\xba\xee\xfd\xf7\x33\x97\xbd\xff\x3e\xd4\x31\xe9\x53\x08\xee\xc0\x5b\xa1\x48\x7a\x2b\x73\xa5\xf4\x2a\x3a\x43\xbb\x82\x42\x66\x34\x16\xcd\xcd\x9e\xcf\x11\xce\xed\x84\x98\x10\x7d\xa2\x8f\x63\xc2\x76\x2e\x11\x0d\xe1\x21\x52\x90\xb0\x8d\xa0\xcc\x6d\x9e\x98\x18\xc2\x49\x88\x99\x22\x09\x9f\x57\x1e\x49\x47\x93\x18\x62\x04\xa4\x17\x33\x79\x38\x87\x3d\x9b\x4e\xce\x07\xb5\x4f\xd7\x58\x98\xbb\x7a\x75\x6e\x61\xa3\x6e\x71\xcc\x1d\x93\x8e\xb8\x73\xe1\x7e\x5f\xc3\xe4\xca\x4b\xf7\x74\x34\x59\x35\xfa\x29\xd0\x7b\x98\x65\x30\xc0\xd3\xc2\x9f\x58\x9a\xa6\x74\x79\xf8\xfc\x38\xc7\x60\xe9\x2b\xc7\x6c\x87\x8e\x9f\x28\x67\x9f\xee\xf5\xcc\xde\x98\x5b\x5d\x9d\xbb\x71\xb6\xa7\xa3\xe3\xb8\xbb\xdc\x96\x68\x0c\xf0\x9b\x2e\x9a\x9c\x56\x49\xbb\x78\x1d\x70\x2d\xf3\x78\x00\x9a\xd6\x30\xb0\x3b\xcd\xb2\x54\x73\x5e\x5e\x81\x76\xe0\x57\xf3\xd4\x40\x51\x3a\x16\xab\x56\xd8\x39\xab\x74\x35\xaf\xc6\xea\x79\xca\xb3\x2f\x27\x6d\x50\x39\xaa\x46\x33\x51\xab\xa2\x14\x41\x36\x64\xdc\xd9\x4d\x98\x2c\x45\x7b\xc0\x92\x04\x07\x43\xa0\x25\xf2\xbb\x12\x0b\x50\x34\x01\x38\x80\xdc\xbb\x90\x7e\x06\xe2\x51\x51\xf0\x66\x27\xa6\x5e\x8e\xb5\x2a\xca\x83\xc2\x10\x0d\xb4\x95\x43\x35\x61\xdd\x1b\xd2\x01\xa9\x59\xba\xf6\x0d\x6d\x24\xb9\x79\xf6\xdc\xda\x77\xa1\x68\x33\x95\xc3\xc3\x06\xf3\xe4\x92\x64\x4b\xcb\x8e\xf9\xd2\x83\x9d\x50\xfa\xc7\x31\x73\x67\x6f\x3e\x75\xdb\xfc\x1d\x2d\x2d\xc9\xba\x16\xaa\x58\xab\xd5\xb8\xb4\x45\x3d\x3d\x3d\x45\x5a\x97\x46\xab\x2d\xb9\xbe\xbd\xa5\xfd\x7a\xfb\x8e\xf9\x2d\x75\xc9\x16\xfc\xe0\x98\xc5\xb9\xa1\xf0\xcd\xd2\x0f\x37\xde\x08\xaa\x9b\xcb\xcb\x73\x97\x8c\x99\xb5\xa5\xfe\x06\x0d\x56\xeb\x8d\xd4\xcc\x40\xd9\xfc\x1d\x2d\xf3\x93\x53\xa5\xa0\xfa\xfa\xba\x2d\xd2\x9f\xc8\x4d\x5a\xa4\x0e\xad\x4b\xab\xd1\x14\x07\x83\xc5\x1a\x8d\xa6\x50\x5b\x12\x56\xab\xc3\x3f\xc8\x37\x9b\xbf\x83\xd4\xe9\x09\x83\x98\x7d\x9c\x45\xa8\x02\x21\x4b\x24\x49\xf9\x23\x61\xda\x21\x77\x69\x2e\x2a\x09\x09\x13\xab\x03\x51\xc0\xa2\x60\x4e\xf0\xc0\x79\xe2\x21\xba\x1c\x78\x6a\x02\x18\xe7\x5e\xfb\x14\xc0\xa1\x3f\xc1\xba\xf5\x9d\xfd\x37\xc3\xaa\xbb\xfe\xf0\xd6\x8b\x53\x16\x49\x5f\x49\xb7\xed\x7f\xf2\x3b\x4c\x7d\xfa\x87\x8a\x5a\x23\xbe\x50\xe5\x4e\xce\x98\x35\xde\x6e\xbf\xfc\xc7\xe7\x6e\xc2\x9f\x5d\xfc\xa7\xdf\x1e\x9e\xf7\x87\xe7\x1e\x1f\x7c\x62\xfd\xf1\x59\x6e\xe7\xb8\x88\x74\x79\x62\x2a\x8e\x4f\x81\x8e\x5f\x7f\x0b\x73\x96\xd6\xee\x6e\x9f\x76\xf1\xb4\x2a\xa7\x01\x80\x99\xb1\xeb\xfa\xa1\xfa\x4a\xb0\xf5\x0a\x1b\x7d\x1e\x42\x31\x93\x27\x3b\xa4\x90\x2b\xa4\xc7\xe6\x89\x0d\x0f\x96\x22\x6a\xd4\xde\xf0\x43\xaa\xa1\x1d\xa7\x21\x9d\x41\x80\xd8\x8e\x86\xf6\x7f\xa2\xf6\x06\x37\xee\xc8\xf4\x34\xb4\xb7\x83\x97\x98\xb0\xa4\xdb\x1b\xfa\xfa\x1a\xda\x87\xb1\x9d\x8f\x13\xbb\x95\x0a\xb9\x7f\x0f\x90\x2d\x39\xb9\x22\x28\x7a\x92\x09\xa2\x26\xa5\x2c\x58\x47\xc2\x7e\x35\xb0\xc8\x33\x42\x70\xd4\x41\xf9\x88\xfc\xbd\x0b\x78\x60\x2b\xde\x9d\xfa\xdd\xfe\xeb\x7e\x38\x30\xf7\xda\xe7\xd7\xed\xfe\xb2\xe9\xad\x75\xd2\xb1\x97\x7e\x22\xbd\xfb\xfa\xc5\x17\xbf\x0e\xc2\x4f\xde\x80\x0d\x52\x0a\xff\x72\xb3\xd4\x28\x7d\xfd\xd0\xd0\x0a\xef\x43\x40\xc3\x1d\x17\x1d\x13\x3b\xae\x70\x97\xe9\x34\x65\xdf\xaf\xdf\x76\xd5\x81\x1f\x0e\xae\x7b\xfe\xda\xb9\x17\xac\xb9\xe8\xee\xde\x8b\x5f\x97\xde\x95\x9e\x92\x2f\xf1\x26\x9e\x28\xf5\x64\xa4\x77\x4f\xb7\x95\xd2\x77\x5f\x4a\x9b\x7b\x80\x98\x93\x20\x1a\xb9\x07\x11\xdb\x97\xe5\xd3\xcd\xf2\x11\x24\x3c\x20\x9a\xa0\x10\x4c\x6a\xec\x01\xe6\xba\xcc\x4d\x8b\xa8\xf9\xa7\x7e\xf9\x08\x7d\xcc\x7a\x5d\xe6\xaf\xb0\x48\xd2\x0d\xdc\x0d\xcb\xa9\x1a\xd8\x75\xfd\xc0\x07\x9b\xa9\x85\x99\xdc\x8e\xc5\x03\x3f\x85\x19\x78\xe7\xc0\x07\xb8\x66\xa8\x6c\xd2\xcc\x37\x64\x3f\xf7\x22\x84\x80\x28\x92\x0f\x4b\xd6\x0c\xfb\x19\x93\x27\x8b\x64\xf1\x98\xa2\x35\x10\x2e\x80\xc8\x90\x1b\x1b\x76\x93\xd8\x1e\x31\x0d\x6b\x12\xdb\x14\xba\x9c\x78\x24\x5c\xa0\xec\x3e\xf8\xbc\x9c\x2d\x1c\x77\xe1\x33\xce\xa9\x81\xb0\xcd\xa4\xb8\x38\x6d\xec\x30\x1a\x3b\x8c\x18\x0d\xb9\x99\x74\x77\x4f\x77\x46\x8e\x1e\xfe\x30\x3a\xce\x08\x6e\x4f\xa9\xc7\x5d\x26\xd8\xa6\x19\x4d\xb5\x9c\x71\x62\x9e\x79\x8a\x25\x18\x06\x23\xa7\x63\x46\xa6\xc5\xc6\x3e\xe3\xe9\xff\x8c\x11\x52\xcd\xdd\xdd\xcd\x52\x2f\xfe\xc6\x68\xec\xc6\xdd\x46\x63\x37\xf9\xb0\x1c\x05\x00\x97\x1b\x7c\x0e\xb7\xdb\xe1\x33\x98\x34\x06\x83\xf1\xf7\x06\xbd\x41\x77\x29\x00\xc5\xb1\xdd\xd9\x84\x99\x03\xdd\x46\x45\xe3\x91\xd4\xd5\x2e\x85\x01\x4b\x19\x6e\xd5\x81\xc7\xee\x70\x31\x64\x5c\x3f\x44\xf2\xa6\xcc\x24\x7d\xde\x10\x23\x86\x28\x9f\x87\x00\x7e\x14\x95\xa7\x48\x58\xee\x6b\xd9\x1a\xc8\x36\x3e\x72\x0f\xec\xf3\xf2\x34\xc7\x72\x72\x0d\x77\xa8\xbe\x31\x1a\xa5\x5e\x95\x4a\xcd\x19\x07\x7e\x1a\x08\x19\x4d\x85\x8e\x42\xb7\xa9\xc3\xcc\x03\x19\xf3\x4b\xbd\xbc\xb9\xc3\x3d\xa6\x34\x94\x2f\x9a\x2d\x8e\xfc\xd2\xb2\x1c\xe9\x06\xfb\x55\x2d\x5d\x47\x8e\x74\xb5\x5c\x65\xef\xcc\x29\x2b\xcd\x77\x58\xcc\x62\x7e\xa8\x74\x8c\x7b\xb5\x6d\x69\x52\x7e\xe8\xe4\x52\xdb\x6a\x93\xbb\xd0\x51\x68\x32\x86\x02\xf4\x42\xb7\x11\xff\x51\x25\xa8\x7a\x19\x5a\x63\x4e\x8f\x59\x1d\xf0\x27\xdd\x7e\x63\xc7\xd0\xc5\xcd\x7c\x87\x35\x2f\x2e\x34\x89\x45\xb1\xea\x29\xde\x39\x6b\x8e\xbc\x7e\x64\xcd\x1c\xef\x94\xea\x58\x91\xd8\x24\xc4\xf3\xac\xd5\x93\xba\x7b\xba\x27\x55\x1b\xfd\xee\xa4\x3f\xb0\x7a\x4c\xda\x6c\xd5\x9e\x89\x0d\xe0\x90\x09\x79\xc8\x98\x84\x80\x5f\x90\x51\xf0\x79\x4c\x11\xe2\x1b\x05\x6a\xb9\x78\x46\x55\x26\x53\x05\xf8\xe1\xdd\xd2\x8c\x5f\x64\x76\xe1\xcb\xcf\x85\x56\x49\x76\x4f\x07\xbd\xf4\x4f\xa0\x1f\x19\x48\x83\x1e\x56\x9d\x63\xf3\x44\x6e\x43\xde\x51\x23\x46\x44\x22\x1a\x83\xa6\xa1\x25\x44\x83\x58\x64\x87\xf8\x9b\x12\xf1\x58\x54\x59\xab\xb6\x3b\xe4\xe6\x5e\x54\xb6\xf8\x09\x02\xee\xb4\x7a\x87\xa2\x11\xe7\x02\x87\x22\x03\x2f\x9f\x66\x14\x05\xb2\x44\xe5\x37\x0e\x47\xc5\xa2\xca\xa2\x94\x83\x5d\x3b\x3e\xc6\x19\xb9\xa2\x1c\x9d\xae\x30\x5f\xe3\xd8\xfe\xfb\x0b\x2f\xfb\x38\xbe\xa6\xd9\x5e\x9a\x72\x34\xae\x92\x7f\x0e\xda\x3e\x63\xfd\x8d\x2f\x5e\xdd\xff\xe7\xbb\xbf\x79\xe1\x70\x12\x92\xbf\xfa\x0b\xb4\x3a\x36\xdf\x78\x6a\x89\xa3\x28\xc7\xe2\xd4\x99\x27\x4d\x32\xeb\xa2\xf5\xe6\x25\x80\x2e\x73\x14\x39\x2c\x4e\xbd\x79\xcd\x1a\xb3\xde\xe9\x4c\x9a\xe1\xa1\x9a\xc5\xb6\xb2\xf2\x9c\x7c\x4a\x53\xed\x9a\x34\xf9\xc2\xd7\xb6\x1f\xbc\x20\x7f\xba\x23\x55\x6a\x6f\x3c\xfc\xfa\xe1\xf5\xd3\xaf\x7e\xe1\x6f\x77\xdf\xf8\xa9\xfd\x91\x4f\xa5\x5f\xfd\x29\xf7\xf1\x0b\x1e\x38\xe0\xd1\x9b\xea\x9d\x9d\x80\x3b\x9d\x49\xbf\xde\x79\xf5\x78\x29\xe7\x79\xaf\xde\x9c\x74\xde\xfe\xec\xaf\x6e\x73\xd6\x9b\xcc\xba\x3c\x84\x91\x7f\x10\x31\xef\x91\x7d\xf8\x75\x08\x31\xa4\xd7\x93\xdf\x55\x85\x97\x91\x95\xab\x6a\x2c\x9a\xa4\xc2\x2e\x8a\xc0\x73\x0b\x81\x68\x92\xd2\xa2\x20\x86\xa8\xd8\xd0\x12\x1b\xe1\xf8\xf2\x15\x43\x88\x26\x16\x5f\x44\xd5\xd4\x45\x39\x5c\x2a\xe6\xbd\x8b\x7f\xb1\x73\xe7\x2f\x2e\xfe\x72\xd3\xcd\x9e\x83\x5f\xae\x7d\xe4\xc2\xa5\x71\x9f\x4e\x9d\x5f\x36\xbb\x6b\x56\x69\x9e\xca\x91\xbf\x46\x0c\x6e\x3a\x62\x2e\x8b\xb7\xb7\x4d\xc9\x37\x6c\xbe\x7a\x65\x51\x51\xeb\x65\xcf\x6f\xdf\xf6\xc2\x25\x0b\x05\x57\x49\xbc\xd4\x84\x59\x8b\x33\xea\x0f\xe5\x5b\x0d\x2d\x81\xc0\xf8\x65\xc5\x1a\x61\xfc\xc5\xf3\x9b\x2e\x6a\x9b\x52\xe1\xb5\x68\xb0\x7e\xc1\xce\x9d\x0b\x16\xee\xdc\xf9\xb4\xe1\x81\xf3\xa7\xa6\xa6\x17\x8f\x9b\x37\x67\x56\x84\xb7\x94\x8f\x8d\xf8\x7d\xe5\x35\x22\xef\x2d\xcf\x73\x61\x38\x6f\x96\xb3\xac\x54\x08\x97\x79\xf5\x5c\x62\xe1\xc6\x2b\xdb\xa7\x1f\xd8\xbd\xa4\x3a\x3a\xab\x6b\x55\x24\x34\xa5\xa4\x40\xa3\x31\x0b\xf1\xf9\x71\xa3\x05\x20\x39\x3d\x90\x23\xc4\x2b\x6a\x0a\x72\xab\xe3\xa9\xc4\xc4\xf8\x94\xc8\x48\x3b\x3c\xc5\x7e\xfd\xac\xdd\x83\xc0\xa8\xf0\x48\x21\x6e\xdc\x6b\xe6\x07\xc9\xdc\x13\x10\x6f\x86\x33\x43\xe9\xd1\x9a\xdb\x1d\x98\xbc\xc9\xa7\x17\x85\xb2\x7e\x18\x1c\xa5\xac\x4d\x8f\xe0\x9f\x71\x90\x55\x1b\x84\x46\x58\xc3\x23\x77\x12\x8c\x21\x70\xf3\x60\xb4\x07\x46\x6a\xa5\x8d\x5c\x6b\xc8\x86\x71\xf9\x99\x36\xed\x70\x2b\x04\x4f\x1d\x3c\x78\x4a\x7a\xfb\xd4\xc1\x83\xf0\xb5\x9c\x87\xde\xd3\x99\x22\x5f\xcc\xe8\x8c\xf7\xdf\x7f\xf0\xd4\xf0\x59\xd3\xcf\xc8\xfa\x08\xff\x19\xe3\x57\x83\xdc\x9f\x8f\x2e\xc9\x33\x24\xcc\x53\x23\xaf\x00\xbd\xff\x5d\x59\x9d\x55\x3e\xd4\xa8\xf2\xf9\x2f\x4b\x27\x31\xd2\x56\xf3\x5f\x95\xc6\xba\xd3\xcf\xf3\xff\x50\x04\xa3\xf1\x51\x01\x54\x87\x50\xc0\x42\x0c\x9a\x09\xbd\x3a\x58\x3c\x16\x82\xe2\x56\x40\xf0\xc3\x6e\xd8\x1e\x30\x91\x97\x31\xdb\xc3\x66\xfd\x71\xb7\x9d\x7d\xdf\x47\x59\x2c\x05\x3f\xa6\x0b\x2c\x16\xca\xc7\xb6\xcd\xfb\x71\xce\x3c\xca\x9f\x0b\x88\x4c\x9a\xe4\x2f\x94\xeb\x97\x76\x0b\x51\xe1\xc8\xeb\x47\x84\xa8\xf0\x11\x24\x3f\x4a\x4b\xcf\xe7\xdb\x6d\x36\x7b\x3e\x54\x53\x93\x06\x7e\xa4\xb8\x1c\xcf\x48\xc5\x4d\xcf\x4f\x06\x91\xa2\x3d\x21\xb7\x50\x43\xfe\x63\x1f\x7d\x94\xb5\xb3\x93\x1d\x1b\x61\x28\xaa\x41\x53\xd0\x5a\x32\x8b\x97\xdb\xf1\x21\xcc\x6f\x56\x01\x03\x92\x20\x52\x21\xe0\x15\x98\x75\x60\x28\xe7\x76\xe5\x2d\x19\xf6\x5b\xe2\x21\x20\x7a\xa4\x8e\x48\x38\x0e\x94\x8f\xe0\x36\xb3\x3f\x03\xc1\xcf\xfa\xa8\x10\x94\x0c\xb1\xfc\xcb\xed\x33\xc9\xa5\x61\x93\x6a\x72\xa8\x1f\x85\x26\xab\x36\x19\xe4\x30\xac\x70\xfa\xb0\x1b\x17\x45\xe5\xef\x40\x2e\xf4\x08\x51\x41\x88\x0a\x90\xce\xba\x1d\x6e\xec\x8b\x16\x61\x37\xf6\x39\x99\xdc\x40\xff\xc5\x6d\x7b\x56\x58\xf6\x2d\xbc\x53\xc1\xab\xdf\xb9\x70\x9f\x65\xc5\x9e\x36\xed\x84\xb2\x3b\x05\xa7\x24\x47\x94\x4d\xa0\xe4\x12\xcc\x74\x85\x6a\x6b\x43\xf8\x48\x63\x57\xe3\x40\x1f\x2e\x72\x42\x8f\xd3\x47\x17\x39\xa5\x8e\x5c\x6f\x0a\x7a\x08\xcd\x42\x07\x29\x9e\xd3\x7e\x1b\xf4\x38\x8b\x68\x9f\x1c\x28\xc2\x5e\xfa\x5d\x69\x39\x3c\xda\xb2\x5e\x3e\xbc\xbe\x45\x9a\x04\xb7\x94\x56\xc9\xfe\x2a\x84\x91\x67\x30\xcd\x7e\x48\xe6\x60\x33\x10\x02\x8b\x8f\x02\xb9\x1e\x50\x9e\xb0\xc3\x4e\x16\x97\x28\x82\x06\x15\x12\x16\xdf\xb0\x4f\xae\x25\x64\x1d\x69\x84\x2f\x9e\xd5\xc7\x8f\x0c\xfb\xe4\x2b\x50\x1f\xa6\xa4\x14\x25\x55\x71\x39\xd2\xa3\x29\x48\x18\x34\x1a\xba\x8a\x71\x4a\x8f\xce\xe4\x72\xfa\x8c\x1a\x35\x35\x5d\x9a\xc9\xe5\x7c\x64\x20\xbe\x17\x65\xa7\x8a\xcb\x81\x49\x29\xd9\x4f\x52\xc2\xa4\x99\x5c\x6e\x9f\x21\x9b\x32\xeb\x93\xaf\xa3\xc6\x08\xd0\x20\x82\x1f\xfa\x72\x06\x91\x8e\xe7\xfb\x72\xa4\x47\x72\x74\x3a\x23\x54\x0d\xb9\x3a\x9d\xb1\x2f\x07\x94\x63\x30\x59\x8e\x93\x5e\x18\x72\x75\x3a\x65\xfe\xb9\x7a\x10\x31\x87\xb3\xf6\x9a\x26\x62\x71\xef\xe0\x4c\x0e\x8e\x52\x53\x26\x8a\x53\x83\x03\x90\x11\x13\x6b\x4b\x6c\x34\x13\x96\x4d\x6a\xca\xa1\xc3\x87\x0f\xed\x86\x57\xa5\x93\x10\x96\x2a\x06\xdb\x20\x25\xf5\xb6\xa1\x41\xfc\xbb\xd4\xfa\x9f\x3d\xf3\xfd\x33\x3f\x5b\x9f\x1a\xf2\xc0\x27\x87\x0e\x53\xfb\x0e\x1f\x1a\x58\x02\xaf\x42\x18\xc2\xf0\x6a\xe6\x28\x1a\x6c\x93\x9e\x96\x9e\x6e\x43\x83\xd0\x2d\xb5\x4b\xcf\xbf\xb8\xa3\xb2\x72\xc7\x8b\x50\x0d\xb7\x41\xb5\xe2\x57\xde\xcd\xe0\x20\xa2\xde\x1e\xce\x17\x0a\x24\x44\x53\x42\xb4\xa8\xc1\x04\xa2\x1a\x12\x60\x02\x3c\xe7\xbe\xfb\xee\xbb\xcf\x0d\xcb\x33\x9f\x49\x6f\xad\x81\xcd\xd2\xbe\x35\x50\x84\xf3\x36\xdc\x7b\x2f\xac\xbb\xf7\xde\xcc\xdf\xa5\x5b\x32\x9f\xe2\xe7\xa5\xb7\xd7\xc0\x16\xd8\xb2\x46\x7a\x1b\x3f\x9f\xf9\x54\xb1\xab\xc9\x62\xbd\x0c\xc8\x81\x8a\x50\x25\x42\xc3\x2b\x47\xc3\x2b\x48\x2c\x61\xf3\xb3\x58\x39\x50\xd6\x0f\xa3\x09\x20\x8d\x33\x9d\x3d\xc2\xa0\xa6\xce\xa6\xa6\xce\x4c\x13\x71\xe8\xa6\x8f\x14\xa6\xbe\x4b\xf4\xfd\x7d\x16\x77\x8f\x53\xd0\xd3\x6e\xe2\x66\x3a\xb2\x47\x5e\x96\xd3\x35\x51\x24\x79\x93\x54\x38\x44\xec\xd7\x6b\x35\x9f\x4a\x3b\x05\xa7\xd5\xcc\xa4\x9d\xc2\xe3\xd9\x68\xb2\x6e\x44\x0d\x4e\x62\x33\xcc\xa3\x64\x95\xc4\x88\x1c\xa8\x00\x21\x8b\x1a\x42\x90\xb0\x14\x01\x54\xca\xcd\x53\x3c\x0c\x16\x3b\xcb\xa9\xa1\x52\xf6\x3b\x3a\xa9\x9c\x81\x5b\xcc\x3c\xb7\x02\x4e\xe2\x43\xd2\x43\x99\x6f\x9e\x93\xc2\xcf\xa9\xc2\x4c\xc5\x0a\x8e\x37\x0f\xdc\x42\xe5\x90\xa0\x8a\x4a\x0e\xa8\xf1\xf9\xfa\x12\x1b\x44\x07\xd4\x6c\x6b\xe6\x16\xbc\xdc\x91\xb9\x54\x7a\xd9\x56\xa2\xcf\x5c\x45\xfd\x13\x2f\x77\x38\x46\xac\xb7\xf5\x21\x8a\xec\xba\x54\x22\x04\x91\x98\x0f\x88\x0d\xb9\xe8\x70\x41\x82\x30\x4c\x32\x56\x79\xba\xae\xc0\x27\xbd\x0a\x78\x52\x91\xfd\x90\x3b\x0b\x33\xa4\x7b\x7a\xa8\x09\x9d\x7b\x2f\xff\xb1\x03\x5a\x7e\x38\x74\x89\x14\x24\xdc\x06\xe9\x65\x0b\xa4\xcc\x23\xdb\x4f\x8e\xb1\x34\x59\xc6\x9c\xdc\xfe\x88\x94\x59\xb0\xec\x1b\x38\x0a\x9f\xc3\xd1\x6f\x70\x6f\x5f\xe6\xf5\x45\x7e\x0c\x8b\x1b\x3b\x9a\x97\x00\x5c\xd4\xd7\xfb\xf8\x1d\xe7\xed\x3c\xfa\xc1\xaa\x16\x80\x96\x55\x1f\x1c\xdd\x79\xde\x1d\x8f\xbf\xa6\x74\x06\x43\xdc\x0d\x43\xeb\x27\xca\x3c\xcb\x82\x82\xa8\x24\x6b\xf3\x6d\xf3\xc5\x2c\x44\x89\xcc\x73\xfa\x43\x96\xfa\x41\xe4\x88\xf1\x49\xb6\x8b\x83\x84\x87\x49\x78\x98\x51\xb8\x3d\x4c\x0d\x0c\x0c\x50\xdf\x4a\xf7\xc0\xdc\x4c\x07\xee\xc9\x74\x50\xa2\x4e\xe5\x96\x2e\xfb\xfd\xef\xa5\xcb\xdc\x2a\x9d\x4e\x45\xbf\xad\xd2\x0d\xdc\xfd\xa8\xd4\x85\xf7\xbe\x2f\x75\xe1\x8f\xe7\x25\xfb\x83\xc9\x79\xf3\x92\xf4\xdb\xc9\x79\x78\x43\x3a\x8d\x06\x77\xee\x94\x20\x9d\x06\xa4\xf8\x07\x6e\x97\xcf\x18\x44\xf7\xdc\x03\x48\xa7\xea\x0f\xaa\x74\x3a\xba\xfd\xc8\x91\x23\xd6\xd3\xa7\xcd\x3b\x03\xb3\x52\x28\xf7\x4a\x90\xdd\xb0\x67\x0b\xc1\x45\x39\xec\x0e\x17\xed\xb0\x27\xe2\x72\x0c\x86\x10\x83\x45\xb7\x0e\x5c\x14\x0f\x1c\x6b\x03\x1f\xf0\x38\x84\xa9\x74\x67\xd5\xde\x57\xbd\xfe\x05\x1a\x51\x4c\xae\x68\x89\x95\xaa\xe9\xd2\xe6\xcd\x9b\xae\x6b\xbc\x11\x20\x1c\xcb\x9f\xf6\xb2\x34\xab\x69\xc3\xec\x9a\x31\xa1\x46\x11\x4c\xf0\x0c\xc4\xbe\xbc\x6a\x96\x8b\xe1\xf5\x7a\x18\xd7\x29\xfd\xc9\xbe\xb7\xf3\xde\xc3\x8f\xe1\x57\x7f\x3d\xeb\xa5\xcd\x16\x53\xd0\xe8\x2a\x2c\x59\xb1\xa7\x7d\x8e\x49\x35\xe7\xaa\x9f\xed\xda\xe2\x6e\x60\x29\xaf\xdf\x36\x06\xc2\xd2\xc5\xb5\xbb\x8e\xde\xf0\xde\x73\x10\xbe\x62\x72\xf7\x89\xbb\x3e\xfb\xd9\x27\x5b\xe7\xcc\x71\x48\x8f\x42\x01\xce\xe1\xb1\x7b\x1e\x1a\x81\x6d\x2b\x27\x3b\x58\x44\x61\x1e\x85\x80\xa3\xdd\x01\x81\x27\x7b\xc9\x3c\x36\x00\x4b\x00\x08\xf5\x10\x4f\x44\xec\x85\x60\x8f\x84\x13\x49\x28\x87\x10\x16\xe5\x31\x7e\xf6\x8d\xa4\x47\xcd\x45\x46\xb3\x14\x8d\x9e\xab\x30\xcb\x75\x65\x4e\xa9\x5f\xfa\x42\xea\x77\x96\xe9\xf2\x9c\xcf\xae\xc5\x79\xce\x7c\xb5\xc6\x9e\xab\xe6\x4b\x8d\xaa\xb8\xa9\xd8\x14\x57\x19\x4b\x79\x75\xae\x5d\xa3\xce\x77\xe6\xe1\xb5\xcf\x3a\xa5\x87\xc9\x02\x27\xde\xbb\xfe\x49\xa9\x5f\xfa\x58\xea\x7f\x72\xfd\xfa\x27\x81\x01\x17\x30\x4f\x4a\x8d\xd2\x0b\xd2\xa7\x27\xb7\x6f\x3f\x09\xf9\x50\x05\xf9\xc4\xf7\xc2\xb9\xe6\x3f\x73\xa3\x79\x6c\x32\xc9\xe6\x45\xcb\xd8\x90\xee\xd6\x0f\x16\x4c\xb2\xe5\x56\x68\xe8\x22\xeb\xde\x6d\xdb\xf6\x5a\x8b\x68\x4d\x45\xae\x6d\xd2\x82\x0f\x6e\xd5\x85\xd8\xe3\x64\x39\x75\xc3\xa8\x3b\xc9\xbe\x35\xdb\x4f\x4a\x9f\x8e\xba\xa1\x54\x71\x2e\x18\x1a\xa2\xd0\xf8\x41\xc4\x3c\x9e\x2d\xe3\xc9\x08\x21\x3b\x31\x87\x21\xb3\x1f\x0b\xa1\xb5\x17\xb3\x08\x4e\x31\x9e\x00\x91\x63\x43\x40\x30\xb9\x0e\xb9\xfc\x0d\x10\xc0\x0a\x68\xda\x0a\xe1\x04\x99\x55\x40\x2c\x9a\x70\xb0\x36\xab\x9d\xd9\x31\x9e\x29\xa5\xeb\x8a\x58\xaa\xb4\x9a\xf2\x5d\x93\x38\x74\x65\xeb\x2b\xd7\x5e\x76\xde\x95\xdb\x6e\x07\xd5\xe1\x5f\x7a\x5a\xc6\x30\xee\xbf\x39\xc7\xbb\xe0\x0b\xbf\xce\x54\xf2\x0a\x6c\x2a\x3a\xd4\xd9\x79\x68\xd5\xc0\xbb\x5d\x0b\xf7\x1e\x7c\xf2\x50\xff\xc1\xcd\x7b\x6b\x5f\xc1\xdf\x4f\x2c\xcf\xbc\x53\x5c\x05\xd4\xb8\x52\xb8\x4f\xb5\x61\xe7\xdb\xb7\x5c\xb9\xe2\xb2\x6b\x4f\x2e\xba\x6a\x63\x1e\x94\xce\xff\x89\x8b\x69\x68\x29\x78\xc3\xc1\x99\xa5\xcf\x6c\xe5\xe3\xc2\x5f\x58\xe1\xee\x4e\xf9\x32\xa7\x9e\xaa\xdb\xbb\xf9\xe0\xa9\x43\x4f\x1c\xda\xdb\xb2\xf6\xda\x57\xce\xd2\xf8\x9d\x4e\xb4\xe0\x46\x69\xfc\x82\x95\xc7\x1c\x8f\x95\xcd\x6e\x12\x9d\xa4\x12\x84\xd7\x82\xc8\x16\x11\x34\x4b\x48\x01\x99\x60\x37\x8f\x8d\x2e\xec\x4e\x62\x63\x08\x46\x8e\x6f\xa9\xee\xac\x44\x71\x0f\x6f\x06\xe4\xaa\x2b\x11\xdc\x05\x0e\x12\xb2\xe5\x45\x0a\x0b\x62\xa5\xf3\xa3\x55\x62\x41\x44\x6d\xd4\xaa\xd6\x68\x68\x6e\xfb\x27\x97\xfc\xf1\xeb\x51\xa2\xfc\x70\xed\xe8\x41\x71\xf3\xd0\x15\xcd\xf0\x71\xb8\x79\x8c\xcb\x66\xb6\xe6\x1b\xc8\x3e\xde\x78\x5f\x8d\xdf\x67\xd4\xe7\xfa\x0b\x8b\x6b\xf2\xac\xf5\x3a\x76\x16\xe7\xd4\xf4\xfe\x07\x8c\x3b\x2d\xc0\x4f\x2e\x2b\x3d\x3c\x6a\x28\x8d\x68\x24\x0e\x52\xcc\x02\x32\x3f\x4c\xa2\x19\xa8\x03\x21\xe4\x1d\x5a\xcd\x01\x2b\x2b\x88\x10\x02\x03\xb0\x85\x60\xa1\x08\x56\x83\xcc\x86\xf3\x80\x73\xd8\xc9\x3b\x17\xa2\x62\x94\x45\xe1\xe4\x2c\x04\xce\xce\xc8\x33\x48\xbb\xc3\x2e\x57\x0f\xd1\x27\x88\x14\xe1\xa7\x95\x03\x02\xd8\xe3\xf5\x10\x8f\xc1\xfd\xe9\x45\x8b\xd2\xad\xb0\xaf\x76\x1c\x2f\x5d\xcb\xf1\x34\xc5\x69\xb7\xc3\x4f\xc6\xe5\x1a\xf4\xe1\x58\x41\x2e\x85\x7f\xc5\xcc\xf5\xd1\x1a\xb3\x95\xe3\x2c\x85\x26\x2d\x1d\xfa\x83\x63\x61\xa3\x1b\xee\xe2\x38\x0a\x38\x69\x6d\x49\x6b\x4e\x8e\x9f\xd5\x96\xfb\x92\x41\x35\xb0\x78\x07\x75\x5d\x21\xa5\xd6\x5a\xd9\x8d\xd2\x6f\x29\x15\x45\x69\xe9\x17\x5b\xc7\xa6\x5a\x5b\x53\x63\x33\xbe\xb0\xcf\xee\x80\x87\x74\x1c\xa6\x54\xfa\xbd\xd2\xad\x52\xa2\xb7\xd8\xc9\x3a\x73\xf5\xb5\x79\x26\xbc\x00\x7a\x6e\xff\x20\xc7\x6f\xd1\x03\xa6\x74\xd6\x1c\x03\x86\x12\xb8\xc8\x1b\xcc\xfc\x93\xd1\x51\xa0\xff\xe9\x86\xbe\xaa\x44\x9b\x7b\x62\x9e\x5d\xe7\xb6\x18\xd5\xb0\x58\xba\xaf\x52\xc5\x60\x46\x5b\xa4\xb9\x17\xbe\x04\x1a\x63\xb5\x8a\x70\x9f\x51\xe8\x13\x35\xa2\xf3\x11\x46\x5a\xe4\x43\x95\xa8\x11\xad\x40\x3b\xe5\x1e\x8e\x62\xa2\x59\x1b\x20\xb0\x0c\xab\x4b\x90\x39\x81\xa0\xc8\xad\xc9\x23\x80\x11\x7d\x04\x58\x79\x8a\xf3\x25\xa9\x7a\x88\x86\x28\x31\xe2\xa2\x0a\xff\x8d\x18\x07\xfc\x70\x0f\x50\x2d\x2b\x3a\xe2\xd1\xd6\x35\x99\x67\xc1\xc2\xbf\xcd\x5b\xa4\xf7\x13\x1a\xb3\xf4\x9d\xcd\xa2\xc7\xa5\x6a\x33\x34\xf1\x56\xaa\xa6\xff\x79\xe9\x5b\xde\x6a\xe5\x41\xf7\x02\xdc\x00\x86\xfc\xba\x92\x88\x50\xed\x34\x02\x00\xef\xac\x12\x4a\x8a\x92\x05\x26\xfc\x28\x18\xf2\x93\xa7\xe3\x73\x87\xe2\x1f\xca\xa6\xaf\x3a\x33\x1e\xb0\x0b\xd4\x3f\x9d\xdf\x25\xed\xd8\x08\x2f\x65\x74\xf2\xd5\x93\x33\x0d\x7e\x13\xfe\x8e\xb7\x3e\x27\x5d\xfc\x9e\x95\xc7\xff\xe0\xad\xd2\x72\xad\x7f\xf5\x92\xad\x25\x65\x5b\x57\xb5\xe6\xe5\xa9\x0a\x5a\x17\xed\xae\x29\xdf\xb6\x72\x81\xd3\xf9\xff\x18\xaf\xec\x7f\x32\x69\xe6\x5b\x34\x15\x2d\x42\x6b\xd1\x2e\x84\x98\x68\x08\x08\xa9\x3e\x11\x67\x14\x43\x94\x28\x44\x13\x49\x2a\x4b\xd8\x4d\xd4\xd2\x71\xd6\xba\x9d\x23\x64\x79\xf2\x94\xd0\x71\x1a\xa9\x96\x04\x8b\x57\x88\x2a\x4b\x3b\xd1\x78\xd8\x61\xb7\x72\xac\xdd\x2b\x5f\x24\x6e\xcc\xc6\x18\x39\x25\x22\x09\x46\x21\x1b\x65\x36\x62\x0e\xaf\x72\xfa\x31\xa8\xd4\x6a\x83\xdf\xd1\x9e\xe3\xd5\xb3\x1a\x46\x05\x81\x00\xa8\x18\x0d\xab\xf7\xe6\xb4\x3b\xfc\x06\xb5\x5a\x05\xd8\xef\x9c\xef\xb6\xe6\x7a\x53\xd5\x33\xea\x0b\x0a\x59\xaa\x52\x10\x2a\xab\xf2\xea\x37\x53\x54\xca\x9b\x6b\x75\xcf\x3f\xe6\x14\x2c\x81\x80\x45\x88\x5a\x1a\x1b\x6d\x8f\xc4\xcd\x16\x4b\x77\xb7\x1c\x3a\x72\xe4\xb8\x1c\x58\xb8\x64\xc9\x42\x39\xb8\x76\xf3\xe6\xb5\x37\x6a\xdb\xb7\xa9\xe9\xb2\x3c\x15\xaf\xd5\x32\x36\x4b\x01\x9d\x96\xd2\x74\x81\xc5\xc6\x68\xb5\xbc\x2a\xaf\x8c\x56\x6f\x6b\xd7\xda\xeb\x74\x2a\xb3\xa9\x7c\x6e\x62\x9c\x8e\x5b\xfd\xae\xf4\xed\xbb\xab\xb7\x8b\xad\x7e\x00\xb3\x4a\x57\x47\xdd\x29\xc4\x2c\x81\x58\x54\xb4\x44\x05\x4b\xe3\xeb\x8d\x96\x5f\x5a\x2c\x51\xcb\x46\xa8\xdd\x28\x47\x1c\x91\x5a\x8e\xbc\x20\x47\xb4\xfe\x19\xd0\x9f\x5b\xe5\xa8\xb5\xd2\x17\xd2\xcb\xd2\x17\x84\x27\xdd\x4a\x78\x9a\xd3\xc3\x63\xdd\x42\xa2\x6d\x94\x40\xf5\x68\x12\xd1\xd3\x5a\x8c\x56\xa2\xf5\x68\x2b\xda\x89\x2e\x47\xd7\xa0\xeb\xd1\x31\x62\x67\x4f\x76\x54\xfc\x59\x17\x67\xdd\xd1\xf1\xff\x65\xba\x51\x3b\x9a\xff\x55\xf8\x5f\xb9\xff\xd5\xf9\x80\x15\xe6\xe2\xdb\x88\xa3\xfc\xe3\xdb\x46\xc6\x65\x6e\x3b\x3b\xc5\x8f\x6e\xc2\xb2\x8c\xbb\x89\x23\x75\x9f\x23\xc4\x28\x4e\xe6\x8c\xd0\x39\x53\x66\x43\xd0\xd1\x7e\xfa\x0e\x58\x71\xa4\xf6\xb3\xe3\xce\x08\x0c\xf0\x3d\xca\xd9\xf2\x3f\x1c\x38\x3b\xd0\xaf\x38\xd4\x19\xa1\x73\x25\x54\xfe\xb3\xdc\x65\xec\x00\x8b\x86\x19\xe1\x9b\xd0\x1c\xb4\x0a\x5d\x88\xf6\x21\x64\xcf\x96\x5a\x7c\x48\x29\x13\x38\x18\xb2\xa0\x52\x7a\x4b\xca\x36\x6c\x2c\x15\x27\xb2\x6a\xf2\xab\x47\xac\x7d\xc8\x7a\x23\x99\xef\x0d\x95\x7d\x40\x89\x53\x40\x1d\xca\x72\xa4\xdb\x1e\x50\x74\xe7\xe4\x01\xaa\xa2\xbf\x66\x67\xec\x43\xd8\xcd\x6c\x84\x32\xef\xff\x9c\x7c\xcf\x06\xb4\x70\x10\xc1\x7d\x24\x80\xbf\x74\x44\xfd\xbe\xc2\x02\xc1\xf0\xd1\x31\x79\x26\xde\x75\xc4\x11\xf1\x7b\x83\xa2\x5f\xd1\x4c\x10\xa2\xc2\x90\x76\x43\x86\xa4\x87\x89\x42\x54\xd8\xdd\xb6\x68\x8f\x10\x15\x4e\x82\xff\x24\x5c\x45\xc6\x73\x16\x0f\x37\xfe\x16\x9b\xca\x68\x8a\xda\x1e\x86\x80\xda\x96\xab\xd5\x95\x1a\x17\xbd\x62\xe7\x8c\xc6\xa8\xed\x2f\x3f\x25\x8b\x0e\x37\x29\x4b\x0f\x65\x83\x68\x21\xa0\xcb\x95\x00\xaa\x59\xd6\x52\x5e\xe4\x13\x92\x0d\x45\xc7\x3e\x12\xa2\xc2\x91\xae\xea\x25\x73\x2b\xc4\x50\x74\x49\x42\x51\x51\x91\xf3\x94\x15\x86\xf8\x23\x39\x85\xa0\x3d\xda\x76\xef\x6e\x93\xdd\x83\x27\x4f\x5e\x23\x0f\xed\xec\x96\x07\xb7\x18\xa3\x36\x9b\xca\x78\xe5\xa5\x64\xa8\xf7\xf5\xcd\xc6\xa8\xcd\xce\x19\xb3\x38\x5c\x6a\x10\xa9\x32\x59\x9c\xc5\x4a\xf4\x73\x32\x9e\xcf\x5a\xbe\x93\xd1\x6e\x3c\x11\x0f\x44\xcb\x89\x75\x4d\x56\x5c\x51\xee\x7d\x78\x62\xfa\xcd\x85\x15\x48\xac\x5c\xa2\x61\x82\xcc\x87\x12\x10\xc4\x80\x22\xf5\x27\xc4\xeb\xc1\x12\x37\x27\xe2\x2e\x90\x4f\x8d\x67\x35\xf1\x58\x4e\x91\x5a\x0c\x10\x62\x3e\x8a\x55\xd0\xec\x42\x3c\x11\x4f\x0c\xfd\x56\xc4\xaf\x8c\x11\x93\x04\x66\x90\xf0\x0e\x1f\x88\x64\xa3\x6b\xb0\xdd\xc1\xc8\x8d\x32\xad\xaa\xc9\x35\x25\x03\xb1\x46\xbf\xc6\x5b\x11\x48\x9a\x72\xf1\xa6\x21\x5f\x4d\xf6\x88\x34\xcf\xd4\xe4\x4b\x4e\x8e\x54\x50\x7a\x6a\xd1\xd1\xa0\x29\xcf\x6f\xb6\xd9\xcc\xfe\x3c\x53\xf0\xe8\x22\xd6\x98\x2f\x7d\xf0\x37\xde\x10\x34\xf5\x68\x79\xfb\x6b\x87\x4c\x87\x2f\x28\x9c\x11\xe6\x0a\x27\x96\x5f\x78\x20\x58\x4f\x33\x15\xc1\x39\x8d\xa1\xd8\xa6\x95\x7e\x27\x75\x62\x38\x85\xd3\x57\x56\x90\xab\xa4\xa1\x55\xfe\xc4\xc8\x54\xe6\xff\xe6\x56\xc0\xe7\x83\x4f\xbe\x17\x4e\xe1\x98\x57\x6c\x8c\x55\x79\x54\x85\xa2\x37\xb6\x2b\xeb\x62\x12\x0b\x66\x9f\xd3\x54\x68\x82\xe5\xb3\xfd\x8d\x26\xb5\xda\xd4\xe8\x9f\xbd\x1c\xe3\xbc\x6d\x9c\x0f\x52\x8e\x4a\xfd\x56\xd0\xde\x0c\xa6\xe5\xb9\x5c\x72\xba\xb3\x66\xc2\x1c\x13\x53\x11\x0c\xd6\xd3\x9a\x32\x4d\xd8\xdc\xb8\x43\xea\x95\x53\x48\xdf\xdd\x2c\xfd\x6d\xb9\xdd\x57\xa8\xa4\x80\x0a\xff\x70\x0a\xff\x7f\x71\xed\x33\x6c\x8e\x2d\x68\x3c\x9a\x8e\x16\x21\x04\x0a\x3a\x4a\x70\x0f\xe3\xa4\xc2\x76\x45\x9b\x82\x84\xc8\x9b\xc8\xc3\xd0\x7b\xca\x12\xf8\xbf\xf2\x9e\x52\xb1\x68\x08\xc0\x31\x6c\x77\xe7\xb0\x5b\x0d\x94\x20\xd6\x43\x3c\x4c\xbb\xe5\x17\x44\x7a\xef\xa4\x10\x15\xf6\x3c\xb2\xa7\x53\x7e\x85\xe4\x0a\x4f\xa4\x4d\xfc\x62\xd0\xeb\x8f\x38\x8e\x74\xc9\x75\xf8\xd8\x47\x06\xa1\xa0\xd0\xe7\x8f\x3a\x5a\x6f\xce\x3c\xfb\x71\xe6\x49\x9d\x57\x77\x97\x4e\xc7\xa6\xee\xd2\xe9\xbe\x74\x4e\x6a\xb8\xa4\xf5\x77\x7a\x2f\xee\xcd\x56\xf7\x83\xd9\xea\x0f\x9f\xb4\xde\xfc\xc6\x16\x39\xa0\xbc\x27\x89\x25\xd1\x90\x58\x31\x77\x49\x75\x17\x59\xd6\x3c\x56\xd4\x90\x14\x7c\x45\xe5\x2d\xcb\x6a\xb6\xbc\x71\x73\x66\x9f\x7c\x59\xdd\x5d\x3a\xaf\x8e\x65\xef\xd2\x79\xf5\x5f\xe6\x4e\xba\x71\x55\xeb\xef\x74\x23\xd7\xf0\xad\xa8\x85\xa8\x2e\x59\x39\x1e\x14\x9e\xf1\xec\x1e\x4f\x24\x6c\x87\xec\x50\x40\x94\x87\xf2\xf2\x90\x00\x13\xdb\x7d\x05\x85\xee\xf3\xc6\xa2\x72\x51\x90\x37\x2a\x4b\x7a\x92\x24\x5c\xe2\x59\xc0\x78\xe4\x6c\x76\x34\x6a\xa9\x5e\x5b\xa4\xc1\x8c\xd6\xaa\x1d\x13\x9d\x38\x3e\xdf\x91\x6f\x82\xcf\xa7\xeb\x6d\xfa\xd6\xcb\x31\x55\xf9\x6d\x4e\x69\xfb\xe1\xa9\x3f\xb9\x2e\x17\x68\x3b\xdf\x58\x56\x6c\x2b\x70\xd9\xb9\x9c\x09\x85\xbe\xea\xdc\x95\xf3\x67\x1d\x5c\x60\x63\x2d\x0c\xa5\x3d\x7f\x6d\xc5\x0c\xa0\x18\xf5\x23\x67\x18\xe7\x65\xf2\xc6\x85\x5f\x08\x6b\x29\xc0\xcb\x52\x2d\xf7\x0a\xbc\x47\xaa\xe6\x2f\x64\x54\xd3\xb0\xfd\xe3\xb1\x5f\xb2\xa6\x6b\x9f\x58\x7c\xf0\x56\x16\x7b\x67\x47\x97\x96\xe7\x94\xbb\x73\x0d\x40\x71\xf6\x82\xf1\xb3\xbc\x2d\x6b\xba\x0e\x36\xdb\x17\xd8\x75\x6c\xad\x19\xd4\xd8\x70\xa6\x99\x1e\xc2\x28\x30\x88\x98\x77\x99\x41\x94\x8b\x56\x20\x44\xf8\xea\xbc\x1c\x8b\x6d\x56\x17\x8e\x84\xed\x49\x9c\x90\x1b\x01\xb0\xb2\x3e\x51\x39\x42\x4a\x91\xf2\x79\x87\x65\xd2\xad\x72\x05\x92\x8b\x86\x4a\xc4\xa2\x42\xb1\x02\xe9\x22\x2a\x9a\x11\xb7\xc9\x8a\x39\x85\x1a\xc8\x05\xf8\x0b\x5a\x5f\xe0\x10\xc5\x55\x6b\x4c\xfe\x09\xe5\x74\xbe\xce\xaa\xc1\xc6\x94\xd1\x82\xbf\x35\xa8\x58\x7b\x73\xaa\xf0\xce\x47\x0c\xac\xa6\x40\xe5\x68\xdf\xfd\x60\xc7\xe5\xc7\xc4\xf9\x71\xe1\x76\xf0\x84\x42\x6e\x8f\xbb\xac\x39\x56\x62\x67\x38\x8d\x46\x03\x9f\x9c\x9a\x70\xe1\x93\xeb\xa2\x71\x38\xbf\x89\xa1\x56\x1c\x9f\x67\x2f\xb4\x6c\xa7\x7f\x97\x53\x50\x68\x70\x8c\x91\xfe\x79\x65\xe9\xec\xe9\xe5\x00\x8c\x4e\x33\x0d\x62\xd3\x5a\x33\x77\x72\x7a\xa0\x8c\xea\x36\x95\xc5\xbf\xb7\xb0\xf5\xc4\x0d\xed\x77\x5e\x11\x4b\xaf\x1a\x97\x0f\x0e\x31\x3c\x59\xf0\x04\xeb\xdb\xce\xef\x28\x56\x63\x0a\xbe\xfb\x78\xcd\xc7\xcf\xee\xb7\xa8\xa5\x1b\x96\x4a\xb7\xf9\xa9\xea\xa4\x9e\x7b\x1a\x51\x08\x06\x11\xbb\x93\xe9\x47\x75\x68\x16\xba\x1c\x21\x08\x17\xca\x53\x1a\x32\x0b\xe6\xf4\x90\xad\x48\x01\x0f\xd1\x54\x8d\x94\x81\xd2\xb6\x01\x13\x20\x9e\x48\xd8\xc1\x38\xc2\x8a\x81\x9c\x3c\x41\xe2\x1c\xe5\x98\x1a\x02\xb2\x17\x82\x5c\x15\xed\x60\xb1\x1b\x80\x35\x40\xbc\x1c\x04\xd2\x4e\x73\x94\xb2\xa5\xa8\x06\xc5\xb5\x64\xc3\x16\x87\x8b\x24\x8a\x27\xc2\x76\xaa\xde\x9d\xf7\x41\x5d\xe5\xc1\xa0\x76\x32\x5b\xee\xce\xfc\x5d\xea\x51\x8b\xd5\x71\x01\x68\x29\x55\x54\x8d\x71\xad\x08\x8f\x65\xfe\x59\x14\x66\xd9\xea\x80\x06\x3e\x92\x7e\x22\x54\xb0\x6c\xdc\xc7\xf2\xd0\xfb\x0e\xd0\xe0\x30\x58\x1f\xf3\xf1\xb9\x79\xb6\xc7\xde\x65\xfc\x5f\x03\x05\x39\x5a\x77\xe1\xd4\xbc\xab\x31\x0b\x6e\x33\x75\x87\x81\x36\x54\xe8\x12\x5d\xb8\xe8\x60\x2c\xf5\x81\xb7\x38\x12\xf8\x4b\x2e\xef\xf5\x4c\xcb\x01\x8d\x74\xca\x66\x0b\xf8\x1a\xad\x7f\xbf\xc2\x60\xf3\x06\xa6\x9b\x9e\x59\xa1\x72\xe5\x80\x0e\x57\x15\x89\x55\xd4\x62\xf3\xa1\x60\xf5\xcf\x42\xb5\xd2\x32\x77\x09\x5d\xe5\xae\x0a\x06\xe2\x8c\xbb\xb6\x48\x8c\x42\x8a\x49\x15\xf9\xca\x6a\xdb\x35\xf5\x01\x7f\x19\xee\x08\x40\x48\x7f\x91\x63\xa6\x47\x78\xe9\xa2\x00\x16\x80\x05\x06\x0a\xa7\xe7\x3a\xb4\xf9\xd7\x01\x83\xcb\xd6\xc0\x9d\xd2\xf7\x53\xa6\xfe\xb1\x26\x3f\x9e\x2c\xff\x59\x5d\xf1\x21\x47\x00\xaa\x3c\x33\x1d\x76\xa3\x5b\xea\x81\xe7\x7d\xcd\x16\x73\x8e\x57\x5a\x04\x33\x7d\xd3\x4d\x16\xa7\x20\x2d\xf9\xb5\x81\xb1\x1a\xfb\x8a\x6a\xa1\x5a\x69\x03\x5d\x1c\x62\x96\xa2\x59\xa8\x0d\xad\x45\xdd\x08\x05\x14\xf1\x82\x58\x34\xc9\x26\xe2\x01\x21\x16\x55\x6c\x4d\xe2\x11\x37\x92\xc7\xf6\x8a\x89\x36\x99\xbe\x63\x42\xf9\xef\x04\x25\x28\x02\xcb\xd9\x91\xcd\xea\xf3\x0a\xe5\x40\x11\xc1\x02\x8b\x35\xe0\xf0\x5b\x70\x80\xd0\x34\x20\xb9\xc6\xdb\xb3\x2d\xa9\xe0\xf3\x06\x44\x07\xcc\xc0\xf4\xbc\x3b\xaa\x6d\x34\xad\xe1\x78\xd6\x8c\x1f\x01\xdd\x3a\xd3\x66\x9d\x59\xb3\x63\xd1\x72\xd0\xc0\xef\xae\xb3\x5a\x5b\x07\xaf\x5f\x67\xda\xac\xb5\x68\x76\xa4\xa4\xf1\xdc\x98\x22\xea\x87\xaf\xd5\xfa\x9a\x6a\x4a\xaa\x12\x4b\x72\x60\x87\x96\xbf\x92\xee\xea\x2b\xf5\x62\x37\xf7\x73\x2a\x5a\x09\xa6\x13\xbf\x90\xbe\x1c\x37\xb9\x5d\x5a\x97\x6f\x9d\xb7\x3d\x3f\x98\xff\xe0\xc5\x56\x98\xa5\xe6\x7e\x81\xab\x7f\xbe\xc8\x25\xaa\xad\x46\xab\xce\xae\x72\x50\xfd\x1b\x9f\xd3\x5b\x34\x29\xe3\x67\x16\xe9\xab\x2f\x0a\x9b\x0a\xaf\xfe\x30\xf5\x9c\xde\xaa\x4e\x19\x3f\xdb\x4a\x45\xb9\x1c\x07\x23\xc5\xa5\xc9\x14\x87\x29\x8e\x9a\x92\x1f\x2c\xc9\x8c\xa3\x35\xa5\xec\x6f\xe0\x68\x2c\x46\x95\xea\xa4\x47\x35\xe7\xb5\xae\x07\x33\xd8\xba\x53\x77\x2f\xea\x7a\x12\xd7\x04\xf3\xb7\xcf\xb3\xe6\xe7\x5b\x2f\x7e\xd0\x44\x73\x43\x38\xb2\xeb\x69\x89\x59\x85\x0a\x51\x39\xd1\xcb\x95\x5b\x53\x05\x5e\x4a\x1a\x01\x07\xcb\x65\xe1\xb8\x6e\x79\xe6\x14\x4f\xd8\x45\x2b\x36\x80\x57\x4c\xd2\xb1\xa8\x68\x17\x6d\x82\xe8\x02\x8b\x57\x94\x87\x06\x3c\x70\x4a\xf3\x2b\x37\xa4\x8a\xb0\x12\xed\xbc\xee\xd0\xe7\x5f\x1c\xbc\xee\x8a\x6f\xaf\xeb\x98\xe7\xe6\x1a\xa6\xdd\xf9\xc9\x47\x30\xab\xcf\xdd\x50\x5d\xf4\xf2\xb1\x63\x7c\x81\x67\xf6\xce\xc9\x65\x06\x2a\x91\x98\x72\x69\xcb\xda\xcc\xec\x69\xef\x4e\xb6\xe0\xe2\x5f\xad\xf6\x79\x9d\xa1\xf5\x35\xed\x79\x53\x73\xdc\x1b\xe0\xfe\xb7\x8e\xfd\xe4\x27\xc7\xde\xba\xee\x9f\x07\x0b\x93\xa9\xfc\xef\xef\xfa\xd9\x57\x5f\xfd\x6c\xc1\x34\xbd\x7f\x69\x63\xaf\x74\x72\x39\x30\xee\xfd\x77\xfd\xfe\x81\xd6\x09\xde\x9e\xdb\xf0\x9b\x1f\xd7\x0c\x4a\x8f\x36\x6e\xdb\x19\xb0\xb4\x5f\x9b\x1b\xaf\x09\xcc\x71\x96\xba\x8c\x73\xc7\xac\x3a\xb4\xb6\x6e\xda\xea\x21\x7e\x2c\xd2\x77\x38\x51\x11\x0a\xa1\xf1\x68\x0e\x61\xf0\x20\xf0\x31\x36\x4b\x17\xe0\x88\x27\x14\x95\x64\x77\x9c\x22\x82\x57\x9c\xbd\x06\xe2\x26\xb9\xb7\x10\xed\x4c\x94\x20\x0e\x88\xc8\xa1\xfc\xc4\xd9\xa1\xd8\xa8\xce\x82\x76\xe6\x17\x95\xda\x6f\xfa\xe2\xe6\x5b\x36\xc5\xca\x68\x47\xed\xd8\x9b\x7e\xf7\x3b\x88\xfe\xee\x41\xac\x29\x0c\xcf\xaf\xb6\xd9\x34\x7f\x14\xe8\xe6\x31\x8b\xe0\x92\x48\xd1\xec\x09\xcd\x39\x53\x2f\x2d\xa0\xf7\x8f\x8f\x8e\x89\x4c\xb7\x99\x60\xca\xc8\xce\x01\xfe\x36\x7d\x42\xae\x3a\x9c\xda\x72\xfc\xf8\x96\x4d\x77\x5b\x4a\x4a\x6d\xef\x48\x2f\xbd\xfe\x06\x64\x72\xca\xeb\xb7\x5d\xbb\x69\x89\x9d\xda\x0b\xc6\xcd\x6b\x9b\x1f\x16\x6f\x29\x3a\x6f\xf2\x3c\x87\x65\xc2\xd8\x60\xc0\xb4\x7c\x6c\x74\xab\x10\x9d\x1a\x2b\xfe\xe6\xac\x3e\x61\xe8\xf9\x67\x10\xdc\x5c\x74\xe8\x1d\xc2\xca\x08\xdd\xe7\x15\xe3\xd9\x6e\x91\x63\x15\xc0\x80\xf2\xf3\x13\x03\x41\x96\xc4\xc9\xbd\x07\x91\x0a\x8e\x84\x09\xb6\x8a\x74\x9d\x67\x6e\xf7\x0e\xda\xc7\x9d\x57\xc0\x89\xe5\x62\xc0\xaa\x0b\x6a\x69\x15\x63\xf2\x5f\x36\xf7\xf9\x26\x13\x43\x6b\x74\x41\x8d\xcd\x27\x96\x8b\x5c\xea\x32\xfb\x95\x58\x65\x30\xea\x22\xbc\x2f\x55\x3a\xa9\xa8\x64\x72\x49\xca\xc7\x47\xf4\x46\x5e\x85\xaf\x04\x18\xbd\x1a\xb6\xc7\xce\x18\x5a\x52\x16\xd6\x60\xd7\x15\xd8\x2d\xb9\x46\xbc\xd8\x32\xc3\x37\x7d\xfe\x1d\xbe\x19\x96\xc5\xd8\x90\x63\xb5\x15\xe8\xec\x06\xd6\x72\x55\x01\x63\x0f\xd9\x99\x62\x8b\xda\xe5\x73\xb9\x7c\x2e\x95\x35\xc8\xd8\xa1\x7f\xf4\x3a\x18\x20\xc3\x60\x9a\xdd\xc0\xa4\x49\x29\xc4\x15\x1d\x30\x05\xc8\x44\x74\x07\x09\x01\x97\x23\x2b\x0f\x86\x15\x5c\x53\xd6\x9e\x49\x29\x26\xa5\xd8\x94\xaa\x1e\x8f\x45\x43\x58\x21\x9a\x88\x84\xb3\xe2\xe5\x54\xf3\x65\x6f\x54\xe7\xa9\x79\xde\xdc\x60\x2e\x88\xd7\x37\xd6\xeb\x02\xbb\x67\xe4\x47\xf3\xff\xc8\xa9\xac\x0e\xeb\x1c\x7b\x20\xd7\x9d\x8c\x27\x17\xc6\xa3\x0b\xea\xe2\xc9\x42\x67\x20\x67\xb6\x29\xd7\xaa\xe2\xfe\x98\x1f\xcd\x9f\x7e\xa9\x5f\x57\xdf\x54\x1f\x2d\x30\x34\x58\xcd\xbc\x3a\x2f\xf5\x36\x93\x86\xbd\x17\x8e\xb9\xa0\xfc\x00\x97\xe7\xcf\x77\x97\x5a\xc4\x7c\x43\xfe\xac\x2b\x3c\x3a\x2d\x5b\x30\xd1\xa3\xad\x0a\xe8\x19\xc6\x57\x14\xcc\xcb\x0b\x16\xf9\x18\xc6\x10\x18\xa3\xf5\x4c\x2c\x60\xb5\x3a\xf7\x55\x33\xf3\x0d\xf9\xa2\xb5\xa4\x30\x2f\xe0\xe4\xae\xae\xd8\x3e\xe6\xca\xed\xa3\xea\xc0\xe2\xff\xd3\x3a\x30\x9a\xc1\x80\x41\x4a\x3d\x08\x89\x01\xab\x36\xa8\x23\xf5\xe0\xd2\x79\xcf\x4d\x33\xb3\x1a\x46\x5b\xa4\xb1\xfa\xc4\x10\xa9\x07\x57\x61\x15\x6f\xd4\x47\xf4\xbe\xb1\x4a\x3d\x18\xeb\xd3\x47\xf5\x06\x83\x0a\xae\x02\x74\xc6\xcb\xb0\xc7\xce\xf0\x2d\x63\x79\xed\x70\x25\xa8\x8f\x4e\xf7\x4f\x9f\x7f\x87\x30\x4d\x68\xc2\xc6\x5c\xa5\x12\x68\x79\xb9\x12\x94\xcb\x95\x40\xa3\x54\x02\xb5\xa5\x84\xb2\x53\xda\x51\xef\x02\x28\x98\x44\x16\x91\x56\x8f\x67\x94\xe1\x0f\xc7\x72\x7e\x86\xe5\x92\x50\x0f\x49\x2a\x11\x67\xc8\xfc\x89\x62\x45\x62\x01\xcc\x86\x70\x39\x44\x63\xd1\x48\x38\x61\x46\x91\xb0\x8b\x71\x24\x92\x74\x22\x49\xa9\xd1\x84\xee\x86\x98\xdd\x4e\x69\x22\x0e\xc3\xc4\xb1\xcd\xaa\xf2\x4e\xe9\x1e\xe9\xc3\x45\x7f\x28\x9f\x6e\x34\x4c\x7a\x64\xf6\xa5\x4d\x8f\x81\x03\xd4\x5a\x96\x7d\xd6\xe0\x4e\x7f\x7c\x50\x42\x57\xcc\xba\xac\xb9\x58\x07\xec\x55\x5f\xf6\xc2\xda\x17\x19\x4b\x75\x6c\x62\x55\x94\x3f\x0f\x0b\x91\x49\x4b\xa2\x0d\x3b\xb6\x36\xb0\x28\xb4\x68\xe2\x94\xe2\x72\xd6\xfc\x55\xa8\xa0\x5e\x28\x65\x0b\x5f\xe0\xef\x8d\x5d\x6c\x74\x71\x5c\x5e\xa3\x3b\xa0\x2f\x14\x28\xd6\xae\x95\xee\x2c\xe0\x72\x16\x60\xc8\x0f\x79\x4d\x00\xc0\x26\x60\x1d\xd4\x82\xda\xe0\x2d\x9b\x12\x3a\x41\x4f\xeb\xb8\xf0\xc0\xd8\x59\x5b\xa7\x7a\x46\xf0\x60\x4d\x44\x2d\xa8\x1d\x2d\x27\xd8\x36\x2b\x27\x3a\xd8\x91\x1f\xaf\x98\xe0\x84\x91\x9f\x58\x34\xe1\x10\xe3\x23\x3f\x91\xb0\x83\x4b\xd8\xcf\xf8\x44\xb1\xdf\x47\x26\x1f\x72\x75\xf0\x9b\x2d\x04\x97\x6d\x52\xe0\xd9\xe4\x8b\x29\x66\xfe\xda\x67\x11\xdf\x3c\x51\x5a\x7f\x74\x65\xdd\x8c\x19\xbc\xd0\x24\xf0\xd3\xa7\x36\xac\x3c\x5a\x53\xf9\xe0\x9b\xa2\xa5\xef\x2b\x86\xf9\xfa\x23\x39\x41\xa8\xee\xd6\x95\xe3\xa6\x4c\xd3\xfb\x45\x41\x49\x71\x6b\x5d\xe8\xc4\x1b\x01\x5b\xdf\x57\x8c\xeb\xa8\xf4\x9f\xb7\x6e\x7d\xfb\xe8\xa2\x45\x47\xdf\xde\x7a\x2b\xe8\x8f\x4e\xc9\xac\xcf\xac\xc7\xd7\xe2\x5f\x67\x6a\x33\xb5\xcc\xaf\x33\x44\xbf\x00\xa7\xcb\x0a\xf9\xe9\x53\xc6\xaf\xbc\xb5\xae\xfc\xc1\xb7\x02\xf6\x4f\xbf\x61\xd9\xaf\x3f\xb6\x04\xdf\x7a\xb0\x64\xec\xad\x9d\x13\x26\xcf\xe0\x8b\xbd\xbe\x62\x7e\xc6\x94\x71\x9d\xc7\xe4\x14\xa2\xa5\xef\xaf\x2c\xfb\xd5\x47\x96\xe0\x9b\x0f\x96\xd7\x1d\xeb\x4c\xce\x98\xce\x17\x86\x7a\xc0\x70\xb4\xed\xe8\xbb\xdb\xb6\xbe\x7b\xb4\xed\x28\x18\xb0\x2b\x83\xa5\x4b\x60\x27\x96\x60\xe7\x8f\xbf\x85\x5b\xa8\x04\xdc\x2c\xad\x18\x78\x91\x6a\x1d\x48\x4b\x29\xe8\xa5\xd2\xd0\x3b\x8c\xb3\x24\xb6\x44\x45\x28\x8e\x10\x78\xb8\x2c\x1e\xc6\x61\x8f\x0c\x91\x29\x07\x22\xc0\xb3\x5c\x2c\x4e\x16\x22\x21\x62\x01\x93\x27\x9e\xf0\x98\xa2\x82\x98\x70\x01\xcc\xc6\xff\xe1\xcc\xac\x5c\x77\xf4\x82\x36\x47\x63\xd9\xbe\xe7\x9f\xa7\x3e\xfc\xa7\xe4\x72\xf8\x12\xb1\xa6\xd9\x6b\x92\xc7\xab\xad\x56\xe9\x93\x4f\x1f\xa7\xe6\x0d\x7c\x16\x50\xe1\x9f\x2e\x6b\xce\x5d\x71\x11\x23\x4c\xbe\x75\xdd\x40\x66\xf1\x61\x0b\x33\xf9\x85\x7d\x14\xb5\xef\x85\x77\x4f\x7d\x5b\x37\x77\x7d\xd3\xcc\x4a\x0f\xfe\x95\xf3\x96\x68\x2c\x1e\xc5\xef\x67\x1e\x86\x6f\xfb\xef\x4e\x98\x69\x7e\xee\xbe\x82\x71\xde\xff\x40\x43\x5c\xef\x59\x2c\x9f\x15\x79\x50\x19\xaa\x46\xad\x68\x1d\xda\x86\x0e\xa0\x3f\x9d\xb6\x36\xa0\x62\x51\x21\xcb\x3e\x18\x8e\x27\xce\x1d\x38\xd3\x0f\x6c\x96\x26\x3b\xc1\xda\xac\x66\xc7\x30\xb3\xdc\x10\xd5\xa8\x59\x94\x27\x64\xac\x3c\x09\x4b\x28\x8c\x6a\x89\xb8\xc2\x4f\x47\xce\xce\x82\xf8\x86\x8e\x90\x16\x99\x4b\x02\x63\xc5\x1c\x4b\x1b\x86\x54\xaf\x88\x1d\xbb\x48\x66\x24\xa4\xc5\x4a\x08\x22\x69\x7d\x49\x4b\x46\x91\x4e\x5c\x9e\xd1\x61\x65\xb4\x4e\x26\x75\x72\xc3\x4e\x28\x29\x39\xbb\x12\x41\xcd\xf1\x56\x79\xbd\x55\xbb\x8a\x6a\x83\x45\x05\xae\xa2\x7b\x83\xb5\x45\x45\xae\x82\xa2\xfb\x8b\x6a\x8b\x8a\x6a\x87\x1c\xd0\xcd\x91\xde\x7e\xe0\xc2\x37\x0e\xcc\xb2\x75\xee\xda\xe6\xaa\xab\x72\xb9\x13\x55\x2e\xf7\x3a\xb7\xab\x2a\xbf\x52\xdf\xbd\xeb\xea\xc9\x26\xd7\xe2\xf8\xc7\xae\xd9\x0f\x1e\x5c\xbf\x4c\x2f\x4d\x4c\x2d\x4d\xd5\x2f\xaf\xc7\x5b\x1a\xaf\x5f\x3a\xed\x40\xa2\xa2\xf5\xbc\xd8\x02\xbf\x29\x12\xa3\x1b\xe7\x82\x63\x5c\xed\x18\xe9\xeb\x56\xba\xa6\x24\x7b\x81\x84\xdb\x55\x55\x5e\xb5\x70\xcd\xf9\x6d\xf1\xe8\x86\x09\x6e\x71\x41\x63\x6f\x45\x8e\xb9\x6c\xec\x9a\x86\x1a\xbb\xc5\x81\xad\x94\xc6\x99\x63\x9c\xff\xe3\x15\xbe\xbc\x9a\xf9\xb3\xab\x19\x9d\xde\x02\x26\xc1\x78\x34\x98\xeb\x2b\x4b\x2c\xa4\xbf\x18\x53\x5e\x3e\xa6\xfc\xd4\x9c\x8d\xae\x92\x12\xd7\x46\x57\x69\xa9\xeb\xbf\xf5\xe1\x97\x7a\x9e\x5f\x79\x4f\xdf\xb6\x96\x79\x0f\xbc\x75\x9b\xf4\xfa\x8a\xea\x30\xf9\x2b\xcc\x6d\x07\xcb\x7f\x34\xb2\x96\xff\x9c\x77\xfe\xce\x43\x47\xde\x9f\x58\x81\x1f\x0c\xcf\x98\x11\x8e\xcc\x98\x21\xf5\x75\xfc\x74\xcd\xc4\x9a\x63\x6b\x3b\xbb\x2c\x6c\x55\xd4\x69\x1d\xff\xab\x8d\xeb\xa5\xbf\x34\xa4\x8e\x3a\x61\x63\x49\x4a\x39\x7f\x5c\xc5\xf8\x66\xb0\x14\x76\x70\xa1\xde\x8d\x55\x9d\xd5\x57\xde\x72\xf1\x9c\x68\x41\x2e\x65\x65\x0d\x21\xc1\xba\x7e\x0f\x9d\xaa\x66\x38\xc6\x64\xb0\x00\x9b\xa3\x63\x2d\x57\x7d\xe3\xaa\x6c\x1e\x39\x87\xcf\x45\x01\x82\x12\x88\x8a\x1e\x5b\x64\x18\x40\xeb\xc8\x8e\xc0\x22\xe1\x78\x20\x12\xf3\xc5\x7c\x36\x9f\x2d\x62\x8b\x9c\xb1\xe7\x76\x98\x95\x8e\xbc\xa3\xbb\xa8\x79\xd9\xbe\x7d\xcb\xda\x6a\x3b\xd7\x1c\xee\xe9\xeb\xeb\xb9\xe3\xb7\xb0\x60\xed\xda\x75\xeb\xd6\xad\x03\xf3\xa8\x21\x04\xde\xea\x29\xdc\xd3\xb4\xe0\x9a\xe7\xae\xa9\x59\xb1\xfc\x23\xe9\xd9\x8f\x7e\xbf\x75\x1d\x49\x78\xfe\xe8\xd1\x81\xdc\x37\x04\xb2\xed\xa5\x48\x54\xea\xe4\xda\xea\xf7\x79\x39\x93\xcf\x14\xca\x92\x04\x5a\x59\x82\x7e\x26\x0b\x6f\x0a\x8b\x25\x8b\x2a\xef\xbf\x7d\x8a\xf4\xc9\xdc\xdb\x4f\xf6\xd4\x37\xa5\x1f\x4a\x37\xd5\x3f\x75\xe3\xb2\x65\xfc\xaf\xa2\xd3\x5a\xb4\x57\x59\x9d\x02\x8d\x06\x1e\xad\xe0\xa3\x35\x15\xd2\xfd\x4c\x4b\x6e\xf7\xf8\xd6\x74\xba\x75\x7c\x77\xee\xf8\x52\x03\x2e\x32\x63\x41\x50\xc6\xa7\x33\x89\x4e\x07\x83\xaa\xd1\x3c\xb4\x08\x1d\x42\xc8\x1c\x8e\x0b\x5e\x96\x09\x31\xa2\x22\x12\x57\x0f\x21\xcc\xfa\xbc\x06\xf0\x99\xc2\x71\x17\xe5\x20\x9b\xdf\xf6\x78\xc2\x9e\x48\x82\x48\xba\x62\xc1\x11\x31\xf9\x44\xa1\x04\xbc\x06\x60\xe5\xa1\x4c\x3d\xc4\x5d\xc0\xb9\x14\xf5\x32\x9a\x5c\x4f\xe9\xac\x95\x85\x13\x1e\x44\x1e\x42\x20\xc2\x70\xe7\x9d\x64\x6b\x20\xec\x88\xd7\x40\xd8\xc5\x3a\x3c\x61\xfb\x0d\xcd\x6e\x77\xb3\x9b\x55\x6b\xaa\x9d\x61\x5f\xc8\x7e\xd1\xec\xfe\xe6\x6a\x18\x73\xc2\x3e\x26\xd0\xa4\x5d\xd4\x70\xeb\xcd\x8c\x5b\x97\xc7\xdb\x54\x50\xb4\xa9\x7b\x7a\x79\xf5\x7a\xd3\xd4\x98\xd5\x8d\x35\x9e\x92\xf1\x85\xdc\x9e\x8e\xb6\xa3\x0d\x2b\xef\x5c\x50\xfd\x5a\x7e\x5e\xc9\x65\xa5\xcf\xe4\x56\x07\x34\xc6\x66\x6b\xc1\x6a\x6d\x14\x10\xb9\x2c\xa8\x04\xa7\x34\x3d\x6f\xdd\x44\xcf\xe2\x44\xf1\x45\x0d\xb5\x7b\x2e\x5c\x5f\x21\x7d\x24\xdd\x44\x80\x59\x77\xf0\x0d\x05\x35\xc5\xb5\x29\xff\x96\x65\xb3\x66\x2d\xbb\xd3\x97\xaa\x8c\xfb\x22\x79\x09\x1e\x96\x39\x05\x48\xa7\x52\x29\x56\x3f\xd5\x9b\x2a\x8e\x3a\xf6\xb5\xd3\x1d\x13\x1e\x1c\x7f\x52\xab\x05\xdc\x70\x6b\xa6\x0f\xe0\xff\xa3\xee\x3d\xc0\xe3\x2a\xae\xc5\xf1\x39\x33\xb7\x6c\xef\x45\x75\xd5\x77\x2d\x59\x5a\x49\x5b\x25\x63\xf5\x62\x70\x95\x2b\xc6\x60\xcb\xab\xdd\xbb\xd2\x5a\xab\xdd\xf5\x16\xcb\x72\x28\x02\xc7\x98\x12\x4c\x27\x74\x4c\xa8\x0e\xe1\xe5\x11\x08\x84\x6e\x48\x02\x84\x84\xc4\xa1\x3f\x48\x78\x40\x48\xf2\xd2\xc0\x09\x24\x2f\x80\x75\xf9\x7f\x73\xef\x95\x2c\x17\x92\xbc\xf7\xfb\x7e\xdf\xf7\xff\x19\x34\x73\x66\xee\x3d\x73\x66\xce\x39\x7b\x66\xee\xbd\x67\xe6\x10\x4e\xab\x12\x7f\x91\x6e\xb6\xb5\xb5\x73\x3e\x4b\xd8\xa9\x69\xe8\x5e\x55\x84\xd1\x43\xcb\xfb\x3e\xae\x5a\x57\xe5\xc7\xbe\xb7\x9c\xc4\x5f\x61\xdd\x58\x54\x7b\xa9\xb1\x77\x69\x77\x77\x37\x46\x33\xd3\x25\xee\x9e\xb5\x9a\x96\x3e\x5d\xb0\x9d\xa9\xd6\x7a\xfa\x9b\xa1\xc4\x5d\x82\xf7\x97\xb8\x0d\xfd\x65\x01\x67\x99\xb6\xad\x4d\x67\xae\x2d\x09\x56\xf4\x98\xdc\xc7\xf8\x5c\xd4\x49\xab\x88\xa3\x0b\xa0\x70\x27\x17\xee\x24\x3e\x17\x76\xba\x38\xa7\x03\x6a\x65\xef\x04\xe0\x39\xde\x40\xaa\xbd\x58\xf2\xcc\x90\x9d\x18\x58\x17\xe3\xeb\x24\x3c\xda\xd2\xfb\x59\x77\xef\x16\xad\xaa\xd3\x3e\x38\xb8\xeb\xae\x14\x3b\xdc\x32\xb4\x68\xc8\x77\x16\x97\xba\x6b\xd7\xe0\xa0\xbd\x53\xa5\x9d\xf9\x09\xf0\x6b\xb4\x44\xe5\x56\x95\x68\x7f\x9b\x61\xb7\xb4\x0e\x2d\x1a\x6a\xdd\xc2\x3e\x76\x8b\xb6\x44\xe5\x56\x11\xed\x1a\xe0\x35\x43\xbe\x95\x2b\x96\xae\x58\xdd\xb2\x86\x64\x8f\x78\xa5\x90\x2c\x2f\x1b\xd5\x7c\xd8\xbc\x28\xb8\x79\x6a\x88\x39\xb5\xaa\xae\xae\x7a\x90\x1d\x9a\xda\x1c\x5c\x64\x0e\xf3\xea\x99\x7b\x9f\xee\x50\x15\x6b\x03\x5a\xa2\x3a\xb0\x9a\xd0\xab\x55\xa7\x92\x0b\xf3\x2a\xa2\x0d\x68\x8b\x55\x1d\x4f\xab\x16\x57\x37\x39\x1c\xcd\x95\x5d\xc7\xfa\x3d\xb6\xa2\x21\xfa\x04\x0e\xca\x19\x30\x06\xb2\x10\xd3\x21\x49\x27\x59\x28\x11\x01\x5d\xe4\x14\xec\xeb\xc4\xe1\xda\x70\xc8\x61\x35\xbb\x3d\xee\x3a\x2f\xbd\x4b\xfa\xd4\xce\x73\xfc\x89\x11\x08\xc2\x21\x14\xee\xa4\x48\x94\x63\xd8\xe9\x60\x9f\xf5\xa8\x88\x66\xe1\x3d\xe7\x32\x9e\x86\x55\x4b\xeb\x00\xea\x96\xae\x6c\x74\xb3\x3b\xef\xf1\x68\x89\xaa\x4e\x55\xaa\xdd\xf2\x2a\xbb\xa2\x71\xa0\x08\xa0\x68\xa0\x71\x05\x0b\x38\xac\x2d\x79\x6e\xd3\xc0\x99\xe2\xeb\x64\xa8\x61\x90\x56\x0f\x36\x0c\x91\x37\x7e\xb4\x28\x68\xe0\xad\x7a\x56\x8e\x36\x40\x19\x5c\xff\x15\x78\x8e\xab\xf5\xae\x58\x46\xdb\x5c\xb6\xc2\x5b\xbb\xf0\xfd\xf7\x37\xd6\xe3\xb4\x5f\x5b\xac\xaa\x3e\x3f\x42\x2a\x2b\x7d\x4e\xa7\xaf\xaa\x82\xd9\x7c\xbe\x4b\xe2\x0d\xa3\x3e\xed\x0e\xa6\xb3\xa2\xba\xba\xa2\x93\x79\xae\x51\x45\x66\xdc\x64\xff\xda\xb6\xa5\xbf\xc1\xbd\xae\x9a\x1a\x57\x2f\xbe\xfb\xb6\x56\x9f\x8e\x3f\xb2\x55\x6f\xb5\x92\xfb\x8f\x48\xbb\x69\xc9\xfe\x36\x77\x16\x22\xac\xab\xa6\xb5\xa8\xa8\xb5\xc6\x55\xfb\xad\x87\xd7\x50\x75\x41\x5a\x64\xff\x02\xb1\x7f\x98\xb7\xbf\xa3\x04\xb9\x50\x35\x72\x23\x2f\xf2\xa1\x1d\x08\xd5\x39\x9b\x01\xea\x3c\x2c\x38\x89\x07\xea\x08\x0b\xce\x66\xb0\x39\x38\x23\x38\x1d\xc0\x92\x3a\x08\xf3\x4e\xa9\x3a\xec\xe1\x25\x3f\x8c\xb0\x11\x7b\x78\x9b\x11\xb8\x66\x70\x4a\x3b\x15\xdc\x41\x8f\x9b\xb8\xbb\xc0\xed\x99\x4d\xc3\x75\x3e\x27\xeb\xb0\x5b\xa5\x8d\xde\x76\x67\x38\x54\x01\xe1\x40\x17\x48\x47\x6d\xd0\x07\x59\x23\x70\xb0\xf4\xc5\xea\x37\xc1\x02\x16\xad\xf8\xaa\xf8\xe1\xaf\x5a\xfe\x0a\x8b\xa1\xc3\x20\xee\x87\xcb\x86\xf1\x28\xc6\xcc\xca\xf5\xfc\x4c\x17\xa0\x7e\xf1\x77\x4c\xdc\xf8\x1b\x3c\xf3\x1e\x14\xac\xe2\x19\xe4\x46\xdb\xfb\xf8\x0a\x0e\xf3\x80\x5d\x0f\xda\xac\x4b\x54\xcc\xef\x79\x7e\x84\x67\xc4\xb7\x19\xac\xfa\x80\x09\x63\xbe\x63\x0b\x9c\x8a\x55\x5b\xf6\xe0\xad\x58\x0d\x0f\xb0\x04\x3a\x38\x1b\xb7\xe3\x5c\x96\x9d\x62\xb9\x75\x84\xfd\x29\xc7\xfe\x95\xc1\x46\x1b\xf3\x34\x07\xaf\xff\xf1\x35\xd1\xff\xd6\x5f\xdf\x80\x0b\x5f\x83\x25\x3f\x99\x79\xff\x75\xe8\x7f\x41\xbc\x63\xe8\xa3\x55\x60\x54\x93\xc0\x20\x87\x6f\x7d\x01\x7e\x7e\xff\xe7\x0f\xfe\xfe\xce\xc3\x78\xfb\xb3\xf0\xe8\x1d\x47\x1e\xff\xdd\xbe\xc4\x30\xc3\x4e\x9e\xf5\xce\xf4\x07\x55\xad\x05\x96\x3c\xce\xb2\x6b\x6f\x67\xc9\xef\x31\x86\xbf\x30\x60\xe6\x99\xba\x0d\x1c\x0c\xf3\x6c\x53\x4c\x05\x2f\x6b\xc8\x5e\xb8\x81\x61\xc5\x56\x9e\x74\xac\xc7\xdc\x57\x96\x32\x4c\x5b\x8a\x23\xe7\x12\xb2\x97\xe1\xb2\x7b\x09\x8b\x6f\x60\xe7\xaf\xe1\xca\x91\x07\xad\x97\xde\x9a\x92\x1a\x03\x43\x1f\xfc\xaa\xe5\xb7\xa1\x55\xbe\x10\x39\xba\x58\xb1\x2b\x47\x24\x1c\x1b\x73\xeb\xe8\xe1\x09\xc7\x40\xcc\x03\xda\x8a\x96\x21\x3f\x17\x76\xf9\x9b\xbd\xcd\x7e\x57\x98\xf3\x0f\xb5\x54\x68\xd7\x75\xe0\xee\x8e\x75\xf7\xdf\xf0\xfa\x0d\x37\xbc\x7e\x03\x3e\xdb\x62\xd8\xba\xa5\xf7\xf3\x6e\x29\x62\xc6\xc1\xde\x2d\x72\x5c\xb0\xb9\x14\x1a\xda\x63\xc2\x92\x26\xa6\xca\x54\xa4\xd1\x14\x99\xaa\x98\xa6\x25\x42\xac\xfd\xb4\x48\x04\xdf\x94\xbc\xfe\xfa\xe4\xf8\xf5\xd7\x8b\xab\x0e\x1a\x2c\xef\x52\x74\x56\x0a\xbb\xf1\xae\xe4\xe9\x3d\xad\xa4\xca\xf7\x04\x69\x8c\x6a\xb4\x10\x9d\x81\x12\xd2\xfe\x39\xc5\x0b\x84\xf8\x5c\xcc\xec\x70\x02\x9d\xe4\x14\x70\xb1\xbe\x4e\xe6\x24\x63\x99\x3b\x1c\xe2\x84\x91\xdb\x4f\x88\xd1\xc6\xc8\x43\x6b\xf1\x9e\xd6\x5c\x69\xe2\x57\xf5\xce\x1c\xec\x5d\xa5\x2e\x6b\x5a\x1d\x64\x79\x9f\xbd\xa9\xbc\xde\x5d\x5f\xde\x64\xf7\xe1\x07\xad\xfa\xad\x52\x00\x65\x25\x3d\x86\x0b\x7a\xeb\x17\xc8\xaa\xff\x5c\x8a\x2a\xc2\x1c\xd4\x5b\xc9\xd9\xe3\xd7\x5f\x3f\x9e\xbc\xfe\x7a\xf1\x7b\xd5\x1d\xa7\x9d\xb1\xbc\xbe\x6f\x74\xb4\xaf\xe5\xcc\x6d\x2b\x02\x4c\x85\xd6\xa9\x56\xab\xd5\x4e\x6d\x05\x30\x7a\xeb\xb4\x14\x99\x59\x4e\xe7\x73\x85\x36\xc6\x4a\x47\xfb\x7c\x46\x1b\x55\xe2\xe4\xa8\xe4\x35\x49\x15\x6a\x45\x3d\x68\x35\x2a\x20\x84\x02\x5e\x3c\xa7\x01\x58\x1a\x11\x9e\x0d\x96\xad\x84\x4b\x99\x3d\x8f\xdb\xfc\x4f\xca\xf2\xf4\x10\x94\x0f\x0d\x90\xb6\xba\xcd\x42\xf3\xde\x1c\x21\x4b\xfd\x50\x3b\xd7\x52\xda\xd8\xd0\xd0\xd0\x58\xda\xc2\xb5\x0f\xd5\x5b\x96\x86\x30\x0a\xad\xdd\xf3\xc4\x9e\x3d\x4f\x30\xd5\xf3\x5d\xe9\xed\xc6\x99\x17\x8c\x76\xbb\x11\xb7\x19\xed\xc7\xb8\xd8\xa3\x2d\xbd\xe2\xfe\xf9\x07\x70\x88\x52\x68\x16\xee\x60\xef\x16\x58\x3f\x3d\x1e\x6d\x67\xca\x8c\x36\xb5\xda\x66\x2c\x63\xda\xa3\xe3\xd3\xeb\x71\x17\x6d\x7c\x8f\xf8\x9b\xb9\x03\x28\xc0\xd2\x46\x5b\xa6\x09\x68\x8f\xd6\xae\xa4\x32\x99\xaf\x93\xb2\x7c\xb6\xc8\xb1\x01\x4f\xe4\xdf\x1e\xe9\x49\x82\x2a\x49\xa0\x13\xfb\xa5\xa9\x2e\xec\x73\x01\x9e\xfd\x9e\x7c\xdc\x79\x1c\xc1\x7f\x52\xb6\x1e\xa3\x5b\x27\x39\x62\xe1\x24\x71\x6d\x18\xb4\x34\x24\xa2\xd0\xd2\x13\x19\x7b\xe9\xff\x80\xa5\xd3\x56\xfd\xa7\xdd\x72\xac\xef\xf9\xe7\x33\xc0\x56\x69\x66\xf9\xb4\x7b\x8e\xbd\xaf\x4d\xaf\x3f\x81\xc3\xf0\xb8\xc4\xde\x99\xad\x73\x8c\xfc\x70\x8e\xbb\x7f\x9d\xab\x3b\xe2\x63\x24\x85\xa4\x5a\x3e\x9f\xc5\x56\xe6\xa5\xa3\xbf\x84\x2d\xe8\xb8\xd8\x3e\x4e\xb4\x00\xa1\x3a\xe9\x10\xd2\x6a\x39\x48\xae\xb4\x46\x96\x0f\x95\x44\xa6\xd9\x93\x19\x67\x5d\x1c\x3f\x76\xec\x9e\xec\x7b\xf4\xa7\x8f\xf6\x4d\xee\x76\x6c\x83\xa5\x70\x2e\x2c\xbd\x58\xf1\x36\xc6\xef\xed\xfb\x48\x7c\xe8\x91\x87\x8f\x71\x18\xfc\xe1\x4d\x2f\x99\x96\xae\x5d\xbb\xd4\xf4\xd2\x4d\xd7\x7d\xfb\xdb\xf8\x3b\x72\x34\xf0\xf7\x20\x24\x5e\x23\x7e\xf7\xcf\xc7\x39\x16\x1e\xed\x97\x09\xd5\xa2\x46\x69\xaf\x86\xc3\x62\xb7\x1d\x75\xb3\x84\x50\x30\xa0\x1c\x1e\x68\xb7\x39\x2d\x7e\x47\x65\xd8\xe7\x56\x3a\x8b\x5f\x94\x5b\xba\xec\xb0\xf8\x90\x78\x95\xf8\xd0\x47\xfb\xf6\x1d\x66\x26\xae\x3d\xea\xd6\x78\x6d\xef\xe1\xdd\x90\xdc\x7d\xf8\x80\xd2\x61\x0e\xed\x3b\x2c\x3e\xf4\xf0\x77\xc5\x87\x0e\x5f\xbe\xef\xcf\xb0\x4c\x42\xff\x7c\xc9\x4b\x9f\xdd\x2c\xfb\x5a\x8a\x1f\xdc\xfc\xd9\x4b\xb0\x64\x7a\xfa\x76\xa5\xd7\xc7\xc6\x63\xa9\x90\x77\xdb\xc0\x31\x26\x2f\x3c\xeb\xc0\x60\xb7\x21\xa9\x57\x21\x93\xd5\x47\x3b\xed\xe1\x2a\x3d\x9c\xf4\x15\x91\x79\xa0\x79\xfd\xe6\xde\xc6\x17\x2e\x3b\xf2\xcd\xcb\x5e\x68\xec\xdd\xbc\xbe\x79\xd5\xea\x4b\x9e\x3c\xf4\xe4\x25\xab\xc5\xdb\x14\x5f\xec\x85\x1b\xcf\xb9\xe5\xea\x2b\xc5\x0b\xae\xbc\xfa\x96\x73\x36\xe2\xc3\x86\x96\x91\x3d\xaf\xec\xbe\xf1\xed\xb7\x6f\xdc\xfd\xca\x9e\x91\x16\xc3\x39\x57\x8f\x3d\x79\xc9\xea\xd5\x97\x3c\x39\x76\x35\xb6\x2a\x83\xf9\xec\xbd\xcb\xe3\x1f\x81\x8d\x3f\xef\x3c\x5e\xfc\xe3\x47\xf1\xcb\xe7\xce\x9b\x66\xe5\xf3\x16\x8a\x51\x0d\xea\x38\xe6\xd7\xe4\xf0\x1d\xf3\x53\x32\x57\x9d\x34\xb0\xd3\x5c\x34\xcd\x63\x7e\x0a\xab\xdb\x86\xde\x1c\x6a\x5b\x5d\x7f\xd1\xde\xa7\xf6\xee\x7d\x0a\x6e\x3f\x82\xac\x7a\x22\xaf\x92\x8e\x48\xba\x46\xd5\xfc\x20\xd5\xef\xde\x2d\xb0\x61\x7a\xc3\x86\xe9\x64\xac\x7d\xd9\xb2\xf6\x18\x3c\x2a\xa9\xf2\xe7\xfb\xd9\xad\x9f\xed\xd7\x5b\xad\xec\x4b\x9f\x75\xcf\x9a\x55\xc5\x22\x20\xa4\x9a\xb3\x05\x56\x54\x8a\x16\xa2\x53\xd0\x32\x74\x26\x12\xa8\x3d\x95\xbe\x43\x72\xd5\x1e\xf9\x73\x35\xed\xee\x97\x99\xd3\xe3\xcb\x75\x73\xf6\x52\x1e\xd1\x09\xe6\x75\x2e\x6a\x7c\xd5\xf1\xdf\x6e\xa7\x8d\xd5\xfd\xcd\xdd\xdf\xeb\x6e\xee\xaf\x36\x76\x35\xc2\x37\x1b\xbb\xa6\x25\x57\x18\x26\x63\x31\xcc\xc8\x81\x2e\x0f\x1a\x2c\xe2\xf4\xec\xe6\x48\x90\x0e\x5d\x51\xb6\x48\xc9\x5b\xa6\xe6\xee\xfa\x74\x9a\x47\x16\xc3\xa7\xdd\x06\x0b\x7f\xec\x0f\xbf\x3f\xb4\xf9\x74\x5f\x77\xb7\xef\xf4\xcd\xa1\xf0\x8a\x15\x70\x87\xe4\x6b\x23\xbe\x7b\xd4\x76\xce\x9d\xe7\x32\x2f\x99\x57\x09\x29\x89\x7f\xf3\x7f\xea\xff\x88\x8f\x73\x2a\xab\x28\x02\xfe\x32\x9b\x5a\x77\x5c\x99\x3d\xce\x03\xf6\x44\x1b\x7b\x72\x45\xa2\x7c\xec\x6a\x14\x37\x34\x76\xcd\xe3\xe6\xff\x9e\x8f\xd3\x9f\x22\xab\x9e\x3b\x78\xbc\xf9\xec\x0f\xaf\x58\x11\x9e\xe3\x24\xbc\x2e\x71\x71\xe6\xe8\xc1\x48\x7f\x39\x09\x13\x8f\xd6\x1d\xf9\x0e\xb3\xf5\x73\xaa\x96\xc7\x9a\x4c\x2c\x9d\x51\xf6\x3e\x87\x50\x89\x14\x9d\xd1\x84\x6b\xaa\xb1\xd9\x64\xf1\xfb\xc2\x5e\x46\x72\x72\x96\xde\x4c\x81\xdf\x61\x20\x35\xf4\x59\x86\x93\x4f\xb3\x0d\x58\x42\xb5\xf2\x96\x48\xcc\x4b\x1e\x36\xcc\x6f\x5f\x7e\xef\x9d\x43\x87\xde\x59\xda\xee\xa8\x0e\x05\x4f\xab\xf7\x56\xb5\x26\xee\xfb\xea\x3d\x7d\x7d\x70\x61\x81\x68\x16\x9e\x76\xd9\x59\x4b\x26\xcf\xea\xad\x8a\x24\xaf\x13\x7f\xf5\xcb\xbd\x7b\xdf\x81\xf2\x6b\xa7\xfe\xf0\xfc\x0d\x1b\x6e\xbf\xa4\x79\xf3\xa2\x8e\x5e\xfc\x27\xe8\x84\x76\xf1\x39\xf1\xfb\xe2\x0f\xc4\x1f\x99\x17\x2e\x1e\x5c\x58\x6e\x8a\x9c\x99\x14\xae\x15\xf7\x94\x0e\xa5\xce\xec\x71\x2f\x5d\x13\x2e\xcd\xff\x08\xea\x0f\x7c\x13\x16\xbe\x98\x3f\xf5\x6b\x4f\x7e\x7a\xf1\x53\xe2\x0f\xc7\x07\x4f\x5b\x36\x6b\x0f\x04\x35\x62\x6f\x42\x95\xc8\x8b\x6e\x40\x4f\x4b\x7b\x3c\x25\xb7\x29\x6c\x36\x59\xa5\xd7\x10\xca\x4b\x7a\x93\xe4\xf3\x5f\x37\xb7\xf3\x55\x92\x9f\xed\xa8\x9b\xc4\xec\xa9\x7a\x76\x9b\x7c\xfa\x5e\x30\x10\x9a\xef\x10\x61\x97\x3e\xfe\xcb\xde\x93\x76\x9b\xe4\xf4\xa3\xf8\x4c\x48\xaf\xd8\xfc\x3e\xa7\x8b\x71\xda\x5c\xac\xe4\x59\xe2\x96\xca\xc0\x9a\x8e\xfa\x0f\x84\x43\x66\x29\xbe\x90\x97\x95\xbf\xa9\x39\x2c\x4e\x07\xfc\xb0\xd2\x0e\xba\xae\xe8\x7b\xaf\x79\x32\x6e\x6b\x65\xd7\x48\xeb\xe4\x57\x7c\x1b\x70\xb1\xc1\xa6\x66\xbb\x6a\xca\x3f\x7f\xbe\xc4\x5d\x53\xce\xb4\x97\xb8\xdf\xe8\x2b\x3e\xc3\x63\xd2\xf2\x26\xb7\xd7\x5d\x53\x6e\x26\xc6\x85\xce\x5e\xa2\xd1\x2f\x72\xb0\x0c\xa9\x74\x87\x82\xee\x86\x72\x9f\x09\xc0\xc2\x95\x4e\x5e\xdf\xba\x64\xb0\xb5\xb8\xbc\xd4\x5a\xef\x5b\x5c\xbf\xd8\x53\x66\x52\x71\x44\xa5\xd1\x99\x35\xce\xb2\x05\x9a\xd2\xde\x53\x3b\xf0\x2b\x97\x58\x17\xad\x5c\x57\x69\x72\x2d\x5a\xa5\x7e\xa4\x3e\xb0\x28\x81\x1d\x5a\xab\x56\x55\x69\x1d\x3c\x77\x64\xab\x0e\x0b\xf6\x2a\x62\x3c\x07\xca\xe0\x22\x58\x0f\x66\x7f\xa2\xd4\x5a\xda\x15\x5f\xf3\xfc\x67\xe2\x6f\x5f\x5e\xbf\x91\x94\x98\x8a\x1d\x67\x97\x7b\xdc\x25\xe5\x1e\x37\x3e\xed\xc2\xa8\x7b\xb5\x4d\xa3\xe3\xd4\x0d\xbe\xf5\xde\xe5\xa1\x06\x56\xd7\xac\x77\x94\x2c\x37\x2e\x32\x16\xdb\x8b\xdb\x81\x61\x70\x8b\xab\xae\xd3\xeb\xed\xac\x1b\xe9\x5c\x68\x63\x59\x4c\x4c\xda\x85\xcf\xec\x0a\x4f\x4d\x24\x27\x03\xc1\xfa\x16\x93\x5a\x67\x2b\xb7\xfa\xfd\x4b\xbb\x5b\xa0\xca\x5c\x65\x77\x68\xcb\x9c\xc5\xeb\x6c\x83\xcb\xf7\xef\x15\x3f\xfc\x75\xe5\xd0\xe6\x8e\x0a\x93\x71\xc9\x5a\xed\x6f\xa0\x69\xf7\xa1\xf1\xc9\x09\x62\xd7\x39\xcd\x36\xb5\xb5\xea\xc0\x6e\xf1\x83\x6f\x35\xcc\x7f\xdf\x50\x24\xcd\xfa\xd6\x90\x9b\x07\x03\x38\x2a\x00\x42\x4e\x07\x0f\xed\xc0\xfb\xba\xc0\xe9\x38\x61\x13\xf6\x5d\x57\xab\x3d\x95\x47\xf6\x97\xdb\x4d\x45\xbf\xc4\x60\xd7\xf2\x5a\x31\x62\x72\x3a\x92\xef\x76\xe3\xe4\x49\xf6\x23\xfc\x1a\x7f\xb7\xd1\xad\x13\x1f\xd4\x96\x15\xf3\x03\xd0\x67\x50\xb1\x1a\xf1\xe2\x0f\x1c\x63\x77\xd5\xe2\x9b\x4e\xb6\xa1\x80\x9b\x3b\xdb\x49\x2f\x7d\x49\xf6\x4b\x71\x50\x91\xe2\xfb\x17\x0a\x9b\xfd\x66\x17\x38\x03\x6e\x8f\xb2\x71\x50\x52\xb1\xca\x50\xd8\x26\x9d\x13\x1e\x96\x36\x42\xda\xcd\x0e\xab\xb2\xf3\x86\xfe\x61\x6a\x59\x06\x17\x4d\x2f\x1a\x9c\xee\x5f\x9c\xd9\x9f\x59\xdc\xff\x38\x68\x1e\x9f\x96\x9d\xfc\xa6\x25\x78\xfa\xa0\xf4\x6f\x28\x93\x19\x5a\x1c\xb3\x93\x4b\x8f\x14\xec\xb1\xc5\x2b\x2e\x6c\x22\x88\x56\xcd\xa0\xa6\x0b\x57\xec\x79\xfc\xf1\x3d\x8f\x8a\x9f\x02\xff\xe8\xc3\xbb\xf1\xf3\xb4\x34\xd3\xbe\x1b\x2e\x91\x37\xd7\x48\x1b\x6c\xfe\x7f\xd1\x77\x7c\xe9\xcc\xff\xb3\x7d\x87\x4b\xc5\xff\x2b\x7d\x0f\xfa\xed\xff\xd7\xfb\x7e\xe9\xa5\xff\x9b\x9e\xcf\xef\xbb\x5a\x9a\x97\xe5\xde\xcf\xf5\xdd\xe7\xf8\x5f\xf4\x3b\xb3\x3f\xf3\xaf\xf4\x7a\xd5\xf6\xed\xab\xfe\xc7\x3d\x36\xcd\xc5\x60\x72\x23\xaf\x74\x5a\xfd\x20\x5a\x89\x36\xa0\x2d\x28\x8e\x52\x68\x07\x3a\x17\x5d\x88\xf6\xa1\xeb\xd0\xad\xf2\x89\x17\x30\x7b\x56\xa0\x17\xc2\x72\x6c\xb9\x2a\xb3\x72\x90\x4a\xc8\xe1\x0c\x87\x7c\x4e\xac\x1c\x49\xcd\x28\xfb\x80\x42\xb3\xe5\xd9\x3c\x20\xd7\xd4\x1e\x5f\x7f\xfc\xfd\x5f\x82\x3f\x8b\xc7\x1d\x97\xb3\x37\x68\x34\x33\xfb\x34\x25\x9a\x35\x1a\x4d\xe3\xa9\xd6\xb6\xa5\xf1\x6d\xd7\x7d\x81\xe8\x42\x7a\xdb\x53\x4b\xb6\xfc\x74\x4d\xa3\xa6\x44\x53\x25\x3b\xea\x6e\x92\x32\xd9\x91\x77\xe6\x6e\xc5\x79\x57\xf6\x08\x46\xc7\x54\xce\xbf\x51\x7c\x6b\x7e\x41\xb9\x41\xde\x81\xbc\x69\x5e\xca\xf2\x9a\x12\xda\x0f\xcd\x1a\x4d\x89\xa6\xf1\xcc\xff\x8a\x2e\xb9\x6e\xdb\xe7\x88\x45\x74\x55\xbf\x66\xa9\xa7\xbc\xa7\x51\xa3\x11\xef\x91\xf0\x36\x9d\x90\x06\xa4\x26\xa6\xbf\xe4\xea\x5b\x27\xd4\xb8\x4f\xa8\x41\xe6\x79\x67\xf5\xd5\xa1\x26\x29\x62\xea\x00\x5a\x81\xce\x41\x7b\xd0\x65\xe8\x5a\x74\x0b\xba\x0b\xdd\x8f\xbe\x8b\x9e\x44\x3f\x94\x76\x3c\x1d\x0d\xb6\x2f\x6d\x54\x9f\x2b\xb9\x3b\x00\x1d\xe7\xed\xed\x56\x72\xc7\x71\x65\xf7\x49\x56\x97\xa7\x80\x12\x0f\xcf\x21\xbd\x56\x74\xf0\xc0\x35\x83\x7b\xbe\xda\xf8\x1c\xe8\x4b\xda\xf9\xb2\xf6\x8f\xaf\x9f\x2d\x73\xd3\xf2\xe1\x88\x5d\x3d\x33\xa8\xa7\xcb\xaa\xef\xd6\x5b\xa7\x71\xb7\xa5\xcc\x62\x29\x5b\x23\xa5\x5e\x29\xbd\x6a\x1e\x2c\xa7\xcc\x1a\x79\xb5\x6e\x31\x6c\xbd\x6e\x5b\x72\xb9\x77\xac\xde\xa1\xd5\x36\x68\xb5\xe2\x73\x52\xe6\xa8\x55\x97\xd5\xf9\x83\xcb\xd8\x77\x0d\x96\x23\xd3\x27\x60\xbf\xfc\x0f\x6b\x64\x6a\x70\xf0\xe0\x81\xc2\xb3\x94\xc2\x0e\x87\x23\x65\x76\x3a\xcd\x8f\x15\x0e\x1c\x84\x7f\xa3\xd7\x2c\xde\x79\xa9\xe5\x84\x9a\x99\xb9\xc7\x03\x3c\xbd\xed\xba\x95\x56\x43\xe5\xb1\x9d\xf3\xe6\x7d\x35\xcb\x82\x33\xd3\x16\x38\x78\x02\xee\x9a\x7f\x58\x23\xff\x2f\xad\x19\x81\x3e\xef\xb2\x22\xd2\xa3\x6e\x74\x2a\xda\x2e\xfb\x78\xf1\x5c\xa5\xbc\x94\xab\x04\x1b\xe2\x39\xe9\xac\x64\xfa\x9f\x25\x18\xc0\xb5\xbc\x81\x48\x2b\x36\xba\x86\x04\xa7\x83\xf3\x78\x01\x87\x43\x96\x50\x6d\x38\xc4\x38\x2c\x73\xdb\x2a\x6c\xf2\x59\x79\x1e\xb7\xb4\x61\xce\x2b\x3b\xe1\x4a\xfb\xc1\x78\x03\x48\xfe\xe0\x38\x1c\x72\x01\x79\xdf\x5c\x51\xe4\x10\x8f\x38\x8a\x2a\xcc\x70\x10\xbb\xc4\x4f\xde\x54\x19\x80\x27\x0c\x06\xd5\x6d\xcf\x3c\x2c\xbe\xf0\xdd\xb3\xdf\xbf\x7d\x18\xe0\x07\xb7\xf1\x98\x10\x50\x61\x30\xaa\xae\x79\x7f\x4a\xc5\xef\x78\x1a\xc8\xe5\x77\x42\xf3\xdb\xbb\x67\xde\xdf\xfd\xd8\xee\xdd\x8f\xc1\x1d\xe3\x9b\x55\x26\xcc\x39\x79\xcd\xa2\xde\xc2\x73\xdb\xf7\x1c\xd4\x6b\xfa\x7a\x34\x7c\x11\x8b\x4d\xaa\xe1\x71\x4c\xbe\xfa\xce\x05\x57\xfc\xfd\x4a\xd8\xb8\x21\xfd\xc6\xc8\xa6\x4d\x23\x6f\xa4\x4e\xbf\x17\xd0\x61\xf1\xec\x0d\x44\xa7\x6e\xb1\x54\x1a\xd5\x64\x35\xf8\xbe\xf7\x10\x34\xdd\xab\xe1\x93\xf7\xff\xf6\x9c\xef\x89\x3f\x5b\x45\xd4\xf6\x22\x75\xb3\x4e\xad\x63\x16\xfd\x27\xb4\xde\x73\x39\xb0\xcf\xec\x52\x6b\xb6\x1f\x12\xdf\xae\xa3\x34\x77\x7f\x81\x76\xbd\xb6\x84\x53\x69\x02\x0b\x34\x9a\xd0\x55\x6b\xd2\x8f\x45\x74\xc6\x1f\xec\x39\xeb\xde\xc5\x1a\x4d\x7d\x40\xad\xe2\x96\xbe\x75\xce\xee\xf7\x2f\xe6\xf8\x0b\xff\xac\x9c\x4d\x2e\xef\x2b\xb6\x22\x54\x27\x45\x73\x3f\x2e\xca\x32\x62\xd1\xe7\x88\x53\x3e\xf7\xc8\xcf\xcd\xd3\x04\xc1\xd6\xf9\xcf\x2b\x20\xb7\x03\xd3\xc8\x88\xd0\xf1\xcf\x6f\xfc\x31\xb8\xef\x4a\xaf\x33\x95\x17\x43\x64\xee\x7c\x07\x82\x74\xc8\x8d\x50\x3d\x98\xeb\xb1\xb9\xca\x2c\xbf\x97\x55\xa2\x70\x1d\xed\xce\x5c\x9f\x08\x9a\x41\x0c\xc2\x68\x06\x6d\xed\xdd\x42\xd0\x96\xde\x99\xfd\xb3\x2f\x02\xf0\x56\xf9\x90\x73\x8c\x08\xfa\x02\x6d\xe9\xc5\x88\xd6\x8b\x73\x01\xff\x61\xab\x4c\xfb\xe8\xd8\x6b\x90\x1f\xa1\xba\x70\x28\xd0\x0c\x52\xe2\xae\x36\x82\xc7\x2d\x7d\x8b\xac\x80\xb9\x28\x28\x4e\x87\xef\x78\xde\x30\x5f\xbf\x4a\xa3\xf9\xdd\xef\x34\x9a\xab\x34\x25\x34\x2f\xd1\x1c\x57\xc6\xb9\xf9\x43\x7f\xe3\xcb\x6e\x53\xca\x8c\x75\x3e\x4f\xc9\xbc\xfe\xc9\xef\x7d\xfe\xe5\x73\x71\x8f\xeb\xe5\xef\x28\x9d\x03\x07\x64\x3a\x07\x0e\xc8\x74\xe7\x95\x8f\xe8\x4f\x14\x31\x1c\x38\xf9\xbd\x73\x65\xf1\x25\x06\x6d\x3d\xf6\x99\x75\xd6\xc6\x4b\xba\xa4\x86\x2a\x38\x61\x59\xef\x05\xdf\x4c\x56\xfc\x29\xbb\xf5\x24\x6b\x78\x88\xe3\xc0\xcc\x4f\xe0\xd0\xc9\xd6\xeb\xbc\xd4\x36\x96\x7c\x3f\xac\xa8\x06\x79\x51\x1f\xfa\x01\x7a\x15\x21\x70\x1b\xc0\xe9\xe8\x04\x96\x93\xb7\xc6\xf9\x9c\x0e\x9b\x73\x8e\x45\x32\x63\x3c\xb3\xd7\x1c\xb6\x3a\xe9\x67\x2e\x45\xed\xe1\x0d\x60\x0d\x49\x9f\x00\xf9\x4e\xa8\x80\x90\xa7\x13\xa4\x38\x22\x21\xb7\xc7\x4d\xcd\x81\x0b\x9c\x5e\xf0\xb8\xc3\x6e\x4f\xb5\xe4\x5d\x45\x9f\x35\x39\x3e\x14\xe6\x5c\xe0\xa4\xd7\x8d\x40\x29\x3b\x39\x9e\xb3\x39\xc2\x9d\x10\xf6\x62\xbe\x93\xf1\x3b\x24\x3f\x19\x87\x7c\x9d\x75\x38\xdd\x1e\x03\xe3\x70\x3a\x42\x16\xc9\xc7\xd4\xe9\x08\x9f\x10\x7b\x84\xd5\x1a\x17\xe8\xb4\x86\x80\x49\xdc\xa4\x72\xf2\x2a\x15\xef\x54\xf1\xb7\xd6\xe8\x6a\xf4\x6e\x9d\x4e\xce\xa6\x68\x15\xaf\x72\x98\xe0\xd2\xea\xab\x43\x6e\x2f\xb3\x74\x45\xb7\x1b\x3b\x78\x2b\x67\x20\x2c\xe1\xbf\x4f\x9c\x95\xd5\xdc\x82\x8d\x03\xd6\x06\x9d\x0e\xd7\x72\x40\xc8\xc2\x36\x4e\xb3\x6d\xdd\xe2\x64\x99\x8b\xaf\xf5\x57\x34\x6d\x30\x94\x2d\x36\xe9\x7d\x1e\xab\x57\xaf\xd7\x6b\x9a\x5a\xf5\x18\xf3\x50\xe7\x2a\x76\xd4\x08\xd5\x55\x9b\x1e\x36\x81\xc6\x68\xb4\x2f\x6c\xa8\x3f\xd5\x8a\xd5\x95\x66\x67\x5b\x51\x85\x5d\x6f\x50\xf1\x0b\xb6\xb1\x50\xa6\xd7\x33\x2e\x47\x85\xd5\x88\xd5\x35\xd8\x51\xdc\x60\x35\xe8\xad\x4d\xcf\x3d\x52\xb1\x61\x47\x69\xf3\xf8\x58\x97\xe7\x6f\xfb\x0e\x8b\x0f\x8a\xd7\x88\x0f\x4a\x12\x5b\x01\x49\x58\x71\x98\xa9\x35\x9b\x17\x58\xcc\x6c\xed\xab\x2a\x95\xca\x41\x87\xe4\x58\x53\xa3\xd7\xbb\xf5\xd5\xfa\x1a\x9d\xce\xa3\xab\xd9\x41\xeb\x55\x2a\x93\x63\x53\xf7\x42\x77\xd9\x8a\x91\x0d\x36\x57\x2d\xb6\x73\x76\x8d\xdd\xe8\xb0\x15\x89\x16\x5b\xb9\xc1\xa6\x59\x12\x36\xe9\xb5\x00\x4d\x4d\xb6\x7a\x8d\xa6\x68\x8d\x6f\xdd\x1e\x0d\xef\x6f\xf5\xc7\x96\x86\x8c\x4c\x77\x5b\x32\x6b\xd7\x5a\x8b\x4a\x00\x7c\x65\x76\xa3\xa3\x9c\x21\x65\xc3\x97\x06\x0d\x0e\xd3\x44\xb3\xb7\xfa\x91\x25\x26\xad\xce\x52\xbc\xc8\x61\xb6\x76\xb8\x30\xa7\x06\xd6\xc8\xf2\xc0\xd7\xd7\x05\xe3\x2d\xa3\xf9\xf2\x06\x8e\xe3\x7d\xf5\x5d\xa7\xf4\xf5\xba\x42\x25\x45\xae\x90\xbb\xb1\x52\x5b\xfc\x1d\x50\x6f\x0d\x9c\xd7\xb6\x79\xfd\x5a\x82\x61\xea\xa4\x7b\xd0\x61\xee\x3d\xec\x12\x84\xc0\xec\x90\xf6\x97\x77\x81\x9f\x58\x6b\x24\x8f\x44\xe5\x25\x54\x27\xd3\x05\x7e\x0e\xf3\x5e\xf0\xd4\x54\xb1\x41\x2a\x77\xab\xc5\xe3\x85\x66\x08\xb2\x55\xbe\x30\x55\x0c\x7a\x7f\x4d\x55\x35\x87\xb9\xd1\x07\xea\xea\xfa\x9b\xcc\x55\xa3\x06\x7e\xb4\xdc\xb8\x38\x74\xba\xf8\xdf\xa7\x6f\x02\xa1\xa6\xb5\xa3\xd9\xd7\x60\xd9\x7c\x06\xe7\x67\xaf\xfa\x43\x53\xe3\xcc\xd7\xc4\x8b\xce\xeb\x6b\x05\x15\xd1\xe2\xe6\xfe\xf3\x60\x27\x7e\xea\xd2\x3f\x70\x26\x86\xdd\x5c\x59\xb1\x61\x70\xe6\x17\x65\x46\xf6\xb4\x99\xed\xc0\x12\x82\x9b\x4e\xdd\x27\x3e\x25\x3e\x73\x5e\xbf\x0f\x54\x33\xaf\xae\x5c\xc6\x68\x8b\x3d\x9d\x0d\x6f\xd6\x89\x6b\x3a\x58\x0e\x74\xf1\x62\x7d\x4b\x18\xef\x86\xab\x3e\xee\xf0\xea\x8b\xe2\xba\xd2\xfe\x99\xcd\x67\x9d\x3d\x55\x30\x2b\xdf\x43\x24\x1f\x17\x33\x6a\x44\x2d\xa8\x13\xad\x55\xde\xdc\xd9\x6d\x0e\x03\x53\x63\xf6\xb9\x48\x19\xb0\xb4\x80\x25\x87\xeb\xc5\x84\x2e\xb1\xa5\x4a\xbf\xb9\x06\xfc\xe6\x1a\xde\xed\xa9\x31\xfb\xcd\x56\xbf\x95\x0d\x78\xbc\x6c\x75\x4d\xf5\x42\x30\xfb\xfc\x8e\x90\xc7\xcd\x06\xe5\xfd\x1c\xc1\x1a\xb3\x3f\x7c\xd2\xfd\x2a\x37\x02\x60\x56\x65\x50\xab\x0d\x2a\x16\xc3\x62\x00\x46\xab\x52\xb3\x0c\x61\x38\x96\x53\xb1\x04\x3e\x7f\x67\xd7\x2e\xf8\xce\xb6\xdb\xca\x6c\xba\x5b\xc7\x9b\x96\x2f\x84\x03\x2c\x31\x59\x2a\xed\xf5\x66\xbb\x8a\x39\xd3\x56\x7b\xa0\x8d\x00\x74\x30\xc6\xea\x72\x6f\x45\x21\xc5\xbb\x9a\x7d\x95\x0f\xcd\xff\x24\x87\x7f\xf5\x30\xe3\x50\x99\x78\x15\x81\x20\x56\x11\x13\xeb\x88\x4e\x81\x53\x65\xe4\xd4\x9a\x9b\xb0\x86\xd7\x72\x2a\x42\x38\x4e\xcb\x1a\x3e\x84\x37\xc5\x05\xf0\xe6\x2f\xaf\x39\x4d\x5c\x00\x6d\xe2\x0b\xd0\x65\xe8\x73\x9a\x8a\x4d\x3a\x96\x88\x0b\xc0\x7f\x53\xe7\x6d\x7b\xca\x2b\x6b\x8c\xd5\x37\x8a\x0b\x5c\xb5\x1d\xc4\x72\xdc\xb7\x0e\x16\xb5\x7c\x81\x55\xcb\xd8\xbf\x23\x1d\xb2\xa3\x12\xb4\x16\x5d\x8e\x10\xeb\xf6\x48\xa7\x96\x39\x10\x35\x2b\xcd\xc0\xf1\x0e\x2b\xb5\x26\x10\xc0\xd2\x49\x8f\x3c\xc7\x77\x92\x0a\x70\x11\xde\x6d\xc0\xbc\x0b\x3b\x1d\x9d\xb8\x4b\x8e\x44\xc0\x73\x2c\xe7\x71\x11\x29\x04\xa1\xc5\xca\xf1\x1c\x96\x36\xba\x73\x35\x95\x88\x54\xbb\x6b\x38\x17\xae\x00\x87\xd3\x4b\x9a\xc1\xcb\x79\x5c\xd8\xa9\x2c\x8c\xa8\x29\xab\x65\x9c\x0e\x0b\x33\xc9\xb1\x7a\xef\xb9\xe3\x85\x0a\xf3\xad\xbd\xb0\x46\xdc\x7c\x6f\x71\x25\x61\xd6\xd5\xb1\xbb\x16\x56\x37\xba\xd8\xfd\x67\xbf\x22\xbe\x73\xdb\xd5\xe2\x27\xdb\x5c\xc6\xc5\x77\x7f\x7d\x6f\xfd\x82\xaa\x05\x6a\x86\x9c\xfb\xe3\x3b\x76\x0d\x32\xc6\xb6\xea\xaf\x7c\xfa\xd0\x95\x75\x75\x8e\x9a\x12\xc6\x10\x3c\x24\xce\xec\x7d\xb8\xfe\x92\x8b\xce\xf1\x78\x2e\xdf\xf9\xfd\x0f\x97\x1a\x4a\x06\xff\xf3\x67\x2d\xd5\xa7\x9e\x59\x5b\x27\xfe\x5a\x1c\x58\x0a\x1c\xe6\xcc\x35\x75\x7a\x83\xca\xbb\x64\xdc\x57\x4e\x30\xdb\xbe\xa0\xb7\xd5\x5f\xad\xb2\x76\xdd\xd1\x8d\xb5\x6b\xeb\xf7\x96\x05\x8d\xd5\x95\xb7\x42\x0d\xb4\x5f\xf7\x8b\xf7\x7f\x08\x44\xe5\x8a\x4d\xdc\x77\x3a\xa9\x7e\x4d\x7c\x1d\x9f\x52\xb6\xfc\x91\x50\x70\xcd\xbe\x1e\xdc\xd2\xbd\xce\xeb\x10\x6f\xbd\x1d\x6a\x5f\x3d\x27\xb1\x75\x51\xdc\xdf\x63\xe7\x18\x02\xe5\x75\x75\x1a\xad\xbd\x77\xc5\xe2\xda\xed\x1f\x2f\xe2\xea\x7b\xfb\x8b\x8b\x4c\x6a\x6b\x71\xa4\x28\x52\x67\x63\xb6\xde\xbe\xb9\x47\xab\x73\xba\xa3\x70\x36\xa8\xf7\xae\x38\x24\xfe\x21\x57\xa5\x2d\xd1\x10\xd8\x04\x7a\xf0\x9d\x93\x38\xb3\xa4\x44\x37\xe8\xbe\xf8\xf2\xdd\x0d\x0d\xd8\x6e\x2c\x29\x2a\x2d\xd5\x69\x2a\x16\xab\x2a\xaf\xbd\xec\xc5\x3b\x72\xd1\xb2\x6a\xe3\xd2\xc5\xee\x95\x39\x71\x10\xb1\xa8\xee\x0b\x1d\xf7\x26\xfb\x09\x72\xa2\x16\xd4\x8d\x4e\x97\x4e\x9c\x0a\xb9\x3d\x4a\x68\x34\x17\x76\xba\xf8\x10\x18\x30\x53\x4b\x57\x99\x9d\x24\xcc\x95\x80\x0e\x6a\xc3\x21\xde\x86\x6d\xd2\x19\x42\xd2\x07\x19\x60\xbd\xd0\x08\x3a\xe0\xb0\xd3\x8d\x3b\x19\x29\xbe\x3c\x09\x21\x4f\xb5\xc7\x1d\x76\x31\x06\xc2\x77\x12\xb6\xa3\x7c\xc9\x86\x45\x7b\x05\x8b\xce\x58\xe3\xac\x58\x54\x5a\xdb\xb5\xb0\xae\xc8\xa6\xd7\x6a\x60\x7b\xe0\x99\x3f\x8a\x7f\x11\x3f\x3b\xfc\xd0\x28\x0b\x46\x8d\x9b\xf1\x8f\xfd\x05\xd6\xc1\x56\xd8\x94\xb7\xe1\x8f\x57\x5f\xf4\xc4\xa1\x27\x2e\x5a\x2d\x67\x90\xe9\xf9\xad\xf8\x27\xf1\xc7\xe2\xdb\xa2\xf8\xf0\x90\xab\x95\x5d\xbe\xef\xc9\xf7\x3e\xfa\xdb\xfb\x3f\x5d\x56\xb5\x68\xb1\x4e\x7c\xe3\xef\x2a\x8c\x4b\xce\x79\xf9\xa2\xad\x76\x67\xec\xca\xf7\x2e\x4a\x3e\x7e\xfb\x08\x3e\xdc\x78\x5f\xbb\xa7\xdc\x56\xea\xd4\xb0\x84\x31\x6a\xf4\x75\x75\x0b\x6a\xab\x8a\xf4\x30\xf3\xe3\xf3\x1e\x8b\x14\xf9\x77\x1f\x04\xe7\x9d\xf5\xa7\xd7\xef\xd4\x1f\x12\x2f\x14\xc5\x1b\x75\xb7\xdf\x59\xaa\x67\x70\xc5\xa1\xa7\x2e\x59\xbd\xfa\x92\xa7\xe4\x8c\xbb\xfa\x50\x54\xb5\xfa\x81\xbf\x89\x77\x3e\x7f\x3b\x34\x7d\xf2\xf2\xd7\x85\x7a\xe7\xfa\x3b\x73\xbe\x7d\xe2\xf9\x9f\xc0\xc6\x7e\x96\x25\xcc\x59\xd7\x3c\xf9\xf3\x9f\x3d\x71\xd5\x19\xd8\x15\xbb\xea\x67\xb2\x3f\x89\x64\x63\xa4\xef\x80\x15\xa8\x19\x75\x49\x3e\xdd\x69\x74\x1e\xba\x1c\xdd\x86\xbe\x8d\x90\xd5\x5e\x53\xdd\x01\xf4\x2f\x70\x0a\x04\x03\xfe\xff\xd3\xf2\xf1\x6b\x21\xb0\xdb\x16\x4a\x7f\x41\xbf\xaf\x1c\xfc\xbe\xe0\xff\x61\xf9\x60\xc6\xd4\x62\x32\xb5\x98\x32\xff\x24\x67\xfe\xbd\x6d\xc1\x91\x83\x0b\xda\xda\x16\x90\xee\x05\x6d\x80\xfe\x05\x14\x29\x07\x34\x6d\x32\x99\x2a\x4d\xa6\x7f\x19\xda\xff\x59\x37\x25\xc3\x52\x62\x9f\xab\x68\xcd\xb4\xc9\x74\xf8\x9f\xe4\xb2\x0f\x61\xf3\x17\x88\x5b\xcd\x21\x74\x05\x5d\x6b\xca\xfb\x70\x9b\xe9\xd3\x94\xdb\x43\xea\xcc\x4e\x17\x18\xc0\xdd\x0c\xd2\xbe\x93\x0e\x7a\x4d\x3a\x62\xc5\xcc\x12\x03\x7d\x84\x9e\x75\xf5\x93\xe2\xa7\x38\xd9\x26\x60\xa5\x5d\x07\xb3\x35\x15\xe0\x71\x87\x1c\x4e\x2b\x6b\x96\x03\xac\x28\xa1\x8b\xcb\x21\xdc\x09\x2e\xe0\x8c\x60\xae\xb3\x76\x82\xc3\x08\xf2\xee\x5e\x23\x48\xe4\x6a\xaa\x3d\x75\x7a\xa8\x0b\xb9\x80\xe3\x5c\xf7\x3c\xe6\xd4\xeb\x0d\x3e\xe7\x63\x61\xbd\x6f\x89\x3e\x2e\xfe\xf9\x90\x09\x17\x55\xd5\x9b\x32\xee\x80\x3b\x63\xaa\xaf\x2a\xc2\xa6\x43\xe2\x9f\xe3\xfa\x25\x3e\x7d\xf8\x31\xa7\xcf\xa0\xd7\x3b\x1f\xbb\xa7\xbc\x44\xdd\x50\x0e\x21\x29\x30\xe4\x8b\x8c\xba\xb4\x9a\x29\x29\xa5\x0d\x95\x04\x1c\x4a\x3b\x60\x3c\x49\x3b\x60\x3c\xae\x9d\xd2\x12\xa6\xba\x54\xcd\x88\x2f\x4a\x31\x2d\x43\xe5\x0d\xea\x12\xb8\xa3\x6a\x5c\xef\x77\x3a\xf5\xfa\x6d\xfb\xdd\x7e\x4d\x1d\x34\xde\x2c\x3e\xff\xa1\xa5\xa1\xc2\xaa\xb2\x4c\xbf\x5e\xe2\x76\x97\xbc\x3e\x6d\x51\x59\x2b\x1a\x2c\x1f\x42\xfb\xcd\xe2\xab\x75\x1a\xbf\x7b\xff\x36\xbd\xde\xe9\xf4\xeb\xc7\xab\x38\x6f\x73\x15\xd7\x79\xcb\x2d\x9d\x50\xdb\xd8\xc0\xd2\x96\xbc\x06\x83\xdc\x90\xf8\xea\xcd\xd0\x7e\xf2\x86\xc4\xe7\x6f\x86\xc6\x63\x1b\x62\x1b\x1a\x6b\x81\x36\xc4\x55\x35\x7b\xd1\x31\x3e\x7e\x16\xfa\x44\x05\x74\x91\x4b\x27\x15\x8e\xce\x2a\xb5\x16\x35\x38\x2c\x3c\x87\x19\x9e\x05\x37\x7d\x46\xae\x0d\x87\x6a\xd9\x67\xf8\xa1\xab\x0e\x15\xf2\x6f\xdf\x95\xe0\xf9\xa1\xab\x7e\x5e\xb8\x09\x6c\xdf\x82\x25\xe2\x1d\x3b\xa7\x34\xda\x87\xc5\x57\x1f\x3e\x52\x0c\x67\x4a\x30\x34\x3d\x7c\x0f\xbe\x11\x0f\xef\xf8\x8f\xdb\x05\x9e\x5f\x79\xf9\xcf\x0a\x12\xa4\xbe\x08\x7d\xc1\x74\x88\x77\x16\xc4\x17\xef\x7e\x44\x7c\xe1\xf9\xe2\xaf\xc2\x99\x79\x08\xdf\xfd\x3d\x68\x7b\xbe\xd8\xb1\x51\x7e\xff\xa8\xc4\xff\x33\x20\x0b\x72\x20\xb7\xe4\x71\x6e\xad\xd1\x42\x8d\xd5\x13\x76\xf2\xc0\x92\x26\x70\xf2\x9e\x3a\x27\xef\x61\xfe\x59\xb8\xbe\x87\xee\xf0\x7f\xfb\xbe\xd6\x07\x57\xda\x0f\xdb\xc5\x01\x68\xb9\x40\x3c\x04\x6f\x1d\x1e\xfd\x08\xce\x7b\x7a\xcd\x53\xb8\x83\x4e\x68\xe2\xb3\xe2\x3b\xaf\x9c\x7d\xf6\x2b\x50\x0d\x9d\x50\xfd\xca\x1f\x4f\xf6\xbc\x71\x44\x7c\x04\xb6\x88\xdf\x80\x1d\x55\xad\x71\x1f\x4e\x5c\x20\x1e\xba\x60\x72\xf4\xa3\xf8\xa6\xd5\x4f\xad\xde\x22\x61\x9d\x3d\xbf\x25\x3c\x79\x92\x55\xa1\x0e\xb9\xbf\x00\x7e\x13\xfb\x05\xda\x88\x46\x50\x12\x4d\xa2\xf3\xd1\x7d\xe8\x11\xf4\x2c\x7a\x09\xbd\x89\x3e\x40\x1f\x22\x04\x5e\xe2\x71\x77\x82\x47\x0e\x29\x4c\xaa\xbd\xe0\xf1\x72\xd2\x23\x06\x91\xcf\xbb\xe2\x0d\xc4\xce\x49\x8f\x10\xd2\x53\x82\xd3\x21\xbf\x95\x08\x49\x2f\x23\x9c\x3e\x69\xbe\xa7\xb3\x4e\x88\x71\xc8\xaf\x2f\x3a\x01\x1c\x06\x90\x00\x07\x52\xde\x5b\x80\xd3\x41\x2b\xbd\x10\x0a\x87\x1c\x56\x07\xe6\x39\x0f\xbd\x45\x79\xdf\xe1\xc5\xa1\x30\xfd\xd9\x49\xf1\x4a\x43\x2e\xc2\xbb\x30\x07\x4a\x6b\x32\x82\xd4\x9e\x14\xd6\x88\x56\xcb\xcd\xc0\x1c\x3d\xc7\xfc\x9b\x3d\xf2\x1d\x9d\xe0\x60\x43\x4c\x73\xa0\x89\xb0\xcb\x97\xb2\x86\xd1\x26\x17\x61\x30\x4f\x78\x96\x27\x44\xc7\x69\x55\x5a\x2d\xe7\xaa\x2d\x05\x93\xda\xae\xd3\x86\x5c\xf5\xdb\x9c\x26\x5f\xdd\x42\xc7\xea\x41\x57\xbd\x85\xbf\x82\xe5\x2a\x0c\xa5\x1c\x1e\x01\xce\x3f\x68\x63\xd6\x0e\x71\x36\x7b\x39\x83\xcf\xe3\x75\xbe\x56\x73\xff\x32\xdf\x91\x1e\xce\x64\x34\x14\x13\x62\x2a\xc3\xa7\xeb\xf8\xea\x7a\x9d\x96\xaf\xae\x9f\xb1\xd7\x76\x95\x94\xe8\x2c\x96\xae\x92\x12\x96\xb1\xea\xda\x7a\xdc\xba\xd2\xb2\x9e\xaf\x0e\x04\x93\x9b\x26\x6c\xe7\xdf\xda\xa1\x83\xd1\x4f\x96\xf8\xc8\xda\xc9\x06\x77\x67\x2d\x13\xdc\xd6\x5f\x79\xe1\x6d\x0f\x2c\x39\xf5\xa2\xa9\x8d\xcd\x5c\x60\xd0\x5e\xf9\x79\xd6\xa0\xb6\x59\x5b\xf5\x52\xfa\x2d\xc6\x52\x5d\xc6\x10\xab\xc9\x5c\xc6\xdc\xc5\xd8\x6d\xd6\x6a\x95\xdd\x66\xab\x9a\x49\x9a\x8c\x65\xa5\x1d\x26\x93\x31\xd4\x89\x3f\x63\x4c\x46\x23\xed\x86\xd1\x50\xfc\x84\x51\xed\x70\x84\x5c\x9a\xc6\x20\x78\x8b\x6c\x50\x54\xd2\xfc\xe8\x03\x1e\x01\x83\x19\x63\x20\x40\x18\x82\xf5\xac\x86\xe5\x08\xb0\x26\x27\x18\x79\x3d\xc6\xa5\x7a\x8b\xb7\xa1\xec\xb2\xb3\xaf\x80\x81\x18\x83\x4b\xaa\xf4\x50\x50\x69\x0d\xbc\xd1\x6d\xf9\x58\xeb\xae\x73\xba\x55\xf7\xde\xa6\x2e\x07\xb7\x49\xfc\xb4\x2c\x18\x2b\x52\xeb\x49\xc5\xbd\x2e\x99\x58\x09\x27\xbe\x65\xae\x2f\x52\x99\x69\x42\x42\x21\x9d\xd5\xd2\x5d\x52\xaa\xb3\x58\x67\xa0\xac\xcf\xad\x6b\xeb\xb5\x59\x75\xb8\x7b\xbb\xf8\xe9\xf2\x2e\x32\xb4\x85\x0d\xab\x61\x49\xd3\xd8\x69\x67\x1a\xb6\x5f\x7e\xfb\xa2\xc5\x17\x65\xd7\xaa\xd7\x9f\xdb\xee\x0c\xdb\xf9\x9e\xe1\xbd\xa7\x99\xd6\x6c\x1d\xc5\x19\x5b\xab\xc1\xa0\xb6\x49\x29\xb0\xa6\x72\x95\xd5\x6c\x2e\x63\x18\xeb\x91\x53\x6c\xd5\x0c\x63\x5f\x50\xcd\x32\x4e\xb2\xad\xb4\xcb\x64\x32\x96\x96\x75\x56\x9b\x66\xd6\x19\x8b\x19\x62\x36\x18\x4b\x08\x31\xbd\xef\x08\x99\x8c\x9a\xc6\x50\xa5\x06\x21\x54\x04\x6e\xf9\xc4\x69\x84\x50\x33\xda\xaa\xc0\x80\xb4\xe8\x5e\x05\xc6\x88\x47\x3f\x50\x60\x82\xcc\xe8\xb0\x02\x33\x48\x0b\x25\x0a\xcc\x22\x0b\x2c\x57\x60\x0e\x69\x61\x52\x81\x79\xb4\x1a\x7b\x14\x58\x85\x74\xf8\x6a\x05\x56\x23\x0d\x7e\x58\x81\xb5\xc8\x8e\xff\xa4\xc0\x06\xe4\x22\x3d\x88\x20\x60\xd4\x08\x21\xf9\x8d\x12\x85\x01\x39\xd0\x15\x0a\x8c\x91\x01\x3d\xa4\xc0\x04\x55\xa3\x9f\x28\x30\x83\x1c\x80\x15\x98\x45\xb5\xe0\x56\x60\x0e\x39\x60\x58\x81\x79\xf4\x0d\xd8\xad\xc0\x2a\x54\x84\xa7\x14\x58\x8d\x6c\x78\xbf\x02\x6b\x51\x03\x7e\x46\x81\x0d\x68\x31\x21\xa8\x0f\xa5\x51\x06\x4d\xa1\x2c\x4a\xa0\x51\x34\x86\xf2\xa8\x12\xf5\xa3\x08\xda\x81\x04\x54\x89\x96\xa0\x08\x4a\xa1\x18\x9a\x42\x95\xc8\x87\x5a\x50\x2b\x0a\x21\x2f\xaa\x44\x3d\x28\x89\x92\xa8\x72\x1e\x56\x4e\x2a\x09\x28\x87\x04\x94\x95\xb0\x63\xc8\x8b\x50\x5f\x3a\x33\x95\x4d\x8c\x8e\xe5\x2b\xfb\x23\x3b\x84\xca\x25\x91\x54\x6c\xaa\xd2\xd7\xd2\x1a\xf2\x56\xf6\x24\x93\x95\xd2\xa5\x5c\x65\x56\xc8\x09\xd9\x1d\x42\xcc\x8b\xd0\x20\x4a\xa3\x14\xca\xa3\x1e\x34\x29\xb5\x96\x46\x13\x48\x40\x68\x30\x9d\xca\xf7\x4c\x0a\xb9\xf4\x84\x80\xd0\x1a\x24\xa0\x51\x54\x40\x49\x14\x41\x59\x84\xd6\x08\xa3\x85\x64\x24\x4b\x71\x57\xa1\x95\x68\x1d\x5a\x8e\x7a\x50\x2f\x5a\x84\x56\xa1\x75\x68\x10\x0d\xa0\x8d\x68\x08\xad\x42\x6b\xd0\x3a\x84\x06\x57\xad\x5c\xb7\xbc\xa7\x77\xd1\xaa\x75\x83\x03\x1b\x87\x56\xad\x59\xf7\xaf\x51\xdc\x20\x8d\x2a\x87\x12\xd2\xbd\x95\x28\x80\xbc\x28\x8c\xbc\xa8\x65\x1e\x5f\xd0\x06\x21\x9b\x4b\xa4\x53\x95\x01\x6f\xd8\xdb\x22\x0d\xf2\x5f\x6b\x7c\x08\x25\x91\x80\x22\x12\xeb\x64\x26\xc6\x25\x72\x95\x28\x8f\xd2\x52\x3a\x26\x5d\x39\x99\xa8\x28\x4e\x14\xe5\xe7\x3a\x16\x47\x69\x05\x53\xc6\x89\x2b\xf4\x69\x4d\x16\x45\x50\x0c\x09\x68\x42\x62\xdb\x38\xaa\x44\x11\x94\x97\xea\x13\x68\x04\x15\xe6\xb5\x92\x42\x69\xa9\x14\x95\xfa\xec\x45\x68\x28\x29\x44\x72\x42\x65\x56\x88\x0b\xd9\xca\x7c\xba\x32\x3f\x26\x54\x1e\x15\x6d\x4e\x88\xe6\xe9\xc0\xe3\xe9\xac\x74\x25\x9e\x4e\xe5\x2b\xf3\xd9\x48\x4c\x98\x88\x64\xc7\x2b\x23\xf9\x7c\x36\x31\x52\x90\x6e\x49\xa5\xf3\x89\xa8\x90\x53\x04\x9d\x95\x7a\x76\x02\x6f\xb2\xf9\xca\x39\xe6\x9c\x4c\x17\xd1\x51\x5d\x42\x12\x1f\xf2\x28\x83\x16\xa1\x66\xd4\x3c\x37\xde\xc8\x31\x6d\x7a\xa5\x91\xa1\xb1\x7c\x3e\xb3\xa8\xb9\x99\x76\x2f\x22\xb7\xef\x4d\xa4\xff\x27\x2d\x34\xa3\xa4\xc2\x95\x94\xc4\xf9\xe6\x2f\x69\xb3\x39\x99\x88\x0a\xa9\x9c\xd0\xac\xac\x71\xfe\xd1\x3f\xfc\x7d\xc9\x26\xd1\x5f\xf7\x3e\x74\x29\xba\x04\x5d\x86\xae\x40\x57\xa2\xaf\xa1\xab\xd0\xe5\x40\xcd\x35\x03\x2c\x70\xc0\x83\x0a\xd4\xa0\x01\x2d\xe8\x40\x0f\x06\x30\x82\x09\xcc\x60\x01\x2b\xd8\xc0\x0e\x0e\x70\x42\x11\x14\x43\x09\x94\x42\x19\x94\x83\x0b\x2a\xa0\x12\xaa\xa0\x1a\x6a\xa0\x16\xea\xc0\x0d\x1e\x58\x00\xf5\xd0\x00\x0b\xa1\x11\x9a\x80\x3e\xd6\xb7\x40\x2b\xf8\xc0\x0f\x01\x08\x42\x08\xc2\xd0\x06\xed\xb0\x08\x4e\x81\xc5\xd0\x21\xbd\x2c\xea\x86\x1e\xe8\x85\x3e\xe8\x87\x01\x18\x84\x25\x70\x2a\x9c\x06\x4b\x61\x19\x2c\x87\x15\xb0\x12\x56\xc1\x10\xac\x86\x35\xb0\x16\xd6\xc1\x7a\xd8\x00\xa7\xc3\x46\x38\x03\x36\xc1\x99\x70\x16\x6c\x86\x2d\x30\x0c\x5b\x21\x02\x23\xc8\x80\x3e\x42\x7a\x88\x42\x0c\x04\x88\xc3\x28\x8c\x41\x02\xb6\xc1\x38\x24\x61\x02\x52\x90\x86\x0c\x6c\x87\x2c\xe4\x20\x0f\x05\xd8\x01\x93\xb0\x13\xa6\x60\x17\x7c\x05\xce\x86\x73\xe0\x5c\x38\x0f\xa6\xe1\x7c\xb8\x00\x76\xc3\x57\x61\x0f\x5c\x08\x7b\xe1\x22\xb8\x18\x2e\x81\x4b\xe1\x6b\x70\x19\xec\x83\xcb\xe1\x0a\xb8\x12\xae\x82\xab\xe1\x1a\xb8\x16\xae\x83\xaf\xc3\xf5\x70\x03\xdc\x08\x37\xc1\xcd\x70\x0b\xdc\x0a\xb7\xc1\x7e\xb8\x1d\xbe\x01\x77\xc0\x9d\x70\x17\xdc\x0d\xf7\xc0\xbd\x70\x00\xbe\x09\xf7\xc1\xb7\xe0\x7e\xf8\x37\xf8\x36\xfc\x3b\x3c\x00\xdf\x81\x07\xe1\x21\xf8\x2e\x3c\x0c\x8f\xc0\xf7\xe0\x51\x78\x0c\x1e\x87\x27\xe0\x49\x78\x0a\x9e\x86\x83\xf0\x0c\x3c\x0b\xdf\x87\x1f\xc0\x0f\xe1\x39\x78\x1e\x5e\x80\x1f\xc1\x8b\xf0\x63\xf8\x09\xbc\x04\x3f\x85\x9f\xc1\x21\xf8\x39\xbc\x0c\xaf\xc0\xab\xf0\x1a\xbc\x0e\x6f\xc0\x9b\xf0\x1f\xf0\x16\xbc\x0d\xbf\x80\x5f\xc2\x3b\xf0\x9f\xf0\x2e\xbc\x07\xef\xc3\xaf\xe0\x03\xf8\x35\xfc\x06\x7e\x0b\xff\x05\xbf\x83\xdf\xc3\x1f\xe0\x8f\xf0\x27\xf8\x10\x3e\x82\xc3\xf0\x67\xf8\x0b\x7c\x0c\x9f\xc0\x5f\xe1\x6f\xf0\xdf\xf0\x77\xf8\x14\x3e\x83\xcf\xe1\x08\xcc\x80\x08\x5f\x60\x84\x01\x63\x4c\x30\x83\x59\xcc\x61\x1e\xab\x50\x35\x56\x63\x0d\xd6\x62\x1d\xd6\x63\x03\x36\x62\x13\x36\x63\x0b\xb6\x62\x1b\xb6\x63\x07\x76\xe2\x22\x5c\x8c\x4b\x70\x29\x2e\xc3\xe5\xd8\x85\x2b\x70\x25\xae\xc2\xd5\xb8\x06\xd7\xe2\x3a\xec\xc6\x1e\xbc\x00\xd7\xe3\x06\xbc\x10\x37\xe2\x26\xec\xc5\xcd\xb8\x05\xb7\x62\x1f\xf6\xe3\x00\x0e\xe2\x10\x0e\xe3\x36\xdc\x8e\x17\xe1\x53\xf0\x62\xdc\x81\x3b\x71\x17\xee\xc6\x3d\xb8\x17\xf7\xe1\x7e\x3c\x80\x07\xf1\x12\x7c\x2a\x3e\x0d\x2f\xc5\xcb\xf0\x72\xbc\x02\xaf\xc4\xab\xf0\x10\x5e\x8d\xd7\xe0\xb5\xe8\x65\xbc\x0e\xaf\xc7\x1b\xf0\xe9\x78\x23\x3e\x03\x6f\xc2\x67\xe2\xb3\xf0\x66\xbc\x05\x0f\xe3\xad\x38\x82\x47\x70\x14\xc7\xb0\x80\xe3\x78\x14\x8f\xe1\x04\xde\x86\xc7\x71\x12\x4f\xe0\x14\x4e\xe3\x0c\xde\x8e\xb3\x38\x87\xf3\xb8\x80\x77\xe0\x49\xbc\x13\x4f\xe1\x5d\xf8\x2b\xf8\x6c\x7c\x0e\x3e\x17\x9f\x87\xa7\xf1\xf9\xf8\x02\xbc\x1b\x7f\x15\xef\xc1\x17\xe2\xbd\xf8\x22\x7c\x31\xbe\x04\x5f\x8a\xbf\x86\x2f\xc3\xfb\xf0\xe5\xf8\x0a\x7c\x25\xbe\x0a\x5f\x8d\xaf\xc1\xd7\xe2\xeb\xf0\xd7\xf1\xf5\xf8\x06\x7c\x23\xbe\x09\xdf\x8c\x6f\xc1\xb7\xe2\xdb\xf0\x7e\x7c\x3b\xfe\x06\xbe\x03\xdf\x89\xef\xc2\x77\xe3\x7b\xf0\xbd\xf8\x00\xfe\x26\xbe\x0f\x7f\x0b\xdf\x8f\xff\x0d\x7f\x1b\xff\x3b\x7e\x00\x7f\x07\x3f\x88\x1f\xc2\xdf\xc5\x0f\xe3\x47\xf0\xf7\xf0\xa3\xf8\x31\xfc\x38\x7e\x02\x3f\x89\x9f\xc2\x4f\xe3\x83\xf8\x19\xfc\x2c\xfe\x3e\xfe\x01\xfe\x21\x7e\x0e\x3f\x8f\x5f\xc0\x3f\xc2\x2f\xe2\x1f\xe3\x9f\xe0\x97\xf0\x4f\xf1\xcf\xf0\x21\xfc\x73\xfc\x32\x7e\x05\xbf\x8a\x5f\xc3\xaf\xe3\x37\xf0\x9b\xf8\x3f\xf0\x5b\xf8\x6d\xfc\x0b\xfc\x4b\xfc\x0e\xfe\x4f\xfc\x2e\x7e\x0f\xbf\x8f\x7f\x85\x3f\xc0\xbf\xc6\xbf\xc1\xbf\xc5\xff\x85\x7f\x87\x7f\x8f\xff\x80\xff\x88\xff\x84\x3f\xc4\x1f\xe1\xc3\xf8\xcf\xf8\x2f\xf8\x63\xfc\x09\xfe\x2b\xfe\x1b\xfe\x6f\xfc\x77\xfc\x29\xfe\x0c\x7f\x8e\x8f\xe0\x19\x2c\xe2\x2f\x08\x22\x40\x30\x21\x84\x21\x2c\xe1\x08\x4f\x54\x44\x4d\x34\x44\x4b\x74\x44\x4f\x0c\xc4\x48\x4c\xc4\x4c\x2c\xc4\x4a\x6c\xc4\x4e\x1c\xc4\x49\x8a\x48\x31\x29\x21\xa5\xa4\x8c\x94\x13\x17\xa9\x20\x95\xa4\x8a\x54\x93\x1a\x52\x4b\xea\x88\x9b\x78\xc8\x02\x52\x4f\x1a\xc8\x42\xd2\x48\x9a\x88\x97\x34\x93\x16\xd2\x4a\x7c\xc4\x4f\x02\x24\x48\x42\x24\x4c\xda\x48\x3b\x59\x44\x4e\x21\x8b\x49\x07\xe9\x24\x5d\xa4\x9b\xf4\x90\x5e\xd2\x47\xfa\xc9\x00\x19\x24\x4b\xc8\xa9\xe4\x34\xb2\x94\x2c\x23\xcb\xc9\x0a\xb2\x92\xac\x22\x43\x64\x35\x59\x43\xd6\x92\x75\x64\x3d\xd9\x40\x4e\x27\x1b\xc9\x19\x64\x13\x39\x93\x9c\x45\x36\x93\x2d\x64\x98\x6c\x25\x11\x32\x42\xa2\x24\x46\x04\x12\x27\xa3\x64\x8c\x24\xc8\x36\x32\x4e\x92\x64\x82\xa4\x48\x9a\x64\xc8\x76\x92\x25\x39\x92\x27\x05\xb2\x83\x4c\x92\x9d\x64\x8a\xec\x22\x5f\x21\x67\x93\x73\xc8\xb9\xe4\x3c\x32\x4d\xce\x27\x17\x90\xdd\xe4\xab\x64\x0f\xb9\x90\xec\x25\x17\x91\x8b\xc9\x25\xe4\x52\xf2\x35\x72\x19\xd9\x47\x2e\x27\x57\x90\x2b\xc9\x55\xe4\x6a\x72\x0d\xb9\x96\x5c\x47\xbe\x4e\xae\x27\x37\x90\x1b\xc9\x4d\xe4\x66\x72\x0b\xb9\x95\xdc\x46\xf6\x93\xdb\xc9\x37\xc8\x1d\xe4\x4e\x72\x17\xb9\x9b\xdc\x43\xee\x25\x07\xc8\x37\xc9\x7d\xe4\x5b\xe4\x7e\xf2\x6f\xe4\xdb\xe4\xdf\xc9\x03\xe8\x1a\x76\x34\x19\xc9\xe5\xd8\x89\x42\x2e\x11\xe5\x72\x42\x24\x1b\x1d\x53\x09\xa9\x1d\x42\x32\x9d\x11\xd8\x31\x21\x92\xcd\x33\xb9\x7c\x24\xab\xa1\xc9\xb0\x30\x91\xc9\x4f\x31\x85\x9c\x90\x65\xe2\x89\xe4\x84\x2a\x3f\x36\x9c\x8c\x64\x47\x05\x9c\x1f\xe3\x29\x9c\xc8\xe5\x71\x7a\x9c\xcb\x0a\x13\xe9\x1d\x02\xbf\x2b\x9d\x9e\x18\x4e\xa4\x54\x52\x9e\x2e\xe4\x49\x3a\x1e\xe7\x72\x89\xd1\x54\x24\x49\xa2\xe9\x51\x36\x9f\x8d\xe4\xc6\x98\xb1\xf4\x84\xa0\x8a\x27\x92\xc2\x70\x24\x99\x67\xf2\x89\x09\x81\xc9\xa6\x23\x31\x5d\x2c\x3d\x99\x4a\xa6\x23\x31\x5a\xad\x9a\x2d\x70\x85\x0c\xcd\xd8\x44\x6a\x24\xbd\x53\x9b\x49\x46\xa6\x86\xa3\x89\x6c\x34\x29\x70\x59\x21\x23\x44\xf2\x7c\x56\x88\x67\x85\xdc\x98\x8a\x76\x45\x6a\x30\x99\x8e\x8e\x33\xf1\x64\x64\x54\x33\x26\x44\x62\x99\xb1\x74\x4a\xc8\x69\x76\xa4\x93\x85\x09\x61\x38\x1d\x8f\x6b\x15\x90\x12\x50\x2b\x70\x21\xc3\x6d\xcf\x46\xd3\x31\x81\x1f\x89\x48\x39\xc9\x47\x46\x99\x7c\x64\x34\xc7\x8c\xa4\xd3\xe3\x2a\x9a\xd0\x19\x9e\xcd\x64\x13\xa9\x3c\x17\x8d\x4c\x08\xd9\x08\x43\xa7\x42\x66\x24\x9d\x8c\x71\x89\x7c\x24\x99\x88\x6a\xf3\xc2\xce\xfc\xf0\x98\x40\x97\x0a\x1a\x09\x9e\x4c\xc4\xf2\x63\x9a\x48\x32\x31\x9a\x1a\x4e\x0a\xf1\xbc\x4e\x06\xa3\x42\x2a\x2f\x64\xb5\x72\x41\x5a\x59\xe8\x65\x78\x5b\x21\x97\x4f\xc4\xa7\x18\x3a\x16\x6d\x22\x15\x13\x52\x79\x19\x4f\x81\xa5\x7b\x0d\xf1\x48\x54\xa0\x5c\x1b\xde\x91\x88\x09\x69\x3e\x93\x88\xe6\x0b\x59\x81\xcb\x08\xa9\x68\x22\xa9\x99\x88\x64\x86\x69\x5f\x85\x2c\x17\x89\xd1\x06\x99\x7c\x22\x95\x67\x84\x58\x22\xcf\xe6\xc6\x22\x59\x81\x8d\x8e\x09\xd1\x71\x86\x0a\x4c\x9f\xcb\x0b\x99\xe1\x91\x48\x74\x7c\x32\x92\x8d\xe9\xe3\x91\x5c\x7e\xae\xa4\x9a\x05\x18\xca\x74\x36\x13\x29\xe4\x04\x26\x97\x4f\x67\xf8\x78\x3a\x4b\xeb\x75\xd2\xed\xb3\x05\xa9\x25\xa5\xc0\x0a\xdb\x84\x68\x5e\x17\x1d\x13\x76\x64\xd3\xf2\xc8\xf5\xb3\x05\x69\x08\xea\x4c\xb2\x90\x1b\xa6\x8a\xa1\x99\x48\xa4\x14\x50\x2b\x2b\x91\x04\xf3\xe9\x71\x29\xd7\x6f\x2f\x08\x39\xba\x9e\x92\x4a\xea\x44\x2a\x9e\x96\xd1\x72\xd1\xac\x20\xa4\x72\x63\xe9\xbc\x5e\x41\x93\xb5\x42\x9d\x1e\x57\x20\xcd\x48\x24\x35\x0b\x46\xb2\xd9\xf4\xa4\xd4\x0f\xad\x0c\x4a\xbd\x50\xc9\x70\x21\xa3\x5c\x97\x34\x42\x62\x11\xd5\x23\x6d\x56\xc8\x25\x76\x09\xc3\xf1\x42\x32\xa9\x53\xe0\xdc\x44\x24\x99\x34\x09\x3b\xa3\xc9\xc8\x44\x64\xae\x5b\xcc\x68\x22\x9e\x67\x92\x42\x24\xce\xc4\x13\x59\x41\x25\x4c\x09\xc3\xe9\x8c\x90\x52\x53\x20\x9a\x4c\xe7\x04\xdd\x64\x24\x9b\x4a\xa4\x46\xa5\xdb\xd9\x4c\x32\x92\x12\x54\xd1\x48\x52\x48\xc5\x22\x59\x2e\x1b\x49\xc5\xd2\x13\x7c\x34\x3d\x31\x21\xa4\xf2\xdc\x44\x64\x34\x25\xe4\x35\xb3\xfc\x2a\x64\xe6\xf8\x48\xfb\xc7\x67\x85\xfc\xa4\x20\xe4\xf5\xb9\xb1\x74\x26\x43\x9b\x8c\x46\xb2\x79\x5d\x3c\x9d\x8c\x09\x59\x99\x98\x56\x29\xd0\x2e\x18\x95\x8e\xef\x10\xb2\xf9\x44\x34\x92\x34\x2b\xe5\xb1\x74\x36\xb1\x8b\xae\xe4\x92\xea\x91\x48\x76\x38\x3a\x46\x1b\xc9\x4f\x26\xf2\x79\x21\x2b\x33\x9e\x2a\x19\x55\x7b\xa9\xa4\x93\x35\x7e\x38\x2b\xe4\xb3\x69\x32\x2e\x4c\x31\xd1\xf4\x68\x4e\xa5\x74\x39\xa7\xcf\x8f\x15\x26\x46\x72\xc3\x85\x0c\x65\x9c\x51\x29\xd1\xee\xd2\xb2\x5a\x32\x24\x63\x91\x64\x5c\x2b\x59\x17\xd9\xa6\xf0\xb4\xdd\x74\x21\xaf\x4f\x26\x52\xe3\x42\x2c\x21\xb3\x92\xcf\x14\x72\x63\x99\x44\x4a\x2f\xec\xcc\x0b\xd9\x54\x24\x39\x4c\x2f\x4b\x26\x24\x91\xe2\xf2\xd9\x74\x66\x6c\x4a\x3b\x9a\xc8\x8f\x15\x46\x64\x3d\x90\xad\x03\x25\xc3\x26\x85\x89\x74\x8a\x95\x7e\xef\x5a\x49\xc5\x65\x42\x86\xd9\x1f\xaf\x5c\xd4\x48\x37\xc8\xc4\x94\x01\xab\x66\xc7\xca\xc9\x2d\x73\x85\x14\xb5\x21\xda\x68\x96\xfe\x68\x28\x83\x63\x24\x9b\xcb\x91\xb1\x58\x4c\x35\x52\x48\x26\xc7\xd2\xd9\x14\x33\x22\x24\x93\xda\x28\x65\x6b\x3c\x11\x8d\xe4\x05\xcd\x58\x24\x15\x53\xb4\x5b\x02\xa9\xb6\xf1\x12\x54\xc8\xc8\x35\x94\x21\x66\x59\x23\x87\x8f\x6a\xa4\xe5\x98\x1a\xa9\x01\xe3\x31\x55\x85\xcc\xb1\x48\xb4\x19\x76\x34\x99\x1e\x11\xb8\xc9\xac\x90\x8a\x8e\xb1\xf9\x48\x6e\x3c\xc7\xc5\x13\xc9\xbc\x90\x55\x8f\x64\x13\x42\x3c\x1a\xc9\x09\x1a\xaa\xb9\xf2\xef\x84\x1d\xcd\xa6\x0b\x19\x86\xf2\x92\x8d\x26\xd3\x85\x18\x37\x22\x44\xc6\x85\x2c\x89\x16\xf2\x4c\x34\x9d\x99\xd2\x64\x22\x19\x49\x7f\x12\x19\x26\x17\xd9\x21\x68\x28\x7f\x86\x47\x92\x91\xd4\x38\x9f\x15\xd2\xd9\x98\x90\xc5\x85\x24\x4e\x27\xf5\xb9\x7c\x36\x31\x2e\xe4\xc7\xb2\xe9\xc2\xe8\x98\xba\x90\x8a\x09\xd9\x64\x22\x25\xb0\xf9\xc8\x48\x52\x60\x27\x22\xa3\x89\x28\x9b\xcf\x16\xa2\xe3\xea\x4c\x82\x5a\x39\x21\x97\x37\xcc\x41\x12\xdb\x4d\xa3\xe9\xf4\x68\x52\x18\x9e\xb3\x01\xda\x79\x15\xec\x44\x3a\x25\x4c\x69\xa2\x91\xac\x90\x97\x46\xaa\x92\xc1\x42\x46\xa9\x93\x7e\xc4\x32\x28\xf1\x8a\x8f\x52\x13\x9e\xca\x31\xb9\x74\x36\xaf\xa6\x89\xfc\x3b\x91\xa0\x42\x46\x37\x3b\xb3\x49\x93\xca\xac\xae\x31\x85\x54\x2c\xcd\x26\x85\xd1\x48\x52\x1d\x8b\xe4\xc6\x46\xd2\x91\x6c\x4c\xab\xa8\x33\xbd\x53\x37\xab\xda\xd2\x8c\x32\x92\x4e\xe6\xf9\x5c\x22\x2f\x4c\x44\x32\xaa\xc2\xc4\x48\x56\x48\x26\x23\x6c\x26\x92\xcb\x0b\x9a\x24\xed\xc4\xf0\x48\x21\x39\xa2\x12\x76\x46\xc7\x22\xa9\x51\xc1\x20\xb1\x78\x78\x76\x06\xd3\xc9\x45\x59\x53\x79\x3a\x95\x0e\x4f\xc4\xb4\xb9\xbc\x90\x1f\x4b\xe7\xa2\xe9\x8c\xa0\xca\x15\x12\x79\x2a\x31\x15\x55\x2a\x4a\x91\x8b\xa6\xe3\x71\x41\x60\xe2\xe9\x74\x4c\x2f\xcd\x94\xd2\x74\x42\x87\x30\x52\x48\x24\x63\x89\xd4\xa8\x6a\x2c\x9d\xcb\xd0\x79\x47\x1d\x99\x18\x29\x24\x23\xa9\xa8\xc0\x4d\x08\xb1\xf1\x44\x5e\x1b\xa7\x5d\x12\xb2\xc3\xdb\x84\x3c\x33\x22\x08\x59\x6e\x4c\x36\x53\xf1\x96\xb8\x60\x8e\xa5\x0b\x23\x54\x95\x52\x94\xe3\x92\xfe\x1d\x53\x23\xeb\xdf\x31\x55\x85\xcc\xb1\x48\x74\x5c\x9a\xa3\xf8\xda\x79\x88\xaa\x59\x0c\xcd\xd1\x5b\xf9\x98\x90\x1b\xcf\xa7\x33\x5c\x32\x92\xa1\x99\xa4\x28\x79\xdd\x44\x7a\x84\x8e\x4b\xfa\x35\xea\x14\xfd\x96\xf4\x4d\xb3\xbd\x90\xce\x2b\x4d\xcb\xa0\x2c\xe7\x5c\x26\x91\x4a\x09\x59\x4e\xbe\x97\xcd\x0a\x99\xe4\x94\x46\x31\x05\x91\x64\xde\x34\xdf\x04\x4a\x66\x68\x9e\x19\xa4\x65\x8d\xb0\x33\x43\x7f\x85\xb2\x74\x93\xc9\x48\x46\xbe\x8f\xcd\x4d\x24\x92\x02\x1b\xcf\xa6\x27\x53\x64\x42\x18\xe3\x47\x23\x13\x42\x26\x12\x53\x8d\x0b\x53\x92\x5e\xa8\xe8\x5a\x82\xde\x69\x90\x00\xc9\xb4\x08\x59\x21\xa6\xca\x0b\xd9\x89\x44\x2a\x92\x64\xe8\x8a\x41\x2d\x75\x68\x38\x92\x4c\x1a\xe7\xec\x9d\x62\x80\x92\xe9\xa8\x3c\x59\x48\xbf\x5f\x26\x9a\x4d\x67\xd4\x14\x85\x4e\x97\xe3\xd4\xd8\x24\x52\xe3\xcc\xb0\x2f\xdc\xae\x9d\x37\xb3\x68\x73\x85\x8c\x90\xcd\x45\xb3\x89\x4c\x5e\x9d\x2b\x8c\xc8\x10\x33\xec\x6b\xf3\xeb\x32\x85\x5d\xbb\x28\xef\x12\x42\x54\xd0\x4c\x24\x68\x83\x94\x8d\x86\xa3\xe0\xb0\xb4\xf0\x1a\x4b\x08\xc9\x98\x61\x76\xa2\x91\x7b\x63\xa6\x53\xd4\xb0\xb0\x33\x9f\x48\x8d\x16\x12\xb9\x31\x21\xcb\x65\xd3\xd1\x71\x81\x4e\x3c\x3b\xa3\xb1\x94\x79\x76\xb6\xc9\xcd\x2e\x5a\x2c\xc7\xd4\x28\x06\x6a\x7e\x15\x35\x50\xf3\xcb\x92\x81\x1a\xcb\x4f\x24\x83\x4c\x34\x97\xf3\x73\x91\x54\x74\x2c\x9d\xd5\xc8\x56\x55\x51\xe2\x64\x32\x27\x4c\x09\x56\x21\x99\x4c\x64\x72\x89\xdc\xbc\x09\xc9\x3c\x57\x37\x3b\x69\x31\xc3\xfe\x16\xbf\x5a\x5a\xfa\xd1\xf6\xb9\x7c\x82\xf6\xd7\x70\x74\xe5\x20\x4d\xd7\xb2\xc9\x97\x2a\x55\x49\x61\x87\x90\xa4\x6a\x28\x03\x92\xc6\xca\xd7\xa5\x65\x84\x64\xd6\xa5\x9f\xc4\xb0\xbf\xd5\xa7\x91\xa7\x7c\x69\x46\x88\xa6\x27\x32\x91\x1c\x9d\xd9\x64\x05\x39\xaa\x29\xf9\x74\x86\xde\x1d\x26\x42\x21\x4b\x46\x47\x32\xa4\x90\x8b\x91\x44\x2a\x4b\xb6\x65\xa6\x48\xb6\x30\x42\xc6\xb3\x93\x64\x24\x1f\xa5\xcb\x64\x41\x3d\xf7\x9b\x35\x49\x76\x68\x84\x2a\x46\x66\x2c\x32\x22\xe4\x99\x61\xbf\xaf\xdd\x32\x57\xab\xbc\x31\x12\x72\x8e\x13\xab\xe8\xb0\xf4\xb3\xd5\x92\x0d\x36\x1f\x53\x92\x6c\xd3\xb0\xdf\x1f\xa0\x49\x50\x37\x95\x2e\xe4\x0b\x23\xca\x40\x94\x02\xb3\x33\x91\x1a\x55\xef\x9c\x5d\x7a\xcc\xdd\x43\x99\xc9\xc7\xb2\xe9\xcc\x48\x7a\xa7\x3e\x97\x8f\x44\xc7\x67\x8d\x97\x3a\x91\xca\xe5\x23\xa3\xd9\xc8\x04\x17\x4f\x26\xa2\xe3\x59\x12\x89\xa5\x98\x78\x6b\xb8\xd5\x30\x92\xc8\x8f\x14\x28\xeb\x15\x31\x14\x26\x46\x92\x59\xad\x9c\x49\x55\xc6\x64\x3a\x35\x3a\x6f\x96\xd2\xcf\x2b\x17\x32\xf3\xaf\x52\xbd\x32\xcd\x2b\xcb\x3f\xf1\xc9\x44\x2a\x96\x9e\xcc\xf1\x91\x54\x2c\x9b\x4e\xc4\xd8\x64\x22\x55\xd8\xc9\xc7\xb2\x89\x11\x3a\xb7\xe4\xc6\xa7\x32\x82\x26\x9e\x2e\x64\x73\xdb\x0b\x91\xac\xc0\xe5\xa9\x1d\x4e\x73\x71\x61\x22\x92\x14\x18\x9a\xd0\x09\x3c\x9f\xc8\x90\x5c\x81\x8a\x36\x14\xe2\xe9\xc3\x4d\x62\x87\x40\x46\x0a\xa3\x78\xc7\x38\x3b\x29\x24\x46\xd2\x5c\x56\x48\x65\x05\x7a\x43\xd8\x67\x90\xc6\x3e\x3c\x3b\x78\x5a\x17\xb0\xcb\x5d\x9a\x9d\x73\x93\xf2\x9c\x43\x2f\x85\x0c\xb1\x74\x7e\xde\x05\x5a\xd7\xa6\xdb\x91\x98\x10\xd2\xc3\x72\x9f\x98\x61\x7f\x5b\x8b\x5e\x9e\xd9\xa4\x8a\xe1\x34\xad\xf2\xd1\xc4\x4f\x13\x2a\xab\xb6\x20\x4d\x42\x34\x09\xd3\xa4\x8d\x26\xed\x7c\x21\x95\x18\x6c\xed\x69\x61\xe2\xad\x91\x56\x66\xd8\xdf\x4e\x91\xda\xfd\xb4\x48\x91\xda\x29\x52\x3b\x45\x6a\xa7\x48\xed\x14\xa9\xbd\x9d\x19\x0e\xb4\x48\x18\x23\x14\xf2\xd1\xc4\x4f\x93\x80\xdc\x5a\x6f\x2b\x2d\x84\x68\x12\xa6\x49\x1b\x4d\x28\x52\x6b\x0b\x4d\xe8\xd5\x56\x8a\xd4\x4a\x91\x5a\x03\x34\x09\xd2\x84\x62\xb4\x52\x8c\x56\x8a\xd1\xaa\xf4\xad\xaf\x45\xc9\x29\x9e\x8f\xe2\xf9\x28\x9e\x8f\xe2\xf9\x28\x9e\x8f\xe2\xf9\x28\x9e\x8f\xe2\xf9\x28\x25\x3f\xa5\xe4\xa7\x18\x7e\x8a\xe1\xa7\x18\x7e\xa5\x7b\xfd\x4a\x83\xfd\xad\x4a\x2e\xdd\x41\x51\xfd\x0a\xc9\xfe\xa0\x92\x87\x94\x9c\x36\x1e\xa0\x6d\x04\x28\xd5\x00\xa5\x1a\xa0\x54\x03\xd2\x05\x8a\x1a\x50\x50\x07\x28\xe1\x20\x25\x1c\xa4\xcd\x06\x29\x52\x90\x22\x05\x29\x52\x90\x22\x05\x29\x52\x90\x22\x05\x69\x57\x43\x14\x23\x44\x31\x42\x14\x23\x44\x31\x42\x4a\x57\x07\xa5\x6b\x14\x29\x14\x66\xe2\xad\x71\xe9\x1a\x45\x0a\xd3\x0b\x61\x8a\x14\xa6\x48\x61\x7a\x21\x4c\xc9\x84\x29\x99\x70\x88\xde\x1c\xa5\x10\x25\x13\xa6\x18\x6d\x14\xa3\x8d\x62\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\xb4\x51\x8c\x76\x8a\xd1\x4e\x31\xa8\x52\x04\xda\x29\x46\x7b\x80\x89\xfb\x24\x31\xb6\x87\x28\x24\x5d\xa0\x18\x54\x29\x82\x2d\x2d\x34\x69\xa5\x89\x8f\x26\x7e\x9a\x04\x68\x12\xa4\x49\x88\x26\x61\x9a\xb4\xd1\xa4\x9d\xdd\x21\xa4\x0a\x39\x66\x38\x48\x55\x22\x48\xdb\x0a\x52\x95\x08\x52\x95\x08\x52\x95\x08\x52\x95\x08\x52\x95\x08\x52\x95\x08\xb6\x52\x22\x3e\x4a\xc4\x47\x31\xa8\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\xf9\x0a\xfa\x29\x86\x9f\x62\xf8\x29\x06\xd5\x81\xa0\x9f\x62\x04\x28\x46\x80\x62\x04\x28\x06\x15\x7d\x90\x8a\x3e\x48\x45\x1f\xa4\xa2\x0f\x52\xd1\x07\xa9\xe8\x83\x01\x8a\x11\xa4\x18\x54\xee\x41\x2a\xf7\x20\x95\x7b\x90\xca\x3d\x48\xe5\x1e\xa4\x72\x0f\x52\xb9\x07\xa9\xdc\x83\x54\xee\x41\x2a\xf7\x20\x95\x7b\x90\xca\x3d\x48\xe5\x1e\x0c\x51\x8c\x10\xc5\xa0\x42\x0f\x86\x28\x46\x88\x62\x84\xda\x99\xb8\x2f\xd4\x42\x13\x8a\x11\xf6\x51\x88\x62\x50\xa1\x07\xa9\xd0\x83\x61\x8a\x11\xa6\x18\x54\xe8\x41\x2a\xf4\x20\x15\x7a\x90\x0a\x3d\x48\x85\x1e\xa4\x42\x0f\x52\xa1\x07\xa9\xd0\x83\x54\xe8\x41\x2a\xf4\x20\x15\x7a\x90\x0a\x3d\x48\x85\x1e\xa4\x42\x0f\x52\xa1\x07\xa9\xd0\x83\xed\x14\x83\x5a\x82\x20\xb5\x04\x41\x6a\x09\x82\xed\x6d\x4c\xdc\x17\x16\x24\x35\xf5\xb5\xb5\x28\x79\x2b\x33\x1c\xa2\xa2\x0f\x51\xd1\x87\x14\x7b\xe0\x6b\x0b\x2a\x79\x88\x56\x86\x69\xd2\x46\x93\x76\x66\x38\x44\x75\x29\x44\xe5\x1f\xa2\xf2\x0f\x51\xf9\x87\xa8\xfc\x43\x54\xfe\x21\x2a\xff\x10\x95\x7f\x88\xca\x3f\x44\xe5\x1f\xa2\xf2\x0f\x51\xf9\x87\xa8\xfc\x43\x54\xfe\x21\x2a\xff\x10\x95\x7f\x88\xca\x3f\x44\xe5\x1f\xa2\xf2\x0f\xf9\xe4\x9f\xa5\xaf\x47\xe9\x61\x4f\xab\x92\xfb\x94\xdc\xaf\xe4\x4a\x57\x7b\x94\xae\xf6\x84\x94\x3c\xac\xe4\x6d\x4a\x3e\xdb\x5e\x8f\x92\xf7\x2a\x79\x9f\x92\xf7\x2b\xf9\x80\x9c\xf7\x2a\x74\x7b\x15\xba\xbd\x0a\xdd\x5e\x85\x6e\xaf\x42\xb7\x57\xa1\xdb\xab\xd0\xed\x55\xe8\xf6\x2a\x74\x7b\x15\xba\xbd\x0a\xdd\x5e\x85\x6e\xaf\x42\xb7\x57\xa1\xdb\xab\xd0\x55\x8c\xa6\xaf\x4f\xa1\xdb\xa7\xd0\xed\x53\xe8\xf6\x29\x74\xfb\x14\xba\x7d\x0a\xdd\x3e\x85\x6e\x9f\x42\xb7\x4f\xa1\xdb\xa7\xd0\xed\x53\xe8\xf6\x29\x74\xfb\x14\xba\x7d\x0a\x5d\xc5\xb6\xfa\x14\xdb\xea\xeb\x57\xe8\xf6\x2b\x74\xfb\x15\xba\x8a\x85\xf5\x29\x16\xd6\xd7\xaf\xd0\xed\x57\xe8\xf6\x2b\x74\xfb\x15\xba\xfd\x0a\xdd\x7e\x85\x6e\xbf\x42\xb7\x5f\xa1\x3b\xa0\xd0\x1d\x50\xe8\x0e\x28\x74\x07\x14\xba\x03\x0a\xdd\x01\x85\xee\x80\x42\x77\x80\x6a\x4a\xbb\x42\x74\x40\x21\x3a\xa0\x10\x1d\x50\x88\x0e\x28\x44\x07\x14\xa2\x03\x03\xf2\xa7\x25\xf8\xe2\x0b\x84\xa5\xaf\xcf\x06\x84\x50\x91\xf2\xc5\x1b\x10\xe0\x67\x11\x20\x66\xee\xdb\x94\xf4\x7d\xfa\x27\x1d\xdf\x90\xdc\xde\x7e\xbc\x6a\x71\x0b\xcd\x5f\x6d\x1d\x7b\xf4\xff\x0b\x00\x00\xff\xff\x4f\x70\x1d\xba\x6e\x87\x02\x00"), + }, + "/static/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.svg": &vfsgen۰CompressedFileInfo{ + name: "fontawesome-webfont.svg", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + uncompressedSize: 444379, + + compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x6d\x73\x1c\x49\x92\x26\xf6\xbd\x7e\x85\x8b\x32\xd3\x17\x5d\xa0\xc3\xe3\x3d\x6e\xa6\xf7\xec\x6e\xe7\x76\x4d\x66\xa2\xf6\xcc\x6e\xef\x64\xfa\xd4\x86\x26\x8b\x2c\xec\x24\x01\x26\x10\xac\x9e\xc1\xaf\x97\xf9\xe3\x91\x59\x55\xc8\xac\x02\xc0\x66\x73\x7a\xa4\xb5\x99\x66\x15\x2a\x23\xe3\x3d\x3c\xfc\xf5\xf1\x3f\xfe\xa7\xbf\x7c\x1a\x68\xbf\xbd\x7f\xb8\xb9\xbb\xfd\xf1\x0d\x5f\xd9\x37\xf4\xd0\xae\x6f\xdf\x5f\x0f\x77\xb7\xdb\x1f\xdf\xdc\xde\xbd\xf9\x4f\xff\xb0\xf9\xe3\xff\xf2\xa7\x7f\xf9\xc7\x7f\xfd\x7f\xfe\xdb\x7f\xa5\x87\xfd\x47\xfa\x6f\xff\xe3\xbf\xfc\x9f\xff\xc7\x3f\xd2\x1b\xf3\xc3\x0f\xff\xb7\xff\xc7\x1f\x7e\xf8\xd3\xbf\xfe\x89\xfe\xfb\xff\xfc\x67\xe2\x2b\xfe\xe1\x87\xff\xfa\x7f\xbd\xa1\x37\xbb\xd6\x3e\xff\xc7\x1f\x7e\xf8\xe5\x97\x5f\xae\x7e\xf1\x57\x77\xf7\x1f\x7f\xf8\xe7\xfb\xeb\xcf\xbb\x9b\x77\x0f\x3f\xfc\xf7\xff\xf9\xcf\x3f\x48\xc1\x3f\xfd\xeb\x9f\x7e\x78\xd8\x7f\x64\xbe\x7a\xdf\xde\xbf\xa1\x7f\xd8\xfc\xf1\x61\xff\xf1\x1f\x36\x7f\xfc\xb4\x6d\xd7\xef\xaf\xdb\xf5\x3f\x6c\xfe\xf1\x7e\x7b\xdd\xb6\xef\xe9\xe7\xbf\xd2\x3f\xdd\xdd\xb6\x7f\xba\xbb\xff\xb8\x25\x67\xd9\xd9\xec\x99\xae\x1b\xbd\xbd\xbb\xa5\x7f\x79\xd7\xc8\x05\xe2\xfc\x1f\x7d\xfe\x8f\xc1\xca\xf3\xb4\xa1\xff\xf2\x57\xfa\x0f\xff\xe1\x3f\x6c\xfe\xf1\xee\xf3\x5f\xef\x6f\x3e\xee\x1a\xfd\xe9\x7a\xbf\xa5\x7f\xbe\xbe\x7d\xff\x57\x94\xb8\xa2\xff\x3c\x0c\x84\x47\x0f\x74\xbf\x7d\xd8\xde\xef\xb7\xef\xaf\x36\x7f\xfc\xe1\xd0\xfa\x1f\xdf\x6f\x3f\x3c\xfc\xc3\xe6\x8f\x1f\xee\x6e\x1b\xdd\xbc\xff\xf1\x8d\xf4\xe1\x3f\xff\xb2\x7d\xb8\xfb\xb4\x7d\x43\xbb\xbb\xfb\x9b\x47\x73\xfd\x7e\x6f\xfe\xf2\xe3\x1b\x8e\x3e\xc9\x08\x88\x50\xda\x7c\xb8\x7e\xb7\xa5\x0d\x11\x51\xff\xf3\xd3\xcd\xf0\xd7\xd3\x0a\x0e\x4f\x7f\xd9\x4a\x2f\x7e\x7c\x13\xac\x3d\xfa\xf5\xa1\xdd\x6f\xdb\xbb\x9d\xcc\xff\xfd\xa7\xeb\x41\x9f\x7c\xb9\xbd\x69\x0f\xe6\xf3\xf6\xde\x6c\x3f\xfd\xf8\x86\x73\x75\xfa\xfb\xe7\xeb\xdb\xbb\x87\xad\xe1\x1f\xdf\x58\x5a\xfc\x4f\x8b\x5c\x3f\xbc\xdb\xde\xb6\xde\x55\xfc\xf2\x7e\xdb\x7f\x32\x2e\xf6\x9f\x7e\xfe\xf9\xee\x2f\x3f\xbe\x31\x7c\x65\x9d\x2d\x9e\xe4\xc1\x55\x4d\x8e\x9c\xb7\xe1\x2a\x11\x47\x9f\xaf\xac\x9b\xfa\xf2\x7e\x7b\x3f\xdc\xdc\x6e\x4d\xdb\xdd\xbc\xfb\xf3\xed\xf6\xe1\xe1\xc7\x37\xf6\xe9\xb3\xcf\x77\x0f\x37\x0d\x1b\x6b\x7e\x74\xf3\xee\xee\xfd\xd6\xdc\x5f\xdf\x7e\xdc\xfe\xf8\xe6\x7f\xfc\xef\xd6\x3a\x6b\xfe\x29\xea\xe0\x7f\x90\xf5\xbf\x79\x78\xb8\xb9\xfd\x68\x3e\x0e\x7f\xfd\xbc\x3b\x9d\xe7\x52\xd3\x1b\xda\xbc\xff\xf1\xcd\x5b\x27\x4b\xce\x6e\x17\x42\xd9\xb3\x67\xb7\x33\xf2\xcd\xc8\xd7\xc7\xb7\xcc\x8e\xec\x5e\x46\xba\x4b\xd9\xed\x0d\xbe\x99\x94\xdd\xe3\x1b\x69\x41\xba\xf1\x47\xad\x1d\xff\x9a\xdb\xeb\x4f\xdb\x1f\xdf\x5c\xdd\xde\xb5\xf7\xdb\x0f\x6f\xbe\x6b\x93\x5f\x86\xe1\x49\x83\xf6\x0d\x6d\x2e\xbc\x72\x7b\x77\xfb\xe9\xfa\xfe\xcf\x37\xb7\x1f\xef\xb7\xed\xcb\xfd\xed\x93\xb7\x63\xcd\x97\xdf\x7f\xf8\x7c\xfd\x6e\xfb\x66\x5a\x86\x1f\xdf\xd0\x93\x0a\x42\x28\x97\x2b\x78\x7f\xb3\xbd\xdf\x3e\xdc\x3c\x1c\xd5\xf1\xbf\xfd\xaf\x7f\xb9\x2e\x7f\x78\x7a\x26\x64\x77\x5e\xac\xe9\xdd\x74\x38\x9f\x54\x55\x5f\x5f\xd5\xfd\xf6\xe3\xcd\x43\xdb\xde\x6f\xdf\x3f\xa9\x6b\xfb\xfa\xba\xae\xdf\x7d\x69\xdb\xd3\x6a\x7e\x0e\xaf\xaf\xe6\x3f\xff\xd7\xd3\x3a\xde\xa5\xd7\xd7\xf1\x2f\x0f\xc3\xf5\xc3\xee\xb4\x9e\xf7\x5f\x31\xd3\xed\xfe\xfa\xfd\x56\xb6\xcd\x69\x55\x8e\x9d\x7b\x7d\x65\x37\xb7\x1f\x6e\x6e\x6f\xda\x5f\x9f\xd4\xe5\xf8\x2b\xe6\xfa\xf6\xae\x6d\xc7\x2f\xd7\xc3\xd3\xba\x92\x7d\x7d\x5d\x1f\x87\xeb\x87\x27\xbb\xf2\x83\xb5\xe7\x2a\x92\x13\xcd\xa9\x56\x62\x1f\xed\x68\xc9\xf8\x48\x26\x78\x32\xb9\x0c\x26\x79\x47\xf2\xcf\xde\xe4\x54\x76\xde\xd9\xd1\x25\xb2\x14\x22\x19\xae\x8d\x2b\x99\x10\x9b\x99\x3e\xf5\xe7\x9d\x29\x35\x8d\x06\x05\xe5\x27\xae\x28\x11\x62\xd3\x7f\xf1\x93\xd4\xb5\xcf\xa9\x37\x91\xbc\x1b\xa5\x4d\x69\x36\x78\xca\x65\xb4\xe4\x3c\x71\x21\x9f\xae\x62\xf3\x85\x38\x5f\xc5\x26\x25\x76\x1c\x6c\x19\x9d\x97\x5e\x48\x69\x79\x68\xf0\x94\x0b\x19\x29\x7e\x91\xd0\x7c\xfa\xf2\x70\xf3\x6e\x31\x37\xfc\x87\x69\x22\xa2\x4f\x24\x84\x6c\x6f\x98\x1d\xa6\x23\xca\x94\x04\x32\xa5\x36\x53\x12\x99\x64\xaf\x64\xc8\xd6\x5f\x45\x32\xde\x35\x53\x93\x7c\x63\xfc\x8c\xef\x7c\x54\x42\x0a\x94\x44\xfa\x92\x0f\x54\x6a\xd3\x7f\xa7\x1f\xe7\x62\xf3\xab\x23\xdb\x48\x96\xb8\x3a\x32\xbe\xee\xa3\xcf\x83\xcc\x3e\x19\xe7\xf3\xde\x64\x5b\x7f\x8b\x5e\x6d\x5e\xdb\xad\x9a\xf2\x68\xc9\x33\x71\xa5\x28\x8b\x14\x2a\xf9\x78\x15\x87\xe2\x1d\xb9\x98\x46\x76\x14\xc8\x15\x0a\x63\x90\xdb\x17\x03\x28\xcd\x15\x32\xa9\x5c\x5c\xa2\x87\xed\xf5\xfd\xbb\xdd\x62\x8d\x96\x07\x34\xa5\x30\x2d\x1b\x47\x47\xd9\x86\xd1\x12\x17\x19\xb6\x67\xe9\x3d\x27\x8c\x8f\x31\x04\xf9\x69\xfa\xc3\xf4\xbf\xb4\x9c\xfe\xd8\x4e\xfe\x38\x29\x77\x5c\xc3\x51\xd5\x8f\x6f\xa5\x0b\x64\xd8\x15\x2c\x89\x4c\x4c\x21\x53\x6d\x33\x55\x96\xa7\x8c\x26\x06\x39\x04\xd5\x92\x2f\x83\xf1\xc1\x93\x0f\x6e\x34\x9c\xab\xbc\x15\x64\x22\xf5\xdb\x68\x38\xc8\x96\x36\x2e\xcb\xbc\xc7\x28\xbd\x73\x2e\x12\x47\xdb\x0c\x47\x4b\xce\xc5\x66\xe4\x77\x42\x91\x4d\x3b\x7c\x6f\xd3\xf3\xe9\x85\xa3\x4a\xf4\xab\xd1\xef\x4e\x46\x14\x2d\xca\x4b\xed\x5a\x87\xb6\x39\xe2\x27\x7b\xe8\xd7\x20\xdd\x95\x3e\x8f\x3e\x93\xf1\x99\xe4\xa3\xda\x8b\x4b\xb7\xbd\xdd\x6f\x87\xbb\xcf\xdb\xc5\xe2\xf9\x8b\xc4\x27\x05\xf2\x4e\xa8\xc1\x68\x84\xde\x78\xd9\xcf\x95\x4c\x02\x15\x91\x7d\x63\x13\x99\xe0\x12\x19\x8f\x49\x65\x25\x50\xc2\x98\xa5\x2c\x3b\x59\x46\x11\x8a\xee\x6f\x87\x21\x85\xab\xb8\x33\xbc\x33\x3c\x9a\x50\x64\x62\xf5\x81\xfc\xde\x5f\xd0\xf2\xc5\x53\xca\xa3\xe1\x58\x88\xa5\x6d\x69\x05\x8d\xc8\x80\x2d\xfa\x91\x12\xa8\x9f\x4c\x10\x7b\xaa\xa8\xde\x61\x3a\xe5\x6b\xbd\x8a\x3b\x0e\xd9\x8d\x2c\xeb\x87\xdf\xea\x55\x6c\x52\x4c\xfe\xe8\x7b\x84\x6d\xf1\x7b\xe6\x3d\xcb\x72\x19\x8b\xdd\xb4\x69\xc6\x13\x4b\x4d\x46\x96\xa1\x36\x53\x29\x63\x0c\x81\x1c\xba\x2f\xd5\x1a\xd6\x7d\x31\x35\xd6\xcc\xdc\x03\xf4\x28\x15\xe2\x90\xe5\x6c\x85\x91\xab\x97\x05\x76\x14\x2c\xcb\x46\xce\x63\x22\x13\x49\x08\xba\x93\x57\x83\xcc\x20\x08\x69\xd0\x9d\x7e\x15\x5b\xb4\xba\x05\x94\xbc\x9a\xba\xe3\x1d\x8f\xce\x2a\x79\xad\xfa\xd8\xcd\xef\xe0\x95\x90\x08\xb5\xf8\x48\x52\xed\xe8\x6c\x21\x4e\x11\xad\x4a\xa3\x31\xc8\xbb\x6c\x31\x4c\x8e\x78\x63\x3a\x3f\x8f\x9b\xb7\xb2\xf4\xc2\x3f\xda\xbd\x61\x5b\x30\xaf\x49\xd6\x37\x93\x61\xf6\x4d\xfe\x91\xbf\xa6\xf1\x27\xdc\x23\xf2\x63\xc8\x4d\x4a\x31\xfb\x7d\x7f\x31\x25\xd2\x1f\x9a\x3e\xd7\x95\xc0\x1b\xbd\x96\xd6\xab\xbd\xb8\x6d\x77\xdb\xeb\xfb\xb6\xd8\xb3\xe7\x58\x1d\xd9\xb3\xa5\x26\x3d\xf7\xd3\x35\x17\x88\xe5\x2e\x73\x81\x92\x95\x45\xb3\x54\x74\x56\xc9\xa5\x7e\x6e\x13\x0e\x75\x2a\x54\xb1\xca\x51\x0e\x26\x3b\x6e\xc6\xe1\x9b\xc7\xa5\xe7\x2c\xb1\xcb\xe4\x43\x68\x3e\x32\x09\x69\x48\x4e\x86\xe3\xb0\xc9\x1d\x48\x90\x1c\xd3\x58\x5a\xc5\xe9\x4d\xb2\x8f\xb3\x1c\x99\x32\xfa\x44\x3e\x51\x4e\x94\xfa\x53\x3c\x94\xf2\xb1\x34\xad\x42\x6a\x18\x85\x83\xb7\x24\x0d\xc8\x71\x6f\xd2\xa2\xf1\x21\x28\x0d\x60\xf9\x07\x37\xba\x95\x11\xc9\x21\xb3\x76\x33\x1a\xb9\x5f\xe5\xbf\x20\x24\xef\x19\x12\xde\xae\xef\x17\xf3\x19\x2f\x11\x70\x39\x24\xa5\x54\xed\x01\xc9\xac\x9a\x20\x24\x33\x09\x0d\x8a\x61\x90\x3b\x2e\x5a\x3b\x32\x99\x4c\xd2\x43\xdc\xcd\xd2\x57\xc6\x06\xf6\x98\x5c\x8f\xef\x1c\xae\xe2\x28\x2c\x87\x2c\x8c\x4c\xdd\x60\x42\xa8\xe4\x7c\xd2\x2f\xc6\x79\xa1\x2c\x4e\x06\x8f\x12\x86\xdd\x28\x75\x59\x3d\x13\xc4\x41\x49\x89\x6c\xf8\x88\x73\x96\xc8\x91\xb3\xd2\x8b\x68\xad\x74\x2b\x90\x8f\x61\x34\x4e\x0e\x87\x88\x87\x14\x64\xf9\x7c\xa6\x98\x28\xa4\x21\x5a\x47\xd9\x0f\x42\x71\x43\x8c\xa3\x30\x3e\x4c\x41\xfe\x95\x7b\xd2\x04\xc6\x23\x13\x62\xdc\xa0\xac\xc9\x7e\x8c\x89\x8c\xdc\xa5\x64\x42\x7a\x76\x76\x7f\xda\x7e\xfa\xfc\x94\xf3\xfc\x60\xed\x92\xb5\x3e\xbe\x24\xa5\x7b\xde\x0d\xde\x26\x72\x35\x0f\x26\x38\x47\xc9\x0d\x86\x4b\x25\x5f\xfa\x17\x83\x6f\xf2\xc8\x24\x2d\x6b\x50\x38\xcb\x79\x72\x3c\xf8\x5c\x88\xe5\x7a\xc8\x72\xb2\x6a\x7d\xfc\xda\xc5\x93\x4b\x28\xb0\x7c\xfe\x96\x8b\xb5\xf9\xa6\xab\xf5\xfa\xc5\xfa\xf2\xb0\x5d\x1e\x85\xbc\x58\x26\x57\xec\xb4\x4c\xae\x58\x62\x9f\x41\xdd\xad\x5c\x83\x20\xfd\x5c\x32\x18\x01\xf9\x9e\xcb\xce\x14\x19\x50\xd1\xab\x0d\xbf\xe6\xd2\xb4\x28\x17\x79\xb7\x44\x2a\xf2\x07\xb8\x39\x9d\xa8\xe8\x5a\x2c\x4a\x88\x5b\x05\xb7\xc7\x1e\x44\x5d\xce\x0b\x7b\x10\x83\x42\x5e\x08\x27\xbb\xd2\xe4\x8b\x90\xb8\x0c\x72\xea\xf5\xca\x90\xc9\xae\xca\x77\xa2\x2e\xe1\x90\xb4\x7a\xb9\x78\x9a\xfe\x24\x6d\x3e\xbe\x65\xeb\xe4\xe2\x73\x20\x2b\x1c\x85\xd1\x61\xbd\x9c\x33\x98\x2f\x7c\xf4\x1f\x37\xd3\x9f\xac\x17\xa2\x96\xd4\x82\xc7\xdf\x8f\x0b\x1d\xbf\xdf\x8e\xab\xbe\xb8\x1e\x1f\x6e\x86\x4f\x8b\xf5\x58\x4a\x92\xd5\x4d\xeb\xe1\x4b\x20\x93\xc2\x5e\xb9\x3c\xd9\xdb\x2a\xc6\xa8\x68\xb3\x3b\xb9\x05\x54\x2c\xea\xf2\xd0\x7e\x62\x0c\x5d\xa2\x2e\x21\x75\x01\x49\x7e\x9f\xe4\x28\x15\xa3\x42\x7c\x44\x43\x22\x15\x7d\x97\x86\xb2\xbd\x38\xa2\xcd\xb7\x69\x49\x64\x35\x4c\x5e\x64\xb7\xda\x14\x78\xbe\xf5\x96\xf4\x95\x65\x4b\xf2\xca\xfa\x98\x84\x29\xf8\x16\xb3\xb7\x79\x66\x50\xc2\xbf\x7c\x97\x1d\x81\xe9\x93\x95\xfa\xcd\xa7\x0f\x63\xea\x9b\x6f\xf3\x1b\x0f\x4a\x9a\x7a\x66\xfb\x7d\xc3\x96\x5e\xb7\x29\x36\x5f\xdd\x56\x05\xe7\xa6\x7a\x50\xe5\xa4\xce\x30\xb5\xc9\xda\x73\x4c\xad\xbe\xb8\x64\x6a\xe5\x95\x57\x33\xb5\x6d\xf7\xd3\x70\x7d\xff\x71\x29\x8b\x2d\xb5\x8a\x07\x1e\x21\xa7\x42\x91\xdd\xde\xf8\x12\xd6\x65\xda\x1d\x76\x96\x3c\x98\x04\xdb\x26\x25\xaa\xdd\xeb\x2b\xd1\x11\xfe\x6c\x78\xb6\x93\xc2\x28\xab\x6f\x37\xad\xec\x11\x0d\xc9\x4d\xf7\xdb\xb7\x04\xee\xe4\xf2\x98\x36\xdf\xb2\xa9\xef\x32\xaa\xcb\x0b\xbf\x58\xf2\xeb\x0b\xa2\x4c\x64\x47\xae\xc8\xbe\xad\xa0\x18\xc2\x62\xa9\x96\x06\xc2\x8a\x71\x65\x67\xbc\xb3\xa3\x81\x1a\x47\x7e\x72\xa5\x49\x89\x54\xf6\xfa\x4a\xb0\x84\x3f\x1b\x9e\x41\x4b\xb8\xa2\xf2\x41\x43\xc5\xda\xdf\xbe\x21\x68\x83\x5e\x30\xa4\xcd\xb7\x19\x53\x57\x17\x7e\x8f\x41\x7d\xcb\xe9\xdb\x9c\x6f\x4a\xe8\xe6\x77\xd9\x12\x18\xd4\x77\x9a\x3f\x19\xd4\x34\x7f\x9b\xdf\xbe\xa9\xef\x32\xaa\xe7\xe8\xff\xcd\xc3\x52\xad\xf1\xf3\xff\xbf\x68\xc1\x4b\xf6\x72\x4d\xaf\xa1\x05\x35\xfd\xcd\x69\xc1\xf1\x5e\xbe\x30\xa8\x57\xd0\x82\x73\x83\x7a\xd9\x5e\x7e\x4d\x5b\xe7\x9a\xba\xb4\x97\xef\xfe\xbc\xd8\xc6\xef\x2e\x6a\x94\x33\x53\xcd\xf6\xb4\xbb\x83\xc9\x2e\x90\xfc\x33\x18\xf6\xc2\x0b\x42\xb3\x50\xa6\xe7\xe8\x8c\xf6\x5f\x0b\xb0\x4f\x83\xf1\xc9\x91\x4f\x0e\x05\x7b\xd9\x84\x3e\xa7\x32\xf4\x42\xa3\x3e\xd2\x91\x6b\x3d\x83\x13\x21\xd9\xd5\x38\xa4\x98\x28\xc5\xbc\x56\x66\xee\x44\xaf\xf7\x05\x13\x71\xbf\xfd\x74\xb7\x5f\xb2\x74\xef\x17\x93\x11\x6c\x99\xf5\x09\xb5\x90\xe3\xf0\x74\x32\x9e\x9d\x02\x19\x82\xab\x41\xbf\xc8\x3f\xcf\x4d\xd6\xea\x1c\x9d\xd4\x32\x55\xf2\xfa\x89\x0c\x53\x45\x2f\x9f\xc8\x4d\x9b\xc7\x7a\x52\x89\xe9\xb5\xbc\x70\xca\x1f\xef\xee\x3e\xfd\x74\x73\xbb\x98\xf3\xa5\x91\xf7\x48\xd5\x66\x5d\xa0\xec\xd3\xde\xa4\xd0\xed\x06\x07\xb5\x7d\x3b\x28\xf3\x77\xc6\xb9\xb0\x97\x7f\x2e\x97\x4a\xe1\xc4\x0e\x30\x9b\x01\xe4\xaf\xbd\x73\x01\xf5\x5c\x28\x82\x5e\x74\xe3\xc5\xc1\x76\x21\x55\x4b\xfb\xda\xfc\xea\xe3\x14\x8e\xec\x1a\x66\x32\x6c\xa0\x09\x74\x5b\xde\xdf\x9c\x2d\xf2\xf8\x3b\x31\xcc\x79\x35\x7b\x08\xe7\x8c\x69\x51\x8d\x71\xbe\x8a\xbf\xca\x40\xb7\xb9\x6c\xa1\xfb\x5d\x1a\xe8\xb0\x99\xef\xbe\x2c\xb8\x02\x5e\x7a\x07\x7c\xcd\x6e\x8e\x39\x7d\xd5\x2e\x94\xf7\x7e\x77\x9b\x68\xf3\x5d\x76\xd1\xef\x74\x13\x6d\x2e\x5e\xc7\x1f\x3e\x2c\x36\xd0\xa9\x0b\x45\x0a\x56\xb5\xbe\x89\x4c\x62\x21\xb9\xa5\x19\x96\xd9\x74\x41\x86\x0c\x5d\x4a\x0a\x4d\x1e\x48\x09\xfd\x82\xcf\x10\x09\x4f\xa4\x34\x0a\x27\x26\x57\x0b\x16\x5f\xb8\x1e\x28\xac\x7d\x73\x6a\xcd\xca\x76\x94\xe9\x76\x04\x73\x97\x8b\xad\xe8\x4c\xd8\x51\xad\xb9\xb0\xf8\x92\xa9\x30\x12\x04\x6c\xaa\x02\xf3\x90\xb4\x9b\x65\x75\xa3\x6a\x91\x0b\x77\x93\x9c\x71\xba\xde\x6c\x03\x05\xb5\x27\x55\x58\xd1\x6c\x55\xe5\x36\xd6\x22\x79\x75\xaf\xa8\x42\x07\x50\x40\x6e\x57\x79\x82\xef\xfa\x15\x85\x50\xa6\xbf\xad\x2f\xa3\x56\x94\x93\x41\x39\x26\x6d\xd8\xc9\x8d\xaa\xdd\xe1\xc2\xa3\x74\x1e\x63\x90\x17\xa5\xcf\x0d\x43\x91\x91\x8c\x9e\x29\x78\x2a\x81\xa2\x6d\x55\xba\x1c\x47\x0e\x49\xed\x05\xae\x5b\x0a\xb3\x6d\x45\xb7\x68\xf0\x8f\x30\x58\x0a\x53\x20\x67\xd8\xae\x6b\x26\xda\xa9\x3a\x42\xcb\x9d\xaa\x23\xda\xcb\xb5\x10\x0f\x37\x1f\x6f\x9f\xba\x33\x7d\xb0\x7c\xce\xcd\x0a\x7e\x85\x31\x51\x4d\x33\xa3\xc9\x81\x0c\xec\x3f\xcd\x38\x58\xa6\xf1\x40\x7e\x96\x4d\xec\xd5\x60\xee\x7c\x67\x32\x39\x90\xfc\xd5\xe4\xc1\x4e\x7e\x42\x39\xbc\xd8\x50\xcb\xe3\xdb\x24\x8c\xa8\xdc\xb7\x5e\x0d\x50\x2f\x6d\x40\x8b\xbf\xa0\x01\x10\xca\x50\xec\x1e\x84\xf0\xe5\x2d\x6c\xf6\x5a\xfe\x25\x4d\x04\x5b\xa8\xa4\xb0\x07\xcf\xfd\x8a\x41\x68\xf1\x97\xb4\xa0\x1c\x7f\x96\x85\x08\xf9\x75\x2b\xa1\xe5\x9f\x6f\xe4\xd2\xc6\x79\x77\xf7\x71\xb1\x6b\xfc\x1f\x8e\xaf\x22\xdd\x99\x6c\x13\x99\x8c\xb3\xd2\xe4\xf8\x52\x8e\xfa\x69\xe4\x4b\xee\x67\x7a\xfa\x9c\x1e\xf4\x82\xfa\xde\xa3\x12\xab\x1c\xaa\x30\x33\x3a\x54\x47\xa6\xf4\xa1\xe2\xaa\x1b\x0c\xee\x1c\x57\x60\xa4\x14\x4a\x6f\x7c\x25\x53\x79\xf4\xa0\x33\xc4\x36\x4b\xb9\x32\xb2\xbe\x2e\x1f\x42\xc4\x31\xd2\xd1\x38\x25\xab\x06\x37\x80\x95\x43\x26\x32\x08\x8f\x52\x54\xd5\xcb\x55\x18\xe8\x42\x6c\xcb\x08\xdb\x3a\x26\x8a\xa1\x97\x1c\x0d\x2b\x67\x2b\x14\x54\x06\x92\x46\x93\x95\x05\xc7\x6f\x65\x87\x7e\x4f\x2b\x21\xf4\x41\xbd\x60\xb8\x5b\xfa\x07\x29\xcb\x25\x8c\x26\x54\x92\xba\xe4\x18\xe7\xc1\x70\x80\xe5\x3c\xc3\x53\x01\x5d\x15\x22\x39\x57\x14\x89\xd1\xc3\x44\x2c\x6b\xcf\x49\x48\x57\x91\xb6\xa5\x78\x26\xe7\x41\xb9\xa8\xc8\x37\x96\xa6\x28\x32\x25\xb9\x5a\x63\xa0\x6c\x85\xc0\xba\x4c\xdd\xc2\x5b\x65\x84\xc5\x93\xcb\x60\x0e\x1c\xec\xf6\x6a\xe7\x93\x0a\xc0\xc2\xba\x43\x85\x8d\x2b\xb1\xdf\x0c\x5c\x12\xb9\x22\x9b\x27\x24\xf2\x95\x64\xcb\x05\x4b\x31\xa3\xe7\x70\x98\x90\xde\xcb\x8a\xb1\x25\xe5\x61\x2d\x76\xde\xe8\xe0\x07\x01\x4a\xcc\x36\xc3\x64\x79\x15\x29\x33\xec\x9c\xd4\x2d\x01\x76\x60\xf8\x0e\xda\x3c\x86\x20\xdb\xb3\x32\xc9\x32\x42\x14\x21\x57\x49\xa6\x3b\x8b\x88\x20\x7f\x96\x9d\x74\x52\x77\x32\xae\x14\xdc\x09\x3c\x39\x65\x0c\x0e\xde\x11\x61\x0c\xb2\x4e\x49\xd5\xb5\x79\xe0\x20\x1b\x22\x8f\x55\xfa\x15\xa8\xf6\xe6\x71\x75\x8c\x8c\x35\x95\xd1\x26\xf9\x21\xdb\x31\xcb\xe6\x93\x05\x56\x0d\xd5\xbc\x19\x47\xc3\x51\xbd\x1d\x22\x93\xc1\x3c\x63\x27\x62\xa6\x1d\xac\xeb\x24\x2b\x5a\xcb\xc0\x70\x57\x2f\xd2\x90\x71\x04\x07\x09\x99\x69\x54\xf3\x8c\x69\xb4\xdd\x2f\x7c\x6c\x3f\x58\x5e\xba\xc1\x1c\x64\xcb\x59\x8d\x73\x96\xde\x41\x72\x79\x4a\x27\x56\xa8\x9d\x08\x1a\x0b\x52\x94\x53\xf9\x2d\xab\x07\x31\xf9\xba\xfa\x37\x2f\x6b\x00\x8c\x6b\xda\xd7\x50\xe0\x14\xbb\x37\x35\x94\xee\x25\x91\x27\x7e\x21\xe8\x6d\xdd\xd4\x8f\xa5\x5c\xc5\x5d\xf1\x6e\x94\x6d\x82\x5f\xca\x54\xc6\xe5\x96\xc1\x57\x3c\xbe\x0d\xc5\x92\xd4\xbd\x0b\xa1\x0c\x26\x14\x62\xce\x72\x38\x65\x3b\x65\x62\xde\xc1\xf7\x0b\x47\xdb\xe1\x27\xc3\xdc\xaf\x0e\xf5\xbb\xea\x7c\xfc\x62\xb8\x47\x5d\x2c\xbe\x5b\xaf\x82\x57\x8a\xe2\xd5\xc9\x74\x67\x8a\x77\x9b\x63\x0b\x56\x04\xc9\x09\x99\x38\xf0\x55\xdc\xd7\xe8\xa4\xa2\x95\x79\x53\xfe\xff\x78\xd6\xbc\xad\x43\xb6\xc4\x29\x0b\x15\xf1\x99\x62\xa0\xe4\x5b\xae\xe4\xd2\x41\xfb\x25\x6c\xb4\x4b\x42\x59\x4c\xf2\x52\xde\x70\xca\xf2\xee\xeb\x2e\x96\x1d\xc2\x55\x9e\xec\xee\x8b\x4e\x49\x32\x61\x31\x84\xbd\x09\xc5\x76\x5b\xe0\xc2\xd7\xd9\x97\xb0\xf7\x45\x24\xf0\x98\x60\xf6\xc1\x4f\x6b\xee\xcf\x7b\xad\x85\x09\x2c\x6c\xc3\xbf\x43\xcc\x91\x42\x0e\xf8\x34\x21\x87\x51\x98\x65\x92\x43\x2e\x42\xac\x67\x4a\x72\x05\x25\x27\xcc\xea\x28\xc4\xa0\x76\xaf\x27\x59\xe4\x59\xd6\x62\xca\x83\x49\xd5\x51\xcc\xfd\x8b\x89\x39\x8f\x33\x01\x11\x52\x71\x4c\x7b\x19\x55\x6a\x8d\x13\x45\x07\x39\xc3\xa5\xb1\x19\x32\x57\x8a\xb5\x0a\x0f\xed\xe0\x4f\xe6\x12\x5c\xcc\x5c\x1a\x1c\xae\x28\x1b\xf6\x5c\xe3\x4b\xee\xfa\xbd\x09\xb6\x0c\x8e\x71\x7d\x39\x5c\x92\xb2\x0b\xbb\x2b\x1b\x6e\xb3\xe7\xe8\xd2\x87\x9b\x61\xfb\xd3\xf5\xb0\x14\x5a\xd3\xcc\x16\x84\x24\x95\xc6\x59\x03\x14\x84\xbb\x4f\x4d\xae\x70\xe8\x7e\x39\x9e\xd5\x5d\xc2\xea\xba\xaa\xbc\x4c\xd6\x2e\xb5\x97\xa5\x26\xdd\x95\x05\x8e\xa9\x98\x96\x50\x26\x6f\x97\x20\xd4\xc4\xe7\xb4\xf3\x90\x84\xad\x5c\x23\x72\xda\x03\x0f\xc6\xb3\x27\xcf\x1e\xab\x02\x5f\x26\x26\xe7\x26\x1f\x09\x76\x65\x2f\x55\xec\x4c\xe0\xb4\xda\x9d\xc0\x09\x06\xff\x1e\x52\xc3\xae\x3c\x23\xa5\xb5\x9b\x95\xfd\x9e\xff\x70\xe4\xc1\x58\xab\xdb\x9b\xa0\xe7\x7d\x49\x0c\xa0\xaa\x7e\xc1\x21\x16\x96\xda\xc7\x05\xe3\xb7\x4e\x11\x3d\xbb\x89\x7f\xc3\x1a\x09\x57\xe0\xe5\x80\x14\x91\x88\x9a\x48\xa9\x24\x3f\xc8\xa7\x99\x9e\x18\x3c\x92\x5f\xa4\xf0\xf4\x39\x3f\x99\xca\xf6\x77\xa7\xba\xb4\xee\xc7\x59\x20\xc5\x95\xea\x2c\xf8\x30\x91\x79\x8b\x4a\xdf\x59\x35\x0d\x19\xba\x0a\xfc\x88\x02\xd3\x77\x7c\xd5\x42\xbd\x8c\xbc\xad\x2f\x1f\xbe\x1d\x17\x38\xbc\x77\x54\xdb\x49\x33\x87\xf6\x2f\x2b\x7b\xef\xae\xdf\x2f\x16\xf0\x92\xab\x12\x33\x33\xc5\x60\xf7\x61\x90\x33\xaf\x0b\x48\xf0\xe7\x62\xea\xca\x1a\xa8\x5f\x76\xca\x4a\x76\xea\xe1\xbb\x63\x31\x4e\xa5\x03\xd3\x28\x5c\xae\x5c\x14\x72\xfd\x81\x0f\xd1\xcd\x2e\x94\xa7\xec\x5c\x08\x23\xb8\x57\xc7\x54\x5a\x21\x67\x1f\xdf\x72\xc9\x96\xb2\xb0\x85\xea\x28\x28\xbc\xb9\xdf\x99\x6c\x67\x05\x22\x94\x41\x85\x7a\x03\x16\x31\x02\xe7\x7a\xe7\x8e\x1c\x9f\x57\x7a\x07\x16\x35\x6d\xb4\x6f\x1e\x7d\x53\x75\x52\x57\x43\x49\xab\xd2\x05\x8b\x8e\xa0\x57\x31\x10\xb8\xd9\x34\x04\xb9\x22\x6d\x08\xa3\xec\x12\x82\xbb\x37\x02\x4c\xc2\xce\xfb\x7a\xa1\x55\x06\xc1\x77\xda\x68\x20\x15\x12\xd0\xe4\x8e\x53\x3a\x8c\x52\xc6\xe8\x51\xbc\x97\x5e\x1b\xa1\x34\x05\x27\x6b\x70\xa0\xa1\xa9\x6f\x3b\xfa\x66\xd0\x39\xf9\x21\x39\x65\x54\xf9\xb2\x87\xe1\xfb\xbb\x5f\x6e\x87\xbb\xeb\xf7\xab\x24\xf2\x92\xb3\x87\x7a\x1a\xd6\x35\xd7\xa2\xf6\xc4\xf5\xa6\x9d\xf8\xc0\xb4\x53\xd7\x17\xc4\xcc\xfc\xfa\x6a\x52\x0a\x14\x38\xcd\xe2\xf9\x2a\xb1\x86\x4b\xf8\x0a\x75\xd4\x77\x9e\xd0\xea\x90\xe2\xc0\x1e\x8a\xbe\xb4\x19\x63\x21\x13\x95\xb9\x37\x31\x35\xf9\x8c\x69\x32\x3d\xec\x42\x5a\x0d\x54\x79\xcb\x5e\x44\x8f\x12\x47\x59\x9a\xa0\x6b\x6f\xb2\x1d\x84\x6e\x12\x88\xa7\x3a\x46\xd7\x83\xb7\x12\x86\xa5\x05\xf0\xdc\x33\xae\x01\x16\xc9\x48\xaa\xf1\x72\xb9\x92\xaf\x3b\x61\x19\x94\xfc\xaa\x97\xd1\x1c\x1c\x25\x67\x63\x19\x68\x05\x5a\x8d\x67\x41\x4e\x5f\xac\x22\x8a\xbe\x68\x6b\x2c\xb6\xc5\xf5\x7c\x73\xb2\xb3\x94\x6c\x99\xc4\x0d\xf0\x8c\x41\x2e\x2b\xa9\x9d\xe5\x40\x70\xbf\x18\x84\x8c\x63\xff\x0e\xb2\x42\x9d\xba\x44\x48\x95\x99\x7c\x1c\x85\x10\x90\xb7\xe4\xac\x30\x02\x6b\x57\xc2\x3a\x7f\xe0\xa3\x3b\xa3\x8a\x80\x93\x10\xa4\x57\xd6\x20\x8e\x6f\x76\x2b\x6c\xda\xb9\xab\xe7\xf1\x44\x81\xf9\xf7\x74\x5d\x7c\xf9\xbc\xba\xd4\x3f\x1f\x96\x9a\x0b\xa5\x64\xc1\x46\x0a\x0d\xf5\x18\x20\x94\x39\x58\x85\x57\xe9\xc4\x84\xcb\x5f\x7d\xa4\x82\x3c\x24\xf2\x41\x76\x91\x6c\x22\x66\xec\x02\xaa\x0d\x95\x0e\x1e\xcd\x3b\x3b\x82\xa8\x26\x11\x86\x7c\xfc\x4d\xd6\x7b\xd3\xa6\x75\xfe\xff\xdc\x7a\xdf\xdc\xfe\x7c\xf7\x97\xc5\x72\xbf\x3b\x52\x95\x79\x8a\xc2\x8a\x32\x2e\x5a\x99\xaf\x49\x3f\x24\x5f\x32\xae\x52\x76\x14\xaa\x30\x96\xb6\xe8\x5f\x26\x40\x76\x23\xd3\xcb\x9b\xf9\x05\x93\xe5\xe2\xe2\x34\x54\xbd\x09\x45\x40\xeb\xb3\x17\x43\x12\x21\xc9\x9d\x13\x92\x10\xb3\xb9\x2e\x12\xc9\x3b\x72\xd1\x45\x62\xe7\x07\xe7\x0b\xc5\x08\x31\xc1\x45\x04\x7f\x52\x70\x2d\xc2\xad\x3d\x43\x30\x46\x25\x51\x5d\xe2\x73\xf3\x1a\xfa\xe5\xf0\xa2\x89\xd1\x6d\x46\x17\x61\x72\x80\x8e\xe5\x19\x89\xf0\xf3\x70\xfd\xd7\x9f\xde\xdd\xdc\xbf\x1b\x96\x8c\xf2\xfb\xc3\xb1\x29\x93\xca\x11\x8a\x3c\x2f\xc2\x55\x1c\x4c\x0c\xca\x24\xa9\x6e\xa6\xea\x83\x0a\x8d\x1d\x36\x37\x69\x34\x1b\xeb\x93\x98\xba\x42\xdd\x67\xc2\x9f\xa3\x47\x7c\x2b\x0c\x4c\xc3\x5c\x97\xd4\xc1\x85\xb4\x8d\x7f\x67\x97\x5f\xc7\x2e\x6f\x3f\x6f\xaf\x97\x1c\xd0\xf6\x34\xb6\x17\xde\x99\x5d\xe6\x59\xdb\xaa\xb8\xb1\x71\xbf\x9a\x58\x29\xc8\xf2\xe2\xc6\xe6\x40\xa9\x42\x63\xa8\x8a\xc7\x20\x5f\x10\x36\x55\x11\xad\x01\x7b\x91\xed\xc6\xa2\xae\xdb\x31\xc7\x66\xa2\x66\x4e\x2c\x48\xe6\xd8\xb6\xf4\x22\x3b\xd3\xb1\x99\x69\x64\x44\xcc\x38\x17\x29\xba\xc6\x59\xfa\x97\x47\xa8\x67\x9d\x27\x76\x42\x58\x55\xcf\x58\x37\x03\xfa\x29\xbd\xae\x22\x7b\xeb\xc4\xa2\x7b\x79\x8e\x24\xd4\x48\x13\x44\x40\xba\xa4\x02\x3e\xd6\xd7\x65\x32\x59\x0b\x44\xec\xeb\xe7\xcc\x74\xad\x7f\x4c\x3f\x4f\xe5\xf4\xbd\x91\x43\x96\x7e\x95\x70\x30\x57\x6a\x2c\x22\xc7\x74\x25\xcc\x9a\x5c\x1e\x75\x74\x72\x6d\x50\x96\x5d\x3f\x7a\xd5\x6a\xc9\x47\xbc\xcc\xed\xdc\x6f\x3f\xdc\x6f\x97\x1a\x4c\x77\x64\x9a\x64\xa6\xae\xcb\x91\x36\xa1\x15\xc1\x70\xc1\xf4\xc9\x3f\xc1\xab\xa5\x30\xcb\x61\x49\x09\x23\x57\x49\xc2\x15\x07\x73\xab\x8c\x1d\x76\xbd\x98\x07\xa3\x2a\x5c\x57\xd5\x38\xb0\x60\x02\x67\x32\xb7\xc6\xe4\xc9\x8f\xe7\xa3\xe9\x07\xd3\x97\x2d\x8f\x19\x3a\x5f\xe2\x04\x9d\xbd\x6b\x5c\x64\xdf\x89\xc8\x01\x8e\x29\x5a\x4a\xb1\x71\x49\xc4\x19\x57\x2d\x67\x8a\x9e\x98\xf3\x46\x78\x32\x0f\x9e\xcc\x2b\x8b\x75\xde\xc6\xfe\xf2\xc3\x71\x2e\xb0\xff\xe2\xe1\xf0\xdd\xb0\x20\x7c\x3b\xec\x34\x52\x7b\xee\xec\xa5\xb0\xd6\x11\x52\x52\x56\xe6\xc4\x77\xe6\xc4\x0b\x8f\x51\x2f\xb8\x14\xe4\x31\x45\x92\x85\x73\xd9\x92\xae\x1d\x94\xa3\xb2\x72\x9b\x51\x57\xce\x95\x30\xef\xb5\xc5\x4e\xe3\xaa\x6b\x42\x2a\x8e\x1c\xd6\xe1\xe2\x4e\x1b\x6e\x1e\xda\x9a\xb8\x75\x16\x45\x62\x0a\x24\xf2\xd1\x3d\xef\x45\x71\xd1\xdb\xe7\xbc\x13\xc5\x05\x5f\x1d\x8d\x8f\x49\x6a\xfe\xfd\xee\x8d\x6f\xd0\x3a\x8c\x96\x7f\x8b\xa1\x63\x6b\xbf\x68\xe2\xe1\xc6\xf8\x15\xcd\xcb\x7b\x17\x46\xaf\x37\xea\x4b\x26\xff\x37\xe9\x80\xb6\xff\xa2\xe9\xff\x76\xed\x6f\x4e\x3a\x80\xb8\x88\x64\xf7\xc2\xc0\xa1\x8a\xb9\xd2\x36\x37\xf4\x7c\xbc\xfb\xde\xe8\xfb\x5f\x17\x86\x0f\xb3\xb6\x06\xe8\xfc\xe6\x51\xe7\x9b\x17\x45\xe8\x0c\x77\xef\x16\x7e\xad\x6e\x89\x94\xc0\x71\xa6\x20\xce\x52\x4e\x08\x0a\x99\xbc\x1e\x5e\x62\x04\x87\x47\x45\xb7\x46\x01\x93\xa9\x9b\xbb\x5e\xe3\xc9\xab\xaf\x2c\xfc\x93\xa7\x6e\x94\x00\xf8\x04\xcf\xa9\x79\x18\x50\x1d\x3e\x85\xa3\x68\xe0\x2a\x3c\xab\x63\xc7\xce\xbb\xd7\x3a\xff\x7e\x18\xae\x17\x1e\x01\xee\x52\x70\xbe\x47\x28\x96\x5e\xf3\x19\xa1\x7a\xb2\x16\x76\x6f\xd8\xa5\xf4\x2b\xe8\x0f\x5e\x97\xda\x3c\x82\x1a\x89\x19\x1e\x32\x1e\x68\x08\x04\xaf\x30\x38\x85\x01\x1c\xe1\xe0\x1e\xd6\x0e\x5e\x63\xf3\x36\x64\x60\x4a\x40\x5d\xaa\x82\x0a\x0a\x43\xd4\xf2\x75\x02\x64\x18\x8d\x83\x7c\x2c\x13\xe9\x13\x6c\xc5\xd2\x3e\x42\x9f\xd9\xa9\xcb\x90\x70\x95\x70\x38\x2a\x1b\xd9\xc3\x11\x5f\x9b\xe1\x80\x98\x59\x39\x4e\xd5\xa9\x1e\x54\x26\x21\x24\xb0\xb3\x90\x56\x3c\xa4\x95\x15\x99\x2c\x07\x59\x52\xac\x26\xc5\x38\x3a\x16\xde\x37\x57\x0a\x7e\x74\x60\x12\x2c\x05\x18\xf0\xed\xc8\x16\xec\x9c\x05\x63\xd8\x60\xe4\x29\x65\xf4\xaa\x0f\x2b\xf8\x18\xe1\x1b\xc7\x0c\x28\x04\x6e\xcc\x56\x4e\x54\x29\xf2\x6f\x84\x5d\x93\x57\xb8\xa0\xe7\xe0\x1a\xde\x7f\xde\xdd\xdd\x6e\x17\x20\x47\xee\x59\x8c\x81\xa4\x18\x47\x9c\x80\x99\x23\xfb\x32\xa8\x42\x39\xd4\xee\xe9\xe1\xbd\x86\x9b\x17\x4f\xdd\xc7\x8f\x01\x42\xa4\x8c\x83\xfa\x6a\xed\x8d\x3f\xa3\x2d\xf9\x15\x06\x69\x54\x9a\x19\xc1\xd6\xb6\x23\x1a\x54\x79\x1c\xaf\xe2\x80\x70\x39\xe1\x8b\x6b\x84\x6b\x42\xf5\x93\x4c\x58\x84\xf9\x81\x66\x0e\x0e\x71\xb6\x36\xe3\xb1\x0f\xb2\x6c\x09\xfd\x6a\x72\x99\x0a\x18\x94\x80\xf1\x2a\x23\x62\xbf\x16\xd5\x4e\x56\x2f\x8d\x18\x76\xa3\x17\x56\x81\xaa\x87\x4f\x5d\x93\xce\x48\x5f\xf6\xfe\x25\x26\x9e\xd7\xda\xd2\xbd\x3b\x44\xb1\x4b\xf7\xa2\x9f\x7d\x2b\x31\xed\xba\x28\xde\x63\x91\x42\x1d\x65\xd1\x30\xec\x64\xc9\xc3\xa9\x9d\x23\x53\xca\xe4\x2a\x43\x0e\x72\x01\xe1\xe4\x0e\x0c\xb3\x54\x26\xd4\x20\x31\x3e\x4c\x62\x3c\x98\x84\x2b\x18\x96\xa5\x7c\x4b\x59\x76\x30\x5f\xdc\x76\xfb\xbb\xe1\xcb\xa7\xed\x4f\x2b\xce\x8f\x6e\x01\xbb\x90\x53\x39\x8a\xa8\x64\x2e\xe1\x70\xed\x2c\x19\xeb\x59\x65\xec\xbd\x27\xef\xfd\xce\x38\x44\x1c\x2c\xcf\xa6\xc6\x08\x3e\xd5\x16\x27\x37\xf4\x37\xbf\x92\x9f\xed\x43\x7b\x7f\xf7\xcb\xc2\xcf\xdd\x2d\xb1\x0a\x0e\x17\xd2\xef\x66\x70\xfd\x72\x53\x2d\x0d\x4c\xb2\xaa\x21\x0a\x7c\x40\x13\x30\xd5\xab\xa4\x0b\xe1\x4f\xc8\x6e\x3c\xee\x86\x3a\x4e\x49\xf5\xf0\xcb\x04\x85\xc3\xc6\x6f\xae\x92\x8b\xcd\x07\xec\xfb\x4a\x3e\x6d\x1a\x3b\x05\xbd\x32\xf3\x17\x3c\x00\x98\x16\xb6\x3c\x5e\x31\xbd\x06\xa9\x2e\x53\xaf\xbb\xf5\xc6\x0e\x22\x7a\x1c\x33\x74\x9d\x34\xf7\xb3\x4d\xdd\xbf\x8c\x9a\xd8\x97\xed\xcb\xe7\xc5\xa2\x2d\xad\x84\xa7\x31\xbe\xff\xbe\x68\xbf\xe9\xa2\xa9\x51\x7f\x76\x82\xf6\x64\xd4\x87\xd0\x4d\xfe\xde\x86\x4b\xc1\xb8\xfc\xc9\xb8\x72\x37\x59\xce\xd3\x2b\x17\x71\x55\x83\xd1\x18\xe1\x94\x96\x13\x85\x30\xe6\x40\x31\x28\xb8\x12\x31\xc6\x1b\xe0\x37\x9c\x55\xb5\x34\x7f\x9f\x99\x02\x14\x1a\x85\x88\x0a\x4b\xa1\x95\x18\x5f\x09\x8a\x78\x54\xff\x74\x11\x0f\x9e\x72\x71\xe4\xa0\xea\xb0\x43\xd7\xdb\x3c\xa0\xce\xde\x4f\x0a\x74\x0f\xe6\x24\xcb\x62\x62\xb4\xde\x83\xd1\xf3\xc7\xa3\x4d\x4f\x56\xf1\x78\xb4\xa9\x8f\x36\x53\x50\x36\x1e\xb8\x75\xf3\xb7\x31\x24\x99\xfe\xe2\x28\xf2\xc8\xea\xb4\x27\x2c\x8e\x73\xb9\xa5\x4a\xae\xd4\x66\xf4\x13\xa1\xfc\x78\x30\x1a\x9f\x30\x10\x7d\xcb\x48\xd5\xe6\x50\xf7\xe1\xab\xce\x88\x7f\xc9\x8c\x38\x98\xc5\x98\x0e\xc3\x6b\x87\x51\x5f\x3c\xb4\xe3\xbd\x1c\xd4\xc5\x89\x5d\x1a\x6a\x0f\x6e\x76\xd0\x1c\xe0\xc0\xc2\x06\xea\x00\x68\xb0\x63\x57\x3a\xee\x05\x8b\x70\xbb\x7c\xa6\xd1\xb5\xe7\x1e\x3a\xe1\x28\xea\x4e\xfd\x97\xbc\x3a\x32\x19\x5f\xbc\x3e\x2a\x35\xed\x66\xd7\xa6\xfe\x28\xa8\x1b\xf9\x99\x47\x29\x58\xd9\x04\x70\x30\x97\xcb\x1e\x1e\xe4\xbb\x14\xec\xd4\x11\x57\x56\xfb\x01\xaf\xb4\xd5\x67\x9b\xf9\x18\x1d\x1c\xab\xf6\x73\x29\xfd\x49\xbe\x49\x3b\xf3\xf4\x9c\x54\x2e\x7d\x9a\xbd\xde\x9f\x76\x0a\x0d\xaf\x3f\xbc\xb4\x7e\x3f\x5f\xaf\x2f\xe0\xa5\x18\xfb\xe4\x49\x5a\xf0\x7b\x69\x6f\x97\xfc\x1e\x16\x11\x99\xe9\x44\xbc\x33\x22\x47\x05\x9b\x45\x9e\x92\x07\xf9\xf1\x2d\x70\xc0\x76\xc6\x73\x7f\xc0\xd3\x03\x9f\xf3\xfa\x83\xe8\x83\x3c\x48\xbd\xaa\x34\x57\x95\xd2\x99\xaa\xb2\xf3\x67\x1e\x94\xb4\xfe\xa0\x06\xbc\xa1\xe3\xc8\xd3\x38\xb2\x2c\xb0\xb5\xab\x4f\x36\x6f\xd9\xe9\x18\x57\x5e\xf2\xb2\x2b\x56\x9f\x84\x70\xee\x9d\xe4\xa3\x3c\xa9\x41\x9f\xd4\x70\x78\x52\xcb\xfa\x5c\x42\xe4\x5a\x9b\xfe\x8b\xce\x53\x2b\x32\xe7\x6c\x49\x0d\x01\xee\xda\x45\xa5\x3f\x73\x10\xff\xcc\x41\xfe\x3b\x8a\x0f\x6a\xc7\x71\x43\x47\x5f\x8f\x4a\x1c\xde\x9b\x2b\x7b\x7c\xcb\x91\x23\x75\x1c\x17\x6d\x47\x5e\x1c\x4c\xa8\x2c\xf2\x8a\x03\xb9\xd2\x5f\x59\x3e\x47\x29\x65\x67\x1f\xef\xcc\x91\xb2\x48\x8c\xbe\x20\xaa\x27\x05\x90\x39\x6e\x06\x11\x22\xcc\x79\x1f\x38\x2d\x21\x27\xe4\x47\x54\xc4\x22\x2a\x3a\x04\x4f\x59\xa7\xef\x6f\x86\x8c\xfb\x83\x83\xc6\x0b\x55\x8d\x17\xba\xcc\x38\xb7\xeb\x8f\x4b\x49\x6d\x19\xbf\x7b\xf0\x63\xfa\xf7\xf9\x5d\xcc\xef\x5b\x2e\xb5\xbe\xae\xb3\x3e\x75\x23\x16\x87\x26\xaf\x84\x38\x84\x2c\xd2\xb7\x1d\x35\xce\xcb\x67\xaa\x3d\xc6\x47\x5e\xac\x3c\x8d\x29\xe8\x98\xe0\x1c\x2f\x0c\x9a\xb2\x63\x99\xa4\xaf\x3b\xe7\xc2\xd9\xee\x7f\xcd\xee\xf8\xf9\x6e\x19\xdd\xed\x96\x01\xcd\xc7\x72\xbc\xaf\xc4\x36\x96\x11\x5c\x49\x26\xf8\xdf\xb8\x3a\x18\x97\xb1\xf4\x49\xad\x31\x29\x08\xa3\xa3\xe6\x33\xc5\xd5\x54\x45\x4f\xf0\x50\x75\x3a\x3f\x9a\x0c\x86\x8b\x43\x39\x48\x9e\x75\x8a\x05\x1c\x8d\x0b\x04\xb9\x90\xd8\xe5\xd1\x52\x20\x4f\x2e\xb7\x40\x3e\x8f\x4c\x85\x8c\x27\xf5\x61\xf5\xc4\x80\xc1\x24\x96\x9f\x1d\x37\x04\x14\xaa\x47\xed\xf4\x6d\x74\x5e\x26\x34\x44\xaa\x88\x39\xb4\xf8\x1c\x3d\xb1\x55\x7f\x60\xab\xb0\xa0\xae\xc8\x6f\xb0\xe1\xb8\xd2\xe4\x5f\xbf\x19\x1d\x0b\x5f\x14\x1c\x55\xd7\x9c\xec\xde\x91\xa9\xaa\x79\xde\xbb\xd6\x5f\x0b\xc4\x9e\x9c\x23\xaf\xfc\x12\x98\xa7\x51\x3d\xdc\xc0\x98\x6a\x08\x19\x76\x7f\x92\x27\x7d\x04\x6a\xd5\xc5\xd2\x8e\x8e\x0a\x55\xe2\xd2\x58\xe3\x30\x32\x39\x1e\x0b\xdc\x39\x12\xfa\x88\x28\x44\xf2\x32\x2e\x61\x9c\x65\xd8\xd2\x03\x37\x8f\xd7\x27\x62\x40\x84\xe2\x14\x46\xc8\xef\x64\xfc\x28\xfb\x9f\x22\x53\xdd\xe5\xc4\xc2\xbd\x5a\x8d\x2c\x89\x09\xb0\xcd\xec\xad\xac\x5e\xc0\xea\x6d\xb0\x75\x11\x18\x61\x3a\xc4\x9b\xae\x0d\xbb\x72\xd5\x31\xe8\x76\xa6\xa4\x3a\x31\xcc\xd8\xa8\xb1\x9b\x92\x12\xec\x7a\xc1\x8f\x70\x7a\x96\xeb\x1f\x9f\x3b\x59\x6f\x57\xc9\x52\x4c\x04\x4c\x52\x1f\x49\xf8\xe4\xc1\x5b\x4b\xb5\xe4\x31\xcb\xe4\x45\x8a\x59\xf5\x57\x11\xfe\x55\xc1\x3f\xbe\x8d\x59\x8e\x75\x4c\xa3\x09\x34\xf9\x50\x43\xf1\x6c\x55\x69\x98\x6c\x99\xc2\x3a\xba\xca\x50\x57\xdd\x5d\xc5\xc1\x31\xa5\xa0\x4b\x63\xdc\xa4\xf0\xb6\xaa\xee\x96\xf7\x26\x65\x63\x9c\xd5\xe6\x46\x43\x53\x55\x69\x1d\x14\xe7\xe1\x7b\xb4\x7c\xd2\xf0\x73\xe7\x75\x89\xa0\xfe\xc1\xba\x65\x40\xfc\x11\xa8\x21\x27\x78\x47\x4f\xc8\xdd\xb2\xd2\xa3\xf7\x18\x95\x3a\x73\x04\xd6\xed\x64\x92\xb2\xab\xd0\x4d\x79\x19\x77\xff\xb5\x99\xa9\xa0\x1e\xef\x8e\x44\x5a\x26\x80\xdf\xe2\xc9\x03\x3c\x92\x29\xb8\xa0\x5f\x4c\x70\x41\x77\x93\xef\x78\xc1\xd0\xee\xf9\x0e\xd9\x5a\x47\xf9\x1d\x52\x89\x54\x1d\xb8\x69\x6b\xc2\x44\x69\x0f\x84\xa9\xd2\x5f\x5a\x2f\x22\x87\xb1\xca\x00\xea\x8e\x6d\xb8\xcc\x44\x7c\xbe\xbf\xb9\x5d\xda\x08\x3f\x5c\xa0\x6d\xc2\xce\xdb\x5d\xa9\x69\xef\x62\xea\x31\x23\x2e\xa6\x6e\xbf\x0b\xfa\x48\x19\xdf\x73\x90\x1b\xa9\xf3\xb2\x46\xb9\x5c\xb8\xe7\x40\x25\xf7\xab\x9d\x33\x63\x4e\x7b\xa3\x57\xda\x73\x88\x06\x9c\xce\xba\x70\x9e\xb1\x30\x6c\xb4\xe7\x97\x71\x0c\xb4\xf1\xac\x88\xe3\x5d\xf0\xc5\xbf\xf8\x61\x97\xc2\x3e\x02\x42\xed\x89\x9d\x22\x65\xb7\xe2\xb3\x3f\x88\x54\x62\x38\xba\x33\x41\x03\xb2\x02\x29\x8c\xb9\x42\x23\x8b\x73\x02\xad\x41\xec\xb1\xe3\xcf\xf9\xa3\xbc\xbb\xfe\xb4\xbd\xbf\x7e\xba\xfc\x7e\x19\x69\x7f\x60\x7c\x6a\xb2\x54\x52\x98\xbc\x3b\x14\xcd\x1d\x84\x5b\x3d\x26\xf0\x4b\x33\x27\x7f\x1c\x97\xea\x7f\xe8\x77\x94\xd2\x42\x47\x5f\x0f\x25\x8e\xf0\xca\x46\xb6\xb0\x5e\x75\xc3\xd1\x6c\x37\x2a\x55\x17\xbb\x5b\x99\xcc\x6c\x66\x32\x39\x4e\x5e\x5d\xfa\xea\x6c\x7c\x52\x63\xd4\x5e\xdf\x94\x67\xdd\x3a\xa5\xcf\x85\x7b\x18\x22\x13\x1c\x72\x65\x6f\x55\x4a\x73\x7c\x73\xc7\x9c\x8f\x57\x51\x61\xcf\x34\x06\x4a\x11\xed\x65\xa5\xd3\x1c\xbe\x3d\x00\xb9\xd8\x27\xa9\xee\x11\xb3\xc6\xae\x8c\x5c\x22\x59\x3a\x13\xce\xdf\xbe\x31\x6c\xc0\x65\x93\xd5\xdd\xf2\xdc\x7b\xbe\xa4\x93\x93\x6b\x3d\xe7\xc1\x70\x86\x4e\xc4\x0a\x71\xb4\xaa\x02\x27\xe3\x1a\x20\x55\xc9\xb8\x11\x1b\x23\x66\x72\xa3\x29\x99\x1c\xbc\x26\x4a\xa0\x10\xdd\xe3\x5b\x68\x5e\xca\xe0\x28\x57\x21\xb3\x40\xb7\x45\xf0\x9f\xf0\x48\x16\x10\xfd\x13\x5e\x2e\x9c\x6e\x5c\x6d\x9e\x29\x5a\xb9\x2d\x7c\xa6\xc4\x69\x70\xc5\x52\x76\x61\x97\xe3\x2e\xfa\x11\xbe\xe9\x3d\x58\x67\x70\x16\x20\xeb\xe8\x99\xc9\x45\x4d\x8f\x2e\x22\xf3\x82\x5c\xe5\x2e\x07\xd5\x8f\x09\xd5\x8e\x78\x55\x5a\xca\x0e\x20\xe5\x80\x09\x87\xb6\x07\x61\xb3\x19\xab\x2f\xb7\x2c\x8e\x24\x42\x03\x82\xba\x25\x8d\x09\x37\x7a\x92\x52\xdd\x51\xa7\x5b\x61\x26\xe8\x74\x98\xcb\x46\x93\xbc\xfa\x5b\x59\x2a\x42\xc2\x98\xca\x68\xb2\xba\xea\x80\x0b\x6d\x86\x73\x91\x0b\x02\x50\xe6\x81\x72\x19\xd8\x33\x42\x4a\x01\xa8\x2d\x33\x00\x86\x46\x76\xc5\x14\x65\x17\x94\xc5\x49\x1a\x0d\x55\x5a\x25\xe6\x06\xfd\x10\x6c\x0d\xd2\x37\x06\x03\xd5\x4c\x76\xc4\x19\x8c\x25\x82\x3c\x85\x17\x8f\x96\x54\x4b\x6a\x62\x99\x99\x4f\x58\x51\x8c\x22\xf7\x72\x72\x57\x71\xd3\x43\x00\x65\xd6\x14\x8e\x5d\x71\x07\xd4\x7b\x65\x1e\x6b\xcc\xea\x7c\x89\x7b\x6c\x64\x10\x6f\x96\x9a\xc7\x1e\xb2\x2b\x73\x3e\x4a\x4b\x32\x0d\x59\xa5\x8f\x36\x7f\x1b\x8d\xba\xd0\xaa\x87\x64\x43\xbc\x95\x54\x64\x4a\xb7\xce\x30\x0c\x74\xe1\x99\xcb\x7e\x58\x78\x14\xfb\xa5\x93\xcb\x51\x44\x68\x8c\xc4\x51\x38\x3c\x38\x3f\x06\xb8\x42\x8e\x1e\xeb\x22\xff\x7a\x8f\xa8\x31\x69\x3f\x30\x71\xb1\x60\xe2\xe4\x22\x4f\xd2\xbf\x1c\x9a\x49\xc2\x3b\x06\x4c\x31\x00\x0c\x1c\x68\x59\xd7\xd5\x21\x90\xd7\x8d\x26\xeb\xe2\x5b\xb8\x44\x4d\x32\x91\x4e\x71\xac\xd3\x36\xd1\xa9\x2a\xe0\x08\x53\x9e\xb7\x0f\x96\x4f\x63\x78\x55\x6f\xa7\x21\xb5\x8f\x6f\x63\x60\x12\xfe\x34\x38\x00\x55\x5b\x61\x40\xc7\x02\xf8\xf5\x20\x7c\x82\x5a\x2f\xb1\xab\x11\x6a\x2d\xdb\x16\x0c\x14\x07\x04\xec\x42\x23\x5c\x89\xf5\x4e\xcc\x95\x8a\xda\x67\xa9\xc7\x50\x22\x42\x6c\x34\x11\x97\x1f\x8c\x7c\xec\x3b\x12\xb6\x22\x51\xb4\xa0\x17\x92\x6a\x96\xb5\xb7\xa5\x4b\x06\x46\xcd\x75\x21\x21\x3a\xb0\x1e\x1d\xf7\x1a\xe4\xd8\x05\x2a\x91\x38\x35\x39\x97\x0e\xbe\x80\xae\x6f\xf2\x0c\x58\x66\x8f\x3d\x05\x86\x5d\x48\x99\x4a\xc3\x8a\xa6\xb1\x57\xfb\x9e\xcc\x63\x2d\x4e\xf7\xa6\x75\x51\xd8\xce\xd2\x77\x2a\xb6\x39\x36\x16\x77\x1c\x8d\xdc\x90\x72\x41\x4e\xcc\xa6\x23\xaf\xfb\x41\xde\xf0\x63\x2d\xe4\xc8\x07\xab\xb2\x80\xcf\x70\xd7\x50\xce\x4f\xb8\x00\x59\xc8\xfe\x39\x66\x7b\x20\x73\x32\xc1\xca\xe2\x07\xd7\x64\xda\x4c\xe6\x06\x8c\x0e\x78\x23\x22\xc2\x1a\x78\x2b\x1d\xbe\x42\xa9\xb1\x1e\x2f\x11\x7e\xb3\x6b\x2a\x84\x1b\x50\x25\x0d\x44\xd2\xcd\x63\x82\x1d\x19\xb1\xfb\xb2\x9f\x7a\x6b\xa1\xcd\xd9\x22\x3a\xe2\x47\xcf\x7e\xc3\xea\xb9\x5a\xd5\xf7\xd2\xab\x2b\xa7\x48\x05\xea\x03\xdb\x9d\x32\x65\xf4\xc2\xaf\x0b\x37\x21\xcb\x1a\xd4\xff\xd3\x3b\xf2\x4d\x3f\xe6\xcb\xd1\x03\x23\x00\x50\xff\x08\xa7\xba\xec\xd7\xdd\xae\x87\x65\x8e\x1a\xbf\x74\x0c\xb1\x6e\xba\x3e\xb0\x15\xd2\xc0\x99\x4a\x1c\x11\x5c\x8c\xd3\x84\x4b\x4b\xc8\x54\x6d\xb1\xce\x82\x68\x21\x88\x3e\xc4\x96\x47\x96\xa2\x0e\x6a\x73\x39\x93\x11\x1b\x35\x3a\x72\x72\x46\xf6\x4e\x85\x60\x30\xc8\x58\x7b\x98\x5b\xf4\xc2\x6e\x42\x78\x44\xc0\x13\xaa\x64\x3d\x6e\x05\x07\xe7\x00\x03\xe2\xa9\x58\x2b\xb9\xb1\xd3\x9b\xeb\x2a\x8e\xe0\xd3\xe1\xc3\x0a\xba\xeb\x98\x72\xc3\x9f\x70\xb3\x8c\x0a\xac\x00\xd6\x5e\x18\x73\xab\xc1\x28\x6c\x35\xc6\xbe\x67\xf7\x50\x09\xd0\x0b\x11\x35\x3d\xec\x06\xb4\x04\x27\x4e\xf8\x57\xdb\xdd\x5a\x83\x66\x5b\xd0\xdd\xa4\x30\x0c\x6a\x2e\xd7\xa7\x8c\x15\xce\x59\x99\x0b\xb5\x8d\x80\xaa\x62\xb0\x45\xd1\x1f\xaa\x90\xd3\xd4\xc9\x84\x49\xba\xaf\x06\x59\xc1\xa2\xe1\x40\x8a\x47\xe4\x79\x34\xbe\xe7\x45\x48\x64\xaa\x7a\x35\x82\xf2\x61\x03\xa9\x27\x6d\xff\x3a\x1a\x48\xa1\x72\x7b\x0b\xb5\x2e\x09\xa4\x5a\x76\x97\xd3\x44\x27\x0e\x09\x4e\x40\xa3\x35\xe4\x86\x35\xde\xf7\xb2\x8a\x6d\xfb\x97\xf6\xd3\x6e\xbb\xcc\x21\xf6\xc1\xfa\x4b\xae\x32\x9c\x03\x38\x40\x65\x37\x02\xbc\xcf\xa7\xb0\x37\x39\xee\x03\x40\x20\xe4\xda\x1a\x35\xec\x4e\x38\x67\x0d\xc7\x96\x4f\x97\xb4\xc0\xf4\x5c\xc3\xd5\x94\x44\xca\xa5\x88\x68\x76\xdb\x03\x5b\x85\xd6\x7b\x15\xbd\xf4\x51\xeb\x45\x87\xa9\x0a\xad\x01\xf5\x36\x6d\x65\x98\x9b\xef\xad\x4f\x1d\xc3\xa5\x8b\xce\x4a\xc5\x7b\x83\x26\x8a\x7d\x7c\x5b\x58\x6e\x9d\x3c\x44\xb0\x24\xa3\x10\xf7\x48\xb0\xd6\xc4\x11\x27\x54\x4e\xa6\xdb\xc0\x2b\xc9\x8d\xd0\x91\x41\x3d\xa4\x64\xe9\xf0\x75\xe7\xaa\x1f\x93\x06\x39\xe2\x11\xf6\xb1\x85\xe6\xa3\xc1\x9b\xa5\x0a\xa3\x20\xdf\x06\x19\xcf\x88\xba\x43\xaf\x46\x3f\x47\x07\x78\x7a\x59\x59\xef\xc1\x49\x97\xee\x79\x6c\xab\xea\xeb\xa4\x20\xbc\x2e\x0a\xb2\x13\xc8\x16\x8a\xba\x20\xc6\x23\x9c\x9f\xbb\x3b\x8f\x10\x5c\x3f\xf9\x6c\xab\x2d\x2f\x51\x51\xc0\x11\x45\xcc\x47\xba\x8f\x06\x35\x01\xfe\x2e\x64\x0f\x52\xbd\xc5\x81\x61\xa8\x4b\xe4\xae\xd3\x67\xb8\xc5\xf0\x0d\x4e\xd0\xcd\xc0\xd3\x78\x94\x63\x20\x3c\x7e\x51\x50\x3d\x39\x08\x01\x63\x28\xa5\x39\xa4\x41\x50\x17\x9a\x1e\x20\x02\x60\x7e\x29\xa4\xb9\x49\x20\xad\x57\xe8\xe6\x60\x8e\x9d\x4e\x27\x48\x03\xc8\x37\x7c\xd8\x49\x51\x9a\x3a\x2f\x22\xc4\xa3\x0e\x2a\xef\x83\x8b\x03\x77\xc3\x85\x70\x12\x33\xce\x48\xbf\x36\x85\xf5\x97\x53\x11\x35\xdc\xc2\x53\x44\xb0\x4a\x74\xfb\x2a\x87\xd2\x75\xda\x17\xbc\xd2\x16\x57\x5b\x2e\xe4\x94\xe1\x0c\x88\xc7\xf0\x05\xce\x33\xc8\x91\x43\x1e\xb1\x0b\xf2\xb1\x67\x16\x86\xd3\x41\x1f\x07\x15\xd1\xc4\x7d\x70\x57\x93\x79\x72\xa1\x19\xf0\x82\xb2\x32\x88\x97\x4b\xb2\x00\xd3\xc6\x46\xfe\x1d\xd7\xb0\xcc\xae\xab\x21\xd9\xab\x1e\x23\xab\x39\xb4\xe7\x2c\x90\x5b\xd4\x4d\xee\x44\x08\x38\x00\xd7\x98\x28\xc0\x1c\xf7\xfc\x61\xff\xe5\xe6\xfd\x12\xe8\xd9\xc7\x39\xbc\xfb\x45\xc7\xa0\x9f\x02\x5c\xc2\x4e\x93\xf4\x34\x6f\xa7\x5d\xe1\x82\xd0\xb8\xab\xa8\x8a\x1a\x91\x26\x3c\xff\xc6\x7b\x5d\xf5\xb4\xf3\x5e\x27\xaf\x51\xf4\x50\x62\x65\xe2\x2a\xd7\x04\xd8\x35\x21\x93\xde\xf6\x39\x67\x8d\x32\xe1\x8d\xa2\xeb\x20\xfb\x19\x7c\xfb\x4f\x36\x32\x08\x77\x74\x7b\xe5\xaf\x84\x4f\x95\xbf\x43\xeb\xf8\x5f\xb6\x75\xa6\xd1\xff\x5d\xee\xee\x2c\xc2\x09\x77\x1e\x3a\x11\xe3\xfe\xd3\xb4\x1f\x53\xc6\xa9\x38\x4b\x50\xd0\x6d\x65\x1d\xa1\xea\xb0\x5d\x57\xb1\xe0\x77\x29\x12\x42\x63\xca\xbe\x59\xca\x2a\x30\x93\x72\xd0\x50\x04\xbb\xc5\xfe\x0f\x7a\x65\x25\x3f\x09\x6a\xe0\x97\xdc\x94\x89\x07\xb1\xa5\x38\x05\x7c\x72\x0a\x94\x90\xe3\x1c\x84\x95\x53\xf0\x96\x3d\x10\x7e\xa2\xc6\x9b\x83\xe4\x57\x88\x46\x7a\x89\x23\x0f\x1a\x18\x8d\x50\x1b\xd4\x7c\x48\x50\x28\x4b\xa3\x37\x55\xeb\x37\x16\x34\xa8\x5e\x51\x93\xbc\x6d\x66\x7e\xc9\x1c\xaa\xea\x57\x4a\xed\x9e\x0a\x56\xc5\xd1\x39\x6f\x1e\xb9\x39\x12\x0e\xac\x34\x94\x09\x5e\xa7\x58\xdd\x97\x7b\xaa\x13\x47\x3a\xba\xda\x0b\x19\xef\x7b\x00\x9d\xf7\xbd\xaa\xce\xce\x28\x6b\xa4\x9e\x07\x0a\x07\x05\x02\x05\x71\x11\x42\x10\x7a\x85\xbe\x4a\x57\x7d\x22\x6f\x21\x5e\x22\x47\x93\xdc\x94\x9b\x86\x8f\x31\x90\x87\xeb\x84\x6d\x53\xe9\x43\x05\xbd\xce\xae\x29\x9e\x9b\x6c\x73\x3f\x8e\xfb\x36\xf5\x77\x1e\xc2\xae\x0f\xcb\x81\x7b\xe9\xbd\xeb\x63\x3f\xcc\x45\x9f\x9d\x79\xc2\x2e\xd2\xaf\xeb\xe1\xe6\xe3\xed\x4f\xc3\xf6\xc3\x92\x57\x39\x97\x1a\x54\x79\x95\x2a\x23\x71\xc7\xa9\x19\x96\x91\x86\x29\xad\x83\xaf\xcc\x29\x20\x8e\xfd\x94\x50\x7a\xc5\xfb\xb4\x43\xbf\x00\x03\xed\x42\x5b\xae\xd8\x57\xb4\x25\xa5\x57\xdb\x4a\x29\x50\x4d\x76\xa5\xad\xcd\x51\x63\xd1\xaf\x26\xd5\x3c\xd3\x98\x94\x5e\x6d\x4c\xb3\x0b\x85\x70\x79\x64\x22\x84\xbe\xbc\x31\xe8\x50\x5f\xe7\xc3\xab\x7b\xe0\xdd\xf6\xb6\x2d\xd3\x23\xf9\xa5\xcb\xe1\xef\x78\x17\x9c\x49\x76\xba\xde\x94\x14\x7e\xe5\x1e\x98\x5a\xda\x5c\x08\xa3\x5d\x1f\x16\xcc\x2d\x5f\xbd\x07\x52\x78\xc5\xe6\x96\xc2\x5f\xb5\x03\x56\xd2\x1e\x7f\xb0\xfe\x5c\x66\xdf\xef\xbe\x01\x32\x30\x95\xbe\x0f\x19\x90\xb6\xbe\x1b\x19\x50\x90\xc7\xdf\x09\x19\xf8\xb7\x2f\x0f\xed\xe6\xc3\x22\x9b\x9d\x3f\x97\xff\xfa\xf7\xb9\x0d\xbe\x61\x5b\xcf\x6f\x83\x6f\xd8\xd8\xf3\xdb\xe0\x9b\x34\xf6\x5c\x3c\xe5\x62\xf5\x2f\x39\xd4\xb9\x98\x14\xca\x75\xc2\x8a\x3d\x6b\x8e\x54\x8c\x8a\xb3\x21\x3d\xd5\x9d\x8b\x69\xbb\x1c\x2f\x2b\x1d\x40\x48\xdf\xf7\xec\xc0\xe6\x69\x0f\x00\xe0\xf5\xb7\x9a\x02\x4d\xad\xf1\xb2\x45\x00\xc6\xda\x57\x75\xc1\x87\x8b\x00\xf3\x0e\x88\x3e\x39\xfd\x8d\xa7\xe1\x85\x5b\xe1\x95\xd3\xb0\x39\x9d\x87\xe7\x3a\xf1\xc2\xdd\xf0\xab\xd6\xe2\xb9\x3e\xbc\x74\x2d\x9e\xed\xc4\xe6\xeb\x7a\x71\x19\x30\xe5\xfd\xf6\xb6\xad\x0b\x1e\x97\xb2\xe2\xf8\x12\x74\x6e\xa7\xd0\xa6\x33\xc3\x3a\x0e\x6f\x1a\x8c\x2b\x85\x5c\x29\xa3\xa9\x54\x09\xc1\x4e\x4d\xfe\x19\xa6\xdf\x6b\x87\xc4\xf9\x46\x27\x2c\xbb\xf2\x95\xab\x9a\x5d\xb9\x18\xbc\xfb\x8a\xfd\x6d\xcb\xd7\x76\x42\xde\xfc\x36\xdb\xfb\x57\xf5\xe1\x62\x2e\x8b\xd7\xec\xef\x6f\xb9\x1c\xaf\xdb\xde\xeb\x1c\xf5\xa5\x74\x39\x7e\x4e\xaf\x70\x88\xda\xd3\xfd\x6b\xfa\x06\x9e\x01\xc0\x2e\x8c\xa9\x07\x39\xae\x8c\xe9\x28\x48\x70\x98\x6b\x45\xa5\xc7\x90\xe3\xff\xbe\xcf\xff\x7d\x9f\xbf\x68\x9f\x7f\xb8\x7e\xb7\x6d\x37\x9f\xb6\x3f\xed\x6f\xde\x6f\xef\x16\x3b\x7d\xe9\x3a\xfc\x54\x68\x38\x89\x7d\x0b\x4e\xed\x8e\xb1\x9e\x89\xc6\xea\x60\x7e\xd6\x53\xb0\x7e\x2f\xcc\x30\xa6\x04\x76\xca\x33\x7e\x58\x1d\x81\x52\xbd\xb8\xce\xf8\x64\xed\x7b\x42\x13\xae\xb4\xea\x9d\xb5\x03\x74\xe6\x25\x3f\x30\xe9\x4b\x1c\xb4\x63\x6e\xe4\x32\x87\xd9\x75\x70\x4e\x19\xc5\xe6\x15\xf0\x39\x9f\x6f\xde\xb5\x2f\xf7\x8b\xc0\x16\xbf\xf4\xeb\x3c\x38\xac\xa5\x60\xa9\x27\x22\x80\xba\x5f\xd1\xea\x9b\x99\x40\x16\x8d\xa2\x2c\xb6\x0e\xbc\xd8\xfa\x47\xff\x75\x2a\xd5\x5f\x3b\x71\x33\x0c\x45\xf5\x1d\xb2\x87\x86\x8e\x37\x38\x70\x82\x92\xd9\x0e\x91\x1d\x45\x76\xb2\x59\xd5\xf9\xcb\x4e\x99\x55\x2f\xc1\x47\xb0\x9b\x9d\x17\x57\xf1\x23\xa4\x82\x75\xfc\x88\xbd\xbc\xba\x39\x8b\x5d\x71\x9a\xff\xb5\xb7\xf2\xfa\xfc\xaf\xfa\xe2\x37\xca\xff\xfa\x79\x7b\xfb\xee\x66\x91\x80\x23\xd8\xc9\x42\xe4\x93\x27\x3b\x54\x86\xdf\xbf\xf3\x91\x9c\x8f\x03\x82\x07\x2a\xcb\xf1\xc8\xbb\x39\x2a\x8b\x6d\x7e\x7c\x5b\x4a\xa2\xaa\x02\x9f\xba\x88\x00\x5d\x40\xad\x16\x99\x4c\x1e\x4c\x94\xb3\x14\x83\x43\x8e\x02\xfd\x3f\x2c\x6a\x5a\x58\x3e\x46\x94\xe7\x4c\x79\x90\xc2\x52\x36\x93\xfc\x8f\xa5\x01\xef\x00\x4f\x3e\x04\x96\x99\xe3\x34\x18\xf9\x49\xfe\x01\x2a\xf2\x3e\x70\xea\x41\x1b\x93\xaa\xfd\x38\x10\x82\x35\xb0\x3b\x0d\x52\x96\xe4\x75\x46\x0c\x78\x1c\x7d\xd2\xf8\x0b\xf2\x65\xa3\x5e\x85\x9a\x5e\x61\x90\x51\x1b\xe7\x5f\x13\xad\xf0\xe9\xfa\xf3\x4f\x9f\xae\xef\xff\xbc\xd4\x5a\x86\xa5\x7f\xdf\xc1\x41\x03\x48\xf6\xb3\x4b\xe4\xaf\x4f\x5b\x01\xe4\xfa\xc9\x39\xb3\xa3\x39\x70\xae\x9a\xeb\xde\xe4\x1c\x34\x73\x84\xc7\x76\x81\x79\xc5\x75\xc7\x2a\x38\xfc\xe2\x1b\x3c\x80\x11\x73\xef\xe4\xbd\x48\x78\xcd\x7b\xb8\x31\x79\x0f\x34\x29\x4b\x8e\x1d\x71\xb4\xe4\x93\x6b\x3e\xe1\x3b\x3e\x0f\x29\x86\x7c\xba\xec\xcf\x72\xfd\xfe\xdf\xbe\x2c\xc5\xfb\xe0\xfe\x70\x34\x37\x35\xed\xfb\x85\xf6\xd5\xc0\x8f\x7f\xbf\x40\x8e\x6d\xc5\x4b\x3c\x5c\x72\xf7\x11\xea\xa7\x71\xd7\xc8\x02\x62\x29\x55\x00\x0d\x93\x7a\x01\x74\xda\x04\x5f\xaf\xd2\xd4\xd6\xda\x8c\x53\x57\xcf\xd1\x04\xb8\x31\x3a\x26\x4e\x4d\xb1\xe4\x7b\x56\x11\xdf\x53\x4c\x68\x50\x6c\x24\x83\xd7\x30\x34\x5f\xba\x87\x41\x87\x8b\x73\xba\x45\xf0\x99\x6a\x3f\x8a\xaf\x09\xbd\x92\x0d\x3c\xa5\x28\x67\xdd\x4d\xd8\x49\xcd\xcc\x9b\xcb\x4c\xdb\xcd\xf4\xfd\xa7\x49\x17\x22\x15\x26\x97\xe3\x98\xa8\x52\x72\x53\x68\x18\x5b\x26\x8e\xdc\x34\x80\x27\x97\x56\x3c\x39\xcb\x57\x71\xac\xe4\xe1\xc8\x1f\x72\x8b\x4c\x2c\xff\x5e\x75\xf4\x48\xf5\xe3\x42\x72\x46\x53\x3d\x21\x75\x86\xbc\xa3\xb5\x18\xa9\x46\x5d\x0c\x23\xb7\xe4\xa6\xd1\x8d\x85\x35\xc6\x59\x3e\x5d\xbe\xbc\xb8\xdb\xf7\x37\xcb\xc5\xbd\xe4\x92\x53\x4a\x21\x1f\xdd\xc0\xac\x78\xd5\xb0\x05\xb3\x9c\x51\x00\xc1\x30\xa7\xbd\x89\x69\x87\x54\x0d\x69\x17\x85\x24\x7a\x57\x88\x2d\xc0\x93\x12\x4d\xe7\x9e\x07\xe3\x31\xa9\x51\x31\x0c\xf5\x3f\x58\xf7\xe4\x70\x0f\xf2\x50\x9e\xb1\x50\x5f\x62\xf2\x53\x76\xa1\x90\xc1\x03\xdb\x17\xb0\x39\x45\x2d\xc1\x97\xd8\x9c\x0e\xf9\x74\x96\xcd\x41\x36\x89\x74\x88\x27\x53\x17\x62\x0d\xea\x72\x7e\xf4\x34\x01\xd6\x38\xe1\xc2\xaa\x1a\x73\xe1\xbe\xaa\x2e\xa6\xa6\x20\xa0\x23\x81\x53\x4b\xbd\x4b\x87\xeb\xd5\xf4\xfb\x55\xfe\x98\xf1\xa3\xf4\x86\x35\xd3\x15\x2b\xf7\xb2\x3c\x99\xaf\x58\xbd\x61\xf5\x4a\x9e\x84\x1a\x72\x6e\x40\x98\xbb\xf4\x0f\x41\x50\x94\x11\x2a\xe0\x6a\xc7\xe9\x94\xeb\x7b\x96\x6f\x06\x93\x00\x3d\x94\xdd\x4e\xfe\xdc\xbb\x82\x64\xaa\xc2\xff\xd8\x12\x06\x53\x1d\x99\xea\x36\xb3\x9a\x60\x10\xc6\xdf\xad\x26\xb7\x7c\x12\xa5\x30\xc5\x53\xbc\x00\x39\xe9\x61\x77\xbd\xe4\xe7\xc2\x0b\x52\x5e\xe4\xbd\x71\x08\x80\xff\x0e\x1b\xc0\xc5\xb8\x3f\x8f\x5e\x36\xb9\xc2\x02\x20\xdd\x21\x62\x4f\x75\xd4\x1e\xf9\x48\x14\x19\xa2\x3b\xde\x85\x9d\x61\xfe\xda\xd5\xdf\xac\x2d\xbf\xa6\x4d\xe5\x2a\xbb\xd1\x55\x59\x01\xf6\x14\x35\x02\x10\x27\xcd\x47\x2a\xa3\x03\x42\x36\x6c\xf2\xb2\x17\x92\x30\xe1\x36\xf8\xc1\xf8\x22\x7b\x14\x78\xc6\x27\x10\xe1\x73\xf2\xa7\x48\x8a\x39\xc0\xb9\x63\x0e\x08\xb7\xdb\x63\x7b\x7c\x0f\x53\x42\x34\x9a\x67\x9d\x66\x05\x85\xcc\x41\x7a\x8d\xc3\xe1\x3a\x11\xf6\x9a\x1d\xc4\xa9\xa7\x85\x9b\x60\x68\x9d\xf0\xdb\xea\x42\x13\x40\xdd\x3d\x77\x84\xa9\xa4\x59\x5b\xe4\x6b\xd5\xc0\x33\x8f\x74\x49\x1c\x9a\x81\x7b\x1b\x23\x27\x53\xa8\x24\x2b\x55\xb9\x71\xa0\x6a\x9b\x2b\x54\x8a\x4c\x4f\x61\x78\xf1\xaa\xbf\x09\xbc\xb2\x93\x7a\xc8\xc0\x8b\x1e\xde\x7d\x70\x45\xd0\xa0\xc1\xaa\x11\xb1\xc2\xca\x4e\x49\x81\x5d\x07\x7a\x90\x19\x25\xcc\xc4\x91\xd1\x60\x98\xa7\xae\xe3\x6a\x9e\x82\x63\x5e\x8e\xbb\xd9\x6d\x97\xb8\x6a\x61\xe9\x59\xf0\x64\xd7\x27\x9b\xf6\xc6\x73\xf9\x6e\x64\xef\xf5\x54\xaf\xbb\xc4\xca\x9a\xb3\xec\x10\xb8\x3f\x21\xe2\xe0\x15\x04\x70\xf3\x3a\x0a\xe8\x62\x58\x52\x40\x3b\x01\xcd\x5a\xb8\x48\xc2\xb9\x07\x1e\x9a\xc0\x80\xef\xc7\x00\x51\xba\x35\x0e\xa6\xc8\xde\x2b\x1c\xe0\x4c\x8c\xff\xa2\x8c\x39\x34\xf9\x44\xa8\x9e\xb7\x14\xe0\xda\x12\xa8\x17\x89\xb9\xe1\xdf\x81\xa5\x31\xb6\xa3\x3e\xc2\x0b\x4d\x5f\x1f\x5c\x92\xcd\x9f\xfc\x90\x42\xa6\x24\xd7\xf8\xb2\x0c\x63\xd2\xd8\x6e\xc6\x5e\xb1\x36\xdf\x7a\x37\x2e\xf3\xfa\x2b\xa9\x96\xc3\xb3\xbe\x09\x13\x03\x3a\x1b\xd2\x06\xe3\x22\x42\x65\xd2\x33\x28\xb1\x80\xb6\x98\x00\x35\x44\xfa\xba\x08\x0f\xfb\x4c\xa5\x5a\x60\x7a\xde\x8b\x4c\x50\xad\x07\x5b\xf4\x11\x8a\xc7\x59\x0b\xe0\xe5\x1a\x37\x1d\xfd\x75\x7a\x78\x16\xef\x47\x65\xc9\x19\x39\x04\x8e\x7f\x67\xb1\x64\xcf\xd7\x36\xcc\x03\x5f\x25\x0d\x27\x76\x79\x9d\xc9\x0e\x1b\xb2\x30\x55\x5e\xae\xf0\xf2\xcd\xda\xb6\x9f\x7f\xfa\xf9\xfa\xdd\x9f\x7f\xb9\xbe\x5f\x04\xc8\x84\xa5\xfb\xc2\x81\x77\xaf\xb9\x12\xfb\x1a\xfb\xc8\x44\xe6\xf5\x0d\x3e\xa2\xee\x90\x70\x51\x6f\x38\xf9\xad\x21\x8c\xc6\x0f\x26\xb3\xa5\x2c\xa7\x1e\x5a\x53\xf6\xc4\x75\x6f\x52\xbe\xe4\x95\xb0\x6e\xb3\x0d\x76\xdd\x2b\x61\x35\xe1\x84\x34\x10\x48\x3d\x30\xf9\xb2\xfa\xe8\xc3\xf5\x43\x3b\x3f\x25\x97\x4d\xf9\x42\x6b\xbe\xd5\x9c\x64\xb6\xbf\xe3\x29\x1c\x7a\x27\x36\xab\x63\x95\xde\xbd\x70\xba\xcf\xce\xf4\xd2\x6c\x7e\x0c\x9d\xc0\xdf\x70\xf7\xbd\x60\xa6\x97\xa4\x67\x9a\x80\x5f\x3b\xfe\xcf\xc3\xf5\xc2\x61\x24\x2c\xad\x78\x47\x79\xf0\x15\x02\x19\xd9\x36\x1d\xb0\xf4\x55\x72\xd0\xbe\x83\xe1\xf4\xdd\x5d\xde\xa7\x29\x95\x29\x02\x13\xf0\x4b\xeb\x45\x86\xc3\xdb\xfd\x65\x00\x46\xb1\xc2\x1c\xfa\xcb\xda\xa3\xcf\xd7\x5f\x1e\x96\x57\xca\xbb\x53\x84\x7a\x75\xc7\xd0\x3d\xb6\xba\x2f\x45\x6e\x7e\xf9\xbe\x94\xd2\x6b\xbe\x1f\xc0\x46\xfa\x3e\x6d\x5d\xa6\xa4\x77\x0b\xf8\xba\xf0\xfe\x95\x33\x72\xde\x31\x6e\xfd\xa8\x9e\xf1\x8c\xbb\x1c\xd2\x7b\xbf\x7a\xdc\x96\xda\xf1\xc3\x71\x43\xed\x1c\x0f\x37\x34\xd2\x3b\x20\x3a\x8c\x80\x53\x34\xef\x31\xf9\xbb\xe9\x53\x1c\x10\x9c\x04\x98\xc8\x90\x3d\xaa\xee\xf5\xac\x9d\x2d\xba\x7a\x15\xea\x39\x34\xd3\x41\x5c\xe9\x01\x1e\x85\x1e\x68\x85\x86\x9e\x27\xf1\x67\x26\x22\x2e\xe3\xda\x0f\x14\xfe\xfb\x4d\xc4\x71\x51\x25\xed\x2f\x24\xd3\x17\xb7\xd7\x99\x8b\x40\x1a\x38\x9d\xbe\xc3\x94\x6f\xbe\xd1\x9c\x83\xd3\x38\x37\xe7\x97\x54\xce\xdf\x70\xce\xff\x06\x13\x79\x59\xa7\xf6\x6f\xdb\x77\x0b\xa5\x5a\x5c\x86\x25\x47\x3f\x13\xff\x40\x31\xe6\x27\x77\xcf\x09\x13\xb8\x38\x4a\x87\x1b\xcd\xb0\x9f\x60\xc1\xdd\x94\xdc\x45\x2f\x2d\x0f\xa8\xc7\x0c\x74\xb7\xb3\x34\x48\x38\xcb\x97\x92\x20\xa0\x4e\xac\xcf\xde\x73\x32\xef\xfe\xfe\x6e\xdd\xa9\x3e\x2e\x55\xc9\xc7\xc0\x2c\x99\x89\x61\xfa\x89\x1e\x99\xe8\x79\x98\xbe\x9c\xa3\x2a\x93\xa5\xe5\xac\xe4\x91\x83\xa3\x1c\xdc\xfa\xf5\xdf\x9f\xad\x2c\xc1\x5c\xef\x57\xc9\xfc\x18\xff\xaa\xf3\x43\x5c\xaa\x5b\x8f\x27\xc0\x66\x4a\xb1\xf7\xda\x4c\xdd\x5e\x1b\x96\xda\x93\x56\x05\x2a\xcc\x99\xcc\x9d\xe9\x5f\x56\x0b\x4d\x15\xac\x6d\xbf\xa9\xf1\xd7\x8f\xfd\xf3\xf0\xe5\xe1\xa7\x87\x9b\x8f\x0b\xe8\xde\x38\x47\x83\xb1\x63\xa0\xc0\x1c\xc4\xa0\x13\x24\x18\x4d\x5e\x3b\xef\xd3\x27\xcf\x4e\x0f\xed\x11\x60\x8c\x42\xa4\xa8\x0c\xba\xfe\xfc\x20\x52\x9e\x60\xcb\x20\xf1\xdd\xd1\x4e\x3f\x7d\x78\x4c\x58\x26\x04\x1a\xc0\xe1\x1c\x67\xc5\x7b\x92\x7e\x70\xdd\xea\xb3\xf9\x5d\x9b\x7d\x3e\xdd\xdc\x9e\x5b\xb8\xf4\xe2\x85\xcb\xe9\xec\xe2\x9c\x9b\x7c\x79\xe5\x55\xd3\xf8\x37\x99\xc5\xcd\xcb\xd3\x3e\x7d\xba\xdb\x6f\xd7\xe7\x31\x1f\x92\x78\x85\x4a\x81\xc3\xf1\x1c\x0e\x30\xbb\x72\xe1\xa1\x7f\xf6\x73\x39\x41\xd1\x22\x64\xbc\x52\x48\x83\xa9\x96\xea\x41\x9a\x01\x40\xef\xe9\xac\x6b\x5d\xf2\xcf\x5c\xeb\xa1\x78\xd4\xe2\x13\xb8\x2f\x8a\x57\x84\x97\x1f\x48\x8d\xd6\x7b\xb2\x5e\xc3\x69\x95\x66\xaa\xf3\x88\x3c\x75\xed\xb8\xbe\x3c\xf4\x3a\x27\xaa\x83\x96\x36\x47\x4b\x3d\x1c\x8f\xd7\xf4\x01\xeb\x5c\x40\x2b\x8d\x1e\x62\x70\x83\x0e\xf8\x30\x1f\xe9\xf7\xb7\x41\x5e\xba\x3f\xee\xfe\xbc\xbe\x37\xca\xe1\x8c\x95\x40\xc5\x82\x1b\x42\x78\xaa\x2e\x39\x9f\x2c\xf9\x31\x60\xd6\x60\x90\xb2\x39\xd8\x3c\x18\xe7\x12\x39\x97\xce\x15\x84\x3b\x85\xed\xfa\xff\xfe\x5f\x5f\x66\x55\xf6\x86\x38\xc0\xe0\xe9\x93\x3b\xbf\x1a\x31\x78\x8a\xc1\xc3\xc7\x07\xff\xff\x16\x07\x76\xf3\xb7\x5a\x90\xf1\xcb\xf6\xa1\xdd\xdc\xdd\xae\x2f\x4b\x3d\x4e\x50\x7d\x30\x17\xa8\x63\x62\xcf\x26\xb0\xc8\x4a\x69\x90\x4e\x00\xe9\x07\x26\x97\xb5\xa0\xce\x85\x9a\x70\xf2\x24\xbf\x68\x85\x1f\x6e\x47\x25\x56\x3d\x7d\x29\x9a\x21\x8a\x38\x81\x41\x56\x4b\x48\x6a\x80\x63\x0a\x3c\x1a\x17\xa0\x6c\xf7\x19\x58\x48\x5e\x73\xfe\x39\xc0\xa3\x04\x37\x20\xc3\x09\x5b\x3b\x66\x32\x7a\x7a\xd3\x08\xfb\x0b\xb2\x1a\x8e\xd1\x53\x2a\x04\xf7\x99\xd1\x43\x03\x5d\x12\xb9\xa0\x78\x18\x3a\x97\x2e\x75\xe0\xd2\x58\xa1\x9f\xf7\x3d\x45\x67\x62\x05\x4e\x0b\x8a\x77\x04\xa3\x9f\x02\x7a\x9b\x82\xb0\xdc\x9e\x09\xd1\x45\x24\xa5\x48\x2f\x1a\xba\x9a\xb4\x80\x07\x14\x10\x4d\x1b\xfa\xb7\x51\x18\xdb\x02\x00\x06\x00\x0f\x25\xf2\x1d\x2a\x2a\x20\x53\x4b\xb2\x53\x0c\x34\x9c\x50\xbe\x25\x41\xd8\x7c\xd7\xc4\x99\x1f\xee\xd6\x37\xdf\xf5\x51\xf2\x4c\xcd\x58\xa4\x40\x76\x4f\x77\x5f\x4d\x7b\x75\x5e\x78\xfa\xe0\x34\x67\xfa\xf1\xb6\x4c\x76\x65\x6d\xaa\x66\x3b\x96\x0a\x5f\xf3\x5a\x08\x65\xb1\x9b\x71\x5c\x6c\x4c\x67\x7a\x7c\xfe\xbc\x9c\xb6\xb0\xb9\x74\x60\xfe\x4e\x6f\x80\x87\x77\xf7\xdb\xed\xed\xc3\xee\x6e\x29\x19\x1c\x25\xc7\xad\x99\x22\xbb\x9d\xe2\x15\xbc\x38\xd8\x09\xe0\x06\x8e\x80\x56\xa4\x99\x00\x14\x1e\x5f\x51\xf2\x35\x39\xc0\x1e\x75\xbe\x56\xc9\x6c\x61\xf1\x2b\x5d\x6e\x2f\x8a\x0b\xd6\xb1\x3e\x14\x87\x00\x3f\xa2\x0b\xab\x72\xf8\x85\x80\x2e\x5b\x37\x9a\x6a\xd4\x16\x3a\xae\xac\x1d\xb7\xb3\xd7\x5e\xbf\x54\xec\xb7\x75\x94\xea\x40\x42\xe6\xa1\xb7\xa3\x39\xe9\x1b\x28\xdb\x67\xa2\xcd\x82\x1f\xe1\xd4\xa7\xf9\x0e\xa3\x5a\x61\xb3\x06\xcc\x67\xed\x9e\xfc\xb8\x47\xc9\x57\xab\xee\xfd\x66\x44\xcd\xd2\x82\x56\x87\xda\x5a\x6f\x09\x3f\xf5\x4e\xbc\x3c\xd0\xd6\x8f\x3e\x23\x3f\xe3\x51\x25\xed\xa8\xf6\xbd\x76\xf5\xc5\x1a\x14\x3f\x62\xf0\x3e\xd3\xf1\x88\xdb\xf1\x64\xa0\xd5\x57\xea\x30\x3b\xab\xbc\x9e\xf1\x36\x1e\x65\x0e\xae\x99\x02\xd2\x5b\x82\x89\x0c\xe9\xa9\xed\x19\x54\x85\xad\xe6\xa8\x64\x9f\x8f\x92\x55\x9e\x2d\x29\xac\x4c\xaf\xa9\x17\x71\x1e\xc0\x01\x7e\x38\xa9\x65\xaa\x64\x51\xa8\x57\x70\x64\x7c\x6e\xda\xc6\x94\xe0\x34\x4f\x15\xad\x96\x99\x86\xd2\xeb\xd5\x2e\x76\x34\x06\xbf\x39\x8c\x60\xae\x6d\xbd\xe4\xdf\x36\x29\xef\xb7\x26\xbd\x9b\xef\xc0\x7d\x9f\xd9\x6e\x47\x09\x96\x33\x53\x76\x7e\x30\xc1\x39\x64\xd0\x38\x6f\xd2\xae\x81\x5c\x0d\xeb\xca\x15\x0b\xd4\xba\x55\xc5\x12\x7c\x1d\x42\x1e\x5c\x8e\x70\x1d\x5c\x2b\x63\x41\x0f\xcf\x29\x60\x7e\x93\x55\xdf\xfc\xad\x96\xfd\xb7\x5e\xf5\x9f\xaf\x6f\xcf\x2d\xfb\x21\x1d\xb3\x4e\x28\xb8\x51\x21\x76\x25\x93\xab\x71\x30\x39\x06\x32\x39\xfa\x11\xe7\xb0\x54\x72\x15\x9f\x23\x03\x54\xcd\xb1\xe2\xdf\x20\x7f\x97\x57\x3e\x1d\xf7\x4c\x22\x20\x5f\xb6\xe0\xc9\xb1\xe6\x3c\x65\x4f\x3e\x84\x21\xc7\x48\x39\x22\xde\x30\xaa\xeb\xb7\xb5\x54\xf9\xac\xb3\x71\x9d\x56\x4c\x43\xa2\x92\xa3\x02\x4f\x9c\x3a\x2f\x88\x42\x04\xc5\x8c\x4c\xe3\x52\xdd\x0c\x0a\xe8\x42\xd2\xe4\xc8\x06\xd9\x91\x9d\xa6\x6c\x46\xc6\x64\x85\xba\xe3\xcd\x49\xf2\x64\x64\xf1\x93\x77\xe4\x4a\xb2\x56\xd3\x27\xd7\x39\xf3\xb3\x0b\x53\xde\xda\x9e\x44\x19\x55\xb4\x43\xb5\x73\x53\x73\xfb\x40\xca\x85\x2f\x5a\x7d\x0e\x87\xe5\xfe\xfe\xee\x97\x55\x95\x71\xb2\x27\x06\x38\xc0\x49\xf7\x2b\x1b\x2e\xf7\xb3\x2b\xec\x84\x45\x2c\xc2\x0b\xa2\x5e\x06\x57\x81\x76\x14\x80\xa2\xae\x9e\xf7\xc0\xd1\xd3\xcf\x01\x1e\xee\x39\xe9\x0d\xaf\xae\xfb\x3d\xb5\x02\x3c\xe2\x2a\x23\xb5\x42\x8a\x4c\x29\x3a\x94\xea\x05\xa7\x4c\x05\x9a\xa8\x40\x0b\xd8\x51\xd3\x14\xc8\x5b\x65\x44\x0d\xa8\xae\x0c\x68\xa5\xf7\x41\x33\x19\x54\xee\x7d\x60\x21\x23\xe8\xa3\x47\x8c\x0d\x5e\x3b\x8c\x62\xd3\x0e\xa3\x7b\xc1\xec\xad\x2a\x9c\xd3\x21\xe3\x74\xc8\xae\xc3\x6f\x1b\xc0\x4f\x66\xed\x81\xf4\x5f\xfe\x59\x49\x31\xc1\xc7\x29\x26\x64\xe3\xce\xc9\x18\x30\xd2\x86\x7f\x31\xcd\x32\x02\x8d\x34\xd2\xc9\xc3\x20\x7a\x42\x8c\xc9\x2f\xba\x73\x2c\xd1\xd3\xfc\x53\x9b\xcb\xc9\xf8\x75\x36\x40\x54\xa5\x19\x05\xdf\xad\x16\xcd\xd8\x41\x3b\xd0\x67\xd9\x62\x96\x8f\xe2\x27\xe6\x51\x60\x8d\xa2\xc6\x4f\x5c\xce\x9e\xa3\xb3\xb6\xcc\x58\x96\x96\xd6\x9b\x13\xb7\x05\xa6\x98\x14\xf8\x93\x0f\x21\x1f\x58\x65\x9d\x9f\xbe\xb6\xf2\x39\x1a\xa4\x9c\xc4\x1c\x96\xe9\xce\xf0\x7b\xd3\x43\x1c\x35\xdb\xc5\x1c\x50\x35\xe5\x11\x71\x60\xfb\x84\x6d\x9c\x92\x7c\x4c\x50\xa9\x5a\x5a\x0a\xef\xfb\x7c\x05\xec\x9e\x0e\x2c\x5f\xfa\x1e\x2e\x6d\x6a\x71\xb9\x6a\x53\x9e\xd0\x72\xd8\xbb\x3c\xea\x84\x61\xa5\x35\x49\xa6\x6e\x81\x79\x56\x37\xaf\x08\x4b\xd1\x69\x5d\xcb\xdf\x97\x96\xd6\x9f\x27\x13\x3b\xcd\xcb\x51\x2c\x4d\xef\xc2\x73\x19\x50\x0e\xc7\xf4\x68\xe7\x1c\x0f\x35\x07\x6c\x9f\xaa\xa7\x16\x03\xf5\xd3\x21\xcd\x43\x9f\xc8\xd0\x43\xe1\x9e\xa4\x49\x91\xb5\x38\x3a\xd2\x4d\x27\x7a\xdf\x89\x8c\xf2\x01\x53\x12\x13\xd4\xec\x0e\x53\xd8\x37\xc6\xcb\xe7\x0f\x9e\xd2\x6b\x19\xbd\xd3\x65\xf4\xcc\xea\xa6\x30\x9c\x63\x7f\xbf\x08\xb8\x3d\x3e\xc7\xc7\x1c\x19\x06\x3b\xe0\x7d\xed\x18\xce\xb8\x74\x13\x64\x11\x32\xae\xa3\x91\xfb\x09\xde\x94\xad\x3e\xc7\x5d\x5e\x14\x1b\xb5\x83\xf0\xaa\xce\xaa\x7b\xee\x42\xb5\xab\x10\x77\xd0\x0d\xe1\xb6\x4a\xa4\x50\xb7\x7e\x02\xfc\x42\xc6\x0f\x5c\x63\x80\x99\x26\xe3\x84\xa7\x50\xc8\x5b\x3b\xfb\x0f\x17\xe2\x3c\x9a\xdc\xbd\x7e\x9c\xdb\x34\xe0\xbb\x21\x5f\x09\x03\x1f\x51\xee\x55\x97\xc9\x95\xa8\x41\x11\x21\x32\x14\x4c\x15\xdb\xc0\x8b\x28\xe3\x28\x58\x4f\x25\x47\xf9\xdc\x39\x17\x56\x6d\xa2\x13\x27\x36\xcf\xde\xcb\xdd\xf1\xee\xb7\x0f\x37\x8f\xdb\x9f\x3e\x7c\x19\x16\x01\x6f\x69\x36\x82\x09\x1b\xd0\x93\xff\xc3\xc6\x6c\x35\xce\xd9\x23\x3d\xb1\x77\x03\x32\x85\x70\x38\xe3\x72\xfc\x6c\x12\xfc\xd5\x24\xff\x07\x0e\x54\xeb\x1e\xa4\x35\xef\xdd\xaa\x84\x82\xa8\x06\x0e\xa7\x72\xc7\xe3\xb1\x0f\xcc\xd9\xd4\xfc\x07\x1b\x65\x08\x24\xed\xcc\xc3\xda\x9c\x97\xc8\x80\xed\x1e\x56\x85\xad\xde\xcd\xb9\xbe\x0b\x4e\xa4\xd2\xa7\x57\xcb\xa1\x58\xae\x87\x4f\xd7\x2b\xeb\x95\x8e\xe3\xc2\xa6\x58\xd0\xd7\x8e\xfa\x6f\x34\xe8\xb7\x1c\xa5\x9d\x09\x4f\xfa\xf5\xbb\x6c\xf3\x37\xdb\x66\xcf\x59\x98\x17\xeb\xb4\x74\x84\x3e\xf2\xb5\x0b\xb6\x50\xb1\x76\x56\xc7\xaf\x25\x02\x09\x7c\x48\x27\xb2\xf6\x1c\x2a\xcb\x95\x0c\x27\x81\x13\x5e\x5e\x4f\x7f\xa2\xc1\x05\xa7\xf9\x3f\x7a\xf0\xe8\xf2\x81\x94\x5e\x66\x23\x47\xaf\x90\xa6\xeb\x95\x99\xca\x61\xd1\x5d\x4c\xd4\xd2\x1b\xf8\x95\x13\x85\xb8\xe0\x17\x0f\x16\xa5\x5f\xd9\xf1\xeb\x87\xb6\xbd\xbf\x79\x58\x44\x4d\xa4\xa5\xdb\xee\x71\xd4\x44\x71\x14\x4a\x1a\x43\xc2\xe1\x54\x4c\xcd\xdc\x53\x6d\x81\x87\xce\x57\x71\x98\xd2\xaf\x6b\x5e\x04\x29\x9b\xbb\xa5\x03\xdc\x97\x86\x9a\x48\x39\xa4\x6c\x8e\x7e\x6f\xbc\xcd\x33\xa3\xd6\xa5\x07\xe5\x01\x26\x06\xcd\xcd\xec\x5d\x53\x9e\x63\xef\x61\x8b\x83\xff\x48\xf4\xa3\xe9\x3d\xd2\xda\x8d\x2a\x4d\xd1\xaa\x34\x3a\x4c\xb9\xdb\x01\xa1\x99\x7a\xf6\x75\x29\xaa\xe0\x99\x52\x70\xd0\xce\x84\xa9\x57\x61\x83\x4a\x81\x4e\x3a\x95\x69\xf3\x7b\x43\xaf\x50\xeb\x9b\x1b\x6a\x87\xe6\x87\xa9\x6f\x7b\x1d\xdc\x0b\x79\x1d\x19\x56\x9f\x96\x51\x9b\x9f\xe7\xab\x1d\x66\x71\x98\x66\xb8\x4f\xf0\x61\xf2\x27\xa0\x53\x0c\x69\x9a\x9f\xcb\x19\x1f\xb6\x7f\x79\x37\x5c\x7f\xba\x3e\x6b\xa0\x4b\xd7\xc7\xf4\x59\xdd\x98\x6c\x25\x4b\xcf\xab\x0c\xda\xf7\x52\x5f\x74\x6b\x48\xe2\xbd\x86\x31\x4e\xc6\x10\x0d\xd9\xa7\x05\x1a\x54\xbf\x22\x94\x12\x1e\x62\x1f\xfd\xa4\xfa\xd3\x02\x3b\xa0\x12\xf5\x40\x35\x45\x07\x40\x9d\xd2\x5a\xa0\x68\xe3\xc0\x85\x92\x03\xf7\xe3\x94\xb4\x22\x3d\x0e\x72\x28\x04\x2a\xc2\xeb\x1d\xac\x43\x9a\xba\x8a\xc1\x99\xe9\x65\x55\x06\xce\x64\xb4\x82\xf9\x7a\xca\x10\xff\xc9\x88\xb4\xc6\x65\x86\x52\x91\x2d\x88\x79\xb8\x52\x08\xf2\x8b\x4b\xfa\xf1\x66\x45\xc2\x9f\x2d\x1f\x55\x78\xbc\x62\xf7\x31\xed\x83\xd2\x14\x98\xb1\x40\x91\xf6\x46\x7e\x32\xdd\x51\x27\xc2\x62\xed\xbb\x69\x10\x7c\x20\x28\xa8\x2b\xdd\x52\x0d\xa5\x8c\x48\x3d\xc8\x5d\x96\xa1\x8f\x0b\x3b\xae\x71\x42\x89\x67\x9c\x39\x8f\x04\x16\xe4\xf9\x88\xa8\x19\x37\x87\x34\x76\x82\xd5\xe3\x1f\x1f\xdf\x32\x27\x0b\x60\x00\xa5\x75\x4a\xfb\x9a\x52\xc2\xd1\xa8\x61\x36\x89\x98\xc2\xd2\x0c\xd4\x21\xbc\xe3\x1a\x66\x22\xa8\x34\x30\x95\xce\x4a\x95\x14\x60\x75\xdb\x8c\xab\x69\xea\xeb\x33\xb7\x12\xc2\xd4\xcf\x5d\x4b\x27\x76\xbc\x43\x8e\x7b\xfb\x34\x73\x7e\x08\x76\x34\x55\x73\x98\x44\x28\x75\x34\x5d\x01\x36\xb0\xfc\xd0\x8e\xbe\x1e\x4a\x8c\x6c\x33\x59\x62\xe9\x4c\xce\x03\xc3\x1c\x9c\x22\xbe\x70\x8a\x63\x62\xca\x19\x8f\x73\x1e\x51\xbd\xbe\x8b\x8a\xb5\x4a\x6d\x6f\xd3\xdb\xd2\xbf\x9a\x39\x2a\x86\xbe\x3d\x4d\xeb\x7f\x19\xbd\x6f\x7b\xbd\x48\x89\x9f\x2e\x01\x0e\x01\x80\x54\x2d\xef\x4f\x3d\x9a\x46\xc3\x19\xe4\xdd\xc3\x3b\xa2\x6a\x28\xba\x46\x63\xfb\x20\x8b\xa4\xf6\xf2\x0e\xd3\x5c\x35\x64\xfd\xc8\x1b\xe6\x89\xb7\xd3\xe8\xc2\xe4\xfe\x32\x8a\x94\x12\x48\x64\x52\x6e\x29\x53\x4a\x50\x31\xb2\x0b\xe4\x10\xc8\xc8\x39\x35\x0f\xe9\xe6\x08\xc8\xf2\xc8\x43\x0a\xe0\x31\x16\x69\x52\x4c\x8d\x6a\xa0\xe7\x3a\x5d\x37\x0e\x29\x75\x54\x8f\x54\x84\x8a\x29\xb2\xb4\x4b\x65\x33\x1a\x07\xa6\x0b\x5e\x23\x9a\x56\xf3\x08\xea\xa0\x24\x0a\x19\x1e\x05\x22\x89\x15\x0a\x8a\x5f\x0e\x33\x88\xba\x9b\x6a\xe4\x81\x53\xde\x30\xdb\xc9\xea\x2f\xdf\x92\x26\xd8\x99\x8e\x81\xef\xf4\xa0\x21\xff\x05\x6e\xa1\xd1\x38\x0a\xf0\x4b\xe0\x66\x62\x4f\x12\xe4\x69\xc6\x71\x96\x01\x8f\x96\x7c\x94\x73\x09\xdc\xf5\x54\x74\x3b\x0a\xff\x2d\x33\x42\xe0\x38\x35\xe4\x1a\x40\x00\x9a\x3d\x1c\x09\x1d\x4d\x25\xee\x40\x36\xaa\x95\x25\xe7\x6c\x63\x84\xcc\x22\x33\x0c\x67\xd0\x28\x5f\x9b\xb3\x81\xaa\x6c\xe2\x08\x42\xc2\x21\x2a\xac\x3e\xb2\xad\x50\x6d\x0c\x53\x57\x9a\x35\x9f\x8d\x75\x2d\x92\x5c\x9f\xa0\xf2\xc8\xb7\x83\x6f\xa5\xc9\x62\xda\x86\xc4\x31\x9c\x34\x83\x12\xa0\xea\xe5\x2a\x42\x93\x26\xa4\x9e\x86\x92\xd9\x81\x86\xb2\x0b\x4d\x2e\xd6\x74\xd9\xc9\xfd\x66\x19\x33\x9d\x96\xa0\x42\x4f\x78\x38\xc3\x09\x29\xf7\x7e\x15\xec\x5d\x0a\x5f\x0b\xbd\x07\x57\x16\x55\x44\xe4\x8e\xbb\x0e\x41\xa0\x75\xee\x0b\x1d\xd1\xd4\x27\xa5\x74\x78\xfc\x7c\xf8\x4d\x33\xe7\x90\x29\x8a\x05\x8f\xb7\x6b\xd7\x0f\xd4\xa4\x59\x50\x11\xa8\x49\x0c\x14\xfd\xcd\x28\xec\x57\x00\x76\x84\x9c\xe4\xd9\x67\x06\x9a\x70\x2c\xdb\x94\x04\x09\xe6\xdf\x0e\x29\x01\xde\x05\xb8\x15\xb9\x10\x5a\x91\x2e\x82\x79\x92\xc2\xe8\x4b\x29\xad\x2a\x0f\xa5\x7f\x67\x27\x05\xd0\x31\xbc\xd1\xbb\x55\x83\x66\x01\x70\x61\x50\xac\x03\x26\x1e\x85\x7b\x0a\x4c\x40\x09\x2a\xbe\x69\x9f\x8c\x74\x4a\xfb\xa4\x19\x60\x5b\x56\x83\x37\x3a\xe5\xba\xc2\xe4\x19\xa6\xe8\xaf\xdb\x9f\xee\x3e\x6f\x97\xcc\xd0\x32\xfa\xe3\x88\xca\x75\x30\xa3\x11\x08\x0e\x4e\x15\x64\x4c\x3e\xfa\x11\x96\x6d\x1b\x08\x7a\x7a\xa7\x6a\x18\xe8\x4f\x8e\xb3\xcd\x3d\x49\x4b\x77\x92\xb1\xee\x28\x97\x1d\xd8\x0d\x96\xaa\x1c\xf2\xf5\x38\xa4\x52\xc8\xda\x98\xf1\x30\xa4\x20\x48\x3c\x92\x57\xc0\x0b\x8f\xa4\xbd\xc1\xeb\x26\x81\x9a\x49\xff\xd0\xef\x5a\x0a\x85\x1e\xdf\xd6\x10\x3a\xc0\x93\xd3\xdb\x52\x88\xb0\xd7\x3c\x56\x72\xd9\x02\xbf\x43\x73\x69\xa9\x17\x4f\xd1\x6d\x29\xbf\xa9\xd5\x4a\xd3\x9c\x85\x86\xec\x07\xf8\xe0\xd0\x50\xd1\x68\xa9\x24\xe9\x38\x87\xdc\x38\x64\x4a\x3c\x3a\xb9\x58\x8f\xca\x1c\xc0\x77\xc7\x9e\x0f\xb4\x43\x8e\x18\xe4\x16\x73\x1e\xaa\x44\xcc\x93\x9f\x42\xda\xeb\x91\x42\x2c\xf4\x84\xbe\xb5\xf5\x62\x1e\x0e\xb3\xa0\x77\x8a\x9c\xd2\x14\x3f\x45\xaa\x93\xb9\x9b\x4b\xb5\xc3\xab\x73\x95\xb5\x1d\xda\x42\xbc\xb3\x8f\xa4\xfd\x79\x76\xfb\xbc\x1b\xee\x96\xa1\x5f\xf9\x52\xd0\x4c\x8c\x52\x39\x0f\x59\x68\x25\x23\xdf\x9f\xa6\x57\x10\x79\xa0\x6a\xfe\x1d\xeb\x5f\xb0\xfc\x38\xbe\x51\x2e\x16\x98\x52\x5e\xbd\xaa\xbf\xc5\xa2\x7a\x9b\xe5\xca\x00\xaf\xab\xb8\x24\x75\xa3\xe9\xb2\x0c\x17\x30\x73\x80\x06\xcb\xb2\xef\x91\x78\x33\x69\x1c\x7c\x99\xe2\xe0\x53\x77\x86\x4b\x13\x98\x02\xfb\x40\x59\x15\x97\xbd\x00\x2c\x1f\xec\x28\x04\x2a\x72\x99\x06\x4f\x09\x37\xb2\xde\x92\xc2\xf2\x21\x9f\x94\x0b\x8a\x68\x23\x7c\xe9\xc9\x96\x88\x9e\x9c\xdc\x8b\xc5\x92\xcf\xdc\x42\x05\x7a\xd9\x58\x90\x11\x14\x0a\x58\x24\x58\xa9\xea\x70\x20\x0d\x12\xa7\x31\xe2\x29\x19\x5c\x9d\x46\x73\x0d\xfb\x9e\x58\xa9\x27\xbe\x00\x57\xa7\x7b\x8a\xaf\xe2\x66\x64\x95\x01\x30\x28\x64\xc6\x0f\x61\x46\x64\x44\x66\x33\xe1\x73\x62\x07\x22\xa8\x30\xf8\xc9\xa5\x58\x2c\x45\xeb\x46\xf8\x07\x8a\x94\x51\x9e\x1e\x97\x78\x38\x2e\xbe\x67\xc4\x06\x5c\x14\xcb\x88\x01\xb9\x23\xdc\x96\xf1\xa1\xb3\x2a\xb9\x69\x66\x2c\xe1\x6f\x86\x1c\x88\xbd\x1b\x01\x00\x55\xc8\x57\x50\x72\x9f\x9b\x47\x46\x2e\x91\x63\x0d\x23\x03\x92\x74\xae\x38\x72\x35\x0c\xc9\x0b\x2d\x1f\x85\x3b\x12\xb2\x5e\x3a\xa5\xf5\x0d\xc9\x20\x41\x68\xf5\xdc\x84\xe9\xdc\x6c\x2e\x1d\x9c\x5f\xae\xef\x6f\x6f\x6e\x3f\xae\x0a\xa2\x79\x19\xfc\x74\x44\x7b\xd5\x7f\xef\x44\x00\x9c\x72\x54\xcf\x37\xef\x12\x12\xf8\x18\x31\x4e\x11\xf6\xea\xec\x1d\x77\xd0\x9e\x1f\x00\xe3\x4e\x80\x81\x67\xbc\x38\xdf\x11\x8e\x1c\x45\x0f\xa1\x30\x00\x4b\x65\x12\x0a\x15\x68\x10\x59\x35\xe5\xe6\x9b\xc4\x42\x9e\xc4\x42\x66\xdd\xe2\xb9\x6b\x0f\x19\x72\x61\xd0\x6c\x98\x93\x5c\x98\xba\x5c\x98\x54\x2e\xdc\x1c\x09\x86\x69\x16\x0c\x93\x76\xc4\x0a\x01\x49\x75\xc8\xc8\xbe\x23\x12\xbb\x6c\x0c\xb8\x93\x22\x6f\x9c\xc2\x03\x39\x38\x91\x77\xc6\x49\x39\x49\xc3\x79\x42\x9c\xf7\xe1\x88\xbf\xec\xb8\x61\x41\xcd\xb8\xa9\x67\x7e\x4b\xc3\xac\x11\xe0\x2c\x87\x29\x64\x0a\xb5\x25\xb9\xf3\xe5\x5f\xc3\x00\x0e\x31\xe1\xd9\xc0\xde\xdb\x25\xa1\xbc\x94\x73\x92\x7d\x56\x10\xe8\x11\x39\x85\x9c\xce\x34\xf2\x66\x81\x33\xcb\x6e\xe8\xce\x64\x89\x15\x42\x30\x55\x39\xa6\x6a\x9d\x81\x5e\x56\x24\x47\xb0\x86\x40\xc2\xea\x8a\x66\x64\xfc\xc6\x42\x30\xd8\x73\xdf\x51\xb3\x06\xe3\x72\xa5\x68\xcb\x20\xa2\x89\x9c\xcc\x3a\x20\x11\x6b\x0d\xa8\x35\x23\xe3\x90\x88\xa3\xc2\x67\xd5\x74\x82\xa0\xba\x03\x38\x0b\xb2\x18\x21\xb5\xde\x00\x7a\xe7\xa2\x93\xca\xe4\xa4\x69\xf6\xb8\xdc\x43\x8b\x81\xeb\x05\xf0\x8d\x38\xd4\x24\xa4\x66\xc2\x0d\xde\x00\x7a\x43\xc6\x37\xb0\x70\x43\xd1\x0f\xd2\x1b\xe9\x8c\x89\xb6\x90\xcb\x0a\x94\x84\x19\x80\x99\xc6\x09\x81\xa9\xe4\x54\x70\x44\xc6\x5c\x24\xf7\xf3\x96\xca\x90\xb0\x42\xb1\x62\x82\x38\xd9\x31\x27\x92\x69\x85\x14\x5f\x1a\x7c\x5e\x9e\x49\x5c\xf8\xee\x7a\xd8\xde\xbe\xbf\x5e\x20\xe3\xe5\x8b\x26\x48\x50\x71\x57\x76\x1d\x25\x49\xe1\x92\x0c\xf0\x92\x42\xd1\x1c\x97\x3b\xef\xac\x3e\x83\x62\x42\xb1\x94\x5c\x11\xee\x0f\xaf\xc1\x85\x16\xaf\x79\x67\xf5\x35\x79\x24\x85\xf1\x08\x6f\xe1\x11\xc3\x8b\x79\xb5\xb1\x02\xea\xb8\xde\x98\xd4\x28\xaf\xad\xf6\x23\x9c\x1f\x80\xd4\xb9\xde\x93\x0d\x40\xdc\xd8\xea\x3b\x67\x81\x25\x77\x22\x52\x5c\xc4\xb4\xd4\xb7\xcf\x41\x5a\xa6\x70\x06\xd0\xb2\x77\xfc\xcc\x0c\x4a\xbf\x2f\x8d\xf7\xcc\x14\x6a\x62\x91\x97\x8c\x69\xf3\x5b\x0d\x0a\x19\xad\x39\x6a\x5a\x08\x7b\x56\x8d\x8c\x58\xcd\x15\x3d\x72\x7f\x69\xa9\x9e\xdd\xd7\x55\x68\xce\x14\x56\x81\x39\x01\xcd\xe6\x4b\x58\x7f\x6b\x73\xf1\xb5\x75\x5d\xf0\x65\x7b\xda\xf5\xed\xfb\xbb\x4f\x8b\x63\x77\xc9\x74\x9d\x12\xdc\xc5\xe3\x08\x0d\x42\x75\x1d\x59\xca\x65\x2f\x3c\x24\xcc\x5a\x3e\x93\xe6\xac\x0b\x72\x99\x24\x5c\x9d\x91\x21\x8f\xcb\xfd\x40\x5e\x18\x43\xee\x19\xa5\xa7\xcc\xed\x4f\x75\x5f\x73\xf4\xc6\x41\xf7\x25\x05\x1d\xd2\x9d\x05\xdc\x6f\x6e\x46\x3a\x8f\xe9\x09\x06\xb5\x07\xaf\xe0\xec\x4b\x31\xa8\x71\x9f\x7b\x75\x86\xe9\x19\x1d\x91\x00\x8e\xe1\xd1\xc5\x1b\x64\x38\xd4\x74\x87\x9a\xd6\x4b\xf8\x15\xc8\x09\xb1\xf4\xfc\x5e\xb1\x52\xb0\x0d\xb6\x73\x1d\x71\x42\x86\xf2\x31\x56\xaa\x5e\xd8\x3f\x92\x39\x82\xa3\xa2\x3a\xbc\x60\x8e\x30\x45\xb8\x1e\x5b\xe4\x9e\x27\x5e\xee\x45\x1f\x5b\x51\x96\x4f\xa1\xce\xd2\xca\x84\x74\xb8\x5e\xf0\x66\x83\x47\xa4\x36\xd7\x25\x3e\x36\xf7\xc4\xc0\x5f\x3f\x3d\x1b\x55\xee\x22\x5e\x53\x75\x4f\x45\xf6\x1d\x52\xba\xaa\x11\x12\x6e\x1f\x9a\x0a\xad\x5b\x0d\x30\x9d\x26\x39\xd5\x2b\x70\x66\xe4\x2f\x55\x6c\xdb\xce\xc0\x72\x83\x6b\x13\xdb\x9e\x47\x12\x4a\x80\x1c\x20\x82\xe3\xc4\xa5\x9e\xbb\xb5\x27\x63\x6d\xa6\xeb\x2d\x5f\xbd\x6b\x34\x60\x26\x13\xc7\x96\xa0\x33\x8c\xac\xa8\x63\x41\x2d\x32\xa3\x77\x94\x1c\x89\xc0\x94\x79\x74\x15\x27\x0f\x42\x1c\xf3\xa6\x45\x59\xf4\x08\x75\x83\xb5\x2d\x07\x2a\x5e\xce\x37\x7a\xa7\x9d\x0b\xae\xa9\x26\xf5\xeb\xd7\xea\xe2\xfd\x78\xf7\xe9\xd3\x76\x09\xf5\x99\x97\x80\x7c\xeb\x90\x52\x8c\x5c\xc8\xba\xe6\x3d\xa9\xac\x08\x0c\xde\x37\x64\x1e\x47\x76\xe2\xd1\x64\x85\xe4\x15\x89\x60\xec\x1e\x8d\x19\x4c\x1d\xd8\x4b\x37\x42\x8c\xea\x36\x60\x60\xf2\x2a\xf7\x47\x9a\xc2\xb9\x76\x1f\x12\x57\xf7\xc8\x6a\xab\xc9\x1d\x89\x5d\x93\xdb\x0a\x59\xb3\x61\x71\xa2\xda\x32\xc9\xcc\x15\xaa\x63\xa6\x22\xfc\x9e\x0f\x22\xe1\x04\x85\x1d\x95\xbf\x61\x94\x91\x6d\x18\xb9\xb9\x4c\xb1\x36\x27\x4c\xc5\x08\xd7\x49\xf8\x54\x42\xf0\x70\xce\x76\x37\x2c\x57\x58\x41\x96\x2d\x65\x26\xa7\x30\x72\x95\xc9\xf5\x04\xd0\x49\x53\x45\x37\x1f\x8a\x82\x99\xba\xa0\xea\xdd\x3e\xfa\x36\xcf\xc8\x61\x9a\x9e\x81\xf3\xfd\x78\xbb\x5d\xae\x48\x3a\x71\x7f\x3c\x89\x58\xb0\x22\xaa\x6a\x16\xe2\xe4\x9a\x71\xb2\x26\x2e\xea\x72\xd4\x78\xf0\x8b\xd4\x3f\x6a\x57\x7c\x05\xea\x65\xf0\xaa\x4f\x6e\x3d\x92\xc0\x97\xb5\xd4\x39\x07\xdf\x4b\xa7\x1c\xbe\xdc\x65\x11\x5f\x62\x6e\x19\x1e\xa8\x0d\x27\xcf\xb7\x80\xfc\x97\x21\x10\xd4\x66\xec\xe5\xb1\xef\xa5\x63\x6e\x78\x5d\xef\xb9\xd5\xd6\x37\xab\x5e\x0d\x60\x55\xe0\x80\xa2\xa8\xb3\xab\x21\x17\xc0\x39\x5c\xf1\x57\xd0\x57\x5e\x34\xd0\x13\x5f\x97\xdf\xb8\xa9\x97\xa0\x09\x2c\xdd\x14\xf3\x45\xf8\xb7\x04\xcc\xd9\x03\x42\x42\x3c\xeb\xc8\x7e\x02\x17\x60\x26\xbc\x80\xf3\xa0\x03\xf1\xd4\x17\xe5\xaa\x7b\xa3\x5c\x4d\x78\x0a\x7c\x01\x53\xe0\x09\x8e\xc3\xd5\xec\x6c\xf2\xcc\xd9\x98\x66\x61\xcd\xab\x30\x5f\xcc\xd0\x26\xf3\x90\x5d\x99\x21\x15\xce\x8f\x6e\xea\xfd\xb9\xd1\x4d\xa3\x5f\x19\xdd\x09\x5c\x45\x47\xab\x38\x83\x28\x11\xbf\x72\x06\xee\xb7\xed\x97\xed\x0a\x79\x58\x7a\x45\x1c\x10\xf1\xc1\x03\xfb\x67\xd2\x26\xd4\x64\x47\xa3\x3e\x7f\xb0\x75\xc8\xb5\x97\xd5\x3a\x23\xac\xa8\xe6\xcd\x17\xc9\x8f\x85\xa9\xf1\x7b\xe6\x3d\x27\xab\x26\x46\xf0\x38\xcb\xcd\x3f\xe2\x5a\xe2\x48\x81\x15\x2e\x5f\xb1\x33\x85\x97\x93\x7f\x35\x9f\xb6\x22\xe9\x2b\xae\xa6\x4a\xaa\x8c\xe4\xa7\x67\xc3\xa8\xaa\x53\x08\xbd\x98\x0f\x11\xad\x86\xbb\x14\x2d\x3d\x51\x25\x85\x5c\x20\xbc\xe9\x28\xf8\x93\xbb\x56\x50\xdf\xc2\xc0\x13\xa3\x82\x53\xdb\xed\xed\xa1\x1b\x5d\x03\x72\xe2\x98\xa9\xc7\x06\x0a\x25\xbc\x88\x5e\x3d\x8d\x98\xaa\x4e\xc1\x03\x55\xad\x9e\x3a\x88\x2a\x43\xc0\xb7\x84\xa9\x81\xaf\x62\x26\xb5\xb9\xae\xd9\x52\x64\xf2\x0b\x32\x20\x63\x6d\x9a\x14\x6f\x1a\x52\xdb\xbc\x6a\xe4\x1a\xeb\xe7\xde\x08\x53\xce\xbc\x57\xf3\x8e\xcc\x3f\x0c\xde\x4b\x72\x72\x51\x8d\xf5\xb0\xbb\xfb\xfc\xf9\xe6\xf6\xe3\x4f\xef\xae\xef\x97\xbb\xe9\x12\x60\x5b\x0a\x96\xce\x48\x31\xed\x44\x72\x69\x47\xf2\x4a\x3b\x95\x1c\x94\xa8\xfe\xfa\x5a\x20\x5a\x89\x70\x67\x26\xe0\xee\x40\x3d\xbd\x78\x38\xc8\x09\x70\x5b\x1d\x0c\x5b\xb8\xa2\x39\x28\xc8\x44\xc6\x90\x8f\xac\x6c\x4c\xd2\x57\x53\xd8\x55\xb7\x96\x0b\x71\xb3\x82\xe5\x68\xdd\x2a\xc9\x87\xe1\x11\xdc\x07\x42\x26\xc8\xa7\xa6\x71\xcd\xb6\x29\x14\x3a\xfc\x7d\x38\x67\x2a\xce\xef\x8c\xb3\xab\xb5\x9c\xb8\xf6\x01\x08\x12\x5b\x5d\x4d\xe2\x07\x55\x2d\x08\x93\x57\xeb\x5a\x2b\x08\xda\x56\x63\xb4\xf0\x39\x1a\x99\x27\xe2\x9b\xe5\xd7\x63\x8b\x0d\xef\xb7\xf7\x67\x4c\x04\x4b\x4c\xbb\x63\xff\xed\x14\xa8\xba\x32\x3b\xb7\x57\x4d\x8e\x6d\x38\x02\xb0\xbd\xc8\x5f\x93\x03\x59\x75\xdd\xdd\x80\x52\x6a\x06\x5e\x45\x22\xd6\xca\x9a\x08\x8f\x89\xbf\x9b\x3e\x16\xc1\x7f\x44\xf9\x5e\x47\xeb\x95\xee\x8d\x77\xbb\x94\xdd\xea\xc3\x97\x8c\x71\xcd\x8a\x96\x97\xbe\x02\x47\xf4\xb4\xe4\x4a\x51\x79\x01\xa1\xf8\x70\x1e\x49\x83\xf1\xb0\xa7\xd5\x04\xd3\x37\x04\x17\xd6\xdc\xc6\x1a\x17\xcf\x41\x4d\x5d\xf1\x90\x2b\xa7\xab\x30\xd5\x1c\xdd\xe0\xff\x4c\x88\xe4\x11\x56\x95\x29\xa5\x41\xea\x94\x2a\x03\xd2\x6e\x6b\x7d\xa8\x4e\x6b\x43\x65\xa8\x0b\x55\x25\x4d\xa5\xec\x9b\xd3\x33\x30\xb9\xea\x62\x3d\x38\xd9\x0e\xc5\x5b\xd1\x2c\xd7\xac\xa9\x18\x9a\x61\x35\xc9\x62\x67\x7a\x75\x51\x4f\x83\x91\xad\xa6\x56\x76\xdb\x3d\xbc\x36\x6d\xfe\xfa\x55\xcb\x14\x43\x78\xfd\x32\x75\xd7\xdc\xfd\xf6\xbe\xdd\xbc\xbb\x5e\x78\xe7\xe6\x85\x21\x3c\xa7\x49\x0d\x9b\x6d\xa0\x29\xf7\xc9\x99\x98\xdc\xbd\x51\x8f\xa0\xef\x03\x6d\x8b\xb6\xbe\x35\xce\xec\x4b\x66\x0f\x13\x74\x77\xdb\x56\xe6\xef\xa2\xc1\xf8\x1b\xc0\x07\xcb\x98\xbf\x1a\xca\xf7\x75\x48\xbe\x68\xea\x1b\xe3\xea\xfe\x7c\x7d\xff\xd3\xbb\xdd\xca\x2d\x59\x16\x96\x52\x67\x43\x39\xba\x25\x11\xa3\x86\x00\x7e\x91\xdc\xe5\x8b\x43\x6e\x04\x18\x82\x54\x21\x88\xed\x00\xb9\x5e\xbe\xe1\xb1\x54\x42\x1a\xdc\x86\xdb\xa1\xec\xe5\x08\xf7\xcc\x37\xc1\xc2\x43\xd8\xf6\xbc\x08\xa5\xa6\xbd\xc9\xa9\x68\x1d\xf2\x45\x5b\x80\x72\xc6\x15\xa9\x85\x63\x6f\x1f\xdf\xe4\xf1\xc5\xbc\x1f\xbf\xdc\xb4\xb6\xbd\x5f\xb5\x6e\x15\xfe\xc3\x31\x43\x59\x5d\x1a\x8d\x4e\x27\x4c\xf6\x00\x7c\x4f\x85\x82\x85\x56\x8a\xf3\x68\x52\xd4\xbb\x9d\x7d\x10\x7a\x38\x9a\x24\x34\x0d\xd6\x37\x4a\x09\xe6\x63\xe8\x05\x7a\xe4\x20\xb4\x5f\x5d\x35\x55\xba\x59\xb7\x92\xd0\xb1\x32\x1a\x76\x15\x3c\x5d\x70\x94\x70\x2e\x1d\x71\x8c\xaa\xfa\x89\x5a\xd2\xb0\xed\x89\xb0\x02\xa2\x6e\x38\xc7\x11\x89\x8c\xa0\x00\x22\x97\xf6\x06\x4c\x42\x8e\x04\x3b\xa3\xe6\x89\x17\xd6\x2f\x6b\x06\x91\x0a\x2b\x89\x10\xee\x39\x83\x98\xaf\x24\x12\x28\xc3\x38\x95\xd5\x60\x68\x43\x83\x5b\x82\x30\x19\xa3\xa6\xc0\xa8\xd8\xda\x1d\x59\x47\x4f\x76\xb4\xe4\x47\xd8\x28\x6a\x20\xef\x9c\x7c\x8e\xac\xca\x1a\xb6\xa0\xdc\x8d\x53\xa1\x2a\x7d\xb0\xdd\x90\x99\x23\x71\x72\xea\x56\xc2\x49\x27\x01\x20\x3d\xe4\xf2\x98\x3c\x76\xbe\x95\xff\xa6\xc0\x4f\x66\x67\xf7\xa6\xe7\xbb\x7a\x06\x23\x1e\x2c\xfe\x65\x8c\x78\xad\xe8\x14\x23\x7e\x73\x0c\x12\x2f\x05\x2e\xa6\x00\x7b\x36\x4f\xda\xcf\x77\x67\xe0\x8f\x8a\x3b\xec\xaf\x30\x59\xed\x2e\x67\x1b\x7b\xd9\xb8\xb9\x94\x7d\xac\x71\xc7\xb5\x0e\xde\x92\xf3\x72\x22\x5c\xdd\x33\xa4\x02\xa1\x2c\x3a\xbc\x56\x19\x0a\x9f\x81\x9d\x23\xde\x3b\x9b\x81\x70\x83\x6c\x65\x85\xa0\xc5\x54\xf6\x5e\x43\x9a\x8a\xed\xca\x66\xe3\x64\x6b\x71\x66\x39\xaf\x76\x6f\xa4\x01\x7c\x91\x46\x4d\x7c\x1e\x99\xbf\x26\x78\x7e\x9e\x87\xe6\xaf\xe9\xb2\xb6\xfd\xdd\xf5\xa7\xed\xfd\xf5\x4f\xf7\xdb\x76\xbf\xc8\x3e\x57\x96\xa6\xae\x03\x7d\xaf\xae\x74\xab\xfe\x29\x3a\xcb\x39\xb8\xfe\x25\xf2\x4b\x3b\xc6\xf0\x39\xf5\xfb\x5f\x87\x37\x8a\x3d\x86\xb9\x27\x9d\x32\x73\xd6\x29\x33\xa5\x9d\xea\x59\xa7\x7a\xd2\xa9\x29\xe7\x54\x4f\x39\x65\x34\xe7\x94\xd1\xa4\x53\xae\x90\x45\x4a\xf1\x7e\xd5\xc8\x37\xa1\x9c\xdd\xf0\xa3\x6d\x71\xac\x13\x12\x8a\xcb\xdc\x31\xf8\x78\xc6\x03\xe9\x7f\x3c\x41\x32\xc1\x8f\xed\xe4\x8f\x93\x72\xc7\x35\x1c\xd5\xdd\xd3\xff\x3a\x4e\x13\xc6\xfb\x01\xca\x5e\xfb\xab\xec\x06\xba\xcc\x65\xcf\xbe\xec\x4c\x71\xa5\xc7\x24\x48\xf1\x14\xe6\xe2\x47\x74\x7c\x32\x1d\xf9\x29\x54\x54\xf5\x78\x87\xac\x46\x93\x59\xfc\x38\x56\x34\xcf\xb1\xa2\x53\xe0\x2d\x36\xda\x94\x18\xe9\x90\x17\x09\x15\xe0\xfd\x1e\x0d\x39\xd5\xda\x0e\x8d\x5d\xdc\x81\x7f\xde\x2e\xa0\xaf\xcb\xc5\x94\x42\xde\x4d\x29\xd3\x7a\x96\xbe\x39\x49\x5f\x3c\x4e\xd6\xd7\xf3\xf0\xf5\xb4\x88\x38\xe7\x7e\x84\x47\x1d\xbe\xc2\x75\xa1\xa8\x7a\xf9\xc9\x2b\x53\x0a\xbf\x39\xa5\x5f\xaf\x5b\x9b\xd2\x74\x1f\xc2\x02\x14\x3f\x06\xee\xdf\xe0\x9e\x8b\xea\x4e\x0a\x3f\xaa\xfe\x48\x9d\xa6\xa1\x9b\x0e\x30\x38\xb4\x6e\x74\x18\x8d\x9e\xee\xa2\x9e\x9f\x06\x2e\xa0\xde\xf7\xfc\x25\xc1\x76\xff\x45\x97\x36\x93\xfd\x7d\x70\xd0\x3a\x88\xac\x79\x9c\x42\xe7\x38\xfb\xa3\x1c\x0b\xf8\x4b\xd5\x13\xdf\xee\xc1\xa4\xcc\x94\x32\x8f\x86\x33\x46\x28\x65\x52\x9c\x32\xb2\x24\xb5\xb4\xa8\xaf\xb6\xed\x41\x9a\xd8\x9e\xf0\xd6\x86\x21\x9d\x6a\x24\x2f\x52\x42\x28\xe4\x42\x69\x9e\x3d\xd5\x38\xea\xbb\xae\x7b\x61\xe3\x5d\x7d\xd5\x4c\xef\xaa\x23\xd4\xd4\xe4\xe0\x23\xe4\x19\x75\x03\x48\xa3\xf1\xf0\x47\x48\xf0\xa3\x14\xd9\x9b\xd4\xe1\xcd\x7b\x92\x19\xd9\x34\xf5\x80\xd2\x5e\x64\x0a\x95\x54\x02\x08\x53\xc2\x61\x4d\x22\x92\xc8\x68\x10\x4c\x00\xbd\x77\x64\x10\x4a\x51\x92\x8a\x52\x80\xac\xc8\xa5\xa9\x2c\x1c\x2e\x07\xd1\xbe\xbb\xfb\xb8\x88\x7e\x2a\x4b\xe3\xc6\x41\xb6\x2b\x75\x42\xb7\xf8\x36\x59\xf1\xa0\xa1\xd0\x78\x77\x37\xc5\xb1\x4f\xfa\x8d\x49\xdd\xa1\xea\x8c\xaf\xc8\x58\x36\x59\x96\x7f\x65\xed\x9b\x33\xd5\x0b\x05\xcd\x9e\xf7\x86\x4b\xec\x8e\x3e\xf0\x00\x52\x3f\x6d\xf8\x87\x41\x95\x11\x01\xf2\x00\x1f\x11\xf8\x77\x79\x07\x3c\x05\x61\xfa\x02\x62\xf4\x01\xfa\x8c\x0b\x04\x2c\x9c\x9e\x22\xd7\x2b\x53\xc4\x7b\x6f\xc9\xa8\x6b\x96\xba\xf7\x29\xc6\x90\x3a\x8b\x77\x3f\x24\xa6\x3c\xc0\xbd\x4b\x78\x2c\xaf\x48\x98\x48\xbe\xa4\x99\x88\xba\x33\x3b\x36\x91\x30\x86\x59\x55\x3a\x1e\x5a\x21\x61\x02\xd2\x5c\x93\x25\x95\x7a\x2d\x1c\xd3\x37\x03\x22\x31\xa3\x87\x3c\xce\xca\x20\x22\x72\x43\x38\xaf\x52\xa7\xdc\x91\x72\x62\xf3\x51\x6f\xe0\x2f\x1f\x08\xae\xac\xf8\xa2\x02\x31\x65\xe4\x3b\xc5\x8d\x1a\x98\xa2\x6f\xea\x71\x28\x8d\x84\x80\x19\x2a\x4e\x53\xa8\xb9\x1e\xf4\x09\x9a\xa2\xc3\x26\x99\xdd\xbd\x4e\x38\xb4\x98\xac\xc8\x1b\x30\x0e\x0f\x32\xd5\x4e\xb8\x48\xf8\xc6\x3b\x18\xae\x7c\xa0\xa0\x01\xff\x80\xd6\xce\x70\xe3\x9a\x94\x8d\x8e\xf0\xcd\x39\x78\xd4\x38\x2a\xb5\x65\x4d\x71\xa4\xc0\x25\x64\xf2\x66\x90\x39\x95\x2d\x22\xa3\x2f\x94\x33\x79\x27\xcf\x65\x3a\x31\x31\x61\x44\x94\x82\xb0\x4e\x61\x27\xf3\xa8\x2f\x5b\x84\x00\xb5\x29\x26\x68\xd0\x99\xf7\x58\x77\xe9\x3a\xbc\x86\x07\x99\xc4\x52\xc7\x82\x8e\x50\x3e\x34\x2c\xec\x41\xd0\xac\x59\xfa\xa5\xe7\x6c\x9d\xb7\x05\x5c\xa6\x92\x12\xc4\x18\x54\x5c\x4c\x16\x29\x0e\x42\x21\x69\xa5\x38\x4d\x45\xe6\x3c\x22\x47\x9d\xea\x69\x65\x73\xf7\x6d\x3a\x25\x41\xad\x2a\x3b\x4d\xaa\x3e\x0e\xb0\x92\x6e\xb4\x0d\xb8\xa0\x42\x13\x39\x42\x67\xc3\x50\xb5\x18\xf6\x4a\x8e\xf1\x7f\x59\x77\x61\xe1\x33\x94\x3a\xf2\x03\x77\x6d\x79\x48\xc8\x97\x1a\x1d\x75\x2f\x5e\xb5\x5b\x92\x71\x4d\x3e\x14\xe2\x4e\x93\x18\x3a\x0d\xdb\x01\x69\xcb\xa3\x51\xdd\x97\x0b\x24\x75\x05\x21\x9d\x81\xf2\x08\x7d\x76\x64\x92\xe6\x0d\x17\x68\xb7\xbd\x9c\xef\x11\xdd\x86\x8e\x3c\x54\xf2\xbc\xd7\x01\xc9\xd6\xc0\xdf\x42\x43\x1d\x12\x0b\x4a\x59\xa9\x81\x55\x0b\xa5\x03\x09\x24\xb5\x07\x72\x04\x07\xe1\x4d\x8b\x95\x7c\x68\x5e\x6a\x18\x7b\xb4\x14\x7c\xe8\x1a\xfa\x99\xaf\xe2\xe8\x2c\x61\xdf\xb8\x86\xf1\xc8\xec\x64\x26\xd8\xfd\xdd\x90\xc8\x8d\x01\x89\x96\x02\xb4\xa8\xb2\xb3\x09\x33\x65\x7b\xba\xe2\x3e\x87\xac\x79\x1c\xfb\x0c\x63\xea\x39\x52\x5f\x82\x39\x4b\xad\x73\x6b\x2b\xf4\xad\x17\x68\xf3\x77\xb4\x42\xdf\x78\x81\x36\x5f\xbb\x42\x2f\x70\x1f\x58\x5e\xb1\xcb\xd4\x66\x47\x3a\xa5\x60\x0b\xe5\x54\x66\x57\x62\x60\x6e\x20\x01\x56\xd4\xe8\x02\xd5\x97\x7a\xb5\x27\x43\x0a\x36\x45\xc5\x91\x9c\x48\xdd\xab\x03\xe2\x92\x8c\xcb\xea\xe9\xa6\xc0\x27\xc2\x35\xc1\xba\xb6\x33\xfe\x40\xec\xd5\x82\x05\x8c\x26\x27\x3b\x4a\xd6\x91\xe1\x92\x6a\xbb\x6b\xaa\xa3\x34\xc0\x27\xa0\xc1\x26\x7d\x15\x5b\x20\x55\x9f\xcb\xb7\x70\x15\xc7\x48\x22\x25\x92\x8b\x4d\xd8\x9b\x3a\xd9\x6e\x5c\x6d\x2e\x2a\x97\x83\x76\x10\x4a\x23\xfb\x05\xac\x65\x24\xce\x19\xfe\x3d\xce\x05\x75\x22\xa8\x54\x03\xc9\x58\x75\xa8\x3a\x52\x1d\x28\x9c\x3e\x8e\xc6\xdc\x4e\x66\xa3\xcf\xd1\xe4\x4c\xad\xd6\x0e\x78\x14\x00\xff\x55\x39\x2e\x69\x52\xe6\x08\x51\x79\x9a\x5a\x4c\xc3\x8e\x42\xc3\x26\x2d\xb3\xcf\x9a\x83\xdf\x83\x9a\x09\x90\xaf\x2f\x8e\xb2\x19\x64\x7b\x84\xc9\x72\x20\x63\x37\x3a\x25\x26\x0a\x7d\xd7\x1f\x65\xf3\x35\x3b\xd9\x21\x0c\xe3\x53\x78\x3f\xf5\xe0\x90\xca\x1c\x62\x5a\x4d\xde\x8c\x26\xc2\x12\x57\xfa\xb2\xc5\xa0\xe1\x92\x59\x7d\x3d\xc1\xa3\xe0\xb8\x83\x93\x4d\xa3\x08\x5a\x38\xb3\xd9\xc1\xd1\x3b\x16\x39\x72\xb2\xd0\x01\xf0\x83\x96\xbc\x85\x52\xcf\x81\xad\xaa\x23\xbb\x88\xfd\x5e\x1d\x39\x76\x2d\x65\xd2\xe4\x70\x59\xb7\xb4\xf0\x46\xec\x2a\x26\xc9\xd9\xa0\xe9\x53\x33\xbc\xa6\x2f\x0b\xd4\x6d\xf7\xe5\xd3\xcf\x0f\x3f\x7d\xf9\xbc\x06\xc0\x52\x66\x0c\x6f\xc8\x7a\x75\x2d\x68\xb0\x3d\xc1\x3e\x6f\x27\x21\x80\xed\x34\x8a\xef\x70\x20\x00\x25\x54\x69\x0a\x71\xc0\xd6\xda\x19\xaf\x2c\x5e\x91\x8b\x1e\x29\x0c\x9b\x7c\x49\x56\xc3\x8e\x14\x8f\x93\xa1\xad\x76\x05\x81\x7b\xae\x07\x9b\x0b\xef\x57\xe4\x28\xa9\x5d\x00\xb1\x6d\x3d\xfe\x9a\xad\x06\xe2\x39\x65\x99\x32\x00\x69\x90\xf1\x22\x52\xe7\xc8\x9a\xd1\xd8\x80\xc0\xcd\x68\x64\x4e\x50\x1b\x80\xac\x61\x08\x5d\xbc\x81\x41\x43\x7f\x73\xb9\x19\x0d\x86\x04\xee\xec\xde\xa4\x60\x77\xbe\x3b\xa4\xf7\x38\x22\x04\x1e\x60\xd7\x03\x9e\xb4\xf9\x1e\x71\xd0\xf4\x45\x95\xad\xab\x5e\xe3\xa3\x03\x2f\xe3\xc9\xc3\x68\xef\x77\xec\x78\x64\x35\x20\xc8\xaa\xa7\xdc\x67\x3e\x52\x4c\x23\x28\x25\xc1\x7d\x27\x42\x76\x41\xac\x96\x57\xe4\x53\x4a\x55\x44\xdb\x08\xe1\x97\xb9\x8e\xdd\x6e\x6c\x29\xc6\x9e\x5b\x38\x74\x77\x2d\x86\x9b\x9d\x5c\x1a\x50\xf2\xcd\xb8\xc2\x39\x29\x10\x72\xa9\x2a\xff\x71\xf2\xa3\xe6\xb9\xae\x53\xc6\x61\x70\xa3\x45\xc1\x34\xd4\x35\x5b\xee\x0c\xd5\x9a\x58\x86\xd1\x51\xb6\x20\xce\x1a\x64\xbc\x29\x6e\x54\x0e\x8c\x9c\x13\x8b\xe5\x4e\x3b\x53\xfd\x28\xa2\xa2\x8a\x5c\x07\x7f\x55\xd8\x36\x21\x8c\x41\xef\x18\x40\x42\x0b\x05\x75\x95\xbd\x28\xfc\xab\x54\x73\x46\xf4\x77\x39\x8c\x3e\xc1\x5c\xef\x33\x14\xab\xb1\x08\x07\xc7\x36\xcb\x49\x45\xaa\x42\xa7\xe6\x26\x52\xaf\x26\xb5\x03\xc1\xa9\x10\x4e\xc3\x13\xa4\x12\x80\x8f\x0a\x2e\x1e\x6c\xe6\x2e\x45\x62\x02\xb0\xca\xa0\x68\x30\x0c\x2a\x23\x67\xb8\xba\x1d\xe7\x34\xb2\x0d\x53\x10\x4b\x4e\x0d\x14\x21\x5f\xf6\xcb\xef\xa7\xf4\xfd\xdd\x2f\xb7\xab\xe7\xb4\x9c\x9c\x53\x5b\xd6\xf2\x15\xbc\xfa\xa0\x2a\xed\xf5\xdd\xac\x4c\x22\x1d\xf6\xfd\x32\xaa\xa7\x40\xdf\x4a\xad\xef\xad\xd1\x52\xaa\x10\xbe\x64\xdb\x31\xdc\xd2\x74\x3f\x5a\x38\x6b\x1e\x6d\xd3\x79\xef\x8e\x11\x5c\x02\xc1\xfb\x54\x36\x89\xf0\x15\xae\xeb\x45\x02\x77\x0b\x92\xc8\xe1\x08\x5c\xc1\xe1\x18\x71\x70\x27\x45\xb8\xa6\x4f\x3d\x1c\x29\x33\x9f\x33\xd3\x0f\x9e\x99\x0e\x62\x3f\xe5\xfe\xf4\xc8\xca\xde\xeb\x67\xb9\xf5\xb3\x7d\x74\xdc\x3b\x05\x38\x50\x85\x36\x93\x0a\xa5\x1d\x63\xc4\x35\x46\x9d\xae\x04\x96\x73\x40\x47\xa4\xa7\x1d\xd3\x24\xa5\x53\x63\xd5\xcc\x9d\x42\xc3\x9a\x92\x34\xd9\xb1\x15\xdb\x04\xe4\xae\x99\x89\x02\xee\x84\x26\xc2\x63\xb7\x53\xc9\xd6\xc9\xe6\xe3\x46\x4f\x6b\xe4\x0e\x5a\x20\xc4\x4d\xf7\x92\xd0\x01\x6c\xae\x9d\x5c\x38\x23\xa4\xa6\x4a\x7d\x0b\xaa\x1e\xb9\xa8\x04\x0b\x61\x11\x11\x29\x98\xcc\x79\xf7\x9a\x79\x4f\x9f\xa0\xe2\x41\x08\x93\xe9\x8c\x81\x8a\xeb\x09\xca\x55\x3f\xc7\x79\x56\xf8\x7a\xa6\x14\xe0\xe6\x0a\xeb\x03\x4e\x16\x70\x65\x85\x01\x64\xf5\x76\xe6\x18\x77\x40\x79\xfc\xda\x93\xbc\xd9\x09\x1d\x70\x20\x91\x20\x0c\x23\xe6\x33\x90\x73\x9e\x52\x6a\xce\x5a\x72\x6e\xc7\xec\x10\x5e\x28\x7f\x80\xcb\xc8\xb5\x75\xd8\x77\x24\xf3\x1e\x93\x52\xb3\x89\x60\x41\x59\x25\xfc\xa3\x50\x33\x59\xad\x94\x69\x22\x74\xc8\x92\x0e\xe6\x2b\xd5\x51\x08\x63\xf6\xd4\xe9\xe3\x33\x69\xa4\xae\xef\x7f\xda\x5d\x0f\x8b\x40\xfd\xb2\x70\x66\x2a\x35\x1d\xeb\x0d\x23\xbc\x1f\xbd\xaf\x83\x09\xea\xb5\x93\xf4\x26\x13\x69\x01\x34\xd1\x8d\x42\x7c\x61\x9f\xef\xde\xe0\x1d\x1b\xcc\xf7\x13\x49\x8e\x9c\x1d\x4a\xa2\x68\xed\x60\x7c\x0a\xe4\x63\x18\xe5\x1a\x40\x6a\xe7\xa8\x01\xe6\x3e\x53\x4c\x14\xd2\x10\xad\xa3\xec\x07\x27\x0f\x22\x7c\xb7\x02\x13\xf2\x77\x5c\x1c\xe2\x6e\x7b\x7d\xdf\x7e\xda\x7e\xfa\xdc\x96\xda\xd1\xa5\x8f\xcd\x93\x38\xdd\x8a\x65\x46\x42\x77\x1d\x84\x87\x0f\x78\x2d\x57\x93\x97\x7b\xc7\xab\x09\x48\xa1\x5c\x8b\xb2\xb9\x42\x02\xd4\x9f\x8c\x95\x4b\x0b\xcd\xa8\xee\x0c\x21\xd5\x56\x2d\x6d\x9a\xff\x01\x3e\xe3\x55\x39\x36\xf8\x64\x69\xbe\xdb\x82\x9b\x4a\x0d\x72\x78\x55\xde\xd4\xea\x00\x11\xca\x4e\xc3\xe4\xa5\x4d\x53\xd0\x03\xa4\x1b\x54\x6b\x88\xf6\x4a\xce\xbf\x76\xd5\x75\x93\x9e\x5e\x83\xa9\x10\x97\xac\x6a\xc3\x58\xe0\x98\x6e\x87\x58\x84\x56\xd6\xcd\xc8\x45\x1e\xeb\x7f\x7e\x36\x65\xd6\x6e\x80\x46\x3e\x6b\x04\x85\x45\x3b\x98\xe4\xe0\xc6\x73\x94\xca\x02\x6a\x04\x91\xdf\x02\x71\x91\x02\x81\x92\x75\x33\xe0\x09\x1c\x7b\x53\xd3\xb4\x0a\x1d\xdd\xa2\x50\x07\xa5\xd1\x00\x71\xee\x78\x73\x2a\x91\x39\x88\xa6\x99\xbc\x90\x3a\xb8\x5f\x84\x31\xe1\x68\xe9\xa1\x71\x9a\x5e\x5a\xe4\xa6\xd2\xd4\xd3\x16\x9c\xbb\xd0\x9b\x54\xe4\x42\x05\xdb\x40\xa9\x3f\x55\xbf\x6e\x27\xac\x5c\xd3\x2a\x1c\x62\x2d\x1d\x10\x21\xbc\x7a\x8c\x84\xc6\x10\x78\xc3\xe5\xf8\xef\x87\x9b\x8f\xb7\x77\x5f\x96\x77\xde\x25\xdf\x9c\x14\x2c\x69\x44\x7e\x20\x04\x96\x2a\x1f\xef\xf4\x16\xe8\xb1\x84\x1a\xcb\xaa\x3c\xc9\xc4\xe6\x4f\x59\x04\x2e\x5a\xb1\xba\x1d\xe9\xac\x11\x4b\xaa\xb8\x94\x53\xfd\xeb\xfa\x74\x2e\xad\x74\xb6\xe1\x5c\x5a\x69\x57\xca\x8e\x79\x87\x5f\xb0\x35\xfb\xa7\x6f\x05\x92\x4e\xcb\xb0\x6b\xa9\x27\xa4\x30\x7f\xa9\xac\xf9\x40\x44\x84\xf6\x75\x4c\xb6\x0b\x90\x8a\xa5\x9c\x47\x4e\x5b\x75\x0f\x0e\x61\x8a\x56\x3a\x83\x46\x38\x35\xfc\x72\x27\x86\xe1\xe6\xf6\xcf\xdb\xf7\x37\xeb\xf8\x49\x65\x86\x59\x77\x00\x1f\x71\x3b\xe7\x79\x9f\x6a\xd8\x19\xf9\x62\x52\x0d\x8f\x6f\x43\xf1\x8a\x34\x62\x58\x95\xcd\x89\x4a\x6a\xc2\xc4\xf9\x20\x14\x00\x13\x18\xba\xed\xc3\x28\x87\x17\xb9\xb3\x10\x60\x19\x11\xad\x0b\x41\x62\xc7\x63\x94\x9d\x54\x63\x77\xd0\x4f\x60\x2a\x1f\xdf\xb2\x15\xf2\xd0\x3b\xe0\x2b\x02\xb6\x80\xbd\xec\x09\x31\x05\x5c\x3d\xe5\x23\x43\xac\xd5\xc8\xf2\x9d\xdb\xb3\x65\xf4\x56\xd8\x6e\xdd\x12\xd2\x7f\x54\x83\x99\xf4\x85\x84\x96\x0b\x8b\xe6\x85\x86\x2b\xed\xcc\x01\xb6\x8a\xcd\xc8\xac\xb1\x4f\x70\x4e\xc8\x7b\xe3\x33\x7f\x3f\x03\xfb\xb7\xb3\xaf\x7f\xfe\xf2\xb0\xfb\x7c\xb3\x5c\xe0\x25\x56\x08\xc7\x39\x11\x66\xb1\x94\xb2\xeb\x20\x7e\xa7\x66\xe0\xf6\x24\x33\x47\xf7\xa3\x3d\x67\x01\xee\x16\xde\x6e\x27\x5b\x73\xb8\x0a\xae\x0e\xd0\x3b\x85\xe2\x47\xd3\x6f\x6c\xbd\xa7\x9c\x3d\x1c\x6f\x4d\x78\x30\x25\xa8\xf2\x8e\x5c\x1e\x84\x8b\x0b\x25\xee\x4c\x58\xf7\x98\x84\xba\xdb\x13\x0c\x07\x4e\x29\x33\xf0\xc8\xe4\x12\x42\x6a\x94\xe3\xe0\xba\xcd\x8a\x77\xe9\x4e\xce\xf8\x32\xcc\xad\x3d\x71\x4f\x55\x5f\xd3\x8a\x80\x7b\x05\x3c\xc3\x35\xa7\x06\x0b\xf7\x6c\x78\xc7\xf6\x2f\x6d\x7b\x7f\x7b\x3d\xfc\x24\x47\x72\xb1\x50\x17\x7d\xb1\x44\xfa\x48\x56\x03\x22\x5f\xb0\x1b\xcb\xf3\x8e\x07\x0a\x78\x74\x7e\x37\x0a\x49\x7f\x8a\xbb\x34\x43\xca\x2c\x60\xaa\x80\xfb\x7c\x21\xcd\xff\x19\x72\x7c\x26\xcb\x7f\x87\xc3\x3a\x89\xb8\x4a\xcb\xee\x4c\x56\xf2\x90\xdd\xc1\x0b\xf8\x02\x2c\x27\x02\x88\xd3\x60\x12\xb4\xa8\xf1\xeb\x60\x39\xe5\xe5\x14\xdd\x5c\xdd\x05\xaf\xbf\xaf\xc9\x3f\x7c\xf3\xf1\x76\x79\x88\xeb\x01\x00\x9d\x4b\xf8\x7b\xb8\x90\xba\xef\x69\x75\xb3\x2f\xf0\x33\x3b\x56\x99\x8c\x73\xa1\x82\x1d\xf0\x89\x9c\x55\x2f\x54\xb0\x08\x5e\x01\x14\x00\x62\x30\x69\x61\x53\x67\x36\x56\x36\x95\xf6\x03\x56\x7b\x0d\x7f\x35\x3d\x6a\xd6\x60\x56\x58\x44\x6b\xdf\x95\xc5\xdc\x3f\x7d\x33\x05\x4a\x61\x93\x41\x11\x27\x78\xaa\xd7\x75\xe6\xeb\x89\x7a\xbb\xbf\xfb\xbc\x5b\xc8\x0f\x75\x89\x35\x71\x9c\xe5\xb9\x50\x8a\x7e\x34\x39\x10\x23\x52\x32\x90\x87\x7f\x52\x4c\x72\x99\x75\x50\x26\xbd\xb5\xe1\x70\xd6\x55\x05\x7c\xec\x31\x5c\x7b\x26\xcd\xe9\xa6\xcd\x40\x8b\xe7\x91\x03\x93\x93\x43\x09\x1f\x03\xf6\xad\xaa\xbb\x9a\x9b\x3d\xf2\x63\x9a\x1d\x3e\xb3\x10\xfb\x49\x02\xe8\xf2\x09\x03\xaa\x39\xfb\x09\x11\xd2\x69\xfa\xb0\x10\x44\x2e\x51\x73\x9f\xc2\x99\xd5\x09\x49\x1d\x20\x0a\x2a\xc3\xa8\x2b\xf5\x64\x29\xee\x28\xf6\xaa\x4c\xa8\xbc\xe9\x00\x97\x3e\x8f\x19\xa0\x27\x0a\x2f\x84\x00\x9b\xd8\xf3\x08\x21\x51\xcf\x39\x1a\xa6\x44\xf3\x69\xf0\x27\x4a\xa7\x4a\x51\xb3\x08\x21\xf1\x0d\x6a\x96\x8a\xc7\x24\xb7\x14\xda\x05\x14\x89\x6c\x5c\xee\xba\x5c\x74\x54\xb5\xb9\xe8\xbf\x3a\x1a\x46\x0f\xa0\xaa\x1a\xa9\x42\x91\xe7\x09\xc2\x44\x84\x05\x41\xb5\x06\xbe\xcb\x25\x8c\x38\x37\xdb\x74\x0e\x39\xf8\xee\xde\xfa\x04\x61\xd5\x15\x59\xae\xcd\x5a\x3c\x78\xcc\xe9\x7c\x64\xb7\x9c\xea\x57\x02\xb3\x7e\xbc\x69\xbb\x2f\x3f\xaf\x32\x92\x75\xf6\xe0\x8b\x5c\xc9\xfb\x34\x06\x4a\x64\x3c\xb1\x1f\x0d\xdc\x37\x39\x90\x83\x92\x39\xc1\x0a\x03\x05\x6a\x06\xd3\xe1\x1e\xdf\x06\xe0\xb1\xe7\xd1\x44\x14\x75\x24\xd7\x09\x29\xe0\x05\x23\xae\xa7\x00\x47\x23\x8e\x89\xa0\x2a\xf4\x8f\x6f\x43\xb4\x14\x38\x8f\x00\x94\x43\x7c\x69\x26\x07\x2b\xb2\x83\x4d\x22\x12\x50\x2d\xe5\x6f\xb9\x47\x1e\xdf\x86\xcc\xe4\x6b\x18\x1d\x31\xb1\x22\xb4\x35\xd3\xcd\x3e\xd2\x9c\x46\x0f\x79\x0d\xb7\x51\x5f\x14\xe0\xa2\x3c\xbe\x8d\x31\x93\xe7\x3a\x3a\x29\x53\x89\x59\xc6\xd4\x93\xf5\x87\x0d\xb8\x19\x05\x25\x67\xa8\x85\x49\xa6\xff\xf1\x6d\xac\x95\x3c\x3c\xd0\x61\xa9\x22\x45\xd8\xec\x57\x4e\x69\x52\x37\xfe\x2d\x8f\x6f\x93\x2f\xe4\x1d\xf8\x22\xc5\xda\x88\x60\xbc\xa4\xc5\x3e\xf2\x04\xda\x62\xbb\x6f\x86\x5e\x01\x0e\x27\x2a\x5a\x42\xf0\xa7\x4f\xd0\x8f\xe8\x17\x83\x6f\x00\xd5\xf1\x49\x35\x5c\x29\xab\xc1\xc0\x02\x69\x2c\x22\x8f\x17\x50\x1c\xe5\x47\x50\x31\x8a\x0d\x2c\x54\x07\x1d\x30\x8c\x4d\x9a\x00\x88\xa4\xe7\xb4\xeb\x13\x35\x54\xc9\x84\x42\x61\xd3\x8c\x02\xed\xc9\xf5\x29\x04\x3b\x40\xc5\xe0\x3c\xb4\x77\x31\x53\x56\xac\x0f\x58\x97\xc8\x5f\xc5\xc1\x40\x5b\xa1\x5e\x0f\x41\x81\x43\xab\x3e\x02\x86\x08\x72\x19\xc2\xaa\x39\x83\x15\x41\x73\xd3\x31\x96\xd4\x8d\x25\x38\x05\xd9\x03\xdc\x53\x91\x77\xe5\x0d\x21\x0a\x59\xce\x80\xf7\x94\x2a\x62\x8b\x93\x5a\xa0\xa0\x8d\xc8\x9e\x7c\xed\x3a\x80\x9c\x1a\xa4\x4a\x42\xe8\xc3\x68\x29\x03\x21\x1e\xe9\x9e\x5c\xa0\xe4\x28\xc2\x57\x8c\xa5\x0a\x4d\x74\x25\x3d\xd5\x28\x0b\xc4\xf1\xe0\xfa\x4d\x9b\x31\x16\x62\x68\xca\x89\x73\xd3\x58\x72\xb8\x3a\x64\x0d\xd9\xe1\xd2\xd0\xa0\x4b\x2d\x66\xaa\xa3\x53\x6a\x1a\xd5\xb7\x2d\xca\x3e\x2d\x04\xbc\x16\xaf\x38\xc3\xb9\x5b\xd3\xac\x3d\xcc\x35\x50\x16\xfd\x44\x28\x9b\x49\xdd\x35\xab\x41\xe9\x80\x23\x02\xef\x1b\x38\x87\x08\xe9\xec\x70\xa1\xca\x51\x57\xbd\xa7\x8c\xe2\x5b\xc9\x46\xd4\xdb\xa7\x87\x8a\xc4\x51\x04\xad\xe8\x48\x11\x5f\x20\xaf\x15\xc2\x36\x79\x2a\x08\x6d\xfe\x1e\x24\xa1\x2f\x9f\x87\xbb\xeb\xf7\x6b\x56\x81\xfa\x0c\xf4\x8b\x9c\xab\x5f\x6b\x27\xd0\x0c\x35\xbf\xb6\x16\xb9\x4b\x27\x00\x94\xb3\xd8\xaf\xc8\x01\xbf\x82\xfd\xea\x27\x70\xda\x13\xd4\x71\x97\xe1\xcb\x1e\x53\x07\xa4\xac\x6e\xd3\xba\x9e\xd0\x6b\x36\x6b\x58\x59\xf5\x27\x9f\x1a\x4a\x55\x87\x17\x57\xee\x89\xb7\xec\x7d\xa5\xea\x3b\x5e\x93\x74\x10\xea\x7a\xdb\x39\x8d\xb3\x30\xf9\x4f\x53\x74\x9f\x60\xc9\x4f\x78\x10\x10\xd7\x00\x7e\x81\xea\x7d\x95\x8b\x22\xd5\x21\x08\xc9\x09\x05\xb9\x67\x9f\x04\xc8\xc8\x23\xb4\x0a\x17\x45\x15\x67\x9f\x41\xc2\x1b\xb6\x9f\xee\x96\x37\x59\x38\xa4\xcb\xb1\x19\x09\xfa\x2d\xbc\xb7\x70\xb5\x76\x93\x22\x70\x1f\xe5\x28\x79\xf5\x0a\x0d\x41\xe8\x35\xd0\x00\x4c\xa0\x1e\xc2\x20\x34\x50\x15\x7f\x91\xe0\xb4\xd1\xad\x3e\x96\xa2\x30\x3b\x70\xfe\xf2\xa4\xe1\xc6\x50\x24\xaa\x05\x5e\xe7\xf1\x4a\xc1\x50\xba\xe7\x83\x0b\x0d\xc0\x09\x2e\x4c\xe0\xaa\x9d\x81\x53\x45\xed\x04\x06\xd6\xa1\xf1\x3c\x50\x7a\xb2\x32\x53\x4e\x6d\x18\x6a\x54\x44\x2a\x29\xee\xb6\x98\x6e\x6a\x86\xe7\x5c\x9a\x80\x36\x01\x73\xb0\xe9\x7b\xae\x27\x63\x74\xb6\x4d\xdf\x34\x38\x17\x81\xa9\x22\xd1\x29\x9f\xd2\x11\x7d\x01\x5e\xa5\x80\x08\xca\xfe\x28\xdc\xad\x82\x6e\x72\xeb\xf9\xb1\xc6\xa8\xa0\xc1\x47\x51\x8c\x87\xef\x23\x17\x38\x89\x95\x40\x42\x7c\x1d\xd6\xb8\x73\x9b\x6a\xd9\x4d\xa9\xa7\xa1\x8a\x0a\xb5\xad\x67\x2e\x52\xee\x7e\x11\x09\xe4\x92\x8c\x77\xca\x44\x55\x5c\x1b\x38\x1b\x48\x33\x6d\x75\xe1\x82\xaa\x8c\x81\xd0\x10\xe4\x0a\x8f\x1a\x90\x92\xed\x64\x32\x48\x15\xdf\x70\x1d\x58\xe5\x3e\x75\x54\x72\x91\x4c\xdf\x47\x99\x50\x10\x55\xf0\x11\x6a\x64\x57\xfb\x68\xdf\x03\x22\x49\xca\x29\x94\x7f\x73\xc7\x8c\xd6\x2c\x94\xaa\xf5\xe8\xdf\x59\x5d\x63\x19\x06\x42\x44\x19\x68\x22\x5c\x67\x15\xb5\x1c\x75\xd6\xd0\xe4\x46\xe7\x98\xc6\x5c\xe4\x7e\x75\xde\x49\x3d\x23\xd7\x40\xb9\x08\xb3\x41\xb9\x8c\xd8\x36\x3d\x7d\x8b\x0b\x3d\x31\x99\x71\x90\xd1\x2c\xc5\x4c\xc2\x10\x53\xdc\x8c\x45\x0f\x7c\x21\xf4\xb9\x69\xa6\xc1\x09\x55\x11\x1c\x14\x08\x4e\x9c\xfc\x93\xd9\x03\x28\xac\x3b\x86\x00\xf5\x2d\xcf\xfa\x1b\xe4\x08\xc6\x2d\x1d\xa6\xc0\xec\x02\x54\x72\x03\x94\x8c\xcb\xca\xab\xdd\xdd\x12\x65\xad\x2e\x9d\x75\x9f\xc0\xdc\xba\x3a\x25\xaf\x56\x07\x55\x55\x23\xf1\xe4\x38\x04\x72\x87\xe9\x76\x1a\x20\x04\x6b\x05\x78\xf3\x92\x34\x2a\x49\xb5\x4c\xd1\x93\xa2\xeb\xcc\x70\xf6\x90\x11\xf5\x30\xe2\xf2\x56\x03\x64\x05\x86\xba\x5c\x8e\x51\x71\x4c\x8a\xd7\x74\x33\x00\x1d\x14\x92\xcd\x09\x96\x7a\x72\xdd\xdc\x97\xb3\xba\xaa\x23\x03\x13\x38\xc4\x42\xa1\x76\x5d\x97\x6e\x17\xc8\x09\x21\xf7\x9d\x10\xf3\xcc\x94\x7a\x8d\xb1\x8c\xb2\x25\x84\xcf\x48\x04\x7b\xa1\x4d\xc4\xce\x8d\x2e\xea\xc6\x82\x25\x41\x89\x35\x4f\x48\xd9\x42\x00\xc1\xd6\x25\x70\x16\x19\x6e\x9b\x42\x65\xe0\xe7\x15\x9a\x9f\xd0\x81\x14\xb4\xe0\x2a\x8e\xf0\x6f\xd3\xd8\x16\x17\xd5\xf9\x41\xad\xbd\x59\x7d\xdb\x3b\xce\xa6\xfa\xb9\x1b\x61\x2d\x85\xc7\x8c\xb1\x7f\x8a\x10\xa5\x3e\xd9\x6a\xde\xa7\x09\x66\xa0\xcc\xdb\x03\x8c\x7e\x98\xd4\xee\x75\x54\x07\xf6\x4c\x80\x91\x71\x3e\x8a\x1c\x0a\x50\x99\x11\x8c\x27\xd4\x09\xdc\x61\x05\x39\x6c\xda\xac\x1d\xec\x6e\x4c\xe0\x5b\xe1\x19\x07\xa4\xa4\xe8\x29\xb9\x16\x23\xfe\xd5\x68\xe9\x3e\x19\xe8\x42\x6e\x13\x52\x37\x78\x5f\x35\xbd\x8f\xf8\xa2\xd0\x4a\xb0\x62\xa5\x1e\xa5\xdb\x90\x1c\xcd\x8e\x59\x51\x2b\xa5\xab\xd1\xcb\x1c\x65\x45\xdd\x7b\x0e\xa8\xe2\xdd\x9f\xd7\x0d\x7f\x75\xe9\x1b\x77\xb4\xa3\x19\x26\xa7\x32\x45\xea\x7e\x33\x6d\x9a\xbe\xb0\x54\x7c\x74\xa7\x06\x65\xee\x7a\xad\xbf\xbd\x5e\xb1\x78\xb7\xf9\x15\xcc\xdd\xcf\x77\x77\x7f\xfe\x74\x7d\x7f\x6e\x82\x97\x80\x28\xae\xcc\xb1\xdb\x1c\x5d\x9f\xe0\x29\x2e\x35\xb8\x21\x38\x4f\xc1\xa6\xa1\x54\x2a\x51\xfe\x35\x25\xe2\x47\x13\x6c\xda\x4b\x11\x60\xfe\x87\x9e\x5c\x42\xa8\xbd\x5c\x1c\x75\xf4\x2a\xff\xa9\x6e\x22\x70\x0f\xcb\x4f\x8a\xf5\x56\x27\x7c\xe0\xe9\xd7\x09\x25\x7d\x42\x1f\xe9\x26\xcb\x32\x63\x5f\x79\xf2\x6e\x30\x21\x30\x05\x60\x5b\xc3\x6d\x42\xae\x7b\x44\x96\x7b\x94\x30\xde\x43\xb2\x82\x07\x06\xd5\x51\x7e\x87\x1f\xa9\x83\xdc\xd5\x25\x1a\x85\xf3\x81\xc3\x92\x0f\xd4\x7f\x6a\xbd\x8c\xf0\x80\x55\x46\x50\x77\x6c\xc3\x65\x71\x1f\x54\x79\x5d\xda\x2f\x27\xf1\xa0\x5e\xf3\x66\x32\xfc\xb0\x13\x18\x24\xc5\x8c\x06\x06\x83\x9b\xdc\x5b\xd4\xb0\x07\x28\x78\x64\xf7\xd2\x84\xc4\x22\xf3\x7b\xd5\x1d\x7a\x38\x63\xb1\x12\x71\x60\xc2\xc2\x06\x90\x0e\x36\x02\x05\x9f\x0f\x71\x72\x40\xc3\x37\x3f\x3d\x1f\x8d\x5e\xe2\x49\xc5\xc9\xa6\x42\xab\x32\x29\xdd\xcb\x9e\x03\xe1\x6e\xa8\x95\x62\xec\xf7\xbd\xf6\x4b\xe8\x38\xe0\xe1\x45\x5c\xf5\x9a\x85\x8c\x83\x2a\x21\x39\x37\x03\xa7\xcd\xa8\xce\x35\x1d\xce\x54\x31\x3d\x40\x99\x10\x50\x1a\xba\x43\xa8\x7c\xce\x5a\x40\xdf\x0b\x0a\xe9\x15\x52\x0d\xb8\x4d\x80\x66\x23\x82\xc9\x13\x0c\x4f\x1d\xef\xcd\xa9\x5e\x69\xc2\x03\xc8\xd3\x6f\xca\x2a\xa8\xdf\xa8\xc6\xd2\x4c\x1b\x07\xce\x65\xce\x75\xd8\x7f\x26\xa4\x62\xab\xaa\xda\x80\x53\xa6\xed\xe1\x3b\x3d\xe5\x9a\x0f\x2d\x2a\xba\x56\x83\x07\x1b\x9c\xf8\xe1\x0c\xaa\x2c\x9e\xfc\x02\x06\x1a\x7e\x20\xac\x97\x1a\x1e\x38\xab\xf9\x28\x3b\xae\x46\x82\xbc\x6e\x3a\x0b\xcc\x8a\x2a\xec\x26\x4c\x7c\xc3\x16\xbf\xd4\xee\xec\xa3\x4c\x21\xfc\x9b\xc0\xfe\xe1\x57\x1f\x54\x7f\x58\x10\xa6\x10\x3d\x39\x27\x77\xdc\xef\xd5\xfc\x76\x11\x55\xa5\x87\x4f\x2f\x4e\xca\xc5\x9c\x45\xc9\x21\x97\x48\x19\x4d\xca\x04\x97\x0a\xa8\x6c\x39\x65\xf8\x09\x42\x44\x08\x1d\xbd\xc7\xaa\x7f\xa1\x53\x1f\x0b\xee\xfa\x98\xd0\xd3\xbb\x6b\x37\x15\x46\xd0\x45\xb8\xe7\xa4\x66\x3c\xb8\x38\xe5\x62\xbb\x7b\x6d\x4d\x70\xae\x92\xcb\x16\x3c\xa3\x09\xa3\x03\xc6\x76\xb0\x93\x5f\xbb\x05\x1e\x2c\x97\x42\x49\x59\x61\xe9\x08\xe2\x71\xe0\xe8\x04\x9c\xf8\x38\x42\x0c\x29\xe0\xe8\xd5\x2d\xc4\x77\x85\x92\x70\xb1\x33\x97\xec\x6c\xbc\x8a\x7b\x44\x87\x4b\xf7\x91\xf7\x3a\xf0\x06\xd7\x5b\x50\x9c\x3e\x62\xc6\xc9\x46\xb8\x89\xa5\x02\x9f\x25\x4e\x7e\x44\x64\x39\x87\x4a\x4e\x85\x1d\xa7\xce\x5e\x1a\x8a\x59\xe1\xc3\xaa\x49\x2d\x0b\x69\xb0\xa7\x0f\xaa\xd7\x76\x4e\xf9\x04\x39\xc2\xf2\xc3\xe4\xef\xe4\x53\x4f\xaa\x6c\xab\x30\x49\xce\x46\x61\x97\x35\xa0\x48\x7d\xf7\x9d\xfa\x3c\x55\x24\xdb\x61\xf8\x08\xbd\x28\xaa\x79\xb1\xec\x4b\x17\x1f\xeb\xa6\x65\xaf\x51\xc6\x2a\x37\x90\x4b\x61\x67\x38\xe6\xd9\xc9\x5d\xd8\x67\x91\xc5\x70\xa6\x6c\xd9\x8b\x90\xb6\x73\xd5\x0f\x88\x0b\x74\xaa\x96\x0f\x7b\x93\x63\xdd\x19\x6f\xd3\x1e\x5f\x5c\x8c\x7b\x79\x86\x4f\x86\x2d\xb7\x08\xb7\x08\x1d\x02\x02\x56\xb3\x06\x04\x8e\x1c\x32\xbc\x30\x9e\x87\xcf\x55\x5d\xef\x62\x5c\x3f\x7f\x75\xbe\x25\x0d\x3d\xc0\x8a\x2a\x42\x49\x87\xa9\xeb\xd6\x53\x85\x77\x14\x56\x3e\x42\x82\xc8\xa0\x90\x48\x6f\xe2\xc9\x42\x63\xd7\xdd\xf6\x27\x11\xa5\x66\x85\x57\x0e\x4e\x68\x4a\xd2\x11\x0a\x7d\xac\x81\x7c\x6d\x85\x09\xf2\x69\xf4\x00\x5a\xd4\x38\xfb\x68\xbb\x9c\xa5\x30\xe6\xce\xa6\x51\x93\x81\x9a\x42\x0a\xc7\x53\x08\x01\x98\xea\x27\x59\x9d\xdc\xb4\x83\x1e\x3c\x91\x12\xab\xef\x7a\x1d\x07\x77\x22\xf9\x34\x4e\xc1\x9f\x98\xd5\x1d\x92\x5c\x6e\xa6\x00\xa1\xa5\x74\xe1\x1c\x56\x23\x55\x7f\xc8\x75\x0d\x49\x29\x8c\xc0\x51\x2f\xb9\xe3\xa9\x2b\x7e\x41\x89\xdd\x6f\x9f\xa3\xd5\x2b\x1b\x48\x96\x45\x3d\x5f\x32\x62\x01\x7c\x9d\x62\x33\x45\x1a\x41\x4a\xd4\xd4\xdd\x92\x45\xca\xc7\xa1\xb1\xdd\x00\x08\xa1\x46\xa8\xaf\x26\xd8\x51\xa0\x46\x75\x82\x72\x3d\x65\x8d\x97\x31\x16\x78\x9f\x36\x45\xd1\x14\xfe\xc3\x59\xf2\x93\x23\x9d\x53\x7d\xc4\x06\x92\x20\xce\x36\x30\x1b\x81\x3e\xc4\x6e\x90\xfa\x47\x15\xb1\xa8\xe3\xdc\x94\xee\x13\x1a\x79\x50\xf3\x2a\x70\x97\x3c\x4e\xb6\xa2\x3d\xa4\xac\x38\x81\x9a\x10\x4c\x55\xa4\x5e\x23\xc9\xd4\xad\xb0\x90\x32\xfc\xa5\xaf\xba\x92\x31\xab\xde\x5e\xdc\x9d\xd4\x83\xc6\xe5\x89\x18\x0c\xff\x6b\xf5\x00\xe8\x49\xdf\x14\x15\x3c\xaa\x64\x2d\xbb\xf4\xd9\x3c\x5d\xae\x32\x79\x2b\xd2\x10\xc2\xfe\xb8\xa7\xab\xec\x8a\x7e\xb5\x2a\x64\x35\x50\x8c\x15\xe6\x01\x4f\xee\xf1\xad\x77\x8e\x5c\xe6\x31\x43\xec\xd1\x70\x07\x0b\x61\x2f\xc9\x24\x62\x4b\x83\xaa\xcf\x49\x0e\xe5\x94\x3f\xbe\xf5\xd1\x91\x73\x69\xac\x84\x2b\xb1\x0a\x39\xc3\x9c\x66\x52\x94\xee\xa8\x4e\xe0\x8d\xa5\x3b\x8f\x6f\x7d\x0d\x48\x58\x52\x08\xb1\x11\x3d\x50\x0e\x5e\x7f\x58\x2d\xb0\x95\xe0\x39\x47\x56\xff\x0a\x00\x9d\x3d\xbe\x0d\x22\x43\xc6\x3a\x2a\xce\xbb\x30\x1e\x88\xc8\xd0\xb2\x32\xfd\x68\x35\x02\x85\x0d\x56\xde\x04\x44\xe8\xd0\x29\x72\xef\x13\x08\xbd\x92\xa9\x04\x53\x47\xcf\x4a\x06\xea\xa9\x5e\xc3\x38\x06\x8f\x6f\x63\x96\x59\x50\xbd\x3f\xa4\x6d\x20\x28\xc0\x1c\xa4\xba\x6d\x24\xe6\x32\x45\x84\x42\xbe\xec\xeb\xf6\xe5\x76\xb8\x7b\xb7\x24\xaf\x4b\x8c\xa6\xa7\x30\x54\xc9\xee\x67\x0b\xe6\x8a\x0e\x32\xad\x63\x36\xea\x1b\x2f\x8a\xff\x45\x4a\xb2\x5d\x5d\xcb\x6e\xb8\x37\x3d\xe5\xc1\x9a\xda\x16\xac\xca\x8a\xd6\x56\x5f\x79\xa2\xb5\x4d\xd9\x4d\xb8\xaf\xa5\xa7\x5b\xd1\x3c\x2b\xed\x28\x01\xcb\xa6\x9d\xe4\x66\x39\x4e\xdb\x72\x59\x52\xbd\xdf\xbe\xbf\x69\x3f\xbd\xbb\xbe\x7f\xbf\x98\xe0\xa5\xdb\xd0\x11\x08\x56\x4e\x56\x69\xff\xba\x71\x71\x82\x5d\xea\x22\xa7\x99\x65\x4e\x11\x52\x0d\xc3\x6f\xf3\x20\xdd\x76\xe1\x56\xde\xec\x2f\x2e\xec\x98\xf2\xca\xe3\x5b\x60\xea\xb9\x62\x9f\x01\xeb\x76\x61\x27\x3b\x60\xef\x5c\xb8\x00\xfa\xdd\xab\x94\x91\xd8\x33\xf8\xdd\xfb\x64\x8b\x14\x4c\x61\x6f\x92\x2d\x9b\x0b\x18\xe0\x5a\x9b\xc2\x3f\x14\x20\x3f\xb8\x6e\x07\x87\x42\xfb\x11\xee\x97\xd3\xa3\x09\x13\x02\xe8\x10\x97\x01\x9c\x1e\x16\xe1\x75\x75\xe9\x26\x74\x50\x21\xf8\x12\x7a\x4c\x92\xe9\xc8\x0a\x66\x86\x56\x30\xf1\x08\x63\xa1\x63\x2e\xf4\x8f\xfe\xeb\x54\xaa\xbf\xa6\x69\x0b\x13\x4c\x90\x6a\xd5\xea\x68\x3c\x45\xe5\x8c\x00\x98\xc5\x9d\x61\x1f\xe1\x3c\x6d\xe1\xe6\xaf\x72\x9f\xb3\x93\x19\xd0\x91\xe6\x80\xd1\x2c\xef\xb5\x23\xd3\xb2\xa6\x5e\xba\xd2\x37\x5d\x77\x13\x70\xb6\xcb\x38\xc1\xef\xa5\x56\x0b\x57\x03\x46\x78\x45\x06\x6c\x80\x50\x9b\x5d\x1c\x15\xef\xf1\xff\x65\xef\xdd\x93\x9c\x48\x92\xed\xe1\xff\xb5\x8a\xd8\x40\x60\xe1\x1e\x6f\x9b\x35\xb0\x06\xac\x80\xa2\xc5\x37\xd9\x14\x09\x89\xee\xbd\xac\xfe\x33\x3f\xee\x91\x92\x2a\x25\x55\x15\xd0\xcd\xcc\xfc\xc6\xac\x1b\x65\x49\xf9\x88\x8c\x87\x87\x3f\xcf\x11\xed\xa0\x68\xe1\xcc\x6e\x01\xf5\x01\x35\x79\xa8\x51\xca\x46\x47\x06\xd1\x92\xbb\x6d\xa0\x31\x14\x73\x7a\x94\x3a\x5b\x75\x29\x92\x87\xab\xbd\x96\xd6\x8c\x7a\x0e\x7b\x24\x2d\x0f\x09\x91\x56\x1e\x33\x58\xd3\x89\xcd\xf9\xcf\x50\x1a\x03\xb9\x14\xd4\x7a\xd3\xf5\x09\x05\x2e\x16\xc7\xca\x8e\x84\x1f\x45\x3b\xc1\xcb\x0e\x2d\xc1\x4a\xe9\xeb\x2b\x25\x2a\x3b\x68\x92\x34\x8b\x1a\xe2\x52\x41\x80\x43\x15\xe1\xb6\x8f\x33\xc3\x2a\x88\x2e\x07\x1a\x0e\xf9\xc4\x86\xf6\x97\x76\x33\xb2\xaa\x45\xe5\x03\x87\x79\x52\x1e\x33\xe4\x26\x87\xa7\x72\xd2\xf6\xef\x37\x6b\xff\xee\x98\x6d\x14\x52\x18\x29\x7d\xd1\x12\x72\x0d\x4e\xdc\x6b\x85\x22\xc7\xf5\xd8\xd8\x4c\x06\x49\xda\x72\x3c\x3a\xfe\x7c\x72\xd1\xf1\x5e\xdf\x5f\x13\xf7\xf2\xb7\x3c\x07\xfe\xae\x12\x06\x07\xe2\x45\xd9\xb0\x1b\x08\x85\xb7\xa4\xcc\x48\xc3\xbb\x22\x0e\xe4\xfa\xab\xa4\x00\x15\x29\xc5\x7b\xa2\x16\x26\x60\x4f\xa7\x86\xc4\x08\x6c\xb3\xc5\x74\x34\x2e\x0e\x99\x90\xb5\x1d\x93\x52\x8a\xfa\x3f\x15\xb2\x92\xd6\xe8\x6c\x6a\x61\x6d\xd0\x15\x91\x8b\xf7\xb9\x28\x72\xf5\x3a\x99\x97\xc5\xd5\xbc\x9b\xa8\x57\x57\x42\x91\x05\x97\xa3\x2b\xd1\xb5\xb2\xc8\x0c\x8f\x71\x2f\x4d\xc9\xc8\xac\x09\x04\x3f\x41\x11\x5d\xb6\xe0\x12\x8f\x6b\x0a\xfc\xed\x84\xcd\xf3\xb6\x17\xef\xdb\x34\xed\x1f\xbe\x6c\xfc\x4a\x77\x37\x59\x74\x64\x5f\x6f\xfd\x16\x4e\xcd\x72\x05\x20\x67\xc5\x6f\xde\x42\x8e\xce\x3e\x51\x75\x51\x3a\xad\x11\xbb\x28\xfb\x0b\xec\xe7\xee\x7c\x27\x85\x7a\x89\x34\xe2\xf1\x09\xa8\x96\xaf\x94\xa1\xc9\xe6\xea\xe0\xb3\x44\x29\x80\x3a\xa3\x32\xca\x34\x7d\x0e\x8b\x82\x9a\xe5\x30\x40\xc6\x70\x6b\x75\x82\x83\xa8\xce\xe2\xf7\x46\xa3\xc6\x5a\x36\xe6\x2b\xac\x69\x38\x52\x5a\x55\x97\x13\x3b\x75\xea\x70\x74\xad\xc3\x89\x44\x81\x10\x88\xe9\x6a\xec\x6a\xe4\x76\x0f\x94\xd3\x2b\xdb\x6b\xe7\x4b\xbb\x6b\x6a\x61\x4e\x31\xa3\x9e\xaa\x00\xf7\xf6\x22\xf9\x2f\xe8\x9c\x64\xbe\x71\xe7\x43\xcf\x49\x4c\x0f\xb8\xc9\x01\xf9\x81\x4c\xad\x78\xf0\x5c\xc3\x1c\x45\x17\x4f\xec\xec\xdb\xdb\xee\xf2\xb7\xf7\x5b\xd6\xf5\xbb\x2d\xbf\xce\x09\x6e\x95\x82\x43\x58\x79\x3d\x2c\xaf\x32\x7b\x24\x95\x6b\xa9\x96\x33\xfc\x57\x48\xd9\x60\x81\xb5\x71\xa6\xa1\x97\x68\x1a\x5c\x74\xd9\xe4\x29\xd2\xba\x34\x00\x0a\x83\x61\xd5\x66\xcb\xf7\xd7\x0c\x12\xe3\xb6\xa7\x18\x80\xf0\x56\x5c\x0c\x58\x8e\xc5\x58\x43\xb3\x91\x27\x05\xe5\x2e\x00\x55\xb0\xa2\xc4\x35\xf3\xdb\x21\xbf\x85\x8e\xc7\xde\xfe\xd0\x40\x8b\x9e\xa5\xf5\x66\x71\x51\x20\xdb\xa0\xe9\x6d\x91\xf5\x41\xbe\x45\xfe\xbe\x7b\x4d\xd5\xa8\x72\xae\x30\x89\x8c\x24\xed\xe7\x00\x6c\x59\x22\xe8\x96\x76\x64\xce\x00\x48\xea\xe4\x5a\x5b\x9a\x65\xc8\x2c\x00\xc0\x53\x7e\xd6\x2c\xe6\x54\x51\x87\x37\xeb\x40\x88\x1d\x4e\xd5\x71\x43\x3d\x60\xa8\x7a\x26\x0c\x1a\x58\x25\xb1\x6f\x74\xdb\xe5\x4c\x65\x1e\x01\xa6\x06\xd4\x23\xea\xaa\x38\xcb\x9d\x06\x45\x2c\x68\xe4\xf0\x80\x81\x1e\xa0\xbe\x75\x2e\x61\x01\x0a\x60\x28\x8b\xa1\xf4\xa1\x95\x60\x30\x44\xd3\x61\xde\xdf\x76\x75\xbf\xbb\xff\xb2\x7c\xfc\xf0\xf1\xdd\xdd\xb2\x09\x43\xde\xc5\x7f\x9c\x32\x3b\x95\x14\x26\x52\x64\xc3\x3c\x47\x6d\x26\x6a\xf1\x83\x22\x56\x24\x03\x93\xc8\x34\xc1\x85\xe6\x53\x53\x3a\xa6\x56\xe6\xf1\x3b\x8c\xae\xa0\x02\x41\x64\x4b\x45\x89\xcb\x84\x2d\x3c\xc7\x49\x4b\x63\x9b\x11\x32\x27\xad\xa6\xf0\xc8\x57\x66\x65\xc9\xea\x6a\x8d\xc2\x3a\xcf\xe4\x98\x27\x69\x8e\xa3\xd8\xf4\x00\xd8\x0e\xd0\xda\x62\xd0\xdb\x73\x50\xe8\x2c\xc2\x05\x99\xf1\x10\x6a\x6d\xb2\x58\xa8\x22\x6b\x29\x34\x8f\xda\xa2\x11\x99\x9e\xf2\xac\x1a\x76\xf2\x0a\xd4\x8a\xbe\x52\x52\xca\x61\xd2\x49\x98\x95\x20\x2c\xc1\xda\xac\xda\x39\x14\xf3\xe4\xed\x60\x06\xd2\x86\x6a\x57\x35\x48\x1f\x24\x94\x91\x64\x9a\xf4\x66\x93\xd7\x9b\xe3\xf5\x14\xde\xab\x86\x99\x3b\x18\x60\xa5\x2d\x93\x35\x71\xd2\x26\x8b\x15\x2d\xb7\x90\xff\x66\x39\x9f\x9d\x75\xa0\xbd\xba\x1e\x50\x44\xb2\x55\x0c\x7a\x13\x45\xfa\xd2\xc5\x9a\x69\xb2\x2e\x9e\xb4\xcb\xcf\x6e\x83\x04\x12\xd6\x54\x66\x79\x75\x6f\xc3\x37\xd9\x70\xce\x49\xad\x78\x1d\x65\xd8\xf4\x89\x0d\x23\xe8\xb6\xb7\x70\x7f\xf7\xe9\xfd\x9b\x2f\x1f\xff\xd8\x6f\x32\x93\xee\x6e\x01\xa6\xfd\x22\xa8\x01\xd9\x3e\x6f\x41\x0d\xa8\x01\xca\xc8\xc0\x83\x5b\x39\x46\x97\xf1\x6f\x69\x0b\xa9\x97\x5c\xf6\x8f\x6a\x1a\xf1\xc8\x52\x85\xeb\x26\x1c\x33\x25\xba\x2e\x4f\xfc\xa9\x49\x16\xa2\x1f\x64\xcc\x99\x41\x00\x6b\xa4\x7f\x95\xcc\xd7\x16\xf0\x4f\xd9\xcd\x10\x83\x9a\x03\x87\x64\xb8\xb3\xca\x64\x70\x31\x83\x40\x32\xf2\x42\x5d\xf1\x32\x92\x51\xf6\xfa\xc8\x33\x19\x19\x62\xff\x2b\x00\x02\xf6\x31\xd2\xba\x35\xea\xce\x08\x24\xf2\xda\x65\xab\xeb\x2a\x78\xb3\x88\xda\x57\x47\xd1\x0b\x15\x04\x65\xc7\x48\x48\x54\xf2\x1a\x75\x38\xf7\x53\x9c\x80\xdd\x8b\x80\x02\x66\x60\x27\x21\xcb\x85\x91\xe9\x48\x25\x21\xdf\x92\x91\x77\xf9\xb3\x88\x00\xba\xc6\x82\xe3\x91\x25\xab\x85\x91\x49\x55\x5c\x6a\x0b\x27\x43\xb1\x0f\xc3\xa9\x48\xdd\x3e\x93\xa3\x3a\x97\xec\x2a\x88\x6d\x14\xa9\x23\x8a\x15\x17\x11\xa1\x07\x8d\xd3\x62\x1c\x4e\x4b\xce\x60\xc4\xd9\xa9\x1f\x10\x31\x79\x25\xfc\x64\xa5\xe7\x29\x75\x10\x16\x69\x44\xb5\x58\xe1\x2a\xcc\xe8\x9a\x7e\x00\x37\x00\x4b\x70\xba\xdf\x52\xd0\xdf\xdd\xe4\xbd\x01\xa7\x1f\xd8\xd8\xa4\xeb\xf6\x20\xb9\x86\xca\x04\x34\x1e\x47\x6c\x39\x99\xb1\x2e\xa2\x02\xa7\x82\x6c\x11\x51\x92\xe0\x4f\x26\x06\x99\x69\x65\xa7\x9e\x65\x2d\x70\x47\x4a\xb4\xee\xe2\xa5\x0d\x74\x9a\xb0\x1a\x24\xa4\xe4\x2c\x8b\xf2\xc3\xae\xe5\xb4\x31\xac\x3f\x12\x6c\x6c\x0d\xec\x58\x40\x48\x7f\x55\x7a\xcb\x5e\xad\xba\x32\x22\xa9\x16\xf1\x2c\x54\xfe\x37\x7c\xe4\xbc\x80\x11\x61\x5d\xfc\x1e\x45\xf5\x00\xb9\x88\xca\xca\x8e\xf9\x37\x52\xed\xc1\x42\xe6\xb5\x64\x4a\xb4\x8d\x18\x95\x88\x50\x19\x7b\xf2\x0a\x28\x2e\xe7\x9a\xbf\xbf\x74\x4d\x6d\x85\xab\x52\xc1\x4a\xf0\x59\xba\xae\x40\xc4\x88\x8c\x17\x1b\xe0\x07\x3e\x29\x74\x5b\x72\x46\xf3\xdf\x54\x16\x81\x19\x72\x21\x4d\xe2\x48\x64\x28\x13\x08\x9a\x2f\xd4\x93\x13\x29\x50\xaa\x8b\x6b\x1d\xc2\xcf\x8a\xcb\xdd\x58\xd7\x0d\xd2\xe7\x29\xfc\x4d\x5d\x6f\x1a\x7e\x44\xcc\x4d\x5e\xb8\x6b\x0f\xf8\x28\x1d\xa4\x24\xc1\xec\x8c\x26\x78\xf0\x5d\x6b\xae\xd7\x84\x70\x77\x21\xa4\x9a\x14\x72\x5a\x77\xcf\xec\xa2\x4b\x11\x61\xfe\x0c\xf7\xb6\x48\x27\x13\x25\x22\x6a\x82\x25\xb4\x21\x9b\x19\x62\x87\x1a\xc1\x7f\x19\x95\x2d\xb1\x2f\xb2\x36\x6a\xc1\x62\x91\x95\x53\xb4\x9a\x9f\x8c\x8c\x96\x9d\x52\xa6\xb5\xbe\xe8\x8a\x2b\x75\x37\xc7\xe6\x82\xb3\x94\x3c\xe4\xa1\x65\xa3\xbe\x1f\xb4\x62\x8b\x12\x8d\xe9\x5c\xd2\xcc\xe3\x0c\xb6\x6d\x19\x25\xf8\x8b\x22\xb2\x2f\xa9\x2e\x4a\x89\x3f\x24\x85\x1d\xa6\x33\x83\x59\xc4\xc9\x48\xe5\x36\x68\x65\x93\x41\x3f\x88\x47\x8a\x25\xbe\x25\xcb\xb9\x2b\x67\x39\x0b\xfe\xe7\x93\x74\x81\xdd\x13\xa0\xff\x02\x1b\xb3\x54\x25\xcc\x34\x10\x68\xd9\x7b\xe0\xf6\x56\x74\xad\x35\x9e\x5f\x8f\xb4\xf8\xd0\xf9\x1b\x16\x9e\xad\x13\x51\x46\xcc\x9b\x96\x2d\xa2\x66\xd9\x13\x9e\xf3\x41\x96\xdc\x16\xf0\x71\x00\x52\x58\xf2\x67\x1f\xc9\x11\xad\xc3\x11\xad\xc8\x67\xc1\xa2\x3c\xa4\x05\xfa\x31\xc2\x23\x2d\x1f\x2d\x59\x1e\x06\x8a\x59\xbc\x56\xd1\x68\x9e\xb9\x01\x75\xd0\x08\xdf\x25\xa7\xa8\x5d\x01\xdc\xa6\x9c\xc0\x60\x1c\xeb\x2c\xbb\xba\x68\x84\x1a\xe2\xe2\x19\x16\x87\xe6\xaa\xc9\xa6\x36\xe7\xaa\xb2\x40\xf7\x75\xa5\x6d\x48\xe1\x00\xeb\xa9\xb2\x8b\x00\xf4\x01\x45\x54\x47\x5a\x1a\x3b\xec\xe9\x03\x7d\x27\x98\xca\x1f\x6d\x3d\x89\x85\x9b\x95\x78\x58\xb3\x8e\x99\xe3\x4a\xd3\x78\xbe\x4c\x77\xe7\xeb\x54\x96\xf2\xad\x7d\xd1\x98\x22\x83\x56\x2b\xa8\x2b\x46\xa4\xf4\xd0\x14\x4e\x5c\x45\x9c\x4c\x20\x5b\xf5\x2a\x16\x12\x08\xcb\x54\xd6\x6b\xe7\x90\x28\x92\xb0\x1b\xc1\x9c\x2a\xdb\xbf\xf4\xb9\xbc\x74\x05\xe1\x5f\xb2\xd4\x42\xe4\x03\x9a\x43\xb0\x74\x23\x52\x97\x05\xa9\x7b\xe1\x22\x53\x0c\xee\xcd\xd2\x0c\x29\xc5\x33\x1f\xa2\x06\xbe\x43\xc2\x7a\x6f\x41\x74\x21\x27\x43\xae\xe2\xc1\x4c\x3f\xc3\x25\x80\xac\x38\x40\x7c\x88\x16\x92\x34\x0c\x1a\x91\x17\x2e\x82\xc6\xc5\x59\x34\x90\x20\xe2\x07\x78\x8b\x30\xb2\x1c\xab\x9d\xd5\x46\x18\x92\xb9\x3e\xbd\xfe\x2e\xd1\x34\xdd\xd5\x7f\x9c\x66\x6f\xaa\xbe\xd9\x92\x62\x58\xb5\xa8\x44\x88\x3d\xc1\xd9\x41\xa5\x1e\x22\x63\xc0\x64\xba\xcc\xc6\x1f\x4d\x86\x7f\xb7\xa8\x52\xa9\x86\x7e\xd1\x8c\xc4\x9c\x06\x20\xaf\x6f\x16\x67\xe2\x19\xea\x65\x55\x7d\x53\xe7\xa6\x2a\x10\x49\x95\x09\x59\x3c\xc0\x84\x33\x3f\x9f\x26\x50\x20\x4f\xa0\x9d\x94\xba\x84\xb1\x14\x6c\x46\xac\xbc\xd9\x56\xe6\x76\xb2\x4e\x96\xe3\xfa\xb1\x14\x09\x5d\x5e\x0b\x56\xdb\x6e\xd1\xb5\x67\x4b\x71\x0d\x14\x65\x05\xcc\x45\xb1\xc6\x58\xc6\x1b\x5d\x13\xcb\x5f\xde\x36\x22\x5e\x29\x9f\x73\x81\xc2\xab\x72\xc3\x76\x57\x15\x2a\xcb\x51\xcc\xac\xb2\x67\xd6\xad\x55\x24\x53\x9a\x5b\x56\x34\x0b\xd5\xf5\xc5\x00\x8a\x79\xc5\x7e\xa5\x98\x7e\x49\x25\x44\x6e\x56\x33\x02\xa0\x22\x15\x63\x31\x2c\x2b\x8e\x7a\x9d\x7c\x76\x34\x7b\xdb\xf7\xbc\xce\x3c\xc2\x20\xa9\xe6\x12\x67\x9f\x0d\xcb\xd5\xa6\xab\xce\xe0\x55\xdb\x1e\x13\x7b\x75\x74\x40\x3d\x0e\x9a\x96\x8d\xd5\xb0\x78\x5d\x1c\x58\x2d\x9a\x13\xaf\x3a\xa4\x11\x0e\x6a\x94\x9b\x5a\x03\xa6\x13\xe4\x32\xd2\xd5\x82\x66\x6e\x89\x19\x3b\x56\xe5\x32\x16\xea\x58\xb9\xba\x90\xb1\xaa\xe7\x0c\x80\x01\x5b\xf1\xbb\x39\x3a\xa0\x92\x8e\x6d\x8d\xfa\x72\x14\x17\x43\x82\x0c\x91\x32\x64\xcc\x90\x3a\x26\x88\xae\x28\xe8\xa8\x56\xbf\xba\x39\x1e\x25\x61\x1f\x36\xc1\x8c\x39\xd1\x15\x8e\x2a\xd2\xed\xf5\xfb\xee\xe3\x97\x77\xd3\xfd\x9b\xbb\x2f\x5f\x1e\xfe\xe7\xb2\xaa\x7c\x9e\xfd\x97\x6b\x39\x12\x6f\x9c\x4d\x97\xbd\xcf\x81\x27\x98\x63\xad\x1b\x81\x87\xfd\xae\xdc\x1e\xbe\x93\xeb\x04\xdd\x90\x94\x37\x1e\x18\x2e\x58\x5c\x93\xd6\xb1\xc5\xc2\x38\xcd\xdb\x79\x47\xc4\x17\x0d\x22\xa7\x3c\xe9\xaf\xd3\x38\x7d\xb6\x33\xf4\x36\x98\x94\x6d\xd2\x07\xe9\x73\xf0\xdb\xa2\xa7\x28\xe1\x35\xb5\xbe\xcf\xe1\x58\xad\xbd\xa9\xe7\xd1\x59\xac\xa0\x13\x6b\x46\xcb\xe2\xcf\x52\x5d\xfc\x49\x0e\x8c\x5f\xb3\x0a\xc6\x49\x76\xce\x31\x07\xe1\x89\x6c\x84\xe5\xe9\x8c\x9a\xe7\x8f\xe2\x65\x9f\x43\x3f\x19\xc6\x3c\x4a\x0a\xab\x1b\x1d\x83\x2e\xd3\x51\x90\x5e\xbd\x32\x48\xb7\x87\x46\x15\xa3\xa6\x33\xe1\x24\xe2\x7e\x22\x43\x4e\xf9\x61\xce\xc4\x89\x8c\xc8\xe4\xc7\x1d\x8e\x95\xed\x67\xa2\xc7\x06\xff\xe2\x98\x5b\xcb\xb7\x63\xff\x9f\x32\xac\x17\x94\xdc\xbb\x93\x31\x15\xb3\x88\xce\xc7\x74\x74\xc9\xed\x85\x67\x0b\x6a\x5d\x80\xb7\x17\xde\xc5\xbe\xb7\x55\x75\xc0\xb8\x5f\x1a\xdc\x53\xd6\xa5\xb1\xdc\x0e\x43\x5c\x78\x93\x17\x2a\x26\x8e\x7b\xcb\x7f\xee\x50\x5e\xd4\x97\xde\x9e\x0f\x26\x9c\xe8\x8f\x17\xe8\xb5\x31\x1c\xdd\x78\xd0\x01\xd8\x8a\xe6\x73\x26\xaa\xb3\x05\xb9\x2e\xbc\xb1\xee\x0c\x50\xe2\xa8\x00\x3c\xb5\xee\x57\xd1\x7d\x63\x8a\xa8\x7c\x19\xe2\xe5\x3f\x63\x4c\xff\x98\x1e\xde\x6e\x23\x08\xef\x7e\x38\x69\x72\xf9\xbb\x5e\xfc\xfb\x6b\x0a\x89\x5d\x6b\x55\xb1\x79\x8c\x2b\x54\x6f\x12\xed\x70\x16\xa5\x4c\xb1\x91\x51\xd1\x27\xdf\xd7\xb9\xb8\x8a\xc4\x6d\x14\xdc\x14\x87\x22\x8b\x39\x26\xd7\x14\x06\x81\x50\x1f\xcf\x08\x94\x53\x5c\x50\xee\x24\x27\x88\x76\xa4\xde\x45\xca\x0e\x20\xf2\x8e\x2d\xc4\x41\x03\x1a\x53\xb3\xee\xad\xe8\xd0\xf9\xe2\xbc\xec\x14\x55\xad\xb3\xb6\x2a\xe2\xa8\x95\xa7\x35\x57\x2f\x2b\xc6\xff\x5a\x84\x00\xe3\x96\x9d\xbe\x83\x43\x5e\xa7\x56\x4b\x79\x42\x3d\x9b\x01\x3f\xfb\xe8\xec\x7c\x2d\xe3\x93\x27\xc3\x5e\x47\xfe\x64\x5d\x8d\x71\x38\xab\xc4\x6c\x40\x8b\x34\xc5\xc3\x9a\xa1\x50\x58\xc8\x93\x8c\xaf\xf2\x0e\xb6\x05\x6b\x29\x81\x7c\xad\x99\xae\x33\x65\x94\x7f\x6b\x42\x9d\x82\x89\x14\x17\xe7\xee\x50\x0d\x0f\x67\xa2\x16\x1f\xec\x45\x93\x05\x8a\x81\xbc\xee\x9a\x2f\xa2\x47\xd1\x95\xd9\x37\x87\x94\x7e\xad\x6d\x88\x48\x94\x05\x18\x68\x71\xd6\x26\x04\xad\xb5\x4c\xfe\x95\x01\x82\xce\x84\xdf\x75\xf2\x44\xed\x62\xaf\xd5\x93\x8a\xc7\xa0\x45\x99\x41\xad\x1d\xbc\x43\xb3\x9c\xbf\x11\x3e\x65\x3c\x44\xbe\x1d\x86\xd0\xa2\x95\xc4\xd2\xe3\x3b\xa4\xd6\x38\x75\xe5\x68\xb1\x84\xd5\xb5\xda\x37\x5a\x4e\x00\xc2\x41\xc4\xb1\x10\x94\x32\xb8\xee\x62\xd3\x8d\x0b\xa2\xe0\x59\xfb\x26\xa0\xec\xa5\x19\xc2\xa9\x3c\x1c\xa9\x0d\x84\xd3\x38\x3b\x0d\xac\xa7\xb9\x38\x98\xaf\xca\x85\x90\xb5\xa8\x44\xa6\x5a\x71\x5a\xdd\xb6\x90\xe6\xe2\xa2\x6c\x06\x39\xeb\x33\x39\x72\xca\x1d\xae\x13\x74\x60\x83\x5b\x86\x7c\x0e\x28\x59\x75\xea\x6c\x45\x89\x3f\x12\x89\xeb\xdc\x5d\x91\xde\x42\x5f\xe9\x9c\x40\x94\xd2\xa6\x07\xfa\x11\xf5\x22\x98\x70\x6a\x4f\x68\x5a\xa6\x8b\x72\xb9\x4f\x40\xc7\x76\x9a\xc4\x99\x34\x19\x09\x11\x53\x9f\x00\x63\x21\x43\x3f\x96\x21\x1d\xeb\x3f\xbc\x25\x22\x15\x14\xc8\xc8\x19\x79\xb4\xdb\x8f\x37\x18\x6c\xbe\xa8\x2c\x99\xd1\x71\x44\x5a\x57\x93\x5c\x83\x22\x0e\x5c\x09\xae\xd2\x51\xc9\xba\x7e\xa4\x37\xf9\x84\xd1\xad\x63\x8a\x10\x0a\x98\x7d\xb3\x21\xc6\x0b\xdb\xe0\xea\xc4\xde\xe9\xdb\x2a\xcc\x45\x1a\xf2\xa3\xd9\x28\x8f\x55\xaa\xc0\x05\xb8\x7b\x1c\xc8\x1e\x69\xc1\xc9\x78\x60\x06\xb2\x86\x7a\xc8\xb4\xba\xa6\x2a\x42\x8b\x4c\xe7\x09\x69\xb3\xb3\x5d\x56\x80\x3e\x61\x89\xd2\x36\x61\x9a\xfc\xd8\x10\x3a\x98\x09\x80\xfa\x6c\xc0\xfd\x44\x56\xfa\x13\xb4\xf4\x27\x69\xc1\x0d\x8a\x41\x13\x70\x3e\x10\xfc\x93\x51\x66\x99\x17\xc5\x00\x7c\x65\x9e\x24\x50\x79\xb0\xab\x53\x76\x36\xa8\x05\xe1\x5e\x96\xd5\x8d\xbe\x8b\x68\x98\x7c\x57\x86\x61\x39\x2b\x86\x89\x65\x68\x5b\x23\x20\x72\xac\xdc\x93\xb4\x0c\x28\xaf\xac\xc1\xac\xf2\x2b\x15\xcd\xdc\x43\x2d\x24\x33\x6e\x54\x75\xb0\x66\x4c\x28\x60\xf2\xaa\xa7\xc2\xa0\x0b\x81\xa3\xd2\xb4\x82\x0a\x93\x19\x9e\xb9\xaa\xda\x53\x45\x2d\x28\x03\x1a\x8f\x2c\x2f\x9c\x9a\xc9\xbd\xae\x18\x37\xc9\xc0\x52\xc2\xe3\xa5\xcc\x6b\x41\x95\xce\xc1\xb2\x78\xad\x10\xd2\x22\x28\xd2\x04\xab\x49\x9b\x1e\xf5\x8d\x5f\x19\xcc\x9f\x79\x72\x49\x49\x5c\x22\x00\x46\x60\xcf\x4b\x77\x23\x7f\x59\xa3\x5f\x78\xb7\xaa\x7b\x80\x48\x57\x4d\x90\x7e\x95\x67\x40\xba\x90\xe5\x5f\x69\xf1\x68\xd4\xd2\x2c\x5f\x2c\xe7\x2a\x58\x43\x39\xca\x0b\x05\x15\xe4\x32\x1f\xf4\x53\xeb\x35\x35\x2a\x42\x69\xb1\x03\x59\xf0\x2a\xba\x29\x28\xbf\x32\x0a\x97\x67\xcd\x95\x06\xf2\xc7\xac\x15\x5a\xda\x7d\xa8\xd0\xca\xb6\xc8\xf4\xc5\x93\xc1\xca\x62\x37\x2c\x90\x81\xcb\x3a\xd9\xd5\xf9\xb3\x88\xf6\x63\xe9\xe2\x6c\x4b\x16\x6b\x1f\xdd\x5b\x15\x0d\x0c\x29\x7d\x06\x33\x63\x95\x82\x8b\x71\x70\xcf\xdd\x58\x56\xb0\xf0\xc9\x28\x4d\xe6\x6c\x7d\xc7\x65\xd1\x82\x6e\xe0\xce\x68\x78\x24\xae\x15\x5c\x1d\x4c\xe5\x58\xb0\xd2\x80\x59\x93\xd2\xdb\x2a\x47\x6c\x68\xc8\xa8\x02\x12\x92\x63\x92\x4a\x2e\x74\x76\x34\x34\x16\xe9\x06\xcd\x01\x90\x8b\x40\xaa\x3d\x47\xd5\x23\x51\x3b\x47\xb6\xd4\x35\xc6\xa9\x25\xe0\xea\x02\xb3\x42\x79\x05\x80\xd4\x86\x17\x25\x33\x54\x0d\x91\x14\xc7\xa7\xa2\x86\x11\xf5\x3b\x3a\x9e\x0d\x2c\x50\x24\x2b\x46\xfe\xd1\x1c\x07\xe5\xed\x46\xed\x35\x08\x73\xd6\xfd\x3a\xe9\x4e\xc8\xb6\x25\x2a\xb5\x8f\xae\x08\xf8\x70\x35\x51\x70\x14\x74\x03\x89\x88\x4c\x16\x22\xd5\x94\xad\xfa\xd0\x6b\xaa\xbe\xd7\xca\x3a\x75\x2d\xd9\xd6\xa6\x2a\xd8\x2b\x85\x1d\xdd\x8d\x9c\x40\xca\x8e\x66\x91\xe3\x3c\x5c\x6c\xd1\xa2\x76\x10\x3d\x59\x37\xf1\x3a\xe0\x87\xd3\x68\xc2\xc0\x35\xc3\x2e\x3e\xea\x2f\xb0\x90\x8a\x66\x68\x60\x6e\xfa\x38\x04\xfe\x9a\x19\xd6\x51\xe6\x50\xf1\x13\xc2\x27\x90\xe4\xba\xb4\x9a\xf9\x2e\xb9\xeb\x06\x00\x18\x19\x0a\x8e\x4f\xa0\xc9\x86\x3a\x93\xb0\xf7\xb1\xeb\xae\x1b\x58\x19\xa0\xf6\x45\x6a\x48\x63\xcd\x01\x15\xa4\xc5\xb8\xb0\xd8\x16\x93\x5c\xdc\x19\xc7\x57\x72\x71\x46\x43\xb4\x7c\x13\xfa\x24\xe6\x93\x4e\x18\x74\x2e\x3b\x3e\x0e\x15\xde\x38\x8c\x9d\x09\xea\x2b\x26\x15\x04\x40\xb4\x05\x6a\x11\x79\x9f\x55\x2a\xe8\xde\xa3\xf3\x07\x13\xc9\x05\x5b\x64\x83\xe0\x82\x92\x16\x3e\x80\x11\x09\xb1\x07\x31\x51\x92\x36\x0d\x95\xa8\xcb\xe8\xee\x80\x32\x4e\xb2\xd2\xfe\x49\xe6\xc0\x01\x16\x12\x00\x99\xb4\xf8\xb4\xe9\x90\x69\x30\x4c\xc5\x11\xdc\xbb\xf2\xf6\x80\x17\xda\x2d\x6b\x2d\x29\x56\x59\x9b\x19\x99\x2a\x00\x15\x9d\x51\xbf\x41\xd8\xcb\x11\xb9\x71\x51\xb7\x7c\x1b\x74\x9e\xbb\xc3\xe6\x52\x66\x79\x5c\x35\x3c\x0c\x55\x42\x35\x3c\x8c\xf5\x85\xca\x0e\xd2\xd3\xaa\x16\x02\xa9\x00\x68\xfa\x2a\xf2\x76\xec\x9a\x63\xd1\x63\x78\x11\x15\x66\x4e\xa2\x9a\x64\xd7\x65\xb1\xe7\x49\xcb\x34\x22\x30\xb2\x12\xac\x2e\x06\xe8\x3c\xd2\x54\x00\xd4\x21\xfb\x63\x54\x68\x2e\x9d\x8b\x0a\x7f\x15\x9d\xf2\xfb\xa3\xa3\x55\xc5\x01\x38\xaa\x0a\xe1\xaa\x15\x23\x28\x70\x49\x10\xf5\xdf\x5f\xb7\xda\xa5\xf9\x1c\x00\x75\x0c\x8c\xe4\xd6\x6d\x92\xa0\x8b\xb4\x76\x90\x4d\x98\x88\xf9\xa7\xbc\x5c\x6d\x56\x2e\x30\x63\xbe\x6e\xb2\x0d\x69\x9f\x02\x4b\xa4\xaa\xb9\xe0\xab\xe8\x82\xd5\xd0\xf7\xc6\xed\x50\xdf\x63\x98\xc0\x50\x1f\x69\xf8\xef\x8f\xf0\x54\xd9\xb4\x6d\xd9\x9b\x17\xdd\x16\x34\xfc\x52\x51\x29\x85\xe0\x11\xb0\x57\xc8\x99\x85\xa5\xa6\x86\xf4\xd0\x51\x5d\x01\x83\x89\x33\x5d\x1a\xaa\x13\xc4\xb5\xb4\xc8\x29\x79\xd8\xa2\x52\x75\x94\xf0\x86\xe3\x2b\x9b\xb2\x63\x69\x9e\xb6\x80\xcb\x68\xbf\x0a\x95\x66\x42\xd3\xb4\x21\x3c\x85\x6d\xc9\x4b\x0f\x24\xd3\x19\xca\x50\xec\x32\x56\xaa\x19\x0c\x11\x2a\x59\x6c\x98\xef\x96\xb7\x05\x58\x47\x0b\xc5\xa3\x64\x2b\x68\x38\xdd\x4a\x84\x34\xe5\xd1\xaa\xcf\xcc\xae\x31\xd8\x11\x99\x15\x22\x02\x6f\x9a\xb6\xff\xf3\xe5\xfe\xd3\xbb\xfd\xc6\xb6\xdd\x16\x8a\x1c\x2b\x71\x22\x5c\x50\x3f\x1b\x47\x08\xdc\x5c\x6a\x69\xf2\xa5\x81\xa4\x89\xb5\x62\x53\xfe\x47\x26\x42\x5d\x93\x18\xc9\xc5\x3a\x21\xfb\x91\x42\x03\x7c\x60\x2c\x16\x2a\x35\x67\x7a\x73\x9d\xa6\xd2\xc8\x95\x46\x33\x42\x99\x4d\x41\xfd\x64\x93\xc6\x16\x6a\xd8\x2e\xf2\x1d\x72\x09\xd8\x75\xd2\x6a\xfe\x3e\x70\x42\xcb\xac\x39\xd6\xa8\xaf\x2e\x56\x79\xab\x69\xba\xac\x48\x83\xcd\x66\xbc\xd6\xaf\x1f\x2b\x75\x16\x7f\x5a\xc2\x73\xa5\x9c\x67\xce\x1a\xe1\xa3\x61\x50\x2d\x14\x54\xad\x28\x06\x83\x26\xca\x3c\x60\x6d\x2c\x17\xbc\x4d\x9e\x3b\xb2\xc7\x3b\x0a\x60\x26\xc2\x5f\xa1\xaa\xb8\xe9\x1a\xe2\xd1\xec\x89\x66\x60\x21\x8a\xa9\x86\x5c\x9b\x68\xa6\xad\x9a\xa7\x4f\x20\x52\xde\x7d\xfd\xe7\xa6\x28\xe5\xee\x26\x76\x2d\x38\xaf\x19\x18\xbb\x07\x63\x39\x0d\xc6\x72\x6a\x54\xd9\x2b\x79\xf7\x09\x63\xf8\x08\x44\x51\xe6\x8b\x74\xaa\xb5\x03\x6d\xf8\x66\x91\x97\x4c\xc5\x1b\x65\x5e\x8f\xa0\x4e\x71\xf6\x05\xbc\x56\x7d\x56\x8b\xfc\xb2\x67\xed\x7e\xe2\x61\x14\x53\xfa\x1b\xde\xec\x66\x65\xf3\xc7\xe9\x42\x39\xfb\xdb\x0d\xf1\xf9\x39\x26\x8f\x6c\x49\x89\x40\x2b\x96\xb4\x82\xdd\xd7\x30\xf9\x04\xc2\x97\x1e\x0f\xbe\x6a\x39\xfb\x60\x3a\x45\x9e\x8c\x22\x0d\xb1\xba\x55\x14\x91\xe7\x16\x2f\xfc\x21\xb5\xa2\xb7\x4c\x3d\x1e\xf3\x54\x13\xb2\x4b\x81\x15\x96\xbb\x8b\xf0\x30\x87\x19\x19\x37\xb9\xcb\xd3\x6e\xa7\xa1\x7f\xf9\x78\xff\xe1\xdd\xdd\xd7\x8d\xf3\xee\xed\xad\x92\x04\x2b\xeb\x0a\xfb\x4c\xac\x33\x54\x0e\x4e\x66\x28\xa6\x7a\x6a\xb7\x6a\x33\x80\xe2\x76\x31\x5f\x3f\xb5\x80\x02\xc0\xc1\x8f\xb8\xf1\xa1\x47\x0e\x5b\x1f\x3a\x15\x5c\x65\x64\xf3\x63\xad\x19\x11\x3c\x9f\xd1\xc4\x03\x60\x21\xb6\xb4\xf7\xf2\xb7\x01\x00\x6f\xea\x03\x62\xe6\x83\xb6\x60\x24\x70\xef\xac\x3a\x31\xd7\xcb\xd5\x8f\xd2\x84\x98\xf9\x62\x79\xe0\xed\x49\xf7\x6d\x9a\xbe\xbe\xfb\x72\x7f\xbf\xf1\x85\xbf\x3d\x61\x08\x6f\xd1\xf5\x9e\x27\xbf\x72\xd0\xae\x07\xe0\xe2\x4c\xe9\x24\x79\x38\x41\xca\xeb\xb4\xf0\xb9\xdf\xc4\xa5\x43\x3e\xfc\x55\xe8\x39\xbb\xb7\x3e\x56\x1e\xe6\xcf\x1e\xab\xc4\x4f\xa7\xd0\x73\x5b\x60\xbc\x6b\xc8\xcb\xda\xa6\xc4\xd2\xc1\xb9\x4b\x8b\xa9\x6a\x18\x3f\xad\xf7\xde\x4d\x67\xcf\xc5\xc1\xfa\xdc\x47\xa8\xcf\x70\x29\xa9\x39\xab\x69\xb7\xd6\x90\xdc\xed\x51\x5b\x90\xe7\xe3\x42\x49\x58\x45\x58\x9d\xfa\x1e\xc7\xe7\x4c\x67\x3d\xbe\x36\x01\x2d\x88\xa4\x40\x20\xd2\x57\x72\x03\x3c\xce\xa5\x80\x9b\x6f\x65\xcf\x3a\x10\x37\x24\xc1\xb1\xa3\x6e\x43\x6f\xfc\xf1\xe5\x61\x1b\x09\x7b\xb7\x95\x54\xc7\x0a\xd6\xdc\x23\xe2\x9d\x0a\xb7\xa1\x2c\xc7\x46\xc1\x4d\x31\xcd\xbe\x29\xfd\x23\x58\x74\xb4\xf0\xcc\x91\xa5\x7b\xc4\x0c\x19\x27\x9f\x80\x2b\xd5\x8a\x77\xa6\x91\xf7\xa1\xa4\xe0\x96\xf6\xa6\xf8\xc0\x14\xa3\x63\x25\x69\x8a\x8a\x6f\x50\xca\xa8\x61\x00\xc7\x0b\x56\x64\x29\x62\x5a\xad\xd4\x7e\x71\x05\xe8\xa3\x8e\x61\x00\xfe\x52\x4d\xc7\x7c\x85\x9e\x34\x25\x41\xce\x25\xcb\xd2\x54\x24\x33\x47\x00\x37\x11\x1b\x29\x74\x45\xf9\xa4\x80\x8c\xce\x64\xe0\xc2\x85\x45\x11\x80\xf3\x3f\xe3\x54\xe5\x48\x0c\x9a\xf7\x9b\xa2\x65\xba\x54\xf0\x74\x89\xfe\xa1\x9f\x71\x65\x3e\x89\x23\xef\x37\x54\x97\x9a\x9c\x98\x9a\xdc\x5d\xdf\x5a\x71\xe5\xc8\xdc\x34\x1a\xa7\xc0\x73\xa4\xbb\x1b\xc9\x89\x8a\xff\xac\x08\xa4\x68\xdc\xa2\x4e\xc4\x6e\x8e\x6a\x20\xae\xac\x02\xf6\xd9\x55\x2d\x97\x69\xe3\x77\x27\xbc\xf1\x31\x69\x15\x19\xec\xf8\x95\x1d\xde\x78\xde\x1f\x11\xc2\x9f\x71\xc5\x9f\x50\xbd\x9f\xd2\xbe\x9f\xd1\xc1\x9f\x5d\x7e\x7a\x67\x63\x3b\x2d\x95\x0c\x80\x5b\xab\x73\xc9\x7c\xf9\xcd\x01\x2b\xc9\xa6\x1f\x61\x1f\x8d\x3a\x2d\x89\xdb\xdc\x08\xe5\x35\x8d\x9c\xed\xef\x00\x07\x28\x40\x77\x06\x68\xbd\x56\xa2\x29\xb5\x06\x8d\x5c\x6c\xcc\x48\xe5\xed\x53\x88\x5e\x9a\x89\x57\x5e\xd0\x98\xe3\x09\xcd\xfc\x4f\x76\xf0\xda\xbf\x4f\x31\x91\x6c\x96\xe9\x2d\x2c\x73\x4a\x79\xd4\x85\x5a\x25\x7d\x11\x55\x37\x34\xc7\x41\xeb\x5b\x74\xc7\x71\xbc\x0a\xee\xca\x28\x04\x50\xd7\x42\x37\x8f\x9b\xaa\xd2\x3a\x5f\x4d\x08\x45\xa3\x4a\xd2\xd5\x3b\x12\xa5\x37\xe5\xfa\x03\x83\x0a\x3e\x0e\xf5\x27\x65\xb3\x5b\x61\xfc\x8f\x14\x40\x3a\xe6\x64\x2b\x2c\x17\xac\x32\xf9\xac\xd1\xee\xac\x37\x9e\xc4\x5e\xf6\x1c\xea\x0c\x53\xad\xea\xd6\x79\x44\x58\xe5\xb2\x9b\x08\xe0\x83\x65\xd6\xf7\x93\xb7\xae\xdf\x5f\x57\xe0\x98\x70\x7e\xdc\x17\x62\xd0\xd7\xc7\x7d\x11\xbb\x1b\xd9\xf2\x62\x10\x61\xeb\x4d\x45\x2b\x82\xc6\xff\x28\x90\x38\x6b\x18\x2c\xc3\xf6\xb8\x61\xec\x34\x47\x93\x86\x6d\xdf\x0d\x4e\xf9\xf4\xcd\x6d\x37\x8b\x46\x0e\x85\xd9\xa6\x9d\x7a\x5e\xf4\x65\x16\x47\x1d\xee\x52\x1e\x51\x28\x8c\x55\xde\x9d\x0d\x95\xba\x2c\x81\xb4\x16\x51\x3f\x50\x65\xc6\x96\xd4\x56\x3a\x7e\x0e\x56\x1f\x11\xe2\xe9\x6b\x36\x83\x4b\xe3\x80\x83\x55\x64\x72\x48\xae\xe5\x93\x5e\x6b\xd1\xd9\xb9\x1c\xa2\xb1\x88\x34\x99\x5d\x7d\xf2\xad\xb9\xd6\x00\xcc\xa3\x10\xa9\xd2\x3d\xa8\xc9\xd2\x64\x5a\xdc\x2b\x9d\xcc\xc6\x96\x90\xcb\xd8\x92\xe3\x90\x16\x00\xb9\xc4\x75\x28\xf5\x41\xd2\x9e\xa6\xb8\x46\x41\x49\x49\x5b\x5e\x27\xc4\x6e\xb6\xa6\x58\xcb\xf5\x05\xe3\x78\x7a\x9f\x9a\x36\xa0\x15\x6d\x22\x9a\xa7\x8d\xd1\x5b\xa5\xe3\x10\x5a\x43\x1a\x42\x3b\xb7\x31\x06\xde\x4d\x0f\xdf\x36\x25\xe0\xef\xb6\x05\x98\x27\xf0\x0f\x22\xc8\xac\x9e\xf6\x09\x09\x2a\xf6\x1c\xfa\xec\xb6\x25\x8c\x5a\x6c\x76\x95\x1c\x27\x1d\xf9\xea\xa8\x98\xbf\x1f\xf3\xd5\x69\x75\x3c\x5c\xb6\x0a\x77\x6e\x68\xe7\x33\xc1\x5a\x66\xa5\x39\x6b\x4d\xae\xb5\x2c\xc3\xb9\x06\x27\x27\x95\xe2\x0a\xcf\x22\xdc\xd6\x84\xd8\x21\xae\x66\x65\x7c\x57\x5b\x25\x36\x25\x8c\x8d\xf2\xa0\x68\x50\xa8\x0b\xfa\x30\xf6\xa7\xe0\xbf\xde\xde\xdf\xfd\x73\x6b\x2e\xbd\xbb\x09\x38\x9d\xb9\xca\x18\xca\x46\xd0\x54\x64\x4b\x87\x1a\xcb\x81\xe5\xda\xa3\x0f\x49\xb9\x4a\xd4\x46\xb0\xda\x99\x21\xd6\x70\xc1\x94\x83\xd8\xf9\xf1\x10\xfb\x55\x6c\x93\x67\x50\x93\x2c\x17\x60\x52\x0e\x3e\xf6\xfe\xfd\x75\x4d\xcd\x35\x8a\x93\x67\x91\xb0\x89\xfb\xbe\x12\xeb\x5f\x20\xf6\x91\x29\x41\x87\x58\xb5\x05\xc4\x0d\xd7\x1d\x7c\x7c\x22\xd7\x70\x4b\x63\xf6\xee\x56\x29\x5c\x2f\x8a\x7d\xff\x74\xdb\x97\xab\x2f\xff\xfd\x35\x71\x41\xda\xe2\x94\x03\x34\xdd\x36\x5b\x7d\x22\x34\xcf\xa2\x9a\x9a\xfd\x8f\x3a\x4e\x88\xc8\xa4\x0a\x6a\x55\xef\x5a\x85\x7a\x8f\x49\xed\xda\xe4\x0b\xf2\x74\x45\xd8\x12\x4c\x3d\x0b\xe4\x7a\x25\x2d\xa0\xa4\x11\x0c\xa4\xd7\xc3\x91\x5f\xab\x69\x00\x56\x34\x83\xdc\x5d\x0d\x71\xe1\x18\xd3\x0e\xe8\xb1\x69\x77\x24\xbd\x62\x06\x60\x59\xd7\xb4\x69\x00\x58\xd5\xb9\xba\x5a\x9c\x68\xa8\xa9\x2e\x14\x95\xaa\x4e\xee\x21\x92\xa8\x36\xd7\x92\x08\x96\xc1\xc9\x4a\x73\x07\x6a\x11\x3b\xe6\x89\x18\xd4\x86\x5e\x3f\xf1\x7a\xc8\x17\x85\x8f\x14\xe9\xd1\x88\xbe\x90\xf1\xb1\x27\x6d\x84\xde\x53\x74\x64\x85\xad\xc7\x13\x55\x47\x4e\x60\x70\x00\xbc\x99\xf1\x83\x00\x52\xb5\xc7\xb9\x65\x27\xcd\x95\x07\xf5\x99\x92\xee\x02\x78\x3d\x88\xbd\x0c\xd2\x67\x74\x81\xe2\x8f\xa4\x06\xd6\x72\x94\x69\x6a\xaf\x25\x8b\xd3\xfa\x3c\x59\x1f\x4f\xd6\xe9\xd2\xbd\xe0\x56\x6d\x5a\xb7\x8d\xe1\x99\xc6\xa0\x45\x8d\x18\xeb\x58\x42\x31\x28\x66\x62\x94\xef\xaf\x73\xed\xae\xc5\x32\xa7\x82\x02\x56\x12\x3d\x79\x51\x0f\x22\xd5\xd9\x77\x86\x49\x44\xf8\x44\x4e\xff\x80\x64\x8d\x45\x03\xc9\xa8\xfc\x44\x64\x55\xd4\x64\xa8\x74\x75\xee\x0c\x9b\x8f\xf4\x73\xc6\x65\x72\x55\x2c\xdf\x5f\xa7\x9e\x5c\x27\xd1\xe8\xb2\x81\xf9\x52\x05\xde\x25\x85\xb6\xc3\xce\x8d\x10\x1b\xce\x96\x45\xaf\x10\xe0\x76\x27\x64\xb3\x67\x32\x55\x4d\xae\xb4\x67\xcf\x06\x03\x36\xda\xa6\xd7\x69\xbb\xbf\xbf\x2e\x95\x5d\x0d\x69\xea\xc0\x28\x38\x00\xba\x29\x16\xd9\x51\x73\x99\xa4\xf3\x26\x99\x4b\xa9\x4e\xc6\x1e\x3d\xaf\x51\x28\x85\x41\x53\x34\x29\x44\xfb\x50\x37\xa0\x61\xfd\x08\xd7\xba\xc2\xc4\xa4\x16\x70\xf7\xc8\x53\x8d\x05\x6b\x0b\xab\xa6\xa4\x49\xc1\x01\x52\xa4\x83\xbc\xd5\xe4\x01\xde\xd2\xcb\xd4\x9d\x6f\x9a\x29\x52\x9d\x2f\x3a\xda\x0a\x17\xc5\x8b\x7e\x4c\xda\x1a\x20\xff\xc8\xb2\x9f\xc6\x1d\x33\x8b\x5e\xd1\x26\x4f\xb5\x8e\x5a\x67\x6d\xb0\xac\xcf\x27\x68\xeb\x3f\x6f\x50\x63\xdf\xdd\x2c\xfd\x2b\xbd\xc0\x0b\x79\xd9\xd3\x61\x50\x47\x2f\x01\x7a\x02\xdd\x10\xb8\x9a\x2e\xfc\x58\x2a\x9b\xd2\x14\x5c\x6b\x4b\x6a\xae\x96\x29\x05\x31\x44\x9b\x29\x84\x20\x43\x5b\xa0\x03\xec\x13\x5d\xf6\xc0\x44\x6e\x73\x91\x8b\x94\x53\x17\x27\x1a\x45\x5b\x8f\x22\xae\x3b\xe0\x04\xfb\x9e\x7b\x3f\xb0\x08\xf8\x0c\xb6\x19\x8e\xc7\xdf\x76\xc7\x1f\x2b\x20\x73\xca\x14\x65\x21\x51\x39\x24\xf0\xec\xb7\x74\xf0\xe9\xfa\xfb\x27\x2a\x5a\xb9\x9b\x89\xcd\x2f\x79\xfe\x5e\x66\xf4\x62\xb7\x80\x9f\xf7\xf9\xb7\x6c\xfd\x76\xb0\xe2\xf3\xdd\xe7\xfb\x2f\x6f\xde\x4d\x1f\xb7\x7e\x81\x9b\x18\xcc\x29\x24\x11\x94\x8a\x38\x6a\xd0\x7c\xd4\x8b\xe1\xc8\x2b\xff\xa0\x1a\x04\xa8\xc1\x08\x93\xaf\xb5\xba\x0a\x1a\x30\x8a\x4e\x51\x24\x45\xbe\xc2\xce\x13\xed\x48\x64\x15\xd7\xb0\x70\x91\x63\x1a\xfa\x0a\xec\x7b\x8a\x53\x09\xd9\xc0\x53\x0c\x1a\x0e\x62\xde\x00\x5b\xad\xe8\x24\x69\x5a\x9a\xa6\x4d\x59\xf5\xaf\xb1\x14\x51\x98\xe4\x6a\x57\x44\x9b\xad\x1d\x28\x78\xb0\xcc\xea\x51\x61\x90\x77\xa8\xea\x26\x18\x3a\x0f\x05\x45\xb5\xa6\x46\xbb\xa9\xca\x51\xad\x75\x2e\x51\x34\x0e\xad\xe2\x2a\x71\x2e\x10\x5b\x41\x24\xe3\x92\x58\x8e\xe6\xe0\x10\x82\xc1\x39\x93\xcf\x22\xc4\x1a\x41\xd9\x10\x8b\xb2\x04\xf0\x13\x70\xd7\x62\xb3\x93\x00\x0f\x3c\x3d\x91\x75\x7f\xed\x53\x42\xde\x01\x85\x2b\x2f\x4d\x47\xc4\x6b\xec\x3b\x6c\x29\x32\xf2\xb2\x09\xc5\xff\x61\x96\x46\x14\xb2\xb6\x74\x6d\x58\xae\x8e\xa2\xd8\x76\xdd\xe5\x3a\x37\x44\x51\x52\x97\x73\x8c\x6e\xb6\x11\x04\x23\x82\x3e\x41\x07\x71\x77\x9b\x8e\xed\xee\xb0\x71\x08\xbf\x5b\xab\x98\x62\x4b\x2e\xec\x6b\x69\x07\xf8\x50\x51\x2b\xaa\x30\x29\xdc\x82\x0b\x7b\x99\xd7\xea\x69\xb0\xfc\x28\x05\x84\x14\x55\x29\xbd\x12\x33\x44\xec\xf9\x46\x2b\xcd\x5c\x4c\xc8\x4b\x88\xa2\x28\xdc\x5c\x06\x28\xd6\xbd\x20\x3c\xb0\x2c\xa1\x7b\xc1\x29\x2d\x47\x7a\x97\x47\xa8\x72\x2d\x5e\x96\x66\x10\x12\x22\xce\x3b\xb7\x27\x31\x92\x3a\xff\x14\x44\x52\xe7\xeb\x08\x49\x39\x16\xd7\x7a\x39\xf8\xae\x95\x01\x17\xd9\x4f\xe2\x15\x09\x6a\xa5\x4b\x8f\x5e\x59\xee\x84\x93\xd5\x9a\x42\x3d\x5c\x6a\x13\x2a\x41\xb9\x85\xd9\xac\x62\x99\xb5\xb5\x2c\xb0\x2b\x6f\x23\x86\x7c\xfd\xf8\xc7\xa7\x37\x6f\xa7\xbb\x0b\x2e\x8d\x63\x79\xcc\xbf\x24\x8c\xf1\x4d\xc4\xb9\xfb\x87\x2f\xef\x2f\xd8\x31\xfd\xfc\x95\x3a\x9f\x56\x6d\x6c\xa3\x53\x29\x5c\x76\x74\xaf\x65\x42\x67\xd1\x29\x6c\x6d\x97\x42\x61\x5a\xfc\x99\xfe\xb6\x67\x11\x18\xd0\x37\x0f\xdb\xfd\xea\xa7\xdd\x04\xbc\xdc\xa0\x21\xbd\xbb\x45\x17\x0e\xc8\x3f\x6d\xf0\xaf\x80\xfc\x8b\x47\x7a\xc9\x5f\x71\x3b\xb8\x17\x19\x11\x5d\xa3\xd9\x37\x71\xe2\x4f\xe4\x89\x57\x40\xc6\xc7\x98\x6b\x67\x0c\x90\x03\x04\x53\x85\x09\x38\x21\x97\x15\xcc\xf1\x11\xdc\xda\x39\xbd\xb4\xbe\x13\x14\xb8\x5f\xf9\x52\x35\x96\xbf\xe0\xa5\x9e\xfb\x4e\xbb\xe1\xb8\x4d\xed\x37\xb6\xe2\xd6\x34\x7e\xd8\x4e\xe3\x2d\x3d\xf9\xe9\x34\x26\xd8\x82\x63\x88\x34\x23\x03\x10\xcb\x86\xf9\x50\x4e\x14\x1a\x76\xa5\x4c\x19\xce\x93\x64\x95\x29\x62\x0f\xa5\x3c\x43\xf7\x50\x02\x9e\x35\x0b\x35\x29\x64\x54\x31\xb4\xf1\x5c\x60\xe6\xe4\x32\x37\x24\x09\xb2\x21\x30\x2e\x00\x0c\xcb\x69\x89\x15\x1b\xf5\x61\x85\xbb\x35\x00\x8a\x65\x1c\x1c\x7c\x8e\x7b\x69\xcd\x01\xc9\x09\x31\x1e\x7c\x6b\x13\x58\x2b\x89\xf2\xac\x5c\xee\x88\xec\xa4\x0e\x22\xbb\xd6\x64\x16\x46\x97\x53\x3c\x78\x02\x74\x77\xe1\xdd\xec\x91\x39\xe5\x8b\x03\xca\x6e\x26\xcd\xc4\xe8\x51\xe1\x0b\x65\xeb\x52\xc8\x1a\xfd\x3b\xad\x68\x86\x20\x3c\x46\x82\x6a\x5a\x51\xa6\xe3\x31\xf7\x5b\xcd\x74\x55\x78\x26\xdf\xc4\x1e\x9f\x39\xc9\xfd\xe1\x99\xb3\x0a\x13\xe4\x03\xb6\x57\x79\x06\x81\x11\x1c\x8d\xf0\xbd\x81\x30\x87\x0c\x65\x2b\x1b\x8b\x85\xe2\x76\x56\xc0\xed\xe8\xd1\x2b\x43\xb5\x1b\x25\xd2\x99\x31\x5d\xea\xa1\x84\x3d\x85\xfc\xd4\xd2\xdf\xfd\xc0\x04\x3d\x65\x03\x7e\xd6\x92\xe7\x78\xf0\x5d\x3a\x3b\xe6\x43\xef\x7b\x0a\xe0\x5f\xd2\x7c\x55\xa4\xd7\x2c\xeb\xd1\x81\x78\xef\x19\x4e\x1b\x51\xfb\x33\xe6\xe0\xe4\x2b\x89\xf9\x45\xd8\x1a\xea\x5e\x46\xdc\xa7\x90\xf6\x14\xda\x8b\xc5\xc0\xee\x97\xbe\xe0\xbf\xfa\xf2\xff\xba\x7c\xf9\xf8\xcf\xfb\x65\xff\xe5\xe1\xdb\x1f\x9b\x9c\xb1\x77\x5b\xf4\xe6\x13\x7b\xbb\x9a\x8b\xef\xf9\xe4\xd3\x54\x11\xa8\xb9\xc8\xdc\x7a\xde\xa9\x95\x9b\xd2\xd9\x57\xc3\x7a\x57\xaf\x90\x6b\x01\x74\x1a\x1d\xf8\x5e\xc0\x18\x53\x57\x31\xc5\xe4\x62\xe8\x33\xc5\x28\x33\xc0\xc5\x8e\xcf\x19\x40\x39\x00\xa2\xa2\x8e\x18\x9c\x18\xcf\x55\x01\x72\x49\xd1\xcb\xe1\x98\xa1\xa6\x35\x03\x6c\x80\x28\x2d\x0e\x04\xf3\xac\xbc\xcd\xa0\x4c\x9b\xbc\xec\xba\xbb\xc9\x28\x52\xb3\x99\x2d\x14\xa2\xe3\x90\x67\xdf\x1a\x10\xea\x99\x82\xd6\xfb\xe9\x9b\x52\x33\x9f\x90\x34\x23\x23\xa0\xa3\xe1\x0f\x8d\x1e\xa3\x55\x29\x2c\x0c\x13\x96\x3b\x4a\xc0\x39\x38\x70\xef\x96\x32\x67\x55\x78\x3b\xd6\xee\xde\xd7\x14\xbf\xbf\xee\x3d\xb8\x94\xda\x3e\x11\xcd\x9a\x02\x50\x9d\xb7\xe9\x85\x34\x5b\xb4\x82\x67\x25\x07\x2b\xca\xf0\x4b\xd2\x95\x48\xc8\x43\xd8\x16\xe8\xf9\x33\xa4\x38\x4c\xc0\x1c\xcd\x1d\x1a\xd4\x51\x86\x98\x0c\x9f\xbc\x46\xcf\x8e\x23\x5e\x3e\x20\xe7\x42\xac\xb8\x82\x40\x9e\x8c\x2a\xf2\xdd\x9b\x63\x3e\x10\x02\x34\x88\x70\x80\x01\xcd\x23\xe1\x40\x6c\x98\x89\x5d\xac\x87\x94\x26\x0a\xec\x50\x5e\xe5\x31\x6e\xd2\xbe\xc1\x16\x55\x96\x11\xa4\x50\xbc\x9a\xea\x94\x27\x65\x4e\xea\x11\x04\x96\x40\xae\xb3\x16\xcc\xab\x33\x92\xd9\x6c\xe0\xd8\x1d\xd7\xb9\x56\xe8\x77\xcc\xae\x95\x39\x55\x31\x3f\x53\x05\xc0\x95\xba\x63\x65\xbe\xe4\x3a\xc3\x8c\xeb\x4a\x6e\x55\x6f\x07\x44\xbf\x7d\x7a\x7f\xff\x65\xfa\xb8\xa5\x3e\x7b\xf7\xfe\x1f\x2b\x45\xbf\xa3\x48\x11\x3d\xcc\xd8\xea\xd2\xe4\x23\x42\x3f\xd1\x11\x1c\x3c\xc6\xf7\x86\x14\x50\x38\x7e\x91\xae\x2b\x5d\x38\x37\x85\xb1\x6c\x2e\xce\x44\x28\x82\x4a\xc5\xe5\x39\xcb\xd7\xad\x38\x9e\x90\xe8\x9e\x26\x31\xea\xd3\xc1\x77\x50\x0e\x22\x1d\x9e\xc1\x71\x64\x0c\x84\x20\x28\xb0\x42\x0e\xcc\x63\xb8\xda\x86\xd8\x51\x0c\x02\x1e\x38\xfd\x9c\x81\x67\xe4\x99\xfb\x84\xba\x8d\x16\x50\x63\xa3\x5b\x90\xe7\x60\x88\x41\xdd\xf5\x82\xd9\x05\x54\xbd\x6a\xeb\xa7\xee\x06\xa8\x57\x17\xe3\x18\xac\x67\xcd\xf5\x0e\xac\x3f\xe4\x73\x96\xec\x4a\x9a\xa1\x9b\x29\x5e\x5b\x9a\x99\x5c\x05\xc6\x18\x63\x30\xa4\xb9\x51\x39\xf8\x90\x51\x4c\x86\xa7\x85\xef\x72\x17\xd3\x3b\xc1\x9f\x0b\x78\x15\xa4\x24\x37\x0c\x9b\xb4\xab\x56\x17\xd3\xe4\xd5\x3f\x80\x25\x19\x27\x19\xf1\x3d\xe2\x6b\x98\xe2\xe0\x2e\x8b\x8e\xba\x4c\x9b\x09\x49\xd6\xb3\xe6\x99\x96\x41\xb2\x5a\xd5\x4d\x4a\xc6\xfa\x60\x0e\x7d\xe4\x0f\x5b\x29\x0e\x96\x65\x35\x00\x2d\xfb\x3f\xd1\xce\xaa\xf0\x74\xaa\x2e\x06\xe4\x3e\x2b\x1e\x2d\xb0\xc2\x7a\x41\x6f\x76\xbb\x24\xca\xea\x23\xc3\xc1\x50\x04\x47\x56\xe2\xec\x92\x07\xd2\x1e\xcb\x63\xb3\xc1\xea\x89\xd4\x40\x55\x6f\xe8\x06\x60\x8b\x9c\x9e\x38\x03\xbf\x08\xd6\x70\x72\xd0\xb6\xc4\x92\xa9\xea\x3f\x52\x4c\x59\x85\xa7\x6a\xf2\xe6\x5a\xb9\xd4\x8c\x57\x28\xd6\x43\x8c\x58\x9e\xad\x59\xd5\x91\xa2\x18\x45\x8d\x70\xb8\xd8\xcd\xc2\xf2\xbd\xac\x72\x19\x52\x1a\x42\xbc\x6b\x1a\xdc\xee\x44\x88\x7b\x48\xf1\x73\xb1\xaf\x52\x5f\x85\x3e\xd2\xe6\xc6\x16\x21\x3b\x04\xdf\xce\x2c\x5b\xee\xde\x4e\xdb\x65\xb6\xcd\x5b\x3d\x86\xe7\xe0\x10\x2d\xe1\xb8\x39\x9f\xb5\x57\xf9\xea\x2f\xb4\x76\x6c\xc7\xe7\xcd\x05\x0d\xfc\x79\x6b\xf1\x80\x9c\xd2\x5f\xf7\x00\xcd\xbc\x7d\xe9\x2b\xec\x5e\xfa\x0e\x9d\xdb\x5f\xfc\x0e\x7f\x6d\x2f\xc1\xf2\xd7\x5e\xda\xfd\x85\x2f\xf1\xd7\x76\x13\xc0\x76\x7e\xa8\x9b\x76\x2f\x79\xc4\x5f\xfb\x12\x40\xee\x53\xa5\x36\x28\x84\xcd\x95\x9c\x59\xf8\xfe\x2e\x63\x5c\xeb\x85\x5b\x0a\x09\xb9\xe4\x52\x3e\xea\x6d\x07\xf0\x9f\x77\x7f\x7c\x7c\xf7\x58\x6c\xbc\xdf\xa6\x16\x9e\x44\xf5\xa9\x07\xd7\x73\x9e\xb8\x47\x07\xe6\x26\x0a\xd5\x51\xa8\x96\xa3\xcf\x1d\x6f\x1a\x2b\xde\x74\xa5\x2f\x6d\x43\x1f\x6c\xd8\x2b\x81\x86\xbb\xa2\x2a\x00\x34\x41\x01\x1e\x26\x4f\xbd\x39\xea\x6d\xc5\x7d\x50\x34\x1b\x85\x84\xc0\xe5\xb8\x7a\x60\x29\x38\x85\x5b\xf0\xd4\x26\x02\xbf\x58\x6f\x03\x8c\x41\xef\xfd\xfd\x35\xae\x49\xb1\x4d\xca\x0e\x3f\xf9\xf1\x19\xe1\x2a\xc7\xa7\x7c\x80\x14\x7c\xd2\x7f\xf1\xd5\xf7\xd7\x45\x2d\xa3\xb2\x9b\x10\x1f\x29\x61\xf2\xeb\x01\x70\x4c\x7b\xc1\x01\x3e\xe5\x97\x12\x26\xfb\xd0\x6f\x65\x5a\x95\xe2\x6a\xff\x91\xa7\x77\xfe\xd1\x86\xdf\xdc\x29\xbe\x7c\xdb\x12\xce\xbc\x7f\x46\x16\xf8\x05\x64\xbe\x81\xcc\xbd\x0c\xa4\xee\x33\x04\xcd\xe5\x0c\x47\x96\x33\x20\x2f\x50\xec\xc0\xb9\xec\x3d\xe5\x76\x34\xdb\x9c\xef\x93\xed\xfa\xb2\xf9\x76\x67\xff\x31\x1f\x7c\x0c\xab\xff\xf2\x67\x1b\x61\x76\x25\xdc\xa0\x81\x2d\xc5\x07\xba\x8c\x91\x24\xc6\x51\x25\xbc\x5b\xeb\xd1\x35\xeb\x47\xc1\x78\x87\xe1\xc9\x96\x28\x17\xec\x8b\x41\x42\xf8\x3c\x60\xf2\x91\x5c\xf4\xbc\xb3\x0b\x2a\x98\xd7\x38\x44\x58\xb3\xf4\xc6\xc3\xd9\x9a\x57\x06\x85\x22\x1d\xd5\xc1\xa6\xb5\xa1\xac\x59\x48\xe7\xfe\x5b\x0b\x81\x34\xe5\xd1\x8f\x79\x91\x9e\xda\xa1\xfc\x1a\xa9\x41\x45\x01\x5f\x45\x45\x5c\x31\xbd\x62\x98\xc6\x02\xd5\x9a\x05\x38\xa3\x22\x2f\x28\x0c\xa2\xb8\x3f\xee\xc7\x8f\x9d\xc5\xd2\xdf\x2f\x74\x16\x7f\xfe\xf8\x69\xb9\xff\x72\xff\x75\x93\x44\xf3\x9e\xcf\x1c\xf6\xe6\xd2\x7d\x36\x92\xca\x0c\x7b\x0f\x16\x5b\x73\x91\xc5\x2a\xea\xd1\xd5\x06\x56\xa7\xee\xa2\x6c\xc9\x8e\x89\x66\xd6\xc2\x28\xd8\x94\x28\x72\x56\x8d\x1f\x38\xbe\x48\x72\xa3\xa2\x0c\xe8\x48\x84\x03\x99\x57\x66\xc7\x55\x63\x18\x40\x6f\x44\x12\x21\xe8\xcd\x51\x11\x58\x40\x02\x9a\x5d\x89\x47\x8c\x53\x70\x78\x83\xf4\x00\x7e\xc1\x8a\x62\x3d\x24\x9e\x29\x72\x3e\xca\xed\xfb\x9a\x93\x28\xfb\x83\xe1\x29\x27\xe5\xdb\x6e\x51\xe1\xe3\x89\x48\xf3\x41\x80\x65\xcb\x61\x66\x57\x91\x3a\xb2\x88\x70\x98\x8b\x33\x66\xf3\x14\x81\xa9\x59\x34\xdb\x42\x03\xc2\x84\x7c\x0d\xc4\x5c\x40\xc1\xc8\x0a\xb0\x17\xf0\xb2\x00\xe0\x54\x9e\x72\xdf\x78\x84\x5b\x48\xcd\xfd\x1a\x94\x91\x5a\x7a\x06\x00\x91\x86\xab\xd0\xa1\x53\x6b\x3c\x32\x19\xab\x89\x3e\x62\x86\x67\x02\xc9\xd1\x0a\x88\x09\x4c\x57\x2d\xf8\xaf\x0a\xc6\x99\x75\xe7\x68\x71\x81\xc9\x12\x77\xb3\x2f\x9a\xb5\xae\x96\xec\xa2\x85\x9a\x5a\x6e\x23\xd6\x11\xec\x10\x9e\x7c\x97\x69\x05\x10\x80\x6a\xc8\xf3\xa0\xf7\xaa\x33\xd2\x22\x3b\xd2\x56\xa3\x63\x2c\x39\xae\x2e\x71\x7c\x1e\x7d\xda\xcf\x42\xe7\xac\x73\xf9\x22\xe3\xec\xfb\x23\x0a\x3f\x27\x03\xd1\xb9\x19\xe6\x7a\x6e\xc8\xad\x72\x9e\x5b\x86\x59\x4f\xa1\x39\x46\x45\xae\x4c\xf0\x28\x2f\x3d\x33\xd9\x04\x7f\xa5\x70\xd4\x23\xd7\xb1\x0d\xa6\xfa\x8e\xd7\x4f\x36\xf9\x21\x11\x22\x06\x08\xc0\x96\x32\xa1\x61\x7c\x76\xcd\x7c\xc4\x24\x86\x7b\x4d\xe6\x70\xaf\xca\x0e\xeb\xd5\xe4\xf5\x64\x3c\x97\x9a\x14\xae\xd4\xdd\x2a\x69\x83\xc1\xcf\x60\x92\x17\x43\x6c\x69\xc7\xf9\x3e\x58\x11\x02\xbb\x68\xe4\xfe\x61\xa1\x21\xa0\xc1\x70\xe5\x95\x1b\xc7\x05\x83\xe0\xe9\xc0\xd1\x4f\x8e\xb2\x2b\x74\x32\xf5\xd5\x03\x85\xba\x88\x80\x0c\x4b\xfc\xab\x25\x05\x8e\x95\x72\xc7\xe8\xc6\x51\x8f\x98\x30\x08\x70\xa3\xfb\x46\x4b\xb3\x7a\x08\xed\xfb\xd2\x0c\x21\xdb\x73\x13\xf1\x3b\xaa\x2b\xdb\x70\x2d\xf4\x7a\x3a\xf5\xa3\x4e\xfd\x64\x53\x5f\xc3\x3c\x0a\xd6\x83\xa4\xa0\xaa\x10\xf4\xa9\xeb\x7e\x64\x68\x8d\x58\x4f\xe8\x02\x5b\x4f\xda\x56\x23\x10\x4a\x0a\x07\x11\x0d\xc6\xba\x32\x72\x15\x88\x49\xf5\x85\x04\xc4\x12\xc4\x06\xd4\x6e\xe7\x9c\xf6\xf0\xd4\xfd\x7c\x20\xf6\x36\x54\xd4\xc3\xc3\x1f\xd3\xfd\x9b\xcf\xd3\xb7\xaf\x97\x67\x7c\xfa\xc7\xca\x78\x52\x5d\x01\xf2\x2f\x23\x5c\x50\x12\x02\x08\x07\x19\xf7\x3d\x53\x9d\x07\x2c\x80\x8e\x77\x0e\x83\x06\x27\xc7\x31\x59\x14\xce\xb7\xaf\x00\x32\x20\x40\xc6\x00\x75\x57\x69\x01\xe7\x43\xa5\xc5\x3e\xf4\xdb\xb9\x03\x6e\x3f\x03\xce\x7a\x92\x29\x4a\x01\xc9\x0a\x23\x7b\x22\x57\x85\xb6\x25\x1d\x4a\x64\x86\x1e\x6b\x25\x46\x42\xf0\xc9\xe1\xf1\x8c\x99\x0a\x52\x00\x8b\xd6\xa6\x88\x90\x40\x36\x79\x0d\xc8\xce\x64\x97\x5b\xde\xed\x29\xf4\x03\x11\xf8\xba\xc7\x01\x85\x83\x3f\x3f\x3a\x3b\x20\x0a\xff\xaa\xec\xc1\xcf\x9c\x0b\x9b\x69\xb0\x49\x4e\xe3\x18\x8e\x05\x12\xb1\xba\x02\x09\x6d\x09\xea\x28\x8c\x56\x15\x28\x81\x2d\x38\x2d\x3e\x96\xae\x21\x9c\xd9\xeb\x6a\xf5\xdc\xb2\xcb\x22\x3e\xa2\xac\x7f\x59\x98\x59\x04\x40\x5a\x7c\x6e\x8e\x5b\x5e\xec\x63\x7c\x3d\xce\xd3\xeb\x66\x86\x5f\x31\x75\x50\x99\xb0\xe8\xa5\x48\x93\x82\x53\xb7\xaa\x81\xc5\xa8\x2f\x44\xea\xbd\xe9\x66\x98\x91\x85\x45\x07\xd3\x7d\x02\x7a\x01\x50\x5f\x21\x3d\x96\xe3\xd1\xd9\x19\xeb\x95\xbb\x91\xc7\x0a\x9d\x2e\x9a\xb8\xcd\x22\x79\xc1\xfb\x59\x81\x63\xdb\x65\x4b\x84\x58\xac\x49\x13\xc6\x38\xf3\xbe\x74\x06\xf8\x52\x01\xec\x93\x6c\x84\xdf\x5f\x4b\x3f\xba\x9a\xf2\x41\xa4\xd5\x5e\x94\xa3\x83\xfc\xb3\x97\x3f\x0f\x7a\x10\xfa\x41\x7e\xc3\x67\xe8\x7b\xf9\x01\xa7\x70\xb8\x5d\x4d\xfa\xe7\xc3\xa7\xfb\x4d\x9a\xe1\xfb\x6d\xe6\xd9\x31\xa9\xbe\x96\xe6\x62\x4b\xd0\xfe\xbb\x65\xf1\xa4\xd4\x64\x9e\xa7\xc9\x13\x5c\xe9\xb1\x4e\x48\x99\x45\x55\x6b\xac\x2e\xcb\xdb\xef\x19\x78\xaf\x96\xf7\x03\x8b\x8a\x5b\x18\x1a\x5f\x35\xaf\x3b\x25\x5e\x54\xd7\x12\xe5\x68\x31\xa2\x24\xf9\xb0\xea\x23\xec\x4c\xb1\x39\x7c\x06\x05\x2b\x22\xbb\x04\x57\x30\x39\xb9\x89\x7d\xac\xdf\x1f\xcf\xb5\xab\xc7\xdd\x4e\x9e\x70\x7c\xae\x35\x65\x94\x6f\xb7\xb4\x3b\x64\x3a\xc9\x6d\x7f\xa4\xd9\x8f\xa8\xfd\x45\x43\xe0\xe0\xe5\xd2\x8b\x69\xfd\x7b\xbb\x50\x7e\x3c\x2b\x57\xb2\x2a\x2c\x33\x70\xec\xee\x17\xb3\x4a\x6a\xe7\xcb\x79\x1e\x7a\xd1\x63\xdd\x5d\x4e\x7f\xa1\xee\xfe\xee\xee\xcb\xfd\x72\x11\xf7\xf1\x7d\xbd\x41\x1e\x0d\x5f\x92\xf2\x4e\x9d\xb4\x7c\xf2\x49\xa6\x08\x0a\x4c\xcf\x6b\x41\x97\x51\x4b\x2d\x27\x8c\xdf\xd7\x5a\xea\xb3\xa2\x80\xd6\xcb\x8f\xbd\xc4\xb6\xfa\xf2\x7d\x7b\xea\x15\x2c\x3d\xec\x52\xe7\x4b\x3b\xae\x16\x30\x4c\xe3\x3d\x06\x96\xb0\x53\xc0\x08\x4f\x7d\x5a\xfb\xc0\xde\xef\xd9\x2f\x70\x09\xe5\xf8\xfd\x86\xb9\xbd\xa4\x70\x6a\xf1\x87\xd6\x0e\xde\x2a\x09\xb7\xaf\xf1\x9c\x7e\xbf\xf1\x2e\xcf\xef\xfc\x8b\xd8\xbe\xef\x37\x39\x43\xc7\xc6\xe7\x7a\x34\x08\x9f\x3f\x81\xc6\x02\xd0\x17\x3e\x9f\xff\x3f\xd3\xff\x0f\xd3\xb7\x3f\x3f\x6d\x77\xbd\x6d\xb2\xc8\x29\xc1\x6f\x70\x61\x5f\xc2\xc8\x1a\xd6\x1a\x77\xba\x95\x6f\x68\x4a\x41\xe4\x83\x9c\xb7\x5e\x22\x3b\x43\x68\xd7\x13\x11\x4f\x1c\x92\xb7\x39\x6d\x6f\x38\x24\xaf\x71\xda\x5e\x73\x48\xde\x8e\xab\x3f\x7c\xd9\x8e\xf5\x36\x9c\xfe\x68\xad\x6d\x6a\xde\xff\x4a\x71\x71\x45\x42\xfd\x9e\xe5\x2d\xfd\x75\x59\xc6\x6e\x71\x6b\x7e\x67\xa7\x3d\xf9\x0e\x17\x44\xec\x36\x78\xf5\xd4\x2e\xf1\x7b\xc6\xe0\xfe\xd3\xe1\x7e\x7a\xf8\x7c\xff\xe6\x6e\xda\xcc\xdd\xfb\xad\x2b\xfd\x34\x15\xa4\xb3\x6b\x5c\x0e\xbe\xf6\xf4\x43\x08\x1a\x72\x5d\x1a\xb5\x57\x24\xea\xf1\x0c\x64\x62\x4e\xc5\xa5\x2e\xba\x72\xca\x20\x27\x49\x0c\x6b\xd3\xa8\x3c\xd5\x0c\x4f\x6d\x41\xa1\x11\x8b\x7e\x4f\x7b\x9a\xb3\x96\xb5\x07\xe0\xa8\xe9\x49\xa9\x2d\xb8\xae\x00\x4d\xa7\x6a\x22\x55\xea\x62\xc3\xe2\xc6\xc8\xe5\x0e\xae\xd5\x13\xc8\x8d\xd9\x22\xea\xc8\xf1\xc8\x70\xb3\x68\x94\x76\x37\xfb\x58\x51\xf2\x42\xce\x27\xd4\x5f\x21\xea\x6e\xf1\x64\x7e\xb5\xf2\x3b\x81\x11\xa1\x2d\xca\x01\xa9\xa0\x57\xd5\x42\xc6\xc8\x5d\x12\x0d\x66\xef\x09\x89\x1a\x9a\xc6\xd5\xed\x14\x9c\xc1\xce\x2e\x4a\x70\x0f\x27\x5e\x19\xdc\x3a\x21\x4f\x4e\x2c\x30\x6a\x9a\x48\x14\xb2\x68\x7c\x30\xae\xd9\x25\x76\xa6\xe3\x2b\x46\xae\x28\x81\xea\x3a\xad\x0d\x94\xcf\x8e\x62\x58\x50\xd6\xee\x32\x6b\x94\x16\x96\x9e\xf9\x4d\x20\xe6\xd4\x05\x70\x5b\xd0\x4d\x1f\x3f\xfd\xf3\xfe\xfd\xc7\xcd\xba\xbd\xa7\x35\xfb\x3e\x75\xd7\x89\x0e\xbe\x77\xda\xfb\x18\xc3\x41\x0e\x62\x0c\xdf\x5f\x47\x0c\x04\xd5\x99\x14\x48\x21\x1b\xa0\x25\x1f\xd3\x09\xbb\xa6\x7b\x19\xce\x03\xbb\xd4\xd1\x73\x84\x32\x84\x9a\x94\x18\x54\x13\x07\x50\x07\x3a\x20\x94\xa2\xa6\x03\x2e\x9a\xe4\xc7\x27\x24\xbc\xed\xe0\x73\x69\x7b\x1f\xb9\x1f\x72\x84\xb5\x18\xb2\x96\xf5\x3b\x2a\x86\x0c\x26\xe6\x6e\x06\x28\x66\x89\xe6\xac\x7b\x35\x20\x33\x51\xed\xe9\x7c\x53\x02\x0b\x1a\x9c\x17\xce\x37\x3a\xf8\x9c\x23\x6e\xbd\x9b\xd9\xc5\xde\x1d\xbb\x22\xf3\x9c\x1c\x23\xb4\xe2\x52\xdb\xcb\x83\x3d\xa5\x24\x6f\xc6\xc1\x45\x25\x5a\x2c\x9a\x3d\x98\x79\x69\xe6\x6a\x51\xbb\x89\x74\xc6\xc2\x87\x55\x75\x40\xe0\xab\x93\x99\x15\x9f\x4a\xef\xfa\xf6\xe9\xfd\xc3\x66\x64\x2e\xba\x9c\xc5\x82\x54\x1b\xaf\x03\xad\x0a\xb4\x41\xb0\x4e\x61\xe0\x89\x61\xd1\x8d\xf2\x83\x40\xef\xe7\x23\x57\x57\x75\xea\x15\xd4\x52\x2b\x0c\x29\x4a\xfe\x46\x86\x5a\x33\x1e\x8d\x89\x62\x75\x28\xdc\x0d\xae\x3b\xce\xae\x03\x1f\x8b\xd5\x99\xc5\xb3\x0c\x7e\xcf\x0e\x25\x30\x94\xea\xc2\x28\x40\xe1\x35\xc5\x44\xee\x03\x84\x0f\x54\x1b\x3b\xf5\xaf\xe1\x5f\xad\x3f\x56\xca\x2b\x9c\xb7\xf8\xd3\xe3\x93\x73\x10\x08\x39\x5e\xed\x8f\x77\x9d\x7d\x6f\xc6\x2c\xa2\xa8\xa9\x8b\x16\xbf\xc1\x34\x42\xd3\x51\xbb\xf6\x57\x80\xc6\x44\xe3\xe2\xd2\xd8\x23\x39\x56\x0e\x73\xf5\xde\xc1\x2b\x91\x15\xff\x4b\xeb\x25\x31\x02\xcb\x3a\x26\xeb\x30\xd9\xc0\xdd\x5e\xa9\xf7\x7f\xdc\x6d\x92\x7d\xef\xb7\x85\xcf\xa7\x72\x5d\xa6\xdd\x91\xab\xc9\xf9\x1e\x34\x4c\xea\x15\xb7\xad\xdb\xb7\x64\xe8\x6e\x71\x50\xd4\xd6\xc9\xc7\x12\x5d\x44\xc8\x67\x83\xee\x96\xa2\x93\xc5\x60\xa0\x51\x93\x2c\x37\x24\x11\xcf\x9a\xb4\x94\x34\x97\x95\xd2\xe2\x81\xeb\x6b\x30\xd5\xea\x1e\x64\xcb\x0f\x13\x05\x2d\x58\x50\x8b\x0c\x8d\x75\x29\xf6\x69\x5e\x09\xf9\x49\x7d\xac\xb3\xe6\xfa\x59\x71\xca\x5a\x36\xa9\x6e\xb6\xa6\xc5\x4f\xac\x2c\x54\x86\x66\xa0\xf4\xf8\x6c\x40\xa9\x1a\xd8\x03\xdb\xb7\xc7\x3c\x3f\xa9\x67\x99\xfc\x28\xfb\x1b\xe0\x0e\xa8\x67\xd1\x5c\x4d\xf8\xa0\xca\xd2\x1d\xb3\x02\x53\xca\x67\x19\x01\x2d\x45\x8e\xec\x0b\x29\x04\xfa\x1c\xad\x16\x06\x00\x0c\x48\x16\x53\xe8\xee\xc5\x1c\x86\x03\xf4\xd5\x17\xfb\xa4\x60\x10\xcf\x72\x60\x78\x8e\x0a\x58\xab\xa8\xa5\xc9\x59\x8f\xc6\x84\xf0\x57\x9a\x62\x92\x3d\x0f\xe9\x8e\xf8\xc2\x51\x5a\xb4\xb7\x0d\xfe\x5d\x21\x1e\x89\x0d\xeb\x11\x3b\x78\x18\xa1\xb8\x60\x00\xd6\xc5\x3e\xe1\x53\x2f\x03\x7b\x15\xfd\x1c\x15\x09\xa3\xcd\xd1\x45\x67\xaf\x0a\xd6\xc9\x15\x20\x13\x17\x00\x88\x5e\x3f\xfb\xc2\xc5\x81\x86\xe9\x58\xea\x84\x52\x4a\x6f\xb5\x94\x47\xd0\x8c\x91\x40\xab\xee\xba\xa2\xb9\x0b\xd2\x54\x45\x95\xe4\x35\xd6\x69\x05\x5c\xaf\x06\x7a\x61\xd3\x21\x05\xc7\xad\xcd\x02\xf9\xdc\x61\xd7\xd6\x54\x4f\x5a\xa1\xbb\xf3\x1a\x76\x1c\x28\xe7\x00\x84\x5e\x91\xa1\xa3\xe1\xc4\x92\xce\xca\xd9\xfa\x58\x27\xee\x62\x13\xf8\x38\xad\x27\x99\xe8\x00\x89\x4b\x36\xf7\x5d\x8a\x46\x1a\x85\x95\x33\xc9\x5a\x91\x05\x33\x47\xcd\xe6\xd4\x45\x75\x73\x35\xbf\xbf\xfb\xba\x7f\xfb\x70\xf7\x65\x03\x09\x71\x7f\xab\x2c\x3f\xb6\x64\x88\x10\x2b\xfb\xda\x09\x47\xa2\x92\xac\x9d\x70\x15\x9d\xd2\x28\x9e\x1c\x9e\x9c\x71\xbc\x6e\xbd\xd9\x77\x18\xae\xc6\xb8\xfd\x17\x3e\x85\x42\x48\x2e\x66\x9a\x40\x7b\xdf\x78\x2e\x70\xbb\xd7\xa1\x03\x28\xb9\x1e\x77\xc5\x82\x6e\x06\xec\x19\x11\x08\x05\xbc\x2c\xd8\xf1\x1b\x6b\x2e\x25\xd6\x90\x48\x74\x9d\xdf\xb2\x1f\xb5\x41\x1f\x5f\xab\x62\x3c\xa7\xa2\xd1\xc9\xd6\x17\x4a\xc5\x71\x58\x5a\x47\xfd\x39\x15\x10\x36\x5a\x8d\x78\x65\xd7\x69\x00\x45\xfd\xe5\x9d\xad\xc9\x63\x9a\x03\x70\xf6\x9c\xdd\xaf\x7e\x50\xaa\xfc\x77\x0c\xab\x79\x1c\xd5\x22\x82\x1f\x52\xb4\x6c\xc4\x79\xba\x42\x3a\x80\x19\x4c\x8b\xbc\x56\x7a\xd7\x9c\x9c\x28\x5d\x38\x9b\xd9\x2e\x4b\x4d\x93\x1d\x01\x59\x12\xc5\x4e\x40\xb2\x6a\x59\x90\x4a\xd3\x69\x11\x69\x58\xf5\x03\x39\xc8\x48\xea\xe9\x84\xf3\x10\x09\xab\x32\x47\xd2\x13\x9c\xe4\x0f\x7f\xfe\x79\xff\x69\xb9\x68\x36\xdd\xaa\x58\x6f\xa3\x60\x1d\x18\x35\xd8\xa1\x14\xc1\x5a\x23\xe4\x0d\x38\xe4\x46\xd5\xaa\x02\x2f\x6b\xf0\x90\x58\x2b\x44\x3c\x93\x46\x37\x74\x0b\xa8\xf9\x55\x9e\x1a\xaa\x22\x26\x24\x2b\xc1\x76\x4c\xba\x3f\x57\x2d\xc8\x99\x29\xb3\x2b\x11\xaa\x24\x55\x9a\x52\x74\xb1\x4d\xa0\x7d\x44\xe2\x79\x73\x50\x49\xda\xac\x4d\xd2\x16\xa1\x41\xd2\x1e\x6d\xce\x08\xae\xaf\x0d\xc3\xe1\xf1\x77\x7f\xbc\xea\x88\xae\xa8\x71\xfe\x9a\x0c\x0c\x28\x2a\x1e\x51\x04\x72\x40\x8c\x62\xf0\x86\xa1\x52\x57\x95\xc8\x09\x5c\x01\x9a\x0c\x05\xec\x17\x70\xa2\x26\x9e\xd5\x20\x03\xee\x2e\x60\x73\xf7\xa0\xef\x34\xf8\x27\x37\x28\x18\x00\x5e\x74\x00\x18\x52\xd2\xc4\x10\xe2\x85\x45\x80\x1b\xde\xf4\x54\x5c\x5f\x94\x51\xa2\xb9\x3e\x6b\x7e\x81\x26\x8c\x44\xad\xd7\x59\xe4\x6f\xc4\xce\x51\x71\x44\x0b\x57\x97\xb1\x5b\xa1\x8e\x3c\x57\xd7\x64\x46\xc2\x50\x62\x0e\x36\xfb\x59\xa9\x5d\x6b\x72\x04\xed\x9e\x64\x29\xca\x8b\xca\x7b\xca\x6b\x22\x34\xbf\xbe\xef\xb2\xf6\xc1\xb1\x63\x9e\x33\xdd\xbe\x5e\x9c\x6f\xdb\xd0\xc5\x71\xbe\xd5\x60\xf5\x75\x08\x59\x63\x1f\x2c\xa2\x65\x2f\x9e\x4d\x89\x48\xb4\xf8\x6a\x68\x4e\x48\x8f\x1e\xd8\x21\xb9\x2d\x5a\xea\x10\x79\xea\x40\x44\x99\x50\x46\xd0\xd2\x8c\x62\x68\x57\xc4\xda\x99\x52\x72\x91\x94\x45\x3f\xcc\x55\xc9\x1d\x11\x97\xa4\x34\xeb\x33\xe5\x91\x99\x17\x7d\xa0\x3c\xaf\x2a\x16\xd7\x78\x30\x8e\x8e\xbf\x7a\x3d\xff\xbb\xb6\x9d\x5b\x98\x65\x65\x02\xdc\x0f\x2b\x05\x4a\x54\xb6\x2d\xbf\xc0\xd8\x47\xbc\x73\xf1\x76\x00\xa8\xdf\x93\xdf\xfd\xc9\x95\xc0\x8c\xc2\xac\x2c\x0a\x9b\x2d\x6b\x05\x65\xc7\x68\x3a\xf0\xb9\x0a\x92\xb7\x20\x16\xca\xde\x23\xd6\xac\xc1\xc7\x13\x5e\x1b\x14\x49\x00\x71\x0b\x20\xd0\xc1\xc0\xa0\xd9\x95\x09\xf3\x06\xd8\x65\x18\x73\xa7\xb8\xed\x72\x94\x80\xb1\x8e\x68\x3e\x67\x99\x52\xc8\x8b\x19\x00\xf1\x6c\xe5\x62\x78\x0e\x70\x23\x39\x39\x04\x65\x61\x25\xc9\x26\x23\x62\x0e\x09\xda\xb1\xbb\x9e\x9c\xbc\xb4\xbe\x29\x5e\x74\xb7\xe8\x8b\xca\x7b\x8a\xe5\xcb\x45\x41\x0d\x14\x6c\x52\x15\xa3\x94\xe4\x39\x5e\x1f\xa4\xd9\x12\x98\xdc\x5e\x9b\x82\x94\x73\xb0\x9b\xcb\x02\x4a\x86\x39\xef\x41\x53\x63\x78\x6c\x22\x70\xb4\x6c\x63\x61\x51\x4a\x15\x0b\x09\xeb\x0f\x9f\x8a\xf9\x6d\x85\x08\xa2\x9d\x89\x1a\x5d\x91\xb7\x50\xd1\xab\xe8\xf6\xac\xc9\x3f\xd2\xeb\xe8\xf4\x3e\x28\x51\x80\x7c\x20\x32\x4c\x99\xb3\x65\xff\xa1\xc8\xa8\x88\x49\xa8\x0f\x4f\x33\x21\x91\x20\x06\x38\xc5\x18\x5e\xe0\xbe\x03\x37\x79\x67\xc0\xaa\x30\xf1\x52\xaa\x63\x94\xee\xd5\xaa\x60\x0c\x62\x59\x02\x7c\x86\x14\x92\x8b\x6a\x43\x48\x8a\xe3\x11\xae\xac\xa2\x34\x42\xdd\x01\x48\xe7\xab\xe5\x89\x85\xf9\xf6\xe1\xc2\x82\xdc\x84\x88\x5a\x2f\x43\xfe\xb7\xec\x7a\x0d\x8a\xfe\xae\x6c\x49\x69\xf2\x39\x29\x49\x78\xd5\x32\x0e\xf0\x75\xb3\x96\x75\x18\x17\x8b\xe3\x01\xf1\xae\x18\x77\x5d\xc1\xeb\x91\xd1\x56\x5d\x0b\xb0\x48\x8c\xd0\x17\xd0\x46\x5a\xd8\xa0\x1c\x60\x0a\x84\x44\x46\x47\x06\x43\x4a\x56\x2e\x07\x72\x8d\xf3\x0c\x2d\x16\xa5\x02\x0b\x37\xd7\xf7\x91\xe1\x41\x84\x97\xc2\xac\x8b\xa8\x13\x04\xe2\x41\xf5\x26\x00\xbc\xc0\x15\x16\xa7\xd8\x8b\xeb\x6d\x6e\x0e\x68\xe6\x6c\x17\x83\xac\xe8\x89\x32\xfd\xe5\xfe\xcf\xbb\x8d\xf3\xf4\x7e\x1b\x9f\x7a\xe4\x77\xe4\xd6\x56\x0c\x83\x4b\xf8\x03\xc8\x77\xbe\x00\x3f\xb0\xc2\x15\x9e\xa1\x0f\x94\x03\x75\x1e\xe8\xc0\x9d\xf7\xfd\x1a\x6c\xcb\xdf\xfe\xbc\xdd\x2f\x7c\xa0\x26\x9f\x6a\xee\x29\xd2\x4a\x15\x17\x59\x5a\xd2\x2f\x23\x56\x5c\xbc\x99\x7c\xf9\xc2\xde\xe9\x5a\x86\x09\x5c\xb3\x41\x9b\xeb\x35\xad\xd5\xf7\x70\xa3\x0f\x6e\xa7\x7f\x7f\xfb\xf3\xed\x97\xfb\x69\xba\xdb\x4c\x9f\x4d\x6c\xf0\x24\x3c\x25\xfa\x57\x0d\xed\xe0\xf3\x80\xd5\x4c\x2b\x4d\xad\x98\x8c\x01\x10\x13\x5e\x99\xd9\x07\x37\xed\xb5\x98\x9a\x05\x08\x06\x47\x70\x37\x86\x60\x84\xd8\x5b\x77\xb1\x2f\xb1\xbb\xd6\x0f\xf2\xac\x08\xe6\x0b\x11\x56\xb4\xa0\xda\x79\x58\x0b\xc5\x50\x5f\xae\x94\x88\xae\xbb\x4f\x04\x29\x5a\xea\x2e\xc9\xfe\x14\x5d\x41\x32\x00\x68\xb2\x7c\x51\x57\x96\xf4\x5a\xac\x46\x4b\xd7\x2b\x48\x90\x14\x27\xca\xb2\xbc\x8c\xe1\xc8\x73\x52\x27\xa6\x18\x36\xdc\xac\xd6\x09\xf7\xe0\x6e\xfc\x57\xc5\x2a\x98\x39\x0d\x4a\x94\x36\xfb\x14\x9d\xfa\xc8\xd6\x2c\x39\xc5\xde\x5c\x8f\xec\xf1\xda\xf8\xfa\xbc\xe7\x8f\x5a\x2b\x2b\x70\x7a\xd6\xf3\xa3\x3d\xbd\x39\xf8\xa0\xf4\xf5\x03\x6b\xe5\x69\x07\x15\xf9\xce\xe8\xea\xc2\x60\x06\xb8\x5e\x66\x2b\x4b\xc3\x91\xab\x33\x52\xf2\xa3\xd3\x6c\xd7\x08\xd2\x1f\xee\x4d\xfd\x9c\x4b\x2c\xd8\xe5\xdb\x4c\x98\xa9\x5c\x35\x10\x11\x16\x4e\x96\xca\x07\x27\xad\xc6\x27\xa8\xd5\x85\xcc\x43\x91\x49\x79\xdd\xd8\x89\x4e\xae\x20\x2e\x94\x64\x12\x76\x85\x46\x45\x85\x9f\x63\x70\x6c\x7b\x3e\xf4\x2d\x5a\xc5\x0b\x02\xcf\x9f\xef\xbe\x2e\x9b\x62\xaa\xfb\x5b\x30\x15\xc0\x00\x23\x6e\xfb\x86\x02\xb0\x80\xcc\x9c\xeb\x18\x36\x8a\xf3\x4f\x79\xa0\x98\x53\x24\xb6\xba\xb1\x8b\x78\x34\x7b\x8f\x82\xde\x5b\x70\x34\x56\x45\x76\x19\x8d\x46\xae\xbe\x1a\x04\xb6\x74\x9a\x3d\x77\x03\xce\xe2\xde\x0f\x1e\xb8\x58\xd8\x29\x20\x64\x15\xb7\xeb\x82\x6c\xda\x5d\x07\x02\xa3\x12\xae\x03\x81\x5d\x86\xb1\x41\x79\xcb\x35\xc0\x2f\x98\xa7\x11\x5e\xd1\x0b\x9e\xae\xe7\x43\xdb\x4c\x1f\xff\xd8\x2f\x6f\xde\x7e\x9b\xde\x6e\xc6\x78\x1b\x96\x3f\xc6\x1c\x6b\x2c\x6e\xe4\xdb\x5d\x91\x34\xcb\xe5\x95\x01\x06\xf7\x84\x44\x44\x0a\xc5\x71\xbe\xbe\x8e\x96\x4d\x95\xba\x16\x63\xf7\xc1\x51\x06\x43\x35\xad\x9e\x01\xc3\x33\x42\xb3\x80\x0d\x9c\x46\x42\x53\x0f\x0e\x8e\xf8\x05\x29\x6a\x48\x4c\x8b\x6b\x80\xc1\x8e\xad\xfd\x40\x47\x90\x33\xfa\xf0\xde\x2f\x7a\xa3\x93\x4c\x73\xc2\x88\x88\x24\x57\xff\xb1\x71\xc2\xc7\xb8\x8c\x83\x19\xc2\x53\xec\x15\xb8\x1e\xb8\xb7\x3d\xb3\xd6\xf1\x26\x98\x25\x8e\x7b\x33\x9e\x1e\x5c\x33\xae\x8d\x71\x2e\xcd\xd5\x2e\x4f\xa0\x16\x46\x3d\x99\x75\x75\xce\x96\xd3\xcf\xa5\x69\xb9\xa9\x58\x54\x2a\x39\x5a\x1d\x59\x5f\x5d\x71\x79\x91\xe7\x5a\x5f\xe5\x39\xa9\x58\x96\x8f\xa6\xec\xfa\xc6\x1c\x53\xd2\xcc\x46\xd2\xa4\x7f\x05\xa0\x33\xe2\xc6\x8d\x90\x48\x0c\xc0\x69\xad\xd5\x95\x29\x0f\xc8\x2e\x79\x06\x12\x49\x55\x0c\x9b\x87\x2b\x29\x2a\x98\xaf\x61\x41\x6a\x22\x17\x7c\xca\x47\x09\xae\x86\x01\x56\x81\xab\x58\x1a\x88\xc4\x3d\xa4\xba\x26\xf8\xb9\x2b\x5e\x89\x35\xd4\x8e\x6d\x2c\xa2\x65\xc0\x38\xcd\xce\xf8\x6e\xd0\x4c\xd1\xf7\xab\x6b\xa0\xfd\x33\xe0\x0a\xbc\xab\x75\x81\xf6\x00\xfa\xa5\x55\xc3\xd8\x86\x6f\x3b\x44\xc7\x70\x01\xf7\xee\x34\x4c\x82\xdc\x4d\x84\x39\x13\x23\x18\xd2\xfa\x02\xf3\x07\x71\xd3\x9d\x1d\x7b\xcb\x55\x4c\xea\xb9\x43\x7d\x41\xe2\x25\x99\x70\x4e\x4f\xa8\xf5\xf7\xff\xfb\x6e\x7f\xf7\xe9\x8f\xad\x1c\xbd\x8d\x8e\xd0\xd9\xc5\xcc\xcf\x81\x7d\x88\xf5\x69\x6c\x8a\x13\xa6\x00\x0a\x93\x8f\xd4\x91\x98\xe5\xbb\x43\x79\x11\x9f\xe0\x52\x4c\x11\x6e\x87\x30\x77\xfc\xe9\xfa\x55\x64\x08\x55\xb7\xe4\xf9\x4f\x21\x58\x0c\x1c\xf6\x01\xe9\x30\x89\x8e\xe7\xbc\x35\xc1\x1b\xe3\x4e\x7f\x02\x3b\x43\xdf\xf5\x07\x21\x2e\xa4\x97\xb6\xf8\x1b\x33\xba\x45\xd3\xc2\x27\xe9\x15\xe9\x9a\x19\x4d\x42\xa3\x9e\x86\x54\x46\xd6\xc9\xf4\x70\xb7\x75\xa4\x6f\x33\x4f\x4e\xb0\x95\xb1\xd9\x84\x76\xa1\xc0\x92\x39\x1d\x62\xe6\x1b\x7b\xe0\xd3\x90\x6c\x99\x71\x9f\x5b\x67\x9d\xd6\x6a\x4e\x11\x09\x06\x99\xf5\xcd\xb5\xae\x53\x5a\x33\xc5\x4c\x2e\x66\x65\x15\x63\xb0\xcd\xa5\xef\x2f\x07\x86\xde\x3d\x0f\x19\x5a\x24\x85\xe3\x14\x16\x6a\xcd\x51\x01\x2a\x34\xe2\x2d\xb7\x50\xa1\x11\xd8\xd4\x8a\x14\xd1\x93\x9a\xd6\xdf\x44\x9a\x2b\x3d\x0b\x15\xba\x9c\xa0\x42\x47\xb5\x6e\xd9\x82\x63\x08\xe5\x5a\x9d\x43\x6c\x4f\xb9\xd5\x30\x19\xbe\x7d\xbe\x38\x15\xb6\x29\x3c\x8f\xa7\x42\x3d\xad\xb5\x9d\x64\x2c\x64\xf9\xcf\x63\x1e\xba\x6e\x28\x28\xf2\x13\xc9\x58\x29\x9c\xe0\x51\x2f\xbd\x54\x3c\x0f\x58\x9e\x98\xf9\x87\xf0\xf9\x64\x12\xca\x1d\xae\x2b\x4c\xff\x9d\x06\x17\x2c\xc9\xaf\xf7\x5f\xde\xfc\xb9\x99\x01\x1f\x6e\xf1\x29\x01\xc5\xa8\x5f\xc9\xe1\xba\x8e\x6f\xbd\x3c\xce\xc7\x13\x4d\x90\xa2\x9a\x80\x6c\x29\x31\xd4\xc3\xca\x2c\x72\x89\x57\x44\x59\x45\x10\x59\x2f\x4d\x19\x2d\x23\x2d\xd8\x94\x9b\xa6\xf0\xa0\xe8\x68\x69\xa4\x95\x69\x2c\x62\x0b\x81\x2d\x56\x7d\x41\x73\x9a\x90\x2f\x1f\x61\x3e\x41\x21\x10\xbb\x49\x94\x01\x60\xc5\x10\x19\xde\xd7\x40\x64\x33\xa8\xb5\xdd\x80\x5e\x53\x20\x36\x69\x02\x69\x02\x85\x23\xb0\x77\xcb\x74\xaa\xe1\xa0\x20\xf9\x05\xb0\xa2\x3d\x2a\xf4\x89\x18\xdb\x0c\xbf\x5a\x48\x8b\x1c\x50\x50\x85\x46\x06\x4e\xe6\xb6\x02\x4a\x9c\x66\x9c\x7b\x4b\x39\x97\x3f\x0e\xc0\xc6\x00\xf8\x4b\x07\x62\xa9\x57\xc2\x8e\x95\x26\x61\x31\xbd\x5b\x75\xf5\x11\x91\x07\x89\x0d\xbb\x4a\x87\xd6\x37\x4e\x90\xe5\x91\x2f\xe2\x89\x27\xec\x9e\xf5\x08\x64\x87\x29\x95\xba\x06\xc8\xa2\xd5\x0a\x2a\xf9\x67\x30\xdc\xb3\x25\xb8\xd4\x94\x22\x35\x69\xad\x14\xd2\xe3\x44\xb3\x0a\x33\x14\xd6\x8c\x70\x82\x2f\x41\x07\x13\xe5\x7b\x96\xa2\x85\x01\xc6\x1e\x18\x9b\xe5\x3e\x44\x12\xed\x53\xd6\xdf\x5a\x1d\xfc\x8b\x29\x54\x76\x37\x38\x54\x6e\x23\x4e\xdd\x2f\xfb\x87\xaf\xef\x1e\x3e\x6f\x34\xaa\x0f\xdb\xe2\xed\x13\xc8\x5f\x11\xb3\x1a\x7e\xfc\x29\x96\x42\x59\x64\x96\x70\x59\xd8\x66\xab\x3f\x4e\x57\x5f\xc3\xc1\xc7\x9e\x8f\x7d\x16\xe9\xa4\xcf\xe2\x28\xd5\xe3\xe3\x5f\xa3\xcf\x22\x8d\x7e\x3a\x50\x94\x1d\x1e\x69\x51\x72\x69\x1a\x10\x37\xc1\x71\x66\x94\x52\x3c\xb6\xea\x67\x45\x00\x02\xed\x7c\x15\x71\x99\xaa\x4b\x32\xc7\x90\x56\x81\xd8\xc9\x49\xe4\xf4\x24\x9e\x7a\x1a\x66\x3d\x09\xbf\x82\xdc\x24\xc0\x99\x40\xed\xe0\x53\x58\x0b\x34\x7a\xd2\xfa\x0c\x46\xb4\x3c\xe3\xb3\x22\x72\x22\xeb\x4a\x43\xaa\xa4\x88\x06\x70\x4e\xb5\x63\x62\xcf\x1a\xe6\x3d\x06\x7f\x8f\x47\xeb\xcf\x33\x22\xb2\x45\x53\x6b\xd2\x0a\xb6\xc5\xf0\x2b\x5f\xa4\x98\xd2\x0e\x31\xfa\x2a\xec\x86\x99\x77\x0b\x3a\xce\x60\x72\xe3\x33\x9b\x2f\x23\xe7\xb3\xd2\x69\x9b\xf8\x59\x56\x89\x34\x07\xa7\x42\xec\x06\x6a\xe4\xcd\xa9\xfb\xed\xe3\x72\x89\x7a\xee\xc3\x96\x85\xe3\x11\xe8\x00\x65\xbe\x44\x3d\xc7\xb2\x40\x29\xb3\xe1\x00\x43\xe0\x75\x4d\x75\xcc\xcd\x15\xb1\xbe\x8a\xa3\xdc\x0e\x3a\x61\x3b\x3b\xfd\x7b\xd1\x9f\xf7\x25\x8d\x5d\xe3\xe4\x26\x83\xa3\x51\x71\x85\xcf\x09\xe1\x9e\xc1\x07\x77\xe4\xc4\xeb\xd2\xf3\xb6\x54\x3a\x6b\x56\xaf\x3c\x1c\x8d\xf3\xa5\x80\x75\x02\x0f\x2a\x69\xd4\x20\xe2\x87\xdd\x62\xa7\xde\x0e\x97\xdc\x4f\xd3\xa5\x18\xe6\x87\x5b\x29\x69\x1d\xfa\x92\xd6\xf8\x21\x3a\x84\x10\x52\xd6\x1a\xc9\x30\x50\x24\x2d\x55\x16\x5f\x9c\x9e\xa9\x34\x9c\x34\xa0\xd7\xb2\xca\x2f\x04\x79\xf0\xaf\xf3\xea\x9f\xb3\xb5\x08\x28\xf6\xca\x6d\x00\xb7\x1a\x60\x83\x37\xc4\x06\x1f\xdb\x7e\xb0\xa3\x3d\x13\x02\x01\x39\x82\x46\x82\xaa\x90\x0f\x9a\x16\x97\xb1\x6f\x74\x72\xad\x2d\x4d\xe6\xaa\x68\x6a\x55\x53\x01\x81\xe1\x90\x83\xe3\x50\x16\xf0\xfe\xb3\xbe\x7e\x66\x70\x4d\x31\xd2\x7f\x63\xa8\x7a\xea\xec\x1b\x72\xbd\x9b\x8b\x7d\x33\xf0\xcb\xd9\x78\x6b\x31\x22\xa2\x38\xb1\xcf\xd4\xd5\x25\x16\x91\xde\x97\x9b\x59\xd6\x1e\xf7\x9f\x8d\x05\x8d\x54\x05\x2d\x01\xf0\x93\xd2\x22\xf5\x5f\xe8\xf9\x4d\xab\xe5\x45\x16\xd0\x93\xce\xab\x77\x0f\x1f\x3e\xdc\x6f\x97\xd2\x36\x7b\xe9\x44\xd3\x2e\x65\x50\x82\x19\x3e\xec\x0a\x0f\x9b\x8b\x71\xa0\xb4\x24\xb3\xb1\x21\x79\xee\x54\x39\xf9\xfe\x1a\xd8\x1f\x5a\x01\x76\x6d\xc0\x50\x9c\x17\xae\x94\xb9\x7d\x7f\x4d\x2d\x97\x67\x52\x92\x59\x6b\x6e\xac\x1d\x38\x42\x2f\x2e\xf6\x1a\x4f\x2b\x77\x76\xa3\x74\x0d\x51\x4b\xcc\xf4\x1f\xdb\x78\x3f\x3c\x3c\x6c\xd5\xda\x6d\x7e\xca\x71\xc7\x85\xe4\x4a\x95\x81\xe4\x8f\xfd\x92\xae\xec\x97\xb5\xf6\x6b\xeb\x03\x11\xdd\xed\x8c\x3f\xc8\x25\x10\xd4\xe1\x82\xa0\x3e\xe8\x03\x6f\xf9\xbd\x57\xdc\xf5\xc7\x64\x9b\xa7\xdb\xbd\xa1\xaa\xbf\xec\x3e\xbb\x1f\xbb\xd1\x90\xc4\xc9\x88\x40\xc3\x4b\x7b\x24\xd3\x05\xa3\xff\xdc\x3f\xd2\x42\x30\x0a\xa6\x9e\x1c\x73\xc1\xe6\xd7\xd3\x9e\xf3\x8b\x8b\x55\x3e\x7c\x9c\xee\xdf\x2c\xf7\xff\x7b\x31\x6d\xe9\x43\x59\x53\xc4\x53\xc1\xee\x52\x2e\x7a\xa7\x8f\xb5\x99\x2f\x43\x7e\xd7\xde\x79\x0c\x76\x3f\xe2\x7e\x67\xc8\xef\x23\xb0\x90\x82\xe8\x65\xb5\xec\xd5\x83\xa4\xe4\x31\xcc\x2e\xd1\xe4\x23\x45\x17\xb5\x86\x19\x55\xc3\x48\x01\xb3\xf1\x50\xd2\x8a\xc0\xe9\x89\x48\x06\x48\x01\x28\xc7\x02\x3a\xda\xef\x3b\x18\x75\xba\x12\xcf\xa0\x49\x11\x81\x78\x36\xe2\xa9\x46\x3b\xb6\x80\xa7\xdf\x5f\x93\x68\xf3\x28\x8c\xfd\xe9\x9b\x5d\x68\xa2\xdd\x5f\xe6\xc5\x8b\xee\xbf\x7b\xf6\x03\x6e\xee\xec\xdf\x3e\x4e\xef\x3f\x7e\xfa\x63\x33\xad\xb6\xf5\xb2\xe7\x46\x34\xfc\x1d\x6b\x00\xe8\x8a\xbf\xb4\xdc\x5a\x21\x23\xf6\xb4\x75\x20\x96\xf4\x04\x0e\x71\x6a\xe1\xb7\x3c\x7c\x07\x41\xfb\xbb\x9e\x3e\xe6\xf9\x6f\x7a\x75\x30\xdd\xfc\xb6\x61\x37\x46\xa4\xdf\x38\xec\xbf\xab\xe7\x31\xec\xbd\xf3\xef\x1c\xf6\xdf\x36\xe5\x91\xf8\xf1\xdb\xa6\xbc\x0c\xfb\xef\xea\x79\xa3\xa1\x48\xed\x77\x8e\xfb\x6f\x9b\xf3\x88\x30\xff\xb6\x39\xaf\xe8\x83\xbf\xa9\xeb\x8d\x52\xec\xb7\xbd\x3c\xf2\x5c\x7e\xef\xcb\xff\xc6\x69\x2f\x6f\x8f\xac\x9a\xd8\xd2\x01\x4a\xa6\x37\x8f\x8d\x1c\x03\x48\x92\xaf\xde\x1a\x08\xac\x57\x23\xb8\xcc\xe9\x91\xe5\x51\xd2\x55\xb0\x14\x18\xb7\x97\xc0\x52\xf4\xa2\xc7\x60\x29\xe0\x5b\x7a\x99\x59\xb1\x7f\xf8\xfa\xf9\xe3\xb2\xad\x33\xfc\xb0\xcd\xe3\xfc\xaf\xea\xf7\x5f\xd5\xef\xbf\xaa\xdf\xef\x92\x86\xbf\xef\xdd\x7f\xa7\xf6\xf5\x7b\x15\x90\xc7\x1b\x01\x40\x71\x38\x97\xe1\x28\xbc\xc8\xa4\x99\xda\x95\x84\x6c\xbb\x14\x77\xf9\xf9\x2d\x04\x1b\x74\xc8\xe5\x26\x9d\xe0\xa6\x57\x36\x99\x2b\x03\x12\x4d\xd9\x14\x4f\x6e\xb2\x7b\xc9\x5d\x6e\x53\x12\x96\x6b\x29\x0d\x87\x0e\xef\x8d\xb4\xe2\x47\x2e\x1f\xfb\x28\xf0\xa2\xb0\xf9\xbd\x78\x1f\xe5\x0b\x09\xe2\xd2\xfb\xbb\x03\x03\xee\xfc\x91\xcb\x4b\x06\xf7\x52\x1c\x86\x9b\x26\xd7\xbf\x70\xf3\xbd\xfb\xf3\xed\xb7\xe9\xee\xd3\xbb\xad\x57\x7d\x9b\x06\x7f\xf4\xaa\x9f\xa0\x62\xff\x85\x65\x9d\x57\x50\xb3\x13\x98\x8a\x37\xb0\xd9\x55\x13\x63\xae\xe0\x66\xff\x92\x66\xee\xae\x94\x9f\x22\xc6\x10\xae\x71\x31\xc8\x7e\x65\x0b\xed\x31\x31\x06\x92\xba\x2e\xe0\xea\x33\xa7\xe1\xd7\x7d\x36\xea\x3e\xb6\x45\xbe\x98\x13\x84\x84\x9f\x33\x40\x7e\x69\x90\x26\xfa\x3c\xc6\xe9\x07\x86\x5e\x4c\x96\xa3\xbd\xbb\x3a\x9f\x6f\x84\x44\x7e\x16\xf4\x1b\xde\xee\xdb\x24\xf7\x27\xce\xf5\xe8\x72\x5b\x22\xbb\x4c\x8f\xd1\xb9\x49\xb1\xb9\x07\x32\xb7\x4a\x88\xc7\x0a\x2b\xe5\x17\xa3\xfb\xfd\x79\xff\xfe\x9f\x1f\xb7\x0e\xf0\x5b\x39\xf2\xc8\x44\x48\x54\xfe\x13\xa6\xc8\xcd\xe8\x74\x2e\x67\x81\xe5\xc8\xbb\x97\x85\xa7\x23\x9c\xf0\xf6\x84\x63\x78\xba\x35\x0b\x4f\x97\xf0\x03\xe1\xe9\x12\x9e\x1d\x9e\x8e\xac\x0f\x8a\x7c\x16\x9e\x7e\x56\x74\xfa\xc3\xc7\x3f\xf6\xcb\xfd\x97\x37\xff\xdf\xfd\x76\x72\x6c\x93\xeb\x4f\x62\x94\xb2\xe6\xc0\xfb\x4b\x9a\x35\xc4\xad\x81\x46\xdd\x6b\x8e\x26\x4f\x32\x68\xce\x97\x24\xdb\xa0\x71\x4d\x44\x20\x9f\x1e\xa7\x2e\x02\xd2\x7d\x40\xf6\x1f\x8f\xec\xb7\xbd\x6e\xb3\x05\x19\x03\xa2\x09\x94\x64\x94\xc2\x4a\xec\x00\x89\x9a\xf6\xfa\x54\x06\x98\x5e\xe7\x7d\x64\x39\x15\x5c\xc7\x7a\x92\xa6\x09\x4c\x76\x68\xc8\xa4\xa2\x57\xe8\x05\x13\x2e\xdd\xf7\x32\xad\x77\x94\x11\xc3\x83\xc6\x63\xe5\x9b\x7d\x2f\xbb\x17\x34\xbd\xf4\xe9\xf8\xce\x69\xb2\xce\xb0\x0c\x56\xd6\xdc\x7b\x6e\x8e\x03\xc2\x67\x4b\x43\x82\xf8\x13\x89\x04\x5b\x22\xdc\x0f\xdb\xe4\xec\x63\xe1\x97\x4c\xfa\x92\x82\xb2\x41\x43\x89\x52\xd6\x73\x9f\xa3\xbb\xb8\x57\x58\x52\x04\x50\x06\xbb\x55\xea\xa9\x05\x2f\xfd\x24\x4d\xd6\x6f\x40\x6f\xa7\xc9\x08\xd7\xd2\xa9\x44\x72\x4d\xbe\x24\x27\xef\xcc\x08\x49\xa7\x16\xc6\x61\x2f\x38\x54\xb4\xde\x92\xa4\x47\x0e\xbe\x85\xdb\x00\xd5\xfb\x8b\xb0\xd4\x1f\xde\xff\xe3\x54\x5e\x49\xbb\x57\x48\xc8\xb3\xec\xa9\xc7\x32\xfa\x24\x91\x0a\x9a\x98\x8a\x84\x55\xe0\x3e\xff\xda\x23\xe4\xe6\x59\x80\x56\x3a\x73\x9d\x2f\x6b\x80\x55\x1e\x04\xd1\x73\xc4\x1b\x7d\xfa\xaa\xc7\x10\xd2\xbb\x7f\x07\x0c\xe9\x0f\xe1\xc3\x56\x41\xbb\x3f\x1b\xac\x5c\xcb\x91\xa8\xf8\x51\x87\x47\x0e\x3f\x32\x18\x18\x48\xe4\xeb\x5f\xfe\xfd\x48\xa6\x7c\xde\xed\xf2\xb8\x17\x8d\x09\x46\xf2\x54\x79\xfd\xb7\x1e\xac\xf7\x0f\xdf\xde\x4e\xf7\x6f\xee\x3e\xfd\x31\xdd\x5f\x42\x9f\xa5\xb0\x4d\x0c\x3e\x56\x5a\x15\xae\x8e\x8e\x95\x56\x5a\x7f\x38\x29\x6b\x69\xb0\xfc\xef\xb5\x26\xd1\xa0\xf5\x27\x9f\x4a\x71\xa9\x94\x95\x6e\x9e\x02\x50\xb4\xe5\xdf\x69\xfc\xa6\x3f\xe1\x82\x45\x2f\x9f\xec\xae\xa7\x54\xfd\x8a\xdd\xa4\xf5\x1a\x90\xb9\x3d\x4e\xe3\xe0\xfc\xc4\xef\xaf\x29\x10\xfd\xaa\xc6\xee\xfe\xea\xd6\x3e\x7b\xc8\x2e\x81\xee\x52\xd8\xe6\x99\x1e\xc7\x2c\xf7\x8c\xfd\xfb\x51\x37\x24\x60\x5a\xda\x8b\x5e\xea\x88\x1c\x9c\x75\xd3\xe3\x31\x93\x77\x90\x77\xf1\x76\x70\xf1\x24\xbd\xfc\x42\x47\xad\x0f\x7e\x34\x5e\xbd\xf6\x5f\xdb\xce\xdd\x5f\xd3\xd0\x67\x0f\xd5\x06\x39\x95\xc2\x36\xaf\x92\xf2\xaa\x85\x87\x9a\xdd\xd0\x7f\x9f\x3f\x5f\xcf\xde\xd1\x8f\x97\x7c\xd9\x80\xde\x98\xd6\xd7\x46\x0b\xad\xd5\x7a\xa1\x9f\x6a\xed\xee\x6f\x69\xee\xb3\xc7\xec\x02\x62\x2f\x85\x6d\xfe\xe6\xa3\x51\xb3\x1a\xdc\x17\x4d\xdb\x5b\x42\xf1\xea\x94\x3c\x13\x23\x26\x45\x9e\x23\x88\x6c\xbc\x28\xe4\x97\xaf\xaf\x9b\x02\xf1\xd7\xb7\xf4\xa6\x3f\xe8\xfa\xae\xb5\x49\xb3\x3c\xc1\x4c\xe7\xea\x7a\xdf\x8c\xd0\x13\x22\x79\xf9\x0d\xbb\xdb\x33\x5e\xfe\xb2\xfc\xdf\x64\x3d\x9e\x80\xae\xff\x7b\x88\xff\xa7\xdf\xfc\x82\x38\xdd\x82\x43\x3d\x5a\x98\xc7\x52\xb3\x7f\x6d\x71\xfa\xf4\xdb\x5f\x14\x4c\xdb\xf4\xb3\x47\xef\xaf\xf9\x95\xff\xca\x82\xe9\xa6\x64\xbe\xff\xfa\xcf\xe5\x61\x3b\xec\xdb\xd0\xeb\x89\xbb\x02\xc0\x08\x29\x99\x0b\xe7\x6a\xc5\x6a\x09\xe1\xb6\xcb\xbe\xc5\x9b\x55\x8a\x72\xfd\xcd\x3a\x44\xab\x82\xbe\x49\x27\x9a\x81\xb4\xe0\xa3\x11\x8f\xc3\x73\x8b\xba\xac\x45\xfe\x4e\x5a\x54\x75\xd1\xc3\x09\xf2\x92\x13\x2f\xe4\xce\xdc\x90\xea\xa4\xa3\xe2\x52\x92\x5b\xd5\x20\x77\xaa\xcd\xd0\x1e\x5e\x46\x5c\x2a\xaf\xf8\x62\x9e\x80\xe9\xee\xf3\xa5\x21\xbb\xe5\xaf\x4f\x04\xd8\xdc\x6b\x48\xea\x21\x5d\x6c\x9d\xb4\xfa\x52\xeb\x0e\x5e\xaf\xb8\x86\xd9\x1e\x5a\xb3\xac\x21\xd8\x6d\x76\xf2\xb5\x61\x0e\xed\x1a\x49\x83\x35\xec\xea\x04\x93\x2b\x6f\x4c\xb0\xef\xbb\xd7\x54\x41\x45\xca\xf0\x42\x59\x88\x27\x05\x6d\x74\x69\xd6\x66\xe4\x1d\x63\xb2\x1e\x7b\x87\x1b\x7a\xa7\x34\xc4\x87\xd4\x87\x08\x70\x86\x14\x5c\x2f\x27\xd5\x1e\x8b\x56\x89\xe0\x0e\xe0\xcd\x0e\x06\x44\x56\x16\xfd\x80\xf7\xf1\x49\xf6\xea\xed\x7e\xb3\xf5\x26\x1f\x05\xcf\x31\xfc\xf2\x53\x65\x6d\x81\x13\xa0\xb0\xcc\x1c\xbe\xd2\xcd\x2d\x3e\x51\x79\x7e\xc4\x05\xb9\x34\xbe\x72\xf9\xd5\x55\x7c\xcc\xb1\xb9\xbd\x8a\x1b\xfc\xc8\x2f\x5a\x5b\xf2\xdc\x17\x2f\xad\x3f\x1f\xde\x7e\x9c\xee\xdf\x7c\xde\x3f\x6c\x78\xfb\x29\x6c\x5c\xb8\xb5\x8c\x6c\x94\x04\x14\x39\x40\x19\x03\x43\xe3\x55\x76\x4a\x50\x07\x74\x3d\x8e\xeb\xa1\x67\x23\xc4\x7b\x35\x38\xec\x4e\x0e\x4f\xce\x38\x5e\xb7\xde\xec\xfb\xeb\x52\x15\xba\xec\xf6\xb2\x50\xd2\xa5\x1b\xe3\x75\x7b\x3d\x22\xbf\xfc\xca\x78\xa5\x86\xee\x2c\xbb\xd3\x02\xa9\xdb\x53\xff\xac\x30\xaa\x96\xb5\xec\xcc\x4a\x4c\x2f\x15\x3b\xe0\x05\x2e\x14\x3b\x0c\xc0\xda\x0d\x0a\xd9\x05\x54\xb0\xdb\x65\x44\x1f\xbf\xbc\x9b\xee\xdf\xbc\x9d\xee\x3e\x3d\x26\x03\xa6\xf0\xee\x1f\x27\xb0\x46\x44\x0d\x01\x16\xc5\xb6\xaa\xd1\xf9\x1a\x17\x3f\xc8\x96\x51\x47\x2d\x5f\x2f\xe3\x73\xfd\x65\x9c\x2b\x9f\xf6\xbd\x7c\x5d\xa3\x93\xd3\xfc\xf8\x1c\xdf\x7b\x3d\xef\xfb\x8f\x31\xba\x8e\x63\x1c\x9e\xf2\x77\xfa\x23\xad\xe7\xf3\x09\x3e\x77\x3f\xc4\xf0\x39\x7f\x7b\x58\xae\xd8\x0d\x5b\x4c\x8c\xa3\x5b\x5d\x3a\x39\xcb\x2e\x6e\x11\x42\xab\xd1\xf2\x6b\x91\x96\xcf\x0a\x19\x35\xfb\xa6\x10\xaf\x5a\xa0\x65\x85\x5c\x63\x29\x80\x0b\x76\x45\xf0\x3f\x05\xf9\x3f\x03\xff\x5f\xd1\xfb\xf7\xe5\x12\x1d\xef\xa9\x47\x73\xa3\x0e\xdc\x2c\x2c\x5f\x73\x31\xce\x0a\xc9\x11\x3d\x5b\xcb\xca\x4e\x2b\x46\x77\x1a\x18\xf8\x7f\xf0\xcd\x9f\x9e\x43\x97\xcd\xaf\x2d\x9a\xc6\xf9\x24\x52\xda\xb7\x21\xda\x42\x32\x72\x0e\x7f\xc6\xe9\xa0\x64\x0e\x83\xd3\xc1\x9f\x91\x3a\xe0\x7c\x7d\xd9\xcb\x59\x1a\xdb\xd8\x71\x49\x27\xe0\x12\x8a\x2d\x81\x7a\x62\xd6\xf0\xa4\x66\xdd\x2c\x9a\x83\x63\xb1\xda\x8b\x43\xa9\x33\xe0\x71\x99\xf1\x5e\xbe\xbe\xd8\x87\x83\xbb\x8a\xca\xee\xff\x95\x57\xbe\x59\x62\xfd\xf9\xe3\xa7\x4f\x9b\x70\x1e\xd1\x2d\xfa\x21\x80\xdb\x2a\x7f\xf2\x9a\x1a\x72\xa1\x1e\xfe\x42\xd9\x2d\x72\x49\x2e\x54\xb0\x2f\x17\x4b\xed\x4d\xcb\x1a\x58\x5b\x57\x1f\xb5\x3c\xbb\x52\xfe\xda\x73\x22\xaf\xc4\x90\xd7\x1f\xb3\xfb\xf9\xe7\x50\x66\x5e\xbb\x6e\xb3\x7b\xbf\xb4\xee\xff\xda\x53\x72\x96\xcd\x37\x5e\x55\x09\x97\x47\x6a\xe0\x72\xa6\xfc\x2d\x8f\x75\xbe\x9d\xd6\x64\x3f\xd9\x3f\xbf\xa0\x7b\x00\xa0\xa1\xf8\x7e\x17\x65\xfa\xf2\x68\x29\x2c\xb7\xb1\x05\x5e\x53\xa1\x63\x57\x00\x9a\xb2\x8c\xda\x69\xcb\x5a\x00\x00\x7a\x8f\x96\x63\x61\x84\x55\x0b\xbe\xb7\x52\x70\x4b\xb4\xb0\x2f\x16\x3b\xab\xbc\x3c\xc3\x41\x35\xa7\xcd\x4a\xa3\x9f\x22\xa4\xff\xb5\xea\xcb\x0f\x69\x2f\x5f\xee\x3f\x4f\x8f\x39\x5d\x89\x6e\x41\x34\xc0\x09\x62\x65\xc0\x84\xae\xe3\x2a\x02\x14\xe0\xf1\x8a\x5b\x8a\x56\x24\x63\x03\xf1\x51\x59\x40\x3c\xb3\x01\x8b\x9e\x62\xa7\x2a\x10\xfd\x60\x0d\x01\x07\x45\x9e\x41\x7b\xf4\x4a\xa9\xe2\x17\x36\x7b\x60\xce\xc0\xec\x71\x04\x62\x60\xf0\x51\x00\xde\x14\x19\x55\x09\x70\xe8\x00\xe7\x96\xb9\xa7\x0c\xb0\x60\xa1\x52\x7e\x00\x8a\xd1\xb0\x0e\x08\x1c\xff\x38\x02\xc3\x76\xd1\x1c\xa4\x91\xd4\x70\x15\x92\x68\x37\x89\x7a\xee\xd4\xc6\xd8\x72\x5e\x8e\xdf\xae\x72\x5e\xe2\x09\xd0\x0e\x2a\x8c\x8c\x06\x94\xfe\x10\x67\x20\xbe\x2b\x35\xbb\x8f\xf1\xb6\x95\xf6\xc7\xc7\x65\xff\xed\xed\x85\x22\x64\xa2\x6d\x1c\xe1\x3c\x85\xe3\x04\x66\x58\x6b\xe0\x1b\x2b\x99\x3e\xd0\x7a\xf1\x4d\x4c\x76\x24\x07\x29\x02\xc7\x17\xe7\x36\xe3\x11\x6a\xbc\xe8\xd7\xe3\xac\xf5\x3a\xbb\xd1\xb8\xb3\xe1\x8b\xfe\xdd\xcf\x4c\xfa\x9e\x30\xd2\x00\xff\xd3\x1d\x07\x99\x87\xad\x3a\x51\x27\x93\x41\x41\x81\x0c\x62\x06\x68\x39\xc0\x74\x33\x84\xe5\x82\x03\x80\x7d\x67\x06\x26\x8a\x9c\x09\xbc\x7a\x32\xc6\xab\xea\x7c\x4b\x8b\xdc\xd7\xb3\x6a\x1f\xad\x29\xd8\x77\x8e\x27\x48\x43\xa0\xbe\x2b\x61\x21\x28\x06\x58\x8d\x40\xaf\xdc\x53\x69\x33\xd8\xd9\xe4\xef\x8a\xdf\xf5\x67\x66\x57\xc2\x80\x9d\x8a\xec\x70\x3f\x53\x77\x92\x65\x86\x84\x6a\xa0\x02\x91\xc0\x13\xe5\x2b\x16\x9b\x41\x18\xc9\x0e\x91\xc8\xf9\x56\x76\x32\xb5\xe1\xea\xd1\x59\xae\x88\x3c\x60\xfb\xa9\x46\xc8\x54\xf5\x7d\x12\x3b\x5c\x86\x65\x64\xab\x03\xbd\x8c\x15\x5b\x01\xf9\xb1\x00\x41\x4b\xd6\x58\x43\x82\x1b\x08\xf3\x0c\x3a\xd4\x45\xe5\x6f\x07\x5d\x59\x71\x11\x14\x1a\xd5\x35\x56\x6e\x89\xaa\xb9\x06\xc5\x65\x72\x4c\x6d\xa6\xd0\xc0\x4f\x66\xa4\x32\x0b\xb5\x0e\x86\x40\x90\x02\x55\x17\x33\xa0\xe9\xa3\xfc\xd5\x00\x70\x16\x34\xc9\x29\xc8\x2c\x70\xd2\xfb\xc4\x84\xab\x62\x9f\x41\x55\x17\x64\xd1\xc9\x60\x36\xe4\x47\x00\x8c\xb3\x82\x62\x7b\xc6\x76\x42\xc5\x14\xaa\xf8\x04\xdd\xd7\x87\x87\xe9\xfd\xfd\x97\x37\xef\xa6\x87\xaf\x97\x18\x1d\x89\xb6\x48\x1b\x27\xcc\xad\x22\xfb\x45\x88\xa8\x46\xba\xd5\x06\x51\x8b\x7e\x21\x2d\xbd\x5c\x3e\xfd\x1c\xa3\xdc\xdb\xf9\x48\xea\x33\x8f\xd3\xc6\xea\x00\x1f\xeb\xc8\x02\x1c\xf8\x5a\x36\x7f\x90\xfa\x67\xca\xf2\xe5\xd4\x3f\x5c\x7d\x39\x59\x51\x1f\x78\x21\x59\x31\xec\x2e\x6e\xa2\x62\x17\xed\x4b\xfd\x91\x1c\x42\x1d\x82\x87\xcf\xf7\x9f\x2e\x8e\xc0\x16\x7c\xe3\xd4\x31\xdf\xc8\x95\x20\x3b\x47\xcc\x9a\x99\xb6\xba\x49\xb5\x23\x75\x97\x54\xc1\xaf\x2b\x42\x66\xfa\xe4\xb9\x27\x25\x93\x02\x84\x13\x60\xc1\x00\x30\x0c\xd7\x79\x56\xa1\x9c\x4f\x00\x8a\x9b\x8c\xf4\x52\xc9\xe5\x38\xc9\xb5\x72\x29\x35\x27\x9a\x61\x73\xb1\x6b\x8e\x68\x2d\x6d\x5f\xcb\x09\x9c\xd0\xa3\x01\x46\xc6\xe3\x2f\x98\x0f\xbb\x83\x6f\xd2\x8e\x5c\x5c\xa4\x3c\x27\x6c\x22\xb2\xe0\x94\x79\x46\xa4\x61\xd2\x98\x41\xe8\xd6\x3d\x80\xf1\x4a\xd8\xb5\x83\xbc\x7d\xb6\xb7\x17\x61\x8a\x9d\x88\x8a\xac\x23\xac\xfb\x14\x14\x8d\x6d\xf4\xe4\x0b\x27\xc8\xf5\xf9\x91\x53\xba\xf2\x23\x1c\xce\x9d\xe7\x9c\x80\x7e\xac\x34\xa5\x8b\xc8\xad\x1a\xc0\xec\x87\x34\x51\x02\x27\xc9\xf7\xdd\x6d\x20\xda\xcf\x77\x9f\xde\x5f\x9c\x49\xd7\x68\x5f\x6e\x13\x3a\x4f\x77\x9f\xaf\xc8\x86\x6d\xa4\xec\xc9\xfb\x7d\xfd\xf3\xe3\x05\x6d\xb2\xad\xda\xa4\x28\x04\xa9\x88\x9c\xaf\x06\x6f\x08\x06\x7a\xea\x70\x78\x8a\xec\x4f\x7a\x50\x93\x32\xdc\xa3\x10\xa0\x39\xce\x2e\x29\xa1\x57\x6c\x2e\xd2\xab\x3c\x73\x76\x0d\xdf\x38\x9f\x16\x45\x67\x8b\x0d\xd8\x81\x2d\x18\x3b\x2c\xe9\x1e\xa4\x00\x4f\xe9\x78\x8c\x43\x9c\x82\x33\xe6\x26\x36\x71\x64\x31\x09\x53\x77\x69\x01\xff\x1a\x81\xaa\x05\x0a\x98\x4e\x7e\x4b\x64\x7c\xa9\xa9\xb1\x7b\x91\xad\x21\x3b\xf4\x0f\x3e\xe8\x45\xcf\x49\x61\xd8\x4e\xc0\xc9\x94\x8d\x4c\xe9\xd2\x0c\x55\x5b\xb4\x0b\x0e\x49\xf9\x62\x17\x8f\x1f\x5d\xa6\x71\xe4\x71\x08\xd2\x14\x3d\x61\x00\x70\xcb\x75\xd8\xb9\x92\x02\x56\x8d\xc3\xe5\xe4\x84\x93\xeb\x8e\x77\x5b\x9f\x70\x7c\xea\xb1\x29\xa3\x79\xff\x12\xde\xd4\x1f\x32\x47\x3e\x7c\xb9\x10\x8a\xa6\x7e\xb6\x2e\x62\xa8\x73\x33\xae\x17\xe3\xad\xf5\xeb\x54\x04\xcf\xc3\x82\x44\xee\x06\x2c\xed\x36\x20\x93\x74\x96\xfb\x93\xa9\xed\x4f\xa7\xbc\x3f\x59\x0b\xb2\x92\x60\x09\x8c\xf5\x62\x06\x86\x57\x7f\x51\x83\xed\x6f\x8f\xc3\xda\x9a\x23\x74\x13\x67\x2b\x71\xb1\x95\x39\x56\xea\x58\xbb\x2f\x5f\x20\xbb\x1f\x9d\xb8\xff\xfe\x0b\x64\x77\xb2\x42\xfe\xbb\x40\x8e\x15\x38\xfb\xcd\xf2\xb8\x3b\x2e\x8f\xcc\x5b\x86\xf7\x53\x7f\xf6\xc5\x4a\xbc\xe5\xdc\xcf\x79\xb1\x92\xee\x67\x44\xfb\x5f\x3a\x71\x7f\x78\x85\xfc\x2d\xa2\xfd\xaf\x9b\xb8\xbb\x7f\xb7\x99\xfb\xc7\xdd\x9f\xf7\x9f\x37\x68\xe1\x44\xb7\xea\x83\x5a\xc4\x7c\x36\x8f\xfc\x85\x0a\xb1\x2b\x55\x65\x5a\x5b\x72\xb9\x3a\xec\x46\x65\x99\x85\x82\xb6\x05\x62\xd7\xca\xca\xe4\x82\x47\xb5\x63\xc8\xb9\xd8\x94\x94\xd9\x7c\x7b\x3e\xc1\xe9\xee\x87\x19\x41\x41\x8d\x94\xc2\x5f\x4d\x3c\xda\x0d\x91\x4d\x3a\x11\x5e\x3d\x90\x53\x14\x5e\xe4\x1f\xfc\x39\xa3\x6e\x4a\xbe\x8d\x00\x05\xdd\x7b\x16\x43\x86\xd4\xfa\x68\xfa\xbd\x55\x61\x28\x5f\x83\x01\x9c\xef\x16\x3f\x20\xcf\x1f\x41\x9f\x03\xf6\x4e\x4f\x1e\x4f\x59\xc6\x83\x6f\x4e\xbe\x7f\xde\xff\xdf\x25\xfe\x5f\xa2\x6d\xe5\xd3\x71\xf6\x81\xff\xb7\x1c\x2b\xa4\xcb\xf8\x5f\x89\xbf\xd6\xb8\x3f\x15\xab\xe0\x2e\xfa\xdf\xfe\x24\x4f\xc6\x53\xf9\xfe\x3a\x13\xbb\xc2\xe9\xd2\x8d\xb4\x8e\xf1\xea\x9d\x50\x85\x78\x7a\x2b\x69\x53\x6b\xe1\xe7\xdb\xa4\xf3\xf1\xd2\xdb\xed\xf6\xbe\x95\x9b\xad\x92\x9f\xcf\x6e\x56\x4b\xbb\xf6\x82\x2f\x6b\x15\x76\x99\x5f\xf2\x7a\x81\xd3\x0f\x35\x69\xb7\xb9\x55\xeb\xe5\x17\xb5\x09\xdc\x07\xbf\xa2\x9b\x94\x2d\xf9\x57\x4c\x4d\xdd\x6f\xf5\xed\x76\xbf\x60\x46\xfd\x9a\x8e\x42\x59\xb9\xdc\x69\xe4\xd8\x3e\x7f\xc5\x10\xf1\x81\x53\xb8\x79\xfb\xda\x51\x40\x78\x68\x5a\x19\x5a\x12\xca\xef\x76\x7b\x39\x1c\x19\x96\x81\xd3\x5a\x94\x77\x5d\x11\xd1\xcb\x6f\xc5\xfe\xac\x8e\xf0\x72\xe8\x14\x4f\xbc\x81\x57\x7e\xdb\x56\x9a\xee\xfe\xb8\xe8\x8f\xd8\xa6\x9d\x9c\x44\x6f\xd4\xa3\x4c\x87\x02\x36\xd1\xd2\x95\xf0\x38\x86\x22\x07\xb3\x6f\xea\xe3\x49\xd9\x21\xf9\x2d\x04\x07\x26\xdb\x96\x5c\x55\x2d\xa7\x36\x70\x05\xcf\x9e\x2a\xde\x39\x05\x30\xe9\xd7\x83\xcf\xbd\xcf\x2c\x4a\x24\x45\x97\xc0\xda\x17\xe7\x9c\xa5\xdf\xb5\x94\x0c\x7b\x09\x0c\xab\xa5\xc2\x5c\x5b\x9a\xba\xf2\xfb\xab\x3c\x21\x20\x94\xe6\x04\x8e\x62\x8d\xee\x30\xcf\xc4\x20\x8c\xeb\xd1\x75\xd6\x40\xef\x40\x9a\x00\xd5\x02\xfa\xa9\xa4\xc5\x2b\x8f\x5c\x2a\xb2\x85\x97\x73\xf2\x1d\x03\xec\xdc\x59\x36\xc7\x63\xbc\x4e\x9c\xaf\xe4\x7d\x4e\x6f\x93\x8a\xf1\xe6\x95\xf4\xf2\x90\xb7\xce\x2c\x24\x64\x94\x88\x76\x76\x6d\x2b\x18\x4a\x8d\x39\xbd\x3a\xdf\x65\xcf\x6b\xe6\x6e\x8b\x05\x85\xbf\x65\xf6\xad\x0d\x0f\x5b\xcc\x13\x28\xfd\xd2\xec\x65\xa9\xcb\x2b\x74\x90\x1e\x74\x72\x2c\x8a\x3b\x28\xf4\x67\xb8\xc0\xf1\x46\xd0\xcd\x92\x7a\x85\x54\x4d\xe3\x1d\xe2\x6b\xd2\x0d\xb8\x7e\xac\x9a\xc8\xae\x81\xab\x81\x94\xaa\x21\x97\x43\x45\x54\x3b\x66\x17\xc9\x65\x40\xd2\x33\x39\x50\x0c\x27\x45\x4d\x4e\x2e\xcb\x66\xcc\xc3\x74\xa6\x0c\x18\x7e\x52\x42\xa1\x00\x26\xa1\x05\x9f\xad\xcc\x6a\xed\x82\xee\x59\xce\x61\x6c\xd7\x60\x00\xe3\x99\x01\x3a\x1b\xc9\x51\x9d\xe5\xdf\xe2\x64\x1f\x67\x39\xf6\x2c\xa7\x39\x9f\x9f\x31\xed\xdf\xed\xef\xdf\xfd\xf3\xfe\xcb\xfd\x76\x43\xdf\xa6\xcb\x9c\x70\x88\xcb\xdb\x46\x85\x22\xd0\x8c\x1e\x74\x7f\x03\x90\x7e\x3d\x78\x6a\x79\xe6\x90\x5d\x2f\x4e\x93\x78\xc3\x77\x5c\xd3\x73\x3a\x50\x07\xd5\x22\x2b\x02\x38\x2e\x61\x99\x6f\xad\xcf\x4c\xc0\x61\xb6\x6b\xda\xf7\xe3\x22\x43\x12\x1d\x2b\x2d\xc8\x78\x52\x25\x00\x1e\xc8\xdb\x22\x30\xe1\x28\xcf\x3e\x3b\x44\xff\x1c\x55\xe3\x60\xc3\x01\x8a\xa2\x07\x2b\x1b\x29\xd7\x19\x5c\x19\xa2\xcf\x17\x0b\xd9\xc4\xec\xd4\x05\x22\x2a\x79\x5d\x8f\x64\x55\x24\x27\x73\x80\x75\x9d\xca\x18\x1d\x3c\xb3\xa8\xa7\xb3\x4e\x1b\x52\x9f\x07\x8b\x95\x57\x35\x8a\x36\x13\x48\x91\x64\xda\x52\x96\xd7\x6b\x73\xd2\x98\x6d\x47\xc0\xf5\xd1\x92\xd4\x00\x03\xb5\x83\xf4\xc3\x05\x71\x92\x10\xdf\xad\xcd\x35\x51\xa1\x0b\x22\x3b\x3e\x81\xb2\xde\xf5\xf0\x73\x4b\xfa\xc6\x8a\xde\xfd\xa7\x2e\xe9\xeb\x2b\x7a\xf7\x6f\xbc\xa4\x97\xfb\x2f\x7f\x7e\xfc\xb4\xc1\xc1\x23\xde\x26\x32\x1d\xa3\x6e\xb9\x65\x97\xf3\xbf\x5e\xb5\xd1\xa8\xed\x1a\x8b\xa3\x5c\xc7\x90\xd6\x82\xed\xa7\x21\xa4\x51\x95\xbd\x22\x53\xef\x96\x67\x90\xb5\x3d\xbc\xdf\x84\x17\x78\x5b\xc8\x7b\x82\x6b\x44\xd5\x51\xac\xff\x92\xe5\xd6\x27\x3d\xca\x41\x4c\xc9\x90\x26\x1f\xc1\xf7\xc4\xdd\x58\xbb\xc1\xbb\xaf\x39\x80\xc7\x34\x73\x44\xf8\xc4\x72\x54\x7a\xf0\xa4\xbf\x9a\x24\x45\x5e\x49\x7a\x95\x77\x93\xdc\x0a\x77\x02\x39\x23\x29\x4d\xf8\x48\x40\x97\x7b\xc0\xd4\xac\x60\x89\x4c\xc6\xea\x80\x7b\xa8\xf4\xd4\x10\x5b\x2b\xff\xe2\xd3\xf1\xc9\x2c\xa0\x37\x77\xd3\x76\x05\x3e\x45\xd6\x92\x72\x3a\xf8\xaa\x41\x69\x56\xd9\x98\xbb\x92\xb1\x67\xf5\xd1\x67\xe4\x04\x0c\x97\xe3\xf3\xb2\x68\xb8\x8b\xd8\xa8\xb2\x0c\x66\x6c\x45\xd5\xe9\x9d\x0f\xbe\x74\xe9\x9e\x8a\x90\xfe\xec\xed\x06\xe7\x35\x1f\xdf\xcf\x72\x94\x72\x53\xf9\x4c\x31\xaa\x4f\x4c\xf3\x25\xe0\xd3\x97\x19\x94\x17\xcb\x1e\x15\x79\x3f\x29\xc1\x67\x40\x04\xe0\x34\x51\x09\x72\xb6\x3b\xda\x69\x50\x01\x83\x1a\xd3\x9c\xa2\x4b\x01\xdd\x5d\x5c\x2e\x19\x92\x1d\x69\x25\x15\xa9\xc9\x04\x73\x81\x8b\xec\x27\x59\xe1\xe3\x32\xfd\x7d\x7d\xc5\x85\xe7\x44\x84\xb7\xc8\x88\xa6\x32\xcd\xd8\xa4\x45\x79\xc7\x41\x0e\xfd\x09\x02\xaa\xbb\x2f\x6f\xf6\x77\xd3\x87\x37\xf7\x7f\x7e\x5e\x36\x99\x62\x7c\x2b\xed\x88\xa8\x15\x97\x6b\x9f\x38\x57\xc7\x39\x4c\x3e\xe6\xe2\x32\x4f\x88\x1d\xcb\x9f\xc1\x01\x83\x27\x77\x17\x99\xc5\x6e\x8c\x53\xc6\xc6\x33\x45\x6c\xa5\xa5\x4d\xbe\xc8\x2e\x96\x27\x4f\xec\x0a\x6c\xc3\xd8\x5c\x03\x91\x41\x41\x70\x3e\x4d\xad\xc8\x7b\x84\x39\xeb\xb6\x58\x94\x98\xc6\x78\x61\x9b\xda\x2a\x6a\xaa\x38\xe2\xc9\xa7\x24\x92\xb5\xe8\x81\xe7\x58\x66\x5d\xa1\x3c\x32\x95\x86\xca\x14\x93\x23\xa8\x56\x05\x99\x30\xf2\x9c\x1c\xa4\xd9\xb2\x7d\xe7\x34\x2b\x5c\x10\xa6\x42\x16\x79\x91\x13\xe2\xed\xbb\x29\x07\x76\x35\x4e\xcc\xd9\xa5\x2c\x2a\xa5\x4b\x24\x76\x54\xa2\x99\x45\x1d\x90\xe7\x26\xc2\xef\x3e\xe5\x8c\xf3\x7d\x8d\x73\x12\x2b\xc9\xe5\xa4\x61\xf7\x05\xe9\x08\x72\xe7\xdb\x45\x71\x0f\xef\xee\x96\x8f\x0f\x9f\xde\xdc\x7d\xf9\xf2\xf0\x3f\x9b\x01\xda\x26\xae\x9c\xb0\x84\xa5\x40\xa2\xb1\xd6\xc9\x17\x7d\x75\xf0\xb9\xd4\xa1\xdf\xc8\xa7\xe8\xa6\x50\x60\x1c\x83\x06\x2f\x1b\xab\x09\x1b\x8d\x97\xa8\x4f\xfd\x55\x3e\xe4\x5a\x2c\xb1\x81\xd5\x97\x07\x49\x1b\xd7\x0a\x1d\xf0\x0a\x26\x97\x78\x91\x09\x1b\xa6\x41\x40\x2d\x52\xb5\x3a\xee\xae\xce\x98\xfa\x1a\x76\x40\xa4\x9f\xb4\xff\x47\x6f\x94\x61\x2c\xde\xde\xf9\xbe\x6c\x2b\x04\x79\x9b\x3b\x72\xa2\x47\x60\x72\x96\x7d\xee\xf9\x90\x7b\x56\x6f\x5d\x0c\x34\xa1\xb8\xb9\xe7\xbd\x97\x5f\x3c\x7e\xc2\x8e\x8e\x74\xc1\xa3\x3f\xf8\xd1\x9e\xfe\x08\x69\xec\xd1\xaf\xe7\xae\xe7\xb1\xe3\x03\x7f\xaa\x5d\xd4\x66\x5b\xd9\x80\x9d\xad\x8a\xee\x86\xdf\x75\x7f\x86\xa6\x76\xfc\xfa\xd4\x1f\x3d\x98\x2d\x76\x0a\xa4\xd6\x32\x4d\x9c\x8a\xe3\x54\x65\xdf\x50\x0e\x5c\xf5\x6e\xcf\x88\x2d\x98\xbf\x7b\x30\xd9\x32\x28\x96\x45\x2d\x6f\x99\xce\x40\xd2\xc6\x8d\x9f\xd4\x4b\xde\x7c\x78\xf8\xb2\xa9\x3e\xe2\x6d\x52\xc6\x11\x65\x84\x5b\x73\x17\x73\x63\x96\x47\x09\x31\xcb\x55\x3a\x43\xa3\x0f\x63\xec\x09\x3f\x73\x9b\xce\x0a\x7a\xf9\x93\xb7\x51\x9e\x16\x2b\xfd\x03\xb3\xa4\x58\x4c\x70\xb1\x54\x64\x2e\xbe\xca\xb2\xd5\xc8\x85\xd2\xe1\x0c\xc6\x4e\xb1\x1c\xaa\x26\x9e\x73\x88\x60\xae\x56\x4f\x3a\x16\x6f\x81\x62\x52\x69\xf1\x49\x19\x8f\x42\x90\x2d\x40\x7d\x2a\xd9\x8d\xdb\x2e\xe3\x49\xcf\xcd\xd3\xd6\xca\x33\x2e\x0e\xcd\xab\x01\x29\xb5\x87\x86\xa4\xa4\x04\xfa\x49\xfb\x4e\x76\x3a\x67\x77\x7e\x8a\x3a\xee\xfa\x6b\x1f\x7c\xea\x75\x37\xe7\x84\x0a\x8c\x9c\x5c\xae\xb3\x98\x26\x15\x59\x4d\x9a\x2f\x89\xdd\x35\xd2\x22\x1b\x87\xfc\x8d\x0d\x3c\x13\x3a\x57\xfe\x16\xa9\xd1\x49\x24\xff\x8f\xb7\xf0\x36\xf1\xe9\xa7\xe9\xe3\xb6\x84\x8e\xb7\x99\x40\x47\x39\x93\x62\x77\x5c\x44\xc3\x90\x07\xa0\x26\x59\xb6\xe6\xbe\x06\xa1\xc0\xd0\x2c\x3a\x46\xb0\x60\x16\xc8\x71\xe5\x6c\x30\xd3\x3c\xb9\x38\xbf\xbf\x2e\xa1\xa9\x74\x1a\x90\xb0\x8f\xe4\xcf\x72\x2a\x3e\x0c\xba\xf6\x44\x4e\x2c\xa7\xab\x58\xa1\xbe\x53\xbb\x2c\xc7\x22\x5f\xb0\x5c\x96\xa3\xc4\x41\x7e\xe0\x46\x32\xbc\xa6\x92\xda\xc8\x0a\x46\x86\x6e\x53\x5c\xa9\xc9\x13\x0a\x16\x92\x18\xcc\x32\xb1\xe3\x98\xe1\x71\x65\x70\xe5\x90\x5c\xcb\x93\x8f\x51\x8c\x67\xd1\x94\x08\x49\xba\x49\xcc\xdd\x89\x63\x77\xd4\x26\xd6\x7a\xc4\x34\xb3\xa6\x82\x62\xe9\x89\x49\x2f\x8b\xaf\xbc\xca\x93\x3c\x47\x1e\xc3\xb2\x18\x81\xa3\x58\x4f\x57\xf2\x04\x1a\x45\xae\x79\xa2\xe6\x38\x76\xb1\x9b\xe5\x41\x32\x64\x89\xa7\x88\x5c\xd2\x58\xe6\x96\xc4\x2c\x76\xf2\xc1\x20\x10\x0a\x62\xf9\x86\x94\x26\xcf\x50\xc2\xda\x6e\x42\x69\xa3\xb4\xc5\xeb\x93\x54\x48\xcc\xa2\xf7\x8d\x4c\xbe\x7a\xfa\xe2\x86\xe5\xa7\xc2\xa3\x9e\xa5\x79\x4e\x20\x77\xe4\x9a\x26\x4b\x53\x0c\xb3\x57\x8b\x5e\xd6\x68\x62\xe9\x95\xe2\xa4\x61\xbe\x25\x27\xfa\x50\x4b\x4e\x33\x94\xa5\x9b\x1b\x90\xbe\xd6\x77\x6f\xd1\xb5\x28\xdf\xb8\x16\x67\xed\x5d\x44\xa4\x5b\x9e\xa4\x73\xbd\xf4\x2e\x23\xad\x16\xfc\xac\xb9\xac\xa6\xec\xc5\x59\xb5\x99\x0d\xbb\x4b\xd3\xe1\xd2\x6c\x90\xb6\x51\x0e\xbf\x68\xc2\x52\x66\xb1\x61\xc5\x06\xfb\xcb\x96\xd8\xed\x22\xbe\xfb\xaf\xa2\x88\x6d\xa4\xc2\x16\x52\xe2\xb8\xb5\xd5\x90\x1c\x37\x11\xd4\x9a\x8b\x82\x18\x05\x1f\x77\x11\xd0\x9c\xa5\xb5\xca\x18\xf4\x8a\x8b\x9c\xc1\xed\x24\xcc\xc1\xb6\xb3\x10\xef\xe5\x4b\x52\x7e\x68\xb9\x7a\xd1\x9b\x61\xc3\x41\x68\x0d\x82\x37\xad\xd6\x72\x20\xa5\x2d\x56\xef\x7e\xce\xaa\x70\x2e\x3e\xc3\x05\x96\xa0\xbf\x0d\x26\x3b\x24\xd0\xa3\x2b\x0b\xd4\xb2\x82\x84\x03\x1c\x61\xba\x92\x01\x11\x47\xad\xcb\x6e\xfa\x90\xd1\x7e\xad\xf4\x80\x71\x8d\x9c\x37\xad\x13\x89\xf5\x55\x3e\x00\x5a\xa2\x45\x57\xc4\x36\x47\xe2\x43\x12\xc3\x56\x54\xf7\xdc\x1d\x57\x59\x67\xb9\x2c\xb2\x89\x15\x23\x0d\x86\x5f\x0f\xc9\x8f\x41\x5a\x10\x79\xf6\x45\x15\xd5\x20\x0b\xa4\x63\x7d\xc0\xa6\x22\x50\x34\x52\x56\x43\x0b\xce\x39\x38\x7e\x51\x8c\x82\x26\xb9\x36\x81\x7e\x96\x58\x4f\x82\xfd\x0c\x1d\x37\x83\x20\x98\xdb\x4c\x25\x38\x86\x7b\x43\xb6\xa5\x62\xa5\x7a\xe8\x18\x5a\x10\xd1\x6e\x62\x9f\x6b\x35\x8c\x6c\x48\x64\x25\x49\x37\x67\xcc\x1b\xae\x7d\x33\x5b\x36\x68\x16\x27\x60\x43\x29\x18\xa4\xe6\xf5\x9a\xd5\xc7\xe0\x1d\x4f\x14\x35\x2a\xac\xe7\x4b\x0a\x21\x63\xbb\x5c\x47\x2b\x06\xc0\xc5\x12\x5b\xd5\xa8\x0d\x59\xf9\x1a\xf1\xf7\x5e\x97\xeb\xa5\x46\x74\x60\x31\x3f\x6a\xc5\x0f\x90\xf8\xdd\xff\xef\xbb\xe9\xee\xcf\xbb\x8b\x4b\x74\x83\x39\x71\x82\x71\x44\x8a\x3d\x30\x94\xfa\x97\xb4\x5d\x2f\x79\x5e\xd3\x5f\xe7\xa4\xbd\x04\x2f\xb1\xaf\xa5\x01\x15\x57\x1e\xc7\xf0\x4f\xe8\x03\x5f\x5d\x7a\xe4\x2b\x7d\x28\xce\x4b\xea\x66\xb6\xeb\xe5\xd9\x15\xdf\x2e\x09\x51\x84\x7e\x02\x37\xa9\x6c\xa4\x7d\x51\xaf\xfb\x13\xdd\xf7\xf5\xdb\xe7\xfb\x2f\x5f\xdf\x7d\xf9\xf8\x79\x13\x71\xe4\xb7\x23\x03\xad\xf5\xea\xa8\xd4\x83\xa7\x52\x65\xe1\x37\xb5\xee\x59\x8c\x7e\x16\xeb\x6f\xf6\xcd\xc1\x35\xee\x98\xf6\x3e\x2a\xf0\x2f\x3c\x75\xce\x43\x04\x29\xea\xe4\x22\x5f\x16\x98\xee\x41\x79\x57\x61\x2b\xcb\xfe\x97\xb1\xae\x83\xf4\x40\x3b\xc8\x63\x14\x96\x57\x6c\x48\x9a\x40\xb9\xcf\x95\xf7\x9e\x62\x3d\x50\x69\x7b\xae\x65\xa2\x08\xdf\x47\x9b\x45\x70\x60\x0f\x4a\x3c\x37\xf8\x73\xb0\xcd\xed\xe3\x1c\x1d\xfe\x60\x9a\xc4\x68\xe7\x09\xa5\x39\xdc\xf6\x9c\xf1\x32\xc0\xfb\xcd\x13\x02\xa1\x9e\x4b\x9d\xb0\x61\x72\x2f\x7b\x0a\xfd\xfb\xee\x35\xe5\x98\x5c\x13\xb3\x88\x83\xd8\xc1\x94\x26\x2f\x9b\xff\x2c\xcf\x13\x05\xdd\x25\x30\xbe\xab\x52\x4b\x75\x29\xd9\xb5\x02\x68\x4d\x57\xf0\x6f\x46\xa2\x7b\x76\x39\x89\x82\x0e\x6b\x07\x7a\xbe\x28\xf5\x85\x55\x41\x36\x8f\xe5\xec\x33\x34\x22\xf5\x82\x29\x2e\xbc\xbc\x08\x94\x13\xe9\xf1\x90\x5d\x07\xb6\x77\xac\xae\x44\x57\xb0\xe5\x83\x1b\xbb\xb9\x92\x67\x22\x48\xaf\xda\x4c\xd8\x2b\x63\x7a\x53\x8b\x00\x3b\x67\x5a\xd3\xc6\x0a\x8f\xbd\xa1\x69\xd5\x84\x96\xd8\x89\x5a\x80\xa4\x6d\x2d\xb6\x1c\x0e\x17\xcc\xd3\x12\xf7\x1c\xf9\x00\x4a\xe5\xa7\x28\xa2\xdf\x5e\x99\x50\xef\xfe\x3b\xa1\x60\x8d\x84\xd3\x09\x95\x30\xa1\x22\xe4\x46\xfc\xdd\x13\x2a\x3c\x77\x42\x95\x62\x9c\xfe\x9e\xd4\x9b\xa6\xba\xf3\xe2\x3b\xec\x55\x6d\x8a\x18\xb9\x25\x2e\x50\x30\x6a\xdc\x3d\x77\x02\xbd\xe1\x16\x37\x73\x67\x9b\xfe\x70\x92\x50\x08\x66\xad\x06\x45\x1e\x3b\x5f\x15\x9d\x5f\xd5\xfa\x96\xf6\x15\xa6\x79\x0f\x5d\xd4\x66\x2b\x37\x49\xce\xec\xea\x93\x19\x9e\x5f\xe5\xc9\x2b\x3d\x49\xe0\xa4\xd5\x78\x62\x66\xcb\x37\x49\xef\x8a\x2f\xcd\xa4\x75\x0c\x3f\x30\xea\xec\x32\xfa\x9b\xb2\x13\x4d\x1b\x21\x5b\x02\x23\xb5\x55\x2f\x4f\x4a\x2d\xc2\x69\x8e\xcd\x25\xd1\xb9\x5d\x42\xbb\x66\xdc\x4e\x6d\x7c\xdc\x0e\x77\xf3\x72\xbb\x9b\x5d\xf4\xf9\xdb\xf7\xef\xd3\xfd\x9b\xcf\x1f\xef\x37\x4c\x17\xc4\xb7\xb0\x25\x34\x88\xad\xd5\xd7\x4d\xec\x2c\x1d\xc3\x88\x8a\x40\x85\xee\x59\x4b\x2a\x2b\x2a\x08\x11\x7c\x16\x93\xbc\x19\xe6\x8f\x1c\x54\xc2\x0f\xb3\xd7\x49\xa2\x8c\xf5\xa4\x5b\xa9\xd8\x6c\x05\xca\xd9\x02\x7f\x1f\x89\x1a\xb1\x3a\x10\x45\x5b\x9b\xe1\xc4\x15\x6d\xbc\xea\x0c\x82\xd3\xd1\x74\x57\x28\xa7\xbd\xc1\x6d\x5e\xb4\xb4\x33\x44\x2d\x1a\x16\xab\xb0\x29\xc4\x59\xac\xba\x03\x56\x5a\x62\x53\x70\x22\xf9\xb4\x5d\x4f\x5a\x3e\x07\x57\x3b\xb4\x62\xbc\x98\xa8\xa6\x31\x63\x77\x84\x39\x05\xbb\x24\xea\x36\x8b\xf7\x53\x1d\x0f\x06\x5a\x44\x2d\x52\x8b\x4b\x8c\x1a\xb8\x96\xbb\x6b\xe7\x44\xbc\x93\x48\xc9\xd9\x10\xa4\xa1\x26\x76\xad\xe9\xd1\x9c\x00\xf3\xb0\x76\xd5\x8d\x93\xac\x46\x31\x4f\x58\x8d\x56\x97\x4c\xbf\x16\x29\x15\x1d\x8b\x6c\x93\x8e\x71\x34\x7b\x55\x5d\x1d\x29\x36\x10\x3b\xaf\xdd\xec\x44\xdc\x2d\xd2\x67\x79\x61\xb2\xbf\x67\xa4\x48\x72\x72\xf2\x04\xbf\xe2\x93\x50\x75\x31\xcf\x49\x26\x98\x4b\xc5\xb5\x0e\x35\x0b\x59\x95\x2e\x63\xc2\xe2\x4d\x72\xb4\x03\xbc\x9c\xfc\xd8\xa2\xa8\xeb\xec\xb2\x2c\x13\xad\x34\x4b\x4e\x7a\x67\x20\x58\x24\x9d\x2d\x0b\xec\x0c\x36\xa4\xb9\x34\x0a\xb6\x15\x8b\x0e\x6b\x26\x77\xfb\xb4\xdc\x22\x5d\x68\xd8\x86\x2a\xd4\xfc\x16\x47\x82\xb1\x0c\xeb\x5c\x12\x00\x38\xc4\x6a\x5c\xa8\x44\x47\xf5\xe0\x59\xd5\x24\xa7\x82\xde\x26\xa1\x16\x16\x6b\x10\x10\x7e\x20\x54\xf6\x59\x37\x48\x4f\x9b\xf3\xcb\x86\x61\x07\x27\x19\x3a\x41\x3e\x66\xcc\xc0\x1c\x34\xfd\x22\x47\x87\xd0\x91\xbc\xbf\x1e\x35\x19\x76\x2b\xe4\x55\x03\x28\xf7\xc5\x54\xb3\xf4\x04\xce\xd6\xc7\x77\x5f\x1e\x2e\xa2\x6c\xc5\x6d\xb0\xfb\x04\x70\x11\x69\x7a\xf1\x44\xf5\x47\x4d\x98\xca\x80\xa8\x30\xdf\xb1\xe8\x0a\x6d\x62\x52\x79\x8a\x7c\x45\xd3\x5c\x7e\xa8\x2e\x80\x73\x39\x90\x98\x59\x4c\xd5\x31\x8a\x26\xa1\x4f\x8e\x5a\x41\x58\x61\xd2\x90\x8b\x56\xc3\xe3\x5a\xf8\x91\x69\xdd\xb2\x23\x2b\xb2\x21\xac\x4c\x2a\xba\xb4\x09\x15\x61\xf8\x0b\x7f\x2c\x7a\x1a\xbe\x79\xc6\x13\x8c\xa2\x09\x69\x1b\x96\xa5\x4c\x91\x9d\xef\xc8\x2f\x2b\x8b\x7a\x54\x7b\xd2\x03\xf9\x54\x8e\xf0\x83\x9e\xbc\x21\x0d\x5f\xc6\xf9\x76\x83\x67\x8e\xf1\x9b\x87\x0f\x1f\x36\xe3\xbc\x0d\xc3\x1f\x23\x32\x5c\xc9\x65\xa8\x1d\xc0\x37\x08\x34\x8b\x24\xc3\x02\x48\xec\x98\xd2\x4b\x7a\x37\xab\x74\x22\x8a\xdf\x5f\x53\x94\xae\x26\x04\x97\x61\xb6\x16\x3a\x8e\xc2\xa5\x9e\x99\x7d\x36\x7b\xba\x23\x14\xd9\xe1\xa8\x9d\x45\x45\xc8\xe4\x38\x40\xe9\x9b\x65\x00\x83\xfb\xf1\x71\x42\x1b\x76\xbf\x77\x42\x13\x67\x40\xca\x71\xcc\xae\xd1\xe4\x39\xc3\x61\x9e\xae\x06\xf0\x1b\xbb\xc6\x17\x63\xf3\xc4\x11\x9b\x48\xba\x14\x9f\x17\xa5\xb9\xf1\x79\x74\x7e\x77\x92\xdb\x10\x82\xb4\x83\x91\xb2\x40\xa2\x18\xd1\xb5\xd9\x38\xd2\xb7\x14\x97\x5f\xb6\x32\x5b\x36\xf9\x76\x16\xfc\xd7\xfd\xc7\xfb\x69\x93\x32\x17\xb7\x31\x7e\x6e\x6b\x65\x75\x68\x8a\x53\x56\x52\x00\xbf\xda\x41\xe6\x53\x05\x49\x40\x89\x8e\x29\x3a\xf9\x53\xfa\x4e\x54\x59\xf9\x8c\x20\x9d\x01\x8d\x06\x6c\x7e\x51\x5e\x02\xdc\xa5\xba\x8f\x68\x70\x7c\x81\x93\x97\x72\x58\x00\xaf\x60\x7e\x13\x4f\x5c\x56\xdb\x03\x75\xaf\xba\x59\xb4\x7e\x2c\xd4\x4b\x9a\x76\x11\x14\x4d\xa4\xa8\x89\x5c\xe0\xda\xd7\x2c\xe3\xea\xf4\x1c\x0e\x76\xa1\x55\xfb\x31\xb9\x7a\xf2\x10\x7d\x06\x35\xdb\xc4\x3c\xa4\x7a\xd8\xd9\x6e\x87\x46\x1e\xb4\xed\xbf\x80\x39\xe9\xdd\xdd\x74\xff\xe9\xfd\xdd\x97\xcb\x61\xf4\x78\x33\x8c\xae\x9e\xbc\xb6\x17\x39\x61\xec\xfc\x38\x84\xf2\x69\xde\x95\xd0\x9a\xb1\xa6\x3d\xae\x85\x29\x57\x88\x92\xf4\xec\xc7\x15\x2d\xe5\x02\x31\x16\x86\xf2\xaf\x7c\x00\x40\xbd\x56\xd6\xa3\xdd\x35\x78\x44\x79\xe9\xcb\xf8\x88\x9a\x41\xf8\x08\x1f\x71\x65\xd6\xdb\x20\x64\x96\x74\x05\xdd\xb5\x2b\xbf\xec\xcb\xaf\x12\x49\xf7\x42\x2c\xc6\x0f\x1f\xbf\xdc\xbf\xb9\xff\xdf\xe5\xe3\xa7\x3f\xbe\x7d\xfc\xba\xdf\xc2\x78\xc5\x5b\xa1\xfb\xe1\x52\xfb\x59\x24\x54\x70\xf8\x01\x4d\x78\xb8\xe0\x87\x03\x5a\xab\x60\xab\x1a\xcb\x70\x64\xc8\xa7\xa3\x49\xa4\x80\xeb\xea\x5b\x67\xe0\x25\x10\x2d\xbe\x3a\x0e\x83\x64\x31\xf0\x4c\xa4\xae\x62\x6a\xba\xe4\x89\x0c\xb8\x85\x43\x04\x49\xcf\x4b\xfd\x97\x2d\x28\xae\x4b\x28\xb0\x5e\x1d\x21\x7d\x93\x8a\x12\x07\x41\xef\x20\xda\x7b\x11\xe8\xca\x29\x44\xb4\x82\x8e\x76\x32\x8d\x1c\xc6\x68\x51\x03\x21\xe8\x77\xaa\xbd\xa8\xcf\x63\x9b\xfb\x60\x5e\xf7\xee\x2a\x92\x42\xe0\xdd\xc6\xfe\x56\x97\x08\xc1\x32\x8b\x1c\x71\x04\x32\x95\xa2\x89\xa3\xb8\x67\x91\xdb\xd7\xb0\xb4\xec\x4a\x5d\xe0\xcb\x46\x06\x10\xd2\x87\x12\xab\xdb\xf9\xd2\x34\x7b\x8c\xe0\x85\xd5\x00\x5b\x48\x79\xb0\x62\xc0\x96\x40\x4e\x3a\x7c\x41\xe7\x4f\x36\x20\xd1\xc9\xb7\x34\x5b\x06\xa7\x8c\x9a\xf2\x02\xea\x78\xde\xce\x00\x7b\x78\xf7\xcf\x2d\x16\x6f\xbc\x95\x38\xa1\x64\x65\xbf\x20\x14\x8e\xe5\x1f\x15\x46\x9e\x01\x94\xa3\x99\xaf\x51\xb3\xa7\xb2\xa2\x48\x49\x8f\xce\xb0\x44\xdb\x00\xf1\xa1\x5a\x34\x61\x2b\xd6\x8e\x60\xf9\xa8\x13\xe1\x32\x69\xb2\x35\x32\x27\x2a\x0a\xc5\x81\x7a\xbd\x3a\xfd\xa3\xeb\x46\x2c\xa5\x2e\xff\xe4\x7c\x73\x91\x27\x78\x7b\xe4\xae\x8d\x1c\x43\x1b\xa8\x62\xb5\x65\x80\x5b\x69\x2c\x89\x76\xa7\xc1\xae\xe3\x5d\x2a\x52\xb4\xb2\x8b\x1d\x3c\x5d\xb1\xa9\x16\xa0\x1e\x9a\x32\xc5\xda\x1d\x87\x59\xd4\x52\x4a\x8e\x6a\x01\x66\x03\xb5\x06\x64\x9b\x98\x9b\xe3\xdc\x96\x14\xc9\x55\x32\x11\xa9\x1e\x82\x85\x0c\xd0\xf6\xb6\xd2\x79\xf7\xbf\xef\xde\x6f\x1c\xdb\xf1\x1a\xd6\x85\xa2\xa6\xa4\xec\x6a\x89\x1a\xfd\xf0\xb5\xc4\xbd\x8f\x31\x4d\x54\x9b\x33\xf0\x62\xc4\xc2\xb3\x6b\x0d\x89\x69\x51\x43\xb3\x31\xee\x3d\x95\x3e\x69\xf9\x6b\xcf\x76\x99\xfc\x85\x3f\xb8\x95\x2b\xbf\x4d\x9e\xc4\x9a\xe2\xba\x27\xae\x65\x16\x25\x57\xd4\x18\xdd\xdc\xb1\x9e\x93\xd9\xf9\x62\x34\x16\x99\xc2\xd1\x69\x9e\x7e\x7b\x95\x17\x8c\xfb\x53\x0e\x8f\x77\xfb\xfb\xc3\x97\x87\x4f\xa0\xf9\xba\x08\xcb\x1a\xeb\x70\x2e\xc2\xd1\x93\x68\x12\x75\x0a\x42\x0b\x59\x76\x26\x4b\x35\xcb\xce\xc7\x50\x5d\x0c\x75\xb2\xcf\x8b\xe7\x8c\xeb\x47\x9a\xde\x99\x18\x9e\x7c\x12\x85\x32\x41\xa1\xbc\x94\xae\x38\xad\xbf\xaf\x29\x7e\x47\x41\xfd\x8b\x2b\xd5\x77\x7f\x63\xc1\xef\xd9\x40\x5c\xc4\x36\x8d\x2b\xe0\x49\x95\xd5\x93\x08\x5d\x61\x3d\xb1\xe9\xe5\xf1\xdb\x95\x5e\x96\x41\xf0\x63\x14\x2e\xf4\xb2\x0c\xa0\x8c\xa6\x0e\xa9\xfc\x73\xed\xcc\xf5\x4e\xff\xc1\xe3\xb1\x25\xbc\x88\x27\x28\x1b\x45\xa4\x58\xbd\xb9\x2e\x9e\x18\x8d\xa7\xe6\xfc\xad\x3e\x9e\x4e\xd7\x9c\xb7\x45\xf7\x9f\x3a\x10\x97\xb8\x37\xe2\x8a\xe8\xd0\x28\x3a\x8e\xf5\xe6\xba\x78\x42\xfa\x9c\xcf\xfb\x31\xed\x7f\x60\x01\xfd\x87\x8a\xa9\xfd\xf2\xe7\x94\x37\x23\xb0\x45\x25\x38\x49\x9b\xa5\x18\x5c\x8f\x7d\xa2\xe2\xa8\xe6\xbd\x6f\x2d\x4d\xa2\xae\xe5\x98\xf6\x85\x40\x5a\x8a\xf0\xd0\xe4\x09\xfe\x12\xd9\xf7\x7a\x71\xf8\x14\x5d\x23\xec\x3d\xd5\x3c\xe1\xac\xda\x26\x2d\x65\x0f\x61\x9f\x0e\x34\xc5\xdc\x5d\xef\xc8\xf2\x4f\x88\xcc\x23\x44\x05\x7a\xe0\x52\xd3\xf7\xd7\xa2\x51\x04\xb5\x05\x27\x4d\xfe\xa3\x14\xdb\xe4\x73\x45\xc2\x34\xcb\x51\x72\xf4\x44\x3d\xfc\xbb\xaf\x5f\x37\x81\x93\xb8\xad\x85\x3f\xea\x0a\x5c\xb3\x3d\x38\x87\x3c\x79\x06\x62\x57\x8c\x71\xf2\x2d\x58\x04\xcb\x97\xde\x9c\x1c\x54\x72\x31\x97\x3d\xf7\x3a\x89\xea\xec\x29\xd5\x29\xc1\xb1\x5c\x68\x4a\x4d\xb4\x21\x9a\x4a\x73\x31\x02\xaa\x21\xb4\x49\x94\x9f\x2e\x4a\x41\xe8\x13\x20\x74\x48\x7f\x78\x82\xbb\xe6\xdd\xfe\x61\x6b\x35\xdd\xaa\x7e\xed\x65\x2d\x37\xfb\x29\xab\xa9\x76\x76\x51\xec\x55\xab\x4f\xc6\x48\x8a\x1e\xaa\x85\x03\x6c\x26\xd4\xb9\xb6\xd9\xa3\x43\x49\x07\x96\x4f\x92\xb9\xa9\xd9\xcd\x3c\x22\x16\x98\xbb\xf0\x78\xdb\x1f\x7a\xac\xa7\xe1\x2c\xdc\xc4\xcb\x5d\xfa\x31\xad\xc9\x4c\x33\x62\x64\x68\x07\x14\x27\x04\x17\xc3\x21\x2a\x8b\xf5\x59\x2a\xb0\x34\x58\xab\xb7\xb0\x4e\x67\xad\xeb\xf2\x30\x77\x26\xd4\xfb\xca\x3f\x73\xa9\x28\xe4\x33\xd5\x4c\xd1\x2d\x95\xa4\xd5\x37\xa5\xf4\xaf\x96\xcc\xfc\xdc\xb4\x11\x80\x75\x94\x38\xfb\xdc\x34\xf4\x15\x81\x3e\x86\xec\x23\x62\x8d\x15\x8a\x71\xa7\xb8\xda\x8b\xa1\x6c\x0f\xd8\x75\x43\x5d\x97\xbe\xae\xa3\x54\x90\x11\x4d\x44\x87\xa0\xb4\x82\x4a\x44\xa6\xf3\x89\x67\x66\xf7\x1c\x94\x77\x64\xd4\x94\x54\x67\x4a\xa2\xa1\x2b\xf3\xac\x6b\xac\x08\x95\x88\x01\xc4\x57\xd6\x39\x14\x34\x95\x09\x94\x3a\x2e\x02\x13\x0d\x7d\xc9\x01\x5d\xfb\xa2\x64\xe8\x6f\x9f\xa6\x87\x77\xff\xbc\x54\xc2\x1d\xb7\x81\xb9\x53\xf2\xa5\x5c\x90\xde\x71\x89\xf5\xd9\xd8\xb8\xcc\x1e\xf3\x65\xb5\xc4\xac\xda\xec\x02\xea\xa0\x5e\xf2\x88\x55\x3a\x0e\x12\xdb\xa3\x8b\xfe\xd4\x43\xaf\xbe\xde\x53\x6f\xfd\x72\xea\xc7\xbf\x05\xa8\xbf\x9d\x30\x36\xf2\xc6\x82\x7e\x64\x45\x7f\x8c\xb9\xbf\x53\x62\xd6\xfa\x44\x6e\xee\xdb\x6f\xd3\xf4\xf5\xfe\xff\x36\x01\x96\x14\x56\x05\x07\xe0\x10\x96\x70\xf7\x1c\x66\xf6\xe5\xe6\xac\x34\x14\x05\x03\x13\x42\x80\xf0\x48\x61\xbc\x9c\x93\x1b\xdb\x22\x3a\xa3\x3a\xd6\x2f\x97\xb3\x3f\xce\xce\x3b\xbd\xc3\xc9\xad\x07\xa2\x84\x6d\xba\x97\x51\x58\x96\xa7\x51\x55\x96\x2d\x96\xca\x7f\xe1\x91\xfe\x6e\x78\xa4\xfb\x69\xfa\xf8\xf9\xeb\xc7\xaf\x6f\xb0\xec\x1f\x3e\x2d\xdb\x72\xd8\x74\x2b\x72\x04\x60\x98\x10\xd6\x14\xbb\x4b\x12\x00\x02\xfb\x82\x04\xd0\x4b\x1e\x49\x00\xf9\x72\x2b\x61\x0c\x0e\xe5\xef\x78\x90\xe2\x89\x3c\xfd\xa4\xdd\x4f\x3f\xea\x59\xe3\x72\xb8\xff\xb2\x7c\x7c\x77\x61\x54\x36\xe1\x93\xd8\xd2\xc9\xa0\x20\x77\xf0\xaf\xee\xab\xbf\x6d\xf4\x81\x71\x10\x89\x7f\xef\xa0\xbc\x89\x61\xa3\xbe\xa6\xf8\x8f\xd3\x8c\xcd\x5c\xfe\x62\x04\xac\x56\xa2\xa8\xd9\x70\x1f\x32\x1c\xb4\x15\x39\x2f\x5a\xcd\x82\x0f\x87\xaf\xe0\x2d\x24\xcd\x3c\xe8\x23\xde\x77\x12\x7c\x75\xa6\x05\x5a\xc2\x06\x85\x99\xb2\x26\x60\x71\x41\x02\x05\x2d\x88\x84\x71\x49\x33\x80\x60\x35\x76\x88\x5d\x82\x9d\x6f\xca\xb8\xbf\x33\xee\x2a\x44\x1c\xbb\xe3\x24\xbb\x43\xaa\xa2\x6b\xcf\x3e\xa3\x90\xc6\xe7\x22\x6a\xb6\x4a\x63\x88\xb0\x12\x44\x48\x8b\x0c\x45\x69\x8c\xc8\x7a\xad\x92\x41\xba\x0d\xf2\xe7\xb5\xe9\x86\x36\x60\xf1\xd0\xed\x2b\x74\x7d\x01\xd8\x31\x33\xe4\x77\x75\x11\x16\x09\xe9\x6e\xa6\xef\x58\x21\xe9\x49\x15\x85\xda\x4e\x5f\x47\xaf\x36\x48\xb5\xf5\x4d\x66\x22\xd7\x9d\x85\x89\xfe\xfd\x08\xd1\x3f\x4f\x77\xff\x07\x33\x7f\x33\x59\xd3\x19\xd9\x56\x0a\x6d\x96\xcd\x2a\xb8\xa7\x77\x91\xe5\xef\xda\xd1\x4c\xad\xc9\x2d\xcf\x51\xe1\xad\xd9\x65\x40\x90\xb8\x9c\x27\x9f\x53\x42\x29\x8f\x8f\x04\x6f\x42\x49\x8e\x50\x12\xeb\x0d\x84\xc2\x67\x40\x1f\x28\xb6\x47\x75\xfa\xcd\x6e\x06\xc0\x34\xfe\x6a\x33\xea\x72\x23\xbb\xdb\x35\xc8\xcb\xc7\x4b\xb1\x89\xb4\x8d\x4d\x9c\xb8\xb6\xad\xbc\x2e\x4d\x51\x33\xfe\x8b\xd8\xc5\xd2\x82\xca\x93\xfc\x29\xda\xec\x77\xb8\x57\x28\xe4\xa9\x50\x73\x85\xda\x65\x07\x70\x61\x51\x96\x00\x10\x0e\x6c\x70\x51\x05\x4d\xa5\x6d\x93\x97\x4b\xe5\x9f\xab\x6e\x47\xd1\xad\xe4\x7a\x04\xb9\x9b\x1a\x26\x0d\x46\x91\xec\x71\x35\xb0\xab\x89\x27\xdf\x83\x98\x5c\xa1\x59\x7a\x58\x75\xab\x88\x5a\xe5\x96\xd8\xfb\xc5\x11\x97\x39\x17\xa7\xff\xa1\x6e\x4f\x3f\x77\xc7\xba\x3d\xab\x64\x9b\x34\xb5\x81\x0b\xee\x69\xb7\x35\x31\x87\xcf\x49\x1e\xda\x43\x99\xf5\x67\x7b\xcc\x2a\xf9\x26\x42\xfd\x04\xe7\x19\x59\xc1\xe3\x7f\xa3\x6e\xf1\xa3\x74\xce\xe7\x51\x42\x37\x11\x94\x7e\x06\x1e\xee\x78\xa6\x8a\xde\x71\xf4\x44\xe2\xcc\xa7\x6f\x5f\xd5\x2d\x76\xc1\x28\x4a\xe5\x1f\xc7\x88\x78\x40\x52\xc2\x65\x2a\xc8\x3d\x70\xbb\x8e\x86\xc6\x89\x55\x7f\x6a\x08\x9e\x19\xf8\x8a\x2c\x68\x96\xe3\x89\xa5\x7f\x26\x73\x7e\xa3\xc8\xd9\x3d\x5b\xe6\x00\x1a\xe9\x0d\xba\x72\xd3\x83\xdb\xfa\xc4\x53\xaf\x56\x66\x57\xe3\x0d\xb8\x12\xe5\xc3\x7c\x1a\xae\x04\xb1\xa3\x6d\xb5\x97\x0c\x9a\x28\x43\x4a\x7e\x6b\xdc\x46\x2b\xb5\x91\x91\x5d\x9e\x72\x5d\x7a\x63\x39\xd2\x28\xbb\x71\xe6\x6a\xbc\xd4\x8f\x80\xa9\x7f\x4c\x78\xa9\x91\x53\xcd\x79\x42\x70\x1b\x83\x37\x08\x77\x1f\x0d\xde\xee\xd1\xe8\xe9\x1b\xde\x1c\x3d\xa3\xfe\xbd\x3a\x7a\x78\xf9\x1f\xde\x30\xa6\xfb\xc3\xfd\x74\xc1\x39\x9f\x6e\xd5\x90\x51\xa0\xe6\x7a\x34\x0e\x03\x59\x69\x19\x9f\xe6\xda\x68\xd7\xc6\x13\xb4\x14\x56\x5c\xd9\x9d\x88\x30\x78\x33\x92\x8b\x79\x22\xa5\x8f\x9d\x35\x89\x5d\x8c\xcf\x7d\xe4\xa0\x59\x40\x27\x8a\x64\x6e\x2e\x02\x17\x0b\xf2\xc3\x95\x36\x45\x0e\x1a\xfa\x04\x29\x42\xea\x8e\x79\x01\xce\x02\xe3\x27\xf0\xfa\x71\xc5\x06\xd1\x9f\xd4\xf3\xb4\x3b\x2e\xb9\xc8\xd3\x96\xf4\xf7\xd8\x21\x11\xf0\x7e\x61\x2f\x2f\x78\x64\xf4\xf4\x83\xd2\x13\x59\x01\xd2\x2f\xf1\xa8\x7b\x6a\x8f\x21\x77\x05\x08\x23\xa3\xa9\x5a\x6f\xc9\x8a\x9f\xc5\x0c\x7c\x71\x66\x3d\x01\xbf\x73\x01\xc2\x51\x77\xa5\xcb\x3b\xc7\xea\xd0\x27\xf0\x77\xa1\xb7\x4e\x8b\x23\xa5\x1f\x27\x3f\xfa\x76\x04\x9e\x93\x8b\x69\xc6\xb6\x23\xc3\x70\x7b\x2f\xd4\xd5\x7d\x51\xa5\x58\x83\x06\xa5\x65\x04\x0d\x0a\x25\x57\xe8\x87\x82\x06\x09\x54\x31\xa5\x4e\x9e\x51\xc4\x40\x3f\x1c\x75\x43\xc7\xe6\x76\x23\x68\xf0\xf3\xe2\x75\xf7\x37\xaa\x74\xf7\xef\x3f\x2e\x97\xfb\x7f\x2d\x82\x4a\x21\xb9\xc4\x6d\x12\x81\xea\x29\xf3\x84\x6c\xa6\xcc\x7b\xd1\x88\x3a\xd0\x30\x0f\x19\xda\x47\x73\x8d\x80\x20\x8c\xda\x44\xf9\x0f\xa4\x1c\xa2\x71\x77\xd2\x6c\x14\x64\xa4\xc8\x64\x54\x5d\x3c\xba\xe8\x62\x98\x18\x98\x61\x24\x0a\x94\xac\xbd\xe0\xe2\xf7\xd7\xa2\x90\x11\xb7\x49\x3e\xb3\x96\x91\x89\x7d\xd5\x54\x55\x93\x7f\x90\x93\xb5\xe7\xd6\xbe\xaf\xd2\x7e\xea\x8c\xd2\x8e\xb5\x1c\x7a\xd8\x6a\x13\x58\x90\x28\xf3\x79\xf9\xf2\x30\xf2\x26\x50\xc9\x00\x02\x6e\x8c\xe1\xee\x77\xef\x91\xcf\x1e\xc3\x37\x91\x78\x33\x7c\xef\xce\xb4\x8b\x12\xda\x21\x5d\x0c\x14\xec\xbd\x7c\xef\x13\x3c\xfb\x40\xab\xe9\x3a\x52\x89\xb0\x9a\x6b\x98\x48\xfa\x9b\x64\x08\x32\x52\xf1\xe3\x8f\x85\x41\x33\x58\xc1\xd2\x7a\x3b\x55\x21\xfb\x0a\x91\x82\x34\x9f\xec\xf2\x1c\x81\x75\x17\xbb\xcb\x3f\xb8\xa6\x76\xbf\x77\x3c\xbe\xee\xef\xbe\xdc\x5f\x5e\x54\xef\x8f\x3e\xdb\x90\x5d\x8a\x22\x51\x10\x7b\xb9\xac\xab\xdb\x6f\xb2\x62\x44\x2a\x97\x0e\x44\xbd\x64\xc5\xc9\x29\x28\x2e\x12\x9d\x4e\x40\xe4\x0c\xa9\x65\x84\xc4\x32\x78\x2e\x09\x23\xd9\x17\xd4\xbe\x39\xdf\x61\x6b\x59\x05\x4c\xe8\x8b\x37\x53\x5d\xeb\x51\x70\x64\x75\x1e\xd4\xc8\x29\xcf\x96\xec\x3d\xa4\x61\x19\x68\xd1\x73\x45\x6d\x84\x8b\x33\xcb\xd6\x47\xdd\xc9\x8e\x9d\x00\x25\xe4\x0a\xbb\x54\xe3\x9c\x8a\x93\x45\x17\x83\xab\x59\xc4\x1a\x73\x72\xba\x59\x51\x19\x18\x5b\xfa\x12\xc8\xec\xca\x48\x11\xca\x27\x7a\xeb\xbf\x90\xc6\xfa\x7c\x85\xf5\xe1\xcf\xcf\x77\x5f\xb7\xca\xea\xfd\x3f\x4e\x71\xc6\x52\x43\x9d\xbe\x08\x38\x6f\x07\xa0\xd4\x5b\xa1\x54\x62\x3f\xf8\x2c\x96\x54\xd6\x74\xb7\x72\xc8\x49\xc4\x53\xa4\xd5\x35\x9f\x9a\xbb\x46\x40\xbd\xfc\x3a\x92\xeb\x9f\x8f\x85\xef\x7e\x97\x13\x7a\xd0\x1c\x3d\x1e\x8b\x7c\x0c\x9d\x50\xca\xae\x15\x82\x2c\x42\xa6\xa4\xa8\xe4\xa6\x30\xa5\x64\x66\xb0\x28\x78\x40\x77\xa9\x8b\x7c\x72\xd5\x13\xf0\x3b\x47\x85\x84\x74\xa5\xcc\x28\x41\x72\x59\xfe\x05\xf1\x84\xaa\x62\x08\x46\x8e\xbc\xe3\x12\x9e\x60\xe9\xd7\xf9\xfb\xc3\x2c\xfd\x98\xbb\xd7\x58\xfa\xff\xfd\xb6\xb6\x95\xa8\x6a\xd9\xc2\x60\x65\x3a\x1b\xc5\x44\xfd\x71\xc2\xab\x55\x4e\x98\x6e\x8f\x00\xa7\x28\xc0\x32\x46\xae\x94\x69\x8c\x21\x01\x94\x01\x03\xbb\xe8\x30\x4f\xeb\xf8\x33\x02\xdb\x0e\xd3\xe2\x5f\x6a\x0c\xff\x7d\xbc\x86\x6f\x22\xd5\xcd\xd8\xf1\x3f\x4e\x2b\x32\x86\x5b\x2d\x8e\xb5\xa6\x59\xd9\x7e\x38\xe4\x14\xa5\xa3\xa0\x34\x32\x02\x3c\x09\x6c\x76\xf5\xa0\x17\xa6\xa0\xeb\x6e\x46\xd9\x06\x6c\xf1\x3c\xad\x37\x00\x85\x22\x86\xd8\x67\xde\x8e\xe1\xa3\xf4\xff\x73\x10\xd3\x93\xfc\xff\x23\x5c\xcc\x69\xfe\xff\x29\x96\xe9\x5a\x00\xf0\xe4\x9e\xf5\xd8\x50\xff\xed\x63\x74\xff\x6d\x93\x79\x92\xb7\x45\x1c\x47\x93\xb4\xd7\xe2\x98\xfb\x84\xcc\x85\xdc\x67\x03\x1c\x8c\x36\x97\x55\xd5\x4f\xaf\xf2\x04\x6d\x02\x98\xa6\x3c\xa8\x74\x8d\xc6\x1c\xdc\x9d\x43\xf5\xd0\xad\x44\x6b\xef\x17\x18\x08\xa3\x5e\xd3\x5b\xed\x14\xae\x5c\xf1\x2e\x45\xee\x26\x05\x41\xec\xa2\x60\x28\x48\xaa\x2c\x6d\x42\x7f\xe6\xb3\xf5\xb7\x2e\x3f\xac\x3e\xa2\xa8\x6b\x77\x5d\xba\xeb\xca\x05\x78\xba\x48\x6c\x72\x14\x44\x7c\xd4\x0b\x40\x40\x07\xa2\x2d\xa4\x6d\x9b\x4b\x75\x4c\xc1\x71\x02\x86\x60\x6c\x4b\x0a\xa8\xb8\xe4\xb6\xc2\x53\x4b\x2f\x44\xa8\x51\x11\x09\xed\x94\x67\xd4\x0b\x3b\xe9\xb7\x34\x81\xb5\x50\x7a\x13\xc9\xd9\x96\x23\x6f\x00\xb0\xc9\xe0\x5f\xe1\x95\x46\x10\x03\x61\x07\x7c\x87\x42\xd3\x13\x68\x42\x03\x06\x93\x29\x0d\xe2\xe1\x45\xab\xe4\x81\xae\xa6\x05\x00\x28\x31\x4a\x1a\x41\xf7\x54\xcb\x3e\x95\x66\x30\x3b\xaa\xdc\x69\x55\xb3\xab\xce\x73\xd9\x4d\x5a\x6e\x2a\xaa\x67\x36\x22\x31\x40\x9d\x89\xe9\xd0\xd0\xd8\x58\xb5\xb6\x2e\xef\x53\x06\xd8\xe1\x7a\x23\x94\x17\xbb\xa2\xe0\x50\x7a\x1b\xd6\xdc\xf6\xc1\x56\xdb\x54\x62\x01\x50\x7f\xef\x63\xab\x33\x80\x4c\x91\x41\xab\xe9\x3a\xaa\x20\x28\x68\x74\x69\xaf\xf2\x0c\xfe\x5a\x59\x63\xa3\x3c\x19\x6b\x01\xa5\x51\x08\xb2\xbf\xca\x2e\x2f\x48\x33\x92\x29\x48\xec\xe2\x94\x9d\x26\x80\xc3\xfe\x61\xa8\x9b\x15\xe5\x84\x4c\xb7\x69\x7e\xde\x6e\xf7\x9d\x6d\x21\xcb\xa9\xf3\x8a\x83\x8b\xbd\x1f\x7c\x34\x14\xa1\x2d\x4c\xb2\x05\xa2\x1e\xc1\x1f\xe6\x70\x6d\x56\xf6\x7a\x88\x2d\xda\xac\x5e\xaf\xc3\x9c\xb6\x19\x0d\xde\xda\xf3\x09\x99\x0f\xac\xcc\xd2\x95\xb4\x0e\xdc\x71\xe3\x25\xa2\xb4\x83\x68\x2d\x75\x8c\xe6\x12\x17\xf9\xa4\x91\x2b\xac\xa5\xaa\x2b\x67\x52\x55\x8f\xb8\x22\x45\x0b\x45\x30\xac\x98\xa2\x28\x31\x44\x4b\xea\x4e\xe6\x45\x36\x27\x34\xe8\x84\x23\x23\x93\x09\x3e\x38\x2d\xbb\x8c\x55\xfd\x9f\xf0\x21\xa0\x9c\x8a\xf2\x3e\x86\x7c\xe6\xd0\x1a\xee\xac\x83\xd7\x37\xf2\x63\x83\xf5\x27\x3b\x2c\xb6\x48\x1f\x43\x3e\xf8\x58\xfb\x3e\x51\x3a\x68\x2a\x15\xe2\x76\xda\x73\xe8\x9e\x3d\x95\x53\xc7\xad\x6c\xa3\xcf\x28\x3c\xf8\xf6\x75\x53\x51\x98\xb7\xa1\x99\x53\x49\x08\xa9\x83\xd6\x66\x80\xa0\xa3\xbd\x45\x57\x61\x36\x78\xde\x02\xa3\xa7\xe6\x2b\x30\x9a\xf1\xa6\xbc\xaa\x19\x6e\xe4\x51\xa9\xef\x22\xd8\xc0\xc1\xfb\x07\xe1\x58\x13\x70\xd7\x81\x21\x15\xeb\x5a\x7a\x8e\x20\x4e\x05\xaa\x1a\x3b\x94\x05\x44\x27\x4f\xaa\xa3\x94\x93\x65\xa5\xb2\xd6\x65\x4c\x48\xf0\x83\x0b\xba\x77\x11\x62\xc7\xc0\x47\x73\x35\x39\xdf\xe6\x86\xea\x06\x94\x22\xa6\xb8\x5b\xb4\x54\x89\x79\x36\x6c\xae\x93\xd2\xfa\xc4\x0b\x90\x55\xac\x35\xa5\x60\x42\x80\x41\xfb\x55\x9e\x07\x4e\x02\x6e\xc0\x00\xe4\x1a\xe4\xe8\x80\xcf\xc0\xfb\x29\xe0\x82\x42\x14\xc4\x81\xf2\x0e\x00\x2f\x97\xfa\xa2\x98\xad\x59\xcc\x1d\x72\x5a\x00\x25\x8f\xab\xa8\xe7\x8b\xcd\xf5\xe6\x38\xf1\xc2\x39\x3b\x8a\x32\x3f\xae\xae\x2d\x02\x3f\xf3\xb9\x73\x5f\x46\xaa\xcc\xa2\x42\x16\xc5\x3c\xc6\x60\xb5\xaa\x05\x9f\xbb\xa5\xc4\x35\x94\x0e\xe0\x94\xae\x70\x0f\x69\xc6\xae\xd7\x80\x29\xdb\x26\xd4\xf6\x28\x04\x20\x7a\x47\xcb\x6e\x75\xe9\x7b\x55\x74\x00\x7f\x12\x75\xa7\x04\x10\x1a\x30\x15\xf1\xce\xe8\x3d\x96\xb1\xd5\x52\x2c\x65\xfc\x25\x14\xff\x77\x83\xb0\x45\x51\xd1\xe2\x0b\x14\x0c\xb2\x30\x90\x12\x3b\x36\x15\x87\x80\xce\x5c\x10\x1c\xf7\x31\x22\xcc\x15\x49\x8b\xb9\xc4\x98\xa9\x41\x91\x19\x40\xda\xce\x01\xa5\x29\x48\x7e\xab\x72\x62\x5e\xac\x70\x49\x3a\xac\x00\x22\x67\xb7\xc8\x99\x98\xdb\x9a\x1e\x57\x35\x71\xc9\xf9\x9e\x6e\xae\xaa\x8f\x9f\xb6\xfa\xc5\xa6\x96\xa7\xf5\xb6\xe2\x9a\x88\x30\x2a\x56\x7c\x77\x79\xcd\x94\x66\x40\xc7\x70\x27\x31\x7e\x05\xc2\x04\xb6\xd4\x30\xc3\x6d\x41\xb5\xb9\x94\xbb\xf3\x39\x16\x75\x4c\x16\x07\x3c\x62\x1d\x15\x00\xc8\xc8\xe7\xde\x83\x71\xd6\xea\xe3\x64\x30\x66\xb0\x3e\x44\xf8\x3e\x7a\x73\xb9\x92\x88\x40\xe4\xa9\x32\x1f\x44\x22\x5e\x9b\x51\xb2\xae\x22\x9c\x59\xa4\x6b\x65\xa1\xa0\x8c\x9d\x79\xef\x13\xd7\x4b\xc2\x3f\x6c\x53\x5b\x13\xc5\xd9\x83\xc1\x1d\x70\x11\x4d\x0e\xf6\x9e\xd2\x4d\x51\x11\xe3\x73\xa2\x57\x37\xba\x95\x63\x9c\x93\x32\xb3\x17\x75\xd3\xed\x69\x2d\xe0\x7a\x66\x22\xe8\xff\xf7\x79\x53\x11\x9c\xb7\xa1\xba\xc0\x75\x38\x44\x42\x74\xc8\x21\xe7\xf3\x57\xb3\x17\x8b\x87\x18\xc3\x1e\xf5\xb7\x97\x7f\xa6\x70\x55\xa1\x43\x80\x2e\xdf\xbe\x38\x5d\xbd\x18\xb0\x57\x4c\x2e\x57\x04\x93\x30\x3b\xc0\xe0\x2e\x87\xdc\xc0\xcf\xd4\x11\x90\x08\x4e\xe7\xd1\xc4\x84\x15\x93\xe1\x01\x05\x40\x8b\x0a\x52\x68\x86\x4e\x71\x71\xda\x02\x31\x5e\x68\x37\x51\x27\x97\x90\xb7\x3c\xc2\x25\x7b\x52\x3f\x78\x70\x4a\xfd\x0e\x0d\x0a\x0a\x5f\xa4\xc9\x47\xa0\xab\xd7\xbe\x67\xca\x97\x63\x41\x9a\x3b\x1c\x8e\x31\x32\x13\x5f\x63\xf3\xdc\x7b\xee\xe1\xe0\x5b\xde\x73\x0f\x37\x6f\x11\x9f\xb8\x45\x8c\xe1\xd6\x1e\x7d\xbb\x3e\xf3\xdb\xdb\xcd\x14\xd9\xc6\x04\x4f\xeb\xf6\x53\x74\x1d\x58\x2a\x48\xea\x2e\xd9\x51\xe1\xff\x9f\xbd\x77\x5b\x92\xdd\x38\xb2\x05\xdf\xf3\x2b\xe2\x07\xb0\x2d\xdc\x3d\xae\x76\x9e\x66\xc6\x6c\xde\xea\x1b\x68\x9b\x6a\x9e\x4e\x5a\xa3\x45\x81\x0d\x65\xf7\xa9\xaf\x1f\xf3\xb5\x1c\xc8\x2c\x66\xed\x2a\x52\x22\x4f\x4b\x76\xc6\x24\xee\xca\xaa\x04\x02\x40\x20\x2e\x7e\x59\xbe\x96\x6f\x74\x92\x9a\x22\x2b\x75\x73\x97\x91\xd4\x9c\x19\xd9\x53\x7c\xb5\xf3\xc8\x70\xfb\xd8\xc2\x22\x13\xdb\x1b\x7d\x0a\x28\xd2\x44\x99\xbe\x7a\x53\x25\xdf\x16\x91\x71\xad\xf9\xdd\xad\x41\xbf\xc1\x21\x5b\xdd\x22\x79\xe4\xd1\x7e\xea\x35\x69\xef\xce\xfd\xa9\xdf\xa4\xc4\x26\x99\xc4\x13\x27\xb6\xdf\xdd\xb7\x4e\x29\xf3\x3d\x53\xc8\xcf\x6a\x3a\x7f\xd9\x58\xb5\xb9\x69\xce\x18\xd6\x47\x0f\xec\xf7\x8e\xf9\x58\x83\xf0\xe7\x27\x76\xf6\xfa\x9c\xc5\xbc\x63\x58\xaa\x94\x64\x45\xd6\x21\x49\xa7\xf7\x46\x9d\x6b\xf7\xeb\xe4\x0c\xe0\x14\x86\xf8\xee\xff\xf8\x5d\xa6\x1c\x66\x7d\xfc\x7c\x7d\x69\x06\x25\xfa\x95\x00\x7b\x1f\x83\xba\x02\x9e\xa3\xe3\xaa\x5a\x5f\x5f\x86\x2a\xa4\xea\xc5\xe6\xba\x1c\x47\x75\x90\x37\x74\x49\x56\xf2\xea\xa6\x5a\xf6\x95\xa6\xa9\xdf\xc6\xa2\x73\xe2\x6d\xa5\xd3\x2f\x3d\x39\x86\xce\x5b\xe0\x0d\x80\x71\x44\x79\x7d\x3b\xae\xdf\x57\x50\xf2\xfb\xf5\x2d\x47\x19\xc5\x7b\x88\x83\xcb\x7d\x75\x95\xa3\x3a\x15\x7a\x65\x9d\x28\x3a\x04\x38\xca\x95\xae\x9f\xe2\x8d\x9a\x24\x77\x08\xa5\xb5\xd4\xa0\x12\x97\xa7\xff\xd6\x3f\x38\x51\x48\x19\x05\x0e\xae\x60\x23\x95\xce\xec\x6c\x34\x31\x7e\x15\xdc\x41\x3a\x58\x89\xf9\x90\x52\x7e\x1d\x46\x42\xfc\xfe\xc6\x4c\x56\x0a\xe1\x79\xee\x69\x8d\x0b\x96\x4a\x90\x6d\x8b\x5e\x41\xac\x81\x25\x14\xb7\xbd\x82\x5b\xa0\xe5\xab\xd5\xb9\xce\x9e\xac\xe5\x0d\x54\x3c\x78\xf6\xab\x68\xdb\xd0\x17\xc7\xd1\x23\x8e\x6e\x75\x9d\x86\xa3\xeb\xc3\xd1\xd6\xc3\x7f\x6d\x77\xff\xd5\xe0\x94\x8c\x95\x1a\x4e\xbe\x93\xc9\xf3\x4e\xf6\x6d\x7c\x88\x20\x05\x13\x6f\x58\xfa\xfc\x6d\x9b\xe0\xf7\xfb\x9f\x9e\xa6\xc7\x13\x2d\xe7\xe3\x0a\xe7\x6f\x77\xcc\x16\xc0\x2a\x45\x1d\x82\xdb\x22\x63\x93\x50\xee\x90\x1e\xb1\x70\xf0\x5e\x09\x4b\xc1\xbb\x90\xa1\x36\xb4\x3f\xc8\x31\x33\xfc\x4d\xf5\x83\xde\x50\x82\x3a\x8b\x84\x57\x41\xec\x04\xf1\x8e\xea\x63\xa7\xdc\xb4\xca\xb6\x0c\xf2\x99\xa9\x26\xf1\xaf\xf4\xf8\x8a\x31\x53\xd2\xec\xe6\x60\xd5\xcd\xe0\xc1\xcd\x79\x35\x49\x32\x0c\x1d\x5b\x03\x77\x50\xe5\x56\xb2\x5e\x7d\x98\xb6\x44\x4d\x32\xb9\xe9\xa0\x66\x4d\x1b\x7e\x73\x09\x7c\x81\x22\x37\x69\xe5\xb2\x12\xe9\x4f\x32\xac\xd9\xfd\xe0\xaa\x57\xbf\xf6\xa2\xa5\x6f\x43\x93\xba\x9b\x91\xf4\xa6\xa5\xc6\xdf\xab\x6e\x1d\x65\x3e\x52\x62\x47\x0f\xf4\x4c\x0d\x11\xbe\x3e\x76\x86\x8c\xc0\xa5\xf0\xfa\x32\x91\x49\xf3\xc5\xdf\x58\x02\xde\x0a\x40\x5c\xa5\x05\x37\x30\x43\x48\xed\xe0\xf3\x85\x53\x15\xbe\xec\xd1\xa9\x12\x94\x77\x8b\xf8\xde\x37\x36\x04\x21\x7a\x5a\xc0\x5e\x37\xf8\xb3\x1a\x82\x12\x30\xdf\xcb\x5e\x3b\xb4\xcc\x2a\x5a\x2d\xa4\xb8\x53\xa1\x3d\x6e\xf9\xc2\x48\x45\xc9\xd8\x76\xab\xbc\xbe\x8c\x21\x69\xc0\xb2\x04\x00\x57\xe1\xe3\x9c\x3c\x7d\xee\x55\x15\x26\xad\xdd\xaf\xa1\xbf\x84\xda\x1e\xf7\x17\x18\xe8\x01\xd2\x36\x24\xd3\xfc\x86\x6e\xa8\x37\x85\xa7\x5f\xe2\x4f\x3b\xfc\xc4\xbc\xd7\x9c\x74\xaf\x35\x55\xd4\x2d\xc0\xb9\xd8\x51\x94\x80\xe7\xb7\x9e\xb4\xef\xda\x93\x0d\x38\xce\xf5\xe3\x30\xc9\xff\xfc\x71\x7d\xce\xb2\x7c\xff\x3f\xde\xc2\x17\xb5\xdc\x4a\x47\xbd\x96\xcf\x36\x7f\x11\x3a\xd6\x92\x41\xf8\x1f\xb0\x01\xd2\x8b\x5a\xbb\x2e\xa5\x2b\xc1\xf9\xf3\x04\x66\xbf\x21\x5d\xb8\x02\x00\x20\xb9\x7e\xb3\x40\x08\x7c\x22\xef\xc2\xb6\x5b\xce\xcf\xb8\x6d\xe0\xcd\x6b\xf9\xd8\x8f\xf1\xe7\xfc\x6e\xff\xe1\xbf\x9e\xd0\x7c\xf5\x9e\x6f\x2f\x0d\xce\x4b\x7e\xe7\x89\x9e\x9f\xff\xf5\x65\x4e\x28\x84\xff\x61\xcf\xf3\x5e\xe7\x05\x60\x42\x5a\x3e\xd7\xf2\x37\x41\x70\x40\xa9\xde\x0b\x82\x9f\x6b\xe5\x63\x0c\xbc\xe7\x72\x79\x0e\x82\x43\xbc\x5d\xda\xef\x74\x81\xf7\xdb\x6f\x5d\xff\xa0\xf6\x3f\xcc\xef\xff\xf4\xf3\xfe\xdd\xf7\xff\xeb\xbb\xaf\xeb\x5f\xae\x5f\xbf\x7f\x86\xf2\xd6\xe7\x9a\xcd\x47\x15\xa1\x29\x49\xb8\xa5\xf4\x75\xe9\x9a\x54\x50\xfa\x9a\x4a\xdf\x16\x45\x64\x44\x41\x3e\x03\xce\xdd\x25\x68\x6c\x0e\x3e\xc0\xb1\x2f\x58\x83\x74\xbe\xbe\x74\x6b\x29\xb4\x69\x35\x50\xec\x7e\x0e\x3c\x0f\x09\x7c\xfb\xbd\xaa\xf2\xb1\x76\x13\x70\x2f\xfd\x76\xed\x1f\xaa\x1b\x49\x61\xf2\xa9\xf2\xca\x6d\xf1\x23\xdf\xfd\xea\xf5\x45\x80\x52\xa6\x3c\x8b\xd9\x75\xa9\xa3\xdc\x66\x5e\xad\xcd\x54\x15\x59\x7f\x19\x49\x25\x69\x5f\x45\xd2\xbc\x59\x50\x41\xb6\x63\xb1\xe2\xd3\x82\x2b\x25\x12\x0c\x40\x0f\xb9\xa3\xaa\x6e\xa6\x57\x54\xd6\xde\x54\xe7\xb5\xb6\x7e\x5b\x86\x3f\x1d\x94\xa0\x2c\xfb\x06\x84\xfa\x55\x21\x85\x0a\x43\xce\xb7\x45\x57\x9f\x95\xdb\x4c\x8a\xc7\xbd\x6a\x19\x37\x71\xcf\x4b\x05\xf4\x2d\x92\x46\xc7\x5c\x6c\x70\x1c\x6f\xfe\xc1\x8d\x22\xe8\x0d\x94\xeb\xa2\xc5\x56\x02\x39\x4b\xb9\xf6\x7a\x1e\xd9\x79\x64\x5e\xd5\x72\x6a\xcd\xf7\x40\xbd\xe0\x97\xc5\x7f\xeb\x1f\x13\x28\x7d\x67\xfa\xc4\x9e\x5e\x3f\x64\x34\xc5\x48\xca\xe5\xff\x8c\x81\xe4\xaf\x65\x91\x9a\x2f\xbf\xd3\x8b\x79\xf3\x5e\x38\x4e\x25\x67\xf9\x87\x19\xa7\xee\x60\xfb\x38\xb5\x6d\x26\xf1\xde\x14\x1f\xa7\x97\x73\xa0\xfe\xaa\x05\x6a\xdf\x7f\xfe\xf1\xfb\xbf\xee\x3f\x3c\xa1\x51\xda\x33\x3b\xe7\xdd\x53\xfb\x67\x18\x0e\xee\x6b\x2d\xa6\x1f\x28\x57\xbd\x0f\xef\x7e\x47\x65\x6a\x98\xbe\x2f\xee\x92\x73\x2a\x23\x7f\x70\x09\xa0\x0b\x7e\xcd\x25\x20\x0c\xf6\x7c\x05\xb7\x7d\xe6\xfc\xe8\x21\x08\x41\xf9\x15\x57\x00\x8e\xe1\x1d\x90\xba\x5b\xdf\x90\x24\xf9\xb6\xc2\x57\x6d\x97\x5f\x29\xc7\x55\xdb\x6f\xf3\x81\x9e\xc7\xe1\x7b\x85\x10\xed\xb9\x0e\xf4\xa1\xf2\x05\x80\xb6\x0f\x5f\xb4\xbe\x9f\x4f\xfb\x95\xf7\xff\x0f\x37\xda\xdf\x1d\x8b\x3e\x52\x3e\x1e\x8b\x7f\xef\x48\xf1\xd1\xfe\xf1\x58\xfc\x7b\x47\x3b\x94\x87\x3f\x1e\x8b\x98\x8a\xbf\x76\xd2\xfe\x6d\x63\xf1\xa7\x9f\xff\xe5\x99\x9b\xb0\xdd\xe1\x28\x56\x5a\x62\xe6\xb4\x19\x58\xd0\x45\x1a\x21\x6b\xd5\x0e\xb6\xc6\x61\x44\xd7\x03\x29\x5f\xc2\xd3\x9c\x75\x97\x0c\x27\xcb\x06\x9d\x61\x90\xaf\xed\x56\x41\x0b\xf7\x8f\x36\xcc\x9e\x15\xf4\x7c\x98\x81\xcd\x84\x3c\xf7\x1a\x18\x04\x54\x66\x92\xee\x5a\x0a\xbd\x11\xe2\x47\x67\xa8\xe6\x30\xc4\x40\x63\x02\xac\x83\x4d\x0f\xe5\x1a\x69\x08\x68\x51\x24\x5b\xea\x6a\x13\x32\xfa\x02\x61\x48\xe8\xd6\x08\x52\x8c\x62\x09\xb1\x0d\xdb\x40\x50\x2e\x70\x56\xe1\xfa\x36\xd4\x9d\x16\x0a\xef\x6c\xdc\x22\x2d\x72\x87\x78\x07\x44\xb8\x50\x68\x9a\xa5\x36\xdd\x48\x42\xbf\xb4\x9e\xa4\x6b\x50\x71\xd4\xe4\x3b\x7c\x1f\x24\x3d\xb0\x4d\x20\x8a\x09\xe2\xdf\xc9\x82\x24\xc0\x2c\x09\xb2\x2a\xb5\xa5\x31\xb0\x71\x97\xeb\x52\xda\xbc\xf9\x07\x69\xfd\x56\x50\x2f\xd3\x11\x1b\x94\xb9\x33\xca\x76\x43\x7c\x6d\x5d\x3a\x53\xe3\x83\x3d\x07\xa0\x84\x40\xb1\x77\xa9\x83\x3c\xbb\x6d\x15\x9f\x05\xa3\x5e\x91\x04\x6f\xd5\x5b\xfd\x04\x4d\xfc\x38\x70\xdf\x5d\x3f\xed\xcd\xe0\x15\x2d\xfd\xff\xa4\xd1\x7b\xb9\x2f\x92\x48\xb6\x94\xff\x7d\xaf\x2d\x26\x8c\x8c\xf9\xdf\x37\x63\x2e\xff\x6d\x53\xe6\x61\xc6\x7c\xec\xd7\x58\x79\x1a\xb2\xcf\x10\x9a\xbb\x5f\x03\x38\x34\x56\xfc\x5f\xd6\x2a\xdc\xe5\x84\xbf\x1c\x65\x90\x4c\x77\x93\xa1\xa5\xa7\xe3\xd7\x2f\xf5\xe0\xaf\x1f\x5f\x1e\xf0\xe4\x28\xd7\x9e\xe0\xf6\x7f\x7d\x29\xd2\x52\xf7\xdd\xe8\x40\x36\xbf\x27\x84\x04\xa6\xc8\x67\x4a\x20\x9e\xf2\x4b\x21\xa4\x31\xde\x15\x42\xc2\xd6\xda\x99\x91\x83\xb6\x2f\x3a\x9f\x9a\xb0\x3e\x43\x91\x46\xbf\x6c\xe6\x3f\x12\x31\x60\xd6\x81\x25\xa8\x51\x3b\xd8\xa9\x93\x5f\x3b\xb5\xce\x66\xd9\x48\xca\xc2\x32\x2e\x19\x02\xa1\x66\x9c\x0e\x86\xae\x3e\xae\x88\x38\xf5\x76\xa5\xda\x33\xdb\xc1\xc5\xee\x01\x61\x88\xf4\x43\x63\xc9\x26\xfd\x16\x4b\x44\xa0\x8d\x54\x58\x0a\x26\xf1\xdc\x5f\xa2\x26\xa1\x80\x2b\x49\x36\xc0\xbb\x64\x24\x08\xaa\x15\x83\x20\xc8\xa6\x25\x69\xea\x0d\x5a\x14\x59\x92\xa8\x6c\x6d\xa4\xd1\x13\x7f\xcb\x1b\x2b\x8e\x4d\x52\x19\x54\xab\x28\x50\x4e\x83\xe8\x2e\xe8\x50\x51\xf4\x81\xb0\x67\x93\x1d\x99\x8c\xaa\xbb\x15\x08\x84\x47\x6d\x84\x8f\x82\xe2\x8f\xc3\x38\x2f\x14\xa9\x1b\xde\xde\x5e\x72\xb0\x6e\x6a\x61\x4d\x0a\x20\x0b\x3b\xa5\xa6\x98\xe1\xc1\x3c\x05\x99\x31\xc1\x0b\xac\xa3\x05\x6d\x00\x75\x0f\x1a\xe0\x6c\x2d\x78\x01\xc6\x1e\x90\xa7\x1d\xee\x59\xb9\x6a\xef\x5b\x1f\x98\x6e\x78\x1f\x7b\xc5\x54\xfc\x74\x02\x3c\x11\xb2\xb5\x8f\x98\x68\x7d\x02\x04\x70\xf4\x79\x50\xbe\x99\x03\xe7\x14\xc0\x0c\x38\x26\xc0\x7d\xfc\xbf\x19\xfe\xcb\x31\xfe\x97\xfb\x04\x28\x65\xdc\x07\xf3\x2f\xea\x82\xde\x0e\xfe\x37\x55\xc7\xf7\x29\xf3\xb6\xea\xf8\x71\x0a\x3c\x56\x1d\x97\x9a\xea\x84\xee\xe9\xd2\x24\x1d\x13\x60\x11\x1f\xaa\x29\xc4\xf9\xc4\x28\x55\x42\x12\xf8\x7e\x5d\xbc\xb3\x19\x41\x45\xe7\xef\xf1\x2a\xf8\x66\xb6\xa8\x0d\x05\xaa\xb7\xe3\xa9\xb0\xf8\xf9\xb7\xfd\xa0\x6c\x2a\xf0\xc8\xfd\xbd\xa3\xaa\x05\x95\x35\x1c\x14\x4b\x8c\x91\xe5\x1c\x34\x4b\x8c\xa2\xe5\x3e\xb0\xde\x4c\x7d\x70\x91\x29\x65\xb4\xc1\xf2\x1e\xc3\x73\x89\xf1\xba\x2d\x13\x44\xc8\xe7\x68\x0e\x14\x16\x59\x86\x30\xe8\xb7\xc5\x8c\x91\xfd\x98\x10\x3e\x7d\x81\xb2\xe0\x74\xb9\xec\x0b\xa6\x0f\x48\x95\x15\x4b\x01\xd1\x78\x31\xd3\x8e\xa9\xc7\x65\xa7\x7c\x89\x85\xe7\x4b\x05\xee\x39\xc5\xbc\xed\x9d\xf9\xb6\x63\x62\xef\xe7\x6c\x3f\x16\x80\xab\xf4\x6b\x6f\x57\x6b\x9b\x00\x71\x9d\x62\xd1\xd8\xea\x40\x8d\xd1\xb1\xa8\xd8\x44\x17\xc7\x92\x23\x44\x85\xc4\x82\x54\x00\xe0\x4a\xc7\x6a\x95\x89\x09\xe5\x5a\xf6\xe1\x6c\xf8\x5f\x3f\xfd\x75\xff\xeb\xf7\xef\x97\x47\xb5\xb3\x24\x7e\x8a\x5b\x02\x76\x93\xea\x6d\x57\x96\xf4\xd6\x7c\x48\x9f\xa3\x13\x1b\x35\xec\x82\x24\x99\x7f\xda\x34\xb0\x18\x65\xbe\xbe\x08\xca\x4b\x6a\xbd\xb6\x76\x33\x5f\x7e\xab\xe0\xd4\x2a\x3b\x5a\xa8\x72\x5b\xac\xbc\xbe\x54\xd3\xd4\x54\x6e\x4b\xcf\xd7\xc5\x9d\xac\xa2\x76\x5d\x7a\xb9\xf1\xe7\xb8\xf5\x7c\x55\x53\xb7\x82\x2c\x95\x59\x81\xed\xbc\x2e\x6e\x56\x64\xa0\xd9\x30\x3f\xb0\x78\x57\xbc\x63\x56\x36\xe9\x40\x06\x0c\x30\xb2\x5a\x6e\x3a\xb3\xdf\xc8\xa2\x3d\xc7\xe0\x44\xb8\x07\xb9\xef\x4a\x65\x8b\x7a\xd9\xd4\x4d\xaf\xa2\xc9\xe4\xa6\x23\x5f\x5b\x7f\x7d\x99\x03\x52\x24\x37\x80\xc9\x82\x4b\xbe\x43\x60\x9d\x22\xef\x0a\x69\x8c\xa5\x28\xb0\xf1\x4c\x0e\x14\x7f\xb4\xc6\x7b\x9c\x76\xa5\xe2\x98\x6c\x86\x7a\x2b\xff\x3e\x6f\x90\x3a\x8a\x13\x3b\x82\x4f\xde\x28\x78\x56\xac\x25\xad\xf5\xb6\x60\xb9\x04\xb2\xca\x07\xe3\x46\x78\x37\xdf\x32\x14\x29\xa2\x06\x6d\x64\xfe\x1e\xe6\xa5\x24\x1b\x94\xb3\x65\xb3\xa3\xdd\x04\xd0\x83\x0a\x3e\xba\x81\x97\x64\x23\x0d\x70\xde\xfb\x02\x60\xe3\x42\x85\xd6\x09\xb4\xe2\x68\x37\x6e\x5d\x06\x5b\x6b\x23\x5f\x17\x4a\x0f\x25\x72\xc2\x3e\x0b\xce\x1c\x7d\xa7\x3d\xd7\xbe\xd4\x9b\x0f\xf5\x2b\x0c\xd6\x51\x93\xe4\x3e\x6f\x8b\x30\xa3\x82\x77\xaf\x2c\x87\x33\x4d\x55\x6e\xfc\xa2\x42\xf4\xde\xf7\x19\x8d\xfa\x00\xf3\x4d\xaa\xa1\xf9\x1e\xa5\x03\x80\xe7\xe7\x04\x55\x1d\x4b\x1d\xd8\xce\xde\x90\x53\xdb\x40\x4f\x81\x2e\x11\xb7\xd8\xbc\x5b\xf0\x16\x0a\xc2\x78\xd4\x6c\x5e\x02\x2a\x77\x24\x61\xa9\xf9\xe0\xed\x5c\xb0\xae\x40\x30\x0c\x2a\x6e\x51\x2f\xd0\x5b\x3a\x7e\x15\x0a\x33\x1d\xa7\x04\x28\xcf\xea\x06\x4c\xad\xd4\x54\xc8\x94\xb6\xc7\xf5\x8b\xa5\x8a\x7a\xbb\x64\x75\xc7\x59\xdd\x7c\x58\x41\x42\xd7\x1f\xe5\xf5\xa5\x36\xf3\x4d\xb9\xaf\xd3\xe7\x8a\x1b\x0a\x75\x45\x07\xc9\xf4\x0f\x96\x64\x56\x1f\xf8\x18\x17\x06\x33\xbb\xcd\xd5\x97\xcc\x46\x09\x61\x9f\x58\x05\x89\xd4\x71\x5b\x34\xcb\xb5\x97\x9b\x66\x79\x7d\x19\x55\xd3\xb4\x76\x13\x60\x83\x2a\x83\x9a\xa3\x6f\x0b\x5f\xb9\x2f\xf7\xfe\xb2\x43\xa0\x8d\xef\x3e\x4c\xd4\xc9\x00\xe8\xf0\xa1\x4a\x64\x51\x1d\x1c\x0e\x9d\x15\xf6\x23\xc5\xf1\xc5\xe7\x38\x5a\xda\x38\xca\x70\x0d\xa8\x16\x5b\x1a\xd2\x7c\xb8\x9b\xcf\x65\x1f\xf6\x3a\x0c\x12\x5c\x70\x77\x0a\x7e\x1e\xea\xad\xd2\x60\x6e\x93\xf6\x3f\x69\xbb\x41\x18\x0f\x27\x4d\x0b\x9a\x17\xd8\x6b\x80\xec\x6b\xc7\x6a\xa7\x7d\x33\xdf\x15\x7a\x77\x43\x70\x29\xf9\x37\xd7\x28\x5e\xfe\x01\xea\x3d\x62\x15\x7e\x5a\x80\xef\x5c\xe2\x5d\x92\x4e\xbd\x2d\x4a\x64\x29\x84\xda\x27\xa4\x71\x17\xb5\xd8\x15\x55\x6f\x96\x65\x53\x05\x37\x82\xff\xbe\x41\x0d\x9a\x07\xfa\x54\xca\x33\xe9\x94\xdb\x52\xda\x75\x99\xf9\x46\x91\x3f\xb0\xc6\x34\x90\xc6\x90\x84\xcb\x87\x6c\x9e\x57\xc9\xfd\x36\xcb\x75\x01\x1f\xd7\x2c\x57\xc9\xf5\xb6\xd4\xe6\x5f\xe4\x5b\x6d\xf3\xf5\xa5\xa1\x0a\x36\x5f\xc7\xbc\x15\x3f\x72\xcc\x1b\x88\x97\x10\x6c\xc7\x42\xd8\xb9\x10\x12\xb1\x00\x49\x6d\x7f\xc1\x20\xbb\xb7\x7a\xb3\x76\x9c\x34\xf1\x54\x65\x26\xd4\x50\x5e\x50\x10\x40\xb2\x83\xc5\x50\x81\xe0\x0e\x90\xa6\x26\xb7\xa5\x42\x10\xbb\xe5\x34\xc6\x4d\xa6\xef\x47\xdd\xfd\xce\x34\x59\x6f\xe6\x4e\x67\x17\xb0\x4b\xc1\x6f\x06\x85\xa7\xaf\xf7\xd2\x79\xad\xd6\x0c\x37\x3c\x36\x7f\xe0\x5a\x13\x0e\xa8\x5b\xf5\x95\xcc\xcf\xac\x1b\xaa\x93\x66\x92\xec\xa3\xc9\xe6\x48\x73\xdc\xc4\xae\x0b\xef\xb2\x52\x10\xcc\x6d\x8c\x4e\x15\xc3\x02\xe8\xcc\xb6\x14\xda\x27\x2d\xb5\x79\x1b\xfd\x2a\x7d\x06\x18\xb2\xb3\x6a\x51\x7c\x7c\xdb\xc4\xc6\xe7\xbe\x5e\x75\x4f\x61\xd0\xd7\x84\xf2\xd1\x85\x3a\xdd\x46\x80\xc9\x22\xbe\xa9\x4a\xc7\xe0\xef\x93\x98\x46\x69\x30\x04\xaa\x24\x68\x11\x57\xd9\x3a\xaa\x59\xf2\x48\xd5\xc0\x8b\x81\x09\x58\xcb\xa6\xee\xbe\xa7\xea\xab\xef\xf4\x03\x44\x6e\x2a\x3e\x8a\xdb\xc4\x12\xd6\xe6\x0e\xf7\xa6\x4d\x1f\x56\x39\xd8\x4f\xfd\x2f\x3d\xbb\x17\xc1\x44\x4c\xe6\x7a\x8b\x00\x42\x09\x77\xbc\x32\xf2\x88\xfa\x74\x7f\x45\x13\xc4\x63\xd0\x4d\xde\x42\x73\x52\xbc\x4f\x81\x8b\xd9\xf1\xc1\x5f\x7c\x1d\x89\x9a\x86\x6e\x87\x1d\x48\x8f\x39\x2f\xf4\x6d\x84\x7a\xfd\x86\xc2\x0b\xbf\x56\xfc\x22\xc5\x77\xaa\x3a\xd2\x9c\x28\x34\x2d\x7d\x13\x08\x8c\xa7\x5a\x7d\x0d\xdd\x79\x9d\x0c\x73\xc9\xbd\x1b\xac\xcc\xc5\x9d\x01\x44\x52\xe6\x06\x5b\x9a\xb8\x27\xbf\xf7\xd7\x97\x2a\x6e\x9e\x59\xbb\x4a\xd6\x95\x42\x40\xa8\x11\xd1\x2e\xd7\xc5\x47\xb7\x76\xc1\x13\x76\x40\xc3\x92\x02\x7f\xdc\xa9\x94\x05\x61\xca\x7e\x95\xdc\xd6\x0e\x93\xc1\x88\x14\x11\x68\x8f\x44\x51\x01\xe0\x6c\x78\x83\x94\x6a\x5c\x8e\x57\xbe\xe0\x9d\x1f\xf5\x39\xe9\x78\xe5\x46\x65\x76\x91\x71\x63\x0b\x60\xb3\x49\x6e\xda\xd9\x48\x78\xd9\x7e\xf0\xd6\x38\x13\xd8\x4e\x0c\x15\x5e\xa7\x1f\xe9\x05\x6b\xbe\x0e\xce\xe9\xc3\xf5\x56\xeb\x06\x6b\x84\x1c\xd0\xf8\x70\x0c\xd3\x3a\x41\xae\x32\x50\x70\x30\x52\xaf\x37\x9b\xe5\x3a\xe5\x2c\x95\x31\x03\x06\xb0\x6e\xb4\x33\xb0\x2b\xe8\x06\x77\xa7\xfa\xe2\x7b\xb3\x21\xd7\xf9\x71\xea\xeb\xbf\x7e\xfc\xf3\xbf\x3e\xad\x6a\xcf\xc8\xd2\x07\xe5\x99\xd9\xd3\x68\x07\x1b\x9c\xf7\x0a\xd6\x10\xc8\x11\x77\x8a\x1c\x36\x88\x1d\x5e\x17\xb5\x79\x10\xcc\x98\x24\xe9\x7b\x4e\xd6\x56\xad\xc6\x2a\xd2\x04\xb5\xc0\xd5\x0d\xad\xa4\x9d\x61\x30\x98\x4b\xfe\xd8\xd3\x4d\x04\xf3\x0d\xfa\xea\xcd\x90\x20\xb0\x45\x80\xa0\x64\x4b\x52\x45\x58\x61\x8f\xce\xb2\xbe\x2e\xd5\x3b\x7a\x9a\x5b\x7e\x94\xea\x6f\x12\x5b\x51\x46\x47\xf5\xb8\xe9\x7a\x18\xdf\x71\x8b\xe4\x72\x68\x8d\x1c\x02\x36\x53\x53\xf0\x75\xb9\x9d\x63\x92\x66\xd1\xcb\xa6\x15\x8b\x70\x49\xa5\x5e\xb5\x48\x90\x28\xc3\x62\xf9\xb4\x7f\xdf\xb7\xdd\xe7\x23\x5f\x4b\x27\x54\x17\x28\xdb\xa4\xca\x30\x14\x2c\x38\x4d\x56\xae\x3e\x67\xcf\x45\x1a\x93\x65\x63\x14\x0e\x36\xf1\x24\x53\x17\xd4\xee\x84\x5c\xe3\x8b\xf9\x4c\x27\x14\x1a\xd0\x98\x8d\xd1\x3a\x54\x94\xd9\x55\x46\xdd\x0c\xf6\xac\xbf\x92\xd8\x78\x44\xdb\xf0\x66\x31\xcf\x4b\x12\xf5\xcb\x76\xec\x15\x5c\xfa\xc1\x11\x0d\x33\xad\xeb\xdc\xb0\xc8\xaa\x8f\xdb\x32\x64\x53\xd2\x32\x43\xb7\xa9\x5e\x85\x0c\x40\x0c\x7b\xe8\x36\x50\xf9\x2b\x09\xc5\xfb\x2d\xa7\xd2\xdb\x4d\x2e\x6b\xc9\x33\x75\xb5\x2d\x90\xe2\x80\xd9\xfc\xd3\xd1\x17\x1c\xfe\xd9\x5f\xd6\xaf\x4f\x28\xfe\xf6\x0c\x60\x7c\xc8\x1a\x8b\xa4\x92\xc7\x5a\xdc\xd0\xac\x79\x5d\xf8\xc1\x6e\x4b\xcd\x76\x08\x18\xf6\xbc\x09\x96\x14\xa3\x28\x33\xea\xf5\x58\xaa\x32\xbf\xd4\xd5\x37\xd6\x82\x99\x84\x52\x1a\xe2\x97\x17\xdb\xf5\xac\x04\x65\x15\x20\x59\x35\xc5\x76\x8c\xd8\x89\xea\xbf\x43\x53\x13\x55\x3b\x67\xf0\x0f\x5f\x20\x32\x70\x28\xb1\x89\x0f\x1d\xc8\xe3\x9f\xa5\x59\x3b\x0f\x17\x50\x53\x00\xfe\x6d\xf4\xcb\x18\x35\xf1\x21\x99\x31\x40\x6b\x88\xf0\x4f\x92\x1d\x28\xa3\xaa\x97\x95\x95\x9a\x3d\xa4\x86\x6b\x58\xb3\x2d\x3c\x7f\x84\x4e\xa8\x7a\x86\xf7\x1d\x8f\xc0\x18\x04\x2b\x57\x51\xdb\x1a\xf4\xd3\x54\x55\x12\x06\x7e\x1a\xab\x97\xdd\x4b\xe8\x09\x83\x11\x82\xc7\x1c\x37\x70\x7e\x50\x15\x3a\x53\x59\xdd\x32\x28\x9b\xff\x1b\x42\xba\x49\x32\xc8\x89\xf5\xa8\xa7\x2a\xbe\x15\x60\x4b\xbc\xe3\x1c\xdd\xaf\xe6\x07\x8a\xc8\x89\xaf\xd0\x24\xea\x04\x31\x36\xcb\x91\x00\x0f\xf4\xee\x29\xf9\x26\x86\x84\x71\x12\x84\x54\x93\xf7\x4d\x4f\xbe\xe3\xfa\xde\xfa\xa5\xba\x23\xe5\xbd\xb2\x42\x16\xc8\x77\x53\xa9\x6e\x49\x28\xe9\xb6\x19\x4d\xf4\xad\xc6\xf8\x32\x07\xdf\x6e\xe1\xcb\xb6\x5d\x7a\xf2\x2e\xf0\x1e\x90\x91\x1a\x82\x5a\x1f\x8e\xd8\x7f\xf9\xf9\xa7\xbf\x7c\xff\xd3\x7f\x3d\x0d\xd6\x67\xcd\x83\xfb\x60\x2d\x59\xd3\xd0\xb9\x96\x59\xd2\x62\x19\x40\x5f\x5f\x26\x06\x3a\xd3\x57\xc2\x09\xc8\xb7\x5b\x37\x80\x02\x0d\xfe\xdd\x3d\x03\x2e\x4a\x58\xe9\xd3\x22\x37\xf1\x91\xee\xb6\x92\xdd\xfc\x30\x29\x3d\x2d\xb3\xad\x86\x08\x40\xb9\xe9\xea\x47\xad\x02\x54\xed\x6a\x70\x21\x46\x79\x7d\x71\x5b\x42\x8a\x8c\xf5\xf1\xc2\xb8\x19\x7f\x93\xe6\x17\xa6\x31\x98\x71\xa3\x86\x0d\xbb\xc7\xc5\x16\x83\x14\x46\xb1\xa4\x03\xd4\x12\x36\xd9\xd8\xc3\x97\x3c\x21\xb3\x59\xcb\x1f\xe3\x1a\xff\x63\xff\xfa\xa7\x7f\xfb\xe1\xbf\xfe\x74\xfd\xfa\xe7\x7f\x7d\xf6\x0a\x1e\xb9\x84\xa6\x3f\x1d\xd0\xbb\x60\x14\xba\x2e\xd2\x32\x02\x82\x57\x29\x36\x82\x51\xcd\xff\x54\x46\x76\xd3\xbe\x83\x3b\xca\xb7\xf6\xda\xd7\x0e\x91\xc4\x46\x80\xb9\x7b\xe6\xaf\x2f\xa5\xba\xed\xa1\x6b\xeb\x49\x4a\x5b\xbb\xa2\x54\x6d\xae\xf0\x38\xc4\xb7\xc7\xe6\x23\x41\xea\xa0\x7e\x8b\x1a\x88\xc0\x96\x0a\x28\x7d\x66\x39\xa9\x1b\xe8\x65\xc0\xc4\x5a\x8b\x3b\xed\xad\x48\xc8\x49\xcc\xb6\x2e\xfe\xa7\x56\xe4\xf5\xc5\x2c\xa7\x56\x6f\x52\x27\xe1\x91\xfe\x61\x19\xf9\x63\x60\xd6\x8f\x7f\xfe\x8f\xfd\xeb\xbf\xfe\xfc\xf5\xdf\x9f\xfa\xe5\x5f\xde\x61\x60\xff\x55\xd4\xef\x07\xd5\xfa\x49\xbd\x1e\x07\xf2\xbc\xd7\x17\x91\xa6\x27\xa3\x3b\x26\xa3\x90\xfb\x04\x4c\x2a\x94\x98\xc6\x27\x7c\xf0\x2f\xfd\xbb\xe3\xe7\xf1\xc5\x79\xe8\x71\x36\x4a\x21\x90\xd9\xc9\x47\x20\xdc\x97\x97\x06\xe4\x33\xe9\x4d\x1a\xb2\x7e\xfe\xe7\xe6\x0d\xf8\xbf\xfc\x53\x1c\xc0\xe3\x5f\xc9\xf3\xaa\x3d\x5f\x7c\x5d\x8c\x98\x2b\xe1\xe1\x92\x2b\xf0\xc5\xcb\x3c\x6a\xf6\x59\x43\x9c\xf7\x25\x48\xe0\x07\x24\xda\x43\xb7\x7e\xb8\xad\x4a\x04\xf3\x82\x22\x2d\x39\x6a\xf2\xbe\x9c\x32\xe5\x24\xe9\x35\x88\xde\x83\x8f\x98\xc6\x6c\x54\x87\x84\xa0\xff\xfd\xe3\xf9\xed\x71\xf8\x71\xfe\xbd\x4d\xec\xef\x95\x11\x8a\x31\x76\xde\xc4\x46\x7f\x27\xdd\x6f\x73\x3f\x6e\xfd\x78\x96\xe3\xe1\x8e\xc7\xbd\xf0\x13\x20\x60\xc7\x77\x38\xd6\x70\xaa\xe4\x9d\x5c\xf7\xfe\xc8\x15\xf1\xe3\x31\x52\x1d\x7b\x1d\x69\x0c\xb7\xe5\xc0\x54\x78\xc8\xa6\x43\x47\xd5\x76\x4b\xf1\x90\x7c\x0a\x3c\x19\x1f\xec\xfc\x70\x7c\x15\x87\x2e\x71\xe6\x72\xb6\x85\xb0\x52\x65\x10\x65\x8c\x7d\xc1\x65\x11\x86\x81\xbd\x23\xe7\xfa\x1f\xb7\xb9\xc4\x5d\xdf\x5f\xdf\xf9\x60\xbf\x20\x00\xc2\x86\xea\x8b\x4c\xbf\xd0\xfe\xd4\x8c\xad\xcd\xd7\x2e\x55\xdf\x15\x95\x8a\xe8\x7c\xb5\x38\x92\x74\x0e\xee\x2c\x6f\x38\x5c\x10\x2f\xf6\xd9\x5c\x76\x9c\x6a\x6e\x22\xd6\xc4\x33\x4c\xfa\x8e\x7f\x51\x35\xe7\x87\xf3\x88\x3d\x4e\xd9\xfc\x61\x12\x9a\xdb\xd9\xf8\xc6\x7b\x70\xb3\x82\x17\xdf\x8f\xfb\xd9\x2a\x86\x18\x6f\xe3\x63\x68\xf7\xfa\xe3\x9f\xfe\xed\x19\x19\xf2\xc3\x7d\xed\x2b\x41\x6d\xfc\xa1\x71\xf5\xbf\xd7\xd0\x7b\x7d\x69\xf3\xa0\x4f\xf1\xce\x0b\x05\x04\x10\x3b\xa0\x3e\xae\x22\x31\xbd\x2f\x87\x24\xc2\x1b\x69\x84\xd0\x4e\x68\xba\xf3\x3c\x5f\x1f\xce\x85\xe7\xde\xdc\xe5\x6f\x6e\xef\x43\xbd\x9b\x67\x79\xbf\x9e\x1f\x69\xa4\xa7\x94\x55\xb3\x3b\x3a\xb9\x5d\x97\x92\xd5\xd7\x45\xb3\x64\xa3\x5c\x67\x59\x97\x52\x67\x6a\x53\xf8\x61\x69\x53\xfc\xaf\x92\x4b\x92\x96\xaf\x55\xf5\x77\x16\x71\xfa\xdf\xc8\x5b\xf5\x3f\xa5\xcb\x53\xdf\x7c\xa4\x96\x30\xa4\xa6\xd6\x3b\x2c\x5b\xa3\x4a\x3f\x4c\xdd\x7d\x09\x76\x72\x86\x81\x30\x57\x2c\x2a\xe7\x33\x54\x61\x76\x50\x62\x6f\xee\xa5\x8c\xd4\x59\xa6\xbc\xfb\x8e\x63\x7c\x3a\x9c\xdc\x51\x42\xa3\x2d\xb5\x49\x90\x19\xa2\x47\x22\x96\x04\x2c\x22\xb3\x27\xb1\x0d\x97\x86\x99\x0b\xc3\x74\x19\xcc\x7c\x11\x6c\xe0\x36\xfe\x56\xa0\xc2\xd3\x99\xee\xab\x75\x97\x56\x23\xeb\x3a\x25\xf9\xf6\xad\x69\x94\xbd\xe6\x24\x10\x4c\x90\xe6\x77\x83\x4c\x03\xab\x61\x6b\x0b\xc6\x83\x3a\x92\xea\xc5\x37\x14\x98\xf1\x1b\x48\x26\x21\x59\xd5\x40\xef\x81\x30\x53\x27\x65\x90\xe8\x4e\xbb\xdd\x7f\x22\x96\xbe\x19\xab\x2b\x98\xb1\xf9\x52\xf7\x4e\x65\x7d\xdd\x47\xc8\x35\xfa\x06\xa1\x2c\x0e\x07\x8d\x90\x6c\xcd\xd2\x48\x94\xcf\x51\x4a\xbf\x02\xe5\xd1\x6b\x2a\x8d\xd2\x25\xaa\x49\x33\x55\x66\xf5\x30\xb1\x63\x6b\x82\x1c\x67\x39\x2c\xff\x9e\xb9\xdb\x55\x90\xe9\x0f\xbf\x09\x94\x7c\xcd\xfb\x86\xa7\x59\x79\xc3\x9a\xcf\xed\x03\x7a\xfe\x69\x19\xfc\xc3\x25\x16\x68\xdf\xac\xbb\x31\x11\xef\xce\x75\x0b\xf7\x21\xb9\xd3\x5c\x7b\xd2\xa9\x2b\xf4\x3a\x65\xa4\xb9\x29\x0b\xe6\x47\xaa\x99\xbe\x46\x19\x7b\xcd\x20\x8b\x28\x08\xa6\x2f\x0d\x2e\xb5\xda\x99\x30\x45\xc8\xe7\x88\x51\x48\x23\x11\x35\x4b\x11\x21\x8a\xdb\x10\xf1\x21\xdc\x99\xef\x28\x68\x1a\x96\xe2\xcf\x49\x48\x91\xf8\x2d\x29\xa3\x01\x4b\x93\xcc\xad\xde\x17\x54\x44\xf6\x67\x49\x02\xda\xc9\x1a\xda\xae\x27\x1f\x04\x18\xd5\xf6\x65\x26\x2b\xfb\xd2\x90\xcf\xbc\xd0\x1d\xb1\xba\x2d\x93\x99\x41\x38\x2e\x48\xea\xba\xe7\xcd\x0e\x84\xe6\x75\xe9\xac\x48\x4e\xe2\x43\x1c\x69\xd1\x33\x25\x1b\xba\xb7\x4c\xa2\x5a\xde\x01\xfb\x63\x25\x17\xba\x5b\xd4\x5f\x6d\x32\xb1\xd4\xca\x66\x7d\x26\xeb\xa9\xf9\x90\xa9\x79\x23\xf7\x42\x4b\xa8\xf6\x16\x55\x24\x21\x35\x27\x7a\x70\x55\x78\x8b\x4b\xfd\xd8\xe8\xfe\xfe\xc7\xfd\xfb\xbf\xfe\xe9\xdf\x7e\x78\x9f\x80\xb5\x9f\x98\xc4\x51\x46\x6a\x48\x48\xf9\xb0\x2e\x92\x5a\xdb\x97\xde\xc1\x04\x44\xe2\x86\x23\xa1\x84\x07\x30\x0e\xb2\x2f\x20\xd2\x74\xdf\x72\x48\x2a\xbb\xb5\xd4\xd5\x67\xf1\x48\x6d\x28\x56\x8a\xc6\x60\xb2\x28\xd6\x09\x5f\xbf\xf1\x61\x26\xbc\xb9\x06\xe0\xd1\x42\xd2\x63\x7f\x9c\x69\x1c\xf8\xad\x6c\x1d\xb1\x22\x29\xa1\xf0\xb0\x8f\xe0\x8f\xc4\xac\x85\xae\x54\x37\x26\xb6\x10\x97\x25\x5f\x46\xd9\x11\x19\x94\xb6\x2f\x64\xd0\xf0\xb5\x84\xa1\x54\xdf\xaa\x4b\xca\xc8\x95\x35\xac\x61\xf1\xa2\xb1\x20\xb5\x18\x47\x60\x0f\xf1\x45\x67\x26\xf3\x37\xb3\x97\x4c\x40\x4b\x41\x9d\xdd\x26\x13\xdc\x6e\xa0\xc9\xde\x90\xe0\x45\xe0\x7b\x10\xa3\xe2\x17\x46\x46\x9b\x52\x43\x52\x34\x19\x6a\xed\x7a\x3a\xc7\x9b\x81\x73\x83\xec\x29\x94\xba\x68\x47\x18\xd5\x1a\x1e\xb5\xed\x8b\xb5\xe6\x56\xfe\x4a\xbd\x76\x32\x5c\x29\x63\xbe\xb5\xa4\xe2\xf6\xab\x64\x90\x28\x0c\x49\x14\xff\xc9\x63\x83\x12\x70\x69\xee\x0d\xa5\x6a\x9b\x15\x24\xf1\x67\xaa\x72\x50\x0e\x70\x67\x41\xc2\x4e\x5e\x2f\x6e\xaa\x83\xd3\x38\x6f\x13\x69\xda\x91\x7a\xc5\x0b\xaf\x5c\x3d\xa9\x62\x2b\x8d\x48\xbf\xd1\x93\xb5\x6d\x11\x3b\xc4\xda\xfc\x7e\x4a\x63\x2c\x18\xe0\x21\x6e\x43\x95\x14\xe4\x60\xca\x98\x1c\xa3\x1b\xc9\x70\x41\xd9\x6a\x03\x01\x13\xe9\xb2\x33\xb4\xd6\x37\x90\x1b\x62\x12\xef\xc8\x3e\x00\x57\xe3\x9e\x00\xdc\xd6\x4d\x72\x45\x06\x58\x47\xa1\xd6\x9a\xfa\x6e\xac\x23\x95\x92\x53\xb3\x4d\xc9\xf2\x4b\xb6\x05\xf7\xff\x75\x12\xda\x53\xf2\x56\x20\xb0\x97\x46\x4e\xa5\xdb\x3f\x25\x3f\xe1\xfe\xd7\x7f\xff\x7e\x7d\x32\x1a\xfb\x87\xd4\x69\xa5\x24\xcd\x7d\x1d\xc8\x70\x30\x9d\x46\x05\x38\x2c\xa7\xcd\xc7\x1f\x08\xc5\xdd\xba\x0e\xde\x34\x48\x18\xa8\x7f\xc5\x84\x6e\xd9\x97\xe9\x96\x86\xcf\x0c\xd8\x1c\x9a\x23\x7c\xe4\x6e\x39\x94\x16\xa5\x8d\x9b\x4a\xdd\x7a\x94\x5f\xbb\xad\xf4\xa5\xee\x53\xd2\xcc\xee\x7e\x48\x06\xb4\x6a\x82\xbc\x66\x60\xfa\x24\x44\x61\x50\xb2\x1a\x8c\x62\x57\x2d\xe5\xb6\x14\x2d\x57\x33\x8b\xaa\x60\xb3\x72\x5b\xaa\x80\x05\xc1\xdd\x69\xee\xe0\x41\x5f\x58\xb1\x02\xdd\xa9\x67\x62\x61\x28\x97\xad\x8f\x04\x89\xf7\xa4\x9f\xa8\x63\xa0\x47\xdf\x5f\x11\xcb\x9d\xf0\xd1\x97\xb3\x0a\x90\xa6\x0c\xf2\xce\x12\x9a\x90\x91\x3b\xd8\xb8\xb0\xd1\x80\xa5\x60\x03\x08\x75\xe4\x0e\xcb\x61\x29\x33\x71\x35\x36\xc7\x55\x6b\xbf\xc9\x2c\xd4\x7c\x37\x6d\xd7\x45\x06\x58\x3f\x88\x6c\x95\x8c\x5d\x0e\x5c\x33\x30\x12\x46\x07\x5d\xcf\x32\x2b\xd6\x62\xfc\x14\x09\x8e\xb2\xdb\x22\xad\x5e\xc5\xf2\x6d\x29\xec\x29\xdf\x8a\x63\x91\x84\x47\x0d\x09\x79\x24\x82\x38\xed\x03\x1d\xe0\xab\x76\x9b\x49\x52\x88\x81\xd5\x1d\x96\x64\xcd\xbe\x20\xfc\xd3\xc5\x92\xd7\x9f\xfe\xfc\xaf\xdf\x7d\xfd\xf9\xe7\x9f\xfe\xf3\x5d\xd2\xfb\xfe\x04\x82\xeb\x6d\x9c\x0e\x00\x48\xdf\x0f\x41\xc7\xca\x60\xbd\xd5\x93\xc7\xfe\xd4\xed\xe1\xbb\x89\xbc\x80\x9b\xa6\x7e\x58\x25\x9b\x3d\x2c\x54\xb8\x94\xf5\x81\x91\x9e\x1c\x1a\x5a\xc6\xaf\xc4\x1c\x6b\x19\x7e\xca\x86\xd4\x0f\x96\xc7\x8f\x87\xf0\xc3\x63\x3f\x4b\x1f\xf4\x27\xda\xa3\xb7\x0f\x2d\xb9\x50\x0f\x13\xc4\xb3\x33\x70\xa8\x5a\x78\x1f\xdf\x60\x2a\x98\xef\x96\x3a\xf9\x7d\x93\x26\xe4\xae\x8a\x30\xdd\xb3\xae\xab\x77\xe4\xa1\xe8\x7e\x6a\x13\x1d\x22\xed\x92\x57\xef\x41\x74\x34\x12\x1d\x88\x28\x7f\x82\x72\x7c\x78\xe8\xf7\x54\xca\xfb\x33\x01\xd0\xa3\x72\xfb\xc1\x9c\xf1\xcd\xca\x10\x7f\x18\xe2\xbd\xc2\xa8\x60\xf7\x40\x6f\xb3\x52\x1d\x9f\x59\x62\x3c\xd0\x82\x87\xe2\xeb\x05\xf3\xce\xca\x03\x80\x16\x13\xff\x94\x1a\x18\x7a\x28\x02\xa0\x13\x4d\x5f\xd1\xc3\xbf\xa9\xaa\xe4\xe1\xa9\xdf\x95\x04\xef\xcf\xa9\xc7\xc7\xc7\x76\x63\xac\x9c\x3c\x3b\x27\xac\x7e\xc0\xff\x2a\xe0\xa3\x22\x5d\x18\x5d\x38\x01\x01\x15\x86\xf1\x4d\x41\xfc\xa1\xbf\xb6\xea\x07\xfd\xc7\xee\x53\xe1\x4c\xd8\x81\x61\x5d\xe3\x6a\x04\x1a\x45\xf7\x7d\xf2\xd4\x5f\xff\xf2\x97\xe7\x72\xff\xfe\x4c\xfe\xf2\xa0\xc6\x62\xd3\x6d\x2b\x21\x5c\x2e\x84\x78\x7c\xa9\xc6\x3b\xe3\x30\x6f\x91\x7b\x95\xd9\x80\x8c\x44\xaf\x80\x70\xc9\x9d\x24\x66\x38\x05\xbf\x06\x0c\x11\x68\x1e\xdb\x90\xfb\x06\x4f\x87\x1f\x03\x72\x7a\x22\xd1\x2c\x4b\x52\x50\xa3\x94\x9e\x14\x96\x5c\xe9\xa9\x02\x20\xa1\x48\x76\x5b\xb2\x5e\xc0\x7a\x27\xbe\x2b\x8f\xe2\x3f\x03\xdf\x80\x4d\xd8\x7b\x05\x41\x79\xd0\xca\xf9\xef\xa5\x82\x05\xcf\x92\x15\xf0\x7a\xba\x21\xd7\xf9\x1b\xd7\x49\x41\xca\xfe\xb2\x21\x75\xe8\x96\x62\xd8\x45\x4b\x9f\x84\xd1\x80\x8c\x1d\x79\xfa\x06\x24\x3d\x13\xcc\x9a\x49\x17\xa9\x05\x70\x09\x55\xdb\xa5\x22\xb0\x06\x4e\x70\xd2\x61\x62\xf4\xb7\x23\x42\xea\x06\x9f\xbb\x5d\xbd\x12\x74\x22\x36\x36\x00\xc4\x2b\x6d\x4e\x77\x08\xa8\xbf\xc4\x8a\x52\xe6\xa8\xfc\x59\x67\xf2\xed\xb8\xf6\xad\xd3\x97\xd7\x0a\x3a\xf1\x8d\xcc\xa4\xdc\xa6\xf6\xf8\x09\x9c\x4c\x8a\x88\xc2\x1e\x3f\x3f\x1c\x1e\xff\xf9\xe3\x9f\xff\xe5\xa7\xff\x7c\xaa\x39\xed\xcf\xd9\xc3\x3b\xe6\xb9\x0d\x4d\xd5\xf7\xcb\x56\x65\x5d\xfc\xb7\x59\x6e\xb5\xf6\x6b\x1b\xfa\x8a\x6f\x45\x3b\xe0\x80\xf3\xea\x5f\xdf\x2a\xea\x2f\x5a\x2b\x3c\xad\x8f\x46\xd1\x29\xd1\x7a\x6b\x4d\xae\x33\xf7\xf8\xde\x87\xe1\x6d\xe9\xbe\xb7\xcf\xdc\x6f\xad\x7d\xbc\x7a\x7f\xfd\xf3\xbf\xfc\xfc\xd3\x8f\x4f\x24\x90\xfd\x23\x09\xed\x32\x21\xbc\x65\xc1\x41\xd3\x83\xaa\x6f\x27\x47\x2b\x29\x19\xef\x1f\xef\xdf\xc3\x63\xe6\x27\x42\xcc\x70\x4e\x7c\x38\xbe\x7b\x7d\x99\xee\x18\x3f\x34\x7f\x34\x7e\x36\x7d\x36\x7c\x36\x7b\xc4\x31\xe2\xc2\x47\xd3\xe7\xc7\xfb\x11\xc0\xcd\x01\x02\x01\xdc\x40\xf7\x61\x9b\x77\x8c\x2b\xbd\x2d\x85\x50\x3c\xf8\x99\x33\x10\x88\xf0\x33\xfd\xa8\x0b\x62\x0f\x96\xc1\xd8\xdb\xed\xc6\x83\x0b\xca\xea\xbb\xee\xf8\x0e\x71\x1c\x4b\xa3\xfa\xbb\x6d\x24\xb7\x08\x06\xd9\x3e\x68\x3a\x99\x5e\x97\x5e\x7d\x09\xee\xc7\xb5\x70\x79\x23\x65\xbd\xb7\xff\xe6\x32\xaa\xfd\xea\x83\xfd\x83\x33\x0e\x10\x44\xd7\xfb\x79\xeb\x22\x09\xa7\xf6\x72\x40\x52\xfa\x80\xc3\x67\x9a\xfa\xb8\xb5\xd6\xae\xd3\x5d\xd8\xe9\xbe\xad\xd6\xba\x11\x24\x55\x41\x25\x16\xaa\xd1\x0d\x58\xa3\x4a\x14\x9f\xa2\x4e\x46\x7a\x6a\x25\xe1\x8f\xbb\xb8\xcf\x46\x7d\xe5\xee\x46\x1c\x70\x0d\xe4\x9d\x05\xd9\x1a\x61\x9d\x6d\xed\x40\x8a\xeb\x36\xab\x77\x97\x66\x49\x45\x77\x04\x3b\x8b\xfa\x97\xfe\x1d\x90\x0b\x9a\x7d\xa7\x02\xe2\x17\x8b\x44\xd4\x82\xf6\xd6\xdf\xbc\x9b\xcf\x9f\xfe\x78\x39\xc6\x97\xe3\x36\xbe\x26\x46\xe5\x2c\x11\xd2\xa6\x08\x62\x66\xc6\x11\x3e\xde\xf6\x7e\xfc\xf3\x5f\x9f\x12\xae\xfd\x4c\x13\xb6\x66\x6e\xa8\x56\x66\x73\xe4\x08\x86\xd1\x12\x1f\x91\xec\x87\x3d\x4d\xe7\x72\x03\x4b\x94\xcc\x24\xf5\x2a\xf9\xf5\xa5\xfb\x72\x24\x42\xde\xe8\x83\xea\xb8\xdd\x6d\x77\x16\x9b\x88\x60\x53\xd0\x8d\x15\x1b\xbe\x63\xbf\xbe\xd8\x9c\xa9\xb9\xe9\x07\x78\x75\x43\xfe\x29\x22\x90\x47\x22\x1b\x10\xfd\x48\x2a\x59\x58\x92\x71\x9b\x8a\x82\x03\x42\x03\x3a\x7d\x71\xf1\x55\xd1\x92\xa6\xbe\x6b\x6a\x20\x08\x2b\x91\x8a\x29\x37\xdb\x7d\x4c\x31\x11\xa3\xf0\xd9\x6b\x49\xc6\x61\x31\x30\x74\x8a\x37\x29\x48\xd3\x73\x92\xc2\x8f\x33\x46\x0f\xf3\xc9\x1d\x1f\x69\x71\x70\x33\x40\x96\x29\x90\xff\x24\x48\x3d\xe2\x13\x04\x21\x0f\x2a\x8d\x65\x4c\xc4\xd4\xd1\x17\xc8\xf6\xf4\xb4\x0c\xdb\x06\x68\x03\x15\xb0\x7d\xed\x91\x51\x2b\x4c\x77\x11\x24\xee\xbf\x27\x7a\x44\xcc\x01\x8d\x90\x66\x47\x3f\x4b\x06\xd9\x2f\xf6\x69\x60\x0d\x66\x14\x3b\x14\xd6\x0e\xe1\x66\x48\x25\x65\x49\x82\xf9\xa0\xb3\x6c\xb7\x11\x67\xcb\xd0\x39\x0a\x24\x5a\xc4\xe2\xcc\xbb\x0a\x4e\xbf\x3f\x9b\xa4\x96\x30\x9d\x40\x80\x34\x4f\x35\x12\x0c\x99\x9a\x50\xba\xf8\x85\xc2\x84\x60\x7a\x15\xb0\xa8\x4a\xa8\x88\xee\x23\x55\xd9\xad\x25\xed\x90\xfa\x23\xae\x3f\xef\x05\x49\x3c\xbe\x4c\x82\xd6\x19\xd4\xc9\x24\x66\x10\x4b\x8c\x45\xb4\x9b\xbb\xdd\x15\x9a\xf1\x28\xd7\x40\xec\x50\xd2\x41\x23\x8e\x70\x22\x56\xd3\xce\x3e\x07\x09\xee\x32\xb0\xe7\x92\x3f\xa6\xc6\xb0\xbe\x04\x29\x28\x09\xb6\xe9\x69\x5a\x30\x42\xa0\xa7\xe0\x56\xe3\x8d\xb8\xdf\xbd\x94\xea\x96\x02\x16\x6a\x7a\xc8\xb1\x1c\x07\xf6\xa3\xb2\x10\x0b\x17\x08\x92\x59\xb0\xab\x22\x4e\x29\xe7\xe0\x75\x53\x0d\x9e\x8d\x94\x0d\x4c\x36\x3d\x8d\xc8\xc3\x12\xd9\x51\x0e\x56\x50\x33\x36\x08\x8d\x16\xeb\xee\xf1\x93\xa7\x36\x07\x3a\x9f\x94\x8f\xe6\xef\x98\x31\xf0\xed\x84\xf8\x83\x7e\x6c\xb2\x2e\x52\x53\xec\x29\x7a\xb0\xd7\x1f\x73\x6a\xbb\x33\x95\xd7\x2f\x41\x2b\xcb\xf4\x29\xf8\x8f\x06\x89\xc0\x91\xfc\x68\x2c\x8b\x0b\x4a\xe4\x1d\x6f\x76\xf1\x61\x5d\x3a\xaa\x50\x32\xf0\xeb\x9a\xc4\xcd\x6f\xbf\xd7\xa3\x4f\xd9\xbb\xb6\xbb\xe5\xea\xaf\x64\xba\x6d\xab\x39\x8d\xcd\x6f\x93\x21\x08\x26\x1b\x18\xee\x67\x67\xce\xc8\x82\x2e\x8d\xb1\xf6\x10\x99\x3d\xab\x07\xbf\x04\x36\xdf\xc7\x0a\x98\x70\x0d\x81\x73\x60\xf5\x67\x42\xf8\x25\x29\xfd\x90\x1d\x70\xa4\x09\xd8\x9c\x1b\xda\x0d\xfc\xd8\x90\xab\x4a\xd6\xfc\x5e\xfd\x5d\x90\x8b\x5c\x3a\xc7\x9c\x74\xf2\x7b\x89\xb2\xd8\xcd\xe7\xf9\xb8\x9b\x54\x00\x06\x12\xfe\x53\x90\x1e\x3d\x08\xf1\xa9\x10\x0e\xc2\xa2\x72\xac\x53\x87\x7a\x04\xea\x0d\x90\x62\x29\x4c\xcb\xf8\x44\xd9\x17\x54\x7c\x82\x0b\x18\xa5\x3b\xf0\xf7\x10\x4c\xb2\xd4\x89\x7e\x27\x95\x5c\xf2\xd7\x0b\x1b\x0f\x63\x8c\x79\xb1\x1a\xf1\xc1\x76\x12\xc5\x23\xa6\xb4\x33\x74\x3b\xc2\x68\x68\x76\x61\xa4\xaa\x25\x92\x34\x2f\x18\xce\x7c\xd5\x45\x48\xe9\x3e\x12\x47\x91\x2f\x19\x0c\x80\x73\xf8\x60\x81\x9a\x10\xfd\x32\xde\x8b\xb5\x34\x7d\x1e\x24\x1d\xa9\xa4\xda\xb6\xc2\xf8\x23\x48\xab\xa3\x6b\xa8\xf6\x40\xfc\x25\x16\xe9\xd6\xb6\x7a\x2a\x10\xe9\xd8\xb9\xee\x21\x95\x0f\x0f\xb6\x1c\x52\xc7\x16\x35\x60\x42\xae\x37\x06\x6c\x6c\x30\x11\x83\x6e\xe2\x50\xb5\x8d\xc1\x51\xbf\xb7\x42\x74\x99\x1b\xcf\x7b\x8f\xf8\x79\x41\x36\xa4\x27\xea\x3f\xa7\x11\x0a\x06\xd2\xf8\x3a\x7c\xa8\x69\x6a\x9b\x6f\xef\x24\x90\xdd\x71\x2f\x3c\x73\x01\xc1\x16\x22\xc7\xa8\xb3\xc2\x8d\xf4\x34\xfa\xa6\x96\x6c\xb8\xe3\xe0\xee\x85\x02\xaf\x86\xb2\x1e\xbc\x9b\x18\x61\x8b\xbb\xf4\x51\x51\xdd\x62\x01\xd0\x98\x64\x1b\x42\xe0\x20\x8d\xee\x9d\xe5\x93\x33\x6f\x04\xcc\x36\xd4\x7b\x1c\x84\x34\xb3\xbb\xf7\x87\x67\x11\x80\xb5\x00\xaa\xf2\x0d\xad\x93\x10\xae\x46\x4c\xff\x5e\x47\x89\x02\xf8\x06\x7c\x74\xd5\x8b\x5f\xaa\xe3\x91\x60\x49\x70\x83\x40\xe6\x85\x33\xa3\x6f\x1a\xe1\xe1\xe6\x8b\x52\x4e\x9d\x35\x2f\xc1\x27\x8d\xf7\xe3\xe6\x85\x25\x62\x74\x6a\x9a\xd5\x87\xb0\x7f\xd5\x4e\x2b\xd8\x0d\xa4\x9d\x2c\xd8\x95\x86\x41\x70\xca\xba\x81\x08\x7a\xbb\x63\xff\x2f\xa9\x60\xbe\x48\xe8\x50\xfb\xba\xda\x13\x12\x4e\x67\x70\x7f\xe3\x40\x42\x28\x73\xc7\x86\x9a\x5f\x5f\x46\x03\x1a\x1e\x21\x1f\x18\x1d\x51\xd4\xca\xcd\x1e\x19\xa6\x6d\x81\x4d\xe8\x37\xbd\xfb\x56\x79\xd9\x7d\xd4\x6c\x94\x34\x44\xb9\x21\x26\xae\xa5\x91\xd4\x7b\x3b\xa9\x3f\xd4\xf4\xb9\x56\x32\x0a\xf3\xd8\x51\x68\xad\x73\x88\xb4\xed\x28\xee\x72\x83\xa5\x32\xb0\x13\x06\xcd\xc2\x85\x1f\x6b\xe1\xf2\xb8\x9e\x62\xec\xb7\xc3\x5e\x6a\x69\x99\xbb\x61\x81\xdb\x0a\x2f\x9f\xdd\xf6\x47\xe0\x76\x6e\x92\x24\xcd\x24\xfe\x8b\xee\x33\xf5\x28\x4a\x6f\x9c\x17\x12\x53\xbf\x7c\x61\x3d\xac\x96\x1d\xf7\x78\xc8\x74\xd4\x48\x7c\x72\xd7\xc3\xa2\x78\xa1\xfe\x86\x44\xdd\x22\xfe\xdc\x0e\xb8\xa3\xd4\xd3\x6b\xb1\xc8\x2d\x4c\x86\x30\x99\xf9\x63\x71\x52\x2b\x21\xf6\xd7\x90\x59\x08\x0d\x8b\xc1\x31\x0b\xdc\xef\xb1\x65\xaa\x9d\x9b\x9f\xd6\x23\x59\x47\x7b\xa0\xa7\x63\x85\x46\x17\xe5\x44\xd1\x46\xc6\x52\x17\x89\x34\x30\x66\x1b\x97\x71\x5f\xb6\x99\x59\xde\x8f\x94\x53\x3e\x72\x91\x3a\x4e\x26\x79\xa6\x77\x11\x0c\x63\xcc\x1d\x74\xfa\xa5\xa5\xe2\x4b\x9c\xcc\x04\x70\x19\x89\xb5\x6b\x4e\x33\xd8\x14\x69\x9e\xd9\xb9\xbb\xfa\xda\x3f\xc3\x24\xf3\x39\x46\x1a\x7a\x9f\x62\x05\xb1\x74\x08\x9c\x20\x93\xe6\x36\x1b\xd9\xeb\x7d\x16\x11\x8f\x04\x6b\x10\xd8\x48\xca\x8d\x14\x9f\x7c\xa2\x9b\xc1\x70\x74\x0f\x0a\xef\xab\x0a\x92\xb2\xb0\xea\x11\xdd\x6e\x94\xa4\xd6\xa0\x71\xc0\x54\x2b\xb0\x97\x8e\x38\xa8\x91\x8a\xdf\x7b\x69\xc3\xda\x82\xdc\x72\xec\x3c\x63\xa7\x2d\xdc\x77\x62\xeb\x0f\x53\x06\x24\xe7\x97\x58\x1f\x07\xd4\x5c\xa8\x76\xac\x6d\xe3\x0e\x1a\x9c\x01\x20\x83\x64\x26\x29\x4a\xbe\x97\x86\xa2\x05\xd5\x60\xde\x54\x23\xdf\xe5\x52\xdc\xb1\x68\x09\xdc\x99\xbe\x58\x1b\x44\x0a\xfa\xc9\x69\x29\x13\xe5\xb3\x9a\xd1\x27\x1b\xaa\x22\x64\x62\x9d\x9f\x49\xdd\x50\x6d\x54\x1e\x80\x0c\x6e\xa6\x5d\x37\xa3\x58\xd2\x57\x18\x12\x9c\x99\x2f\x67\xfe\x32\xb3\x37\xa7\x25\x15\xa4\xa6\x8a\x6e\x24\xec\xc2\x82\xa8\x34\x21\xfa\xf0\x8d\xb9\x89\x2f\x15\xb5\x5c\x36\x11\x86\x72\xc4\x27\xe7\x24\x75\x17\xca\x42\x20\xa8\x9d\x7d\x9d\x9a\x08\x89\x4a\x25\x3c\x0b\xe1\x1c\x26\x56\x15\xdc\x6b\x49\x65\xab\x06\xb9\x98\x16\x8e\x85\x9b\x89\x6e\xd9\x6d\xac\x45\x4a\x93\x53\x88\x02\xf7\x1c\xa0\xa5\x87\xfb\x33\x69\x84\xaa\x94\xcd\xe2\x49\x59\x92\x2b\x03\xc5\xd2\x75\x26\xf6\xb6\x34\xdb\x99\xc1\x93\x09\x00\x73\x99\xe9\x88\xc6\xb3\xa6\x99\xb3\x27\xd3\x84\x93\x1c\xe2\x1c\x5f\xa2\x70\x1b\x69\x76\x68\xf0\xa1\xda\x99\x4a\x06\xfb\xc2\x98\x18\xb5\xc0\xb9\x78\xa6\x83\xc2\x3b\x9c\x24\x1a\xc3\xf7\x00\x46\xe6\x62\xc9\xa1\xef\x86\x05\x95\x22\x8d\xd9\xf7\xa5\x4c\xdf\x3c\x67\xc7\xa8\xe9\xac\x00\x98\x9c\x24\xac\x63\x09\x74\x08\x34\xe8\xcc\xf6\x41\x91\x87\xad\x22\x17\x0a\x08\x04\xe7\x51\x3e\x44\x1f\xd0\xbd\x23\xf5\x1e\x53\x07\x79\x1c\xa2\xa6\x7d\x5c\x61\x96\x4a\xac\x24\x28\xbe\x85\xbb\x03\x7f\x65\xc0\xe5\xf0\xfd\xed\x42\xe3\x19\xfd\x8e\x07\x4d\x81\xbf\xd8\x85\x30\x74\x58\x99\xf9\x5c\x29\x18\x60\xde\x23\x63\x63\xfb\x69\x50\x7e\x02\x44\xfe\xf1\xfb\xef\xdf\x09\x8c\xbe\x85\x89\xa2\x6e\x4b\x93\x82\x1f\xa4\xe4\x54\xe6\x00\x0b\x09\x48\x70\xb9\x64\xc6\x74\x0e\x64\x1f\x9e\x67\xa7\x84\xca\x70\xeb\x96\x34\x20\xe5\x80\x24\x2d\x52\x20\x6f\x9a\xa0\xea\x02\x1b\x21\xa7\x82\xae\xae\xf9\x90\x22\xa8\x2d\x55\x7d\x7d\x19\x36\x11\x71\x76\xe3\xae\x80\x7d\x0e\x62\x30\x8b\x61\x72\xb9\xad\x81\xda\x36\x63\x6d\x3e\x16\x55\x95\x23\x2e\x89\x24\x1b\xdf\x02\x4d\x2f\x21\xaa\xd1\x17\x76\x7a\x4d\x7c\x77\x85\x30\x22\xec\x39\x60\xae\x1d\x72\xe1\xaa\x51\xc6\x6a\xc0\x0a\x15\xa4\xb8\x40\xf0\xed\xb3\xdb\x6d\x8e\x6e\x9a\x06\xd8\x86\x35\xa2\xa8\x5a\x4a\x42\x75\x1f\x62\xaf\x08\x92\x62\x96\x8c\xb6\x13\xdb\xab\xdd\x57\x4c\x7f\xbe\x96\x5b\x1a\x08\x8e\x88\x7b\x96\xcd\x1f\xd0\xff\x4a\x81\x28\x9d\xf0\x8a\x81\x92\xc6\x28\x6d\x73\xf3\x95\x1f\x70\x5b\xff\x0f\x99\xd1\x96\xb4\x02\xee\xd8\x60\x15\xf4\xee\x9d\x10\x96\x3a\xb6\x59\x4d\xf2\xfa\x22\x9a\xdd\xb8\x46\x7a\xd6\xcf\x6d\x30\x29\x81\x84\xda\x96\xde\x4e\x65\x0e\xf7\x16\xf8\xa6\xba\x2f\x21\x6e\xc3\x0d\xdd\x7c\x69\x6b\x50\xc4\x04\x45\x00\x40\x97\x40\xac\x00\x09\x55\xfb\x6e\x47\x72\xd2\x9f\x05\xa0\x62\x88\x84\x28\x96\xff\x32\x53\x91\x4c\xdc\x39\x4d\x09\x0d\x57\x97\x7e\x04\x61\x37\xd4\x84\x41\xa1\x24\x87\x48\x26\xc4\x57\xb8\x99\x37\x84\x4f\x2a\xde\xbd\xbf\xd1\x59\x69\xc3\xb5\xd8\x19\x68\xd2\xa3\xca\xb5\x26\xc8\x8f\x74\x02\xa4\x74\x6f\x93\x1b\x2f\x9e\x79\xa7\x4f\x55\x83\xfd\x18\x9e\x36\xfe\xd2\x2e\xbb\xd2\x57\xf9\xe7\x45\xe0\xfd\xc7\xbf\xfd\xaf\xbf\x3c\x4f\xe4\x3b\x16\x54\xba\x41\xe1\x94\x18\x5b\x84\x47\x26\x9d\xcb\x01\x85\x07\xbc\x02\x83\x54\x0d\xb6\x45\x2b\xfb\x02\x70\x99\x02\xb5\x5e\x92\x16\xc4\xee\x3b\x29\x60\x18\x38\x38\xcc\x61\x37\x02\xda\x61\x15\x09\xf7\x4c\x04\xef\x3a\x78\x2e\x53\xef\x11\xb3\x43\xc9\xd4\x8e\x40\x0f\x20\x4d\x23\xd6\x75\xb0\x07\x4f\xbc\x16\x51\xf7\xae\x73\x14\x84\x2b\x4b\x2e\x3a\x48\x15\x60\xb2\xb1\x64\x03\xb9\x94\x46\x7b\x74\x68\x72\x4f\x38\xca\x44\x0f\xa3\xef\x02\x64\xd0\x17\x16\x3a\x22\x14\x82\x04\x38\x37\x18\x6f\x34\x32\x13\xf0\xe2\x32\x6a\x6a\x80\x83\xf7\x0d\xd1\x67\xe1\x09\xa6\x36\x45\x69\x08\xfd\x22\x54\x54\xc4\x9e\x6b\x6d\x0b\xd3\x06\x75\x35\x44\xa8\x4f\x86\xae\x5a\x2c\x76\x95\xe0\xb0\xa3\x7e\x1c\x5b\x2b\xf0\x44\x95\x3c\xd5\x74\xec\xc0\xeb\xd1\xe2\x2f\xb5\x20\x7a\xc4\xd2\xdc\xa8\x9d\xcf\x87\xd6\x1c\x6b\x27\x27\x09\xc6\x17\xa9\xf0\xb2\xa6\x90\xa3\xe9\xb2\x75\x43\xae\x27\x07\x73\x10\xf6\x45\x84\xad\xc6\x00\x1e\x0a\xf2\x63\x49\x02\x51\x54\x41\x9b\x40\x92\xac\x4a\x82\x1e\x8e\xbb\x08\xc9\x47\xfa\x3f\x62\x26\x39\x45\x85\xeb\xc8\x1b\xa2\xe0\x74\x56\xf3\xa1\x11\x44\xad\x12\x4c\xbc\xd8\xdb\xb5\xde\xb1\xbd\x8a\xb0\x20\x42\x71\x9d\x72\x05\x9d\x01\xa1\x9a\xc1\xe4\x0e\x67\x78\xa0\xac\xd5\x3d\x9e\x3a\x13\xef\x86\x37\xc3\x7b\xe1\xad\xf0\x4e\xb0\xb0\x8e\x7c\xd9\x7c\x88\xa1\x19\xef\x35\xde\x05\x6f\x82\x16\x86\x32\x5c\x10\x78\x5f\xbf\x8b\x1a\x51\x1f\xde\x05\x4c\xd5\x78\x92\x6d\x64\x66\x9d\x88\x74\xf9\x84\x58\xfb\xa7\xbf\xfe\xfc\x1f\xdb\x5f\xbf\xfe\xfc\x34\xeb\xc6\x33\x55\xe9\xa3\x2e\x48\x76\x87\x2e\x2b\xf6\x95\x59\xb6\xca\xd4\x2d\x0c\x6f\x28\x45\x5e\x97\x0e\xc5\x39\xf4\x67\xa8\x07\xf6\xc3\xf3\xb1\x7e\x5b\x44\xe0\xbc\x2d\xa8\xf5\x17\x48\x91\x5b\x55\x77\xd2\xb5\xc1\x4f\x37\xae\x70\xfd\x0b\x4b\x37\x59\x29\xd9\xe9\x06\xa0\xfe\x29\xc2\xd1\xc6\x3f\x4f\xd9\x10\xe1\xa4\xc1\x84\xfb\x80\xa7\x0b\xd9\x94\x02\xc7\x03\x13\xe2\xa4\x93\x1a\xb7\x02\xb2\x2b\x32\x1c\xf5\x3b\x06\xf1\x6a\xa5\x85\xd6\x5d\xd8\x63\xbe\x33\xba\x15\x72\x79\x11\x55\xdf\x48\xa1\x01\x52\xd9\xed\xf4\x6e\x94\x72\x58\x8d\x71\xbd\xca\x6e\x58\x04\xef\xc7\x2d\x0b\xa5\xe3\x6e\x7a\x00\x53\xf9\x89\xe5\x78\x76\x2a\x2c\xa2\x66\x0c\xd6\xda\x75\x61\x71\x72\x88\xe7\xd0\xcd\x18\x68\xa4\x00\x64\x86\x87\x52\x46\x2e\xa8\x77\x46\xb3\x0c\x4b\x21\x67\x6b\x45\x21\x6c\xad\xa8\x6b\x2f\x08\x3c\x01\xa2\xc1\xe2\xe9\xdd\x77\x7c\x7f\xf0\xeb\x18\x63\x83\xba\x95\x00\x4a\x6a\xac\xdc\x80\x0c\xf8\xf1\xbc\x97\x15\x04\x55\x4b\x9f\xd9\xad\x08\x28\xee\xe2\xe9\x76\x3c\xb2\x3f\x31\x3a\x02\xfd\xf0\x31\xd2\xe8\xe7\x1f\xd6\xf5\xa7\xa7\xe1\x76\xaa\xca\xf6\xec\x5e\x81\xde\xdc\x6a\x7b\x87\x62\x1c\xb2\xe9\xef\x51\x8c\xc7\xf1\xbf\x24\x19\xf7\xe3\x9f\x48\xcc\xad\xb7\x54\x7b\xbb\x1d\x8a\xce\xbf\xf2\x12\x47\x69\xd0\xaf\xb8\x02\x40\x43\x06\x6e\xf9\x92\xc7\xb7\x88\xce\xfc\xbb\xcb\xbb\x54\x67\x71\xd6\x2f\xb8\xce\xf0\xd7\x77\xc8\xce\x3e\x9c\xe2\x3f\xfc\xfb\xd7\x67\xeb\x78\xe8\x47\xd3\x5b\x07\x38\x78\xdf\xa7\xc4\x3f\xb6\x01\x3f\xc6\xd6\xc5\x47\x88\x15\xb9\x82\xa1\x4a\x4c\x57\x2d\x70\x4e\x64\xa3\xd7\x38\x81\x16\xf8\x56\x07\x80\xeb\xa2\xeb\x99\x9f\xb4\x10\x4c\xc7\x59\x57\x6a\xac\x47\xd2\x70\x22\x9b\x61\x96\xfa\x24\x65\x08\xf0\x37\xcf\x7d\xc7\x2c\x90\x1f\x8d\x5b\x29\x22\x37\x31\xf5\xfb\xe3\xcd\x2e\x86\xc0\x29\xc9\x11\xc8\xa2\x63\x97\xf7\x18\xfe\x63\x75\x70\xcb\x16\xaa\xe1\x36\x8a\xef\x4d\x92\x7b\x92\xee\x3e\x69\xbf\x12\xcc\x83\xfd\x0a\x34\x70\xb9\xe3\x48\x62\x78\x1a\xc3\x4f\xcd\xa7\xd4\xeb\xcb\x40\xf1\x2b\x3b\x15\x26\x7f\x08\x82\xd0\x2b\xaf\x8f\x1c\x85\xf8\x85\x9f\x29\x8d\x41\x82\xc1\xfb\xc7\x87\x23\x1e\xcf\x7c\x68\xf2\xc3\x21\xf1\xee\x80\xf8\x08\x3c\x09\x0f\x6a\x98\xde\x96\x22\xdf\x10\x4a\xd8\xdf\x8a\x23\x58\xd5\xeb\xd2\xca\x6d\x99\xf2\x8d\x97\xbb\xbf\x7d\xa3\xa5\x15\x9e\x50\xa8\x15\xf0\xe9\x09\x53\xe2\x0a\xbe\x6d\xfc\x9a\x5b\xe2\xad\x8f\x9c\x2a\xd8\x13\x76\x71\x53\xbb\x81\x36\x17\x22\x2c\xfe\xfb\x52\x1b\x2c\x28\xb1\xf6\x7a\x01\xfd\xe6\x3f\xc8\x2b\xfb\xd7\x1f\xf7\xfd\xc7\x27\x54\xdb\x38\xa1\x99\xbd\xbb\xb7\x52\x80\x30\x73\x0b\x59\x9a\xaf\xfd\xd4\x64\x9d\xfb\xd2\xd2\x38\x64\x4b\xfa\xc4\x58\xf7\xd9\x38\x2c\xc2\x7f\x34\x35\x90\x42\x89\xda\x81\x12\x49\x00\xef\xd5\xd9\x82\x68\x0a\x5b\xe8\x64\x3a\x51\xa9\xb0\x81\xa3\xcb\xd1\x04\x5b\x00\x31\x48\x8d\xda\x89\xc5\xc2\x25\xe2\xab\xf4\xab\x86\x56\xec\x82\x0d\xe6\x9f\x55\xe4\xfe\x3f\xfe\xfa\x04\xac\x1c\xcf\xec\x82\x0f\xa8\xb3\xd2\x8f\x12\x2f\x08\x0b\xc1\x64\xd6\x08\xc4\xaa\x25\x19\x65\x07\xa7\x8a\x50\xbc\xcc\xce\xd4\xaf\x46\x19\x3e\x07\x1a\x22\x0d\x7e\x08\x80\x5c\x38\x2b\xd2\x2a\x68\xeb\xf1\xf3\x79\xc4\x79\xd2\x63\x53\x0f\x97\x38\x2e\x7b\xdc\xc7\xfd\xde\x5e\x5f\xa4\x97\x91\xac\x19\x41\x01\x51\x36\xa0\x79\x5d\x74\xba\x49\xd3\x6e\x8b\x65\x1a\xdf\xed\x20\x72\xa5\x6d\x24\x41\x62\xe6\xa6\x83\x1f\x3b\xcb\xba\x08\x6c\x52\x80\xe7\xf2\x9d\xf6\x55\x0c\xc2\xc9\xa8\x2c\x76\xe3\xb9\x8c\xa3\x75\xaa\x89\xc0\x7e\x9a\x29\x80\xa5\x3c\x51\xdb\xcd\x72\x8b\x96\xdb\x16\x60\x49\x70\x05\x42\x09\xab\xa7\x92\x74\xae\x67\x7b\xf1\xc1\xdd\x77\x28\x16\x25\x9d\x44\x08\xe0\x94\x95\xcd\xdc\xf8\x28\x60\x57\x49\xda\x90\xbc\x21\xad\xdd\x1a\xf7\x73\x34\xb8\xcd\x53\x60\x6b\xa7\xf6\xd5\x7a\x3c\x1b\xdb\xa2\x34\x4b\x63\x8e\x8b\x70\x4e\x0a\xd7\x2b\x7b\x2c\x1a\x6c\x1b\x81\xb2\xec\x54\xe4\xd9\x10\xc0\x5e\x74\xde\x7b\xeb\x6c\x3a\x64\x9d\xf1\xf5\x27\xdc\x97\xad\x3d\x8d\xce\x76\x2f\xa9\x6c\xee\x6c\x1a\x51\x6b\x70\x99\x32\x09\x84\x07\x01\x7c\xd6\x91\x35\xd7\x52\x93\xfa\xdc\x9e\x39\x19\xd8\x06\x41\xc7\x9b\x4b\xb2\xda\xb7\x05\xb8\x99\x86\x22\x12\x9a\x9f\x64\x36\x8d\xac\x1f\x6d\x31\x23\xfb\x9f\xd2\x11\x65\xa0\x42\x73\xd9\x59\x9f\x81\xa0\x16\xbe\x03\xcf\x8d\x3b\xd9\x87\xdf\xd3\x58\x9f\x41\xc6\x60\x3a\x7a\xc5\xdd\x4d\xf1\x57\x88\x28\x18\xaa\xde\x98\x6f\x88\x38\x8c\xd8\x19\xf2\xf5\x21\x48\x51\xd1\x39\x52\x93\x0b\x1f\x86\x65\x73\xad\xf0\xa9\x9a\x24\x9d\xc8\x4c\x55\x4b\x20\x11\xd2\x09\xb3\xb8\xb6\xa4\x85\x2c\x18\x44\x41\x20\x47\x39\x33\x02\x0c\x5b\x29\x49\x53\x03\x95\x10\xd8\x30\x8b\x04\x01\x23\x01\x93\x60\x57\x8b\x98\x8f\x8c\x87\xcc\xb7\x4a\xb8\xeb\xe2\x5e\x0d\x28\xcd\x6c\x97\x89\x3c\xcd\xd8\xd5\xff\xe2\xeb\x36\xf9\x4e\x74\xa4\x2a\x5b\x11\x96\x07\x22\xed\x13\xb2\x46\x91\x55\x2d\x81\xaf\xb1\x8f\x49\x1a\xbe\xfe\xfc\xa7\xeb\x8f\xb7\xe7\xcd\xfe\x43\x58\x70\x1e\x23\x88\x73\xdf\x61\x27\xad\xed\x7d\x76\xd2\xfd\x17\x94\xa4\xb5\xbd\x47\x49\xda\x5a\x49\xc3\x17\x8d\x6f\x12\xad\xd2\x28\x7e\xd7\x26\xe6\x39\xbf\xd2\x24\x26\xcc\x97\x26\x78\x84\x07\xde\xbd\x58\x05\xad\xc6\x3b\x57\xe3\x49\xbf\xbc\x5a\xb5\xf6\x5b\x0d\xf0\xef\xff\xfa\x44\x8d\x34\x9e\xf1\xc9\x0f\x02\x33\xcd\xd4\xbd\x93\x6f\xb2\x23\x87\x9f\x83\x58\x63\x07\x4b\xca\x8a\x42\x6c\xcd\x13\xe8\x6a\x92\xf6\x92\x77\x75\x72\x2b\x97\x71\xb4\xc3\x77\x86\xa7\x59\x7d\xe4\x25\x99\x40\xe5\x2c\x01\x48\xf0\xc5\x98\xd4\x18\x5f\x82\x9f\x80\x5c\x24\x60\x9d\x0e\x7d\x3b\xb1\xdb\x00\x1b\x85\x8e\xdb\x32\x7c\xf9\xa5\x47\x40\x75\x6c\xa6\x30\x46\x87\xad\xd6\x5a\xb2\x19\x31\x52\xa3\xb4\x79\x4d\x82\xad\x00\xc9\xea\x7e\xb9\x17\xac\x15\xf0\x16\x1e\x5a\x8c\xc5\x48\x13\x38\x91\xbe\xc0\x4a\x80\x18\x2b\x53\x0a\xed\x4b\x5d\x35\x6b\x52\xed\x20\x1c\x03\xba\xb7\x82\x37\xe4\x00\xdf\x3f\xbd\xd2\xfd\x0d\x6d\xb4\x96\x9b\x62\x4f\x72\x93\x1e\xac\x9e\xec\xb6\xa7\x43\x63\x48\xaf\x82\x20\x4b\xb7\xeb\x28\x65\x3d\xce\x7a\x20\x48\xde\xdf\x0c\x89\xa3\xef\x79\x01\xff\xe7\xb6\xe8\x2c\xac\x68\xb8\x0f\xa0\xcb\x7d\xbc\x42\x1a\x4c\x68\x37\x53\x38\xdb\x10\xec\x4a\x0a\x3c\x15\xfe\x65\xf4\x8b\x1f\x17\x7c\x9e\x51\x44\xfb\x99\xdb\x7d\xfb\xb7\xa7\x41\xf8\x8c\x1c\x9f\x7a\xba\x80\x53\xc0\x20\xdd\x36\x40\x21\x22\xbd\x11\xa1\x94\xc2\xbc\xa8\x0f\x8e\x51\x37\xa2\xdc\x84\x34\x3d\x5d\x43\x36\x6f\x21\xbe\x8c\x54\xa9\x44\x53\x15\xb0\xd4\x04\x66\x06\xac\xda\xb6\xa1\xd2\x0a\x69\x4b\xc1\x42\x0a\xa6\x1a\x64\x49\x65\xb3\x7b\x7c\x1c\xc0\xc9\x83\xdb\x27\x1f\x2b\xa0\x9e\x38\x2e\x04\xfe\x30\xbc\xe0\x7e\xc5\x4d\x32\xd4\xca\x0a\x5d\xd5\x15\xa5\xa2\x50\x98\x46\xa0\xa8\x67\xc8\x11\x36\x86\x66\x23\x2f\x57\xc7\x25\x58\x7b\x00\xf9\x08\xcc\xce\xa0\x4c\x29\xb3\xeb\xcc\x82\x11\xb7\x35\x8f\xbf\x56\xdd\xa9\x4a\xe4\x2d\x1d\x09\x5e\xbb\x03\xcd\xfa\x91\xc7\x5d\x03\x61\x73\xcc\x48\x68\x80\xbb\x33\x2b\x75\x43\xfa\x00\xcb\x7c\x0b\xa1\x41\x6e\x24\x35\xd8\x3c\x50\x80\x9a\x91\xb1\xe0\xa3\x22\x9e\x7d\x14\x0f\xf4\x40\x8b\x20\xca\x38\x21\x56\xdf\x92\x54\xff\xa0\xac\x9c\xf6\x8f\xc6\x24\xb8\x82\x24\x17\x59\x2f\xed\xbb\x4f\xb5\xb5\xa4\x76\x81\xc9\x33\x91\x1b\x9f\xab\xf6\x92\x14\x50\x19\x25\x19\x69\xa0\xc9\xfc\x29\x88\xd1\x68\x84\x06\x62\x3c\x1c\xdc\x1e\x20\x28\x45\x41\x93\xbf\xd0\x01\x4a\x22\x18\x70\xe0\xf9\x68\x99\xda\xcc\xb9\x50\xf5\x10\xdd\xbf\x13\x92\x87\xc8\x31\x52\x4d\x65\xd7\x9e\x88\x49\xab\x09\x29\x79\x55\x22\x6e\x4a\x07\x74\x6e\xc8\xee\xef\x12\x98\x16\xb8\x28\xa9\x1b\xe2\x6a\xa5\xad\xfe\x60\x0a\x4c\x19\xa2\xab\x35\x15\x83\xe5\xe8\xe3\x8c\xc4\xc5\x02\x56\x54\xcb\x5b\x45\xb4\x51\x6d\x26\x2d\x97\x0d\xea\x9f\xe4\x18\x17\xe3\xe3\xa4\x08\xb5\xdb\x3d\x51\x59\x88\x23\x58\x4c\xf7\x47\xbb\xdc\x87\x7f\x80\x3c\x3a\x13\x40\x80\xc7\x69\x8c\x06\x22\x5d\x8b\xc6\xe8\x2d\x23\x4e\xce\x27\x3e\xdc\x66\x14\xf3\x41\x9b\x60\x00\x9a\xe7\x7e\xc2\x0e\x50\xd0\x0e\xe8\xd2\x97\xba\x43\x7e\x6f\x87\xd6\xa1\x8f\xb4\xc6\xa0\x33\xaa\x09\xb4\x6e\xa8\xbb\xf1\xff\x07\xa4\xdd\x6f\x75\x2d\xc9\x56\x02\xe1\xc4\x92\xed\x9a\x93\xff\x55\xc7\x48\x7a\xd9\x6c\x26\x10\xd2\xf9\xad\x93\xd7\xeb\xb3\x95\xe4\x3f\x7f\xf8\xf1\xfb\xe7\xf8\xdd\x47\x1c\x65\xad\xd7\xa4\x55\x37\x92\xd1\x89\x90\x92\xb2\x82\x59\x1a\xd0\x48\x44\x52\x85\x64\xe0\xa5\x05\x71\x6c\xa1\x87\xd0\x8e\x42\xe2\x8a\x04\x36\x6b\xe0\x20\x8d\x1f\xa9\xe5\xd7\x97\xde\x66\xb2\x6e\x24\x88\xb3\x87\x2a\xf6\xb3\x88\x5f\x4a\x8a\x00\x69\xa0\x44\xf5\x81\x13\xc7\xbb\xd9\x84\x7e\x01\xb4\xa7\x17\x60\xd3\x90\x9c\x56\x34\xf0\xfa\x32\x8b\x0f\x95\xb6\x71\x07\x05\xff\x51\x65\xaa\xd7\x1d\x34\xb8\x57\x17\x62\x56\x39\x80\x71\x69\xdc\x06\xd6\x92\xd1\x89\xb7\x9c\x46\x50\x43\x12\x7f\xdd\x84\xb5\x31\x29\x0a\x64\x4c\x0d\xa4\x22\x30\x6d\x04\x11\x30\x27\xa9\xc0\x34\x83\x8b\xcf\xbd\xf1\x31\x93\x74\xbf\x72\x06\x9a\x38\x03\x6a\x00\xc4\x87\x6f\x9f\xa8\xf0\xf1\x05\xb7\x05\xee\x21\xd0\x5e\x1c\x5d\x48\x44\x82\x4e\x2a\x01\x5a\xdb\xf3\xce\x66\x16\x6f\x47\xa3\x83\x05\xa4\x05\x6a\x89\x8d\xb0\x0d\x36\x81\x16\xdc\x73\x6f\x96\x8a\x42\x41\x1f\x01\x17\xea\x63\x84\x17\x0e\xd0\x6e\x77\x6b\x3b\x1e\x29\x38\x01\x10\x75\xf0\xbb\xe5\x1c\x92\x1d\xbc\xcd\x84\x45\x28\x30\x12\xd3\xa0\x2f\x8e\x15\x58\x60\x81\xc8\x9c\x94\xc6\x90\x8a\x6a\x5a\x98\xef\x32\x61\xb1\xd7\xb1\x49\x9b\xc9\xff\xb3\x42\x40\x42\xdb\xb5\x70\x29\xde\x1a\x12\xaf\xe1\x5d\x4d\xba\xb0\xc4\x2c\x69\x26\x67\x3d\x91\x08\x98\x85\xc6\xe2\xdb\xb5\xf9\xa2\xe7\xd3\x62\x22\x81\x5c\xe7\x2e\xa0\xd6\x14\x10\xc9\x36\xa3\x74\x07\xe2\xb6\x1c\xa1\x51\x96\xb9\xdf\x01\xef\xa8\x1c\x40\x5d\x42\x5a\x1a\x10\x29\x32\xc8\x2a\x5a\x3a\x12\x73\x70\x0c\x88\x3d\x21\x8f\x45\xf1\x57\x9a\x4b\xdb\xdc\xf6\x2a\x3d\x31\x0a\x23\x99\x56\xd8\xd9\x85\xc4\x75\x9e\x55\x21\x70\x03\x18\xaf\x41\xae\x65\x60\xda\x70\x57\x2a\x30\x97\x7c\x19\x03\x41\x88\xcf\x3b\xec\x09\x50\x82\x39\xb6\xc7\x02\xb0\x9f\x2f\x95\x30\x02\x21\x81\x02\x2b\xcb\x3a\x42\x43\x58\x5f\x0c\x95\xaa\x0b\x83\x2a\x91\xa5\x7b\xbd\xbc\x48\xeb\xbe\x06\x67\x66\xf9\x67\x4b\x47\xe6\x2d\x40\x6e\xdc\xfd\x80\xc9\x59\xc8\x8b\x8b\x39\x0d\x96\x03\x7f\x48\xa8\x00\x80\x9e\x20\xf9\xda\x30\xd2\x50\x2e\x5d\xba\x23\x97\x56\x07\x14\x5a\x90\xfd\x2e\x23\x51\xcb\xc5\x8d\xa9\x71\xc0\x71\x89\xf6\x9c\x91\xbc\x05\x1a\x91\x9a\xbe\x07\x1f\x03\x92\x44\xc2\x9c\x92\x02\xad\x06\xb7\x0e\xac\x45\xbe\x9a\x7e\x2c\x96\xff\xc3\x9f\x7f\xfe\xe1\x39\xc8\xf3\xfd\x43\x35\xb4\x45\xe1\x5b\x17\x56\x94\x19\x44\x67\xfc\x2f\x93\x74\xa2\xad\xa7\xe9\xee\x3f\x04\x39\xe8\x4e\xfa\x36\xcc\x6d\x5d\xdb\x20\xad\x77\x29\xe9\x9c\x9d\x23\xbc\xce\x45\x45\x5e\x5f\x9a\xf9\x9a\x36\xcb\x6d\x29\x83\xe2\x0a\xc1\xe7\xc1\x9d\x27\xd0\x71\x9c\x4b\x99\x78\xae\x21\xc1\x8f\x31\x24\x95\xc9\x68\x78\x47\xa5\x41\x32\xd8\x64\x24\x7e\xd4\x46\xd2\x40\x5f\x8a\xfa\x11\x87\x33\x66\x2a\x90\x41\x1c\x00\xc0\x90\x29\xbd\xa4\x89\x10\x2c\xc4\x0d\x32\x17\x57\xdc\x03\x6e\xe1\xe6\xf7\x26\x08\xd2\xe6\x64\x48\x55\x5a\x3f\xf8\x25\x79\x9d\x70\xd4\xcb\x67\x58\x9e\xef\xac\xeb\x53\x8f\xff\xe9\xa3\x0a\xc7\x92\x35\x15\x23\xc4\x19\xc1\x7c\xc4\xe1\x6d\xec\x90\x1f\x27\x19\xce\x04\x07\x44\xc0\x7a\xb8\x24\xe2\xcf\x2d\xca\xee\x97\xd1\xa2\x00\x84\xcb\x0b\xd6\xaa\x60\x26\x59\x01\x39\x04\x0e\x0e\x96\x1a\x22\xcb\x91\xe5\x8b\xb0\x24\xa7\xaa\x31\xc3\x8c\x18\xa9\x69\x72\x3f\x4a\x40\x6c\xe1\xff\x0a\x09\x1a\x99\xfa\xf5\xbd\x2e\x19\xe1\x5e\x19\xb9\x6f\x42\xa9\x26\x60\x9a\x16\xc5\xa7\x54\x70\xdd\x09\x38\x34\x3c\x0e\x21\xb3\x06\xfc\xd5\x65\x5f\xa6\x22\xb6\x3b\x08\xd8\x77\xcb\x0f\x9f\x4a\xdb\xdc\x1b\x2a\x3d\xa9\x6f\x7b\x7d\x17\x42\xd6\x3b\x11\x44\x5f\x0e\xd4\xf9\x20\x2d\x4e\x0f\x44\xc9\x50\x60\xbe\x4c\x12\x28\xa8\x83\x1a\x36\x88\x38\xd9\x21\xc7\xd6\xcb\x6e\x62\x59\x91\x04\xe1\x25\x5a\xc3\xfd\x96\xc0\x5d\xf6\x9a\xda\x11\x4f\x9e\x34\x9a\xb1\x5b\x79\xf7\x6e\x9d\xbc\xc7\x30\xaf\x88\x6d\x0a\x62\xd0\x7d\xb2\x12\x2e\xb2\xdf\x19\xe1\xf8\x26\xbb\xaf\x8b\xcd\xf6\x43\x30\xe6\x02\x4b\xd4\x77\x9b\x15\x70\x64\x68\x85\x82\xa7\x8c\x90\x42\x50\x50\xeb\x01\x54\x28\x21\xdc\x41\x06\x14\x22\x03\x6a\xc1\x56\x03\xe8\x5a\xac\xd9\xa2\x7d\xef\xa8\x39\xf5\x3b\x44\x9d\x6c\x8a\x80\x16\xe2\x51\x7c\xd3\x20\x17\x72\x5f\x75\x1c\x36\xe1\x98\x61\xd6\x31\x6c\x2d\x76\x32\x10\x4d\xd2\x76\xc1\x90\x0b\xc9\x2b\x40\xe1\x80\xae\x05\xaa\x00\x81\x23\x4b\x1d\x4b\x1f\x0c\x60\x78\xba\xb6\x83\x4d\xaa\x8e\x1d\x54\xe5\xa0\x90\x08\x0f\xf8\xe2\x7d\x15\x79\xf0\x58\x35\x80\xe9\x47\xe4\x29\xec\x1a\x6e\xf9\x95\x48\x80\x7b\x62\x9a\x4f\x4e\x76\x08\xda\xad\xc1\x29\x50\xb0\xe4\x2e\x18\xd0\x18\x2d\x12\xef\xbb\xc4\x0c\x30\x96\x21\x80\x66\xb3\x33\xf4\xb6\x35\xbf\x6b\xe6\xcc\x49\x3e\x51\x64\x07\xcb\x14\xe8\x28\x88\x3c\xd3\x5d\x58\x86\x91\x77\xd4\x1b\x33\x30\xed\xa6\x82\x1f\xf9\x39\x39\xe6\x77\xdf\x62\xc7\x1c\xcf\x6a\xcf\x8f\x09\x4c\xdf\xbc\x87\xdd\x16\x96\x3e\x8e\x7a\xca\xdd\x94\xa8\xa1\x62\xd0\x71\x7e\xa9\xd7\xa5\x76\xf2\x09\xfb\x5a\x75\xd3\x36\xaf\x4b\x45\x01\x0e\x63\x1a\x38\x92\x53\xbd\x92\xb2\x09\x72\x4c\xed\x2a\x6a\xe3\x95\x97\x6a\x79\x1e\xba\xfe\x6a\xe3\xe6\x9f\x1e\xbe\x9d\xd6\x3f\xf8\x56\x72\xef\xb7\xa5\xf5\xf8\x16\x9c\xdc\xa3\xa4\xb8\x16\xbb\xeb\xb8\x85\xeb\x28\x6d\xc3\x7d\x3d\x3c\xc0\x7e\x3c\x99\xf9\xb6\xfc\xc9\xea\xfa\xa4\x09\x36\x1e\xd0\x55\xf5\xce\x7e\x79\x30\x01\x50\x49\x6e\x81\x94\xdc\x7c\x23\x36\x17\xc0\x84\x03\xa3\x3d\xa3\xa8\xee\x26\x53\xaf\xc8\xc9\x7d\x78\x08\xe2\x1b\xe9\xf8\xcb\x7e\x1c\x74\xb5\xaa\xef\xd4\xd1\x6f\x90\xb6\x3b\x48\x12\x0e\xf9\x3b\xdc\xcf\xa1\x42\x67\x72\xa6\x57\x0a\xc4\x05\x92\xc2\x25\x44\x84\xcb\x6d\x9c\x6e\xf0\x11\x23\xd0\xca\x6f\xfc\x1f\x56\xd3\x22\x1a\xfb\xad\xa8\xec\x1e\x27\x1f\x8d\xb1\xf1\x7f\x5e\x98\x1d\x99\x13\xfe\xf4\xe3\xcf\x7f\x5a\x7f\xf8\xee\xeb\xba\xbf\x4b\x1d\x31\xf3\x9b\x81\xf1\x86\x27\x22\xea\x44\xa2\x9c\x81\x6e\x2b\xa6\x92\xbf\xbe\x6f\xb1\x49\x9c\x02\x85\xc1\x16\xe2\x5e\xb8\xcc\xa8\xe4\xc3\xab\xf6\x7f\xd6\x43\xb9\x70\xe2\xf5\xfb\xbb\x07\x1a\xea\xb8\xc6\x7e\x5e\x18\x17\xf2\x01\xf3\xcd\x23\xfe\xff\x61\xf1\x9b\x86\xc5\x77\xd6\x9f\xb2\x46\x53\xde\xa0\xa8\x67\xb0\x0e\x7f\x53\x24\x2d\x93\x45\x3f\x89\xae\x4b\x29\x83\x1a\x94\xda\xc9\xf7\xd1\x51\x2b\xe0\xff\xae\xc7\x77\x82\x72\x6b\x9c\xf0\x7e\x14\xdf\x8d\x51\x69\xf9\xa0\xcc\x89\x91\xf7\x30\xf0\xe6\x9d\x73\xe7\xbe\xde\x2c\xe7\x82\x13\x43\xe5\xa0\xee\xe1\x9a\xb3\xdc\x17\x1d\x8c\x5b\xf0\xed\x9c\x83\xe8\x18\x43\x18\x42\xff\x8c\x04\x40\xff\xf2\xd3\xfe\x30\xbb\x9f\x5e\xa9\xbe\xc3\x9f\xbc\x1c\x04\xca\xcb\xc9\xa0\xbc\x1c\x14\xca\xc1\xa0\x1c\x04\xca\x07\x7f\x72\xd0\x27\x2f\xe4\x4f\x5e\x40\xa0\x0c\x7a\x62\x8a\x0c\x94\x11\x48\xca\xb7\xd3\xea\x6f\x9d\x55\xfb\xb7\xa6\xee\x6f\x98\x6e\x97\x7f\xbc\xf9\x36\x9e\x5e\xce\x33\x0c\xe7\x21\x33\x94\xd5\xdc\x89\x03\x25\xb7\xbb\x65\x1b\xc1\x82\x90\x9d\x61\xbe\x3d\xef\x90\x9e\x58\x50\x5e\x70\xe4\x40\xc7\x3d\xc4\xed\x87\x29\x48\xa1\x61\x95\x0d\xe6\x24\xfd\x45\x52\x87\xd6\x2c\xef\x47\x28\x49\x56\xc4\xbb\xa1\xdc\x04\x20\x21\xaa\x76\x91\xa3\x0e\xd4\x08\x8a\x05\x22\xc2\x39\x6a\x8a\xb4\xa7\x09\x39\xe7\x19\xb6\x40\x6d\xa0\x60\x6e\x2b\xcc\xd5\x06\x06\xd2\x24\x40\x29\x17\x96\xa3\x31\x08\x52\xbb\x24\x2d\x73\xc5\x43\x49\x89\x60\xbe\xe8\xb8\xb0\xc2\xaa\x13\x51\xd0\x0f\xb0\x56\xed\xc9\xea\x8a\x02\x83\xd2\xfb\x75\x29\x5d\xcf\xec\x91\x06\x99\x60\x84\xfa\x4a\x76\x43\x76\xb6\xd4\xbb\x2f\x53\x49\x7a\x6a\xa9\x80\x77\xaa\xa2\x54\x7c\xc0\x66\xed\x70\xd5\x36\x28\x77\xc2\xe1\x2b\x7d\x2f\x24\x5d\x45\x98\x6b\x52\x07\x2e\xc2\x59\x02\x0e\x48\xf9\x52\x57\x2a\xf9\xcc\x6b\x21\x73\xd5\xb8\x2e\x25\x77\xc4\xbd\xfd\x97\x52\x2b\xa5\x47\x2a\xea\x81\x56\x78\x91\xa5\x7e\x92\xb0\xf9\xf1\xdf\x7f\xf8\xe9\xbb\xf7\xc1\xb9\xf3\x4e\xc9\xa6\x53\xd3\x98\x03\x9c\xcd\xd4\xe4\x93\x50\xfe\x60\xb9\x8d\x51\x6f\x47\xb6\x82\x5a\xdf\xe1\xfe\xd1\x36\x6a\xca\x28\xf2\x02\xe7\x0f\x4b\xfb\x50\xf3\xd5\x7a\xe0\xbd\xc5\x5d\x5e\xa2\xa1\xfd\x94\x46\x8b\xaf\x16\x0a\x50\xd5\x8a\x2c\x8a\x20\x80\xd8\xc0\xda\x03\x78\x10\x1c\x1c\x4a\x2b\xe6\x15\x04\x41\x5d\xcf\x9f\xde\x71\xad\x6f\xbd\xa5\xaa\x69\xf8\x2e\xb0\xd5\x0e\x99\x9b\x8e\x31\x0c\x65\xd6\x5a\xb9\x03\xb4\xd0\x59\xe4\xa7\xad\xc5\x30\x67\xe3\x7d\x5e\x36\xc1\xb9\x36\xcc\xfd\xe6\x4d\xd5\xfd\x49\x4b\xaa\x2d\x95\x52\xfe\x19\x15\x40\xbe\x33\x77\x5f\x7e\xf1\x9e\x9f\x11\x45\x52\xf5\x8d\x59\x46\x81\x5b\xe4\xcc\x26\x11\x01\xd5\x17\xb4\xa8\xbc\x67\x79\xb9\x55\xe3\xb7\x01\xa8\x7c\x62\xae\x6a\x22\xeb\x82\xa8\x51\x6b\x47\xce\x8b\x25\xed\xa8\x2e\xf6\x6d\xbe\xfd\x02\x7d\x23\x0a\x7c\x24\x63\xc4\xb2\xaa\x59\xea\x72\x9b\xf6\xfb\xb4\xa3\x35\x3f\x51\x69\xb5\xfc\xac\xd1\x7f\xf3\x7d\x67\x35\xdf\x96\x04\x78\x9d\x4a\x54\xda\x7e\x40\x6d\xd8\xfc\x72\x86\xc4\x65\x5d\x6c\x52\x2d\xfa\xb6\x4c\xfb\x9b\x4f\x2d\xa3\x6f\x32\x98\x70\x70\x1f\xb8\xca\x0e\x24\xba\x3e\xb3\xdb\xb5\x77\x64\xf9\x3f\x1a\x08\x7f\x59\xff\xfa\x1f\x31\xef\xbf\x7b\xca\xb3\xcc\x27\x1e\xbb\xc7\x60\xd8\x69\xa8\xb7\xf2\x3e\x9f\x1b\xec\xf3\x00\x4c\x3e\x7f\xdb\xca\x3b\x63\x03\x48\x4e\xfa\x73\x4f\xc3\xa6\xfc\xf2\x61\xbd\x7d\x36\xff\xe6\xcf\xad\xbc\xf3\xe6\xbc\x61\x58\xef\xbf\xec\x1c\x1a\x7d\x3a\xc6\x6d\x40\x3f\x1c\x82\x4d\xdd\xd7\xe3\x9d\x55\xa9\xfd\xba\x0c\xd3\xcb\xa9\xb0\x1c\x0b\xf5\x12\x2b\xf5\x6d\xe1\x79\xd0\x62\xe2\x9f\xf6\x38\xe6\xea\xdf\x9c\xab\x3b\x17\x77\x11\x0b\x7a\x1f\xae\x17\x71\xf2\x27\xeb\xc5\x40\x29\xda\x87\xeb\x05\x1b\xfa\xf6\x7a\xe1\xdf\xff\x5d\xeb\xc5\x53\xa8\x74\x3e\xe1\x7a\x54\xdc\xa6\x67\x16\x4e\x73\x2a\x80\x54\xa0\x2c\x14\x22\x6f\xd0\xe4\x21\x90\x83\xf8\xdb\x37\x56\x34\xd1\x89\x24\x94\xc1\x2e\x0f\x5a\x86\x32\x61\x76\x28\x55\x1e\x1e\x89\x3e\x51\xa6\x7a\xff\x74\x7e\xbd\x2d\x1d\xe4\x11\x38\x37\x27\xa3\x11\x5e\xdb\x61\x83\xfb\x75\xae\xad\xf8\x2d\xf8\xa4\x93\x0a\x0c\x54\xdc\x9c\xf8\xde\x5b\x94\x9a\x6f\x34\x29\xc6\x3e\x58\xb8\x5f\xb6\x71\x94\x26\x1f\x82\xc2\x8c\x34\xa3\x9e\x83\xf6\x7d\xc9\x97\xc3\x45\x2d\x79\x5f\x1e\xbe\x5f\xce\xb3\x58\x00\x0a\x34\x38\xdb\xdd\x97\xf3\x5a\x10\x5d\xf1\x11\xd2\x6d\xa6\xd6\xc6\x56\x91\x5a\x03\x39\xf0\x54\x92\x2b\x4f\x5d\xc1\x86\x97\x7d\xa3\x2a\x23\x41\xa5\x43\x81\x3f\x16\xd5\xd7\x97\xa6\x6e\x81\xe4\xab\x64\x28\x95\x0a\x75\x35\x17\x28\xe7\x8f\xbc\x2d\xb5\x9f\xe3\x18\xa1\x38\x50\x0b\xaf\xc8\x71\xa8\x9b\x41\x03\x51\x67\xa2\xa2\xf0\x1f\xd3\x67\x20\x0a\x8f\xf2\xe4\x2b\x24\x57\xa6\xa5\xd2\xca\x55\xcf\x0d\xd2\x8d\xe4\x56\x5e\x5f\xcc\xf7\x5c\x08\xef\xcf\x35\x0e\x9a\x8d\x92\xde\x28\xfe\x9e\x7b\x07\x5a\x66\x3d\xaf\x45\xfe\x05\x09\x3e\x04\xe6\x18\xd4\x22\x6b\xaf\x73\xa7\xb0\xbd\x06\x93\xc5\xc2\x4c\x33\x1f\xe8\xba\xf0\x41\x45\x1a\x53\xcb\xbc\x89\x4f\x46\xb3\x3d\x8d\xe6\x0f\x51\x52\x55\x66\xea\x2d\x6f\x8d\xb2\x88\xf7\x74\xfa\x41\x8f\x2d\x34\x4c\x67\x3f\x68\xfa\xf2\xba\x48\x77\x3b\x76\xae\x95\x64\xea\x77\x05\xde\x02\x46\xb3\x3a\xa9\x67\x29\x59\x8f\x12\x60\xdb\x16\x54\xf2\x91\x6d\x41\x7b\xd0\x19\xb8\x5d\x53\xdd\xc2\xac\xeb\x62\xa4\x70\x6c\x6b\xa5\xbd\xb2\x91\x7b\x65\x7c\xa3\x55\x7d\xdb\x6a\xb4\x79\x6f\xd1\xd6\x05\x09\xc7\x6a\xac\x52\x98\xe4\x90\x9a\x97\x93\x81\x31\x1f\x25\x4e\x48\x98\xb2\x90\xaa\x74\x12\xe0\x8d\x4a\xed\x93\x6a\xab\x9b\xff\x15\x85\x8f\x35\x19\xd0\xb5\xfe\xd8\x95\xd8\xa8\x65\x10\x70\x35\xb6\xa5\xe5\x68\x35\xe8\x79\x8b\x3b\x03\x19\xbd\xf7\x6e\xab\x1d\xad\x56\x4b\x42\xa2\x19\x0a\x0b\xe2\x59\x1b\x78\xe8\xa2\xbc\x28\x2b\x4b\xc9\xf1\xa4\x83\x24\x45\xfe\x60\x6e\x0b\xc2\xd8\xcc\xab\x01\xae\x50\x57\xd6\x0b\xe6\x5f\xb4\x56\x27\xf5\x77\x25\xeb\x65\x8f\xa7\xb6\xa3\xb9\x13\x5b\xc3\x02\x2c\xbf\xbd\x95\x44\xe7\xb2\x82\x88\xab\x6e\x20\xbc\x2a\x96\xda\x86\x47\x0c\xc9\x48\xa4\xa8\xc9\xdc\x3e\x03\x92\x59\x82\x49\x9f\x78\xcd\x0e\x2a\x0a\x62\xd5\xa0\xfd\xbf\xc2\x24\x36\x69\xab\xdb\x9f\xb5\x6d\xcc\x93\xb6\x34\x5e\x5f\xba\x4f\xed\x39\xee\x4f\xc2\xde\xbe\x0f\x8b\x8f\xe5\x4f\xbe\xb3\xf1\x14\x92\x9d\xf3\x1f\x5c\xfc\x04\xfb\xb3\x6f\xf5\x05\x5c\x98\x12\x4c\xa9\x05\xfa\xaa\x48\xf2\xaa\xa6\x03\x70\x30\xb0\xd0\x62\x4e\xce\xb9\x2d\x93\x62\xe7\x74\x13\xda\xbc\xe5\x5b\x3e\xf7\xf1\x56\x52\xf3\x61\x5e\x3a\x79\x47\x8b\xa6\xa9\x47\x9d\xec\x64\x7e\x0d\x1c\x36\x66\x98\x35\x26\x49\x41\xc8\x77\xd4\xa4\x44\xfd\x07\xcb\x3f\xb0\xbf\x52\xf1\x11\x65\x20\xa8\x02\x89\x9b\x27\x87\x60\x09\xce\xc7\xd4\x73\xe0\xc0\x74\xc6\xce\x7e\x56\x03\x2d\x51\x40\xb2\xb4\x11\xda\xc4\x76\x97\x3c\x62\x62\x0d\x1e\x0a\xe8\xdd\x35\x89\xf5\xc8\x08\x09\xf3\x9f\xc3\x36\x3b\xb0\x3c\xcc\x3e\x0b\x01\x4e\x64\xa0\x09\xae\x08\xbb\x04\xeb\xc1\x3c\xf7\xad\x7e\x87\x1c\x1d\x9f\xce\xa0\x15\xbe\x93\x08\x55\x91\x03\x80\x34\x5d\xfc\xb7\x40\xcd\xcd\x47\xb0\xb6\x9e\xa4\x97\xcd\x50\xa0\x09\xc2\xaa\xa6\x87\x0c\x43\xff\x15\x26\x46\x7d\x1a\x9c\x1f\x01\x7d\x44\xfb\x11\x6d\x6d\xa0\xeb\xf2\x65\xc7\xc0\xbe\x9a\x73\x65\x5a\x7c\x62\x2a\xb9\xb1\x7d\xc8\x1e\x88\x80\x41\xa0\xa6\xd6\x27\x9d\x19\x32\xfa\x10\x10\x86\x52\x81\x00\x13\x32\x71\x55\x02\xda\xb3\xd4\x79\x7e\x1a\x2b\x12\xbf\x5a\xdb\xba\x68\x1f\x69\x28\x76\x37\x4b\x63\xa4\xb1\xc9\x4c\x44\xeb\x53\x72\x0f\x9c\xe4\x47\x3a\x12\xac\x91\x0a\x9f\x37\x6f\x88\x73\x25\x08\x81\x20\xe7\x4b\x65\x4c\xbc\x85\xf3\xfa\x72\x80\xbb\x48\xcb\x42\xc4\xd4\x85\xec\xfa\xcb\x00\xc1\xfc\x58\x85\x59\x93\xb1\x2e\xe2\x83\xa8\x66\x6c\xe3\x39\x61\x4c\xfe\x2d\xf7\x15\xa6\x37\xc1\x4b\x2d\x81\x5b\x2a\xfb\x76\xe1\x7b\x3c\x49\xfc\x50\x18\x8d\x21\x39\xc1\x56\x87\x85\x52\x69\xd2\x54\x1f\x6a\x84\xe2\x94\x79\x25\xaf\x3a\xd4\xb8\xa7\xc6\xb6\x09\xfc\xce\xac\x11\xcd\xd1\x44\xda\xa2\x12\xf4\x6d\x80\x9d\xc0\x3e\x17\x32\x1a\xe9\xa1\x9a\xb0\xa8\x5c\x82\xcf\x43\xcb\x2e\x20\xab\xd8\x9a\x51\xeb\x18\xd0\x13\xd1\xd7\x97\x99\x67\xaa\xdd\x56\x35\xc8\xc4\x41\xdf\x00\x25\x1b\x88\x53\xa1\xa0\x15\x55\x43\x78\xbf\x1b\x64\x7c\x81\x0a\xf6\x95\x00\x91\x21\x5f\x5d\xf3\xdc\x10\x7e\xea\x85\xa3\xa8\xcd\x87\x98\x5f\x79\x8c\xf9\x81\x83\xd1\xc7\xbf\xf9\xa8\x1a\x5b\x25\x44\xa8\xce\xa4\x00\x56\x23\x9b\x9c\xfa\x0c\x81\xcc\x6a\x6d\x63\xf1\x83\x21\x4b\x20\xbb\x0e\x44\xb7\x65\x27\x1a\x75\xb4\xbd\x83\xee\x78\x90\xe3\x01\x1f\x8e\xaf\xdc\xbe\x3c\x0e\x5f\x8e\x06\xf0\xa1\x0b\xbf\xc2\x37\x7e\xb8\x37\xe4\x0d\xf8\xf9\xf1\xe3\xf8\xf3\x71\x1c\xcf\xe3\x8d\xb9\x2f\x0d\xbc\x80\x1b\xcd\x60\xe3\x64\x98\x54\x10\xad\xc2\xbf\x08\x8a\xb6\xc1\xef\x61\x71\xc6\xa7\xfb\xb7\xcb\xfd\x94\xe5\x6c\x26\x3e\xa1\x5c\x0e\x91\xd7\x38\x40\x82\x4f\xc8\xcf\x03\xaa\x0b\xad\xdd\x3f\xdd\xbf\xbf\xec\x0f\xe7\x9d\xad\x7d\xb6\xa0\x3c\x67\x18\x3e\x12\x8c\x94\x3c\xf8\x7a\x6e\x40\xea\xfb\xdc\x06\xfe\xc5\x4d\x61\x1d\x89\xf1\xb7\x02\x55\x85\x45\xa7\x25\xcd\xb1\x64\xb8\xdd\x42\xec\x25\x88\x04\x32\x95\x1c\xb0\x99\x75\xdf\xd6\xa0\x53\x47\x22\x83\x3c\x6e\x6e\x17\x3e\xd8\xe5\xc6\xe8\x09\xcb\xfe\x2d\x14\x3c\x02\xd5\xab\x49\x88\xcd\xd2\xd6\x77\x1b\x31\xa5\xea\x4d\x0c\x3b\x63\xaf\x35\xcd\x5a\x10\x10\xb4\x99\xd7\xa5\x6a\x4d\x22\x05\x02\x95\xc3\xb8\xfd\xf6\x00\xd9\xcc\x79\xf3\x0b\x2b\xd8\x78\x2d\x95\x81\x52\x92\x4f\x0d\x86\xfe\xd4\x85\x4f\x08\x19\xcd\xe5\x08\x0a\xcc\x96\xa9\xd0\x38\x1b\x59\xfc\x23\x40\x79\x84\x37\xda\xb1\xc0\x95\xa3\x78\x3c\x0a\x23\xb4\x01\x65\x15\x34\x12\x80\xd1\x13\x85\x5f\xe9\x30\x8a\x8e\xd7\x17\xad\x2d\x8d\xd9\xae\x5a\xdb\x6d\xe9\x6d\xb8\x03\x77\xf3\x9f\xbf\xe1\x0f\x75\x6e\xb8\xce\x71\xf1\xfd\xb8\x9f\x1b\x9d\xd3\x06\xd7\x90\xc5\x18\x71\x07\x7b\xdc\xd2\xb5\x4e\x6f\xeb\xf5\x45\x46\xf5\x15\xa5\x5c\xbe\xd9\x14\x1f\x7a\x6a\x3e\x42\x4e\xcf\x8d\x49\x1f\xfa\x59\xe7\x3f\x47\xec\x9f\x80\x08\x6a\xf9\xf4\x52\x7a\x2f\xa9\xe7\xbc\x92\xc8\xae\x6d\x85\xd6\xcf\xe0\x28\xde\x17\x5f\xa0\x08\xe4\x5f\x4c\x0f\x90\x3c\x3e\x06\xdb\x92\x05\xe6\x1f\x61\x58\x1d\xde\x90\x1b\xa2\x15\xe1\xda\x01\x05\x69\xf7\xab\x7d\xd1\x01\x5d\xc2\xeb\x8b\x5f\x3e\x1d\xd5\xf0\x4a\x51\x6f\x44\xaf\x84\x9b\x52\xd5\x93\xe0\xd7\x47\x34\x55\x0c\xd7\xa5\x55\x4d\x9a\x1b\xc5\x8d\xdc\x86\xeb\x24\x6a\xc3\xfd\x20\xea\xea\xc6\x72\xa3\xf3\xcb\xf5\x7d\x9e\x31\xf1\xc1\xda\x67\xff\x59\xcc\x2e\x9b\x32\xbc\x04\x5d\x6f\x52\xe6\x08\xf9\x28\x45\x0e\xdd\x84\x7a\xe4\x82\x19\x1d\x14\x21\x6b\xa9\xb7\x01\x3c\x57\xa5\x5a\x3a\x34\x53\x42\xfd\xbf\x55\xd0\x26\x89\x24\xcd\x3d\x4d\x5f\xea\xf2\xba\x98\x81\x85\x12\xa8\xe1\x91\x48\xbb\xb9\xe3\xdf\x15\x4f\xec\x0f\x0c\xe2\xa3\x9c\x84\xcc\x06\xeb\xbd\x27\xbc\x6f\x46\x62\x0f\x7d\xf6\xea\xe7\xd3\xab\x3f\xb1\x13\xa3\xfa\xf6\x36\x57\x64\x29\x72\x07\x70\x91\xbe\x33\xf8\xa1\xdc\xa5\x0a\x25\xf8\x45\xc4\x8f\xc2\x41\x85\x1a\xfd\x12\xa6\x67\xd0\x7f\x42\x11\xb2\x13\xa6\x32\x7c\x6f\xe8\x1b\xa1\xc6\x10\xff\x5f\x04\x25\x68\x60\x6a\x4e\xc2\x17\x82\x8f\x16\x85\x20\xe4\x7c\x75\xc7\x16\x26\x6a\x00\x45\x94\xa4\xbd\xcd\xbb\x01\x80\xde\x4e\x84\x38\x50\x26\x33\xef\xb8\xd1\xde\x76\x14\xb7\x8f\xf9\xa5\x6e\x35\xea\xcd\x10\x9d\x2f\x5b\x65\xd0\xac\x24\x29\xb7\x4c\x31\x7b\xf0\xc4\xb4\x7c\xa0\xec\xa8\x3f\xd3\x49\xff\xc2\x02\x15\x42\xaf\x16\x26\x04\x51\x0e\x8f\xd5\x15\x68\xda\x8f\xc9\xec\xff\xfa\xe7\x1f\xff\x5f\xf9\xbf\x9e\x02\xe2\x5f\xdf\x48\x15\xf6\x9a\xaf\x5d\x2b\xd9\x3c\xa9\x38\x7e\xac\x6a\xbe\x94\xfb\xf6\x6c\x83\x69\xaf\xd0\x61\x22\x4b\x87\x8d\xb8\xbd\x6d\x61\x94\x64\xd1\x39\x49\x0d\x15\x75\x82\xc1\x8f\x68\x01\x36\x66\x01\xb3\xce\xb9\x9f\x1f\xee\x5f\xde\xcf\x38\x5a\xd9\x2c\x23\xdb\xc3\x72\x59\x59\x69\xa2\x68\x86\xa9\x13\x68\x5a\xcb\xcd\x3f\x50\x86\x01\x13\x35\x8a\xc2\x77\xb2\x86\xf8\x84\x23\xa5\x88\xdb\x45\x05\xfc\xbf\xe7\xc7\xfd\xcd\x21\xe7\xa9\xdb\x40\x3e\xc5\x4d\xc2\x02\x76\x8f\x96\xf7\xa1\x90\x1b\xf4\x9d\x6e\xf4\xf0\x1e\xc6\xd5\x7d\xa6\x9b\x7e\x12\x93\xf9\x9f\xf2\xf5\x49\x0f\xf1\xeb\xb3\x1e\xe2\xe3\x6e\x3d\x6b\x72\xab\x8c\x89\x28\x2a\xf6\x63\x2e\x50\xb8\x72\x1e\x70\x38\xef\x27\x45\xd0\x0d\xcb\x80\xc9\xd6\x12\x3e\xb7\x1d\xc9\x83\xad\x90\x6b\xcf\x6d\xb6\xa5\xcc\x4d\x80\x2b\xf0\xdf\xca\xfc\xc5\xa1\xaf\x2f\x7d\x8c\x54\x43\x5a\xb7\x73\x43\x6b\x6e\xbc\x20\x8c\x1f\x90\x3f\xff\x00\xc0\x6a\xb3\x2d\xfb\xba\xc2\x5f\xca\x7e\x7c\xcb\xa3\xa1\x57\x9e\x70\xca\xeb\x8b\xc8\xb0\xb7\x0d\xa3\x97\xed\xd0\x51\x63\xe3\x49\x61\xff\xf9\x92\xb8\xe3\x5f\xb7\x96\x8c\x15\x08\xe7\x71\x71\x6a\x71\x3f\xc7\x4a\x6a\x1d\x9c\xf0\x90\xc2\x4f\xa3\xec\x0b\xf8\xf8\x76\x94\x8f\x52\x4e\x8c\x51\x39\x13\x49\xb3\xad\xde\xdc\xb0\x55\x33\x22\x15\x71\x3b\xf1\x98\xf1\x94\xed\xac\x7a\x88\xa7\xfc\x52\xcf\x07\x3e\x71\x8f\xe4\x32\xaf\x25\xc8\x3b\x96\x9a\xd7\x45\xc1\x48\x07\xdc\x6a\x88\xac\x4b\x5b\xb1\xa6\x9b\x80\x6b\x0d\x14\x3d\x8b\xf9\x00\x9e\x7d\xf3\x1b\x06\x21\x5e\x4f\xd6\x2f\x07\xbf\xd3\x40\xda\x89\x94\x37\x2c\xfc\x35\x16\x5e\xf8\x33\x1f\xba\x54\x85\x3c\x38\x3d\x88\xa1\xb7\x90\x12\x11\xf0\x36\x14\xdb\x0d\xf5\x03\x59\xa0\x27\xe7\xf6\xae\x2f\xfc\xb2\xfb\xf7\x0a\xb1\x16\x23\x1d\x7f\x07\x5b\x67\xf5\x2d\x8f\x53\x61\xa4\x78\x5f\x7d\xde\xf1\x6b\xbe\xc1\x3e\x19\xea\xbf\xa7\x9d\x7e\x09\x43\x7d\xff\xd4\x63\xf8\x64\x5b\x99\x4f\x51\xfc\xaf\x27\x40\x63\xda\x4c\x25\x77\xd6\x8f\x33\x2e\xdf\xb6\x85\xc1\xc1\xa8\x00\xad\x2c\x97\x48\x95\x45\x4e\x44\xb1\xb4\xad\x26\x14\xb1\x37\x64\xb3\xa2\xaa\x40\xa1\x1d\x8f\x72\xbc\x02\x8a\xfc\xb7\x07\xbd\xbe\xb4\xde\x52\xc5\x0c\x21\x0b\xb9\x81\x96\x19\x79\x7f\x48\x53\x96\x83\x24\xa7\x16\xbe\x0f\x52\x73\xa1\x2c\xa9\x1c\xa8\x9c\xb0\x8e\xef\x00\x9b\xca\x72\x91\x2c\xe5\xd7\x36\x7e\xf9\xed\xad\xab\xce\x43\xac\x11\xf8\xe1\xd4\x35\xe4\x2b\x4e\x55\x06\xe3\x6a\x24\xbe\xfb\x42\x2d\xb4\xa7\x81\x48\xa4\x16\x5b\xd1\x97\x36\x41\x53\xa9\x89\x51\x99\x5a\x22\xb6\xa8\xba\x81\xce\xf1\x7e\x1b\xf7\x5b\x5b\x1e\x3e\x9e\xdf\x6f\x0b\xe1\x2f\x58\xbe\x40\x6b\x30\xbd\xbf\x17\xa1\x9c\x04\x42\x3f\xeb\x42\xc8\x29\xe4\x18\x83\xe4\x00\x15\x95\x76\xd9\x08\xa4\x47\x4e\xde\xf4\xc8\xc3\x1f\xa2\x1c\x94\x8a\x08\x1d\x38\xd0\x07\x54\xa0\xa3\x21\x43\x93\x0e\x2e\xf5\x10\xad\x02\x24\x9a\x6a\xd1\x20\xda\xf6\xdd\x18\x1c\xdd\x1d\xfc\x63\x33\xa7\xd1\x82\x0a\x0a\x87\xb8\x61\xec\xd3\xd6\x17\x05\xd4\x06\x20\x26\x9c\xee\x4c\xf8\xf5\x4e\x30\xf8\xfb\xa7\xd7\x2f\x7f\x68\x7e\x7d\x3e\x65\x18\xbe\xda\x69\xc0\xb5\x96\xda\xec\xeb\xcc\x49\xfb\xad\x79\xf7\x76\x1a\xb6\x62\xc4\x0b\x43\x54\x01\x94\x98\x24\x86\xab\x47\x11\xc9\x0d\x60\xe8\xd0\x55\x07\xb5\x17\xcd\x79\x3b\x24\x2f\xec\x17\xc4\xae\xfe\xfd\x4d\x34\xbb\x93\x25\x37\x08\x99\x12\x66\x11\x40\x5e\x9b\x7b\x78\x9d\xb5\x3f\xa2\x7d\x91\x30\x23\x2e\xd8\xda\x97\x7a\x23\x33\x8d\xcc\x14\xad\x06\x11\x7e\xd9\xd0\x47\x8c\xbe\x4a\x61\x61\xd3\x62\x76\x5b\xaa\x6f\x40\xbe\xf9\xd6\xac\x37\x41\xd5\x69\xcd\x17\xbf\x83\x76\xde\x7f\x1c\xfc\xa5\x9e\x34\x83\xf6\x58\xd7\x80\x0b\x9c\xcf\x71\x13\xb5\x75\x01\x9d\x60\xc3\x78\x56\xf7\xa5\x21\x01\xe6\x3b\x0c\xbb\xa8\xfb\xd3\xf8\xb3\x1c\x40\xe6\x7e\x3c\xc4\xef\xc0\xff\xf2\xb7\x62\xb7\x2e\x7f\xbf\x58\xf4\xd7\xa7\xc0\xfd\xd7\xf2\x51\x45\x75\x6e\x6e\x8a\x95\x9b\x40\x9a\xf0\x71\x99\xa2\x5e\x4c\x48\x00\x2d\x87\x06\x50\x23\x73\x92\x00\x5d\x07\x37\x7d\x4e\xff\xd6\x42\xe7\x5d\xfa\xa0\xdc\x16\xde\x3a\x89\x7c\xf0\x23\xe1\x4f\x37\x6d\xed\x6a\xfe\x42\xb4\x69\x08\xd6\x1c\x2a\x33\x3b\x8a\x4b\xe6\x5d\x8d\x66\x0f\x75\x9a\x5b\x53\x8c\x29\x28\x3c\x37\x52\x62\xec\xc6\xb2\x7e\x95\x4d\xc0\xb4\x6a\x28\x7f\x54\xdd\xe3\xae\xca\x6d\x11\x6b\x2b\xb1\x61\xd5\x9d\xf1\xea\x3b\x71\x56\xbf\xfc\xc5\xaf\xcf\xdd\x1e\xcc\x18\x1a\x5c\x90\x1c\x61\x39\x28\x3b\x2a\xeb\x30\x7b\x3c\x50\xd0\xd8\xe2\xb1\x2d\x67\x3c\xcc\x58\xc1\xeb\xda\x64\xf5\xeb\x54\x7f\xae\x4e\x86\x32\xe5\x73\xc9\xb7\x9e\x4b\xfc\xfc\xfe\xe9\xea\xf0\x14\xea\xfe\x5a\xff\xc7\x23\x79\x8f\xb4\x7c\x2b\x23\x5f\x97\x9e\xcb\xad\xe7\x12\x44\x71\x93\x05\x81\x8f\x6c\x50\x0f\xa4\x4e\x37\x3f\xe8\xea\x67\xf8\x69\xe0\x8a\xc3\x09\x0f\x74\x50\x77\x92\xa8\x7f\x20\xd8\xd2\xe5\xb7\xac\xab\x4f\x31\xbd\xaf\x4f\x28\x95\x87\x80\x94\xe9\xf0\xe1\x5a\xae\xea\xbd\x32\x87\x5d\x97\x6a\x7a\x6b\xb3\x63\xb8\xea\x68\xaf\x38\xa6\x58\xbd\x59\x83\x08\xa1\xdd\x16\xff\x24\x6a\xaf\x2f\x4d\x4a\x9a\x6d\xdc\x16\x3f\x41\x73\xc5\x89\x8b\xe6\xca\xaf\xbc\xe5\xdb\xa2\xb9\xe0\x3b\xff\xc9\xef\x66\x76\x5b\x7a\x5c\xab\x2f\x84\xb3\xa8\x5f\xd4\x6e\xd2\x0c\x17\x1d\x7a\x5d\xfc\x67\x9b\x3d\x8c\x89\x6f\x5c\x5d\xaa\xb4\x68\x47\xcf\x76\x34\xda\xe9\xd1\x4e\x8f\x76\x46\xb1\x37\xed\x5c\xee\x0d\x7d\xd2\xa3\x4f\x21\xbe\xaf\xfd\x0e\xda\x2d\x2d\x55\xd2\xb0\x41\x31\x7e\xb0\x72\x17\xee\x6e\xa9\xa7\xb5\xe0\x63\xec\xa6\xbd\x6f\xde\xdd\x3d\xf9\xef\x7d\xab\xfe\x1d\x0f\x0c\xe6\x5a\x84\x03\x5e\x5f\x7a\xb6\x34\x4b\xf9\x45\xa3\x80\x7f\xc4\xd1\xbf\xba\xe1\xa3\x59\xef\xc8\x56\x53\x05\x74\x52\x50\x8b\x3f\x12\x48\x82\x54\x2c\xcd\x7a\xa2\xc5\x29\x51\xe2\x06\xa1\xaf\x10\xe4\xcf\x69\xdb\x82\xaa\x52\x16\x42\xc2\x31\xb8\xdc\x96\x66\x6d\xf5\x5f\x8b\xdc\x34\xb7\xad\x52\x72\x48\x28\x13\x03\xed\x70\x72\x58\xcf\xba\xf3\x5a\xaf\x2f\x53\x35\xcd\xe0\xd3\x28\x29\xca\xd4\xe2\x26\xbe\x54\xdc\x46\x2f\xd4\x35\x84\x40\xca\x75\x91\xd1\x6e\xcb\x28\xf9\xcd\x95\x6a\x5c\xa9\xbd\xbd\x12\x5a\xd8\x8f\x46\xff\x59\xed\xa2\xa7\x98\xe6\xd7\x27\xe4\x85\x66\x3b\x51\x66\xaa\xbe\xba\xf7\xad\xd7\x64\x2c\x51\x62\x08\x79\x17\xa8\x6f\x8d\xa3\x4e\x78\xf2\x36\x50\xc6\xbc\x93\x03\x58\xa0\x5f\x00\x91\xf0\x96\xfa\x59\x75\xce\x2f\x07\x40\x43\x93\x2f\x09\x26\x34\x25\x31\x58\x9d\x5e\xfb\x9b\xc2\xad\x9d\x82\x8e\xe4\xf4\x07\x63\x39\xcc\x65\x91\x83\x91\x9b\x10\x52\xd4\xf7\x0d\xc2\x1a\x08\x09\x26\x49\x34\xb9\xd2\xed\xe0\xc6\x28\x60\xe6\x00\x84\x7a\x05\x11\xfc\x86\xfa\x68\x6a\x2c\x5d\x36\x72\x74\x8d\x28\x5f\xd3\x43\xbe\x03\x74\x31\x63\x3f\xf8\x69\x0e\xa1\x3f\x09\x86\x08\xa0\x13\x42\x89\x7f\x2f\x4c\xb3\xad\x02\x3a\x4c\x89\xc0\xfb\xfd\xc1\x98\xc6\xd4\x7d\x61\x52\x2d\x38\x06\x85\xb9\x3b\xf8\xdd\x9c\x05\x47\x69\x43\xa8\xe2\x40\xd9\x93\x9a\x73\x54\x4e\xa0\x3c\x03\xe0\x13\xee\x3d\xa4\xd9\x36\x4d\x51\x82\x9a\x50\x16\x58\x7b\xaa\x93\x71\x82\x4a\x4d\x8e\x92\x34\xb4\x06\xcb\x85\x05\xa8\xd5\x22\xf6\x9b\x96\x60\xaa\x26\x77\x57\x41\x08\x01\xa3\x9f\xac\xce\xcd\x0e\xa8\x54\x94\xfe\x0f\x5f\x9d\x49\x7a\x0b\xe4\x0f\x3d\x30\xc4\xbb\x21\x98\x80\x2e\x15\x06\x7f\xc8\xd8\x88\xb2\x74\x4d\xd0\x14\x14\x14\xe4\x46\x24\x43\x43\xf5\x63\x2d\x03\xd2\xef\x10\x23\x0b\x71\xab\xbd\x1e\x74\x83\xd2\x52\x54\x75\x27\xc8\xee\x94\x43\xae\x00\x59\xf9\x24\x20\x72\x49\xac\xc6\xa7\x9e\xcd\x86\xa0\x13\xf4\x9c\x1a\xa4\x83\xcc\x2e\x9b\x34\x43\x19\x8a\x1b\x63\x3d\xa4\xba\x08\xad\x92\x23\xcf\x39\x0e\x5e\x97\x71\x84\x7f\x22\x7b\x0f\x3a\x23\xe4\x51\x49\x12\xdf\x28\x29\xd4\xd2\x21\xd0\x8f\xab\x03\x5f\x0f\xf2\x6c\x42\x58\x30\xa1\xb3\x5b\x2a\xa2\x80\xc5\xb5\x90\x8e\x70\x97\x1e\x8a\x41\x70\x33\xe4\x10\x97\x64\x05\x77\xf0\xd3\xe5\x64\x65\xa5\x7e\xfc\x56\xc0\x28\x5f\xcc\x17\xc2\x20\xed\x72\x03\x69\x03\x70\x1b\xd4\xe5\xd2\x18\x33\x0e\x32\xec\x2f\x91\xf2\x58\x50\x47\x0c\xd2\x8f\x47\x82\x93\x53\xf4\xcc\x2c\x38\x0c\xca\xa1\x83\xd4\xf2\x5a\x33\xf4\xe2\x2c\x18\x37\xcd\xff\x18\x93\x0b\xf4\xc5\x20\x0e\xff\x72\x6a\xab\x69\x10\x58\x0c\x4d\xc3\x5d\x60\x88\xa4\x3c\xea\x5b\xe8\xa1\xec\x92\xef\xc2\x44\x99\xc4\x25\xcb\x48\x83\xca\x5c\xe4\x95\x4c\xa1\xd3\x55\x08\x29\xb4\x14\xe2\x45\x91\x98\x8a\x9a\xa0\x94\x51\x89\xa6\xf8\x97\x52\x72\xe4\x82\x42\x50\xb8\xe0\x5d\xbb\xc5\x68\x0d\x34\x52\x7b\x0d\xc6\x04\xd8\x61\xd6\xf6\xd2\x58\x91\x5c\x73\xaa\xc1\x23\x50\x91\x6e\x07\x85\x33\xe2\xde\x51\xce\x4d\x6a\x2c\x6c\x77\xb6\xfa\x83\xdc\x96\xde\x56\x60\x5f\x36\x2d\x3d\x4d\x77\x9c\x21\xaf\xe2\x7b\xa5\x4a\xaa\x39\xd9\x24\xf6\x08\x1e\xb5\x19\x72\x15\x93\x54\xf5\x5a\xf0\x1b\xca\x30\x30\x94\x6d\xec\xda\xc9\x4d\x4d\x59\x3f\x5b\x7b\x42\xf9\x02\x26\x28\xd4\x2a\x6c\x52\xe2\x56\xa8\x66\x4b\x86\x8f\x1d\xe1\xe5\x45\x0a\x51\xbb\x78\x59\xa4\xa4\xb8\xb0\x2a\x98\x0e\x15\x98\x15\x20\x3b\x33\x49\x15\xba\x94\x16\x38\x94\x10\xdc\x8b\x75\x0a\x7a\xa2\xb9\x41\xeb\x07\x2a\x2c\x2d\x6a\x3d\x70\x6f\x52\x48\x99\x0f\x5e\x91\xa3\x10\x0f\x6f\x17\x75\x0e\x1a\x51\xd5\x9a\x31\x84\xaa\x04\x5a\xc0\x8c\xea\x33\x40\x5f\x81\x9d\xc1\xad\x97\x80\xb8\x21\x6b\xfa\xfa\x32\x54\x53\x6d\x63\x2d\x6e\x32\xae\xa4\x15\xe9\x7d\x45\x2c\xa4\xb8\xa7\x61\x6a\xa9\x82\x2a\x8a\x02\x86\xb4\x8b\xfa\x21\x17\xcf\xa1\x05\x4a\x22\xbb\x30\xd8\xc4\x4a\x5e\x3b\x20\x36\xe0\x0d\x40\x95\x73\x4f\xc5\x36\x95\xa4\x88\xe1\x53\x8f\xdf\x57\x55\xc6\xfc\xed\x4b\xbd\x4a\x79\x65\xa0\xa0\x4f\xd4\x92\x80\x07\xb3\xb9\xf9\xe3\x23\x96\x1e\x77\x08\xe8\xb5\x70\xc2\xb1\xc1\x45\xe7\x95\x7a\x35\x59\x05\x22\x42\x2b\x79\x03\xf5\x36\x7d\x76\xcc\x8a\x1c\x6d\xbd\xc9\x6d\x91\x87\xdf\xb1\x9c\x54\x88\x94\xe8\x2a\x10\xf3\x3a\xbf\x92\xf4\x59\xc2\x6a\x3e\x25\xac\xbe\xde\x91\x65\x48\x11\x55\x92\x65\x42\xca\x22\xb1\xa6\x03\xd9\xc2\xd1\x43\x9c\x90\x4a\x1a\x67\x92\x42\xa6\x11\xfe\x9b\x48\xce\x03\xa4\x46\x3a\x6a\x01\x15\x94\x01\x2d\x05\xd9\x55\xa3\xa6\x85\x66\x88\xec\x98\xa6\xd1\x63\x88\x05\x10\x4f\x58\x26\xce\x85\x5a\x52\x39\xcc\x1b\xcc\x45\x77\x89\xf5\x80\x12\xb3\xba\x3f\xf5\x04\x1b\x4b\x74\xa4\xc6\x98\x04\x50\x57\x33\x35\x81\xfd\x08\x1a\xc6\x06\x9d\x22\xa2\x2b\x91\xc2\x44\xb6\x2a\x54\x3b\x3a\x04\x68\x02\x47\x5b\xf8\xb7\x52\x36\xb7\x39\x82\x59\xb1\x1c\xe8\x28\x28\xdb\x58\x52\x2c\x45\x69\x1c\xfa\x51\xfc\x90\x3a\x37\xfb\x50\x2b\xf5\x05\x93\x1b\x4f\x3b\x60\x5a\x58\xcd\x36\xf5\xdb\x20\x43\x0b\x66\x71\x2c\x59\x11\x93\x51\xa5\xfa\x77\x4f\xb1\xc3\xe4\x10\x3f\xdd\xfc\x61\x14\x92\xe9\xc8\x19\x0c\x4b\x56\x40\x47\x08\xcd\x90\xa8\x61\x6f\x41\xbd\x6b\x85\x0b\xd6\x52\xb9\x63\x5e\x20\xc8\x13\xd0\xd7\x20\xff\xf1\x0e\x08\xb5\x51\xca\xdd\x6e\x94\x13\x63\xb2\x03\xc9\xfd\xde\x28\x9c\x61\xe4\x1d\x80\x82\x09\x14\x70\xc4\x97\x30\x7f\xd3\x95\x59\x63\x6f\x96\x69\xbe\x71\xe6\x85\x97\xd8\xe0\x59\x45\x54\xc0\xf5\xa5\x39\xb5\xd8\x39\x4f\x6d\x21\xe8\xa9\xb1\xec\xc7\x14\x33\x66\x77\xbb\xbc\x0b\x42\x90\x3d\x74\x04\x4d\x36\x8c\xa8\x04\xfe\x41\x38\xf6\x84\x97\x80\xf9\x0a\x0c\x05\xa1\x80\x60\x0a\x0a\x15\x83\xba\x95\x3f\x3b\xff\xde\xcc\x57\x5c\x1f\x54\xc4\x8f\xc6\x9a\x23\xb9\x85\x8d\x5e\x0f\xd2\xda\xc2\xdc\x94\xe5\xe8\x53\x6c\xc2\xbe\xb5\x97\x88\x9f\x61\xbd\xd0\x99\x23\x22\x0c\x98\x09\x4d\x36\x25\xcb\x53\xed\xfb\x22\x00\x64\x93\x35\xd4\x1d\x28\xcb\xba\x51\xa1\x87\xc9\x56\x45\xa9\x5b\x12\xb8\x5d\x9d\x3b\x1d\x16\x18\x28\x5a\x14\xfe\x04\x53\x0a\x84\xbb\xb0\x2f\xe1\x06\x40\x06\x26\x25\x41\x43\x50\xdb\x19\x0b\x1f\xe4\xa0\xb0\x58\x9d\x4a\xb9\x6c\xd6\x7c\x73\xaa\x83\x32\xc3\x96\x19\x13\xda\x28\xf3\x5e\x6b\x12\x26\x28\x6c\x2b\xd4\x85\x14\x03\xc2\x91\xbc\x0c\xad\x6d\x0c\x4b\x43\x81\x56\x2b\x9b\x25\x6b\x4a\x0f\xc0\x39\xea\x3c\x67\xa5\x1e\x8d\x2a\x0b\xe3\xc8\xec\x4a\x4b\xe9\x53\x4a\x87\xef\x4a\x7e\x4e\xe9\x7e\xbd\x7b\xb6\x3d\xa7\x02\xfc\x73\xcb\xc4\x07\x43\x7b\x7e\x91\xaa\x2b\xd6\x26\xb7\x25\x83\xd3\xe9\xc0\x94\x8e\x7e\xd0\x45\x2d\x34\x2a\x21\x2a\x0a\x94\x90\x1c\x03\xdf\xf7\x15\x94\xbc\x2d\x52\x6a\xe4\x79\x5b\xe6\xdb\xd8\xa0\xbd\x4d\xdd\x5b\x1d\xbb\x08\xd1\xdd\x44\x13\x34\x37\x1f\xbb\xb9\x33\xe9\xf7\x80\x55\x68\xbd\xdf\x12\x1c\x53\xa1\xd6\xfb\xf1\xdf\x98\x3b\x80\x74\x79\x8b\xbf\x8c\x09\x3d\xd9\x31\x93\xf5\xd5\xcd\x8e\x8c\x16\xd0\x5e\x93\x24\x2d\xbf\x5e\x5e\xba\xbf\x0f\x29\x75\x65\x0e\x7b\x05\xd0\x28\x2e\xa2\x24\x2d\xa4\x32\x1c\x9a\xa1\x12\x8c\xff\xe4\x9f\xc8\xd7\x84\x0f\x2b\x26\xde\x5c\xcf\xf3\xdf\xeb\xca\xb8\x2e\xff\x74\x74\x2e\xfa\x76\x40\x63\x75\x42\xbb\x04\xaa\xc9\xd2\x21\x39\x06\xa7\x1f\x5d\x8a\x5c\x59\xa9\x61\xb3\x0e\xef\xce\x18\xd6\x47\xdf\x6e\x08\x12\x06\x1e\xa1\xcc\x3d\x58\xc8\xd4\xb6\x01\x2a\x2e\x09\x91\x0c\x80\x26\x99\x1c\x1c\xfd\x0c\x7e\xf5\x71\x10\x76\x34\xbe\x2f\xe2\x7f\x2b\x49\xc4\x4f\x67\xdd\x24\x95\x8e\x14\x1d\x24\xfd\x7d\x68\x2b\x6b\x04\xb1\x4e\xf8\x4c\x06\x3e\x36\xaf\x14\x9b\xbc\xf7\x39\x3a\xf8\xbd\x97\xb3\xe3\xf7\x9d\x7f\x8e\x2e\x59\x03\xf1\xa5\x1c\x93\xde\x69\xc7\x1f\xce\x8e\x3d\xbb\x1a\x5a\xab\x79\xc3\x92\x52\x62\xb7\x13\xb0\xd6\x71\x29\xf1\x51\x7a\xd9\x3a\x49\x13\x83\xc3\x09\xee\x68\x65\xd5\x89\x1d\xa9\x95\x92\x44\xb1\x80\x40\xa1\x06\xaf\x0d\x49\x08\x24\x4f\x27\x96\xc6\x41\x6b\x87\x10\x81\x79\x04\x20\xd7\xe5\x3e\x7e\xe4\x3e\x64\x37\x0e\x9e\xc7\xe7\xdb\xdf\x8e\xa4\x63\x7a\xbd\x19\x78\x0f\x23\x47\x1f\xc7\xeb\xd9\x05\x3a\x7d\xd4\xb4\xee\x83\x46\x2a\x85\xe4\x76\x84\x79\x81\x3f\x85\xd2\x57\x23\xe7\x4f\xbb\xec\x02\x5e\xab\x2a\xac\x3e\x3d\x5f\xe9\x7e\xbe\xe7\xcf\xe2\xed\xdf\x3f\x2d\x1d\x27\x17\x57\xab\x25\x15\xa8\x50\x53\x66\x57\x0f\x7e\x22\x93\xf0\x2a\xc0\xfe\x39\x11\x2a\x80\x8c\x23\xeb\x98\x90\x8f\x2b\x42\x82\xa6\xc5\x06\x16\xd6\x6d\x21\x62\x19\xe6\x75\xc0\xac\x50\xc4\x0a\xf0\xe9\xbd\x3a\x96\x1a\x65\xcc\x6e\xef\x40\x03\xa7\xbc\xb9\xdb\x3b\x34\x4d\xb0\x1d\x6a\x61\xa1\x82\x2f\x45\x58\xe2\x7d\xb0\x8a\xfb\xc4\xbe\x9c\x4f\xd0\xfd\x34\x54\x66\x9f\x42\xdb\x99\x86\xf1\xa0\x92\x60\xbf\x9b\xa9\xf4\x1e\xbf\x1c\x7c\xa3\xa4\x9f\xe3\xff\x59\x82\x25\x0f\xfa\xee\x91\x64\x45\xb5\x11\x0b\xa7\xdd\x20\x02\xeb\x28\x64\xab\x40\x14\x58\x12\xe3\x1a\xb6\xb5\x74\x68\x05\xd0\xd1\x68\x5b\x1d\x74\x33\x6b\x32\x37\x52\xa8\x85\x93\x35\x19\x54\xb0\x15\xde\x26\xea\x28\xca\x61\xf8\x53\x5c\x3d\x8d\xfd\x10\x94\xdd\x1b\x05\xc0\x35\x04\xd3\x4e\x1d\x90\x78\x3f\x8b\xf6\xc0\x28\xc0\x1c\xe7\x73\x51\x39\x1b\x39\xcc\x18\xfe\x62\xb2\x02\xf8\x32\x2e\x21\xdb\x4b\x8a\x42\xd3\x80\xdf\xeb\x08\xf9\x78\xba\xaf\xf5\x0c\xba\xc0\xf3\x2c\x65\x22\xb0\x49\x0f\x01\x2f\x6d\x6c\x54\xd6\x36\x5e\xc4\x06\x0d\x5f\x34\x9e\x69\xc7\x6a\x83\xba\xa7\x7b\x3a\xf0\xa0\x48\xa8\x96\x8a\xb8\x15\xee\x6d\xf1\xf1\xd3\x12\x80\x8b\xbc\xa3\xc3\x36\x08\x46\xa4\x5a\xef\x72\xdf\x30\xa0\xdd\x68\x2d\x3d\x0d\xa9\x2b\x00\x1b\xda\x57\xf7\xdc\x52\xd1\xd7\x17\x9b\xc9\xff\x3c\x4b\x52\xd3\x9b\x64\xd3\x75\x69\xa0\x38\x37\xa8\xda\x98\x40\x77\x68\xe4\x64\xa6\xac\xfc\x07\x98\x6f\xb8\x75\xe4\xed\xf8\xcb\x41\xf9\x2e\xe2\x36\xed\x3c\xc4\x17\x69\x61\x14\x73\x69\xf5\xf5\xa5\x77\xb7\x33\x67\x59\x2b\x61\xbb\xe5\x66\xd0\xee\xcb\xa8\xf8\xf2\x2d\x83\x8e\xec\x72\x14\xe7\x00\x9f\x16\x70\x14\xd4\xa4\x29\x35\x4e\x46\xd0\x0e\x28\x21\x56\xa2\x57\x20\xbc\x7a\xb8\x08\xf0\x66\xdd\x6e\x84\x25\x39\x30\xb4\x21\xe5\x4e\xfd\x8d\x14\xb9\x50\x31\xa8\x14\x01\xca\x36\x38\xc8\x59\x59\x81\xaa\xfd\x50\x3a\x17\xa8\x81\x81\x50\x84\x08\x2e\xf0\x70\x09\x13\xa5\xb0\x8d\xa8\x5b\xd4\x0e\x61\xa8\xda\xc3\x59\xaf\x29\x2a\x35\xe0\x88\xfa\x92\x3a\xe9\x4f\x04\xe1\x22\x02\xb5\xb9\x66\xef\x62\x77\xe7\x7a\x2f\x49\x4b\x3b\x05\x07\x8c\x69\x37\xce\x3d\x94\x9f\x07\xaf\x3c\xd3\x3d\x23\x31\xac\xed\x03\xcf\x6e\x92\xfb\xd8\x2c\xcd\x54\x92\x64\xc0\x2a\x7c\x9f\x93\x0d\x6c\x8b\x2d\x49\x99\xa9\xe6\x9b\x8d\xb2\xd6\x4a\xb6\x8b\x4d\x89\xd4\x82\xce\xd8\x6e\x98\x6b\xb0\xa4\x9a\x84\xda\xd9\x65\x43\x78\x9c\xe4\xd8\xb7\xa5\xc8\x27\x40\x92\x92\x9f\x81\x24\xcf\xcc\x79\x77\xb0\x96\xba\x51\x23\x55\xdf\x25\x3b\xf0\x5e\x19\x23\x6a\x68\x8f\xba\xda\xfd\xa8\xb4\x25\x78\xf8\xa1\xfa\x36\x8a\x6f\xfd\xc4\x38\x8f\xa5\xb7\x47\xe5\x6d\xe9\x57\xa0\x85\xc1\xff\x3e\xc7\x04\xa0\xd1\x4a\x9a\x50\xbd\xdc\xe1\x25\xeb\x00\x1a\xf8\x9b\x5c\x24\xd7\x65\xb4\xf2\xad\x8b\x56\x94\x00\xb1\x02\x88\x05\x40\x3a\xae\xad\x47\xfd\x0f\x06\x78\x86\x1d\x5b\xc6\xe5\xdc\xb0\x37\x92\xf9\x11\x3c\xcb\x48\xe0\x18\xb7\x45\x1a\xf4\xa5\x47\x3a\x90\xc2\xbf\xd4\x87\xc2\xc3\xbf\x2b\x41\x15\x21\xc2\xb7\xfa\x50\x28\x69\xfd\x85\x3e\x94\x37\xaf\xb5\xfd\xb1\x17\xa8\xa2\xbf\xb8\xc0\xe5\x77\xbc\x82\xc8\x28\x7f\x64\x17\xa1\xfd\xdf\xb3\x8f\x2e\xef\x5f\xe2\xb9\x97\x7e\xcf\x87\x28\x3e\x00\xff\xe0\xf6\x3f\xec\xa4\xcb\xef\x72\x89\x3f\xb6\x93\x7c\x2d\x1e\xb3\xdd\xb4\xb6\x43\xf2\xeb\x49\x8c\xeb\x26\x2d\x83\x19\xff\xb6\x54\xd1\xeb\x98\xed\xb3\xe5\xf0\x19\xed\x73\x57\x04\xb6\x52\xd2\x37\xb4\x1c\x6e\x28\x38\xf8\xa6\x5e\x84\x8e\xfc\xbe\x60\x5b\x3b\x4a\x14\xde\xe8\x45\xa8\x6f\xb1\x15\x56\x78\x19\x0f\xbc\x0c\x8f\x7d\xf2\xc0\x8e\xc0\x2e\x39\x89\x15\xde\xf4\xf4\x1b\x76\x86\xb3\xa3\xd9\xfa\x9c\xfa\x2b\x1a\xbf\xfc\x8d\xad\xbf\xa5\x94\xf8\x9d\x6f\xbd\x8c\xfc\xc7\x34\x6e\x03\x35\xc5\xb7\x06\x3c\xe1\xaf\x3b\xeb\xd7\xde\x09\x5b\x2f\xd2\x7e\xcb\x2d\xfd\xb6\xc6\x5b\xd7\xdf\xa5\xf1\xe7\x65\xcf\x5b\x9f\x60\x7c\xf8\x83\x6e\xdd\xd7\xd5\x3f\xa6\x75\x14\xc5\xcd\x76\xa7\x88\x7c\xd3\x3a\xc8\xe6\x1e\x9a\xbf\xdc\x17\xa3\x93\x92\xf0\xf1\x02\x20\xa0\x7b\xe7\x0a\x7f\xd8\x7b\xf5\xc6\x7f\xaf\xf7\xfa\x6e\xe3\x7c\xad\x7f\xc4\x78\x47\x9d\xe4\x1f\xf6\x5e\x29\x7e\x82\xc9\xfa\x47\x8c\x78\x34\xff\x87\xbd\x55\x12\xa7\xfe\x51\xaf\x15\xad\xff\xda\xe9\x7a\xf9\x1b\x7b\xfe\x8f\x7a\xb1\x9f\x6c\xd1\xcf\x08\xca\x1f\x3e\x62\xf5\x95\x31\xd2\x1c\x87\x3a\x9c\xfa\x9e\x37\xf4\xd7\xa9\x45\xda\x08\x79\xc9\x50\x26\xfb\xf4\x84\x01\xe2\x95\xa9\x49\xa1\x32\x3a\x52\x38\x0b\x2d\x88\x04\x36\x9d\x74\x36\x10\x8d\x3f\x43\x11\xe4\x76\x53\x1d\x57\x6b\xfc\x45\x75\x6c\x3c\x9d\xe6\x4c\x88\xa8\xe2\xb0\x19\x8c\x05\xc8\x26\x44\x62\x23\x94\x42\xa5\x52\x59\xe1\xbf\x59\x77\x12\x75\x58\xff\xf7\x53\x19\xd0\xf7\xcf\xea\xd0\x77\x6a\x96\x0e\x25\x6c\x8e\x90\x16\xf5\xfc\x22\x51\x87\x92\x96\xa0\x74\x00\xa5\xc6\x3c\xc5\xfb\x6d\x44\x56\x65\x6a\x42\xa4\x90\x82\xec\x55\xc8\x2a\x02\xf0\x55\xd4\xd6\x50\xa5\x2d\xd7\x64\x73\xeb\xfd\x81\x0c\xb9\x1f\x34\xd9\x88\x97\x22\xa6\x53\xa1\x1d\x57\xbc\xf5\x21\x01\x4b\x26\x19\x0b\x42\x14\xd0\x35\xb8\xdf\x04\xa8\x63\x08\xef\x66\xc9\xb0\x04\x12\xda\x7b\x53\xa9\x1e\x5a\x34\xa0\x2e\x7e\x72\x9d\x11\xd2\xcd\x94\xc8\x08\x70\x38\x4f\x5e\xc4\x0a\x7d\xdb\x0a\x32\xda\x61\x9a\x1a\xb8\x3c\xc0\x6f\x54\x6b\x5a\x26\x79\x8a\x30\x89\x3a\xa8\xcf\xb5\x06\xa1\x22\x92\xd6\xfd\x60\x12\x27\x5e\x03\xa5\x68\x87\xdc\x04\x08\x0f\x00\xcc\x0b\xd1\x78\x44\x9c\xcb\x59\xc3\x8d\x6c\x3a\x9f\x6b\x92\xfe\x88\xf5\x0a\xbc\x37\xf0\x36\x42\x85\x0b\xa7\x1a\x78\xe3\x73\x1a\x0d\xf2\xa8\x93\x72\x1f\x48\x5e\xb1\xbb\x07\xf9\xa8\xdb\x2e\xd3\x12\x94\x3b\x73\x97\x34\xe4\x91\x96\x86\x71\x9f\xe3\x0d\x2d\xc7\x3b\x0b\x28\x52\xa6\xf4\x09\xdf\x90\xbf\xa0\x03\x0e\xfe\xa5\x6e\x68\x21\x86\xc4\x7e\x0e\x92\x73\xe0\x6c\x67\xf9\x03\x5e\x29\x06\xc9\x12\xa3\x84\x90\xfc\x48\x20\x64\xbf\xb6\xc5\xa8\xe0\xcb\xfd\xc2\xea\x08\x3c\x0c\xda\x29\xa4\x2b\x11\x80\xad\x8e\x17\xc5\x00\xe4\xfd\x15\x42\x1c\x3e\xe0\x7b\x75\x42\x12\x4d\x6c\xc6\x93\x60\x34\x20\x7d\x11\x83\xa4\xec\xf7\xa1\xf3\xd9\x9a\xf7\x04\x96\xfd\xfe\xa9\xa4\xae\xb7\xf1\x28\x86\x9d\x73\x78\x52\x95\x4c\x8d\x2c\x01\x8c\x48\xbd\x77\xc2\x5a\xc0\xdf\x2f\x9b\x86\xd3\xd2\xc2\x69\x29\xa7\xca\xf2\xe9\xb3\x14\xfa\x2c\x2d\x15\x9c\xe6\x67\x2d\x93\x45\x5d\xd8\x09\xd8\xa9\xb5\x27\x5c\xc5\x77\x04\x1d\x29\x52\x91\xf3\x2c\x19\xd5\x9c\x77\x69\x19\x10\x3e\x7c\x60\x42\x98\x5f\xfa\x10\x0b\x82\x1d\xfd\x5c\xf1\xa1\xe4\x27\xb0\xeb\xf7\xcf\xe2\xd4\xf7\xb8\x15\x4d\x40\x5b\x1b\xd4\x43\xe6\xad\x59\x5b\xdd\x2f\x8c\x80\x69\xaf\xca\x99\xd6\xbb\xae\x6d\x8e\xa4\xb5\xac\xcb\x9b\x0f\x3e\xc7\x22\x16\x25\x59\xcb\x19\x76\x32\x06\x79\x51\x83\x59\xdc\xef\xeb\xeb\xd2\xc9\x2b\x51\x58\xf0\x0a\xc1\x2c\x20\xbc\x20\x16\x26\x8d\x07\xe0\x7b\x13\xea\x35\x4d\x04\xa6\x64\xa4\x56\x6f\x6c\xb8\x60\x47\xec\xb6\x37\x49\xa5\xaf\x7e\x06\xe4\x11\x15\x62\x2b\x69\xec\xfe\x9e\x06\xfe\x0e\xa9\x42\x00\x8a\x0a\x34\x26\x0b\x70\x40\x4b\xb7\x4f\x88\xdd\xc1\x01\xf8\x8b\x4e\x7c\x62\x92\x7d\xa8\x4b\x6f\xd4\xf5\x5d\x61\xad\x4f\xbd\x99\x94\xd5\x1f\x13\x19\xf1\xdb\x62\x45\x5f\x5f\x6a\x6f\xc9\xea\x58\x8b\x8f\xc1\x6e\xeb\xf2\xe6\xc3\x22\xe0\xde\xf5\x4e\xfc\xac\x21\x69\xc8\x1f\x7c\xd2\x12\x8c\xa8\x2a\x6c\xa9\xa1\x7c\xe1\xb1\x25\x6d\x3d\x62\xd5\x92\x2d\xaf\x05\xda\x98\x73\x5d\xde\x7c\x58\x64\xcc\xd7\x17\x95\xde\x10\xb1\x38\xd4\xaa\x2d\x1c\xf9\xd6\x2f\xa1\x3d\xd3\xc9\x4e\x1d\x4a\x81\x95\x75\x3b\xd0\xe9\x29\x18\xfc\xfe\x14\x7e\x00\xbe\x07\x3c\xb2\xa7\x72\x64\x5c\xfc\x2d\xff\x96\xf3\xcd\x58\xa6\xa5\x1c\x19\x33\xb5\x1e\x62\xd4\x36\x98\x34\xe9\x99\x22\x1c\x65\xac\xc5\x4a\x92\xd1\x6e\x25\xe7\x6f\x1c\x50\x86\xf7\x34\x20\x22\x39\x55\x5f\x36\x77\x0a\x3d\xe0\x2b\x4c\x76\x8c\xe4\x96\x58\x85\x5d\x46\x60\xba\x7a\xbe\xdc\x96\x92\x33\xae\xb1\xc8\x40\xba\x02\xc7\xf5\x38\xca\x8f\xf9\x6c\xb6\x3e\x81\x8a\xbe\x7f\xaa\x7a\x79\x00\xfb\xcb\xf0\xdb\x95\xd9\xaf\x4b\x15\x14\x3b\x95\xab\x7f\x10\x05\x49\x2b\x08\x79\x7d\x05\x22\x05\x59\x41\x37\xc1\x50\x20\xff\xd3\x97\x7a\x85\x1a\xa8\xf8\x33\x73\x65\xf1\x0f\x3e\xa6\x44\xbd\x9f\x36\xe8\x31\x89\x6a\x32\xdd\x7b\x4b\xa3\x5f\x55\xc1\x28\x80\x7c\x26\x74\x37\x50\xbf\xda\xb7\x45\x69\xc8\x1a\x59\xd3\x4c\x0f\x11\x1b\x03\x5a\x56\xf3\x48\x54\xc7\x33\x82\xe3\x8d\xa8\x56\xdf\x9e\x7c\x8f\xc9\x89\xfa\x54\x80\x4c\xb0\xfc\x72\x46\xe6\x56\xa3\xd8\xae\x63\x78\x94\x7e\x5d\x5a\x1d\x17\x02\xe8\xe4\xa8\xea\x42\x7d\x8a\x34\x66\x7d\x91\x9a\xd2\xde\x93\x5a\xbb\xea\x6c\x9b\x66\x60\x52\xc1\xe8\x03\x20\xec\x60\x2e\xc5\x3f\x5c\x17\xcb\xea\x73\xa9\xf3\x9c\xde\xed\xaa\x43\x36\xd4\xff\x88\x9e\x12\x2a\x85\xa9\xc6\x58\xb6\xb9\xf8\xe3\xc3\x75\xd1\x96\x21\x3f\xf9\xfa\x82\x05\x5d\xaf\x75\x96\xa8\x16\xaf\x51\x25\x16\x9a\x42\xb0\xa1\x32\xb9\x1d\xf7\x90\xb1\xad\x34\xf6\x41\x4f\x82\x0a\x9b\x66\x90\x98\x01\xe1\xd5\x01\xb5\xa8\x08\xb2\xc3\xf7\x44\xec\x5e\x43\x16\x87\x45\xec\xa7\x28\x20\x38\xd7\x58\x79\x4b\xf0\x9f\xbf\x06\x6a\xbd\x5d\x97\x86\x91\xd1\x3e\x1b\x83\xf2\x04\x22\xf9\xbe\xfe\x83\x53\xa6\x95\x09\x7d\x2f\xb9\x2e\xd6\xe5\xb6\xf4\xd1\xaf\x36\x74\x13\x24\x09\x65\x76\x1a\xbf\x6e\x38\x77\x32\xef\x31\x1b\x57\xcc\xb7\x5a\xe4\x91\x7c\x73\xce\x3d\x09\xec\x6a\x2c\x35\x6e\x9d\xcd\x46\x4c\x27\x4a\xbd\x91\x06\x86\x7a\x0f\x3a\xba\x27\xd4\x14\x15\x1f\x32\x6a\xd7\x45\x7a\xbb\xc9\x28\x57\xc1\xeb\x9b\x87\x89\x34\xa9\x6f\x5f\x22\xef\xe2\x83\xa4\x8c\x96\x6c\x8c\xeb\x22\xa3\xde\x54\xfa\x55\xc6\xdc\x04\xcc\xda\x42\x16\x0f\x63\x9e\x06\x10\x3a\x40\xd1\x51\x5a\x68\xbe\x63\xb4\xd3\x20\xc5\xd6\xb8\x2f\xc8\xb4\xf5\x6b\x11\xd9\xc8\xc2\x91\x8c\xf5\x18\xa8\x70\x45\xe9\x44\xbe\x77\x3c\xc1\xff\x42\xe6\x19\xb0\x9a\x8f\x16\xf2\xb3\x5c\xcd\xc5\x6a\x22\xe3\x79\xbf\xec\x2a\x06\xe9\xa2\x98\x3f\xad\xbb\xed\x7a\x75\xa3\x10\xd0\x44\x2a\x8e\xf5\x03\xbb\xc5\x3a\x03\xcd\x00\x11\xb6\xd4\xd5\xdf\x80\x9d\x4f\xa5\x7a\x75\xdb\x60\x2b\x6e\x03\xdb\x4c\x63\xee\x53\x92\xd9\xeb\xcb\x44\xde\x6a\x5c\x4d\xe6\x6d\xe9\xfd\xba\xf8\x87\xfe\x09\x53\x4f\x91\x67\xbf\xe9\x99\xbe\xf7\x81\x3e\xa1\x0e\x4d\x33\x26\x5b\x16\x96\xb4\x61\xca\x31\x3b\x4e\x5a\x38\xb9\xff\xc2\xcf\xd4\xca\x63\x59\xdf\xfd\xe3\xc3\x11\x8f\x67\x3e\x34\xf9\xfa\x32\x44\x93\xa2\xca\x10\x6f\x12\x92\xb6\x80\x53\xf5\xd4\x0d\x00\xc1\x4c\xd6\xf7\xb6\xe2\x80\xa2\x5b\x0f\xad\xc4\x4c\x50\x0f\xb4\xc0\x62\x91\x40\x7a\xd4\x24\xb2\xf6\xa0\x0d\xc9\xf3\x30\x53\x7d\xf5\x4d\x03\x58\x3b\x96\xf6\x35\xc1\x87\xcb\x66\x4c\xbb\x83\xc0\x9a\x84\x25\x99\xc0\xea\xcd\xaf\x09\x6e\xf1\x44\xb9\x00\xe9\x6e\x02\xb4\xe2\x9d\x84\xe4\x2b\x80\x30\x28\xee\x94\xe0\x4e\xf1\xf7\x0b\xf6\x12\x80\x65\x30\x80\x28\x6e\xc5\xda\x04\x96\x79\xca\x49\x72\xd6\xd3\xf1\xa7\xb6\x9f\x47\x1e\x64\xf5\xd1\xd8\x1e\x57\x68\xc1\x30\xc0\x6b\x2f\xe4\x3e\xb7\x10\x20\xd7\x7d\xb1\x90\x5e\x32\x37\x6b\x00\x2f\x22\xbb\x47\x22\x06\x0d\xd8\x65\x95\xb1\x2f\x70\xf7\x86\xfb\x4d\xbe\x00\xe2\x1e\x4b\xea\xcd\xbd\x51\xec\xec\xeb\xa2\x96\xd3\xd4\x5b\xd1\xb9\x1a\x09\x6e\xfb\xd6\x67\xf2\x85\xad\x5b\x2a\x83\x5a\x15\xbe\xc9\xeb\xaa\xa3\x80\x22\x40\x21\xf3\x46\x8c\x8d\xc9\xdc\x4d\x63\x97\x03\x4d\x75\x4e\xf7\xdb\x43\x1f\xc7\x7d\xcb\xa7\xd6\xb9\x3c\x65\x95\xbf\xef\x0f\x6b\xad\xa6\x31\x26\x1d\x63\xd8\x3d\x16\xb2\xb5\x9d\xd5\xca\x47\xdd\x48\xed\x07\x27\x8c\x90\xac\x71\xe4\x74\xfe\x7e\x97\x86\xaf\x2d\xd4\xa1\xa2\xd4\x99\xed\xbd\xbe\x34\xd3\x64\x99\xfe\xbb\x05\xdd\x10\x49\xeb\x40\x1f\x01\x17\x72\xa1\xd8\x81\x64\x4b\x3a\x51\x4d\xdb\xfb\x56\xa1\x93\x90\xdc\xe8\x2f\x79\x6b\xc1\x38\xa4\x39\x81\xd3\xae\xa2\xf8\x7d\xd3\x92\x10\xa6\x00\x50\x29\x87\x1a\xdc\x28\xab\x2f\x3a\x66\x6e\xa7\x57\xf7\xfa\x2b\x14\x62\x49\x28\xc6\x58\xc3\x79\x1f\x7f\x4c\xe1\x97\x54\x5b\xb1\xbd\xb6\x09\x35\x5a\x1f\x7c\x2c\x38\xa9\xba\x87\xb0\x66\xcb\xc7\x34\x19\xe2\x56\xa2\x8f\x81\x6e\xab\x15\x2a\xae\x0a\x08\x3a\xb4\xb2\xea\x99\xa1\x09\xf0\xd8\x46\x94\x41\x68\x39\xf2\x4f\x9c\x43\xf7\x63\x2f\x77\x19\x0f\xd8\x3b\x01\x91\xf5\x99\xad\x95\x62\xcb\xca\xd1\xbf\x2d\x13\x44\x89\x23\x09\x28\x14\xb1\x4a\x77\x02\xcb\x74\x76\xdf\x67\x6e\x05\xbe\xd0\xdf\x53\xc5\xf6\x22\x3a\x66\x1a\xa3\x73\x81\x3c\xf0\xdd\x21\xb7\xdb\xe5\x54\xde\x05\xc0\x96\x9f\x89\xb5\x25\x7a\x95\x1f\x65\x8f\xef\x65\xf3\x45\x16\xc5\xce\x5f\x0e\xd5\x5e\xf2\x2a\xe3\x2f\x9f\x79\x5c\xf2\x94\x5f\xfc\xfe\x99\xaf\xf8\xc1\x6d\xf5\xbd\xb1\xf5\x95\xc2\xd0\x6d\x10\xd4\xaf\xeb\x52\x34\x27\x9d\x28\xbb\x32\xd0\x18\x11\x8b\x56\x3a\x82\x76\xd8\xc5\xb4\x1f\x95\x2e\x75\x2f\xd0\xcf\x50\xff\x88\x19\xdd\xca\x2e\x33\x55\xdb\x58\x5d\x9d\x2a\xd6\x99\x11\xc0\x27\x1f\x41\x03\x84\x31\x73\x85\x78\xdb\xd4\x0d\x41\x38\x5a\x6d\x21\x16\x57\xce\x92\xb8\x45\x14\x85\x21\xc0\x9a\x05\x05\x15\x86\x99\x41\xb7\x5a\x65\x85\x4d\x69\xb5\x83\xcc\x02\xc1\x06\x30\x23\x34\xf7\x6c\x47\x12\x28\x5a\x36\x23\x53\xd4\x18\x97\x15\x33\x74\xf8\xe2\xd9\x46\x4e\x05\x75\xe2\x03\x2c\x50\xb1\x3a\x02\x35\x79\x16\x97\x45\xf1\x1e\x0a\x7a\x56\x78\xe3\x85\xb2\xd8\x60\x6a\x06\xf0\x78\x85\x23\x5e\xb8\x4c\x7a\x97\xaa\x48\xb2\xa6\x2b\xaa\x3e\x0c\xd4\x16\xee\xd5\x28\x96\x0a\x7f\xdb\xd8\xc2\xc7\x04\x6f\x42\x46\x6d\x40\xb0\x03\x41\x8a\x1c\x54\xbd\xdd\x97\xcf\x15\x21\x2b\x5d\x7d\x58\xbb\x1d\xa3\x39\x99\x80\xd3\x98\xa6\x59\xf6\xa5\x62\xd1\x83\x5d\x4e\x11\x58\x52\x39\xe4\xab\x6d\x77\x7f\xca\x50\x3d\x6d\xa1\x4e\xc8\x32\x21\x2c\x10\x70\xd5\xaa\xad\x2a\xa8\x1c\xb2\x4d\x46\x48\x25\x61\xf8\xb5\xfd\x80\xfb\x91\x84\x7d\x61\x65\x5a\xe0\x7c\x83\x88\x36\xd8\xb7\x35\xb8\xee\xdb\xbe\xd4\x78\x87\x51\xe5\xa2\xe0\xdf\xa5\x91\x5e\xd1\xdd\x26\x16\x2e\x53\x71\xf3\x51\xfb\x5c\xc5\x97\x6d\xf3\xe9\x8b\xa1\x81\x62\x94\x99\x94\xc0\xe4\xd1\xd0\x84\xef\x3b\xdd\xbd\x91\x16\x66\x93\x90\x0d\x1e\xe1\xc7\x91\x71\x03\x50\xe1\x47\xf9\x82\xad\x05\xb8\xc8\xcb\x66\x92\x8c\xc4\x0f\xa0\x0d\x9f\x44\xff\xaf\x42\x34\x22\x18\xc3\x24\xa1\x14\x50\xe6\xa7\x76\xfe\x53\x7e\xe0\xfb\x27\xcd\xfa\x07\x5f\xb3\xf8\x00\x2b\xe3\x5d\xc5\x80\xfd\x49\x25\x60\xff\x85\x34\xc0\xfe\x0b\x45\x80\x2a\x2d\x81\xae\x30\x4b\x5b\x81\x96\xf5\x41\x0f\x8a\x39\x1f\xdb\xa1\xa6\x43\xf9\xa9\xde\x86\x2f\x81\x99\xdc\x2e\x04\x69\x16\xd6\x20\xbd\xbe\xc8\x18\xe3\x77\xbc\x2f\x7f\xe0\x54\x0b\x53\x19\x97\xf7\x85\x1c\xe6\x5d\xbe\x02\x1b\x33\xea\x9f\x40\x5f\x02\xee\x25\x7e\xf0\x9f\xb5\xf9\x9c\xb8\x91\x1b\x11\xb1\xb0\xdf\x7c\xda\x6c\xef\x89\x46\x20\xcb\x32\x2d\xbd\x9b\x89\xb8\xea\x00\xa5\x76\x91\xb9\xf9\x49\x85\x1a\xe6\x95\x45\x9a\x13\x7c\x4e\x57\xef\x53\x30\x41\x41\xde\x08\x34\x56\xf4\x37\xfc\xb0\x0b\x29\xb9\x8b\xcc\xab\x8e\x47\x46\x85\xdf\x96\xdd\xf8\xae\xc8\x13\xeb\xc3\xf7\x4f\x04\xc7\x6f\xc2\x19\xa1\x98\xf5\xd1\x25\xcf\x24\xd3\xfb\x2f\x86\x89\x91\x5f\xd5\xc1\xa0\xbf\xc4\x6b\xf9\x8d\x27\xfd\xbe\x2f\xe5\x72\x7f\x2b\xa2\xe3\xa6\xfa\xa4\xfb\xe1\xc3\xfb\x59\xe1\x43\x95\x82\x0e\xdf\x7c\x8d\x8f\x6f\xf1\xf5\xc5\x50\x1c\x90\xdf\xd1\xe7\xd8\x7f\xf3\xac\xe1\xfc\x6d\x25\xff\xdd\xf3\xf7\xf2\x22\xdd\x0d\x9b\xdf\xeb\xc6\x3e\x19\x8f\xcf\xe9\x81\xbb\xe0\x74\xcd\x3e\xf8\xbe\x05\x4d\x2a\x4d\x37\xd8\x43\xa9\xb1\xa2\x62\x3f\x14\xc4\x71\x46\x04\xb7\xa9\xcd\x8b\xd2\xd1\xce\x3a\xd9\x7c\x14\x74\x17\x8b\x6e\x11\x46\xfc\x19\x7f\xac\x81\x4c\x6d\xa8\x68\xe0\x65\xde\x01\x40\xed\xf8\x77\x85\x1c\x73\xb6\xab\x7b\x39\xbf\xe6\x30\x99\xfd\x83\xc3\x6c\x20\xb8\x7e\xd9\x7c\x5f\xf6\xbf\xf8\x11\x7c\x5e\x7c\x87\x89\x06\xab\x00\xdf\xa3\x3b\x9e\x10\x5b\xb3\xe3\x72\x4b\xc9\xf6\xd9\xb1\xaa\xf3\x1b\xc7\x7e\xf6\xda\x9e\x73\x18\x7f\xba\x97\x5a\x6a\x4f\x06\x8a\x25\x23\xe9\x4f\x95\x0d\xa5\x94\xa8\xa8\x2b\x18\x41\x40\x16\x93\xe1\x0d\xc5\x97\x05\xb4\x65\x4b\x28\x47\x50\xb0\xc7\xa7\x47\xe8\x68\xfb\xd6\x5a\x8f\x02\xd7\x0d\x1c\x8a\x3d\xb9\x5f\xa8\x6e\x2c\x6a\xb1\xa4\x7d\x53\xf4\xab\x4d\x16\x33\xf0\x79\x24\x81\x97\x4a\xa2\x3c\xd5\x02\x8b\x5d\x92\x1d\x3c\x6a\x96\x6a\x11\x66\x2d\x16\xb7\xe5\x50\x5a\xd9\x13\xe8\x31\x2a\x62\x6b\x50\x96\xb3\x83\xaa\x07\xb5\x84\x08\x3c\x1b\x15\x25\x88\x3f\x81\x76\x32\x2b\x2a\xf5\xd4\x5b\x80\x84\x7d\x3f\xef\x56\xdd\xbf\x4a\x5a\x05\x6e\x16\xf0\xe3\x65\x0c\xd2\x1b\x29\x2b\x4c\x59\x5c\xbd\x61\x80\xb2\x96\xef\xac\xe4\x2f\xa1\xf0\x69\x92\x3a\x7c\x50\x9f\x69\x25\xa7\x9e\x59\xf1\x0d\x79\x3a\xf4\x32\x2b\x41\x8a\x25\x96\x83\x6b\x66\x1c\xb8\x21\x36\x74\x56\x48\x04\x51\x6a\xe4\xd5\x19\x39\xe7\xdc\x31\x49\xc1\x01\x1f\x4c\x9a\x8b\x82\x85\x16\x9d\xe4\xbd\x0e\xea\x00\xcb\x24\x45\x94\x8a\xae\xcd\x87\x42\xbf\xb2\xd8\x78\x56\x56\xd8\x29\x7a\x56\x74\x43\x49\x2d\x02\xc8\x08\x7f\xc1\x9a\x67\xba\xfa\x9f\x56\x40\xb4\xc8\x73\x1a\xea\x59\xa7\x39\x6b\x79\x14\xa0\x14\x35\x5b\x39\x94\xea\xd0\xd5\x5f\xbc\xc9\x55\xfb\xbc\x2d\x45\xea\x75\xa9\x19\xd9\x9a\x28\x4f\x82\xc9\xdd\xed\x28\x58\xba\x2e\x96\xe5\x66\xd9\x56\x6f\xa0\xc2\xaa\x2d\xc9\xff\xee\x0d\xf8\xf9\x7e\x7a\x29\x28\xbb\x2b\x3e\x3b\x8c\x45\x78\x57\x3f\xcf\xaf\xfa\xd9\x13\x3d\xe7\x3b\x9e\x30\x2a\x0f\x89\xb5\x8e\xec\x55\x59\xdd\xff\x28\xee\x2d\xb5\x54\xd5\x36\x94\xa7\xb0\x30\x5a\x7a\x94\xee\xf6\xd8\x72\x50\xb3\xb8\xb3\x66\x7d\x65\x22\x49\x6d\x05\x91\x7e\x91\x8d\x34\xcd\xfd\x2c\x8c\xe0\xc8\x44\xd8\x22\x34\x91\x81\xe2\xc9\xee\x9f\x4c\x73\x3b\x5b\x45\x50\x07\x56\x47\x23\x59\x04\x94\xd6\xca\xb6\x8c\x14\x69\x21\xe4\x7f\x17\x16\x33\x2c\x31\x73\xb5\xa0\xd8\xbc\x91\x05\xa5\x86\x12\x03\x48\x8c\x15\xf4\xeb\x74\xba\x13\x50\x09\x1b\x97\x12\x94\x33\xcb\x85\x53\x01\xe5\x55\x33\x75\xb7\x0a\xf2\xeb\x8b\xd5\x54\xcd\x56\x70\xca\xe9\x58\x49\x2e\x07\x4a\xf1\x14\x42\xd2\x30\x4b\x26\xfd\x07\x6d\x2b\x7e\x8c\x4d\xd3\xf4\xff\xb9\x09\x01\x06\x21\x49\xcd\x3d\x32\x14\xdb\x43\xa7\x1b\xd1\x80\xa3\x19\xbf\xd7\x19\xfd\x38\x21\x2b\xac\x96\x34\xeb\x8a\x1f\xdd\xcd\x1d\xff\xdf\x06\x03\x24\xa3\xc9\x92\x25\x49\x45\x9a\xd0\x2d\xa1\xbc\x2a\x92\x15\x75\xc5\x16\xa9\xd6\x0f\xe2\x83\xa3\xba\x33\xa4\xeb\x34\x51\x24\x2f\xa9\xb9\xcb\x99\xb4\xd4\xcb\x46\xc1\x79\xd4\xd8\xa1\x13\x70\x8e\xbe\xbe\xf8\x5a\xd0\x6a\x5f\x41\xbf\x5d\x11\xd2\x03\xc7\x01\xeb\xa4\x8d\xa6\xa1\xd8\x59\x4e\xe2\xeb\x30\x1b\x2f\x05\x8d\xd7\x50\xc8\xc6\xff\x29\x7f\xcd\x53\xf8\x00\xcd\xa6\x1f\xb6\xa8\x15\x9c\xb6\xa0\x74\x45\x39\x98\xf8\xdf\xb6\x44\x3c\x8c\x84\x19\xfb\x52\x1e\x2b\xe1\xb4\x34\x7f\x37\x0a\x9e\x87\x96\xca\x21\xe4\x75\x1c\x4e\x6b\x0e\x2d\xd5\xd7\x63\x54\xbf\xbe\x94\x59\x53\x1f\xf5\x82\x8b\xdb\xc8\xf7\x8b\x93\x75\xe1\xa8\xea\x87\x67\x5f\x43\x58\x2b\xea\x65\x06\xfc\x79\xbf\xb0\x8c\x64\x23\x23\x64\xc9\xff\x63\x4f\x88\x53\xf6\x68\xe3\xf5\xa5\x8e\x99\x46\x97\x15\x3b\x70\x1b\x2b\x85\x41\x48\x52\x35\x70\xec\xc1\xb0\xc8\x6d\x91\xd7\x63\xc0\xca\x67\x03\x66\x9f\x77\xa8\xb4\x54\x9a\x0f\x2d\x78\xb9\x10\xc0\x4c\xc7\x5e\x8a\x2b\x1e\x2d\xbd\xbe\xb4\xd1\xd3\x14\x01\x5f\x7b\xcd\x8d\x21\x08\x2d\x1a\xe5\x76\x42\x7e\x04\x64\x18\x0f\x7b\x51\x25\x2e\xa4\x7e\x21\x16\x96\xcf\xd4\x8e\xd2\x23\x04\x6e\x5a\x70\x63\x08\xe7\xee\xde\x49\x90\x01\x14\x0d\x68\x8e\x6f\xd9\xff\xf7\xfa\x32\x86\xa4\x29\x75\x85\x16\xa6\x64\x86\x8b\xd4\x66\xcc\xbe\xa0\x56\xa0\x95\x76\x2f\x0e\x94\x9e\xfa\xbe\x44\x1f\xfb\x8a\xe0\x3e\x7e\xaa\xc2\xc4\x14\x56\x0f\x19\xdc\x35\xfb\x1e\xe7\x91\x9d\x41\xc6\xeb\xcb\x1c\x39\x8d\xd9\xb0\xe4\x94\xa9\x5c\x83\xd4\xda\xe5\x98\x09\xc8\x2a\xd3\x5a\x02\x9b\x6e\x1a\x3e\x75\xd1\xc1\x9a\xd4\xda\xea\x9b\xda\x74\xeb\x53\x14\xd3\x7f\xc7\x31\x0c\x1d\x8d\x7d\xdc\x93\x2e\xd3\x77\xbf\x72\x5c\x41\x6e\x87\x28\x33\xdc\x24\x05\x7b\x8b\xaf\x0b\xaa\xee\xb4\x48\x4e\x0a\x3a\x26\x68\xc1\xfa\x8f\xee\x57\x6a\xd6\x6e\xe6\x2f\xb3\xfa\xe5\xb4\x60\xd1\xd1\x9c\x3a\xdf\xaa\x77\xdc\x46\x9a\x20\x70\x21\xb5\x60\xc4\x2f\xa4\xa5\x04\x59\xd8\xb0\x28\x54\x03\x1c\x2a\x2d\x03\x64\x31\x7d\x34\x0a\xcd\x22\x32\x07\x5e\xa2\x99\x54\x6f\x63\xce\x90\xa8\x1c\x6e\xa8\x8c\x9a\x90\xa3\x97\x64\x6e\x7c\xd6\x20\x2b\xa6\xd2\x2d\xc1\x30\x06\xf2\x88\x6a\x09\xcd\xf8\x63\x44\xa6\x8f\x57\xb3\x1d\xd5\x74\xf9\x63\x02\x0f\x40\xef\xfe\x9f\xa7\x54\xe7\x9f\xde\x52\xa0\xfb\xb8\xfe\xff\xd8\x7b\x93\x1c\xc9\x91\xa4\x69\x74\xef\xa7\xb0\x0b\x30\x61\xaa\x6a\x23\xfe\xed\x7b\x6f\x17\x67\xf8\x80\xbf\xab\x0a\x5c\x70\x43\x80\xf0\x45\x9c\xfe\x41\x45\x94\x74\x8f\xf4\xc8\x8c\x1a\xba\xba\xfb\x03\x1a\xdd\x95\xee\xe1\x9c\x8d\x36\xe8\x24\x22\x46\x96\x09\x4b\xc5\x0e\x73\xbb\x4b\xfb\x7d\x11\xb2\x23\xb6\xd3\x7c\xa0\xdc\xc0\xc8\x97\xdc\xc0\xa8\x97\xdc\x00\x1e\x89\x45\x88\x39\xe4\x06\x04\x2c\x8c\xe3\xee\xa7\x89\x50\x76\x32\x25\x26\xee\xf0\x6b\x2d\xc5\x28\xf8\x9c\xff\xf5\x37\x70\xfb\x78\x07\xee\x05\xfc\x9b\x1b\x81\x60\x92\x8c\x4c\xcb\x75\xce\xc7\x85\xce\x8b\x5f\xf1\x95\x3f\x77\x47\xb7\xa7\x5b\xc2\x79\x9a\x2f\x7a\xf8\xe1\xb8\xee\xfa\x3c\xec\x77\x74\xae\x97\xfc\xe4\x3f\x1e\x72\xef\x05\x5a\xde\xb5\xfd\x08\x25\xc7\x82\x48\x92\x40\x51\x76\x2b\xe4\xb2\xd6\x45\xcc\x57\xba\xcf\x31\x3c\xf9\x15\xa7\x37\x66\xfb\x04\xa7\xf7\x1e\xd6\x61\xc9\xf9\xbe\x58\x6f\xab\xf5\x86\xc5\x18\xd5\x92\x9a\xdc\xba\x32\x10\x9b\x19\x85\x9a\x14\x48\x6e\xd5\x10\xf3\xa4\x46\x49\xd6\xb2\xa2\x0c\xe8\xb3\xdb\x29\xd2\xe0\xfb\x53\x5c\x86\x60\x9d\xdb\xdb\x98\x25\x95\x46\x96\x3a\x6d\xc9\xdd\xcc\xda\xf6\xea\xb3\x8c\x0f\xe2\x1e\xc2\x4a\xd2\x3b\xb9\xe9\x1b\x6e\xe7\xf2\xd2\x00\x09\x5d\x94\xf1\x7d\xb7\x9b\x80\x26\x1d\x41\x47\x3e\x4e\x6a\x68\xf7\xfd\x14\xfa\x32\x19\xdc\xdd\xaa\xa1\x90\x61\x53\xa1\x1a\x46\x11\x40\x6d\xd0\x61\x42\x3c\xf7\xa1\x9a\x31\x52\xdf\x98\xc9\x82\x65\x09\x29\x25\xaa\x68\xf8\x23\x26\x6b\xfb\xf4\x46\xae\x2d\x45\x21\xa7\x92\x94\x2d\x62\x36\x69\x69\x28\x15\x04\xed\xdb\x5e\x35\x8d\xca\xda\x82\xd9\x6f\xbb\xbf\x76\x64\xec\x4b\xc2\x25\x15\x78\xf6\x25\xb0\xb4\xa0\x28\x41\x34\xb8\x13\xe2\x5f\x50\x11\x5b\xf2\xaa\xb2\x82\xb7\x26\x48\x8f\x2a\xc2\xdb\x2a\x69\x42\x3a\x6d\x01\x72\x7b\xf1\x69\x19\x1c\xdb\x7e\xd3\xe3\x0e\x42\x0f\x64\x48\x4f\x93\x68\xea\x1e\x2a\x8a\x89\x8a\x11\x36\xde\xdf\x4c\x46\xaa\xb8\x51\x7f\x66\x80\x81\xc7\x0e\x5e\x84\x92\x19\xea\xf0\x91\x79\x29\x50\x94\xf7\xb7\x2e\x2d\x4d\x04\xd2\x2b\x3d\x68\xea\xd1\xed\x92\x7a\xea\x09\x26\x84\x25\x10\x3e\x49\x2a\xa9\x24\xc0\xe4\x88\xe6\x45\x93\x02\xaf\x0e\xb3\x9d\x4a\x76\x89\x59\xcb\x78\xb7\xf7\x45\xdf\xdf\xea\x54\xf4\x3d\x71\x4b\xb7\x24\x1d\x25\x0d\x01\x03\x1f\x0e\xa0\xe7\xd5\x12\xe9\x93\x7b\x03\xb1\x86\x68\x4f\xe2\xdd\x58\x7d\x11\x6a\xe7\x42\xd4\x09\x40\xaf\x8d\x5c\x58\x03\x12\xb8\x36\x92\x21\x86\x52\x20\x89\x48\x1e\x7c\xb0\x47\x80\x3f\x95\x40\x76\x09\xf8\xb4\x10\x8b\xac\xe9\x2b\x77\x46\x5f\xd2\xb9\xff\xd0\xff\x0e\x79\xa8\x4e\xe3\xc7\xdc\xd7\x9e\x37\xd2\x02\x35\x59\xa5\xce\x0d\x05\xb0\xa3\xee\x30\x32\x24\xa7\x02\x46\x45\x52\x26\xac\x65\x83\x61\xcf\x3e\x1d\x99\x2b\xda\x93\xee\xd2\x80\xff\x6c\x54\x9e\xa6\x95\xe4\xa7\xec\xf9\xee\x57\x59\x2c\x13\x7b\xbe\xce\xbc\x2d\x13\x44\xf1\x41\xe0\x4e\x53\xba\x34\x4e\x21\xb2\x2e\xec\xae\x4b\xa6\x21\x49\xf5\x39\x37\xc4\x60\x56\x2e\x02\x0e\x8b\xa4\x72\x2c\x35\x69\x75\xe3\xaa\xa4\x0a\x95\x26\x30\x13\xba\xeb\x5c\x4b\x3d\x5d\xa6\x72\x42\xe7\x6f\xc7\xc2\x1b\x86\x4f\x50\xe2\x52\x7e\x51\x45\x3f\x86\xce\x6c\xf2\xdb\x98\x33\x15\x1b\xeb\x7c\xdc\xf9\x57\xbd\xec\x25\x37\xfa\x0f\xfb\x6f\x2f\x2b\xea\xab\xb5\xfb\xd2\xb9\xad\x3a\xe4\xee\x9f\x4b\xaf\x1b\x96\xf0\x26\x7b\xf5\x25\x26\x83\xa1\xe0\xe8\x27\x67\xbc\xbf\xa3\xb2\x22\xb4\x5b\x12\xd5\x00\xfd\x86\xd2\x45\x2a\xe6\xd3\xc8\xc1\xda\x15\x44\xd4\x91\x18\x14\xbf\x7e\x5c\x69\xc6\x95\xe8\x42\x31\x06\xe2\x76\xab\x0e\x5d\x5b\xe7\x3b\x45\xb8\x05\xbd\xdf\xbb\x0c\x0c\x93\x3a\xc1\x71\xd2\x43\x27\x8a\x4c\x33\xf4\x93\xd0\x33\x6d\x05\xe3\x52\x22\x53\x6a\xde\x61\xa1\x23\xfe\xac\x10\x9d\x6d\xbe\x5c\xac\xbd\xf9\x05\x6e\xeb\xa2\x33\xfa\x7b\x1b\x1b\x8a\x67\xb4\xbb\xab\x01\xa6\x8b\x61\xeb\x97\xd2\x71\x45\x5f\xb2\x81\xff\x28\xff\xed\x54\x05\xd4\x11\xf1\xaa\x4d\x3b\x5f\xf5\xb4\xbb\xb4\xbe\x8a\xf5\x00\xa7\x40\xa3\x7e\x6f\xfe\x6e\x42\x46\x7b\xf4\x83\xf8\x0e\xe2\x3e\x84\xb9\xe8\x22\x24\x7e\x1b\x1d\x86\x0a\x62\xc6\xe6\x2e\xf3\xba\xd8\x39\x41\x4e\xbd\x2f\xb5\xd6\x75\x99\xea\xc6\xef\x4c\x36\x9a\x4f\x36\xf3\xae\x90\x77\xcb\xbe\x52\xe7\x84\xb5\x6d\xec\x95\x48\x2b\xa4\xad\x04\xe1\xd4\x31\x43\x0f\x48\xf3\x1e\x34\x35\x41\xfb\xfc\x55\x78\x51\x5f\xb2\x75\xff\xa8\xff\xed\x02\x24\x87\x51\xbf\x2a\x44\x25\xb2\x96\xbb\x4c\xdd\x7c\xac\xe3\x53\x79\xf2\x33\x9d\xf2\xfe\x56\x0a\xd8\x21\xf6\x65\x30\xb6\xf5\x21\x81\x78\xc4\x47\xfc\x7a\xa6\x19\xaf\xbc\xe3\xf7\x09\xc8\xaf\xde\xd9\x4b\x46\xeb\x1f\xed\xff\x3c\xc1\x10\xfc\xbd\xdc\x4f\x45\x42\xca\xf4\x81\x2b\x04\x5e\x15\x1e\xe5\x75\x9b\x1f\x37\x66\xfb\xd1\x61\xde\x42\x9f\x6c\xfa\x4f\xea\x21\xb7\xbf\xb5\x8b\x5c\xcf\x7d\x0a\x35\xae\x0b\xf0\x10\x8f\x5e\xf3\xd6\x87\xa4\x3a\x8d\xeb\x85\x95\x09\xd1\xf2\x9e\xc6\xe9\xc6\x0c\x4b\x67\x49\x90\x45\x52\x30\x44\x71\x1e\x7f\xd4\x47\xe1\x10\xeb\xe4\x21\x1e\x33\x52\x05\xf9\x55\x33\x54\xda\x59\xbc\xa7\xeb\x9e\xfa\xbc\x31\x76\x0d\xfe\x59\x62\x47\xad\xf0\xa5\xba\x57\x4b\x2a\xf9\x4c\x56\x4a\x3b\x31\x6d\xd7\x97\x73\x0b\xbf\x20\x30\x45\xcd\xe5\x52\x8f\xeb\xcb\xb9\xed\xab\xbe\xf9\x92\xb6\xfb\x47\xff\xef\x7c\xd2\x34\xa7\x36\x50\xfe\xb4\x50\x63\xd5\xf2\x7d\xa9\x0c\xbc\xaa\x46\x65\x52\x3e\x49\xca\x50\xc4\x85\x3b\x88\x72\x83\x0d\x34\x9a\xbe\xfe\x2c\x02\xc5\xa5\xef\x0b\x11\x2e\xf4\xfe\xa3\x80\x40\x4c\xb6\x38\x6a\xa7\x2c\x9c\xd5\x04\xc4\x0f\xea\x08\x77\x13\x24\xcb\xdc\x05\x12\x37\xa3\xea\x4c\xfe\x69\xe0\x1f\xe7\x17\xc4\x9a\x01\x29\xb0\xa4\x25\x12\xf0\x65\xa7\xdc\x52\x0f\x6e\xed\x85\x9a\x61\xe5\xc4\x3a\xdc\x40\x6e\x46\x59\xbe\x8c\x37\x49\x54\x20\xbe\xed\x3c\x4e\xa2\xfa\x2e\x68\xb0\xed\x4c\x6a\xc2\xc3\x95\xca\x7c\x5e\x7d\x7f\x1b\xda\x92\x94\x1a\xa4\xaf\xee\x2e\xec\xa3\xa7\x69\x69\xf4\xa4\xde\x4f\xf9\x19\x68\x16\xf8\x7a\x9a\xa3\x6e\xab\x1f\x68\xd5\x42\xf6\xf2\x20\x5a\xaf\x8a\xa2\x5a\xe2\xfc\x84\xd0\x25\xb6\xe8\x0c\xb5\x9e\xd8\xf3\x38\x8f\xc5\x3b\x13\xf7\x70\x41\x3b\xf6\x45\xef\x7f\x49\xd6\xfd\x63\xfc\xb7\xf7\x9f\x51\x55\xd8\x30\x50\xe1\x1b\xa0\xf8\x76\xf3\x35\xea\x7a\xaa\x32\xa2\x33\x33\xb9\x17\x6d\xac\xc4\x08\xe2\x18\xff\x09\xb0\x87\x91\x66\x8e\xa2\x9b\xaa\x09\x7f\x1e\xd8\xb6\x62\x11\x16\x6d\x39\xf5\xf6\x32\xce\x7a\xfb\xf9\x38\x2b\x8f\x71\xa6\xad\x26\x6d\xed\x3e\xf3\x16\x5f\xf7\xc9\x08\xcf\x24\xb1\x9a\x1f\xf2\x55\x2f\x78\x49\x70\xfe\x63\xfe\xb7\x17\x94\x91\xd1\x0b\xfc\xf1\x7d\x52\x41\x56\x0b\x0c\xf8\xdf\xea\x56\x19\xc9\x63\x6a\x44\x2e\xe6\x7b\xf2\xdd\x9f\x62\x00\x50\x95\x8b\x2f\xbe\xb8\x0a\xdc\x75\x88\xa4\x9f\xfc\x87\xb2\x2d\x71\xaa\x33\xcd\x12\x57\x40\x65\x92\x44\x89\x75\x43\xe9\x3b\x8a\x96\x50\x58\x30\x82\x4e\xbf\xf8\x54\x89\x98\x19\xaa\x19\x06\xf7\x5d\xb0\xf3\x08\xee\x76\x39\xf3\x71\x5a\x12\x8a\x35\xab\xa4\xb8\xdc\x08\x1a\x46\x15\x38\x8f\x5a\x70\xb7\x5a\xec\xc6\x07\xf0\xdb\x5e\xf0\xf8\x0b\xb7\x1f\xb1\xfb\xc6\x73\xe0\x14\x3c\xed\x71\x5e\xe7\xfd\xad\x35\x4d\xed\x4a\xa2\x10\x82\x70\x20\x55\xe7\x17\xb0\x91\x86\x09\x05\x29\x7c\x97\xcc\x46\xad\xdf\xc8\x8b\x28\x19\x4a\x87\x1a\xd5\x16\x62\x11\x49\xf1\x26\xf5\xf1\xe6\xc7\x5e\x09\x54\x0b\xd1\x0d\xb4\xd9\xd7\x95\x09\xf6\x9a\x48\x79\x10\x0f\x97\xd9\x53\xcf\xee\x01\x4f\x6f\x9c\x1c\xfa\x84\x02\xb0\xb0\x91\x73\x58\x08\x96\xe4\x1d\x75\xf2\xd2\x5d\x70\x92\xe3\x84\x41\x21\x22\x33\x58\xcd\xb4\x48\xd3\x64\x40\x0e\xfb\x3a\x42\xa2\x66\x6a\x39\xd7\x74\x92\x71\x53\x88\xe4\x54\x2d\x47\xa2\xae\x1c\x67\x49\x7e\x29\x07\x04\x23\x92\x91\xc8\x1e\xe5\xe9\x36\xf3\xaa\xc3\x40\x03\xab\x32\xa0\x26\x6e\x73\x3c\x24\x26\x4c\xfa\x21\x84\x7b\xa8\x31\x05\x09\x30\x61\xdd\xa5\x51\x53\x55\x47\x4f\x25\x23\xdb\x55\x94\xd5\xc2\x6a\x49\x01\x7e\x90\x64\xe0\xe9\x84\xf7\x90\x4b\x5c\x5a\x47\x49\x90\x4a\xd9\x29\x3b\x46\xe9\x77\x20\x0a\x80\xcb\x9c\x3d\x30\x35\x35\xe4\xa0\x75\x34\xd0\xc1\xcb\x49\x91\x6a\x5c\xe9\x14\x04\x01\x0d\x08\x4f\xd6\xda\xa0\x04\x06\xe8\x21\x00\x8b\x7c\x30\x7b\x23\xb8\x53\xda\x83\xa8\x5a\x01\x6b\x2b\x15\xda\x97\x41\x0f\x4c\x62\x6e\xd3\x80\x60\x10\x93\x43\xca\xd2\x45\x91\x08\x51\xd2\xb8\x82\x5f\x00\x09\x74\x1f\x54\x3f\x97\xbc\xfd\x9f\x62\xaf\x39\x91\x9f\x09\xd4\xab\xb0\xac\xbf\xa1\x12\x2a\xeb\xdd\xea\xdc\x16\xb3\x92\x94\xd4\x66\x25\x55\x91\x0d\xd5\x5e\xea\x96\x11\xbf\xdc\x17\xad\xe3\xfd\x6d\x82\xd4\xa0\xe2\xe8\x92\xd5\x27\x74\x20\x3e\x79\x06\x7f\x29\xf7\xc5\xea\x0c\x56\xa2\x3a\x36\xed\x9a\x64\x28\x75\xf0\xaf\x2f\x3e\x5e\xdf\xdf\xca\xa8\xa9\x9b\x6d\x71\x71\xde\xc9\x79\x5f\xe0\x71\xab\xa9\x95\x8c\x7b\x71\x9b\xe9\x8e\x5b\x10\xcb\x1d\x87\x5d\x97\x8e\x9b\x89\x2b\x13\xf3\x24\x50\x0f\x64\x46\xb8\x04\xac\xae\x95\x6d\x19\xe0\x58\x40\xed\x81\x44\x05\x18\xc6\x26\x2a\x0c\xc5\xb8\x03\xb6\xfb\x4d\x51\x58\xbc\x95\x7b\x45\xcc\xa1\x48\xc2\x9f\xdb\xb9\x93\xbf\x1f\x03\xb5\xac\x1d\x3c\xcf\x76\x5d\x00\xed\x61\x89\x17\xfe\xea\x1d\xbe\x06\xb9\x7f\xa6\x90\x2f\x23\xfb\x64\x5f\x76\xf1\xc9\xae\xb4\x14\x2c\xd2\x24\x9f\x6e\x51\x72\x2f\xd1\xc7\xc0\x3d\x8e\xdc\x06\x65\x85\x74\x80\xa8\x14\x03\x9f\xdc\xd4\x72\x92\x0f\xa3\x98\x02\x6a\x24\xa2\x79\xae\x8b\xac\x8b\xae\xa8\xbb\xe9\x4c\xd5\x80\x83\x33\x2a\xce\xc4\x17\xa5\xc0\x7e\x4a\x4e\x15\x10\x99\x43\x4a\x4f\x52\xa0\xc0\x40\x7f\x49\xd3\x80\xf1\x2c\x35\x0d\x77\xef\xdb\x21\x73\xa6\x21\x41\x84\xea\xbd\xa1\x8e\xbd\xd7\xe4\x5d\x4f\x95\xc4\x0d\xe3\x30\xc0\x7b\x67\xb9\xed\xd2\xa8\xe1\xd7\x42\x70\x49\x63\xa6\x00\x1f\x3d\xa7\xb4\x80\x5a\x91\xbf\x17\x12\x47\xe7\x97\xf7\x37\xb7\x08\xca\xbc\xc4\x45\x81\xcf\x9f\x76\x68\x46\x86\x6b\x17\xa4\x61\xb5\xe4\x34\x27\x0d\xf2\x1c\x00\xcc\xfa\x40\x77\x80\xa1\x15\x24\xcb\x8d\xf8\x13\x88\x57\x2f\x15\xc9\xad\x79\x4a\x64\x1e\xac\xc8\x1b\x9c\x59\xaa\xa5\xf8\x93\x04\x22\x56\x28\x69\x13\x00\x21\x39\x7c\x28\x55\x28\x47\x2c\x9d\x1c\xf5\x43\x8f\xde\xf1\xd7\xec\xbe\xed\x76\xcd\x8a\xb2\x13\x7a\xa7\x98\x30\x01\x8c\x1c\x94\x41\x88\x17\xe0\xbd\x99\x8c\x06\x6e\x97\xf7\xd4\xb1\x00\xb3\x3e\xd3\xfb\xff\xec\x1b\x46\x51\x1e\x7b\x6b\x09\xc9\x2a\x4d\xad\x84\xd1\xa8\x00\x83\x20\x37\x45\x7b\x31\xb8\xe1\x91\x8c\x03\xd2\xd6\xca\x43\x50\x6d\xc4\x2a\xbc\x74\xa0\x7a\xc8\xe3\xd3\xfd\x8b\xf7\x42\xf7\x47\x7a\x8f\x5f\x66\x23\x08\x68\x81\x7a\x00\xe2\xf4\xa2\xf4\xbb\xdc\x8d\x27\xe4\x09\xfd\x71\x7c\xcd\xbb\x61\xaf\x41\xfa\xd7\x5a\xbd\x8f\xbc\x1b\xc8\x72\x0b\x50\x70\x5f\xca\x1e\x1f\x7f\xaf\xfe\x72\xc8\x2f\x07\x31\x19\x49\x02\xc8\x22\x60\xcd\x5f\x90\xcf\x73\xe8\x9b\x65\x77\x63\x66\x80\x23\x58\x47\x48\xe3\x0f\x6c\xf5\x8d\x00\x8e\xcd\x38\x6c\xe6\xf7\x37\x5f\x52\x01\x92\xe1\x0e\x94\xba\x87\x1d\x87\x73\x1c\xfc\x60\xe4\x1a\x27\x00\xfb\x7a\xc7\x35\x71\x96\x23\x3e\x83\xad\x0e\x8c\x97\xb8\x33\x5e\xe1\xe9\xc8\x38\xeb\x12\xf7\x74\x2c\xbc\xc7\x88\x8a\xfb\x2e\xe7\x79\xe3\x99\x78\x4a\xad\x2d\x8a\x4c\x95\x80\x5f\x98\x78\x42\xf3\x2c\xf0\xc1\xcf\x7f\x3c\xef\x15\x7f\x2c\xf1\x97\x9c\x4c\xdc\x72\x9d\x81\x7f\xdc\x8e\xe7\x1d\x7d\x99\x18\xee\xd3\xda\xa3\x55\x27\x65\x42\x79\x73\x47\xdc\xe4\xd3\xad\xfb\x83\xb1\xe5\xfd\xb1\x8e\xf3\x41\xbf\xea\x94\xaf\x41\xfe\x57\x4a\xb0\x27\xc8\x74\x6f\xf9\xd2\xfc\x76\x97\x81\xb3\xb5\x21\x3c\x39\x20\x40\x16\x45\xb3\xac\xf1\x72\xdb\xca\xac\x9d\x9c\x5b\xfe\x35\xd8\xb7\x88\x71\x82\xed\x35\x4a\x8a\xc3\x70\x36\x43\xee\x17\xb2\x82\x3d\xd1\xd0\x52\xe8\xd3\x80\x25\xa2\x97\x04\x15\x5f\xd5\x11\x49\xfc\x02\x80\x5f\x8b\x55\xe3\xe0\x32\xe2\x8b\x70\xa0\xd7\xc1\xfd\xbe\x28\x85\x33\x2c\x44\xb2\xca\xa1\x40\x45\x00\x0d\xab\x84\x79\x55\x89\x6f\xfe\x25\x17\x82\x61\x6f\x71\x8c\x1f\x52\x25\x69\xd4\x28\xab\x9d\x2c\xfa\x6e\xd8\x1d\x71\x03\xaa\x72\x07\xff\x98\xcf\xf6\x26\xc9\x3a\x85\x33\xf0\x00\x0b\x9f\x60\xf6\x30\x1f\xbf\xae\x17\xf9\x7f\x5e\x6c\xe8\x5f\x5e\x79\xc0\x9e\x5e\xce\x4c\xad\xe9\x3e\x92\x4a\x87\x74\xa2\xdf\x99\x65\xb7\x66\xc7\x5a\x1f\xf9\x74\xd2\xdd\xd3\xc1\x0c\xe9\x61\xf7\xb0\x49\x7c\x05\x64\x2e\x2b\xb8\x4b\x30\x4a\xd4\x0b\x9f\x51\x4f\x8c\x59\x60\x87\xa8\x14\x28\xb5\xec\x15\xfa\xf6\xa0\xac\xc7\x3c\x7a\x46\x04\xbd\x9f\x63\x5e\x05\x9a\xad\x74\x48\xd0\x6c\xd2\x40\xde\x3e\xfd\xcd\x54\x4b\x58\xcd\xa3\xcc\x41\x4f\x6f\x2c\x9f\x6c\xf5\x23\xb3\xc8\x6e\xd2\x11\x0d\xa6\xf9\x44\x7b\xb4\x58\x2a\x72\x8b\x75\x8e\x3c\x0c\x56\x59\x2a\x67\x89\x30\x7a\x09\x1c\x9c\x74\xe8\x90\x57\x3d\xea\x0c\x5d\x5b\xef\xaf\xbb\xc0\xcb\xc6\x04\x1f\x94\x19\xe0\x1d\xf1\x75\x10\xa5\x9b\x88\x94\xb9\x89\x6c\xa1\x41\x31\x04\x1c\x33\xcb\xc9\x9e\x92\xe8\x56\x84\x34\x39\xe2\xa4\xc8\xef\x12\xcb\x6c\x3d\x81\x63\x1c\x2c\x01\xa0\xad\x03\x96\x17\x4e\xca\xc6\xcc\x9f\x50\x52\x11\x6d\x3c\x40\xc5\xcf\xf7\xd0\x6a\xd4\x60\x4e\xe6\x6d\x50\xb0\x30\x2e\xfa\x2c\x54\x30\xe7\xdb\x01\x72\x0a\x5f\xee\x51\x42\x53\x2a\x04\x0e\x42\xec\x61\x44\xc9\x65\x6f\xa1\x66\xd3\x63\xb5\xdf\xbc\x8d\xdb\xde\xb0\xd2\x63\x9d\x13\x09\x99\x3a\xac\xda\x87\xe4\xf8\x82\xf0\x99\xdb\x24\xd6\x13\xac\xfb\x03\xfa\xa4\x69\x1a\x80\x1c\x5d\x43\x2c\xa1\xa0\xc1\xdc\xd3\xec\xf4\x9e\x51\xe6\x2f\x06\x05\x2e\xdb\x11\xb3\x98\xa1\x50\x54\xda\xd1\x14\x0f\xea\xe6\x5d\x1d\xc7\x89\xec\x0a\x99\xa1\xde\xc9\xae\xb2\x8c\x11\xf2\xa6\x16\x81\x40\x71\x67\x2b\xdc\xd5\x76\xdb\x51\xef\x8b\xda\x2e\x84\xe6\xa0\x40\xa1\x40\xda\xfb\xcd\x45\x0e\x6c\x11\xaa\xd1\x58\x95\xd4\x8b\x4f\x8d\x34\x3e\x46\x4c\x3e\xfe\x24\x14\x1d\xab\x3f\xaf\xe7\xe0\xa8\x7c\xf1\x58\x7e\x79\x61\x14\x7b\x5e\xc7\x31\x07\xb8\x7d\xdf\xdc\x6c\xcf\x23\xa1\x3e\xa9\xa6\xd0\x7b\xd5\x61\x9c\xfe\xb6\x3a\xdc\xca\x82\x80\xce\x04\x9a\x62\xce\xad\xd5\x54\xfb\x2e\x78\xeb\x6d\x24\x30\xe3\x2b\x04\x47\x50\xd1\xb2\xc3\xa0\x53\x1a\x50\x40\x2b\xf6\x96\x8a\x2f\x69\xa8\x78\x1c\xde\x01\xbd\x2b\x15\x14\x90\xeb\x46\xd3\xc8\xf6\x65\x0e\x52\xde\xcc\x91\x6c\xd4\x83\x1f\xdb\xb9\xf5\xaa\x8e\x89\xc3\xb8\x70\xee\x64\xec\xca\x41\xdd\xa5\xa1\x97\x9d\x27\xa5\x14\xc5\x9d\x9e\x0a\xa2\x75\xb9\x6d\x64\x9c\xdf\xc9\x71\x42\x16\x1b\x4a\x1a\xd4\xab\xea\x0e\x0d\x70\x6f\x6d\xaf\xd0\xfd\x81\x37\x82\x07\x1b\x6d\x57\xcd\xa9\x14\x3c\xaf\x3f\x6e\xa3\x38\x7b\x29\xa9\x66\x6f\x9a\xe9\x9e\x92\xf5\x9e\x46\xf6\x41\xea\xfd\x7e\x80\x5b\x16\xc4\x71\x18\x46\x47\x0c\xa7\x4d\xdd\x67\x1d\x91\xfa\x74\x5b\x11\x5a\x9e\xcd\xa7\x08\x7f\x0b\x4d\x77\xb4\x0a\x9c\xd7\xd2\x71\x08\xa8\xa6\x8a\xec\x8c\x00\xe7\x38\x24\x43\x06\x54\xb2\x6f\xc6\xd6\x49\x29\x05\x48\x4d\x54\x9e\x6e\x91\xa6\x37\xd8\xda\x6e\x0a\xfb\xee\x6d\xe2\x0e\x06\xa9\x72\x41\x8d\x57\xd2\x00\x06\x68\xc4\xbd\x8f\xec\x23\x77\xfa\x63\x61\xff\xf3\x44\x7b\x9d\xa9\x8d\x84\xf3\xb7\x6d\xc1\x65\xb3\x37\x82\x80\x62\x41\xf2\xc1\xfb\xc2\xa6\xc5\xb7\x01\xcd\xc3\x23\x96\xd1\xb6\xf3\x01\x5b\x83\x50\xdb\x84\x6e\xa1\xbb\xb7\xbe\x8a\x16\x10\x64\x37\x46\x5b\x10\xef\x14\x0a\x2b\xb2\x67\x11\xad\x0c\xd9\x74\x76\x3a\xd9\x7c\xcf\xea\xbe\xe5\x08\x7d\x43\xef\xa3\x03\x9d\x0a\x92\x9e\xb9\xc1\x21\x52\x37\x43\x7a\x8d\xd2\xc8\x10\x3c\x96\x9e\xeb\x03\x63\x53\xd9\xa4\xde\xe7\x78\xf4\xae\x88\xbb\x97\x99\xd0\x4d\x7d\x4c\x0c\xa8\x7b\x64\xf3\xde\x15\xac\x29\x18\xda\x15\x3d\x02\xa6\x0e\x22\xf3\xd1\x51\xfd\x38\x9e\x0a\x8d\x32\xc8\x42\x61\x03\xf8\x1e\xdc\x47\xb3\x47\xff\xb7\x8a\xe3\xbc\x2b\x0d\x3c\x17\x64\xea\x7c\x9c\x49\x9b\x7c\x64\x7f\x62\x76\x46\x24\x6a\x85\x2d\x24\x76\x47\x08\x79\xa2\xf0\xef\xea\xc6\xb7\x43\x31\x48\x3a\xab\xcc\x7b\x19\xf1\xb0\xd2\x8d\x3c\xa3\xc9\xec\x0a\x62\xa9\x4f\x9a\x0c\x29\x50\x08\xc7\x24\xb5\x7e\x7e\xa3\xde\xda\x19\x69\x88\x29\x98\x8e\x94\x1f\x47\xea\x53\x3f\xdb\xe3\xdb\xd3\xf6\xa7\xc3\x1e\x27\xbb\x2e\xf0\xb8\xe8\xe3\x4e\xce\xbb\x8b\xe0\xc3\x69\xde\xf9\xf3\xfc\x1e\x97\xe2\xf6\x57\x7d\x8a\xe3\x4b\xdf\xe6\x77\x4c\xca\x2f\x21\x88\x5f\xae\x3a\xbb\xea\x7d\x45\x2f\x75\x0d\x30\xbc\x22\xaa\x4d\xc6\xc9\xdc\x53\xb3\xdd\xcd\x5a\xef\x31\xad\xec\x6e\xc4\x9c\xa6\x8c\xbc\xbf\xd5\xd2\x52\x9b\xe5\x94\xc9\xea\x98\x55\x4e\xbe\x4a\x9f\x82\x80\xf2\xcd\x3e\xe0\x67\xf6\x3e\x8b\x60\x02\x81\x6d\x12\x18\xdc\xf7\xb7\x2e\x9a\x7a\x9b\x77\x51\x3f\x96\x64\xb4\xa0\x56\xc2\xea\x5e\x19\x61\x47\xed\xfa\x84\xbc\xd6\x83\x80\xf2\x58\xb0\xc0\x15\x94\xd3\xd7\x4b\x26\x37\xeb\xd1\xb1\x22\xb6\x7e\x77\x93\x0e\xcb\x64\x67\xa2\x64\x54\x44\x8e\xaa\x1b\x47\x7e\x8f\xd8\x01\x80\x58\x23\x3a\x96\x42\xa6\x39\x72\x62\xc1\x26\x59\xa9\x16\x8a\xb9\xba\x22\x38\x91\x16\x5f\x41\x80\x33\x56\xf0\x4b\x78\x33\x81\xbc\x2e\xcd\x09\x3a\xb7\x54\x58\x5d\x09\xf3\xf9\x84\xd6\x91\x8b\x2c\x08\x40\x4b\xf1\x51\x5d\x41\x65\x04\x08\x81\xa6\x9e\x41\xd7\x0f\x2c\x0c\x6a\x2d\xb3\x6f\xb7\x9e\x26\x26\x00\x7b\x7f\xeb\xde\x61\x6a\x46\x41\xcd\x02\x8c\xe5\xa2\x69\xe8\xdd\x40\x46\x52\x5a\xd2\x04\x8d\x77\xeb\xb0\x00\x2c\xb9\xad\x21\xf7\xc5\x26\x59\x7c\xa1\x33\x94\x96\x4e\x12\x13\x77\x95\xda\x5d\xdc\x7d\xb7\xc0\x1c\x73\x4a\x3b\xe3\x9b\xd5\xfc\xe4\xaa\x75\xad\x4a\x4d\x55\x72\xe5\x1c\xf1\x79\x17\xe9\xeb\x22\xd9\x9f\x67\x68\x32\xef\x1c\xeb\x22\x3e\x19\x23\x87\xe0\x0d\x57\xef\x64\xa2\xcb\x77\xb7\x51\x76\xd0\x8b\x58\x87\x7a\x11\x71\x4a\x80\xfb\x28\x3e\xef\x8b\xae\x28\x6b\x85\x80\xb0\xbf\x14\x58\x45\xad\x84\xa4\x75\xa5\x57\x72\x62\x22\x29\x8a\xbb\xf8\x88\x27\xe7\x44\x43\xb2\x29\xfb\x7a\xf0\xfe\x36\xfd\xd5\xe4\x8e\x07\x37\xea\x6c\x36\x0b\x53\x9e\x7a\x3a\x2d\xe4\xb1\xe3\xc5\x04\xb8\xdd\xa7\x55\xff\x43\x43\x13\x8c\xf6\x21\x61\x8a\xbc\x78\xd3\xbf\x4d\x61\xfd\xef\x14\x58\x2f\xf6\x92\x68\xfd\xe5\x85\x9c\xf3\xc9\x42\xab\xd3\x3d\x37\xb0\x72\x65\x0a\xfb\x4a\xf6\x67\xa8\x2c\x1c\x27\xb9\xc6\xc5\x12\x46\x02\xbe\x2c\xbb\x54\x20\xd0\xaa\xfb\x2a\xf5\xfd\x0d\x62\x7a\xdd\xdf\x67\x13\xa0\x8e\x7d\x84\x2e\x63\x26\xe0\x77\x95\xa1\x4a\x56\x16\xd7\x93\x56\x8d\x7f\x5b\x7d\xa2\x87\x13\xeb\xef\x6f\x23\x43\x4b\xca\xdd\xdc\xac\x54\x08\x87\x9a\xea\xa4\x86\x69\x23\x76\xbc\x9d\xf1\x2e\x08\xd5\x01\x7e\xcb\xaa\x41\x28\x86\x22\x90\xb0\xb3\x62\x9b\xbc\xbc\xec\x02\xa1\xa3\x45\xbe\x44\x93\x90\x0f\x06\x53\x30\x6c\x36\xa5\x72\xda\xa2\x7a\x40\xe5\xaf\x9e\xb2\x99\x28\xfb\xc0\x3e\xad\x1c\xe1\xea\x9c\x80\x5d\xb0\xb6\x36\x30\x06\x97\x7d\x69\xc4\x59\x42\x12\x93\x51\x8f\x96\x8a\x1c\xac\x1c\x1f\xe0\xee\xba\x4a\xda\x73\x42\x83\x63\x8a\xae\xf7\x02\xd3\xa9\x60\xd9\x4a\x02\x0c\xb7\xdb\x97\xcd\xbc\x5d\x7c\x6b\x57\xce\x18\xd4\xf9\x04\x50\x9e\xe1\x4e\x64\x8a\x80\xe1\x9b\xc9\xdf\x27\xc0\x41\x6a\x15\xdc\xc8\xfb\x44\x51\x9e\x4f\xbb\xa5\xdf\xc8\x8f\xa0\x32\x52\x81\x52\x18\x53\x31\xeb\xa2\xaa\x7b\x49\xa5\x26\xf7\x5d\xca\xbd\x65\x9f\x21\xa7\xdb\x94\x49\x74\xac\xbe\x99\x6e\x1d\xea\xea\x05\x34\x11\x24\xe6\xf3\xb7\x0c\xfa\x69\x5f\x42\x7d\x3e\x28\x7a\x5f\x64\x36\x52\xe9\xd0\xf9\x2c\xa4\xdf\x46\x66\x04\x8b\x0e\x28\xa5\x73\x72\x67\x0f\x85\x81\x7d\x04\xfb\xcf\xd4\xc3\x2f\x99\xed\x6e\x55\x56\xc5\x63\x93\x56\x3a\x09\xbd\x31\x84\xff\x7d\xde\xf2\xe5\xe5\x2e\x33\xaf\xb3\xdd\x91\xc7\x06\x7b\x5c\x1a\x73\x55\xed\x40\x42\xa0\x2d\xd1\xab\x57\xe9\x72\xf3\xdb\xca\x27\xae\x81\x4e\x73\x88\x89\xeb\xba\x8c\x7a\x5f\xac\x45\xef\x14\xa4\x83\xc4\xe4\x24\x8b\x9e\xa0\xf5\x11\xd8\x48\x06\x00\x38\x12\x4f\x78\xba\xcc\x48\x6b\xe3\x39\xa1\x57\x46\xab\xb9\x84\x43\x9d\xb0\x8b\xdf\xe0\x4c\x2c\x83\xcc\x76\x80\x9a\xb2\x94\x1d\x7b\x4f\x72\x12\x01\x6a\x3f\x2e\xa7\xfa\xab\x91\xfe\x92\x4c\xff\xe5\xaa\x51\x1d\x79\xa6\x6a\xba\x69\x6b\xa9\x4c\x5f\x2d\x28\xd4\x08\xaa\x38\x02\x2d\x60\x37\xbb\xe7\x3d\x41\x0c\x95\x00\xc6\xab\x35\x99\x28\x72\x08\x9b\x36\xc8\xd2\xd9\x7d\x31\x2d\xab\x8f\x48\x93\xf1\xbf\x71\x52\xa4\x91\xf4\x52\xce\xf9\x4b\xfd\x09\xff\xff\xf0\x16\x79\x22\x42\xe9\x17\xbd\x68\x54\x22\x22\xab\xc0\x8a\x46\xf1\xf5\x1a\xbd\x9b\x8e\x14\x04\xfc\x60\x1b\x40\x32\xda\x87\x81\xba\x41\x35\xea\xdc\x03\xd4\xc9\xe8\xa7\x31\x30\xc8\x50\xd3\xf0\xb6\x02\x63\x00\xdd\xf5\x24\xa7\x50\x21\x75\x0a\xa5\x90\x84\x10\xfd\xf6\xa1\xd3\xae\xd2\xdd\x78\x91\xd1\x8e\x36\x93\x80\x58\xcd\x3d\x1c\x05\xd1\xf9\x24\xf5\xa5\x34\xa2\x63\x83\xab\x17\x33\xf5\xc9\x8a\xf7\x4c\x8a\x57\x9f\x82\x7e\x5c\x88\x9f\x88\xf3\x82\xb1\xe1\xe4\x24\xf4\xfe\x4f\x5b\xce\xed\xf9\xb3\xca\xc0\xbf\x93\x01\xbe\x8f\x7d\x69\x97\x80\x6a\x14\x47\x81\xc2\xed\x8c\x88\x21\xd7\x0f\x4b\x09\x86\x98\x5b\x32\xc2\x18\x9b\x4f\x8e\x94\x22\xc5\x4a\xbf\x88\xed\x13\x38\x28\x70\x85\x82\x12\xd7\x57\x18\x37\x53\xa5\xda\x61\x03\xcf\xbf\x9c\x9f\xe7\xef\xcb\xb9\xe3\x12\x07\xe2\x73\xc1\x17\xb2\xcc\x29\x77\xf6\x3f\x6f\x64\xbe\x92\xc1\xd0\xa9\x14\xd4\x42\xa9\x0c\xe8\x66\x6b\x26\xe2\xa2\xe4\x03\xcb\x82\xcf\xf6\x27\x79\x99\x1d\x8c\xca\x69\xc3\x13\x03\x60\xd4\x4a\xd2\x56\xa3\x53\x53\xb3\x5e\xfb\x21\x30\x2d\xfc\x1e\x91\x3e\x56\x5f\x4b\x60\x46\x72\xbd\xbd\x5a\xee\x78\xb4\x27\x56\xa0\xc4\x46\xfd\x1d\xbd\xfc\xa5\x00\xf6\x97\x9f\xb1\x80\x6a\xcf\xa9\xb3\xea\x07\x63\x38\xa1\xc4\x06\x7a\x82\xa9\xcc\xc3\x67\xf3\x1a\xc0\x24\x04\xef\x8c\x6b\x1f\xcc\x71\x2c\x36\x78\x97\x03\x61\xea\xe0\x6a\x9f\xa0\x30\x9e\xa9\xb5\x64\x6e\x8d\xb5\x9d\x5c\x23\x3e\x13\x2d\xb5\xee\x65\x12\xa9\x95\x41\x03\xdd\x85\xf5\xbe\xa4\x3a\x86\x5f\x5d\x0e\xf4\x10\x0e\x71\x36\x35\x18\x35\x01\xd7\x1d\x9b\x1f\x00\xd8\xd6\x30\xb8\x1a\x52\xf3\x13\xfd\x91\xbf\x9e\x89\x2a\x17\x32\x0a\x7c\xa3\xf8\xef\xc1\x72\xd2\x43\x29\x05\x0c\x66\x51\xb0\xc6\xb1\xf8\x43\x51\x76\x70\x92\xc1\xc5\xba\x8e\xa4\x70\xb8\x1b\xf9\x58\x18\x9b\xab\x17\x91\x02\x56\xad\x6f\xa1\x3c\x70\x7e\x51\x88\x01\x33\xda\x48\xa0\xb8\xff\xc2\x1d\x02\xf4\x65\x49\xb6\xa5\x82\x6a\x0e\xae\x0d\x04\x30\x8d\x55\x11\xa8\xce\xd2\xcc\x98\x29\x67\x07\x77\xc8\xa1\xf4\x4d\x0a\x96\x46\x68\x4d\xe1\x2a\xdc\x18\x07\xe5\x40\x83\x02\xbb\x79\x67\x9e\xfd\xb4\xed\x11\xcc\x46\x29\xe4\x48\x9a\x81\xe8\x84\x77\xc2\x55\x10\x35\x1b\x89\x01\xcb\x82\x90\x6e\x39\x17\x2c\x58\x4f\x91\x5f\x10\x52\xc5\x35\x60\xcc\x02\x5f\x8d\x20\x02\xa1\xa5\x5c\xfd\x8c\x20\x6a\x09\x27\x08\x54\xbb\xfe\x32\xf0\x2e\x31\x8f\x62\x1d\x4c\xd4\x48\x10\xd0\xda\xed\x22\x49\x53\x30\x64\x1f\x00\xd4\x89\xb2\x96\xac\x24\xdd\x35\xf9\xff\x00\x12\x32\x02\x04\x84\xb1\x4e\x96\x82\x80\x42\xb6\xb2\xd0\x08\x3b\x04\x73\x02\xee\x0e\xc5\x8a\xc2\x0a\x62\x12\xff\xde\x22\xb5\x09\x4b\x6e\x5d\x24\x0e\x88\x67\x86\x88\x2c\xd8\x59\x2a\x73\xff\x82\xba\x31\xed\xa0\xb6\x4c\xa5\xfd\xbc\xf2\x9c\x63\xef\xa5\xc0\xf7\x97\xfe\x93\x4a\x80\x0a\x96\xbf\x5e\x59\x9c\xb0\x68\x4d\xad\x81\xbc\x5a\xaf\x6c\x6d\x3f\x6d\x50\xd8\x5d\x61\xe4\xb9\xd1\x81\x3f\x4b\xc8\xa5\x43\x79\xbd\xb8\x9d\xe2\x07\x73\xd4\x80\x65\xeb\xfd\x4d\xcc\x9f\x08\x64\x98\x28\xaa\x83\x28\x72\x8e\xb4\xaf\xea\x49\xbb\x4b\x2c\xa3\x3e\xc5\xf1\x4b\x08\x58\x40\x53\x06\x1d\x3f\x43\x55\xfe\xdc\x8f\xe5\x73\x71\x1a\x8e\xd2\x2a\xa0\x06\xe9\x1f\x1e\x0a\x9e\x54\x3b\x2f\x58\x6f\x7f\xfa\xc9\x6a\xe8\xd3\x87\x73\x16\x91\x26\xd5\xe7\xa7\x6b\xf1\x6c\x7f\xed\xc9\x6c\xe2\x7a\x78\xae\xc6\xa7\x2a\xb5\xa5\xd9\xc8\x38\x5c\x20\xfa\x5e\x7c\x39\x65\x2d\x9c\x20\xca\xe0\xa7\x7f\xcc\x1f\xc7\x12\x31\xa9\x81\xb2\x5f\x04\x19\xc8\x60\x52\x95\x91\x64\xa3\x1b\x6e\x27\x21\x55\x25\x4d\xec\x52\x03\x76\x87\xfc\x53\x3f\xd8\x81\x99\x92\x42\x8a\x09\x79\x19\xac\x5d\xda\x37\x77\x08\x7c\xf4\xeb\x84\x61\x94\xf0\xa5\x80\x63\xdb\xef\x6e\x22\xb6\x25\xee\xc9\xa3\x4a\x07\x0a\xd0\xb0\xa9\x04\xb5\x55\xa8\xcd\xe0\x64\xdb\xda\x01\xf4\x2f\xd4\x5c\xae\x4c\x61\x50\xc7\xe7\x32\x52\x09\x27\x10\xc5\x65\xe1\x23\xd1\x3e\x09\x1a\x9f\x69\xdf\xea\x56\xa9\xa3\xba\x91\x4d\x3e\x83\x77\xb8\xd2\xc9\x47\xf9\xd8\x62\xfd\x43\xc3\xb1\x88\x80\x2d\x47\x1d\x18\x36\x9c\xb6\x72\x5c\x5f\x9e\x37\x9f\x07\xed\x02\xc3\x1c\x44\x3e\x9d\x95\x25\xa4\x98\x98\x7a\x8c\x80\x44\x7e\xed\x2b\x97\x97\xaa\x84\x5f\x7e\x46\xab\x2a\xdd\x57\xf7\xaa\x01\xd7\x2e\x08\xcd\x80\x1c\x14\xc9\x96\x6a\x8d\x98\xca\x09\xb2\xfa\xa5\xd0\x68\x73\x0f\xd4\x10\x4d\x5a\x84\x14\xcc\x25\xd5\x6d\x29\x6e\x9a\x20\x08\x0e\xc8\xf0\x24\x9d\x08\x4a\x01\xb1\x44\x5e\x7c\x2d\xaa\xe8\x6d\x33\xf5\x48\xfe\x45\xbb\x4b\x50\xf1\xdf\xad\xcc\x0d\x32\x4e\xb9\x4e\x60\xe1\xa6\xdb\xf4\x75\x5b\x6c\x46\x88\x1f\x60\x2b\x54\xce\x56\xac\x1f\x05\xec\x60\xc0\x89\xb6\x92\x60\x5c\xd7\x34\xfd\xb7\x49\x21\x60\x38\xdd\x3f\x67\x8c\xf8\x9f\x52\x5e\xd2\xe7\xbf\xbc\x30\x66\xfe\x5d\xad\x57\xb5\x27\x15\x6f\x3d\x04\xba\xdd\xdf\x0b\x08\x38\x4a\xf1\xf5\x19\x09\xf0\xd4\x7a\x57\xdb\xb1\xe5\x4a\x75\xd7\xa7\x6b\x92\x69\xdf\xb7\x92\x25\x9b\xdf\xb7\x12\xc2\xef\x09\xe1\x33\x9f\x15\x54\x93\xb6\x4d\x11\x18\x07\x0c\x11\x5a\x17\x43\xfb\x86\xb4\xbf\x58\xbf\x6d\xa3\x19\x08\x74\x96\xe2\x56\x5c\x9f\x5f\xd5\x24\x94\x57\x37\xe5\x51\x3a\xfa\x44\xd5\x25\x35\xe4\x61\x14\x99\x3c\x88\x96\x17\x44\x1f\x89\x68\x3f\xd8\x32\xcd\x1b\xa2\xc3\xed\x36\xed\xcc\xc3\x2e\x98\x0e\x32\xaa\x82\x3a\x51\xfc\x98\xc6\xdd\xa3\x8a\x28\xe6\x06\xe0\xbb\xc1\xf4\x9d\x49\x6b\x0a\xea\x01\xce\x61\x0a\x9d\x6c\xef\x5c\x1d\xc1\xd9\x7e\x80\x9b\xb9\xea\x49\x0f\x4d\xdf\x16\x31\x3f\xcc\x37\xcc\xf6\x91\xc7\x1d\xbf\x1c\x5c\xf4\xe7\xb8\x32\xce\xf1\xfd\x69\x1f\xb7\x56\x9e\x8e\x5e\x1e\x67\x45\x06\x0f\x51\x7a\x70\xfb\x12\xfc\x9e\xc3\x13\xc7\xad\x83\x93\xdf\x22\x14\x55\x40\x6a\x8d\xf8\x70\x89\xb8\x41\xc9\xeb\x52\xca\xf8\x54\x5c\x95\xec\xa9\xe0\x19\x48\x75\xfa\x72\x20\x3d\x81\x42\xa3\x6c\x42\xed\xf6\x09\x91\x04\x58\x3b\x98\xa7\x85\x31\xcb\x51\x42\x96\x69\x17\xf0\x83\xc7\x1b\x38\xae\x77\x72\xbd\xa6\x78\x71\x0f\x1d\xc5\xa5\x94\xf1\x81\xc5\xf3\x76\xd1\x78\x7e\x14\x9a\x3c\x61\x2d\xed\x85\x16\x53\xb5\xdc\xad\xbe\x80\x5d\x9e\x74\xf2\x4e\xb2\xcc\xaf\xba\xe0\xab\x0f\xf1\x7f\x9f\x69\x60\x28\x4b\xeb\x4d\x91\xa3\xb4\x04\xa1\xf3\xe5\xa9\xa8\x64\x79\xaa\x35\x59\x1e\x15\x28\x7f\xa5\x16\xe5\x93\x52\x14\x9c\x3a\xbe\x3d\xb6\x2e\x8f\x43\x96\xf3\x34\x7f\x9d\xe6\xee\xf6\xef\xe3\xb9\x2b\xaf\x76\xe5\xcf\xb4\xd6\xa5\x0d\x65\x25\xd8\x52\xc2\xfd\xf6\x25\x3e\xb8\xab\x8c\x5f\x9f\xb6\xd1\x41\xba\xbe\x21\x36\x14\x71\x79\x16\x96\x5a\x2a\xb4\xcf\xa8\x3a\x55\xda\x81\x31\xe1\xaf\xa1\x23\x97\x81\x19\x5d\xc1\xf6\x28\x25\x6f\x8b\x24\x9b\x82\x32\x26\x30\x5b\x08\x56\xb2\x02\x1b\xa7\xac\x4b\xeb\x15\x09\x1b\x1f\x8a\x02\x3f\x48\x02\xf5\xed\x33\x3d\x88\xe1\xac\x93\x01\xae\x28\xb5\xc2\xbc\x0f\x43\xd4\x85\xd5\x2a\x86\xaa\x0f\x4c\x23\x70\x00\x6f\x84\x24\x85\x11\x09\xba\x52\x9a\x7a\xd0\x03\xa1\xad\x02\x26\xee\x1c\xd2\x6c\x67\x63\x8c\xab\x31\xe8\x2d\xa1\x26\x88\x05\xf6\xfd\x6c\x0c\x72\x4f\xd6\x28\x9b\x94\x10\xbb\xcb\x94\x98\x23\x4c\xd0\x1a\x3d\x40\xc4\x62\x3b\x35\xe0\xa2\x51\x8c\x8d\xe2\x8b\x43\xaa\xfd\x3e\x10\x32\xb5\xc4\x68\xc1\x91\x93\x5d\x1c\x0b\x11\x0b\x02\xd7\x64\x44\x46\xda\xb9\x56\xc9\xc9\xef\x31\xe0\xb7\x49\x4c\x59\x7a\xb8\x9b\xa7\xb7\xc3\x5d\x1d\x29\xe4\x52\xad\x21\x0c\xad\xa9\x0c\xbf\x33\xd5\xbd\xb4\x87\x6e\x21\x15\x19\xce\xaf\x7b\x61\xad\x7a\x8b\x36\xb9\xbe\x91\x04\x93\x10\x47\xd5\xe3\x6c\x4f\xc6\xbb\x99\x6b\x2b\x8f\xb2\xd9\x85\x88\x01\x1a\xd1\x25\x18\x5f\x99\x68\xc6\x92\xcc\xb0\x53\x76\xdf\xdd\x67\x33\xa6\xa1\xf0\x07\x30\x18\x58\x6a\x17\x5b\xdb\x9c\x71\xdd\x91\x6c\x07\x1f\xa0\x24\xd3\xcd\xff\xc9\x11\x71\x40\x60\xac\xe5\x1b\x81\x6d\xee\xe1\xb1\x6a\xe7\x1b\x85\x7f\xc4\x22\x3c\x13\x66\x3e\x5a\x02\x5a\x56\xc4\x6b\x7a\x6b\x60\x89\x3a\xfb\xfd\xd5\xed\x0b\xa5\x59\x66\xb4\xc3\xfc\x5d\xad\xc0\xa8\x2d\x5c\xe6\x68\x03\x52\x76\x5a\xe8\xe1\x21\x0b\x61\xf4\xb3\xa3\x15\xc4\x5b\x61\x16\x3b\x03\xa7\x46\xbe\x95\xab\x83\xb7\xe0\x99\x23\x91\x27\xe2\x12\xa1\x79\x72\xa2\xf5\x4a\xb8\x14\x1a\x99\x11\x76\x73\xbf\xc3\xaf\x26\x92\xd7\xd4\xd0\x6b\x11\xee\x93\x04\xaa\xf6\x91\xc4\x4a\xbf\x2f\x1d\xb7\x8b\x2c\x2d\x6b\x95\x24\x02\xe7\xfe\x0a\x17\xe8\x3e\x40\xbb\x45\xb0\xa2\x82\x84\xc8\x9b\x55\xdc\x8c\xa2\x34\x4e\x82\x20\xea\x89\xe1\xba\x08\x82\x2d\x3a\x0b\x28\xc1\xc7\x33\x39\xf0\x60\x77\xb6\xbb\x28\xb6\x16\xc8\xbc\xcb\xb8\x0e\x67\xe3\xdb\x49\xe2\xff\x38\x45\xbb\xc2\xfb\x38\x09\xb0\xbc\x76\x2f\xa4\xa9\xee\xc4\xa9\x95\x9a\xa8\x09\xd0\xc8\x1f\x3f\xd5\x8d\x99\x1b\xe3\x77\xf0\x71\x4a\xd2\x3a\xe1\x48\xb5\x34\x46\xd2\xd1\xf6\x81\x5a\xb0\xe4\xcb\x87\xd4\x89\x0a\x7e\xeb\xa9\x48\x4f\xd6\xd7\xd2\xa3\xf3\xf2\x79\xf8\xaa\xbe\x5c\x6a\x5f\x43\xf8\xbf\x9e\x4b\xad\x55\x4d\x0f\x6c\xb5\x05\x70\xdd\xaa\xbe\xbf\x5d\xaa\x7e\x9f\x08\xca\xfb\xef\x3f\x20\x6d\xf6\x4d\x9f\x59\x3c\x3c\xe4\x3b\x35\x79\xad\x8d\xea\xb0\x90\xc1\xc7\x3d\x8c\x46\x80\xfc\x68\xe5\xfd\x0d\x49\x71\xa9\x1a\xdb\x34\xc0\xf3\x4a\xad\x35\x9f\x12\xaf\x7b\xef\x41\xdf\xde\xad\x51\xe9\x0f\x16\xc4\x0f\x6e\xfe\xf6\xcf\xbb\x7b\x51\xd2\xea\xff\xfd\xed\x74\x5a\x17\x3f\x6e\x8c\x47\x4b\x3d\xb7\xe2\x97\x31\xa5\xff\xf7\xa5\x0a\xf6\xd7\xfc\x50\xc4\x11\x48\x0f\x9e\x01\x56\xe6\xeb\x81\x46\xa2\x74\x8b\x32\x0e\xf9\xe1\x8f\xe7\xbd\xe2\x0f\x7e\xc7\x5e\xf8\x01\x98\x84\xa4\xc9\xca\xb6\x58\x83\x3c\xdc\x8e\xda\xb1\x11\x20\x30\x54\x48\x9d\x0c\xd2\x9f\x9e\xe2\x78\xfa\xfa\xd8\xe3\x12\x3b\xc2\x29\xb6\xeb\xdc\x0a\xe2\x2b\xbf\x20\x26\x79\x4b\x9f\x1e\x7d\x3b\xfe\xf0\x13\x72\x80\x67\xde\xf5\x68\x7c\x9c\x45\x40\x07\x1a\x3c\x6a\xe6\x06\xa3\x7f\x6c\xd7\xb6\xa9\x69\xb4\xc4\x43\xbe\x18\xbf\xf5\xa5\x1c\xf2\xd7\x07\xa9\x1d\x6a\x2f\x40\x6f\x3d\x06\x4b\x0d\x12\xf4\x64\x51\x49\x9c\x9a\xed\xcb\x28\x8f\x52\x97\xb1\x01\xed\x21\x9a\x2f\xc6\x27\x5f\xcb\x92\xda\x76\xfe\xde\xb0\xdc\xa5\xd8\x7f\x1f\xa4\xa0\xe4\xc9\x8e\xc7\xf9\xe3\x1b\x8d\x37\x6e\x66\x26\xda\xcd\x2d\x7e\x05\x00\xb2\x06\x92\xad\x03\x3e\x69\xbc\x3e\x89\x52\x9a\x52\xf5\xad\xa0\x02\x73\x19\x51\x0c\x40\x49\xc2\xd0\x4c\xe4\xa2\xe4\x57\x79\xfa\x7e\x3b\x9e\xf6\xda\x21\xf8\xcb\x93\x6c\x8f\x93\x07\x73\x2c\x2e\x8a\xfc\xda\x48\xd7\xfd\x1c\x8f\x9b\x7c\xba\xf5\xc7\x13\xfd\x6f\x4c\x3f\xfe\x4f\xa9\x2f\x05\x5a\xbf\xfe\x4c\x75\xb6\x76\x49\x13\x38\xac\x28\xf9\x2e\xc9\x28\x13\xeb\x4f\x92\x23\x6d\x8b\x3a\x31\x41\x55\x03\x34\x7b\x26\xe9\x83\xcf\x25\x74\x42\x0d\xda\x0a\x2c\xac\x8a\xc2\x81\x30\xf7\x5a\x4e\x25\xef\x56\xd2\x28\x09\x3e\xb5\xd0\x25\x83\xaf\x84\xaa\x06\xad\x09\x39\x4d\xbf\x6c\x4e\x65\x7a\xab\x03\x45\x9b\x6d\x73\x03\x05\x74\x61\xa5\x10\x77\xdc\x80\xc5\xfe\xc8\x60\xff\xed\xe2\xbb\xff\x56\x37\x24\x27\x5a\xd9\xa1\x2e\xd6\x04\x6a\x2f\x16\x06\x50\xb1\x14\x99\x15\xed\xe1\xf3\x57\xcc\x2a\x18\xc8\xec\x55\x07\xb7\x85\xdc\x75\xfc\x11\xdf\x15\xfd\x82\x47\xe1\x20\x9c\x0c\xbb\x1c\x4f\x5f\xcf\xcd\xe7\xfe\x8f\x73\x5c\x08\x23\x4b\xcb\x98\x1b\xd6\xbb\x4b\x01\xe0\x5b\x68\x00\x30\xb2\x18\x4f\x8a\x42\x5f\x49\x42\x51\xa1\xa0\xca\x45\x4e\x37\x5f\x21\x3b\x03\x3d\xf4\x94\x34\x33\xe4\xaa\x72\x08\xdd\xfb\x3f\x11\x53\x71\x57\x1e\x3e\xf9\x06\x05\x4c\xb9\xed\x12\xbc\xd2\x67\xbc\xfa\xfc\xf6\xfe\x26\xbd\x42\xc7\x66\x12\xbb\x3d\x2f\x81\x7c\x22\xf3\x67\x4e\xf1\xf2\xc9\x52\xad\xd4\x2c\xc7\xe7\x8e\x33\x22\xd2\x2d\x39\x2a\x57\x24\x6f\x50\xc0\xcb\x3b\xf7\x0f\xd9\x10\xc6\x06\x58\x07\x29\x16\x05\xce\x9f\xa8\x8a\xbc\x46\x23\x8e\x47\xb8\x61\xb6\xd7\x70\x03\x45\x79\xa5\xe6\xe2\x63\xf6\xb3\xd3\x32\xda\x71\xc6\x36\xb0\xcf\x73\x10\xe3\xf8\x78\x36\xb4\x46\x29\x13\x2d\xbc\xa0\xa4\xe3\xc7\xaf\xe1\x07\xed\xb2\xb1\xd1\xbe\x7b\x17\x9f\x35\xc8\x17\x43\xfb\x25\x84\xfc\xeb\xcf\xca\xad\x5a\x9e\xa9\x6b\xde\x74\xb8\x7b\x3d\xf0\xb9\xf8\x17\x6a\xf6\x99\x35\x37\xf5\xea\xfb\x7f\x2c\x02\x4e\xaa\x20\x81\xbd\x4b\x99\xc8\x39\xf8\x67\xa9\xe5\x0e\x1a\x36\xc5\x20\x5a\xb4\xa0\x68\x72\x6b\x96\x4c\xed\xb6\x51\x73\x55\x99\x0c\x20\x3e\x68\xcc\xa4\x43\x37\x66\x32\xca\x46\x25\x0a\xa9\x93\xdf\xfc\x4b\xb5\x24\x50\x3c\x76\xaf\xaf\xc7\x31\x8b\x1f\xc4\xea\xb1\xad\x01\xeb\x60\xbc\x9c\xdb\x5c\xbc\x83\x31\xef\x0b\xdd\x15\x74\x13\xcc\x42\x65\x33\xf8\x7c\x9b\xb9\xbd\x57\xf2\x06\x57\x52\xa7\xb7\x3b\x74\xb6\x27\x38\x93\x17\x9b\x80\x93\x2e\x36\x0f\xff\xb4\xc9\xed\x6d\xe2\x00\xdf\xdf\x4f\x50\xbe\xa2\x24\xac\x2f\x91\xf1\x5f\x5f\x74\x8b\x9f\x3a\x45\x88\x37\xdf\x17\x72\xd5\x7c\x32\xe8\x20\xaa\xfe\xbb\xa8\x6d\xa6\x7e\x32\xfe\xb4\xb6\xd4\xf2\xf8\xfb\x2e\x30\x4c\xff\xcc\x13\xdc\x7e\xff\x15\x5a\xc9\x7f\xef\x23\x34\xba\x0a\x0b\xb5\x60\xdd\x4f\x0c\xbb\xdf\x7d\x97\xb9\x56\x81\x5e\x15\x2a\xbf\xb8\xdc\x02\xc8\x43\x42\x9d\xb9\x2e\x46\x22\x55\x37\xdc\xbe\x6a\x87\xdb\x5f\xb9\x4d\x50\x94\xfc\xad\x0d\x81\xc9\xfa\x6f\xec\x8e\xb7\xa0\x4b\xf9\x7b\x1f\x02\x8b\x58\x96\x76\x87\xd6\xb3\xbf\x3d\x12\xd4\x53\x62\xdf\xb7\xe9\x8e\x2f\x88\x37\xe2\x33\xbb\x87\x96\x63\x67\x54\xb8\x40\xd4\x18\x1c\xdf\x6e\x16\x1c\x01\x96\x06\x7a\x15\xaa\x8e\x0d\x0c\xec\xc4\x16\x68\x49\x51\x94\xc5\xc8\x03\xbf\x32\x60\x82\xad\xa4\x80\xf2\x23\x58\xb8\x7e\x9d\x66\xe9\x2d\x14\xbd\x88\x1b\x81\xb5\x44\x22\xfb\x72\x3e\xca\xdf\xdf\x58\xb3\xe9\x17\x1d\xbc\x5c\x49\xf5\xf6\x3a\x38\xbe\x9a\x11\x5f\xd2\x5a\xbf\xbe\x56\xdf\x3d\x66\xc4\x9e\x4b\xf2\xc1\x74\x87\x5a\xd6\xa7\x6e\xfa\x83\xbc\xe8\x13\x0f\x1e\x7c\x83\x9f\x78\xf0\x55\x74\xd3\x32\xd3\xe8\xb6\x77\x16\x9c\x25\xb5\xb5\xc0\x4f\xa7\x3e\x0c\x2e\x9a\x0b\xa2\x00\x77\xff\x42\x07\xdf\x9b\x08\xb4\x87\x95\x86\xd1\x1f\xba\x6a\xff\x3c\x9e\xd0\xdb\xf0\x4b\xef\x08\xb8\x1b\x78\x60\xde\x6f\x6f\xdd\xfd\x1b\xd8\x4a\xaa\x85\x81\x9f\x4f\x44\xd0\x74\xbc\x8a\xa0\xc5\xc0\xfa\x93\x07\x7f\xf1\x02\x5f\x92\x42\xbf\xfe\x54\x5e\xba\x57\x94\x28\xdb\x6e\x84\x65\x80\x92\x80\xda\x48\xfd\x82\x89\x66\xb0\x6a\xe7\x8d\xca\xb0\x35\x6f\x91\xc7\x83\xc7\x06\x9f\x10\x65\xd5\xd4\x4d\x96\xc1\xc2\x08\x24\xbe\x25\xe3\x0c\x06\x1b\xa0\xe9\xba\xc8\x90\xbb\x0c\xd9\xfc\x17\x03\x7b\x39\x40\x1b\xac\xde\xf2\x41\x2c\xc4\xfd\x20\xbe\xed\x27\x04\x9e\x15\x41\xe9\xf3\xe2\x25\xbb\x63\x24\x3b\xef\x76\x4a\xb2\x4e\x78\x7d\x3f\x3e\xbf\x7b\x90\x51\xc9\xa6\xa4\x0b\x29\xb7\xcd\x1f\xa8\xe4\xfc\xc9\x19\xbe\x6a\xdd\x97\x14\xcf\xaf\x2f\xa5\x43\x1f\x60\x95\x96\x3a\x2d\xe9\x61\x04\xd9\x20\x5b\x42\x2f\x9f\x55\x2d\xf3\xf1\x07\xbf\x33\x97\x1a\x5a\x6b\x83\x38\x89\x24\xc5\x8e\x73\xa7\xe3\x3a\xf4\x38\xcf\x68\x40\x1a\xd6\x8f\x17\x7b\xba\x94\xf1\x42\xfb\x32\x58\x14\xf7\x47\x2e\xb7\x83\xa7\x20\xce\x71\xf0\xb4\xe7\xf2\xd3\xa4\xdd\x5b\xeb\x41\xcb\x63\x4a\x41\x50\xf7\x0e\x23\x75\xbf\xfa\x37\xdd\x97\x11\x65\x6e\x8c\x45\x23\xeb\x8d\x3b\xd7\x76\x5f\x5a\xb7\xbd\x10\x21\x33\x46\xd4\x6e\x0e\x98\xc6\xf8\xc0\xc4\x0c\x51\x5f\x39\xba\xbf\xca\xc0\xe1\xe6\xb3\xea\x55\x0f\x24\x77\x15\x2c\xf5\x09\xcc\x43\x7d\x47\x74\x9b\x4a\x40\xe0\x44\xaa\x40\x3c\x54\xd9\xf1\xbe\x45\x46\x1a\x9d\x1a\x69\x2c\x9c\x45\x5d\x61\x5a\xf4\xf4\x22\x0f\x37\x6b\x0f\x54\xf5\x94\x6f\x48\x04\xa3\xca\x4f\x59\xed\x0b\x49\xf9\x13\x2a\xad\xfd\xe8\x4a\x75\x85\xdb\x9b\xf4\x66\xa9\x91\x84\x03\x1c\x81\xee\x2d\x10\xad\xa4\x3b\xc8\x07\x46\xa4\x19\x4a\xab\x3b\xb0\x5e\x84\x3a\x81\x19\xb7\x80\x69\xaa\x30\x2c\xef\x1e\x85\x54\x00\xad\xaa\x80\x37\x01\x0a\xb7\x92\x4c\xdb\x1d\x7c\x5e\x7a\x56\x6e\x1d\x24\x32\xac\xcc\xca\xd9\xd8\x0b\xeb\x26\xc9\x25\xdf\xca\x0e\x58\x06\xc8\x0f\xf1\x0b\x24\x84\x3b\xcb\x47\x70\x15\xb8\x5f\x95\x70\x5b\xd5\x54\x9a\xed\xb4\xcb\x91\xfc\xec\x0a\xf1\x21\x6f\x45\x1f\x57\x05\x71\x2c\x7f\x9f\x80\x16\x25\xe2\x81\xfa\x2d\x30\xcf\xe3\x4e\x24\x5a\xd7\x84\x30\xbe\x1d\x28\xd2\x95\x55\xb4\xf6\xbd\xa1\x3e\x58\x08\xe3\xc2\x1d\xa9\xdd\x97\x36\x21\x71\x44\x14\xbc\xf6\xe4\x63\xfe\x58\x7c\x85\xfd\x72\xc2\x7b\x49\x96\xfc\xfa\x53\xc9\x65\xf7\xd7\x60\x42\x14\x2b\xeb\x22\xa5\xde\xfd\x8b\x14\x94\x4d\xcf\xf2\xf3\x8d\x56\x74\xd3\x6a\x49\x6b\xb9\xf7\x89\xde\x3d\xdd\x00\xcb\x65\xae\xfe\x56\x16\x95\xbe\xa9\xf4\xa4\xd2\x57\x9b\xc3\x87\xc9\x44\x8d\x33\xc8\x98\x05\x32\xf0\x6e\x62\xf8\xe9\x4d\xdb\xe6\x07\x24\xff\x67\xf5\x7f\xee\xf8\x62\x73\xdc\x45\xea\xd8\xdc\xd5\xd4\x31\x57\x29\xe3\xcb\x56\x78\x49\x50\xfc\x7a\x11\xf6\xf5\x6e\x7e\x3f\x6e\x35\x74\x24\x71\x75\x52\x78\xc1\x72\xa5\xdc\xb2\xf7\x36\x2a\x27\xec\x48\x0f\xcd\x00\x67\xb2\x14\x1b\x51\xbd\x31\xe1\xad\xa3\x64\xde\x3b\x0e\xaa\x64\x35\x95\xa4\x6d\x07\xd6\xd7\xdc\xae\x3a\x64\x48\x52\x69\xbb\x30\x7e\xd5\x51\xb1\x24\x01\xa7\x40\x5d\x20\x93\x8f\x46\x89\x75\x77\xe2\x23\x6d\x37\xcf\xb4\x9d\xbe\xbf\x35\x37\xd2\xdc\xc8\x47\xd4\x89\xdc\x8a\xdd\x57\x1d\x90\x1f\x4e\xb7\x6f\x00\xbb\x8f\x47\x19\x44\x7d\x2b\x72\x5b\x06\x06\x33\x4d\xcc\x3d\xa5\xee\x03\x28\x75\x80\xb7\x9b\x2f\x4c\x00\xfc\x14\xcc\x1d\x89\x79\x4d\x77\x75\xfd\x02\x7d\x07\x02\x60\x86\x04\x63\xdf\x20\x26\x59\x76\x2c\xbe\xc9\xa2\x98\x1c\xe6\xe0\x09\x7a\x43\xcd\x21\x38\x4f\xc0\x6b\x86\xb6\x63\x16\xb0\xb9\xcb\x1e\x72\x8c\xde\xec\xc8\x8f\xa3\x3f\x47\x21\x2f\x42\x21\xa3\x24\x1d\x7d\xf3\x91\xd9\xf9\x33\x26\x0d\x3f\x45\x69\x07\x6a\x97\x4b\xdb\xcd\x6d\xdb\x34\xcc\xdb\x5a\x28\xc0\x86\xda\x98\x1d\xb5\x84\x28\x26\x05\xf0\xca\x67\x5e\x54\x55\x65\x6f\xdd\xc1\xd0\x79\x00\x44\x7b\x1f\x69\x64\xdb\x89\x59\x89\x2c\xa0\xea\x4e\xdd\xfc\x28\xb3\xee\xb2\x2d\xd6\x47\xaa\x73\x78\xab\x81\xa4\x22\x35\xdd\x8b\xf8\x0d\x28\xa8\xe8\xa2\xc6\x1b\xe5\xc9\xc2\x02\x53\xe4\x43\x61\x63\xed\x98\xc9\x70\x51\x12\x89\x40\xbc\xa4\x13\x5c\x5d\xdc\x35\x9c\xd8\x07\x5e\x7d\xf3\x05\x85\x6a\x1c\x60\x5f\xd0\xc9\x8c\x05\xb0\x19\x35\x21\x68\xa4\xb6\x41\x7d\x03\xa5\xfa\x2c\x7d\xc6\xda\x6e\x0a\x98\x24\x6a\x05\x46\xbf\xed\x92\x24\xf5\x0a\x6f\x41\x20\x32\x29\x89\x31\x8c\xe2\x76\xba\x4d\x6f\x0e\x7f\x16\x5f\x26\x0a\xcb\xf7\xa8\x2f\x02\x96\x0a\x2c\x33\x3e\x97\xdf\x97\xaf\x06\x5a\x7b\x4d\xf4\xfc\x54\x1b\x18\xc6\x2a\xb8\x26\x6d\x50\x9e\x79\xf5\x2f\x24\xfb\x14\x50\x80\x96\x48\x38\xb5\x92\x91\x70\x6a\x25\xc7\x36\x66\xa3\x5a\xc9\xdc\xe8\x5f\xb8\x11\x56\xee\x75\x60\x15\xe6\x1c\x2b\xd8\x0d\x02\x1e\xfd\xc3\x6d\x23\x84\xa0\x3f\xdb\xf6\x94\xfe\xfa\xb0\x51\xab\xbb\x12\x7a\x9f\x2d\x07\x91\x74\xc4\xf4\x99\x64\x5b\x4a\x94\x78\x4c\x26\xdb\x6e\x94\x6a\x7d\x7f\x93\x09\x69\x35\xbd\x4b\x1e\x63\x5d\xce\x79\x70\x30\x35\x1f\x39\xe7\x56\x30\xc3\x5d\xd9\x3f\x26\xff\xca\x59\xd1\xea\xb6\x32\x52\xca\xed\x47\x6a\xc7\xeb\x22\xcd\xd7\xb8\xcf\x88\xcb\x79\x65\xf7\x11\xc0\x37\xdd\xe7\x57\xc9\xf7\xf6\x9a\x2a\x7a\xe1\xfa\x7b\x79\xc1\x76\xc2\x81\xa6\xa5\x6e\x51\xf4\x8e\xcc\x16\x2a\x38\x31\x83\xd6\x72\x80\xba\x25\xa9\xc6\x97\x45\x35\x72\x32\xb5\x84\x96\x2b\xe9\x0a\x22\x4b\xe7\x7f\x7d\x3b\x97\x1e\x85\x5f\x97\x48\xac\xaa\x08\x3b\x4b\x54\x89\x83\x2a\x92\xbf\x69\xe8\x95\xb2\xc6\x1f\x24\x2d\x85\xd0\x89\x4b\x06\x0f\x7e\x6f\xaf\xa1\xe0\x3e\x2d\x34\x05\xdd\xc9\xd8\xfb\x48\xdd\x4d\x9b\xe6\x0e\xd6\xa1\x66\xa9\x14\x7c\x2c\xa5\x1c\x42\xe6\xaa\x88\x80\x87\xb0\x50\x08\xa8\x0d\x3a\xc5\x7e\xf6\x33\xcd\x07\x5c\x73\x6d\x3d\x55\xb0\x16\x48\x78\xbd\x6e\xe1\xd8\x49\xc9\xe8\x7d\x9c\x84\xe1\x0a\x0a\x39\x98\xa8\xc8\x8b\x48\xcf\xd1\x42\xb4\xa1\x2a\xe5\x94\x99\xb2\x02\xf3\x23\x7e\x82\x37\x46\x4e\xe6\x0c\xe2\x0c\x3e\x58\x3c\x96\xa6\xd0\x59\x73\xcb\xd4\xe0\x18\x26\xcd\xf5\xb0\x91\x53\x37\x7c\x2c\xfe\x49\x38\x47\xfd\xf0\x5c\xfa\x78\xae\x78\x2a\xc5\x33\xdd\xde\x64\xd8\x48\x03\x6b\xa9\x44\xe1\x2f\xca\x16\x67\x22\x6e\x0f\x1c\x59\xca\xaa\xa0\x02\xe0\x0a\x4b\xd1\xf8\x7d\x89\xe2\xb5\x1e\x5c\x9c\x94\x6b\x89\x6c\x81\x42\xb9\xf2\x7c\x98\x1f\xbf\x27\x19\x1d\x18\xab\x52\x00\xeb\x39\xaa\x76\xe0\xa7\x2a\x22\x02\xd9\x2d\x62\x54\xb5\x8f\x2f\x5f\x95\xc6\xab\xfa\x62\x50\xbc\x26\xc6\x7e\x56\xda\x66\xa3\xa4\x4c\x7e\x3e\xf2\xb0\xd3\x27\x03\xdd\x12\x89\xe3\xc9\xbc\xc4\xef\x34\x00\xb0\xcb\xd3\xd7\xa7\x3d\x1e\xc7\x5d\x27\x3b\x55\xe6\xfe\xde\x6b\x84\x36\xc2\xef\xbc\xca\xed\xcf\x5e\x06\x73\xfd\xbf\xa2\xbd\x7e\xff\xb3\xfc\x91\xab\xdc\xbe\x6f\x32\xc6\x82\xfe\xce\x87\x39\x57\xce\x7f\x41\x9b\xfd\xfc\x61\x6e\xff\x94\xa7\xa9\xd6\xd2\x13\x2b\x38\x59\xc2\x8f\x93\x33\x3c\xf8\xc6\x97\x57\xc2\xf1\xe0\x1b\x8f\x1d\xb8\x3b\x8e\x8d\x16\xfa\xdb\x5f\xc4\x2d\xd2\xfc\x79\x8c\x47\xd5\x4d\xa8\xb5\x33\x86\x06\x73\x21\x3f\x85\xd5\x2e\xd5\xd0\x8f\xc5\x3d\x1f\xac\x88\xf5\x43\xe1\xd1\xc3\x1e\xc0\xc5\xfe\x05\xbd\xab\x81\xbc\x33\x07\xfd\xf7\xe7\xec\xee\x37\x70\x6b\x8c\x4f\xf9\xdd\xe3\xa8\xef\x08\xde\xb1\xfb\x2b\x83\xfc\x57\x53\xef\x6b\xe2\xf2\x97\x07\xd0\x40\x66\x1a\x33\x43\x74\x60\x10\x6c\xa8\xd9\x2d\x21\xf7\xd2\xa1\xf1\xd5\x50\xf9\x58\xd6\x05\x3a\xc3\x2c\x39\x28\xa7\x72\x13\xa2\xdd\x1a\x4c\x70\x32\x37\x38\x5b\x16\x22\x63\x52\x89\xf3\x68\x11\x64\xa0\x66\xfb\x49\xb8\x87\xd8\x8e\xd6\x0b\xe5\x6f\xee\x1b\x1e\xee\x27\xb5\x1d\x74\x47\xa8\xee\x91\x36\x8e\xc7\x97\x9e\x24\xf8\x7d\xf8\x65\x47\x38\x01\x12\xec\xab\x98\xa0\x3e\x0a\x95\x34\x2d\xa9\xec\xd2\x6b\x32\xd2\x52\x4b\x21\xe1\xcd\xac\x49\xaa\xfb\x91\xed\xe6\xde\x63\x87\xac\xa0\x98\xed\x92\x1a\xd8\x49\x7a\x40\x48\xe5\x20\x00\x7b\x87\x9d\x30\x13\xd9\xb4\xdc\xca\x35\x28\xeb\xf7\x60\x05\xeb\x24\xc8\x53\xf7\x67\x11\xfa\x30\x0b\x6c\xa6\x31\x46\x62\xc1\x63\xef\xef\xbf\x9c\x52\x8e\x20\xf7\x44\x3a\x1f\xd9\xfc\x00\x97\xfb\xcb\xa4\xde\xf2\x08\x86\x3c\xc0\x37\xa3\x66\x1a\x89\x8b\x95\xf8\x21\xb2\xb3\x1a\xdb\xe5\x81\x11\x1a\xdf\xc8\x03\x26\xa5\xcb\x5e\x93\x4e\x30\xa3\xa4\x32\xa8\x2f\x2f\x73\xad\x73\xdc\x76\x2b\xde\x83\x88\xa2\xb2\x43\xe8\x8c\xba\x27\x8b\xa7\x11\x82\x32\x10\x56\x39\x41\xe1\xf3\xab\xf2\xa8\xf6\x9a\x07\xfd\x19\xc1\x66\x29\x92\x46\x2b\x3b\x2a\xcb\x00\xbe\x6e\x3b\x60\xc3\xd6\xdc\xff\x86\x2f\x8d\x1e\xe7\x76\x9f\xf6\x54\xc0\x0e\xdd\x7a\xea\x65\x92\x91\xbf\xa1\x98\x18\xd5\x3b\x04\xdd\xae\xd6\x91\x34\xcb\x39\xd5\xdc\x77\x92\xba\x81\x0a\x0c\x85\x35\xd3\x10\xc1\x32\xd6\xcd\xb4\x54\x67\xd9\x91\xbb\x16\x50\xf7\x94\xb9\x2b\xaa\x57\x4b\x4e\x66\xa0\x10\xf6\x29\x30\xcf\x89\x44\xc1\xae\x28\xb1\x51\x2c\xe6\xb0\x20\xc9\x8c\xce\x3f\xba\x1b\xd9\xeb\x52\xbc\x2f\x17\x49\x0d\x3c\x5b\xd5\xfc\x35\xe8\x5a\xac\x3e\x5c\x2a\x32\x5d\x33\x6c\x21\x69\x19\xa2\x70\x56\x2b\xd4\x7d\xeb\x64\x1c\x1d\x41\xb2\x8c\xd7\xde\x52\x75\xa3\xbd\xf8\xf3\xa2\xc6\x65\x9c\x48\x69\x51\x7f\xe4\xea\xb7\x8d\x32\xea\x78\x99\x2c\xfb\xf0\xfe\x8c\x08\x44\x8e\x50\xc4\xa8\x3f\x9f\x24\x50\x81\xf8\xff\xbd\x38\xa6\xbf\xbd\xf0\x70\x3e\x69\xd2\xcb\xec\xee\x92\xb8\xef\x64\x48\x32\x58\x4f\x0d\x2c\xd7\x1b\x85\x22\x68\x34\x6a\x3b\x66\x82\x6a\xa1\x37\xca\xfb\x5b\x35\x49\x4d\x64\x5b\xea\x48\xc4\xc2\x09\x90\xb8\x38\xd9\xea\x56\x3c\xe7\x0e\xdb\x89\xb7\x9c\xa9\x20\x82\x68\xed\xfd\xad\x4b\x4e\xb3\x21\x79\xa0\x50\x36\x24\x8f\xde\xc4\xe2\xd0\xc9\x5c\x25\xa4\xc7\x04\xb3\x07\x94\xeb\x8c\x9a\xd7\xab\xf4\xba\x69\x93\xd4\x8a\xac\x8b\xf4\xf6\xfe\x36\xca\x04\x69\xa8\x34\x52\x68\xb6\xa2\x70\x04\x7d\xfe\x96\x9e\x66\x21\xc9\x0b\x2c\xe2\xe2\x9f\x88\x0b\xb1\xe0\x04\xbe\xd1\xa4\x1b\x21\xd5\x62\x98\x2a\x4b\xf6\xa4\x97\x33\x46\x00\x1e\x29\x41\x2d\x2a\xa9\xa8\x2c\xfe\x2b\xed\xa0\x5c\x6f\xbb\x88\xb0\x6a\x4b\x66\x1b\x45\xa2\xa9\xed\xee\xd3\x16\x28\x55\x22\xc3\x81\x22\x2f\x4c\x21\x00\x9f\xa6\x3a\x8f\x01\x4c\x15\xcb\xda\x40\x42\x58\x72\xf2\xeb\xfb\x00\xf0\x9e\xdf\x05\x30\x03\xf5\x95\xc4\x57\x57\x4d\x8c\xbc\x20\x26\x9e\x63\x02\xd9\x7b\x06\x37\x21\x0a\xbd\xa0\x12\x3e\xe0\x3b\x6b\x3a\xfd\xf5\x1b\x08\xf4\xa0\x8b\xea\xce\xe6\xb6\x28\x78\x41\x87\x7b\xc4\x65\xb3\x9a\x66\x5b\x55\x74\xaf\x8c\x19\xf9\x7a\xd6\x56\xa9\x25\x64\xb2\x7d\x39\xbe\x73\x21\xff\x81\xd2\x89\x7b\xc4\x9f\x2f\x85\x3c\xe8\xbb\xa5\x10\xbb\xff\xf1\xa5\xf0\x25\xb7\xf5\xdb\x0b\xa9\xe5\x73\x17\x07\x55\x91\xa0\x97\xea\x48\x88\xbb\x0f\x49\x03\xaa\xb8\xcc\x47\x70\x1a\x2d\x2c\xc1\x8c\xf2\xc8\x1c\x00\x37\x0e\x4a\x77\x36\x4b\x08\x47\x75\x2e\x1a\x25\x9d\x3f\x8c\xe3\x69\x37\xf4\x6a\x1e\x0d\x8d\x08\x20\xe0\x04\xf8\xfe\xeb\xb2\x10\x33\x00\x25\xea\x48\xda\xea\xb7\x7a\xc0\xfe\xc0\x2a\x20\x80\xbd\x6b\xab\x57\xf0\x07\x04\xe3\xbe\xfe\x62\x22\x44\x12\x81\x84\xb2\xb4\x5f\x32\x62\x91\xd4\xe3\xd2\x32\x6f\xbb\xcf\xb5\x3e\xe5\x75\x12\xbc\x4f\xee\xc8\xfd\x70\x3c\x0e\xf7\xd3\xfb\x48\x83\xf6\x83\xc5\x32\xc8\x8b\x2f\x8f\x7b\x82\x60\x04\xee\x73\xd1\x06\xed\x7f\xe5\xb2\xa6\x60\x5c\xab\x0f\x08\xe1\x09\x20\xd4\xa0\x3a\x62\x93\x78\x8b\x9c\x80\x41\x74\x6e\x4b\x27\x80\xb0\x9f\xad\x8b\xc6\x65\xb3\x9f\xad\x8e\x17\x42\xec\x20\x9b\x6e\x89\xeb\x21\x96\xd4\x52\xe9\xb6\xf6\xbb\xf9\x14\x70\x5f\xfc\xeb\x22\x7d\xb5\xbb\x74\x37\x45\x67\xad\xa9\xd4\xb6\x96\xbb\xe6\x75\xa9\x1b\x38\x85\x0c\x2a\xf1\xb6\x2e\x6e\x6e\x66\xdf\xb7\x6e\xf8\x7d\x2d\x9b\x1b\x0f\x77\xc8\x34\xc9\x74\xbb\xa0\x91\xf3\x6c\x5d\xec\x6e\xab\xad\x7a\x5f\x24\x36\xf5\xd5\xdc\x48\xaa\xab\x6e\x92\x04\xe1\x46\x49\x76\x2c\x92\x00\x19\x92\x75\xb1\x75\x61\x11\x83\xdd\xeb\x2a\xef\x6f\x6d\xb8\xf7\x0e\xcd\x0c\x14\x69\x0a\x23\xcf\xbb\x90\x40\x24\x34\x58\xb0\x6a\x9d\x4a\x15\x33\x30\x18\x72\x10\xc2\xa1\xfb\xa9\xe3\x92\x01\x22\xc2\x69\xd0\x3b\x86\xbf\xbe\x1d\xc8\x3e\x2e\x6d\xb7\x75\xe9\xd9\xed\x29\x45\x39\x28\x38\xd1\xa4\x7c\x77\x03\xbe\xd6\xea\x71\x66\xde\xae\x40\xf6\x67\xd7\x27\x7e\xf2\x0c\x19\xf1\xc0\xeb\xfa\x7d\xb4\x38\xf3\x60\xee\x07\x51\x71\x9d\x27\xc0\xe7\x8b\x2b\xb0\x77\x3d\x52\x80\xf1\xed\xa4\xe1\x8a\xf3\xa1\xe1\x0b\xa4\x52\x60\xb4\xc2\xd6\x42\x63\x24\x3f\x22\x84\x98\x7d\x32\x2d\x20\x95\x4b\x92\x40\xd5\x07\x2a\x0a\x7f\x47\x7e\x98\xe2\x53\x92\x1f\xed\xbd\xc9\x97\xee\xcd\xa7\xc9\xcd\x57\xa0\xfb\x22\xe0\xf9\x01\xc4\x09\xa9\x33\xb9\x2f\x78\xa9\x0b\xf1\x6d\x0a\x73\x8e\x3c\x1e\xba\x07\x33\xb5\x9f\xe3\xfd\xad\xce\xe9\x9d\x22\xdf\x47\x3d\x09\x02\xcb\x03\x1d\x86\xe7\x01\x53\x85\x69\x94\x29\x2d\x5a\x18\xe0\x2f\x24\x34\x2c\x17\x80\x0f\xba\x5d\x77\x69\x2b\xa4\x9e\xc4\xaa\x9f\x16\xed\x6b\xbe\xa4\xb8\x45\xcd\x37\x0d\xa3\xf1\xbe\xf4\xba\xea\xbc\xf7\x7a\xfb\xc9\x1e\xee\xbb\xd6\xd4\x7d\xc7\x36\xee\xad\xbb\xe5\x79\xc7\x6a\x25\x9d\xf2\x0b\x96\x50\xe3\x8d\xfe\x55\x28\xaf\x84\xf7\x53\xb9\xdc\x55\x39\xf8\xeb\x8e\x42\x2b\xec\xee\x83\xed\xfd\x6d\x16\x4b\xc0\x56\x21\x91\xd5\x53\x09\xea\x6b\x04\xe9\x83\x94\x03\x95\x0c\x35\xa1\x8a\x97\xfa\xdf\x40\xdb\x88\xdb\x11\x78\x72\x12\xe0\xd6\x4a\xbe\x21\xfa\x86\xc2\xce\x20\x34\x67\xe9\x53\x80\x98\x69\x6e\x10\xf6\x41\xc2\xe8\x14\xbe\xbe\xed\x01\x6f\x83\x56\x68\xbf\x7c\x1b\x3f\xe3\x46\x21\x20\xdb\x23\x07\xc4\x14\xc7\x8e\x67\x65\xb1\xb0\xcf\xd6\xdf\x62\x9c\xe4\x6e\x38\x66\x80\xd0\x83\x84\xd0\xf0\x7a\xfa\x39\xfc\x64\x26\xd5\x7b\x93\xb5\x8c\xbb\xf6\x75\x29\xe3\xee\x56\x88\xbf\x2d\xff\xd4\x71\x5f\xb4\xaf\xfe\xd1\x24\x88\x1d\xfd\xbe\x6b\x0e\xf3\xce\x1d\x64\x0c\xdb\x99\x48\x37\xf5\x49\xa3\xe3\x79\x35\x05\xf1\x9d\x5c\x89\x32\xff\x21\x0c\xed\xa0\x0c\x2f\x49\x95\xb0\x3a\x36\xd5\xa4\xab\x06\xb7\xc0\x1b\xd1\x0c\x1c\x60\x28\x7f\x61\x1a\x19\x42\x3a\x07\xcb\x81\xc8\x36\x02\xfa\xdd\xf6\x40\x4d\x7e\xda\x03\xdd\x85\x35\xf8\x21\x86\xd0\x28\x89\x84\xcb\x36\x41\x6a\x0b\x36\x39\xb7\xbf\xe1\x54\x0d\x4e\x08\xfe\x36\xce\x47\x38\x58\xa5\xe0\x3d\x08\x0d\x3f\x92\x34\xde\x7e\x89\xbb\x3f\xb1\x76\x4f\xf3\x0c\x5f\x4e\xcc\x02\x72\x9c\x9f\xb1\xe1\xb6\x53\xed\x0a\x07\x6d\x71\x2a\xcd\xf0\x27\x70\x7e\x70\x9e\xe7\x93\xf1\x9c\xad\xcb\xbb\xf1\x09\x71\x1a\x87\x6c\x8c\x08\x3c\x6b\x43\x02\x2a\x58\x84\x9f\x47\xc4\xf7\x27\x38\xae\x2f\xe7\xb6\x18\x19\x7a\x8d\x0c\xe9\x10\xfb\xfb\xac\x5d\x31\xfa\x8c\x03\xf7\xe7\xed\x3a\x9e\xda\x75\xb4\x76\x8d\x61\x51\xbd\xf1\x3c\x30\x0b\xea\x63\x14\x07\xb9\x60\x28\x5f\xc5\x6d\x62\x4d\x7e\x7c\x7d\xec\x11\x6f\xe3\x31\x9e\x31\xcd\x6a\xa7\xdd\xbe\x82\xe9\xe4\x9c\xe7\x8c\xb8\x40\xc0\x02\x89\xff\xe5\x26\x84\x44\x20\xd7\x4f\x24\x6f\xc2\x76\x4c\x95\x7e\xd4\x51\x59\x1a\x90\x53\x0b\x11\x7a\x4d\x3e\xe3\x72\xdd\xb4\x54\x76\xff\x45\x12\xd8\x67\xfc\x84\xed\xe2\x5c\x2a\xa7\x66\xbd\xfa\xfd\x3c\xa6\xfc\xcc\xf0\x6a\x22\xd1\xc9\x7f\x92\x4d\xfa\x52\x11\xf4\xdb\x0b\x64\xe4\xc9\x26\x35\xb1\xd4\x2b\x79\x09\xe1\x14\x83\x1e\x13\xcb\xbd\x4f\x39\xa8\x9c\x6e\xb0\x6e\x54\xdd\xe9\x21\xaf\x21\x95\xb1\x77\x0b\xc1\x06\xdf\xd1\xdc\xc2\x1f\x33\x0d\xbd\xd4\x07\xc1\x52\xef\x3e\xd0\xbc\x4b\x96\x55\xf3\xde\xbc\x1b\x92\x1d\xf0\xfd\x0d\x49\x0f\x5c\xba\x13\xe3\x2d\xd1\x61\x94\xc4\x67\xeb\x32\xeb\x7d\x31\xb3\x75\x56\x77\x5b\x08\xb4\xb1\x01\xfa\x7d\x41\x45\x86\x8e\xf7\xb7\x02\x72\x28\x5b\x5b\xbd\xfb\xbe\x4b\xe3\x41\xef\x6f\xdd\x72\x50\x10\x23\x62\x42\x50\x50\x64\x2f\x8a\xcf\x58\x4a\xd0\x04\x17\xc7\x19\x4a\x48\x48\x4a\x48\x4b\x41\xc2\x85\xba\xca\x60\xd2\x61\x4f\xad\x20\x64\xdf\xcc\xdd\x7c\x38\xe8\x46\xce\x72\xeb\x27\x36\xbe\x43\xd2\x03\xeb\x6e\x66\xc1\xe6\x1e\xc4\x7c\x23\xb0\x28\xad\x30\xdc\xb2\x93\x72\x22\x20\x86\x84\xc2\x28\x42\x8f\x76\x25\xe0\xa4\x9c\x7a\x13\x16\x10\x5f\x70\x5a\x65\xfa\x62\x05\x14\x8c\x0b\x19\xce\x09\x42\x25\x57\x2d\x78\x56\x87\xd1\x14\x32\x4d\x91\xf3\xce\x28\xa0\x2d\xb7\x7b\x8f\x1a\x00\xff\xaf\x07\xc1\x4e\xc1\x54\x03\x17\xd0\x60\xfc\x18\x44\xfc\x59\x8a\x55\x46\xe2\x9f\x3e\x77\xf7\x53\x11\x81\xf0\x67\x08\x73\x0f\x9c\xb3\x80\x06\x6e\x19\x19\x93\x57\x0f\x72\xad\x7a\x0d\xfc\x00\x3a\xa3\x2e\x0b\xbc\x0e\xfc\x86\xb0\x0a\x80\x65\x80\x1a\x0d\x9f\xb6\x81\x15\xcd\x29\xdf\x2b\x68\x39\x6b\x0a\xb8\x74\x21\x92\xea\x58\x94\x31\x54\x71\xcf\xc0\xc2\x7a\x63\x9c\xb5\x48\xc4\xa3\x88\xad\xce\x94\xc3\x5a\xa5\xb6\x79\xfb\x2c\x8e\x6b\x63\xa6\x5e\xdd\x9f\xea\x08\x94\x79\xd7\xa2\x5c\x1e\xf2\x7c\xee\x6a\xf8\x17\xa2\x0e\xc6\x71\x7e\x9e\x1b\x62\x47\x1e\x07\x41\x35\x49\x75\x94\x4d\x0a\x4a\x74\xd6\xa5\x33\x3c\x47\xb0\xc1\xf0\xe5\xbb\xe0\x47\x01\x55\x7c\xd1\x95\x61\x1d\x29\xe8\xca\x32\xca\xbd\x86\x5a\xf9\xcc\xab\x48\x8d\x3f\xeb\xbd\x97\xd5\x7f\xad\x7d\x5d\x04\xf9\x7b\xef\xe9\x2a\xb9\xe2\x40\xa8\x7e\x64\x37\x39\xf2\xde\x5b\x02\x8a\x35\x71\x08\xd0\x32\xe9\x76\xa3\xc2\x6b\x5b\x97\xd9\x39\xba\x5a\xbd\x8b\x0f\xb2\x6b\x1e\xeb\xc8\xe3\xb3\x7e\x16\xc2\xe8\x58\x5f\xe6\x85\x97\xb4\x89\xb9\x2c\x7f\x14\xc3\x9a\x81\xe9\x9f\xf5\x1e\x07\xd7\x96\xe2\x97\x23\x76\x59\x71\x18\x8e\x3a\x4f\x75\x9c\x67\xff\xe9\xbc\xf6\x9b\xfc\xf6\x12\x76\xfe\xed\x05\x2f\xf3\xc1\xd7\x9e\x69\xd4\xb2\x8e\xb9\xc1\x06\xcb\xe3\xfd\xad\x83\xbe\x68\x6c\xbd\xa4\x3e\xb7\xa5\xe7\xd4\xe7\xba\x48\xb3\xfb\x52\xe6\x2a\x05\x8a\xf1\xeb\xc2\x2f\x65\x15\x6a\xda\xb9\x3f\xd9\xb6\x49\xa2\xf1\xbb\x62\x85\x42\xaa\x13\x74\x96\xc6\x80\xac\x4f\x3c\xfe\x3a\xda\x5c\x87\x91\x79\xcc\x67\x86\xf6\xfe\x26\xa5\xbb\x13\xe8\x5d\x0b\x22\x15\x9a\x74\xae\xcb\x50\xb7\xcd\xd6\x21\x1c\x3f\xc5\x68\xfa\xc9\xec\x69\x62\x06\xfa\x7e\xdf\xfc\x61\x5f\xb7\x1e\x5a\x6d\x8f\x27\x2c\x78\xc2\xdb\x5b\x03\x7d\x56\x9e\x6e\x00\xca\xba\xb4\x76\x87\xee\xc5\xc4\x12\xae\xeb\x52\x3b\xfe\x50\x01\x8f\xb6\xcf\xcd\xe6\x0b\x5b\x4d\x88\xcb\x18\x38\xc2\x92\x5f\x6d\xe9\x79\x13\x69\xc9\x4f\x33\xdb\x26\x0c\x74\xf6\xbb\xd6\xbe\x4a\x6e\x1b\xf5\xbb\xca\xd6\x7b\x92\x51\x56\xb4\xaf\x28\xfc\x5d\x3b\x67\x2e\x16\x28\x85\xa6\x84\x5e\x44\x6a\x11\xea\x6f\x14\x87\x30\xd6\x2e\x5d\xb3\xcd\x22\xc1\xfd\x47\x86\xaf\xc9\x6f\xf7\x65\xca\xea\x9d\x72\xf3\x99\x65\x66\x4a\x75\xcc\xcc\x6a\x6b\xbf\x49\x6d\xf9\xb6\x0d\xd0\x0a\x6f\x43\x41\xe6\x9b\xfb\x2e\x79\x06\x0d\xef\x32\xe6\xfb\xdb\x6c\xfe\xea\xcb\x1d\x35\x1a\xa8\x6f\xf3\x23\xdd\x75\xc7\x80\xaa\x1a\x3d\x61\x9c\x3d\x61\x44\x4f\xd0\x18\x1c\x6a\xee\xb5\xb3\xd8\xbd\xd6\x6b\x68\x94\x6f\x4f\x83\x03\x89\x88\xd7\xe1\x71\x91\x5e\xf8\xde\xf7\xd6\xc7\x2a\x22\x1b\xea\x40\xd7\x5a\x37\xb4\xbb\xdf\xcc\xb8\x97\xb6\xb1\x88\x7e\x15\xb1\x4d\x7d\xf0\x82\x26\xbd\x16\xb9\xcf\xb9\x49\x4e\x12\x66\x1a\xa6\xc3\xfb\x32\xda\xaa\x7d\xde\xee\xee\x61\x60\x66\x22\xc1\xe5\x08\x8b\x17\x3a\x41\x30\x55\x22\x70\x7f\x5e\xb5\x5d\x57\xd5\x7e\xaf\xc3\xd7\xb4\xa5\x8e\x55\x86\xde\xad\x0f\x9f\x61\xdc\xa3\x00\xd3\x56\x2a\xc5\xff\xae\xf1\xb7\xe1\x6f\x2d\xf3\xe2\xad\xce\x28\x17\xb8\xab\xf7\xa9\xee\xbd\x8b\x64\xc1\x4a\xc5\x0b\xff\xb9\xe9\xd8\x40\xda\x30\x3b\x3e\xa7\x37\xf9\x1c\x71\x46\xe5\x15\x9a\x0f\x4c\xb8\x47\xf3\x4e\x32\x98\x5a\xd3\xd5\x6c\xc7\xd5\x96\x98\x49\x6e\x1f\xa7\x92\x8b\x04\x19\x2d\xbc\x34\x3c\x82\xaf\x42\x58\x0b\x17\x94\xf0\x9e\x77\xd8\xcf\xb7\x83\x80\x12\x7f\x35\xc4\x5b\x74\x27\xc1\x37\x62\x93\xfe\xb3\x62\x38\xd1\x9d\x44\x41\x84\xf0\x67\x2b\x1b\xaa\xd6\xea\xd8\xdc\x7a\xa9\x63\x5d\xac\xcc\xfb\xe2\x4d\x67\xc5\xb6\xea\x73\xf2\x06\x79\xec\xb9\xaa\xc8\xdd\xfb\xa4\xec\xd0\x44\x03\xbd\xee\x7d\x91\xac\xab\xf4\x72\x9f\x73\x1d\xfb\x88\x37\xaa\x07\xe2\x76\xf7\x65\xf4\xb5\xea\xdc\x6b\xa7\xe0\xb0\x96\xfb\xa2\x65\x95\x36\x6e\x3b\x08\x84\x41\xa4\x85\xd5\xa6\xa5\xd2\x08\xc0\xb0\xa0\xf6\xb0\x03\xf2\x97\x0a\x6e\x89\x85\x6c\x21\x88\x9d\x2f\xa5\xa1\x4f\xbb\x9d\x44\x3e\x1a\x1e\x12\x9c\xd3\x0d\x96\xce\xba\xb4\x79\x5f\xe6\xc4\x5e\x3e\x46\xa4\x22\x04\x0d\xbd\x86\x45\x90\x25\x59\x20\xcc\xa9\x6d\xa6\xc9\x94\xa4\x96\x8b\x3f\x07\x02\x66\xac\xa2\x44\xb5\xf3\x4c\xe4\x2a\xa6\x42\x02\x76\x69\xfe\x8a\x2a\xec\xb5\x3d\xa7\x19\xcc\x36\xdf\xea\xc1\x62\x22\x23\x12\x66\x61\x58\x2e\xd8\x38\x06\x8c\x6e\x0d\x22\x1e\x9f\xa3\xee\xcb\x44\xa1\x9a\xdf\xe4\x46\x6a\xde\x1d\x56\x0c\xfa\x50\xf9\x16\x77\xda\x09\x86\x75\x2b\x4d\xfb\x39\xfa\x63\xde\xf0\x97\x8e\xd5\xb5\xca\xa7\xa3\x1f\x95\xec\xfa\xfd\xac\xda\x65\x6d\xcd\x4d\xde\x56\x93\x61\x76\x07\xcb\x01\x91\x8c\x0d\x53\xd5\xdd\x87\x92\x36\xe6\xc7\xac\xb8\x37\x4f\xcf\x10\xe5\xb8\x07\xd8\x59\xd3\xc9\x7e\xc3\xd6\xd7\x14\x08\xde\x9e\x2a\xde\xcd\x4c\xda\x52\xcb\x47\x6b\x49\xe5\xb6\x0a\xb5\xb7\x61\x19\x80\xe1\x9e\x8a\x04\x8b\x86\xea\x67\x92\x87\xe3\x05\xb3\xf0\x00\x25\x60\xfc\x45\x85\xaa\xce\xfa\xae\xcb\x6f\x29\xb9\xa3\x14\x98\xdc\xde\x16\x75\xac\x06\x3d\xd0\xca\x67\x08\x87\xdf\x2c\x9e\xc1\xe2\x45\xbb\xd1\x6c\x92\x2a\xc9\xd8\x40\x8a\x9e\xd3\xc0\x6f\x97\x80\x74\x48\xbf\xe1\x49\xdc\x02\xf7\x67\x01\x27\xd2\x0a\x85\x59\x3e\xcc\x78\x7d\x18\x3d\xe5\xb3\x43\xdb\xb4\xde\x22\x7b\xa8\xde\xec\x62\x58\xe7\x10\xe8\xc8\x2b\x98\xc8\x05\x89\x02\xbb\x2f\x9a\xed\x5c\xd7\x5a\xac\x6b\xe5\x69\x5d\x43\xf4\x9d\x73\x16\x64\x7b\x59\xc7\x34\xc0\x1f\x21\x36\x56\x37\x07\xea\x0c\xf6\x78\x1d\x09\x98\xd7\x6b\x3d\x42\x49\xfe\x42\x85\x4e\xa6\x4a\x43\xef\xed\x8a\x15\x02\x5f\x65\xb4\xd9\x61\xf7\x0f\xfa\x12\x4b\x1d\x27\x5b\x68\x5e\x75\x6e\x53\x93\x8a\xad\xb3\x6f\x9c\x3b\x7d\x1d\xab\x6d\xf5\x09\x1e\xb2\x71\x63\xdc\x65\x8c\xf5\x0b\x02\xd9\xff\x29\xed\xa5\xd2\xfa\xb7\x17\xcc\xe8\x93\x61\xd4\x4b\x4d\xcd\xf2\x7e\x92\x6b\x92\x1d\x58\x1e\xd4\x0c\x0a\x7e\xbf\x88\x3a\xb4\xe7\xe1\x57\xdc\x90\xb4\x9e\xf4\x62\x57\x80\x38\x72\x84\x1d\xda\xb5\xb6\x93\xea\xa7\xd4\x28\x25\xf1\x49\x83\xb2\x29\x24\xcf\x80\x3a\x0b\x70\x06\x75\x23\xae\x60\x13\x90\xbf\xee\x0a\xe6\x26\x4b\x22\xab\x40\x85\x8b\xa1\x15\x3d\xf4\x0a\xdf\x2a\x83\xb7\xef\x6f\x32\x86\x5c\x0f\xd2\x1e\x0f\x72\x2c\x24\x41\xd6\xc7\x43\xf4\x24\xed\x46\x56\xa0\x3f\xf1\x04\x55\x2c\x0d\x68\xcd\xd6\x19\x0b\x3e\xc9\xdf\x88\x0f\x52\x82\x4a\x80\x3c\x22\x55\x84\xb0\x74\x81\xfe\xca\x40\x94\xa2\x25\x44\x1b\x0f\x9f\xde\xeb\xda\x1b\xc9\x32\xd5\x5d\xbd\x0d\x31\xeb\xbc\x4b\x1a\xa9\x27\xb1\x43\x48\xe4\xea\x4d\x12\x5a\x38\x72\xa0\x43\xec\x83\x74\x5c\x1c\x53\x07\x44\x5f\x30\x8c\x87\x2f\x9e\x63\x6e\x45\x92\x36\x41\xed\x81\xcf\x9f\x02\x26\x00\x9f\x26\xdb\x85\x1c\x95\x50\x72\xd2\x0e\xa7\x78\xd6\xe4\x76\x0a\x79\x1e\x25\x68\x6d\x4b\xa8\x5d\xa3\x4e\x9c\xbc\x87\x9c\xbd\x67\x39\x58\x9e\x67\xd1\x62\x75\x24\xd1\xc3\x1d\x43\x8a\x3c\x48\x44\xa6\xe5\x9c\x8d\x00\xf6\x58\xdb\x64\x98\x0c\xcf\x1b\x6b\x46\x07\x9f\x93\x37\x51\x82\x65\x34\x13\x38\x37\xfa\x55\xc4\x28\x21\xd2\xc5\x2c\x64\x6d\x34\x72\xab\xaf\xe6\x98\x44\xfd\x64\x8d\xc3\x99\x56\x56\x18\x91\x25\x2d\x27\x51\xef\x19\xf9\x9b\x37\x4c\x7f\xa2\xa7\x1c\x5e\xcf\x94\x35\x85\x34\x16\x49\xef\x48\x08\x62\xbc\x65\x5b\x7b\xdf\x71\x1b\x02\xe9\x32\xb7\x6b\xad\x8d\x20\x96\xf6\x25\xb7\x95\xf9\x3b\x3a\x85\x4f\x23\x2c\xc3\x05\xbf\xc0\x4f\x3b\xc5\xd0\x5d\xc0\xa9\xd6\xa0\xfe\xe7\x9d\xa2\xfd\x95\x4e\x21\xb3\x0e\xef\x15\xb7\x9f\x74\x8b\x97\x5e\xd1\xfe\x6a\xaf\x40\x80\x04\xc9\x19\xa8\x56\x46\x7d\x8a\x92\x73\x02\x91\xd5\x9f\xf5\x0c\x95\xde\xd2\x98\xe3\x2e\x04\x1e\xe2\x85\xb8\xa3\x5c\xae\x5e\xc1\xa8\x3d\xdb\x11\xe1\xdb\xb4\xe0\x9c\x35\xf1\xc5\xa3\x35\xbd\x2b\xb5\x16\xc1\x59\x65\x28\xc1\xa6\x42\x3e\x7b\xa9\x11\x07\x6d\x91\x34\xcf\x3c\x23\xcc\xa0\xcf\x26\xa2\x49\xca\x6a\xc4\xec\x25\xa6\x20\x42\x2d\xfe\x93\xc2\x7e\xfd\xb5\xda\xe2\x05\x27\xfb\xec\x1e\xd7\xd9\x53\xc3\xda\x87\xb2\x01\x65\x7d\x08\xe6\x30\x34\x0f\x1e\xe4\xa2\x31\x2c\x92\x26\xf0\xa0\x3a\x93\xe5\x54\x7b\xb2\x4c\xbb\x14\x6c\x3f\xea\xee\x51\xb6\x9a\x1a\xf4\xa5\x24\xef\x2d\xcd\xe1\xfe\xff\x1c\x0c\x44\x01\x88\x32\xde\xdf\x4a\x6f\xa9\x22\xb6\x85\x71\x63\x89\xdc\xcd\x92\x25\x55\x50\xdd\x1b\xfb\x46\x55\x5a\x10\x8d\x16\x87\x36\x6f\x22\x6d\x14\x3d\x41\x61\x81\xc5\x20\x61\xc9\x0b\x15\xf6\x27\x26\x22\x6a\x8c\x01\x4d\x61\x03\xb1\x32\xe4\x24\xc0\x00\x99\xe7\x2d\x24\x58\x4c\x1f\xe5\x77\x9c\x26\xda\xb7\x90\x3c\x2d\xa9\x3e\xac\x55\x09\x92\x99\x6f\x67\x3a\x81\x27\x94\x73\x75\xe9\xa7\x5e\x4f\x57\xc4\xda\x36\xce\x5c\x62\x7b\xd7\x28\x7f\x02\xa5\xfc\x3e\xe4\xe4\x09\xec\xde\x26\x45\x12\xb8\x59\x3a\x75\xbb\x7a\x99\x1b\xf2\xa2\xb2\x2e\xb3\xdd\xe1\x8a\x0b\x0c\x20\x39\xcf\x58\x36\xd4\x86\xb1\x4a\x65\x91\x6c\x6b\x83\x17\x8f\xb5\x75\x94\x44\xe2\x40\x80\x48\x91\xa0\x65\x2a\x77\x47\xc2\xaf\xfb\xa9\xef\x22\xe3\x86\x0c\xe0\xd2\x59\x75\xd7\xf7\xa5\x30\x1f\xa8\xa9\xe6\xbb\xcc\xbe\xf6\x1e\x6c\xec\x5d\xcb\x5d\x8c\x78\x18\xc8\x62\x26\x3b\xb3\x87\x24\xde\x71\xbb\x80\x56\x7e\xf1\x81\x98\x13\xac\x68\x73\x2b\x1a\x1e\x43\xbe\x5b\x06\xd5\x9c\x09\xf4\xbf\x64\x17\xb0\x78\x35\xb2\x20\x0b\xca\x9f\x26\x76\xf4\x03\x16\xff\xe2\x87\x42\x09\xb0\xa5\x86\x02\x13\xb7\xea\x10\xc0\xe9\x13\xb1\x45\x68\x4b\x8a\xa4\xaa\x97\x48\x88\xb7\x86\xaf\x0f\x23\x95\x0e\xc3\xef\xbe\xb4\x52\x01\xcf\xd5\x7a\x97\x2a\xb7\x9d\xb4\xd4\x20\x60\x16\x09\x76\x29\x2b\xa9\xb6\xbd\x49\x6a\x80\x62\x6a\xf6\x9b\xd2\x3e\xd2\x84\x90\x87\x11\x00\x1a\xc0\x0d\xb7\xe9\x6a\x7b\x60\xe7\x6b\x3b\xf8\x41\xdc\xd6\xc2\x68\x66\x23\x4d\x34\x0e\xc3\x04\xe1\xf3\x59\x43\xb4\x80\x95\x7b\x23\x89\xcf\xba\x15\xba\x79\xd0\x94\xf7\x19\x69\x46\xbd\x0e\x8d\xca\x76\x4a\x46\x08\xa7\x14\xd1\xa0\xb9\x1a\x03\xf2\x15\xd5\xd7\x3f\x81\x24\x86\x0f\x1b\x60\x91\x99\xf3\x84\xf0\x23\x75\x39\x91\x84\x04\x2b\xa9\x5c\xd4\xf9\xcd\x92\x7b\x0d\x6a\x08\x30\xfb\x59\xdb\xaa\xc5\x57\x35\x29\x49\xd3\x15\xe3\xf8\x4f\x99\xd1\x5e\x70\x2f\xbf\xbd\x00\xc7\x9f\x71\x2f\xb5\x8e\xd4\x46\x01\xd9\x99\xf9\xab\x98\x88\xb6\xff\xa0\x5a\x76\xbd\x88\x93\xdd\xbe\xe8\xa4\x9f\x87\x64\x24\xb4\xf8\xbd\xf1\xbf\xd5\xd4\x61\x52\x84\xea\x36\xcd\xce\x0c\x37\xb7\x37\x76\x66\x68\x32\x93\x62\xb5\x41\x97\xe3\x64\x93\x4e\x51\x9c\xca\x5a\x12\xf9\x76\xf9\x7e\xd7\x01\x0b\xf1\x43\xdd\xd2\x19\x11\x2f\x58\x5d\xca\x99\x70\xf5\x39\x15\xf9\x3b\x2d\x3b\xe6\xae\x44\xe7\x8e\xae\x46\xa0\x51\xbe\xd5\x9b\xcf\x0f\x90\x57\x6b\x00\x9e\x50\xba\x2c\x0c\x9d\x70\x55\x7c\x81\x1b\x25\xcd\x06\xc1\x16\xbf\xea\x49\x07\xcf\x9c\x07\xe8\xaf\x87\xdf\x9a\x60\x09\xc0\x74\x3a\x53\x6b\x7b\x45\x42\x71\x4a\x1a\xe3\x60\x91\x0e\x64\x82\x50\x4e\x00\x66\x66\xf0\xf2\x30\xb3\xa7\x2c\x1b\x63\xa9\x50\x52\x28\x02\x58\xee\xdc\xf3\x21\x15\x83\xc2\xb5\x02\xe9\x85\x36\x8e\x36\x92\xe2\xdf\x45\xc7\xa1\xa4\x04\x8b\xf8\x21\x26\xee\x9d\x72\x6f\x23\x29\x8e\x56\x12\x8e\x85\x98\xb6\x1b\x37\x23\x59\x03\x37\xd6\xc0\x13\xa5\x7e\x68\x68\xc2\x7f\xd5\xc1\x5e\x30\x24\xbf\xfd\x4c\x76\x43\x72\x09\x8a\x81\xa7\x37\xf9\xcf\x7e\xe7\x4f\xbd\xea\xfd\xad\x66\x4b\x26\x75\x1b\xbd\xa7\xee\x0e\x46\x51\x30\x02\x92\x97\x59\x4a\xb0\x16\x02\x68\x8d\x16\x9e\x2c\x22\x6b\x44\xb4\x72\x65\x65\x63\x0c\x78\xaf\x6d\x06\x3b\x35\x4b\x46\xc3\x3d\x85\x9d\x05\xe6\x52\xb8\x55\x15\x34\x9b\xb7\x7f\xe6\xb0\xd9\x7c\x69\x16\x9d\x6b\xaf\x90\x71\x68\x49\x40\x5f\xe5\x5e\x48\x75\x7f\x57\xd2\xec\x2f\x03\x17\x99\x60\xf5\xfe\x94\x81\x7c\x9d\xed\x67\xc3\xe0\x9f\x3b\x0a\x6e\xff\xab\x86\xc1\x5f\x1a\x05\xaf\x79\x95\x57\xb8\x7a\xc9\x97\xf8\x0c\xaa\xa5\xf3\xbd\xe7\x20\x07\x21\x8f\x1b\xe8\x63\xd6\xa5\x95\x27\x3a\x99\x65\x06\x13\x1a\x78\x51\x82\x80\x86\xfc\x33\xa4\x9f\x79\x62\x98\x9f\x60\x82\x23\xc0\xe5\x6f\x3c\x3d\xc1\x91\x7f\xe6\xfc\xb7\xdf\x77\x81\x32\x32\x30\xab\x6b\x29\x63\xa3\xf4\x50\xdf\x97\x9e\xa8\xa4\xef\xc6\x9d\x49\x0f\xba\xc5\x13\xe6\x7c\xb2\xaf\x80\x9a\xb2\x95\x1f\xb1\xe7\xdd\x97\xc9\xa1\x37\x2c\x98\x13\x4a\x04\x9d\x8c\xb2\xf5\xeb\x32\xdc\xfc\x6d\xb4\x26\xc4\x30\x29\x1c\x08\x7f\x14\xf9\x56\xef\xb3\xea\xe7\x2c\x7c\x9f\x68\x02\x58\x9e\x9b\x5b\xb6\xad\xdf\x76\x01\x2a\xa2\x82\x64\xa1\xcf\xa4\x6d\x35\xcd\x74\x8a\xa0\xad\xd9\xa0\x81\xdb\xcc\x0f\x58\xa4\x75\x3f\xf8\x8f\xb2\xc4\xf4\x97\x82\xff\xdf\x2e\xba\x00\x71\x4b\xae\x80\x65\x28\xcf\xfd\xd4\xa9\x45\xb0\x66\xf8\x13\x94\x50\xed\x27\xe4\xc1\xa2\x6a\x2f\x32\xc3\x3b\x74\xb3\x33\x92\xac\x90\x8b\x9a\x07\x73\xc4\xc9\x0a\xe0\x41\xd9\x7d\xfe\x96\xcc\xe6\x61\xe6\xde\x73\x04\x6c\x09\x49\x64\xce\x01\xb9\x94\x79\x52\x85\xf8\x2c\x1a\xba\x0d\x69\x19\x72\xdd\x56\x4c\xf5\xee\xd7\x32\xa4\x29\x7c\x13\x3e\xa1\xdc\xbb\xcf\x09\x25\x24\x8b\x42\xb6\x9a\xf7\xc1\x78\x9b\x94\x88\x13\x30\x81\x21\x88\x74\x93\x7d\x04\x59\x6e\x4a\x77\x48\x22\x9a\x9f\x65\xb7\x4a\xeb\x1b\xcc\x9b\x6d\x90\xaa\xdd\xdd\xa6\x9e\x53\x8b\x2b\xf6\x84\x39\x4a\xce\x39\xce\x3d\x63\x91\xb9\xb7\x90\xd7\x05\xef\x00\x1d\xdb\xf7\xff\x2c\x8d\x86\xdb\xbf\x52\xa4\xe1\xdf\xa7\xd1\xd0\x5f\xf8\xad\x7e\xbb\x64\x5b\x66\xd7\xd4\x51\xc1\x07\xee\x56\x10\xbb\x4b\xf3\x0e\x8c\xea\x29\xb7\xd5\x5a\xe8\x0f\x94\x60\x82\x80\x18\x36\x59\x66\x97\x7e\x16\x44\x84\xca\xe0\xe5\x50\x88\x26\x92\xc4\x4b\xb7\x8b\x76\x57\x4e\xb9\xd7\x96\x40\x4b\xc1\xb8\x8f\xb4\x76\x50\xe8\x34\xdb\x85\x0c\x3c\x95\x64\xe0\x60\x82\xf1\xab\x1f\xe8\x85\x90\xe5\x05\x58\xe2\x5b\x88\xa7\x1d\x24\x29\x86\xfb\xbc\x84\x9b\xf3\x2d\xb8\x72\x10\x6a\xc5\xd7\x7d\x99\xc4\x58\xbb\x1b\x6a\x37\x70\xe9\x01\xf8\x64\x69\xd8\xce\x5a\x22\xd4\xbe\xc4\x92\x96\x0f\xbf\x75\x66\x9a\xf6\x85\x8a\x4e\x1c\x13\x69\xe2\x95\x63\xe0\x68\x63\x20\x50\x2a\x90\x24\x3a\xf3\x21\x3e\x7f\x41\x14\x4b\x4b\x4b\xdd\xef\x6a\x80\xfe\x05\xb9\x5c\xbe\x70\x94\xb7\x7f\xab\x1b\x83\xb3\xe2\x4e\xa2\x24\xe2\x65\x44\x0f\xbf\x46\x5b\x7d\x78\xd7\x14\x99\x10\xd9\xbd\x5b\x23\x98\xd7\x82\x12\xa4\x09\x03\x4d\x20\xcf\xbd\x98\xff\x27\x25\x05\x96\x1a\x04\x41\x8b\x18\x68\x20\x52\xed\xc8\xa1\x74\x4b\x5a\x6e\x47\xef\xa9\xe6\xa3\xf6\x60\xb6\xf0\xee\xce\xea\x01\xa5\x22\x6e\x69\x60\x57\x6b\xc4\x65\xfc\xad\x43\x75\x57\x46\xc6\x51\x52\x52\x76\xb7\xd3\x92\x96\x34\x0e\xc4\x8b\x74\x83\xd2\xdf\x84\x59\xa6\x29\x4a\x8a\x35\xa2\x74\x1a\x40\x78\x64\xc4\x0c\xd6\x1e\x4d\xde\x71\x2c\x5a\x23\xc0\xbe\x2f\x54\xbc\x81\xe8\x50\x93\x1b\x75\x88\x20\x43\x24\xad\x24\x28\x13\xb9\x73\x3e\xc7\x11\x1f\xe7\xcf\xe7\x7e\x3c\x70\x37\x94\x5e\x55\xf8\xe2\xa2\x87\x12\x1f\xf4\x55\xee\xa4\xbf\x02\x38\x5e\xb8\x15\x3e\x28\xa4\xcc\xe1\x0d\xa1\xbb\x2f\x3a\xb3\x40\xe7\xf8\xa4\x12\xc7\x57\xd0\x16\x83\x7f\x58\xd5\x80\x02\x82\x0a\xf6\x07\xd0\x7b\x10\xf4\xda\xb6\x28\xbe\xc8\x33\x0f\xad\xb1\x2a\x22\x88\x80\x51\xcb\x93\xeb\xb6\x34\x10\xab\x64\x7b\xd4\x6c\x91\x1e\xcc\x7d\x71\x3b\x95\xb0\x74\x80\x32\xb9\x95\xcd\x5d\x7f\x24\x94\xb2\x11\x9a\x6a\x3d\xcd\xbc\xf9\x59\x5a\xb6\xeb\xbc\xfb\x79\x53\x00\xf1\x83\xe1\xd6\x36\xbf\x29\xbf\xa7\xc0\x5b\xf9\x8d\xdc\x0e\xde\xd7\xf5\x40\x9b\x22\x17\x5e\xf7\x69\xde\x06\x78\xee\x34\xcb\x45\xb4\x5e\xde\x61\x28\xb6\xb2\xd5\xde\x52\xed\x3e\x2e\xa6\x0f\x28\xdd\x16\xff\xc5\xff\x01\x2d\xe1\x2a\x5f\xf0\x5f\xfc\x26\xbf\xfd\xe3\xe5\x1d\xfd\x5c\xc5\x46\x2a\x09\x70\x3b\x4a\x24\x42\xbc\x0f\x81\x1a\x96\x9f\x08\xa9\xea\x41\x48\x46\x1d\x18\xd9\x17\x73\x5b\xbf\xa1\xea\xa6\x81\x80\x40\x77\xe8\x62\x82\xf3\x05\x50\x4a\x79\x22\x85\x07\xb5\xbc\x5e\xe0\x5e\x95\x98\x69\x74\x24\xa4\xf5\x74\x6b\x36\x52\xed\x73\xaf\xd3\x2d\x27\x1f\xa4\xb5\xbc\xbf\xf5\xdc\x52\xcd\xba\x07\x33\xad\xe4\x10\xc9\xcd\xe7\x34\xdc\xdb\xe6\x9e\x14\x79\xac\x38\x8c\xe8\xcc\x95\x0e\x0a\xde\x28\x6a\x7b\x00\xc7\x64\x20\x6f\x75\x3b\x29\xdb\x84\x85\x87\xa0\xab\x93\x61\x00\x6e\xa8\xe6\xbd\x23\x44\x8e\x88\xe0\x01\xb4\x1b\x56\xfe\x49\x43\xea\x00\x57\x63\x67\xdd\x52\x75\x73\x6f\x87\xaa\x24\x62\xb2\x09\x24\x69\x07\x9c\xca\xde\x8e\x31\x48\x57\xe9\x2b\x1c\x03\xa4\xca\xea\xc8\xaf\x86\xda\x0b\x2d\xd6\x6f\xaf\x1a\x22\xcf\x3c\x80\x33\x54\x2c\x6c\x94\x75\xf1\x3f\x81\x47\x2f\x3e\xed\xba\x07\x56\xfc\xee\x95\xea\x39\x00\x4c\xef\x96\x93\x76\x3a\xd6\x36\x98\x2c\x16\x21\x47\x22\x62\x9d\x07\x82\x62\xf5\x40\x64\x0f\xd5\xf7\xa8\x6b\x01\xcd\x20\x14\xda\xb5\x43\xbc\x5d\x9e\xaf\x42\xf1\x76\xed\xc8\x72\xf9\x55\x90\x4e\x60\xf4\x58\x71\x4a\x09\x01\xd8\xbe\x43\xd9\x34\x20\xae\x72\x84\xa0\xcb\x20\xf1\x51\xe1\x85\x7a\xb4\x3a\x6e\x1c\x35\x54\xe5\xf8\xf0\x34\xb7\x2f\x1e\xc7\x38\xcd\xfd\xc1\x6b\x04\x64\xb4\x94\x20\x03\x0d\xa4\x47\x29\xa9\x23\x5b\x2f\xd4\xd3\xd4\x8e\xa8\xb6\x82\x6d\x0a\x61\x3d\x3e\x3b\x80\x90\x65\x5f\xa0\x07\xc4\x3a\x87\x82\x6d\xd0\xc6\x67\x0b\xee\x91\xe3\x22\x8d\x8e\xf2\xbc\xde\xdc\x67\xa0\x99\xba\xaf\xf1\x1c\x51\x06\x8a\xc3\x9e\x2e\x78\x7b\x5c\xb1\xf1\x8a\x04\x09\x5e\x4a\x41\xd7\x35\x07\x1f\x74\x8f\x74\x6b\xa8\x43\x7f\xbc\x2e\x9d\xff\x9f\x5c\x79\x10\xfc\xd2\x03\xa8\x7f\x76\xa8\xdf\xf7\xb8\x16\x7c\xa7\xe7\x3b\x38\x96\xf3\xd5\x07\x81\x2a\x74\xb2\xdd\x56\x3d\xc8\x00\xb4\xb6\x72\x2f\x85\xdc\x3f\xcb\xf9\xe5\xf9\x87\xdb\xcb\x2f\xee\x62\x82\x44\x28\x88\x85\x8e\x60\x1a\xe2\xf4\x7a\x72\xad\xf7\xce\x14\xb8\xb0\x64\x66\x2a\x95\x7f\x4f\x2d\xdf\x27\x2a\x82\x8b\x53\x80\x15\x86\x33\xcc\x70\x14\x55\x15\xef\xcc\x3a\xfc\x5f\x84\x8e\xf0\x2b\xa6\x09\xd8\x3c\x7d\x87\xf4\x96\xaf\xe4\xbd\x84\x7e\x56\x3e\x3d\xea\x3f\x7f\x23\xb7\x7f\xde\x9d\x80\xf8\xe1\xdf\xdf\x24\x5f\x4c\x83\xaf\xd5\x1a\x2f\xc8\xf6\xa7\xa0\x23\x08\xa7\x2e\x75\x98\x5c\x06\xa8\x1c\x56\x4a\xe4\x94\x3c\x7c\xfd\xcc\x27\x41\x44\xd6\xb2\xc1\x12\x18\x33\x28\xa8\xee\xbe\xf4\x96\x32\xb0\x04\x9f\x0b\xef\x17\x77\x38\xbe\xcf\x24\x6a\x7e\xc1\x6d\x3f\x33\xee\xb6\x91\x5a\x69\x5b\x05\x80\x17\x08\x7b\x64\xec\x33\x66\x24\x9a\x7c\x6d\x40\x55\x12\x7e\x46\xde\xe1\xa1\xe5\xf4\xd7\xbd\xaf\xfb\xd2\x9b\xbe\xbf\xcd\x5a\xdd\x25\x59\x7b\x0f\x7d\xf9\x9e\x90\xd5\xd5\x50\x86\x6c\xe7\x9d\x44\x3b\xf5\x36\xd6\xa5\xb7\x71\x87\xc2\x0f\xee\xe5\x2f\xbb\x71\xe3\xfb\x64\x85\xe6\x57\x24\xf0\x1f\x7f\xad\x60\x2b\x53\x9f\xb5\x8b\xd5\xfd\x2a\x2e\x61\x65\x1d\x7a\x6f\x25\xc9\xc4\x06\x76\x4f\x51\xd9\x96\x06\x25\x64\xb3\x1f\x1a\x95\x0a\x7d\x39\xdb\x96\x02\x98\x92\x3c\x19\x67\x75\xd4\x54\x81\xa5\xbd\x6c\xbf\xd3\xf4\x53\x26\xc4\x6c\x2b\xcd\x5d\x90\x72\x5d\x71\x67\x84\x83\xd1\x54\xf8\x50\x04\x47\xcd\x6f\x75\xf5\xbb\x7e\x44\x82\x6e\xbf\x2b\x14\x34\xbe\x0f\xcb\x6b\xfe\x99\xe6\x89\xb8\x5f\x34\x58\x6a\x40\x82\xd5\x22\x14\xde\x8f\x75\x25\x74\xc3\x17\x2b\x07\x94\x47\x32\x44\xe3\x61\x04\x9a\x92\xd5\x0f\x9f\x16\xe5\x0a\xb0\x85\x32\xb3\xbe\x0c\xe8\x2b\xd3\xc1\x13\xcc\x58\x11\xef\x27\x99\x30\x27\x17\x84\xfe\xa9\x2c\xde\x23\xf6\xdd\x2c\x0d\xae\x29\x14\x22\x65\x79\x9f\x9d\xfd\x9d\x90\x93\xdc\xae\x57\x38\x89\xcc\x1c\xc2\x5a\xac\x44\x1a\x40\xd0\xad\xa5\x49\x4f\x0e\x8c\x02\x07\x7c\x64\xcd\xb7\x2b\x6b\x38\xec\xd4\x37\x11\x1b\x81\x8e\xa0\xaf\x27\x23\xaa\x02\xf3\x69\x68\xb2\x53\x6b\xf0\x71\xc0\x68\x15\x64\xcb\xb5\x0e\xbf\x85\xda\x52\x03\xaf\xa3\x48\x43\xc8\x1d\xaa\xd3\x42\x25\x19\xae\xe3\xd0\xe2\x13\x22\xc7\x7d\xb3\x0f\x8f\x71\xee\x48\xa5\x44\xa5\xa9\x08\x56\x1d\x58\xc7\x19\x2d\xd1\x7c\x61\x2f\xb4\x93\x73\x45\xbd\x29\x63\xe6\x28\x5b\x64\x75\x8b\x9b\x7c\x98\x68\xa1\x36\x5f\xda\xe9\x9d\x4f\x2a\x70\x31\x9c\x5f\xf3\xed\x98\xc8\x69\x1c\xc4\x9a\xcf\x19\x0c\xbc\x22\xfd\x38\x8b\x54\x0a\xa3\xf2\x6e\x5c\x43\xd2\x85\x85\x2b\xd3\xfd\xc3\xec\xfd\xd1\xf0\x25\xb2\xf2\x28\xe0\xa1\x6b\x0c\x8b\x57\x59\xb4\x58\x68\xd1\x74\x8d\xda\x97\xd2\x8e\x05\x97\x64\x6e\x85\x9a\x3f\x6e\xac\x30\x9e\x78\x2c\x43\x52\x55\x28\x89\x0f\x3d\xe8\xf0\x53\xc9\xef\x62\x18\x41\x2a\x38\xa3\x73\xf8\x88\x3b\x28\x4e\xdb\xc7\x0e\x0c\x0e\x21\x50\x61\xec\x90\x15\xa8\xa2\xd2\x55\x6e\x3b\x18\x5b\x04\x23\x89\x7a\xe6\xe0\x37\x41\x2d\x90\xc6\x0c\x30\xbd\x2d\x58\xc6\x33\xc1\xa8\xd9\xf3\x5d\x58\xb7\x2c\x90\xf9\xf7\xd1\x1a\x20\x1f\x94\x50\x1c\xac\xf7\xfc\x72\x48\x7e\x9f\x23\xd0\x6c\x57\x74\xb6\x98\xa6\x02\x06\x28\xe9\x98\x22\x4a\x52\x9b\xb0\xba\x50\xd9\x64\xc1\x29\x63\x03\x85\xbd\x01\xee\x02\x32\x7a\xd1\x44\x78\x32\x31\x96\x89\x71\x4e\xa3\x18\x3d\xe9\xa0\xdb\x29\x5c\xbd\x57\x44\x65\xd1\xeb\xd6\x45\x76\x40\xa3\x40\xc8\xb3\x54\xd9\xa6\xa5\xee\x5e\x1c\xbc\x2d\x7f\xc4\x56\x00\xbd\xf4\x26\x01\x27\xb2\x4d\x37\xeb\x30\xea\x2e\x5e\xc6\xa2\x2c\x0d\x3e\x16\x30\x25\x9c\x61\xd6\x90\xb5\x82\xb0\xe2\x6c\xa9\x31\x54\x53\x72\x08\x1d\x2d\xdd\x6e\x70\x1e\x06\x5a\x19\xf2\x8a\x88\x71\xc9\x55\x7f\x0e\xd4\x91\xd8\x53\x9d\xf3\x4e\x05\xae\x60\x6e\x98\x76\x16\x8a\xa1\xc6\x66\xb2\x60\xa5\x91\x57\x08\xc5\xf5\xa7\x5d\xc9\xe1\x80\x44\x02\x55\xef\x2b\x08\x81\x31\x37\x94\x08\x76\x91\xbb\x31\x42\xe0\xa5\x9f\x01\xe5\xcc\x82\x29\x37\x7d\x6a\x3b\x50\x6c\xb0\x48\x19\x90\x83\xf7\x9f\xef\x64\x4b\xf6\x85\x3a\xc6\xcc\x9c\x07\x75\x5e\x19\x60\x24\xbf\x22\xca\x62\x04\x55\x66\x8a\x2a\x92\x7c\xf3\xb6\xd7\x9e\x4c\x52\xf5\xf5\x06\xf8\x0a\x24\x27\x41\x59\x44\xa4\x0c\xae\x88\x1e\xba\x2f\x22\x8c\xee\x4d\x49\xa3\x1f\xee\xf8\x2a\xd3\x2f\xd9\xc7\x49\x92\x31\x0f\xbf\xc0\x28\xbb\xb0\x04\xae\x67\xf6\xfb\x83\xf1\x86\x0e\x49\x30\x2c\x7e\x51\xe5\x09\xde\x1a\xbe\x0c\x20\xf4\x1e\xf1\x46\xbe\x00\x98\x63\xdf\x4e\xcd\x31\xba\x4b\x38\x21\x48\x81\xec\x18\x39\x90\x74\x92\x31\xc1\x0c\x4b\x0d\x19\x3d\x04\xd5\x5e\xd5\xc2\x6e\xff\x3b\xe4\xc2\xc6\xf7\x59\x14\xcd\xaf\xa5\xc0\x4f\x19\x6d\x9f\xbf\x19\xcc\x45\x43\xff\x40\x4f\xfb\x87\x72\xda\xe7\xf7\x8b\xaf\x84\x7d\x27\x76\xcb\x0c\x3f\xf3\x0c\x17\x41\xc9\x29\xe1\x1d\xdf\x3f\xec\xf5\xe1\x04\xcf\xa7\xfe\x43\xba\xe0\x61\x36\x7d\xfa\x5c\xb7\xdf\xf7\x60\xeb\x62\xa3\xe1\x4d\x80\x53\x2b\xd2\x30\x5a\x18\x04\x59\x74\x8c\x63\x79\xfa\xfa\xd8\x61\xc5\x71\x7f\x5c\xcb\x3c\x98\x65\xcf\xc0\xba\x05\x1a\xf7\x43\xf6\x63\xb9\xd2\x1f\xcb\x87\xfc\xc7\x52\x05\xe6\xec\x77\xa1\xe0\x33\x12\x8c\x7d\x6f\x1f\x52\x28\x57\x5e\xe5\xfa\xf2\xd8\xf8\x48\xaf\x9c\xa7\x59\xfd\xdc\x3c\xf5\x53\x0a\xe7\x71\x1b\x4f\x77\x77\xdd\xf3\x57\xfd\xf4\xfb\xa4\x87\xe6\xd7\x62\xc5\x47\x3f\xbd\x5e\xa6\x01\xf8\xfb\xf7\xdc\xf2\xf1\xcf\x6d\xf1\x4f\x1b\xfc\xcc\xf4\xea\xf8\x69\x27\xb9\xfd\x51\xc5\xfb\x7f\xfb\x08\xfd\xea\x7d\x7f\x1f\x66\xd7\xfc\x5a\xca\xf5\x04\x51\x68\xe0\xd2\x5c\x17\x43\x14\x86\x22\xc1\xf4\x2e\x0e\x60\x48\xfa\x26\xc3\xad\x09\x01\x2a\x18\x96\xa8\xf5\xd0\x0b\x57\xa6\x51\x1b\x0a\x93\x23\x2a\xdf\x8e\xf3\x33\x36\xec\x5c\x92\x34\x5b\xea\x64\x85\x11\x5f\x04\x50\xee\xdf\xa1\x8d\xba\x0a\xb4\x4a\xc9\xd2\xd4\x21\x75\xf8\xfe\x26\xb9\x62\xe3\xa6\x63\xf0\x0e\xcb\xc8\x1b\x57\x3c\x10\xde\xd1\x87\x4c\x42\x85\x07\x5d\xa5\x9d\x55\x80\x2c\x9b\x81\x68\x34\x02\xe6\x0d\x7a\xa3\x69\x96\xdb\xbe\x34\x9a\x23\x2a\xa4\xcb\x02\x7c\xbc\x81\xa8\x9e\x2e\x1b\x44\x19\x11\x6b\x2a\x39\xe8\xc9\xe5\x0c\x6f\x5c\xd1\x2d\xb7\x75\x36\xe4\x87\xfc\x58\x90\x35\x4f\x98\x1a\x48\x4b\xec\x21\xd9\xfe\x5d\x3b\x1c\xbc\x87\x83\xb7\x74\x02\x82\xa2\xc2\x07\x51\x37\x0b\x76\x1c\x9a\x70\x12\xf1\x6a\x79\xfc\x15\x7f\x70\x47\x8b\xd8\xfa\xec\x24\xd8\x47\x9b\x9e\xbd\xd9\x3d\x31\x54\x6e\xcf\xb1\x2d\x56\xa1\x38\x31\x83\x38\x04\xdc\xeb\x12\x5c\x03\xb3\x93\x5f\x5d\x58\x24\x09\x03\x17\x0a\x1d\x40\x71\x7b\x13\x90\x92\xf9\x47\x37\x70\x3c\x7f\x7f\xda\x69\x17\xfa\xa2\x82\x2a\xca\xcd\xfb\x8c\x0c\x83\xea\xee\x67\x32\x3b\xc7\xb3\x5a\xef\x45\x6e\x5e\xac\x6e\x24\x86\x83\x5e\xef\xa7\xc2\x3d\xc7\x77\x3a\xbf\xc1\x97\x82\x2a\xda\x4d\xc1\xe1\x96\xf3\x6d\x9f\x20\x0b\x14\x04\x66\x77\x3e\xd3\x87\x16\x7e\x6e\xfc\xaf\x46\xd8\xf7\xac\x0f\x9a\xfb\xff\x79\x22\x3f\xa6\x0e\xfa\xdf\xca\x51\xea\x33\xdb\xbf\xe0\x32\xd6\x34\x75\x69\x1b\xea\xad\x07\xd2\xac\x70\x89\xf4\xba\x08\x27\xc9\xf2\xad\xde\xd6\x65\xca\xb8\x6a\xd8\x1f\x9e\x55\x00\x91\x0d\x6e\x53\x87\x0f\x1b\xc0\x00\xd6\x04\x55\x23\x6e\xce\x56\xc9\x4d\x49\x65\x54\x50\x1c\x23\x25\x55\x7b\x7f\x13\x30\x86\x9b\x82\x02\x8f\xf5\x3a\xee\xfe\x59\x01\x5c\xc1\x57\xab\xc0\x7d\x50\xa4\x9d\x08\x68\x2b\x47\x7c\xf0\xd7\xb5\x41\x31\x81\xe0\x40\xc1\x46\x3b\x65\x9f\x5b\xb6\xfb\xd2\x00\x64\x0b\x35\xec\x9d\x83\xfc\xb9\xd9\x3e\x34\xe7\x33\x03\xf0\xd5\x5e\x77\xca\x68\xb7\x3f\x78\x8a\x97\x33\xf8\x4d\xb4\x4c\xe7\x15\x4a\x16\xcc\x6e\x5a\x2a\xb5\xec\x33\xf5\x41\xfe\x4f\xb1\x7e\xa8\xe5\x34\xe6\x61\x48\x75\x5b\x8e\x2f\x8b\x65\x6c\x59\xc6\x3c\x4e\xaa\xd0\xbe\x61\xc2\xf4\x53\x30\xc6\xa4\xf1\x26\xbf\x74\x47\xbf\x4f\x25\x69\x7e\x29\x59\x7b\x36\x73\x4b\xb3\x14\x25\x62\x40\x7e\xd4\xb3\x60\xa8\x09\x8b\xfc\xd7\xa5\x43\xd5\x0d\x03\xb9\xd1\xcb\x38\x88\x8a\x07\x41\x26\x3f\x63\xc3\xea\xfb\x62\xd7\xf3\xf0\xe3\x3c\xe3\xfb\x9b\xb4\xde\xe3\x5a\x10\xbd\x36\x77\x66\xd6\x65\x8e\x8f\xa7\x8f\x93\x87\xb3\x5b\x53\x13\x9e\x7d\x9d\x79\x40\x35\x59\xa8\x3f\xe4\x0d\x0d\x6e\x8b\xec\xde\xd1\xc2\x60\xcd\x62\xcc\xa4\x33\xc0\xa4\x36\xa2\x44\x28\xe2\x10\xbe\xf9\x16\x78\x54\xb4\x6b\xcf\xab\x5f\xff\xe9\x96\xe3\x86\x1f\xd0\xb9\x13\x38\xe7\xdf\xd7\xc5\x6f\x02\x41\x9d\x62\x49\x29\x19\xe2\xb7\x61\x8c\x4d\xb8\x9b\x86\x55\x56\x2b\xcb\x58\x0f\x75\x9b\xc6\xdc\x79\x9c\x49\xf3\x38\xaa\x77\x11\xbb\xac\xda\x49\x7a\x99\x47\xd3\x3f\xae\x04\x92\xdd\x4e\xa2\x4d\xb0\x10\xd2\xfe\x6d\x3d\xea\xa4\x16\x13\x9a\x2a\xac\xc6\xd2\x66\xc7\xa2\x41\x8b\xd8\xdb\xc1\xcd\xdc\xf7\xb6\x83\x43\x12\x59\xad\xc1\x08\xda\xb1\x18\xca\x72\xad\xe6\x75\x91\x31\x3f\x79\x05\x12\xd4\x47\x04\xa6\xe2\x15\xf8\x4a\x0e\x1e\x50\x72\x75\xf1\x9e\xfc\x96\x70\x47\xbc\x21\xde\x8f\xdf\x0e\xef\xc6\x6f\x86\xcd\xd3\x00\x27\x44\xda\xaa\x44\xf4\xdb\xec\xe0\x7d\x2c\x7e\x23\x32\xc6\xeb\xab\xf8\xaa\x48\x73\x7c\x9f\x35\xd0\x3c\x5f\x62\xa2\x3a\xf2\x59\x38\x54\x2d\x41\xb0\x87\x9a\x4b\xa6\x63\x13\xca\xfa\xec\xd2\x6a\x2a\x55\x92\x7f\x56\x09\x96\x8e\xc5\x46\xaa\x0d\xc8\x81\xd3\xfd\x50\xad\xef\x6f\xad\x96\x54\xba\x6c\x66\xd0\xb4\xb1\x9e\x8a\x4f\xbe\x6e\x80\x2d\x66\xc4\xfd\xc2\xe1\xee\xc1\xd9\x00\x1b\xd7\x20\x4a\x05\x11\xae\x65\x0e\x46\xef\x2a\xf8\x93\x13\x75\x59\x04\xb6\x4d\x50\xad\x30\x8e\x6c\x6e\xcb\x75\xef\xee\x01\xdd\x51\x7d\x00\x2a\x51\x3c\xf9\x2d\x84\x8d\x0d\x81\x7c\x75\x8f\x3d\x8f\xe8\xc1\x51\x4c\x0d\x9d\x8f\x28\xfc\xab\x76\x48\x06\x3c\x27\x02\xd0\x88\xfd\x18\x09\xbc\x80\x60\x53\xaa\x5a\x41\xcf\x51\x0c\xb5\xbe\xa6\x88\xf5\x15\xca\xca\x04\x92\x74\x40\x19\x1d\xc8\x22\xce\xe9\xa5\x9e\x99\x46\x46\x23\x4a\x07\xf5\x45\x52\xe6\x1f\x8a\x50\xea\x27\x97\x1d\x71\xcb\x12\x66\x10\x07\x91\x0e\xd6\x63\xeb\xae\xd0\x44\x84\xa4\x24\x54\x89\x34\x49\x9b\x28\x1b\x2e\xb8\x3f\x10\xd4\xa5\xd6\x03\x56\xdc\x34\xca\xb8\xf0\xa2\x18\xe1\x53\x6c\xf1\xbe\x78\x73\xfb\xf0\x44\x1e\xa2\x48\x04\x56\x23\x2d\x44\xd4\xc2\xb0\x22\x87\x59\x04\x2b\x29\x10\xcc\x39\x82\x23\x25\x1f\xfd\x51\x56\x3d\xa2\x78\x32\xf2\xc7\xa8\x28\xcc\xab\x5a\x24\xd3\x33\xc9\x8a\xea\xa5\xdb\x5d\x2b\x92\xa9\xf8\x0f\x31\xa3\xb2\x73\x88\x2b\x0d\xd0\xd2\x00\xd6\xa1\x24\x64\x10\x94\xfa\xaa\x78\x56\x41\xf5\x93\xa9\x0d\x9b\xc6\xb8\x10\xb8\x03\x2b\xb4\x91\x92\xed\x01\x30\x15\xb7\x9a\x61\xbe\x45\xc0\x5e\x41\x7b\x4b\x66\x44\x20\x02\xf5\x0c\xe3\xc9\xb9\xe8\x71\xf9\x1f\x04\x9b\xe2\xba\x54\xba\x18\x44\x39\x02\x94\xde\x47\x84\x6b\x04\x53\x96\x95\x64\x96\x5a\xdf\x83\xcc\xaa\x79\x7f\x6a\x3b\x28\x10\xe0\xe7\x59\x54\xf7\x60\x36\x6c\xec\xff\x87\x30\xb4\xc3\x50\x66\xe1\x33\x24\x29\xa8\xcd\x63\x0a\x5a\x4e\x44\x0e\xd4\xe3\x68\x90\x84\x3a\xa0\x9b\x16\x49\x59\x8f\x9b\x25\xb1\x66\xb5\x59\x78\xac\x63\xb0\x36\x0e\x1e\xc2\x48\x82\x75\xa6\xa9\x4f\x25\x50\x35\x53\xff\x4a\x10\x26\x6a\x71\x2b\xd5\x10\x0b\xc2\x9b\xcd\x52\xa5\x32\x1e\xb8\x69\x24\x94\xa3\x26\xa2\x7f\xbb\x18\x98\x01\xc1\xc2\x34\x64\x27\x4b\x01\x56\x96\x1d\xd9\x1d\x9d\x14\x0d\x61\x0e\x03\x89\x8f\x5a\xa2\xda\x04\x11\x52\xbf\x01\xf4\x40\xa8\x2d\x76\xb0\x19\xb6\xbd\x23\xbc\x8e\xd7\x36\x0f\x12\x2a\x06\xd3\x39\x92\x06\xe8\x3b\x19\x95\xff\x12\xda\x8c\x40\x65\x32\x9c\xdf\x07\x82\xdc\x13\x0a\x7e\x28\x95\x3e\x69\x3b\xeb\x49\x61\x39\xf2\x01\xbf\x26\x84\xdf\x45\x2e\xe1\xf7\xc1\x6e\x29\xa7\x24\x8a\xa5\x82\x14\xc5\x04\x64\x51\xeb\x48\x72\x62\x0f\x67\xd2\xf1\xb5\x89\x3d\x5f\xf3\xa2\x3f\x13\x5a\xea\xa3\xa6\xaa\x03\x2c\x34\x30\xff\xa4\x8e\x14\x55\x92\x11\x65\x50\x72\x07\x4c\xb2\xcb\x36\x7a\xae\x95\x05\xbb\x2d\xa4\x50\x0c\x88\x11\x99\x25\x4d\x4b\x26\xcc\x42\xfb\xec\xde\xfd\xa5\x81\x92\x43\x0d\x5c\x25\xc7\x44\x01\x1e\x4b\xc2\xdc\x9a\x05\xc9\x18\x92\x4b\xf3\x58\xa8\x9e\x56\xcf\x39\x7e\x44\x32\xf6\xdb\x83\x76\xa7\x47\xf8\xbb\x8c\x44\x7a\x2d\xf7\xcb\x10\x15\x2d\x39\x18\x20\x51\x84\x39\x76\x14\x6b\x7a\xb3\x89\x4d\x37\xfc\x67\x8f\x27\x0d\x9c\xf9\xf9\xa8\xcf\x0f\xfa\xb7\x3c\x26\xb8\xcc\xf9\x98\xf1\x90\x7f\xf6\x11\xed\x41\x73\xd9\x02\x7c\x17\x3c\x22\xd4\xfd\x3c\x8c\xf1\x15\x09\x84\x4c\x2b\x58\x42\x40\x9d\x0c\xb3\x20\xf7\xdb\x81\x8b\x11\x43\xd5\xd2\x60\x84\xd9\x0d\xfb\x40\x9f\x54\xe2\xc4\x04\x04\xdd\xcd\xfc\xca\x3d\x35\xdb\x97\x46\xaa\xd0\x2e\x28\x4a\x83\x23\x52\xb8\xe4\xc5\x24\xcc\xb4\x6f\xb9\xc8\x26\x10\xe0\x2f\x95\x69\x6e\x00\x98\x4f\xd5\x4e\x37\xb4\x47\xc0\xdf\xa1\xe8\xea\x3f\x60\x8c\x32\x13\xf8\xad\xfa\xd0\xe6\x06\x71\xcb\x8d\xe7\x0b\x56\x10\x51\xb0\xc8\x21\x3f\x8c\x06\xf1\x41\x4b\xdd\x23\x69\x7b\x03\xe7\x10\x6e\xba\xee\x35\x95\x04\x44\x03\xcf\x21\xe5\xc6\x84\x87\xb4\xbd\xb8\xfb\x82\x39\x09\xd2\xa0\xc9\xf2\xfc\xa8\x9c\x55\xad\x3d\x67\xbd\xfd\xdb\x57\x63\xef\x35\xbd\xfe\x7f\xaf\x2a\xe9\xa9\x69\x0a\x98\x9b\xda\x0f\x54\x8e\x11\x99\xff\x1e\xf4\xc0\xdd\x49\x01\x00\x4d\xb0\x03\xc9\x92\x91\xd7\x45\xbb\xde\x17\x91\xfa\x23\xd5\xe4\x4f\xcf\x27\x56\x5e\x60\x14\xa5\xb9\xb1\x8c\x50\x93\x2f\xc6\x2c\xac\x1e\x67\x31\x36\x46\x14\xe7\x83\x09\x96\x19\xf7\x29\x7b\xbb\x2f\x23\x0a\xb5\xad\xf2\x18\xec\x71\x82\xab\xf8\x81\x4a\xd9\x38\xe5\xba\x94\x0f\xc8\x95\xf3\x8e\x22\xdd\xf0\x41\xc7\xb9\xe5\x17\x68\x06\xb4\x92\x57\xed\x7a\xa6\x5f\xd0\x0a\x07\x1b\xe5\xce\x7b\xf9\xf2\x24\x5f\xbd\xc0\xd7\xa4\xfe\x3f\xae\x0c\xa2\x89\xa4\x06\xd9\x4a\x29\x17\x91\x10\x39\x9d\xc6\x19\x27\x70\xbf\x5a\xf3\x55\xb9\x66\x23\x85\x5b\x6d\xe3\xce\xc3\xd4\x9d\xe8\x10\x9c\x91\xb2\xfa\xce\xd4\x47\xee\x67\x1f\x8f\x53\xbe\xbf\x0d\x95\x54\x5a\xb9\x6b\xbd\xc2\x15\x7a\x31\x38\x20\x4b\xe8\x7f\xbb\x7b\xe2\xa3\x93\x22\x65\x6e\xd6\x28\x56\x5f\xb7\x06\x66\x4b\x60\xb6\xb4\x7c\x96\x14\xb1\x82\x24\x68\x13\xe1\xa1\xf8\x2f\xf7\x85\xd7\x00\x8b\x3d\x2c\xa2\xb5\xd6\x1b\xa9\x4d\x20\x86\x78\x57\x50\x98\xa0\x88\x2a\x66\x1a\x78\x2f\x65\x9d\xa7\xbe\xf3\xe0\xdd\x43\x7f\xfc\xbe\x70\xff\xe7\xf3\x95\xcf\x4f\xf7\xd4\x16\xb3\xff\xa0\x29\x3e\x9c\x4e\xe3\xf6\x48\x12\xac\x92\x54\x7d\x76\x07\xb0\x3b\xdf\xa5\x5e\xe2\x46\x76\xb6\x54\x8b\x76\x52\xf0\x2a\xd8\x59\x2d\x17\x8d\x60\x67\x13\x14\x61\x02\x4d\x49\xab\xa5\xf2\xe1\x22\x72\x97\x91\x77\x00\xeb\x19\x9f\x2c\xba\xca\x94\x1d\xe7\x8b\x4b\x1c\x71\xcd\x2b\x2f\x87\xf2\xe1\x4c\xd5\x14\x7f\x35\x40\x76\x9f\x55\xe3\x4b\x1b\x2b\xb7\x9e\x45\x12\x6e\xbc\x0d\x94\x20\x48\x2b\xf7\x38\x70\xb6\xc4\x1f\x0e\x6e\x5f\xf1\x3b\x51\x10\x3c\xcb\x11\xa7\xfd\xaa\x73\xbf\xa6\xc7\x2f\x45\x9c\x29\xee\x6f\x41\x68\xa5\x6c\x52\x7a\xaa\xc0\xab\xe4\x2c\x88\x20\x1a\xa8\x27\x2e\x49\xc6\x52\x32\xff\x5c\xf0\xb7\x6f\xb5\xe1\x0b\x62\xf9\x3e\x23\xb9\x9f\x12\x2f\x83\xb9\x41\x24\x23\xfd\xaf\x2b\x11\x39\x22\x11\x99\x06\x2b\x1a\x35\x5f\x33\x02\xc3\xda\x7e\x14\xb7\x47\xe2\x71\x44\x48\x7c\x19\xb4\xfb\x35\x7f\x39\xac\x5f\x13\x8e\x5f\x56\xb3\xb5\x22\x57\x25\x93\x45\xfd\x31\xd9\x37\x10\x1f\xd6\x0c\x47\xb9\xed\x14\x39\xc5\x4a\x7c\x32\xa1\x06\xcd\xc8\x63\x88\xf1\x10\x99\xe8\x95\xdd\x0f\x19\xc4\x61\x5c\x5c\x68\x2d\xbc\x9b\x33\xfc\xf7\x20\xe6\x76\x77\x63\x5d\x4a\xce\xf0\xf6\x97\x60\x2f\x06\xc5\x32\xc8\x88\xd7\xc5\xe6\xfc\x7e\xdb\x23\x98\x78\x2a\xe5\x74\xaa\x03\xe4\x34\x52\x49\x9a\x79\x37\x66\x88\x47\x80\x4d\x98\x60\x5d\xae\xcf\x1a\x25\x52\x60\x3c\xb3\x24\xc3\x9f\xb7\x25\x7f\x5c\xdf\x3b\x26\x90\x74\xf2\xe0\x3e\xf6\x56\x89\xf9\x01\x21\x6d\x8b\x33\x6e\x32\x67\x8a\x65\x27\x51\x5b\x21\x24\x16\x82\x89\xbd\xa4\x2a\x9b\xe6\x09\x70\xe8\x42\x8d\xd7\x92\xd0\xa2\x8a\xf5\x1b\x79\xa1\x78\x98\xe0\x45\x45\xe5\xf9\x6a\x13\x08\x77\xa5\xd0\xaa\x50\x8b\xda\x7f\x1e\x3b\x40\xa8\xbe\x9f\x4a\x50\xa9\xe7\x93\x36\xa9\xd3\xcf\xba\xb1\x18\x0b\x56\xcc\xd8\x60\x25\x59\x1d\x8c\xf2\xa1\x62\x03\xee\xbc\x04\xb5\x68\x30\xef\x80\xe5\xbc\x6f\x42\xe1\xee\x02\x32\xdc\x92\xc2\x72\x43\xd0\xe5\x7a\xfd\x3e\x80\x40\x89\x50\xc7\x6a\x63\x6e\x8b\x15\x4d\x56\xa1\x90\x6c\xfc\x6b\xf1\x3f\xad\x41\x89\x4a\x9a\x5f\x54\xda\x81\x4b\x37\x70\x4f\xa4\x56\xcb\x0e\x52\x69\xf4\xc3\xfd\x2c\x95\x03\x2b\x95\x9b\x4e\x8b\x41\xe2\x3d\x2d\x0d\xc9\x26\x99\xf3\x6e\xa5\x03\x65\xec\x76\x2a\x89\xd9\x47\x44\x27\xf2\xfb\xdb\x44\xc5\x32\x64\xb8\x6c\x8c\x4d\xc0\xf6\x9a\xf3\x56\xab\x77\x0b\x9f\x00\x00\xac\x0b\x8c\x20\x26\xf5\x86\xa2\x18\xdc\x50\x03\x27\x6c\x20\x8d\x00\x54\xc6\x94\x44\xaa\x8f\x3e\xd7\xee\x3b\xd5\x61\xbe\xd3\xa6\x4a\x50\x88\x56\x4d\xda\xda\xb6\xe8\x84\x78\x72\xdf\x60\x55\x96\xb5\x34\x48\xfa\x4f\x4c\xf6\xba\xf9\x7b\x1c\x1b\x32\x65\x79\x5d\x8a\xf6\xcd\x80\xae\x2a\xb6\x7b\xa7\x15\x4b\xc8\x7b\x0d\x36\x68\xdd\xae\xd6\xb4\x6e\xf7\xc5\xac\x6e\x3e\x1b\xee\x88\x8c\x63\x06\x17\x7b\x7f\xab\x7e\x71\x6d\x6b\xc9\xba\xf9\xbd\xb6\xdb\xb6\x98\xf7\x34\x10\x96\x80\x16\xa6\x81\x4e\x51\xde\xdf\xac\xe2\xe9\x56\x69\x76\x17\x7f\x5f\xa8\xc9\x94\xde\x77\xf7\x8f\x13\x2c\x4f\xdf\xcb\x5d\x5a\x32\xcf\x4b\x22\xb0\x9b\xd2\x1f\x27\x6b\x10\xdb\x7b\x13\x54\x01\xf5\x7e\xd7\x36\x79\x23\x22\x2a\xf7\xc5\xa7\x4b\x72\x00\xd6\xbe\xe9\xec\x3e\x6f\x6e\x70\xfd\x14\x25\xd3\x15\x64\x0a\x14\x17\xf3\xa5\xaf\x95\xcd\x67\x9b\x5e\x36\xd4\xa6\x68\x86\xe1\x8e\x3e\xe0\x26\x06\x14\x82\x3b\x5e\xea\x0a\x68\x57\xe3\x8a\x5b\x36\x20\x33\x10\x21\x93\xec\x16\x51\xf1\x87\xf7\x0b\x2e\x26\x75\x33\x6a\x56\xcc\xcd\x5f\x8b\xe5\xfe\xfe\xd6\xc6\x48\xcd\x20\x03\xe0\xb7\x20\xf7\x45\x21\xb7\x9b\x6d\x24\xed\x39\x28\x9c\xcb\x0a\x55\x11\xeb\x25\x35\x1f\x36\x08\xec\x56\xd9\x04\x82\xad\x65\x5b\x8c\x7a\xea\x20\x48\x01\x31\x95\x80\x9e\x9d\x1d\x51\xe7\x5d\xb7\x45\xbd\xaf\x83\x62\x84\xfd\xda\x8f\x28\x90\x48\x6f\xb6\x19\x55\x8d\xfb\xfb\x5b\x85\x28\x50\xd1\xbb\xaa\x6d\x08\x0d\x2c\x3a\x34\x7e\x67\xf1\xb0\x6d\xf1\xb3\xdd\x75\x50\x5e\x1f\x42\xac\x1b\x75\x02\x7c\xa4\x9a\x1b\x1d\x7d\x5d\x86\xde\xc0\x35\x3f\xd1\x1b\x7d\xb8\x9b\xfb\x40\x4a\xbc\x53\x88\x2f\xf8\x74\xd7\xbc\x3f\x4b\xd2\xd9\xa2\x5a\xad\x89\x6e\xbd\x23\x1c\x56\x13\xc4\xbc\xfb\xcf\xd1\x40\x2a\x2f\x5e\xb8\xe4\xff\x73\xd5\x09\x0c\xd0\x7d\x88\x05\x4e\x96\xd0\x2c\x45\xb6\x67\x22\x74\x5f\x74\xb3\xea\xbd\x1b\x85\xb6\x11\x6e\x46\x52\x56\xce\x08\xdd\xc2\xfd\x97\x59\xd7\xa5\x13\x0c\x1b\x21\x04\x9e\x26\x0a\x3e\x55\xfb\xbd\x43\xd8\x50\x19\x45\xf4\x67\x6b\x49\x46\xbe\x17\xe4\x5b\x51\xfd\xa4\xa8\x83\xec\x03\x04\xc1\x65\x5c\xa0\x02\x54\xfb\xd9\x41\x2e\x9e\xe9\xbe\x0b\xfa\x78\x69\xc1\x4b\x84\x58\x0b\x23\x72\x3e\xdb\xaf\xbd\x7f\x55\x58\x3e\x5f\x72\xec\x22\x97\x11\x62\x3e\xca\x47\xdb\x17\x43\x98\x5d\x41\x1f\x83\xea\x2c\x9a\x6a\xee\xaf\x57\x78\x87\xbe\x0c\x81\xdd\x1d\x50\x50\xf8\xb8\xde\xd3\xb0\x14\xa1\x1a\x49\xfb\x60\x25\xf6\x61\xa3\x70\xcb\x3e\x48\x5c\x86\x2a\x4d\x6f\x10\xa6\xc0\xfb\x3e\x81\x77\xa6\x35\x25\xb5\xee\x8b\x8d\x99\x02\xb0\xde\x29\xe1\x47\x2d\x20\x9b\x58\xa7\x5b\x6f\x41\x63\x01\x26\x07\x30\xdd\xd0\x2b\x31\x37\x04\x67\x4d\xad\xcb\xd1\x5a\x4f\x36\xe7\xfb\x5b\xe9\xa0\x57\x47\x32\xdf\xaa\x77\x7c\x94\xe5\xab\x1e\x0d\x79\x01\x1b\xe5\x06\x39\xf0\xa9\x28\x0b\x84\xf2\x12\x61\x94\xa0\x27\xc6\x44\x5c\xfc\xf2\xbe\xba\x55\x40\xb6\xfd\xd6\xb1\x6b\x01\x21\x0e\x8c\xae\x45\x20\xc4\x31\x2d\x11\x79\xee\x6e\x2f\x94\x39\x2a\xeb\x28\x75\x52\xb4\x08\x6c\xc3\x3e\xa3\x68\x2f\xc9\x3a\x32\x9b\x10\xfc\xaa\x17\x50\x05\xf4\x45\xd9\xa7\x91\x51\xf6\x06\x83\xa4\x92\xb2\xdd\xbe\x78\xc3\xbf\xa9\xbc\xf8\x50\xf2\xca\xec\xff\x94\xf6\x1a\xd3\x7c\x90\x97\x4d\xa2\xfa\x55\x1f\x7d\xb9\xf6\x54\xdd\x14\xca\x39\x4d\x81\x9e\x5d\x9a\x3e\x64\x99\xcb\xf6\x29\x68\x91\xe2\xed\x01\xaf\x7d\xf0\x27\xfe\x42\x92\x11\x43\x81\x81\xec\xc1\x8d\xde\x43\x92\xb0\xf6\x75\xa9\xb8\x20\xae\xa7\x8a\x18\x61\x2a\x43\xfd\x73\x57\xf2\x88\x8e\x4e\xb6\x31\xa9\x05\x2a\x63\xfe\x83\xff\xad\xa0\xf7\x2a\x64\xe4\xeb\x3e\x17\x22\x7f\xd0\x77\x12\x76\x22\x02\x44\xcd\xba\x16\xbc\xca\x1b\xb0\xcf\x92\x15\x8c\x1d\x5d\xc0\xfb\x6a\x6d\xa4\x0e\x40\x52\x79\x7a\x1a\x88\x54\xb8\x27\x2b\xe7\xd3\x80\xeb\x86\x19\x35\x5f\x8f\xfa\xe0\xd9\xdc\xf6\x96\x9d\x35\xca\x49\x88\xd7\xaf\x51\xfc\x69\xcc\xfe\x0c\x10\xad\xee\x9a\x41\x51\xd9\x59\x46\xb9\xa3\x7e\x39\x0f\xfc\x40\x42\xec\x62\x08\x33\x42\xc7\x72\x66\x6f\x70\x09\x21\x0b\xa4\x06\x10\xa0\x84\xe4\x74\x8d\x7b\xc2\x2f\x9d\x2f\xc1\x7b\x9e\xaf\xee\xc8\xe1\xcc\x22\xa0\x00\xa9\xee\x43\x0d\x42\xf1\x14\x71\x25\x75\x7f\x92\x28\x06\xde\x88\xc6\x8d\xf4\xb8\x91\xaf\x04\xc6\xe7\x4b\x3a\x55\x5e\x99\xd5\x9f\x89\x96\xb2\x0f\xf6\x7a\xef\xa8\x66\x66\xb7\x4e\xd6\x50\x4b\x2c\xee\x7f\x5c\xe2\xe3\xc6\x28\x13\xe3\x52\xed\xbe\xf0\x08\xcc\x2d\x64\x06\xe7\x0e\xeb\xb4\xc8\x83\x23\x4a\x86\xd1\xec\xd3\x08\x70\x05\xf5\x5e\x4d\xce\x34\x3b\x4a\x80\xce\xeb\x90\xb3\xf6\xf5\x42\xe0\x15\x96\x4f\x2f\xe4\x87\xbc\x5e\x69\x82\x14\xa4\xde\x0b\x98\xba\x3e\xbd\xd0\xed\x47\x57\xe2\x31\xbf\xf7\x4a\xcd\x97\x8a\x56\xef\xd6\xf4\x8f\x3e\x12\x0f\xf9\xbd\x17\x82\xa7\x65\x12\x44\x9c\x2d\x7c\x45\x85\x68\xc2\x08\x31\x04\xef\xec\x85\x74\x3c\x60\xba\x2d\xee\x18\x92\x45\x43\x07\x08\x4f\x44\x10\xa8\x44\x9c\xfa\x70\x9b\x0d\x83\x00\xc0\x12\x94\x30\xe4\xd4\x2d\xb8\xcd\xa8\x1b\x08\xa1\x78\xfc\x8b\x1f\xa0\x91\x9a\x7d\x4d\xc4\x3c\xcd\x4c\x18\xa2\xbc\x96\xf3\x61\x46\x7a\x14\x41\xa0\x55\x7b\xa5\xbc\xfc\x21\x33\x84\x86\xb0\x06\x32\x73\x46\x31\x1f\x3c\x48\x61\x12\x01\xb3\xaf\x19\x24\x37\xdd\xca\xfd\x56\x01\xde\x24\xd0\xe7\x8b\x0e\xff\x92\x4d\x95\xf2\xb0\x21\x88\xc4\xa9\x06\xf1\xb4\xa9\xdb\xd2\x3b\x8a\x86\xc7\xb6\xf4\x96\x93\xd9\xb8\xfb\xef\x18\xdd\x2d\x69\x9e\xf7\x89\xaa\x25\xf3\x23\xa6\xb6\xad\x21\xf5\x35\x4b\xec\x21\x6a\xf5\xae\x59\xce\x5d\xfc\xab\x40\x7f\x52\x86\xa4\x69\x1d\xa1\x46\x37\xb6\xef\xfe\x69\x9d\x1b\xfa\x98\x9f\x6f\x68\x6e\x3f\x7e\xb6\xa1\x4c\xfb\x7c\x83\x95\xfa\xba\xc1\xcd\x34\xcd\xea\x2e\x8e\x95\x5b\x94\x62\xb8\x7f\x83\x66\x7d\x7f\xf3\x35\x11\xce\x83\x6f\x8f\xcd\x2d\x36\x17\x5f\x7b\x47\x1a\x3f\xdc\xda\xa4\x24\x35\x6c\x0d\x14\xfc\xf3\xd6\x3e\x7d\xba\xc7\x51\xa5\x6d\xbc\x20\x31\xe9\xc8\xa5\x4e\xb7\x9a\x3e\x6e\x2e\xe7\xe6\x06\xd7\xcf\x6d\xde\x9f\xec\x00\xfb\x63\x4c\xee\xd0\x5f\x77\xd0\x3a\xdd\x1c\x9a\x3e\xa8\x56\x9f\x5e\x6f\x77\x7f\xe5\xe2\x8f\x05\x47\xfb\xb1\xa9\x72\x8b\xfb\x47\xc3\x7e\xb0\xa5\x97\xf2\xf1\x74\xd7\xd9\x66\x6e\x3f\xd8\x12\x0f\xf1\xd9\xe9\x44\x2d\xff\x68\x93\x4d\xf9\xd1\x09\x87\x24\xc9\x65\xde\xdd\x5b\x3c\xdf\xb3\x1f\x8b\x3d\xfb\x88\x47\xcb\xa3\xbe\x9c\xf6\xc6\x67\xfb\x6c\x13\x9f\xed\x69\xcb\x77\xcf\xf6\xe9\x16\x3e\xdb\xa7\xa7\xe3\xb3\x7d\xbe\xc9\x7c\x8d\xec\xf9\xee\xf7\xdf\x47\xfc\x7e\xf5\xdb\xd8\x61\xa8\x46\x0f\xfe\x7e\x4b\xeb\xe5\x07\x5b\xaa\xb6\x1f\x6c\xb1\x3e\x6e\x3f\xd8\xa4\x96\x5f\xb7\xf8\xf8\xd7\xf6\x20\x10\xf7\xb9\x87\x49\xc4\xe9\xce\x70\x30\xbe\xe9\x4c\xfc\xf3\xc0\x76\x3d\x2b\x91\x99\x72\x9f\x7a\x9c\xbe\x86\x5c\xc5\xde\xd7\x2f\x2c\x4e\xe3\x8e\xe0\xe4\xa9\x6e\xf4\x96\x16\x85\x0e\x72\x31\x95\x9e\x54\xe2\xd4\x12\xea\xf8\x57\xe3\xc7\x19\x42\x5b\xa7\xca\x21\xeb\x00\x90\x83\xbd\xc0\x26\x6a\xa9\xca\x6d\x5d\x6c\x03\x5e\xba\xd9\x8e\xb2\x44\x5f\x9e\xa8\x2c\x4d\x2a\xdf\x06\x8a\x7a\xd4\x08\x48\x23\xa6\xc2\x8c\xd9\x22\xe8\x7c\x40\xac\x1a\x64\x34\x08\x70\x01\x6a\xe3\x3e\x14\x2c\x71\x3b\xa0\x46\x7c\x70\x0f\xbd\x22\x59\xc8\x18\x99\x45\x65\x33\xd0\x79\x16\xa4\x4b\x0c\xd2\x5d\xc0\xf6\xb2\xda\x66\x39\xd5\xb1\x53\xdd\x4b\x85\x80\x21\xba\x62\xa1\x2d\x06\x97\x0d\xff\xe6\xc4\x64\x7a\x49\x85\x68\xc7\x93\xa4\x95\xc8\x6c\xc2\x67\x10\xaa\xba\x21\xc8\xb7\x58\x39\x59\x68\xea\x97\xe8\x8a\x9a\x5f\x5d\xcf\x9f\x55\xad\x8f\xe6\xfe\x42\x39\x73\x4c\x9d\xa0\x48\xa6\x9c\xf1\xbe\x03\xed\x3a\x25\xdc\x3d\x8a\xff\x62\x8f\xf8\x76\xc4\xc6\xe3\x3c\xe0\x38\xcf\x12\xda\x6e\x15\x1c\x7e\x71\x7e\xff\x9d\xe7\x23\xf6\x8e\xa0\x98\x79\x11\x01\x4d\xf6\x37\xb1\x74\xfe\xa0\xc7\x63\x2f\x1e\xc7\x6b\xcb\x94\xab\x7a\x4b\x4c\x8a\xaf\x84\x2c\x0a\x46\x7a\x90\x87\x10\xf0\xd8\xbe\x05\xd5\xe0\xba\xc8\x30\xbd\x9d\x90\x7d\xe6\x4d\xe5\x4a\xbe\xfa\xee\xf7\x38\x4b\x89\xb0\x1e\x4e\x71\xed\xb8\x16\x93\x1d\x2c\x2e\x58\x6f\x85\xb2\x55\xb8\xce\x7d\x91\x26\x6b\xaf\xe5\x2e\xa8\xd8\xf2\x13\xe8\x79\xf8\xd3\xc1\xf5\x4c\xd8\xc6\xe1\xd7\x8d\x7e\xf5\x66\x5f\xd2\x8b\xf2\x53\xaa\xd1\x62\x39\x4d\xd4\x81\xb6\x99\x21\x22\x1e\x29\xea\x6a\x4c\xf1\x1f\x58\x6b\xb4\x94\xb3\x5e\xa1\x9f\x0a\x29\x64\xda\x47\x0d\xb0\x64\xe4\x71\x59\xcb\xec\xc3\x4e\xfb\x09\xe3\xec\xc1\xec\xe6\xf3\x68\x63\x89\x82\x68\x3b\xa1\x5e\x12\x1c\x67\xd4\xac\xd5\x50\x6c\xef\xb1\xaf\xb5\xf3\xf0\xe0\x33\x70\x1f\x83\xa9\xc1\x7a\x4d\x2c\xc7\xc2\x2a\xcc\x0f\xb7\x88\x85\x5a\x6b\x3e\xb4\xf9\x73\xd8\x4e\x29\x79\xcd\x23\x0a\x4b\xdd\xf7\x03\xdb\x58\x4d\x05\x21\xe9\x01\x6a\xc3\xa4\xe5\x50\x4d\x80\x93\x22\x2d\xc8\x2c\x75\x3e\x49\xc7\x28\x29\x10\x89\x3d\x14\xd1\xf4\x3d\x14\xcb\x51\x61\x12\x49\x6d\xf5\x76\x21\xe6\x11\xe1\x55\x12\x9c\x60\xce\xa9\x40\xd9\xc0\xed\x38\x27\x99\x42\xa7\xa0\x92\xdc\x2e\x59\x91\xc3\x0a\x8b\x50\xdb\x2e\xc1\xaf\xcf\xe8\x3f\x8c\xca\x40\x78\x83\x4b\x5d\xae\x12\x31\x46\x84\x11\x8d\x0e\xe4\x1b\x71\x67\xa1\x75\x29\x76\x3b\x05\x8d\x8b\x3d\xec\x59\x28\x52\x34\x39\xf3\xb7\x50\x0c\xde\xa1\xc7\xb2\xb4\x28\x1f\x3a\x98\x93\x27\x0e\x31\x53\x7e\x86\xc9\x5b\x62\x61\xcf\xef\x0f\x73\xff\x2c\x11\xa8\x2c\xd4\x00\xf7\x3c\x60\x25\xfd\xa0\x36\xf7\x7e\x22\x61\x73\x8f\xe2\xc3\x45\x79\xfd\x5c\xf6\x05\xae\x73\xe0\x92\xe3\x2a\xa3\x9c\xc0\x8f\xb3\xc8\xeb\x4a\xb5\xd0\x8c\xaf\xec\x15\x21\x6f\x77\x0a\xe0\x55\x06\xf0\x05\xf8\xe9\xd2\xf6\x3a\x13\xa0\x89\x3d\x70\xcc\x32\x14\x79\x88\xdd\xa7\x8c\x9c\x0c\xec\xd4\x41\x05\xc3\x10\x68\x70\x65\x77\xb8\xba\xad\xed\xde\xb7\x18\xe6\x90\x2f\x87\xe2\x6b\x90\xe3\x85\x94\x55\x5a\xbb\x78\xcc\xdd\x49\x24\xfa\x1b\x82\x52\xa8\xbb\x67\x2d\x3e\xab\x96\x59\xf6\xfc\xfd\xb6\x83\xc4\x3f\xac\xd7\x5f\x60\x1e\x47\x99\xf3\x53\x39\xff\xd3\xf6\x23\x3e\xf8\xeb\xfa\x5c\x93\xad\x2d\x7d\xd8\x78\x3c\x09\xcb\xa1\x78\xda\xf7\x7b\x55\x9c\x6b\x25\xa7\xfc\x67\x0a\xb2\x6f\x8f\x6a\xf8\xa7\x0a\xf9\xa7\xa3\x1e\x27\x8b\xf0\xd5\x9f\xba\xcc\x1f\xba\x0a\xd9\x27\xc6\xb8\x2f\x95\xf4\x1b\x88\xa2\xb4\xb4\x04\x21\xae\x10\x1d\xeb\x26\x78\x39\xdd\xb7\xb4\x90\x9b\x90\xb8\x59\x37\x23\x10\xab\xa5\x1d\x74\xc6\xfb\x31\x61\x94\x75\x6a\x7e\xa8\xf6\x2d\x6c\xc4\x05\x15\x75\xf1\x19\xef\x05\x59\xd3\xcf\x00\x19\xac\x60\x10\x61\xfc\x06\xfc\x04\xa8\x98\xa1\x25\x82\x34\x4b\x4f\x43\x2d\x8a\x8a\x7e\x07\xa2\x83\x54\xe6\x2c\x31\xc2\x89\x02\x09\x2c\x27\x3c\x3b\xe4\xcb\xbf\xd5\x83\xe5\xa2\x28\xa4\xfa\x16\xac\xf2\xab\xa8\xbb\xed\x2f\x4f\xf4\xd5\xe0\x78\x49\x34\xcb\x2b\x57\xeb\xf3\xe0\x18\xf9\x07\x83\xe3\x6c\xb2\x0d\x88\xe1\x45\x4a\xbb\xeb\xb4\xdf\x35\x52\x74\x1a\x8f\x82\xb0\x6c\x54\x80\x7e\xba\x6f\x3c\x14\x39\x49\xd0\x68\x33\x4e\xfe\x18\x28\xd8\x18\xdb\xf8\xff\xff\x8e\x8e\xff\x8e\x8e\x3f\x37\x3a\x5e\x8a\x11\xe4\xa5\x48\xfe\xb9\x18\x41\x34\xf5\x36\xb6\xa6\xe6\x8b\x54\xdd\x16\xcb\x39\xb5\xe6\xbe\xde\xc5\x15\xbc\x94\xcd\xca\x4c\xbd\xeb\xba\xb4\x39\xde\xdf\xaa\x8d\x34\x66\xdb\x34\x17\x22\x00\xb5\xe9\xb6\x28\x24\xb3\x46\x59\x8d\x01\x08\x71\x7f\xda\x70\xea\xc7\x09\xdb\x30\x3f\x74\x6d\xc3\x8f\xb8\x8e\xef\xa8\xed\x90\x8c\x6d\x56\x1a\xcf\x76\x9e\x1b\x42\x8f\x70\xfa\x75\x03\x55\xb7\xf7\x21\xea\x43\x21\xf1\x57\x24\xaa\x10\xb0\xba\x6f\xcb\x44\xa1\x5f\x3e\x25\xad\xf5\x2c\x94\x85\x28\x73\xd2\x7c\xe3\x2e\xb1\x47\x0b\xd8\x45\x40\x50\x2d\xf9\xe9\x70\x1d\x5c\x66\xf8\x74\x50\x25\x29\x7c\x71\x0d\x18\x1b\x60\x7a\x5f\xbd\x8b\x17\x84\xaf\xfc\xac\x58\x56\x06\x2a\x77\xe7\x7e\x4e\x01\x89\xf3\x83\xcf\x50\x48\x30\x80\xdb\x70\x82\xb9\x09\xd2\x8f\xc3\xa8\x00\x39\x2c\xa4\xbb\xe7\x63\xc9\xe6\xbc\xf2\xb2\xd7\xfc\x4f\xdc\xeb\xf6\x17\x4f\xe6\x8d\xe3\x6d\x33\x21\x8a\xc9\x9d\x37\x1c\xfa\x59\x53\xfe\x27\x6d\xbf\xfd\x78\x87\xf7\x37\xb5\x0e\xad\x8a\xdf\xff\xd4\x8a\xb3\xea\x0f\x4f\xca\x22\x85\x72\xc7\xea\xa5\xe2\x66\x2b\x00\x55\x58\xf0\x7a\x62\x48\x25\x63\x1c\x6c\x3e\xdd\xd5\x71\xd7\x49\x4b\xcf\x8d\x38\xad\xed\xfa\x5c\x3e\x7c\x81\x2d\xa8\x73\xe2\xa8\xa5\x8e\xdd\x58\x4a\x52\xf2\x69\x70\x77\xc6\x1f\x82\xee\xd3\xa4\xdc\xb8\x88\xfa\xad\x8e\x9f\xdc\xf0\x0f\x1f\xe8\x7f\xe9\x88\xf8\xab\x7d\x1d\x7b\xd1\x36\x10\x48\xb5\x7a\x13\x20\x09\x1d\x9f\xa7\xc1\xbf\x3e\xbe\x54\xd1\x87\x6d\xff\xd5\x9c\xf5\x9a\x41\xbf\x8a\x8c\x6b\x6f\x29\x6f\x13\x38\x6e\x9f\x41\x71\x4d\x4a\xb3\x94\xf7\xb7\x61\x9a\xf2\xc6\xbf\x32\x7f\x5e\x5a\xc1\x7e\xb8\x2e\x6a\x94\x25\x4b\xde\x29\x48\x5f\x20\x30\x9f\x13\xe1\x32\x63\x5f\x7a\x3e\x19\x60\x7c\x12\x44\x25\x14\x2b\xe4\xa0\x35\x98\xc8\x45\x2a\x33\x48\x62\x26\x2a\xc8\xa3\xf2\x71\x80\x71\x97\xb8\x98\xb6\x2b\x16\x86\x42\x82\xcb\xb4\x18\xb5\x12\xda\xb9\xe2\x52\xc5\xdc\xf7\x7d\xe8\x44\xf6\xf3\x93\xf5\x71\x94\xe7\x94\x7e\x00\xbb\x74\x83\xdc\x95\xd0\x27\x0e\x81\x2d\x82\x0f\xa3\x76\xbc\x1c\xf4\xf6\x03\x5f\x58\xc9\x71\x7c\x58\xa0\x3f\x51\xb0\x4e\x3a\x1c\xe4\x2a\xaf\x13\xf8\x5e\xab\xaf\x31\x00\x88\x44\xf5\xf9\xb9\x1b\xed\x01\x16\xbb\xe3\x60\x3b\x31\xa4\xf0\x7f\x15\x78\x95\x33\xd0\xa0\xbc\x93\xa8\x61\x1f\x7e\x9f\xac\x16\x43\xc5\xdc\x31\x93\x14\x3c\x93\x74\x3c\xa2\x7f\xa4\xeb\x81\x95\x0d\xd2\xd1\x1e\x72\xfe\xda\xdc\x03\xd6\x34\x53\x49\x48\x43\x83\xb4\x81\x29\x45\xd4\x4e\x74\x54\x2b\xe6\x03\x65\x02\x4b\x9b\xeb\x32\x40\xc5\xac\x41\xb9\x53\x52\x9b\x87\xef\x25\xd3\xcd\xcb\x26\xc1\xc2\x3e\xdc\x90\xa1\xab\x6c\x6c\x04\x70\xd2\x3c\x28\xc2\x90\x39\xeb\x05\x0b\x79\x4e\xaa\x79\x55\x9f\xa6\x54\x81\x72\x50\x30\xa2\x22\xc4\x9c\x08\x48\xf3\x4b\x95\xb8\x24\xca\xd9\x6b\x4f\x3e\xcb\xcc\xb9\x4b\x4f\x4d\x89\x8c\x13\x2b\x84\xe6\x88\x94\xdd\x34\x59\x4f\xbd\x25\xeb\x04\x36\x83\x09\x4a\x8e\xc7\x87\xc9\x8d\x1f\x4f\xd1\x38\x6a\xfd\x17\xbd\x22\xb4\x25\x42\xb4\x62\x65\xc7\xbc\x56\x14\x57\x5e\xe6\x3c\x65\xc3\xd1\x38\xb3\xed\x3d\xa4\x77\x89\x40\xf0\x27\xda\x20\xba\xa7\x5a\xf7\xc6\x7a\x62\x86\x34\xc0\xb0\x76\xe2\x2f\x10\xb5\x41\x71\x1d\x50\x19\x28\x82\xfe\x92\x59\xa4\xe6\x17\x1c\xbc\xbc\x90\x05\x3f\x31\x4d\xa8\x65\x49\x35\x67\x92\x6b\x65\x3b\x85\xfa\xc8\xeb\x36\x2f\x72\x0c\x09\x7e\x31\x04\xd8\x66\x44\x18\xc9\x3c\xee\x86\x0b\x39\x03\x45\x11\xbd\x23\x29\x18\xba\x03\x34\xb8\x18\xfc\x66\x34\x4c\xd8\x11\x61\xa9\x75\x81\xd4\x1c\x07\x71\xb0\xfb\x7b\x9b\x1d\x10\x96\xd6\xc2\x52\xf8\xce\x60\x4d\x30\x18\x07\xf6\x50\xa8\x31\x5d\x9b\x1b\xa5\x7f\x98\x2b\xe1\xf6\xfb\xc8\x12\x50\x85\x80\x82\x15\xed\x9b\x96\x04\xb2\x6e\x35\xd0\x97\x2d\xd0\x89\x92\x4c\xc9\x8c\x2f\x1c\x02\xef\xb3\x1d\xf2\x04\x98\xd0\x31\x97\x30\xe8\x6e\xde\xce\x9d\xa1\xfe\x19\xbc\xe4\xd6\xbe\xd5\x15\x04\x1c\xf2\x3d\xd1\x02\xe3\x68\x65\x9e\x22\xb9\x25\x55\x9f\x0a\x4a\x42\x85\x5f\xb2\x71\x14\x4b\x52\x57\xad\xf6\x81\x71\x01\x58\xb8\x5c\x6f\x10\x56\xf5\x31\x10\x6b\x6a\xc3\xdd\x7d\xea\x6a\x3c\x87\x77\x5e\xfd\xa8\x3e\x37\xd4\xec\x48\x57\x00\xe7\x9a\x21\x7d\x6d\x6d\x27\x6e\xbb\x25\x85\x27\x17\x13\x1f\xea\xf8\x80\x87\x2e\x25\xd8\x5f\x7e\x40\x3f\x12\x94\x27\x41\xe9\x51\x49\x69\x32\xa8\x43\x93\x9a\xa1\x80\x5c\x7b\xdf\x21\xea\x81\x02\x9c\x24\xf6\x25\xeb\xc9\xed\xa4\xfb\x78\xc8\xfb\x9c\x10\xee\x67\xfa\x8f\xe3\x3b\x66\x92\x7f\x27\x31\xc9\x57\xc3\xfc\xb5\x64\xe5\x97\x07\x21\x5d\x1e\xf4\xea\x51\x0d\x1b\xd0\xe0\x60\xc9\x29\x3e\x17\x1d\x64\x68\x2f\xfe\xa4\x21\x84\x10\x80\x7f\xcc\xc4\xfc\xae\xa4\xfb\xf3\x43\xc6\x29\x2a\x8b\xd3\xec\xc0\x30\x9b\x25\xe0\x54\xa7\x84\x5c\x02\xd4\x65\x39\x9c\xb0\xcc\x79\xa7\xaa\x89\xa2\x83\xc1\xd6\x07\x06\xda\x90\x9e\x64\x60\xbc\x8c\x90\x81\x5e\xb4\x21\x84\x1b\x9c\x9d\xa7\xa2\x5c\xe4\x57\xc8\x47\x50\x42\x0d\xe4\xdb\x99\x51\x63\x59\xf4\xc2\xa9\x49\x6f\xbb\x91\x20\xb0\x87\x67\xdd\x31\xb7\x1e\x01\x01\x47\x05\x47\x8e\x9c\xa1\x12\x8f\x2e\x39\xbe\x49\x8e\x8d\x5a\xb1\xbf\x99\x1f\xfd\xff\xb3\xf7\x6e\x3b\x92\x2b\xcb\x92\xd8\x7b\x7e\x45\xfc\x40\x34\xc2\x3d\xee\xd0\xbb\xde\xfa\x1b\x84\x91\x74\x06\x29\x80\x18\x80\x10\x27\x1f\xea\xeb\x05\x37\x73\x32\x59\xcd\xaa\xca\xea\xb5\x7b\xed\xb3\xcf\x68\x03\x6b\x75\xb1\x8a\xf7\x60\x5c\xfc\x66\x66\xe0\xa0\xd4\xbe\x27\x11\xcc\xac\x18\xce\xa1\xac\xdd\xe5\x9f\xf1\x50\xa7\x67\xc5\x1c\x98\x28\x84\x47\x26\x42\xbe\x77\x60\xfa\x02\x34\x8b\x36\x62\x9b\xfd\x07\xe7\xd5\x86\x84\xad\xc2\x28\xea\x05\xa9\xf1\xbe\xfe\xdb\xc0\x21\xdb\xae\x38\x76\x8a\x40\xf4\x43\x87\x6d\xcc\x06\x7e\xf0\xdb\x67\x23\xb5\x15\xec\xff\x6c\xb7\xa2\xee\xfe\x32\x7b\x3d\xe0\x7c\x7f\x3c\xb3\x3d\x78\x39\x50\xea\x5f\x42\x40\x77\xdb\x09\xdc\xca\x27\xb1\xa0\xa9\xae\xb0\x92\x38\x00\x7c\xad\xa3\x50\x8f\x2f\x32\xad\x3e\x7f\xe1\x76\xab\x87\xce\xd4\x69\xf3\x79\xc4\x6d\x3b\x9f\x7a\xba\xe6\xab\x51\x74\xad\x83\xb9\xa0\x37\xde\x31\xad\x8e\x04\x6a\xa4\x9c\x20\xba\x1b\xdb\xde\x5d\xb1\x5a\x82\x00\x16\x60\xed\xb2\x44\x06\x55\x80\xad\x18\xd4\xf2\xc5\x84\x38\xc0\x06\x2e\xc3\x0e\x28\xa1\x25\x05\x7d\x0b\x91\x41\xe9\x9e\xdb\x74\xd1\x67\x2c\xa7\xe8\x7d\xea\xf6\xa3\x4d\xe2\x3a\x84\x75\xf5\xad\xf5\xb5\x51\x22\x9c\x7d\x1c\x69\x9c\x4c\x4c\x11\xf4\xb6\x37\x5b\x0f\x6c\xbe\x6c\xa1\x8c\xba\xc0\x1c\x61\x44\xc3\xa6\x25\x28\x24\x56\x27\x45\x9f\x4e\xba\x56\xea\x2e\x1b\x93\xd2\x3d\xe6\x66\x93\x96\x0d\x27\x94\x16\x0e\x04\x4a\x90\x2a\x01\x21\x07\xd0\xd8\xc4\x60\x56\x5a\x3b\x65\xaf\x69\x2e\x19\x20\x90\x16\xda\x68\x6b\x6c\xa8\xf2\x22\x9d\xf4\x41\xfc\x8a\x8d\x5d\x34\xdc\x2c\x0e\xbc\x61\x14\x04\x05\x5b\xb9\xc7\xa2\xd9\x6b\x51\xab\x3f\x55\x4e\xc0\x75\x81\x0f\xb8\x87\x5c\xca\x96\xab\x04\xd1\xb2\x02\x50\x2b\x4c\x75\x51\xe1\x1d\xc5\xad\x63\x9b\x4f\xae\xc4\x0e\x88\x94\xd9\x70\xb9\x99\x41\xd7\x7c\x2f\x76\xda\xf1\x75\x6c\xbc\x04\x8a\x18\x58\x38\x99\x61\x90\x28\x7c\x00\x6b\xb0\xf2\xf5\xac\xfc\xf8\x8f\xff\xf1\x3f\xff\xdf\x5f\x3b\x94\x5e\x58\x90\x4f\x34\x15\xe0\x1f\x74\x2c\x93\x97\x71\xb1\xe2\x99\xc4\x89\xd9\x99\x37\x47\x07\x8e\xce\x4c\x47\x2d\x1f\xa0\x17\x3f\x93\xcc\x52\x2d\x0f\x70\x3b\x7d\xb8\xf7\x43\xc4\xa4\x6a\x71\x3a\xa8\x6f\x68\x64\xd9\xf5\xb1\xa4\xa1\xac\x14\x85\x10\xb2\x13\xfc\xca\x68\x41\xd5\x6c\x39\xe0\x79\xa6\xde\x56\x28\x0a\x17\x16\xca\x69\x99\x48\xa3\xc9\x18\x1b\x33\x9c\x63\xac\xd2\x91\x74\xcb\x60\x54\x28\x9b\x66\xd7\x32\x01\x20\x26\x21\xae\x38\xf6\xe6\x32\xab\xee\x1d\x37\xd7\x3b\xe2\xa8\x33\x31\xd6\xd9\xbc\x7b\x67\xf7\xbd\xa7\xcf\x7a\x4f\xed\xf5\x7d\xe6\xa9\x2a\x97\xdc\xb9\xea\x73\x29\xee\x0a\xd0\xef\x87\x16\x56\x91\x4f\xf0\xba\x1f\x7f\x9a\xa6\x4b\xcc\x03\x64\x4d\x79\x05\xc3\x9a\xc0\x96\x69\xa8\xa6\x5d\x77\x25\x58\x67\xe7\x70\x79\x40\x98\xc6\xa3\xd8\x07\x29\x54\x00\x77\xc1\xc4\x58\x7c\x99\xcf\x07\x79\xb3\x20\x94\x90\x79\x16\x4e\xc2\xb5\x78\xa9\xd3\xe6\xbe\x7b\x3f\xfe\x79\x8d\xdb\x6a\x26\x9d\x8d\x1c\xb8\xa9\x6d\xb1\xe7\xcd\x43\xef\x51\x21\xac\xf9\xba\x4f\x15\xe8\x3e\x9a\xe9\xfd\x8e\x10\xec\x0f\x7d\xca\xed\xd3\x2e\xf3\xea\x23\x5f\xb2\xb2\x7a\x29\x11\x3e\x0d\xec\x91\x21\xbc\x92\x56\x4c\xaa\x5d\x83\x2b\x95\xd1\x0b\x22\x30\x3f\x27\x4f\x13\xbf\x1c\xf9\x92\xf5\x3e\xdb\x6f\x0c\x7c\x68\xe5\xfd\x4e\xdf\x9a\xed\xdb\xc2\x78\xd0\x66\xd6\x35\xaa\x74\x32\xc8\x30\xe1\x3f\x48\xbc\xc5\xd7\xc0\x5b\x38\x69\x10\x5e\x16\xef\xea\x72\x6d\x68\x03\x73\x1d\x6b\x00\x19\xb5\x0e\x10\xc7\x44\xb0\x6c\xe4\x3d\x46\xa2\xcd\x57\xc0\xbb\xad\x89\x80\xca\x02\x94\x01\x7c\xbe\xd9\x57\x02\xb7\xbf\xcb\x06\x6e\x85\x56\xf1\x13\x65\xea\x29\x48\x97\x75\xd8\xba\x93\xbb\x2d\xab\x0d\xd4\x3b\xce\x50\xc2\x45\x27\xef\x41\x16\x28\x88\x21\xbf\x83\x27\x89\xda\x33\xfb\x1f\xb2\x38\xdf\xee\x81\xb7\x7f\x42\x17\xbc\xe4\x3e\xf5\x28\xda\xa5\x08\x45\x4d\xd7\x29\x7a\x7c\x3c\xf5\xd8\xdf\xbf\xdf\x3d\x24\x97\x25\x6a\x45\x71\x4c\xdd\xa7\x9e\xf1\x6e\xea\xf9\x67\x77\xe2\xdb\x9f\xe9\xc5\xd0\x65\xc5\xca\x95\x4e\x2b\xd7\x31\xd3\xd1\x79\x73\x59\x5a\x50\x9b\x36\x9b\xdc\xd0\x83\xcc\x03\x05\x31\x33\xaa\x94\xcc\x71\x1c\xde\xc4\xf0\x62\xf2\xa2\xd5\xbc\x81\x72\x77\xbd\xa2\xeb\x43\xfd\xab\x76\xb4\x4b\x1a\x51\x2f\x65\x7e\xbf\x5a\xc5\xff\xee\x7b\x7f\x64\x06\xfd\x75\x02\x55\xa0\xe4\x9b\xad\xa7\x4b\xac\x1a\x2a\xca\xc4\x05\x65\x4e\x6b\x9c\x0e\xd9\xd5\xdd\x05\xd1\x4c\x29\x8c\x62\xae\xf8\x1e\x60\x3f\xa4\x7d\xb7\xdd\x53\x45\x5d\x38\xa2\x4b\x88\xbb\x20\x43\x90\xbf\x65\x25\xde\x76\x5b\x64\x78\x51\xd1\xbb\xbc\xb7\x99\x70\xdf\x6e\x62\x41\x61\x3c\x3c\xa8\xbe\x0c\x84\x5b\x26\x34\x37\x94\x61\x68\x3b\x0c\xca\xbe\x70\x9d\x56\xea\x19\x7b\x35\x9d\x1c\x5e\x3f\x5e\x87\x59\xa0\xb9\x54\x24\x9a\xd6\xbd\x7b\xe4\xca\xa2\xc1\xc3\x18\xf9\xc6\x80\x1c\x59\x3f\x1e\x90\xb7\xff\x4c\xe3\xe3\x92\x4b\xd6\x4b\x75\xe6\x7b\xe5\xb0\x14\x24\xa5\xce\xa0\x2e\x24\xf3\x59\x38\x01\x8a\x17\x80\x44\xcc\x32\xa7\xb5\x1e\xa1\x23\xf3\xcf\x73\x2e\x90\x90\xfa\x5b\x9c\x92\xdb\x5f\xf0\x4a\xcc\x30\x50\xb3\x26\x30\x06\x33\xb2\xa0\x99\x3a\x72\x10\xcf\xb4\x7d\x2a\x21\x9b\x7d\x30\xcb\x2a\x5d\x50\xc5\x67\xbf\xcf\xb2\x82\xaa\xc1\x3c\x16\x17\xd6\x43\x0d\x38\x2f\x15\x71\xad\xb7\x9f\x63\x92\x2b\x09\x19\xdb\x0c\xce\x8b\x90\x05\x36\x36\x36\x1c\x3f\x48\x35\x11\xdb\xb2\x9d\xfb\xc6\x41\xc6\xbc\xc7\x4b\x65\x00\xb5\x08\xd8\x20\xc0\x93\xb5\x84\x3c\x05\x1a\x52\xb0\x00\xf0\x2b\x3d\x67\x40\x12\xf7\x13\xce\x31\xf0\xdf\xec\x9b\xf4\x52\x45\x87\xb7\x6a\x46\x2d\x23\x14\x17\xc1\x02\x60\xd3\x3a\x64\x90\x2b\x02\x97\xec\x4b\x55\xd4\x01\x6c\xac\xa3\xf8\x4b\x96\xfc\x21\x9c\x00\xfd\xc1\xda\x01\x97\x64\x06\xd0\x36\xfc\xc5\x19\xf5\xdd\xff\xb2\x22\x82\x81\x2c\x10\xce\x79\x35\xb4\x2e\x29\x4f\xbd\x56\x5b\x4e\x3d\x1c\xf6\x9d\x82\xe4\x9f\xb1\xd6\xf5\x86\x40\xb1\xa7\x86\x54\xca\x46\xc4\x43\xe9\x2b\x25\xde\x00\x13\x85\xa0\x83\xa8\x35\x1c\xf8\x0b\xda\xea\xaa\x9a\xd3\x17\xc3\x30\xd2\x16\x95\x35\xc2\x88\x47\x49\x0f\x8d\x8b\x26\xb5\x3f\xc0\x0a\x46\xba\x50\x21\x85\xd5\x74\x12\x9f\xa0\x39\xdd\x6c\x5a\xce\x35\xf4\x11\xb4\x2a\x9d\x76\x14\x50\x6b\x19\x10\x68\x7d\xda\x3f\x1e\x92\xdd\x79\xd1\xbf\x65\x03\xfd\x33\x1a\xd2\xe6\xff\x0e\x62\x35\x1b\xa2\x2b\xda\x6d\x86\xcc\x22\x82\xf2\xe9\x33\xde\x4e\xeb\x02\x0c\x6c\xd2\xda\xa2\xa2\x08\x88\x0c\x20\x45\x20\x75\xda\x77\xda\x3d\xd6\xb8\xcf\x1d\xa9\x58\x50\x10\x81\xd2\xf6\x1a\xec\x28\x3b\x08\x20\x69\xe0\xe7\x74\xec\xb4\xbc\xc0\x16\x0a\x61\x73\x9b\x76\xc0\xfc\xe6\x1a\xa9\xdf\x92\x59\xfb\x6c\x9f\xd5\xbe\x44\x26\x61\x1b\x90\xb5\xcd\x25\xdd\x84\xc9\x45\x7e\xbd\xbc\x79\xd5\x78\xcf\xdf\x18\xfa\xf6\x72\x83\xf5\x14\xb7\xaf\x47\x2a\x3c\xba\x41\xdd\x63\x7b\xce\x68\x0f\x6a\xcf\x89\x2c\x53\xb0\x71\x47\x7b\x4c\x76\xee\x2e\x3e\x6a\xcc\x60\xfb\xc0\xc3\x82\x9d\x42\x53\xd8\x89\xf4\x67\xf6\xf8\x4f\xec\x2f\xb8\x76\xaa\x5c\x52\x9b\xfa\x25\xeb\x31\xca\x0e\xff\x49\x76\xe9\x97\x63\x15\x35\x09\x64\x61\x62\xab\x27\x1b\xad\x9e\x77\xe9\x2b\x08\x3a\x28\x30\x95\x66\x98\x3e\x44\xc1\x90\xc0\x39\x35\x7f\xdf\x82\xbd\xfd\x53\x63\x00\x80\xb9\xf7\x23\xfd\xeb\xaa\x0a\xa3\x07\xa7\x63\x46\xb0\x37\x27\x88\xa9\x82\x36\x06\x88\x80\xac\x2c\x90\x20\x57\x60\xf1\x70\x6b\x2e\xa1\x20\x7d\x9e\x56\x29\x0d\x04\xfa\x9a\xc2\xec\xab\x42\xc7\xe7\xa5\x11\x77\x1e\xad\xb6\xe8\x62\x2d\xf8\x6b\x8b\xee\x79\x5c\x7e\x15\x66\x5c\x85\x61\x85\x77\xab\x72\x3f\x56\xe5\xed\xb4\x1c\xcb\xef\x2d\xc7\xbe\x76\xbe\x74\x0d\x6f\x5f\x2f\x9e\xfd\xcb\xc5\x73\x3b\x2f\x9a\xf2\x3b\x8b\xe6\x25\xf9\xa8\xf3\x6f\x8b\x78\x92\x6a\x46\xca\xc2\x80\x4f\x49\x2b\xdd\x1e\x3f\xdf\x7e\xe8\x02\x62\xdd\xd2\xe0\x12\x4d\xa7\xdd\xc5\xb5\x51\xdf\x0d\xce\x83\x05\x03\xaa\xcf\xbf\x21\x72\x7a\xfb\x13\xa1\xd3\x5f\x23\xa7\x7d\x04\xf0\x31\x58\x73\x82\xc8\x0d\xe9\x66\x8c\xc1\x19\x54\x97\xd2\x42\x69\xeb\xb4\x51\xa9\x61\xc2\x5d\x9a\x8b\x80\x36\xa4\x2b\x08\x7a\x54\xf2\xdf\x1c\x77\xfd\x67\x04\x23\x2e\x29\x3a\xbd\xd4\xd1\x9e\x02\xaf\xad\xa4\x30\xa6\xae\x8a\x69\xa9\x84\x73\x1c\x60\x3b\x87\x08\x0e\x9a\x75\x4f\x2e\x58\x6f\xf1\x74\x43\xf4\x04\x04\x21\x58\xb0\x75\x3d\x43\xb1\xc5\x3d\x67\x11\xf7\x2c\x06\xab\x5c\x00\xb2\xa5\x47\xb1\xed\x3e\xc6\xe1\x76\xd8\x5c\xf9\x19\x67\xe6\xf5\x43\x48\x4b\x0f\x69\xe6\xd4\x5a\x27\x56\x8a\x58\x4e\x92\xb9\x4d\x24\xcb\x26\xba\x3b\x7b\x3b\xfa\xbb\xea\xcd\xfa\x44\x5e\x34\x29\x48\x9c\x3e\x28\x99\xb4\x5d\xd1\xf6\xfd\xe6\xe8\x99\x1a\xa0\x94\xd6\xea\x27\xd4\x99\x9f\xfa\xf7\x2d\x61\xd9\x62\xaf\x42\x35\xc9\xdf\x10\xd0\xbf\xfd\xe5\x8e\xa5\x17\x30\xab\x5e\x94\xef\xcf\xd6\xc4\x4c\x12\x9a\xca\x0e\xe1\x78\x0f\x31\x58\x58\x6f\xa4\xe6\x10\x1d\x51\x19\x2f\x30\xe0\x96\xa4\x25\x96\xca\x1a\x22\x34\x3f\x42\x1d\x00\x08\xe2\xe7\x82\x95\x66\x54\xf0\x24\xfe\x25\x07\x99\x31\x25\x90\xd7\x75\xef\xf1\x1e\x5b\xda\xdc\x11\x60\x70\x69\x45\xbf\x47\x09\x53\x83\x1c\x9d\x8a\x19\xfa\x0d\xd8\xe0\x4c\x5e\x73\x41\x75\x47\x50\xce\x6e\xa0\x7f\x1b\xba\x69\x99\xce\x6a\x01\x7a\x9b\x00\x26\x21\xeb\xf7\x9b\x02\xd1\x31\x1a\xf5\x62\xd1\xf3\xef\x92\xf5\xc1\xd7\x78\xd7\xbf\xdb\x47\x41\x06\x7b\x01\x9d\x65\x89\xde\x0a\x9f\x35\x12\x5b\xd0\xe3\x44\x2c\xdb\xd8\xdb\x99\xfd\xec\x8f\x75\xb3\xdb\x1f\x9a\xbf\xf4\x9a\x1d\xbc\x8a\xf7\xff\xc5\x8c\x70\x93\x4f\xf8\x79\x3f\xec\x24\x76\xf4\x77\x62\x8e\xb6\x14\x7e\x6b\xc5\xda\xce\xcb\xe1\xb1\x48\x1e\xeb\xe6\x69\x35\x3d\xc5\x31\xfe\x95\xe2\x6a\x7a\x4d\xea\x5d\x15\xf9\x4f\xdf\xc6\x7c\xc0\x0a\x4e\xb0\x93\x34\xd4\x9f\x7a\xd6\xcf\x72\xd6\x1e\x7f\xe1\x7d\xff\x93\x32\xbc\xb7\xbf\xf6\xd5\x5f\xb4\xfe\x35\x9f\xf5\x59\xf1\xcd\xd7\xd7\xb9\xa6\x2b\xfe\xfb\x5f\xba\xce\x25\xca\x9a\xd3\xd3\xaa\xad\x42\xab\x16\x35\x7d\x10\xd7\xde\x45\x64\x6c\x95\x6b\xed\x22\xf0\x92\x28\xf0\x92\xa7\x3c\xea\xac\x77\x99\x73\xc9\x60\xf0\xba\x47\xd5\xf9\x90\xe2\xd2\x23\x4a\xf1\x4b\x72\x62\xe8\x58\x44\x35\xc8\x03\xa4\xf9\x2d\x63\x0e\xec\x23\x98\x99\x41\xe9\x16\xf5\xea\xf3\xe4\x8c\xf6\x51\xb5\x3d\xa2\x74\xb9\x47\x4d\xe9\x11\xed\x06\xd8\xa8\xa0\xef\xcb\x75\x2f\x43\x6c\xe9\x29\xbb\xf3\xf0\x27\x7e\x0a\xbf\x24\x0a\xbf\xb4\x57\xb0\x26\xbd\xc4\xcb\xf2\x57\x05\x2e\x29\xcc\x0c\xd8\xb6\x23\xe8\x5d\xf1\xd3\x51\xfc\xac\x1b\x44\x70\x31\x6f\x36\xa4\xfa\xd8\x60\xc2\x30\x86\x9f\x02\x16\xd5\x46\x0a\x43\xd4\x06\x67\x17\xe4\xd0\xd1\x77\xe2\x63\xac\xc7\xd0\xa3\x44\x3e\xb8\x43\x58\x16\xe1\x13\x4e\x6d\x0c\x44\x59\xd7\x9f\xce\xb6\xea\x84\xd6\x08\xa5\xe8\x06\x00\xc2\xa0\x99\x95\x27\x25\x3c\x44\x28\x7b\x8d\x8e\x3e\xa1\x73\x8a\x08\x85\x6c\xa8\xa2\xb3\x9f\xe6\xd4\x93\x3b\xd0\x8c\xa7\x7e\x88\xe8\x0e\x33\x4a\x16\xcc\xc9\x66\xc3\x41\x6d\x17\xb0\xef\x4e\x85\x07\xc4\x18\xa6\x52\x7e\x44\x21\x80\x0d\x08\xbb\x62\x2a\xae\x66\xbf\x65\x84\x0c\x5a\xa5\x3a\x4b\xb3\xf6\x1b\x39\x80\x25\xad\x6d\x92\x35\xf4\xbc\x36\xf3\x89\xe7\x0e\x69\x27\x17\x15\x31\xf8\xe0\x88\x42\x92\xdc\x3c\x3c\x16\x9d\x75\x2f\x06\x65\x63\x14\x2a\xd2\xed\xe5\x98\xd4\x32\x50\xeb\x1d\x60\x36\x6c\x63\xab\x2d\xcc\x0a\xea\x6c\xa6\x62\x6c\x51\x10\x28\x0f\xce\xc9\x35\x02\x00\x00\xa8\xda\x29\x43\x3c\x0a\x7a\x81\xd9\xa8\x43\x94\x08\xe9\xc7\x73\x51\xa7\x5d\x32\x75\x78\x9c\x90\xa5\x04\x71\x8a\xf0\x4d\x3b\xd3\xf7\x7d\x9f\x53\x1c\xea\xe0\xc5\x11\x08\x6a\x86\xd8\xf3\x46\x3c\x7d\x5d\x23\x05\x4b\x7a\xc8\x6b\xb4\x61\xe9\xc5\x85\xa1\x36\xe8\x2a\x4d\xae\x94\x34\x0f\x40\xe7\x45\xf5\xef\x57\x3d\xfb\x12\x5d\xca\x47\x19\xcf\x1c\x76\x75\x25\xe6\x82\xbc\x11\xa5\x6c\x83\x5c\x34\x79\x85\xba\x0c\x52\x2d\x98\x05\x50\x4f\x00\xa1\x14\x32\xdd\x4e\xeb\x31\x47\x59\x23\xec\x70\x86\xed\x48\x44\x33\x53\x68\xe6\xdf\x0d\x7e\x9e\x9e\x9c\x85\xac\x0c\x5a\x42\x4e\x65\x87\x72\xf9\x59\x1e\x63\xcd\x61\x4a\x00\x57\xde\x58\xb5\x98\xfb\x07\x26\xda\x15\xe5\xea\xd6\x5c\x3f\x08\x3c\x46\x84\x62\x1e\x75\x0f\x1c\x6c\x98\x32\xba\xcb\x09\xa7\xc0\x7a\x52\xcc\x64\xfd\xd0\xd7\x27\x1f\x45\x75\x29\x35\xd2\x54\xb6\x5d\x1a\x1a\x41\xab\xd5\xbe\x66\xcf\xe8\x37\x90\xaf\xa9\x8d\x42\xd7\xa8\x98\x33\x0f\x84\xfa\x33\xf6\x2f\xa5\x8e\x6a\x71\x79\x71\x0d\x14\x02\xed\x03\x08\x0e\x81\x08\x90\x42\x55\xa5\xa6\x4d\xa1\x80\x22\xb9\x6c\xd6\x61\xf0\xdb\x56\x7d\x3f\x84\x9b\x7d\xeb\xb9\x37\x3e\x4f\x89\xc7\x65\x7c\x2b\x62\x93\xa2\x2a\x38\x00\xbd\xd0\xcf\xab\x00\x22\xe7\x5d\x2b\xc2\x63\xa8\xb9\x8d\x85\xe9\x8c\x9c\x6f\x8b\x16\x0d\xbd\x63\x36\x82\xe2\x4d\xf6\x11\xc4\xc7\x97\x22\x65\x15\x94\xbb\x2a\x44\x3c\x6c\xe6\x57\xe7\xd9\x6e\xb2\x09\x78\xd0\x30\x42\xb1\x1c\x30\xac\x7e\xda\x3c\x1d\x10\x4f\xe7\xc5\xe3\x6a\x6b\x94\xc9\x50\x51\xab\xc1\xec\xe3\x02\xdb\x3e\x97\xc5\x96\x83\x92\x60\x28\x8f\x20\xa0\x2e\xb6\x39\x76\x90\x24\x23\xdb\x12\xc5\x9b\xd8\x3d\x78\x0b\xde\xc1\x6e\xc0\xeb\xb7\x17\x8c\xaa\x55\x2f\x71\x9e\x7c\x2d\x7a\x7a\x57\x08\x00\xac\x82\xd9\x49\x8e\x42\xb3\x2d\x02\xc0\x1c\x1b\xf6\xc9\xce\x36\x5b\x10\x44\xcd\x0b\xc7\xbc\x93\xd5\x2b\x7f\x44\xfb\x09\x4c\xd9\xd8\xfc\x87\xff\x95\xc7\xe0\x04\xde\xc3\x8c\xa5\x2f\x6e\xc2\xb0\xde\x3f\x74\x13\x3c\xab\x4a\xbb\xfd\xa3\x17\xea\x13\x02\x8e\x28\xd0\x06\xa6\x42\x51\x77\x6d\x1b\xbe\x77\x2f\xef\xfe\x78\x2f\xc5\x44\x3e\xd8\xfd\xe2\xab\x5e\x22\x2a\xf9\x2b\x8d\xec\x9e\x0a\xd4\x87\xc1\xa6\x93\x8e\x6c\x2a\x57\x48\xfc\x08\xf8\xd3\x76\xde\x3e\x1f\xb4\xa7\x99\x1d\xdd\xc6\x4c\x74\x97\xe7\xe9\xfb\x6f\xe7\x03\x9d\x35\x00\xc5\xd6\xd5\x27\x5e\x67\x25\xfe\x51\x3d\xb6\xae\x28\xed\x60\xae\x05\x58\x90\xfd\xaf\xbb\xbc\x25\x40\x42\xb9\xea\xc3\xfe\xf9\xfa\x28\x99\x14\x41\xdb\x1d\x77\x88\x10\xe3\x58\xdc\x26\x57\xc5\x95\x7e\x3d\xe6\x74\x08\x1f\x44\x72\xd8\xff\xb2\xed\x07\xd9\x1b\x3c\xf8\x04\x1f\xee\x96\xf9\xd5\x0b\xe6\xaa\x2c\x9b\xf7\xf4\x44\x55\x08\x62\xcc\xb4\x4d\xc8\x80\x10\x88\xab\x79\xc0\xae\xa1\xb6\xbd\x2d\x37\x35\xbd\x00\xe5\xd5\x1c\x9e\xb8\x3b\x29\x41\xd2\xf4\xaa\xbb\x04\xa1\xf0\x92\xb1\xd4\x6d\x4d\xc3\x90\x0d\xcb\x3b\xa9\x81\x08\x64\x4c\x5c\x5b\x48\x66\xbf\x76\x70\x59\x07\xa9\x14\x74\x92\x53\x1e\x3c\x1d\xdb\xdc\xc4\x21\xa8\xa9\x02\xc5\x32\x98\xe9\xfb\x0e\xc7\xb1\xe9\x6d\x36\x33\x91\x6d\x71\xc7\x42\xcf\xd7\x04\x53\x7c\x9c\x09\x5f\xfc\x45\x0f\xcf\x97\xd0\x4e\xfe\x8a\xa7\xec\x3f\xad\x87\xf7\x21\x21\x6b\x5a\xa0\x63\xa3\x65\xae\x88\xbf\x61\xed\x39\x7a\x2b\x03\x74\x02\x48\x51\x7e\x1f\xa2\x3b\xfb\xf8\x0b\xc4\x70\xb4\xf8\x06\xae\xb6\x1f\x9b\x79\xac\x77\x5c\x84\xc4\x21\xde\xda\x6e\xa7\x08\xe2\x33\x4c\xb3\xbc\xbb\x92\x5f\x88\x47\x65\xef\xc2\x41\x75\xf1\x6b\x1c\x11\xe8\x53\x54\xe7\x78\xa1\xfd\x52\x3c\x28\xdb\x41\xec\xe7\x88\x55\xef\xef\x74\xbc\xf5\xfb\x68\x06\xe6\xf3\x8c\x06\x8a\x32\x90\xef\x16\x08\xfb\x1d\xff\xcf\x5d\xdb\x0e\xbf\xec\xe8\x7f\x12\x4d\x67\xa7\x6a\xfb\x68\x10\xdc\xbe\x3d\x0a\x7e\x6f\x10\x30\xc3\xa2\xca\x0a\x76\x51\xdd\x32\xe0\xae\xfa\xae\xa7\xab\x79\x1f\xe6\x0e\x34\xd7\x0c\xec\xd4\xec\x43\xfa\x38\xa3\x82\xc9\xde\xaa\xf0\xad\x5e\x08\x63\xd6\x7c\x89\x2f\xe5\xaf\x98\xdb\xb4\xba\xb8\x77\xd7\x4f\x32\x34\x65\x00\x16\xf4\x00\xb8\x92\x2c\xb0\xd8\x24\x01\x00\xf2\x37\xbf\xd4\x7d\xc9\x27\x97\xea\xc9\x0b\xaa\xc8\xc0\x83\x62\xaf\x6e\x2e\x90\x6c\xf8\xa0\xbd\xf2\x67\xb4\x8d\x8e\xb0\x96\x6c\xfb\xcf\x7d\x87\x1f\xc8\xf3\x9c\x91\xaf\xf6\xe6\x81\xf3\x3a\xc3\xbb\x11\x7a\x1e\xbb\x77\x7b\x80\xdb\xc7\x74\x56\x5c\x36\xcd\x56\x78\xd5\xbc\x97\x10\x51\x3e\x64\xa5\x59\x0c\x52\x73\x5b\xa0\x9b\x85\xa6\x13\x04\xcb\xa7\x82\xd6\x04\xac\xd7\x00\xdf\x67\x9d\xfe\xe7\x02\xbd\x1b\xfb\xfc\x23\x2b\xb7\x46\xe6\xdf\x6d\x09\xb1\x23\x71\x1a\x41\x9f\xbd\xe0\x8f\x32\x95\xf7\xb0\x5b\x68\x6d\x4b\x46\x75\x5c\x1b\xf7\xdc\x07\x7e\x81\x80\x55\x6d\x6f\x3f\x7b\x83\x08\xf5\x62\xd6\x20\xbf\x9b\xbc\xf2\xe9\xf3\x25\x10\x93\xc7\xb3\xb0\x78\x0c\xbc\xe3\x7b\x79\x6e\xd2\x1c\xe7\x3d\x00\x61\xeb\xd4\xf0\x64\x33\xd8\x1f\xd4\xa3\x40\x90\xec\xc4\xf6\xec\x2e\x1a\x91\x74\x85\x06\x48\x0d\x80\x22\xd9\x01\xf6\x57\x33\xd5\x50\xbb\xa2\x0c\x4d\x07\x4d\xdb\x08\xb9\x32\x93\x05\x89\xd2\x41\x7d\x18\x5c\x6f\x9a\x9f\x4f\x34\x92\xea\x83\xf7\x46\xb6\x26\x3f\x65\x0f\xf8\xac\x13\x35\xe4\x25\xb1\x69\x6c\xad\x1d\xe6\x9c\xda\xec\x53\x9b\x79\xba\x82\xd0\xb7\xff\xe4\x9f\x6f\xdc\x88\x95\x7b\xec\x97\x6d\xff\xe9\x3b\xde\x7e\x4a\x2e\xc5\xda\xfd\x61\xe3\x29\x92\x90\xc1\x61\xbb\x2f\x7b\xd5\x25\x64\x95\xe7\xff\x8a\x2d\xae\x63\x04\xd5\xb2\x82\x60\x5b\x24\x87\xd2\xb7\xd2\x6d\x0b\x64\x3c\xf8\xc9\x3f\xdf\xb8\x11\x4b\xc7\x1e\xd0\x14\xee\x3f\x7d\xc7\x1b\x16\xea\xa3\xc1\x6b\x29\x6c\xef\x5a\x8a\x2d\x15\xe5\xbb\xb7\xfa\xce\x9d\x00\xa1\x7d\xde\xaa\x37\xbf\x55\x7f\x39\x96\xae\x41\xc4\x6b\xba\xf2\xe9\x32\xd5\x69\x8f\x46\x96\x5f\x8a\xe7\x6a\xdd\x65\x9e\x48\x8e\x95\x19\x21\x66\xde\x86\x69\x9b\x1c\xc6\x12\x4b\xab\x41\x33\x17\x3b\xd9\xe9\x13\x33\x7d\x63\x33\xb0\xcc\x61\x7f\x88\x00\xda\x67\xab\x4f\x0a\xb9\x6c\x3a\x83\x78\xfa\x05\x81\xa1\xba\x54\xd4\x1c\x51\x6c\x2a\xa3\x82\xe7\xed\x67\x33\x43\x2e\x49\x59\x2a\xd4\x5b\x5b\x5b\xa2\x6d\x69\x6b\x8f\x96\xd2\x0e\x1a\x9c\x10\x20\xab\xe5\x78\xe8\x83\x6b\x11\xc5\x3e\x04\xec\xf6\x20\x79\x89\xa5\x48\x50\xc5\x99\x63\xda\xfb\xc2\x77\xb2\x25\x5a\xc9\x4b\x5b\x88\xe3\xcd\x2e\x7f\xea\xa2\xb7\x33\x41\x33\x26\x6b\x09\x55\x3b\x2a\x35\xa1\x3d\xa7\x7b\x99\x71\x0b\xb1\x2d\x15\xf4\x61\x3d\xad\xe6\xd9\x87\x12\xe2\xcb\x4f\x74\x0d\x61\x1e\x2c\x27\x23\xcd\x50\xb3\x2e\xda\x5a\x28\x73\xda\xb0\x56\x17\xf3\xc9\xe2\xe9\xb5\xe2\x58\x4e\x9b\x93\x8b\x06\x4c\xcd\x40\xaa\xdb\x2c\x60\xd6\x5c\xb3\x4e\x34\xf3\x23\x66\x2d\x77\x49\xf2\xc8\x32\x76\xf5\xb2\x93\xfe\x23\xd6\xd6\x83\x6b\xfd\xd5\x43\x5f\xa3\x53\x57\x5a\x07\x9d\xcd\xdf\xa3\x20\x20\x90\x27\x34\x81\x59\x03\xeb\x44\x22\x30\x9c\x94\x7a\x1c\x15\x96\x16\x68\x2c\x08\xc4\x1c\xce\x44\xbb\x46\x08\xd5\x95\x14\x6a\x35\xa7\x35\x43\xba\x0a\x35\x3a\x2c\xbe\x56\x46\x84\xc0\xba\x3d\x79\x27\xe8\x1d\xe1\x9b\x90\xb0\x64\xf8\x6d\x78\x97\xe3\x26\x28\x12\xc4\x3d\x28\xb8\x87\x12\xa1\xba\x33\x82\x66\x88\x56\x04\x4a\x70\x7a\x9d\xf7\xe9\x5e\x0d\xb9\xfa\x15\xb3\x1a\x29\x8b\x42\xac\x4f\xa1\x98\x22\x3f\xea\x6d\x25\xc7\x42\x18\x0a\x2e\xe4\xdc\x29\xef\x4b\xa6\xe6\x46\x96\x13\x72\x7d\x22\x18\x56\x81\x01\x2a\x98\xe8\x58\x92\xc6\xd2\x25\x5c\xbb\xe3\xbe\x05\x85\x41\x89\x82\x57\xda\x89\x76\xa5\xde\x68\xef\x1e\x45\x8d\x7e\xd7\xe8\xb7\x8d\xef\xee\x7b\xba\xed\xe9\xae\xb8\x69\x73\xe2\xbd\xad\xed\xb7\x13\xd4\xaf\xa7\x59\xee\xb2\x9a\x61\x08\x2e\x61\x04\xdd\xec\xde\x03\x23\x97\x9e\x94\xdd\x7c\xba\xd8\x18\x72\x0f\xdd\x73\x0f\xc8\x43\xec\xfe\xd3\x48\xa1\x50\x53\xd5\x8c\x06\x4c\x2c\x88\xe4\x15\x08\x9f\x93\x3d\x17\xc5\x7a\xe0\x92\x78\x2e\x8e\x36\xfd\xb0\x4a\x06\xd1\xb2\x63\x6b\xdf\x69\xb3\x24\x84\xce\x6d\x60\xcc\x19\x58\xfa\xc8\xaa\x2e\x26\xbe\xbc\xb0\x0f\x0c\xbb\xda\x43\x4b\x61\xa8\x07\x89\x81\x6d\xa7\x96\x88\xba\x34\xed\x46\xd5\x83\x6e\xcd\xb7\xeb\x62\x93\x85\x19\x44\x75\x79\x1d\x64\x57\x80\x80\x88\xde\xac\xc3\x99\xe1\x03\xea\x05\x71\x08\x72\x79\xfa\x61\x1e\x9e\x76\xb2\x5f\x40\xe9\x73\x5f\xa9\xdd\x04\x41\x1c\xf6\xae\xd6\xa8\x58\x1f\xdb\xe8\xfb\xec\x6b\x6e\x20\x49\x45\x8a\xec\xfa\xa3\xad\xba\x50\xaf\xb9\x29\x10\x7e\xb4\x67\x9e\xae\xf3\xe0\xfb\xa8\x2f\x8b\x8e\xdd\x43\xa1\x7e\x7b\xe6\x23\x17\x5d\x1b\x66\x61\x09\xb2\xa2\x5a\x36\x14\x09\x10\x7d\x0f\x3a\x83\x39\xf5\x00\xc8\xd2\x99\x28\xab\xfd\x0d\x6c\x42\x00\x66\xd8\xc4\x6d\x6e\xce\xcd\xc6\xa1\x28\x28\xe8\xa4\xad\xb9\x5a\x0f\x82\xde\x37\x10\xe6\x94\xca\x9c\x0f\xd4\x7d\xd2\xe1\x19\x41\x59\x20\x6a\x9e\x74\x27\x43\x83\xd9\x97\x03\x2b\xca\xb4\x33\x52\x18\xb2\x4a\x0d\x4d\xc3\xcc\x61\xda\x0b\x08\xc8\x96\x20\x34\x98\x99\xa2\x02\xf3\x40\xf7\xc8\xb2\x75\xbf\xbb\xe4\xd5\x86\x54\x65\x36\x2c\x73\x05\xa9\x08\xf8\x42\xed\x2a\xf9\x88\xdf\x37\x98\x07\x11\x98\x1a\x50\x21\xcc\x08\x9f\x4d\xb1\xee\x99\x42\x0b\x82\x64\x49\x53\x84\xd2\x49\x14\xe3\x2c\xbe\xb6\x9e\x75\x64\x16\xb2\x86\xec\xc4\x91\x61\xea\x16\x95\xd6\xbe\x19\x38\xa2\x2d\x4c\xbb\xf4\x44\x23\x59\x27\xe5\x0c\xa0\x5c\x98\xa8\xaa\xc6\xce\x56\x9c\x49\x52\x36\x0a\x1e\x3a\xa9\x8c\x53\x3f\x25\x8c\x34\x29\x81\x85\x2b\x6b\x19\x36\x88\xe7\x08\xe6\x49\x16\x54\xf5\xa2\xf4\x57\xca\x52\x7a\x28\x6d\x6d\x12\x6c\xcc\xb6\x0c\x6d\x73\x29\x35\xf4\x1c\x74\x68\x18\x94\x35\x1c\x54\x5b\x3c\xd6\xc4\xb2\xf1\x0d\x88\xda\x21\x69\xb3\x80\x90\x5d\xd2\x5a\x67\xf5\x77\x01\x83\xca\xbc\xad\x73\x40\x66\x09\x51\x68\x55\x5d\x91\x7c\x4e\xc1\x7c\xda\x79\x17\x08\x87\x0d\x16\x43\x54\x92\x52\x64\xca\x2d\x66\xf4\xf1\x45\x6c\xd1\xb7\xe7\x09\xd9\xe6\xf4\x0d\x32\x45\x6b\xcf\x88\x25\x4d\x28\xc9\x0d\x1b\x4d\x58\xe5\x38\x80\xb2\x3f\x20\x04\x8e\x30\xfd\xa9\x39\x2c\x5c\x9d\x9f\x93\x27\x98\x79\xcc\x0c\x58\x91\xe1\x50\x12\x9b\xd8\x6c\x43\xa9\x3c\x96\xa9\xf7\x15\xc3\x16\x24\x2e\xec\x10\xf8\xb9\x4a\xb0\xee\x3b\xf0\xed\x06\x02\xd6\xd9\x3a\x95\x7d\x76\xf4\xbe\x04\xd1\xd3\xdb\x86\xba\xac\xcc\x8e\xd7\x10\x69\xca\xe8\xa9\x71\xd6\x75\x52\x89\x32\xc4\xb1\xcb\xfc\x67\x4e\x05\x63\x6c\xd6\xdf\xa3\xe3\xa0\xa0\x69\xd7\x5d\x48\x0f\x72\x00\x21\x76\x88\xee\x48\x05\x61\xc2\x34\x17\xb6\xdb\x60\xd2\x15\xc1\x36\x1b\x63\x42\xcd\xbf\x09\x45\xac\xdc\x57\xa4\x76\x9a\x8d\xca\x98\x8b\x75\x12\x1b\x94\x23\x10\x9d\x24\x29\x00\x9b\xbd\x72\xb9\x08\xf0\xe9\x21\x10\x39\x38\x09\xbc\xfd\x94\x09\xc9\x7e\x92\xbe\x28\xc3\x33\xb5\xac\xc0\x74\x2b\x59\xec\x25\xeb\x6d\x75\xdf\xdf\xfa\x38\x5a\x1b\xc5\xfb\x73\x57\x27\x63\x43\x04\xe9\x1b\x97\xf6\x04\x56\x9b\x19\xa6\x56\x9b\x11\xcc\x28\x29\x4e\x76\x86\xb3\x99\x57\x00\x05\x79\xc3\x23\xdb\x3c\x00\x02\x31\x29\x01\x5a\x37\x6b\xcc\x54\x11\x97\x20\x90\xba\x89\x7d\x82\xd5\xc5\x39\x6d\xb0\x38\xd8\x70\xb1\x3b\xa9\xd9\x3c\x72\x90\x11\x95\x20\x6b\xc1\x88\xad\xa4\x1b\xca\x8e\xd7\x2d\x39\x64\xfb\xb6\xe6\x75\x05\xc9\x04\x53\x8a\x19\x90\x5a\x47\x18\x79\xae\x90\xc2\x20\x7b\x3f\x5e\x3b\x82\x70\xdb\xac\x85\xb2\x7a\x2a\x0b\xa9\xd1\xb4\xd1\xbc\xa5\x78\xa9\x4b\x4e\x92\x35\xc6\xd9\x6a\xb1\x89\xb4\x92\xce\x12\x7a\xee\x2b\xea\xe6\x25\x4c\x4f\x19\x4a\xb6\x11\x8a\xa6\x40\x4b\x6c\x1c\x74\xd6\x40\x8f\x84\xa8\x12\xe4\x8d\x83\xbd\x18\x27\xd7\x10\x3b\x29\x45\xda\xa1\x9e\x2e\xe8\x6f\x36\x37\x22\x9c\xff\xf6\xb3\x74\x09\x6d\x64\xeb\x24\xa2\x05\x83\x3e\x57\xd2\xf7\x95\x40\xe7\x7f\x2c\x1e\x7a\x78\x08\xa4\xef\xa2\x6b\xcb\x45\x99\x0d\xb6\x91\xb9\x24\x21\xe6\xb7\xdb\x4f\x29\xb9\x84\x56\xca\x3a\x28\xef\xdc\x9e\xdf\x90\xa4\x70\x40\x5b\xa0\xce\x22\x30\x40\x4c\x95\x78\x9b\x1d\x69\x4e\x68\xb2\x49\x7c\x10\x6b\x4d\x9e\x35\xd8\xac\x98\xab\x5a\x28\x4f\x2c\x0f\xca\x83\x29\x0d\x3c\xa7\x59\x2d\x98\x68\xb3\x53\x7f\xed\x95\x26\xfc\xc3\xa4\x24\x91\x1f\x65\x5b\xd8\x80\x90\x91\xa7\x83\x21\x4d\x69\xbf\x73\x72\xf0\x43\xcc\x47\x1e\x09\xea\x1d\xd0\x9e\x41\x17\x92\x90\xac\x29\x60\xb4\x07\xe6\x80\x9b\x4b\xa7\xc7\xd6\xf0\xdd\xa4\xc0\x87\xa4\xce\x3b\x79\x3a\x80\x19\x87\x62\xac\x84\x3c\xd9\xa7\x99\x78\xde\x9d\x1d\x7b\x37\xd1\x50\x4a\x87\xa6\xe7\x04\xd1\x0e\x0f\xb4\xb9\xa0\x84\x96\xed\xbe\x66\x4b\x44\x56\x14\x87\x08\x49\x58\x7c\x0d\xb3\x9c\x74\x33\x6b\x29\x83\xe7\xaf\x34\xa4\x38\x05\x92\xf7\x50\x2a\xb5\x9f\x92\xde\x7e\x76\x9b\xab\xb2\xe7\x76\xeb\x0c\x6e\x72\x8c\xc3\x0a\x45\x19\x95\x0d\x99\x81\x4a\x2b\x10\xf1\xa9\xac\x58\x92\x46\x98\x69\xb3\xa9\x3b\xe5\xdb\x1a\xdb\xe4\xbc\x04\x9d\xb3\xb7\x9f\x75\x9a\x41\x90\x80\xa6\x70\x40\x40\x6e\x08\x8c\x47\x31\x0f\x8a\xc1\x63\x2d\x69\x73\x0f\x5f\x6a\x81\xd2\x59\x31\x2b\x83\x22\xf4\x6d\x53\x34\x9d\x56\xeb\xd5\x19\x1c\x59\x39\xb9\x11\x11\xf6\x25\x19\xc6\xf8\x26\x01\x79\x8b\x47\x14\xf2\x80\x22\x79\xe0\x44\x4b\xe8\x51\x28\x76\x98\x09\x46\x2d\xcb\x0b\xc1\x4f\x36\xf0\x07\x1b\x28\x36\x68\xe0\x52\x46\xb2\x71\x81\x72\x0f\x74\x8c\xa4\x85\x99\x5b\x44\x93\xf4\xcd\xfc\x90\x7a\x0c\xd5\x72\x5b\x38\x29\xb3\x80\x29\x44\xf3\xa1\x94\x99\x6b\x17\x3e\x97\x7d\x83\x64\x01\x09\x77\x8a\x5c\x62\xf1\xd5\x90\x08\x4d\xce\xf4\xe4\xda\x82\x2c\x80\x03\x3d\x0d\x97\x18\x30\xf4\xf0\x4c\x7b\xc7\xe9\x8b\x40\xca\xb0\xce\x94\x0c\x59\x30\xe7\x0b\x28\xc5\x06\xec\x91\xea\xdc\x75\x99\x0c\x3b\x8d\xcd\x03\xf1\x8a\xd0\x2a\x69\xaa\x1a\x2b\x87\x05\xb6\x27\x3c\x16\x94\x20\x26\x44\x12\xc6\x8a\xb9\x35\x87\x4c\x6d\x65\xe4\x63\x6c\x12\x4c\x0c\x3d\xf7\x04\xcb\x9e\x9c\x7b\x72\xf4\x74\xd6\x66\xb0\xb8\x27\xef\x3a\x07\x98\xd2\x39\x73\x86\x38\xf3\x06\xbc\x5d\xd1\x15\x2c\xc4\x61\x96\xa0\x63\xab\x39\xf4\xf9\xf6\xb3\x4a\x0a\x35\x43\x65\x18\x84\x6c\xf6\x28\x73\x95\x09\xde\xae\x90\xa7\xd9\x75\x05\x95\x06\x55\x5d\x45\x3f\x88\xcd\xae\x34\x64\xa5\xb1\xc1\x8a\x6b\xfa\x32\x09\x81\xff\xca\x66\xff\xd6\x95\xb0\x33\x3a\x6e\x9d\x0b\xae\x7a\x0b\x66\x5f\x68\xd1\x6a\x08\xff\xdf\x23\x34\x50\x31\x31\x00\x1e\x05\xc6\x5b\xeb\xd7\x99\x70\x9f\x9f\xb5\x53\x0d\x73\xad\x99\x1c\x48\x62\xb6\x93\x7d\x99\x5a\xa0\xb7\x10\xcd\xf7\xb2\x99\x12\x2e\x10\x05\xdf\x1a\xd0\x0c\xd6\xa1\xb8\x1a\x9b\xcd\x58\xa9\xc2\xa7\x33\x94\x69\x6b\xe4\xa0\xcc\x46\x41\xdc\x6b\x8c\x7b\x44\x2f\x07\xd3\x26\xd5\x63\xc1\x8c\xd6\xd7\x12\xaa\x35\xa0\xb5\xc2\x0a\xbd\xf8\x90\x73\xe8\xb2\xe0\xb5\xd7\x1c\x7a\x87\x28\x6b\x5e\xf7\xe8\x59\x0a\xe6\x58\x99\xdb\x8f\xb7\xce\x19\x8b\x16\x52\x1a\xf0\x5d\xc1\x3c\x8a\x72\x2d\x10\x7f\xe1\xd2\x28\x88\x29\xac\xf4\x88\x79\x64\x6a\x5f\x82\x26\xc0\xe6\x0f\x70\x59\xf7\xf6\xf6\x53\x01\xd5\x9d\x69\xad\x81\xb8\x0c\xc2\x89\xd0\x2d\x00\xe2\x93\xa4\x41\x30\x30\xb3\xfb\x42\x54\xe6\xe8\xac\x67\x60\x47\xd2\xb9\x17\xb7\x87\x4c\x6f\x99\x16\x8f\xad\xcd\x7d\x92\x11\x6f\xac\xf6\xda\xc1\xba\x52\xd1\xcd\x7a\xd6\x7c\x05\xbe\xca\xd7\x5a\x80\x4b\xad\xe4\x89\x57\x52\x2a\x2a\x91\x59\x90\x34\x18\x34\x11\x69\x9b\x53\x3c\xa1\x2c\xa7\xf9\x14\x5d\xc8\xa9\xd6\xb6\x7d\xe3\xe0\x47\x2c\x5c\xfb\x9a\x5b\x9d\x7e\x11\x54\x8f\xf4\xfa\xfe\xf2\x9c\x85\xdb\x7e\xdd\xfd\x16\x7e\x03\xbf\xfc\xf3\xe2\xc7\xa5\x0f\x93\xf6\xb8\x84\x5d\x3e\xd9\x54\x3a\x57\x64\x69\x12\xab\xa0\x8e\xca\x29\xeb\x69\x43\x19\x07\x6e\x79\x03\x00\x93\x75\xd2\x9a\x92\x0b\xef\x28\xd2\xb0\x14\x87\x71\xd6\xd8\xcc\x6f\x45\xea\x56\x54\xe5\xd0\x5b\x65\x8a\xc3\xe5\xc3\xd1\x68\x1d\x9c\x90\xce\x08\x89\x25\xc4\x35\x93\xb0\x44\x96\xcd\xc5\x9c\x3a\x26\xbe\xe1\x4e\xae\xb7\x2c\x9f\x31\x52\xd6\x05\x04\xd2\xa3\xba\xfc\x8e\xba\x3a\xa0\x2d\xb1\x55\x28\x13\x24\x09\x3d\x42\x40\xcf\x32\xcb\x6e\x70\x8e\x4c\x55\xaf\x4a\xb6\xa6\x4d\x6c\xca\xf2\x5a\xd1\xca\x32\x26\x7e\x1f\xd9\xd0\xb5\xcd\x06\xb9\x6d\xe0\xc4\x44\x79\x39\x7d\xec\x2c\x25\x80\x61\xd0\x3c\x48\x1c\xe8\xa7\x10\x06\xe6\x6f\x85\xa4\x37\x2b\xe9\x50\x02\x89\x72\x3f\xfb\xa8\x4c\xe8\xd4\xd3\x4a\x9f\x50\x68\x81\x88\xa8\x5d\xe1\x55\x8f\xbd\xd6\x39\x7c\x45\xee\x36\x66\xb3\x29\x47\xed\xf9\x91\x06\xce\xa4\xc5\xdf\xa2\x3a\xa1\x5c\x3f\xa1\x65\xf9\x47\x84\x0f\xec\xc0\x6d\xff\xf9\x6e\xef\xbb\x13\xf7\xcb\x65\x50\xe2\xfb\x3e\xee\xe2\x49\x3c\xa7\xb5\x60\xd7\x89\xfb\xcf\xf3\xbe\x78\x3e\x29\xf2\x42\x04\xbb\x79\xbe\x00\xd4\x71\x36\x4a\xba\x6c\xf8\xdc\x87\x84\x96\x8e\xc6\x3e\x65\xe3\xc1\x37\x6e\xae\xbd\x65\xfb\xe2\x71\x78\xdc\x2f\x80\x0d\x94\x3c\x8e\xf6\x54\xd6\xc2\xc1\x5d\xec\x36\x9b\xff\xd8\xff\xbc\x1f\xc7\xf3\xde\x7e\x16\xaf\xb7\x81\x9d\x49\xdd\xf7\x47\x2c\xe4\xfe\xdb\x65\xe0\xa5\xdd\x23\x90\x84\xb4\x45\x5b\x90\xf6\xe0\x21\xd8\x0e\xd2\xee\x59\x77\x14\x7d\xfa\x82\x5a\x70\x8f\x81\xb1\x3c\xd6\x46\x49\xe1\xd8\x6e\x8f\x28\xf2\x19\x48\xf2\x63\x64\x27\x18\x87\x27\x90\x8d\xb8\x08\x68\x30\x3b\xb5\x8c\x3e\x63\x3e\xf4\xef\x00\xe0\x1b\xb5\x68\x5d\x6f\x29\xe5\x8d\xf0\x48\xa2\x24\x89\x90\xc0\xce\x2d\x9e\xb7\xdf\x1d\x14\x4f\x67\xfb\x36\x36\x79\x90\x1f\x03\x56\x3c\x9c\xfc\xdc\x3a\x1f\x70\x9c\xf7\xf6\xb3\x96\x12\xa6\x8e\x47\x9c\x0c\xbd\x23\xd5\x1f\x09\xc9\x88\xef\x30\x19\x73\x73\x30\xe8\x6a\x8b\x42\xf8\x90\x6e\xf1\x33\xb6\xc5\x13\xe0\xf4\x1b\x57\x37\x8f\x04\xef\xa0\xe0\x50\x2d\xd3\x5f\x11\xde\x39\x2a\x76\x81\x25\x29\x73\xe7\x9f\x9e\xfa\xa0\x7e\xc8\x55\xe8\x68\xcc\xf6\x59\xa2\xb7\xda\x02\xfc\x81\x4c\xd1\xdd\xce\xb9\xc8\x12\x7d\x3d\xa5\x94\x4b\x61\x49\x49\x5f\x2d\x82\x53\x29\x34\xf1\x40\xae\x36\x4a\x6b\xe5\x61\x5b\xb6\xe1\xb9\x6c\x24\x8d\x75\x90\x71\x13\x24\x0b\x28\xf3\x61\x5f\x75\x48\xc7\xbc\xdb\x34\x7e\x86\xe6\xc6\x49\xec\x56\xb6\x26\x4f\x1f\xb4\x39\x8e\xff\xa5\xd5\x75\x8c\xb7\x9f\xf6\x78\x61\x64\x3d\x68\x41\x3f\x57\x7e\x79\x00\xb3\xb6\x57\x14\x7b\x8a\x6c\x4f\x9e\xed\x8f\x44\xed\xdc\x3d\xb3\xc6\x4c\xdb\xed\xc1\x87\x6a\x2d\x78\xea\x8d\xfb\xf9\x54\x47\x86\x2e\x32\x45\x67\x27\xf3\x56\x5f\x10\x87\xbe\xf8\x2e\x97\x22\x88\x72\xa9\x4a\x3f\x93\x5e\x53\x71\x87\x9f\x42\x47\xda\x3f\x8f\x8e\x64\x56\x58\x6f\x40\xe0\x7c\xfe\x34\x7f\x67\xdb\xfd\xb5\xa6\xf3\xc7\x2e\xe5\x45\x47\xba\xfd\xb1\x9e\x74\x7f\x2d\x27\x50\x2e\xb5\x13\xe5\x2a\xd7\xfe\xf1\x57\x41\xe1\x23\x3e\xca\x98\xed\xdf\xdf\xe4\x0f\x7e\x93\x4b\xad\x47\xb9\x4a\x9d\x7f\xfc\x4d\x40\xdc\x83\x6f\x02\x72\x97\x7f\x7f\x93\x3f\xf6\x4d\x2e\xd5\x20\xe5\x5a\x90\x7b\xfa\x26\xff\x2b\x37\xfc\xe7\xed\x7e\xfb\x1b\x1a\xfe\x52\xac\x51\xae\x44\x77\x67\x6c\x66\xce\xa1\xcc\x8c\x28\x48\xe6\x93\xb7\xb9\xba\xf6\x14\x9c\xf9\x58\xd2\x3d\xe6\xa1\x8b\x26\xb1\x36\x68\xf0\xbe\xb5\x06\x67\x8a\x47\x4c\xaf\x52\x4f\x2c\x76\xcf\xc1\xbb\x83\x8e\x28\x77\x80\x4e\xf7\x94\x50\xaa\x2e\x31\x23\x58\x29\xfa\xab\x22\x0c\x22\x2f\xd4\x51\x63\xf2\xda\x1f\xa1\xce\x87\x13\x9e\x14\x66\xef\xe7\x2a\x1a\x6a\xc0\x71\x00\x5a\xf0\xfc\x57\xed\x72\xa9\x90\x28\x57\xbe\xb1\xa4\xe5\x20\x3b\x75\xc6\x87\x98\x5d\xca\x13\x8c\xcf\x66\xf6\x14\x69\x87\x56\x24\x3f\x7a\xac\xae\xeb\xa0\x25\xec\xc7\xdd\x5b\xf1\x23\x40\x39\xde\x59\x90\x34\x8a\x0b\xec\x89\x87\xaf\x23\x25\x6e\x4a\x03\xad\xb9\x1d\xdf\xca\xca\x5b\x66\x84\x60\xca\xa3\x96\xf2\xd4\xbe\xb1\x9f\x24\x9c\x00\x3c\xd9\x8f\x39\x9f\xcc\x5b\xed\x97\x5d\x91\x88\x28\x2d\xf8\xad\xcf\x8f\xf5\xaa\xc5\x2e\xe5\x19\xe5\x42\x23\x75\xae\xc2\x84\xae\xb0\x54\xf5\x36\xb1\xc6\x64\x3b\x61\x70\xe4\x51\x0e\x15\x9f\xe4\x8f\x60\x7f\x43\xcd\xa2\xbd\x5c\x52\x7f\x4d\x28\xae\x8d\x72\x08\x31\x25\x9c\xb7\x83\x0a\xde\xe1\x04\xf6\x16\x39\xb4\x80\x08\x97\xf8\x64\x9f\xb2\x36\xe0\xa4\x26\xb4\x1f\xe4\x95\xf9\xe9\x68\xe2\xe7\xd3\xfc\xfa\xcc\xbf\xbc\x9b\xe8\xb8\xdd\x69\x64\xc1\x32\xfe\xf4\xfa\x50\x6d\x9c\x8d\xef\xb1\x5b\x01\x2c\x48\xb5\x3f\x1d\x06\x02\x0a\x1e\x2b\xd2\xe1\x7a\x6f\x25\xb1\x5a\xcb\x36\xb8\x44\xa1\xe4\xc6\x96\x2f\xfc\x1d\x75\xf2\x47\xfb\x46\x76\x81\x57\x10\x98\x72\x09\x7b\x95\x2b\xe7\xd0\x3b\x39\x15\x94\xa8\xf9\x2b\x01\xf0\x72\xfd\xac\x78\xf8\xeb\x57\xdd\xff\x70\xdd\x65\xd7\xb9\x7e\x6f\xbb\xcc\xf9\x73\x9f\xda\x71\xbf\xd5\xb3\x27\xb0\xcb\xed\x68\x98\x5f\x7b\x02\xfc\xab\xbf\xd8\x4d\xb4\xb6\xdb\x87\x9f\xd1\x5a\xff\xfd\x63\xf9\xc9\x6f\x3f\x6d\x84\xd9\xae\xfd\x15\xde\xbd\xe4\x2f\x6d\xf4\xbe\x25\x71\xfa\x98\x9f\xf7\x4e\xac\x33\x9f\xee\x4c\xd4\x1f\xf9\xe5\x66\x47\x0b\x7e\xf0\xb1\xce\xc3\xeb\x7d\xbb\x7f\x63\x81\xb9\x84\xa0\xca\x7c\x47\xd9\xab\x63\x70\x92\x8c\x53\x07\x66\x72\x06\x34\x1d\x41\xd4\xc6\x43\x72\x71\xc4\x12\x71\x46\xd8\x79\xc7\x5f\x71\xb4\x23\x8b\x88\x33\x7a\xd8\x65\xee\x60\xd9\x79\x5e\xeb\x04\x47\xf2\xfc\x9f\x8d\xa4\x8c\x84\x79\x65\x6e\x07\x54\x82\x59\x17\x87\x90\x8f\xb2\x02\x47\x52\x5d\x9a\x24\xb6\xfa\xc8\xe3\x55\x25\x7a\xbd\x3a\xc7\xff\xed\x24\x49\x92\xbc\x1c\xb9\x8c\x87\xfd\xb3\x2a\x58\x1c\x50\x19\xb8\x73\x5f\xd8\x62\x25\xca\xd2\x18\x7b\x54\xc5\xdc\x7c\xb7\x46\xb2\xe9\xe0\x39\xb5\x24\x7c\x03\xda\x0f\xef\x5b\x66\xaf\xb3\xcb\x20\x35\x4d\x64\xd1\x28\x24\x63\x43\x4d\x00\x82\x5b\xed\xfc\xa6\x48\x28\x0f\x16\x59\x95\xb1\x51\x92\x3b\xed\x62\xa1\xff\xe8\x27\xb9\xbd\x6a\xb5\xab\xeb\x7a\xa5\x21\x39\x87\x14\xaa\x84\x9a\x9f\xca\x3c\x47\x85\xd5\x06\x70\x33\x19\x51\x91\x1d\xa1\x12\x5a\x54\x54\x1a\x3e\xc4\x06\x50\xcd\x66\x8f\x30\xb5\xae\x2b\xcb\xc1\x9e\x67\x6d\xcf\x8b\xa1\x54\x21\x87\x5e\xe5\x28\xef\x44\x61\x01\x8b\x3b\x91\xfd\x67\x6a\xc8\xf6\xdc\xa3\xe4\xf9\x10\x9d\x77\xc9\x73\x35\xa3\x74\x78\xe2\x0e\x90\x61\x64\xf0\x50\x4c\x15\x78\x32\xee\xc4\x1a\x9e\xb7\x9f\x5d\x47\xa8\xa3\x3f\x72\x82\xc8\x91\x0d\xbf\x44\x9c\x13\xb3\xe0\x71\x16\x92\x71\xa4\x4a\x69\x24\x22\x1e\x61\x38\x4c\x33\x78\x20\x6b\x01\x56\xb9\x1a\x28\xd4\x93\x89\x6e\x9e\x0b\xca\x12\xd6\x0c\xc0\x85\xfd\xab\x82\xd2\x5e\xd8\x46\xf9\x21\x92\x51\xb7\xc6\xd2\x86\x04\x03\x8e\x17\x67\xd1\xe4\x44\xac\xba\x49\x90\xa2\x9b\xff\xe0\x5f\x49\x97\xd5\x03\x4f\x1a\x0f\x7b\x02\x24\x19\x90\xcf\x4b\xc1\x55\x69\x52\x98\x10\x3d\x44\x09\x96\x28\x59\x17\xa9\x65\x25\x65\x8b\x42\xc0\x67\x4b\x0c\xc8\x5a\xe7\x24\x93\x6f\xdb\xf6\x9f\xfc\xfb\x6d\x7b\x1e\x7a\x9c\x8f\x67\x28\x94\xa6\x17\x9f\xf5\xaa\x80\x53\xa0\x84\x58\x5c\x9c\x07\x7c\x84\x79\xfe\xa8\x8f\xbc\xd6\x1e\x46\x18\x93\x9a\x33\x59\x43\x67\xa2\xa8\xa2\x70\x92\xe4\x46\xa9\x87\xdc\xec\xdb\x62\x71\x0e\x2c\x93\x2c\xf6\xf3\x1e\x4b\x45\x30\x2d\xdd\xcb\x94\xb5\x17\x48\x6e\x20\x8f\xdc\xf6\x6a\x8a\x89\xd4\x09\x96\xc0\xe7\x48\x75\xc8\x9a\xa3\xb7\x36\x47\x73\x41\x48\x77\x9c\x10\x5e\x0e\xf0\x9a\x30\x2b\x80\xcb\x01\xcc\x6d\xa6\xdb\x86\xbd\x77\x1c\x8f\xc3\x1d\x0f\xc6\x0b\xbe\x1a\x5d\xd7\x10\xc4\x57\x6a\x68\xa3\x8e\xa0\xb3\x3e\xda\xcc\x9e\x73\x2e\x28\x60\x42\xfa\xfb\x88\xf7\xab\x50\xf8\x7e\xdf\xf2\xfd\x1c\x36\xb9\x69\x68\x90\xe6\x07\x55\x47\x6b\x81\x07\x91\xc8\xcb\x2e\xf2\x88\x6d\xda\xe7\x6b\x36\xf9\x1d\x7f\xdd\xf6\x23\x6d\x06\xeb\xdd\xaf\x01\x48\x9a\x17\xa2\x90\x71\x51\x5c\x47\x80\x05\xbb\xb3\x70\x2f\x69\x58\x31\x28\xba\xd7\x43\x90\x88\x8f\x92\x6c\xa4\xdf\xf3\x90\x38\x0e\x71\xf0\x0c\xae\xac\xb3\xdc\x36\x5e\x98\xd7\x45\x0d\xcd\xf0\x8d\xc8\xad\xf3\x7d\x8f\xe7\xb1\x69\xa2\xa1\x4a\x1b\x60\x00\x1b\x4b\x00\x08\x34\x79\xd2\xca\x68\x62\x78\x9b\xcc\xa2\x59\xb6\xa8\xa0\xca\x2a\xb6\xb6\x26\xa4\xe5\x9b\xa7\x5b\x90\xfb\xb6\x03\x50\xcc\x9a\xd3\x16\x9d\xc4\x28\x33\xa3\xd9\x25\x80\xad\x4b\x3a\x0a\x5c\x50\x16\x26\x7b\x6a\x65\xd4\x7b\x06\xf0\x1c\xb9\x35\x24\x43\x2b\x50\xcf\x28\x87\x97\xbc\xd3\x7f\x69\x42\x61\x2b\x9e\xb3\xb4\xb7\xdb\x9f\xee\xb0\xff\x58\x7f\xbd\x86\x67\xae\x8c\x34\x27\xc4\xb5\x59\xe2\xd1\xcc\x91\x44\x5f\xda\xf1\xad\x27\x78\x2b\xd1\xad\x09\x0c\x17\x4f\xe8\x6a\x3c\xb0\xab\x3b\x8c\x36\x39\xf9\x65\x0e\x4f\x80\xec\x13\x1f\x8b\xdd\x4f\x8c\xea\x0e\x51\x55\xc7\x31\x02\x0f\xa0\xcf\xab\x7c\x12\x53\xc0\x53\x7c\x18\x53\xf0\x13\xaf\x41\x05\xfb\xfb\x47\x41\x85\xdb\x21\x4a\xd9\x1b\x02\x0c\x6e\xcd\x21\x42\xf0\xf7\x35\x43\x3b\x5c\x9b\x96\xfe\xd4\xab\xbc\xea\x12\xd7\xe8\xd0\x25\x8d\x79\x36\x10\x6c\x41\xb5\x7b\x2d\x74\x97\x7b\x2a\xf7\x6e\x96\x1f\x94\xf7\x3e\xf8\xbb\x68\x9b\x94\xe4\x72\x08\xc7\xce\x2f\xc4\xfc\x2b\x8b\x8e\x0a\xe6\x2d\xd1\x29\xf7\x96\x7e\x8f\xe5\xbd\x7c\x8f\xf7\xb7\x25\xb3\xc5\xa7\x30\x9c\x51\x78\x7b\x67\x2d\x22\x97\xad\x60\x15\x9a\x1f\xd3\x19\xde\x2e\x7c\x86\x53\x56\x30\x1c\x87\x9e\xc2\xdc\x35\x06\x31\xd3\x82\x67\x17\x5b\xdd\xc6\xb2\xfe\xa8\x38\xfa\xfb\x2f\x55\xa6\x38\x69\xae\x68\x2b\xae\xb4\xd8\x76\x19\x38\xcc\x63\xb5\x1d\x04\x32\xd5\xeb\xe7\x0f\x99\x38\xa6\xef\x5d\xc6\x8e\x34\x15\x6d\x3f\x8f\x9b\xcf\x23\x7c\x65\xf7\x70\x5e\xcf\x9e\x91\x8c\x98\x48\x85\xc9\xce\x29\x10\x5e\x21\x4f\x87\x93\xad\xa0\xf7\xee\x94\x5a\x2c\xee\xe1\x94\x8c\x1c\x3c\x0f\xc2\xd9\x20\x89\x71\xe2\x29\x2c\x5a\x21\xd7\x30\x64\x63\xb1\x10\x72\x8b\x3d\xc8\x64\x96\x51\x41\x0a\x55\x5b\x90\x94\x56\x41\xb1\x0c\x8a\x60\x00\x8e\xcb\x79\x2d\x54\x92\x86\x15\xb4\x91\x1b\x64\x14\x5c\x21\xf2\x12\x13\x65\xb8\xa8\xca\xc6\x5c\xef\x54\xad\x5f\xbf\xdd\xe7\x2f\x77\xfb\x17\x7f\xbb\x17\x23\xfb\x12\x7e\xac\xe9\x9d\x86\x23\x82\x6a\x30\xf4\xc1\xaa\xe2\xf9\x6c\x42\x2b\x88\x4a\xc8\xf6\xc7\x55\x9a\x6b\x26\x9e\xff\xba\x9d\x4f\xf8\x3d\xf5\x0b\x2f\x83\xf8\x0e\x0f\x30\xb2\xb1\x4e\xb0\x13\xf8\x6c\x7c\x08\x3e\x99\xcd\x93\x04\xfe\x9e\xfe\xba\xc5\xd3\xe1\xbf\x72\x0e\xdf\x3e\x27\xc6\xb4\xa7\xfa\x1d\x09\x8f\xb7\x9f\xa3\x97\xd0\x53\x5a\x3b\xca\xf7\xa4\x4c\x9f\x09\x14\x7d\x06\x08\x17\xe0\x36\x54\xd2\x06\x2e\xac\x7c\x3f\x9c\x46\x73\x7c\x49\xe8\x95\x37\x07\x7e\x48\xf2\x53\x23\xcf\x85\xda\xec\x54\xd2\xec\xc4\x4e\xc8\x83\xbb\x52\x64\x79\xe3\xdb\x9e\xb6\x9f\x87\xac\x00\x0f\xb1\xdc\xd5\x2f\x63\xdd\xf9\x7c\xfd\xf8\xbc\xaf\x73\x8b\xe5\xbb\x3f\x1e\xdc\x72\x3e\xb2\x1f\x86\xa3\xce\x6f\x16\xf7\xf7\x45\xf4\xb8\x13\xb5\xe1\x53\x90\x1c\x96\xfb\x73\xeb\xd8\xfd\xaa\xdb\x5e\xa2\xc3\x55\xfe\xdd\x6d\xff\x64\xb7\xa5\xa2\x4e\x49\xe3\xd9\x1b\x5b\x03\x15\x1c\xd8\x75\x52\x5b\x67\x68\x12\xb0\x6c\xfb\xd1\xae\xd6\x0b\x2c\x70\x2e\x41\x39\x09\x22\xdd\xa3\x20\xc1\x22\xa7\x41\xd5\x0d\xa1\x74\x73\xaa\xef\x66\x62\x7b\x61\xa5\x78\x84\x9d\xdc\x59\xae\xa5\x88\xa3\x99\x31\xc2\x35\x80\xfe\x2b\x34\x07\xf5\x55\x44\xbc\x5e\x22\xe2\x55\xff\xdd\x4b\xfe\xe6\x5e\xa2\xa9\x85\x41\xb6\xd0\xfb\xa8\x65\x1d\x15\xd4\x50\x03\xe4\x9e\x76\x86\x66\x20\xe0\x23\xca\x6b\xf1\xd1\xe9\x07\x79\x81\x21\x3c\xa5\xa2\x47\xdf\x40\x05\x0e\xa2\x28\xd3\xf9\x63\x7d\x62\x21\xd8\xbc\xa0\xf1\xe5\xa5\x53\x73\x89\xa1\xd7\xfc\xef\xae\xf0\xff\x9f\x75\x4e\x72\x47\xf9\x7b\xa4\x26\xf8\x6c\xb7\x7b\x87\x10\x89\xd9\x5e\x85\x52\xef\x2c\xf2\xfe\xb3\xeb\xd4\x25\xf8\x5e\x9f\x7a\x79\x35\x95\x10\x3f\xa4\x22\x76\xd9\xf3\x6f\xf7\x16\x9f\x78\x7f\xfd\x82\x6f\x3f\x6d\x2e\x4e\x6b\x0e\xb5\xa2\x90\x31\xf5\x2d\xa7\x30\xeb\x56\xc0\xba\x0c\xa5\xed\xde\x36\x10\x23\xa1\xbe\xb5\xb5\xd0\xd2\x06\x1d\xba\xea\xa4\x90\x05\xc0\xe0\x0a\xfc\x6e\x01\x82\x2f\xe2\xb7\x2d\x3e\x77\xc7\xfd\x8c\xc8\x0b\xc4\xe7\x15\xe3\x7e\x93\x88\x7b\xa2\x42\xd7\x9e\x20\xf2\x79\xee\xa2\x1d\xd1\x3e\x22\x95\x28\xc5\x45\x76\x88\xe9\xbc\x96\xa3\xfb\x45\xa2\x5d\x85\x84\x4e\xbc\xb4\xb9\xf8\x08\x5d\xe2\x43\xf3\xf6\x18\x86\x44\x4f\x13\x06\x58\x28\x0c\xc2\xdf\xb6\xd3\x01\xc7\x59\x7e\x99\xd3\x95\x8f\xdb\xf9\xfd\xfd\x71\xfc\xf1\xcc\xcd\xef\x36\xf9\xd9\x07\x64\xd5\xeb\x77\xbf\xe0\xed\xb7\x3f\xe1\xd7\xfd\xab\x5d\xf2\x1d\xb5\xee\xfd\x0b\x54\x23\x52\x09\xbd\x4d\xe1\x54\x77\xb1\xc5\x73\x99\x06\x33\x4c\xfa\x98\x79\x4d\x90\x4a\xcf\x1a\x86\x78\xf4\x38\x63\xf4\x14\x04\x19\x80\x7a\xcc\x1b\x60\xf1\x7d\x3e\x62\xd1\xb9\x00\x0c\x9b\x1e\xd2\xf5\x37\x4f\x76\x72\xf1\xd2\x31\xf0\x87\x2e\x99\x82\x41\x6d\xcd\x13\xb8\x03\x82\x4f\xf4\xc3\xb2\xc9\x56\xd2\xa5\x6c\xf2\xa1\x00\xa1\x17\xe0\x97\x7b\x07\xf9\x4c\xc9\x28\x7e\xc8\x8d\x7f\x7b\x68\x69\xbf\xf9\x98\x59\xd1\x36\x82\x32\xff\xc2\x3c\x44\x27\x85\x62\x09\x85\xb8\x20\x60\xdb\x34\x07\xfd\xec\x22\x7b\x0b\x0b\xd8\xa5\x80\x5f\xb2\x49\x6e\x30\x44\x8f\x40\x24\x1e\xa1\x02\xa3\x92\x83\x38\x4f\x8c\x8e\xb4\x0e\x44\xb9\x6d\xf2\xab\x69\xad\x3d\x64\x90\x21\x87\x5c\x56\x10\x85\x51\xaf\xa7\xdf\xb6\x01\xec\xfe\xaa\x3d\xf4\x50\x67\xe8\xab\x80\xff\x54\x7a\xf2\x28\x4a\x67\xf4\x12\x2a\xce\x85\xf4\x4e\xbc\x5b\x94\x34\x16\x8a\x06\x59\x7b\x45\x54\xe8\x03\x5c\xd4\x11\xfe\x35\xcb\x6e\x27\x9e\xd9\x29\x69\x90\xe1\x5e\x23\x1e\x2e\x4a\x1e\x81\xe2\xe9\x58\xd2\x15\xc4\x19\x69\x04\x75\xcc\x4c\x07\x4f\x50\x90\x5e\x9d\x8b\x7d\xce\x40\xa9\x4b\xd7\x2a\xb3\x69\xbe\x83\xd3\x5d\xf6\x2a\xed\xb5\x85\x59\x43\xaf\x04\xb4\x3b\x77\x5b\xab\x1e\xcd\x44\x0a\xe7\xb6\x76\x0d\x6d\x9a\x13\x1d\xda\xab\x72\x92\x76\x49\x71\xd5\xaf\xe4\xeb\x86\x9b\x35\x9f\x7d\xd1\x86\x3a\x00\x7d\x54\x8c\x5a\xd4\x85\xe4\xd0\x27\x30\xab\x76\xdc\xaf\xc7\x57\x1d\x28\x15\x58\x20\x77\xa2\x89\xf0\x19\x12\x95\x2a\x10\xf8\x5f\x8d\x51\x0c\x94\x8c\x92\xe3\xde\x17\x84\xce\xaa\xe8\x9a\x07\x11\x5d\x49\xed\xe7\xbd\x8d\xb1\x66\xfb\x20\x4d\x82\xea\x96\x4b\xa8\x6d\xe9\x64\xe8\xac\x21\x6b\xa8\xa1\xce\x47\x99\x5f\x3d\xf1\xed\x34\x40\xbb\xfe\xee\x2b\xe2\xf8\x06\xee\xb0\x5f\x8f\x7f\x63\x93\xda\x64\x09\xe6\x63\xe7\x0a\x42\x04\x8c\x52\xc4\x50\x66\xb2\x91\x8c\xba\xa1\x75\xa2\x77\x37\xd2\x31\xa4\x63\xba\xc6\x5f\x1e\xc0\x73\xa7\x1a\x5a\x20\x80\x2c\xb6\xb2\x75\xc7\x39\xd4\x47\xe4\x3b\x22\x8c\x38\x42\x1c\x79\x61\x5e\x35\x31\x0a\x88\x27\xef\xa7\x18\x8f\xd3\xb4\xea\xed\x1e\x1b\xa2\xc3\x89\x21\xd5\x82\x2a\xf6\xc3\x87\xe9\x90\x87\xb7\xd6\xb7\xc6\xb7\x96\x6f\xfe\x01\x08\x15\x4e\x2d\x38\xb3\x18\xf9\xc2\xd6\xce\x17\xb5\xd9\xa6\x3c\x4a\xfe\xb2\xe7\xab\x7d\x7e\xb3\x72\xcb\x9a\xc5\xbe\x20\x1a\x85\x2c\x15\x68\x2a\x6b\xa9\x57\x7d\xfc\x92\x68\xaa\x57\x1d\xb9\x53\xe0\x3e\x81\x40\x19\x91\xe4\xde\x57\xe0\x1a\x5d\xc9\x4e\x8a\x90\x1b\x81\xd4\x7d\x92\xf4\x51\xc1\x8a\x80\x85\x70\x00\xce\x7a\x10\x03\x89\xe7\x72\xac\x43\x23\xa3\x42\xb9\x97\xc4\xc0\xb4\x73\xac\x79\xcb\xbc\x6b\xa0\xbb\x90\x98\x07\x4c\x0c\x1d\x18\xb8\x28\x40\x18\x81\x68\x8a\x21\x57\xd8\xf9\x1f\x36\x2f\x46\x26\xa9\x03\x96\x86\x04\x7a\x9e\xf7\x92\x64\xe5\xad\x77\xf2\x36\x27\x73\x7b\xc4\xd6\x06\x8a\xf0\xc7\x00\xb3\x5d\x14\x57\x9e\x2b\x3e\xee\x96\x98\x6d\xcd\x19\x75\x85\xec\x09\xc9\xe4\x9b\xb3\x00\x82\x76\xdf\x7a\x12\xf0\x71\x40\xe7\x35\xeb\xf8\x05\x18\x74\x46\xad\x07\x01\xe1\x1b\x52\xde\x6d\x1f\xb7\x2d\x70\x84\x6c\x1c\x30\xbe\x6e\xd9\x8a\xb4\x40\x3e\x0d\xa8\x4f\x0a\xeb\xa0\x2f\xd7\xe4\x58\xef\x99\x1e\xb5\x3a\xc5\x97\x72\x7d\xfd\x65\x50\x1d\x70\x03\xd8\x25\x4b\xd4\x99\x1c\x23\x4b\x65\x29\x32\x14\x0a\x8d\x2e\x8e\x8e\x2d\xd2\xa8\x76\xd3\xd6\x5e\x6f\x02\x18\xbb\xb3\x53\xd4\x14\x88\x34\x1f\xba\x91\xdc\x3d\x83\x3a\x10\xdf\x77\x2e\xb9\xaa\x4d\xc8\x2b\x4b\x0f\xcb\x60\x26\x17\xd4\x09\x07\xfc\xd9\x1a\x6b\x89\x0d\x44\xc9\x03\xd8\xef\x81\x67\x1c\xdf\x98\xe5\x76\x02\xd2\x9e\xb7\x4a\x98\x6e\x5f\xaa\x82\x61\x20\x99\xff\xe1\x0b\xcf\x57\xd7\x39\xd5\xa0\xde\xb6\xe7\x21\xf7\x9a\xeb\xa2\xd9\x7a\x73\x7b\x08\x66\x88\x96\xf9\x21\xda\x02\x0d\xda\xa4\xf7\xd8\xe6\x1b\x07\x46\x5a\x81\x64\x82\xca\xc8\x5c\xac\x67\x8c\x6a\xb6\xa4\x48\xe8\xc9\x45\x08\x3a\x32\x94\x8f\xd6\x06\x21\x39\xf1\x89\xc9\x89\x07\x28\xe7\x6e\x6b\xe1\xce\x9e\xa9\x66\xeb\xf2\x2b\xe2\xe7\xd0\x07\x6c\x9e\x53\x47\xe9\xec\x28\x62\x3f\x32\x28\x4f\x86\x3c\x34\x8d\x7b\xb6\x63\xe9\xa4\xda\x5a\x0e\x32\x77\x29\xb6\x22\xc6\x11\xc6\x13\x44\x48\xb2\x6c\x1b\x42\xe8\xee\xc5\xfb\x72\x1f\x28\x24\x88\x35\x2f\x11\xb6\x96\x14\xb9\xbf\xa4\x76\x6c\x97\x64\x60\xfd\x52\xef\x4e\x30\x1f\xe6\x46\x72\x78\xc0\x01\x75\x6c\x36\x4a\x7b\x5f\x6a\x57\x7b\x0e\x81\x5a\x23\xd2\xca\xa4\xc4\xa9\x66\x68\xd5\xfa\xb9\xb1\x91\x47\x59\xe3\xe0\xb4\x4c\xce\x3c\x27\xcb\x7b\x48\xef\x0b\xc1\x61\x25\xdf\x63\x2d\xed\x93\xe3\xc8\xfe\x28\x33\x80\xc8\x85\x0a\x00\xf8\x17\x7f\xb8\x17\x4d\x4b\x51\x12\x1e\xb6\x01\xaa\x00\x5e\xa5\xdb\x21\x0d\x3d\x0c\xa3\x41\xc8\x48\xd1\x6a\x00\xdb\xac\x4d\x48\xfa\xc8\x40\xf7\x0c\x48\x29\xec\xf4\x7c\xb5\xdd\x67\x9d\x7b\x95\x61\x2b\x0f\xbe\x20\x50\x90\xd3\xdc\xa8\xb2\xc4\xda\x73\xe8\x20\x14\x9d\x44\x43\xa7\x1c\xaa\xde\xe3\xac\xf3\x63\x24\x11\x00\x66\x4a\xfe\x98\x72\x70\xf4\x92\x58\x9b\xde\x0e\xd9\x7d\xc0\x54\x51\x13\x73\x38\x32\xef\xc4\xda\xe8\x3d\x0e\x4c\x0e\x9f\x5c\xb9\x14\x90\xaf\x8d\x95\xe4\x62\x05\xf4\xea\xdb\x80\x20\xa4\x99\xdc\xf7\x29\x1f\x15\x17\xb1\x44\x80\x54\x2b\x69\x31\xbb\xd8\x99\x8c\x77\x01\xd0\xc3\x23\xc3\x87\x1d\x48\xa1\x99\x37\xf9\x4c\x5d\x9e\x89\xf0\xec\x41\x3f\x34\xfa\x6b\x13\xc2\xf8\xec\xa2\x7d\xc9\x00\xdf\x93\x7e\x3e\x82\x03\x85\x9e\xff\x26\x84\xb4\x82\xa5\xb7\x7f\x78\x25\xeb\x4e\xbf\x89\xba\x6a\x97\x0c\x68\x9d\x5f\x8c\x83\x52\x29\x46\x8b\x00\x3b\x7a\x63\x7f\xfa\xca\x08\x88\x40\x4a\x08\xa2\x7c\x05\x05\x08\xd4\xca\x35\xe3\x1f\x43\xbc\xa0\x41\x5b\x5f\x08\x20\xb6\xf5\xb9\x03\x4d\xdf\x43\xed\x0e\x8b\x53\xf0\xa8\xdb\x0c\xd5\xc7\x2a\x3d\x8c\x4a\x6e\x2b\xc9\x73\x43\xd0\x24\xd4\xb2\x8e\x0c\xff\x61\x38\x82\x97\x9a\x31\x76\xef\x01\x7a\x87\xb1\x58\xa7\x2b\x3a\x6c\x8e\x1f\x12\x20\x35\xc8\x78\xcb\x00\x3a\x76\x1d\x93\xd3\xe0\x0f\xa7\xe3\xdf\x68\x71\x21\xcf\xb5\x22\xdb\x64\xbb\x6d\x60\xcf\x1b\x28\xe6\xa5\xf1\xfb\x21\x55\x15\xeb\x5c\x28\x0f\x03\xe5\x9d\x14\xba\x6b\x70\x60\xa6\x62\xe5\x07\x73\x55\x9a\xb7\x22\x41\xad\x2f\x17\xf2\xa7\x6e\x05\x10\x5d\x33\x0b\x13\x04\x22\x06\x28\xc3\xb8\xa2\x77\x48\xe6\x41\xfc\xd4\x41\xd3\x63\xf3\x22\x95\x69\x43\x2b\xf5\x10\xf3\x48\x4e\x48\x8d\x32\x31\x3c\x84\x4d\xf1\xe0\x20\x31\xdf\x9d\x05\xe3\x83\xd5\x75\x0c\x27\xba\x60\x64\x6c\x6a\x4b\xbc\xf9\x41\x03\x15\xd2\xf6\x25\x4a\x0d\x2d\xa9\x33\x56\xf1\xb8\xa6\xce\x1a\xa7\xe5\x86\xfa\x2b\x9f\xc3\x60\x19\xdb\xcc\x9c\x7c\x78\x20\x0a\xb1\x20\x65\x52\x4b\x37\x23\x69\x89\x73\x06\x3c\xc1\x04\xd5\x4e\x49\x0e\x41\x6e\x33\x90\x35\xa5\xf4\x77\x97\x83\x19\xe1\x51\x05\xbb\x9c\x2d\x5b\x28\x72\x00\x73\x92\x8e\x60\xd6\x4b\xdb\x60\x49\xd8\x77\xc5\x7a\x2a\x2b\xbd\xdd\x5c\x5c\x26\x0b\x3d\x33\xfd\xa8\xf7\x36\xcb\x5a\x6c\x8d\xeb\x2d\x68\x5b\xac\xc5\x72\x9f\x6b\x6d\xa1\x20\xe9\x28\xe2\x25\x25\x5c\xd6\x68\xf1\x01\xea\xcd\x12\xb8\x82\x35\x18\x09\xa4\x76\x33\x8f\x0f\x64\x68\xe9\xa1\x6a\x1d\xb4\x98\xc7\x21\xd9\x2b\x13\x75\xcb\xd3\x7a\xeb\x0a\xb2\x9f\x12\xd4\xde\x03\x9c\x33\xe0\x34\x86\x39\x53\x30\x0f\x26\x86\x60\x2e\x9f\x82\x00\x7c\x45\xc3\x49\xb5\xa6\x2a\x3b\xc1\x05\x1d\x94\x41\xd8\x7b\x18\xea\x43\x2c\xbf\x4a\x0f\xb4\x6b\xee\xf3\x2b\x9e\xcc\x56\x76\x9f\xf0\xeb\x78\x0a\x30\x4a\xd9\xe6\x77\x5b\x0c\x41\x62\x5a\x04\x15\x71\x92\x3a\x78\x3d\x9c\x13\x6f\x3a\xa7\x38\x88\xa3\xbf\xe7\xe3\x75\x19\x2b\xb8\x52\x99\x71\xce\x7b\x65\x88\xad\xf9\xcb\xd4\x90\x1b\xe6\xc3\xd9\x82\x16\x28\x75\xa8\x74\x06\x45\xac\x7f\x74\x01\xa8\x3d\xa7\x5f\x25\x02\xe8\xb8\xc9\x27\xb1\x91\xdb\xa7\x5e\x70\x61\xe0\x28\x79\x09\x5f\xee\x2e\x7c\x32\x05\x0f\xf8\xaa\xa5\xa6\x3b\xd1\xfd\xb3\x0b\xbc\xb1\xd1\x11\x62\x4b\x9d\x46\x3d\xac\x43\xc4\xef\x5c\x86\xac\x20\xa4\xa1\xc9\x1a\x46\xad\xd7\xa9\x3b\x8f\xe6\xde\xb4\xb9\x96\x1e\x54\xcc\xf3\x52\x33\x3c\x30\x1d\x5a\xeb\x8e\xee\xc1\x92\x16\xfa\x3a\x11\x65\xb1\xa1\xd1\x3c\xdc\x19\xa5\xc9\x8f\x7a\x7b\x44\xb6\x60\x74\x53\xc6\xfc\x23\xd7\x45\xb4\xb6\x86\x05\xcd\x59\xe2\xc9\x7b\x20\x6e\x4e\xdf\xa3\x7d\xae\xbf\xec\x4e\xf2\x10\x7a\xb8\x1b\xd9\x51\xcc\xc7\x5d\x3b\x2c\x2b\x24\xd9\xea\xa3\x96\xfe\x91\x73\x74\x04\x90\x88\x74\x72\xa8\x2d\x60\xec\x70\x65\x3e\xde\x83\x64\xce\x73\xcf\xed\xd8\xf5\x62\x1c\x5d\x93\xb1\x07\x99\xa9\xe8\x18\x61\x8c\xb9\xa2\x15\x84\x73\xc4\x8a\xbc\x4f\xcb\xcc\xff\xb8\x78\x14\xc5\x94\xca\xe1\x78\x2d\x11\x59\xa4\x3c\xc9\xa5\x3e\xda\xde\x8f\xa4\xa4\x8d\xce\x9b\x4d\xa5\x77\xf3\xeb\x3e\x71\x37\x1f\x25\xc9\x62\x6e\x61\x68\x3a\x80\x91\xa2\xba\x4d\x00\x69\xfb\xd5\xa3\x24\xef\xa4\x13\x46\xa2\x98\xc2\xa9\xe8\xe6\x8f\xba\x00\xde\x54\x50\xb1\xfb\xc1\xb9\xdb\x2f\xee\xa6\x75\x9c\x26\xd6\xc3\xcc\x27\x0e\x75\x05\x9f\x83\x68\x3f\xd2\x13\x1e\xf5\x18\x14\xbf\xee\x10\xda\x00\x5d\x52\xa2\xf3\x68\x97\x71\xd6\xb5\x58\xc6\x62\x0e\xb2\xf9\x9c\x4b\xa4\xce\x77\xbd\xd7\xba\xd6\xb4\xd7\xf6\x09\x35\x6a\xe0\x42\x2e\xd0\xfc\xcd\xc3\x96\x5b\xd2\xee\x96\x8f\x43\x32\xa2\x33\x87\x6e\xde\x3a\xf9\x97\x59\xe1\x6b\xb3\x02\x68\x8e\xf6\xca\x20\x17\x4f\xf2\xac\x88\x6f\xd9\x7a\x08\xc2\x1c\x68\x45\x7b\x71\x3b\x50\x64\x44\xf7\x5f\xfc\x5e\xbc\x19\x5e\x4c\x06\x57\x78\x33\x3e\x5a\x0a\xb9\xea\x3a\x6d\x59\xb0\x65\xd5\x26\x82\x74\x9e\x82\x34\x90\x80\x93\xba\x2a\xea\xa2\x84\xf4\x28\x17\x2d\xc8\x46\x98\x67\x38\x17\x14\xcf\x88\x98\x93\x46\xaf\x2e\x94\x76\x97\x69\x2b\x61\x0b\x9a\xf3\xa3\xa2\x84\xf3\x33\x3f\x6d\xfb\x74\x9a\x02\x4e\xa3\x95\x05\x05\xda\x55\x99\x42\xc3\x8a\xdd\x83\x53\xb0\x66\xb8\xad\xb7\xaf\x27\x3c\xb3\x3a\xf6\x34\x79\xb1\x09\x87\x95\xaf\x9d\x7a\x75\x3d\x2d\xa3\x06\xeb\xef\x32\x03\xa4\x01\xcc\xea\x7a\x4c\x59\xc0\xbc\x65\x3e\x1b\x61\x7e\x58\x12\x6c\x6a\xb3\x75\x13\x61\x8f\xe3\xb6\xd9\x97\x02\xe7\xb3\x19\x5c\xa7\xcb\xe1\x2c\xda\xc6\xdd\x9c\xc8\x07\x14\xda\x06\x63\x28\x43\x42\xce\x66\x82\x59\xd7\xc8\xc2\x1e\xd2\x43\xce\x77\xf8\xa6\xc0\x05\x12\xa3\x01\x9a\x79\xa5\x7b\x86\x22\xf9\xdb\x21\x7e\x70\x78\xdf\x27\x8f\xbb\xb5\x57\xe0\x94\x76\xcd\xd0\x5f\x95\x29\x67\xcf\x47\x6d\x74\xf7\x22\x4f\x9f\x94\x9f\x5a\x2a\x87\x92\x8a\x3d\xf4\x78\xc4\x21\xfa\x4e\xbf\x82\x55\x98\xbb\xd2\x4a\xae\xef\x55\x54\x5c\x43\x25\x3f\x06\x50\x5a\xb3\x7f\xb8\x5b\x1f\xbc\xef\xbb\x2c\x4d\x9f\xf9\x53\xe5\x94\xb7\x9f\x32\x66\x0d\x73\xd6\xa5\x43\x54\x44\x56\x8f\xb9\xdb\x77\xdb\xc9\xaa\x1c\x64\x2a\x69\xd7\x13\x27\xae\x52\xc2\x70\xd4\x01\xac\x62\x28\xe4\xd6\x31\x16\xaa\xc8\x15\x25\xc2\x42\xa6\x17\xf0\x4c\x30\x3f\x83\x9c\x91\x8e\x97\x98\xe5\x3d\x46\x28\x66\xbb\xc2\x9f\xc0\x50\x0d\x64\x39\x4b\xb4\x02\xc9\x5a\x36\x7e\x6d\x14\x90\x80\x3e\xe5\x9e\xcb\xd2\x47\xe0\xd3\x23\xbe\x43\x33\x9d\x4f\x78\x97\xe2\x01\x22\x3e\xc6\xa2\x8a\xea\x65\x92\x3e\x69\x09\xf8\x15\x44\x56\xd4\x9d\x61\xc9\x1b\x4a\xb4\x7f\xd4\x45\x55\x82\x1d\x0c\x35\x5b\x3c\xf5\x5d\x8a\xdc\x9e\x22\x1d\x83\xd2\xab\x78\xda\x57\xbd\xe9\x9a\xe4\xff\xb2\x72\x39\x15\x0d\x23\xdb\x7c\x3e\x48\xd6\x25\x40\x95\x64\xd2\x3e\x82\x63\xd1\x1a\x35\x3f\xa2\x0e\xb9\x9b\x5f\xc3\xda\xd9\xa4\x21\xf7\x0d\x59\x25\x4c\xde\xb3\x84\x5a\xc6\xa2\x80\x87\x38\x49\x70\x07\x36\x25\xcb\x3b\xf6\x6b\x01\xe5\xb6\x1e\x1f\x69\x04\xb1\x79\x74\x96\x90\x9b\x7d\x81\x0a\xad\x9d\xf4\x69\x19\xeb\x87\x8a\xf9\xe9\xd7\x1e\xa9\xb3\x40\x75\x3e\x05\xb0\x7d\x29\x6a\x30\xc0\xab\x49\x8d\xbe\x79\xdb\xc0\x6f\x42\xdf\x04\xaa\x11\xd4\xaf\x75\x75\x38\xa7\x55\x4d\x66\xc1\xb5\x5d\xa9\x59\x76\x96\x9f\x0c\x4d\xb9\xea\x2f\xd0\x42\x64\xea\x47\x19\x76\x92\xda\x37\xa7\x7a\xe2\x44\x44\x96\x16\x1d\x6d\x7b\x6e\x9d\xf6\x9f\x4e\x7b\x5e\xcc\xb6\xb8\x81\xbd\xb6\xd3\x4e\xe1\x19\xb8\x0c\x18\x80\x9e\x5b\xcf\xbd\xf1\x79\x4a\xdc\x2f\xe3\xd5\xe1\xad\x24\xc6\x2a\x6c\x26\x3b\x78\x88\xfe\x46\xf6\xa1\xed\x25\x0d\xd2\xab\xfe\x7c\xad\x1e\xf8\x8a\x3d\xaa\xa5\x1a\x72\xca\xbb\x1a\x5c\xed\x41\x12\xaa\x0b\x64\x84\x1c\x6c\xee\x2e\xe6\x1e\xad\xb1\x91\x56\x90\x81\x77\x69\x48\x5f\x62\x81\x58\xe2\x41\x48\x69\x3d\x85\x64\x6e\xc9\x89\x87\xa2\x9c\xaa\x85\xc9\x15\xe8\xae\x37\x5c\x82\x7d\xf2\xf3\x05\x8f\xd5\x85\x34\xca\x94\x51\xed\x32\xcd\x00\x5a\xe1\x70\x02\xa9\x44\xa5\x45\x45\xb5\xec\x9a\xcd\xbe\xef\x3b\x35\x72\x65\xed\x86\x59\x08\x44\x1a\x91\xc1\x1a\x6b\x4f\x5a\xf1\xcc\xf6\xfc\x65\xa9\x39\xf4\x81\xe9\x02\x40\xee\x60\xf6\x62\x06\x15\xa2\xcd\x55\xa8\x24\x60\xac\xbb\xb0\xb7\x6c\xe4\x5f\xe7\x82\x60\x9f\x0b\x35\xe7\x04\x73\xa1\xfa\x0c\xa5\x23\xc8\x30\x1e\x84\xcd\xa5\x81\xc3\x95\x25\x4a\x6a\x6e\xeb\xac\xb4\x49\xf2\xe7\x2d\x5e\xce\x2d\x3e\x50\x4e\xae\xf5\xef\x68\xf1\xdb\x7f\x4a\x93\xff\xa3\x2d\xde\xd9\xe2\x75\x4f\xfd\x6d\xcc\x2b\x7d\xa3\xd5\xf7\x59\xe8\xf6\x5f\x6e\x1a\xfa\xcb\x2c\x69\x1f\x4d\x53\xb7\x3f\xc7\x92\xf6\xd5\x2c\xf4\xdf\xf5\x5a\x63\xd2\xae\x84\x53\x27\x25\xb3\xdc\x42\xcf\x8d\x21\x0c\x84\x41\x9e\x5b\xad\x6b\x68\x5d\x97\xfd\x27\x58\xfa\xa4\x8d\x05\x2a\xba\xb3\x2d\xb1\x6b\xe8\xba\xc4\x62\x76\x72\x19\x69\x39\x36\x64\x9a\x49\x9c\x97\xa8\x63\x06\x1d\xfd\xed\xa7\x64\x21\xf3\x3f\x2e\x67\xd7\xe6\x0d\xb8\x65\x97\xb6\x2b\xcf\x16\x66\x5b\x90\x78\x50\x5c\xcd\x2e\x16\x8f\x0d\xbb\xac\xfd\xb3\x28\x38\x91\x47\x7f\x3e\x8a\xe3\xc3\x5f\xb5\xce\xa5\xb0\xa0\x5d\xc5\x88\x9f\x73\x74\x87\x55\xa1\x8b\x76\x90\xe9\x2e\x51\xfb\x0c\xda\xe7\x82\xb4\xe4\x18\x0b\x54\x9c\xc4\xac\xfe\xfd\x39\xf6\x23\xf6\x9f\x40\xc7\xa4\x65\xf4\x60\x4f\x2b\xda\xcd\x67\xb7\x99\xc6\xe6\x90\x5a\xe0\x4d\x56\x5b\xfa\x17\xfb\x53\xa9\x85\xfb\xb0\xa1\xa0\x48\xef\x82\x8b\xd9\x95\x17\xb8\xe7\x14\x76\xb2\xbb\xb2\xb9\x8e\xbd\xf1\xb9\x55\x52\x28\x69\x01\xe1\xec\x18\xcf\x25\xf5\x3b\x2b\xea\x9f\xeb\xaa\xff\xf0\x92\xda\x2f\x39\xf2\xf6\x15\x1f\x54\x03\xd2\x19\x41\x57\xe8\x32\x93\xd8\x8f\xec\x90\x4f\x19\xdb\x3d\x6e\xd9\x8e\x08\x0f\x0e\x6c\x6d\xcf\x8b\xf3\xd7\x7a\xe8\x2c\x83\x52\xd7\xd6\x9c\xe7\x45\x36\xbf\x36\x17\x96\x91\x6a\xa8\x6c\xdc\xcb\x7d\xdb\x71\xca\x87\x77\xdc\x7c\x6b\xbf\xd5\xb6\x9f\xb0\xdf\x01\x02\x5d\xd5\x5f\xab\x4f\xc2\x7d\x0e\xe5\xa9\x1f\x35\xd4\x7e\xdb\x37\xe3\x09\x38\xc4\x3f\x6d\xe7\xed\xf3\x41\x7e\xee\x71\x08\x7e\x7f\xfb\x29\x53\x86\xbf\x0a\x73\x7b\xfb\xae\xe3\x6e\x70\x52\xfb\xdc\x93\x76\xfb\x2d\xfb\x5f\xbc\xe1\xa8\x69\xff\x64\xa4\x04\xe7\xfa\x36\x99\xec\x9f\x38\x7f\x50\x5f\x66\x27\x1f\xef\x1e\x36\x66\x86\x6f\xf6\xdb\x36\x6c\x34\xe0\x26\xb3\x33\x12\x71\x3a\x73\xdb\x2f\x49\xac\x71\x4a\x65\xff\x56\x22\xf5\x79\x43\xbe\x23\x95\x9a\xf7\x1b\x56\xde\xd0\x2e\xe5\xf1\x0d\xde\xb2\xed\x57\xdd\xef\xba\x1f\xb1\xf2\x21\x4f\x97\x79\x7f\x77\x49\xc5\x5e\x17\x5e\x29\x6a\x21\xa8\xc1\x44\x42\xea\xcc\x82\xfb\x8c\x64\x82\x90\x01\x48\xb3\x80\x66\x3c\xee\x73\xef\x0f\x17\x0d\x07\x8c\xf5\xb6\x1d\x9b\xdb\xe9\x00\x3f\x69\xb5\x5b\xa4\x70\xba\xec\x76\xba\x9f\xcd\x09\x69\x04\x11\xd9\xc9\x93\xcd\x82\xa8\xc8\x24\x98\x5b\x45\x70\x70\x45\xd1\x89\x19\x14\x50\x92\x52\x80\xf2\x29\xe3\x4f\x27\x44\xd5\x4d\x94\x28\x23\x3f\xa5\xfc\x91\xbe\x65\xa1\x5c\x50\x80\xdb\x45\xc6\x11\x1c\x05\x91\xbe\xf9\x3f\xd2\x43\x05\xd1\xd3\xe8\xbf\x34\xcb\xa9\x51\xfc\xd9\xbd\x7d\xd8\x66\xe8\xf2\xac\x49\xda\xd5\x68\x9e\xbf\x9c\x0f\xdc\x9e\x17\x38\xae\x8a\x34\xaf\x04\x91\x94\xef\x79\x64\x8f\xb9\x20\x20\xe8\x91\x5f\x30\xc7\x72\x73\x15\x78\xfd\x15\xc7\x87\x98\x33\x43\x19\xb5\x79\x32\x05\x20\x7c\xe8\xd8\x50\x3a\x41\x47\x67\xbd\x92\x79\xe7\x74\xcf\xcb\x44\x6e\x5b\x60\x4f\x30\x51\xc4\xe4\x2a\x5c\xf0\x3e\xa1\xbc\xa2\x50\xa2\xf8\xc1\xa4\xe0\x06\x4d\x1b\xe8\x48\xde\x90\x22\x07\xeb\x80\x77\x6a\x21\x9f\x2e\x70\x15\x1c\x5c\x2b\xea\x5c\x60\x5a\xf5\x40\x92\x5f\x7b\x24\x7f\xa2\xde\x5d\x08\x56\x06\xd2\x44\xc1\xde\x01\x02\x4b\x54\xc2\x70\xf9\x86\xca\xad\x7b\x6e\x75\x15\x94\xb8\xa4\x90\xab\x59\x45\x80\xeb\x67\xe5\xd8\x57\x85\x16\x98\x42\x3f\x87\x13\xbc\xd4\xfe\x6a\xd9\xbd\xd4\x25\xb4\xab\x2c\xf4\x93\x36\xab\x21\xb9\x06\x2a\xe2\x41\xa0\xb7\x79\xc3\x79\x43\x8b\x66\x44\x15\x6d\x0f\x7f\x93\x6d\xdf\x9d\xc1\xe8\x9d\xf3\x26\x28\xd8\x50\xc2\xe1\xc1\xb9\xce\x3f\xa4\x2d\xee\xc7\x78\xae\x22\xa7\x86\xfa\xa1\x14\xf6\x18\xb5\x93\xf4\x3e\x29\x4a\xdd\xeb\xde\xff\x02\xf6\xdd\xd3\xa1\xdc\x7e\xf2\x9a\xe2\x77\xa6\x7c\xe3\x89\x0a\x35\x3e\x8f\x7b\xfb\x29\xd2\x72\xa8\xbd\xec\xb2\x54\xe2\x05\x02\x37\x6a\x13\xb8\x28\x1a\x7b\x71\xa6\x9c\x07\x15\xee\xfb\x16\x1b\x43\xcc\xc7\x0c\x05\x0c\x64\x16\x26\x52\x51\xbb\xa9\x8b\x36\xa4\xf9\xfa\x8a\xb4\x83\xa0\x0e\xac\x17\xd6\x69\xf7\xec\xc4\xf9\x79\x8d\xce\x4a\x86\x60\x75\x4e\xd6\xe9\x40\x3f\xdf\x3a\x6b\x06\x5a\x0f\x6a\xd6\x9e\x5f\x6e\x7c\x70\x42\x0e\x39\x2d\x64\xbe\x5f\xf7\x3b\x65\x09\x3d\x6f\xf6\x6f\x59\x78\x8d\xbe\xc0\x50\x5c\x41\xa3\x0f\xa9\x55\xe9\x61\x96\x1b\x96\x62\xb5\x96\x44\x80\x59\x8e\x37\xb5\x17\xc5\xeb\xfb\xdb\xdb\x5e\x2a\x01\xd3\x15\x62\xa8\x5c\x47\xc8\x75\x2b\x1a\x54\x01\xb8\x54\x64\x82\x72\x5d\xad\x81\xd0\xa8\x22\x1b\x0a\xca\xad\x87\x37\x57\x21\x02\xe6\x52\x0b\x95\xfb\x44\x56\x4c\x92\xd2\x4b\x70\x6f\x2b\x81\x04\x60\x31\x3b\xa0\xae\x19\x39\xbe\x56\xed\x46\xb5\x05\xdd\x50\x9f\xa3\x28\xa6\xc8\xaf\x02\x5c\xfd\x52\x85\xd0\x0e\x38\xc1\xd4\x1e\x26\x75\x5b\x01\x7d\xe7\xc8\x3e\x0b\x08\x47\xa7\x64\xc0\x2f\xdc\x26\x2e\x15\x07\x9d\x36\x4f\x47\x9c\xcf\x3c\x5d\xd2\x7a\x5c\x91\x50\xc9\x51\x41\x47\x70\x84\xac\x2e\x24\xc4\xea\xfc\xf4\x34\x90\x84\xa5\x98\xe0\xe4\x4f\xb6\xea\xd9\xe0\xd9\x60\xbc\xe2\x0f\x62\x9e\xe5\x80\x7b\x98\x61\xf2\x06\x61\xe7\xc0\xb7\x4c\x87\x95\x43\x4d\x99\xc9\x69\xd1\xae\x71\x43\xee\x02\xe1\x4d\x75\xdd\x2e\x4c\x97\xe6\x0b\x8f\x8c\xd8\xb4\x42\xa3\xaf\x2f\x98\x90\x21\x9f\x0d\x34\x11\x21\x45\x02\x4a\x7c\x5e\x64\xff\xbf\x12\x70\xcf\x8d\x65\x86\x38\x57\xdf\x55\x5d\x7c\x6b\xc3\x86\xea\x62\x17\x90\x29\x2b\x62\xeb\x36\x78\xfc\x8a\xf2\xe9\x19\x33\xe0\x6a\xfc\xaf\xee\x61\xe9\xca\x6a\x10\x5c\x2d\x2d\xb1\xda\x5f\x90\x25\x83\x4a\x57\x0d\xad\xaf\xad\x87\x52\x82\x4d\xc7\x0c\x0a\x20\x3b\x78\x43\xf8\x51\xfd\xc3\x23\xbe\x37\xed\x36\x73\x03\x35\xcd\xac\xfc\x09\x2c\xc5\xc4\x83\xcc\x6d\xff\xb9\xef\xf0\x03\x79\xde\xce\x5d\x24\x9a\x9e\x5c\x87\x32\xa9\x28\x02\xd5\x0a\xae\x05\xe4\xc9\x28\xc4\x14\xa5\x27\xf5\xc7\x51\x52\xe5\x92\x59\xf8\xc3\x1e\xa4\xfc\xb4\xfc\xca\xf6\xf3\x0a\xa7\x2b\x6f\xa7\x5b\xbe\x1a\x17\x97\x4c\x7e\xbb\x92\x28\x76\x3d\x48\x14\x6b\xab\x4c\xe5\x37\xd4\x95\x88\xf3\x0d\xb0\x3e\x48\x3c\x8b\x4f\x13\xb2\x37\x26\x77\x33\xec\xe3\xe1\x4a\xda\x30\xb8\x41\xde\x44\x81\x4c\x86\x0f\x9a\x2b\x64\x92\x4b\x04\x06\x44\x73\xe3\x9c\x99\x5c\x0e\xc6\x91\x03\xae\xd0\x46\xc8\xb9\x3d\x78\xa7\x56\x90\xb5\x92\xb4\x09\x12\x76\x77\x29\x69\xbe\xfd\x1c\xcd\xdc\xa1\xb2\x22\x5e\x32\x34\xe4\xbc\x94\x64\x7e\xe9\x58\x33\xa0\x13\xb9\x87\x01\x6c\xc2\xa4\xe8\x61\x18\xf8\x42\x63\x4f\x05\x1d\x55\x24\x8a\xfa\xee\x85\x94\xf2\x59\x12\xb7\x90\x55\xb2\xcb\x64\xb3\x2e\x51\x53\xea\xe9\x1e\xea\x10\x92\xd4\x89\x8a\x20\xd9\x2b\x44\x05\xf2\x67\xa3\x2e\x05\x01\x6f\x7b\x94\x4c\x49\x50\x1b\xd6\xaf\xb8\x24\xfa\x25\x5b\xdc\xae\x62\xd1\x27\x2e\x89\x32\x11\xb4\x36\xcf\x7f\xd6\xd0\xa6\x13\x56\x22\x82\xcd\x58\x4e\x26\xbb\x8b\x30\x80\x94\xa1\x50\xe4\x9a\x21\x74\x79\x9e\x8b\x1f\x16\x39\x18\xf7\x10\xfe\x44\x99\xdc\xb0\xa5\x81\x6a\x00\x60\xf0\x16\x64\x20\x1b\xa5\x09\x5c\xfb\x22\x9f\x24\x1b\x93\x52\x2c\x8e\x17\x0e\x5a\x28\xf0\xa3\xfd\x5e\x47\x7e\x44\x88\xde\x50\x54\xa7\x3b\x49\xc0\x81\x4b\x02\xa1\x38\x30\x5f\x4a\xe1\x1e\x75\xf1\x87\x39\x37\xa5\xc1\x59\x4b\xba\x79\x09\xb8\x94\x44\x94\xe1\x26\x36\x13\x96\xee\x30\x6a\x20\x63\xb4\x05\x85\x88\x75\x6e\x41\x27\xf1\x04\xd0\xf2\x49\x12\xba\x3c\x6a\x5a\x2a\x96\xa3\x47\x2c\x1d\x35\x08\x50\x46\x63\x3e\x17\xf0\x5a\x74\xd8\x89\x4f\xd7\x13\x38\x6d\x04\x80\x14\x38\xd6\x50\xe6\xb3\x8e\xa8\x52\x50\x48\x91\x5b\x5e\xb5\xa0\x48\x43\x52\x70\xee\x77\x9d\xc8\xe1\xac\x12\x7a\xb0\xa9\xfa\xa1\x65\x6d\x85\xa8\x93\x1f\x15\xd4\x4d\x32\x52\x10\x62\xfa\x30\xac\xca\x5c\xe9\x6d\xf8\xb4\x62\x36\x18\xd4\x7d\xe4\xb6\x44\x48\x05\x97\xa2\xb0\x62\x72\xde\xd3\xe5\x3a\xd3\xae\xd0\xa8\xbd\x2c\x05\x10\x1f\x04\x52\xc9\xe6\x55\xe6\xa1\xde\xd0\xa8\xeb\xb9\x91\x03\x68\x58\x33\x14\x88\xb0\x2c\x42\x81\x1f\x17\x63\xcb\x54\xc7\x02\x43\xaa\x14\xc8\x54\xc2\x7c\x86\x9e\x12\x04\xbd\x75\xca\x3d\x96\x57\xb0\x92\x7e\xc9\x5f\xb6\xaf\x4a\xee\x67\x99\xa1\x95\x7c\x10\xa7\xf1\xe3\xef\xe2\x6a\x20\x55\x3d\x8a\x33\x9d\x4e\x82\x5c\x59\x2e\x78\xde\x21\x78\x6e\xdd\x77\x03\x8c\xb1\xb9\x16\x62\x41\x8a\x7c\xb6\x12\xea\xa8\x4b\x36\x0f\x78\x08\xb4\xf7\x87\xeb\x8d\xc6\xe6\x3a\x47\x34\x3a\xe5\xe4\x80\xdb\x2a\x0c\xae\x0a\x9f\xfb\x5c\xef\x02\xf5\x82\x4b\xcc\x80\x1e\x8d\xb4\xf6\xd0\x83\xd9\x71\xba\x59\xdf\x73\x11\x13\x5b\x2a\xb4\x6f\xc8\x95\x89\x6c\x95\xa6\xce\xdb\x4f\x69\x22\x47\xc2\x85\xad\x9c\x20\x5f\x07\xd6\x36\xea\xe0\x89\xec\x83\x92\x0f\x63\x9b\xec\xe2\xe4\xfe\xca\x87\xfc\x0f\x34\x28\xf1\xe1\x30\xe7\x8a\x7a\xd9\x0f\xd6\x6e\x7a\x2e\x2e\x8e\x86\x3c\xa9\x34\x5b\x2f\x23\x35\x89\xa1\x9e\xb5\x46\x38\x33\xbb\xfe\x13\xd3\xc0\x88\x73\x9b\x0d\x0a\xea\xac\xea\xe8\x73\xc1\x18\xa3\xf8\x46\xd7\x20\xc9\xba\x37\x74\x98\x3c\xe7\xb9\x4b\x1c\xa3\x00\x6b\x3a\xd3\x8f\x64\xd8\xab\x8c\x27\x74\x06\xeb\x6f\x7b\x4a\x3a\xbb\x1c\x0a\x3a\x30\x54\x31\x73\x80\x63\x38\x35\x60\xa4\x59\xeb\xbb\x16\xcb\xd2\x66\x10\x98\xa3\x90\xcb\x94\xca\x89\x06\xbd\xd9\x26\x0f\x9b\x68\x16\x56\x1b\x11\x7a\x86\x87\x2f\x41\x10\xf1\xd0\xd4\x20\x81\x9a\xfb\x5c\x15\x4a\x93\x4c\x17\x28\x10\x8c\x32\x37\xa6\x15\x9c\x46\xc9\x1e\x5a\xa1\x7a\xc9\xe9\x40\xdc\x29\x86\x87\x0d\xd6\xb8\x64\x07\xf4\x4e\x75\xbc\x31\xed\xff\x0d\x40\xd9\xd4\x17\xc1\x82\xb7\xee\x05\xa0\x48\x12\x58\x2b\x8f\x40\x1d\x9a\xe0\x1f\xa3\x86\xd6\xd6\x2e\xb8\x5b\xb6\x07\x5d\x35\xd9\x1c\x91\xa1\xbb\x94\x26\x67\x4b\xd0\x9b\xa0\xa2\xda\xb3\xf6\xee\x51\x00\x11\x56\x46\x68\x65\x45\x38\x01\x45\x37\xcc\x8d\xa0\xd4\x91\x13\x44\x91\xc5\xfd\xdf\xa7\xd0\x22\x2a\x51\xb1\x5e\x85\xca\xb2\x16\xa6\xe5\x97\xda\xed\x21\x00\x04\x52\xa4\x65\xa4\x24\xeb\xb1\x2e\xef\x91\xa0\xa1\x49\x1d\xde\x6c\x7d\x94\x93\x99\x56\xeb\x38\xe6\xbd\x52\xe9\x28\x5b\x07\xcf\xfb\x16\x0e\xbf\xf1\x80\xe8\x47\xf0\xbc\x88\x13\x5d\xd5\x57\x64\x7b\x6e\x9d\xf6\x9f\x4e\x3b\xae\xb6\x1d\x77\x78\xde\xf5\xf9\x28\xfb\xe3\xfd\x5e\x20\xf6\xef\x8b\xc3\xde\x7e\x3b\x10\x7b\xc9\xd5\xb7\x0b\xb0\xe0\x9d\x32\x4e\x66\xea\x44\x6d\x51\x0c\x05\x15\xbd\x9a\x56\xcd\xe4\xbd\x0b\x99\x85\xaa\xba\xc4\x5e\x98\x93\x92\x86\xc4\x35\xf9\xe3\x38\x04\x07\x4d\x5f\xf4\xed\xde\x42\x51\x26\xca\xa5\x4e\x6b\xcb\x80\x74\xd4\x96\x47\x86\x32\x2d\xb4\x85\x83\x48\x96\x25\x67\xd0\xe8\xe5\x95\xa3\xcd\x5c\x4e\x7b\x59\xe9\x9b\x4e\xc4\xaf\x96\xa8\x19\xd3\xb6\xab\xfb\x65\x6a\xaa\x04\xc7\x18\x29\x74\x97\xb2\x59\x02\x10\x18\x2e\xb2\xcf\xe9\x1d\x64\xcf\x24\x73\xea\x59\xc3\x6c\x7a\x5b\x2b\x86\x77\x0a\x44\xc0\x64\x57\x68\x75\x5b\x07\x79\x26\x78\xf9\xba\x31\x65\xa9\xc8\xd4\xf3\x09\x10\x97\x28\x93\x48\x2a\x18\x68\x4d\xf3\x8a\xd0\x86\xb0\x3a\x5c\xa7\x9b\x31\x0c\x0f\x1f\xb2\x31\xd3\xd6\x5d\xc4\x08\x9d\x67\x0f\x05\xbf\xac\x52\x73\xaa\xbf\x77\xbf\x9c\x8f\xf2\x5f\xbc\x44\x78\x1c\x24\x7e\xa7\xcd\xe7\x11\xaf\x3a\xc6\x25\xe9\xdd\x2e\x95\xf6\xe7\x25\x35\x65\xaf\xb4\x57\x94\xba\xc7\x9a\x98\x79\xe3\x28\x05\xda\x29\x43\x4f\x32\x56\xb6\x42\x6c\x3d\xe4\x24\x9b\xb6\x90\xf3\x41\xca\x25\xba\x49\x9f\x41\x09\x5f\xc5\xe7\x05\x50\xc5\x66\x88\x36\x38\x37\x02\x42\x5b\x7f\xd4\xb5\xa8\xd9\xba\xc2\x6a\xb6\x3c\x3c\x41\x58\x27\x48\x2d\x88\xac\xa0\x52\x96\x50\xa9\x96\x76\xaa\xd8\xa0\x85\xde\xe6\x80\xb9\xe2\xf9\xdd\xe6\xa2\xc6\xd0\x10\xf3\x2c\x6c\x5e\x89\xa8\x20\xbe\x83\xf3\x32\x76\xf4\xca\x32\x33\xd4\xd6\xbb\x3a\xe7\x78\x86\xe8\xb3\x4b\xfa\x60\x08\x62\x8a\x96\x31\x17\xd8\x3b\x58\x12\x07\x8a\x8c\xe3\x33\x98\x0c\x01\xb1\x76\x48\xe8\x14\x06\x98\x43\x34\xb3\xae\x4a\x98\x61\x0e\x56\x94\xc1\x1f\x28\x75\x03\x20\xc6\x96\x91\xb5\x99\x31\x15\xa8\xfd\x95\xf3\xe6\xd2\x60\x34\xbd\x15\x22\x63\xbe\xdc\xfa\x1a\xb4\x23\xe3\x7c\x99\xf1\x54\xf7\x11\x85\x88\x42\x33\x75\xee\xe0\x82\x83\xef\x52\x29\xa2\xad\x90\x19\x37\x0b\xc0\x6c\x63\x36\x20\xd5\x40\x59\xbb\xdf\x36\xa9\xf8\x0c\x66\xa1\x0c\x0c\x61\x62\x15\x24\x95\xb5\xe4\x80\x9a\xe2\x20\x53\x8f\x22\x05\x61\x87\x45\x19\x9e\x68\x5d\x07\xab\xeb\xc0\x15\xd1\x29\xe9\xee\xf1\x0e\xfb\x1c\x42\xd4\x15\xfc\xaa\xbc\x3f\x95\x02\x4a\x82\x92\xe4\x50\x20\x45\x48\x81\x25\xc4\x1a\xd0\x4c\x1a\x18\xe6\x28\xcf\xd5\x40\xbc\xae\x32\xdb\x24\x3d\x18\x87\xb5\xb1\xdc\xcf\x2f\xcd\xc1\x56\x5e\x6b\x8c\x8d\x6b\x7e\xf6\xab\x32\x76\x29\x36\x95\xe6\x84\xe2\xe5\xea\x31\x68\x40\xb1\xd2\x33\xea\x6b\xb3\x5a\x87\x10\x12\xec\xb7\xb4\x22\x92\x8d\x5c\xa9\xb8\xec\xeb\x2e\x9a\x17\xb5\xb5\x47\x2c\xba\x16\x4a\x84\x1e\x7f\xdc\x9e\x87\xae\x64\x2a\xd3\x1e\xf6\x0b\x6e\x7e\x8b\x55\x50\x7a\xfd\x7c\x00\x44\x53\xd3\x08\xee\x33\x47\x81\xdc\x1a\x0d\xa9\x96\xa0\x89\xc5\x4a\x79\xb0\x76\x52\x10\xd1\x5c\x4f\xc5\x2c\x6b\x8e\xdd\x86\x2a\x60\x38\x47\x36\xd2\xf3\x04\x2f\xdf\xd0\xf0\xe5\x8a\x76\xcf\x2b\x13\x1e\x21\xab\x13\xdd\x22\x97\xc6\xda\x8b\xd6\xcf\x65\x44\x58\x6a\xa7\x32\x5e\x9f\x69\x59\x2b\x35\x27\x9d\x1c\xb8\x50\xd5\x53\x15\xf2\x9e\xa4\x1f\x01\x79\x40\x0d\xa3\xac\x52\xa1\x7b\xaf\x88\xce\x6b\xce\x54\x9d\x2f\x09\x4b\x82\xf5\x15\x00\x43\x8a\x99\x13\x39\x68\x2e\x88\x8d\x8c\x1c\xb4\x96\x30\xf2\x1e\x29\x41\x58\xab\xae\x90\xcd\xb7\x89\x5b\xa9\x10\xa8\xb3\x3a\x16\x3a\x37\x79\xbb\xbd\xe8\x3b\xd7\xec\xf5\x85\xf9\xf9\xdc\x77\xac\x01\xea\x44\x64\x04\xf9\x0a\xd8\xf5\xf7\x28\x42\x92\x66\x2c\x98\x3e\x5a\xc1\x07\xad\x8c\x6b\x63\xfe\x65\x51\x3e\xf4\xc0\xca\x33\x7f\x27\xd0\x71\x2f\x28\x62\x6d\xce\x35\xbb\x5b\x46\xe0\x61\x6d\x6e\xed\x11\x70\xac\x2e\x86\xbf\x22\x0c\x8f\xae\xdb\xac\x4d\xa2\x12\x3d\x0c\x33\x12\x4e\x82\xad\x08\xde\xea\xb9\x07\x6d\x47\x06\xc9\x56\xbd\xba\x4a\x0f\xa0\xcb\x99\x41\x75\xae\x66\xf1\xe7\x96\x42\xe9\x35\xb4\x84\xd2\x92\xe1\x48\xf1\x62\x1f\x24\xd7\xb2\x42\xce\xb4\x04\xe5\x4c\x08\xf8\x5d\x85\x70\xaa\xa0\x2c\x1f\x52\xd4\x98\xfa\x57\x18\x6c\xe6\xac\x99\x0f\x2b\xdd\x7d\x62\x94\xd5\x64\x2a\x1c\x32\x20\xdf\x9e\x1a\x8a\xca\xf8\xe1\x91\xb5\xec\xac\x51\x21\xcb\xb3\x75\x5e\xce\xe9\xd3\x2c\xd5\xae\x1a\x44\x61\xf0\x7b\x88\x53\x10\x4c\xcd\x1d\xca\xa3\x3b\x35\x75\x05\xc3\xe6\x8a\x11\x55\x7a\x50\xf5\x25\x47\x0e\x43\x92\x94\x81\x2b\x54\x61\x6b\xa8\x12\x54\xda\xdb\x0d\xa5\xd6\x28\x9e\x1d\xcd\x47\xb3\x43\xc2\x18\x07\x2a\x70\xf9\x91\xca\xd4\xc6\xc6\x17\x55\x38\x22\x4e\xb0\x3b\x90\x58\x41\xd1\x8f\xf9\xd6\x28\xa6\x4a\xe8\x06\x36\x58\xf5\xed\x67\xcb\x36\x1a\xeb\xbd\xeb\x00\xeb\x05\xb5\xbb\xad\xaf\x23\x16\x23\x61\xc2\xb9\x61\xad\x23\x35\x45\xe7\x33\x8c\xad\xf9\xeb\xec\xd0\xff\x51\xc7\x35\xcb\x7f\xa5\x5c\x3e\xa1\x56\xad\x5b\xeb\x18\x7b\x9c\xf2\x33\xea\xd6\x06\xc6\xa0\x2f\xa8\x5b\xf7\x80\xe9\xa7\xcc\xad\xe9\x73\x02\x5b\xe8\xb4\x81\x99\x7e\x7e\x25\x8a\xd3\xb3\x6b\x12\xe4\xfa\x3b\x0c\x4d\x00\x7e\xfe\x5a\x3c\x7a\xfb\x80\xf9\x29\x57\xa5\xe6\x40\xcf\xbf\x2b\xbe\x63\xaf\xf7\x17\xc8\x65\xc7\x35\x95\xf7\x65\xd5\x6e\x26\x59\xd7\x5d\x66\x5f\x81\x84\x06\xe2\x14\xf1\x14\xeb\xfe\x2c\x21\xa0\x12\x8e\x48\x65\x8e\x8a\x85\x6f\xbb\x25\x92\x36\x17\x53\xcd\xba\x51\xb3\xb7\x6d\x44\xcc\x5b\xd7\x06\x7e\x15\x3c\xe9\x83\x02\xc7\x79\x30\xb2\xa9\x14\x63\x15\x73\x66\xc1\xd7\xde\xeb\xdd\x16\x9d\x03\xf7\xa7\x21\x17\x50\xd4\x0d\x7d\x48\xa6\x06\x8e\x99\x4f\xb6\x3a\x61\x27\xd0\xfc\x54\x68\xbc\xdb\x0a\x8c\xf3\x10\x99\x2d\x5b\x2e\x84\x83\xfb\x89\xa0\x13\xe0\xdf\x36\x06\x6f\xcb\xed\x1e\xa5\x8f\x55\xa1\xe5\x9d\x82\xcc\x16\x6a\x43\x5d\x38\x3c\x69\x0a\x1d\x63\x06\x52\x9e\x96\xa1\xce\xbb\x45\xfa\x11\x84\x2a\x30\x04\xe8\x24\xf6\x9a\x3d\x10\x85\x05\x67\x8d\x59\x81\x31\xad\x39\x34\x71\x31\x5f\xd1\xe9\xa4\x4b\x5a\x07\x42\xc5\x70\x8f\xc9\xd9\xd6\xf2\x86\xd0\x84\xe4\x69\xbd\xa7\xf7\x55\x01\x36\x83\x71\xd6\xf3\x26\x09\x89\xa4\xba\x16\xbb\x10\x42\xd3\x01\xc6\x26\x9a\x71\x83\xc2\x70\x45\x42\xad\x0c\xc7\xad\x9b\x1d\xbb\x14\xb3\xb8\x53\xba\x01\xbd\x29\x84\xd4\x24\x54\x7d\xbd\xe8\x4a\xd7\xfc\xd8\x7f\x9c\x58\xde\x84\x15\x97\xb6\x6e\x32\x0a\xc3\x7f\x94\x6b\x0e\x92\xde\x85\xdd\x09\xe0\x62\x08\x73\x22\x43\x80\xdf\xa9\xd3\x39\x42\xf3\x53\x78\x86\xe4\xc0\x80\x54\xf7\x16\x2a\x36\x57\x67\x50\x4c\xc8\x98\x6b\x04\xaf\x85\x75\x83\x66\xbd\x69\x80\xbc\x55\xa1\xd8\x2d\xc1\x66\xe6\x55\x40\xca\x1d\x18\x7c\x9a\x2b\x04\x2f\xb4\x78\x17\xd3\xb6\xda\xac\x39\x07\xd7\x7b\xb1\x41\x0f\x0c\x69\x0b\xe6\xc1\x46\xc8\x4e\x61\x4a\xe9\xd6\x1b\xe0\xce\xd6\x8a\x9c\x91\x54\x5d\x5a\x68\xb7\x15\x5a\xef\x41\x6b\xb0\xdd\x21\x66\x78\xa7\xaa\x2b\x88\x08\x3a\x74\x9b\xea\x78\xfb\x39\x75\x86\x96\xca\x42\x5a\xad\xb6\x30\x0a\xb2\x42\xce\x00\x52\x03\x08\xde\x22\xba\x45\xe0\x66\x44\x0c\x96\xe8\xb6\x19\x24\x2d\xb1\x69\x68\xb2\x5f\x60\x75\x01\x76\x78\x32\xd0\xf9\x60\x2a\x57\xda\x12\x15\x72\x04\x83\x71\xa3\x41\x38\x68\x0f\x28\x87\x6f\x2d\x58\xa7\xb6\x1f\x14\xb8\xb7\xff\x8a\x75\x22\xd4\x7b\x04\xbb\xc2\x58\x1b\xe3\x57\xb1\x2e\xad\xf2\x69\x41\x0f\x64\x87\x74\x80\x18\x25\xdf\x56\x64\x17\x6d\x8e\x0a\xb1\x94\x37\x0a\x80\x10\x30\xe7\x20\x3d\xfb\x14\xd0\x3c\x81\x2b\x52\xf7\x69\x64\x90\x45\x00\xff\x33\xdb\xaf\x66\x9f\x2b\x4e\xe1\x06\xe4\x58\xc1\x6d\xdf\x90\x50\x80\x3a\x3d\x28\xee\x51\x1d\x8f\x26\x36\x63\x23\x41\x80\x7c\xda\xb0\x2a\x39\x94\x62\x9f\x57\x5a\x00\x4e\x5a\xd7\x4c\x5b\x6f\xc2\x97\xeb\x77\x79\xe4\x3c\x1f\xba\xda\x82\xde\x00\x33\xd0\xac\x00\x3f\x43\xa2\x14\x02\xec\x79\x65\xed\xac\x92\x3c\xc8\xc6\x18\x29\x31\x5d\x53\xb5\x87\x5d\xc1\x5d\x2b\x78\xee\x77\xd9\x68\xf8\xbf\x89\xe1\x53\x18\x47\x03\x0d\x23\x36\xd6\x57\x69\xb6\xfc\x97\x12\x4a\x5e\x04\x15\xc9\xf8\x17\xaf\xd1\x10\x3c\xcc\xab\x24\x86\xf6\x1b\x55\x91\xbb\xd3\x17\x03\x0d\x27\x0c\xa6\x75\x59\x63\x17\x48\xcd\xdb\x78\xe8\x42\x82\x3d\x04\x45\x07\xc0\xd0\x18\x5d\x28\xd2\x44\xfc\x3a\x3d\x62\x41\x94\x2f\xc1\x2d\xd7\x82\xf2\xcd\x75\x92\xc0\x65\xa7\xdd\x03\x1d\x72\xa6\xc6\x2c\x7c\x7b\xf3\x5b\x69\x68\xc0\xb6\x47\xb8\xa3\x08\xc0\x53\xe0\x73\x01\xa7\x4b\x36\x6f\x0f\x12\xfb\xe4\x72\xc8\xa8\xc0\x71\xf6\x10\xfc\x6f\xe6\xfb\xe8\x0b\xbc\x55\xe2\x34\x76\x46\x2c\x97\x0b\x38\xd6\x78\x20\xd5\x33\x93\x43\xc1\x69\x6f\x18\xb5\xae\x0e\x64\x79\x34\x2a\x06\xd7\x70\x60\x5b\x58\x70\x27\xf2\xa3\xde\x47\xef\x34\x10\xad\x29\xab\x2f\x4a\xb5\xde\xe3\x10\x79\xc4\x32\xf2\x1d\xd4\x0a\x98\x3b\x34\x80\xd1\x79\xe0\xbb\xa4\x69\x13\x83\x66\x09\xa5\xc1\x94\x33\xe3\x01\xfd\xf0\xb6\xed\x5d\x73\xb5\xd5\x69\x48\x38\x3a\x2f\xa6\x12\xd1\xc0\xfe\x3d\xa1\x08\x61\xfe\x95\x8e\x15\x29\x81\x49\x6c\x21\x53\x01\xc3\x43\xef\x50\x54\x01\xd3\x8a\x87\x62\xad\x67\xb3\x2a\xaf\x85\x4e\x84\x25\x42\x7c\xa9\x07\xc9\x30\xfa\x7c\x32\xe3\xcc\x73\x14\x27\x35\xe5\x4c\x81\x02\x77\xe6\x32\x58\x1e\xc4\xc8\x47\x1e\xd6\xbf\x31\xac\x6d\x1a\xcc\x29\xd4\x1e\x74\xce\x50\xfb\x2a\xb0\x94\x33\x41\xb5\x2b\x39\x1b\x47\x50\x6a\xee\xbf\x82\xa1\x8e\x4b\x12\xb8\x5f\xea\x94\xcf\x76\x44\xad\x12\x5a\x32\xcf\xbe\x05\x6d\xc1\xec\x18\x4a\x37\x6f\x98\xb2\xb2\xf3\x46\x12\xbd\x53\x20\x68\x82\x05\x14\xcd\x66\x5e\x29\x60\x79\xbd\x6c\x28\x2a\x8a\x15\xda\x29\xee\xfb\x9c\xd5\x30\xb2\xcd\x59\xac\x9f\x62\x25\x95\x20\x1a\x28\xe6\xe0\xc1\xb0\x0e\x92\x90\x2e\x47\xc8\x62\xf5\xef\x93\xd8\xc1\x50\x52\x3f\x42\x27\xf7\xa4\x3a\xd7\x25\xaa\xc8\x50\x28\x2c\x3d\xe4\x84\x6f\xd4\xd6\x8c\x50\x82\x8d\xcf\x39\x01\x29\x97\x09\xce\xba\x3c\x61\xe0\x9b\x65\xdf\x2b\xd6\x53\xd6\xf6\xb7\xe0\x49\xc0\x13\xb0\x20\x81\xab\x19\x76\x07\xf4\x2c\xb0\x16\xf9\xac\x5f\xd8\x37\xe6\x96\x82\x16\x5b\x17\x8a\xf9\x41\xb0\x11\xc4\x75\x76\x3c\xd0\x16\xba\xab\x02\x51\x76\x44\x3b\x34\xd8\x61\xec\x62\x34\xd5\xb0\x93\x1c\x45\x37\x53\xf2\x9e\x2c\x01\x3c\x25\xee\xe3\x90\xb9\x91\x10\x65\xb7\xdd\x36\x5b\x87\x80\xad\xae\xe0\x11\xc1\xe5\x28\x12\x03\x5e\x94\x25\x0a\x47\x2a\x3a\x58\xe9\xa1\x24\x2a\x53\xa7\x9b\x0d\x8b\x1e\x6c\x60\xc9\xd6\x41\x72\x87\x81\x51\x42\x83\x64\x0d\x01\x52\x3f\x48\x26\x86\x25\x76\x38\x93\x50\x69\x1b\xab\xbd\x16\x9a\x0c\x4b\x84\x93\xae\x2e\xcd\xc4\x68\x11\xb0\xd9\x9b\x75\xd7\x3a\x58\xcb\x61\xdd\x1b\x98\x08\x01\xf2\xc3\x86\x0c\xa0\x9b\xf6\x6d\xfa\xd1\xd8\x28\x82\xc1\x5d\xc9\xc8\x84\xf8\xc8\xd3\x7f\x3a\x38\xe8\x59\x45\x36\x32\x2c\x6e\x2e\xa3\x8a\xc9\x77\xc0\xc0\x90\x5a\x30\x23\xcb\x93\x8d\x76\xe4\x8d\xc2\xf6\xb5\xdf\x36\x1b\x67\x88\xe3\x31\x28\x83\x98\x21\xa2\x0e\x36\x75\x11\x22\xd2\x30\x07\x04\xb3\xaa\x73\x01\x4c\xd6\xe6\x9b\x7a\xa4\xb5\x9a\x7f\x00\x06\xb2\x44\xc9\xe7\x42\x70\x30\x0d\x6e\x86\xa9\xbd\x6a\x7d\x96\xc0\xcb\x02\xc6\x27\x32\xcd\xea\x83\xbb\x90\x46\x98\x08\x91\x1d\x52\xde\xe4\x88\x46\xaf\x26\x6b\x21\x48\x67\x76\xf2\x58\x14\x73\x21\x2a\x89\x82\x50\x92\x5c\x38\x4b\x14\x4a\x35\xc6\x7c\xfb\xd9\x10\x99\xe8\xee\xb6\x76\x86\xc2\x6f\x6b\xe3\xd8\x45\xc2\x57\x75\xb5\xc6\x42\x59\xa2\x39\xd0\x2b\xcc\x0a\x33\x2e\x24\xc9\x43\x9a\xae\xf8\x38\x18\x56\xc2\x37\x74\x5e\xdf\xcc\xf0\x77\xf7\xd4\x09\x1d\x69\x29\xaf\x43\x73\x97\x5a\x87\xfe\x15\x38\x80\xa5\x37\x3a\xd2\x07\xa2\x2d\x5f\x0b\xc3\x38\x2f\xc5\x77\x85\x61\x44\x07\xf5\xcf\x2f\x4e\x5c\x2b\x9f\xe8\xa7\xba\x14\xe2\xef\x9f\x45\x7e\x70\xb3\x66\xa9\x93\xa2\x63\x5c\x05\x54\x6f\x1f\x08\xb4\x7f\x2c\xcd\xfa\x4e\x2d\xff\x10\x66\xa5\x9a\xdf\x17\x37\xf8\x87\xaf\x8f\x6f\x13\x4f\x5a\x93\x54\x23\x84\xb0\x64\x49\xae\x07\x58\xca\xb8\xdb\xb4\xf0\x7d\xbf\x5c\xb5\xdc\x0e\x32\xd4\xeb\xee\xf6\x11\xe4\x13\x02\xa2\x98\x7d\xbe\x41\x1b\xad\x5a\x9c\x75\xf3\xbd\xd4\xc9\x47\x0f\xa9\x2f\x19\xd5\xc7\xa5\xde\xa1\x5f\xe0\x13\xe7\x0e\x6d\x9f\xbd\x48\xfb\xfc\xfd\x6b\x6f\xdf\x7a\x0d\x3b\xee\xd7\x07\x26\x29\x00\x09\xe9\xed\x6b\xfc\xfa\x61\xa8\xcb\x29\x69\x7c\x26\xf3\xfb\xf1\xb7\xfe\x76\x0f\xda\x19\x33\xae\x37\xb8\xfd\xb9\x3b\xb4\x56\xc0\xe2\xfb\x5f\x69\xfc\xdf\x7e\x9d\x00\x7e\x5f\x84\x6a\x5c\xd2\xc3\xfd\x5a\xdf\x7d\xee\x68\xb6\xd0\x56\x01\x48\x3e\x16\x58\xae\xc4\xfd\xa3\xd5\xad\x41\x09\x86\x67\x3a\xcc\xec\x35\x38\xe7\xc4\xb7\xef\x1f\x47\xd5\x0e\x2b\x2d\xf0\x02\xb8\x84\x2a\xbe\xc4\xc2\xf2\x07\x47\xdf\xcb\x18\x27\x74\x7c\xb6\x23\x74\xe1\x79\x76\x9a\x5d\x87\x9f\x74\xf1\x5b\x8d\x85\x37\x07\x27\xc7\xe4\x07\xc6\xb3\x2d\xfe\xbc\xb8\xd7\x24\x91\x01\x1e\xe8\x78\xca\x71\x5c\x63\x9d\x3b\x18\xdb\xba\x30\x0e\xf6\x68\xed\xbf\xe2\x18\xf8\xbb\x86\xc0\xed\xbf\xc6\x18\xf8\x03\x43\xe0\x92\x08\xef\x17\x49\xf6\x77\x71\xd1\x94\x43\xed\xba\x44\xfb\xe2\x20\x8f\xfa\xb5\x7b\x63\x14\xe8\x18\x40\x6f\x7c\xaf\xff\x2a\xe5\xb1\xd3\x52\xc0\x08\x58\xbe\xdd\x7f\xff\x59\x93\xf3\xed\x5f\xa7\x67\xfe\xb3\x3b\xe6\xed\x3f\xab\x67\xce\x4b\xc6\xb9\x7f\x50\x6e\x7d\xf4\x4c\xa8\xbe\xa1\x76\xa7\x1d\xea\xef\x2c\x5b\xac\x8f\x38\xa6\x2c\x66\x5a\x15\x9d\xab\x74\x44\xfa\xec\x4b\x7d\x78\x6c\xee\xf3\xdb\xc7\x82\xf9\x7e\xaf\xb3\x9c\x5e\x65\x59\x9d\x27\xa5\x41\xe3\xfd\xa8\xb4\x24\x0b\x66\xa9\x0f\xec\x60\xa9\xe5\x0c\xe4\x8b\x24\x5d\xe4\xab\x06\xb9\xa4\x51\xfb\x57\x62\xf5\xd6\xf3\x4b\xd9\x95\xf8\xe0\xbd\x3d\x62\x23\x01\xea\x87\xcf\xab\xe3\xc3\xc7\xb5\x53\x9a\xba\xea\x2c\x2a\x2b\x7c\x54\xa1\xb1\x41\x23\x93\xb9\x3f\x6d\x02\x5a\x25\x00\xff\x8e\xad\x63\x27\xb6\xb0\x61\x3b\x6d\xdf\xfe\xd3\x77\xf8\x75\xb3\xe8\x2f\x83\x60\x3b\x8d\xa8\x15\xf9\x5f\xc7\xa7\x21\x36\x49\xf1\x96\x67\x70\xf2\x3c\xa0\xb6\xe3\x1a\x5f\x41\x03\x5e\x35\xfc\x25\xd1\xd7\xbf\xa4\xbc\xee\x48\x44\xe4\xb9\x3a\xf1\x8e\xec\xde\x76\xf2\x35\x97\x82\x34\xf2\x54\x64\x26\x51\xde\x2e\x22\xf8\xc1\x47\xd0\xda\xae\x5d\xa6\xf6\xf6\xf8\xa8\x2b\xd9\x97\xfc\xa8\xb7\xb6\x72\xb7\x09\xfb\xc4\xae\x4a\x06\xb7\xac\xe9\x0e\xcd\xf8\x2a\x9f\xf7\xe6\x4f\x7a\x07\xe5\xe7\x5b\x4a\xa1\xb7\x71\xfb\xf0\xb6\x7c\xf6\x8f\xaf\x8a\xf7\x3d\x29\x4f\xb3\x71\xd0\x36\xde\x70\x62\xfd\x60\xc3\xbf\xcb\xbe\x4f\x07\x05\xa9\x83\x0e\x7b\xa3\x87\x4c\xe5\x0b\xd8\x46\xed\xed\xd5\xf7\xbc\xe4\x02\xfb\x57\x74\xc3\x9a\x14\xe4\xa3\x75\xc5\xe7\x02\x80\x2b\xd6\xfc\x88\x87\x9a\x4f\x62\x50\x37\x37\x92\x9a\xd9\x37\x6e\x94\x71\x68\x60\xa6\xc6\xde\x32\x42\x5a\x62\x93\x16\xb4\x34\x6e\x40\x23\x01\xdd\xa2\x92\xca\x94\xa5\xf7\x18\x39\x41\xd8\x3f\x1c\xf5\x44\x61\xeb\xb1\x92\x6c\x4d\x42\x6e\x9b\xc2\x64\xb4\x1b\xd9\x7d\xd4\x16\x89\x80\x9b\xec\x97\x5e\xfc\x66\x2b\x48\x32\x91\x0e\x68\x6f\xa0\x4e\x90\x4c\x5f\xbf\xa7\xa5\x22\x4a\x95\x6d\x9d\xe8\x69\x67\x40\xeb\xf9\xb6\xef\x2e\x25\xa8\xf4\x7d\x2f\xf2\xc7\x89\xbf\x2e\xd1\x76\x46\xdb\x8b\x63\x5f\xb5\xfa\x25\x6d\xd6\xbf\x2a\xb9\x3b\xa6\x98\xcf\x68\xaf\x1e\x14\x39\xd9\xdb\x1f\xa0\x56\xe7\x74\x20\x27\x2e\xc9\x4e\x6a\x88\xe5\x3d\xcf\xd6\x9e\x4e\xc7\x45\xfc\x1a\xf6\x5a\xdd\xfa\x9f\x9d\x6f\xa7\xf7\x00\x28\x5e\x79\xfb\x29\xbd\xa5\x7f\xd6\x93\xdc\xbe\x7e\x94\x83\xa7\x12\xb4\x4b\x25\xc4\xbc\xc0\x0c\xb3\xa3\x50\xf4\xe6\x82\xe7\xf3\xf9\x44\x27\xf2\xb2\xa3\xce\x20\x4e\x46\x80\x9d\xe4\x95\xb6\x1c\x9e\x54\x06\xc7\xdc\x08\x3a\xf7\xa6\xf1\x3a\x83\x67\x99\xc1\xeb\x62\xb1\x79\x0d\x92\xbf\xe2\x3c\x65\xc1\xd3\xef\xd2\xe6\x6d\x1f\x52\xc2\x6d\xcf\xf3\x8e\x8b\x39\x25\xe5\x3f\xe1\x36\x25\x8d\x17\xb7\xb9\xfd\x91\xfb\x9c\xcb\xc4\x80\x58\x50\x42\x8e\x77\xf8\x79\xd4\x9c\x6d\xa6\x4d\x21\x0e\x62\xf3\x99\x45\x55\x41\x6e\x33\x82\xb9\x14\xff\x94\xcc\x8a\x65\x98\x8f\x44\x51\x36\x22\x6d\x91\x73\x86\x83\x0b\xde\x06\x9c\x87\xce\xa8\x29\xe4\xbe\xd6\x40\x7d\x2a\x54\xf2\x6f\x40\x7d\x3c\x85\x61\x51\x0c\xa1\x85\x50\x19\xe5\x2b\xdc\x36\x4d\xa1\x0c\xb2\x67\x13\x93\x8c\x24\x3e\xb5\x1b\x4b\x83\x81\xc8\xfc\x86\x32\xf5\x85\x6c\xbe\x36\x2a\xb8\xdb\x7b\xda\x6b\xf2\x2d\xed\x25\xed\x1d\xed\x15\x07\x81\x75\xfe\xae\xdb\xf1\xfe\xcf\x46\x79\xd5\x65\xaf\x41\xd4\xaf\x6a\xd4\x9e\x5d\x36\x1e\x5f\x39\x9e\x3e\x73\x3c\x75\xa7\xd3\x57\x7e\x7e\xe4\xe7\x37\x7e\x7e\xe2\xf8\xfc\xc6\xf1\xd2\x67\xff\xde\xfb\x3c\x3b\xed\x17\xf7\xb9\xfd\xe3\x37\x02\x39\x91\x93\xd3\xc1\x29\xca\x24\x9a\xd8\xd3\x43\xea\xb0\xb0\xed\x99\x5f\xf6\x72\x35\x75\x0e\x29\x2f\xf4\x4e\xac\xec\xed\xf5\x47\x5d\x46\x0f\xb1\x26\x00\x7a\xa1\x3d\x67\x2b\x29\xc4\x00\x30\x34\x74\x95\xaa\x01\x75\x75\x35\x48\x97\xa5\xe4\x90\xc7\x52\x7b\x88\x6d\x6d\x48\x55\x82\xe7\x76\xec\x90\x11\x3c\x11\x1e\xc8\x9e\x07\x8f\x73\xdb\xf8\x38\x2c\xac\x7d\x6e\x1e\x07\x6c\xf1\x79\xda\x5f\x19\x9b\x9d\x05\x0e\xa5\x06\x1b\x99\x48\x35\x77\x24\x85\x60\xe8\xea\x4a\x24\x62\x71\x7e\x4d\xd5\xfb\xb3\xd8\x41\x7b\x60\x81\xb3\x2d\xf6\xdd\x16\x12\x67\xca\x42\x55\xb2\x02\x23\xb3\x15\xce\xdb\x4b\x0b\x73\xeb\x01\x35\xf7\x61\xae\x3d\xa0\xd2\x01\x29\x1b\x14\xc6\x98\x6f\x46\x52\xe4\x0d\xf9\x87\x2a\xb7\x4d\x7b\xa8\x73\xd3\x16\x48\xc9\xd7\x03\x38\x8c\xa8\x30\xaf\x69\x97\xde\x1c\xe2\xa2\x9c\x5d\x82\xa2\x1e\x1d\x15\xb0\x20\x2b\x46\x0d\x2c\x15\xed\xca\xa0\x56\x3d\x90\x1d\x54\xad\xe7\x5c\xd3\xfc\x8c\xc8\x53\xc0\x20\x54\x5e\xd7\xf1\xcf\x6b\xa8\xf8\x4a\xed\xf9\xde\x27\xca\xa5\x62\xd5\xd4\x59\x1f\xb1\x4e\xf1\x50\x86\xce\xf6\xa8\x53\xdf\x7e\x62\x60\x73\x0f\x0f\x6b\xbb\xbf\xa3\xfd\x7a\x82\x70\xe7\xcc\xed\xdd\x45\x5f\x3d\xf6\x35\xf0\xf8\x65\x35\x5a\x4f\x33\x48\xc2\xac\x0d\x1f\x02\x24\xbb\x1a\x62\xab\xa0\x92\xc4\x1c\x0e\x66\x0b\xc5\x16\xd1\xe7\xe8\x3a\x09\x45\xa9\xc8\x4e\x35\xd7\x40\x2c\x43\x01\x47\x53\x3a\x66\xdd\x36\xb0\xf4\x27\x2f\x22\xef\x6d\x89\xbd\x87\x09\x96\x6f\x15\x64\x33\xc9\x18\x93\x51\xdd\x8a\x4a\x75\xfb\xa4\x23\x28\x2c\xf2\xb6\xce\x1a\x66\x20\xf9\x7d\xf5\x34\x1a\xdc\xab\x15\x16\xe2\xe8\xa1\x35\xb2\x56\xd6\x4a\xcf\x0d\x23\x42\xcb\x5c\x2b\x78\x0c\x6a\x01\x71\xbb\x24\xb1\x9f\xac\x98\x2d\x0d\x8c\x7b\x42\x8d\xb6\x09\xf4\x59\xac\x2c\xf4\x40\xbd\x50\x5b\xb1\x18\xcc\x1c\x4a\x9d\x21\x0f\x5d\x51\xaf\x32\x02\x1b\x48\xbf\xf6\x03\xfe\xbb\xf6\xff\xb8\x7c\x85\xa3\x90\xcb\x05\x47\xcd\xda\x7a\x44\xfb\xf7\x8e\x7f\x1f\xf6\x0f\x24\xd1\x6b\x50\x10\x85\xa9\x84\x96\x05\x0c\xa3\x3a\xfb\x3d\xb6\x5c\xf0\x4b\xd4\xd9\xb9\x3b\xda\xfe\x4c\x66\xe3\xaf\x7d\xfc\xff\xf9\x3f\xfe\x9f\xff\x5d\xaf\x95\xf6\x23\x7d\xef\xa9\x66\xda\x85\xef\x51\x81\x95\x97\x5e\x29\x4c\x05\xd5\x5b\x29\x8b\x62\x42\x5d\xc0\x10\xdf\xf1\x23\xd6\x6e\x7f\xd5\x8a\x83\xec\x98\x5e\xc3\x20\xd7\x46\xce\xf7\x38\xeb\x62\x0b\x02\x39\xd4\xb1\x09\x3e\xf5\x09\xd2\x74\x09\x53\xab\x39\x17\x29\x38\x94\xa2\x79\xe9\x40\xcb\x0b\xa8\x29\xc4\x29\xd7\x29\x51\xae\x07\xec\xb3\xb6\x43\x80\x60\x8b\xa3\xa2\xf2\x83\x85\x1d\x32\xa7\x2b\x40\xa0\xc0\x0b\x68\xf6\x47\xec\x7a\xbb\xc7\xe9\x35\xa9\xbd\x39\x13\xac\xcd\x9e\x8f\x68\xdf\xdd\xb3\x3e\xd5\x79\x1e\x46\x88\x7d\x01\xc3\x48\x7f\xc4\x31\xee\xa5\x8c\xc7\x68\x0b\x74\xa2\xa5\x20\x6d\x0f\xca\xd7\xc0\x09\x79\xaf\x18\xb0\x27\x2b\x9b\x84\xbe\x11\xd0\xf1\xc8\xa3\xdf\x65\xca\x92\x07\x45\x5b\xd4\x86\x16\x83\x0f\xa1\x6d\x25\xcc\x07\x42\x6b\x36\x03\xef\x54\x1f\x94\x9d\x20\x4e\x45\x13\x2b\x88\x9c\xc6\xb1\xd8\x28\xc2\x73\xd4\x12\xa6\xb9\x05\xe2\x25\xc0\x58\xfb\x6c\xfa\xb5\x9b\x7b\x3d\xc6\xa3\x6a\xba\x47\xed\xf5\xb6\x38\x71\xaf\x40\x4d\x43\x75\x85\xd0\x0e\x72\x54\x36\x23\xe5\x7e\x50\xb9\xb6\x1d\xa7\x03\x35\x98\x1f\x75\xc1\x12\x38\x1f\x71\xb4\x7b\x7e\x51\xda\xc2\xbe\x77\x09\x31\x8d\x2f\x53\xc9\x58\xe7\x28\x2b\x50\x47\x70\xd5\x27\x21\x52\x9e\xb8\x74\x98\x76\xd6\x1d\x4b\x03\xda\x92\x32\x44\x42\x88\x37\x2b\x82\x00\x8d\x3f\xd4\x97\xc9\x62\x94\xbc\x62\x3d\x66\xd4\x0f\x38\x39\xd0\x4c\x3b\x39\x90\x03\xcb\x46\xa7\xc2\x83\x48\x98\x05\xf4\xf6\x28\xff\x51\xa7\xaf\xc8\xae\x63\xbb\xa2\xfe\xb5\xa2\xa4\x17\xaa\x23\x82\xfa\x89\x75\x54\x52\xb1\x7b\x09\xe2\x40\x39\x64\x95\x1a\xa4\x29\x64\x2f\xaa\x0a\xea\xe4\x60\xf2\x02\xcc\x55\x6f\x4b\x86\xd1\x20\x10\xce\xef\xa1\x16\xd2\x73\xf7\x09\x17\x69\x6d\x10\x74\x4a\xcd\x2b\x79\x80\xa0\x66\x83\x70\xb3\xe1\xe1\x43\x2c\x65\xe3\x8e\xc0\x8a\x9f\x42\xf4\x7f\xa5\x44\x58\x09\xbd\x2c\x84\x78\x98\x17\x86\xea\x9b\x19\xaa\x80\x23\x37\xad\x75\x10\xba\x8f\xb2\x3a\x17\x5f\x11\x27\x94\x04\xae\xaf\xc0\xda\x2a\x32\x42\x01\x0d\x7d\x6c\x4a\x56\x2b\x3c\x01\xef\x6b\x8f\x00\x02\xf3\xb2\x01\x6d\xdb\xf0\x88\xfe\xb0\xd8\x81\xe2\x24\x68\x2c\xb1\x70\xb1\x94\xdb\xfe\x1a\xe8\xd1\x6a\xa6\x53\x5b\x59\x7e\x02\x16\xcf\x8d\x64\x9e\x47\xf4\x46\xed\x9d\xb6\xe8\xf4\x9e\xd1\x1e\x12\x65\xf8\x7a\xf0\x83\x25\x1f\xb3\xcd\xbe\xed\x86\x3d\x58\x8e\x08\xac\xd6\xc6\xf3\x89\xfc\x65\x95\x8e\x47\x5b\xc8\x7b\x83\x75\xe0\x07\x44\xb3\x80\xd7\x21\x16\xb9\x0d\xaf\x4a\x61\xe5\x88\xd9\x15\x85\x3f\x0b\x79\xbf\x76\x49\x18\x1e\xdf\x20\x2e\xae\x35\xe4\x22\xfb\x07\xc4\x97\x29\x9b\x7f\x16\xd0\xcd\x03\x8b\x56\x58\x48\x65\xed\x51\x0a\x68\x06\x5c\xaa\xd9\x2b\xb7\x9e\x1f\x7c\xff\xde\xfe\xb9\xbf\x36\x09\x5a\xba\x04\x19\xc7\x57\x49\xef\x36\x43\x2f\x72\x47\x51\xa5\x28\xb9\x3f\x5d\xde\x5a\xd0\x59\xfb\x06\x3c\x51\x90\xde\x36\x85\x43\x86\x12\x9f\x4d\x21\x4a\x58\xf2\xaa\x19\xa8\x67\x39\x9e\x17\x18\xd6\x8c\x55\x1b\x1d\x0f\x95\xa7\xe8\x81\x45\x1f\x51\xc6\xb8\x9b\x19\x5e\x51\x54\x2c\x12\x28\x5f\x4b\xa4\xdb\x81\xf1\xc7\x2f\x44\xeb\xd5\xbe\x01\xae\x94\x37\x4d\xc3\xc1\x38\x7d\x8f\xb8\xda\xb4\xd5\x29\x81\x57\x77\xb8\x6c\x88\x13\x75\x5a\x84\xb3\x0f\xdb\x6c\xa1\x66\xc0\x64\x40\x56\x1f\x33\xeb\xd3\xca\x04\x97\x0f\x5c\x0d\x05\xd4\xbf\x80\x94\x3f\x14\xd1\x2d\xdb\x72\xd6\x06\xca\xe5\x01\xf5\xeb\xe3\xa8\xcc\xf7\xea\xe7\x1f\xf5\xde\x72\x5d\x47\x40\x69\x66\x80\xd4\x83\x4d\x22\x09\xcb\x01\x40\x2b\x64\x41\x04\xb0\xaf\x08\x58\xc6\xc8\x63\x5e\x5b\x40\xe1\x95\x2a\xa0\x61\x99\xc5\xc7\xea\x2a\x72\x24\x65\x75\x26\x5d\xd7\xe9\xe8\xcd\x87\xe3\x06\x09\x53\xe2\x33\x5f\xf5\x85\x4b\x80\x72\x5c\xf2\xd2\x27\xf6\x12\x73\x88\x1f\x2d\x8d\xbb\xfd\xed\x11\x1b\xa3\x92\x1f\x23\x3b\x64\x8e\xf2\x31\xe2\x82\xe1\x25\x86\x51\x75\x20\xd3\x43\x49\xd9\x51\xde\x7e\x2a\x90\x64\xbe\xcb\x36\xb8\x1e\xd6\xf6\xf6\x53\xa5\xb8\xc8\xd1\xc7\xf9\x1f\x16\x92\xd8\x93\xb1\x42\xe4\x0a\xe9\x98\xaf\x52\x1f\x2d\x5d\x62\x87\xe3\xcb\x2c\x65\x1d\x85\x51\x56\x4c\xea\x22\xce\xe9\xa0\xe9\xc9\x46\x37\xa6\x4d\x4b\x2c\xc5\x9b\x4f\xae\xe0\x2e\xa1\xab\x93\xde\xcd\xb6\xc1\x4e\xee\xe4\x15\x4a\x01\x24\x5f\x80\x64\x62\x90\x49\xd7\x4d\x50\x0f\x67\x0e\x29\xd0\x75\x58\xed\x30\xb0\x1c\x68\x09\x80\x9f\x4c\xa7\x3e\xb7\xbe\xa3\x42\x1c\x28\xe2\x31\x02\x36\x15\xe8\xea\x69\x83\x53\x4d\x45\xce\x35\x0a\xe7\xdd\x9c\xac\x1b\x67\xa2\xf4\xa2\x34\xeb\xfa\x38\xa7\xe6\x0d\xe8\xbf\x9c\xc6\xe6\x3f\x6f\xdb\xb1\xeb\x38\xda\xcf\x5f\x15\x71\xc7\x8c\x9a\x40\x49\x7d\xe3\x82\xab\x13\x5a\x2d\xd9\x7c\x9e\xbc\xb4\x69\xd7\x01\x79\x15\x22\xc8\x88\x04\x38\x1c\x2b\x81\xe7\x99\xaf\x51\x00\xf2\x55\x96\x3b\xff\x23\x00\xff\x55\x21\xd8\x52\x1c\x27\x86\x02\xb8\xec\x94\x88\x8d\x8c\x87\xd5\xd6\xb8\x92\xee\x31\xcf\x87\x2d\x12\x30\x03\x73\xd5\xbb\x2d\x3c\x30\x3d\xab\x13\x38\xdd\x36\x56\x97\xda\xdd\x40\xf2\xe7\xbc\x3c\x65\x6c\x04\xd4\x46\xfd\x3a\x44\x4d\x0b\xe8\x12\xba\x1c\x5f\x65\x1d\xa5\x68\x0f\x43\xfb\x12\x1b\x78\x62\xda\x32\xcd\x53\x94\xfb\xa8\xb6\xfe\x26\x33\x75\x75\x01\xce\x4f\xa4\x3d\x46\x1d\x8b\xc8\x80\xa6\x67\x7e\xb3\xb3\x4b\x68\xb3\x2f\x42\xe2\xe9\x47\xb4\x03\x62\xcd\x66\x7c\x43\x95\x73\xf4\xd0\xc5\xfe\x94\x80\x14\xd0\x7b\x1c\xb5\x2e\xb9\xb6\x50\x5f\x50\x2a\xf3\x6d\x2e\x51\xad\xf1\x95\x20\xb1\x4d\x00\x55\xc7\x5e\xca\x05\xf2\x98\x20\xcd\x15\xfd\xbd\x40\xd3\xfe\x7f\x16\x93\x35\x3f\xec\x3e\x1b\x75\xf3\xf0\x17\xaf\xc5\xfb\x53\xd7\x6a\xad\x84\x62\xe6\x7f\xaf\x0a\x6d\xce\x07\xd9\x14\x5d\xc7\xf1\x90\x71\xac\x4f\x39\xc7\x6d\x17\x78\x7c\xc4\xac\x89\x27\x75\x24\x6b\x1d\xec\x61\x77\xb9\x1d\xb7\xc1\x73\x88\x28\xf2\xe2\x6d\x7f\xe4\xfd\xb8\x8f\x0f\x13\xd1\xef\x1f\xc6\x32\x68\x50\x1f\x99\x47\x40\x4c\x1e\xbd\xa5\xb4\x4d\x04\x6b\x1e\x79\x0a\xd0\x51\x28\x0c\xd7\x00\x89\x06\xcd\x28\xd1\x0e\x79\x52\xc8\x4e\x1a\x7f\xc2\xd7\x62\xd9\x28\x89\x83\x79\x0e\x15\x09\x3b\xa0\x50\x00\x6e\x4a\x5a\x51\xcf\xcf\x15\xca\x0c\x00\x8e\x17\x50\x74\x82\x1c\xb5\xf4\xc0\x28\x1d\x78\x71\xde\xbd\x82\xca\x2e\x2c\x87\xeb\x33\x7e\xd5\x94\xc0\x7d\x8f\x18\xe0\x72\xfd\x60\x43\x42\x71\x39\x13\x7a\xd0\x89\x05\xd6\x2c\xaf\xf6\x08\x93\x5c\x4d\xfe\xca\x2c\xcb\xc6\xab\xd4\x6d\xcf\x4a\xfc\xc5\xc6\xfd\xf4\xb0\xa6\xe5\xe3\xc3\xde\x7d\xf9\x57\x8b\xcf\x25\xc6\x34\x2e\xe9\xdf\xd3\x6a\xac\x3a\x46\xe8\x19\x96\x99\x59\x17\x00\x2f\xb8\x0a\x6e\x5f\xac\x37\xba\x74\xe5\x20\x70\xa9\x21\xed\xb7\x63\x20\x0a\xd1\x48\xfc\xc5\x9e\xdc\xd6\xd9\x51\x41\xc4\x66\x3e\xd6\xc0\xbc\x8e\xef\x14\x73\x47\x39\x33\xb0\x1e\x6a\x76\xda\xdc\xc0\x01\xd0\xf1\x23\x97\xcd\x8b\xdf\x59\x59\x3e\xee\xb3\xb1\x76\xe3\x3d\x14\x53\xd3\x07\x45\x9a\x1c\x5f\x1f\x94\x52\x66\xd4\x9b\x5f\xf5\x41\x6c\x5c\xdf\xd0\x7b\x13\xa9\x13\xd2\x06\x77\xcc\x35\x96\xe9\x1c\xdb\x13\x97\xe6\xaa\x02\x64\xad\xdf\xf3\x00\x51\xa9\xee\x0b\x45\x68\x86\xa0\x9d\xbc\x38\xb7\xd0\x60\x57\xdb\xa1\xf9\x60\x72\x90\x7e\x8f\xb9\x39\xa9\xe2\xf0\x88\xaf\x80\xec\xa0\x5a\x53\x95\x6f\xa9\x43\xaf\x60\x6a\xf5\x33\x36\xbf\xc4\x5d\x52\x59\xc9\x17\xcb\x3b\x6d\xcf\x9b\xf3\x69\xfc\xe1\xa0\x24\x2e\xc1\x1f\xdd\x17\x20\xbc\xce\xfe\x86\x7c\xe1\xfd\xfd\xf7\x06\x41\xfb\xdc\x25\x75\x1b\x9b\xb5\x87\x9e\x18\x1c\x01\x47\x48\xfd\xb1\x6b\x84\xf9\x4c\x76\x28\xd5\xfe\x2a\x59\x7b\x78\x1f\x7e\x9a\xd9\xae\xb8\xd0\x3d\xda\xb5\xa3\x10\xbb\x9e\xa1\xb6\x75\xf4\x85\xe8\x9d\x23\x7a\x5f\x89\xde\x75\xe2\xde\x97\x56\x97\x7a\xee\x84\x67\x48\xab\x77\x11\x81\x35\x08\x8e\x03\x80\x6a\x06\xd0\x0b\x2f\xe2\x9c\x2d\x5d\xe2\x9c\xe3\x2b\xfe\x1d\x91\x9a\x42\xef\x65\x47\xfe\x53\x99\x71\x1e\x78\x98\x3c\xcd\xe6\xcc\x0f\x6d\xf3\xae\x35\xaf\x15\xe2\xdc\xbe\xcb\x5a\xdd\x8f\x87\xe5\x90\x75\xfa\xb5\x10\xde\x9f\x70\x1d\x28\xe1\x84\xa9\x58\xef\xb1\xe4\xfc\x88\x63\xb6\xbb\x8c\x74\x5c\x54\x00\xa1\x52\xd5\x60\xa7\x6c\x53\x83\xaa\x5c\xa2\xfa\x7f\x8e\x03\xe9\xf6\xf7\x92\xd1\xb7\x74\xa9\xf0\x1b\x57\x51\xd9\x13\x15\x62\xb3\xde\x4a\x8d\x34\xb0\x3d\x32\x84\x02\x60\x42\x03\xf0\xa6\x3b\x13\xaa\x4d\x08\x8a\x5f\xad\x07\xb9\xe8\xdc\xf0\x91\x1a\xe5\xa9\x31\x55\x02\x59\x76\x77\x9c\x16\x63\x3c\x0c\xc1\x68\x46\xc6\x20\x07\x01\x63\x1d\xc0\xc2\x4d\x82\x92\x89\x55\x9a\xcd\xd7\xc4\xc9\x29\xb0\x6a\xa0\x61\xc2\x45\x3b\xc9\x43\x04\x30\xdf\x59\x56\xf2\x79\xa0\xfe\x15\x7e\x37\xc9\x51\x33\x19\xaa\x5d\x97\xab\x96\x0d\xe4\x39\xd6\x0d\x00\x60\xbd\x81\x73\x64\xc7\xfe\x02\x6b\xfb\x9c\x34\x9c\xd0\xc9\xf7\xfe\xd8\x65\xf7\xc8\x38\xe8\xbb\x6d\xae\x68\x2b\x88\xe5\xc9\x5c\x80\xf8\x77\x25\x5e\x39\x7b\xb7\x19\xde\xa0\xce\x07\x9b\x18\xeb\x2a\xa0\x56\xa2\x49\x9d\x92\x8d\x59\x54\x83\x34\x02\xba\xc6\x0c\x40\xd1\x6c\x70\x5b\x40\xd4\x02\xe4\x5f\x06\xc3\xb5\xb6\xbe\x21\x8c\x9e\xdb\xda\x14\x5a\x93\x8c\x40\x8f\x2d\x83\x14\xbd\xac\x9a\xab\xcd\x60\x89\xd6\x42\x1d\x4f\x7a\x79\x90\x57\xde\x56\x37\xf2\xc3\xee\x9d\x20\x74\xd8\x1d\xa5\x57\xc8\x3a\x5f\x9e\x8f\x0e\x6e\x16\x9b\x3a\x40\x20\x48\xee\x44\xc2\x98\x33\x52\x6e\x4e\x98\x42\xbd\x78\x07\xef\x32\x11\xa4\x98\x13\x41\xcf\x96\x0a\x3f\x77\x46\xef\x57\x20\xfc\x06\xd5\x5f\x14\xf3\xa5\x86\x32\xb7\xba\x43\x1a\x29\xce\x0b\x2c\xcc\x0a\xfc\x6a\xd1\xc0\x67\x18\x6f\x3f\xad\xd3\xee\x4f\xa7\x08\xb6\x64\x04\x2b\xb2\x3f\xde\x8e\xb2\x2e\xf8\x9d\x22\xe5\x92\x6f\x7c\xbe\xc1\xab\xda\xdd\x60\x91\xd4\x8e\x0e\x24\xad\x20\xdd\x91\x2b\xe6\x3a\xd0\x04\xe1\xd7\xfe\x7c\x50\x39\x26\x79\x5c\x00\xbd\x18\x57\xac\x3d\x88\x42\xf5\xca\x2c\x1e\xc8\x60\xcd\x11\xfc\xa9\x5e\x00\x0b\x9b\x5c\xc3\xfe\xff\xed\x40\x95\xc3\xfc\x27\x4f\xe1\x98\x64\x7d\x11\xd2\xfa\x22\xe7\xe2\xa8\x2e\x44\x64\xb8\xdd\x08\x61\x25\x78\x6b\xa6\xe0\xbf\x03\xde\xfa\x3c\xec\x79\x32\xaf\xc8\xfe\xea\x04\xda\xce\xd3\x2d\x7b\x90\xe7\x80\x92\x75\x77\xa6\x2a\x99\x5a\x7b\x21\x0e\x39\x0f\xa6\xf0\x11\x70\x01\xef\x5e\x47\xbe\xca\x29\x7b\x85\x30\x33\xdc\xbc\xba\x84\x69\x3a\x42\xbb\xbd\x85\xb1\x2f\xf2\x83\xc8\x86\x23\x0a\xd3\x28\xf3\x9a\x50\xe3\xe6\x4e\xf6\x86\xb8\x5d\x6d\x1e\x60\x1f\x9b\x79\x08\x20\x4c\x24\x07\xee\x06\x7a\x96\xee\x6f\x56\x64\x73\xde\xd3\xec\xe4\x84\x65\x6e\xc5\xd1\x97\x89\x5d\x45\xc1\x4d\xcb\x12\xaf\x0e\xa4\x75\xd1\x0d\x5c\x44\x1d\x62\x28\xe2\x6c\x24\x32\x53\xa8\xb4\x22\x20\xea\x06\xb0\x22\x3b\x3a\xd7\x58\x46\x81\xca\xdc\x43\x47\x25\x94\xe2\x8c\x08\xc5\x69\x18\xe7\xa1\x48\x81\x08\x2a\x35\x79\xd3\x8d\x7e\x37\x42\xe3\x08\xbd\x21\x1c\x4a\xe8\xa6\x22\x12\xe1\x61\x2c\x14\x53\xec\xc8\xbc\x3e\x02\x7f\xaf\x69\x6b\xd0\x2c\x3a\x08\xb5\x45\xca\x06\x29\xf9\xd0\xfb\x86\x45\x0c\x8a\xd8\xc8\x9a\xd9\x0a\x87\xf8\xea\x26\xcd\x69\x85\x37\x27\xd5\x99\x65\x6b\x47\x50\x50\x58\x64\xc9\x76\x62\xfc\xcc\x09\xb1\xa2\xab\x64\x1c\x14\x4d\x66\x99\x20\x4d\x4d\x30\xf3\x0c\xb1\xde\x23\x54\x7f\xf1\x1b\x63\xa3\x52\xb6\x08\x93\xe9\x30\x06\xb5\x84\x9e\x76\x0d\xc2\x49\x6e\xce\x0a\xb3\xb9\x1e\x19\x22\x71\x9e\xc7\xdc\x83\x80\xae\x01\x56\x0f\x57\x1c\xf1\x90\x5d\xec\x89\x3a\x83\xbd\xb9\x32\x38\xc9\x70\x61\xde\xb4\x8d\xc2\xdc\xdb\xec\xd4\x2b\x60\xa9\x2a\x96\xa0\xee\xd3\x20\xfd\x2a\xee\x4c\x73\xcf\x64\xda\x69\x73\x23\xcd\x38\x02\xfd\x50\x95\x45\x31\x14\xde\xbf\xa9\x6b\xc1\x73\x1c\xf1\x0f\x3c\xe2\xd5\x88\xbf\x26\x5b\x0e\x45\xdb\x9e\x40\x36\xf8\xa8\xbd\x7d\x50\x53\xce\x5a\xad\x0f\x8a\xca\x79\xf8\xaf\x45\xe5\x28\x0f\xfb\xb5\xaa\xdc\xfc\xf3\xbf\xf7\x0e\x35\xef\x5c\x97\x54\x9a\x40\x99\x6e\x1e\xec\xc2\xcc\x0e\x91\xc7\x8c\x7f\xc4\x01\xb7\xfd\x17\x14\xf6\xf2\x28\x3f\x08\x00\x5b\x9c\xfd\xdc\x3a\x1f\xf0\x3c\xef\x79\xb9\xed\xdd\x7d\x9e\x0f\xf0\xea\xcb\x5c\x63\xf1\xff\xd7\xf1\x65\x1a\x99\x61\x56\xc5\xcc\xf6\xfa\x5e\xdb\xb7\x5e\xfc\x0f\xbc\x37\x8b\x79\xcd\x05\x06\xe3\x8b\xf6\x0c\x76\x14\x5b\x82\xe6\xd8\x7a\xb6\xbf\x50\x45\x16\x76\x93\xff\x3d\xfa\x71\xf8\x19\xf7\x3d\x11\xbb\x3a\x52\x8c\xf9\xb6\xf9\xc6\x76\xec\xf2\x83\xdf\x7e\x8e\x56\xc2\xc7\x3e\xe1\xd1\xb1\x9e\xbe\xa6\xb9\xbd\x57\x5f\xf3\xd9\xa5\x7e\xd5\xa2\x9c\xfa\xf6\xb3\x8c\xf4\xb7\xde\xe0\x45\x4f\xb8\x46\xe2\xff\xef\x63\x55\x4e\x63\x7c\x31\x84\xde\x83\x0e\x5f\x0e\xa1\x33\xf6\xf0\x1f\x1a\x42\x7f\xe3\x08\xba\xfd\xc6\x10\xba\x46\xec\xff\xe3\xdf\x43\xe8\xc3\x21\xf4\x5b\x3d\xfc\x23\x88\xea\x17\x3d\xfc\x65\x31\x7c\x93\x4b\xc0\x7b\x7e\x49\x68\xd1\x2b\xa5\xe0\x10\x70\x94\xbc\x66\x22\x18\xb0\x5e\xa7\x95\x4a\xc1\xac\x76\x8f\x2a\x07\x0a\x86\x7c\x8a\x23\xa8\xe0\x10\x08\x2f\xb5\x50\x93\x5d\x26\x4b\xbe\x4b\x57\xf5\x40\xef\x6c\x7d\x19\x90\x29\xaa\xf7\x28\x3d\x0d\xfb\xad\xf7\xba\xe6\xc0\x72\x24\x84\x52\x0a\xe3\xa2\xf7\x3d\x29\xf5\x95\x44\xf4\x47\x05\xb4\x8f\x3d\xc7\xf5\xea\xe4\xdb\xa7\x67\xa3\xea\x1e\x3e\x56\x76\x96\x74\xbc\x78\x72\x21\xf1\xe4\xa0\xad\x4f\xe1\x0f\xdb\x47\x10\x0f\x24\x8b\x3d\x44\x75\x44\xae\x76\xd9\x77\x77\x45\xe5\xb7\x2f\x0a\xe2\x4b\x24\xaf\xc0\xaa\x83\x7f\x5d\x86\x45\x5d\x9a\xf3\xa4\xc9\x12\xf1\xb7\x57\xfd\xe6\x92\x5a\x98\x97\x52\x91\x33\xfb\xdd\x54\x40\x44\x56\x88\x98\x7e\x58\x1d\xba\x7d\x52\x76\x7a\x8f\x02\xb2\x5c\x50\x30\x31\x6e\x5a\x9c\x2c\xa5\x37\xa7\x2d\x4b\x77\x82\xe3\x22\xb1\x41\x43\x43\x4e\xb0\x37\x7b\xe3\xa9\xad\xe9\x1d\x6c\xe6\x27\xed\xf4\x6f\xd4\xb1\xde\xad\xeb\xdb\x10\x85\x17\x6a\x7e\x9e\xd7\x51\x30\xd3\xbd\xd3\x4c\x2e\x70\x76\x41\x78\x04\x87\x00\x56\x7b\x21\x5b\x37\x63\x88\xf5\xa8\xf1\xf0\x4a\x7c\xea\x1f\xe3\xe4\x6c\xce\x86\xb4\x15\x95\xfc\xb4\xe6\xcd\xf9\xf0\x7a\x8d\x7e\xf7\xba\xd9\xac\x8f\x22\x0e\x03\xe2\xe7\x3d\x3e\xf6\xfe\xed\x77\xc8\x0d\x8f\x8b\xc4\x05\xc5\xe2\x9a\x23\x93\xf8\xa0\x0d\xe7\x7a\x1f\xfd\xe3\x17\x6d\xa0\x77\x5b\xd8\x1e\xb7\x95\xed\x71\x34\x94\xb7\x01\x9b\xc0\x19\x79\xeb\x13\x98\x60\x3b\xd1\x96\xd1\x1b\x13\x77\x3b\x5a\x6a\x7b\x36\xe0\xbd\xee\x63\x8f\x11\x5a\xb4\x5a\xb1\x4f\xd5\x5b\x10\x2d\x65\x01\x91\x6c\x11\xfb\xec\x59\x17\x49\x12\x4a\x91\x55\x66\x18\x23\x8c\x19\x04\xee\xa2\xb4\x84\x88\xcd\x5d\x5a\xff\x10\x93\xf7\x01\xa2\x09\xc7\x4e\x44\x68\x5b\xda\xdd\x04\x94\xe7\xda\xd3\x83\xa6\xaa\x14\xb9\xf1\xbe\xf6\x14\x45\x58\xd0\x02\x7a\x1f\x24\x49\xd4\xcb\xa3\x80\xf9\xc2\x9d\x3f\x84\x47\xd9\xfd\x3f\x00\x5d\xf1\x1c\xfb\x53\xda\xe5\x3f\xcc\x9f\xa2\x8a\x5d\x7f\x69\xd2\x5c\xd2\x19\xf3\xab\x42\x93\x39\x25\x54\xd1\xa5\x95\xa0\xb5\x99\x67\x50\x16\xc4\x55\xec\x37\x85\x12\x68\xaf\xa8\x4e\x6d\xa4\xc7\x07\x67\x84\x07\x05\x33\xca\x78\xcd\x05\xec\xcf\x93\xb2\xc8\x4a\x62\x4f\x94\x8c\x10\x25\x57\xc8\x85\x78\xba\x44\xfd\xe0\x12\x64\x48\x1c\x97\xeb\x93\xa7\x82\x95\x79\xf6\xf9\x81\x3b\xd6\x10\x5b\xd0\xb1\xf4\x11\x32\x04\xf7\xed\xc9\x3f\xbf\xc2\xb3\xa0\xba\x06\xd1\xdb\x87\x97\xb0\x47\x3f\x1f\xf5\xee\xa0\xda\x82\x3d\x47\x0f\x00\x3d\x04\x2d\x77\x7b\xe6\xbd\xdd\xae\xa7\x0a\x6d\xc6\xf3\xb9\xf5\xfd\xb9\x43\x82\x3d\x2b\xaf\xa8\xf6\x57\xf0\x7e\x9c\xda\x0e\x22\x22\x7b\xd3\x21\xf0\x22\x6a\x5f\xe5\xaf\x9e\x9a\x45\x6e\x9f\x1d\xf5\xaa\x5f\x5d\x62\xfd\x33\xef\x16\xdf\x00\x65\x73\x5e\x04\xa4\x79\x65\xb0\x14\xd3\xfe\x79\xfb\x39\x0a\x18\x72\xcb\xb2\xff\x69\x89\xfb\x61\x6f\x3f\x3b\x3a\x47\x4e\x4b\x81\x74\x51\x59\x62\x4e\x2d\xe4\xd4\x96\xfd\x67\xf4\x3d\x8f\xd8\x40\x9a\x54\x51\x9a\xcf\xd1\x3f\xf3\x92\xbd\xf2\xde\x13\x6f\xb6\xe5\x7b\xfc\x48\x9c\x87\x54\xfc\x7c\x67\x6a\xdb\x24\x94\x9d\x0f\x89\x01\x2f\xa8\x3d\x3b\x2f\x91\x0b\x9d\x10\xbc\x30\x58\x9d\x28\x07\x2d\xd7\x6d\xff\x4d\xcb\xf3\x30\x1e\xc5\x0b\xf8\xf9\xb8\x30\xae\x9b\x35\xf0\x66\xc7\xc6\xb1\xef\x7c\xc6\xe9\x4a\xa7\x1b\x9c\xee\xbc\x9d\x1f\xe9\xdd\xc3\x3e\x5f\xe2\x78\xb3\x57\x1f\xf4\x92\x38\x98\xd7\xa2\x9b\x53\x6d\x3d\xa0\x1d\x79\x91\x9e\x83\x40\x1c\x99\x1b\x8f\x98\x4b\x79\xc3\xee\xa1\x9f\xee\x6e\x0a\x00\x0a\x4a\x1b\x62\xae\x36\x97\x20\x82\x54\xd2\xa3\xe3\xbb\x42\xa5\x7b\xda\x6a\xce\x2a\xe7\x25\x77\x0d\xb9\xe7\x25\xee\x1b\xfb\x8e\xfd\x50\x9c\xb8\x5f\xe5\xc5\xbb\xea\x25\xfa\x3a\xeb\xe1\xe7\xa9\x03\xf1\x00\xa2\x27\xaa\x7e\xdb\x31\xf6\x8e\x68\xdf\xe1\xf8\xfe\xc3\xff\xca\x63\x70\xc2\xce\x44\x80\xd2\x82\x7f\xe4\x32\xf0\x09\xdd\xfc\x23\x8f\xf5\xc9\x66\xdb\xe2\x3b\x73\x2e\x9e\x0d\xbd\x78\xb6\x00\xbf\x63\x0d\xde\xde\x9b\x83\x3f\xa5\x40\x7a\xb2\x94\x03\xe9\x08\x9f\xcc\xbe\x48\x65\x91\xdb\x70\xfb\xbf\x51\x97\x54\x1b\xe8\x8c\x3f\x5a\xc2\x1c\xe7\x08\x24\x0e\x4e\xc7\xd9\xe6\x19\x80\x23\x52\xdb\xdd\x4e\xbc\xae\xbd\x74\xd0\xbc\x19\xff\xfc\xfb\xdf\xfe\xb2\x39\xac\x97\x60\xde\xfc\xaa\xd2\x46\x52\x09\x23\xa7\xa5\x83\x5f\x2f\x99\x81\x3b\xda\x08\x2d\x27\x82\x30\x33\xd9\xdc\x6c\x44\xb3\xec\x0c\x76\x45\x4e\xe3\x61\x3d\x09\x84\xd8\xe9\xde\x5a\x5a\x62\x06\xf3\x70\x92\x6a\x7b\x32\x3c\xeb\xa2\x0b\xbc\xcc\x66\x4b\x56\x69\xfc\xad\x89\xae\xc3\xbc\xc6\x9c\xcd\x99\x04\x3b\x2b\xd8\x25\xcc\x1c\xca\x89\x76\x4b\x4e\xb6\x64\x44\x54\x8c\x40\xd2\x92\xa5\xb7\xf6\x1c\x7c\xc0\xd8\xfc\xa1\xf7\x3b\xee\xe7\xbf\xba\xd1\x8b\xd6\xbb\x04\xdc\xe6\x57\x08\xfb\x3c\x4a\xe8\xa9\x58\x1f\x21\x4f\x15\x38\x3e\x15\x5c\x7b\xaa\x12\x72\xd7\xc7\x54\xa7\xc8\xcf\x00\x43\xa3\xab\x7a\xc5\xa6\xec\x15\x9b\xb4\x48\x95\xf1\x73\x45\x2b\xa3\x42\x1d\x2a\xe9\x29\x28\xe0\x8f\x0a\x6d\xe2\x6e\x36\x29\x0a\x64\xe0\xcb\x6a\x1e\xc1\x16\xaf\x56\x12\x9e\xa4\x15\x7f\x12\x60\x87\xf8\x24\xd6\x4c\x3d\xb7\x43\xcd\x75\x4e\x56\xd7\xc1\x56\x4c\x4a\x1c\x95\x52\x00\x10\x94\xcf\xce\xeb\x08\x2d\x02\x92\x04\x8a\x2d\xc7\x20\x3e\x07\x2e\xb2\xba\x96\xa3\x50\xb7\xcd\x95\xda\xec\x7d\x70\x3e\xf4\xac\x05\x14\xac\x10\x7a\xb7\xc3\xf6\xda\x53\x3b\x19\x52\x93\x24\x9d\x07\x13\x21\x8b\x82\x65\xf3\x3b\x6b\x43\xce\x4b\x81\xf0\x02\x1c\x74\xce\x20\xad\xe2\xc9\x73\x25\x4c\x9a\xc8\x9d\xbc\xa3\x2c\x8f\x10\x0a\xa8\xea\x11\x7a\xe1\x16\x02\x32\xae\x68\xec\xe1\x1c\xac\xbf\xdf\x08\x1d\xe9\x25\xe6\x36\xc7\xff\x76\x00\xb8\x6a\x68\x5a\x59\x87\x1a\xd5\x69\xc4\xb5\xea\x1b\x76\x8d\x41\x58\xfb\xbe\xab\x73\x97\x28\xc4\xe5\xa6\x9f\x96\x8b\xd0\xfd\x2f\xe2\xfb\x9e\x97\x6c\x9d\x97\x6c\x7d\x3f\xef\x79\x4d\xee\xeb\xbe\xaf\xa4\x11\x34\x3d\x44\x29\x3b\x6e\x86\x9c\x94\x0d\x96\x2c\xc1\x32\xd9\x8c\x2a\xad\xa8\x42\x4d\x40\x1e\x62\x23\x62\xcb\x76\xd2\x2e\xd4\x27\x14\x3b\xb6\x0d\x18\x0e\x44\x25\x68\x8b\x0c\x08\x67\x95\xdb\x86\xdd\x77\xfc\xd9\xd1\xdf\x6d\xb3\x3b\xbe\xfd\xac\x15\x7c\x8d\x69\x11\x68\x01\xd9\x50\x4c\xed\xed\xe7\x1c\xfe\x67\x1b\x11\xcf\x3f\x3b\xfd\x5f\x4b\xcf\x7b\x10\x35\x86\x8c\xcf\xe6\x85\xfe\xf9\xce\xbd\x47\x7d\xbb\xb9\xb3\x1b\x12\xbc\xa9\xee\xef\x0c\x4c\x01\xca\xe1\xb9\x9f\x4f\xb7\xd7\xcf\x23\xf9\xe2\x97\x7d\xf5\xc5\x2f\xc1\xc2\xf9\x15\x35\x80\x39\xc3\x1d\x01\xb3\x54\x40\x50\x4e\xf4\x00\xd2\x8d\x79\x06\x4d\x20\x32\xef\x21\x43\xde\xb5\xc0\x5d\xed\x29\xe4\xb6\xc6\x31\x43\x31\xf7\xdf\x8c\x62\x90\xa1\xe7\xb1\x98\x85\x90\x51\xf7\x4f\x04\x01\x8b\xd1\x8e\x64\xa2\xeb\xd8\x79\x8d\xaa\xe4\x7d\x2b\x0b\x8c\xe3\xee\x93\x35\x90\x6e\xa3\x84\x01\xa8\x7f\xde\x10\xe6\xab\x65\x13\x71\x05\xe6\x04\x81\x45\xca\xb2\x6c\xc2\x94\xd9\x4c\xc0\xd2\x65\x54\x6b\x93\x17\x3c\xad\x12\xa0\xae\x04\x3e\xdb\x9a\x29\x83\x29\xa1\xf6\xdb\x1a\x7b\x0f\x80\x77\xf4\x19\x14\x03\x77\xd4\x90\xc5\x96\x84\x32\x83\xf4\xbe\xc6\xee\xb4\xcf\xa4\x7c\xd5\xba\xc5\x39\xdc\xd7\x8d\xa0\x94\x2f\x3f\x76\xa9\x20\x19\x6d\x8b\x55\x6d\x50\xbb\x8e\xae\x56\x73\x4c\x89\xac\x99\xab\x75\xfe\x14\x0a\x69\x44\x73\xdb\x90\xd3\x9d\x6a\x4b\xa4\x8b\xe7\x6c\xe2\xc1\xd7\xce\xd5\x12\x95\x6d\xc0\xa0\x90\xee\x7d\xc7\x77\xfb\x5f\x49\x44\x20\x88\x94\x26\xf7\x97\x37\x52\xb0\xa6\xbe\x50\x32\xd4\xc6\x99\xa4\xb2\x44\x85\xbc\x4a\x75\xe9\x5d\xf5\x02\x9e\x88\x21\xa6\x2e\x64\xe8\x25\xf5\x0d\xf0\x11\xc6\x01\xa8\xa2\x12\xaa\xed\xeb\xd3\xa6\xb7\x57\x7d\xef\x1a\xff\xfc\x52\xd8\x26\xf7\x12\x46\x9f\x6b\x6c\x8c\xf4\x80\xb3\xd9\x49\x49\xf7\xfa\x47\x6d\xe2\xa3\x2a\x39\xce\xc5\x36\x9a\xc2\x12\x6a\xc1\xf3\xa5\x5e\xf6\x76\x54\x2f\x79\xb5\xf2\x51\xc7\xc4\x5c\xed\x44\xfa\x32\x64\xb0\xbd\x0f\xc4\x44\xa4\xba\xc0\x91\x2d\x16\x73\x57\xdc\x76\x7d\x75\x70\xcb\x08\x60\x44\x93\x74\xcb\x3b\x0e\x07\x59\x6f\x20\x23\xcb\x0a\x65\x4a\xa8\xe2\xaf\x10\xc0\x68\x29\x14\x59\x6c\x42\x5b\x2b\x89\x4c\xbb\x04\xad\xf3\x5e\x14\x65\xa2\x28\x42\xe9\x5c\x38\x97\x41\x6e\x79\x7b\x11\x41\x6f\x2b\x72\xc4\xa4\xcb\x0a\xc8\x8f\xf5\xda\x5c\x36\x09\xe6\xce\x4d\x84\x7d\x75\xe0\x02\x45\x08\x21\xdd\x65\x19\xf9\xd4\xce\x70\x3d\xc1\x45\x2d\x8a\xd7\xad\x60\xb1\x61\xf6\x1f\x89\x6b\xb4\x10\x40\xc1\x04\xc6\xef\xd6\xf4\xdf\xc7\xe6\x70\x23\xb5\xcd\x5e\xf4\x55\x1c\xdf\x8a\x48\x3e\x1f\x9b\xeb\xb2\xaf\xaf\x20\x37\x72\x35\x1f\x57\xbb\xc7\x2f\xbe\xad\xf5\x49\x7f\x84\x93\x70\x2d\x5e\xea\xb4\xb9\xef\xde\x8f\x3f\x5d\xe3\x7c\xed\xe3\x8e\xc7\x43\x9c\x1e\xcd\x91\xf6\x34\xc9\x2b\x03\x23\x34\x09\xb7\xa8\xb0\xa8\x9b\x0d\x24\x84\x64\x4a\xdd\x62\x03\x60\x75\x6c\xfe\xf3\xb6\x1d\xbb\x8e\xa3\xf7\xf3\x15\x36\x1e\xfe\x6e\x7f\xb6\x03\xed\xb8\xc6\xea\xa3\xb8\xff\xdc\xff\x1e\xf7\x03\x23\x4f\xfc\x57\xd1\x12\xfc\xdd\x32\x3a\xbd\xc6\xbb\xff\xcf\xa7\xea\x43\x1e\xa1\x6b\x5e\xb1\xa2\xd4\xa0\x33\xc4\xa1\x0b\x42\xd4\xb5\xca\x1a\x0b\x61\x6f\xc4\x52\xf4\x64\x8f\xcc\x11\xee\x70\xd2\x69\x66\x5b\x29\x21\x13\x30\x49\x46\x7a\x20\xdc\x42\xef\x3f\xea\x92\x6b\x28\x8a\xc0\x48\x0e\x71\x00\x44\x2d\x92\x03\xc1\xd4\x8c\x59\xa0\x94\x19\x72\x1e\x70\xae\xb3\xad\x4b\x7d\x9d\x50\xb1\x0d\xd6\x24\x19\x25\x34\x65\xaf\xe3\x09\x6a\x2d\x4e\x94\x8a\xa4\xfc\x2c\xac\xb3\x19\x62\x1e\x97\x18\xa8\x16\x11\x29\x41\x47\x09\x52\x64\xd1\x56\x42\x4e\xe9\xc6\x18\xce\xe8\x0b\xd3\x13\xd2\x00\x45\x77\xa1\xfd\xce\x82\x40\x4a\xed\x3f\x47\x7b\xef\xe4\x19\xe8\x79\x51\x5b\xa9\x25\x23\xa4\x0e\x6e\x22\x90\xd9\xa3\xf0\xc4\xbc\x8d\x32\x50\xcd\x97\xa1\x1f\xa1\x20\x36\x8a\xff\x1f\x7b\xef\xb6\xe3\x48\x92\x24\x0b\xbe\xf3\x2b\xec\x07\x2c\xc7\x54\xed\x8e\x1d\x0c\x70\xba\xfb\x3c\xc6\x37\x2c\xea\x76\x96\x0f\x8e\x5d\x38\xc6\x97\x0f\xf1\xf5\x0b\x15\x51\x73\x32\x92\x11\x99\x51\x55\x59\x33\xbd\x73\x06\xe8\xae\x60\x92\x4e\xa3\x5f\xcc\xd4\xf4\x22\x2a\xd2\x06\x4c\x11\x65\xfd\x01\x00\xd9\x28\xf9\xa3\x59\xb7\x6c\x06\x2b\xed\xb6\x6f\x02\x24\x9d\xe1\xbf\x59\xc4\x2a\x23\xa1\xff\x27\x51\x79\xc1\xf6\xb8\xaa\xe6\x02\x1d\xfe\xc7\xdf\x15\xda\xd1\xea\x32\xea\xd4\x63\x78\x78\x79\x7e\xfe\x7a\x79\x69\xb6\x6b\x35\xdd\x89\x16\x34\x1f\xa4\xc9\xc6\x4e\xf5\xec\x14\x65\xae\x13\x95\xab\xeb\x44\xb1\xa4\xe8\x16\xc1\x8b\x84\x50\x77\x1d\xab\xa2\x08\x74\xed\x80\x86\x53\xce\xed\x61\x38\xb3\xb1\xc3\xdb\xd9\x84\xf4\xd3\x02\x84\x3f\xc3\x53\xc0\x8a\x96\xb0\x5b\xfa\x3e\xf0\x44\x9f\x33\xc0\x27\xbc\x61\x8c\x04\xbd\x70\x04\xee\xef\x17\xcd\xdb\x7b\xa5\x4a\x1e\xfe\xb6\x18\xdf\x9e\x91\xe5\xaf\x2f\x22\xd9\xa2\x57\xf4\x6c\x57\x6f\x2e\x98\x69\x65\xaf\x6d\x3b\xab\xca\xee\x58\x17\xa6\x6c\x3b\x65\x40\x46\xf0\x82\x81\x0e\x36\x94\xaa\x59\x30\xae\xa3\x79\x8b\x59\x7f\xcf\xe9\x22\xd4\xc9\x2e\xa3\xd0\x90\xb2\xd3\x42\x7c\x56\x9e\x9c\xb1\x45\x88\x3e\x02\x26\x4d\x65\xaf\x39\x28\xa0\xa2\x25\x1f\xaa\xa1\x58\xe0\x56\x94\x35\x0b\x8a\x55\x10\xa5\xac\x60\x57\xa2\xcd\x85\x0a\x7e\xdf\xc9\x0a\xe6\x5a\x1f\x23\x83\x37\x96\xbc\x4d\xae\x26\x2b\x2e\x6f\xe2\xe9\xad\xc1\xec\x30\xb6\xdd\xa0\xe9\xa8\x41\xf3\x6e\x51\xa0\x4c\x0d\xb9\x40\x5f\xf0\x1e\x88\x22\xdf\xc7\x82\xf9\x7c\x00\x6f\x22\x51\x82\x9a\x18\x11\xcd\xe4\xd3\x00\x08\x0a\xe4\x2b\x24\xdd\xb8\x9c\x02\xcd\x9a\xca\xc1\xb4\x0d\x7c\x90\xfb\xab\x87\xcf\xef\xdf\x3b\xee\xa3\xf1\x95\xbd\x30\x77\x3c\xdf\x55\xd7\xec\x1b\x75\xd1\x81\xc4\xfb\xab\xfb\xa7\xf1\xfe\x95\xb8\x86\xf9\x8f\x80\x3d\x5c\xfe\x2a\xe4\x90\x3e\x27\xc1\x9f\x89\x3d\x4a\x5a\x55\xd1\x6c\x6e\x3f\x4a\x0f\x8d\xf6\x49\x52\x28\xab\x55\x15\xf8\xc8\xbb\x68\xbf\xb7\x1d\xfa\x01\xfe\xac\x0b\x79\x8f\x78\xd2\x44\x49\xc6\xe6\xef\x9f\x4a\xdb\x0f\xc7\xbe\xbe\x4c\xb1\x18\x22\xaf\xe5\x97\x13\xb5\xbb\x97\x7a\x30\x6b\x74\xd4\x9f\xdc\x62\x6e\x1d\x08\xdb\xd8\x29\x95\x5c\xbc\x90\x29\x42\x19\x04\xbb\x2b\x28\xa5\x8c\x00\x26\xb8\x4d\x50\xd9\xcf\x73\x13\xc8\xd9\x6d\xcc\x41\x14\x04\x2f\x04\x6a\x9b\x27\x0f\x60\x76\x41\x39\x84\x2b\x19\x68\xdc\x1d\x27\xc4\x56\xf1\x0c\xa5\x4e\x9d\x44\x47\x02\x56\x99\x19\x3f\xd4\xbe\x6b\xb0\xa8\x6b\xf6\xd0\x64\x6c\x35\x14\x69\x1b\x45\x24\x5a\xd9\x48\x65\x05\x9d\x48\x10\xef\xa1\x92\x4a\x55\x09\x82\x2f\x27\xb5\xf2\x6d\x23\xe9\x60\x48\x80\x1a\x04\x54\xe2\x7d\x83\x86\x22\x65\xc0\x41\x25\xa8\x45\x44\x30\xd3\x98\x7c\x20\xd1\xb1\x87\xa3\x73\x6e\x2a\x12\xf2\x90\x5d\x73\xb0\x28\x53\xec\xcf\xde\x01\x12\x4d\xd0\xe2\xdc\x0a\x48\xfd\x54\x2e\x7b\x0f\x90\xa0\x03\x9c\xd4\x7e\x08\x2a\xf1\x62\x6f\x4b\x0e\xc8\x57\xbf\xbe\x54\x29\xa1\xe4\x8c\x5e\x76\x1b\xcd\x95\x70\xb5\x1e\xcd\x35\xfe\xc7\x86\x01\x2b\x76\xc5\x99\x03\x7b\xe9\xa9\xb4\xd1\x49\x1b\x18\x21\xad\x50\xc9\x4a\x0d\x0a\x8d\xc6\xb5\xa7\x20\x27\xcc\x15\x5a\x41\x6c\xb5\x1b\x20\xfe\x10\x2d\x21\x63\xdd\x65\x34\x28\xd7\xb9\x67\x61\x04\x8a\xcc\x12\xe5\xad\xed\xf6\x40\x60\x05\x4d\x4b\xc5\x95\xf7\x97\xe3\x8e\xfe\xa6\xcc\x8c\x14\xc4\xfc\x81\x9f\xcd\xa1\x35\xb9\xec\x76\x39\xa1\x07\x39\x7a\x28\x5b\x0e\x6a\xa7\x3b\x41\x19\xf0\x1d\xa9\xad\xa6\xcf\x25\x88\xdf\xbe\xd1\xbb\x50\x53\x09\xb5\xe8\x15\x19\x16\x09\xda\xd0\x41\x8a\xee\x56\xd9\x53\x20\x4f\x94\x3d\xcc\x62\x5e\x38\x76\x93\x9a\xaf\xb1\x96\x5b\xcc\x63\x5c\xab\x9a\xbf\x44\x27\xa9\x42\x38\x4c\xf2\x78\x7d\x99\x50\x06\x92\xb1\x01\x84\x71\x07\xda\x70\xef\x75\xa8\x72\x94\x74\x35\x27\xec\xbe\xd7\x7c\x21\xf5\x01\xab\x34\xb7\xa6\xd7\xa8\xe0\x0e\x82\x28\x2e\xa3\x32\xcc\x7f\xdc\xf2\x6b\xd4\xd6\x77\x4f\xbc\x42\x84\x57\xc6\x01\xf5\xed\xba\xd5\xda\x42\xaf\x7d\x9f\x36\x7f\xb4\x07\x29\xd7\x9c\x17\xce\x0d\x40\xdd\xcb\x81\x18\x0f\x49\xc7\x91\xfd\x6a\xa3\x00\xbd\x4c\x2d\xfe\x0c\x03\xa9\x9e\xcf\x00\xb1\xc8\x7d\x5b\x2c\x38\x51\x88\xc3\xdf\x78\x81\x50\xab\x08\x5a\x0e\x7c\x76\xd5\x36\x76\xea\x1b\x65\x2e\xcf\x09\x9f\x29\xe6\x64\x4e\xd6\xcc\x67\xe5\xcc\xe6\xa1\xeb\x83\x1e\x11\xfe\xf6\x97\x53\xe2\x08\x20\x66\xef\x0d\x49\xf0\x79\x4e\x7f\xe5\x1a\xab\xec\x79\x84\x42\xc8\x77\x60\xef\x7c\xf1\xb4\xfc\xa1\x12\xe6\x38\x26\x68\xe2\x36\xa1\xe0\xc7\xe0\x0f\x29\x92\xf6\x58\xa1\x2d\x21\xad\x80\xa6\x1d\x46\x99\xe2\x2c\x32\xe0\x0a\xb8\x96\xbc\x17\x8a\x54\x42\x5f\x3b\xf5\x65\x37\x71\x1c\xbc\x85\xe6\x92\x7d\x1d\x18\x1e\x15\xcd\x9f\xbf\xb0\xf3\xb2\xca\x0f\xb9\xa8\xfb\x35\xa1\xb8\xe7\x57\x95\x98\xb1\x7d\xbc\xae\xcb\x1f\xb8\xb0\x9c\xca\x8f\x7c\x62\xe7\xa5\xfd\xd0\x0b\xfb\xd4\x75\x5d\xd8\x48\x8a\xeb\xfa\x6e\x37\xf4\xff\x78\x2a\xf2\xfd\xf4\x0c\x75\xbb\x6f\xce\x0d\x79\x8f\x4a\xe6\x60\xd8\xe9\x3a\x9c\x53\xa6\x63\xaa\x81\x37\x20\x80\x77\x48\xd9\x22\x85\xd0\xed\x80\xe2\x36\x38\x11\x09\x65\x2f\x28\x87\xc9\xd9\x87\x02\x89\x67\x4f\xc8\xc5\xea\x52\x48\x29\x90\x87\xc1\x6c\x33\x2e\xd2\xb7\xda\x4e\x22\xa1\x08\x97\xc9\x3c\x34\xc8\xea\xec\x80\xc2\x63\xdf\xec\xa0\xa2\xe3\x9f\xdd\x4e\xc7\x85\x77\xfc\x0b\xfe\x7d\x1f\x0f\x84\x5a\x42\x02\x06\xb6\x38\xfa\x39\x1c\x7e\x52\x17\xdb\x5a\x52\xe0\xf9\xce\x30\xc2\x79\x2d\x87\x5f\x1d\x2f\x76\x57\xf3\xf4\xed\x1e\x1c\x7e\x47\x70\x7f\xa0\x2d\xec\x3e\x31\x6b\x15\x50\x09\x06\x2f\x82\xdd\xb2\x81\x32\xe0\x58\x57\x8c\x24\xe9\xd8\x59\xbe\x00\x7b\xdf\x97\x25\x5b\x8b\x9b\xd3\x1a\x49\x3b\xfa\x19\x20\x4c\xa8\x5e\xb1\x5f\x08\x6e\xf4\x74\x6e\x3c\xdb\x71\x41\x6a\x8c\x8d\x1b\x14\x75\xe5\x58\x7f\xfd\x83\x1d\x79\x49\x55\xef\xa2\x95\xbd\x65\xf4\x8d\x4a\x87\x43\xde\x2f\x9b\x39\x23\x3b\x82\xd0\x11\xfc\xe4\x08\x33\xb2\x93\xce\x16\x2e\x86\xf3\x82\x8e\xf3\x2a\x5f\x5f\x7a\x6f\xa1\xbf\x5f\xea\x64\x13\x45\x81\x7a\x6f\x0f\xfc\xdf\x4c\xab\x0a\xdc\xc3\x24\x24\x12\x8e\x09\xb0\x47\x0f\x08\x24\x87\x58\x99\x53\x71\xef\x53\x93\x13\x07\x88\x0d\xc3\x51\x43\xf6\xd7\xf6\xaa\x1e\x6a\xa7\x2e\xda\x3a\x8f\xf7\x86\xdf\x21\xd0\x67\x66\xde\x22\x8c\xae\x17\x94\x47\x03\x74\x46\xbf\x77\x32\xc2\xb0\x2d\x85\x67\xb6\x6f\x8a\xbf\x3f\x9e\x90\x48\x1e\x21\xcf\xf1\xfd\x33\x9a\x66\xbb\xbd\x0b\x43\xd3\x38\x0a\x19\x6d\x56\x62\x15\xaf\xce\x4f\x3f\x71\x96\x69\xd1\xc6\x21\x5f\x50\xe6\x41\x86\xaa\x72\xc4\xf3\xc5\xfa\xe8\xf2\x74\xde\xdf\xb7\x25\x4f\xf5\xde\x9f\x9e\xe1\x8f\xd2\xdb\x1d\xfe\x88\x12\xda\x03\xf3\x4a\x74\xea\x15\xd4\x14\xd6\xdf\xf5\x81\x53\xb3\x38\x51\x4a\x5c\x7f\xf9\xf6\xeb\x6a\x0f\xf9\x91\xc3\x8d\x56\x7e\xd4\x70\x52\x3a\xae\xf6\xf2\xc3\x06\x9c\xe3\x87\x5e\x2f\x4e\xf0\x47\x5e\xb0\x9d\xdf\x68\xe5\xc7\x5e\xb0\xe4\xde\x7e\xd4\x80\x10\xae\x9a\xd4\xdb\xf6\xe6\xea\xc7\x4e\xf2\x3b\x7d\x86\xd3\x69\xf8\x1f\x7f\xf7\xab\x4e\x74\x4f\x2e\x3f\x0d\x77\xf9\xc3\xe3\x79\x41\xff\x47\x9e\xde\x0f\x1c\x0e\x37\x4f\x89\x7e\x7d\x6f\xbc\xcb\xef\x1d\x90\x92\x1e\x3f\xf8\x71\x7c\xe3\x04\x7f\xef\x78\x66\xb8\x3e\x73\x7e\x97\xdf\x75\xc1\x3f\xf0\x89\xe0\x04\x7f\xe0\x78\x7c\x20\xbf\xe3\x0e\x5e\x3e\x77\x0b\x7f\xdc\x33\xf9\xfe\x86\xf4\x04\xa1\xf9\xe9\x9b\xa2\x69\x88\x3b\xe7\x07\x7a\x0f\x6f\xbb\x08\xde\xd9\x5e\x4f\x38\x56\xd6\x14\xd2\x9f\x1e\xa4\x99\x67\x59\x37\x05\xf8\xb7\xb6\x0d\x78\xb8\x99\xb6\xe8\xbc\x63\xbe\xe3\x8d\xf2\x27\x7f\xe9\xf2\x22\x45\x64\xcd\x1c\xa2\xc7\x3c\xbc\x79\xa8\x11\x9e\x3c\x7e\x4c\x8c\xa1\x3c\x0f\xb7\x13\x1a\xa2\x67\x76\xad\x16\x67\x32\x89\x28\xfb\xb1\x1b\xb4\xd0\x63\x8f\xfd\x33\x00\xb5\xf7\xdc\xc5\xc7\xb3\x5f\xe5\x05\xb6\x81\xb0\x2b\x64\x87\x94\x2d\x4e\x9b\x1d\xba\x70\x21\xe9\x8b\xa2\x5f\x1a\x64\xd7\xd0\xf9\x6d\x64\xfd\x31\xef\x0e\x57\xd6\x59\xb2\x0f\xab\x9f\x57\x06\x71\x0c\xe6\xd7\x93\x6d\x1d\x7f\x02\xde\x5a\xff\x88\xfe\x2f\x1e\xc7\x37\x3f\xf3\x14\x10\x35\xf5\x40\x09\x77\x62\x1e\x34\x07\x19\xe5\x00\x19\x96\x66\x67\x25\x2c\xac\x65\xe6\x33\x9b\x29\x40\x50\x68\xc6\xf1\xd1\xbe\xc0\xdb\x8d\x63\x68\xeb\xbc\xdd\xe9\x73\x13\xe1\xf2\xfe\x9c\x13\xb9\xef\x39\x9f\xb8\x96\x69\x93\x00\x69\xe2\xca\x1c\x36\x20\x14\x0d\xd1\xdb\x24\x46\xc6\xdc\x4a\x02\x86\x91\x76\xab\xe3\xf3\x37\x0a\xf9\xdd\x0c\x66\x43\xb0\x3a\xa4\x7c\x9c\xf2\x36\x4b\xdd\xe6\xf5\x45\x6a\x1f\x61\xce\xbc\x7b\x45\x3f\xb2\xa4\x1f\xbd\xa6\x1f\x51\xd4\x47\xdd\xc3\x3c\x11\x17\x12\xa1\x40\xae\x67\xa9\x72\x72\xb1\xfb\x01\x90\x7d\xd0\x59\x11\x43\x38\x13\x44\xd1\x43\x34\x94\xbe\x4b\x47\xa3\x55\x0e\x5a\xe9\x69\xe8\x0e\xd6\x32\xb1\x30\x13\x54\xce\xc8\x17\xf6\x61\x93\xa9\x03\x4e\x80\xf3\xf9\x52\xfd\x8c\x98\x74\x2a\x64\xec\x5c\x27\x85\x12\x67\x42\x19\xab\x08\x6e\x9b\x66\xb8\xe2\x3d\xe4\x99\x01\xf4\xe0\x89\x7c\xf1\x53\x41\xcb\xfc\x2e\xcd\x62\xca\xa2\x5e\x8e\xc1\xe9\x80\x39\xa4\x92\x95\x22\x23\x4b\x50\x3e\xe3\xb4\x3f\x21\xcb\x7e\xfa\x16\xaf\xa2\xa4\xac\x98\x6b\xe8\x44\x07\xba\xa7\x56\xd0\xea\x80\xd2\x61\x38\x1d\x91\xdd\x50\xd6\x7c\xee\xad\x45\x4f\xa0\x03\xa7\xb4\x01\x98\x67\x6e\xd0\x58\x60\xb5\x58\xc0\x35\x90\xc5\x82\x43\xc8\xf2\x20\xd3\xec\x83\x5b\xf0\x59\x73\xc0\x0f\x2f\x99\x1d\x4c\x59\xa0\xa4\x5b\x80\xce\x60\xf2\x78\xda\xac\xd3\xd0\x90\x05\xc9\x01\x2a\xea\x78\x33\x3e\xd8\xd6\xc1\xe6\x0a\x18\x60\x26\x63\x52\xad\x3b\xa5\x68\xf9\x0f\x02\x3d\x72\x09\xeb\xe8\x63\x0d\xf0\xd0\xb4\xf5\x24\x43\x21\xbd\x80\x06\x1a\xf1\x3b\xf8\x30\x9d\x73\xaf\xe7\x40\x7e\x54\xa0\x9e\x70\x7e\x60\xe8\x4d\x44\x42\x4a\xdf\x31\xa8\x27\x92\xfd\xef\x8e\xb5\x24\x84\x58\xd5\xe4\xfc\xac\xa4\x10\xeb\xb8\x64\x18\x0a\xa2\x2f\x08\x34\xac\xc5\xc9\xc8\x6c\xfe\xe7\x19\xe2\x24\xe3\x19\x5f\x42\x4f\xb5\x87\xfb\xa1\xe4\x7b\xc6\x08\x17\x30\x95\x91\xe4\xe8\xfc\x9d\x23\x9e\xbf\x7e\x8d\xa4\xaa\x43\x3d\x32\x94\x8d\x04\xc4\x7d\x8b\x8a\xca\xac\xb7\x6c\xa2\x82\x30\x91\x1c\x27\xef\x59\xed\x21\xd7\x0d\x98\xb4\xec\xea\xcc\x98\xfe\x2c\x2f\xea\xc4\x3d\xdc\x00\xa5\x94\x89\x96\x08\x6d\x58\x72\x52\x99\x0f\x0b\x8a\xac\x98\xb0\x9c\x98\xcd\xe0\x66\x30\x1b\xe3\xc4\x28\x83\x5d\xbe\x38\x2e\xf7\x60\xae\xae\xa7\xc3\xe1\x05\x8d\x72\x02\xbe\xbb\x61\xb5\x8c\xdd\x6c\xe9\x28\xf6\x43\x41\x92\x5c\x6c\x7b\xa8\x2e\xa8\x20\xd3\xc9\x31\x5a\xd9\x91\x7c\xa1\xb9\xe2\x6e\x05\x02\x15\x18\x39\x58\xe5\xb5\xa5\xd5\xba\xc3\x64\x85\x69\xc6\xca\x99\x31\x54\xc0\xe9\xcf\x5b\x3e\x42\x59\x14\x0a\xd1\x6f\xb7\x39\x45\x19\xda\xd8\x75\x43\xe7\x14\xa8\xc7\x04\xc6\xa1\x10\x5d\x4b\xfd\x24\xdc\x1f\xaf\xfc\xc9\x6a\x07\x41\x7e\x9c\x19\xb9\xba\xc0\x60\xbc\x4f\x91\x37\x2a\xf2\x4e\xb1\xa0\xa4\x81\x90\x16\x3d\xdb\xa4\x2c\x80\xbc\x60\xfe\xa3\xe5\xc7\xbe\xdf\x13\xd1\x08\xad\xee\x1d\x6c\x47\x76\xbb\x20\x74\x85\xad\x67\x40\x8a\x1c\xfa\xf2\x84\x70\x08\xb3\x4e\xb6\xbe\xb0\x6d\xa3\x62\xa6\xc5\x79\x3f\x5a\xda\x63\x85\x56\xdc\x64\x39\xb8\x15\x27\xf3\x42\x32\xdd\xee\xdb\x9d\x5b\xcb\xd7\x40\x22\xc9\x0a\xf0\x1b\x23\xd4\x84\x91\x51\xe9\x9e\x4e\x24\x04\x26\x6b\x9b\x1c\xb9\x86\x5a\x43\x41\x17\x72\x2c\x40\x2b\x42\x4b\x1c\x36\x84\x2c\xfa\xf6\x30\xfa\x1e\x69\x85\xec\x8e\xa4\x13\x74\x97\x30\xdb\x7d\xa3\xc2\x34\x02\x10\x09\xb3\x9e\x3a\xfb\x1d\xb6\x89\xd8\x84\x45\xbc\x83\xa5\x25\x23\x4c\x5b\x4c\xf3\x2c\x4f\xe0\x75\x26\xc9\xcf\x79\xdc\xb1\xbe\x6a\x73\x6b\x2c\x26\x66\x5b\x50\xeb\xf7\xae\xed\x0a\x9c\x58\x54\xd6\xcd\x37\x05\x02\xa7\x03\x0a\x22\xa4\xa1\xeb\x41\x67\xe8\x94\x28\xab\x30\x28\x9f\xb0\xea\x4f\xe8\xd1\x9f\xbe\x49\x0e\x9b\x6a\x7b\xd8\xf8\x3f\xec\x65\xf4\x7d\x39\xae\x8d\x39\xae\x9d\xf9\x1d\xe5\xb9\x4f\x8c\x35\x33\x32\xe5\xe4\x61\xaa\xc3\x35\xc9\x4f\x9f\xe1\x74\x19\x5e\x5f\x46\xae\xab\x70\x4f\x06\xb7\x47\xef\x28\x9e\xee\x51\x3c\xfd\xa3\xf8\xe0\x20\x7d\x7c\x26\x97\xfb\x65\x0d\xf7\xf1\xdc\xed\x7b\xf4\xfa\xde\x38\x7d\x5f\xfb\x7c\xa4\xa6\x71\x42\x98\xb5\xbb\x91\x24\xcb\xf9\x25\x95\xb2\xfe\x68\xba\x51\x12\xd7\xb2\x67\x93\x54\x3e\xb9\xdb\xd2\x3d\x4e\xaf\xdb\x29\x84\x56\xd3\x73\x3c\xbb\x9e\x63\x7f\x74\x8e\x1f\xda\x50\x8f\x37\x57\xb6\xdb\xaa\x4a\xe1\xb1\xcd\xe3\xa1\xb3\x63\x37\x3f\x23\xd0\xf3\xbd\x90\xae\xa5\x15\xa7\xe6\x4b\xf4\x2a\x6b\xd9\x73\xb5\xa3\x6a\x06\x0c\xe4\x28\x25\xb4\xfb\x16\x97\x17\x61\x25\x02\x04\x77\x69\xe3\x83\x4f\x1b\x97\x53\x1b\x97\x57\x1b\xef\x6e\xed\xeb\x4b\x9d\x12\x6a\x93\x4d\x69\x94\xda\x16\x6b\x87\xbe\xc1\x74\x6d\x25\xe5\xde\x21\x2c\xce\x8a\xda\xb6\x31\x82\x80\x7d\x49\x83\x1f\xa2\xf3\xc0\x7f\xcd\x03\xa0\x10\x49\xd9\x04\x7b\x73\x1b\xbb\x1f\xc3\x91\x0e\x2a\x3f\x58\xe0\xc4\xbe\x8b\x7c\xd9\x68\x10\xeb\x86\x84\x7a\x97\x9d\x50\x63\x9b\x3a\xb3\x06\xad\x63\x9b\x12\xa6\x6c\x9a\x7a\xd0\xd4\x51\x20\xd0\x90\x13\xa4\x63\x70\x6a\x9f\x58\x81\x4f\x18\xda\x9f\xce\xee\xa9\x81\xfa\x10\x94\x20\xc0\x38\x08\x41\x32\x77\x0c\x91\x35\x96\x05\x8f\x66\xdd\xd3\x5e\x12\xe5\x4a\xd2\x76\x7a\x7b\x5e\x53\x89\xab\x8e\x10\xd5\x5b\x37\xd1\xed\x90\x60\xac\x0b\x4b\xf4\xe8\x42\x23\xe7\xff\x00\xc4\xa7\x17\xf8\xd0\xa2\x65\xd7\x11\xa4\x78\x71\x43\x07\x94\x2b\x59\x58\xf7\xf2\x06\x36\xa1\xd7\x17\xc9\x75\xe9\xfc\x0b\x67\x73\xe7\x46\xa6\x08\xb1\x60\x08\x07\x5c\xa5\xb1\x47\x94\x8c\x23\x9e\x70\x37\xdf\x20\xe8\x65\x07\xeb\x1c\x18\xf1\x24\xd7\x03\x65\x57\xe9\x28\x8e\xe0\xb1\x98\x2f\x7b\x67\x4d\x43\x5b\xcd\x1e\xc9\x58\xe5\x2c\xd1\x8e\xe8\x61\xad\xcb\xde\x3b\x97\x8f\x0c\x76\x8c\x94\x16\x46\x5a\xf8\x00\x25\xfb\x5e\x9f\xac\x56\xa0\x67\xe7\x40\x5f\x08\x36\x2e\xf0\x5b\x11\x31\x47\x97\xa5\x42\xbb\x97\x6b\x50\x0e\xf0\x39\x99\x29\xdf\x23\x65\x63\x0a\x82\x00\x54\x97\x51\x37\xa4\xe3\xe2\x38\x67\x3d\xe1\xb8\xda\xbc\xb2\xc4\xb5\x01\x55\x0a\x49\x17\x5c\x17\xd8\xf6\xc6\x09\x65\x64\xe8\xc4\x20\xba\x9e\x7b\x27\x68\x28\x8b\x73\x1b\x30\x4a\xee\x30\x08\x63\x04\x3f\x3d\x8b\x03\x9c\x98\xa9\xec\xe0\x9c\xb6\xfd\xbf\xe6\x83\xf4\x4f\xa2\xed\xf0\xb0\x2c\xef\x88\x13\x00\x48\x68\x6c\x7f\xf4\x57\x3b\xa6\xb4\x94\x20\x63\x17\x19\x00\x1b\x6a\xb7\x0d\x1b\x90\x3c\x68\xde\xd8\x47\x81\xd5\x3c\xd9\xab\x3b\xa6\x30\x08\x5f\x6a\x20\xe4\x18\x8d\x13\xa2\xe9\x16\xa7\x63\xe3\xcc\x16\x0d\xa7\x9f\x66\xb3\x3f\x35\x45\xf1\xe6\x15\x87\xe1\xa0\xe4\x07\x80\xfa\xfe\x88\x77\x0d\xd2\x1b\x47\xfa\x50\x98\xf4\x6a\x9f\x73\x84\x87\x91\x8f\x87\xdf\xfc\xc4\xe2\x7c\x02\xae\xfe\xf4\xdc\x99\x56\x73\x5d\xe4\x2c\x05\x76\x4c\xf8\xf8\xa3\x3a\x5d\x23\x1e\x25\x09\xb6\xcc\xc8\x31\x9f\x80\xc7\x89\xcb\x43\x40\x69\x6e\x44\xaa\x94\x02\x61\xe6\x83\x88\x6c\x30\x2e\xba\x84\x9b\x79\xd2\x9c\xdf\xf5\xa4\xd0\x02\xa3\x22\x81\x96\x6c\x55\xa5\x73\x07\x5f\x22\x50\xd2\x10\x4a\x51\x29\xa4\x43\x5a\xc8\x87\xe0\x91\x1c\x3d\x08\xf8\x7e\x7b\xb7\x90\x45\xb1\x65\xad\x17\xbb\x4c\x94\x93\xa6\x6d\xe2\xaf\x2f\x52\xe6\x08\x95\x93\x8b\xc8\x9f\x00\x8b\xb2\x78\x18\xda\x97\x7a\xd9\x62\x0b\x82\x28\x14\xd8\x4e\x44\xcd\x20\x5d\x23\x3a\x2a\x30\xce\x68\x24\x55\xad\x12\xa2\xc5\xac\xa0\x43\x23\xe5\x89\x76\xa2\x3a\xd8\x70\x76\x6e\x70\x8b\xdb\x00\xb4\x8f\xa4\x26\xbc\x8b\x93\xcd\x7b\x63\x62\x04\x11\x9b\x9d\x90\x5b\xbd\xcc\xfe\x8e\x08\xba\xf5\xec\x5e\x22\x09\xf2\xbe\x2c\x7d\x15\xb4\xfe\x12\x03\x8f\x72\xba\x48\x3f\x9a\x39\x5f\xb6\x00\xd0\xb9\x81\x9e\xaf\xcc\x79\x9e\x48\x79\x07\x52\xb3\x26\xe6\x12\x26\x7a\xb5\xed\x6e\x67\xd9\x7b\x90\xe5\x70\x92\x8d\x2f\xce\xe5\xd6\x84\x1c\xc6\x4c\x6c\x65\xa7\xa5\x8e\x35\xb3\x50\x17\x35\xed\xf0\xb4\xd1\x91\x02\x87\xc6\x66\xc8\xb0\x07\xe2\x79\x2a\x75\xea\x79\x69\x61\xa6\x9b\x59\x31\xa5\xc3\x99\xd7\x04\x13\x52\xd7\x52\x29\x17\x53\xa7\xe1\xaf\x3d\x14\xbf\xed\xca\x46\x3d\x33\x17\x16\xf9\xfb\xae\x9c\x06\x7a\x25\x83\xaa\x1c\xb3\x05\x95\x74\x40\xa1\x0a\x5b\x39\x14\xc5\xc2\x40\x1c\xab\x61\x82\x62\x65\x5e\xf6\x0c\x48\xb0\xfd\x17\x3c\xc2\x5e\x8d\x46\x42\xa2\xb3\xd5\x29\xaa\x08\xc0\x5a\xd0\xa5\xaa\x3d\x40\x8d\x28\x8c\xe1\xd2\x1a\x59\x76\x74\xe6\x61\x33\xcd\x3b\xa2\x26\x70\x92\x93\x28\x11\xdd\x77\x76\x97\x3e\xb1\x46\x9f\x10\xb9\x3f\x3d\xf7\x3f\xb6\xb6\x12\x13\x23\x4b\x18\x2d\x3b\xff\xbd\x2d\xb4\xb1\x29\x90\x77\x65\xec\x00\xdc\x51\xaf\x20\x82\x5a\x1e\x11\x70\x32\x9f\x9a\xc0\x35\xf8\x5b\x5b\x04\x44\x4b\x32\x8a\xe9\x59\x97\x78\x0f\x53\x1a\xde\x49\x80\x2e\x92\x6a\xe6\xb1\xb6\x0d\x37\x3f\x66\xbd\xc6\xb9\x56\x7d\x73\xb5\x23\x76\xb1\x10\x53\xdb\x83\x99\xd6\x72\xb4\x1a\xb2\x6e\x8a\x20\xf8\x1a\x4b\x19\x50\x7f\x49\x94\xfa\xa3\x29\xc1\x0c\x91\x5d\x2d\xba\xc8\x1a\x5a\x3d\xda\x0c\xda\xb6\x52\x34\x88\xfd\xb0\x84\x56\xf0\x35\x38\x90\xd0\x8f\x34\x37\xb0\x9b\xa9\xcf\x6c\x8f\x25\x13\x67\xab\x8e\x2e\xb9\x4a\xda\x8a\xf9\x8f\x68\x8d\xad\x94\x05\xca\x54\x35\x6d\x1a\x0a\xe3\xc5\x41\x26\x5b\xa4\x63\x72\x06\x11\xed\xd1\xd4\xf5\x7b\x5c\x59\x4a\xb7\x62\x61\xe7\x6c\x9b\x22\xf3\xd0\xc1\x61\x9e\x39\x2f\xf9\x67\x07\x9c\x03\x5e\x0b\xfd\x71\x6c\x77\x5b\x94\xd1\xa8\xf0\x90\x2b\x23\x7f\x75\xba\xcd\xc1\x00\x49\x7b\xc8\x23\xf4\x16\x32\x04\x98\x25\xb4\x26\x9b\xa0\x2f\xc1\xfc\x34\x85\xb0\xd0\x16\x6b\xd0\x0d\x19\x8f\x01\x09\xa8\xe1\x3a\x6d\x41\x02\xc5\xa2\xbe\x2c\xd5\x28\x2c\x10\xe6\x7f\x10\x74\x59\x5c\x0b\x90\x4d\x41\xde\x20\x23\xab\xd4\x1d\x5d\x9f\x41\x52\x02\xe0\xa0\x19\x16\x0a\x7c\x56\x2c\xc4\x03\x7d\x0a\x30\xea\xfa\xc0\xf1\x3b\x0f\x60\xd6\x90\x80\x2a\x90\xd3\xa8\x1b\x91\x9b\x6d\x2f\x01\x0c\x57\xc0\xc7\x94\xbe\x39\xed\x93\x7b\xb7\x36\x33\x2d\x7e\x46\x8f\x80\xb9\xf8\xb5\xec\x1a\x10\xb9\xda\x2a\x44\x64\x6f\x51\x64\x42\xea\x8c\xcb\xc5\x3c\x08\xc8\xaa\xd9\x86\x3d\x2e\x08\x27\xa0\x77\xd5\x82\xed\x2f\xcc\x1f\x0d\xe0\x5e\xec\xa6\xd8\x22\x54\x46\xf5\x08\x86\x3c\x78\x15\xdc\xf0\x3d\xc3\x0f\x63\x70\x50\x8e\x46\x2f\x27\x6d\x9e\xc1\x54\x73\x8d\x35\x94\x4a\x87\x0e\xe9\x44\x30\x92\xd6\xa3\xb0\x87\xcc\x62\x03\x1b\xd3\xbe\xd8\xc8\x4a\x1b\x4b\xdb\x94\x32\x46\x69\x43\x09\x27\xe7\x8e\x6d\x00\x85\x01\xc4\x1a\x4e\x17\xde\xf6\xdc\x91\x0c\x68\x81\x75\x9c\x2a\x9b\x90\x94\xc6\x69\x62\x64\xb6\x1d\x7b\x25\x2e\xd1\xe5\x79\xa8\x00\x26\x41\xdb\x05\x32\x6c\xe0\x36\x51\xf0\x8c\xb7\xd0\xc5\xd6\x48\x96\x1d\x0b\x10\xf0\x05\x34\x8c\xf9\x62\xfc\x84\xa5\x79\x02\x28\xff\xf4\x2d\x46\xee\x8c\x3b\x00\x87\x3c\x81\xaa\x64\x8f\xa3\x21\x32\xa7\x9b\x2a\x44\x65\x60\xeb\xc1\x61\x62\xa1\x83\xfd\x69\x66\xe0\x67\x50\xa4\xde\x83\x0c\xdb\xad\xc7\xe1\x12\x06\xe2\xdd\x7a\xc8\x8b\x1c\x42\xaf\x0d\x18\x25\x66\x1c\x4a\xd0\x2a\xa1\x54\x90\x61\xb8\x52\x0a\xe0\x38\x92\x82\x8a\x90\x0b\x56\x7a\xd0\x09\x16\x63\x14\xef\x86\xcd\x77\x68\x12\x90\x8f\x6c\x13\xf8\x2f\x3a\xf7\xa9\x38\x1c\x7f\x76\x45\x41\xdd\xbb\x1a\xc5\xd3\x99\xce\x5f\x0a\x5a\x64\xec\x92\x02\x1b\x80\xe6\xba\x44\x81\x18\x70\xc3\xdb\xb2\x51\xa6\x0a\x95\x96\x52\xf9\x5d\x08\x91\xee\xab\x03\x92\xc6\x97\x27\x7a\xd7\x84\x9e\xae\xab\x02\x78\x91\x19\x55\x33\x6e\xee\x1d\xce\x20\x8d\x48\x5c\xd5\x09\xaa\x1c\x64\xbe\x8a\x79\x4b\x9a\xb6\x1e\x3a\xdb\xba\x21\x6d\x3a\xe1\x13\x64\x20\x8a\x6d\x1c\xcd\xe5\x40\x87\x7b\x01\x9b\x31\xda\xca\xb3\x7b\x3a\x48\x82\x92\xa9\x21\xc0\xe4\xe7\xa5\xa1\xd8\x52\xb0\x05\x5b\x5b\x18\x45\x2e\x30\xe9\x00\xa3\x0e\x45\xa7\x0d\x68\x53\x73\x50\x06\x40\x30\x5f\xa0\xa3\x40\x4e\x28\xdd\x65\xb8\xe4\xc4\x91\x62\x73\x04\x5e\x1a\x2f\x06\x17\xbd\x50\x06\xb1\x04\xec\x35\xe8\x88\xca\x2e\xca\x94\x40\x79\x95\xa9\x59\x4d\x44\x5f\x2e\x1b\x14\x93\xb2\xf6\xf3\x47\xf0\xff\xd7\x17\x91\x66\xa3\xea\x56\xec\x9a\x04\xed\xa9\x10\x7d\xaa\xe8\x47\xdf\xc1\xe0\xad\x1d\xf1\xf9\x0c\x79\xcc\xbd\xe1\x1e\x07\xa2\xc9\xd9\x58\x89\xbd\xb0\x2d\xcf\x27\xb9\x44\x92\x26\xd7\x67\xa2\x20\x26\x92\x30\x65\x84\x41\xb1\x3a\xf5\x28\xb0\xa0\x61\x58\xca\x3e\x50\x94\xb3\x2f\x36\xe1\x2e\x5f\xfa\x7b\x07\xda\x1f\x29\x87\x94\x90\x41\x43\xaf\x48\xfe\x07\x15\x20\x2c\xcd\x25\x41\x2c\xeb\x04\xc4\xde\x3c\x1e\x33\x58\x0c\xa4\x84\xd9\x64\x8b\x33\x94\xcd\x1c\xd6\x4f\xac\xec\x27\xac\xf4\x4f\xcf\x4d\xd4\x50\x97\x5c\x69\xb0\x14\x4a\xf6\xe6\x31\x84\x5a\xd8\xe6\xca\xee\xf4\x3b\x76\x61\x68\x61\x47\x67\x97\x52\xd9\xc1\xde\xc0\xbf\xed\x68\xfa\xf8\xa5\x9b\x13\xb5\xf3\x8e\xb4\x11\xb4\x93\x20\xdd\x56\x1c\x1a\x45\x9a\x59\xe5\x7d\xb2\x92\xc9\x5a\x07\x36\x18\xdf\x08\xa2\x28\x61\x2e\x58\xb6\x36\xe5\xc6\xe9\x66\x2b\x43\x5c\xfa\xc2\x9e\x01\xa0\x9e\x9d\xf4\xb4\x5a\xb5\xc1\x8d\x7e\xe8\xf0\xba\xaa\xff\x83\x09\xc8\x03\xa8\x36\x3b\xc0\x9e\xf8\x20\xaf\x8f\xb4\xb6\x83\x2a\x19\x74\xf3\x65\x02\x66\x3a\x87\x99\xd8\xa8\xa2\xf6\xf0\x5b\x68\xc2\x38\x7b\xea\xe2\xd8\xca\xe8\x66\xcc\x6b\xf5\x6f\xd4\xe3\x5d\xe4\x86\x4d\x43\xdd\x47\x36\x47\x86\xc8\x72\x3a\x81\x90\x2f\x64\xd7\xb5\x37\x5d\x4f\xb3\xd6\x94\x4d\xa3\x3e\x1b\x7d\xd8\x86\x0e\x04\x49\x94\x48\x25\x2f\x19\x45\x4c\x5f\xfa\x34\x3f\xa6\xdf\xa2\xee\xe8\x14\x43\x0e\x15\xc2\x7d\x09\x54\x15\xd5\x82\x1c\x86\x10\xe0\xfd\x61\x6c\xad\x16\x41\xbf\x5e\x5e\x24\x65\xdb\x94\xca\x1e\x07\x15\x36\x1b\x88\xee\xa1\x8c\xa5\x29\xa0\xa6\x51\xba\x79\xaf\x19\x55\xbf\xda\x90\x06\x60\x3e\x22\xcf\x87\xf4\x03\x1d\xe9\x48\x8e\xe6\x5c\x43\x65\xb7\xa3\x80\x98\xdc\xf6\xba\x1e\xfa\x3c\x8a\xf9\x1b\x7b\xb1\xd3\x83\xb0\x46\x2f\xbb\x9d\x60\x83\xdf\x0d\x57\xab\xdb\x9a\x34\xff\x89\x58\x69\x3b\x3b\xdc\x51\xae\xc9\xe9\x9d\x1b\xe6\x16\xd8\x34\x81\x48\x9b\x57\x67\x7c\x99\xa6\xe5\xa9\x7e\x62\x55\xfc\x8f\xa7\x55\x71\xa7\x55\xc7\x12\x98\xce\xa2\x0d\x2e\x6e\x73\x89\x30\x0d\xe0\xf1\xa0\x84\x89\x4c\x06\x61\xad\x22\xac\xea\xa3\x79\xa4\x9f\x6d\xed\xd8\xd4\x87\x97\x22\x10\xba\x53\x48\x8e\x7d\x23\x2b\x71\x68\xd1\x50\xf0\xa6\xf8\x99\x11\xde\x7b\x5d\x0d\x55\xb6\xbd\xa0\xde\xda\xc3\xe8\x68\xf8\x03\xb2\x53\x2b\x19\x33\x2b\x81\xfa\xb5\x3f\x80\x15\x84\x09\x01\xa5\x6b\xb9\xfe\x21\xc7\x79\x54\xf3\x97\xd4\x6f\xe0\x11\xda\xd8\xd6\x3c\xba\x86\x51\x13\x28\x07\x4b\x40\x0f\x2e\x5a\x87\x32\xdb\x3b\x90\xc7\x74\x9a\x03\x3d\x01\xda\x76\xe7\x8f\xc8\xf4\x94\x0b\x59\x9e\xa8\xf2\xdd\xce\x97\x0d\x29\xf9\x0a\xd1\x21\x08\xf6\x5a\x80\x1a\x0a\x77\x6c\xb4\x43\x8e\xa0\x6a\xe6\xd5\x7f\x3f\x16\x04\x4c\x36\x55\xbc\x85\x0e\x6a\xdc\x2c\x04\xa2\x73\x19\x7b\x2e\x1b\x0d\x34\xf5\x30\x2b\x03\x3e\x25\xa6\xba\x33\x3e\xa0\x60\x3d\x9b\x21\xe6\x1e\x1b\x81\xa1\x9c\x4c\xae\x19\x83\x92\x8b\x1b\xfe\xc2\xdc\x46\xef\x36\x03\xcd\xe5\xc4\xe5\xb5\x7e\x4c\x56\xcb\x99\x35\xb3\x70\xa7\x97\x3b\xe2\xdc\xd1\xa7\x9c\xff\xc8\xa0\x29\x37\xfa\xaa\x5e\x7f\xb1\x55\x70\x34\x7b\xb1\x4b\xb7\x7b\x61\x63\x4b\xff\x4c\xee\xe8\x3f\x28\x75\x74\xf9\x9d\xb9\xa3\xbf\x3d\xad\x9e\x7b\xd3\xb3\x76\xdb\x66\x17\xe4\x1b\x09\x4f\x34\x79\x09\xcd\x30\x38\x18\x06\x82\x73\xf4\x8f\x21\x3a\x56\x8a\x58\x30\x59\xa1\x0d\x34\xae\xfd\x00\xfd\x3d\xd6\x85\x27\x0c\xe9\xe0\x31\x9a\x71\x30\x0a\x8c\x27\xf9\x6b\xb8\x13\xa9\xcb\xda\x84\x68\xa1\x25\xbb\x7b\x83\xee\x35\xcc\x1a\xc0\x7d\x6f\xcb\xda\x19\x3a\xa4\xa0\x60\x45\xaf\xc3\xcc\x3e\x9f\x67\x55\xd7\x38\x95\xc9\x3b\x8d\x1a\x44\x7b\x28\x66\x23\x21\xeb\xab\x7e\x12\x97\x5f\x2e\x98\x1d\x6c\x87\x43\xef\xd8\x3a\x1f\x96\xfc\x93\x73\x40\xb0\x56\xc6\xc5\xa2\x47\x74\xb6\x7a\x02\xae\x84\x37\x20\xb2\xd1\x34\x07\x2c\x36\x92\xa5\xf4\xc3\xd9\xdc\xe0\x7b\x34\x96\x97\xd9\x20\xe8\x02\x92\xb0\x17\xe8\x16\x52\xaa\x4f\x2a\x72\x4f\x0c\xef\x25\x77\xba\x6f\xf6\x51\x23\xc1\x3f\x8b\x38\x48\xa1\x61\x22\x4c\x4a\xf2\x26\x12\xde\x96\x45\x38\x61\x06\x09\x69\x26\xd4\x3c\xeb\x01\xf3\x6e\xab\xbf\xfa\xa9\xdb\xf4\xe9\xce\x35\xb1\x17\x33\x5d\x7d\x9a\xff\x8e\xcf\x79\x64\x5e\xaf\x30\x0f\xd8\xa3\xc4\x3d\xa4\xb8\x6e\x59\xa1\xf2\x96\xda\x5e\x67\x1e\x7f\x4e\x47\xb3\x69\x01\x68\x89\xe2\xfc\x21\xc7\xfa\xff\x57\xea\x6b\xae\x9b\xbf\x3f\xad\x9b\x67\x59\xfa\x87\x7c\x4e\x71\x42\x6c\x31\x8f\x31\x28\xad\x6d\x83\xff\xd2\xee\x32\xab\xbb\x52\x03\x0c\xf9\xea\x0e\xf7\xa4\x74\xef\x82\x60\x65\xb5\xc3\x89\xea\x0c\x83\xcc\x3e\x66\x76\xf2\xa2\x20\x02\x3f\x05\x78\xc2\x41\x9d\x30\xcc\x30\xb0\x01\xca\xc2\xb3\xc1\x0b\x61\xe5\x7f\xb2\xa0\xc4\xcf\x40\x7d\xc5\x8e\x35\x88\x39\x67\xe8\x91\x0d\x5d\x3d\xe8\xe0\xa1\x58\xad\x42\x54\xd1\x10\x85\x69\xd7\x8c\x7f\xd1\xbd\xcb\xb4\xbf\x1d\x6b\x80\x0f\x15\xed\xa3\x08\x24\x6c\x03\x99\xf4\x81\x49\xcc\xc5\x90\xde\x2b\x3e\x74\xb1\x9a\x83\x12\x9a\xb7\xc0\x38\x7b\x91\xa7\x2c\x2a\x77\x30\x26\x08\xeb\x20\xa5\x9e\xfd\xf5\x8e\x92\xe6\xf9\x4f\x16\xdf\xb1\xf2\x2b\x16\xef\x64\x01\x94\xfd\x2a\x81\xc7\x60\x56\xf3\x8b\x75\x80\xa4\x6f\xa5\x88\xa2\xa2\x45\xa7\xe5\x50\xcf\x1a\x0e\xb9\x57\x4f\x6e\x9d\xd8\x1d\x6c\x43\x69\x3e\xbb\x8a\x0b\x2e\x6d\x49\x80\x84\x82\x68\x79\x22\x6f\x81\xcd\x32\x41\x4d\x64\xda\x7d\xca\xd8\x5f\x44\xec\x06\x6a\xde\xfb\xa0\x57\x89\x32\x52\x92\x83\xf7\x5c\x6a\xda\xe1\xdc\xda\x13\x81\x78\x12\xee\xb0\x9c\x3a\x23\x48\xb4\x41\xe5\xd8\x73\x6e\x8e\xea\x5b\x49\x61\x08\x97\x6b\x23\x02\xaf\x7a\x5f\x11\xd0\x08\xf0\xff\xf3\xb1\xf2\x9a\x28\x94\x69\x40\xf7\x27\xb6\x63\x73\xed\xb1\xf9\xc0\xe8\x23\xf2\x6f\xc0\xab\xa3\xf1\x13\xe4\xe6\xf6\x8c\xbe\xcd\xfa\xc6\x85\xf2\x8f\xa7\x85\xf2\xeb\x1b\xde\xc5\x77\x37\x98\xe2\x1b\xcc\xf0\x0d\x86\x62\xea\xe5\xdd\x0d\x46\x5d\xc1\x8d\xd2\xad\x9f\xdf\x64\x68\xbe\x85\x9b\x8c\x3e\x6d\x32\xf6\xf0\xe1\x29\xd0\x77\x7c\xda\x64\x48\xbf\xb4\xb6\x19\x67\x83\xde\x61\xbc\xdf\x6e\x34\x9e\x73\x46\x59\x5d\xb8\x3c\x32\x49\xbf\xa0\xa0\xc5\x52\x27\xd2\x6d\xf7\x93\xb2\x2d\xde\xcb\xa5\xe3\x0c\x21\xfb\x43\xad\xf4\x34\xd8\xef\xec\x36\x8c\x99\xd2\xf9\xf2\xab\x1d\x07\xad\xc4\xbf\x63\xcb\x01\x49\x08\x52\x24\x6f\xb6\x9c\x73\xc3\xf1\xed\x06\x99\x52\x4a\x5f\xf2\xcf\xda\x6a\x68\x3d\x2e\x2e\x4b\xf9\xd5\x7e\xf3\xbd\xed\xa6\xac\xcd\x06\xeb\xc1\x7f\x65\x52\xec\xdb\xff\x3a\x9b\xed\x52\xdf\x14\xc2\x1e\x0e\x52\xa7\xee\x02\x87\x14\x97\xd0\xe6\x7f\x9a\x9f\x76\xf9\xd3\x35\xbe\xff\xf9\xb4\x8c\xbe\xd5\x27\x8d\x06\x50\xbb\x56\xba\xca\x85\x99\x67\xea\x6f\x0f\x88\xdb\x9f\x80\x0e\xb9\x03\x3d\x5c\xa7\x51\x57\x55\x08\xee\x0f\x80\x8f\x48\xd1\x0c\x07\x9b\x3a\x3f\x84\x93\x5c\x09\x91\xd3\x98\xc0\x93\x15\xff\xc6\xca\x0e\xc7\xa4\x61\x66\x66\x56\x08\x54\xb4\xf8\x1f\xb9\x08\xdb\x14\x40\x43\x81\x8c\x41\x11\xd2\x25\x67\x62\x6d\x5d\x3c\x1c\x84\x33\x99\xfb\xa1\xcd\xc5\x16\x46\xc3\xf3\xad\x41\x75\xb3\xa0\xeb\xb2\x77\x81\x95\x6a\x0e\xf1\x10\x22\x40\x18\x36\xb1\x70\x74\x30\x7e\x66\xe1\x10\x03\x84\xd2\x2a\x76\xd2\x40\x21\xfb\x0c\xa4\x5a\xf3\x16\xfe\x23\x62\x9b\xd9\x22\xe8\xb9\x72\x79\xb8\x42\xe4\x93\xe0\x15\x0e\x04\x19\xb9\x96\x00\x76\x6a\x32\xd3\x97\xa4\xf7\xaa\x9a\x72\xa7\xdb\x91\x73\x43\x1e\xc9\x82\xa6\x03\xcd\x8c\xb9\x83\x4b\xa9\x24\xec\x83\xb9\x6c\x51\x82\xdc\x28\x25\xdb\x42\xc3\xcc\x35\x0f\x4e\x42\xad\x3b\xda\xcb\x50\x21\x41\xe6\x59\xcd\xd9\xa2\xe2\xd7\xb8\xa0\x9a\x4d\x89\x22\x94\x2e\x46\x88\x30\xf7\xe6\x95\x36\x56\x5a\x8b\xeb\x64\xa1\xbe\x6f\x6e\x5f\x9d\x47\xf1\x8c\xde\x66\xb1\x96\xf4\xbe\x6b\xa0\xfa\x82\x2e\x4e\x14\xe6\x1a\xc4\x99\x29\xd0\xb0\xc4\x7b\x8a\xe4\x6e\xee\x7b\x6b\xc1\x3c\x04\xc4\xd5\x80\x13\x01\x75\x87\xa4\x10\x04\xc5\xf0\x08\xc6\x80\x83\xf8\xfd\x39\xfe\xb7\xa7\xee\xdd\x9f\xd3\xb9\x55\x64\x3d\x29\xa5\x0a\x35\xd9\x7b\xdb\xc0\x65\x24\x65\x53\x04\x7b\x4e\x4e\xdb\xb3\x17\xa8\x0b\xf8\x18\x91\x1e\xdc\x04\xd1\xbc\x4d\x2a\xc0\xfe\xc5\xfb\x49\x25\x8d\x0d\xdc\x9c\xd2\xc7\x46\xac\x97\xc5\x86\xcc\x8c\x81\x5a\xd3\x6e\xd5\x16\xfb\x0c\xaa\x63\xc3\x82\xb0\x7d\x1d\x06\x11\x35\x8b\xd8\xe0\x76\x34\xfb\x4c\xb3\x13\x6d\xab\x36\x10\x12\x61\xf7\x29\x29\xd4\x89\xc1\x15\x32\x07\x6c\x85\x1d\xc0\x1c\x93\x3d\x91\xac\xc6\xd2\x87\x3d\x4e\x9e\x73\x94\x54\x98\xb2\xb5\xf5\x5b\x07\x89\x99\xb4\x84\x3e\xed\xaa\x3b\xe5\x17\x2b\xc2\xf1\x1a\x80\x96\xcf\x16\x15\xf5\xbe\x01\x72\x2d\x65\x03\x1d\x59\x9f\x3b\xea\x69\x01\x43\xa4\x6d\x8d\xbd\x45\xbb\x23\x52\xe7\x8e\x4c\x18\xf8\x2c\x70\x12\x64\x1f\x44\x6a\x17\x27\xbc\xb7\x6e\x06\x17\x57\x31\x36\xd0\x3e\xa9\x7d\x3b\x07\xcd\x6d\x37\x17\x3e\xf4\x1a\x1a\x0b\xd0\xb8\x1f\x4c\x9b\x69\xee\x5b\x47\x2e\x80\x49\x20\x0e\x81\x9b\xe9\xf7\xb9\xe0\xc7\xec\x4e\x34\x36\x81\xaf\x27\x72\xe1\xc9\x45\xa9\x73\x53\xb1\x30\xa2\xc0\x19\x6d\x1a\xee\xcf\x95\x4f\x7c\xb3\x5b\x21\x80\xb5\x66\x14\x11\x7b\x77\x70\x0f\xe7\x0a\x50\xa8\x48\xe0\xeb\x64\x60\x21\x48\xaf\x1d\x51\x31\x41\x91\x9a\x3b\xcd\x3b\x7d\x66\x16\x10\xbd\x60\x8e\x3a\x34\xbd\xde\xd1\x9d\xb6\xe5\xe4\x74\x95\x19\xf8\xcf\x71\xbc\x39\xe8\xe1\xdb\xe7\x98\xbb\x00\xc6\x74\xff\xd9\x63\x9d\x8a\x9f\x5e\x61\x2e\xaf\x80\x5d\x4f\xf3\x2d\xf6\xd6\xb6\xd8\x80\x91\x1c\x99\xaf\xf2\xc8\x37\x7b\xdb\x5f\x93\x02\x28\xca\xc8\x5b\x4f\x23\x14\xd1\xdb\xd0\xbc\x45\xfe\x43\xf8\x22\x16\x91\x5b\x1c\xa7\xda\x90\xa4\x31\xa0\x89\xba\x45\x7c\xbb\x94\xc1\x57\xa5\x8c\x9b\xbd\xed\xaf\x3f\xb1\x5e\x9f\x3a\x64\x7f\x7e\xea\x90\x7d\x88\x81\xb2\x4d\xa3\x2c\xe3\xda\xa6\x10\xb3\xd6\xf5\x1a\xdb\x2a\xff\x60\x87\xa1\x67\x3d\x8f\xe8\x45\x97\x31\x6f\xb1\x33\x73\x35\x6b\x68\xce\x76\x3e\x4f\x91\x43\xb4\xf2\xec\x8a\xa4\x96\xb9\x30\xf5\x86\x41\x61\xae\x89\xd5\x56\x96\xae\x52\x3a\x90\x1d\xb2\xd0\xeb\xc6\x11\xed\x80\xf5\xd6\x71\x1e\xf6\xfa\x22\x32\x21\xc3\xd9\xae\xca\x82\x27\xf0\x77\x93\xcd\xfd\xb1\xb9\x02\xcc\x89\x91\x34\x6b\x34\x07\x31\x30\x6c\x2c\x22\x74\xbb\x33\x22\x60\x84\xd9\x4e\x85\xdb\x02\x70\x64\xa3\x57\x7a\x93\x59\x77\xdb\xb6\xb4\x41\xad\x4f\x86\xee\x8a\xbe\x71\x05\xc3\xea\x9e\x90\x82\xc5\x3f\xcc\xda\x8d\x1a\x7a\xce\x57\x98\x22\x70\x9d\xb0\x66\xdb\x4a\x98\x7d\xdc\xa2\x88\xc8\x35\xf6\x89\x3e\xf4\x5a\x43\xb1\xc3\xaf\xad\x8f\x9b\x24\xa8\x68\x02\x6c\xc2\x7c\x75\x5d\xa4\xc0\x73\x6e\x5a\x43\xeb\x3b\xf9\xa1\x4b\x58\x01\x29\x85\x8c\x9d\xdd\xf3\x53\xa5\xc7\xbf\x3d\x75\xa8\xfd\xfc\xad\x0e\xb5\x41\xac\x07\x2b\x2b\xcc\xe3\x44\x52\x0a\x14\x47\x07\xe1\x95\xc3\x30\x3b\xe9\x06\xd6\xdf\xf5\xc1\x79\xe8\xfa\xf6\xeb\x4b\x03\x35\x72\x99\x37\xe6\x75\x50\xae\x04\x40\x19\xae\x4e\x3d\x21\xf6\x64\x23\x62\xcf\x56\x22\x5c\xee\xb6\x72\x41\x39\xb9\x4c\x4b\x55\x97\x28\x55\xdd\xc1\xb2\xc5\xef\x2b\xf5\x48\xaa\xbe\xbe\x0c\x90\xb6\x7d\xf5\x73\xe7\x8f\x9d\x3f\xf5\xc5\xf5\xd5\x2f\x2b\xf1\xfa\xe1\xef\xf9\xb1\xca\x78\x1e\xbf\xfe\xf8\x7b\x92\x58\x4c\xfa\xcc\xf5\x7d\xa9\xf7\x2b\xfc\xd4\x6f\x1e\x4f\x97\x27\x9a\x3e\x7d\x3b\x3f\xfc\xb9\xcb\xef\xf8\xbd\xd2\x5b\xa8\x79\x35\x24\x34\xac\x61\x75\x42\x6f\x8b\xd4\x32\xf3\xbc\xc4\xf0\xc3\x6c\xcf\xf3\x6c\x50\x6b\x31\xd7\x84\x8d\xd1\x98\xb7\x94\xa3\x44\x5e\x6e\x0c\x73\x70\x90\x53\x06\x73\x38\x24\x6f\xc9\x21\x3e\x19\x0c\x34\x0d\x0d\x9b\x89\x1e\x80\x66\x69\x15\x7b\xec\xb5\x87\x29\xa1\x76\x0a\x52\x0f\x4a\x61\x41\xc1\x3f\x8c\x1e\x6a\xfa\xe8\xfd\x83\x8c\x44\x17\x8c\x81\x03\x6a\x22\x2e\xd5\x69\x07\xeb\xc9\x56\x0a\xb6\x6f\x11\x0d\xb3\x98\x37\xe6\x68\xb7\x9e\x83\x0e\x87\xac\x6a\x0b\xb5\x21\xe9\x09\x20\x36\xc5\x8c\xbb\xf3\x8a\x00\x60\x5a\x3d\x2b\x5e\x9c\x37\x43\x09\xb0\xb6\x3f\x8a\x04\x82\x79\xbe\xf6\x14\x58\x2b\x62\x91\x7a\x40\xb7\xcc\x93\x3f\x2c\xa1\xa1\x88\x70\xb0\xff\x4a\x78\x5e\x82\xfe\x8f\x14\x7a\xb2\x20\xac\x80\xc1\xbe\xcf\xd7\x97\x01\x54\x34\xaa\xd1\x95\xc9\x26\xe2\x5a\x87\xc0\xeb\xbb\x1c\x14\x64\xf1\x67\x47\xd4\x2b\x90\xe6\x12\x98\x78\x02\x82\x90\xa5\x3d\x1c\x85\x97\x14\xfb\x96\x7b\x13\x52\x05\x5b\x96\x5d\xfc\x6c\x1e\x0a\x8b\xed\x13\x78\xca\x78\xdc\xe4\x50\x2d\xa0\x50\x4e\x7e\x0f\x32\xac\x5c\x27\x1e\xb9\x2c\xd0\x22\x9b\x4d\xa8\x79\x9c\x4a\x70\xce\x19\x08\x71\x30\x64\xc9\x2c\xdb\x48\x01\x9e\x00\x3e\x4e\xcd\xa1\xb1\x06\xe0\xe2\xb8\xe3\x84\x36\xae\x16\x40\x64\xb5\x2e\xbb\x79\x43\x23\x38\x78\xb5\x9d\x01\x39\x2a\xd0\x8b\x1a\x95\x82\x40\x82\x20\x9a\x65\x1d\x42\x9b\x27\xff\x91\x10\x51\xa1\x73\xa0\x10\xc5\x1d\xc5\xb9\xfa\x91\x77\x4b\x60\xeb\xb7\x8f\xce\xb5\x8c\x14\x33\x03\xba\x33\xdc\x02\xe1\x1a\xd5\xb2\x1a\x5b\x4f\x58\xe8\x8a\x9c\x94\x10\xfc\xc6\xdb\xce\x14\xe7\xd3\x37\x56\x24\xb5\x3e\xf8\xb0\xe0\xee\x9e\x39\x34\x1d\xa8\x85\x5d\x76\x34\xf4\xb6\x95\x4a\xa0\xb8\x30\x33\x21\xc8\x72\x81\x74\x18\x05\x42\x36\x4c\x65\x07\x33\xd9\x0e\xd0\x77\x54\x01\x41\x54\xd3\xf7\x01\xa5\x6d\x50\xe2\xed\x91\x90\x0e\xd4\xb0\xcc\xf2\x34\x64\xe3\xd0\x43\x6c\xfb\x54\x62\xab\xec\x74\xd9\xdc\x4c\x18\x50\xf3\x64\x57\x91\x63\xb0\x4c\x4b\x6a\xfa\xa2\x3b\x7a\x09\x6c\x3e\x56\x85\x14\xc5\x34\xff\x19\x98\x25\x02\x88\xf3\x61\xd3\xa9\xed\x40\xad\x40\xe1\x60\x1c\xec\x9a\x54\x0b\x62\xf6\xd1\x01\x48\x50\x76\x0c\xf4\x7e\x39\xb0\x52\x42\x6b\x9e\xec\xb0\x78\xcf\x7e\xa5\x15\xb4\x96\xb4\xb2\x0f\xce\x24\x74\x8d\xed\x08\x5c\x48\x09\x49\xca\xb5\x76\x82\x54\x1d\x20\x4a\x08\xa6\x00\x4f\xf5\xc5\xf1\x4a\xe4\x44\x0d\xec\xba\x72\xc6\x1b\x2f\x1d\xb0\x9b\x72\x67\x4c\x91\x07\x38\xf3\x62\xee\xe0\xb4\xc9\x20\x7d\xce\x8e\xda\x94\x94\x00\x00\x9f\xec\x56\x9f\xc8\x51\x7d\xa2\xa3\xf2\x6f\x4f\x1d\x95\x3f\x9f\xa2\x3f\x53\x7a\x68\x00\x12\x43\x29\x3c\xb4\x72\x8d\xb9\xe9\x2d\x4a\xd6\xab\x02\x8a\xae\x0c\x92\xbc\xca\xa6\x2c\xef\x32\x2d\x55\x30\xcb\x59\x97\x91\xe6\x2d\x55\xb1\x7b\x73\xe0\x71\xbe\x58\x9f\xed\x13\xb7\x12\x32\xbf\x16\x4f\x59\x60\x07\x9a\xb5\xc1\x8b\xd3\x0a\x49\xe5\x1d\x7b\x06\x2e\x4f\x4f\x99\x10\x41\xf7\xc4\x12\x06\x59\x2f\xef\x47\xec\xd2\x90\x44\x6a\xe7\x84\x49\x68\xd3\xeb\x09\x72\xd9\x16\x78\xd4\xab\x24\xdb\x03\xd3\xe5\x1a\xfd\xd5\xd5\xac\xe3\x2d\xbe\x7d\xf5\xe6\x85\x48\xfa\xe7\xab\x74\xfc\xae\x42\xc7\xdf\x9e\x7a\xaf\x7e\x2e\x77\xd5\x72\xc4\x13\x5a\x6e\x71\x64\x56\x2b\xd8\xd9\x16\x81\x63\xec\x5e\x62\x05\xe9\x60\x25\xb4\x81\x58\x94\x33\x6d\xcd\xb6\x06\xcf\x31\x91\x21\x33\x77\x8c\x73\xb3\xaf\x51\xf7\x43\xb2\x99\x93\x96\xa9\x58\x95\x24\x0c\x81\x8e\x8e\x60\x19\x4c\xc1\x6a\xab\x16\x12\xa0\xfd\x07\xed\x83\xcd\x25\xae\x2b\x09\x33\x57\x0e\x16\x8c\xb2\xe6\xe7\x0e\xb9\x81\x6d\x78\xa6\x50\x4a\xc8\x25\x87\x52\x76\xcc\x45\xa6\x42\xab\xf7\xb1\x79\x7b\x06\xc5\x00\xdd\x11\x44\xab\x1d\x76\x19\x9b\x35\x68\x39\x08\x28\x85\xa8\x1c\x00\xc5\xbc\x27\x6b\xf3\xfd\x1b\xfd\xd4\x62\xf3\x73\xfd\x56\xeb\xf2\x54\xd0\x25\xb0\x91\xae\x85\xac\x47\xb2\xab\x8f\x7c\x0d\x36\x0a\xbc\x67\xb7\x82\xff\x40\xa8\x50\x43\x29\x2e\x4d\x96\xbd\x7a\x69\x5b\x01\x58\xeb\xc0\x77\x30\x42\x99\x07\xa4\x61\x42\xcd\x8e\x0b\x00\x2f\x4d\x05\xd5\x3b\xd2\x88\x52\x12\x1d\x88\x89\xe8\x84\x45\x73\x3d\x28\x19\x1f\x26\xf9\xbe\x90\xb8\x20\x03\xfc\x70\x68\x4c\xed\x48\xc4\x28\x0c\x39\xea\x1f\xa8\xf1\xdf\x29\x49\x41\x96\xb1\x12\x59\xa4\xfd\x7a\xdb\x7d\x0f\xc8\x24\xdb\x0f\x6c\x76\xd4\x7a\x8b\xb5\x94\x9d\xdd\xa9\xe8\x33\x56\x0d\x69\xe5\xbb\x0f\x97\x5a\x44\x78\x80\xdd\x7a\x09\xcb\xc3\xec\x2e\x21\x29\xdd\x29\x84\x6f\xcf\x11\xa5\x37\x91\xbd\x13\x50\x8f\xfe\xf4\xda\x19\x83\xc1\x48\x8f\x03\xbb\xeb\x60\x5e\xa3\x01\xa0\x57\xca\x8e\xe8\xcd\x6c\x34\x29\x0e\x0a\xe2\x84\xdd\xe1\x6d\x4c\xf3\x78\x8a\xbb\xdb\x3c\x61\x57\x65\x3e\x44\xdd\xee\x21\xd7\xcf\x26\x5a\x19\x0a\x2a\x8c\xeb\x6c\xb7\x2a\x7a\x8d\x33\x7b\x92\x6a\x24\x12\x10\xf5\xe6\x26\xb3\xb9\x52\xe0\xa0\x15\x2d\x2d\xc4\xd6\xbd\xb3\xd6\x3c\x3e\x12\xaf\xba\x82\x6b\x07\xf8\x34\x76\xe4\xda\x71\xe3\x89\x6d\x38\x00\xb2\x9b\x80\xae\x2a\xf9\xd0\x34\x23\x77\x47\xc7\x1e\x09\xcf\xce\xf6\x29\x88\xda\x0b\x09\x0f\x6c\x56\xb5\x7c\xb4\xc4\x7a\xf4\x64\xc3\xba\xb7\x42\xd4\xb3\x87\x99\x38\x18\x72\x95\x32\x54\x4a\xaf\x2f\x6a\x66\xf8\xf7\xce\xdf\x0b\xf3\xda\xb3\xa5\x5b\x5c\xf6\xf4\x1d\x51\xc5\x92\x0b\xc8\xc8\xc0\x93\x8b\xe8\x3d\xb5\xd5\x50\x80\x90\x84\x34\xe6\x65\xb0\x31\xe5\x44\xf6\xb0\xd0\x09\x1e\x37\xe0\xa3\x50\x1d\x23\x22\xca\x8f\xa0\x96\x83\x92\xa1\x6e\xa1\xfa\xc0\x93\x49\xcb\xcc\x86\x30\xb0\x56\x77\xe7\x0e\x20\x2a\x67\x88\x45\xef\x3d\xe8\xd0\x6b\xcc\x50\x79\x78\xe2\x05\xb9\xb5\xae\xcf\x0a\x95\x45\xe5\x62\xb6\x08\x95\xc5\x50\x06\x91\xcb\xf6\xb7\x84\x92\x18\x3e\x01\xe3\x5a\x9d\xcd\xba\x29\x09\x06\xda\x08\x90\xbd\x94\xee\x76\x0d\x7e\x4f\xdb\x87\xda\xed\xb6\x7f\xd5\x06\xa1\xcb\x13\x11\xd0\x0e\xae\x3d\x01\x96\x8d\x76\xaf\xad\x5c\x70\xcc\x02\xf8\x02\x3d\xf3\x49\xfd\x52\xc8\x00\x93\xf1\x12\xd5\x80\x6b\xae\xf5\x8f\x19\xbf\xa7\x16\xa6\x9f\xbf\x29\xae\x65\x5e\xf4\x18\x7a\x8b\x13\x4d\x77\xe0\xe3\x58\x84\x59\x8b\x4a\xeb\x1a\xa5\xf4\x37\x8c\x62\x4e\xaf\x25\x92\x6f\xfc\x9e\x54\xb3\x41\x5a\xf6\x11\x90\xe5\xcc\x27\x81\x67\x6e\x6c\x1f\xc5\xad\xed\x94\x10\x3d\x66\x83\x58\x34\x15\x49\x53\x3f\x50\xb3\x77\x9d\xa6\x1a\x0a\x63\xba\x92\x8e\xbe\x2a\xb0\xec\x10\x3f\xda\x74\xc2\x46\x2f\x46\x1e\x6d\xd5\xea\xc0\xcd\xa8\x07\x08\xd1\x13\xd1\xc5\xc3\xb1\x83\x4b\xd8\x49\x5c\x25\x36\xf5\x8b\x9d\x40\xec\x99\x4c\x8e\x77\x5e\x68\x9c\x23\x1f\x42\x6e\x78\x36\x19\x95\x2f\x41\x1d\x57\x9c\x37\xd6\x42\x07\x9d\x7d\xd7\x66\x71\xb1\x84\x5c\x20\x07\x63\x87\x8d\x20\x67\xf1\x94\x34\x94\x54\x69\x1d\xa1\x42\xbb\x08\x63\x88\xf7\x49\x69\x41\x33\xd5\x1e\x15\x1e\x3c\xf0\x04\x88\x3e\x10\x3a\x00\x85\x8c\x4d\x7f\x2e\x0d\x04\xa6\x74\x9c\xcf\xc0\x71\x07\xb8\x0b\x71\xdd\x17\x7e\x98\xab\x7f\x83\x5f\xa8\x1a\x32\x79\xfb\x9a\x37\xc1\x83\xad\x84\x74\x0b\x04\x4a\xbb\x2a\x23\x8b\xa2\x38\xdf\xc8\x13\x46\x8d\x93\x9c\xe6\xf9\x94\xa8\xb1\xcb\xdb\x07\x79\x03\x32\xd2\x46\x95\xd2\xa4\x83\x91\xeb\xc0\x63\x29\x9d\x4d\x14\xd0\x6b\x61\x99\xd2\x86\xe8\x4e\x4c\xca\x17\xf6\xd7\x67\x0b\x4f\x7d\xf2\xa1\xa2\x2c\x5f\x06\x8a\xcf\x9f\x98\xf4\x4f\x3d\x41\x3f\x7f\x4b\x13\x4d\x4a\x2f\xa1\x69\x86\x9c\x51\x95\x9d\x97\x79\xbf\xca\x45\x95\x8f\x76\x2a\x2c\x55\x5a\x27\x6c\xce\x04\x14\xba\x1e\xaf\x2d\x12\x5b\xf0\x6e\x0b\x5d\x0b\x13\x3a\x2f\xc3\x85\x82\x90\xa7\x64\x6d\x96\xc5\x3e\x24\xf1\xd9\xbe\x05\x7e\x69\x42\x33\x7a\x09\x44\xce\xf5\xb6\xfa\x40\xc5\x7b\x70\x5a\xc2\xed\x40\x91\x02\xa6\xb8\xba\xf3\xff\x20\x4a\x86\x9a\x6d\xf1\x6a\xfc\xe0\x73\xe4\x34\x5c\xb3\xf0\xb2\xe5\x6e\xb3\x10\x93\x10\xd5\x25\xc9\x6c\xb7\x8d\x7d\x9f\x6c\x4e\xc9\xa9\x81\x1b\x02\xe4\x16\xd4\x0b\xb6\x89\xe6\xd7\x81\x70\xb0\xdd\x4b\xcf\x8e\xe6\xbf\xca\xd5\xf9\x51\xe9\x9a\x74\x1e\xc4\x6a\x73\x5a\xd2\x71\x85\x0c\xcd\xbb\x56\x08\xc1\x87\x2c\x39\x68\xf1\x45\xe3\x33\x70\x4d\x40\xcf\xc4\xc6\xd9\x6e\x53\x07\x02\x62\xe4\x58\x2a\x70\x92\xe8\x2f\x40\x2b\xda\x98\x21\xa7\xb2\xc7\x1c\xa8\x47\x95\xfd\xae\x0d\xdf\xfb\x30\xf9\x27\xfa\x79\x2e\xeb\x6e\x13\x83\x02\x34\x36\x21\x28\xcd\x2f\x87\xf9\xe8\xc1\x6e\xb6\x0c\x54\x1a\xe1\xbc\x66\xb0\xd9\xe3\xe5\xac\x02\xea\xa2\x6d\x85\x82\xda\x9d\xb7\xbd\x78\x8b\x3a\x7a\x55\x6e\x71\x52\x2a\x5d\x72\x98\xa7\xdb\xcb\xe6\xc6\x69\x7b\x89\xd9\x53\x94\xe0\xcf\x6a\xfb\xf4\xb6\x2c\xcf\x6c\x8c\xac\xe7\x20\xbf\xdf\x26\xe3\x7b\xb5\x85\x22\x61\x96\x0b\x28\x4d\x44\xcc\x82\x02\xc4\x8c\x8c\x54\x0e\xd0\x3f\xdd\x33\x12\x59\x75\x72\xc9\xa1\xca\x59\xf4\x58\xb3\x10\xe1\xa6\x28\x9e\x31\x26\xea\x8a\x3f\x0f\x20\x84\xda\xfa\x8a\x6d\x62\xc8\x08\xd9\x44\xc5\x1d\x6c\x41\x9c\x42\xf6\x40\xc3\xb7\xf4\x7e\x28\x3a\x79\x3a\xc9\x8a\x33\x51\xe4\xb3\x7c\x62\x7d\x3f\x75\xe2\xfc\x7c\xca\xdc\xe5\x9c\x82\x6c\x10\x32\x53\x29\x1b\x9b\xa0\x20\x24\xd7\x82\x4a\x7e\x7d\xa9\x94\x49\xae\x9b\xf6\x62\x5e\xd9\x06\x96\x99\x62\x66\x2e\x31\x88\x7a\x7d\x51\xf3\xc9\x25\x6f\x70\x5a\x55\x32\xba\xb3\x20\xa3\x6c\x9f\x68\x2a\xaf\x2f\x65\x02\x91\xbe\x65\x10\x3e\x15\xd4\xe6\xb2\x16\xef\xf5\xd3\x94\x5e\x5f\x06\x20\x9a\x63\x9b\xc8\x66\xa1\xbf\x3d\x7b\x95\x8e\x10\x34\x34\xa4\x0d\x08\x55\x02\xe8\x58\x17\xb1\x3e\xec\xed\x36\x00\x10\xde\x91\xa3\x00\x92\xfb\xf5\x45\xf2\x08\x33\x27\xa7\x7b\x4b\x69\xb3\x08\xac\xb4\x7a\xd9\x2c\x02\x0d\xd2\x21\x13\xd2\x73\xd0\xd6\x37\x64\x5a\xca\x16\x15\x75\xff\x56\x36\xa6\x7b\x5e\x5f\x8a\xf4\xd0\x55\xb7\xdc\x6d\xc7\xb2\x73\x9f\xa1\x14\xd9\xc0\x3b\x1f\xa5\x65\xe8\xf7\xa5\x90\x6b\xdf\x14\x9d\xf7\x1b\x52\x9d\x52\x74\x03\xa6\x26\xd5\x4d\x8a\xad\xc8\xba\x23\x3f\x67\x2f\x37\xa2\xd1\xe6\xeb\x8b\x14\x5b\x75\xb3\x6d\xd9\xe6\x33\xf4\x6a\xd1\xab\x30\x36\xf2\x0f\xe8\x58\xba\x82\x3a\xc1\xad\x60\xe1\xcf\x60\x8f\x3d\xb3\x37\x25\x44\x3b\x18\x76\x76\x74\xe0\xdc\xb0\x6d\x87\xb4\xc5\x39\xc2\xc8\x1b\xda\xa8\xe4\xf2\xf6\xf8\x99\x5d\x1d\x81\x20\x53\x30\x12\xc7\x01\xfe\xa9\x80\x4b\x18\xb0\x31\x3c\xe1\x3a\x83\x76\xb4\xf1\x75\xe0\x91\x36\xdb\xbd\x3a\xc8\x04\x46\x43\x55\x6c\x2a\x5a\x3d\x73\x15\x1e\x65\x21\xc9\x36\x4b\x40\x11\xcc\x16\x4c\xc2\x8a\x06\xc5\xc5\x16\x67\x0b\xa5\x41\x79\x1d\xfa\x23\x92\xb7\x62\xc7\xe4\x8a\x18\xca\x2e\x0f\x73\x25\xb2\xdd\x3e\x42\xb5\x7b\xda\xed\x8d\xa5\xad\x96\x23\x70\xa6\x6c\x48\xf0\xc5\x26\x1b\xdb\x5e\x6c\x80\xa8\xc1\x26\xd1\xc6\xf2\xd1\x26\x6a\x26\xef\x02\xdf\x48\x24\xa4\x0d\x34\x54\x6d\xb3\x65\x0d\x79\xc1\x50\x83\x8d\x0d\xb9\xc2\xbd\x85\xcc\xa3\x28\x48\x95\xeb\x5e\xec\xf7\x6d\x76\xd1\x2b\x89\xe0\x14\x77\x14\x14\x01\x2a\xc9\xb1\xe9\xe7\xfd\xed\x1b\x35\xa6\xec\xf4\xed\x3c\x31\x52\xf8\xb6\x38\x30\x17\xeb\x53\x73\xcd\xcf\xcf\xcd\x35\xf7\x62\xa6\x98\x51\xd0\x39\x98\x81\x8c\xd5\x3d\x42\xb8\x49\xec\x35\x42\x41\x71\x34\x80\x19\xeb\x38\xcc\xfc\x13\x5b\xc8\x54\xb1\xe7\x7d\x19\xe7\xea\x09\xd2\xf0\xda\xa2\x26\x8f\x7e\xfb\x12\xd1\x5f\x6a\xfa\x0c\x8b\xf1\x7e\x72\xe2\x70\xe6\x97\x89\x38\xc9\xbe\x81\x9e\x44\x5c\xb2\xd0\x92\xb6\x35\x81\xde\x1c\x96\x1d\x12\x5c\xe2\x3d\xeb\x47\xf4\x3c\x11\x26\x76\x5f\xaa\x13\xb2\x52\x45\x70\xed\x6b\x6f\x97\xbd\x11\x2d\x93\x21\xd2\x76\x14\x25\x02\x0e\x6a\x6d\x23\x0c\x90\x4d\x4a\xb2\x50\x13\x71\x3f\x59\x53\x40\x1b\xd4\xd6\xab\xd8\xdb\x72\x2c\x84\x6c\x8f\x92\x7a\x58\x6f\xe4\xe3\x7e\xd4\xf9\x4d\x1f\x2c\xfb\x06\x9b\xab\xde\x16\xb1\xe5\xb3\x1a\xd0\x6c\x50\x67\xfd\xc6\x06\x04\x0d\x87\x77\x37\x20\xec\x4d\x29\xb4\x16\x9c\x5d\x97\x9f\x5f\xed\x2b\x97\x1d\x5f\x59\x6c\xbc\x3e\x2e\x7e\xeb\x3a\xdb\x93\x0c\xd2\x77\xce\x50\x74\xfc\xb8\x6f\x7d\x62\x72\x3f\xf5\xc8\xfc\xfc\x2c\x81\xf8\x30\xb9\xef\x4f\x93\x30\x99\xfb\xe3\x79\x7c\x8a\xf7\x47\xbb\x9e\x90\x3f\xfe\xf3\xe9\x9f\x47\xdc\xbf\x75\x3e\xfa\xd7\x97\x39\x2c\xee\xd4\x1d\xb8\xa9\xb1\xa0\x8a\x70\x43\xfb\xa9\x91\xd8\xfa\x61\x11\xc7\x10\x47\xb9\xdb\x71\x07\x07\xc3\xe6\x64\x7e\xac\xf7\x30\x89\x77\xcd\xd4\x55\x7a\xbc\xc6\xfa\x40\xb0\x8c\xf7\x59\x26\x64\xb1\x5f\xd8\xb8\x53\x46\x28\x4e\x05\x74\x61\x72\x68\xb2\x93\x70\x89\x17\x2c\x58\xd9\x64\x7f\xcd\xb5\xda\x5e\x07\xd1\x7d\x92\xef\x11\x14\xa7\x02\x25\x64\xe9\x07\xd0\x39\xed\xc8\xe6\x35\xf9\x55\x3c\x42\xf0\xed\x83\x69\x07\xd9\x31\xe8\x8e\xc0\x00\xf6\x7d\x86\xee\xab\xa4\x7f\xfa\x62\xf1\xee\x8c\xc5\xbb\x37\xf6\x66\x4a\x9c\x4e\x59\x5c\x5e\x19\x8e\xbc\x4f\xa8\x4f\x8c\x72\xf9\xb3\xc3\xfc\x15\xeb\xee\x3b\xcb\xee\x5b\x27\xec\x12\xbe\x76\x6a\xfe\x0b\xeb\xf4\x1f\xce\x1e\x27\xcf\x05\x8e\x9d\x22\xdc\x2f\xea\x88\x8f\xe3\x71\x84\x0f\x5d\x63\x3b\xd5\x0f\x5c\xe3\xef\x2f\xcf\xa7\x26\x9c\x9f\x7f\x7e\x4a\xfd\xa6\x32\xee\xcb\xb3\x84\x92\x5c\x39\x0a\x31\xbe\x33\xeb\xad\x7a\x01\x02\x98\x6e\x9b\x4e\x07\x91\xcf\xb9\xe9\x00\x64\xb3\xe0\x9e\xac\xd4\x3b\xa4\x93\x85\xf2\xec\xd9\x1f\xe4\xbf\xd6\x8b\xe2\x1f\xf1\x13\xf2\x8d\xde\xc9\x2f\x7d\x94\x14\x5c\xe6\x01\xa4\x14\xde\xb5\xee\xb1\xa4\x9d\x89\x9e\x9a\xd1\x91\xb4\x85\x24\xb6\xf5\xdc\xdc\x14\xaa\x91\x5f\xab\xe8\x8e\x5e\xb8\xe9\x40\x44\xf0\x09\x36\xb6\xb4\xb5\x0e\x22\xca\x14\x2c\xf0\x63\xa9\x86\x50\x53\xf1\x2a\xdc\xfd\xb5\xd3\x91\x35\x67\x7f\x4a\x8b\xaf\xc4\x5f\x3f\x1e\xf4\xf0\xe5\xfb\x98\x1e\xcf\x14\x69\xb7\x56\x9c\x25\x0a\xc2\x77\xd0\x98\x73\xc3\x72\x8a\xce\x45\xa8\xce\xc1\x80\xb7\xe2\xf6\x9b\xe6\x9b\xd6\xdb\x8e\x5e\x56\xdb\x8c\x36\xc0\x58\xa8\x04\xf7\x76\xa3\x1e\xcf\xe2\x26\x50\x56\x85\xe8\x50\xc0\x84\xb5\x71\x01\xf8\x34\x39\x71\x6a\x5c\x9a\x5f\x5f\x9c\xc1\xe3\x16\x5d\xb3\xc8\xd5\xee\xf0\xe6\x71\x3f\xf6\x5a\xdb\x70\x90\xf4\x1a\xf6\x38\x7f\xcb\x4f\x64\xea\xf8\xab\x2e\xd4\x66\x6e\x10\x2d\xe3\x16\x17\x5d\xf6\xfb\x16\xc2\x36\xf6\xd9\x9e\xce\xe1\x72\x65\x1f\xfd\x3b\xe7\x30\xdb\x35\xf6\x36\xde\xfb\xd6\xb7\xbf\xf4\x95\xd4\xc0\xa3\x2d\xe2\x29\x3e\xdb\xa2\xae\xe3\x5d\x5b\xf4\x89\xe5\xfd\xd4\x2b\xf4\xf3\x53\xaf\xd0\xfb\xcb\x9b\xec\x9c\xe7\x2a\x89\xe7\x32\x89\xb6\x4e\x22\x9b\x46\xd7\x4a\x89\x6b\xa9\x1c\xcb\x22\x9c\x06\x61\xd9\x83\x65\x0e\x60\x0d\xdc\x18\x3c\xd8\x82\x07\x53\x70\x5a\x82\x65\x08\xdc\x0e\x2c\x33\x70\xb7\x02\x77\x23\x40\x1b\x00\x13\x70\x5a\x80\xd3\x00\xdc\xd7\xff\x5a\xfe\xaf\x6b\x41\x23\x3c\x3a\x97\x74\x7c\xb3\xa6\xe3\xe3\xa2\x7e\x58\xd3\x0f\x4b\xfa\x71\x45\x3f\x2c\xe8\x78\x5f\xd1\xf1\xcd\x92\x1e\xe9\x61\xf2\x7e\xe5\x65\xbd\x9d\xed\xa7\x96\x64\xf9\x5a\xf9\xf2\x71\x9e\x3f\x28\x5f\xda\xf8\x3d\xeb\xc3\x82\x7c\x58\xa6\xc7\xc3\xf2\x7d\x67\x59\x3f\xac\x6a\x2c\xea\x65\x16\xee\x56\xe1\x6e\x14\xde\x2e\xe8\x78\x5f\xd1\xf1\x71\x49\x4f\xfd\xcb\x2e\x74\x6a\x0a\x59\xd7\x62\xf9\x70\x5b\xed\xe8\xf4\x7f\xbb\xab\x5e\xde\x6e\xab\x6e\x11\x3e\xd8\x56\x1f\x4d\xc2\xfd\xa4\x5a\x79\xc7\x73\x9e\xed\xfa\x68\x0a\xbe\x7f\xb4\xd9\x80\x8f\x92\x59\x9f\xb6\x59\xbc\xc4\x4f\x59\x92\xcb\x8f\x30\x25\x4f\xdd\x54\x3f\x3f\xab\x4f\x3e\xa4\x8c\xab\x02\x04\xc7\x6a\x2b\x48\x7e\xb0\x5a\xd9\xe8\x21\xe8\x40\xa1\x1b\x0c\x3f\x1a\x39\xde\xea\xce\x34\xb3\x86\x0b\xb4\x7a\xff\x87\xbf\xae\x74\xa1\xeb\xc2\x4f\x13\xb7\x32\xca\x83\x27\x3e\x68\x59\xec\xc7\xc0\x73\x4f\x59\x6c\x68\x8c\x93\x95\xa5\x36\x9e\x10\x5e\x0d\x92\xe3\x48\xc0\x87\xaf\x6c\x0e\x23\x41\xc7\x03\xc9\xfe\x1b\x8e\x7d\x07\x77\x3c\x12\xee\x5f\x8e\xb7\x6c\xfc\x6f\xfe\xf1\x78\xe0\xf1\x01\xa5\xe8\x87\xea\xd5\x2e\x2e\xc9\x55\x46\x05\x6b\x2e\x3e\x52\x14\xe7\x32\x49\xbe\x29\x83\xdd\xc2\xff\x99\x62\xd6\x9c\x2b\x4f\x2d\x43\x3f\x3f\xb5\x0c\x3d\xa2\x71\x67\x63\xc7\x10\x2f\xe0\xbb\x27\xc0\xdb\x23\x4c\xc0\xe0\x06\x7d\x7d\x7b\xda\xd7\x37\x67\xbd\xe4\x7d\x81\x35\x5b\xfc\xce\x30\x72\xe7\xdd\xe9\x2c\x8d\x7d\x7c\x7f\x80\x08\xb4\x18\xb3\xee\x52\x66\xd0\x54\x83\xfd\x2d\xe4\x0e\x40\x61\xfa\x3b\x2a\xe5\xc7\x92\x4b\xbf\x7c\x53\x2f\x1d\x35\xe6\x9a\x30\x7a\xb4\xe1\x5b\x0b\x59\x3b\x6a\x0e\x59\xfb\x2e\x28\x82\x29\x2b\x03\xf6\xe2\xc8\x60\x1d\x19\xbb\xa2\xb2\x8d\xda\x44\xd6\xbe\xe6\x33\x60\xa8\xbf\x63\x3e\xff\xe9\xe9\xfc\xdd\x69\xf2\xf7\xa7\xae\x9b\x5f\xee\x5d\x37\x9a\x24\xf4\xaa\x3b\x0c\x54\x01\xb4\x13\x95\xb2\x31\x59\x88\x7c\xb0\x15\x68\x38\xea\x7a\xa0\x73\xd0\xbb\x2f\xc1\x6b\x11\x89\xce\x6a\xc4\x0b\x16\x71\x21\xdb\x6b\x1c\x15\x1e\x1a\xd9\x55\xcb\x6a\x33\xc2\xe1\x38\x1a\x3b\x8b\x80\x68\x35\x2f\x50\x5f\x57\xfe\x28\x7f\x73\xcc\xd0\xf3\x81\xb3\x82\x86\x2d\x90\x80\x01\xdd\x3a\x8c\xf7\x52\x09\x54\x1e\x44\x48\x4f\x99\x5c\x21\x9f\x46\x63\x15\x97\x6c\x1d\xc3\x3b\x81\x2f\xfe\x9a\xfd\xc4\x0b\x09\x9f\x1e\xb4\x97\xf9\x6d\xef\x00\x70\xea\x0f\x32\xeb\xf4\x09\xcc\x99\xeb\x32\xbb\x30\xbf\xb3\x0e\xfc\xb8\x07\x7a\x7c\x38\x71\xd0\xb9\x50\xc9\x06\x3f\x80\x5e\x01\x38\x80\x4c\xe5\x6c\x92\xe5\x4d\x05\xb9\x3d\x80\xd2\xb9\x77\xdb\xaf\x49\xdd\x5a\xcd\x1f\xc1\x4a\xd0\x1e\x62\x06\xdc\x50\xfb\x81\x57\x02\xea\x4b\x5c\x65\xf0\x2f\x44\x30\x83\x39\xb1\x56\x77\x32\x27\x0d\xde\x30\x00\x96\x36\x9e\x00\x16\xfe\x75\xd4\x4f\x54\x4c\xfe\xfe\xd4\x51\xf2\xcb\x73\x47\xc9\x23\xc3\x91\x96\xa0\x8e\x00\x38\x3d\xe5\xee\x7e\x72\x7e\xf2\x92\xb3\xfb\xc8\x1d\x1e\xf2\x58\xfe\x71\x39\x9a\xb0\x25\x07\x5d\xe2\xf0\x90\x07\x41\xae\x32\x88\x9b\xb1\xbf\xbd\x12\xe5\x3d\x5d\xa3\xdc\x09\x20\xd9\xcb\x73\x16\xd7\xb0\xb2\xc7\xeb\xcb\xe8\x29\x74\x2a\xb9\x4f\x17\x9a\x79\x70\x6d\xf5\xd1\xb5\xd5\xbb\x6b\xdb\xef\xae\x6d\x7f\x70\x6d\xd7\x11\x97\xe3\xf1\xab\x0f\x63\xda\xb3\xaf\xca\x54\x47\x06\x2a\x08\xa8\x3c\x08\x8c\x7d\xec\x5d\x81\x40\xe4\xa3\x72\x9e\x99\x2b\xfb\xfe\x3d\xf5\xf1\xbe\x07\x84\x06\xd9\xdf\x95\xd6\x41\x02\x77\xb6\x77\xc2\x47\xa8\x9e\xbf\x09\x1f\x6f\x74\xd4\xde\xcf\xbe\x7e\x62\x42\x3d\x75\xa4\xfc\xf2\xd4\x91\xf2\x10\x7a\xd9\x1e\x98\x91\xc4\x32\xbb\x45\x6a\x9d\x44\xb3\x05\x28\x3a\x74\x96\xdb\x70\x7c\xfb\xea\xa0\x26\xd0\xb0\x51\x1b\xc8\x5e\x80\xd3\x12\x99\x90\x01\xa6\x21\xaa\xae\xf3\x7b\xac\x5d\xdb\x50\x4e\xe2\x93\x4e\xe6\x75\xc7\xc3\xdf\xe1\x06\x79\x7c\xa9\xd7\xa2\x6d\x87\xaa\x0a\xde\x03\x57\x2f\x81\xf1\x79\x69\xc0\x77\x60\xd9\x5d\x82\xea\x54\xa0\xaa\x8f\x4a\x54\x4b\x9b\x6a\xfd\x5d\x1f\x2c\x95\x2f\x7e\xd1\x7d\x1f\x1d\x1f\xe4\x02\x7a\xfa\x20\xa4\x7e\x37\x17\x60\x47\x3f\x25\x3d\x4a\x1a\xa1\x96\xf2\xfe\xf8\x59\xd3\xef\x18\x3f\x53\x50\xe0\x39\xa9\xf2\xe1\xf8\x36\xbd\xde\x19\xff\xf2\xc1\x0f\x3c\xcf\xc6\x55\xe5\x4e\xe9\x2f\xbb\x41\x3a\x6c\x6f\xd3\xab\xfd\xd0\xfb\x79\x0d\x8f\xaa\xde\xcd\x6c\xfc\xce\xc8\xe5\xf2\x1f\x97\x04\xf9\xfb\x13\x8e\xfc\x97\x67\x65\x9e\xf7\x56\x22\x34\x09\x1e\x96\x46\x7c\x58\x1b\xd1\x16\x87\x6b\x0e\xdd\x97\x47\x3c\xd7\x07\x17\xf2\x7d\x1d\xaf\x65\xbc\x56\x31\x17\xb1\xaf\xe1\xb5\x84\x7d\x05\x63\x01\xfb\xfa\x3d\x97\xef\xb9\x7a\xef\x8b\xf7\x71\x0d\xfe\x08\x1d\xb8\x0b\xe7\x18\x8c\xe4\x47\xd1\xfb\xdb\x79\xf6\x71\xf4\xfe\x38\xc3\x1e\xa2\x77\x5b\x84\x2d\x8d\x8f\xc7\x7f\xbb\x10\x3f\x1e\xff\x71\x09\x7e\x95\x06\xf9\xe6\xf8\x6f\x17\xe2\x7d\xfc\xcb\xd7\x3f\xf0\xb8\x04\xbf\xfa\x81\xd1\xca\x5f\x76\x83\x56\x7a\x43\x34\xd9\x42\x99\x7a\x33\xaf\x2b\x7d\x2b\xff\x6f\x2b\xe3\x4f\x66\x13\x2e\xbf\x2b\x9d\xf0\x23\xd6\xe4\x13\xb6\xff\x97\x6f\xea\xaa\x68\xad\xa1\x43\x0b\x25\x53\x24\xa4\x86\xd2\xbd\xee\x8c\xb0\x8b\x44\xde\xce\x96\xd5\xd8\x54\xc5\xfe\xba\xe2\xac\xe2\x60\x09\xc4\xbf\x91\x31\xe4\x41\x95\x4c\x81\x74\xf7\x85\xd9\x0a\x62\x4d\x03\x88\xba\x4b\x68\x50\xe9\x03\xe7\xee\x17\x72\xb5\xdb\x02\x23\xff\x1e\x80\x4c\xe4\x5e\x00\x80\xa3\x6d\xb1\xcc\x30\xfb\x6e\xe7\x67\xd1\x63\x6f\x61\xca\x2e\xe0\xb7\x64\xf3\x41\xac\x65\x39\xa7\x52\xd1\xe2\x6e\xf1\x5d\xeb\xa1\x80\x86\xae\x15\xf0\xac\x5f\x45\xfa\x65\xcf\x54\xb5\x50\x94\x22\x5d\x04\x70\x3a\xfb\x90\x7b\x07\xac\x91\x8e\xd3\xb1\x03\x2f\x8b\x45\xb2\xc9\x29\x0d\x09\xf2\x65\x01\xd2\xce\x7b\xa2\x38\xd3\x5a\x98\x6d\x67\xb5\x04\x08\xf3\xea\x14\xf3\x95\xfd\x2b\xa4\x50\x18\x47\xd4\x9a\x4f\x55\xba\x3e\xa8\x55\xe3\xfc\xe4\x64\x6d\x92\xee\x44\x2b\x19\x05\x49\x76\x41\x2a\x00\x77\x60\xb1\xb5\x88\xf3\x80\x96\x52\xa8\x63\x17\x30\x97\x39\xcf\x65\x6e\x07\xe8\xaf\x25\xb5\x43\x88\x2b\x07\x8b\x9c\x38\x84\x5e\x26\xe9\xcb\x9a\x78\xa8\xc3\x06\x22\x0f\xf9\x09\xc0\x24\x2a\x1a\x3c\x20\x08\x11\x52\x98\x1e\x38\x91\x97\x90\xd0\x4f\x9b\x1d\xc0\x0f\xcc\xe2\x22\x63\x23\x7c\xae\x07\xe5\xef\x4f\xad\x11\xbf\x7c\xab\x35\xa2\x10\xb8\x2d\x4e\x8d\x83\xcc\xd4\x52\x6b\x23\x15\xfe\x1e\xfd\xd9\x84\x8c\xc6\x12\x62\xe6\x34\xa0\xaf\x41\xd5\x62\x00\x30\x0b\xd7\xd0\x48\xad\x50\x24\xa8\xe4\xd0\xa4\xec\x79\x86\x2a\x61\x56\x8a\x2c\x1e\x93\xb0\xdf\x1d\x14\x02\xd9\x1b\x0b\x0e\x69\x0f\xec\x3c\x9d\xa4\x55\x33\xed\x94\x43\x4f\xea\x11\xa3\x8c\xb2\x92\x67\x73\x3a\x13\x4d\x71\xad\xa1\x21\xe0\x2e\x8d\x65\xca\x8e\xfe\xbb\x1a\x84\xe4\xb6\xd9\x39\x75\x99\x6a\x6b\xab\xd7\x41\x2e\x68\x81\x26\x03\x12\xa9\x65\xb2\xab\x5b\x44\x85\x96\x9f\x6d\xa9\xf9\xde\x6c\xfd\xc5\x41\xdb\x0b\x61\x22\xcc\xd9\x26\xa8\x8e\x3f\xa1\xd3\x49\x5d\x25\x04\x9f\xdb\xb8\x48\xbd\xc3\xf4\xd9\x37\xde\x01\x7d\xbf\x48\x1d\x12\x5a\xa1\x89\xce\x85\xb5\x7a\xca\xa2\x54\xf6\xe3\x34\x76\x2c\xd2\xa1\xa6\x8a\x50\x62\x2b\x10\x59\x81\xd1\x8c\x91\xf6\xc8\x8e\x4e\xb4\x87\x98\x21\x05\xef\xb4\xcc\x90\x13\xca\x12\xed\x62\x7f\xa0\x04\x20\x33\x0c\xc6\xe4\x00\xfa\xd9\x3d\x4b\xe0\x6f\x45\x19\xa3\x85\xa2\xae\x9e\x95\x43\xe4\x74\x06\xa9\xdf\x42\x63\x9f\xf3\x34\x39\x03\x12\x41\xd5\x10\x0b\xc5\x2d\xca\xcb\x38\xa3\x09\xc3\x13\xf4\x76\x4b\xca\xc1\x3f\x7b\xf2\x2e\x25\xb6\x2f\xb2\x67\xa9\xa8\x37\x03\x54\xf1\x72\x2c\x15\xcb\xbc\xcd\x65\xe9\xde\x1c\x94\x57\x24\x25\x31\x85\x12\x1b\x66\x52\xa5\xed\xec\x6c\x75\x68\x83\x2c\x14\xb5\x5c\xdc\x28\xc6\xd2\x8e\x07\xc9\x52\x1e\xe4\x7a\x07\x80\xf2\xb4\x84\xf6\x8c\x92\xc1\x97\xd8\x32\x3a\x38\x6a\xe0\xba\xdf\x05\x3f\xb7\x6e\x48\x73\xaa\xaa\xb6\x47\x5c\x69\xce\x41\x84\xd3\xb4\xb8\xa6\x90\xb0\xdd\xa1\xb7\xa0\x8e\xa1\xa8\x04\x20\x79\x5a\xa6\x81\x0d\xf5\x40\x62\x90\x5c\xa6\x9e\x2d\xce\xcb\x85\x42\x5b\x15\x55\x2d\x6c\x32\x80\x5c\x61\x52\x96\x90\xe1\x93\xcc\x40\x8a\x4f\xe8\x0a\x29\x74\x9e\x34\xed\xb0\x8c\xe4\xde\x9e\x17\xe0\x31\xa1\xc5\xe6\x84\x3b\xae\x01\x28\x54\x80\xa2\xd4\x08\x84\xe2\x26\x6e\x23\x5b\x75\x25\x2c\x26\x76\x2e\x8d\x7a\xb8\x14\x02\x76\xff\x7e\x88\x8b\xc7\x1d\x6b\x81\x9d\x2d\x43\xf5\x14\x04\xe8\x8b\xf5\xb9\xfb\xf3\x56\xb3\xbf\xa0\x11\xa8\x0a\xce\xf3\xb4\x43\xcf\x62\x66\x62\x23\xd9\x06\x79\x52\xe9\xb5\xc3\x95\x90\x86\x79\xec\x39\x95\xd0\xc4\x6d\xc5\x62\xe4\xaa\x29\x93\xce\x06\x4c\xfd\x23\xc4\xae\x10\xa2\x8c\xa3\x9d\x5d\xd5\xbd\x13\x97\x9d\xd7\xa2\x21\xa1\x99\xa7\xee\x9d\xed\x88\xad\xac\x93\xf0\x6b\x50\xbb\xf6\x4e\x45\x0f\xda\xad\x91\x83\xa2\x72\x97\x43\x45\x2f\x27\x52\x9a\x4a\xcd\x83\xd5\x4b\xac\x36\x05\xea\x08\x9e\xe9\xcf\x41\xcd\x4f\x81\x8e\x0a\x1a\xb0\x99\xc8\x40\xc6\xc2\x7f\x9b\x08\x01\x21\x42\x8d\xec\xf1\x30\x35\x01\xac\xcb\x02\xbe\x60\x2c\xba\xcc\x2f\xed\x1d\x8f\x76\xb2\xb3\x69\x87\xa1\xb4\x6b\x01\xc1\x4a\x67\x97\x51\x96\x72\x31\xe3\x57\x34\xd8\x53\xfd\x4c\x42\xe9\xa9\xaf\xe4\x97\x6f\xf6\x95\xc8\x98\xe0\x67\x07\xd3\xf5\xcc\xfb\x0c\xa5\x78\x0d\xaf\xe5\x83\x8a\x4a\x7d\x8b\x83\x3a\x0b\x79\xa7\x29\x95\x05\x41\x52\x17\x6c\x60\xdf\xcc\x02\x08\x6d\x6a\xbb\x50\x9b\x5b\xb5\x0d\x47\xf3\xae\x20\xba\xca\x1a\xda\xde\x17\x70\x51\xea\x16\x8b\x20\x97\x56\x6f\xe9\x96\x36\xf6\xf6\xea\xe0\x94\x2b\x64\xbb\x42\xaf\xab\xf3\x1d\x49\x63\xe8\x92\x9b\x85\x29\x79\x7c\x58\xb9\x18\x2c\x3e\xbc\x4d\xcb\x1f\xd1\x33\xfc\x97\xe3\x9f\xa0\x56\xf1\xf7\xa7\x56\x88\x5f\x9e\x5b\x21\x92\xae\x1d\xbe\x41\x84\xf1\xd3\xea\xea\x3b\x3b\xa1\xcd\xec\xa4\x63\xe6\xd0\xe5\x36\x53\xbf\x8a\x8e\x5b\x9c\xa9\xef\x95\xfa\x3e\x58\xac\x72\x38\xeb\x81\xe7\x71\xf1\x2b\x9d\xb2\xa9\x52\xca\x11\x67\x09\x22\x7a\xfb\x7c\xd2\xe5\x16\x3b\xfa\x57\x9d\xb9\x0a\xac\xdb\xa2\x87\x53\xc2\xfb\xee\x98\xdd\x65\x52\xcc\x1c\x75\x37\x33\x9f\xaf\x89\x4e\x23\x02\xcd\xde\x78\xa3\xd0\xff\x20\xf3\x1c\xdf\xe8\x3c\xc7\x37\x42\xcf\x6f\x74\x9e\x97\xe4\x9f\x38\x81\x57\x96\x7c\xeb\xa4\x71\x5e\x27\xf3\x78\x2e\x0f\xa7\xc2\xd3\x7a\x38\xdd\x5b\xb4\x2f\x52\x6f\xdc\x96\x2c\x59\x2a\xf3\x2b\xf3\xb3\xbd\x0d\x02\xcc\x2c\xea\xbb\xd9\x0b\x42\xb3\x12\xb4\xc7\x90\xa5\xfc\xe0\x43\x1d\xe9\xfe\xe1\xe5\xfc\xf4\xfb\x93\xe9\x09\x77\xff\xcb\xb3\x02\xc6\x8f\x9c\x4c\xad\x0a\x27\x53\xab\xf2\xdf\x93\xe9\xbf\xd8\x64\x7a\xc2\x85\xff\xf2\x8c\x0b\xff\x91\x93\x29\xcf\xca\xc9\x94\x67\xfd\xef\xc9\xf4\x5f\x6c\x32\x3d\xe1\xb0\x7f\x79\xc6\x61\xff\xc8\xc9\x24\x79\x72\x32\x49\x9e\xff\x3d\x99\xfe\x8b\x4d\xa6\x27\xd4\xf0\x2f\x4f\xa8\xe1\x3f\x35\x99\x3a\x5a\xfc\x05\x5e\x3a\x3f\xf4\x17\x60\x01\xf0\x84\x75\x5d\x19\xf0\x7f\xa6\x29\xf4\x38\x83\x2e\xff\xbb\x4d\xa1\xdf\x31\x83\x9e\x80\xa9\xbf\x3c\x93\xd8\x4f\x3d\xcb\xed\xe8\x14\xd3\xd1\x17\xad\x05\xe2\xf0\xcc\x36\x2c\xcd\x5b\x6c\xda\x2c\xea\x6e\xfb\x29\xeb\x84\x46\xbd\x84\xb4\xbc\xa4\x2d\x0e\x0d\xc3\xc9\x47\x78\x80\xe6\x03\xff\xdd\x4a\x09\xa5\xec\xb1\x6b\x98\x42\xba\x85\xa0\xa9\x33\xcb\x04\x4a\xd6\x5e\x10\xe7\x4b\x6f\x01\x28\xab\xc4\x1c\xf9\x70\x6d\x59\xd7\x96\xc6\x5d\x48\xd7\xa8\xb5\xdd\xa0\xb0\xfd\x07\x30\x20\x3b\xc7\x46\xd7\x67\x91\xcb\x81\x66\x5a\x91\xba\xcf\x02\x26\xd4\xd9\xd9\x6c\x85\xb9\xd4\x2d\xbe\xe3\xc9\xf3\xaa\x28\x7b\xc0\xeb\x7e\x7d\x91\x5c\xf8\xec\xde\x49\x90\x1d\x5f\x11\x57\x1c\x6f\xf2\x6d\xc7\x03\x09\xc4\xeb\x8b\xb4\x44\x30\xdc\x3b\x99\xb9\xc7\x23\x8f\x6f\xfe\xc2\xeb\x8b\x8c\xda\x3e\x7b\x3e\x97\x6f\x9e\x90\x4a\xc3\x09\xfd\xc9\xeb\x2a\x69\x38\x28\xea\x2d\xef\xc5\xb7\x2f\xe4\xed\x90\x16\xf8\xea\xf8\x11\x67\x93\x06\x2a\x79\x97\x3f\x3b\x8e\x3d\xf5\x86\x5c\xf2\x9f\x7b\x5a\xf6\xd4\xcd\x24\xfe\xc9\xd3\xb1\x67\x05\x28\xcc\xa7\x4e\xe7\xf2\xf1\xf9\x94\xce\xfc\xc2\x0f\xb8\xcd\x76\x3e\x3f\xe0\x2e\xff\x80\x61\xec\xee\xe4\x51\xfe\xf4\x43\xb7\xab\xd2\xfa\x27\xe7\xe0\xf7\x6d\xf6\x13\x02\xf8\x97\x6f\x22\x80\x5b\x2b\x60\xf6\x3d\x3b\xb8\x1a\x9b\x9c\x91\xa0\xb1\x77\x3f\xa8\xa0\xb6\xf7\x0a\xa8\x22\x24\xe2\x42\x72\x9c\x83\xe8\xd5\x37\xed\x4a\xed\x84\x11\x14\xd5\x52\x26\xa1\xfa\x6a\x17\x1b\xf7\x76\x31\xb2\x48\x60\xfc\x3b\x32\x9c\x2c\x12\x4b\x78\xfc\x26\xa3\x91\x60\x1d\x4a\x5c\x18\x75\xb4\x9b\x4c\xbd\x4a\xcd\xed\xf5\xa5\xa7\x12\xc6\xfb\xc5\x5f\x6f\x1a\xe1\x19\x1f\x67\xa9\xf7\x78\x53\xe1\x35\x87\x65\xf5\xd7\xbd\xfb\xfd\xef\x7c\x3d\x95\x30\xdf\xef\xd4\xfc\xcc\xd7\x47\xd6\x3f\xf3\x75\x78\x5b\xa9\xb6\x3f\x7e\xf5\x09\x9e\x59\xfa\xa3\x27\xf0\x89\x02\xff\x5b\x8c\xca\xc7\x05\xf8\xd9\x6e\xce\xd4\x9d\x40\x24\x2e\x43\x0e\xdb\xd4\xbb\x6d\xc3\x00\x31\x0e\x52\xbb\x17\x6c\x0f\x73\x04\x51\x8b\x6d\x62\x9e\x9b\x6a\x50\x50\x71\x80\xb7\x2b\xa4\x0d\x45\x1e\xbd\xec\x2e\x36\x93\xc8\xe0\x9f\xa1\xb9\x08\xad\x0d\x17\xa1\xc1\xc1\xe8\x6c\xa3\xe4\x06\xc9\x4d\xd5\x07\x8c\xb9\x81\xd6\x9b\x4e\x43\x2a\xd4\x54\x82\xc8\x55\xee\x28\xf1\x0d\x08\xb8\x44\x90\x84\x46\x42\x9e\xf3\xbd\x21\x0e\xef\x80\xa0\xea\x2a\xf5\x5d\x7c\x01\x1c\xd2\x6f\x3e\xc0\xef\xcf\x9f\x8f\x9e\xdf\xe5\xd3\x33\x68\xb5\x5f\xff\x81\x13\x98\xa8\xf0\xfc\xf1\x09\x84\x1b\xf0\x27\x7e\x1f\x37\x40\xcb\xdb\xf5\x7b\xf9\x3d\x33\x18\x6e\xf3\x9f\xbd\x03\x5f\x9f\xc1\xef\x3a\x81\x31\xfe\xcc\x00\xdf\xdf\x27\x9e\xd0\xff\xbf\xfc\x76\xf2\x76\x9a\x27\xcb\x78\x0a\x29\x7b\x14\x16\xfb\x0e\x3d\x0e\xf0\xc7\x10\x72\x95\xa9\x06\x33\x51\x7b\x55\x82\x16\xed\xc5\x4c\x20\xa4\x01\xdf\xba\x85\x47\x79\xa7\x3a\x0e\x0d\xbe\x00\xf4\x2a\xcd\x36\x82\x62\x7f\x0f\xaf\x56\x2c\xcd\x2f\x87\x4a\x69\x59\x65\xe1\x92\xcb\x11\x73\xa5\x1a\x28\xe8\x9b\x40\x9b\x13\xf2\x11\x5b\x90\xba\x43\xfc\x5f\x52\x80\x1a\x75\xd6\xd0\x42\xe9\xbb\x84\x09\xe2\xd7\x5d\xea\x0c\xc0\x71\xa1\x89\x3a\x17\x82\x78\x33\x4a\x73\x32\x88\xfc\xcd\x39\x91\x78\xbb\x74\x3b\x84\x88\x15\x08\x57\x52\x53\x10\x75\xe9\xee\x12\xf8\x8e\x5d\xa0\x30\x14\x37\xb9\xa4\xab\x48\xae\x8c\x10\x50\xbb\x0f\x73\x02\x27\x0d\x94\x05\x86\x90\x2f\xe8\x0d\xcf\xa8\x5d\x2a\xa0\x23\x12\xcc\x94\xe0\x2b\x90\x97\x23\xc1\x10\x0b\xce\x7c\x33\xba\x02\xce\x11\x9d\xb0\x87\xfa\xac\xc8\xd6\x34\x09\xa4\xbb\x77\x7e\x63\x05\x43\x9e\x2e\xa4\xc7\xde\x83\x94\x1c\x5a\x0b\xea\x80\x6b\x6a\xe4\xf7\x43\x15\x74\x8b\x24\x39\x85\x62\xf8\x65\x17\x48\xe5\x06\xe7\x05\x2a\x94\x6e\x95\xb3\x25\xb6\xa3\x80\x95\x96\xd8\x7a\xcc\x69\x58\x6c\x6f\x93\x65\x24\xca\xe7\xe7\xa5\x83\xb5\xd0\x28\x64\x53\x6a\xf5\xfe\x0f\xbe\xc6\x51\x3c\xe8\xe1\xe5\xc3\x11\x8f\xdf\x7c\x18\x12\x00\x48\x5d\x53\x44\x20\x46\xe4\xe1\xf3\x1b\x06\xab\x0e\x66\xa9\x71\xe7\xc0\x45\x10\x6a\x36\xbe\x05\x10\xdb\xcc\x30\x15\x9a\x51\x29\xe4\xa0\xe9\xb2\xd7\x11\x6a\xb1\xe0\x52\xb4\xa3\xed\x9e\xad\x22\xa0\xa0\x04\x5a\x26\x01\xbc\x4b\x44\x11\xa1\xf5\xa2\x54\x91\x42\xd2\x81\xf2\x2f\x2c\xf7\x21\xe4\x9d\x2e\x5b\x03\x15\x7e\x0d\x14\xde\x93\xde\x0e\x36\x10\x08\x23\xc2\x88\x13\x88\xca\x25\x43\xe5\xd1\x69\x77\x12\xc2\xec\xd3\xc5\x8f\x33\x68\x7f\x15\x0c\xde\xa8\x00\x17\x2a\xc9\xae\x92\xa3\xe6\xb2\x67\x14\x66\xdb\x0c\x5a\xca\x01\xf1\x0e\x90\x12\x6a\x11\xb0\x1b\xed\x52\x4a\xe8\x41\xdb\x00\x4f\x8a\x4c\xe7\x59\xe8\xd0\xf4\xf3\xa2\xe4\xa7\xa4\x86\xfe\xf1\xd4\x10\xf2\x6b\xfa\x86\x87\xa9\x16\x51\xea\xb8\x22\x09\xd1\xdb\xb8\x46\xa6\x23\x7a\x5b\x15\xc9\x4f\xa1\x51\x3f\xa6\x85\xfa\x10\xf8\x66\x5f\xf9\x63\xc0\xb7\x7f\x3c\xf5\x19\xfc\xfa\xdc\x67\xf0\x15\xdd\xa0\x22\x01\x33\xbf\x81\x84\xff\xd6\x35\xcc\xf7\x09\x0e\xfe\xc4\x25\x3c\x21\xdb\x7f\xfd\x16\xb2\xdd\x9e\x52\x42\x83\x24\x18\x45\x91\x6a\xaa\xa2\x8e\xf3\xb7\xf7\x2a\x53\x75\xfe\x99\xd6\x76\x9d\x1f\x91\x2f\xe4\xaa\x0b\xd4\x88\x06\x01\x57\xd2\x7a\xff\xae\xc0\x4f\xcc\xf5\x0f\x75\x10\x70\xe0\xa7\xdb\x66\x43\x72\xc4\xa7\x8f\xec\x1b\x8f\x27\x7d\xf9\x1d\x77\xf4\x09\xa1\xfc\xeb\x13\x42\xf9\x0d\x56\xa0\x23\x35\xb5\x89\xb9\xa6\xa5\x79\xfe\x87\x49\x2d\xe6\xb6\xb6\xa8\x39\x83\x97\xca\xff\xbe\x7b\xcc\xfa\xfe\x3d\xa3\x16\x3c\x65\x06\x96\x25\x05\x7d\x6b\xbe\x0f\xf6\xd1\x81\x80\x4a\xac\x81\x1e\x32\x70\x87\xa7\xe7\xde\x0e\x14\xd7\x48\xef\x1c\x79\x8e\x74\x66\xe9\x90\xc5\xc3\xef\x5d\xb6\xc7\x6b\x8a\x7e\x51\x5f\x1f\xf5\xcf\xbb\xf2\x9f\x20\xaf\xbf\x7e\x07\xf2\xda\x43\xd1\xfa\xde\xdd\xfd\x2a\xb7\x69\x81\xb5\xb4\xb9\x79\x84\xdd\xe6\xc7\x47\x7e\xf5\xc0\x1f\xf3\xa0\x6f\x46\x59\x83\x3c\x1d\xf4\x66\xc6\x3d\x66\x1c\xb7\xf5\xe3\x6b\xa0\x77\x8f\xf9\xea\xf1\xbe\x4d\xe3\x5e\xee\x57\x70\x8e\xf6\xfe\x91\xaf\x6f\x6d\xbf\xf9\xd4\xcb\xf8\xdb\xeb\x7f\xde\x39\xf0\x04\x27\xfd\xf5\x09\x4e\xfa\x38\x07\x12\x38\xe6\xc6\x96\x13\x04\x38\xae\xb1\xd5\xb2\x45\x74\x76\xda\x3f\x5b\x2d\x7f\x10\x7a\xf3\xcf\x80\xbc\xf9\xc7\x13\x42\xea\xd7\xf7\x10\x52\x77\xde\xb3\x09\x19\x87\xb4\x13\xe4\x05\x90\x25\x93\x3b\xcd\xd3\x3c\xc0\x76\xee\x94\xd1\x0b\x70\xf2\x41\x18\x51\x9c\x5f\x56\x06\x55\x73\x66\x0d\xc3\x1c\xb6\x11\x40\xaa\x47\x56\xb2\x83\x62\x9d\xc3\xde\xc6\x07\x32\x8f\x11\x64\xec\x3d\x8c\xc0\x8f\x1c\xef\x6a\x6f\xc5\x1e\x3a\x09\x6d\xba\x27\x28\x53\x4b\xa1\x97\xb4\x41\xda\x39\x53\x4a\x1a\xa4\x45\xde\xa0\x97\x9d\x68\x5b\x32\xe8\x62\xf3\xc0\x11\x6c\xdd\x0d\x39\x1d\xf8\xef\x96\xc1\xf9\x69\x1f\x68\x60\x8f\xa0\x5e\x16\x62\x4f\xb7\x6c\x01\xca\xdc\x31\x32\x0e\x89\xea\xec\xcf\x7c\xf5\xfa\x32\xab\x84\xd1\x81\x5b\xc5\xb5\x8d\x75\x6d\x93\xd7\x66\x17\x03\xc1\xec\xc3\xfe\xb3\xdb\xa5\xca\x0c\x94\x76\x18\xc7\x60\x8a\x70\xf8\x25\x65\x73\x5b\xdb\xd8\x51\x05\x43\xab\x59\x22\x95\xb9\xd3\x7a\x76\x47\xdd\x41\x94\x0e\x42\xbc\xe2\xdd\x84\x2a\x6c\xaa\xcf\xe6\x0c\xb3\xa5\xac\x66\xa2\x32\x63\x25\x89\xb0\x40\x1f\xde\x6f\xc0\x1d\xf3\x88\x58\x22\xf3\xc5\xc5\xe9\x73\x85\x8a\x03\xfe\xc2\xe5\xb9\x8e\xe2\x5c\xbe\x88\x1c\x0f\x2a\x87\x2e\x82\x07\x5b\x16\xb5\xd6\x50\x46\xdb\xcd\x09\x07\x89\x24\x59\x73\xa3\x3e\x50\x07\x81\x03\xcb\x8c\xa3\x79\xc9\x25\xa1\xce\x63\xd1\x15\x3d\x7e\xc9\x48\x0e\xee\x90\x9b\xb7\xf9\x84\xdf\xcb\x39\x94\x2f\x75\xc3\x43\xd8\x15\xe9\xd6\x5c\x2c\x32\x6d\xf6\x43\xed\x14\xf6\x45\xa8\x94\xc0\x0e\x1c\xc8\xc0\xae\x28\x24\x35\xcc\xc8\x29\x66\xd9\x06\x62\x50\xb6\xcb\x1e\x51\x32\xe9\xe8\x2e\x28\x44\x52\x1d\x7c\x11\x16\xdf\x89\x53\x33\x25\x6c\x9c\xc6\x0f\x9a\xbd\x24\x0a\xef\xe4\x8c\x25\x6b\x39\xe2\x2c\xdd\xc1\x9d\xcf\xb4\x51\x3b\x62\xed\x61\x0c\x30\xb3\x43\x9c\xd2\x3c\x4b\x05\x7a\x53\x19\x1c\x40\xb6\x05\x1d\x00\x83\x32\x3e\x62\x3e\x7f\x28\x1a\x72\x3f\xa8\x77\x68\xf7\xc4\x05\x77\x24\x07\x08\x1f\x82\xff\x1e\xd1\x65\x60\xa8\x04\x81\xcd\x7b\x52\xaa\x24\xe8\x3b\x96\x40\x9e\x4a\x4c\x14\x80\xaf\x2b\x61\xd3\x51\xc4\x61\xa1\xe4\xe5\xbd\x10\xa5\x0d\xad\x66\x1b\xa9\xed\x94\x4b\x6f\x9c\x79\x6c\xfb\x77\x19\xd4\x08\xb5\x8c\x8d\xac\xea\x8d\x52\x30\x24\xc5\x44\x73\x7c\xfd\xb2\x0a\x74\x4d\x3d\x78\x6e\xe4\x94\xee\x54\xd5\xb4\xa7\x98\x21\x10\x05\x55\x75\xfc\xb0\xfd\xad\xe5\x20\x02\xbb\xa4\x03\xa5\xba\xb6\x17\xb1\xa5\xd2\x3b\x64\xb1\x8e\x4a\x4d\x38\x8b\xa5\x94\xd7\xb3\xa4\xa7\xba\xcf\x2c\x97\x87\xab\xd0\xca\x86\x6e\x58\xc2\x4e\x48\xb1\x01\x6d\xc1\xd3\x7b\x88\xea\xa9\x2f\xac\x21\x97\xcb\xde\x83\xcd\x83\x40\x15\x64\x48\x7a\x26\x0a\x32\x83\xc8\x22\xd9\x6c\xc2\x9c\xb7\x1d\xda\x11\xf5\x95\xaa\x3a\xe8\xe5\xe8\x90\x48\x8c\x0d\x24\x9f\x0e\xdc\xce\x4a\x2b\x49\x42\x5e\x56\x88\xab\xbd\x57\x3d\xf3\x80\x46\x81\xc5\x75\xd9\x7c\xb9\xb5\x8c\x3b\x5f\xd9\xdf\x3c\x12\x93\x32\x10\x1e\x65\x5f\xc5\x74\xda\xc7\x58\xd4\xad\x1b\xf0\xe0\x2c\x6b\x17\x39\x22\x13\x94\xc3\x19\xa1\xb4\xef\x24\xbf\x0e\x82\x2a\xd5\xe1\xe4\x0b\xd4\x26\x23\x27\xb3\xb2\x07\x1a\xb1\xb4\x94\xb3\xdb\xde\x9e\xda\xf4\x26\x8f\x69\x0b\xa6\x50\xc9\x12\x1d\x3d\x23\x07\x69\x1d\x28\xeb\x3c\x83\x86\xd2\x42\x61\xae\xb8\x7c\x62\x63\x64\x03\x02\x77\x44\xcc\xae\xf3\xa5\x6f\x8f\x24\x8b\xf8\xcc\x06\xe9\x47\x9e\xdf\xbe\x8f\xf8\xf0\x3b\x7f\x60\xa3\x7c\x82\xa8\xfe\xda\x57\x42\xad\x8a\x85\x42\x35\xdf\x62\xab\x75\x07\x67\xa6\x90\xdb\x22\x50\x16\x15\xb6\xf7\x4b\xdd\x72\x0f\x79\x6f\x23\x68\xe0\x4d\x3f\x79\x01\xa7\x59\x33\xb3\x84\x45\xaf\x92\x32\x35\x34\xb3\xea\x06\x99\xdc\x79\x8d\x78\x53\xa7\x77\xe2\x43\x63\xca\xcc\xca\xcc\xb6\x06\x83\xb6\x3d\x0e\x6c\x2b\xb9\x6a\xb0\xd8\x8e\xd9\xe5\x3e\x9c\x0f\x9b\x4f\x90\xc2\xb8\xb0\x08\xd7\x5c\x9d\xfa\x1f\xd8\x7c\xb5\xb5\xd4\x29\x0e\x6b\x66\x1d\x96\x5a\x8f\xd2\x88\x1b\x47\x27\xd6\x06\x7d\x88\x76\x1d\xf3\x02\x42\xb9\xdc\x57\x63\xa6\xd6\x73\xea\x29\x89\x85\xa0\x9f\x8e\x84\x43\x38\xfb\xa2\xca\x35\x16\xf3\x9e\x74\x6c\x31\xa3\xd5\x48\xcd\x69\xdc\x44\xa1\xea\xdd\xba\x19\x78\xdc\xb4\xdc\x39\x59\xfb\xdc\x46\x68\x25\xef\x66\xf8\xc1\x8f\xdb\x0a\x56\x3b\xd8\x39\x2a\x04\x96\x8f\xc8\xaf\xb4\x0d\xc4\x05\x5a\x30\xa6\x8f\x7f\xed\x49\x77\xc9\xe8\xcd\xe9\x85\xf2\xe2\x2e\x53\x05\x65\xad\x72\x6e\xdc\x00\x6a\x47\xe8\x98\x50\x70\x83\x29\x66\x24\x45\xc5\x8c\x51\x2f\x41\xfa\x74\x86\x99\x0c\xd6\xf0\x6b\xac\x85\x96\x3c\x2d\x69\x64\x98\x5e\xf6\x91\xa4\x4f\x25\x5b\x9e\xb0\xaa\xbf\x9e\x1c\xd1\x53\x35\xf4\x3c\x6f\xb6\x6e\x20\xae\x13\xbc\x63\x0d\x44\xcc\x16\x93\xd0\x5a\x7b\x07\x09\x4b\x68\x34\xea\xdc\x39\xd1\xb2\xe0\x8a\x52\x5f\xea\x2d\xa7\xb9\x53\x5c\x2b\x44\x41\x9f\x03\x79\xd6\x71\x14\xd5\x34\xb9\x93\x0b\x0a\x18\xb6\xf9\xdf\xa2\x40\x3b\x20\xe3\x31\xc0\x8d\x67\x0f\x85\x3b\x43\x4e\x0a\x5d\xd7\x56\xeb\x27\xe1\xdd\xb1\xdc\x4e\x71\x33\xf6\xe8\x0a\x25\x61\x9a\x49\x14\x5c\x8e\xb4\x7a\xeb\xb7\xf1\xa5\xde\x26\xda\x67\x86\xad\x01\x7b\xec\x97\x03\xcb\xc5\x5c\x3f\xb0\x95\x79\x08\xe4\xbc\xf0\xe4\x23\x0b\xb1\x1d\xea\xbc\xd4\xb8\xf3\x37\x3b\xfd\x5b\x04\xca\x21\x85\x02\x80\xb7\xde\x4a\x57\x0b\x4a\xf4\x16\x4b\xd7\xd7\x97\x26\x85\x1f\xa5\xe6\x1f\xd5\xb9\x45\x56\x32\x05\x4a\xeb\x62\x3e\x35\x76\x65\xb1\x4f\x07\xbe\x78\x95\xd4\x6f\x59\x74\x2b\x14\x07\xbc\xf6\xb6\x95\x1c\xb2\xcc\x9b\x2d\x4f\x88\x32\xce\xd0\xd1\x9a\x04\x66\x7d\x24\xc9\x33\x6f\xb5\xf8\x8e\x2c\xdd\x5d\x60\xa5\x48\x08\x76\x00\x6f\x58\x0e\x20\xa6\xb1\xcb\xbd\x5c\xe1\x45\xda\x49\x5f\xe3\x14\xfe\x7c\x6d\x3b\x63\xb1\x3b\xfc\xc4\x06\x19\x6c\xfc\x80\xee\x98\xb8\x7a\x69\xae\x2d\x54\xa9\x37\x41\xaf\x97\x6d\x4c\xe6\x1e\xd1\x27\x73\xcd\x36\x24\x89\xa9\x65\xdb\x1f\x9a\x27\x01\xdd\xba\x49\xb5\x28\x4e\xba\x5f\xb7\xa4\xad\x87\x9c\x76\xec\xcf\x8d\xf8\xae\xc6\x3e\x9c\xd6\xe0\x5a\x1d\xd2\xc2\xa0\x70\x0d\xf4\xa0\x3e\x13\xef\x7d\xc8\x05\x7a\xf9\x38\xe0\xfb\x88\x0c\xf4\x13\x8b\xec\x09\xc3\xfb\xeb\x13\x86\x57\xa5\xb7\x33\xb3\xc3\x46\x27\x18\x0b\x96\x0c\x59\xac\x1e\xb8\x05\x16\x00\x8f\x86\x96\x54\x21\x5a\x2c\x15\xe7\x65\x09\x52\xd2\x01\x89\xc3\x20\x1d\x4d\xa0\xd2\xd9\x6e\x64\x36\xcd\xce\x9e\x02\xc4\x88\x4e\x9a\x1e\x79\x8a\x73\xe1\xd6\xa4\xa1\x24\x8b\xb8\x5d\x1f\x5d\x2b\x5a\xd8\xcc\xdf\x69\x4e\x3d\x65\x5b\x31\x85\xff\x6a\xa6\x3a\x26\xa5\x69\x51\xd1\x84\x06\x72\xf3\x9e\x2e\x5b\xb4\xcd\x4e\x27\xc9\xa0\x16\x84\x05\x0e\xd0\x54\x2e\x63\x2f\xc5\x36\xe7\x5e\x42\x1b\x48\xe3\xcd\x50\x07\x5b\xaf\xcd\xac\x36\x0b\x81\xba\x59\x0d\x52\x85\xc1\x41\x41\xcc\x44\x02\x0b\x74\x2b\xf1\xda\xc8\x71\xa1\x14\xd4\xe3\xcc\x4a\x9e\xbc\x76\x0f\x99\x9b\x14\x1a\xd0\x5a\x82\x0f\x56\x32\x26\x8b\x17\x00\x0a\xe4\x54\xd8\x40\x24\xd4\x91\x92\xad\x40\x8d\x1d\x39\x77\x34\x88\xc1\xbc\xb0\xf3\x3e\x67\x5a\x00\x28\x3e\x32\xde\xdc\xa1\xc0\xc3\xb2\x6e\xa7\x27\x07\x6a\x62\xf3\xe9\xbf\xdc\xd5\xe6\xfa\x42\xf4\x51\x0c\xe3\xb2\xb3\x73\x86\xa4\xc2\x53\x1f\xd8\x0f\xc7\x81\xe5\x64\xb6\x1e\x12\x04\xb1\x05\x2d\xab\xd3\xf8\x50\xf8\xf9\xd4\x96\x27\x2f\x4b\x77\x4c\x59\x9d\xb6\xbd\x6b\xd9\x15\xcd\x7b\xd8\xd6\xb1\xde\xb3\x47\x5c\x88\x96\x8b\x3b\x9a\x10\xea\x43\x99\x08\x66\x67\xf0\x9d\xd2\x20\xe4\x87\xe9\xc6\xb6\xb2\x48\x36\x76\x78\xbe\x11\x65\x53\x94\xd9\x08\xc5\xec\xa4\xe8\x61\x8f\x71\xec\xd3\x65\xeb\x70\xe5\x1b\x47\xdf\x31\x99\x2d\xb8\x42\x9f\xeb\x65\x97\x59\xc3\x9c\x21\x4b\x09\x3a\xe6\x81\xbe\x3e\xb1\x89\x60\xd7\xda\xec\x6c\xb0\x35\x66\xb8\xdd\x36\x5f\x75\x8f\x1d\xca\x75\x08\x65\x09\x9d\x2c\x0e\x9d\x64\xe7\xaf\xdd\x0d\xea\x6b\xda\x43\x1b\xd0\xbf\x07\x96\x8f\xf2\x4c\x2d\xb3\x9d\x30\x37\x54\xf6\x7a\xc6\x7e\xa0\x50\x46\x8c\x15\xdd\xc1\xd2\xb3\xd9\x3f\xf0\xcb\xa1\x28\x1f\xd6\x7e\x67\x31\x65\x72\x06\xdb\x9a\x82\x6f\x32\xe8\xec\x23\x2c\xcf\x42\xa2\x38\x07\x49\x51\xf0\x98\x29\xd3\xde\x20\x90\xa2\x70\x9c\x87\x5e\xd0\x8f\xed\x1a\x70\x58\xb3\x54\x35\x19\x14\xf0\x59\x94\xd0\x54\x12\x25\x99\xbb\x2d\x35\x42\x04\x6a\x50\x8f\xf4\xc8\xe0\xe4\xd5\x99\x23\xd6\xec\x16\xbd\x76\x37\xa9\x35\x39\x83\x2b\x49\xd9\x3b\x8c\xbd\x56\xc6\xaf\x16\xa5\xd5\x3b\x1f\x24\xed\x18\xe5\xc2\x9c\xd3\x62\x53\x0b\xff\x44\xd0\x8f\x3e\x4b\xd0\x99\x76\x74\x3e\x6a\x10\x88\x5b\xd4\x9d\x04\x21\x28\x79\x4a\xd9\xc5\xc2\x3d\x0b\x22\x4b\x3d\x0a\x62\x47\xa9\xc3\xd6\x76\x4e\x44\x2d\x94\xcb\x91\xed\xdb\x72\xe4\x44\x4c\x6a\xdf\x55\x61\x77\x6d\x3f\xc8\xa8\x60\x42\xa6\xb6\xf4\x4f\x34\xd4\xfd\xe3\x09\xc1\xfe\xeb\x33\x82\xfd\x21\x77\x96\x0b\x09\xc4\x94\x9d\x74\x30\x97\x2b\x5d\x42\xb9\x4e\x75\xad\x53\x4e\xd7\xba\x16\x17\xd4\x05\x60\x57\x9b\x53\x4c\x31\x99\x83\x9e\x68\x42\x8a\x28\xac\x1a\x25\x41\x00\x3c\x07\x36\xb4\x2f\xbd\xaa\xb9\x20\xca\x9d\x72\x21\x66\xc0\xc9\x98\x04\x70\xaf\x19\x96\xdc\x0f\xd8\x9a\x71\x2e\x52\x8b\x92\x94\xab\xf4\x90\x3b\xcf\x13\xd2\x0c\xe3\x24\xd9\x6c\xe6\x3c\x91\xa8\x1b\x50\x9a\x3e\x2e\x3b\x44\x8f\xc0\x9c\xc5\xe2\x5d\x54\xb5\x58\xd0\x13\x2a\x5e\x51\xb4\x1f\x25\x05\x94\xb6\xe6\x6d\x93\x5a\x25\x58\x60\xa3\x02\x03\x4c\x93\xc5\xa2\x5f\x3d\x9b\xb3\xf1\x34\x77\x09\x45\x02\x92\x60\x65\xa9\x1a\xb5\x72\x68\x09\x83\xe2\x28\xa1\x67\xf0\xfe\x63\xad\xa2\x29\xb1\x1f\x82\xe5\x06\xb2\x2b\x7c\xd0\x8e\x5c\x2c\x86\xcf\x07\x98\xf8\x60\xd2\x06\x8a\x8a\x16\x29\xa7\xa0\x3d\x58\x30\x43\x51\x59\x76\x26\x16\x68\x65\xd4\xd0\xd4\x59\xbe\xca\x29\x81\x3e\xa7\xb9\xc3\x6e\xb8\x49\xa0\xa7\x8b\x30\x8d\x4a\xb0\x5e\x46\x9f\xc3\x13\x32\x68\xb3\x5f\x44\x6f\x58\x47\xf6\x35\x07\xe8\xce\xe3\x7c\x71\xff\xf0\xfe\x8d\x73\x94\xfb\xc8\x0f\xbf\xf7\x70\x1a\xe7\xd9\xd9\x13\xaa\x1a\xa6\x54\x20\xd4\xbc\xeb\x9e\x8c\xaa\xb2\x88\x15\xf8\x18\xe6\x6a\xd2\xce\xd0\x41\x67\x06\xcd\x65\x9f\x74\x1e\x11\x8b\x46\xe5\xbe\x8d\xe8\xec\x17\xa6\xc2\xb3\xdd\xf7\x32\xb9\x7f\x56\x62\xc6\x4f\x3e\x5d\xd4\xdf\x6d\x8b\x40\x5d\x5e\x58\x0e\xe7\x03\x4b\x3d\x88\xb6\x43\xb3\x5a\x9c\xaa\x98\xce\xf3\x50\xa0\xe2\xcb\xa1\x70\x1e\x09\x35\xee\x83\x0e\x89\xad\xd7\x4a\x9d\x59\x51\x39\x40\x3e\x88\x2a\x5e\x9b\x29\xd4\x9e\x77\x51\x7b\x94\x40\xd3\x83\xab\xb3\x99\x65\x6b\x14\xb9\xdf\xe3\x20\x11\x7e\xa8\x98\x34\x3b\xc8\xf2\x0a\xda\x7f\x63\x4d\x9c\x2a\xa2\xe9\xa0\x3e\x3d\xb6\x7b\x97\x4b\x9a\x93\xfb\x6d\x1a\x97\x23\x52\x3a\xc7\xb5\xb5\xc5\x41\x7d\xcd\x2c\x27\xd0\xf5\x4e\x46\xce\x55\x50\xa0\x17\x98\x06\x65\xa7\xe1\xe4\xdb\x0f\x95\x20\x9a\x0f\x6a\x12\x71\x33\xab\x35\x80\x57\xee\x13\x26\xe8\xa9\xef\xe1\xd7\x9f\xff\x8f\x07\x55\x4c\xad\x6d\x81\xe1\x45\x57\x5b\xb4\xb4\x20\xed\x26\xed\x1a\x2d\x62\x7b\x7c\x8f\x8c\x8c\x8d\xff\xbb\x96\x71\x23\xa5\xed\x7a\x83\xb7\xd7\x26\x87\xe8\x5f\x31\xec\x03\xe8\xff\x0f\x0e\x7b\x79\x77\xdc\xc7\x86\x81\x1f\x79\xbe\x8f\xbd\x06\x3f\x6c\x5c\x70\xcd\x95\x92\xee\x5c\x73\x70\x3d\x06\xc9\x0e\xe8\x12\x5f\xe3\xc8\x8a\xfc\x30\x05\x5d\xd5\xa6\xa2\x8e\xd0\xc6\x22\x9a\x2b\x29\xe0\xdf\x07\x3e\xbd\xda\xe1\x38\x9a\xdf\x3f\x38\x9c\x47\x29\x8a\xaa\xb4\x9e\x8c\x07\xf8\xff\x15\xba\xb3\x4e\x48\xfc\xf0\xae\x88\x37\x55\x98\x3b\xd5\x56\x04\x6d\xb3\xcc\xae\xe8\xf1\x2d\x1f\xbd\xb4\xf2\x17\x8e\xde\x35\xd9\xe8\x97\xbf\x68\xf8\xd9\xdb\x5f\x78\xf2\xa2\x59\x7f\xc8\xf0\x97\xaf\xc7\xff\xbe\xe1\x78\x6a\x77\xf9\xf5\xb9\xdd\xe5\x41\x05\xa5\x5a\x0c\x2a\xa8\xc5\x82\x10\x73\x13\x94\xd9\x52\x87\xbf\x61\x71\x9c\xd3\xa1\x9e\x79\x17\x46\x3e\x70\x3f\x49\x5f\xe4\xa5\xa1\x32\x42\x33\x77\x12\x5a\x86\xa9\x6d\xd5\x63\x22\x4a\xf0\x32\x01\x4e\x7e\xd4\xe6\xf2\x3f\xa7\x9b\x59\x74\x03\x63\x4c\x4e\x69\x8b\xda\x25\x88\x99\xb7\x2c\x79\x83\x43\xae\x79\xec\x4e\xd9\x81\xf0\x62\x32\xef\xe3\xdb\x97\xbb\xe7\x24\xbe\x81\x37\x81\x6d\x01\x62\x57\xa8\x5d\x8d\x9b\xb9\x28\xfb\x1b\x21\xd5\xcb\xfb\x30\xf5\x1b\xe5\xc3\x58\xf6\x1a\xfb\x49\x14\x92\xe9\x26\x29\x7e\xa4\x9e\x3f\xab\xcc\x40\xe1\x44\x2c\x08\x9e\x38\x5f\xcd\xe3\x66\xe7\x8e\x2b\x89\x52\x1b\x2f\x2e\x66\xe8\x76\x67\xe6\x14\x7d\xe7\x50\xbf\x1b\x5e\x36\xd4\x60\x77\xc8\x6e\x9d\xb4\xc4\x5b\x19\x05\x42\xc2\x7c\x18\x88\x3f\x18\x96\xcc\xa5\x28\x9d\x01\x4a\x68\x8b\xb3\x46\xa7\x53\xc4\x6d\x7c\x10\x9d\x8f\x36\xe7\x0b\x88\x1c\x1a\x99\x25\xe6\x81\x3a\x15\xf1\x71\x95\x8a\x9e\x35\x81\x78\x7d\xcb\xc8\xc8\xeb\xc6\x07\xd1\xd7\x13\xe9\x5b\xf4\x4f\x90\xef\x17\x9e\x90\x40\x85\xd6\x8c\x19\x72\xaa\xb8\x8d\xb6\xb9\x5a\xd4\x6b\xb6\xaa\x6d\xfc\xf5\x35\x2f\x3a\xae\xe5\xac\x56\x62\x5e\x9d\xe7\x9e\x49\x77\x33\x42\xec\x6b\x1e\xb6\x2d\xf2\x6e\xe0\x4a\x21\x88\x8d\x7b\x74\xdc\x6f\xdb\xba\x95\xdb\xba\xcb\xdb\xba\xf1\xf6\x18\x2e\x5b\xf4\x87\x82\xc7\x09\xda\x17\x7b\x54\xc7\x7a\x70\xeb\x49\xfa\x93\x5d\x8f\x7a\x5b\xb3\xe0\xc6\xc9\xf3\xad\xd6\x1d\x4c\xb0\xcd\x67\xdb\xce\x5f\xf1\x49\x78\xac\x59\x79\xce\xd3\xfb\xd4\xe5\x64\xe6\xf9\xd9\x24\xf7\x29\xcf\xf9\xbf\xf9\x82\xb0\xf5\x93\x7b\xf0\x75\x72\x3c\xac\x9d\xb5\xa0\x70\x87\x6c\xa9\xf9\x13\x6f\x97\x9d\xb7\x98\x2b\xf2\x58\x4b\x14\x2b\xd1\xe2\xdf\x2f\x27\x29\xd2\x7d\x71\x9f\x93\xad\x6f\x6e\x09\x76\x45\x8e\x0f\x9b\x14\x82\x81\x58\xb2\x37\x79\x24\xf0\x95\x45\x19\x2b\xe3\x99\x83\x70\x76\x34\x3d\xa7\x7d\xdf\xce\x17\xfc\x64\xc7\xf4\x43\x3d\x2f\x9d\xda\x1d\xc8\x25\x9d\x50\x4d\x48\xb2\xe8\x27\x3a\x44\xfe\xf1\xd4\x21\xf2\xeb\x37\x3b\x44\x4a\xcf\xa1\xa5\xbe\xf7\x00\x41\xb7\x9c\xbd\x9d\x91\xa5\xd7\x61\xeb\xbf\xf7\x20\xd9\xfc\x65\x95\x00\x3a\xf7\x68\x2e\xe2\x9d\x0a\x38\xab\x5d\x3d\xc4\xf4\x3d\xe9\x8b\x4c\x0a\x84\x2c\x3d\x16\x02\x23\x1a\xb8\x71\x03\x70\x43\xf8\x09\x44\xc0\xf6\x13\x42\xa9\x55\xfb\x11\x65\xc9\x8f\xac\xf1\xf6\xf4\x6c\x35\xe7\x50\x27\x70\xc4\xe0\xa0\x3f\x2c\x32\xf6\x94\x23\x20\x26\x35\xb7\x8d\x24\xe3\xd9\x36\x05\x86\xb7\x9d\x6e\x36\x48\x99\xa9\x93\x1c\xb3\xca\xc5\xdb\x00\x20\xcd\x89\x45\x61\x36\x13\xb4\xd4\x80\x10\x1f\x31\x83\xb7\xc5\xfc\xee\x2d\x4e\xf0\x72\x65\xdd\x72\xe9\x21\x17\xc4\xa0\x29\xd0\x3f\x66\x18\xc1\xbc\x12\x65\x98\x55\x28\xbb\x2b\x03\x4d\x7f\x21\x97\x74\x28\x63\x39\x0c\x9d\x51\x9e\xc5\xd0\xbb\xcd\x24\xd5\x50\x53\x0a\xad\x1d\xfc\xf3\x89\x67\xfb\x84\xea\xfe\xf5\x5b\x9c\xee\xb3\x8c\x50\xd3\xd8\x90\x82\xc9\x3a\xaf\xb1\xca\xc6\x6c\x64\x35\x1b\x8a\xe2\x57\x4d\xd7\x58\xe6\x26\x7d\x86\xdc\x0b\x64\x1d\x73\xde\x14\x7a\x87\x4c\xe8\x25\x9b\xb9\x16\xda\xa4\xd7\x97\xda\xa0\xde\x97\xb6\x9c\x10\x66\xd8\x30\xac\xdd\x02\x13\x53\x82\xe4\xf4\xfa\x32\x53\xb7\xa0\x6b\x7d\x3f\x53\x4e\x32\x42\x58\x52\xf3\xb4\xbb\xf3\xfa\x22\x60\x55\x6e\x75\x13\xf6\x7c\x6e\xcc\x67\x4e\x1b\x72\xa6\x30\xc4\xe2\x9a\x91\xbc\x7a\x08\xd2\x74\x24\x27\xcb\x3d\x39\xe9\xe9\x74\xa6\x27\xfb\x3d\x3d\x79\xe1\x8b\xd8\xce\xec\x65\x5c\x69\xd4\xe6\xaa\x04\x14\x3b\x86\x55\x2c\xc7\xfa\xfb\xe6\xd3\x37\x5f\x5c\xc3\x71\xfc\xe3\xf1\x37\x1f\x4f\x86\x27\xf8\x9f\x8c\x07\xba\xfc\x19\x40\xd0\xff\x7c\x82\xff\xfe\xf6\x0c\xff\x7d\x68\x0a\xce\xb9\x84\x9c\xb0\xf1\xa9\x39\x3e\xa0\x21\xb4\x90\x7e\x9e\xa2\x26\xcc\x97\x31\x43\x5c\x9d\xab\xbd\x06\x5b\x51\xd9\xb9\xc4\xbc\xf3\x07\x35\xb7\xee\x3e\x14\x0a\xec\x58\xc6\x29\x03\x42\x81\x56\x5f\x12\x3c\xda\x5c\x42\xb5\x8e\xf9\x38\x3c\x33\xa2\x4f\xf0\x5f\x3e\xdb\xc0\x82\x58\xc8\xcb\x3f\xab\x2e\xba\x3b\x59\x75\x99\xc1\xb7\xfa\xbe\x7a\xcf\xce\x17\xd5\x0b\x68\x9e\xd8\xb7\xc7\xeb\x39\xed\x4a\x47\x23\xbb\x97\x04\x04\x38\x76\xfc\xe9\xc5\x3f\x47\xcb\xc8\xe1\xf2\x2f\xab\x12\x5f\x7d\x5b\xcb\x60\x24\xb7\x0d\x64\x94\x60\x41\x79\x11\xec\xbc\xb3\x40\xe4\xb1\xb7\x10\x9b\x53\xe0\x59\xc4\x52\x64\xa9\x37\x7b\x21\x97\xb2\xbf\xde\x3c\x71\x38\x45\x5d\xf7\x5e\x0d\x57\xd4\x06\x97\xe0\x21\xe2\x60\x80\xdd\x82\x6f\x66\x1e\xa5\x1e\x99\xde\xcd\x8e\x72\x6b\x9f\x41\x26\xb5\xae\x03\xca\xa1\x7b\xbb\x2b\x2d\x3b\x43\x3a\xb8\xcc\x40\xe5\x65\x36\x00\xce\x12\x5d\xbf\x0a\x47\x67\xd2\x00\xfa\xa9\xb1\x32\x3c\x02\x51\x5a\x20\x0a\x70\x0d\x20\x0b\xf1\x0b\xe0\x03\x61\x04\x24\x3c\xa7\x1e\xc8\x27\x3b\xa7\x7e\x23\x77\x9f\xa2\x6a\x55\x6c\x82\xdb\xb6\x48\x82\xb5\x3c\xf8\xab\xed\xec\x40\x20\xf9\x64\xf7\x92\x28\xfd\x3d\x8a\xf6\x63\x53\x49\xf9\xe8\x25\xc4\x5e\x76\x34\x21\x06\x9c\x2b\x25\xd7\x89\xc6\x22\x25\x7e\x39\x34\xc1\x81\x78\x7d\xc9\x23\x07\x20\x95\x88\xe4\xe0\x54\x76\x78\x6d\xfd\x42\x76\x7c\x24\xb0\xd5\x81\x26\xc2\x8e\x13\xd4\xf9\x4a\x40\xb6\x17\xa9\xff\x03\xde\x01\x28\xe7\xd0\x2a\x84\x1a\x46\xef\x44\x8c\xf5\x30\xbe\x9c\xfd\x62\xea\xbb\xd2\x1d\xa6\x33\x0e\xc7\xf0\x08\x3b\xd3\x3a\x69\xc8\x71\xb8\xa6\x25\x50\x8d\x63\x57\xca\x9b\xe4\x8e\x3d\x34\xe0\xdd\x06\x59\x13\x49\x85\x97\xb3\xa7\xa6\xd1\xcb\x43\x0f\x2f\xdb\x4c\x30\x07\xa9\x8e\x5d\x86\x4d\xc4\xc2\xd2\xe0\x51\x5d\x5a\x75\xf7\x58\xc0\xf6\xc1\xca\xc6\x19\xdc\x59\xf6\x67\xa0\x44\x51\x14\xf9\x6c\x1d\xb8\xd9\xcd\x95\x3d\x4e\xad\xf7\xb4\xc0\x76\x4c\x86\x99\xc1\xce\xa1\x41\x20\xb1\x66\x64\xb0\x27\x80\x3b\x41\xf2\x51\x49\x99\x0a\xb0\x18\x18\x27\x74\x6f\xd3\xcb\x82\xae\x8b\xca\x55\x48\xb8\x8b\x26\xd8\x87\x99\x48\xaa\x09\xe2\x4c\xf3\x80\xd5\x79\x2d\x1c\x90\xa4\x7d\x49\x8d\x47\xff\x7a\x49\xcb\x75\xf1\xc6\x8b\x4c\x6e\x49\x6c\x4c\x10\xa5\xd1\xd3\xf7\x93\x99\x03\x94\xd3\x2f\x80\x62\xf5\xcc\x79\xd5\xca\x0e\x98\x0b\x92\xa2\xec\xaa\x01\x06\x0a\x57\xa2\xe3\x88\xe6\x8a\xd8\x9c\x0e\x92\x59\x03\x6b\x01\xbc\x75\x03\x1f\xb3\xf0\xa0\x95\x0a\x16\x64\x23\x30\x87\xca\x7c\xa3\xac\x61\xa0\x2e\x23\x66\xdd\xcb\xa9\x3d\x29\xcd\x02\xbb\xc3\x55\x79\x1a\x88\xf2\x34\x80\x40\x2e\x91\x63\x4f\x74\xf1\xb8\x3a\xd1\xea\x48\x4b\x19\x40\x2c\xf4\xfa\xb2\x9a\x99\xf6\xca\x05\x34\x6c\x76\xf6\x83\x25\x07\x73\xef\xf0\x62\x72\x19\x0f\x2a\xf2\xbc\x5e\x5e\x8a\xc5\x16\xaa\xe0\x5f\xb6\xbb\x3b\xef\xf7\xd2\x6b\x71\x0c\x76\xa7\x83\xc4\x4e\x00\x81\xcb\x02\x2e\x7d\x71\x7b\x30\x50\xbe\x2c\xab\x8a\x87\x2f\xa2\x9c\x49\x70\xca\x5c\x33\x1a\x03\xb3\x46\x2f\x35\xe5\xbd\x70\xc1\x3b\x98\x82\xe0\x29\x59\x05\xf3\xea\x60\x52\x25\xf6\xd1\x96\x0a\x32\xe5\xe2\x3a\x59\xc3\x16\x7e\x09\xd9\x51\x10\xe0\x46\x05\xa3\x8c\x8c\x94\x42\xad\x90\x17\xb6\x93\x3b\x0b\x8a\x0e\x60\x81\x8b\x38\xa9\x97\xd8\xc2\x42\x52\xe6\xa5\x4a\x9f\x3b\x6b\x05\xaa\x66\xa9\x0a\x83\x99\x78\xae\x4f\xe2\x3e\x5e\x44\x80\xd4\x63\x8a\xc2\x56\x24\x6b\x13\x3c\x79\x7a\xf7\x98\x8c\xb0\xac\x8d\xee\xae\x6f\x20\x4c\xf8\x17\xa7\x74\xb4\x3d\x00\x64\x8d\xf3\xc0\x02\x28\xe3\xa8\x23\xcc\x83\xa0\x3c\xbb\x9a\xa1\xa1\x4f\xc5\xcd\x22\x95\xe0\x83\xdd\x62\xfb\x52\xa5\xd9\xea\xe7\xc6\x56\x9d\x9a\x1a\xf7\xad\x9a\xe9\x1a\xc0\xed\xb7\x8b\x3d\xed\x1c\x1c\x9b\x76\x78\x43\x1a\x94\x77\x81\xfb\xcd\x79\x67\x1f\x94\x2b\x0d\x96\xb9\x80\x6c\xc5\x77\x20\x9c\xc3\xe4\xc6\x67\xd1\x34\x08\xa0\x43\x99\x66\x14\x2d\xee\x85\x2b\x20\x47\xa1\xe9\xfa\x8c\x3f\xf2\xd4\xab\xf3\xdb\x47\xbd\x3a\xdf\x1d\xea\xa9\x67\xe6\xb7\xa7\x9e\x99\xcf\x0e\xf5\xd4\x2c\xf2\xdb\x47\xcd\x22\xdf\x1d\xea\xa9\x25\xe1\xb7\x8f\x5a\x12\xbe\x3b\xd4\x13\xb2\xfd\xb7\x8f\x90\xed\xdf\x1d\xea\x09\x17\xfe\xdb\x47\xcc\x99\xdf\x1d\xea\x09\x39\xf7\xdb\x33\xb9\xe3\x77\x87\xfa\x3f\xdb\x7c\xc2\x4a\xfd\xf6\xcc\xeb\xf7\xc9\x53\x7a\x42\x84\xfc\xf6\xcc\xea\xf6\xc9\xa1\x9e\x2a\xa2\xbf\x7d\x54\x11\xfd\xee\x50\x4f\x95\x8d\xdf\x9e\x19\x9d\x3e\x39\xd4\x53\xae\xf3\xb7\xe7\x5c\xe7\x27\x87\x7a\xca\x27\xfc\xf6\x51\x3e\xe1\xbb\x43\x3d\x85\xaf\xbf\x7d\x14\xbe\x7e\x63\xa8\xed\xb7\x7f\xff\xf7\xdf\xf6\xff\xf7\xa7\xed\xab\xc1\x6a\xfa\xa8\x4f\x91\x83\xfd\xeb\xbf\xfc\xaf\xff\xe7\xff\x3e\xfe\xed\xf2\xaf\xff\xf2\xeb\x6f\xff\xeb\xdf\xff\xed\x5f\xff\xe5\xdf\x6f\xff\xd7\xbf\x5d\xfe\xbf\x00\x00\x00\xff\xff\xae\xf1\x3b\x5f\xdb\xc7\x06\x00"), + }, + "/static/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf": &vfsgen۰CompressedFileInfo{ + name: "fontawesome-webfont.ttf", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + uncompressedSize: 165548, + + compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\xbd\x0b\x7c\x54\xd5\xb5\x3f\xfe\x5d\xfb\xbc\x66\x26\xf3\x3e\xf3\x48\x26\x93\x64\x9e\x67\x02\x89\x01\xe6\x19\x79\x24\x23\x20\xaf\x04\x44\xa5\x95\x22\x62\x44\x50\x14\x50\x54\x14\xa4\x3e\x8e\x95\x5a\x54\xaa\x88\x68\xa9\xb5\x36\x3e\x0b\xb7\xd6\x72\x5b\xed\xd5\x16\xbd\xd3\x97\xb5\xad\x5a\x5b\xb9\xd6\x5a\xdb\x9b\xb6\xda\x7a\x2b\xda\x40\xad\x57\x21\x73\xf2\xff\x9c\x73\x66\x92\x49\x00\x6d\xef\xfd\xfd\x7e\x9f\xff\x7c\x72\xce\xd9\xef\xbd\xf6\xda\x6b\xef\xbd\xd6\xda\x6b\xef\x80\x00\x38\xa0\x82\xc3\xe2\x39\x73\x96\x2c\x5c\xfb\xcc\xdc\xa7\xc0\x6e\xda\x01\x20\x3c\x77\xf6\xa9\x73\xd8\x20\x78\xb0\x9b\x36\x00\x88\x9c\x76\xe6\xa4\xf4\xb6\xf4\x96\x22\x40\x4b\x01\xf4\x9d\xbf\xfe\xbc\x0d\xb6\x7f\x9f\x7a\x3d\x60\xdf\x03\xb0\xc3\x17\x9e\x77\xc5\x86\xe1\x61\x70\x60\x37\xad\x01\x60\xb9\x70\xdd\xd5\x17\xdc\xfe\xdf\x8f\x2d\x04\x42\x8f\x82\xf5\xee\x5f\xb3\xfa\xbc\x55\xee\x9b\xdf\x3c\x09\xc0\xeb\x00\xf2\x6b\xd6\xac\x3e\xcf\xc5\xd9\x9e\x00\xc8\x07\x20\xb1\x66\xfd\xc6\xcd\xa7\x5e\x5d\xff\x59\x80\x9e\x04\x6c\x83\xeb\x2e\x3d\xff\x3c\xf6\xf7\x07\x96\x03\xae\x7b\x81\x3a\xf7\xfa\xf3\x36\x6f\xe0\xda\x59\x18\xa0\x4e\x1d\x9e\x4b\xce\x5b\xbf\xfa\x8f\x5f\xb8\xf5\x51\xb0\x0b\xd7\x00\xfc\x4d\x1b\x2e\xbd\x62\xe3\x37\x6e\xff\xd2\xfd\x60\x6b\x07\x81\xd0\x95\x46\xdb\x78\xfa\xd9\x8e\x9f\x6f\xfe\xd4\xb9\xae\xe9\x7f\x47\x9d\x04\xfd\x77\x20\xf3\x42\xba\xfa\x1d\x1e\x1e\x86\x95\x44\xdd\x6b\x01\x33\x72\x40\x7f\x8b\x18\x06\x60\xc5\xf0\xf0\xf0\xb0\x95\x2a\xe1\x23\x3f\xf6\x84\x1e\xc2\x7e\xc0\x1a\x90\x32\x03\x8c\x5c\x7a\xaa\x62\x25\x09\x27\x5e\x44\x3b\x20\x00\xfc\x76\x3e\x03\xe0\x26\xf3\xcb\xae\x00\xe8\x16\x7c\xc4\x6f\xc3\xd5\x97\x5f\x81\x22\x22\x7f\xaf\xc0\x20\x9a\x95\xd7\x42\x10\x01\x71\x2a\x36\x18\x15\x7f\x02\xa0\x12\xa0\xb7\xec\x1f\x78\xce\xd1\x5b\x2a\xaa\xa3\x61\xba\x5b\x7f\x04\xdd\xaf\x8e\x8d\x93\x80\xab\x05\x15\x97\x54\xd3\x88\xd5\x3c\x00\x04\x33\x2c\x24\x56\xfc\x92\x8a\x74\x35\xcd\xf1\x1e\x3d\x1f\x6f\x96\x5d\xd4\xd3\x71\x15\xbf\x51\xb7\x3a\x5a\x6e\x05\x06\x9b\x50\x85\xb3\x26\x0d\x5f\x53\xff\xc7\xb6\xb5\x02\x0b\x8f\xd1\x6f\x6d\x7b\xa5\xb1\x61\x5b\x84\x5a\xd8\x6b\xe2\x45\x06\x12\x80\x7b\x04\x60\xd9\x89\xda\x76\x9c\xa7\x58\x29\x27\xa7\x3f\xd2\x68\xb8\x43\x50\x47\x70\xb7\xa5\x16\x37\xc2\x58\xbc\xbb\x85\x71\x7d\x51\x49\xb7\xcc\x78\xd4\x9a\x76\x98\xb8\x2c\x4a\x06\x01\x8f\xc5\x77\x15\x0f\x35\xf5\x83\x53\x6b\xf0\x30\xda\x27\x23\xed\xae\xfd\x56\x61\x15\x46\xe3\xdb\x79\xe0\x5c\xb1\xa6\x6f\x04\x75\x4c\x7d\x7a\xbb\x59\x2d\xcc\x27\x7c\x54\xf8\x2b\xed\x16\xc6\xf5\xbd\xbb\xf2\xbd\x42\x02\xa8\x92\x86\x1f\x4f\x4b\x12\xe0\x1a\x03\xb7\x8a\x46\xa9\x8a\xf7\xca\x63\xad\x94\xc9\x57\xfa\x92\xa9\x28\xb2\x0a\xde\xaa\x61\xfc\x38\x58\x25\xa0\xb5\x96\x8e\x38\xd5\x84\x61\x3c\xcd\x48\x35\xed\xaf\xe9\xbb\x62\x2d\x4e\x46\xe2\x54\xb3\x7f\x2a\xed\x1a\x81\x91\x07\x4e\xe2\x01\x07\xaf\x62\xa1\xfe\x30\x15\x27\x31\x75\xd4\x5f\xad\x83\xaf\x8c\x17\x71\x2c\xfd\x16\xc5\xf1\x34\x3d\x8e\x5e\x6a\xc6\x66\x35\xae\x58\x19\x7f\x0e\x49\xc5\x49\x95\xbc\x4c\x50\xc1\xaa\x38\xa9\x7c\xfb\x74\x3c\x31\x15\x2b\x45\x40\xd0\x1f\x49\x05\x89\x15\x58\x04\x15\x8e\xea\xf8\x14\x54\x70\xa2\x8a\xc4\xf1\xfa\xbb\x82\x17\x7b\x75\xec\x57\xc3\x48\x1d\x83\xef\x7c\x35\x9c\x07\x38\xfd\xf9\xb8\xf1\x55\xd3\x77\x59\xee\x33\x00\xcf\x81\x17\xaa\xe3\x08\xe8\xac\xa1\xb1\x98\xfe\x48\x30\x1f\xb1\xfa\xd4\xcc\x67\x22\xd0\xa8\xd3\xe0\x38\x1a\xae\x1b\xdf\x8e\x4a\xbd\xb3\x8d\x31\x04\x70\xfa\x53\xc1\x67\x75\x3c\x57\xd3\x8d\xe4\x15\x80\xf6\xca\x77\x64\x1e\x92\x2a\x61\x95\x7e\x88\x48\xea\xf0\x70\xed\x9c\x2a\x00\xfe\xe3\x8c\x95\x91\xb1\xaa\xa7\xb1\x8c\x9b\x8f\xab\x63\xdf\x6a\xa6\x5f\x2f\x8e\xa7\xe9\x4a\xda\xea\xfc\x20\xbd\x8f\x09\xe3\xc7\x53\x05\xce\xea\xdc\x6c\xb4\xcb\x5a\x9b\x67\xf4\xeb\xb6\x8c\x86\x47\xaa\xfd\x61\xfd\xc7\xe7\x46\xfd\x49\x55\x61\xae\xc0\x1f\x91\x00\xb9\xa6\x8e\xd9\x15\x78\x4e\x96\x00\x6f\x4d\xba\x5a\x98\xbb\x04\xa0\xfe\x38\xf3\xc2\xf8\xa7\x41\x02\x56\x89\xc0\xa7\x2a\x70\x4f\xac\x94\x63\x95\x80\x94\xb5\x02\xfb\xf8\xc7\x02\x38\xf5\x47\x50\x8f\x5f\xbe\x65\xdc\xb7\x8a\xdf\x9a\x7e\x30\xdc\x02\x50\x67\x19\xd7\x7e\xcb\x38\xb7\x65\xbc\xbb\xd2\xbf\x15\xbf\x2c\xd6\x94\x59\xa1\x71\x56\xa5\xab\x9a\xf9\x96\xe9\x63\xd4\x02\x88\x95\x38\x66\x81\x39\x2e\x84\x71\xf8\x13\x6a\xca\xb2\x8c\x83\x61\x3c\x4d\x58\x3e\xc0\x12\x6b\xc5\x7f\x3c\x3c\x55\x69\xdb\x32\x8e\x06\xaa\xf1\xd2\xc7\xd0\x86\x34\x0e\x8e\x11\x1a\x78\x62\x4c\xdc\x08\x3d\x0a\xc0\x05\x46\xde\x27\x47\xcb\x1f\x69\xff\xd8\x3e\x09\x88\x80\x53\x02\x9a\x8e\x47\x17\x95\x79\x3c\x69\x39\x7e\xf8\x19\xe3\xe0\x3b\xd5\x3a\x96\x56\xc7\xb7\x2d\x71\xbc\x76\x55\xca\x8e\x8a\xc0\x5a\x1e\x68\xad\x84\x73\xe3\x79\x18\xb1\x4a\xef\xaa\x41\x8f\x5c\x75\x8c\x57\xca\x1f\x49\x2f\x0c\x23\x29\x56\xd6\x23\x61\xec\xfc\xe0\xaa\xa5\x11\x71\xec\x9a\x9f\xb4\x8e\xad\xcb\x3f\x8e\xbe\x8e\xa1\x8d\x9a\xf0\x26\x6b\x0d\x5e\xc6\x3f\x35\xbc\x05\x8d\x1f\x17\x23\x0f\xab\xa1\x75\x15\x93\x75\x9c\x57\x60\x9c\x54\xc3\xa3\x28\xd2\x47\xb1\xc4\x15\x8e\xba\xf2\x84\x2b\x0c\xf1\x41\x70\x86\x2b\x0c\x9e\x5e\xd2\x19\x67\x14\x21\x60\x32\x22\xd8\x8b\xc7\xf0\x38\x9e\xc5\xab\xd1\x58\xac\x39\xd6\x37\xe8\x1c\x6c\x1e\xec\x1a\x5c\x34\xb8\x62\xf0\x92\xc1\xeb\x06\x6f\x1b\xbc\x6f\xf0\xb1\xc1\x6f\x0e\xbe\x38\xf8\xbb\xc1\x77\x07\xb5\x43\xce\x43\xcd\x87\x3a\x0e\x75\x1d\x5a\x74\x68\xc5\xa1\x4b\x0e\x5d\x77\xe8\xb6\x43\xf7\x1d\x7a\xec\xd0\x33\x87\x5e\x3c\xf4\xbb\x43\xef\x1e\xd2\x0e\x3b\x0f\x37\x1f\xee\x3a\xbc\xe8\xf0\x8a\xc3\x97\x1c\xbe\xee\xf0\x6d\x87\xef\x3b\xfc\xd8\xe1\x67\x0e\xbf\x78\xf8\x77\x87\xdf\xfd\x3b\x86\x87\x0d\x7e\x7c\xcf\xb8\x1a\x31\xe8\x1e\x8c\x0e\x16\x07\x17\x0f\xf6\x0d\x6e\x18\x54\x07\x77\x0c\xf6\x0f\xee\x1b\x2c\x0d\xbe\x34\x38\x30\x38\x78\x08\x87\xdc\x87\x22\x87\x26\x1f\x2a\x1e\x5a\x7c\xa8\xef\xd0\x86\x43\xea\xa1\x1d\x87\xfa\x0f\xed\x3b\x54\x3a\xf4\xd2\xa1\x81\x43\x83\x87\x71\xd8\x7d\x38\x7a\xb8\x78\x78\xf1\xe1\xbe\xc3\x1b\x0e\xab\x87\x77\x1c\xee\x3f\xbc\xef\x70\xe9\xf0\x4b\x87\x07\xf4\x1a\x87\xff\x38\xbc\x7c\x78\xe9\xf0\x99\xc3\x33\x87\xa7\xfc\xee\xad\xdf\xbe\xf3\xdb\x47\xdd\x0e\xb7\xdd\x6d\x73\x5b\xdd\x16\xb7\xe4\x16\xdd\x82\x9b\x77\x73\x6e\xe6\xfa\xbb\xeb\x3d\xd7\xdf\x5c\x87\x5d\x87\x5c\x83\xae\xbf\xba\xde\x75\xbd\xe3\x3a\xe8\x7a\xdb\xf5\x17\xd7\x7f\xb9\xde\x72\xfd\xd9\xf5\x27\xd7\x9b\xae\x37\x5c\x7f\x74\xfd\xc1\xf5\x7b\xd7\x80\xeb\x77\xae\xdf\xba\x5e\x77\xfd\xc6\xf5\x9a\xeb\xd7\xae\x57\x5d\xbf\x72\xbd\xe2\xfa\x0f\xd7\x01\xd7\xcb\x8e\xef\x8f\x97\x7d\xfe\x5f\xfc\x74\x81\xac\x5a\x2d\xb1\x8a\x7c\x35\x26\x81\x49\x0a\xff\x7f\xf8\x89\x82\x4d\xe2\xed\x16\x6b\xdd\xff\xad\x0a\xda\xff\x07\xcf\x0e\x53\xa6\xa6\xdd\x00\xdb\x08\xb0\x97\x00\xae\x17\xe0\x06\x01\x7e\x09\x20\x26\x00\x71\x00\xb0\xac\x03\xac\x9b\x01\xeb\x4b\x80\x6d\x09\x50\xd7\x0a\xd4\x1d\x00\xec\x5b\x01\xc7\x2a\xc0\xb9\x07\x70\x1d\x00\xdc\x5b\x01\x0f\x00\xcf\xbd\x80\x77\x1d\x20\xb7\x03\xf2\xab\x80\x4f\x05\x7c\x43\x80\x7f\x07\x10\xc8\x02\x41\x37\x50\xbf\x0a\xa8\x7f\x1e\x68\xd8\x00\x84\xe6\x01\xa1\x5d\x40\x63\x02\x08\xaf\x02\x9a\xda\x81\x66\x0b\xd0\xbc\x11\x68\x69\x05\x22\xdb\x81\xc8\x20\x10\xed\x07\x62\x93\x81\x78\x04\x48\xb4\x03\x89\x01\x40\x99\x0d\xa4\xde\x00\x5a\xef\x05\x26\x2c\x01\x26\xea\x4b\xf7\x7e\xa0\xdd\x0d\xb4\xbf\x07\x9c\xf4\x2a\xd0\x51\x04\x3a\x5e\x05\x26\xf5\x01\x93\xf6\x03\x93\x7d\xc0\xe4\x87\x80\x29\xbb\x80\xf4\x0e\x20\xb3\x0a\xc8\x66\x81\xec\x2e\x20\x17\x01\x72\x2a\x90\x7b\x12\xc8\x47\x80\xfc\x72\x20\xbf\x1f\x28\xcc\x03\x0a\x7b\x80\x4e\x3b\xd0\xd9\x07\x74\x3e\x0e\x9c\xdc\x0b\x9c\xfc\x38\x30\x75\x0d\x30\xf5\x20\x30\xad\x04\x4c\xdf\x00\xcc\xd8\x00\x74\x4d\x07\xba\xde\x00\xba\xd7\x00\xdd\xaf\x02\xc5\x79\x40\x71\x3f\x70\xca\x64\xe0\x94\x27\x81\x99\x4b\x81\x99\x1f\x00\xb3\x56\x01\xb3\xee\x05\x66\xf7\x02\xb3\xdf\x00\x4e\x7d\x12\x98\x73\x2f\x30\x77\x32\x30\xf7\x75\x60\xde\x41\x60\xfe\x76\x60\x41\x27\xd0\xf3\x28\xd0\xfb\x06\xb0\x70\x15\xb0\xa8\x1d\x58\xa4\x02\x8b\x0e\x00\xa7\xed\x03\x16\xf7\x01\x8b\xf7\x00\xa7\x67\x81\xd3\xfb\x81\x33\xec\xc0\x19\xeb\x80\x33\xdb\x81\x33\x77\x03\x4b\xfa\x80\x4f\x4c\x06\xce\x1a\x04\x96\xbe\x0e\x2c\xb3\x00\x67\x17\x81\xb3\xb7\x03\xcb\xa7\x03\xcb\x3f\x00\xce\xd9\x0d\xac\x68\x05\x56\xbc\x01\x9c\xdb\x0f\xf4\x6d\x00\x56\xb6\x03\x2b\xdf\x03\x56\xf1\xc0\xaa\x83\xc0\xea\xc5\xc0\xea\x97\x80\x0b\x7e\x08\x5c\xd8\x07\x5c\xb8\x07\xb8\xa8\x17\xb8\xa8\x04\x5c\x3c\x1b\x58\x6b\x07\xd6\x1e\x00\xd6\xa9\xc0\xfa\x22\x70\x49\x3b\x70\x69\x2f\xb0\x61\x2b\x70\xd9\x43\xc0\xe5\xaf\x03\x57\x6c\x06\x36\xba\x81\x8d\x7b\x80\x2b\x67\x03\x9f\xee\x03\xae\x01\x70\xcd\x7e\xe0\x5a\x37\x70\xed\x43\xc0\x75\xdb\x80\xeb\x77\x01\xea\x7e\xe0\x86\x7a\xe0\x86\xed\xc0\x8d\xf3\x80\xad\x3e\x60\xeb\x01\xe0\xb3\x7b\x80\xcf\xbe\x01\xdc\xb4\x0e\xf8\x5c\x11\xd8\xb6\x1b\xb8\xb9\x04\xdc\xea\x06\xb6\x3f\x07\x7c\x7e\x3b\x70\xdb\x3a\xe0\xf6\x79\xc0\x8e\x08\xb0\xa3\x04\xdc\xb1\x04\xd8\x69\x07\x76\xce\x03\x76\x6e\x05\x76\x96\x80\x9d\x43\xc0\x9d\x7d\xc0\x9d\xcf\x01\xbb\x78\x60\x57\x11\xd8\x35\x08\xdc\xa5\x02\x77\x27\x80\x2f\x2c\x07\x76\x2f\x05\xbe\x18\x06\xee\x99\x0d\xdc\xf3\x24\xf0\xa5\xdd\xc0\xbd\xfd\xc0\x97\x97\x00\xf7\x2d\x05\xee\xfb\x00\xf8\xca\xbd\x40\xff\x6c\xe0\xfe\xc5\xc0\x03\xed\xc0\x03\x0f\x01\x0f\x76\x02\x0f\xee\x01\x1e\x5a\x05\x3c\xbc\x1c\xd8\xb3\x03\xf8\x9a\x05\x78\x34\x0c\x3c\x7a\x10\xf8\xfa\x0e\xe0\xeb\x6f\x01\x8f\xa9\xc0\x37\xea\x81\x6f\xec\x03\xf6\xcd\x03\xf6\x0d\x00\xff\xba\x19\xf8\xd7\xe7\x81\x6f\x46\x80\x6f\x6e\x04\xbe\xf9\x1c\xf0\xad\xa5\xc0\xb7\xde\x03\x1e\xdf\x00\x3c\x01\xe0\x89\x55\xc0\xb7\xc3\xc0\xb7\x0f\x00\xff\xf6\x38\xf0\x6f\x83\xc0\x93\x9b\x81\xa7\x36\x02\x4f\x7d\x00\x7c\xe7\xf9\xd1\xe7\xbb\x7b\x80\xfd\x5b\x81\xa7\x8b\xc0\x33\x3c\xf0\xef\xcf\x01\xa5\x1f\x02\xdf\xb7\x03\xdf\xdf\x0e\xfc\x60\x39\xf0\xc3\x08\xf0\xc3\xfd\xc0\x8f\xdc\xc0\x8f\x9e\x04\x9e\xdd\x05\x3c\x37\x19\x78\x6e\x00\xf8\xc9\x2a\xe0\x27\xcf\x03\x3f\xdd\x03\xfc\x4c\x05\x7e\x36\x00\x3c\xff\x1e\xf0\xc2\x2e\xe0\xc5\xcd\xc0\x8b\x6f\x01\x3f\xdf\x07\xbc\xb4\x1d\xf8\x45\x3b\xf0\x8b\x6d\xc0\x2f\x2d\xc0\x2f\xb7\x01\x2f\xdb\x81\x97\xb7\x03\x2f\x1f\x04\x0e\x74\x02\xff\xd1\x0e\xfc\xc7\xbd\xc0\x2b\x7d\xc0\x2b\x6f\x01\xbf\x5a\x07\xbc\x3a\x0f\x78\xf5\x71\xe0\xd7\x7d\xc0\xaf\x7f\x08\xbc\xb6\x04\x78\xed\x49\xe0\x37\xf5\xc0\x6f\x76\x01\xaf\x17\x81\xd7\x9f\x03\x7e\xbb\x0e\xf8\xed\x20\xf0\xbb\xad\xc0\x7f\xd6\x03\xff\xf9\x28\x30\xb0\x1f\xf8\xfd\x3a\xe0\x0f\x1b\x80\x3f\x46\x80\x3f\xbe\x01\xbc\xa1\x02\x6f\x3e\x07\xfc\xa9\x04\xfc\xb9\x1e\xf8\xf3\x41\xe0\xad\x37\x80\xff\x7a\x15\xf8\xcb\xab\xc0\xdb\xaf\x02\x07\x0f\x00\xef\xbc\x04\xbc\xfb\x3a\xf0\xd7\x37\x80\xc3\x3c\xf0\xb7\xf7\x80\xf7\x54\xe0\xef\x59\xe0\x7d\x37\xf0\xfe\xbd\xc0\x7f\xd7\x03\x1f\x2c\x05\x3e\x28\x01\x1f\x26\x80\x23\xeb\x80\xa3\xfb\x81\xa1\x56\x60\xe8\x49\xa0\x6c\x07\xca\x7d\x40\xf9\x71\x40\xb3\x00\xda\x93\xc0\xb0\x05\x04\x1f\x48\x78\x1c\x24\xbe\x07\x92\x3e\x00\x59\x5e\x02\x59\x57\x81\x6c\x6e\x90\x6d\x37\xa8\xae\x1e\x64\xe7\x41\xf6\x87\x40\x8e\x76\x90\x13\x20\xd7\x36\x90\xa7\x1d\xe4\xe9\x07\x79\x9f\x07\xc9\x9d\x20\xf9\x0d\x90\x6f\x07\xc8\xdf\x0a\xf2\x3f\x04\x0a\x2c\x05\x05\x86\x40\xc1\x12\xa8\x7e\x2b\xa8\x61\x33\x28\x74\x0d\xa8\x71\x09\x28\x7c\x00\xd4\x54\x04\x35\x1d\x00\x35\xef\x00\xb5\xf0\xa0\x96\x6b\x40\x91\x87\x40\xd1\x12\x28\xb6\x19\x14\xb7\x80\xe2\xeb\x40\x09\x1e\x94\x78\x1e\x94\x5a\x03\x6a\x7d\x0b\x34\xb1\x17\xd4\xbe\x04\xd4\xd1\x0b\x9a\xb2\x11\x34\xe5\x3d\x50\x7a\x00\x94\x99\x0c\xca\xec\x03\x65\xf7\x80\x72\x1b\x41\xf9\x25\xa0\x42\x02\xd4\x69\x07\x9d\x3c\x0f\x34\xd5\x0d\x9a\x3a\x08\x9a\xb6\x03\x34\x7d\x2b\x68\xfa\xab\xa0\xee\xa5\xa0\x62\x18\x74\x4a\x09\x34\xf3\x39\xd0\xac\xe7\x40\xb3\xef\x05\x9d\x3a\x0f\x34\x67\x1e\x68\xee\x06\xd0\xbc\x79\xa0\xf9\x9b\x41\x0b\x22\xa0\x05\x6f\x80\x7a\x0e\x80\x7a\xfb\x41\x0b\xeb\x41\x8b\x8a\xa0\xc5\x45\xd0\xe9\xfd\xa0\x33\x06\x40\x67\xce\x06\x2d\x89\x80\x3e\xd1\x0b\xfa\x64\x1f\xe8\x93\x07\x40\x67\x2d\x05\x2d\xcd\x82\x96\xf6\x83\x96\xf1\xa0\x65\xdb\x40\x67\xaf\x02\x9d\x3d\x00\x5a\x7e\x0d\xe8\x9c\x57\x41\x2b\xfa\x41\x7d\xbb\x40\xe7\xcd\x03\x9d\xb7\x1f\xb4\x72\x10\x74\xfe\x52\xd0\xaa\x47\x41\xab\x37\x82\x2e\x58\x03\xba\xf0\x75\xd0\x9a\xc7\x41\x17\x2d\x07\x5d\xbc\x19\x74\xc9\x56\xd0\x86\x22\xe8\x8a\x01\xd0\x55\x6e\xd0\xa6\xe7\x40\x9b\x77\x80\xae\xde\x06\xda\xb2\x1d\xf4\xe9\x35\xa0\x6b\xb6\x83\xae\x0d\x83\xae\x7d\x08\x74\xfd\x72\xd0\xf5\xbb\x41\xd7\x7f\x00\x52\xd7\x81\x6e\xd8\x08\xfa\xcc\x0e\xd0\x8d\x59\xd0\x8d\x0f\x81\xb6\x3e\x07\xfa\xec\x3e\xd0\x4d\x0f\x81\xb6\x6d\x04\xdd\xbc\x1d\x74\x4b\x27\xe8\x56\xfd\xe9\x07\xdd\xd6\x0b\xba\x6d\x0f\xe8\xf6\x25\xa0\x1d\x6e\xd0\x1d\x3e\xd0\x9d\x3b\x40\xbb\x7c\xa0\xbb\x78\xd0\x5d\x43\xa0\xbb\x3f\x00\x7d\xa1\x1f\xf4\xc5\x6b\x40\xf7\x3c\x07\xba\xd7\x0d\xfa\xb2\x05\xf4\xe5\x57\x41\xf7\x5d\x03\xfa\x4a\x3d\xe8\x2b\x6f\x81\xfa\x7f\x08\x7a\xc0\x0e\x7a\x30\x0b\x7a\x68\x33\xe8\xe1\x7d\xa0\x47\x54\xd0\x57\x7b\x41\x7b\xc2\xa0\x3d\x3b\x40\x7b\x0e\x8e\x3e\x7b\x97\x82\xfe\xa5\x15\xf4\xb5\x08\xe8\x6b\xcf\x83\x1e\x7d\x14\xf4\xf5\x3d\xa0\xc7\x22\xa0\xc7\xb6\x81\xbe\xc1\x83\xbe\xb1\x07\xb4\xaf\x08\xda\xb7\x0d\xf4\xed\xfd\xa0\x7f\x5b\x07\x7a\x72\x00\xf4\xd4\x46\xd0\x77\x78\xd0\x77\x76\x81\xbe\x9b\x00\x7d\xf7\x21\xd0\x7e\x0b\x68\xff\x66\xd0\xd3\xbd\xa0\x67\xf4\xe7\x21\xd0\xbf\x47\x40\xa5\x79\xa0\xef\xd5\x83\xbe\xf7\x43\xd0\x0f\x78\xd0\x0f\xde\x00\xfd\xb0\x1f\xf4\xa3\x25\xa0\x67\x5b\x41\xcf\x1e\x04\x3d\x67\x07\xfd\xc4\x0e\xfa\xe9\x36\xd0\xcf\xfa\x41\xcf\x7f\x00\x7a\x31\x0c\xfa\xf9\x2e\xd0\x4b\xeb\x40\xbf\x58\x05\xfa\xe5\xeb\xa0\x97\x17\x83\x5e\xfe\x00\xf4\x1f\x5b\x41\xaf\x6c\x06\xfd\x6a\x03\xe8\x57\x43\xa0\x57\xdf\x03\xbd\xf6\x28\xe8\x37\x4b\x40\xaf\x2f\x01\xfd\xd6\x0e\xfa\xed\x20\xe8\x77\xdb\x40\xff\xd9\x0b\xfa\xbd\x0a\xfa\xc3\x07\xa0\x37\xea\x41\x6f\xda\x41\x7f\x9a\x0e\xfa\xf3\x3c\xd0\x9f\xf7\x80\xde\x4a\x80\xde\x3a\x00\xfa\xaf\x75\xa0\xbf\x84\x41\x7f\x39\x00\x7a\xfb\x0d\xd0\xc1\x2c\xe8\xe0\x93\xa0\x83\xef\x81\xde\x19\x04\xfd\xd5\x02\xfa\xeb\x43\xa0\x41\x1e\x34\xf8\x3c\xe8\x50\x04\x74\x78\x31\xe8\x6f\xeb\x40\x7f\x7b\x0b\xf4\x77\x3b\xe8\xfd\x76\xd0\xfb\x25\xd0\x7f\x6f\x06\xfd\xf7\x00\xe8\x83\x0d\xa0\x0f\xdb\x41\x47\x36\x83\x8e\x6e\x04\x0d\xd9\x41\x43\xab\x40\x65\x3b\xa8\xbc\x1d\xa4\x65\x41\xfa\x7c\x31\xfc\x12\x18\x65\xc1\x58\x18\x8c\x6b\x07\xe3\xd7\x80\x09\x07\xc0\xa4\xc5\x60\xd6\x2c\x98\xed\x00\x98\x7d\x00\xcc\x31\x08\xe6\xaa\x07\x73\x67\xc1\x3c\x6f\x80\xc9\xd3\xc1\x7c\xed\x60\xfe\x76\xb0\x40\x16\x2c\x38\x19\xac\xbe\x13\xac\x21\x01\x16\xda\x06\xd6\xd8\x09\xd6\xf4\x38\x58\xf3\x12\xb0\xe6\xe7\xc1\x22\xd7\x80\x45\xd7\x80\xc5\x1e\x05\x4b\xf4\x82\x25\x27\x83\x29\xf3\xc0\x52\xdb\xc0\x5a\xdf\x03\x9b\xb0\x1d\x6c\xe2\x64\xb0\x89\xaf\x83\xb5\xed\x02\x6b\x7f\x1d\xac\x23\x01\xd6\x71\x10\x6c\xf2\x41\xb0\x29\x5b\xc1\xd2\x45\xb0\xf4\x10\x58\xe6\x49\xb0\xec\x46\xb0\x5c\x02\x2c\xff\x1e\xd8\xc9\x11\xb0\xa9\xdb\xc1\xa6\x1e\x00\x9b\x66\x07\x9b\xb6\x0d\x6c\x7a\x2b\xd8\xf4\x57\xc1\x66\x64\xc1\xba\x9f\x04\x2b\xee\x06\x3b\x65\x00\x6c\x56\x3f\xd8\xec\x21\xb0\x39\xbb\xc1\xe6\xf5\x81\xcd\x7b\x0f\x6c\xfe\xf3\x60\xbd\xfb\xff\x77\x0f\x36\x00\x9c\x5b\xd4\x99\x7f\x09\x28\x44\x3d\x51\xce\x13\xf5\x0c\x50\x49\x2b\x6e\x60\xfd\x1b\x84\xc8\x91\x0d\x22\x8e\x18\x5c\x33\xe1\x9c\x61\x88\x0f\x0a\x2a\x9a\x74\x5e\x58\x22\x4f\x34\x1d\xf0\x89\xf1\x68\x4c\xc9\xe6\x33\x51\x0f\x29\xb9\x6c\x17\x65\xa2\xe9\x66\x12\x1f\x6c\x2b\x6f\xa3\x62\x48\x51\x42\x43\xaa\xfe\xa6\x62\x79\x5b\x5b\xa2\x35\x28\xa8\xc1\xd6\x84\x30\x27\xde\x56\xde\x56\x86\x92\x55\x94\xac\xc2\x81\x6d\x6e\x8b\x07\x1b\x2d\x96\x46\x43\x0a\x19\x86\xa8\xcb\xed\x6d\x00\x79\x7c\x4e\x16\xeb\x60\xd9\x2e\x96\x49\x07\x3d\xc2\x58\x6f\x36\x5f\xa0\x7c\x26\x1d\x10\x31\x7b\xcd\x85\xcb\x2e\x5c\x33\x7b\xf6\x9a\x0b\x4f\xba\xe8\xac\xf2\x58\xaf\xd2\xcc\x15\xed\xee\xd6\x4e\x21\x72\xb4\x3f\xbd\xa8\xcd\xef\x6f\x5b\xb4\x6a\x51\x9b\x3f\xc5\x1a\xde\x29\x4f\xab\x0d\xe0\x7e\xdc\x92\xb1\x11\xf8\x4e\x5d\x32\x1a\x86\xa8\x0a\x2a\x24\x44\x01\xb8\x11\xd1\x1f\xf2\x89\xf1\x58\x8a\xc4\x78\x2c\xa1\x30\xb7\x37\x9f\x88\xf0\x01\xaf\xdf\x27\x51\x80\x57\xb5\x0f\xb5\xdb\xb4\x0f\x49\xa2\xcb\x39\xa9\x37\x9b\x4f\x68\x7b\xbf\xf5\xfa\xed\xda\xd1\xa7\x2f\xbd\xf4\x69\x12\xa8\x99\x84\xa7\x2f\xbd\x86\xce\x4a\x32\x89\x2e\x27\xc9\x4c\xac\xa9\xd9\x5e\x85\x3e\x79\xcd\x68\x8a\x4b\x9f\xd6\x8e\xde\xfe\xfa\xb7\xb4\xbd\x49\x43\x14\x1b\x56\x25\x08\x40\x08\x33\xb0\x10\x48\x7a\x44\x89\x97\x9c\xac\x8d\xc5\x3a\x28\xa5\x24\x95\x94\xc7\x17\xc8\x44\xd3\x79\xcf\x74\xd6\xc1\xc5\xa3\x31\xd1\xef\x0b\x06\x82\xcd\xfc\x34\x96\xee\xe2\x0a\xf9\x42\x17\x15\x3c\x66\xe7\xe4\x3c\x7a\xf7\xa4\x03\xa2\x1a\x49\x6a\xef\xdd\x97\x29\xae\x9f\x4c\x34\x79\x7d\x31\x73\x9f\xf6\x5e\x32\x22\x3b\x84\x92\x43\x26\x41\xb4\x5b\x8e\x14\x1d\xf2\x9d\xdf\x7b\x49\x9c\x1a\x2b\x74\xf8\x88\x7c\x1d\x85\xd8\x54\xf1\xa5\xef\xe5\xcf\x51\x57\xcc\x3c\x52\x9c\xb9\x62\xc5\x4c\xa1\x34\x73\x45\x84\x43\xa2\xf9\xc5\xad\x6d\x93\xa7\x4c\x99\xdc\xb6\xf5\xc5\xe6\x44\x19\x0e\x59\xe6\x5b\x99\xd7\xea\xb1\xd8\x04\xd9\xb1\x67\xe3\xee\x87\x85\x29\xa1\xa4\xd7\x9b\x0c\x4d\x11\x1e\xde\xdd\x76\x47\xdf\xd1\x92\x9e\x9b\xd7\xcb\x30\xfb\x58\x6f\x9b\x8a\x30\xc0\xc7\x52\xd4\xc1\xe7\xb2\xf9\x4c\xba\x99\x05\xbb\xb8\x4c\x3a\xa0\xe3\x94\xbb\x27\xeb\x2d\xef\xb0\xc5\x7b\xa7\x4f\xd2\x06\xba\x6e\xb8\x74\x71\x22\xb1\xf8\xd2\x1b\xba\x06\xb4\x37\xcb\x77\xa8\x5e\xb6\xcc\x92\x38\x77\xd5\x6d\xb3\x5e\xff\xa0\x6d\x7e\x31\x91\x28\xce\x6f\xfb\xe0\xf5\xdf\xbe\x59\xde\x63\x96\xfd\x75\x51\x15\x06\x10\x33\x69\x54\x0e\xf8\x8d\x7e\x4b\x0a\x62\x3c\xa6\xe4\xb2\x05\x59\x27\xd3\x42\x52\xce\xa7\x83\xb2\x10\x10\xd5\x90\x76\xd7\x27\xc9\xef\x93\xfd\x5a\xb7\xd6\x1d\xf0\xfa\xfd\xec\x93\xda\xae\x86\x4e\x7a\xff\xf7\xf2\x74\xf9\xf7\xf4\x7e\x27\x77\x75\x20\xa4\xdd\xa7\xd9\x25\x87\xbf\xc9\x7e\xf0\xa0\xbd\xc9\x2f\x3a\xe9\x3d\x5a\xd9\xe8\x4f\x5a\xe7\xd3\x8f\x27\x4c\xd0\x4e\x9e\x6f\x85\x29\x51\x57\xea\xb6\xea\xd4\x6b\xa5\x64\x1d\x09\xc4\x25\x85\x2a\x1c\x27\x06\x83\xbf\x8c\xd2\xda\xb2\xa7\x9f\xd6\x96\x51\x7a\x3e\x6d\xa1\xab\xe9\xc7\x06\x5c\x13\x4e\x0c\x16\xf3\xd1\x84\x2e\xba\x4e\xfb\x4c\x97\xf6\x2b\xed\xec\x1f\xff\x98\xb3\x55\xc1\x4c\x7f\x04\x94\x3a\x8c\xaa\xa0\xe3\xde\xaf\x8f\xe2\x64\x85\x42\xb2\x5d\x5c\x26\x10\x29\xa4\x9b\x39\xb8\xc5\x88\xe2\xce\x47\x04\x5c\xbb\x74\xe8\x5f\x96\x5e\xeb\xe9\x98\x7b\x65\xef\x8d\xb4\xee\xc6\xde\x2b\xe7\x76\x78\x86\xf1\x7b\xed\xfb\xbf\xff\x3d\x75\xdd\xbc\xfe\xde\x7b\xd7\x7f\xe2\x0b\x5f\x5c\x7f\xaa\xaa\x9e\xba\xfe\x8b\x5f\xe0\xbe\x67\x86\xff\x1e\x40\x9d\x3e\x7e\x24\x7d\xfc\xb8\xd0\x82\x49\xe8\xc6\x69\x38\x17\x97\xe2\x7a\xdc\x8e\xaf\xe0\x1b\x80\x90\xcb\x2a\x6d\x14\x13\x9b\xc8\x17\x98\x46\xe9\xbc\xe7\x63\xfc\xe4\xc9\x2a\x06\x85\x57\x48\x9e\xc6\xc7\xff\x93\xe9\x3f\xae\xbe\xf1\x03\x87\x54\x25\x64\xcc\x62\x27\x78\xf1\x50\x42\x65\xe8\x1e\x0e\x21\x65\x08\xa3\x31\x42\x4d\x4e\x4d\xad\x4d\xf5\x71\x65\xaa\x2b\x66\x7e\x68\x0c\x1a\xb1\x38\x73\x45\x71\x24\x8a\xee\x39\x9e\xb3\x1c\x62\x46\xc1\x9a\xfe\xe6\x47\xc3\x8f\x8e\x3a\xb9\xda\x24\xda\x71\x4b\xa9\x71\x7e\xe7\x88\x51\xb7\x60\x0c\x58\xde\xd0\xc9\xd4\xf6\xa7\x3e\x33\x8f\xc1\x50\x03\x8d\xc3\xd8\xc7\xc4\x73\xe8\xcd\x6a\xc8\xf6\xf6\x66\x99\xf1\x1e\x75\x73\xea\x89\x62\x18\xf4\x29\xb3\x37\x4b\xfa\x9b\x3d\x5f\xe3\x19\x7a\xfe\x44\x31\x86\x02\x17\xc6\x5c\x73\x2c\x2d\x82\xfc\x26\x54\x33\xc8\x84\xca\x33\xce\x3f\x3e\xfe\xff\xb4\x7f\x7c\x7d\x0c\x9d\xad\x5a\xa9\xb5\xb3\xb3\x95\x8a\xfa\x7b\xd4\xcd\xd4\x5a\x5f\x59\x3d\x71\xdc\x3f\x9e\xb2\xd6\x4d\x11\xc3\xa9\xbf\xe8\xd5\x11\x67\x79\xd4\xc9\x1d\x37\xf4\x63\x13\xd4\x14\x66\x2a\xac\x8f\xed\x8b\xff\xe3\xbd\xf0\x8f\x63\x55\x40\x67\xeb\x90\x11\xc6\x95\x5a\x3b\x8f\xe2\xc4\x71\xb5\xee\xff\x21\xae\xc6\xa0\x02\x84\xab\xe1\x14\x3f\xc7\x7f\x13\x01\x00\x3e\x89\x24\x31\x36\x89\x48\xc9\x76\x53\x3e\x1d\xb4\x52\x3e\xdd\x42\xe2\xe7\xc2\xe5\xf6\x6d\xe1\xc5\xe1\x6d\xda\xdd\xe1\xb0\xee\x20\x85\xed\xd0\xfd\xdc\xe1\xc5\x46\x54\x78\x1b\x5d\xac\xfb\xc3\x61\xed\xd7\xec\x8e\x70\x78\x1b\x08\x97\x0c\xbf\x2b\x78\xf9\x9d\x88\x03\x09\x9f\x8b\xc4\x58\xca\x4a\x7a\xd9\x4a\xb6\x60\x1d\x5b\x7e\xc0\x27\x59\x49\xf0\x1a\x25\x6b\xaf\x69\xaf\x99\x25\x91\xa2\xbd\x56\xad\x8d\x94\x4a\xe9\xaf\x91\xa2\x7d\x64\x6c\x78\xa4\x14\x93\x77\x31\xe7\x8b\x38\xda\x30\xdb\xec\xe1\x36\xf3\xa5\x77\x4b\xdc\xec\x9b\x69\x94\xd3\x5f\xe9\x40\x13\x65\xd2\xcd\x54\xe1\xb2\x70\x22\x2e\x8b\x87\xec\x18\x90\x1d\x45\x87\x3c\xe0\x90\x6b\x9c\x63\x78\xaf\x9e\xdc\x89\x78\x2f\x36\x70\x4c\x4e\xdd\xf9\xa7\x1a\x86\xec\x89\x8b\x7b\x4e\xc0\x90\xd5\xb6\xc9\x85\x20\x26\x1f\x43\xb5\xff\x18\xfc\xe5\x92\x5e\x2b\x2b\xfe\x73\x50\x1b\xf0\xfe\xc3\x90\x56\xd6\x78\x51\x1f\x6e\x13\x90\xd3\xb9\x20\x26\xf2\x91\x84\xc2\x72\x59\x6f\x21\x1f\x08\x06\x44\xc9\x49\x7e\x5f\x33\x4b\x77\xb1\x5c\x56\x49\x75\x50\xa1\x8b\x82\x01\xaf\x3e\x67\x9b\x33\xb4\xce\x53\x6f\x79\x51\x7b\x43\x7b\x4e\x7b\xe3\xc5\x2d\xf7\xef\x6c\xbb\xa8\x25\xe2\x9a\xb8\x72\xed\xe9\xb7\x3c\xfd\xd2\xd3\xb7\x9c\xbe\x76\xe5\x44\x57\xa4\xe5\xe2\x89\x3b\xef\x2f\xab\xbd\x6b\x7a\x7b\xd7\xf4\x32\xf5\x5e\x3d\xe5\x96\x17\x29\x7c\xef\xb7\x69\xe6\xfa\x88\xb3\x6d\xe2\x45\x91\x05\xaf\x5c\xbd\xe6\xe9\x5b\x4e\x3f\xfd\x96\xa7\xd7\x5c\xfd\xca\x82\xc8\x45\x13\xdb\x9c\x91\xf5\xda\x33\x6c\x41\xd9\x98\xa0\x99\x31\x41\x9b\x1b\x64\x15\x7e\x70\x74\x5e\x40\x72\x84\x5c\x4c\x22\x49\x7a\x4c\xbf\x0e\xdf\xf1\xfc\xf4\x71\x7e\x78\x9d\x25\xa7\xd7\x78\x91\xfa\xcf\xb9\xfb\xaa\x0e\xef\xe5\x9a\xe1\xa4\xa2\xd3\xeb\x3d\x5c\x36\xdc\x4c\x77\xd3\xe5\x43\xfa\xc7\xc9\xe9\x41\x74\xf8\x88\xe1\x11\x74\xcf\x68\x7f\x18\xf2\xc4\x25\x00\xb2\x4a\x4c\xf4\x05\xd2\x3a\x05\xb9\x48\x94\x02\xc1\x80\x4f\x72\x52\x3c\x36\x89\x44\x49\x94\x0c\xa8\x27\x91\x92\x92\x74\x42\x52\x52\x3a\x9b\xd8\x45\x05\x65\x12\x75\x90\x8e\x8c\x6e\xca\x17\xaa\xa1\x99\x74\x0b\xe5\x0b\xf9\x82\xd1\xc2\x16\x0a\x04\x0b\xf9\x4c\x3a\x18\x08\xea\x2c\xb4\x93\xa4\x40\x0b\x35\x13\x8f\xbb\x0f\xdc\x7d\xf7\x01\x76\xb7\xdb\xfe\x94\xec\x8b\xcf\xb3\x59\x1b\x77\x04\xec\xce\x5b\xda\x27\xb9\x1d\x52\xd3\xef\x9c\x7e\x0a\x4f\x99\xf0\x79\x9b\xcb\x59\x77\x5d\x4a\xb2\xb8\xe6\x79\x1b\x9d\xff\xe6\x70\xbb\xeb\xbe\xe3\x6c\x68\x9d\x65\xb3\x86\xee\x08\x38\x1c\x63\x13\xdf\x66\x75\x39\xec\x37\x24\x8c\xc4\x21\xd7\xbf\x39\xdc\x2c\xa0\xd7\x70\x37\xad\xff\x9d\x3d\xc0\xc2\xf9\x64\x7a\xa9\x3d\x64\x4b\xde\x66\x5d\x17\x74\x6d\x4b\x87\x3d\x8e\x27\xdd\xfe\xb5\xd6\xba\xcb\xf3\x36\x87\xbd\xce\x7f\x76\x43\x7a\x4a\x23\xf3\x3b\x8c\xb4\x1d\x1d\x27\x9f\x6e\xb7\xdb\x1c\x89\xdb\x6d\x6b\x6b\x13\xdb\x36\x65\x2c\x4e\x33\xf1\xe4\x30\xf3\x1b\x6b\xc7\xb0\x2a\x8c\xf2\x20\xd3\x30\x0b\x17\x9a\x7c\x48\x6d\x2f\x0b\x1f\xe3\x97\x3d\x51\x8f\xaf\x59\x97\x51\xbb\x88\xa2\x29\x25\x15\x15\x25\xc1\xa0\xb4\x11\x86\x25\x5e\x1d\xd3\x05\x43\x96\x0d\xb4\x90\xb1\x86\x78\x9d\x46\x9f\x16\x9d\x5e\x3a\x81\x5b\x1d\x52\x9d\x2e\x8e\x2b\x72\x2e\x67\xb9\x8f\x4a\x93\x25\x9b\xf6\x03\x9b\xc4\x5d\xea\x75\xf6\xad\x98\x39\x54\x9a\xb9\xa2\xcf\x20\x9d\xdc\x1c\xd7\x22\x7d\x85\x59\xe4\x9a\x43\x39\xa7\x97\x8b\xd4\x90\x91\xf3\x04\xee\x72\x33\xf7\xf8\x50\x6f\x20\xe9\xf1\x24\xf9\x05\x57\x5a\x19\xb3\xde\x55\x74\x7a\x87\x7a\xcf\xbc\xfa\xca\x33\xb9\x27\x8d\xda\xbf\x9a\xcc\x66\x93\x5f\xf5\x9a\xe3\x3f\x04\x88\x17\x08\x1c\x64\x63\xfc\x1b\x4d\xf3\x44\x3d\x15\xfe\x2b\x67\xa5\x40\x41\x12\xa5\xb8\xb1\x32\xa4\x74\x5a\xd3\x25\xe9\x74\x4b\x75\x3e\xf6\x7b\x82\xcd\xa4\x73\xae\x9a\x3a\x0c\x4d\x0d\x29\xc4\xba\x59\x37\xfd\x67\x97\xc5\xc1\x39\x2c\xe5\xde\x72\xaf\xdd\xee\xb0\x74\x59\x98\x8d\xfd\x3c\xb2\x34\xf2\x9e\x31\x34\x7e\x63\x63\x2c\xa2\x45\x74\xc6\x56\x67\x74\x69\x80\x78\xa2\xd7\x34\x85\x9d\xb2\xc0\xca\x24\x76\x4a\xf9\xdf\x2d\xc4\xac\x0b\x6c\x8d\x16\x76\x56\x28\xf4\xfc\x0f\xf4\xb6\x69\x6b\xbe\xad\xcb\xfc\xe6\xdc\xaa\x77\xb1\x8c\x90\xbe\x6e\x51\x33\xf9\xc7\x31\x90\x41\xc9\x13\x55\x52\xa4\x90\xd9\x8a\xa8\x47\xd8\x1f\x6e\xed\x6c\x3d\x62\xac\xa9\x9c\xda\xda\x17\xde\x4a\x9b\x6d\x76\xed\xc7\x76\x3a\x5f\xeb\x6b\xed\x2c\x83\xdf\x1a\xee\x6b\x3d\xaa\xea\xf1\x62\xb1\xb5\xb3\x35\x3c\x5b\xdb\xd6\x64\xa7\x93\xed\x47\xbc\x3c\x3a\x5b\xa9\xdf\x50\x6a\x70\x23\x63\xd3\x87\x08\xda\x47\x39\x5b\x73\xde\xa9\x90\x0d\xdc\x1d\x14\x71\x92\xbb\x99\x22\x79\xb8\x19\x1f\x49\x30\xb7\x37\x11\xe1\x39\xd5\xeb\x34\x67\x84\x01\x93\x1c\xfa\x77\x1e\xd1\x5e\x3d\xb2\x73\xe7\x11\x6a\x3d\x42\x97\xbf\xa8\x7d\x45\x5b\xa1\x7d\xe5\xc5\x17\xe9\x3c\x7a\x80\xce\xe3\x06\xb4\x11\xba\xd1\x69\xa1\xac\x51\xab\x9e\xd6\xc8\xc1\xce\xad\x4d\xfa\xe2\x8b\x46\x3f\xa6\x01\x69\x91\x00\x78\x30\x0b\xa0\x1c\xd7\x41\xba\x98\x22\x71\x7e\xd1\x94\x73\x7c\xf1\x68\x3a\x9f\xe2\x3a\x48\x97\x76\x24\x4e\x0c\x64\xa2\xb1\x5c\xb6\x40\x3a\xe5\xc6\xf4\xc9\xc5\x48\xa6\xcf\x1c\x71\x1d\x87\x14\xe0\xcf\xaa\x27\x9f\xe3\x3b\x0e\x1f\xd5\x93\xd7\xfe\x9e\xdd\xcb\xde\xef\x28\x17\x1d\x5e\xf2\x91\xcf\xa1\x0d\x3a\x7c\xe4\x23\xaf\xa3\x5c\xec\x08\xd1\xfd\x96\x84\x8f\xce\x74\xf8\xc8\x45\x5e\xc7\x23\x0e\x2f\xb9\xc8\xe7\xa0\x33\x7d\x09\x0b\xdd\x1f\x62\x61\x9e\x8c\x95\x49\x2b\xf1\x76\xb7\x5b\x3b\x79\xbe\xec\x20\xe8\x01\xc3\x70\xc8\xf3\xf3\x5d\xbc\x4f\x0e\xcb\x0e\x73\xde\x74\xc8\x61\xf9\xe8\xc1\xae\xaa\x1c\x21\xea\x4c\xa0\x0b\x49\xcc\x00\x12\x95\xb9\xb0\xfa\x95\xc7\x74\x7b\x30\x90\xee\xd6\x47\x1f\x05\x24\x9d\x8f\x21\xa5\x90\xcf\x44\x2b\x04\xe1\xf7\x44\xd3\x82\xa9\x41\x22\xc5\xf8\x3c\xd2\xd9\x7a\xc4\x60\xd2\xe8\x17\x9f\x9b\x7a\xef\xd4\x6d\xf4\x52\x6b\xa7\xf6\x5d\x4f\x8b\x56\xf4\xe6\xbd\x5a\xb1\xc5\xe3\x99\x48\x50\x42\xa4\x0b\x5f\x98\xf8\x48\xd6\xcc\xa5\xff\x51\x64\x94\xef\xdb\xd6\xd9\xb9\xad\x93\x79\x26\x34\x69\x45\x59\xa6\x52\xd3\x84\x14\x95\x0c\xb9\xa9\x58\x43\x2b\xf5\x48\x18\x3c\x80\x6f\x04\xae\x11\x52\xf1\x7b\x32\xe9\x00\xab\x10\x4b\x17\xb9\x15\xbe\x86\x5e\xf8\x3e\x9b\xf6\xbd\xba\xfa\x3a\xad\xe4\xb2\x58\x02\x25\x63\xe0\x94\x9c\xde\xe7\x47\x68\x66\xe7\xce\x63\xa8\x86\xf5\xd9\xed\xda\xf7\xac\x56\x2a\xba\x65\x9f\x41\x37\x4e\xad\xdf\xcb\xd2\x35\x94\xf6\xf4\x31\xa4\x73\x1c\x58\xcd\x39\xce\x9c\x0c\x4d\x15\x84\xce\x09\xd2\x89\x61\x5d\x51\x03\xa1\x8d\xba\xeb\xea\xeb\xa8\xe8\xfa\xe5\x47\x82\xba\xcb\xa7\xf5\x1b\x93\x5c\x9f\xd7\x69\xb7\x53\xb7\xd5\xaa\x95\xdc\xf4\xe1\x47\x80\x6a\x58\x21\x88\x3a\x0b\xe0\x30\x46\x7e\xb4\x83\x52\x5c\x94\x73\x92\x14\x0d\x46\x93\xa3\xd4\x50\x90\xcd\xd9\x38\x28\x07\xb8\x61\x9a\x4e\x1c\x1d\x28\x4f\x3f\x40\x1c\xd1\xf4\x73\xa9\xc8\xfa\x94\xd0\x11\x35\xa4\x34\xbc\x6b\xcb\x85\xb8\x62\x28\x67\x7b\xb7\x81\x15\xb9\x3a\x46\x83\x9a\x9b\xab\x63\xa5\x07\xb4\x66\x43\x0b\xf9\x87\xae\x19\xac\xb5\x21\x16\x6b\x28\xbf\x3a\xa3\x06\x47\x2e\x34\x1a\x56\xe7\x7a\x7f\xea\x8b\xae\x5e\x61\x3e\x48\x81\x13\x0c\x7b\xbe\x3f\x52\x1e\x70\x79\xdc\xee\x48\x24\xda\xc2\x22\x1f\x39\xe8\xd9\xc3\x0b\xbc\x5a\xc9\x6a\x91\x93\x4c\x4d\xca\x5e\x59\x2b\xfd\xec\xa3\x46\x3d\x8d\xc0\x94\x19\x99\x8b\x52\x4a\x37\x29\xf1\x98\x93\xf9\x9a\x59\x26\xad\xaf\xf7\x69\x7d\x61\x97\x44\x7e\x84\xc9\xcc\xa4\xf9\x60\x21\x1f\x0c\x88\xd0\x29\x75\xa2\xc7\xd3\x72\xcb\xae\x9f\x54\x99\xaf\x4d\x07\xe6\x4b\x6e\x97\xed\x66\x2b\x59\xd6\x6b\x3f\x7d\x74\x94\x55\xbb\x93\xe4\xb5\x9f\x69\x9a\x90\x12\xa0\x15\x43\x4a\x6b\xaa\xf9\x96\x9b\x2b\x2c\xde\x9a\x73\x6d\xcc\x7a\x8b\xa5\xc1\xb6\xf5\x0e\x3d\x25\x75\x52\xf8\xc5\x2d\x97\xae\xbe\xa1\xc5\xe3\xa9\xe5\x67\x12\x98\x6b\x8c\x02\x86\x68\x2c\x91\x92\xc4\xd1\xf9\xda\xe7\xa2\x66\x32\x81\xad\x2c\xbc\x15\x45\xb1\xd1\x94\x11\x3e\x67\x06\x79\x11\x35\x60\x4f\x07\x84\x3f\x53\x51\x5b\xa3\xbd\xbb\x53\xfb\xeb\xda\x1b\xe4\xac\xde\x5d\xa5\x90\x22\xdf\x3c\xf7\xf1\xf3\x6e\x7a\x6b\x4e\xdd\x44\x4b\xa0\xe4\x90\x1b\xf4\xf6\x85\x14\xf9\x96\x5d\x3f\xa9\x04\xfe\xd8\x21\x9f\x42\xf7\x90\xbc\x93\x7c\x6b\x3f\x23\x67\x15\x1a\x10\x98\xf6\x9e\xf6\xad\x4b\x2e\xb8\x41\x36\x8b\x50\xb2\xf2\xcd\x33\xe7\x7d\xe6\x72\xcf\xaa\xa0\xcc\xc9\x7a\x76\x25\x2b\xdf\x72\xb3\x19\xe0\x90\xc8\x4e\x0b\x2f\x5d\x7d\x83\xac\xa0\x62\x6c\x75\x7c\x7d\x01\x68\x1c\x47\x9a\xfb\x18\xff\x78\xb9\x34\xf7\x31\x7e\x79\x9c\xd6\x4a\x3e\x46\x0b\x65\x0a\x02\x27\x7a\xf1\xaa\xec\x18\x32\x3c\x9c\x21\x66\x1c\xdf\xad\xca\x8e\x23\x86\x47\xd0\x3d\xb5\x7a\x5d\xea\x1b\x29\xee\x6f\xc7\x71\x95\x8f\x17\x58\x13\x9d\xe1\x0c\xf7\x90\x5e\x1f\xbf\xb0\x56\xe1\x6b\x8c\x71\xde\xd4\xa7\xb7\xe8\x63\x3c\xa7\xcf\xf6\xfe\x5a\x1d\x91\x2e\x0b\x22\x02\x5d\x12\x0c\x50\x91\xe9\x2c\x2b\x57\xac\x0a\xdd\x11\xb2\xd0\x06\xb2\x44\x5a\x3b\x39\x94\x2e\xbe\xfb\xee\x8b\xb5\x81\xb2\x31\x5f\xb3\x62\x6b\x67\xe9\x49\xb2\x68\x1f\x3c\x59\xea\xd4\xe9\xb2\x58\x91\x23\x3c\x28\x18\x74\x39\x32\xe1\x29\x39\x5d\xaa\xd1\xb9\x41\x9d\xab\xee\x60\xf1\x98\xa9\x87\xd5\xc7\xb9\xce\x33\x07\x82\x81\x4c\xba\x8b\x19\xb5\x17\x8d\x06\x15\x7b\x2e\xee\x11\x4a\x0d\x8d\xbf\xba\x67\xc6\xb5\xcb\x6f\x9d\x5f\xd2\x06\x3d\xee\x90\xd2\xe2\x9f\x7a\xf0\xa9\xb5\xdf\xb9\x4e\x49\xe7\xaf\x3f\xe7\x4c\x47\x48\x11\x30\x4f\x39\xea\xd4\x1b\xce\x1f\x56\xe6\xe5\x7a\x7a\xae\x2c\x0b\x0d\x8d\xce\x8d\xed\xd9\xf6\x9d\x56\x25\xc4\xfe\x14\x09\x3a\x9b\x36\x4f\x9d\x26\x4f\xcc\x4e\x54\xaa\x67\x4e\x0c\x39\xb2\x47\x87\xd0\xc5\x9c\x14\xf7\x8f\xe5\x51\x9b\x28\xad\x33\xf2\xb9\x2c\x4b\x44\x78\xe6\xf7\xb5\xe8\xcb\xf9\x08\x6b\x56\xa5\xb1\x98\x32\x89\x29\xb9\x6c\x45\xc0\x14\xd5\xe9\xbe\xa7\x02\x37\x2f\x1d\xe5\x46\xe7\x5e\x15\x9b\xdd\xb4\x4f\xfb\x95\xf6\x4d\xed\x57\xfb\x9a\x66\xc7\xae\x9a\x3b\x1a\xb7\xf4\xe6\xc0\x53\xbe\xe9\x37\x0d\x50\x96\x7a\x29\x3b\x70\x13\xbb\xe5\x91\x5d\x53\xa2\x67\xae\x8d\x8c\x32\x9f\x91\xb9\xd3\xed\xe7\xae\xdc\x45\xe2\xbd\xf7\x6a\x47\x76\xad\x3c\xd7\x3e\x7d\x6e\x64\x94\x29\x8d\xac\x3d\x33\x3a\x65\xd7\x23\x5f\xa0\xfa\x17\xb6\x6c\x79\x41\x7b\xcb\x6c\x57\x84\x03\x3f\x00\xd9\x9c\xb7\x62\x29\x1a\xa1\x5d\xca\xa7\x03\x1c\x94\xac\xac\x7d\x4b\x3b\x62\xcc\xc3\x22\x2d\x94\xb3\x0a\xdf\x7f\x54\x1f\xe1\xb4\x50\x09\x91\xce\x66\x2e\x34\xc7\xa0\x4e\x2f\x11\x5e\x35\xca\x3a\xe9\xf8\xa5\xc1\xec\x48\x43\x71\x9d\xed\xe0\x8c\xed\x83\xe0\x71\xeb\x20\xf5\x13\x73\x6c\xae\x90\x52\x1f\x8b\xd5\xeb\x8f\x12\x72\xd9\xe6\x1c\xa7\x62\xcd\xbb\xfb\xc6\xb0\x90\x6c\xf4\x37\xf9\x1b\x26\xcd\x9c\xd4\xe0\x6f\xf2\x37\x26\x85\x46\x98\x86\x99\xc3\x4f\x89\xaa\x30\xd7\x80\x67\x3e\xd6\xfe\x33\x30\xf1\x6e\x56\x09\x35\xf6\x64\xb2\x8a\x29\xd2\x8d\x8f\xeb\x22\x9d\x10\xbd\x6e\x96\xd2\x05\xf2\x91\x14\xff\x70\x8b\xe8\x13\xff\xb2\xdd\x61\x6f\x54\x52\x9d\xbe\x05\x67\x9e\xb9\xc0\xd7\x99\x52\x42\x0e\xc7\x76\xfa\x17\xed\x65\x87\x23\xa4\xa4\xa4\x16\xa9\x23\xf1\xe9\x5b\x6e\xf9\x74\xa2\x43\x6a\x91\x8c\xc8\x97\xff\x71\x2c\x14\xb4\x17\xb5\xf2\x34\x41\x09\xa5\x7c\x4d\xae\xfc\x83\x4f\x3e\x98\x77\x35\xf9\x52\x21\x45\x98\xf6\x6d\x2d\xab\x5d\x7f\xb6\xa0\x84\x12\x41\xde\xc1\x37\x84\xce\x26\x37\xa5\xc9\x7d\x76\xa8\x81\x77\xf0\xc1\x44\x48\x11\xce\x86\xdd\x10\xf2\x75\x9a\xe7\x20\xa1\x0e\x2e\xc8\x08\xa2\x11\x2d\x88\x63\x12\x32\xc6\x58\xf5\xc7\x73\xb2\x3f\x9e\x8b\xfa\xe3\x39\x32\x64\x15\x4f\x54\xff\x92\x27\xea\xa1\x4a\xb8\xec\x89\xe6\xe2\x9e\xb8\x27\xea\xcf\xe4\xc8\x4c\xe2\x21\x55\x55\x55\x4e\x55\x87\x54\x5d\xec\xd0\x1f\x0e\xfa\x7b\x18\x65\x95\x57\x55\x3d\x5a\x53\x8d\x6f\x59\x2d\xab\x82\x5a\x36\x82\x38\xe8\xd9\x86\x88\xae\xa7\x4a\x3e\x3d\x96\xa9\x9a\x11\xce\xa0\xe9\xb9\x98\x91\x50\x0f\xd6\x1f\x18\xfb\x80\xd5\xb5\xe1\xd8\x76\xa4\xd0\x56\x69\xcb\x34\x74\x03\x99\xb8\x27\x23\xff\x2f\x9e\xee\xee\xee\xee\x48\x64\x45\x4b\xcb\x97\x5b\x5a\xbe\xdc\xd5\x75\x5d\x4b\x4b\xb7\xf1\xf7\xe5\xee\xee\x2f\x77\x77\x5f\x67\xfc\xad\xe8\xee\x7e\x7a\xc5\x0a\x3d\x59\x77\xb7\xa0\x1e\xb9\x41\xb8\xfe\x7f\xf4\xe8\xfd\x62\xae\xe9\x77\x09\x6f\x1b\x73\x74\x53\x8d\x8e\xa2\xc2\x11\x51\x07\x8d\x48\x62\x14\xa0\x52\xcf\xc5\x3d\x3d\x17\xf3\x57\x25\x35\x7f\x2a\x9b\x4b\x96\x73\x4a\xae\x37\x4b\xfd\x39\x55\x61\x3f\x4b\xf2\x75\x7a\x64\x8f\x56\xcc\x25\x35\x5f\x32\xc9\x9e\x4f\xaa\x39\xea\xcf\xf6\xe6\x94\x72\x3e\x55\xe5\x4d\xef\x92\xd6\x56\xea\xca\x7d\x5c\x6d\x82\x19\xaa\xa4\x28\x9f\xcb\xea\x71\xf1\xcc\x3f\x00\x05\xa9\x46\x70\xa2\xa3\x99\x5e\x49\xea\x71\x6a\x6e\xe0\x1f\x80\x2f\x6b\x04\x86\x5b\xe8\x95\x64\x2e\x9b\x62\x3f\x55\x72\x26\xd8\x1c\x6c\xc3\xaa\x78\xb5\xa0\x62\x09\x56\x61\x23\xa0\xcb\x24\x4e\x5d\xee\x52\x52\x4a\x21\x9b\x2f\xe4\x95\x42\x17\x33\x86\xb1\xa2\xbf\xc7\x3b\x58\xa1\x4b\x0c\x4a\x46\x93\x2a\xf9\x24\x31\x68\x2c\xf3\x05\xca\xa7\x02\x82\x68\xb8\xbb\x29\xaf\x8c\x8a\x72\x35\x7e\xf1\xc2\xd6\x80\xf6\x8e\x7c\xc5\x29\x43\xab\x17\xde\x1e\xae\x0f\x88\x44\x16\x62\x76\xbf\x18\x6c\xb7\x70\x02\xe3\xc2\x9c\x7f\x22\x4f\x12\xcf\x27\x78\x79\x12\x4f\x16\xc6\x9c\x01\xd1\xe2\x71\xc8\xbe\x68\x2a\x4c\x8a\x83\x7d\xb8\x60\x71\x40\x7b\x37\x31\xf7\x9c\xa1\x2f\x35\xd6\xd5\xd9\xea\x37\x73\x5f\x6a\xca\x5b\xa8\x5d\x62\xca\xd1\x77\x78\xbb\x93\xf5\x39\x1a\x78\x3f\x6f\x77\x96\xfb\x1d\x0d\xfc\x9a\x63\x42\xf8\xd8\xc9\xf3\x86\xae\x2a\x9e\xb5\x76\xd1\xac\xe9\x7c\x87\xd3\xd2\x28\xd6\xf9\x1a\x6d\xca\x5a\xc5\xd6\x6a\xa9\x8b\x89\x89\x0d\x31\x6b\x87\xe0\x88\x0b\xa1\x2b\x15\x4b\xdc\x6a\xf1\x85\x2c\xf6\x64\x34\xd5\x10\x20\x91\xb3\x6e\x58\x30\x74\xd5\xa6\x53\x5d\xee\xc6\x39\x2d\x21\xee\x37\x81\xb8\xab\x79\x84\x6d\xd1\x4a\x23\x4e\x73\xef\xf6\x0b\x42\x65\x5f\x98\xd2\x41\x53\x0b\x60\xa8\xc1\xac\x06\x5d\x98\x64\x51\xc8\x67\xf8\xed\x41\x7f\x34\x95\x8a\xca\x0d\x93\xe3\xda\x5c\x6d\x6e\x62\x92\xe9\xf7\x07\x05\xd5\xea\xe8\x8c\x1d\xf9\xef\x58\xa7\xc3\x12\xa1\x3d\xda\xd2\xa8\xee\x17\xac\xb1\x4e\x87\xb5\x3a\x97\xab\xa2\x39\x17\xd9\xe1\xc3\x74\x60\x82\x39\x99\x18\x7a\x9f\x68\x95\x14\x0b\x9e\x8a\xca\xda\xe4\xd0\xe2\xd5\xe5\xb9\x42\x96\x2d\x86\x8a\x42\x67\x17\x54\x4e\x1d\x52\x39\xb5\xbf\xb5\x53\x9f\x71\x4c\x41\x54\x76\x0c\x98\xbc\xcb\x80\x43\xbe\xec\xb4\x62\x67\x2b\xeb\x6f\xed\x0b\xef\x0e\xb7\x16\x4f\xbb\x8c\xa0\xcf\x39\x9d\xad\xfd\x65\x53\xf6\x2c\x6a\x7d\x0e\xb9\x5f\xe7\x66\xfa\x65\x07\xf5\x9f\x76\x19\x8b\xb4\x76\xb6\x86\x77\x87\xfb\x5a\x87\x71\x59\xc5\x0e\xc0\x94\x99\xa3\x98\x00\x20\x1d\xf0\x89\x31\x25\x5b\x61\x06\x46\x19\xa8\x11\x75\x55\x45\x0f\xed\xe6\xe6\xbf\xbb\x77\xef\xbb\x7b\xb9\x01\x9d\x65\x3a\xa2\xea\xef\x81\x8c\xbc\x3a\xc7\x90\x5b\x2d\x67\xca\x17\x8e\xea\x93\xb9\xbe\xbd\x7a\x52\x36\xff\xee\x8b\x87\x8c\x74\x9c\x7a\xf1\xdd\xdb\xa6\xcc\x9d\x3b\x65\xdb\x51\x95\x46\x6c\x16\x46\x75\xcb\x26\x2f\xb7\x18\x20\x2e\x1d\xc8\xa4\x0b\x0a\x15\xba\xf8\x82\x4c\xd3\x48\x17\xd0\xbc\xc1\x66\x0a\x06\x8c\x97\xdf\x27\xfa\x63\x4a\x3c\xc6\x4b\xd9\x6e\x4a\x77\x09\xb9\x6c\x07\xa5\x92\x22\xf3\xfb\x9a\xb9\x4c\xc0\xef\x93\xf4\x48\x31\x2e\xb2\xff\xf8\x97\xe8\xcf\x4f\x96\x95\xb3\x86\x7e\xca\x82\x33\x27\x67\x14\xfb\x3b\x54\xdf\x93\xb3\x70\x2f\x44\x77\x4e\x70\x7d\xb2\xc9\xe7\x92\x6f\x71\x89\xd4\xad\x15\x7b\xb5\xbf\xa4\xf8\x1b\x29\x68\xf1\x5b\x1d\x42\xd7\x19\xa4\x75\x85\x56\x87\xa7\x29\xbd\x1c\xb1\xa9\xff\x35\xd5\x92\xe4\x16\x73\xbf\xd0\xba\x78\x56\x1e\xba\xea\x34\xa9\xce\x26\xa7\x5a\xd8\x1a\x76\xc0\x29\x69\x91\x45\xda\x17\xcf\x8d\xfd\x76\xea\x49\x76\x57\x93\xa8\xc8\x82\x87\x77\x3b\xa9\x2d\x1e\x16\x98\x24\xda\xec\x16\xf7\xfd\xdf\xe7\xd8\x54\xed\x9d\x86\x40\x8b\xd7\x6a\x91\x53\x56\xaf\xcf\xe2\xac\xc8\xd1\xc6\xda\xe5\x47\x1b\xce\x03\x92\x81\x4c\xc4\x93\x4d\x75\xf0\xf1\x98\xe4\x13\xfd\x3e\xb1\x99\x38\x83\x77\xcc\x65\x75\xb6\x52\xf2\x19\x6d\xf6\x19\x03\xbf\x8b\x9f\x4e\x39\x77\xaa\x83\x9f\x44\xba\x88\x16\xc8\xa4\x9b\x39\xbf\xcf\xc9\x49\xcd\xa4\x7f\xe2\x06\x66\x58\xdb\x82\x99\xb4\x79\x42\xe3\xa9\x33\xcf\x9d\x3f\x75\x7e\x98\x18\x59\xc4\x89\xb3\xce\xd8\xb2\x32\x33\x75\xd5\xc6\x99\xe9\xc5\x16\x2a\xbf\xc1\x5c\xdb\x13\x52\x9d\x28\x50\x80\x4f\xe4\x3a\x32\x02\xbf\x92\xde\xb8\x31\xb8\x2c\x38\xe7\xb3\xd7\x2c\xef\x8c\x9e\xb4\xa4\x2b\x77\xcf\x0b\x73\xae\xfc\xca\x9e\xe5\xed\xfb\xda\x2f\xd6\x2e\x71\x45\xe8\xb4\xcb\x67\xb6\x4f\x8f\x7a\x78\x5b\xee\x40\xd6\xb2\x69\xc1\x39\xec\x15\x29\xd4\xbd\x71\xc9\x9c\x8b\xa6\x85\x1d\xe9\x9f\x66\x1a\x2f\x0e\x75\x0c\x6d\x58\xc1\xd7\xbb\xec\xcd\xc9\xf0\x24\x7f\x5a\xe0\x5e\x69\xb3\x38\xac\x02\x4f\x67\x32\x99\x42\x53\x97\x5c\xdb\x93\x3d\xeb\xe4\xa9\x91\xfa\xf8\xb3\x77\xad\xfa\xca\x05\xa7\x86\xc5\x80\x29\x9b\xf2\xfa\xf8\x9c\x0a\xf8\xf5\x39\x2d\x5f\xc8\x87\x28\x95\xeb\x60\xa9\x82\x2e\x9a\x76\x51\x41\x94\x9c\x24\x39\x39\x49\x64\x92\x93\x6b\xa1\x40\x50\x94\x62\xfa\xe4\x1d\xd7\xfb\xd9\x13\x38\xed\x94\xc6\xb0\x83\xb6\x5c\x4c\xf5\x33\x16\xc9\x72\xf4\xb1\x6b\xa7\x4e\x5e\xfd\xf9\xb0\xe0\x6c\xbe\x3d\x69\xb1\x8b\x56\xd6\x78\xb5\x87\x05\xbc\x4e\x22\xcf\x1e\xce\x51\xd7\x56\xd7\xb4\x31\x7c\xcb\xec\xcc\x93\xd7\x7d\x42\x92\x65\x67\x7c\xa6\xc4\xb2\xac\x2e\xde\xe0\xa8\x13\xb8\x0b\x99\x55\x10\xac\x2c\x95\xb6\x25\x5d\xf2\xa4\xe8\x54\xc7\xae\xf2\xef\x97\x58\x57\x9e\xf1\x09\x97\x97\x6f\x6c\x2f\x70\x3e\xe6\x1d\xa5\xd7\x23\x82\x8a\x46\x5c\x0b\x24\xd3\x01\x97\xb9\x1b\xa6\x8f\xe5\x78\x4c\xe9\x36\x77\xc2\xc4\x36\xf2\x90\x2e\x03\xe8\xb2\x80\x3e\x8c\xba\x58\x37\xa5\x03\x06\x89\x8a\x92\x92\xea\x60\xa9\x0e\x4e\x6f\x87\x3e\x17\x07\x7d\x5e\xbf\x4f\xac\x12\xb8\x8b\xc4\x84\x4e\xc3\xca\x0c\xd2\x31\xe2\xc9\x32\x5d\xa0\xd3\xe9\xdc\x10\x74\x9d\x4c\x52\x52\x1e\xf1\xa5\xa8\xd7\x77\x9d\x6f\xaa\xef\x3a\x9f\x37\xba\x78\x71\xad\xe7\xc3\x5f\xe4\xed\x3f\x6e\xdf\xd7\x9e\xb8\x3d\x41\x49\xb1\xb9\xce\xef\xb4\x4c\xe4\x7d\x3c\x13\x52\x4d\x0d\x4d\x9c\xdb\x41\xa2\x5d\x96\x9a\x98\xe7\xfc\xf4\xa2\x88\x95\x78\x41\xb0\xb5\xee\x49\x08\x5c\xac\x57\x7b\xe3\x94\xf4\x4f\x33\x9c\xe7\x53\xeb\xea\x65\x91\x18\xcf\xd5\x7d\x21\xba\xd9\x27\x37\x47\x43\x13\x9d\x6a\x32\xf4\x40\x28\xf4\x40\x28\xc9\xa3\xea\x1a\x02\x3f\xdc\x28\xf0\x44\x24\x38\xea\x88\x36\x0c\x2c\x6e\x72\xf2\xed\x4b\xac\x8b\x4e\x25\x8b\x95\x63\x44\x3c\x7f\x7a\x61\x45\xf9\xf1\xfb\xdd\x97\xce\x8b\xfa\xdb\xdc\xad\x36\xa7\x8b\x98\xcf\x9b\x21\x6b\x63\x24\xe4\x9c\x48\x9f\x58\x4d\xbb\x56\x5f\xc9\x1a\x83\x61\x1f\x6f\xaf\x77\x3a\x36\x5d\xc8\x42\x5e\xba\xde\xc4\x31\x67\xe8\x03\xce\xc3\x5d\x80\x5c\xc1\x63\x82\x0f\x06\xc6\x21\x31\xa7\xe8\x48\x31\x90\xd8\x42\x39\x9f\x3e\x0c\x4e\x80\xc7\x2e\x96\x55\x72\x59\xc3\xa0\x6c\x2c\x26\x29\xdd\xcc\x8c\x0d\x13\x2e\x1e\xeb\xa0\x6c\x3e\x17\xf5\x05\x7c\x4e\xd2\x85\xba\x94\x92\x2d\x74\x71\x99\x74\x33\xf9\x44\x7f\x34\xab\x64\xbb\xe8\x74\x13\xb7\x73\xe8\x3c\xc2\xa6\x68\xb0\x16\xb1\x4e\x9b\x47\x98\xd1\x7c\xdd\xe2\x75\x13\xad\x44\x8c\x8e\x8b\x57\xc9\xca\x91\xa0\x63\x8c\xaf\xfb\xc2\x84\xf7\xdc\x26\x6e\x85\x66\xfb\xf4\x42\x91\x0f\x85\xf8\x62\x61\xba\xdd\xe1\x12\xb8\x21\x70\x82\xcb\x31\x3e\x94\xd7\x43\x85\xeb\x1b\x05\x9e\x11\x4f\x91\x1a\x94\x2f\x9c\x43\x0e\x91\x31\x5e\x38\xbd\xb0\x3b\x5b\x78\xf6\x81\x79\xc7\x47\xb9\x7b\xe3\x37\x3e\xf7\x28\x27\x35\x59\xa4\x05\xf3\x4e\xcf\x0b\xf6\xc6\x3a\xfb\xa6\x35\x06\xce\x8f\x0c\xa7\xda\xf3\x9c\xbf\xd3\xcf\xe5\xdb\x53\xfe\x44\x4b\x9c\xb1\x78\x4b\xc2\x7f\xdc\x40\xf3\x60\xd9\x58\x9d\x86\xb1\xbb\xf6\xbf\xd9\x63\x97\xa0\x84\x3e\x34\xac\x45\xc4\x8a\x65\xcb\x51\xc3\xba\x44\x30\x94\xab\x4a\xe8\x88\xe1\x13\x51\x89\x33\x52\xf2\x6a\x48\x29\x8d\x1a\x9b\x5c\xf0\x31\xce\xff\x47\x70\x9b\xe6\x89\x9c\x5a\x81\xdb\xf0\x09\x55\x6b\x1d\xc3\xc7\xfe\x2f\xc0\x3d\xde\x46\xe1\xe3\xfc\x63\xe1\xae\xc5\x76\x2d\xae\xff\xc7\x98\xfe\x7f\x02\xf3\xc7\xbb\xff\x49\x98\x3f\x42\x57\x37\x7e\xf7\xd8\xf3\x31\xfe\xe3\xd1\xcd\x47\xc5\x7f\x5c\xdb\x09\xb2\xc3\x60\x6d\x4f\xf0\x12\x21\x3b\x8e\x18\x1e\xa1\xe8\x90\x8f\xe0\x44\x31\x27\x72\x0f\x8c\x94\x46\x57\x1c\xcf\x39\xf4\xb7\x11\x27\x7f\xdc\xd0\xe3\x67\x33\x0f\xab\x8e\xc7\xa9\xa9\x87\x8e\xa5\x48\xc9\x9a\x16\xb7\xff\x2c\x36\x8e\xc1\x8e\x2a\x3b\x9c\x56\x6d\xc0\x6a\xa5\x88\xd5\xe9\x90\x05\x55\x76\x7c\x68\xb4\x50\x34\x40\x39\x6a\xbc\xf9\xe2\x78\xf7\x68\x1a\x6e\xa0\x5c\x72\xc8\x7a\xf6\xb0\xfe\xfa\xf8\x96\xd5\x36\xf2\xb8\x6d\xac\xe8\xfe\x4d\x7d\x4e\x3a\x68\xfd\x5f\xb7\xb1\x4f\x6f\xa0\xa1\x19\x74\x5a\x29\x22\xec\xfd\x67\x9b\xc8\x5e\x0c\xeb\x25\x98\xe6\x22\x56\x6d\x40\xb3\xfe\x13\x4d\x34\xf5\x8c\x86\xfd\x70\x8b\xd1\x7f\x86\x14\x55\x6d\x53\x55\xb8\x6e\x22\x32\xb4\x4c\x12\x52\x0e\x7b\xa3\x57\x5b\xbf\x77\x53\xb9\xb8\x69\xef\xde\x4d\xac\xb4\x69\x2f\xdd\xe9\x6d\xb4\x3b\x52\x7c\xff\xd1\xd2\x44\x8f\x20\xd3\x9d\x8f\x54\x63\xf6\x6e\x7a\x98\x76\xca\x82\x67\x44\x9e\x92\x4c\x79\xc0\x89\x66\x74\xe8\x98\xd4\xe5\x93\x7c\x9a\x3c\xd1\x1c\x05\xad\x54\xa3\xd2\xce\x79\xb2\x4a\x70\x9c\x5a\x9b\xa9\x1b\xfa\x37\x6c\xe8\xe7\x37\x1c\x51\xa9\xd8\xcf\xc0\xf0\xa1\xd1\x0e\x51\xc7\xc4\x9d\xb5\x56\x90\xbc\x5b\x4f\xb8\xa1\x5c\xd2\x8a\x25\x23\x29\x45\x64\xc7\x51\x03\x61\x7c\xc9\x21\x47\x8e\x1a\xaa\x6c\xbe\x54\xb1\x59\x1c\x56\x85\xb7\x85\xb5\x10\xe1\x43\x03\x92\x40\xb4\x90\x92\xfc\x19\x3f\x65\xe3\x31\x89\x44\xbf\x2f\x93\xd6\x45\x6f\x2b\x45\x3d\xe4\x73\x11\x15\xf2\x19\x9d\x13\xa4\xb5\x67\xbf\x7d\xb6\xca\xae\x0a\xd8\xa4\xf2\x1f\xa4\x80\x4d\x62\xcd\x52\x9e\xfa\x87\x4a\x5a\x9f\xf0\x76\xf2\x11\xad\xef\x91\x44\x3e\xa7\xbc\x9d\x3c\xfb\xed\xb3\xd7\xaa\x5c\x7f\x40\x4f\x65\x0b\xe8\xa9\x7e\xaa\xf5\x0d\x95\xa8\x9f\x0d\xe4\x92\x8f\x50\xff\xc3\x8a\xf2\x97\x54\x85\xff\xe4\x4d\xdb\x8f\xe0\x58\x4d\x87\x93\x62\x4a\x8a\x14\x43\xf1\xcd\x99\x46\x1a\x74\x77\x54\xdb\xe5\xee\x9e\xd7\xed\xd2\xee\x8c\x52\x3b\xed\xa1\x76\xae\x62\x5b\x81\xf5\x73\x86\x8e\x44\x15\x25\xca\x89\x73\xd6\x1f\xa0\x76\xed\xc0\x18\xbb\x12\x19\x48\x7a\x62\xc6\x5e\xd5\x98\x0d\x6a\xec\x3a\xb2\x73\xe7\x11\x6e\xd7\xb8\x5d\xa9\x3e\xbe\x68\xee\x40\xb1\x43\xc7\xee\x1d\x9a\xfa\x7a\x08\x25\xf8\x0d\xfd\x6b\x36\xd5\xc1\xa5\x94\x98\xc1\xd6\xfb\x7d\x81\x74\x3e\xe9\x43\x04\x39\x9d\xd9\x2a\x74\x51\x3a\x10\x6c\xe6\x82\x01\x06\x1f\x35\x05\xc2\x12\x1f\xe3\xa5\x70\xa0\x89\x7c\x3d\x17\xf7\x30\x68\x07\xb4\xa5\xda\x81\xd3\xc5\xcb\x3e\x75\x49\xd8\x9a\xce\x66\x2c\xe1\x4b\x3e\x75\x99\x78\x3a\xa9\x89\x28\xb5\x45\x0b\x41\xb7\x3b\x58\x88\xb6\x51\x34\x91\xeb\xe9\x79\xe2\x80\x76\x80\xda\x0f\xdc\xf1\x19\xeb\x83\xb7\xfe\xfa\x9c\xe6\x58\xac\xf9\x9c\x5f\xdf\xfa\xa0\xf5\x7a\x73\xbc\x8a\x1f\x08\x2a\x44\x38\x71\x32\xba\x30\x0f\x20\xb3\x37\xa1\x48\x24\x06\x0a\x24\x8f\x25\xed\x60\x20\xa8\x33\xfa\xa9\x31\x1b\x2a\x33\x28\xdb\x4d\xf9\x00\x67\x74\xb9\x44\x05\xd3\x06\x8e\xdb\xbc\x71\xf7\xc6\x3e\x86\x88\x47\x7b\xc0\x13\xf1\xd0\x8a\xd3\xf7\x6e\x1a\x32\xa8\x9c\x2b\x76\xe7\x5d\x1c\x67\x9f\xe2\xf4\x06\x03\x43\x06\x19\x72\xc5\x99\x2b\xac\x45\x57\x6b\x1f\x45\xca\x7d\xda\x00\xbf\x7c\xb9\x36\xb0\x3c\xbc\x38\xbc\x3b\x4c\x7d\x1b\x77\x6f\xec\xec\x63\xa5\x91\x72\xca\x3f\x7f\xc6\x2c\x65\xd3\xde\x06\xc9\xed\xb1\x4f\x71\x8a\xa2\x69\x08\xb2\x62\xe6\x75\x0e\x6b\xd1\xe5\x66\x2f\x68\x03\xe5\x3e\x8a\xb0\xf0\x72\x8a\x2c\x0f\x87\x77\x87\x17\x8f\xe0\xdf\xd8\x27\x6f\xc3\xb2\xf1\xb6\xb6\x53\xd2\x26\x3b\xad\x2f\x4f\xb5\x2d\xd3\x65\xb1\x60\x40\x36\xf7\x2f\x67\x50\x3c\x22\x89\x72\xc0\x18\xf5\x1d\x7c\x2e\xdb\x25\x4d\xa3\x5c\xd6\xb0\x0e\xa2\x80\x4f\x50\xab\x4d\xc4\xb0\x43\x0e\x2d\xec\xb4\x89\x1b\xaa\xad\xf3\x86\x43\x6e\xd9\xff\x8e\xa6\x1a\xa3\xbf\x5f\x7b\xfa\x8a\x4d\x27\x71\x41\x0b\xef\xb6\xd9\x02\x27\x4f\x8c\x4b\xfe\xf8\xb4\x45\x97\xde\xf2\xc4\xc5\xfd\x29\x87\x3d\x24\x93\x2a\xb3\xb8\x56\xae\xb6\x53\x76\x34\x0a\xa1\x18\x5f\x6d\xe5\x2b\xb2\xcd\x51\xef\xb6\x58\xe9\x75\x4d\x95\x05\xcf\xc4\xd2\x8d\x37\x6b\xfb\x82\x75\xcc\xe1\x8c\x5d\xd8\xb7\xb5\x73\xca\x92\xbe\xc5\x67\x9e\x32\x35\x15\x30\x26\x18\x4d\x95\xb3\xd5\xb6\x5f\x2f\xa8\x98\x64\x58\x0e\x7a\x8e\xd7\xad\x7a\x13\x8f\xed\x58\x7d\x26\x93\xcd\xfd\xf8\xb1\x56\x8e\xa3\xcd\x1d\xe9\x51\x9b\x83\x13\xc7\xf6\xa9\xcd\x21\x8a\xbe\x3f\x0f\xfd\xb2\x7e\x66\xbd\x76\x46\x7d\xfd\x25\xf5\x33\xeb\x49\x62\x9f\xab\x9f\x59\x7f\x49\x3d\x5b\xa1\x7d\x7f\x6c\x57\xda\xd8\x48\x57\x6a\x0e\x6b\xd1\xc6\x59\xe8\xc0\xd0\x2f\xeb\xeb\xe9\x31\x23\x43\xbd\xf6\x21\xfb\x9c\x51\x88\x79\x6e\x06\xc3\x90\x20\x02\xb3\x2a\xeb\x8c\xa1\x6a\xf2\x64\xd2\x81\xaa\x01\x81\xa1\x5a\x8a\xfa\x7d\x62\x75\x95\xd5\x27\x67\x43\x27\x55\xdd\xa6\x37\x6c\x94\xa2\xb9\xac\xee\x91\x20\x0f\x43\xce\x2a\x9a\xaa\x86\x14\xc3\xa9\xbf\x94\x90\xaa\xa9\x8a\xe1\x94\x09\xc6\x46\x81\x1e\xad\x3b\xf5\x97\x12\x52\x49\x8f\x26\xb0\x7b\xfe\xb9\xf4\xf2\xd8\xda\x6a\xf4\x00\x4d\x00\xe5\x0d\x3d\x54\x8a\x94\xd4\x38\x5b\x2b\xbf\x27\x5f\xe0\x5e\x96\x43\x21\xb9\x3c\xd5\xca\xd7\x58\xcb\x5b\x85\x2b\x64\x7b\xe8\x48\x31\x64\x97\xd9\xb3\x56\x5b\x79\x59\x95\xe7\x56\x42\xe5\x65\x36\x6b\xcd\xf9\x90\xb6\xf1\xe5\x9f\xa0\x1a\x23\x51\xbe\x20\x8e\xd4\x76\x6c\x9d\xec\x59\x39\x74\x4c\xcd\x53\x4f\x00\x02\x7b\x56\xb6\x87\xca\x53\x0d\x58\xb6\x54\xf4\x5d\x0d\xc7\x81\x25\x3b\x52\xf3\x99\xb5\x35\xcb\xf2\x47\xd4\x26\x67\xe5\xd1\xe2\x8d\xb6\x5e\x23\x5c\x2f\x6c\x45\x1d\x60\x25\xd1\x68\x96\x31\x46\xd7\x1c\x79\x29\x18\x8d\x06\x85\xc9\x41\x76\x5e\xb9\xd9\xe1\x0b\x09\xa5\x90\xcf\x51\x6e\x76\x24\x30\xc6\xa6\xd0\x55\x59\xe1\xc7\x2c\xaa\xc2\xf8\xa3\x3f\xa8\x58\xfe\x1b\xa7\x00\x86\xd4\x5a\x9f\x50\x1c\x95\x7a\x6a\x25\x20\xa5\x4a\xbb\xd5\x7a\x8e\xa9\x45\x1c\x23\x31\x8d\x29\x67\x34\xaf\x68\xe2\x2e\x38\xd2\xb4\x60\xa5\x85\x92\xd1\x5a\x51\x3a\x49\x47\x1d\x7b\x56\x47\x1d\x7b\x56\xd6\xd1\x17\xe2\xad\x3a\xe6\x84\x52\xc8\xae\xe3\xd4\xc6\x9e\x35\x1c\x72\x56\x7f\xd9\x43\xec\x59\x9b\x75\xa4\xfc\x2a\x9d\x1c\x53\x7e\xd0\x33\x76\xcb\x54\xaf\xea\x78\x35\x8e\x25\x93\x13\xd7\x6e\xb5\xb1\x47\x46\x11\xc4\x1e\xb1\x59\x6b\x81\x19\x33\x26\xc6\xc2\x32\x1e\x88\x91\xda\x6b\xeb\x1d\x5b\xe3\xb8\x8a\x8c\xfe\x26\x40\x24\x41\x44\x1d\x1a\x01\xd9\x9c\x14\x8c\xde\xa0\x9a\x1e\xd1\xeb\x71\x8e\xd2\x98\x4e\x7b\xc2\xb3\x35\xdd\xc2\x4e\xaa\xa2\x38\x54\xfe\x93\x69\x0b\xa5\x84\x86\x11\xaa\xf4\xd7\x3d\xc3\xf7\xf0\x8f\x08\x7f\x82\x0f\xb0\xb2\x80\x69\x3d\x5e\x99\x8f\xf4\x89\x94\xbf\xb3\xfc\x0e\x93\x65\xf9\x11\xbd\x27\x42\xb2\xcc\xfe\x24\x67\xe5\x47\x64\xfe\xe5\xf2\x3b\xe5\x77\x0c\xa7\x19\xc4\xfe\x64\xa4\x31\xcb\x5c\x36\x7c\x0f\x7f\x41\xa5\xcc\x63\x0c\xd1\xf5\x42\xcf\x2c\x87\x2a\x79\xe5\xf2\x3b\x66\xe1\xec\x4f\x32\xbb\x53\xaf\xc1\xf0\xc8\x4c\x36\x13\xe8\x09\xc7\xd0\x7e\x1c\x93\x00\xca\x65\x95\x78\xd4\x63\x1e\xe1\xf1\x7b\xa2\xe6\x39\x9e\x4c\xd4\x63\x1e\xe6\xc9\x79\xa2\xe9\xb1\xd6\x3b\x25\xbd\xc9\x06\xde\x87\x8d\xf6\x93\xe9\x31\x0c\xc3\x8a\xe3\xcd\x77\x8a\x95\x98\x63\xf3\x50\xdb\xb1\xb6\x4c\x35\xf6\x44\x15\xb8\xaa\xd0\x1c\x0b\x43\xcd\x59\xa0\xe3\xd6\x5a\x91\x79\xc7\xd7\x52\xdb\xfe\x36\x63\xef\x34\x3b\x89\x0a\xf9\x5c\x76\x12\x29\xf1\x98\xcb\x50\x96\xb9\x74\xfe\xb6\x85\x24\xe3\x1d\xc8\xa4\xbb\x0d\xdd\x66\x37\x8d\x85\xe1\x5a\xf9\x89\x27\x64\x79\x99\xdc\x18\xd2\x1d\xa1\x46\x79\x99\x7c\x6c\x08\xdd\x38\x0e\x36\xba\xef\xa3\x92\x57\x42\xe8\xc5\x13\xe2\x26\x68\xd8\x79\xe9\xd0\xc6\x24\x4a\x29\x26\xac\x41\x1d\xca\x02\x75\x51\x0d\x7c\x02\xef\x3d\x5b\xce\xca\xda\x9a\x3f\xc8\x59\xf9\x6c\xaf\x97\x2e\xd6\xab\x60\x2d\xde\xa1\xf1\x76\x95\xb1\xb0\x77\x99\x2c\x6b\x17\xfd\x41\x96\x97\x79\xc3\x8d\x5e\xed\x6e\x59\x4f\xb7\x60\x1c\x0c\xb5\xf6\x5e\x53\x31\x07\x48\x8e\x3f\x37\x96\xed\xa0\x78\x4c\x12\x0d\x9c\x55\x0c\x43\xfc\x3e\x51\x72\x52\x35\x45\x2e\x9b\x2f\x74\xf1\x89\x71\x26\xa0\x23\x36\xe3\xb8\xf4\x91\xb3\xfe\xa6\xba\x82\x5b\x25\xbb\xdb\x9a\x8b\xc6\xb2\x93\x7b\x5a\x27\x77\x5f\x64\x44\xb6\x45\x23\xb1\xa9\x2d\x0d\xa4\x8e\x83\xbe\x7f\xc4\xb8\x9c\x3d\xb6\xf4\xee\x33\xfe\xa3\xde\xbb\x4a\xb4\xcf\xae\xaf\xcf\x46\x95\x8e\x40\xf8\xca\x59\x09\x3d\x5a\x9e\x21\x7b\xfd\x53\x26\x2d\x98\x31\x9e\x18\x46\xdb\xa4\xcb\x5e\x53\xab\x6d\xf2\x8c\x92\x9e\xa1\xe7\x1e\x21\x42\x6e\x5c\x93\xc7\x58\xfc\xc1\xeb\xec\xab\x1a\xb4\xf6\x99\xd6\xca\x25\xa7\xb7\xa6\x81\xec\x18\xe0\xfb\x9d\x5e\x06\x3d\xb6\xdf\xe9\xd5\x4a\xc6\xc7\xcb\xdd\xd6\x5f\x09\xf1\x7e\x6f\x3c\xbc\xa3\x74\x30\xc9\x38\xfb\x33\x72\x16\xa4\x83\x52\x23\x3a\x17\x27\x49\x19\x9d\x01\xd2\xfd\xcd\x14\x1c\x39\x26\xd2\x45\xa6\x5e\xc6\x49\xd2\x48\xda\x0e\x4a\x8d\x94\xd1\x45\x85\x91\xb4\xcd\x14\xcc\xa4\x03\xfc\xd7\xd7\xeb\x03\x69\x7d\xe4\xfe\x75\xc6\x70\x5a\x77\x7f\x64\x7c\x00\x5d\xa1\x84\x6e\x4f\xbe\x7d\xbf\xe1\xbd\xff\xed\xe4\xed\x7a\xfc\xb8\x00\x86\x13\xe5\x1e\x09\xa0\xf6\x13\x67\xaf\x04\x8c\xb5\xcb\x8c\x1b\x56\xec\x30\x0f\xfe\x48\xe6\xc4\xd8\x4d\x29\x73\x62\x6c\xa9\x4a\x27\x2e\x0a\x06\x7c\xf9\x13\xd9\x21\xce\xdf\x69\x0b\xd9\x6e\xbe\xd9\x16\xb2\xed\xb4\xe9\x5f\xdb\x38\xff\x0b\x1f\x65\x99\x48\x3f\x39\x7e\xa6\x11\x7f\xc3\x47\x9b\x27\x1f\x6b\x3b\x6d\xad\xe1\xbe\x5b\xa8\xb2\x68\x9c\xd0\x88\xf2\x4e\x6d\x99\x3e\xbc\x5f\x93\xe5\x0b\xe4\xac\x7c\x27\xe9\x93\xfc\x05\xf2\x96\x8f\x34\xa6\x7c\x59\x5b\x26\xcb\xa4\x18\x29\x8d\x2c\x7a\xde\x23\xff\x20\x9c\x9f\x85\x15\x5e\xe3\x5c\x70\x36\x45\xc6\x9e\x9d\x60\xd8\x55\x92\xdf\x07\x77\xe5\x8c\x4c\xe5\xc4\x8e\x10\x39\xab\xec\xbc\xb9\xff\xd2\x9f\xec\xfc\xe4\x50\x03\xfb\xdb\xe7\x1e\xde\x75\x64\xa7\x10\xd9\xf2\x82\xf6\x47\xed\x39\xed\x8f\x2f\x6c\xd9\xf2\x02\x35\x51\x27\x35\xbd\xc0\x6e\xbc\xff\xa6\xb2\xeb\x53\x67\xed\xfc\xd9\x7e\x76\xf8\xec\x9d\x43\xbb\x1e\xa0\x6e\xed\x59\xed\x0f\x86\x85\x65\x33\x4d\xa5\x26\xdd\xa5\xaf\x83\xc5\xe1\x9c\x08\xa1\x07\x91\xea\xd9\x21\xa3\x77\x4d\xbd\x5a\xce\x54\xac\x19\x47\xb2\xc8\x60\xac\x4e\xc9\x96\x8b\x94\x54\x94\x9e\x64\x2e\x9b\x2a\x5f\x99\x4c\xb2\x5b\x95\x5c\x56\xe9\x51\x14\xed\x37\xac\x94\x3d\x85\xa9\x6a\xae\x47\x7b\x2d\xb1\x2e\xd1\x9b\x4c\xb2\xed\x86\xb1\xc2\x2d\x8a\xb2\x40\xb9\x58\xd1\x7e\xd3\x63\xf2\x23\x39\xa1\x54\xa9\xcf\xd4\x6d\x19\x4b\x2f\x8d\xe8\xa8\xcc\x8e\x32\x24\x42\xa1\x94\x2c\x5f\x99\xca\x66\x52\x3d\x8a\x42\xc9\x72\x31\x7b\xca\x29\x59\x56\xd2\x7e\xa3\x28\x3d\x4a\x36\xa7\xb0\x5b\x93\xac\x98\x4f\xea\x60\xf4\x28\x17\x2b\x94\xec\xc9\xa9\xb9\x1e\x52\x12\xeb\x12\x3d\x8a\x52\xbe\x52\x9f\xd0\x91\x1b\x56\xc5\x1e\xa1\x88\xa8\x61\xd7\x66\x36\x6c\x84\xeb\x31\x17\xfe\x4a\x33\x75\xc6\xa5\x27\xd9\xa3\xe4\xf2\x09\xed\x35\xa3\x28\xa3\x21\x3d\x8a\xc2\x6e\x8d\x17\xf2\x49\xbd\xba\xdc\x47\xc0\xa2\xc3\x6a\xf2\x16\xb9\xe1\x27\xc4\x1e\x41\xad\x9e\xf5\xae\x22\xb3\xd2\xac\x11\xde\xab\x82\x5b\xb1\xc7\x68\x65\x2e\x59\xbe\x52\x51\x16\xe8\x0e\x52\x7a\xb3\x6a\xb6\x97\x14\x1d\x7f\x3d\x49\x56\xca\x25\xcb\x1b\x75\x7c\x26\xf2\x39\xa5\x27\x99\xd4\x5e\x63\xa5\x6c\x6f\xaf\xde\x17\x4a\x32\xd9\x93\x1a\xe5\x39\x4b\xc6\x9d\x60\xa6\x2c\x97\xf3\xc4\x63\x4e\xc1\xef\x0b\xfa\x2a\x67\xcd\x3b\x58\x8a\xe5\xb2\x05\x6f\x34\xe3\xa9\xca\x6b\x9a\x2e\x41\x0d\xac\xfc\xd2\x17\x2f\x5b\xd9\x15\x17\x04\x8f\xcb\x6d\x97\xec\x2e\xee\xfa\xdc\x03\xec\x27\x03\x4a\x56\x66\xe0\xee\xc9\xea\xa9\x74\xd6\xc2\xde\x92\xff\xc4\x95\xfd\xab\x0b\xb3\xc5\xb8\xd5\xe5\xf3\x58\x43\x31\x89\x9a\x1e\xf9\xf1\x4d\x74\xa7\xce\x89\xc8\xda\x18\x1e\x20\xa8\xf3\x40\x3a\x24\xc1\xc0\x28\x77\x5e\x1d\x7e\x86\x9d\xda\x24\xaa\xf2\x5d\xfa\xf4\x62\x2a\xdd\xfe\x66\xd3\x1e\xdf\x21\x9b\xc6\xb4\x4a\x56\xde\x41\xbd\xb6\x90\xed\x72\x2e\xa8\xbb\xb5\xc7\x75\xb7\xcd\x46\xbd\x3b\x2a\x16\xb4\xf4\x4e\xc8\x48\x3f\x62\x94\xab\xa7\xb7\x5d\xce\xcd\x37\x6c\x71\xf5\x0c\xb6\xcb\x6d\x21\x23\x43\x56\xa9\xd8\xf0\x39\x86\x3f\x2f\xfc\x4d\xb8\xc2\x84\xef\x44\x70\x9c\x08\x6e\xc3\xee\xed\x38\x80\x9c\x00\x6e\x56\x3c\x2e\x20\xec\xce\xe3\x82\x8d\xaa\x1d\xa6\x60\x9e\x51\xac\x8c\xc7\x11\x62\x1d\x19\x21\x23\x04\xa4\x4b\x54\x6a\x67\xab\xd6\x67\x9c\xdf\xd4\xfa\x8c\xc3\x02\xfd\x86\x87\xfa\x5b\x3b\xb9\xc8\xf1\x42\x8d\xf4\x95\xba\x18\x04\x95\x33\x65\xa8\x71\x7a\x62\xbd\xdc\xa3\x86\x99\x2b\x5f\xaa\x94\x54\x3d\x24\x6a\xca\x9e\xba\xfc\x94\x33\xce\xc4\xb8\xc8\x49\xa9\xd1\x73\x6f\x82\x68\x1e\xdd\x39\x89\x3a\xa8\x9b\xba\x28\x28\x8c\xc0\x9b\xcc\x07\x74\x7a\x97\x04\xe1\xa7\x1d\x8d\xa1\x62\xe8\xc2\x0e\xed\x7d\x83\xd2\xb5\xf7\x3b\x2e\x0c\x15\x43\x8d\x1d\x64\xd3\xde\xaf\x44\x91\xcd\x1c\x04\xb6\x4a\x94\xf6\x3e\xfd\x29\x74\x61\xc7\x25\x1d\x8d\xa1\x2f\x6a\x2f\x18\x47\xa9\x33\x5f\x0c\x35\x76\x5c\xd2\x71\x61\xe8\x9e\x7b\xaa\x31\x94\x31\x4e\x67\xbf\x30\x12\x53\xbb\x1e\xe8\x32\xca\x49\x86\x15\xa7\xb7\x3a\xe3\x8f\x3f\x83\xcf\xc9\xd9\x94\x1e\x20\x89\x7e\xd9\x0c\x61\x93\xcc\x29\xbb\x3a\xe5\xb3\x6f\x7a\x1d\x25\x87\xcf\xe7\x28\x39\xbc\xcc\x6b\xb3\x39\x5f\x77\xda\x6c\x1e\x9f\xf3\x29\xa7\x2c\x8c\xe7\x43\x8e\xfe\xf5\x19\xa7\xec\x73\x3c\xe3\xf0\xc9\x74\x01\x5b\x6f\x17\x2d\x16\xd1\x5e\xbe\xd3\xe6\x72\x55\xf7\xb6\x44\x08\x45\x38\x10\x40\x0b\x16\xe8\x5c\x92\x27\x17\xf5\x7b\xfc\x15\xbe\x2f\x63\xec\x30\xfb\x02\x89\xac\xc1\x3c\x67\xd2\xe6\xb9\xb1\xda\x33\x61\xa6\x84\x65\xdc\x74\x62\xac\xce\x19\xf3\xea\x93\x74\x80\xeb\xd7\x4a\x89\x70\x29\x9c\xd0\x3a\x7f\x70\x5d\xa8\xad\xb5\xb3\x93\xbd\xda\xd9\xda\x16\xba\xf6\xfb\xad\xb4\xcf\xeb\xec\xeb\x6c\x3d\x5a\x6a\xed\x34\xb9\xa9\x27\xcf\xb9\xf1\xc6\x73\xd6\xce\x50\xd5\x19\x6b\x75\x17\x3d\xe9\xf4\x3e\xde\x49\x07\x4a\x25\xad\xbd\xb3\xa1\xb1\x91\x5b\x7d\x7f\x4b\xe7\xe2\xce\xce\xc5\x9d\x2d\xf7\xf7\xeb\x6c\x58\x95\xa6\xcc\x13\x87\x37\x7e\xe7\xc6\x85\x0f\x3f\xbc\xf0\xc6\xef\xdc\xe8\x35\xf5\x64\x92\x79\x8f\xc3\x22\x43\xaf\x1c\x8f\xf1\xa2\xa1\x9f\xcd\xa4\x0d\xa3\xb3\x44\x26\x4d\x3e\x49\x84\xa9\x03\xa4\x78\xcc\xc9\xe2\x31\x25\xd5\xc1\xe5\xb2\xe6\xb9\x4f\x45\x77\x14\xba\xf8\x42\x17\x9f\x49\x37\x33\x01\x4a\xe8\x51\xed\xf5\x3f\x6e\x91\x95\x50\xbd\xbf\x71\x85\xef\x66\x92\xbe\x1d\x62\x8a\xaf\x43\x7b\xfb\x37\xaf\x0c\xec\xba\xc5\xb5\x33\xe8\x9e\xd4\xd6\xd5\xd4\x36\xa1\x81\x59\x38\xae\x6b\x41\x57\x98\x59\xcf\xfa\xc2\x33\xeb\x0b\x8f\x7f\xeb\x9b\x77\xa5\x6c\x29\x5f\x2c\x55\x9f\xea\x8e\xb8\x39\x25\xab\x9c\xbf\xf7\x73\xfe\xfa\x90\x22\xd7\xaf\x90\xaf\x59\x43\xe2\xb9\x2b\x07\xb4\xef\xaf\x5f\x37\x49\x58\x50\xec\x2d\xc6\x27\xf2\x4e\xd1\x21\xc5\x17\xe6\xa7\xca\xfc\x6c\x5b\x26\x77\xc5\x2f\xbf\xb2\x29\xe1\x75\x71\xd6\x54\xd2\x96\xf2\x04\xad\xcb\xb7\x6e\xac\xea\x38\x20\xa8\x22\xe0\x42\x06\x10\xc6\xef\xb0\xf8\x8c\x49\x37\x15\x34\x14\x9c\x42\x2e\x9b\x0a\xa6\x9a\x79\x41\xad\xdd\x27\x1b\xc6\x94\xd3\xfa\xfa\x4e\x9b\x32\x8b\xa7\x65\xdb\x6f\x5e\x56\x30\x7d\x33\x39\xd3\xd7\x3f\x62\xbd\xce\xcb\x8b\xb6\x9e\x73\xe6\xbc\x79\x67\x67\xfa\x54\xa2\x09\x4b\x36\xde\xf0\xe8\xca\x6a\xc8\x8a\xcf\x54\x42\x2a\xbc\x84\x8e\x77\x5e\x85\x07\x51\x4c\x01\x48\x49\x05\xfc\x15\x7d\xb8\x28\x05\xf8\x48\xc2\xe8\x0b\x53\x51\x6e\x58\xf1\x42\xef\x85\x08\x52\x4a\xb6\x90\x47\x04\x41\x51\xdd\xfd\xe6\x0c\xd3\xf0\x6a\xc6\x9b\xbb\x3f\x4b\x77\xd0\x01\xba\xa3\xfc\x44\xd8\x77\xed\xb7\xc2\xad\xe1\x2d\x9f\xf4\x71\xeb\x7c\xdb\xb5\x54\xf9\xb0\x96\xda\xee\xf3\x6d\xa7\x5f\x33\x27\xfd\x7a\x3b\x2b\x1e\xbc\x72\xcd\xd5\x4f\x69\x1f\x92\xf4\xd4\xd5\x6b\xae\x3c\xf8\xc2\xdf\xfe\xc6\x4e\x6e\x0d\x7f\xeb\x5a\x5f\x38\xec\xfb\xe4\x16\xed\x97\xb3\xe3\x7f\xd2\xde\xa6\xc0\x9b\xf1\xd9\xf1\x37\x29\xa0\xfd\xe5\x4d\xe3\x5c\x6d\xbf\x04\x7e\x00\x56\x34\x60\x06\x66\xe1\x13\x40\xb2\xd0\x41\x06\xa8\xde\xf1\x70\x26\x75\x38\x2b\xda\xd5\x5c\xb6\xd0\x41\x26\xc4\xd1\xb4\x71\xaa\xb4\x99\x0b\x06\x64\x9f\x28\x51\x80\x37\xd4\xcf\x7c\xbc\x90\x4f\x14\x94\x54\xa1\x99\x82\xac\x6d\xd1\x59\x2b\x67\xbc\xb9\xfb\xab\xec\xe6\xd1\x56\xd0\xe7\xe8\x62\x6d\xf9\x45\x53\x6c\x5e\xfb\x16\x77\xfb\xed\x87\x96\xfa\x7c\x5f\xa4\x67\xc9\xf1\xa9\xb3\xf3\x36\xaf\x10\x4a\x34\x47\x39\x77\xf2\xbe\xcf\x50\xbd\x85\x4a\xbe\xd4\x9c\xbb\xb5\x2b\x7f\xb7\xe0\x00\x5d\x74\xf5\x15\x5f\xed\x3e\xf7\x1b\x27\xff\xe4\xf3\xdd\xa5\xb5\x7a\x3b\x35\x8d\x5d\x32\xda\xcc\xbf\x4a\xec\xe9\xb2\x7d\xff\xa7\xdc\x73\x6c\x5e\x7b\xcf\x29\xaf\xde\xdc\xd2\xdb\xf2\x36\xb9\x3d\xe7\xb9\xed\xb2\x57\x66\x36\x6d\xf2\xad\x6f\xa6\xe9\xfd\x93\xb6\xce\x89\x15\x4f\x7f\xf4\x99\xad\xde\x77\xf7\x7f\xeb\x8a\x0d\xc5\x6f\x9e\x6b\xf6\x9d\x7b\x58\x15\x07\x0d\x7a\x8a\xea\x14\x35\x5e\xfe\x3b\x76\x4e\xe2\x28\x20\x8d\x58\x79\x52\x17\xa5\x03\x7c\xcd\x5e\x2d\xf3\xda\x1c\x75\xaf\xd7\x39\x2a\xb3\x92\x83\x43\x3c\xe9\x99\x16\x3b\x82\xd8\x34\x4f\x32\xce\xc1\x33\x7d\xce\xf4\xfb\x9f\x71\xca\xb2\x53\x7f\xd1\x56\xfa\x99\x5d\xaa\xab\x93\x9c\x5a\xc1\xe6\x70\x70\xfb\x8e\xa8\xdd\xdd\x4d\xb1\x58\x53\x77\xb7\xa0\xb6\x24\x12\x95\x35\x69\x9d\xb0\x0e\x69\x80\x02\xa2\x8b\xe4\xaa\xb6\x3b\x65\x25\x43\xf3\xdd\x46\xca\x24\xa6\xa4\x94\x6e\x93\xa5\xb1\x92\xe9\x0e\x0a\x85\x2e\x12\xfa\xda\x8b\xbd\xf7\xf7\x0b\x1e\x55\xb2\xf3\x9c\x4b\xd4\xfe\x4b\x2b\xe7\x04\x47\x9f\xd5\xc9\x5c\xd6\xa7\x87\xea\x18\xd9\xfa\xac\x4e\x91\x7d\x9f\x38\x8d\x77\x72\xac\x4e\x75\xba\xd9\x17\xfb\x7b\x4b\x42\x5f\xb6\xd4\x7b\x7f\x79\x9e\xec\xec\x13\x89\x73\xd0\x90\x56\xfe\xbe\xc7\xd9\x67\x65\x75\x43\x4f\x4b\x6e\x87\xfd\x3c\x2b\xe5\x88\xa3\xa0\xc5\xed\xae\x53\x1d\xc2\x57\xfa\x7b\x8b\xfa\x4a\x36\x6c\xee\x51\x1c\x6b\x0b\x5d\xb5\x82\x3e\x0d\x57\x00\xc1\x8a\x25\x77\x72\xdc\x97\x6a\xfd\x23\xca\x9b\xca\x7c\x5c\x93\xae\x30\x2e\x2e\x39\xee\xd4\x48\x45\xdc\x8b\xd6\xdc\x25\x10\x50\x29\xa2\x0d\x50\x1f\x15\xb5\x92\xd6\x3f\xde\xcd\x06\x0c\xb7\xaa\xbf\x39\xe8\x21\xa6\x5b\xeb\x1f\x3d\x4a\xc3\x06\x46\xc3\xc9\x28\x2d\x32\x1a\x49\x6a\x6f\xf6\x88\x71\x82\x5d\x5d\x31\xb3\x38\x73\x05\x99\x1f\x35\xdb\x6b\xd6\x1b\x29\x1a\xd9\x8a\x45\x8a\x0c\x81\x22\x54\x32\xbf\x45\x2a\xb2\x08\x45\x0c\xab\xd7\x01\x87\x2c\x0f\x7d\xdd\x48\xa2\x67\x28\xd5\x04\x2f\x3c\x6a\x5c\x78\x22\x20\xdb\xdb\x37\x73\xc5\x8a\x99\x7d\xe6\xbb\xb7\x22\xc7\xf4\x4b\x10\x06\xe0\x45\x01\x97\x01\x24\x4a\x1d\x7c\x8d\x99\x42\x75\x0f\x7b\x06\xc5\x9c\xd4\x21\xa6\xf2\x85\x66\x3e\x13\x35\x8f\x12\x90\x77\x24\x32\x1a\x73\x32\x49\x94\x9c\xb5\x16\x0e\x86\x31\x5f\x97\x38\x92\x9a\xdd\x33\x7d\x61\xa0\x39\x93\xe9\x69\x1f\x30\x8e\xb7\x1e\x11\x44\xab\x56\xb2\x3a\x1d\x72\xe4\xe2\xce\x65\xd9\xde\xf4\xcc\xec\xd4\xc6\x69\x95\x24\x84\xd1\xe3\x7e\x7a\x92\x61\x4c\x5e\x34\x7d\x62\x7d\xa4\xa3\x69\xc2\xac\x19\x67\x9d\xb3\x79\xb6\x59\xc6\xb8\xc0\x6a\x2e\xbe\x65\xf9\x13\x27\x15\xe6\x4d\x68\x32\x54\x0c\x43\xce\xb0\x5e\x8a\xec\x28\x11\x71\x92\x33\x18\xeb\x98\x91\x3a\xe7\x71\x23\xbe\xe4\xf4\xda\xb4\xef\x71\x9b\xaa\x09\x9a\xa7\x77\x77\x74\xad\x9f\xb9\x6c\xf3\xe2\x4f\x66\xa2\x46\xe6\x31\x21\x66\xf2\xd1\xfd\x17\x01\xd0\x59\x53\x37\xe3\xe3\xb1\x94\x28\x88\x92\xa8\xa4\x72\x4a\x5e\xd1\x17\x41\xa1\xa0\xb0\x5c\xb6\x8b\x12\x99\x34\x2f\x61\x50\x5b\xf5\xde\x9c\x9e\x67\xb5\x23\x53\x4e\xf1\x34\xf2\x9c\x40\x36\x66\x67\xd2\x64\xff\x84\xfa\xe6\xba\x2f\x3f\x71\xdb\x20\xf5\x7e\xfb\x3d\xba\x97\xeb\xd0\x1e\xd2\x7e\xfd\x35\xcb\x37\x66\x39\x2d\x2c\xe0\x25\xde\xcd\xbb\x38\x27\xb3\xe4\x82\x9d\x1d\xf3\x5a\x3f\x45\xe2\xdd\x9f\x79\xe7\xd1\xd5\x5f\x1b\x2b\xf3\x67\x8c\x93\xbc\x7e\x9f\xc1\x15\x55\x57\xb2\x26\xf2\x35\x73\xe9\x2e\x6e\x64\x65\xfb\x58\x6d\xfe\x8f\xb4\xfb\xb5\x79\xda\xfd\x3f\x32\x4f\x6e\x4c\x9a\x7e\x46\xc7\xc4\x8e\x33\xa6\x4f\x32\xbd\x43\x50\x42\x9a\x79\xeb\x5a\xe5\x72\xa2\x51\x1f\x2b\xa9\x3f\xd1\x9e\x79\xe2\x09\x9a\xf9\x13\x53\xc5\x98\xed\x55\x02\x3c\x1f\xd0\x05\xa1\x90\xa2\xb0\x0b\x46\x93\xd6\x66\xab\xe8\x87\x97\xc1\x2f\x3e\xc2\x47\xe0\x03\x92\x52\xed\xcd\x22\xd5\x3d\xaa\x3b\x0d\xd5\xf0\x31\xda\xe0\x17\x1e\xae\x6a\x77\x1f\x96\x73\x32\x7b\x53\x96\xcb\x8d\x72\xae\xaa\x1f\x1e\x10\x1f\xe1\xde\xae\xea\x87\x8f\xd9\xbd\x13\xef\x34\xf4\xc3\xc7\x68\x83\xd9\xab\xe5\x46\x59\x2f\x2b\x27\x3f\x2c\xcb\xa6\x62\xfa\x61\xa3\x50\x93\x37\x52\x79\x15\x49\xf4\x54\xef\xb8\xea\xe0\xa6\xd3\x0c\x1a\x73\xf2\xd5\x3c\xf7\x1f\x35\x76\xfd\xab\x1b\x71\x39\x73\x27\xce\x94\x56\x8d\x8b\x3d\xb8\x30\x35\x91\x27\x93\x0e\x08\x90\x1d\x43\x45\x4b\x9d\xc4\xb3\x52\x48\x71\x51\x51\x9e\x2e\x53\xd1\xa5\x84\x4a\xac\xe8\xb6\xf6\x4b\x4c\x75\x69\x25\xdf\x54\x9f\x56\xd2\xc3\xca\x25\x3d\x4c\x76\x70\xa5\x6a\x8e\x88\x43\xe6\x6d\xa2\x47\xf4\x51\x3f\xf5\x2b\xa1\x7a\x0f\xa9\x81\x80\xa6\x7a\xea\x43\x8a\xa6\xd6\x95\x6c\x74\x57\xbd\x47\x53\x83\x41\x32\x82\x48\xb5\x97\xac\x75\xa3\x59\xb4\xbe\x1a\xfd\x91\x2a\x98\x67\xa8\xa7\x02\x89\x8a\xb5\x05\x5f\xf9\xca\x1e\x9f\x28\x09\x01\xbf\x4f\x1a\xb9\x9c\xcf\xe0\xf3\xb8\xb8\x79\x4b\x5f\xba\x99\x0f\x1a\x56\x17\xc6\xcd\x1d\xdc\xf3\xc6\xe7\xf9\x68\xfd\xd1\x83\x8e\x7a\x6e\xb7\x71\x61\x1f\x42\x8a\xdb\xdd\xc8\xfe\xf5\x79\x53\xd1\xed\x6e\x70\xda\x79\x89\xf8\x7f\x0d\x29\x59\xe3\xb6\x0f\xf3\x8f\x2b\x69\xa8\x4f\x72\x5b\xa6\xdb\xdc\x93\x15\x5d\xc2\xaa\x9b\xd0\x32\x45\xe0\x0a\x4a\x56\x71\x78\x5b\xfc\x8a\xa4\x60\xcc\x79\x37\xdf\xb1\xfb\x47\x4d\x86\xae\x43\xdd\xba\xfc\x68\x71\xf9\xd6\xad\xcb\xa9\xb8\x7c\x2b\xeb\x5f\xbe\x95\xeb\x2f\x1b\x7e\xae\xa4\xbf\x23\x5b\x47\xf6\xc4\xa5\xb3\x04\x15\x32\x26\x9a\xd2\xbe\xb9\x2e\x57\x8f\xbb\xa7\x03\xe4\x8f\xc6\x44\x89\xa4\xec\xd8\xf2\xa5\xb3\x5a\xb4\x7d\x6d\x5f\x9a\x79\xb4\x14\xcb\xb5\xd0\xe2\xb6\x2f\xcd\xe4\x8b\xb1\x9c\xb6\x77\xa8\xb4\xe2\xc5\x19\xda\x37\x04\xaa\x54\x1c\x59\xbe\x95\xcd\x6b\x89\x6b\x1b\x33\x73\x43\xcd\x2d\x71\xda\x9e\x99\x1b\xa2\xa9\xfd\xe7\xce\xd3\x36\x8a\xbc\x87\xaf\x01\x86\x50\x1c\x06\x2b\x89\x86\x6d\x0d\x0c\x22\x1a\xbf\x95\x3b\xba\x71\xcb\x4a\x4a\x68\xfc\x36\x6d\xcd\x36\x2b\xff\x5a\x56\x1f\xaf\x35\xbb\xb0\x3c\x46\x36\x5d\x4d\xfc\x51\x51\x02\x57\x32\xeb\xaa\xee\x1d\x8f\xdf\x29\x1e\xbb\x2f\x7c\xdc\x02\x47\x77\x7d\xc7\xed\xf2\x56\x76\x75\x2b\xf7\xb0\x58\xaa\xe7\x9b\x1c\xf0\xc0\xaf\xf7\x59\xd4\x63\x9e\xc2\x8a\x7a\x32\x9e\xaa\x8f\xa9\xc3\xd0\x1f\x01\x1f\x40\x15\x60\x7a\x98\xaa\x81\x81\x61\x08\x3c\x8e\xaa\xaa\x88\x23\x2a\xa7\x96\xc1\x81\xd4\xa3\xfa\x68\x1c\xd5\x59\x4c\x46\xd1\x58\xbd\xf2\x05\x51\x32\x99\xd0\x60\x07\xa5\xf4\x8f\x92\xf2\xfb\x02\x41\x9d\xe7\x69\x26\xe3\x13\xc8\xa4\xbb\xb8\x5c\x36\x95\x3f\x66\x52\x44\xe7\x29\xb3\x1b\x4e\x39\x75\xc6\xf2\xb3\x3e\x2d\xdc\xf0\x87\xd3\x9a\xce\x9e\x94\x5b\x35\xbf\x29\xe0\x08\xf9\xd7\xce\xde\x78\x47\xa8\x7e\xd7\x63\x1b\x7e\xb8\x7d\xf5\x14\xea\xa6\x89\x7b\x37\x0d\x19\x76\x4d\x5c\x69\xd3\x5e\xee\xbe\x06\x6b\xeb\x42\xc5\x31\xf3\xd3\x67\x35\xc9\xd2\xc6\xf3\xd2\x9d\x97\xcf\xa0\x06\xd6\x73\xa5\xd3\xc2\x77\x9f\x41\xcb\xb8\x15\x73\x37\x7d\x69\xef\x12\xaf\xf5\x24\x62\xa3\xb9\xf6\x8e\xd9\x0b\x4d\x00\x23\x9b\x7a\x9e\x4c\x21\xae\x4f\x15\x85\x9c\x62\xe8\xd9\xe3\xfe\x4c\xf5\xa6\x8d\x0c\x3f\xa0\xe7\xdf\xff\xe3\xe6\x37\x27\xcd\xde\xd2\x7d\xc5\xb6\x07\x9f\x7b\xae\x7c\x50\x0f\x32\x4c\x12\x8a\x9b\xf6\xb2\x33\xdf\xda\xd5\xd9\x49\x3f\xb7\xf6\xef\xfc\xda\x5b\xe5\xaf\x9b\x75\x99\x22\xc6\xe8\x9d\x38\x3a\x5f\x15\x47\x0a\x1d\xe8\xaa\x48\x7a\x35\x5c\x7b\xbe\x6a\x6d\x15\xcd\x45\xe1\x56\x22\xa2\x3b\x10\xd1\xdd\x5c\x74\x06\x45\xa5\xda\x23\xf4\xe6\xc5\x6b\xfd\x5e\xe7\xcc\x15\xde\xb0\xb7\xb3\xd5\x79\xd8\xb0\x39\x1a\xba\x5b\xc4\x11\xf0\x6a\xe5\x62\xbf\xa1\xdf\x93\xaa\xe9\x9d\x37\xf4\xc3\x62\xf9\x1a\x51\xed\xc9\x1d\x41\xae\xa7\x27\x27\x22\xd7\xc3\xbe\x19\xf6\xae\x98\xa9\xaf\xe5\xad\x9d\x16\xc3\x2c\x69\xe8\xfb\x2a\xb5\x50\xd7\xef\xf5\xcc\x3c\x53\xb5\xd2\x55\xb7\xa8\xea\x51\x23\x83\xa0\xbf\x8d\x3e\x9f\x27\xde\x69\xc8\xa9\x73\x2b\xf6\x4f\x7a\x37\x1b\xe2\xb6\xde\x04\xbd\x83\x8d\x9b\x35\x3b\x58\x4a\x0a\x56\x14\x68\xa6\x25\x5e\xd6\x9b\xa8\xdc\x06\x59\xa8\x1e\xa7\x6c\xe6\xb9\xe2\x86\xfe\x0d\xf2\x84\x89\x8b\x37\x54\xbe\xdc\x0f\x56\x7a\xac\xa9\x58\x1b\xd7\xf7\x7a\x78\xd1\xc4\xd6\x70\xf9\xbc\x7d\x4f\x3f\xf8\xc2\x33\x94\xee\x7f\xf0\x85\x1b\xe9\xfc\x3e\xae\x23\x16\x59\xe9\x71\xd8\xc4\xc5\x4b\x3e\x75\x32\xb7\xaf\x7f\xc3\x86\xc5\x13\x27\xc8\x1b\x2a\x5f\x0d\x9e\x95\x91\x58\x87\x9e\xb9\x75\xe2\xa2\x30\xfb\xca\x8d\x2f\x3c\xd8\x4f\xe9\x67\x5e\x78\xf0\xe9\x7d\xda\x97\xfb\xb8\xb6\x58\xca\xea\x59\x69\x13\x17\x9e\xb1\x6c\xa6\xa9\x46\xc0\xb0\x4b\x52\x85\x41\x48\xf0\xa0\x11\xd7\xe3\x69\x1c\xad\xb1\xeb\x32\xdb\x17\x48\xe7\x3d\x23\xae\x9a\x7b\x7e\xfc\x1f\x71\xd1\xcf\x3f\x7f\xcd\x4f\xcd\x25\x3f\x64\xd8\x04\x19\x96\x41\xba\x90\x2f\xc6\x52\x7a\x3d\x46\x76\x25\xa5\x98\xe6\x41\x46\x59\x2c\x93\x0e\x04\xf3\xe9\x60\xbe\x9b\xcc\x12\x02\xc1\x80\xe7\x7f\x93\x99\x53\x0d\x2a\xe2\xee\xee\x5d\xd3\xdb\x73\x71\x8f\xf9\xd6\x54\xa7\xf5\x4b\x75\xfe\x58\xa7\x24\x05\x37\xc9\x75\xb6\x2b\x92\xad\x75\x76\x29\xf8\x9d\x3a\x2f\x05\x63\x13\xae\x92\x1c\x75\xb6\x1d\x92\xad\xcb\x1d\xb4\xef\xb6\x39\x47\x92\x06\x36\xeb\x49\x63\x6d\xb5\x49\x2d\x76\x3d\xa9\x7d\xba\x2b\x58\xb7\xdb\xe6\x64\xea\x5d\x76\x6f\x86\xdf\xc2\x2c\xbd\x4e\x9f\xcf\xe7\xec\xb5\xb0\x2d\x7c\xc6\x6b\xbf\xeb\x2e\x87\x27\xc3\xf3\x5d\x9d\x95\x88\xcc\x04\x91\xdf\xcc\x67\x3c\x8e\xbb\xfe\xd9\xf4\x95\xab\x8c\x86\x0d\x26\x3c\xd7\xd3\xc3\xe7\x2a\x0e\x6d\xc7\x53\x36\x99\xea\xe3\x13\x26\xcf\xaa\xb3\xda\xa5\xe6\x4d\xd2\x32\xd9\xbe\x6e\x52\xbd\xcb\xf6\x45\x9b\xff\x53\x92\xe5\xb3\x8d\x56\x9b\x73\x51\xa0\x5d\xa9\x27\x4f\x5d\x6d\x52\x4b\xf3\x55\xd2\x32\xaf\x73\x5d\x47\x4d\x52\x4b\x9d\xbb\x37\x30\x39\x16\x64\x9e\xf2\xc0\x76\xb7\xab\xb1\xe1\xb2\x06\x9e\x9b\xbb\xc2\xcf\x98\x7f\xc5\x5c\x8e\x6f\xb8\xac\xa1\xd1\xe5\xde\xee\x76\x35\x05\xf5\x08\x96\x88\x9c\xe3\x67\x6c\xee\x04\x36\x47\x8f\x0b\x36\xb9\xb8\xc1\xff\x49\xae\x11\xbb\x11\x83\x17\x4e\x1a\x56\xaf\x6e\xd1\xe0\x86\x8d\xeb\x80\x94\x94\x92\xed\x12\x0a\x5d\xbc\xa1\x22\xc8\x27\x22\x3c\xf9\x44\xa9\x99\x0f\x36\x8b\x3a\xa5\xa5\x94\x94\x92\x12\xe3\x11\x7d\xc4\x26\x0a\x5d\x94\xcb\xa6\x9a\x49\x50\xf7\x6b\xdf\xfd\xf7\x4f\x2e\xbb\xe6\x9e\x44\x9a\xab\x93\x19\x11\xc7\x04\x4e\x24\x21\xe1\x6e\xf2\xdb\xae\xb9\x6d\x3f\x9d\x4a\xd7\xd1\xa9\x6c\xfa\x6d\xd7\xd8\xfc\x4d\xee\x84\x40\x22\x27\x30\x8e\x88\xf3\xd9\xd3\x89\x7b\xae\x59\xf6\x49\xed\xd0\x4f\xa6\x36\xdf\x4f\xad\x1b\xaf\xbd\x29\x78\xc3\xdd\xdc\xad\xda\x5f\x0e\xde\xec\x5e\xda\x6a\x95\xdc\x0e\x4e\x12\x45\x5e\xe2\x24\x12\x15\x7f\xb2\xb5\x7e\xde\x2f\x37\xdd\x7a\xf0\xe6\x9b\xcb\x37\x6f\xfe\xc5\xbc\xfa\xd6\xa4\x5f\x11\x49\xe2\x24\x5e\x14\x25\xce\xe9\x26\xc9\xda\xba\xd4\xbd\x95\x5f\xb6\x64\xf9\xe0\x4d\x0b\x7b\xe6\xbe\x32\xc2\x77\x1b\x67\xe7\xa6\x63\xfd\xe8\x6d\x33\x94\x55\xe2\xd1\x6c\x3e\x97\x55\xe2\x23\x92\x90\x27\xa3\x73\x46\xba\x88\x99\xcb\xa6\xba\x28\x9b\xd2\xa3\x53\x5d\x54\xf0\x19\x23\xc3\x78\xc4\x36\xa6\x23\x69\x74\x3e\xd5\x07\xa5\x2e\x39\x65\xd2\xcd\xfa\x08\xcc\xa4\x03\x64\x5e\x49\xc3\x3f\xb2\x28\xad\xf5\xf7\x15\xfb\x42\xf5\xc9\x09\x81\x02\xaf\x34\xb4\x27\x26\xa4\xdc\x91\x88\x23\xd9\x34\x29\x38\x59\x78\xf9\xc6\xab\x4b\x42\x73\xdc\x9b\xf3\xb9\x22\x6d\xea\x14\xab\xc2\x4d\xa7\x47\x3f\x9f\x38\xa7\xef\xbb\x9f\xde\x18\xd0\x06\xf4\xf9\x93\xbc\x89\xd5\x53\xa7\xd4\x07\x95\xb6\x54\x66\xc9\x4d\x73\x26\xef\x5b\xb3\xdb\xbc\xb3\x86\xa9\x99\x85\x53\x7f\x36\x6d\xe5\x8a\xd0\x55\x9f\x6d\x0b\xce\x16\xd2\x91\x5c\x3c\xe1\x2d\xab\xa2\xe4\xb2\x78\xd8\xfc\xaf\x86\x9a\xdd\xf3\x17\x44\xd2\xa7\x36\xcc\xf0\xd0\xf2\xc4\xa7\x16\x44\x13\x0b\x67\xf9\x03\xab\x17\xde\x7a\xff\x49\x6d\xad\x3d\x39\xa6\xe6\x7a\xea\x6f\xec\xc9\x35\x5c\xbd\x75\x62\xf2\x94\x5b\xae\x3c\xe7\xfc\xdd\x18\xb9\x83\xc9\xb0\x25\xed\xd2\x65\xcb\x9a\x19\x2d\x65\xf4\xb5\x81\x8f\xbc\xa9\x31\x91\x9c\x82\x89\x31\x21\x18\x08\x36\xb3\xa0\x3e\x91\x2b\xb9\x68\x3a\x5f\xd0\x57\xc4\xea\x34\x67\x98\x8d\xa6\x94\xd4\xe8\xf2\x53\xe8\x22\x7d\x0a\x93\xfc\x23\x28\x1d\xc1\x57\x5b\xc4\xe5\xcb\x79\xe3\xcd\xc2\xca\xb3\xd4\x1b\x5f\x16\x26\x07\x27\x35\x25\x1d\x91\x88\x3b\x35\x21\xd1\xde\xa0\xf0\x85\xc0\x84\x64\x7d\xa8\xaf\xd8\x47\x7d\xe9\x45\xea\xee\x35\xfb\x26\xc7\xe3\x37\x2d\xc9\xa4\x62\xad\x75\xf5\xf2\xe4\x69\xab\x13\xda\xbb\x06\xd2\x22\x81\x8d\xea\x33\x17\x6d\xd8\xfe\x75\x9a\xce\x29\xd6\x29\xbc\x79\xc8\x52\x43\x7c\x39\x79\x66\x34\x9c\x9a\x6e\x51\x92\xf3\xdd\xcd\xa1\x4f\x9c\x31\x9f\x79\x2c\x2e\x49\x2c\xab\xde\x44\x3c\x17\x49\x0b\xb3\x83\x6d\x9f\xbd\x2a\xb4\x62\xe5\xb4\x9f\x4d\x5d\x98\xbe\x70\xf7\xf9\xe7\x5c\x35\xfb\xd4\x53\x92\xd1\x95\x67\x7e\xd2\x9f\x5e\x78\x63\xbd\x89\xb7\xd6\xf6\xf6\xfb\x6e\x16\x16\xae\x0e\xf8\x67\x2d\x4c\x44\xe7\x57\x78\x82\xaf\x73\x45\x43\x26\x07\x79\x8e\xb9\xdd\x97\x2b\x8e\xbf\xbd\x57\x18\x38\xf2\xa3\x63\xaf\xe7\xad\x1d\x9b\x2a\xc2\x38\x19\xa0\x6c\x07\x67\x48\xea\x3a\x22\x63\x4e\xce\xef\xd3\x65\xa2\x42\x85\xcf\x1c\x77\x67\xb2\xa8\xb6\xcd\xea\x5b\xbe\x66\xf3\xea\x79\xf5\xde\x2e\x6f\xfd\xbc\xd5\x9b\xd7\x2c\xef\x9b\xd5\xf6\x5d\x76\x2a\x9b\xbd\x5f\x7d\xb3\x7c\x87\xf7\x04\xf7\x29\x73\x8f\x9e\x7e\xcd\xfc\x0e\x77\x66\xe1\xac\x70\x20\x10\x9e\xb5\x30\xe3\xee\x98\x7f\xcd\xe9\x7b\xbe\x5b\x7e\x89\x4d\xda\xbf\xe7\xb7\x6f\x96\xf7\x78\x8f\x77\xdd\xf2\xa8\x9d\x6a\x44\x00\x5a\x75\x7e\x2e\xe9\x0b\x38\x59\x2d\xaf\xe1\xaf\x04\x54\xec\x34\xa7\xb2\x66\x6e\x64\xc7\x6c\x24\x99\xb9\x43\xc6\x54\x46\x82\xcb\xa1\x19\x56\x9a\x54\x74\xc8\x15\xef\xcc\x15\x2b\x66\x52\x84\x7c\xa2\x47\xb4\xf1\x5c\xbf\x5c\x1e\x90\xb3\x8a\xb1\xf7\x13\xa2\x92\x92\x95\x59\xa4\x8f\x8f\xf8\x43\x0e\xd3\x30\x5d\x76\x18\x9e\x15\x33\xcb\xc5\x99\x2b\x18\x2f\xd5\xb1\x74\x56\xcf\xa2\x84\x28\x52\xb9\xe3\x20\x12\x52\xe4\xf2\x40\xf5\x1c\xb0\xc9\xeb\xba\x90\x44\x0e\x28\x64\x3c\xf1\x42\x07\x19\xab\xb6\xb9\x2b\xe0\xd1\x79\x2d\x29\x93\x8b\x07\xb8\x8c\xc7\x5c\x88\xfd\xe3\xd9\xd0\x77\xfe\xfc\xe7\xf7\x69\xce\xc6\xf9\x73\x4f\xa6\x69\xf3\xd8\xfc\x3f\xef\xdc\xbc\x6d\x3e\xfb\x33\xc7\xfd\x59\x72\x4d\x6f\xdf\x48\x07\x6a\x59\xcf\x2d\xec\xdb\xaf\x64\x67\xcf\xce\x66\x4e\x3d\x75\xe8\xab\x74\xdb\x3d\xf7\x5d\xb9\x7a\x66\x79\x3b\x6d\x55\xbc\xf1\x29\x5f\x66\x57\xd4\x72\x9b\x86\xee\xdb\xb8\x33\xa5\x0e\x1d\x3a\x65\x19\xec\x84\xc7\xe0\x27\x74\x00\x38\x27\xb5\x51\x2c\xc5\x19\x12\x50\x3e\xe3\xa9\x08\x77\xba\xc4\xe7\x49\x07\x68\xc0\x1b\xf6\x7a\xc3\x5e\xd6\xaf\x84\xb4\x33\x33\xcc\x63\xa7\x46\xa1\x57\x5b\x17\x52\xbe\x7c\xfe\xc8\xd5\x8b\xd9\xf3\xbf\xcc\xfa\xc9\x30\xed\x30\xee\x25\xd3\x1e\x0b\x29\x5a\x93\xdd\xd3\x48\x6f\x2a\xa1\x4f\xff\x88\xc1\x94\xf3\x34\xfc\x68\x44\xfe\x32\xfe\xcf\xe0\xf1\xee\xff\x6d\x32\xef\xf7\xad\x35\xf4\x1f\xb9\x85\xf1\x78\xfb\x7e\xa3\x26\xb9\xcc\x00\xa0\x5c\x1c\xb1\x3f\x36\xae\x47\x53\x95\xac\xbc\xaf\xbc\xd1\xdc\xfe\x63\xdb\xf7\xc9\xa6\xa9\x22\xeb\xd3\x4a\x55\x43\x5c\x23\x61\xd5\x08\xd7\xb8\x90\x91\x3b\x43\x43\x48\x31\xf2\x19\xbb\x80\x7a\xbe\xac\xa2\xd4\xdc\x31\x15\x34\xfe\x97\xf0\xf1\x69\xd0\x3a\xd2\xa6\xac\xd2\xc5\xaa\xa7\x15\xe2\xd1\x89\x4c\x67\x3e\xcd\xa0\x00\x7f\x3c\x12\xa4\x2b\xf6\x6e\xd2\x4a\x15\x9a\x25\xa3\x25\xda\x40\x85\x66\x2b\x61\x9b\xf6\xea\xe2\xd7\xf1\x48\x91\x32\xe5\x62\x0d\xe5\xb2\x92\x49\xb9\x16\x93\xac\x47\xe4\x7d\x15\x22\x1c\x98\x0f\x90\x92\x8b\xfa\x7d\x81\x64\x2e\xea\x93\xba\xa8\xe0\xf7\x99\x2b\x18\x19\x1b\x3f\xd5\x7e\x30\xf7\x48\x8c\x59\x39\xa5\xa4\x3a\x2a\x8a\xa5\x5c\x8d\x54\x4c\x3f\x5d\x30\x8c\xa7\xf9\x1f\x0c\x63\xc1\xe7\x9f\x56\xcf\xfc\xfc\x0b\x97\x4d\xcc\x29\x4d\x33\x66\xf5\x5c\xe9\x75\x0e\x95\x9c\xde\x2b\x7b\x66\xcd\x68\x52\x72\x13\x2f\x7b\xe1\xf3\x67\x76\xb6\x52\x64\xc5\x4c\x56\x9c\xb9\x82\x22\xad\x9d\xec\xf3\x0f\xfc\xa2\x6f\xd1\x9e\xf7\xfb\x7e\xf1\x40\xd3\x9e\x17\xd5\xb9\x3b\x36\x9e\x26\xe4\x27\xc4\x16\x66\xf2\x0b\xce\x3e\xd5\xbc\x61\xe6\xd4\xb3\x17\xe4\x33\x0b\x63\x13\xf2\xc2\x69\x1b\x77\xcc\x55\x5b\x3b\x4d\x1d\x66\xa7\xf9\x0f\xf5\x46\xce\x2c\xe8\x92\x4d\x0b\x52\x68\x47\x1a\x37\xe0\x0e\x80\xf2\x29\x45\x12\x83\x01\xf3\x5d\xc8\xa7\x2a\xfe\x60\x5e\x49\x29\xc6\xd7\xf0\x37\x53\x36\x1e\xf3\x15\xf4\x90\x3c\x65\x11\x81\xdf\xe7\x0d\x06\x74\x59\xc2\xc9\x3a\xc8\x68\xb0\xb1\x22\x07\x9b\xc9\xb8\x80\x4a\xef\xbf\x82\x52\xc8\x07\x5a\x74\x89\xbc\x8b\x05\x03\xfa\xda\xe3\xe4\x24\xf3\xa8\x76\xa0\x90\xf7\x8e\xa7\x67\x26\xf1\x92\x55\xe0\x25\x6b\x50\x90\x44\x51\x12\xc4\x49\x4c\x92\x88\x93\x2c\x01\x46\x9c\x68\x11\xc4\xb3\x59\x9d\x95\x67\x75\xd6\x0e\xbb\x6d\x06\x0b\x30\xe6\x63\x9f\x31\xcf\x3a\xfc\xf0\x1e\xaf\x87\x44\x39\xdb\xde\x66\x09\xc6\x98\x50\xc7\xd5\x39\x45\xef\x44\xbb\xbb\xad\x3d\xe2\x94\x42\x53\x16\xcc\x4b\xe5\xea\x9b\xe4\xb9\x0d\xa1\xa9\xdb\xa7\xd6\xc5\x7b\xe5\xa6\xfa\x5c\xb8\xad\x38\x43\x89\x93\xc7\x7b\xcf\x0f\x09\xb5\xf3\x05\x2d\x16\x25\x49\x10\x25\xa9\x43\xe2\x78\x8b\x85\xe3\xa7\xf0\x3c\xe3\x05\x8e\xc9\x24\x31\xc9\x22\x89\x73\x25\x9e\x93\x24\x9e\xe3\xdd\x6e\x97\xc4\x4b\x16\x9e\x4e\x35\x8e\x86\x1c\xf8\xaa\xf6\xf7\x2c\xe7\xb6\x67\xdb\x88\x23\x6b\x4b\x68\x9a\x8b\x84\x3a\x8b\xc4\x37\x06\xc2\x61\x49\x9c\x14\x10\x1b\x72\xe7\xcf\x39\x6d\x6a\xd7\x02\xb1\xd1\xed\xf6\x78\xa4\x40\xb3\xb8\xa0\x6b\xea\x69\x27\x9f\x95\x4b\xb8\xf9\x96\x62\xeb\x4a\x66\x77\x73\x59\xaa\x63\x9f\xab\x9d\x93\xaa\x77\x27\x94\x8c\xbe\x33\xe6\x81\x8f\xbe\xbf\xcf\xb8\x68\x33\x5f\xd0\xc9\xcd\xdc\x5f\x37\xa3\xa2\xb1\x94\x52\x51\xc1\x9d\xe8\x06\xbf\xaf\xf9\xcf\x9f\x41\x98\x71\xbe\x9f\xbe\x66\x5c\xe2\x37\x71\x18\xa6\x9d\xea\x30\x26\x7a\x3c\x2d\x54\xf2\xe6\xbd\x54\x6a\x51\x4e\x70\x89\x5f\xe7\xbc\x79\x9d\x9d\xac\xaf\xb5\x3a\x4c\x5b\x53\xcd\x54\x92\xe5\xff\x8f\xb7\x37\x81\x6f\xa3\x3a\xf7\x86\xcf\x73\xce\x2c\xda\x66\x24\xcd\x68\xb3\x2c\xcb\x92\x65\x49\x5e\xe5\x44\xab\x1d\x6f\x8a\xb3\x91\xd8\x49\x9c\x95\x40\x42\x62\xb2\x11\xcc\x96\x00\x21\x2c\x59\xa6\x90\x02\x21\x14\x02\x29\x21\xa5\xa5\x31\x94\x16\x28\xe5\x96\xd2\xdb\x85\x36\xb4\xba\x2d\xa5\x7d\x4b\xa1\x84\x0b\xb7\x1b\xed\x35\x5d\xb8\xb4\x85\x96\xb7\xbd\xb4\x25\xb6\xc6\xdf\x6f\xce\x68\xb3\xe2\x10\x7a\xbf\xf7\x7d\x13\x6b\xe6\xcc\x99\x73\x66\xce\x36\xe7\x3c\xe7\x59\xfe\x8f\x9a\xf5\x97\xd6\x59\x76\x8a\x55\xd0\x6c\xb4\x45\x5b\x67\xa9\x69\xb2\x46\x0f\x52\x31\x30\x35\xcb\x17\x41\xfb\xaa\xb0\x93\xaa\x74\x38\x8a\x86\xe1\x1a\x01\x23\x65\x1c\x58\x07\xfa\xd1\xd3\xd2\x8c\x3a\x8f\x4d\xd7\x18\xd4\xd3\xd2\xa1\xe5\xc7\x6e\x3f\xb0\x07\x44\xb3\xc5\x64\x30\x99\x18\xa3\xbc\xcc\xd1\xf3\x56\x77\xeb\x25\xf3\x3a\x0f\xcd\x1d\x39\x30\xbb\xc6\xe5\x71\x79\x2e\xae\xe9\x7a\xa3\xeb\x2b\x97\x7c\xe4\xb5\x3d\xca\x9d\x93\x9f\xdc\xfb\xc3\xae\x5f\x77\x7a\x2e\xae\x59\xbc\xcd\x55\xd3\xb8\x58\x59\xbb\xec\x81\xef\xdc\xd8\xf3\x5f\x73\xe4\x21\xc7\x8a\x25\x26\x86\x58\xb0\x4d\xc2\xcf\xb7\x1d\xae\xf5\xfb\xda\xbd\xee\xf5\xae\xb0\x04\xc6\x59\x6e\x8f\x2b\x3d\x7b\xf1\xef\xff\xfc\x91\xa6\xb1\x66\xf7\xf9\x6d\x75\xae\xfa\xc6\xf6\x9f\x80\xe3\xf0\x67\xd5\x6f\x4e\x64\xda\xea\xea\xae\x5a\xec\x59\xe7\x6e\x7a\xa8\xf9\xaa\xd7\x5e\xfa\xea\xdc\xee\xde\x65\xb3\x4c\xdb\x56\xbb\x2f\x74\x0b\x1e\x63\x80\x69\x7a\xb0\x52\x17\x62\x39\x42\x1a\xc9\xaf\x83\x64\x51\xe2\x0d\x69\x9f\x13\x53\x00\x2f\xa2\xd8\xb2\x5a\x9d\xb0\x36\xed\x14\xaa\xe7\xf6\x13\x1d\x3a\x4b\x0b\x62\xb7\xcb\xed\x62\x15\x87\xd9\xb9\x6d\xe3\x86\xda\x64\x7f\xfd\xb0\x71\xf3\xd2\x03\xea\x9f\x96\xcf\x0a\x11\xbf\x59\xe2\x13\x9d\xf1\x9a\xf3\x6b\x45\x5e\x0a\x99\x23\x01\x2b\xa9\x13\xbb\xe6\x75\x99\x78\x27\x0c\x3d\x77\x08\x37\x88\xb5\x46\xa9\x33\xde\xe3\x10\xeb\x5a\x98\x9a\xae\x85\xf2\x42\x8e\x40\x53\xed\xf9\x35\xf1\xce\x04\x2f\x99\xfd\x24\x34\x6b\x39\x48\x07\x96\x6e\x36\x0e\xd7\xf7\x27\x6b\x37\x6c\xdc\xe6\x34\x3b\x08\xb7\x50\x5e\xd8\x55\xc3\xb4\xd4\x89\x8e\x9e\x78\xa7\x64\xac\x15\x1b\xf0\xa1\xe7\x86\xc0\xc9\x9b\xba\xe6\x75\x89\x75\xc4\x1a\x88\x98\x43\x12\x5f\x5c\xc3\x4a\x18\xb2\xe8\x5c\x86\x69\xcc\x48\xd9\x3e\x64\xe3\xaf\xca\x26\x24\x7b\x1e\x67\x51\x71\xdd\xd1\xee\x8d\x95\x6f\xe8\xeb\xb6\x8e\x61\xc2\xe9\x78\x86\x76\xc8\xb8\x41\xfe\x40\x30\x13\x65\x12\xc1\xa3\x17\x5c\x00\x8f\x5a\xce\x8a\x6a\x82\x26\x22\x70\x6c\xcd\x1a\x75\x94\xbd\xf0\x83\xf1\x4d\xca\x3c\xb6\x45\xe8\x7c\x4a\x43\x32\xd1\x18\xd6\x85\xff\x31\x1c\x8d\x41\x49\x01\x40\x0b\xb2\xa1\x06\x1d\x0b\x9a\x71\xbb\x90\xdb\xcf\x52\xc0\xbe\x33\x19\x6d\x4c\x60\x76\xac\x9d\x63\x7d\x2e\x93\xb5\xb5\xb1\x59\xe0\x65\x8b\x8b\x6c\xb9\xab\x13\x0b\x1c\xdf\x3c\xbb\xd9\xe4\x20\xc4\xe3\xad\x75\x9b\xcc\xb3\x52\xb1\xf9\x2c\x2b\xf0\x12\xee\x81\xae\x47\xb8\x59\x52\x73\x4d\xa3\xad\xeb\xa8\xd3\x55\x35\xad\x9d\x6f\x36\xb9\x6b\xbd\x1e\x42\x1c\xa6\xe6\xd9\xcd\x3c\x27\xe0\xcc\xdd\x5b\x88\xcb\x22\xf3\x42\x73\x63\xab\xd5\xe4\xf2\xb1\x5c\x7b\x6c\x76\x80\x71\x39\x8f\x76\xd9\x1a\x6b\x9a\xa5\x59\xdc\x23\xea\xf7\x7b\xb0\xc4\x0b\x2c\x3b\x3f\x96\x22\x5d\x95\xf3\x12\xa0\x36\x84\xb8\xd5\x2c\xa2\xf2\x78\xca\xc9\xc0\x22\x30\xfa\x4e\x35\x13\x83\xc2\xa9\x17\x5c\x6e\x2a\xfb\x76\x31\xee\x02\xbe\x56\x3a\xc3\xf1\x69\x6e\xf5\xbc\x4d\x30\xf4\xc9\xff\x50\x5f\xf9\x82\xfa\xbf\xdf\x08\xb5\xbe\xf1\xd4\xa5\x9f\xab\x0f\xfa\x5a\x5b\x76\x1e\x9d\xbf\x6c\x60\x59\xdb\x0d\xb0\xfe\x79\xc3\xb3\xb7\xde\x39\x72\xc5\x48\xf8\xd2\x8b\x98\x1d\x9b\x17\x88\xbe\x9b\xd5\xfc\x9f\xbe\x76\xc5\x3d\xcc\x1d\x78\xdf\xc5\xac\xd9\xfd\xa5\xdd\x4c\x84\xb4\xdd\xb5\x6a\xdd\xe0\x7d\x5f\x36\x45\x1a\x6f\x7d\x76\xbb\xb3\xeb\x9a\x7e\x13\xdd\x1f\x6c\x9a\x52\xc8\xb7\x39\xa4\xf3\xbf\x29\x87\x30\x48\x42\xf6\xa0\x3d\x64\xd7\x65\x6d\xe4\xdb\x0f\xae\xed\x81\x70\x54\x55\x5f\x9a\x42\x53\x2f\x3f\x79\x94\xfd\x6f\xf5\x1f\xe7\x9d\xf7\xac\xfa\xd3\xbc\x11\xff\x1d\x9a\x7e\xfe\x8d\x17\x75\x5b\xe7\xa9\x47\x69\xbf\xae\x46\x1b\xd0\x56\x74\x19\xba\x06\xdd\x88\x6e\x46\xb7\xeb\x5a\x36\x4e\x07\xe2\x39\x7d\x2a\x8a\xf6\x31\xda\x6e\x2d\x1a\xe1\xac\x10\x69\xe0\x63\x98\xe7\xdc\xda\x54\x44\xdc\x1a\x99\xd0\x10\x89\xc6\xa0\x03\x1a\x38\x3f\xd4\x03\xfd\x91\x7e\xa0\x93\x5c\x34\x82\x52\x49\x49\x2e\x2d\xb9\x95\xe7\x69\x97\xda\xd2\x9c\xe4\x1b\x9c\x8e\x4c\x3c\xa3\xdd\x2b\x2a\xee\xa8\xbf\x78\xab\xd6\x0b\xc9\xae\xf5\x17\xcf\x6d\x5e\x1e\x6e\xf7\x8d\x46\x23\x17\x3d\x7f\x91\x2d\x75\xb5\xaf\x3d\xbc\xbc\x39\x7b\xf1\xfa\xae\xa8\xc9\x39\x6b\x60\xae\x5b\xee\x76\x38\x9c\x36\xce\xc2\xf3\xae\x56\x93\x49\xe8\x3b\x6f\x9e\xcb\x0d\xde\xda\xb7\xd4\x5f\xbc\xb4\x86\x98\x4c\x84\x98\x8c\x21\xde\x68\xe2\x78\xa3\xa9\xd1\x68\x34\x18\x8d\x52\xdc\x60\xb1\x18\x8c\x82\x65\x2e\xb1\x59\x0d\x76\xeb\x3c\xbb\xcd\x6e\x9b\x83\x6d\x36\x26\x40\x35\x81\x4e\x4d\xa8\x57\x2d\x65\x3d\x12\x39\xda\x7b\x71\x3b\xe7\x49\x2f\xbf\x65\xcd\x9e\xf3\xd7\xef\x32\x36\x79\x3c\x5e\xaf\x39\xd0\x6e\xdc\xb5\xfe\xfc\x3d\x6b\x6e\x1e\x4e\x7b\xb8\xc6\x79\x26\x53\x6b\x73\xa0\x89\x21\x46\x51\x64\x59\x53\xa7\xdb\x1d\xe9\x10\x80\x61\x22\xdb\x18\xc9\xc3\x2e\x85\x7b\x26\x4e\xc1\xc5\x93\x07\x78\x96\xb0\x3c\xcb\x79\x59\xb3\x91\x63\xcd\xa6\x08\x6f\x11\x78\xd6\xdb\x68\x30\x5b\x8c\x06\xb3\xc5\x66\x66\x19\x17\xc3\xf1\x02\x36\x0b\xd8\x69\xc6\xc4\x63\x98\x26\xeb\x08\x4f\x43\xa6\x8e\x68\x9d\x9e\x98\x8e\xd7\xa3\x51\x63\x28\x80\x38\x25\xe2\xcd\x7a\x23\xc7\x5e\x3d\x36\x52\x76\x32\x80\xc7\x74\xcc\x1d\x92\x2b\xda\x1a\x8c\x1e\x3b\x36\x9a\xeb\x6c\xaa\x40\x3d\x7c\x06\x78\xf5\xfd\x12\x76\xba\x3e\xa7\xd5\x14\x70\xc8\x50\x15\x36\x50\xc2\x49\x47\x5d\x2a\x19\x09\xd9\xa9\x3d\x84\x36\xe9\x65\x52\x41\x67\x22\x15\x74\x72\xe3\xda\x3c\xa6\x1b\xd9\x0a\x32\xa7\xc8\x82\x20\xbf\xaf\xc8\xc2\x08\x20\x05\x14\x56\xd9\x38\x50\x36\xab\x55\x64\x61\x7c\x5c\x90\x27\x90\x2c\xe0\x91\xfc\x98\x20\x2b\xda\x3f\x5d\x27\x86\x2d\xfa\x4b\xea\xad\xb0\x00\x76\xe9\x4c\x4e\x6d\x19\xa1\x5c\xcd\x4c\xba\x1b\x5c\x8c\xdb\x25\xb1\xa5\x3b\x18\x35\x96\xef\x59\x28\x0e\xbd\x6e\x10\x8c\x77\x62\x59\xaa\xbb\xad\xa6\x11\xbb\xd4\x6f\xfe\xae\x26\xe8\xb4\x7b\xd9\x31\x68\xdc\x75\xf5\x6d\x58\xc0\x0e\xc9\x77\xb7\x37\x0c\x96\xa7\xd5\xdf\xa8\xfb\x7e\x52\x13\x72\x48\x5e\x02\x1c\xfc\xe7\x37\xbe\xf9\x1f\xa0\x5b\x09\xab\xdf\xf3\x39\x9c\xc1\x9a\xdf\xc1\x02\x17\x6e\xac\xb9\xad\x4e\xb2\x0b\xb7\x5d\xbd\x4b\x7d\xfd\xe1\x5a\x87\x23\x54\xf3\x13\xb8\x05\xea\x9e\x16\x20\x5c\x73\xb7\x4f\x92\x84\xff\xf8\xe6\x37\xd4\x60\xc1\xce\x14\x15\x64\x6b\xf5\xa8\x59\xa3\x70\x50\x95\x7c\xcd\x5d\xed\x5b\x26\x58\x84\x5f\x86\x19\xd1\x6a\x19\x5b\xc7\x40\x47\xc7\x00\x74\xd0\xd3\x89\x4a\x83\xe5\x89\x38\xf3\xa9\x07\x19\x8f\x38\xf9\x17\xd1\xc3\x30\x5f\xd2\x5b\xda\xf6\x3d\xfb\x86\x0c\x11\x33\x1b\xec\xdf\xb3\xc1\xc5\x03\x7a\x36\xed\xef\x5d\x28\x23\x66\xc1\x3b\xf0\x6b\xc1\x6e\x17\xf2\xfb\x0b\x5b\xe4\x6c\x4d\x1c\x6f\x4c\x0d\x0c\xa4\xf2\x0f\xc7\xe9\x1a\x70\x0b\xe5\x23\xc4\x50\x92\x8e\x06\x6d\x57\xe8\xe0\x42\x28\x2c\x82\xcb\x2d\x82\x1f\xbb\x45\xd0\xd6\xf5\x74\xa6\x84\x76\x1e\xd0\x06\x0d\xb1\x23\xd6\xce\x70\x4a\x6a\x70\x30\x35\x94\x54\x37\xa9\xbb\xe7\x0c\x30\x11\x07\x27\xcd\xee\x88\xd4\x7d\xf6\x0b\x31\xbe\x5d\xae\x25\x26\xfb\x8d\xf4\x9d\xe3\xf0\x65\x78\x31\x39\xa4\xa8\xd7\xa9\x77\xc0\x0d\x44\xa1\x7c\xdf\xe4\x10\xac\x0f\xca\x1b\x2f\x8b\x06\xe7\x26\xba\x9b\xfd\x73\xe2\xb5\x2d\xee\x8f\xf4\x5c\xb7\x7a\x57\x7a\xe3\x40\x6e\x60\x23\x28\x43\xc9\xc9\x46\xf2\x0d\xf5\x95\x66\xf5\x2f\x2d\x94\xef\x94\x9d\x42\x5c\x8e\x43\xc8\x8c\x6a\xd0\x5c\x84\x98\x24\xa5\xa9\x1a\xb4\xfd\x0c\x04\x91\x3d\x19\xc3\x0d\x22\x76\xda\xe8\xc6\x86\x3a\x28\xd0\x9a\x58\x9b\xe3\xa4\x8c\x8e\xea\xe9\x74\xf0\x2e\x49\x9b\xe0\xc8\x11\x5b\xf7\x9a\xc0\x25\x8b\xf3\xd7\xb1\x0e\xf5\x6f\xb3\x2e\xfc\xc4\x37\x3e\x71\xe1\x2c\x26\x37\x94\x54\xb3\xc7\x5e\x3d\xa6\x66\x93\x43\xf1\x95\xeb\x7a\xa3\x7f\xf8\x96\xa1\x73\xb8\xd3\xf0\xad\x3f\x44\x7b\xd7\xad\x7c\x2a\xb0\xa6\xdb\x66\x5b\x7c\x09\xcc\x82\x36\xec\x48\x5c\xbe\xb9\xbf\x7f\xf3\xe5\x89\xfc\xdb\xea\xab\xc9\x21\xed\xab\x1b\x4a\xb6\x6c\x38\xfa\xf9\xbf\x1c\x3e\x0e\xac\x4f\x76\x68\x9f\x9f\x43\xf6\xa9\x13\xc7\x0f\xff\xe5\xf3\x47\x37\xd0\x6f\x1e\x4f\x29\xac\xca\xee\xa3\x7b\x33\xb7\x8b\xe7\xac\xf4\xd8\x01\x3a\x15\xa5\x9d\xa3\x11\xfd\xd8\x4f\x59\xa8\xda\x31\x93\xd6\x8f\xf5\x14\xf5\x51\x3b\xba\x5d\xfa\x51\xcb\xed\x76\xf1\xec\xc8\x1d\x7e\x93\xa5\xe9\x64\xca\x52\x5f\xd7\xfc\x8d\x59\xa6\x66\x0b\x5f\xef\xb8\xed\x36\x5f\x4b\xb3\x69\xd6\x37\x9a\xeb\xea\x2d\xa9\x93\x4d\x16\x93\xff\x8e\xaa\x54\xcd\x75\xb7\xdd\x56\xd7\x3c\x3d\x0d\x56\xaa\xb2\x61\x97\x96\xcd\xdc\x5c\xce\xd6\xe2\x9b\xfe\xe8\x66\x93\xa5\xfe\xf0\x61\xbf\xd9\x34\x2d\x4d\xc9\x27\x99\xf6\x9d\xa7\xd0\x8e\x6a\x7e\x2a\xd5\x2a\x0c\x35\xf0\x1c\x5f\x90\x6e\xd8\x35\x9a\x30\x31\x8d\x9f\x5a\x64\x11\x72\x05\x86\x6a\xc1\x92\xb7\x48\x6b\xf4\xb1\x1a\x9d\xc9\xe8\x52\x9f\x60\x89\x9b\xca\x7e\x6e\x59\x3c\x9f\xf3\x37\xfa\x2f\x58\xe4\x19\xf0\x08\x4d\xe7\x2d\xf2\x2f\x58\x14\x08\x9c\xf7\xad\xef\xad\x78\xb6\xc0\x45\x85\xc1\xe4\x90\x72\xff\xa5\x8f\x33\x41\xca\x49\xfd\xe8\xb3\x8f\x74\x17\xd8\xa8\x01\x93\xdb\xe3\xac\x15\x3d\x78\x6e\x48\x68\x6a\xe8\xe8\x8f\xec\xfb\x8c\x0b\xae\xab\x64\xa6\x3a\xba\x52\xab\x5a\xe7\xf5\x1e\x6e\x73\x66\x57\xac\xa8\xe9\xca\x2b\xd9\x6c\x25\x13\x75\x28\x75\xe9\xf1\xbe\x2e\x9d\x83\xba\xa0\x5b\x67\x04\x1a\x65\xbb\xcf\xea\x23\x4b\x32\xce\x95\x7d\xd9\xd0\xad\x37\xce\xef\x39\x8e\x2a\xda\x27\x85\x7a\xd1\x2e\x84\xc2\x09\xbb\x8e\x4b\x44\xff\xc7\x18\x2a\xb8\xf3\x63\x27\x75\xd6\xe6\x4a\x04\x35\xd2\xcb\xcd\x39\x5c\x6e\x5d\x6d\xb3\x0f\xaa\xb6\x51\x74\x97\xd1\x0f\xba\x20\x46\xdf\x6a\x24\x82\x3a\xe9\xe2\x27\x1a\x29\xce\x51\xfa\x6c\x24\x10\x08\xcd\xed\x69\xaa\x33\x30\xe7\x35\x89\x1e\x90\x25\x97\xd3\xb0\xe8\x02\x7f\xa3\x3f\x9f\x8b\x2f\x1b\x4a\xc2\xa0\xce\x59\x65\x2e\x3e\x7f\xf5\xf3\xdf\x82\x1d\xfa\x56\x6b\x30\xa5\x8e\x77\x3f\xf2\xad\x03\x77\x3d\x05\xd0\x4b\x82\xcc\xe3\x97\xde\x7f\x7c\x07\x5c\xe7\xfa\xcc\xbe\x48\x7f\x47\x43\x93\x10\x9a\x8b\x3d\x62\xad\xd3\xe3\x36\x41\x20\x35\xa8\x60\xc5\x13\x6f\x09\x1a\xd9\x15\x59\x57\x8c\x44\x83\x11\x77\xef\xbc\xd6\x55\xa9\x2e\xc7\xd2\x44\x72\x88\x32\x56\x03\x4b\x16\xdb\x3c\x81\x35\x2b\xb3\xd9\x48\xa1\x61\xf3\x4a\x6a\xb0\x7b\xc1\x27\xef\x64\x87\xb6\xbb\x9c\x5d\x7d\xc7\x2f\xbd\xe4\x78\xcf\xfc\x1b\x6f\x0d\x65\xfb\x56\x3a\x33\x4b\x88\xcf\xea\xb3\xcb\xc6\x41\x54\x89\xff\x5f\x18\x57\x4c\xb1\x19\x92\xa1\x06\x3e\x06\x0d\x54\x46\xcc\xdb\x75\xc9\xa7\x9d\xc2\xf7\xea\xde\xee\xe8\x7f\xba\xb4\x51\x46\x3d\x57\xb1\xea\xc5\xd8\xc2\xce\x25\xad\xfb\x0a\xa4\xcc\x11\x97\x9b\x52\x7d\xc5\x6d\xe7\xe7\xa6\x75\x73\xf2\x8c\x91\x80\x95\x6c\x56\xd1\xba\x3c\x3f\x73\x97\x5f\x52\x1e\x18\x17\xea\xae\x0c\x7b\x2a\xc7\xe3\xd9\x06\xed\xda\x0f\x31\x3a\x4b\x43\x79\x5a\xfb\x24\x51\x0f\xda\x49\xa9\x7a\xa0\x4a\x00\x94\xf7\xa3\xfd\x17\x19\x7d\x04\xe1\x84\x9d\x6e\x56\x53\x76\x8d\xe6\x75\xc5\xd3\x19\xed\x0a\x97\x50\x27\xb8\x0e\xba\xf7\xe0\x78\x2a\x67\x8d\xa4\xec\x45\xc0\x5a\xaa\xfd\x55\x61\x45\xaa\xed\xe2\xb2\xd9\xfc\x07\xf4\x7a\xac\xab\xdc\xe9\x4a\x61\x17\x5f\xe8\xec\xf4\x5c\xad\xb3\xd3\x4b\x6e\xb8\xad\xaa\xb3\xe9\xb7\xd3\xbd\x00\x67\x57\x3f\xff\xad\xf3\xce\x35\x6a\x43\xfa\xa0\x25\xbd\xb4\x69\xf3\xf3\xf5\x91\xea\xe7\x3f\x78\xa4\x16\xc6\xf5\xf4\xbd\x50\x3d\xa5\x8a\xa8\x3d\x66\x26\x5d\x30\x3d\xe4\x39\x47\x3d\x80\x2b\xde\x0f\x5a\x4c\x95\x7d\x26\x8b\x22\x5e\xd5\xf4\xac\x2c\xaf\x97\xd2\x92\x7a\x6c\xbd\x24\xad\x87\x51\x29\x2d\xad\x97\xa4\x67\xe1\x6f\xde\x08\xa0\x99\x2c\x36\x9f\xd5\x0d\x15\xb5\xf4\x69\x69\xbd\x7a\x4c\x92\xb4\xc0\xb3\x1f\x6c\xc3\x49\xcb\x86\x92\x1d\x00\xd4\x16\xd2\x51\x0f\x25\x9b\x51\x5a\x44\x57\x3c\x03\x99\x4a\x8b\x43\x96\xa5\xcf\xd6\x0b\xa3\x9a\x28\x85\xf8\xb7\x42\x51\x61\x74\x3d\x08\xd5\x45\xdb\x96\xa6\xa5\x2f\x14\xc6\x5b\x2e\x28\x8c\xae\x57\xcf\x6a\xa7\x59\x28\x57\x54\xb7\xd1\x04\xbd\x28\xfd\x50\xb2\xaa\xa5\xce\x19\x1a\xa7\xdb\x6b\x9e\x51\xf3\xd2\xcb\x40\xac\x2e\xd5\x76\x5a\x5a\xe9\x2c\x75\xc9\x9f\xab\x5c\x1d\xb4\xb9\x4a\xca\xa1\xba\x21\xa9\xc3\x0d\xb4\x58\xd3\x30\x50\x58\x66\xc6\x9a\x4b\xb4\x55\xce\x2c\xd7\xd6\x72\x2f\xcf\x30\x06\xd0\xd4\x07\xd9\xc1\x99\xe1\xa7\xd8\x53\x65\xf7\x20\x02\x1f\xd7\xd1\x9d\x33\x69\x77\x24\x9d\xe9\x83\x7e\xe0\x22\x51\x07\x9f\x8c\x70\xd1\xe2\x96\xbc\x41\x84\x50\x44\xc4\xbc\x08\xbc\xb6\xd3\x4a\x47\xa2\x09\x7a\x8b\xe7\xfc\xe0\x74\x69\xcb\x83\x76\x8b\x73\xb9\x5d\x22\xb6\x6a\xd9\x23\xd1\x08\xaf\xfd\xb4\xd4\x7d\x90\x4a\x67\xfa\x70\xc8\x45\xf5\xfe\xfd\x90\x70\xa5\xa3\x2e\x9a\x82\x73\x47\x44\xd0\xde\xd0\xa0\x3d\x32\xad\x3d\x90\x52\x7f\x2e\x5e\x9b\x39\x5c\xbc\xb6\x37\xd6\x36\x83\x11\x8d\x18\xa1\x2a\x38\xbc\xfe\x10\x77\xc6\xe5\x8e\xf0\x1c\xef\xe2\x63\x38\xaa\x2d\xe9\x2e\xb7\x1f\x67\x5c\x7c\x9a\x52\x27\x5a\xb9\x5c\x99\x06\xce\xc1\xbb\x39\x57\x86\x2b\x30\x85\xc0\xcd\xb9\xf8\x06\x2e\x44\xf9\x40\x99\xb4\x0e\x64\x1d\xf7\x63\x9e\xa3\x77\x43\x71\x97\xce\x2d\xa2\x78\x7f\xf1\x34\x75\x45\x95\xd1\xef\x69\x1b\x71\x57\x26\x9d\xe2\xa2\xc9\x18\x4e\x27\xe2\x69\x9a\x57\x6b\x25\xce\xd9\x10\xed\x83\x4c\x1f\x89\x50\x7e\x1c\xcf\x69\x77\xb4\xe9\x9e\xc6\x82\x8b\x2a\x49\x84\x5c\x69\x6d\x4f\x1a\xc9\xb8\x32\xf4\xe5\xe9\x0c\x5d\x18\xfa\x20\xd2\x01\xc9\x54\x34\x06\xba\x94\x36\x1a\xcf\x34\xc4\x20\x94\xd6\xb2\xba\x32\xfa\x29\x9d\xa4\x1d\x92\x0e\x51\x76\x73\x24\x9a\xd6\xce\x11\x92\xa6\xea\xef\xd1\x74\x01\xf7\x91\x17\x89\x3b\x12\x8d\x61\x8a\x6e\x19\x49\x47\x23\x22\xa3\x85\x62\x90\xf2\x53\x6a\x8f\xe7\xdc\x0e\xce\xed\xa8\xb6\x60\x21\xf3\xb1\x95\xc3\x2c\x0b\x9c\x4d\x8c\x34\xd8\xb1\x9b\x10\x0f\xc1\x16\x33\x70\x46\x11\x9b\x4c\x1c\x60\x2b\x06\x42\x58\xce\xc0\x03\xe1\x08\x87\x89\x99\x58\x6d\x26\xce\x48\x78\x16\xac\x0e\x62\x48\xf2\x2c\xf0\x20\xf8\x18\xe2\x25\x2c\xcf\x63\xe0\x58\x86\x98\x65\x86\x37\xba\x39\xb6\xb1\x26\xc8\x71\xbc\x85\x60\x62\x04\x0b\x4f\x42\x56\x56\x60\x8c\x26\x99\x15\x89\xd1\x62\x64\x18\x8b\xd5\x60\x02\xbb\xcd\x00\x46\xd6\x60\x20\x3e\x93\x5c\xcb\xd7\x72\x2c\x98\x4d\x02\x16\x39\x2c\x98\x80\x70\x2c\x6b\x20\x7c\xc0\xc4\x78\xec\x2c\xc3\x00\x61\x44\x12\x9b\xc5\x71\xac\x0d\x37\x18\x58\x91\xe3\xdd\x0e\xcc\x63\xc6\x2a\x1a\x6c\xdc\xbd\x17\xf0\x2c\x83\x89\xc9\xc8\x41\xab\x8c\x89\x00\x36\x20\x3c\xcf\xb3\x80\x89\x5d\x10\x82\x1c\x26\x92\x85\x61\x2c\x06\xec\x06\x20\x40\x6a\x08\x60\x86\xc3\x5e\x2b\x26\x2c\xc6\x06\x23\x07\xc4\x24\x3a\x30\x67\x33\x18\x5d\x1c\xcb\x61\x2c\x58\x1c\x84\xad\x35\x98\x2c\x76\xd6\xea\xe3\x1b\x65\xcc\x9a\x79\xcc\x7a\x59\x0e\x88\xc3\x20\xd6\x4b\x2c\xc1\x98\x31\x62\x0e\xc0\x81\x59\x17\x4b\x04\x0c\x04\x83\x91\xc3\x66\x8b\xcc\x03\xc3\x71\x7c\x03\x2f\xc8\x2c\x70\xc4\xc2\x60\xad\xf0\x40\x08\xf0\xad\x9c\x95\x67\x31\xeb\x21\x35\x2c\x31\x10\x9e\x35\x61\xb3\x81\x37\x80\xf6\xcf\xca\x9b\x4c\x20\xda\x19\x27\xc7\x33\x60\xe0\xc1\xc8\xb3\x2c\x6b\xb4\x18\x78\xb6\x9e\xf0\x98\x30\x2e\x6c\x27\x44\x12\x4c\x36\x62\x31\x12\x3b\xb6\xba\xec\xcf\xbe\x74\x0f\x91\x89\xc4\x01\x6f\xb4\x11\x6c\x62\xcc\x1c\xaf\x75\x15\x06\xa7\x95\xb5\x18\xcd\x1c\x8b\x81\x17\x59\x62\x35\x8a\x8c\x80\x09\x87\xb1\x8c\x19\xc2\xcb\xb5\x98\xb1\xd9\xe0\x0c\x03\x25\xf5\x7b\x60\x07\x93\x05\x78\x03\xc7\x19\x64\xec\x02\xcc\xb2\x2e\xb0\x09\x98\xe3\x31\x03\xc4\xe8\x21\xac\x85\xc1\x3c\xc7\x9a\x4c\x18\x80\x05\x8c\x81\xe5\x18\x60\x6c\x1c\x63\x34\x60\xd6\xc8\x70\x46\x99\x70\x22\xcb\xdb\x05\x83\x8d\x31\x38\x39\x2a\x07\xc0\xac\xcb\x5a\xc3\x1a\x8c\x82\x60\x64\x41\xb4\x12\xce\xad\x75\xac\xd5\xc2\x58\x59\x0f\xcb\x81\x09\x3c\x06\x90\x78\xcc\x18\x19\x06\xdc\x16\x33\xd4\x80\xd5\x20\x82\xc5\xca\x60\x96\x37\xf2\x0c\x03\x26\x06\x58\x06\x33\x0e\x86\xad\x61\x8c\x04\x18\xcc\x1b\x2c\x0c\x26\x02\xb6\x7a\x01\x63\x23\x88\x3c\x6b\x33\x32\x84\xe3\x2c\x1c\x11\x0d\x00\xc3\x77\xf1\x00\x36\x8e\x33\x98\xc1\x67\x67\xcc\x3c\x16\x09\x5b\x0b\x81\x28\x03\x96\x76\x42\x9a\x0c\x80\xcd\x46\x8e\x0d\x71\x9c\xcf\x88\x79\x51\xcb\x83\x1d\x2d\x35\x0c\xeb\x64\x08\xc3\x00\xef\xb4\xb9\x30\x57\xeb\x34\x1a\x1a\x39\x5e\xe0\x4c\x18\xdb\x09\xc3\x02\x6e\x60\x64\x03\x08\x92\x99\x70\x12\xc7\xb0\x06\x0f\x26\x75\xd6\x20\x18\x0d\x46\x8e\x97\x18\x83\x87\x18\xb1\x01\x8c\x18\x48\x9d\x81\xb1\x09\x16\x1e\x40\x26\x56\x03\x21\x98\x31\xb4\xd8\x4c\x41\xbb\x0d\x5b\x09\x00\x30\x0c\x60\x42\x8c\x9c\x59\x00\x3b\x5b\x2b\x11\x86\x60\x1e\x13\x56\x34\x35\x31\x04\xdb\xcd\xbc\xc1\x68\x34\x10\x49\x36\x02\x6b\x60\x64\x9b\x91\x63\x58\x33\xb1\x61\x8b\xc9\x60\xe0\x79\x0e\x1b\x6c\x0c\x6b\x00\x33\x83\x05\xb3\x91\xe3\x31\x00\x36\x71\xec\xe4\xcd\x8d\x9f\x20\x04\xf3\xc0\x5b\xb4\xd2\x1a\x08\x87\xb5\x91\x46\xc0\xce\x82\x91\xc5\x1c\xeb\x20\x6c\x0d\xc7\x11\xce\x8c\x8d\x84\xb1\x11\x86\x25\xa6\xb8\x50\x6f\xaf\xb1\xba\x18\xbe\xd6\x40\xad\x23\x9c\x53\x4e\x6e\x3f\xdd\x33\x39\x51\x47\x79\xcf\x64\x2c\x58\xe4\xa6\x92\x19\xf0\x03\xe8\x1a\x13\xc8\x86\xa8\x2f\x0a\x07\xcf\x3a\xdd\xba\x3b\x0a\x9d\xb4\xc2\x9f\xcf\xaf\x0d\xa7\x92\xd1\xd1\x48\x04\x3f\x1e\xbd\x1f\xbf\xee\xee\xf8\xe3\xc7\x74\x63\xa0\x39\x07\xda\x6c\x36\xf5\x17\xff\xc6\x7e\xfc\x26\xa3\xd5\x5e\x90\x85\xfc\x36\xbf\x36\x1c\xbe\xbc\x31\x9d\x8a\xe0\xc7\x37\xdf\x0f\x77\x46\xe7\xdd\xfa\xa8\xce\x54\x0a\xfa\xcd\x0d\xe6\xc7\xc7\x2f\x23\xeb\x17\x39\x50\xa5\x4f\x4e\xdd\x8e\xa3\x16\xb5\xa2\x6e\x84\xc2\xc1\x54\x10\x8a\xbf\x73\xf8\x72\xad\xbe\x66\x90\x46\xfb\xab\x0a\x83\x26\x11\xa6\xf8\xfa\xf8\x43\x21\x41\x52\x98\x7e\x50\x94\xc9\x6c\x91\xed\xe5\x8d\x44\xe0\xcd\xb3\x5d\x68\x7b\x6f\x76\x4a\x61\x6f\x62\x11\xd5\x53\x75\xf1\x25\x98\xbb\x48\xca\xae\xfb\x8a\x8a\xb3\x37\xd9\xeb\x55\x99\xa2\xdb\x4d\x21\x59\x95\xeb\xed\xf6\x16\x16\xb5\x30\x3f\x6b\xae\x53\xe5\xbc\x97\x02\xdb\x21\xd9\x0b\x6f\xc2\x3b\x75\xcd\xd1\x32\x0e\x26\xed\x39\x37\xaa\xa5\xb6\xab\xd3\xda\x20\xe8\x2c\x62\x4e\x85\x9c\x41\xea\x87\xa0\x5a\xb4\x8a\x15\x8c\x54\xc4\x14\x7c\xab\xe0\xb1\x88\x17\xb2\xde\xc8\xc8\x14\x62\xd0\xfb\x68\xe3\x00\x8c\xe8\x2c\x3c\x18\x19\xd8\xc8\x22\x25\x8f\xd4\x80\xce\x4e\x19\xd3\xaa\x36\xa6\x28\x30\xae\x2a\xa0\x0c\x6c\xd4\x41\xc1\x37\x56\xea\x9d\x2e\x42\xc8\x88\x33\x69\x77\x91\xbd\x17\x8d\xf4\x83\x91\xae\x40\x45\xc6\x53\xba\x1e\x8c\xc0\x17\x9d\x18\xe9\x98\x59\x56\x30\x52\x6e\x43\x81\xb4\xa7\x77\x59\xa2\x3e\x08\x5b\x8e\xd4\x35\x47\x8b\x0e\x83\x8e\xa8\x0f\xaa\x0f\x1e\xd1\x1a\xa8\xe0\x0c\xe8\x08\x6c\x51\x1f\x3c\x22\x7b\x2d\x96\xa6\x88\x17\x72\x34\x0d\x6c\x81\x2d\x34\x0d\xe4\xbc\x11\x8a\x00\x46\x7e\x33\x73\x3e\x7f\xb4\x2a\x97\xcc\xea\xb9\xb4\x14\xf4\xdd\x34\x85\xf6\x6e\x56\xd6\xf5\x2a\x11\xc5\x39\xb7\xa3\xd9\xa8\x0b\xcd\x45\xab\xd0\x7a\xca\xcd\xd7\x36\x28\x36\x9d\x93\x90\xe1\x9c\x0e\x28\xe9\xb4\xb3\x89\x38\xf5\x61\x99\x88\xfb\xd9\x22\x97\xae\xe8\xbd\x9a\x42\x47\x50\x75\x25\xaa\x40\x0c\x89\x38\x2e\xa4\xc0\x2b\x1e\xbe\xe4\xd6\x95\x3b\xf7\x72\x83\xd7\x77\xcf\x1b\x60\x19\xe5\xde\x1b\x26\x8f\xdd\x70\x2f\xef\x0c\xa4\x17\x6e\xeb\x35\x0d\x0c\xdf\x7a\xfb\xad\xc3\x03\xa6\xde\x6d\x0b\xd3\x01\x27\x3f\xa9\xe3\xf2\x91\xb5\x05\xed\x58\x12\xdc\xb9\xf2\xd6\x4b\x1e\x5e\xc1\x0e\xcc\xeb\xbe\x7e\x90\xdb\xab\x2b\x3f\x62\x85\xbd\x69\xc5\x32\xb8\xb8\xa5\xd5\x1d\xae\x3b\x9c\x17\xaf\x3f\x7c\xf8\xfa\xd4\xb6\xdd\x5b\x37\xcd\x6b\x6a\x4d\xb5\xb6\xa6\x5a\x9b\xe6\x6d\xda\xba\x7b\x1b\x1b\xa7\xba\x85\x6a\x7d\xc1\x55\x76\xfe\xc4\xb2\x15\x37\xb1\xbb\x0f\xd7\x85\xdd\xad\x2d\x30\x4a\x6f\x16\xed\xd4\x8e\x70\x3b\xd9\x77\x51\x10\xcd\x43\x97\x16\xd0\x52\x42\x0d\xbc\x9f\xa1\xdb\xb6\x18\x89\x96\x81\x5d\xd2\x50\x04\x7e\x29\xc6\x65\x8a\xaa\x41\xc4\x9d\x46\xba\x25\xbe\x3e\xcf\x44\x0b\x18\x00\x05\xe3\x31\x97\xd3\xc1\xbb\x69\x88\x7d\xca\xf7\xb2\xaf\xa9\xc5\x4f\x02\x66\x99\xef\x6c\xb2\xd6\x78\x2d\xf5\x24\xe8\x7b\xa9\xb6\xb9\xc9\x77\xd4\x97\x9f\xeb\x7b\xc9\xd7\x14\xad\x3b\xea\xf3\xbd\x5c\xdb\x5c\x9d\x8a\x1c\x58\x73\x74\xd5\xf5\x37\xac\x7a\x69\xd5\xba\x75\x6b\x6f\xbc\x7e\xf5\xcb\xab\xab\xae\x21\xdb\xe4\x7b\xd9\x17\x20\xf5\x16\x6f\x8d\xb5\xa9\x93\x97\xcd\x01\x52\xdf\xd2\xe4\xfb\x71\xad\xf7\x5e\x1f\x7e\xab\xc9\xf7\x63\x5f\xed\xbd\xbe\x68\x93\xef\xe5\xda\xfa\xe9\x89\xf2\x6f\xbc\xbb\xea\xde\x55\x6b\x7e\xbc\xea\xfa\x9b\xd6\xae\x5b\xb7\xfa\xe5\xd5\xd3\x2f\x0b\x18\x97\x0a\xc5\xf6\x46\xfa\xb8\x40\xa9\x24\xd5\x55\x45\x89\x38\xe3\xd6\xc5\xb0\xbc\x1f\x78\xe5\x8d\x13\x13\xb9\x67\xd4\xf7\xef\xba\x16\x43\xdb\xab\x9f\x06\xe8\x5e\x38\x32\x7a\xac\xf9\x23\x8f\x81\x72\xe2\x0d\xe0\x9f\x39\xf8\x8b\xb4\xcf\xfa\x2a\xb4\x3d\x75\x57\xdf\xb1\xd1\xc1\x7e\xff\x29\x84\xd1\x35\x53\x0a\x27\x50\xfb\xfa\x20\x42\x61\x1d\x6a\x29\xa3\x6b\xf6\x17\x34\x6d\x5a\xb5\x65\x20\x08\xd1\x94\x3d\x64\x77\xb2\x7f\xef\x5c\x30\x3a\xa1\x8c\x2e\xe8\x84\xbf\x67\x8b\xd0\x5a\x11\x6f\x56\x7d\x5b\x7d\x17\xff\x40\x7d\xd7\xa1\xac\xbb\xe0\xc0\x81\x0b\x48\x0d\xdc\x5d\xd0\x49\xdb\x35\x5f\x5d\x05\x4f\xd6\x87\xe1\x6e\x75\x57\x58\x9f\x76\xa0\xa0\x9b\xc9\xa3\x65\x68\x03\x1a\x45\xd7\xa3\x5b\xd1\x9d\x65\xcc\x7f\x16\x28\x7f\x91\xce\x71\x94\x38\x17\x0b\x9f\x3a\xa5\xd9\x13\x54\x31\x97\xea\x68\x36\x50\x1f\x32\x54\x1c\x4d\xa9\x6d\xde\x55\x0f\x85\x4e\x77\xbb\x78\x36\x4d\x61\xb8\xe9\x76\x22\x11\x27\x7d\x14\x32\x88\x17\x29\x46\x10\xb8\x53\xc9\x7e\x88\x52\x14\x77\xe0\xeb\x01\xa2\xe0\xe4\x29\x98\x7f\x3d\x40\x46\x7b\x2b\xd1\x19\x67\x70\x39\x4c\xf8\x08\xeb\x57\x04\x9b\x5d\xcc\x2f\xbb\xd2\xc0\x88\x0c\xbf\x79\xd5\xc1\x7b\x6e\x5f\x7b\xa1\x99\xdf\xbc\xf2\xe0\xbd\xab\xe6\x1b\x85\x1b\x6f\x14\x8c\xf3\x57\xdd\x7b\x70\xe5\x66\x9e\x6d\x6e\x5d\x73\xe8\x9e\x83\xab\x36\xf3\x8c\xc8\x18\xae\xc4\x4f\x8b\x76\x9b\xa0\xf8\x59\xe2\x9b\xd8\x10\x8b\xaf\xd8\xb0\x75\x49\x54\x3f\xc5\x56\xc4\x63\xd1\x25\x5b\x37\xe8\x27\x10\x47\x82\xe2\x72\x2f\x11\x59\xcc\xc0\x4f\x46\xf0\xb8\x92\x47\x63\x46\xcc\x32\x22\xe3\x25\x23\x4a\xfe\x1f\x5f\xc2\x66\xac\x2f\x92\x5e\xf5\x6a\x47\x63\xc8\x96\xe5\x0d\x70\xcb\x00\x03\xb3\x67\x2d\xfd\x58\x6a\xf5\xb2\xd5\x37\x0d\xdd\x95\x5a\x5d\x2f\x18\x17\x2f\x36\x0a\xf5\xab\x53\x77\x0d\x75\x5f\x1e\x5d\xbe\x3a\x79\xd7\xd2\x59\xb3\x81\x19\x80\x5b\x0c\x7c\xd6\x16\x6a\x74\xdc\xd1\x72\x30\xd1\xdd\xa8\x1d\xf2\xdd\x89\x83\x2d\x8d\xf4\x80\xc7\xe6\x98\x1b\x1d\x86\x0e\x2f\xb1\x31\x98\xc0\xef\x03\x38\x9b\x55\x57\xec\x1a\x31\x60\x86\xb1\x31\x5e\x35\x97\x85\xe3\x77\x10\x46\x97\xc3\xe8\xeb\x46\x3d\x6a\x40\x61\x94\x40\x3d\x55\x72\x98\xc2\x0a\x59\xb4\x56\x71\xda\xd3\x09\x1e\x82\x46\x08\xca\xda\x22\x52\x70\xd1\x99\x4c\x97\x2e\xb8\xb1\xa2\x44\x28\x3f\xde\xd4\xd9\xe4\x83\xe3\xbe\x91\x26\x18\x6b\xea\x9c\xdf\xa3\xa8\xaf\x41\x6b\x9e\x1e\x9f\x83\x1e\x95\x22\x13\x60\xd4\x44\x7e\xaa\x07\x99\x12\xa4\x00\x04\x0a\xbe\x27\xe0\xb8\xaf\xa9\xb3\x49\xfd\x7a\xd3\x6b\xea\x6b\xf8\x09\xf5\x35\xf5\x11\xe8\x81\x31\xea\x28\x53\x01\xd4\x34\x32\xf9\x0f\x46\xd1\xaf\x28\x4f\x9b\x99\x3a\xc8\xee\x65\xf7\x52\x14\x68\x47\x11\x55\x43\x47\xee\x28\x28\xe8\x17\xac\x36\x80\x32\x9b\x92\x15\xd7\xce\xaa\xf4\xec\xde\x4f\xef\xbe\x6d\xeb\xe4\xdf\x77\xbd\x7e\xe2\xd3\xd7\xe0\x8b\x4c\xbd\x36\xc1\x94\x7f\x78\xf9\xf6\xd1\x7b\x87\x88\xa1\x7f\x65\x76\x75\x7f\xfe\x9b\xde\x86\xba\x48\x0d\x3c\x60\xea\xb3\x59\x4c\xea\xf6\xfe\xab\x57\xae\xeb\xc5\x0b\xb6\xde\xbf\xfb\xd3\x5b\x89\xe1\x9a\x4f\x9d\xf8\xd5\xae\xfc\xc3\x26\x8b\xad\xd7\x84\x37\x2d\x3d\x36\x7a\xe9\xd0\xe4\xdf\xfb\x57\x67\x57\xf6\xe3\x05\x9e\x48\x5d\xa0\x56\xdd\x6e\xb2\xd8\xfa\x4c\xf0\x40\xef\xba\x95\x57\xf7\xe7\xbf\xb9\x79\x9a\x6e\x5f\x10\xcd\x46\x0b\x74\x1f\x1f\x54\x9f\x8f\xfa\x8f\x29\xdb\xf5\xdb\x13\x45\x96\x57\xb5\x0d\x6a\xb5\xcd\x9d\x5b\xa3\xd2\x14\x82\xf2\x88\x28\x8a\xc3\xa4\xfe\x97\x69\x96\x55\x97\xc8\x29\x4a\x67\x13\xc9\x36\x75\xaa\x4a\x85\x65\xb0\x52\xf2\x4d\x4a\x9b\xdf\xe3\x6b\xa2\xce\x89\x14\x71\xb6\x09\x6a\x4c\x8e\xa2\x61\xff\x04\xd2\x91\x22\x30\xaa\x90\xee\xc8\x93\xf4\x2e\x4b\xbd\x96\xaa\x6f\xf9\x46\xce\x8d\xc3\x57\x29\x5e\x67\x46\xa6\x9b\xad\xe8\xf2\x39\x2a\xd7\xd2\xf1\x8e\xff\x69\x64\xef\xe9\x38\x7f\x67\x0b\x57\xa0\x77\xbf\x39\x53\x90\xae\xf1\x39\x1e\xb1\xd9\x82\x7c\x2d\x8a\x32\x1a\x45\x53\xb4\x60\x93\x8a\x52\xc3\xaa\xb7\xa3\xb3\xc4\x9f\x89\x2a\x4d\xe5\x86\xfa\x1f\xfb\x6e\xa5\xa4\xed\xb4\x32\x43\x64\x65\xf8\x65\x9a\x0d\x8e\xe8\x00\xc3\x63\x25\x20\x65\xf2\x9b\xea\x18\xf8\x6b\x05\xca\xb2\xd6\xac\x56\x6a\x5b\xfa\x77\xe4\x47\x3d\x68\x08\x6d\x40\x97\xa3\xbd\x08\xb1\xf4\x2b\xc8\xe8\x5f\x07\x1f\xed\xc3\x99\x54\x03\x17\xa2\x8e\xac\x78\x3f\xc8\xce\x20\x65\xba\xea\xf2\x92\x68\x1f\x15\x0e\x3b\x44\xcc\x27\x52\x67\x02\x91\x07\x53\x89\xa4\x46\x6d\x72\x7c\x34\x93\xb0\x9f\xb3\x11\xf6\x5d\xb1\x62\x74\xa0\x6b\x76\x57\x5d\xeb\xa5\x5e\xc3\xec\x46\xd9\x36\xd7\x36\x0a\x4b\x37\x25\x7a\xb0\x7a\x8c\xeb\x18\x18\xe8\xa8\xab\x89\x85\xd6\x78\x36\xcd\x59\xbc\x75\xfe\xca\x05\x70\x80\xfd\x83\xde\x0e\x92\xa8\x37\x94\xfa\xa5\xcb\x00\x1b\x5a\x16\xdd\x3e\xca\xbe\x5d\x79\xa7\xb2\xb5\x56\x0f\x6f\x18\x58\xd7\x5e\xe7\xcb\x1a\x3a\x4d\xf3\x9a\x25\xc0\xa9\xe3\xeb\xae\xb1\x2c\xc1\xd9\x13\x8d\x52\x62\x75\xb2\xb5\xcd\x5d\x53\x3b\xa7\x3b\xd1\xb5\x6a\x51\x7c\x55\x2c\x53\xd3\xa3\xfe\x9b\xde\x66\xa2\x24\x93\xeb\xb6\x6c\x69\x7e\xa8\xd9\x62\x0f\x0f\x1d\x50\x2f\x57\xf7\x95\x6e\x54\xb5\x2b\xa9\xb0\x7f\x4a\xa1\x6d\x74\x2e\x9d\xa6\xdc\x18\xd6\x8d\x63\xd2\x3a\x28\xac\xee\x40\xa2\x03\x0a\x0b\x5b\x49\x38\x40\x82\x05\xb4\xdc\xa2\x34\x4e\x37\x68\xd1\xe8\xe6\x54\x46\xd7\x56\x72\x17\xb0\xde\x52\xc9\x68\x84\xa3\x86\xca\xef\x53\x2d\x46\xf8\xae\xcf\x3d\xeb\xd6\x8f\x02\x13\xdf\x3d\x70\x95\xc9\x2c\xb2\x96\xd5\x62\x3c\xb5\xee\xc6\xab\xe7\xcf\x1b\x18\x78\x6d\xc1\x8e\x39\xe1\xb7\xe1\x93\x7c\xb3\x7b\x56\xf8\xbc\xe1\xc5\xc3\x37\x5d\xbd\xe2\xce\x2e\xab\x41\xdb\x37\x6e\xb7\xfa\xad\x6c\xa8\xbd\xb5\xaf\x7b\x71\x76\x70\x69\x7b\xc7\x8a\x06\xac\x94\x7d\xef\x65\x43\xed\x9b\x2f\xfc\x8a\x72\x40\xb6\x34\x46\x86\x6f\xea\x91\x6a\x09\x87\xef\xeb\x5c\xdf\x3d\x67\xdd\xe2\x79\xf3\xfa\x1c\x31\x9f\x67\x0a\x45\x53\x57\x6d\xeb\x9c\x15\x8a\xcd\x92\x9c\xee\x26\x9b\xc5\x20\x0a\x97\xcf\xf2\x47\xc2\x6d\xb8\x61\x49\xc4\xd0\x15\x6e\x74\xba\x6a\xbd\x3d\xbd\xf3\x57\x2f\xae\xab\xe0\x8b\x6e\x41\xd7\x20\x24\x47\x3a\x74\x20\x5c\x5a\xa7\x78\x86\x77\x3b\x39\xbd\x41\x5c\x4e\xb7\x5c\x51\x5b\xbd\xc6\x31\xbd\xc9\xac\x10\xcd\x24\xdc\xae\x8c\xbb\xd4\x58\x5a\x7a\x97\xec\x2a\xb7\x9c\x2e\xc3\x4a\xd9\x93\xd1\x48\x35\xae\xe1\xac\xb0\x81\x08\xb5\x3d\xc9\x83\x0d\x6b\x57\x5e\xeb\xef\xf4\x03\xee\xc9\xf6\xc8\x02\x80\xc8\xb5\x87\x7a\xd7\x5d\xb0\xe3\xfc\xce\xd6\x59\xf6\x46\xbb\x93\xb7\x72\x0c\x2b\x37\xb4\x6e\x15\xf1\xea\x17\x87\xae\x97\x38\xa6\x3d\xba\x98\xb3\x12\x83\xc8\x39\xad\xde\xc8\x92\xc1\xcb\xae\xb8\xf7\xd1\xdd\x7b\x7a\x7a\x5d\x36\x7b\x0d\xbb\x56\x12\xcb\x6e\xd4\xd9\x20\xc6\xeb\x80\xe1\x09\x03\x58\xcc\x1a\x8d\x35\xe2\x75\x42\x94\xfb\x9d\xfa\xd6\xde\x65\xdd\xc1\x0e\x9f\x14\x6c\xf4\x75\xce\x59\xfc\xa9\xe5\x9b\x8f\xae\xed\x9e\xe7\x0c\x01\x26\x6b\x4d\x44\xc0\x11\x81\xf7\x58\xc0\xcc\x59\xbd\x7c\x93\x59\x56\x6f\xfb\xee\x15\x43\xb1\xb9\x73\xba\x02\xc1\x58\xc7\xe0\xd0\x9e\xe1\x07\x61\xe9\xc9\x9a\xc6\xd3\x37\x17\xfb\x46\x42\xc8\x54\xd2\xe1\xa8\xf6\x29\x70\x37\x3a\xa1\x23\x46\x54\xd6\xdd\x5e\x75\x5d\xdd\x36\xff\xa7\xaf\xab\xdf\x57\xed\x23\x14\xa3\x22\x7e\x1f\xd5\x88\xae\x08\x4f\xbf\xa3\xa2\xb3\xdf\xfb\xf0\x29\x2b\xc3\xda\x76\x97\xea\x22\xb0\xd9\x81\x8d\x65\x4c\x43\xb8\xab\x14\x54\xcb\x41\x22\xce\x14\x7b\xce\x04\x15\x0f\x83\x65\x95\x1e\x46\xb5\x79\xb8\x76\xea\x93\x05\x3c\x0a\x99\xda\x4b\xb6\xa2\x04\x42\x46\x88\x42\x23\xd5\xf7\xee\x28\xe1\x98\x86\xdd\xda\x4c\xd1\x0f\x70\x96\x33\xf3\x39\x08\x5f\xa6\xfe\x02\xb7\x48\xa7\x4f\x4b\x69\xe9\x79\x49\x62\x39\xed\x7c\xfa\x85\xcd\x9b\xfd\xfe\xcd\x9b\xfd\xb0\xf7\xb9\xe7\x7a\x7a\x9e\x7b\xae\x87\xfc\xaa\x10\x93\xff\x74\x21\x40\xbe\x49\xf3\xbe\x96\xd6\xf2\x4a\xcf\x4b\x69\x2d\xaf\xf4\xfc\x3d\xf4\xa6\x7f\xb3\x3a\x49\xf3\xf5\x3c\x97\xdf\x58\x88\xc1\xfe\x42\x80\xf2\x1e\xb2\x25\xfa\xdf\x86\x3c\x68\x69\x85\x84\x3d\x68\xd7\xb7\x78\x25\xb3\x1c\xbb\x43\x64\x22\x21\x5d\x21\x82\x1e\x43\x0d\x9c\xbe\xf1\xb3\x27\x23\x7d\xa4\x1f\xfa\x80\xc2\x63\x24\xca\xc6\xde\xea\x8f\x40\xf9\xb4\x60\xfc\xae\x91\xd5\x55\xfb\x61\xc8\x20\x8b\x41\x4b\x94\x68\x9b\x52\x6d\x27\x9b\x25\x51\x4b\x50\x94\x0d\x11\x2f\x00\x63\x94\x85\xe7\xe5\xfe\xda\xb1\x88\x97\x41\xde\x88\x6e\x0b\x80\x15\x40\xc6\xef\x1a\x85\xfc\xbf\xd0\x4b\x26\x37\x89\xac\x6e\xd1\x48\x00\x46\x8f\x1d\x1b\xd5\x7e\x00\xc4\x28\xba\xad\xde\x08\x64\x0d\x69\x57\x47\x6d\x83\xf0\xbc\xec\xcd\xe9\x00\x02\x65\x1a\x66\x49\x09\x87\x41\x9b\x88\xb4\xad\x7d\x1f\xa4\x28\xf8\xa6\x48\x9c\x0e\x97\x5b\x17\x42\x14\xbc\x60\xea\x24\x65\x24\x53\xd0\x2f\xd0\x26\x77\xc2\xb9\x23\x38\x95\x94\x1a\x03\x0c\x87\x5e\x52\x4f\x9c\xba\xea\xb2\x6e\xd9\xd8\xee\x18\xed\xbd\xe1\x5b\x3b\xf6\xfc\xfa\xae\x4b\xbf\x7a\x60\x7d\xeb\xf0\x52\xbf\x01\x5b\x30\x67\x4f\x9c\x7a\xfc\xfe\xc7\x0f\x5d\xd6\xbb\x44\x34\x84\xdd\xe9\x78\xdf\xda\x9a\x2d\x76\xe6\x25\xb5\x88\x1e\xba\x82\xf2\x69\x03\x17\x2d\x6a\xf8\x52\xb4\xeb\xd0\xbb\xc7\xae\xfe\xc1\xfe\x39\x23\xfb\x6e\x9d\xb7\xe3\xd3\x01\x4b\x80\x9f\xc5\xb9\x1d\xbd\x17\xde\xff\xb3\x47\x6e\xf9\xfc\x9f\xce\xef\x0d\xed\xbe\xa0\x3e\x3e\x70\xf5\x9a\xc5\xb3\xd5\x8d\x0b\x2f\x5b\x0f\x7b\x7f\x7f\x4a\x97\x02\x95\xeb\x36\x54\x41\xf7\x17\x6b\x27\xe9\xce\xc1\x0a\x95\xa3\x93\xef\x07\x56\x2e\x34\xcd\x7e\x38\xdf\xba\xc6\x6d\x6c\x73\x5e\xda\xf3\x95\xdf\x2d\xbc\xe9\xab\xa3\x3b\xbe\xb2\xef\xc2\xd6\xe5\x4b\x05\x27\x63\x62\x39\x7b\xfc\xc7\x8f\xde\xf7\xe8\x6d\xa3\x3d\x5a\xe5\x5c\xa9\xd9\xbd\x6b\x3c\x9b\x3d\xf6\xaf\x55\xda\x18\xdf\xb8\xae\xe1\x8b\xd1\x4e\x88\xfe\x7a\xf5\x83\x37\x2c\xee\x1a\xb9\xe9\xa3\x03\xdb\x3f\x15\x60\x4d\x62\x9b\xdd\x2d\xf7\xad\x3b\xf6\xda\xc3\x1f\x79\xec\xed\xf3\x7b\x1a\x76\x9f\x5f\x3f\x7b\xee\xae\x55\xe7\xcd\x56\x37\x6f\x7d\xa0\x64\x88\x5c\x96\x6d\xd5\x52\x7a\x0d\x41\x32\x1a\x74\x26\xc4\x02\x9c\x40\xdc\x9d\xd1\x4a\x6d\xd3\x08\x9d\x70\x22\x15\x4a\x85\x9c\x21\x67\xc2\x99\xa8\xa6\x50\xc9\x7d\x9c\x7a\xec\x67\xa4\x76\xd6\x9a\xf4\x96\x3b\xef\xdc\xb2\xa1\x77\xc7\xe5\xf7\x8d\x8d\x8f\x8f\x7d\xf6\x05\xb8\xe0\x8a\x2b\xae\xbc\xf2\xca\x2b\x41\xaa\xa4\x61\xf1\x1e\x6f\xe4\xa0\x27\x99\x0e\xdd\xf5\x83\xbb\xba\xb7\x6d\x7d\x43\xfd\xce\x1b\xaf\xec\xd1\x92\x5d\x89\x3f\x3a\x8d\xba\xd5\xd6\xbf\xcf\x18\x11\x7b\x51\x01\x0b\xd8\x81\x2b\x9c\x62\x07\xdc\x3c\x55\xe5\x76\xd0\x11\x46\x32\xc1\x54\xd0\x15\x76\x6a\x64\x58\x28\x95\x48\x25\x9c\xec\x83\xff\xa2\x7e\xeb\xe5\xfb\xd4\x77\x9f\xbb\xf6\xda\xe7\xc0\x76\x1f\xf8\x5f\xfc\xfe\xee\x2f\xde\x74\xea\xc6\x1b\x4f\xdd\xb4\xea\xf0\x85\xf3\xea\x39\x75\x04\xff\xab\x85\x6c\x39\xf5\xca\xa9\x53\xaf\xe0\xab\x5e\x56\xbf\xf9\x35\x2d\x21\xb4\x80\xed\xb9\x6b\x73\xdf\xde\xb5\xf7\xb5\xc9\xd7\xf6\xc6\x16\xac\x5b\x16\x9a\xec\xef\xd7\xd2\x9c\x3a\x55\xe2\x21\x2a\x2c\x42\x16\xe4\x43\x6d\x74\x27\x48\x5d\x97\xf2\xee\x74\x26\x61\x0f\x35\x3a\x44\xdc\x10\xc3\xc9\x3e\x1c\xf7\x03\xd8\xf5\x2f\x38\x64\x8f\xbb\x9c\xc1\xe4\x19\x33\x3a\x41\xa0\x28\x57\x7f\x7c\x69\x8b\x80\x15\x8c\x5a\x96\xee\x3f\xb6\x7f\x69\x8b\x7e\xc2\x2d\xa3\xc7\x26\x14\xed\xbb\x63\x94\x63\x7f\x88\x78\xdf\xa7\x1c\x07\x1e\x79\x23\xa0\x8c\x40\xee\xd0\x70\xd8\xa1\x8e\xbf\x79\xe7\x91\xbd\xcb\x96\xed\x3d\xa2\x9f\xd4\x16\x8c\xb4\x0c\x2a\x3d\x92\x6c\xd9\x5f\x50\xa4\x80\x35\xc0\x20\xa2\x20\xa1\x68\x25\x43\xf1\x0c\x12\xc1\x38\x83\x64\x35\x2b\x27\xb5\x03\x75\x96\x44\x2e\xa4\x61\x19\x72\x72\xb2\x88\xf3\x00\x88\x41\x24\xab\xe7\xd5\x7d\x7d\xeb\x4a\xfe\x0c\xd2\xbd\x2c\xd1\xc4\x32\xe4\x80\xea\x4a\xc8\xba\x42\xbe\x9e\x37\x8b\x14\xac\x30\xf4\xbd\x05\xcf\xba\x05\x68\x03\x6d\x67\x5f\x7e\x11\x93\xad\x7c\x8e\x5c\xf4\xa7\xac\xe0\x2c\x53\x51\x66\x1d\x48\xd0\x0d\x38\x4b\xcb\xac\xbf\x0b\x3f\x50\x2e\x7c\xa4\xf0\xde\xe9\xb6\x35\x75\x08\x25\x82\x54\x37\x32\x6c\x0f\xda\x67\x58\x5b\xc7\xf0\x48\x5e\x91\xd9\x2b\xf2\x0a\x1e\xd1\x5d\x67\x97\xd6\x3b\x46\x99\x18\x13\xe4\x00\x33\x32\xa1\xc8\xcc\x8b\x95\x7e\x48\xb4\xf1\x99\x63\x74\xec\xb9\xda\xea\x56\x95\xaa\xda\x69\x7a\x1b\x47\xaa\x9a\xed\xe7\x15\x2d\x31\x43\x1b\xd2\xf7\x60\x74\xee\xbe\x9b\xf6\xa0\x42\x5e\x82\x0a\x65\x3c\x47\xdf\x91\xea\xf7\x96\xed\x89\xbd\x68\x4e\xe5\xce\xd4\xe5\x66\xdc\x7e\xdc\x8d\xa9\xec\x3b\x9c\x96\x1d\x1c\x8f\x78\x91\x69\xc5\xd4\xb0\xa0\x91\x4a\x71\x0b\x6e\xa2\x74\x46\x79\x5b\x17\x8c\xde\xd6\xb5\xe8\xba\x04\x40\xe2\xba\x45\x5d\x9f\x87\xf3\xba\x5a\x37\x2f\x56\x6f\xdf\x60\x9a\xdb\xda\x9b\x76\x03\xb8\xd3\xbd\xad\x73\x4d\xeb\xd5\xcf\x37\xf4\x5d\xb9\x6a\x29\x9b\x9b\xbb\x89\xcc\x99\x7c\x93\x6a\xe1\x7b\x67\x47\xfe\xb6\xa5\xa5\x63\xf6\xec\x8e\x96\x9b\x7e\x15\x85\xb5\xcb\x8f\x24\xd4\x89\x2c\xdf\x51\xd7\x28\x49\x8d\x75\x1d\x7c\xf6\x1d\x4f\xcb\xd1\xfe\x65\x3b\x36\xd2\x3e\x7f\x8a\x43\xec\xe5\xd4\xee\xaf\xb5\x80\x6f\xe1\xd2\x55\x75\x93\xe9\xb8\x8b\x72\xf4\x75\x17\xf5\x4e\x7b\x50\xb2\x75\x40\xd0\x19\xa2\x26\x96\x70\x91\xfa\x55\xd8\x04\x97\xac\xc6\x2b\xb7\x5e\xf2\xb9\xad\xcc\xdd\xea\xd7\x56\xac\xed\x5f\xe3\x34\xab\x5f\xc3\x00\xb0\x18\x3b\x5a\x16\x5d\xd2\xff\xc4\xcb\xe4\xee\xc9\x20\xf9\x4f\x88\x2f\xde\xbc\x79\xf1\x92\x8b\x2f\x9e\xfc\x65\xfe\x07\x58\xba\x74\xcf\x82\x84\x3f\x91\xff\x09\xdc\x0d\xef\xce\x9a\x75\x24\x30\xab\xb3\xfe\x37\xd3\xf1\xf5\x93\x74\x4d\xa4\x3e\xfd\xa3\x91\x74\x3f\xa4\x13\x2e\x37\x9d\xb7\x30\x5d\x3b\x38\xbe\x8a\xcd\x4f\x9d\xfe\xbb\x38\x74\xe3\x4b\xea\x6f\x3f\xf5\x05\xf5\x87\x57\xf0\x60\x38\x64\xb2\xda\xf8\xc5\xaf\xee\x29\x7a\xfe\xdf\xfc\xaf\x0b\x0f\x55\x70\xe6\x6f\xbe\x0c\xe4\xa3\x9f\x02\xdf\x4b\xc4\xa7\xfe\x40\xfd\xed\x4b\x37\xde\x73\xd0\x54\x63\xb8\xc3\x88\x4d\x9b\x76\x14\x1c\xff\x2f\x1a\xb8\xa3\x82\x73\xff\x91\x6d\x57\xdd\xf8\x12\x02\xd4\x34\xe5\xe4\xfe\xc8\xfe\x14\xed\x42\x28\x38\x0d\xb4\x96\xe7\x1a\xa2\x7e\xce\xe9\xe0\x45\xb6\x10\xd7\xc7\x50\x73\x68\xd6\x5d\x18\x42\x31\x2e\x95\xcc\xf4\xb1\x05\xde\x91\xc8\x50\xd3\x12\x36\xea\x72\x58\xa1\x88\x05\xfb\xc7\xf0\x65\xd4\xef\xee\x7d\x91\xd6\x29\xb4\x5f\x6c\x12\xb1\x93\xb1\x31\x06\xe2\x23\xb5\x66\xaf\xe4\x15\x9a\x7c\xea\x0e\x9f\xd1\xe8\x32\xfb\x89\x3f\x62\xb2\xd9\x4d\x76\xce\x81\x45\x11\x36\xcc\x94\x14\x8e\xcf\x90\x74\x3f\xa0\xd6\x54\x32\x0a\x97\x85\x53\xe1\xcb\xc3\x61\xb8\xbc\x31\x9d\x6a\x05\xb4\x5f\x14\xb1\x83\xb3\x9b\xec\x36\x53\xc4\x4f\xfc\x66\x97\xd1\x48\x39\x65\x82\x57\xf2\x9a\x6b\x89\x8f\x18\x18\x1b\xe3\xc4\x62\x93\xf6\xae\x33\x93\xaa\x3b\x66\x4a\xba\x7f\x0a\xb5\x86\xd5\xfb\xa2\x65\x0c\x0f\x5d\x9f\x38\x88\x9a\xa9\x64\x63\xb0\x6c\x5b\x5d\x22\xe6\xe4\x74\x0c\x38\x9e\x88\x54\xdf\x23\x9d\x49\x47\x1a\xab\x52\x14\x35\xe2\xc0\xc6\xeb\x72\x1f\x7b\xd1\xf3\x3b\x28\xd4\x0b\x32\x98\xf5\xd3\xdf\xb7\x71\xb5\xf1\x18\xbf\xad\x67\xa3\xcd\x31\xfc\xc0\x1d\x0e\x5b\x1b\xde\x4c\xef\xe4\x5f\xa0\x27\x5c\x48\x77\xf8\x63\x72\xe8\xf4\xad\x21\xf9\x63\x77\xbd\x0b\x43\x70\x39\x0c\xbd\x7b\x17\xd0\x3b\x83\xb8\xe0\x1e\xf9\x04\xec\xf7\xb6\x8b\xb5\x5e\xf5\x66\x76\x69\xcf\xd2\x3b\x9a\x86\x97\xf6\x5c\x2d\xea\x29\x5e\xa0\xa7\xdd\x7a\xba\x9c\x3a\xf1\xab\xba\xba\x5f\x02\xf7\x55\xed\x21\x77\xbd\xab\xfe\x6b\x09\xbb\x91\xd6\xdd\xa5\xad\x7f\x28\xc0\x68\x7b\xca\x7a\xe0\x39\x3e\xad\xa3\xd1\x37\xa6\x6d\x11\xa6\x0c\xc6\x15\x6a\xa8\x46\xe3\xa2\x20\xd1\x43\xea\x0e\xf5\xc1\x53\x77\xdf\x7c\x7e\xad\x27\x76\xfc\xa6\xd6\xae\x05\xbd\x3f\x82\x2d\xa7\x4e\xc1\x8a\x0a\x8c\x2e\xd6\xea\x39\x03\xa4\xeb\x5d\xf8\x14\xbc\x05\x9f\x62\x94\xc3\x6f\x1f\xda\xf9\xc2\x92\xf8\xc8\xfa\x15\xfd\x97\x47\x38\xc3\xe1\xb7\x41\x7a\xfb\xfb\x65\xe0\x2e\xa7\x7d\x06\xdc\xae\x7f\x81\xe8\x13\x4f\x94\x79\x10\x08\x39\xd0\x1c\xb4\xb5\xb2\x16\xa5\x3a\x24\x23\x5a\x2f\x7c\x00\x8a\x02\x7c\x30\x7e\x82\xd3\xc1\x91\x0b\xd4\x97\xd4\xbf\x3d\x38\x3a\x72\x71\xa8\xc1\xd7\x96\x5a\x36\xf8\x09\x30\x3d\xf8\x60\xfe\xd3\xb0\x1f\x16\x9c\x3c\x07\xba\x02\x3b\xe7\x43\xa1\x2a\xdc\xc5\x28\x3b\x9e\xde\xbe\xf2\x78\x67\xe7\x6a\x87\x5c\x6f\x12\x77\x3c\xfd\xa3\xa7\xdf\x3a\xf4\xf6\x39\xa0\x16\x26\xfe\x71\x6e\x94\x85\x9b\xae\x3f\x85\x00\xc1\x14\x22\x7b\x59\x85\x62\x3f\xbb\xf8\x82\x79\x53\x46\x66\x75\xe1\x44\x41\x19\xde\xe9\xe0\x49\x38\x9d\x88\x93\xdd\x92\x39\xff\x5b\xa1\x8e\x31\xd9\xed\xcc\xf7\xd4\x51\xc6\x20\x09\x12\xfb\xbf\x18\x8f\x0d\xce\x93\xbd\xec\x13\x70\xa7\x81\x91\xc9\x0f\x1d\x9e\x89\x9b\x6a\x30\xeb\xb3\x91\xa6\x6d\x60\xb6\x7a\x48\x97\x28\xd5\xd8\x0d\x26\x75\xf6\x66\x5c\xe9\xfb\x63\xcd\x74\x7e\x68\x37\xa4\x82\xce\x44\xb5\x73\xe4\x19\xe3\xa8\xe0\x36\x34\xdd\x79\x46\x2b\x38\x83\x05\x14\x41\x1e\x75\x36\xe9\x26\x85\x23\x2a\xa2\x1c\xd9\x19\xaf\x86\x92\x58\xbf\xa6\x86\x87\x4d\x23\x18\x25\x87\x46\x9a\x3a\x2b\xcd\x11\x73\xb9\x62\xea\x19\xae\x92\x43\xb9\x62\x5e\x2d\x36\x37\x94\xcc\x75\x96\x69\x93\x1c\x92\xd1\x72\x74\x41\x81\x2e\x2a\x2a\xbc\xbb\xe2\xe9\x94\x3d\x1d\xd7\xb9\x8c\xda\xb6\x89\x2b\x8a\x82\x62\x10\x8d\x41\xd5\x25\x5d\xcc\x74\x5c\x82\x34\xd2\x56\x0d\x3f\xb8\x5d\xe0\x8c\x34\xf0\xf4\x71\x44\x39\xfe\xf2\xf1\x48\x32\xb2\x6c\xeb\xb2\x60\x1f\x09\xca\x82\xd9\x32\x7b\xdd\x9c\xf9\xd7\xb7\xf2\x4e\xc6\x6c\x97\xcc\x8c\x93\x6f\xdd\x73\xfb\x1e\x7a\x29\xd9\xe9\xe5\xf5\xf3\xe7\xac\x9b\x6d\x31\x0b\x32\xb4\xa3\x29\x58\xf3\xad\x3b\x41\x18\xff\x6c\x10\xf2\xa8\xa5\xad\x25\x92\x8c\xe0\xe7\xf2\x27\x77\x1c\x3f\xbe\x43\x23\x61\xe2\xcb\x96\xc5\xf1\x7c\x73\x44\x90\x4d\xb1\xd8\x92\x1e\x53\x23\x67\xb7\x73\x8d\xa6\x9e\x25\x95\xe1\x58\xcc\x24\x0b\x2c\xfe\x1a\xd8\x6f\x1f\x3e\xfa\x9b\x3b\x30\x7e\x65\x33\xc6\x9b\x35\xa2\x94\x29\xc9\x55\x0c\xc8\x83\x6a\xb5\x1d\x08\x1b\xd4\x65\x29\xc1\x33\x98\x25\xc1\x92\x0d\x77\xef\x74\xa7\x28\x94\x7b\x4f\x10\xa1\x32\x0e\x55\x01\x24\x0b\x79\xca\xcd\xc4\x39\x41\x06\x04\xad\xea\x6b\x18\x95\x85\x2d\x9d\x4d\x4c\xb6\xa9\xd3\x69\xd5\xd6\x02\x05\x2b\x9d\x4d\x30\x06\x81\x12\x56\x6c\xfe\x0a\x68\x55\xd7\xe4\x69\x9f\x8f\xe9\x6c\xfa\xce\x26\xf5\xeb\x82\x55\xdd\x41\x59\xf5\x7a\xdf\x51\x5f\x30\x36\xd4\x84\x36\x50\xd9\x24\x35\x2b\x2f\xec\x99\xfc\xe0\x2e\x58\x35\x38\x74\x4f\xd9\x89\x34\xdd\xef\x66\x1c\xbc\x88\xcb\x68\x23\xda\xce\x90\x1a\x6c\xd1\x9e\x2b\xfe\x62\x58\x07\xee\x8d\xfb\x31\x1e\x97\xbd\xf2\xe5\x49\xad\x5c\xf1\x2d\x83\x63\x0b\xae\xba\xed\x8e\xdb\xae\x5a\x30\xdf\xd4\x6c\x52\x84\xdf\x0a\x8a\xa9\xd9\x34\x5f\xb9\xa4\xbd\xbb\x87\xe9\xa8\xa9\x69\x17\xfa\x63\x8e\xe1\x8d\xc3\x8e\x58\xbf\xd0\x5e\x53\xd3\xc1\xf4\x74\xb7\x5f\x72\xc1\x3d\x5f\xfb\xd6\xd7\xee\xb9\x80\x50\xce\x6b\x2c\x2e\x7b\xe5\xc0\x50\xf2\xbc\xbd\xcb\xdb\xdb\x97\xef\x3d\x6f\xdb\x72\x73\x9b\xf9\x13\xf7\xdc\xf3\x09\x73\x9b\x79\xf9\xb6\x4f\xee\x9a\x3d\x74\x4d\xdc\x97\x0e\xd7\xd6\x86\x93\x75\x6e\x4f\x2c\xde\x96\x4c\xb6\xc5\x63\x1e\x77\x5d\x52\x8b\x4b\xfb\xe2\xd7\x0c\xcd\xde\xf5\xc9\x2d\x4f\xec\x9a\x3b\x77\xd7\x13\x74\xfe\xd7\xb1\x67\xbd\xd4\x06\x85\xb2\xa9\xcb\xb2\x21\xdd\x8f\x24\x55\x97\xb0\x55\xe0\x52\x46\xca\x86\xea\x3a\x9c\x99\x70\x7a\x4c\x16\x2c\x16\xf5\xdf\x8c\x46\xc8\x52\x57\x91\x23\x82\x5c\x40\x99\x3c\x3d\x46\x51\x7e\x47\x74\x14\x49\x18\xc9\x09\x72\x4e\x90\x4d\x90\x35\x0a\xa2\x96\x5a\x16\x72\x32\x0e\x16\xc1\x22\x29\x6b\xb9\x04\x09\x59\xc4\x08\xa4\xbe\x89\x52\xd4\x06\xb8\xb5\x2c\x01\x2a\xca\xb2\xe2\x19\x48\xb3\x1f\x20\x57\x66\x91\x24\x8e\xd3\x07\x8f\x0b\xb2\x11\x46\x8c\x3e\x23\x6c\x32\xe1\xa2\xb4\xf9\xce\xeb\x30\xb4\xbd\xfa\x29\x20\xdd\x8b\x36\x8d\x1e\x6b\xbe\xf9\x51\x3c\x22\x4a\x30\x42\xe5\x3c\x63\xd4\x03\xe6\x98\xd1\x08\x9b\x2c\xaf\x52\x19\xf4\xcd\xaf\x67\xfc\xc2\xab\xd0\xf6\x2f\x47\xfa\x8e\x8d\x0e\xf5\xd5\x9f\x3a\xb3\x8c\x51\xaa\xb8\xac\xe3\x53\x94\xf4\x70\x13\x05\x44\x88\xb3\x96\x51\x7b\x8d\xcf\xa8\x3e\x64\xaa\x28\xec\x07\x94\x71\x4c\xd4\x6a\x62\x54\x1f\xb2\x58\x44\x49\xa5\x6d\x0c\x23\xb2\xfa\xce\x59\x0a\x89\x2a\x7d\xa4\xf3\x68\x1d\x1a\x29\x4b\x74\xd8\x92\xae\x06\xc9\x70\x75\x40\x41\x0a\x74\x50\x82\x54\x32\xe3\x0a\x64\x5c\x75\x14\x7c\xb7\x88\x66\x16\xa5\xd3\xd1\xb4\xeb\x48\x34\x99\x8e\xe1\xa8\x9f\x29\x29\x76\xe8\xa2\x5e\x26\xa2\xab\x6d\x98\xc3\x73\x76\xcc\x77\xcd\x59\xb8\x73\x6c\xe7\xa2\xae\x9a\x83\xb0\xf0\x60\xcd\xe8\xb1\x40\xe7\x70\x67\x60\x68\xc7\x10\x3d\x2f\xe8\x06\x60\x4c\x86\xf9\x3b\xe6\x84\xcd\x6a\xae\xa0\xc6\xf1\x73\x2a\xc2\xde\x77\xc3\x1d\x77\xdc\x30\x7f\xff\xb1\x6b\xd6\x5b\x93\xf3\x5f\x70\x6c\xed\x1d\xde\xb9\x73\xb8\x77\xab\xe3\x85\xbe\xfa\x1d\x3b\xea\xfb\xb2\xc7\x46\x2f\xa8\x6b\xd1\x3e\xee\x96\xba\x0b\x92\x43\x43\xc9\xf2\xd5\xfc\x3d\x0d\xa6\xb9\xf5\xc9\x16\xd9\xba\xfe\x9a\x63\xfb\xc9\x4f\x0b\x0a\x1d\x25\xdb\x72\xbd\x2d\x96\x96\x29\xbd\x8c\x83\xe3\xed\x0e\x26\xd0\xd8\x0b\xba\xdd\x6f\x22\xee\xa6\x62\x1f\xfa\x45\xd8\x1d\xae\x40\x5a\xd7\xc5\xa7\x3c\x21\xbd\xf7\xec\x0e\x8e\x77\xea\x77\x28\x25\x11\x2f\x99\x2d\x2c\xea\xd2\xe1\xa3\x1f\x79\x3d\xe2\xe5\x4c\xf6\x9e\x50\x6a\x70\x30\x15\xac\x3f\x09\x86\x93\xf5\x41\x2d\x1c\xea\xb1\x9b\x38\x6f\xe4\xf5\x47\xb4\xa8\xae\x45\x3b\xc7\x76\x12\x5d\xe9\x20\xdb\xb7\xd9\xa9\xee\x3e\xf1\xc6\x1b\x27\x0e\x3a\x7e\x7a\x84\x42\x6a\xf8\x1b\x07\x47\x07\x25\xf5\x4a\xca\xbd\xbb\x57\x1a\x1c\x1d\x6c\xf4\xe3\x88\x57\x45\x47\x7e\xea\x38\x48\x23\x0f\x3b\x37\xf7\x0d\xef\xdc\x59\xf0\xf5\xa9\xcb\x55\xb5\xdd\x6c\x58\xd7\x8d\x62\xcb\xf0\xe8\xf6\xa0\x3d\x51\x52\x85\x2a\x60\xa8\x27\x8a\x1a\x51\xea\x18\x45\x75\x64\xc6\x26\x91\xa2\xab\x40\x61\x74\x70\x43\x36\xbb\xe1\x20\xa3\x28\xca\x04\x3a\xb8\x81\x64\x37\x1c\x9c\x40\x2c\xd2\x35\x9f\xc6\x27\x73\x1b\x0e\xb2\xe8\x20\xc2\x15\x36\x62\x89\x2a\x0b\xb1\x0f\x6f\x15\x46\xb2\x1f\xd2\x10\xec\x43\x19\x7e\xe9\xb4\x61\xb6\x40\xdb\x37\xd0\x9e\xa6\x95\x85\xa0\x3e\xe8\x91\x4d\xa3\x25\xa6\x71\x10\x38\x65\xe7\x70\x36\x3b\xfc\xfe\xbb\x3c\x3a\x36\x3a\x81\x46\x8f\xf1\xd9\x37\x4e\x64\x0f\x6e\xc8\x67\x37\x1c\x8c\x78\x19\xe5\x04\x99\x35\xb6\x53\x55\xf2\xb9\xd1\x63\xc7\x18\xa3\xfa\x9d\x37\x02\x5a\x7b\xe1\x71\x6f\xa4\x12\x0b\xbd\x1d\x0d\xe8\xd4\x00\x5f\xb2\x30\xd5\x87\x14\x1d\x32\x2e\x1d\x7b\x65\x7a\x98\x2d\xa5\x0c\x55\xfa\x5d\x5d\xd4\x45\x81\xff\xbb\x16\x55\xc2\x28\x44\x92\x11\x82\x68\xfc\xb8\x20\x9f\x3c\x08\xc8\x1b\x61\x73\x79\xa5\x77\xab\x63\xf2\x3d\xed\x23\x20\x66\xc7\xd6\x5e\xac\xc3\xc3\x8e\x50\x65\xbc\xb1\xea\xf0\xfb\xd4\x67\x06\x46\xb2\x40\x02\x07\x4f\xea\x72\x5f\xdd\x7e\x45\x46\xde\x02\x06\xee\x2a\xea\xd1\xc0\x59\x2d\x64\xe7\xed\xc1\x48\x14\x22\x50\x58\xe1\xed\x30\x0d\x5e\x26\x92\x62\xab\xa4\x80\xd5\x52\x41\xf6\xa4\xaf\xa9\x24\x79\x57\x9a\x46\x7c\x07\xe1\x7a\x93\x45\xfd\xbe\x05\xb6\x50\xf5\x06\x04\x48\x12\x8b\x90\x33\xa2\x84\xc7\x8b\xa1\xca\x58\x49\x64\x0e\xfa\x46\x9a\x26\x14\xed\x29\x1c\x95\xc2\xcf\x57\x6f\xaf\xb3\x40\x97\xe5\xb4\xc4\x20\x8d\x1c\x38\x8d\xc8\x48\x51\x68\x24\x8e\x95\xa5\x7b\x53\xa8\x1c\x46\x8e\x0a\xfc\xfa\x33\x65\x49\x5f\x44\xdf\x46\x3f\x46\xff\x89\xfe\x8c\xa6\xc0\x0a\xf5\xd0\x0e\xbd\x67\xfa\xad\x4e\x55\x5d\xb3\x55\xd7\xd5\xe9\xab\xfd\x56\x57\xdf\x3f\xd7\xf5\xff\xeb\xfc\xe7\x4a\x5f\x5d\x5f\xd0\xa6\x98\xa2\xb6\xe5\x19\x58\x4c\xa0\x94\x51\xba\x2b\xf0\xba\x51\x39\x3c\x55\x11\x26\x67\x89\x3f\x5b\xf8\xff\x46\x7a\x7c\x96\xf8\xe9\x65\x06\x65\x42\xd1\xea\x46\x81\xb1\x50\xa5\xf7\xf7\xf1\x52\x4d\xff\x7a\x66\xc5\x2b\xe2\xf2\x7f\x9d\x21\x72\xa6\xd0\xff\xa9\x84\xea\x4c\x91\xe5\xc3\xe9\xa3\x1c\x3a\x8d\xc6\x75\x02\xae\x42\x1d\x18\x09\x1f\xf8\xcd\x7c\x0d\xfd\x02\xbd\xf7\xff\xfe\x2b\xf9\x9f\x8c\xd2\x92\x5e\x46\xc5\x78\xad\x81\xa2\xbf\x81\x50\x6a\xba\xb6\x51\x2f\x24\x9c\x67\xe2\xdb\x27\x82\xa5\x1d\xcc\xff\x95\xd1\xfd\x61\x47\xdf\x94\xb6\x13\xce\x36\x75\x6a\x61\x7d\x14\xd2\x5b\x15\xe5\x51\x0a\xcf\x2b\x8e\x4d\xc8\x76\x36\x41\xae\xa9\x13\xb2\xff\xc7\xc6\xe8\x39\x46\xd4\xe4\x51\x46\x09\x68\x13\x76\x60\x42\xa1\xe3\x8a\xe4\xf4\x82\x8e\x8c\x94\x14\xab\xf4\x70\x7b\xf9\xf3\x01\x9a\x43\x1d\x8f\x20\x96\xca\x5e\x75\xba\xcd\x86\x3c\xa8\x07\x6d\x99\x2e\x7d\xa5\x10\xae\x45\x72\x4e\xa6\xdd\x57\xf2\x1e\x11\x2a\xba\x90\x70\x96\x7a\x33\x9e\xd6\x01\x20\xa6\x09\x68\x23\x54\x3a\x9b\xd6\x65\xb3\xa5\x65\x98\xb2\xdd\xd4\x17\x40\xf9\xb4\x68\xf8\x2e\x8f\x59\x44\x23\x5e\x90\xc4\x71\x2a\xea\xd6\xb1\xf3\x8b\x41\x40\x11\x6f\xae\x28\xaf\xa5\xdf\x8d\x57\x7e\x5e\xce\x7a\xc7\x74\x29\x4e\x81\x85\xa7\x00\xc2\xfc\x77\x2d\xa6\xfc\x93\xf4\x9a\x04\xce\x78\x8e\x16\xc4\xb1\x09\xc5\x1b\x29\x4a\x6e\x23\xc9\x08\x8c\x79\xb3\xf2\xf3\x32\xd5\x57\x8f\x14\xb1\x25\x74\xdc\xfa\x28\x9a\x8d\xfa\xa9\x8d\xfb\x87\xa9\xfa\x87\xa2\x0a\xe9\xee\x69\x86\x2a\xe6\x75\x6a\x51\xa1\xd4\x0f\x93\x9b\xc8\x8d\x95\xa9\xc5\x40\x60\xc3\x41\x18\x9b\xb9\x36\x7f\xfa\x40\x22\xb2\x88\xcf\x41\x71\xe1\xe7\x20\x04\x9c\x00\x7c\x48\x27\xc1\x5b\x49\x2a\x61\x0f\xf1\xa1\x68\x2a\x91\x4a\xa4\xa2\xa9\x4c\x2a\x94\x0a\xa5\x32\x09\x77\xc2\x1e\x4a\x75\x63\x5d\xd7\x17\x12\x6e\xd6\x0f\x6e\x5e\x01\xf5\x0d\x75\x6c\x3c\xab\xfe\x62\x81\xd6\xfc\x23\x63\xd9\xec\x58\x6e\x24\x10\x50\x72\x39\x25\x10\x18\xc9\x69\xd7\x94\x18\x5a\x00\xe1\xec\x38\x8c\x28\x47\x0c\x38\x1b\xc8\x06\xb2\xea\x98\x51\x34\x06\x60\x6c\x3c\x90\x0b\x18\x3c\x8a\xc7\x10\xc8\x05\xc6\x61\x2c\x60\xd4\x36\x82\xd9\x80\x6f\x96\x89\xee\x1f\xb2\x05\xfd\x13\x0e\x79\x74\xe9\x84\x46\xe6\x3a\x83\xa9\x0c\x6d\xcf\x68\x26\x98\x09\xba\x79\x0a\xc0\x3d\x98\x62\x94\x09\x45\x51\x4e\xbc\x91\x0d\xc0\x78\x80\xe4\x02\x59\xac\x68\x5f\x6b\x6a\x50\xcd\xe6\x72\xb9\x37\x4e\x40\x36\xab\x28\xb9\xc0\xe4\xf8\x34\x9f\xa9\x09\x84\xc2\x65\x77\xa9\x55\x7a\x8f\x3a\x3c\x08\xc5\x3f\x3c\x03\x07\x88\xea\xf1\xa9\xa8\xec\xb7\x16\x17\x3d\xa7\x56\xca\x6e\x73\xba\xec\x4a\xcd\xd1\x61\x44\xc5\x47\xda\x84\xa0\xe6\xbc\x91\x08\xf9\x46\x95\x6e\x62\x55\xb9\x3e\x8c\x2f\xd7\x99\xca\xa5\xe6\xf4\xb2\xe5\xf4\x77\xe9\xa5\xca\x56\x97\x4c\x77\xe6\x9a\xd5\x4b\x37\x3d\x03\x9e\x33\xbd\x60\x18\xb5\xa3\xa5\xe4\xaf\x4c\x02\x39\x50\xb3\xb6\xa3\xad\xf6\x85\xcb\x1b\x81\x99\x29\x12\x5f\x63\x8a\x9b\xbc\x26\x35\x66\x32\xc1\x2b\x26\xaf\x29\x6e\x32\xa9\x7b\xe0\x10\xdc\x31\x63\xf4\x93\x34\x44\x63\xe0\x15\x93\x9e\x64\x8f\xba\xc7\x34\x73\xb4\xee\x57\x0d\x2d\x25\xff\x5e\x2c\x17\x2a\xeb\xb6\x94\x7d\xea\x32\x33\x45\xe2\x55\xda\xcb\xf5\xe7\x1e\x52\xf7\xe8\x0f\x85\x57\xe0\x8e\x19\xa3\xf1\x52\xbd\xac\xf4\xea\x10\x1c\x2a\x94\x38\x66\x9a\x39\x5a\x2b\xd7\x52\xf4\x31\x26\xc1\xac\x9a\xd6\x5e\xd3\xfd\x43\x48\x33\x45\x32\x89\x73\xd5\x7a\x5a\xf4\x3b\x67\x14\x55\x7b\x3f\x5c\x37\x63\x34\xd2\xcb\xf5\x24\x93\x60\xae\xa9\x6c\xaf\x2a\x1f\x13\xd2\x4c\x91\x4c\xe2\xec\xd5\x9d\x21\x1a\x3f\x79\x66\xe7\x9a\x4c\x71\xad\x60\x33\x44\x6b\x73\x51\x3b\x5a\x8a\xaf\xa1\xfd\xa8\x95\xca\x08\xd5\xee\x96\xf1\x35\xc5\xd4\xd3\xc6\x0d\x79\x67\xe6\xc6\xa2\xf3\x9b\x80\x96\xe2\x55\xa5\x67\x7e\xe8\x41\x70\xb6\xde\xa6\xcf\x5c\x0a\x02\x93\x20\xab\xf4\x67\xfe\x13\x1d\x08\x57\x9c\xad\x4f\xb4\x67\xb6\x33\x09\x72\x4d\xb9\x9c\x1f\xb2\xf1\x49\xfb\x59\x9a\xb3\x20\x87\xd6\xe9\xc6\x0e\x1d\x2f\xb5\x12\xa5\x47\x97\xe5\x3b\xfc\xa5\x1d\x79\xb2\x0f\x52\x15\x73\x08\x8f\x64\xe1\x7d\x4a\x22\x70\x59\x2a\xdb\xcf\x8f\x07\x02\xba\x93\xf4\x40\x20\x4f\x21\x92\xb8\xec\xc0\x46\x1c\x20\x94\xa6\x98\xa4\xba\xc1\x4b\x27\x72\x03\x1b\xc3\x2b\x7a\x05\x6d\x0e\x11\x7b\x86\x23\x65\x75\xb4\x0a\x1d\x10\x2b\xb5\x58\xd7\xe6\xb6\xe9\x92\x86\x10\x54\x60\xcf\x69\x65\xd5\x48\xc0\x02\xcd\x98\x60\xe3\xc9\x56\x68\x70\x24\x60\xac\xa4\xe4\x36\x30\x31\x26\x0b\x0c\x7d\xfd\x44\x4e\x90\xd9\x91\x31\x1d\xb6\x69\x8c\xec\xb4\xd9\xc6\x6c\x36\x40\x3a\x7a\xa8\x8e\x7e\x4b\x46\xca\x0c\x6e\x79\x72\x15\x65\x56\x8f\x8c\x04\x02\x25\x7d\x70\x46\xa7\x75\xdc\x28\x5a\xa6\x73\xc2\x33\xb6\x5a\x25\xcb\x40\xc7\x79\xf8\x5c\xa1\x05\x04\xa2\x37\x56\x19\x0b\x6f\x3b\x65\x20\x8c\xeb\x1c\xe5\x49\xad\x04\xe4\xc5\x69\x8a\x7a\x8c\x5e\x00\xca\x37\x71\xeb\xda\xe8\x67\x7b\x3b\xa6\x4d\xd0\x0d\xd5\x2e\x0c\xe0\x65\x0a\x88\x84\xa6\x64\x41\x45\xb4\x8e\x48\x90\x73\x5a\x13\x8c\xc1\xac\xa1\xa4\x8a\x74\xee\x43\x72\x68\x93\x8e\x9b\x44\x9b\x40\xe7\xf7\x93\xa5\x81\x40\x60\x92\x26\x60\xb4\x63\xe5\xfa\x63\x46\x6e\x84\x50\xc1\x53\x6d\x1f\xe8\xc2\xc9\x92\x97\xe7\x8f\x97\x9c\xd2\xde\x7b\xef\x19\x6e\x69\x99\xb1\x0a\xa7\xb5\xcf\xce\x84\xf5\x50\x58\xd3\x83\xd4\xfb\x4f\xb9\x3e\x7d\xb8\x1b\x8a\x8e\x8e\x4b\x6e\xc8\x2a\xdd\xfd\xcc\x9c\x80\xa0\x9d\xc3\xaa\x32\xbc\x73\xc5\x1d\xcf\xee\xa0\xab\x59\x76\xf4\x58\x67\xd3\xf8\xf0\x4e\xa2\x9c\xe5\x06\xce\x6a\xd1\x3b\x87\x71\x6e\xc7\xb3\x77\xac\xa0\x4b\xdf\xb1\xd1\x40\x53\xa7\x9e\x7c\x86\x78\x34\x63\xb9\x45\x5c\xb1\xcd\x49\xf7\xea\xdb\x99\x4a\x37\x45\x1f\x9c\x80\xa0\x33\x0a\xb6\x73\x18\x14\xad\xdc\x67\xb9\xc1\xe4\xf2\xd9\xea\x12\x03\x2d\xf1\x59\xe2\x11\xc5\xca\xcb\x4e\x65\x29\xbf\xd0\x88\xec\x14\x15\x4d\xfb\xfe\xba\x0b\xb6\x06\x3a\x8e\x4e\xbc\x64\x31\x58\xb4\x2e\x70\xe8\xec\xd7\xb2\xbd\xc1\xcc\x29\x74\xad\x3d\x2c\x0e\xa6\x92\x43\x83\xa3\xb8\x57\x17\xae\x1f\xa6\x27\x26\x4f\x5d\x05\x8c\x0e\x4e\xf6\x6c\x3c\xb8\x71\xe3\x41\xe6\xdd\x82\xe8\x5d\x07\x34\xbb\xf9\xe0\x86\x8b\x6e\xb9\xe5\xa2\x0d\x07\xbf\x3b\x3a\xa8\x25\x54\xff\x4b\xa7\xd6\x75\x41\x7a\xfe\x2e\xed\x81\x83\x83\xe4\x7f\x6b\x59\x37\xe6\x3f\xa3\xdf\xd4\x4d\x12\xd4\xab\xf5\x9c\x07\xa7\xeb\x8c\x98\x75\x3d\xca\xe2\x28\xe5\xaa\x51\x49\x0a\xba\x8d\x15\x83\x71\x9a\xff\x5a\x70\x10\x11\xf3\x45\x10\xd3\x74\x2a\x19\x63\x5b\xa7\xeb\x5f\x39\xed\x89\x80\xec\xe2\xd1\x01\x62\xb5\xf0\x16\x9b\xd5\xce\xb2\xa1\xbe\xcd\xbb\x3e\xf1\xc9\xcd\xe3\x11\xea\xae\x56\xdb\x43\x26\x23\xe3\xf8\x7f\x3d\x9c\x82\xb1\xcf\xa9\xbf\xe1\x1b\xbc\x46\xbb\xc3\x6a\x0c\x71\xf3\x33\xdb\xc6\x76\xaf\x49\xd7\x5b\xa6\x90\x37\x42\x93\x69\x87\x88\x77\x0a\xa9\x57\xdc\x5a\xc2\x92\x45\xf4\xbb\x9b\x8d\xd6\x69\x2b\x81\x08\x0d\x31\x48\x52\x2f\x7b\x15\x61\xb7\x8e\x2a\xd5\x10\xd5\xf5\x23\xfd\xa4\x1b\xe2\x7d\x44\x76\xf0\x22\x13\x6a\x88\x31\xd1\xa2\x64\x4c\xe7\x9b\xbb\xfb\x20\x41\x99\xbf\x58\xa9\xe9\x5d\xdd\x5b\xa3\x1d\xf0\x27\x4a\xc1\x67\xee\xb8\xae\xf9\x81\x45\x5f\x58\x74\xbc\xf5\xba\x3b\xb2\x9b\xef\xbd\x75\xe5\x63\x2b\x6f\xbd\x77\x73\x76\xbc\x37\x72\xdb\xd1\x7f\x3b\xb6\x61\x99\xf2\xe8\x1d\xb7\x8f\x06\xfb\x6e\xaf\x4d\x5c\xfe\xc8\x65\x47\x1f\xfe\xf8\xc1\x4b\x1f\xb9\x2c\x51\x7b\x3b\xec\x18\x5e\x3d\x7f\xfe\xea\xe9\x87\xbd\xd7\x3f\xe6\x34\x9b\x9d\x8f\x5d\xbf\xee\x96\xc1\x76\x51\x6c\x1f\xbc\x05\x0c\x3f\xde\xbb\x74\x67\x4f\xc8\xc8\xc9\xcd\x7d\x5b\xe7\xde\xf4\xf2\x3b\x27\x56\xae\xbb\x76\xfb\xf2\xd5\xa1\xc0\xca\x65\xdb\xaf\x3d\x7f\xc5\xd8\xf4\xef\xca\xad\xf5\x42\x61\xde\xd3\xbe\x9a\x0f\x9c\x7d\x75\x6f\x49\xa8\xb3\x29\x9f\x2d\x8b\x9f\x99\x5c\x53\xe7\x19\x0e\x94\xc6\x31\xbd\x97\x2d\x41\x0a\xe2\xb7\xaa\x3d\x2a\xe9\x7e\x2c\x77\xb3\x0a\xb2\xa3\x28\x5a\x80\x10\x24\x75\x10\x3b\xce\xe9\xa0\xa0\xbd\x90\x0e\x07\x53\xd5\x05\x83\x3e\x60\xcb\x9e\x97\x2a\xcb\x45\x25\xe6\x6e\x17\xf7\x5e\x6a\x22\xd7\xb4\xde\xab\xfe\x5c\x4a\x31\xd9\xa6\x0d\x35\x10\x91\x26\x0e\x13\x54\xc4\x2e\xd4\x0a\x0d\xa8\xed\x08\xdb\x15\x53\x7f\xd6\x7a\xef\xbc\x89\x5c\xa9\xdc\x81\x0d\x07\x73\xe9\x0b\x5d\x56\x7c\x51\xa8\xb5\x5e\xbd\xcf\x63\x0b\xb5\xd5\xc3\x65\xae\x7f\x1d\x2b\x57\xe5\x09\xe8\x4e\x2d\xf8\x4c\xdf\x1c\xf5\xbe\xd4\x82\x72\x65\x36\x8c\xcd\x8e\x05\x4a\xfe\x8b\x0a\xfe\xc8\x7d\xa8\x11\x25\xa9\x97\x21\x2a\x42\x8d\x50\xb8\x11\x8a\x07\xdd\x07\x7e\xa8\x06\xf5\x43\xb6\x18\x0e\x88\xd8\xe6\xc7\x81\x3e\x90\x2a\x9d\x94\x5f\x19\xfe\xa1\xfa\xc3\xb0\xc1\xe3\xad\xe9\x30\xd4\xdc\xf6\xd8\x6d\x35\x86\x59\x71\x8f\x6a\xd2\x75\x69\x06\x75\x5d\x9a\xc1\xed\x4f\xbc\xa3\x4e\xbe\xf3\xc4\xf6\xed\x4f\xbc\x03\xcc\x3b\x4f\xbc\x59\xed\x68\xfd\xc5\x1b\x3e\xfe\xf1\x1b\x6a\x3a\x0c\x06\x8f\x77\x78\xcb\x96\x61\xaf\xc7\xd6\x01\x3f\x1e\xd5\x73\xd3\x4f\x5f\xd5\xb2\x6d\x2f\x3f\x06\x67\xab\xbf\xdb\x99\xeb\xe6\xa2\x30\x7e\xba\xbc\x3f\x1a\x83\x8c\xf6\xb9\xfc\x13\x75\x33\x78\xe2\xb3\x0a\xb5\xea\xa8\xf1\x7a\x0c\x5a\x5d\xd5\xcc\x3f\x57\xb7\x44\x4d\x87\xad\x58\x2d\x83\xa1\xa3\xe6\x86\x8f\x7f\x1c\x1b\xff\xa7\x75\x33\x53\xdd\xfd\x56\x94\x29\xeb\x21\x6a\x43\xec\xc3\x57\x49\x89\x78\xf3\x74\xbf\x89\x15\xaf\x1a\xf9\xe7\x6a\xa2\x0b\x05\xe1\x2b\xff\x54\xe1\x0b\x74\x1e\x83\x0a\xab\xcc\xbc\x0f\xc7\x21\x61\xaa\xf4\xbb\x1a\x6d\x28\xd4\x10\x0d\x71\x3a\x04\x44\x30\x4e\xb2\x92\x98\x93\x44\x45\x94\x74\x8b\x87\x62\x10\x67\x0b\x95\x29\x9c\xd4\x57\x5f\xcd\xdd\xfb\xfa\xbd\xb9\x57\xd5\x57\xa1\xed\x55\xa2\xbc\x0a\xb9\x33\xf2\x68\xc1\x4b\x68\x75\x0a\x1a\x5e\x14\xa7\x5c\x51\xa0\x0d\x1e\x83\x36\xa4\x51\xa8\x45\xbe\x88\x36\x17\x87\x50\x07\x5d\x2b\x57\xa1\x4d\xe8\x32\xb4\x07\xdd\x42\x39\xaf\x9f\x41\x5f\xa6\x52\xfc\x56\x68\xe8\x85\x64\x37\xc4\x33\x15\xe1\x68\x45\x18\x9c\x8e\x50\x50\x0b\x27\x82\xf1\xf0\xd9\xd3\x9c\x33\xfe\x6c\x61\xb6\x32\x6c\x2f\x85\x53\xda\xb5\x4c\xbd\x93\x55\xcb\x04\x6c\x23\x36\xdb\x88\x4d\xb1\x8d\xdb\x6c\xe3\xb6\xc2\x15\x83\x6c\x93\x63\x36\x1b\x19\xb1\xe5\x4b\xf7\xe9\x09\x66\xbe\x2c\x9e\x55\x54\xb8\x2e\x9f\xc7\x6d\xb6\x9d\x5a\x86\xf7\x15\x1e\x0d\xa6\xde\xa7\xd8\x99\x9c\x92\x1a\x84\x9d\x34\xc5\xbb\x15\xc7\xfc\xbb\x67\x44\xa9\x33\x5c\x14\x4e\xa0\x9f\x0a\x7f\xea\x18\x4d\x67\xcb\x23\xa2\x4c\x2a\xda\x4f\x7b\x11\xd1\x8e\xa8\x80\xa3\xa9\xf3\xea\x5c\xa8\x05\xad\xd5\xa8\xb5\xa2\x6e\x10\x6f\xa7\x7e\x42\x28\x36\x00\x54\x89\x0d\x0b\xd2\xc1\xa2\x75\x5c\x0c\x87\x1a\x98\x12\x7a\x44\x86\xaa\xbd\x16\x2d\xc6\xdc\x2e\x4e\x79\xfc\xd0\xca\xfe\xad\x8f\x6d\x7c\xf2\xcd\xf7\x4e\x66\x2e\xde\x92\xc9\xf8\xda\xba\xae\x9f\xb8\x22\x54\x47\xe5\x5d\x75\xa1\xc1\xd1\x41\x36\x17\x32\xf1\x3f\xbf\x7f\xdd\x42\x5f\x76\xe1\xce\x39\xdb\xd5\xf7\x36\x59\x25\x9b\x2d\x50\x1f\x3a\xff\x63\x8f\x2c\xde\xf9\x9d\x9d\x91\xc4\x8d\x27\x5d\xc6\xfa\xfa\x7a\xf8\x23\xde\xb1\x3e\x30\x3b\x73\x20\xff\xf8\x2e\x6b\xb8\xa6\x56\x74\x91\x5d\xa1\x39\xf6\x09\x91\xca\xdf\xfe\x62\x9f\x13\x4a\x0d\x0e\xee\xce\xb3\x51\x89\x65\xae\x0d\x89\x41\xbf\x6f\xdd\x1c\xa3\x41\x0e\xe3\x37\x43\x0e\x67\x6b\x6f\xa4\x2f\x23\xef\xb4\xb0\x36\xc9\x81\x10\x57\xaa\x3b\x8b\xcc\xa8\x05\xc5\xd1\x42\x74\xb5\xf6\x1d\x72\xbc\x33\x2d\xd3\x23\xa4\xb8\x68\x2a\x12\x8d\x19\x43\x0d\xbc\x93\x56\xca\xed\x74\x25\xe2\x72\x4a\xab\xab\xd3\xf5\xff\xab\x59\x48\xf6\x2b\x2f\xbc\xf8\xe5\x2f\xbc\xfa\x13\xf2\xfb\x3f\xde\xe7\x90\xd9\x4e\x21\x2e\xc7\xbc\x6d\xa1\x36\x97\xdb\x2b\x6f\xff\xca\x65\xb2\xa3\x65\xf6\xf5\x4f\x3e\x7e\xa8\x3d\xf8\xf1\x89\x2f\xfc\x8f\xda\x0a\x7b\x72\xb6\x6d\xcf\x8c\xc0\x53\xdf\x33\x5c\xf7\xec\x55\x6a\xe7\xd7\xaf\x6d\x1f\xe7\x8c\xc4\xc7\x79\x78\x99\x33\x33\x0c\xf9\xd5\x9c\x94\x91\x3b\x69\xc7\xfc\xb3\xeb\x0d\xcf\xb5\xc0\x9f\xfe\x67\x0d\x89\x91\xa0\xd1\x25\x94\x7f\xd0\xa8\x7b\xe3\xac\xe2\x1f\xb8\x1c\xd5\xf6\xa7\x78\xf1\x4c\x0c\x05\x13\xd3\x2e\x89\x93\x54\x10\x4a\xb4\x59\xab\x79\x66\x2e\x8a\xda\x5e\x61\x79\xa7\x8d\xe1\xf6\xa9\xa3\xfc\x2a\xe6\x1d\xfa\xfe\xae\x82\x8f\xd1\xe9\xec\x35\x97\xc3\x08\x22\x74\x40\x0c\x32\xd0\x47\x21\xac\x67\x2c\x26\xbe\x74\x26\x6e\x9b\x09\x2f\x50\x0f\x33\x6e\x4b\x9f\x20\x30\xb0\x5b\x0f\xe0\x8f\xcd\x58\x81\x43\x33\x73\xa2\x98\xe0\xe9\xf7\x04\x81\xb1\x33\x6e\x81\x35\xeb\x81\xfc\x8e\x99\x2b\x57\xd6\x8d\xff\x26\x72\xa2\x6e\x3a\x7b\x16\xe0\x69\xb4\x0a\xb9\x5d\x75\x40\x01\xeb\x1c\x22\x29\x80\x38\x48\xd1\x18\x44\xab\x12\x39\xed\x8c\xdb\x85\x15\x8a\x60\xa3\x93\xdb\x75\xcd\x51\xf5\x1a\x59\xe6\x84\x86\xd6\x94\x8f\x33\x38\x38\x52\x83\x5b\xef\xcb\xbe\xf6\xd0\xf4\x34\xf0\xc9\x93\x8f\xc3\xf3\x0b\x5b\xec\x6c\x91\xf6\xae\xb7\xdb\x5b\x16\xa8\x57\xcb\x49\x59\x5d\x3a\xe7\xfe\x7d\xfb\x3a\x2d\x76\x30\x78\xe1\xc8\x67\x17\x2d\x17\x26\xaa\xd2\xa9\xa7\x7d\xff\xf6\xa4\x4e\xab\xe2\xa9\x27\xb9\xfd\xec\x38\x32\xa1\x26\x84\xa0\x1d\x3a\x80\xd8\xdd\x2c\x89\x1a\x41\xa6\xf8\xad\x61\xea\xf3\x28\x23\x43\x24\x9d\x09\xcb\x1a\x05\x2e\xb3\x7e\x60\x1e\x06\x50\x3f\x35\xe0\x3f\xd1\x0d\x7d\x3d\x16\x78\x4f\xbd\x6f\x2d\xeb\x72\xdb\xdd\x6a\xbf\xda\xef\xb6\xbb\x5d\xec\x5a\xf5\xe3\x01\xa9\x1d\xfe\xf6\x86\xa3\xce\xe7\x7c\x03\xfe\xd6\x2e\xe1\x79\xa7\x93\xa6\x1e\x18\x98\xec\xad\x7f\x0c\xb6\x0c\x40\x4a\xfd\xb4\x6a\x09\x86\x2d\x6f\xbf\x6d\x09\x07\xe1\xbf\x61\x73\x20\xc3\x2f\x86\xef\x37\x37\xab\x5d\x8b\xf9\x4c\x09\x7b\x57\xa1\x3a\xc6\xa8\x0c\xaa\x1f\x6c\x88\x41\x9a\x2a\x98\xb9\xfd\xc0\xde\x90\x57\xec\x4d\xac\xc9\x55\x9b\xcf\xb9\x42\x26\xc9\xc1\x22\xc1\x56\x2b\x59\x79\xe6\x33\x13\x28\x84\xd9\x90\x0b\x67\x6b\xdb\x9a\x4c\x58\xe1\x65\xb1\xb9\x88\xb5\xa9\xd1\xe6\x18\xb1\xa8\x93\x22\xf8\x1b\x21\xa8\x4b\x00\x4b\x62\xbe\x60\x41\x97\x42\xdf\xe8\x96\x9d\x50\x67\xd2\x71\xb7\xcb\x61\xd5\x95\x5e\xda\xf1\xaa\xbc\x82\x57\xe5\x9f\x64\x94\xa2\xa8\x62\x72\x6c\x9a\xe4\x82\xac\xfa\x9b\xc9\x6b\x32\x1a\xff\x4e\x05\x3b\x78\x55\xfe\xe7\x78\x55\x7e\xa4\x42\xba\x41\x46\x2a\x24\x1c\x7f\x37\x1a\x4d\x5e\xd3\xdf\x26\x9f\x94\x50\xc1\x7f\x11\x53\xf6\xa3\x32\x58\xe6\xa3\x48\x55\x3a\xe3\x19\x07\xc7\xeb\x3e\x62\xea\x80\x32\xc0\xe8\x76\x2f\x53\x9c\xe7\x9c\xda\xdc\x97\xce\xf4\xb1\xa9\x42\x04\x04\x3a\x87\x3b\x8b\x7f\xf8\xeb\xf4\x74\x3c\xd9\x86\xc7\xe7\xdd\xae\xac\x6a\x4b\xee\x1c\xdb\x99\x6c\x2b\x9c\xd2\x5b\x33\x73\x87\x5a\xa2\x76\x7a\xe9\xa1\x59\x98\xaf\xd3\xd3\x79\xf4\x38\x92\xbc\xa0\x46\x7d\xe3\x40\xa4\xb5\xa9\x6f\x81\xb7\xe6\x82\xa4\xb6\x71\x4f\x5e\x50\x43\x92\xe5\xb0\x6a\xf5\xd6\xdb\x6b\xc2\x2d\x3d\xcb\x0b\x91\x3a\xd6\xbd\x42\x6d\x39\x05\x54\x83\xc2\x28\x8b\x36\xa0\x1d\xe8\x5a\x74\x73\xc1\x43\x70\x81\xf3\xe8\x72\xb8\x75\x9d\x58\xaa\xe3\x12\xa9\xa0\x17\xd9\x92\x8d\x42\x34\x03\x7e\xe8\x07\x0a\x51\x91\x71\xb9\xc1\x05\x7c\x09\x2c\xc7\x0d\x7c\x84\x2a\x23\xf6\x17\x0c\x11\x98\x8a\x47\x40\xc5\xa3\xd9\x69\x2f\x85\xaf\x4d\x21\xb3\xc7\x6c\x34\x02\xd2\x3a\x6f\x4c\xf7\xb4\x34\x5e\x61\x0b\xcb\x62\x1d\x02\x47\x7d\xda\xe9\xfc\x33\xd8\x6b\x57\xd6\x1e\xf5\xf9\xd4\x3f\x49\x21\x27\x0c\xaf\xce\xdf\xff\x67\xf5\xcf\x05\x38\x1d\x90\xa4\x90\x53\x7d\xaa\x80\x98\x03\xcb\x9c\xf8\xae\x8a\xc7\xe4\xff\xa2\x3f\x1a\xee\x9f\xf6\x42\x30\x4e\x21\x3a\x12\x80\x9e\x12\x15\xe6\xb8\xe3\x34\xfd\xd8\xf5\xab\xee\x5d\xb5\x06\x96\x3b\x43\x92\xfa\xa7\x5a\xd0\xc1\x75\x40\xfe\xb3\xd3\xa9\x3e\xb5\x16\x6f\x94\x40\x2a\x00\xee\xa8\x7f\x7a\xd7\xe9\x84\xe1\xb5\xd7\xd1\x0c\xea\x97\x9c\x97\xea\x4e\xa3\x50\xc5\x23\x3f\x3b\xed\x65\xda\x7c\x30\x82\x10\x99\xa4\x7c\xcd\x1e\x5d\xaf\x73\x9a\xe4\x5b\x9b\xcd\xc4\xca\x58\xaa\xe8\x5e\x80\x85\xa6\x6b\x29\x64\xa4\x60\xdc\x8f\x71\xce\x63\x7b\xd7\xe6\xa1\x07\xe8\xa9\x8f\x2e\x6a\x8b\x36\x67\x3c\xb6\x77\xad\xce\x9b\x97\x75\xc7\x2f\xea\x9d\xdb\x1a\x3a\x4f\x90\x2c\xc2\x23\x02\x6b\x18\x83\x59\xc3\x0f\xdf\xbc\x12\x3c\xc5\x0c\x1e\x7c\x5e\x7a\x63\x77\x4f\xad\xcb\xbd\xba\xc6\x5e\x1f\x96\xdb\x57\x1d\x0d\xd5\xce\xe9\x68\xc9\xd6\xd5\x5c\x68\x33\xec\x33\xf9\x05\x30\xf5\xed\xb8\xbf\xb8\xd7\xc6\xda\xf7\xec\x47\xb1\xe9\xc8\x17\xba\x9b\xde\xe2\x42\xe6\xd4\xbe\x59\x52\xbd\xba\x29\x3a\x0f\x38\xe2\xcd\x66\x8b\xae\xb0\xb3\xde\x88\xa2\xfb\xa2\xd1\x81\xc8\x4a\xb0\x17\xa0\x14\x04\x63\xf9\x5c\x84\xd9\x4e\x05\x4b\xba\xe1\x2b\x46\x9b\x11\xc2\xfe\x92\xdf\x91\xaa\x97\xc8\x44\xdf\x4f\x47\x49\xa4\x60\xc3\x5d\xf9\x78\xbf\x0f\xa2\xda\x65\x14\x7c\x10\xf6\x42\xd6\x1b\x86\xc0\xb8\x76\x53\x3b\x30\x5c\x9e\x26\x24\x14\x10\x4d\x9b\xb1\x10\xab\xb2\x97\xa1\x30\x5a\xa2\xd5\x35\xd4\x01\x91\x28\x75\x71\x68\x85\x60\x2a\x21\x93\x50\x2a\x48\x21\x0f\x12\xe9\x7e\x1c\x74\x86\x88\x0c\xce\x20\x55\x27\x66\x8a\x7d\x14\xd5\x7d\xd8\x50\x4b\x9d\x44\x8a\x7c\xe4\x1f\x27\x3c\x06\x42\x80\x30\x60\xb2\x7e\x52\x55\x95\xef\x3d\x73\x08\x1c\x87\xb1\xd3\x40\x08\x31\xd4\xdc\x09\xb0\xef\xeb\x3f\xc2\x7f\xc8\xab\x84\x49\x2e\xbb\x70\x59\xb2\xbb\x39\x11\x13\x5d\x97\x7a\xc3\xab\x2e\xbd\xf2\xf6\xd9\x83\xeb\x86\x32\xe4\xad\x47\x1f\x9d\x6c\x31\x5a\x08\x6f\xc4\x0e\xcf\xe9\x47\x21\x04\xb6\xc7\x7e\xcb\x44\x8c\x16\xa3\xa5\xe5\xb7\x8f\xa9\xef\xa9\x3f\xc5\x8f\xbe\x54\xeb\x93\xb2\xa3\xf3\xfa\x63\x7d\xc1\xc8\xec\xa8\xb9\x76\x43\xb8\x6e\xee\x9e\x2d\x9d\x1b\xbb\xe7\xb4\xf6\x04\x87\xf5\x75\x88\x9d\x42\x1c\x22\x37\xa3\x30\x5a\xfc\xe1\xea\xc6\x9e\xbd\x6e\xe4\xc3\xd7\xed\xed\xbc\xca\x90\xe9\x75\x1b\xbe\xfc\xca\xdb\x17\x6c\xd9\xba\x84\x39\x77\xd5\x7e\xf6\x52\x6d\x3b\x9c\x59\xb3\x81\x4b\xe7\xcd\x99\x1f\x1d\xa6\xf5\x02\x84\xf8\x03\xac\x8e\x37\x87\xc2\x10\x34\x82\x8b\xe3\x81\x8e\x90\x68\x84\xae\x63\xc1\xb8\x8b\x28\x30\x9c\x47\xea\x53\xdc\x7b\x56\x73\xcd\xa4\x12\x99\x93\x47\x91\x7e\x9b\xd5\x5c\x43\x94\xc8\x1c\x82\x22\xfd\x14\x67\x8f\x49\x35\x0c\xfa\x26\x51\x5b\x73\x43\xc3\xa0\x8f\x41\x6d\xcd\x3a\xbf\xef\x75\x3a\x97\xee\xd0\x31\xb2\x28\x7a\xb6\xd3\xe1\xe2\x9d\x0d\xbc\x88\x75\xf4\xe7\x92\xed\xb1\x1f\x17\xc8\x0f\xea\x23\x24\xda\x90\xb2\xfb\xb1\x4e\xe8\xa6\x92\xd4\x45\x52\x01\xa8\x84\x82\x4d\xa7\x33\x4e\xad\xf9\x9d\x0e\xb7\x8e\x3c\x1d\x77\x71\xca\x05\xcb\x9b\x17\xb7\xcf\x0f\x5f\x19\x00\x97\xb9\xe1\xc0\x8e\x58\xef\xea\x50\x73\xe8\xf2\x15\xab\xaf\xf3\x87\xfd\xb1\xf0\xf0\xa6\x63\xc6\xb0\x51\x00\x8c\x71\x7d\x98\x1c\xdb\x34\x1c\x8e\xf9\xc3\xfe\xeb\xd6\x0c\x5f\x1e\x6a\x0e\xad\xee\xcd\xbe\xd5\x01\x2c\x0b\x9e\x50\x5b\xbb\xab\x6b\xf6\x70\xeb\xca\xf5\xf0\xd5\x15\xda\xad\xbd\xd1\xe3\x51\x16\x88\xdd\x94\xea\x0a\xcf\x6f\x5f\xdc\xbc\xfc\x82\xf5\x2b\x5b\x87\x67\x77\xb9\xda\xdb\x42\x1e\xcc\x60\x0c\xc0\xa0\xaa\xac\x85\x92\x74\xa5\xfc\x55\x6f\x2b\xd0\x65\x8c\x42\x7d\xd9\x25\xe8\xf7\x88\x78\x67\xc9\x5b\x3a\x55\x40\x8f\x20\xed\xeb\xa4\x9c\x77\x14\x28\x84\xb5\x25\x21\x40\x97\x84\x80\x8b\x51\xd4\x9f\xfd\x8c\xc2\x10\x16\xf8\x0d\x80\x7e\xa6\xfe\x2c\x92\x8c\xe8\x20\x8b\x91\x64\x64\x0a\x9d\x54\xff\x71\xf2\x24\x18\x4e\x92\xac\xf2\x4b\xf5\x19\xcf\x41\x5d\xb9\xf2\xa0\x07\x16\xfd\x52\x9f\x32\x74\xfc\x46\x8a\x92\xb3\x5d\x45\x07\x4f\x9e\x3c\x88\xb5\x23\x22\x48\x98\x52\xd8\x6b\xa8\xbe\xeb\x3c\x6d\x65\x07\x3e\x52\x2a\x8e\x11\x74\x2d\x7a\xde\x95\x88\x57\x14\xf2\x8c\x0a\x44\xf9\x4a\xcc\x03\x97\x23\x0c\x3a\x08\x3a\x58\xb7\xb5\x44\x92\x11\xe6\x52\xf5\xfe\x93\x07\x33\xe9\x91\x8b\x2f\x7f\x86\x96\xf7\x8c\xfa\xec\xbb\x52\x35\x79\x4d\x2b\x4d\x26\xe6\x15\x7a\x56\x6f\xcc\x1f\x3d\x79\x70\xfb\x67\xf1\xf2\x6d\x97\x5c\xa5\x57\x20\x85\xfd\xea\xfd\xca\xc1\x93\xf2\x48\xa2\x50\x11\xef\xb4\xaa\x0a\xf3\x55\x93\x69\xa5\xc9\xab\x3d\x42\x3b\xdf\x98\x3f\xaa\xd5\xf0\xba\x92\x9e\xb4\xee\x27\xa9\x41\xd7\x73\x48\x67\xd2\xb2\xdd\x21\xb2\xd4\xe1\x65\x09\x8b\x9c\xc9\xaa\xd9\x3d\x1b\xff\x98\x9b\xb7\xe5\xd0\xb5\xfb\x53\x36\x8b\xcf\x62\x4b\xed\xbf\xf6\xd0\x96\x79\xba\xc2\x0b\xce\x62\x65\xe2\xee\xfe\x25\x5f\x27\x4f\xe5\xd1\xda\xc7\x6f\xd9\xbb\x72\xb1\x97\xe7\x38\xde\xbb\x78\xe5\xde\x5b\x1e\x5f\xab\x4f\x8c\x05\x7a\x09\x95\xf0\x21\x42\x68\x11\x42\xee\xa0\x3d\x18\xae\xd2\x7e\x38\xf3\xba\xca\x62\xa8\x40\xe8\x95\x42\x89\xb8\x4b\x61\x95\xd3\x0a\x54\x40\xbc\x90\x0a\x25\x50\x50\x86\x92\xa7\xa9\xb7\x45\x65\xe3\x40\x76\x60\x23\xe8\x27\x25\x39\xa4\x30\x28\x07\x01\x0a\xa2\x41\xe9\xbb\x8a\xf0\xb2\x09\x2a\xa2\x62\x51\x72\x48\xf7\x9c\xa7\x1f\x87\x68\xbb\x11\x4a\xf3\x8e\x23\x1e\x0d\x95\xf5\xcb\xc3\x05\x58\xc7\x70\x0c\x52\x41\xe7\x74\xc5\xda\x4c\x2a\xd4\x50\xd8\x63\xc4\x20\xd3\xc7\x94\x15\xa4\x83\xc9\x74\x26\x4c\xe1\x62\xb0\xae\x59\x4e\x3e\x67\x31\x58\x18\xa2\x66\xcd\xe2\x14\xba\xea\x1e\x7d\xf1\xdb\xb7\x25\xd0\xbd\x73\x51\xaf\x83\xb1\x37\xd9\x04\xb7\xdd\xc2\xca\x9d\x73\x2f\xed\xac\xd9\x78\x70\xa3\x08\x31\xd1\x0c\x39\xc2\x58\x0c\x16\x56\xef\xf3\x11\x35\x67\x33\xf2\x30\x82\x25\xf3\x76\xf7\x53\xd7\x4c\xd2\xa5\x8a\x04\x46\x1f\xf7\x5f\xd5\xd1\xbd\x24\x68\x08\xf1\x96\xb8\xc7\x14\x18\x9c\xbb\x40\x6a\x69\xd3\x6a\x15\xac\x37\x4b\x78\x04\x78\xa3\x56\xb7\xc6\xa9\x00\xa7\xcb\x25\xdb\x2b\x3c\xd0\x3a\x34\xea\x95\x70\x3c\xab\x23\xf8\x64\x64\x28\x85\xb4\xf2\x67\xd2\x8d\xc1\xb8\x8b\x1d\xa3\x84\x2a\x78\xee\x7f\x7a\xc5\xd5\x0e\x2c\xaa\x0a\x6f\xb4\x98\xb3\x02\xbb\x46\xfd\x2f\xf5\x6d\xc2\x89\xc6\xac\xdd\x32\x6e\xb2\xc1\x4d\x23\xc3\x27\x61\x35\xb0\xa2\x83\xd1\x29\x56\x50\xde\x57\xef\xfb\xf2\xf0\x88\xfa\x51\x9b\x69\x9c\x31\x6a\x9d\xe6\x80\x9a\x35\x60\xcc\xca\x0e\x50\x44\xec\xb8\x7a\xc5\x37\xef\x92\x4b\xfe\x7d\x4e\xe9\xfb\x0d\x20\x41\x39\x1d\x8d\xb4\x6a\xe7\x20\x09\xca\x24\x48\xf1\xad\xb9\x53\x8f\xa8\x4f\x3f\x2d\xf8\x6a\x3b\x1f\xff\x91\xfa\xf4\x8f\xd4\x5f\x6b\xc7\x4f\x30\x93\xdb\xbe\xd4\xdd\xd3\x82\x27\xf2\x2c\xc9\x76\x06\x82\x93\x8b\xc8\x33\xda\x0f\x16\xad\x58\xbc\xf8\xdb\xd3\xf5\x60\xb4\x09\x07\x85\x33\xe9\x64\xd4\x08\x45\xac\x7a\x8e\x5a\xa3\x54\x8a\x7a\xc8\xc7\xb6\xcb\xb2\xfa\x22\x24\x64\x79\xbb\xb6\xa3\x9b\x23\xcb\xf0\xbc\x9c\xc4\xb7\x56\x71\x35\x3f\xa6\xdd\x85\x04\x24\xe4\xa4\xac\xe5\x98\xa3\x27\xc6\x3f\x39\x2b\xbe\xba\xfe\x7e\x48\x53\x6b\x13\x8a\xa9\x6e\x2c\x80\xbf\x57\xbe\x1f\xbf\x08\xcf\x17\x1e\xb7\x5d\x96\x21\xa1\xbe\x48\x0b\x42\x16\x56\xbf\x5f\x2b\x95\x56\x34\xbd\x98\x2f\xaa\x2f\xd2\x1c\xe7\x7a\x3f\x64\xd2\x45\x6b\x17\x1d\x02\xdf\x58\xf5\x7e\xe6\x63\x15\xb5\x91\xcb\x95\x84\xea\x06\x00\xbd\x05\xaa\x0b\x0b\xd5\x05\x98\xa1\x0f\x8a\xcd\x6f\x2c\x36\x44\x75\x1f\xb4\x9f\x51\x2f\xbd\x13\xaa\x59\xcb\xef\xd0\x46\xa8\xee\x30\xbc\x67\x86\x36\xc8\x52\xdb\x11\x3b\x1d\x61\x99\xa0\x1c\xb4\x42\x07\x84\x64\x36\x91\x0a\xcb\xc1\x28\x04\x09\x1b\x66\x46\x6d\x93\x77\x76\xe0\xad\xae\xef\x3d\x27\x7c\xd1\x05\xa3\x0c\x5c\x12\xcf\xef\xb5\xaa\x9d\xac\xa2\xe4\xbf\x95\xff\x0e\x79\xe2\x8b\xf9\x3f\xfc\x36\x95\xba\x53\xfd\xc3\x56\xd8\x82\x03\x5f\x81\xd7\x4e\x6f\x7e\xf8\x61\x3a\x7e\x2d\x53\x59\xee\xbf\x0b\x18\x72\x41\x23\x96\x83\x3c\x1b\x96\x83\x72\x30\x13\x04\x99\x7d\x43\xfd\xdb\xe4\xeb\xf9\x85\x8b\xa0\xb9\x0e\x3e\x07\x6f\xce\x9f\x38\x6f\x0e\xf3\x4c\x64\xe2\x3c\x56\x39\xfd\x82\xfa\x1e\x98\x61\xeb\xd1\x87\x1e\x82\x55\xd0\xfc\xed\x42\x5b\xd9\x78\xdd\x67\xc7\x9a\x8a\x6f\x55\x9f\x87\x3a\x80\x63\x02\x8d\xd1\x33\x70\x68\xfd\xe0\xae\xd8\x36\x57\x6c\x40\x9d\x89\xa2\x94\xdb\xde\x07\x99\x22\x58\x2d\xc9\xe9\xb3\xd2\x76\x87\x81\xb1\x98\x2f\xda\xa3\xee\x52\x93\xea\xae\x3d\x17\x19\x45\xc6\xe0\x90\x44\x18\x71\x19\x0c\xd6\xad\xf3\xde\xbb\x4f\x27\xb6\xe7\x2c\x3c\xf6\xea\xb1\x85\x73\xf4\x8b\xfb\xde\x9b\xb7\xd5\x6a\x30\xb8\x60\x44\x94\x98\x37\xe9\xdc\x34\x39\xa6\x8e\xb9\x0c\xd8\x78\xd1\xdd\x8f\x3e\x7a\xf7\x45\x46\xac\xdf\x74\xc8\xb6\xad\xeb\xf7\x39\xf0\x6d\x94\x7a\xff\x4c\xc3\xee\x85\xa3\xc7\x8e\x8d\x2e\xdc\xdd\xf0\x19\x1a\x91\xbf\xc1\xb1\x6f\xfd\x56\x9b\xec\x90\xf4\xef\x9f\xd2\x0d\xa1\x33\x7c\x6c\x75\x83\x5d\xf7\x44\x5a\x40\x12\xa0\xde\x7a\x99\x40\xd9\xa9\x57\xa0\x40\x19\x14\xdc\x7d\x95\x45\x62\x14\x0b\x38\x4b\xfd\x79\x3d\xa3\x95\x5c\x7b\xbb\x9a\x9b\x2e\xcf\xd2\xf7\xf8\x94\x5a\x29\x23\xdd\x46\x02\x9c\xcd\x15\x40\x36\x54\xf8\x9d\x4d\x26\xa2\x43\xd8\x82\xab\x60\xfb\x04\x17\xeb\x8e\x4a\x29\xfb\xff\x0b\xe7\x10\x8a\xe0\x3f\xe8\x90\xb5\x17\x43\xdf\x1b\x5a\x7e\xbc\xba\x94\xb5\x2d\xbf\xff\x9c\x92\x1d\xca\x4f\xc1\x88\x55\x48\x11\x4f\xeb\x8c\x1d\x63\xb5\xee\xf4\x19\xba\xd4\x4a\x67\x13\x6d\xa7\x5c\x53\x27\x46\x33\x87\x49\xa0\x18\x9a\xf1\x50\xd2\x79\x81\x32\xae\xd7\x19\xe5\xb0\x9f\xe3\xba\xb2\x1c\x33\x1d\xa0\x5c\x06\xf8\xe9\x4c\xc1\x4a\x9f\xd3\x3c\xaa\x45\x29\xb4\xa0\x42\xf7\x25\x82\xa2\x11\x2a\x27\xa2\x3e\x12\x80\xd2\x1e\x11\x1c\x83\xc6\x68\x84\xd7\xe3\x5d\x8c\xa4\xdf\x38\xd3\x43\x23\xd6\x55\x86\xe1\xf3\x82\xfa\xcc\xef\x45\x87\x5d\x78\xe0\x75\x33\x48\x82\x22\x38\xe0\x00\xbb\xfd\x4b\xbf\x57\xdf\x78\x40\x34\x9a\x24\xe1\x47\xb0\xe1\x14\x4f\x6f\x98\xcc\x50\x5f\xa9\x19\xa9\x5b\xf4\x37\xfc\x1e\x16\x09\xe0\x10\x14\x41\x02\xf3\xeb\x0f\x08\x76\x87\xf0\x00\xd4\xff\xfe\x4b\xdb\x59\x30\x99\x68\x2c\x7f\x4a\x7d\xe4\x47\x82\x64\x32\x92\x17\xab\xf5\x25\xcb\x32\xbc\xda\x2a\x0f\x18\x74\x2a\xa7\xce\x79\xe8\x5e\xe2\x0c\x2f\x09\x4f\x07\x02\xf9\xf1\xfa\x60\x20\x60\xb3\xd9\xad\x67\x20\xe7\xe7\xef\x97\x96\x48\x90\x95\x25\x39\x9c\x57\xc2\xb2\xc1\x88\x08\x4a\x4f\xa5\xb8\x17\xd8\x1f\x52\x5a\xae\x03\x21\x23\x5b\x5e\x2d\xb4\x49\x5a\x67\x09\xa7\x93\x91\x06\x3e\x5a\xa4\x80\x29\x27\xcc\xed\x72\x30\x08\x7a\xf2\xcf\xa9\xcf\xc1\xa5\x78\x54\x96\xa9\xef\x91\xfc\x31\x59\x86\x51\x29\x4d\x0e\x4f\xee\x0e\x5f\x16\xde\xdf\xb9\x73\xac\x73\x5f\x38\x4c\x0e\x87\x2f\x0b\xef\xd3\x2e\xf6\x87\x99\x1e\xf5\xb9\xfc\x73\xd0\xa3\x6a\xb9\x92\x5a\x6a\x2d\x57\x52\xcb\x8f\xef\x9e\xbc\x36\x1c\xde\xdf\x39\xb6\xb3\x73\x7f\xf8\xb2\x30\xb9\x23\x1c\xde\xa7\x5d\xec\x0b\x5f\x36\xad\x5d\xf4\xbd\x7f\xb5\xc9\xf2\x0c\xba\xac\xba\xc2\x2c\x39\x43\xaf\x96\x6a\xaf\xea\x2c\x86\xe9\xda\xaa\x64\x9a\x5f\xd3\x8e\x19\x38\x0c\xe7\xd0\xeb\x62\x14\xdd\xe9\xb3\x24\x12\x1d\xc9\xad\xac\xd0\xa5\x54\xfa\x3d\xc5\xe3\x25\x7e\xbd\x1a\xa7\x6e\x51\xf5\x94\xe4\xe6\x4a\x17\xa8\x08\xb4\x12\x91\xd3\xec\x01\xe4\x43\x08\xb8\x56\x28\x83\x95\xa7\x13\x41\x7b\xa8\xec\xfe\x97\x9c\x96\x9a\x72\x92\x98\xcf\x3a\x0d\x06\xcb\x98\xd1\x06\xd9\x5c\x93\x64\xf7\x42\x56\xea\x93\x20\x5b\x4b\x3e\x1b\x9e\x1c\x13\x25\xc9\x61\xcd\x99\xb1\x12\x0e\xd7\x83\xe2\x72\xa9\x4a\x80\xae\x65\x64\x4a\x21\xa7\x59\xa4\x8d\x36\xb9\xc8\xbf\x29\xa8\x12\x66\xb4\xe9\x38\x48\x29\xc4\x74\x00\xe7\x04\x39\xd7\xd4\x58\xab\xe6\xa4\x3e\x49\xcd\x79\xed\x52\x53\x4e\xcd\x89\xe6\x31\xc1\x68\x64\x91\x2c\x4e\x3e\xb4\x24\xa0\x2a\x2e\x17\x28\xf5\x91\x30\x56\xcc\x39\xd1\x21\x4f\xa7\x05\x1a\x2b\x68\x01\x88\x96\x69\x81\x33\x3e\xc3\x27\xf1\xf6\xc2\xea\xde\xfe\xef\x05\x72\x40\xa3\x89\xb6\x57\xf6\xe2\x3b\x78\x7b\x81\x16\x68\xff\xf7\x42\xe2\x07\x64\x72\x6b\x65\x7f\x96\xe7\x7d\x0e\xd9\x90\xb3\xd0\xa7\x6e\x3e\x94\x0a\xa5\x28\xbc\x02\x6d\x3f\x23\xb1\x43\xc1\x99\x91\xf5\x4c\x1d\xb9\x8f\x1f\x4f\x76\x8e\xc0\x2b\xa2\x5d\xfd\xa5\x5d\x10\xed\x10\xb2\xab\x13\x38\xa0\x8e\xe7\xc7\x89\xb2\xc1\xe7\x3b\xee\x1b\xf6\x6d\xc0\x63\xd3\xbc\xb2\x7e\xe1\x78\x72\xa4\x13\xbe\x21\x68\x59\x44\x41\xcb\x92\xcf\xe2\x00\x04\xf2\xe3\xea\x38\x1e\xd9\xe0\x1b\xf6\x1d\xf7\xf9\x36\x8c\x9c\xed\xbb\xaf\x41\xcd\x25\xbd\x4b\x9e\xab\x2f\x7a\x0c\xca\x80\xce\x40\x98\x51\x6b\x3b\x40\xe1\xe1\xf3\x7f\xd0\x1b\x02\xbb\x8e\x48\xb5\x16\x21\x5a\x35\xec\x47\x60\xdc\x1b\x89\x36\xd7\x69\xe9\x68\xcb\x61\xd7\x11\x99\xb5\xe3\x96\x6a\x7f\xf9\x7a\x39\xa8\x2f\x7f\x63\x71\xd2\xa9\x83\x06\x91\xd5\x59\x14\x99\x74\x14\x67\xfa\x20\xa1\x5f\x9d\x81\x50\xf6\x0e\x8c\xc8\xb2\x3a\xe6\x8f\x36\xed\xf9\xce\x2d\x17\x77\x06\x4d\x8f\x9a\x45\x9e\x73\x91\xb6\xd1\xd8\x63\x77\x36\x59\x2c\x5e\x1c\x99\xd6\x5c\x5f\x86\x11\x6d\x26\x18\xa9\xb7\xdb\x5b\xc6\xa2\xfd\x9b\x46\x6e\xdc\xd6\xf3\x95\xff\xb4\x10\xa3\x07\x36\xef\x49\x76\x8c\xb5\xd8\x59\x9c\x9b\xd6\x58\xe5\xf9\x1f\x23\x0e\x49\xc8\x4f\xe5\x29\x60\x07\x3b\xb2\xc5\xa0\xa0\x79\x38\xcd\x0d\x15\x56\x00\x4d\x21\x50\x54\x44\x02\x15\x2a\x86\x67\x28\x20\x42\x4e\x51\x60\x79\xfe\xd7\x53\x08\xfb\xd5\x5f\x52\x25\x45\x3d\x35\xde\x54\xb5\x24\x97\xf1\xdc\x04\x54\xa7\xed\xb2\xa0\xfc\xd1\x24\x82\xf1\xea\x99\xa2\xba\x95\x98\x1b\x24\xb7\x9a\x93\x07\x64\x35\xe7\x96\xec\x4d\x58\x69\x3a\x5e\xd0\xf3\x14\x08\x85\x52\xa8\x6c\x22\x72\x51\xa8\x5e\xcd\xd6\xd6\x42\xae\x3e\x14\xca\x07\xa6\x29\x85\x56\xcd\x5f\x55\x65\xd2\xa7\x8b\xc2\x24\x71\xee\x32\xd9\x9b\xf2\x4a\x93\x5d\x72\x43\x56\x1e\x90\x21\xeb\xde\x7d\xf6\x32\xc1\x67\x42\xa1\x50\x3d\xe4\x6a\x6b\xd5\x6c\xbd\xfa\xf3\x0f\x5f\x26\xaa\xa7\xac\xcb\x7f\xd3\x6e\x38\x67\x99\xb2\xda\xf3\x43\xfa\xbb\x7e\x51\x29\x0b\xad\x1a\xdc\x0f\x55\x34\xa5\x5d\x6b\xdb\xfc\xdb\x84\xce\xc4\x34\x07\x79\x69\xba\x9f\x63\x8d\x90\xf9\x2b\xab\xa0\x11\x84\xc2\x6e\x17\x67\x05\x91\x0f\x35\xa0\x68\x89\xa4\x8e\x64\x4a\xc1\x34\xa2\xde\xba\x5d\x56\x5d\x5c\xca\x86\x1a\x38\x5e\x27\xc2\xb9\x50\x90\x73\xeb\x41\x11\x42\x41\x8a\x31\xc5\xf4\x43\xda\xed\x22\x2f\x87\x88\xc5\xcc\x32\x82\xec\xa9\x0d\x36\x44\xe5\x3f\xa8\x0f\xf7\x6f\xd2\x1a\x68\x00\x93\x79\x5a\xa1\x36\xcf\x83\x8b\xc7\xb7\x6f\x30\x1b\x39\xd2\x4a\x5c\x02\xc3\x58\x1d\x35\xb5\xf5\xe2\xfe\x1f\xc4\xe1\x55\x9b\xd1\x44\x3c\x6c\xad\xea\x21\x04\x5e\xb0\x9a\x8c\xc4\x83\x25\xb3\xba\x6f\xd6\x0b\x07\xa4\xc6\x7a\x9f\xd3\xc6\xb0\x82\x60\xf9\xdd\x09\x8b\x93\x01\x4c\x38\x96\x65\x19\x0c\xec\x2f\x65\x61\x97\x20\x77\xcd\x92\xc4\xab\x45\xe9\x15\x40\x6e\x62\x31\x0b\x27\x04\x81\x01\x20\x0c\x21\x58\xd9\x69\xb1\x88\x57\x7b\xc3\xf3\x2d\x16\xeb\x4e\xb3\x75\xf7\x21\xc2\xb0\x2c\x03\x98\xe5\xf9\xc2\x7e\x9c\x4c\xb2\x0a\xea\x2f\x6b\xd5\x4e\xe7\xec\xeb\x28\x2f\x71\xb7\x1f\xac\xc0\xf1\x1c\x75\x85\xcd\x15\x14\xd6\x74\xc8\xf5\x02\x27\x87\x4c\x4a\xe2\xe4\x7c\x51\x92\x85\x8b\x37\x69\x35\xdd\xf4\xf7\x6f\x3f\x73\xcc\x88\x0d\x97\x18\x05\xc1\xc4\xb6\x8c\xb4\xaf\xd9\x01\xb3\xa9\x21\xd9\x8f\xe1\xd3\x92\xf8\xb0\x28\xc1\xdd\xea\x3d\x5a\xca\x63\x82\x0c\x07\x64\xe1\x16\x51\xfa\xcf\x27\x7e\xb5\xcf\x50\x63\x3a\x60\x06\x6c\x64\x7d\x8d\x1b\x87\x7e\x22\x89\xb7\x08\xb2\xfa\xd1\xaf\xe8\xa0\xc6\x80\x92\x53\x88\xbc\xc2\x21\xb4\x59\xf7\xb3\x5e\x22\x31\x63\x0c\x5d\x1c\x33\x69\xf7\x2c\x1d\xa2\x37\x9d\x4a\xc6\x48\x34\x66\x48\x25\xd3\x99\x12\xaf\xc9\xcf\xd0\xee\xd3\xaa\x51\x70\x25\xc9\xb8\xfd\x1c\x79\xe5\xfb\x27\x24\xf1\x36\x41\x1e\xb8\x69\x78\x7e\x0d\x6b\xb7\x5e\xc2\xdb\xac\x46\xbc\xeb\xe6\x70\x78\xc5\x4d\xfe\xf0\x70\x32\x1d\x6d\x5f\xd6\x31\xd0\x1c\xab\xb1\x3f\xf7\xa0\x2c\xdc\x26\x4a\x5d\x97\xcd\xeb\x91\x38\xbb\x65\x85\xc1\x2a\x0a\xc4\x9d\xe9\x3b\xbf\x65\xd3\xf5\xf6\x96\xf0\x60\xac\x23\xd5\x39\x92\x59\x10\xf6\xc2\xa6\x4f\xfc\xd2\xfb\x45\xad\x35\xbe\x68\x6c\x6b\x4f\x78\x38\xa7\xe3\x36\x13\xc6\x66\xbc\xc5\x6b\x58\xbb\xdc\x17\x6f\x68\x76\x3b\x6d\x52\xa8\xb6\xad\xb9\xab\x7b\x49\xf3\x1d\x2f\xfb\xff\x55\x90\x25\xf1\x29\xae\x21\xd8\x62\xe3\x24\xc7\xbd\x56\x20\x26\x22\x85\xea\xdc\x6b\xe7\x7b\xdb\xa2\xb5\x21\x59\x72\xb8\x3b\x22\x7d\x73\xd7\x15\xfa\xec\x66\x56\x41\x7d\x45\x1a\x5c\x04\xde\x55\xf0\x14\x1c\x45\xd1\x92\xf2\x70\xa6\x44\xc0\x44\x8a\x74\x78\xd1\x14\xbc\x15\x5c\xee\x44\xdc\x45\x6e\x96\xc4\xc7\xdc\xaf\x7e\xfe\x51\x68\x14\x4d\x06\xe7\x77\x6d\x46\xf5\xa5\x9c\x51\x16\x76\x1e\x7c\xc8\xa5\xae\xa1\x3c\xb5\x07\xbb\xfe\xfd\x1e\xad\x68\x84\x7e\x7f\xbf\xef\xb0\x3f\x21\x4a\x4c\xcb\x76\x51\x3a\xf2\xaf\x8e\xa7\xd5\x07\x6c\x92\x64\x81\xab\x7e\x64\x14\x0e\x08\xf2\xda\x95\x92\xb8\x5d\x94\x76\xc9\xc2\x47\xb5\xb4\xdb\x45\xa9\x77\x95\x44\x41\x0d\x11\x99\x62\x15\x8d\x5a\x0f\x86\x0a\x40\xfe\x05\x98\x92\xd2\x70\xd3\x49\x8e\xb8\x5b\x76\xb9\xfb\x20\x23\xd3\xb0\x8b\x87\x44\x71\x98\x39\xcb\x03\xce\xc1\xe1\xf5\x5f\x10\x64\x95\xda\x28\x42\x40\x3f\xff\x87\xfa\x6d\x83\xc1\x24\x7d\x47\x36\xfd\x44\x0e\x9b\x9a\xf9\x6f\x1b\x9c\xdf\xb6\x9b\x8c\x06\xf5\xfb\x3f\xa1\x63\xee\x57\xd0\xa0\x9f\x65\x49\x84\x25\x92\x78\x89\x20\xaf\x91\xc4\x1d\x82\x8c\x07\x6c\x36\x9b\xa4\x9e\x1f\x39\xdf\xb3\xce\x0e\x8f\xc8\x36\xd1\x9e\x7f\x56\x16\x76\x88\xd2\x1a\x59\xb8\x44\x94\xd4\xaf\x0a\x72\xc1\xef\xbd\xbe\xef\xe8\xa4\x7b\x75\x6d\xe0\xc7\x91\x6d\x5a\xc9\x4a\x83\xb1\xfc\xe9\x94\x42\xfa\xac\xc6\xc8\x37\x8f\xaa\x39\xc8\x8e\xc2\x55\xf9\x1f\xa8\x5f\x80\xf7\x29\xc3\x92\x97\x85\x47\x8b\x22\xea\xa2\xdc\x1a\xd7\xfe\x80\x5c\xf2\x83\xbd\x6a\x16\x1e\x52\xf7\xff\xf7\x75\xd5\x8a\x6c\xd7\x49\xe2\x7d\x82\x8c\x77\x8b\x52\x85\xff\x21\x03\xb2\x20\x1b\xaa\x41\x75\xe8\x4a\x84\x40\x0e\xc9\x2e\x87\x3b\x99\x96\x33\x41\x77\x30\x11\x0d\x69\x11\x0e\x57\x21\x42\xdf\x23\x12\x3a\x62\x48\x88\xe8\x9e\xa4\x49\xa9\xb4\xe5\xf9\x90\x14\xfb\x25\x28\x4f\x3b\xbb\x78\x52\x62\x38\xf0\x89\xb8\x0b\xe3\x15\x27\x06\x01\xe0\xda\x90\xfa\x7a\x00\x1e\x3a\x1c\x5a\x08\x27\x96\x3d\xbc\x02\x00\xae\x0a\xaa\x3f\xa1\xf8\xdd\xaf\x3d\xc2\x7b\x4e\x78\xf8\xcf\x9d\x7a\x94\xf7\x9c\x30\xdb\xf1\xd8\xcb\x5a\x7d\xbe\x18\xbc\x4b\x3b\x5d\x71\x01\x6b\x32\xd9\x0e\x79\xd9\x0b\xe1\x92\x8b\x79\xcf\x7e\x0f\xbf\x19\xae\xb8\x88\xf5\x1e\xb2\x99\x4c\xec\xfa\xab\xb4\x24\xf7\x34\x7c\x59\x94\x60\x0d\xb4\xaa\xaf\x02\x03\xc0\xc2\x17\x14\x45\xc9\xbf\x0a\x6d\xea\x6b\xc0\x02\x30\xf0\xa4\xa2\x04\xb2\xa2\x94\x3f\xee\xf1\xe0\x1d\xf9\xe3\x1e\xd1\x84\x77\x50\x5a\x5b\xe7\x2c\xc3\x3a\xab\x60\xf1\xa8\xc7\x61\x87\x47\x3f\x5a\x04\xab\xfa\x58\x21\x81\xb6\xbf\xed\x9c\x42\xcc\x5b\xac\x82\x12\xe8\x3c\x8a\x39\xe4\xe2\xfd\xc0\x8b\x0c\xef\x0c\xa5\x1a\xa2\xce\x90\xbd\x21\xd2\x0a\x99\x44\x3c\x63\x4f\x44\x42\xf6\x48\x2b\xa4\xdc\xf1\x4c\x2a\xe1\x4c\x27\x52\x09\xa7\x9f\x90\x64\x8c\x69\xa0\x20\xa4\xf1\x3e\x4e\xbb\x10\x41\xbb\xe8\xe3\x98\xbb\xa5\xfb\x76\x5f\x2b\xf0\x89\x65\xd7\x1e\x58\xf9\xc0\x70\xcb\x03\xd2\x79\xf2\x0f\xea\xaf\x8a\x1b\x6c\x9c\x49\x18\xba\xea\xd5\x6c\xf0\x81\x95\x4d\x0f\x2c\xbf\x71\x47\xef\x29\x7f\xdb\xa2\x9e\x75\xf1\xe5\x06\xc3\x9c\xc8\xfc\xd9\x73\x63\xb3\xfd\xf2\xa2\x9a\xc6\x9e\xf8\xe2\xd6\xb9\x3c\xdb\xdd\x30\xd0\xd6\x1d\x69\x94\x88\xf2\xd5\x21\xdf\xb1\xc3\x8b\x2e\x5f\xd8\xe1\x62\xa6\x26\x60\x12\x4d\xc1\xd7\x12\x70\x2f\x40\xfd\xfc\x47\x00\x26\xff\x8e\xdf\x9b\xe4\xeb\xbb\x2f\xce\x3f\xd8\xd8\xd9\x58\x63\xe1\xb0\xfa\x2f\x40\x58\x8b\xcd\xdb\x10\x83\x7f\x04\x13\x41\xb7\x89\x03\x50\x5f\x04\x20\x06\xd1\x5d\x1f\xd3\x71\x31\x28\xb6\x44\xc1\x5e\xd2\xe5\x06\x97\x9b\xd5\x6d\x06\x2b\x96\x64\x06\xb9\x44\x38\x2e\x8a\xf9\xc7\x3a\x9b\x70\xa0\x04\x11\x11\x60\x10\xfc\x54\x14\xd5\x1d\xa2\x2b\xd0\xd4\x39\x31\x5e\x44\x7c\xd0\xfd\x79\x94\x9e\xdb\x84\x3a\xd1\x79\x5a\x9b\xba\x83\x76\x97\x9b\x4c\x7f\xb4\xdd\xe1\x92\xcf\x01\xd3\x5d\x7d\xcd\x9e\x14\x45\xb5\xc9\x25\xce\xaf\x2c\x4a\xe7\x0f\x66\x82\xa2\xa8\x0e\x33\x8d\xa2\x4b\x2b\x72\xfe\xb9\x72\x69\xf3\xe3\x4d\x9d\xf9\x40\x69\x6f\x06\xe2\x4c\x41\x8d\xfe\x6c\x98\x42\xdc\x3e\x0e\x21\x13\x6a\x44\x03\x68\x25\x42\x90\xe8\x80\x48\x2a\xc4\x3b\x38\x1e\x74\x1c\xa6\xe2\xf6\x49\x5f\x74\xe8\xae\x8a\x75\x06\x53\x90\xee\x87\x54\x03\x17\xe2\x5a\x81\x7a\x31\x00\xce\x0a\x4e\x2d\x61\x4a\x76\x06\x53\x89\x68\x88\x4f\x68\x67\x39\x21\x33\x8f\x7e\xe9\x3c\x0b\x66\x08\xcf\xe4\xdf\x35\xa9\xff\x66\x12\x2c\x66\x35\x67\x35\x18\x5c\x39\xaa\xcb\x92\x13\x25\x32\x3f\xff\x75\xd8\x65\x31\x9a\xb1\x91\x58\xa4\xb7\xae\xc7\x19\xf5\x6e\xce\x6a\x16\x8d\xce\x7f\xbc\xa2\x8e\x0f\x76\xfc\xb5\x63\x50\x7d\x63\xe1\x9b\x0f\xbf\xc9\xec\xf8\x79\x87\x8d\x71\x40\x83\x65\xc2\x5f\x04\x81\xb2\xc9\x0e\x96\x42\x6f\x9c\x1e\x93\x3e\xfa\xfb\x0b\xb1\x5d\x32\x1a\x09\x90\x6b\x7e\x77\x41\xfe\x4f\x06\xc9\x8c\x31\xde\x43\x3e\x32\x3a\x7a\xe4\xc8\xe8\x28\x3e\x96\x1f\xd5\x65\x3f\x95\xf5\x4e\x6a\xf5\x0e\x97\xeb\xcd\x9e\xb5\xde\x50\x55\x33\xf2\x81\xed\xf0\x21\xea\xfd\xe0\xb4\xda\xc9\x67\x6d\x85\x52\xb5\x7f\x3d\x53\xad\xd5\xc9\x72\xf5\x98\x03\x67\x34\x81\x89\x10\xd8\x83\x58\xad\xce\x94\x3f\xab\xed\xcb\xfe\x3f\xda\xfe\x03\x3e\x8e\xe2\xfc\x1f\xc7\xe7\x99\x6d\x57\xf7\x6e\x6f\xf7\x76\x4f\x77\xa7\xeb\xb7\xab\x7a\x92\xae\xad\x7a\x77\x91\x2c\xdb\xb2\x70\x2f\xb2\x42\x71\x05\xdc\x00\x57\xcc\xd9\x86\x04\x48\x30\x60\x7a\x17\x60\x20\x14\x27\x04\x4c\x71\x28\x51\x20\x10\xc2\x27\x94\x84\x10\x42\x02\xc1\x49\x0c\x09\x84\x9e\x02\xd8\xba\xf5\xff\xb5\x7b\x27\x5b\x36\xa6\xe4\xf5\xfd\xff\xc0\xda\x9d\xb2\xbb\x37\x33\x3b\x3b\xf3\x3c\x33\xcf\xf3\x7e\x37\xa0\x1e\x34\x0f\xa1\xf8\xd7\xbc\xe2\x63\x57\x0c\x8e\x37\x84\xf8\xa6\x38\xde\x7f\xe2\x2a\x93\xa1\xf1\x2b\x0b\xba\xaa\x9f\x33\x3a\x72\xce\x88\x68\x05\xa2\x85\x11\x23\x72\x18\x19\x11\xc4\xba\x86\x4e\x54\xeb\x71\xd0\xef\x9f\x7e\x43\xb0\x30\xdd\x8d\xd5\xdf\x71\xb4\xfe\xc7\xd7\xf2\xab\xdb\xe3\x4b\x2b\x28\xdf\x10\x27\x8f\xa9\x80\x16\x3a\x71\x6b\xe0\xe1\xe3\xea\x7c\x4c\x6b\x1c\x6d\xa7\xd0\x91\xaa\xac\x3d\x51\x53\xc0\xda\x6f\x6e\x00\xa3\xcf\x53\x2f\x16\xfb\x7c\x17\x9a\x8d\x50\xdc\xd8\xe4\x37\x76\xee\xbf\xba\xcf\xc7\x05\x96\x30\xd8\x1e\xd4\x82\x1c\xaa\x46\x59\x38\xe2\xf5\xa4\x7f\x00\x29\xce\x60\x23\x61\x68\x83\x34\x82\xa3\x3a\xe7\x36\xa5\x5b\x7b\xba\x93\x13\xf3\x37\x7f\x45\xa5\x3f\xf4\xd6\xf7\x9f\x3d\xa1\x35\xe1\x71\x29\x0e\x67\x5c\x9e\x79\x9a\x13\xbb\x67\x54\xad\xf8\xee\x65\x67\x6c\xde\x1d\xd0\x2a\xef\x02\xcc\x98\x5c\xad\x03\x23\x9b\xdf\x6a\x5b\xd1\xbb\xb6\x2f\x3b\xfb\x44\x75\x56\x5b\xd7\x9f\x31\x50\xe7\x34\x31\x6b\x18\xd2\x7e\xf6\x1c\xc9\x7f\xe9\x69\xcb\x77\x3d\x81\x6b\xd6\xae\x85\xfb\x19\x0f\xe5\xb4\xd9\x5d\x8d\xb3\xf7\xe5\xd7\xa2\x2f\xd5\x5d\x35\xac\xa1\x8f\xd6\xfd\xeb\xc7\xb9\xe3\xaa\xc7\x7f\x5d\x73\x7c\x8b\xba\xbf\x3c\xbe\x7e\x4f\x7f\x4d\x43\x90\xc5\xca\x1f\xba\xe7\x44\xb5\x1f\x3d\xbe\x9a\x54\xea\x84\xed\x31\x86\x1b\xd9\x5e\x5c\x87\x5d\x38\xf6\xd6\x0b\x06\x1b\xc7\xaf\xfb\x51\x02\x23\xba\x45\x46\x34\xb8\xc4\x68\xa6\x12\x47\x0c\xd6\xdb\x02\x9c\x54\x01\x92\xb0\x15\x1b\xd4\xb9\xa9\x64\x80\x72\x0b\x2c\x30\x2c\x2e\xf2\xf2\x7b\x7d\xf1\xb8\xcf\x2b\x0f\xcb\x5e\xcd\xd8\xe3\x85\x90\x57\x26\x87\x55\x07\x91\xe0\x38\x87\x62\x6e\x6c\xbf\x20\xd6\xc7\x75\xde\x38\x67\xea\xe6\xa8\x57\x8e\x95\x78\x96\xd5\x75\x87\x5d\x5e\xb3\x99\xb1\xfa\x05\xde\x9b\xe8\xa9\x09\x3b\xcc\xc0\xf3\x2e\x82\x35\x91\xe0\x9e\xb6\xd6\xd8\xb5\xf1\xc5\xe3\xd8\x77\xc4\x81\x43\x96\xbd\xb3\xdb\xaa\x42\x7d\x2d\xf5\x2d\x0d\xf1\xd5\x13\xfa\x70\xd0\xe7\xad\x04\x88\x7b\xf1\xb6\x92\x38\xc6\x6b\xdb\xe7\x84\x5d\xcd\xf1\x0a\xa5\xaa\x59\xe0\xdd\xc1\x64\x59\x73\xc0\x23\xf7\x55\x45\x68\x8f\xc0\xae\x45\x47\x78\xd3\xdb\x0d\x1f\x33\x5f\x11\x87\xf1\xc8\xcb\x3b\x5e\x83\x8f\x8b\x6e\x43\x1b\xc6\x52\x00\xbb\x05\x03\xce\x38\x81\x15\x83\xbc\xdf\x00\xd1\x34\x9a\x44\x6f\x8f\x26\x42\x94\x44\xc6\xf8\x63\x84\xaf\x6a\x88\xe5\x2a\xac\x99\xa6\xfd\x93\x34\xb1\x84\xcb\x25\x80\xd9\x11\xae\xe9\x49\x78\x79\xc1\x6f\x65\xcc\x66\xaf\x2b\xdc\x5d\xb7\xcc\x53\x12\x93\xbd\xd1\xcd\x53\xe7\xdc\xd8\xc9\xf5\xc5\x2e\x68\x6f\x34\x2b\x0e\x8e\x4b\x10\xc4\x58\x4b\xe4\xdf\x2e\xb4\x81\xd1\x1e\x3f\x6e\x99\x3b\x6d\x2d\x2b\x78\xe8\x78\xd9\x54\xd9\x13\x68\x2e\x4b\x06\xdd\xbc\xd0\x5c\xa5\x54\xc4\x9b\x5d\xe1\x39\xed\x6b\x31\x8e\x97\xe0\x6d\xde\x38\x40\xa5\xd7\x17\xc4\x7d\x13\x56\xc7\x1b\x5a\xea\x5b\xfa\x42\x08\xd9\x8e\xac\x65\x98\x8d\x7d\xa4\x4a\xd4\x82\x16\xa2\x53\xd1\x79\xe8\x07\xe8\x66\xf4\x00\x7a\xca\xe0\x35\x89\x46\x18\xb7\x98\x4a\xaa\xa9\x4c\x3a\xe2\x8e\xbb\xa3\x5c\x94\x8b\x66\x28\x2e\x9a\x29\x6e\xe2\xa5\x8a\xcb\xf7\x1c\x55\xb4\x11\x72\x47\x39\x5d\x7c\x4c\x4a\xa2\xe4\x16\xc6\x58\x62\x5a\x20\x6d\x18\xc1\x96\x42\xd4\x2d\xa4\x92\x6a\x3a\x9b\xce\x80\x5b\x88\xb4\x40\x3a\x09\x69\x83\x96\x2e\x1c\x32\xd0\x49\x8b\xe0\x97\x21\xa3\x9f\x01\x1f\x65\x94\xa8\x01\x86\xe9\x4e\xc5\x33\xe9\x02\x8d\x4f\x29\x14\x17\xee\xa4\x14\x17\xe5\x8a\xe5\x88\x16\xcb\xf1\xa5\x05\xbc\x6b\x4a\x39\xa7\x93\x2b\x7d\xb4\xb3\x33\xff\x4c\x7f\xef\x34\xf8\x49\x97\x12\x0f\x9b\xe9\x4e\x00\x56\x10\xa1\x8d\xb1\x95\x47\xc3\x5d\x5d\xa1\x58\xb9\x8d\x39\x84\x09\x9b\x2f\x93\x2e\x75\x0b\xa5\x4b\x7c\xee\x0b\x22\x1e\x1a\xb4\x6d\xed\xed\xd8\xcd\x5b\x3a\x2b\x2f\xd4\xde\xd7\x3e\xb8\xb0\xaa\xc3\x22\x08\x96\x8e\xca\x8b\xb0\x7c\x51\x65\x87\x45\xc8\xdb\xe7\x4f\x49\x65\xa6\x31\x21\x53\xd4\xda\x0b\x61\x77\x69\x5d\xca\xe7\x76\xfb\x52\x75\xa5\xee\x87\xba\xba\x0c\x38\xeb\x2e\xda\x1a\x8a\x95\xc3\x67\xe3\x17\x78\xde\xbd\x29\xe9\xdc\xef\xbc\x37\x92\x4a\xfd\x63\xa2\x36\x0f\xee\x9a\xb8\x55\xbb\xbc\xac\xda\xcf\xc5\x21\xa2\x7d\xea\xc1\x8e\x20\x78\x56\xed\x4a\xbb\x2b\xca\x63\xf0\xc1\xad\x65\x15\xee\x87\xcd\xa5\xac\xe8\x2a\x93\x7d\x4d\xdb\x9a\x7c\xb2\x5c\xda\xd0\xd7\x91\xf2\x82\xcd\x6d\x25\xea\x6f\x4c\xa5\x6e\x4c\xe7\x89\x9f\x9c\x54\xd5\x44\x39\x1c\x54\x53\xd5\x9c\x3d\xf7\xcf\xac\x6c\xd6\xc3\xcd\x95\x33\x89\x26\x28\x7b\xfa\x69\x69\xa1\xb4\x54\xfd\xd5\x86\xed\x8d\xa5\xb2\x5c\xda\x68\x9c\x7c\xcd\xb0\x56\x7b\x3b\xe8\xc4\x1e\x70\x6a\x7f\x8a\xbb\x7c\xd5\x60\x3a\x76\x0d\xd7\x8a\x7c\x87\x11\xf5\xb6\xe1\x2f\x3b\xd6\x3f\x16\xa0\x53\xd0\xb9\xe8\x22\x74\x03\xfa\xb1\xa1\xa7\x47\x23\x0a\x97\x4d\x25\x29\x77\x34\x93\x4e\xc6\x53\x99\xb0\x3b\xc5\xa5\xc2\x27\x78\x2d\x63\x2f\x2f\x13\xe5\x52\x19\xe3\xe5\xc5\x33\x51\xa3\xc3\xb4\x40\xea\x4b\x2f\x56\xcd\x42\x26\x1d\x29\x05\x21\x69\x30\xe0\x32\x74\xc8\xe8\x22\x99\xb4\xd1\x2b\x42\x46\x0f\x81\x14\xc1\x45\x39\x59\x91\x95\x14\x3f\xd6\xf7\x0a\xfd\x4c\xef\x7b\xf1\x13\xf4\x50\xe2\xff\x14\x49\x14\x25\x05\x06\xe6\xcf\x1f\x6d\x5c\xa9\x3d\xb7\xfc\x54\x08\xcd\x9b\x17\xf0\xb9\x08\x98\x67\xb2\x25\x6a\xb3\xb0\xc7\xcc\x65\x93\x95\xf3\xe6\x55\xd7\x66\x39\x33\x0c\x2c\xc0\x4c\x38\xf1\xa0\x4f\xe9\xea\x56\xfc\xa5\xca\x84\xc9\x31\x17\x81\xf3\xc3\xb3\x67\xe3\x97\xbc\xec\xdc\xc6\x47\xf3\xde\x47\x1b\xe7\xd9\xbd\x5e\x76\x6e\xd3\x23\xf8\x1d\x23\x3c\xea\x5d\xb2\xf1\x54\xb6\x26\xee\x5f\x31\x09\x1e\xf6\xcb\xdd\x5d\xb2\xdf\x2f\x77\x75\xcb\x7e\x98\xbe\x20\x93\x4c\xd8\x4d\x0b\x80\x70\xf9\x02\x10\x7b\xa5\x4b\x84\x6a\xb1\x3b\x91\xe8\xbe\x7a\x70\x30\xff\x4b\xf8\x50\xfb\x6e\x85\x9b\x08\xc1\xe9\xda\xc6\x3a\x4f\xbc\x65\xf0\x99\x1e\x6f\x7d\xf6\xf5\xfc\xf2\x5a\x55\xf5\x9d\x64\x4f\x59\x62\x13\xe6\x2c\x9d\x1e\x4f\xa5\xe2\xd3\xf7\x4c\x8f\xa7\x32\x3e\x9f\x99\x78\xea\xb7\x13\x26\xfc\x76\x62\x7e\xce\x7b\x67\x35\xf5\xd3\x6e\x37\xdd\xdf\xb4\xfa\x43\x3d\xcc\x08\x02\xd3\xdf\xb4\x9a\x64\xb5\x35\xda\x27\xe0\xe8\xbd\x78\xe9\x4c\xed\x8b\x89\x3f\x9e\x11\x4f\xa5\xe4\xfe\x1f\xf7\xeb\x0f\x19\xd0\xec\x6a\x6b\xdc\x93\x82\x8b\xb5\xcb\xc3\x58\xac\x84\x73\x0b\xb6\x94\x39\x6a\x33\xf5\x5f\xc4\x23\x05\x21\xa0\x0b\x1a\xb4\xca\x27\x95\x31\x85\x19\x44\x06\xdc\x63\x8b\x32\x90\x05\x3d\x11\xcf\xb2\x7c\xe6\x93\x3f\x72\x0b\x96\x3c\xc0\xad\x36\xab\x59\xfa\xa8\xcc\x4b\x3c\x6f\xb5\xe6\x3f\x86\x7e\xab\xc5\x22\x7e\x54\xe1\xd1\xf6\xb8\x30\x94\x28\x9f\x88\xc4\x69\x2e\xad\x37\x11\xe1\x61\x04\x40\x12\x1d\x8e\x6a\x38\xd5\xe9\x1e\x9d\x0f\xf9\xeb\x04\xce\x51\x8d\xcf\x0c\x11\x3b\xab\x8f\xe5\xce\xe7\x8f\xf0\x8b\xc8\x95\x60\xec\x20\xb8\x09\x5a\x12\x9b\x20\xa9\x82\x91\x02\x22\x18\xb1\xac\x02\x19\xc8\x4a\x5f\xda\x7c\xd9\xea\x0e\x3e\xea\x32\x31\xa6\x73\x7f\x61\x36\x9b\x9c\xfb\x82\x3c\xa1\x32\xdc\x63\x01\x5e\x3b\x0d\x80\x12\x42\x8f\xba\x18\x93\x59\x1b\x85\xeb\x4c\x7f\x3a\x66\x91\x9a\x80\x37\x23\x56\x1b\xf7\x07\xd0\xee\x64\x59\x7b\x8c\x98\x61\x8b\xe6\x15\xac\x85\xa3\x36\xbb\x03\xde\x00\xfc\x8a\xf3\xc2\x2f\x63\xd6\x20\x0b\x83\xc8\xff\x22\x6c\x20\x22\x55\x03\x9f\x24\x83\x90\x0c\x50\x45\x1e\xfc\x52\x10\x19\x16\x1c\xc0\xd2\x51\x3a\x2c\xc7\x6a\x70\x61\x26\x49\x80\xd2\x02\xb2\xc1\x37\xdf\x4a\xa7\xb2\xf8\x97\x70\x40\xf3\xef\xfb\x21\x34\xf4\xf4\x40\x88\x0d\x7b\x42\x01\x96\xe6\x15\xc6\x64\x06\xe0\x99\x18\xcb\xb2\x81\x90\x27\xec\x08\xc2\x21\xed\xc2\x97\xb4\x97\x6a\xeb\x62\xb1\x78\x87\xe7\xcb\x57\xb0\x21\x38\x04\xd7\x1e\xcc\xc3\x52\x33\x45\x12\x04\x6d\x71\x4a\x0e\xba\x64\xa1\xda\x7e\x79\x79\xd9\x85\x97\x5f\xae\xce\xe3\x38\x87\xe4\xb0\xd0\x04\xc1\x63\x33\x41\x92\x94\x25\x54\xf2\xa5\x7c\xa7\x9e\xef\x42\x05\x1c\x2c\x7a\x84\xba\xd8\xd8\x5b\x95\x90\x0f\x05\x11\x32\x93\x6e\x70\x2b\x4c\x06\x32\x12\x64\x24\xd5\x6d\xb6\xc1\x2e\xf8\x50\xbb\x47\x13\xa9\x2a\x4d\x04\xd0\xa4\x2b\x60\x36\x00\xcc\xc9\xcf\x80\xd9\x9a\x4b\xfb\x11\x95\x80\x01\x4d\xd2\xee\x86\x39\xf0\xae\xf6\x23\xcd\x45\xb4\x68\x2f\x69\x7f\x83\x36\xed\xc0\xe9\xda\x9f\x0c\x3e\xf6\xf8\xe9\x43\xe0\xc7\x00\x58\x3b\x40\xfe\x41\xfb\x9b\xf6\x32\xb0\xda\xa7\xda\x27\xda\xcf\xa1\x94\xd8\xaa\xfd\x5c\xfb\x14\x6a\x11\x8d\xac\x87\x11\xf5\x1f\xc3\xc6\xc4\x8a\x1c\xc5\xf2\x20\x2a\xcc\x45\xb9\x30\x17\x8d\xab\x14\x03\x2a\x18\x7f\x04\x30\x66\xc8\x84\xdd\x94\xf9\xd0\x6d\xc3\xd4\xcd\xc3\xa3\x03\x61\xc2\x11\xce\xcf\xed\xc2\xaf\x76\xe5\xff\xbd\x04\x2f\x59\xf2\x3a\xbc\x99\xd3\xa2\xf9\x07\x88\xd0\x10\xec\xcf\xe7\x70\xae\xea\xa6\x3b\x6e\xc4\xde\x5d\xda\x9e\xcb\xf1\xc3\x9b\xf3\x87\x37\x13\x9b\xf3\xe7\x0d\xe1\x6d\x07\x6f\xbd\xe5\x96\x13\xd8\x5e\x4c\x47\x4b\xc7\xe1\xf6\x17\xc1\x68\xc7\x70\x6e\x63\x11\x99\xc5\x06\x65\x2a\x21\x0a\x74\xa1\x0f\x04\x88\x6c\x52\xd4\xa5\x27\x50\x5b\x09\xd9\x40\xb1\xd5\xe5\x08\x02\x39\xc7\x8d\x73\xce\xa3\xc3\xdc\x98\x99\x46\xe8\x1d\xed\xd1\x77\xde\x81\xc9\x30\x90\xed\xcb\x66\xfb\xb4\x49\xec\xf7\x27\x6f\x9c\x55\x9a\xec\x13\xac\x0e\x4a\x6f\x39\xca\x61\x15\xfa\x92\xa5\xb3\x36\x4e\xfe\xfe\x57\x67\xe1\x33\x29\xcb\x81\x97\xe7\x6a\xd9\xb9\x2f\x1f\xb0\x50\x46\x18\x9e\xd7\xc3\x58\x34\x0c\x3a\x60\x77\xe1\x57\xde\x31\x7e\x24\x9b\xfb\x96\x8f\x3d\x36\x4b\x3b\xf3\xcb\xcf\x37\xc2\xc7\x7c\xd7\x0e\x03\xe7\xe3\x78\x7b\x99\xd4\x11\xcf\xd7\x31\x6f\x15\x83\xea\xa8\xf0\xa5\xc1\xf5\x5b\xee\xdf\xb2\xe5\x7e\x7c\xbf\x71\x1a\xe3\x31\x2a\x7c\x81\xa3\x3f\xd4\xd3\x8a\xff\xc6\xff\x0e\x46\x66\x83\x07\x9c\x0f\x53\x29\x33\xa4\xd4\xf0\x31\xa6\x5a\xe8\x57\xda\x99\x38\x3b\xa8\x65\xb4\xcc\xe0\x32\x6c\x81\x43\xc7\x23\x25\xec\xd2\x5e\xdc\x8f\x1f\xcc\x4f\x1d\x86\xba\x13\xf9\x27\xf7\x53\xdb\xa8\xdb\x91\xc5\xf0\xae\xec\xd2\xfb\x02\x88\xb4\x92\x80\xac\x9a\x0d\x80\x94\x00\x86\x05\x29\x00\x6a\x2b\xf0\x09\xac\xc4\x28\x16\x33\x01\x2c\x89\x6a\x2b\xe6\x0d\x7f\x08\x59\x49\x10\x8a\xac\xb4\x81\x18\x52\x03\x40\xf3\xb4\x81\xbb\x10\x97\x95\x04\xa9\xe7\xb4\x92\x6a\x56\x8d\x51\xa2\x14\x00\xa2\xc6\x74\x76\x46\x29\xf5\xcb\xb1\x1e\x75\x15\xfb\xec\xc9\x6d\x53\x08\xf2\x8a\x85\x0b\x36\x1d\x10\x26\x57\xd5\x69\x6f\x6a\x1f\x54\x26\xda\x5d\x81\x85\x6a\xf3\x81\x37\xda\x32\x0b\x67\x9b\x1c\xf6\xaa\xd8\xec\x97\x9e\x59\x9a\x98\x34\xd0\x2e\x94\x84\x68\xd7\x5b\x58\xdd\xef\xa6\x9d\x0f\x79\x67\x51\x55\x95\xe1\x51\xed\xfa\xcf\x77\x39\xdc\x76\x8a\xc1\xe6\xa8\xdb\x6b\x26\x4a\x23\xf5\xb1\xc0\xb9\x8f\xc3\x66\x28\xbf\xa1\xd9\x09\xf8\x8e\xb6\xbe\x10\x37\x30\xc0\xb9\x6c\x4d\xdc\xca\xb5\x55\xfe\x8d\x13\x16\xe4\x4c\xa6\x6b\xf1\x26\x5f\xd4\x6c\xaa\xa9\x63\x2c\x11\xaf\x3f\x6a\x66\x4a\xfd\x26\x53\x74\xd4\xe5\x3d\xad\xab\x47\xa8\xad\x21\x38\x93\x10\xc9\x44\x87\x7e\xe1\x34\x5f\x79\x25\x1d\xa9\x27\x1e\xbd\x4b\xf3\x04\xd2\x7e\x6e\xab\xec\x5b\x6d\x2b\x2d\xf7\xa5\xcd\xc9\xe7\x36\xdf\x37\xd9\x5b\x1d\x08\x38\xac\x09\x57\x7c\x4e\xa2\x4f\x68\x35\x70\x60\x0b\xef\xca\x64\x8c\xf6\x8d\x68\x5e\x81\xdd\x5a\x36\xa8\x88\xb3\xaa\xe1\xce\x6e\xb8\xea\xf3\x7a\xfb\xe8\x63\xa6\xae\x7c\x48\x01\xcc\xa7\xb3\xb2\x42\x87\x14\x07\x18\x1c\x86\x7a\xc3\x66\x15\x59\x91\x29\x9a\x29\xb4\x75\x80\x90\x44\x89\xd4\x75\x15\xd7\x97\x04\xc3\xfe\x81\x58\x25\x54\x2a\x33\x7b\x4d\x73\xcf\x5f\x41\x60\xb5\x7a\xe2\xa5\x0f\x0b\x5d\x4a\xd5\x0d\x77\x57\xc9\x5d\x6e\x7b\x22\x12\x78\xf6\xb7\xe1\x58\xb2\xde\x4a\x39\x6e\xd5\x96\xdd\x66\xa3\xbc\x8e\x9a\x9b\xbe\x78\x30\x12\x70\x7c\xcf\xcc\x55\xae\xfe\x83\xf6\xc9\xf9\x83\x72\x65\x8a\x34\x89\x31\x1a\x4c\xb4\xcb\xbe\xfc\x41\x20\x1e\xf2\x04\x83\x64\x2d\x94\x1d\xb3\x9b\x77\x7d\x65\x42\x14\x96\xbb\xa4\x6c\x4b\xe7\x99\xb6\x85\x5d\x75\x73\x85\xe0\x00\x34\xba\xbd\x34\x25\x08\x34\x53\x22\xf0\x1e\x86\x8a\x46\x28\xa6\x24\x4f\x30\x4a\x09\xb9\x62\x05\x6d\xbb\xbe\x7e\x86\x2f\x71\x0a\xdf\xb1\x02\xff\x32\x23\xaa\xe1\x36\x9f\x2d\xe2\x10\x6a\x03\xdd\x3f\x78\x3e\x46\xa5\x85\x88\xb5\x5f\xf0\x2f\xb0\x0b\xb2\x1b\xac\x90\x3c\x6e\x1e\x02\xd4\x7d\x38\x47\xea\xcd\x1a\x41\x28\x2e\xe9\xc3\x4a\x82\xc8\x70\xd1\x4c\x2b\xa9\x1a\x08\x83\x61\x77\x98\x13\x02\x58\xcd\x12\xf7\xf7\x4b\xf7\xcf\x5b\xb6\x67\xf5\xb4\xf0\x0f\x27\xaf\xed\xae\x15\x28\x60\xc8\x7f\xc3\x54\xed\x01\x7b\xa8\xab\x76\xda\x4b\x1f\x44\x5b\x01\xd7\x2f\xdc\xb0\xa1\x11\x87\x5e\xf3\xce\x59\xb4\x6a\x4e\x35\xc5\x68\x73\x47\xf3\x07\x03\xe9\x4c\x00\xf0\xf8\x7d\xfe\x02\x83\xac\x42\x47\xe9\x04\xce\x70\xe1\x4c\x98\x8b\x46\x18\x96\x60\xdc\x29\xe3\xb7\x5a\xe1\x4b\x7b\xa1\xab\x5b\xab\x9a\x62\xe9\x12\x0b\xc0\x61\xf4\xb8\x09\xa8\x92\xcc\x69\xdd\xdb\x2b\xe7\xdc\x70\xca\x84\xef\xc1\x6d\xe3\xdb\x6f\xca\x23\x22\x48\x65\xe5\x12\xec\x7c\x0a\x26\x5a\xaa\x66\x2f\x9b\x5d\x72\x87\x36\xd8\x70\xd6\x8a\x0e\x0c\xb5\x64\xcd\xb1\x7b\xa1\xc4\xe1\x76\x9c\xa7\x91\x81\xda\x23\x9e\x58\xa5\xc7\xff\x71\xda\xb5\xdb\x2c\x76\xd6\xa2\xdd\x64\x37\x99\x85\x22\x5e\x20\x20\xd9\xa9\xe5\x2c\x16\xc8\x39\x79\x9e\x34\xf6\x2c\x0e\x8d\xd9\x94\x20\x9c\xa7\x46\xf4\x67\x16\xed\x56\x8e\xc0\x26\xab\x45\x27\x31\x9c\x3f\xf2\x1c\xb7\xd3\x0e\x83\xfa\xd3\xe1\x14\x3b\xc9\xf3\x87\x0c\x03\x6e\x72\xbf\xec\x84\x9c\xc5\xa2\xe5\x9c\x45\x6e\x2b\x20\x18\x44\xe4\x8d\x67\x8e\xa1\xe0\x8f\x61\xe0\x4b\x05\xf0\x0c\x06\xe9\x25\x38\xae\x50\x78\xff\xb1\xbf\x71\x32\x6b\xd4\xa0\xc8\xb5\x45\xd0\x23\xc5\x67\x16\xf6\xa5\x8f\x45\xcf\x97\x40\xa4\x47\xf4\x22\x1c\x57\x2a\xbc\x83\xb5\x68\x37\xb3\xa6\xf1\x55\xd0\x6e\xb3\x1c\xb1\xc7\x5f\x43\x23\x24\x1b\x5e\x8f\x45\x75\x4e\x17\xd6\xa3\x11\x02\x67\x8a\xd2\xb6\x2e\xb3\x1b\x1a\x5f\x81\x23\x14\xc6\xb8\x55\x0b\x44\x77\x92\x20\x52\x6b\x94\x99\xdb\x72\x75\x0b\x66\x77\xb4\xcc\x98\x91\xba\xf6\xaa\x2b\xd6\xac\xb9\x77\xf2\xf2\x65\x91\xea\x93\x97\x4c\x5a\x3f\x98\x4e\x4f\x8f\x76\x5c\xac\xfd\xa5\x34\xd0\x96\xcd\xc6\xbb\x88\x29\xbd\xf7\x03\x01\x00\x1d\xe7\x9e\xfb\x8b\x50\x28\x1c\x01\x02\xa8\x4f\x0f\xec\xba\x2c\x10\x88\x44\x3a\x62\xed\x5d\xa9\xc1\x35\x5b\x9e\x25\x37\xb5\x4c\x99\xd2\x96\x75\x59\xe9\xab\x4e\x5f\x59\x4e\x38\x09\xd2\x76\xc4\x9e\xdf\xc0\x22\x2f\x48\x07\x08\xb8\x38\x67\xb0\x39\x15\xcf\xf8\x9e\xfc\x6c\xfd\x8f\xce\x8d\x9e\x4d\x7c\x7f\xf4\x6c\xec\xca\x9f\x3d\x88\xab\xf1\xdf\xf3\x67\xe0\x4c\x7e\xfd\xe8\x87\xe7\xe2\xab\x88\x33\x47\xdf\xc1\x37\x19\xfc\x91\x06\xee\x2c\xb5\xd5\x98\xef\xfd\x48\x45\x53\xd1\x02\x84\x50\x32\x6b\xcc\x4f\x64\xf1\x4c\x15\x66\xb1\x42\xe7\x2e\x40\x59\x1a\x0e\x95\x2d\xba\xba\x6b\x2c\x2e\x28\xc6\x1e\x21\x04\xc0\x1d\x4e\x67\x0d\x4b\xd6\x20\x64\x93\x92\x9a\x95\x44\xc6\xf8\x32\x8a\x1f\x46\x52\x84\x37\x43\x92\x14\x12\xe1\xf1\x90\x28\x86\xa4\xd1\x43\x15\xcd\x4d\xb3\x9b\x9b\xc9\xe9\xed\xd5\x53\x9a\x67\x37\x5f\xdc\x5c\x59\xd1\x0c\xbd\x89\x76\xfc\xa3\x95\xb9\xd1\x53\x72\xa7\x4f\x62\x6c\x76\x66\xf2\xe2\xdf\x2d\x9e\xcc\xd8\x6d\x0c\x5c\xad\xe7\x37\x57\x54\x36\x93\xa5\x92\xfe\x9c\xc2\xbf\x97\x9a\x2b\xb4\x81\xca\xe6\xe6\x4a\xf8\x51\x45\x33\x9f\x5f\x92\x68\xff\x9b\x1e\xfb\x5b\xe1\xd8\x9e\xc0\xd7\xc3\x55\xea\x33\x67\x9f\xfd\x8c\xba\xc3\xce\xd0\xb6\xf3\x2b\x2a\xce\xb7\xd1\x8c\x3d\x7f\xd5\xd8\x5d\x95\x4d\x4d\xc8\x6c\xc8\x5d\x5f\x18\x9c\x1b\x0e\x14\x01\x13\xb8\x21\x0e\x29\xe8\x81\x4f\x0c\x3c\x95\x28\x9d\x49\xab\x49\x89\x96\x99\xac\x24\x82\xac\x8f\x3b\x0c\xad\x8f\xdf\xad\x44\x33\xc8\x90\x56\x74\x81\xa7\x20\xef\x88\x92\xc1\x21\xab\x4b\x3e\xc6\x4c\x27\x67\x8b\xcb\x29\xfa\x20\xcf\xd0\xa2\x9a\x4d\x67\x12\x84\x42\x4b\x42\x34\x01\xb4\x92\x95\x15\x99\x66\xe8\x00\xe8\x9a\x21\x63\x38\x40\x49\x49\x91\x36\x9c\x57\x8d\x29\x96\xd0\xc7\x7e\x42\x9f\x12\xa0\xc0\x71\xc2\xd0\x8a\x5c\x98\x11\x28\x51\x12\x58\x8a\x61\xb1\x3e\x2f\xe8\xbd\x93\xc5\xc6\x90\x28\xea\x97\xe8\xef\xc1\x28\xa5\x61\x5d\x69\xdc\x1d\xc0\xee\xac\x92\xd0\x07\x2c\x49\x2c\x38\xf2\xeb\x17\x18\x1b\xb8\x59\x83\x3a\xbf\x15\x44\xd0\x0b\xe4\x16\xa5\x24\x43\xa7\x92\x94\x5e\x25\xb2\x30\x55\x29\xe9\x04\x30\x11\x3d\x28\x09\x6a\x56\x4d\xeb\xc2\x5c\x94\xd5\xc5\x7e\x2c\x89\xfa\x13\x92\x59\x08\x60\xbd\x38\x60\x40\xb3\x10\x06\x78\x11\xc3\x12\x4a\xa1\x29\xf4\x1f\xd0\x1b\x41\x97\x0e\x21\x63\x14\x51\x2f\x1c\xc1\x08\xb4\x54\x30\x01\xc5\x6a\x2b\x36\x56\xe3\x64\x3d\xd3\x58\x87\x23\xd4\xac\x5a\x98\x1f\x53\x06\x98\x0d\x53\xbc\x56\x34\x24\x4f\xe3\xb1\x2c\xe8\xd5\x10\x8b\x0f\x2e\xb6\x74\x80\xc2\xd7\x58\xcd\x24\xc5\x53\x0b\x49\x87\xc5\x63\x22\xb4\x1b\x48\x92\x22\x08\xc6\x62\x26\x39\x12\x30\x06\x4c\xcc\x52\x49\x86\x20\x30\x03\x66\xb0\xf4\x46\x3d\xe1\x39\x61\xab\x12\x74\x80\xd5\xec\x76\xd9\xed\xc0\x46\x4a\x44\x92\x14\xac\x8a\xa3\x89\x36\xd1\x62\x49\xdc\x6f\xb1\xba\xdc\x76\x8a\x2b\x11\x9d\x2b\x5d\x60\x2e\x2f\x21\x20\xe2\xf7\x95\x62\x30\x73\x8c\x85\x26\xad\x0c\x07\x20\x78\x38\x01\x40\x34\x9b\x14\xb0\x53\x16\x56\xb4\xf8\xc4\x1a\x15\x57\xf8\x42\x94\xd9\x4a\x11\x66\x9b\xd0\x63\xae\xf2\x96\x64\x2d\x00\xce\x92\x0a\x4e\x8e\x84\x7d\xa2\x1d\x63\x9a\xb6\x32\x76\xc2\x3f\x3d\x2b\xba\x2b\x44\x02\x02\xa5\x76\x97\x34\xdd\x84\x81\x36\xb9\x43\x24\xa6\x49\x0a\xe3\x58\x82\x2a\x23\x85\x1f\x9a\x9d\x44\x30\x60\xaa\x60\x13\x0a\x69\xa7\x81\x10\x2c\x89\x0d\x17\x54\x49\x56\x1b\x06\xd1\x4c\xbb\x09\x09\x63\x0e\x8b\x8e\x18\x74\x4d\xcb\xdf\x4a\x58\x69\x33\x26\x2c\x04\x61\x25\xe0\x76\x6c\xe6\x68\xca\x4c\xd1\x98\x60\x2b\x5c\x66\xeb\x5e\x8b\x8d\xa0\x49\x92\x60\x49\x13\xce\x52\x76\xc2\x61\x36\x53\x04\x06\x0b\x26\x49\x13\x6b\x02\x27\x8b\x55\x41\xc4\x8c\x47\x8a\x7b\x65\x93\xbc\xd8\xcf\x2d\x91\x5d\x92\x25\x12\xa8\x9a\xcd\xf7\x09\x55\x93\x62\x29\x7f\xe9\xee\x76\xbe\x3d\x56\xe9\xa1\x2c\x11\x00\x8b\x05\x2c\xec\x6c\x2e\xe0\x71\x67\x42\xa9\x88\xd9\xee\xc2\x36\x8a\x84\x08\x41\x44\x84\x6d\x51\xcf\xa9\x1d\x52\x65\x25\xe1\x12\x2c\x1b\x6b\xbb\xab\xad\x24\x01\xe0\x0a\x30\xa6\xb8\x28\x0b\x67\xb2\x36\x12\xa7\xfb\x95\x8e\xcc\x8a\x58\xc3\x04\x8a\x8a\x46\x4e\x51\xe7\x39\x4c\xb4\xcb\x6a\xf1\xf9\xb2\x11\x97\xcf\x65\x66\xb1\x28\xbb\x9c\x02\x6f\xa9\x9f\x5f\xd6\xd4\xd2\x93\xa9\xb5\x2a\xa1\x70\x98\x60\x81\x75\x78\x9d\x3e\xf2\x34\xe0\x81\xb6\x11\x2c\x38\x08\xab\x9d\xd6\x06\xc0\xc4\x51\x94\xc9\x0a\xe0\xb4\x10\x26\xfd\x85\x63\xed\x7a\x97\xc7\x51\xe2\x73\x96\x5a\x22\x4c\x25\x55\x7b\xa6\x20\xb4\xdd\x76\x56\x19\x26\xab\x37\x25\x94\xe6\xa0\xcb\x06\xad\x03\x81\x98\xe8\xee\x88\x98\x88\x00\x40\x32\x0d\x44\x67\x09\xef\x60\xc8\x76\x2a\x50\xe6\x36\x13\xa6\xad\x0e\x33\x41\x32\x0d\x9d\x00\x0d\x41\x47\x55\x10\x13\x56\x33\x94\xf2\x62\x00\x2a\x62\xa4\x83\xb5\x49\xc0\x7a\x29\x93\xe4\xb0\x02\xe6\xc0\x66\xe6\xcc\x2c\x4d\x58\xed\x04\x1d\x24\x79\x92\x62\x30\x49\x3a\x24\x00\x9b\x93\x77\x98\x49\x33\xa6\x28\x92\x26\x18\x60\x9b\xbd\x36\x6b\x6b\xd0\x4c\x30\x25\x6d\xb5\xdd\xa5\xf4\x0f\x1b\x5c\x4b\x4c\x1e\x77\xb0\xcd\xef\xe7\x01\xc8\x8e\xd3\x6c\x21\x52\xfa\x9e\xd9\x91\x28\x23\x1c\x4d\x75\x09\x4f\xb7\xc9\x69\xc2\x94\x99\x49\x3b\x1d\x93\x65\x13\x9d\x28\xe9\x92\x4a\x81\x3f\x2b\xe4\x5e\x3e\xcf\xeb\x8a\x87\xac\x44\x05\xe7\xc5\xd8\x4c\x81\x43\x78\xca\xc4\x10\x24\x61\xa1\x19\xc0\x4e\x95\x04\xd7\x7e\x2b\x67\x02\x92\x04\xd2\x47\x50\xf8\x3d\x4c\x9b\xb0\x03\xec\x76\x9a\xb4\x53\x34\x41\xdb\x08\x20\x0f\x3e\x67\x2b\x91\x44\x91\x13\xec\x2e\x92\xef\xf5\x39\x19\x97\xb9\x54\xe4\x40\x9f\xa2\xfc\xa1\x12\x80\x66\x3b\x69\x65\x6c\x9c\x55\x9a\x63\x75\xd6\xc6\x63\x66\x1b\x69\x71\x45\x22\x3d\x61\x81\x22\xec\x8e\x0a\xda\x63\x13\xad\x8e\x6e\x96\x33\xd3\x25\x26\x3a\xc4\x12\x74\x55\xba\x43\xe1\x9e\x4c\xf7\x46\xcc\x1e\xa7\x58\x9a\xa8\x75\xb9\x97\x64\xbb\x85\x4b\xd3\xab\x9f\x9d\xbf\xb9\xd2\x0d\xa5\xbe\x8a\x5b\xba\x17\xaf\x5f\xb3\xbc\xe9\xe5\x39\x75\x93\xca\x30\x8e\xc4\x03\x00\x26\xde\x56\x4a\xc5\xd9\x99\xea\xc4\x73\x3b\x26\x51\xe1\xba\x68\x89\x2b\x1e\x2a\xb1\x5a\x7b\x27\xd9\x82\xa9\x80\xcf\xea\x28\xfa\xc7\xeb\xb2\x18\x8b\x42\x48\x41\x09\x94\x44\xad\x68\x36\x3a\x19\xa1\xb8\x4c\x44\x19\x96\x64\x14\x31\x95\x24\x64\x85\x0c\xeb\xb3\xb4\x54\xa0\x03\x56\x64\x85\x05\x26\x44\xc9\x8c\x3e\xc8\x41\x84\xc9\x52\xfa\xfc\x2e\x4a\xad\x24\x2f\x2b\xfa\x5d\xc6\x68\xd2\x0a\xc9\x00\x29\x65\x8f\xf1\x20\xa8\x38\x19\x63\x67\xf6\xca\xad\x17\x46\x1d\x8f\xbe\x77\x7e\x8b\x3b\xa4\xfd\x4a\xbb\x1a\xe6\xf6\x27\xaf\xb8\x78\xb3\x1c\x27\x5d\x4b\x37\x6c\xb9\x78\x24\x04\x09\xe2\x8d\xdf\xfe\x72\x4e\xf9\xaa\x2b\x47\x3f\x01\x00\x3c\x7d\xdf\xe7\x7d\xd3\x77\xac\x9b\xb0\x69\x52\xb3\xe3\x00\xb1\x0b\xcc\x42\xd7\x94\x73\x27\x94\xf0\xd8\x4c\xc4\xa6\x4e\xec\x6e\xce\x54\x06\x2c\x9b\x8e\xd3\xc3\x62\xfa\x9d\xb4\x7b\xea\x9c\x9d\x53\xad\x57\xe3\x2b\xea\x5a\x17\x31\xec\x96\xbf\xcc\x9b\x77\xc3\x60\x37\x6b\x07\xea\xf7\xaf\xde\xd1\xf1\xe9\x35\x1f\x35\x07\x3f\x7a\x67\xca\xdb\xc4\x19\x00\x97\xef\xe6\xef\xf9\x9d\x77\x42\xb6\xd9\xad\x45\xfe\xf1\x00\xd8\x4a\xda\x1b\x7a\xfc\x99\x0a\xca\x43\x51\x24\x41\xd1\x0c\x85\x9f\x3b\x11\x1e\x63\xb1\xfd\x5a\xd1\xa0\xae\x7f\x24\x88\x1a\x48\x90\x99\x74\x2a\x19\x20\x0a\xb6\x57\x10\x35\xe8\x99\x0c\xd4\x1c\xa9\xc0\xd1\x9b\x20\xc6\xf6\x51\x5a\x71\x81\x78\x8b\x36\x98\x66\x0b\xe8\x73\xba\x54\x94\x4d\x25\x49\xd1\xe5\x16\x18\x91\xbc\x4a\x69\x9c\x3b\xb5\x6e\x59\xc0\x5f\xe1\x72\x5c\x56\xd9\x5d\x16\xab\xf2\xd6\x34\xac\xbe\x6f\xa8\x3b\xb7\xaa\x4b\xee\x9d\xdd\xbc\x6b\xbe\x18\xea\xef\x48\xcd\xa8\xab\x48\x96\x26\x53\xff\xbe\xbb\xe7\xbb\xab\x3a\x61\xe5\x5f\x6e\xd9\xbe\x6c\x6a\xcf\xa5\xda\xa1\x27\x56\x39\xfb\x8b\x11\xa0\xf4\x08\xbc\x9e\x3c\x29\x5b\xe5\xb1\x7a\x18\xc6\xe9\xf4\x72\x53\x3d\xe1\x88\xa7\xbd\x5a\x9d\x97\x08\xb6\xad\xea\x69\x59\xd0\x1c\x67\x63\x22\x2b\x94\x29\xa9\x50\x75\x75\xa8\xb9\x7a\xe1\x8e\xf8\xc4\xb3\x2f\xbb\xe5\x2f\xfd\xce\x55\x4f\x00\x75\x69\xcf\xd4\x65\xdb\x0b\x11\xed\x90\x1e\x31\xf4\xf3\xaa\xc3\x39\xf2\xff\x0c\x5f\x96\x36\xd4\x6d\x78\x5c\x8d\xed\x87\xa8\x06\x3e\x79\xd2\xa0\x29\x96\xc7\xed\x72\x66\x55\xda\x02\x0c\x4b\x1a\x06\xbe\xc0\x82\x72\x14\x3e\x95\xc8\x7a\x81\xf8\x47\x9c\xf2\xbb\xf3\xf5\x52\x90\x86\xa8\x14\x08\x7f\x24\x06\x08\x8f\x9d\x0c\xba\xb5\x3f\x96\xca\x72\x29\xcc\x77\x45\xde\x71\x4c\x6d\x25\x69\x5a\xf4\x25\xc3\xda\x27\x76\xb3\x49\x1b\x14\x7b\x6c\x6a\xdf\x00\xb1\x61\x71\xbb\x78\x33\xd9\x3a\x95\x9c\xf6\x94\x14\x89\x08\x87\x1e\x64\x68\x18\xf2\x3a\x4a\x1d\xdb\x5b\xdc\xb2\x5c\x5a\x51\x1a\xf7\x7d\xd8\xa3\x9d\xab\xfd\x92\x13\xdd\x55\xa2\x60\x31\x6b\xbe\x12\xc6\x2c\xf6\x51\xdb\xd5\xc5\x2b\x56\x8c\xbe\xc7\x41\x03\xec\x40\xc7\xad\x3b\x14\x34\x95\x2f\x59\x6a\x7e\x03\xc6\xe9\x88\x8b\xd5\x0c\x99\x19\xf6\x17\x77\x6c\x8f\xc4\x86\x65\xef\x41\x63\x4b\x86\xca\x79\xe5\x11\xd2\xd8\xef\x1d\x45\x06\x31\x39\x36\x76\x72\x8d\xfd\x5c\x82\x3d\x7a\x91\x7c\x84\x0b\x91\x42\xd4\x7e\x83\xff\xb1\xb0\x0b\xa5\x10\x51\x37\x2f\x1a\x76\x4c\xc7\x90\xb3\xa4\x55\x3e\x13\x25\x8a\x6c\x6d\x86\xef\xb7\x04\x47\x20\xdd\x28\x54\x5f\x96\x2a\xfd\x5b\xf5\x67\x66\xd9\x3b\xd2\x99\x18\x4e\x74\x8e\x78\x65\xf3\x67\xd5\x7f\x2b\x4d\x95\xd5\x3b\x01\xf5\x2c\x85\xdc\xd2\x1e\x40\x4e\x6d\x68\xc7\x4f\x77\xec\xf8\x29\xec\x2f\xab\xaf\x84\x59\xe7\x6b\xa7\x39\x5c\x5e\x59\xfb\x38\xd1\xd9\x99\x00\xa7\xec\x75\x39\xe0\x86\xf3\xb5\x7b\x2b\xeb\xcb\x4a\x3d\x90\x5b\xb9\x52\xcb\x79\x88\x21\xfd\x86\x1d\x85\xb2\x92\x7a\x59\xe3\x86\x25\x6e\x51\xd8\x8d\x7e\xc5\xb9\xd0\x66\x47\xf0\xd9\x50\x7d\x7f\x7d\x7b\xe7\xc2\x4e\xe3\xaf\xbe\xbf\x7e\x75\x3f\xce\xf5\xaf\xd6\xf6\x1b\xa5\x21\xda\xb5\x02\x4f\xde\xd0\xe8\x6a\xa3\x24\x2f\x6b\xb5\xfa\x99\xb8\x4c\x33\x30\xfe\x60\xb8\x7f\xf5\x6a\x78\xe1\x68\x39\x0a\xef\xd1\x8d\xc2\x08\xc5\xa1\x15\x64\x45\x1e\x63\xb5\xc3\x0c\x0b\xa2\x14\x1b\xbf\xc0\x43\xc1\xa0\x93\x2b\xad\x29\x9b\xdd\xe2\x89\x35\x37\xc5\x3c\x2d\xb3\xcb\x13\xa5\x9c\x93\x9c\x7b\xdc\x00\xf3\x1e\xbc\x2e\xf6\x0e\x05\xbd\x10\xf1\x97\x95\xf9\x23\xe0\x0d\x0e\xf5\x8a\x3b\x4f\x30\x46\x54\x1d\x46\xf4\xef\xa8\xc3\xc8\x81\x7a\x10\x42\x05\xc2\x36\x21\x80\x93\xad\x10\xa7\x19\x03\x1c\x4a\x89\x1b\x3e\xd6\x94\x61\x16\x1c\x97\x15\xb9\x0d\x74\x39\x53\x8d\x1b\x36\xc2\x94\x6a\x90\xcd\x1b\x18\x3e\x94\x61\x88\x2b\x89\xd4\xc8\x82\x1b\x5e\x7d\xef\xd5\x1b\x16\x14\x4e\xb0\x8a\x74\x6a\x6f\xd8\x1d\xac\xf6\xc6\x5e\x4b\xc8\xb2\x57\x7b\x83\x75\xd8\xb5\x37\x9c\x24\x65\xde\xbb\xd7\x4c\x91\x4e\x88\xd9\x1d\x2c\xc4\xf6\x9a\x23\xe6\xbd\x10\x63\x1d\x76\x88\x15\x33\xb1\xf5\xe8\x63\x16\x2c\xb8\x21\xe3\xa0\x86\xb4\x17\x9d\x16\x0b\x3d\xf8\xb9\xdd\xfe\xf9\x20\x6d\xb1\x38\x21\x39\x44\x39\x38\xdb\xe7\x9f\xdb\x9d\x0e\x6a\x08\x92\x85\x5c\x9b\xad\x90\xab\xbd\x38\x44\x39\x9c\xf6\xcf\x3f\xb7\x15\x75\xbf\x27\xa9\xf3\x90\x0b\xd5\x21\x14\xd7\xc7\x35\x7d\x58\xa3\x8d\x11\x30\x95\x8c\xc5\x69\xb2\x38\xd4\xb9\xb2\x31\x43\x52\x66\xc1\x6d\x90\x6a\x1b\x92\x38\xf9\x61\xb6\xfe\x61\xed\xf9\xbd\xcb\x7e\x75\x78\xc9\xbd\x1f\x6c\xbf\x0c\x08\x90\x07\xb5\x0b\xf6\xdf\xa8\x1d\x78\x71\xd3\xba\x67\xc0\x75\x5d\x15\xe7\x0a\xcf\x5e\xb0\xeb\xe0\x95\xe7\x9c\x59\x1e\x64\x99\x77\xcd\x7b\x21\xfb\xf0\xc8\x1d\xcd\xda\x8f\x5e\xdb\xfe\xc1\xbd\x4b\x36\x3f\xfd\x7f\xff\xda\xf4\x22\xf8\x6f\xbc\x0e\xa4\x5f\x9f\x4b\xe3\xf2\xf2\xe0\xb4\x97\xd6\x5d\x79\x70\x57\xca\x15\x64\xcb\x0a\xd8\x66\xf4\x48\x71\x4f\xbb\xb2\x68\xc1\x68\x6c\xe7\x87\xbf\x64\xc7\xff\x25\xdf\x96\xf6\x71\x68\x1a\x78\xc9\xf8\x2f\xb8\x5d\xf6\x1e\x34\x72\x68\xe4\x95\xf1\x9d\x05\xf8\x3f\x34\x6a\x20\x7d\x18\xbb\xb0\x70\xe7\x51\x1c\x0e\x03\xc7\x23\x74\x78\x98\x1e\xa2\x46\x50\x27\x9a\x6c\x78\xe2\x55\x82\xc0\x48\xa2\x60\x74\x03\x96\x8c\x72\x51\x2e\x92\xc0\x35\x63\xd4\x8b\x6d\x50\x24\x7d\x68\x02\x4e\xd1\xbf\x8f\xa0\x81\x10\x54\x04\x08\x82\x70\x3a\x1b\x12\xe9\x21\xd9\xbb\xbf\xeb\x65\x9e\x77\x65\x5d\xcf\x52\x42\x7b\xe7\xc9\xb5\xb9\xd4\x69\x3d\x4d\xac\xe3\x11\xc1\xef\xe1\x79\x82\x7b\xbe\xb1\x00\xf7\xb1\x87\x97\xd3\xfc\x1e\xa2\x6f\x0f\x9f\x96\xf9\x3d\xfb\xbd\xda\xc4\x7c\xee\x31\xb0\x3c\x86\xe7\xa7\xe5\x7b\xd7\xff\x86\x4f\xf3\x3c\xff\x0c\xe5\x2c\x0f\x79\x89\xdc\x68\xce\xa7\x28\x76\xf6\x25\xb7\xd3\x95\x11\xfe\xb6\x76\x58\xaf\x98\x5c\xb8\xb1\xf0\x18\xed\x8f\x18\x5d\xf0\xd8\x63\x08\xc1\xe1\xc3\x08\x98\x73\xc9\x49\xe8\x02\xc3\x66\x90\x66\x58\x1c\xc0\x06\x90\x46\x00\xb3\x10\xa5\x68\xb9\x06\x12\x04\xc3\x92\x92\x60\x50\x60\x44\x69\xbd\x86\x09\x02\x2b\x06\xda\x56\x2a\x1e\x00\x7d\x8e\xd4\x8f\x01\x22\xa9\xb6\x92\x06\x76\x84\xa1\x70\xe9\x3d\x45\x0a\x10\x82\x81\x07\x63\xac\x8a\xb7\x62\x35\x5b\xd8\xff\xc0\x52\x3c\x2b\x4a\xcc\xb9\xd2\x1e\x4f\x79\x59\x20\xc8\xf0\x89\x08\x09\x97\x24\x09\x86\x31\x55\xc8\x87\x91\xa7\x5d\x10\x02\xfd\x0d\x1d\x1e\xc2\xe2\xe1\x1d\xc0\x90\xa4\x2b\xba\x6e\xd2\xd5\x6b\x16\x79\x4a\x2c\xd1\xd3\x97\x5d\xd2\x4c\x13\xa4\xa3\x02\x5c\x36\x91\xa2\x9c\x26\x21\xed\x70\x96\x66\x2b\xcb\xfc\x76\x4c\xbb\xcc\x16\x0a\xb3\x0c\x5d\xd2\x6c\x77\x39\xc5\xcc\x4f\x07\x32\x82\x8f\x65\x30\x81\x81\xe6\x58\x93\x2b\x52\xd1\x1a\x6f\xae\x21\x6d\x14\x89\x69\xc1\x02\x21\x25\x49\x13\x9f\xb7\xbf\x13\xca\xa4\x2a\x1a\x7c\x15\x55\x41\x8c\x77\xcc\xa7\x1c\x72\xa0\x84\xa4\x04\x9b\xcd\x3d\x7b\x42\x8d\x09\x28\x4f\x74\x42\xa5\xa3\x84\xa6\x78\x82\x2c\xef\xe8\xf2\x78\x2c\x65\x3b\x87\x81\xbe\xc4\x29\x52\x34\x8f\xb1\x99\x24\xac\xee\xe4\x4a\x7f\x69\xf3\xdc\x3a\x3f\x05\xa6\x58\xe3\xb2\x9e\xb2\x4e\xbb\x2d\x62\xc6\x22\x6f\xf5\x62\xb0\x51\x5c\x30\xdc\x98\x9e\x27\x5b\x5b\x23\x35\x41\x33\x26\xbd\x95\x0b\x5a\x97\x6d\xb4\x38\x08\x02\x08\x02\x30\xe5\x30\x1b\x5c\xc1\xf7\xd0\x9f\x51\x53\x90\xc5\x18\xf1\x6a\xd0\x2c\xb4\x1c\x9d\x87\x50\xfc\x88\x4e\xac\xcf\xc6\x46\x50\x12\xb3\xd2\x18\xde\xa7\x14\x80\x78\x02\x62\x0c\x4d\xea\x1f\xa2\x9a\x8d\xc5\x05\x56\x1f\x15\x13\x90\x49\xbb\xd4\x6c\x4c\x57\x07\x03\x90\x35\x70\xd1\xf4\xcf\xd6\x50\x2d\x71\x00\x8a\x80\xa1\x59\x99\xa1\x0b\x2a\x65\xdc\x48\x33\x92\x94\x04\xe8\x2a\xbb\xae\xa2\xe3\xdb\xdd\x42\x34\x32\xcd\x2d\xba\xba\x67\x9c\x65\x32\xdb\xd9\x52\x86\x0b\xb0\x81\x87\xaa\xff\xba\x6a\xe5\x8c\x9a\x9a\xdf\xac\x58\xb5\x18\xac\xe6\x61\xed\xf0\xae\xb7\xb4\x3f\xb1\xe6\x61\x80\x5d\x6f\x41\x1c\xe4\xde\xcb\x7e\xae\xe5\xb5\x77\xb4\x7f\xbf\xba\xfd\xfb\xb9\xbb\x61\x5e\x6f\x47\x35\x49\xb3\x0e\x9a\xfe\xfe\xef\x13\xd5\xd5\x98\x62\x2d\xb6\x86\x85\xdd\x67\xcd\x2c\xe1\x4d\x95\x92\x24\x32\xc2\xdc\x36\x4f\x05\x49\x79\x3d\xcd\x30\x6b\x4e\x4a\x31\x27\xb3\x5e\x93\x3f\xd6\xda\x7a\xdf\x1c\x7f\xad\x2d\xe8\xdf\xfc\xe9\x68\x64\xa2\x83\xf5\x86\x23\x13\x42\xbe\x1b\xec\x3e\x8a\xb2\xda\x83\x2c\x65\x1d\x5c\x32\x14\x8b\xec\x5b\xbc\x68\xa1\xaf\xf4\xa1\xe6\xa1\x2b\x27\xb2\xd2\x07\xbb\x0a\xa7\x9d\xdd\x97\xee\x58\xd6\xda\xb5\xfe\x91\xd3\xd7\x01\x99\xbb\xfb\xbb\xbd\xed\x97\xb3\x36\x4c\x60\xdc\xd4\xd2\xb6\xce\xce\x5a\x49\xd2\xd5\xb8\x1c\x2f\x1e\xdc\x5c\x2f\x89\x8c\xa9\x52\x6a\x1b\xb2\x53\x5e\x8f\xa7\x9c\xb2\x4f\x1f\xca\xaf\xf3\x79\x5d\x49\xdf\xc0\xde\xee\x09\x19\x17\x1d\xac\xaf\xa1\xbd\x53\xc6\xcb\x16\x6b\x91\x19\xf1\xa8\x14\x21\x83\xdf\xb6\x15\xd4\x00\x00\x27\x60\x46\xe6\xd2\xae\x18\x38\x19\x19\x67\x38\x91\x74\x91\x67\xdc\xfb\xcc\x2f\xee\xbd\xf8\xe9\x48\xf4\x69\xed\x86\xfc\xaf\x1f\xba\x0b\x62\x64\xe6\xa1\x5f\xe7\x1f\x84\xd8\x5d\x91\xc1\xc1\x39\x9f\x5f\x76\xd9\xe7\x54\x8b\xe6\x1b\xd5\xbe\x73\xca\x6b\xe0\x79\x0c\x26\xfc\x3e\x5f\xa1\xfd\xe3\xb5\x53\xe0\x96\x51\x78\x3b\xf0\x7b\xed\xb1\x22\xd6\x33\xa2\x36\xd1\x08\xad\x44\x08\x58\x42\x17\x55\x69\xc4\x18\x28\x1f\xd9\x98\xca\xe2\x04\xa1\xb4\x42\x00\x4b\x59\x3d\x4c\xe9\x61\x2a\x08\xd9\x4c\x82\xca\xaa\x01\x92\xc5\x0e\x10\x05\xa6\x95\x12\x25\x56\xff\x90\x69\x3d\x48\x6d\x0a\xcd\x1d\x5c\x76\xca\xe0\xf4\x66\x27\xb7\x46\xbb\xe5\x65\xde\xeb\xe5\xf7\x40\xe5\x92\xd8\xe4\xc1\xb9\x27\xcf\x3e\x29\xbc\xf6\xb9\xef\xad\x6d\x2b\xc9\x78\x19\x71\x52\xf7\xe2\x81\xd9\xed\xd5\xf4\xc4\xf3\x4e\x9e\xdd\x92\x0a\x8b\x14\x69\x33\xf9\x26\xd5\xa7\x59\x39\xd5\x73\x46\x73\x8c\xa2\x05\x97\x89\x01\x20\xd8\x9a\xec\xdc\xc5\xdb\xba\xb1\xd2\x32\x6d\xd6\xcc\xbe\x26\x8e\x93\x92\xb4\x67\x4a\xff\xfa\xb3\x76\xc2\x4f\xfa\xcf\x6a\x09\x11\x6c\xa0\xc4\x62\x39\xa0\x7d\x01\x5e\xb9\x04\x5e\x7d\x9c\x75\x99\xec\x55\xbd\x5b\x4f\xaa\x11\xa2\xd3\xfa\xaa\x76\x0c\x03\x81\x09\xae\xb4\xbe\x77\xdd\x44\x3f\xc7\x97\x37\xb5\xb5\xd5\x39\x9c\x9b\x7a\x68\x61\x42\xef\xea\x35\x97\x74\x97\xf4\xf4\xcf\x9f\x7b\xd2\xc4\xac\xc3\x41\x2e\xf4\x32\x52\x5b\xa6\x31\x88\xa5\x69\xe7\x0d\xb4\x04\x5c\x40\x10\xc4\x15\x17\x32\x52\x53\x42\xc6\x75\x88\x44\xee\xc3\x88\xfc\x27\x85\x0c\x4b\x72\xc1\xf0\xaf\x32\x24\x2c\x28\xd8\xec\x83\x3b\xcc\xe9\x7f\x71\xf7\x18\x23\x13\xf9\xcf\x75\x33\x1a\xb4\xd1\xfc\x47\x33\xd6\x91\xbf\x3f\x54\x31\xf6\xb7\x6e\x06\x31\x6d\xc6\x3a\xf0\x75\xce\x5a\xaf\xfd\x0b\xec\xeb\x67\x75\xc2\xc4\xc3\xe8\x30\x4c\x3e\x8c\x0e\xff\xa0\xab\x6b\xe6\xfa\xf5\xe3\xe4\xcc\x12\x14\xd7\x67\x4d\xf4\x95\x34\xa6\xe2\x57\x38\x77\x91\xb9\x22\x91\xe9\x18\xc9\x66\x81\xc8\xf4\xee\xaf\x73\xf4\xc2\x3b\x4f\xc0\x67\x7a\xef\xd7\x39\x7c\x1d\x23\x13\x17\xcb\x7a\x2c\x1b\xeb\x78\x32\x56\xd7\x57\x96\x95\xb7\x6b\xc3\x7a\x01\x8f\x52\xb1\xc2\x90\x9d\x1f\xfe\xda\xc2\xee\x2f\x16\x11\xda\xcc\xfe\x31\x46\x56\xed\xf0\xd7\x96\xf6\x4b\xf2\x7b\x61\xcd\xf4\x68\x31\x8f\x97\xdf\xbf\xb4\xdb\x80\x64\xaf\xc0\x15\xdc\xce\x38\xc1\x2b\x03\xfa\x1a\x07\xb5\x91\x7c\xce\x2b\xdb\x8a\x6e\x63\x36\x79\xf4\xd9\x6f\xe1\x0f\xc6\x20\x1e\x05\x8f\xfa\xe1\xbb\xbe\x82\x31\xa0\xb8\x9f\x5b\xf1\x75\xbc\x01\x45\xef\x7a\x08\x7d\x2d\x7d\x40\xd1\xc6\x7d\x11\xb5\x1f\xb9\x51\x16\x21\x90\x0c\x71\x4c\x97\xc6\x54\x49\x9f\x5b\x51\x4a\x17\x4a\x25\x63\x34\x22\x0a\x40\x62\xaa\x41\x2e\xea\x16\x68\x85\x0f\xbb\xc3\x52\x38\x29\xf1\xc4\xe1\x25\x8d\xda\xcb\x8f\xdd\xa8\x7d\x76\xc3\x6f\xee\xe1\x36\xed\x02\x66\xdf\xd6\x57\xcf\xc6\xbe\xc6\xc3\xc8\xee\x2c\xe3\x3e\xd2\xca\x3c\x71\x62\x08\x9b\xd8\xd9\xd9\xce\xc1\x65\xdd\x71\xb8\x4b\x5b\xee\x84\x5f\x96\x71\x07\x60\xd1\xaf\x1f\xfc\xf3\x0d\x60\xbe\xf1\x21\xa8\x68\xdd\x91\x7d\xeb\x82\x7d\xda\x17\xdb\xdf\xf4\xae\xcd\x31\x51\x78\x33\xec\x21\xac\x5c\x49\xaa\x6d\xb0\x73\xc2\x77\x18\xed\xad\x5c\x2e\xaa\x35\x9c\x80\xd7\x27\xab\xc8\x44\x36\x95\x64\x58\x30\xcc\x29\xe5\xc2\x92\xae\x54\xf0\xcd\x92\xc4\x54\x92\x77\x7d\xc9\x3a\xd1\x66\xb9\xf7\xef\x33\xaa\xe4\x59\x56\xf2\x07\xd1\x4a\xc5\x1e\x0a\x6c\x6f\x5a\xee\x3b\xdd\x97\xee\xb3\x36\x24\x1d\xcd\x8e\xee\xa1\x9b\xfe\xfa\xc6\xc1\x63\xde\xe7\xf6\x3f\xd0\x26\xed\x5f\xfc\x50\xc3\x1b\x77\x67\x7f\xf5\x84\x8d\x59\xe4\x19\xf2\x74\xa5\x1f\x54\xff\xa4\x3e\x08\x32\xf8\xe0\xbc\x63\x76\xd0\xe0\x08\x0f\x86\xae\xff\x0a\x98\x2c\xa8\x61\x47\x0c\x8c\xda\x20\x33\x3e\x3c\xe6\x86\x15\xcf\x8a\xa5\x20\x30\x94\x7b\x2c\xc0\x65\x51\x31\x93\xcc\x3d\xa1\x3d\xfe\xb3\x61\xd6\xf5\x1a\x41\x5b\xcc\x76\xe9\xdd\xb1\xb3\x8b\x1d\x66\x5d\xb0\xde\xe1\x95\xb4\xf5\xc5\xd3\xe3\x40\x1a\xa9\x78\xe4\x67\xda\xe3\x4f\xb8\x58\x7c\x4a\x27\xd0\x16\x67\x4e\x32\x4d\x5a\x74\x24\x74\x50\xd7\x2a\x1f\x3a\x8b\x12\xf4\xd8\xc6\x45\x63\x01\xad\xc4\x0e\xc2\x93\xac\xcb\x35\xce\xf7\x3b\x5a\x44\x9f\x76\x17\xdd\x8c\x0a\x95\x39\x32\x18\x1d\xd9\x15\xfb\x96\xfe\xe0\x5a\x81\xd5\x52\x1b\x36\x94\xdf\xa1\x82\x0f\xca\xd0\x37\x7a\x87\x7f\xe9\x7a\xe3\x49\x5f\xe7\x2d\x5e\xf4\x8b\x35\xe5\x28\x84\x14\x83\xf1\xaf\xbf\xb0\xfb\x96\x29\x28\xc1\x09\x28\xd0\x1a\x67\x9b\x20\x93\x4a\x4a\x61\x43\x82\x31\x4c\x51\x81\x51\x45\x81\x91\xb2\x69\x05\xc2\x34\x13\xa1\x1d\x00\x2c\x54\x02\x91\x4a\x12\x51\x3e\x95\x14\x25\x08\x90\x29\x2a\x2c\xe3\xd3\xcf\xbc\x39\xd7\x6e\xe7\x99\xc6\xa9\x53\x1b\x19\xde\xde\x9e\xbb\xf9\x4c\x72\x5e\xc5\x36\xe7\xbc\x4d\xd5\xd5\x9b\xe6\x39\xb7\x55\xd0\x99\xcc\x8c\xee\xee\x43\xb3\x88\xcf\x5e\xff\xa8\x61\xb5\xcf\xaf\xed\xf7\xce\xab\x1e\x5a\x54\x7a\xd3\x4d\xa5\x8b\x86\x12\x73\xbd\x10\x22\xd9\x9a\x64\x4f\x0c\x9e\x1b\x35\x9f\x05\xc3\xed\xed\x35\x61\x4f\x09\xe6\x3c\x1c\x2e\xf1\x84\x6b\xda\xdb\x19\x91\x70\xa4\xaa\x62\x55\x29\x07\x21\x32\xa3\xb1\xd5\xb1\x40\xed\x95\xb5\xda\xef\xe5\x8a\x5a\x8f\x47\xdb\xef\x95\xe1\x65\xd8\x0f\x2f\xcb\x5e\x6d\x3f\x69\x0f\x97\xb8\xfb\xdb\x8b\xdf\x47\x8e\x46\x68\xc0\xb0\x4f\xd6\x3f\x56\x5d\x43\x2c\xec\x22\xd5\x00\x75\x34\x38\x46\xd0\xd0\x06\xc4\xd1\xa0\x52\x34\x63\x0d\x42\xfc\x68\xb0\x08\x6f\x47\x3b\x80\x57\xb3\x10\x27\x28\xea\xa3\xd6\x93\x16\xdd\x57\xcf\xcc\x6c\xaa\x99\xea\x50\xb5\xe7\x55\xd3\xcc\xe6\x9a\x3e\x87\x7a\x5d\xa9\xbb\x65\x86\x5a\x75\xe3\xf2\x1b\xbd\x62\xf3\x80\x5a\x75\x53\xa6\x90\x91\x85\x6c\xd6\x34\x4b\xbf\x38\x73\x9b\x5b\x6c\x9e\xd5\x5c\x75\xd3\xf2\xdd\x9e\xd1\x51\xc8\x2e\xd7\x9e\xc7\x9f\xcf\x68\xf9\x4e\xb8\xe9\x2e\xb7\xb7\x69\x76\xb6\xfa\x8e\x15\xbb\x3d\x92\x1e\xb8\x3d\x63\xee\x6f\xa9\xe9\x73\x64\xa0\x21\x6b\x9a\xa1\x3f\x25\x73\x8b\x47\x6a\x9e\x95\xad\x1e\x5e\x3e\xac\x5f\xa2\x56\xdd\xaa\xd2\xd3\x9b\xaa\x7b\x1c\x59\xed\x17\xf5\x26\xed\xe0\x72\x68\x5a\x79\xfc\x5a\x4d\xb9\x61\x49\x75\x9c\x8d\x08\x70\x45\x22\xfb\x06\x28\x52\xd9\x2b\xc5\x1e\x3b\xd6\x81\x8b\x78\x19\x74\xb2\x95\x52\xe3\xad\x30\xde\x88\x84\xd8\x1f\x0c\x47\x9e\xc9\x9c\xdc\xd9\x79\x72\xcd\x93\x35\xb6\x0a\x4b\x7d\x19\xd1\x5e\x56\xaf\x96\x8f\x8e\x94\xd5\xb7\xc4\x6b\x1e\x52\x08\x3f\xeb\xe7\x3d\x6e\xc1\xed\xe1\xfd\xac\x9f\x00\x6b\xb4\xed\x58\x5b\x93\x43\xfb\x61\x6f\x54\x10\xb7\xc6\x26\x4c\x08\x6d\x0c\x99\x64\x93\xd6\x57\x56\x5f\x8f\x4f\x2b\x6f\xac\x2f\x8b\x4f\x2f\x09\xad\xf5\x62\xde\xcc\x99\x2d\x14\x65\x31\x73\x66\x1e\xff\x48\x9a\x8e\xc6\xf6\x12\x0d\xdf\x03\x0a\xb5\xa1\x49\x68\x06\xfa\x0e\x5a\x83\x10\x9f\x56\x41\xc6\x06\x42\x26\x61\x6c\xfd\xc8\x8e\xc2\x9a\x86\xae\x3b\xf1\x47\x92\x22\x72\x34\x1b\x4b\x25\x49\xa9\xe0\xe2\x49\x4b\x22\xc5\x8b\x92\x31\x07\x8a\x6e\x01\x33\x7c\x36\x93\x46\x21\x52\x74\x39\x31\x4d\x86\x62\x32\x76\xba\xb2\x28\x14\xcb\xba\x9c\x58\x8e\x85\x48\x1a\x3b\x5d\xe2\x79\x5d\xb0\xea\x17\x1f\x52\x26\xca\x61\xf2\x91\x7d\xda\x7b\x89\x0a\x9e\xe5\xf9\x17\xa6\x9c\x67\xe3\x68\xc2\x61\xeb\xdf\xf0\x43\xed\x1f\xc5\x34\x26\x64\x59\x0e\x27\x3d\x7b\x05\x58\x97\x5b\xd4\x5e\x92\xb4\xd1\x2e\x46\x24\xda\x34\xfa\x03\x20\xb7\x6e\x5b\xbd\x9c\xd8\xbc\xf8\xe5\x1f\xff\xb3\x69\xf4\x36\x38\x1d\xfa\x3e\xde\xb9\xf3\x63\x6d\xaf\x76\xa5\xb6\x57\x0f\xc1\x2c\x98\x0f\x2d\x6f\x5f\x78\xe1\xdb\xda\xd3\xda\x9d\xda\xd3\x7a\x08\xe7\x6e\xbf\x7a\x94\x5f\x0c\x67\x81\x89\x57\x9a\xfd\xf3\xed\x87\x11\xd1\x48\x50\x38\x5c\x0a\x16\x30\x83\xcd\xc5\xb3\x60\xd2\x1e\xd5\x4c\x44\xfb\x58\xea\xf0\x63\x2b\x86\x66\xa8\x36\x0f\xef\x73\x04\x6c\x31\x6a\xe5\x2b\xf9\x8d\x34\x55\x15\x22\x07\x7e\xf4\xf4\x6f\xb4\x5b\x96\xe0\x3b\xef\x5e\x59\x81\xd3\xc7\xfc\x70\x9f\x51\x98\x2f\x1e\xb9\xf0\x6d\x68\x39\xae\x0c\x47\xb8\xa0\xf4\xf6\x77\x21\x9f\x2e\x41\x50\x72\x4c\xff\x46\x62\xaa\x9b\x26\xdd\x02\x29\x71\xc0\xc7\x55\x59\xc9\x90\x12\xd9\xaa\x7d\x7c\x40\xfb\xc1\xef\x7f\x05\x8b\x5e\x7f\x5d\x7b\x17\x32\xef\x11\x7b\xe2\xf9\x7f\x5d\xb1\xfe\x56\x70\xff\x9a\x46\x07\x51\x4e\xd8\x9d\xdf\xf5\x83\xcf\x76\x7b\xef\x93\xf7\x5f\x7a\xed\x3b\x01\xaa\x5f\x6b\xd3\x36\xad\x3d\x69\x62\xe9\x7d\xe1\x2d\x63\x36\xe6\x06\xef\x94\x0d\xc9\xa8\x16\x21\x33\xb8\xa3\xc5\x2e\x1c\xcd\x40\x98\x4b\x71\xe3\xfe\x8e\x62\xc7\x51\x63\xc1\x14\x31\x42\x8c\xe4\xca\xfd\x07\x2d\xfe\xf2\x1c\x20\x40\xb9\xb1\x7f\x4d\xfe\xf2\x2f\x72\xe5\xfe\x26\xba\xc9\x5f\xfe\x79\xae\xdc\x4f\x23\x2d\x57\x40\x00\x39\x8c\xf2\x88\x18\xf7\x57\x80\x27\x1d\x91\xbd\x7a\x7e\xb1\xfe\xe6\x82\xef\xba\x2e\x2f\xf0\xa2\xd1\x51\x54\x9e\x12\x93\x6a\x91\x6f\x2b\xce\x02\x23\xba\x05\x86\x2f\xda\x78\xca\x2a\xaf\x0f\xb6\x59\x35\x3e\xc6\xeb\x45\x7f\xe8\x22\xef\xd3\x7e\xaf\xed\xd6\x7e\x7f\x1f\xe9\xc2\xad\x62\x5a\x24\xfb\xc5\x43\xc3\xa4\x8d\xcc\x9f\x55\x59\x4f\xb7\x35\x36\x62\x8b\xd9\x31\xe2\x30\x5b\x70\x63\x63\x87\x75\x8e\xf6\xa0\x28\x92\x43\xa4\x8d\x24\x87\xf0\xe3\xda\x2f\x26\x9c\x33\x61\xc2\x39\x13\xa0\xf9\x21\x86\xc1\xce\x84\x49\x1b\x06\x78\x31\x72\xc3\x69\xb1\x9e\x09\xb2\x36\x9d\xb5\x5a\xad\x56\x16\x7e\x22\x4f\xe8\x91\x5f\xda\xbc\xcc\x94\x30\xc1\x10\x80\x36\x8c\x00\x9d\x71\x38\x47\x5d\x51\xb0\x69\x01\x5e\x8e\x46\x18\x5e\x46\x58\x11\x53\x49\x35\x00\x2e\xa9\x95\x50\xf5\x60\x1d\x4b\x30\x34\xb1\xc0\xde\x5a\x59\xde\x6e\x2f\xd3\x0e\xdf\xbf\xa8\x31\x59\xd5\xd5\x76\xc9\xcf\x2b\xe2\x97\xcf\xdf\x50\x93\xcd\xd4\x37\xfa\xdb\xa3\xd3\x2c\xbb\x70\x57\xbe\xc5\x6a\xc5\x4f\x4f\x80\x67\xa0\xec\xfb\x0e\xc7\xaa\x0f\xb4\x5f\x4c\x68\x79\xf7\x8a\x17\xe6\xb0\xac\x72\x4a\xe3\x77\xb9\xcf\x8b\x9c\x38\xd4\x5f\x8c\x39\x14\x41\x58\xff\xca\x0a\xeb\x5d\x4e\x57\x36\x96\x0a\x49\x8c\x1c\x8d\x18\x42\x5e\x2a\xd9\x4a\xa8\x61\x02\xe1\x57\x6d\x0f\x6b\x3f\xfe\xe3\x4d\xda\x81\x17\x37\x6e\x7c\x11\xfc\x37\x41\xd5\x6b\xbf\xd9\xfc\xc8\xb6\x3f\xe5\x72\x7f\xda\x36\x67\xd7\xe0\xc4\x30\xad\xf5\xe1\x0f\xbb\x5a\x5e\xd7\xee\x1d\xd1\x2f\x80\x46\xf0\xbf\xb8\xf1\x57\xbf\x5a\xbf\xfd\x2d\xed\xf3\xb7\xb6\xd7\x4e\x5e\x38\x10\x2f\xd8\x95\x15\xc6\x09\x27\x2a\x41\x11\x34\xcd\xd8\x8d\x10\x19\x3a\xa4\xc8\x86\x11\x7d\x2a\xa9\x66\x93\xb1\x22\x60\x73\x92\x2a\x4a\x9c\xa2\x9a\x96\x23\x8c\xac\xf0\x92\x20\x26\xb3\x06\xb6\xa9\x22\x33\x04\xcd\x14\x1d\x3d\x24\xda\x2d\x90\xa9\x64\x2c\x93\x56\x5a\x21\x36\x6e\x94\x88\x85\x48\x91\x9c\xe4\x74\xb6\x6a\x1f\xb6\x3a\x9d\xb4\x8b\xae\xdd\xb8\xa1\x8e\x76\x69\xaf\xa4\x7b\x33\x99\x5e\xf8\x59\xa6\x37\x9d\xee\xcd\x1c\x9a\x78\x6a\x6c\xfb\x43\x6d\xcf\xe9\x89\xf1\xac\xf7\x4d\x9e\x9e\xb0\x77\x5b\x34\x9d\x9c\x18\x0f\xd2\xe0\x79\xe6\x59\xf0\x30\x81\x18\x2c\x39\xc1\xf7\x08\x6b\x9c\x8e\xd6\x56\x87\x93\xa6\xeb\xea\xe8\xdf\xf5\xa6\xd3\x71\x39\x3d\x3f\xae\x3f\x33\x3d\x50\x37\x31\x36\x9f\x06\x5f\x75\x3c\x9d\xe9\xcd\x24\xeb\x28\xb7\xf6\x1c\x33\x3f\x3e\xb1\x2e\xda\xe8\xf0\x95\xee\x7c\xfe\xf9\x9d\xa1\x12\x47\xc3\x63\xc7\x3d\x70\xe7\xce\x8f\x8f\xc5\xc1\x72\x18\x6c\x4e\xfa\x78\x6a\xb4\x53\xa4\xd8\x4e\x7a\x33\xc5\xc7\x9a\x49\xa4\x8e\x84\x54\xa3\x71\x64\x45\x95\xf4\x77\xf7\x15\x4d\x55\xf0\xb6\x57\xbe\x6c\xb7\x44\xdc\x6b\xb7\x67\xde\xcf\xd8\xed\x94\x93\xaa\x78\xb1\x82\x72\x6a\x5a\xa2\x35\x51\xdd\x5e\x0d\x03\x85\xf3\x6b\xcd\x95\x15\xc1\x35\xd7\x67\xef\x85\xea\x60\xa8\xba\x3a\x54\xeb\x7e\x82\x23\x9b\xaf\x5f\x15\xa8\xaa\x6c\x0e\x79\xa9\x8f\xef\xbe\xe7\x63\xba\x24\x08\xa9\x63\xf0\x27\xae\xb1\xdb\x33\x19\xbb\x9d\xa6\x2b\x2a\xe8\xab\x83\x89\x84\x71\x67\xf1\x3c\xa9\xa2\x39\x38\x8d\xfc\x97\x12\xaa\xaa\x6e\xaf\xae\xac\xa0\x5c\xda\xbf\xe9\xa9\xa1\xe6\x8a\x40\xd2\x5e\x22\x6d\xda\xb3\x67\x53\x89\xc7\x5e\x07\x07\x4e\xac\x97\x04\x50\xad\x81\xc8\xac\x16\xc1\xc7\x8e\x98\xa5\x18\x15\x2c\x98\x9c\x94\x02\x95\x29\x1a\xaa\xb4\x00\xa3\xb8\xf5\x0e\x74\x8c\x99\xe4\xc9\xf3\xcf\x1a\x3e\xcb\x2f\xfb\xae\x59\x37\x30\x63\x9d\x4f\xe0\x7d\x70\xd1\xd5\xfa\x69\x7e\xf3\x59\xb7\xad\x83\x19\xc7\xeb\x2f\xfb\x7c\xad\xd3\x57\xaf\x9a\xae\xbd\x2d\xf8\x7c\xc2\x86\x4d\x03\x6b\xd7\xf4\x83\x87\xf7\xfb\xf9\xec\x5b\x9b\xb6\x0a\x3e\x3f\xbf\xd9\xeb\xdf\xdc\xbf\x76\x2d\xec\x39\x5e\xab\xd1\xc7\xa8\xdb\x99\x1c\xb5\xc8\x28\xb7\x81\x8b\x54\x28\x74\xc1\xc5\xfe\x08\x79\xbd\x51\x68\x86\x0a\x8f\xe5\x48\x6a\x21\x8b\x94\x9b\x67\x36\x8f\xfe\xe4\x81\x43\x30\xb9\x79\x66\x73\xfe\xc7\xf7\x8f\x3e\x0d\x97\xc2\xe4\x43\x0f\xfc\x64\x74\xc7\xd3\xcd\x33\x9b\x89\xfa\x73\x2a\x9a\x9b\x2b\xf2\x37\xfe\xf8\xf3\x43\x0f\x80\x45\x3b\x58\xd9\xd4\x54\x89\x4f\xbf\xf7\xd3\x7f\xdf\x77\x61\xe3\xad\xda\x7f\x1f\x38\xf4\xc5\xfd\x60\x6b\x69\xd4\x3e\xad\x68\x6a\xaa\x18\xaf\xaf\xd8\x51\x29\x42\x71\x2e\xcc\x85\x0b\xf4\xa8\x27\x90\x8f\xa9\x91\x7c\xbb\x16\x5a\xb4\x03\x8f\xc0\xfe\x45\x3b\xda\xc7\xbf\xdf\x61\xd8\x8f\x47\x76\x2c\xd2\x42\xf9\xf6\x1d\x64\xe9\xb1\x06\x7b\x26\x84\x90\xd7\x84\xc8\x77\x10\x85\xcc\xc8\x6e\x70\x93\x95\xa2\xb8\x81\x9b\xa3\x4f\x0f\xe1\x12\x88\x72\xc0\xa5\x38\xc2\x9d\xca\xf0\x61\x2e\x9c\x09\x67\xc2\x71\x2e\xca\xc1\xf8\xf0\xe4\x5f\xe7\xdf\x87\xc9\x9b\xe1\xba\x17\x5e\x78\x61\x00\xbb\xf3\xff\x84\xc9\xda\xa3\x7a\xc2\xf5\x58\xc8\xbf\x0f\x93\xb4\x7d\x30\x69\x33\xf9\xce\x68\x39\xde\x97\xff\x27\xac\xd1\x2e\xc5\xee\xfc\x24\xbc\x0f\x02\xbf\xfe\xb5\xf6\xd7\xd1\x81\xdb\x07\x76\x17\x12\x8f\x04\xc7\x7d\x5f\x66\x03\x1b\xb5\x16\xb5\x17\xf8\x77\x0a\x3e\x1f\xe3\x42\xce\x22\x90\x37\xc3\xa9\x19\x31\x95\xc4\x46\x3c\x5a\x88\x7c\x49\x11\x17\xfb\x32\x95\x3e\x7f\x45\x46\xfb\x4f\x31\x80\xb7\xde\x7f\xae\xc0\x4b\xea\x9c\x2d\xaf\xa4\x3a\xcf\xbd\xeb\x27\xe7\xf6\x76\xfd\xf4\x15\xb5\xe5\x5c\x42\x3a\xc6\x88\xb2\x3b\x37\xdf\x01\x6e\x0e\x66\xe4\x16\xe8\xe7\x7c\x1d\xd8\x9e\x24\xa6\x35\x2e\xa6\xf3\xe7\x97\xbf\xc8\xe3\xe5\x60\x7b\x32\x36\xfa\x68\xf9\x8b\x3c\x7c\x7e\x6c\xfb\x5a\x50\xf9\x61\x33\xf3\x02\x8d\xd0\x76\xf4\x38\x7a\x1e\xbd\x88\xde\x40\x7f\x43\x7f\x47\xef\xa2\x0f\xd0\x47\xba\x0e\x1a\x20\xa4\x00\x96\x58\xcc\x24\xa8\xa8\x03\x44\x29\xc0\x04\x41\x64\x31\x23\x17\x1c\x48\xd2\x6a\x2b\x56\x64\x43\x45\x35\x2c\x6f\xc8\x82\xb0\xad\x4f\x89\xad\x44\x41\xa3\x96\xc6\x24\x6c\x4c\x17\x51\x3a\x70\x26\xad\x2a\xfa\x00\x62\xf8\xc8\x49\x2a\x4b\x48\x6a\x82\x51\x12\xb8\x02\xa2\x11\xa6\x95\x52\x03\xb8\x0d\xdc\x52\x56\x6d\x35\xb5\x15\x6c\x96\x58\xcc\x04\xc0\x2d\x10\xfa\x03\x03\x44\x41\xb2\x53\x25\x06\x0a\xc0\xd4\x4a\x2b\x4e\x01\xa3\xe8\x99\x7c\x4a\x62\x20\xe3\x76\x40\x1b\x26\x9f\x9d\x72\xd1\x29\x4b\x3b\x2a\xc3\x0b\x9a\x27\xd4\x6e\xbc\x31\x56\xd5\xec\x53\x12\xa7\xf4\x58\x68\xd2\x4c\x57\x31\x41\xca\x45\xd0\x00\xc0\x98\x38\x22\x7a\x7e\x48\x09\x63\x02\x37\xa9\xe0\xe1\x63\xd7\xb4\x94\x9c\xb6\xda\x4f\xbb\xb5\x40\xd0\xe9\xe1\x58\x78\xc7\x64\x75\xf3\x3e\x8a\x94\x68\x87\x97\xb9\xdd\xcc\x95\x70\x8e\x87\x01\xee\x10\x6b\x2e\xab\x51\x6b\x2c\xdd\x95\xd4\x40\x6b\x95\x5a\x21\xb8\x2d\x1e\x5b\x92\x28\xab\x8e\x42\x0b\xc5\x31\x2c\x6d\x61\xcc\x24\xe3\xf0\xba\x6a\xd8\xad\x0b\x9c\x65\xdd\x6d\xa5\x93\x4c\xb6\x50\x48\xb4\x89\x9f\x6d\xf1\x57\x95\x97\x44\xd8\xa8\xb5\xd2\xc4\xe0\xf2\xe9\xa3\x7b\xd9\xfa\x2a\x8e\xa8\xfc\x4c\xd9\x97\x35\xfb\x4a\xa5\x12\xbc\x71\x73\x4b\xbb\xf6\x45\xed\x19\x3d\x70\x2b\x11\x6d\x48\xd5\x93\x8c\x7b\x7a\x87\x5f\x9b\x30\x44\x5b\xaa\x6d\xfc\x2b\x41\x4b\x39\xb1\x11\xb0\xfe\xff\x62\xa2\x66\xe2\xfa\xef\x4c\xae\x5f\xa1\xb6\x04\xd4\x36\x67\xfc\xc6\x3d\x8f\x5f\xf5\x1d\x4c\x52\x66\x2a\xce\x94\xda\x02\x25\x71\x31\xec\x6d\x2b\xef\x73\x80\xdb\xe2\x0c\xf6\x8a\xf6\x86\x16\x37\xf6\x66\x16\x6d\xbd\x4e\x20\xbd\xab\x45\xa7\x43\x22\x56\xb0\xa2\xdd\x42\x52\x18\xec\x21\x2e\x2e\x72\x0e\x91\x28\x73\x7a\x1f\x19\xae\x8b\x45\x08\xc1\xe3\x74\xf1\x55\x3d\xde\x90\x93\x60\xed\xb1\x60\xbb\xbf\xa4\xac\x0c\x5b\x1d\xbf\xa7\xdc\x26\x07\x6d\xa1\x28\x4c\x90\x50\x19\x08\x7b\x13\xbe\x93\xcc\xe6\x6a\x3f\x40\x1f\x2c\x5e\xec\x8e\x29\x52\x35\xd7\xc0\xf7\x39\xcc\x99\xd9\x77\x3c\x5b\x49\x98\x2d\x66\x3e\xcb\x58\x47\x67\x7a\x2b\x83\xd9\x44\x3d\x55\x6d\x25\x62\xb6\x9f\xd4\x6a\x2f\x3b\x80\x71\x58\x4d\x0c\x54\x62\x3b\x83\xcf\x12\x38\xb0\xe5\xb7\x9c\x64\xa3\xeb\x00\x8c\x27\x17\x74\x5c\x17\x8d\xa8\x0f\x91\x84\xb2\x68\x11\xda\x81\x10\x25\x17\x57\x43\xa2\x91\x82\xf9\xb8\xe1\x6d\x69\x98\x35\x17\xbe\x32\xc3\xa4\x8e\x49\x25\x0d\x83\x35\x35\x0b\xe9\x04\xd6\x05\x91\x28\x9d\x20\x0c\xb5\xc8\x98\xd5\x5a\x0b\xb6\xcf\x86\xc5\x97\x50\x9c\xeb\x33\xe9\x56\x4a\x35\xba\xac\x5a\xd4\x8f\xc8\x4b\x29\x3e\xb0\xb6\x77\x5b\x3b\x65\xb2\x3a\x18\x30\x45\x56\x9e\x9c\x2c\x9f\x53\xc9\xd8\xaa\x78\x41\xca\xd4\x78\x4a\xeb\xbc\xac\x99\x93\x08\x07\xcd\x9a\x9d\x2c\x6f\xf5\x45\xad\x26\x0b\x65\x91\x60\xbe\x45\xaa\x0e\x84\x73\xdb\x63\xbe\x9e\xe9\x73\x57\xab\xeb\x76\x63\xdc\x57\xda\x35\xb1\xe1\xea\x73\x36\x85\xbc\xd3\x3a\x26\x09\xd1\x9a\x90\xbf\x34\xb3\xe5\x65\xed\x9f\xda\xcb\xda\x3b\xaf\xe6\x94\xa6\x81\x29\x03\x35\x3c\xdb\x1b\x6d\x09\xc4\xaa\x4c\xdb\x1a\xaa\xee\xab\x74\xc7\x66\x75\x9d\xa4\x2a\x49\x9e\x15\x23\x75\xa4\x8d\x16\x2c\x21\x3f\x41\x90\x61\x1f\x63\x3b\xbf\x86\x75\x58\x6c\x55\x1e\xc1\xc4\x08\xd8\x4e\x5a\x48\x9a\xc0\x0e\xd6\xc1\xd1\xa4\x0d\x6a\xc4\xea\x6a\xff\x49\x33\xa1\xac\xb1\xb1\x0c\xe0\x86\xd3\x56\xa7\x05\xae\x63\x6a\x3b\x40\x4b\x4f\x2b\x10\x91\x44\xf9\x86\x17\x77\x6b\x7f\xff\xd9\xe9\xeb\x7e\x09\xfe\xe1\x79\x77\x6d\x59\x33\xa5\xbd\xd4\x62\x8a\x0b\x65\x1e\xff\xbc\x19\x37\xc8\xa5\xd3\x7c\x76\xcf\x84\xc9\xe7\x6c\xbd\x17\x8d\xc7\xde\x0a\xa0\x66\x34\x1f\x6d\x40\x08\x1c\x98\x05\x65\xcc\x9f\x57\x95\xb3\x6d\x20\x31\xb4\x20\x89\xc9\x36\x82\x90\x18\x45\x8e\xd0\x42\x90\x60\x6a\x70\x02\xd4\x44\x01\x47\x48\x94\xb2\x62\xc1\x89\x54\xa1\xe5\x1a\x50\x25\x5d\x00\xab\x21\xd4\x20\x0e\x00\x13\x00\x42\xa0\x19\xd1\xf0\x1c\xce\xa6\xe5\x88\x83\x50\xda\x70\x2b\x48\xc6\xc0\x41\x26\x86\xaf\x09\x74\xec\x99\xe5\x5c\xdd\x33\x6b\xc3\xbc\x09\x62\xa2\xc3\x76\x8d\x35\x1e\x8f\x2f\x8b\x07\xae\xb9\xf5\x49\xdb\xb5\xb6\xf8\xb2\xde\x78\xe9\xb5\xc3\xd7\xdc\x7a\x4d\xa0\xbb\xca\x37\x71\xfe\x86\x59\x7d\xeb\x6c\x33\xef\x25\x96\x6e\x98\xd5\xbb\x96\x9d\xfd\x58\xb7\xf5\x1a\xe3\x9a\xc0\xb5\xc3\xd7\x0e\x5f\x5b\xda\x5e\xe3\xee\x3b\x0d\x2f\xe9\xf3\x26\xba\x6c\xd7\xd8\xe2\xbd\xcb\x8c\x8c\x5b\xaf\x2d\xed\x7a\x74\xb6\x75\xdd\xb4\x59\x1b\xe0\xa5\xe1\x6b\x03\xed\x09\xf7\xc4\xf9\x1b\x67\x4d\x5e\xed\x9c\xfd\xa3\x0e\xdb\xb5\xd6\xf8\x32\x39\xae\x5f\x88\x5d\xfa\x2f\xf6\x2e\xd7\x7f\xf1\xda\xe1\x6b\x03\x5d\xfb\xe6\x38\x56\xf7\xcc\xda\x78\x72\xaf\x50\x73\xe8\xaa\x59\x1b\x07\x27\xf9\xab\xba\x8d\x4b\x96\x15\x7f\x30\xd0\xbe\x67\x96\x75\x1d\x29\x4d\x3d\xcb\x3a\xeb\x91\xae\x62\x79\x8b\x59\x5d\xd5\xde\x29\x4b\x36\x16\x78\x3b\x0a\x98\x19\x13\xd0\x5c\xb4\x00\x2d\x46\x4b\xd1\x0a\x74\x11\xba\x1d\x21\xd0\x9b\xcb\x30\xfd\x2c\x18\x73\x2a\x45\x0b\x45\x55\xd6\x87\x43\x5a\x28\x18\x72\x2a\xb2\x62\x38\x1d\x67\x53\x7a\x26\x96\x44\x46\x30\x6c\x3c\x0b\x26\x9b\x84\x61\xa0\x19\xd5\xaf\x52\x8d\xdd\x30\x35\x49\x49\x0a\xc4\x39\x0a\x24\x42\x21\x24\x55\x02\x8a\x03\x89\xd1\x7f\xc2\x40\x84\x29\xac\x8b\x18\xf7\xa6\x92\xc6\xc7\x05\x9c\xb1\x95\xad\xa4\x15\xce\xb0\x6e\x51\x39\x2a\x59\x05\xa9\xa4\x9b\xc3\x3b\x41\x12\x84\xaa\x4a\xa6\x9b\xec\xea\x9a\xe1\x21\x83\x04\xdd\xe7\xde\xc6\x72\xdd\xd8\xb4\xc4\xa4\x04\x30\x06\xca\x2b\x79\x5c\x16\x12\xe8\xb8\xb5\xb1\xe6\x54\x6c\xe9\xb4\x9a\x4b\x48\x12\x13\x25\x7e\xa2\x24\xdd\x6e\x3b\x97\x22\xed\x2f\x11\x8c\x4d\x0e\x04\xbc\x12\x4b\x02\x11\x16\x6a\x63\x3c\x87\x9f\x6c\xfb\xfe\xa1\xcf\xf1\xc3\xf9\x5e\xf2\xf5\x25\x0f\x9d\xfa\x87\x25\xd5\xaf\x68\x09\xdc\xa2\x1d\xbc\x39\x5b\xb6\x7d\x57\x63\x78\xe6\xf4\x4f\xda\x4c\x16\x13\xe9\x0f\x93\x3d\x7b\x26\x2d\xbe\x6c\x96\x23\x18\xb7\xc0\x55\xa3\x07\xd9\x7c\x82\xb1\x53\x40\x00\xe5\x58\x59\x81\x13\x18\x5a\xa0\x89\x14\xe0\x79\x82\x31\x99\x85\x52\x2a\x83\x97\x4e\x5b\xec\xc0\x24\x26\xe7\x7a\x1e\xf6\x05\x2e\x32\x43\x04\x5b\x4d\x80\x39\xb0\x50\x0c\x43\x72\x34\x87\x69\xc2\xe9\x8c\xe2\x28\x49\x58\x00\x6c\x6e\x9c\x6c\xa0\x92\x33\xfc\x74\x1a\x43\x1d\xec\x77\xd8\x25\x87\x8d\x90\x1c\x5e\x82\x20\x49\xd6\x86\x77\xfd\xad\x22\x7f\xdd\x3f\x48\xd3\xbb\xf9\x6c\x10\x5f\x1e\xcc\xff\x23\x78\x66\x07\xd1\xf4\x28\x6c\x39\xc8\xd9\x87\x3b\x4f\x2a\xb1\x4d\x4b\x30\x66\x93\xd5\xe1\xc2\xf1\xba\xd2\x18\xc3\xb9\x69\x32\x77\xe8\x57\xff\xa5\xff\x65\x07\x4c\x66\xcd\x40\x53\x31\x16\x72\xcf\x9e\xb9\xd2\xad\x0d\x1a\xfe\xc6\x63\xd8\x0b\x0a\x52\xd1\x24\x34\x07\x2d\x45\xeb\xd1\xf7\xd0\x35\xe8\x2e\xf4\x08\x1a\x39\xb2\xd2\x73\x84\x1c\x96\x3a\x16\xb2\x5c\x97\x1f\x82\x10\x00\xf7\x51\x1a\xbd\x02\x1e\x3b\xf7\x0d\xf1\xff\xaf\xaf\xe7\x0b\xc0\x62\x61\x0e\x42\x9d\x83\x83\x9d\x39\xfd\x40\xed\x6f\x9c\x78\xf5\x8a\xd1\xe1\xce\xc1\xfa\x32\x3c\x5c\x36\xe4\xbf\xd6\x5f\x96\x0f\x19\x40\x47\x5f\x79\x00\xf4\xff\x96\x3f\x34\x5c\x56\x9f\xcf\x91\xb9\xc1\xce\xa3\xec\xca\xb7\x47\xce\x99\x90\x47\x2b\xae\x1e\xec\xa4\x51\x59\x7d\x99\xff\x5a\xff\x50\xd9\xa1\xdc\x91\xdb\x80\x3d\x51\x50\x3b\x61\xea\xff\x72\x01\xec\x04\x54\x5f\x36\xac\x21\x24\x14\x6c\xe8\x69\x54\xdc\xbb\x69\x43\xd3\xd1\x62\xb4\x0a\x9d\x67\x30\x08\xfe\x18\xfd\x0c\xbd\x84\xde\x42\x1f\xa1\xc3\xe0\x80\x20\xd4\x40\xdb\x09\x56\xfc\x8e\x90\x24\x16\xda\x9d\xfb\x1f\xe3\xc4\xff\xf8\x3e\xbf\x4d\xff\x38\x1e\xc8\xe7\xff\xf5\x79\xff\xff\x2c\x1f\x65\x18\xab\x1c\x2a\x58\xa9\x8c\x1c\xa5\x1d\xf8\xfa\x43\xee\xdb\x5e\x78\xf4\x80\xd1\x38\x66\xa2\x6f\x7d\x17\xa0\xff\xfd\x97\x68\x24\x7b\xbf\x30\xd6\xb9\xe8\x9c\x57\xd6\xc6\x41\xce\x7e\xfa\x4d\xc1\x07\xbe\x01\x02\xe9\xc4\xc1\x43\xec\x11\xe0\x14\xfc\x3f\xdc\x36\xfa\x3f\x5c\x7b\x0c\x0c\x13\xc2\xa8\xfd\xb0\x93\x1c\xa1\x86\x50\x10\x29\x08\x99\x8f\x37\xb2\x03\x39\xad\x8e\x19\x0b\x49\xa2\x30\xe6\x65\x4a\xee\xd6\xde\x28\xda\xd6\x69\x6f\xf8\xfd\xa5\xd3\xfd\x07\x60\xf5\x01\x7f\xbf\xdf\xaf\x0d\x17\x0c\xec\xde\xd0\xde\x18\x7d\xce\x30\xad\xcb\x69\x39\xc3\xb4\xae\x1e\x62\xfa\x05\xfe\x03\x07\xf4\x1b\xde\x2e\xd8\xd6\x51\x45\xee\xe5\x1c\x72\xa0\x52\x63\xd7\x68\x06\x42\x20\x14\xf4\x9e\x4c\xda\xd0\x4b\xa0\xc0\x15\x03\xc5\x29\x94\x4a\x92\x2e\xb7\x60\xf0\xc5\x44\x23\x74\x34\x92\x49\xb7\xe2\xf8\xb8\xab\xdd\x02\x0b\x71\x83\x1b\xa6\x20\x4e\xb5\x02\x61\x93\xe7\xb6\xf4\x6d\x69\x96\xe7\xb6\x4c\xdd\xdc\xac\xdd\x33\x73\x6a\xdf\x8e\x89\xc6\x01\x2e\x3e\x07\x5c\x8f\x46\xda\x3a\x2b\xbb\x3f\x6a\xeb\xcc\xf7\x3e\xb2\xfa\xae\x97\x61\x72\xcb\x5c\xb9\x79\xf3\x54\xfd\xb8\x05\x4e\x9d\x3a\x73\xe2\x8e\x3e\xfd\x40\x96\x35\xaf\x9c\xb6\xee\xc6\x1e\xfd\x78\x43\xfe\x95\xfe\x73\x56\xdd\xd8\xdb\xbf\x7e\xd5\x4d\x35\x4f\x6b\xef\xae\x4b\xb4\x94\x5a\xe7\xcf\xdb\x35\xfb\x95\x1f\x9d\xf3\xca\xb4\x95\xcd\xbd\x37\xac\x9b\xb6\xb2\xb9\xe7\xc6\x75\xcb\xd6\xf7\xf7\xde\xb8\xea\x9c\xfe\xde\x9b\x56\x21\x40\xed\x87\x11\x1e\xa1\x91\xe1\x1b\x2a\xd0\x0c\x2f\x16\x9d\xdd\x0b\x85\x4f\x06\x00\x8f\xac\x5d\x5c\x8d\x63\xde\x11\x6f\x0c\x57\x2f\x5e\x3b\xeb\xea\x7b\xae\x9e\x45\x7c\x7c\xf9\x33\xf1\xd1\xff\x33\x2c\xc1\x32\xf1\x67\x2e\xcf\xfd\xeb\xa6\x9b\xfe\x75\x14\x53\x64\xcc\xef\x28\x88\x10\x05\x1c\xa5\x54\x83\x5d\x7f\x89\x05\x24\xd5\x22\x56\x88\xb1\x88\x1a\x00\x22\x87\x73\xf9\x5c\x3b\xfe\x69\x7e\x62\x7e\x22\x75\x30\x16\xcc\xb7\xfb\x3b\xfd\xf9\xf6\x60\x2c\x21\xe3\x11\xb1\x4a\xc4\x23\x72\x62\x11\x2c\xc2\x5b\xde\x5d\xa3\x69\x1a\xce\xa3\x68\x33\xa7\xe5\x9c\x4e\xc8\x71\xcd\x51\x02\x95\x75\xb2\x80\x4c\xa6\xc3\x88\xed\x2c\x40\xe5\xa1\xc3\xc8\x54\xe0\x31\x39\xea\x15\xdd\x89\x10\x15\x37\xca\x41\x41\xf1\xac\x8c\xc5\xf5\x72\x51\x74\x44\x89\xcb\x4a\x31\x50\x2c\x60\xdc\x38\x64\x93\x92\x31\xf9\x52\x01\xc0\x06\x89\x50\x3b\x5c\xa9\x9d\xae\x9d\x4e\xfd\x6e\x5c\xa4\xaa\x10\xde\xa7\x4d\xd2\x26\x51\x5f\xc8\x61\xad\xbd\xa4\xbd\x44\x6b\x27\x09\x4c\x15\x83\x61\xb9\x32\x0a\x0f\x54\x46\x61\x44\xca\x4a\x30\x12\xad\x84\x07\x62\x15\x43\x23\xd0\xb8\x7b\xf5\x9e\x3d\x7b\xf2\x97\x8c\x85\x36\xdc\x01\x96\xdd\xab\x9f\x78\xe2\x89\x7c\x8b\x36\x14\x6b\x75\xee\x67\xd9\xfd\x18\x63\xac\x9f\x9d\xad\x31\x18\x96\xdb\x9d\x3f\x85\xcb\xe4\x76\xe7\x88\xc5\x32\xe2\x6c\x97\xb5\xd5\x3f\x75\xb6\x17\xf6\x54\x34\x13\xa2\x30\x22\x90\x19\x05\x91\x8c\x12\xa8\x03\x21\x08\xbb\xc3\x44\x84\x66\xc2\x32\x91\xcc\xaa\x29\x1c\x8e\xe0\x4c\x1a\x15\x7a\x24\x13\x16\xc4\x78\x38\x99\x49\x47\xc3\x99\xb0\xae\xab\x47\xc3\xf1\x70\xd2\xa0\x38\x32\x3a\x2c\x11\x0d\x33\xf5\x1a\xc0\xe1\xd1\xf9\xab\x69\xb8\xd6\x75\x67\xdb\x39\xdc\x9b\xa7\x6a\xfb\x7e\x9f\x07\xea\xc5\x8b\x5f\x38\x0d\xe7\xcf\x5c\x77\x28\x0b\x65\x2f\xfc\x52\xfb\x2d\x94\x4c\x5b\xf0\xa4\x36\xaa\xfd\x13\x0f\xcc\xb9\xf0\xec\xb6\xfb\xd6\x9e\x55\x77\xd2\xda\xdc\xc4\xfc\x4d\xe4\x9e\x2d\xda\x6f\x97\xcf\x7f\x3a\xff\x48\xbb\xaa\xbd\x00\xa6\xd7\x5e\x06\xfe\xc2\x3f\x5f\xc4\x05\x56\x6d\x4c\xde\xb5\xf7\xc9\x9e\xa9\x97\xbd\xe6\xef\xda\xba\xe0\xa1\x81\xd0\x9d\x1b\xa7\x6c\x9e\xd9\xe8\x2d\xbe\xc3\xb1\xf5\xcc\x00\x8a\xa3\x2a\xd4\x81\x26\x19\x3c\x3f\xc7\xcd\x86\xbc\xb1\xfa\x94\x49\x2b\xc6\x42\x03\x11\xcd\xa4\x92\x6e\xa1\x78\xa2\x22\x72\x26\x9c\xcd\x1c\x45\xf7\x51\xa3\x2c\x10\x49\x29\xda\x0a\x44\xd8\x1d\x1e\xbf\x13\xf6\x8a\x76\x09\x6c\x3d\x7b\xf8\xd2\x95\x4a\xef\xcc\xa9\xf7\xdf\xbe\xfe\x3b\xfb\x9e\xd8\x82\x2d\xdd\x93\xe1\x06\xb8\x6a\x5b\x6e\xf7\xcd\xdf\x7d\xa1\xf5\x62\x6b\x4f\xdd\x1a\xab\x46\x4e\x5c\x01\x6d\xda\xcf\x8f\xdd\x05\xd3\x2e\x1f\xfd\x60\xdd\x9a\x9b\x2b\xd2\xab\x1b\xa6\x57\x70\xda\x53\x8f\xce\x1f\xd4\x7e\xf2\xfa\x9a\x65\xa1\xbe\x09\x16\xe1\xfc\x9f\xdc\xb7\xfd\x7b\xbb\x7f\x16\x29\x83\x33\x37\xd5\x77\x82\x65\xea\x98\xae\xc5\x8c\xe1\xdc\x2b\xa8\x6d\x1c\x6b\x81\xb1\x06\x2b\x8d\xd9\x9f\x29\xba\x64\x0e\xe3\x10\x8a\x54\x01\x45\xc1\x18\x43\x6a\x80\xa3\x0c\xf3\x99\x2c\x4a\x25\x11\x9d\xb8\xf4\xf9\x4b\x2f\x7d\x3e\x7f\xc9\xae\x65\x3e\xdf\xb2\xa9\x1d\xc1\xe0\xb5\x7d\xee\x01\x21\x74\xce\xa4\x65\xc4\xcb\x0f\x6e\x3d\xef\xc1\x07\xcf\xdb\xfa\xe0\xd5\xda\x7f\x1e\xd7\xa6\xd8\x9e\x3a\x7f\xe3\x4f\x4b\xde\x81\x0b\xa6\x0f\xda\x45\xf0\x63\xb0\x3e\xf6\x38\x58\xc9\xa0\x7e\xff\xa5\x87\x9e\x7c\x79\x17\x5d\x11\xbc\xa6\x6f\x6a\x7b\xd0\x14\x36\x35\xf7\x10\x6f\x6d\x7d\xf0\xc1\xad\xe7\x3d\xf0\xc0\x79\x4f\x68\xff\xd5\x7e\xbe\xed\x81\x6b\xcf\x5a\x08\x7b\x6e\xaa\xc5\x70\xcd\x63\x60\xd2\xfe\x83\x8e\xd1\x1d\x4d\xc8\x87\xba\xd0\xd4\x22\x12\x80\x5b\x10\x0b\x8b\x63\xb2\x62\xb8\x2f\x67\xe5\x1a\xc8\x1e\x5d\x08\x6b\x19\x53\x3c\xe2\xc9\xe2\x7b\x62\x08\xbd\xf6\xf1\xb1\xf5\xe5\x42\x9b\xe8\xca\xe1\x1f\xd7\x0e\xaf\x59\x33\xac\x39\xcf\x1a\xa8\x1f\x2c\x49\x27\x9a\x37\x94\x78\x52\x2d\x03\xa2\x30\x40\x8c\x16\xde\xc4\x7d\xc2\x15\x8b\x97\x5d\x6f\x81\x79\x57\xbf\xf2\xca\xd5\x57\xfe\x16\xff\xc5\xcc\x4f\x69\xd5\x5e\x2b\xbc\xa0\xcf\x76\x3e\x77\xc9\x25\xa7\x9e\x76\x09\x51\x3e\xbc\x66\xed\xf4\xfe\x35\xda\x73\x77\xae\x6b\xac\x15\x04\x4f\xaa\xa5\x79\x83\x27\x4c\xe1\x33\x0a\x2f\xf3\xba\x09\x0b\x37\xfc\x60\xe9\xe8\x2b\x57\x5d\xfd\xca\x6f\xae\xd4\x9e\x84\xf8\x7a\xf8\xdd\xfa\xbb\xef\xd6\x86\x4f\xbd\xe4\x92\xe7\x76\x5e\x82\x68\xe4\x3c\x3c\x9b\xfe\x88\x3a\x8c\xec\x28\x80\xaa\x51\x33\x9a\x62\xa0\x26\x11\x4c\xdc\xd8\x7c\x6d\xc5\xaa\xe8\x03\x85\x25\x1c\x40\x24\xa0\x0d\xb2\xaa\x02\x04\x6b\x20\xeb\x4a\x04\xaf\xb7\x00\xd0\x44\x5c\xe1\x5b\x41\x0a\x50\xc0\x8b\x34\xc3\x52\x8c\x4c\xc4\x15\x95\x88\xab\x09\xa2\x06\xa8\xac\x18\x04\x91\xe8\x76\x60\x6d\x61\xac\xd5\x69\x65\x1c\xe6\x08\x9e\x56\xb5\xf7\x8a\xb6\xef\xd4\x06\x09\xf2\x49\x0e\x33\xa6\xe8\xf4\x1f\xd0\xb9\xc7\x6d\x75\xbc\x6b\xd2\x95\xa6\x77\x5e\x61\xee\xf9\x6b\x43\x5e\xa9\xf9\xa3\xf6\x34\xff\x17\xa1\xbf\xcc\x53\x17\xad\xf5\xd4\xe2\x6b\x7e\xe7\xb2\x8a\xf6\xb2\x58\x4b\x78\xa2\x35\xf2\x77\x68\xd8\xb2\xf3\x0d\x6d\xd1\x35\x91\x81\x09\xcd\x1c\x07\x57\x05\xb3\x36\xab\x02\xab\xb4\xcb\xc4\x52\xa2\x21\xee\xab\xef\x8d\x2d\x64\x6c\xb8\x51\xbb\x60\xe1\xe4\xcb\x97\xcf\x74\xbb\xe1\x34\x6f\x33\xe7\x6a\x3b\x77\x76\xfe\x3d\xed\xba\xd2\x28\x41\x32\xd4\x6e\x58\x05\x2b\xf6\x38\x45\x91\x78\xa0\x4d\xfb\xc1\x63\x36\x38\x35\xe8\x27\xb1\x20\x56\x95\x64\xb5\x67\xb4\xab\xe2\xd3\xa2\x42\x44\x14\x2d\x2e\x62\x32\x9c\xfe\xf4\x07\x27\x69\xdf\x17\x66\xcf\xbb\x7e\x51\x97\xdd\x0e\x84\xcf\xe1\x68\x29\xf4\x91\x76\x53\xa1\xcf\x73\xa8\x04\x75\x1d\x45\x8b\xe0\xc3\x44\x02\x0c\x72\xfd\x23\x29\xe3\x1d\x47\xc3\x63\x0e\xa4\x63\x44\x22\x7c\x2b\xe8\xdd\x43\xe2\x53\x49\x11\xf6\x0f\x9e\x3f\x38\x78\xfe\x76\xe2\xf3\x79\xd8\x63\xce\x23\xb3\x07\x53\x84\x91\xa4\xb9\xd8\xa1\xd5\xc3\xab\x47\xd1\xea\xe1\xd5\x43\xac\x6b\xc7\x22\xff\x72\xe9\xb6\x93\x09\x74\xf2\x6d\xd2\x72\xff\xa2\x1d\xb0\x55\xbf\x68\x10\xf6\xc3\x69\x26\x9e\x37\xe5\x4b\x0a\x51\xa4\xe5\x58\x57\xae\x7f\xf5\xea\xfe\x5c\xe1\xe8\x62\x21\xb7\x68\x07\xdc\x3e\x78\xde\x79\x83\xda\xa2\x1d\x05\xbf\x5a\x93\x3e\xdc\xa6\x50\x13\x9a\xa0\xf7\xf5\x23\xba\xda\xd7\x14\xb8\x80\xb3\x1c\x2e\x32\x62\x49\xfc\x98\xdf\x2c\x1c\xad\x7b\x31\x85\x09\x2d\xda\x71\xc2\xa2\xe7\x0a\xa8\x78\x39\xbd\x02\x5f\x1c\x2c\x14\xf7\xd4\x71\xf5\x26\xc3\x46\x1a\xce\xed\x58\xa4\x57\xa2\x5d\x2f\x7e\x7b\xe1\x78\xb4\x12\x05\x00\x5a\xbd\x2a\x5a\xc8\x68\x26\xd8\x5e\x68\x80\xd1\xc7\x8c\x28\x02\x14\x3a\x8c\xa8\xfd\x46\xfd\x50\x4c\xff\x50\x03\x63\x58\x7f\x99\xb4\x81\x39\x9c\x56\xf5\x9a\x1d\x39\x16\xf8\x84\xe9\x4a\x28\x1e\xa9\xfd\xb2\x57\x4b\x82\x25\x56\xa2\x8d\x94\xc4\x2c\xa0\x25\xbd\x32\x0f\xbb\xde\x36\x8e\xcf\xe8\xc7\x1c\x9f\xd6\x0f\xb2\xf7\x19\xd8\xc5\xcb\xde\xb7\x61\xd7\xfc\xb4\xcc\x5d\x22\x97\x44\xa3\x25\xf2\x25\x9c\x9c\xe6\xe1\x8a\x23\x87\x1c\xcf\x6b\x39\x3e\x2d\x6b\x67\x18\x87\x71\x63\x8d\x1b\x55\xa2\x6e\xc3\x16\xa6\x08\x9a\x54\x18\xe5\x8b\x6e\xd8\x59\x35\xad\xc8\xe1\x71\xa9\x21\x23\x95\x4f\x2b\x72\xcc\x58\x4f\x3c\x72\x35\x69\xd0\xf3\xc1\x78\xd3\xb4\xa5\x81\x9f\x6b\x17\x5c\x5f\xe1\x13\xa9\xd0\xf9\xab\xfe\x7a\x2f\xcf\xf2\xfe\xa1\xe8\x07\xda\xaf\xae\xbb\xba\x36\x5a\xc2\x04\x36\x6d\x03\xe9\x37\x1e\xb6\x24\x7a\x7a\xd9\x56\xed\x81\xfb\x7f\x3d\x2c\x05\xcb\x83\xd6\xd2\x0b\x7e\x74\x0b\x54\x2f\x75\xf3\xa5\x95\x2f\x1c\x0f\x3f\x3f\x31\xc4\xaf\x8b\x98\x2b\x85\x52\x93\x6f\xa9\xd5\xf7\x7e\x99\xfb\x92\x0a\x7b\xaa\x24\x6a\x0a\x6f\xb1\x47\x81\xab\x91\x7a\xa6\xd4\x30\xf1\x40\xb0\xc2\x14\xef\x6e\xb1\x95\x2f\x38\x6e\x33\x08\x0a\x5c\xb6\x34\x42\xbc\x2e\x0d\x4b\x61\x2e\xcc\x10\x4c\x98\x03\x25\xcc\x85\x55\x5e\x0d\x93\x48\xfb\x8d\x07\x24\x8d\xaa\xda\x19\xd0\x5e\x81\x1a\x8f\xf6\x2e\x1c\xaa\xda\x19\x80\x6a\xf2\x37\xf9\x9f\x06\xb5\xef\x04\xb4\x8f\x02\x50\x83\x27\x05\xe0\x96\x00\x70\x01\x84\x10\x87\x10\xfa\x81\x19\x91\x67\x21\x16\xc5\x0d\x46\xfb\x66\x34\x19\xcd\x44\x27\xa3\x53\xd0\x1a\x74\x1e\xba\x04\x5d\x86\x6e\x46\xf7\xa1\x11\xf4\x3b\x84\xe2\xaa\xde\x4b\x23\xb4\x9b\x30\x46\xec\xb8\x4a\xa4\x15\x59\x6f\x5b\x86\x10\xa4\x31\xf2\x80\x0c\x48\x86\x9d\xbf\x9a\x4d\xaa\x12\xa3\xcb\xc0\x8a\x9a\x4e\x25\x81\x90\x18\x21\x6a\xa4\xa7\x92\x41\x38\x9a\x11\x2c\x1a\xee\x28\xaa\x3e\xc6\x9b\x81\x67\x04\x83\x19\x89\xd7\x47\x7c\xf5\xf8\x58\x21\x52\xf0\x0b\x6f\x00\x42\xcf\xd6\xe7\x40\x3e\x9d\xd5\x3f\xa7\xb1\x58\x2b\x24\x45\x9e\xa9\x33\x62\x98\xcf\x64\x8b\xce\xf8\x06\x7e\xb3\x21\xd5\xe9\x09\xc8\xd8\xa4\x20\x9c\x4e\x27\xd8\x2d\x66\x96\x65\xc1\x6e\x16\xa1\xc2\x6a\xb3\x9b\x9c\x26\x3b\x58\xac\xb4\x99\xb5\x9a\xcd\x87\xde\x17\x04\xcc\x62\x8e\xc3\xec\x5c\xaf\x17\x9b\xcc\x92\x64\x36\x81\xf7\xf1\x92\x12\xab\x05\xbb\xdd\xd8\x62\x1d\x94\x24\x6c\xb3\xbb\xdd\x76\xdb\x90\xdb\x8d\x59\xda\x2c\x08\x66\x9a\x85\x6d\xda\x5b\x6e\xb7\x85\x71\x62\x97\x0b\x3b\x19\xcb\x20\xcf\x5b\x4d\x2e\xec\x74\x62\x97\xc9\x7a\xb2\xcb\x85\x05\x1e\x3b\x9d\x76\x93\xd9\x06\x17\x3d\xeb\x70\x38\x04\x16\x58\xd6\x21\x38\x4e\x61\x59\xa7\xe8\x04\x9b\x0d\x9c\xa2\xe3\x55\xd6\xe5\x75\x01\x4d\xdb\xb0\xc5\x6c\x35\x31\x2c\x26\x97\xdc\x79\xf6\xe8\x87\x76\x97\x7f\xd6\xd0\xd3\x10\xe0\x32\x0d\x67\xdf\xb9\xfb\x13\x6c\xb5\xb0\xac\x25\xff\x9f\x4f\x2c\xf6\xf4\x2b\xb8\xd7\x69\xa2\x28\x93\x93\xce\x3f\x01\xff\x04\x0b\x63\x35\x33\x76\x38\x3d\xb7\xd5\x6c\xde\x9a\x33\x4f\x7c\xe9\xff\xcc\x96\xe7\x5f\x32\x6b\x49\xf8\xe7\x7f\x3e\xb0\x5a\x3f\xf8\x8f\x8d\x1a\xfd\xb7\xdd\xfe\xef\x51\x7b\xf0\xbd\xff\x3a\xcd\xcc\x7f\xdf\xa3\xcd\x9a\x88\xcf\xd0\xce\xff\x2f\x63\x75\xfd\x17\xb6\xb8\xac\xd3\xb5\xaa\x7f\x9b\xac\xfc\xbf\xe1\x77\xbc\x35\xa4\xd1\x9f\xba\xdd\x9f\xc2\x41\xb3\xdd\x9e\xe7\xf0\x7b\x1a\xfe\xc8\xe2\x60\xad\x1f\x81\x66\x65\xd9\x80\x26\xbc\x6f\x75\x3a\xad\xef\xc3\xfb\x36\xa7\x53\x33\xfd\xdd\xee\x72\xd9\xd7\x9e\x8d\xb7\x10\x0e\x33\x43\x99\x5c\xf9\x2b\xcf\xbe\x03\xbb\xec\xc4\x0e\xc9\x12\xd1\xbe\x18\x11\xef\x3c\xc2\x37\x88\x0c\x0e\x63\x9f\x81\x40\x8a\x50\x28\xa6\xba\x05\x63\x85\xbe\x05\xc4\xaf\x8f\x91\x06\x38\x75\x21\x9a\xce\x62\x1e\xfe\x08\x37\xae\x7f\x51\xbb\x59\x1b\xd2\x6e\x7e\x71\x3d\xdc\xf8\x0d\xf1\x7d\x30\x0c\x27\xbf\x38\x16\x7f\x91\x40\xb3\x67\xde\x53\xb0\xc7\xb8\x67\xe6\xe8\x3d\xe3\x22\x50\x31\x2e\x42\x56\x4c\x38\x67\x42\xae\x10\xcb\x4d\x38\x67\xdc\x7a\x2e\x8f\xbc\x28\x8a\x06\xd1\x29\xe8\x2c\x74\x1e\xfa\x1e\x42\xf0\xe5\xf5\x3a\x89\xe1\xc2\xb2\x02\xb2\x61\x6c\x9d\xe1\xc2\x1c\x18\xbb\x65\x92\xc8\x08\x34\xe3\x2e\xac\x99\x33\xd8\xe0\xed\x53\x64\x03\xf7\x48\x12\xdd\x59\x35\xab\x26\x40\xcd\x36\xe1\xa4\xe1\x7f\x2f\x96\x02\xcd\x88\x90\x55\x59\x00\x5a\xca\xaa\x69\x35\xab\xca\x19\x39\x23\x2b\x02\x43\xe8\x97\x2a\xfa\x53\x68\x4a\x8e\xea\xdf\x64\x9a\x7a\xdc\x5f\x76\x04\x40\x39\x57\x36\xe4\x3f\x1f\x36\x58\x6c\xda\x2f\x6d\x70\x8a\x36\x54\x56\x9f\x47\x58\x0b\xa7\x9a\x1a\xaf\x08\x38\x59\x0c\x74\x47\xed\x77\xdb\xde\xbc\xf7\xba\x79\x0e\xbb\x07\x28\x0b\x69\x1e\x9c\xc5\x9a\x71\x5a\xed\x8e\x79\xec\x76\x6b\xd0\x0d\x92\xcd\x65\xc6\x18\xb0\x4d\xd5\x7c\xe9\x59\xa9\x1e\xd8\xe6\xb0\x03\xcd\x18\x08\x15\x36\xd8\xf2\xbd\xab\xb0\x48\xf5\xa5\x7c\xf5\x01\xbc\xde\x73\x56\x5f\x2d\x4b\x92\xe7\x1b\x4b\x6c\x63\x30\xcc\x65\xfe\x6e\xed\xc2\x52\x1b\x34\xd8\x0e\xba\x48\x54\x5f\x06\xc3\x07\x11\x9e\xe1\x0d\x30\x75\x62\x00\x30\x80\x5c\x16\xf6\x34\x69\x07\x19\x1b\x90\x16\x6f\xd9\xd2\x6a\xb3\x03\xe3\x59\xab\x2f\xdc\x3a\x70\x43\xb2\xcc\xe1\xae\xa1\x31\x41\x05\x36\x4f\xd8\xad\xf9\x3c\xdf\x2d\x9b\x4b\x6c\xaa\x98\xcf\xc4\x89\x32\x92\x04\xc0\x20\xb2\x00\xf9\xe5\x59\x1f\x70\x54\xd7\x19\xb3\x57\xd5\x5b\x3d\x7e\x00\x74\x4c\x3f\x2b\xbc\xa3\x99\xdf\xee\xdd\xf0\xee\x14\x9f\xe2\xb3\x6a\x36\x93\x92\x02\x20\xf1\x29\xde\x80\xf4\x23\x68\x07\x44\xd3\x09\xc8\x24\x40\x21\xa2\x86\x6c\x17\x55\x64\x85\x48\x65\xbe\xb1\xa5\x97\x4f\xdc\x7d\x4b\x8e\x21\x30\x49\x00\x45\xe4\x6e\xd9\x3d\x51\xfb\xdd\xfc\x53\x28\x8c\x49\xc0\x40\xe3\xcb\xd6\x5e\x86\x29\x20\x49\x8c\xa9\x53\xe6\x7f\x8b\x66\x23\x72\x2b\xf3\x2b\xe1\x6d\xc1\xeb\x34\x79\x88\x88\x59\xf3\xe1\xab\x56\xae\xd4\x7a\x05\xaf\x9b\x60\xcc\x98\x0a\x99\x71\x38\xff\x96\x39\x48\xbb\xdd\x5e\x01\x1e\x5e\xf9\xe5\x76\x38\xe9\xdb\xb5\x43\xdc\x1d\xce\x44\xd5\x56\xdc\x04\xa2\x14\xc0\x41\x88\xea\x71\xa2\xd0\x18\x06\x84\x5b\x54\x56\xe4\x1a\x30\xe2\x3c\xf1\x8d\x8d\x00\xd5\x50\x32\x65\x29\x65\xa1\x00\x03\x89\x29\x86\x58\xd9\x07\xd1\xee\x91\xa7\xbb\xb4\x77\x7b\x97\x92\x36\x02\x63\x20\x69\xeb\x8a\x3e\xed\xcf\xdd\x4f\x3c\xf5\x2d\x9a\xe1\xbd\x15\x2b\x6e\x65\x78\x13\x49\x93\x8c\x99\xbc\x75\xc5\x0a\xe0\xc0\xbb\x72\xe5\x2d\x0c\x4f\x12\x24\x6d\xb5\xdd\xb2\x72\xa5\xf6\xb1\xf6\xf6\x98\x8d\xcc\xf8\xfa\xd7\x1b\xb6\xc0\xdf\xb6\x05\x32\xa9\x64\x81\xa7\x5b\x91\xa3\x61\x77\x8a\x83\x28\xa7\x7f\xb9\x6e\x81\xa1\xbf\xb9\xce\x21\x98\xb4\xe8\xa2\xbe\x8a\xae\xe9\xbd\x6d\xb5\x03\xda\x65\x0b\x81\x5a\xbf\x21\x1d\xac\x6f\x0d\x7e\xbb\x0a\xde\xe5\x90\x72\x03\x33\x36\xf8\xf8\x95\xf9\x57\xc1\x03\x36\x57\x78\x60\x5e\xd0\x71\xa2\x3a\x55\xa0\xe4\xb7\x1c\x79\xb8\x70\x46\x95\x80\x2c\x98\x4b\x09\xdf\x58\x05\x32\x37\x8a\x46\x72\x90\xd3\xfa\x87\x57\xaf\x1e\x5e\xfd\x2d\xca\x0d\x23\xda\xc8\x88\x7e\x4b\x6e\xb5\x7e\x0b\x42\xe6\x23\x65\x1d\x5b\x97\xd1\xcb\xab\xa2\x5e\x03\x65\x3d\x13\x75\x53\x99\x68\x69\xf1\xec\xfe\xe6\x3a\x44\xdd\xd1\x4c\x98\x03\xc3\x43\xd8\xb0\x82\xce\xf2\x99\x94\x3b\x95\x14\x71\x51\x8c\xc6\xb9\x1c\x20\xe3\x8f\x68\xfe\xda\xda\xe5\x72\x1a\xc2\x97\xac\x34\x5d\xfe\xe7\xcb\x4d\xee\x53\x72\xd3\xc5\xc8\xe3\x06\xd7\x1b\x99\x1b\xf7\x1f\x7c\x53\x8d\x73\xb9\x83\x08\xff\x46\xbb\xdd\x57\x72\xd2\x19\x67\x9c\x54\xe2\x6b\x83\xa9\xb9\x9c\x57\xf3\x1a\xfc\x8c\x47\x6c\x5e\xc7\xbd\xab\x06\xd4\x67\x58\xb3\x7d\xab\x79\xc2\x3d\xc6\x1a\x79\x84\xb8\x41\xcd\x42\x52\xcd\x3a\x95\x02\xb2\x9a\xe8\x34\x50\x57\x94\xa4\x9a\x4d\x2b\x09\xd0\x53\x04\x23\xe5\x9b\x3b\xe7\xfb\x82\xc1\x1d\x79\xe7\x0e\x5d\x31\xd8\x71\xa7\x13\xf6\x06\xf9\x6d\xdb\x9c\x59\xc1\x4d\x71\xa7\x9e\xca\x51\x6e\xd7\x13\x3e\x61\xce\x1c\x57\x56\xc6\x7c\x3a\xcd\x63\x5e\xf8\x36\xa3\x53\xc2\x24\xe6\xf7\x8b\x26\x6c\xbe\xcb\x58\x37\xbe\xcb\x91\x9f\xe4\xb9\x05\xae\xbd\xc5\x4d\x73\x5c\xc6\xbd\x59\x7b\x6a\xb3\x3b\xe3\x74\x5c\x29\x2c\x1a\x5d\xc4\xe3\x58\x46\x68\xb8\xb2\x41\xc8\xb8\xb8\x13\xf4\xe9\xd4\xb7\xfd\x4e\x8f\x5f\x1b\xa2\xc6\x5a\xcd\x40\xc3\x4c\x25\xbf\x79\x2a\x34\x58\x88\x35\xe3\x48\x9c\xae\x37\x0b\x6b\xd6\x3e\x03\xb3\xf9\x5b\xcd\x63\x44\x6e\xec\x5e\xc8\xa5\xfb\xb0\x49\xcc\x8f\xe8\xf5\x07\xcb\x7c\xb0\x98\x4f\xf0\xfe\x55\x34\x05\x2d\xf8\x96\x35\x6b\x85\x20\x04\xc0\x01\x06\xa3\x11\x6d\xb8\xaf\x84\x45\x86\x30\x78\x8b\xa0\x0d\x14\x39\xdb\x06\x59\x51\x82\x04\xa8\x7c\xe1\x5a\x3d\x53\xf9\xe6\x97\x3f\x64\xf2\x5a\x53\x56\xc2\xf4\xf0\xc3\x26\xc2\x9a\xb2\x7a\x4d\x7f\x65\x59\x92\x64\xd9\xbf\x1e\x9f\xae\x9d\x63\x77\xe0\x8b\xb1\x68\x6f\x2b\x9e\xbf\x55\x8b\x58\x09\x93\x6c\xf2\x5a\xff\xf5\x2f\xab\xd7\x24\x9b\x08\x2b\x54\xf3\x3c\xcf\x6b\xaf\x1c\x9f\x9e\xa7\xb1\x68\x27\xf4\x47\x5b\xb0\x68\x1f\xfd\xb9\xdd\x81\x11\x20\xe5\xf0\x35\xd4\xeb\x34\x32\x2c\x74\xdd\x74\x94\xc6\x05\x62\x1f\x0b\x28\x61\xd1\xab\xcb\x4e\xaa\x7c\x84\x71\x9d\x61\x21\x92\x00\x65\xfc\x72\x1f\xf5\xfa\x69\xdf\xe9\xf8\xd5\x6d\x35\xfd\x03\xfe\x8e\xe5\xa7\xae\x1b\x9a\xe3\x03\x9f\x77\xee\xc6\x4d\xd3\xef\x3e\x67\xe7\x6d\x2f\xef\x7d\xe0\xc9\x46\xa6\xa4\xab\xa9\xc3\x15\x6c\x4c\x66\xda\x7f\x7b\x5b\x2b\x7e\xe6\x59\xe9\x42\xed\xd3\x5b\xbd\xd5\xb5\x5c\x66\xed\xa5\x7f\x01\x06\xce\x7c\xe9\x8f\xda\x35\xda\x47\xcf\x0e\xdd\xfd\xc1\x64\x28\xdb\x37\xf2\x9f\x57\x46\x6e\x39\x0f\x48\x9b\x12\x5a\x3a\x63\xce\xfc\x53\x16\xfc\xf4\xb5\xe2\x9e\x3e\x53\x18\xd7\x68\x64\x41\x2c\x72\x21\x37\x2a\x41\xd5\x08\xf1\xc0\xc5\x29\x55\x31\x43\x7c\x6c\xc1\xd9\x0c\x12\x47\xc5\x81\xa3\x38\xa1\x48\x2a\xa6\xab\x24\x05\x15\xfa\x0f\x78\x81\xf6\x80\xf6\xd0\xcf\x7f\x4e\xa4\xf0\x02\xed\x5f\xda\x03\x53\xc1\xa9\x7d\xac\x7d\xfc\x7d\x98\x96\xbf\x83\x7c\xe1\xe7\xda\x43\x60\xcf\xdf\x41\xa4\x22\xa3\x2f\xb8\xab\xdc\xa3\x2f\x44\x22\x44\xca\x5d\xe5\x26\x52\x11\x58\xa5\x9d\x09\x4b\xdf\x8a\x6d\xdb\x36\xfa\x06\xec\xda\xfb\xd6\x77\x1f\x7e\xf8\xe1\x45\x6f\xc1\x52\xed\x4c\xed\xa3\x6d\x80\x63\x7b\x61\x97\x76\x5d\x65\xfe\xcf\xe5\x52\xfe\xcf\x76\x3b\x8e\x48\xe5\x38\x52\x2e\xe1\x88\xdd\x9e\xff\xb3\x34\x86\xd7\x8a\x4c\x88\xda\x80\xa2\x68\x4e\xa1\x4f\x1a\xab\x76\xd1\x70\x25\x36\x76\x38\x8e\x00\x78\xc4\x52\xc6\x3e\x07\x0d\x86\xf2\x9c\x00\xe5\x08\x5e\x78\x80\x4a\x15\x57\xf1\x98\x31\x1b\xb0\x68\xa4\xc0\xaa\x65\x5a\x75\xd1\xfb\x77\x91\x0e\xe2\xd0\x24\xc0\xd4\x3d\xef\x9f\xb9\xd0\xb6\xfb\xec\xc5\x53\xa7\x80\xf2\xe0\x9d\xe0\xb9\x1d\x0e\xfe\xfa\x87\x5b\x2e\x5a\xea\x6c\xb3\x75\x4d\x55\xa7\x4e\xcd\x54\xcd\xe8\xe8\xe8\x99\xb1\xa6\x63\xe3\x5d\x3f\xdc\x7c\xe9\xc9\x8b\x3a\xfb\xd2\xfd\xbd\x0d\x95\xd3\x3b\x3a\x7b\x06\x56\xb5\x6d\xba\x07\x8f\x26\x7e\xb9\x69\xf7\xbb\x60\xf9\xfb\x1d\x67\xfe\x34\xab\x54\xae\xbb\xad\xf1\xfa\xc7\x6f\xd5\xde\xbf\x9d\xf6\x68\x1f\x6f\xda\x79\x8a\xd0\xc3\x76\x74\x65\x33\xdd\x15\xdd\x03\x03\xdd\x15\x97\xae\xdf\xb8\xf3\x3b\xa7\xb7\x77\xa6\x1a\x26\x14\x12\x2e\x39\xd6\xff\xa0\x80\xbd\xa9\xa0\x1a\xa4\x1a\x9c\x9c\xc7\x38\x0d\xc4\x42\x8c\x94\x4d\x4a\x2a\xa8\x72\x5a\x55\x68\x27\x0a\xa9\x0a\x1d\x51\x18\x57\x28\x6b\x70\xcb\x52\x52\xd6\xa9\x30\xa2\x80\x9f\xff\xb2\xe9\x3f\x1e\xd1\xce\xbf\xf7\xa9\x81\x7b\x06\x9e\x3a\xf4\xc9\x53\x7e\xff\x53\xf3\x71\x27\x6c\x29\x24\x3c\x5f\xa4\x8a\x25\x4e\x7d\x6a\xfe\xfc\xa7\xfc\x34\x3a\x81\xa5\x30\x3b\x5f\xbf\xe9\xd0\x27\xc6\x0d\xf7\x6a\xe7\xe7\x9f\x34\x12\x40\xfe\x4b\xe1\x66\xd3\x53\xf7\x16\x1e\x67\xac\xd7\x84\xe8\xfd\xd4\x6b\x28\x6c\xf8\x68\x8d\x19\x38\xb9\x62\xaa\x9b\x46\x6e\x21\x80\x43\xad\x38\x93\x46\x4a\x46\x24\x5d\xf4\xfe\x8b\xfe\xae\x8d\x68\xc3\xda\xc8\xdf\x2f\x7a\x0a\xfa\x5f\x7c\x53\x7b\xb3\xc8\x6b\xbb\x44\x7b\xf3\xcd\x17\xa1\xff\x29\x9c\xbb\x5f\xcf\xbc\xe8\xef\xd0\x7e\xff\xab\xb0\xee\xe3\xe0\x81\x6a\x6d\xf8\x9d\xed\x05\x1a\xdb\xed\xef\xc0\x50\xf5\x81\xe0\xc7\xda\x25\x08\x01\xe2\x0f\x23\xfa\x43\x1a\xa1\x53\x10\xe2\xb3\x2e\x35\x59\x27\x30\x2c\x69\x18\x93\x18\x0e\xec\x90\xd0\x87\x27\xa2\x06\xd4\x00\x04\x21\x6b\x58\x03\xe9\x02\xa3\x9e\x69\x04\x58\xc3\x2b\xbe\xe0\xec\x9e\x20\x6b\x40\x4e\x89\x75\x01\x93\xe4\x2a\xda\x96\xf3\xa6\x3f\x3c\x43\x81\xa9\xac\xbd\x3e\x4c\xf5\x4c\x4e\x2e\x9b\xda\xea\x74\x2a\x7e\x87\xcf\xce\x5a\xca\xab\x2b\x58\xfb\x32\x65\x9a\xc0\x83\xe2\x16\x6e\x1d\x0e\x2b\x04\x29\x4e\xf7\xfb\x97\x56\x0d\xf0\x7c\x30\x22\xd4\x84\xe7\xcd\x98\x24\xba\x9b\x7b\x3c\x64\xa8\xa2\xae\x9c\xb5\xb3\x8c\xa5\xac\x7a\x7a\x5d\x77\x65\xad\x9f\x07\xe2\xcf\xda\x99\x87\xf7\x69\x7b\xff\x79\x01\xbe\xfa\x75\xd8\xb4\x0d\xb0\x29\xb5\x64\xfd\xb5\x57\xdd\x39\x29\xa9\x38\x83\x9c\x33\xb5\x63\xed\xa9\x81\xd2\x92\xba\xb0\x97\xa6\xd7\x71\x13\xbd\xbe\xda\x55\xa1\xe0\x23\x0f\x25\xd6\x44\xc2\xf1\x49\x1c\xb7\x8e\x9d\x5c\x5a\x5a\x7f\xc3\xbe\xf6\xea\xa0\x10\xe6\x9c\x99\x2d\xeb\xb7\xac\x5e\x7a\x52\x0b\xc7\xd9\x89\xd2\x48\x67\xb2\xbf\x77\xc9\xb2\xed\x93\xb4\xbc\x76\xea\x3b\x57\x7e\x0e\x03\x05\xb9\xc7\xe8\x6b\x36\xe4\x43\x65\xa8\x1f\x2d\x42\xa7\xa3\x8d\xe8\x22\x74\x1d\x42\x94\x5b\x8e\x29\xaa\x28\xa9\xa2\xc4\x88\xc0\x88\x12\x23\x3b\x55\x89\x66\x24\xda\x2d\x80\x44\x93\x4c\x26\xab\x2a\x59\x55\xca\x12\x8c\x28\x30\x12\xcd\x28\x7a\x5e\x44\x51\x65\x85\x91\x15\xa3\x5b\xea\xb9\xaa\x92\x4d\x4a\x8c\xfe\x18\x70\xd3\xc5\xcb\x94\x6c\x0c\x39\x19\x25\x5b\xb0\xbd\x54\x65\x45\xd5\x6f\x31\xee\xd2\xbb\x02\x1a\xe7\x0c\x43\x16\x9c\x63\x8e\x31\x83\x27\x56\xbc\xac\xdd\xbc\xa2\xb1\xb4\xaa\xe3\xca\x37\xb8\x8e\xfc\x5f\x4f\x12\x7d\x0d\x27\x9f\xdc\x10\xe0\x07\xa2\x94\xa9\x71\x85\x76\xf3\xcb\xf5\x1d\xdc\x1b\x57\x76\x54\x6d\x7a\x97\x65\xff\x11\xec\xda\xd7\x30\xbf\x36\xbd\x30\x5d\x3b\xbf\x61\x5f\x57\xf0\x1f\x2c\xfb\x6e\xb8\x73\x5f\xd3\xdc\xda\xaa\xd3\xab\x6a\xe7\x36\xed\xeb\xd4\x2a\x3a\xea\xf5\xcb\xe5\x68\xc3\x0a\x18\x22\x9d\x27\x37\xf8\xc4\x93\x62\xd1\x01\x3e\xd0\x20\x36\x44\x65\xfd\x47\xea\x3b\x7e\x03\x43\x60\xff\xde\x01\xed\x17\xda\x9d\xda\x2f\x0e\x7c\xef\x7b\x07\xa0\x19\xe6\x43\xf3\x81\x07\x4f\xf0\x81\x2c\xe9\xa4\x5f\xba\x2f\x52\x97\x6c\xf8\x61\xd5\x6c\x1b\xe6\xfc\xcd\xe9\xf0\x5e\xb8\x7e\x6f\xb8\xbe\xde\x7f\xea\xea\x33\xb4\x7f\x44\xee\x7b\x89\xee\x04\xdb\xec\xaa\x1f\x36\x24\xf1\x82\xfe\x8a\xd9\x15\xfd\x0b\xa7\xde\xd6\xe5\xfa\xc4\x62\xf9\xc4\xd5\x75\xdb\xd4\x85\x46\xd2\xa2\xbe\xdb\xba\x5d\x1f\x5b\x2c\x1f\xbb\xba\x6f\xeb\xc3\x72\x27\xb6\xce\xae\xb8\xbb\xbe\xa2\x3e\x7c\xdf\x4b\xf9\x7b\xb5\x25\x7b\xff\x7f\x9c\x7d\x07\x9c\x14\x45\xda\x77\x3d\xd5\x69\xc2\x4e\xec\x99\xee\xc9\xbb\x93\x7a\x36\x2f\x3b\x71\xf3\x0e\x69\x49\x4b\xce\x79\x41\x32\x28\x49\xa2\x08\x43\x12\x14\xf5\x14\x15\x03\x06\xee\x3c\x10\x91\x43\x51\x4f\x45\x51\x57\xef\x3c\x03\xea\xe9\x9d\xfa\x1e\x9e\x7a\x78\xe7\xdd\x7b\xfa\x5e\xf4\x92\xb0\x3b\xc5\xf7\xeb\xea\xd9\x00\xea\xdd\xf7\xbe\xb0\x3d\x5d\x5d\x55\xdd\x5d\x55\x5d\xf5\x54\x78\x9e\xfa\xff\x83\xc9\x26\xdf\xe2\x2b\x57\x2d\xf0\xd5\xd5\x05\x95\x60\x5d\x79\xdd\xc3\xe5\x53\x8c\x78\x10\xff\xd3\x3c\xa2\x29\xdb\xd3\x3f\xb5\xf8\x81\x6f\xb2\xce\x17\xfa\xed\x8b\xb5\xa2\x7a\x34\x14\x2d\x45\x6b\xd1\x4e\x84\xa2\x8e\x70\x28\x95\x4c\xc4\x99\xc2\x59\xca\xa4\xf8\x70\x8f\xd9\xbd\x93\x77\x3a\xe8\x4f\x00\x27\xe2\xea\xb4\x43\x15\xc3\x74\x06\x12\x4b\x8b\x09\xda\x6b\x84\xd5\xf1\x0d\x97\xd2\x70\xe3\xe3\x52\x22\x15\x56\xfd\xfc\x10\x76\xaa\xe2\x37\xe1\x0c\x3b\x1d\x01\x86\x2a\x8f\x34\x45\x4c\xfa\x72\x0a\x54\xdc\x36\x7b\xf9\xfc\x45\x91\x91\xa3\x47\x47\x94\x23\x63\xea\xe3\x4d\x53\xd6\x37\x56\x2a\x65\xab\x4b\x87\xb4\x57\x9c\xeb\x18\xe3\xad\xad\x1d\x3d\xc3\x10\x1d\x76\x3d\xc6\xd7\x33\x70\x21\xa0\xa4\x92\xfa\xb0\x7e\x29\x73\x23\xdb\x14\x01\xc6\xca\x62\xce\x5e\x5c\xa7\x64\xc9\x6b\x03\x86\xd7\xc6\xdb\x6a\xf1\x82\xfe\x2a\xb1\xcf\x06\xb5\x66\xe1\x8e\xc9\x93\x66\x24\xa2\xd7\xfa\xfd\x6b\xa6\xc4\x97\x58\x18\xdb\x90\x94\x8b\x89\x2e\xaa\x1a\x1c\xb6\x9e\x1e\x9c\x35\x73\xc5\xae\x4a\x9d\xe5\xaa\xb1\x2e\x9f\x9e\xcc\xf3\x66\x60\x67\xb5\x2c\x0f\x20\x1b\xe3\xfa\x4d\xce\x09\x9f\xe2\x75\x13\x1c\xae\xe2\x9a\x75\x0c\xe0\xb3\xd1\x74\xa3\xe2\xc2\x1f\x46\x32\xe9\x68\x24\x95\x9e\x78\x19\xc6\x2b\x8f\x86\x5c\x44\xfc\x69\x8a\x81\x6d\xa5\x6b\x98\x2b\xd0\x06\x84\xa2\xc9\x70\xc8\xe9\x48\xc4\x19\xb5\x47\x52\x1d\x6a\xcb\xa0\x4c\xea\x14\x99\x85\x73\x5a\x83\x21\x6a\x9a\x9c\x52\x27\x0f\xa9\x82\x1e\x5f\x8e\x43\x38\x9d\xb2\x25\x63\x09\xde\x69\x73\x44\x9d\x14\xd5\x2a\x65\x4b\xa4\x42\x14\xb1\x3f\x91\xa2\x21\x09\x67\x48\xa9\x00\x9b\xa3\x60\xf9\xad\xf5\x7f\x78\xe2\xe1\xfb\x8f\xdf\xd9\xd8\xd4\xb8\x65\xcb\x06\x30\x45\x2a\xac\xfb\xb7\x94\xc6\xaa\x86\x4d\x99\x32\xac\x8a\xdc\x31\x74\xf3\x55\x03\x9f\x1a\xdc\x3a\x7c\xee\x0b\x37\x76\x4c\x98\x0f\x4f\x7d\xc2\xb2\x9f\xb0\x78\xf6\xb0\xc5\x2d\x33\xe2\x7e\x1d\x16\x5c\xbc\x53\xe9\xe0\x7f\xc3\x3f\x62\xa9\x37\x4f\x9e\xda\x9c\xff\xcb\x98\xfa\x86\x71\x63\x1b\x1b\xa4\x05\x4b\x16\x32\xb3\x9a\x27\xdc\xba\x07\xde\x7a\xa3\xc8\x50\x51\xb6\xed\x09\x59\xa7\xc4\x8a\xcb\x64\x67\xa0\x6a\x62\x3d\x79\xc7\x5d\xbf\x7c\xe4\xe1\x26\xb6\x6c\xf2\x95\x3e\xd6\xf5\xf0\xf8\x7d\xa7\x6a\xba\x5f\xa8\x9a\x8e\xe7\xcd\x09\x05\x67\xe6\x0f\x4e\x3f\xf9\xe3\x58\x69\x53\xc7\xb4\x46\x98\xcb\x62\xfe\x85\xf6\x74\xb8\x6c\xcb\x0b\x2c\xb9\x6d\x27\x6b\xbe\x7a\xea\xd4\x86\xc6\x69\x5f\xe7\xa5\xd6\x43\x98\xe1\x85\x18\x13\x06\x5b\xe2\x6b\xfb\x3d\xca\xc0\xb0\xea\x3e\x97\xa3\xfc\xe0\x46\x10\x16\xe2\xff\xba\xc4\x28\xdd\x01\x7f\x23\xaf\x0d\xa8\x9c\x05\x75\x44\x24\xa7\x99\x1b\x2e\xe5\x9e\xad\xbf\x88\xd8\x57\x79\x84\xfc\x14\x2b\x48\x03\x07\x13\xb0\x28\xf1\x42\x38\xa4\xc4\x14\x0d\xb9\x31\x95\x4c\xc7\x59\xab\x2a\xfe\x0b\xd0\x1d\x14\x4a\x4c\x03\x16\x72\x3a\x64\x0d\xfc\x38\x95\x6c\xc1\x89\x38\xcb\x8c\x5c\x33\xb6\x29\xd1\x92\xfa\x57\x15\x78\x9d\x9c\x23\x80\xcd\x4e\xa5\x6d\x48\x69\xf3\x30\xeb\xea\x43\xf0\xa7\x7b\xc9\xdf\xee\xcf\x0e\x76\xca\x1c\x17\x71\x26\xea\xe7\x3d\x9e\x6b\x6f\xcf\x3d\xfe\xf2\xe3\xb9\xf6\xa4\xc1\xa4\x94\x19\xb2\xb3\xef\xfd\xc5\xfa\xfb\xc1\xc4\x3a\x0e\xad\x0e\x0f\x1e\x4b\x6e\x22\x2e\x29\x88\xbd\x8e\xad\x7f\x7b\xf1\x87\x3b\x9a\x66\x8c\x0a\x97\x8f\x5b\x5d\x4d\x7e\x4c\xfe\x7e\xaf\x99\x8b\x3a\x1d\x32\x6b\x2a\xdc\xde\x9e\x7b\x7c\xde\x9a\x25\x8e\x52\x87\x59\xbc\xe6\xe6\x0d\xbf\xb8\x77\xd6\xbd\x08\x90\xbd\xd0\x0f\x2e\x45\x08\x0a\x86\xb2\x99\xa4\x9d\xae\x3c\x07\xf8\x62\x50\x2b\x9d\xd3\x11\x00\x67\x61\x54\x55\xcd\xc6\x94\xb0\xc0\x0b\x01\x0d\x7d\x33\xdc\x43\x29\x43\x0d\x6d\xab\x99\x94\x46\x2c\x13\xcf\xa4\x53\x14\x28\x26\x24\x98\x41\x2b\xa4\x94\x15\xcc\x3a\xc9\x04\x36\xf3\xa9\x6b\xf7\x9d\xda\xbd\xbb\x76\x42\x53\x3c\x54\xec\x28\x82\x8c\x9d\x61\x47\x4f\x8d\x45\xf4\x4e\x9b\xd3\x68\x05\xc0\x5c\xe3\x08\xc7\xc4\x8c\x0e\xb3\x5c\xf6\x4f\xa9\xb5\xe3\xb3\x16\x9d\x39\xab\x2b\xfb\xc1\x84\xf0\x90\xf5\x93\x06\x3a\x8a\x8d\x8d\x0e\xd6\x80\xf1\x80\x8d\x26\x8e\xd5\xd9\x47\x94\x01\xcb\x32\x32\xfe\x50\x0c\x3a\x1a\xac\x52\x4b\xd1\x3e\xa8\x68\x1a\x94\x71\xa6\x1b\xc6\xb4\x5d\x31\xae\x81\x9b\x38\xd8\x9c\x2c\x02\x8e\x83\x35\xaf\xaf\xa8\x58\x63\x71\x94\x38\x8b\x31\xb0\xf7\x0c\x75\x44\xab\xcb\x59\x17\x3f\xcf\x2e\x89\x1c\x66\x01\xaa\x4a\x19\x8b\x27\x1d\x2d\x8d\xf9\xb1\x04\x18\x63\xc6\xf8\x7c\x0b\xe3\x28\x1b\xcc\xea\x21\x5d\x0d\x62\xcf\xb8\xab\x45\x87\xb8\x97\x29\x4e\x78\x10\x55\xa1\x11\x14\x43\xb6\x6f\xd0\xde\x5f\xd5\x8d\xbf\xd9\x1b\x94\x70\x88\x55\xeb\x03\x6d\x9c\x31\x21\x13\xb1\x25\xed\xea\xb8\x54\x02\x07\x2f\xc8\x1a\xe8\x9c\x95\x8e\x54\x25\x3c\x24\x5e\x56\x31\x68\x50\x45\x19\xe3\x4e\x94\x7a\xab\xaa\xbc\xa5\x89\x3f\xd4\x6a\x3e\xf8\x78\x32\xa6\xfa\xc4\x92\xe4\x9f\xc5\xb1\x87\xc9\x67\x0f\xca\xe1\xa0\x67\x40\x8b\x77\x82\x3e\x3f\x9c\x7c\xf2\x23\x18\xfd\xca\x63\x50\xff\x73\xbc\xf2\xfa\x75\x99\x57\x0f\x0c\x51\x23\x3c\x08\xbe\x87\xbf\x0b\xbe\x47\x58\xc3\x84\x78\xa2\x34\x96\x20\x73\x7d\x95\x55\x5e\x5f\x55\x25\xfc\xf9\x72\x8f\x63\xec\x3d\xe4\xfc\xbd\x63\x46\x32\x8c\x81\xb5\xe1\x6d\x1f\x9e\x81\xe2\x87\xc1\xf7\xe0\xae\xcf\xf3\xad\xeb\xde\x9f\xfa\xc3\x2b\xa3\x37\x7d\x09\x81\x2f\x6f\xba\xe9\x6f\x1a\x7e\x09\x7f\x91\x47\x14\x8d\x43\x12\x0a\xc0\xc2\x51\x46\x83\x48\x4a\xd9\xf4\x10\x55\x62\x1a\xba\x32\xff\x59\x90\xbf\x88\x38\xaf\xd9\x66\x34\x91\xc6\x2f\xed\xc5\x26\xbd\x28\x33\x1d\x5d\x3f\x27\xeb\xa2\x0c\x0e\xf1\x39\x8b\xcd\xc1\xfd\xc3\x55\x7a\x01\xf9\xad\x3a\xee\x14\x39\x2b\xb3\x42\xd0\x01\xb3\xd9\x70\xf7\x15\xdf\x33\x97\x95\x8a\x4c\xa7\xbe\x0f\x2f\xe1\x22\xf7\x2f\xe4\x41\x25\x97\xbc\x15\x7a\xde\x5a\x78\x27\x88\xc0\xe9\xa1\xff\x7b\xf3\x7f\x25\x1f\xd8\xfd\x66\xbd\x28\x91\xd2\x28\xc3\x84\xf9\x5c\x98\x9c\xf9\xf8\xc2\x22\x18\xc7\xcc\x25\xa1\xbe\xb7\xff\x17\x39\xe5\xa4\x6f\xff\xf1\x4b\xe6\xb2\x98\x83\xe9\x74\x5e\x30\x73\x15\xdd\xaf\x5c\x8f\xb7\x75\xff\xe6\x12\xb9\x93\xa4\x32\x41\x1d\x7f\x84\x43\x11\x6d\x2e\x9b\x90\x0a\xa6\xfb\xd4\xa2\x9f\x17\x64\x49\xe8\x91\x44\x14\x2e\x98\x7e\x5c\xee\x52\x42\x5b\x6d\xfb\x3e\x8f\x36\xbf\x4d\x3e\xbb\xf7\x38\x79\xe3\x4a\x01\x74\xd7\x1b\x2c\x56\x61\xc4\x7b\x1b\x96\x3c\x7f\xc3\xf8\xf1\x37\x3c\xbf\x64\xfe\x93\x6d\xd7\x17\xdb\x6c\xe5\x24\xeb\x51\x4a\x63\x81\x1d\xcb\x41\xbc\xed\x5e\xf0\xbd\x9d\xbf\xd0\x63\xbc\x77\x8e\x1a\xa1\x31\x3e\xf2\x1a\xf9\xec\xed\xcd\xb7\xee\x32\xb8\x75\x37\xe8\xb1\x61\xee\x92\xf1\x37\x3c\xff\xce\xf3\x37\x8c\x1f\x36\xe8\x86\x40\xac\x54\xf1\x40\x67\xb9\xcd\x56\xbc\x7d\xe1\xca\xcd\x6f\xdf\x45\x7a\xad\xf9\x3a\x7a\xec\xd7\xfa\xec\x57\x28\xd7\xbf\x19\x5b\xe9\x38\xdc\x5a\x0d\x97\xec\x26\xdb\x41\xba\xb5\x91\x35\x1d\x82\x2f\x7a\x04\x6e\xbd\x4c\x71\xc8\xa1\x45\x8f\xfc\xb1\x7f\x24\xf2\xf4\xd7\x74\x83\x2d\x17\x73\xfc\xcb\x5c\x0e\xed\x46\x88\x2b\x58\x9f\x51\x29\x99\x49\xa7\x98\x64\x4c\x63\x1b\x77\x32\x0e\x39\xc0\x14\x66\x75\xfd\x63\xc4\x6c\xc9\x74\x35\x1b\xab\x86\x1e\xda\xa7\x44\x5c\x9b\xbd\x99\xb1\xc0\x3b\x45\x87\x2c\x25\x82\xaa\x2c\x12\x93\xb1\x6a\xfc\xcd\x31\xe8\x73\xf9\xfd\x95\x27\xab\x2a\x1f\xab\x74\x79\x42\x95\x0d\xd6\x20\x80\x29\x9a\x9f\xad\x98\x00\xa2\xd6\x6c\xbc\xd4\xed\xaa\x39\x55\x5d\x71\xac\x5c\x76\x17\x97\xa5\x2d\x41\x50\x65\x94\xce\xac\xb7\x34\x55\x47\x5c\xae\xea\x53\xd5\xe5\x0f\x97\xbb\xdd\xa1\x8a\x3a\x4b\x18\xc0\xe4\xc1\xcf\xb9\x4d\x00\x61\xfb\xf8\x84\xdb\x5d\xf9\x58\x65\xc5\xf1\x0a\xb7\x3b\x5c\xd5\x60\x09\x43\xc8\xda\x54\x13\x71\xe5\x04\xa1\xcc\x5d\x1c\x60\x0d\x06\xe7\x06\xd8\xe3\x34\xb0\xac\xc1\x49\x6e\xba\x59\x32\xf0\xe0\x2f\xf6\x54\x0a\x42\xb9\x2b\x10\xe0\x0c\x06\x79\x63\x3d\x53\xc5\x54\x7b\xe3\xa1\x98\x8b\x37\xb0\x3e\x1a\x56\xe9\x09\x78\x31\x6f\x70\xee\x23\x9d\x4e\x23\xc3\x18\x9d\x90\xdd\xe7\x34\x32\xb2\x52\x08\xf4\x01\x67\x90\x6f\xe8\x1e\xbf\xc1\x69\x10\xb0\x3f\xe0\xa9\xa4\x18\x43\xae\x8b\x39\x96\x70\x39\x54\x59\xc0\x8f\xa0\xdb\x4f\xfa\x0c\xb4\xc3\xbd\x2e\x25\x46\xfb\xa8\x4c\x3a\x93\x2e\x83\xb8\xc4\x92\xa8\x2b\xce\x7a\x78\x26\xe2\x5e\xe1\x8e\x7c\x27\xec\x59\xe1\x09\xdf\x36\x7f\xeb\xa0\xec\xb4\x69\x9b\x56\x42\x1c\x7e\xe5\x8e\x70\x83\x47\xf8\xb3\xc0\xbb\x8d\xa9\xae\x9c\x3b\x12\x71\xb3\x2f\x77\xb5\xa8\x67\xf8\x4b\x51\x4d\xc3\xa6\x75\x37\x1f\xd9\xb8\xbe\x2c\x1a\xa1\xf3\x08\xb5\x4e\xa1\x7e\xbc\x23\x35\xa8\x15\x0d\x46\xc3\x10\x8a\x3a\x83\xa9\xe8\xd7\x2c\x85\x83\x29\xd1\x19\x4e\xa9\x67\xe6\xf2\xb0\xcb\xd7\xca\x9c\x61\x4a\x53\x09\x1d\xe4\x10\xa6\xf4\x5a\x05\x5c\xb7\x43\xdd\x87\xce\x9d\xe3\x51\xbe\xe4\x5c\x9f\x27\x93\xeb\x73\xe3\xec\xb9\x73\xdd\x87\x72\xb9\x5c\xae\x1f\x88\x9c\x02\xb9\x5c\x0e\xa3\x5c\xae\x1b\xe5\x72\xec\x25\x21\x04\xf5\xbf\x2a\x44\xd3\xf4\xdb\x05\x6e\x7a\x04\x71\xc9\xca\x97\xa8\x65\x18\x55\xeb\xa9\x55\xed\x47\xa3\x6a\xe5\x2c\x91\xac\xaa\x74\xe2\x24\x87\xc0\xa5\xd9\xce\xdd\xcf\x3d\x47\xfe\xf9\x1c\x26\x77\xcd\xda\xba\xfb\xb9\xe7\x76\x6f\x9d\x05\x4b\xf0\x73\x60\xa0\x4e\x72\x17\xc6\xb0\x64\x16\x46\x6a\x94\xe7\x76\x17\x49\x4f\x4e\x51\x83\xa6\x3c\x29\x15\x69\xb7\x4d\x79\x52\x72\x49\x4f\x4e\xb9\xa4\xad\x52\x5e\xfc\x88\xb6\x07\x36\x9d\x8c\x65\xa4\x84\xb6\x94\xec\x74\xd0\x0d\xce\x94\x1c\x2f\x43\x37\xc4\x7e\x6d\x2b\x1f\x87\xae\x9d\x36\xa9\xf9\xaf\x18\xff\xb5\x79\xd2\xb4\x6b\xaf\x7d\x6c\x2b\xfe\x6b\xcb\xc4\x69\xd7\x5e\x3b\x6d\x62\xcb\x5f\xf1\xd6\xc7\xe0\xda\xfe\x43\xa5\xfc\x63\x5b\x1b\x36\x5a\xcd\xd6\x8d\x0d\x5b\x1f\xbb\xf6\xda\x69\x82\x75\x63\xfd\xb5\x8f\x5d\x5b\xbf\xd1\x2a\x4c\xbb\x96\x39\xd7\x7f\xdc\x24\xf4\xce\x1d\x6d\xa8\x06\xb5\xa0\x76\x34\x0d\x2d\x40\x6b\x11\x42\x74\xd9\x97\xae\xf0\x52\xc5\x44\x26\x0d\xb2\x20\x4b\x0e\x0b\x45\x40\xe8\x9b\xc8\x25\xe2\x32\x35\x94\x15\xe9\xe2\x71\xc1\x6a\x56\x72\xc8\x7c\xff\xab\xb4\x56\x77\xa9\xfc\x8c\x15\x4c\x57\xa8\x56\x5d\xc3\x76\x49\x6a\xd0\x68\x0e\x3c\xd4\x31\xc0\xbd\xe2\x48\xa5\xc1\xe1\x36\x19\xcb\xed\xa1\xed\x93\xdc\xcc\x33\xd5\x7f\x1f\x22\x8a\xd9\xe9\x2b\x9f\x27\x5d\xe4\xd7\xa4\xeb\xf9\x95\x14\x4e\xf5\xa9\xef\x66\xc5\x94\x38\xa4\xcb\x50\x64\x32\xcc\xd4\xeb\x0d\x1e\xc3\x0c\xc3\x47\x46\x97\x71\x86\xc1\xa0\xf7\xea\x67\xea\x4b\xec\x66\x0a\x7c\xd2\x61\x3e\x61\xf7\xd9\xed\x3e\xfb\x9d\x33\xd5\xa8\x06\xc3\x0c\x83\xc7\xa0\x67\xee\x89\x3b\x0c\x95\x47\x56\xb8\x07\x18\xb8\xd2\x49\xdb\x43\x46\xf8\x41\xf5\xdf\x86\x88\x29\x31\xfb\xdd\xa7\xbe\xd3\xf3\x0e\x08\x00\xf7\xfc\xca\xe9\x59\x51\x1c\x02\x95\x85\x1b\xf5\x33\xf5\xde\x3f\xd3\x5f\x3d\xf5\x79\x8e\x3e\xfb\x50\xe1\x55\x76\xfb\xd0\x9e\xf7\xeb\x0d\x9e\x02\x2e\x81\x5a\xb6\x2c\x72\xa8\x5f\x1e\xa2\x1c\x13\xc4\x97\x2d\x01\x41\xba\x19\x84\x98\x28\x2b\x31\x99\x8b\x66\x78\x21\x23\x0a\x31\xa7\x43\xce\x70\xa2\x20\xc5\x33\x31\x31\x8a\xe7\x41\x31\x14\x5f\x49\xee\xe3\xbe\xbe\x06\xc4\x5e\x79\xc7\xa2\xbf\xb4\x5e\x77\xe0\xcf\x29\xf2\x29\xf9\x34\xf5\xe7\x03\x7b\x5a\xfe\xb2\xe8\x8e\x00\xb4\xed\xbb\x7a\xdd\x3f\xd7\x5d\xbd\x0f\xda\xf0\x3b\xef\xbc\x43\x1e\x63\x73\xdf\x30\xc1\xed\x1a\x7e\xa6\x8b\x99\x7e\x0e\x06\x17\xbd\xdd\xbe\xe5\x81\x07\xb6\xb4\xbf\x5d\x44\x9e\x3f\x37\x9d\xe9\x3a\xb3\xab\x94\x7c\x30\x34\x16\x1b\x0a\xe5\xa5\x88\x72\xd7\x15\xf8\xa1\x7b\xf6\x14\x8c\xa0\xac\x21\x9b\xd0\xf5\xe8\x7b\xe8\x71\x74\x5a\x95\x0e\x3d\xcc\xd5\x05\x2a\xf7\xcb\xae\xe1\x3f\x84\x47\x7b\x8c\x9a\xc2\xff\x29\xe6\x7f\x0e\x0f\xa6\x92\x1c\x4b\x81\x1d\x5a\xd8\x48\x09\x1b\x60\x6d\x97\x45\xb1\xf5\x12\x87\x82\xc6\x12\xa9\x51\x45\xf6\x39\x71\xf6\x1b\xbd\xf3\x2f\xfb\x14\x8c\x15\x2f\xbe\xf8\xbf\xb9\x0b\x72\x79\x42\x76\x90\x1d\x79\x62\x4b\x8c\xbb\xe9\x09\x30\x41\x0b\x14\x3d\x79\xd3\xb8\x84\xad\x2f\x8e\xe2\x25\x39\xaf\x72\xae\x8f\x47\xb4\x8f\x5d\x94\xac\xf9\x26\xdf\xfd\x8a\x77\xfb\x76\xaf\x92\xff\x5f\xdc\x02\x37\x98\x0c\x4b\x30\x2c\x34\x98\x6c\xc9\xf6\x51\xa3\x1b\xa2\xd1\x86\xd1\xa3\xda\x93\x64\x6a\x5f\x8c\x49\xdb\xbd\x8a\xe2\xdd\xde\xab\xf7\x2b\xe0\x22\x38\xa8\xf5\x4e\x7d\x01\x07\xac\x57\x2e\x89\xe9\x44\x90\x2a\xfa\x7a\x3c\xa8\x2a\x21\x2e\x43\x2f\xb4\x1b\xd7\xeb\xc2\x9d\x8a\x47\xf1\x10\xe4\x51\xce\x0b\x2e\xfc\xfb\x8b\x88\x45\xda\xa5\x47\x81\xa3\x2e\xa1\xfb\x2c\x39\x64\x37\x43\x89\xd9\x8e\x0f\xf5\xb8\xd8\xce\x3c\xf2\x28\x79\xda\x55\x60\xc4\x2c\x95\xf3\x59\xdc\xd9\x9d\x23\x85\x4e\x41\xf1\x30\x48\x86\xcc\xb9\x3e\xd2\x73\x6d\x9c\x4b\xd3\xec\x57\x47\x9c\x0e\x01\x64\x81\x67\x63\x10\x4e\x81\x62\x6f\x05\x19\xd2\x71\xea\x09\xe9\x38\xff\xcb\x68\x94\xac\x3c\x70\xe8\x41\xd2\x78\x8a\x1c\xf8\x21\x2c\xdb\x52\xf3\xe0\xa1\x03\x70\x8b\xb2\x6c\x64\x94\xac\xfa\x02\x6e\x55\x96\xb1\x8d\xca\x52\x85\xac\x3a\x70\xe8\xc1\x9a\x2d\x34\xca\x29\x78\x45\x8d\x73\x6b\x74\xe4\xf2\x28\x59\xf9\x05\xdc\x12\xa5\xba\x7f\xf7\xc5\x22\xfe\xbf\x29\x6f\x9f\x13\x35\x50\x56\xa2\xfe\x28\x08\xdf\xc0\x75\x19\xe0\xe2\xe9\x44\x9a\xc2\x7b\xa6\xe5\x78\x00\xb7\x70\x19\x5e\xb0\x6b\xbb\xef\x32\x0c\x55\xfb\x17\xf8\x12\x44\x4a\xbe\x10\x00\xb9\xd0\x07\x38\x6d\x99\xb4\xc4\x2c\xdd\xf6\xf8\xb6\x6d\x8f\x6f\x83\x7f\x6e\x9d\x31\x7d\xdb\xb6\xe9\x33\xb6\x7e\x9a\x1d\xdb\x75\x74\x62\x63\xc5\xcc\x61\x33\x13\xd3\x7d\x93\xf1\x10\x2f\xcf\x7a\xc2\xc2\x4a\xae\x55\x1e\xa2\x0c\x4b\x8c\x68\x1e\xf9\x93\x4d\x5d\x93\x96\x0f\x5a\xb7\x64\xcc\x14\x16\x74\x41\x01\xd8\xa9\x63\x97\xac\x1b\xb8\x74\x62\xd7\x26\x77\x79\x8c\xb5\x30\x73\x06\xb3\x9f\x0f\x9e\xe3\x8c\x95\x33\xbe\x89\x1b\x36\x4c\x9c\xb4\x7e\xfd\xa4\xc2\x99\x7c\x85\x0f\x4e\x1d\x31\x64\x56\x7e\xae\x1c\x92\x2c\x02\xb0\xe0\xe3\x19\xb7\x67\x26\xcb\x00\x30\xbc\xd1\x2a\x17\xbb\xee\x58\x4c\x7e\xf3\xe4\xea\x70\x49\x4d\x62\x35\xb4\x01\xd6\x01\x39\xb1\x26\x5e\x53\x12\x59\xf3\x24\x78\x17\xdf\x11\x4d\x7a\xb1\x81\xc1\x4f\x0d\x5f\xb4\x68\x78\x7e\xa4\xc5\x9b\x54\xcb\x6c\xc1\xc5\x1c\x7f\x6f\x41\x4f\x6b\x41\x6e\xb5\x66\x51\x3a\x31\x9b\x98\xb1\x05\x6d\x41\x67\x06\x6c\x10\x14\xc2\xa9\xa0\x4d\x64\x72\xb7\xe2\xe2\x5b\x6f\xcd\x77\x4d\x81\xb6\xb3\x8c\x8f\x8c\x21\xcf\x9e\x3d\x4b\xd6\x5c\xc9\x8e\x21\x63\xe0\x71\xf5\xc8\xeb\x08\xe3\xed\xfa\xef\xb3\x67\xd9\x63\xdd\x46\x32\xe6\xec\x59\xf6\x3a\x08\x6a\x75\x78\xfa\x45\xe0\x8e\x71\x79\x24\xa1\x0a\xd4\x8a\xc6\xa0\x85\xaa\xa4\xc2\x6a\x51\xd3\x41\x94\x36\x0b\xa6\x00\x9e\x31\xde\x02\x2c\xdd\xd7\xa8\xb4\x80\x1c\x97\xe9\xd6\x37\x50\x3b\xc0\x98\xc2\x50\x70\xce\x02\xcf\x03\xa8\xdf\x06\x14\x0a\xeb\x29\x4b\x76\x4e\x12\x78\x8e\x17\x32\xbc\x86\xb6\x4a\x4d\x6a\x02\x20\x33\x1c\x70\x45\xb1\xf4\xc5\xb0\x89\x05\x8e\x6d\xba\x13\x1a\x2d\xb5\x6e\x97\xf7\x00\x53\xbb\x91\xfc\xd1\x16\x16\x8b\x38\x9d\xbd\x3c\x6c\x7a\x7e\x58\xe5\x24\xd9\xcd\xd4\x0b\x0f\x27\xa2\x1e\xf3\xb1\x1a\x33\x67\x0b\x0f\x80\xf5\x67\xc6\xe8\x7c\xf9\x19\x5c\x63\x43\x1d\xb9\x4e\xe7\x2d\x83\xd1\x0d\xa5\x7a\x46\xc1\x07\x19\xbf\x85\xfc\x64\xb0\x0b\xe4\x6a\x73\x20\x00\x23\xaf\x8d\xeb\x7d\xd1\x01\x07\xf8\xb3\xdb\xc8\x47\xa6\x12\x9d\x7e\x4e\xb9\xc5\x59\x64\x36\x8c\x7c\xa2\x4d\x34\xea\x0d\xca\x67\x19\x4b\x6c\x1a\x0e\xb9\xe3\xed\x3f\x1c\x82\x47\xfb\xed\x21\x7d\x05\x39\x9d\xfe\xc0\x61\x76\x1a\xc0\x39\xda\x19\x77\x56\xd8\x20\x36\xc8\x2b\x48\x78\xfc\x22\x87\x6d\x1a\x9e\x12\xf6\x56\xcc\xb6\x18\xc2\xf6\xfc\x4b\xaf\xc5\x1c\x86\x76\x8b\x0e\xf3\x0e\xa9\xa6\x14\x16\x3e\x32\x88\x17\x6d\xf2\xc7\xf5\x74\x7f\xbf\xa6\xc7\xc9\x5d\xb2\xf7\xc1\x8b\xc2\xa8\x92\x72\xd6\x04\x6d\x41\x3a\xca\xb3\x51\x98\xc7\xd4\x25\x87\x3a\x86\xa5\x8b\x84\x41\x9b\x43\xb8\x04\xd2\x21\x98\x62\x11\xc9\x41\x2e\x97\xa7\x3b\x35\x38\x44\x10\xee\x77\x74\xa3\x9c\x92\x54\xf8\xdc\x05\x64\xe4\xce\x78\x94\xdc\xaa\x71\xe7\x73\xe3\x56\x01\x52\x6f\xba\x88\x72\x39\x06\xd1\xfb\x50\xaf\x3e\x9e\x1e\xdd\x59\xa6\x53\x03\x12\x66\xb3\x5d\x9d\xc1\x62\x85\xfd\xb0\x8b\xda\xaa\xb2\xd9\x1c\x62\x51\x39\x32\x09\x1f\x50\xbc\x85\x62\x54\x8f\xc6\x23\x14\x29\xb4\x5a\xa7\x23\x13\xaa\x86\x50\x61\x17\x4d\xa6\x05\xe2\x1a\xfc\x3c\xc5\xbf\x0a\x87\xcc\x8c\xe6\x9f\x8e\x94\xb0\xd4\x5f\x0c\xc5\x94\x48\x09\x5b\xc0\x05\xeb\xf3\x67\x1d\xa5\xfb\xaf\x9d\x70\xed\x12\xdc\xbe\x6d\xc7\xb6\x51\x8c\xfd\x4e\xc3\x98\x3f\xfc\xee\x0f\x63\x0c\x77\xa2\x8b\xc6\xa2\xbd\xbf\xbf\x6b\xf2\x23\xdb\x16\x34\x60\xdb\x01\xc3\x2e\xd8\x08\x39\xd8\xb8\xcb\x70\x80\x18\x8d\x4f\x90\x6d\xa4\x8e\x6c\x7b\xc2\x68\xb4\xdd\x69\x78\x0e\xb3\xd8\x83\xd9\xe7\x0c\x77\x9a\x6e\x73\x94\x54\x56\x96\x38\xb6\xc4\xe3\xf1\xf8\x01\xbb\xc9\x30\x7a\xda\xb4\xd1\x06\x93\xfd\x00\x58\x75\x4b\xaf\xa8\x6c\x69\xa9\x3c\x60\x2f\x32\xec\xda\xbf\x7f\x97\xa1\xc8\x7e\x00\x2c\xfa\xfb\x1e\x78\xe0\x3e\xbd\x1a\xf1\xd9\x37\xdf\x7c\x56\x8d\x88\x90\x49\xdb\x37\x43\xd7\x31\xfb\x6b\xa5\x5a\xd1\x28\x34\x11\x5d\x81\x96\xa3\x6b\x10\x62\x2f\xe3\x84\x43\xff\xcb\x33\xd8\x0a\x28\x22\x52\x3c\xdd\xdf\xaf\x3f\xd6\x9d\xb5\x9f\x0d\x76\xff\x31\x2e\xe4\x46\x2d\x1b\x35\x6a\x19\x9c\xa1\x27\xa2\x9d\x98\x51\xfd\xaf\xbe\xd1\x93\x19\xd5\xbe\xa4\xbd\x7d\x49\x3b\xe9\xb9\xbf\x67\x3b\x1e\x87\x3c\x0a\xf5\x3a\xd3\x9e\xbc\x40\x35\xe7\x5c\x2e\xd9\x9e\x5a\xa6\xdd\xad\xfe\xc1\x19\x7a\x22\x67\xfa\x5f\x7d\xa3\x67\x3e\x07\x7d\xda\x7b\x7c\x51\x0b\xea\xa4\xb0\xd4\xda\x7c\x83\x1c\xa6\x7e\x0c\xba\x80\xd4\x78\xbc\xfa\x8b\x30\xd2\x5f\x44\xdc\x9f\x79\x84\x62\x68\x28\x5d\x07\xc1\xc1\x70\x88\xb7\x00\x23\x98\x81\x6e\x82\x6a\x61\x32\xe9\x46\xa0\xf4\x37\x54\x80\x48\xb2\x14\xd3\x28\x9d\x1c\xe1\x58\x48\xe0\x19\x5a\x44\x99\x1e\x8b\xf4\x00\x70\x7f\xb6\x4b\x53\x49\xa8\xd2\xad\x70\x6c\x06\x73\x31\x77\x97\xd3\xc5\xe8\xc3\xf6\x88\x9e\x53\x76\xee\x5e\xfc\xe8\xaa\x45\x29\x97\x11\x18\x96\x1d\x7b\x77\xf5\xb8\x4f\x56\xef\x9b\x31\x63\x81\x1d\x4f\x04\x23\x39\x2b\xf9\x99\xdf\x73\x55\x7e\x3c\x25\xb4\x6d\xc0\xf2\xd5\xcc\xe6\x49\x1b\xc9\x90\xa0\x47\x24\x47\x2c\x9e\x60\xc0\x59\x77\x6e\xd5\xaf\xea\xa2\x58\x8e\x2d\x9d\x7b\x67\x5b\x2b\xcf\x00\xd3\xf8\xc4\xf2\xed\x9f\x4f\x28\xc5\x00\x1d\xba\xfc\x3f\x0d\x41\x89\x7b\xd1\xaf\x78\xc4\xb2\xef\xab\x32\x3c\x56\xe8\x6b\x0d\xc8\x8e\xdc\xa8\x54\x9d\x55\xc9\x48\x0c\x62\x46\x49\x27\x80\x17\x30\x93\xce\xd8\x45\xbb\xea\xa3\x07\x2b\x83\x81\x06\xa8\x39\xb0\xc3\xa9\xa0\x08\x86\x0e\x32\x68\xdb\x5f\x8a\xec\x0e\xe6\xfb\xb5\xed\x63\x4f\x96\xb2\x3f\xff\xf4\x7f\xa0\x22\x4c\x9a\xcb\x08\x62\x97\x2c\x1c\x4c\x3e\x72\x8f\x67\x45\x2b\x2c\x76\x86\xb9\xb5\x4c\x87\x87\xdc\x4e\x16\xc1\x29\x48\x5a\xc3\xe4\xe0\xab\x2f\x43\x1a\x7c\x1f\x7f\x46\x8e\xc3\x77\xc8\xe9\xbc\x48\x56\xe3\xbb\x99\x58\xbe\x93\x4c\x23\x5b\xf0\x00\x6c\x84\x2a\xf0\x5a\xdd\x1e\x07\x59\xac\xe9\x46\xf4\xda\xbe\x11\x0b\x72\x21\x1f\x6a\xd1\x78\xe8\x21\x9c\x6e\x85\x16\xc8\xc8\x1c\xa3\x84\x83\x02\x1b\xa5\xb4\x40\x62\x02\x98\x84\x18\xe6\xe8\x4e\x11\x5e\x2e\xac\xa7\xd6\x80\x20\x25\xa4\x74\x26\x19\xd3\x16\xf1\xd3\xc5\x10\x0d\x87\x04\x26\x91\x49\x48\x72\xe2\xf2\x5a\x2c\x3c\x7d\x83\x39\xc9\xb0\x45\x4c\xd1\x85\x1d\x0d\xc6\x2c\xf9\x3b\x86\x0c\x58\xbe\x67\xf3\xac\x1f\xbe\xe7\x51\xe0\xa2\x47\x96\x1c\xc1\x77\x0d\x1d\x77\xcd\xbd\x00\xfb\x07\x28\x4d\xb1\x29\x6d\x92\x3c\x72\xe5\x8e\xfb\xf0\x8d\xb5\x95\xb5\xd5\x6d\x69\x0b\x74\xe6\x06\x4a\xff\x3c\x11\x7e\x8f\xb3\xdc\x93\x6b\x4f\x7e\x45\xab\x93\x0e\x25\xdb\x71\x28\x7a\xb3\xde\x50\x62\xc8\x6c\x84\x58\xda\x34\x76\x16\x19\x39\xbd\x6d\x83\x9f\x60\xbc\x3d\xbf\x15\xef\xb0\x7a\xd7\xcf\x59\x34\x5c\x8e\x38\x03\x25\x41\xe3\x2d\x21\xd8\xb8\x60\xd9\x10\x77\xc8\x29\x05\xc1\xad\x3b\x98\xce\x3f\xd9\x21\x8d\x64\x5e\xee\xa2\x0f\xe3\x68\xdd\x74\xf5\x96\x8d\x0d\xb9\x51\x05\x4a\xa0\x2c\x1a\x86\xa6\xa1\x2b\xd0\x62\xb4\x1a\x6d\x46\xf7\xa2\x67\xd0\xab\xe8\xb7\xe8\x3c\x18\xc1\x0d\x55\xd0\x04\x23\x61\x1a\x5c\x03\xfb\x10\x02\xa5\x87\x9c\x23\x11\xcf\x28\xd8\x9e\xe1\xb1\x5d\x4e\xdb\x71\x4c\xb2\x63\x81\xae\xa9\xa7\xe8\xba\x1a\x24\x52\x61\x67\xc2\xd9\x88\x53\x61\x21\x16\x76\x26\x52\x72\x22\xc3\x38\x2b\x20\xd5\x08\xce\x44\x2c\x9e\xc8\xa4\x93\x35\x10\xaa\x00\x67\x22\x95\x88\x24\x7b\x95\xfa\x91\xb8\x1c\x66\x35\x59\xcc\x87\x43\xe9\x82\x2b\x24\x87\x62\x21\x85\x6a\x53\x92\x99\x74\x6d\x3c\x45\x4d\x5b\x6b\x65\xa7\xe4\x14\x7c\x10\x16\xf8\x30\x1f\x4d\xa4\x92\x4a\x2c\x24\x68\xec\xc7\xce\x44\x2a\x99\x88\xfb\x81\x9e\x9c\x72\xa2\x19\xc2\xce\x9e\x69\x76\x2b\x24\x6b\x40\x51\x03\xe4\x8c\xb6\xf2\x4b\xd7\xd1\xc3\xa1\x98\x9a\xfe\x34\x5d\xe4\x6d\x56\x93\x9f\x0a\x3b\xd5\x2c\x38\x12\xf1\x4c\xcf\x2e\x2f\x35\x2c\xa6\xbe\x29\xd1\xf7\x16\x39\xa3\x48\x85\xc0\x98\xb6\xa5\x88\x3e\xf7\xf2\x97\x5e\x72\x43\x21\xb0\x27\x4c\x08\x85\x79\x81\xa7\x7a\x39\x07\x5d\x9c\xcc\xa8\x13\xe3\x4c\x3a\x95\x8c\x29\x31\xb5\x9c\x94\xaf\xe1\xfb\xcc\xcd\xdd\xbd\xf8\xf9\xbd\xe3\xc7\xef\x3d\xbd\xe4\xee\xdc\xce\x39\x73\x1f\xdc\x3a\x6b\xe6\xb6\x6d\x33\x67\xcd\xde\x31\x77\xce\xce\xdc\xdd\x4b\x4e\xab\x61\xcf\x2f\xbe\x1b\x2f\x14\x6c\x02\xe3\x67\x39\x9e\xe7\x18\x9e\xe5\x74\x98\x61\x30\xc3\x52\x1a\x58\xc0\xc0\x33\xd0\x25\x49\xa2\x5d\x92\xec\x22\x1c\x6e\xe2\xda\x60\x8f\x14\x91\x25\xd1\x7e\x41\x8e\xc8\x72\x64\x0f\xc6\x40\x4d\x60\x31\xc6\x0c\xb0\x98\xde\x84\xe1\xc2\xe9\x80\xdf\x5d\x62\x31\x17\xbb\x2c\x81\x40\x30\xe0\x0f\x06\x8e\xf8\xfd\x36\x8f\x5f\x51\xfc\x3e\xcb\xe3\x35\x66\xd9\x2d\x3b\x8a\xa4\xa0\x27\x50\x63\x72\x15\xbb\x1d\x26\x77\xd0\x1f\xdc\xa1\x33\x99\xc4\x01\x03\x02\x3e\x5f\x8d\x73\xa1\x5f\x89\x05\x82\x92\xd9\xee\x0c\x09\x0b\x23\x3b\xe5\xa2\x40\xc0\x6f\xd0\xe9\xf5\xf6\x58\xd0\x2f\x9a\xed\x36\xbb\x2c\xdb\x45\xab\xd9\xe1\x0b\xbe\x1d\x08\x58\xbc\xfe\x58\xcc\xef\x33\xef\x96\x8b\xfc\x7e\x35\x9a\x6e\x9b\xdf\x6f\xa9\x8b\xc5\x7c\x7e\xf3\x18\xac\x26\x4d\x1d\x91\x62\x96\x61\xb1\x7a\x45\x53\xa8\xa6\x7a\x71\xff\x06\xc4\x3e\x32\x79\xfc\xde\xd3\x8b\xd5\x62\x99\xbc\x1c\x9a\xa1\x69\xe2\x15\xe4\xe7\xe4\xbd\x2b\xae\x80\x4a\xa8\xba\x66\x39\xf9\x11\xf9\xd1\x32\x35\xc6\x92\xc5\xa7\xf7\x8e\xef\x3e\xcb\x30\x36\x87\xc9\xe4\xb0\x98\x4c\xa4\x1e\x33\x06\x0e\xd4\x52\x30\x71\x95\x8a\xcb\x6d\x17\x5d\x53\x4b\x8a\x35\x87\x3b\xe2\x56\x4f\x7e\x60\x69\x2a\xb0\x56\x3e\xac\x9a\x08\x4c\x13\x31\xd9\xe5\x07\x97\xcb\x61\xdd\x33\x2a\x12\x19\xa5\x1e\x43\x06\x5b\x1d\xa5\x2d\xa5\x0e\x57\x88\xc7\xac\xc1\x62\x74\x99\x5d\x8e\xa0\xea\xb4\x99\x65\x9b\xcb\xec\x16\xa4\x66\x6f\x59\x99\xb7\x39\x7e\x73\x69\x71\x49\x4c\x94\x2c\xc1\xa2\x92\x98\xc3\xba\xa7\x3d\xcc\xfa\xd8\xd2\x96\x52\xab\xcb\x04\x2e\xc5\x55\xe4\xb2\xee\xeb\x79\xd4\xe6\x9e\xe0\x7d\x43\x36\x0f\x73\x94\x35\x95\x39\x18\xf5\x8b\xa9\x25\x82\x69\x2a\xd4\x7f\xea\x37\xc7\xd4\x96\x1a\xd8\xdf\xf6\x17\x05\x1a\x3f\x3d\x95\x05\x06\x64\xa3\x2b\x7f\x83\xd0\x54\x34\x1f\x2d\x43\xab\xd1\xb5\xe8\x06\x74\x0f\x65\x39\xe4\x2b\x28\xfe\xab\x14\x75\x50\x07\x97\x54\x2a\xc0\xd6\x43\x0e\xcf\x15\x74\xc8\xe9\xbe\x26\x45\x89\x42\x35\x8c\x6b\xda\xaa\xa8\x2e\xb9\x60\xe8\x93\xea\x69\x14\x60\x33\x43\x11\xe6\x82\x7d\xe3\x85\x28\x65\xa2\x17\x33\x6a\xeb\x2b\x1c\x90\xa0\x96\x57\xea\xeb\x52\x5f\xd3\x1a\x42\x7d\xc4\xdf\x64\xb3\x35\xfb\x22\xfc\x5f\xb2\xa2\xa3\xf5\xfc\xc4\x05\x63\xe7\xce\x1d\x59\xd5\x14\x18\x38\x10\xb2\x65\x19\xbf\xd3\xeb\xf4\xbb\x42\x65\xf5\x95\x4d\x91\xea\xa8\x4e\xf4\x49\x03\xe4\xf2\xca\x61\x89\x2c\x48\xd1\xb2\xda\xd6\xd6\xea\x0a\xa5\xb4\x74\xe4\xe2\x45\x23\xcb\xd9\x7f\x0d\x7c\x80\xfc\x98\x3c\x4c\x1c\x84\xf0\x41\x8f\xd2\xfd\x83\x65\x07\x96\x2d\x3b\x00\xf8\x96\x61\x33\xa6\x0f\xbb\xf9\x9d\x67\x36\xac\x5d\xbb\xe1\x19\xd8\x33\x6e\x69\x7b\x4b\xdd\xbc\x81\x7a\x08\x8e\xce\x7c\xa5\xcb\x8c\x1e\x9d\x11\xbe\xca\x8c\xc6\xff\x4a\x04\x3d\x1f\x79\x8b\x4d\xc9\x85\x6b\x46\xce\x26\x4f\x28\x89\xe9\x30\xfa\xf7\xa5\x95\x0e\x83\xdd\x6c\x75\x7a\x2b\xa3\x99\xd2\x70\x99\xd5\xc4\x17\x49\x0e\x6f\x65\x69\xb6\xb9\x6c\x74\x74\x60\x7c\xc0\x60\x65\xb4\x63\xe1\xfe\x85\xf9\xa7\xb1\xa5\x74\xda\xfe\xed\x37\x0e\x50\xf0\x8f\xd5\x97\x2e\xd3\xc1\x94\x73\xe7\xc8\x31\x7d\xdd\x8c\xba\x91\xf5\xe4\x89\x1b\xad\x63\x6a\x92\xe4\x89\xdd\x38\xd2\x55\x54\x37\x66\x4c\x1d\xfb\xf7\xba\x31\x63\xd4\xe1\xb8\xbd\xf7\xdb\x61\x64\x44\x66\xe4\x44\x3e\x14\x46\x0a\x6a\x40\x63\xd1\x4c\xf4\x36\xfa\x35\x3a\x0f\x1c\xe8\x21\x02\xad\x30\x1f\x21\x31\x11\x83\x8c\x2a\x8c\x9d\x61\x67\x54\x4e\xc9\x49\x55\xfc\xc6\xa3\xda\x09\xb4\x13\x97\x88\x45\x6d\xe1\x94\x10\x8e\x39\xc3\xb1\xb0\x10\x16\x13\xa2\x2d\x21\x67\xc0\x61\x66\x43\x4a\xd8\x19\x8e\x09\x41\x5b\x50\xce\x24\xe2\x51\x67\xd8\x96\x70\x6a\x0f\xeb\xdd\xc4\x65\x4b\x64\x12\x32\x95\xf5\xce\x60\x2a\x13\xf7\x43\x30\x15\xc0\xe9\x1e\x4f\x5b\xd8\x19\x53\xff\xa8\x28\x54\xfb\x5e\x7a\x25\xf4\xce\x71\x69\x40\x48\x48\x05\x9d\x4a\x05\xa8\x87\x40\xf7\x20\xc9\x89\x54\x22\x9e\x51\x3b\x0a\x0d\x27\x3d\xa3\x26\xda\xc1\x0b\x01\xf0\x43\x98\x56\x0d\x35\x29\x71\xaa\xa2\xa3\x7e\xc9\x74\x35\x43\x3d\xe5\xb8\x04\xfd\x93\x69\x0b\xdb\x40\xab\xc0\xa9\xa4\xa2\xed\xaf\x6f\x04\x67\x38\xe4\x74\x48\xe9\x00\x64\x9c\x7c\x4f\x18\x4f\xf5\x11\x85\xb0\x00\x30\xb6\x9e\xe2\x08\xa5\x92\x8d\xe0\x0c\x29\x66\x96\x62\x5f\x64\x68\xe9\xa4\x36\x4c\xaf\xc2\x03\x47\xb6\x3d\x78\xf3\xcd\xd0\x7c\xc5\xf3\xa5\x93\x26\x96\x41\xb0\x7c\xc2\xf8\x0a\xf2\x85\xfa\x0b\x67\xa6\x57\x76\x4b\x83\xe6\xd4\xcf\xd9\xe5\xde\xe3\x6e\xbb\xba\xe3\xaa\x65\x93\x47\xe3\xbb\x8c\x36\x9f\x2b\xe6\x2a\xd3\x6f\x1d\x37\xf1\x22\x02\x76\xdc\x84\x9f\x5e\x49\x3e\x3e\x7b\xf6\xae\xdb\x6f\xe7\xde\xd3\xea\xd6\x4a\x77\xc6\xfd\xa1\xb8\xda\x81\xfd\x06\x03\xc8\x72\xb6\x6c\xb2\xde\x5d\xe7\xfe\x4d\xe8\xa9\x27\xdd\xa7\xe4\xf3\x43\x4b\x8f\xbb\x6a\xf3\x37\x56\x54\xfc\x44\x7a\x78\x8c\x56\x0d\x37\x26\x02\x27\x33\x32\xf9\x71\x71\xdd\xbb\xf2\x90\x2f\xd2\x71\xf2\x20\x4c\xcd\x24\x7f\xee\x6c\x2c\x3e\xa1\xd3\xb1\xd8\x56\x5f\x7c\xb4\x29\x5f\xe5\x92\xdc\xf6\x81\xae\xd0\xd0\x81\xf7\x0c\x68\x20\xff\xe3\x76\x7a\x6c\x03\x01\xb8\x22\xd9\xde\x96\xbd\xbb\xb6\x01\xdb\x7e\xf1\x8b\x3b\x6f\xbf\x9d\xfc\x71\x10\xfe\xd7\xa2\xad\x5b\x43\xa1\xda\x78\x28\x59\xba\x63\x43\x24\x5c\x5b\x1b\xfe\xb3\x2b\x7b\xed\xb5\x41\x77\xb4\x22\xea\x4e\x95\x6e\x5f\x1f\x69\x18\x7b\xfb\xac\xcd\xbb\x3c\xd7\xb9\x47\x6d\xdf\xdd\x2a\x94\x5b\x8a\x8b\x6c\xbc\x37\xe2\x9f\x35\xef\xca\x2b\xd6\x30\x53\x56\xe4\xaf\x1b\x3b\xb6\x36\x93\x1e\x73\xd5\xd9\xa6\xe0\xd0\x52\x7f\x33\x7c\xe9\x6f\x52\x56\xd4\x90\xbf\xbe\xf7\xde\x7b\xef\x35\x35\x81\x85\x5c\x04\x78\xe6\x99\xfc\x7b\x8e\x80\xc3\x24\x60\x98\x39\x63\x06\x58\xa6\x4f\xef\xae\x03\x4b\x7d\x6d\x26\x9d\x7f\xf7\xb7\x99\xb1\x63\x33\xf8\x48\x73\x73\x75\x75\x4d\xcd\x15\x60\x9e\x22\x17\x15\x01\x6e\x6e\x6e\x68\x80\xcd\x95\x95\x95\x95\x92\x24\x49\xf3\xe6\x55\x56\x3e\x01\x7b\xd4\x98\xf9\x19\x52\xe1\x5f\x43\x03\xb9\xae\xb1\x71\xba\x69\xd1\x15\xac\x6e\xaa\xcb\xd5\x25\x97\xea\xf5\x21\x7f\xba\x2a\xe8\xbc\x02\x2c\x01\x38\xea\x2a\xd5\xeb\x83\x81\x94\x3e\x6c\x91\x0c\xc2\x7c\xb0\x80\x3f\x7f\x75\x1d\x58\xea\x6a\x33\x69\xfc\x30\xf9\x2b\x58\xf2\x57\x4f\x69\x70\x5b\x0d\x82\x12\x89\x95\xd7\xbb\xad\x7a\xe0\xa3\xe6\x85\xe1\x06\xb7\xa9\x08\x38\x63\x34\xa0\x7a\x3a\x58\x1e\x0f\x22\x5f\x9e\x39\xd3\xd4\xb4\xfb\x86\x46\x0c\x8c\xc1\xe6\x17\x95\xd2\xf7\x2f\x22\x40\xa7\x4f\xab\xed\xd3\xd8\xdb\x3e\x8d\x48\x46\x61\xd4\x80\x26\xa2\xab\xd0\x6e\xf4\x00\x3a\x81\x4e\xa1\xd7\x0b\x6c\x54\x85\x75\xa2\xa8\x83\x0f\x0b\xea\x8c\x20\x1e\x80\xfe\xeb\x47\x51\x0a\x3a\x22\x30\xbc\xd4\x08\xf1\x56\x68\xc1\x54\x4b\xc6\x89\x69\xea\xdd\x6f\xf7\x36\xef\x74\x34\x82\x3a\x1d\xab\x80\x90\x05\x28\x91\x3f\x35\x0e\x90\xb5\x80\x0c\xfc\x7f\x3f\xc9\xa1\xdd\x21\xa6\x92\x34\xbe\x40\xe1\x4e\x32\x60\x86\x42\x02\xa5\xcb\xe5\x30\xfe\x3c\x11\xf5\x87\xe3\x51\x5f\x94\xb1\x55\x56\x96\xd8\xb0\xd1\x2e\x79\x5c\x30\x37\x11\xf1\x47\x54\xdf\x0b\x47\x47\xb7\x1c\x12\xf1\x40\xd0\xf1\xed\x0e\x6c\x87\x22\xbb\x55\x62\xa6\xcc\x87\x54\x99\xea\x63\x66\xbc\x43\x86\x2f\x1c\xda\xe0\x6b\xb2\xb3\xa6\xa1\x22\xbc\xac\xe3\x46\x1b\x85\x65\x95\x9c\x6d\x14\xa7\x8b\x55\xc1\x04\xd3\x68\xa3\x80\x2e\xc2\xd6\xd1\x2d\x0f\x38\xe8\x43\x26\x14\xb1\x5f\x7f\x88\x67\xa8\xfa\x10\x7f\x93\x4d\x7d\xc8\xc7\xa6\x91\x46\x1a\x75\x90\x88\xcf\x8f\xe0\xca\x63\x41\x1b\x36\x8a\xa5\x11\x61\xcd\x25\xe3\xea\xf5\xd1\xda\x12\x5f\x34\x11\xdc\x58\x1e\x80\xe5\x46\xd6\xf9\x70\x24\x4e\xaf\x6f\x6e\x4c\x89\x64\x09\x6f\x10\xaf\xd2\x19\x18\x3c\xef\xd7\xc0\xf1\x86\x60\xe9\x8a\x11\x8d\x6d\x2e\x47\x91\xde\x0a\x4e\x83\xde\x70\xef\x01\xab\x9e\xc3\x6b\x76\xb1\xab\x74\x26\x03\xac\xaa\x2b\xdc\x62\xba\xfa\xeb\xb7\x80\x95\xb5\xc2\x71\x30\x1b\x49\x07\xe6\xf4\x22\x88\x61\x09\x96\x1b\x65\xf8\xd5\x25\x5d\x31\x32\xf4\xeb\x8b\x2d\x28\x8e\x86\xa3\xa9\x68\x26\x5a\x81\xae\x46\xfb\xd0\x41\xad\x1f\x0e\x87\x62\xea\xe8\x97\x0b\xa7\x69\x2f\x4c\xfb\xdd\x42\xb7\x2b\x14\x10\xb9\xd5\xb1\xac\x42\xbb\xdd\x4c\x1a\x32\xe1\x94\x85\x49\x14\xb6\x51\x6a\x06\x5d\x1c\xed\x80\x85\x58\xd8\x96\xb0\xa5\x13\x71\x91\xf6\xe0\x74\x97\x6b\xac\x80\x26\x99\xe9\x9b\xc0\xd3\x00\xbe\x70\x3f\x1d\xfe\x2a\xb1\xc4\xd7\x30\x39\xf9\x66\xa7\x18\x94\xed\x7e\x5f\x3d\x3c\x75\x15\x1f\x4f\x9c\xff\xc3\xa0\x21\x91\x12\xa5\x61\x90\x7d\xf0\x84\xd1\xd5\x03\x06\x0e\x8e\x15\x0f\xf0\x4f\x28\xb6\x0f\xef\x18\x3f\x20\x01\x31\xb1\x63\xbb\xbd\xda\xd6\x52\xa9\x8c\x28\xa9\x29\x29\x2a\x87\xeb\x2d\xa6\x92\x1a\x83\x61\xe7\x01\x4f\x9d\xb5\xe6\xc0\x01\x7c\x55\x55\xe9\xb0\x6c\x4a\xb7\xeb\x40\xa4\x64\x62\xa2\x99\x54\x56\x0f\xaa\xae\x1e\xc4\x3c\x36\x20\x3e\xa7\x63\x65\x6b\x66\xd9\xc2\x46\x6b\xfd\xb0\x0a\x87\xcc\x7d\x85\x2f\x9d\x25\x6d\x1a\x1a\x0d\xeb\xcf\x05\xa6\xcc\xff\xbc\x71\xa0\xdb\x24\x99\x3d\xc1\x55\x25\x4a\xac\xad\x61\xa0\xcb\x2c\x5b\x8b\xdd\xf6\xd5\x65\xd1\x32\x08\xaf\xdc\xe3\x5c\xa3\x5b\xfc\xcb\x49\x91\x80\x71\xbd\x10\x7f\xc5\xbd\x8f\x29\x09\xd4\x91\x32\x88\x17\x93\x47\xe1\xbf\x3e\xd9\x5c\x9f\xac\xab\xc9\x5f\xe3\xbe\xd3\x58\x37\x10\x7e\xac\xbe\xb9\x86\xfc\xcf\xea\xd6\xec\xae\x35\xb9\xa6\x4c\xe9\xe2\x62\x51\xac\x31\xe3\x93\x97\x7c\x38\x06\x99\x2f\x22\xe1\x4b\x1e\xd1\x76\xde\x8a\x10\xd8\x65\xb5\x80\x1c\x7c\x48\x89\x71\xf1\x24\x6d\xcb\x6a\x2f\x03\x12\x2f\x68\x68\x6c\xe9\x56\x50\x52\x2d\x6c\x2a\x69\xcf\xf4\x2c\x3e\x09\x01\x90\x21\x2d\xc9\xbc\xd4\xfc\xc7\xf6\x24\xc9\x1e\x78\xef\x0e\x00\x64\xb5\x36\x4e\x2e\x59\xcc\x26\x74\x60\xf8\xea\x31\x83\x57\x37\x49\x07\x86\x67\xc5\xf8\x84\x69\xcd\xb1\x2f\x5e\xd0\xd5\x8d\xab\xd3\x6d\x79\x21\x05\xdf\x33\x78\x75\xf8\x38\xb9\xf7\xb5\x64\xfb\xb2\x03\x77\x2c\x7b\xb4\x64\x72\xa3\xd5\x3a\x62\x31\x9f\x35\x78\xf5\xe7\x8f\xe9\xb0\xa1\xc3\xe0\xd5\x7d\xb7\x24\x54\x3e\xeb\xb6\x63\x5f\xee\xbb\x0b\x38\x9f\xe8\x28\xad\xab\x2b\x75\x88\xf6\xed\xb3\x61\xb9\x0e\x1b\xb4\xfd\x6c\x7d\xf9\x90\x90\x82\xc6\x20\xc4\xf6\x25\x3e\xa1\x87\x02\x35\xa3\x15\x7a\x73\x97\x09\x2a\x4c\xc6\x0e\xf2\xff\x47\xc6\x58\x2d\x2b\x23\xf2\xff\x62\xae\x2c\xff\xe1\xee\xd9\x77\xcf\x18\xc0\x76\xf6\x64\xf4\x0e\xfc\x8f\x23\xcd\x2b\x9b\x61\xf0\xa4\xff\x98\xd1\xc7\x0a\x99\x83\xff\xc1\x5f\x4d\x5b\xd7\x3a\x7f\x45\x82\xe4\x48\x56\xcb\xf8\xf6\xe7\xc0\x3a\x8f\xdc\xcb\x1e\xed\xf8\xff\xcd\x78\x2f\xc6\x31\x97\xeb\xd5\x73\x65\xd0\x4c\x8d\xbb\x90\x8a\x50\x9b\x86\xf6\xf4\x9f\xae\x21\x18\x53\x62\x41\x5e\xe0\x7a\x78\x05\xb5\x06\x12\xee\xe1\x80\xc8\x68\xeb\x38\xc5\xa0\xca\x4b\xf4\xcd\x30\x4d\xfd\xdd\xf9\x73\xd0\x39\x40\x30\x90\x1f\x19\x04\x66\xa5\xdd\xdc\xa1\x11\x38\x50\x85\x23\xa4\xda\x2c\x63\x4a\x21\x5b\x3a\xc6\xd2\x06\x29\xb3\xfd\x10\xa6\xaa\x9c\x3c\xbd\xf5\x5b\xdc\xcc\x9f\xd6\xe9\x31\xd6\xdf\x91\x35\xdb\xbb\xdb\x27\x6e\x5a\x37\x91\x79\x86\xbe\xe6\xa1\x68\x32\x19\x7d\xc8\xde\x0f\xcb\xb8\x92\x5a\x3a\x22\xd0\x20\x87\x90\x06\xe9\xc2\xf8\xd5\x91\x53\xa8\xb9\xbf\xb5\x54\x8f\x5a\x0d\x7f\x9b\x0d\x0a\xbb\x75\xc4\xda\x4d\xf5\x6f\x91\x3f\x82\xf5\x4c\x68\xe2\xe2\x09\x75\xd6\xf5\xd6\x9d\xc3\x6f\x3c\xf9\xf4\xcd\x43\x6e\xd4\xf3\x1b\x78\x43\xf7\x7f\xb2\x51\x81\xb7\xaf\x8c\x8f\xa9\x90\x40\xfa\xe9\x19\xb0\xea\xbd\x65\xc3\xab\xae\xb4\x5a\xdb\x2a\x6a\x9f\xde\x7f\xe7\x2b\x03\xca\xdb\x04\xbd\x9e\xa9\xf8\x4f\x56\x2c\xfd\xf5\xf0\x66\x34\x1f\x21\x9a\x07\x33\xd6\xe8\x44\x81\x73\x98\xb1\x10\xd2\x24\x5b\x61\xe9\xd7\x4e\xd1\x26\x5b\x35\x26\x4e\x59\x12\x18\x9a\xe1\x16\x36\x65\x45\xc1\x10\xcd\xab\x2a\x23\xa5\x62\x8d\xb2\x0d\xfa\xc1\x95\x23\xe6\xcd\xe5\x73\x5a\x37\xcf\x6f\x5e\x3e\xaf\xe3\xd0\x64\x9c\x1c\x79\xcd\x8d\xa3\x78\x51\x98\x5b\xe3\xe3\x92\x0f\xcc\xf9\xee\xc9\x5d\xbf\xde\x3d\x75\xaf\x82\x8d\xa0\xe7\xd6\x73\x3a\x0e\x6f\xe4\xdc\x25\xbe\x86\x69\x83\x06\x90\xef\x93\x8f\x7a\x2c\xe1\x3f\x3b\x69\xf4\xe8\xca\x74\x80\x0d\x8b\xba\x76\x53\x1e\x3f\xca\xcf\x07\xd3\xe0\x28\x3e\xbf\x62\x73\xf3\x8a\x23\xf3\x56\x6d\xde\xfd\xaa\x6d\xe5\xf1\xf9\x09\x0c\xa9\x60\x7c\xd0\xb4\x17\x4f\xdc\x07\x86\x83\xc3\xb2\x62\x1d\x5f\x64\xe4\x8c\xf9\x7b\x5c\xae\x98\x07\xf4\xb1\xe6\xf5\x63\x20\x02\xb3\x7a\x8a\xe8\x16\x3d\x36\xd6\x16\x15\x99\xf4\x13\x67\xa8\x8f\x84\x3a\xf0\xbd\xbd\x99\x4c\xeb\xb5\xdb\xa2\xeb\x7a\x61\x54\x8a\x10\x92\xac\x16\xa0\x5a\x7f\x3e\x54\x03\xc0\x57\x00\x17\x13\x53\xc9\x0c\x14\x94\xf6\xc5\x90\x49\xeb\x21\x06\x4e\x7e\xc8\xe9\x39\x9f\x2e\x31\x18\x7e\x66\xf0\x18\x96\xe6\x0f\x47\x53\x67\x2e\xa2\x6c\x2e\x8a\x67\x2e\xd5\xfc\x96\xfc\x6a\x76\xf7\x2b\x38\xdb\x99\xef\xe4\xd1\x69\xf2\xaf\xd9\xbf\x5a\x62\xf0\x18\x7e\x66\xa0\x71\x73\x59\x40\x67\x52\x34\x2e\xf5\x5b\xf2\xe9\x9c\x0b\x59\x1a\xb7\xb3\x60\x47\x46\xa8\x1e\xb2\xac\xc0\xd1\x21\x20\xa1\x97\x9c\x93\x12\x37\x48\x28\x1c\xaa\xc6\xa9\x00\x93\x88\x67\x5a\x58\x7e\x6c\xdb\xd2\x2a\xf2\xe4\xee\x79\x9b\xb6\xfe\x70\x16\xde\xda\xd8\xfd\x6c\x6c\xcf\x44\x60\xc9\x3f\xfe\xeb\x9a\x17\xd6\x36\x08\x43\xea\x5a\x2c\x65\x66\xf7\xc0\x91\x8b\x96\xf0\x68\x76\x5b\xeb\xb4\xfc\xbe\x6b\x66\x9e\xda\x96\x9b\x84\x07\xa7\xbb\xfe\xd9\xbe\x42\x1a\xf6\x3e\xf9\xfb\xec\xef\xbd\xb9\x9e\x8b\xc7\x42\xd1\x41\xb3\x1b\x23\x96\x4b\xf4\xa1\x55\xbd\x68\x7a\x14\xa1\x3a\x4e\x31\x34\x35\x88\x4b\x9c\xa0\x57\x58\xad\x36\x94\xa5\xb2\x00\x58\x1c\xc0\xa2\x33\x54\x0d\x31\x0d\x3b\x56\xa0\x10\x5e\xdf\x7c\xa1\xce\x64\xd2\x8d\x60\x0b\xf6\xfe\xd7\x66\x34\x9a\x35\x15\x9b\xea\xd3\x29\x7e\xfd\x42\x40\xe7\x51\xd5\x38\xc5\x17\xa8\x08\xbb\x4a\x25\xc9\x1f\x19\x57\x5d\x35\x2e\x12\x70\xca\x31\x57\xb8\x22\xe0\x53\xc6\xcd\xd0\x02\x43\xf4\xa2\xaa\x10\xa7\xaa\x7a\x5c\xc4\x2f\x49\xa5\x6a\x9c\xaf\xdf\x42\x43\x03\x15\xe1\x55\xe3\xb2\x80\x7a\xfe\x67\xc7\xad\xea\x42\xc3\xeb\x52\xa3\x44\x5f\xc8\x27\x2a\x33\xf0\xb7\x5e\xe4\x48\x0e\x72\x3e\xaf\xcb\x2b\x99\xad\xa2\xdb\xe3\xf3\xbb\xdd\xa2\xd5\x2c\x79\x5d\x5e\x1f\xf5\xa5\x2e\xc8\x76\x6a\xa1\x3e\x8f\x16\x7a\x59\x44\x8f\xdb\x2b\x75\x8e\x5b\x05\x9d\x24\xdb\x73\xac\x62\xac\xa3\x27\x8e\x4a\xf9\x2b\x5d\x25\xc5\x0d\xca\xed\xed\xdf\x7a\xa1\xb5\x79\xaa\xaf\xe2\xd4\x71\x78\xd0\x19\xb4\x25\x6c\x7a\x08\xda\xf4\xa0\x43\x5f\xa1\x1c\x8f\x00\x9d\xcf\x41\x27\xce\xe6\x78\x74\x21\xc7\xa2\xee\x1c\xce\xe2\x6c\xbe\xb3\x97\x1b\xa5\x93\xf6\x83\x56\x24\x21\xa4\x07\x8d\xf5\xc9\x6a\x8f\x24\xc4\xa0\x03\x0b\x62\xd0\x16\x67\xed\x0c\xc2\xa1\x65\xe4\xb7\xf7\xbd\xab\xc9\x9b\x77\x9f\x63\xb8\x8d\x2b\xbe\x9f\x47\xef\xc2\xbc\xb7\xf1\x75\xf9\x4f\x56\x6c\xec\x91\x42\x79\x74\x1f\xf9\xed\x32\xfc\x3d\x06\xbd\x4d\x1e\xb8\x24\x6d\xc5\x3d\x69\x53\xbb\x0c\xb5\xa5\xa9\xcd\x2d\x46\x5b\x18\xc4\xb4\x85\x73\x9a\x5e\x01\xc5\xac\x9b\xf2\x7b\x0c\x1e\xc3\xe7\xa4\xa3\x13\x8f\x50\x1d\xf0\xce\x26\xab\xcd\x09\x4f\x98\xed\x5a\x1e\xce\x91\xd1\x4e\x1b\x8d\xd5\x13\x49\x8b\x13\xb3\x17\xf8\x96\x04\xc4\x4e\x45\x1d\xea\x48\x52\x0e\x30\x32\xab\xd9\x0c\xf3\xb1\x6a\x46\xad\x84\x05\xd0\x12\x6d\x8f\x48\x30\x44\x91\x8c\x71\x22\x1e\xe0\xe5\x02\xda\x36\x4f\x41\x5d\xe5\x00\xc8\xe1\x00\x96\x05\x25\x46\x07\x92\x5c\x91\xc1\x10\x48\x46\xa2\x30\xf4\xe7\x77\x34\x2e\x1d\xd3\x1e\xaf\x0f\xd4\x1a\x4b\x1a\xa7\x6d\x9c\xd0\x71\x62\xd1\xfb\xf7\x9d\x1c\x5f\xe7\x9d\x64\xf1\xc3\x4e\x72\xf1\xb6\x7f\xec\x9d\x7a\xeb\xab\x4b\xa7\xde\xb2\x78\x6a\x43\x63\x79\x83\xa7\xe3\xfa\xf1\x6b\x95\xd6\x09\x53\xa7\x8d\xac\x33\x32\x8f\xae\x1c\x33\x79\x00\x14\x49\x01\x76\xbb\xc7\x27\x8f\xac\x6d\x63\xb2\x7c\xd8\x5f\xe6\x35\x19\x66\xfe\x75\xff\x4b\xd1\xf4\xdc\x71\xdb\xc6\x5e\xe7\x1b\xbf\x74\x5a\xe9\xca\xc7\x3b\x0e\xfd\x79\x6e\x6b\xea\xae\x50\x04\xee\xba\x1f\x60\xff\xd2\x37\xee\x9c\xa5\xb4\xcc\x5f\x70\xdd\xda\xfd\xe9\xd7\xe6\x8d\x2b\x6f\x2a\x29\x96\xab\x1a\x97\xb6\x59\x6d\x57\x7d\x9f\x65\xe4\x72\xa3\xb7\x8a\xbb\xa2\xd6\x09\xce\x41\x97\xf4\x05\x53\xa9\xce\x3e\x19\xab\xc6\xb1\x64\xcf\xf2\x55\x58\x92\x33\x4a\x4c\xc3\x23\x71\x50\xe4\x5b\xc6\x0f\x12\x35\x5c\xe5\xd4\x32\x92\x9d\x9a\xec\xcf\xf4\x42\x17\xd3\x66\x2e\x24\xbe\x01\xa7\xfe\xae\x2f\xc2\x91\x52\x3d\x8b\x6b\x23\x69\x1b\x38\xc4\xd9\x31\x43\x70\x68\x62\xdc\x16\x6c\x9d\xb7\xc0\x5f\x1a\xf7\xc2\xc4\xc6\x79\x6d\x72\x7d\x6c\xe8\xd8\xdc\xc4\x85\x4f\x2d\x63\xd8\xd9\x27\xae\x7c\x76\xb6\xc3\xd8\x54\xbe\x66\xfa\xda\xbb\xbe\xbf\x64\xd5\xd5\xd5\xba\xb0\x54\x16\xc9\xd4\xb5\x97\x2f\xbf\x6b\xc9\x25\x3c\x06\x9f\xfd\x60\x90\xc1\x14\xf5\x61\x93\x11\x47\x6a\x2c\x96\xc8\xb0\xb4\xc1\xef\x58\x3b\x4e\xb0\x76\x4c\xf3\xeb\x2c\xbe\x32\x0f\xd7\xd0\x76\x4b\xcd\x1d\x8b\x36\x0c\xaf\x5d\xf5\xcc\x02\x58\xf1\xd4\xea\xab\xbc\xae\x2b\xc7\x0d\x3f\xb1\x6e\xe9\xd1\xe5\x1b\x9c\x73\x1b\x66\xd6\x0f\x89\x79\xf7\xe1\xdf\x5e\xba\xe1\x81\x29\xe8\x78\x35\x0c\xd1\xc4\x65\xcc\xbb\x91\x64\x35\x0e\x07\x25\xbb\x15\x0b\xc1\x78\x0b\xd8\xad\x66\x1c\x0e\x86\xaa\xb1\xb5\x05\x27\x82\xf1\x00\xb0\xb9\x82\x1d\xab\x76\x62\xa8\x55\x2c\xd9\xba\x61\xdf\xbe\x0d\xb0\x63\xc9\xf3\x37\xbc\xab\xf6\x6d\x79\xd4\xd3\xcb\x31\xaa\x0b\xbb\xfa\x6e\xe8\x39\xcd\x20\x7f\x27\x6f\x92\xbf\xcf\x18\x7f\x03\x3c\x74\xd9\xf8\xa0\xdf\x7e\x42\x44\xd1\xf2\x91\x0b\xb4\xb7\xe3\x42\x6a\x80\xed\x35\xeb\x77\x04\xa0\xf7\x3d\x8b\x7a\xdf\xcd\x3e\x7e\xc9\x1b\x81\x14\x1e\xdd\x33\x86\xb8\xf5\x92\xc4\x50\xf9\x8f\x90\x5e\x3d\x99\x91\x1d\xb9\x50\x25\x45\xe5\x0a\x86\x94\x56\x50\x6b\xbf\x55\x6d\x1b\xb1\x84\x12\xe3\x20\x28\x48\x32\x4b\x41\xf9\x45\x49\x33\x79\xa6\xe3\x86\x12\x64\x45\x25\x28\x95\x4c\x67\x62\x6a\x37\xaa\xd6\x1b\x64\x45\xea\x9c\x8d\xd2\xd3\x26\x82\xce\x60\xac\xe0\x8a\xcb\x90\x4e\xc4\xf1\x05\xf2\x93\xd2\xb0\xeb\xf4\xc0\xe1\xbb\x4e\x9f\xde\xb5\xf6\xb1\x07\x9f\xb5\xd7\xc3\x6a\x28\x21\x25\x57\x2c\x75\x72\xdc\xe9\x5d\x4d\xcd\x27\x2c\x06\xc9\xe2\x0c\xdb\x4f\xcc\x3e\x0d\x3a\x68\x22\xe7\xc9\xcd\xe4\xfc\xd8\xb6\x81\xe4\x01\x7b\xf0\x15\xb9\xfb\xe8\x29\x72\x1e\x84\x53\x6b\x16\x5e\x4f\x4d\x2b\x21\x07\x4f\x4c\xfe\x44\x33\x8c\x0c\x3a\xc0\x38\x73\xe1\x29\xc8\xb5\x95\x74\x15\x9f\x26\x5f\x9d\xbe\xf5\xcf\x93\x5b\x6f\x87\xdc\xae\xc5\x77\xfc\x18\x74\xa7\x5d\xa4\x5b\x4e\x9a\x8d\x7e\x60\xe7\xee\xd8\x75\x1a\xe8\x73\x41\x38\x35\xef\x07\xad\xf3\x49\x85\xe7\xfb\x1f\x81\x00\x6b\x40\xc8\x3c\xad\x24\x95\x5c\x4e\x49\x2a\x3e\xb2\xaa\xb2\xff\xbe\x6a\x81\xd6\x9c\x0a\x34\xaa\x0f\x81\xab\x47\x9f\x2c\xf6\x80\x51\x31\x3c\xd5\x05\xe3\x4b\x78\x84\xc3\x97\xe3\x5b\xd9\x92\x19\xb1\x05\x22\x25\xac\x24\x8b\x3d\xfa\x61\x56\xd3\xdd\xfa\x87\x73\x61\xb9\x7b\x99\x1c\xe6\x86\x73\x4a\x80\x55\x02\xca\x7f\xfb\x1c\xf9\x9c\xc3\xe7\x73\xe0\x9c\x03\x8e\xab\x91\xf3\x68\xd4\xb2\x51\x39\xf7\x62\xfd\x49\xf0\xc2\x14\xf0\x9e\xd4\x2f\x95\xc1\xd8\x4f\xff\x8b\x8b\x20\x27\xfb\xfd\x32\xc9\x05\xaa\xab\xf1\x55\xa5\x3e\x5f\xa9\x2f\x3f\x33\x7f\x38\x97\x1a\x35\x2a\x95\xd3\x7e\xf1\xcc\x55\x2b\xe1\x27\x63\xd6\x37\x35\xad\x1f\x43\x1a\x16\xd1\x7e\x61\xaf\x0e\x71\x5f\x21\x23\xaa\x46\x13\xb4\xdd\x26\xc1\xc2\xb7\xe3\x92\x31\x0d\xc7\x2a\x11\x54\x22\x85\x6d\x04\x41\x4d\x91\x15\x94\xd8\x44\xbc\x05\x83\x3a\x31\xd0\x8c\x28\xc3\x21\x14\xd3\xe4\x47\x23\xd0\x01\x67\x24\x11\x47\x72\x22\x2e\x71\x4f\xc7\x23\xf9\x41\x91\x78\x3c\x82\x5f\x88\x80\x4e\xee\x2e\x57\xdd\xcc\x8d\xd3\xc8\x87\x3f\x38\x49\x7e\xfe\xa8\xcc\x7c\xa0\x7a\x74\x5f\x3d\x0d\x62\x3f\xd8\xf5\xe5\x89\x25\xb0\x36\x1e\xd9\x69\xdb\xf9\x11\xf9\xe9\x43\xff\x24\xcb\xaf\x78\x5e\x0d\xdd\x65\xdb\xf9\x11\xd4\x1e\xfd\x07\xdc\x71\xc5\xe9\x48\x1c\xff\xa6\x2d\x91\x68\x4b\x4c\x99\x32\x29\x1e\x8e\xc4\xbf\x73\xf4\x51\xf2\xde\xc9\x1e\xf7\xe2\x47\xff\x0a\xbb\xc2\xf1\xc9\x93\x1f\x22\x3f\xfd\x78\x27\x18\xce\xc6\x23\xf4\x0a\x6a\x3f\xde\x49\xfe\x79\x36\x8e\x10\x8f\x8c\x17\x11\xfb\x8f\xc2\xb7\xf5\xa2\x4a\xb4\x8e\x62\x8a\x33\xb2\x3d\x95\x0c\x87\xe8\x5e\xe9\x6a\x0c\x0e\x51\x15\x9f\x8c\xda\x24\x18\x4a\x4e\x9d\x4e\x25\x69\xbf\xc2\x33\x05\x95\x56\xda\x96\xac\x06\x0d\x20\x8b\x77\x3a\x02\x6c\x26\x4e\xe1\x93\x34\x48\x72\xa7\x43\x72\x0a\xbc\x53\x89\xf1\xe1\x02\xf5\x5a\x2a\x99\x91\x0a\x1d\x0f\x5d\xae\xe8\xdb\x28\xac\x99\x8a\x8b\x92\xdc\xc2\x51\xb5\x21\x13\x60\x9c\x0e\xac\xa1\xf9\x63\xe6\xd4\x9a\x75\x87\x95\x7a\x72\x63\x80\x89\x86\x8a\xca\xc3\xe4\xad\x07\x6c\x25\x96\xa6\x4d\xa3\x06\x88\x8e\xb1\x8b\x77\x85\xcc\x72\x89\x49\xa9\x1f\xe4\x77\x24\xee\x77\x37\x9e\xbf\xef\x37\x07\xef\xc2\x4e\x47\x1d\x79\x7d\x6d\xb4\xa8\xa8\x62\xc8\xd4\x69\x13\xfc\x56\xc1\x65\xb5\xb0\xbe\x21\xcd\x25\xd9\xe9\x51\x86\xbd\x5e\xaf\x0b\xe2\xf1\xe9\x09\x0f\x07\x93\xba\xd1\x75\x45\xfe\x47\xfd\x15\xe9\x35\x93\xe7\xf8\x36\x37\xfb\xcb\x1e\x9c\x30\x66\xe7\xcb\x3c\xe6\xab\xcb\x06\xb7\x8c\x8d\x0e\x9b\xf0\x40\xf3\x58\xc5\x3c\xe7\x58\xf7\x5d\x2b\x57\xdd\xf1\x21\x7b\x1d\x79\xc6\x09\x3f\x1a\x5c\xd7\xbd\x6a\x9c\xae\xdc\x8d\x05\x81\xd9\x3d\x9f\x4c\x37\x70\x30\xf7\xa3\x70\xf7\x3f\x22\x47\x6e\xf4\x98\x5d\x63\x4a\xc6\xcd\xcf\xa6\xc9\x7d\x65\xad\xb7\x7e\xff\xd8\xc3\x80\x2b\x06\xb4\xdb\x6b\x53\x46\x2e\x10\x4a\xfa\x44\x96\xc5\xa2\x18\xf1\x79\x24\x57\xf5\xde\xa1\xc5\x6b\x03\x45\x45\xd8\xf0\x36\x16\xcc\xa9\x11\xf7\x8e\x0f\x05\xb3\x45\x4b\x6c\x45\xa1\x4f\xa6\x67\x16\x6e\xf1\x8c\x0c\xb4\x6c\xb6\xc0\xdb\x4b\xc7\x2d\xcc\x3f\x67\xe3\xad\xdb\xae\xba\x75\xe1\xf0\xf9\x23\x56\x90\x36\x4b\xcb\x9c\xd9\xd9\x03\xa4\xfb\x85\xab\xca\xeb\xc1\xd4\xc7\xf7\xa7\xf6\x7f\x1e\x94\xa6\x38\xf1\x08\x12\xfd\x3b\xb3\x70\xa1\xf7\x53\x3b\xba\xe8\xb7\x86\xa4\xa3\x49\x75\xf0\x1a\x53\x82\x25\x82\x19\x6b\x5f\x50\x0e\x60\x59\x62\x83\x25\x99\x16\x9c\x69\x01\xd1\x16\xb4\x31\xb6\x9f\x9a\x1f\xde\xf1\xbd\x53\xcf\xde\x78\xfb\x51\xd3\x19\xae\x39\x51\xdf\x6a\xf0\xa4\x63\x73\xf1\x07\x6f\x9b\x8f\xf6\xf8\xbf\xc9\xb6\xc4\x55\xff\x54\xac\x36\x03\x57\x16\x57\xf1\x16\x1f\x9e\x92\xbf\x2f\xff\x9d\xc9\x9c\xdb\xc6\x57\x05\x02\x55\xbc\x5d\xe6\x2b\x61\x0f\x88\x78\xfe\x54\xce\x65\xe3\xaa\x03\x9d\x5f\x21\x6c\xbd\xff\x87\xbf\x7f\xed\xe5\xff\x39\x71\x28\xdb\xb6\x69\xdd\x80\xe1\x83\x23\xfb\x2e\xf7\x68\x7f\xea\xa7\xaf\x35\xeb\x8a\xec\xb8\xb5\x95\xb5\x98\x74\x4d\xaf\xbe\xfb\xce\xab\xcd\x3a\xb3\x99\x0b\x96\x0c\x64\xcd\x66\x7d\xd3\x4f\x98\x33\x17\x54\xb1\xd5\xd3\xaf\x70\x1d\x5c\x0e\xf9\x51\xa3\x66\xf1\x58\x00\x48\x57\xfa\x31\x3a\xd2\x96\x4e\x19\x87\xcd\xd0\xd3\xd9\xf7\x30\x3b\xa6\x7b\x2e\x98\x73\x94\x5b\xf2\xd0\x2a\xf2\x17\xea\xb0\x9b\xe1\x9d\x3d\x9f\xed\x86\xdc\xee\xcf\xf6\x90\x01\xea\xf5\x21\xb3\x1d\xac\xab\x0e\x51\x07\x73\x0b\xb1\xd2\x38\x7f\x59\x75\xa8\x8b\x02\x7b\x73\x59\xb3\x7d\xf7\x67\x30\xa2\xfb\x96\x3d\x9f\xed\xb6\x9b\x19\x6d\x12\x8f\x0e\xad\x62\x56\x69\x7b\x40\xd8\x7e\x7b\x40\x5a\xa8\x05\x0f\xba\xdc\x3a\x96\xd3\xb0\xaa\x85\x1e\xc0\xea\x46\x88\xf7\x04\x7d\xd3\x55\x34\xd5\x6b\xa8\x43\xc3\x0a\x78\xeb\x97\x8d\x68\x8a\xbd\xae\x37\x5c\x3e\x9f\xeb\x0d\x97\x97\x48\x03\x53\xbb\x87\xf8\x7c\x43\x76\xa4\x06\x3a\x33\x92\xd7\x3d\xc7\xe5\x73\xa6\x25\x9f\x6b\x9e\xcb\x2b\x65\x9c\x78\xf4\xa0\x14\xf9\x2a\x35\x48\xca\x38\x8b\x5b\x5f\x4c\x0d\xda\xba\xb7\xa3\xeb\x9d\x8e\xbd\x7b\x3b\xd8\x01\x1d\x7b\xf1\x53\x6b\xd4\xa7\xa8\x3f\xe4\x42\x6a\x60\x32\x39\x30\x75\x41\x92\x7e\xa7\xfa\xfd\xae\xf7\xbc\xfe\x9e\xd4\xc0\x81\x29\xb2\xc8\xe9\x7c\xb2\x7c\x20\xbe\xaf\xef\xee\xbd\xfd\xb9\x0b\x31\xd2\x53\x2b\xc2\xa0\x17\x82\xea\x7f\xfd\xd7\xf6\x15\xde\x46\x3e\xbc\xed\x73\xc8\x90\xd3\x64\x38\x39\x0d\x19\xd8\x86\x97\x1d\x5b\xdf\x9d\x5d\x7f\xec\xd8\x7a\xa6\x73\xfd\x31\x78\x19\xc7\xba\xef\x64\x51\x37\x82\x06\x7c\xa4\xcf\xff\x98\x5a\x1d\xe4\x5e\x3c\xc6\xd1\x68\x32\x9a\x87\x96\xa0\x2b\xd1\x1a\xb4\x11\x6d\x43\xbb\xd0\xf5\xe8\x56\x74\x00\xdd\x8b\x0e\xa1\xef\xa3\x87\xd0\x31\xf4\x28\x7a\x06\x3d\x87\x5e\x40\x2f\xa1\x33\x1a\xd6\x31\x43\x77\x84\x32\x05\x2d\x68\x90\x57\x0f\x4d\xae\x31\x74\xc3\x2d\xa3\xa1\x1f\x88\x49\xd5\x4b\x2c\xc8\xb6\x60\x5a\x3d\x34\xd8\x09\x91\xe2\xe8\x8a\x01\x80\x20\x84\x21\x98\x8e\x03\xf5\x95\x33\xb6\x18\x2f\x40\x50\x8e\x06\xf9\x10\xa4\x33\x31\x21\x9c\x61\x40\x86\x8c\x18\x84\x34\x97\x80\xa0\x4d\x96\x98\x60\x06\x2c\x90\x48\x09\x92\xcd\xa1\xde\x24\xdb\x32\x36\x19\x6a\x40\xb0\x65\x62\x7c\x34\xcc\xc9\x4e\x3d\x8e\xc6\x6c\x9c\x90\x00\x59\xac\xc1\x4a\x33\x30\x4a\x4c\x8f\x53\x8c\x18\x16\x41\x68\x05\x4a\x47\x67\x04\x39\xad\x43\x1e\xc7\x5b\x8c\xdb\xf1\x12\x13\x74\xb9\xad\x64\x95\x2d\x69\x23\xab\x6d\x1e\x39\xc4\xbe\xe4\x70\x33\x6f\x3b\xdc\x5e\xc7\xab\x10\x7a\x97\x0d\xc9\x1e\x3b\xdc\x68\x4d\x5b\xe1\x66\xbb\x1a\xfa\x53\xb9\x44\x78\x4e\x74\x77\xc7\x60\x37\x39\xf6\x1d\x72\x0c\x96\xd8\xcb\xbb\x67\x02\x7e\xc7\x72\xfa\x39\x93\x15\x1f\x25\x5b\x5e\xc0\xe5\xe4\xf7\xd6\x4a\xfc\x28\xb0\x59\x5b\x40\xea\x26\xbf\x68\x85\x0d\xd6\x81\x64\x32\x8c\xd6\x75\xaf\xe2\x60\x0a\xd9\xc7\x9a\xed\xb0\x3f\x4b\xce\xdc\xf7\xd2\x83\x47\x59\xd0\x3d\x12\xb8\x1b\xca\x7e\xf5\x2b\xf6\xad\x17\x79\x66\x83\x35\x7f\xdb\xfb\xe4\xbf\x20\x03\xa5\xf9\x6b\xf6\xc2\xef\xca\x27\x43\xf4\x4f\xbb\x18\x90\x74\xbf\xe0\x74\x64\x14\xa4\xbb\x3b\x1f\x7c\xf0\xc1\x07\xd9\xe6\x01\x3b\x4a\x7f\x8a\x99\x47\xb6\x8f\xe6\xf0\x76\x67\x31\x4b\xee\xd5\xeb\x1d\xc5\x2c\x79\x54\xa7\x93\x43\x76\x87\xc3\x11\x74\xe9\x8a\x60\x2c\x5b\xec\xd0\xeb\x61\x01\x57\xec\x70\x16\xb3\x30\x0d\x58\x88\x58\x60\xb9\x41\xe7\x0a\x3a\x9d\x4e\x67\xd0\xc5\x17\x91\x7b\x20\x28\x99\xcc\xe4\x34\x5b\xdc\xfd\x16\xcc\x27\xf7\x5b\x19\x1f\xab\x37\x70\xe4\x2e\xfe\x55\x98\xf9\xb2\x0e\x43\xe7\x6b\xaf\x59\xbb\x26\xf1\xdc\x90\xb1\x4b\xc1\x40\xde\xca\x92\x5b\x7c\x90\x26\x0f\xb3\x16\x98\x4f\x4e\xf2\x1c\x6c\x1c\x04\x03\x8f\x7c\xfc\xfc\x49\x1d\x93\x02\x0c\x56\xd3\x49\x30\x19\xc9\xeb\xf7\x41\xc3\x1f\x3e\xd1\x91\xaf\x46\xbe\x8e\x8b\xce\x7d\x5a\x41\x5e\x21\x2f\x41\xc2\x72\x13\xf9\xec\xe3\x4a\xd8\xdb\x85\x57\x71\xe0\x34\x59\x31\x6c\x04\x96\xd4\x92\x53\xf0\xcf\x5f\x91\xdf\x75\x5f\x4f\x7e\x0b\xde\xdf\xfc\xa6\x0d\x96\x1a\x58\xb0\x40\x69\xfe\xde\x09\x8c\xb6\x5e\x42\xf1\xff\x4d\xc8\x8b\x10\xad\xfe\xbd\x8d\x21\x1a\xeb\x6f\x88\xf7\xf4\x4e\xfc\x3b\xe8\x78\x7a\x67\xf7\xdf\x77\x3e\xcd\xbe\xf3\x58\xb6\x9a\xf8\xaa\xb3\x03\xab\x98\x69\x3b\x5f\x84\x45\x17\x06\xed\x7a\xe1\x85\x5d\x91\x27\xe1\xe1\xea\x41\x83\xaa\x89\xa3\x7a\xb0\x26\x6f\x76\xf2\x88\xbb\x16\x19\x28\xb3\x77\x19\x42\xc0\x22\x46\x1d\xb8\x44\x12\x71\x4e\x92\xd5\x8b\x98\x1d\x81\x1d\x45\xb5\x0b\x4e\x89\xf1\x42\x1a\x65\x78\x41\x62\x8e\x90\x1f\x91\xd0\x06\xc7\x5b\xd0\xf1\xce\x04\x58\x30\x7b\x18\xb9\x26\xff\xca\xca\xd9\x2d\xab\x70\x9a\x3c\xb8\x16\xdb\xe0\x8a\x52\x33\xf9\x88\x64\x37\x2c\x66\x7e\xfa\xd2\x89\x3d\x07\xaf\x84\x91\x6f\x3a\xc7\x0d\xe4\x96\x6d\x22\x7e\xf2\xd2\xf4\xa9\xef\xc0\xbc\xb7\x6e\x18\x38\x63\x75\xfe\x25\x72\xcd\xf0\x19\xb0\x03\x37\x74\x35\xc1\x02\xec\x58\x3f\x6b\xf1\x46\xd2\x42\x7e\x69\x76\xc4\x07\x4e\x92\xdf\x82\x51\x57\xdd\xb5\xeb\xd1\x82\x6c\xd0\x21\xf6\x5f\xd4\xf6\x57\x95\xe4\xa2\xc6\xf2\x43\x35\x24\x15\x20\xa6\x83\x71\x39\x9d\x28\x81\xb8\x44\x87\x2b\xd4\x9f\x51\x27\xba\x72\x3a\xa3\x91\xd3\x09\x94\x1d\x4a\x4e\xcb\xc2\xc2\x83\x3b\xb7\xbe\xf6\xd2\xaf\x6f\xbf\xfd\xd7\x2f\xbd\x96\xdb\xc2\x1d\x3c\x07\xf8\xf3\x7b\xee\xf9\x1c\x30\xf9\xeb\xf6\xb7\xef\xdb\xf2\xc8\x2b\xe7\x0e\x1c\x38\xf7\xca\x23\x5b\x96\x6e\x7a\x6c\xc6\x1b\xc7\x8f\x7f\x99\xf9\xf9\xed\x77\x7d\xf2\xd8\xa1\x35\x5b\xde\x5d\xf7\xee\xe1\xe3\x6f\xb0\x1b\xbb\x74\xf5\x33\x6f\xbf\x7d\x66\x3d\xfb\xd5\xb6\x65\xcb\xba\x8e\xd4\x0f\x64\xf2\x63\x6e\xba\x69\x4c\x37\x53\x51\x19\x5e\xb1\x22\xc4\xec\x63\xef\x3c\x38\xa8\x7b\x62\x22\xbe\x68\x39\xa7\x8d\xa3\x0f\xeb\x10\x37\xb3\x77\xbf\xc5\xac\xff\xfd\x3a\xf4\xd7\xae\xfb\x00\x56\xfb\x21\xad\x50\xd9\x12\x00\xee\xa3\x80\x63\xb6\x23\x40\x7f\xc8\x67\x01\xc7\x42\xd5\xbd\xd0\x11\x20\x1f\x7d\xb3\x9b\xdb\xfb\x87\x23\x5d\x91\x23\x7f\xd8\xba\xd4\xf0\xdd\xd5\x8b\xc6\x54\x41\xf9\xf3\x77\x74\xdf\x66\xde\x73\xfc\x30\xfe\xd8\x19\x08\x38\xf3\x61\x35\x22\x16\xd5\xdf\xfc\x1f\xd5\x5f\xf8\x81\xfa\x4b\x26\x52\xf7\x32\xea\x3e\xe0\x08\x04\x8e\x1c\xf9\xc3\x1f\x8e\x5c\xfd\x4a\x3c\x14\x5b\xfd\xdd\xc1\x4f\x7f\x71\x5b\xf7\x1d\x83\xea\x82\xbf\x44\x08\xc5\x10\xba\xd8\xc2\x6b\x7b\x67\x34\x9e\x36\x27\x65\x6a\x0b\x52\xae\xb6\x2a\x54\x8b\x52\xa8\x1e\x35\xa3\x81\x68\x28\x1a\x81\x46\xa3\xf1\x68\x32\x9a\x8e\x66\xa3\x79\x68\x31\x5a\x8e\x56\xa2\xb5\x68\x03\xba\x06\x6d\x43\xbb\xd1\xf5\xe8\x26\x74\x2b\xba\x03\xdd\x8d\x0e\xa3\xf7\x11\xb2\x05\x6d\x7a\x88\xd2\xdf\x54\xd0\x29\x3a\xc3\x29\xf9\xf2\x23\x23\x0b\xfd\x8f\x56\xb8\xf4\x00\x67\x38\x15\xfc\x37\x87\x1a\x9e\x70\x66\xbe\x25\x54\x4e\xa9\xa1\xc2\x37\x1c\xd1\x9e\x11\x16\x05\xbf\x09\xe0\xb4\x66\x8e\x16\xee\xb5\xa7\x03\x5e\xd1\xb0\xfe\x25\x39\x91\xa9\xe6\xc3\x21\x33\xe6\x51\xf7\x57\x79\x1d\x77\xef\x85\xd7\xf0\x1d\xf8\xc1\x0b\xaf\x8d\x8f\xf6\xfc\x6b\xb5\x2c\xb5\x14\x5b\x96\x5a\x02\xf4\xbc\xc4\x32\x76\xa9\x65\xe9\xc6\xa5\x96\xa5\x9b\x0a\xe7\xee\x81\x6b\xc0\xb1\x16\x9c\x6b\xc1\xb1\x86\xfe\x15\xdc\x5d\xcf\x44\xd7\x7e\xef\x72\xff\xbf\x8c\x59\xdb\xfb\xe0\x68\x7e\xef\xf6\x67\x9e\xd9\xbe\xe3\xe9\xa7\xc9\xd9\x58\xd3\x90\xa6\xd8\xaa\x79\x1e\xa6\x78\xf0\x5c\x7f\xa6\x2e\x9c\x19\x37\x36\x53\x56\xea\x0c\x8d\xb0\x30\x01\x26\xa2\x0f\x98\x3d\x52\x91\x3f\x93\x0a\xf2\xe8\xc2\x2d\xe4\x04\x4c\x18\xc8\xdc\xdf\x3d\x9f\x7c\xc8\x95\xbe\xfe\x3a\xf9\x60\xed\xda\xdb\xfb\xfd\x7d\x27\x54\x13\x34\x87\xaa\x43\xea\x61\x0a\x56\x87\x42\xd5\xc1\x9a\x39\xd5\xa1\x6a\xf5\x98\x5d\x13\xaa\x66\xdf\x8d\x5c\xf6\x8f\x1c\x1f\xbb\xf6\x52\x9f\xb5\x63\x23\x97\x3c\xf3\xf6\xb5\x6b\xc3\x4f\xef\xd0\x52\x0b\xd7\x46\xca\xf4\x1c\x88\xce\xda\x44\x6b\xb9\x41\xaa\x2c\xae\xae\x11\xc0\xe8\x70\xba\x78\x49\x6e\x00\x0b\x63\x64\x78\x6c\x90\xab\x7a\xf8\x05\xd6\xea\x10\x77\x13\xc5\x7b\x28\xbf\x6c\x0e\xfb\x4d\x9b\xf3\x0a\x34\xb2\xea\x40\x63\xee\x03\xe7\xee\xbf\xff\x1c\x43\xee\x3f\xf7\xc0\x03\xe7\xe0\x5c\x6b\xd5\x57\xbf\xa8\x6a\x6d\xad\x82\x47\x2b\xb3\xf8\xcb\x6c\x25\x3c\x5a\xd5\x0a\x7b\xd5\xb0\xfb\xd5\x88\xab\x56\xdf\xcf\xd6\x5d\x38\x5d\xd9\xda\x5a\xc9\x0d\x51\x7f\xbf\xfb\xdd\xca\xd6\xd6\xc2\x38\xb4\x54\x87\xd8\xb3\x08\xa1\x19\x08\x01\xd7\x03\x77\x24\xf4\xe9\xe7\xe9\x42\xb3\xd3\x21\xa8\xf3\x48\x75\x14\x81\xfa\x43\x24\x15\x2c\x07\x52\x9a\x92\xa3\xc7\x94\x5d\xbb\x21\xcd\x1d\x00\xf6\xf6\x9f\x7d\x78\xff\xe4\x7b\x36\xaf\x59\xb2\x78\xcd\xc6\xbb\x26\xde\xf3\xa3\x77\x1e\x58\xf0\x8b\xc9\x5c\x89\x4f\x67\x76\x36\x2d\x24\xff\xd8\xb6\xfb\xd3\x3d\xe0\x7d\x7b\xe3\xfb\xf7\xdf\xba\xfb\xba\xc3\x33\x16\xed\xde\x3e\x37\xb0\xd8\xe6\x28\xb6\xfd\xd7\x03\x0d\xcb\x9b\xe3\x3a\x8b\xd3\xdd\xf8\xd8\x9c\x17\x09\x5b\xcf\x9c\x7a\xf3\x95\xfd\xf7\xbd\x9b\x99\xb5\x71\xd7\xee\x8d\xb3\x32\x4f\xdf\x7d\xdf\xb3\xa3\x9a\x59\xbf\xe8\x34\xbb\x52\xd3\x56\x5c\xfd\xc1\x75\x6f\x81\x75\xea\xbe\x87\x8e\xee\x9b\x7a\xcd\xc2\xb9\xb9\x68\xc0\x61\x1f\xe3\x78\xe0\x9d\x68\x65\xd4\x69\x11\xbd\x83\x47\x74\xbd\x10\xf5\x5b\x0a\x63\xd9\x1c\x87\xe8\x5e\x82\x0a\x34\x95\x96\x7a\x85\xc6\x49\xe9\x07\x6a\x2a\xd6\x08\x14\x64\xa4\x19\x28\x2a\x86\xc6\xc7\x51\x38\x8b\x94\x61\x81\xf2\x0a\x04\xe3\x52\x8f\xa8\x6b\x81\x0c\xd3\xb3\xa6\x12\x60\xd5\x69\x38\xdb\xa9\x78\x72\x4a\x52\xd1\x38\x7c\xa9\x23\xff\x3b\xcd\x86\x5c\x33\x25\x3f\x53\xe2\xee\xfa\x03\x08\x9c\x8b\xb9\x4b\x8d\xd2\x8d\x3c\x8a\x14\xc5\x27\xdf\xd4\x96\x4d\xac\x6e\x8b\x91\x15\x80\x3d\xe9\x51\x98\x4b\x9f\xa2\x3a\xf2\xfd\x0d\xcb\x99\x4e\x82\x5c\x51\x66\xb3\xe0\x77\x19\xac\x03\x94\xa4\xa2\x78\xcc\x89\x21\x2c\x93\x51\x92\x8a\xc9\x5e\x2c\x45\x05\xa5\x0f\xd7\x5e\xcd\xb7\x66\x8f\x3f\x51\xab\x6d\x96\x1e\x33\x7a\xca\x80\x26\x83\x14\xcf\xc0\xff\x35\xcf\x1c\x52\x92\xe2\x6d\x4a\x52\xb9\x4d\x4c\x2a\x22\x20\x31\x29\x02\xca\xdf\xf6\x7f\xce\xb5\xb8\x1f\xa2\x6a\x00\xf9\xe5\x7e\x51\x49\x8a\x17\x91\xa8\x3e\x2f\xf4\xbf\xcf\xbb\xc6\xa3\xa1\x8d\xdf\x39\xa4\x47\x45\x74\xaf\x99\x82\x90\xa8\x67\x82\x31\x31\xa8\xc7\xc1\x68\x90\xa1\x03\xfa\xa8\xa6\x32\xa7\xcc\x1e\x19\x50\xf3\xf6\x1e\x5e\x49\xde\x83\xcf\x61\x76\xbe\xed\xfa\x37\xc9\x05\x72\x8e\xc9\xe3\x95\xe4\xf9\xee\x97\xf1\xb1\x37\xc9\x9f\xf0\x4a\x98\x41\xce\x91\x0b\x30\x1d\x72\x66\x6c\xed\xce\xda\x1b\xec\xdd\x59\x2b\x36\x43\xce\x1e\x64\x73\x41\x06\xe5\x17\xe3\xbb\xbb\xbb\x19\x96\xf2\x6d\x74\xff\x37\xbe\x9b\x3a\x20\xb7\x88\x20\x7b\x8d\xad\x1b\x39\x1c\x2c\xb2\xd5\xd8\x31\xf2\x20\x06\x89\x17\x91\xf0\x47\x1e\xa1\x11\xe8\x4e\x74\x08\x21\x2e\x1d\x2f\x06\x21\x46\xa1\xa8\xff\xfd\x4f\x46\xdb\x1c\xfb\xad\x3f\xd1\xfe\x91\x6c\x8c\x92\x6e\x05\x5b\x22\x15\x4c\x05\x9d\x41\x67\xc2\x26\x07\x40\x60\x6c\x7d\xb1\xff\xd3\x2b\xc1\x19\xe5\x52\x6a\x37\x23\x88\x62\x52\xcc\xcd\x98\x38\xd1\x9e\xb6\x4f\x9c\x28\x26\xc5\x6f\xfd\x51\x23\xfd\xbb\xf0\x89\x17\xaa\xfa\xc5\xca\xfe\xcc\xe6\x08\x9c\xcc\x69\x6a\xa0\xdc\xc9\x80\xc3\xf6\x33\xb1\xff\x93\xfe\xed\xeb\x20\x0b\x39\xc8\xe5\x08\x12\x45\xed\x81\xe2\xb7\x1d\xff\x26\x74\x93\x1a\x3a\x61\x82\x28\x4e\xc8\x42\x14\x1a\x3c\xcd\x86\x06\xa8\xc8\xe5\x72\x39\xf2\x7e\x83\xa1\xd9\x43\x7e\x42\x7e\x69\x17\x45\x35\xc2\xbf\x79\x08\xeb\xd1\x20\x37\x7b\xda\x1f\xd7\xc3\xe5\x32\x18\xad\x47\x28\x28\xd6\x00\x88\x16\x80\x02\x09\x64\xa8\xc0\x05\xa9\xd1\x38\xea\x13\xf1\x16\xa6\x11\xe2\x01\x26\x11\x6f\xd1\x69\x1b\xa3\x7b\xdb\x1e\x93\x89\x25\x54\x41\xab\x09\xdb\x8c\xda\x99\xc7\x29\x48\x0b\x50\x20\x57\x49\x48\x08\x01\x06\x67\x3b\x3a\xd4\x82\xc8\x75\x00\xc2\xd8\x30\xa5\x6d\x9e\xe0\x13\xe6\xb5\x4d\x31\x50\x3b\x5d\x23\xc6\x46\xa6\x88\x33\x19\x6d\x76\xd9\x14\xa9\x16\x0d\x26\x63\x91\xd1\x64\x10\xab\x23\x26\xd9\x6e\x33\x9a\xb8\x22\xc6\x48\x63\xc1\xf7\xf6\x6f\xea\x3e\xb0\x69\xbf\xde\x5f\x3d\x3e\x35\xe3\x03\x09\xbf\xfc\x33\xdb\xd0\x48\x49\x65\x60\x45\xd3\x8a\x40\x65\x49\x64\xa8\xed\x67\x2f\x0b\xde\x0f\x26\xb4\x4e\x2f\xb7\x42\x67\x2e\x9b\xcf\xe1\x5c\x36\x87\xe3\x2c\xd6\x89\x18\x8b\x3a\xcc\xda\xf5\x8c\x20\xb0\x41\x9d\x47\xe7\x10\x8a\x58\xd6\x1d\x0e\xb9\xdd\xa1\xb0\x9b\x65\x8b\x04\x87\xce\xa3\x0b\xb2\x82\xc0\xe8\xbb\x1f\xdc\x74\xc3\x0d\x9b\x9a\xd7\x5c\x7f\xd5\x3c\xcf\x47\xd9\x6c\x91\xa3\xb4\xae\xbe\xbc\xe5\x96\xf2\x68\x4b\x4b\xb4\xfc\x96\x96\xf2\xfa\xba\xd2\xf1\x63\x3f\x0d\x6e\x3b\xf4\x9d\x82\xde\x20\xcf\x21\xd4\x8e\x66\xa1\x55\x08\x81\x64\xc6\xb1\x6a\x88\x29\x54\x51\x42\x97\x40\xc3\xfd\x16\xbe\x95\xde\x3d\xe1\x01\x2c\x07\x13\xb1\x70\x48\xc9\x50\x5d\xbb\x5a\xdd\x0b\x8b\x12\x7c\x05\xc8\x69\x39\x00\x10\x4f\x67\x82\x1a\x45\x3a\x5d\x6e\x2f\x85\xf4\xd7\xd6\xd8\x75\xf9\xa2\x21\x3b\x9e\x5b\xfc\xdd\x3f\x5a\x8b\xc6\x8e\x1d\xd6\x71\x55\xd4\x7b\x11\x0d\xed\x5d\x06\x6f\x6f\x77\x5d\xf3\x43\xba\x1d\x2c\x37\xe6\xba\x2b\x2a\xfd\x18\xad\x9d\xfc\x49\x40\xe1\x58\xc5\x95\x0f\x3a\xda\xd6\x88\xde\x85\x6a\xe0\x13\x6b\x77\xde\xf2\x9d\x37\xbe\x7a\x6f\xed\x63\x32\xf9\x49\xd8\x61\xb7\xdd\x56\x53\xb9\xeb\xf4\x69\x2e\x07\xba\xd3\x97\xae\xb9\xc3\xdf\x17\xbf\xb8\xb7\x5d\x30\x7e\x76\x68\xe5\xab\xc3\x96\x8f\xfb\x6c\x87\x37\xd6\xb3\x32\xee\xad\xba\x4a\x49\x2a\xde\xb8\x5f\xca\x55\x05\xe4\x80\x6f\xe9\x1a\x51\xf1\xe4\x3c\xca\xf1\x56\xaf\xe7\x6c\xbe\xeb\xd6\x95\xc5\x25\xc5\xe0\x34\x9d\x26\x5f\x9d\x3e\x7d\xf9\x72\x7b\x81\xdf\x88\xcb\x71\xe7\x50\x0a\x8d\x55\x7b\xc2\xa0\xc3\x8c\x4b\xaa\xb1\x86\xa7\x21\xc9\x12\x2f\x98\x59\x21\xc0\xc6\x5b\x98\x0c\x05\xd6\xa0\x5b\x18\x19\x6d\xad\xaa\xbf\xc5\x49\xaf\x5d\x5e\xa1\xc7\xe0\x72\xd7\xbc\xf5\x0f\x72\xe1\x1f\x6f\x5d\x33\xe8\xea\x8d\xc3\x3c\x95\x2c\x57\xec\x69\xe8\xa8\x2f\xb5\x00\x33\x60\xfe\x8e\x17\xdf\x7b\x71\xc7\xfc\x01\x0c\x58\x4a\xeb\x3b\x1a\x3c\xc5\x1c\x5b\xe9\x19\xb6\xf1\xea\x41\x24\xa7\x78\xb2\xda\x16\xa7\xac\x47\x19\x95\x82\x5c\x6a\x54\x07\xe5\xba\x6a\x5d\xd8\x5c\x5c\xdc\xbc\xb0\xb5\x76\x6c\x3a\x5c\xc4\x15\x7b\x3c\x95\xac\xc1\xeb\x92\xad\xac\xb1\x38\x1c\x70\x38\x02\x91\xe2\x22\xd6\xec\x92\xbd\x06\xb6\xd2\xe3\x29\xe6\x8a\xc2\xe9\xb1\xcc\x58\x92\xf3\x28\x24\xa7\xe9\x23\xd4\x23\x35\x6a\x14\x1c\xd5\x38\xb1\x70\x2f\x67\x8d\x97\x5a\x4f\x05\xcd\x60\x01\x0d\xc3\x32\x16\x8c\xa7\x33\x5e\xd0\xb8\x5c\x44\x59\x02\x87\x10\x8c\x55\x83\xc0\x0b\x46\xa8\x86\x10\x2f\x30\xc1\x02\x46\x24\x96\x5b\x98\x84\xda\xe9\x41\x2d\x67\x60\x99\xfc\xad\xf6\xa4\x3d\x7f\x0b\x67\x85\xd5\x52\x98\x6b\x7b\x81\x0f\x49\xce\x10\xbf\xbf\xce\x8e\x63\x8b\xc9\x77\x56\xea\xc2\x62\x95\x71\xfb\x8f\xf9\x70\x65\x88\xbb\x9a\x4c\x5f\x4c\xce\xb5\x6c\x5f\x39\x2e\x12\x19\xb7\x72\x7b\xcb\x39\x82\x11\xaf\x67\xd8\xfc\x51\xbb\x1d\xcf\xc0\x76\xaf\x13\xdc\xf9\x85\x0e\x8f\xc7\x01\xbf\x5d\x15\x86\xe3\xb7\x1e\xfc\xd8\xe6\xc0\x5c\x19\x99\x80\x4f\x38\x3c\x5e\x27\x19\x70\xf0\xd6\x8f\xbe\xaa\x18\x91\x8d\x44\xb2\x23\x2a\xbe\x52\xc7\x70\xf8\x22\x62\x73\x5c\x37\xdd\x5b\x83\xc0\x81\x04\x5b\xa2\xa7\x56\xf7\x2e\xd4\xf5\xe2\xed\xda\xaa\x01\x53\xf6\x59\xd6\x1e\xb1\x22\xaa\x2f\x62\x73\xe4\xec\xd9\x73\x7d\xa0\x31\x9a\xf3\xc0\xdf\xb6\x17\x19\xf7\x7d\xba\xfb\x18\x94\x9f\xe8\x46\x5a\x8d\x23\xe7\xc9\xcd\x4c\xe7\xc7\xe4\x94\x8b\x74\xf7\x8b\xaa\x99\x13\xb1\xd6\x13\x60\x3f\x78\xdd\xef\xf6\x5b\xc4\xfd\xe4\x0b\xbb\xa6\xcd\x51\xef\xea\xaf\x07\x8d\xa1\x9a\xcb\x38\x21\x29\x1b\x32\x0e\x55\x63\xaa\x00\x96\xa1\x00\x84\x93\xd0\xd2\x86\xac\x5c\xa7\x47\xa1\x2f\x20\x3b\xb6\xce\x3c\xf8\xfe\x17\xef\x1f\x9c\x39\xf3\xe0\xfb\xeb\xce\xdc\x0b\x5b\x49\x17\x5d\xac\x5c\xdc\x93\x34\x72\x9e\xcb\x29\x1e\xa2\x99\x2d\xf1\x64\xfb\xbd\x67\xd6\x69\xb1\xd5\x9b\xb6\xc2\x56\xfa\x98\x0b\xb9\xbe\xbc\xf4\xda\xa2\xb0\xaa\x6c\x6e\xd6\xf6\xce\xd9\x9d\x0e\x24\x38\xff\x4d\x11\xa6\x14\x44\x2d\xce\x62\x8a\x2a\x3f\xe4\x80\x2a\x35\xa8\x24\x11\xf8\x9e\x44\x33\x2d\xb7\x9e\x24\x67\xcf\x6a\x88\x0d\xf4\xb5\x9a\xf3\x2c\x39\x7b\xf2\xd6\xc3\xad\xbc\x68\x1b\xea\xd4\x55\x76\xfe\xa1\xb3\x52\xe7\x6f\xb6\x89\x7c\x6b\xfe\xfb\x7d\x99\x60\x7f\x3c\x9c\xfc\xcf\x43\x6a\x29\xef\xea\x77\x2b\x75\xee\x72\xc1\xb0\x8f\x1f\x02\xe7\xf0\x8e\x93\x56\xaf\x63\xd9\x8e\x1d\xcb\x1c\x5e\xeb\xc9\xae\x8f\xfa\x65\x89\xd6\x07\xda\xd7\x0c\x42\x23\x11\x82\x1e\x83\xf7\x9e\x6c\x08\xd2\x7f\xcc\x9f\x5a\x45\xd2\x48\x15\x02\x51\xb5\x7d\xf7\x64\x8a\x45\x76\x33\x94\xf4\x7c\x8d\xad\xdf\x94\xbf\x3b\xfe\xb6\xa3\xc8\x0a\x25\x67\xd6\x7f\x34\x0d\x5d\xbc\xce\x6c\xcf\xef\xe9\xf7\x6d\xce\x99\xed\x8a\x87\xd0\x2a\x73\xdd\xc5\xfb\x5f\xff\xe6\x0c\x5a\x4f\x80\xed\xe0\x9b\x50\x21\x9b\x07\xb5\x11\xbb\xb9\xab\xa3\xff\xd7\xc2\xbd\x7b\x4b\x97\xa3\xb5\xff\xb7\xbc\xa9\xdf\x2e\x13\x13\x7a\x21\x87\x9d\x97\xac\xb6\xf7\x74\x06\x99\x5e\xa4\xe2\x74\xc9\xa5\x85\xc0\xfd\xe7\x42\x38\x4b\xce\x6e\x4d\x2e\xd4\x7b\x0c\x03\x0c\xa0\x5f\xba\x92\x86\x28\x1e\x28\x51\x03\x77\x2f\x9b\x52\x08\x98\x51\x7f\x3f\xec\xbf\xff\xff\x58\x4a\x6a\x35\x78\xfd\xfe\xd4\x4a\x03\xe8\x2a\x75\x5e\xc3\xda\x55\xd7\xd1\x3a\xdf\x93\xae\xe5\x73\x0a\x01\x57\xd4\x6d\xdd\xfa\xb5\x52\x44\x88\x53\xeb\x08\x4f\xb8\x3c\xaa\x43\x2d\x68\x14\x9a\x40\x35\x33\x12\xe6\xbf\x49\x74\x04\xbf\x45\x88\xa8\x35\x44\x4e\xcb\x12\x82\xb4\x35\xc6\x5b\x99\x38\x1d\x90\x28\xb4\xe3\x05\x9b\x12\xe3\x05\x1b\xc4\x91\x15\x85\x43\x02\x1d\x96\xf0\xa4\x68\xfb\xdf\x0e\xf4\x93\x18\x04\x5d\x26\x6e\x6c\x10\x7b\xeb\xed\x47\x1e\x79\xfb\x2d\x88\x75\xdf\x96\xcb\xe5\x3a\xd7\x2e\xbe\xe7\x9e\xc5\x6b\x69\xcf\x8a\xcf\x5f\xbf\x61\xc3\xf5\x38\x7b\x4a\xcd\xc5\x29\x1a\xc0\xfc\xf9\x20\xf9\xd3\x09\xeb\x25\xa2\xe8\xeb\x02\xe9\x6d\xa8\x12\x9d\x6b\xd7\x3a\x45\xf2\xf3\xfc\x1b\x3b\x61\xc5\xce\x9d\xe4\x76\xf2\xcf\xfa\xc3\xbf\x3e\xf7\x50\xbd\x56\xe4\x24\x07\xac\x65\xec\x58\x0b\xe9\x86\x82\x6c\xa8\x7f\xe8\xdc\xaf\x0f\xd7\xab\xe3\x36\xb8\xc8\x0b\x6a\x7d\x6b\x43\xe3\xd0\x1c\xb4\xe2\x9b\xea\x5c\x00\x04\x1e\x09\x7c\x24\x56\xcd\x64\xb4\xae\x33\xda\x6b\x87\x79\x69\xe5\x94\x0b\x0d\x0a\x92\x74\xa0\x22\xb7\x40\xd4\x21\xc9\x4a\x2a\x89\x32\xd5\xea\x80\x05\xe2\x28\x95\x54\x62\xb4\x12\x07\x80\xbf\xa4\xa6\xb5\xb7\x4a\xc5\xe4\xcb\xa7\x7f\x46\x1e\x1c\xbc\xee\x9d\xdb\xc6\xe9\xf4\x37\xfc\x7a\xcf\xfa\x5f\x4e\xa7\xf5\xa7\x7f\xbc\xc6\xd0\x53\xfb\xa9\x27\x41\xec\xf7\x3e\x64\xbf\xf7\x61\x77\xee\x93\xc3\x0c\x98\xcf\xa4\x3e\xde\x73\x8a\x9c\x67\x3a\x4f\x81\xf0\xc9\x61\x86\x7c\x79\x26\xf5\x31\xdb\xd1\xbf\xae\xcd\xfd\x53\xee\x29\xd2\xed\xf1\x7f\xf8\x22\xbf\xf8\xc1\x4f\x36\xec\xf9\xe2\x0e\x8b\xd6\x06\xb3\xfd\x63\x8d\x9c\xab\x5f\x4b\xec\x66\x72\xc8\xa1\xb8\x2f\x3c\x44\x7f\x8e\x76\xcb\xfe\xc0\xcf\xa0\x35\xba\x71\x3f\x39\xdf\x2d\x80\x70\xea\x68\xb7\xec\x2b\xfe\x19\x79\x29\xba\x71\x3f\x62\x11\x5f\xd0\x6b\x8c\x44\xe3\xd0\x2c\xb4\xe4\xdf\x94\x61\x8c\xff\xff\x13\x4c\x94\x6e\x44\x2b\x4a\x5a\xf7\xe8\x50\x2f\xa3\x58\xd5\xda\xd7\x5b\xe7\xac\x82\xc4\xe7\x2e\x2b\xc2\x12\xf2\xaf\x1f\xfe\xea\xd9\x75\xfb\xbe\xd6\x66\x0f\x9e\xbf\x56\x76\x83\xe9\xd9\x73\xcf\xee\x3f\xf1\x7a\xa1\x55\xa2\x5c\x2e\x97\xcf\x81\x70\x6a\xdd\xc2\x7b\xee\x59\xb8\xee\x14\x53\xaf\x55\x3e\x7a\x79\x69\x3b\x9d\xfb\xa7\xdc\x93\xa4\xdb\x1b\xda\x32\xc6\xf2\xf5\xc6\x6a\x3b\x05\xa1\xef\x3d\x07\x16\x7f\x68\xcb\x3c\xda\x1a\xff\xbb\x50\x0d\x61\xa5\x5a\xfd\xea\x1f\x82\xce\x87\xea\xbb\x7b\xab\x1e\xc9\x3e\x54\x7f\x89\xed\x50\x23\x45\x8e\xef\xdf\x67\x0a\xbd\xc6\x92\xc2\xa5\xbd\x67\xa6\xcf\x62\xf2\x5b\xfb\xd1\xf7\x6f\xd4\xeb\xab\xf5\x1e\xc3\x8d\x63\x2e\xed\x4f\xc7\x1c\xd7\xfc\x8f\xbf\xff\xef\xfb\xd5\x0f\x6e\x34\x78\xf4\xd5\x7a\xfd\x4d\x63\x2f\xed\x5f\xc7\x1c\xd7\xfc\x8f\xbf\xff\x2d\xfd\x2c\xbe\xc8\xd2\x7e\xb6\x9e\xf2\x39\x4a\xc8\xe9\xc0\x2c\x55\xeb\xda\xd3\x99\x54\xdf\x47\x16\x34\x50\x27\x2d\x1b\x3d\xf9\xec\xab\x16\xb8\x90\x1f\x9c\x3b\x0b\xb1\x13\xe4\x83\x63\xbb\x3f\xdd\x67\x54\x25\x0b\x55\x7e\x1e\x9a\xa5\x25\xe2\x0d\x31\x29\xbe\xa1\xe5\x67\x96\x16\x70\xbe\x2f\x37\xcc\x16\x17\x39\xf5\xf1\x43\xe4\x8b\xfd\xa2\x65\xff\xef\xae\x3b\x08\xf6\x13\x56\xed\xb3\x1d\x9e\xa5\xdd\xf3\xba\x28\xbe\xae\x3d\x68\xd6\x61\x1a\xd0\x95\xbb\xb4\x1f\x62\x11\x12\x72\xec\xd6\x9e\xbc\x50\x14\x74\x2d\xd5\xfd\xc4\x25\x8f\xc2\xa1\x48\x61\xb4\x25\xc9\x89\x54\x8f\x12\x34\xd8\x03\x46\xd5\xf3\x6d\x84\x2b\x45\x91\x7c\xa8\xf7\xea\xab\x0c\x86\x53\xe4\xc3\x82\x8c\xff\x96\x34\x82\x72\xca\x60\xa8\xd2\x7b\xf5\x5d\xd9\xbe\x2c\xe1\x2b\xc5\xa4\x48\x3e\xd4\x02\x4e\x69\x52\xf0\x2c\x39\x7b\x02\xca\x7b\xcb\x47\xf3\x3c\xa5\xbd\xa5\xfb\x8f\x5f\xeb\x57\xe9\xb7\x91\x51\x71\x61\x0c\xd9\x0b\x04\x87\xd4\x19\x41\x3c\x80\x7b\x87\x01\xea\x70\x91\xa6\xe4\x2c\x39\x5b\xf8\xf8\x79\xa1\x5f\xe9\xd2\x01\x62\xfe\x5e\x6a\x13\xbe\x40\xed\xa9\x0a\xb5\x24\x7f\xe6\xb2\x77\x22\xc4\xe6\xd8\x1c\x12\x90\x8c\x10\x2a\x0c\x46\x51\x6f\x75\x8e\x07\x80\x45\xe4\x7c\xef\x38\x72\x4f\x5f\x6d\xfd\xe2\xfd\x83\xd0\xaf\xcf\xc4\xa9\x3e\xff\x99\x33\x0f\xa2\x7e\x38\x6c\x91\x7e\x5c\x9b\xb6\x44\x26\xac\x0e\xdf\x33\xd4\x94\xd0\x0f\x61\x67\xc2\xd6\x0b\x1c\xf7\x48\x38\x1e\x0f\x93\x4d\xaf\x06\x7e\x5b\x33\x64\x73\xeb\xda\xbd\x0f\xbe\xf6\x5a\x3e\xa8\xfa\x71\xb9\x78\xf8\xc2\xb1\x70\x1c\x4f\xfc\xfd\xed\x75\x75\xf0\x53\xfd\xa1\xfd\x8f\xfc\x3e\xff\x83\x78\x98\x9b\x12\x8e\xa3\xc2\xbb\x38\x55\xbe\xb5\x23\x64\x4b\xaa\xf3\x02\x56\xa2\xa4\xa3\x21\x25\x66\xe6\x2d\x40\x0d\x19\xed\x99\xbe\x65\x77\xcd\x16\x9c\xa5\x8b\xa6\x14\xd8\x5c\xd3\xda\x56\x33\xa3\x76\x1d\xff\xc9\xe2\xfb\xc1\x7a\x4c\x99\xb0\xfe\xf8\xe2\x21\xd7\xf9\x0d\x11\x63\x40\x2a\x8f\x47\xcd\x7a\x4b\xc5\x0c\xa1\x64\xc9\xb8\xe6\x21\xd3\x66\x64\x33\x73\x5a\x6b\xbd\xa6\x5f\x3e\xf6\x1a\xf9\xbb\xdb\xef\x0e\x48\xd8\x92\x18\x5b\x21\x31\x8f\xac\x78\xf1\xe6\x25\xc9\xdd\xe4\x50\xc7\x33\xc7\xb6\x8f\xce\xd6\xc5\x6e\xab\xb8\xa2\x62\xc2\x88\x38\x67\xb8\xaf\x78\xd6\x6f\x61\x46\x60\xe0\x92\x89\xfb\xc7\xb7\x0c\xba\xd0\xd2\x3a\x31\x3e\x65\xc9\xba\xa5\x35\x3f\x78\x89\xe4\x5f\xad\x9c\x30\xa0\x42\xef\x9b\xc1\x58\x26\x2c\xbf\xb2\x67\x5d\x7a\x33\x8f\xb8\xeb\x50\x05\x6a\x41\xe3\x11\x42\x1a\x32\x09\xb5\x3d\xa7\xf3\xec\x8c\x46\x47\x26\x51\x6b\x44\xa0\x19\xa2\x38\x43\x52\x22\xce\xf4\xc7\xb9\x15\x32\x92\xbd\x07\x86\x2c\x1c\x8a\x71\x22\x35\x3e\x62\xde\xf4\x3c\xcc\x61\x9b\xf5\xaa\x9a\xfa\xdd\xf3\x6f\x69\x1f\x0e\xcc\x30\x97\x8f\x77\x09\xa2\x45\xa7\x8b\x0f\xe5\x42\x43\xea\xe6\x16\x19\x2c\xab\xb6\x7d\x7e\x74\xc1\x82\xa3\x9f\x93\xcf\x8f\x2e\xd8\x38\xf6\xcb\xfb\x43\x10\x07\xf9\x8d\x8d\x1b\xdf\x20\x9f\xdf\xfd\xa3\x63\x64\xee\xde\x15\x1b\xdf\xc0\xf1\x69\x7a\xce\x10\xac\x88\xa5\x5a\xaa\xf6\xaf\x5a\x3e\x55\x37\x73\xb0\xc4\x98\x9c\x8e\xbd\x82\x73\x84\x41\xd0\x8d\xc8\xa6\x06\x08\x64\x6c\xe1\x21\x0b\x8e\x7e\xbe\xed\xcc\xe1\xcf\x47\x2f\xe1\x16\xa9\x0f\x21\x6f\x93\xcf\xdf\xd8\x38\xe7\x3a\xb8\xe3\xf1\x9f\xdf\x0d\xf2\x1b\x94\xd7\xa5\x80\x3f\xa6\xe1\x05\x89\x74\x8d\x38\x86\x2a\xd4\x19\x4b\x26\x98\x0a\xda\x82\xa9\x60\xef\x56\xa5\x7e\x6e\x7b\x2f\xce\x08\xe5\xa3\xa1\x47\x8e\x45\xdd\x48\x3d\xf8\x92\xba\x71\x75\x75\xe3\x2e\xb8\xfa\x5d\x68\x7f\x77\x9d\x47\x02\xd2\x8e\x1c\x05\xa5\xb9\x8b\x06\xb0\x25\x3d\x2e\xac\xc5\xcc\x97\x90\x1c\xe4\x30\xea\xfb\xed\xd5\x3b\x52\x2c\xee\x0a\x34\x06\x21\x54\xa2\x58\xd3\x25\x92\x15\x0a\x43\xd8\x7e\x56\x24\x3d\xfd\x40\xb0\xc7\x7a\x84\x12\x9c\x3b\x7b\x16\x93\xb8\x44\xcf\x0c\x26\x11\x97\x29\x33\xde\x5c\xf2\xf2\xa7\x9f\x42\xcb\xa7\x38\x0b\x1d\x26\x51\x34\x91\x43\xa2\xa9\xd3\x24\x92\x43\xea\x05\x74\xd0\x8b\x7c\x49\x7b\x12\xd0\x90\xc5\xdd\x07\x36\xed\x17\x9c\x25\xe9\xb6\x85\xcd\xa2\x63\xec\x9d\x8f\xdf\x39\xd6\x21\xee\x9a\xfc\xab\x64\x3b\xce\x15\x00\xfe\xc9\x03\x5f\xbf\x5b\x7b\x6e\xbe\x33\xd9\xfe\xa7\xf8\x0d\x9b\x52\x0b\xd7\x2d\x98\x3b\xb8\xd4\xd6\xdc\xdc\xdc\x6c\xeb\x68\x4f\xf6\xd8\x44\x0b\xff\xa2\xf9\x4b\xa0\x29\xfd\xf2\xa7\xd6\x44\x0b\x68\x68\x19\x1a\x16\x60\x2a\xd9\x4a\x9b\x58\x2b\x50\x5a\x3e\x8d\x9c\x4f\xad\xaf\x9c\x40\xe1\x16\xfa\x67\x54\x2a\xa1\xd9\xa4\x83\xaf\xbe\x7c\xfe\xf0\xbc\x5e\xbf\x57\x6f\x32\xeb\xcf\x9f\xd7\x9b\x4d\xfa\xbd\x7a\xd5\x71\x99\x4f\xde\xf9\xc3\x68\x74\xa2\x53\xbe\x24\xc3\xf7\xc0\xc8\x7b\x1c\xa2\xcf\xef\xf3\x44\x7b\xf3\x9b\xff\xd5\xb7\x3f\xa4\xcf\xe7\x87\xd1\x74\x2a\x3a\x91\xe9\xcb\xfc\xe6\xcd\x36\xde\x5b\x1d\x4c\x47\xfb\xd9\xc5\xda\x91\x87\xca\x2f\x3a\x54\xd2\xec\xf4\x0b\x9f\xb0\xa7\xea\x05\x7b\x2d\x69\x00\xf1\x9d\x1e\xe5\x22\xba\x80\x2e\x22\xba\x08\x84\xb3\x07\xde\x3b\x70\xe0\x3d\x6e\xca\xa7\x0f\xe4\xb3\x1e\x05\x23\xc5\x43\xb2\xa0\x8a\x79\x8a\x75\x46\x24\x35\xf4\x40\xf6\x81\x4f\x15\x0f\xc9\xf5\x61\xe9\xaa\x72\x4c\xa2\x56\x2e\x4c\xc2\x19\x14\x82\xce\xa0\x5e\xad\xeb\xb1\x60\x2a\xc1\x50\x93\x17\x31\xcc\xa3\xce\x4e\xf2\xa7\x0c\x8c\x20\x0b\xc9\x41\x72\x90\x2c\x84\x11\x19\xf2\xa7\xce\x4e\x40\x30\x18\x36\xc3\x60\x82\x56\xfc\x82\x47\x24\xdb\x99\xeb\xec\xee\x64\xd4\x13\x74\xe6\x11\x83\xba\xb2\xd0\xc7\xab\x8d\x0a\x7d\x4d\x58\x95\xcf\xac\x2a\x9f\x05\x59\xa2\x9f\xaa\x55\xa3\xd5\x8e\x24\xec\x3d\xcc\xa2\xb6\xa0\x8d\x55\xc7\xfd\x5d\x4f\xbe\x6f\xb5\x4a\x5d\xe7\x24\xab\xf5\xfd\x27\xbb\x40\x38\xf5\x17\x4a\xe2\xc4\xa0\xae\x1c\x8f\x9e\xdb\xdd\x9d\xdb\xf1\x0c\xf7\x86\xa5\xb4\xd4\xf2\x06\xf7\xcc\x0e\x26\xb7\xfb\xb9\x0b\x9d\x94\xb3\x09\xde\xc1\x88\xa0\x4b\x79\xa6\xb4\x77\x57\x68\xab\x11\xdf\xfc\x7e\xdc\xef\xfd\xe8\x3f\xa6\xe5\xd7\x1a\x67\x69\x36\x7f\x8e\x21\x1a\xa5\x69\x36\xdf\xf9\x2d\xc9\xd2\xa8\x5e\xe1\x65\x35\x59\xf9\xfe\x17\x3d\xba\x9a\x1b\x04\xc4\xad\xa7\xfc\x2b\x3e\x8a\x79\x63\xa3\x1d\x44\x81\xce\x3b\x11\x97\x41\x92\xf5\xd8\xe6\xe0\x43\xb1\xa8\xda\x57\xeb\x41\xf3\xc4\x93\xdd\x2e\x9b\x95\xd4\x38\xfd\x0e\xd1\x1c\x80\x8b\x4c\x16\x4b\xf9\x2f\xd8\xe5\xbe\x01\x32\x19\x86\xdd\xf9\x8b\x95\x64\x33\x0c\xb1\x85\xcd\x45\xd8\xcf\xb2\x33\xbb\x96\xbb\xc3\xba\xcf\x0d\x35\x32\x7b\xb5\xc3\x67\xb9\x88\x98\xc5\xdd\xf7\x83\x01\xb7\x75\xfd\xda\x5d\x6c\xfa\x88\xf9\x2d\xd3\xfd\xe2\x30\xbc\x19\x5b\x7c\x3c\xf9\x12\x5f\x82\xaf\x6e\xb9\x1c\x5f\x3d\x68\xbb\x1c\x53\xfd\x02\xba\x0c\x49\x9d\x3d\xa6\x59\xbf\xb9\xd0\xa4\x8b\xbc\xee\xfb\xdc\xc5\xc2\x3e\xe5\x1a\x34\x04\x8d\x46\xdd\xc0\x83\x1d\xbc\x10\x85\x38\x34\xc1\x30\x18\x0f\x73\x60\x05\x6c\x80\x27\xe0\x65\x38\x0b\x9f\x03\xc1\x26\x84\x38\x33\x50\x4c\xb5\x74\x26\x2d\x71\x01\xd0\x98\x98\x63\x0a\x9f\xa1\x6e\x4a\x6a\xc6\x6b\x71\x52\x49\x35\x0e\x24\x42\x42\x01\x5c\x27\x56\x50\x67\x26\x95\x4c\x35\x08\x2d\x38\x00\x20\x09\x92\x53\xd2\x9e\xc8\x46\x29\x49\x75\x26\x9d\x51\xd4\xc9\x45\xe1\x37\xa9\xcd\x6f\xe5\x54\xa1\xdb\x4b\x67\x5a\xb0\x24\x27\xd4\xae\xae\x05\x32\x4a\x4c\x89\x25\x33\xd5\x85\xfb\xd2\x92\xec\x08\x30\xb2\xa4\x3e\x42\xa0\x18\x4b\xd5\x6c\x2c\x02\x92\x2c\x65\x12\x2d\x4c\x2b\xb4\x80\xac\x2d\xa9\x82\xe0\xe4\x05\x5e\x08\x80\xac\x46\x4a\xb4\x40\x80\x86\x50\x14\xd4\xb0\x43\x48\x6b\xef\x74\x4a\xea\xaf\x20\xc9\x69\x70\xa8\xbf\x6a\xce\xd4\x49\x92\xc6\xa2\x18\xe3\x85\x50\x4c\x92\xe3\x99\xb4\xc2\x51\x43\x0b\x85\x72\x67\xc9\x4a\x3a\x53\xab\xc4\xcc\xea\x4c\x33\x9d\xe1\x2d\x90\xe2\x65\x5a\x4e\x01\xc8\xa8\x09\x46\x05\xfe\x84\x54\x92\x51\x84\x14\x2f\x69\xfe\x0a\xd7\x02\x4a\x2c\xc5\x87\x35\x1a\x93\x28\x4f\x19\xae\x5b\x20\xc3\x0b\x92\x20\xb1\x72\x3a\x92\x51\x32\xc9\x16\x68\x06\x27\x7d\x33\xc5\x0c\x8c\x99\x75\x61\x3e\x66\x66\x04\x3e\xcc\xc7\x34\x1f\x75\xc2\x2f\x31\xe9\x94\x5a\x54\x66\x90\xb5\xcf\x43\x0d\x76\xd5\xbb\x1c\xbc\x53\xa2\x70\x53\x61\x5e\x96\x64\x96\x52\xd4\xf3\xf4\x9e\xb0\x33\x1e\x55\xb3\x25\xa4\x53\x1a\x5c\x9e\x92\xa2\x8f\xe2\xd2\x1a\x36\xac\x43\x4b\x26\x7c\xa2\x53\xec\xee\x14\x86\x09\x5e\x59\xe2\x92\x82\x22\xba\x53\x80\x27\x7a\x25\xa9\xde\x34\x35\x54\x35\x72\xcf\x80\xd2\x9a\x0b\x6b\x4c\x53\x34\x67\x35\x7e\x1d\xca\xc2\xde\x50\x5a\x49\xfa\xb8\x55\x63\xc7\xad\x5a\x75\xee\x8a\xbf\x6d\xf1\xae\xbc\x76\xfd\x78\xfc\xa5\x4e\x14\x60\x66\x2e\x3d\x60\x9a\x94\x1f\x9f\xff\xb1\x3c\xb5\x76\xca\x73\x80\x39\x51\xc7\xbb\xcd\x5e\x41\x6f\xf4\xf9\x03\x26\xd9\x17\xf6\xd8\x1d\x46\x21\x35\xcd\xa8\xd7\x5b\xc6\xe0\x90\xe2\xe3\x4c\xd5\x66\x06\x1b\xca\x0c\x16\x8b\x3c\x04\x5a\x56\xfb\x4a\x9c\x3a\xeb\x48\xb9\x81\x61\x30\x2b\x70\xde\xda\x01\xf1\xd2\xcd\x35\xcd\x8b\x6e\xbd\xde\x51\x9e\x0c\xb6\x14\xe1\x89\x90\x9a\xdf\x34\x39\x02\x9c\xc0\x62\x0c\x4c\x83\x3c\xc2\x2e\x38\x4b\x7c\x2b\x9b\x86\xb9\xcc\x36\x63\xb9\x1e\x58\x6b\xa5\x89\xf3\x29\x21\x3c\xd6\xac\xd7\x15\x4d\x4b\x19\x04\x70\xd8\x3d\x61\x9f\x6c\x0e\x7a\xbc\x46\x83\xce\x67\x92\xc9\x3f\xf4\x13\x02\xac\xd7\xe7\x28\x19\x13\x76\x9b\x06\x07\x4c\x1c\x53\x97\xb0\x8c\x0c\x98\xcb\x8d\x4e\xc9\x1a\x38\xff\x42\x60\x82\x3e\x28\xfa\xbc\xa5\xfe\x21\x26\x77\x38\x6a\x49\x64\x58\xfd\xb3\xe6\x46\x31\x52\x55\xed\x71\x33\x67\x75\x36\x86\x31\xd9\x4a\x2b\xc1\x45\xce\xfd\xfe\xc8\x91\xdf\x1f\x49\x2f\x5d\x06\x82\xc1\xbf\xbd\x58\xcf\x72\xe4\x4b\x1d\xc3\xe2\xf7\x30\xcb\xf3\xc6\xd0\x75\xe4\x2e\x6b\x59\xbd\xc5\xce\x30\x06\x6e\xe8\xcb\x4c\x74\x17\xc8\x47\x8e\x83\xf3\x60\x90\x01\x6c\x1b\x64\xf1\xd4\x25\x8a\x39\x56\x30\x60\x5e\x2f\x14\xe9\xac\x3a\x91\x5d\x56\xcf\x16\x05\xac\x3e\x9e\x79\xc2\x85\xd3\x35\x95\x45\x3a\x9b\xbe\xc1\x0f\xe3\x19\xdb\x90\x58\xd9\xa6\x69\x5c\x78\x47\x3a\x31\xc5\x24\xb3\x3f\x7a\x65\xfe\xe1\x79\xbc\x8c\x8b\xf5\x45\x95\x06\x11\x30\x23\x4e\xc6\x0e\xbc\x90\x9c\x68\x1f\xa7\xd3\x0d\xcc\xbe\xf3\x0e\x00\x7b\x88\x75\x99\x45\x60\x2c\x96\x72\xb3\xbe\x18\x5b\x8b\xde\x7c\xe2\x27\xb8\x83\x9b\xb6\xb1\x5c\x19\x6a\x63\x0c\x53\x12\xe9\x1d\xfb\xac\x51\x41\xef\x16\xa5\x41\x1c\x9b\x70\xf6\x73\x4f\xf3\x0e\xd4\x9b\xc2\xc1\xea\x2b\x39\x6e\x72\xa8\x9f\x9b\x1d\x64\xd1\x55\x79\xc3\xf1\x0a\x59\x1c\xb9\x74\xe9\xed\x4b\x3f\xbc\xb2\x6a\x70\xd3\x08\xbe\xf4\xca\x0b\x1f\x19\x8b\x65\x5b\xdd\xea\x36\x8c\x6b\xca\xdd\xee\xb2\x01\x98\x39\x38\x51\xb2\x17\x1b\x0d\x7a\xc9\xef\xd7\x1b\xcc\x0e\xb3\x5f\x57\xe4\xe3\x04\xd6\x32\x02\x1b\x86\xa6\x94\x8a\x96\xa0\x2d\x6a\x70\xdb\x39\x3b\xc3\x02\x07\x46\xbe\x94\xe1\x59\x1c\x2c\x8e\xac\xaa\xdb\x9a\xb2\xca\x7e\xf0\x58\x5d\x66\xc6\x8c\xab\x7d\xac\xbd\xba\x21\x35\xc2\xa4\xb3\x98\x74\x66\x66\x2b\xf9\xd7\xa4\x1b\x0c\x22\x63\x76\x59\xcc\x66\x9f\xcb\x96\xdc\x5a\xbf\x2a\x5c\x12\xc4\x06\x5c\xc6\x15\x01\x07\x1c\x63\xe7\xec\x2e\x9d\x62\x2b\x69\x2d\x2d\x4b\xb5\xe9\x71\xad\xcb\xc2\x0a\x9c\xaf\x48\xef\xb3\xda\x4d\x7a\x83\x2f\xe0\xd4\x31\x8f\xfa\xdd\x25\x0b\xa2\xd7\xf8\x45\x76\x7d\xf9\xee\x06\x53\x89\xd9\x9c\x5d\x68\xb5\x18\x60\xed\x16\x66\xc8\x75\xb5\x0b\x4a\xdc\x7e\x3b\x2b\xfa\xaf\xd9\x57\x6c\x6e\xd8\x5d\xce\x5b\xac\x0b\x06\xda\x06\x6e\x59\xc9\x9a\x45\x98\xbe\x9c\x89\x29\x37\x89\x76\x41\xe7\xd8\xd9\x84\xf1\xce\xc3\x57\xaf\x3b\x7c\x78\xdd\xd5\x44\xc1\x18\xbc\xeb\x05\x33\x18\x99\xe1\x83\x9f\x65\xa7\x4d\x13\x81\x71\x4c\x9a\xc0\x59\xf0\x6b\x8d\x1b\xdc\x3a\xde\x6e\xbd\xdd\x8f\x77\xc8\xa6\x9b\x7e\x92\xa9\x7d\xf9\x6e\x93\x13\x33\x0c\x00\x60\x01\x66\x94\x2b\x31\x5e\x67\xaa\xe5\x74\x3c\xc7\x60\x0c\xa0\x77\xd8\x44\x23\x83\xc1\x56\xdf\xaa\xd7\x55\x9b\x4c\xfe\x08\xcf\xe2\xfc\x2e\xb3\x75\xd8\x7a\x63\x51\x6a\x79\x3a\x35\x0e\xe3\xa6\x8f\x5a\xeb\x56\x37\x27\xf7\xce\x63\xf5\xc0\x63\xbb\x28\x1b\x4d\xc6\x89\x83\x43\x6f\x39\x9d\xb7\xd5\x86\x25\x86\x71\xfa\x9a\x72\x50\x93\x1e\xa4\x04\x61\x74\xbb\xce\xa6\x77\x39\xec\x2c\xc7\xea\x5e\x98\xd3\x78\x63\x7a\x79\xaa\xc8\xb8\xa1\xcd\x6a\xae\x6d\xc2\x78\x9c\x36\x66\x18\xac\x07\xee\x79\x3a\x32\x6f\xa4\x7c\xde\x97\x58\x29\x40\x80\x2b\x82\x44\x3c\xc0\xaa\x22\x49\x68\xe1\xaa\x19\x81\x8f\x54\x0b\xdc\xdf\x3b\xf6\xce\x9b\xb7\x37\xbf\x76\xde\xde\x8e\x8e\xbd\xf9\x19\xf5\xcb\xf7\x5c\xff\xa3\xb7\x20\x06\xf5\xbf\xd8\xf7\xf3\x3b\xe7\x55\x31\xe5\xc3\x56\x6c\x19\x7d\x6a\xa1\xff\xff\x31\xf7\xde\xf1\x51\x5c\xf7\xfa\xf0\xf9\x9e\x69\x5b\x67\xfb\x8e\xb4\x92\x56\x5b\x67\x55\x57\xd2\x56\x09\x49\xab\x45\x88\x2a\x01\xa2\x0b\x84\x84\x68\x46\x88\x26\x9a\xc1\x18\x9b\x35\xe0\x0a\xd8\x18\x03\xae\x18\xc5\xd8\x71\xb7\x83\x6f\xe2\x5e\x64\x27\x71\x8b\x4d\xec\xc4\x3d\x2e\x72\x8d\x49\x62\xc7\x71\x62\xc7\x46\xda\xd1\xfb\x99\x33\x2b\x21\x04\xb9\xc9\xef\xde\xfb\xc7\xab\x8f\x76\x4f\x99\x33\x33\x67\xce\x9e\x39\xf5\xf9\x3e\xcf\xa2\xb6\x8e\x09\xa2\x6e\xfa\x4d\xd2\xf1\xbb\xa4\xf7\xdf\x7f\x6a\xe7\xc6\x86\x06\x77\x59\xb1\x7c\xd2\x62\x72\xea\x62\xa6\xa2\x66\x7e\x63\xb8\x40\xe0\x19\x8d\xe0\x2a\xab\x9c\x34\x63\xf9\xea\xb1\x47\x16\x84\x37\x2d\x3a\x6f\x46\x73\x4d\x38\xdf\x48\x61\xa3\x33\x12\x9e\x52\x3d\x3b\x3e\x63\x08\x73\x90\xd1\xe5\xca\x27\xac\xa0\x8d\x68\x05\xda\x42\x94\xb9\x46\x2a\x15\x89\xbe\x51\x34\xcd\x96\x90\xcd\x64\x2d\x06\x4f\xd4\x14\x09\xd3\x64\xb2\xc8\x0d\x2f\x27\x04\x21\x1a\xc1\x2e\xda\x3c\x64\xf3\x6c\xb1\x29\x98\x3b\x85\xe4\x3a\x0f\x86\x43\xa2\x8b\x1d\xcd\x85\x48\x17\x4a\x0f\x48\xaf\x7c\xb4\x7b\xf7\x47\x10\x81\x99\x10\x91\x7d\xe9\x35\x67\x33\x3d\x6f\x30\x1a\x5d\x46\x23\x5c\xd8\xd5\xe8\xcd\x23\x53\xfc\x3c\xef\x0c\xc5\xb2\x79\xc8\x54\xfa\x77\x24\x7a\xd7\xe3\xbb\x88\x7b\x42\x7a\xff\x04\xd5\x21\x3a\x06\x52\x43\x84\xea\x4c\xef\xee\x8f\xa4\x57\x46\xdd\xed\x57\xe7\xe0\x85\x4e\x4f\x33\x4a\xf2\xbd\xfa\x8c\xc9\xc6\xa8\x77\x8c\x69\x03\x6f\x36\xf3\x1b\x4c\x63\xbc\x51\xaa\x71\x94\x61\xb6\xf4\xb5\xb2\x9c\xd6\xb6\x6b\x57\x9b\xe2\x3b\x70\xe2\xc4\xc0\xd5\x98\xb0\x22\x12\xaa\xde\x21\x7b\x32\xb5\xc2\x2b\x2f\x90\x71\x9d\x3c\x17\x0b\x9b\xbc\xa3\x8a\x22\x4a\x46\x53\xb6\xd1\xd0\xaa\x90\x9d\x4b\xfd\x98\xe2\x50\x2a\x65\xe6\x7f\x20\x20\x78\x8e\xd8\xc8\x37\x46\xdb\xeb\x7f\xe8\xad\x6f\x6f\xaf\xe7\x92\xf5\xed\xd1\x46\x1a\xc9\x63\xd9\x74\x2f\xa4\x94\x05\xfd\x01\xc5\xf6\xbd\x47\x4a\x45\x1b\x7b\xe4\x64\x14\x49\xdc\xd3\x88\x46\xe5\x29\x67\x38\x4f\x99\xf5\x88\x51\x59\xb0\x65\xc3\x59\x59\x35\x01\x62\x10\x26\xf6\x41\x23\x73\x31\x2a\x8b\x14\x4a\x23\xdc\xdb\x18\x1d\x95\x85\x74\xc7\x99\x79\x04\xd7\xff\x45\x7e\xa8\x14\x8d\xfe\xff\x94\x1f\x8c\x98\xff\xbb\xf2\xc1\xc3\xf9\x11\x50\xf1\xe9\x95\xa3\xff\x24\x27\xaa\xff\x3e\x17\xd4\x7f\x74\x7f\x40\x68\x90\xa1\x2f\x64\x11\xca\x25\x2c\x9e\xac\xd7\x6d\x19\x92\xca\x24\x8a\x26\x62\x46\xf9\x5d\xa0\xd7\x10\xf9\x8f\x9d\x2f\x69\xac\x59\xc7\xb3\xcb\xb5\xcf\x48\x2f\x5a\x1c\x3a\x5d\x41\x81\x4e\x97\x63\x86\xaf\x9c\x81\x02\xc9\x97\x5d\xae\x6d\xd4\x58\xb3\xe0\x57\xd2\x8b\x16\xc6\x54\xc4\xf4\x15\x99\x18\x8b\xc2\x5f\x4d\xa5\x58\x44\x34\x0a\x5c\x36\x53\xd8\xe6\x35\x59\xdd\x61\x9b\xd7\x15\x60\xdd\xde\x68\xd8\x15\x35\x79\xa3\x61\x53\x84\xf8\x85\x98\x3b\x6c\xa3\x92\x52\x6f\x2a\x05\xc9\x64\x52\xfa\xa6\xbb\x5b\xfa\x26\x99\x84\x64\x2a\x25\xf5\x26\x93\x60\xec\xee\x06\x63\x92\x49\xf5\x49\x1d\xa9\x74\x5f\x5f\xea\xc0\x81\x54\x1f\x76\xa5\xa0\x87\x78\x95\xe2\x1c\xb2\x6b\x18\x52\x7b\x28\x26\xac\x17\xd5\x64\xe5\xd4\x6b\x0a\x9b\x08\x10\xc9\x24\xbf\xa9\x6e\x9b\x3b\xea\x66\x6c\x44\x84\x39\x6a\x8a\x7a\x6d\xfe\x68\xd8\x44\x10\xad\xa6\xb0\xa2\xa7\x9b\x31\x58\x97\x5d\x62\xbf\x6e\x53\xa1\x54\x4a\x4a\xf5\x23\x29\x95\x4a\x41\x8a\x41\x90\x1a\x44\xa9\x1f\x51\x2a\xc5\xa2\x54\xaa\x5f\x71\x25\x04\xa9\x81\x94\x94\xa2\x52\x69\x84\x53\xe9\x14\x8d\x06\x91\x94\xa2\x53\x03\x99\xb3\x68\x04\x43\xfa\xb8\xa7\x90\xfc\x4d\x67\x34\x1f\x64\x5f\x1a\x91\x1a\x94\xc2\x72\x2d\x92\x4f\xc8\x70\xe7\x20\xb5\xfc\x4c\xf9\xc3\x6b\x44\xe1\x8c\x86\xc5\xbc\x33\x9f\xea\xcc\x67\x33\x79\x87\x9e\x10\x46\x3e\xa5\xd7\x16\xf6\xbb\x4f\x3f\x2a\x44\x89\x3a\xb5\x5c\xcf\xa2\xee\xcc\xa5\xc2\x36\x77\x54\x4d\x9e\x55\x7e\x92\x94\x94\x52\xb2\x4e\xa5\x40\x76\xc8\x53\xa7\x51\xea\x54\x2a\x95\x62\x52\xa9\x54\x7f\x8a\x4a\xa5\x52\x03\x8a\x2e\x85\x1c\x31\x74\x0a\x45\x68\x8c\x95\x73\xe5\x0f\x26\xae\x94\x11\x07\x26\xdf\xfd\x99\xa2\xc0\x64\xfb\x23\xad\x1c\x41\x78\xe8\x9e\x72\x01\x9c\x9e\x0b\x9a\x50\x16\x79\x6b\x47\xbc\x1d\x26\xb7\x87\x15\xdc\x72\xad\xe5\x68\x34\xd0\x51\x50\x59\x59\xc0\x24\x0b\x2a\x89\x44\x31\x5c\x64\x08\x3d\x1a\x9a\x09\x2e\xa9\x43\x89\xad\x2c\x18\xe8\xa8\x9c\x34\x33\xf4\x68\xc8\x80\x46\xda\xda\xb0\x44\x57\x19\x81\xd7\x16\xab\x83\x98\x7f\x68\xf5\x43\x6e\xbb\x0d\x70\xda\x1c\x8a\x58\x0a\x6d\xfd\x21\x4f\xf7\x98\x4e\xfa\x16\x5c\xfd\x88\x4a\x55\xc2\x8b\x05\xb9\x8f\xe6\x76\x14\x0c\xa0\xa1\x5b\x03\xfa\x41\xa3\x7b\x4c\x77\x84\x4a\xf5\x23\x70\x15\x54\x52\x3d\x03\xa8\xa0\x23\xf7\xd1\xdc\x82\x4c\x26\x86\x34\x9d\x86\xf8\xb3\xb2\x50\x00\x8d\x45\xb3\xd1\x32\x62\x75\x39\x4c\x48\x18\x1b\xf6\xdb\xc3\x76\x86\x88\xa5\x78\x3d\x01\x9b\x13\xf2\xc1\xe5\x8f\xb2\x1c\x2b\x46\xc8\x7c\x31\x08\x65\x20\x12\x4b\xe6\x38\x31\x5d\x8b\x2a\x8a\xdb\x1e\xd1\xeb\x36\xb9\xcf\x36\x75\xe2\x8e\xe6\x0b\x2a\xcd\x8d\x37\x6a\x54\x82\xde\x29\x50\xba\x3d\x7b\x28\x2d\x08\xfd\x2b\x3f\x6b\x1a\xb7\xfa\x82\xe8\x15\x85\x45\x30\x09\xbf\xbc\x74\xf9\xea\x6d\xdb\x56\x2f\x5f\x5a\xde\x99\x9b\xbb\xe3\x91\x25\x25\x25\x4b\x1e\xd9\xb1\x9c\x9a\x3c\xb7\xbe\x2a\x39\xb3\x9e\x32\x33\x52\x15\xfc\x79\xca\xa2\x33\x29\x8a\x22\x11\x3f\x83\xf7\x62\xe6\xc1\x90\x87\x86\x4b\x80\xee\x83\x88\xf4\xca\x98\xc9\xd5\xdd\x06\x23\x80\x7b\x7d\x84\x53\x2d\x79\x7c\x89\x8a\x0b\x77\xeb\x0c\x18\xb3\x05\xcd\x1d\x9b\x3a\x9a\x0b\x58\xfa\xea\xd8\x78\x86\x52\x8d\x0b\xc6\xeb\x29\x90\xf0\x64\x2a\x76\x06\xff\x10\x33\x5c\x4e\x0c\xd2\x22\x07\x0a\xa2\x84\x5c\x03\x78\xb0\xda\x7d\x11\x31\x60\x8a\x21\xa2\x7c\x16\x24\xd2\x9d\x2e\x1a\x88\x21\x37\xb1\x50\x35\xd3\x61\x77\x28\x81\xcf\xb2\x9a\x5a\xd0\xb5\x7b\x37\x5e\xb2\xbb\xab\x0b\x5a\x8f\x48\xdf\x1e\xdd\xf2\xee\x91\xb6\x23\xc0\x43\x02\x78\x9c\xbb\xee\xd1\xbf\xef\x92\x7e\xff\x33\xe9\xdd\x07\x1f\x80\xa2\x07\xa0\xf4\x92\xef\x1e\x5d\x07\x2d\x23\x9f\x12\x02\xf8\x17\x85\x4f\xfd\xe9\xa9\xa7\xfe\xf4\x54\x61\x7a\x4a\x21\xbc\x2e\x3d\x27\x7d\x7b\xa4\xed\xc8\xbb\x5b\x8e\x02\x7f\xe4\x88\xd4\xb4\xe7\xbb\x9f\x76\xdc\x26\xbd\xf5\xf8\xbd\xd2\x1f\xee\x59\x7e\xf7\x5f\x28\xf6\x4c\x1e\x2c\xea\x8c\xb1\x5a\x35\x42\xcc\xa8\xb6\xfd\x2c\xfe\x68\x9b\xf7\xb4\x01\x9b\x9d\xf0\xf6\x9d\xe6\xa6\x4a\x59\xf4\xfd\xbd\x7a\x8b\x45\x4f\x27\xf5\x96\x54\x7b\x7d\x3f\x69\xea\xe9\x64\x7d\xbb\x94\x1a\x3e\xd6\xd3\x33\x14\xd9\x21\x27\xcb\x44\xd3\x53\x4f\x27\x6e\x87\x44\x4f\xcf\xd0\x91\x54\x26\x2e\xa3\xf7\xaa\x92\xdb\x6e\x8c\x18\x14\x45\xb5\x68\x0e\x5a\x83\x90\x1a\xdc\x6a\x70\x03\x0f\x9c\x69\x78\xfd\x77\x78\xd5\x37\x08\x81\xe1\x00\x61\x19\x1f\x4a\x42\x0f\xad\x69\x29\x3b\x2e\x04\x58\x18\x0b\x09\x4e\x9a\x19\x1d\xc1\xf6\x4a\x29\x0a\xfd\x28\xb7\xa0\x08\x7e\xc1\xd7\x15\x60\x32\x0a\x3b\x45\x7a\x37\xdc\x51\x50\xc7\x4b\x36\xd2\x83\xfd\xd9\xb6\x64\xfb\x12\x1b\xfc\x99\x6c\x1f\xd6\xd5\x97\x95\xd5\x97\xd1\xfb\xdb\xae\xbe\x6e\xf7\x75\x57\xb7\x4d\xd8\xb0\xac\x93\x36\x37\x99\xe9\xce\x65\x1b\x26\xf4\xa3\x73\xc5\xd2\xc9\x74\x12\xf7\xa6\x93\x54\xaa\xa0\x8e\x3f\xf5\xdd\x69\x7a\x22\x46\xcb\xd7\x15\x10\x5f\xd5\xc4\x89\x55\xc4\x63\x2c\x93\x2f\x3f\xb0\x78\xf2\xa6\x7a\xb7\xbb\x7e\xd3\x64\xed\xde\xd7\x1f\x7e\x9c\x73\xbb\xb9\xc7\x1f\x7e\x7d\xaf\xf6\x9c\xb1\x23\xd7\x38\x4b\xd1\x54\x84\xc0\x88\x39\xbb\x79\x08\xf2\x70\x5a\x82\xcb\x68\x8e\x8b\xd8\x34\x62\x13\x9f\x1c\x86\x04\x15\x75\x5b\x9d\x58\x70\x82\x95\xe5\x78\xca\xe6\x8e\x04\x71\x20\x08\x91\x18\x93\x7a\xb3\xa7\xe7\x4d\xa5\x4c\x48\x96\x3b\x86\xc3\x8c\x62\x4f\x79\xd5\xd4\xfd\x1b\x27\x0c\xa0\x09\x1b\xf7\x4f\xb5\x08\x82\x45\x0e\xd1\x43\x21\x26\x25\xf5\x4b\xeb\xba\xba\xa4\x75\x52\xff\x08\x76\x26\x06\xae\xed\xea\x82\x6b\x81\x19\xc1\xd2\x54\x93\xb7\xe3\xa1\x6f\x77\xef\xfe\xf6\xa1\x1d\x79\x9c\xbb\xc0\xcd\x9d\x19\x1c\xb9\xb6\x5a\x4a\xfa\xa3\xff\xb7\x27\x2c\x06\xb7\x55\x70\xc7\x4c\xf2\x63\x79\x79\xca\xf6\x6f\x1f\xab\x6f\x00\xa9\xa9\xaf\xd5\x0d\xeb\xf7\x36\x7d\xd1\xb4\x77\x7d\xc3\x7f\xfe\x24\xf5\x89\xda\x53\xe3\x76\xfe\xf5\xf8\x8e\xfc\xfc\x1d\xc7\xff\xba\xf3\xcc\x75\x61\x39\xef\xd5\xff\xb3\xbc\x53\x41\x08\x78\x79\xe0\xfe\x93\xac\xcf\xa1\xe6\xce\xa9\x8a\x3d\xb2\xe2\x8b\x15\x8f\xc4\xfe\xf3\x9c\x9f\x78\xe8\xa1\x01\x7e\xdf\x4b\x45\x45\x2f\xed\x3b\xb3\x3e\x4d\xfc\xdf\xd5\x27\x96\x73\x8b\xff\xb3\xca\x74\xe5\x2a\xfc\xe4\xaa\x2b\xff\x77\x15\x29\x7c\xed\xb5\x61\xa5\x0a\x8d\xf8\x1d\x0c\xa8\x0a\x4d\x46\x88\x19\xd5\xa4\xc4\x13\xaa\x78\x50\x15\x70\xf3\x2a\xce\xa9\x12\x2c\xa3\x8e\x32\x7d\xa7\x73\xbe\x84\x72\x78\xc6\x54\x34\x47\xe6\x97\x14\x17\x97\xcc\x8f\x34\x57\x8c\xf1\x38\x28\x7a\xe0\x5c\xb1\x4b\x4e\x9f\x95\x34\xf3\xc4\x32\x39\xc5\x9b\x93\xf1\xce\xb9\x2d\xc9\xc6\xd2\xb1\xce\xdc\x5c\xe7\xd8\xd2\xc6\x64\xcb\xdc\xce\xf8\xb9\xe2\x58\x74\xfa\xa4\x11\xd8\x09\x84\xc6\xa2\x2e\x84\x88\x55\xb2\x37\x23\xa9\x6e\x0a\x28\x9e\x3c\xb0\x0a\x60\xb7\x29\x6d\x7c\x2d\x44\xe2\x96\x58\x86\x70\x4c\x49\x1b\x18\xe9\x0d\x84\x88\x16\x38\xf9\xca\x03\x2b\x21\xe9\x52\x3a\x05\x50\x1e\x3b\x24\x28\x66\x7c\x14\x8a\x36\xba\x92\xe5\xc1\x7a\xf2\xe5\x85\x58\x40\x74\xe0\x94\x43\xd4\xac\xd6\x90\xd8\x50\x80\x57\x07\xeb\x5d\x63\x43\x8c\x6a\xf6\xd8\xaa\xfa\xea\x4e\x4f\x8e\x6b\xd9\x5e\xfd\x1a\xb6\xbb\x39\x9d\x9a\xbd\x5a\x7a\xa5\x69\xdf\x52\x2d\xc3\xee\x59\x14\x09\x4e\xa2\x53\x8d\xd1\x54\x5b\xf9\xb8\xfa\xa0\x34\xcb\x79\x9f\xec\xf6\x95\x79\xa5\x77\x02\x75\xf2\xb4\x37\xbb\xd0\x07\x3f\xf7\x15\x7e\x2f\x47\xbb\x2e\x2a\x18\xab\xc2\xf5\xc1\xd4\xb6\xf0\x54\x06\x52\x21\x4f\xac\x82\xbb\x66\xd9\xf7\xe1\x2a\xa9\x29\xab\xac\xb9\x7b\xf3\x6c\x28\x98\x7c\x5e\xdf\xd2\x7d\xb0\x68\xa7\x6d\xfc\xe9\xbd\x9e\x0e\x16\xa1\x0a\xd4\x82\x10\x92\x8b\xc5\xab\xd8\x82\x64\xc3\x10\x09\x23\x90\x92\x89\x5b\x62\xd1\x8c\x95\x88\x77\x84\x3b\x5c\x16\x31\x79\x8a\xc4\x51\xca\x90\x2c\x00\x19\xab\x3f\x65\x9b\x22\x46\xdd\xba\xb0\xde\x55\xbf\xb0\xfe\x26\x31\x19\x6d\x74\x40\x4a\x4c\xe2\x9f\x79\x62\x5c\x13\x53\xaf\xc4\xbb\x7e\x7e\xc5\xc6\x7c\x8b\xb0\x74\xdf\xca\xeb\x55\x4d\xfc\x45\x33\xd2\xcd\x35\x6b\x7c\x52\x2a\x7c\xb8\x6b\x5a\x68\xdf\x52\xc1\x92\xcf\xa4\xea\x83\xe9\x6e\x6c\x0c\xd6\xd7\x07\xd3\xdf\x0c\xa2\x57\xc3\x8d\xd1\x62\x8f\x84\xc2\x25\x1e\x38\xe4\xca\x81\x6f\x89\xdd\xe8\x37\x43\x09\xf0\xfe\xe0\x73\x13\x6b\xe9\x7d\x4b\x4d\xec\xde\x95\x12\x5f\x50\x2c\xad\x9e\xde\x19\x2f\xc3\xa8\x61\x6e\xd7\x61\x0f\x3c\xb4\x74\x1f\x5d\x3b\xcc\xc1\x47\xf6\x7a\x45\x14\x45\x53\xd0\x12\xb4\x0b\x21\x46\x9e\x5f\x29\xcb\x2c\x71\xb7\x02\x19\x1f\x66\x9a\x66\x32\x70\x25\x8e\x61\x29\x79\xfc\xa9\xd0\x17\xf9\x83\x10\x25\x55\x86\x63\x08\x47\xaf\x1c\x95\x00\xca\x3f\x44\x4b\xcd\xd8\x32\x9c\x23\xf1\x68\xa4\x0e\x28\x72\x54\xb1\xf1\xe7\x32\xda\x15\xb5\x10\x26\xa6\x91\x36\xf9\xd2\x74\xc5\xf1\x63\x75\x42\x62\x32\x23\xf5\x77\x1d\x3e\xdc\xb5\xbe\x64\x4a\xeb\xe1\xae\x60\x29\xde\x04\xd7\x76\x1d\x5e\x3d\x57\xba\x7f\xe1\x35\x37\x1f\x73\xfa\xea\x83\x0e\x2b\xcc\xac\xa8\x83\xa4\xec\x93\x3e\xcc\x35\x17\x1b\x8d\x75\x21\xab\x19\x3a\x9c\xbe\x2f\xd3\xe7\x67\xd9\xa3\x8d\xa5\x7e\xcc\xa7\xc9\x8c\x14\x0b\x27\x83\xeb\x56\xcf\x9c\x0c\xb3\x8a\x63\x8d\x51\xe9\x95\x2b\x7c\x72\xb9\x57\x45\xc6\x07\x45\xe9\xe5\xd4\xbe\x8a\x28\xe3\xdc\x3c\x5e\xd4\x1c\x7e\xe3\xb0\x29\x77\x57\x73\xd7\x61\xd3\x5f\x0f\x77\xa5\x97\xb5\xec\xb1\xcd\x11\xf0\x0b\x13\xa7\xf0\x71\x77\xb0\x5e\x73\x93\xa6\x39\x34\x88\x82\xf5\x9a\xdd\x7a\x95\xc3\xe6\xb7\x87\x92\xea\x1e\x3e\x4e\x99\x7e\x50\x35\x46\x0b\xea\xf9\x17\x93\x8d\x5d\x8d\x5d\xcf\xd7\x15\x9f\x37\x80\x2c\x73\xb4\xe3\x4b\xf0\x2d\xd1\xc6\x8b\xdd\x15\xd2\x3b\xc1\xc4\x84\xe0\x6b\xaf\x4d\x28\x51\xcd\x88\x16\x4d\x32\xed\x1b\xae\x7b\x64\x3e\xe8\x23\xfc\x78\x21\xbb\xfc\x1a\x0e\x4b\x60\xfa\x87\x07\x2b\xf2\x8f\x10\x50\xfc\x60\x8a\x04\x40\x19\x72\x59\x9d\x20\xbf\x6a\x6e\x9b\x3b\xc3\x9a\x14\x76\x13\x54\x45\x66\x56\x20\xbf\xd6\x72\xbd\x15\x18\x27\x64\xbc\x31\x7a\x47\xed\x5a\x1f\xae\x39\xbf\xbb\x59\x4a\x35\x77\x4b\x9f\xa4\x3f\x6c\xee\xbe\x7b\x0b\xdc\x5e\x94\x9e\xb9\xec\x3a\xd5\xd8\xee\x66\xb6\xb7\x2d\xfd\xcb\x40\x72\x60\xac\x43\xa4\x8c\x26\x4d\x38\x9f\x4a\x0e\xf4\x3a\x44\x4a\x35\xa9\x14\xa7\x5a\x0b\x2a\x99\xa4\x26\x94\x2f\x8d\xaf\x6f\x17\x1d\xb8\xc2\xa8\x87\xda\xac\x3c\xd1\x01\x29\x87\xc8\xa2\xca\x8a\x81\xbf\x1f\x7d\x51\x3a\xd2\xdc\xdd\xdd\x7c\xfc\x9a\xee\x66\xd7\x96\xbb\x53\x97\x2f\x9d\xbe\xc2\xd5\xdc\xfd\x63\x2f\x2c\x3d\xb2\x83\xd2\x47\x44\x87\xcb\x1b\xb4\xe6\x8b\x2e\xd1\x51\xc2\x97\x8c\xa9\x2c\x30\x18\x7a\xf3\xfc\xed\xf5\x2e\x87\xc8\xdd\xaa\x0f\xe6\xfc\x9a\x2c\x60\x29\x9c\x78\xf2\xd8\x2e\x84\x36\xc9\x6d\x96\x18\xa0\xc4\x68\x84\x7c\xc5\x32\x14\x6f\x39\x90\xa1\x7a\x03\x9b\x95\xa3\x32\x94\x24\x2c\x07\xac\x97\xf2\xb0\x1c\xe5\xa5\x86\xc8\xa4\x2c\x23\xbc\x4e\x90\x3f\x61\x77\x28\x0e\x8a\xa1\x1e\xc7\x44\x23\x0e\x88\x0f\x91\x9d\x50\x5e\x8b\xec\x85\xdf\x4c\xbd\xc0\xb2\x5c\xcf\x6c\xe2\xb6\xb7\x99\x76\xcd\x9b\xb5\xd3\x3a\x6b\x85\x75\xe7\xac\xf9\x97\xf2\x0b\xb7\x72\x17\x6a\xe2\xf6\x72\x4f\x45\xf6\xca\xc3\x55\x21\x89\x69\x98\x53\x21\xd6\xaa\x6f\xdf\x71\xad\xba\x56\x2c\x4f\x52\xbb\x1d\x4b\xd5\x09\xb1\xac\x9e\xda\xc4\xd1\xaa\x65\xaa\x88\x1b\x3f\x5c\xe4\x81\xfe\xca\xc6\x48\xb1\x47\x7a\x35\x39\x89\xa2\x93\x65\x81\x5a\xf5\x26\xc7\x61\xaa\x6e\x10\x2d\x6a\x84\x6b\xab\xc2\xa5\x76\xf8\x20\xc7\xd9\x76\x85\x66\xce\xea\x15\x33\xa4\xdb\xe1\xbe\x19\x2b\x36\xce\xd3\x5c\xd5\x96\xe5\x95\x10\x57\x6c\x74\x6a\xb5\x07\x57\x26\xba\x45\x69\x77\x98\x4d\x95\x8b\xe9\xb9\x78\x81\x58\x5e\x5f\x66\xd0\xa7\x3f\x80\x1b\xfc\xe1\xfa\x20\xaf\x93\x3c\xb9\x9b\x9c\xd2\x3a\x57\xa1\x03\x2e\x2c\x1e\x17\x99\xec\xf8\xe2\x53\x1a\x74\x50\xa0\x37\x6b\xcb\x1a\xca\x45\xc9\x89\xbb\x79\xbe\xbc\x21\xb3\xe7\x2b\x97\x6b\x98\x30\x90\x2c\x25\x4c\x5c\xe7\x6e\xe9\x6a\x15\x91\x71\x6f\x74\x44\x3f\xa0\x78\x4c\x11\x31\x40\x9a\xbb\x30\xe9\x09\x4e\x77\x04\x67\x37\x7c\x96\x8c\xca\x94\xfc\xc1\xa9\x68\xe3\xf5\x85\xf5\x91\x29\x4a\xe3\x77\xc2\xee\x65\x16\x66\x55\x36\x57\x2a\x5d\xc4\x94\x58\xb4\xd1\x35\x25\xb6\xea\x90\x5d\xb3\x74\x4a\x59\x64\xfd\xc4\x9c\xbc\xf6\x9d\xb9\x0b\x8d\x9d\xf5\xe9\x90\xd2\x10\x1e\x5a\x39\xb1\xfa\xf0\x9f\x5c\xe0\x92\xff\x99\x54\x63\x54\x42\x52\xea\xe5\x58\x53\x84\x34\x82\x39\x36\xe8\xee\x58\xf2\x6e\x61\x4d\x65\x41\xad\xdc\x0f\x24\x17\xc4\xa7\x37\x46\x3b\xf0\x98\xf8\xf4\xd4\xcd\xab\xde\xc7\xe3\x6d\xf3\xb8\xcb\xdb\xdf\xdd\xb4\x46\xda\x9f\x9c\xa1\x34\x83\x2b\xaf\xf7\x62\x6f\xd7\xe1\x53\x19\x3b\x34\xe5\x33\x62\x5f\xdc\x4f\x54\x6c\x17\xa3\x9d\x44\x69\x65\xe4\x23\x46\x4d\x54\x06\xc2\x94\x0f\x0a\xd7\xaa\x49\x0e\x70\x1e\xd6\x40\xa8\x08\x49\x25\x12\x3c\x3c\x95\x61\xb0\x54\xba\x8e\x88\x08\x56\xc1\x62\x8b\xc7\xaa\x21\x3e\xd4\x7d\x28\x55\x13\x32\x25\x4e\x11\xd6\x97\x80\x32\xaf\x8e\x91\x89\x95\x01\xe4\xa9\x17\xa3\xaa\x29\xdb\x27\xcc\xb1\xed\x69\x49\x2f\xeb\x3a\xfc\x57\xd3\xe1\xae\xe6\x5d\xb9\xa6\xc3\x6f\x1c\xce\xb1\x8d\xdf\xfc\xb8\x3b\xce\x4f\x99\x18\x0f\x35\x6b\x6e\xd2\xd4\x3f\x68\xf7\xdb\x1c\x2a\xfd\x6e\x4d\x7d\xd0\x1d\xe7\x7b\xd4\xc9\xfe\xb1\xaa\x1f\xce\x2b\xae\x7b\xbe\xab\xb1\xab\x31\xf9\x22\x5f\x5f\x10\x6d\xa4\x73\x4b\xc6\x6b\xe7\x58\xf6\x99\x26\x15\x45\x67\xa8\x4a\x26\xbc\xf6\x5a\x70\x42\x22\x28\xbd\x53\xe1\xbe\xb8\x31\x4a\x5d\x20\xd4\x1d\x3b\xde\xbe\x50\xba\x7f\xee\xea\xc3\x5d\x70\x2d\xde\x54\x1a\xec\x3a\xdc\x3a\xa5\x64\xbd\xdc\x10\x4b\xfd\xcc\xe4\xb8\xcf\x79\xec\xe6\xba\x0a\x98\x69\x75\x04\xeb\x2f\x37\x1a\x8b\xcd\xb9\xd2\x87\xb2\xdf\xe7\x84\x0e\xb3\x35\x54\x07\x2b\xec\x59\xe9\xf3\xc7\xaf\x0b\x9e\xc4\x82\xdc\xee\xa6\x53\x98\xf7\x97\x36\x9e\xfa\x73\xac\x18\x66\x4d\x9e\xd9\x2a\xbd\x2c\x06\xc7\x47\xaa\xe4\x5e\xcf\x77\x85\xf4\x4a\xb4\x71\x98\x07\x86\xfb\x39\x8d\x50\x36\x19\x3f\xda\xce\x8d\xdc\x09\xd9\x19\x8b\x9d\x23\xb1\x01\x2d\xc8\x6e\x40\x0b\x44\xd8\x27\x20\x46\x2d\x0a\x71\xa8\x85\x6c\x4a\x5b\x14\x4e\x98\xf9\x16\xbd\xf4\x96\x59\x7f\xb9\xde\x22\xbd\xad\xb7\x98\x79\x2a\x5b\x6f\xa1\xf9\xa9\xa0\xd6\xe8\x2f\xd3\x99\x21\xf8\x94\xca\xb6\xd5\xaa\x7e\xb2\x14\xcc\xba\xcb\xf5\x1a\xf5\x34\x30\xeb\xae\xb6\xaa\xdf\xd7\x68\x28\x3d\xfd\x81\xda\xba\x4f\x6f\xa6\xfa\x36\xeb\xcd\x03\x6f\x90\x93\x4b\xcc\xfa\xcd\xbc\xd9\xa2\x19\xa8\xd3\x6b\x35\x26\x1d\x6e\x92\xe6\x59\x2c\x70\x6f\xfa\x21\x9d\x49\xa3\xe1\xa9\x67\x75\x26\x4b\xfa\x87\xac\x1c\xce\xab\xc6\x2a\x8b\x69\x08\xc3\xa0\xcc\xa9\xd5\xa8\x08\x8d\x51\xec\x10\x02\x8a\x8c\x43\x4c\xc8\x3c\x4b\x80\xf2\x9e\x49\x75\xa3\x80\xc9\x38\x3b\x1e\xb5\x49\x82\x46\x6c\x90\xf8\x5c\xb4\x9d\x36\xd7\xb8\x67\x5f\x78\x5b\xfd\xa4\xc8\xab\x2a\xb5\xca\x72\x83\x55\xf5\xdc\xcd\x66\x5e\xc1\x41\x8b\xa9\xc4\x9c\x25\x73\x26\xb3\xa5\xd2\x1b\xd2\x37\xbf\xde\xbc\xf9\xd7\x60\x84\x12\x30\x12\xdf\x7b\xe7\xd8\x85\xa0\xc6\xb6\xb8\xcd\xd2\x1f\xa7\xbc\x2b\xed\x31\xf1\x46\x13\xac\x91\x6e\x93\xaf\x43\xf5\xf2\xe6\xac\xfc\x5b\xce\x5b\x78\x9d\x4f\x43\xc5\x36\xff\x5a\xfa\x66\xd4\xf5\xa4\xc6\x51\x17\xba\xfa\xea\x6f\x46\x3e\x77\x29\x6a\x55\x94\xae\x20\x14\x8f\x95\x81\x18\x10\x0d\xc0\x33\xc3\xf4\x46\xf9\x60\x8f\xc7\xea\x20\x16\x08\xd2\xca\x58\xc1\xfd\x9f\x25\x3b\xab\x68\x46\xed\x1f\xe1\xb6\x1b\x3b\x79\x6d\x29\x6b\x36\x6a\x69\xda\x60\xcd\x71\xfa\x2d\x4d\x4b\x3a\xa6\xf8\xc7\x1b\x8d\x5a\x83\x51\x15\xd5\x1b\x28\x63\x49\x74\x66\xe9\xc1\x5f\x3d\x47\xe9\x6e\xec\xe4\x35\xa5\x2a\xd3\xbf\x49\x7a\xdd\xaf\x9f\x0b\x9c\x5d\x98\xe9\xdb\xcf\xde\x3c\x82\xb2\x4e\xb3\x79\xa6\x9e\xc6\x7a\x8a\xd6\x19\x78\x1d\xb7\x6c\x6a\xd3\xd2\x5c\x9e\xd7\x02\xd6\x4d\xb3\x5a\x68\x63\x7e\xb6\xf5\xd9\xfd\x07\x9e\x91\x53\xf1\xd4\xbf\x4b\x45\x57\x9c\xa3\xd8\xc1\x76\x8e\xdf\x50\x7e\x8f\x92\x83\x7d\x5c\x2f\xe3\x22\x98\x12\xa4\xa6\x05\x2e\xa0\x86\xb8\x9a\x0a\xc4\x05\x35\x70\xc0\x01\xee\x93\x1b\xba\x74\x07\xee\xb9\xab\x63\x92\xe4\x82\xbe\x67\xa5\x8f\x70\x0f\xee\x49\x77\xdc\xd5\x31\x09\xfa\x24\xd7\xb3\xe0\xee\x90\x52\xb8\x4f\x4a\x49\x29\xf9\x00\x49\x26\x47\xe7\xcb\x89\x32\xc9\xe4\xd3\x3e\xee\x80\x14\x3a\x63\xdd\x48\xbe\x67\x00\x21\xbf\x1a\x38\x81\x53\x83\x10\x0f\xa8\x99\x78\x20\xae\x86\x00\x37\xba\xea\xe2\x57\xc1\x20\x9d\x6c\xe9\xed\x90\x4e\x82\x50\x30\x6f\x87\x34\x86\x2a\x81\xe7\xa5\x31\xd2\xdf\x40\x68\xe9\xed\x00\x41\x3a\x59\x30\x8f\x6a\x3a\xc7\x43\x3e\x0c\x06\x10\x5a\x9e\xe9\x00\x41\x3e\x31\x25\x8d\x91\xea\xe1\x79\x78\x5e\xfa\x9b\x74\xb2\xe5\x99\x0e\xe9\xa4\x74\xb2\xa0\x05\x7e\x3c\x47\xa5\xd4\x20\x34\xf8\xbe\x1a\x31\x3e\xa4\x45\x16\x94\x9b\x51\xd9\x1c\x8f\x66\xa1\x56\x94\x3a\x53\x15\x60\x68\x57\x95\xc9\xc0\xcb\x62\x44\x44\x98\x68\xa5\x90\x54\x72\xab\xef\xcb\xf8\xc2\x0a\xcc\x9e\x07\x42\xc0\x06\xa2\xdb\xc5\x85\x9c\xd8\x16\x49\xe0\x21\x24\xaf\xc5\xcd\x13\x78\x3a\xa6\x49\xfb\xce\x05\x81\xf0\x58\xfa\x70\x94\xc0\x66\xdc\x44\xfc\x1c\xef\x89\x8b\x81\x78\x3c\x20\xc6\xe9\x9d\xf1\x69\xf1\xf8\xb4\x81\xc0\xfa\x9e\xf5\xeb\x7b\xd6\xd3\x97\xac\x6f\x9e\xbe\x61\x7d\xcf\xc0\xf8\x63\x1b\x37\x1d\xbb\xfd\x8b\x63\xf4\xce\x63\x9b\x36\x1e\x3b\xb6\x71\xd3\xc0\x47\xd2\xdf\x9e\xb9\xe8\x8d\xed\xdb\xdf\xb8\xe8\x19\xea\x5e\x49\xfa\x9d\xf4\xac\xb4\xf9\x8d\x1b\x5b\xe7\x1d\x3a\x81\x67\x48\xdf\x4a\x3b\xa5\xbf\x81\x01\x2e\xa6\x61\x47\x49\x42\xbd\xf6\x26\xe9\x87\x9b\x2f\xfd\xb2\xb9\x6c\xa6\x76\x8e\xab\xf9\xe4\xa5\x37\x4b\x3f\xdc\xb4\x56\x9d\x28\x81\x35\x87\xe0\x96\x4f\xfa\xe0\x2a\x9c\xa3\xdc\x3e\x8e\xe5\xbb\xc7\xda\xe5\x7b\xae\x5f\x0f\x24\x0f\xbd\xe4\xc6\xc7\xe0\x8b\x63\xc7\xbe\x38\x26\x15\xc0\xc5\x60\xd8\xfe\xe6\xa9\x37\xb7\xd3\xda\x75\x6b\x5b\x6f\x7a\x63\xf3\xc6\xd7\x6f\x68\x4f\x73\x72\xb4\xf4\x37\xf9\xb6\x34\x1d\xde\x11\xbe\xfe\xf1\x5b\xa4\x1f\x6e\xec\x5e\x5a\x79\xa1\xfd\x02\xff\xd2\xf5\x37\x82\xea\x96\xc7\xaf\x0f\xef\x08\x2f\x5b\xdf\x8d\x28\x74\xde\x20\xa2\x6f\x22\xed\xa2\x05\x35\x21\x44\xc8\x1a\x91\x0b\xd9\xac\xa7\xc1\x39\xe0\x04\x1e\x73\x2c\x27\x64\xc0\xef\x01\x31\x90\x01\x97\xc7\x21\x2e\x06\x82\x94\x82\x43\x72\xd2\xe1\x10\x11\x17\x73\x02\x55\x23\x5d\x21\x7d\x0f\x1a\xd8\x0a\x1a\xe9\xf0\xa3\xbb\x76\x3d\xba\x0b\x4a\xf4\xb4\xbe\xa0\x34\xb0\xf1\xc5\xc9\xa0\x75\x3a\x75\xf9\x73\xf3\xc7\xbd\x28\x7d\x97\x3f\xd7\xa9\xcb\xcf\x07\xed\xa4\xdf\x6c\x08\x94\x16\xe8\x69\xbd\xc6\x57\x9e\x74\x33\xd6\xfa\x49\xdd\x55\xad\x3f\xf5\x8b\xee\x64\xb9\x0f\x6f\x06\xcd\x13\x4f\x82\x46\xfa\xfe\xc9\x27\xe0\xe6\x5d\x6d\x0b\x77\xed\x5a\xd8\x96\xbe\x33\xa7\xd4\x57\xe8\xce\x9e\x6c\x9b\x44\xae\xa2\x77\x3a\x1b\x5e\x94\xfe\xe1\x74\xea\x9d\x73\xe5\xeb\xd9\x26\x67\xbb\x0b\x7d\xa5\x39\x56\x27\x6f\x76\xd0\xbc\xd7\x61\x0f\x67\x67\x3b\xcc\xbc\x73\x04\x7f\x18\x87\x62\x28\x41\xd0\xaa\x43\xbb\xf6\x41\x60\x39\x1e\x7b\xc4\x32\xe2\x63\xed\x82\x5d\xe0\x58\x8e\xb5\xe6\x83\x3d\x54\x07\x76\x41\xfe\x8e\x45\xca\xb0\x3c\xfe\xc5\x46\xd1\xc5\x1a\xed\xae\xb3\x96\x8f\x8f\xb6\xed\x6e\x6b\xdb\x0d\x61\x8d\xaf\x3a\x5f\x23\x6e\xdf\x79\x7e\x4e\x4e\x7e\xb5\x4f\x63\x2f\x18\x37\xeb\x9a\xf0\xd5\x15\x76\xbb\xda\x5e\x6b\x7f\x66\xc3\x54\x7b\xad\x5d\x6d\xb7\x3f\x13\xd9\x37\x7b\x5c\xc1\xc4\xa7\xa5\x7f\x3c\xfd\x34\xe8\xf0\xb6\x91\x54\xa7\x94\x24\x5f\xa9\x2d\xfd\xbd\x35\x8b\xc9\x56\x65\x15\xf8\xcc\xe6\x6c\x26\xcb\x5a\x5a\x5d\x12\xe5\x23\x57\x97\x67\x2e\xb0\xb1\x49\xb9\xe4\xd3\x11\x3e\x5a\x52\x0d\x66\xd0\x3d\x2d\x5f\x0d\xbe\x3c\x93\xdf\x54\x59\x83\x78\x94\x49\x21\xb3\xa2\x5b\x27\x4f\x72\x08\x12\xda\x27\xe2\x8c\x78\xf9\xf0\x88\x5c\x0d\xc3\x43\x51\x36\x6f\xec\x82\x2b\x3e\x97\x9e\x7d\xf0\x67\xd2\xb3\x5f\x5c\xb1\x30\x89\x9f\x2d\xf3\xc2\x41\xff\xf8\x8a\x32\xaf\xf4\x94\xf4\x94\x37\x58\x31\xde\x07\x87\xdc\x4c\xaa\x75\x6c\xfa\xc7\x9f\x49\xbd\x5f\x5c\x7e\xf9\x17\x90\xfc\x19\xe6\x92\x0b\xfb\xdf\x71\xc3\x6e\x6f\xa8\x62\xbc\x5b\x7a\x19\x62\xee\xf1\x15\x61\x8f\xb4\xdd\x9d\xc1\xa8\xdf\xa0\x46\xcc\x0a\xb9\xce\x31\xc0\x22\x8e\x15\xa3\x22\x0a\x04\xb1\x37\x22\x46\xdd\x36\x1e\x0b\x76\x24\xc4\xcc\x71\x11\x07\xc4\x40\x94\xb1\x29\x00\x2e\x02\xaf\x8b\x45\xa2\xa1\x04\x84\x6d\x3c\x70\x94\xdd\x2c\x40\x10\x07\xa2\x8c\xfc\x33\x21\x8e\x79\x4b\x7a\x37\x5b\xfa\x6e\x2c\x44\x67\x4a\x77\xcc\xb5\xb5\x6e\x2a\x01\x3c\x31\x30\x23\x62\x74\xc0\x45\xa5\xf9\xef\xd9\x2d\x6f\xe5\x89\xc7\x30\xd4\x8c\xb3\xb9\x57\xbb\xd6\xd6\x65\x35\x2c\x82\xe4\x9b\xd7\x59\x12\x1b\xdc\x6f\xea\x3f\xe7\xe0\x31\x7e\x62\xb5\x03\x5e\x01\xd8\x93\x48\x7f\xeb\x5e\x81\x1f\xa9\x48\x0f\x5e\x0a\x00\xcf\x52\xd6\x97\x43\x1b\xe7\x32\xa2\x2a\x84\x73\xc7\x78\xab\x07\xf6\x2f\xab\x85\x9b\x8b\x02\xf0\x59\x74\x3c\x0e\x41\x19\x0e\x06\x27\xfc\xb5\xe1\xad\x43\xf1\x0a\xcc\xf9\x58\x80\x0a\x9c\x08\x49\x13\xdc\x69\xc9\x44\xfd\x28\x56\xf0\x10\xa2\x71\x09\xbd\xaf\x3f\xd9\x38\x82\x4f\x5b\x83\xb2\xd0\x06\xb4\x13\x1d\x18\xd1\xe2\xc9\x33\x4f\x9e\xe6\x20\x41\xfb\xad\x5c\x10\x7b\x3d\x36\xab\xc0\x03\x47\x66\x05\xf9\x64\xbb\x35\x81\xa3\x11\x42\x99\x1d\x84\x00\x99\x2f\x19\xe4\x71\x7e\xdc\x89\x89\x70\x4f\x19\x51\xf6\x93\x47\xba\x65\x64\x5e\xc0\x12\xf9\x36\x27\x08\x44\x1c\xa3\x0e\x9c\xa0\x20\x3c\x46\xf6\xd8\x67\xf4\x06\xd4\x2f\xdc\xd9\x0e\xd1\x13\x12\x0d\xd0\xae\xde\x7c\xd9\x9e\x45\x94\x74\x8c\xdb\xba\x7b\x6f\x3b\xbe\xaa\x93\xca\xcd\xa6\xf5\xd5\x53\x3e\xd8\x65\x04\x9e\x61\xc1\x38\x69\xca\x0b\xf7\x43\x96\x45\xcf\xda\x05\xbc\xfe\xd6\xfc\xf1\x1a\x2d\xd3\xc0\xaf\xc1\xee\x1c\x5a\x9f\x6d\xb5\x4e\xed\xdb\x6d\xc0\x7a\x86\x05\xc3\xc4\xba\x57\x1e\x0c\xe8\xb4\xfe\x75\x37\xe6\x57\x6a\xb4\x74\x15\x3f\x67\xc7\x5b\xd2\x3b\xd2\xe3\xd2\x3b\x6f\xed\xd8\xf1\x16\x14\xc0\x04\x28\x78\xeb\xa3\x73\x74\x30\x78\x97\x43\x94\xb3\xe3\x9e\x85\xc7\xab\xd6\x6c\xdf\xd9\xca\xa6\x9f\xe4\xd6\x5e\xb8\xab\xb5\xe6\xa5\x7b\xb0\xd9\xa0\xd7\x78\xba\x8f\xb8\xc6\x69\xb4\x74\x83\x61\x25\xf6\x3b\x69\x7d\x5e\x01\xd5\xf8\xf1\x6e\x03\xa5\x93\x6f\x3b\x69\xdc\x89\xfb\xc1\x6e\xd4\xb1\x16\x9d\xae\xfb\x26\xe7\x38\x8d\x96\xa9\xd7\xaf\xa9\x54\xeb\x93\x8d\x1f\xee\xd4\x61\xf9\x11\xf4\x93\xfe\x48\x6e\xbe\x63\x64\x86\xf0\x25\xff\x6a\x1c\x05\x99\xbe\xd5\x8e\x3c\xa8\x08\x21\x88\x09\x76\xc1\x2f\xd2\x1c\xc4\x7c\x6a\xb0\xd3\x71\x4a\xf4\xe1\xa8\xd1\x6f\x37\x63\x96\x63\xfd\x10\xc3\x01\x5f\xc8\x4e\x1a\x16\xea\xa2\x6f\x7e\xff\xe5\xd6\xb4\xa3\x47\xfa\x47\x58\xfa\x4b\x0a\xd6\xa6\x3f\x80\x19\x93\xc0\x7e\xd3\x17\x6f\x48\x3f\x7d\x81\xfd\xd5\x18\x6a\xd9\x89\x6b\xbe\x90\xfe\x01\x87\x5a\xb4\xcb\xa5\xca\x53\xc7\x8f\x9f\x3a\xce\x22\xbc\xed\xb2\xaf\x03\xea\x3b\x0f\xc0\x5d\x47\xef\x97\x56\xa7\x57\x5e\x73\x30\x4f\xaa\x75\xff\x08\x3b\xde\x07\x6d\xfc\xb0\xf4\x8c\xf4\x41\x7a\xd6\xa5\x3c\x5e\xb7\x0b\xea\xce\x67\x8f\xcb\x27\xc9\xef\x15\x96\xeb\x17\xf3\x12\xd9\x4d\x70\xa1\x80\x88\x1d\x10\xa7\x12\x20\x8f\xc5\xe5\x77\x88\x22\x98\x4f\xcc\x09\x01\xd6\x89\xe3\x09\x2c\x38\x81\xe3\xe9\x00\x0f\x01\x27\x24\x70\x3c\x16\x94\x3d\x42\x0c\x07\x68\x64\xb1\x63\x1e\x68\xea\x72\xe9\x73\x69\xfc\xea\x31\xe6\x09\x37\xac\xd0\x6a\x37\xe8\x8b\xbe\xda\x14\xdb\xc5\x65\x37\x86\xe7\xa8\x0c\xda\x6c\x46\x58\x50\x69\xd8\x63\xb6\x85\x9b\x0b\xc3\xed\x93\xfd\xb5\x55\x6a\xa0\x78\x7b\xa1\xa3\xe6\xee\x8b\xa6\x1c\xef\x39\xb4\x2a\xa7\x58\x35\xae\x74\xde\xb2\x1c\xc3\xb5\x57\x82\x1a\x44\x1a\xcf\xb9\xed\x1d\xe9\xe4\x20\x82\xd2\x1f\x76\xc1\x6c\x18\x0f\xc5\x6d\xd2\x1f\x79\xca\x34\x63\x03\x2e\xfd\x6d\x8d\x4a\x4b\xd3\xc0\xcc\xf0\x72\x42\xb9\xe6\xa9\x71\xc5\x53\x2b\x73\x38\x75\x38\x80\xe9\x31\x3e\xcc\x99\xf5\x2a\x6a\xd1\x0c\x6d\x6d\x71\xfe\xe4\xf3\xa2\xad\xbf\x79\x40\x14\x67\x4d\xbc\x07\x16\xac\x9b\x2a\xad\x92\x7e\xbd\x63\x10\xbd\x7f\xdf\xd2\x51\x3c\xfe\x71\x45\xaf\x91\x26\x10\x57\x27\x08\x76\x3a\x1c\x8a\x13\xc3\x0f\x51\x6e\xf0\x22\xe6\x98\xaf\x1a\xec\x34\x58\x31\xa1\x52\x88\x99\xa3\x11\x1c\x20\xda\x8a\x66\xe6\xcd\x3b\x9e\xbb\x59\xfa\xcb\x79\x8d\xf3\x69\x7a\x7e\xe3\x79\x60\xbd\xf9\xb9\x3b\x2e\x90\x5e\xbd\x3b\x8f\x7f\x50\xfa\xd5\x67\x97\xc9\x75\xe3\x61\xea\x2e\xa8\x80\xdb\x6f\xba\xa2\xf3\xfc\x2b\xcf\xbf\xe9\x85\xe7\x6f\xda\x72\xf9\x96\x55\x97\x5f\xcf\xe4\xae\x3d\xb0\xa3\xed\xd4\xbe\xa2\x7d\xa7\xda\x76\x1c\x58\xbb\x7a\x2b\xa8\x0e\x7e\x0d\x0d\xc7\x1f\x96\x6b\x12\x6c\x19\xf8\xa1\x57\xba\xf7\xe2\xba\xd9\x95\xb0\xe4\xb3\x4f\x61\x49\xd5\xac\xb1\x17\x49\xf7\x65\xe6\x27\x46\x0e\x31\xdf\xa0\x62\x14\x45\x75\x68\x02\xd1\xbb\x71\x2b\xb3\x56\x37\x0f\x72\xae\x59\xaf\xc7\x14\x89\xc7\xe2\x66\x3f\x4b\x99\x91\x3b\x24\xf8\xc2\x21\x42\x83\x63\xa7\x48\x93\x2d\xff\x6e\x40\xd6\xfc\x82\x10\x60\xc1\x4d\x26\xb5\x1c\xe2\xfa\x2f\xf9\xc3\xc1\xa5\xf7\x87\xe0\xce\xca\xcf\xa5\x13\x77\x3d\x71\xf7\x67\x3f\xfd\xaa\xd4\xb4\xf0\x05\xb0\x3e\xfa\xf7\x3a\x78\x0c\xb2\x9d\x06\x34\xf8\x50\xb2\x73\x4e\x79\xe3\xf2\x09\x5d\xb3\x57\x1f\xb8\xe0\x37\xe3\xc3\x3f\x3e\xbf\x78\xee\xc6\xeb\xb7\x3d\x12\x5c\x02\x3f\xe0\x77\x98\x77\xae\xd9\xff\x36\x9e\x57\x59\x7e\xe0\xd7\x6d\xb3\x8f\xfe\xe3\xd2\x59\x9b\x80\xdb\xd8\x53\x73\x37\x74\x7e\x3f\x5d\xfa\x0a\xcc\xb0\x08\x36\x3b\xe2\x4b\xea\x37\xdd\xf3\x30\xfc\x6c\xd6\x92\x09\x65\x77\xaf\xbb\xbc\x7f\xfb\xdc\xb6\x59\x93\x3e\xbc\xec\x55\x3c\xe5\xea\xa7\x9f\x1e\x5a\x67\x4b\x71\x8a\xce\x48\x18\xa1\xd1\x88\x30\x65\x57\xd3\x76\xd6\x7e\x61\x74\xe4\xc6\x34\xb2\xe8\x7f\x24\x3b\x96\xac\xb2\x9b\x99\x76\x01\xd9\x88\x18\x20\x1b\x11\xd0\x91\x76\xd5\xb7\xb7\xd7\xb3\xc9\xfa\x76\x70\x51\x24\xe1\x40\x52\x6f\xb1\x50\xaf\x0e\x28\xf8\x97\xa1\xfd\x86\x54\x06\xf3\xa2\xe4\xcb\x3e\x98\x62\xff\xc4\xa4\x90\x80\x12\x08\x59\xc2\x2c\xc7\x53\x0a\x08\x5a\xb0\x0b\x99\xbb\x17\x0e\x9b\x3b\xc6\x28\x86\xa7\x38\x36\x40\xb6\xda\x14\xe9\x6b\x27\x25\xf8\xc5\xab\x7e\x3d\xa1\xd2\x17\xe4\xa9\x2c\xb3\x85\xc6\x61\x67\xd5\x22\xe9\x9b\xf2\x86\x06\xfa\x4b\x88\x94\x37\x34\x94\x3f\xf4\x86\x51\x2a\xc6\xd6\xa2\xa9\xf1\x0b\x9b\x5c\x45\xb5\x1e\xaf\x4d\x63\xb6\xce\xa9\x29\x9d\x5a\x15\xf6\x9a\xe0\x8d\x06\x26\x95\x9c\x53\x79\xfe\xa5\xab\x8e\x2c\x9a\x6f\x51\x7f\xdd\x7a\x6f\x67\x43\x39\x93\x25\x9f\x78\xea\xcb\xf2\x86\xdf\xc1\xd2\xe5\xa5\x53\x26\x54\xe8\x1c\xf5\x39\x0d\x4f\x1f\x3b\xf6\xe2\x34\xb1\x30\xa9\xd7\x69\x85\xb2\x0a\xd7\xb2\x07\x87\xb5\x6b\x98\x0b\xc8\x7a\xc9\x04\x74\x2f\xfa\x35\x42\x0c\xa7\x50\x84\x28\x50\x68\x31\xae\x80\xb8\x33\x66\x51\x64\x12\x27\x7b\x81\x13\xec\xdc\xd9\xd6\x2b\xf1\x8c\xe9\x8a\x60\x67\xac\x84\xa2\xd8\x43\x2e\x12\xf5\x92\xeb\x08\x61\x53\xc6\xe2\x4a\x81\xb2\x8b\xf1\x58\x3e\x0c\xd1\x1e\x2b\x5a\x4c\xa6\x0c\x7b\x9b\x12\x34\x00\x61\x44\xc9\xfc\x8c\x56\xaf\xdb\x14\xce\xf0\xc4\xc8\x79\xa0\xec\xd6\xe1\xac\xca\xa9\x09\xb2\x9d\xbc\x88\xcc\x05\xec\xfa\x03\x37\x1d\xbb\xe3\x86\x83\xeb\xd6\x27\x8a\x74\x74\x24\xcc\x80\x39\x37\x74\xde\x92\xd4\xee\xfd\xd7\x5c\x9a\x5a\xcc\x6a\x0c\x3a\x9b\x4f\xb2\xd5\xd7\xd9\x72\x4d\x06\x8d\x3a\x51\xcf\x68\x0c\x46\x6c\x56\xd5\xd7\x1b\x9d\x66\x3d\xcb\x8d\x1d\x6b\x76\xe6\xc0\x0b\xc1\xd2\x19\xcd\x6f\x7d\xfb\x56\xf3\xcc\x62\x03\xa8\x23\x21\x8d\xbf\x06\xa8\xa5\x2b\x0f\x5e\xf7\xda\xeb\x07\xc6\xc4\x72\x0d\xc6\x5c\x9e\x17\xb5\x9d\xfb\x27\x4d\xec\x5c\x35\x31\xb9\x76\x77\xc7\x43\x97\x4d\xde\xb7\xf7\x85\x17\xf7\x46\xb3\xb0\x4a\xe3\xb6\xdb\xf2\x6d\x26\x6a\x8d\xd3\x39\xf0\x26\x14\x6c\x0f\xae\xd9\x76\xc1\x5b\xcd\x33\x4a\x83\xf9\x6a\xad\xd6\xa1\x57\x73\x5d\xcb\x53\x07\x2f\xbd\x24\xc7\xac\x06\x4a\xbf\xf3\xee\xdb\x6f\xb8\x52\xcb\xae\x4f\x24\x93\x75\xdd\xdd\x07\x56\xcc\xcd\x55\xa9\x72\x81\x5a\x30\x7e\xfb\x79\x4b\x62\x95\x95\xf1\xc5\xac\x86\xa6\x2c\x7e\x3c\x93\xe4\x58\x53\x5b\xcf\x18\xb1\x81\xe7\x34\x63\xeb\x8d\x79\x66\xa6\x7e\xac\xc9\x99\x33\xe5\xfc\xb5\x2b\x67\x34\x2f\x5c\xd8\x3c\xb3\xd3\xcd\xe5\x98\x8c\xb9\x4b\x1b\x60\x16\xbe\xa2\x63\xc5\x89\x03\xd7\xbd\x66\xd4\x86\xc2\x2a\x8a\x62\xaf\x59\xb1\x7c\xc2\xc4\xe6\x49\x2d\xd2\xd2\x71\x93\x2f\xfb\xd9\xa2\xe7\xf7\xed\xdd\x1b\xf5\x60\xad\x5a\xa3\x62\x04\x03\xbe\xcb\x20\xac\x95\xf2\x8a\x66\x5b\x82\x0b\x9b\x67\xac\xec\x86\xd7\x54\x56\xa3\xde\xc1\xb5\x16\x55\x56\x68\xca\xb2\xf5\x46\xba\x2a\x39\x46\xae\x33\x79\x83\x88\xfd\x98\x45\x28\x07\x25\xd0\x26\xb4\x13\x21\x7f\xcc\x6e\xe5\x78\xda\xeb\x09\x52\x81\x20\x10\x51\x66\x81\xf6\xc7\xfc\x76\x96\x88\xc7\xc7\x13\x10\x08\x52\x3c\xf6\xf2\x54\x11\x56\x08\x6e\x62\x76\xb0\x3a\x71\xbe\x3c\x20\x29\x03\x31\xc0\x53\x64\x9b\x9e\x89\x2b\xbf\x3c\x4f\x71\x7e\x62\x80\xe8\xa4\x6c\x60\x25\xc6\x08\xb1\x5a\xe0\x29\xd6\x60\xb0\x1b\xf4\x89\x4b\x6e\xfc\xe8\xfc\x2d\x5f\xff\xfc\x8e\x65\x1e\x15\xcd\x6a\xf4\x4c\xef\x6a\xb8\x14\x6e\x7a\x1a\x6e\xd0\x9a\xac\x9e\xb0\xc9\xac\xb6\x95\x99\x18\x9b\xdb\x51\x62\x29\x06\x96\x57\xa9\x19\x96\xa2\x00\xd8\xae\x50\x70\xbb\xb4\x3b\xc7\x2f\xf2\xfa\x4f\x0b\xa6\x59\x2c\x5a\x5e\xdc\x72\xc5\xfe\x5d\x9d\x89\xca\x96\x8b\xb6\xee\x5d\x1a\xb2\x79\xe6\xb1\xb6\x9a\x48\x8d\x59\x7a\xaf\x64\xc1\xc5\xc7\xcf\x5b\x76\xdb\xe2\xb1\xd9\xe9\x8e\x09\xf5\x93\x67\x3b\xf9\xea\xce\x35\x63\x6b\x58\x36\xcf\x62\x8c\xcf\x18\x57\x91\x68\xdd\xdc\x56\xa8\x36\xa8\x19\xa0\x37\x57\xfc\x6c\x6e\xc1\xef\x8c\xab\x2a\x66\x15\xf2\x1a\x4b\xe9\x8d\x76\x4e\x4d\x61\x8c\x15\xb1\x58\x8c\x8d\xe5\x2c\xa7\x83\xbb\xf3\xeb\x43\x45\x5a\x6d\x9f\x7f\xaa\xd5\xaa\xb5\x57\xcf\x2b\x60\xcb\x67\x5d\xd3\x3a\x7b\x6f\xdb\xe4\xc2\x5c\x35\xde\x31\xd6\x15\xc5\x76\xff\xcc\x78\x4e\xcd\xf9\xab\x67\x56\x84\x26\xb7\x4d\xf7\xa4\x6f\x9d\x5b\x56\x62\xcf\x5e\x52\x5a\x79\x1b\xb6\x96\x2d\x1a\xb6\xf9\x49\x91\x3e\x2a\x4c\x10\x5a\xab\x46\xd8\x84\x0e\xb1\x2a\x9f\xb6\xcd\x1d\xf6\xf9\x33\x9c\x96\xd1\x0c\xc7\x25\x33\x2a\xac\xe0\x4b\xff\x1b\x6b\xf5\x8c\xb1\x16\x91\xe8\xce\x08\x83\xa7\xda\xeb\xe5\xc6\x52\x71\x06\x47\x0a\x30\x8d\xf0\xd3\xa9\x53\x29\x0a\x9d\x45\xc8\xa2\x20\x21\x50\x53\xe4\x34\x7e\xa5\x43\x6e\x7e\x3b\x32\xdf\x8a\x2d\xba\x82\x28\x1c\xe1\x3f\x65\xa6\xd1\x00\xc2\xc9\xd1\x57\x22\xde\x33\xca\xc7\x40\x54\x0e\xc2\x04\xc1\x66\x1b\xd9\x27\x84\xec\xe0\x36\xb9\xff\x3d\x17\xe8\xbf\x29\xd0\x70\xc8\x4e\xa7\xcc\x7c\x5a\x81\x8d\x24\x79\xf3\x00\x62\x52\xa7\x52\x30\xa2\xa3\xa0\x46\xea\x53\xa5\xce\x59\x6a\xa9\x48\x13\xf4\x0c\xa5\x31\xa7\x7f\x47\xa3\xde\xb3\x9e\x59\xf1\x4f\x3b\x77\x41\x35\x9d\x59\x27\x02\x28\xae\xd4\x09\xff\x69\x8a\x33\x91\xb4\xca\xc3\xda\x43\x19\x3b\x74\xc1\x6e\xfd\x3f\x2b\x87\x79\x41\xb5\x43\xf3\xe4\x93\x8a\x8d\xf9\x53\x4f\x29\x56\xe7\x43\xe1\x27\x9f\x54\x0f\xb8\xfe\x67\x45\x73\xfd\xb9\x2f\x37\x1c\x96\xfa\xfe\x77\xe5\x65\x45\x59\xa8\x00\x55\xa2\x85\x44\xa7\xc6\x13\x18\x36\xd4\xcf\x58\xeb\xff\x5f\x15\x10\x23\x48\x48\xe3\xd0\x48\x7d\x4a\xd6\xdf\x07\xe5\x59\xfa\x3b\xfe\x67\xc5\x82\x6b\x24\xa4\x56\x83\x4b\x29\x90\xf7\x41\x29\x91\xf4\x98\xff\x41\x61\xc0\xf0\x98\x37\x2f\xd3\x8e\x00\xe9\x9a\x87\x9c\x11\xab\x13\xd0\xeb\x10\x71\x96\x49\x18\xfa\x16\x1d\x3f\x12\x9c\x3c\x8b\x44\xc7\xc0\xa5\x70\x3f\x2f\x3a\x24\xc5\xe9\x57\xe2\x53\x0e\x51\x59\x57\xa4\x95\xb9\x0f\x51\x1d\x41\xa1\xf8\xf0\x3a\xf9\x10\xf9\x81\x9f\xec\x94\x0c\x2f\x19\xc5\xe0\xe9\xdd\x09\x62\xf6\x39\x1b\xee\x82\x12\xe9\x0d\xa9\x45\x7a\x03\x23\xf9\x61\x0e\x9c\x30\xe7\x9a\xef\x86\x5e\x43\x7a\xbd\x7c\x0b\x7c\x0d\x5d\xa1\x1c\x86\x12\xb8\xab\xc9\x9c\x6b\x3e\x71\x40\x4e\xb6\xe5\x6e\x65\x4d\xd3\x3f\x88\xd8\x3f\x90\x3e\xca\x4f\x30\x38\x64\x09\xea\xf4\x72\xcb\xe9\x1f\x2b\x24\xc0\xf0\x4e\xc5\xe9\xd6\x34\x43\xdc\x20\x0f\x23\x6d\xec\xeb\x1a\xcd\xbe\xdc\x82\x53\xc4\xde\x14\x27\x15\xab\x54\x54\x90\x3b\xf0\x24\x28\x26\xaa\x14\xe1\x49\x3b\xd5\x5b\x90\xbb\x8f\xa4\xc4\x08\x10\xfd\xb6\xc6\xa1\xd9\x97\x2b\x3a\x40\x61\x02\x13\x1d\xc9\xdc\xfe\xf7\x09\xc6\xdf\x41\xf5\x2a\x04\x61\xb9\xfb\x48\x9a\xde\x5e\x65\xbd\x5d\x85\x98\x7e\x82\x2b\x96\xdf\x65\xa4\xec\x25\x73\xc0\x06\xfc\xcc\x10\x62\x3a\x16\x87\x98\xc0\xf8\x63\x8c\x89\x31\xf9\x4d\x7e\x13\x98\x18\x13\xf7\x59\xae\xdd\x9c\x4e\x65\x65\xa5\x6f\x48\xdf\xa0\xe1\x2d\xa6\x5c\xbb\x19\xa7\xb2\xb2\x70\x27\xee\x74\xf5\x67\xe1\x64\x7f\x07\x76\xd1\x7d\xe9\x3e\xe6\x3b\xab\xfb\x54\xca\xea\xe2\x06\x91\x56\xfb\xfd\xf7\x8c\xd6\xea\x66\xe4\x20\x90\xa0\xfe\xa6\x7e\xcd\x17\xf4\xf7\xfa\x7e\xcd\xbb\xf4\xf7\xa7\xd2\xf4\xf7\xef\xf6\x6b\x46\xae\x0d\x9b\x90\x17\x45\x87\xfa\x1b\x0e\x58\x05\x2b\x18\x87\x98\xfb\x1c\x31\x43\x1b\xe1\xf2\x6b\x25\x67\x1b\x23\xbd\xc5\x24\xb9\x38\x95\xde\x62\x82\x3e\x8e\xfe\xf2\x8c\x60\xff\x5d\x2a\x16\x23\xb3\x45\xaf\x62\x25\x64\xb6\xb0\xc8\xa2\x3f\x95\xb4\xaa\x06\x11\x6d\xd1\x33\xbd\x56\x15\xc8\x9e\xd1\x31\xd4\x20\xd2\x58\x4e\x25\xf5\x16\x0a\x90\xc6\xc2\xf4\xea\x2d\x43\xfb\x35\x2e\x4e\x7e\xcd\x39\x64\x40\x02\xaa\x3c\x5b\x51\x65\xc8\x55\xd0\x9d\x01\x96\x61\x89\x29\x66\x3c\xc1\xc5\x83\xa0\x40\x3d\xb1\x22\x9c\x02\xbf\x39\xd3\xf9\x46\x5a\xf6\x8f\xb5\xcb\xef\x97\x4e\x45\x3c\x3a\x2b\x45\x67\x31\x7e\xde\x6d\x70\xf0\x06\xe6\xc0\x9d\xdf\xc0\x2d\xf0\x25\xdc\x82\x1b\x47\xd0\x7a\x2a\xff\x10\x94\x6e\x97\xde\xbd\xd7\x7c\x7f\xa5\x86\x02\x5e\x6b\xb0\x33\x6e\xde\xef\x28\x2f\x1f\x17\x58\x90\xbe\xe6\x01\x08\xdc\x7b\x2f\x3a\xad\x97\x36\x9c\xef\x20\x61\x74\x1d\x65\x1b\x34\xe4\x62\x17\x2d\xbf\x2f\xf9\xc0\xb1\x5c\xac\x0e\xe4\x71\xb9\x2f\x66\x14\xc1\x3a\xfc\x40\x5e\x8f\x18\x88\x8a\x31\x31\x81\xe3\x09\x26\x4e\x34\xa9\xc0\xe7\xa2\x9d\x70\xce\x27\x3b\x29\x75\x4a\x47\x5e\xbf\x66\xe7\xbc\x9c\xac\xe0\x0d\x17\x16\x57\x8d\xaf\x7d\x05\x96\xbe\xfe\x3a\xcc\x90\x1f\x78\x42\xe3\xf3\xd2\xa9\x8a\xb1\x8c\x21\x8b\xa6\x18\xd0\x60\x1d\xe6\xca\x6d\x85\x59\x4e\xed\x91\x5f\x9c\x5e\xea\xc0\xbf\x38\xfb\xb9\x53\x7b\xfe\x72\x65\xf7\x6f\xa6\x84\x3a\x5a\x67\xd4\xad\x16\x59\xd5\x9e\xbf\x80\xf9\x2f\xd2\x9e\x07\xa4\x77\xef\x55\x3d\x38\x8e\x57\xd9\x4c\x40\x1b\x69\x03\xc5\x63\x55\x54\xa8\x0c\x4e\x2a\x98\x0f\xec\xe1\x9d\x5f\xdd\xb7\x7c\xf9\x7d\x5f\x91\xdf\x51\x4d\x23\xe6\x9f\x88\x42\x2c\xd2\x20\xbd\xdc\x4a\x9b\xd4\x60\x82\x6c\x20\x2e\x46\x18\x49\x48\x22\xdf\xb2\x1f\xe6\x43\x20\x7d\x5c\x7a\x87\xda\x92\x3e\x0e\x05\xf4\xad\xb2\x1f\x4f\x97\xde\x95\x63\xc9\xba\xe1\xcc\xc1\x5e\xf6\x7e\x26\x49\xec\xd0\x59\x40\x5e\x0f\x25\x52\xd8\xeb\xe1\x02\x89\x8c\xd5\xab\x59\x99\xdf\xc4\x63\x5e\x0f\x67\x66\xec\xec\xfd\x1a\xe9\x69\xe9\xbf\x3e\xbf\x7a\x49\x49\xcb\xa4\x39\xe6\x35\x53\xb3\xee\x0a\xde\x32\x67\xd1\x26\xa1\xc4\x1e\x1f\x1b\x5e\xb1\x5c\xa5\xdf\x56\x95\xdc\x0a\xb3\xfa\xa9\x53\x7f\x91\x16\x4b\x33\x80\xeb\x81\x7a\x60\x9b\x96\xd8\xae\x2f\xb8\x4a\xa5\xbe\x64\x8f\xf4\xf1\xdc\x1f\x7f\xf2\x93\x39\x7b\x1c\x70\xa5\x56\x85\xce\xe0\xc1\xa1\x90\x86\x30\x6b\xbb\x81\xb2\xb8\x2d\x14\xb0\xe8\x14\xa2\x6b\x3f\xf8\x20\x7d\xd9\x07\x1f\x40\x2d\x93\x3a\x85\xe0\x0e\xbc\x05\x0a\xa5\xb7\xd3\x57\x4a\xaf\xa1\x33\xb4\x2b\x28\x64\x46\x63\xd1\x9c\xcc\xf9\x1c\xe1\xdc\x8e\x07\xe2\x01\x6f\xc0\xcb\x31\x21\x3b\x17\x8f\x04\xf1\x10\x29\x48\xc8\x46\x50\xe6\x36\x77\x34\x10\xc4\x09\x88\x9a\xc2\x71\xaf\x47\x1e\x49\x47\x12\x18\xa2\x04\xa4\x17\x35\xb9\x39\xc1\x9e\x49\x27\xe7\x83\xda\xab\x6b\xcc\xcf\x5e\xb5\x2a\x3b\xbf\x51\xb7\x28\xea\x8a\x4a\x87\x5d\xd9\xf0\x80\xb7\x7e\x52\xc5\xa5\xbb\x3b\x9a\xac\x1a\xfd\x64\xe8\x3d\xc4\x32\x18\xe0\x19\xf1\x8f\x2c\x4d\x53\xba\x1c\x7c\x7e\x8c\x63\xb0\xf4\x95\x30\x4b\xd0\xf1\x13\xe4\xec\xd3\xbd\xee\x59\x1b\xb2\xab\xaa\xb2\x37\xcc\x72\x77\x74\x1c\x73\x95\xd9\xe2\x8d\x7e\x7e\xe3\x45\x93\x52\x2a\x69\x27\xaf\x03\xae\x65\x2e\x0f\x40\xd3\x1a\x06\x76\xa5\x58\x96\x6a\xce\xc9\xc9\xd3\x0e\xfc\x72\xae\x1a\x28\x4a\xc7\x62\xd5\x72\x3b\x67\x95\xae\xe6\xd5\x58\x3d\x57\x79\xf6\x65\xa4\x0d\x2a\x43\x55\x68\x06\x6a\x55\x94\x22\xc8\x86\x8c\x2b\xb3\x09\x93\xa1\x68\xf7\x5b\x12\x20\x30\x04\x5a\x22\xbf\x2b\x51\x3f\x45\x13\x80\x03\xc8\xbd\x0b\xe9\x67\x20\x16\x09\x88\x9e\xcc\xc4\xd4\xc3\xb1\x56\x45\x79\x50\x1c\xa2\x81\xb6\x72\xa8\x3a\xa4\x7b\x53\xda\x2f\x35\x4b\xd7\xbe\xa9\x0d\x27\x36\xcd\x9a\x53\xf3\x1e\x14\x6e\xa2\xb2\x78\x58\x6f\x9e\x54\x9c\x68\x69\xd9\x3e\x4f\x7a\xa8\x13\x4a\xfe\x30\x66\xce\xac\x4d\xa7\x6e\x9b\xb7\xbd\xa5\x25\x51\xdb\x42\x15\x69\xb5\x1a\xa7\xb6\xb0\xa7\xa7\xa7\x50\xeb\xd4\x68\xb5\xc5\xd7\xb7\xb7\xb4\x5f\x6f\xdf\x3e\xaf\xa5\x36\xd1\x82\x1f\x1a\xb3\x28\x3b\x18\xba\x59\xfa\xe1\xc6\x1b\x41\x75\x73\x59\x59\xf6\xe2\x31\x33\x37\xd7\xdd\xa0\xc1\x6a\xbd\x91\x9a\xe1\x2f\x9d\xb7\xbd\x65\x5e\x62\x8a\x54\xa0\xbe\xbe\x76\xb3\xf4\x47\x72\x93\x16\xa9\x43\xeb\xd4\x6a\x34\x45\x05\x05\x45\x1a\x8d\x26\x5f\x5b\x1c\x52\xab\x43\x3f\xc8\x37\x9b\xb7\x9d\xd4\xe9\xf1\x83\x98\x7d\x82\x45\xa8\x1c\x21\x4b\x38\x41\xf9\xc2\x21\x5a\x90\xbb\x34\x27\x95\x80\xb8\x89\xd5\x41\x40\xc4\x01\xd1\x1c\xe7\x81\x73\xc7\x82\x74\x19\xf0\xd4\x78\x30\xce\xb9\xf6\x69\x80\x83\x7f\x84\xb5\xeb\x3a\xfb\x6f\x86\x95\x77\xfd\xfe\xed\x97\x26\x2f\x94\xbe\x92\x6e\xdb\xf7\xd4\x77\x98\xfa\xec\xf7\xe5\x35\x46\x7c\xa1\xca\x95\x98\x3e\xb3\xc1\x6e\xbf\xfc\xc7\xe7\x6f\xc2\x9f\x5f\xfc\xc7\xdf\x1c\x9a\xfb\xfb\xe7\x9f\x18\x7c\x72\xdd\xb1\x99\x2e\xc7\xb8\xb0\x74\x79\x7c\x0a\x8e\x4d\x86\x8e\x5f\x7d\x0b\xb3\x97\xd4\xec\x6a\x9f\x7a\xf1\xd4\x4a\x87\x01\x80\x99\xbe\xf3\xfa\xa1\xfa\x4a\xb0\xf5\x0a\x1b\x7d\x0e\x42\x51\x93\x3b\x33\xa4\x90\x2b\xa4\xdb\xe6\x8e\x0e\x0f\x96\xc2\x6a\xd4\x5e\xff\x43\xb2\xbe\x1d\xa7\x20\x95\x46\x80\xd8\x8e\xfa\xf6\x7f\xa2\xf6\x7a\x17\xee\x48\xf7\xd4\xb7\xb7\x83\x87\x98\xb0\xa4\xda\xeb\xfb\xfa\xea\xdb\x87\xb1\x9d\x4f\x10\xbb\x95\x72\xb9\x7f\xf7\x93\x2d\x39\xb9\x22\x28\x7a\x92\x71\xa2\x26\xa5\x2c\x58\x87\x43\x3e\x35\xb0\xc8\x3d\x42\x70\x54\xa0\xbc\x44\xfe\xde\x09\x3c\xb0\xe5\xef\x4d\xf9\x6e\xdf\x75\x3f\xec\x9f\x73\xed\x0b\x6b\x77\x9d\x6c\x7a\x7b\xad\x74\xf4\xe5\x9f\x48\xef\xbd\x71\xf1\xc5\x6f\x80\xf8\x93\x37\x61\xbd\x94\xc4\xbf\xd8\x24\x35\x4a\x5f\x3f\x3c\xb4\xc2\xfb\x30\xd0\x70\xc7\x45\x47\x03\x1d\x57\xb8\x4a\x75\x9a\xd2\xef\xd7\x6d\xbd\x6a\xff\x0f\x07\xd6\xbe\x70\xed\x9c\x0b\x56\x5f\x74\x77\xef\xc5\x6f\x48\xef\x49\x4f\xcb\x97\x78\x0b\x4f\x90\x7a\xd2\xd2\x7b\xa7\xdb\x4a\xe9\xbb\x93\xd2\xa6\x1e\x20\xe6\x24\x88\x46\xae\x41\xc4\xf6\x65\xf8\x74\x33\x7c\x04\x71\x37\x04\x4c\x90\x0f\x26\x35\x76\x03\x73\x5d\xfa\xa6\x85\xd4\xbc\x53\xbf\x78\x94\x3e\x6a\xbd\x2e\xfd\x17\x58\x28\xe9\x06\xee\x86\x65\x54\x35\xec\xbc\x7e\xe0\xc3\x4d\xd4\x82\x74\x76\xc7\xa2\x81\x9f\xc2\x74\xbc\x63\xe0\x43\x5c\x3d\x54\x36\x29\xe6\x1b\xb2\x9f\x7b\x11\x42\x40\x14\xc9\x87\x25\x6b\x86\xfd\x8c\xc9\x9d\x41\xb2\xb8\x4d\x91\x6a\x08\xe5\x41\x78\xc8\x8d\x0e\xbb\x09\x6c\x0f\x9b\x86\x35\x89\x6d\x0a\x5d\x4e\x2c\x1c\xca\x53\x76\x1f\xbc\x1e\xce\x16\x8a\x39\xf1\x19\xe7\x54\x43\xc8\x66\x52\x5c\x9c\x32\x76\x18\x8d\x1d\x46\x8c\x86\xdc\x74\xaa\xbb\xa7\x3b\x2d\x47\x0f\x7f\x18\x1d\x67\x04\x97\xbb\xc4\xed\x2a\x15\x6d\x53\x8d\xa6\x1a\xce\x38\x21\xc7\x3c\xd9\x52\x10\x02\x23\xa7\x63\x46\xa6\xc5\xc6\x3e\xe3\xe9\xff\xb4\x11\x92\xcd\xdd\xdd\xcd\x52\x2f\xfe\xc6\x68\xec\xc6\xdd\x46\x63\x37\xf9\xb0\x1c\x05\x00\x97\x1b\xbc\x82\xcb\x25\x78\x0d\x26\x8d\xc1\x60\xfc\x9d\x41\x6f\xd0\x5d\x0a\x40\x71\x6c\x77\x26\x61\x7a\x7f\xb7\x51\xd1\x78\x24\x75\xb5\x4b\x61\xc0\x52\x86\x5b\xb5\xe0\xb6\x0b\x4e\x86\x8c\xeb\x87\x48\xde\x94\x99\xa4\xd7\x13\x64\x02\x41\xca\xeb\x26\x80\x1f\x45\xe5\x29\x1c\x92\xfb\x5a\xb6\x1a\x32\x8d\x8f\xdc\x03\x7b\x3d\x3c\xcd\xb1\x9c\x5c\xc3\x05\xd5\x37\x46\xa3\xd4\xab\x52\xa9\x39\xe3\xc0\x4f\xfd\x41\xa3\x29\x5f\xc8\x77\x99\x3a\xcc\x3c\x90\x31\xbf\xd4\xcb\x9b\x3b\x5c\x63\x4a\x82\xb9\x01\xb3\x45\xc8\x2d\x29\xcd\x92\x6e\xb0\x5f\xd5\xd2\x75\xf8\x70\x57\xcb\x55\xf6\xce\xac\xd2\x92\x5c\xc1\x62\x0e\xe4\x06\x4b\xc6\xb8\x56\xd9\x96\x24\xe4\x87\x4e\x2c\xb1\xad\x32\xb9\xf2\x85\x7c\x93\x31\xe8\xa7\x17\xb8\x8c\xf8\x0f\x2a\x51\xd5\xcb\xd0\x1a\x73\x6a\xcc\x2a\xbf\x2f\xe1\xf2\x19\x3b\x86\x2e\x6e\xe6\x3b\xac\x39\x31\xb1\x29\x50\x18\xad\x9a\xec\x99\xbd\xfa\xf0\x1b\x87\x57\xcf\xf6\x4c\xae\x8a\x16\x06\x9a\xc4\x58\x8e\xb5\x6a\x62\x77\x4f\xf7\xc4\x2a\xa3\xcf\x95\xf0\xf9\x57\x8d\x49\x99\xad\xda\x33\xb1\x01\x1c\x32\x21\x37\x19\x93\x10\xf0\x0b\x32\x8a\x5e\xb7\x29\x4c\x7c\xa3\x40\x2d\x17\x4f\xaf\x4c\xa7\x2b\x01\x3f\xb2\x4b\x9a\xfe\xf3\xf4\x4e\x7c\xf9\xb9\xd0\x2a\x89\xee\x69\xa0\x97\xfe\x09\xf4\xa3\x03\x29\xd0\xc3\xca\x73\x6c\x9e\xc8\x6d\xc8\xbb\x6a\xc4\x04\x50\x00\x8d\x41\x53\xd1\x62\xa2\x41\x1c\x60\x87\xf8\x9b\xe2\xb1\x68\x44\x59\xab\xb6\x0b\x72\x73\x1f\x50\xb6\xf8\x09\x02\xee\xb4\x7a\x87\xa2\x11\xe7\x04\x41\x91\x81\x97\x4f\x33\x06\x44\xb2\x44\xe5\x33\x0e\x47\x45\x23\xca\xa2\x94\xc0\xae\x69\x88\x72\x46\xae\x30\x4b\xa7\xcb\xcf\xd5\x08\xdb\x7e\x77\xe1\x65\x9f\xc4\x56\x37\xdb\x4b\x92\x42\xe3\x4a\xf9\xe7\xa0\xed\xd3\xd7\xdd\xf8\xd2\xd5\xfd\x7f\xba\xfb\x9b\x17\x0f\x25\x20\xf1\xcb\x3f\x43\xab\xb0\xe9\xc6\x53\x8b\x85\xc2\x2c\x8b\x43\x67\x9e\x38\xd1\xac\x8b\xd4\x99\x17\x03\xba\x4c\x28\x14\x2c\x0e\xbd\x79\xf5\x6a\xb3\xde\xe1\x48\x98\xe1\xe1\xea\x45\xb6\xd2\xb2\xac\x5c\x4a\x53\xe5\x9c\x38\xe9\xc2\xd7\xb7\x1d\xb8\x20\x77\x9a\x90\x2c\xb1\x37\x1e\x7a\xe3\xd0\xba\x69\x57\xbf\xf8\xd7\xbb\x6f\xfc\xcc\xfe\xe8\x67\xd2\x2f\xff\x98\xfd\xc4\x05\x0f\xee\x77\xeb\x4d\x75\x8e\x4e\xc0\x9d\x8e\x84\x4f\xef\xb8\xba\x41\xca\x7a\xc1\xa3\x37\x27\x1c\xb7\x3f\xf7\xcb\xdb\x1c\x75\x26\xb3\x2e\x07\x61\xe4\x1b\x44\xcc\xfb\x64\x1f\x7e\x2d\x42\x0c\xe9\xf5\xe4\x77\x55\xe1\x65\x64\xe5\xaa\x1a\x8d\x24\xa8\x90\x93\x22\xf0\xdc\x7c\x20\x9a\xa4\x74\x40\x0c\x04\xa9\xe8\xd0\x12\x1b\xe1\xf8\xf2\x16\x41\x90\x26\x16\x5f\x44\xd5\xd4\x49\x09\x4e\x15\xf3\xfe\xc5\x3f\xdf\xb1\xe3\xe7\x17\x9f\xdc\x78\xb3\xfb\xc0\xc9\x35\x8f\x5e\xb8\x24\xe6\xd5\xa9\x73\x4b\x67\x75\xcd\x2c\xc9\x51\x09\xb9\xab\x03\x05\x1b\x0f\x9b\x4b\x63\xed\x6d\x93\x73\x0d\x9b\xae\x5e\x51\x58\xd8\x7a\xd9\x0b\xdb\xb6\xbe\x78\xc9\x02\xd1\x59\x1c\x2b\x31\x61\xd6\xe2\x88\xf8\x82\xb9\x56\x43\x8b\xdf\xdf\xb0\xb4\x48\x23\x36\x5c\x3c\xaf\xe9\xa2\xb6\xc9\xe5\x1e\x8b\x06\xeb\xe7\xef\xd8\x31\x7f\xc1\x8e\x1d\xcf\x18\x1e\x3c\x7f\x4a\x72\x5a\xd1\xb8\xb9\xb3\x67\x86\x79\x4b\xd9\xd8\xb0\xcf\x5b\x56\x1d\xe0\x3d\x65\x39\x4e\x0c\xe7\xcd\x74\x94\x96\x88\xa1\x52\x8f\x9e\x8b\x2f\xd8\x70\x65\xfb\xb4\xfd\xbb\x16\x57\x45\x66\x76\xad\x0c\x07\x27\x17\xe7\x69\x34\x66\x31\x36\x2f\x66\xb4\x00\x24\xa6\xf9\xb3\xc4\x58\x79\x75\x5e\x76\x55\x2c\x19\x9f\x10\x9b\x1c\x1e\x69\x87\xa7\xd8\xaf\x9f\xb5\x7b\xe0\x1f\x15\x1e\x29\xc4\x8d\x7b\xcd\xfc\x20\x99\x7b\x02\xe2\xcd\x70\x66\x28\x35\x5a\x73\xbb\x03\x93\x37\xf9\xf4\xa2\x50\xc6\x0f\x83\xa3\x94\xb5\xe9\x11\xfc\x33\x02\x59\xb5\x41\x68\x84\x35\x3c\x72\x25\xc0\x18\x04\x17\x0f\x46\xbb\x7f\xa4\x56\xda\xc8\xb5\x86\x4c\x18\x97\x9d\x69\xd3\x0e\xb7\x42\xc1\xa9\x03\x07\x4e\x49\xef\x9c\x3a\x70\x00\xbe\x96\xf3\xd0\x7b\x3a\x53\xe4\x8b\x19\x9d\xf1\xfe\x07\x0e\x9c\x1a\x3e\x6b\xda\x19\x59\x1f\xe1\x3f\x63\xfc\x6a\x90\xfb\xf3\xd1\x25\x79\x86\x84\x79\x72\xe4\x15\xa0\xf7\xbf\x2b\xab\xb3\xca\x87\x1a\x55\x3e\xff\xb2\x74\xe2\x23\x6d\x35\xff\x5d\x69\xac\x3d\xfd\x3c\xff\x0f\x45\x30\x1a\x1f\xe5\x47\xb5\x08\xf9\x2d\xc4\xa0\x99\xd0\xab\x83\xc5\x6d\x21\x28\x6e\x05\x04\x3f\xec\x86\xec\x7e\x13\x79\x19\x33\x3d\x6c\xc6\x1f\x73\xd9\xd9\x0f\xbc\x94\xc5\x92\xf7\x63\x2a\xcf\x62\xa1\xbc\x6c\xdb\xdc\x1f\x67\xcf\xa5\x7c\xd9\x80\xc8\xa4\x49\xfe\x42\xd9\x3e\x69\x97\x18\x11\x0f\xbf\x71\x58\x8c\x88\x1f\x43\xe2\xe3\x94\xf4\x42\xae\xdd\x66\xb3\xe7\x42\x15\x35\x71\xe0\x47\x8a\xcb\x72\x8f\x54\xdc\x74\xff\x64\x10\x29\xda\x13\x72\x0b\x35\xe4\x3f\xfa\xf1\xc7\x19\x3b\x3b\xd9\xb1\x11\x86\xa2\x6a\x34\x19\xad\x21\xb3\x78\xb9\x1d\x1f\xc2\xfc\x66\x14\x30\x20\x01\x01\x2a\x08\xbc\x02\xb3\xf6\x0f\xe5\xdc\xae\xbc\x25\xc3\x7e\x4b\x2c\x08\x44\x8f\x54\x08\x87\x62\x40\x79\x09\x6e\x33\xf3\x33\x10\xfc\xac\x97\x0a\x42\xf1\x10\xcb\xbf\xdc\x3e\x93\x5c\x1a\x36\xaa\x26\x05\xfb\x51\x70\x92\x6a\xa3\x41\x0e\xc3\x72\x87\x17\xbb\x70\x61\x44\xfe\xf6\x67\x43\x8f\x18\x11\xc5\x88\x08\xa9\x8c\xdb\xe1\xc2\xde\x48\x21\x76\x61\xaf\x83\xc9\xf6\xf7\x5f\xdc\xb6\x7b\xb9\x65\xef\x82\x3b\x15\xbc\xfa\x9d\x0b\xf6\x5a\x96\xef\x6e\xd3\x8e\x2f\xbd\x53\x74\x48\x72\x44\xe9\x78\x4a\x2e\xc1\x74\x57\xb0\xa6\x26\x88\x0f\x37\x76\x35\x0e\xf4\xe1\x42\x07\xf4\x38\xbc\x74\xa1\x43\xea\xc8\xf6\x24\xa1\x87\xd0\x2c\x74\x90\xe2\x39\xed\xb7\x41\x8f\xa3\x90\xf6\xca\x81\x42\xec\xa1\xdf\x93\x96\xc1\x63\x2d\xeb\xe4\xc3\xeb\x5a\xa4\x89\x70\x4b\x49\xa5\xec\xaf\x44\x18\xb9\x07\x53\xec\x47\x64\x0e\x36\x1d\x21\xb0\x78\x29\x90\xeb\x01\xe5\x0e\x09\x76\xb2\xb8\x44\x11\x34\xa8\x18\xb7\x78\x87\x7d\x72\x2d\x21\xeb\x48\x23\x7c\xb1\x8c\x3e\x7e\x78\xd8\x27\x5f\x81\xfa\x28\x29\x25\x29\xa9\x92\xcb\x92\x1e\x4b\x42\xdc\xa0\xd1\xd0\x95\x8c\x43\x7a\x6c\x06\x97\xd5\x67\xd4\xa8\xa9\x69\xd2\x0c\x2e\xeb\x63\x03\xf1\xbd\x24\x3b\x95\x5c\x16\x4c\x4c\xca\x7e\x92\x12\x26\xce\xe0\xb2\xfb\x0c\x99\x94\x19\x9f\x7c\x1d\x35\x46\x80\x06\x11\xfc\xd0\x97\x35\x88\x74\x3c\xdf\x97\x25\x3d\x9a\xa5\xd3\x19\xa1\x72\xc8\xd5\xe9\x8c\x7d\x59\xa0\x1c\x83\x49\x72\x9c\xf4\xe2\x90\xab\xd3\x29\xf3\xcf\x55\x83\x88\x39\x94\xb1\xd7\x34\x11\x8b\x7b\x81\x33\x09\x1c\xa5\xa6\x4c\x14\xa7\x06\x01\x90\x11\x13\x6b\x4b\x6c\x34\x13\x96\x4d\x6a\xf2\xc1\x43\x87\x0e\xee\x82\xd7\xa4\x13\x10\x92\xca\x07\xdb\x20\x29\xf5\xb6\xa1\x41\xfc\xdb\xe4\xba\x7b\x9e\xfd\xfe\xd9\x7b\xd6\x25\x87\x3c\xf0\xe9\xc1\x43\xd4\xde\x43\x07\x07\x16\xc3\x6b\x10\x82\x10\xbc\x96\x3e\x82\x06\xdb\xa4\x67\xa4\x67\xda\xd0\x20\x74\x4b\xed\xd2\x0b\x2f\x6d\xaf\xa8\xd8\xfe\x12\x54\xc1\x6d\x50\xa5\xf8\x95\x77\xb3\x60\x10\x51\xef\x0c\xe7\x0b\xf9\xe3\x01\x53\x3c\x60\x51\x83\x09\x02\x6a\x88\x83\x09\xf0\xec\xfb\xef\xbf\xff\x7e\x17\x2c\x4b\x7f\x2e\xbd\xbd\x1a\x36\x49\x7b\x57\x43\x21\xce\x59\x7f\xdf\x7d\xb0\xf6\xbe\xfb\xd2\x7f\x93\x6e\x49\x7f\x86\x5f\x90\xde\x59\x0d\x9b\x61\xf3\x6a\xe9\x1d\xfc\x42\xfa\x33\xc5\xae\x26\x83\xf5\x32\x20\x01\x15\xa2\x0a\x84\x86\x57\x8e\x86\x57\x90\x58\xc2\xe6\x67\xb1\x72\xa0\xac\x1f\x46\xe2\x40\x1a\x67\x3a\x73\x84\x41\x4d\x9d\x4d\x4d\x9d\xe9\x26\xe2\xd0\x4d\x1f\x2b\x4c\x7d\x97\xe8\xfb\xfb\x2c\xae\x1e\x87\xa8\xa7\x5d\xc4\x4d\x77\x64\x8e\xbc\x22\xa7\x6b\xa2\x48\xf2\x26\x29\x7f\x88\xd8\xaf\xd7\x6a\x3e\x95\x72\x88\x0e\xab\x99\x49\x39\xc4\x27\x32\xd1\x64\xdd\x88\x1a\x9c\xc8\xa6\x99\xc7\xc8\x2a\x89\x11\x09\x28\x0f\x21\x8b\x1a\x82\x10\xb7\x14\x02\x54\xc8\xcd\x53\x2c\x04\x16\x3b\xcb\xa9\xa1\x42\xf6\x0b\x9d\x54\xd6\xc0\x2d\x66\x9e\x5b\x0e\x27\xf0\x41\xe9\xe1\xf4\x37\xcf\x4b\xa1\xe7\x55\x21\xa6\x7c\x39\xc7\x9b\x07\x6e\xa1\xb2\x48\x50\x45\x25\x06\xd4\xf8\x7c\x7d\xb1\x0d\x22\x03\x6a\xb6\x35\x7d\x0b\x5e\x26\xa4\x2f\x95\x5e\xb1\x15\xeb\xd3\x57\x51\xff\xc4\xcb\x04\x61\xc4\x7a\x5b\x1f\xa2\xc8\xae\x4b\x05\x42\x10\x8e\x7a\x81\xd8\x90\x07\x04\x27\xc4\x09\xc3\x24\x63\x95\xa7\xeb\x0a\x7c\xd2\xa3\x80\x27\x15\xd9\x0f\xb9\xb3\x30\x43\xaa\xa7\x87\x1a\xdf\xb9\xe7\xf2\x1f\x3b\xa0\xe5\x87\x83\x97\x48\x05\x84\xdb\x20\xb5\x74\xbe\x94\x7e\x74\xdb\x89\x31\x96\x26\xcb\x98\x13\xdb\x1e\x95\xd2\xf3\x97\x7e\x03\x47\xe0\x0b\x38\xf2\x0d\xee\xed\x4b\xbf\xb1\xd0\x87\x61\x51\x63\x47\xf3\x62\x80\x8b\xfa\x7a\x9f\xb8\xe3\xbc\x1d\x47\x3e\x5c\xd9\x02\xd0\xb2\xf2\xc3\x23\x3b\xce\xbb\xe3\x89\xd7\x95\xce\x60\x88\xbb\x61\x68\xfd\x44\x99\x67\x59\x50\x01\x2a\xce\xd8\x7c\xdb\xbc\x51\x0b\x51\x22\x73\x9f\xfe\x90\xa5\x7e\x08\x70\xc4\xf8\x24\xd3\xc5\x41\xdc\xcd\xc4\xdd\xcc\x28\xdc\x1e\xa6\x06\x06\x06\xa8\x6f\xa5\x7b\x61\x4e\xba\x03\xf7\xa4\x3b\xa8\x80\x4e\xe5\x92\x2e\xfb\xdd\xef\xa4\xcb\x5c\x2a\x9d\x4e\x45\xbf\xa3\xd2\x0d\xdc\xfd\x98\xd4\x85\xf7\x7c\x20\x75\xe1\x4f\xe6\x26\xfa\x0b\x12\x73\xe7\x26\xe8\x77\x12\x73\xf1\xfa\x54\x0a\x0d\xee\xd8\x21\x41\x2a\x05\x48\xf1\x0f\xdc\x2e\x9f\x31\x88\xee\xbd\x17\x90\x4e\xd5\x5f\xa0\xd2\xe9\xe8\xf6\xc3\x87\x0f\x5b\x4f\x9f\x36\xf7\x0c\xcc\x4a\xbe\xdc\x2b\x41\x66\xc3\x9e\xcd\x07\x27\x25\xd8\x05\x27\x2d\xd8\xe3\x31\x39\x06\x43\x90\xc1\x01\x97\x0e\x9c\x14\x0f\x1c\x6b\x03\x2f\xf0\x38\x88\xa9\x54\x67\xe5\x9e\xd7\x3c\xbe\xf9\x9a\x40\x20\xb1\xbc\x25\x5a\xa2\xa6\x4b\x9a\x37\x6d\xbc\xae\xf1\x46\x80\x50\x34\x77\xea\x2b\xd2\xcc\xa6\xf5\xb3\xaa\xc7\x04\x1b\x03\x60\x82\x67\x21\x7a\xf2\xaa\x99\x4e\x86\xd7\xeb\x61\x5c\xa7\xf4\x47\xfb\x9e\xce\xfb\x0e\x3d\x8e\x5f\xfb\xd5\xcc\x97\x37\x59\x4c\x05\x46\x67\x7e\xf1\xf2\xdd\xed\xb3\x4d\xaa\xd9\x57\xdd\xb3\x73\xb3\xab\x9e\xa5\x3c\x3e\xdb\x18\x08\x49\x17\xd7\xec\x3c\x72\xc3\xfb\xcf\x43\xe8\x8a\x49\xdd\xc7\xef\xfa\xfc\x9e\x4f\xb7\xcc\x9e\x2d\x48\x8f\x41\x1e\xce\xe2\xb1\x6b\x2e\x1a\x81\x6d\x2b\x23\x3b\x58\x44\x61\x1e\x05\x81\xa3\x5d\x7e\x91\x27\x7b\xc9\x3c\x36\x00\x4b\x00\x08\x75\x10\x8b\x87\xed\xf9\x60\x0f\x87\xe2\x09\x28\x83\x20\x0e\xc8\x63\xfc\xcc\x1b\x49\x8f\x9a\x8b\x8c\x66\x29\x1a\x3d\x57\x61\x96\xe9\x4a\x1d\x52\xbf\xf4\xa5\xd4\xef\x28\xd5\xe5\x38\x9e\x5b\x83\x73\x1c\xb9\x6a\x8d\x3d\x5b\xcd\x97\x18\x55\x31\x53\x91\x29\xa6\x32\x96\xf0\xea\x6c\xbb\x46\x9d\xeb\xc8\xc1\x6b\x9e\x73\x48\x8f\x90\x05\x4e\xbc\x67\xdd\x53\x52\xbf\xf4\x89\xd4\xff\xd4\xba\x75\x4f\x01\x03\x4e\x60\x9e\x92\x1a\xa5\x17\xa5\xcf\x4e\x6c\xdb\x76\x02\x72\xa1\x12\x72\x89\xef\xc5\x73\xcd\x7f\xe6\x44\x72\xd8\x44\x82\xcd\x89\x94\xb2\x41\xdd\xad\x1f\xce\x9f\x68\xcb\x2e\xd7\xd0\x85\xd6\x3d\x5b\xb7\xee\xb1\x16\xd2\x9a\xf2\x6c\xdb\xc4\xf9\x1f\xde\xaa\x0b\xb2\xc7\xc8\x72\xea\xfa\x51\x77\x92\x7d\xab\xb7\x9d\x90\x3e\x1b\x75\x43\xa9\xfc\x5c\x30\x34\x44\xa1\x86\x41\xc4\x3c\x91\x29\xe3\x49\x08\x21\x3b\x31\x87\x21\xb3\x1f\x0b\xa1\xb5\x0f\x64\x10\x9c\x81\x58\x1c\x02\x1c\x1b\x04\x82\xc9\x15\xe4\xf2\x37\x80\x1f\x2b\xa0\x69\x2b\x84\xe2\x64\x56\x01\xd1\x48\x5c\x60\x6d\x56\x3b\xb3\xbd\x81\x29\xa1\x6b\x0b\x59\xaa\xa4\x8a\xf2\x5e\x13\x3f\x78\x65\xeb\xab\xd7\x5e\x76\xde\x95\x5b\x6f\x07\xd5\xa1\x5f\xb8\x5b\xc6\x30\xae\xbf\x3a\x1a\x9c\xf0\xa5\x4f\x67\x2a\x7e\x15\x36\x16\x1e\xec\xec\x3c\xb8\x72\xe0\xbd\xae\x05\x7b\x0e\x3c\x75\xb0\xff\xc0\xa6\x3d\x35\xaf\xe2\xef\x27\x94\xa5\xdf\x2d\xaa\x04\x6a\x5c\x09\xdc\xaf\x5a\xbf\xe3\x9d\x5b\xae\x5c\x7e\xd9\xb5\x27\x16\x5e\xb5\x21\x07\x4a\xe6\xfd\xc4\xc9\xd4\xb7\xe4\xbd\x29\x70\x66\xe9\x73\x5b\xd9\xb8\xd0\x97\x56\xb8\xbb\x53\xbe\xcc\xa9\xa7\x6b\xf7\x6c\x3a\x70\xea\xe0\x93\x07\xf7\xb4\xac\xb9\xf6\xd5\xb3\x34\x7e\xa7\x11\x2d\xb8\x51\x1a\xbf\x60\xe5\x31\xc7\x63\x65\xb3\x9b\x44\x27\xa8\x38\xe1\xb5\x20\xb2\x45\x04\xcd\x12\x54\x40\x26\xd8\xc5\x63\xa3\x13\xbb\x12\xd8\x18\x84\x91\xe3\x5b\xaa\x3b\x23\x51\xdc\xc3\x9b\x01\x39\x6b\x8b\x45\x57\x9e\x40\x42\xb6\x9c\x70\x7e\x5e\xb4\x64\x5e\xa4\x32\x90\x17\x56\x1b\xb5\xaa\xd5\x1a\x9a\xdb\xf6\xe9\x25\x7f\xf8\x7a\x94\x28\x3f\x5c\x3b\x7a\x50\xdc\x3c\x74\x45\x33\x7c\x12\x6a\x1e\xe3\xb4\x99\xad\xb9\x06\xb2\x8f\xd7\xe0\xad\xf6\x79\x8d\xfa\x6c\x5f\x7e\x51\x75\x8e\xb5\x4e\xc7\xce\xe4\x1c\x9a\xde\xff\x82\x71\xa7\x05\xf8\xc9\x65\xa5\x47\x46\x0d\xa5\x11\x8d\x02\x83\x14\x33\x9f\xcc\x0f\x13\x68\x3a\xea\x40\x08\x79\x86\x56\x73\xc0\xca\x8a\x01\x08\x82\x01\xd8\x7c\xb0\x50\x04\xab\x41\x66\xc3\x39\xc0\x09\x76\xf2\xce\x05\xa9\x28\x65\x51\x38\x39\xf3\x81\xb3\x33\xf2\x0c\xd2\x2e\xd8\xe5\xea\x11\xf0\x8a\x01\x8a\xf0\xd3\xca\x01\x11\xec\xb1\x3a\x88\x45\xe1\x81\xd4\xc2\x85\xa9\x56\xd8\x5b\x33\x8e\x97\xae\xe5\x78\x9a\xe2\xb4\xdb\xe0\x27\xe3\xb2\x0d\xfa\x50\x34\x2f\x9b\xc2\xbf\x64\xe6\x78\x69\x8d\xd9\xca\x71\x96\x7c\x93\x96\x0e\xfe\x5e\x58\xd0\xe8\x82\xbb\x38\x8e\x02\x4e\x5a\x53\xdc\x9a\x95\xe5\x63\xb5\x65\xde\x44\x81\x1a\x58\xbc\x9d\xba\x2e\x9f\x52\x6b\xad\xec\x06\xe9\x37\x94\x8a\xa2\xb4\xf4\x4b\xad\x63\x93\xad\xad\xc9\xb1\x69\x6f\xc8\x6b\x17\xe0\x61\x1d\x87\x29\x95\x7e\x8f\x74\xab\x14\xef\x2d\x72\xb0\x8e\x6c\x7d\x4d\x8e\x09\xcf\x87\x9e\xdb\x3f\xcc\xf2\x59\xf4\x80\x29\x9d\x35\xcb\x80\xa1\x18\x2e\xf2\x14\xa4\xff\xc9\xe8\x28\xd0\xff\x74\x7d\x5f\x65\xbc\xcd\x35\x21\xc7\xae\x73\x59\x8c\x6a\x58\x24\xdd\x5f\xa1\x62\x30\xa3\x2d\xd4\xdc\x07\x27\x81\xc6\x58\xad\x22\xdc\x67\x14\xfa\x54\x8d\xe8\x5c\x84\x91\x16\x79\x51\x05\x6a\x44\xcb\xd1\x0e\xb9\x87\xa3\x98\x48\xc6\x06\x08\x2c\xc3\xea\x12\x64\x4e\x20\x2a\x72\x6b\xf2\x08\x60\x44\x1f\x01\x56\x9e\xe2\xbc\x09\xaa\x0e\x22\x41\x2a\x10\x76\x52\xf9\xff\x41\x8c\x00\x3f\xdc\x0b\x54\xcb\xf2\x8e\x58\xa4\x75\x75\xfa\x39\xb0\xf0\xef\xf0\x16\xe9\x83\xb8\xc6\x2c\x7d\x67\xb3\xe8\x71\x89\xda\x0c\x4d\xbc\x95\xaa\xee\x7f\x41\xfa\x96\xb7\x5a\x79\xd0\xbd\x08\x37\x80\x21\xb7\xb6\x38\x2c\x56\x39\x8c\x00\xc0\x3b\x2a\xc5\xe2\xc2\x44\x9e\x09\x3f\x06\x86\xdc\xc4\xe9\xf8\xec\xa1\xf8\x87\x33\xe9\x2b\xcf\x8c\x07\xec\x04\xf5\x4f\xe7\x75\x49\xdb\x37\xc0\xcb\x69\x9d\x7c\xf5\xc4\x0c\x83\xcf\x84\xbf\xe3\xad\xcf\x4b\x17\xbf\x6f\xe5\xf1\x3f\x78\xab\xb4\x4c\xeb\x5b\xb5\x78\x4b\x71\xe9\x96\x95\xad\x39\x39\xaa\xbc\xd6\x85\xbb\xaa\xcb\xb6\xae\x98\xef\x70\xfc\x3f\xc6\x2b\xfb\x9f\x4c\x8a\xf9\x16\x4d\x41\x0b\xd1\x1a\xb4\x13\x21\x26\x12\x04\x42\xaa\x4f\xc4\x19\x03\x41\x2a\x20\x46\xe2\x09\x2a\x43\xd8\x4d\xd4\xd2\x71\xc6\xba\x9d\x23\x64\x79\xf2\x94\x50\x38\x8d\x54\x4b\x80\xc5\x23\x46\x94\xa5\x9d\x48\x2c\x24\xd8\xad\x1c\x6b\xf7\xc8\x17\x89\x19\x33\x31\x46\x4e\x89\x48\x80\x51\xcc\x44\x99\x8d\x98\xc3\x2b\x1d\x3e\x0c\x2a\xb5\xda\xe0\x13\xda\xb3\x3c\x7a\x56\xc3\xa8\xc0\xef\x07\x15\xa3\x61\xf5\x9e\xac\x76\xc1\x67\x50\xab\x55\x80\x7d\x8e\x79\x2e\x6b\xb6\x27\x59\x35\xbd\x2e\x2f\x9f\xa5\x2a\x44\xb1\xa2\x32\xa7\x6e\x13\x45\x25\x3d\xd9\x56\xd7\xbc\xa3\x0e\xd1\xe2\xf7\x5b\xc4\x88\xa5\xb1\xd1\xf6\x68\xcc\x6c\xb1\x74\x77\xcb\xa1\xc3\x87\x8f\xc9\x81\x05\x8b\x17\x2f\x90\x83\x6b\x36\x6d\x5a\x73\xa3\xb6\x7d\xab\x9a\x2e\xcd\x51\xf1\x5a\x2d\x63\xb3\xe4\xd1\x29\x29\x45\xe7\x59\x6c\x8c\x56\xcb\xab\x72\x4a\x69\xf5\xd6\x76\xad\xbd\x56\xa7\x32\x9b\xca\xe6\xc4\xc7\xe9\xb8\x55\xef\x49\xdf\xbe\xb7\x6a\x5b\xa0\xd5\x07\x60\x56\xe9\x6a\xa9\x3b\xc5\xa8\xc5\x1f\x8d\x04\x2c\x11\xd1\xd2\xf8\x46\xa3\xe5\x17\x16\x4b\xc4\xb2\x01\x6a\x36\xc8\x11\x87\xa5\x96\xc3\x2f\xca\x11\xad\x7f\x02\xf4\xa7\x56\x39\x6a\x8d\xf4\xa5\xf4\x8a\xf4\x25\xe1\x49\xb7\x12\x9e\xe6\xd4\xf0\x58\x37\x9f\x68\x1b\xc5\x51\x1d\x9a\x48\xf4\xb4\x16\xa1\x15\x68\x1d\xda\x82\x76\xa0\xcb\xd1\x35\xe8\x7a\x74\x94\xd8\xd9\x93\x1d\x15\x5f\xc6\xc5\x19\x77\x74\xfc\xbf\x4c\x37\x6a\x47\xf3\x5f\x85\xff\x9d\xfb\xaf\xce\x07\xac\x30\x17\xdf\x46\x1c\xe5\x1f\xdf\x36\x32\x2e\x7d\xdb\xd9\x29\x7e\x74\x11\x96\x65\xdc\x4d\x1c\xa9\xfb\x1c\x21\x46\x71\xd2\x67\x84\xce\x99\x32\x13\x82\x8e\xf6\xd3\x77\xc0\x8a\x23\xb5\x9f\x1d\x77\x46\x60\x80\xef\x51\xce\x96\xff\x61\xff\xd9\x81\x7e\xc5\xa1\xce\x08\x9d\x2b\xa1\xf2\x9f\xe1\x2e\x63\x07\x58\x34\xcc\x08\xdf\x84\x66\xa3\x95\xe8\x42\xb4\x17\x21\x7b\xa6\xd4\x62\x43\x4a\x99\xc0\xc1\x90\x05\x95\xd2\x5b\x52\xb6\x61\x63\xa9\x18\x91\x55\x93\x5f\x3d\x62\xed\x43\xd6\x1b\xc9\x7c\x6f\xa8\xec\xfd\x4a\x9c\x02\xea\x50\x96\x23\x5d\x76\xbf\xa2\x3b\x27\x0f\x50\x15\xfd\x35\x3b\x63\x1f\xc2\x6e\x66\x22\x94\x79\xff\x17\xe4\x7b\x16\xa0\x05\x83\x08\xee\x27\x01\x7c\x52\x88\xf8\xbc\xf9\x79\xa2\xe1\xe3\xa3\xf2\x4c\xbc\xeb\xb0\x10\xf6\x79\x0a\x02\x3e\x45\x33\x41\x8c\x88\x43\xda\x0d\x69\x92\x1e\x26\x88\x11\x71\x57\xdb\xc2\xdd\x62\x44\x3c\x01\xbe\x13\x70\x15\x19\xcf\x59\xdc\x5c\xc3\x2d\x36\x95\xd1\x14\xb1\x3d\x02\x7e\xb5\x2d\x5b\xab\x2b\x31\x2e\x7c\xd5\xce\x19\x8d\x11\xdb\x9f\x7f\x4a\x16\x1d\x6e\x52\x96\x1e\x4a\x07\xd1\x02\x40\x97\x2b\x01\x54\xbd\xb4\xa5\xac\xd0\x2b\x26\xea\x0b\x8f\x7e\x2c\x46\xc4\xc3\x5d\x55\x8b\xe7\x94\x07\x82\x91\xc5\x71\x45\x45\x45\xce\x53\x46\x18\xe2\x0f\xe4\x14\x82\xf6\x68\xdb\xb5\xab\x4d\x76\x0f\x9c\x38\x71\x8d\x3c\xb4\xb3\x5b\x1e\xda\x6c\x8c\xd8\x6c\x2a\xe3\x95\x97\x92\xa1\xde\xd7\x37\x1b\x23\x36\x3b\x67\xcc\xe0\x70\xa9\x41\xa4\x4a\x67\x70\x16\x2b\xd0\xcf\xc8\x78\x3e\x63\xf9\x4e\x46\xbb\xb1\x78\xcc\x1f\x29\x23\xd6\x35\x19\x71\x45\xb9\xf7\xe1\x89\xe9\x37\x17\x52\x20\xb1\x72\x89\x86\x08\x32\x1f\x8a\x41\x0c\xf8\x15\xa9\x3f\x31\x56\x07\x96\x98\x39\x1e\x73\x82\x7c\x6a\x2c\xa3\x89\xc7\x72\x8a\xd4\xa2\x9f\x10\xf3\x51\xac\x82\x66\x17\x63\xf1\x58\x7c\xe8\xb7\x22\x7e\x65\x8c\x98\x20\x30\x83\xb8\x67\xf8\x40\x38\x13\x5d\x8d\xed\x02\x23\x37\xca\xb4\xaa\x3a\xdb\x94\xf0\x47\x1b\x7d\x1a\x4f\xb9\x3f\x61\xca\xc6\x1b\x87\x7c\xd5\x99\x23\xd2\x5c\x53\x93\x37\x31\x29\x5c\x4e\xe9\xa9\x85\x47\x0a\x4c\x39\x3e\xb3\xcd\x66\xf6\xe5\x98\x0a\x8e\x2c\x64\x8d\xb9\xd2\x87\x7f\xe5\x0d\x05\xa6\x1e\x2d\x6f\x7f\xfd\xa0\xe9\xd0\x05\xf9\xd3\x43\x5c\xfe\x84\xb2\x0b\xf7\x17\xd4\xd1\x4c\x79\xc1\xec\xc6\x60\x74\xe3\x0a\x9f\x83\x3a\x3e\x9c\xc2\xe1\x2d\xcd\xcb\x56\xd2\xd0\x2a\x5f\x7c\x64\x2a\xf3\x7f\x73\x2b\xe0\x73\xc1\x2b\xdf\x0b\x27\x71\xd4\x13\x68\x8c\x56\xba\x55\xf9\x01\x4f\x74\x67\xc6\xc5\x24\x16\xcc\x5e\x87\x29\xdf\x04\xcb\x66\xf9\x1a\x4d\x6a\xb5\xa9\xd1\x37\x6b\x19\xc6\x39\x5b\x39\x2f\x24\x85\x0a\xfd\x16\xd0\xde\x0c\xa6\x65\xd9\x5c\x62\x9a\xa3\x7a\xfc\x6c\x13\x53\x5e\x50\x50\x47\x6b\x4a\x35\x21\x73\xe3\x76\xa9\x57\x4e\x21\x7d\x77\xb3\xf4\xd7\x65\x76\x6f\xbe\x92\x02\xca\x7d\xc3\x29\x7c\xff\xe2\xda\x67\xd8\x1c\x5b\x50\x03\x9a\x86\x16\x22\x04\x0a\x3a\x4a\x74\x0d\xe3\xa4\x42\x76\x45\x9b\x82\x84\xc8\x9b\xc8\xc3\xd0\x7b\xca\x12\xf8\xbf\xf2\x9e\x52\xd1\x48\x10\x40\x18\xb6\xbb\x13\xec\x56\x03\x25\x06\xea\x20\x16\xa2\x5d\xf2\x0b\x22\xbd\x7f\x42\x8c\x88\xbb\x1f\xdd\xdd\x29\xbf\x42\x72\x85\x27\xd2\x26\xbe\x40\x81\xc7\x17\x16\x0e\x77\xc9\x75\xf8\xe8\xc7\x06\x31\x2f\xdf\xeb\x8b\x08\xad\x37\xa7\x9f\xfb\x24\xfd\x94\xce\xa3\xbb\x4b\xa7\x63\x93\x77\xe9\x74\x27\x1d\x13\xeb\x2f\x69\xfd\xad\xde\x83\x7b\x33\xd5\xfd\x40\xa6\xfa\xc3\xa7\xad\x37\xbf\xb9\x59\x0e\x28\xef\x49\x7c\x71\x24\x18\x28\x9f\xb3\xb8\xaa\x8b\x2c\x6b\x1e\x2d\xac\x4f\x88\xde\xc2\xb2\x96\xa5\xd5\x9b\xdf\xbc\x39\xbd\x57\xbe\xac\xee\x2e\x9d\x47\xc7\xb2\x77\xe9\x3c\xfa\x93\xd9\x13\x6f\x5c\xd9\xfa\x5b\xdd\xc8\x35\x7c\x2b\x6a\x21\xaa\x4b\x56\x8e\x07\x85\x67\x3c\xb3\xc7\x13\x0e\xd9\x21\x33\x14\x08\xc8\x43\x79\x79\x48\x80\x89\xed\xbe\x82\x42\xf7\x7a\xa2\x11\xb9\x28\xc8\x1b\x95\x21\x3d\x49\x10\x2e\xf1\x0c\x60\x3c\x7c\x36\x3b\x1a\xb5\x44\xaf\x2d\xd4\x60\x46\x6b\xd5\x8e\x89\x4c\x68\xc8\x15\x72\x4d\xf0\xc5\x34\xbd\x4d\xdf\x7a\x39\xa6\x2a\xbe\xcd\x2a\x69\x3f\x34\xe5\x27\xd7\x65\x03\x6d\xe7\x1b\x4b\x8b\x6c\x79\x4e\x3b\x97\x35\x3e\xdf\x5b\x95\xbd\x62\xde\xcc\x03\xf3\x6d\xac\x85\xa1\xb4\xe7\xaf\x29\x9f\x0e\x14\xa3\x7e\xf4\x0c\xe3\xbc\x74\xce\xb8\xd0\x8b\x21\x2d\x05\x78\x69\xb2\xe5\x3e\x91\x77\x4b\x55\xfc\x85\x8c\x6a\x2a\xb6\x7f\x32\xf6\x24\x6b\xba\xf6\xc9\x45\x07\x6e\x65\xb1\x67\x56\x64\x49\x59\x56\x99\x2b\xdb\x00\x14\x67\xcf\x6b\x98\xe9\x69\x59\xdd\x75\xa0\xd9\x3e\xdf\xae\x63\x6b\xcc\xa0\xc6\x86\x33\xcd\xf4\x10\x46\xfe\x41\xc4\xbc\xc7\x0c\xa2\x6c\xb4\x1c\x21\xc2\x57\xe7\xe1\x58\x6c\xb3\x3a\x71\x38\x64\x4f\xe0\xb8\xdc\x08\x80\x95\xf5\x06\x94\x23\xa4\x14\x29\xaf\x67\x58\x26\xdd\x2a\x57\x20\xb9\x68\xa8\x78\x34\x22\x16\x29\x90\x2e\xa2\xa2\x19\x76\x99\xac\x98\x53\xa8\x81\x9c\x80\xbf\xa4\xf5\x79\x42\x20\xb0\x72\xb5\xc9\x37\xbe\x8c\xce\xd5\x59\x35\xd8\x98\x34\x5a\xf0\xb7\x06\x15\x6b\x6f\x4e\xe6\xdf\xf9\xa8\x81\xd5\xe4\xa9\x84\xf6\x5d\x0f\x75\x5c\x7e\x34\x30\x2f\x26\xde\x0e\xee\x60\xd0\xe5\x76\x95\x36\x47\x8b\xed\x0c\xa7\xd1\x68\xe0\xd3\x53\xe3\x2f\x7c\x6a\x6d\x24\x06\xe7\x37\x31\xd4\xf2\x63\x73\xed\xf9\x96\x6d\xf4\x6f\xb3\xf2\xf2\x0d\xc2\x18\xe9\x9f\x57\x96\xcc\x9a\x56\x06\xc0\xe8\x34\x53\x21\x3a\xb5\x35\x7d\x27\xa7\x07\xca\xa8\x6e\x53\x59\x7c\x7b\xf2\x5b\x8f\xdf\xd0\x7e\xe7\x15\xd1\xd4\xca\x71\xb9\x20\x04\x42\x93\x44\x77\x41\x5d\xdb\xf9\x1d\x45\x6a\x4c\xc1\x77\x9f\xac\xfe\xe4\xb9\x7d\x16\xb5\x74\xc3\x12\xe9\x36\x1f\x55\x95\xd0\x73\xcf\x20\x0a\xc1\x20\x62\x77\x30\xfd\xa8\x16\xcd\x44\x97\x23\x04\xa1\x7c\x79\x4a\x43\x66\xc1\x9c\x1e\x32\x15\xc9\xef\x26\x9a\xaa\xe1\x52\x50\xda\x36\x60\xfc\xc4\x13\x0e\x09\x8c\x10\x52\x0c\xe4\xe4\x09\x12\x27\x94\x61\x6a\x08\xc8\x9e\x0f\x72\x55\xb4\x83\xc5\x6e\x00\xd6\x00\xb1\x32\x10\x49\x3b\xcd\x51\xca\x96\xa2\x1a\x14\xd7\x92\x09\x5b\x04\x27\x49\x14\x8b\x87\xec\x54\x9d\x2b\xe7\xc3\xda\x8a\x03\x05\xda\x49\x6c\x99\x2b\xfd\x37\xa9\x47\x1d\xa8\x8a\x89\x40\x4b\xc9\xc2\x2a\x8c\x6b\x02\xf0\x78\xfa\x9f\x85\x21\x96\xad\xf2\x6b\xe0\x63\xe9\x27\x62\x39\xcb\xc6\xbc\x2c\x0f\xbd\xef\x02\x0d\x82\xc1\xfa\xb8\x97\xcf\xce\xb1\x3d\xfe\x1e\xe3\xfb\x1a\x28\xc8\xd2\xba\xf2\xa7\xe4\x5c\x8d\x59\x70\x99\xa9\x3b\x0c\xb4\xa1\x5c\x17\xef\xc2\x85\x07\xa2\xc9\x0f\x3d\x45\x61\xff\x9f\xb3\x79\x8f\x7b\x6a\x16\x68\xa4\x53\x36\x9b\xdf\xdb\x68\xfd\xdb\x15\x06\x9b\xc7\x3f\xcd\xf4\xec\x72\x95\x33\x0b\x74\xb8\xb2\x30\x50\x49\x2d\x32\x1f\x2c\xa8\xba\x27\x58\x23\x2d\x75\x15\xd3\x95\xae\xca\x02\x7f\x8c\x71\xd5\x14\x06\x22\x90\x64\x92\x85\xde\xd2\x9a\x76\x4d\x9d\xdf\x57\x8a\x3b\xfc\x10\xd4\x5f\x24\xcc\x70\x8b\x2f\x5f\xe4\xc7\x22\xb0\xc0\x40\xfe\xb4\x6c\x41\x9b\x7b\x1d\x30\xb8\x74\x35\xdc\x29\x7d\x3f\x79\xca\x1f\xaa\x73\x63\x89\xb2\x7b\x6a\x8b\x0e\x0a\x7e\xa8\x74\xcf\x10\xec\x46\x97\xd4\x03\x2f\x78\x9b\x2d\xe6\x2c\x8f\xb4\x10\x66\x78\xa7\x99\x2c\x0e\x51\x5a\xfc\x2b\x03\x63\x35\xf6\x15\xd6\x40\x95\xd2\x06\x3a\x39\xc4\x2c\x41\x33\x51\x1b\x5a\x83\xba\x11\xf2\x2b\xe2\x05\xd1\x48\x82\x8d\xc7\xfc\x62\x34\xa2\xd8\x9a\xc4\xc2\x2e\x24\x8f\xed\x15\x13\x6d\x32\x7d\xc7\x84\xf2\xdf\x01\x4a\x30\x00\x2c\x67\x47\x36\xab\xd7\x23\x96\x01\x45\x04\x0b\x2c\x56\xbf\xe0\xb3\x60\x3f\xa1\x69\x40\x72\x8d\xb7\x67\x5a\x52\xd1\xeb\xf1\x07\x04\x98\x8e\xe9\xb9\x77\x54\xd9\x68\x5a\xc3\xf1\xac\x19\x3f\x0a\xba\xb5\xa6\x4d\x3a\xb3\x66\xfb\xc2\x65\xa0\x81\xdf\x5e\x67\xb5\xb6\x0e\x5e\xbf\xd6\xb4\x49\x6b\xd1\x6c\x4f\x4a\x0d\xdc\x98\x42\xea\x87\xaf\xd5\xfa\xea\x2a\x4a\xaa\x0c\x14\x67\xc1\x76\x2d\x7f\x25\xdd\xd5\x57\xe2\xc1\x2e\xee\x67\x54\xa4\x02\x4c\xc7\x7f\x2e\x9d\x1c\x37\xa9\x5d\x5a\x9b\x6b\x9d\xbb\x2d\xb7\x20\xf7\xa1\x8b\xad\x30\x53\xcd\xfd\x1c\x57\xfd\x6c\xa1\x33\xa0\xb6\x1a\xad\x3a\xbb\x4a\xa0\xfa\x37\x3c\xaf\xb7\x68\x92\xc6\xcf\x2d\xd2\x57\x5f\xe6\x37\xe5\x5f\xfd\x51\xf2\x79\xbd\x55\x9d\x34\x7e\xbe\x85\x8a\x70\x59\x02\x23\xc5\xa4\x49\x14\x87\x29\x8e\x9a\x9c\x5b\x50\x9c\x1e\x47\x6b\x4a\xd8\x5f\xc3\x91\x68\x94\x2a\xd1\x49\x8f\x69\xce\x6b\x5d\x07\x66\xb0\x75\x27\xef\x5e\xd8\xf5\x14\xae\x2e\xc8\xdd\x36\xd7\x9a\x9b\x6b\xbd\xf8\x21\x13\xcd\x0d\xe1\xc8\xae\xa7\x25\x66\x25\xca\x47\x65\x44\x2f\x57\x6e\x4d\x15\x78\x29\x69\x04\x04\x96\xcb\xc0\x71\x5d\xf2\xcc\x29\x16\xb7\x07\xac\xd8\x00\x9e\x40\x82\x8e\x46\x02\xf6\x80\x4d\x0c\x38\xc1\xe2\x09\xc8\x43\x03\x1e\x38\xa5\xf9\x95\x1b\x52\x45\x58\x89\x76\x5c\x77\xf0\x8b\x2f\x0f\x5c\x77\xc5\xb7\xd7\x75\xcc\x75\x71\xf5\x53\xef\xfc\xf4\x63\x98\xd9\xe7\xaa\xaf\x2a\x7c\xe5\xe8\x51\x3e\xcf\x3d\x6b\xc7\xa4\x52\x03\x15\x8f\x4f\xbe\xb4\x65\x4d\x7a\xd6\xd4\xf7\x26\x59\x70\xd1\x2f\x57\x79\x3d\x8e\xe0\xba\xea\xf6\x9c\x29\x59\xae\xf5\xf0\xc0\xdb\x47\x7f\xf2\x93\xa3\x6f\x5f\xf7\xcf\x03\xf9\x89\x64\xee\xf7\x77\xdd\xf3\xd5\x57\xf7\xcc\x9f\xaa\xf7\x2d\x69\xec\x95\x4e\x2c\x03\xc6\xb5\xef\xae\xdf\x3d\xd8\x3a\xde\xd3\x73\x1b\x7e\xeb\x93\xea\x41\xe9\xb1\xc6\xad\x3b\xfc\x96\xf6\x6b\xb3\x63\xd5\xfe\xd9\x8e\x12\xa7\x71\xce\x98\x95\x07\xd7\xd4\x4e\x5d\x35\xc4\x8f\x45\xfa\x0e\x07\x2a\x44\x41\xd4\x80\x66\x13\x06\x0f\x02\x1f\x63\x33\x74\x01\x42\x2c\xae\xa8\x24\xbb\x62\x14\x11\xbc\xe2\xec\xd5\x10\x33\xc9\xbd\x45\xc0\xce\x44\x08\xe2\x80\x88\x1c\xca\x4f\x9c\x19\x8a\x8d\xea\x2c\x68\x47\x6e\x61\x89\xfd\xa6\x2f\x6f\xbe\x65\x63\xb4\x94\x16\x6a\xc6\xde\xf4\xdb\xdf\x42\xe4\xb7\x0f\x61\x4d\x7e\x68\x5e\x95\xcd\xa6\xf9\x83\x48\x37\x8f\x59\x08\x97\x84\x0b\x67\x8d\x6f\xce\x9a\x72\x69\x1e\xbd\xaf\x21\x32\x26\x3c\xcd\x66\x82\xc9\x23\x3b\x07\xf8\xeb\xb4\xf1\xd9\xea\x50\x72\xf3\xb1\x63\x9b\x37\xde\x6d\x29\x2e\xb1\xbd\x2b\xbd\xfc\xc6\x9b\x90\xce\x2a\xab\xdb\x7a\xed\xc6\xc5\x76\x6a\x0f\x18\x37\xad\x69\x7e\x24\x70\x4b\xe1\x79\x93\xe6\x0a\x96\xf1\x63\x0b\xfc\xa6\x65\x63\x23\x5b\xc4\xc8\x94\x68\xd1\x37\x67\xf5\x09\x43\xcf\x3f\x9d\xe0\xe6\x22\x43\xef\x10\x56\x46\xe8\x5e\x4f\x20\x96\xe9\x16\x39\x56\x01\x0c\x28\x3f\x3f\x31\x10\x64\x49\x9c\xdc\x7b\x10\xa9\xe0\x70\x88\x60\xab\x48\xd7\x79\xe6\x76\xef\xa0\x7d\xdc\x79\x79\x5c\xa0\x2c\xe0\xb7\xea\x0a\xb4\xb4\x8a\x31\xf9\x2e\x9b\xf3\x42\x93\x89\xa1\x35\xba\x02\x8d\xcd\x1b\x28\x0b\x70\xc9\xcb\xec\x57\x62\x95\xc1\xa8\x0b\xf3\xde\x64\xc9\xc4\xc2\xe2\x49\xc5\x49\x2f\x1f\xd6\x1b\x79\x15\xbe\x12\x60\xf4\x6a\xd8\x6e\x3b\x63\x68\x49\x5a\x58\x83\x5d\x97\x67\xb7\x64\x1b\xf1\x22\xcb\x74\xef\xb4\x79\x77\x78\xa7\x5b\x16\x61\x43\x96\xd5\x96\xa7\xb3\x1b\x58\xcb\x55\x79\x8c\x3d\x68\x67\x8a\x2c\x6a\xa7\xd7\xe9\xf4\x3a\x55\xd6\x02\xc6\x0e\xfd\xa3\xd7\xc1\x00\x19\x06\x53\xec\x7a\x26\x45\x4a\x21\xa6\xe8\x80\x29\x40\x26\xa2\x3b\x48\x08\xb8\x84\x8c\x3c\x18\x56\x70\x4d\x19\x7b\x26\xa5\x98\x94\x62\x53\xaa\x7a\x2c\x1a\x09\x62\x85\x68\x22\x1c\xca\x88\x97\x53\xcd\x97\xbd\x59\x95\xa3\xe6\x79\x73\xbd\x39\x2f\x56\xd7\x58\xa7\xf3\xef\x9a\x9e\x1b\xc9\xfd\x03\xa7\xb2\x0a\xd6\xd9\x76\x7f\xb6\x2b\x11\x4b\x2c\x88\x45\xe6\xd7\xc6\x12\xf9\x0e\x7f\xd6\x2c\x53\xb6\x55\xc5\xfd\x21\x37\x92\x3b\xed\x52\x9f\xae\xae\xa9\x2e\x92\x67\xa8\xb7\x9a\x79\x75\x4e\xf2\x1d\x26\x05\x7b\x2e\x1c\x73\x41\xd9\x7e\x2e\xc7\x97\xeb\x2a\xb1\x04\x72\x0d\xb9\x33\xaf\x70\xeb\xb4\x6c\xde\x04\xb7\xb6\xd2\xaf\x67\x18\x6f\x61\x41\x4e\x4e\x41\xa1\x97\x61\x0c\xfe\x31\x5a\xf7\x84\x3c\x56\xab\x73\x5d\x35\x23\xd7\x90\x1b\xb0\x16\xe7\xe7\xf8\x1d\xdc\xd5\xe5\xdb\xc6\x5c\xb9\x6d\x54\x1d\x58\xf4\x7f\x5a\x07\x46\x33\x18\x30\x48\xa9\x07\xc1\x80\xdf\xaa\x2d\xd0\x91\x7a\x70\xe9\xdc\xe7\xa7\x9a\x59\x0d\xa3\x2d\xd4\x58\xbd\x81\x20\xa9\x07\x57\x61\x15\x6f\xd4\x87\xf5\xde\xb1\x4a\x3d\x18\xeb\xd5\x47\xf4\x06\x83\x0a\xae\x02\x74\xc6\xcb\xb0\xdb\xce\xf0\x2d\x63\x79\xed\x70\x25\xa8\x8b\x4c\xf3\x4d\x9b\x77\x87\x38\x55\x6c\xc2\xc6\x6c\xa5\x12\x68\x79\xb9\x12\x94\xc9\x95\x40\xa3\x54\x02\xb5\xa5\x98\xb2\x53\xda\x51\xef\x02\x28\x98\x44\x16\x91\x56\x8f\x67\x94\xe1\x0f\xc7\x72\x3e\x86\xe5\x12\x50\x07\x09\x2a\x1e\x63\xc8\xfc\x89\x62\x03\xc4\x02\x98\x0d\xe2\x32\x88\x44\x23\xe1\x50\xdc\x8c\xc2\x21\x27\x23\xc4\x13\x74\x3c\x41\xa9\xd1\xf8\xee\xfa\xa8\xdd\x4e\x69\xc2\x82\x61\xc2\xd8\x66\x55\x59\xa7\x74\xaf\xf4\xd1\xc2\xdf\x97\x4d\x33\x1a\x26\x3e\x3a\xeb\xd2\xa6\xc7\x41\x00\xb5\x96\x65\x9f\x33\xb8\x52\x9f\x1c\x90\xd0\x15\x33\x2f\x6b\x2e\xd2\x01\x7b\xd5\xc9\x5e\x58\xf3\x12\x63\xa9\x8a\x4e\xa8\x8c\xf0\xe7\x61\x31\x3c\x71\x71\xa4\x7e\xfb\x96\x7a\x16\x05\x17\x4e\x98\x5c\x54\xc6\x9a\xbf\x0a\xe6\xd5\x89\x25\x6c\xfe\x8b\xfc\x7d\xd1\x8b\x8d\x4e\x8e\xcb\x69\x74\xf9\xf5\xf9\x22\xc5\xda\xb5\xd2\x9d\x79\x5c\xd6\x7c\x0c\xb9\x41\x8f\x09\x00\xd8\x38\xac\x85\x1a\x50\x1b\x3c\xa5\x93\x83\xc7\xe9\xa9\x1d\x17\xee\x1f\x3b\x73\xcb\x14\xf7\x08\x1e\xac\x09\xa8\x05\xb5\xa3\x65\x04\xdb\x66\xe5\x02\x02\x3b\xf2\xe3\x09\xc4\x39\x71\xe4\x27\x1a\x89\x0b\x81\xd8\xc8\x4f\x38\x24\x70\x71\xfb\x19\x9f\x08\xf6\x79\xc9\xe4\x43\xae\x0e\x3e\xb3\x85\xe0\xb2\x4d\x0a\x3c\x9b\x7c\x31\x45\xcc\x5f\xfa\x2c\x81\xb7\x8e\x97\xd4\x1d\x59\x51\x3b\x7d\x3a\x2f\x36\x89\xfc\xb4\x29\xf5\x2b\x8e\x54\x57\x3c\xf4\x56\xc0\xd2\xf7\x15\xc3\x7c\xfd\xb1\x9c\x20\x58\x7b\xeb\x8a\x71\x93\xa7\xea\x7d\x01\x51\x49\x71\x6b\x6d\xf0\xf8\x9b\x7e\x5b\xdf\x57\x8c\xf3\x88\xf4\xf7\x5b\xb7\xbc\x73\x64\xe1\xc2\x23\xef\x6c\xb9\x15\xf4\x47\x26\xa7\xd7\xa5\xd7\xe1\x6b\xf1\xaf\xd2\x35\xe9\x1a\xe6\x57\x69\xa2\x5f\x80\x53\xa5\xf9\xfc\xb4\xc9\x0d\x2b\x6e\xad\x2d\x7b\xe8\x6d\xbf\xfd\xb3\x6f\x58\xf6\xeb\x4f\x2c\x05\x6f\x3f\x54\x3c\xf6\xd6\xce\xf1\x93\xa6\xf3\x45\x1e\x6f\x11\x3f\x7d\xf2\xb8\xce\xa3\x72\x8a\x80\xa5\xef\x2f\x2c\xfb\xd5\xc7\x96\x82\xb7\x1e\x2a\xab\x3d\xda\x99\x98\x3e\x8d\xcf\x0f\xf6\x80\xe1\x48\xdb\x91\xf7\xb6\x6e\x79\xef\x48\xdb\x11\x30\x60\x67\x1a\x4b\x97\xc0\x0e\x2c\xc1\x8e\x1f\x7f\x03\xb7\x50\x71\xb8\x59\x5a\x3e\xf0\x12\xd5\x3a\x90\x92\x92\xd0\x4b\xa5\xa0\x77\x18\x67\x49\x6c\x89\x0a\x51\x0c\x21\x70\x73\x19\x3c\x8c\x60\x0f\x0f\x91\x29\xfb\xc3\xc0\xb3\x5c\x34\x46\x16\x22\x21\x6c\x01\x93\x3b\x16\x77\x9b\x22\x62\x20\xee\x04\x98\x85\xff\xcb\x91\x5e\xb1\xf6\xc8\x05\x6d\x42\x63\xe9\xde\x17\x5e\xa0\x3e\xfa\xa7\xe4\x14\xbc\xf1\x68\xd3\xac\xd5\x89\x63\x55\x56\xab\xf4\xe9\x67\x4f\x50\x73\x07\x3e\xf7\xab\xf0\x4f\x97\x36\x67\x2f\xbf\x88\x11\x27\xdd\xba\x76\x20\xbd\xe8\x90\x85\x99\xf4\xe2\x5e\x8a\xda\xfb\xe2\x7b\xa7\xbe\xad\x9d\xb3\xae\x69\x46\x85\x1b\xff\xd2\x71\x4b\x24\x1a\x8b\xe0\x0f\xd2\x8f\xc0\xb7\xfd\x77\xc7\xcd\x34\x3f\x67\x6f\xde\x38\xcf\x7f\xa1\x21\xae\xf7\x0c\x96\xcf\x8a\xdc\xa8\x14\x55\xa1\x56\xb4\x16\x6d\x45\xfb\xd1\x1f\x4f\x5b\x1b\x50\xd1\x88\x98\x61\x1f\x0c\xc5\xe2\xe7\x0e\x9c\xe9\x07\x36\x43\x93\x1d\x67\x6d\x56\xb3\x30\xcc\x2c\x37\x44\x35\x6a\x0e\xc8\x13\x32\x56\x9e\x84\xc5\x15\x46\xb5\x78\x4c\xe1\xa7\x23\x67\x67\x40\x7c\x43\x47\x48\x8b\xcc\x25\x80\xb1\x62\x8e\xa5\x0d\x43\xaa\x57\xc4\x8e\x3d\x40\x66\x24\xa4\xc5\x8a\x8b\x01\xd2\xfa\x92\x96\x8c\x22\x9d\xb8\x3c\xa3\xc3\xca\x68\x9d\x4c\xea\xe4\x86\x9d\x50\x52\x72\x76\x25\x82\x9a\xed\xa9\xf4\x78\x2a\x77\x16\xd6\x14\x14\xe6\x39\x0b\xef\x2b\xa8\x29\x2c\x74\xe6\x15\x3e\x50\x58\x53\x58\x58\x33\xe4\x80\x6e\xb6\xf4\xce\x83\x17\xbe\xb9\x7f\xa6\xad\x73\xe7\x56\x67\x6d\xa5\xd3\x15\xaf\x74\xba\xd6\xba\x9c\x95\xb9\x15\xfa\xee\x9d\x57\x4f\x32\x39\x17\xc5\x3e\x71\xce\x7a\xe8\xc0\xba\xa5\x7a\x69\x42\x72\x49\xb2\x6e\x59\x1d\xde\xdc\x78\xfd\x92\xa9\xfb\xe3\xe5\xad\xe7\x45\xe7\xfb\x4c\xe1\x28\xdd\x38\x07\x84\x71\x35\x63\xa4\xaf\x5b\xe9\xea\xe2\xcc\x05\xe2\x2e\x67\x65\x59\xe5\x82\xd5\xe7\xb7\xc5\x22\xeb\xc7\xbb\x02\xf3\x1b\x7b\xcb\xb3\xcc\xa5\x63\x57\xd7\x57\xdb\x2d\x02\xb6\x52\x1a\x47\x96\x71\xde\x8f\x57\x78\x73\xaa\xe7\xcd\xaa\x62\x74\x7a\x0b\x98\x44\xe3\x91\x82\x6c\x6f\x69\x7c\x01\xfd\xe5\x98\xb2\xb2\x31\x65\xa7\x66\x6f\x70\x16\x17\x3b\x37\x38\x4b\x4a\x9c\xff\xad\x0f\xbf\xdc\xf3\xc2\x8a\x7b\xfb\xb6\xb6\xcc\x7d\xf0\xed\xdb\xa4\x37\x96\x57\x85\xc8\x5f\x7e\x76\x3b\x58\xfe\xab\x91\xb5\xfc\x7d\xee\xf9\x3b\x0e\x1e\xfe\x60\x42\x39\x7e\x28\x34\x7d\x7a\x28\x3c\x7d\xba\xd4\xd7\xf1\xd3\xd5\x13\xaa\x8f\xae\xe9\xec\xb2\xb0\x95\x11\x87\xb5\xe1\x97\x1b\xd6\x49\x7f\xae\x4f\x1e\x71\xc0\x86\xe2\xa4\x72\xfe\xb8\xf2\x86\x66\xb0\xe4\x77\x70\xc1\xde\x0d\x95\x9d\x55\x57\xde\x72\xf1\xec\x48\x5e\x36\x65\x65\x0d\x41\xd1\xba\x6e\x37\x9d\xac\x62\x38\xc6\x64\xb0\x00\x9b\xa5\x63\x2d\x57\x7d\xe3\xac\x68\x1e\x39\x87\xcf\x46\x7e\x82\x12\x88\x04\xdc\xb6\xf0\x30\x80\x56\xc8\x8c\xc0\xc2\xa1\x98\x3f\x1c\xf5\x46\xbd\x36\xaf\x2d\x6c\x0b\x9f\xb1\xe7\x76\x88\x95\x0e\xbf\xab\xbb\xa8\x79\xe9\xde\xbd\x4b\xdb\x6a\x3a\x57\x1f\xea\xe9\xeb\xeb\xb9\xe3\x37\x30\x7f\xcd\x9a\xb5\x6b\xd7\xae\x05\xf3\xa8\x21\x04\xde\xe2\xce\xdf\xdd\x34\xff\x9a\xe7\xaf\xa9\x5e\xbe\xec\x63\xe9\xb9\x8f\x7f\xb7\x65\x2d\x49\x78\xfe\xe8\xd1\x81\xdc\x37\xf8\x33\xed\x65\x80\xa8\xd4\xc9\xb5\xd5\xe7\xf5\x70\x26\xaf\x29\x98\x21\x09\xb4\xb2\x04\xfd\x4c\x16\xde\x14\x16\x4b\x16\x55\x3c\x70\xfb\x64\xe9\xd3\x39\xb7\x9f\xe8\xa9\x6b\x4a\x3d\x9c\x6a\xaa\x7b\xfa\xc6\xa5\x4b\xf9\x5f\x46\xa6\xb6\x68\xaf\xb2\x3a\x44\x1a\x0d\x3c\x56\xce\x47\xaa\xcb\xa5\x07\x98\x96\xec\xee\x86\xd6\x54\xaa\xb5\xa1\x3b\xbb\xa1\xc4\x80\x0b\xcd\x58\x14\x95\xf1\xe9\x0c\xa2\xd3\xc1\xa0\x2a\x34\x17\x2d\x44\x07\x11\x32\x87\x62\xa2\x87\x65\x82\x4c\x40\x11\x89\xab\x83\x20\x66\xbd\x1e\x03\x78\x4d\xa1\x98\x93\x12\xc8\xe6\xb7\x3d\x16\xb7\xc7\x13\x10\x20\x5d\xb1\x28\x84\x4d\xde\x80\x58\x0c\x1e\x03\xb0\xf2\x50\xa6\x0e\x62\x4e\xe0\x9c\x8a\x7a\x19\x4d\xae\xa7\x74\xd6\xca\xc2\x09\x0f\x01\x1e\x82\x10\x80\xe1\xce\x3b\xc1\x56\x43\x48\x88\x55\x43\xc8\xc9\x0a\xee\x90\xfd\x86\x66\x97\xab\xd9\xc5\xaa\x35\x55\x8e\x90\x37\x68\xbf\x68\x56\x7f\x73\x15\x8c\x39\x6e\x1f\xe3\x6f\xd2\x2e\xac\xbf\xf5\x66\xc6\xa5\xcb\xe1\x6d\x2a\x28\xdc\xd8\x3d\xad\xac\x6a\x9d\x69\x4a\xd4\xea\xc2\x1a\x77\x71\x43\x3e\xb7\xbb\xa3\xed\x48\xfd\x8a\x3b\xe7\x57\xbd\x9e\x9b\x53\x7c\x59\xc9\xb3\xd9\x55\x7e\x8d\xb1\xd9\x9a\xb7\x4a\x1b\x01\x44\x2e\x0b\x2a\xd1\x21\x4d\xcb\x59\x3b\xc1\xbd\x28\x5e\x74\x51\x7d\xcd\xee\x0b\xd7\x95\x4b\x1f\x4b\x37\x11\x60\xd6\x1d\x7c\x7d\x5e\x75\x51\x4d\xd2\xb7\x79\xe9\xcc\x99\x4b\xef\xf4\x26\x2b\x62\xde\x70\x4e\x9c\x87\xa5\x0e\x11\x52\xc9\x64\x92\xd5\x4f\xf1\x24\x8b\x22\xc2\xde\x76\xba\x63\xfc\x43\x0d\x27\xb4\x5a\xc0\xf5\xb7\xa6\xfb\x00\x28\x56\xab\x92\xde\x5f\x57\x66\xad\xac\x62\x43\xe6\xb8\xa0\x29\x4a\x4e\xcf\xc2\xe8\xe7\x4d\xe3\xfe\xee\x9e\xed\x0e\xe3\xd0\x7b\x02\x15\xce\xb7\xb4\x64\xf9\xf6\x18\xea\xa7\x24\x93\x49\x8c\xd2\x29\x87\x38\x76\x96\xa6\x7c\x9c\x2e\x5a\x45\x7b\xb4\x81\x86\x32\x70\x88\x0e\xdc\xe3\x10\xf9\x86\xdc\x88\x90\xab\xad\xac\xd4\x99\x7c\x8e\x68\xfe\x58\xe3\xff\x47\xdd\x9b\x80\xc7\x51\x1c\x8b\xe3\x5d\xdd\x73\xec\x7d\x1f\x3a\x57\xf7\xae\x25\x4b\x2b\x69\x4f\xc9\x58\x92\x75\x1a\x7c\xca\x27\x60\xb0\xe5\xd5\xee\xac\xb4\xd6\x6a\x77\xbd\x87\x65\x39\x1c\x02\xc7\x98\x23\x98\x9b\x70\x63\xc2\xe9\x10\x5e\x42\x20\x10\x6e\x43\x12\x20\x24\x24\x0e\xf7\x83\x84\x00\x21\xc9\xcb\x05\x4e\x42\xf2\x02\x58\xe3\xff\xd7\x33\x23\x59\xb2\x4d\x92\xf7\x7e\xdf\xef\xfb\xfe\x3f\x83\xba\xab\x7b\xa6\xba\xba\xab\x6a\xab\x7b\x66\xaa\xbb\xdc\xf3\x7c\x2e\xea\xa4\x55\xc4\xb1\x05\x50\xb8\x93\x0b\x77\x12\x9f\x0b\x3b\x5d\x9c\xd3\x01\xb5\xb2\x77\x02\xf0\x1c\x6f\x20\xd5\x5e\x2c\x79\x66\xc8\x4e\x0c\xac\x8b\xf1\x75\x12\x1e\x6d\xe9\xf9\x6c\x49\xcf\x16\xad\xaa\xd3\x3e\x30\xb0\xeb\xee\x14\x3b\xd4\x32\xb8\x68\xd0\x77\x36\x97\xba\x7b\xd7\xc0\x80\xbd\x53\xa5\x9d\xfe\x31\xf0\x6b\xb5\x44\xe5\x56\x95\x68\x7f\x9b\x61\xb7\xb4\x0e\x2e\x1a\x6c\xdd\xc2\x3e\x7e\xab\xb6\x44\xe5\x56\x11\xed\x5a\xe0\x35\x83\xbe\x55\x2b\x97\xad\x5c\xd3\xb2\x96\x64\x8f\x78\xa5\x90\x2c\xaf\x18\xd5\x7c\xd8\xbc\x28\xb8\x79\x72\x90\x39\xb5\xaa\xae\xae\x7a\x80\x1d\x9c\xdc\x1c\x5c\x64\x0e\xf3\xea\xe9\xfb\x9e\xe9\x50\x15\x6b\x03\x5a\xa2\x3a\xb0\x86\xd0\xab\x55\xa7\x92\x8b\xf2\x2a\xa2\x0d\x68\x8b\x55\x1d\xcf\xa8\x16\x57\x37\x39\x1c\xcd\x95\x5d\xf3\xfd\x1e\x5b\xd1\x20\x7d\x02\x07\xe5\x0c\x18\x03\x59\x88\xe9\x90\xa4\x93\x2c\x94\x88\x80\x2e\x72\x0a\xf6\x75\xe2\x70\x6d\x38\xe4\xb0\x9a\xdd\x1e\x77\x9d\x97\xde\x25\x7d\x6a\xe7\x39\xfe\xc4\x08\x04\xe1\x10\x0a\x77\x52\x24\xca\x31\xec\x74\xb0\xcf\x79\x54\x44\xb3\xf0\xde\xf3\x18\x4f\xc3\xea\x65\x75\x00\x75\xcb\x56\x35\xba\xd9\x9d\xf7\x7a\xb4\x44\x55\xa7\x2a\xd5\x6e\x79\x8d\x5d\xd9\xd8\x5f\x04\x50\xd4\xdf\xb8\x92\x05\x1c\xd6\x96\x3c\xbf\xa9\xff\x2c\xf1\x0d\x32\xd8\x30\x40\xab\x07\x1a\x06\xc9\x9b\x3f\x5c\x14\x34\xf0\x56\x3d\x2b\x47\x1b\xa0\x0c\xae\xff\x12\x3c\xcf\xd5\x7a\x57\x2e\xa7\x6d\x2e\x5f\xe9\xad\x5d\xf8\xc1\x07\x67\xd4\xe3\xb4\x5f\x5b\xac\xaa\xbe\x20\x42\x2a\x2b\x7d\x4e\xa7\xaf\xaa\x82\xd9\x7c\x81\x4b\xe2\x0d\xa3\x3e\xed\x4e\xa6\xb3\xa2\xba\xba\xa2\x93\x79\xbe\x51\x45\xa6\xdd\x64\xff\xba\xb6\x65\xbf\xc1\x3d\xae\x9a\x1a\x57\x0f\xbe\xe7\xf6\x56\x9f\x8e\x3f\xb2\x55\x6f\xb5\x92\x07\x8e\x48\xbb\x69\xc9\xfe\x36\x77\x16\x22\xac\xab\xa6\xb5\xa8\xa8\xb5\xc6\x55\xfb\x8d\x47\xd6\x52\x75\x41\x5a\x64\x3f\x8a\xd8\x3f\xcc\xd9\xdf\x51\x82\x5c\xa8\x1a\xb9\x91\x17\xf9\xd0\x0e\x84\xea\x9c\xcd\x00\x75\x1e\x16\x9c\xc4\x03\x75\x84\x05\x67\x33\xd8\x1c\x9c\x11\x9c\x0e\x60\x49\x1d\x84\x79\xa7\x54\x1d\xf6\xf0\x92\x1f\x46\xd8\x88\x3d\xbc\xcd\x08\x5c\x33\x38\xa5\x9d\x0a\xee\xa0\xc7\x4d\xdc\x5d\xe0\xf6\xcc\xa4\xe1\x3a\x9f\x93\x75\xd8\xad\xd2\x46\x6f\xbb\x33\x1c\xaa\x80\x70\xa0\x0b\xa4\xa3\x36\xe8\x83\xac\x11\x38\x58\xf6\x52\xf5\x5b\x60\x01\x8b\x56\x7c\x4d\xfc\xe8\x57\x2d\x7f\x83\xc5\xd0\x61\x10\xf7\xc3\xe5\x43\x78\x04\x63\x66\xd5\x06\x7e\xba\x0b\x50\x9f\xf8\x3b\x26\x6e\xfc\x0d\x9e\x7e\x1f\x0a\x56\xf1\x4c\x72\x93\xed\x03\x7c\x25\x87\x79\xc0\xae\x87\x6c\xd6\xa5\x2a\xe6\xf7\x3c\x3f\xcc\x33\xe2\x3b\x0c\x56\x7d\xc8\x84\x31\xdf\xb1\x05\x4e\xc5\xaa\x2d\x7b\xf0\x56\xac\x86\x07\x59\x02\x1d\x9c\x8d\xdb\x71\x1e\xcb\x4e\xb2\xdc\x7a\xc2\xfe\x84\x63\xff\xc6\x60\xa3\x8d\x79\x86\x83\x37\xfe\xf8\xba\xe8\x7f\xfb\x6f\x6f\xc2\x45\xaf\xc3\xd2\x1f\x4f\x7f\xf0\x06\xf4\xbd\x28\xde\x39\xf8\xf1\x6a\x30\xaa\x49\x60\x80\xc3\xb7\xbd\x08\x3f\x7b\xe0\xf3\x87\x7e\x7f\xd7\x61\xbc\xfd\x39\x78\xec\xce\x23\x4f\xfc\x6e\x5f\x62\x88\x61\x27\xce\x7e\x77\xea\xc3\xaa\xd6\x02\x4b\x9e\x60\xd9\x75\x77\xb0\xe4\xf7\x18\xc3\x5f\x18\x30\xf3\x4c\xdd\x46\x0e\x86\x78\xb6\x29\xa6\x82\x57\x34\x64\x2f\xdc\xc8\xb0\x62\x2b\x4f\x3a\x36\x60\xee\x4b\xcb\x18\xa6\x2d\xc5\x91\xf3\x08\xd9\xcb\x70\xd9\xbd\x84\xc5\x37\xb2\x73\xd7\x70\xe5\xc8\x83\x36\x48\x6f\x4d\x49\x8d\x81\xa1\x0f\x7e\xd5\xf2\xdb\xd0\x2a\x5f\x88\x1c\x5b\xac\xd8\x95\x23\x12\xe6\xc7\xdc\x3a\x76\x78\xc2\x3c\x88\x79\x50\x5b\xd1\x32\xe8\xe7\xc2\x2e\x7f\xb3\xb7\xd9\xef\x0a\x73\xfe\xc1\x96\x0a\xed\xfa\x0e\xbc\xa4\x63\xfd\x03\x37\xbe\x71\xe3\x8d\x6f\xdc\x88\xcf\xb1\x18\xb6\x6e\xe9\xf9\x7c\x89\x14\x31\xe3\x60\xcf\x16\x39\x2e\xd8\x6c\x0a\x0d\xed\x31\x61\x69\x13\x53\x65\x2a\xd2\x68\x8a\x4c\x55\x4c\xd3\x52\x21\xd6\x7e\x5a\x24\x82\x6f\x4e\xde\x70\x43\x72\xec\x86\x1b\xc4\xd5\x07\x0d\x96\xf7\x28\x3a\x2b\x85\xdd\x78\x4f\xf2\xf4\x9e\x52\x52\xe5\x7b\x82\x34\x46\x35\x5a\x88\xce\x44\x09\x69\xff\x9c\xe2\x05\x42\x7c\x2e\x66\x66\x38\x81\x4e\x72\x0a\xb8\x58\x5f\x27\x73\x92\xb1\xcc\x1e\x0e\x71\xc2\xc8\xed\x27\xc4\x68\x63\xe4\xa1\xb5\x78\x4f\x6b\xae\x34\xf1\xab\x7b\xa6\x0f\xf6\xac\x56\x97\x35\xad\x09\xb2\xbc\xcf\xde\x54\x5e\xef\xae\x2f\x6f\xb2\xfb\xf0\x43\x56\xfd\x56\x29\x80\xb2\x92\xce\xe3\x82\xde\x7a\x14\x59\xf5\x9f\x4b\x51\x45\x98\x83\x7a\x2b\x39\x67\xec\x86\x1b\xc6\x92\x37\xdc\x20\x7e\xb7\xba\xe3\xb4\x33\x57\xd4\xf7\x8e\x8c\xf4\xb6\x9c\xb5\x6d\x65\x80\xa9\xd0\x3a\xd5\x6a\xb5\xda\xa9\xad\x00\x46\x6f\x9d\x92\x22\x33\xcb\xe9\x5c\xae\xd0\xc6\x58\xe9\x68\x9f\xcf\x68\xa3\x4a\x9c\x1c\x95\xbc\x26\xa9\x42\xad\xa8\x1b\xad\x41\x05\x84\x50\xc0\x8b\x67\x35\x00\x4b\x23\xc2\x33\xc1\xb2\x95\x70\x29\x33\xe7\x71\x9b\xff\x45\x59\x9e\x1e\x82\xf2\xa1\x01\xd2\x56\xb7\x19\x68\xce\x9b\x23\x64\xa9\x1f\x6c\xe7\x5a\x4a\x1b\x1b\x1a\x1a\x1a\x4b\x5b\xb8\xf6\xc1\x7a\xcb\xb2\x10\x46\xa1\x75\x7b\x9e\xdc\xb3\xe7\x49\xa6\x7a\xae\x2b\xbd\xdd\x38\xfd\xa2\xd1\x6e\x37\xe2\x36\xa3\x7d\x9e\x8b\x3d\xda\xd2\x23\xee\x9f\x7b\x00\x87\x28\x85\x66\xe1\x0e\xf6\x6c\x81\x0d\x53\x63\xd1\x76\xa6\xcc\x68\x53\xab\x6d\xc6\x32\xa6\x3d\x3a\x36\xb5\x01\x77\xd1\xc6\xf7\x88\xbf\x99\x3d\x80\x02\x2c\x6d\xb4\x65\x9a\x80\xf6\x58\xed\x2a\x2a\x93\xb9\x3a\x29\xcb\x67\x8b\x1c\x1b\xf0\x44\xfe\xed\x91\x9e\x24\xa8\x92\x04\x3a\xb1\x5f\x9a\xea\xc2\x3e\x17\xe0\x99\xef\xc9\xc7\x9d\xc7\x11\xfc\x17\x65\xeb\x3c\xdd\x3a\xc9\x11\x0b\x27\x89\x6b\xc3\xa0\x65\x21\x11\x85\x96\x9d\xc8\xd8\xcb\xfe\x07\x2c\x9d\xb2\xea\x3f\x5d\x22\xc7\xfa\x9e\x7b\x3e\x03\x6c\x95\x66\x96\x4f\x97\xcc\xb2\xf7\xf5\xa9\x0d\x27\x70\x18\x9e\x90\xd8\x3b\xbd\x75\x96\x91\x1f\xcd\x72\xf7\x6f\xb3\x75\x47\x7c\x8c\xa4\x90\x54\xcb\xe7\xb2\xd8\xca\xbc\x7c\xec\x97\xb0\x05\x1d\x17\xdb\xc7\x89\x16\x20\x54\x27\x1d\x42\x5a\x2d\x07\xc9\x95\xd6\xc8\xf2\xa1\x92\xc8\x34\x73\x32\xe3\x8c\x8b\xe3\x5f\x1d\xbb\x27\x7a\x1f\xfb\xc9\x63\xbd\x13\xbb\x1d\xdb\x60\x19\x9c\x07\xcb\x2e\x51\xbc\x8d\xf1\xfb\xfb\x3e\x16\x1f\x7e\xf4\x91\x79\x0e\x83\x3f\xb8\xf9\x65\xd3\xb2\x75\xeb\x96\x99\x5e\xbe\xf9\xfa\x6f\x7e\x13\x7f\x5b\x8e\x06\xfe\x3e\x84\xc4\x6b\xc5\xef\xfc\xf9\x38\xc7\xc2\x63\xfd\x32\xa1\x5a\xd4\x28\xed\xd5\x70\x58\xec\xb6\x63\x6e\x96\x10\x0a\x06\x94\xc3\x03\xed\x36\xa7\xc5\xef\xa8\x0c\xfb\xdc\x4a\x67\xf1\x4b\x72\x4b\x97\x1f\x16\x1f\x16\xaf\x16\x1f\xfe\x78\xdf\xbe\xc3\xcc\xf8\x75\xc7\xdc\x1a\xaf\xeb\x39\xbc\x1b\x92\xbb\x0f\x1f\x50\x3a\xcc\xa1\x7d\x87\xc5\x87\x1f\xf9\x8e\xf8\xf0\xe1\x2b\xf6\xfd\x19\x96\x4b\xe8\x9f\x2f\x7d\xf9\xb3\x5b\x64\x5f\x4b\xf1\xc3\x5b\x3e\x7b\x19\x96\x4e\x4d\xdd\xa1\xf4\x7a\x7e\x3c\x96\x0a\x79\xb7\x0d\xcc\x33\x79\xe1\x19\x07\x06\xbb\x0d\x49\xbd\x0a\x99\xac\x3e\xda\x69\x0f\x57\xe9\xe1\xa4\xaf\x88\xcc\x83\xcd\x1b\x36\xf7\x34\xbe\x78\xf9\x91\xaf\x5f\xfe\x62\x63\xcf\xe6\x0d\xcd\xab\xd7\x5c\xfa\xd4\xa1\xa7\x2e\x5d\x23\xde\xae\xf8\x62\x2f\x3c\xe3\xdc\x5b\xaf\xb9\x4a\xbc\xf0\xaa\x6b\x6e\x3d\xf7\x0c\x7c\xd8\xd0\x32\xbc\xe7\xd5\xdd\x37\xbd\xf3\xce\x4d\xbb\x5f\xdd\x33\xdc\x62\x38\xf7\x9a\xd1\xa7\x2e\x5d\xb3\xe6\xd2\xa7\x46\xaf\xc1\x56\x65\x30\x9f\xbd\x7f\x45\xfc\x63\xb0\xf1\xe7\x9f\xcf\x8b\x7f\xfc\x38\x7e\xc5\xec\x79\xd3\xac\x7c\xde\x42\x31\xaa\x41\x1d\xf3\x7e\x4d\x0e\xdf\xbc\x9f\x92\xb9\xea\xa4\x81\x9d\x66\xa3\x69\xce\xfb\x29\xac\x69\x1b\x7c\x6b\xb0\x6d\x4d\xfd\xc5\x7b\x9f\xde\xbb\xf7\x69\xb8\xe3\x08\xb2\xea\x89\xbc\x4a\x3a\x22\xe9\x1a\x55\xf3\x83\x54\xbf\x7b\xb6\xc0\xc6\xa9\x8d\x1b\xa7\x92\xb1\xf6\xe5\xcb\xdb\x63\xf0\x98\xa4\xca\x9f\xef\x67\xb7\x7e\xb6\x5f\x6f\xb5\xb2\x2f\x7f\xb6\x64\xc6\xac\x2a\x16\x01\x21\xd5\xac\x2d\xb0\xa2\x52\xb4\x10\x9d\x82\x96\xa3\xb3\x90\x40\xed\xa9\xf4\x1d\x92\xab\xf6\xc8\x9f\xab\x69\x77\xbf\xc8\x9c\x1e\x5f\xae\x9b\xb5\x97\xf2\x88\x4e\x30\xaf\xb3\x51\xe3\xab\x8e\xff\x76\x3b\x65\xac\xee\x6b\x5e\xf2\xdd\x25\xcd\x7d\xd5\xc6\xae\x46\xf8\x7a\x63\xd7\x94\xe4\x0a\xc3\x64\x2c\x86\x69\x39\xd0\xe5\x41\x83\x45\x9c\x9a\xd9\x1c\x09\xd2\xa1\x2b\xca\x16\x29\x79\xcb\xd4\xec\x5d\x9f\x4e\xf1\xc8\x62\xf8\x74\x89\xc1\xc2\xcf\xff\xe1\xf7\x85\x36\x9f\xee\x5b\xb2\xc4\x77\xfa\xe6\x50\x78\xe5\x4a\xb8\x53\xf2\xb5\x11\xdf\x3b\x66\x3b\x67\xcf\x73\x99\x93\xcc\xa9\x84\x94\xc4\xbf\xb9\x3f\xf5\x7f\xc6\xc7\x59\x95\x55\x14\x01\x7f\x91\x4d\xad\x3b\xae\xcc\x1e\xe7\x01\x7b\xa2\x8d\x3d\xb9\x22\x51\x3e\x76\x35\x8a\x1b\x1b\xbb\xe6\x70\xf3\x7f\xcf\xc7\xa9\x4f\x91\x55\xcf\x1d\x3c\xde\x7c\xf6\x85\x57\xae\x0c\xcf\x72\x12\xde\x90\xb8\x38\x7d\xec\x60\xa4\xbf\x9c\x84\x89\xc7\xea\x8e\x7c\x9b\xd9\xfa\x39\x55\xcb\xf9\x26\x13\x4b\x67\x94\x7d\xc0\x21\x54\x22\x45\x67\x34\xe1\x9a\x6a\x6c\x36\x59\xfc\xbe\xb0\x97\x91\x9c\x9c\xa5\x37\x53\xe0\x77\x18\x48\x0d\x7d\x96\xe1\xe4\xd3\x6c\x03\x96\x50\xad\xbc\x25\x12\xf3\x92\x87\x0d\xf3\xdb\x57\xde\x7f\xf7\xd0\xa1\x77\x97\xb5\x3b\xaa\x43\xc1\xd3\xea\xbd\x55\xad\x89\xfb\xbf\x7c\x6f\x6f\x2f\x5c\x54\x20\x9a\x85\xa7\x5d\x7e\xf6\xd2\x89\xb3\x7b\xaa\x22\xc9\xeb\xc5\x5f\xfd\x62\xef\xde\x77\xa1\xfc\xba\xc9\x3f\xbc\x70\xe3\xc6\x3b\x2e\x6d\xde\xbc\xa8\xa3\x07\xff\x09\x3a\xa1\x5d\x7c\x5e\xfc\x9e\xf8\x7d\xf1\x87\xe6\x85\x8b\x07\x16\x96\x9b\x22\x67\x25\x85\xeb\xc4\x3d\xa5\x83\xa9\xb3\xba\xdd\xcb\xd6\x86\x4b\xf3\x3f\x84\xfa\x03\x5f\x87\x85\x2f\xe5\x4f\xfd\xca\x53\x9f\x5e\xf2\xb4\xf8\x83\xb1\x81\xd3\x96\xcf\xd8\x03\x41\x8d\xd8\x9b\x51\x25\xf2\xa2\x1b\xd1\x33\xd2\x1e\x4f\xc9\x6d\x0a\x9b\x4d\x56\xe9\x35\x84\xf2\x92\xde\x24\xf9\xfc\xd7\xcd\xee\x7c\x95\xe4\x67\x3b\xe6\x26\x31\x73\xaa\x9e\xdd\x26\x9f\xbe\x17\x0c\x84\xe6\x3a\x44\xd8\xa5\x8f\xff\xb2\xf7\xa4\xdd\x26\x39\xfd\x28\x3e\x13\xd2\x2b\x36\xbf\xcf\xe9\x62\x9c\x36\x17\x2b\x79\x96\xb8\xa5\x32\xb0\xa6\x63\xfe\x03\xe1\x90\x59\x8a\x2f\xe4\x65\xe5\x6f\x6a\x0e\x8b\xd3\x01\x3f\xa8\xb4\x83\xae\x2b\xfa\xfe\xeb\x9e\x8c\xdb\x5a\xd9\x35\xdc\x3a\xf1\x25\xdf\x46\x5c\x6c\xb0\xa9\xd9\xae\x9a\xf2\xcf\x5f\x28\x71\xd7\x94\x33\xed\x25\xee\x37\x7b\x8b\xcf\xf4\x98\xb4\xbc\xc9\xed\x75\xd7\x94\x9b\x89\x71\xa1\xb3\x87\x68\xf4\x8b\x1c\x2c\x43\x2a\xdd\xa1\xa0\xbb\xa1\xdc\x67\x02\xb0\x70\xa5\x13\x37\xb4\x2e\x1d\x68\x2d\x2e\x2f\xb5\xd6\xfb\x16\xd7\x2f\xf6\x94\x99\x54\x1c\x51\x69\x74\x66\x8d\xb3\x6c\x81\xa6\xb4\xe7\xd4\x0e\xfc\xea\xa5\xd6\x45\xab\xd6\x57\x9a\x5c\x8b\x56\xab\x1f\xad\x0f\x2c\x4a\x60\x87\xd6\xaa\x55\x55\x5a\x07\xce\x1b\xde\xaa\xc3\x82\xbd\x8a\x18\xcf\x85\x32\xb8\x18\x36\x80\xd9\x9f\x28\xb5\x96\x76\xc5\xd7\xbe\xf0\x99\xf8\xdb\x57\x36\x9c\x41\x4a\x4c\xc5\x8e\x73\xca\x3d\xee\x92\x72\x8f\x1b\x9f\x76\x51\xd4\xbd\xc6\xa6\xd1\x71\xea\x06\xdf\x06\xef\x8a\x50\x03\xab\x6b\xd6\x3b\x4a\x56\x18\x17\x19\x8b\xed\xc5\xed\xc0\x30\xb8\xc5\x55\xd7\xe9\xf5\x76\xd6\x0d\x77\x2e\xb4\xb1\x2c\x26\x26\xed\xc2\x67\x77\x85\x27\xc7\x93\x13\x81\x60\x7d\x8b\x49\xad\xb3\x95\x5b\xfd\xfe\x65\x4b\x5a\xa0\xca\x5c\x65\x77\x68\xcb\x9c\xc5\xeb\x6d\x03\x2b\xf6\xef\x15\x3f\xfa\x75\xe5\xe0\xe6\x8e\x0a\x93\x71\xe9\x3a\xed\x6f\xa0\x69\xf7\xa1\xb1\x89\x71\x62\xd7\x39\xcd\x36\xb5\xb5\xea\xc0\x6e\xf1\xc3\x6f\x34\xcc\x7d\xdf\x50\x24\xcd\xfa\xd6\x90\x9b\x07\x03\x38\x2a\x00\x42\x4e\x07\x0f\xed\xc0\xfb\xba\xc0\xe9\x38\x61\x13\xf6\xdd\xd7\xa8\x3d\x95\x47\xf6\x97\xdb\x4d\x45\xbf\xc0\x60\xd7\xf2\x5a\x31\x62\x72\x3a\x92\xef\x2d\xc1\xc9\x93\xec\x47\xf8\x35\xfe\x4e\xa3\x5b\x27\x3e\xa4\x2d\x2b\xe6\xfb\xa1\xd7\xa0\x62\x35\xe2\x25\x1f\x3a\x46\xef\xae\xc5\x37\x9f\x6c\x43\x01\x37\x7b\xb6\x93\x5e\xfa\x92\xec\x97\xe2\xa0\x22\xc5\xf7\x2f\x14\x36\xfb\xcd\x2e\x70\x06\xdc\x1e\x65\xe3\xa0\xa4\x62\x95\xa1\xb0\x4d\x3a\x27\x3c\x2c\x6d\x84\xb4\x9b\x1d\x56\x65\xe7\x0d\xfd\xc3\xd4\xb2\x0c\x2c\x9a\x5a\x34\x30\xd5\xb7\x38\xb3\x3f\xb3\xb8\xef\x09\xd0\x3c\x31\x25\x3b\xf9\x4d\x49\xf0\xd4\x41\xe9\xdf\x60\x26\x33\xb8\x38\x66\x27\x97\x1d\x29\xd8\x63\x8b\x57\x5e\xd4\x44\x10\xad\x9a\x46\x4d\x17\xad\xdc\xf3\xc4\x13\x7b\x1e\x13\x3f\x05\xfe\xb1\x47\x76\xe3\x17\x68\x69\xba\x7d\x37\x5c\x2a\x6f\xae\x91\x36\xd8\xfc\xff\xa2\xef\xf8\xb2\xe9\xff\x67\xfb\x0e\x97\x89\xff\x57\xfa\x1e\xf4\xdb\xff\xaf\xf7\xfd\xb2\xcb\xfe\x37\x3d\x9f\xdb\x77\xb5\x34\x2f\xcb\xbd\x9f\xed\xbb\xcf\xf1\xbf\xe8\x77\x66\x7f\xe6\xdf\xe9\xf5\xea\xed\xdb\x57\xff\x8f\x7b\x6c\x9a\x8d\xc1\xe4\x46\x5e\xe9\xb4\xfa\x01\xb4\x0a\x6d\x44\x5b\x50\x1c\xa5\xd0\x0e\x74\x1e\xba\x08\xed\x43\xd7\xa3\xdb\xe4\x13\x2f\x60\xe6\xac\x40\x2f\x84\xe5\xd8\x72\x55\x66\xe5\x20\x95\x90\xc3\x19\x0e\xf9\x9c\x58\x39\x92\x9a\x51\xf6\x01\x85\x66\xca\x33\x79\x40\xae\xa9\x3d\xbe\xfe\xf8\xfb\xbf\x00\x7f\x06\x8f\x3b\x2e\x67\x6f\xd4\x68\xa6\xf7\x69\x4a\x34\x6b\x35\x9a\xc6\x53\xad\x6d\xcb\xe2\xdb\xae\x3f\x8a\xe8\x42\x7a\xdb\xd3\x4b\xb7\xfc\x64\x6d\xa3\xa6\x44\x53\x25\x3b\xea\x6e\x92\x32\xd9\x91\x77\xfa\x1e\xc5\x79\x57\xf6\x08\x46\xf3\x2a\xe7\xde\x28\xbe\x3d\xb7\xa0\xdc\x20\xef\x40\xde\x34\x27\x65\x79\x4d\x09\xed\x87\x66\xad\xa6\x44\xd3\x78\xd6\x7f\x45\x97\x5e\xbf\xed\x73\xc4\x22\xba\xaa\x5f\xbb\xcc\x53\xde\xdd\xa8\xd1\x88\xf7\x4a\x78\x9b\x4e\x48\x03\x52\x13\x53\x5f\x70\xf5\xed\x13\x6a\xdc\x27\xd4\x20\xf3\x9c\xb3\xfa\xea\x50\x93\x14\x31\xb5\x1f\xad\x44\xe7\xa2\x3d\xe8\x72\x74\x1d\xba\x15\xdd\x8d\x1e\x40\xdf\x41\x4f\xa1\x1f\x48\x3b\x9e\x8e\x05\xdb\x97\x36\xaa\xcf\x96\xdc\x1d\x80\x8e\xf3\xf6\x76\x2b\xb9\xe3\xb8\xb2\xfb\x24\xab\xcb\x53\x40\x89\x87\xe7\x90\x5e\x2b\x3a\x78\xe0\x9a\xc1\x3d\x57\x6d\x7c\x0e\xf4\x05\xed\x7c\x51\xfb\xc7\xd7\xcf\x94\xb9\x29\xf9\x70\xc4\xae\xee\x69\xd4\xdd\x65\xd5\x2f\xd1\x5b\xa7\xf0\x12\x4b\x99\xc5\x52\xb6\x56\x4a\xbd\x52\x7a\xf5\x1c\x58\x4e\x99\xb5\xf2\x6a\xdd\x62\xd8\x7a\xfd\xb6\xe4\x0a\xef\x68\xbd\x43\xab\x6d\xd0\x6a\xc5\xe7\xa5\xcc\x51\xab\x2e\xab\xf3\x07\x97\xb3\xef\x19\x2c\x47\xa6\x4e\xc0\x7e\xe5\x9f\xd6\xc8\xd4\xe0\xe0\xc1\x03\x85\xe7\x28\x85\x1d\x0e\x47\xca\xec\x74\x9a\x1f\x2f\x1c\x38\x08\xff\x41\xaf\x59\xbc\x73\x52\xcb\x09\x35\xd3\xb3\x8f\x07\x78\x6a\xdb\xf5\xab\xac\x86\xca\xf9\x9d\xf3\xe6\x7d\x35\xcb\x83\xd3\x53\x16\x38\x78\x02\xee\xda\x7f\x5a\x23\xff\x2f\xad\x19\x81\x3e\xef\xb2\x22\xd2\xa3\x25\xe8\x54\xb4\x5d\xf6\xf1\xe2\xb9\x4a\x79\x29\x57\x09\x36\xc4\x73\xd2\x59\xc9\xf4\x3f\x4b\x30\x80\x6b\x79\x03\x91\x56\x6c\x74\x0d\x09\x4e\x07\xe7\xf1\x02\x0e\x87\x2c\xa1\xda\x70\x88\x71\x58\x66\xb7\x55\xd8\xe4\xb3\xf2\x3c\x6e\x69\xc3\x9c\x57\x76\xc2\x95\xf6\x83\xf1\x06\x90\xfc\xc1\x71\x38\xe4\x02\xf2\x81\xb9\xa2\xc8\x21\x1e\x71\x14\x55\x98\xe1\x20\x76\x89\x9f\xbc\xa5\x32\x00\x4f\x18\x0c\xaa\xdb\x9f\x7d\x44\x7c\xf1\x3b\xe7\x7c\x70\xc7\x10\xc0\xf7\x6f\xe7\x31\x21\xa0\xc2\x60\x54\x5d\xfb\xc1\xa4\x8a\xdf\xf1\x0c\x90\x2b\xee\x82\xe6\x77\x76\x4f\x7f\xb0\xfb\xf1\xdd\xbb\x1f\x87\x3b\xc7\x36\xab\x4c\x98\x73\xf2\x9a\x45\x3d\x85\xe7\xb7\xef\x39\xa8\xd7\xf4\x76\x6b\xf8\x22\x16\x9b\x54\x43\x63\x98\x7c\xf9\xdd\x0b\xaf\xfc\xc7\x55\x70\xc6\xc6\xf4\x9b\xc3\x9b\x36\x0d\xbf\x99\x3a\xfd\x3e\x40\x87\xc5\x73\x36\x12\x9d\xba\xc5\x52\x69\x54\x93\x35\xe0\xfb\xee\xc3\xd0\x74\x9f\x86\x4f\x3e\xf0\xdb\x73\xbf\x2b\xfe\x74\x35\x51\xdb\x8b\xd4\xcd\x3a\xb5\x8e\x59\xf4\x4b\x68\xbd\xf7\x0a\x60\x9f\xdd\xa5\xd6\x6c\x3f\x24\xbe\x53\x47\x69\xee\x3e\x8a\x76\xbd\xbe\x94\x53\x69\x02\x0b\x34\x9a\xd0\xd5\x6b\xd3\x8f\x47\x74\xc6\xef\xef\x39\xfb\xbe\xc5\x1a\x4d\x7d\x40\xad\xe2\x96\xbd\x7d\xee\xee\x0f\x2e\xe1\xf8\x8b\xfe\xac\x9c\x4d\x2e\xef\x2b\xb6\x22\x54\x27\x45\x73\x3f\x2e\xca\x32\x62\xd1\xe7\x88\x53\x3e\xf7\xc8\xcf\xcd\x53\x04\xc1\xd6\xb9\xcf\x2b\x20\xb7\x03\x53\xc8\x88\xd0\xf1\xcf\x6f\xfc\x3c\xdc\xf7\xa4\xd7\x99\xca\x8b\x21\x32\x7b\xbe\x03\x41\x3a\xe4\x46\xa8\x1e\xcc\xf5\xd8\x5c\x65\x96\xdf\xcb\x2a\x51\xb8\x8e\x75\x67\xb6\x4f\x04\x4d\x23\x06\x61\x34\x8d\xb6\xf6\x6c\x21\x68\x4b\xcf\xf4\xfe\x99\x17\x01\x78\xab\x7c\xc8\x39\x46\x04\x1d\x45\x5b\x7a\x30\xa2\xf5\xe2\x6c\xc0\x7f\xd8\x2a\xd3\x3e\x36\xf6\x1a\xe4\x47\xa8\x2e\x1c\x0a\x34\x83\x94\xb8\xab\x8d\xe0\x71\x4b\xdf\x22\x2b\x60\x36\x0a\x8a\xd3\xe1\x3b\x9e\x37\xcc\x57\xaf\xd6\x68\x7e\xf7\x3b\x8d\xe6\x6a\x4d\x09\xcd\x4b\x34\xc7\x95\x71\x6e\xee\xd0\xdf\xfc\xa2\xdb\x94\x32\x63\x9d\xcb\x53\x32\xa7\x7f\xf2\x7b\x9f\x7f\xfb\x5c\xdc\xe3\x7a\xf9\x3b\x4a\xe7\xc0\x01\x99\xce\x81\x03\x32\xdd\x39\xe5\x23\xfa\x13\x45\x0c\x07\x4e\x7e\xef\x6c\x59\x7c\x99\x41\x5b\xe7\x3f\xb3\xce\xd8\x78\x49\x97\xd4\x50\x05\x27\x2c\xeb\xbd\xe0\x9b\xce\x8a\x3f\x61\xb7\x9e\x64\x0d\x0f\x71\x1c\x98\xfe\x31\x1c\x3a\xd9\x7a\x9d\x97\xda\xc6\x92\xef\x87\x15\xd5\x20\x2f\xea\x45\xdf\x47\xaf\x21\x04\x6e\x03\x38\x1d\x9d\xc0\x72\xf2\xd6\x38\x9f\xd3\x61\x73\xce\xb2\x48\x66\x8c\x67\xe6\x9a\xc3\x56\x27\xfd\xcc\xa5\xa8\x3d\xbc\x01\xac\x21\xe9\x13\x20\xdf\x09\x15\x10\xf2\x74\x82\x14\x47\x24\xe4\xf6\xb8\xa9\x39\x70\x81\xd3\x0b\x1e\x77\xd8\xed\xa9\x96\xbc\xab\xe8\xb3\x26\xc7\x87\xc2\x9c\x0b\x9c\xf4\xba\x11\x28\x65\x27\xc7\x73\x36\x47\xb8\x13\xc2\x5e\xcc\x77\x32\x7e\x87\xe4\x27\xe3\x90\xaf\xb3\x0e\xa7\xdb\x63\x60\x1c\x4e\x47\xc8\x22\xf9\x98\x3a\x1d\xe1\x13\x62\x8f\xb0\x5a\xe3\x02\x9d\xd6\x10\x30\x89\x9b\x54\x4e\x5e\xa5\xe2\x9d\x2a\xfe\xb6\x1a\x5d\x8d\xde\xad\xd3\xc9\xd9\x24\xad\xe2\x55\x0e\x13\x5c\x56\x7d\x4d\xc8\xed\x65\x96\xad\x5c\xe2\xc6\x0e\xde\xca\x19\x08\x4b\xf8\xef\x11\x67\x65\x35\xb7\xe0\x8c\x7e\x6b\x83\x4e\x87\x6b\x39\x20\x64\x61\x1b\xa7\xd9\xb6\x7e\x71\xb2\xcc\xc5\xd7\xfa\x2b\x9a\x36\x1a\xca\x16\x9b\xf4\x3e\x8f\xd5\xab\xd7\xeb\x35\x4d\xad\x7a\x8c\x79\xa8\x73\x15\x3b\x6a\x84\xea\xaa\x4d\x8f\x98\x40\x63\x34\xda\x17\x36\xd4\x9f\x6a\xc5\xea\x4a\xb3\xb3\xad\xa8\xc2\xae\x37\xa8\xf8\x05\xdb\x58\x28\xd3\xeb\x19\x97\xa3\xc2\x6a\xc4\xea\x1a\xec\x28\x6e\xb0\x1a\xf4\xd6\xa6\xe7\x1f\xad\xd8\xb8\xa3\xb4\x79\x6c\xb4\xcb\xf3\xf7\x7d\x87\xc5\x87\xc4\x6b\xc5\x87\x24\x89\xad\x84\x24\xac\x3c\xcc\xd4\x9a\xcd\x0b\x2c\x66\xb6\xf6\x35\x95\x4a\xe5\xa0\x43\x72\xac\xad\xd1\xeb\xdd\xfa\x6a\x7d\x8d\x4e\xe7\xd1\xd5\xec\xa0\xf5\x2a\x95\xc9\xb1\x69\xc9\x42\x77\xd9\xca\xe1\x8d\x36\x57\x2d\xb6\x73\x76\x8d\xdd\xe8\xb0\x15\x89\x16\x5b\xb9\xc1\xa6\x59\x1a\x36\xe9\xb5\x00\x4d\x4d\xb6\x7a\x8d\xa6\x68\xad\x6f\xfd\x1e\x0d\xef\x6f\xf5\xc7\x96\x85\x8c\xcc\x92\xb6\x64\xd6\xae\xb5\x16\x95\x00\xf8\xca\xec\x46\x47\x39\x43\xca\x86\x2e\x0b\x1a\x1c\xa6\xf1\x66\x6f\xf5\xa3\x4b\x4d\x5a\x9d\xa5\x78\x91\xc3\x6c\xed\x70\x61\x4e\x0d\xac\x91\xe5\x81\xaf\xaf\x0b\xc6\x5b\x46\xf2\xe5\x0d\x1c\xc7\xfb\xea\xbb\x4e\xe9\xed\x71\x85\x4a\x8a\x5c\x21\x77\x63\xa5\xb6\xf8\xdb\xa0\xde\x1a\x38\xbf\x6d\xf3\x86\x75\x04\xc3\xe4\x49\xf7\xa0\xc3\xec\x7b\xd8\xa5\x08\x81\xd9\x21\xed\x2f\xef\x02\x3f\xb1\xd6\x48\x1e\x89\xca\x4b\xa8\x4e\xa6\x0b\xfc\x1c\xe6\xbd\xe0\xa9\xa9\x62\x83\x54\xee\x56\x8b\xc7\x0b\xcd\x10\x64\xab\x7c\x61\xaa\x18\xf4\xfe\x9a\xaa\x6a\x0e\x73\x23\x0f\xd6\xd5\xf5\x35\x99\xab\x46\x0c\xfc\x48\xb9\x71\x71\xe8\x74\xf1\xbf\x4f\xdf\x04\x42\x4d\x6b\x47\xb3\xaf\xc1\xb2\xf9\x4c\xce\xcf\x5e\xfd\x87\xa6\xc6\xe9\xaf\x88\x17\x9f\xdf\xdb\x0a\x2a\xa2\xc5\xcd\x7d\xe7\xc3\x4e\xfc\xf4\x65\x7f\xe0\x4c\x0c\xbb\xb9\xb2\x62\xe3\xc0\xf4\xcf\xcb\x8c\xec\x69\xd3\xdb\x81\x25\x04\x37\x9d\xba\x4f\x7c\x5a\x7c\xf6\xfc\x3e\x1f\xa8\xa6\x5f\x5b\xb5\x9c\xd1\x16\x7b\x3a\x1b\xde\xaa\x13\xd7\x76\xb0\x1c\xe8\xe2\xc5\xfa\x96\x30\xde\x0d\x57\xff\xb5\xc3\xab\x2f\x8a\xeb\x4a\xfb\xa6\x37\x9f\x7d\xce\x64\xc1\xac\x7c\x0f\x91\x7c\x5c\xcc\xa8\x11\xb5\xa0\x4e\xb4\x4e\x79\x73\x67\xb7\x39\x0c\x4c\x8d\xd9\xe7\x22\x65\xc0\xd2\x02\x96\x1c\xae\x17\x13\xba\xc4\x96\x2a\xfd\xe6\x1a\xf0\x9b\x6b\x78\xb7\xa7\xc6\xec\x37\x5b\xfd\x56\x36\xe0\xf1\xb2\xd5\x35\xd5\x0b\xc1\xec\xf3\x3b\x42\x1e\x37\x1b\x94\xf7\x73\x04\x6b\xcc\xfe\xf0\x49\xf7\xab\xdc\x04\x80\x59\x95\x41\xad\x36\xa8\x58\x0c\x8b\x01\x18\xad\x4a\xcd\x32\x84\xe1\x58\x4e\xc5\x12\xf8\xfc\xdd\x5d\xbb\xe0\xdb\xdb\x6e\x2f\xb3\xe9\x6e\x1b\x6b\x5a\xb1\x10\x0e\xb0\xc4\x64\xa9\xb4\xd7\x9b\xed\x2a\xe6\x2c\x5b\xed\x81\x36\x02\xd0\xc1\x18\xab\xcb\xbd\x15\x85\x14\xef\x6a\xf6\x55\x3e\x3c\xf7\x93\x1c\xfe\xd5\x23\x8c\x43\x65\xe2\x55\x04\x82\x58\x45\x4c\xac\x23\x3a\x09\x4e\x95\x91\x53\x6b\x6e\xc6\x1a\x5e\xcb\xa9\x08\xe1\x38\x2d\x6b\xf8\x08\xde\x12\x17\xc0\x5b\xbf\xb8\xf6\x34\x71\x01\xb4\x89\x2f\x42\x97\xa1\xd7\x69\x2a\x36\xe9\x58\x22\x2e\x00\xff\xcd\x9d\xb7\xef\x29\xaf\xac\x31\x56\xdf\x24\x2e\x70\xd5\x76\x10\xcb\x71\xdf\x3a\x58\xd4\x72\x14\xab\x96\xb3\xff\x40\x3a\x64\x47\x25\x68\x1d\xba\x02\x21\xd6\xed\x91\x4e\x2d\x73\x20\x6a\x56\x9a\x81\xe3\x1d\x56\x6a\x4d\x20\x80\xa5\x93\x1e\x79\x8e\xef\x24\x15\xe0\x22\xbc\xdb\x80\x79\x17\x76\x3a\x3a\x71\x97\x1c\x89\x80\xe7\x58\xce\xe3\x22\x52\x08\x42\x8b\x95\xe3\x39\x2c\x6d\x74\xe7\x6a\x2a\x11\xa9\x76\xd7\x70\x2e\x5c\x01\x0e\xa7\x97\x34\x83\x97\xf3\xb8\xb0\x53\x59\x18\x51\x53\x56\xcb\x38\x1d\x16\x66\x82\x63\xf5\xde\xf3\xc6\x0a\x15\xe6\xdb\x7a\x60\xad\xb8\xf9\xbe\xe2\x4a\xc2\xac\xaf\x63\x77\x2d\xac\x6e\x74\xb1\xfb\xcf\x79\x55\x7c\xf7\xf6\x6b\xc4\x4f\xb6\xb9\x8c\x8b\xef\xf9\xea\xde\xfa\x05\x55\x0b\xd4\x0c\x39\xef\x47\x77\xee\x1a\x60\x8c\x6d\xd5\x5f\xfa\xf4\xe1\xab\xea\xea\x1c\x35\x25\x8c\x21\x78\x48\x9c\xde\xfb\x48\xfd\xa5\x17\x9f\xeb\xf1\x5c\xb1\xf3\x7b\x1f\x2d\x33\x94\x0c\xfc\xf2\xa7\x2d\xd5\xa7\x9e\x55\x5b\x27\xfe\x5a\xec\x5f\x06\x1c\xe6\xcc\x35\x75\x7a\x83\xca\xbb\x74\xcc\x57\x4e\x30\xdb\xbe\xa0\xa7\xd5\x5f\xad\xb2\x76\xdd\xb9\x04\x6b\xd7\xd5\xef\x2d\x0b\x1a\xab\x2b\x6f\x83\x1a\x68\xbf\xfe\xe7\x1f\xfc\x00\x88\xca\x15\x1b\xbf\xff\x74\x52\xfd\xba\xf8\x06\x3e\xa5\x6c\xc5\xa3\xa1\xe0\xda\x7d\xdd\xb8\x65\xc9\x7a\xaf\x43\xbc\xed\x0e\xa8\x7d\xed\xdc\xc4\xd6\x45\x71\x7f\xb7\x9d\x63\x08\x94\xd7\xd5\x69\xb4\xf6\x9e\x95\x8b\x6b\xb7\xff\x75\x11\x57\xdf\xd3\x57\x5c\x64\x52\x5b\x8b\x23\x45\x91\x3a\x1b\xb3\xf5\x8e\xcd\xdd\x5a\x9d\xd3\x1d\x85\x73\x40\xbd\x77\xe5\x21\xf1\x0f\xb9\x2a\x6d\x89\x86\xc0\x26\xd0\x83\xef\xdc\xc4\x59\x25\x25\xba\x01\xf7\x25\x57\xec\x6e\x68\xc0\x76\x63\x49\x51\x69\xa9\x4e\x53\xb1\x58\x55\x79\xdd\xe5\x2f\xdd\x99\x8b\x96\x55\x1b\x97\x2d\x76\xaf\xca\x89\x03\x88\x45\x75\x47\x75\xdc\x5b\xec\x27\xc8\x89\x5a\xd0\x12\x74\xba\x74\xe2\x54\xc8\xed\x51\x42\xa3\xb9\xb0\xd3\xc5\x87\xc0\x80\x99\x5a\xba\xca\xec\x24\x61\xae\x04\x74\x50\x1b\x0e\xf1\x36\x6c\x93\xce\x10\x92\x3e\xc8\x00\xeb\x85\x46\xd0\x01\x87\x9d\x6e\xdc\xc9\x48\xf1\xe5\x49\x08\x79\xaa\x3d\xee\xb0\x8b\x31\x10\xbe\x93\xb0\x1d\xe5\x4b\x37\x2e\xda\x2b\x58\x74\xc6\x1a\x67\xc5\xa2\xd2\xda\xae\x85\x75\x45\x36\xbd\x56\x03\xdb\x03\xcf\xfe\x51\xfc\x8b\xf8\xd9\xe1\x87\x47\x58\x30\x6a\xdc\x8c\x7f\xf4\x2f\xb0\x1e\xb6\xc2\xa6\xbc\x0d\xff\x75\xcd\xc5\x4f\x1e\x7a\xf2\xe2\x35\x72\x06\x99\xee\xdf\x8a\x7f\x12\x7f\x24\xbe\x23\x8a\x8f\x0c\xba\x5a\xd9\x15\xfb\x9e\x7a\xff\xe3\xbf\x7f\xf0\x93\xe5\x55\x8b\x16\xeb\xc4\x37\xff\xa1\xc2\xb8\xe4\xdc\x57\x2e\xde\x6a\x77\xc6\xae\x7a\xff\xe2\xe4\x13\x77\x0c\xe3\xc3\x8d\xf7\xb7\x7b\xca\x6d\xa5\x4e\x0d\x4b\x18\xa3\x46\x5f\x57\xb7\xa0\xb6\xaa\x48\x0f\xd3\x3f\x3a\xff\xf1\x48\x91\x7f\xf7\x41\x70\xde\x55\x7f\x7a\xfd\x4e\xfd\x21\xf1\x22\x51\xbc\x49\x77\xc7\x5d\xa5\x7a\x06\x57\x1c\x7a\xfa\xd2\x35\x6b\x2e\x7d\x5a\xce\xb8\x6b\x0e\x45\x55\x6b\x1e\xfc\xbb\x78\xd7\x0b\x77\x40\xd3\x27\xaf\x7c\x55\xa8\x77\x6e\xb8\x2b\xe7\xdb\x27\x5e\xf0\x09\x9c\xd1\xc7\xb2\x84\x39\xfb\xda\xa7\x7e\xf6\xd3\x27\xaf\x3e\x13\xbb\x62\x57\xff\x54\xf6\x27\x91\x6c\x8c\xf4\x1d\xb0\x02\x35\xa3\x2e\xc9\xa7\x3b\x8d\xce\x47\x57\xa0\xdb\xd1\x37\x11\xb2\xda\x6b\xaa\x3b\x80\xfe\x05\x4e\x81\x60\xc0\xff\x7f\x5a\x3e\x7e\x2d\x04\x76\xdb\x42\xe9\x2f\xe8\xf7\x95\x83\xdf\x17\xfc\x3f\x2c\x1f\xcc\x98\x5a\x4c\xa6\x16\x53\xe6\x5f\xe4\xcc\xb7\xda\x16\x1c\x39\xb8\xa0\xad\x6d\x01\x59\xb2\xa0\x0d\xd0\xbf\x81\x22\xe5\x80\xa6\x4c\x26\x53\xa5\xc9\xf4\x6f\x43\xfb\x3f\x5b\x42\xc9\xb0\x94\xd8\xe7\x2a\x5a\x33\x65\x32\x1d\xfe\x17\xb9\xec\x43\xd8\x7c\x14\x71\x6b\x38\x84\xae\xa4\x6b\x4d\x79\x1f\x6e\x33\x7d\x9a\x72\x7b\x48\x9d\xd9\xe9\x02\x03\xb8\x9b\x41\xda\x77\xd2\x41\xaf\x49\x47\xac\x98\x59\x62\xa0\x8f\xd0\x33\xae\x7e\x52\xfc\x14\x27\xdb\x04\xac\xb4\xeb\x60\xa6\xa6\x02\x3c\xee\x90\xc3\x69\x65\xcd\x72\x80\x15\x25\x74\x71\x39\x84\x3b\xc1\x05\x9c\x11\xcc\x75\xd6\x4e\x70\x18\x41\xde\xdd\x6b\x04\x89\x5c\x4d\xb5\xa7\x4e\x0f\x75\x21\x17\x70\x9c\xeb\xde\xc7\x9d\x7a\xbd\xc1\xe7\x7c\x3c\xac\xf7\x2d\xd5\xc7\xc5\x3f\x1f\x32\xe1\xa2\xaa\x7a\x53\xc6\x1d\x70\x67\x4c\xf5\x55\x45\xd8\x74\x48\xfc\x73\x5c\xbf\xd4\xa7\x0f\x3f\xee\xf4\x19\xf4\x7a\xe7\xe3\xf7\x96\x97\xa8\x1b\xca\x21\x24\x05\x86\x7c\x89\x51\x97\x56\x33\x25\xa5\xb4\xa1\x92\x80\x43\x69\x07\x8c\x27\x69\x07\x8c\xc7\xb5\x53\x5a\xc2\x54\x97\xaa\x19\xf1\x25\x29\xa6\x65\xa8\xbc\x41\x5d\x02\x77\x56\x8d\xe9\xfd\x4e\xa7\x5e\xbf\x6d\xbf\xdb\xaf\xa9\x83\xc6\x5b\xc4\x17\x3e\xb2\x34\x54\x58\x55\x96\xa9\x37\x4a\xdc\xee\x92\x37\xa6\x2c\x2a\x6b\x45\x83\xe5\x23\x68\xbf\x45\x7c\xad\x4e\xe3\x77\xef\xdf\xa6\xd7\x3b\x9d\x7e\xfd\x58\x15\xe7\x6d\xae\xe2\x3a\x6f\xbd\xb5\x13\x6a\x1b\x1b\x58\xda\x92\xd7\x60\x90\x1b\x12\x5f\xbb\x05\xda\x4f\xde\x90\xf8\xc2\x2d\xd0\x38\xbf\x21\xb6\xa1\xb1\x16\x68\x43\x5c\x55\xb3\x17\xcd\xf3\xf1\xb3\xd0\x27\x2a\xa0\x8b\x5c\x3a\xa9\x70\x74\x56\xa9\xb5\xa8\xc1\x61\xe1\x39\xcc\xf0\x2c\xb8\xe9\x33\x72\x6d\x38\x54\xcb\x3e\xcb\x0f\x5e\x7d\xa8\x90\x7f\xe7\xee\x04\xcf\x0f\x5e\xfd\xb3\xc2\xcd\x60\xfb\x06\x2c\x15\xef\xdc\x39\xa9\xd1\x3e\x22\xbe\xf6\xc8\x91\x62\x38\x4b\x82\xa1\xe9\x91\x7b\xf1\x4d\x78\x68\xc7\x7f\xde\x21\xf0\xfc\xaa\x2b\x7e\x5a\x90\x20\xf5\xc5\xe8\x28\xd3\x21\xde\x55\x10\x5f\xba\xe7\x51\xf1\xc5\x17\x8a\xbf\x0c\x67\xe5\x21\x7c\xcf\x77\xa1\xed\x85\x62\xc7\x19\xf2\xfb\x47\x25\xfe\x9f\x01\x59\x90\x03\xb9\x25\x8f\x73\x6b\x8d\x16\x6a\xac\x9e\xb0\x93\x07\x96\x34\x81\x93\xf7\xd4\x39\x79\x0f\xf3\xaf\xc2\xf5\x3d\x7c\xa7\xff\x9b\xf7\xb7\x3e\xb4\xca\x7e\xd8\x2e\xf6\x43\xcb\x85\xe2\x21\x78\xfb\xf0\xc8\xc7\x70\xfe\x33\x6b\x9f\xc6\x1d\x74\x42\x13\x9f\x13\xdf\x7d\xf5\x9c\x73\x5e\x85\x6a\xe8\x84\xea\x57\xff\x78\xb2\xe7\x8d\x23\xe2\xa3\xb0\x45\xfc\x1a\xec\xa8\x6a\x8d\xfb\x70\xe2\x42\xf1\xd0\x85\x13\x23\x1f\xc7\x37\xad\x79\x7a\xcd\x16\x09\xeb\x9c\xb9\x2d\xe1\x89\x93\xac\x0a\x75\xc8\x7d\x14\xf8\x4d\xec\x51\x74\x06\x1a\x46\x49\x34\x81\x2e\x40\xf7\xa3\x47\xd1\x73\xe8\x65\xf4\x16\xfa\x10\x7d\x84\x10\x78\x89\xc7\xdd\x09\x1e\x39\xa4\x30\xa9\xf6\x82\xc7\xcb\x49\x8f\x18\x44\x3e\xef\x8a\x37\x10\x3b\x27\x3d\x42\x48\x4f\x09\x4e\x87\xfc\x56\x22\x24\xbd\x8c\x70\xfa\xa4\xf9\x9e\xce\x3a\x21\xc6\x21\xbf\xbe\xe8\x04\x70\x18\x40\x02\x1c\x48\x79\x6f\x01\x4e\x07\xad\xf4\x42\x28\x1c\x72\x58\x1d\x98\xe7\x3c\xf4\x16\xe5\x7d\x87\x17\x87\xc2\xf4\x67\x27\xc5\x2b\x0d\xb9\x08\xef\xc2\x1c\x28\xad\xc9\x08\x52\x7b\x52\x58\x23\x5a\x2d\x37\x03\xb3\xf4\x1c\x73\x6f\xf6\xc8\x77\x74\x82\x83\x0d\x31\xcd\x81\x26\xc2\xae\x58\xc6\x1a\x46\x9a\x5c\x84\xc1\x3c\xe1\x59\x9e\x10\x1d\xa7\x55\x69\xb5\x9c\xab\xb6\x14\x4c\x6a\xbb\x4e\x1b\x72\xd5\x6f\x73\x9a\x7c\x75\x0b\x1d\x6b\x06\x5c\xf5\x16\xfe\x4a\x96\xab\x30\x94\x72\x78\x18\x38\xff\x80\x8d\x59\x37\xc8\xd9\xec\xe5\x0c\x3e\x9f\xd7\xf9\x5a\xcd\x7d\xcb\x7d\x47\xba\x39\x93\xd1\x50\x4c\x88\xa9\x0c\x9f\xae\xe3\xab\xeb\x75\x5a\xbe\xba\x7e\xda\x5e\xdb\x55\x52\xa2\xb3\x58\xba\x4a\x4a\x58\xc6\xaa\x6b\xeb\x76\xeb\x4a\xcb\xba\xbf\xdc\x1f\x4c\x6e\x1a\xb7\x5d\x70\x5b\x87\x0e\x46\x3e\x59\xea\x23\xeb\x26\x1a\xdc\x9d\xb5\x4c\x70\x5b\x5f\xe5\x45\xb7\x3f\xb8\xf4\xd4\x8b\x27\xcf\x68\xe6\x02\x03\xf6\xca\xcf\xb3\x06\xb5\xcd\xda\xaa\x97\xd2\x6f\x30\x96\xea\x32\x86\x58\x4d\xe6\x32\xe6\x6e\xc6\x6e\xb3\x56\xab\xec\x36\x5b\xd5\x74\xd2\x64\x2c\x2b\xed\x30\x99\x8c\xa1\x4e\xfc\x19\x63\x32\x1a\x69\x37\x8c\x86\xe2\x27\x8d\x6a\x87\x23\xe4\xd2\x34\x06\xc1\x5b\x64\x83\xa2\x92\xe6\xc7\x1e\xf4\x08\x18\xcc\x18\x03\x01\xc2\x10\xac\x67\x35\x2c\x47\x80\x35\x39\xc1\xc8\xeb\x31\x2e\xd5\x5b\xbc\x0d\x65\x97\x9f\x73\x25\xf4\xc7\x18\x5c\x52\xa5\x87\x82\x4a\x6b\xe0\x8d\x6e\xcb\x5f\xb5\xee\x3a\xa7\x5b\x75\xdf\xed\xea\x72\x70\x9b\xc4\x4f\xcb\x82\xb1\x22\xb5\x9e\x54\xdc\xe7\x92\x89\x95\x70\xe2\xdb\xe6\xfa\x22\x95\x99\x26\x24\x14\xd2\x59\x2d\x4b\x4a\x4a\x75\x16\xeb\x34\x94\xf5\xba\x75\x6d\x3d\x36\xab\x0e\x2f\xd9\x2e\x7e\xba\xa2\x8b\x0c\x6e\x61\xc3\x6a\x58\xda\x34\x7a\xda\x59\x86\xed\x57\xdc\xb1\x68\xf1\xc5\xd9\x75\xea\x0d\xe7\xb5\x3b\xc3\x76\xbe\x7b\x68\xef\x69\xa6\xb5\x5b\x47\x70\xc6\xd6\x6a\x30\xa8\x6d\x52\x0a\xac\xa9\x5c\x65\x35\x9b\xcb\x18\xc6\x7a\xe4\x14\x5b\x35\xc3\xd8\x17\x54\xb3\x8c\x93\x6c\x2b\xed\x32\x99\x8c\xa5\x65\x9d\xd5\xa6\xe9\xf5\xc6\x62\x86\x98\x0d\xc6\x12\x42\x4c\x1f\x38\x42\x26\xa3\xa6\x31\x54\xa9\x41\x08\x15\x81\x5b\x3e\x71\x1a\x21\xd4\x8c\xb6\x2a\x30\x20\x2d\xba\x4f\x81\x31\xe2\xd1\xf7\x15\x98\x20\x33\x3a\xac\xc0\x0c\xd2\x42\x89\x02\xb3\xc8\x02\x2b\x14\x98\x43\x5a\x98\x50\x60\x1e\xad\xc1\x1e\x05\x56\x21\x1d\xbe\x46\x81\xd5\x48\x83\x1f\x51\x60\x2d\xb2\xe3\x3f\x29\xb0\x01\xb9\x48\x37\x22\x08\x18\x35\x42\x48\x7e\xa3\x44\x61\x40\x0e\x74\xa5\x02\x63\x64\x40\x0f\x2b\x30\x41\xd5\xe8\xc7\x0a\xcc\x20\x07\x60\x05\x66\x51\x2d\xb8\x15\x98\x43\x0e\x18\x52\x60\x1e\x7d\x0d\x76\x2b\xb0\x0a\x15\xe1\x49\x05\x56\x23\x1b\xde\xaf\xc0\x5a\xd4\x80\x9f\x55\x60\x03\x5a\x4c\x08\xea\x45\x69\x94\x41\x93\x28\x8b\x12\x68\x04\x8d\xa2\x3c\xaa\x44\x7d\x28\x82\x76\x20\x01\x55\xa2\xa5\x28\x82\x52\x28\x86\x26\x51\x25\xf2\xa1\x16\xd4\x8a\x42\xc8\x8b\x2a\x51\x37\x4a\xa2\x24\xaa\x9c\x83\x95\x93\x4a\x02\xca\x21\x01\x65\x25\xec\x18\xf2\x22\xd4\x9b\xce\x4c\x66\x13\x23\xa3\xf9\xca\xbe\xc8\x0e\xa1\x72\x69\x24\x15\x9b\xac\xf4\xb5\xb4\x86\xbc\x95\xdd\xc9\x64\xa5\x74\x29\x57\x99\x15\x72\x42\x76\x87\x10\xf3\x22\x34\x80\xd2\x28\x85\xf2\xa8\x1b\x4d\x48\xad\xa5\xd1\x38\x12\x10\x1a\x48\xa7\xf2\xdd\x13\x42\x2e\x3d\x2e\x20\xb4\x16\x09\x68\x04\x15\x50\x12\x45\x50\x16\xa1\xb5\xc2\x48\x21\x19\xc9\x52\xdc\xd5\x68\x15\x5a\x8f\x56\xa0\x6e\xd4\x83\x16\xa1\xd5\x68\x3d\x1a\x40\xfd\xe8\x0c\x34\x88\x56\xa3\xb5\x68\x3d\x42\x03\xab\x57\xad\x5f\xd1\xdd\xb3\x68\xf5\xfa\x81\xfe\x33\x06\x57\xaf\x5d\xff\xef\x51\xdc\x28\x8d\x2a\x87\x12\xd2\xbd\x95\x28\x80\xbc\x28\x8c\xbc\xa8\x65\x0e\x5f\xd0\x46\x21\x9b\x4b\xa4\x53\x95\x01\x6f\xd8\xdb\x22\x0d\xf2\xdf\x6b\x7c\x10\x25\x91\x80\x22\x12\xeb\x64\x26\xc6\x25\x72\x95\x28\x8f\xd2\x52\x3a\x2a\x5d\x39\x99\xa8\x28\x4e\x14\xe5\x67\x3b\x16\x47\x69\x05\x53\xc6\x89\x2b\xf4\x69\x4d\x16\x45\x50\x0c\x09\x68\x5c\x62\xdb\x18\xaa\x44\x11\x94\x97\xea\x13\x68\x18\x15\xe6\xb4\x92\x42\x69\xa9\x14\x95\xfa\xec\x45\x68\x30\x29\x44\x72\x42\x65\x56\x88\x0b\xd9\xca\x7c\xba\x32\x3f\x2a\x54\x1e\x13\x6d\x4e\x88\xe6\xe9\xc0\xe3\xe9\xac\x74\x25\x9e\x4e\xe5\x2b\xf3\xd9\x48\x4c\x18\x8f\x64\xc7\x2a\x23\xf9\x7c\x36\x31\x5c\x90\x6e\x49\xa5\xf3\x89\xa8\x90\x53\x04\x9d\x95\x7a\x76\x02\x6f\xb2\xf9\xca\x59\xe6\x9c\x4c\x17\xd1\x31\x5d\x42\x12\x1f\xf2\x28\x83\x16\xa1\x66\xd4\x3c\x3b\xde\xc8\xbc\x36\xbd\xd2\xc8\xd0\x68\x3e\x9f\x59\xd4\xdc\x4c\xbb\x17\x91\xdb\xf7\x26\xd2\xff\x93\x16\x9a\x51\x52\xe1\x4a\x4a\xe2\x7c\xf3\x17\xb4\xd9\x9c\x4c\x44\x85\x54\x4e\x68\x56\xd6\x38\xff\xec\x1f\xfe\x9e\x64\x93\xe8\xaf\x7b\x1f\xba\x0c\x5d\x8a\x2e\x47\x57\xa2\xab\xd0\x57\xd0\xd5\xe8\x0a\xa0\xe6\x9a\x01\x16\x38\xe0\x41\x05\x6a\xd0\x80\x16\x74\xa0\x07\x03\x18\xc1\x04\x66\xb0\x80\x15\x6c\x60\x07\x07\x38\xa1\x08\x8a\xa1\x04\x4a\xa1\x0c\xca\xc1\x05\x15\x50\x09\x55\x50\x0d\x35\x50\x0b\x75\xe0\x06\x0f\x2c\x80\x7a\x68\x80\x85\xd0\x08\x4d\x40\x1f\xeb\x5b\xa0\x15\x7c\xe0\x87\x00\x04\x21\x04\x61\x68\x83\x76\x58\x04\xa7\xc0\x62\xe8\x90\x5e\x16\x2d\x81\x6e\xe8\x81\x5e\xe8\x83\x7e\x18\x80\xa5\x70\x2a\x9c\x06\xcb\x60\x39\xac\x80\x95\xb0\x0a\x56\xc3\x20\xac\x81\xb5\xb0\x0e\xd6\xc3\x06\xd8\x08\xa7\xc3\x19\x70\x26\x6c\x82\xb3\xe0\x6c\xd8\x0c\x5b\x60\x08\xb6\x42\x04\x86\x91\x01\x7d\x8c\xf4\x10\x85\x18\x08\x10\x87\x11\x18\x85\x04\x6c\x83\x31\x48\xc2\x38\xa4\x20\x0d\x19\xd8\x0e\x59\xc8\x41\x1e\x0a\xb0\x03\x26\x60\x27\x4c\xc2\x2e\xf8\x12\x9c\x03\xe7\xc2\x79\x70\x3e\x4c\xc1\x05\x70\x21\xec\x86\x2f\xc3\x1e\xb8\x08\xf6\xc2\xc5\x70\x09\x5c\x0a\x97\xc1\x57\xe0\x72\xd8\x07\x57\xc0\x95\x70\x15\x5c\x0d\xd7\xc0\xb5\x70\x1d\x5c\x0f\x5f\x85\x1b\xe0\x46\xb8\x09\x6e\x86\x5b\xe0\x56\xb8\x0d\x6e\x87\xfd\x70\x07\x7c\x0d\xee\x84\xbb\xe0\x6e\xb8\x07\xee\x85\xfb\xe0\x00\x7c\x1d\xee\x87\x6f\xc0\x03\xf0\x1f\xf0\x4d\xf8\x16\x3c\x08\xdf\x86\x87\xe0\x61\xf8\x0e\x3c\x02\x8f\xc2\x77\xe1\x31\x78\x1c\x9e\x80\x27\xe1\x29\x78\x1a\x9e\x81\x83\xf0\x2c\x3c\x07\xdf\x83\xef\xc3\x0f\xe0\x79\x78\x01\x5e\x84\x1f\xc2\x4b\xf0\x23\xf8\x31\xbc\x0c\x3f\x81\x9f\xc2\x21\xf8\x19\xbc\x02\xaf\xc2\x6b\xf0\x3a\xbc\x01\x6f\xc2\x5b\xf0\x9f\xf0\x36\xbc\x03\x3f\x87\x5f\xc0\xbb\xf0\x4b\x78\x0f\xde\x87\x0f\xe0\x57\xf0\x21\xfc\x1a\x7e\x03\xbf\x85\xff\x82\xdf\xc1\xef\xe1\x0f\xf0\x47\xf8\x13\x7c\x04\x1f\xc3\x61\xf8\x33\xfc\x05\xfe\x0a\x9f\xc0\xdf\xe0\xef\xf0\xdf\xf0\x0f\xf8\x14\x3e\x83\xcf\xe1\x08\x4c\x83\x08\x47\x31\xc2\x80\x31\x26\x98\xc1\x2c\xe6\x30\x8f\x55\xa8\x1a\xab\xb1\x06\x6b\xb1\x0e\xeb\xb1\x01\x1b\xb1\x09\x9b\xb1\x05\x5b\xb1\x0d\xdb\xb1\x03\x3b\x71\x11\x2e\xc6\x25\xb8\x14\x97\xe1\x72\xec\xc2\x15\xb8\x12\x57\xe1\x6a\x5c\x83\x6b\x71\x1d\x76\x63\x0f\x5e\x80\xeb\x71\x03\x5e\x88\x1b\x71\x13\xf6\xe2\x66\xdc\x82\x5b\xb1\x0f\xfb\x71\x00\x07\x71\x08\x87\x71\x1b\x6e\xc7\x8b\xf0\x29\x78\x31\xee\xc0\x9d\xb8\x0b\x2f\xc1\xdd\xb8\x07\xf7\xe2\x3e\xdc\x8f\x07\xf0\x52\x7c\x2a\x3e\x0d\x2f\xc3\xcb\xf1\x0a\xbc\x12\xaf\xc2\xab\xf1\x20\x5e\x83\xd7\xe2\x75\xe8\x15\xbc\x1e\x6f\xc0\x1b\xf1\xe9\xf8\x0c\x7c\x26\xde\x84\xcf\xc2\x67\xe3\xcd\x78\x0b\x1e\xc2\x5b\x71\x04\x0f\xe3\x28\x8e\x61\x01\xc7\xf1\x08\x1e\xc5\x09\xbc\x0d\x8f\xe1\x24\x1e\xc7\x29\x9c\xc6\x19\xbc\x1d\x67\x71\x0e\xe7\x71\x01\xef\xc0\x13\x78\x27\x9e\xc4\xbb\xf0\x97\xf0\x39\xf8\x5c\x7c\x1e\x3e\x1f\x4f\xe1\x0b\xf0\x85\x78\x37\xfe\x32\xde\x83\x2f\xc2\x7b\xf1\xc5\xf8\x12\x7c\x29\xbe\x0c\x7f\x05\x5f\x8e\xf7\xe1\x2b\xf0\x95\xf8\x2a\x7c\x35\xbe\x06\x5f\x8b\xaf\xc3\xd7\xe3\xaf\xe2\x1b\xf0\x8d\xf8\x26\x7c\x33\xbe\x05\xdf\x8a\x6f\xc3\xb7\xe3\xfd\xf8\x0e\xfc\x35\x7c\x27\xbe\x0b\xdf\x8d\xef\xc1\xf7\xe2\xfb\xf0\x01\xfc\x75\x7c\x3f\xfe\x06\x7e\x00\xff\x07\xfe\x26\xfe\x16\x7e\x10\x7f\x1b\x3f\x84\x1f\xc6\xdf\xc1\x8f\xe0\x47\xf1\x77\xf1\x63\xf8\x71\xfc\x04\x7e\x12\x3f\x85\x9f\xc6\xcf\xe0\x83\xf8\x59\xfc\x1c\xfe\x1e\xfe\x3e\xfe\x01\x7e\x1e\xbf\x80\x5f\xc4\x3f\xc4\x2f\xe1\x1f\xe1\x1f\xe3\x97\xf1\x4f\xf0\x4f\xf1\x21\xfc\x33\xfc\x0a\x7e\x15\xbf\x86\x5f\xc7\x6f\xe0\x37\xf1\x5b\xf8\x3f\xf1\xdb\xf8\x1d\xfc\x73\xfc\x0b\xfc\x2e\xfe\x25\x7e\x0f\xbf\x8f\x3f\xc0\xbf\xc2\x1f\xe2\x5f\xe3\xdf\xe0\xdf\xe2\xff\xc2\xbf\xc3\xbf\xc7\x7f\xc0\x7f\xc4\x7f\xc2\x1f\xe1\x8f\xf1\x61\xfc\x67\xfc\x17\xfc\x57\xfc\x09\xfe\x1b\xfe\x3b\xfe\x6f\xfc\x0f\xfc\x29\xfe\x0c\x7f\x8e\x8f\xe0\x69\x2c\xe2\xa3\x04\x11\x20\x98\x10\xc2\x10\x96\x70\x84\x27\x2a\xa2\x26\x1a\xa2\x25\x3a\xa2\x27\x06\x62\x24\x26\x62\x26\x16\x62\x25\x36\x62\x27\x0e\xe2\x24\x45\xa4\x98\x94\x90\x52\x52\x46\xca\x89\x8b\x54\x90\x4a\x52\x45\xaa\x49\x0d\xa9\x25\x75\xc4\x4d\x3c\x64\x01\xa9\x27\x0d\x64\x21\x69\x24\x4d\xc4\x4b\x9a\x49\x0b\x69\x25\x3e\xe2\x27\x01\x12\x24\x21\x12\x26\x6d\xa4\x9d\x2c\x22\xa7\x90\xc5\xa4\x83\x74\x92\x2e\xb2\x84\x74\x93\x1e\xd2\x4b\xfa\x48\x3f\x19\x20\x4b\xc9\xa9\xe4\x34\xb2\x8c\x2c\x27\x2b\xc8\x4a\xb2\x8a\xac\x26\x83\x64\x0d\x59\x4b\xd6\x91\xf5\x64\x03\xd9\x48\x4e\x27\x67\x90\x33\xc9\x26\x72\x16\x39\x9b\x6c\x26\x5b\xc8\x10\xd9\x4a\x22\x64\x98\x44\x49\x8c\x08\x24\x4e\x46\xc8\x28\x49\x90\x6d\x64\x8c\x24\xc9\x38\x49\x91\x34\xc9\x90\xed\x24\x4b\x72\x24\x4f\x0a\x64\x07\x99\x20\x3b\xc9\x24\xd9\x45\xbe\x44\xce\x21\xe7\x92\xf3\xc8\xf9\x64\x8a\x5c\x40\x2e\x24\xbb\xc9\x97\xc9\x1e\x72\x11\xd9\x4b\x2e\x26\x97\x90\x4b\xc9\x65\xe4\x2b\xe4\x72\xb2\x8f\x5c\x41\xae\x24\x57\x91\xab\xc9\x35\xe4\x5a\x72\x1d\xb9\x9e\x7c\x95\xdc\x40\x6e\x24\x37\x91\x9b\xc9\x2d\xe4\x56\x72\x1b\xb9\x9d\xec\x27\x77\x90\xaf\x91\x3b\xc9\x5d\xe4\x6e\x72\x0f\xb9\x97\xdc\x47\x0e\x90\xaf\x93\xfb\xc9\x37\xc8\x03\xe4\x3f\xc8\x37\xc9\xb7\xc8\x83\xe8\x5a\x76\x24\x19\xc9\xe5\xd8\xf1\x42\x2e\x11\xe5\x72\x42\x24\x1b\x1d\x55\x09\xa9\x1d\x42\x32\x9d\x11\xd8\x51\x21\x92\xcd\x33\xb9\x7c\x24\xab\xa1\xc9\x90\x30\x9e\xc9\x4f\x32\x85\x9c\x90\x65\xe2\x89\xe4\xb8\x2a\x3f\x3a\x94\x8c\x64\x47\x04\x9c\x1f\xe5\x29\x9c\xc8\xe5\x71\x7a\x8c\xcb\x0a\xe3\xe9\x1d\x02\xbf\x2b\x9d\x1e\x1f\x4a\xa4\x54\x52\x9e\x2e\xe4\x49\x3a\x1e\xe7\x72\x89\x91\x54\x24\x49\xa2\xe9\x11\x36\x9f\x8d\xe4\x46\x99\xd1\xf4\xb8\xa0\x8a\x27\x92\xc2\x50\x24\x99\x67\xf2\x89\x71\x81\xc9\xa6\x23\x31\x5d\x2c\x3d\x91\x4a\xa6\x23\x31\x5a\xad\x9a\x29\x70\x85\x0c\xcd\xd8\x44\x6a\x38\xbd\x53\x9b\x49\x46\x26\x87\xa2\x89\x6c\x34\x29\x70\x59\x21\x23\x44\xf2\x7c\x56\x88\x67\x85\xdc\xa8\x8a\x76\x45\x6a\x30\x99\x8e\x8e\x31\xf1\x64\x64\x44\x33\x2a\x44\x62\x99\xd1\x74\x4a\xc8\x69\x76\xa4\x93\x85\x71\x61\x28\x1d\x8f\x6b\x15\x90\x12\x50\x2b\x70\x21\xc3\x6d\xcf\x46\xd3\x31\x81\x1f\x8e\x48\x39\xc9\x47\x46\x98\x7c\x64\x24\xc7\x0c\xa7\xd3\x63\x2a\x9a\xd0\x19\x9e\xcd\x64\x13\xa9\x3c\x17\x8d\x8c\x0b\xd9\x08\x43\xa7\x42\x66\x38\x9d\x8c\x71\x89\x7c\x24\x99\x88\x6a\xf3\xc2\xce\xfc\xd0\xa8\x40\x97\x0a\x1a\x09\x9e\x48\xc4\xf2\xa3\x9a\x48\x32\x31\x92\x1a\x4a\x0a\xf1\xbc\x4e\x06\xa3\x42\x2a\x2f\x64\xb5\x72\x41\x5a\x59\xe8\x65\x78\x5b\x21\x97\x4f\xc4\x27\x19\x3a\x16\x6d\x22\x15\x13\x52\x79\x19\x4f\x81\xa5\x7b\x0d\xf1\x48\x54\xa0\x5c\x1b\xda\x91\x88\x09\x69\x3e\x93\x88\xe6\x0b\x59\x81\xcb\x08\xa9\x68\x22\xa9\x19\x8f\x64\x86\x68\x5f\x85\x2c\x17\x89\xd1\x06\x99\x7c\x22\x95\x67\x84\x58\x22\xcf\xe6\x46\x23\x59\x81\x8d\x8e\x0a\xd1\x31\x86\x0a\x4c\x9f\xcb\x0b\x99\xa1\xe1\x48\x74\x6c\x22\x92\x8d\xe9\xe3\x91\x5c\x7e\xb6\xa4\x9a\x01\x18\xca\x74\x36\x13\x29\xe4\x04\x26\x97\x4f\x67\xf8\x78\x3a\x4b\xeb\x75\xd2\xed\x33\x05\xa9\x25\xa5\xc0\x0a\xdb\x84\x68\x5e\x17\x1d\x15\x76\x64\xd3\xf2\xc8\xf5\x33\x05\x69\x08\xea\x4c\xb2\x90\x1b\xa2\x8a\xa1\x19\x4f\xa4\x14\x50\x2b\x2b\x91\x04\xf3\xe9\x31\x29\xd7\x6f\x2f\x08\x39\xba\x9e\x92\x4a\xea\x44\x2a\x9e\x96\xd1\x72\xd1\xac\x20\xa4\x72\xa3\xe9\xbc\x5e\x41\x93\xb5\x42\x9d\x1e\x53\x20\xcd\x70\x24\x35\x03\x46\xb2\xd9\xf4\x84\xd4\x0f\xad\x0c\x4a\xbd\x50\xc9\x70\x21\xa3\x5c\x97\x34\x42\x62\x11\xd5\x23\x6d\x56\xc8\x25\x76\x09\x43\xf1\x42\x32\xa9\x53\xe0\xdc\x78\x24\x99\x34\x09\x3b\xa3\xc9\xc8\x78\x64\xb6\x5b\xcc\x48\x22\x9e\x67\x92\x42\x24\xce\xc4\x13\x59\x41\x25\x4c\x0a\x43\xe9\x8c\x90\x52\x53\x20\x9a\x4c\xe7\x04\xdd\x44\x24\x9b\x4a\xa4\x46\xa4\xdb\xd9\x4c\x32\x92\x12\x54\xd1\x48\x52\x48\xc5\x22\x59\x2e\x1b\x49\xc5\xd2\xe3\x7c\x34\x3d\x3e\x2e\xa4\xf2\xdc\x78\x64\x24\x25\xe4\x35\x33\xfc\x2a\x64\x66\xf9\x48\xfb\xc7\x67\x85\xfc\x84\x20\xe4\xf5\xb9\xd1\x74\x26\x43\x9b\x8c\x46\xb2\x79\x5d\x3c\x9d\x8c\x09\x59\x99\x98\x56\x29\xd0\x2e\x18\x95\x8e\xef\x10\xb2\xf9\x44\x34\x92\x34\x2b\xe5\xd1\x74\x36\xb1\x8b\xae\xe4\x92\xea\xe1\x48\x76\x28\x3a\x4a\x1b\xc9\x4f\x24\xf2\x79\x21\x2b\x33\x9e\x2a\x19\x55\x7b\xa9\xa4\x93\x35\x7e\x28\x2b\xe4\xb3\x69\x32\x26\x4c\x32\xd1\xf4\x48\x4e\xa5\x74\x39\xa7\xcf\x8f\x16\xc6\x87\x73\x43\x85\x0c\x65\x9c\x51\x29\xd1\xee\xd2\xb2\x5a\x32\x24\xa3\x91\x64\x5c\x2b\x59\x17\xd9\xa6\xf0\xb4\xdd\x74\x21\xaf\x4f\x26\x52\x63\x42\x2c\x21\xb3\x92\xcf\x14\x72\xa3\x99\x44\x4a\x2f\xec\xcc\x0b\xd9\x54\x24\x39\x44\x2f\x4b\x26\x24\x91\xe2\xf2\xd9\x74\x66\x74\x52\x3b\x92\xc8\x8f\x16\x86\x65\x3d\x90\xad\x03\x25\xc3\x26\x85\xf1\x74\x8a\x95\x7e\xef\x5a\x49\xc5\x65\x42\x86\x99\x1f\xaf\x5c\xd4\x48\x37\xc8\xc4\x94\x01\xab\x66\xc6\xca\xc9\x2d\x73\x85\x14\xb5\x21\xda\x68\x96\xfe\x68\x28\x83\x63\x24\x9b\xcb\x91\xd1\x58\x4c\x35\x5c\x48\x26\x47\xd3\xd9\x14\x33\x2c\x24\x93\xda\x28\x65\x6b\x3c\x11\x8d\xe4\x05\xcd\x68\x24\x15\x53\xb4\x5b\x02\xa9\xb6\xf1\x12\x54\xc8\xc8\x35\x94\x21\x66\x59\x23\x87\x8e\x69\xa4\x65\x5e\x8d\xd4\x80\x71\x5e\x55\x21\x33\x1f\x89\x36\xc3\x8e\x24\xd3\xc3\x02\x37\x91\x15\x52\xd1\x51\x36\x1f\xc9\x8d\xe5\xb8\x78\x22\x99\x17\xb2\xea\xe1\x6c\x42\x88\x47\x23\x39\x41\x43\x35\x57\xfe\x9d\xb0\x23\xd9\x74\x21\xc3\x50\x5e\xb2\xd1\x64\xba\x10\xe3\x86\x85\xc8\x98\x90\x25\xd1\x42\x9e\x89\xa6\x33\x93\x9a\x4c\x24\x23\xe9\x4f\x22\xc3\xe4\x22\x3b\x04\x0d\xe5\xcf\xd0\x70\x32\x92\x1a\xe3\xb3\x42\x3a\x1b\x13\xb2\xb8\x90\xc4\xe9\xa4\x3e\x97\xcf\x26\xc6\x84\xfc\x68\x36\x5d\x18\x19\x55\x17\x52\x31\x21\x9b\x4c\xa4\x04\x36\x1f\x19\x4e\x0a\xec\x78\x64\x24\x11\x65\xf3\xd9\x42\x74\x4c\x9d\x49\x50\x2b\x27\xe4\xf2\x86\x59\x48\x62\xbb\x69\x24\x9d\x1e\x49\x0a\x43\xb3\x36\x40\x3b\xa7\x82\x1d\x4f\xa7\x84\x49\x4d\x34\x92\x15\xf2\xd2\x48\x55\x32\x58\xc8\x28\x75\xd2\x8f\x58\x06\x25\x5e\xf1\x51\x6a\xc2\x53\x39\x26\x97\xce\xe6\xd5\x34\x91\x7f\x27\x12\x54\xc8\xe8\x66\x66\x36\x69\x52\x99\xd1\x35\xa6\x90\x8a\xa5\xd9\xa4\x30\x12\x49\xaa\x63\x91\xdc\xe8\x70\x3a\x92\x8d\x69\x15\x75\xa6\x77\xea\x66\x54\x5b\x9a\x51\x86\xd3\xc9\x3c\x9f\x4b\xe4\x85\xf1\x48\x46\x55\x18\x1f\xce\x0a\xc9\x64\x84\xcd\x44\x72\x79\x41\x93\xa4\x9d\x18\x1a\x2e\x24\x87\x55\xc2\xce\xe8\x68\x24\x35\x22\x18\x24\x16\x0f\xcd\xcc\x60\x3a\xb9\x28\x6b\x2a\x4f\xa7\xd2\xa1\xf1\x98\x36\x97\x17\xf2\xa3\xe9\x5c\x34\x9d\x11\x54\xb9\x42\x22\x4f\x25\xa6\xa2\x4a\x45\x29\x72\xd1\x74\x3c\x2e\x08\x4c\x3c\x9d\x8e\xe9\xa5\x99\x52\x9a\x4e\xe8\x10\x86\x0b\x89\x64\x2c\x91\x1a\x51\x8d\xa6\x73\x19\x3a\xef\xa8\x23\xe3\xc3\x85\x64\x24\x15\x15\xb8\x71\x21\x36\x96\xc8\x6b\xe3\xb4\x4b\x42\x76\x68\x9b\x90\x67\x86\x05\x21\xcb\x8d\xca\x66\x2a\xde\x12\x17\xcc\xb1\x74\x61\x98\xaa\x52\x8a\x72\x5c\xd2\xbf\x79\x35\xb2\xfe\xcd\xab\x2a\x64\xe6\x23\xd1\x71\x69\x8e\xe1\x6b\xe7\x20\xaa\x66\x30\x34\xc7\x6e\xe5\x63\x42\x6e\x2c\x9f\xce\x70\xc9\x48\x86\x66\x92\xa2\xe4\x75\xe3\xe9\x61\x3a\x2e\xe9\xd7\xa8\x53\xf4\x5b\xd2\x37\xcd\xf6\x42\x3a\xaf\x34\x2d\x83\xb2\x9c\x73\x99\x44\x2a\x25\x64\x39\xf9\x5e\x36\x2b\x64\x92\x93\x1a\xc5\x14\x44\x92\x79\xd3\x5c\x13\x28\x99\xa1\x39\x66\x90\x96\x35\xc2\xce\x0c\xfd\x15\xca\xd2\x4d\x26\x23\x19\xf9\x3e\x36\x37\x9e\x48\x0a\x6c\x3c\x9b\x9e\x48\x91\x71\x61\x94\x1f\x89\x8c\x0b\x99\x48\x4c\x35\x26\x4c\x4a\x7a\xa1\xa2\x6b\x09\x7a\xa7\x41\x02\x24\xd3\x22\x64\x85\x98\x2a\x2f\x64\xc7\x13\xa9\x48\x92\xa1\x2b\x06\xb5\xd4\xa1\xa1\x48\x32\x69\x9c\xb5\x77\x8a\x01\x4a\xa6\xa3\xf2\x64\x21\xfd\x7e\x99\x68\x36\x9d\x51\x53\x14\x3a\x5d\x8e\x51\x63\x93\x48\x8d\x31\x43\xbe\x70\xbb\x76\xce\xcc\xa2\xcd\x15\x32\x42\x36\x17\xcd\x26\x32\x79\x75\xae\x30\x2c\x43\xcc\x90\xaf\xcd\xaf\xcb\x14\x76\xed\xa2\xbc\x4b\x08\x51\x41\x33\x9e\xa0\x0d\x52\x36\x1a\x8e\x81\x43\xd2\xc2\x6b\x34\x21\x24\x63\x86\x99\x89\x46\xee\x8d\x99\x4e\x51\x43\xc2\xce\x7c\x22\x35\x52\x48\xe4\x46\x85\x2c\x97\x4d\x47\xc7\x04\x3a\xf1\xec\x8c\xc6\x52\xe6\x99\xd9\x26\x37\xb3\x68\xb1\xcc\xab\x51\x0c\xd4\xdc\x2a\x6a\xa0\xe6\x96\x25\x03\x35\x9a\x1f\x4f\x06\x99\x68\x2e\xe7\xe7\x22\xa9\xe8\x68\x3a\xab\x91\xad\xaa\xa2\xc4\xc9\x64\x4e\x98\x14\xac\x42\x32\x99\xc8\xe4\x12\xb9\x39\x13\x92\x79\xb6\x6e\x66\xd2\x62\x86\xfc\x2d\x7e\xb5\xb4\xf4\xa3\xed\x73\xf9\x04\xed\xaf\xe1\xd8\xca\x41\x9a\xae\x65\x93\x2f\x55\xaa\x92\xc2\x0e\x21\x49\xd5\x50\x06\x24\x8d\x95\xaf\x4b\xcb\x08\xc9\xac\x4b\x3f\x89\x21\x7f\xab\x4f\x23\x4f\xf9\xd2\x8c\x10\x4d\x8f\x67\x22\x39\x3a\xb3\xc9\x0a\x72\x4c\x53\xf2\xe9\x0c\xbd\x3b\x4c\x84\x42\x96\x8c\x0c\x67\x48\x21\x17\x23\x89\x54\x96\x6c\xcb\x4c\x92\x6c\x61\x98\x8c\x65\x27\xc8\x70\x3e\x4a\x97\xc9\x82\x7a\xf6\x37\x6b\x92\xec\xd0\x30\x55\x8c\xcc\x68\x64\x58\xc8\x33\x43\x7e\x5f\xbb\x65\xb6\x56\x79\x63\x24\xe4\x1c\x27\x56\xd1\x61\xe9\x67\xaa\x25\x1b\x6c\x9e\x57\x92\x6c\xd3\x90\xdf\x1f\xa0\x49\x50\x37\x99\x2e\xe4\x0b\xc3\xca\x40\x94\x02\xb3\x33\x91\x1a\x51\xef\x9c\x59\x7a\xcc\xde\x43\x99\xc9\xc7\xb2\xe9\xcc\x70\x7a\xa7\x3e\x97\x8f\x44\xc7\x66\x8c\x97\x3a\x91\xca\xe5\x23\x23\xd9\xc8\x38\x17\x4f\x26\xa2\x63\x59\x12\x89\xa5\x98\x78\x6b\xb8\xd5\x30\x9c\xc8\x0f\x17\x28\xeb\x15\x31\x14\xc6\x87\x93\x59\xad\x9c\x49\x55\xc6\x64\x3a\x35\x32\x67\x96\xd2\xcf\x29\x17\x32\x73\xaf\x52\xbd\x32\xcd\x29\xcb\x3f\xf1\x89\x44\x2a\x96\x9e\xc8\xf1\x91\x54\x2c\x9b\x4e\xc4\xd8\x64\x22\x55\xd8\xc9\xc7\xb2\x89\x61\x3a\xb7\xe4\xc6\x26\x33\x82\x26\x9e\x2e\x64\x73\xdb\x0b\x91\xac\xc0\xe5\xa9\x1d\x4e\x73\x71\x61\x3c\x92\x14\x18\x9a\xd0\x09\x3c\x9f\xc8\x90\x5c\x81\x8a\x36\x14\xe2\xe9\xc3\x4d\x62\x87\x40\x86\x0b\x23\x78\xc7\x18\x3b\x21\x24\x86\xd3\x5c\x56\x48\x65\x05\x7a\x43\xd8\x67\x90\xc6\x3e\x34\x33\x78\x5a\x17\xb0\xcb\x5d\x9a\x99\x73\x93\xf2\x9c\x43\x2f\x85\x0c\xb1\x74\x7e\xce\x05\x5a\xd7\xa6\xdb\x91\x18\x17\xd2\x43\x72\x9f\x98\x21\x7f\x5b\x8b\x5e\x9e\xd9\xa4\x8a\xa1\x34\xad\xf2\xd1\xc4\x4f\x13\x2a\xab\xb6\x20\x4d\x42\x34\x09\xd3\xa4\x8d\x26\xed\x7c\x21\x95\x18\x68\xed\x6e\x61\xe2\xad\x91\x56\x66\xc8\xdf\x4e\x91\xda\xfd\xb4\x48\x91\xda\x29\x52\x3b\x45\x6a\xa7\x48\xed\x14\xa9\xbd\x9d\x19\x0a\xb4\x48\x18\xc3\x14\xf2\xd1\xc4\x4f\x93\x80\xdc\x5a\x4f\x2b\x2d\x84\x68\x12\xa6\x49\x1b\x4d\x28\x52\x6b\x0b\x4d\xe8\xd5\x56\x8a\xd4\x4a\x91\x5a\x03\x34\x09\xd2\x84\x62\xb4\x52\x8c\x56\x8a\xd1\xaa\xf4\xad\xb7\x45\xc9\x29\x9e\x8f\xe2\xf9\x28\x9e\x8f\xe2\xf9\x28\x9e\x8f\xe2\xf9\x28\x9e\x8f\xe2\xf9\x28\x25\x3f\xa5\xe4\xa7\x18\x7e\x8a\xe1\xa7\x18\x7e\xa5\x7b\x7d\x4a\x83\x7d\xad\x4a\x2e\xdd\x41\x51\xfd\x0a\xc9\xbe\xa0\x92\x87\x94\x9c\x36\x1e\xa0\x6d\x04\x28\xd5\x00\xa5\x1a\xa0\x54\x03\xd2\x05\x8a\x1a\x50\x50\xfb\x29\xe1\x20\x25\x1c\xa4\xcd\x06\x29\x52\x90\x22\x05\x29\x52\x90\x22\x05\x29\x52\x90\x22\x05\x69\x57\x43\x14\x23\x44\x31\x42\x14\x23\x44\x31\x42\x4a\x57\x07\xa4\x6b\x14\x29\x14\x66\xe2\xad\x71\xe9\x1a\x45\x0a\xd3\x0b\x61\x8a\x14\xa6\x48\x61\x7a\x21\x4c\xc9\x84\x29\x99\x70\x88\xde\x1c\xa5\x10\x25\x13\xa6\x18\x6d\x14\xa3\x8d\x62\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\xb4\x51\x8c\x76\x8a\xd1\x4e\x31\xa8\x52\x04\xda\x29\x46\x7b\x80\x89\xfb\x24\x31\xb6\x87\x28\x24\x5d\xa0\x18\x54\x29\x82\x2d\x2d\x34\x69\xa5\x89\x8f\x26\x7e\x9a\x04\x68\x12\xa4\x49\x88\x26\x61\x9a\xb4\xd1\xa4\x9d\xdd\x21\xa4\x0a\x39\x66\x28\x48\x55\x22\x48\xdb\x0a\x52\x95\x08\x52\x95\x08\x52\x95\x08\x52\x95\x08\x52\x95\x08\x52\x95\x08\xb6\x52\x22\x3e\x4a\xc4\x47\x31\xa8\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\xf9\x0a\xfa\x29\x86\x9f\x62\xf8\x29\x06\xd5\x81\xa0\x9f\x62\x04\x28\x46\x80\x62\x04\x28\x06\x15\x7d\x90\x8a\x3e\x48\x45\x1f\xa4\xa2\x0f\x52\xd1\x07\xa9\xe8\x83\x01\x8a\x11\xa4\x18\x54\xee\x41\x2a\xf7\x20\x95\x7b\x90\xca\x3d\x48\xe5\x1e\xa4\x72\x0f\x52\xb9\x07\xa9\xdc\x83\x54\xee\x41\x2a\xf7\x20\x95\x7b\x90\xca\x3d\x48\xe5\x1e\x0c\x51\x8c\x10\xc5\xa0\x42\x0f\x86\x28\x46\x88\x62\x84\xda\x99\xb8\x2f\xd4\x42\x13\x8a\x11\xf6\x51\x88\x62\x50\xa1\x07\xa9\xd0\x83\x61\x8a\x11\xa6\x18\x54\xe8\x41\x2a\xf4\x20\x15\x7a\x90\x0a\x3d\x48\x85\x1e\xa4\x42\x0f\x52\xa1\x07\xa9\xd0\x83\x54\xe8\x41\x2a\xf4\x20\x15\x7a\x90\x0a\x3d\x48\x85\x1e\xa4\x42\x0f\x52\xa1\x07\xa9\xd0\x83\xed\x14\x83\x5a\x82\x20\xb5\x04\x41\x6a\x09\x82\xed\x6d\x4c\xdc\x17\x16\x24\x35\xf5\xb5\xb5\x28\x79\x2b\x33\x14\xa2\xa2\x0f\x51\xd1\x87\x14\x7b\xe0\x6b\x0b\x2a\x79\x88\x56\x86\x69\xd2\x46\x93\x76\x66\x28\x44\x75\x29\x44\xe5\x1f\xa2\xf2\x0f\x51\xf9\x87\xa8\xfc\x43\x54\xfe\x21\x2a\xff\x10\x95\x7f\x88\xca\x3f\x44\xe5\x1f\xa2\xf2\x0f\x51\xf9\x87\xa8\xfc\x43\x54\xfe\x21\x2a\xff\x10\x95\x7f\x88\xca\x3f\x44\xe5\x1f\xa2\xf2\x0f\xf9\xe4\x9f\xa5\xaf\x5b\xe9\x61\x77\xab\x92\xfb\x94\xdc\xaf\xe4\x4a\x57\xbb\x95\xae\x76\x87\x94\x3c\xac\xe4\x6d\x4a\x3e\xd3\x5e\xb7\x92\xf7\x28\x79\xaf\x92\xf7\x29\x79\xbf\x9c\xf7\x28\x74\x7b\x14\xba\x3d\x0a\xdd\x1e\x85\x6e\x8f\x42\xb7\x47\xa1\xdb\xa3\xd0\xed\x51\xe8\xf6\x28\x74\x7b\x14\xba\x3d\x0a\xdd\x1e\x85\x6e\x8f\x42\xb7\x47\xa1\xdb\xa3\xd0\x55\x8c\xa6\xaf\x57\xa1\xdb\xab\xd0\xed\x55\xe8\xf6\x2a\x74\x7b\x15\xba\xbd\x0a\xdd\x5e\x85\x6e\xaf\x42\xb7\x57\xa1\xdb\xab\xd0\xed\x55\xe8\xf6\x2a\x74\x7b\x15\xba\xbd\x0a\x5d\xc5\xb6\xfa\x14\xdb\xea\xeb\x53\xe8\xf6\x29\x74\xfb\x14\xba\x8a\x85\xf5\x29\x16\xd6\xd7\xa7\xd0\xed\x53\xe8\xf6\x29\x74\xfb\x14\xba\x7d\x0a\xdd\x3e\x85\x6e\x9f\x42\xb7\x4f\xa1\xdb\xaf\xd0\xed\x57\xe8\xf6\x2b\x74\xfb\x15\xba\xfd\x0a\xdd\x7e\x85\x6e\xbf\x42\xb7\x9f\x6a\x4a\xbb\x42\xb4\x5f\x21\xda\xaf\x10\xed\x57\x88\xf6\x2b\x44\xfb\x15\xa2\xfd\xfd\xf2\xa7\x25\x38\x7a\x14\x61\xe9\xeb\xb3\x01\x21\x54\xa4\x7c\xf1\x06\x04\xf8\x39\x04\x88\x99\xfd\x36\x25\x7d\x9f\xfe\x71\xc7\xd7\x24\xb7\xb7\x1f\xad\x5e\xdc\x42\xf3\xd7\x5a\x47\x1f\xfb\xff\x02\x00\x00\xff\xff\x5c\xbc\x44\xc5\xac\x86\x02\x00"), + }, + "/static/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff": &vfsgen۰CompressedFileInfo{ + name: "fontawesome-webfont.woff", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + uncompressedSize: 98024, + + compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\x92\x53\x70\x25\x0c\xb0\xad\x77\x6c\x3b\x13\x4c\x6c\x4c\xec\x89\x6d\x4e\x6c\xdb\xb6\x6d\xdb\xb6\x6d\x27\x3b\xb6\x6d\xdb\xb7\xfe\xba\xe7\xbc\x9d\xae\xfa\xaa\x1f\xfa\xa1\x57\x7d\xb5\x5c\xe5\x44\x45\x01\x20\x00\x00\x00\xc4\xe7\x14\x80\x00\x00\x00\x40\x43\xaa\x00\xe0\x00\x28\xc0\xff\x31\xa2\xa2\xca\x32\x00\x00\x08\x23\x00\x00\xc0\xfb\x0f\xcb\x1e\xb1\x76\x31\x61\x11\x51\x00\x00\x44\x1a\x00\x00\x10\x02\x00\x80\xdf\xa0\xb7\x00\x70\x39\x25\x06\x26\x00\x00\xc4\x0a\x00\x00\xf0\x01\x00\x00\xbd\x30\x26\x0f\x7e\x43\x6b\x7d\x3b\x00\x00\xa4\x0a\x00\x00\x31\x07\x00\x40\xef\x61\x7b\xb9\x7c\x4d\xf5\x1d\xed\x00\x00\x30\x6c\x00\x00\x00\xfd\x1f\x3f\x3f\x00\x30\x53\x2b\x77\x13\x00\x00\xec\x37\x00\x44\xd7\x1d\x00\x2a\xdd\x15\xfb\x52\x23\x63\x66\xac\x6f\x04\x00\x31\xc8\x02\x00\x00\xcc\x00\x00\x80\x0d\x39\xfc\x88\xce\xcc\xcc\x58\x1f\x00\x62\x30\xfb\x3f\x7f\x49\x91\xc0\x60\x9b\xcd\xac\x9d\xdc\x00\x20\x06\xb7\x00\x00\xe8\x23\x00\x00\x7b\x2b\xe2\x8e\x1d\x6c\x65\x6b\xa8\x0f\x00\x31\x3e\x04\x00\xa0\x30\x01\x00\x38\x64\xd0\xa7\x02\x2d\x6b\x7d\x37\x3b\x00\x88\xd5\xe7\xff\x66\x06\xa3\x05\xc5\xb3\xd1\xb7\x36\x06\x80\x58\xe3\x01\x00\xa0\xc2\x00\x00\x78\xc8\x41\x6a\x64\x95\x9d\xad\xa3\x13\x00\xc4\x56\x0f\x00\x40\x0a\x06\x00\x70\x9d\x6b\x63\x33\xf3\xff\x33\xf5\x9f\x8b\x29\xde\x82\x99\xff\xf6\xa4\x1c\xcf\x7f\x3e\x00\x8b\x7f\xcc\xda\xdd\xb2\x0c\xf5\x8c\xf4\xf4\x76\xc1\x0c\x60\x20\x91\xf5\x0c\xf4\x8c\xf4\x8c\xb8\xc0\x49\xd5\xfb\x78\x20\x01\xf0\x6d\x80\x17\xc0\x7f\x77\x93\x49\xa3\xac\xbe\xbe\x89\xbe\xbe\xf9\x41\x83\xa9\xbe\xbe\x59\xc8\xfc\xf4\x08\x1c\x6c\xec\x4e\xec\x5b\xbf\x80\x89\x02\x03\x48\x28\xc8\xe0\x5a\x78\x2b\xf8\x1f\x7f\x2f\x36\x48\xd1\x38\x46\x92\x04\x54\x08\x48\x51\xc0\xec\x24\xb4\x0d\x00\xe0\x96\x35\x9d\xb0\x23\xb9\x6f\x8f\x3c\x7c\x62\x6a\x61\x7c\xfc\xc6\xd7\x47\x7c\x0e\x26\xdc\xed\x37\xc6\xe7\x07\xed\xb9\x20\x12\x26\xf7\x9b\xcf\xff\x15\x7c\x1f\x2d\x2c\xf5\x17\x2d\xf1\x9c\xf3\x98\xce\x65\x31\xb4\xa6\xa6\xe6\xdb\xe0\x96\xc5\x87\xad\x63\xc9\xd3\xb2\x6e\xaf\xcc\x69\xc1\x05\x19\x17\xa3\x29\x07\xe3\x14\x54\x08\x4a\x3c\x44\xfa\x0a\xd4\x9d\x20\xd6\x0d\xbd\xf4\xb6\x63\x8c\xc7\x60\xdd\x4a\xd1\xef\x3f\xea\xa9\x51\x56\x52\x6a\x2e\x47\x99\x78\xc6\x8e\xed\x4e\x35\x05\x54\x32\x96\x3a\x91\x1a\xcb\x15\xcb\xcd\xe5\xd6\x57\xe7\x31\x88\x8b\x2b\xe1\xc0\x34\x83\x0c\xcb\xa9\xc6\x31\xa6\xca\xaa\xc6\x71\xb6\xce\xcd\x03\x3f\x3e\x8a\x2c\xf5\x89\xf9\x94\xd6\x82\xe4\x6a\x0b\x67\x4b\x8d\x8d\x8e\x16\x53\xb0\x07\x6b\xa6\xe4\xdf\xd0\xe3\x38\x6f\x9f\x11\x94\xe7\x2c\x95\x10\x74\xe6\x22\x96\xeb\xb3\x29\x2e\x4d\xa5\xde\xf8\xe7\xff\x92\x05\x47\xe1\x57\xd4\xf5\xc2\x31\x96\x57\xf5\x22\xf1\x9f\x57\x4f\xe2\x0c\x2b\xc2\x39\x27\x35\xfa\x25\x55\xeb\x33\x58\xab\x8c\xf1\x2f\xd4\x77\x42\xd8\xbe\xc5\xe0\x81\x01\xd5\x7a\xcc\xaf\xe8\x5e\xf0\x6c\x9f\x95\x73\x5f\xa7\x91\x9a\xce\x12\xa9\x76\x93\x36\xe3\x74\x1d\x6d\x91\xed\x65\x9a\x76\x28\xd2\x77\x58\xb1\x8c\xc8\x11\x50\xd2\x76\xb1\xdc\x9b\xfb\x90\x2b\x6d\x03\x64\xdf\xbb\xa0\x27\x1c\x83\xb6\x9f\x03\xd8\x7c\xa2\x1c\xc3\x30\x31\x77\x68\x62\x1c\x43\x48\x78\x7a\x84\x3b\x6a\xbd\xc0\xda\xaf\x96\xfb\xfd\xfb\x80\x27\xe2\x7c\x11\x1d\xa4\x29\xdd\x3d\x5e\x4a\x02\x29\x5a\xd1\x44\xa9\x49\x9a\x1f\xf7\x1b\x34\x83\xb7\xc1\x87\xff\x5f\x77\x90\x9f\x1f\x00\xa8\x5b\x56\x57\x37\x8c\x9f\xf2\x52\x32\xe3\xe7\x75\xb7\x6d\xb9\xb7\x67\xb3\xb3\xb3\xb3\xab\x8a\xda\x52\xe5\xb9\xcd\xa9\x8d\x85\xb5\x07\x5d\x46\xb6\x8d\x0b\x38\xf8\x10\xa6\x48\xbc\x88\x80\x00\x32\x96\x24\x11\x75\xd8\x2f\xca\xfd\x6d\x33\xe1\x71\x26\x43\xcc\x07\x32\xd1\xac\x89\x92\x44\x11\x03\x54\x03\xb6\xde\xb7\x75\x52\xf2\xf4\xb6\xa8\xc4\x43\x76\x94\x0e\x82\x9d\xf6\x17\x15\x15\x35\x76\x84\xd3\xa9\x4f\x42\xa7\x6e\xd7\x97\xa7\x4d\xcf\x19\xce\x97\xac\x07\x8e\x29\xeb\x63\x0e\x03\xb4\xbd\x7e\x09\xbc\x54\x98\xf5\xc0\x21\x82\x26\xa4\xfc\xae\x8c\xad\x28\x28\x76\x38\x7f\xa5\x4c\x91\x6b\x74\xb1\x1f\xa2\xeb\x04\xe6\xac\xd7\xa8\xb8\x03\x8b\xbe\x83\xa4\x38\x5e\x6c\x57\xee\x61\xf9\x3a\x1d\x89\x12\x34\x01\x6e\x45\xc5\x71\x9b\x24\xe8\x11\xcb\xf8\x57\x69\xa5\x3d\xfa\xa4\x27\xaa\x08\x5b\x0e\xb1\x5c\x4a\xcd\xb6\x4a\x2a\xbc\x07\x68\x4e\x39\x5a\xda\x29\x68\x01\x27\x7f\xa5\x04\xd8\x4f\x14\xc4\x1b\x33\x58\xf7\x0a\xe7\x0e\x0b\x0d\x28\x28\x67\x3b\x79\x31\x34\xb7\x4b\x59\xb8\x1a\xdb\x91\x71\x9b\xac\x30\xcf\xcb\x01\x33\x5b\xa6\x6c\x81\x33\xe1\x4d\x3a\x87\x85\x65\xed\xe6\xfd\x0a\xe7\x85\x5d\xd6\xbb\x73\xe3\xe0\x39\x9d\xe2\x14\x23\x99\x96\x7f\x99\xc8\x1c\xbc\xd8\xb9\x2b\x87\x0e\xac\xd3\x9d\xa0\x3a\x0a\x5a\x4f\x3e\xf9\x85\x4c\x7e\x5d\xaa\xa9\x8c\xbf\x63\x6c\x0f\x18\x2d\x85\x10\xd7\x7f\xdb\x0b\x9c\xb6\x46\xc3\xcd\x12\x06\xd4\x2c\x8b\xa1\xf0\x0c\xc0\xb6\x70\xce\xef\x01\x6e\x5c\xda\xf4\xb0\x37\xbd\x64\xbf\xfe\x75\xab\x7d\x61\x4b\x9c\x72\x11\x3f\x51\x2c\xe8\x3f\xad\xaa\x6d\x77\xc8\xf1\x7a\x7f\xae\x5b\xc6\x92\x80\x2c\x11\xef\xbd\x36\xb3\x17\x1a\xa3\xc0\xc3\xc4\x15\x91\xa9\x3a\x8e\xfb\x40\xd0\x75\xbb\x93\x0e\x37\x8f\x2e\x2d\xbc\x74\x3f\x61\x3c\xfd\x0b\x02\x42\xba\x92\x53\xd8\x83\x8e\xbe\xb5\xd1\xdb\xd0\x8f\x8a\x5c\x16\x0c\x49\x61\x6e\x82\x93\xf8\x15\x48\x0a\x87\xaf\x67\xdb\x60\x5f\x34\x75\xa3\xb1\xa3\xa5\x81\xcd\x1d\x3d\xb6\xf1\x36\x7b\x41\xc5\xb8\x26\x4a\x73\x2d\x44\x33\xb9\x58\x3b\x28\xba\x70\xf1\x32\xca\xb7\xf3\x0b\x7f\x6d\x24\x86\x5f\x96\xa8\x06\x69\xb0\x1b\xa3\xc9\x55\xf8\x46\x82\x1b\x35\xc6\xb1\x4f\x8a\x23\xcb\x74\x28\xa9\x37\x7a\xdd\x6a\xda\x86\x5d\x3d\xa5\x9b\x50\x08\x02\x8f\xa5\xbd\x3b\x5f\x47\x5a\xe7\x53\x0f\x55\x5f\x72\x26\x9e\x6b\x74\xb6\x68\x0e\x3d\xd5\xa0\xa0\xb1\x6a\x78\xeb\x4b\xcb\x9d\xe7\x8b\x96\x4b\x78\x29\x2c\x06\x21\x80\xb4\x93\x5e\xf0\xdc\x8f\x2e\xd9\x02\x71\xd3\x33\xb6\xbc\x9f\x55\x8c\xe3\x58\xf6\x1c\xc4\x3d\x12\x03\x8d\xa1\x99\x04\xd8\x1c\xd9\xa5\xed\xee\x1a\x21\x6c\xa3\x4d\xb6\x9c\xc0\x19\x7b\x1e\x78\x73\xe6\xdc\x00\xcc\x11\xcb\xfa\xd2\xcc\xbe\xa0\xf9\x3f\x64\xb1\xe4\xf8\xc1\x1f\x08\xf9\xdf\x40\x4c\xe7\xb2\x8f\x16\x4b\xac\xa0\x41\xb8\x9a\xee\x6a\x4f\x71\xef\xd2\x5b\x7e\xa0\xbf\xda\xe9\x40\xaa\x8e\xfd\xcd\x62\xeb\xf7\x1c\x0b\xf7\x2f\x44\x53\x53\xf6\xaf\x83\xea\x9f\x2f\xd9\x3d\xf7\xea\x4b\x86\x81\x4d\x04\xfb\x27\xdc\xa8\x09\x79\xbc\xec\xd6\x30\x80\x1c\x60\x36\x4a\xba\x9f\x05\x2d\x7e\xc1\x3e\x96\xb6\x2f\xed\x75\x31\x34\x85\x38\x55\xc9\xa5\x9c\xd7\x02\x49\xba\x0c\x8e\x41\x85\xb0\xca\x42\x88\xb0\x9b\xce\x75\xc2\xb6\x30\x76\x7d\x2c\xda\x26\xf7\xbd\xc8\x22\x61\xaa\x06\x77\xc1\xf3\x26\xdd\x42\xab\x00\xe2\x0b\xa1\xba\xdc\x45\xe4\xb1\x71\xce\x12\x01\xe1\xfc\x70\xcd\xa3\x83\xcf\xae\xdd\x86\x37\x58\x87\x37\x02\x5b\xdf\x42\x42\x98\xb2\xf9\x60\x73\x7a\xb7\x35\xaf\xad\x63\xff\xd5\xde\x19\x22\x62\x46\x94\x7b\x2e\xfa\x94\x75\xb9\x26\xc4\x91\x1d\x8e\x5b\x41\x88\xbd\x43\xa5\xbb\x5b\xf3\x2b\xb8\xe3\xbe\x79\x25\x2c\x7f\x71\xea\xd5\x5d\x43\x62\x23\x0d\xed\x74\xb5\xf3\x94\x3a\x06\x9d\x88\x14\x06\xec\x06\xd1\x68\xbf\x39\xa8\x31\x1c\x64\x38\x05\x11\x7a\x93\x6e\x32\xf4\x6f\xeb\x27\xa6\xe7\xc3\x94\xf5\x57\xe7\xdc\xc8\xd6\xd7\x86\x09\xdb\xc6\x8c\x9d\x6d\xe5\x8e\xcf\x87\xf5\x62\xb7\xeb\xc2\x41\xac\x6d\xc7\xe9\x9e\x18\x9b\xcc\xcc\x51\x89\xad\xc7\xa1\xfe\x3d\x1d\xdd\xa7\x35\x36\x14\x89\xf6\x5f\x54\xed\xbf\xaa\x35\x31\x96\x7b\x1e\x6d\x6f\x9b\xc5\x9b\xcd\x9b\xf4\xd7\x7c\xd7\x54\xd7\xb9\x9c\xb2\xe2\x64\xc9\xe4\xca\x0c\xcb\xbf\x4b\x3b\xc1\x40\xa0\x75\xfb\x62\x2f\x25\x82\x05\xdc\x50\x0e\xe7\x56\x5f\xe5\xd2\xbf\x05\x9f\xa2\xb5\x39\x28\x4b\x5f\x57\xe9\x5d\x62\xa0\x66\xa8\x7a\x40\xc5\x78\xc1\x73\x06\x37\xc5\xa3\xe4\xe3\x95\xa6\x55\x4a\x3a\xe4\xd3\xeb\x0e\xf9\x4c\x22\x45\x83\x44\x12\xe9\xc4\xf2\xc5\x46\x1d\x31\xbd\xd2\x30\xaa\xe6\x29\xfe\xa2\xfa\x78\x0c\x49\x50\x27\x96\x1d\xa4\x28\xee\x79\x9d\xa1\x57\x6a\xea\xc1\xa5\x94\xf6\xd1\xa9\x02\x29\xb6\xd2\xc5\xa2\xe5\x31\x70\x99\x0d\xb0\xc2\x28\xb4\x7c\x15\x8f\x12\xbe\xbe\x24\xa6\x72\x48\x6c\x12\xb8\xd5\xe0\x8f\x4f\x53\xd6\x72\x85\x1f\xc3\x7d\x95\xf7\x70\xbe\xe7\xda\x0d\x38\x5a\x18\xd7\x74\x1c\xd9\x68\x1d\xc6\x8a\x9b\x2b\xe0\xcc\xab\x1b\x62\xef\x62\xa3\x7f\x72\x9f\x63\xab\x91\x1c\xad\xff\xb0\x12\x5a\x5a\x46\xe6\xd3\x7a\xc7\xb4\xd9\xd7\xcc\xab\x8d\x65\x73\x5f\x27\x96\x56\x39\x15\x02\x1c\xe7\xa1\xde\x8d\xd7\xd4\xb1\xed\x13\xec\x85\x18\xd2\xf2\x0a\x18\x01\xf9\xf6\x27\xfb\xbe\x5e\x98\x7c\x6f\x65\xb0\xc8\xcc\x53\x03\xd0\x41\xd9\xc7\x40\x7c\xb5\xb3\x6f\x86\x98\xa5\xb2\x7c\x3f\xc7\x73\x51\x20\xf1\xf6\xb8\x6f\xba\x63\x20\x12\x10\x4a\xa2\xca\x56\x40\x5c\xe2\xf9\x37\x07\xca\xe3\x6d\x99\xd0\x7e\xf6\xf7\x40\x50\xe7\x27\xdc\xa7\x6b\x79\xe8\xa7\xcf\x39\x3f\x6c\x4f\xee\xfb\xb8\x2e\x66\x1d\xe5\x8f\xb6\x19\xef\xd3\xc7\xd7\x79\xed\x2d\xd8\x6e\xb0\x43\x2d\xe7\x83\xff\xee\x2e\x92\x1d\x51\x0c\x1c\x77\xb5\x78\x55\xec\x39\x0a\x9d\xa6\x84\xc9\x63\xe1\xa4\x2b\x37\x19\x2f\x2a\x5e\x95\xd1\xd3\xca\x79\x6d\x73\x42\x1c\x68\x8d\x81\xb5\x38\x55\xca\xb7\x25\x34\xaf\x6d\x55\xaf\x56\x44\x48\xa7\xd9\x87\x08\x34\xb0\xdf\x7c\x1d\x9e\xdd\x1c\x89\x8b\x8e\xc8\xda\x86\x4b\x4f\x33\x44\x6c\x53\x3b\x70\xf7\x52\x4c\x84\x36\x92\x1b\x2b\x65\xd8\xb1\xc1\x5d\x9c\x0d\x2c\x82\x09\xfc\x74\x24\xcc\x11\xfd\x7a\x29\x95\x0b\xeb\x3a\x38\x14\x38\x21\x91\xed\x5b\xc6\x3f\xa6\xa3\xb5\xe3\x8a\x18\x54\xd5\x20\xa7\x0a\x1c\x6c\xce\x81\x68\xce\xad\xfa\x0a\xe6\xa9\xc6\x30\xfd\xab\x5d\xa9\xee\xf9\xd7\x5e\x2a\xd2\xb4\x4b\x3c\x55\x13\x2c\xb5\xe0\x1f\x32\xe6\x1b\xa0\x89\x3c\xd9\xc9\x68\xde\x26\x56\x33\x89\x76\xf6\x5d\xa3\x0f\x8d\x48\x3c\x9c\x8d\xa4\x0f\x83\xd7\x06\x6a\xab\xb1\x19\x3f\x63\x7f\x91\x5b\xae\xac\x57\xed\x47\xe5\xeb\x2b\x3c\x5b\x0c\x91\x45\x5b\x1b\xab\x8e\xad\x66\xad\xce\x6e\xe7\x8e\x3d\xe6\x46\xb3\x4d\x5f\xa6\x90\x55\xbe\xb5\xe7\xae\x2f\x5e\xb0\xc6\x57\xfb\xef\xe7\xde\xe6\x01\xcb\x11\x10\x6d\xec\xe7\x75\x45\xfe\xa6\xc4\xaf\xb8\xfc\xee\xbc\x2f\x8b\xdd\x56\x0b\x6a\x9c\x68\xa5\xe3\xd7\x4e\x16\x5a\x5b\x47\xfd\x38\xea\x6a\x51\x4f\xc0\x09\xfa\x2a\x64\xf4\x1a\x24\xc2\x4f\x10\x13\x1f\x47\x03\x83\x5d\x3c\x53\x9b\x19\x3f\x6a\xbd\xa5\xcf\x7a\xcf\xdd\xe7\xa9\xa0\x0f\x50\x7f\x5c\x13\xef\xd2\xdf\x21\x17\xc8\x2b\xef\xc0\x51\xa3\x94\x8e\x66\xbc\xf7\x96\x0a\xea\x68\x78\x2e\xba\x82\xb0\x90\x1a\x3c\xfb\xfb\x31\x55\x69\x8a\x44\x7e\x66\xcc\x8b\xd1\x63\x1f\xf7\x96\x22\xd9\x63\xee\x2c\x46\x09\x3a\xe0\x89\xaa\x3f\x8a\x43\x5f\x54\xb0\x4e\x54\x04\xe6\x7b\x41\x75\xd0\x21\x5a\x12\x3d\x2e\x89\x52\x04\x0d\x24\x35\x34\xcf\x44\x18\x0a\x0c\xd3\xae\x04\x3d\xc3\x4f\x25\x0b\x52\x2b\xf7\x09\x19\xb3\x89\x02\xcc\x8c\x45\x1e\x04\x3d\xb8\xe5\x37\x4c\x80\x05\xc8\x35\x62\x36\x8f\xd3\x29\x29\x9f\x11\xb3\xb7\x90\x4b\x88\x09\xce\xe3\xd2\x4b\xa7\x4c\x8a\x37\x9a\x86\x95\x49\xf9\xf1\x0e\x2d\xfd\x61\xee\xa2\x5d\x6c\xbf\xc5\x9f\x6d\xdc\x64\xa7\x65\xf5\x18\x8b\xc9\x1f\xa6\x0d\xab\x91\x54\x5a\x95\xfa\x72\xc8\xee\x1b\x90\xd6\x35\x1e\xae\xbb\x6e\x8f\xca\x35\x27\xcd\x34\xb2\x67\x75\xa2\x3f\x2e\x0b\xb8\x88\xf9\x32\x3f\x26\x0e\x86\xbe\x5c\xa8\xba\x36\xf7\x38\xc4\x2f\xe7\xec\x1e\x55\xae\xc3\x5f\x2e\x0f\x2b\xd6\x35\x08\x1e\x07\xce\xe6\x81\x6b\x46\x4e\xd5\x55\x11\x72\x15\x23\xf4\xcc\x52\x1b\x9b\x3c\xee\xf9\xe3\x46\x8c\xa1\x37\xcc\x56\x65\xd2\x56\xab\x39\xb3\xea\x4d\x43\xd5\x3e\x97\x06\xa6\x50\xbb\xd5\x24\x1c\xe2\x50\xec\xc9\x9d\x92\x83\x42\xd4\xa6\xea\x6d\x7e\xba\x90\xeb\xcb\xea\x52\xe6\x8b\x36\x41\x01\x8c\x1d\x02\x0a\xa8\xd8\x45\xc9\x28\x29\xf2\xe6\x32\xa6\xd8\x74\x70\x86\x63\x40\xe4\xd0\xe0\x69\x2a\x9e\x59\xce\xcd\xf6\xbd\xac\x61\x49\xf1\x94\x7f\x74\xc1\x20\x49\xb6\xc9\xf0\xe7\xae\xf0\xa8\xed\xcb\xfa\x38\xff\xb6\xb8\xe1\x5f\x17\x01\x60\xd9\x8b\xf0\x17\x3c\x1e\x03\x53\x8d\x40\x7e\xaa\xc8\x40\x70\xea\xbe\x31\x07\x44\xd7\xfc\x14\x2f\xe7\x36\x42\xbd\x6d\x82\xbd\x13\xab\x05\xc3\x2a\x5f\xe8\x80\xd0\x0f\xac\x9d\x36\xeb\x3f\x6f\x5c\x95\x5f\xed\xe2\x4c\x38\xee\xc0\xfc\x6a\x5f\x42\xf8\xd5\x64\xd0\x3d\xa3\x96\x6f\xf5\x95\xbc\x03\x91\x4f\x9a\x62\xb1\x6b\x78\x80\x46\x58\x36\xbc\x02\xac\x65\x52\x02\xa4\x3c\xf5\xf5\x28\x7d\x27\x14\x1b\x46\x9f\xdc\xd2\x26\x4e\x5f\x3b\x40\x6d\x98\xb7\x0d\xea\x2b\xd7\x26\x3b\x3d\xcd\x39\xf8\x5b\xb0\x77\xdc\x68\xd9\xf9\xa2\x0e\xe4\x87\xa3\x8e\xe7\x96\xbd\x85\xc5\xc7\xb0\x8f\x23\x0f\x92\xd2\x40\x0a\x45\x9b\x25\xc8\x2d\xc8\xa7\x9a\xda\x6d\x02\x8f\x37\xe5\x36\x69\xa0\xf7\x14\x79\x79\xe6\x8f\xf2\xc5\x2d\x53\xee\x8d\xd8\x4e\xbe\xb7\xd2\x8a\x77\xf4\xfc\xe7\xfa\xb6\x64\xe9\xbf\x90\x94\xc1\x76\x08\xf9\x0b\xdc\x40\x7e\x0f\x52\x4f\xf9\xf0\x81\xf4\xc2\x27\x62\x33\x2c\x9d\xe7\xd1\x75\x83\xd2\xd5\x74\x49\x87\x7a\x90\x1f\x82\xa6\x41\x3d\x45\x5d\xe6\xfc\xc9\x25\x10\x7e\x2f\x0e\x9f\x58\xdf\xdf\x2e\x5c\x62\x07\x22\x1c\x9d\x86\xdf\xe6\xe7\xda\xac\xe4\x2c\x6b\x4e\x13\xfd\x83\x6b\x31\x90\x38\x4a\x81\x49\x2b\x25\x68\xcf\xd7\x30\x24\x69\xd5\x2d\x37\xe8\xfd\x21\x8d\xac\x85\x7e\x10\x6b\x16\x0a\xbf\xa7\xd7\x18\x2f\x4b\xea\x9a\x07\x81\xb2\x7a\x89\xb3\x2e\x41\x44\x08\x78\x90\x48\x59\x8a\xbe\xee\xe7\x7d\xfe\x4a\x94\x2e\xb0\xda\xae\x82\xde\x92\xda\xd5\x7c\xce\xfb\xe0\x1d\xf0\xbc\xd1\xf4\x24\x42\x16\x38\x36\x94\xb4\xe8\xca\xe2\xce\x79\x69\x60\xba\x1a\xe9\x8f\x43\x30\x6c\xb1\xf6\x7d\xa9\xc7\xfd\xcf\x66\x50\x66\x27\xf2\x11\x2c\x24\x92\x25\xe2\x43\x64\x16\x4e\x31\xcc\xe0\x8b\x32\xe8\x01\x54\xcd\x24\x28\x28\x65\xd9\x1e\xab\xd8\xc8\xc1\x9b\x1e\x1d\xed\x75\x46\x4e\x27\xd0\x73\x7f\x84\x6d\x7c\xd2\xb1\x38\xa7\x19\xd2\xb3\xc7\x22\xf1\x4a\x7a\xd3\xf1\x5e\x0b\x8f\x05\x97\x2f\xf9\x65\xa1\x55\xff\x06\xd9\x51\x38\xa4\xc1\xad\x99\x10\x72\x15\xc0\x71\xcf\x19\x40\xd7\x0b\x8e\x29\x88\x1b\x04\x93\x9a\xd5\x33\x57\x09\x89\x79\xad\xce\x90\xb8\x30\x95\xbb\x6f\x1b\x35\x82\x58\x53\x65\xa2\x18\x83\xa5\xcd\xf4\x39\xba\x74\x64\xba\x4e\xf8\xac\x55\x5d\x65\x9a\xd8\xe5\xf8\xd4\x76\x0a\x8b\x85\xa1\xc3\x34\x39\xa0\xd4\xc0\x31\x26\xed\xeb\xfc\xf3\x98\x2c\x2c\xd9\x3a\x88\x79\x99\x5d\x0a\xdd\x44\x1d\x36\x8c\x4b\xc8\xb7\x22\x47\xf8\xad\xf5\xac\xa7\x35\xcb\x21\x2e\xae\x5f\x5b\x08\x40\x84\x97\x10\xfa\xdb\xde\xf8\x75\xf7\xdc\x39\xfb\xab\x9e\xed\x29\xf3\x99\x8b\xf5\x42\x9c\x7b\xd1\x2a\x7b\x6b\x3b\xcc\x8f\x45\x28\xe9\x75\x1f\x37\x96\xbc\x59\xeb\x11\x09\x42\xf4\xb6\xa7\x73\x7d\x17\x69\xe3\x97\xc5\x62\x15\x6d\xa1\x97\x8c\x10\xfa\x11\xce\x56\x52\xb5\x1f\x06\x03\x96\x09\x87\x5f\xe3\x66\x0d\x53\x59\xdb\x25\xcc\x2a\x7d\x44\xdf\x7c\xb4\x15\xac\x2e\x08\xc3\xa7\x9f\xc0\x57\xca\x9c\xa5\xf2\x83\x6a\x36\x30\xdb\x14\x0e\xea\xdb\x47\x39\x24\x1d\x0c\x0a\x18\x80\xcb\xa3\xc7\x54\xbe\x33\x7f\xa1\xb0\x4c\xce\x8d\xb3\xf9\x6f\x51\x00\x2a\x46\x8d\x7f\xfd\xae\x91\xdf\x34\xab\xc5\xc2\x33\xab\x05\xc7\x82\x16\x3a\x02\xa6\xc0\xb1\xd5\xd9\x59\x04\x0e\xa1\x0c\x2a\x23\xba\x61\x39\x37\xa7\xb5\x1c\x89\x6b\x49\xa0\x65\x1c\x81\x83\x96\x1c\xed\x7c\xee\x62\xa9\x0b\xc1\xdb\x2b\xa7\xc4\x00\x12\x0d\x1d\x82\xb1\x31\x99\xd0\x4a\x54\x01\x95\xd4\xce\x0d\x82\xb7\x7f\x0c\x9a\xc5\xc8\xc8\x9a\xfd\x79\xcc\xc6\x01\xd2\x99\x38\x40\x16\x93\x4b\x6e\x00\xce\x59\x27\xa2\xc1\x8d\xff\x2e\x3b\x20\xba\xe2\x1c\x4c\x68\x42\xac\xa1\x27\x69\x2f\x90\x3a\x8b\x4c\x34\x8a\x4f\xd9\xfa\x76\xe2\x6f\xf5\x32\x13\xfd\xa1\x6d\x67\xa7\x5d\x55\x45\x4f\x4f\xc5\xed\x64\x4d\xc4\x9f\x06\x87\x25\x2d\xe5\xc1\xc1\xb5\x7c\x29\x1a\xe9\xc1\xd5\x2c\xc3\xb5\x87\x40\xff\x81\xb8\x25\x9b\x46\x08\xd0\x7e\x2e\x3c\x8e\x9b\x82\xd1\x19\xa0\x7d\x99\x7b\xb7\x6c\xcc\xae\x96\xb0\xcb\x98\xc5\x77\xe8\x89\xe6\x53\xd9\x66\x89\xb0\x3b\x43\x04\x35\xaf\x38\xcc\x92\x26\xe3\xae\x55\x38\x07\xef\xcd\xc1\xa3\x5e\xaa\x70\x4f\x94\x11\xf9\x3e\x4f\xd6\x97\xdf\xba\x3d\xba\xe2\xaf\xab\xe7\x0e\x6f\x24\x9f\xde\x20\x2f\xeb\xbf\x9c\x9a\x0d\xea\x08\x9e\x4f\xe2\xad\x12\x5f\xfd\x58\xa2\xf2\xcd\x81\xe2\xdb\x76\xdc\xfc\x6d\x7d\xe5\xea\xb9\xa8\x91\xcb\xd7\x1b\x9a\xc2\x77\xcb\xda\x16\x7d\xef\xde\x1d\xd4\x83\x39\x50\x66\x92\x8b\x21\x9f\x14\x2e\x3a\x9d\xcf\x6c\xff\x84\x93\x5f\xa5\xd3\x32\xc7\x55\x41\x8e\x03\x9e\xf4\xf9\xff\x89\x3e\x5b\xe6\xf1\xec\xa6\x45\xa7\xc6\x27\xce\x0f\xc8\x36\xd4\x24\xdd\x65\xd1\x1f\xee\x06\x54\x5d\xd9\xa9\xfe\xa0\x18\x2f\x39\x9f\x43\x41\x2d\xfe\xac\xda\x65\x66\x15\x2d\x40\xd0\xc8\x6d\x73\x3f\x54\xa6\x6e\xdd\x95\xe2\x8c\x88\x02\xc4\x1a\xb5\x44\x3e\xa0\xf2\x67\xbb\x0d\x76\x2d\x4d\xdc\x61\x3d\xd0\xc7\xa1\xe2\x1c\x07\xaf\xe2\x10\x10\x60\xfe\x7d\x65\xbe\x27\x5b\xd6\x74\xc9\x2c\x47\xc8\x27\xdc\x6f\x6f\xab\xb7\xea\x9a\xf6\x0e\x90\xa0\xa5\x9b\x84\xc6\x79\x7b\x36\x03\x1a\x83\xa4\xcd\xe8\x9d\x64\x54\x29\x29\xcf\x81\xe3\x0c\xbb\xb3\xd8\x51\x2c\xce\x20\x3f\xff\x3a\x58\x9c\x41\x7a\x79\x42\x2c\xc9\x72\x87\x83\xe7\xa1\xfd\x1d\x79\xdd\xc2\x08\x4d\x08\x06\xc6\xa2\xee\xb6\xe2\x4e\xd1\x1f\xe4\x6b\x6e\x28\x7b\xe8\x71\x29\xb1\x5e\x56\xec\xb5\x82\xef\x40\x69\x0a\xd0\x82\xda\x43\xcd\xbd\x3f\x37\x25\x43\x18\x34\x0f\xba\x46\xe4\x6a\x0b\x2d\x79\x44\x5c\x3d\xd5\xc8\x62\xc3\xe6\x03\xec\xbe\x15\x25\x67\x11\x26\xd3\x0b\xaa\x48\x35\x89\x3b\xc0\xc4\x43\xd9\x48\xb4\x7f\x2f\x8b\xb6\x7d\xbe\x0b\x85\x2e\x57\x0a\x41\xb4\xe8\x1a\x86\x01\x7d\xf1\xcf\x16\x7d\xbd\x78\x77\x44\xf7\x98\x34\x8b\x48\x2e\xb5\x42\xfa\x8d\xdd\x07\x03\xaf\xe8\xab\xf5\x03\xd1\x2b\x6d\x46\xf2\x3d\xa2\x91\xa4\x56\x38\x87\xd3\x41\x8c\x65\x87\xce\x9a\x41\x17\x73\x8c\xf1\x27\x9e\xab\x6f\xd0\xee\x55\x96\x7a\xdd\x9a\x2e\x52\x54\x5c\x67\x80\x95\x84\xeb\xd6\x7c\xc5\xc0\xa5\xef\x6d\x76\xb6\x2e\xa7\x4a\x54\xb9\x9b\x0e\xa3\xfa\xb5\x52\xe8\x4d\xda\xa3\xa6\x60\x97\xac\x9f\x48\x26\x9a\xa5\x95\xd6\xea\xdf\xca\x2a\x9a\x2d\xb2\xe2\xb2\x1c\x79\x6a\x5e\xaf\x48\x20\xb1\xc5\x26\x62\x9e\xa1\x9b\x69\x56\xca\xd8\x5b\xba\xfb\xc5\x4f\x73\x98\x1a\x7f\x7e\x7f\xd7\xcc\x71\x58\x20\x7c\xea\x09\x14\x25\x60\xb7\xe0\x5e\x3a\x2c\xcf\x1d\x74\x45\x65\x24\xeb\xc1\x9b\x81\xc3\x77\x53\xa3\xa6\x19\xd4\x2c\xbc\x21\xbc\x6c\x1f\x91\xac\x9e\x4e\xfd\x3a\x2f\x5d\xea\xca\xfb\x16\xfc\x6a\x78\x8f\xc4\xb2\x28\x59\xda\x61\x74\x24\xb5\x79\xd3\x79\x61\xcf\xca\x76\x85\xcf\x27\x3d\x17\x1b\xcf\xe7\xbe\xed\x29\x44\x92\x85\xa5\xdf\x46\xc6\x16\xe0\x03\x63\xe6\x96\x49\xad\x71\x47\x0e\x8f\xfd\x5b\x93\xe3\x61\x37\x5d\x5c\x02\x4c\xf7\x47\x29\x62\xa9\xd3\xb7\xb7\x9b\x0f\x14\x23\x14\xdd\x5e\x71\xbd\xf6\xd2\xfe\x4a\x5c\xae\x05\xec\xbd\x12\xf5\xed\xad\xf6\x40\x8c\x1a\xe0\xb8\xec\xe5\xd9\xa3\x71\x54\x1a\x3f\xd1\x9c\x53\xb5\x20\x45\x9a\xd1\xd3\xaa\xf8\xdc\xb2\x68\xef\x99\xd1\x07\xc9\xb3\x38\xd6\xb4\x40\x52\x75\x81\xbf\xe2\xd1\x58\xee\xbf\x16\xdb\xaf\x0b\x33\x8d\x38\x37\xa4\xd7\x5d\x80\xcd\xb4\x39\xe7\x6d\x8a\x30\xc3\xab\xe6\xee\x57\xd7\xbe\xcc\xe7\xee\x37\xe2\x9a\x44\x29\xd5\x9f\x73\x74\x6d\x30\x08\x57\x68\xb3\xd6\x54\xa4\x6c\xa7\x50\xbb\xa9\x89\x05\x59\x40\x76\xd4\xed\x78\x83\x1d\x5b\x91\x5b\xce\x58\xd9\x0c\x96\x9a\xa3\xe1\x95\x0f\xcb\xbb\x50\x80\x3d\xb2\x91\x6c\x8f\x8c\x80\x04\x43\xf9\x9d\xd6\xed\x51\x92\x8d\x4d\x52\xf1\xd9\xc7\xce\x8a\xe4\x6e\xd8\xb2\xa9\xd0\xcc\xb1\x9d\x64\x0d\x47\x9e\x70\x6c\x14\x44\xcc\x58\x6d\xc7\xf2\x95\x7e\x4f\xc1\xeb\xe1\x26\x9f\x17\x1d\xdf\xca\x7c\x3c\x6f\xa1\xdb\x40\x52\x44\x7e\xae\x51\x10\x06\x47\x79\x08\xd2\x39\x41\x47\x30\x9c\x57\xd5\x97\xe4\xbe\xbd\x33\x9b\x5b\x46\x33\xc3\xce\xee\xdc\xb1\xb2\x96\x5f\x6b\xc0\xfc\xd1\x47\xb2\x3d\xae\xf4\xa2\x89\x47\x18\x8e\xb7\x2e\xae\x85\xed\xca\x61\x24\x55\x1f\x4f\xc7\x8e\x97\xd3\xcf\xd9\xfe\x83\xab\x6f\x9a\xcc\x89\x94\xd5\xe6\x6c\xb7\xdf\xda\xc7\x29\xb6\x52\x41\x93\x94\xb0\x87\x15\x44\x68\xd0\x14\xc1\x2b\xbe\xe3\x77\xbd\xa1\xf0\x07\xcf\xac\x55\x79\x8c\xa0\x01\x4a\x3b\x1c\x7d\x3e\x61\x55\x01\xf1\x3b\x1e\x2f\x4e\x27\xe9\x32\xef\xef\xc0\xdc\x09\x4e\x4d\xdc\x81\x23\x27\x6e\xf5\xf1\x6a\x27\xe0\x07\xe2\x75\xee\xf7\xc0\x9c\xd5\x20\xf4\x95\xe0\xb0\x17\x0b\xe6\x89\x32\xa6\xec\xdb\x14\x72\x98\xba\x20\xae\xb4\x2f\x5e\x27\x14\x6d\x36\x82\xe9\x0b\xc9\x04\x2b\xc6\xc7\xbc\xc0\xdb\x41\x78\x1c\x2f\xd1\x0f\xbb\x0f\xef\x2d\x03\xf2\x3f\x6d\xb5\x17\xf0\x4f\x67\xd7\x1d\x0d\xb5\x95\xc1\xef\x9c\xd3\x33\xff\x5e\xcd\xb5\x9d\xf3\x9c\x9c\x83\x4a\xb5\x05\x23\x5e\x5e\xc1\xeb\x45\xeb\x81\x9a\x9f\xf9\x58\x60\xa4\x4b\xc9\x5f\xd2\xae\xc9\xe7\xd3\x0c\x58\x02\x11\x14\x12\x50\xd8\x02\xe9\x70\x22\xf6\x89\xc1\xe3\xd5\xd6\x9c\x5e\xa2\x82\x8e\x82\x71\xe5\xa2\x38\x45\xc5\x2f\x09\x96\xb4\x09\xaa\xd7\x50\x94\x6d\x71\x92\x8f\x45\x2b\xea\x02\x2e\x12\x94\xcf\x42\x71\xfa\x60\xc8\xc4\x2f\xaa\xe2\xb8\x98\x14\xbb\x85\xd0\x22\x84\xe1\x0e\x45\xac\x0a\x99\x59\x41\xff\xf7\x40\xde\xf8\x91\x60\xd4\xdc\x3c\x0c\xca\xd1\x80\xc1\xe9\xe6\xd3\x69\xe8\xe8\xc9\xe2\x10\x3e\x81\x8f\x04\xda\x59\x5d\xa8\xf4\x3c\xa6\x4f\x30\xb2\x62\xd6\x4c\x3b\xc8\x3e\x77\x9b\x20\x36\x86\xbd\x9a\xdd\x16\xd0\x21\x50\x19\x83\x7c\x27\x2c\xda\x13\x69\xd4\xe5\x9a\x84\xb3\x11\x2b\x1c\x9a\x47\xce\x65\x10\x85\x02\x31\x03\x6d\xea\xe3\x44\x61\x24\xee\x63\x10\x84\xd8\x0e\x88\xf8\x76\x4f\x79\x0d\x1c\xa2\x23\xea\xcf\x7d\x95\x3f\xad\xef\x3d\x5e\x5f\x49\x7b\xcd\x8e\x37\x0f\x9e\x5b\xc4\x01\xcc\x28\x99\x5a\x05\xa6\x01\x31\xd0\x69\xaf\xe1\x95\xf1\x62\xa8\x33\xa1\xee\xed\xc1\x62\x5c\x51\x74\x36\x0a\xa6\xec\x93\x40\xbd\xc5\x58\x74\xe6\x6f\x37\x20\x68\xeb\xbb\x80\xdb\x31\xd9\x60\xac\xca\xaf\x68\xc8\x1b\xc4\xfb\x7f\x32\x1a\xa1\xe4\xe2\xff\x38\xbf\xf8\x6c\x1b\x76\x41\x1c\x31\x6e\x40\xc5\xf4\x91\xf1\x2e\x80\xb0\x7b\x17\x14\x33\xb8\x3d\x44\x9d\x56\x83\x5d\xe5\xd9\x5e\x8d\x22\x6a\x74\xb8\xd9\x4b\x90\xc6\x81\x06\x61\x67\x51\x4f\x06\x6e\x8e\xdd\x3d\xea\x8c\xa1\xe0\x3b\x6c\x22\x58\xf3\x17\x59\x7c\xd9\x54\xa8\x51\xaa\xed\xf1\xe2\x8f\x99\x27\xf0\x3b\x75\xde\x1d\x4b\xaa\xbc\x85\x40\x31\x9f\x03\x44\x75\xcb\x49\xb3\xc8\x0c\x06\xee\xe6\xce\x8d\xd0\xe0\xfd\x6e\xc6\x08\x4f\x16\x7a\x80\x61\xe0\x19\x8e\x96\x99\x1e\xc8\x09\x6b\xef\xce\x01\xac\x68\xa1\x40\x7b\x05\x6b\x11\x50\xd9\x34\x44\x93\xa5\x77\x92\xe4\xf0\xf1\xb8\xe5\x5d\xc9\xb7\xd6\x96\xf9\x02\xf4\xd4\xdd\xd9\x3d\xee\x1d\x82\xf7\xf5\xa9\xb8\x9b\x87\xc2\xc2\x33\x1e\xc6\xec\x5b\x36\xc6\x72\x96\x0d\x6d\xe4\x05\x26\x85\xff\x8f\x21\x43\x43\x15\x2b\x3c\x9d\x32\x57\x4e\xa4\x9e\xfa\xe8\x3f\x74\x74\x6d\xbf\x2d\x53\x6c\x9f\xc0\xc7\x9a\xe0\x19\xf3\xa0\x32\x2b\x82\x79\xbb\x54\xa2\xc6\x2e\x63\xbe\xdd\x3f\x6e\x8c\x6c\xbb\x7f\x2f\x63\x8d\x4f\x6c\x05\xf0\xb6\x1c\xd7\x0d\x02\x21\xa2\x9f\xa7\x2a\xc0\x4c\xdc\xe3\x0c\x98\x03\xf9\x05\x91\x80\x3b\x01\x60\x49\xea\xf6\xab\x7f\x91\xb9\x07\xad\xa9\x26\x40\xcc\x58\x1c\xe3\x2c\xfd\x08\xe4\xe3\xe1\xfa\x0a\x23\xc7\xfa\xa0\x41\x55\x4c\xd4\x30\xde\x66\xd9\x98\x3e\x02\x0d\x47\xf9\x38\x44\x43\x28\x27\x9c\xa8\xc5\x72\x85\x60\xdc\xad\x61\x1d\xcb\x9b\x1d\x0a\xec\x96\xa0\xff\xa6\xc3\xe3\x15\x4a\xdc\x5d\x0a\x5d\x84\xaa\x73\x81\xce\x74\x92\x4f\x67\x71\x9e\xd5\x2c\x70\x2a\xa7\xa8\x63\xef\xd1\x59\xb6\x6d\x82\xa6\x91\xa1\x42\x0d\x51\x15\xf2\x5f\x79\x89\x8a\xe2\x87\xa1\x9a\x21\xa6\x71\x52\x47\xf8\x51\x12\x2a\x3a\x2d\x81\x0d\xcc\x48\xf9\xbd\x8e\x76\x06\x2b\xa3\x22\xb6\x86\x41\xff\x93\xa1\x93\x90\xa7\x27\x8b\x46\x17\x22\xfe\x7e\x3b\x09\xf8\x9b\x43\x4b\x33\x19\xe2\xeb\xc7\xdb\x5d\x0d\x33\xfc\xc8\x77\xff\x5c\xec\x74\xf8\xb4\xeb\x0f\x79\x31\x8f\x5b\xaa\xb2\x6d\x8a\xa1\x10\x9b\x71\xa5\xf6\x83\x77\xe4\x4a\x12\x0b\x2c\x66\x87\xdb\x8a\x8c\x5b\xbf\xd2\xbc\xb8\x91\x7f\x87\x19\xb8\xfa\xd9\xae\x89\x8c\x83\x38\xa4\xb0\x60\x8f\x85\x1b\x64\x9f\x4a\x8d\x82\xe4\xd4\x08\x5d\xd9\x4b\xc4\x94\x40\x98\x52\x22\x6c\x6f\xfa\xf6\x6d\x95\x63\x51\xb7\x14\x16\xc1\xbc\xec\x9a\x0e\xc8\x10\xf4\x01\x01\xea\x05\x4a\x98\x72\xdf\x5b\x07\x6c\x2c\xbd\x54\x6e\x3a\x23\xe6\x2d\x17\x78\x84\x2a\x99\x52\xcd\xcf\x5d\x5e\x3a\xf4\x23\xfa\xe2\x8c\x8a\x6c\x86\xfb\xf1\xe2\x58\x43\xae\x4b\x05\x00\x39\x87\x35\x84\xb1\xaf\xa1\xb5\x07\x59\xa2\x9e\xd6\xc6\x31\x7d\xd8\x77\xc2\x15\xd9\xc4\x37\x02\x28\xc3\x21\xc7\x2d\xc2\x27\xcd\x89\x50\x01\x48\x5d\x82\x56\x46\x76\x0b\x59\x3a\x4d\x85\xf9\x1e\x1e\x37\xc5\x8d\x1b\xa6\x1f\x28\xa2\x5c\xf5\xf6\xe7\x05\xd9\x96\xa8\x57\x6a\x56\x57\xd1\x0c\xb3\xf9\x03\x37\xf5\xce\xbe\xff\x98\x22\x40\x1d\x1e\xf6\x94\x1d\x05\x77\x57\xf2\x76\x6e\x9e\xab\x6e\xa7\x5e\xa7\xa6\x2b\xd7\x03\xd0\x52\x9d\x4a\x09\xbc\xbd\x47\x5a\x4a\x73\x74\x59\xf7\x82\x61\x2e\x96\x2c\xab\x40\x58\x7e\x3a\xb6\x61\xb2\x05\xb8\x6d\xc5\xb3\xa5\xcf\x5b\x66\xda\xc1\x7b\xa9\xde\x3c\x5a\xe8\xd3\xed\x9d\x43\x77\xf0\x7e\x04\x0a\x3c\xba\x6b\xdd\xdd\x1e\x2c\xb6\x2d\x59\x97\x44\x3f\xe9\x6a\xda\xf8\xb7\xad\xe6\xd3\x9f\x40\x63\x31\x0d\x71\xde\xd6\x53\x37\xe7\x53\xb5\xd8\xda\x79\x77\x11\xba\xdf\x67\x31\xe4\xb4\x39\xb7\x18\x3a\x58\xd7\x93\x4a\x2f\x1a\xb3\x0f\xb4\x9c\xe4\x02\x9b\x4f\x85\xe6\x94\x99\x63\x4c\x28\xcd\x61\xb5\x4b\x5c\xe1\x50\x1f\xe5\x87\x6e\x8b\xf0\xcc\x15\x2a\x4a\x33\x5d\xc3\x80\x8d\x5b\xbc\xbe\x92\xcd\x3b\x51\x2e\x35\x62\xdb\x35\xee\x0d\x78\x9f\xa5\x9a\xeb\x9a\x2b\xdb\x07\x58\xb4\xcd\x2f\x22\x4e\xe4\x0a\xb1\x95\xb6\x4d\x86\xad\x83\x01\x71\x5f\xee\x06\x6c\x6c\x38\x96\x2d\xef\x2f\x32\x52\x5e\x5f\xcb\x91\xa4\xea\x2d\x41\x1e\x64\x59\x43\x23\xf2\xc9\x6b\x94\x71\x95\x75\x3a\xc8\x8f\x1c\xb8\xec\xc2\x55\x0e\x52\x75\x5b\x9f\x7a\x7b\x57\x64\xef\xac\x91\xf4\x0d\x5c\xaf\xe7\x30\x38\xfb\x43\x31\x28\x6e\xbc\x10\xd6\x35\xc7\x36\xfe\x6b\x91\x9d\xd5\xeb\xd6\xd8\xda\x93\xb3\x35\x04\x57\xe4\x51\x4c\x62\xc8\xc5\x20\x94\x74\xfc\xa9\x0a\xec\x90\x6e\xce\xcc\xc8\x18\x64\xfc\xe3\x76\x4d\xe9\xb3\x3e\xb3\xdd\xab\x07\x4e\x7d\x78\xa9\x00\xbc\x09\x38\x25\xec\x10\xed\x80\x98\x30\xde\x70\x2a\x01\xb1\xbd\x2c\x94\x0e\x4c\xf8\xb5\xab\xfd\x5f\x02\xa1\x0f\xaa\xa6\xdc\x9f\x78\xfd\x10\x70\xd4\xbc\x84\x3f\xa4\xd6\x1e\x08\xc7\x74\x5e\xba\xd8\x22\x43\x1a\x85\x93\x05\x96\x87\xd9\x3c\x98\x05\xac\x2a\xac\x43\x26\xa2\x05\x12\x29\x16\x75\x5f\xf7\xaf\x5d\x7e\x04\x77\x01\x7a\x61\xbc\x84\x98\xe2\xde\xbd\xef\x1f\x54\x8c\x89\x43\x3e\x77\xa2\xb5\xb4\xc4\x53\x68\x07\x83\xfd\xf8\xb2\xed\x6c\xa7\x96\x4d\x87\xc4\x3d\xa5\xde\xb7\x58\x7b\xed\x09\x96\x69\x07\x33\xca\x83\x9f\xc4\xa4\x69\xd1\xd0\xd6\x04\x1a\xf2\x86\x7b\x14\xb4\x73\x33\x99\x31\x4e\x1e\x01\x28\xfb\x6f\xc1\xe9\x4b\xc1\xb5\x04\xf5\xda\xdc\x34\xa7\x16\x0d\xc3\xf0\x98\x34\x03\xb2\x62\xa0\x67\x95\x60\x7c\x52\x24\x1d\x66\x74\x1e\x76\x57\x6c\x5a\x57\x77\xdc\xee\x89\x2b\x06\xdb\x3e\x18\xcf\x9c\xb3\xf4\xd6\x51\x30\x07\x50\x5a\x23\xbc\x43\xf6\x0e\xf6\x78\x83\x5d\xa3\xbc\x26\xc8\x4a\xb0\xf8\xe8\x6c\x61\xce\x94\x47\x45\x93\xbb\x78\x07\xab\xd1\x89\x7e\x60\xcc\xfe\x0d\x73\x24\xe1\x65\x69\xc8\xdd\x8c\xfe\x47\x0b\xf0\x60\xd9\xb0\x5c\x5b\xb2\x1e\x9e\xa0\x4a\x45\x00\x02\x99\x53\x6d\xe2\xaa\x3e\x3d\x45\xff\x2e\xb8\xe6\xfa\x6c\x7f\x7a\xa1\xcd\xe7\xbc\x52\x07\x3d\x3a\xc8\xce\x59\x15\xcf\x8b\x80\xe8\x68\x0f\xf0\x48\x9b\x4d\xfb\xe4\x47\x70\x18\xa7\x21\xb7\x83\x41\x04\xdf\x46\x73\x43\x9a\xc5\x0c\x2e\x66\xf5\xed\x93\x83\xc6\x74\xd9\xc4\x35\xea\x38\xfd\x18\x68\xd5\x87\x55\xf9\x9c\x10\xd8\x4e\xbd\xa9\x3f\xfb\x0a\x79\x06\x63\x27\x40\x7e\x13\x14\x43\x9d\x7f\x69\x9c\x59\x53\x5d\xef\x8f\x55\x77\xa1\x9b\x2d\x4f\xb9\x37\x9f\xa0\xf1\x16\x4e\xf3\x59\xea\x70\x0b\x01\xe5\xeb\x66\xeb\x3d\x31\xd1\x6f\xe5\xcc\x73\x30\xe6\xfb\x16\x8e\xf1\x8f\x41\x65\x34\x5a\x58\x03\x1c\xca\x58\x2e\xd1\xbf\xc6\xcc\xbd\x56\x14\x78\x10\x5c\x3a\x9f\x77\xda\x0d\x53\x39\x86\x5f\xfe\x24\x62\xa2\x44\x26\xd0\x95\xa6\x3b\x85\xf7\xa5\x55\x46\xdc\xa0\x3f\x84\x6b\xfd\x89\x29\x3e\xdc\x4b\x27\x44\x61\x6b\xbf\x07\x05\xfe\x88\x5d\x2d\x0f\xa1\x49\xd4\xac\xda\x1c\xa3\x49\xce\x73\x4d\x85\xfe\xf8\x9a\xbd\xfc\xc3\x09\x86\x7b\x13\x6b\xed\x74\x68\xa2\x19\x7d\xef\xe5\x99\xff\x91\x5b\xf7\xd2\x7f\x29\xb5\x7a\x70\x77\x73\x36\xb4\x8d\xbd\xc2\xba\x8d\x85\x62\x3f\x89\xec\x95\xdf\x41\xa1\xc8\xc4\xb1\xf0\x8c\x09\x85\xbe\x2b\x4d\x13\x03\x1c\xbe\xa0\xbb\xd6\xa4\x39\xb6\x87\x4e\x14\xe7\x5f\x8c\x3a\x22\xfe\x34\x5f\x1e\x8e\x22\xe0\xff\xfd\xd5\x19\xf9\xd7\x52\x9a\x95\x8f\xa5\xfb\x44\xdc\x02\xb5\x35\xd7\x85\x05\x88\x9b\x9d\x65\xd5\x72\xba\x44\xd4\x4d\x00\xf1\x88\xd9\x48\xeb\xf7\x63\xb8\x2c\x14\xcf\x7a\xc4\xe2\x79\xbf\x56\x7f\x1d\xcf\x62\x14\x16\xa1\x38\x7b\xe9\xf3\xde\x66\x37\x43\xcd\xcd\x69\x43\x18\xd9\xe5\x1b\x9d\x2b\x44\x66\xf4\xdd\xe9\x8d\x97\x87\x6f\x94\x25\x00\xc7\xa2\xc0\xf1\x6c\xde\x19\x26\xf7\x6a\x0e\x93\xd1\x06\xdd\xa6\xfc\x55\x7a\x5a\x30\x62\x6a\x74\x3f\xe8\x6c\xf5\x8d\x8d\xa1\x72\xae\x14\xde\x56\x23\x10\x66\x9f\x4e\x4a\x6f\xc1\xa6\xc2\xbd\x28\x33\xda\x82\xd5\xb0\x11\x8b\xbf\x11\xf3\xb0\x11\x9b\x1f\x18\x63\x91\xc8\x29\x99\x2e\x1c\xed\x22\x20\x0a\x15\x9b\x62\x10\x63\xed\x8b\x89\x0f\x00\xef\x90\x96\x93\xc0\xe5\xd5\xdb\xb3\x68\x37\xe1\x4a\x48\xe2\x93\x18\xf5\xaf\x92\x24\xc2\x1e\x83\x4d\x61\x53\xae\x72\x1b\xa9\x6b\xb6\xb7\x79\xd8\x3d\x9e\x0e\xfc\x3c\x56\xe2\x4c\xc2\x1f\xf2\x93\xf1\x9a\x7a\x27\x9a\x8f\xe7\xf8\x47\x05\x31\xbe\x61\x36\x30\x1d\xdc\x95\x31\xdd\x58\x44\x09\x08\x1c\x85\x8c\x0a\xa5\xf5\x5f\x88\x4a\x9e\x3e\x89\x64\x8a\xf4\x6b\xed\xa5\xb1\xda\x15\xce\xbb\xaf\x68\x83\x1e\x85\x60\x56\x18\x4f\xb6\xcb\x27\xd5\x3b\x83\x96\x77\xca\xd3\xf4\x7b\x0c\x79\x5e\x43\xf9\x4d\x18\xd6\xe0\x0f\x82\x26\xfc\x4b\xb5\xa7\x93\x29\xd4\xd6\xee\x57\xd1\x80\x2d\x99\xdb\xbe\x06\x55\x34\x64\xe8\xc3\xb9\xdf\xad\xcd\x61\x19\x97\x1d\x4b\x96\x2c\xd5\x8d\xe8\xef\xa5\x10\x3c\x1c\xa7\x05\x65\x48\x76\x99\x27\x30\x67\x3d\x8e\x58\xc8\x3b\x79\x6a\x07\x74\x04\xbe\x4a\x4a\xdf\x18\xcc\x3b\x39\x9d\xc4\xaf\xdb\xa8\x63\xa7\x7f\xc8\x47\xe6\x94\x51\x77\x32\x2c\x44\x08\x4e\x94\x65\x7c\x66\x17\xe9\x4b\x86\x2a\x48\x90\x73\xe0\x8f\x3c\x19\xfc\x11\x0d\x18\x9b\x25\x38\x83\xa5\x01\x11\xa8\xa4\xfb\x51\x32\x14\x73\xe0\x4f\x87\x94\xed\xa8\xe9\x92\x61\x2b\x8d\x9d\x15\x0a\x58\x8b\x9b\x81\x8f\x35\xe1\x3c\x1c\xc7\xaa\x16\x7e\x33\x16\xec\xf2\xaf\x7f\x67\x7a\xb8\x17\x5f\x9f\xb2\xe2\xa0\x32\x42\xef\x75\xfd\xd7\x89\x14\x8a\x73\xf2\x9f\xe8\xcd\xbc\xb8\x04\x6f\x26\xa8\x16\x12\x00\xc9\x68\x50\xe0\x31\x6e\x9b\x69\x8e\x05\xb8\xad\xba\xfb\xfe\xcb\x0f\x60\x46\x9c\x1f\xcb\x2f\xfa\xb2\xbc\xe5\xf4\x6a\x72\xf4\xe8\xad\x5a\x5e\xd1\xba\x84\x72\xe4\x4e\xdf\x96\xf4\xdb\xc4\xf4\xc2\xed\x76\xc8\xac\x10\xcc\x04\x99\xd3\x89\x30\x6c\xf9\x7a\x1c\x4b\x2b\x2f\xfb\x12\x18\xef\xce\xf7\xfe\x1b\x4f\x33\x9b\x5f\x95\x52\x16\x17\x17\x96\x0c\x6f\x4b\x5b\x33\xa7\xae\xe6\x17\x2a\x9f\x50\x8f\x4a\xe0\xd8\x99\x53\xce\x8e\x8d\x79\x2a\xeb\x56\x0e\xb0\x53\xc5\xdc\x81\x87\x73\x79\x32\xc6\x7a\x55\xca\x6d\xf9\xf7\x82\x10\x29\xe4\x79\x1f\x36\x03\x25\x5a\x01\x30\xa6\x4c\x76\x46\xa3\xcb\x83\x9a\x50\x8c\x58\x75\x95\x72\x1b\x60\x2e\x4d\x1e\x7b\xf5\x57\x83\xf0\x13\x12\x2d\x14\xd6\x64\x43\x2c\xe3\xfb\xb7\x6d\xa1\x38\xd8\xa8\x80\x3f\xde\xcb\xb8\xbf\xf8\xfd\x07\xfc\xb8\x86\x6a\x35\x8a\x11\xab\xef\x19\x00\x0e\xf8\x08\xfc\x7f\xac\xc1\x38\x74\xe9\x4b\x6f\x0f\xd4\x9a\x14\x5b\x08\x2b\x13\xac\x5c\x28\x45\xd1\x59\x05\xe2\x96\xba\x5b\x33\xf2\xd1\x7f\xf9\x68\xe3\x53\xf3\x2b\xac\xf6\xc2\x42\xa8\xbe\xe5\x27\x41\x1c\xdd\x99\xbe\x1c\xca\x6c\x46\xd4\x37\xb4\x24\xee\xe3\x72\xc9\xc4\x96\x4e\xe4\x28\x68\x4c\x1d\xa4\x34\x7f\x4c\xd2\xa3\xc3\x8a\x17\x5c\x9a\x54\xe6\x48\xae\xb8\x4a\x3d\x86\x04\x4b\x40\x09\xa4\x06\x6b\x95\x47\x6e\xe2\x34\x5e\x66\x6e\x98\x20\xb3\xa7\x7a\x9c\xdc\x7e\x58\x35\x5c\x78\xb3\x8e\xaa\xfe\xe4\x79\x7c\xbe\x5f\xa1\x85\x8b\x8d\x6e\xc0\x43\xbe\x1c\x8e\xc4\x1d\xc2\x3a\x4f\x75\xba\xec\x44\x5e\x40\xe9\x4f\xde\x8e\xd7\x25\x1e\xc4\x69\x50\x3e\x29\xb1\xa9\xc1\xf5\x78\xf4\x2c\x4e\xb2\x1b\x07\xae\x59\x2e\x9c\xcd\x69\x5a\x20\x3e\x47\x8e\x7c\x5e\x77\x9f\xc3\x11\x90\xb0\x69\x9e\xd7\xe2\xae\x2e\xb0\x99\x8f\xf7\x05\x0c\x2b\xad\x17\xda\xb4\xf4\xf3\x27\x18\x95\xdf\x74\xea\xd5\x68\xa6\x1d\xe6\x79\x77\x99\x17\x6b\xf3\x78\x1a\x9c\xc9\x92\x5b\xbe\xdc\x15\x16\xe3\x89\x75\x68\xe6\x28\x04\xa6\x87\x15\x9e\x2c\xea\x61\x8a\x9c\x10\x86\xfa\x9e\x5f\x3d\x55\x44\x76\x6d\x5b\xee\x46\x93\x7a\x51\x74\xd5\xdc\xed\x2f\x9d\xb7\x8a\xc9\x15\x83\xa4\x96\x2a\x06\x97\xb3\x20\xe3\x73\xc1\xb8\x77\x9f\xe6\xfe\x83\xac\x7d\xff\x63\x54\x1c\x6c\xe6\xc1\xac\x4c\x90\x33\xd1\x2a\x4d\x97\xc3\x1c\xb5\x24\xbc\x26\x46\x06\x02\x3a\xa2\x01\xdb\x91\x65\x70\x96\x54\x9c\xc9\x7c\x20\x91\x5c\x73\x96\x1e\xa5\x18\xa7\x63\xe8\x8e\x4c\xfb\xc2\x9c\x95\x05\x8e\x87\x21\x4f\x74\x5c\x84\xc4\x1f\x05\x30\x37\x96\xc5\xb1\xbf\x2c\xf0\x13\x55\xa2\xf0\xe6\x67\x29\x98\x0b\x1b\x8c\xf5\xe9\x78\xbc\x3f\x5d\xa7\x7e\x05\x28\x23\x51\x4e\xbf\xca\xcf\x5e\x9e\x62\xab\xd3\xa4\xf2\x66\x13\xfd\x4d\xf4\xe6\x6b\x9f\xad\x39\xa1\x29\x3a\x7a\x1a\x78\x6a\x18\x77\xa5\xbe\x60\x1e\x7f\x55\xe9\xce\xaf\x2b\x08\x72\x04\x1b\xe9\x1e\xc8\xab\x9d\x45\x32\xc7\xd5\xfc\xe6\xac\xd0\x0f\x9f\xc7\xa9\xd7\xda\x58\x73\xde\x57\x33\xde\x51\x67\x6d\xcd\x2d\x84\x89\x5b\x3d\xa4\x69\x6a\x6c\xb9\xa4\xbd\xef\xac\x18\x31\x97\x6a\xd0\x7a\xd8\x9f\xc8\x30\x7e\xe3\x69\xee\x3f\x8d\x41\x9f\x79\xf7\x68\xac\x93\x5a\x15\x6a\x26\x7f\x14\x37\xda\x32\xb0\x74\xda\x2a\x67\xe7\xe9\xcf\x13\x33\x7b\xda\x9d\x84\x6d\x36\x29\x95\x1b\xfb\xc8\x32\xb1\x0b\xa6\x31\xe2\x89\xe4\x98\x52\xbf\x7f\x1d\xf8\xb7\x44\x58\x43\xf9\x36\xd3\x04\x08\x71\x4c\xe6\x23\xe2\x16\x7c\x52\x56\xe4\x97\x84\x71\x91\x7a\xca\x52\x89\xe4\x88\x30\xc0\x55\x01\x8a\xeb\x28\xfc\xe2\x96\x6b\xb7\xcc\x31\x40\x22\x5b\xd6\x54\xc8\x10\x0f\x45\x84\x0c\x2b\x95\x4b\x47\x24\x84\xc7\xc7\xe7\x3c\xad\x0b\x8f\x29\x07\xe9\x9d\xc0\x63\x74\xb8\x65\x7c\xbb\xad\x84\xf4\x6e\xff\x44\xcd\xca\x52\xe9\x19\xe5\x7b\x9f\x48\x52\x65\xd5\x89\x2e\xec\x3f\xdc\x6c\x0e\x3c\x38\x1d\x03\xec\x15\x42\x7a\x1b\x1b\x8a\x56\x87\xcf\x59\xe3\x6c\x84\x39\x5c\x25\x3f\xc5\xd4\xd8\x4b\x8b\x58\xf5\xe4\x43\xa2\xc0\x10\xf7\x49\xb0\x8e\x8e\xaf\x97\xf4\x99\x80\xa9\x4c\x41\x57\x8f\x32\x81\x1a\xa2\x3f\x07\xa9\xd1\x94\x40\xc8\xd1\x22\xd4\xd7\xde\x42\xc9\x60\x4a\xde\x65\xfb\x97\xb2\xe5\xc4\xe6\xb8\x27\xfd\xa5\xfe\x04\x61\x24\x97\x8d\xdd\xca\x78\x74\xb3\xff\x5b\xf0\x8b\xca\xb7\xee\x96\x2f\xc5\xf8\x8d\x32\x1b\x86\x90\xff\x8d\xb0\xcf\x5e\xf9\xd8\x57\xd5\xad\xf7\x96\xcf\xd1\x42\xe0\x36\xcf\xbc\x89\x49\x8d\x3f\x5d\x0d\x73\x92\x47\x0a\x39\x1b\xb3\x03\x3b\x62\xfe\x7e\x42\x1e\x96\x06\x0f\xb6\x0f\xca\x1c\x61\x0a\xec\xa7\x19\x9c\x65\x8f\x72\xb5\xf4\x25\x14\x6f\xe9\x1a\x06\xe2\x2a\x03\x36\x76\x92\x60\xf1\xd1\x0d\x55\xa0\xb3\x64\x2a\xb1\x61\x10\xe6\x8f\xa4\x07\x85\x5c\xe7\xd4\xc8\x17\xfc\xc5\xdf\x79\x1e\x69\x46\x5a\x6e\x55\x2f\x0a\xcd\x28\x4e\x6e\x24\x0b\x2e\xcd\x94\x72\xc1\x9c\xb2\xd5\x1a\x45\x4b\xa0\x8d\x50\x30\xfd\x6c\x5b\x33\xa6\xf9\x76\x7d\xb3\xf2\x73\x6f\xf8\x56\x36\xb9\x26\x32\x06\x96\x59\x7e\x02\xab\xea\x08\x6d\xa3\xe2\x67\x0b\xa2\xc4\xe5\x99\xec\x90\x27\xb6\x2d\x9a\xa8\x97\xf2\x2f\x9b\x78\x5d\x2f\x85\x14\xb5\xb1\x25\xbe\xf3\x5b\x95\xc0\x87\x4b\xe4\x26\x4f\xe9\x8d\xd9\xc4\x13\x29\x1d\x78\x01\x0a\x20\x27\x1b\x01\xf9\x89\x88\x26\x9c\x19\x47\x5e\x72\x55\x35\xc1\xba\x24\x75\xeb\xbf\x39\x3e\x7f\xd7\xaa\x20\x77\xb5\x95\x2f\xcc\x1c\x1a\x7c\xc4\xa6\x1c\x55\xff\x0b\xbc\x41\xc3\x23\xea\x8b\x2f\xc4\x32\xf5\xee\xf7\x56\xf9\xe6\x41\xa4\xa0\x29\xa2\xf4\x92\x4c\xe6\x12\x84\xe4\x7b\x9d\xab\x4d\xf8\xbe\xb4\xd1\xf3\x68\xb2\x4c\x14\x64\x28\xe2\x5f\x8d\x05\x7a\xd0\x59\xe3\x09\x10\xc9\x8a\x7d\x6f\x99\x67\xc7\x83\x86\xc2\xfc\x93\x4c\x07\x9b\xcd\x62\xa9\x5f\xac\xa6\x4f\x97\xf1\xd2\x6c\xde\xd4\xff\x72\xad\xae\x22\x9b\x9f\xb5\xa6\x89\x33\x03\xfc\xdf\x9f\x3b\xa8\x93\x7e\x2d\xbc\xf7\x37\xd8\x71\x7e\x97\x1e\x85\x62\x7e\x6d\x5e\xb4\x09\xb2\xc8\x3c\x78\x24\x0a\x14\xaf\x5d\xed\xb0\xb1\x4a\x17\x1e\xd1\xaf\xed\x65\x2c\x32\x95\x5a\xd2\x32\x46\x3d\x86\xcf\xeb\x5c\x15\xf3\xad\x89\xf1\xc7\xde\xb5\x4f\xf2\x8b\x8f\x38\xb9\x27\x0d\x11\x9e\xd4\xc1\x27\x81\x6b\x40\xb1\x98\x1b\xdb\xa9\x39\x21\xe7\x2e\xbd\x0a\x40\x1f\x9a\xd1\x72\x2c\xf2\x78\x72\x8e\x75\x07\x0e\x23\x8f\xb6\x8e\xb4\xb8\x82\x23\x6a\xa4\x5d\xcb\xa9\x63\x15\xe1\x88\x4c\xf2\x60\xc1\x25\xa0\xa2\x83\x14\x7c\x6b\x1c\x52\x55\x86\x3b\x91\x44\x33\x80\xdd\x1d\x35\xc5\xd5\x6a\x89\xb2\x4f\x24\x2d\x08\xf2\x51\x06\xfe\xec\x93\x77\xc4\xb1\x41\xc4\x58\x19\x4d\x9a\x1f\xc4\xf7\xad\x02\x9c\xba\xf7\x3b\x19\xee\xaf\x51\x8e\x79\xef\x6d\x0e\xf9\x70\xff\x92\x03\x1c\x4f\x26\xb4\x11\xf9\xd1\x80\xd9\xdd\xd8\x8c\x1a\xf4\xcc\x43\x45\xab\x9c\x32\x77\x62\xf3\x6c\x23\x04\xff\x90\x25\xae\x24\x0b\xc4\xb3\xff\xe9\x1f\x71\x2d\x9c\x24\x08\x65\x79\xf7\xed\x32\x5f\x6e\xc1\xc5\x82\x41\xbe\xb3\x45\xdd\xf5\xfa\xf0\x8d\x0b\x3f\x7e\xdd\x31\x27\x7f\xa9\x9c\x60\xc9\xf1\x69\xba\x68\xe8\xfa\x7b\xaf\xe4\xef\xe7\xdb\xcb\x12\x4d\x04\x9e\xc3\x76\x74\xf9\xd2\x4d\xaa\x0d\x7c\xfc\x2e\xc8\xfc\x4c\xbe\x07\x3e\xc0\x2a\x7d\xc3\xdf\x8f\x89\xeb\x53\xa9\x63\x66\xbc\x2c\x52\x58\x9d\x98\x72\xf0\x9e\xe8\x79\xf4\x8f\x53\x1a\xb8\xba\x80\x26\x56\x82\xe7\x05\x84\x98\x73\x31\x89\x44\xe3\x13\xd5\x55\xe9\xad\x71\xbb\x5d\xbd\x20\xd1\xe2\xd7\x0c\xf8\x76\x3f\xa8\xff\x2e\x0c\xee\x03\xae\x2c\xed\x94\xff\x54\x7c\xc7\xc0\xf2\xf6\xa7\xcc\x86\x58\xe8\x8c\x76\xc6\x6e\x2a\xd4\xe9\x74\x5d\xf6\x21\xe9\x8e\xf8\xaa\xbb\xeb\xbd\xf6\x97\x2a\xc4\xbe\x57\xbc\x6b\x92\xeb\xab\x47\xae\x2b\x20\x38\xcf\x39\x32\x7a\x92\x43\x58\x9f\x06\xc6\x53\x9f\x23\xd6\xaf\x2d\xbd\x5a\x50\x45\xd7\x8f\x28\x37\x20\x0b\x55\x95\x90\xc2\xa9\xa3\x2b\x24\xf1\x51\x87\xc8\xaf\x62\x86\xef\x76\x9e\x79\x8b\xe7\x16\x94\xf5\xf6\xbf\x1d\xa2\x67\x4d\x16\xbf\x2f\xea\x86\xb2\x87\x7c\x10\xd9\xfc\x45\x53\x5d\x2d\xa5\x74\x4c\x7a\x8a\xcb\x93\x1b\x14\x53\x14\xec\xf9\x97\x3b\xb2\x61\x20\xc6\x40\xfd\x50\xd6\x14\x6e\x80\x9e\x1f\x17\x8b\xde\x22\x92\x18\x4e\x99\x14\x4b\x1c\x6c\xe5\x30\x91\x44\x0a\xac\xec\xf5\x7f\x4f\x36\x92\xec\x77\x15\xb3\x63\xc3\xcf\x9f\x3e\x0d\x84\x95\x2f\x62\x80\x68\x26\x81\xb0\x08\x85\x0f\xb6\x76\x12\x3a\x51\x64\x1c\xf1\x16\x4c\xb1\x98\x2a\x54\x1c\x9d\xf8\x17\xeb\x72\x8b\xd5\x29\x81\x92\xca\x47\x19\x6e\xc1\xfb\x95\x81\x31\xcc\x05\x2a\xb2\xd7\x29\x94\xee\x14\xa4\x9a\xca\x25\xa7\x69\xa6\xc9\xba\x49\xec\x7c\x2c\x52\xc6\xac\x36\xff\x44\x8f\x60\x52\xaf\x69\xbc\x59\xc9\xd1\x22\x4f\x75\x65\x0c\x9b\xc3\xa8\xb8\xe8\x9f\xf4\x6d\x44\xbf\x16\x8b\xce\xe5\xe3\x8d\x92\x15\xda\x56\xed\xc4\x43\x15\x5b\xca\x80\xaa\xe0\x8b\x60\xb8\xb5\x23\x77\x22\xe8\xdf\x23\x26\x66\x07\xe4\x09\x7e\x21\xa6\x13\x3b\x2a\xa7\x03\xc5\x33\x00\x16\xd4\xb8\x33\xc7\x18\x9c\x56\x92\xa4\xd5\xa5\x9e\xb2\x26\x2b\xca\x0b\x59\x12\x78\x1a\x4d\x66\x5c\xc7\xfd\x5e\xad\x66\x4b\x34\x6a\x48\xd0\x2e\x2f\xbd\x7b\x09\xf5\x9b\x18\xc0\x03\xa9\x90\x2e\x36\xc2\xda\x97\x76\x3e\x8b\x6c\x41\xa8\x99\x96\x46\x13\xf2\xa8\x5c\xa8\x79\xe9\x97\x50\x77\x7c\x6c\xe6\x9e\x15\x88\x08\xe7\xa7\xb6\x59\x74\x5f\x2f\x68\x1e\x3a\x20\xe8\x07\x4a\x4d\xc6\x8e\x97\x37\xe7\xa1\x6e\x8b\xb4\x62\x45\x9f\x3d\xab\x05\xbe\x2f\x7d\x18\xcb\xa4\x61\x56\xf4\x12\x3e\x0d\x16\xf4\xc6\xb8\x95\x69\x7e\x51\x3b\xff\x82\x2f\xfb\xf9\x2e\x00\xa7\xf3\xd8\x19\x9d\x4f\x0d\x76\x30\xf7\x10\xe7\xcb\x1c\xdf\x9f\x87\x8f\xdb\x1e\x65\x22\x4d\x2e\x80\xcf\x7d\x9b\xe2\x1d\xd0\x0d\xbe\x68\x7e\xce\xae\xc4\x3f\xb1\x60\x4f\xf4\xfc\x55\x4a\x74\x62\xc6\x0e\x8c\xd9\x40\xf6\xb2\xdb\x34\x71\x24\xe3\x94\x16\x58\x50\xa0\xad\x19\x65\xaa\x4b\x51\x13\xc7\xf1\xa3\x14\x11\x71\x36\x85\x4a\xfb\x26\x5f\x62\xc8\x87\x25\x9d\x0a\x84\x34\xb4\x26\x65\xd4\xa1\x94\xd2\xad\x82\x13\xd2\x16\x2e\xcc\x1f\xb9\x0d\x37\x6f\x2f\x4d\x4f\xa3\xc9\x65\x48\x51\x56\x44\x5d\x32\x93\x93\xfc\x5b\x9c\x26\x1b\x85\x81\xd8\x73\x1a\xb6\x9d\xf9\xdb\xa2\x82\x1b\x6d\x0f\xfe\xd2\xbf\x71\x86\x24\x69\xe3\x97\x84\x92\x35\xa3\x02\x6a\x10\x21\x8b\xda\x47\x43\x4f\x65\xc6\x52\x2c\x76\x51\x25\x21\xab\x2e\xc4\xf7\xb9\x89\x11\xa0\x14\x33\x18\x7e\x9d\x98\x11\xbd\x70\x31\x76\x96\xf0\xf7\x2b\x6e\x98\x8f\xb0\x77\x76\xb9\x22\x05\x81\xff\xad\xe5\xef\xef\x39\x31\xa9\x3f\x94\xfd\x4d\x8d\xba\x0c\xa3\xca\x39\x50\x49\xa2\xe9\x63\x45\x1c\xf8\xc5\xf8\xbe\x55\x88\x7c\xf1\x89\x0a\xb8\x00\x8e\x8a\xaa\xe0\x5d\x4c\xeb\x49\x7a\xeb\xb7\xd7\x49\x44\xc7\xed\x4b\xa7\x81\x41\x7f\x7c\xc8\xc0\x23\xba\xc8\x7e\x3d\x57\x8d\x1e\xfd\xf8\xe0\x7a\xb7\xb1\xb3\x1f\xb7\x61\x62\xee\xe9\xda\xb4\x6c\xa6\x0e\x54\x5b\xa6\x70\xae\x6c\x33\x6a\x3c\x96\x7f\xd5\xc5\x9d\x74\x66\x6a\x29\xcc\x8e\x36\x79\x29\x27\xf2\xb4\xe3\x39\xb0\x1d\x97\x35\xc4\xdb\xa9\x7a\xec\x53\xb2\xae\x1c\xe3\x71\x27\xc2\x5a\x0b\xbf\x2a\x17\x61\x16\x28\x69\x4d\xce\x82\xb2\x81\x30\xd3\x8f\x12\x9b\x32\x90\x4b\x5e\xab\xb9\x2f\xa1\x4b\x2d\x37\x9b\xe7\x96\x01\xe9\x83\xbd\x56\x91\xac\x6f\x36\x6f\x2e\xf0\xdd\x00\x37\x74\x69\x06\xe9\xd2\x10\x19\xef\xaf\x84\xad\x4e\x86\xb5\xd9\xe4\x49\x67\xeb\x3c\xfa\x47\xe7\xc8\x83\x4a\xeb\x53\x23\xbe\x5a\x59\xb3\xca\x8a\x1a\x72\xcb\xd8\xc5\x66\x3a\xb3\xc0\xde\x0e\x92\x40\x74\x04\x9a\xfe\xa4\x12\xfb\xb6\x8f\xe2\x2d\xc7\x5c\x6f\x17\xfa\x2e\x3c\xdc\x5c\xe9\xf9\x4b\x8e\x29\x43\xaf\x23\x79\x5e\x06\xa6\x6f\xda\xbc\x1a\xe5\x53\xda\xac\x3c\x2d\x93\xf8\x05\x37\xbf\xb0\x73\x24\x79\x22\x2e\xea\xb4\x8a\x33\xef\xf9\x49\x67\xe9\x23\x97\x0e\x77\x0b\x4f\x21\x00\xde\x09\xdc\xb9\x66\xef\x06\x4c\xe5\xe4\x45\x85\xce\xd5\x66\x64\x51\xed\x5b\xdd\xbe\x95\xea\xce\xd7\x74\xa6\x10\xd2\x75\x23\xc1\xed\xaa\x46\x46\x87\x65\x06\x6e\x45\x5d\x4c\xdc\x35\xe7\x96\x4f\x95\xee\xf3\x2d\x4d\x26\x93\xee\xd7\x44\x2a\x61\x04\x6e\x01\xf0\xbd\x8c\x7d\x1d\xad\x0e\x85\xac\x5c\xcb\xe7\x52\x36\x15\x4b\x35\xcb\xb5\xd9\xeb\x81\x8b\x54\xa7\xc3\x44\xfc\xeb\xb9\x24\x9a\x6e\x20\xcb\xca\x97\x6d\x71\x4c\x53\xb8\x11\x3d\x23\xd3\x26\xf5\xcd\x3c\x44\xf8\xfc\x3d\x97\xaf\x99\xf7\xb2\x0e\xd5\x9b\xc5\x20\x6c\x9d\xf7\x5d\xc5\xb3\x25\xc5\x0d\x6f\x56\x28\x3e\xd0\x39\xd1\x6f\x89\xeb\x39\x64\x78\x9c\x6d\xab\x2c\xf4\x0f\x07\xc4\x6a\x3f\xef\x9c\x46\xce\x36\x59\xf4\x66\x62\xf6\x1e\xf9\x34\x21\x76\xda\x5f\x73\xea\x58\xd5\xcb\x9d\x4e\xe2\xc2\x37\x8f\xf0\xe3\x5f\xb4\x52\xb5\x0f\xf7\x5d\xbc\xa9\xb4\x39\xac\x96\xc6\x06\xbf\x43\xe5\x07\x13\xaa\x5b\xbd\xf5\x65\xa8\x8c\x9e\xae\x86\xe3\x88\xe9\x05\x46\xb3\x4b\x99\x8e\x05\x6c\x50\xab\xa4\xc8\x60\x3b\x7b\x46\x90\xb0\xc8\xd8\x01\xdc\x99\x70\xd1\x0a\xc0\x22\x37\x4e\x2e\x38\x90\x18\x49\x8a\xa2\xbd\x2b\x14\xc7\xd0\x9d\xb3\x79\xf0\xda\x8e\x6d\xce\x4f\x9c\x47\x00\x57\x38\x01\x65\xd7\xa9\xeb\xf6\x3d\x86\xef\x54\xaf\x63\x79\xa2\x95\xd3\xb5\x5a\x61\x70\x6f\xd9\xdc\x97\xec\x89\xcf\x23\x8d\x95\x40\xef\x7a\x6c\xe3\x8d\xb5\xa6\xeb\x01\x7b\xd9\xc4\x2d\xbb\x8d\x56\xeb\x55\xf7\xca\xcf\xbb\x1a\x0f\xe7\xf1\xcf\x04\x9d\x6c\xef\x4e\xbb\x53\xe9\xfb\x82\x79\xfe\xdf\xb2\x1b\xe2\x17\xee\x7c\xf3\x7c\xd7\x38\xcd\xaf\x07\x6e\xe9\x5a\x17\xf9\x02\xa6\x35\x8f\x9a\x88\x8b\xfd\x12\x07\x2c\x90\x43\xd3\x0c\x14\xcb\x0a\x43\x2b\x6e\x92\xa6\x6c\x91\x6b\xea\xa2\x3c\x03\xac\xa6\xe1\x7e\x8e\x05\xea\x62\x1e\x1f\x1c\x33\xa2\xc3\x63\x9c\x8f\xf4\xd0\x44\xae\x2c\x85\x02\x1c\xfe\x26\xfb\x85\x2e\x63\xcb\x3c\x86\x99\xbd\x6e\x92\x6e\x7e\xd7\x82\xa7\xf3\x8a\x4a\x0a\x1c\xbc\x92\xec\x16\x98\x97\xaf\x13\x87\xd2\x07\x94\x47\x6a\x26\xdd\x2e\x26\x6b\x3b\xe8\x1e\x3b\xeb\xb8\x55\x62\xb9\xed\x98\x2e\xae\x24\x57\x51\x53\x3c\xc5\xd6\xaf\x8d\xac\xc4\xd3\xf3\x5f\xb5\xbe\x35\x27\xf3\xbe\x39\x9f\x5f\x9e\x1e\xf7\xbf\xcc\xfe\xaa\x60\xe8\x32\xcf\x4f\xff\xc4\xdd\xde\x05\x9c\x1d\x45\x5a\x33\xe7\xad\xf6\x50\xf5\x6e\x6a\xae\xe8\xbe\xd0\x37\xac\x31\x34\xa6\x1b\x85\x46\x21\x58\x5c\x6c\xdd\x0c\xcd\x89\xa1\xbd\x4c\x95\xcd\xd0\x7f\x0e\xd0\x78\xe2\x11\x76\x7d\x26\x5f\xb0\x9b\xf6\x7a\x95\xb3\xb9\xb2\xad\xe6\xf2\x19\xdd\xa2\x17\x21\xb3\xa6\x7c\x73\x7b\xca\x11\x8f\xd1\x25\x17\xf3\xa0\x74\x5f\xee\xd2\x5c\x5b\xe8\xab\x31\xfd\xda\x61\xca\x88\xec\x4c\x48\xb7\xcb\x0f\xeb\x2e\xfc\x46\x57\xdb\xd1\x8f\x0d\x82\x36\xbd\xc9\x9a\x73\x07\x67\x23\x5f\x13\x24\x34\x43\x7a\xcf\x97\x60\xc2\x25\x8b\xcc\xf8\x93\x36\x7d\x18\xac\xd4\x9e\x93\x93\xf1\xfe\x8e\x4b\xdd\xa3\x89\x85\x88\x35\x53\x14\x3d\x20\x5a\xf1\x02\xb5\xd1\x8a\x31\x4e\x66\xe3\xaa\x1c\x8b\x7d\xd2\x09\xa3\x50\xef\x5b\x81\x3c\xd4\x42\xc4\x3b\xbf\x49\x00\x92\xd2\xc5\xc8\x48\xb4\xe1\x6b\x24\x5f\x77\x42\x8a\x26\x57\x55\xf0\x7e\x63\x41\x44\x96\x06\xf5\x88\x69\xb5\x44\x48\xc8\x66\x60\x04\x68\x0d\xeb\x8d\x0e\x9b\xd0\x84\x66\x3b\xa6\x65\xfb\x1c\xd3\xf3\xd5\xc1\x16\x3f\xfe\x88\x45\x37\x19\x4f\x01\x41\x41\x61\xc6\x55\x85\xdb\x69\xd1\x84\x7c\x5c\xe5\xf0\xd2\x6a\x48\x97\x49\x3d\x53\x80\x45\x39\x9c\x5b\xb3\x1a\xc9\x52\x77\xb3\xa8\xfb\x2b\x25\xd7\xc0\xbc\x8e\x3f\xbc\xd6\x30\x4b\x46\x75\xfa\xb6\xf9\x84\x77\x42\x25\xe9\x20\x36\xd2\xa5\x50\xdc\x3b\xd5\x45\x75\x3d\x8a\x71\xc6\x64\xb8\x4f\x5c\x18\x44\x30\x79\xa8\x53\x37\x90\xe2\xc7\x1d\x0a\x7a\x8e\x8c\xcb\xaf\xce\x5a\x8b\x18\xe3\x7c\x40\x74\x0c\x9c\xa3\xd8\x33\x0b\x3b\x56\x85\x12\x53\x36\xff\x2d\xc3\x89\x57\x3f\x0f\x4a\x12\x4f\xb9\x92\xcb\x33\xcc\xb2\xea\x58\xe9\xd9\xd8\x5d\x19\xff\x1c\x80\x5c\xbd\xcd\x9f\x62\x3c\x69\xa2\xa0\x87\x3d\x21\xe6\x7e\x85\x90\xcf\xe1\x07\x2a\x7d\x9e\x8c\x4b\x88\xfd\x4d\x2c\x25\xc8\x7c\x48\x13\x70\x92\x63\x02\x29\x07\xee\x86\x38\x7b\x11\x0c\x72\xb5\xa6\x5b\x64\xa8\xc7\x0b\x27\xc4\x3f\x6c\xd4\x46\xa7\x5c\x2a\x67\x71\x4c\x33\x84\x2e\xe9\xba\xaa\x0d\x1d\x96\x61\xf2\x27\x03\xb8\x78\x1f\x9e\x57\x22\xe9\x87\x77\x34\xf6\x1b\x0f\xa2\x2e\x88\x2e\x19\x15\x51\x3a\xad\x56\x93\xb6\x74\x24\xd6\x05\xe8\xbc\x42\x8e\xea\x8d\x16\x92\xe6\x71\x41\x25\xb0\x58\xe9\xee\x91\x8b\xff\x6f\xa7\x85\x78\x8d\xf0\x46\xa6\x45\xcd\x15\x3d\x51\x9e\xee\x34\xa1\x83\x50\xc6\x21\xc4\x32\x7b\x65\xed\x14\x81\x65\x85\x45\xfa\x4a\xc3\x65\x3c\xc6\x5c\x03\xc7\x10\x54\xaa\xfd\xb5\x43\x85\x41\x76\x6a\xca\xa2\x4c\x9f\x36\x44\x3f\x32\x37\x05\xf4\x02\x8e\x88\x58\x9d\xe7\x69\x5a\x7b\x4e\xaa\x67\x62\xbf\x9c\xa0\xe0\x9d\xae\xa1\x3b\x29\xaf\xa5\xb1\xb4\xdd\x53\xe9\x26\x02\x1f\x2e\x85\x3c\x80\xf6\xa1\x0c\x99\xee\x6d\xec\x0b\xce\x2a\x14\x9d\x15\x22\x08\x5c\x35\x89\xb2\x8f\xa0\x44\x58\x49\x52\x23\x3f\x34\x2f\x2e\xff\x18\xa5\x03\x45\xa5\x28\xb1\x0d\x69\x89\xe6\x9b\xad\xf0\x46\xe5\x69\xb1\x88\xea\xd9\x22\x07\x7a\xcc\x4f\xe6\x9f\x85\x33\xab\x9b\x65\xb4\x5c\x97\xdb\x4d\x68\xd9\x8f\xa5\xaf\x50\x6c\xa2\xc9\x53\xe3\x79\x2d\x5f\xed\xc7\x49\x39\x26\xbe\x0b\x37\xb2\xed\x41\xf5\x50\x80\x33\x95\x9c\xe6\x43\xd5\xea\xb0\x38\x8f\xd3\xc7\x87\xee\xbf\x8f\xb7\x39\x16\xdf\x00\xf3\xfb\x8e\x2c\x78\x1a\xea\x6c\xa3\xba\x9f\xc5\x04\x37\x76\xaa\x5c\x2b\xac\xc3\x63\x5f\x39\xde\x02\xa0\x62\xac\x97\xdc\xc2\xa6\xd9\x99\xd6\xe2\xe6\x6a\x57\x59\xa3\xc8\x83\x22\x98\x30\xb5\xe1\x6f\x45\xc2\xbf\x13\xa1\x0f\xed\x37\x95\xb5\x5d\xaf\xc4\xe7\x5f\x3d\x23\x06\xd2\xcf\x34\x36\x39\xae\x4a\x82\x61\xf7\xa1\xb5\x78\x12\x1a\xe9\xd5\x63\x84\x3a\xfd\xed\x43\x85\x5e\x7e\xf7\x0e\x24\x8a\xc5\xc6\xf1\xf3\xf8\x4b\x02\x23\xb8\x7c\x91\xbf\x3e\xdf\x1b\xc9\xae\xaf\x1b\x1d\x24\x47\x6e\xc6\x1c\xf2\x35\x64\x93\x5f\x07\x85\xf6\x15\xee\x6d\xc2\xff\x7a\x2d\x5f\x65\xbb\xc5\xdd\x85\xce\xec\x43\x1e\xe8\x0a\xe2\x34\x55\xa1\xa3\x53\x5b\x46\x9d\x99\xaa\xe7\xe3\xda\x24\x05\x32\x73\x09\x36\x57\xb1\xfc\x52\x9b\x2e\x42\x73\xce\x57\xc8\xa8\xcd\xd8\xf6\x8d\xdb\x7a\x4f\xa5\xdf\x57\x5c\x97\xc9\x12\xad\x66\x1a\x24\x18\x42\x2a\xe2\xeb\xae\x44\xe3\xa8\x10\x2b\x65\x96\xe4\x81\xd4\x18\x88\x68\x70\x28\x8d\x6a\x50\x1d\x4e\x1d\x55\xcf\xf4\x91\x1f\xe0\xac\xcc\x70\x6d\xe1\x5e\xe2\x41\xa0\x39\x34\xc7\x5e\x6a\xa7\x39\xf2\x63\x05\xfe\x12\xee\x3c\x15\x0e\x34\x43\xb6\xa3\xe5\x9e\x68\xdf\xb2\x00\x5e\x17\x0f\x98\x8c\x74\x81\xf0\x1e\x36\x57\x72\xc6\x42\xd5\xff\x4e\x62\x3e\x7a\x1a\x89\xa7\x3d\xe7\x87\xf8\xa1\xa4\x30\xe3\x5a\xbc\x5a\x1c\x89\x24\xb7\xee\xc7\xda\x51\xb6\x94\x47\x3d\xc5\xb7\x5f\xe3\x20\x1c\x7c\x28\x6b\xaa\x5f\x26\xda\x1e\x2c\xa2\x4f\x3b\x42\xbc\x27\x79\x7e\x57\x98\xf5\x7c\xe7\x6d\x4c\xc5\x2b\x79\xe0\x85\x67\x29\x99\x56\x8d\xee\x7d\x24\x89\x9e\xb3\xae\x6c\x48\x73\x83\xb9\xd3\xbd\xa7\x92\x30\xb9\x12\xfa\x20\x71\x4f\x7e\x10\x1d\x03\xca\x06\x56\x27\x47\x34\x7c\x44\x21\x38\x27\x82\x27\x80\xb4\xae\x29\x9c\x28\x16\xcd\xe3\xcb\x2b\xec\x4c\xbb\x3f\x7f\x29\x20\x1c\x38\x1f\x3e\x57\x71\x65\x6b\x37\x9b\xce\x50\x83\xcb\xf1\xb4\x59\x20\xe1\xd0\x32\xfe\x1d\x5f\x30\xd5\x93\x7b\x93\xd5\xd2\x80\x3c\x1a\xd3\x2a\x14\xbd\xb2\x3c\x71\x90\xd8\xca\x96\x24\x53\x90\x81\x21\x25\x13\x4b\x65\xa0\xab\x54\xd2\x35\xf3\xa8\x7a\x71\xea\xe1\x53\x09\xc5\xf4\x8b\x9c\x59\x2e\x5d\x34\x1c\x7c\x5b\xa2\xe8\x58\xf4\xc5\x94\xaf\xdf\x07\x7c\x9a\x2c\x05\x2f\x56\x87\xa7\xf7\xac\x77\x20\xaf\x23\xd9\x2e\xf2\xb9\x9d\xd1\x3a\x57\x8e\x6d\xbc\x45\x8c\xc8\xeb\x20\x86\x3e\x10\x27\x56\xef\x61\x23\x47\x77\x4f\xe0\xb7\xb7\x0d\xbb\xff\x33\x32\xac\x31\xa7\xa9\x51\x7f\xd3\xa5\x38\xf3\xa8\x6e\x0b\x3e\x6a\xbf\x2f\xae\x64\xf3\xa1\xa4\xb1\x27\xad\x5d\x52\xe9\xe0\x26\xf0\x54\xe2\x79\xd7\x71\xdb\x04\x15\xb3\xf1\x1e\xdd\xbc\xc7\xb4\x75\x8e\x74\xf9\xe7\x44\xf6\x45\xce\xac\xd7\x46\xcf\x65\x2a\xd0\x59\x12\x8c\xd1\x44\x71\x49\x46\x08\xec\x87\xee\x93\xdb\xfd\xee\x07\x61\xb4\x20\xa8\xe0\x17\x39\x72\x0d\xf1\xdf\xe7\xca\x0e\xc4\xbf\x41\x9f\xed\x82\x88\xb1\x30\xca\x2e\xa9\xb4\x0f\x32\x9d\x9b\x30\x5e\x3b\x4b\x86\xe4\x51\x16\x12\xe4\xf5\xb3\x99\x4f\x45\x85\x08\x5a\x14\xb2\x27\xe8\xa3\x39\x8b\xbc\x3f\xf3\x33\x0a\x2f\x99\x59\x47\x6f\x6f\xa1\x5a\xa8\x28\x91\xbe\xd1\x68\xbe\x24\xdf\x6b\xd9\x01\xd6\xaa\xaf\x25\x74\x18\xb8\x44\x6f\x5c\x3a\x5a\xa7\xb5\x3c\x81\xe4\xbe\xf4\xfb\xae\x7f\x6e\x7d\x59\x52\x80\x58\x6f\xba\x59\x7d\x30\x26\x5a\x12\xbf\x5d\x8d\x8e\x25\xaa\xbc\xaf\x6a\x0d\x6f\x7a\x2e\x34\xe0\xaa\xaf\x7b\xa8\x77\x5d\x75\xd0\x2b\x07\x7f\xb4\xa8\x3b\x79\xcd\x10\x37\x05\x54\xe5\xb4\x7f\xd5\x1b\x4a\xe1\xbd\x87\x43\xc7\x1e\x72\xb1\x9d\xd3\xb3\x48\x3f\x29\x45\xa4\x7a\x3c\x0b\x93\x0b\xb7\x46\x48\x4b\xea\x7b\x3d\xc7\xd1\x28\x34\x34\xc5\xef\x86\x9a\x7d\xa7\xea\x56\x7a\x97\x1a\xaf\x03\x73\x2e\x6e\x3c\x8e\x75\x7f\x9a\x6f\x09\x10\x0c\x88\x61\xe4\x39\x74\x3e\x4b\xa1\x36\xd6\x67\x63\x9f\x02\xa1\xf8\x7e\x4a\x07\xb0\x9a\x3b\x58\x50\x0d\x87\xc8\x11\x87\x2b\xcb\x42\xd4\x99\x57\xb4\x8b\x1e\xa9\xeb\x9e\x9d\x24\xd6\xa9\xd3\x60\x1d\xd8\xc8\x7e\xaf\x6f\x82\x9c\x93\x0b\x00\xd0\xca\x15\x83\x75\x98\xbb\x20\x9b\x48\x31\xee\xed\x9a\x86\x69\x7d\xf5\x99\xc4\x06\x43\xcb\xbc\xe5\xf8\xd4\x58\x2e\xd9\x3f\xd9\x96\xc2\x02\x6d\x10\x7d\xd9\x35\xdb\xd4\xa7\x9e\x8a\x65\xed\xcb\x7b\x7a\x92\xa0\xe5\x3e\x8d\x7b\x0d\x9d\x19\x78\x27\x0d\xad\xb9\xc8\x53\x58\x3e\xaf\xf0\x2a\x84\xb6\x6c\x17\xa6\x78\xa6\x7c\xbf\x43\xbc\xdb\x37\xcd\x53\x04\xf2\xe4\xd8\x4e\x1a\x87\x02\xa3\x64\xb3\xd5\x93\x7c\x0b\x16\xa6\xc6\xac\xd7\x21\xb8\xfa\xa7\x1a\x4c\x98\x63\x24\x73\x88\xc1\x64\x12\x87\xa4\xb8\x06\x44\x2c\xe3\xd2\x13\xb8\x8c\xe9\xe4\x1a\x32\xa1\xd8\x27\x11\xa2\xe1\xd8\xb0\x76\x0e\xb9\x2d\x2f\xdf\xcd\xbc\xd1\x70\xdc\x26\xff\xd6\xfe\x39\x66\xd0\x7a\x1e\xb8\x33\xd5\xf1\x85\x18\x86\xca\x75\xf7\x66\xef\xf0\xf2\x63\x59\x81\x5a\x5e\x9d\x86\xb4\xef\x4f\x88\xa4\x48\xc4\x82\x64\xb7\xd5\x99\x5d\xfd\x6d\x4b\xdf\xa3\x02\xec\x21\x07\x84\x82\x19\xc5\xb0\x02\x1f\x0e\x4a\x5d\x7a\xbf\xa7\x7e\x47\xf4\xde\xbf\x33\x8f\xea\xca\xe7\x62\xff\x96\xb1\x1b\x5b\x5b\xc1\x1e\x6a\x8f\x54\x7d\xb4\xb0\x02\xbf\x8e\x52\x99\x80\x21\x1c\x80\x5f\xd3\xd7\x71\xb1\x1f\x6d\x5f\xd8\x0c\xd3\x4a\x5d\xfe\x7b\x9a\xde\x7d\x59\x51\xf7\x70\xc0\x15\x9b\x9f\x2b\x67\x7b\x5c\x3a\x30\x86\x64\xc0\x24\x20\xcd\x14\x86\xfa\x56\xc7\x39\xeb\xf1\xcf\x25\x38\x02\x4c\xe1\xee\xb7\x2a\xa6\x8a\xfd\x73\x9f\x0e\xc8\x91\x25\x19\x7f\xe5\xe5\x4f\xf6\x14\xe9\x68\x5e\x18\x5e\x00\x49\xbe\xad\x77\xee\xb3\xb2\x23\xe6\x97\xa1\xa8\x9a\x77\x26\xa9\x7b\xcb\xa4\xe8\xe0\x53\x7c\xda\x1c\xa9\xbb\x0e\x13\x57\x5c\x69\xcf\x1e\xe4\xb8\x15\xcb\x26\x03\x4e\x87\x35\xc1\x82\x7e\x60\x71\xd6\x62\x77\x20\x79\xb5\x6d\x85\x74\x05\xf3\x5c\x51\x89\x6c\xe5\x28\xb4\x84\xfd\x35\x51\x22\x49\xff\xcd\x50\x87\x4f\xe4\xc2\x59\xd3\xe3\xc5\xad\x2c\xdf\x1e\x23\xef\x63\xdc\x5a\xce\xee\xdb\x75\x8b\x81\x70\x81\xc0\xa1\xeb\x2d\x4c\xe7\x5b\xbe\x5c\x66\x8f\xd9\xc4\x29\xbc\xd0\x00\x88\xdf\x9b\xf2\x5c\xfe\xf6\x0f\x42\x60\x54\x57\x7e\xc8\x72\xb9\x68\xb7\x44\xc5\x16\x7d\x75\x9c\xcc\x2f\xcd\x2e\xd5\x41\x12\xc8\x95\xe1\x84\x6b\xe6\x25\x8f\x40\xe3\x1c\xcf\x80\x7d\x11\x17\x43\x63\x45\xed\x2b\x84\x79\xd8\x50\x63\x43\x47\x11\xc5\xec\xb9\xe5\x1b\x9b\xea\x17\x3d\x4f\x7d\xb3\xde\x69\x0d\xed\xe6\xe2\x08\x0a\x66\xb5\x4e\x46\x97\xea\x1c\x09\xb7\x5b\x55\x4d\x6b\x64\x85\x83\x7c\x14\x0e\xbc\x36\xf0\x02\x13\xb6\x5d\x1c\x16\xa0\x92\x21\x19\xe1\xb7\x9a\x43\xf2\x91\x28\x36\x3d\x9e\xbe\x62\x2d\x5b\xbc\xfe\xe0\x14\x1e\xb2\xb4\x0b\x2a\xe3\x9e\x4d\x4e\x3d\xf4\x29\x2f\x34\xad\x34\xcc\x6d\xb0\x46\xbc\x20\xae\x8a\x56\x4c\x44\x3e\x40\xbb\x5e\xdf\x4f\xf2\x5f\xe7\xa2\xf4\xec\xe4\x39\xfb\x8f\xf1\x59\x44\x26\x21\xc2\x68\xb8\xc2\x88\x5f\x93\xa1\x7f\x98\x38\xf4\x86\x85\x56\x48\xe6\x8d\x37\x8e\x8c\x58\x6b\xc1\x59\xdb\xc3\x76\x26\x42\x0d\xae\xe6\x3f\x7e\xe2\x25\xb5\x20\x23\x59\x25\x9e\xcf\xd3\x69\x9a\x94\x8a\x9f\xb7\xaf\xe7\x75\x12\xca\x96\xa7\x14\x6e\x9e\x56\x7c\x62\xd7\x4a\x5f\x1f\xdb\x5a\x6b\x77\x69\xa4\x24\x8a\x78\xe1\xf8\x54\x68\x8c\x0d\x3b\x11\x83\x6d\xf5\xbf\x5b\x3e\x2f\x9e\x9e\x2f\x98\xcf\xd7\xaf\xe3\xb4\xb6\xb4\xfb\x8a\xc2\xe0\xf1\x5d\x94\x92\x43\x06\x42\x09\x7c\x2d\x9b\x2d\xa1\xba\xf5\x46\x4b\xa1\xae\x53\x57\x99\x6f\x26\x38\x37\x26\x1d\x8e\xd9\x9b\x25\x28\x96\xcc\x61\xdb\x31\xe4\x0b\x8f\x3e\x3d\xd2\x30\xfd\x28\x88\xbc\xc5\xa4\xe4\x8f\x95\xbf\xfa\xfd\x85\xdc\x8d\xea\x88\xb3\xad\x8c\xeb\x72\x57\x83\xce\x7e\x47\x5f\x96\x3a\x29\x28\x4e\x84\x9f\x67\xf1\x83\x52\xe3\x56\xa7\x17\xed\xc5\x02\x23\x2b\x03\xc1\xd6\x40\x72\xd9\xe7\x77\x81\xb7\x92\x4b\x41\x76\x42\x8b\x98\xd0\x69\x24\xac\x74\x39\xaa\x7b\xa6\x9d\xb6\x53\x70\xcd\x44\x62\x13\xe6\x08\x2c\x47\xe4\x67\x18\x7d\xb2\xbd\x76\x72\xaf\x09\xfe\xb6\xdb\x4d\x4b\xd5\x88\x73\x5f\x68\x9c\x03\x96\x1b\x14\xee\xbc\x92\x4a\x2c\xf5\x87\x31\x38\xd5\x0c\x55\xdc\x55\x6b\x55\xfd\xed\x43\x9b\xcf\x84\x2e\x55\xea\x57\x9d\x7b\xcc\x32\x39\xe6\x82\x3c\x71\xb0\xc1\xf8\xc1\x59\x94\xea\xce\x2e\x3c\x1f\x9c\xba\xd5\xd6\xcf\x59\xfc\x5e\x1e\x2a\xa9\xf8\xd5\xb0\xba\x3c\x14\xd8\x39\xdc\x4b\x47\x3a\xdc\x2f\xd7\x24\x68\x99\x06\xde\x54\x59\x52\x4f\xee\xae\x2f\xc5\x15\x36\x9b\x0b\xd8\xe9\x0d\xb6\x1b\x64\xa9\x84\xc7\x13\x6c\x69\x69\xb4\xe6\xec\xc5\x74\x34\x2e\x4d\x94\x99\x96\x6c\x04\xe6\xd1\x86\xc4\xea\xe0\xd6\x43\xe0\x15\x27\xa1\xbc\x4e\x24\x6a\x8a\xca\xe9\xc9\x39\x61\xc5\xd6\x31\xe1\xd1\x8a\xbf\x34\x8f\x0e\xa0\xf2\x42\x6c\xf4\x13\x2a\x79\x8a\x8e\xee\x2c\x60\xff\x65\x53\x89\x95\xa9\xfe\x6b\xa4\x6d\xfd\x30\x15\xac\x2c\x2d\x26\x37\x40\x04\xb7\x9a\x0b\xb9\x0d\xa2\x0e\x9e\x69\xfb\x45\xac\x43\x08\x4f\x89\x1b\x36\x33\x89\xaf\xf3\x22\x68\x49\xe9\x34\x9a\x20\xdc\xc4\x67\xf2\x38\x51\x8d\x6f\x39\x78\x0e\x65\x35\x0b\x7a\x5d\xdd\xae\x56\xb3\xdd\xf5\x13\x59\x96\x48\xf9\x2e\xd1\x55\x62\x54\xee\x90\xaf\x32\xb6\xad\xc2\xca\xab\x53\x2a\x6c\xb2\x61\xe1\x8d\x45\x97\x11\x7d\xc5\x55\x49\x8a\xe9\x10\x63\x47\x89\x11\x06\xb7\xc0\x23\x93\xdb\xde\xdf\xea\x21\x33\x8a\xb4\x71\x32\x52\xcb\xe5\xf5\x46\xc6\x2e\x9d\xc9\x47\x86\xaa\xd5\xe8\x56\x4e\xc3\xe7\xda\xaa\xf6\xab\x75\x35\x08\x46\xee\x1a\xe3\xb8\xc6\xb9\xb3\x04\x88\x00\x65\x8a\x65\x1f\xc0\x90\x40\x5b\x38\x0e\xa2\xc6\x35\xd9\xc1\x30\x1e\xd3\xbc\x4d\x03\x9f\xfd\xbe\xbd\x76\xec\x4e\xb3\x42\xbe\xe4\x9b\x2d\x6d\x4b\x95\x09\x53\xb8\x78\xc6\xbf\xac\x09\x8d\x97\xc9\x8f\x66\x1c\xe1\x76\x8c\x9d\x39\x6e\x50\x63\x7e\xde\x57\xe1\xcc\xbd\x0c\xbc\xe7\xea\xc0\xdf\x56\xb7\x74\xad\xd2\x64\x65\x6c\x3e\xcb\x74\xe3\xca\x79\x76\xb8\xce\x1e\x00\x8b\x71\x5c\x55\x22\xd7\xfd\xe7\xf6\x70\x69\xa2\x69\x70\xad\xdc\xbb\x71\x95\xcb\xc5\xae\x6f\x99\xe3\xfd\x30\x70\xd2\xab\xee\x06\xd6\xda\xf5\xc9\xc3\x5a\x71\x89\x3d\xb3\xe9\x80\x43\x81\x05\x56\x97\x3a\x44\xc9\x87\x65\xdf\x41\xd7\x86\xba\x62\x87\x01\x16\xe1\x90\x71\xd5\x96\x92\x64\x3b\x35\x31\xde\xf4\x8b\x29\x6b\x50\xbc\x2e\x43\x85\xbc\x58\x82\x4e\x0a\xa3\x3b\xe9\xc5\xbf\xec\xc8\xba\xd3\x6c\x77\x3c\x4f\x0b\xbb\x20\x20\x4c\x5d\x34\xed\xf0\xac\x59\x5d\xcf\x0f\xa9\xcd\xcb\x44\x86\x51\x9b\x8d\x79\xe6\x7c\x5b\xb0\xc5\x95\xf5\x98\x8c\x24\x86\xc2\x1c\x53\x1c\x8f\x72\x9d\x03\x1a\xd0\xa0\x89\x4d\x7d\x06\x62\xd9\x46\xdf\x2c\x02\xe1\x64\x48\xae\x8f\xd4\x0f\x1c\x95\xb5\xbe\x52\xf5\x93\x54\x58\x94\x0a\x57\x1e\x93\xe9\x9b\x46\x34\x58\xf9\xc7\xf2\xf8\xf5\xf7\xfb\x8e\x84\xc5\xf0\xe2\x32\x3d\x51\x61\x94\x96\xe7\x23\x16\xca\x65\x93\xf5\xd7\x4f\x7c\xdc\x5f\xc9\x65\x20\x8c\xe6\xdc\xb8\xe4\xa2\x23\xc5\xf7\x7a\xe6\xb8\xf9\x42\x42\xf8\xd9\x42\x68\xae\xd0\x0b\xdf\xfb\x61\x4b\x73\x77\xf0\x97\x59\xec\x3e\xb4\x8c\x07\xa8\xae\x6e\xb8\x35\xd3\x36\x7b\x63\xba\x41\x11\xd3\x93\xb8\x10\xc5\x25\x7c\x6e\x1e\xc2\x6f\x4c\x0b\x58\x5a\x49\x6c\x88\x24\xd9\xd5\xc8\x21\xfc\xe2\xd7\xcb\x3a\x38\x04\x90\x10\x28\x5f\xec\x53\x69\x67\x7b\xd0\x0d\x99\x32\x8d\x53\x35\xf6\xf7\x24\x0a\x7a\x86\x4c\x1d\x69\x9d\x6f\x70\x02\x61\xe9\xa6\xc0\x35\x32\xa5\x1f\x18\xe8\x39\xdc\xc4\x6e\xdc\xee\xc2\x57\x9b\x77\x82\x63\x16\x2e\xb9\xa3\x1e\xb5\x92\xde\x53\x1d\x5c\xfc\x99\x6f\xdb\x68\x93\x9d\x56\xc5\xd9\x5e\xab\x60\xfb\x2e\xcf\x5e\x94\x78\xad\x29\x5c\xf9\xb1\x94\xa3\xd8\x74\x77\x16\x6a\xb7\x77\x41\xfd\x4a\x97\xaf\xd0\x97\xde\xdf\x96\x05\x11\x6e\xfc\xd3\xa9\xe0\xf6\xea\x03\x09\xc8\xf4\xcc\x63\xe2\x98\x0a\xf9\xa2\x29\xb1\x5b\xa0\xf3\x5e\x8f\x5c\x0e\x43\x23\x49\xa1\x03\x67\x9c\x7a\xf2\xba\xd7\x4a\x8a\x20\xd2\xa5\x65\xd5\xc8\xb0\x6c\x06\x11\x5e\x16\x02\x36\x3e\x3c\xc8\xc2\x2b\x84\x1b\xb2\x18\x6b\x38\x53\xc4\xcb\x68\xce\x65\xd0\x8d\xc3\x8c\x7d\x8f\x84\xf8\x84\xe8\x0a\x05\x71\xd5\x7e\x5a\x59\x2b\xbf\xd5\x4a\xfd\x9d\xd3\xb7\x4b\x1b\x6e\x4c\x6c\xd8\xba\x6d\xc5\x41\x9e\x4e\x62\x8a\x02\x64\x61\x64\x29\x52\x95\xb8\xfb\x91\x3b\x5f\xa9\xa6\x03\x5d\xc4\x06\x5c\x8c\x2d\xe4\x8a\xc6\xfe\x49\xaa\xc8\x0f\x9f\x42\x39\x02\xed\x46\xdf\x6e\xb2\xf6\x8e\x37\x1d\x79\x5a\x5f\x73\x56\x5a\x59\x4a\x92\x32\x6a\xca\xbd\x37\xf0\x52\xf4\xd3\x12\xac\xbd\x95\x3a\x2d\x92\x94\x0f\x52\x56\x6e\xd4\x37\x31\x85\x40\xcc\x70\x8c\x9d\x21\x0d\xac\x5f\x73\x4a\x7d\x99\x18\x6f\xde\x62\x21\x7d\xee\x9d\xa6\x1f\x28\x1c\x98\x6f\x76\xb8\x74\xc5\xd9\x17\x67\x64\x8a\x4e\xaa\xb2\x6a\xd4\xd3\xd2\x7b\x1c\x64\xb9\xfe\xb4\xf6\x10\xd1\x4d\xed\x78\xfc\x4c\x69\x55\xc9\x1c\xe8\xcf\x4f\xca\x7b\x07\x03\x41\x8b\xad\xce\x01\x39\xe4\x76\xf6\xd7\x6c\xd7\x20\xd4\xba\xbf\x54\xca\xd4\xc1\xaf\xd2\x25\xc4\x22\x7d\xe4\x70\x3b\xfa\xb7\xa7\x74\xa5\x54\x38\xb2\x70\x70\x13\x44\x95\x3d\x07\x8e\x9c\xfc\xd0\x80\x94\x70\x25\xad\x98\xb3\xfa\x2e\xc4\x42\x82\x26\x7e\x11\x40\x5d\xd1\xf1\x59\x6e\x85\xb4\x13\x9b\x4b\xfb\x85\xc6\x51\x41\x52\x19\x95\x5f\xd4\x0e\x51\xc1\xa6\xb4\x77\x09\x3a\x7e\xb9\x62\x00\x3c\x61\xd4\x21\x4c\x5a\x89\x30\x71\x2e\x76\x51\xe1\x45\x98\x7d\x49\xab\xc5\x87\x5b\x4b\x36\x9c\x8e\xba\x5f\x86\x14\x3d\xda\x0b\xce\xaf\xd7\x85\x88\xdc\xa8\x47\x87\x41\xe4\xd9\xa5\x04\x70\xa2\x06\x4d\x61\x31\xa2\x89\xd5\xe6\x82\x7d\xc4\x6f\xe4\xd3\xe9\x18\x32\xee\x96\x87\xe9\x2a\x3d\xcf\x5f\x57\x23\xf2\xbd\x5a\x07\x32\x6f\x99\x0d\xda\x92\xd0\x6b\xf8\xb1\x3e\x58\xf6\xc9\x1f\x10\x1a\xbf\x25\xe5\x5b\x49\x59\xa5\x82\x56\xce\xa0\xff\x86\x9f\xfc\x61\x40\xa6\x25\x81\x91\xe2\x92\xc8\xa2\xba\x13\x0e\x20\xb4\x6d\x54\xcf\x1f\xe6\x22\x90\x31\xad\x20\xa2\xc8\x55\xfa\xe9\x25\xad\x4f\x4f\x90\x09\xfb\xed\x9d\x5d\x3b\x18\x01\x5e\x28\xbb\x5f\xb9\xe5\xd3\x4b\xda\xd2\x36\x5c\xb1\x78\xc4\x7c\xdc\xea\x3a\x83\x52\x69\xcd\xd6\xa9\xed\xb0\x12\xe1\xd8\xb1\x71\x22\xa7\x93\x02\xbb\xf1\xda\x61\x65\x85\xc0\xb6\x26\x8e\x8a\x73\x97\x9d\xec\xa9\x38\xee\x22\x98\x33\x8d\xbf\x01\x05\xb4\xed\x8d\xc5\x59\x97\x36\xa5\x6c\x33\x7f\xb9\xd0\x40\x6f\x36\x53\x35\xea\xcf\x9e\x0c\xd8\x39\xd1\x4e\x75\x25\xaa\xb9\x70\xc0\x7a\xe7\x61\xde\x5f\x11\x0f\x66\x28\x3f\x3c\xc2\x89\xc1\x65\x17\x72\x87\x9a\x52\xef\x91\xe5\x0c\x45\xe9\x6d\x51\x6f\x5c\x5f\xbf\xe5\xaf\x6a\x92\x36\xf4\x2b\x3f\x36\x56\x9f\x5e\x4e\x99\x51\xdf\x83\xef\xdb\x25\xbd\x76\xf0\x00\x32\x2d\x19\x45\x20\x35\x58\xea\x95\xa4\x20\x05\x61\x2c\x71\xb8\xfc\x89\x47\x34\x95\xf8\x93\x45\xcc\x18\x13\x85\x66\x19\xe2\xd3\xd4\x44\x5b\x38\x62\xb8\x40\x0a\xd9\xdc\x04\xdf\xb4\xeb\x04\x89\xee\x9e\x3a\x6c\xc6\x74\x0a\x0f\xa9\xc3\x30\xe3\xe8\xf2\x5d\x5e\x78\x56\x51\x6e\xed\x59\x0a\x7f\x99\xa1\x7c\xf4\xdc\xd1\x9d\xaa\x22\xe3\xe3\x79\x1f\xa9\xb6\xf5\xfc\x70\xd5\xfe\x35\x18\xbb\xf5\x19\x38\xde\x6b\x1d\x58\xb7\x66\xb9\xa5\xb2\xb7\xd6\x5e\xfc\x40\xf0\xf5\x0c\x04\xfe\x6d\x99\xfc\x02\x06\x3b\xee\x82\xb3\xe8\x67\x82\xf5\x72\xed\x5d\x9f\x6b\xfc\x08\xe7\x9a\x16\x73\xef\xf3\xbf\xab\xc6\xae\x64\xe7\xb0\x7c\xec\xfc\x1c\xb4\xac\xea\x05\x9a\xae\x05\xe1\xba\x6a\xbb\xed\x33\xc4\x3d\x5c\x9b\x2e\xd9\xe6\x00\xa5\xcb\xca\xdb\x5d\x5a\x5c\xdb\x29\x5c\x8a\xf6\xd6\x73\x73\x5f\xd7\x93\x62\x6a\xdc\xab\x43\x9a\xa5\x78\x68\x78\x4c\x6a\xf9\xfa\x46\x73\xca\x92\x82\xf3\x3a\x7c\x64\x45\x33\x41\x79\x81\x71\xec\x31\xf4\x14\x3d\x66\x5d\x61\x6b\x29\xc5\xde\x03\x4e\x1b\x54\x2e\x33\x4a\x52\x2c\x0b\xea\x8b\xe1\xe5\x21\x21\x71\x8e\xb8\xda\x96\x6a\xb5\x15\xb2\xcf\x8b\x74\xb3\xb5\xe9\x9d\x52\x5f\x7a\x3e\x96\x61\x8b\xb8\xf8\x8a\x05\x74\x3a\xcd\x55\xeb\xc4\x9c\x82\xa2\x64\x7a\x64\xac\x29\xe3\x4a\x14\xbf\x48\xb1\xce\x7f\xae\x75\xb4\x6c\xcb\x97\xb9\xd7\xf7\xb3\x65\xa5\x64\x48\x74\x59\xdd\x43\x78\x84\x48\x29\x55\xbb\xab\xa8\xb7\x53\xe2\xf0\x46\x34\x50\x2d\xb2\x63\xf1\x3a\x8f\x6b\xe6\x18\xca\x2e\x24\x54\x6b\x35\xba\x97\x8d\x9d\x50\x51\xe6\x65\x6a\xf6\x7f\x59\xd2\x02\x81\x6e\x99\x42\xba\xd6\xe5\xa3\x9e\xbd\x1b\xb1\x5a\x09\x20\x13\x2d\x8b\xc8\x96\xfc\x7f\x42\xf0\x14\xcf\xe0\x69\x36\xe2\x8e\xe8\x8b\xd2\x46\x90\xa2\x4e\x43\xab\xbe\x5b\x51\x30\x12\xae\x46\xc1\x6b\x9c\xae\x67\xdb\xfa\xe3\xa1\xaf\x36\x97\xad\xd2\xc2\x32\x78\x85\xb8\x27\xdc\xe2\xbc\x74\x0c\xc9\xdb\xf5\x11\x79\x5d\xef\x86\x4f\x39\x17\x38\xab\x33\xec\x4a\x31\x9c\x4e\x0b\x22\x17\x9f\x06\x22\x1e\x36\xd8\x71\xf6\xea\xa7\x0f\x53\xfe\xe0\x25\xc4\x2a\x76\xa2\x3f\xde\xe7\xe2\xfe\xe1\x37\x06\x01\x9c\xa3\x03\xba\xf5\x5b\xf2\xfc\xef\xf7\x78\x9a\x41\x99\x57\x5d\xd9\x0a\xa3\x91\xa4\x2d\x72\x28\x61\x7d\x5a\xfb\xd7\xd1\x6d\x18\xa5\x1a\xc6\x65\xe8\x7b\x5b\x11\x32\x45\xca\xf5\x15\x03\xfb\x25\xc2\x56\xd4\xae\xfe\x60\x6b\x2a\x4d\x2f\x80\xf7\xd3\x72\xda\x51\x64\x7c\xaa\xd7\x2f\xcd\xc9\x63\xb4\xc8\xf0\x9d\x3a\xc4\xae\x2d\xa7\xe0\x20\xe4\x58\xe4\xa6\x22\x97\x82\xdc\x4b\x15\xe0\x98\x5e\x77\x66\xb5\xc9\x34\x18\xd9\x40\xb3\xab\x23\xd8\xf4\xfe\x96\xb5\xca\x41\xdf\xdd\xaa\x09\x4c\xb4\xde\xab\x80\x14\xab\x7c\x55\x7f\x6a\x96\xbd\x8c\x9b\x0a\x60\xac\xe6\x14\x21\x57\xbb\x96\x0a\x9b\x30\x08\x97\xda\xf5\xca\x1d\x6a\x8b\xa8\x7b\xae\x83\xb8\xc3\x2d\x96\xbc\xa9\x6f\x56\xc3\x72\xf0\x5c\xdd\x6a\xcd\x7c\x41\xbf\xb2\x54\xf8\x36\xd4\xd0\x62\x7a\x52\x5c\xfc\x59\xcd\x3c\x97\xeb\xcd\xfb\x3e\xd9\xc8\x2f\x69\xd5\x6d\x7b\x37\xd3\x9e\xdd\x59\x6c\x7b\xdb\x6d\x72\xef\x7e\x20\xdf\x0c\x53\xed\xa9\xe0\xf6\x19\xfd\xf6\x97\x01\x8b\xaf\x64\xd8\x5b\xa9\x4e\xb7\xb9\xdb\xa9\xc1\xe4\x7b\xd5\xcd\x24\xd8\x7d\xd9\xd3\xa4\x47\x8b\xca\x61\xb0\x3e\xc0\x60\xda\xdb\x1e\x9e\xfc\x20\x78\x8f\x10\x80\xd9\xb1\xff\x94\x5c\x39\xbc\xf0\x84\x8f\xe2\x6b\x7b\x94\x8e\xf9\x84\xdb\x95\x89\xfa\x99\xe6\x08\x12\x40\x2d\x78\x36\xb9\x5c\xd7\xfe\xf5\x96\x4a\x91\xe2\x52\x20\xae\xac\x22\x97\xb5\x07\xec\xba\x1b\x0e\x1c\xd8\x59\xf4\x9d\xca\x70\xd6\xfa\x32\x16\x88\xfd\x89\x31\xe8\xf5\x39\x73\x8e\x39\xe3\xca\x75\x8f\x99\xbe\x40\xb5\xc1\x70\x85\x68\xf5\xef\xcc\xd9\x18\xdf\x02\x6e\x15\x4b\xac\xb5\x65\x65\x91\x5a\x68\x2a\x34\x65\x96\x2e\xe2\xe2\xa5\xa9\x52\x1b\x6c\xc1\x9f\xfa\x87\xda\x88\x0c\x09\xcd\x81\x53\x83\x04\x68\x00\xc6\xab\x45\x92\x6c\xc1\xff\xce\x07\xae\x92\x43\x59\xf2\x26\x3b\x8d\x1d\x91\xb4\xde\xf3\x4e\x48\xc5\x1e\x17\x29\xdf\x38\x98\xec\xe3\xe0\xaa\xa1\x6e\x2a\xf8\x3e\x94\x5a\x10\x4a\xca\xea\xb8\xaf\x25\x85\xbc\xc5\x87\x7f\x3f\x29\x1c\x25\xa8\x31\xd4\x17\xd7\x3c\xc8\x45\x4d\xd9\x8e\xe9\xb4\x38\x38\x2c\xee\x5a\x5c\x65\xef\xc7\x73\x67\xc9\xa6\xca\xb0\x48\x24\x74\x8e\xeb\x31\xba\xce\x64\x9c\x3f\xff\xd6\x7d\xca\x5d\xdc\xc9\x6a\x0b\xc3\x86\x0f\xc2\x7e\x24\x92\xb0\x45\xde\xc3\x5a\xbe\x70\xf6\xe8\x26\xa9\x61\x4e\x77\xf2\x68\x34\x87\xad\x07\x89\xb6\xcc\xb6\x68\x5d\xb3\xbe\x5a\x35\x39\x00\x93\x46\x3d\xa5\x28\x5d\xb2\x3c\x81\xd5\x81\xe2\x5c\x75\x5e\x13\x9e\xcb\xcc\xe9\xfd\x28\xb8\x9a\x54\xb5\x99\x1b\xed\xd2\xc9\x9d\xc1\x4e\x2b\xdb\x69\x70\x58\x7b\x8e\xb4\xd1\x8d\x7b\x8e\xd8\x2b\x87\x14\x52\x12\xfa\x3d\x82\xd6\x3d\x4c\x0c\x1d\xc2\x16\x2b\x66\xfe\x87\x24\x47\x6d\xf9\x1e\xb1\x96\x11\x8b\xd7\xee\x9d\xe2\xb4\x61\x4f\x3b\x81\x1f\x9c\xc3\xc3\x3b\x40\x81\x01\x56\x34\x90\x38\x7d\x2a\x61\x17\xee\x22\x8a\x9c\xf7\xd3\x4a\xd4\xdf\xf5\xa1\xc0\x68\x44\x94\xd9\x05\xe7\xcf\xdd\xb9\xe8\x96\xb3\xb0\xa8\x7a\x89\xea\x69\x11\x85\xe8\xc6\x45\xfe\x2a\xb6\x1e\xbd\x81\xec\x5d\x3f\x8e\xf3\xe9\x61\xbe\x7f\x7c\x2c\x3c\x40\x15\x68\x75\x1d\xe7\x25\xb1\xe2\xb7\x7e\x38\xde\x3a\x4c\x5d\x45\xe0\x13\x98\x71\x48\x75\x77\x19\xb9\xa3\x51\x4e\xbd\x4e\x44\x73\x57\x32\xe9\xdc\x8e\xbd\xa8\xe0\x12\x9a\x7d\x26\x34\x2b\xc3\x90\x58\xe0\xb2\x18\x40\x6f\x1f\x76\x6d\x98\x91\x50\xad\x8e\xe9\xd8\xb0\x46\xeb\x0b\x3f\x03\x32\x74\x84\x9c\xd4\xd9\xe1\x2a\x5c\x8d\x19\x10\x1a\x32\x75\x6f\x2e\xcb\x76\xe0\x3f\x90\xa7\x5e\x72\x3c\xef\x90\x21\x1d\x95\x77\x06\x80\x2a\x57\xd9\x69\x80\xac\xd3\x34\x74\x98\x37\x0c\xb2\x67\xa5\x82\x42\x53\xcd\xdd\x20\x4a\x32\x64\xc4\x22\x08\x67\xfe\xc3\xfd\x98\x21\xc8\xb8\x1d\x65\x2c\x36\x9d\xad\xa2\x7f\xa9\xda\xfb\x26\xab\x32\x6b\xfc\x02\x13\x48\xd9\x75\xd4\xc1\x5d\x8f\xc3\x8d\xff\xfd\xe1\x85\x62\xf4\xde\xf0\xce\xfd\x94\xa2\xab\x1c\x9c\x85\x48\x28\x40\xfc\xfe\x97\xc1\xfb\x41\xa6\xc8\x1c\xa6\x72\xe7\x81\x5b\xbb\xbf\xc2\x75\xd6\x89\x1d\x51\x6d\x4b\xfd\xa0\x2e\xf3\xa6\xcb\x26\xf2\x7d\x79\x61\x49\xd6\xb4\xec\x1c\xcb\x8c\xbd\xe2\xad\x01\x47\xa4\xe2\x1a\x4c\x70\xfc\xf3\x98\x5d\x57\x31\x50\x84\x57\xa9\xc6\xad\x55\x75\x94\x55\x1e\x3e\xf4\x97\x63\xef\x31\xce\x87\x75\xba\xde\xf8\xa7\xc3\x70\x8f\xba\x7e\x75\x4a\x6b\xf3\x63\x4b\xd3\x63\x01\xe6\xb3\x47\x85\xa2\xfe\x9b\x53\x96\xef\x27\xcc\xb6\x25\xce\x77\xe4\xf0\xe4\x83\xee\xbc\xe8\xfa\x33\xef\x47\x05\x7c\xbd\x91\xea\x5a\xaf\xa9\x50\xea\x93\xc5\xda\xe9\x4e\x28\x59\xe0\xa4\xf2\xd2\x87\xf7\xa3\x66\xe3\x96\x0d\xfd\xa6\x06\x69\x7c\xa3\x8a\x7d\x17\xd7\xd2\x46\x26\x35\x0f\xbe\xa9\x69\x9f\xcd\x88\x98\xd9\x71\x02\x3c\x2e\xa5\x0a\xf4\x5f\x7a\x03\x7f\xde\xd9\x80\xdd\xb4\x96\xdf\x1e\x35\xa5\xcc\xc6\x96\x27\x20\xb0\x2c\x43\x40\x18\x17\x9d\x29\x05\x55\x49\x5f\xc5\x6e\xe5\xad\xe5\xed\x49\x1a\xd9\xb9\x3f\xe5\x22\xe5\xee\xcf\x70\xd3\xf3\xc2\xed\x19\xd8\x97\xdc\xea\xd9\x42\xa7\x34\xa7\x4f\x46\xbe\xb2\xdd\x02\x5b\xa1\x36\xa4\x9c\x23\x2f\x32\xcf\x85\xc9\x02\xee\x4f\x21\x66\x76\x92\x05\x85\xf9\x2d\xbc\x3a\x5b\xa7\xed\xd5\x0f\x21\x64\x9a\xf3\x95\x9e\xe5\xd1\x73\x5a\xbe\x0e\x1c\xd2\x3a\x8a\xbe\xeb\x79\xdf\xc5\xf1\x77\xd9\x0d\xa6\x1c\xf1\xdb\xc5\x38\x20\x3e\xa5\x00\xfd\x1c\x23\x0e\x15\xde\x62\x53\xf9\xb8\x46\x8a\x4c\x90\x3f\x7d\xf4\xbf\x48\xac\x56\xa1\x60\x4f\x91\x17\x78\x81\xf1\x73\x55\x1e\x8a\x6c\x09\x81\x36\x76\x87\x3e\x9a\xa3\x22\xfe\x95\x26\x58\x36\xc8\x59\xe7\x62\xd5\x34\x04\xee\x67\xf1\x18\xd5\x5e\x04\x5c\x09\xc1\x10\x25\x26\x89\x5f\x77\x22\x93\x9d\x05\xbe\x3e\x22\x2b\x2d\x79\x32\x2f\x13\xb9\x85\xda\x93\x58\xdd\xc8\x6d\x65\x83\x26\x99\xde\x18\x16\x22\x68\x75\xcc\xf5\xf6\x32\x72\x33\x19\xd1\xe1\x03\x9e\xe7\xe3\x46\x7f\xb5\x9d\xbf\xc6\x47\x54\xa0\xfe\xbe\xa4\x76\x22\x91\xf4\x33\x70\x9f\xdd\x3b\x4e\xf8\x3c\x3d\xee\x75\xfe\xdc\xb7\x07\x56\xae\x66\x8c\xfa\x49\x55\x0c\xd0\x45\xb1\x81\x4d\x08\x36\x35\x50\x60\x9c\xa5\xa6\x4d\x35\x0f\x49\x57\x2d\x98\x22\x19\xe6\xcf\x9b\x92\x57\xf3\x5e\xa4\x2d\x89\xbd\x3f\xb6\x35\x53\x4c\x23\xbc\x05\xfb\x7b\x37\x43\x2a\x5d\x1e\x25\x95\xd7\x94\xec\x15\xab\x0a\x05\x4a\x54\x38\x6e\xbb\x97\xf6\xd6\xf7\xcf\xbe\x2b\x0a\xc9\x64\x53\x3d\x39\x4c\x19\x95\x6d\xb1\x93\xab\x08\x4d\x67\xbb\x2e\xb3\x44\xc9\x06\x3a\x1a\x36\xe8\xb3\x4f\x9b\x58\x61\x8f\x2f\x9f\x12\x6a\x3b\x05\xf6\x2b\xbb\xbe\x6c\x35\x8b\x0e\x96\xb1\x1c\xd9\x26\xcc\x39\xe7\xec\x2f\x47\x1f\x95\x32\x95\x0b\x56\xf0\x91\x60\xd8\xb2\x53\x06\x22\x3f\x77\x4b\xfa\x58\x84\x8b\x50\x62\xe2\x54\x88\xc8\x6c\xa3\xd6\xcc\xd1\xc9\xf3\x24\xae\xd8\x78\x07\x18\xdb\x54\xd8\x39\xe9\x74\xc5\xd5\x22\xac\xe8\xf0\x2c\x6c\x5c\xb0\x8e\x9a\x4c\x57\x65\xf3\x31\x23\xa7\x3d\x4d\xbc\x60\x12\x30\x38\x28\x28\x10\xf2\xef\x0f\xaa\x11\x1e\x04\x46\x25\xbe\xa7\x1f\xe4\x5e\x51\x36\x28\x80\x41\xc6\xae\xa8\x58\xdf\xed\x53\x11\x39\x56\xf5\x14\x8b\xb5\x1f\xe1\xb0\x77\xe4\x27\xa4\x9f\x67\x65\x69\x6c\xb2\x34\x5f\x5c\xc3\xd4\x5c\x0e\x04\xab\x24\xc2\xb5\x5b\xb5\x24\x84\xaf\xe7\x76\xbc\xdb\xbd\x18\x45\x07\x72\x75\x0b\x19\x82\x9f\x1b\x77\xee\x9c\x53\x38\x32\xd5\x88\x6c\xad\xcd\xe2\x73\x97\x3a\x13\x1c\x53\x8f\x50\x40\x74\xee\x62\xc6\x44\x92\x5e\x66\x68\x13\x3f\xe7\x66\xc0\x1b\xb2\xf8\x47\x7a\x57\x21\xb8\x20\x45\x78\xb8\x0b\x7b\xec\x8c\x97\xbd\xd8\xb0\x84\x44\x19\x28\x8b\x22\xcd\xd3\x1b\xb0\x28\x92\xa0\x2c\xca\x63\x51\xc7\x9c\x94\x63\xe0\xf8\xb0\x21\x43\x07\x95\x38\x8d\x58\x38\x7d\x56\xa5\x0d\x47\x1a\x85\x6e\x14\x67\xba\xff\x81\x57\x23\x22\xcc\x5d\xc9\x15\xf6\xc6\x35\x4d\xee\xb5\x5a\x4b\x50\xd3\x15\xb8\x60\x51\xac\x64\x28\x46\x74\xf6\x7a\x4e\xd6\x7e\xe9\xf1\x93\xc7\x82\xb9\x1f\xad\xf1\x79\xbd\xe5\x72\x0a\xfc\x48\xd7\x4c\xca\x49\x79\x4f\xe3\x64\x81\xf0\xa4\x5b\xa2\xaf\x1d\xf5\x03\x2d\xef\xc1\x03\xba\x1f\x44\x0b\x74\xd7\x31\x5e\x40\x0e\xfc\x2e\x73\xeb\xf8\x7f\x00\x03\x40\xfc\xbf\xa6\x36\x2d\x4e\x4d\x76\xce\x4d\x24\xfb\x19\x63\x35\x30\x67\xb6\xcd\x1b\xb8\x68\x51\x36\xab\x14\x07\xb6\x00\xe3\xd4\x31\xfd\xb1\xfd\x42\xff\x95\x6e\xd7\xe4\xee\xc3\x57\x5f\x75\xb8\x73\xda\xce\x3b\x42\xd9\xee\x45\xae\xcc\x1c\x02\xe3\x67\x97\xf5\x7d\x5c\xa5\xfd\xff\x22\x5c\xf1\xa5\x61\xa0\xa6\x1a\x9a\x51\x3d\xbb\x23\x96\xec\xda\xcd\xa7\x9d\x99\xef\xd5\xbe\x76\xc7\xfe\xb3\xa3\x8d\x31\xea\xc5\x8a\x53\xaf\x59\x28\x52\x2e\x69\xed\x5b\x81\x8c\x39\x02\xf8\x0b\xc5\xfa\x4a\x64\xe7\xd1\x51\xd3\x9c\x3c\x0b\x12\x30\x40\x42\x8e\x4e\x79\x61\xfc\x29\xbf\x6a\x04\x30\x56\x68\x9f\x32\xec\xac\x84\xc7\x73\x01\xed\xd2\x4f\x00\x9d\x65\x50\x1e\x35\x3e\x49\xae\x93\x7e\xaf\x91\xea\xa9\x31\x21\x00\xc6\xfb\xa1\xff\x2d\xbc\x06\x41\x38\x61\x67\xc4\x6a\xca\x4e\x71\x5e\x37\xac\x36\xea\xc3\x65\xab\x13\xb0\x2f\x89\xec\xbe\x87\xdd\xb3\x52\x75\xd4\xa2\xc1\x5a\x26\xfd\x55\xa1\x45\x4a\xa9\xb8\x6c\xb6\x70\x9e\x59\x6f\x9e\x3c\x32\xe9\xb9\x22\x15\x5f\x9c\xec\xf4\x14\x3a\xd9\xe9\x39\x37\xde\x39\x66\xb2\xd9\xda\xe9\x98\x8e\xb3\x00\x88\xb3\x2e\x04\xb5\x21\x0d\x68\x49\x17\x1b\xda\xc2\x34\x0d\x52\x6b\xa5\xf3\x43\x6a\x11\xae\x47\xd3\x42\x75\x0c\x2b\x62\xfa\x98\x99\x74\x51\xf5\x50\x12\x9d\x75\x08\xd1\x2f\x0c\xd0\x90\x31\xfa\x99\x54\x18\x5a\x35\x1c\x97\xe5\x95\xf4\xdb\x01\x87\x56\x3a\x1c\x2b\xd1\x7a\x70\x82\xe3\x38\xfa\x88\x6a\x84\x8e\xa7\xb1\x79\x5c\x53\x54\xa4\xe9\x21\xa9\x7a\x08\x72\x81\xe3\xf8\xf9\x75\x38\x59\xdb\xb8\x24\xfd\xf8\x13\xd5\x85\x84\x46\x95\x75\x46\x59\x13\xdd\xf1\x0c\xca\x54\x6a\x1c\x0a\x02\x2b\x5b\x6b\x8c\x6a\x60\x18\xe2\x47\xc5\xa6\xa2\xf5\x2b\x91\x79\x6c\xd3\xd6\xa6\x59\xeb\x8b\x8d\xf1\x8d\x34\x14\x52\xab\xe7\xd4\xd3\x2c\xb6\x2b\xaa\xe9\x68\x22\xad\x29\x3d\xa8\xac\x55\xcb\x3e\xce\x10\x1e\xad\xaf\x79\x56\xcf\xcb\x95\x21\xcb\xd8\x56\x5d\xc9\x5a\xeb\x38\x47\x5f\x0a\x17\x6a\x57\x0b\x1b\xae\xb2\x70\xa8\xa6\x48\xea\xf4\x20\xd6\xac\x51\x36\x50\xa8\x1e\xe9\x38\x3d\x77\xb0\x51\x39\xbb\x5d\x57\x8c\xcc\xf2\x38\x30\xc0\x9d\x39\x9f\x1e\x9c\x11\xfd\x12\x7b\xb9\xd1\x7a\x0f\x16\x24\xc5\x35\xeb\xce\x70\xbe\x2b\x94\x8d\xd2\x83\x44\x25\xea\x94\x92\x8a\x18\x2d\x91\xe4\xf5\x16\x14\x52\x60\x35\x43\x62\x4a\x69\xa5\x95\x68\x82\x45\x49\x40\xa7\xb9\xdc\xf4\x78\xa0\x51\x40\x87\xb9\x2d\xd8\x4a\xb3\xc3\x7f\x89\xfe\x68\xea\x6e\x94\xa2\xd7\x90\x21\x37\x93\xfb\x87\x23\xd7\x9d\x8e\xba\x59\x0a\xd1\xa3\x58\x10\xad\xa1\x9e\x16\x99\xa6\x05\x32\xec\xcf\x4d\x8d\xe9\x89\x6e\x89\xd2\xc6\x94\x18\xa4\xd2\xcd\x69\x26\x82\x23\x69\x85\x78\x32\x6e\x8f\x42\x85\x02\x80\x7e\x8c\xd2\x23\x9d\xf2\x7d\x32\x6e\x29\xcd\xb0\x13\xda\x2e\x77\x06\xb6\x14\xc9\x03\x6f\xb1\xc8\x14\x42\xe0\xa1\xc6\x1e\x19\x1f\x28\x93\xd6\x0c\x59\xc7\x6b\xa1\x22\x16\x1b\x8a\xbb\x35\x6e\x11\xb3\xf7\x47\x19\x0d\x50\x54\x46\x8b\xa3\x84\xb8\x3b\x93\x4e\x89\x51\x40\xf7\x28\xe3\x9a\xe5\xa5\xa3\x24\xba\xea\xe9\x25\x6c\x37\x51\x18\x3f\x8e\xca\x6c\x52\x1a\xbe\x1b\xb1\x50\xe4\x66\x42\x12\x21\x77\x9a\xd2\xa4\x4a\xc6\x9d\x61\x95\xc3\xae\x47\xdb\xd9\x8d\x00\xf1\x4a\xa6\x20\x83\x76\x4b\x1b\x8d\x67\xea\x01\x57\x4f\xd3\xac\x94\xbb\x4c\x5f\xe9\x24\x9b\x90\x74\x88\xb1\x9b\x61\x8c\xe8\x5b\x21\x69\x26\xfe\x1e\x4d\x17\xed\x3e\x4a\x16\xe2\xa1\x4c\x42\x66\xdd\x52\x81\x04\x16\x9e\xba\xa0\x25\xb5\x0c\xdb\xa3\x36\x21\xe1\x6f\xac\x06\x0b\x99\x86\xad\x22\x16\x04\x24\xda\x2c\x4a\xbd\x1d\x7b\x08\xf1\x12\x6c\x32\x22\x51\x6f\xc1\x06\x83\x88\xb0\x15\x23\x42\x04\x51\x27\x21\x22\x12\x11\x13\x23\xb1\xda\x0c\xa2\x9e\x48\x02\xb2\x3a\x89\x2e\x09\x6f\x09\x99\xfd\x3c\xf1\x01\x39\x2a\x61\x24\x0a\x3c\x31\xca\x94\x2f\x2d\x0a\xe1\xaa\xa0\x28\x4a\x26\x82\x89\x1e\x99\x24\x12\xb2\x0a\x66\x5e\x6f\x90\x05\x0b\xd1\x9b\xf4\x3c\x6f\xb2\xea\x0c\xc8\x6e\xd3\x21\xbd\xa0\xd3\x11\xbf\x41\xae\x96\xaa\x45\x01\x19\x0d\x66\x6c\x11\xb1\xd9\x00\x35\x0a\x82\x8e\x48\x01\x03\xef\xb5\x0b\x3c\x8f\x08\x6f\x21\xcd\xad\xa2\x28\xd8\x70\xbd\x4e\xb0\x88\x12\x74\x48\xc2\xbc\xd5\xa2\xb3\x89\x07\x2e\x96\x04\x1e\x03\x61\x2e\xa2\x26\x19\x13\x33\xb2\x21\x22\x49\xd0\x3a\x4c\xec\x66\x73\x10\x5a\xee\x30\x41\x95\x3a\xec\x41\x88\x20\x52\x45\x10\xe6\x45\xec\xb3\x62\x22\x60\xac\x83\x5c\xc4\x60\x71\x62\xd1\xa6\xd3\xbb\x45\x41\xc4\xd8\x6c\x72\x12\xa1\x5a\x67\x30\xd9\x05\xab\x5f\x0a\xcb\x58\x30\x4a\x58\xf0\x09\x90\xd0\xa9\xb3\xd4\x39\x04\x82\x31\xaf\xc7\x22\x42\x4e\x2c\xb8\x05\x62\x86\x71\xc2\x48\x2f\x62\xa3\x49\x96\x10\xbd\xf2\xaf\x97\xcc\x32\x15\x26\x30\xf1\x98\x36\x1e\x86\x11\x49\x4d\xa2\x55\x12\xb0\xe0\x25\x55\x02\x81\x9e\x09\x06\x6c\xd4\x49\x3a\x44\xff\x59\x25\x83\x01\x59\xec\xbc\x4b\x94\x78\x04\xc3\xad\x97\x04\x41\xd0\x9b\x74\x92\x50\x47\x24\x4c\x78\x37\xb6\x13\xe2\x30\x1b\x6c\xc4\xa4\x27\x76\x6c\x75\xdb\x8f\x9f\x78\x80\xc8\xc4\x21\x22\x49\x6f\x23\xd8\xc0\x1b\x45\x89\x4e\x15\x46\x2e\xab\x60\xd2\x1b\x45\x01\xc3\x62\x12\x88\x55\x6f\xe1\xcd\x18\xe6\x0e\xcb\x98\x27\x92\x5c\x8d\x79\x9b\x0d\x9d\xa5\xa0\xa4\x7e\x0f\xd9\x91\xc1\x84\x24\x9d\x28\xea\x64\xec\x46\x00\x16\x6e\x64\x33\x03\x48\x61\x18\x7a\xbd\x97\x08\xd0\x13\x49\x14\x0c\x06\x8c\x10\x8c\x2b\x46\x82\xc8\x23\xde\x26\xf2\x7a\x1d\x16\xf4\xbc\xa8\x97\x89\x68\x11\x24\xbb\x59\x67\xe3\x75\x2e\x91\xdd\x03\xc0\xd8\x58\xab\x04\x9d\xde\x6c\xd6\x0b\xc8\x62\x25\xa2\x87\x4e\xac\xd5\xc4\x5b\x05\x2f\x8c\xa5\x81\x2a\x57\x38\xa0\x02\x00\x07\xe4\x01\xb8\xab\x42\x56\x9d\x05\x99\xac\x30\x66\x92\x5e\x82\x40\x03\x8f\x60\x5e\x79\x27\x2f\x54\xf1\x7a\x82\xa0\x05\x3a\x68\x06\x0c\xb7\xd5\x07\x4d\xd0\x23\x8b\x24\xd8\xf4\x3c\x11\x45\x93\x48\x2c\x30\x92\x0b\xee\x95\x10\xb2\x41\x17\x8c\xc8\x6f\xe7\x61\xce\x2c\x30\x8d\x28\x10\xe5\x91\x69\x22\x21\x31\x1d\xc2\x94\x5f\x12\x12\x45\xbf\x1e\x36\x33\x9a\x07\x3b\x1b\xab\x78\xc1\xc5\x13\xa8\x4d\x72\xd9\xdc\x58\xac\x76\xe9\x75\x61\x51\x32\x8b\x06\x0c\x83\xce\x43\x5f\xeb\x79\x59\x87\xcc\x0e\x23\x11\x1d\x22\x2f\xe8\xbc\x98\xd4\x58\x83\x48\x0f\x70\x23\x39\x78\x9d\x97\xe8\x31\x40\x31\x40\x00\xe0\x0a\x36\xb3\x09\x5a\x20\x13\xab\x8e\x10\xcc\xeb\x1a\x6d\x86\xa0\xdd\x86\xad\x04\x51\xfb\xa5\x00\x8d\x44\x2f\x1a\xcd\xc8\x2e\x54\x3b\x08\x4f\x00\x7c\x89\x60\x31\xc4\xc0\x65\x37\x4a\x3a\xbd\x5e\x47\x1c\xb2\x1e\x09\x3a\x5e\xb6\xe9\xa1\x26\x23\xb1\x61\x93\x41\xa7\x93\x24\x11\xc3\xa8\x0a\x3a\x64\xe4\xb1\x19\x7a\x00\x2b\x0d\x61\x83\x28\x0c\xdf\x1e\x7e\x04\xea\x01\x64\xc1\x44\x5b\xab\x83\x69\xa6\x90\x46\xa0\x02\x58\x56\x58\x14\x00\x8a\xab\x44\x58\xb9\x46\xac\x27\xbc\x0d\x3a\x43\x0c\x71\x73\x9d\xbd\xca\xea\xe6\xa5\x6a\x1d\xd3\x8e\x70\x9d\x71\x89\xb7\x32\x9a\xc9\x45\x35\x21\x4b\x28\xbe\xbe\xa8\x91\x4b\xe5\x57\x6b\x01\xcc\x99\xc4\x04\x67\xe3\xd8\xb7\x28\x9c\x92\xe0\xf2\x68\x9f\xa3\xd0\x50\x2b\xfc\xb9\xc2\x52\xaa\xa3\xba\x5e\x51\xf0\xb1\xe8\xc3\xf8\x2d\x4f\xcb\xbb\xf7\x68\xca\x40\xed\xbb\x26\xd8\x6c\xea\x6f\xbe\x25\x3c\x78\x93\xde\x6a\x2f\xde\x85\xfc\x1e\x92\x47\x36\x52\x2d\x56\x7c\x6c\xcd\xc3\x68\x7f\x74\xea\x1d\xcf\x69\x4c\xa5\x60\xad\xb1\xde\x78\x6c\x68\x03\x59\x39\xd3\xc9\x55\x7e\x93\x53\xd3\xe3\xa8\x86\xd3\xb5\x03\x28\x97\x60\x2a\x88\x4a\xbf\x0b\x7c\xcb\x75\xac\x9f\xe7\x28\xee\xaf\xe6\x78\x6e\x18\x5c\x54\x9a\x10\x7f\x22\x4b\x90\xcc\x4c\x3f\xfc\x0d\x67\x4b\x6c\x2f\x6a\xfe\xe2\x0f\xe7\xf2\x50\xda\x5b\x00\xda\xfb\x26\x81\x63\x72\xaa\x6e\xa9\x6c\xe6\x8e\x2a\x1c\xb3\x6f\x45\xc5\x85\x9b\xec\x75\xaa\xcc\xac\xdb\x9d\xe1\x64\x55\xa6\x1f\x81\x12\xb8\x46\xfe\x57\x0d\x35\xaa\x5c\xf0\x31\xc3\x76\x9c\xec\x43\x7f\x40\xef\xd7\x34\x50\xa5\x62\xbe\x7c\xcf\x4d\x98\xdc\x65\x0b\xfb\x5e\x49\xc5\x18\x04\x5d\x25\x9b\x53\x21\x57\x90\x7d\x87\x60\xec\xd5\x2a\xa6\x5f\x10\xe0\xf8\xe2\xb7\x55\xe8\x15\x3c\xfd\x10\xfa\xc0\x19\x28\xfb\x63\x6e\x75\x2f\x1a\xd0\x58\x78\x68\xa0\x77\xb5\xc0\xe5\x0a\x9c\x1a\xd0\xd8\x29\x83\xb4\x6b\x83\x30\x04\x54\xf1\x24\xd7\xbb\x5a\x33\x0a\x5e\xfa\x5e\x76\x91\xa7\xcf\xe9\x31\x65\x13\xb8\x46\xbe\x0c\xa4\x67\x27\x50\x89\xf1\x94\xa6\x4a\x41\x52\xe9\x23\x46\x9a\xcd\x2c\x2b\x04\x45\xb5\xf1\xa0\x19\x59\xac\x40\xd4\x27\xd0\xe5\xf7\x43\xa7\x4b\x1f\x0c\xba\x5f\x7d\x42\x7d\xe2\x7e\x3a\x40\xc5\x8f\x01\xdd\x8f\x2e\x87\x00\xd9\x67\x32\xc5\xe8\x1d\x1a\x4b\x83\x2e\x87\x4c\xec\x4b\x5a\x79\x9f\xc2\x2c\x80\x91\xdf\x8d\x9f\xaf\x36\x3a\x26\x17\x35\x00\x46\x73\xd1\x14\xac\x6e\x96\x82\xd6\x2d\xc8\x9a\x5c\x25\xc7\xec\x9c\xdb\xb9\x49\xdc\x64\x6e\x0a\xb7\x98\x5b\xc9\xb8\xf9\x94\x40\xb1\x69\x9c\x84\x0c\x35\xac\x5d\x96\x69\x17\xa8\xf4\x8b\x76\xf3\x24\x94\xb8\x74\xa5\xaf\x57\x33\xd3\x11\x4c\x5c\x89\x09\x10\x43\x5e\x5c\x4c\x81\x17\x3e\x7d\xd5\x1d\x8b\x36\xdf\x2c\xf6\xed\xe8\x98\xda\x2b\xf0\xb9\x03\x37\x0e\x1f\xba\xf1\x80\xe4\x0a\xa4\x67\xac\xed\x32\xf4\x2e\xb8\xe3\xae\x3b\x16\xf4\x1a\xba\xd6\xce\x48\x07\x5c\xd2\xb0\x66\x97\x8f\x2c\x2d\x4a\xc7\x92\xe0\xe6\x45\x77\x5c\xf5\xf4\x42\xa1\x77\x6a\xc7\x8e\x3e\xf1\x66\x4d\xf8\x11\x03\x14\x2e\x9c\x87\x2e\x6b\x6c\xf2\x44\x6a\xee\x2e\x58\x76\xdc\x7d\xf7\x8e\xd4\xda\x6d\x57\x5c\x3a\x35\xd6\x94\x6a\x82\xbf\xd8\xd4\x4b\xaf\xd8\xb6\x56\x88\x33\xd9\x42\xb5\xae\xf8\xa9\xec\xc2\x53\xf3\x16\xde\x24\x6c\xbb\xbb\x26\xe2\x69\x6a\x44\xeb\x59\x64\x49\x4f\xed\x7e\x71\xb3\xf0\x21\x17\xe4\xa6\x72\x57\x17\xad\xa5\x00\x29\x5c\xcb\x33\xb2\x0d\x48\xb1\x11\xc3\x2e\x69\x54\x32\xfc\x52\x0a\xcb\x94\x44\x83\x88\x27\xcd\x69\x9a\xf8\xda\x3e\x13\x2d\xda\x00\x28\x2a\x8f\x51\x1e\x8b\x87\xb9\x84\x17\xfc\x6f\xf8\x63\x8d\xb5\x24\x60\x94\xa5\xb6\x98\xb5\xca\x67\xaa\x23\x41\xff\x89\xea\x86\x98\xff\xa0\xbf\x30\xc5\x7f\xc2\x1f\x8b\xd6\x1c\xf4\xfb\xdf\xa8\x6e\x18\x9b\x8a\xec\xba\xe8\xe0\xe2\x1d\x37\x2e\x3e\xb1\x78\xf9\xf2\xa5\x3b\x77\x2c\x79\x63\xc9\x18\x3f\xca\xc6\xa0\xf4\x00\xa9\x33\xf9\xaa\xac\xb1\x36\x49\x36\x82\xbb\x31\xe6\xff\x71\xb5\xef\x80\x1f\xff\x09\x1c\xfe\xea\x03\xfe\x28\x24\xaa\xae\x1b\x9d\xa8\xf0\xf6\x87\x8b\x0f\x2c\xbe\xe8\xc7\x8b\x77\xdc\xb4\x74\xf9\x72\x28\x79\xb4\xb7\x68\xe3\x32\xc7\x6c\x7b\x73\x1a\x5c\x70\xd4\x40\x0b\x35\xa9\x48\x3f\x88\xa5\x5d\xc3\x4a\xb5\x48\xca\xbd\xfd\xd4\xe9\x3c\x6c\x97\xf7\x6e\xc5\x68\xc2\xc9\x27\x11\xea\x98\x31\xb0\xfe\x50\xc3\x6d\xcf\xa3\xdc\x53\x6f\xc3\x1e\xba\xe7\x37\x69\xbf\xf5\x24\x9a\xf0\xc2\xbd\xdd\x87\xd6\xf7\xf5\xd4\xfe\x04\xe8\x8d\xeb\x61\xcd\x99\x99\x7e\x7d\x90\x5a\x7d\x67\x50\x97\xd1\x24\xfb\x8b\x92\x36\x4d\xf4\x18\x08\xa2\x68\xca\x1e\xb2\xbb\x84\xbf\xb7\x4d\x5f\x7f\x3a\xb7\x7e\x7a\x1b\xfa\x7b\xb6\x64\x5a\x4b\xf1\x65\xd5\xf7\xd4\x0f\xf1\xbf\xaa\x1f\x3a\x73\xcb\x2f\xde\xb5\xeb\x62\x52\x85\xee\x2b\xca\xa4\x6d\x99\xa6\x2e\x46\x5f\xac\x8b\xa0\xfb\xd4\x2d\x11\x6d\xdb\x41\x45\xd9\x4c\x89\x9b\xc7\xad\xe2\xd6\x73\x3b\xb8\x3b\xb8\xfd\x5c\xd9\xe6\xbf\x80\x18\x7f\x91\xed\x71\x0c\x39\xb7\x14\x97\x3a\xc3\xd9\x13\x4c\x30\x97\xc9\x68\xd6\xb3\x6f\xc8\xb0\xeb\x68\x86\x6d\x53\x21\xe1\xe2\xa4\x53\xe6\x62\x9a\x99\xe1\x66\xe4\x44\x22\x4e\xba\x99\xc9\x20\x28\x8b\xfa\xa8\xb5\x15\x28\x84\x59\x71\x47\x12\xe4\x8a\x22\x97\xc4\x8c\xf9\x83\x3b\x43\x6b\x25\x1a\xe3\x0c\x6d\x44\xa7\xfd\x44\xa8\xcd\x99\x6d\x76\x4b\x61\xde\x35\x3a\x1e\x70\xe2\x35\x8b\xf7\x3c\x70\xd7\xd2\x15\x46\x69\xcd\xa2\x3d\x07\x16\x4f\xd3\x9b\x77\xee\x34\xeb\xa7\x2d\x3e\xb0\x67\xd1\x1a\x49\x68\x68\xba\x68\xef\x03\x7b\x16\xaf\x91\x20\xa5\xee\x1a\xfc\x65\x8b\xdd\x66\xce\xd5\x0a\xc4\x7f\x7a\x55\x73\x7c\xe1\xaa\x2b\xe6\x44\xb5\x57\xf3\xc2\x78\x73\x74\xce\x15\xab\xb4\x17\xb2\x0c\x04\x2d\xf3\x7d\xc4\x22\x00\x9e\xf4\x8b\x01\x3c\x04\x3b\xe6\xa0\x1e\x70\x3e\x0b\xef\x23\x03\xb9\xc2\x3f\xbe\x84\x8d\x58\x3b\x24\x7d\xea\x75\xce\x70\xc8\x96\x05\x94\x6f\x77\x2f\x8f\x26\xb5\xce\xbd\x27\xb5\x64\xde\x92\x9b\xfa\xef\x4d\x2d\xa9\x33\xeb\x67\xcf\xd6\x9b\xeb\x96\xa4\xee\xed\xef\xd8\x18\x9d\xbf\x24\x79\xef\xdc\xd6\x49\x88\xef\x45\xbb\x75\x52\xd6\x16\x0a\x3b\xf7\x35\xee\x49\x74\x84\xe9\xa3\xd0\x91\xd8\xd3\x18\x66\x0f\x3c\xd8\x6e\x0c\x3b\x75\x2d\x3e\x62\x03\xb4\x08\xfd\x7b\x00\x67\xb3\xea\xc2\x2d\x03\x3a\xcc\xf3\x36\xde\xa7\xe6\xb3\xe8\xf0\x3e\xc2\x6b\xf7\x30\xda\xb9\x51\xc7\xd5\x73\x11\x2e\x41\xbf\x2c\x31\xea\x1e\xa6\x78\x42\x96\xb4\x55\x5c\xf6\x74\x42\x42\x41\x3d\x0a\xca\xf4\x10\x29\x7e\xa2\x33\x99\x2e\x7b\xc4\xc1\xd2\x8d\x50\x61\x88\x7e\x11\x02\xd1\x4f\x42\x50\xbb\x02\xd3\x3a\x73\xea\xcf\x51\x53\x81\x3d\xbf\x8b\x3a\x55\x66\x99\x00\x73\x31\xf2\x4b\xcd\xc9\x97\x4d\x0a\xa0\x40\xf1\xdb\x13\x90\x19\xca\x50\xbf\x1e\xfb\xb9\xfa\x73\xfc\x79\xf5\xe7\xea\x67\x51\x27\xd5\x29\xa2\x5f\xad\x40\x5c\x6c\x60\xf8\x1f\x7c\x4e\xf3\x31\x9e\x36\x7f\x66\x8f\x70\xb3\x70\x33\xb3\x02\xed\x2c\x59\xd5\xd0\x2c\x77\x14\x05\xf4\x8b\x5a\x1b\x88\x31\x9b\x92\x15\x7e\xd7\x98\xf4\xc2\xcd\x4f\x6e\xbb\xf3\x8a\xe1\xbf\x6f\x79\xeb\xa9\x27\xaf\xc7\x97\x18\xba\x6c\x66\x43\xe1\xe9\xf9\x57\xae\x3f\xd0\x4f\x74\x3d\x8b\xb2\x4b\x7a\x0a\xdf\xf4\xd5\xd7\x28\x55\xe8\x51\x43\xb7\xcd\x64\x50\xaf\xec\xb9\x6e\xd1\xf2\x2e\x3c\xfd\x8a\x87\xb7\x3d\x79\x05\xd1\x5d\xff\xf8\x53\xff\xb6\xa5\xf0\xb4\xc1\x64\xeb\x32\xe0\x4b\xe7\x1e\x5a\x7f\x75\xff\xf0\xdf\x7b\x96\x64\x17\xf5\xe0\xe9\x5e\xa5\x26\x50\xad\x5e\x09\x71\xdd\x06\xf4\x68\xd7\xf2\x45\xd7\x41\x61\x6b\x46\xc9\xf6\x51\x1d\xed\xe9\xda\x37\x3e\x98\x3c\x1f\xfb\x7e\xcc\x88\x5e\xbf\x3d\x51\x62\x79\x8d\xd5\x41\x1d\xab\x73\xe7\xa1\x58\x1a\xfd\x20\x10\x47\x72\x39\xa7\x41\xfd\xa3\xa1\xd5\xaa\xdd\xc8\xe5\x60\xb8\x09\x0c\xb7\x9a\xab\xd0\x0c\xce\x95\xbf\x4d\xca\x86\xdf\xeb\x8f\xb1\x8f\x13\xe5\x2c\x93\x0c\xa8\xca\xe0\x2c\x29\xf6\x9f\xe6\x34\x4b\x11\x98\xab\xb8\xdd\x91\x87\x59\xac\xc0\xbe\x5a\xaa\xfe\xc9\x3f\x30\x4a\xf7\x64\x5c\x3b\x7c\x95\xd7\xeb\xfc\xc0\x68\xb5\x15\xed\x7e\x8e\xdd\x6b\x69\xf6\x8e\x3f\xb5\x65\xef\xd1\x76\xfe\xce\xe5\xae\xb0\xde\xfd\x87\xf1\x9c\xec\x8c\xcf\x4b\xd4\x0e\x83\x76\xbf\x16\xe5\x32\x14\xa3\x29\x69\xb0\x39\x4a\xb7\x86\x63\x6a\xe7\xce\x11\x7e\xb6\x55\x69\x76\x6f\xa8\xfd\x09\x1f\x56\xde\xb4\x9d\xca\x8d\x13\x58\xe9\x7e\x83\x65\x43\xf7\x6b\x06\x86\x07\xcb\x86\x94\xc9\xef\xc6\x86\xa0\x11\x4b\xd3\xda\xb0\x5a\x99\x6e\xe9\xdf\xb9\x5a\x58\xf1\xfd\xb0\x6b\x6f\xe4\x6e\x86\xed\x80\xad\x82\x8c\xb6\x3a\xa4\x68\x37\xce\xa4\xea\xc5\x10\xfb\x90\x15\x9c\x47\xb2\x2b\xc8\x98\xae\xda\x7d\x49\xb4\x9b\x5d\x0e\x53\x66\x6e\x22\x75\xb6\x21\xf2\x60\x2a\x91\xa4\xd8\xa6\x28\x45\x33\x09\xfb\x05\x07\xe1\x96\x4d\x0b\xd7\xf7\x4e\x9e\x34\xb9\xa6\xe9\x6a\x9f\x6e\x52\x58\xb6\x4d\xb1\xad\x47\x73\x2f\x4d\x74\x62\xf5\x90\xd8\xd2\xdb\xdb\x52\x53\xd5\x1c\xba\xc8\x7b\x69\xfb\xec\x2b\xa6\x2d\x9a\x8e\x76\x09\x7f\xd6\xc6\xc1\x61\xd1\x06\x4a\xfd\xd2\x06\x84\x75\x8d\x33\xef\x5a\x2f\xbc\x57\x19\x53\x39\x5a\x4b\x16\xac\xea\x5d\x3e\xb1\xc6\x9f\xd5\xb5\x19\xa6\x36\x38\x10\x4e\x1d\x5e\x7e\xbd\x69\x0e\xce\x3e\x15\x76\x24\x96\x24\x9b\x26\x78\xaa\xaa\xdb\x3b\x12\x93\x17\xcf\x8c\x2f\x6e\xce\x54\x75\xaa\xdf\xd2\xc6\xcc\xe2\x90\xc9\x0d\x97\x5f\xde\x70\xa4\xc1\x64\x8f\xf4\xef\x52\x37\xaa\xb7\x94\x23\xc6\x8c\xeb\xc8\x5d\x8a\x95\x4b\x71\x6b\xd9\x5e\x3a\x4a\xb8\x31\xa2\x29\xc7\xa4\x35\xa3\xb0\xda\x07\x24\xa8\x32\x0d\x3b\xd8\xca\x97\x03\x24\x58\xb4\x96\x5b\xba\x8d\xd3\x14\x5a\x28\xde\x9c\xca\x68\xd2\x4a\x9e\xa2\xad\x37\x2a\xfd\x25\x32\x45\xe5\x8f\x99\x14\x23\xfa\x8e\xdf\xd3\x7a\xc7\x67\x10\x1f\xdf\xd6\x7b\xad\xc1\x68\x11\x4c\x4b\x2c\xf1\xd4\xf2\x9d\xd7\x4d\x9b\xda\xdb\xfb\xf3\xe9\xeb\xda\x23\xef\xa1\xc7\xa4\x06\x4f\x6b\x64\xd6\x82\xd9\x0b\x6e\xba\x6e\xe1\xfe\xc9\x56\x1d\xa5\x1b\xaf\xb4\xd6\x5a\x85\xd0\xc4\xa6\xee\x8e\xd9\xd9\xbe\xb9\x13\x5b\x16\xd6\xe3\xdc\xc8\xb7\xf7\xb2\xa1\x89\x6b\x56\xbc\x98\xdb\x25\x9b\xc2\xca\x82\x9b\x3a\x1d\xd5\x40\x53\x3e\xd4\xb6\xb2\xa3\x7d\xf9\xec\xa9\x53\xbb\x9d\xcd\x7e\xef\x19\x2e\x9a\xba\x76\x6d\x5b\x6b\xa8\xb9\xd5\xe1\xf2\xc4\x6c\x26\x9d\xc5\xbc\xb1\xb5\x56\x89\x4c\xc0\xf5\x73\x14\xdd\xe4\x48\xd8\xe5\xae\xf6\x75\x76\x4d\x5b\x32\xbb\xa6\x82\x2f\x7a\x39\xd5\xb6\x97\x95\x16\xcd\x10\x2e\xeb\x53\x3c\x23\x79\x5c\xa2\x36\x20\x6e\x97\x47\xae\xe8\xad\xd6\xe3\x66\x6d\xc8\xac\x08\x40\xcb\xe3\xce\x78\xca\x83\x45\xd3\xbb\x65\xf7\xc8\xc8\x69\x77\x58\xb0\xe1\x44\x95\xb1\x76\x0d\x5b\x23\x3a\x62\xae\xee\x4c\xee\xa9\x5f\xba\x68\x6b\x6d\x5b\x2d\xc2\x9d\xd9\x4e\xd9\x8c\x90\x45\x9c\x18\xea\x5a\x7e\xf1\xba\x65\x6d\x4d\xad\xf6\xb0\xdd\x25\x59\x81\xe6\x96\xeb\x9b\xae\xb0\xe0\x25\xaf\xf7\xef\x00\x5a\x7f\x62\x74\xb6\x68\x25\x3a\x8b\xe8\xb2\xfa\x94\x39\x7d\x1b\x36\x1d\x78\x6e\xdb\xf6\xce\x2e\xb7\xcd\x5e\x25\x2c\x75\x58\x46\x3e\xa3\x2e\x04\x31\x5e\x8e\x78\x89\x00\x8d\x6f\xc9\xea\xf5\x55\x96\x1b\xcc\x51\xf1\x1d\xf5\x4f\x37\xcf\xeb\x08\xb6\xf8\x1d\xc1\xb0\xbf\xad\x7d\xf6\xe3\xf3\xd7\x1c\x5c\xda\x31\xd5\x15\x42\x98\x2c\x35\x10\x33\x56\xcc\x92\xd7\x84\x8c\xa2\xd5\x27\xc5\x8c\xb2\x7a\xe7\x77\x36\xf5\x37\x4f\x69\x9f\x1c\x08\x36\xb7\xf4\xf5\x6f\x5f\xf0\x04\x9a\xfb\x72\x55\xf8\xd4\xed\xa5\xb9\x71\x70\x9c\xa1\x2c\xc3\x31\xf6\x9b\x02\xf7\x71\x4f\x69\x16\x23\x2a\xfb\x6e\x1f\xe3\x1f\x3b\x36\xff\xd3\xfe\xb1\xf5\x8d\xfd\x46\x28\xfd\x4e\x79\xc5\x27\xea\x2b\xdc\xa3\x63\x54\xee\xdc\x71\x9f\x3c\x65\xa5\x9b\x92\xbb\x4c\x16\x41\xa0\x22\x71\x65\x9b\x86\xe8\xde\xb2\x53\x1d\x71\x12\xcb\x78\xa1\x17\x4c\x50\x51\x18\x9a\x57\xf9\x85\x51\xba\x0f\x57\x9f\x79\xac\x68\x8f\x42\x66\xfa\x92\x4d\xd4\xc2\x07\x10\xbe\x28\xcc\xe4\xbd\x5b\xca\x76\x4c\x23\x9e\xff\xcb\xdb\x9b\x00\xb6\x51\x9c\x7d\xe3\x3b\xb3\x97\xce\x95\xb4\xab\xcb\x92\x2d\xeb\xb0\x24\xc7\x67\x6c\x59\x92\x6f\x2b\xb1\x73\x38\x71\x12\xe7\x4e\xc8\x65\x72\x3a\x0e\x90\x9b\x40\x42\x82\x08\xa1\x90\x70\x85\x00\xe1\x26\xe6\x2a\xd0\x90\x42\xb9\x79\x09\xad\xda\x02\xa5\xdc\xe1\x85\x52\x5a\x68\x4d\x4b\x79\x0b\x2d\x47\xdb\x97\x02\xb1\xb5\xf9\xcf\xcc\xae\x0e\x1f\x21\xbc\xef\xff\xfb\x3e\x88\xb5\xb3\xbb\xb3\xbb\x33\xb3\xb3\x33\xcf\x33\xcf\xf3\xfc\x7e\x78\xa4\x68\x03\xe0\x34\x5b\xe6\x87\x20\xb8\x41\xfe\x3d\x2c\x13\x4f\x9e\x14\x63\xe2\x8b\xa2\xc8\x72\x78\x7b\xf2\x95\x95\x2b\x3d\x1e\xf4\x07\x2e\x7a\xfe\xf9\xe6\x66\xf4\x47\xff\x41\x3d\x92\xbe\x53\x4d\xd0\xcf\x92\x6b\xdf\x89\xe1\x6b\xd1\xa5\x31\x7c\xad\xf8\xe2\x75\xe4\xa4\x67\xa5\x3c\x44\xae\x6b\x7e\x3e\xbd\x5c\x3d\x02\x3d\x6a\x82\xac\x3d\x24\xb2\xf2\xbf\x99\x72\x52\x33\xf2\x2c\xec\x18\x0b\x1a\xab\x78\xd9\xb0\x1c\x8b\x55\x60\x42\x01\xc5\x21\x82\xfc\x22\x01\x4c\x51\xfc\x90\x20\xd3\x4a\x63\x40\x28\x02\x8f\x11\xc9\x05\x7b\xcb\xaf\x82\xe4\x9d\x46\xed\x2f\xb5\xac\xe2\xda\x0f\xba\x34\x92\xe0\x33\x84\x69\xac\x94\x62\x4d\x36\x41\x87\x0d\x3e\x41\xd2\x20\xc5\x1d\x30\x5a\xc9\xf8\xa2\xd4\xe6\xee\x0f\xb9\x18\xa4\xc9\x28\xb1\x00\x10\x09\x8b\xe8\x7a\x63\xfa\xc7\x64\x97\x49\x0d\x51\x26\x87\xa0\xa5\x01\xc0\xbe\x12\xf8\x0f\x00\x5a\x2b\x38\x4c\x18\xd3\x54\x13\xb3\x57\xbb\xfd\xe8\x26\xae\x94\x02\x20\x90\x93\x61\xa6\x51\x19\x1c\x06\x3c\x10\x61\xd5\x1e\x87\x18\x11\x90\x22\x1a\xc7\xff\x2a\x46\x08\x95\x05\x53\x11\x29\x31\x87\x5e\x54\x8d\x7d\x75\xd0\x9c\x03\xe3\x35\x60\xeb\x0e\x87\x2d\x71\x27\x36\x6e\x68\x92\xb4\x95\xd6\xbe\x96\x0b\x7f\xda\xbb\xe3\x4f\xd7\xac\x7f\xf2\xe2\x25\xe5\xdd\x33\x3c\x1a\x68\x80\x9c\x25\x72\xe2\xc1\x9b\x1e\xdc\xbf\xa1\x65\x9a\xa0\x09\x3a\x62\xb5\xad\x0b\x0a\x56\x59\x98\xd7\xe5\x0c\x7a\xe8\x6c\xb2\x4e\xeb\x5d\x36\xc5\xff\x93\x70\xc3\xfe\x2f\x0f\x6f\x79\x69\x4f\x63\xcf\xee\x1f\xb4\xf7\xde\xe9\x35\x78\xf9\xf1\x9c\xc3\xda\x72\xd6\x4d\xef\xdd\x7b\xe9\x8f\x3e\x5f\xd8\x12\xd8\xbe\xb8\xb8\x76\xe2\x96\xf9\x9d\x35\xf2\xf2\xc9\x1b\x96\x80\x8b\x3e\x39\xa1\x58\x81\x72\x75\xeb\xca\x93\xfb\x33\xb5\x13\x15\x72\x30\xb5\x72\x64\xf0\xfd\xce\xca\x65\xf0\xa6\x94\xf8\xe1\x74\xf9\x7c\x87\xb6\xc2\xb6\xbe\xf9\x89\xbf\x4c\xde\xf5\x64\x5f\xef\x13\xbb\xcf\x2a\x9f\x35\xc3\x68\x63\x74\x2c\x67\xa9\x7d\xe3\xfe\x1b\xef\xbf\xbc\xaf\x19\x57\xce\x1e\xad\x69\x99\xef\x5c\xe9\xb4\x3c\x95\x1f\x63\xbc\x73\x91\xff\xe1\x70\x3d\x08\xff\x69\xde\x1d\x17\x76\x36\xf4\xec\xba\x6c\xe2\xda\xdb\xbd\xac\x4e\xa8\xb0\x38\xa4\xd6\x45\x87\xdf\xb9\xfb\x92\x07\xfe\xbe\xb0\xd9\xbf\x7d\x61\x71\xcd\x84\xcd\x73\xa7\xd6\xc8\x2b\x57\xdf\x9a\x0d\x44\xce\xd9\xb6\xdc\x44\x5e\xc3\xd8\x89\x3e\x5b\x44\x50\xe1\x04\x6a\x1d\x71\x5c\x6a\x33\x16\x74\x82\x91\x68\x20\x8a\x64\x1c\x5b\xc4\x16\x19\x29\xa1\xd2\x37\x72\xf2\xe1\xf7\x68\xf7\xf8\xf9\xb1\x55\x57\x5d\xb5\x6a\x69\x4b\xef\x39\x37\xf6\x0f\x0c\xf4\xdf\xf7\x0a\x58\x7c\xee\xb9\xe7\xa1\xff\x80\x98\x2f\xc3\xc2\x1d\xae\xd0\x3e\x67\x5d\x2c\x70\xcd\x4b\xd7\x34\xad\x59\x8d\x57\x5f\xde\xda\x81\xb3\x9d\x07\x2f\x1b\x26\xdd\xe2\xf9\xef\x1e\x2d\xc5\x2e\x53\xb1\x80\xad\x30\x8f\x14\xdb\xeb\xe0\x89\x2b\xb7\x95\xf4\x30\x3a\xee\x8b\xfa\xec\x41\x1b\x16\xc3\x02\xd1\x48\x34\x62\x63\xef\xf8\xb1\xfc\xd3\x37\x6f\x94\xbf\x7c\x7e\xdb\xb6\xe7\x81\xf9\x46\xe0\x79\xed\x57\xdb\x1f\xde\x75\x62\xe7\xce\x13\xbb\xe6\x5e\x79\x56\x7b\x31\x87\xf4\xaa\xc7\x0d\xf4\xaa\x13\x6f\x9d\x38\xf1\x16\xdc\xf8\xa6\xfc\xec\x53\x38\x23\x28\x03\xe6\xe7\xb7\xa5\x7e\xb6\xf9\xa2\x77\x86\xde\xb9\xa8\x6a\xd2\xa2\x99\x81\xa1\xb6\x36\x9c\xe7\xc4\x89\xec\x1a\x22\xc6\x68\x30\x50\x85\x54\x05\xd1\x04\x09\x75\x29\xef\x88\xe1\x20\xa3\x12\x24\xea\xf9\xab\x60\x5d\x2b\xac\x45\x3a\x85\x45\xf9\x82\x71\xd8\x8e\xcd\x57\x37\x6a\x44\xc7\xd1\xf3\xc9\x2d\x37\xcc\x28\x33\xe2\x75\xc5\xb2\x19\x7b\x0e\xef\x99\x51\xa6\x6c\x60\x59\xdf\xe1\xc1\x24\xfe\xee\x98\xe4\xe1\x4f\x43\xae\x6f\xc9\x8a\x03\x8f\x01\x85\x93\x3d\x20\xb5\xbf\x3b\x68\x95\x07\x3e\xbe\xea\xe0\x45\x33\x67\x5e\x74\x50\xd9\xc8\x65\x90\xc2\x17\xc8\xe4\x97\x4e\xe4\xf8\x82\x42\x2a\xd6\x00\x83\xf4\x1b\xca\x98\x89\x92\x21\x78\x06\xa8\x18\x0c\x25\xc9\x09\x8c\xd6\x99\x90\x08\x59\x12\x7d\x16\x49\x4b\x20\x25\xd5\x65\x70\x1e\x90\xda\x48\xd1\x09\xe5\x5a\x52\x05\x15\x01\x01\x03\x90\x0c\x11\xcc\x81\x14\xc6\x1c\x48\x01\xe2\x2b\x21\x29\x0e\xf9\xca\xb5\x09\x2a\x09\x31\x42\x80\x31\xcb\xac\xab\x42\x1b\x60\xcd\x3e\xf7\x20\x26\x91\x7f\x1f\x29\xc3\xa7\x9c\x84\x09\x26\xaf\xcc\x0a\x90\xa0\x03\xc0\x04\x29\xb3\xf2\x2c\x1c\x7e\x93\x29\x7c\x48\x7d\xee\xf0\xd8\x9a\x22\x8a\x8a\xf8\x88\x6f\x64\x10\xf3\x41\x8e\x9e\x5b\xfb\x61\x4f\x3a\x29\xb1\xe7\xa6\x93\xb0\x47\xa1\xce\xce\xce\x77\x4c\x72\xb0\xdf\x28\x79\x99\x9e\xc1\xa4\xc4\xbc\x96\xcf\x43\x82\xfb\x67\x8a\x51\xb0\xe7\xdc\x23\x5b\x55\x1c\xd1\x4e\xc3\xdb\x38\x34\xa2\xd9\x7e\x97\xd7\x12\x63\xb4\x21\x79\x0e\x7a\xdc\x19\xdf\xdd\xb0\x1b\xa9\xd7\xd2\x94\x5a\xc6\x33\xbc\x3b\x7a\xe4\x73\x73\xf1\xc4\x2e\x8c\x46\x92\xfb\xee\xed\x0e\xc6\xe1\x81\x4d\x90\xd8\xbe\x83\x31\x0c\x1d\x46\xf1\x02\x53\x0e\x49\x60\x41\x09\xb1\xe2\xaa\x34\x51\xca\x42\x79\x45\x03\xe8\xbb\xbc\x61\xca\xf9\x11\x00\x22\xe7\x4f\x69\xf8\x11\x98\xda\x50\xbe\xb2\x53\xbe\x62\xa9\x6e\x42\x79\x4b\xcc\x81\xa6\xe7\x58\x4b\xf9\x04\xdd\x12\xf9\x47\xfe\xd6\xf3\xe6\xce\x60\x53\x13\x56\xd0\x8d\x43\x1f\x13\x2f\x7c\x57\x4d\xe8\xdf\xab\xca\xaa\x6b\x6a\xaa\xcb\x76\xfd\x21\x0c\x16\xcc\x3a\x18\x91\x07\x13\x7c\x75\x51\x89\x28\x96\x14\x55\xf3\x89\xcf\x9c\x65\xd7\xb7\xcd\xec\x5d\x4e\xde\xf9\x23\x68\x3c\x3b\x87\xc4\xfd\x95\xab\xf8\x16\x76\xc5\x55\x17\x7b\x13\x92\x15\x7d\x85\xa2\xde\x66\xf1\x89\xe6\x6a\xe0\xb3\x05\x48\x88\x25\x58\x26\x3f\x09\x56\x80\x75\xf3\xe0\x9c\xd5\xeb\x7e\xb8\x9a\xb9\x56\x7e\x6a\xf6\x82\xb6\xf9\x36\xbd\xfc\x14\x12\xfb\x41\x27\xb4\x96\x4d\x59\xd7\x76\xf4\x4d\xfa\xda\x21\x1f\xfd\x47\x50\xdb\xb9\x72\x65\xe7\xb4\xb3\xcf\x1e\xfa\x20\xfd\x12\x14\xd7\xef\x98\x14\xf1\x44\xd2\xef\x82\x6b\xc1\x97\xe3\xc7\x1f\xf4\x8e\xaf\x2f\xfe\x73\xe6\xbd\x29\xe3\x6b\x1d\x99\x13\x71\x38\x76\x49\x38\x84\xc3\xff\x23\x78\xd5\x0d\xfb\xf4\x90\xb9\x83\xe3\x47\x2c\xf3\x63\x80\x3f\x06\xa9\xe6\x3b\x5f\x97\x3f\xba\xfd\x21\xf9\xe5\x73\x79\xa0\xd9\xaf\x33\x99\xf9\xce\xb7\x77\xf4\x3e\x77\x60\xf6\xec\x03\xcf\xf5\xae\x7c\x7c\xf2\xfe\xbc\x95\xf9\xbd\x1b\x80\x74\xfd\xed\xa0\xf0\x75\xba\x50\x7e\x49\xfe\xe8\xf5\x9d\xd7\xed\xd3\x15\x68\x0e\x68\xa1\x6e\x45\x2f\xca\xfe\x26\xba\x6a\xca\xc4\x03\x79\x2b\xf7\x97\xac\xd9\xb8\xf3\x75\x54\xc6\xd2\x53\x36\xee\x6f\xec\x6f\xb1\x4f\x9b\x6f\x18\x68\x2d\x0e\x4e\xf5\x70\x38\xde\x97\x55\x8f\xb5\x32\x24\x1c\x9a\x75\xa8\x5d\xa8\x8a\xc3\xc8\x01\xac\xba\x76\x24\x30\x24\xb4\x84\x0d\x63\xec\xdb\x0c\x16\xec\xdf\x82\x1b\x08\xef\xee\x8d\xa1\xf2\x53\xd4\x1e\xa1\x54\x80\x36\xc6\xcc\x68\xe8\x42\xda\xad\x77\x89\x2e\x63\x69\xa1\xdc\x5b\xa8\xd5\xda\xf5\x1e\xda\x13\xd2\x99\x2d\x3a\x0b\x67\x85\x82\x00\x96\x8e\x95\x15\xdc\x3c\x46\xd6\x3d\x80\x2a\xc7\xab\x54\x1b\x82\xd1\xe0\x39\xc1\x20\xc0\x96\xb1\x72\x80\x9e\x25\x40\x2b\x87\x32\x99\x75\x21\x74\x81\xde\xae\xd5\x92\x95\x32\x23\xba\x95\xde\x8d\x6e\xaa\x41\x37\xb7\x41\xf4\x18\xf4\xac\xd1\x59\x51\xa9\xc6\xc8\xba\xe7\x14\x55\x8e\xea\x12\xce\x61\x78\x28\xfe\xc4\x98\xbd\x15\x5b\x36\xa6\xe7\x62\xab\xb3\xc2\x9c\x14\xab\x02\x38\x8a\x9d\xf8\x7b\x60\x2e\xe1\x92\x11\x39\x32\x1e\x71\xc0\xcc\x2b\x76\x1f\x4b\x86\xf9\x1d\x24\x09\x0b\x32\xd0\x2b\x9b\xaf\xd7\x70\xee\xda\x2a\x7e\x4d\xf3\x72\xb3\xb5\xfb\xd6\x03\x56\x73\x05\x5c\x49\xce\xa4\x5f\x21\x1b\xa8\xe6\xbb\xf2\x6a\x29\x70\xf2\x07\x01\xe9\x6a\x8c\x66\x05\xce\x01\x5d\x5f\x5e\x03\xc8\x99\xe9\x50\xa5\x47\x3e\x02\xf6\xb8\x2a\x05\xb7\x4b\xde\xcb\xce\x68\x9e\x71\xa0\xb4\x7b\x46\xf3\x16\x41\xc9\xf1\x0a\xd9\x6c\x57\xf2\xa5\xe4\xc1\x3f\x14\x15\x7d\x00\xb8\x27\xf1\x4d\xae\xf9\x52\x7e\x3c\x33\x2e\x28\x98\x5b\x76\x3c\xff\x51\x48\x50\x43\xb2\x0f\x86\xa4\xe7\x63\x0a\x1a\x7d\x49\xcc\x1c\x62\x72\x60\x5c\x18\x7e\x60\x38\x1a\x17\x01\x89\xee\x92\x7b\xe5\x3b\x4e\x5c\xbb\x77\xa1\xdb\x59\x75\xf3\xae\xf2\x86\x49\x2d\xaf\x82\x55\x27\x4e\x80\xd9\x79\x18\x5d\xac\xc9\x39\x0a\xa4\xeb\x4b\x70\x3b\xf8\x2b\xb8\x9d\x49\x5e\xf9\xf7\xfd\x9b\x5e\x99\x56\xdb\xb3\x64\x76\xdb\x39\x21\x4e\x73\xe5\xdf\x81\xf8\xf7\x5f\xe5\x80\xbb\x6c\x96\x31\x70\xbb\x7e\x0c\xc2\x47\x8f\xe6\xd6\x20\x70\xec\x46\x23\xb5\x3a\xbf\x16\xd9\x3a\xd4\x85\xf0\x5b\xf8\x0e\x14\x05\xf0\xdd\xf8\x09\x48\xfc\xa3\x17\xcb\xaf\xcb\xff\xbe\xa3\xaf\xe7\xec\x80\xbf\xb0\x22\x3a\x73\xfa\x2d\x40\x77\xc7\x1d\xe9\x3b\x31\x6e\xc2\xf1\x33\xa0\x2b\xb0\x8d\xdf\x0b\x55\xe1\x1a\x26\xd9\xfb\xe8\xda\x39\x37\xd7\xd7\xcf\xb3\x4a\xc5\x3a\xa1\xf7\xd1\x57\x1f\xfd\xeb\xfe\xbf\x9f\x01\x6a\x61\xf0\x9b\x33\xa3\x2c\xec\xba\xe0\x04\x1a\x1f\xc0\x29\x8a\xbe\x08\x8d\x61\x3e\xc5\x0e\xab\x18\x20\xe2\x12\xab\x18\x27\x54\x67\x78\x34\x4a\xd0\x41\x1c\xf0\xb2\x5d\xd4\xa7\x3f\x32\x16\x31\x3a\x8b\x85\x79\x41\xee\x63\x34\xa2\x51\x64\x7f\xcd\x38\xcd\x60\xaa\xe4\x62\x8f\x82\xab\x34\x8c\x44\xbf\x6c\x75\x0e\xee\x2a\x80\x6c\xa1\x99\x2e\x5d\x03\xf4\x26\x27\xdd\x20\x88\x05\x16\x8d\x4e\xae\x59\x09\xf3\xb9\x3f\xe6\x0f\x5f\x0f\x45\x4a\x0f\x92\x4f\x47\x92\x23\x8f\x79\x8c\x18\x6e\x03\xb9\x09\x5e\xc1\xf3\xb1\xf9\x54\x14\x41\x9e\xaa\x2f\x55\x42\x0a\x7b\x64\x8a\xac\xc8\x8e\xb9\xd7\x55\x07\x95\x7d\x12\x78\x58\xda\x03\x31\x72\x5f\x69\x7d\x7e\x38\x62\x2a\x95\xc9\x3d\xc6\x5e\x5d\x57\x2a\x73\x2d\x3e\x9a\xea\xaa\x4b\xd5\xe7\x64\x93\x14\xd2\x66\x67\x51\x8b\x55\xb9\x28\xe3\xf0\x8e\x91\x73\x2c\xb1\x5a\x65\x95\x11\xab\x4d\x5c\xc6\x14\x84\xbd\xc9\xc0\x88\x5d\x32\x99\x29\xb8\x04\x31\x0a\xcf\x1a\xd8\x24\x04\x6c\x21\x3f\x4f\x6e\x47\x27\x6f\x7e\xf3\xe6\x50\x5d\x68\xe6\xea\x99\xbe\x56\xda\x27\x19\xf5\x86\x9a\x45\x8d\x1d\x17\x94\xf3\x36\x46\x6f\x11\xf5\x8c\x8d\x2f\xdf\x71\xc5\x0e\xb2\x2b\x5a\xc8\xee\x05\x1d\x8d\x8b\x6a\x0c\x7a\xa3\x04\x2a\xa9\x53\x60\xfe\x4f\xaf\x02\xc6\x81\xfb\x7c\x20\x4d\x95\x55\x94\x61\xdf\xdf\xe7\xd3\xc7\x7b\x6f\xbe\xb9\x17\x8b\x30\xb5\x33\x67\xd6\xc2\x0e\x7d\xc8\x28\xe9\xaa\xaa\xa6\x35\xeb\x4a\x38\x8b\x85\x2b\xd1\x35\x4f\xcb\x4f\x57\x55\xe9\x24\x23\x0b\x9f\x02\x96\x2b\xba\xaf\xff\xf3\x01\x08\xdf\x5a\x09\xe1\x4a\x2c\x94\x32\x59\xbb\x8a\x06\x69\xc4\x6e\xac\x81\xb0\x3e\xc5\x96\xe2\x1b\xb5\x58\xe2\xcb\xc6\x70\xb7\x0c\x27\x45\x21\xab\xf7\x34\x92\x6c\xf1\xba\xbb\x9c\xc4\xec\x8c\x69\xb2\x9a\x09\x53\xa8\x0e\x14\x28\x97\xdf\x81\x54\xce\xd8\x52\x5f\xca\xa0\x94\xcd\x84\xe7\x82\x24\x5e\xca\x07\xfd\xc0\x9b\xc5\x8a\x4d\x9f\x8b\xf2\xcf\x4f\x93\x77\xde\xaf\x2c\xd3\x63\xd3\x8a\xd1\x84\xe6\x83\x9e\xac\x5c\x49\xb8\x60\xcc\x54\x29\xb5\x94\xd8\x26\x49\x58\xb9\xaa\x33\xa1\xe6\x57\xa3\x1a\xac\x0a\x53\x76\x24\x46\xf4\xdd\xb8\x15\x7b\xb8\x65\xa1\x31\xb0\x66\x48\x02\xb6\xc8\x9b\xcb\xfc\x61\x77\xf2\x28\x51\x1d\x20\x1c\x90\x5c\xd2\x39\x75\xb8\x5c\xb5\xab\xa6\xf7\x4f\xda\x78\xf9\x81\xcb\x37\x4e\xea\xd0\x8d\xd3\x25\x8d\x1f\x19\x93\x68\xdb\x91\x5c\x57\xd9\xd4\xcc\x54\x17\x14\x54\x1a\xdb\xaa\xac\xdd\xcb\xbb\xad\x55\x6d\xc6\xca\x82\x82\x6a\xa6\xb9\xa9\x72\xdd\xe2\xeb\x9e\xfa\xe9\x53\xd7\x2d\xa6\xc9\xca\x6b\x55\x2d\xba\x9b\xb7\xab\x6e\xea\x45\xb3\x2a\x2b\x67\x5d\x34\x75\xcd\x2c\x7d\x85\xfe\x96\xeb\xae\xbb\x05\x6d\x66\xad\xb9\x6d\x73\x4d\xd7\xd6\xda\xc2\x58\xd0\xed\x0e\xd6\x15\x39\x9c\x55\xb5\x15\x75\x75\x15\xb5\x55\x4e\x47\x51\x1d\x3e\x16\x2b\xac\xdd\xda\x55\xb3\xf9\xb6\x55\x47\x37\x4f\x98\xb0\xf9\x28\x19\xff\x15\xec\x59\x17\x89\x41\x21\xcb\xd4\x39\xdb\x90\xc2\x23\x49\xdc\x25\xcc\x79\xb8\x94\xa1\x5c\xa0\xba\x02\x67\x66\x3c\xd9\x2f\x19\x0d\x06\xf9\xe7\x5a\x2d\x48\x10\xaa\xc8\x1e\x4c\x86\x48\x50\x26\x4f\xf6\x13\x94\xdf\x1e\x05\x45\x12\xf4\xa0\x5a\xa0\x7f\x3a\x94\x0f\x33\x2e\x26\x30\x42\xa4\x04\x7d\x19\xb0\x48\xb2\xb4\x9c\x85\x84\xcc\x60\x04\x12\x6e\xa2\x28\x89\x01\x2e\xcf\x59\x80\x32\xb6\x2c\x4c\x10\xc8\x7e\x87\x5d\x99\xa5\x44\x61\x80\xdc\x78\x00\x93\x51\xf6\x60\x32\xca\x15\x3a\x98\xb1\x36\x5f\x75\x3e\xb6\x36\xdf\x0e\xe8\xa6\x29\x2b\xfa\x0e\x8f\xdb\x7b\x3f\xec\x11\x44\xd0\x43\xec\x3c\xfd\x84\x01\xb3\x1f\x55\x6b\x85\xe1\x6d\x62\x83\xde\xfb\x7e\xdc\x63\x7c\x1b\x54\xfc\xf8\x60\xeb\xe1\xbe\xae\xd6\xe2\x13\xa3\xcb\x18\x26\x8e\xcb\x0a\x3e\x45\xd6\x0f\x37\xa2\x22\x42\x9c\xb6\x8c\xf8\x31\xa8\x15\xee\xd2\xe5\x15\xf6\x3b\xca\xd8\x2f\xe0\x9a\xa0\xfc\x06\x83\x20\xca\xa4\x8d\x41\x8f\x24\x7f\x76\x9a\x42\x66\xfa\xbb\x1a\xff\xb5\x88\xea\xc9\x59\x74\xd8\xac\xaf\x06\x1d\x47\x5f\x29\x01\x29\x50\x40\x09\x70\x14\xa6\x37\x8e\x3a\x00\xfe\x7a\x33\x68\x66\x61\x32\x1c\x0d\xdb\x0f\x85\xeb\xb0\x0f\xa6\x87\xc9\x3a\x76\x28\xa6\x5e\x26\xa4\xb8\x6d\xe8\x83\x8d\xbd\x1d\xf6\xc6\xc9\x9b\xfa\x37\x4d\x69\x28\xd8\x07\x26\xef\x2b\xe8\x3b\xec\xad\xef\xae\xf7\x76\xf5\x76\x91\xed\xa4\x26\x00\x18\x9d\xa6\xa3\xb7\x31\xa8\x97\x53\xaa\x1b\xc7\xef\x88\x09\x7b\xf7\x85\x07\x0e\x5c\xd8\xb1\xe7\xf0\xd6\x25\xa6\xba\x8e\x57\xac\xab\x5b\xba\x37\x6d\xea\x6e\x59\x6d\x7d\xa5\xb5\xb8\xb7\xb7\xb8\x35\x71\xb8\x6f\x71\x51\x19\xfe\xb8\xcb\x8a\x16\x63\xbc\x8c\xdc\x5e\xc7\x0e\xbf\x6e\x42\x71\x5d\x99\x64\x5a\xb2\xf5\xf0\x1e\xfa\xb7\xaa\x43\x47\x36\xb6\x5c\x69\x8b\x19\x39\x49\x2f\x8e\xd4\x1f\x8b\x95\xf1\x96\x60\xc2\x12\x95\x62\x94\x98\x7d\xc8\x17\x81\xde\xa5\x37\xa6\xf8\xe2\x93\x35\x21\xe5\xed\xe1\x70\x61\x9b\x72\x86\x48\x12\xb5\xd9\xb0\x85\x29\x0d\x0a\x7c\xf4\xbd\xef\x87\x5c\x9c\xce\xd2\x1c\xc0\x6e\xef\xbe\xe2\xe3\x40\x73\xbc\xd8\x87\xd3\x81\x66\x8b\x8e\x73\x85\xde\xbf\x17\x1f\x6a\x98\x82\x5a\x87\x56\x9c\x0e\x12\xad\x2b\x6d\xf2\xf6\x23\x1f\x7e\x78\x64\x9f\xf5\xb7\x07\x09\xa4\x86\xa7\x04\x49\x71\xa2\x7c\x1e\x59\xbd\x3b\x24\xa2\x9d\x12\x0f\xc4\xfc\x60\x07\x7f\x6b\xdd\x47\x0e\x5e\x69\x5b\xd9\x8a\x9a\x46\xe5\xfa\x54\xec\xaa\x58\x9b\x0d\x2a\xbe\x51\x6c\x0e\x1e\x1d\xe9\x4e\x91\xac\x2b\x94\x8a\xa1\x1e\xc9\x78\x44\xc9\xfd\x04\xd5\x91\xe9\x1f\xa2\x92\x8a\x0b\x14\xa4\xf6\x2d\x4d\xa0\x83\x4c\x12\x83\xc6\xed\x5b\x4a\xa3\xf4\x20\x92\xb7\x14\xcf\xa7\x81\xa1\xd4\xd2\x7d\x2c\xb5\x0f\xb5\x69\x2e\x46\x2c\x32\x22\x42\xec\xfb\x47\x85\xd1\x89\xef\x19\x08\xf6\xbd\x02\xbf\x14\xd9\x30\xa1\xca\xf6\x7e\xf2\xa6\x49\x65\x81\x4f\xe9\xf4\xa8\xc3\x96\x8f\xe0\x5b\xe5\x92\x9b\xba\x13\x89\xee\x6f\xbf\xe4\xa9\xc3\x7d\x83\x54\xdf\x61\x3e\xf1\xe1\x91\xc4\xbe\xa5\x18\xed\x12\x2f\xc2\x1c\xa1\xc7\xf7\x6f\x92\x93\xe9\x14\x7a\x3e\xa3\x45\x7d\xca\x8b\xdb\x0b\x0e\x60\x76\xae\x1c\x16\x7a\x25\x35\x51\x91\x06\xf8\x6c\x84\xa9\xd2\xa5\x48\x97\xb1\x2b\xd8\x2b\xc3\xd3\x6c\x36\x67\x9e\xb4\x03\x93\x53\x1a\x08\xf0\x7f\xc3\x94\x7c\x18\x05\x1c\xc5\x42\x91\xe3\x68\x98\x38\xbe\x0f\xbb\xda\xb1\xa9\x74\x12\x7d\x16\x43\x5f\xe1\x8f\x80\xd6\xa3\x0f\x05\x2a\xf0\xb0\x3d\xc4\x19\xaf\x7f\x64\xfa\x5b\xc2\x99\x01\xd1\xe8\x4d\x7b\xf7\x1d\x57\xec\xbe\x4a\xfc\x8a\x84\x66\x03\x05\x03\x77\x2e\x61\x34\xb0\x8d\x34\xb2\xf3\x16\x1f\xe6\x44\x05\xea\x0c\x6f\xc9\x01\xe4\x2a\xf9\xd8\x11\x56\xc0\x91\x56\x41\xf6\x38\xf6\x73\x50\x2d\xef\xc9\xd2\x9e\xc2\x7d\xe0\x02\x9d\x41\xfe\x95\x01\xac\x22\xee\x0d\x14\x06\x1d\xce\x40\xce\x08\x22\x1c\xc8\xa4\xf2\x8f\x8a\x02\xb3\xaf\xb0\xa7\x74\x30\x89\xef\xc2\x11\x2b\x7c\x87\x7c\x45\x91\x01\x34\x18\x4e\x8a\x0c\x85\xc5\x81\x93\x14\xdd\x93\x31\x1a\x09\xfd\x39\xeb\xde\x29\x2a\x97\xc6\x11\xdf\x59\xfc\xfa\xd1\xb6\xa4\x87\xa9\x9f\x51\x6f\x50\x7f\xa4\xbe\x40\x12\x94\x09\x14\x83\x4a\xd0\x32\x9a\xb7\x3a\x3a\x62\x9f\x1d\xb1\x3f\x32\xff\x48\xde\xea\x91\xe7\xcf\xb4\xff\xff\xfa\xfa\x33\xe5\x1f\x59\x5f\x8c\x08\x6e\xc9\x78\x5b\x8e\xc2\x62\xc2\xbc\xd2\x59\x31\x2d\x87\xd7\x4d\xe5\xd2\xa7\xf2\xd2\xf4\x69\x8e\x9f\x2e\xfd\x7f\x23\x3f\x3c\xcd\xf1\xe1\x65\xc6\xf8\xa9\xb8\x6e\x04\x18\x8b\xca\x67\x7f\x1f\xc8\xd6\xf4\x5f\xa3\x2b\x9e\x77\x2c\xfd\xaf\x31\x0e\x8e\x95\xfa\x3f\x95\x51\x1e\xeb\x60\xee\xe7\xe4\xf5\x18\x74\x74\x40\x11\xe0\xf2\xdc\x81\xf1\x0a\xe4\x77\x7c\x33\x4f\x51\xbf\xa7\xbe\xfa\x7f\xff\x95\xfc\x6f\x7a\x69\xd6\x2f\x23\xaf\xbf\x16\x80\x0c\xdf\x40\x20\x3a\xdc\xdb\xa8\x05\x44\x6c\xa3\xf1\xed\x23\xbe\xac\x06\xf3\x7f\xa5\x77\x7f\xdf\xde\x77\x0a\x6b\xc2\x68\x1c\xc4\x69\xa5\x17\x92\x53\x79\xe5\x49\xaa\xf7\xcb\xf4\x4d\x90\x40\xa3\x24\xe6\xc1\x49\xfc\x1f\xeb\xa3\x67\xe8\x51\x43\xd7\x33\x49\x2f\x1e\xb0\xbd\x83\x49\xd2\xaf\xe8\x94\x52\xd0\x9e\x9e\xac\x63\x95\x92\xae\xcc\x7d\x3e\x80\x5c\x21\x0f\x84\x90\xd0\x91\xc8\xf2\x98\x63\xdb\x6b\x33\x46\x06\xca\xb7\xbe\x12\x08\xd7\x8c\x38\x27\x91\xd7\x97\x65\x8f\x08\x64\x28\x24\x6c\xd9\xb7\x59\x1b\x53\x00\x20\x86\x19\x68\x43\xc4\x3a\x1b\x53\x6c\xb3\xd9\x69\x98\x2c\xbb\xc9\xaf\x80\xe4\x9d\x82\xe6\x97\x3c\x64\x29\x72\xe0\x15\x24\xad\x13\x53\xb7\x82\x9d\x9f\x49\x62\xae\xca\x54\xc6\x5e\x4b\xbe\x1b\x97\xf4\xa2\x94\x70\xf5\x2b\x56\x1c\x75\x09\x0f\x69\xb8\x90\xff\xa5\x41\x97\x3e\x46\xf6\x69\xef\xa8\xfb\xe0\x24\xac\xc2\xe6\x9f\x8c\xe5\x16\xfb\x74\xf6\xbb\x12\xe8\x6e\xc4\x5f\x3d\x94\xc1\x96\x50\x70\xeb\xc3\x54\x0d\xfa\x16\x3b\x95\x28\xca\x33\x56\xfd\x7b\x49\x85\x44\x7b\x1a\xa3\x8a\x69\x45\x5a\x4c\x12\xe9\x87\x49\x0d\xa6\xfa\x73\xd2\xa2\x17\x1d\x04\xfd\x63\xd7\xe6\xf3\xef\x14\x22\x33\xf8\x1c\x04\x17\x1e\x5b\x2a\x38\x23\xe0\x03\x8a\x08\x5e\x4e\x47\x23\x96\x00\x1f\x08\x63\xab\x60\x34\x1c\x8d\x63\x43\x66\x34\x1e\x71\xa0\xa3\xd1\x26\xa8\xf8\xfa\x82\x88\x83\x45\xda\x3a\x9f\x04\xf2\x87\x72\xff\x40\x42\xfe\xfd\x24\xdc\xfc\x3d\xfd\x89\x44\x7f\xaa\xc7\xeb\x4d\xa6\x52\x49\xaf\xb7\x27\x85\xf7\x89\x30\x34\x09\x04\x13\x03\xa0\x27\x79\x50\x03\x13\x5e\xf4\x3f\x52\xc3\x04\xad\x17\xf4\x0f\x78\x53\x5e\x8d\x33\xe9\xd4\xa0\xed\x00\xe8\xf7\x6a\xb1\x22\x98\xf0\x16\x8e\xd7\x11\xfd\x21\xa1\xfa\x9f\x70\xa8\x17\x12\xeb\x04\x16\x73\x6d\xbe\x68\x9c\xb4\x67\x38\xee\x8b\xfb\x90\x98\x84\xf1\xb6\xa7\x47\x19\x34\x31\x24\x93\x47\x3e\x4c\x78\xc1\x80\x97\x4e\x79\x13\x38\xde\xe2\x14\x15\x9d\x2e\x27\x52\xa9\xd4\x87\x47\x40\x22\x91\x4c\xa6\xbc\x43\x03\xc3\x38\x53\x31\xf3\x49\x8e\x2e\x75\x84\xdf\xa3\x02\x0f\x42\xf0\x0f\x47\xe1\x00\x11\x3f\x3e\x99\xca\xf1\xd6\xc2\x0c\x73\x6a\xbe\xed\x36\xa5\xd8\xae\x30\x05\x46\xc6\x86\x85\x07\x04\x19\x7b\x01\xd0\xff\x31\xc2\x37\x71\x44\xb9\xbe\x0f\x97\xeb\x58\xe5\x92\x53\x4a\xd9\x52\xca\xb3\x94\x52\x25\x46\x96\x4c\x21\x73\x4d\x28\xa5\x1b\x7e\x01\x6c\x1c\x5e\x30\x88\xe4\xec\x19\xf4\xbf\x98\x08\x92\xe2\xc6\x61\x8d\x76\x24\x17\x2e\xaf\x05\xcc\x58\x07\xe1\x56\x5d\xad\xce\xa5\x93\xab\x74\x3a\xf0\x16\x4a\xd4\xea\x74\xf2\x0e\xb0\x1f\x1c\x18\xf3\xf0\x31\x92\x22\x47\xd0\x8f\x92\x65\x87\xbc\x43\x37\xf6\x61\x52\x2e\x23\x2a\xd7\x7f\x66\xca\x45\xe5\x7c\x5b\x72\x9c\xba\xcc\x58\x07\xe1\x5c\xfc\x70\xe5\xbe\xfb\xd1\x13\xc8\x4d\xc1\x5b\xa8\x5c\x63\x1d\x86\x33\x94\xb2\x92\xbd\xfd\x60\xbf\x5a\xe2\x2a\xdd\xd8\x87\x71\xb9\x66\x50\x57\x33\x11\x66\xee\xb0\xf6\x1a\xce\x0f\x21\x8e\x75\x90\x89\x9c\xa9\xd6\xc3\x0e\x7f\x36\xaa\xa8\xf8\xf9\xe0\xfc\x31\x0f\x53\x4a\xb9\x8e\xa1\x72\x6d\xcd\x6f\xaf\x11\x1c\x13\xe2\x58\x07\x51\xb9\x4e\x5b\xdd\x31\x0e\xc3\x63\xa3\x5f\x2e\xca\x81\x0b\x36\xc6\x61\x3c\x16\xa1\xfe\x05\xb7\x92\xf7\x88\x4b\xa5\x05\x23\xe9\x96\x51\x47\x52\x73\x0f\xeb\x37\xf4\x67\x63\x37\x16\x19\xdf\x50\xdf\x80\x73\xb3\xf7\xfc\xde\x9d\xe0\x74\x6f\x9b\xdc\x73\x06\x30\x32\x11\x7a\xae\x72\xcf\xff\xc1\x0b\x04\xe7\x9e\xee\x9d\xe0\x7b\x56\xa2\x7b\x6e\xcd\x95\xf3\x7b\x36\x3e\x5d\x79\x9a\xe6\x54\xed\xd0\x8a\xdc\x58\xad\xe0\xa5\xe6\xa3\xf4\x28\xb6\x7c\xab\x27\xab\x91\xd7\xb5\x82\x68\xde\x18\x82\x97\x1a\xbf\x25\x22\x02\x97\x20\xb6\xfd\xf4\x80\xd7\xab\x90\xa4\x7b\xbd\x69\x02\x91\xc4\xe1\x60\x2e\x2f\x4d\x64\x8a\x21\x9c\x95\x9e\x81\x5d\xd0\x82\xb3\x5b\x8c\x78\x0c\x11\x9a\xbb\x43\x39\x77\xb4\x3c\x1f\x10\x13\x89\x58\xc7\x63\xdb\x70\x4b\x43\x00\xe4\x61\xcf\xe1\xb2\x62\x11\x50\x95\x19\x23\x6c\x6d\x1d\x1a\x01\xad\x11\xd0\x9f\x75\x72\x9b\x38\xd8\x2f\x19\x19\xf2\xf8\xc1\x14\x5e\x08\xed\x57\x60\x9b\xfa\xe9\x4d\x66\x73\xbf\xd9\x0c\x28\x05\x3d\x54\x41\xbf\xa5\x7b\x72\x0b\xdc\xd2\xd0\x5c\xb2\x58\xdd\x83\x66\xa9\xac\x3f\x38\xa3\xc8\x3a\x0e\x34\xb3\x67\xe5\x9c\xe0\x98\xad\x96\xbf\x64\xa0\xe0\x3c\xfc\x50\x6d\x01\x23\xad\x34\x56\x0e\x0b\x6f\x2d\x59\x40\x18\x50\x56\x94\x87\x70\x09\xe8\xd7\x86\x39\xea\x31\x4a\x01\xc8\xba\x89\x43\xf1\x46\x3f\xdd\xd3\x21\x69\x82\x26\x30\x92\xc2\x00\xbc\x49\x00\x91\xa8\x53\x48\xaa\xa3\x48\x1d\xd1\x6f\x0a\x37\x41\x3f\x18\xdf\x55\x27\x53\xca\xea\x43\x5d\xd7\x0a\x05\x37\x89\x34\x81\xb2\xde\x4f\xcf\xf0\x7a\xbd\x43\x24\x03\x83\x7f\xf3\xe7\x1f\x3d\x2a\x0f\x45\xa9\x4c\xb5\xad\x40\x31\x4e\x66\x59\x9e\x6f\xc8\x92\xd2\x1e\x3a\x34\x8a\x96\x96\xe9\xcf\x23\xad\x7d\x6e\x2c\xac\x07\x75\x4e\xf7\x11\xf6\x9f\x5c\x7d\x5a\x61\x13\xc8\x10\x1d\x67\x69\xc8\xf2\xe9\x7e\xc6\xce\x40\x53\x9b\xba\xe5\x64\xf7\x26\x6c\xe2\x27\xb3\x59\xa2\xef\x70\x7d\xe9\x40\xf7\x26\x3a\x79\x9a\x13\x30\x81\x0f\x6f\xea\x86\x29\xec\x1a\x40\xa6\xbe\xc3\x7d\x48\xf8\x55\xb2\x8f\x71\x9c\x1a\xb3\xdc\x02\xcc\x53\x73\x90\xac\x47\xe6\xe9\x7c\x9a\xa2\xef\xce\x40\x53\xa3\x0a\xb6\xa9\x1b\x24\x71\xb9\x4f\x73\x82\x49\xa5\x13\x23\x4b\x0c\x48\x89\x4f\x73\x1c\x17\x59\x83\x64\xf9\x04\x59\x2f\xd4\x52\x16\x82\x8a\x86\xbf\xbf\x26\x35\xd6\x40\xc1\xd1\xa9\xcd\x46\x0c\x66\xa2\x0b\xac\xca\xf2\x6b\x2e\xde\x60\xec\x1c\x8a\xd7\x1e\x14\xa6\x47\xeb\xba\xa6\xf7\xc1\x16\xc5\xb8\x7e\x25\xd9\x30\x69\x42\x15\xd0\x37\x7d\xa8\x79\xf9\xbe\xe5\xcb\xf7\x31\x5f\xaa\xa6\x77\x05\xd0\x6c\xef\xbe\xa5\x98\xf5\x71\xe9\xbe\x5f\xf6\x4d\xc7\x19\xe5\xff\x52\xa4\x75\xc5\x90\x9e\xbe\x06\xdf\x70\xfa\x74\xfa\x1f\xf8\xd2\xe5\xe9\x7b\x94\x93\x4a\x48\x82\xbc\x45\xb9\x32\x23\xc7\x66\xfb\x2c\x95\x8f\x74\xc1\x8d\x44\x25\x51\x7d\x1b\xf3\x3a\xe3\x30\xfe\x5a\x60\xa5\x31\xa4\x82\x0a\x62\x8a\xfd\xc1\xd9\xf2\xe1\xfe\x57\x36\x4b\xc4\x2b\xa1\xd1\xf1\x62\xda\x64\xe0\x0d\x66\x93\x85\x65\x03\xad\x2b\x37\xdf\x72\xdb\x4a\x4c\x5a\x2b\x53\x12\xd6\x21\xd1\x07\x0f\x7f\x7d\x77\x14\xf4\xff\x50\xfe\x33\xef\x77\x69\x2d\x56\x93\x36\xc0\x75\xc4\xd7\xf4\x6f\x9f\x1f\x2b\x36\xe0\x98\x5d\x92\x0d\xff\x60\x14\x57\xf9\xdc\x1f\x64\xb1\x64\x29\xf2\xdd\xd5\x50\x8b\xf0\x4c\x20\x00\x7f\x15\xa8\x23\x2c\x7b\x79\x69\x87\x82\x2a\xe5\x0f\x2b\xfe\x91\x1e\x1a\xd3\x95\xd1\x92\x95\x17\x98\x80\xbf\x8a\x09\x67\x2c\x63\xca\xba\x39\x5e\x56\x27\x8b\xbf\x30\x59\xd0\x32\xaf\xa5\x00\xff\xc0\x5b\xb2\xc9\x67\x0e\x9c\x3f\xee\xd6\x29\x0f\x4d\xb9\xb9\xfc\xfc\x03\x89\x95\x87\x7e\x30\xe7\x81\x39\x3f\x38\xb4\x32\x31\xd0\x12\xba\xfc\xfa\x9f\x1f\x5e\x3a\x33\x79\xff\x81\x2b\xfa\x7c\xad\x57\xb8\x23\xe7\xdc\xbb\xe1\xfa\xbb\x6f\xd8\xb7\xfe\xde\x0d\x11\xf7\x15\xa0\xb7\x7b\x5e\x47\xc7\xbc\xe1\x3f\x17\x5d\xf0\x80\x4d\xaf\xb7\x3d\x70\xc1\xa2\x4b\xa7\x57\x0a\x42\xe5\xf4\x4b\x81\xe6\x8d\x8b\x66\x6c\x6a\x0e\x68\x39\x69\x5c\xeb\xea\x09\xbb\xde\xfc\xec\xc8\x9c\x45\xdb\xd6\xce\x9a\x17\xf0\xce\x99\xb9\x76\xdb\xc2\xd9\xfd\xc3\xbf\x2b\x07\x7e\x0b\xea\xb8\x87\xbf\x9a\xef\x1c\x7d\x15\xb6\x24\xa4\x8a\xa7\x13\x39\xf3\x33\x26\x8d\x1d\x45\xa0\x34\x00\xc9\xb9\x44\x16\x52\x10\xfe\x75\x24\xa3\x92\xc2\x63\xb9\x9d\xc5\x3c\x96\x61\x1c\x21\x05\xea\x14\x10\x3b\xd4\xc2\x04\xb4\x17\xc4\x82\xbe\xe8\xc8\x82\x21\xc5\x95\xcd\x31\x2f\xe5\x97\x8b\x58\xcc\x1d\x76\xee\xab\xe8\x60\xaa\x74\x89\x4b\xfe\x9d\x18\x65\x12\xa5\x4b\x0b\x40\x48\x1c\xbc\x92\xa6\x32\xd8\x85\xb8\xd0\x80\xaa\x38\xc8\x36\x54\xc9\xef\x95\x1f\x6a\x1f\x4c\x65\xcb\x8d\x34\xbb\x54\xec\x2c\xbb\x09\x2e\x0b\x94\x17\xcb\x37\x3a\xcd\x81\x8a\x62\xb0\xc1\xfe\x78\x7f\xae\x2a\x47\x41\x53\x74\xd2\x3d\xad\x8d\xf2\x8d\xd1\x49\xb9\xca\x2c\xed\xaf\xa9\x22\xf3\x1a\x9b\xc7\x47\x5e\x48\x95\x50\x75\x84\x65\x88\x98\x50\x43\x04\x6e\x84\xe0\x41\xb7\x02\x0f\x18\x09\xea\x47\x99\xab\xa0\x57\x80\x66\x0f\x44\x23\xbf\x98\x4f\x52\x7e\x5e\xf0\x65\xf9\xe5\xa0\xc6\xe9\x2a\xa8\xd6\x14\x5c\xfe\xc0\xe5\x05\x9a\xf1\xb5\x4e\x59\xa7\xf8\xd2\x4c\x57\x7c\x69\xa6\xaf\x3d\xfa\x99\x3c\xf4\xd9\xd1\xb5\x68\x0b\x98\xcf\x8e\x7e\x3c\x92\x68\xfd\xb5\x0b\x6f\xb8\xe1\x42\x74\x03\x74\x9b\xee\x55\xab\xba\x5d\x4e\x73\x35\x78\xa3\x4f\xb9\x9a\x7c\xfa\x32\xbe\x6c\x6d\xee\x36\x68\xb8\x1e\xf1\xdd\x8e\x5d\x37\x3b\x81\xf1\x53\xec\xfd\xd8\xe3\x02\x7f\x2e\xff\x83\xba\x69\x9c\xb5\xe3\xd5\x5a\x55\x17\xb8\x9c\x1a\x5c\x57\x39\xfe\x3f\xab\x5b\xa4\xa0\xda\x9c\xa9\x96\x06\xdd\x06\x55\x15\x6a\xff\xb7\x75\xd3\x13\xdf\xfd\x72\x6c\xe5\xcf\xf8\x21\xe2\x2e\xf6\xfd\xab\x94\x0c\xb9\xd2\x44\xdf\x84\x49\x97\x1c\xfa\x9f\xd5\x44\x31\x0a\x82\x27\xfe\x47\x85\x57\xe5\x3c\xb4\x51\x66\x99\xf6\xef\xb7\x42\xc2\x8c\xf0\xef\x2a\x31\x53\x01\x7f\x38\xc0\x29\x10\x10\xbe\x5a\x3a\x21\x0a\x29\x51\x48\x0a\xa2\x12\xf1\x90\x49\xc2\x84\x5a\x19\x75\x23\xbf\xfd\x76\xea\xd0\xfb\x87\x52\x6f\xcb\x6f\x83\x8a\xb7\xe9\xe4\xdb\x20\x35\xea\x1a\x9c\x5c\x47\xaa\xa3\x7a\x78\x11\x9c\xf2\x64\x12\x54\x80\x07\x00\x66\x31\x37\x65\xd7\x45\xf0\x58\x8c\xfd\xa8\xf1\x5c\x39\x97\x5a\x41\x6d\xa0\x76\x50\x97\x92\x95\xd7\x7b\xa8\xc7\x88\x15\x1f\xd5\x09\x0d\x07\xa8\x1e\xf1\xbc\x74\x38\x2f\x8d\xf2\xa0\xf7\x86\xd2\xa8\x16\xc1\xd3\xe7\x39\xe3\xf1\xd3\xa5\xd9\xfc\xb4\x25\x9b\x8e\xe2\x7d\x89\xb0\x93\x8d\xb4\x09\x98\x7b\xcc\xe8\x5f\xd2\x3c\x60\x46\xff\xd4\x3d\x86\x32\x0f\x21\x81\x91\xee\x31\xa7\xb3\xe7\xc9\x06\x8c\xbd\x9b\xd9\xca\x94\xba\x9f\xdb\xa2\xdb\x6e\xc2\x17\x7c\x8b\xa6\xd5\xe9\xd1\x6f\x09\x76\x26\x46\xd0\x04\x9b\x48\x8e\x2f\xf3\x7e\xd3\x5f\x8e\x3a\x24\x8f\xb1\xa3\x6e\x80\xb2\x51\xff\xc9\xfd\x24\x9f\x19\xc7\x9f\x0e\x25\xf1\x1f\x7e\x10\x8d\x7f\x15\x91\x3a\xa1\xae\xd5\xd9\xa9\x32\x6a\x01\x96\xd6\x32\xbe\x41\xbc\x85\xf0\x84\x10\x6c\x00\x30\xc2\x6c\xa8\x5a\x07\x33\xd1\x71\xd8\xd1\x94\xc9\xa2\x47\xc4\x89\xdb\x6b\x26\x62\x0c\x0d\xee\xc9\x07\xf7\xcf\x69\x5b\xfd\xc0\xf2\x63\x1f\x7f\x75\x3c\x7e\xf6\xaa\x78\xbc\xb0\xa2\xe1\x82\xc1\x73\x03\x45\xc4\xde\x55\x14\x40\x7d\x8b\x4d\x05\x74\xfc\xef\x6e\x5a\x34\xb9\x30\x31\x79\x53\xe3\x5a\xf9\xab\x15\x26\xd1\x6c\xf6\x16\x07\x16\x5e\x7d\x6f\xe7\xa6\x5f\x6c\x0a\x45\x76\x1e\xb7\x6b\x8b\x8b\x8b\xc1\xdf\x60\xef\x12\x6f\x4d\xfc\xe2\xf4\x83\x9b\x4d\xc1\x02\xb7\x60\xa7\x37\x07\x1a\x2d\x83\x02\xb1\xbf\xfd\xd3\xd2\x88\x8d\xda\xdb\xd3\x6c\x58\x64\x99\x6d\x01\xc1\xe7\x29\x5c\xd4\xa8\xd5\x48\x41\xf8\x71\xc0\x6a\x2b\x6f\x09\xb5\xc6\xa5\x4d\x06\xd6\x2c\x5a\x71\xec\x4f\xa6\xee\x2c\xea\xc1\x65\x54\x2d\x35\x99\xda\x82\xbf\x43\x8e\xb7\xc5\x24\xf2\x8b\xd2\xe1\x28\x1a\x2a\xb5\xa8\x39\x6c\xa4\x52\x0e\x1b\xaa\x17\x3a\x89\xea\x6a\xb3\xff\xff\x6a\x16\x3a\xf1\xc4\x2b\xaf\x3d\xf6\xd0\xdb\xef\xd2\x9f\xfc\xed\x46\xab\xc4\xd6\x1b\x6b\xa5\x2a\x57\x45\xa0\xc2\xee\x70\x49\x6b\x9f\xd8\x20\x59\xcb\x6a\x2e\x38\xf6\xe0\xfe\x4a\xdf\x0d\x83\x0f\xfd\xaf\xda\x0a\x3a\x53\xe6\x35\xcf\xf4\x80\x47\x5e\xd0\x9c\xff\xdc\x46\xb9\xfe\xe9\x6d\x95\x03\x9c\x96\x2e\xe4\x9c\xbc\xc4\xe9\x19\x86\xfe\x43\x63\x54\xcb\x1d\xb7\x40\xfe\xb9\x25\x9a\xe7\xcb\xc0\xe7\xff\xbb\x86\xc4\x6b\x4b\x48\x2e\x21\xeb\x07\x25\x0a\x1b\xe7\x88\xf5\x03\xbb\x75\x64\xfc\x29\xec\x1c\x6b\x41\x41\xc7\x54\x8a\xc2\x10\x31\x84\xd2\x78\xd4\x1a\x37\xf6\x2a\x8a\x5c\x99\x17\x79\x87\xfb\x70\xe5\xa9\xeb\xf9\xb9\xcc\x67\xe4\xf9\x0d\x2a\xc7\xe8\xf0\xe5\x35\xbb\x55\x8b\x66\x74\x4c\x92\x86\x03\xe9\x31\x84\xf5\x98\xc5\x84\xeb\xc7\x5a\x6d\xd3\xc1\x49\xf2\x95\x8c\xc3\xd0\x6a\x34\x32\x60\xbb\x92\x80\x57\x8f\x59\x81\xfd\x63\xaf\x44\x31\xbe\x93\x5f\xa1\x8b\x2d\x8c\xc3\xc8\xea\x95\x44\xba\x77\xec\xca\xe5\x7c\xe3\x9f\xa5\x6c\x18\x53\x07\xd8\x32\xf0\x34\xb8\x42\x18\xb7\x92\x00\xd6\x61\x22\x0a\xc5\x4f\x52\xc4\xee\x7a\x23\x32\xd9\xd0\x13\x90\x28\x4b\x10\x6c\x14\x71\xbb\x68\x5c\x58\xde\x2a\x49\x9c\xd1\x5f\x1e\x2d\xe4\x34\x56\x8e\x2e\x80\xe5\x37\x26\xde\xb9\x6b\x78\x1e\x70\xdb\xf1\x07\xc1\x8b\x93\x31\xba\x8a\x2a\x7b\x63\x47\xf0\x49\xf2\x16\x1c\x09\x30\xa3\xf1\xa6\xdd\xbb\xeb\x0d\x16\xa0\x71\x81\x83\xf7\x4d\x99\x65\x1c\x1c\x91\x4f\x3e\x59\xf8\xf3\x63\x8a\xac\x0a\x4f\x1d\xe3\xf6\xb0\x03\x94\x8e\x2a\x45\x75\xa8\x44\x6d\x4f\x5b\x1c\x2c\x1d\xd6\x02\x89\xe0\xb7\x06\x09\xe7\x11\x66\x3c\x8a\x61\xc2\x23\x24\x81\x4b\xac\x07\x30\x77\x03\x20\xdf\x3e\xd1\x73\xa4\x09\xb4\x36\x1b\xc0\x57\xf2\x8d\x0b\x58\xbb\xc3\xe2\x90\xdb\xe4\x36\xb4\xb1\xb3\x0b\xe4\x1b\xbc\x62\x25\xf8\xf7\x87\xd6\xa2\x42\xdb\x87\xe0\xdf\x95\x22\x6c\x3f\x59\xa7\x6b\x06\x13\x87\x5a\x8a\x1f\x00\xab\x26\x82\xa8\x7c\xa7\x6c\xf0\x05\x0d\x7f\xff\xbb\x21\xe8\xc3\x5c\x49\xde\x38\x8f\xa9\x92\xc6\xc9\x0d\x9d\x7c\x9c\xca\x60\xef\x26\x89\x8f\x31\x95\x03\xd5\xf7\xf9\x31\xe0\x1b\x50\xb0\x2f\xd8\x0b\xd3\x49\x4b\x29\xab\xb3\xbb\xd3\x29\x7b\x40\x27\x5a\x59\xca\x68\x76\x8b\x26\x9e\xb9\x67\x90\x0a\x40\x36\x60\x87\x09\x77\x45\xa9\x0e\x26\x79\x49\x18\x97\xc1\xda\xc4\xb2\x39\x44\xa3\x49\x3d\x41\xf0\xd7\x02\x9f\x62\x01\xcc\x9a\xf9\x7c\xaa\x2f\x85\xa2\xe8\xe6\x48\xa8\xe3\xa8\xf7\xe1\x75\x3c\xe2\xf4\x52\x09\xe7\xa6\x93\xe8\xef\x18\x93\xcc\x98\x2a\x86\xfa\x87\x59\x2e\xe8\xb9\xff\x46\xfd\x45\xab\xfd\x9a\x18\x76\x50\xd6\xdf\xa1\xbf\x9e\x3c\xeb\x06\xdd\x93\x67\xe1\xf8\x5a\xab\x45\xb9\xff\x3d\x74\x4c\xa4\x54\xfe\x22\x26\xc7\xa3\x32\x3d\xb7\x8e\x22\x8e\xf0\x19\xc7\xbe\x47\x0a\x47\x4c\x11\x20\x0b\x60\x44\xdd\x8b\x67\xc6\x39\x1b\x1e\xfb\x90\x58\xcc\x46\xd5\x03\x00\xfb\x4d\x65\xfe\xc1\xa7\xc9\xe6\xe6\xba\x0a\x38\xd0\x7e\x45\x72\x6e\x45\x1d\xd2\x46\xeb\x2a\xd4\x4d\x6c\x75\x7c\x42\x57\x59\xd8\x42\x76\x9d\xe4\x12\xe6\x69\xb2\x99\x4a\x7e\x7b\xea\x16\x17\xc8\x1f\x5e\x1c\x2a\x2f\x6d\x9d\xe4\x2a\x58\x5c\x87\x15\x77\x74\x88\xae\xcb\xa5\x65\x93\xab\xd8\x52\x10\x2c\x6b\x9e\xa5\x1e\x54\xb0\xee\x93\x24\x96\xd3\x88\xb4\xf7\x20\x92\x74\x97\x52\xbd\xd4\x36\x6a\xaf\xca\x10\xac\xae\x3c\xda\xad\x0e\xc5\x27\x96\xf8\xb8\x84\xf2\xe4\x45\x36\x1b\xa3\x10\xc6\xe0\x5a\x68\x50\xc0\xce\xff\x71\x3b\x1a\x19\x00\x9f\x05\xcb\x71\x00\x3e\x44\x9c\x11\xdb\xd4\x40\x04\x26\xef\x16\x20\xef\xd6\xec\xb0\x87\x82\xa7\x4e\x51\x7a\xa7\x5e\xab\x05\x14\x7e\x79\xfd\x0a\xd3\xd2\x40\x5e\x2c\x2c\x0b\x15\x08\x1c\xf9\x51\x9b\xed\x0b\x60\x71\xcf\x71\x5f\x5f\x58\x28\x7f\x2e\x06\x6c\xa0\x7b\x5e\xfa\xa6\x2f\xe4\x2f\x54\x38\x1d\x20\xa2\x63\xf2\x23\x2a\x62\x0e\x98\x69\x83\xd7\xe4\xdd\x26\xfd\x4f\xe5\xd6\xe0\xa6\x61\x0f\x04\xda\x53\x14\xe9\x09\x80\x6c\x22\x79\xe1\xb8\x03\x24\x7f\xff\x05\x18\x26\x07\xcc\xb2\x05\x44\xf9\x73\x37\x50\xc0\x75\x80\xf4\x85\x0d\x3d\x6a\x01\x5c\x2e\x02\x51\x05\xdc\x91\x3f\xff\xd2\x86\x8a\xb4\xe0\x7c\x72\x81\xfc\x13\xdb\x7a\x85\x34\x8a\xca\xbb\xe5\x7d\xc3\x1e\x86\xc7\x83\x1e\xf4\x91\x0c\x91\x75\xcd\x66\xc5\xaf\x73\x98\xe5\x1b\x8f\x66\x42\xfe\x51\xe2\xe8\xae\xc2\x42\x93\xb9\x14\xc4\x45\x1f\x76\x5e\x4d\x39\x91\x34\xe3\x24\x3f\xa0\xb9\x38\x3c\xa5\x22\x3c\x2e\x8e\xf6\x4c\xb6\xbd\x33\x9b\x6a\x97\xb5\x4c\x28\x0f\x4c\x35\x8a\x06\xe3\xbd\x46\x56\xd3\x0f\xc6\x77\xdf\xbd\x77\x0e\x70\x66\x2e\x70\xc2\xa9\xb1\xe5\x4d\xcd\x6e\xbb\x63\x5e\x81\xa5\x38\x28\x55\xce\xbd\x3e\xe0\x6e\xac\x2e\x4b\x14\x15\x9c\x65\xd6\xec\xd6\x79\x8c\x40\xd7\xda\x7b\x53\x46\xd7\x86\xf8\x7b\xf6\x60\x1e\xad\x7c\xe4\x0b\x85\xa6\x37\x33\x91\xd9\xf0\x37\x4b\x8f\x9c\xdd\x92\xca\x1a\x70\xc8\x95\x48\x64\xa8\xb0\x51\x22\xa9\x70\xd1\x28\x40\x64\x59\xd8\x0b\x90\x54\x0d\x63\xe9\x54\x88\x59\x4b\x0c\x4b\x4a\xe0\x2b\xa4\x56\xa2\x1f\x4f\x96\x77\x64\xc4\x43\x24\x5a\xd1\xa7\xc3\x74\x48\x8d\xe1\xce\xbf\xbd\xa7\x10\x84\xf1\x6e\x18\x14\x82\x20\xb6\xcc\x06\x81\x77\x00\x9f\xc4\x3f\x0c\x97\x26\x19\x69\x02\x88\x86\x47\x2c\x8a\x95\xd9\x0d\xe8\x9b\x99\x86\xeb\x1a\xc0\xd1\xfd\x84\xe2\xd0\x04\x7c\xd1\x88\x44\x07\xa2\x3e\x02\x79\x10\x89\xb5\x41\x9f\x2d\x40\x4b\xc0\xe6\x23\xee\xc4\x4c\xe6\x1d\x85\x15\x0e\x1b\x12\xa9\x13\x89\xd2\x97\x7c\x73\xc4\xa9\xa1\x69\x40\x33\x40\x67\xba\x4d\x96\x93\x2f\x3c\xb3\x1f\x58\xaf\x84\x36\x74\x90\xd6\x14\x5c\x05\xc0\xee\xa7\x5f\x85\x9f\xa6\x65\x9a\xa9\x9b\x79\xd6\xcc\xba\xa6\x71\x91\x2a\xc1\xbe\xde\x15\x9c\xbb\xfe\xbc\x2b\x6a\xa6\x2f\xea\x8a\xd3\x7f\xbd\xff\xfe\xa1\x32\xad\x81\xe6\xb5\xd0\xea\x3c\x79\x3f\x08\x00\xf3\x03\x1f\x31\x21\xad\x41\x6b\x28\xfb\xe8\x01\xf9\x2b\xf9\xb7\xf0\xfe\xd7\xdd\x85\x62\xa2\xaf\xbd\xad\xaa\xd5\x17\xaa\x09\xeb\xdd\x4b\x83\x45\x13\x76\xac\xaa\x5f\xde\xd4\x58\xde\xec\xeb\x56\xe6\x21\x16\xfb\x90\xd1\x7b\x51\xdd\x3a\xbf\x5f\xdd\xd8\xd3\xd7\x8d\xfe\xfe\x75\xfb\x7b\x5a\x66\xe8\xe1\x75\xeb\x3e\xe7\xbc\x2b\x26\xad\x5a\x3d\x8d\x39\x73\xd5\xde\x7b\xdd\x5d\x09\x46\xd7\x6c\xe2\xfa\xf6\xc6\x8e\x70\x37\xa9\x17\x40\xba\xd7\xc5\xac\x82\x37\x47\x05\xb1\x0f\xbb\x1d\x2f\xc3\x90\x1e\x11\x22\xf3\x18\x5e\x39\x4d\x82\xee\x34\x25\x3f\xc2\x7d\x65\xd2\x17\x0c\x25\x43\x8d\x69\x2a\xd4\x66\x46\x69\x1a\xa5\x69\x94\x26\x38\x7b\x4c\xd4\x3f\xbd\x70\x88\xaa\x18\xe7\x47\x5b\x06\x6d\x95\xf5\xbe\xf7\xc9\x58\xda\xab\x60\x64\x11\xf4\x6c\x8c\x27\x6b\xf3\xf3\x98\x14\x26\x14\xad\xcb\xc5\x1e\x63\x62\x1f\x35\x6e\xa0\x1a\xf8\xc3\xfe\xa8\x05\x63\x64\x60\x41\x17\x07\x30\x67\x02\x96\x09\x2d\x12\xa6\x8a\xb1\xe1\xe6\xc7\x58\x1b\x0a\x01\x10\x52\x10\x16\xcf\x1a\xd7\x59\xd9\x11\x3c\xcf\x0b\xec\x7a\xff\xc5\xbd\x55\x2d\xf3\x02\xe3\x02\xe7\xcc\x9e\x77\xbe\x27\xe8\xa9\x0a\x76\xaf\x38\xac\x0d\x6a\x8d\x00\x42\x58\x1c\xa4\x0f\xaf\xe8\x0e\x56\xa1\xe3\xe7\xcf\xef\x3e\x07\xe5\x9a\xd7\x92\xf8\x6b\x35\x60\x59\xe0\x0c\x54\x54\xda\x1b\x6a\xba\xcb\xe7\x2c\x01\x4f\xce\xc6\xa7\x2e\x0a\xdf\x1c\x66\x91\xd8\xa1\x8b\x36\x04\x3b\x2a\x3b\xc7\xcd\x5a\xbc\x64\x4e\x79\x77\x4d\x83\xbd\xb2\x22\xe0\x84\x0c\x84\x00\x30\xd4\x88\x4b\xd5\x92\x34\x44\x3d\x23\x9e\xa6\xca\x65\x4c\x92\x70\xd9\x45\xc8\xf7\x48\xf1\x36\x5f\x86\x2d\x9d\x38\xa0\x87\x28\xfc\x75\x92\x95\x77\xca\xab\xa6\xf1\x94\xe0\x25\x53\x82\xd7\xce\x24\xe5\xf7\xde\x23\x30\x84\xea\x7a\x03\xa0\xde\x93\xdf\xc3\xcb\x07\x04\x64\x11\x25\x4e\x51\xc7\xe5\x6f\x8e\x63\xff\x5b\x3a\x91\xfc\x40\x7e\xc6\xb9\x4f\x71\xae\xdc\xe7\x04\x53\x3e\x50\x86\x0c\x05\xbf\x91\xa0\xe4\xac\x95\xa9\x7d\xc7\x8f\xef\x83\xf8\x17\x7b\xd7\x22\xb9\x66\x2b\xf1\x77\x6d\xc7\x33\x3b\xba\x61\xb6\x38\x5a\xa0\x78\xd1\xf3\xa8\xd1\xf3\x0a\x39\xaa\x02\x61\x3e\x1f\xf3\xc0\x6e\x0d\x02\x05\x04\x1d\x98\xd6\xe0\x10\x0d\x66\xbd\x7c\xd3\xf1\x7d\xf1\x58\xcf\xd9\xe7\x3c\x43\xca\x3b\xaa\x3e\xbb\xcf\x93\xd1\xb8\x3f\x47\xa7\x63\xde\x22\x5b\x79\x67\xfa\xfa\xe3\xfb\xd6\xde\x07\x67\xad\x59\xb7\x51\xa9\x40\x14\x7a\xe4\x9b\x92\xfb\x8e\x4b\x3d\x11\xb5\x22\xae\x61\x55\x35\x76\xc8\x3a\x74\xa5\x0b\xdf\x02\x6f\xd1\x1d\x70\x0d\xcf\xcf\xfa\x49\x2b\x3c\x49\x7e\xc5\xcf\x01\x7d\x9d\x92\xc5\x2a\xb0\x84\xf0\x32\x8b\x45\xce\x24\xe4\xc4\x8e\xe5\x7f\x4b\xb5\xaf\xda\xbf\x6d\x4f\xd4\x6c\x28\x34\x98\xa3\x7b\xb6\xed\x5f\xd5\xae\x38\xbc\xc0\x04\x4c\x0e\x5e\xdb\x36\xed\x69\xfa\x91\x34\xb5\xe0\xc1\x4b\x2f\x9a\xd3\xe9\xc2\x8c\x6d\xae\xce\x39\x17\x5d\xfa\xe0\x02\x65\x60\x54\xe5\x25\x2a\x8b\x0f\x11\xc0\xb6\x00\x87\xcf\xe2\x0b\x8e\xf0\x7e\x18\xbd\x3f\x22\x62\x48\x15\xf4\xb2\x29\xd4\xa2\x68\x72\x39\x89\x3e\xbf\x9c\xe3\x27\x9d\xe7\x04\x8a\x09\x2f\x4e\x12\xb6\xc5\xe4\xf2\x89\x98\x41\x4f\xd9\xa0\x23\x48\x7a\x4b\x01\x2f\x01\xd1\x20\xf2\x5d\x5e\x7a\xe6\x20\x31\x51\xb1\x38\x92\x88\x30\xe7\x29\xbf\x5d\xa4\xdd\x68\x22\xf3\x0e\x20\xb9\xaf\x2b\xe7\x5f\x1e\x54\x61\x1d\x83\x55\x38\xd4\x69\xb8\x63\x6d\x3c\x8a\x91\x07\xd4\xcf\x1a\xc7\xa5\x65\x1d\xa4\x7d\xe8\x64\x90\xc0\xc5\x40\xc5\xb3\x9c\xfe\xa1\x41\x63\x60\x68\x39\xa1\x17\x4e\x51\x1b\xaf\x53\x26\xbf\xdd\xab\xbc\x4d\x9b\xa6\xb4\x58\x19\x4b\xa9\xd9\xe8\xb0\x18\x58\xa9\x7e\xc2\xfa\xfa\x82\xe5\xfb\x96\x0b\xa0\x4a\xd0\x83\x14\xcd\xa0\xab\x58\xe5\x9d\xf7\xc8\x29\xb3\x96\x07\x3d\x50\xd4\xaf\x75\x3c\xb2\x75\x88\x4c\x55\xb4\xb7\xef\x41\xcf\xc6\xea\xa6\x69\x3e\x4d\x80\x37\xd4\x3a\x75\xde\xe9\x13\x26\x89\x65\x15\xb8\x56\xbe\x62\xbd\x08\x7b\x00\xaf\xc5\x75\x2b\x39\xe5\xe5\x14\xbb\x64\x65\xae\x6e\xc0\x8a\xa5\x57\x1a\xb3\xf0\x11\x04\x1f\xa4\x6a\x64\x53\xb8\xfc\xf1\x58\x09\x36\x3e\xf5\x13\x41\x15\x38\x6f\x7a\x74\xf6\x16\x2b\x14\xe4\x24\xaf\x35\xe8\x13\x46\x76\xbe\xfc\x5f\xf2\xdf\x69\x4e\xd0\x26\x2c\x86\x01\x9d\x19\xec\xea\xe9\x3e\x0e\xe6\x01\x56\xb0\x32\x8a\xc4\x0a\x92\xdf\xca\x37\x3e\xd6\xdd\x23\x5f\x66\xd6\x0d\x30\x5a\xfc\xd2\xac\xa0\x60\x3e\xd0\x26\x24\x2b\x48\x0a\xd0\xba\x65\xf6\xb3\xd7\x48\x19\xff\x21\xee\x84\xa2\x6f\x00\xda\x87\xb9\x92\xca\xf1\xd6\x87\xfe\x68\x1f\xc1\xb7\xe6\x4e\xdc\x2b\x3f\xfa\xa8\xb1\xd0\x5d\xff\xe0\xab\xf2\xa3\xaf\xca\x7f\xc2\xbf\xb7\x30\x43\x6b\x7e\xd2\xd4\x5c\x06\x07\xd3\x2c\x9d\xa8\xf7\xfa\x86\xa6\xd0\xcf\xe0\x3f\x30\x65\x76\x67\xe7\xcf\x86\xfb\xc1\xe0\x01\x87\x0a\xc6\x63\x75\x48\xc3\xca\x60\xd5\x73\x24\x1a\x25\xdf\xd4\x43\x5f\xbd\x56\x92\xe4\xd7\x40\x44\x92\xd6\x62\x8d\xae\x51\x92\xc0\x8b\x52\x1d\xfc\xc1\x88\x55\xcd\xab\xf1\x59\x10\x41\xf9\xea\x24\x7c\x45\xa3\x92\x19\xbe\x7b\x5a\x7c\x75\xe5\xf9\xe8\xd1\x61\x15\x90\xde\xa1\x55\xc1\xdf\xf3\x9f\x0f\x5f\x43\x8f\x53\x6e\x87\x6e\x0b\x22\xf2\x6b\xa4\x20\xf4\xe4\x91\xcf\xc7\xa5\xc2\x45\x53\x8a\xf9\x1a\xca\x87\xaf\x38\xd3\xf3\x41\x3c\x96\x89\x76\x51\x20\xf0\xb5\x23\x9e\xcf\x5c\x9d\x57\x1b\x29\x57\x49\x30\xb2\x01\x80\xd2\x02\x23\x0b\x0b\x46\x16\x60\x8c\x77\x90\x69\x7e\x6d\xa6\x21\x46\xbe\x83\xca\x51\xf5\x52\x5e\xc2\xc8\xa5\xe5\xcf\x48\x23\x8c\x7c\x61\x70\xc7\x18\x6d\x90\x20\xb1\x23\x16\xd2\xc3\xe2\xa8\x67\x61\x48\x9a\x80\xc4\x46\xa2\x41\xc9\x17\x06\x3e\x9a\x0d\x32\x7d\xe6\xa1\xab\xaa\xe1\x6a\xfb\x0b\xcf\x1b\x1f\xb6\x83\x3e\x06\xac\xab\x4d\x5f\x64\x92\xeb\xd9\x64\x32\xfd\xd3\xf4\x2f\xe8\xa3\x0f\xa7\x3f\xfd\x28\x1a\xbd\x4a\xfe\x74\x35\x58\x05\xbd\x4f\x80\x77\x4e\xae\xbc\xfb\x6e\xd2\x7f\x0d\xa7\x12\xdc\x7f\xab\x18\x72\x3e\x2d\x94\x7c\x3c\x8b\xee\x2b\xf9\xe2\x3e\x20\xb1\x1f\xca\xff\x1e\x7a\x3f\x3d\x79\x0a\x18\x57\x04\x7e\x08\x3e\xee\x18\x9c\xda\xc8\x3c\x13\x1a\x9c\x8a\x86\xb7\x57\xe4\xaf\x80\x1e\xac\xbe\xfe\xae\xbb\xc0\x5c\x30\xee\x67\x6a\x5b\x99\x79\x85\xb3\x63\x7e\xde\xb7\xaa\x8c\x43\xd5\x80\x43\xad\x14\x1e\x85\x43\xeb\x01\x8e\x3c\xb5\x39\x4f\x01\xb5\x45\x32\x56\x6e\x4b\x2b\x88\x67\xc0\x6a\xe9\x94\x32\x2a\xad\xb5\x6a\x18\x83\x7e\xd9\x0e\x79\xb3\x5c\x27\x6f\xde\xb1\x4c\x2b\x30\x1a\x2b\x1a\x31\x7b\xec\x1a\x8d\x69\x75\xfb\x57\x37\x2a\xc2\x76\xe3\xe4\xc3\x6f\x1f\x9e\xdc\xa8\xec\xdc\xf8\x55\xfb\x6a\x93\x46\x63\x07\x3d\x82\xc8\x7c\x4c\xc6\xa6\xa1\x7e\xb9\xdf\xae\x81\xda\x65\xd7\xde\x7f\xff\xb5\xcb\xb4\x50\x39\x69\x95\xcc\xab\x97\xec\xb6\xc2\xcb\x89\xf4\x7e\x8f\x7f\xfb\x64\xec\x0d\x39\x79\xbb\xff\x1e\x72\x20\x7d\xa1\x75\xf7\x92\xd5\x66\xc9\x2a\x2a\xdf\x3f\x91\x1b\x02\xa3\x38\xb6\xb0\x3f\x27\x61\x22\x55\x91\x04\x08\x5b\x2f\xe3\xcd\x91\x7a\x79\x55\xc9\x40\xa5\xfb\xca\x99\xc4\x08\x16\x70\x82\xf0\x79\x3d\x83\x4b\x8e\x9f\x2e\xa7\x86\xdb\xb3\x14\x1d\x9f\x48\x2b\x39\xa4\xdb\x90\x97\x33\xdb\xbd\x94\x99\x52\xff\x4e\x67\x13\x51\x20\x6c\x81\x5d\x8d\x7d\x02\x67\x2b\x44\xa5\x64\xf9\xff\xa1\x33\x18\x45\xe0\xa7\x0a\x64\xed\xd9\xa0\xf5\x43\x7c\x3d\x9c\x97\xbd\xb4\x22\xbd\xe7\x8c\x96\x1d\xb2\x9e\x82\x44\xf7\x24\x9d\xc1\xd3\x1a\xa5\x31\x8e\xf4\x9d\x1e\xe5\x4b\x9d\xac\x2f\x25\xed\x94\xc2\x1e\xa0\x63\xa7\x69\x6f\x26\x35\xe6\x4f\xd6\xe7\x05\xe4\x70\xbd\x46\x95\xc3\x72\x86\xfd\xfc\x72\x8c\xf5\x03\x72\x65\x00\xbf\x1d\x2b\x99\xcf\x39\xcd\x53\x6e\x2a\x8a\xad\xae\x59\xdf\x17\x4c\xb4\x49\xec\x44\x84\x23\x01\x10\xd9\x23\x04\xab\x40\x09\x66\x71\x20\xc7\xed\x8c\xa8\x9c\x18\xcd\xd0\x08\x15\x97\x61\xf0\x23\xa3\xfc\xcc\x27\x82\xd5\x62\xbc\xf5\x7d\x3d\x10\x8d\x49\xa3\x15\x5c\xcc\xae\xfd\xc9\x27\xf2\x87\xb7\x0a\x5a\x9d\x68\x7c\x15\x2c\x3d\xc1\x93\x13\x3a\x3d\x28\xce\xf7\x8c\x54\x22\xfa\xfd\x9f\x80\x29\x46\x60\x45\xe7\x45\xa0\x7f\xff\x56\xa3\xc5\x6a\xbc\x15\x14\x7f\xf2\x93\xb5\x2c\xd0\xe9\xc8\x51\xfe\x84\x7c\xef\xab\x46\x51\xa7\xa5\x5f\x1b\xe9\x2f\x99\xb3\xe1\x61\x9c\x93\x7c\x06\x0c\x32\x94\x13\x72\x1e\xa2\x4b\x8c\x62\x49\x78\x14\xbb\x58\x15\xfb\xbc\x5e\xb3\xd9\x62\x1a\x85\x9c\x9f\xbe\x49\x9c\x26\x82\x84\x24\x4a\xc1\x74\x32\x28\x69\xb4\xe8\x5d\xc6\x4e\x45\xb9\x57\xd8\x97\x89\x2c\x87\xde\xa5\x96\xcd\xcd\x16\x78\x90\x56\x96\x84\x63\xa8\x6d\xf9\x70\x46\x02\x26\x2b\x61\x0e\xbb\x15\x29\x0a\xcd\xe9\xe7\xe5\xe7\xc1\x7a\xd8\x87\x06\x64\xcc\x3d\x92\x3e\x8c\xc6\xed\x3e\x31\x46\x5f\x39\xb4\x3d\xb8\x21\xb8\xa7\x7e\x53\x7f\xfd\xee\x60\x90\xbe\x12\xed\xec\xc6\x3b\x7b\x82\x4c\xb3\xfc\x7c\x1a\x63\xad\xe2\xab\xea\x70\x6e\x7c\x55\x1d\xbe\x1e\x5e\x3b\xb4\x2d\x88\x2e\xea\xdf\x84\xf2\x6d\x08\xd2\x07\x82\xe8\x22\xb4\xb3\x3b\xb8\x61\x58\xbb\x28\xba\xff\xc8\x90\xe5\x31\x7c\x59\x15\x87\x59\x7a\x94\x5f\x2d\xf1\x5e\x55\x96\x18\x86\x7b\xab\xe6\xf8\xf7\xf2\xfa\xf6\xb0\x15\x86\x33\xf8\x75\xe1\x05\xca\x21\xb2\xe6\x43\x2b\x48\x6e\x39\x87\xae\x64\x3e\xef\x29\x1c\xc8\xae\xd7\xcb\xb5\x84\x16\x55\xc9\x49\xef\xcd\xa7\x40\x45\xe3\x24\x2a\x11\x7d\x92\xbd\x98\x2a\xc4\x7e\xd6\xe5\x20\x07\x56\x8e\xbd\xc1\x03\x39\xfa\x5f\xfa\xa4\x58\x9a\xc2\x41\x57\x36\x8d\xc6\xd0\xaf\x35\x83\x44\xaa\x54\xb4\xb8\x40\x42\x6c\x45\xaf\xdc\x4d\xdf\x17\xc4\x2b\xa6\xa2\xd5\x94\xd2\xc3\x64\x30\x58\x0c\x92\x76\xbb\x9c\xf4\x92\xb9\x0c\xc9\xc1\xe8\x19\x14\xee\x6d\x52\x66\xfd\x46\x75\x25\xc4\x54\x82\x16\x1f\x91\x10\x63\x5e\xec\xfe\x95\x2a\x2d\x71\xcb\x29\x74\x53\x39\xe5\xb2\xa0\x47\xca\x29\x41\xdf\x6f\xd4\x6a\x59\x4a\x12\x86\xee\x9a\xe6\x95\xd1\x7d\x41\xb2\x38\x14\x84\x49\x7d\x4a\xb0\x4a\xc3\x65\x81\x92\x3c\x59\x00\x84\x73\xb2\xc0\xa8\xcf\xf0\x18\x5c\xab\xce\xee\x95\xff\xa9\x8a\x03\x58\x26\x5a\x9b\xff\x16\x3f\x83\x6b\x55\x59\x00\xe5\x51\x32\xdf\x2a\xd1\x3f\xc8\x7f\x9f\xb9\x71\x9f\x43\x23\xbb\x4d\x7d\xa7\x0e\x1e\x3b\xa5\x13\x78\x05\xd2\x7e\x5a\xda\x02\x54\x32\x23\xd3\x68\x1f\xb9\x1b\x6e\xae\xab\xef\x01\x6f\x09\x16\xf9\x03\x8b\x51\xb0\x80\x80\x45\x1e\x84\x5e\x79\x20\x3d\x40\x27\x97\x16\x16\xde\x5c\xd8\x5d\xb8\x14\xf6\x0f\x63\x65\x7d\xe8\xe6\xba\x9e\x7a\xf0\x1f\x46\x7c\x89\x60\xc4\x97\xa4\x13\xd0\x0b\xd0\xb7\x29\x0f\xc0\x9e\xa5\xe8\x8a\x9b\x0b\x0b\x97\xf6\x9c\xee\xbb\x2f\xc0\xfe\xb5\xaa\xdf\x25\xcf\x15\x67\x18\x83\xe2\x40\x59\x40\x18\xd3\x6b\xdb\x4b\xe0\xe1\xd3\x9f\x2a\x0d\x01\xed\x07\x45\xb7\xc1\x18\x1e\xd1\xed\x7b\x00\x52\x22\xc2\xe3\x8a\x70\x3e\xd2\x72\x28\x9f\xc4\x5a\x60\x59\x7e\x49\x72\xe5\x08\xe2\x58\x69\x6d\x66\xd0\x29\x02\x7e\x81\x55\x96\x28\xe2\xb1\x30\xc4\x24\xc6\xca\xde\x28\x84\xb2\xcf\x40\x0f\x7a\x29\xfd\x9e\x70\xe9\x8e\x5f\x5c\x7a\x76\xbd\x4f\x77\xbf\x5e\xe0\x39\x3b\x5d\xd1\x57\xf5\xc0\x55\xa5\x06\x83\x0b\x86\x86\x35\xd7\x63\x28\x3f\x1a\x09\x7a\xb0\xb9\xa4\x3f\xdc\xb6\xa2\x67\xe7\x9a\xe6\x27\xfe\x68\xa0\xb5\x4e\xb0\x72\x47\x5d\x75\x7f\x99\x85\x85\xa9\x61\x8d\x95\x1b\xff\x21\x7a\xb3\x22\xe5\x21\xf6\x14\x60\x01\x16\x34\x79\x03\xd5\xf3\x70\x18\x0d\x15\x0e\xe4\xc0\x41\x37\x32\x45\x7b\xf3\x5c\x0c\x47\x39\x20\x82\x54\x32\x09\x66\xa5\xff\x74\x8a\x42\x1a\xf9\x07\xc4\x49\x51\xc9\x0d\x57\x8c\x98\x92\x73\x78\x6e\x18\xf1\xaa\x52\xc5\xeb\x50\x3e\x1a\xd4\x0c\x23\x47\x8a\x91\xad\xc4\x5c\x28\x3a\xe4\x94\x34\x51\x92\x53\x0e\xd1\x52\x0a\x93\xa5\x37\xab\x7e\x9e\x46\xec\xf3\x39\xfc\xcd\xd1\xcb\x02\xc5\x72\xc2\xed\x06\xa9\xe2\x40\x20\xed\x1d\xe6\x14\x3a\x62\xfc\x1a\x51\x26\x65\xb8\x50\x07\x89\x33\x97\xc9\x52\x9a\x4e\x96\x5a\x44\x07\x9a\x25\x26\x4a\x20\xe1\xd8\x7e\xfa\x32\x81\x7b\x02\x81\x40\x31\x48\xb9\xdd\x72\xa2\x58\xfe\xdd\xf7\x2f\x13\xf1\x53\x56\xec\xbf\x31\x07\x38\x63\x99\x12\xf8\xfe\x01\xe5\x59\xbf\xcf\xb7\x85\x8e\xe8\xdc\x77\xe5\x35\xa5\x05\xb7\x6d\xfa\xef\x34\x19\x89\xc9\x15\xf4\xeb\xc3\x79\x8e\xb1\x20\xf3\x2f\x54\xa6\x1e\x34\x22\x39\xec\x9c\x09\x08\x7c\xc0\x4f\x85\xb3\x22\x75\x28\x9e\x4d\xc6\x28\xc2\xd6\x8d\x84\x6e\x62\x2e\x65\x31\x08\x88\x22\x84\xa3\x82\x72\x0e\x25\x89\x17\x9e\x09\xc6\x14\xd3\x86\x8d\x8d\xf4\x9b\x01\xda\xa0\x67\x19\xa3\xe4\x74\xa3\x17\x20\x7d\x2a\xdf\xdd\xb6\x02\x37\xd0\x44\x48\xb7\xe3\x42\xad\x6c\x07\x67\x0f\xac\x5d\xaa\xd7\x72\x74\x39\x6d\x37\x32\x8c\xc9\x5a\xe0\x2e\x16\xf6\xbc\x54\x0b\xde\x36\x6b\x75\xb4\x93\x75\xcb\x4e\x9a\x06\xaf\x98\x90\x84\xe0\x84\xa2\x5e\xde\x3d\xfe\x95\x8b\xc5\x92\xe2\x42\x9b\x99\x61\x8d\x46\xc3\x5f\x8e\x18\x6c\x98\xa6\x85\x63\x59\x96\x81\x80\xfd\x40\x32\x6e\x36\x4a\x0d\xe3\x45\x61\x8b\x20\xbe\x05\x28\x07\x7a\xbe\xf1\x08\x36\xcf\x02\x9a\xa1\x69\x98\xdc\x64\x30\x08\x5b\x5c\xc1\x0e\x83\xc1\xb4\x49\x6f\xda\xbe\x9f\x66\xd0\x85\x00\xb2\x3c\xaf\xea\xe3\xf4\x10\x6a\x8f\xb6\x9c\x57\xed\xf0\x95\x7d\x05\xe5\x05\x1b\x02\x71\xf8\x16\x47\xa8\xb0\x39\xd5\x61\x4d\x81\x5c\x57\x57\x72\xe8\x21\xd4\xe4\x1d\x82\x28\x19\xcf\x5e\x81\x6b\xba\xe2\xeb\x9f\x3d\x73\x18\xa9\x08\xeb\xb4\x46\xa3\x8e\x2d\xeb\xa9\x9c\xdf\x0b\x6a\x48\x20\xd9\x1b\xe0\x4e\x51\xb8\x1b\xbd\xc8\x6b\xe5\xeb\x70\xce\xc3\xa8\x8b\x5d\x2c\x19\x2f\x15\xc4\x3f\x1e\xfd\xc3\x6e\x4d\x81\xee\x62\x3d\x80\x5a\xb6\xb0\x64\x79\xd7\xbb\xa2\x70\xa9\x51\x92\x2f\x7b\x42\x01\x35\x06\x54\xdd\x29\x8a\x7e\x0b\xe9\x0f\x2b\x15\x9e\xf5\xac\x88\x89\xbd\x18\xdb\x30\xf0\x93\x63\xbc\x02\xd1\x8b\xd7\x5b\xe9\x70\x95\x06\x1b\xea\xb2\x6b\x4d\x98\xa5\x5b\xad\x86\x4a\x25\x89\xa1\x85\xe8\xb7\x7e\x75\x44\x14\x2e\x37\x4a\x13\x77\x75\x77\x14\xb0\x16\xd3\x3a\xde\x6c\xd2\xc2\xcd\x7b\x83\xc1\xd9\xbb\x3c\xc1\xee\xba\x58\xb8\x72\x66\xf5\xc4\x71\x55\x05\x96\xe7\xef\x90\x8c\x97\x0b\x62\xc3\x86\xf6\x66\x91\xb3\x18\x66\x6b\x4c\x82\x91\x76\xc4\x5b\x17\x96\xad\xb8\xc0\x52\x16\x9c\x5e\x55\x1d\xad\xef\x89\x4f\x0a\xba\xc0\x8a\x5b\x3e\x70\x3d\x8c\x5b\xe3\x61\x6d\x45\x65\xc4\x89\x9e\x75\xb9\x0e\x42\x3d\x5c\xe5\xd2\x2c\x98\x55\x58\xeb\x1f\xe7\xb0\x99\xc5\x80\xbb\x62\x5c\x43\xd3\xb4\x71\x07\xde\xf4\x3c\x8e\x61\xa2\x1f\xe1\xfc\xbe\x32\x33\x27\x5a\x0f\x99\x00\xad\xa3\xc5\x40\x91\x63\x41\x87\xab\x22\xec\x0e\x48\xa2\xd5\x51\x1d\x6a\x9d\xb0\x48\x7d\x67\x7b\xd1\x3b\x6b\xcd\xc8\xe0\x02\xe0\xed\x2a\x53\x70\x98\x0a\x67\x9d\x87\xe3\x59\x01\x26\x94\x91\xc3\x33\xa1\xe0\xe5\xc0\xee\xc0\xd6\x9a\xbd\xa2\xf0\x80\xe3\xed\x1f\xdd\x0f\x4a\x04\x9d\xc6\xf6\x4b\xb3\x56\x7e\x1d\x63\x7d\x6c\xda\x77\x97\x5d\x9e\x4f\xd6\xd4\xee\x68\xf8\xcf\xeb\x70\xd1\x68\xf2\xfd\x7d\x52\x6d\x39\x8a\xb4\xc1\xb2\xb5\x82\x78\xf0\x71\xeb\xa3\xf2\xad\x66\x51\x34\x80\x8d\xaf\x6a\x8d\x17\x1b\xa5\x05\x73\x44\x01\x9d\xd8\x2c\x19\x2f\xc3\x79\x51\xb2\x65\xae\x48\x40\x0d\x91\xa8\x81\xca\x8b\xa4\x75\x5f\x40\x05\xf2\x57\x61\x4a\xb2\xdd\x4d\x11\x39\x6a\x31\xc2\x32\x52\x5f\x25\x92\x46\xe3\x6a\x24\xd3\xcd\x6c\xb9\x0e\x67\xe5\xe0\x92\x87\x50\xa7\x20\x31\x8a\xc0\xab\x6c\x7f\x23\xff\x4c\xa3\xd1\x89\xbf\x90\x74\xef\x4a\x41\xdd\x38\xfe\x67\x1a\xdb\xcf\x2c\x3a\xad\x46\xfe\xd5\xbb\xa4\xcf\xfd\x01\xf8\x95\x2d\xaa\x0a\x98\x26\x0a\xeb\x8c\xd2\x7c\x51\xe8\x35\x4a\x70\xa2\xd9\x6c\x16\xe5\x85\xa1\x85\xce\x45\x16\x70\xaf\x64\x16\x2c\xe9\xe7\x24\x63\xaf\x20\xce\x97\x8c\xeb\x04\x51\x7e\xd2\x28\xa9\xbc\xf7\x8a\xde\x51\x4f\x74\x75\xdc\xf1\x31\x57\x4a\x7e\xc9\xb2\x9d\x31\xf7\xe9\x64\x53\xca\xa8\xc6\x48\x7b\xfb\x70\x54\x57\x1f\xd8\x98\x7e\x49\x7e\x08\x7c\x4b\x16\x2c\x79\xc9\x78\x7f\xc6\x44\x9d\xb1\x5b\x43\xf7\x4b\xf4\xba\x97\x2e\x92\x13\xe0\x2e\x79\xcf\x7f\x9f\x3f\xd2\x91\x0d\x1d\xb8\x11\x95\x7d\xbb\x20\xe6\xf1\x0f\x69\x28\x03\x92\x76\x0a\xd0\x68\x7b\x1e\xea\x19\x52\x40\xb2\x5b\x1d\x75\x31\x29\xee\x73\xf8\x22\xe1\x00\x3e\x80\x94\x20\xe5\x80\xa2\x23\xd2\xa4\xc7\xd0\x01\x5a\x61\x92\xa6\xb3\xa5\xcd\x8d\x87\x74\xe6\xbd\xf8\xa4\x61\x5b\x3b\x4f\x67\x17\x1c\x78\x6c\xab\x87\xb3\x8f\x4c\x07\x00\x6c\x0b\xc8\xef\x7b\xc1\x5d\x57\x06\x26\x83\x23\x33\xef\x9e\x8d\x8e\x6c\xf4\xc9\xef\x12\xfc\xee\x77\xee\xe5\x9d\x47\x9c\xfc\x0f\x4f\xdc\x8f\xb6\x7a\x0b\xec\x7f\x13\xd7\xe7\x61\xdf\x35\x78\x73\xee\x62\x56\xa7\x33\xef\x77\xb1\x67\x81\x75\x67\xf3\xce\x3d\x4e\x7e\x25\x38\x77\x19\xeb\xda\x6f\xd6\xe9\xd8\x25\x1b\x71\x96\xeb\xfc\x8f\xa1\x31\x63\x3e\x28\x47\xea\x33\x83\x19\xbe\x1e\x4a\x26\x93\x69\xa4\x4a\xcb\xef\xa0\x1d\x74\xe8\x58\x32\xe9\x45\xbd\x34\x7d\xb3\xd3\x09\x7b\xd1\xaf\xa0\x83\xbd\x44\xd6\x56\x56\x96\xc1\x22\x93\xd1\xe0\x94\x6f\x06\xbd\x4e\xe5\xd7\x60\x34\xc9\x0f\xa8\x19\xb0\x7e\x5b\x7f\x8a\x62\xfe\x8a\xda\x31\x42\x4d\x25\x98\x43\x76\x4c\x7c\x22\x30\xbc\x2d\x10\xf5\x87\x6d\x01\x8b\x1f\x7d\x46\x71\x24\x05\x59\x22\xa1\x80\x05\x3b\x28\x3a\x6a\xe3\xd1\x88\x2d\x86\x81\x50\x3d\x34\x5d\x57\xc5\xf8\x09\x08\x69\x6d\x2b\x87\x77\xd0\xd4\x80\x76\x5a\x39\xe6\x5a\xf1\xc6\xed\xdb\x8c\x7c\x64\xe6\xb6\x8b\xe7\xdc\xda\x5d\x76\xab\x38\x55\x7a\xa9\x78\x63\xad\xc6\xcc\xe9\x8c\x5d\x1b\xdf\x4e\xf8\x6e\x9d\x53\x7a\xeb\xac\x9d\xbd\x2d\x27\x3c\x15\x53\x9a\x17\xd5\xce\xd2\x68\x1a\x43\x1d\x35\x13\xaa\x6a\x3c\xd2\x94\x82\x92\xe6\xda\xce\xf2\x09\x3c\xdb\xe4\x9f\x58\xd1\x14\x2a\x11\xe9\xe4\x93\x5d\x85\x87\xaf\x9c\x72\xce\xe4\x6a\x3b\x73\x6a\x10\x0c\x51\xa7\xc0\x53\x11\x70\x08\x80\xe2\x8e\x7b\x01\x18\xfa\x1a\x7e\x35\xc4\x17\x37\x9d\x9d\xbe\xa3\xa4\xbe\xa4\xc0\xc0\x41\xf9\xc7\x80\x66\x0d\x66\x97\xbf\x0a\x7c\xe3\x8b\xf8\x1c\x3a\x0e\x00\xf9\x35\x34\x3d\x68\x04\x47\x71\x95\x82\x8b\x41\xb0\x25\xd4\x78\x49\x6c\xe4\x77\xb0\x4a\xcc\x60\xde\x94\xcc\x50\x76\x01\xdc\x2c\x08\xe9\x07\xea\x4b\xa1\x37\x0b\x11\xe1\x45\xea\xe0\x6f\x05\x41\xee\x15\xec\xde\xd2\xfa\xc1\x81\x0c\xe2\x83\xc2\xe7\x91\xbd\x6f\x29\xfa\x6e\xa6\xe2\x36\x75\xf8\x2c\x18\x54\x7e\x78\x8c\xb6\xd5\x2e\x9d\x01\xa6\x7b\xe4\x3e\x7b\x1c\x3d\xb3\xd4\x2e\x74\xe4\x17\xa5\xfe\xa5\xb1\xa0\x28\x46\xa6\x99\x12\xc1\x8e\x8b\x9c\x7e\x3e\x57\x5a\x8c\x59\x95\xf6\x66\x75\x33\x20\x8c\x95\xc4\xf2\xa7\x1f\xd5\x69\x37\x87\x51\xce\x4b\xa8\x89\xd4\x1c\x54\xa3\x08\xa6\x06\x0a\xf0\x68\x32\x02\x0a\x0e\x53\x46\x7d\x52\x26\x1d\xa2\x55\xb1\x98\xe8\x2a\xd6\x06\x30\x85\x01\xf6\x82\xc1\x2c\x06\x00\x09\x1f\x36\x9c\x31\x2a\x61\x86\x82\x70\x80\x8f\xe0\xad\x14\x91\x98\xfb\x7f\x32\xd5\x80\xa9\xf0\x98\xf4\x97\x3a\xf9\xe7\x3a\xa3\x41\x2f\xa7\xf0\x4a\x5c\x8a\xf8\xb2\x60\xb7\x97\x8e\xf4\xd3\x60\xb3\x41\x8b\x49\xd3\x0c\xe2\x5f\x2f\x80\x71\xf9\x5a\xce\xa4\x17\xb4\xb6\x6f\xde\x92\x07\xa6\x57\xff\xab\x7a\xba\xfc\xe1\xe4\x8f\xef\xfe\x98\xe9\xfd\x5d\xb5\x99\xb1\x02\xbf\x61\xd0\x93\x01\x81\x32\x4b\x56\x96\x40\x6f\x9c\xec\x17\x2f\xfb\xe4\x2c\x68\x11\xb5\x5a\x1a\xd0\x5b\xff\xb2\x38\xfd\xb9\x46\xd4\x43\x08\x77\xd0\x97\xf4\xf5\x1d\x3c\xd8\xd7\x07\x0f\xa7\xfb\x14\xdb\x4f\x7e\xbd\xeb\x70\xbd\x83\xb9\x7a\xb3\xa7\xad\x37\x18\x51\x33\xfa\x3b\xdb\xe1\x7b\xd4\xfb\x8e\x61\xb5\x93\x4e\xdb\x0a\xd9\x6a\xff\x69\xac\x5a\xcb\x43\xb9\xea\x31\x17\x8f\x6a\x02\x1d\x92\xbf\x76\xa0\xfe\xeb\x57\x71\xd3\xb0\x5e\xd6\x40\x75\x62\x0c\xb9\xe0\x77\xbc\xe2\xe1\x2b\x06\x23\x1d\x21\xce\xb4\x0f\x07\xc6\xae\x32\xe3\xcd\x5f\x59\xc0\xaa\x7e\x92\x74\xe4\x24\xd9\x91\x49\xe7\x04\x29\xb2\x73\x8a\x22\x3b\xe8\xb7\x67\xac\x5a\xe7\x41\xbf\xff\xf3\x0c\x49\x65\xba\xcb\xd4\xdf\x94\xab\xff\xc8\x5a\x9e\xbe\x3d\x46\xad\xa0\x9c\x61\x9f\x19\x56\x01\xd9\x3b\x76\x6b\xc0\xfe\x11\x75\x1e\xd6\x1a\xb9\x76\xf2\x66\xab\xb2\x65\xac\xa6\x00\x5b\xce\xdc\x00\xa4\xcf\xb3\xaf\xab\x7d\xbe\x1d\x7b\x04\x07\x89\x91\x9f\x58\xee\x4f\xdf\xe7\x83\x56\x0c\xed\x1d\x0e\x85\xe3\x8a\x1c\x1a\x0f\x60\x5e\x42\x35\xea\x09\x7f\x00\x18\xc0\x00\xc9\x08\xd8\xed\x02\xf3\x91\xb0\x13\x17\x35\xd5\xb5\x76\x76\xd4\x4e\x4e\xdf\x79\x9a\x4a\x7f\xee\xaa\xef\xde\x3e\xa9\xb5\xca\x29\x86\x4d\xe6\x60\x68\xde\x1a\x33\xb4\xcd\xae\xe8\xfb\xc1\xc1\x73\x77\xdd\xeb\x91\xcb\xef\x07\x90\xd7\x88\xad\x73\x52\xbb\xfe\xd8\xd6\x37\x6d\x4b\x57\x6c\xc1\x58\x75\x8e\xb7\xee\x38\x77\x4e\x8d\x59\xc3\x6f\xe6\x19\xe3\xf6\x85\x8e\xc2\x6b\xd7\xac\x3f\xf4\x1c\xac\xde\xb2\x05\x3c\xc2\x3b\x59\xb3\xc1\x28\x36\x2e\x78\x26\xbd\x85\x1a\x55\xf7\x38\xf1\x86\xce\xd5\xfd\xbb\xc7\xb9\x11\xd5\x93\xbe\xab\x39\xbe\x47\xdd\xdf\xcc\xaf\xdf\x2f\xbf\xa3\x21\x18\xb5\xf2\x83\x3f\x1a\xab\xf6\x43\x23\xab\xc9\x46\xc6\x6c\x8f\x0c\x6e\x64\x42\x5d\x87\x5d\x9a\x00\x00\x40\xff\xbf\x79\xeb\x8a\xc3\xc6\xc8\x75\x3f\x16\xa3\x0c\xda\x79\x3b\xe1\x12\xe3\x78\x8c\xcd\x0c\x08\x6d\x2f\x31\x1b\x13\x48\x42\x0c\xc7\x0a\x15\x44\x5f\x9b\x15\x93\x82\x41\x1e\x2f\x2f\x51\x21\x97\x3b\x18\x74\xbb\x42\xfd\x21\x97\x4c\x6c\xbc\xc0\xeb\x0a\x31\xfd\x71\x13\x5d\x65\xb1\x98\xc2\xda\xc6\xc4\x65\x25\x5d\x96\x89\xb7\x2f\x9c\xb1\x2b\xe0\x0a\x95\x14\x38\x7b\x6b\x3a\x7c\xa2\x4b\xab\xe5\xf5\x85\x56\xc9\x55\xd5\x59\xed\x33\x69\x81\x24\x89\xb4\xa0\x61\x80\x6d\xe6\x16\x62\xb5\x41\xf7\x84\xee\x6c\x00\x07\xfa\x5d\xd0\x56\xe1\xed\x6a\xa9\x6f\x69\x08\x6e\x9a\xd4\x05\x8b\xdd\xae\x72\x00\x82\x2e\x78\x49\x41\x10\xc2\x2d\x89\x85\x3e\xb1\x39\x58\x16\xae\x68\xb6\x4a\xb6\xe2\xda\xd2\x66\x8f\x33\xd4\x55\xe1\xe7\x9c\x56\x61\x8b\xba\xe6\x8f\xc6\xfd\x04\x89\x31\x73\xab\x38\x8c\xd9\x97\x37\x52\x83\x0f\xda\x6d\x44\x1b\x86\x0e\xec\x04\x43\xe0\x8c\x31\xf9\x2f\x54\x68\x8c\xd5\x26\xc1\xed\xd1\x44\x63\x0e\x35\xf2\xc7\x5b\x4f\xd7\x10\xeb\xe3\x60\xf3\x4c\xf9\x6f\x8c\x46\xa0\x45\xd1\x0a\xb4\x26\x5f\x75\x67\x95\x4b\xb2\x16\xea\x79\xad\xd6\x25\xfa\x3a\x6a\x7a\x9d\x05\x25\x21\x57\x60\xd7\x8c\x85\xb7\x4f\xb4\x74\x95\x5c\x96\x68\xd4\x86\x4d\x16\x4b\x15\x4d\x67\x5a\x22\xfd\x17\xa5\x0d\x48\x7b\x3c\xdc\xb2\x68\xe6\x16\xc1\xea\xe4\x82\xa5\x33\x42\x4e\x4f\x73\x69\x6d\xb1\x4d\xb2\x36\x57\x84\xcb\x82\xcd\xa2\x6f\x61\x62\x0b\x84\xc1\x02\x78\x89\x2b\x08\x40\xb9\xcb\x5d\x0c\xbb\x26\x6d\x0a\x36\xa0\x86\xeb\xf2\x62\x14\xfa\xcc\x5a\x86\x96\xd8\x91\xca\xa9\x16\xd4\x1a\xab\xa9\x8b\xa9\xab\xa8\x3b\xa9\x47\xa9\x5f\x10\x5e\x13\xec\x19\x8f\x57\xc9\x22\x18\x5a\x2d\x88\x04\x46\xf4\x7f\x94\x45\x7f\xaa\x11\x2f\xa2\x2e\xdf\x5b\x58\xd5\x47\x08\x65\xc1\xe2\x23\x5e\x65\xb0\x59\x33\x2c\x31\x68\x40\x24\x4e\xb0\x45\x20\x60\xb3\xa2\xdc\x75\xb1\x3a\xcc\x69\x84\x83\x34\x6a\x41\x1d\xa1\xa5\xf3\x79\x09\x3a\xa9\x0a\x7e\xe9\x25\xfd\x0c\x89\xf7\x7c\x38\x40\xc0\x30\x6d\x11\x4c\x74\x4a\x3c\xb6\x90\xb8\xa4\x2c\xdc\x61\x20\x0e\x8b\x5a\x8e\x80\x5a\x8e\x51\x0b\x78\x37\x15\x59\xcc\x66\x4b\xd1\xd3\x13\x27\xa6\x5f\xe8\x9e\x36\x13\xfc\xa4\x3d\x1c\xf4\x69\xb9\x89\x00\x08\x56\x3b\x68\xe3\x0d\xe3\x02\xbe\xf6\x76\x6f\xc9\x38\x03\x3f\x08\x69\x83\x3b\x5a\x57\x64\xb3\x16\xad\x75\xdb\x2e\xf3\x3b\x39\x20\x5f\x92\x48\x40\x9b\xa4\x9b\x58\x7e\x85\xfc\x77\xf9\xb3\x2b\x2a\x26\xe8\xac\x56\xdd\x84\xf2\xfd\x30\xb4\xbf\x1c\xa5\xd3\xc6\xb3\xa6\x47\xa2\x33\x79\xaf\x26\xa0\x9f\x06\x7c\xb6\xa2\x9a\x88\xdb\x66\x73\x47\x6a\x8a\x6c\x4f\xb4\xb7\x13\x38\xeb\x76\x4e\x8f\xee\x0e\xbe\xce\x5f\xe0\xf9\xe4\x8e\x5a\xf3\x80\xf9\xa8\x3f\x12\xf9\xeb\x64\x79\x31\xb8\x7f\xf2\x1e\xf9\xba\xd2\xca\x42\x4b\x10\xf8\xe5\x7f\x3a\xa1\xa9\x18\x38\x37\x1e\xaa\xb3\x95\x8d\x2b\x01\x9f\xdd\x55\x5a\x66\x7b\x52\x5b\x24\xd8\xc5\xd2\x90\xbb\xe9\x92\x26\x77\x28\x54\xd4\xd0\x35\x21\xe2\x02\x06\x9b\x9e\xae\xbf\x3d\x12\xb9\xbd\x2e\x4d\xff\x64\x6e\x45\x13\x6b\x32\xb1\x4d\x15\x0b\x8f\x3d\x32\xaf\xbc\x19\xa7\x9b\xcb\xe7\xd1\x4d\xa0\xf4\x97\xbf\x74\x2c\x75\xac\x8b\xff\xfa\x82\xbd\x8d\x45\xe8\xda\x46\xb2\x71\x37\x83\x2d\xf2\x5f\x8a\xcd\xd0\x09\xcc\xf2\xef\x83\xa2\xbb\x12\x68\x86\xaf\xe1\xa2\xaf\x03\x8d\x97\x7f\x21\xf1\xb2\x99\xfe\xb1\x84\x5a\x45\xed\xa6\xf6\x53\xb7\x51\x0f\x13\x3d\x1d\xa3\x14\xa2\x77\xcd\x22\xa1\xa7\xae\x36\x18\xc1\x78\xba\x96\x88\x6f\x8c\xd7\x92\x79\x79\x51\xd4\x3b\xa2\xe4\xe5\x05\xa3\x01\xd2\x61\x5a\x40\x64\xd4\x8b\x8d\x63\x86\x1b\x3f\xda\xad\x25\x0c\xb8\x3c\xe7\x25\x5d\x04\x43\x86\xa3\x5e\xe1\x25\x3d\x04\x44\x68\x74\x77\x0c\x9e\x1c\x91\x32\x7d\x4f\xe9\x67\xb8\xef\x05\xc7\xe8\xa1\xf4\x2b\x61\x87\xdd\xee\x08\x83\x39\x67\x9d\x35\xd4\xb8\x41\x7e\x69\xfd\x6a\xe0\x5d\xbc\xd8\xe3\x16\x69\xb0\x58\x63\xa8\x1a\x1f\x03\xc7\xb4\x96\x58\x6d\xf9\xe2\xc5\x95\xe3\x63\x16\x2d\x98\xb3\x04\x0d\x6b\x55\x8f\xb9\xc3\xed\x1d\xe1\xc2\xa2\xf0\xa4\xa9\x48\x51\x81\xe9\xfe\x05\x0b\xe0\x1b\x2e\x61\x51\xe3\xd3\x69\xd7\xd3\x8d\x8b\x8d\x2e\x94\x6e\x7a\x0a\x7e\x4c\xd2\x43\xae\xb5\x17\xae\x16\xaa\x83\x85\x7d\x53\xc0\x93\x85\xa1\x8e\xf6\x50\x61\x61\xa8\xbd\x23\x54\x08\x66\x2d\x89\xd6\x56\x19\x35\x4b\x00\x2d\xba\x3d\xa0\xe4\x3f\xdb\xed\xa0\xd2\xde\x51\x55\xd5\x71\x78\xf9\xf2\xf4\xaf\xc0\xe7\xf2\x0f\xca\x6c\xb4\x17\x9c\x23\x5f\x58\xe3\x0c\xb6\x2c\x7f\xa1\xd3\x55\x1f\x7b\x2f\xbd\x7e\x7c\x3c\xee\x9e\x6b\x8c\xe8\x4a\x26\x2d\x5c\x37\x2b\x18\x89\x04\x67\x1d\x43\x9b\xa8\xdb\xad\xa5\x7f\xf1\xd6\xa4\x49\x6f\x4d\x4e\x2f\xfc\x74\x5b\x53\x37\x67\xb3\x71\xdd\x4d\x9b\x3e\xc7\x69\xde\x6a\xe5\x51\x9a\x11\xe4\xcd\xf2\x3f\x80\x69\xda\x81\x75\xf3\xe4\x6f\x27\x3f\x3c\x1b\x5d\x1d\xea\x7e\xb8\x1b\xdf\x64\x8e\x6c\x8c\xb7\x06\x9d\x11\x70\x40\xbe\xce\x07\xed\xe5\x60\xb7\xe2\x4b\x89\x79\x73\xff\x4d\x49\x38\xfa\x1f\x70\x8a\x06\x1d\x97\x6a\xc3\x19\x85\x19\xaf\x0a\xdb\x32\x8b\x32\x20\x06\xf0\x41\x38\x5f\xf7\xb5\x3b\xf4\x85\xcd\xaa\x4b\x03\x70\x97\x41\xaf\x75\x7c\x51\xea\xa2\x5f\xd6\xeb\xd3\x5f\x82\x6e\xbd\x4e\x67\xff\xa2\xcc\x29\x1f\x13\x21\x28\x08\xff\xc3\x4e\xaf\x11\xe5\x69\x55\x7e\xcc\x5b\x80\x5e\xa1\xc9\x54\x09\x56\x9b\x6d\x43\x67\x81\xf4\x2d\x56\x8b\xa9\x12\x9e\xe7\xa5\xaf\xa9\xcc\x8c\xd1\xca\xd8\x24\x65\xf9\x45\xf0\x7a\x0f\xb6\x20\xd8\x68\xce\x81\xbd\xb0\xe2\x80\x1c\x01\x76\x40\xf6\x62\x61\x80\xc4\x70\xc7\x28\xe3\xcb\x1e\x5b\xf1\xd3\xa2\x86\xd7\xec\x7e\x5e\xab\xd5\x98\x9f\x29\x96\xe8\x38\x6f\x79\xd6\x23\xc9\x6b\x90\xba\x6d\xf5\x3e\x2d\xf2\x1a\xad\x3c\x04\x6e\xd1\xfc\x7e\xd8\x22\x35\x0d\x3e\xf0\xeb\x0d\x96\xdf\x02\xf9\x87\x82\x60\x2c\xa1\x67\x1b\x02\xe9\x30\x94\x7d\x01\xa4\x60\x83\xf7\x01\xfc\x4f\xf3\x15\xa3\x31\x6b\x28\x1d\x4f\x31\xff\x46\xa9\x4e\xb2\x86\x2f\xd5\x32\xc5\x00\x83\xde\x2b\x6c\xf6\x45\x00\x53\x73\x9a\x80\x80\xf4\x04\x5f\xa8\xa4\x1a\x2a\x33\x09\xea\xd9\x2d\x20\x44\xf8\xe6\x5b\xb9\x48\x0c\xfe\x0a\x7c\x24\x17\x3e\xf3\x00\x68\xe8\xec\x04\x5e\xc1\xe7\xf4\x7a\x04\x4e\x0a\xa3\x52\x02\x20\xf1\x25\x82\x20\x78\xbc\x4e\x1f\x1a\x21\x06\xe5\x2b\xde\x90\xdf\x18\x5f\x53\x52\x12\x9c\xe0\x1c\x9d\x43\xf0\x82\x41\x70\xf3\xc9\x34\x58\xa7\x65\x19\x9a\xe6\x74\x66\x87\x89\x2b\x58\x1a\x4f\x5c\x37\xae\xf4\x8a\xeb\xae\x8b\x2f\x46\x13\xb2\xc3\xa4\xe3\x68\x5a\xc2\x2c\xd5\x0c\xab\xf3\x16\x8c\x3a\x6f\xc6\xe7\x45\x4a\xc1\xc1\xe2\x52\xec\x01\x62\x5b\xc5\x0c\xc8\xc5\x68\x58\x60\x6c\xc0\x16\xe6\xa3\x20\xea\x40\xff\xe2\x36\xad\x01\x29\xec\x9f\xcb\x3f\x92\xed\x6c\x85\x6c\x47\xfa\xb8\xe3\x7a\xb0\x00\x00\xb0\x30\x3d\x1b\x2c\x90\x45\xf9\xc7\x6c\x15\x98\x23\x3b\xe4\x07\xc1\x42\xf0\x89\xfc\x63\x59\xa4\x5b\xe4\x37\xe4\x3f\x83\x36\xf9\xa3\x73\xe4\xdf\x13\x3e\xf6\xe0\x39\x3d\xa0\x10\xb3\xa5\xc9\x1f\x31\xbf\x95\xff\x2c\xbf\x09\x04\xf9\x9f\xf2\x3f\xe4\x9f\x83\x22\x7a\x8f\xfc\x73\xf9\x9f\x60\x3c\x12\xde\xf5\x68\x5c\xfa\x8a\xf8\x98\xe8\xd1\xc8\xa4\x94\x07\xe3\x3f\x07\x2c\xe8\x2f\x18\x67\x79\x4c\x49\x8a\xff\x68\xc0\x6b\xb1\xe7\x1b\xab\x1d\xbc\xbb\x9f\xbd\xb3\x7f\x68\x8e\x8f\x36\xf9\xd2\x8b\xda\xe1\x3b\xed\xe9\xff\x5e\x0b\xd7\xae\x7d\x0f\x7c\x90\x94\x03\xe9\x47\x69\x6f\x0f\x18\x48\x27\x61\xb2\xe2\x8e\xfb\x6e\x87\xae\x43\xf2\xb1\xeb\xe0\x93\xbb\xd2\xa7\x76\xd1\xbb\xd2\x17\xf7\xc0\x4b\x4e\xde\x75\xe4\xc8\x18\xbe\x17\xb3\xa8\x75\x39\x2f\x97\x0c\x18\x6d\x06\xe7\xb6\xc4\x1f\x42\x72\x11\x96\x8e\x68\xbb\x95\x53\xfa\x80\x87\x8e\xd5\xda\xb1\xf4\x04\xe2\xad\x74\x88\xa0\xd8\x62\x39\x82\xa6\xcc\x79\xe3\x9c\x39\x37\xcc\x65\xdc\x34\xbc\x1f\xcb\x4f\x7f\xfc\x31\x98\x0a\xe6\xc4\xba\x62\xb1\x2e\x79\x8a\x70\xe5\xd4\x0b\xe7\x17\xd5\x76\x59\xf5\x26\x16\xb7\x1c\x6b\xd2\x5b\xbb\x6a\x8b\xe6\x5f\x38\xf5\xca\xd3\x9f\x82\xe7\xb1\xba\x8f\xde\x5c\x24\xc7\x16\xbd\xf9\x91\x8e\x25\x69\xf0\x32\x4e\x43\x3b\x71\xe8\x00\xf7\x2a\x4f\xf9\x98\x3c\x24\x96\xfc\x9e\xb7\x1d\x7e\x4a\x3e\x6f\xf4\xfd\x49\x7a\xd8\x77\x6d\x22\x38\x1f\x23\xfd\x65\x22\xd9\xc8\xd7\x4c\xb4\x0a\xa1\x3a\x52\xbe\x34\x70\xeb\x45\x8f\x5c\x74\xd1\x23\xf0\x11\xb2\xc9\xf0\x18\x29\x5f\xe0\xd0\x03\xf8\x98\xfa\x2f\xff\x39\x10\xcd\x5e\x98\x07\x5c\xf2\xb1\x11\x2d\x88\xc4\x7d\xc3\x5c\xb5\xa8\x5f\xcb\xe7\xc1\xd8\x72\x39\x2a\x47\x97\xf7\x42\x1d\x18\x1c\x89\x94\x70\x48\x7e\x7d\x00\x3e\x96\x9e\xd1\x0f\x6a\xc6\x8a\x4f\xee\x66\x2f\x61\xef\x41\xfa\x04\x8e\xae\x6c\xc7\x7d\x01\xd8\xb9\x30\x8e\x33\x8a\xa1\x77\x57\x85\xc9\x72\xd1\x4b\x44\x6f\x53\x42\xef\xb9\x84\x45\xbd\x01\x3b\x4e\x23\x69\x51\x22\xf1\x10\x48\x86\xa4\xd1\xfc\xd5\x06\x90\xb8\xe3\x01\x9c\xc4\x11\xdc\x85\x20\x3a\xcc\xe0\x33\x98\x33\x23\x5e\xc2\x62\xdf\x0f\xba\x5a\xb3\x3d\x1a\x2e\x2a\x0c\x95\x74\xc6\x37\x0a\x2f\xae\x6c\x9b\x4e\x33\xd7\x2f\x5d\xb2\xf3\x23\xeb\xd4\x8a\x1a\xf9\x03\xf9\xb3\xf2\xaa\x84\xe8\x59\x1a\x6f\xfe\xe8\xfd\xb6\xe8\xd2\x05\x1a\x93\xb1\xa2\x64\xc1\x1b\x2f\xac\xab\x9a\x32\x27\x61\x2d\xf0\x72\xe2\x1f\x61\x7c\xc0\xc6\x99\x9f\x70\xcd\x67\x2b\xca\x7d\x43\xf2\xad\xdf\x1c\x32\xd9\x8c\x2c\x0f\xb5\x01\x9b\x4b\x4b\x17\xf9\xeb\x4b\x3c\xbb\x8f\x83\x5d\x60\xdc\x6d\xcd\x66\x00\xef\x6b\xeb\xf2\x5a\xe6\xcc\xb1\x88\x86\x26\xcb\x86\x2d\x15\x85\x17\x4e\x5a\x92\xd4\x68\x6e\x86\x3b\xdd\x01\xad\xa6\xba\x86\xd7\xf9\x5d\x85\x01\x2d\x5f\x54\xa8\xd1\x04\x86\x44\xd7\x9a\xf6\x4e\xeb\xf8\x6a\xda\xa2\xb1\xfa\xa3\x81\x9e\xe7\xcd\xda\x1b\x6e\xe0\xfc\xf5\xf4\xd3\xf7\xcb\x4e\x4f\x5d\xa1\x65\x4f\xc8\xbd\xc9\x50\x34\xce\x5d\xa7\xad\x7d\x69\xd7\x43\x53\x5d\x95\x1e\x8f\x49\x5f\x25\x06\x17\x56\x75\x59\x5b\x09\x0e\xac\xf2\xae\x34\x64\xb4\x6f\x44\x3a\x39\x61\xb7\x0e\x11\x2a\xe2\x58\x9c\x84\xb3\x93\x50\x7d\x09\xb7\x0f\x1e\x33\xb1\xf2\x81\x46\x55\xa9\x2e\x16\x0a\xa3\x8f\xc6\x04\x08\x87\x21\x6e\xd8\x18\xe6\x53\x60\x39\x5e\x69\x6b\x0f\x8d\x8e\x33\x58\x57\x11\x47\x09\x86\xdd\x73\x4a\xca\x41\x79\x78\xde\x34\xcd\xa2\x7d\x7d\x34\x8c\x57\x4e\xbe\xf6\x49\x6b\x7b\xb8\xe2\xb6\x07\x2b\x42\xed\x36\x63\x95\xdf\xf3\xe2\x5b\xbe\x92\xda\x7a\x3d\x6b\xba\x4b\xee\xbd\xdb\xc0\xba\x4c\xd5\x77\x7c\xfb\x98\xdf\x63\xba\x5c\x6b\x29\xdf\xf4\x5b\xf9\x1f\xfb\x96\x87\xca\x23\x8c\xc6\x5e\xc2\x01\x0d\x27\x1a\xd7\x3f\x06\xe8\x27\x9c\xc5\xc5\xcc\x78\x50\x3a\xcc\x9a\x77\x6b\x79\x95\xdd\xba\x5e\x74\xc4\x5a\x26\x9e\x67\x58\xda\x5e\xb3\xc8\x5a\x3c\x07\x34\xda\x5c\x1c\x6b\xb5\x72\x7c\x81\x55\x72\xf2\x48\xb1\x60\xf9\x82\x34\xcd\x87\x0b\x98\xbe\x3e\xce\x70\x6b\xfd\x6c\x77\xd5\x2a\x69\x42\x1f\xfc\x55\xd4\x1e\xf7\xb5\xb9\x0d\x7e\x93\x75\xbc\xa7\xe3\xaa\x97\x4b\xd8\x3a\xab\x5f\xdf\x6d\x2d\x5c\x62\xb4\x86\x6c\x40\x0f\x6a\x47\xcc\x43\x80\xea\xc0\x31\x60\xa8\x59\xfd\xd8\x1e\x88\x87\x95\x2a\x1a\x49\x62\x51\xd4\x9f\x08\xc2\xa0\xcf\xe6\xb3\x58\x3d\xa8\x05\xe9\x47\xba\x1d\x8f\x2c\xee\x3d\xb6\x69\xa6\xef\x81\xa9\x5b\x3a\xc6\x5b\x59\xc0\x33\xff\x0d\x66\xc8\x8f\x1a\xbd\xed\xe3\x67\xbe\xf1\x59\xa0\x15\xc0\xfa\xa5\x17\x5c\xd0\x08\xbd\xef\xba\x16\x2e\xdb\xb8\xb0\x92\xe5\xe5\x45\x43\xe9\x93\x9e\xba\xa8\x07\xc0\x7c\x3b\xbf\xc2\x20\x1b\x46\x53\x5b\x15\x8c\x5a\x7c\x51\xec\xd0\x81\x06\x3e\x1e\x09\x84\xf8\x59\xad\x60\x94\x2d\x74\x53\x6b\x45\x53\x49\x5d\x81\x0e\x80\x53\xd4\x71\x0d\x60\x0b\xa2\x6b\x3a\xf6\x96\x2f\xbc\x6d\xd5\xa4\xcb\xc1\xdd\xf9\xed\x37\xfd\x29\x3b\x70\x94\x8e\x73\x80\x6b\x7e\x01\x26\xeb\x2a\x16\xf4\x2e\x28\xb8\x4f\x5e\xde\xb0\xad\x6f\x02\x04\xe3\x99\xea\xe1\xb6\x50\xfa\x54\x02\xa6\x51\xdd\x31\x6a\x8f\x7d\x6c\x95\x1e\x7e\x65\x36\xca\x77\xeb\x8c\x82\x4e\xbe\xc3\xa8\xd1\x5a\x55\xbc\x40\xa4\xb4\x99\xe5\xa4\x4e\x07\x92\x66\x49\x62\x88\xcd\x62\x30\xe3\x53\x42\xc1\x34\x9b\xc2\xf7\x54\xfd\x56\xb2\xb0\xc9\x71\x35\x48\x0c\xa6\xb3\xf7\xb1\x99\x8d\x60\x39\xbe\x3b\x58\x65\x64\x24\x69\x90\x38\x70\x33\x03\x21\x33\x40\x37\x97\x93\x66\xe5\x1d\x25\x00\xcd\x53\x74\x9a\xdc\x33\x83\x82\x9f\xc1\xc0\x77\x28\xe0\x19\x3c\x85\x4b\x30\xa2\x50\x70\x60\xf8\x33\x56\x0a\xa4\x06\x8a\x1f\x32\xa0\xb9\x94\x7a\x4f\xc5\x2e\x3d\x1c\x3d\x1f\xb3\xea\xa4\x70\x11\x46\x94\x0a\x5e\x8a\x9a\xe2\x4e\x41\x93\x5f\x05\xd4\x40\x59\x7f\xfc\xcd\xa8\x3d\x43\x24\xea\x51\x55\xe7\xb0\xb0\x1e\xf0\xd3\x30\xaa\x4a\xdb\x58\x66\x27\x1a\x9f\xc2\x11\x0a\x32\xdc\xaa\x0a\xd1\x9d\xc3\x6a\x67\x37\x87\xe7\x5d\x92\xac\x59\xb2\x60\x42\xcb\xec\xd9\x91\x9b\x6f\xbc\x7e\xf3\xe6\xa3\x53\xd7\xf7\xfa\x2b\x57\xae\x9d\xb2\x63\x79\x5d\xdd\xac\xc0\x84\x03\xf2\x87\x45\x9e\xb6\x58\x2c\xd8\x4e\x4f\x9f\xf6\x08\xa0\xd1\x0c\x33\x61\xf7\xee\xe7\xbd\x5e\x9f\x1f\xed\xb0\xff\xfc\xe8\xd0\x41\x8f\xc7\xef\x9f\x50\x92\x68\x8f\x2c\xdf\x7c\xd1\x8b\xcc\xce\x96\xe9\xd3\xdb\x62\xa2\x9e\xbb\xf1\x9c\x0d\xe3\x68\x33\xcd\x18\xb2\xfe\xfc\x04\x8b\x5c\x91\x0e\x28\x60\x09\x5a\x08\x9b\x93\xba\x85\x3f\x4a\x2f\xc0\x7f\x5c\x72\x68\x3b\x76\xed\x82\x62\x7a\xfb\x72\x58\x09\xff\x2b\x7d\x2e\x8c\xa6\x77\x0c\x7d\xbe\x1b\xde\x48\x9f\x37\xf4\x31\xbc\x03\xbb\x75\x2b\xb8\xb3\xec\x1e\x32\xdf\x17\x22\x49\x74\x06\xd2\x81\x28\xaa\x36\x46\xe6\x27\x46\xdd\xb2\xca\x2c\xa6\x74\x6e\x05\xca\x92\x04\x54\xb6\x60\x75\x97\x2c\x2e\x84\x89\x8d\x10\x07\x5a\x62\xef\x7a\xec\xc9\x5a\x8c\xdd\x18\x70\xa0\x38\x4f\xbe\x0c\xf5\xc3\xa8\xb5\x83\x0f\xbc\x0e\x87\xd7\x0e\x8e\x7b\xed\x76\xaf\x63\x68\xb0\xac\xb9\x69\x41\x73\x33\x33\x2b\x51\x39\xbd\x79\x41\xf3\x81\xe6\xf2\xb2\x66\x30\xad\x2a\x01\x7f\xbc\x21\x39\xb4\x2a\x79\xce\x14\xde\x60\xe4\xa7\xae\x78\x7b\xc5\x54\xde\x68\xe0\xc1\x61\x7c\xbe\xb9\xac\xbc\x99\x29\x72\xe0\xfb\x28\xff\xde\x68\x2e\x93\xe7\x94\x37\x37\x97\x83\x1f\x97\x35\x4b\xe9\xb5\x55\x89\x3f\xe3\xbd\x3f\x2b\xbf\x89\x2a\x78\x2b\xb8\x31\xfe\xc2\xf6\xed\x2f\xc4\x2f\x35\xf2\x9c\x61\x5f\x59\xd9\x3e\x03\xc7\x1b\xd3\x37\x66\xae\x2a\x6f\x6a\x42\xf3\x28\x96\xbb\xbe\x25\x9c\x1b\x26\xca\x0f\x34\x48\x15\x08\x82\x08\xe8\x04\xff\x20\x78\x2a\x01\x4c\xe9\x54\xeb\xe0\x42\x3c\xaa\x14\x08\xe1\x71\x87\xe7\xf0\xf8\xdd\x4a\x37\x83\x10\x12\xe0\xb1\xc0\xa3\xc8\x3b\x78\x99\x04\x9d\xc4\x92\x0f\x99\xe9\x42\x31\x75\x39\x05\x0f\xf2\x68\xd4\x8f\xc7\xea\xa2\xe8\x30\xe7\xb0\x06\xaa\x50\x37\xc6\xc4\xf4\x1c\xe6\x40\xc2\x9a\x21\x4f\x02\xa0\x1c\xb5\x76\x8e\x04\xaf\x92\x29\x96\xc6\x63\x3f\x8d\xa7\x04\xa0\x70\x9c\xa0\x59\x22\xa4\xcc\x08\x68\xfa\xc4\xc1\x23\x02\x5e\xb1\xc1\xde\x86\x56\x01\x92\x21\xd1\x8e\xb3\xe0\xf7\x40\x4a\x49\xbc\x2b\xc9\xd5\x1e\x68\x8b\xa1\x19\x06\x0d\x58\xe8\x6a\x12\xc8\x8f\x33\x10\x03\x6e\x0c\xcf\x41\x91\x56\xa4\x70\xe0\x02\xd9\xec\x8e\x5a\x9e\x43\xba\x2f\xae\x12\xa3\x4c\x55\xe1\x3a\x34\xe7\xfb\x71\xd2\x61\x45\x17\xd7\x61\x61\x2e\x20\x60\xb1\x1f\x4d\xfb\xf8\x0e\xb5\x31\xe0\x81\xb8\x38\x80\x40\xb3\xd0\x04\xbc\x08\x0d\x93\x61\xa5\x29\xf0\x03\x70\x23\x60\xe9\x10\x44\x49\x11\x71\xe1\x68\xde\x8a\x1a\x92\x94\x10\xaf\xbb\x91\xd5\xb8\x10\x3e\x49\xd6\xe1\x50\xbd\xe3\xca\xfc\x18\x21\x60\x36\xbc\x9a\xd7\x4e\x24\x4f\x72\x5b\xd4\x46\xb8\x59\xd5\x1b\xab\x2d\xed\x61\xe1\x4d\x7a\x2d\xc3\x4a\xec\x52\xc6\xa4\x73\x6a\x68\xf9\x36\xa4\x05\xd0\x34\xaf\xd3\x32\x16\x06\x40\x08\x20\x3d\x3f\xce\xf0\x34\x0d\x79\xa0\x05\xba\x69\x01\xa7\x6f\xa1\x4f\x1f\x2e\x36\x01\xbd\xd6\x26\x1a\x8d\x40\xf0\x17\xd8\x19\xc6\xaa\x0f\x9b\x9a\x38\x0d\x67\x2f\x08\x16\xea\xf4\x22\x92\x2a\x2c\x05\x76\xf3\x06\x11\x68\xc7\x15\xd0\xc0\x5f\xe8\x2e\x82\x40\x6b\xe1\x75\x1c\xa3\xe7\x2d\x00\x58\x9d\x16\x2b\x00\x76\xad\x26\x0c\x8c\xac\x4e\xb0\xeb\xdc\xf6\xea\x38\x2c\x73\x7b\x59\xad\x9e\xa5\xb5\x06\x6b\xa7\xb6\xc2\x55\x10\x43\xd3\x82\xb9\xa0\xcc\x12\xf2\xfb\xdc\x76\x23\x84\x1c\xa7\xe7\x8d\x74\xe1\xac\x98\xdd\x56\x66\xa7\x81\xa7\xc8\x28\x3a\x66\x69\x20\xe0\x34\x36\x2f\x03\x39\x86\x85\xb0\xa4\x8a\x2d\x65\xac\x0f\x68\xcd\x74\xb1\x47\x53\x26\x54\x85\x19\x23\x07\x68\xab\xae\xea\x82\xcb\x2a\x1c\x7a\x03\x44\xcf\xe4\x6c\xb4\x03\x42\x0b\xb4\x9b\x4a\x40\xfb\xcc\xf4\x5d\xb4\x9e\xd3\x42\x5a\x47\xd3\x7a\x1a\xdc\x03\xb5\x16\x8e\xd5\xb2\x1c\xa4\x85\x32\x51\xab\x7f\x5c\x67\xa0\x39\x86\xa1\x05\x46\x03\x63\xac\x91\x36\x69\xb5\x2c\x0d\x81\x0e\x32\x8c\x46\xd0\x00\xb3\x00\xe3\x56\x3b\xe4\x9d\x8e\xa0\x2b\xa4\x09\xad\x28\xb4\xac\x0d\x89\x0e\x9d\xdf\x53\xb1\x40\xea\xb2\x56\x4c\x29\x89\x14\x16\xdd\x9b\x90\x12\x25\xe5\x4e\x56\xe7\x07\x00\x0d\xe1\x3a\x61\x81\xc5\xe3\xb4\x45\xbd\x11\xbf\xd6\x28\x42\x03\xcb\x00\x3f\x4d\xfb\xad\x97\x04\x9c\xab\x27\x38\xca\xcb\x69\xd1\xaa\xbb\x70\x7c\x47\xa5\x9e\x41\x83\x9f\xe8\xe1\x35\x41\x7b\xc8\x7a\x9e\x60\x60\x60\x5d\x77\x78\x42\xb4\xaf\xa4\x61\x12\x8b\xe4\x84\x55\xf1\xc5\x26\x24\x6e\xe8\x75\x6e\x77\xcc\x2f\xba\x45\xad\x00\xed\x21\xd1\x6c\x95\x74\xf5\x67\x95\x36\xb5\x74\x46\xc7\xeb\xc3\x5e\x9f\x8f\x16\x80\x60\x72\x99\xdd\xcc\x1a\x20\x01\xce\x80\x76\x4d\xb4\xde\xc8\xc9\x73\x80\xc6\xc2\xb2\x1a\x3d\x6a\x5f\x1d\xad\xc1\x2f\x1c\xca\xb7\x8a\x4e\x53\x81\xdb\x5c\xa4\xf3\xf3\xe5\xec\xf8\xf3\xac\xd6\xb6\xbb\xb7\x95\x42\xa6\x72\x67\x55\xb8\xb9\x58\x34\x80\xd6\x39\x9e\x12\xbb\x6d\x82\x5f\x43\x7b\x00\xa8\xad\x03\xf4\xc4\x02\xc9\xc4\x33\x09\xd6\x53\x6a\xd3\xd2\x9a\x3d\x26\xa4\x40\xf2\x0d\x13\x01\x68\x28\x36\x55\x14\x43\x5a\xaf\x05\x45\x92\xdd\x03\xca\x4a\x18\x93\x60\x70\x00\xc1\xc5\x6a\x1c\x26\x3d\x80\x16\x60\xd0\x5a\xb4\x02\x87\x4a\x42\x73\xc5\x8c\xc4\x20\x09\x94\x61\x4c\x0e\x00\x0c\x66\xc9\xa4\x65\xb4\x90\x65\x19\x8e\xe6\x81\xd0\xec\x32\xe8\x5b\x8b\xb5\x34\x5f\xd0\x36\xbe\xa3\x88\x7b\xa0\x41\x5c\xab\x71\xda\x8a\xdb\x0a\x0b\x25\x00\x98\x09\x6b\x0c\x5e\xc6\x71\xb9\xd6\x54\x55\x4a\x9b\x9a\x6a\xaa\x9c\x1d\x1a\xb3\x06\xb2\x5a\xbe\xce\x6c\x9a\x1a\xd2\x70\x55\x05\xed\x48\xdd\x96\xb6\x79\x6d\xeb\x17\xbb\xc4\xa0\x57\x4f\x97\x59\x5c\x10\x6a\x59\x60\xb2\xfe\x42\xc3\xd3\x0c\xad\xe3\x78\x00\xcd\x71\x06\x88\x03\x7a\x8b\x06\x30\x0c\x60\xdc\x34\x0b\x3f\x85\x9c\x06\x9a\x80\xd1\xc8\x31\x46\x96\xa3\x51\xbb\x01\xe6\xe4\x4b\x86\x02\x87\xdd\x6e\xb1\x1a\x45\x46\x9a\xe6\x36\xf3\xa2\xb6\xc8\x8e\x7a\x32\x7a\x4b\x85\xde\x02\x00\x9a\x8d\xa8\x67\x1b\x2c\x7a\xc7\x42\xbd\x79\x7c\xb0\x44\x6b\x60\x74\xa2\xdf\xdf\xe9\xb3\xb2\xb4\xd1\x54\xc6\x39\x0d\x76\xbd\xa9\x43\xb0\x68\xb9\x02\x0d\xe7\x15\x68\xae\xa2\x6e\x42\xd8\xf2\xd3\xba\x69\x7e\xad\xd3\x6c\x2f\xc2\x74\xde\x6b\x63\x1d\xd6\x6b\xeb\x36\xbd\x78\xd6\xae\x72\x1b\x28\x72\x97\x1d\xe9\x58\xb1\x63\xf3\xfa\xa6\x37\x17\xd6\x4c\x29\x85\xd0\x1f\x44\xad\xae\x91\x0c\x45\x6c\x50\x98\x17\x9f\xbc\x7b\xc2\x14\xd6\x57\x13\x28\x40\xd5\x2a\xd0\xeb\xa7\x4d\x31\x14\x47\x3c\x6e\xbd\x49\x8d\x8f\xc7\xb2\x98\x40\x79\x91\x1c\x5d\x45\xd5\x52\xad\xd4\x02\xec\x55\x14\x0c\xd1\x01\x6c\xf4\xc7\x1c\x63\x74\x28\xcc\xf8\xf0\x2c\xed\x50\xe8\x80\xd1\x58\x82\x06\x0a\x2f\x1b\xe2\xf1\x20\x07\xfc\x7c\x8c\xc5\xf3\x3b\xda\x61\xa4\x50\x18\x5f\x45\x46\x93\x56\x50\xeb\x61\x1c\xb1\x61\x11\x04\x65\x2b\x21\x34\xc7\x6e\xd8\x73\x45\xc0\xf4\xf4\xa7\xfb\x5a\x6c\x5e\xf9\xd7\xf2\x61\xb0\xa8\xbb\xf6\xfa\x03\xbb\x42\x41\x46\x5c\x77\xc1\x45\x07\x52\x5e\x50\x45\xbf\xff\xd6\xaf\x16\x8e\xdb\x78\xc3\xd0\x3f\xd0\xa4\x0e\x67\x3d\xf3\x4d\xd7\xac\x4b\xb7\x4e\xda\x39\xa5\xd9\xf4\x11\x7d\x08\x68\xad\xed\xd3\x77\x4f\x2a\xc0\xab\x10\x25\x33\x26\x77\x34\x47\xcb\x3d\xba\x9d\x23\xf4\xb0\x12\x7c\x25\x67\x9b\xb1\xf0\x9a\x19\xfa\xc3\xf0\xfa\x9a\xd6\x65\xbc\x70\xd1\x87\x8b\x17\xdf\xb6\xbc\x43\x30\x02\xf6\x37\xef\xdc\x37\xe1\x9f\x37\x7d\xd1\x5c\xfc\xc5\xc7\xd3\xff\x42\x9f\x0b\xc0\x75\xf7\x4a\x3f\x7a\xdb\x35\x29\xd6\x6c\x93\xfd\x7f\x7d\x14\x18\x0a\x12\x0d\x9d\x85\xd1\x32\xd6\x89\xba\x17\x8d\xb4\x03\x16\xbe\x34\x16\x1e\xa3\xda\x7e\xad\xd4\x72\xac\x7f\x54\xd1\xd5\x00\x73\x27\x47\x6a\x3d\xb4\xe2\x7b\x85\x99\x88\x21\x8e\x87\x2d\x06\x84\x5b\x1e\xc7\xcd\xd2\x19\x3b\x4a\x2b\x54\x88\xb7\x38\xc2\x34\xab\xa0\xcf\x61\xa9\x28\x86\x09\x19\x45\x8c\x3d\xc7\xdc\x18\x6e\x5c\x34\xa3\xa6\xd7\x53\x58\x26\x9a\x0e\x96\x77\x94\x96\x54\xb8\xaa\x1b\x36\x3d\xd4\xd3\x91\xdc\xd8\x1e\x9a\xb6\xa0\xf9\xd0\x59\x76\x6f\xf7\x84\xc8\xec\x9a\xb2\xda\xa2\xda\xc8\x7f\x3f\xd8\xf9\x83\x8d\x13\xc1\x86\x0f\x8f\xec\xed\x9d\xd1\x79\xad\x3c\xf8\xdc\x46\x73\xb7\xba\x03\x58\xbc\x03\xde\xab\x9d\x1b\xab\x70\xea\x9d\x3c\x6f\x36\xbb\x2c\x33\x9c\x3e\xbf\x33\x51\x19\x5f\x5c\x55\xdc\xb6\xb1\xb3\x65\x49\x73\x50\x28\xb1\x0b\xd6\xd2\x70\xc4\x5b\x59\xe9\x6d\xae\x5c\x7a\x69\x70\xf2\xf6\x83\x47\x3e\xec\x36\x6f\x7c\x0e\xb0\xd7\x76\xce\xe8\xdd\xab\xec\xc8\x83\x78\x87\xe8\xe7\x15\x48\x77\x78\x85\xc4\xb2\xb4\x51\x1d\x24\xe2\x2a\x63\x0f\x89\x13\x7c\xf2\x5a\x42\x53\x1c\xca\xb3\x72\xc6\xe2\x9c\x0e\xbb\x94\x10\x07\x5f\x80\x09\xed\xb2\xf0\xa9\x74\xcc\x05\xe8\xbf\x06\xd9\x42\x5b\xba\xde\x51\xcc\x81\x80\xc3\xe3\xfb\xc2\xee\xa1\x9d\x46\xa6\xd8\x26\xff\x0e\xaf\x46\x83\xb3\x44\xff\xc7\xa6\x19\xad\x0c\xc7\xd9\xdd\xb5\x3e\xf9\x1f\x46\xad\x46\x5e\x6e\xef\x34\xc4\xbb\xe6\xd0\x17\xac\x48\xd8\xef\x64\x5a\x67\x30\x33\x7f\xe1\xf0\xfb\xad\x83\x8f\xa1\x07\xf4\xb8\x4c\x45\xa6\xbd\x2d\x36\x74\x6d\x59\x51\xd0\xfd\x79\xa7\xbc\x5b\xfe\x95\xc5\x6e\xab\xb0\x5b\x75\x5a\xd9\x5d\xc0\x6b\xed\x5d\xec\xde\xf8\x8a\xbe\xbe\xa1\x4f\x2d\xa0\x01\x5c\x4a\x8d\x58\x77\x50\x34\x95\x51\x9e\x9a\x67\xc0\x38\xc5\x76\x69\x22\x33\x83\x01\xd5\x62\x9b\xdd\xeb\x0f\xb9\x4e\x12\x93\x0c\x8b\x7e\x53\x0c\xb1\xf7\x0e\x51\x84\x98\x1c\x12\x4b\x2e\xb1\xe7\xd2\x42\x2e\x53\x28\x13\x57\x86\xfd\xaf\x06\x08\xff\xa3\x62\x85\x0a\xd3\x01\x9b\x64\x27\x7e\x4c\xc3\xc8\x59\xea\xe2\x52\x34\x40\xab\x6c\x6d\x24\xf6\x1b\xc9\xf2\x99\x98\x1f\x96\xaa\x2f\x8d\x14\xfd\xb9\xf2\x6b\x6d\xc8\x95\x9a\x58\xd5\x5f\x35\x31\xe5\x0a\x69\xbf\xae\xfc\x73\x51\xa4\xb4\xde\x0c\xa8\xce\x75\x20\xb9\xae\x13\x50\x66\xb9\xe7\xd2\xff\xb8\xf4\xd2\xff\x00\x03\xa5\xf5\xe5\x60\xfe\x3e\x79\x8d\x49\x74\x85\xe4\x2f\xab\x26\x4e\xac\x02\xe6\x90\x4b\x34\x81\xdb\xf6\xc9\x47\xcb\xeb\x4b\x8b\x9c\x20\xb9\x61\x83\x9c\x74\xd2\x3d\xf8\x82\x4b\x95\xb2\x32\xb8\xac\x41\xe2\x89\xab\x0a\xbb\x81\xd3\x6c\x95\x36\xcb\xe2\xb3\x51\xf5\xdd\xf5\x89\x89\x4b\x27\x92\x3f\x94\xde\xd4\x0d\x93\xdd\x9b\xe4\x01\x52\x1a\x3a\x21\x2b\x3c\x79\x3d\x43\x9b\x48\x49\xde\x94\xc7\xe3\x2d\x7d\x50\x26\x18\x7f\xa0\xbf\x7b\xd3\x26\xf0\x5a\xae\x1c\xca\x7b\xb4\x61\x56\xc1\x20\xea\x92\xa1\x70\x28\xc3\x6a\x87\x17\xdb\xec\x8e\x92\xfc\x05\x1e\x16\x2c\x37\x5b\x8a\xaa\x4b\x17\xb4\x38\x4b\x9a\x9b\x4a\x9c\x2d\x0b\xc6\x55\x15\x59\xcc\xcc\xa2\x11\x03\xcc\xa7\xe0\x3d\xfb\xb4\x9e\x62\x17\x92\x57\x4a\x4b\x0b\xfd\xc0\x55\xdc\x33\xcd\x7e\xcd\x18\x63\x44\x05\xd2\x2f\xde\x66\x4f\xa1\x7e\xd4\x89\x57\xfe\x08\x61\x1b\x1a\x10\x6a\x5b\x41\x10\x0d\x2b\x38\xce\x2d\x1c\x24\x31\xd6\x2c\x71\x0b\x0e\x86\xb0\x0b\x27\x96\x33\xe3\x41\xe2\x23\xcc\xc6\x09\xd9\x3c\xc1\xf0\x61\x89\x23\xae\xc3\xce\xa6\x96\xdc\xf6\xce\xa7\xef\xdc\xb6\x44\xd9\x80\x8d\x8c\x59\x7e\xdf\x68\x12\xe4\xf7\x1f\xd7\x79\x75\x8f\xcb\xef\x0b\x26\xa3\xfc\xbe\x99\x61\xb5\x8f\x3f\xae\x65\x19\x33\x28\x41\x27\x41\xc9\xe3\x5a\xbf\xf6\x71\x50\x82\x4e\x82\x12\xf5\x24\xd4\xe7\x6e\x83\x36\x51\x13\xdb\x23\xbf\x6e\xd6\xe9\xb8\xe5\xdf\x18\x8d\xdf\x2c\xe7\x74\x3a\x33\xa8\xed\x61\x4d\x16\xc3\x37\xdf\x18\xcd\xe8\x2c\xa8\x55\xce\x1a\x0c\xca\x59\xf9\x75\x74\xd6\x6c\xfc\xe6\x1b\x83\xaa\xfb\xfd\x94\xbd\x98\x12\x51\x0f\xa5\x82\x78\x5c\xc3\xc3\x1a\x47\x46\xc0\x48\x6d\x49\x90\x63\xd4\xa1\x4e\x8c\x95\x10\x49\x19\x43\x7c\x60\xc7\x61\x22\x89\x33\x9f\xc7\xea\x9f\x94\x5f\x7e\xbc\xf7\xd7\xa7\xd6\x1e\xfd\x6c\xef\x41\x34\x5f\x86\x96\xcb\x97\x0d\xdc\x8e\x29\x66\xb7\xbe\x00\xc4\x5b\x2a\x2c\xa2\x6f\xc1\x92\x43\x27\x6f\x38\xff\xbc\x71\xc5\x02\xff\x09\xaa\x4d\xec\xc9\xd4\x7d\xcd\xf2\x8f\xdf\xdd\xfb\xd9\xd1\xb5\xbb\x7e\xf9\xca\xbf\x76\xbe\x0e\x0a\x6f\xbf\x05\x38\x5e\xdd\xcd\xc1\x71\xe3\x8a\x67\xbe\xb1\xf5\x86\x93\x87\x22\x62\xb1\x50\xaa\x60\x9b\x71\x29\xd5\xa6\x5d\xae\x7a\x30\x12\x73\xbe\x6f\x94\x1f\xff\xa8\xd8\x96\x44\x1e\x9a\x06\x5c\x9b\xff\x05\xa3\x33\x27\xc9\x19\x0e\xf3\x60\xfd\x50\x81\xff\xa3\x86\x08\xd2\x07\xb1\xc2\x82\x1f\xe6\x70\x38\x08\x8e\x87\xf7\x54\x3f\xd7\xc3\xa6\xa8\x89\xd8\x1b\x8c\x22\xfc\x0e\xbc\xc3\x6e\x25\xdd\x00\x8d\x8b\xe8\xb3\xf0\x57\xc1\xea\x0c\xf5\x62\x1b\x50\x49\x1f\x9a\x80\x25\x8c\xbf\x8f\x62\x82\x10\xa4\x02\x04\x01\x1f\x06\x12\xe0\x7a\x42\xae\x81\xf6\x37\x25\x49\x8c\x89\x2f\xb2\xd6\xc4\xc4\x95\xe3\x93\x91\x35\x9d\x4d\x82\xe9\x29\x6b\xa1\x53\x92\x68\xcb\xcb\x8d\x0a\xdc\xc7\x31\x29\x54\x27\x1d\xa3\xbb\x8e\x49\x75\x21\xe9\xd8\x80\x4b\x9e\x9c\x4e\x3e\x0b\x74\xcf\xc2\xb3\xea\x42\x47\x77\x9c\x90\xea\x24\x49\x7a\x81\x35\x8f\xf3\xba\x30\x38\x9c\x3b\x1c\x36\x0a\x6f\xd8\xcc\x62\xd4\xfa\xe7\x2d\xfd\xb8\x62\x21\xe5\x42\xe5\x36\xf2\xef\x20\x75\xd9\xb3\xcf\xa2\x0f\xfc\xd4\x29\x0a\xf0\xbb\x99\x29\xd4\x65\xc4\x67\x10\xaf\xa7\xe1\xa5\x4b\xac\x59\x40\xa4\xea\xb1\x5c\x08\xcd\x8d\x34\x1a\xf5\x1d\x56\x42\x81\x81\x97\x7d\xf0\x11\xa4\x66\x11\xe0\x1c\x24\xb2\xe0\x39\x12\xff\x7a\xe8\xda\x78\x2b\x43\xb0\x23\x88\xc2\x85\x7b\x0a\xd2\x69\xac\x04\x0f\x86\xac\x8a\xe3\xd5\x3c\xc5\xfe\x01\x1d\x41\xa4\xc3\xf0\xbb\x1d\xc7\x9c\xe3\x4a\x3d\xc5\xbc\x54\xe5\x67\xc0\xd5\xb5\x34\xcf\x6b\xca\x42\xa7\x28\x67\xc2\x6a\xf5\x74\x37\x4c\x70\xd2\x3a\xa7\x64\x02\x3c\xc3\x88\x81\xad\x53\x0e\x6f\x5e\xe6\x2c\xd0\x05\xce\xe9\xbd\xba\x99\xa3\x19\x53\x19\x10\x0d\x76\x96\x35\x6b\xac\x75\x26\x73\x51\xac\xbc\xb4\xd0\x08\x39\x51\xab\x63\xa1\xc0\x73\x05\xcd\x46\xd1\x6c\x8f\xfe\xc7\x9c\xa8\xd5\x2d\xf0\x10\x09\xf4\x9c\x45\xd0\x88\xfe\xb2\xd6\x60\x73\x35\x83\x44\x72\xc8\x59\x75\xc0\x1b\xae\xe5\xe8\x6f\x12\x1f\x7b\xa3\x91\xb2\x06\x77\x19\x12\x69\xe1\xa5\x67\xb1\xa6\x90\xa7\x80\x61\xad\x06\x83\x6d\xc1\xa4\x6a\x0d\x60\x9d\x81\x49\xe5\xa6\x02\x8e\x95\x68\x66\xdc\x84\x76\xa7\x53\x57\x7a\x4d\x3f\xe0\xae\x36\xdb\x59\x4e\x42\xb2\x26\x43\xeb\x6d\xb5\x1b\x0a\x8b\x9a\x17\xd5\x14\xb2\x40\x53\xd2\xd8\xdb\x59\x3a\xd1\x68\xf0\x6b\xa1\x5d\xd2\xbb\x20\x30\xb0\x96\x62\x5f\x63\xdd\xe2\x90\xbe\xd5\x5f\x5d\xac\x85\x8c\xab\x7c\x49\x6b\xef\x85\x3a\x13\x06\x1f\xa1\x01\x64\x4d\x5a\xc2\x15\xfc\x23\xee\x6b\x76\x3a\xa5\x23\x23\x5e\x35\x35\x9f\x5a\x4f\x5d\x8c\xbe\xc6\xac\x4e\x8c\x67\x63\x92\x44\xfa\xa7\x23\x83\xf7\x89\x1a\x35\x58\x05\x4a\x78\x8e\xc1\x1f\x62\x3c\x56\x12\x44\x7a\x2f\x1a\x15\x71\x6c\xad\x88\x76\xb1\x3a\xe8\xc1\x4e\x6b\xd8\x28\x8f\x3e\x5b\xa2\x5a\x42\x0f\x50\x01\x43\x63\x48\xbb\x54\x54\xca\x20\x39\x46\x0e\xa1\x13\x58\x65\xc7\x2a\x3a\xbc\x07\x9b\x7e\x67\xda\xec\x62\xc7\xec\x6d\x1a\xad\x51\x28\xe2\x2d\x1e\xc1\xf3\x44\xe5\x9f\x36\x6e\x98\x5d\x5d\x7d\xa2\x6f\xe3\x0a\xa4\x23\xf6\xcb\xa7\x0e\xfd\x51\xfe\xbd\xa0\xed\x07\xe0\xd0\x1f\x41\x10\x84\xa6\x1d\xfc\xb9\x9c\x96\x3f\x96\xff\xfb\x9d\xbd\x57\x26\x1f\x04\x8b\xa7\x4d\xa8\x64\x38\xc1\xc4\x71\x57\xfe\xa6\xaa\xb2\x12\xb2\x82\xce\xd0\xb0\xb4\x63\xdb\xbc\x02\x49\x53\xee\x40\x05\xb3\x2e\x6a\x73\x96\x31\xac\xcb\xd9\x0c\xe6\x2f\x8c\x84\xb5\xb5\x31\x97\xa6\xb0\xa4\xb5\xf5\xa1\x85\x85\xe3\x0d\xc5\x85\xbb\xfe\x39\xe4\x9f\x6c\x12\x5c\x3e\xff\x24\xaf\xfb\x36\xa3\x9b\x65\xf5\xc6\x62\x81\xd5\x2f\x5f\xdb\x53\xe2\x7f\x66\xc5\xb2\xa5\xee\xa2\x27\x9a\x7b\x6e\x98\x2c\x38\x3e\x3b\xa4\x6c\xae\xe9\xb8\xf6\xd2\xde\xd6\xf6\x1d\x4f\x9d\xb3\x15\x30\xc9\x07\x7f\x30\x2d\x71\x9d\x60\x40\xbd\x00\x36\xb5\xb4\x6d\x35\x0a\x7a\xd4\xa1\x1a\xd7\xc3\x15\xcb\x77\xd5\xa3\xa7\xa3\x32\xb4\xf5\x18\xd1\xd3\x9d\xe3\x58\xe3\xac\x9e\xf4\x56\xb7\x4b\xac\x75\xcf\x79\xbc\x63\x52\x54\xe4\x8a\xeb\xab\x39\xd7\xf4\x7c\xd9\x62\x0b\xa5\xa5\x24\xcc\x17\x4f\xf8\x6d\x91\xa6\xed\xc1\x6b\x9e\x90\xc7\xa4\xcc\x25\xc0\xcc\xa3\x81\xd2\x62\x67\x44\xe6\xdc\xa3\x2f\x3c\x7f\xf4\xc0\x2f\xfd\x81\x5f\xca\xb7\xa5\x5f\x7d\xe2\x7e\x50\xc2\x44\x9f\x78\x35\xfd\x18\x28\xb9\xdf\xbf\x7c\xf9\xc2\x6f\x0e\x1e\xfc\x86\x6d\x91\xdd\x43\xf2\xd9\xab\xde\x05\xce\x67\xc1\xa4\xdf\xa4\xcb\xe4\xbf\xbe\xbb\x0a\x1c\x19\x02\x7f\xf1\xfc\x46\x7e\x56\x59\xeb\x43\xb2\xc3\x4e\x24\xa7\x6d\xc0\x6b\x2f\x34\x16\x55\x39\x8a\x27\x28\x1f\x68\x2c\x16\x20\x36\x1f\x00\xf4\x71\xc5\x70\x9a\xc5\x69\xb6\x18\xc4\xa2\x55\x2c\xd2\xfb\x19\x01\x69\x38\x68\x78\xc2\x6b\x23\x02\xfe\x90\x39\x9c\x64\x77\x7a\x17\x2d\xef\x5d\xb5\x7c\x56\xb3\xd9\xb2\x59\x3e\xf2\xa6\xe4\x72\x49\xc7\x40\xf9\xda\x92\xa9\xcb\x17\xad\x5c\x30\xd7\xb7\xe5\xa5\xcb\xb7\xb4\x15\x44\x5d\xbc\x7d\x4a\xc7\x8a\x39\x0b\x12\x95\xdc\xe4\x8b\x57\x2e\x68\x89\xf8\xec\x2c\x63\xd0\xb8\xa7\xd4\xd7\x09\xa1\x48\xe7\xb9\xcd\x25\x2c\x67\x15\x35\x3c\x52\x8f\x84\xea\xd8\xa2\x15\x97\x74\xc0\x70\xcb\xcc\xf9\xf3\xba\x9a\x2c\x16\x47\x2d\xe7\x9c\xde\xbd\x63\xdb\x35\xe0\x27\xdd\xdb\x5a\xbc\xb4\xe0\x29\xd0\xe9\x3e\x92\xbf\x05\xae\x50\x01\x78\xe7\xb8\x20\x6a\x8c\x15\xd3\xf6\xcc\xad\xb6\x06\x66\x76\x55\x5c\xda\x0f\x68\x48\x5b\x8a\xea\xa7\x6d\x9d\x5c\x68\x91\xc6\x35\xb5\xb5\xd5\x98\xcc\x3b\x3b\x39\xeb\xa4\x69\x9b\x36\x5f\xdd\x51\xd0\xd9\x7d\xd6\xa2\xb9\x93\x63\x26\x13\xb3\xd4\xc5\x3b\xda\xa2\x8d\xc5\xd0\x31\xf3\xe2\x39\x2d\x1e\x11\x7d\x3e\xf4\xf5\x57\xf0\x8e\xa6\xaa\x10\xac\x41\x62\x8b\x0d\xc9\x2e\x7f\x63\x29\xe2\x49\x6e\x25\xf1\x55\x44\xc2\x02\x8a\xcf\x3e\xb0\xf9\x2c\xf8\x2f\x68\xcb\x30\x32\x31\x7f\xdb\x3a\xbb\x41\x1e\x4a\x7f\x31\x7b\x2b\xf3\x9b\xc1\xb2\xcc\xdf\xd6\xd9\xf4\xcc\xd9\x5b\x81\x7b\xe2\xfc\x1d\xf2\xbf\x80\x71\xc7\xfc\x89\x60\xf2\x29\xea\x14\x98\x8a\x7e\xae\x6a\x6f\x9f\xb7\x63\x47\x9e\x9c\x89\x11\xca\x6a\xd4\xf8\xa0\x31\x69\x4c\xed\xa7\x09\xee\x62\x92\x2a\x91\x69\x86\x64\x53\x21\x32\x7d\xf0\xbb\x02\xbd\xe0\x35\x63\xf0\x99\x1e\xfd\xae\x80\xaf\x61\x32\xb1\x5a\xd6\xe1\x6c\xac\xf9\x64\xac\xe2\x69\xcb\x8a\x39\x4b\x71\x01\x73\x54\xac\x98\xc9\xb4\xff\x3b\x0b\x3b\xa0\x16\x11\xb4\x61\x66\x54\x85\x91\x55\x3e\xf5\x9d\xa5\x1d\x25\xbf\x2b\x6b\xa6\xb9\x62\x8e\x94\xdf\x47\x59\x1b\xa8\x90\xcb\x6a\x51\xc2\xce\x2c\x56\x1c\x43\xfb\x1d\x01\x6a\x29\xec\x5b\x65\x50\xc3\xc6\x0c\xa1\xa1\x17\xbf\x47\x3c\x18\x8f\xbe\xfd\xe2\x5c\x1c\xbe\x78\x1a\xc6\x00\xd5\x9e\x5b\xf6\x5d\xbc\x01\x6a\x74\x3d\xf0\x7e\x27\x7d\x80\xea\xe3\xbe\x0c\xc9\xe4\x36\x2a\x86\x23\x41\x89\x38\x86\xa5\xb1\xb8\x03\xcf\xad\x54\x04\x0b\xa5\x0e\x32\x1a\xd1\x0a\x90\x58\x9c\x90\x8b\x62\x4b\x83\xe4\xb3\xf9\x70\xb4\x97\x44\x9f\x5a\xdb\x28\xbf\xf9\xec\xed\xf2\xd7\xb7\x9d\xf8\x91\x65\xe7\x21\xc0\x3f\xb3\xe7\x9d\xed\xd0\xdd\x78\x8a\x32\x9a\x4b\x2d\x5f\xc8\xa5\xce\x20\xdd\x03\x35\xc2\x82\xd8\xc4\xe5\xbd\x1d\x41\x70\xbf\xbc\xde\x0c\x7e\x55\x6a\xf9\x08\x2c\x7b\xf5\xb1\x3f\xdc\x06\xb4\xb7\x3f\x01\xca\x5a\x2f\x8d\xfd\xf1\xb2\x67\xe4\x6f\xf7\x7e\xe0\xda\x92\xe4\x03\xe0\x03\x9f\x93\xd6\x5b\x0a\x22\x6d\xcb\x27\x4e\x3a\x9b\x97\xff\x98\x4c\x06\xe4\x86\x61\x3a\xb6\xc2\xeb\x13\x0b\x87\x68\xf4\xfa\x78\xec\x3e\xa9\x2c\x6a\xe2\xa5\x51\x87\x12\x9b\x85\xed\x0a\x92\x38\xca\x3b\xd1\xa0\x3b\xfa\x5f\xb3\x2b\x42\xf3\xf5\xcc\x55\x81\xf2\xb0\xd1\xeb\xd9\xdb\xb4\xde\x7d\x8e\xbb\xae\x4b\xdf\x50\x6b\x6a\x36\x75\xf4\xdc\xf1\xa7\xf7\x4f\x0e\x7b\x9f\x7b\x7f\xcb\x69\xe4\x7f\x49\x3d\x0d\xef\x3f\x18\xfb\xf5\x73\x06\x7e\x99\xb3\xc7\xd9\x5e\xf7\x58\xfc\xf7\xf1\xc7\x40\x08\xb8\xc1\xc5\xc3\x2c\x68\x2a\x9e\x03\x2a\x23\xd6\x7f\xad\x90\x51\xd4\xb0\xac\x83\x51\x1b\x88\xe6\xa7\x33\x61\x58\x48\x70\x29\x42\x72\x1f\x6b\xcb\x24\x2c\x31\x4a\x3d\xc9\x24\x9f\x93\x8f\xff\xac\x5f\x10\xdf\xa5\x39\x9d\xd6\xe8\xf8\x24\xb3\x15\x05\x74\x10\xec\x30\xb9\x1c\xf2\x0e\x75\x73\x1c\x30\xe4\x28\x4c\xfd\x4c\x3e\xfe\x9c\x28\xc0\x55\x13\x01\xa7\x33\x27\x1d\x9a\x29\xcb\xb2\xa9\x93\x58\xab\x7c\x62\x1b\x6b\xc5\x7b\x17\x2e\xcb\x24\xe4\x02\x23\xb0\xfe\x14\x7b\xfa\xe6\x62\xbf\x03\x2a\xfa\xb4\x4d\x0d\x33\x52\x2a\x93\x1d\x8c\xb2\x56\xb1\xef\x19\x0f\x2e\x2b\xac\x96\x72\x3f\x51\x7e\x7b\x94\x18\x94\x9e\x33\x46\x87\x8f\xca\x4f\xee\xf4\x5d\xd1\xe2\x6a\x5c\xac\x06\xe3\x78\x86\x09\xe3\x5f\xb7\x62\x7d\x8b\x2a\x4a\x70\x15\x50\x68\x8d\xb1\x8f\x3d\xea\x2d\x3e\x22\xc1\x10\x57\x54\xc0\xc7\xd1\xe4\xe6\xc0\x91\xbe\x3e\x8e\xf7\x23\xf1\x14\x08\xa0\x1c\xd0\x91\x5a\x3a\x20\x61\x88\x5e\xe0\x61\x22\xac\x2f\x04\xcf\x39\xef\xce\x24\xfa\xa4\xf9\xc6\x19\x33\x1a\x79\xc9\x98\x48\xde\x79\x1e\xb3\xb8\xec\x12\xf3\xe2\x9d\x95\x95\x3b\x17\x9b\x2f\x29\xe3\xa2\xd1\xd9\x1d\x1d\x83\xf3\xe9\xaf\xdf\xfb\xa2\x61\x93\xbb\x50\x1e\x70\x2d\xae\xec\x59\x56\x74\xc7\x1d\x45\xcb\x7a\xaa\x16\xb9\x80\x97\x11\xaa\x6b\x3b\x4b\xc0\x4b\x43\xda\x6d\xa0\x3f\x91\xa8\xf6\x39\x0b\xa0\xc5\x69\x81\x05\x4e\x5f\x75\x22\xc1\xdb\x69\x53\xa4\xa2\xa4\x22\x62\xa2\xed\xfc\x50\xc9\xa6\x12\xcf\xf8\x1b\xc6\xcb\xbf\x09\x95\x8d\x77\x3a\xb1\x57\x28\x78\x13\x0c\x80\x37\xb1\x87\x28\x63\xf4\x15\xd8\xba\x13\xea\xf7\x81\xb1\x44\xe6\x10\xff\x64\xfc\xb1\x62\x0d\x51\xb1\x22\x21\xa5\x32\x97\xcc\x10\x34\xb4\x01\x3a\x97\x0c\xab\x6e\xac\x48\xc3\xcc\x25\x55\x78\x3b\xd4\x10\x52\x3c\x06\x82\x34\xcb\x7e\xd1\x3a\x77\xd9\x43\xf5\xfc\xbc\xa6\xea\x19\xa6\xb8\xfc\x72\x5c\x33\xaf\xb9\xba\xcb\x14\xbf\xa5\xc8\xd6\x32\x3b\x5e\x71\xfb\xfa\xdb\x5d\xf6\xe6\x39\xf1\x8a\x3b\xa2\xca\x89\x18\x88\xc5\x34\xf3\x71\xe6\xe8\xdd\x36\x7b\xf3\xfc\xe6\x8a\x3b\xd6\xdf\xeb\x1c\x1a\x02\xb1\xf5\xf2\xcb\xf0\x9b\xd9\x2d\x67\xfb\x9a\xee\xb7\xb9\x9a\x16\xc4\x2a\xef\xeb\xbb\xd7\xe9\xc0\x89\x7b\xa2\xda\xee\x16\x74\xed\xff\x47\xdb\x77\xc0\x47\x55\x65\xff\xbf\x7b\xdf\x7b\xf3\xa6\xb7\x37\xbd\x66\xfa\xa4\x27\x33\x99\x99\xf4\x4e\x80\x90\x84\x10\x7a\x68\xa1\x77\x09\x20\x1d\x61\x68\x62\x03\x15\xa5\xa8\x28\x51\x11\x1b\x76\x2c\x28\xba\x59\xfb\x5a\x50\x17\xb7\xe0\xcf\x82\xbb\xb8\xbb\xb6\xb5\x17\x20\x73\xf9\xdf\xfb\xde\x4c\x08\xc8\xfe\x74\x3f\xff\xff\x3f\x30\xef\xdd\xfa\xca\x7d\xb7\x9c\x73\xcf\x39\xdf\x13\x03\x65\x71\xe9\x08\x72\x95\xd8\x3e\x8b\xb9\x72\x74\x3c\xbf\x67\x6e\x0f\x29\x92\xc8\xbb\x3d\x21\x19\x5e\x91\x3f\x54\x13\x47\x2f\x96\x4a\xd1\xe9\xb9\xa0\x62\xfe\x85\x7b\x35\xd9\x82\x26\xd5\x05\x3a\x22\x40\x97\x76\x64\x5f\x06\xd2\xae\xec\x43\xe9\x1e\x9b\xe9\xc0\x69\xbc\x0c\x49\xa4\x9a\x4d\x04\xaa\xc1\x40\x25\x12\xfa\x84\xdb\xe3\x7d\x29\x36\xad\xbe\x7e\x5a\xe1\x73\x85\xca\x1c\x79\x69\x98\xae\x0d\x97\x26\xb2\xfb\x7a\xc3\xa5\x55\x81\xc2\xc7\x43\xb4\x43\xed\xe0\x2d\x46\x83\xd1\xc2\xe3\x10\x0d\x14\xbe\x9a\xf3\x75\x4d\xce\x9c\x00\x87\x7c\x06\xd3\x3a\xff\xa0\x41\x59\xab\xb2\xa4\x41\x29\x6a\x21\xce\x14\x66\x66\x97\x97\x86\x03\xc3\xad\x59\x4b\x6c\x90\x97\xe9\x64\x44\xe9\x05\x9f\x78\xf8\xa0\x79\x38\x95\x91\x25\x0a\xb6\x07\x2c\xee\xcd\x83\xa9\x11\xd4\x54\x6a\x31\x45\xf1\x78\x05\x0b\x42\x01\x21\x93\x16\x44\x3f\x41\x8d\xb8\xa7\x41\x78\x27\xbe\x3f\xc9\x1b\xf4\xc5\xfd\xc4\x85\xb7\x68\xe2\x89\xa9\x7d\x96\x37\x99\x85\x35\x10\x7f\x5b\xc8\xf1\xf1\x58\x09\x95\xc5\xe0\xa5\x1a\x12\x90\x9d\x20\x5e\x6e\xe2\x54\x96\x3f\x8e\xe3\x41\xe2\x03\x04\xc7\x4d\xeb\x1b\xc0\xa2\x17\xff\xcd\x4a\x59\x8d\xd4\xce\xb4\xa0\xcf\x0a\x72\x78\x35\xcf\xbf\x39\x6c\xbd\x52\x27\xa1\x35\xca\xf6\x95\xf7\xa0\x7f\xa5\xd3\xb8\x2c\xf9\x5c\x30\xf2\xe5\x1b\x80\x62\xae\x3c\xd1\xcc\x30\x4a\x89\x1e\xf7\xe6\x1a\x24\xf9\x12\x30\xeb\x36\x74\xcf\xa5\xd7\x4c\x79\xfb\xa1\xcf\x2b\xfa\xee\x00\x0b\x40\xcb\xd7\xdb\xb7\x7f\x8d\x0e\xa1\x1b\xd1\x21\x12\x02\xa3\x41\x27\xa8\xfa\xe4\x8a\x2b\x3e\x41\x2f\xa0\x03\xe8\x05\x12\x82\xc9\x3b\x77\xf5\xf1\x53\xc0\xa5\x40\xca\x87\x2a\x1d\x9d\xaa\xb3\x14\x5d\x4e\xb3\xd0\xe3\x04\x72\x20\x03\x4a\x3d\xaf\x06\x52\xf4\x14\x92\xd2\xb5\x99\xd4\x9e\x67\xe6\x75\x8d\x48\x28\x2d\xbc\x5d\xe3\x52\xfa\xd9\xf9\xc7\x52\xab\x24\x6c\x5e\x16\xd3\xf1\xe0\x0b\xef\xa0\x7d\xb3\xe0\x81\x7b\xe7\xe7\xc0\x92\xf3\x6e\xdc\x22\x3c\xcc\xa9\x27\xaf\xf8\x04\x54\x5d\xf0\x0c\x99\xb5\x47\x68\x7f\x3d\xd1\x17\x03\x3a\x36\xe8\x27\x63\xc4\x9f\x30\x4a\x18\xa3\x81\x31\xeb\x00\x1f\x48\x04\x43\x31\xc6\xcc\x54\xa3\xaf\x4f\xa2\x6b\xfe\xfc\x07\x30\xe9\xf8\x71\xf4\x29\x88\x7d\x46\x3f\x10\x48\x7d\x77\xc3\x8a\xdb\x81\xf1\x0d\xe2\xa2\x34\x69\xd8\x9f\xda\x71\xcd\x4f\xfb\x6d\x07\x83\x27\xae\xdd\xf3\x0f\x17\xdb\x8e\x6a\xd0\xea\x25\x23\x9b\x9c\x07\x3d\x6b\x33\x3a\xe6\x82\xdf\x29\x25\x15\xa4\x8a\x08\xf2\x80\xd1\x97\xee\xc2\xbe\x18\xf0\xe8\xa2\xba\x01\xbf\x73\xd8\x71\x6c\x26\x18\xa5\x7b\xe9\xde\x64\xb6\xe3\xb4\xdc\x91\x9d\x04\x78\x4d\x4a\x66\xfe\x57\x38\xb2\x4f\xe1\x8c\x0a\x09\x0e\xfc\x8c\x03\x12\x0a\x25\x45\x04\x90\xb3\x54\x0a\xdf\xf8\xdc\x4f\x84\x27\x25\x1e\xed\x92\x19\x5f\xd1\x49\x99\x68\xbb\x4e\xe8\x05\xde\x24\x74\x94\x04\xcf\x9a\x22\x89\xb4\xbf\xad\x00\xb1\xba\x35\x1a\x38\x3e\xad\xe3\x89\x73\xc9\x64\x1b\x4f\x04\x32\x7e\xbd\x24\xff\xd6\x33\x07\xd1\x9f\xd1\x7e\xf4\xe7\x83\x8c\x1e\x56\x9b\x4a\x4c\x4c\xbb\xe9\x4c\x0f\xa3\x64\x52\x97\xe6\x96\x4a\x6a\xca\xcb\xa1\x5c\xa6\xe9\xd5\xc8\xe4\xb0\xbc\xbc\x4e\x31\x16\x3d\x66\x32\x31\x5d\x38\x9b\xe9\x82\x47\xd0\x8b\x83\x96\x0f\xc2\xff\x41\xe5\xe3\x1c\x07\xb5\x05\x52\x84\x79\xc3\xa3\xde\x5b\x66\xfa\x87\x0e\x0a\xa2\xe1\x6a\x05\xfe\x53\x83\x47\x82\x83\x86\x06\xdf\x5a\x33\x47\x5a\x20\x05\x5d\x00\xa0\x1e\xfc\xfe\x0b\xcf\x26\xd9\x1b\x44\x9d\x16\xc0\x13\x01\x05\x1f\xa4\x20\x91\x67\x60\x36\x4b\x6f\xae\xa6\x13\x24\x58\x4c\x00\xed\xe8\x09\xaa\xea\xdc\xec\x5a\x55\x18\x9d\x7d\x78\x52\x79\x24\xaf\xa1\x66\xdb\xef\x73\x02\xd7\x77\xae\x2c\x8c\xc7\x4a\xcb\x1d\xb5\xbe\x36\xf9\x0e\xd8\x90\xaa\x52\x28\xe0\x0b\x83\xc0\x4b\x20\x7c\xb5\x46\xb3\xe8\x4b\xfc\x64\x55\x9f\xde\xf0\xe6\x58\xb5\x3a\x34\xbd\xfc\x72\xdd\xcf\x69\x9f\x38\xec\xc7\xc2\x1a\x4a\x01\x0f\x19\x65\xe2\x7e\x17\x1e\x59\xfe\x68\x96\x99\xc3\x4f\x21\x10\x79\x98\xce\xa2\x13\x1e\x9a\x82\x7f\x52\x3e\x81\x1e\x7a\xef\x56\x74\xf2\xe8\xaa\x55\x47\x81\xe3\x56\x90\xf7\x97\x77\xd6\x3c\xb9\xe1\x7f\x92\xc9\xff\xd9\x30\x76\xc7\xe4\x26\x8f\x04\xb5\xc0\x7f\x37\x54\x1d\x47\xf7\xf7\x92\x02\xa0\x1c\x38\x8e\xae\xfa\xc3\x1f\x56\x6c\xfc\x08\xfd\xfc\xd1\xc6\xa2\x21\x13\x3b\x02\xa2\x5e\x99\x38\x4f\x10\xbb\x57\x2f\xd5\x26\x48\x23\x4c\x44\x39\x30\x28\x28\xd1\x93\xfd\xb5\x88\x3f\x0d\xd8\x1c\x61\xd3\x14\xa7\x29\x41\x80\x6d\x82\x21\xde\x4c\x3c\x7c\x0b\xd8\xa6\x98\x9e\xa2\x25\x5c\xda\xd0\xc3\x8c\x0f\x4c\x34\xe2\x8f\x95\x60\x6e\xd0\x3f\x60\x96\xc0\xb3\x83\x89\x19\xac\xd5\x56\xa3\x7f\x57\x6b\xb5\x12\xbd\xa4\x68\xd5\xca\x62\x89\x1e\x1d\x2b\x69\x8e\xc5\x9a\xc1\xef\x62\xcd\x25\x38\x74\xa6\x69\x86\x7f\xe3\xe3\x35\xaf\x92\xc4\x40\xdc\xf6\x01\x2f\x19\x74\x68\x83\xaf\x24\xd2\x14\x70\x4b\x80\xe5\xa5\x97\x81\x85\x73\xf9\xc1\xac\x8b\x8c\x47\xb0\x58\xab\xa9\xae\xd6\x68\x25\x92\xe2\x62\xc9\xbb\xf8\x62\xb8\x2f\x75\x06\xc8\x35\x4b\x3a\x8a\x9b\xfc\x9d\x12\x60\xcf\x0f\x94\xc4\x9a\x63\x91\x62\xd6\x88\x5e\xe5\x3a\x03\x4d\xc5\xbe\x72\x8d\xdd\xb9\xfd\xb5\xd7\xb6\x67\x59\x35\x65\xcf\x5c\x70\x41\x1c\x3a\x1f\x07\x4b\x23\x78\x73\x22\xf3\xa9\xd0\x4e\xde\x74\x3b\x91\x66\x0a\x64\x9a\xc9\xc4\xf6\x87\x12\x42\xe3\x04\x43\x09\x33\xf9\x76\xff\xa1\xa9\x44\x6b\xfb\xd0\x2f\xf5\x96\xe8\xfb\x55\xaa\xd8\x17\x31\x95\x8a\xd5\xb2\x39\x47\x73\x58\x2d\x42\x05\xd5\x05\xf9\xb5\xf9\xa0\x43\x3c\xff\xa5\x32\x37\xc7\xbd\xf8\xe6\xf8\xfd\x20\xdf\x4d\xe4\x2e\x45\xc6\x67\x75\x4c\xe5\xcd\x8b\x5c\x79\xb9\x95\x59\x36\xf6\xeb\x7b\xef\xfb\x5a\x62\x75\x83\xe8\x79\xf8\x13\xbb\xf1\x45\xf1\x35\x25\x92\x9c\x1c\xc9\x2e\x77\x41\x81\x50\x33\x7d\x1e\x9c\x53\xe9\x6e\x63\xbe\x0b\x65\xe5\xe1\xab\xe7\xe6\xb0\x7a\xf4\xbd\xa4\x35\xab\x32\xc7\x15\x51\x59\xcd\xab\x1f\x78\x60\xb5\xd5\xa2\x2a\x06\x27\x2f\xce\x97\xb8\xf0\xec\x43\x10\x99\x13\x69\xf0\xb1\x7e\xb5\x14\xe1\x05\x45\x95\x13\x27\x60\x63\x69\x45\x95\x2a\xc0\x85\x8c\xa4\x03\x9d\xa7\x26\x39\xad\xf3\xd2\x9e\x4b\x1d\x41\xfb\xee\xa5\x1d\x23\x96\xda\x0d\xbc\x1d\x5c\xb9\x8b\x9c\x3a\x2b\x2f\xbd\x63\x29\x18\x71\x21\xff\x72\xd8\x5e\x3d\xbc\x7b\xd1\x70\xf4\x89\xc1\x6e\x37\xac\x5c\xdd\xb1\x64\x71\x3b\xc0\x8b\xa9\x83\x8f\x7f\xb4\x7a\x9d\xc1\xee\xe0\xd7\xd8\x1c\x6b\xda\x97\x2c\x01\x0f\x5c\xc8\xd5\x90\x39\xea\x4e\x2e\xc9\x4e\x12\x9e\x5b\xc0\x45\x12\x1f\x5a\x34\xb1\xef\x77\x5e\x2f\x3c\x34\xc7\x7a\x32\x39\xe6\x84\x98\xc5\x04\x2b\x47\x55\xf6\x3d\xf2\xe8\x19\x30\x04\x07\x52\x0f\x3d\xdc\xf7\x02\xb8\x16\x0c\x39\xf3\xe8\x23\x7d\x9b\x5e\xc0\x29\x74\xe9\x72\xa2\x1e\x93\xda\xfb\xd0\xcf\x67\x1e\x05\x72\x74\x3a\xb7\xa2\x22\x17\x2e\xb8\xff\xdb\xef\x0f\x5e\x51\x7e\x3b\xfa\xf1\xd1\x33\xa7\x1e\x06\xca\xaa\x72\xf4\x6d\x4e\x45\x45\xce\x40\x7e\x85\xe0\x7d\x50\x01\xe2\x66\x5c\x74\x8f\x7a\x11\xfa\x98\xed\x4d\xd5\xa2\xac\x49\x9b\x60\x2f\x38\x31\x69\x53\xed\xc0\xef\xdb\x03\x4e\xc0\xde\x4d\x93\x50\x56\xaa\x76\x13\xe3\x3c\x5f\x61\x4f\x8a\x7f\x36\x29\xc5\xfc\x03\xf7\x68\x19\xbe\x8f\x4e\xb0\x76\x0f\x08\xb8\x39\x64\x79\xf0\x58\x81\x4f\x07\xf0\x4a\x41\x1b\xa3\x31\x9e\x60\x53\xe0\x7f\x01\x1d\x4e\x1b\x18\x1e\xf2\x46\xea\x0b\x30\x64\x0d\xb8\xe9\xcd\x37\xdf\xec\x80\xc6\xd4\xe7\x60\x08\x7a\x8a\x24\xdc\x0c\x0d\x38\x67\x30\x3a\x0c\x06\xaf\x61\xfe\xd1\x97\x0d\x0f\xe3\xbc\xc5\xe8\x5a\x5c\x66\x30\x3c\x0c\x5c\x6f\xbc\x81\xfe\xd6\xd7\x71\x67\xc7\x7e\x31\xb1\x3f\x38\x60\x7c\xc9\x04\x6c\xd4\x22\xe2\x5b\x88\x12\xd8\x6e\x62\xf3\x31\x20\xa4\x4d\x03\x79\x73\xba\x04\xb1\xed\x80\x42\xdc\x27\x46\x7e\xc1\x88\x9b\x5a\x62\xb9\x76\x47\x4e\x0c\xfd\x90\x0e\xc0\x75\x0f\x5f\x66\xe0\xcd\x89\xb1\x6b\x8f\x45\xeb\x2f\xbb\xfb\x91\xcb\x9a\x1b\x9e\x3e\x96\xa8\xba\x8c\x36\x9f\xa7\x44\xd9\x98\xec\xd4\x00\xa3\x0e\x8c\x48\x4e\x20\xe7\x54\x31\x50\x3e\x47\xb7\x95\x4f\x91\xa4\x36\x67\x1f\xe5\xe1\x5c\x1c\xf5\xf7\x3d\x85\x83\xe0\xe7\xf3\xdb\x57\x4e\x65\x9f\x95\x71\x6f\xe2\xf9\x74\x23\x75\x84\x7a\x8d\x3a\x4a\xbd\x4f\xfd\x9d\xfa\x27\xf5\x29\xf5\x25\xf5\x15\xe1\x41\x5d\x34\x51\xd0\x57\x43\xae\x80\xf5\x11\x4d\x52\x17\xe7\x06\x26\x1c\x0d\x8a\x06\x24\x25\x89\x6a\x88\xa7\x07\xc2\xa2\x0a\x9a\x37\x8c\x48\x6c\x93\x25\x11\xcf\xfb\x02\x47\x6d\xce\x50\xd8\x50\x92\x46\xe9\x20\x82\x92\x10\x99\x40\x04\x1b\x39\x73\x42\x4d\x9b\x13\x05\x5c\xa8\x00\xe6\x10\xd7\x2b\x98\x2c\x75\xc1\x1a\x60\x34\x63\xe2\x4e\x5a\x23\xea\x2c\x11\x85\x55\xcc\xa5\xd1\xe4\x82\xf8\x89\x04\xca\x2e\x61\xe6\x80\x08\x4c\x1d\xaa\x86\x51\x3c\x34\x49\x26\x1f\xc5\xa9\x31\xa3\x06\xd4\x40\xe6\xe5\x61\x57\x4e\x9f\x5d\x97\xeb\x99\x50\x39\xa8\x68\xd5\x5e\x7f\x5e\xa5\x3d\x54\x30\x7d\xa8\x5c\xc2\xc8\x24\x79\x9c\x9b\xd5\xd3\x12\x00\x00\x27\xd5\xd1\xbe\xcd\x59\x21\x0f\xa4\x61\x45\x02\x8f\x44\xff\xee\x2a\xeb\xcc\x6e\x87\xc4\x88\x5c\x6e\xad\x45\xa7\x06\xff\x90\x2a\x8c\xbc\x9d\x65\xcc\x12\x8d\x8d\xbb\x53\xa6\xb3\xea\x34\x4f\x00\x70\x97\xa9\xf0\xba\xc2\x44\xa1\xbc\x31\x97\xed\xa8\xce\x4b\xe4\x18\x8c\x72\x8b\x32\x42\x87\xf3\x7d\xa0\x8a\xd5\x71\x6a\x89\x9c\x93\x31\x9c\xc6\xa6\x2f\x54\xaf\x9b\xa0\x0d\x37\xd6\x38\x07\x4b\x95\x59\x59\x26\xa5\xe9\xa7\xb5\x8e\xbc\x6c\xab\x57\xed\x53\xe4\x4a\x39\x98\x3d\xbc\xef\x90\xba\x34\x4f\x47\xe7\xfe\x14\x3a\x1c\x97\xd9\x9d\x66\x2b\x5c\xb5\xa6\xaa\x16\x9d\x2a\x5a\x38\x14\xdc\x4e\xfb\xca\xa2\xa5\x0c\x67\x1c\x5e\xe7\x40\x83\xba\x24\xf2\x7c\x25\x7f\xcc\x2d\xcf\xa6\x57\x01\x48\xfe\x4d\xa1\x0b\x9b\x56\x4c\x1d\x52\x3a\x2f\x51\xe5\x4a\xd4\x68\x03\x7b\x1f\x38\xb2\x73\x2a\x64\x58\x19\x1b\xe0\x9c\x4a\x97\x35\x60\xf2\xd8\x6a\xb2\x5b\x70\x9f\x90\x6b\xdd\xcd\x26\x55\x59\x95\x11\xda\x62\x93\xd6\xdd\x64\x60\x6c\xdd\x26\xad\xc6\x4c\xcf\x53\x9b\x54\x72\x86\x85\x40\x95\xa5\x0b\x98\x74\x1a\x13\x1d\xd6\xda\x9e\xec\x29\xf6\x7b\x69\x83\x45\xab\xe7\xf3\x86\xda\xb2\xb4\xb4\x5a\xe5\x77\xd7\x3a\xac\xe1\x30\x54\x68\xfe\xcc\x1a\xa5\x1a\x09\x26\xe0\x21\xcd\x80\x5c\x97\xc7\x56\x60\x1f\x29\x93\xe5\x3b\x00\x5e\x81\xa6\x4c\x31\xfa\x43\xe6\x7c\x5d\x19\xdf\xa2\x91\xc5\xc6\xdc\xf5\x72\x2e\x2d\x93\xcb\xf8\x38\xa7\xe8\x1b\x65\xcb\x75\xc7\x0b\x4a\xd9\x7c\x05\xed\x57\x3e\x52\x84\xde\xd6\x00\x4e\xa3\x90\x72\x20\x17\xaa\x38\x78\xa9\x41\x07\x94\xa9\xb5\x23\x95\x92\x62\x00\x84\x2b\x8b\x3c\xae\x1e\x8f\xb1\x7f\x53\x66\x4c\x93\x4d\xa2\x36\xe1\x65\x2d\x98\xde\x0d\x21\xfa\xb3\x64\x23\x5f\xb0\xb6\x14\xd4\x9a\xc5\x51\x26\xa8\xd4\x71\xb8\x93\x08\xba\xe5\x71\x50\x42\xd0\x6b\x88\xfa\x1d\x91\xc7\x00\x41\x99\x8d\x28\x23\x08\x5a\x71\x82\xc6\x97\x21\xbd\xd6\xc7\x4a\x70\xbf\x13\xba\x6c\x22\xcd\x1f\x31\xd7\xb2\xbc\x6b\x49\xf3\x86\x5a\x56\xaa\xd0\x70\x40\xea\x9d\x3f\x2d\x92\x3d\x36\x97\x53\xe6\xf1\x06\x73\xac\xd0\xe2\x2c\xb6\xa9\x65\x3a\x33\xad\x91\xa8\x65\x5a\x35\xaf\xb0\xfb\x14\x52\x39\x2b\x37\x83\x4e\xb9\x39\xdf\xe5\x49\x6e\xf4\xdb\x87\x0e\x1f\xd7\x9d\x58\xba\x1f\xc2\x16\x67\x43\x53\xd9\xae\xe5\xab\xb3\x6c\x6d\x75\x83\x0d\xbe\xc2\x2c\x87\x33\xb6\xf6\x6d\xf4\x39\x7a\x1b\xfd\xe3\x4f\xc9\x50\x45\xc7\xb0\x8e\x42\x5e\xdd\xec\xab\x72\xf9\xf3\xa4\x1b\xca\xf2\x0e\xe6\x1a\xfd\xa3\x1b\x46\x26\x42\x11\x5e\x6d\xf2\x16\x63\x0e\xc3\x20\xcf\x72\xd0\x34\xe3\xb1\x73\xca\xcd\x85\x6a\x8d\x5c\x99\x67\x31\x48\x39\x03\x54\x31\x72\x46\x42\x43\x8d\x5a\xa3\x93\x30\x4a\x50\x68\xca\xcf\x77\x8c\x1c\x05\xc2\xe5\xe5\x61\x00\x6e\x99\xd9\x5d\x62\xd0\xd5\xb5\xd6\x02\x50\x35\xb4\x1a\xd0\xde\x82\xec\x95\x47\xf7\xa3\x7f\xfe\x6e\xc1\xd2\x57\x80\xa3\x67\xfc\xdd\x6b\x17\x0f\xab\x75\xca\xa5\x01\x43\xd8\xe2\x18\x3f\xe2\x96\xa0\xb3\xcd\xae\xb2\x0c\x1a\xb2\x7c\xdd\xfd\xd4\x40\xec\x2d\x17\x5e\x25\x3b\xa9\x95\x78\x3e\xd0\x40\x35\x08\x65\xec\x79\x13\x41\xcc\x55\x9b\x39\x89\x01\x93\x13\x35\x34\x6d\xc6\x84\x82\x57\x62\x70\xd3\x5c\x21\x2c\x00\x89\x02\x11\x47\x08\x8f\x7f\x93\x68\x44\x1a\x22\xdb\xe9\x09\x33\x21\xc0\x0a\xe9\x84\x9b\x48\x54\x5c\x80\x36\x48\x38\x93\x60\x39\x4c\xb4\x45\x35\x74\xa8\x06\x56\x13\x85\x1a\x5c\x91\x29\xe8\xd9\xed\xaa\x7b\x60\xb4\xb6\x7b\xe8\xe8\x95\xe3\x07\x99\x0a\xea\x94\xbb\x15\x81\x40\x60\x4e\xc0\xb5\xfb\xf6\xe7\x94\x7b\x94\x81\x39\xcd\x01\xe7\x9e\x9e\xdd\xb7\xef\x76\x35\xe6\xd9\x9b\x3a\x57\x8e\x6e\x59\xaa\x1c\x75\x3f\x3d\x7b\xe5\xe8\xe6\x25\xea\x31\xcf\x34\x2a\x76\x0b\x65\x5c\x7b\x7a\xf0\x3f\x67\x6d\xa1\xb1\x65\x26\x9c\xd5\x62\x2b\x68\x50\xe2\x8c\xe6\x39\x42\xc6\xed\x7b\x9c\x0d\x4f\x8d\x51\x2c\x6d\x1b\xbd\x12\xbc\xd5\xb3\xc7\x55\x5b\x60\x6c\xea\x5c\x35\x7a\x48\xb7\x76\xcc\x83\x75\xca\x3d\x8a\xc0\x9c\x60\x80\x14\x84\x7a\x72\xc7\xe6\xb9\xe4\x8e\xf8\x9f\xab\xe1\xf0\x58\x0d\x7e\xb0\x55\xd3\x9a\x0d\x85\x67\x76\x8e\x5e\x35\x79\xb0\x23\xaf\x51\x28\x32\x27\x7d\x43\x57\xed\x03\xa3\x15\x4b\x19\x73\xeb\xa5\x8a\xd1\x4f\x36\xa4\x9f\x37\x9d\xd5\x90\x6f\x1b\x36\x6b\x95\xe8\xb7\x43\xc4\xcc\x18\x44\x8d\xa3\x26\x50\x53\xa8\xd9\xd4\x3c\xea\x4a\xea\x4e\xb2\x9f\x13\x2c\x14\x5c\xd5\x85\x44\x65\xce\x50\x5a\x43\x31\x11\x24\xd3\xa1\xc4\x20\x2a\x72\xe2\x7f\x82\xd1\x31\xd1\xbd\xc4\x63\x81\xc8\x85\x04\x1d\x4f\x51\x65\x93\x16\x14\x34\x7d\xa4\x54\x42\x90\x86\x25\x22\xac\x39\x04\x02\x3a\x16\x98\xe9\x10\x9e\x76\xcd\x80\xd5\xe1\x4f\x48\x6e\x21\x20\xc2\x88\xfb\x22\x42\x5d\x62\xba\x8d\x07\x17\xd0\x09\xa2\xec\x50\x49\x48\x27\x68\xb7\x24\x74\x6c\x24\x0f\x67\x1a\x75\x70\x3b\x30\x1b\x0c\x79\xb9\x5c\x23\xd3\xd0\x30\xc2\xc2\xb8\x69\x49\x8b\x71\x83\x5a\xd7\x08\xa5\xb3\xa4\x21\x17\x84\x80\xb5\x99\x2d\x7a\x39\x03\x24\x01\x45\x79\xe1\x0c\x28\xaf\x57\xc8\xac\x0c\x03\x69\xab\x83\xb6\x96\xd4\x2a\x2f\x63\x19\xd5\x5b\x34\xa7\x0c\xba\x5c\x36\xb3\x9a\x01\xb4\xc7\x50\xe4\xe7\x75\xf0\xb9\x9a\xab\xcf\xfc\x0c\x9f\x48\x35\x33\xc7\x67\x3d\x3e\xe3\xaf\xb3\xf2\x8f\xa1\x02\x58\x85\x4e\xdf\x16\x0f\x6f\xdc\x51\xee\x19\x35\xfc\x9b\x1a\xa9\x5c\xca\x38\x3c\xcc\xd0\x07\x06\x4f\xb9\x6e\xb4\xc6\x1d\x90\x83\x9d\x7d\xa7\xd5\xa9\x02\x4e\xc5\x12\x85\x68\x0d\x66\x7f\x0b\x20\x66\x74\x2b\x18\x03\x78\x8d\xe6\xa4\x32\x83\x93\x8d\xc1\xd9\x6d\x53\x34\x90\x81\xcc\x38\xcb\x13\x76\xd7\x95\x32\xe0\x85\x0a\x29\xd1\xbb\x93\xb3\x1c\xc7\xe8\x24\x3a\x28\xa1\xb5\x5a\x1f\xf4\x31\xb4\x1c\x00\xa5\x11\x46\xca\xd8\xc8\x08\x87\xa4\x04\x82\x62\x70\x42\xa3\x32\x6b\x94\xb4\x59\x63\xc3\xc3\x90\x51\x2b\xe1\x8e\xbf\xe7\xa4\x6e\xfa\x17\x23\xfd\x34\x15\x77\xc3\xeb\xdd\xa9\x7f\xb9\x2f\xa9\xa3\x2b\x9e\x02\x6b\x4f\xeb\x54\x3d\xf5\x23\xad\xca\xb6\x02\x4e\x86\xa7\x0e\x3d\x0c\x14\x3b\xfd\x9c\x0e\x33\xd2\xc9\x33\x7f\xf8\x51\xf2\x9d\x0a\x40\x26\x2e\x03\x12\xd6\xaf\x06\xc9\x97\x2f\x99\x6f\x44\x93\x05\x7b\xe3\x0c\xf6\x02\xb1\xe9\x1b\x4c\x8d\xc5\x3d\x61\x05\xb5\x95\xda\x4d\xdd\x4d\x3d\x49\xf5\xf6\xef\xf4\xf4\x3b\x87\x65\xcf\x87\x2c\x27\xf4\x03\xf1\xed\x64\x3c\xe7\x46\x4f\xc4\x63\xd7\xfd\x4a\xfc\xff\x77\x79\x5e\x04\x16\xf3\xe8\x40\x16\xd9\xcf\x4c\x92\x03\x7b\xa2\xbc\x69\xd7\xbc\xbe\x9e\xfa\xc9\xa5\x61\xd8\x13\xee\x72\xec\x71\x84\x53\x59\x02\xd0\xd1\x7f\x3c\x00\xea\xff\x2e\xbf\xab\x27\x5c\x9a\x4a\x32\xc9\xc9\xf5\xe7\xbc\x2b\xdf\xe9\x5d\x3e\x28\x45\xcd\xdb\x35\xb9\x5e\x42\x85\x4b\xc3\xf8\x31\xba\xc2\x67\x92\xfd\xd5\x80\xfa\x62\x41\x74\xd1\xd4\xff\xa6\x00\xd8\x0e\xa8\xd2\x70\x0f\xa2\x88\x37\x6f\xa2\x43\x2f\xa1\xd2\xb2\x9b\x1a\x6a\x38\x9e\x03\x16\x51\xeb\x05\x0f\x82\x0f\x51\xbf\xa3\xde\xa2\x3e\xc2\x94\xd8\x59\xa0\x01\x6e\x50\x08\x6a\x2e\xb2\xe3\xd7\xef\x24\x51\x6c\x77\xdd\x7f\x19\xa7\xff\xcb\xef\xf9\x5b\xfa\xc7\x85\x40\x3e\xff\xb7\xd7\xfb\x7f\xf9\x7c\xac\xa0\xac\x72\x46\xd4\x52\xe9\x3d\xe7\x76\xe0\x7f\x3f\x24\x7f\x6b\xc1\x73\x07\x48\x0d\xf0\x4c\xf4\x9b\x6b\x01\xea\xbf\xbf\x93\x84\x0a\xda\x4e\x09\xfb\x5c\x12\x7c\x44\x03\x20\x67\xbf\xfd\xb5\xe0\xa3\xfd\xc1\x8b\x43\x20\x5d\x3c\x78\x46\xc0\x4c\x11\x0e\xf0\xbf\xa8\xd6\xf7\x5f\x94\x3d\x0f\x86\x09\xf3\x9a\xb5\x67\xb5\x4c\x2f\xdb\x85\x47\x49\x88\xec\x18\x5e\xa0\x54\x47\x64\x9d\x19\x65\x21\xb3\xc9\x90\xb1\x32\x65\xf6\xa3\xf7\xd3\xba\x75\xe8\x7d\x87\xc3\x39\xdc\x71\x12\x74\x9f\x74\xb4\x3b\x1c\xa8\x47\x54\xb0\x7b\x1f\xbd\xdf\xf7\xaa\xa0\x5a\x97\x44\x49\x41\xb5\xae\x14\xf8\x49\x01\xc7\xc9\x93\xa4\xc2\x27\xa2\x6e\x1d\x9b\xf6\xbd\x4c\xf6\x53\x9c\x82\xd4\x68\x04\x91\x7f\x89\x7c\x0f\xa6\x1d\x09\x5f\x02\x44\x5f\x31\x20\xbd\x84\xb2\x11\x46\x4f\x2c\x2a\xf0\xec\xe7\xf3\xe2\x0c\xe2\x34\x26\x30\xa0\x34\xc1\x06\x09\x08\xbe\x61\x44\x72\x0a\xd3\x67\xca\xe0\xb8\xaa\x96\xb5\x95\xf8\xd8\xba\xa6\x12\xdd\x37\xaa\xb5\x65\x53\x93\x70\x00\x57\x2d\x07\xfa\xa7\xbc\x35\xf5\xb9\x8d\x5f\xd5\xd4\xa7\x9a\x9f\xec\xbe\xfb\x6d\x30\xa4\x6a\x5c\xb0\x72\x4d\x2b\x39\xae\x05\x33\x5a\x47\x35\x6d\x6a\x21\x07\x26\x5c\x39\xbf\x6d\xe9\xde\xa1\xe4\x78\x4b\xea\x58\xfb\xf2\x45\x7b\x9b\xdb\x57\x2c\xba\xb5\xf0\x05\xf4\xe9\xd2\x82\x2a\xa7\xa2\x73\xfc\x8e\x31\xc7\x1e\x5c\x7e\xac\x6d\x7e\x65\xf3\x2d\x4b\xf1\x71\xe8\xde\xa5\x73\x56\xb4\x37\xef\x5d\xb4\xbc\xbd\xf9\xd6\x45\xc4\xfe\xea\x2c\x05\x89\x2f\x70\xa3\x88\xb9\xc8\x9b\xd2\xc6\xee\xe2\xc3\xe3\x67\x87\xbd\x4b\xa6\xe4\x43\xbf\xad\xd7\xe6\x87\xf9\x53\x96\x8c\xde\x75\xdf\xae\xd1\xf4\xd7\xd7\xbf\x14\xe8\x7b\x5d\xd0\x04\x8b\x05\x5e\xba\x3e\xf9\xdd\xad\xb7\x7e\x77\x0e\x53\x24\x63\x77\xe4\xc6\x54\x3c\xd0\xb1\xa1\x7c\xa0\x22\x1f\x51\x44\x52\x4d\x63\x85\x08\x9b\xa8\x98\x6a\x49\xc2\x64\x2a\x59\x0b\x9f\x4e\x35\xa5\x9a\xd8\xd3\x7e\x77\xaa\xd6\x51\xef\x48\xd5\xba\xfd\x05\x41\xd8\x6b\xca\x33\xc1\xde\x60\xc1\x24\x30\x09\xae\xfd\x74\x31\x42\x08\xa6\x28\x5f\xa5\x0e\x25\xb5\x5a\x90\xd4\x55\xfa\x68\x2a\x5c\xaf\x06\x94\x54\x7a\x96\x52\xd7\x8b\x50\x79\xf8\xfe\x52\xd1\x8f\xc9\x39\xab\x68\x9c\xc5\x06\x84\xe7\x60\x41\xfa\x1c\xca\xc4\xc9\x73\xb1\x64\xc7\x17\xd3\xac\x62\x20\xfd\x80\x01\xe1\x80\x9f\x52\x58\x7c\xf1\x01\x0a\x4e\x84\x6a\xc1\x8d\x68\x01\x5a\xc0\xbe\x3b\x20\x92\x27\x86\x0f\xa3\xc1\x68\x30\x7b\x2a\xe8\x41\xb5\xd6\x5a\x2b\xaa\x65\x68\xc8\xa6\x83\x9e\x60\xae\x0f\x3c\x8a\x7f\xbd\xe6\xb8\x19\xf4\xfa\x72\xc1\xa3\xfe\x9c\xae\x5e\x50\xbe\xbf\xfb\x81\x07\x1e\x48\x6d\xcb\x84\x56\xde\x05\xe4\xfb\xbb\x9f\x7d\xf6\xd9\x54\x15\xea\xf2\x57\x6b\x4f\xa8\xd5\x27\x20\xfe\x23\x67\x6d\xb5\x1f\xf4\x04\x6b\xb5\x4f\x83\xeb\xf0\xb1\x57\x2e\xef\xd5\xd6\x06\x51\xf7\xd3\xda\x5a\x51\xa6\x82\xa4\x14\x0b\xf1\x7b\xcb\x70\xbb\x07\xa9\x02\xaa\x8e\xec\xd6\x1a\x3d\x34\x41\x36\x0d\xd2\x98\xc2\x8b\x42\x8f\x17\x33\x3f\x94\xd8\x23\x39\x8f\xc1\x14\xf0\x44\x62\x25\x3e\x4f\xcc\x43\x78\x75\x9f\x27\x40\x3c\x8f\xe1\x1c\xa1\xc3\xd2\x3e\x0f\x57\x8a\x00\x38\xdb\xd7\xd9\x2d\x01\x7b\xf4\x07\x6a\x96\xeb\x3e\x98\x81\x0e\xff\x39\x05\xd8\xa3\x57\xbd\x39\x13\xa6\x2e\x59\x7a\x26\x0e\xc2\x6f\xbe\x82\xfe\x08\xac\x6d\x13\x9e\x43\x7d\xe8\x73\xd8\x31\xf6\x8a\x65\x35\x07\x97\x5c\x5a\x3c\x72\x49\xb2\x29\x75\x2b\xf3\xc0\x5a\xf4\xc7\xb9\x9d\x2f\xa4\x9e\xac\x4d\xa0\x37\x81\xf4\x2f\x6f\x03\xfe\x8a\x0f\xaf\xd4\xb9\x16\xad\x8a\xdc\x7d\xe8\xb9\xa1\xad\xd7\xfd\xc5\xd1\xb0\x6e\xc2\xe3\x1d\x59\x07\x56\x0d\x5b\x33\xaa\xdc\x96\xfe\x86\x99\xfd\x4c\x17\x15\xa0\xf2\xf0\x9b\x0c\x16\xfc\xfc\x5c\xb0\x1a\xf2\xc2\xee\x13\xd9\x5b\x20\x1b\x0d\xb4\x2f\x86\x29\x55\x43\xfa\xc4\xe2\x32\x9e\x78\xec\x1c\xba\x0f\x81\x26\xa2\x23\x66\x1f\x1e\x7a\xb8\x51\x06\x4a\xc2\x8e\xa1\x6d\x60\xdd\xb2\x9e\x6b\xe7\x87\x9a\x47\xb5\x3e\x7c\xe7\x8a\xa9\x87\x9f\x5d\x0b\xe5\x8d\x43\xc0\x2d\x60\xe7\x86\xe4\xfe\xdb\x2e\x7f\xb3\xfa\x2a\xc5\xd0\xe2\xc5\x0a\xc4\x34\xcd\x03\x35\xe8\xf7\xe7\x4b\xc1\xd0\xf5\x7d\x5f\x2e\x5d\x7c\x5b\x4e\x49\x77\xd9\xf0\x1c\x1d\x7a\xfe\xa9\xce\xc9\xe8\x91\xe3\x8b\xe7\x64\xb5\x0c\x92\x1b\x36\x3f\x72\x70\xe3\xd6\xfd\xbf\xf3\x86\xc1\x25\xab\x4b\xeb\x81\xbc\x35\xc3\x6b\x71\x19\x9c\xfb\x10\x41\x67\xed\xf7\x5a\x20\xec\xc1\x9a\x33\xfa\x67\x21\x42\x99\x83\x01\x08\x45\x09\x03\xe5\x03\xc2\x1c\x52\x88\xc7\x95\xa0\x3e\x43\x80\x6c\x29\x49\xc1\xb5\xaf\x5d\x7b\xed\x6b\xa9\x6d\x3b\xe6\xd8\xed\x73\x5a\xeb\xdc\xee\x3d\x2d\xc6\x0e\x43\xd6\xf2\xc1\x73\xe8\xb7\x1f\x5b\xb7\xfe\xb1\xc7\xd6\xaf\x7b\x6c\x17\xfa\xe1\x08\x1a\xa6\x7c\x7e\xf3\xaa\xa7\xad\xff\x00\x5b\x86\x4f\x56\x99\x08\xc6\x80\xe2\x99\x23\x40\xc1\xb8\x49\xfd\x6b\xcf\x3c\xf7\xf6\x0e\x49\x8e\x7b\x77\x4b\x6b\xad\x5b\xea\x91\x56\x0e\xa5\x3f\x5a\xf7\x18\xae\xff\xe8\xa3\xeb\x9f\x45\x3f\xa2\xdf\x6f\x78\x74\xcf\xa5\x13\xc1\x03\xb7\x16\x41\xb0\xfb\x19\x20\x45\x3f\x50\xe7\xf1\x8e\x52\xfc\x3e\x0d\x54\x6b\x1a\x09\x80\x6c\x9f\x52\x22\x37\x28\x98\x2f\xc7\xf1\x43\xc7\xcf\x6d\x84\x55\x65\x18\x8f\x40\x24\xfd\x9d\x38\x9a\xbc\x7d\x20\xb3\xbf\x2c\xb6\x09\x61\x0e\xdf\x5b\xd2\xb3\x78\x71\x0f\xd2\x5e\xda\x51\x3a\xd9\x5a\x52\x50\xb9\xd2\x6a\x89\x56\x75\x98\x0c\x1d\x74\x9f\xf8\x25\x0e\x1a\x6e\x98\x32\xe7\x66\x39\x18\xbf\xeb\xd8\xb1\x5d\x37\xfe\x11\x7e\x2c\xe3\x87\x55\xa3\xbf\x88\x1f\xe8\xa7\xed\xaf\x6e\xdb\x36\x63\xe6\x36\x3a\xbb\x67\xf1\x92\xe1\xed\x8b\xd1\xab\x07\x96\x96\x17\x19\x0c\xf8\x1a\x95\x2b\x2d\x1e\x16\x2e\x14\x3f\xe6\x4d\x83\x26\xae\xbc\x66\x76\xdf\xb1\x9d\xbb\x8e\xbd\x73\x23\x7a\x0e\x04\x56\x80\x77\x71\x3a\xea\x99\xb1\x6d\xdb\xab\xdb\xb7\x11\xb4\xf1\xb3\x63\x24\x5f\xb1\x67\x29\x15\xee\x97\xf9\x98\x4f\x1e\x26\xa0\x26\xd1\x5c\x40\x10\xbe\x62\x06\xca\x64\xc7\x1c\x33\xad\x01\x34\xd1\x6e\x8d\x27\x42\x80\x58\x1b\x01\xcc\xa1\xd1\x3c\x69\x01\x20\xa1\x03\x21\x9e\x68\x25\xb2\x44\xea\xc4\xa9\x59\x2e\x88\x53\x12\x74\x20\x41\x14\xd7\xd8\x38\xa6\xea\x4d\x74\xa3\x06\xa2\x89\x78\xec\x2b\x38\x8d\xcc\x0b\xdb\xf2\x0e\xdd\x50\x33\xb5\xc8\x4d\x33\xcf\xe9\x20\x27\xf5\x0d\xbf\x46\x92\x3c\xa2\x2c\xe6\xf5\x83\x6f\x94\xfe\xe3\x18\x77\xdf\xdf\xca\x52\xa1\xc2\xf7\xd0\x0b\xfc\xc7\x86\xf6\xb0\xa5\xd8\x57\x64\x29\x82\xbb\xdf\xd5\x2b\x4c\xaa\xb0\xbf\xca\xd3\xa4\xf0\xfe\x13\x94\xad\xdd\xfe\x3e\x9a\xb4\xdb\xdb\x31\xa8\x52\xa7\x03\x3b\xdd\x71\xa5\x22\x04\x16\xa1\xeb\x4c\x4e\xba\x2c\x60\x2f\x6d\xf6\x4f\xe4\x94\xb0\x1c\x6d\x99\x38\xe4\xfa\xb9\xa3\x8c\x46\x30\xd3\x56\xa9\xd3\xd7\x5c\x36\x26\xf5\x19\xba\xc9\xe9\xa3\x19\x8e\xdd\x0f\x16\x81\x79\x0f\x68\x4d\x26\xfa\xd1\x1a\x74\xcd\x33\x4a\x30\xc3\xed\x60\xa0\xc1\x94\x67\x8d\xa3\x97\xd0\xce\x40\x9b\xcf\xe0\x35\x99\xe4\x7a\x7a\x08\x58\xf0\xc2\x97\x23\xd1\xd5\x86\x31\xe3\x6f\x9e\xd4\xa0\x52\x01\xda\xae\xd1\x54\x89\x7d\xa4\x56\x2a\xf6\x79\xb2\xaf\xdb\x70\x0e\x2d\x82\xf7\xe0\xd6\x22\x44\x24\xd7\x9f\x32\xd0\x70\xd4\x93\x31\x20\xcd\x38\x12\xc1\xed\x47\xba\x87\x99\xa8\x30\x80\x13\x93\x37\x4f\x9e\xbc\x79\x23\xfd\xf3\x78\x68\x91\xa5\x28\x99\x05\xb2\xb4\x90\x84\xf4\xea\xae\xee\x9e\xee\x3e\x0a\x1f\xba\xd4\xfa\x4d\x93\x1c\x73\xcd\x77\x4c\xa3\xa9\x69\x77\x98\xe7\x3a\x26\x6d\x02\xeb\x48\xa1\xc9\xe0\x04\x98\x29\xe5\x79\x69\xca\x2a\x46\x29\x84\x49\xf6\x24\x71\xbd\x99\x14\x8f\x98\x9e\x4b\xe2\xd2\x77\x4e\x5e\xbf\x7e\x32\x9a\xb4\x49\xb4\xab\x95\x92\xe9\x36\x4a\x55\x60\x3e\xbe\x75\x00\xaf\xf6\xbf\x3c\xb0\x88\xb3\xec\x49\x7b\xc4\x32\xf3\x19\xbb\x59\x70\xee\xdd\xd3\x29\x5c\xd6\xa4\x4d\x17\x7d\xf4\xa4\x88\x8a\x97\x24\x2f\x70\xea\xb4\xf8\xb8\x33\x06\xbc\x37\xe3\x11\xd2\x60\x72\xd3\x24\xf2\x12\xb5\xe4\xf1\x6b\xc5\xe3\xb9\x97\x38\x41\xc8\xac\x13\xe4\x55\x50\x96\xd0\x4c\x60\xa3\xd8\x00\x7d\xcf\x08\x51\x4c\x0f\x64\x61\x1e\xe5\x84\xf0\x7e\x94\x9f\x0c\x54\x57\x06\xeb\x8f\x6c\x02\x11\xf7\x69\x09\xf2\x66\xfd\x47\xd1\x9f\x30\x51\x22\x14\x8f\xec\x89\xa0\x0d\x45\x80\xdc\x6f\x45\xbd\x56\xbf\x1c\xa0\x88\x2d\xc8\x83\x1d\x9f\x08\xc7\x97\xc8\x31\x49\x60\xe1\x93\x7c\xd0\xf6\x12\xd8\x81\x8f\x9f\x80\x1d\x9d\x25\x41\xdd\xb6\xa0\xd5\xe7\xb3\x06\xb7\xe9\x82\x38\xf7\x86\xfe\x43\x92\xe7\x11\xae\x10\x44\x0b\x85\xc3\x80\xb9\xc6\x48\xe5\x52\x8d\x82\x2e\x4c\x1a\x34\x49\x9c\xe5\xd3\x66\xd8\xf1\x04\x4e\xf5\x0c\x48\xcd\x12\x52\x79\x9c\xea\x17\xf6\x13\xfb\x4b\x33\x82\x7b\x3e\x30\x50\x35\x6d\xb6\xeb\xf7\x68\xcb\xcd\x39\x76\x13\x9b\xb5\x79\xd1\xdf\xee\xe7\xd5\xbc\xa3\xcb\xf7\x25\xfa\xc3\x4d\xbb\x8a\x7c\x56\xce\xb5\x7a\x03\x30\xbf\x63\x51\x5b\x7d\x0b\xc2\xeb\xd0\xa3\x0f\xbf\xd1\x63\x76\x67\xbb\x15\xce\x2d\x0f\xee\x03\xf9\xb3\x8d\xbc\x33\xf7\xcd\x0b\xe1\xe7\x9b\xb2\xf8\xa5\x5e\x59\xae\xc1\x29\xb5\xcf\x56\xd8\xbf\x08\x1b\xb7\xe5\xa8\xa2\x56\x9f\xd4\xb3\x56\xe5\x03\xba\x42\xf3\xd0\x61\x85\x5c\xc0\xe5\xce\x91\x06\x1a\xab\x94\xd9\x13\x2e\x10\x06\x01\xd1\x97\x2d\xfe\x26\x3c\xa1\x86\x89\x5f\x36\x8e\xe6\x30\x8f\x1d\xc2\xa1\x04\x9f\xf0\x30\x14\x7a\xc7\x02\xcc\x88\xcd\xdb\xee\x42\xc7\x40\xa1\x05\x7d\x0a\xce\xe0\x30\xc8\x67\xde\x49\x3d\xed\x46\x53\x5d\xe8\x2b\x17\x28\x84\x83\x5d\x60\x9f\x0b\xe8\x5c\x78\xec\xe9\xf0\xef\x1a\x19\xc5\x5c\x4a\xa9\xf1\x0a\x4b\x3c\xda\x57\x52\x43\xa8\x51\xd4\x34\x6a\x3a\xb5\x18\x73\xa4\xdb\xa8\xeb\xa8\xdb\xa8\x83\x54\x2f\xf5\x2e\xf1\xb6\x45\x7a\xa9\x97\x18\x8d\x92\x19\x1b\x47\x71\x33\x92\xb6\xe5\x68\x83\x39\xe3\x3c\x20\x46\x76\x07\xbd\x85\xc4\xb6\x37\x61\x26\x8a\x38\xb1\x50\xa2\x04\xcf\xf6\xb4\x99\x33\xf8\x84\xf4\x28\xa6\xd9\xcf\x65\xb8\xd3\x8a\x3b\x38\x82\x73\x64\x80\xe7\x0c\x82\x67\x24\xe2\x22\xd9\x94\xb8\x30\x26\x46\x44\xbb\xf0\x32\x40\x93\x6c\xb2\x06\xf2\x44\x8c\x69\xee\x8f\x61\x7a\xd5\xc4\x73\xc5\x42\x0c\xf2\xb1\x78\xda\x18\x5f\xc0\x6f\x16\xa8\x3a\x92\x40\x09\x42\x0a\x5a\x8b\x49\x48\x95\x5c\xa6\x56\xab\x81\x4a\x66\x02\x39\x0a\xa5\x4a\xaa\x95\xaa\x80\x5c\x21\x91\xa9\x15\x32\xd9\x99\x2f\x0c\x06\xa8\x86\x3a\x1d\x54\x8f\xb3\xd9\xa0\x54\x66\x36\xcb\xa4\xc0\x76\xc4\x6a\x55\xc8\xa1\xd1\x08\xe5\x8a\xc9\x66\x33\x54\xaa\x8c\x46\x95\xb2\x0b\xc7\xd5\x12\x99\xc1\x20\x93\xa8\xc1\x06\xf4\x91\xd1\x28\xe7\xb4\x10\xf3\x4b\x5a\x4e\x3e\x99\xe7\x15\x52\x1c\xc2\x71\xa9\x62\x1a\x4e\x33\xf0\x38\xa2\x92\xca\x94\xe0\xca\x97\x35\x1a\x0d\x66\x09\xd4\x6a\x8d\x41\x33\x5d\xad\xd6\x9a\xb4\x40\xa9\x04\x5a\x93\xe6\x4f\x6a\xbd\x4d\x0f\x24\x12\x25\x94\xcb\x14\x52\x4e\x0d\x99\x59\x07\x96\xf5\xfd\x5b\xa5\x77\x8c\xee\x7a\x01\xb8\x74\xb1\xb2\x65\x07\xf6\x7f\x03\x15\x72\xb5\x5a\x9e\xfa\xe1\x1b\xb9\xaa\xe4\x18\x6c\xd6\x4a\x59\x56\xaa\x95\xa4\x9e\x05\x9f\x03\x39\xa7\x90\x71\x2a\xb0\x20\xb9\x4e\x26\x5b\x97\x94\x35\xbd\xf5\xba\x4c\xfe\xda\x5b\x32\x3c\x32\x3f\xff\xe1\x4b\x85\xe2\xcb\x1f\x94\x6c\xdf\xf7\x2a\xd5\xf7\x7d\x2a\xf7\x67\x3f\x6a\x65\xdc\x8f\x9f\x49\x64\xc8\x04\x17\xa2\xcd\x3f\x72\x0a\xfd\x8f\x60\xad\x5e\x31\x1c\xe5\x7d\x2f\x55\xf0\xdf\x83\x77\x79\x45\x16\x92\x7c\x6b\x34\x7e\x0b\x4e\xcb\x54\xaa\x94\x0e\x7e\x86\xe0\x57\x72\x8d\x5a\xf1\x15\x40\x0a\xb5\xda\x85\x0c\x5f\x28\xb4\x5a\xc5\x17\xe0\x0b\xa5\x56\x8b\xa4\xff\x54\xe9\xf5\xaa\x25\xcb\xe0\x5a\x5a\x23\xe3\x58\xa9\x3e\x75\xe3\xb2\xbb\xa0\x5e\x45\x6f\x32\xcb\xbd\xe8\x54\xaf\xe9\x00\x95\xc1\x27\xa0\x04\x1f\xc6\x76\x01\x81\x94\xa2\xb2\xfc\x09\x3c\xd5\x90\x1d\xfa\x2a\x60\xfa\xdf\x63\x8c\x00\x4e\x2d\x46\x4b\xe2\x90\x07\xef\x81\xbd\x2b\x8e\xa2\xdb\x50\x17\xba\xed\xe8\x0a\xb0\xf7\x57\xe2\x87\x41\x0f\x98\x76\x34\x13\x3f\x4a\x53\x63\x46\xdd\x27\xea\x63\xdc\x37\xaa\xef\xbe\x01\x11\x90\x33\x20\xc2\xe4\xe0\x53\x52\x8c\xe1\xd3\x80\xfd\x5c\x9e\xb2\x51\x3e\x6a\x32\x1e\x3b\x97\xe2\xb1\xb3\x15\xcf\x49\xbf\xdc\xaf\x33\x73\x3a\x0f\xf1\xa7\x2c\x28\x5b\x13\x11\x2e\x10\xa4\x65\x64\x13\x57\xc2\x19\xc5\x3d\x73\x0e\x0a\x7e\xfb\x88\x3d\x3b\x20\xd6\x21\x46\xb2\x07\x4b\x6c\x0e\x2a\x60\x44\xb0\xbf\xc7\xaf\x8d\x0f\x98\xb2\x50\x03\x20\x31\xe3\x49\x8e\x98\xbc\xc7\xf0\xbf\x90\x81\xa3\x49\xd1\x10\xb9\x8a\x84\x0d\xfa\xc8\x98\x2c\x61\x8f\x38\xc2\xfd\x00\xca\xc9\x70\x97\x63\x33\x58\x29\x57\xa2\x57\x94\x60\x3a\xb1\x35\x4b\x51\x10\x79\xa2\x15\xe5\x37\xb8\xb4\x6a\x08\x24\x75\x45\x97\xd7\x7c\x70\xff\x4d\xe3\x35\x2a\x0b\x60\xe5\x8c\x6c\xf2\x68\xb5\x0c\x96\x24\x1a\xfd\x16\x95\x4a\xe1\x36\x02\xb3\x52\x2f\x23\xc6\xf0\xca\x04\xb2\x97\x8c\x8e\x0e\x05\x1b\x34\x2a\xfc\x38\x02\x42\x85\x12\xac\xdd\xba\x13\x9a\xd8\x96\xa8\xbd\xd4\x05\x57\x58\x2e\x6d\x29\x52\x33\xcc\x66\x61\x8b\x2d\x03\xc3\x1c\x76\x34\xa2\x2b\x9c\x4a\x50\xa6\x3c\xad\x67\x28\x62\xd0\x76\x9a\x82\x23\x6c\x2e\xae\xd8\x84\x99\x2b\x00\x82\x61\x8f\xa5\x02\x9d\xe6\x94\x80\x91\xdb\xc2\xb3\xf3\x65\x1a\x08\x47\x77\x5f\xb1\xae\xe3\x96\x48\x58\x63\x2c\x94\x40\x9a\x75\xad\x19\xb4\x1f\xd9\x2d\x97\x87\xc7\xd1\xab\x73\x3a\xb9\x00\x1d\x66\x18\x80\xeb\x9a\x70\x7b\xa4\xe6\xc6\xed\x98\x28\x6e\x58\x38\x66\x51\xa9\xc2\xe2\x00\x80\x3a\xaf\x9f\x89\xdf\x68\xd4\x6f\xfb\x36\xbc\x91\x00\x1a\xe3\xd6\x8f\x45\xc9\xe6\x3a\x0e\x0b\x90\x7e\xb4\x44\x03\x7c\x25\x05\xc4\x35\x1b\x01\x56\x27\xb4\x9d\x0f\xb7\x38\x1d\x8d\xfd\x6a\x4b\xcf\x6d\xda\xbf\x2f\xc9\xd1\x90\xa1\x01\x4b\x27\xf7\xed\x6f\x42\xef\x76\x4e\x67\x21\x64\xf0\xd3\x4b\xe0\x75\x4b\xae\x83\x2c\x60\x18\x08\xd9\xe9\x9d\xbf\xa1\xd9\xe8\xe4\xfc\xd4\x7c\xf0\x89\xc1\xa6\x95\x5a\x68\xaf\x0c\xd9\xe1\xce\xf9\xf3\x51\xb3\xc1\x66\x24\xce\x76\xd9\x2c\x19\xf4\xa4\x3e\x92\xb9\x25\x46\xa3\xcd\x00\x9e\x98\xff\xcb\x76\x18\xf9\xdb\xda\x81\x98\x02\xf8\x08\xa8\x27\x91\x06\x43\x37\xf0\x91\x38\x2d\x36\x86\x00\xe1\x46\xc4\x0d\x85\x40\x88\xf3\xf4\xaf\x36\x02\xc8\x07\xd6\x61\xb3\x59\x39\x8b\x5f\x9a\x81\x2c\x47\xcf\x6f\x01\xbe\xc6\xde\x17\x1a\xd0\xa7\xcd\xb3\x19\x25\x8d\x7b\x17\x23\x51\xcc\x6b\x41\x1f\x36\x3e\xfb\xfc\x6f\x68\x86\xcf\xe6\xcd\xbb\x9d\xe3\xa5\x8c\x84\xe1\x64\xcc\xed\xf3\xe6\x01\x1d\xb0\xcd\x9f\xbf\x8f\xe3\x19\x1a\x5f\x47\xb9\x0f\xb7\xc9\xd7\xe8\x93\x8c\x8e\xcc\xc0\xf7\x2f\x15\x74\x81\x7f\x6b\x0b\x60\x8e\x52\xf4\xd3\x8d\x29\x0d\x82\xec\x08\x7c\x3a\x32\x72\x09\xd8\xe2\xaf\xbf\x73\x16\x18\x3c\xe9\xca\x96\x9c\x86\xe1\xcd\x35\x45\x1d\xe8\xba\x89\x80\x5d\xb1\xb2\xc4\x5d\x5a\xed\xfe\x6d\x2f\x78\xb7\xc6\x9c\xec\x18\xb1\xd2\xce\xcf\x4f\xfd\x09\x58\x80\x52\xef\xe9\x18\xef\xd6\x5c\xec\x9d\x72\xa8\xc8\x6f\x9c\x79\x74\x9e\x58\xc2\x0c\x18\x51\x5d\xca\xf0\xab\xaf\xc0\x24\xfb\xa8\x5e\xb2\xf9\xd1\xde\xd3\x8d\x69\xd2\xdf\xf0\xdc\xa0\x17\xf5\xf6\x92\x2a\xc9\x6e\x52\x85\x20\x67\x66\x9e\x35\xb3\x2f\x43\x9e\x37\x41\x35\x0b\x28\xeb\x31\x9f\x91\x8d\xf9\x9c\xe9\xb3\xf1\xd7\xdf\xc1\x47\xc0\xc5\x75\x40\xb0\x10\x16\xb4\xa0\xe3\x7c\x2c\x4a\x9c\x24\xc2\x34\x19\x0d\x93\x44\x49\x90\xfc\xe8\xca\xff\xf5\xed\x92\x49\x44\xc1\x6d\xf3\xa5\xd7\x7f\x78\xbd\xd4\x38\x3d\x39\xdc\xe4\x3d\x22\xf8\x7a\x63\x92\x03\xfe\xc0\xaf\xbd\x71\x32\x89\xa7\xb2\x77\xd0\x9d\x76\xeb\xc8\x85\x0b\x47\x5a\xed\x35\xa0\x35\x99\xb4\x21\x9b\xe0\x9f\xb1\x5f\xe7\x75\xc0\xb7\x2a\xa3\x5a\x04\x6d\xb6\xdf\xb4\x4e\x18\x33\x5e\x23\xfb\x1d\x37\x24\xe2\x04\xe8\x51\x1b\x12\x91\xd5\x4c\x5a\x01\x75\x25\x14\x21\x5e\x41\x0b\x00\x49\x31\x08\x29\xbf\xde\x39\x31\x91\x43\x7c\x47\x1e\xd8\x44\x18\x83\x4d\x07\xb4\xe0\x90\x9b\xdf\xb0\x41\x1b\x37\x18\x59\xdd\x8c\x19\x3a\xd6\xa8\x7f\xd6\x6e\x18\x3b\x56\x1f\x0f\x42\xbe\xa4\x84\x87\xbc\xe1\xb7\xcc\x4e\x05\x52\x53\xea\x04\x71\x25\x79\xb7\xb0\x6f\x7c\xb7\x26\x35\xd8\xb2\x0f\xec\xd9\x67\x94\xe8\x74\x31\xe3\x1a\xf4\xfc\x1a\x63\x4c\xab\xb9\xd1\x30\xa9\x6f\x12\x0f\xfd\x31\x43\xd9\x8d\x65\x86\x98\x5e\x77\x91\x3e\x1d\xfd\xad\xe3\xf4\xc2\xbd\x21\x36\xd3\x6a\x02\x1a\x66\x34\xf2\xeb\x4b\xa1\xe0\x85\x18\x09\x47\x7a\x01\x69\x16\xb5\x0c\xfd\x04\x64\xb2\xdf\xb4\x8e\xd1\xc9\x4c\x5d\x80\x8f\x10\xbf\x7f\x2f\x79\x7f\x20\xef\x04\x72\xd9\x45\xbe\x7f\x82\x1a\x46\xf0\x93\x7e\xd3\x9b\x55\x13\xdb\x51\x40\xb4\xdf\x89\x85\xa9\x60\xbe\xe2\x31\x71\xb4\xe0\xb7\x08\x10\x55\x77\x62\xbe\x88\xa9\x5c\x4c\x28\xf0\x62\x59\x92\x19\xfa\xf5\x8f\xdf\x25\xb5\x29\xa2\x0a\x5a\xfa\xc4\x13\x52\x1a\x07\x6c\xd2\xbf\xa9\xf1\xcb\xaa\xd5\x7f\xbb\x30\x1d\x2d\x57\x69\xe0\x55\xd0\xa4\xaa\x49\x9f\x7f\x53\x8b\xe0\x2b\x04\xf1\x95\xbe\xfb\x0e\x5f\x21\x88\xaf\x04\xf2\x79\xfc\x87\x8e\x5d\x98\x9e\x92\xe0\x2b\xd2\xe4\xd2\x72\x1c\xe8\xfb\x3d\x0e\x60\x9e\x27\x74\x76\x37\x7b\x1c\xb7\x17\xd1\xd0\xc5\xe4\x91\x04\x8a\x8e\x7d\xe4\x98\xeb\x31\xd9\x08\xed\x94\x08\xf6\x7b\x5c\xc7\x83\x80\xa8\x24\x0d\xdc\xee\x63\x8f\xcf\x9c\x5a\xf7\x87\x3b\x0a\xdb\x3b\x1c\x75\x73\x67\x2c\xed\x1a\x6b\x07\x76\xdb\xb8\x55\xab\x87\xdf\xbb\x7c\xfb\x1d\x6f\x1f\x7a\xf4\xb9\x72\xce\xda\x50\x51\xa7\x77\x97\x47\x62\xb5\x7f\xbc\xa3\x1a\xbe\xf4\xb2\xf9\x0a\xf4\xed\xed\xb6\xfc\x22\x5d\x6c\xc9\xb5\x1f\x03\x0e\x5c\xf2\xd6\x7b\x68\x37\xfa\xea\xe5\xae\x7b\xbf\x1c\x02\xc2\x87\x7b\x7f\x38\xd6\xbb\x6f\x3d\x60\x94\xa1\xac\xd9\x23\xc6\x76\x4e\x9f\xf0\xf4\x5f\xd2\x32\x7d\x4e\x9c\xd7\x24\x94\x1c\x73\x53\x7a\xcc\x99\x5a\x09\x36\x00\x0f\x74\x01\x36\x11\x92\x81\x40\x66\xc3\x19\xf3\x6e\x3a\x36\x80\x69\x14\x9d\x21\xed\x54\x8c\xb0\x24\x22\x0b\xfd\x57\x38\x01\x3d\x8a\x1e\xff\xfd\xef\xe9\x28\x0e\x7d\x87\x1e\x6d\x05\x5a\xbc\x78\x7d\x7d\x35\x68\x4b\xdd\xc5\xbc\xf9\x7b\xf4\x38\x50\xa5\xee\xa2\xa3\xde\xbe\x37\x8d\x79\xc6\xbe\x37\xbd\x5e\x3a\x8a\x03\x38\x01\x2c\x42\x97\x80\xd9\x1f\xf9\x37\x6c\xe8\x7b\x1f\xec\x38\xf4\xd1\xe5\x4f\x3c\xf1\xc4\xa4\x8f\xc0\x6c\x74\x09\xfa\x6a\x03\x80\xfe\x43\x60\x07\xba\x29\x37\xf5\x61\xb6\x39\xf5\xa1\x4a\x05\xbd\xe6\x6c\xe8\xcd\x36\x43\x2f\xa6\xe4\x3f\x34\x67\xf0\x5a\xf1\x8b\xb0\x2b\x71\xbf\x1c\x2b\xf6\x49\x61\xd7\xce\xe7\xc9\x85\x82\x84\xa3\x1f\xc0\x83\xe8\xdd\xeb\x71\x26\x10\x98\x67\xa2\xad\x90\xc1\x0b\x77\xb1\xd1\xf4\x2e\x1e\x97\xd1\x01\xf3\x79\x45\xaf\x5a\xd2\x45\x57\x7e\x71\x37\xa3\xa1\xcf\x0c\x06\x90\xbd\xef\x8b\x4b\x26\x2a\xf7\x2f\x9b\xd2\x3a\x0c\x84\x1e\x3b\x00\x2c\x77\x82\xd3\x6f\xdc\xb3\xf6\xca\xd9\xda\x1a\x65\x43\x6b\xa2\xb5\x35\x96\x37\xa2\xae\x6e\xe8\x88\xc5\x75\xab\xee\xbe\x67\xcd\xb5\xd3\x26\xd5\xb7\x94\xb4\x37\x97\xe5\x0e\xaf\xab\x1f\xda\xb1\xa8\x66\xf5\x7d\xb0\xaf\xe0\x95\xd5\xfb\x3f\x05\xf2\x7f\xde\x75\xc9\xd3\xf1\x50\xee\xd2\x3b\xca\x6f\x3e\x72\x3b\xfa\xe2\x4e\x89\x05\x7d\xbd\x7a\xfb\x74\xc3\x50\x75\x5d\x43\x3c\xd6\x98\xd3\xd8\xd1\xd1\x98\x73\xed\x8a\x55\xdb\xa7\x2e\xa8\xad\x8f\x96\x0d\x12\x13\xb6\x9d\x6f\x7f\x20\x62\x6f\x12\xab\x9a\x04\xe1\x3f\xce\x37\x1a\xf0\x67\xe1\x57\x89\x98\x13\x20\x11\x2c\x49\x84\x24\x5a\x2a\x0b\x1f\xbd\x21\x4e\x9f\x15\x17\x7c\xcb\xb2\x66\x3c\x01\x73\x26\x03\x7c\xed\x97\xaa\xff\xb0\x17\x6d\xbe\xff\xf9\x8e\xfb\x3a\x9e\x3f\xf3\xcd\xf3\x0e\xc7\xf3\x9d\xb0\x1e\xac\x15\x13\x5e\x4b\xbb\x8a\xa5\x67\x3c\xdf\xd9\xf9\xbc\x43\x42\x5d\x44\x53\x58\xdd\x49\x2a\xe1\xaa\xa4\xc2\xfd\x68\x73\xea\x39\x21\x01\x04\x3f\x16\x2b\x4b\x9f\xbf\x5f\xbc\x9c\xb0\x5f\x93\x25\x39\xc1\xfe\x85\xa0\x40\x80\x73\x0a\x4e\x7a\xa2\xcc\x4f\x11\x7c\x82\xac\x6a\xb2\xe5\x1f\x8a\x99\x18\xbd\xe4\xc4\x95\xff\x44\xbd\xa8\x07\xf5\xfe\xf3\xca\xe7\x41\xfb\xd1\x0f\xd0\x07\x69\xbf\xb6\xb3\xd0\x07\x1f\x1c\x05\xed\xcf\xc3\xe4\xc3\x24\xf3\xca\x7f\x82\xda\x87\xff\x04\x96\x7e\xed\x3e\x99\x8f\x7a\xfe\xb1\x51\x74\x63\xbb\xf1\x1f\xa0\x2b\xff\xa4\xfb\x6b\xb4\x8d\xe8\x84\xf3\x78\x3e\xfb\x37\x6e\xc3\xe9\xb8\xa7\xc7\xf5\x89\x48\x31\x1e\x85\x8c\xa0\x4c\x22\x18\xb0\x03\x62\xe6\x4e\x36\x35\x13\xc4\x7c\x23\x2e\x68\x03\x11\x82\x91\x64\x0a\x01\xb5\x60\x15\x2f\x1a\xbb\x17\x30\x98\xeb\x89\x9a\x8a\x5d\x52\xb3\x3e\xad\x5b\xce\x4b\xff\xfa\x12\x0b\xa4\xe1\xda\x52\x0f\x3b\x74\x48\x64\x4e\x6b\xb5\x56\x1b\x72\x68\xec\x2a\xb5\x3c\x3b\x3f\x47\xad\x9a\x13\x6a\x33\xf0\x20\x64\x34\xdc\xde\xe3\x09\xd1\x8c\x69\xb8\xc3\x31\x3b\xaf\x83\xe7\xdd\x5e\x43\xa1\x67\xfc\x88\xc1\x26\x63\xe5\x50\x0b\x93\x95\x53\x9c\xad\x56\xa9\x39\x79\x38\x7f\x78\x71\x63\x6e\x91\x83\x07\xf4\x87\xe8\x92\xb3\x87\xd1\xa1\xcf\xb7\xc0\x5d\xc7\xc1\x6a\x3c\x42\xa4\xd1\x59\x2b\xf6\xec\x3c\x30\x38\x12\xd2\xba\x75\xda\xe8\xa6\x25\x33\x5c\x4e\x6b\xb1\xc7\x26\x91\x2c\xd5\x35\xd9\xec\x45\x8b\xb2\xdc\x4f\x3e\x5e\xb0\xd8\xeb\x09\x0c\xd6\xe9\x96\xaa\x87\x38\x9d\xa5\xb7\x1c\xae\xcd\x77\x1b\x3c\x3a\x6d\x6c\xed\x8a\xb5\xdd\xb3\x47\x56\xe9\x74\x2a\xda\xe9\xad\x8f\xb4\x37\xcf\x9a\xb3\x71\x30\x4a\xa1\x19\xff\xb8\xf1\x67\xd0\x21\xd2\x3d\x42\x5f\x53\x62\x3e\x37\x4c\xb5\x53\x93\xa8\x05\xd4\x2a\xea\x4a\xea\x26\xe2\x6f\x23\xe8\x27\x9e\x13\xf0\x7f\xcc\xd4\x71\xf8\x18\xd4\x26\xcc\x12\x8e\xa8\x5d\x13\x2b\x46\x2e\x16\x4f\x84\xe2\x09\x73\x9c\xe6\x88\x21\x97\x84\xa8\xee\x98\x71\x17\x4c\x04\x43\x44\x6b\x9b\x74\x4b\x92\x8b\x8f\x11\x7c\x01\x7c\x19\x3c\x51\xa6\x8b\x85\xe2\x7e\x4a\x8b\x8f\xa2\xee\x25\xae\x90\x20\x55\x84\x5a\xa4\x2b\x50\x03\x8c\x61\x18\xd1\x38\xe6\x3c\x35\x78\x7a\xde\xdb\xe8\xb6\x79\xe5\x00\x00\x40\xff\xbf\xce\xbc\xba\x1b\xdf\xd7\xd5\xa5\xfe\x36\xd2\x64\x2f\x9b\x36\xad\xcc\xc5\x77\xf8\x58\x69\xf9\x3c\x74\xdb\xdb\xa5\x75\xba\xf7\x6f\xac\xcb\x5b\xfd\xa9\x5a\xfd\x2f\x77\xc3\xe1\xb2\xce\xa2\x92\x89\x25\x45\x9d\x65\x87\x1b\xdc\xff\x52\xab\x3f\xf5\xd4\x1f\xae\x18\x57\x94\xb7\x20\xaf\x68\x5c\xc5\xe1\x7a\x94\x53\x57\x4a\x8a\x07\x7d\x65\xf3\x40\x17\xa3\x9d\x56\x66\x37\x8d\xf4\xfb\x3a\x78\x57\x99\xa9\xcc\x17\x24\x37\x29\xad\x7b\x07\x74\x01\xd5\xd6\x93\xe8\x45\x74\x00\xbd\x78\x72\xeb\xd6\x93\xa0\x12\x74\x82\xca\x93\x8f\x5d\x64\x80\xcc\xaa\x97\xbc\x75\xd0\x5b\x1c\x29\xbb\x27\x6f\x8c\x12\xea\x1c\x95\x25\x9e\x43\xe0\xe6\x43\x9e\xd2\x52\xc7\x8c\xee\x85\xe8\x5f\xde\x83\x6f\x49\xea\x81\x72\x4c\xde\x3d\x65\x11\x38\xa1\x3d\x67\x4c\x4e\xfb\xc4\xd6\x3b\x1a\xf4\xdf\xc8\xe5\xdf\xe8\x1b\xee\x68\x9d\x28\x24\x4d\x6a\xb9\xa3\x51\xff\xb5\x5c\xfe\xb5\xbe\xf1\x8e\x16\x18\xac\x87\x8a\x31\x39\xf7\x96\xe6\x94\x7a\x0e\xbe\x95\xba\x1f\xcd\x3a\xe4\x29\xa9\x74\xcc\x5e\xd8\x3d\xc3\x51\x5a\xea\x09\x7a\x70\xc6\xbd\x39\x63\x14\x10\xdf\x1a\xaf\x9d\xe4\xc9\xb6\x0e\x7c\x5a\xb8\xef\x62\xda\xf9\xe7\x64\x59\x1c\xa5\xc5\x54\xdf\x20\x6a\x2e\xb5\x94\x68\x37\x06\x0c\x44\x4a\x1c\x8d\xd0\xe9\xb3\x29\x11\x93\xf8\x32\x6a\xf7\x46\x82\xfe\x4f\x0e\x04\x5e\x84\xb0\x1d\x64\x1a\x16\x38\x90\x50\x9c\x8f\x0a\xab\x86\x8f\xd0\x37\x6c\x4c\xc4\x8d\x8f\x98\xa2\x31\x1f\x49\x23\x6e\x05\xc8\xf4\x1b\x35\xfa\x70\x65\x5a\x10\x1e\x89\x82\x98\xf8\x85\x2e\x50\x61\xd3\xa4\xf9\xd3\x66\xf9\x9b\x5b\x5b\xfd\xc1\x03\x6d\x65\x91\xca\x31\xcb\x2b\xf2\x82\xd9\x8b\xc3\x8d\x2d\xb9\x27\xba\xda\xec\xc5\xc5\xad\x9d\xf2\xc0\xe0\x2b\x21\xbc\x92\x06\xa7\x5d\x78\x9a\x97\xf9\x64\x73\xe9\x6b\x98\x4a\x3f\xa0\xb5\x98\x7b\xd3\xbb\x4b\x83\xb5\xe8\xd5\xa2\x21\xc5\x91\xa6\x62\x38\x63\xa0\x48\xec\x64\x7d\x4d\x2d\xd8\x39\x7a\x54\x67\x34\x70\x99\xd3\xb9\x64\x4c\x64\x8e\x86\xd6\x35\xc6\x2c\x74\x60\x56\x7e\x83\x4f\x7b\xa4\xa1\x56\xcd\xba\x2d\x79\x52\xcd\x25\xc3\x2d\x0e\x19\x9a\x6a\x4f\x80\x4d\x05\x66\x73\x11\x5a\x19\x91\xad\x32\x76\x7c\x0c\x97\x75\x18\x2c\xee\xc2\x65\x34\x80\xc7\x03\xf1\x8a\xa0\x05\xbe\xe7\x4f\xc4\x03\xfe\x58\x7c\xe4\x05\x18\xaf\x12\xaa\x11\xcf\x43\x47\x04\x0c\x6c\xad\xb0\x87\xb9\x80\x5a\x41\xbc\x7a\xf8\xbc\xc4\xbf\x02\x4d\x56\x24\x12\x20\x23\x43\xf0\xa4\x2e\x20\xb3\xb0\x46\xad\xc7\x2b\xa8\x26\xc7\x08\xf3\x10\x4b\xcb\xf1\xcd\x11\xe0\x23\x5a\xf5\xa1\x28\x51\xb5\x0f\x18\x05\x54\xab\x98\x2e\x1a\xf3\x0a\x88\xfd\x04\x9e\x1f\xe7\x44\x8d\xc4\x55\x98\xce\x90\xd6\xfc\x16\xd7\x3f\x38\xf2\xae\xdb\x0e\xee\xae\xa8\xac\x58\xbb\x76\x05\x50\xf9\x73\xb5\x3b\xd6\x86\x43\xf9\x83\xc7\x8c\x19\x9c\x8f\x76\x0e\x5a\x7d\x49\xdd\x13\x0d\x35\x43\xa6\x3c\x77\x4d\x57\xc7\x34\xf0\xc4\x87\x0c\xf3\x21\x03\x27\x0d\x9e\x5d\xdd\x19\x71\x4a\x21\x67\x91\x18\x83\x5d\x92\xbf\x4b\xee\xd7\x94\xa9\x47\x8f\xad\x4a\x7d\xdd\x56\x56\xde\x3e\xbc\xa2\xdc\x34\x63\xce\x4c\x7a\x62\x55\xc7\xf5\x5b\xc1\x9b\xaf\x29\xe5\xb9\xd9\xeb\x1f\x33\x4b\x83\x21\x77\xb6\xd9\xe8\xca\x1f\x59\x86\xde\xb6\x96\xcd\x6f\xbe\xab\x92\xc9\x1e\xbd\xd0\xc1\x58\xee\x1d\x71\xf5\xe1\xc2\xbe\xe7\xf2\xc7\xc3\xa9\x93\xbd\x9e\x09\xa9\x5b\xc6\x3f\xf2\x62\x28\x5c\xd9\x35\xae\x02\x4c\x61\xa0\xe4\xb9\x96\xb8\x2f\x7b\xed\x73\x0c\xba\x61\x13\xa3\xbe\x74\xec\xd8\xf2\x8a\x71\xd4\x2f\xfc\x52\xcb\x80\x8f\xc6\x93\x07\xed\x03\xba\xe8\x2f\xec\x3d\xb2\x81\xbc\xfb\x56\x8b\x21\xe7\x96\x95\x80\x9b\x09\xff\x72\x9e\x52\xba\x01\x7c\x87\xbb\x42\xde\x44\x50\x8a\x78\x74\x84\xbe\xea\x7c\xdf\xb3\x65\x67\x29\xe6\x15\xfc\x8d\x9c\x02\x56\x90\x08\x0e\xc6\x41\x22\x01\x23\xdb\x5e\x41\x11\xb9\x91\x98\xa4\x10\x0b\x71\x01\x1b\x46\x80\x9d\x24\xda\xbb\x22\xb0\x10\xd9\x64\x16\xc0\x8f\x89\x62\x05\x26\x42\xe8\xe6\x25\xc3\x2b\xa3\xd5\xb1\x9f\xf2\x81\xdd\xc8\xe2\x61\xa2\x36\x06\x9b\x1a\xc3\x55\x83\xb5\x8b\x7b\xc0\xbf\xf7\xa2\xef\x6e\xab\x6d\x30\x9a\x59\xd6\x6f\x8c\x96\x4d\x7d\x34\xd9\xd2\x92\x7c\xf4\x79\x7c\x2a\x91\xab\x82\xd9\xf2\xda\x49\x7b\xff\xba\xfc\x36\xa0\x62\x0c\x3d\x8b\x7d\x0d\xc3\xd1\x36\x64\x31\x79\xa0\xdd\xb0\xee\xbb\xdf\x3d\xbe\xb1\xb2\x73\x98\x2f\xa7\x7d\x71\x01\x1e\xd8\xdf\xef\x55\xb3\x01\x7c\x67\x46\x95\xae\x8e\x4f\x53\x97\xcc\x31\x84\x0d\x6a\x7e\xcd\xf6\x15\x7f\xdd\x3b\x71\x2f\x5e\x07\xf5\xe9\x75\x90\x20\x35\xa7\x15\x65\x13\x04\x5a\x84\x58\x6e\x4b\xdc\x44\x6b\x9d\x8c\x63\x60\x4c\x53\x55\x04\x85\xd2\xc7\x11\x78\x4d\xb3\x88\xd6\x94\x76\x29\x23\x28\xda\xe2\xde\x26\x3a\x96\x21\xfb\xe9\x02\x50\x0c\x11\x55\x88\x8d\x14\xd3\x02\xb5\xd4\xa4\x02\x3a\xf5\xe1\xcb\xae\x3e\xbc\x65\x4b\x71\x47\x65\xc4\xeb\x36\x28\x41\x42\x4f\x33\xad\x63\x43\x7e\x99\x51\x67\x54\x68\x01\x26\xb2\x2a\x86\x1a\x46\x26\xa4\x90\x61\x6b\xff\x1d\x5b\x3a\xa2\x56\x23\x55\xd7\x4a\xb3\x1f\xe8\xf0\x35\x2e\x1f\x55\x67\x70\x2b\x2a\x0c\x8c\x1c\xc2\xa2\x95\x2a\x96\x91\xea\x87\x66\x03\x86\xa1\xcd\xf0\x3d\xde\x63\x28\xd7\x9a\xaa\x95\x57\x83\xdc\xca\xfa\x84\x31\x5e\xde\xd6\x34\xbd\xbd\x9c\x1d\xd9\xa0\x2e\x51\x02\x96\x05\x4b\xfe\xb0\x20\x77\x89\xc6\x90\x65\x74\x43\xc0\xdc\x3c\xc8\x10\x28\xc8\x61\x2c\x92\xa9\x7a\x13\xcf\x42\x06\x80\xfc\x30\xad\xb1\xc5\x03\xe1\x90\x13\x9a\x00\x84\x90\x56\x3c\x5b\x4d\x1b\xb2\x1b\x18\x19\x88\x17\x00\x3e\x43\x77\x55\x63\x3a\xf3\x79\x01\x27\xdc\x83\x69\xe4\xa1\x02\x86\xec\x39\xa2\x7d\xa0\xa8\x1b\x5e\x3c\x19\xe0\x20\x43\xfa\x83\x30\x38\x43\x5c\xc2\x4f\x50\x45\x08\xb2\x1c\xd1\x5e\x31\x8b\xa0\x73\x5a\x81\x52\x35\xc1\xc6\x48\x76\x6e\x7d\x7d\x6e\x36\x6d\x8d\x86\xed\xf9\xf9\xf6\x70\xf4\x8b\x62\x31\x05\x1e\x2c\x09\x91\x94\x50\x09\xfa\xd1\x1d\xba\x17\x9d\xbc\xd3\xec\xf3\xd8\x8a\xaa\xed\x1d\xb2\xd4\x10\xf4\xe1\x0b\xa0\xf5\xa5\x87\x41\xd9\x31\xb8\xe8\xca\x65\x89\x57\x76\x35\x92\x02\x77\x02\xc7\xbd\xb7\x03\xc7\xfd\x8c\xbc\x23\x12\x0d\x87\xa2\x68\x8a\x23\x2f\xdf\xee\xc8\xcf\x03\x5f\x5d\x98\x70\x1f\x73\x33\x3a\xb5\xb7\xad\x99\xa6\xe5\x8c\x0e\xae\x7f\xef\x75\xe0\xbe\x17\x38\xee\xdc\xfc\x69\xaa\x66\xd9\x9f\xc6\x3e\xbe\x30\xb0\xed\x5b\xe0\xfa\x76\xdb\xb6\xef\x44\xfc\x12\xc9\x59\xdc\x34\xae\xb4\xaf\x61\x81\x67\x0d\xd0\x22\x44\x52\x0c\xf3\x0c\x04\x39\x4b\xc0\x76\x90\x9c\xf4\x48\xce\x52\xac\x5d\xad\x53\xa8\x50\xc5\xb7\x7a\xb7\x4a\xc6\x9b\xe9\xae\x33\xc7\xd0\xb2\x00\x0d\xbd\x92\xa4\x06\xaf\x08\x3f\x58\xc2\xa7\x29\xa7\x56\xca\x1e\x46\xc7\xcd\x0c\xe7\x31\x80\x49\x8c\xaf\x6f\xfa\x1d\xea\xec\x30\x4f\xf7\xca\xce\xe1\x25\x9c\x65\x7f\xc2\x9c\x68\xd6\x79\x77\x05\x99\xbb\xa6\xef\x09\x78\xc0\xca\xc0\xc0\xfb\xa6\xbe\x41\x7f\xd6\x3b\xd5\x32\xde\x84\xc2\x01\x9a\xf6\x49\x92\x3e\xf4\xfa\x07\xa7\x67\x81\x76\x7a\x0a\xf2\x9e\xbb\xfb\x5f\xd0\x61\xa3\x70\xf7\x17\x7f\xaf\xce\x0e\x19\xe8\x5e\xe3\x69\x35\x9b\xdb\xf7\xd2\x95\x70\x7d\xdf\xdf\xcf\x9b\x77\x4a\x84\x39\x81\xd0\x1f\xf8\xcb\x89\xbc\x6c\xd4\x94\x56\xdd\x17\x34\xfa\xf1\x57\x35\x71\x99\x99\x48\x80\x0b\x16\x3e\x2e\x7b\xbe\x43\x5b\xd1\x7c\x5f\x42\xad\x3e\x8a\x4e\xee\x3d\x88\x5e\x5b\xc8\x01\xe9\x95\x72\x8d\x96\x1b\xfa\xee\x8a\x39\xcf\x5e\x35\x62\xc4\x55\xcf\xce\x99\x76\xa8\xe9\x4a\xe2\x8e\x1a\xd5\xda\x82\xe1\x90\x6b\xe3\x7c\xc0\xdf\xb0\x17\x38\x8e\xa6\x4e\x67\x94\xf7\x4e\x08\x4a\x68\xb4\x03\xbd\x4a\xb0\xb9\xae\xdf\x2c\xb7\x4a\xaf\x92\x41\xf9\x94\x39\xb8\xfa\xdb\xf8\x2a\x83\xeb\xaf\x72\x85\xc2\x44\x97\x90\x78\xe6\xde\x30\x73\xd1\xea\xa3\x7b\x50\xbf\x36\x5f\x57\x46\x7f\xed\x9c\xfe\x8a\x9d\xf0\x15\x6a\xa8\x15\xe8\x70\x6d\x01\x38\xcf\x9a\x6c\x23\xea\x13\x29\x6b\x81\x04\x9f\x75\x3f\xb8\xfe\x02\xc1\x21\x4b\xe1\xcc\x81\x85\xd0\x93\xbf\x90\x0d\x56\xe3\x7b\x3d\x8f\xef\xb5\x05\xd3\x93\x69\xed\x33\x61\x96\xc4\x33\x08\x11\xd3\x09\x60\x84\x46\xda\x60\x76\xd1\x69\xae\x6e\x60\x89\x10\x6e\x37\x82\x3c\x0c\x32\x6e\x9f\xf0\x08\x13\xb8\x37\xa2\x75\x6e\xe4\x89\x68\xcf\x43\xe6\x22\xbe\x24\x54\x00\x2f\x5e\x42\xb8\xae\x64\x47\xde\x23\xf9\x79\x0f\xe7\x59\x6c\xde\xbc\x72\xad\x07\x00\x55\x20\x35\x29\xa8\x02\x20\xa0\xad\x8d\x84\xad\x96\xc2\xc3\x05\xb9\xf7\xe5\x98\xad\xee\xec\xb8\xc6\x43\xb0\x2f\x59\xa9\x5a\xa6\xa9\x2c\xf0\x5b\x2c\x05\x87\x0b\x72\xee\xcd\xb1\x5a\xbd\xb9\xa5\x1a\x1f\xae\x68\x83\xcf\x58\x71\x45\x9f\x7e\x44\xd4\x6a\xc5\x97\xcc\x3d\x98\x6b\xb5\xfa\xf2\xcb\x71\xa6\x57\x5b\x59\xe8\xb7\x24\x39\x2e\xdb\xea\x76\x31\x72\xb9\x71\x05\xd8\x6a\x94\x33\x8c\xdc\x88\xb6\x6d\x37\xc9\x25\xc0\xe9\xb6\xe5\x71\x5c\x8e\xc5\xe5\x62\xe5\x72\xf3\xca\x32\x3a\x9f\x2e\xb0\x47\xbc\x21\x8b\x44\xce\x38\x84\xbc\x3c\x9b\xcb\x0e\x25\x72\xe3\xd5\xa8\xd7\xa8\xa0\x69\x85\x11\xd4\x5e\x8d\x03\xe6\x60\x3a\xd3\x01\x58\xb9\xf9\xaa\xbe\x11\x2b\x8c\x72\x0e\x3a\x5d\xb6\x3c\x01\x63\xc8\x72\x36\xc9\x20\xdc\xc6\x79\x69\xfc\x08\xc1\xfc\xe4\x9c\x82\xb6\xaf\x3f\x44\x94\xef\x45\x3b\xe1\x78\x36\xc1\xbb\x40\x01\x4b\x84\xb1\x49\x68\xbf\x75\x81\xd5\x7f\xad\xcf\xb6\xc0\xe6\xbb\x61\xda\xba\xfa\xda\x71\xe3\x56\x2d\x02\x11\xf0\x91\xd5\xcf\x36\x0c\x75\xd6\x02\x89\x55\x11\x3b\x93\xb4\xfa\xfd\x56\xe6\xf9\x33\xd5\xe4\x0c\xbe\x56\x16\x96\xaf\x5a\xb6\xfd\xc0\xca\xe5\xd9\x01\xbf\xc0\x47\x90\x3e\x45\x0d\xf0\x3b\x42\x34\x88\x1b\xa8\xc1\x98\xda\x31\x7a\x62\x81\x5f\x68\x0a\x7b\x62\xbc\xd1\x17\x23\x67\xfa\xc2\xbc\x0b\xf7\xca\x70\x39\xe2\xa6\x12\x74\xa1\x1e\x28\xb8\xd7\x4a\xe3\xba\xf5\xf4\xf5\x9c\x38\x21\xa1\x52\x59\x27\xce\x25\xd2\xc9\x73\x61\x58\x7b\xe2\x44\x5f\x0f\xd9\x21\x1d\x00\x22\x17\x04\x38\x0e\xa9\x64\xb2\x0f\xff\x98\xf3\x72\x10\x35\x30\x96\x2e\x26\xca\xb7\xd3\xbe\xe9\x89\x36\x05\xf1\x1e\x82\xdb\x90\xe0\xec\xe1\x99\x1c\xaf\xa3\x01\xd2\x39\xb3\x70\x3a\x9e\x9d\x58\xcc\x09\xb1\x71\xa6\x77\xcb\x33\xcf\xa0\x1f\x9f\x81\x68\xcf\xc4\x75\x38\xb8\x65\xdd\x44\x30\x07\x12\xb8\x37\x12\x44\x7b\x20\x04\x73\x26\x42\x8a\x14\x79\x66\x8b\xd2\x74\x68\x0c\xc9\x1a\x73\xc8\xa4\x14\xab\xe1\x90\x05\x27\x9e\x37\x56\x03\x54\x8c\xa2\xfc\xa2\x0d\x6c\x1c\xb3\x4c\xa6\xa8\xb8\x95\x8c\x97\x1a\x2e\xe3\x1c\x2f\x21\x18\xc4\xfe\xc2\x94\x8f\xa5\x2e\x1b\x37\xaa\xea\x1b\x08\xbf\xa9\x1a\x35\xee\xb2\xcb\x1e\x5e\x07\xbf\xa9\x1e\x89\x03\xe3\x46\x56\x7f\x03\xd7\x3d\x0c\x2e\x1b\x48\x2a\xa5\x1e\x5e\x57\xbe\x52\xab\xd6\xae\x2c\x5f\xf7\x30\x2e\xc2\x69\x57\x96\x5d\xf6\xf0\x65\x65\x2b\xb5\xdc\xb8\xcb\xe8\x13\x03\xe9\x26\xae\x9f\x77\xd4\xe1\x6f\x5d\x4d\xb5\x50\xe3\xa8\x19\x98\x7b\xa0\x28\x61\xdb\x57\xd8\xe1\x15\x04\x13\x89\x38\x30\x13\x9c\x3d\x8d\x80\x80\x70\x8e\x91\x8b\x12\x5c\xf5\x88\x1b\xf0\xc2\xe6\x71\x5a\x6b\xd6\x84\x97\xce\x81\xb1\xb8\xd8\x77\x85\xf9\x33\x94\x56\x5d\x11\xa4\xea\x22\xb6\x4b\x89\x08\x8d\x66\x80\x83\x0c\x45\xd6\x05\x07\xf2\xe4\x06\xab\x4a\x91\xa3\xf7\x6e\x18\x65\xa5\x9f\x2a\xf8\xbe\x91\xe7\x6b\xc7\x13\xdc\x54\xf4\x37\x02\xcb\x2a\xc0\xa9\x3e\x71\x7b\x2d\x1f\xe3\x1b\xcf\xc8\x95\x2a\xf9\x04\x99\x4c\x6e\x93\x77\xca\xdf\x57\x58\x14\x9d\x72\xb9\xcc\x2e\x9b\x20\xcb\xd2\xab\x05\xe0\x93\x2e\xf5\x83\x7a\x87\x1e\xff\xdf\x3d\x81\x14\x95\xe3\x62\x36\xb9\x8c\xbe\x39\x62\x90\xe7\x1d\x58\x60\x2d\x92\xb3\xe1\x51\x1b\xbc\x0a\xf0\x40\xc1\x77\x8d\xf8\x82\xb5\xb7\x3f\x71\x6d\xe6\x1e\xc0\x45\x70\x5f\xc7\xd7\xf2\x7c\x23\xc8\x4b\x57\xc4\x57\xb6\x7f\x25\x1c\x65\x42\xca\x33\xc2\xb5\x7b\xd2\xb7\xd2\xeb\x07\x65\xee\x8f\x9f\x28\x8d\x4b\x40\xda\x96\xa1\x0c\xe4\xcb\x83\x00\x4b\x7b\xe0\x05\x5b\x40\x20\x4e\xcc\x80\x79\x73\x30\x64\x66\x03\x09\x09\x97\xe0\x89\x51\xb0\x39\xc1\xf2\x9c\x29\x92\x08\xf1\x01\x38\x15\xb8\x81\x7b\x21\xba\x95\xfd\xe5\x1e\x10\xb3\x70\xe7\xac\xaf\x6b\x2e\xdf\xf5\x55\x0c\x7d\x8c\x3e\x8e\x7d\xb5\x6b\x6b\xf5\xd7\xb3\x76\xba\x40\xd3\xd5\x97\x2e\xfb\x71\xd9\xa5\x57\x83\x26\xf8\xf6\xdb\x6f\xa3\x87\x99\xe4\x45\x18\xdc\x33\x43\x5e\x3f\x43\x8f\x3f\x01\x1a\x94\x47\x5b\xd6\xee\xdb\xb7\xb6\xe5\xa8\x12\x3d\x7b\x62\x3c\x7d\xe6\xf5\xcd\x61\xf4\xe7\x41\xa1\xd0\x20\x90\x13\xa6\x04\xdf\x75\x69\xff\xd0\x19\x9b\x82\xa1\x82\xd7\x10\xb2\xc3\x70\x07\xf5\x28\x75\x84\xcc\x0e\x19\xcf\xd5\x69\x57\xee\x17\xc4\xc1\xaf\xe4\x07\x32\x4a\x4d\xbe\x5f\x2b\xf9\xeb\xf9\x9e\x58\x09\xcb\x08\xc0\x0e\xd5\x0c\x5e\x01\x5d\x8c\xee\x82\x22\xba\x7e\xc7\xa1\x40\xf4\x12\x29\xba\x8a\x3c\x17\x84\xb5\x17\x4d\x4e\x3d\xef\x08\x42\x18\xb4\xc3\xb3\xff\x4d\x2d\x90\x4c\x21\xb4\x11\x6d\x4c\x21\x5d\xb4\x7d\xdb\x63\x40\x05\xaa\x81\xf2\xd0\xb6\xf6\xa8\xee\x5c\x99\xa0\x1d\x25\xed\xc1\x13\xfd\x3a\xf0\x03\xbc\x8b\xa2\x25\x17\x4b\xdd\x11\xb4\x6f\xd8\x60\x0f\xa6\xfe\x8b\x2a\xe0\x2a\x95\x7c\x0e\x04\x33\xe5\x2a\x5d\x49\xcb\xb0\xd6\xf2\x40\xa0\xbc\x75\x58\x4b\x09\x1a\x7b\xae\xc4\x28\x7c\x49\x7c\xe1\x7e\xb9\x5f\x1a\x17\xc1\x20\x68\xef\x94\xa5\x71\xc0\xfa\xe7\x25\x9e\x20\x1a\x11\x41\x5f\x26\x41\x10\x25\x44\xcc\xa0\x1f\xda\x8d\xed\x0f\xc1\xde\xa0\x2d\x68\x43\x78\x42\x3e\xc5\x59\xe0\xbf\x08\xbc\xad\x18\xc5\x33\xf9\x3d\x16\xae\xef\x38\x81\x3a\x02\x59\x04\xec\x37\x13\x62\x7a\x53\x38\x3f\x25\x2c\x15\x90\xa2\xe7\x9a\x53\xb5\xb0\xb7\x2f\x89\xd2\x8b\x02\x5e\x24\x28\x33\x48\xa4\xdd\x9d\x93\xa3\x48\xe7\x0a\xcf\xec\x24\x14\xa7\x81\x23\xda\x42\x4c\x08\xe0\x05\x2a\xa8\xaf\x01\x66\x40\x04\x91\x9c\x70\x96\xfc\x4f\x20\x80\x16\xed\xea\xb9\x13\x55\x1c\x46\xbb\x1e\x07\xf3\xd6\x16\xde\xd9\xb3\x0b\x5c\x17\x9c\xd7\x1c\x40\xdd\x9f\x81\xeb\x83\xf3\x98\x8a\xe0\xdc\x20\xea\xc6\x65\x0a\xd7\x0a\x45\x0e\x83\x97\x48\x99\xeb\x03\xcd\xf3\x71\xdd\xcf\xc0\x75\x01\x41\xf6\x6f\x3d\xab\x94\xfc\x53\xf0\xdb\x67\xa4\xca\x05\xaf\x44\x03\x51\x10\x2e\xe2\xeb\xd2\xc5\x62\xea\x26\x2e\xc0\x7b\xc6\xcd\x11\x17\xac\x66\xf1\xa8\xd7\x8b\xd6\x77\x09\x5a\x10\xfb\xa7\xfd\x25\xf0\x82\xf3\x05\x17\x30\xa7\xd7\x00\xa3\x2e\x11\x37\xd1\x73\xd7\x3f\xba\x1e\xff\x07\x3f\xae\xeb\x1c\xbf\x7e\xfd\xf8\xce\x75\x1f\xd7\x0e\x3f\x73\xcf\xc8\x8a\xdc\x09\x83\x27\x44\xc7\x3b\x46\xc3\x46\xbb\x84\xb1\xf9\xb8\x45\x6c\x8d\xb9\x31\x38\x38\x3a\xb4\xaa\xf9\xe5\x55\x67\x46\xcd\xaf\x5f\x36\xa7\x6d\x0c\x03\xa4\x1e\x0e\x30\x63\x87\xcf\x59\x56\x37\x77\xe4\x99\x55\xd6\x9c\x10\xa3\xa1\x27\x37\x30\x9f\x36\x4c\x36\x86\x72\x68\xc7\xc8\x15\x2b\x46\x8e\x5a\xbe\x7c\x54\xfa\x8c\x7e\x86\xb7\x8c\x1d\xda\x38\x31\x35\xc5\xec\x35\x69\x70\x4d\xe0\x90\xd0\x56\xdb\x04\x82\x9a\x4f\x4b\x14\x5a\xb3\xdb\xb2\x73\x36\xfa\xfb\xa1\xc5\xbe\xac\xc2\xe8\x62\xd0\x04\xa0\x14\xa0\x07\x97\x44\x0a\xb3\xfc\x4b\x0e\x01\xfb\xec\x9d\x81\x12\x3b\x94\xd3\xf0\x89\x21\xb3\x66\x0d\x49\x35\x6b\xec\x25\xa4\xcd\x66\xe0\xf5\x70\x6f\x5a\x4e\x4b\xf0\x24\x70\xcf\x12\xdc\x89\xe9\xf8\x04\xb1\xc1\x37\x26\x80\x0e\x78\x38\x22\x7e\xe5\xe9\xe4\xf5\xd0\x7d\xfd\xf5\xa9\x33\x63\x40\xd3\x71\x4c\x34\xb7\xa1\xa7\x8f\x1f\x47\x4b\x16\x32\x6d\xa8\x0d\x3c\x4a\x7e\x29\x29\xa2\xed\x67\xfe\x79\xfc\x38\x73\x5f\x9f\x02\xb5\xe1\xf3\xe5\xc0\x23\xf6\xe1\xf1\x67\x01\x7b\x1f\x9b\xc2\x9c\x60\x2e\x9e\xb5\xda\xa8\x99\x64\xa6\x82\xa4\xa9\x05\x22\x4a\xe4\x82\x05\x00\xcf\x90\x44\x03\x18\xc1\xae\x31\x88\xe3\x78\x31\x22\x22\x2e\x40\x16\xc0\x50\x90\x16\xc0\x39\xd3\x7e\x1e\x08\xe6\x85\xe0\xe4\xc6\x4f\xbe\xa0\x9e\xc5\x51\x16\x4f\xda\x12\x11\x6d\x55\x50\xa9\xc1\xc5\x68\x16\xb0\xca\x50\xfc\xac\x4f\xc5\x00\x96\xa9\xdc\x0d\x2a\x34\xc5\x56\x8b\x7d\x17\x5d\xbc\x12\x7d\xa9\xf3\xf1\x4a\x56\xaa\xcf\xf1\xa9\x9e\x1d\x9c\x37\xca\x6c\xa5\xcb\xb8\x7b\xa3\x01\x9b\xfa\xbe\x42\x35\xab\xf3\x15\x81\xe5\xaf\xb7\x49\x1d\xa9\x4e\xb6\xa2\xbc\x14\x5d\x2e\xb5\x67\x83\xd6\xf2\xb0\x8c\x0e\xc2\x5b\x68\xa7\x06\xbd\xdc\x60\x01\xe6\x02\xb5\xcb\x05\x9a\x2f\x8b\xc8\x1c\x81\xa2\x5d\x92\xe3\xeb\xd1\xfb\xaa\x2c\xa9\x6c\x72\x8e\xc6\xa8\x54\xcb\x9b\x1f\x6b\xe2\x15\x32\x79\xf0\x64\x42\x13\x1a\x07\xbd\xd6\x48\xcb\xe3\x8d\xb0\xd5\xa9\xf7\xca\x72\xd1\x91\xf8\x9f\x0d\x6a\xa3\x1c\x18\x5b\x8d\x11\x63\xae\x0e\x84\xea\xed\x9c\x09\x8e\x98\x65\xd0\x8d\x83\x63\x7c\xf6\xdc\x49\x1a\xb9\x4f\x9f\xfa\xfd\xab\x21\x83\xbc\x45\x23\x85\x98\x20\x29\x0c\x83\x99\xf7\xd7\x4b\x78\x9d\xf9\x83\x32\xc1\xbe\x5f\x94\xe3\x24\xcf\xb3\x7d\xb0\x53\x3e\x4c\xb7\x12\x9f\x35\xf8\xeb\x09\x54\x9e\x4e\x80\x79\x8c\x9d\xf7\x23\x34\xac\xb0\x49\xe8\xd1\x19\xb8\xf3\x20\x1d\x3c\x31\x86\x42\x44\x92\x9f\x12\x2c\x35\x58\x0a\x61\xa2\xe9\xdc\x0f\x13\x79\xc1\x92\xa0\x24\x79\x9a\x52\xb0\xaf\x63\x9a\xae\xbb\xfd\x54\xb2\xbd\x1b\x50\xa4\xd2\x59\x4c\xdd\xd1\x94\x50\x8f\xea\x97\xc7\x0b\xbf\xbe\x5a\xba\x57\x04\x12\x66\x6a\xcf\xf4\x7a\xdc\x41\xe6\xbd\x33\x82\xae\x2a\x53\x9b\xc4\x55\x73\x28\x15\xf7\x67\x01\x6f\xc1\x8d\xe7\xb6\x11\x98\x2e\x4b\x8f\x5a\xa3\x21\xe1\xc5\xcc\x4a\xda\x8a\x26\x41\xf4\xfd\x04\x20\x30\x01\xff\xca\xe7\x25\xce\x88\x05\xf2\x1b\xaf\x2d\x42\x3a\x8f\x29\x18\x1c\x4e\xe3\x82\x9d\x4b\x67\x0c\xe1\x1d\x97\x75\x5c\x36\x07\xb6\xac\xdf\xb8\x7e\x18\xad\xdf\x2d\x6f\xfb\xe2\x1f\x5f\xb4\xc9\x77\x53\x67\x15\xca\x2b\xfe\xb5\x67\xf4\xfd\xeb\x67\x94\x43\xdd\x2e\xf9\x66\xb0\x12\x24\xc1\xca\xcd\xf2\x5d\x48\xa1\x78\x0c\xad\x47\xa5\x68\xfd\x63\x0a\x85\x6e\xb7\xfc\x19\xc8\x40\x1b\x64\x9e\x91\xef\x56\xdd\x60\xc8\xca\xcb\xcb\x32\xac\x8d\xe0\xbf\x5d\x7a\x95\xbc\x75\xdc\xb8\x56\xb9\x4a\xbf\x0b\x68\xa5\x73\xa7\xe7\x55\x57\xe7\xed\xd2\x2b\xe5\x9b\x77\xec\xd8\x2c\x57\xe2\x44\x8d\xec\xd6\x7d\xfb\x6e\x95\x91\x82\x4f\xbf\xf1\xc6\xd3\xa4\x20\xd1\x82\x13\xec\x66\x84\x7d\xcc\x81\x52\xa9\x1a\x6a\x18\x35\x92\x9a\x4e\xcd\xa7\xd6\xe0\xc1\x79\x81\x4f\x38\xea\xbf\x3c\x13\x6c\x48\x11\xd5\x2e\x12\x1f\x98\x36\x10\xeb\x4e\x3b\x40\x07\x7b\x20\x8d\x0b\x92\xc3\x88\x5e\x04\x78\x5d\x38\x21\xf1\x44\x0f\x1b\x18\xbb\x68\x22\x3d\xac\x65\x4e\x0b\xfe\x8f\x32\xf5\x33\xe6\x78\x2c\x3e\x0a\x49\xaf\xb7\x94\x9c\x16\x24\xe7\x2c\x3e\xc6\xe6\x89\xb5\xc9\x7f\xf0\xba\x70\x42\xaf\x0f\x8c\x5d\x34\x31\x95\x04\xe7\xa4\xf7\xf0\xac\x98\xd5\x2b\xc0\x52\x8b\xfc\x06\xba\x4b\x48\xa3\xa9\xd3\x14\x29\x27\x21\x47\xe2\x11\xef\x2c\xc5\x7e\x25\x21\xb8\x7a\x83\x84\x7d\x10\xe8\xf1\x11\x98\x3c\x02\x1f\x20\x18\x41\x91\x8d\xc9\x0a\x20\xb8\xbf\x11\x26\x10\xa2\x64\x21\xba\x74\x32\xf8\x42\x98\x09\xa4\x85\x26\x4a\x64\x34\xd2\x31\x51\xfa\x95\xde\x34\x16\x79\xf3\xac\x41\x96\x49\x40\x36\x64\x3d\x63\xb4\xd0\x32\x9f\xde\x2f\x63\x83\x9b\xb6\xcc\x7e\xa8\x7b\x56\xcc\xa2\x00\x34\xc3\x0c\xbf\xa9\xa0\xfd\xc3\xc5\x57\x77\x76\xce\xd0\xc3\x91\x40\x81\x8e\x9b\x9c\xf4\xbf\xd8\x7c\x27\x1c\xe3\x5d\x5f\x34\x7f\x31\xbd\x7a\xd4\x4a\xd4\xe8\xb1\xf1\xe8\x80\xc6\xe6\x71\x19\x4b\x4f\x74\x7f\x54\x1a\x80\xe6\xd0\xdc\x29\xbb\x9b\x6a\x24\x34\xa0\x2b\x1e\x9b\xbf\xe1\xd3\x8e\x30\x04\xa0\x4b\x9a\xfa\x51\xee\x31\xb1\xbf\x73\x06\x6d\x7c\xf6\x7e\x32\x87\x87\xd2\x6b\xad\x9c\xd2\xe3\x19\x3c\x4c\xb8\x2a\x33\xc5\x7b\x20\x1d\xc4\xcc\x9f\x84\x83\x74\x3c\xa1\xe7\xf5\x24\x45\x06\xb4\x34\xf1\x6f\x13\x14\x75\x0f\xf4\xe0\xb0\x87\x07\xf2\x2e\x54\xbf\xfe\x6b\xa5\xde\x40\xef\x2f\x6e\x19\xfe\x48\x98\x39\xf6\xf1\xe7\x20\xd7\x87\xaa\xb2\x11\xc5\xcc\x99\xd9\x80\xde\xb7\x8e\x60\x78\x2d\x98\x6d\xf4\xb1\x4b\xe9\x2e\x1b\xa6\x5d\x67\x81\xc3\xa0\x44\xeb\x43\xb7\xbc\xf2\x3c\x88\x03\xc7\x07\x27\xd1\x41\x70\x2d\x3a\x92\xe2\xd1\x62\x78\x13\x1d\x4a\xf5\xa2\x71\x68\x2d\x2c\x82\x0a\x90\x0f\xec\x5a\xab\xcd\x80\x66\x8b\xb2\x11\x99\x68\x37\xa2\xa1\x2c\x94\x03\xf3\x38\x82\x1f\x7a\xe0\x8b\x13\x09\x62\xc2\xcc\xd2\xb8\x6f\x72\x4c\x40\x70\x0b\xc4\x47\x01\x1d\xe5\x7d\xac\x60\x29\x42\xc0\x1d\x8c\xa2\x8a\x30\x67\x8a\x9a\x88\xba\xb7\xb8\x89\x1f\x77\x83\x00\x66\xe1\xe8\x68\x22\x6a\x32\x47\x2f\xec\xc5\xdc\x93\x57\xa9\x4b\x68\x46\x49\x2b\x4f\x6f\x2c\x57\xd4\xa2\xef\x21\x48\x00\xcd\x1d\x3a\xdb\xf2\x21\x5b\x1f\x02\x6c\xe0\xc0\x9c\x03\x70\xcf\xa0\xf6\x35\x7b\x01\xd8\x51\x14\xac\x0c\x8d\x69\x32\x99\x9b\x17\x6d\xbc\x15\x5e\x53\x9c\x57\x5c\xd0\x14\xd7\x80\xde\x64\x9d\xe9\xc7\x07\x7d\xef\xb2\x9a\x9b\x93\x2d\x25\x3f\x0b\xdd\x49\x8a\x8f\xd0\x1b\xd8\x2e\x93\x67\xc9\x13\x2b\x41\x28\xae\x1a\x3e\x11\x35\x8f\x6f\x5a\xe1\x44\x10\x6e\x48\xad\x83\x1b\xb5\xf6\xe5\x93\x67\x0d\x31\xfb\x8d\xae\x2c\x8f\xe2\x3a\x2f\x58\x39\x63\x5e\xa3\xd5\x6b\x34\x79\x80\x55\x7a\x4b\x3c\x75\xa8\xcb\xd4\x4c\x3f\x7f\x46\xb8\x18\x2b\xf4\x4d\x4b\x7f\xdb\x10\x6b\x89\x5c\x2a\x4a\xd5\x62\x4e\x7f\x1c\x9e\x09\x66\x53\x8b\xa9\xd5\xd4\x5e\xea\x29\xea\x15\xea\x13\xea\x14\x50\x00\x2b\x6e\xd3\x4a\xd0\x0c\xc6\x81\x35\xe0\x6a\xb2\x0b\x9d\x71\xce\x81\x99\xc3\x20\xd4\x27\x24\x50\x6f\x8e\xeb\x61\xc8\xa4\x87\x9c\xb0\xa7\x1e\x13\xf6\xd5\x40\x34\xe6\x33\x46\x8d\x15\x30\x46\x7c\x4b\x1b\xa3\x31\x73\x34\x41\x1b\x73\x41\xac\x02\x18\xa3\xa1\x48\x34\x11\x2f\x29\x04\xde\x5c\x1c\x89\x45\xfd\x25\xfd\x42\x7d\x7f\xc4\xec\x63\xc4\xb9\x18\xc7\xe2\xe9\x90\xd7\xec\x0d\x79\x83\x82\x34\x05\x4f\xb3\xc5\x91\x98\xa0\xda\x5a\x6c\x36\x9a\x8c\x9c\x83\xf8\x8b\xf7\x49\x02\x51\x22\xc9\xf2\x72\xa2\xf7\x63\x7c\xd5\x92\x68\xc4\x09\x84\x93\xd1\x1c\x25\x50\x4c\x19\x36\xbb\x06\xe0\x3b\x07\x49\x86\x39\x21\xee\xfc\x0a\xfb\xe8\x98\x1d\x25\xcf\x1f\x17\x36\x79\x89\xb7\x64\x1f\xbe\x0c\x79\x05\xe2\x48\x3b\x63\xe5\x45\xf2\x42\xe4\x4e\xd1\x73\x77\xc1\x57\x31\xa5\x33\x43\xa2\x49\x91\x70\xdd\x0b\x6f\x7a\x5e\x85\x74\x66\x26\x8f\xf3\xfa\xc8\x96\x0f\xd9\x0d\x30\x08\x9b\x93\x09\xc2\x18\x27\x88\x70\x35\x18\x22\xed\x14\xfc\x05\xbe\xcf\x94\xe4\x4d\xb3\x9f\xbd\x62\xc4\x88\x2b\x8e\xcc\xb9\x29\xb9\x69\xf2\x94\x3b\xd7\x4d\x9c\xb0\x7e\xfd\x84\x89\x93\x36\x4e\x99\xbc\x29\x79\xd3\x9c\x23\x24\xef\xd9\xd9\x37\xc1\x99\x9c\x8e\xa3\x9d\x0c\x2b\x91\xb0\xb4\x84\x61\xa5\x90\xa6\x09\x28\x8a\xf0\x07\x01\x1e\xec\x67\x4c\x26\x5e\x6f\x32\xe9\x79\x70\x57\x25\xdb\x04\xb6\x9a\x30\x7d\xc3\xeb\x4f\x9b\xfd\x66\xb3\x7f\x2b\xd1\x99\x24\xe5\xc8\x9e\x3b\x60\xa0\x50\x09\x82\xd3\x47\x5c\x4e\x6b\x96\x46\xed\xb6\x68\x5c\x2e\x8f\xcb\xe9\x71\x1d\x70\x3a\x75\x36\xe2\x68\xc4\xa1\x79\xb4\x50\x6d\xb6\x9a\x0d\x4a\x93\xc7\xe6\x2a\x54\x59\xdc\x56\x83\xca\xea\x71\x7a\x36\x4a\x55\x2a\xbe\xa8\xc8\xe5\x70\x14\x1a\x67\x3a\x83\x21\x97\xc7\xa4\xd6\x1b\xbd\xdc\x4c\xff\x26\xb3\xd2\xe5\x72\xca\xa5\x32\x99\x3e\xe4\x71\xf2\x6a\xbd\x4e\x6f\x36\xeb\x79\xad\xda\xe0\xf0\x1c\x75\xb9\x34\x76\x67\x28\xe4\x74\xa8\xb7\x98\x95\x4e\x27\x29\x26\x5d\xef\x74\x6a\x4a\x43\x21\x87\x53\xdd\x46\x34\x86\x21\xa1\x48\x21\x43\x33\x90\xc4\x84\x27\x24\x4f\x3d\x7b\xe0\x00\x62\xee\x1f\x8d\x9b\x6a\x36\x69\x96\xd1\xf3\x41\x15\xa8\x1c\x39\x1d\x1d\x43\xef\x4e\x9f\x0e\xf2\x40\xfe\x9a\xf9\xe8\x05\xf4\xc2\x3c\x52\x62\xce\x6c\x5c\xa2\xef\x38\x4d\xeb\x0c\x2a\x95\x41\xa3\x52\xa1\x32\x48\xcb\x59\x40\x5a\x41\xc5\xe6\x05\x2d\x56\x3d\x6f\x19\x9b\xe5\x16\x03\x56\xbf\x95\x9c\x9c\x80\x11\x9e\x02\x8a\xed\x43\x94\x6e\xc9\x33\xe0\x87\x18\x8d\xf3\x2c\x16\x83\x76\xeb\x30\xbf\x7f\x18\xf9\x35\x36\x68\x0d\xe1\xea\xb0\xc1\xe2\x95\x40\x46\xae\x51\x58\xd4\x16\x83\x87\x04\x75\x6a\xb3\xce\xa2\xb6\x72\xa6\x2a\x7b\x76\xb6\xbd\x2a\xb2\x3d\xec\xce\x0a\xf1\x26\x8d\x47\x99\x15\xc2\xf5\x5b\x7c\x8c\x83\xc1\x15\xb5\x16\x15\xb0\x04\x2d\x4a\x8b\xf6\xea\xcc\xa5\x56\x67\xb2\xaf\x6e\x5c\x3d\xd8\x90\x5d\x99\x6d\xa0\xc9\x17\x23\x2d\x02\x85\xa7\x20\x7f\xe4\x9b\x43\x41\x97\x1a\x30\x9f\x0c\x9c\x0a\x44\xff\xf4\xc2\x5c\x20\xc7\xb3\x01\xd9\xf9\xab\xa7\xc6\x52\xd3\xa8\x79\x78\x26\xb8\x8c\xba\x8a\xba\x59\xf0\x72\x48\x10\x61\x05\x87\xdf\x06\x21\xc0\x12\x43\x78\x5d\xc6\x39\x3c\x9b\x96\x21\xc7\xcf\x0d\x29\xc1\x51\xa8\x88\x71\x2d\x8c\x2a\x41\x96\x9c\x56\xf4\x89\x65\x06\x05\xd0\xa9\x81\x12\xb2\x9e\x73\xf4\x42\x40\xf0\x44\xcf\x27\xc8\xe8\x4b\xff\x40\x54\xd0\xbc\x22\xb7\x8b\xfd\x42\x6a\x08\xca\xfc\xce\x4a\x9d\xae\xca\xe1\x97\x7c\x5d\xcb\x1b\x6a\x4e\x8d\x9c\x31\x7c\xca\x94\xe6\xfc\x4a\x57\x5d\x1d\xa8\xcd\x4e\x38\x8d\x76\xa3\xd3\xe2\xcd\x2e\xcb\xab\xf4\x17\x04\xa4\xbc\xc3\x54\x64\xce\xc9\x1b\x1c\xad\x05\xa6\x40\x76\x71\x4d\x4d\x41\x6e\x30\x1c\x6e\x9e\x3d\xab\x39\x87\xf9\xa9\x6e\x1f\x7a\x11\xdd\x8b\x0c\x08\x49\x3c\xb6\x60\xdf\x03\xf3\x76\xcd\x9b\xb7\x0b\xc0\xeb\x06\x77\x8e\x1f\xbc\xfd\xed\xa7\x56\x2c\x5d\xba\xe2\x29\xb0\xb5\x7d\x6e\x4b\x75\xe9\xd4\x3a\x19\xf0\xb4\x26\x7e\x96\x26\x5a\x5b\x13\xdc\xcf\x89\x56\xf8\x53\xd4\x63\x7b\xdf\xee\x56\x95\xcc\x5c\xd2\x3c\x09\x3d\x16\x8c\x8e\x07\xad\xff\x0a\xe7\x19\xe4\x7a\xb5\xd6\x68\xcf\x0b\x24\xc2\xbe\x6c\xad\x4a\xa2\x34\x19\xec\x79\xe1\xda\xaa\xec\xd6\x40\x5d\xa4\xa8\x21\xd8\x6a\x98\xb9\x63\x66\xea\x49\xa8\x09\x8f\xdb\xb1\xe1\x9a\xa2\x20\x7c\x91\xdc\x74\x9e\x14\x8c\x39\x71\x02\xdd\x27\x2b\xed\x2c\x6d\x2e\x43\x8f\x5d\xa3\x6d\x2b\x2c\x41\x8f\x6d\x81\xfe\x33\xca\xd2\xb6\xb6\x52\xe6\x7b\x7c\x24\xe4\xb8\xbe\xff\xdb\x41\x4c\x91\xab\x31\x1f\xea\xc0\xf4\x78\x10\x73\xa3\xc3\xa9\x09\xd4\x51\xea\x6f\x78\x06\x67\x81\x0c\xf8\x41\x0d\x98\x46\x51\x7c\x34\x04\x12\x64\x32\xc6\xf3\x5a\xc0\x1c\x33\x97\x90\xe9\x37\x12\x10\x4f\x40\x3c\xb1\xd1\x10\x71\xea\xce\xf9\x42\x46\x5f\xc8\xc7\xf9\x78\xbc\xca\x45\xcd\x09\x60\x50\x33\xde\x20\x9e\x10\x43\x1c\x26\xf4\xcd\x09\x5c\xcd\xe8\xd3\x45\x8d\xe2\xc5\xfa\x8d\xb8\x74\x78\x61\x34\x0b\x73\x3d\x26\xfb\x13\x11\xb2\x17\xe3\x82\xf1\x4c\xa2\xce\x67\x0c\x91\xff\xc2\x54\x48\xd6\x5e\x21\xc6\xf5\xf3\xb8\x42\x06\xfe\x79\x8c\xf8\x73\x93\x1f\x27\xd8\x20\xe1\xba\xb8\xa7\x91\x85\x42\xc4\x49\x4f\x90\x87\x36\x48\x38\x17\x70\x62\x0e\x9f\x74\x0d\xf2\x28\x11\x41\x44\x27\xa4\x95\xc4\x0b\x68\x21\xd1\x4c\x76\x85\x06\x3c\x26\x41\x70\x13\x3b\x30\x41\xbc\x2b\x10\x51\xa5\x8d\x44\x86\x6f\x8a\xbb\x40\xc2\x28\xc9\xe4\x49\x04\x79\x44\x3a\xcf\x05\x68\x5d\xa6\x39\xbc\xb1\x12\x9c\xea\x0d\xaa\x19\x01\xfb\x22\x21\xb4\x4e\x6c\xc5\xf8\x7c\x58\xd7\xdc\x74\xe7\xf6\xed\xa0\x6a\xfa\xb3\xe1\x51\x23\xb3\x81\x27\xa7\x63\x44\x2e\xfa\x8c\x1c\xc1\xeb\xe3\xf3\xfa\x4c\xf5\x93\xcb\x26\x6f\xb6\x6e\xb5\x36\x5d\xda\x75\xc9\xbc\xd1\xad\x70\x8f\x42\xe7\xb0\x84\x2c\xd9\xb2\x75\xed\x23\xcf\x52\x80\x69\xef\x78\x6b\x21\xfa\xe0\xf8\xf1\x3d\x37\xde\xc8\xbe\x2b\xf6\xad\x45\xd6\x84\xf5\x3d\x7e\xb1\x01\x3a\xe5\x72\x60\x36\xd7\x66\x8f\x96\x59\x4b\xad\x7f\xf7\x3e\x71\xc8\x7a\xd8\x7c\x6a\x50\xf8\xa0\xa5\x38\x75\x4d\x6e\xee\xcb\xa6\x7b\xdb\xc4\x6e\xb8\x32\xea\x7a\x24\x61\x46\x2f\xba\x4b\xdf\x31\x37\x7e\x16\x8f\xa0\x3b\xc1\xd8\x44\xc9\x31\x63\x85\xfb\x41\xa9\x94\x81\xba\x32\xf7\x3d\x95\xa9\x7c\x8b\xc9\xaa\xaf\xb3\x78\x07\xd5\xdd\x5c\x54\x8e\x3e\xb7\x1a\x6d\xba\x3a\x80\x99\x56\xb3\xbe\xa9\xf6\xa6\x62\xcc\x97\xfc\xf5\xaf\xbb\x6f\xbc\x11\x7d\x59\x0f\x7f\x9a\xb5\x6e\x9d\xd7\x5b\x1c\xf1\x96\x84\x37\xae\xf0\xfb\x8a\x8b\x7d\x5f\x59\x6a\x2f\xbb\xcc\x63\x0d\xe4\x06\xac\xb1\xf0\x86\xe5\xfe\xf2\xe1\x37\x4e\x5c\xbd\xd9\x76\xb9\x75\xd8\x86\x2d\x35\x5c\x8e\xc6\xad\xd4\x49\xec\x7e\xe7\xc4\xa9\x0b\xa7\x2f\xa1\xc7\x2c\x48\x5d\x3e\x7c\x78\x71\x22\xde\x76\xc9\xf1\x4a\xcf\xa0\xb0\xb3\x0a\x7c\xeb\xac\x0c\x2e\x28\x44\xdf\xbc\x8b\xff\x2a\x2b\x81\x06\x9d\x05\xe0\xa9\xa7\x52\xef\x1a\x5c\x06\x15\x07\xc1\x84\xce\x4e\xa0\x19\x3f\xbe\xaf\x14\x68\xca\x70\xbd\xd4\x3b\x9f\x24\x86\x0f\x4f\xc0\x03\x55\x55\x05\x05\x85\x85\xd3\x81\x7a\x8c\x59\xa9\x04\xb0\xaa\xaa\xbc\x1c\xac\xce\xc3\x7f\x26\xfc\x37\x75\x6a\x5e\xde\x63\x60\x2b\x29\x99\xea\x34\xa5\xff\xca\xcb\xd1\xe5\x15\x15\xe3\x55\xb3\xa6\x33\xd2\xb1\x16\xcb\x19\x73\x58\x26\xf3\x3a\xe3\xf9\x1e\xe3\x74\xa0\x71\x81\x7b\x2c\x38\xee\x71\xc5\x64\x3e\x8d\x49\xce\x4d\x03\x1a\xe0\x4c\x5d\x8a\xef\x5a\x8a\xef\x0a\xef\x45\xdf\x00\x4d\xea\xd2\x31\xe5\x56\xad\x9c\x0b\xfa\x43\x39\x65\x56\xad\x0c\x48\x02\xea\x99\xbe\x72\xab\x4a\x09\x58\x45\xc0\x45\x12\x0d\x8c\x04\xd6\xa3\x6f\x5f\x7f\xbd\xb2\x72\xcb\x55\x15\x78\x76\x95\xeb\x9c\x7c\x30\xfc\x27\xfc\x35\xa9\x23\x47\xc8\xf8\x54\xf4\x8f\x4f\x05\xe6\xba\x7c\x78\x5c\x8e\xa4\x2e\xa1\xb6\x50\xfb\xa8\x07\xa9\xc3\xd4\x1f\xd2\xde\xa8\xd2\xfb\x44\xb8\x4b\xfb\x38\xc2\x11\x10\xc4\x87\x81\xe9\x02\xe8\x08\x47\x4b\x08\xe6\x08\xd1\x67\x13\xa4\x64\x2c\x1f\x17\x92\x07\x58\x6f\xe3\x33\x2e\x41\x09\xc5\x35\x20\x24\x40\x95\x90\xde\x6b\x16\x33\x12\xe0\x37\x5f\xc9\x20\xd6\xe0\x63\x25\x42\x79\x4e\x80\x3b\x49\x10\xd3\x70\xf1\x01\x4d\x17\xce\xc3\xf0\xd3\x68\xc0\xe9\x8b\x04\x1c\x01\x5a\x87\x99\x55\x1d\x54\xe8\x4d\x36\x0b\x98\x12\xf5\x3b\xfd\x24\xf5\xf4\x3d\xad\xd5\x3d\x3c\xac\x03\x52\x49\x8b\x01\xea\x81\x52\xaf\x35\xd1\x63\xa6\x81\x58\x36\x49\x51\xd3\xf6\xc6\x21\x33\x07\x95\x3b\x2a\xf5\x8c\x6a\x10\x0f\x9e\x97\xb2\xad\x0a\x6e\x5e\x1e\xab\x1b\xc6\x4a\x43\xf9\xa0\x43\x85\xa3\xd4\x59\xb0\xae\xb5\x7a\x9f\x41\xb8\x48\x87\x92\xf9\xe5\x45\x6c\x83\xc8\x45\xf0\x7a\x40\x2e\xf2\x81\xaa\x59\x21\x14\xad\xe7\xe1\xa9\xa1\x6c\x0e\x9e\x49\xa0\x82\x0f\xfb\xb9\x25\xe7\xd1\xd5\xcb\x03\xc5\x59\x8e\x40\xd4\xb3\x32\xc7\x05\xe6\x2b\x18\xe3\xbd\xfe\x88\x10\xdf\x5e\x11\xe3\xd1\x1c\x89\x9c\xbf\x44\x2a\xa7\xe1\xd4\xbf\x01\x56\x22\xf7\x84\x17\x0c\xad\x68\xb2\x18\x94\x32\x2d\x30\xca\x65\xf2\xbd\xbb\xb4\x32\x16\x2e\xd9\xcc\x74\x4b\x55\x72\xd0\x5d\x9a\xae\xa2\xba\xf4\x97\x55\x80\x96\xd1\x82\x83\x40\xad\x40\x5d\x90\x95\xf1\x80\xf7\x99\xf0\xed\xcc\xe0\xa3\xf3\x96\x62\xb2\xc7\xd2\xbf\x16\x6b\xa8\x08\x35\x04\xaf\xc4\x13\xa8\x05\xd4\xa5\xd4\xd5\xd4\x2d\xe2\x3a\x8c\x17\x54\x42\xfd\xb2\xbe\xb8\xb0\x0a\x0b\xeb\x6e\x7a\xd9\xe5\xd2\x88\xdc\x84\x96\x0d\x0a\xcb\x6e\x22\x0e\x12\xbe\x98\x86\x8e\xa6\xcd\x28\x45\x85\x2e\x56\x58\x80\xf1\xe4\xab\x8b\x12\x5c\x49\x5e\x58\xc1\x05\x2b\xd7\x50\x1a\x4d\x32\x71\x8e\x81\x17\x32\x24\xe9\xfa\x02\xf9\x1b\x0c\x45\x7f\x81\xc9\x29\xa9\x32\xf2\x1e\xb3\xde\xe9\x28\x03\x4f\x5c\x22\x89\x44\x4f\x7d\x51\xdf\xe8\xcf\x0a\x96\xd7\xeb\x1b\x3a\x5a\x0b\x8a\xea\x1a\x42\xee\x22\x67\x87\x5b\x3f\xa4\x6b\x44\x51\x14\x33\x5b\x5d\x1b\xf4\x05\xba\xea\xbc\xe0\xd0\xac\xc2\x2c\x65\x0e\xb8\x52\xa3\xca\x2a\x94\xcb\x37\xed\xb2\x95\x6a\x0b\x77\xed\x82\x97\xe4\x87\x07\xd7\xc6\xa4\x9b\x77\xf9\xb3\x46\x46\xab\x50\x5e\x41\x7d\x41\x41\x3d\xfd\x70\x51\x64\x72\xd7\xa2\x9a\xc4\xbc\x99\x15\xda\xb2\xc1\xb9\x06\x33\xfb\x33\x3c\x9f\x4b\x5a\x35\x28\xe0\x93\x9d\x70\x8d\x99\xf6\x69\x45\x9d\x55\x65\x52\xdb\x3c\xdd\x59\xc1\x50\x53\x79\x9d\x45\x6d\xd6\xba\xad\xfa\xc5\xd9\x81\x6c\xe0\x5b\xb4\xd5\xb8\x44\x3a\xfb\x7f\x46\xf9\x5d\x8a\xe5\x5c\xe4\x25\xeb\xd5\x74\x96\xab\x14\x65\x83\x88\x1b\x3d\x04\xfe\xf2\xe1\xea\xb2\x92\xd2\xc2\xd4\x1a\xeb\x6e\x45\x69\x1d\x78\x91\xdc\xb9\x10\x7d\xbe\xb8\xa6\x76\xf3\x92\x64\x65\x22\x3c\xdb\xcd\xf3\x85\x6a\xf8\xc8\x79\x1f\x8e\xa6\xd4\x98\x27\xfe\x56\x42\x09\xe3\x9c\x20\x2b\xe9\xcd\xa4\x81\xc8\x7e\x70\x88\x8d\x94\x08\x63\x99\xac\x32\xc0\x44\x60\x4a\x08\x1a\x5b\x9c\xf8\xa7\xaa\x66\x88\x1b\x89\xcc\xe6\x13\x5e\xbc\xcc\x44\xd5\x5e\x62\xaa\xfa\xb2\xa5\x04\xd5\xee\x7a\x77\x27\x00\x94\x56\x5b\x31\x3a\x6b\x36\x13\x95\x02\xf9\xcf\x0f\xcb\xed\xd2\x51\x38\xf0\x34\x1f\xe9\x18\x57\x15\xfa\xec\x39\x69\x69\x7b\xa9\x74\xed\x73\x31\x70\x07\xce\x81\x07\xd1\xde\x57\x4b\x5a\xe6\xed\xda\x39\xef\xa1\xac\xd1\x15\x5a\xed\xd0\xd9\x92\x5a\xb9\x5d\x76\xea\x3e\x29\x94\x77\xe1\x02\xb7\x67\x79\x73\x26\xde\x70\xdf\xb7\x57\xef\x01\xac\x83\x37\x10\xfd\x7a\x03\xaf\xdf\x30\x09\xcc\xc7\x05\x44\x7b\xb6\x73\xef\x61\xc2\x74\x44\x1b\xd9\x15\xea\x7f\xf8\xa8\x0c\xa4\x5d\x33\x6a\x41\xff\xdb\x25\x3c\x41\x3a\xa1\x27\xd6\x03\xbf\xfa\x62\x8c\xf8\x2a\x43\x53\x3f\xd1\x0b\x73\x1e\xdf\x32\xe9\xa6\xce\x22\xa6\x37\xf3\xa2\x3b\xe1\x0f\x07\xaa\x16\x55\x81\x86\x51\xbf\xfa\xa2\x0f\xa7\x5f\x0e\x7c\x0e\x7f\x1e\xb7\xac\x66\xda\x82\x28\x4a\xa2\x5a\xf1\xc5\x37\x3c\x03\xb4\x53\xd1\x5e\xe6\x9e\xae\xdf\xfa\xe2\xfd\x18\xc7\x6c\xb2\x5f\xce\x95\x20\x9a\x43\xc4\x77\xa1\x30\x85\xea\x44\xb4\xa7\x5f\x8b\x03\x0f\x1e\x1a\x1e\x09\xc7\x66\xfc\x0a\x8a\x03\xc4\x97\xf1\x01\x91\x10\xf7\x71\xdc\xc4\xd3\x0b\xa4\x2e\x0e\xd3\x34\x30\x9c\x3a\x01\x7a\x8b\x38\x39\x7a\x41\xce\xd1\x8b\xf4\xea\x2e\xd1\x81\x83\x20\x70\x04\xb1\x26\x4d\x5b\x18\xd4\x86\xdb\x34\x4d\x20\xa6\xd6\xf7\x40\x41\x94\x93\x12\xaa\xfe\x87\x30\xfd\xef\x65\x32\x08\x65\x3b\x71\xb8\xaf\x65\xe4\xaa\x65\x23\xe9\xa7\x84\xdb\xdc\x1d\x28\x29\x09\xdc\xad\x1f\x80\x65\x9c\x27\x68\x3a\x12\x5d\x04\x02\x39\x44\x89\x90\x2e\xb4\x93\x50\x4e\xde\xaa\x81\xda\x52\x19\xb1\x1a\xfc\x4f\x3a\x28\xcc\xba\xa1\x4b\x57\x95\xbd\x89\xbe\x04\xda\xd7\xbd\x23\x67\x77\x94\x6a\x97\x6b\x37\x0d\xb9\xe6\x91\x27\xb7\x37\x5e\x23\x93\xac\x90\xc8\xfb\x7e\x4d\x47\x05\x1c\x5d\x18\x69\xcb\xc5\xe3\xe6\xad\xd7\x81\x56\x66\xcf\x1e\x92\xbf\x50\xab\x6d\xca\x2d\x7e\x72\xc7\xee\x97\x8a\x72\x9a\x38\x99\x8c\xce\xfd\x35\x2d\x96\x81\x72\x78\x35\xf1\xd3\x2a\xbc\x03\xd9\xc4\x10\x6c\xf3\x59\xa2\x6c\xe2\x15\x67\xb6\xf4\xd6\xaf\x5e\x40\x9b\xac\x11\x3d\x71\x9a\x4d\x78\xc5\x24\x65\x71\xa7\xd6\x52\x1e\xaf\xf0\xae\x64\x8e\x24\x70\x1a\x02\x9e\xe2\x00\xb8\x72\x8a\x7e\x63\xfe\xe4\x9a\xd5\xd3\xaa\xe6\x4f\xed\xea\x19\x0d\x4b\x9a\xd7\x5c\x33\x4c\xc2\x73\x53\x0a\x1d\x6c\xc9\xbe\xc9\xb7\x3f\xb2\xf9\x6f\x5b\xc6\x5e\x11\x84\x0a\x20\x63\x97\xb3\x52\x16\xae\x64\xad\x59\x8e\xf2\x71\xf5\x45\x68\x3f\x7a\x3f\xa3\x09\x7f\xf2\x11\x85\x4d\x9a\x2d\x05\x50\x3e\xeb\xcc\x16\xc1\x8f\x9f\xe0\x9f\x0f\x8c\x03\xf7\xc0\x53\x0b\x56\x57\x2d\x38\x30\xb5\x7b\xf5\x96\x57\x74\x8b\x0e\x4e\x8b\x42\x10\xf3\x44\xea\xc7\xfd\xee\xc1\x5b\x81\xfc\x96\xc1\xb5\x7c\xa9\x44\xa9\x60\x15\xa9\x9b\x2d\x96\x90\x0d\xc8\x42\x55\xcb\xdb\x30\xf5\x3f\x31\xd3\x44\xd7\xc9\xa0\xa2\x58\xa9\x54\xc9\x46\x76\x92\x4b\x82\x52\xe0\x38\xba\x1a\x8d\xeb\xd7\xdb\x12\xf6\xf5\x7c\x64\x4f\x8f\x32\x69\x89\x4d\x90\x41\x03\x88\x3c\x9f\x78\x04\x61\x43\x3c\xf1\x8a\x99\x16\xda\x13\x7f\x17\x32\x10\x02\x46\x49\xe3\x91\xc9\x1f\xcf\x91\xcb\xff\x28\xb7\xc9\xe7\xa6\xee\x0a\xc4\x5e\x3f\x4b\xd5\x26\x03\x70\xc2\x5c\x31\x6d\xce\x47\x93\xfa\x5e\x82\xb5\xbd\xa9\x5e\x09\x75\x04\xfd\x34\xe9\xa3\x39\x38\xf1\x8f\x72\xa1\x6c\xb2\x16\x50\xaf\xc7\x84\xb2\x42\xda\x9c\x8f\x27\x9f\xae\x15\xca\xf6\xa6\xf5\xc8\x90\x20\x87\xcc\x4e\xfb\xe8\xe0\xa8\xcc\x5e\x3b\x88\x0b\x8e\x1b\x4c\x94\x8f\x68\xda\x12\x5d\xe4\x44\x35\x23\x19\xde\x34\x37\x1f\x1d\xda\x32\x75\xd5\xba\xc7\x27\xc2\x75\x15\x7d\x4f\x87\xb6\x8e\x04\x0c\xfa\xe1\x2f\x6b\x9e\x5b\x5a\xce\x35\x96\x56\x6b\xb2\xd5\xd6\xba\xe6\x59\x73\x24\xd4\xa4\xa6\x9a\x71\xa9\xab\xd7\x4c\x38\xbc\x3e\x39\x0a\x36\xc4\xcf\xfc\xd8\xb2\xc0\x34\xf8\x4f\xe8\xfb\x49\x77\xbc\xb1\x9c\x8d\x84\xbc\x81\xfa\x49\x15\x7e\xcd\x79\xf2\xd0\xfc\x7e\x34\x3d\x01\xa1\x3a\x22\x60\x68\x8a\x10\x97\x30\x2a\xc4\x20\xe9\x36\x82\x97\xca\x34\x60\xb1\x0b\xf2\x46\xa2\x83\x29\x62\xc7\x72\x02\x84\xd7\xc5\x23\x84\x93\x21\x9a\x66\x9e\xfe\x7f\x22\x47\x23\x6a\x53\x31\xb1\x73\x32\xc5\x5f\x46\x38\xea\x14\x95\xdf\x1e\x74\xb8\x72\x7d\x96\xb0\xc9\xe4\xf4\xb7\x17\xe4\xb7\xfb\x5d\x46\x73\xc8\xe2\xcb\x75\x39\x82\xed\x9d\x62\xa6\x57\x88\xe4\xa7\xcb\xe4\x17\xb4\xfb\x9d\x26\x53\x98\x94\xf9\x65\x15\x21\x17\xd7\xe9\x6e\xaf\x25\x7e\x11\xc4\x7f\xb5\xed\xdd\x67\xa8\x21\xa5\xb1\x61\xbc\xc3\xeb\xe0\x83\x9d\xf0\x3f\x46\x92\x44\xa8\xe3\xb0\x5b\xec\x26\xb5\x96\xb7\xda\x1c\x4e\xab\x95\xd7\xaa\x4d\x38\xc1\x21\xa4\x0a\x21\x50\xdb\x2b\xe6\x3a\x6c\x62\xee\x05\x05\x6d\x56\xbb\xa9\xb7\xbd\x1b\xf4\xa2\xda\xcc\xaf\x9b\xd6\xb6\x8e\x1c\x16\x73\xe6\x59\xb2\xdc\xe5\xc1\x1b\x5b\xfe\x63\x44\x1c\xf3\x82\xbc\x8a\x25\x74\xb8\xc7\x48\xbc\x40\x60\xb6\x1d\xff\xa4\xd4\xcf\x14\x9e\x0e\x00\x75\x2a\x09\x7a\x61\x2d\x0e\x9e\x4e\x32\x54\x5f\x12\xe2\xbe\x97\xea\xed\xf7\x8d\xd2\x2b\xac\x83\x5a\xbc\x12\x52\x98\xfc\x17\xbc\x3e\xe1\x59\x2d\xca\x7b\x88\x1f\x10\xfc\xfd\x19\x3d\x4d\x41\xef\x3c\xf4\xc9\xad\xef\x88\xf3\xcd\x3b\xcf\xd0\xec\xca\x05\xfb\x53\xd4\x3b\x78\xde\x81\x97\xa7\x3e\x5c\xb0\x32\x33\x0b\xa5\xa8\x5b\xd1\x27\xf3\xe0\x1d\x34\x85\x27\xb8\xf3\x9e\xcd\x9d\x79\x36\xb2\x64\x90\x91\x46\x86\x5b\x48\x18\x61\xc4\xf8\x8e\x2c\x19\xc2\xf3\x72\x54\x48\xbb\x2a\xb5\x15\x0f\x94\x4f\x51\x57\x2f\x1c\x4a\x02\xe0\xed\x55\x5a\x9d\x11\x3c\xa6\xd6\x8b\xef\x70\x02\xb5\x1a\x75\x42\xa9\x4c\x21\xb1\x4c\x48\x9f\xf6\xb7\xc4\x51\xcc\x58\xaa\x8b\x50\x92\x04\xb7\x98\x11\x75\x86\x25\x21\xe2\x5d\xb9\x1f\xb4\x44\xb4\x11\xc1\x6b\x17\x14\xd5\xa1\x89\x13\x14\x11\x6d\x5b\x22\x80\xba\x12\x29\xa7\xcf\x05\xcd\x5c\x30\x24\x10\x92\xac\x52\x2e\x77\x95\xf8\x03\x60\xd0\xb1\x9d\x15\x73\xdb\x5a\x22\x65\xae\x62\x45\x56\xc5\xb8\x95\x1d\x5d\x0f\xce\xfa\xd3\xad\x8f\x8c\x28\xb5\x8f\xd2\x38\xc1\x26\x74\xf6\x86\x1f\xae\x18\x7b\xfd\x2b\x73\xc7\x5e\x37\x7b\x6c\x79\x45\x4e\xb9\xad\xeb\xca\x11\x4b\x83\x35\x1d\x63\xc7\x35\x97\x2a\xe8\x87\x16\xb5\x8d\x2e\x02\x4a\x93\x8b\xd9\x60\x73\x98\x9b\x8b\x9b\xe8\x5a\x89\xcf\x99\x6d\x57\xc9\x27\x7c\xb3\xe3\xf7\x81\xf8\x94\xf6\xf5\xc3\x2f\x77\x8c\x98\x3b\x2e\xbc\xe8\xd1\xae\x9e\xaf\xa6\xd4\xc4\xf6\x78\xfd\x60\xcf\x6d\x00\xec\x98\xfb\xda\xee\x89\xc1\xea\x69\x33\x2e\x5f\xba\x23\xfe\xea\xd4\xf6\x9c\xca\x2c\xb7\x39\xbf\x62\x6e\x93\x56\x77\xc9\x7e\x86\x36\xe7\x28\xec\xf9\xec\xf4\x62\x23\x30\xd6\x9f\xb7\x16\x8c\x15\x64\xf6\x44\xf7\x30\x54\x92\xd9\xbe\xf2\x99\x30\x29\x1d\x12\xf1\x48\x0c\x02\xf2\x2d\x5e\xf8\x4c\x82\xe2\x2a\x4b\xda\xc8\x6c\x14\xe7\xfe\x44\x3f\x74\xb1\x30\xcc\xb9\xe8\x45\x70\xea\xf7\x7c\xe6\xf3\x87\x65\x0c\x2c\xf6\xc7\x75\xc0\xc0\x4f\x0a\xc9\x3d\x83\xa2\xed\x6b\xa1\x76\xea\x0c\x67\x38\x62\x07\x23\x2b\xa6\x36\x99\xcb\x42\x83\x86\x27\x47\xce\x7c\x62\x1e\xcd\x4c\x7a\x70\xe1\xd3\x93\x0c\x8a\xca\x9c\x25\xe3\x97\xee\xd9\x3f\xa7\xfb\xd2\x02\xa9\xcf\x94\xed\x4f\x94\xb6\xe4\xcc\xdf\x33\xe7\x3c\x3f\x06\x27\x1f\xa8\x97\xab\x02\x0e\xa8\x52\x40\x7f\xa1\x46\xe3\x1f\x1c\x97\x3b\x0d\x4b\xdb\x39\x6d\xd7\x38\xa7\x54\xe3\xc8\xb6\xb1\xe5\x4d\xd7\x15\xee\x9c\xb5\x62\x48\x71\xf7\x53\x33\xc0\x82\x27\x16\x5f\x62\xb7\x2c\x6c\x1f\xf2\xe0\xb2\xb9\xf7\xcc\x5f\x61\x9c\x52\x3e\xa1\xac\x31\x64\xbf\x1a\x7e\x72\xbe\xc1\x03\x9d\x96\xf1\x8a\x18\xa2\x51\xea\x7c\xcf\xbb\x7e\xb2\xb1\xef\x21\x2a\x4c\x9c\x07\x47\xf5\x5a\x3c\x83\x11\x43\x07\x2d\xee\x25\x1e\x3c\x0d\x32\xc9\xb4\x1e\xab\x78\xa2\x05\xad\x58\xb4\x6e\xc5\xd5\x57\xaf\x00\x1b\xe7\x3c\x7b\xd5\x3b\x64\x6d\x4b\x51\x99\x55\x8e\x26\x21\x68\x39\x57\x21\x73\xea\x44\xdf\xa3\x37\xd0\xf7\x9d\x23\xae\x02\x77\x5f\x40\x1f\x0c\xb0\x27\xa4\x04\xb4\x7c\xca\x02\xc4\xbb\xc3\xf4\xd3\x00\xa6\x5f\xad\x1f\xb3\xbe\xfd\xf7\x99\xd5\x7f\x6f\xe6\xd1\xf3\xee\x08\x50\xfa\xd2\x19\x1a\xe2\xfa\xf3\x1e\x46\x98\xff\x89\x8a\x07\x3e\x11\xeb\x4b\x0b\xa6\x8e\x08\x2a\x17\xfe\xce\x35\x44\x14\x22\xd1\x92\xb1\x11\x8a\x62\x32\x1f\x78\x38\x93\x99\x11\x40\xf9\x89\xed\x81\xe0\x0f\x8e\xd0\x0d\x59\x78\x0a\xc9\x22\x3e\xca\x12\x21\xb2\x8c\x92\x7e\x83\x53\x08\xcf\x26\xb8\xa7\x8d\xe2\xd1\x1f\x4a\x87\x08\xe0\x5a\x34\x02\x4f\xa3\x97\xc3\x3e\xcb\x91\xba\x21\x9b\x8f\x1c\xd9\xbc\xf4\xe1\x3b\x9f\xd6\x97\x81\xc5\x20\x0b\x65\x4d\x9f\x6b\x64\xd9\x23\x9b\x2b\xab\x1e\xd4\xc8\x4d\x1a\xa3\x4f\xff\xe0\xa4\x23\x40\x0a\x2a\xd1\x29\xb4\x1d\x9d\x1a\xde\x54\x87\xf6\xe9\x3d\x2f\x99\xfb\xee\x39\x8c\x4e\x01\xee\xf0\x92\x99\x57\x0a\xaa\x95\x20\x09\x1e\x1b\xfd\xa1\xa8\x18\xe9\x31\x00\xc5\x84\x99\x87\x41\xb2\x29\xeb\x8c\xfb\x08\xfa\xf9\xc8\xf5\x5f\x8d\xae\xb9\x11\x24\x37\xcf\xde\xf9\x22\x90\x1e\xb1\xa0\x3e\x73\x89\x5a\xe1\x04\xcc\x94\x8d\x9b\x8f\x00\xe1\xba\xf8\x4a\x53\x1f\xa8\x99\x86\x72\x6d\xfb\xdf\x07\x1c\x58\x02\xb8\xc4\x93\xc1\x92\x60\x92\x88\xe6\x1d\xa8\x3b\x6f\xa0\x5d\x35\x27\xf4\x9c\x5c\x82\xa7\x47\x5d\x20\x4f\xe6\x33\x60\x54\xb4\x44\x90\x05\xc3\xf3\xfc\x08\xfb\x2e\xc4\xb7\xd2\x95\x10\xc9\x27\x31\x17\x33\xf3\x19\xf9\x30\x23\xca\x6e\x9d\x43\x58\x9f\xb9\x6f\x9e\xd9\xc7\x0e\x61\x83\x2e\x26\xe8\x0a\xfe\xd3\x61\x48\x25\x0d\x0e\x87\x01\x26\x0d\xe0\x20\x29\x9c\xa2\xf0\x21\x69\x9d\x2d\x7b\x04\xd8\xc1\x18\x60\x7f\x44\x36\xd7\x0c\x14\x03\xe4\xbf\x50\x09\x92\x66\xa7\xd3\x8c\x92\xae\x82\x02\x78\x49\xd8\xe1\x08\x3b\x52\x13\x52\x77\x25\x63\xc3\x86\xc5\x92\xe2\x11\x4e\xe8\x5e\x04\x5e\x6e\x5b\x5e\x59\xb9\xbc\x0d\x95\xcf\x12\xd6\x85\x2b\x70\xdf\xfb\x19\xaf\x0b\x05\x04\x5b\x80\x12\x87\xbc\xf0\xed\x30\x0f\x2d\xe2\x58\x45\x3d\x04\x05\x4a\x30\x23\xf0\x88\x82\x2c\x8f\x89\x21\x92\x31\x40\x18\x03\x51\x89\x12\xf7\x81\x90\x38\x7f\x54\x00\x81\xe0\xf4\x13\xe8\x20\x3c\x97\xb0\x4f\x46\xfc\xa9\x7a\x7f\x24\xe2\x87\xcf\xf9\x81\xd4\xdc\x97\x43\xc2\xf4\x35\xe3\xd0\x7b\x0f\x3c\x82\x8e\x3d\x64\xa6\xff\x4c\x12\xfa\x2e\x1d\x07\x42\x0f\x6c\xfe\xf6\xc1\x39\x60\x69\xc4\xbf\x49\xb7\xe9\x7d\xf4\xd6\xdd\x3f\xa2\xf9\xd3\x9f\x25\xb9\x9b\x71\x1c\x14\xdf\xf3\x03\xd8\x39\xfd\x88\x3f\x02\xff\xde\x14\x8d\x36\x45\xc7\x8c\x19\x15\xf1\xf9\x23\xd7\xde\xf3\x10\x7a\xf7\x91\x4c\x78\xf6\x43\xdf\x80\xcd\xbe\xc8\xe8\xd1\x77\xa3\xb7\x3e\xd8\x04\xe4\xc7\x23\x7e\x21\x06\x8a\x3f\xd8\x84\x7e\x3c\x1e\x21\x76\x15\x8a\xb3\x14\xf3\x43\xfa\xdb\xda\x71\xff\x5f\x26\x60\x8a\xd3\x66\x7d\x0c\xf3\x86\x82\xad\x74\x01\x7e\x35\x82\xa5\x64\x26\x10\x7b\x12\x5a\x70\x4e\x4d\x84\x57\x64\x5d\x91\xd0\x69\x91\x56\x5c\x57\x42\xac\x51\xfc\xe2\x46\x85\x8b\x49\x44\x04\xf8\x24\x11\x92\x1c\x8f\x13\x23\x4e\x0e\x86\x24\xbe\xb4\xeb\x35\x4c\xe4\x99\xd2\x0b\x8f\xb0\x5d\x71\xce\x50\x58\x54\x15\xe7\x4d\xe6\x6a\x56\x10\x1b\xd2\x44\x49\x1c\x8a\x68\xfe\x90\x3e\xbc\x64\xd9\x5d\xc1\x32\x74\x8d\x8b\x0e\x78\x95\x39\x3e\xf4\xe6\x3e\x5d\x96\xa6\x72\xd5\xb0\x22\xde\x30\x7c\xf6\x66\xaf\xda\x9c\xa5\x0a\x96\xd5\x3b\x0d\xd1\xdb\xac\x15\xa7\x6e\xfd\xfb\x2d\x7b\xf0\x77\x2a\x45\x7f\x58\x1a\x50\x2a\x73\x1b\xc7\x8e\xeb\x70\x6a\x39\x8b\x56\xc3\x38\x1a\xab\xb2\x6a\xc7\x07\x68\xe6\x4a\x99\xd4\x03\x47\xc4\x3b\xee\xf5\x94\x48\x5b\x4b\x95\xce\x87\x9c\xb9\xf1\x25\xa3\x27\x3b\x56\x57\x39\xb3\xef\xec\x68\xdb\xf4\xbc\x04\x4a\x0a\xb2\x1b\xaa\x87\x07\x06\x77\xec\xab\x1a\x1e\x54\x4f\xbe\xaf\x6f\xcf\xa2\xee\x9d\xef\x31\x97\xa3\xa7\x8c\xe0\x85\x86\xd2\xbe\xee\x76\x69\x8e\x15\x72\x1c\xbd\x65\x1a\x1a\x2f\x67\xc1\x94\xf7\x7d\x7d\x3f\xf8\x0f\x5c\x63\x53\x5b\xda\xb2\xda\xa7\xd5\xc6\xd1\xad\xd9\x35\xd7\xef\xbf\xef\x5e\x00\x73\x8b\x5a\xf4\xc5\x31\x05\xeb\xf2\x96\x38\x78\x86\x81\x3c\xef\x77\xd8\x4c\x96\x82\x2b\x06\xb9\x97\xba\x94\x4a\x28\x3f\x0a\x39\x75\x6c\xe8\xde\x11\x5e\x4f\xad\x72\x8e\x4e\xe9\xfd\x70\x7c\x62\xe6\x5a\x5b\xb3\xab\x7a\xb5\x06\x1c\x9d\xdb\x3e\x33\xf5\x8c\x4e\xa2\x5d\x7f\xc9\xf5\x33\x87\x4c\x1b\xba\x00\x35\x69\xaa\x27\x4f\xaa\xdd\x85\xfa\x9e\xbb\x24\xa7\x0c\xa8\xce\xf9\xfb\x23\xeb\x9f\x8d\x8a\x0b\x38\xf1\x14\x88\x0e\x5c\xcc\x7c\xe9\xd5\x8f\x2c\x74\x81\xff\x98\x13\x0f\x90\xcd\x27\x18\x0a\x7a\xb2\x08\x88\xbc\xf0\x05\x89\x7f\x0f\x13\xe3\xc9\x22\x60\xef\xd5\x80\xc7\x34\x2c\xad\x7b\x4b\x7d\xef\xc6\x3b\x0e\x3f\x7d\xcd\x8d\xf7\xa8\x5e\x67\xab\xa2\x65\x35\x72\x5b\x3c\x34\x05\xfe\xf9\xa8\xfa\x9e\x4c\xfa\x1b\x4c\x75\x84\xa4\xc7\x42\xc5\x09\xb0\xd0\x9d\x2f\xd1\x38\xe0\x98\xd4\xad\xa9\x6b\x47\xb3\x56\x9d\x24\xdf\xe5\xca\x97\xe8\xcd\x92\x3c\xb0\x15\xf0\x70\xda\x58\xd6\xa2\x63\x0b\x5c\xbd\x3f\x53\x50\x7b\xdb\xe3\xff\x7a\xf5\xf9\xcf\x1f\xec\xa9\x6d\x5a\xb5\xac\x68\x48\x83\xff\xea\x0b\x13\x5a\x9e\x78\xeb\xd5\x2a\xa9\x52\x0f\x6b\x6a\x18\x8d\x4a\x5a\xf9\xca\x3b\x6f\xbf\x52\x25\x55\xab\x59\x4f\x56\x1d\xa3\x56\xcb\x2a\x5f\xa6\x5f\x3f\x4d\xa6\xad\xcc\xba\xc2\x76\xe1\x76\x71\x52\x15\xa2\xc6\x63\x1a\x20\x3d\x38\xc0\xa3\xa3\x30\xd2\x05\x8f\xc3\x6a\x90\x59\xec\x33\x9e\x1d\xe3\x99\x08\x7d\x42\xf0\x2d\xd9\xd3\x8d\xbe\x16\x02\x98\x61\x7f\x7b\xeb\xc9\x2d\x20\xb9\xe5\xe4\x56\x54\x44\xe2\x38\x11\x68\xbb\x7b\x84\x00\x7d\x1d\xd2\x0a\x65\xbe\xee\xee\x39\x93\x24\x21\x16\xb3\xe5\x5b\x4e\xfe\x1f\xe6\xbe\x3b\xb0\x89\x23\xfb\x7f\x67\x8b\x56\xbd\x17\x5b\x96\x65\xc9\xb2\x24\x57\xb9\xc8\x92\x6c\x83\x65\xd9\x98\x62\x6c\xc0\x98\x66\xba\xe9\xa6\x9b\x4e\x80\x80\xe8\x24\x40\x42\x4f\x80\x40\xb8\x10\x52\x08\x29\xe4\x9b\xde\x30\xb9\x4b\x42\x0a\x1c\xc9\x41\x0e\x12\x92\x38\xb9\x34\xee\x92\x5c\xbe\xb9\x4b\x0e\x6c\x69\xf8\xcd\xcc\x4a\xb6\x6c\xb8\xdc\x7d\xef\xfb\xfd\xe3\x07\xd6\xee\xec\xec\xec\xec\xcc\xec\xcc\x9b\x37\x6f\xde\xfb\x3c\x50\x13\xd9\x81\x9e\xd2\x2a\x19\x61\x11\x4f\x1d\x69\x61\x5a\x04\x1b\x10\x36\xc1\x06\x24\x48\x34\x78\xa8\x9e\xda\xb1\x9c\x80\x55\xcd\xc7\x01\xab\x51\x5c\xfc\xd6\xad\xae\x9c\xbe\x4e\x45\x1d\x72\x2f\x86\xb7\xde\x83\xa3\x49\x4b\x49\x7a\x27\xc9\x62\x41\x87\x14\x68\xac\xf4\x6d\xac\xb6\x58\xaa\xd7\xf9\x2a\x0d\x01\xc4\xba\x4f\x48\xb2\x18\xfc\x46\x4b\xd2\x24\xc4\xdd\x07\x0c\xf4\xa0\x2a\x1f\xbc\xe6\xab\x42\xc1\xb4\x8a\x53\xbe\xaa\xd5\x5b\x9a\x3a\xce\x37\x6d\xd9\xd2\xc4\x16\x34\x6d\xa1\x9f\x5b\x88\x73\xc1\x07\xd8\xee\xab\x2c\x2e\xae\xf4\xb5\x1b\x8d\x5f\xe3\xb8\xaf\x3b\xcf\x4b\x0f\xf8\x2a\x2b\x7d\x70\xba\xc1\xf0\x4c\x76\x25\x7d\xa8\xeb\xe9\x2d\x89\xbe\x0b\x69\x34\x35\x63\x2d\x42\x7b\x0a\xb0\xe3\xff\x92\x9b\xec\x0a\x77\xc3\x8f\x76\x5f\x05\x01\xf8\x0a\x1c\x00\x5f\x01\x01\xb0\x86\x9e\x75\x7c\x69\x24\xb4\xf4\xf8\xf1\xa5\x4c\xeb\xd2\xe3\xe0\x75\xda\x1d\xb9\x07\x71\xff\x14\x28\xa3\x1f\xea\x8a\x3f\x8e\xbb\x83\xa9\x13\x8f\x71\x10\x35\x82\x9a\x44\x35\x53\x73\xa9\x85\xd4\x72\xb4\x0a\xdc\x40\xdd\x41\xed\xa4\xf6\x51\xf7\x51\x47\xa8\x07\xa9\x87\xa9\xe3\xd4\x93\xd4\x0b\xd4\xcb\xd4\x6b\xd4\x69\xea\x5d\x01\xeb\x98\x21\x16\xa1\x4c\x6c\x17\xd4\x2e\xc2\x3f\x81\xae\x31\xc4\xe0\x96\x11\xd0\x0f\x74\xc5\x38\x4a\x17\xa3\x6d\x76\x3f\xfe\x09\xb0\x13\x3a\x82\xa3\x8b\x8e\xa8\x62\x0e\x80\xee\x00\x12\x6b\x0a\x68\xdc\x22\x1e\xd8\x4d\x4e\x94\x27\x86\x01\xe5\x1d\x01\x06\x98\x40\x40\x67\x07\x7e\xce\x8b\x56\x38\x26\x23\x63\x0f\x00\x15\xf0\xfa\x78\xa3\x46\x8f\x1f\x32\x69\x02\x1a\x13\xc8\x07\xbc\x26\xe0\x16\x39\x1d\x9c\xc9\x20\xa1\x9d\x6e\x0d\xc7\x7b\x81\x49\x97\x4f\xa3\x5e\xc3\xb8\xdc\x12\xda\xc7\xe8\x1c\x3a\xc0\x57\x00\xe2\x8e\x4e\x06\x4c\x7e\x31\x65\xd6\x9f\x65\x92\xf5\xa7\x19\x7b\x52\xb2\x1a\xb6\x68\x8a\x35\x70\x81\xc6\x6c\x4a\x67\x4f\xeb\x93\x99\x73\xfa\xe4\x14\xfd\x5b\x20\xfd\x7d\x36\xdd\x64\xd6\x82\x6d\x6a\xbf\x1a\xdc\xa5\xc5\x77\x7f\x6f\xb2\xf1\x2f\xeb\x92\x23\x6e\xb0\x11\x1e\xbf\x1b\x1e\x07\xcd\xda\xec\xc8\x58\x40\x9f\x57\xbd\xf2\xb2\x42\x4d\x3f\x02\x57\xbd\x46\x67\xc3\x6f\xd5\xb9\xf4\x93\x80\x0d\x69\xac\xc6\x08\xbc\x54\x01\x96\xa9\x2b\xe1\x08\x30\x48\x1c\x69\xe1\xc0\x48\xb8\x95\x45\xa3\x64\x57\x08\xbe\x7b\xe8\xf4\xd1\x47\x58\x20\x7e\xcc\xba\x1f\x64\x7d\xf6\x19\x7b\xf6\x94\x88\x59\xa6\x8e\xee\xbe\x08\xff\x88\xbe\x67\x66\x74\xe5\x16\xf0\x75\xf6\x08\xe0\xfc\x61\x03\x03\x8c\xe2\x4b\x9c\x18\xd6\x02\x7f\xa4\xf5\x28\xfa\xc7\x96\x17\xac\xcb\xfc\x3d\xcd\x3c\xb6\x76\x10\x47\xaf\x35\xa4\xb1\xf0\x3e\x89\x44\x8f\x4e\x4f\x8a\xc5\xa6\x74\xad\x5e\xaf\xb7\x27\x89\xe5\x60\x08\x9b\xa6\x97\x48\xc0\x54\x2e\x4d\x8f\xd2\x80\x46\xc0\x82\x0c\x15\x98\x2d\x15\x27\xd9\x0d\xe8\x9f\x3d\x49\x24\x87\x07\x80\xdd\xa8\x50\xc2\x57\xd8\xb4\xc8\x59\x30\x19\x1e\x56\x33\x16\x56\x22\xe5\xe0\xbd\xa2\xb7\xc0\xd8\xd7\xc5\x34\x68\x3d\x73\x46\xdd\x31\x5c\xc4\x55\x0f\x99\x09\xa4\xf0\x6c\x08\xee\xb0\x00\x3f\x7c\x94\x55\xa1\xd4\x27\x45\x1c\x58\x5e\x05\x2a\x1f\xfa\xe4\xd5\x93\x62\xc6\x07\x68\xa0\x56\x9c\x04\x0a\x19\x7c\xfb\x10\x28\xfb\xee\x53\x31\xbc\x36\xf0\x6d\x5a\xde\xf6\x79\x0e\x7c\x03\x9e\x06\x5e\xd5\x76\xf8\xe5\x27\xb9\x60\x4b\x07\x8d\x1a\xc2\x80\xda\x0b\x2c\x07\x2c\x2c\x84\x2f\x82\x5f\x3e\x83\x5f\x47\xee\x80\x5f\x81\x94\x3f\xfd\xa9\x1f\x98\x29\x65\xd1\x67\xce\x8c\xde\xd7\xc0\x08\xf2\x12\x82\xff\x8f\x31\xef\x28\xd2\xfd\x3b\x07\x03\xfa\xd6\x09\x8a\x78\xcf\xaf\xa7\xbf\x06\x4d\xcf\xaf\x8f\xfc\x7d\xfd\xf3\xec\xf9\xa7\x42\x1e\x68\xf1\x84\x2a\xf3\x98\xc6\xf5\xa7\xc0\xf4\xf6\xaa\x0d\xaf\xbd\xb6\x21\xe3\x19\xf0\x28\xc6\x30\x87\x7a\x4f\x1f\x81\xde\xac\x47\xe3\xed\x76\x4a\x4a\x3c\x7b\x63\x79\x0c\x4b\x31\x98\x71\x41\x7c\x0b\x87\xd8\x5e\x74\x81\x16\x99\x40\x4b\x39\x85\x0b\x0e\x23\xc5\xf9\xa9\x80\x88\x37\x32\x0f\xc1\xdf\xc2\xf4\x65\xfa\xb3\xa0\xe9\x7c\x03\x98\x3a\xbe\x3f\x5c\x19\x7d\x63\xfe\xf8\x60\x0b\xed\x87\x47\x17\xd1\x1a\x30\x25\x53\x09\xaf\xc0\xd0\xb2\x19\xcc\xef\x4f\x3f\xb1\xf9\xe0\x5c\x30\xf0\x3d\x43\x7d\x25\x37\xeb\x36\x98\x0a\x4f\x8f\x1e\x75\x1e\x4c\x3a\x7b\x67\xe5\x98\x05\xd1\xd3\x70\xe5\x80\x31\x60\x1d\x5d\xd6\xd1\x1b\x4c\xa5\xf5\x4b\xc7\xcd\x58\x0e\x83\xf0\x63\xa5\xbe\xa8\x72\xb8\xe9\x2c\xa8\x9d\x77\xef\x86\x27\x63\xb4\x41\x4c\xb1\xff\x20\xba\xbf\x98\x92\xeb\x04\x2f\x3f\x64\x87\x24\x07\xe8\xfc\x88\xcd\xf6\x7b\x6d\x58\xb9\x93\x89\xc7\x33\x78\xa1\x8b\x18\x19\xc1\x39\x1d\x4f\xbc\x43\x99\xfc\x26\x7e\xda\xc1\xf5\xab\xcf\x9c\xfe\x62\xcf\x9e\x2f\x4e\x9f\x09\xaf\xe2\x0e\xb6\x01\xfa\xea\x81\x03\x57\x01\x0d\xff\x7b\xed\xb9\x43\xab\x1e\x7b\xa3\x6d\xdf\xbe\xb6\x37\x1e\x5b\x35\xf3\xb6\xa7\xc6\xbc\x73\xe2\xc4\x4f\x81\x3f\xec\xb9\xf7\xd3\xa7\x8e\x2c\x5c\xf5\xfe\x92\xf7\x8f\x9d\x78\x87\x5d\xde\x21\x2e\x1d\xbb\x67\xcf\xd8\x52\xf6\xda\x9a\x59\xb3\x3a\x1e\x2a\xad\x64\xa2\x83\xb7\x6f\x1f\x1c\x61\x72\x72\x1d\x73\xe6\xa4\x33\x5b\xd9\x7b\x0e\x56\x45\x86\x79\x8b\xa6\xcf\xe6\x04\x3e\xfa\x18\x9a\x9b\xc7\x76\xda\x5b\x8c\xfb\x9f\xcb\xa1\x6f\xba\xee\x02\x58\x4d\x40\x5a\x21\xb4\xc5\x0a\xb8\x2b\x56\xfd\x78\xbd\x95\x1c\xe0\x97\x56\xfd\x34\x1c\x46\x07\x78\xe5\xd6\x61\x6e\xcb\x77\x0f\x75\x64\x3c\xf4\xdd\xea\x99\xd2\xdf\x2c\x98\x3e\x38\x0f\x64\xbf\xba\x37\xb2\x5b\xb9\xf9\xc4\x31\xfa\x13\x83\xd5\x6a\x88\x3a\x70\x42\x5a\x87\x8f\xd1\xef\xf1\x11\x3c\x8e\x8f\x70\x18\x09\xcf\x22\xe1\x7d\xe8\xf8\xd0\x43\xdf\x7d\xf7\xd0\xe2\x37\x8a\xd2\xdd\x0b\x7e\xd3\xe7\xf9\x3f\xef\x8e\xec\xad\x2a\xb1\x7f\x4c\x61\x6d\x49\xea\x46\x50\x24\xd8\xce\x08\x7e\xda\x0c\xc4\x53\x9b\x9d\xf8\x6a\xcb\xa3\x0a\x29\x1f\x55\x4a\x95\x53\x95\x54\x5f\xaa\x06\xd1\xe5\xa1\x88\x32\x8f\xa6\xc6\x23\xea\x3c\x83\x9a\x4d\xcd\xa7\x16\x51\xcb\xa8\x95\x88\x42\x6f\x44\x14\x7a\x3b\xa2\xd1\x7b\xa9\xfd\xd4\x31\xea\x22\x1a\x11\x58\xf4\xe3\x24\x47\x9f\xdd\x80\xad\xd7\x4c\x3d\x7f\x01\x13\x9f\xf8\xc3\x2e\x89\x12\x7f\x00\xe3\x82\xfd\xca\x0f\xdf\xf7\x1a\x02\xff\xe4\xae\x09\xeb\xb3\x18\xf8\x5b\xfc\x9c\x71\x0e\x8b\x80\xdf\x58\x69\xbf\xa0\x8e\xe6\xe8\xd4\xa7\x03\x22\x97\x80\xf5\x6f\x34\x79\x03\x1e\x11\x16\x5e\x8b\xa8\xc8\xb5\xa8\x98\xbb\xaf\xfd\x0c\xbd\x97\x3e\xda\x7e\x66\xa8\x33\xfe\xaf\x42\x35\x53\x95\x86\x7e\x56\x72\x6e\x56\x0d\x99\xa9\x9a\xb9\x1c\xfd\x6e\x8b\x9d\x23\x95\x0b\x81\x7e\x11\x30\x2c\x02\xfa\x85\xe4\x2f\x16\xee\x78\xc1\xb9\xe8\x81\x9e\xf1\x3f\x0e\x5e\xd4\x99\xb1\x33\xba\x65\xed\x0b\x2f\xac\x5d\xf7\xfc\xf3\xf0\xb2\xbb\x77\x75\x6f\x77\xcb\x24\x33\x93\xd6\x67\x62\x6a\xa0\xc4\x11\xa8\x1f\x12\xc8\xca\x34\xa4\xd7\xa8\x10\x37\x9e\x21\xb1\x2a\xcd\x46\x79\x6a\xc0\x67\x17\x51\xed\x3b\xe0\x13\xa0\xa1\x92\x39\x1c\x99\x0c\x3f\xe2\x32\xdf\x7e\x1b\x7e\xb8\x68\xd1\x9e\x84\xbf\xbb\xd3\xf3\xed\xca\x74\x4f\x3a\xfe\x29\xec\x9e\xf4\x74\x8f\x3d\x7f\x82\x27\xdd\x83\x7f\xe3\xf3\xd3\x3d\xec\xfb\x19\x3d\xfe\xc1\x13\x43\x16\x75\x8f\x59\x34\x24\xa3\x5b\x9e\xe8\xcf\xf1\xfc\x3a\xa1\xb4\xe0\xf6\x8c\x2c\x09\x07\x74\x86\x42\x6f\x45\xb6\xd4\x98\x9b\xe6\xc9\xe7\x81\x4c\x6f\x48\x12\x19\x4d\x65\x40\xc5\xc8\x18\x11\x2d\x35\xe5\xc5\xfd\x0b\x2c\x42\xe3\x6f\x3b\xc1\x7b\xc8\xee\xb1\x86\xbd\x95\x71\x5e\xcc\x8d\x2c\x66\x34\x26\xde\xdf\x76\xf8\x70\x1b\x03\x0f\xb7\xdd\x7f\x7f\x1b\x68\xab\xc8\xbb\x76\x29\xaf\xa2\x22\x0f\x3c\x99\x1b\xa2\x7f\x0a\xe5\x82\x27\xf3\x2a\xc0\x16\x7c\xef\x30\x4e\xd8\xb2\xe0\x30\x5b\xd2\xfe\x4a\x6e\x45\x45\x2e\x57\x8d\x8f\xbf\xf9\x0d\x3a\xc6\xf8\xd0\x4c\x44\xbf\x2e\xa3\xf3\x18\x44\xbd\xb8\x38\xdc\x11\xdf\xb5\x3f\x4f\x04\xcd\x18\x1f\x90\x15\xbc\x44\x50\x89\x10\x49\x31\xcd\x01\x9f\xb0\xc9\x11\x57\x65\x17\x1e\xf0\x73\xfb\x00\xbb\xe7\x83\x8f\x0e\x8f\x38\xb0\x62\x61\xf3\x8c\x85\xcb\xef\x1d\x76\xe0\xb7\xe7\xef\x9f\x7a\x69\x04\x67\xb3\x88\x95\x86\xde\xd3\xe0\xcf\x6b\x36\x7e\xbe\x19\xa4\x9c\x5b\x7e\xf1\xf0\xce\x8d\x9b\x8e\x8d\x99\xbe\x71\xed\x44\xeb\x0c\x8d\x3e\x4d\xf3\xc7\xfb\xcb\x66\x97\x17\x89\x55\x86\xe4\x5e\x4f\x4d\x38\x05\xd9\x52\xe6\xc5\xf7\xde\xd8\x75\xe8\xfd\xc0\xb8\xe5\x1b\x36\x2e\x1f\x17\x78\x7e\xff\xa1\x97\x6a\xcb\xd9\x54\x9d\x41\x99\xe4\x6b\x9c\xb3\xf8\xc3\x4d\x67\x81\x7a\xd4\xd6\x87\x1f\xd9\x3a\x6a\xe5\xb4\x89\x61\xa7\x55\xaf\x1d\xac\xbf\xff\xbc\x33\xd7\x69\x50\xe9\x52\xfa\xd4\x74\xbc\xe6\x4c\x55\xc5\x78\x59\xec\x7f\x1c\xdb\x12\xe4\x60\x8c\x28\xa2\xc2\x40\x7c\x52\xa6\x02\xa2\x2a\xd6\x0b\x10\x90\x11\x8c\x45\x12\xc7\xb2\x67\x63\x67\x1d\xf1\xb0\x40\xfc\x0a\xa0\x8f\x10\x27\x75\x41\x10\x60\xe2\x32\x15\x2b\x8b\x97\xe1\x2c\x76\xd0\x8b\xa5\x16\xc4\x87\x2f\x09\x44\xbf\x16\x74\xc8\x05\x55\xf2\x77\x6d\xc9\x1d\xdf\x01\x9e\x4b\x62\xee\xc5\x49\x22\x94\xd9\x65\x74\xd2\x27\xdf\x13\xc4\x26\xea\x64\x95\x8c\xe5\x01\x7b\xd2\xec\x62\xba\xe7\x82\x03\xd1\x44\xc5\x72\xa6\x15\x52\x49\x4e\x66\x05\x9f\x9a\x24\x55\x17\x60\x8c\x3e\xb3\xd2\x5b\xcd\x32\x01\x14\x54\x68\xd3\x8c\x4e\xde\xd5\x85\x6b\x8f\xeb\x2d\xe8\xe3\x0f\x13\x7a\x9b\x2a\xae\x46\x4f\x3c\xa0\x99\x80\xb1\x28\x00\xfe\xd3\x3a\x73\x94\xab\x58\xb7\x1b\xbd\x76\x37\x62\x32\x75\x80\xc2\xd0\xd8\x54\x74\xf7\x7f\x5c\x6b\xdd\x2e\xe0\xc4\x37\xe0\xc7\xbb\x74\x28\xe7\x1b\x94\x0e\xe7\x97\xfe\x3f\xaf\xbb\xe0\x47\x43\xe0\xdf\xb1\x37\x4e\x39\xb1\x35\x43\xb7\x74\x12\xc6\xee\xd6\xd9\x25\xb4\xdd\x69\x67\x08\x43\xef\x14\xb6\xcc\x89\x67\x0f\x8c\x53\x60\x2f\xba\x40\xcf\x87\x17\xc0\x55\x30\x3e\xda\xef\x8e\xf7\x60\x3b\x6c\x63\xa2\x28\xe6\xd5\xc8\xeb\xf4\xf1\xf7\xe0\x0f\xf4\x7c\x30\x06\xb6\xc1\x76\x30\x1a\x84\x95\xb4\x3a\x12\xd2\x96\x69\x23\x21\x35\xad\x04\x61\xad\x9d\x0d\xdb\x19\x2a\x3a\x83\xde\x1f\x89\x30\x2c\xf1\xb7\x11\xf9\x86\xde\x4f\x02\x20\x3c\x1d\x52\xda\x7c\x4d\x84\xd2\xeb\x59\x4a\x93\xaf\xa5\x29\x6c\xc7\x89\x2a\xc9\x7f\x8f\xe6\xa2\x1a\xea\x1e\xc4\xe9\x53\x1c\x16\xcb\xf3\x6e\x02\x45\xfd\xeb\x87\x80\x60\x1c\xfb\x4f\x0f\xce\xc4\x44\x1a\x06\x6f\x9b\x6b\xbc\xd8\xcd\xa8\x01\x43\x80\x62\x1f\x0d\x8c\xa6\x2b\xf5\xbf\x7a\x25\x30\x38\x39\x1f\x9e\x66\x78\x1d\xfa\xc8\xe1\x31\xc3\x86\x69\xfd\xda\x61\xc3\x50\xf8\x9f\x1e\x70\xa2\x5f\xbb\x3f\xac\x3d\x2f\x21\x55\xe8\x03\x8d\xde\x7a\x32\x2c\x6c\x03\x85\x4f\x5a\xf5\x9a\x0f\x74\x89\x39\xfd\xea\xeb\x40\x08\x60\x13\x1f\x88\xfa\x8b\x90\xa1\xee\x9f\xfd\x7e\xe5\xee\x6d\xf8\x6e\x43\x83\x4e\xd7\x10\x02\x4e\x50\x66\x2e\x97\x96\x81\x1c\x6c\x1c\x0e\x2f\x96\x49\xcb\xcd\xf0\x4d\xf8\xb1\x16\xdd\x6c\xf8\xd5\x4c\x58\xb3\x00\xb9\x19\x1f\x7f\x5c\xdc\x97\x4b\x1f\x6a\x29\x45\xd9\x75\xa8\x25\x75\x2a\x00\x62\x4e\x20\xd3\x63\xbe\x20\x05\x37\x8e\x12\xec\x80\x1a\x6b\x67\x31\x28\x20\x16\x0c\xa3\x3b\xc7\x1e\x13\x70\x7b\x31\xa1\x15\x88\x2d\xc6\x67\x31\x16\x11\x90\x16\x40\x80\x5c\x8d\xbc\x97\xb7\x32\x74\xa8\xa9\x09\x37\x44\xb8\x09\x50\x34\x2d\x1d\xd9\x6f\x12\x6f\xe1\x27\xf5\x1b\x29\x25\x7a\xba\x32\xf4\xc7\xc8\x39\x85\x4c\xa3\x35\x29\x32\x3c\x3a\xa9\x42\x26\x97\x29\xa4\x3a\x4f\x86\xc2\xa4\xd5\xc8\x14\x9c\x9c\x91\x91\x54\xe0\x81\x5d\xb7\x45\xf6\xdd\xb6\x4b\x92\xea\x19\xea\x1b\xf3\xa1\x91\x7e\xfd\x03\x4d\xdf\x0c\x5b\xae\x75\x4e\xef\x39\xd6\x5c\x5b\x46\x5f\xcd\x07\xaf\xf3\x29\x1f\x36\x54\x8c\xce\x56\x83\xd6\x70\x08\x9b\x48\x85\xc2\x74\x11\x4b\x8b\x75\x34\xad\x13\xd3\xac\x56\xc2\xf0\x3c\x6b\x17\x9b\xc5\x7a\x5e\xce\xb2\xc9\x8e\xf4\xe4\xe4\x74\x47\x32\xcb\xca\x79\x3d\x8a\xb4\xb3\x3c\xcf\x48\x22\x47\x6f\xbb\xf3\xce\xdb\xca\x17\xde\x31\x6f\x92\xf9\x4a\x28\x24\xd7\x67\x96\x94\x66\x07\x77\x64\x3b\x83\x41\x67\xf6\x8e\x60\x76\x69\x49\xe6\xd0\x21\x9f\xdb\xd7\x1c\xb9\x3b\xb6\x6f\x10\x45\xb4\xac\x0e\x71\xac\x2d\xd8\xda\x45\x49\x63\xab\x0a\x17\xd9\x28\x21\x22\x50\x47\x82\xe0\xdb\xd5\x69\x13\x6e\xa5\x4d\x76\x2f\x96\x84\x06\xc8\x5e\x3b\xee\xee\x31\xa1\x04\x62\xd5\x4d\x78\xaf\x09\x71\xb0\x01\xbb\xe0\x22\x9d\x88\xdb\x33\x81\xff\x26\x19\xbb\x38\x2a\xaf\x5e\xf7\xf2\x8c\xdf\x7c\xaf\x96\x0f\x19\xd2\xbf\x69\x9e\x33\xe5\x06\xd5\xb7\x53\x0c\x5e\x57\x97\xb4\xf2\x59\x62\x0e\x16\x1e\xbc\x69\x4a\x6e\x2a\x4d\x2d\x1a\xf1\xa9\xd5\xc5\xb1\xae\xa4\xa8\x5d\xdf\x6f\xa1\x2e\x65\x1a\xbe\xf9\x5f\x8b\xd6\xef\xb8\xfb\x9d\x6b\x17\x16\x3d\x65\x82\x6f\x3a\xf4\x5a\xcd\xee\xfc\xdc\x0d\xaf\xbc\xc2\x85\x81\xf8\x95\xee\x32\x77\xf0\xf7\x19\xa7\xb6\xd4\xf1\xb2\x2f\x8f\xcc\x7f\xab\xff\xec\xfa\x2f\xd7\xa5\xb8\xe3\x92\xf1\x94\xbc\x79\x88\xd4\xa5\x14\xa5\x1a\xc3\x79\x56\x93\xd5\x32\x73\xa1\x0e\xbd\xd6\xec\x3a\x51\x91\x62\xbe\x1c\xed\xd8\x39\x3f\xcd\x96\x86\x56\x74\x58\xf0\xfe\x4a\x4f\x71\x7b\xcc\xbf\x11\x17\xe6\xda\x10\x8f\x3b\x04\xcf\x84\x76\xbd\x92\xb6\x79\x68\x01\x4f\xc3\x88\x95\x6c\x94\x2c\x6f\x65\xb1\x27\x74\x02\xac\x41\x4c\x18\x19\x41\x56\x95\xa8\x71\xd2\xa9\x97\x17\x9b\x31\xb8\xf0\xca\xb3\x3f\xc3\xf6\x9f\xcf\xae\xac\x5a\xbc\xbc\xbf\x39\x97\xe5\xd2\xcc\x65\x4d\xa5\x99\x2a\xc0\x14\x4c\x5e\x77\xea\xc2\xa9\x75\x93\x0b\x18\xa0\xca\x2c\x6d\x2a\x33\xa7\x71\x6c\xae\xb9\xff\xf2\xc5\x55\x30\xec\x32\x87\x04\x13\x27\xd4\x7a\xb5\x3e\x10\xf6\xd5\x36\x11\x5f\x57\x15\xd3\xca\xd3\xd2\xca\xa7\x55\x14\x0e\xf1\x3b\xe4\x28\x2b\x94\xa1\x34\x25\xc9\xa4\x66\x65\x69\x0e\xab\x5e\x6f\xcd\x48\x93\xb3\xca\x24\x53\x8a\x14\xe5\x84\xf2\x93\x3b\xfc\x43\x98\x21\x10\x3b\x14\x0b\x0b\xfb\x11\xf8\xe7\xab\xad\x05\x8f\x08\x3e\xb1\xe8\x4e\x9f\x35\x29\x44\x7b\xca\x8e\x21\xfc\x04\x0c\x4b\xb7\x1d\x7d\xff\x14\x20\xf8\x72\xd1\x99\x8c\x00\xcd\x79\x18\x98\x56\xc4\xcb\xd0\x8c\x80\x77\x13\xec\x31\x8c\x48\xda\x14\x64\xb0\x00\x9d\x02\x85\x9c\x94\x65\xa2\x3b\xb5\xc5\xda\xe8\x0e\x4e\x0d\x16\x18\x1d\x5c\xbf\xd7\x44\xe9\x46\x43\xba\x68\x57\x89\x96\x76\xcf\x80\x77\xcf\x17\x3b\x74\x79\xb2\xb5\xbf\x13\x39\x72\xd3\xb9\xc5\x70\xf4\x0c\xd8\x16\x5c\x3b\xbf\x3e\x23\xa3\x7e\xfe\xda\x60\x1b\xa4\x29\x91\x84\x61\xa3\x8f\x68\xb5\xf4\x18\x5a\x9b\x62\x00\xc9\xd1\x69\x7a\xb3\x59\x0f\xbe\x6a\x71\x80\x13\x3b\x0f\x7e\xa2\xd1\xd3\x5c\x16\x6c\xa0\x9f\xd0\x9b\x53\x0c\xb0\xe0\xe0\xce\x2b\xd7\x72\x6a\x42\x19\x19\xa1\x9a\x9c\x6b\x98\x87\xa3\x6f\x50\x6c\x98\x8b\x10\xdb\x1a\x0a\xe8\x29\x5e\xe3\x8d\xf7\xea\x4e\x41\x5d\x27\xde\xae\xc6\x03\x68\xe2\x7d\x96\xd5\x66\xe0\xbd\x22\xf4\x63\xc3\xf0\xf2\xe5\xb6\x2e\xd0\x18\x21\xb8\xef\x6f\x6b\xe5\xb2\xad\x9f\x6f\x3c\x0e\xb2\x9f\x88\x50\x42\x8f\xc3\x7b\x3f\x4c\xeb\x27\xf0\x45\xd4\x97\x12\x92\x0a\xea\x44\xac\xfa\x09\xa0\x3d\xb8\xe9\xeb\x5d\x2a\xdd\x2e\xf8\x67\xad\xb0\x9b\x83\x9f\x4a\xdc\x07\xc5\xb6\x80\xdd\x7d\x42\x12\x6f\xc8\x74\xba\x87\x26\x1b\xc0\x26\x10\x03\xc2\xf1\x0a\x65\xa3\xd4\x5c\xab\xd9\x45\x5e\x00\xd7\xad\x1e\x7b\xf0\xe2\x9f\x2f\x1e\x1c\x8b\x4e\x4b\xde\xbd\x0f\xac\x86\x1d\x44\x58\x39\x23\x5e\x34\x78\x9d\x43\x5f\x1b\x0a\x6a\x4b\x22\xb8\xf6\xbe\x77\x97\x08\xa9\xf1\x43\xab\xc1\x6a\x92\x4d\x7b\xb8\xab\x2e\x9d\xba\x28\x2c\xa6\xcd\xe5\x82\xed\x9c\xd6\x80\x9a\xd0\xf0\x2b\x4d\xe8\x73\x51\x44\xe3\x0c\x51\x1c\xac\xb2\x63\xc5\x54\x83\x50\x12\x5e\x14\x2f\x34\x13\xdc\x79\x12\x35\xaa\x80\xd8\x40\x5e\x2b\x04\x2f\xc3\xcb\x27\x77\x1e\xab\x10\xe9\x34\x7d\x0d\xe2\xdc\xd6\xef\x5a\x73\xc5\xa9\xe5\x1a\x9d\xa8\x22\xfa\x60\x57\x25\xd8\xdf\x0d\x80\x7f\x79\x18\xb7\xf2\x86\x84\x47\x49\x70\x43\x12\xe8\xff\xc9\xc3\xc0\x30\xa0\xe9\xa4\x3a\x45\x3f\x6b\xdd\xba\x59\xfa\x14\xf5\xc9\x8e\x2b\x09\x55\x22\xfd\x81\xcc\x35\x55\xd4\x40\xbc\xe7\x1c\x53\x78\x8f\x57\x03\x83\xc7\xfd\x8b\xfa\xe1\x2e\xe2\xa7\x30\x11\x70\xe2\xf1\x1d\xaf\x14\x4b\x61\x9b\xf9\xf8\xd7\x58\x7d\xab\xfa\xed\xfd\xdb\x3a\xb9\x1a\xd8\xde\x5d\x7a\xa5\x91\xba\xb1\x49\xa9\x8d\x6e\x4e\xf8\x36\xa8\xb3\xa0\xaf\x43\xba\xcc\xa6\x1b\x87\xdf\xbe\x75\x05\x51\x27\xd2\x1c\x7c\x0f\xe4\x98\x94\x55\xfd\xa0\x56\xd9\xd1\x94\xf8\xb5\xe8\x4e\xdb\xd2\xd9\x18\x3d\xe4\x3f\xa9\x1b\xfe\x76\x01\x37\xdf\x09\x39\x6c\xe8\x26\x6d\x8f\x4f\x06\x81\x4e\xa4\x62\xbf\xad\x7b\x23\x70\xff\xba\x11\xd0\x47\x5e\x5d\x3c\x4d\x62\x96\x16\x48\x81\x64\xe6\x7c\x72\x07\x11\x21\x1b\xbe\xb9\x71\xd6\xc8\xd8\x8d\x31\xa5\x87\xc1\xae\xc3\xff\x61\x2b\xe1\x6e\xf0\xf6\x61\xdf\x7c\x29\x10\xe7\x8a\x53\xa4\x8b\x5a\x36\x91\x3e\x1f\x2f\xd7\xec\x09\xb1\x1b\x53\x4a\x56\xaf\xbe\xa9\x15\xb1\xec\x87\xc6\xfa\x4e\x5c\x94\x2a\xa1\x82\x54\x2d\xd5\x40\x76\x66\x8c\xb4\xe8\x56\xa4\xc3\xfe\x4f\x88\x08\xee\x21\x68\xd6\x34\x52\x68\x92\x74\x8b\xd4\x4c\x11\x61\x48\x5c\x64\xe2\x05\x1a\x2c\x93\xd3\x80\x22\x14\x46\xf3\x27\x61\x4b\x44\x50\xbe\xf6\x6f\xfb\x12\x28\x06\xa4\x7a\x90\x1b\x0d\x70\x9f\x3d\xf7\xd8\x63\xe7\xce\x02\x77\x64\x37\x62\x5d\x5a\x17\xcd\x38\x70\x60\xc6\x22\x32\xb3\xd2\xd7\xef\x58\xb6\xec\x0e\x3a\xf4\x22\xae\xc5\x8b\xe4\x06\xf3\xd7\x83\xf0\x87\x27\xd4\xdd\x48\xd1\xcd\x04\xe9\x1c\xc8\xd3\x19\x16\x2d\x32\xe8\xe0\x1f\xa2\xef\xac\x07\x73\xd6\xaf\x87\x7b\xe0\x2f\xa5\xc7\xbe\x68\x7b\xb8\x54\x68\x72\xc4\x90\xb3\xaa\x21\x43\x54\x30\x02\x62\xb4\xa1\xf4\xe1\xb6\x2f\x8e\x95\x62\xbe\x0d\xdc\x10\xf1\xb8\xbf\xf5\xa3\xea\xa9\x09\xd4\x9c\x5b\xf5\x39\xc4\x3e\x8b\x28\x5e\x94\xe1\xf6\x30\x01\x61\xea\x74\x76\xea\x61\x76\xef\x9c\xa6\xd8\x80\x02\xc5\x84\x51\x31\x05\x81\x53\x6f\x34\xa1\x56\xa3\x02\x78\xb7\x0b\xd1\x45\x0a\x1b\x16\x92\x4e\x6c\x05\xa2\x6e\x3d\xad\xae\xc2\x98\x06\x7f\x7a\xfe\x03\x78\xb4\xcf\x92\xf3\xbb\xeb\xc5\x92\x3b\xbf\xd8\xbc\xf4\xe3\xd1\xa4\xff\x24\xa6\xeb\x95\xfe\xdc\x2e\x12\x09\x29\xf6\x81\x8f\xd0\x5f\x24\xfc\xe9\x31\x06\x28\xdf\xf5\x7d\xb2\x19\x35\x24\xd3\x8a\x1a\x10\x45\xc0\x9f\x50\x04\xdb\x94\xd8\xd7\x26\xfe\x10\x7e\x0e\x46\xcc\xa9\x1f\x9d\x12\xcd\x38\xfa\xe9\xb2\xcd\x7f\xde\xab\x12\xc6\x60\x28\x31\xd5\xc0\x89\x92\x45\x28\x0e\x1e\xd1\xbb\x92\xdb\x1f\x26\x87\x47\x22\xa6\x54\xeb\x07\xa0\xc2\xb9\x7c\x17\xbc\x1e\xe1\x11\x17\x84\x62\x2c\x69\x1f\xc0\xd3\x28\x06\xb5\xa1\x28\xb6\xaf\x31\x10\xb5\xe1\x38\xaa\xf9\x57\xda\x10\xf5\x99\x7f\x8b\x30\x11\x77\x23\x42\x53\x92\xbe\x47\x58\xbd\x80\x4b\x8d\x7b\x5f\x67\x9f\x53\xa3\x2e\x17\xee\xd1\x84\x36\xf8\x8f\x67\x3f\x7b\x69\xc9\xd6\x9b\xc6\xec\xc1\xeb\xb7\x9b\x92\x81\xe2\xa5\xb6\x97\x76\x3d\xf1\x76\x6c\x54\x52\x61\x0c\x15\x80\xaa\xb3\x64\xda\x81\x03\xd3\x96\xbc\xc8\x94\x0a\x9d\x8f\x5c\x76\x1f\xa7\xa8\xed\x9e\x81\x91\x94\xf4\x55\x83\x55\x37\x0f\x56\xcd\x8b\x20\xfd\x81\x97\x81\x2a\x35\x7d\xd5\x24\x32\x1a\xbf\x89\x75\x43\x30\x1f\x77\xbf\xd2\x87\x41\xeb\xc3\xa5\x91\xce\xae\x07\x43\x0f\x97\x76\xd3\x1d\xea\x45\x90\xe3\x13\xe7\x4c\xbe\x53\x59\x92\xef\x3e\x7b\x06\xba\x34\x26\xff\xe9\x3c\x7a\x71\x9b\x44\xe2\x41\x44\x68\xdb\xe0\xee\xf3\xe9\xe0\x13\x42\xfc\x89\x8b\xbf\x3e\xaf\x7e\xb8\x4d\x6a\x46\x09\x25\xdb\x87\x74\x9f\x5f\x07\x9f\x10\xe2\x4f\x5c\xfc\x27\xf3\x2c\x7d\x83\x25\xf3\x6c\x29\xf1\xe7\x68\xa4\x0c\x7a\x9a\x25\xdb\xba\x5a\x7f\xc0\xd7\xf5\x91\x79\x01\xd4\x49\xa8\x46\xbc\x9e\x5d\xdd\x82\x8e\xd5\x87\x0e\x5f\x06\xee\x27\xe0\x87\xc7\x37\x7e\xbe\x55\x86\x29\x0b\xd9\xfc\x3c\x32\x4e\x28\xc4\x3b\x68\x2d\xf8\x8e\x50\x9f\x71\xc2\x8d\xeb\x5d\xb5\x61\x56\x25\xc1\x17\x3f\x79\x18\xfe\x79\x97\x4e\xb5\xeb\xeb\x4d\x07\x81\xf6\x09\xb5\xf0\xd9\x8e\x8d\x13\x9e\x79\x5b\xa7\x7b\x5b\xc8\x68\xdc\x31\x72\xa3\x23\xdc\x7d\x1e\x42\x2b\x3a\x3e\xcc\xae\x8e\xd7\x85\xa0\xa0\x0b\xa5\x4e\x20\x97\x22\x0a\xeb\xf1\x09\xdc\x96\xd1\xe4\xf5\xc5\x37\x41\xed\x71\x30\xaa\xf8\xb7\xe1\xe7\xea\x74\xf0\x23\x49\x8a\x24\x4f\x2a\x7d\x11\x7e\x14\xa3\xf1\xff\xa4\x8c\xc0\xf5\xa2\x54\x9a\x87\x12\x77\x84\xba\xaa\x44\xcf\x45\x15\x86\x1f\x09\x37\x5e\x14\xa8\x20\x9a\x87\x9e\x00\xd9\x9d\xed\x23\x44\xbe\x28\xbc\x25\xf2\xfd\x4d\xf3\x2a\xf9\x36\x58\x3e\x24\xf0\x90\x9d\x40\x70\x14\x5e\x11\x20\x96\xb7\x93\x0d\xc0\xec\x22\x29\x09\x7a\x41\xec\xe3\x47\xf9\x84\xd6\x25\x0c\x62\xf4\x3e\xa2\x13\x3e\x15\xcf\x54\xb1\x5e\x12\x7d\xb7\xc7\x3b\x11\x81\x0d\xb3\x18\x4f\x18\x83\xb7\xc7\x98\x51\xaa\xb3\x3b\x63\x2d\x2f\x0a\x5e\xef\xe4\x23\x37\x77\xf5\x56\x74\x02\x09\x73\x26\xed\xeb\x8a\x47\x27\x2a\x01\x87\x2d\x23\xc1\xd7\xa6\xc6\x1b\xc0\x8a\xaf\xde\x00\x51\x25\xc4\x00\xc3\x5e\x4d\x27\x70\xdc\x63\x8e\xa2\x22\x07\xbc\xed\x2d\xeb\x57\xf9\xd5\x2b\x2a\x16\x6d\x39\x7a\xe6\x4c\xd4\x8e\xe3\xb8\x70\x91\xa3\xfd\xb8\xa3\x88\x1e\xf6\xed\x9e\x92\x12\xf0\x7b\xc9\x91\x5d\x8f\x7d\x1b\x7d\x1c\xdd\x18\xe9\x28\xa2\x62\xef\xe2\x30\x7d\xab\xc3\x3b\x61\x78\x5d\xc0\x1a\x89\xd3\xd1\x74\x97\x5b\x29\xc2\xc6\x51\xe8\xa5\xda\x40\x97\xd8\x5d\xd0\x05\x67\x89\xd0\x94\x00\x9b\x0b\xbb\xb6\x1e\xa6\x76\xc3\x89\x37\x67\x1c\x06\xea\xe3\xae\x86\xa5\x27\x66\x54\x6f\x4a\x95\x66\xc8\xac\xc6\xec\x22\xa7\x52\xa2\xca\x19\xc3\xdb\x9a\xeb\xcb\xab\x1b\xc7\x84\x02\x13\x2a\x0a\x53\x14\x1f\x3f\x75\x06\xfe\x3d\x39\x35\xd9\x6a\xa4\x55\xde\x21\x39\x46\xe6\xb1\x39\xa7\xee\x6a\x2e\xde\x08\x8f\x34\xbd\x70\x7c\xed\xa0\x50\x89\x7b\x77\xce\x94\x9c\x86\x9a\x22\x4e\x7a\x28\x6d\xdc\x57\x60\x8c\xb5\xb2\x79\xd8\xae\xa1\xc1\xaa\xf6\x60\xc5\xb0\xa2\x91\xcd\x4b\x66\xe6\x3f\x7e\x1a\x46\xdf\xca\x6d\x28\xc8\x91\x58\xc6\x30\xaa\x86\xd9\x73\xe3\x72\xe9\x15\xa8\xed\x36\xa1\xf5\x44\x10\x23\x96\x50\x02\x32\x09\xd1\x3d\x27\xeb\xec\x80\xe0\x8e\xcc\x48\xb4\x11\x01\xa9\x10\xc1\x19\x42\x11\x4c\x22\xce\x2d\x1f\x30\x6a\xe3\x30\x64\x18\xef\x4e\x47\x94\x8f\x98\xf7\xcc\x8f\x72\xb4\x46\x3d\x2f\xbf\x74\xe3\xe4\x1d\x75\x03\x00\xd3\x3f\xc9\x22\x4a\xe2\x75\x2a\xb1\xb8\xa8\x2f\x97\x5e\x5d\x32\x51\x2e\x55\xb5\xac\xb9\xfa\xc8\xd4\xa9\x8f\x5c\x85\xe8\xb4\x7c\xc8\x4f\x87\x11\x59\x07\xa6\x77\x96\x2f\x7f\x07\x5e\xdd\xff\xdb\xe3\x70\xe2\x96\x39\xcb\xdf\xa1\x8b\x1a\x25\x9c\xd4\x9e\xe3\xf6\x05\xf3\x76\xb5\xcc\x1e\x25\x1e\xdb\xc7\xc8\x28\x0c\xfa\x2d\xbc\xa1\x46\xca\x8b\x6b\x42\xbe\x02\x1e\x0e\x89\x65\x82\x4e\x6b\xde\x3d\x76\x75\x50\x33\x37\x1d\x67\x02\xcf\xc1\xab\xef\x2c\x9f\xb0\x09\xec\x7d\xfa\x0f\xfb\x51\xce\xc4\xaf\x4b\x0c\x7f\x4c\xc0\x0b\xd2\x11\x19\xb1\x1b\xb5\x02\x5a\xb1\x04\xec\x3e\xbb\x06\xfd\x3a\x4d\x95\x12\xc2\xda\x4e\x9c\x11\xe2\x8f\x86\xfc\xb0\x8a\x2f\x85\x7f\x22\x5b\x49\x7d\x49\x49\x7d\x7b\x52\xc2\x85\xf0\x77\xef\x75\x0a\xeb\x52\xe3\x5f\x98\x80\xd2\xdc\x4b\x6e\xb0\xb6\x78\x88\x16\x52\x46\x6d\x58\x60\x48\x53\x5d\xc7\xce\x7d\x47\x82\xc5\x9d\x83\x2d\x67\x28\x9b\x4b\x8d\x71\x05\x41\x8c\x85\x4d\xd0\x22\x89\xcf\x03\xf6\xb8\xf6\x08\x71\x70\x6e\x88\x0b\x93\x38\x6f\x7c\x05\x83\x35\x52\xb1\x67\xbc\x89\xf0\xf5\xcf\x31\x3a\x3f\x1d\x02\x4d\x0a\x9d\x4e\x01\x8f\xe8\x14\xad\x0a\x1d\x3c\x82\x2f\x40\x13\xb9\x88\xda\xea\x8a\x01\x55\x3d\x03\x8b\x86\x78\x83\xcd\xdf\x6f\x5a\xb9\x4e\x3f\xe4\x9e\xa7\xef\x19\xa2\xd7\x6d\x18\xf1\x59\x71\x1d\x1d\x8e\x01\xfc\xc3\xfb\x6f\x7e\x5a\xc8\x37\xda\x5a\x5c\xf7\x43\xd1\x9d\xb7\xf9\xa6\x2d\x99\x3a\xb1\x4f\xa6\xa6\x1c\xfd\xd3\x34\xd5\x15\xc7\x75\xa2\xf9\x7f\x90\xfa\x79\xa9\x91\x09\xf5\xc3\x3d\x51\x05\x04\xb4\x0c\x01\x0b\xd0\x57\x5c\x41\x86\x18\x46\x5b\x25\x32\x1d\x7c\xc4\xfd\x95\xe3\x09\xdc\x42\x62\x45\x8d\x36\x52\x4d\xc2\x7c\x75\xd5\xf3\xd9\xeb\x12\xc9\x16\x89\x42\x29\xb9\x7e\x5d\xa2\x54\xa0\x20\x0e\xf4\x88\x89\x1a\x9e\x75\x3a\x87\x19\x4c\xdd\x2a\x7c\x00\x0c\x3c\xa0\xd7\x59\x52\x2d\x66\x67\x67\x7d\xa3\x9f\xfd\xf3\x4c\xba\x62\x9e\x75\xfa\x7d\xce\x61\x4c\x57\xe5\x57\xac\xd0\x88\x52\x3c\x76\xbf\x33\x41\x2f\x56\x4b\x99\x09\xfd\x22\xac\x92\xa0\xa7\x1f\xfb\x84\xf1\xae\x67\xef\xd4\xa4\x01\x94\x08\xcd\xef\x37\xa8\x76\x44\xc8\x89\x10\x88\x0e\xed\xbb\xb0\x6f\xdf\x05\x6e\xe4\xe7\xf7\x47\x43\xe8\x12\x23\xa1\x85\x00\x26\xf3\x04\xeb\x0c\x1a\xf1\xdd\x7d\xa1\xfb\x3f\x47\xe1\x70\x17\x96\x2e\xa6\x63\x46\xa2\xe5\xc2\x78\x0d\x76\xde\x6e\xb0\x4b\x70\x5f\x77\xdb\x7d\x5e\x86\xa8\xbc\xe8\xd0\xac\xd6\xda\x0a\x7f\x08\x80\x1a\x38\x0d\x1e\x44\xff\xa7\x81\x9a\x00\xfc\xa1\xb5\x15\x50\xa0\x0f\x58\x01\xfa\x40\x6a\xce\x25\x11\x05\x43\xad\xe1\xd6\x48\x2b\x83\x4f\xa0\x35\x8a\xaa\x85\xa6\xab\x38\x7d\x11\xde\x83\xe7\x1a\x07\xa6\xcf\x2c\xa6\xcf\x88\xa7\x21\x9f\xaa\x42\x70\xab\x9d\xe1\xd5\xc6\x3d\x8b\xa2\x7a\xb3\x98\xef\xef\x78\xe6\xa2\x5a\x6d\xec\x68\x33\xaa\xd5\x17\x9f\xe9\x40\x7c\xd9\x8f\xc4\x89\x13\xca\x19\xd1\xfa\x97\x37\x46\xc2\xeb\x5e\xe0\xde\x51\x65\x66\xaa\xde\xe1\x5e\x58\xc7\x84\x37\xbe\xdc\xde\x4a\x7c\x36\x81\xf3\x18\xde\xa9\x13\x6f\x2e\xe1\xdd\x39\x82\x34\xe2\xd6\xef\xa7\x13\xde\x4f\xfd\xcb\xb2\x7c\x21\xf8\x2c\x0d\x45\xdb\x18\x28\xb8\x34\x0d\x61\x2b\x94\x5b\x16\x4b\x70\xf5\x0a\x5e\xc7\xc5\x8a\x26\x5e\xc4\xf7\x6a\xee\x44\x74\x68\x29\xf1\xbf\x62\x21\x98\x37\x1a\x32\x41\xc4\xdc\x79\x63\x21\x89\xd1\x24\xa1\xb1\x0f\x79\xb7\x13\xcf\xd5\x12\x20\x44\xd2\x23\x92\x93\x34\x6a\x98\x6f\x48\xd5\xeb\x94\x56\x70\x83\x09\xd1\xc6\xe8\x9f\xd9\xd9\x96\x02\x13\xec\x4f\x27\x47\x6f\xe4\xc2\x15\xa0\x5a\xe3\x50\xca\xe9\x54\x96\x1d\xdb\x31\x3b\xd9\x21\xbe\x2a\xcd\x37\xb1\x8b\xf5\x16\xd5\x0d\x8a\x99\x11\x39\x0c\xa4\x74\xbf\x8e\x2f\x92\xd3\x14\x57\x98\xaf\x98\xc8\xa9\xfe\xf4\x0a\x5a\x65\x11\xc1\x9f\xe8\x6e\xf8\xea\xaa\x9e\xf8\xea\x76\x4d\x4f\x4c\xf5\x76\xaa\x07\x92\x3a\x7b\x5c\xd0\x7e\x4b\xa2\x86\xdf\x10\x89\x1f\xe4\x6e\xc4\xec\x94\xf3\xa9\x6a\x6a\x10\x15\x01\x22\xa0\x05\x29\xc0\x89\xe8\x7c\x6f\xd0\x1f\x0c\x05\x13\xc0\x1c\xb0\x0c\xfc\x17\x78\x1d\x5c\x06\x57\x01\xa4\x15\xe8\xf3\x61\xa4\x34\x17\xc1\x49\x33\x72\x58\xda\x8d\x3d\x31\xbb\x5d\xa2\x00\x09\x13\xa7\x66\x22\x21\x0d\x56\x40\xf0\x1b\x81\x37\x9d\x8f\x81\xeb\xb8\x63\xdb\x99\xc5\x2e\xb4\xd4\xe2\x83\xb4\x15\x00\x23\xe2\x9d\x8d\x42\x8e\xac\x93\x38\xa9\xc6\xd8\xed\x78\x71\x11\x3b\x16\x0b\xeb\x5b\x93\x2f\x36\xed\xe1\xbd\x50\xc4\xc6\xe1\xa9\x2e\x08\xb0\xf8\xc7\x5d\x1c\xf0\xc4\x9e\x43\xab\x3e\xbd\x95\x31\x61\x80\x25\x17\x4f\x30\x96\x3c\xac\x3b\x03\xc3\x2c\x05\xbc\x41\x06\x5b\x77\x99\x04\x91\x2a\xe0\x0d\x58\x0b\x15\x95\x18\x27\xf2\x06\x81\x95\xdc\x21\x28\xa8\x0e\x3d\xef\x17\xde\x69\xc0\xa8\x7d\xa8\x80\x26\x3f\xd0\xe3\x23\xae\x19\x5e\x24\x09\x5e\x14\xd1\x32\x29\xdd\x6d\x34\x15\xa1\xda\x73\x44\xd1\xc2\x45\x7c\x67\x99\x50\xc3\x14\x62\xbb\x32\x00\x03\x40\xfc\xbf\xfc\x44\x00\x71\x1e\x3e\x91\x89\xb4\x93\x15\xcb\x6e\x03\x2e\x2a\xe6\x3f\xc1\x57\xcc\xb8\x78\x9f\xc8\x28\xc4\xbb\x38\xf4\x73\xfb\x44\x0e\xc1\x8d\x89\x53\x44\x3c\x5c\xa3\xf4\x22\x1e\x15\x80\x35\xf9\x33\x50\x73\x14\x07\x41\x39\x30\x90\x37\x13\xcc\x40\xb7\x52\xec\x10\xb9\x95\x0c\x46\xc3\x71\x0b\x31\x78\xc1\x6f\x64\xfc\x18\x59\xd0\xa5\x04\x26\xe1\xf3\x10\x85\x5d\xfc\x14\x62\x12\x8c\x04\x6e\xca\x81\xca\x64\x62\x89\x8b\x7a\x11\x79\xc6\x61\x28\x72\xe2\x6a\xf1\x7e\x9f\x00\x97\x87\x7d\x40\xa2\xac\x38\xbf\x80\x0d\xab\x17\x8a\x09\x3e\x15\xbb\xb4\xc9\x3e\x1a\x34\xa4\xa0\x4a\x15\xf3\x2e\x5d\xb2\x0f\xd0\xc3\x52\x8c\xc6\x52\xc5\xa8\xf4\xbc\x81\x9b\x0b\x32\xf3\xdb\x17\x2a\x46\x0a\x41\x0f\xfd\x36\xc8\x72\xa4\xa4\xfb\x5d\xc5\x16\xae\x65\x48\x7d\x4b\x4b\xdb\x94\xbf\xad\x4a\x99\x7f\xfb\xd2\xa1\xf4\x4f\x62\x1d\x0f\xc6\x86\xfd\x05\x8d\xc6\xe8\xd0\xe8\xef\x4c\xa3\x0a\x47\xbe\x0c\x68\x4e\x27\x16\x25\x2b\x53\x78\x89\xcc\x92\x6a\x55\x98\x2c\x0e\xb3\x56\x2f\xe3\x7d\x8d\x32\x89\x44\x35\x98\x4e\x77\x59\x38\x85\x47\xc9\xd0\xd2\x2c\xa9\x4a\x65\xaa\x06\xc1\x05\x16\x9b\x41\xac\x1e\x68\x2a\x63\x18\x9a\xe5\xb9\x94\xc2\x82\xa2\xcc\x15\xf9\xe5\xd3\x77\xde\xa1\xcf\x2e\xb6\x07\xe5\xf4\x30\xe0\x9b\xdc\x7b\x44\x06\xe0\x78\x96\xa6\x01\x53\x66\xaa\xd1\xa2\x89\xc3\x32\xbf\x77\xff\x24\xa5\x46\x96\x2d\x01\xac\x3a\x57\xc1\x59\x5c\xe9\xf4\x10\xa5\x44\x2c\x6f\xf4\x49\x79\xa0\xd7\x9a\x1d\x16\x93\xd2\x6e\x4e\x91\x49\xc5\x16\x85\x09\xfe\x2c\x69\xb0\xb2\x29\x16\xbd\x6d\xb0\x23\x59\xd1\xc7\xaa\xe0\x98\x12\xaf\x6a\xa0\x55\x99\x2d\x33\x18\xd5\xd6\xeb\xaf\x59\x1b\x24\x76\x9d\x25\x25\x33\xb5\x5a\x91\xec\x70\xaa\xbc\x01\x56\xf2\x92\xb2\x97\x2e\x23\xcf\x63\x4e\x66\x2e\x8b\x35\x0c\xa3\xd0\x64\xe6\x82\x24\xd8\xf6\xed\x43\x0f\x7d\xfb\x90\x7f\xe6\x2c\xc0\x4b\x53\xd7\xa6\x49\x58\x0e\xfe\x24\x66\x58\xfa\x02\xcd\x8a\x44\xb2\xf4\x4d\xf0\x5e\x75\x56\xa9\x4a\xcb\x30\x52\xae\xef\xeb\x8c\x73\x03\x30\x3d\x74\x02\x18\x0e\xda\x19\x40\x6b\xaa\x54\xe6\x12\x6f\x1a\xc7\xf2\x52\x5a\x24\xe1\xe5\x62\xb5\x58\xc7\xce\x2a\x65\xe5\x56\xb5\x45\xc4\xfc\x57\x12\xed\xcf\xcf\x95\x8b\x35\x92\xb2\x54\x30\x94\xd1\x54\xbb\xb3\x6e\x6b\xe4\x1c\xeb\xfc\xde\x91\x0a\x13\xfb\xdb\x37\x26\x1f\x9b\x24\x32\xd1\x69\x12\x79\xae\x54\x07\x68\x46\x37\x82\xd6\xd3\xd3\xe0\x13\x75\xf5\x62\x71\x65\xe8\xfc\x79\x00\xd8\x23\x6c\x92\x52\x07\x18\x95\x2a\x5b\x29\x49\xa3\xd5\xf2\xf7\xfe\xeb\x4d\xba\x89\x6b\x5c\x9e\xed\xea\xab\x61\xa4\x23\xbd\xfe\x75\x5b\xd5\x4e\x5e\x92\xac\x33\x56\x71\xac\xd7\x90\x10\x6e\x4c\xa9\x94\x28\x1c\x76\xcf\x5c\x8e\x1b\x91\x9e\x10\x66\xab\x54\xe2\xbc\x14\x47\x51\x8e\x49\x37\x70\xe6\xcc\x3d\x33\x3f\x9a\x9b\xd7\xa7\x77\x8d\x28\x73\x6e\xfb\x15\x59\x9a\x49\x53\xb2\xa0\x1f\x4d\xe7\x67\x27\x27\x67\x15\xd0\xcc\xc1\x61\x46\x6d\x9a\x4c\x2a\x31\xa6\xa6\x4a\xa4\x4a\xbd\x32\x55\x2c\xb7\xa0\x4f\xa6\xaa\xa1\xa5\x7d\x7d\xae\x9c\xa0\x5d\xe3\x94\x26\x6b\x39\x2d\xc3\x02\x0e\xc8\x44\x99\x8c\x88\xa5\xed\x69\x19\x2d\x25\xab\x7d\x6a\x53\x2a\x30\xab\x93\x94\x8c\x92\xf6\x58\x58\xad\xa7\xcc\x57\xa3\x10\xab\x14\x62\x25\xb3\x1a\xfe\x63\xf8\x9d\x52\x1d\xa3\x4c\x52\x29\x95\x96\x24\x4d\xf1\xea\xd2\x16\x87\xcd\x4e\x4b\xe9\x2c\x4e\x8e\xf2\xe1\x18\x94\x63\x92\xd8\xa5\xb1\x55\x64\x66\xf9\xfa\x49\xe8\xc2\x24\x15\xea\x44\x16\xb9\xc4\xa2\xd6\x2a\x24\x52\x8b\xd5\x20\x66\x9e\x4c\x4d\xb6\x4d\x75\xae\x4c\xd5\xb1\x4b\xb3\x37\x96\x29\x6c\x4a\x65\x68\x9a\x5a\x25\x05\x8b\x56\x31\xd5\x9b\x0a\xa7\xda\x92\x53\xb5\xac\x2e\x75\xe5\xd6\x34\x65\xd9\xc6\x6c\x91\x4a\x3d\xb5\x52\x53\xb9\x6a\x3e\x8b\xda\x72\xf4\x6c\xc6\xed\xda\xae\xd3\xf2\x62\xfd\xfa\xde\x34\xbd\xfe\xd8\xe2\x25\xc7\x8e\x2d\x59\x0c\x5d\xa8\x23\xa6\x2c\x45\x83\x4a\xc6\x0c\xe8\xf3\x12\xdb\xd8\x88\x9a\x5d\x3f\xbc\x81\x53\xd1\x67\x7a\x2d\x4b\x16\x8b\xb4\xea\x3d\xa9\xf4\x3a\x93\x62\xfb\x9b\x81\xc2\xd7\xf7\x2b\x0c\x34\x83\x41\x7c\x68\x1e\x8c\xc9\x46\x43\x52\xac\x28\xe4\xc4\x22\x0e\xbb\xb6\x04\x12\xbd\x46\x27\x63\x68\xa0\x29\xad\x90\x88\x3d\x0a\x45\x6a\x06\x6a\x96\xe8\x06\xa5\xba\xff\x52\x99\xdc\x37\xdb\xef\xab\xa7\xe9\xde\x57\x2a\x4a\x16\x94\x17\x6f\x99\xc4\x4a\x80\x88\xd6\xea\x4c\x32\x85\x6c\x58\x9f\xf4\xb3\x06\xc3\xee\x42\x87\x91\x61\x0c\x96\xde\x61\x90\xef\xaf\x72\xd9\xc1\xa0\x3a\xd4\x7f\x92\xf4\x5a\x96\x63\xc5\xaf\x4d\xe8\xb5\xcd\x3f\xdb\x27\x97\x2d\xeb\xa7\x56\x16\xa2\xe2\xd7\x0b\x3c\x43\x1f\x09\xe0\x5e\x25\x9c\x79\x2f\xe2\xcf\xbb\x9b\x96\x02\xb0\xa2\x76\xf5\x16\x59\x59\x4c\x92\xf8\x20\xe7\x41\xa7\x0c\x0f\xcf\xfd\xbd\x69\xcb\xa4\x49\x5b\xa2\x8b\x26\x6d\x69\x6a\xda\x12\x1d\x53\x3a\x7b\xf3\x1d\xbf\x3d\x0b\xdc\xa0\xf4\xd2\xd6\x3f\xdc\x33\x29\x8f\xc9\xee\x3f\x67\xd5\xa0\x17\xa7\xa5\x4e\x1c\xdf\xd4\xcf\x25\x1f\x72\x00\x9e\x7c\x04\x5e\xb9\xf2\xea\xba\x45\xd5\xd5\xf6\xfc\x1c\xfc\xd0\x24\xf2\xe8\x24\xae\xb0\xf7\xe8\x5a\x6f\xa6\x49\xc9\x49\x4d\xb6\xfc\x92\x01\x43\xa7\xcd\xa9\x3c\x34\xc6\xbb\x78\xe2\xf4\xa1\xf5\xbd\xbd\x69\x6a\x86\x56\x5b\x8b\xbd\x03\x7b\x0d\x0f\x0c\x8d\xeb\x1c\xc4\xfc\x72\xa5\x11\x54\xd0\x5a\x6a\x06\xf6\xe6\x42\x75\xf7\x54\x84\x11\x1d\xbb\xc1\x34\xeb\x8a\x10\x2b\x82\xf8\x76\x34\xcf\x7b\x59\xb2\x58\xe4\x3b\xc5\x09\x58\xf9\x86\xb6\xb1\xda\xb8\xcd\xb3\xce\x20\xe8\xdc\x09\x20\xd7\x88\xeb\x8f\x5f\xb9\x6c\xa2\x9e\x58\x88\x6c\x16\x7c\x02\xbe\xf7\xd9\x86\x0d\x9f\x81\x62\xd0\x00\x8a\x71\x28\x3a\xf7\x66\xa4\xe7\x85\x6a\xb5\x4d\xad\x06\x2b\x67\xd5\x3a\x52\xc9\x12\x3f\xd5\x31\x54\xb0\x6c\x8e\x9b\x4a\x7f\x40\xa2\xd7\xbf\xb4\x9e\x9c\xcf\xc1\x2b\xe7\x98\x26\x97\x39\x12\x8e\x03\xaa\x73\xad\x1b\x3e\x83\xef\xf5\x78\xdb\xef\x6e\x81\x0b\x1d\x1d\xac\x86\xf8\x5d\x6d\xea\x50\xad\xcf\x51\xa6\x59\x88\xe5\x05\x0b\x35\x65\x0e\x1f\x53\xdb\xc3\x30\x1b\xfe\x20\x88\xd3\xc6\xaf\x5f\x3f\x5e\x08\xed\x3a\x77\x2e\x72\x17\x4d\x50\x11\x09\x54\x6f\xdc\x9e\x4c\x22\xe0\xca\x9b\x08\x5f\x87\xd7\x62\x5e\x8d\xa3\x47\x53\xf8\x08\x37\x65\xe8\xa9\x5a\x55\x64\xe4\xc3\xd7\xc3\x3c\x5a\x8b\x69\x95\xd7\x88\x12\x3c\x4f\x6c\xe4\x6b\x7d\x13\xaa\xae\xb5\x56\x4d\x98\x50\xc5\x87\xaa\x26\xf8\x6a\x59\x0a\xf3\xb2\xd1\x56\x10\x16\x04\xfa\x11\xc1\xf6\xfd\x08\x0c\xfb\x6a\x8f\xe0\x64\x0c\x49\x7c\xa4\x96\xea\x51\xa6\x94\xce\x32\xc5\xe4\x11\x3d\x8a\x60\x48\x06\x37\x15\x15\xb1\xf5\x1c\x45\x13\xfb\xa0\xc4\x52\xf4\x28\x22\x2a\x0e\x45\xb7\xd6\xfa\x7a\x14\x21\xda\xd4\xbd\x8c\xc0\xf6\x7f\x51\x1e\x06\x2d\x6d\xff\x7f\x2a\x0f\x8d\x38\xd2\xff\xb3\xf2\xd0\x9d\xe5\x31\xa1\x51\x4b\xfd\x4f\x4a\x22\xfe\xf5\x52\x30\xff\xd6\xfb\xb1\x2c\x89\x63\x57\x22\xba\x61\x21\x28\x9e\xe8\xb5\xba\xb8\xab\x4c\xe2\xd1\xc4\x15\xf3\xfc\x6e\x62\xe7\x12\xf7\x1f\xeb\xde\x96\xea\x93\x4e\x26\x17\xc8\x4e\xc1\x33\x3a\xb3\x5c\x9e\x99\x29\x97\xa7\x68\xc1\xf7\x56\x77\x26\xcc\x40\xd1\xb5\xe8\x36\xf8\x1d\xba\xc7\x69\xb2\xb9\xb6\x6c\x0d\xa7\x13\xf0\xab\x19\x2c\xeb\xc3\x3e\x0a\x6c\x06\x8c\x58\xa5\xd1\xdb\xd1\xd1\xe6\x16\xd9\x1d\x3e\xaf\xcd\xa7\x41\x47\x4d\x31\x09\x9b\xfc\xe8\x0e\x13\x82\xad\xe1\x30\x08\x85\x42\xf0\xc7\x96\x16\xf8\x63\x28\x04\x42\xe1\x30\x6c\x45\x67\x75\x4b\x0b\x50\x87\xb8\x70\x1b\x6c\x0a\x47\xdb\xda\xc2\xbb\x76\x85\xdb\x68\x5b\x18\x1c\x21\x41\xa1\x39\xe3\x76\x0d\x71\x6f\x0f\x39\x04\xf5\xa2\x17\x91\x9c\x62\x5c\x18\xa2\x88\xa4\xc1\x23\x15\x9d\x7d\x76\xce\x40\x9c\x30\xfb\x34\x3e\x87\xc1\x89\x0a\x42\x34\x5a\x51\x29\x89\x3f\xdd\x98\xc1\x3a\x3e\x13\xfb\x75\x83\x18\x8d\x58\x18\xee\xa0\x20\x76\x6e\x1b\xe6\x28\x80\xb1\x7a\xb1\x48\x45\x84\x7e\x1d\xc2\x19\xa2\xd8\x08\x4a\xc5\x84\xb1\x73\xd4\x28\xea\xc1\x37\x50\x7a\xec\x0b\x58\x78\x8a\xa5\x40\xdc\x3f\x6e\x3b\x16\xfa\xa3\x08\xc1\xe7\x03\x0e\x45\x29\xd2\x83\xc2\x34\xee\x45\xf8\x01\x4a\xc0\xce\x41\x15\x43\x75\x4a\xeb\x94\x11\x79\x63\x3e\x2c\x46\x75\xaf\x55\xf7\xba\x69\x1c\xf1\x1a\x82\xc4\x5a\x3a\x0c\x5e\xa7\xbd\xab\xaa\xd8\x7b\xb0\x1d\xfd\x50\x3f\xf3\xd9\x63\x59\xa1\xd5\xb8\x4f\x42\xea\x8a\x6b\x82\xfe\x84\xa2\x33\x58\x74\x84\x35\x9e\x50\xad\xa3\x54\xb8\x1d\x45\x72\xe8\xd7\x81\x6e\xa0\x2a\x08\x7e\x29\x70\x44\xfc\x11\x86\xc0\x18\x0b\xcf\xe2\x1f\x4d\xce\x30\xe6\x1c\x98\x1c\x3b\x62\x4d\x41\x93\xed\x8f\xa8\x70\x07\xb5\x5b\xec\x9d\xb8\x01\xba\xd6\x82\x1a\x8c\xef\x09\x34\x89\xa3\x03\x5d\x88\x4c\x76\xdc\x6b\x79\x96\x8a\x34\x61\x00\x14\x2e\x94\x59\x42\x5c\x14\x83\xdb\x55\x45\x2f\x14\x35\x00\x1b\x6c\x12\x62\x4b\x32\x23\x4d\x25\x03\x1a\x50\xa4\x8a\x4a\xb4\xb5\x11\x11\xbf\xca\x14\x76\x02\x57\x01\xfc\xce\xb8\xf4\x03\xd3\x6e\xec\x70\xb1\x9b\xa5\xd0\xf2\x6b\xa9\xf2\x17\xe5\xf0\x27\x60\xeb\x40\x1d\xbb\x04\x9c\xc9\xb4\xbc\x60\x69\xca\x8c\x50\xf1\x57\x03\xea\x9a\x14\xa5\x38\xc4\xa0\x0e\x01\x6c\x99\x25\xcc\x11\x74\xaf\x09\x25\xca\x8c\x15\x02\xf7\x53\x51\x02\x7e\x56\x12\xfa\xa6\x95\xd4\x70\x6a\x2a\xb1\xba\xec\x04\x24\xf4\x77\x86\x8d\x5e\x23\x47\x9c\xa5\xa0\x31\x69\xc0\xe0\x10\x36\xa7\x0f\xe3\x7d\x17\x93\xf5\x22\x76\x77\xe5\x22\x96\xcc\x01\x62\xba\xe6\x13\x3c\x6e\x63\x3f\xa4\x1a\xfb\xcd\xa6\x4e\xfc\xfd\x69\x26\xb1\x74\xff\x7e\xa9\xd8\xa4\xb0\x9a\x18\xf9\xd6\xad\x8c\x0c\x98\x3a\x66\x7e\x59\xd7\x67\xce\x6d\xbe\x2d\x59\xd9\x60\x00\xfd\xce\x94\x69\x73\x56\xac\x98\x33\x6d\x4a\x41\xb3\xc5\xb2\xe6\xf9\xc9\xb9\xb9\x93\x9f\x5f\x33\x8d\xa9\x19\x59\x55\x1a\x6a\xa8\x42\xec\x24\x2c\x05\x7f\x19\x38\xb1\x3b\x44\x51\x71\xb1\x93\xa3\xb7\xd1\xdc\x93\x45\xe9\x2c\x58\x0b\xd8\x36\x50\x0c\xdf\x2b\xab\xe9\xd5\xa2\x52\x03\x60\x5f\x50\xcc\x8b\x27\xbf\x34\x59\xcc\x7b\x5b\xe4\x2a\x9a\x16\x65\xd6\x37\x2d\x6e\xaa\xcf\x14\xb1\x77\xf9\xfb\x72\x8c\xb8\x8f\x27\x50\xc5\xa0\x75\x77\x0d\xe3\xef\x86\x3f\xc4\x75\xb6\x13\xc6\x3a\x30\x53\x1e\x2a\x88\x7b\x80\x12\xf1\x1f\x19\xa8\x92\x1a\x3f\x45\x3c\x9f\x79\x88\xeb\x4e\x1b\x0b\x88\x21\x37\xb1\x50\xd5\xb2\xa8\xb6\x41\xfa\x26\xab\xa9\x31\xb3\x36\x6c\xa0\x27\x6f\x98\x35\x0b\x8c\x3d\x04\x7f\xba\x7f\xd9\xe5\x43\xe3\x0f\xa1\x6f\x1c\x04\x4a\xda\x32\xff\x85\xbf\xad\x87\x7f\x78\x0a\x5e\x7e\xf2\x09\x90\xfd\x04\xc8\x5b\xfb\xf3\x0b\xf3\x41\x63\x62\x2d\x81\x9b\x7e\x36\xeb\xd5\x3f\xbf\x8a\xfe\xb2\xa2\x03\xb3\xc0\xfb\xf0\x75\xf8\x13\xca\xe1\xf2\xb2\xfb\x81\xf2\xd0\x21\x58\xb7\xf5\xe7\x87\x9a\x1e\x80\x1f\xbe\xf4\x18\xfc\xf8\xf8\xb4\x47\xbf\x63\x44\xdd\x71\xb0\x98\x6e\xbc\x1a\xe2\x2d\xb9\x1e\xb4\xfd\x26\xfc\x68\x83\xa3\xcb\x80\xcd\x48\x70\xfb\xba\xb0\xa9\xc2\x3a\x45\x47\x2b\x96\x6e\xb2\x21\x85\x2e\x3c\xa1\xaa\x83\x90\x7a\x16\x4d\x07\x68\xec\xc4\xef\x1d\x39\x12\x8f\x6c\xc2\xc9\x62\xd1\xec\xa0\xae\xc4\x13\x40\xf0\xc8\x91\xf8\x9d\x70\x2c\x2e\xe6\xef\x55\x8c\x69\x37\xd6\x65\xf5\x51\xe5\xd4\x08\x6a\x2e\x96\xc5\x60\x29\x1d\xc6\x91\xd7\x74\xca\x7f\x3b\xa5\xbe\x68\xf9\xdd\x79\x41\x50\xc6\xe3\x49\xd8\xb8\x4c\x4b\xd8\x71\x21\x8a\x85\xfe\x22\x93\x95\xe5\x7a\x46\x88\x5a\x11\xed\xa4\xae\x63\x0a\x4a\x81\x67\x95\x15\x99\x34\xe1\xc2\xda\xc9\xec\x46\x37\x65\x56\x28\xa1\x81\xcc\x60\x7f\x31\x4c\x5e\x35\xd9\x00\xfe\x42\xb6\x0f\x2b\xaa\xf2\xf3\xab\xf2\xd9\x1d\xe3\xef\xda\xbd\x61\xf7\x5d\xe3\xfb\x2d\x9c\xda\xcc\x6a\xeb\xb4\x6c\xf3\xd4\x85\xfd\x3a\xa8\x5b\xc5\xb2\x21\xec\x7d\x21\x1a\x62\xc2\x28\xcb\xf6\x9f\xbb\xe0\x89\x38\x19\x7a\x29\x09\x95\xf6\xef\x5f\x4a\x02\xea\x7c\x9c\x7d\x64\x52\xcd\xe2\x2a\xbb\xbd\x6a\x71\x8d\x6c\xdb\xfb\xcf\xbd\xc4\xdb\xed\xfc\x4b\xcf\xbd\xbf\x4d\x76\xcb\xd8\x44\x19\x67\x1e\x35\x08\xf5\x5a\x35\xcd\x1b\xb5\x71\x95\x87\x2e\x17\x5c\x6a\x6d\xc0\x45\x6b\x12\x36\xf1\xc9\x6d\x10\x64\x7c\x76\x34\xa6\x4d\x56\x6c\x71\xa7\x64\x0c\x76\xd4\xb5\xdd\x1e\x94\x84\x0b\x5f\x3c\x72\xe4\xa2\xd0\x26\xa4\xc8\x4d\x9d\xd7\x9c\x60\x4f\x79\xe7\xa0\x1d\x8b\xfa\x45\xa8\x7e\x8b\x76\x0c\xd2\x99\x4c\x3a\x7c\xc5\xc6\xaf\xb8\x30\xec\x80\xf3\x67\xcd\x82\xf3\x61\x47\x02\x3a\x13\x07\x76\xa2\x11\xb1\x13\x70\x09\x28\x4d\xbd\x53\xd7\x3c\xfd\xd3\x86\x0d\x3f\x3d\xbd\x26\x95\xb7\x67\xda\xf9\xee\x97\x89\xb2\xd5\x3c\x32\x1f\xfd\xcf\x6a\x98\x03\xec\x7a\x93\x1d\x9b\x4e\xd3\x6e\x07\xaa\xdf\xbf\xac\x56\x5b\x84\x92\x30\x3f\x48\xaa\x17\x6c\xab\xfb\xba\x6e\xdb\x82\xea\x7f\xbf\x26\x55\xc1\xf2\xf6\x3e\xeb\xfe\x7a\x72\x4d\x5a\xda\x9a\x93\x7f\x5d\xd7\x5d\x2e\x8c\xcb\xde\xeb\x3f\x2b\x3b\x83\x7a\xbb\x03\x8d\x83\x7f\xa7\xe8\x23\x98\x91\x23\x4a\xfd\xcf\xcf\xf8\x7a\xc6\xf3\xfe\x7f\xbf\xe4\xe7\x9e\x7e\x3a\xa2\xdc\xfe\x76\x76\xf6\xdb\xdb\xbb\xf7\xa7\xfe\xff\xbb\xfe\x24\xe2\xed\xae\xff\xac\x33\xdd\x31\x9b\x7e\x65\xf6\x1d\xff\xbb\x8e\xe4\xdd\xb9\xd3\x2b\x74\xa1\x84\xef\xa0\xa2\x4a\xb1\x47\x3b\xae\x07\x49\x09\x04\xc5\x01\x8f\xd8\x6d\x57\x8a\x79\xab\xd8\xa4\xeb\x71\x97\x6b\xeb\x2a\xf9\x64\xc6\x9c\x5e\x56\x58\x5f\x3c\x3a\x37\x27\x27\x77\x74\x71\x7d\x61\x59\xba\x99\x61\x23\xb7\x8a\x9d\xdc\xf5\x54\x48\xab\x0c\xe3\x33\x3a\x84\x02\xcd\x23\x1b\x43\xb5\x79\x95\x56\x8b\xc5\x5a\x99\x57\x1b\x6a\x1c\xd9\x1c\xb8\x55\x1c\xd6\x95\x89\x3f\x94\xa0\x3b\x41\xa1\x59\x7c\x16\xfa\x2e\x64\xb7\x37\xe6\x52\x5d\xe3\x16\x02\xa8\xd4\x26\xbc\x4f\x44\x68\x3c\x2a\x7a\x40\xe7\x8f\x01\x8e\x09\x69\xdd\x89\x41\x77\x11\xf1\x05\x4e\x0e\xe8\x41\x02\xd2\x25\x4c\x0a\x40\xa8\x76\x91\x49\x30\xe3\x63\xd0\xe2\xc8\x16\x2a\xf0\x54\x91\x83\x03\xf8\xdd\x2e\x33\x8d\x96\xc5\xd2\x39\x52\x12\x5b\xe4\x56\x4a\xd0\xa9\xb2\x88\x13\x0f\xaf\x2c\xad\xea\xd5\x9c\x9e\x62\x9b\xba\x4d\x31\x57\xd4\x52\x1f\x0d\x0f\x9f\x03\xdf\xab\xdb\x3e\x45\xc6\x89\xb6\x4e\x2c\xf6\x0c\x60\xc3\xb5\xbe\xf0\xf8\x82\x3e\x55\x1e\x38\xcc\x7a\x02\x9f\xdb\xf2\x1d\xf0\x92\xbb\x02\x2f\x7b\x93\xb3\x32\xc0\x33\x19\x59\xbf\xe0\x68\xdb\xed\x99\x95\x62\xba\xca\x13\x5e\xe1\x1d\xc4\x81\x70\x51\xba\xbf\x90\xbf\x7b\xea\x2f\xde\x52\x58\x97\x94\x5f\xdf\xb2\x64\x38\xc8\xac\x99\xde\x36\x65\x3b\x98\xb8\xce\xd0\xb7\x6b\xaf\xa7\x09\x7d\xe3\x42\x0a\x03\x72\xe1\x66\x71\x08\xb6\x20\xc9\x20\x0e\xc2\x08\x48\xcb\xa0\x66\xf1\xc5\xac\x44\x1c\x09\xe7\xce\xb6\xf0\xe3\x25\x12\xcf\x08\x2c\x99\x1b\xc4\xac\xfe\x84\x6d\x0a\x3f\x73\x78\x5c\x95\xad\x6a\x5c\xd5\x01\x57\xc8\x57\x8b\x55\x71\x43\xf4\x53\xe9\x7e\xbe\x8e\xab\x12\xe2\x6d\xcf\x6c\x59\x94\xa6\x33\x4d\xd9\x3e\xf3\x1e\x71\x9d\xf2\xf6\xa1\xd1\xfa\xde\x73\x33\x60\xd8\xbb\x6f\xd6\xe0\xa2\xed\x53\x4c\xba\x34\x2e\x5c\xe5\x89\xb6\xd0\x6a\x6c\x1e\x1a\xfd\xf1\x06\x75\xd6\x5b\xeb\xcb\x49\x87\x94\x37\x37\x1d\xec\xb5\xa5\x80\x9f\x88\xdd\xe8\x8f\xf1\x04\xf4\x0e\xcf\xeb\xfd\xcb\xd9\xed\x53\x34\xa2\x6d\x33\xa1\x32\x33\x07\xce\x19\xd2\x1c\xc8\xa7\xa9\xea\x91\xb3\xf6\xa5\x83\xa7\xa7\x6c\x67\xcb\xe3\xfb\x40\x82\x0e\xb0\x0b\xcd\xa2\x03\xa9\xc9\xd8\x8f\x31\x87\xd7\x57\x82\x98\x25\x60\x17\x54\xc6\x3b\x91\xa6\xb9\x98\xba\x12\xcf\x89\x18\xcc\x7f\x0a\xf0\x45\x78\x43\x86\x74\x19\x9e\x23\x18\xbd\x38\x2a\x08\x18\x67\x1c\x96\x9a\x33\xc4\x30\x47\x02\x78\x7b\x92\x21\x77\x05\x1b\x7f\x3e\xe6\xbb\xa2\x1c\x78\x89\x69\x24\x16\xf4\x70\x6c\xe1\xc9\xa3\x15\xa6\x60\x0d\x07\x3b\x66\xed\xdb\x37\x6b\x41\xee\xc0\xb1\xfb\x66\x79\xf2\xe8\xc5\x68\x00\xef\x9b\x33\x12\x3e\x3e\xee\xee\x83\x47\xad\x19\x55\x1e\xb3\x1e\x34\x14\x56\x80\x10\x0e\xc1\x4f\x2d\xda\x1c\xb5\xba\xa2\x48\xaf\x05\x4d\xd6\x8c\x6f\xa3\x4b\x93\x8c\xbe\xda\x3c\x27\xad\x8c\x92\x15\x29\x6d\xba\xea\x99\x3f\xa7\xa1\x06\x0c\xcb\xf1\xa3\x25\xe8\x7b\x5b\x32\x70\xbb\x97\x16\xf7\xf5\xb8\xe0\x3b\xe1\xed\x85\x3e\xce\xba\xa4\xaf\x4b\xba\xef\xc2\x3e\x8d\x65\x7d\xfd\xac\x7d\x9a\xbf\xee\x9b\x15\x9d\xda\xb8\xd5\x30\xc2\x44\xbf\xd5\x7f\xa0\x32\x60\xf7\x54\x49\x0f\x48\xeb\x8b\x6e\x50\x28\xb0\x41\x21\x36\x1b\x9c\xc6\xa2\x90\xe4\x88\x32\xc0\x68\xae\x89\x6b\x7d\x99\x55\xca\x33\xa1\xda\x59\xb5\xb3\xde\xac\xc8\x99\x1e\xa1\x74\x23\x64\x7d\x73\xe9\xfb\x7c\xb5\xab\xed\x85\xf0\x92\x27\xd8\xcf\x73\xfe\x7c\xbf\x5c\xf1\x50\x5f\xf6\x00\xcd\xf6\xce\xbe\x47\xd6\x83\x19\x04\x1f\x0f\xf5\x24\xd0\xe9\xc4\xaf\x1c\x38\x3b\x99\x15\xfc\x11\xdc\x42\x18\x68\x8a\x51\xd7\x22\x2c\x17\xc6\x98\xc5\xe0\x86\x06\x7b\x0c\x35\xc9\x6b\x27\x5a\x15\xb1\x55\x01\x1e\xd6\xb8\xdf\x9a\x38\x8c\xce\x1c\x13\x7e\xad\x29\x9f\x97\x41\xf7\x5e\xda\x52\x0f\xc3\xf5\x2d\xf0\x8b\xe8\xa7\xf5\x2d\x8f\x2e\x03\x0f\x66\x47\x1b\xa6\xee\x16\x57\xb6\xd4\x8b\x5a\xc7\x47\x7f\xeb\x0e\x45\x2a\xcd\x2e\x46\xad\x91\x7a\xd3\x98\x50\xa4\x15\x85\xc5\x03\xf2\xe8\xf0\xd8\xcc\x12\x2e\x24\x2d\x4a\x83\x7d\xab\x26\xa0\xb1\x5c\xa8\x56\x80\xf2\xa4\x54\xac\x54\x6e\x76\x89\xa8\x92\xc2\xc8\xdf\xee\x3f\x03\x0f\x61\x8f\x2f\x27\xef\x6e\xa9\xb7\x2d\x7b\x34\xbc\x79\xca\x90\x19\xb6\xfa\x96\xeb\xad\x60\xca\xa1\x35\x8c\xa2\xd8\x65\xb6\x39\x3c\xfa\x34\x97\xcd\x65\xce\x55\xe6\x96\x95\x64\xaa\x54\xad\xa9\xce\x09\x55\x36\xb3\x8b\x3f\xac\xf0\xa4\xbc\x41\x04\x58\x02\x26\x1e\xe6\xed\x8a\xa8\xc5\x98\x66\xa1\x35\x3f\x1a\x4d\xe4\xe0\x8f\x41\xbc\xa5\x80\x18\xd4\x1b\x36\xa8\x65\x62\x90\x24\xd8\x64\xc9\xc1\x60\xed\x74\x07\x13\x07\x93\xd2\x25\x04\x51\x83\xe9\x70\x33\x15\x05\x80\x60\xa8\xc7\x73\xbe\x62\x33\x08\xc4\xc1\x4e\x18\x87\x0e\x07\xc1\xbb\x83\x6e\xd3\x4d\x53\x70\x8b\xf9\x55\xe3\x35\xeb\x47\x0d\x5b\xa7\x1f\x36\x43\xbf\x6e\xd8\xe8\x8d\xca\x71\xcb\xf9\x95\xd2\x80\xb1\x20\xbd\x30\x79\xe6\xbe\xd2\x22\xc8\x55\x8f\x28\x74\x95\x4b\x1e\x5c\xb3\x53\x52\xee\x2a\x08\x31\x1b\xcc\x53\x24\x41\x57\x7e\x15\xb3\x98\x67\xc5\x53\xc5\xc5\x76\xfa\xb9\xec\x74\xd0\x51\x52\x5b\x8c\x86\xea\xd9\xd0\x00\x86\x0d\xe5\xbb\xcb\x25\x8b\xcd\xfb\x98\x8a\x1b\xd4\xc4\x5a\xb0\xb3\xd4\x9b\x67\x04\x9f\xa4\x58\xc7\x6f\x91\x8e\x98\x33\x63\x28\x7c\x10\x9c\x18\x3a\x63\xd1\x28\xe9\x9d\xe3\x93\x1c\x90\xe2\x73\xd4\x56\x99\x6c\xcf\xcc\x60\x8b\x0b\x6e\xf0\x8a\xc2\x05\xae\xe8\x48\x7a\x8c\xab\xa0\x2a\x5f\xa5\x88\x7e\x02\xee\x75\x7a\xab\x3c\x4a\x39\x4c\xb7\x2c\xb6\xc2\xf9\xb6\x2c\x33\x58\x99\xd3\xa7\xb8\xc6\xfc\xf5\x9f\x58\x20\x07\x99\x0a\xad\x2c\xbf\xba\xc0\x05\xad\x74\x8b\x52\x59\x50\x1d\xdb\xf3\xc5\xed\xea\x25\x08\x24\x53\x08\x12\xd7\xad\x29\x5d\xb9\xe0\x64\xdc\xe1\x4b\x98\x07\x84\x00\x1a\xb5\x6e\x42\xee\xbc\x64\x26\xe8\x9a\x08\x6e\x26\x7c\xba\x98\x97\x29\xfc\xc3\xb2\xbb\x7b\xb2\xaa\x8a\x07\x0a\xc4\xef\x9c\xd1\xc1\x8d\x4b\x2a\xa9\x2f\x11\xa6\x88\x81\x7e\x34\x59\x0c\xf4\xcf\xde\x6b\x94\x4e\x19\x98\x5f\xbc\xa0\x7f\x4a\xea\x84\x75\x96\x71\xea\xe6\xaa\x68\x91\x40\x08\xf7\xce\xec\xdf\x6b\xdf\x9f\x6d\xc0\x86\xff\x38\x34\x1f\x40\x0a\x86\xdf\xf1\xd7\x15\x13\x22\x98\x62\x00\x2d\x4d\x93\x2f\x67\xf5\x2e\xc9\x2c\xc7\xf3\x40\x68\x4c\x60\x48\xad\xaf\x89\x2e\x0b\x0c\x09\x1f\x9c\x7d\x85\xee\x6b\x18\xc5\x6f\x9e\x70\x79\xf1\x5c\xb8\x23\x34\x54\x20\x83\x33\xef\x71\xd0\x8e\x59\xfb\xda\x63\x76\x68\xc2\x2f\x61\x5f\xdc\x49\xbc\xd8\x4e\xa2\xd6\x11\x4f\x2b\x89\x55\xf4\x69\x98\x98\x0a\x53\x1a\x10\xb0\x56\x31\xa0\xaf\x91\x4f\x17\xa9\x08\x14\x21\xe9\x44\xa6\x74\x25\x13\x43\xb0\x14\xa6\x0e\xd4\xaf\x50\x17\x34\x60\xfd\xf8\x40\x7c\xfa\x10\xba\x26\x88\xb5\x38\x43\x50\x5f\xdc\xc2\xba\xda\x4f\x16\x56\x2a\x80\x97\x5e\x9c\xb8\x77\xfe\x76\xd3\x08\xc3\xd6\xc6\xe8\xd4\x59\xfb\xfe\xaa\xd9\x37\xab\x7e\xbd\x45\x83\x08\x55\x8a\xa1\xef\x92\x97\xec\x01\xe5\xc0\xfe\x81\xa2\x7a\x44\x9b\xaa\x9e\x34\x3a\x0d\x66\xb1\x62\x83\xb4\xca\x83\xa2\x8f\x48\x42\x1d\x95\xe2\x6b\xd3\x73\x2a\xde\x44\x54\xa9\x36\x74\x46\x59\x95\xe9\xab\x65\x2d\xb9\x7d\x65\x23\x74\xdb\x35\x03\xb2\x7d\x43\xc5\xb9\xfd\xce\x9f\xf7\xf4\x0b\x7a\xe0\xa5\x42\xfb\xea\x5a\x1f\x73\x9b\xa9\xe2\xe8\xc9\x09\xe3\xe0\xe3\x23\xe7\xec\x43\xbc\x12\xbd\x38\xcf\x33\x6b\xdf\xd8\x81\xb9\x0b\x30\x21\x86\x1d\x5c\x4d\x20\xc3\x7a\xf4\x60\x45\x21\x68\xd0\x9b\x3d\x55\x9b\xd5\xea\x1c\xad\x05\x7e\x8a\xc3\x19\x56\xd0\xa4\xd5\x17\x55\x80\x19\xc6\xa4\xe8\xd2\xbe\xf3\x3d\x57\x69\x13\xa6\xbb\xd1\x30\xad\x74\xe6\xd5\xb6\xff\xc5\x9f\x03\x86\xd5\x34\x8c\x85\xef\xb8\x3c\x7d\x8b\x4b\xf1\xac\x97\xb1\x05\xbe\xe7\xab\xed\xc4\x81\xe1\x9f\x61\x29\x2a\x99\xf0\x8f\x86\x5b\x6b\xee\x14\x19\x39\x9d\x91\x27\xb1\x6e\x19\xc6\xf5\x4a\x47\x27\xe2\xd8\xc7\xed\xf2\xe9\x04\xe0\x50\x1d\xd9\x94\xd6\x09\x98\x30\xa3\x75\x0a\xf8\xa1\x56\xb1\x59\xa1\x83\x7f\x54\xe8\xb4\x4a\x26\x59\xa1\x63\x95\x83\x80\x44\xaa\xd8\x24\xd7\x02\xcf\xab\x62\xc3\x72\xbd\xe4\x95\x3c\xa0\x95\x6f\x56\x48\x25\x83\xd1\xf9\x2e\xbd\xe4\x8a\x54\xca\x28\xd8\x4f\x24\xfa\xed\x0a\x2d\xd3\xb6\x44\xa1\x8d\x5c\x20\x0f\xe7\x6a\x15\x4b\x94\x5a\x9d\x34\x52\xa1\x90\x49\x35\x72\xba\x0e\x8e\xd2\xe9\xc0\x63\xd1\xa7\xe5\x1a\xa9\x54\xc9\x9c\x96\x6b\x74\xd1\x6b\x49\x29\xbc\x43\x42\x8b\x75\x9a\xb8\x0e\x83\xb0\xa6\x96\x50\xd9\x54\x99\x60\x87\xe0\x16\xdc\x38\xf8\x4d\xb1\xba\xb8\x99\x2e\x6f\xb3\x02\x20\x99\x30\x0f\x1a\xe9\x1e\x9b\x24\x54\xc2\x06\x09\xde\x30\x61\xb5\xbd\xed\xc3\x57\x3e\x50\x35\xa0\xf8\xac\x58\x22\xd6\xdd\xab\x17\xbf\x7e\x50\xab\x14\xf4\xa0\x5d\xe1\xe0\x88\xc9\x23\x6a\x44\x79\xf0\x02\xfc\xf1\x8d\x25\x4b\xde\x00\x6a\x90\x0b\xd4\x24\xf4\xd1\x2d\x76\x21\x98\xca\x46\xbb\x16\x7e\x33\xf0\x32\xdc\xaa\x51\xaa\x35\x60\x2e\x7c\x00\xe7\x83\x61\x70\x92\xd2\xee\x9b\x3e\x6e\x77\x86\x94\xf1\x2f\x79\x03\xfe\xd8\x23\x3f\x58\xdb\x23\x23\x14\x4a\xac\x77\x1e\xa2\x35\xc4\xd3\x15\x28\x0a\xf8\xf3\xb1\x91\x1f\x9a\xa0\xb8\x4e\x78\xa3\x34\xec\x8a\xa9\x02\x71\x87\x1e\x56\xe0\x15\xec\xff\x5e\xb2\x9b\x9a\xa6\xc7\xfe\x11\x3d\x7e\x7f\xb3\x52\x96\x27\xd2\xaa\x65\x2c\xab\xd2\xa7\x58\x9d\xba\xba\xc9\x4d\x03\x9d\x7d\xd5\x6a\x99\x4a\x2d\xf6\x29\x54\x8c\x3a\xd7\xd7\x90\xb7\xe7\x77\xaf\x33\x72\x94\x54\x9a\x27\xd6\xfc\x8b\xa4\xbb\xdf\x78\xdd\x7d\x73\x63\x46\x1f\xbc\x79\xf3\x08\xe4\x37\x6b\xb5\x0d\x0a\x96\x56\x30\xac\x5c\xa5\x94\xf3\x53\x07\xd5\x4d\xb1\x28\x95\x32\x40\xcb\x07\xeb\x75\xac\x3a\x2d\x59\x7f\x7a\xc7\xae\x53\x38\x95\x92\xf9\x57\xa9\xd8\xc2\x5b\x34\x3b\x30\xdc\xe2\x1b\xe2\x71\x14\xba\xd1\xc6\xb7\x72\x36\xa2\x53\x42\x49\x58\x13\xef\x96\x80\x80\x84\x71\x07\x4c\x12\xc0\xa3\xff\x74\x1b\x26\x74\xd1\x26\xfa\xc8\x23\x4d\x03\xa0\x0d\xb4\x9d\x86\x9f\xd1\x47\xe8\x23\xd1\x26\x74\x0d\xda\xa0\xed\x34\xb0\x37\xc1\x30\xdd\x86\x85\x9c\xf8\x06\x49\x86\xa3\xd3\x70\xa2\x58\x32\xfc\xd8\xe7\x4d\x20\x4c\x75\x93\x1b\xe1\x77\xba\x11\xe9\x44\x6f\x32\xf1\x12\x60\x0a\xb8\x25\x5c\xc0\x1d\x90\x00\x37\xdf\xb3\xeb\xd2\x67\x81\x0a\x5e\x6d\x6c\x6d\x82\x57\x81\x29\x73\xd4\x1a\x58\xc6\xe4\x82\x37\x61\x19\xfc\x6f\x60\x42\xb1\xc0\x04\xaf\x66\x8e\x62\xea\x6e\x51\xc9\xe7\xb0\x31\x4a\xe3\x29\x94\x04\x3f\x18\x46\x8f\x54\x81\x37\xd1\xa3\xff\x8d\xb2\x3b\x85\xb2\x43\x0f\x36\x82\xeb\xb7\xe8\x94\x58\x56\x7d\x45\x42\x71\x19\xa8\x9c\x3a\xca\x12\xf3\xb2\xd9\x97\x1a\x86\x7a\x68\xb8\xbb\x57\x80\xf8\xae\x2a\x17\x53\x2f\xf3\x13\x27\xc2\xc4\x57\x0a\x49\x85\xa9\x7e\x46\x2c\xe4\x15\xd4\xec\x95\x80\x00\xb0\x01\x0c\xcd\x55\x64\xa5\x0d\xc5\x41\x3a\xae\xc9\xab\xb3\x2b\x89\x7a\x3a\x96\x06\x62\x8d\x0e\xb4\x34\x27\xf0\xc5\xb4\x8f\xa8\xcd\xd8\x89\xf3\x73\x7a\x6b\xc0\xe5\x0e\x04\xdc\xae\x00\xbb\x2e\x30\x38\x10\x18\x1c\x71\x2f\x38\xb2\x00\xfd\xb1\x6b\x17\xd4\x0f\x59\xb8\xe0\x48\xa4\xef\xd1\x45\x8b\x8f\x3e\xf8\xf5\x51\x76\xdd\xd1\xc5\x8b\x8e\xa2\x8b\xc8\x67\xf0\xbf\x4f\xdd\x7e\x61\xd5\xaa\x0b\xb7\x9f\x62\x1e\x83\xf0\x03\x78\x1a\x2e\xb9\xb0\x7f\xec\xa8\xbd\xe7\xe8\xa1\xf0\x27\xb8\x0e\xbb\x54\x00\xab\x59\xb0\x26\x37\x28\x99\x77\x00\x5e\x3b\xb8\xf1\xdb\xfa\xfc\x06\xd9\x08\x5b\xfd\xd5\x8d\x07\xe1\xb5\x03\xf3\x24\xc1\x5c\x30\x77\x2f\xb8\xef\x8b\x36\x70\x27\x9d\x22\xbc\x3e\x40\xe3\xb7\xfb\x27\xe0\x77\x2e\x58\x00\x48\x19\x5a\xc9\x8b\x8f\x02\xf4\xfb\xfa\x28\xcc\x04\xab\x81\x6a\xd5\xc5\xf6\x8b\xab\x58\xd9\xfc\x79\x63\x0f\x5c\x58\xb2\xe8\xfd\x7b\x27\x44\x79\x1c\x8d\x3e\x03\x7a\x2d\xcb\x7a\xd7\x78\xef\x79\xe9\x3e\x78\x6d\x7f\xcb\x94\x92\x95\xc6\xdb\x9c\x53\x16\xec\x07\xe2\xfb\x5e\xba\x07\xc5\x4f\x5d\xd0\x82\xfa\xcc\xf4\x1b\x14\x7b\x80\xd0\x45\x1d\xd6\x17\x26\x60\x8d\xe8\x60\xd0\x77\x29\xe7\x00\x2b\xc0\x1e\xc9\x79\x53\x4c\xf9\x1d\xad\x3e\x63\xca\xe5\x01\xac\x75\xe4\x61\x04\x3d\x24\x2b\x8b\x68\x29\x56\x2c\xb2\x02\xa6\x37\xdc\x02\x7f\x01\x52\xb0\x1c\x48\xe1\xbe\x17\xd6\xaf\x7f\x61\x3d\xc8\x55\xb0\x8a\xcc\x3c\xf7\xa2\x33\x35\x40\x66\xb5\xca\xd3\x46\xa6\xf5\x39\x03\x7f\x4e\x1b\x89\x82\x69\x40\x36\xe0\xdd\x85\xee\xbc\x4c\x94\x44\x9a\x51\x10\xb2\x73\xfa\xaa\x01\x2d\xa5\x63\x1f\x72\xba\xec\xa1\x82\x0c\x7a\x09\x90\xbe\xfc\x0a\xca\xe9\x97\x57\x5e\x06\x07\xd7\x8f\x1f\xb7\x7e\xfd\xb8\xf1\xd1\x87\x53\xf2\x32\xb2\xec\xc9\x35\x86\x01\x24\x17\x85\xd5\x5a\x7d\x06\xfe\xdd\x8a\x02\x23\x71\x7e\x86\x9a\x64\x7b\x56\x46\x5e\x8a\xde\xaa\xd4\x9a\x59\xa5\xc3\x6c\xf4\x26\x27\x9b\xb5\x4a\x6b\x02\x7e\x18\x4f\xf9\xa9\x20\xd1\x56\x8d\xef\xda\x7b\x80\x88\x57\xd2\xe9\xae\x7c\x12\xc2\x9a\x47\x26\xac\x24\x84\x9d\x64\xa1\x19\x15\x5d\xa2\xa3\xbf\x38\x9f\xc6\xfc\x2f\xad\x76\xd9\x44\x6a\xa3\xed\x26\xf1\xf1\xfd\xe3\x37\x8c\x1f\xbf\x01\x78\xa5\x19\xbd\xd2\xa4\xae\x55\xeb\x96\xa6\xa4\xa4\xf5\xca\x90\x1a\x33\xfb\x0c\xbb\xdb\x7b\x57\xa1\xd1\x28\x31\x96\x1b\x4f\x2d\x1c\x84\x8e\x12\xa3\xf1\x54\xf1\xf6\xe1\x7d\x32\xfb\xbf\x06\xff\xfe\xda\x6b\x40\x4e\xaf\x48\x84\x3a\x65\x20\xce\x69\x7c\xf4\x17\x7d\x12\x97\x2c\x4e\xca\xcc\xd0\x6a\x93\xb9\x24\x7d\x5e\xaf\x5c\x9f\xb2\xf8\xae\x82\x58\x06\x8b\xea\x84\x2c\x5f\x2b\x56\xfa\x72\x7b\x01\x2d\x90\xbf\x86\x73\x03\xdf\x76\xc7\x37\x15\x64\x10\x2f\xa0\x7a\x6b\x05\xbf\x75\x78\x91\x43\x34\xa1\x11\x39\x88\x39\x2f\xef\xe4\xc8\x25\xa0\x93\x15\x15\xa5\x56\x8e\xd9\xf2\x15\x3c\xfd\xe4\x53\xf0\xf4\xd7\x5b\xc6\x85\xe8\xd3\xf9\x0e\xb0\xc7\xd9\xb7\x10\xad\xfd\x5f\x85\xaf\x3a\x3c\x85\x7d\x33\xc0\x5e\x3b\x17\x1e\x5b\x19\xbd\xfe\x14\x6c\xfd\x7a\xf3\xe6\xaf\x41\xe8\x29\x9a\x0f\x8d\xeb\xb8\x64\xc7\x00\x8b\x85\x7d\xed\xf0\x1d\xe0\xb7\xf7\x2d\xf4\xa6\xc3\x55\xf6\x98\x8e\xfa\xbd\x88\x06\xcc\xc0\x7d\x8e\x03\xd8\xd4\xc6\xe5\x73\x51\x18\x10\xba\xd8\xe5\xb3\x1b\x94\xb4\xc9\x48\x99\xb0\x92\x3a\x8d\x7a\x9b\x8f\x33\x08\x0a\x5c\x44\xbd\xce\x5f\xec\x2b\x42\xab\x0e\x14\xc5\x33\x46\xad\x09\x78\x68\x94\x00\x7f\x26\x8a\xe7\x3e\x84\x97\x93\xe1\xcf\x95\xc0\xd7\x00\x8f\x8d\x34\x8c\x5d\x9c\x0b\xe8\xfe\xee\xa1\xc5\x6a\x33\xb8\x3d\x2f\xed\x23\xa3\xee\xc3\x54\xd7\x51\x1a\xf4\xee\x63\xb0\xcf\xb1\xcd\xab\x48\xaa\x9e\x08\x42\x17\x77\xeb\x82\x0b\xed\x17\x15\x5f\xf1\xe0\x45\x65\xff\x5e\x66\xf0\x1e\x00\x5b\x83\xd1\x9f\xec\x33\xe8\xe7\x0b\xa3\x37\x36\x02\x00\x4e\x33\xfa\x77\x8a\x16\x8d\xe4\x5c\xe2\x22\xda\x52\xe6\xe8\x15\xd9\x31\xb5\x1c\x1c\xcc\x76\x83\x2f\x7d\x7d\xe9\x22\x90\x4f\x7b\x3c\xfd\xfe\x5a\xfd\xe1\xde\x40\x21\xcd\x67\x88\x00\x28\xa4\x83\x45\xb0\x9f\x3d\x0a\x35\xcc\x75\x57\xa1\x12\x20\xaa\x92\xcb\x6e\xef\x08\xd5\x26\xe0\x69\x4b\xa9\x24\x6a\x21\xe2\x6a\x77\x25\x50\x3c\xbc\xf2\x54\xb2\x3c\x08\xb2\x4e\x3d\x8f\xb1\xb1\x51\xfb\xa3\x5a\x92\x55\x41\x1a\xd9\x6e\xc5\x80\x38\x04\x32\x1b\xd1\x2b\xb2\x5e\x52\x61\x3e\x3f\x80\x31\x09\xd1\x45\x3e\xf1\xec\x87\x39\xdd\x7c\xb2\x2e\x10\x11\xf7\x6d\x56\xec\x0f\x18\x0d\xe5\x0a\x34\x30\x05\x0d\x8f\xc4\x19\xbb\xdb\x6c\xc0\x3c\x6b\x4f\x36\xbb\xd2\x8b\x50\xb6\x13\x24\x4b\x36\x6d\x9d\xc8\xc0\xa3\xfc\xf2\x0d\xdb\x26\xd0\x77\x36\x33\x96\x64\x56\xd1\x6b\xe0\x27\xeb\xd5\x88\x21\x10\x01\xf5\x80\x81\x6f\x3d\x0e\x92\x74\x0a\x34\x48\xe8\x05\x87\xd3\xfa\x4a\x65\x5c\xb5\x72\x2e\x6d\x4f\x61\x15\xc9\x7a\xfd\xa0\xb6\x0d\x2a\x5a\x81\xd2\xa9\xfa\x57\xbc\xf7\xa4\x5b\x2e\x73\xce\xdf\x9f\x56\x22\x95\xb1\xa5\xca\x11\x6b\x3e\x84\x97\xe0\x4b\xf0\xd2\x87\x6b\xd6\x7c\x08\x32\x41\x3f\x90\xf9\xe1\x67\xb7\x98\x60\xe8\xf5\x66\x17\x2e\x8e\x7d\x18\xdd\x57\x3c\x77\xd5\xba\xb1\xa2\xe8\x2b\xfc\xbc\x95\xeb\xc7\xf6\x7e\xfb\x38\xad\x55\x29\xa4\xe9\x2d\x87\x6c\x7d\x50\x96\xd5\xaa\x99\xb4\xd3\xca\x2a\x52\x33\x99\xda\xcf\x37\xa8\x18\x39\x7e\xed\x80\x3e\xe7\x1e\x07\x46\xb5\x5c\xa4\x93\xcb\x5b\x0e\x58\x51\x3a\xae\x4a\x31\xb7\x44\xa2\x08\xd5\x7e\xba\x4e\x4e\xe3\x2a\x28\x06\x7c\x43\x5e\xbe\x26\xb1\x40\xf4\xda\x7f\xc6\x47\x81\xd8\xdc\x6a\xa4\xd2\x31\x3a\x0e\xc0\x3b\x6b\x4e\x17\xfa\x5c\xfe\x0c\x09\x30\xb2\x01\xc6\x85\x66\x12\xb5\xd3\xa8\xa5\x11\xc5\x70\x02\x3f\xed\xce\xc0\xf8\x24\x88\xb0\x30\xb7\xff\xf8\x87\x6f\x97\x47\xcd\x47\xe0\xdf\xbd\xf0\xbb\x30\x98\x87\x16\x8d\x43\x07\x00\xe3\x81\xaf\x2f\xc0\x87\xde\x12\xfd\xae\x8c\x99\x7a\xee\xee\xaf\xe1\xdf\xc1\xde\x46\xd9\x34\x58\xd2\x7e\xf2\x64\xfb\x49\x11\x45\xaf\xd8\xf4\x83\x5b\xf2\xf0\x2e\xf0\xc8\xfd\x8f\xc3\x39\xd1\x99\x77\xef\x49\x85\xe5\xf6\xeb\x60\xcd\x15\x20\x0b\xec\x83\xa7\xe0\x27\xd1\x61\x1b\x95\xf4\xfc\xf5\xa0\x62\xa9\xe8\x24\x7e\x08\x8f\x2b\x1a\xf7\x2f\xee\x6d\xb2\x9b\x60\xa3\xdc\x2e\x1a\x2d\xac\x99\x20\x16\x51\x04\xf0\x18\x62\x88\xce\x27\xcd\x9b\xdc\x22\x2b\x36\x04\xc2\x58\x1b\x4a\x16\xcd\x83\x6e\x2b\xc0\x66\x41\x1e\x1c\x30\xa1\xb2\xb3\x94\xce\x48\x2b\x01\xcb\x6c\x86\x5f\xc1\xbe\x73\xca\xb4\xfd\xee\x9d\x21\x93\x2d\x54\x64\x7f\xbf\xd8\xbf\x9e\x4f\xae\xf5\x8e\x10\xab\x64\xc9\x9c\x69\x4c\x89\x6a\xab\xd6\xe0\xad\xcf\xf2\x4e\xa8\x71\x96\x97\x4a\xd0\xf2\xc9\x98\x65\xee\xfd\xe8\xed\x03\x4f\x1e\xd9\x3b\x3b\x25\x47\xdc\x27\x6f\xd4\xd4\x14\xd5\xce\x3b\x00\x22\x29\x2c\x3d\xe2\x81\x4b\xf0\xea\x0d\x0a\xe4\x5d\x5b\x0f\x86\x83\xbe\x20\x67\x3c\xfc\x46\xc9\x68\x86\x2e\xa4\xf3\x7e\xdf\x5b\x8c\x18\x3f\xc0\x0d\x75\xf0\xa6\x02\xe9\xab\x7d\x72\x06\x95\xa4\xf0\x12\xaf\x9b\x66\xcb\x32\x68\x5e\xab\x10\x33\x13\x87\xca\xca\x73\xd2\x6a\xa6\xfb\xc6\xbe\xfb\x84\xcb\x35\xac\xff\x71\x30\x66\xfe\x20\x38\x1b\xbe\xb1\xe6\x06\x75\xe5\xc4\x94\xb8\x2c\x27\x86\xe3\x1f\x10\xfc\x35\xb2\x44\xc5\x15\x6b\x7f\xa2\xf9\x29\x40\x0c\x3f\x5c\x98\xe0\x61\xd8\xd9\x5e\xe8\xbb\x01\x3d\x4d\xa0\x14\xfc\x5a\x5f\x31\xed\x26\xbe\x15\xb5\xdc\xc5\x63\xaf\x1f\x84\xdf\x4d\xaf\x1d\xcd\xb2\xa3\x6b\xa7\x03\xfd\xc1\xd7\x8f\xdd\x06\xcf\x3e\x9a\xaa\x7c\x12\xfe\xee\xcb\x4d\xb8\x6f\x3c\xc7\x3c\x02\x0a\xc1\x83\x07\xb6\x34\x2f\xbd\x63\xe9\x81\xb7\xde\x3c\xb0\x6c\xf3\xb2\xd9\x9b\xef\xe1\x2c\xf3\x76\xad\x19\xdf\xbe\x3d\x7b\x7b\xfb\xf8\x35\xbb\xe6\xcd\x59\x0e\xc4\x7b\x7e\x00\xd5\x27\x9f\xc3\x3d\x09\x2c\x8b\x5c\x6b\x85\x8f\xad\xae\x18\x5e\x02\x26\x7f\xf9\x27\x30\xb9\x74\x58\xe5\xed\xf0\x44\x6c\x7d\xa2\x46\xdf\xed\x47\x2a\x87\xf2\x51\x15\x54\x3f\xe2\xef\xc6\x2e\xac\x5a\x11\xdb\x82\x4b\x8d\x0a\x89\x75\x2d\x02\x5a\xa7\x88\xd1\x52\x68\x75\x82\x81\xcc\x30\x0c\x8e\x91\x21\x24\x1b\x7f\x37\x40\x64\x7e\x58\xc1\x15\xd8\xc9\xa2\x16\x11\xc5\x8e\xb5\x1f\xef\x99\xf2\x78\x11\x78\xb8\xe4\x2b\x78\xee\x91\x97\x1f\xfd\xf2\xa1\xef\xf3\x34\xe3\xde\x02\xfa\x17\xfe\x56\x01\x5e\x04\xc9\x56\x15\x75\xe3\xe9\x50\xf3\x88\x82\xda\x69\xfd\x66\x0d\x9f\xb3\xeb\xb6\x77\xfb\x7a\xaf\xbf\x39\x69\xe4\xa2\x7b\x56\x3c\xef\x99\x0c\xae\xd1\x97\xb8\x4b\x77\xef\xf8\x23\x3d\xaa\xa4\x60\xd7\x1b\xe3\x87\xdf\xff\xf7\x8d\xc3\x16\x03\x7e\xd1\x91\xde\x8f\x82\xe6\x5f\x86\xc0\xef\xd1\x84\x33\x11\x2c\x31\x07\x26\x57\x2d\x3e\xfe\x1c\x78\x6a\xd8\xe4\x7e\xf9\x8f\xce\xdf\xdc\xb1\x6a\xe4\xf8\x61\x03\x3e\xdd\x74\x96\x1e\x78\xd7\x6b\xaf\xc5\xe5\x6c\x61\x5e\xf0\x33\x82\x71\x01\x6e\xb9\xab\x69\xb8\x69\xbf\xd0\x97\xb8\x31\x4d\xe9\x14\xd7\xc9\x8e\xa5\x48\xd8\xcd\x8c\xda\x00\xd9\x88\x88\x90\x8d\x08\xd0\x14\xb5\xe1\x0d\x4b\x51\xa8\x6a\x02\xb0\x31\x24\x61\x04\xef\x67\x32\x67\x23\x82\xfe\x4b\x7c\xbf\x21\x1c\xd3\x79\x11\xca\x65\x44\xf3\xe2\x9f\x51\xb9\x4c\x78\xe7\x58\xe7\xc5\x7b\x69\x82\x12\x34\xfa\x1f\x7b\x7b\x56\xa7\xb9\xa3\x9f\xe1\xb0\x4e\x9f\x9b\x6c\xb5\x09\xae\xaf\xd1\xa8\x72\xba\xee\x7c\xa3\x5f\x49\x86\x47\xc9\x24\x69\x75\x2c\xed\xb5\x96\x4e\x84\x3f\x16\x54\x57\xb3\xdf\x82\x62\x74\x2a\x78\xfa\x82\x1a\xe6\xd0\xfa\xec\x41\x81\x95\x75\xb6\xec\xf2\x74\x87\x41\xaa\xd5\x8f\xe8\x9d\x37\xa8\xd4\xeb\xd0\x80\x0b\xd5\x5c\x38\x34\xa2\x64\xe9\xc6\xd9\x87\x26\x8e\xd6\x49\x7e\x18\xfb\x58\x73\x75\x01\x97\x84\x1f\x6c\xff\xb6\xa0\xfa\x03\x30\x65\x5a\xde\xc0\x7e\x85\x72\x73\x55\x4a\xf5\x6b\x47\x8f\x9e\x19\xec\xca\x0a\x29\xe4\x32\x53\x7e\xa1\x6d\xea\x93\xc2\xfa\x56\x79\x83\xe2\x6e\x23\xf2\x92\x7e\xd4\x63\xd4\x1b\x68\x56\xe5\x05\x88\x10\x41\x15\x1a\x2b\x90\x63\x25\xee\x98\x59\x14\x59\xc4\xe1\x20\x5a\x21\x18\xf9\x9b\xad\x57\x02\x31\xd3\x15\x93\x91\xd3\x13\x88\xe2\x74\x92\x89\xcf\x41\xf2\x31\x79\x35\x31\x8b\x2b\x41\x95\x1d\x45\xa6\x81\x38\xec\xb1\xe0\x8b\x49\x13\x43\x6f\x13\x2e\xd1\x1a\x12\xb7\x56\xec\x33\xea\xb1\xe5\x5b\x0c\x27\x06\x97\x81\x31\xea\x3b\x8b\x8a\x53\x13\xcd\x76\x32\x10\x51\x8d\x16\xec\x3a\x70\xf4\xd8\xbd\x7b\xe6\x2f\x08\x66\xcb\xd9\x62\x2f\x07\xb4\x96\xa2\xe9\x93\xc3\x1b\x76\xdc\xbd\x31\x3c\x49\x24\x55\xc9\x0d\x19\xd0\x50\x55\x61\xb0\x68\x54\x52\x49\xb0\x8a\x93\xaa\xd4\xb4\x56\x5c\x55\xa5\xb6\x6a\x15\x22\xbe\xb2\x52\x6b\x4d\x01\x6f\x79\xf2\x86\xd6\x7f\xf8\xd3\x87\xf5\x0d\x39\x2a\x20\x29\x2e\x92\x3a\x7b\x03\x66\xca\xcc\x3d\xbb\xcf\xbf\xbf\xab\xcc\x6f\x51\xa9\xd1\x6a\xcf\x25\x6b\xde\x31\xa0\x7f\xf3\xec\xfe\xa1\x79\x1b\x9a\x9e\xde\x54\xb3\x7d\xdb\x5b\x67\xb6\xf9\x92\x68\xb1\xd4\x6e\x34\xa4\x19\x34\xcc\x5c\xab\x35\x72\x11\x64\xae\xf2\xcc\x5d\x71\xdb\x87\xf5\x43\xf3\x3c\x69\x12\x99\xcc\xac\x90\xf0\xb3\xa6\x85\xf7\x6c\x5c\x9b\xa2\x45\xa4\x4f\xb1\xee\xd1\x07\xef\xbd\x43\x26\x5a\x10\x0c\x85\x2a\x5a\x5a\x76\xcd\x18\x69\x11\x8b\x2d\x80\x19\xd3\x77\xd5\xf4\xc9\xfe\x92\x92\x00\x2a\x31\xcb\xe8\x9c\x74\x03\x29\xb1\xb4\xbc\x8a\x53\xd3\x2a\x25\x2f\xad\xac\x52\xa7\x6a\xb9\xaa\x4a\x8d\x35\x65\xe0\xd2\x79\x33\x87\xd6\x8f\x1b\x57\xdf\xd0\x6c\xe7\x53\x34\x6a\xcb\x94\x6a\x30\x8c\xde\xd2\x34\xe3\xdc\xae\xdd\xe7\xd5\xb2\x22\xaf\x98\x61\x44\x77\xcf\x98\xd6\xaf\x7f\xfd\x80\x46\x38\xa5\x4f\xcd\xa6\xa7\x26\xbe\xb9\x7d\xdb\x36\x5f\x3a\x2d\x93\x48\xc5\x9c\x49\x45\x3f\xa2\x32\xcd\x83\xa9\xd9\xc3\x75\x9e\x71\xf5\x43\x67\xb6\x80\xf3\x62\xbd\x5a\x61\xe6\xc7\x66\x97\x14\x4a\xf3\x93\x15\x6a\xb6\x34\x54\x86\xfb\x4c\xea\x0d\x4a\xf4\xb9\x08\x63\x8f\x05\xa9\xc5\x58\xc2\xe6\xf4\x1b\xf5\x68\x3a\x70\xa4\x7b\xb0\x5b\x60\xe2\x94\xd9\xc4\x3a\xfd\x4e\x8c\x36\x83\x38\x34\xd4\xd9\x11\xb7\xaf\xa4\x1d\x4a\x26\x9b\x16\x00\x6e\xfc\x46\x8c\xd9\x97\x86\x19\x12\x2c\x2d\x50\x32\x64\x9b\x9e\x0b\x08\x5f\x1e\x0d\x14\x27\x31\x40\xb4\x32\x06\xa0\x27\xc6\x08\xfe\x72\xa0\x64\x44\x2a\x95\x51\xa5\x08\xae\xdd\xff\xd9\xd2\x65\x3f\x3c\x73\x6c\x6a\xba\x98\x15\x49\x15\x5c\xeb\x1c\xb0\x11\x1c\x78\x0d\xdc\x2b\xd3\xe8\xd3\xbd\x1a\xad\xc4\x90\xaf\xe1\x0c\x76\x73\xae\x2e\x07\x88\x94\x62\x09\x27\xc2\xfa\xbf\xa2\x59\x45\x9e\x55\x70\x43\x8a\xd3\xa5\x54\xfc\x29\x73\xb0\x4e\x27\x53\xba\x96\x6d\xd9\xb1\xbe\x39\x58\xd2\x78\xfb\xf2\x6d\x53\x8a\x0c\xe9\xa3\x44\x86\xde\xc5\xbd\xb5\xf0\xa3\xdc\x31\xab\x4f\x4e\x9f\xfa\xc0\xa4\xca\xe4\x68\x53\xbf\xaa\x9a\xe1\x56\x65\xaf\xe6\xb9\x95\xbd\x45\xa2\x54\x9d\x3a\x30\xb4\x4f\x61\x70\xec\x92\xf1\x59\x12\x95\x84\x03\xec\x92\xc2\xa7\x46\x66\x7e\xa0\x9e\x5d\x38\x2c\x4b\x29\xd5\xe5\xed\x37\xf2\x12\xec\x42\x54\x70\x16\x4b\xd3\xea\x02\x11\x2f\x07\x8f\xa6\x55\x15\x65\xcb\x64\x6d\xce\x41\x7a\xbd\xcc\xd8\x6b\x54\xa6\xa8\x60\xd8\xdd\x63\x87\x6f\x1b\x5f\x93\x65\x91\xd0\x6b\x2a\x6d\x3e\xda\xe8\x6c\x08\xa4\xf4\x5e\x3a\xa7\xa1\xb0\xa8\x66\xfc\x90\xf4\xe8\xe1\x91\xf9\xb9\xc6\xe4\xc9\x79\x25\x0f\xd0\xfa\xfc\x89\x9d\x36\x3f\x61\x32\x47\x79\x89\x86\xd6\xec\x04\x9b\xd0\x38\xaa\x72\x97\x6d\x6e\x67\xc8\x19\xc3\xb4\xf4\xc5\x30\x2e\xb9\x1e\xd7\x82\x7e\xe9\xaf\x58\xab\xc7\x8c\xb5\x88\x8b\xee\x98\x63\x70\x44\x08\x31\xb1\x14\x4e\x37\x12\x1d\x30\x25\x84\xd9\x70\x7b\x98\xa1\x12\x90\x0c\x12\x82\x1c\x55\x57\xdc\xa5\xbf\xd2\x84\xc9\x6f\x53\xec\x28\xd8\xa2\x0b\x1a\x85\x09\xe1\x76\x2d\x36\x3d\xa4\x43\x3d\x73\x22\xc1\x6e\xed\xa3\x22\x5e\x0e\xbc\x44\x83\xcd\x90\x38\x27\x14\x19\xb1\xbe\xdd\xbf\xc6\x02\xfd\x17\x0d\x8a\xda\x8a\x45\x93\x42\x54\x50\x1b\x41\x45\x88\xa0\x55\x21\x96\x44\x77\x55\x9d\x49\xf4\x4f\x15\xbe\x65\xab\xa1\x18\x70\x24\x9e\x46\x1b\xfd\x80\xa5\x5a\x6f\xaa\xb3\x10\x1e\x7c\xeb\x86\xaa\xeb\xde\x27\xdc\x88\x73\x21\x7d\xc2\xd9\x05\x71\xe6\x22\x54\xb9\xd3\xf7\x50\xcc\x0e\xdd\x64\xd4\xff\x9f\xb5\xc3\x28\x6c\x65\xfe\xca\x2b\x82\x8d\xf9\xab\xaf\x0a\x56\xe7\xf1\xeb\x57\x5e\x91\x44\x6c\xff\x59\xd3\xdc\x73\xeb\xec\x3a\xaf\x61\xdb\xff\xae\xbd\xf4\x68\x1d\x95\x49\x95\x60\xac\x58\x89\x00\x9a\x14\x6b\xa5\x98\xb5\xfe\xff\x55\x03\x71\x26\x48\x49\xcd\x52\xd8\x26\x14\xfd\x0a\x10\xea\xd2\xd1\xf4\x9f\x35\x0b\xdd\x1b\x52\x12\x09\xb0\x09\x0d\x82\x72\x23\xd9\x46\xcb\xfe\x83\xc6\x00\x9d\x3c\x6f\x6a\x8c\x8e\x00\x32\x35\xc7\x4f\x09\xd2\x09\xd0\x6a\x76\xd1\x49\x1a\x53\xfc\xe8\x32\x5f\x27\x7a\xf2\x22\xca\x65\x8e\x6c\x04\x8f\x2b\x5d\x66\x28\x9c\x3a\x84\x78\x74\x14\xe4\x8a\xac\xb0\xf6\x21\x5e\x47\xa8\xa2\x40\xa7\x9c\x3c\x0e\x7e\xe0\x24\x3b\x25\x9d\x22\x23\x3f\x78\x6d\x43\x90\x98\x7d\x0e\x07\x8f\x80\x5c\x78\x01\x36\xc2\x0b\x34\x85\x2b\xb3\xeb\x9c\xd6\xa2\x7d\x14\xb4\xaa\xa2\x0b\xf0\x2b\xe8\xbb\xd9\x42\xe1\x36\xc8\x05\x8f\xd4\xa1\x7b\xe7\x76\xe1\x64\xcb\x1e\x15\x64\x9a\x4e\xf4\x9d\x3f\x26\x73\x94\x93\xe8\xe0\x10\x11\x54\x97\xb8\xa5\xeb\x63\x61\xa4\xa6\x78\xb1\xba\xa8\x69\x0c\xb8\x01\xb3\x91\x06\xd1\xfb\x52\xe9\x76\x4b\x66\x3b\xb1\x37\xa5\x43\x82\x55\x2a\x95\x69\x89\xbc\x02\x04\x13\x55\x86\xe0\xa4\xb5\xb7\x66\x5a\xb6\x93\x94\x34\x6a\x5b\xf6\x8f\xe8\xab\x6f\xb7\x60\x40\x48\x82\x04\xe6\x32\x87\x2c\x1d\x57\x88\x8e\xbf\x99\x69\x15\x00\xc2\x50\x72\x9c\xa6\xb5\x55\x90\xb7\x8b\x29\xae\x83\xe8\x15\xe3\xb1\x4c\x09\x7b\xc9\x3c\x10\xb9\x9d\x5c\x5c\x63\xda\x1f\x40\xdc\x17\xe7\xf4\x73\x1a\x4e\xe3\x44\xff\x01\x3a\xf3\x5f\x5a\x8c\xda\x68\x38\x29\x29\x7a\x6f\xf4\x5e\xa9\x52\xa7\x41\x97\x34\xba\xa4\x9b\xe9\x66\x5b\x47\x12\x1d\xea\x68\xa2\x6d\x6c\x5b\xb4\x8d\xfb\x59\x6f\x6f\x0f\xeb\x6d\xfc\x0d\x4a\x26\xfb\xe5\x17\x4e\xa6\xb7\x73\xf8\x12\x90\x4b\xc5\x81\x0e\xe9\xd7\xec\x2f\x8a\x0e\xe9\x65\xf6\x97\xf6\x28\xfb\xcb\xe5\x0e\x69\xa2\x6c\x58\x83\x4a\xe5\x8b\xcf\x37\x78\xa3\x96\xb4\x24\x2a\x8f\xfd\x16\x31\xf1\x8d\x70\x3c\xac\x70\xb1\x69\x4a\xa1\xd3\x40\x1b\x2f\x46\x27\xd0\xc6\xb3\xdf\x76\xbb\xec\x78\x44\x2c\xa2\x29\xad\x4e\x21\x16\x41\x74\x12\x21\x66\xbd\x3d\xa4\x17\xa3\xce\xa3\x43\x73\xbb\x5e\x0c\x70\xa0\x67\x0c\x73\x83\x92\xea\xda\x11\x93\xce\x00\x14\xe0\x10\xcf\x1e\xdf\xaf\xb1\xf1\x78\x98\x63\xfb\x1a\x13\x85\x15\x62\x7b\x78\x54\x89\x9f\x05\xed\x4e\xb7\x88\x13\x11\x53\xcc\x40\x90\x0f\x60\x25\x09\xac\xea\x49\x0b\x8e\x53\xc0\xbb\xdd\x4f\x3f\xc2\xa9\x7f\x9f\x37\xed\x71\xd8\x5e\x9c\x2e\xd7\x33\x6c\x12\xe7\x54\xda\x55\x66\xa5\x8a\xdb\xf5\xf0\x8f\xe0\x3e\xf0\x2d\xb8\x8f\xae\x4d\x80\xf5\x14\xfe\x80\x07\x3e\x08\x2f\x3f\xa6\x7d\xbc\x44\xca\x00\xa5\x4c\x65\xe4\xec\x4a\xa7\xb9\xa0\xa0\x8f\x7b\x4c\xf4\xee\x27\x80\xfb\xb1\xc7\x3a\xed\x79\x13\xca\xed\x21\x88\xae\x3d\x6c\x83\xe2\x67\xbc\x77\x82\xc6\x4b\x1a\xc6\x73\x43\xfc\x38\xe6\xcb\x33\xfc\x6a\x17\xd0\x77\x56\x08\xcb\xa9\x7d\x2e\xbf\x0b\xbb\x94\xe0\x02\xc4\x27\x15\x76\x0a\x63\x05\xb7\xac\xd9\x55\xd8\x0c\x0f\xbd\x7f\xf7\xba\x51\x29\x49\x9e\x7b\x57\xe6\x94\xf6\x2d\x7f\x0f\x4c\x79\xff\x7d\x30\x14\x57\xb8\x5f\xed\x9b\xb0\xbd\xb0\x92\x53\x25\xb1\x0c\x07\xa4\xb4\x9c\xe6\x0b\x0c\x59\x49\x56\xd9\xa1\x67\xbb\x44\x1d\xf4\xb3\x37\xd7\x3b\xbc\xf5\xbb\x3b\x5a\xde\x1d\x58\xd4\x34\x76\x68\xc5\x1c\x97\x48\xbc\xf5\x3b\xa0\xfd\x0e\x6e\x7d\x02\x35\x86\xf8\xc9\x3e\x4a\x31\xa2\x33\xac\x9a\x55\x21\xb6\x50\xec\x33\x95\x78\x06\x64\x8e\x06\xa2\x7d\xeb\xbe\x3f\x31\x6d\xda\x89\xef\xc9\x77\x94\xb0\x14\xf7\x0f\xd4\x03\x45\x94\x94\x52\x60\x2a\xad\x41\x7f\x20\x19\x90\x33\x36\xe3\x85\xe8\x3f\x4d\x7e\x68\xc0\x8d\x06\xee\xe8\x49\x78\x89\x59\x16\x3d\x09\x32\xd9\xc3\x38\x4c\x0f\x81\x97\x71\x2c\x91\x1b\x36\xdc\x68\x15\x3d\xce\x85\x88\x1d\xba\x08\x50\x8e\x74\xc6\xc5\xd0\xd8\x7b\x6b\x30\x66\xf5\xaa\x15\xd6\x37\x01\x3f\x8a\xd4\x72\x46\xd1\xe3\x52\xf8\x1a\xfc\xaf\xaf\xee\x9a\x9c\xdb\x38\x60\x84\x76\xee\xa0\xa4\x47\x3c\xf7\x8d\x98\xb8\xd8\x94\x6b\x0c\x54\x7a\x67\x4c\x13\x2b\x56\x94\x86\x96\x83\x61\x1d\x4c\xfb\x77\x70\x12\x1c\x0a\xf8\x23\xa0\x0a\x88\xea\x26\x1b\xee\xc9\xbc\x53\x2c\x59\xbb\x15\x7e\x3e\xf2\xfa\x6f\x7e\x33\x62\xab\x19\xdc\x21\x13\x77\xae\x63\x45\x02\x2e\x83\x94\x20\x6b\xdb\x01\xa3\xb3\xa3\x0e\x2c\xa2\xda\x29\xb6\xfc\x93\x4f\xa2\x9b\x3e\xf9\x04\x94\xa3\x89\x81\x02\xc7\xe8\x65\x20\x0b\xfe\x31\x7a\x07\x3c\x1f\xef\xd7\xf1\x67\xb5\x54\x25\x35\x22\xf6\x3c\x4f\x30\xb7\x03\xee\x80\x1b\x3b\xda\xe6\xd0\x4a\x37\x80\xd5\x94\x63\xa0\x20\xd8\x06\x0b\xad\xa1\x0c\x76\x1f\x5a\x75\x62\x8d\x1d\x6f\xc0\x91\x8e\x39\xe9\xe2\x20\x0d\x7c\x44\x49\xcf\xa7\xb1\xa3\x95\x5c\x2c\x1d\x2e\x07\xb3\x4d\x5e\x9b\x96\x3c\x7b\x76\x72\x5a\xad\x7c\xa2\xcf\xe6\x83\xfb\x6c\xc9\xe0\x09\x47\xd5\x80\xc2\x8d\x1b\x9a\xea\xf4\x52\x45\x0d\x68\xdd\x2b\xe2\x68\x00\x4e\xb9\xbe\x11\xb1\x2c\x23\x4f\xa1\x97\xfa\x79\x8e\x86\xdf\x9b\x86\x99\xe4\xca\x7e\xb8\xf8\x6c\xab\x7d\xd8\xc2\xe4\xd2\xd2\xe4\x85\xc3\xec\x4d\x4d\x47\x6d\xf9\x86\x40\xad\x53\xb9\xe8\xf6\x01\x61\x31\x5c\xa7\x94\x03\xbe\x71\xa4\x12\x00\x96\x95\x72\x60\x7d\x58\x24\x62\xea\x53\x52\x52\x65\x91\xdf\x8e\x44\x4b\x21\x46\x2e\xa2\xc5\xd3\x8c\xbc\x1e\xde\xa5\x94\xd0\x92\x91\x42\xdd\xa7\x12\x1a\x84\xf7\x7b\x86\x62\x2f\xa3\x58\xcf\x90\x6c\xc8\xd8\x62\x9b\x30\x31\x88\x76\xa7\x2e\x08\x4c\x1c\x51\x2d\xc1\x63\xc5\xe7\x64\x58\xa2\xe0\x00\xf0\xec\x42\xe6\x19\xe0\x47\x0b\x8c\xf4\xd8\xc2\x14\xad\x19\xf5\x82\xe7\x41\x57\x1c\x06\x5a\xcf\x53\xbd\x8a\xe4\x17\xe1\x0e\x58\x0f\x77\x5e\x94\x79\x83\x8b\x87\x8d\xe8\xfd\x11\xc8\x5a\xcc\x24\x29\xc1\x02\xed\x80\x9c\x60\x63\xe3\xaa\x51\xf0\xe9\x66\x90\xfb\x71\xd9\x88\x61\x8b\xdb\x1f\x18\xb5\xaa\xb1\x31\x58\xde\xc8\x20\xf6\x5e\x6a\x95\x65\x1d\x39\x72\x24\x4b\x66\x95\xca\x64\x39\xf7\x4c\x68\x9c\x70\x8f\x71\xd5\xa8\xc6\xf2\x60\x23\xfd\x74\xd9\xc4\x64\x4f\xd1\x41\x78\x6d\xff\x7e\x20\x3e\x98\x9f\x9f\x3c\xa9\xac\x61\x49\xc5\xbd\x52\x5a\xa2\x50\x33\x43\x9d\x79\x28\x97\x51\xc1\x81\x30\x53\x72\x4f\xf9\x12\xf8\x0d\x79\x49\x23\x6c\x92\x59\x65\x52\x69\x76\x66\x66\xb6\x54\x2a\x4d\x93\xe5\x14\x49\x24\x45\xd7\xf0\xcb\x46\xad\x22\x7d\xba\xef\x0d\x5a\xf4\x32\x6a\x97\x02\x2c\x7d\x08\x32\x78\x1b\x0a\x6b\x3a\xd8\xad\x0c\xea\xd4\x1a\x91\x1c\xb1\x7e\x18\x94\x28\xa0\x04\xbc\xdd\xef\x61\xf3\xd1\x0a\xaa\x2f\x50\x8f\xd8\xf9\x1a\x00\x7b\xbe\x01\xf3\xe6\x37\x77\x1c\x04\x33\x1f\xf9\xc3\x1f\xdf\xae\x19\x07\xbf\x87\x0f\x6c\x7f\xf5\x67\x9a\xf9\xf2\x0f\x05\xbd\xd5\xf4\x4a\xb1\x2d\x38\xa4\xa1\xda\x68\xdc\x7c\xfd\xcd\x03\xf4\x57\xab\xbf\x79\x77\xef\xc8\x3f\xbc\xf9\xf2\x8d\x57\xe6\x1f\x6d\xb0\x99\xfb\x78\xe1\xe6\xc0\x40\xda\x5f\x03\x9a\x7e\xf7\x13\x18\x3e\xb9\xf7\xfa\x09\x83\x56\x0f\x2a\x31\xab\x00\xe0\x86\xac\xbb\x27\xde\x5f\x89\x6e\xbd\x80\x46\x9f\x42\x51\xa8\xa7\xc5\x58\x0a\xdc\x21\xb1\x11\x49\x27\xb3\xe4\x95\x50\x13\xaa\xae\x21\x06\x07\x1b\x71\x60\x33\x15\x11\xe2\x51\xfe\x81\xe2\x6c\x74\x53\x14\xab\x98\x83\x74\x62\xc2\x82\xb8\xa0\xb6\xb6\xaa\x09\x9d\xba\x9d\x2f\x13\xbb\x95\x02\x3c\xbf\x3b\xc9\x96\x1c\xee\x08\x82\x3f\xc9\x00\xf1\x26\x25\x08\xac\x11\x79\x44\x2c\x1e\x65\x4f\x70\x38\x6a\x62\x1c\xd8\x3e\xa5\xc8\x0a\x94\x40\x54\xf0\xd1\xc0\x9f\xb7\xef\xbe\xb6\x63\xc4\xce\xb7\xe6\xad\xbf\x5a\xf7\xc7\x79\xf0\xfe\x77\x7e\x03\x3f\xba\xb0\x7a\xf5\x05\xe0\xfa\xcd\x45\xb0\x00\x86\xe8\x67\x17\xc3\x5a\xf8\xc3\x73\x71\x09\xef\x73\x80\x05\xc7\x6e\xbf\xdf\xdd\xb4\xc5\x96\x27\x97\xe6\xfd\x32\x7f\xf9\x9d\x3b\xae\xed\x9a\xf7\xd6\xce\x11\xb7\xcd\xb9\xfd\xd1\xd6\xd5\x17\xe0\x47\x88\x7a\xa0\x2c\x3e\xa4\xfb\xc1\x23\x51\xf8\x51\x17\xad\x84\x3f\x5f\x85\x8b\x8f\x00\x62\x4e\x82\xda\xc9\x86\xea\xd1\x16\xc3\xd3\x8d\xe1\x11\x04\xec\xc0\xad\x01\x69\x88\xce\xd1\x76\xc0\xed\x8e\x1e\x18\xc7\x8c\x6a\x7f\xf6\x05\xf6\x7e\xfd\xee\xe8\x77\x60\x1c\x94\x47\x1e\x05\x53\x99\x5e\x60\xdd\x3d\x91\x4f\x17\x33\x63\xa2\xc9\x4d\x13\x23\x0f\x81\x21\xf4\x9a\xc8\xa7\x74\xaf\x78\xdb\x84\xb9\x1f\xc9\x7e\xee\xed\xa8\xa3\x10\x8f\xe4\x9d\x2e\x6b\x3a\xc3\x1c\xb6\x44\x21\x9a\x2c\xe8\x8c\xae\x11\xbf\x1a\x3f\xfb\x3a\xcf\x41\xda\xe8\xd5\x74\xfa\x24\x36\x08\x70\x39\xe8\x98\x2a\xec\x3e\x20\x62\x69\x28\xf2\x5b\xe9\x6e\xcf\xa0\xb3\x41\x23\x9c\xe9\xb0\xba\x49\x8d\xfe\x68\x2a\x7e\x8e\x86\x5b\x8e\xb4\x44\x71\x74\xe7\x8f\x93\xf3\x6a\x60\xb3\xe7\xda\x6d\x79\x2e\xc3\x20\xb5\xa6\x37\xaf\xee\x97\xa2\xad\xd1\x65\x16\x01\x35\x2f\xe7\x12\xd3\xd2\xea\x36\x75\xd7\x5f\x54\x0d\x42\x58\x61\x0d\xb6\xd2\x3f\xaa\xd5\x2d\x74\x0b\x3a\x90\x9f\x88\xc7\x06\xbf\x9b\x55\x0e\x93\xcd\x66\x72\xa8\x34\x52\x95\x4a\xfd\x81\x4a\xa1\x92\x6f\x04\x80\xe1\x45\x2d\xb1\x84\xd1\x1d\x2d\x6a\xc1\xc7\x23\xe9\xab\xb3\x04\x04\x2c\x81\xdd\x2a\x07\x76\xa3\xc9\xca\x11\xbe\x3e\x0e\xf2\x26\xac\x24\x51\x3f\xe3\xb0\x97\x2e\x3b\x51\xf8\x11\xbc\x3c\x61\xa9\x55\x20\x28\xea\x05\x62\xc4\x07\xcf\xc0\x8e\x74\x25\x8b\xd5\xa1\xb1\xfb\x47\x31\x2a\x1f\x6c\x15\x8b\x25\xbc\x3a\xf2\x90\xd3\xa3\xd6\xa4\x99\xd2\x6c\x9a\x26\xc4\xa9\x13\x9e\x1f\xa2\xa5\x64\x93\xad\x2c\xd7\x63\x71\x6b\x75\x26\x4b\x6e\x5e\x12\xbc\xd7\x78\x67\x23\x56\xda\x69\xbc\xd3\xd8\x9c\x94\x97\x6b\x31\xe9\xb4\x6e\x8b\x27\xb7\xcc\x36\xdb\x30\x39\x88\x2b\x1d\x9c\x6c\x98\xad\xb1\xa1\x7c\x34\x6a\x8f\x93\x1d\x63\x53\xd3\x1f\x8b\x5d\xe2\x56\x8e\x95\x6a\xc3\x65\xb3\x9d\x19\x41\x5b\x86\xba\x29\x9e\xb9\x56\xd9\xa4\x4f\xf1\xbb\xea\xdc\x59\xbe\xd2\x9a\xf4\xe1\x73\xf6\x5d\xd8\x37\x67\x78\x7a\x4d\xa9\x2f\xcb\x5d\xe7\xf2\xa7\xe8\x4b\xfb\xa3\xaf\xd2\xbf\x54\x9d\x61\x0b\x66\x38\x67\x97\x85\xb5\x7a\x59\x77\xdd\x00\x1e\x8d\x62\x3b\xe1\x49\x88\xf2\x0b\xa5\xc6\x36\x40\x5e\x12\xea\xa1\xd4\xb2\x7a\x48\x49\x34\x5a\x02\xe8\xe7\xd7\xc3\x21\xcf\x44\xd7\xd1\x9b\x6f\xa5\xad\x12\x6c\x19\x0c\x14\xf0\x1f\x80\x7d\x21\x12\x06\x0a\x30\xf3\x16\x9b\x27\x98\x86\x5c\x46\xdf\xc5\x8d\xb8\xe1\x32\x6a\x10\x35\x89\xf8\x20\x76\x8b\xe2\xf8\x4d\x78\x1f\x4b\x90\x55\x1b\x4d\x98\xdc\xbb\x85\x2d\x7e\xa2\x01\xd7\xe5\xbd\x43\xf0\x11\x67\x05\x26\xc1\x0d\x3c\x7e\x4c\xed\x76\x11\x11\x55\x86\xba\x33\x0a\x8b\x9d\x08\x17\x20\x9a\x5b\xed\xe3\xd5\x7c\x56\x92\x5c\x9e\x66\x91\x9a\x56\x7c\xb0\x72\xd3\x17\xfe\x39\xf5\xc6\xdc\x90\xa9\x76\x26\xfe\x1c\xac\x71\xc8\xfc\xfd\x6f\xdf\xd5\xf1\xe7\x47\x7f\x3c\xb3\x37\x08\x82\xbf\xfd\x0b\x18\x6b\x5a\xbc\xbf\x7d\x92\x29\x2b\x49\x67\x96\x6b\xfb\xf7\xd7\xca\x8b\x2b\xb4\x93\x00\xb5\xc9\x94\x65\xd2\x99\x15\xda\x39\x73\xb4\x0a\xb3\x39\xa8\x05\xcf\xf5\x9a\x68\xc8\xcb\x4f\xb2\x30\xd2\x52\x6b\xff\x01\x2b\xdf\x5f\xb1\xeb\x36\xcb\x60\x53\x28\xd7\x58\xbb\xf7\xc2\xde\xf9\x83\xef\x3a\xf3\xd7\x47\xf7\x7f\x69\x7c\xe1\x4b\xf8\xdb\x6f\x92\x5f\xbe\xed\xc9\x1d\x76\x85\xa6\xc2\xdc\x0c\xe8\x66\x73\x30\x43\x61\xbe\xab\x1a\x26\xbd\x95\xae\xd0\x06\xcd\x0f\xbe\xfe\xdb\x07\xcc\x15\x1a\xad\x3c\x05\xf1\x14\x19\x37\x28\xee\x0a\xd9\x87\x9f\x87\xd8\x48\x32\xeb\xe1\xb1\x2a\xe0\x32\x62\x0f\x08\x1c\x36\x7f\xc1\x82\x34\xac\x9e\x9b\x06\x88\x4f\x52\xd6\x8d\xb7\xdf\x7d\x71\x11\x1b\xc1\xf8\x72\x64\x03\x0f\x4b\x2c\xbe\x88\x57\x53\x2b\x63\xb2\x8a\xb9\x2b\xab\x9f\x59\xb3\xe6\x99\xd5\x57\x17\x1d\xb4\xef\xba\x3a\xf7\x85\x95\x93\xfd\x0e\xb9\xc4\x92\x37\x6c\x56\x43\x6e\x8a\xd8\x64\x99\xe3\xce\x5c\xb4\x4f\x9b\xe7\x9f\x30\xbe\xc6\xa2\x5a\x7c\xd7\x8c\xac\xac\xb1\x9b\xde\x5a\xb1\xfc\xcc\xda\x31\x2e\x6b\x8e\x3f\x57\x43\x8b\x74\xe6\xe2\x0c\x8f\x45\xaf\x6a\x74\x3a\xab\xa7\x64\x4b\x5d\xd5\xab\x47\xd5\xdd\x3e\xbe\xa6\x20\x5d\x27\xa5\x15\xa3\xd7\xac\x19\x3d\x66\xcd\x9a\x53\xaa\x27\x97\x0e\x0c\x0d\xce\xee\x33\x72\x78\x83\x57\xa9\xcb\xaf\xf4\x66\x38\xf2\x7b\xb9\x95\xe9\xf9\x29\x56\x1a\x4c\x6f\x30\xe7\xe5\xba\x8a\xf2\xd2\x15\x7c\x60\xcc\xc2\x3b\x26\x0c\xde\xb1\x7e\x52\x69\x71\xc3\xac\x99\x5e\x4f\x4d\x4e\xaa\x54\xaa\x75\xf9\x47\xf9\xd5\x3a\x00\x82\x83\x9d\x49\x2e\x7f\x41\xaf\xd4\xe4\x52\x7f\x28\xd0\xcf\x5f\xe3\x4d\xb4\xc3\x13\xec\xd7\x6f\xda\x3d\x70\xf6\xb8\x4e\x74\xc4\x4d\xb7\x6a\x95\x37\xc8\xda\x13\xa0\x23\xe8\x7e\x15\xee\xe9\x73\xbb\x89\x26\x23\xb9\x4b\x28\x14\x0b\x83\x1b\x3d\x3c\x6b\x77\xf1\x72\x82\xbe\x4d\x80\x58\xd3\x77\x5a\xc3\x53\xb6\x20\x50\x7b\xd0\x02\x1e\xa8\x8d\xce\x44\x5f\x69\x89\xb2\x86\xd8\x35\x9d\xdf\xdd\xa6\x1d\x1c\x06\x99\xed\xbb\x76\xb5\xc3\x4b\xe8\x08\x7e\xc0\x65\x68\xed\x2a\x14\x39\x70\x3d\x0b\xde\xf1\xc4\xae\xf6\xce\xa7\x06\x77\x2b\x7a\x42\xb8\x1b\xff\x8a\x3d\x1a\xde\xd4\x92\xdd\x5c\x98\x87\x12\x73\x00\xad\xbf\xd6\x56\x37\xb5\x0f\xd3\xa3\x7d\xfe\x69\xeb\x04\x12\x6d\x35\xff\x55\x6b\xcc\xeb\xaa\xcf\xff\xa0\x09\x7a\xea\x47\x39\xa9\x72\xc4\x6b\xe8\x88\x41\x33\x81\x57\x07\x88\x81\x27\x5a\xdc\x82\x12\x7c\xe7\xb9\xc8\x88\x85\x43\x82\x27\x3c\xd2\x46\x42\xd8\x6f\x33\x8a\x3e\x71\x30\x3a\x5d\xea\xf5\x70\xaa\x4e\xc7\x38\x44\xe3\x47\x5e\x1f\x3e\x92\xc9\x48\x06\x14\x59\x34\xe1\x03\x95\x9c\x01\xd7\xbb\x8a\x5d\x88\x46\xa3\x23\x86\xe3\x0a\xc3\xb7\x2c\x46\x83\xc1\x68\x01\xa5\x4c\xff\xc8\x75\x86\x4f\xb2\x27\x7a\xdc\xb4\xff\xe6\x06\x25\xf8\x9e\xc0\x14\x2a\x1e\xbe\xff\xf3\xcf\x63\x76\x76\xf8\x64\x20\x08\x45\xbd\xa8\x1a\x6c\x67\x07\xf0\x14\x95\x03\xe2\x3a\xbf\x31\x0f\x18\x68\xee\x72\x33\x1e\xc4\x11\x11\x35\x6b\x67\xbc\xe4\x46\x61\x94\x74\x86\x75\x7e\xac\xe3\xc2\x88\xf0\xa4\xe7\x07\x8c\x83\xe8\x6d\xc6\x3e\x03\xd1\x9f\xc5\x7a\xb1\x39\x71\x94\x7f\x4c\x9f\x49\x29\x55\x8b\xc4\x03\x3c\x1d\x94\x67\x80\x78\x91\x0a\x5f\x83\x69\x66\x07\x6d\xa3\xb3\x8a\xf1\xd1\x99\x0c\x8e\x60\xc7\x17\xc5\x2e\x10\x8e\x9d\x9b\x6c\xb4\xa3\x38\x0b\xdd\x73\x98\xb9\x64\x67\xc7\xea\xf1\x1b\xa6\xe9\xb6\x8d\x79\x58\xd0\x57\x7f\x78\xcc\x36\xdd\xb4\x0d\xe3\x65\x7d\xf3\x1e\xc6\xb0\x5f\x28\x22\xaf\x2f\x83\x5b\x30\x3a\xcb\xd3\xbb\xb7\x87\xde\x87\x82\x91\x36\x3a\xcb\x0c\x8e\x98\x1d\x6c\x96\x19\x36\x25\xa7\x87\x50\x18\xc3\x2c\x34\x91\xe6\xe9\x0a\x1b\x50\x38\x8b\x75\xe0\x8b\x2c\x3a\x9d\xfd\x08\x4e\x05\x2f\x36\xce\xc7\xb7\xe7\x37\xc2\xfe\xe0\xbe\xdc\x12\x1c\x2e\x41\xfd\xdf\x8e\xfa\xe5\x67\x64\x0d\x36\x04\x7b\xc8\x72\x30\x78\xf3\xcb\xce\xd8\x8b\x4c\x46\x22\x5c\x62\x88\x36\x28\xea\x15\x8e\xce\x10\xee\x25\x44\x8e\x94\x10\x22\x60\xdb\x46\x9e\xf1\x76\x86\x70\x0e\xcc\x67\x21\x18\x62\x60\x09\x9f\x04\x5f\x0c\x81\x80\x4a\x2a\x65\x4b\x38\x33\x7c\x71\x28\x9f\xd4\xa6\x96\x4a\x98\xc1\x10\x85\x3e\x57\x91\xd0\xdb\xf8\x84\x52\x82\xfe\x21\x1c\x26\x29\x41\xff\xa1\x7c\x72\x9b\x2a\x96\x32\x16\xc2\xf9\x48\xb0\x38\xea\x06\x05\xae\xb5\x25\xdd\xa0\xe4\x4a\x65\x5b\x12\x7c\x01\x4d\x6f\x6a\x50\x12\x3f\xa3\x43\x5b\x12\x10\xee\x81\x01\x38\x0e\x9e\x89\x9f\xe5\x72\x61\xfd\x39\x1b\xcd\x33\x7b\x63\xf6\x9a\x1a\x62\x71\x6f\xe2\x35\x26\x9e\x91\x30\x1a\x06\xeb\x0a\x02\x34\xfe\x89\xb5\x25\x1a\xa4\x04\x65\x93\xa9\xd9\xb3\x77\xef\x9e\xf5\xe0\x3c\x3c\x07\x8a\x60\xc1\x8d\xf1\x20\x04\x5b\xc7\x53\x37\xe8\xdf\x87\xe6\x1f\x3f\xfd\xcb\xe9\xe3\xf3\x43\xf1\x00\xf8\xd3\x9e\xbd\xcc\xb6\xbd\x7b\x22\x93\xc0\x79\x50\x84\xfe\x9f\x8f\x1e\xa2\x6e\x8c\x87\xa7\xe0\x29\xf4\x00\x68\x41\x63\xf5\xad\xb7\x57\x15\x16\xae\x7a\x1b\x94\xa2\xf1\x5a\x2a\x84\x85\xb1\x99\x79\x83\x62\x2e\x75\x96\x8b\x72\x06\xdc\x9a\x80\x5b\x87\x25\x05\x58\x71\x12\x9d\xe8\xe1\x8f\xa3\x7f\x36\x30\x35\xfa\x15\xfc\xe3\x1c\xb0\x18\x6e\x9b\x03\xb2\xe8\x94\x05\x27\x4e\x80\x79\x27\x4e\x44\xff\x1b\xde\x17\xfd\x92\x7e\x0b\x5e\x9a\x03\x96\x80\x25\x73\xe0\x25\xfa\xad\xe8\x97\x82\x5d\x4d\x4c\xd7\x0b\xcb\x63\xb2\xa8\x42\x8a\xea\x94\x1c\x75\x4a\x90\x44\x04\xcd\x4f\x87\xa5\x5f\x44\x7e\x88\xa5\x5f\x98\x38\xb3\xb1\x3b\x1c\x55\xd7\x5c\x57\xd7\x1c\xad\x23\x27\xb6\xee\x73\x01\xa9\x6f\xad\xa2\xa3\x4d\x67\x43\x3d\x50\xc1\xda\xc8\x39\xda\x14\xbb\xf3\x1e\x4e\x57\xc7\x90\xe4\x75\x30\x2d\x0e\xec\xd7\xaa\xd7\xb6\xa3\x4e\x6e\xd6\x6b\x39\x74\x7a\x39\x16\x4d\xe4\x46\xcc\x8d\xfe\xa2\x28\xf7\x22\x91\x92\xa8\x51\x49\x53\xb1\x3f\x18\xec\xf6\x45\x97\x05\x40\x21\x26\x4f\xfe\x22\x80\xdd\x3e\x48\x40\x21\x0e\x9b\x9a\x99\xa4\xc8\x7d\x5a\x25\x3f\x0d\x9c\xa3\xf7\xc0\xe7\xa2\x3f\xbe\x09\x8b\xde\x14\x17\x71\x05\xd3\x78\xa5\x36\x72\x1f\x93\x44\x2e\xc5\x4c\x30\x22\xa1\x97\x2a\x72\x0c\xa0\x38\x22\x11\x8d\x8d\xde\x47\x4f\x35\x45\x37\xc2\xf7\x0c\x39\x8a\xe8\x9d\xcc\x3f\xd0\x95\x29\x41\xde\xd6\x86\xbe\x04\xde\x75\x29\xc4\x7e\x51\x7d\x0e\x40\x6c\xc8\xdd\x18\xf0\x8a\x20\x4c\x72\x7a\xbc\x5c\x17\xd4\x27\xd3\x05\xe5\x49\xc1\xed\x07\x9e\x2c\xd0\x5c\x7a\xe4\x08\xd3\xb7\x79\xeb\xe6\xeb\x4d\xa0\xf1\xda\x9e\xb5\x30\x93\x60\x1b\x84\xa7\x8c\x86\xd1\x17\x56\x9c\x2b\xd3\xd5\xe9\xca\xce\xad\x78\x01\x46\x47\x4f\xf9\x11\x1c\x02\x5f\x83\x43\x3f\xd2\xad\x6d\xd1\x0b\xe3\x32\x68\x30\xb1\xb6\xa9\x7e\x12\x00\xb7\xb7\xb5\xbe\x7c\x6c\xfa\x9a\x43\x9f\xce\x6c\x04\xa0\x71\xe6\xa7\x87\xd6\x4c\x3f\xf6\xf2\xfb\xc2\x64\x10\xc7\x6e\x88\xcb\x4f\x84\x75\x96\x8e\xca\x44\xfc\x80\x60\xf3\x6d\x70\xf8\x74\xc4\x13\x99\xbd\xeb\x47\x44\xfd\xc0\xcd\x13\xe3\x93\xd8\x14\x87\x56\x66\x1c\xfa\xeb\xa1\xb7\x47\x33\x91\x48\x84\xf9\x09\x3e\x06\x46\x60\xb5\xdc\x68\x13\xe3\x96\x8b\x6d\x70\xd3\x07\x1f\xc0\x4d\x36\xb1\x5c\x2e\x66\x2f\x89\xd1\x92\xed\x45\x38\x8b\xde\xfa\x09\x3a\x7c\x31\x32\xd8\x91\x19\x1c\x39\x32\xc8\x5e\x0a\x8e\xa4\x17\x84\xc3\xd4\x8d\x35\x6b\x20\x46\x3f\xa0\x84\x70\xe4\x41\xfc\xc4\x0d\xea\xb1\xc7\xd0\x98\x14\x77\x64\xa2\x3c\xd8\x09\xfb\xf6\xed\xd3\x77\x3d\x36\xb2\x9b\xce\x4a\x1a\x9e\x95\x40\x6c\xc3\x5e\x94\x06\xb0\xb6\x8e\xc9\xca\xe2\x7d\x53\x1c\x43\x03\x0f\x47\xbb\x6d\x72\x14\x8f\xc1\xd9\x0c\xc0\x01\x94\xb4\x87\x66\xc2\xcd\x25\x5b\xcf\xa7\x67\x8c\x96\xba\xdd\xc1\x69\x8d\xbe\x5c\x09\x9b\x5b\xbf\x78\xd1\xee\xda\xfd\x00\x14\xf9\x2c\x83\xde\x83\x0d\x75\x0b\x86\xf5\x2a\xf3\xd4\xba\xd1\x30\x3a\x0d\x7c\x57\xef\x6c\xb0\x72\x4a\x85\x02\xf4\x69\x86\xdf\x18\xb7\x36\x9f\xd8\xfb\x12\x7d\xfe\x77\x0d\xef\x2c\xd6\x69\x32\xd5\xd6\xb4\x9c\x69\x1b\x26\x0c\xd7\x88\x87\xdf\x79\x7c\xdd\x12\x5b\x95\x88\x49\xcf\x30\x94\xa1\x91\xbf\xba\xf7\xba\x43\xf7\x5e\x79\x13\x14\x6d\x19\xd0\x72\xf2\x91\xaf\x8e\xff\x69\xd9\xf0\xe1\x26\xf8\x22\x48\xa5\x93\x94\xb4\x6d\x24\x95\xa0\xdb\x96\x4f\x76\xb0\x88\x87\x79\xca\x03\x78\xd6\xe6\x74\x29\xc9\x5e\xb2\x92\x46\xf4\x95\x28\x20\x20\x0a\x1a\xf0\x62\x75\x72\x6f\x51\x20\x88\xa1\xef\x69\x37\xe6\xf1\x63\x23\x92\xed\xb1\x16\xe9\x89\x52\xd4\x73\xad\xc2\x4d\x95\xe7\x99\x61\x07\xfc\x16\x76\x98\xf3\xe4\x29\xe6\xd7\xe7\xd2\x29\x66\x8b\x44\x6a\x4c\x96\x28\x73\xd5\x62\xbf\x26\x5b\xe3\x17\xab\x73\x95\x92\x64\xa3\x54\x62\x31\xa7\xd0\x73\x5f\x37\xc3\xe7\x89\x80\x93\xde\x3a\xff\x55\xf4\xe4\x17\xb0\xe3\xd5\xf9\xf3\x5f\x05\x1c\xb0\x02\xee\x55\x58\x0b\xcf\xc0\x2f\xcf\xad\x58\x71\x0e\x58\x40\x09\xb0\x90\xd0\x99\x5b\xad\x7f\x46\x14\xa7\x88\x82\x41\x51\x4a\x71\x9e\xc8\x23\x3f\xfc\xe9\xe8\xfe\x86\xe4\x02\x29\x9b\xa5\xdf\xba\x7c\xf9\x56\x7d\x16\x2b\x2d\x48\x36\xf4\x1f\xfd\xe9\x61\xb9\x47\x74\x94\x88\x53\x17\xf4\x78\x13\x0e\xcd\x59\x71\x0e\x7e\xd9\xe3\x85\xb0\xe0\x56\x6a\x68\xa8\xd7\x57\x23\xfa\xfd\x72\xac\x8d\x07\xa0\x18\x23\x31\x87\x21\xab\x1f\x1d\x81\xb5\x77\xc7\x34\x38\x51\x7b\xa2\x6e\x2f\xf2\x00\xa2\x93\x8b\x11\x1a\xd1\xe4\xe6\xa4\x05\xa5\x69\x3d\x28\x0a\x90\x55\x05\xb6\x2d\xc4\x7a\x82\x46\x6e\x55\x35\x97\xcb\x96\x67\x89\x98\xdc\x52\xc6\x71\x77\x60\xcf\x1d\x63\xcf\xee\xdc\x34\xfd\x8e\xe5\x0f\x02\xf1\xde\x67\xed\x8d\x65\x9c\xed\xaf\xe6\x6a\x2b\xf8\x36\x43\xae\xc9\x39\x0b\x16\x65\xed\x69\x6e\xde\x33\x33\xf2\xd1\xac\x31\x5b\x77\xbd\xba\xa7\x63\xd7\xe2\xad\xbd\xcf\xd2\xbf\xf4\xcb\x8f\x5e\xce\x2e\x01\x4c\x9f\x5c\xf0\xb8\x78\xc1\x9a\x4b\xf7\xdd\x31\x6d\xd3\xce\x73\xe3\xee\x5c\x98\x02\x72\x47\xfd\xc6\xca\x55\x35\xa6\x5e\x34\xf1\x5a\xf8\x95\x21\xbf\x4f\xd1\xb7\x7a\xf0\x68\x33\xce\xa6\xfd\xb5\xf2\xad\x8b\x77\xb5\xef\x79\x65\xcf\xd6\xc6\xb9\x3b\xcf\x52\x3d\x7d\xfc\x0e\x26\xbe\xe0\x7a\xf8\xf8\xc5\x28\x01\xbc\x92\x16\x36\xbb\x49\x74\x90\xf9\x7f\xd5\x7d\x09\x7c\x1b\xc5\xd9\xf7\xce\xec\xa5\xfb\x5a\x69\x65\xdd\xb2\x4e\xcb\x87\x64\x4b\xb2\xe4\xdb\x8a\xed\x38\x89\x1d\x27\x8e\x73\xc7\x89\xe3\xdc\xf7\x09\x39\x49\x88\x21\xe4\xe0\x86\x04\x52\x20\xe4\x6a\x80\x70\xb6\x25\xd0\x70\x15\x1a\xa0\x25\x94\x16\x48\xb9\x1b\x5a\x9a\x04\xde\xb6\x94\x12\x28\x94\xb6\x90\x68\xf3\xcd\xcc\xca\x8e\xed\x84\xd2\xbe\xef\xf7\xfe\x7e\xdf\x97\x58\x3b\x3b\xb3\xb3\xb3\xb3\xb3\xcf\xcc\x3c\xcf\xcc\xf3\x3c\xff\x34\xf1\x6b\x41\x60\x8b\x88\x36\x4b\x54\x56\x32\x81\x5e\x1d\x34\xb8\xa1\xb7\x0e\x22\x96\xb3\x3f\x7f\x4b\x2f\xcf\x41\x14\xef\xc7\x6e\x79\xdc\xb5\x45\x21\xaf\xcb\x4a\x62\x16\x47\xc2\xe3\x2a\x2f\x9e\x98\xac\x08\xbb\x12\x4a\x83\x5a\xb1\x58\xc5\xf0\xeb\x3f\xbc\xea\xfd\x33\xd2\xb9\x4f\x1f\x9a\x3b\xf7\xa1\x4f\x01\x43\x42\x70\xeb\x60\xa6\xb8\xbd\xb7\x44\x13\x38\x1d\x6f\xaf\x72\x5b\x4c\x66\xa7\x9e\xec\xe3\x35\xf9\xab\x03\x7e\x83\xd6\x16\xf0\x14\x56\x3b\xcc\xf5\x1a\xae\x83\xb7\xab\x8e\x3e\x06\x1a\x51\x71\xfd\x8b\x95\x9e\x18\xc4\x4a\xa3\xf6\x08\x9f\xa7\xd9\xc9\x44\x3e\xac\x43\x5c\x4b\x37\xb6\x91\xed\x5d\xcd\x41\x2d\x10\xc2\x08\x61\xa8\x6f\x79\x80\x40\x13\x5d\x0d\x22\x0d\x3b\xb0\x76\x0f\xe9\x73\x48\x48\xa4\x05\xd9\x27\xa7\x07\xf0\xd8\x07\xa3\x07\x13\x04\x26\x8f\xb0\x1f\xfb\xf2\x21\x80\x7a\x58\xa5\x03\x88\x58\x35\xa8\x1c\xfc\xa0\x67\xea\xd4\x9e\x4e\x70\x43\x4d\xa3\x4e\xba\x95\xd7\x31\x34\xaf\x5e\x0f\x0e\x34\xda\xf4\xda\x78\xb9\xcb\x46\xc3\x17\xd9\xf1\x7e\x46\x65\x32\xf3\xbc\xe0\x31\xaa\x99\xe8\x9b\xd6\x29\xad\x5e\x70\x3f\xcf\x23\x66\x4a\x5a\x52\xd4\x99\x97\x17\xe0\xd4\x31\x7f\x5d\x01\xf6\xb5\xb6\x81\xde\xe9\xa1\x95\x6a\x33\xb7\x52\xfa\x25\xad\xa0\x69\x35\xf3\x8b\xce\x21\x99\xce\xce\xcc\x90\xac\x3f\xee\x17\xad\xe0\x88\x86\x87\xb4\x42\x7b\xbd\xb4\x57\x4a\x1f\x2d\xb4\x73\x76\x9b\xb6\xc6\x61\x84\x93\xc1\xfe\x7b\x3e\xc8\x0b\x08\x5a\x00\x69\x8d\x39\x4f\x0f\x11\x3f\xba\xd1\x57\x90\xfd\x07\xab\xa1\x81\xf6\xbe\x15\x27\x2b\xd2\xd3\xbc\xcd\x0e\x51\xe3\x15\x0c\x4a\x30\x5d\x7a\xa4\x4c\xc1\x42\x56\x1d\x51\x3d\x0c\x3e\x06\x0c\x84\x4a\x05\xf1\x7d\x46\x53\x1f\x2a\x29\xc6\x89\x46\x5a\x35\xe2\x9e\xcb\xa8\x56\x6a\x0e\xb5\x09\xcf\x70\x34\x9b\xcc\xd9\x00\x01\xa1\x0f\x5d\x82\xc8\x04\x21\x19\x6e\x0d\x73\x00\xfd\xe6\x08\x44\x73\x34\xef\xc7\xee\x33\x93\x51\x3a\x9c\x70\xd3\x9e\x7f\x23\xc5\x0a\xfe\xf9\x10\xa0\x27\xcd\xe9\x4e\x25\x3b\x17\x67\x5f\x00\x82\xee\x3d\x9d\x20\xfd\x2e\xad\x32\x49\x5f\x59\x04\x2d\x2c\x56\x9a\xc0\x48\x9d\x99\xae\x3e\x7b\x4c\xfa\x42\x67\x36\xeb\x80\xe6\x65\x70\x07\xd0\x3b\x6b\x8b\x12\xa1\x4a\xbb\x01\x00\xa0\xb3\x57\x84\x8a\x22\x75\x2e\x23\x7c\x0a\xa5\xd7\x5d\x48\xb7\xf5\xa6\x1f\xc9\xe5\xaf\x18\x98\x0e\xa0\x1b\x28\xef\x9b\xb8\x50\xda\xb0\x12\xbc\x92\xd5\xe0\xd2\xeb\xc6\xe8\x03\x46\xf8\x95\xce\xfc\x92\x74\xe5\x6f\x51\x1f\xfa\x9b\xce\x2c\xcd\x56\x07\x16\xcd\x58\x53\x54\xb2\x66\x41\xa7\xc3\xa1\x70\x75\x4e\xdd\x5c\x1d\x5b\x3b\x6f\xb2\xdd\xfe\x1f\xa6\xcb\xfb\x9f\x6c\x0f\xfb\x05\xd5\x42\x4d\x45\x12\xca\xd5\x68\x5a\xc0\xc0\xf7\xd8\xa9\x3e\x01\x67\x0c\xa3\x36\x09\x25\xd3\xd8\x91\x07\x59\x81\x24\x68\xe9\x30\x67\xdd\xce\x13\x67\x79\x58\x24\xb4\x5e\xd0\x54\xab\x03\x02\x1a\xb3\xe4\xa5\x1d\x44\xef\x56\x11\x11\xaa\xe8\xc3\x85\xe0\x05\x20\x92\x62\xe0\xe5\x04\x24\x52\x86\x72\x49\x68\x96\xe0\xe1\x02\x3b\xe2\x2c\x14\x4a\xa5\x3e\x60\xed\xca\xf3\x69\x39\x15\xab\x00\xc1\x20\x50\xb0\x2a\x4e\xeb\xcb\xeb\xb2\x06\xf4\x4a\xa5\x02\xc0\x80\x7d\xa2\xd7\x8c\xe4\x8a\xca\xd1\xf5\x2e\x0f\x47\x97\x85\x42\x65\x15\x8e\xfa\xcb\x69\x3a\xe3\xb3\x99\xbd\x13\xf7\xd9\x43\x42\x30\x88\x31\xff\x5a\x5b\x2d\x4f\xa6\x4c\x82\xb0\x7c\x39\x8e\xed\xda\x75\x10\x47\xa6\xcc\x98\x31\x05\x47\x97\x5c\x7e\xf9\x92\x3b\xd5\x5d\x6b\x95\x4c\x89\x43\xa1\x53\xab\x59\x8b\xe0\x62\x7a\xa4\x1e\x0c\x09\xc9\xaa\xd5\x3a\x85\xa3\x84\x51\xae\xed\x52\x8b\xb5\x1a\x85\xc9\x18\x1b\x9f\x6e\xd4\xf0\x8b\x4e\x48\x5f\x9c\x58\xb4\x3e\xdc\x19\x00\xc0\xa4\xd0\xd4\xd2\x87\x42\xe5\x42\x10\xbd\x29\x86\x2c\x6c\x7d\xab\x55\xf8\x31\xc6\x99\x5b\x09\x6a\x56\xe2\x84\x5d\xd2\xa4\x5d\x2f\xe3\x84\xce\x3f\x03\xea\xcf\x9d\x38\x69\x09\x9a\xf2\x7e\x25\xfd\x89\xf8\x49\x37\xe3\x83\xa2\xa7\x8f\xd7\xf5\x10\x6c\xa3\x34\x55\x8f\xe6\x62\x8c\xa7\x35\x1d\xcd\xc7\xcb\xa8\x35\x88\xf2\xb7\x51\x37\x53\xdf\xa3\xf6\x11\x3b\x7b\xb2\xa3\x12\xc8\x85\x30\x17\x0e\x4e\xff\xd6\x7c\x83\x76\x34\xbf\x2d\xfe\x5d\xe1\xb7\xdd\x0f\xa0\xec\xb9\xf8\xfb\x24\x90\xff\xe0\xf7\xfb\xa7\x65\xbf\x7f\x71\x8e\xaf\xbd\xc4\xcb\x32\x5c\x4e\x02\x69\xf9\x25\x62\xac\x1c\x64\x07\xc4\x2e\x99\x33\x17\x03\xdd\x5d\x17\x9e\x00\xe5\x40\xea\xba\x38\x6d\x40\xe4\x9c\x6e\xbf\x7c\x37\xfe\x03\xb7\x5c\x1c\x39\x2b\x07\xf4\x80\xd8\xa5\x32\xca\x7f\x39\xdf\x65\xdc\x39\x8e\xea\xf3\x08\x3f\x92\x1a\x47\x2d\xa0\xae\xa0\x6e\x40\xac\x40\xae\xd5\x52\xbd\x48\x99\x80\x07\xbd\x16\x54\xf2\x6c\x49\x5b\xfa\x8c\xa5\x52\x04\x56\x0d\x77\x3d\x62\xed\x43\xd6\x1b\x89\xbc\xd7\xdb\xf6\x41\x39\x4d\x56\xea\x90\x97\x23\xbd\x62\x50\xc6\x9d\xc3\x0c\xaa\x8c\xbf\x26\xb2\x62\xaf\xee\x66\x2e\x41\x96\xfb\xff\x40\x8e\x63\x01\x35\x05\x49\xac\x8f\x90\x08\xfc\xd8\x9a\x0c\xf8\x3d\xae\x90\xfe\xd4\x3e\x2c\x89\x2f\xdc\x65\x4d\x04\x7c\x05\xe1\x80\x8c\x99\x80\xf2\xf4\x62\x37\x64\x49\x7e\xd0\x8c\x82\xcd\xd3\xa6\x5e\x83\x82\xd7\x40\xe0\x35\x70\x1d\xe1\xe7\x84\x7c\xbe\xe9\x6e\x8b\xc2\x60\x4c\x5a\x9e\x00\x41\xa5\xc5\xa6\xd6\x14\x1b\xa6\xbe\x2a\xf2\x06\x43\xd2\xf2\xc9\x7d\x64\xd1\xe1\x2e\x79\xe9\xa1\xe4\x3c\x35\x05\x50\xdb\xe4\x08\x55\x3d\x6b\x52\x2c\xe2\x0f\xd5\x35\x44\xf6\x9d\xc2\xab\x32\x0b\x2b\x67\x8c\x2f\x0d\x47\x93\x33\xd2\x32\x8a\x0a\xae\x53\x0e\x18\xe2\x7d\x72\x0b\xd1\xf6\xc0\x2e\x1e\x71\xb8\xe3\xb5\xd7\x6e\xc6\xac\x9d\x28\x1c\x5e\x85\x1e\x84\x2a\x70\xed\x16\xc2\xea\x9d\xd9\x8d\xa2\xe8\xe9\x39\x3d\x5c\xfa\x3c\xa5\xc8\xe6\xf4\x2c\xe6\x51\x3f\x22\xfc\x7c\xce\xf2\x9d\x70\xbb\x29\xec\x81\x2b\x46\xac\x6b\x72\xe0\x8a\x78\xf6\xd1\x11\xd3\x6f\x3e\x2e\xab\xc4\xe2\x16\x8d\x13\xcd\x7c\x34\xdf\x85\xc2\x41\x19\xea\x0f\xa3\x64\x0a\x29\x53\x3a\xe5\xc6\xa6\x49\x7c\x2a\x87\x89\x87\xce\x88\xc7\xfc\x20\x71\xcc\x47\x73\xb2\x36\x3b\x5e\x05\x4f\xf7\x7e\x2b\x72\x2e\xf3\x88\x75\x44\xcd\x20\xed\xeb\xbb\x90\xc8\x25\x57\x43\xd1\xca\xe2\x41\x99\x51\x54\xdb\x8c\x75\xc1\xf2\xd6\x80\xca\x57\x1a\xac\x33\xda\xe0\x65\xbd\x67\xd5\xb9\x2b\xd2\x04\xe3\x48\x7f\xdd\xf0\x44\x29\xad\xa5\xa7\xee\x29\x30\x3a\x02\x26\x8b\xc5\x14\x70\x18\x0b\xf6\x4c\xe5\x0c\x4e\xe9\x83\xcf\x74\xfa\x02\xe3\x7e\xb5\x4e\xfc\xf5\x6d\xc6\xdb\xd7\x79\x46\xc7\x79\x4f\x73\xec\x8a\x5b\x0a\xea\x19\xb6\xb4\x60\x5c\x6b\xb4\xfc\xb2\x79\x01\x3b\xfd\x68\x5f\x0e\xbb\xbf\xc4\x65\x93\xf3\x30\x8a\x40\xba\x7f\x2e\xd3\xbf\x78\x14\xd0\x39\x81\x1f\x3f\x0b\x66\x60\xb9\x2f\xdc\x5a\x5e\x91\xaf\xf0\x84\x7d\xe5\x57\xe7\x42\x48\x52\x81\xc9\x6f\x37\x7a\x8c\x60\xf6\xd8\x40\xab\x51\xa9\x34\xb6\x06\xc6\xce\x86\xd0\xb1\x96\xf7\x83\x8c\xb5\x4c\xbb\x06\xa8\x77\x03\xe3\x6c\x1b\x5f\x37\xca\x5e\x3d\x74\x9c\x11\x3d\x1b\xd5\x53\x55\xa2\x8a\x9b\x5a\x37\x48\x47\x71\x0e\xe9\xab\xdd\xd2\x67\xb3\x45\xbf\x47\xce\x01\x4a\x03\x7d\x39\x02\xdf\x52\xf6\x00\x9b\x63\x81\x6a\x42\x3c\xec\x54\xbc\xdf\x4d\xb4\xa3\x42\xde\x3e\x3d\x29\xc4\x9c\x12\x6c\x0a\x12\x23\x3d\x11\x89\x76\xb9\x7e\xca\x11\xf5\x7f\xb9\x9f\xd2\x78\x8f\x04\x71\xf1\xbd\x76\x77\x18\x6f\x87\x0e\x85\xb1\xaa\x1b\xe3\xc5\x1d\x44\xfa\xed\x6b\x28\xb8\xe6\xc9\x6b\xe6\xe3\x2e\x84\x09\x9e\x40\x9b\x04\xc2\x05\xbe\x40\xc2\xba\x6b\x21\xa6\xe1\x7d\xa7\xf4\x21\x97\xc7\x1f\x48\x5a\x3b\x77\x67\x5f\x38\x9d\x7d\x56\xe3\xd3\xdc\xaf\xd1\x70\x19\x74\xf8\xd8\x3e\xac\xe1\xaa\xce\xd7\xb5\x3e\x78\x34\x47\xee\x3b\x72\xe4\x0f\x3e\xc4\x70\x3c\x38\x22\xf7\x93\xf4\x8c\x64\x34\x5c\x3a\x7e\x46\xe5\x42\xb2\xac\xb9\x2f\xd2\x50\x17\xf2\x47\x62\x93\x66\x55\xa3\xde\x93\xbd\x01\x17\x8b\x4a\xf5\x69\x38\x0e\x1d\xb5\x1f\xdb\x86\xdd\xb9\xa0\xf3\x75\x4d\xff\x35\x7c\x33\x35\x89\xa0\x2e\x61\x08\x0f\xd9\xcf\x78\x6e\x8f\x07\x6f\xf1\xe7\x58\x81\x30\x66\xe5\x31\x4b\x00\x89\xed\xbe\xac\x85\xee\xf7\xe1\xbd\x0e\x34\x3f\xe2\x1e\x95\x73\x7a\x52\x47\x7c\x89\xe7\x14\xc6\x13\x17\x7b\x47\xa3\x67\x6a\x11\x43\x88\xb8\x42\xb3\xba\x2a\xd9\xdc\xe4\xb4\x3a\x8d\xe0\x0f\xa3\xb4\x16\x6d\xe7\x36\x48\x97\x7d\x91\x57\xdc\x75\x7b\xcb\x81\x9d\x36\xc0\x88\xba\xd6\x92\x42\x8b\xcb\x2d\xf2\x79\x43\x3d\xfe\x4a\xdb\xbc\x89\x1d\x3b\x26\x5b\x38\x81\xa5\xd5\xab\x97\x94\x8e\x06\x34\xab\x7c\x72\x80\x71\x5e\xd6\xd1\x18\x7f\x39\xae\xa6\x01\x9c\x95\x99\xf4\x70\x48\x97\x2f\x55\xea\xae\x60\x15\x6d\x50\x3c\x3d\xe4\x63\xce\x78\xeb\x4f\xa6\xef\xd8\xcb\x41\xdf\xd8\xe4\xcc\x58\x5e\xcc\x6b\x43\x9d\x93\x17\x5d\x4d\x1d\xbe\x49\x8b\x17\xee\x68\x17\x27\x8b\x1a\xae\xc6\x04\x94\x50\x3f\xd0\x4c\x0f\x71\xa9\x41\xc4\x43\x9d\x60\xcf\x53\x36\xc4\xa7\x52\xc4\x5f\x1d\x92\x68\x20\x06\x66\x41\x0d\x84\xad\x74\x4c\x32\xfa\x6a\x58\xbe\x42\x5a\x91\xf6\xfb\xfa\x60\xd2\xcd\x98\x80\x70\xd3\xd0\x69\x44\x6c\x85\xb2\x4a\x17\x41\xd1\x4c\x78\x8d\x66\xc8\xcb\xae\x81\xdc\x00\xfe\x89\xd1\xba\xac\xe1\xf0\x82\xc5\xc6\xc0\xd0\x18\xe3\xd4\x98\x55\xd0\x90\x31\x08\xf0\x0b\xbd\x82\x13\xdb\x33\x9e\x43\x4f\xea\x39\x95\x4b\x61\xed\xda\x7c\xb8\x7b\xdb\xbe\xf0\xc4\x54\xe8\x1e\x90\x1f\x8d\x7a\xf3\xbd\x25\xed\xe5\x45\x22\xcb\xab\x54\x2a\xf0\xe1\x37\x43\xaf\x78\x76\x69\x32\x05\x56\x8f\x64\xe9\x39\x07\x27\x88\x1e\x61\x3d\xf3\x7a\x9e\xcb\xa3\xb7\x56\x49\xff\xb8\xb6\x78\xec\xa8\x18\x00\xac\x46\xd5\x06\xca\xdb\x3a\xb3\x87\x78\x2d\xa0\x0d\xca\x69\x0a\x21\x70\xbd\xa7\xf3\xd1\x3b\xba\x0e\x6d\x2f\xef\x59\xd0\xe8\x04\xd6\x70\x7c\x78\x28\xbf\xa0\x7e\xda\xea\xee\x42\x25\xa4\xc1\x57\xa7\x17\x9f\x7e\xe1\x46\x41\x29\xdd\x31\x53\xfa\x7e\x80\xae\xac\xd3\xf2\x3f\x45\x34\x04\xd0\xfc\xb7\x89\x3d\x4b\xd5\x52\x1d\x88\x8f\xa1\x30\x6a\x2a\x5e\x46\xc0\x52\x30\x2a\x39\x47\x48\xd8\x67\x0b\xf6\x50\x52\x02\xe4\xb1\x0d\xb0\x41\x72\x82\x1d\xe7\x58\xe3\xb2\x81\x1c\x16\x90\x78\x6b\x0c\xd2\xbd\x8a\xec\x1e\xec\xaf\x8e\x13\x81\x80\x17\x81\xf5\x00\x5b\xbf\x93\x71\x9a\xa7\xe5\x2d\x45\x25\x90\x43\x21\x17\x17\x50\x0b\xe2\x4c\xa9\x34\x22\xb2\x7a\xaf\xe3\x83\xda\xb2\x1d\x05\xea\xe1\x5c\xcc\x9b\xfd\xab\xb4\x5f\x19\xae\x4c\x85\x00\x23\x65\x22\x95\x10\xd6\x84\xc1\xd3\xd9\x7f\x44\xe2\x1c\x57\x19\x54\x81\x53\xd2\x81\x50\x29\xc7\xa5\xfc\x9c\x0e\x1c\xfd\x0d\x60\x80\x55\x6f\x7e\xda\xaf\xb3\x39\x2c\x4f\x9f\x60\x03\x67\x00\x0d\xf2\xd4\x5e\x4f\x8b\xe3\x26\xc8\x01\xaf\x89\xbe\x57\xcf\xe8\x4b\x35\xe9\x85\x30\xb2\xa3\x3c\xf3\x81\xaf\x30\x11\xfc\xc4\xa6\xf3\xe5\xb7\xe5\x01\x95\xf4\x8d\xc5\x12\xf4\xb7\x9a\xff\xba\x5d\x6f\xf1\x05\x47\x19\x9f\x9f\xa3\x70\xe7\x01\x0d\xac\x88\x84\x2b\xe8\xe9\xa6\xdb\x0a\x2a\x1f\x8c\xd6\x48\xb3\xbc\x45\x4c\x85\xb7\xa2\x20\x98\x62\xbd\x35\x91\x70\x12\x64\xd8\x4c\xc4\x5f\x52\xd3\xa5\xaa\x0f\x06\x4a\x60\x77\x10\x44\xb5\x1b\xad\x63\xf2\x43\xaf\x6c\x0c\xc2\x10\xe0\x00\x0b\x3c\xa3\x6c\x56\xb5\x73\x27\x60\x61\xc9\x62\x70\x48\xfa\xfb\x88\x96\xf7\xab\x9d\xa9\xba\xd8\x83\xb5\x85\xb7\x59\x83\xa0\x22\x7f\x0c\xe2\xba\xbd\xd2\x7e\x70\xcc\xdf\x2e\x98\xf2\x7c\xd2\x54\x30\xc6\x3f\xca\x28\xd8\x43\xd2\x8c\x9f\xe9\x59\xb3\xe1\x64\xa4\x06\x54\xca\x63\xa0\x9b\xa7\xd8\x99\xe8\x6b\x4d\x43\xf2\x00\x62\x61\x82\x32\x78\x01\xa2\x47\x0e\x4d\x85\x78\xad\x95\xd8\x9a\xa4\xb0\x36\x87\x48\x46\x04\x22\x8b\x22\xf1\x1d\x12\x97\xff\x76\x20\x47\xc3\x68\xd6\xc3\x10\x5d\x7e\x6c\x9d\x4b\x13\xc0\x02\xc1\x1c\xb4\x06\x04\x18\x24\x6e\x1a\x28\x4c\xf1\x62\x6e\x24\x45\x9f\x2d\x18\xb6\x82\xd1\x90\x99\x70\x6f\xa5\x85\x61\x54\xbc\x8e\x33\xc1\x27\x81\x66\xa9\xf1\x72\x8d\x49\xb5\x61\xea\x6c\xa0\x02\xaf\xef\x34\x9b\x3b\xcf\x7f\x0f\x25\xa9\x05\xd5\x86\x8c\xd4\xc4\x57\x45\xe8\x7f\x9e\x51\x6a\xab\x2b\x69\xa9\x22\x5c\x94\x07\x36\xa8\x75\xd7\x32\x0b\x4f\x16\xfb\xa0\x97\xff\x11\x9d\x2c\x03\xc6\x47\x1f\x97\x3e\x6e\x1c\xde\x25\x2d\x75\x9a\x27\xac\x77\x16\x38\x0f\x5f\x69\x06\x1d\x4a\xfe\x71\x58\xf9\xa3\xa9\xee\xb0\xd2\x6c\x30\x6b\x44\x85\x95\x3e\xbb\xf2\x25\xad\xa0\xca\x18\xfe\x4b\x90\x3e\xfd\x93\x67\xa4\xe7\xa6\xdf\x67\x5e\xd2\x9a\x95\x28\x61\x0d\x9d\xe4\xf3\xac\xac\x94\x92\x86\xd3\x48\xe6\xe5\xe9\x11\xce\x82\xa2\x6c\x23\xa3\x2a\xe6\x7e\x0e\xf6\x94\x97\xd3\xc5\x1a\xe9\x29\xd5\xdc\xce\x65\xc0\x04\x2c\xcb\x33\x0f\x4c\x5d\xf8\x2c\xac\x2e\x70\xae\x9f\x60\x76\x3a\xcd\x57\x1e\x36\x32\x7c\xaf\x1e\xd9\xf7\x18\x89\x5d\x80\xb8\xfc\x18\xc1\xcb\xc5\xa3\xa9\xac\x5e\x4a\x06\x01\x2b\xc7\xe7\xd4\x71\xbd\x58\x72\x4a\xa5\xc5\xb0\x19\xea\x81\x2f\x8c\x61\x9e\xc2\x62\xd8\x12\x0a\xbb\x91\x60\x85\x17\xdd\xb0\x5a\x91\x3c\xfc\xe2\x81\x54\x06\x56\x62\xec\x3b\x6f\xfb\xc3\x9f\x76\xec\xdc\xfe\xc5\xce\xee\x09\x5e\xbe\xa1\xed\xd0\x87\xa7\x40\xc7\x49\x6f\x43\x65\xe4\x57\xfb\xf6\xe9\x5c\xf9\x63\x37\x0d\x2f\xd1\xd3\xe9\xf4\x88\x2d\x93\x96\x64\xc7\xb6\x9d\x18\x2e\xc0\xc2\x17\x17\xf9\x7d\xf6\xe8\xb2\xea\x2e\x47\x4b\x9e\x77\x05\xf8\xc1\xbb\xfb\x0e\x1c\xd8\xf7\xee\xce\x7f\xec\xf0\xd4\x65\x9c\x7f\xbf\xff\xc1\x4f\x3f\x7d\x70\x72\x9b\x36\x30\xb3\xf5\xa8\xf4\xda\x6c\xc0\x7a\x6f\xbc\xff\x8d\x1f\x76\x0e\xf5\xed\xff\x3e\x7c\xe7\x74\xf5\x79\xe9\xa9\xd6\xb5\x9b\x82\x42\xd7\xad\xb6\x54\x75\x70\x9c\xbd\xd8\x6d\x18\x5f\xb5\xe0\xb6\x25\xb5\x6d\x8b\x7a\xfd\x63\x91\xb9\xc3\x4e\x45\xa8\x28\x9a\x4f\xc7\x11\x0f\x1e\x44\x7d\x8c\xcb\xb9\x0b\xc0\x38\x19\x04\x25\xd9\x9b\xa2\x09\xe0\x15\x2f\x56\x83\x94\x11\xcf\x16\x61\x91\x4d\x12\x8d\x03\x02\x72\x88\xdf\x38\xc7\x8a\x0d\x9a\x2c\x18\xbb\x33\x52\x2c\xde\xf5\xa7\xdd\x77\x5f\x56\x5e\xc2\x58\x6b\x86\xdc\xf5\xfa\xeb\x20\xf9\xfa\x61\xa8\xf2\xc4\x27\x56\x5a\x2c\xaa\xf7\x43\x4c\x7b\xd5\x54\x70\x55\x22\x32\x76\x68\x7b\x5e\x8c\x96\x53\x70\x26\x00\xb4\x98\x93\x8d\x36\xb6\x9d\x0d\x36\xb6\x6d\xdb\xb6\x6d\x9b\x1b\x6f\x6c\xdb\xb6\x9d\x8d\xed\xe4\x8f\xff\xd8\xc9\x1f\x77\xda\xe9\xbd\xb7\xd3\xce\xb4\x7d\xf9\xce\x37\xdf\xcc\x79\x39\x4f\x67\x0a\x0b\xdb\xd5\x54\xb5\x89\x86\xf9\x9f\x09\xe4\xaf\x37\x45\x24\x40\xb3\xb2\xa8\xfd\x3f\x2f\x8b\x95\xc1\xd0\x6a\x06\x5f\xa1\xdf\x34\x6d\x1f\x12\x3e\xc7\xb5\xed\xc2\x1c\x8c\x1a\xfd\xcf\xab\x53\x16\x51\x8f\x4f\x03\x4e\xaf\x49\xcf\x54\x43\x9e\x92\x27\x48\xf9\x46\x98\x11\x48\xd4\x3f\xf1\x2c\x91\xa5\xeb\x60\x29\x74\xff\xc1\x0b\xf6\x5b\x29\x00\xfd\xbf\x17\xc4\x1c\x19\x36\xb6\x22\x0b\xa6\x0b\x4d\xdf\x47\xb7\x5b\xa2\xec\xfd\x6b\x9b\x64\x90\xa9\x4c\xbd\xf7\x9f\x48\x2e\x33\xe1\xd0\xc2\x89\x09\x50\x76\x68\x58\xdc\x91\xb6\xaf\xf9\x19\x39\x66\xdd\xef\xf6\xb5\xb8\xac\x56\x31\x2a\x70\xa1\x6c\x11\xec\x08\x03\xed\x4a\xfe\x9a\xab\x65\xfd\x48\x1d\x4d\xa8\xbb\xcd\xac\x3d\x68\x55\x2a\xe4\xb4\x42\xe3\x09\x2c\xf3\xd2\x2a\xb1\xf2\x52\x1e\xab\x97\xb5\x42\xe4\x81\xea\xc1\x0a\x1a\xac\x36\x5e\x8b\xaa\x09\x50\x91\x00\x3c\x16\x8d\x51\xc0\x71\x40\xe4\x30\xc4\x3e\x27\x64\x79\xd5\x07\xb6\x30\x11\x9e\x3f\x4c\x63\xa5\x4b\x2c\xbb\x0e\xb9\x33\x68\xc4\x46\xdb\x15\x16\xb8\xbd\xef\x00\x15\x8d\x19\x8c\xc4\x9d\x3c\x6e\x79\x70\x0a\x1e\x2b\x08\x35\x0a\x3c\x06\x6a\x13\x93\x9c\x07\xcc\xc4\x29\x43\x78\xa5\x08\x9c\xb4\x5d\x6f\x8d\x94\x56\x6d\xff\x6d\xb0\x4e\xce\x90\x73\x66\xcb\x9d\x6b\x85\xfe\xf8\x17\x4f\x89\x76\x47\xe0\xc5\xbd\xd3\xf7\x74\x25\x13\xa9\x52\xce\xca\x9e\xa1\x57\xf9\xb6\xea\x23\xef\xf4\x60\x65\xb9\xf8\x2a\x50\xcf\xa4\x3b\x73\x38\x52\x30\xa3\x9b\x5e\x95\x9d\x24\xa3\x50\x27\xbf\xe2\x7d\x39\xd8\xd3\x28\x91\xad\x3d\xd8\x9f\xd0\x14\xbb\x89\x36\xbf\x9c\x50\xa3\xd8\xf5\x88\x68\x91\xac\x70\x36\xd1\x33\xfe\x1c\x74\x51\x5f\xa1\x83\xdd\x1d\xee\x09\x99\xb3\x6b\x42\x7a\xb9\xcc\xcb\xdb\x76\x6a\xbb\x9c\x53\xcd\x6d\xa8\x8f\xba\xdc\x54\x23\xa8\x02\x70\xc2\x10\xfb\xa0\xab\x46\xd6\xa8\x7c\xc8\xd6\xcf\xd1\x39\xec\x75\x40\xf8\x87\xc3\x81\xed\x4d\x20\xcc\x1b\xa8\x7a\xf6\x56\x65\xbb\x86\x5c\x14\x7c\xf6\xad\x69\x6d\xd4\x00\x03\x91\x96\x74\x46\x12\x0d\x14\xd2\x2f\x20\x75\x6b\x30\x1f\x92\xb5\xa7\x54\x08\xc7\x5e\x9b\x8e\xba\x23\x71\x73\x22\x54\x03\x22\x6c\x86\xad\x0a\x8a\x95\x85\x92\x06\xd8\xab\x54\xaf\xd1\x0e\xb8\x07\xe1\xcd\xe3\xa2\xa0\x02\x29\x11\x07\x75\x96\xb8\xc9\x2a\x14\xe3\xe1\x48\xc8\x7e\xb6\x86\x4b\x88\x84\xca\x53\xfe\x68\x45\x42\x17\x46\x40\x0f\x96\xa1\xfc\x51\xaa\x24\x16\xd3\xe2\xa3\x64\x08\xd6\xa4\x40\x76\x50\x7d\x57\x51\x6e\x6a\xfe\x0c\xd3\x6b\x14\x74\x0c\xe2\x51\x42\xbe\x3d\x40\x93\x3d\xa2\xca\x82\x47\x87\x37\x62\x80\x33\x25\xd1\xce\x13\xcb\xdf\x10\x2b\x5c\xb3\xac\x3d\xe3\x81\x66\x5e\x91\xb1\x01\xde\x47\xb8\x28\x97\xa8\xc3\x56\xf7\x79\x4b\x75\x93\x71\x18\xfa\x48\xbd\x7d\x2e\x73\x9a\x16\x23\xbc\x19\x2b\xc6\xef\xb0\xdc\x5b\x8f\xb8\xd2\xae\x10\xbc\x84\xec\x6e\xb9\xfa\x44\x8a\xd9\xdf\xac\x6f\x1a\x54\x80\x6f\xbb\x13\x13\x43\xc9\x06\x0c\xc2\xa5\x1e\xcf\x60\x4a\xef\xe8\xe1\xc8\x20\x64\xff\xb5\x5b\x6f\x28\x0b\x2e\x2e\x52\xcd\x96\xc4\x18\xe3\x5a\x2a\x57\xd6\xf4\xaf\xc8\x78\xe8\xa9\xf1\xed\xf8\x90\x09\xcd\x3e\x25\xac\xdd\x2d\x58\x45\x2f\xe2\x56\xa6\x27\x74\xb9\xf3\x4e\x26\x75\x92\xf0\x97\x00\x03\x4b\x87\x96\x15\x46\x54\x3a\xf7\xa7\xf8\x55\x94\xc0\x62\xbf\xa3\xb9\xcd\x52\x62\x2a\x2f\x1b\x20\x28\xa8\x35\x13\x65\x79\x5d\x64\x81\xbe\xc3\xc1\x4a\x2c\x71\xe8\xdb\x9f\xcf\x98\x73\x22\xfa\x19\xe8\xa5\x4e\x1c\x77\xf5\x19\x60\xe5\x75\xb4\x74\x10\x64\x88\x06\xfd\x21\x06\x1a\x38\x42\x61\x82\x15\x63\xdc\xfa\x5d\x6d\x99\x0c\xa1\x3b\xf1\x75\x5c\x82\x12\x70\xba\x70\xf0\xc6\xff\x60\x23\x99\xb0\x1a\x2e\x11\xe1\x56\xac\x83\x77\x72\x55\xc9\xc0\xfb\xa1\xa0\xc5\xf5\x4a\x3d\x95\xc7\x1d\xce\x2a\x66\xfb\x32\x6b\x4b\x10\x0c\xfd\xe2\x24\x35\xdb\xd8\xce\xf1\x06\xdc\x12\x86\xff\xb7\xbf\xfb\xcb\xbf\xd3\x73\xc6\xd7\xb7\x4c\x61\xe7\x61\x37\xab\x57\xa8\xdb\x52\xcc\x43\xdb\x03\xb7\x07\xf3\x8b\x4e\x37\xb9\xd6\x38\x30\x8d\x02\x04\xd5\x50\x3e\x52\x8c\xcf\x5e\x04\xbb\x83\xc3\xfb\xe1\xa0\xf4\x01\x74\x8d\xe7\x75\xd5\xf9\xed\xf5\xe2\xb4\x90\xd8\xfb\x10\x89\x44\x5c\x4b\xfb\xf8\x0a\xef\x5e\x2c\xc9\x36\xbb\x17\xe9\x5a\x10\xf9\x1d\x7e\x28\xc0\x4f\x81\xd1\xe3\xca\xa5\xd1\xed\x18\xb0\x03\x54\xe6\x51\x74\x13\x9c\xbf\xc9\x6c\x3b\x1d\xd9\x64\xa7\x6a\x18\xb7\xe0\x77\xb3\x2c\x74\xc3\x5c\x87\xa4\x68\x38\xbb\x30\x0c\xe9\x3e\x63\x5b\xa7\x9f\xe1\x7e\x81\xef\x7a\xd0\x4b\x48\x01\x97\x3c\x23\x72\x6a\x51\x9c\x4b\x5a\x47\x13\xaf\xc0\x18\xe3\x3c\x74\x7d\x63\x92\x2a\x00\xba\x97\x11\xc8\x81\x11\x8e\x9b\x36\x6b\x2e\x8f\x0b\x89\x80\x8d\x7d\xa8\xe1\x5d\xe8\x47\x2c\x39\x80\x8d\x0d\x8d\x5f\x6e\x78\xcb\xbe\xd4\x64\x5b\xd8\xd3\x77\xee\xaf\x33\xbf\xbd\x7c\x27\x6e\x6b\x04\x76\xf9\x1d\xad\x8f\xba\xc3\xd0\xce\x58\x9c\x0d\x27\xe4\x15\x52\xe5\xbc\xd7\x17\xfc\xd8\xe5\xac\xde\xe1\xb0\xfc\x85\x8f\xd7\xe7\x79\xd6\x79\xf9\xb8\x05\xe5\x01\x9a\xe2\x9c\x7f\x44\x64\xcc\x07\x9d\xc4\x6c\xde\x4d\x49\xc4\x53\x4f\x45\x32\x6e\xde\x28\xa4\x95\x27\xdd\x7a\x6e\x50\x0d\x60\x5b\x12\x4b\x65\xe3\xec\x80\xf0\xf5\xe2\xfa\xc6\x2b\x0c\x0c\x6f\xb8\xf5\x05\x58\x53\x15\x53\x95\x52\xad\xd8\xf4\x64\x6a\x4b\x1d\x0a\xbf\xbc\x06\x37\xc1\xfe\x48\x17\xe6\xbc\x08\xb3\x2d\xe9\xf3\xb0\xdc\x12\x38\x71\x73\x6e\x58\xb3\xa9\x65\xf8\xf4\xfe\xd3\x56\xed\xad\x93\x90\x37\xa6\x4b\x74\xd6\xfa\x29\x3b\x45\xb4\x32\x3f\x2f\x8c\x21\x33\xb1\xc3\x4d\xd1\xb7\x4b\x6b\x26\x26\xf1\xf9\x77\xf4\xf9\x29\xb6\x0f\xfb\x29\x7a\xbd\x31\xf2\x8f\x98\x88\x44\x8d\xdb\x6f\x39\x09\x43\x96\xa4\x05\x33\xb4\x71\x34\xc2\x94\x4e\x77\xb2\xe5\xfd\xe0\xdc\x8e\x92\x23\x71\xee\x60\xa2\xd3\xea\xdb\x57\x9a\xba\xf8\x65\x0c\x31\xbd\xeb\x89\x61\x28\xf6\xbf\x51\x5b\x98\xaf\xc2\x90\xe1\xec\xbd\xe0\xf3\xb1\xc9\xbb\xef\xfb\x98\x8e\x7b\x8b\xc6\x99\x81\x4f\x3a\x9e\xf6\xe1\x5b\xd9\x12\xfd\xa5\x06\x9e\xe1\xcd\x72\xdd\x1f\xe7\xd9\x11\xf8\x3b\x4b\xaa\xe5\x3b\xa6\xc8\x37\x5a\x1c\xb2\xb4\xec\x96\x16\x16\xe7\x96\x6b\xc3\xea\xb5\x7b\xd9\x1b\x1e\xb2\x5d\x2d\xae\x0e\xaf\x47\x41\xcc\xca\xb3\x2d\xf1\x30\xab\x63\x59\x34\x67\x72\x54\xaa\xfa\x29\xb4\x24\x71\x01\x8d\xd1\xd4\x31\x9a\x8a\xb2\x14\x9a\x08\x4f\x11\x54\xed\x44\xf4\x33\xac\xa9\x08\xda\xdb\x4a\xf4\x70\x1a\x56\x65\xea\xcf\x7c\xc3\x23\xf5\xed\xef\x84\x2b\xe8\xe3\x1a\x4d\x78\xf4\x64\xe9\x89\xc6\x8a\xc1\x33\x86\x49\x79\x43\x1f\x95\x34\x58\xd5\xd1\xfe\xac\x0e\xa5\xdd\x15\x13\xbd\x8b\xfa\x7a\x97\x5f\xe9\x96\xb7\xa9\x9f\xe3\x27\xfc\x6e\x2e\x57\x25\xb0\x82\x7e\x2f\xef\x8b\xba\xae\x34\x87\x47\xf9\xe3\xab\x50\x61\xe3\x3a\xdc\xfb\x53\xb0\xd5\x9c\x3b\x6d\x17\x9e\x33\xa5\xb7\x4e\x7e\x8f\x40\x2f\x93\x47\xab\x33\xb3\x17\xff\x98\xec\xea\x17\xfa\xcc\x7e\x25\x00\x4d\x92\x87\xeb\x52\x0c\x6d\xba\x74\x3e\x9b\xd9\xf3\xfa\xe0\xbf\xa2\x58\xbf\x40\x53\x6b\x55\x5e\x14\xbe\x1d\xbf\x47\xe0\xbf\xe8\xd7\xd4\xb5\x5d\xff\xe3\x8e\x92\x29\x89\x6c\x6e\x7f\x36\x33\x03\x0f\xc4\xe4\x4a\x33\xef\xd5\x0a\x6c\xb0\xf4\x72\xe1\x87\x87\xd3\xeb\xa6\xe7\x2f\x96\x9e\x38\x38\x34\xfa\x60\x33\xae\xbd\x24\xa0\x6a\x41\xeb\x09\x17\x93\x98\xf9\xa0\x58\x67\xff\xb6\xe3\x9d\x2e\x5a\xda\x48\x10\x7f\xfb\x16\xb7\xf5\x9a\x23\x1b\xfe\x96\xe5\x8e\xd3\x70\x8d\x35\xfb\x03\xf6\x5e\xdf\xf7\xd1\xe4\xe7\xcb\x17\x9a\x9c\x41\x93\x19\xf5\x1b\x8c\x5c\xa8\xd6\xcf\x0e\xca\x3d\xd7\x99\x89\x49\xce\x7e\x37\xd7\xa7\x9c\x0d\xad\xfe\x83\x38\x76\x59\xe9\xb1\x95\xd0\x4e\x08\x3e\x4e\x48\xd7\x43\xf3\x8c\x82\x65\x63\x1b\xf1\x50\x02\xc7\x47\xfc\x62\x6e\xaa\x60\x9c\x41\x09\x03\xe6\x5f\xd9\xf0\x51\x72\xdc\x55\x97\x30\x2f\xb1\x89\x02\x04\x81\x73\xb6\xef\x17\x92\xcf\x04\x67\xb8\xda\xdf\xdb\xb9\xcd\x16\x67\x06\x72\x6d\xf2\x2a\x86\x96\x6d\x91\x38\xe7\xdb\xaa\xa5\x5d\x66\xee\x95\x8f\x10\x1e\x49\xf6\xde\xaa\x96\x8a\x8a\x96\x4b\x2e\xba\xaa\x8d\x44\x12\x72\x28\xef\xff\x46\x0e\x1f\x71\x42\x96\x06\x8b\x76\xb9\x82\xb3\x64\x76\x24\x94\xcb\xbc\xe0\xdc\x91\x38\xfe\x45\x98\x27\x76\xf8\xa0\x84\x57\x08\xf8\x00\x38\xc7\x1a\xe7\xc0\x9a\x5e\xe3\x98\x27\x1b\xf4\xd9\x33\xa3\x45\x57\xc3\x16\x12\x76\x16\x0b\xe5\xd6\x4b\xc0\xe5\x2d\xa8\x39\xa1\x8b\x29\xf5\x10\x45\xff\x25\x53\xd9\x7a\xef\x8b\x45\xf2\x6b\x91\x32\x80\x3d\xca\xef\x6a\xb9\xe3\xba\xe3\xbb\x39\xb9\xae\x37\xbe\x11\x5e\x19\x38\x76\xa7\xab\x56\xd1\x5c\x39\x07\xaa\x6d\x73\x3d\xdb\xf9\x52\x54\xf8\xa8\xd5\xc0\xc5\xab\x29\xda\xaf\x77\x67\x3f\xd9\x10\xf0\xc4\xfc\x10\x63\xd0\x15\xa0\xd1\xe8\x9c\x5e\x57\x71\x78\x16\x51\x0f\x50\x4e\x8e\xec\x2f\xf3\xdd\xcc\x8b\xf0\x8e\xa4\xd4\xfc\xda\x3c\xfb\xbd\xa9\xf3\xd1\x83\x38\x59\x17\xe1\xd1\x6c\xfb\x97\x07\xf6\xb7\x0a\x9d\x52\xd8\xe5\xe2\xef\xf1\xc5\x93\x8f\xb3\xb3\xa1\x38\x44\xf6\x35\xbd\xc6\x1a\x35\x1e\x8a\x1d\x71\x8c\xe6\xeb\x15\xf6\x8e\x2a\x78\x5b\x96\x60\xf5\x66\x1e\x1e\x0b\xc2\x7b\xcb\x7f\x2a\x5f\x61\x10\x8d\xbb\xcd\x97\xa4\xf3\xc9\x93\x66\x5c\xf6\x31\x8c\xaa\x19\x2d\xbb\xf3\xa3\x6e\xc8\xfc\xdb\x8f\x59\x3a\x88\x46\xc3\xbb\x97\xd2\x41\x25\xbc\xad\x22\x6f\x57\x4d\x19\x9d\x45\x49\x31\xd9\x8b\x1a\xea\xc6\x16\x6e\x44\x25\x44\xc4\x1b\x20\xf3\xaf\x8e\x0f\xc8\xd8\xfc\x86\x45\xd8\x04\x26\x6a\x46\xa7\xde\xbe\x42\x28\xcc\xf0\xd6\x85\xab\x42\x52\x53\xf5\xd2\xb8\xac\x7b\x99\xb1\x72\x24\xce\xd1\x20\x7e\xb3\xc8\xf7\x2b\x52\xfd\x64\x56\x6b\xf7\x2a\x5a\x1a\xb6\xb1\xa0\xde\x6d\xd6\x11\x14\xbc\x02\x57\x54\x72\xbd\x11\x28\xe8\xdf\x71\x23\x2a\x35\x96\xf0\xb5\x15\xe0\xe2\x28\x89\xad\xe8\x0d\x7f\xd2\xe2\x9f\xf7\xed\x6b\x9c\xa2\x92\x53\x71\xb4\x38\xd1\xeb\x8b\xbd\xab\xaa\xf7\xb3\xe5\x44\xd3\x75\x94\x2d\xad\x1d\x0c\x02\x6f\x54\x3c\x7c\xac\x7d\xd5\x7d\xfd\x68\xda\x1f\x77\x9f\x66\x66\xd2\x78\xc2\x79\xde\x69\x07\x3c\x2b\xac\xc5\xa5\x8c\x35\xbf\x9d\xb9\xb7\xd4\x23\xea\xd2\xdd\x1b\x15\x6f\x94\xb7\x94\xf1\x6a\xaf\xc1\x7a\xaa\xf8\x05\xaa\x6a\x4b\xed\xe5\xac\x61\x7a\xef\xf5\x52\x84\x9a\x7a\x0a\x35\xef\xad\x4d\xd5\x5f\x5b\xdc\xaf\xa6\x6f\x3f\x8c\xe6\xd7\xa6\xdb\xea\xb3\x35\x0c\xcc\xe5\x1e\xfe\x5d\x7e\x0a\xd6\xaa\xaf\x2f\x4b\xab\x01\x21\x4c\xad\xfc\xd8\x03\xb9\x7a\x9f\x5c\xd4\x34\x54\xec\x55\x97\xbf\xd4\x94\x0f\x69\x51\x47\x33\xda\x03\x0a\x76\x4d\x71\x57\xe2\x29\x9c\x12\x1f\xc0\x8b\x8b\x63\x1a\x8a\xd2\x2f\x27\xc9\x22\x7f\x02\xcb\xaa\x49\x35\x82\x91\x4b\x54\x8b\x8c\xc4\x18\xf1\x63\x0f\xf4\xcc\xaa\x09\x5b\x07\x47\x7f\x42\xe2\x7c\xf5\x20\xed\x85\xe9\x22\x14\x69\x78\x93\xd6\x14\xa8\x8b\x47\xd6\x99\x0d\x85\x17\xeb\x86\x80\x41\xea\x4a\x60\x46\xae\xb7\x46\x0e\x55\x34\x09\x87\x8b\xee\x3c\x61\x6d\x69\xf0\xb1\x21\x07\xf5\x14\x8e\xda\xd3\x05\x59\xb7\x7e\x96\x52\x8b\xf2\x96\x7a\x02\x9f\x87\x2c\x72\xb6\xf5\xd6\x15\xfa\xdf\x63\xaa\x5c\x08\x13\xe2\x20\xff\x64\x23\x6f\x0f\xfc\xa5\x1d\x90\xd5\x23\xd9\x5c\x8d\x9e\xb2\xb3\x8f\x81\x8e\x56\xc8\xcf\xc3\x08\x9e\x42\x03\xc6\xf9\x6b\xce\x14\xf4\xee\x76\xac\xe0\xcd\xbd\x30\x2d\xd5\xb9\x24\xb7\x19\xa7\xfc\x42\x62\x71\x27\xca\x9f\x53\x1d\xef\x51\xab\x29\x68\x26\xf5\xf9\x5e\x8f\x4e\x13\x1c\x80\x6e\xdf\xbb\x71\x08\x7a\xb9\xa2\x8d\xb1\x05\xb9\xe2\xbc\xa5\x06\x1c\x11\x34\x96\x95\xbe\x68\x86\x69\x84\xe0\xd6\x6c\x19\xa6\xa5\x6b\x9e\x78\xc2\x10\x09\x2c\x06\x4f\x86\xab\xa8\xa6\x3d\x60\xbc\x4b\x0b\xbe\x23\xf1\x1e\x97\xf9\xa9\xfd\x9c\x2c\x72\xb6\x61\x27\xfb\x65\x8b\xa0\x4e\x3b\xfd\x83\x96\x10\x5a\x18\x2f\x9c\x99\xad\xdc\x65\x5d\x02\xbf\xc1\x0d\xa5\xc4\x9b\x56\x5a\x21\xd2\xbb\x28\xf2\xef\xea\x30\x53\x82\xbc\xb6\xa9\x56\x71\xee\xf1\x47\xe1\xbd\x53\x14\xd2\x0a\xc4\xa5\x99\xa6\x40\x59\xa8\x33\x2d\xad\x0e\xa4\x09\xd0\xbe\xd1\x84\x18\xdf\xda\x6e\x2a\x5a\xdf\xde\x48\x18\x6b\x07\x41\xc7\xe0\xae\x17\x46\x6e\xa0\x24\x6d\x37\x69\xd6\x4f\xeb\x0d\xd3\x84\xcc\xd6\x7d\x31\xc0\xe9\xd0\x8d\x0b\x59\xc4\x62\xd9\x4b\x40\x17\xb9\x82\xf2\xcc\xd4\xa2\xee\x0b\x99\xc9\x17\xae\x06\xad\x64\xf2\x51\xff\x64\xe9\x16\x0b\xe9\x1e\xac\x8b\x98\x15\x7e\x18\x63\x3a\xdf\x3b\x80\x72\x4e\xea\x86\x55\xe9\x0e\x35\x39\xc2\xcf\x1e\x1b\x07\x09\x53\x5f\xd7\x88\x53\x2d\x44\x52\x1b\x6f\xd9\xc5\xc2\xe1\x29\x95\xae\x3b\xfe\x78\x6c\xe1\xd2\x96\xe0\x1d\x13\xe2\xc9\xe2\xa4\x9c\xc0\xeb\x94\xd1\x51\xf6\x0f\xba\x61\x2f\x7c\x5b\x1f\x62\xc4\x27\x8d\xef\x1b\xe1\xfc\x63\x93\x5b\xc3\x67\xf3\x82\x50\x7d\x49\xf2\x0c\xc1\xf6\x3b\x0b\xe8\xe9\x97\x25\xf1\xfb\x03\x7f\xfe\x30\x26\x63\x50\x39\x52\x9e\xef\xc9\x61\x36\x96\x9c\xe5\x3a\xbb\xaa\x20\xf0\xf5\x77\xbf\x1d\xa6\xac\xe0\x70\x93\x29\x72\xc3\x63\x3e\x29\xa4\x21\xd3\xc0\x04\xeb\x20\x2c\x41\xc6\x6c\x33\x45\x33\x26\x00\x11\xb3\x17\x71\x7b\xb2\x41\x05\x57\x71\x2d\x3e\x72\x1b\x93\x1e\x41\xb5\x31\xa5\xb8\xbe\xe4\xcc\x1e\xa1\xdd\x05\x7f\x66\x88\x77\xe3\x8b\x2f\x07\x3e\xee\xe3\x70\xb2\x8a\xfa\x6a\x8d\x59\xeb\xf6\x61\xb2\xba\x30\xca\xee\x0c\x7e\x3a\x9a\xe2\x94\xcc\x98\xe4\x64\x15\xea\x14\x16\x62\x36\x43\x72\x25\x6f\xf1\x19\x32\xdd\x83\xca\x64\x41\x6b\x28\xf7\x04\xed\xaa\x94\xe8\xa9\x43\x27\xa3\x92\xf0\x65\x22\xf7\x66\xfb\xcf\x17\x00\x3a\xb9\xae\xbb\x7a\xdf\x2e\x82\xc4\x82\xc0\x1e\x48\x46\x89\xbf\xe3\x2f\xa9\xa4\xc5\xed\x3b\xdb\x80\x46\xb9\x97\x58\xae\x72\x8c\x7b\x9f\x99\x64\xec\x6a\xa1\x19\x9f\xc1\x0c\x71\x6d\xe0\x37\x4e\x18\x83\xbd\xe3\x1c\xc9\xf6\x56\x31\xeb\x86\xb6\x37\x8b\xb6\x1e\x97\x2c\xb6\xd4\x4d\xe5\x39\x7d\x45\x95\xe8\xa9\xa6\x22\xbe\x6c\x66\x03\xde\x98\x3f\x65\x1d\x5c\x80\x1a\x73\xe6\x4f\x38\x22\xa9\x0e\xc1\x89\x5f\x6f\xca\x70\xc7\xe0\x3f\x4b\xca\xe0\xe3\x3a\x25\x8e\x63\x1f\xfb\x61\x53\xba\x80\xca\x5c\x1f\x4c\xbc\x93\xc8\xbf\xc9\xa4\x73\x46\x87\xab\x3a\x7b\xef\x2c\xfb\x87\x16\x2d\xba\x43\x86\xce\x19\x94\x51\x70\x45\x09\xf6\xaf\xf3\x30\x48\x63\x1e\xee\x94\x5a\xd8\x37\xad\x20\x9a\xa9\x82\x73\x09\x7f\xbe\x9a\x41\xa4\x9e\x8e\xff\xac\x9a\x90\xd9\xdb\xac\xc4\x79\xb7\x67\x6c\x71\x36\xdc\x5e\x7a\xac\xb8\x8d\x66\x41\xb0\x7a\x13\x02\x67\xf9\x0a\x96\xa5\xd9\xef\x72\x8f\xa6\x83\x29\xad\xe3\x79\x50\x63\x58\x04\x89\x4a\x92\xf4\x81\xfc\xd5\x2a\x16\x5f\x24\xae\x50\xc3\xd8\x77\xff\xf7\x65\x31\x98\xd4\xee\xcf\xe7\x10\xf3\x53\x80\x8a\xcf\xa7\x33\x7e\xff\x2f\x06\x45\xe4\xe3\xa6\x25\x30\x93\xf3\x55\xdf\x55\xc7\xe3\x28\x16\xf1\x4d\xda\x4e\x15\x49\x67\x63\x63\xe3\xc6\xe2\x94\x6a\xbb\x84\x0c\x1d\x95\x44\x99\xb8\x9d\xfb\x64\x7a\xdd\x80\x21\xd0\x5b\xf5\xa2\xee\xe3\x46\xfa\x13\x56\x0c\x91\x06\x90\x1e\x42\xed\x72\xc1\x8e\xec\xea\xe6\x26\x48\x94\x6c\x9e\x8e\xc0\xc7\x93\xa9\xcf\x72\xa1\x46\x66\xac\x92\x93\x36\xd5\xa2\x37\xb9\x32\xa7\xb5\xc2\x92\xaf\x66\x3c\xdc\xf1\xef\xd7\xfc\x69\xd0\x8f\x0c\x1a\xa7\x49\x10\xd8\x32\xb6\x8a\xe4\xbe\xe3\x62\x3e\xe5\xf1\xcd\x12\x85\x29\x84\xc1\x76\x80\x6e\x14\x79\xf0\x1f\x48\xdd\x83\xbf\x95\x0c\x84\x9e\x10\xeb\xdd\xf9\x7c\x13\xc4\x92\xaf\x9e\x23\xe1\xe0\x2d\xee\xb0\xd8\xf0\xe9\x03\xad\xc6\x15\x69\x29\x62\xa5\x3a\x0c\x0e\xeb\x17\xdf\xa1\x94\xe2\x18\x8f\xee\x12\x63\x6f\xd7\x37\xf9\xe0\xa2\x01\xc5\x99\xc7\x17\x72\x86\x0f\x7d\x3b\xac\x5f\x45\x58\xd0\x73\x89\x27\x33\x1e\x2f\xec\x47\x99\x7d\xab\x9f\x55\x8c\x57\x7a\x39\xa4\x90\x7f\x2a\x7b\x02\xd1\xe1\xa7\xab\xb1\x7d\x44\xd6\x06\x3a\x71\x6c\xad\x30\x0a\xbc\x43\xb9\x48\x9f\x26\x49\x3a\xc3\x24\xd3\x72\x65\x54\x22\x0c\xe6\x62\x7b\x69\xe2\x0d\xa3\xb3\xd7\xd8\x04\x9e\x36\x55\xe3\x6c\x39\x62\xe0\x85\xe1\x3b\xd0\x5a\xf4\xb2\x97\x38\x22\xca\x1d\xde\xe4\x7c\x3e\xfe\xfc\x82\xc0\x80\x0e\xec\x7b\x57\x17\x9d\x5a\x6f\xa4\x8f\xd0\xf4\xbc\x79\xdb\x47\xde\x37\xc6\x45\xfc\xc0\x90\x92\x6e\x97\x16\xfc\xba\x20\x19\x1d\x82\x7f\x62\x51\x02\xaf\xca\x58\xb7\x89\xa2\x8c\x79\x0d\xc9\xa2\xf0\x40\xc8\x74\x25\xb2\x62\xd6\x95\x87\x5d\xc8\x8e\x8f\x74\x49\x0d\xaf\x9f\xa0\xd8\x89\xc2\x24\xf7\x94\x4a\x08\x8c\xf8\x67\x96\xb6\x1d\x20\x5c\x7b\xf7\x1c\x31\xc7\x19\x3a\x9a\x2d\x18\x48\xa2\x69\x1c\x3f\xd4\x95\x22\x19\x10\x4b\xe3\xf7\x20\x1f\x08\x55\x7b\xf4\xdc\x3c\x6c\xf0\x79\xe2\xa0\xbd\xa6\xf2\x06\xbc\x76\x34\x80\x1a\xf6\xf1\x41\x3a\xb2\xe1\x47\x49\x18\xfd\xa5\xbb\x15\x04\x2e\x6a\xd0\xa5\x19\x3c\x68\x52\x26\x55\xab\x02\x0d\xee\x08\x35\xc0\x74\x8a\xe8\x6a\x86\xfd\xd7\x9b\x8d\x23\x40\x47\xf4\x6e\x8a\x33\xcf\xf7\x76\x2c\x3d\x06\xbf\x2c\x2e\x21\x8e\xc8\x75\xa7\x79\x3c\xbf\xd7\x01\x21\x89\xcb\x4c\xff\xb2\x48\x1a\xff\xe5\xb2\x47\xbd\xeb\x6d\x35\xd7\x97\x43\x21\x24\xff\x42\xc6\xd2\xc1\xdb\xf5\x41\xff\xa6\x3f\x70\xed\x84\xb3\x7d\x9a\x6e\xc5\x7e\x9b\x9b\xf8\x58\x82\x73\x66\x0f\x36\x7c\x7b\xca\xcf\xf5\xfc\xa4\x33\x1f\x9c\xb5\xdf\x1a\x9d\xf1\xf3\xb8\xb9\x93\xf3\xe5\x35\xdb\xc2\x3c\x10\x9e\xe3\x5f\xc2\x93\xcf\xfb\x13\x25\xb3\x40\x01\xad\x71\xe8\xa6\x2c\x18\xef\x53\xa1\x35\x12\x10\xce\x94\x66\x73\xcf\xb6\x1e\x07\x7d\xa3\xef\xaa\xd3\x7e\x2b\x0f\x02\x66\xb6\x70\x21\x35\xad\xb3\xc4\x35\x6c\x95\x29\x93\x78\xf4\x31\x4e\xca\x47\x64\x2e\x0c\x96\x3f\xc6\x52\xb3\xad\x4d\x63\x16\x5a\x11\x55\x45\xa0\x3b\xff\xea\x0b\xfa\x17\x77\x63\x7d\x40\xf2\x19\xa1\x86\xeb\xaf\x1f\x11\xde\x37\x84\xf0\x0d\x0e\xd2\xa8\xea\xf2\xad\x2a\xb9\xcb\x04\x7c\x79\x49\xfe\x52\xe4\x7d\x53\x5b\x2b\x1d\x5d\x7b\x1c\x39\x48\xf1\x30\xef\x63\xb2\xaf\x71\x0c\x78\x06\xef\x4a\x87\x0f\x30\x37\x3b\xcf\x40\x7f\xf9\xc6\xe9\xe4\x4c\xad\x64\x45\x43\x43\x04\x22\xba\xba\x1b\xd2\x2a\xa6\x69\x97\xe5\x51\xe9\xef\x50\xa0\x7e\x69\x9e\xc1\xa1\x94\x50\x4e\xdd\x91\x5c\x89\x59\x72\x65\x9f\x1e\x8e\xdc\x52\xc9\x3b\xde\xe8\x6b\x30\x61\x3f\x35\xbb\xbd\x09\x5f\xf2\x1f\xc5\x9c\x34\x99\xf6\xd6\xe0\x50\xb1\x35\x09\x1e\x6f\xe3\xcb\xcb\x87\xd3\xc5\x9b\x79\x46\x54\x3a\x8a\xab\xb5\xfe\xea\xef\x6a\x8f\xcb\x5f\x1b\x04\xa4\x03\x8e\xf8\xaa\xa1\xa1\x07\x97\x24\x88\xeb\x31\xe3\xeb\xb2\xe8\x68\x0e\xe3\x6f\x26\xd6\x22\xce\xfe\xfd\xab\x1f\x37\xed\xa6\x73\x6b\x51\x47\x1d\xc5\xa1\x91\x73\x94\xcb\x1e\x67\x7d\x69\x90\x37\x89\x1a\xd3\x06\x4e\xb1\x8f\xa3\x14\x78\x77\x22\x9b\x9d\xc3\x72\x2f\xda\x72\x69\x10\x91\x72\x52\x7e\x29\xb9\x12\x9f\x13\x0a\xf3\xb8\x88\xf3\x37\xa1\x12\xa1\xb0\xbc\xdc\x66\x51\x49\xac\xda\x99\x3f\x60\x51\x1d\x83\x7e\x09\x47\x24\xf7\x6e\x98\x9c\xc6\x37\x49\x93\x1b\x70\xcb\x90\x18\x9c\x24\x38\xe6\xbc\x01\x40\x77\xc8\x3a\x34\xe2\x86\x55\x7e\x62\xe4\x59\x86\x6d\x80\x42\x5b\x24\x76\x8e\x90\xda\xea\xc4\x0e\x96\x83\xb1\xca\xe1\x55\x39\xfb\x89\xfc\x46\xaf\xf4\xc7\xfd\x9b\x36\xfb\x77\xb0\x0e\x07\xc3\x97\xc9\x46\x5e\x2a\x82\x0e\x06\x8e\xda\xaa\x36\xf0\x80\xe8\x91\x62\x99\x33\x8a\x33\xf1\x33\xcb\x45\xc6\x58\x71\xf6\x19\x71\x86\xe1\xd8\xd9\x51\x57\x87\xf4\x36\xae\xcd\x74\x0f\x24\xd8\x56\xb7\x12\xc2\xf4\xef\x1f\x62\x44\x5e\x28\x18\xbd\x2e\xaf\xb7\xf8\x79\x9f\x6f\x9b\xa7\x25\xf9\x8c\x36\x44\x0b\x9b\xbc\x44\xd3\xca\x2a\x97\x0e\xff\x62\xc8\x23\x78\x2b\xf3\xd1\xf0\x15\x8b\x38\xc2\x0d\x24\x49\xa6\x50\x3a\xc5\x7d\x20\x16\x5e\x91\x9f\xb5\xfb\x92\x6e\x2c\xfb\x0a\x28\x17\x2e\xd4\x91\xdd\x45\x9a\x4a\x22\x9a\x1e\x35\xa3\x1a\x12\x67\x02\xb5\x7d\xd1\x1c\xd3\xd0\x46\x70\x8a\x58\x85\xd3\xd6\x6f\x87\x60\x4c\xd9\xbb\xb5\x8b\xb4\xd1\xc8\x9c\x07\xf0\x18\x80\xc8\x25\xaa\x12\x21\x8c\x61\x57\xf2\xe6\x96\x19\x52\x21\xaf\x9d\x6b\x3f\xd8\x9e\x9a\x15\x7a\x09\x0d\x88\xd0\x7a\x9e\x58\xa7\x56\xf5\x50\xf3\xc1\xec\x79\x9a\x93\x6a\x5f\xba\x67\x89\x9a\x23\x3f\x18\xca\x16\x89\x7c\xda\x17\x38\xb8\xed\x94\x1e\x22\x94\x30\x4a\x71\xac\xfd\xff\xb6\x06\x6b\x58\x57\x8b\xa5\x15\xf6\x16\xaa\x79\x57\xcc\x63\x72\x82\x19\x1d\x10\xd8\x5e\xff\xc6\x5f\xd5\xb3\x70\xe5\x0e\x93\xea\xa1\x54\x41\xf7\xc0\xc3\x20\xa8\x55\xb2\x8e\xa5\xa9\x6e\x16\x3a\xb6\xc2\x31\x80\xdf\xeb\x51\xa8\xc0\x63\x9f\xb5\x75\xd2\x8c\xd3\x10\x40\x95\xd6\xa0\x0f\x2a\xd2\x51\xa2\xed\x11\x79\x48\x65\xed\x66\x77\x8a\xa7\xc8\x5f\x75\x84\x54\x68\x20\x8c\x85\x19\x1b\xf9\x11\x09\xa8\xc8\xdf\x72\xbe\xc4\x3f\x4b\x70\x8c\xcd\x17\xdb\x42\xe4\x70\x0e\xa5\x25\x68\x2a\x26\x26\x68\x74\xd7\xb0\x8a\xd5\x2e\xdd\x4f\x09\xbf\xbb\x5b\xf8\x5b\x29\xa2\x81\xbe\x14\xfd\xfc\xf7\x8d\xa6\x77\xc6\xa4\x1a\x12\x01\x42\x76\x67\xb0\xcb\xaa\x85\x81\xab\xb9\x6e\x62\xba\x29\x91\xa3\x22\x26\xcf\x30\xdf\xa0\xdd\xec\x2e\xcb\xcc\xbb\x64\xb9\x60\x39\x43\x5f\x84\x6c\x21\x89\x7a\xf4\xab\x84\xae\x68\xd3\xba\x35\x8e\x95\x33\x61\xbb\x5f\x9e\xe7\xc1\x70\xf7\xd9\xba\x95\x28\x34\x60\x5d\xeb\x89\x58\x68\xf2\xe4\x30\x66\x95\xae\x90\x1e\xaf\x7a\xa1\x06\xe3\x9e\x78\x9d\xce\xff\xd1\xc9\xf8\xfb\x29\x82\x8f\xe5\x02\xbe\x12\x25\x21\x8c\x0b\xb5\xbb\xb2\x29\x9a\xaf\x02\xd2\x8f\xc0\x37\xa8\x73\xe2\xe7\xfb\x6e\xee\xbf\x86\x97\xed\x80\xf4\xd1\xc4\x17\xde\x9f\x74\x36\x06\xf4\x33\x42\x18\x4d\x20\x33\x68\x86\xbe\x30\xfe\xa1\xc0\x41\x62\xec\x48\xb6\x45\x53\x9b\xf2\x38\x62\x38\x3c\x77\x38\x0d\x0a\xfd\xf7\xbf\x5c\xdf\xbb\x60\xdb\xfe\xd4\xa1\x3f\xea\xe6\xda\x93\xd3\x2e\xc9\xa9\x7e\x22\xd1\xa4\x2e\x7d\xca\x96\xc6\xc1\x16\xe3\x6b\x31\x47\x17\xd9\x71\x49\x49\x4d\x67\xcb\x64\xff\xc9\xbf\x65\x63\x0e\x6b\xc1\x11\x27\xb5\xf4\x0e\x0d\x44\x49\xa0\x9b\x51\xe7\x57\x9f\xe1\x97\x67\x07\xb6\x94\x9d\xe1\x16\xf8\x94\x49\x6a\xdc\x5f\x90\x9e\xf2\x4b\x4e\x0a\xda\x7d\x18\xb0\x6e\x89\x18\x06\x3a\xa4\x9a\x7b\xc8\x6f\xad\xa2\x65\x0d\x49\x6b\x57\x99\xd9\x6e\xa5\x59\xe6\x6d\xdc\xa7\x3c\xb2\x03\xf2\x79\x9a\x70\x89\x86\x1b\xed\x8e\x2d\x9c\x72\xed\xf4\x44\x11\xec\xbe\xf2\x2b\x78\x7b\x04\xde\xbf\xed\x77\x06\x9f\x16\xbf\x65\x76\xa6\xd0\xd3\xbe\x9f\xba\x0c\x03\x3f\x03\xcb\x4f\x3e\x2f\xea\xc8\x1f\x9a\xf4\xde\xfb\xba\x8a\x3b\x8f\x04\xeb\x39\xdf\xde\x3d\x6d\xf8\x7d\x46\xa3\x17\xbe\x9d\xe3\x10\xfd\x71\xe4\xbc\x4a\x61\x7d\xab\x1d\xcb\x24\x94\xd1\x2b\x18\x6c\x18\x5a\x53\x74\xe4\xf5\xa5\xed\x4b\x1d\x8a\x3c\x94\x7d\xcd\x13\xb0\x0b\xd6\x34\x8d\x30\x4a\xcc\xed\x3a\xfd\x4c\x67\xff\xca\xc8\xb4\x98\x5c\xca\x65\xb8\x4a\xcf\x1c\x5d\x06\xa9\xf4\xde\xed\x32\x51\x97\x43\x42\x97\x23\xcf\x7e\xd3\xbf\xbc\xec\x8e\x23\xc2\x6d\xf0\xaa\x57\x5d\xca\xd3\x74\x57\x89\x96\xd2\x10\x31\xa8\xb5\x4c\xeb\x77\x5c\xf0\x85\xe3\x9e\x85\xcf\x21\x5e\xf8\xd4\x16\xe3\xe8\xff\x4b\xc7\x74\x2f\x4f\x14\xd2\x38\x9a\xd9\x4d\x57\xdd\x4d\x65\x0f\xa9\x04\xff\xf3\xc9\x2a\x43\xf5\x26\xe9\x82\x6b\x06\x7f\x44\xfd\x19\x4f\x97\x90\x17\x7a\x1e\x5c\x65\xac\x89\xe9\xf9\x65\xbd\xda\xa0\x0f\x3f\x47\x26\x41\xe8\xfa\x44\x48\x6f\xbc\x96\x68\x92\x2a\xc3\x23\x76\x9d\xed\xb2\xc0\x2c\x1d\x0d\x7c\x4d\xab\xa6\x62\x90\x81\xd5\x4f\x09\xa1\xd7\x7d\xf7\x7b\x82\xaa\x44\x0b\xc9\xe0\x49\xb1\x29\xe6\x20\xf3\x7e\x97\x38\xf7\xb0\x41\x76\x67\x7c\xfa\xf9\x64\x7a\xae\x7d\x39\x88\x7d\xe3\xf5\xd4\xe8\x37\xa2\xd4\xcb\x18\xf1\x55\x21\xbc\xb9\x5b\xa8\xf7\x1b\x29\x3a\x92\x61\x50\x5f\x23\x94\x80\x28\x4f\x2a\x0d\x73\x01\x72\x84\xb4\xeb\x4c\x91\xc3\xf9\xef\x5b\x9a\x4b\x5f\xed\xc7\xe0\x59\xaf\x73\x9d\xa4\x47\xbc\x96\x20\xb9\x2c\x62\x25\x76\xcb\xba\x33\xeb\x74\x46\x0e\x65\x72\x73\x28\x41\xf1\x51\x47\xf1\x5e\xa7\x9f\x19\x8f\x99\x03\xa1\x34\x65\x37\x16\x03\x11\x6e\x2e\x31\xea\xca\xb9\x48\xab\x8e\xcf\x1f\x48\x13\xa1\x33\x04\xca\x7f\xba\xcc\x7d\x87\x9d\x79\x31\xd7\x01\x87\x86\x65\x13\x8a\x10\x92\x09\x02\x0d\xe7\x50\x1f\x61\x2b\x45\x1d\xcb\x56\xad\x78\xf9\x06\x4f\x03\xca\xb7\x10\x7e\x33\x18\x57\x9e\x6c\xfa\x29\x49\x57\xe8\xc8\x46\x73\x43\xfa\xc5\x90\xb9\x9e\x46\xc7\x45\xe9\xe3\x9f\x38\xae\x93\x90\xf1\x06\x6e\x8e\xe3\xfd\x72\x7f\xbf\x7f\xce\x45\xb9\x13\x52\x6b\x88\x1c\xda\x45\xe0\x29\xd4\x26\xba\xf7\x78\x91\xcf\xa2\x69\xcc\xc2\x4f\xe3\x70\x80\x57\xf7\x1d\x7c\xaf\xfb\x7b\x83\xdd\x39\x87\x99\x0e\xf3\x91\x1b\x9c\x48\x6e\x13\x6b\x60\xcb\x43\x2d\x52\x93\xcf\xbd\x64\xaa\x67\x98\x1b\x7a\xaf\xeb\x12\x0d\x44\x8f\x86\x75\x93\x3f\x1b\x79\xc9\x52\xcb\x3c\x1b\xaa\x3a\x08\xe5\x73\xf8\xdc\x8b\x9d\xe5\x64\x9c\x32\x87\x14\xcf\xd3\x7f\x5e\xf1\x43\x49\xe8\x1b\x91\x28\x5d\xfa\x7e\x45\x3d\xde\x27\x70\xe6\x08\x30\x11\x06\xe5\x5f\x1d\x92\xca\x43\x40\x41\xfa\x8c\xda\x97\xaf\x51\x83\x56\x04\xa1\x1e\x67\x5e\x82\xd6\xdf\xb3\x9b\xcb\x39\x05\x7b\xbd\x1f\x96\x00\x80\x22\x6b\xb8\x91\x2d\x2d\x6f\x75\xf5\xe1\xaa\x74\x0d\x3b\xee\x2a\x75\x76\x24\xe5\x3b\x6f\x3a\xb6\xdf\x65\x8c\x21\x8f\xec\xc4\x7a\xfe\x53\x82\x8e\x50\xc9\x94\x74\xbe\x9e\x27\x29\xd4\xac\x7b\xfa\x3c\x77\x01\x42\xfe\x0c\xf6\x19\x42\xb6\x29\xa5\x94\xf5\x06\xd2\x09\xe0\x77\x54\xc4\x30\x14\x2f\xd5\xa0\xd1\x84\x0f\xe7\xc3\xe4\xc5\x8b\x62\xeb\x52\x0a\x45\xdc\xa5\xdf\xec\x72\x2b\x37\xc2\x1b\x85\xd9\xe0\xef\x1f\x3e\xa5\x36\xa3\xce\x67\x9f\x24\x01\x27\x27\x0f\xcb\x6f\xed\x91\xce\x70\xea\x4d\x42\xa5\x32\x57\x40\xad\xe7\x47\x84\xb8\x2f\x4b\xdd\xb2\x5d\xc3\x62\x15\xf1\x24\x19\xa8\x35\x17\x93\xc3\x93\xa5\x35\x97\x8f\xd5\xfe\x13\xbf\xe4\x29\x8f\xd1\x1f\x59\xc8\x3f\xb3\xde\x49\x52\xcc\xd9\xe4\x72\xc4\xf7\x44\x77\xe3\x12\x8f\x2d\x10\x04\xb7\x77\x0c\x0d\xc0\x5d\xb8\xc1\xb6\xe8\x55\x42\x8f\x39\x03\x06\x7a\xa9\x26\x5d\x2c\x1c\x8c\xa3\xae\x1f\x6e\x84\x54\xf1\xd8\x56\x55\x51\x8d\x62\x85\xd8\x7c\xa6\x2e\x9a\xb8\x31\xea\xe0\x57\xce\xaa\xd1\xe5\xcd\x51\x0b\x8d\x7e\x7b\x91\xdf\x2c\x01\xc1\x37\x3e\x7b\xe1\xc1\x1b\x74\x3d\x5c\x90\x94\xcb\x1e\x80\x70\x25\x4e\x5d\x3d\x79\x51\x4b\x77\x70\xc2\x9a\xf9\x86\x1e\x1f\xd7\xeb\x6b\x0c\x98\x72\xe5\x49\xcc\x42\x48\xa4\xf9\x44\x61\xa2\x66\x8c\x68\xbc\xd4\xd3\x85\x05\x5a\x7f\x47\x04\xbd\x4a\xaf\x7d\x79\xd5\xaa\x12\x04\x35\x2a\x3d\x0a\x8c\x31\xc3\x3d\x56\x0a\xb8\x7a\x6a\xbe\xab\xfb\xdf\xed\x37\x5c\x9c\x25\x80\x7b\x65\x6e\xfd\x6f\x93\x17\x02\xdf\x6d\x86\xdb\xc2\xad\x1f\x38\x82\xa7\xc1\x30\x47\xa7\x05\x4a\xec\xbf\x03\x14\x7c\xef\xa8\xa0\x91\xf5\x78\x1c\x0d\xf5\x7c\x52\x0b\xbb\x60\xfe\xd5\xf4\x9a\xf2\x15\x52\x20\x84\xf9\xa3\xea\x12\x43\xdd\x5d\xca\x9c\xb1\xb7\xbd\xa3\xf1\xf1\x65\xc0\x27\x6f\x18\x06\x1f\xa6\x1f\xac\x79\xab\x70\x90\x77\x11\xaf\x63\xdb\xa6\xd8\x94\x04\x48\xf4\x86\xd7\xca\xb9\x01\x5b\x2f\xc0\xa6\x26\xcb\x9c\xd7\x15\x66\x37\xd7\xc4\x5c\x86\xc3\x7c\xeb\xff\x9c\x90\x9c\x9d\x40\xb6\xc2\x3c\x79\x91\x8a\xb7\x81\xbd\xf2\x00\xc0\x2b\x99\x76\x6f\x47\x5c\x48\x76\xcf\xc4\xb0\x17\xb8\x42\x9e\xa6\x17\x0b\x1b\x12\xac\x34\x8d\xb5\xd1\x75\xf3\x9d\x80\x3f\xfa\xe2\x9d\x19\x16\x9c\x42\x95\x5d\x6e\x25\x3c\x78\xe0\x5e\x79\x28\x49\xd1\xf8\x71\x95\xfb\x66\xa3\x57\x95\xb4\xc6\x0b\xc0\x29\xcd\xc9\x78\xca\xd6\x8b\xfc\x99\x9e\x7f\x56\xaf\x62\x5b\x2d\x77\x95\x08\x67\x15\x35\xdc\xc3\x41\x39\xaa\xdf\xfa\x7e\xe2\xf5\x73\x94\x2c\x4c\x0c\xf2\xe4\x8c\xd0\x8a\x41\x74\xec\xb6\xb3\x62\x46\xb3\xd0\xdb\x67\xa2\x60\x78\x07\x2f\x2d\xd0\xcd\xf4\x4b\xe9\xf6\x0a\xd4\x19\x2d\x2a\x15\x2a\x15\x07\x83\x23\xcd\xbb\x29\x43\x95\xeb\x70\xd5\x59\x34\x2e\xcd\xc0\xa0\xe5\x25\xc1\xf2\x58\xc6\x09\xe3\x23\xc3\x2b\xd7\x6a\x54\xd3\x50\x2f\x89\x4c\x84\x16\x6c\x51\xbe\x9d\x82\xee\xcb\x09\x98\xc1\x52\x0d\x1c\xa9\x69\x62\x11\xb0\x0b\x16\x6d\x5b\x34\x8e\xbc\xe9\x74\x72\x43\x18\xb5\x26\x7e\x94\x6b\x4c\x75\x88\x27\x14\x44\xca\x08\x62\xd8\x87\x87\x28\xd0\xa6\xf4\x3c\x86\x59\x0e\xd9\x48\xda\x2d\x7c\xbc\xdd\xee\x2d\x44\xfa\x21\xf8\x37\x8e\x4f\x60\xdb\x8a\x1a\xd6\x5c\xb9\x52\x1a\xb1\x61\x65\xc4\xda\x01\xe8\xc3\x45\x48\x0f\x34\xd1\x78\x3f\x74\xec\xa5\x2e\x96\xde\xd8\xb3\x1a\xc6\xfa\xf1\xca\x69\x31\xa0\x9d\x65\xca\x7e\x1f\xd9\x65\x73\x0f\x5e\x22\x09\xc1\x5b\x2a\x6b\x3f\x16\x71\x2b\xb2\x64\xea\xf3\x34\xdb\x68\x6d\x16\xa8\x43\x28\xa9\x98\xc4\x57\xa8\x79\x13\xde\x39\xeb\xaa\xf9\x15\xd1\x31\x77\x53\x94\x5a\xb2\x60\xc6\x68\xea\x2c\x8b\xe4\x11\x06\x75\xa0\xef\x1c\x99\x58\x9d\x3e\x5e\x4c\xb9\x17\x19\x4b\xd3\x9d\xfb\x9a\x64\x08\xd7\x32\x6f\x54\x89\x15\x2b\x5d\x44\xe4\xa0\x35\xf8\xa4\xc1\xf8\x91\x6b\x09\xb4\xbb\xed\x1e\xd7\x89\xc4\x1f\x1e\xfe\x7d\x3b\x1f\x83\xf6\xfc\x97\x77\xaa\x10\x1e\xdd\x6b\xb3\x65\x5c\x70\xa9\xe0\x50\x95\xc1\x11\x40\x87\x38\xd8\x25\xbb\x59\x10\xda\xe7\xae\x15\x8b\x62\x85\xf1\xc7\xdf\x9b\x5f\x6a\x3e\x24\xdf\x8a\xfc\x04\xab\xf0\x1c\x27\x65\x4c\x38\x56\xed\x70\xce\x72\xea\xce\x13\x5b\xce\xf8\x32\xbd\x2a\x67\x26\xa1\x9c\xd9\x18\xf0\xe1\xb5\x83\xec\xf2\x40\x84\x08\x9d\x2d\x13\xfb\xfa\xe0\xf6\xc1\x97\xde\x47\xc9\xae\xfc\x36\x3e\x42\x6d\x14\xdf\x5f\xc3\x81\xc5\xc8\x26\x9f\x3d\x4d\xb1\x4e\x98\x9f\x82\x61\xe9\x98\xd8\xe6\x68\x43\x07\x01\xa7\x83\x68\x2a\x9f\x3d\xa0\x03\xda\x7e\xca\x77\x82\x8e\xc8\x3d\x79\x92\xb3\x9a\xfd\x5a\xad\xb4\x94\x34\xd3\x04\x4b\x2b\x33\x9e\xbc\xcd\x2e\x39\x2d\x39\xe5\x64\x1f\x0d\x26\x7b\x5f\xad\xd0\x90\xb0\x87\x5f\xc3\xec\xc3\x4e\xe1\xb1\xd1\x46\xb2\x3a\xd9\x6c\x29\xb5\xee\xc0\xbd\x04\x35\x71\x54\xcd\x64\x57\x3b\xb3\x99\x97\xcb\xef\x34\x38\xa4\x32\xb7\x13\x8b\xb8\xe9\xc5\xaa\x31\xab\x47\x7b\x5d\x37\x76\xa6\xf2\x92\x23\x03\x71\xfa\x99\xaf\xcb\x72\x83\x46\x51\xa5\x30\xea\x6c\xad\xa6\x4d\x92\x47\xc2\x16\x90\xe7\x13\x90\xc3\x3f\xa5\xc2\xd0\xd1\x7e\xc4\x74\xc1\x5f\x3c\xbc\x47\x07\x31\xe7\xa1\xa8\xee\xa3\xe8\x32\x6c\xb9\xa6\x14\x23\x9c\xc9\x6e\x56\x6f\x43\x81\x99\x61\xf2\x94\xa2\x49\xdf\xa0\x2c\x83\x0d\x54\x60\xca\xa4\x15\xe2\xc6\x1f\x63\xd0\x21\xce\x06\x34\x04\xf0\x73\xf5\x38\xe5\x2f\xd5\x6c\x74\x57\x98\x99\xa1\x7a\x05\x95\x22\x52\xd6\x53\x98\xb4\xfc\xce\x50\x70\x05\x04\xc3\xe1\x05\xe9\x48\xdc\xb8\x8a\xf3\x57\xa7\xdd\x5f\x6b\x6d\xbf\x7b\x7d\xd3\x73\x83\xf6\x51\x25\xd4\x70\xbc\xa0\x10\xff\x15\x86\x70\x34\x1c\xd4\xb8\x0f\x54\xcd\xbb\xca\xac\x38\x54\x1c\xac\x10\x40\xe3\x00\x96\x6b\xae\x11\xbc\x14\x69\xc0\x6e\x3e\xaf\xdb\x50\x7f\x57\x24\x1a\x40\x3f\x75\x49\x54\x0f\x5a\xcc\x37\xb0\xc9\x48\x5d\xd6\x6d\xb5\x8f\x1e\x3f\x5d\xf8\x7b\x4a\x43\x5d\x0b\xd1\xdb\xe3\xb5\xac\x0d\xaa\x94\x9e\x16\x16\xa5\x7e\x52\x65\x2d\xd0\xa5\x10\xb6\x1e\xcc\xfc\x66\xc6\xa0\x34\x98\x12\x83\x43\xa6\x65\xae\x59\x62\x04\x2c\x40\x02\x66\xa0\x8a\xaa\x26\xd7\x16\xd6\x1f\xa0\x88\x87\x64\x0c\x51\xe2\xac\x1b\x0c\x24\xc8\x00\x0b\xef\x91\x8d\xc1\xec\x44\x7c\xf3\xf2\xeb\x8b\x71\xa7\x43\x39\x7b\xb2\x0b\x7d\x89\xf9\xc3\x4c\x90\x45\xec\x32\xe3\x42\x18\xc7\xa1\xab\x04\xa6\x61\x91\x4d\x60\xa1\x1d\x64\x16\x88\xe3\x36\xc5\x9a\x0c\x3a\xc7\xcc\xd7\xf6\x60\x84\x8b\x2d\xef\xf6\x06\x59\xb8\xd8\x66\x6b\xd8\xaf\xd1\x3b\x97\x5f\x88\x8e\x32\xc4\x97\x5b\xd4\x9f\xf6\x85\xba\x86\xae\x7b\x2f\x6d\xe2\x70\xf7\xf0\x29\x08\xfe\xc7\x8c\xc8\x75\x8e\x16\x8f\x98\x7d\xb4\x7d\x01\x1f\xab\x46\x4a\x8f\x5b\xb8\xfa\xaf\xce\xd4\xdd\x57\x52\x47\x5d\x57\xf8\xc3\xfb\xd9\x6b\x7d\x5e\x65\xe2\x96\x8e\x5f\x9f\x17\xa5\x7d\xfb\xb9\xc1\x24\x12\x53\xd6\xe0\x51\x25\x71\x5f\x24\x78\x7c\x45\xc3\x58\xa3\xfa\x6c\x66\xb4\xf0\x78\xff\xd0\x04\xc2\x95\x02\x99\x20\x56\x4c\x7f\x6d\xe5\x1c\xfb\xe4\x7b\x32\xde\x86\xfe\xd3\xef\xe7\xff\x74\x15\xa2\xdd\x6e\x4e\xe7\x63\xfb\xfb\xdc\x4b\xdf\x0b\x51\x9d\xfb\x2b\x5f\x2a\xd5\x73\x9b\x0d\x32\xcd\x62\x4c\x5c\xdc\xfa\x06\x1c\xc5\xcb\xf6\x30\xe4\xba\xaa\xf3\x0f\x29\x56\x7c\x61\x30\x2d\x8e\x5a\x25\x3d\xa2\x3d\x7b\x30\xa6\xa1\x86\xf3\xdf\x08\x4a\xdd\x3c\x61\xea\x75\x8b\xa3\x99\x9f\x59\x99\xd7\x10\x4b\x11\x15\xec\xab\xf3\x74\x0d\xe0\xbf\xdb\x5b\x09\xd3\x05\x3a\xe9\x0c\xed\x35\x17\x8c\xe0\xe6\x43\x40\x63\x50\xb9\x1e\xdd\x65\xdc\x6e\x57\x33\xd9\xf0\xf0\x85\xe2\x8e\x73\xae\x5c\x6c\x34\x8a\x71\x43\xbe\xef\x71\xf5\x04\x3d\x76\x69\x4b\xe5\x8e\x95\xb0\x71\x5d\x72\x36\x12\x7b\x8c\x5e\x06\xc3\xbd\xe3\x5f\x71\x4d\x45\x06\x89\x85\x94\x68\x09\xaa\x95\x4a\x5c\x30\x71\x11\x98\x02\x20\x8c\x79\x61\xca\xa0\xce\x69\x1e\x9e\x99\x8d\x60\x68\x12\x8d\x64\x4e\x51\xd6\x3b\x52\x31\x0e\x33\x30\x7c\xa8\x51\xe0\x0f\x98\x5a\x52\xad\x71\x14\x3f\x6f\x1e\xf1\xf0\x46\x43\x0a\xce\xe2\xe2\x05\x18\x4b\x5b\xfd\x61\x4a\x35\xfb\x6c\xd3\x45\xe0\xa7\x86\x62\xea\x2f\x25\x43\x8c\x69\x56\xdb\x15\x9a\x06\xb2\xd7\x0f\xc3\x12\xc6\x12\x47\x81\x40\x3f\x22\xf8\xc7\x2a\x94\xe4\x8c\x6f\x28\x1c\x98\xae\xc1\x94\xa9\x99\xdb\x29\xe6\xad\x40\x97\x0f\xaa\xad\xf1\x09\x70\x2d\x81\xa3\x84\xc5\xf2\x45\xc6\xd2\x17\x8a\x33\xa9\xee\xee\x58\x42\xef\xa5\xe6\x72\x81\xf7\xf7\xb3\x35\x9d\x87\x6a\x1b\xb6\xc5\xee\x6f\x35\x21\xab\x3d\xd0\xd8\xb3\x43\x8c\xfb\x73\x6d\x79\x1b\x63\xc0\xc9\x80\x1c\xc8\xfb\x4e\x34\xd5\x38\x7d\xc3\x58\xbd\x91\xad\x58\xd3\x3a\x74\x30\x44\x28\x20\x0f\xcb\x2c\xb0\xf3\xec\x0c\xd7\xfb\xcf\x8c\x64\xf0\x53\xde\xc4\xc8\x84\xce\x95\xb3\x75\x35\xf9\x4e\x29\xb7\x53\x82\xe8\x94\xd0\xdc\xdd\xe9\x2d\xe5\xbc\xab\xcb\xc0\x15\x9f\x80\x2c\xf3\xc9\x42\xbf\xec\x0b\x01\x2f\x98\xcc\xd7\xf3\xd8\xcb\x89\x58\xcd\xe1\x4d\x27\x5d\x40\xb2\xdb\xca\xde\x40\x09\x25\x56\x2a\xdf\x53\x9b\x65\xe0\xe7\x9b\xa2\x87\x5c\xc4\xf5\x06\xaf\x41\xfa\x93\xf4\x04\x8e\xe8\x33\xf8\x1d\x9e\x0c\xff\xc2\x99\x81\x84\xbd\x88\xbf\x19\xf1\x93\x68\x34\x1a\x5d\x00\xf1\xb3\xd2\x1f\x2f\xc9\xcb\x4e\x96\x3b\xc1\x38\xe4\x93\xf0\x79\x2d\x0d\xb1\x80\xe3\x75\x28\x2b\x32\x83\x2f\xc1\x58\x62\x7d\x87\xdf\xec\x05\xfd\xc7\x7b\xa8\x2c\x82\x55\xbf\xb9\x3c\x31\xde\xe5\x4a\x59\xa1\x30\xa3\x98\xdf\xae\x75\xa5\x7e\x56\x10\x85\x0e\x02\xc4\xfb\x03\x5f\xec\xbe\x39\x71\x3f\x70\xb0\x04\x2f\x6b\x7e\x94\x17\xd0\xe6\x07\x4a\xfe\xbe\x40\x19\x9b\xff\xe0\x80\xf6\xcf\xd6\x65\xaa\xa7\xde\xda\x1f\x6b\x60\xc3\x84\x5b\x12\x2e\xc6\xb4\xdd\x0b\x33\x09\x5a\xcf\x5d\x3e\xb0\x1d\x19\x8d\xfe\x5b\xea\xae\x15\x76\xad\xfe\xf4\x0b\x44\xad\xd1\x06\xd9\x30\x72\x5e\xc0\x39\x1a\x1a\x37\x23\x56\x3d\x80\x67\x1e\x94\x4a\xe0\xd6\x08\xaf\x5b\xde\xd9\xb8\x91\x89\xfa\x2e\x80\xf5\x24\xd4\x76\xbd\x02\x71\xcf\xc5\x36\x03\xd9\x4a\x12\x45\x1f\xc8\xfd\x52\x58\x5e\xab\x53\xcb\xe0\xe0\xcf\x53\x1b\x87\xbc\x34\x9b\xfa\xe5\xb3\x0d\xf6\x70\xff\x2b\xe2\xb8\xd0\xcc\xaa\x93\x34\x29\x1f\x06\x71\xbc\xb4\x7f\x76\x05\x29\xc6\x76\x49\x51\xf7\x90\xa7\x76\xf5\xed\x91\x34\x5d\x5f\x1b\xf8\x83\xfa\x07\xc2\x2b\x5c\xb1\x1b\x08\xa7\x1b\x02\xdb\x4c\x31\xba\xd3\x25\xe8\x0b\xed\x18\xec\xb3\xc0\x85\xc0\x63\xec\x54\x89\x65\x91\x16\x72\x89\xe5\x98\x46\x6d\x73\x70\xf0\x43\x7c\x33\x0c\x53\xdd\x66\xff\x4b\x49\x04\x13\x72\xd4\x53\x76\x7c\x36\x03\x8e\x3f\x64\x68\xf9\x01\x69\x15\xca\xaf\x7c\xbc\x04\x85\x2f\xbc\x8c\xb5\xe0\xde\xe1\xac\xb6\x80\x06\x75\xb3\x1f\x25\xd5\x42\xde\x0a\xfb\xd8\x75\x41\x4b\x40\xb3\xdd\x52\x91\xf0\x27\x06\x76\x53\x47\x49\x85\x02\x15\x36\x79\xaf\x3b\x67\x45\x8f\x9b\xf0\x62\x63\xb7\xf0\xdd\x40\xc8\xfa\xd0\x01\xd8\x00\x94\xf3\x6b\xa3\x55\xfd\x4c\xec\x74\x64\x76\x83\x18\x14\x53\x72\x0c\x15\x26\xd2\x1c\x0d\x78\x32\x5a\x14\x25\x5b\x24\x13\x1f\xbc\x88\x96\x84\xc4\xa1\x46\x90\x7f\x9e\xe3\x9e\xb3\xdf\xca\xf1\xcd\x5e\x77\x90\xa4\x65\xbf\x41\x2b\x7e\x06\x31\xf4\x70\x49\xa8\xed\x5a\xe5\xb2\x64\x49\x7b\x7c\x4e\x73\xb0\x82\x0b\x92\x4c\x3c\x41\x88\xe7\xe0\x59\x75\xa0\xab\x11\xd2\x5c\x42\xd7\xeb\x93\xfa\x91\x5c\x67\x2e\xcf\xdc\xb2\xcc\x4b\x4d\x92\x41\xe7\x0d\xec\xd9\xb1\x69\x9b\xad\xd0\xe9\x31\x89\xff\x5e\x72\xc1\x41\x86\x7c\x0e\x79\xbd\xe0\xc9\xed\xb7\x5b\x85\x01\x59\x95\x76\x34\xa8\x40\x15\xa2\x1f\x45\x41\xd7\x7b\xa4\x27\x05\x8c\x96\x18\xa9\x88\xf8\x41\xdf\xc9\x3f\x81\x58\xee\xe3\xb6\xb0\x69\x5c\x42\x5b\xa0\x5d\x4a\x54\xf8\x6c\x65\xd1\xd9\xe9\xe0\xc1\x3b\x3f\x58\x5e\xf0\xca\x0b\x69\xf5\x00\x56\xde\x47\xf8\x0d\x30\x83\x88\xbf\x0b\x29\x20\x66\xdf\xc7\xf9\xed\x42\xed\x7d\x98\xf3\x08\x09\x4c\xea\x43\xd6\x38\x4d\x9f\x89\x1b\x86\xaa\x48\xa9\x5e\x9b\x7e\xb7\xbb\x4e\x61\x9e\x8b\x3b\x23\xf3\xb4\x07\x1a\xa2\xe9\xb9\xc2\xd6\xa1\x4c\xd6\x9c\x82\x0b\x86\xf3\x2b\xca\x17\x59\xa8\xc4\x54\xb2\x2f\xab\x2f\x8b\x2e\xa3\x2f\xc3\x2f\x57\x2f\xfb\x2e\x4b\x2e\xe3\x3e\xc6\xaf\x43\x97\x23\x85\x99\x4b\x19\xe3\xe9\x1e\x14\x78\xe3\xc5\xe0\xb4\x5c\xde\xc0\x65\xf3\xbb\x8a\x85\x91\xa8\x84\xa8\xa7\x68\x52\xa8\x98\x31\x0f\xe1\x51\x3d\xf0\xe7\xb9\xab\xc4\xfe\x66\x34\x5c\x06\x27\x39\x07\xe3\x46\xad\xdc\xee\x82\x5a\x6d\x47\x97\x4e\x1f\x81\x8b\x25\xeb\xa2\x88\x6d\x3e\x5a\xe5\x2d\x62\x4a\x1d\xdb\x89\x07\xa4\x96\xa1\x24\x07\xaf\x9b\x24\xd2\xca\xf7\x05\xa7\x48\x1a\xc5\x39\x35\xe9\x21\x00\x7d\xf3\xd6\x05\x5d\xb5\x66\x83\x55\x36\x30\xd0\x65\xd3\xe6\x2f\x27\xb0\x34\x38\xeb\x47\xe4\x59\x13\xcb\xbd\xd3\xc6\x05\xe6\x57\xe0\x5a\xb3\x5c\x61\x08\x06\x0a\x5a\xac\x96\xa9\x3d\xcd\x0a\x57\x50\x90\xb1\xfe\x98\x66\xed\xa0\xa2\x07\xc2\x4f\x79\xbb\x21\x21\xcd\x42\xea\x15\x6d\x4c\xc7\xda\x9f\x4e\x63\x61\x43\x70\xde\x65\x79\x65\x36\x56\xb2\x07\x38\xfc\xb4\x9c\xbf\xb0\x63\xb3\x77\x1a\xfa\x83\xb7\x8b\xbd\x50\xb1\x40\x6a\x0b\xbb\x5c\x2c\xbd\x6d\x26\x22\x99\x86\xca\x86\x29\x2a\x82\x17\xe9\x3a\xc1\x2e\x3a\x85\xad\xa8\x6d\xd2\x67\xe3\x58\x0b\x3d\xfd\xbe\xd5\xc0\xc5\xef\x21\x6f\x5c\xc1\x30\x90\xc2\x68\x77\xef\xb0\xf3\x02\x6c\xd8\xdf\x5a\x93\x8f\x76\x9e\xb4\x88\x79\xb9\x94\xc9\x5d\xa4\x4b\xb1\x9e\xbc\x33\x1e\x3b\x72\x65\x69\x31\x62\xe2\xc9\xf4\xc5\x8d\xd1\xbe\xa5\xa6\xb3\x70\x0d\xf0\x68\x14\xbe\x71\x5b\xc6\x43\x78\x53\x23\xfc\x88\x60\x06\x3e\x75\xe0\x55\xb0\x08\x2e\xd0\x8a\x33\x1f\x6b\x60\xa6\x87\x5a\xe5\xe1\x1e\x6d\x98\x2a\xf2\xe3\xe5\x41\x04\xa3\x8a\x08\x41\x64\x15\x16\xa6\xa9\x37\x12\x20\x6a\x85\x62\x02\xbd\xc9\x4d\xb9\x5b\xca\xac\x0a\x1f\xc6\x10\xdb\x83\x0a\x9b\x71\xad\xe6\xd6\x42\xd4\xe1\x5a\xe3\xd7\x22\xe5\x0c\xab\x44\x85\x6d\xa5\x9c\xbf\x05\x4a\xe1\xc3\x10\x16\xd7\x66\xef\x37\xbc\x65\xe8\xaf\x3a\xf7\xe8\x05\xa7\x67\xa5\xa9\x62\xff\xf2\x85\xa3\x12\x03\xd5\x64\x7e\x65\xb0\x78\x44\x8e\x91\x9b\x05\x37\x33\x97\x54\x5a\x31\xc1\xe3\x65\x68\x93\xfa\xf3\x37\xe5\x39\xdc\x98\x2c\xc9\x30\xd5\x98\x7d\x45\x29\xec\x44\x67\x23\xab\xad\xd8\x19\x72\x6b\x70\x7f\xfd\x93\xb1\xdd\x1c\x42\xce\xec\xb3\x0f\x2b\x2c\xf6\x25\xd2\x73\x60\x58\x2a\x6c\xa7\x94\x54\x13\x4e\x17\x61\x2a\x5a\xb3\x08\x73\x5d\xb1\x20\x1e\xd6\x82\xf3\xa3\x33\x2d\xc5\xe6\x39\x5f\xb0\xe5\xcd\x71\x17\x10\xf5\xc8\xd9\x1d\x9b\x97\xc8\xdd\x8d\x3f\x77\xd5\x91\xc3\x7d\xac\x3a\x48\xd1\x7c\x0a\x04\x53\x83\xdf\x6f\x03\x03\x03\xf3\xca\x31\x35\x32\x33\x32\x32\x32\xe6\xe3\xdf\xf7\x13\x37\xe3\xeb\x9f\xd1\x84\x76\xf0\x80\x46\xe9\x30\xf1\x5b\xfd\x29\xf1\xfd\xfd\x9d\x1f\x9c\xfc\x17\x71\xe4\xd8\xc8\xc8\x04\xec\x1c\x0c\xcc\xec\x17\xfc\xda\x7f\xec\x98\x82\xe6\x06\x06\x06\x26\x6f\x89\x7f\x72\xe1\xe2\x06\x91\x4d\x04\x59\xd3\x82\xf9\xc2\x41\xcd\x82\x79\xe5\xc4\x69\xc8\xda\x62\x08\xa3\xd4\x79\x3f\xf2\xc5\x66\xd3\x45\x60\xb2\x43\x6a\x48\xcb\xa5\xd0\x45\x57\x00\xc5\x4f\x1a\x88\x7a\xa3\x88\x10\xa2\xc8\x0e\xc4\xc9\x42\xa8\x5c\x6d\x3e\x70\xbf\x90\x07\x8b\xfb\x65\x7a\x6a\xd5\x59\xd5\xf9\xf7\x5a\x92\x6b\x64\x05\xaa\xba\xbb\xba\x76\x57\x92\xa7\x97\x2c\x0f\x0c\xdf\x92\x7e\xbf\x8a\xab\x2d\x06\xee\xbb\x0f\xb6\xdc\xf2\x2b\xae\xfe\xa0\xf2\x15\xe4\x33\xf5\x73\xcf\x13\xc8\x94\x33\xf6\xc4\xa9\x3b\xd4\xa7\x75\x9b\xf3\xbc\xc9\x9c\xc6\x39\x32\xd8\x3d\x73\x10\x63\x58\xf2\xb7\xdd\x7a\xf1\x59\x89\x84\x9f\xfd\x80\xcc\x24\xb8\xac\x8f\x53\xf7\x9f\xac\x2c\xc7\x71\xe4\x3e\xca\xe5\x79\x24\x9c\x8d\x49\x41\x7b\x3e\xe6\x3d\x04\xd5\xac\x4b\xcc\x57\xe4\xc1\x84\x34\x9d\x2a\xe6\x20\x77\xf2\x8e\x6e\x6b\x21\x61\xa8\x62\xaf\x88\x1c\xc7\xeb\x7a\x45\x15\x4f\x99\xff\x62\x51\x4f\x71\x9c\x82\x58\x2f\x9f\x16\x25\x7a\xcb\x0a\xeb\xf8\x9b\x55\x5f\x27\x28\x78\x90\xd3\x03\xcb\xdd\xa4\xe5\xe3\x8b\xe6\x19\x2d\x90\x0f\xab\xc8\x1a\xb7\x25\xde\x9a\x4f\xf3\x39\xf4\x21\x66\x7e\xdf\x91\x8e\xa3\x0b\xd1\xcf\x7f\x95\x92\xe6\x29\x5e\xcb\xe3\x5a\x6b\x7e\x5e\x29\xcd\xee\x38\x36\x9c\xa7\xb2\x13\xb9\x2e\x99\x53\x3f\x72\x1f\xce\xaf\x2a\xf2\xa1\xd4\x0d\xed\x8a\x36\xeb\xa7\x49\x1c\x47\x0b\x9a\xe8\xc2\x8a\x85\x5d\x03\x64\x06\xf9\xeb\x32\x0d\xed\xda\x1d\xe9\xc7\x31\x6b\x4c\x3d\x35\x94\x17\x07\x04\x6f\xb4\x34\x4b\x9c\x3a\x0e\xbd\x87\xef\xca\x6f\x8c\x2f\xbb\x14\x3d\xd6\x1e\xfd\xb9\x8b\xbf\xe1\x05\x9f\xa2\x0a\x7f\x1b\xba\x47\xcf\x56\x34\xb0\x94\x7b\x19\x3b\xaf\xf5\xee\xb4\x6a\x76\xec\x19\x41\xbe\xff\x9c\x07\xd9\x71\xa2\xd7\x64\x33\x56\xec\x7c\x5e\xe2\x2f\xc5\xba\x94\x3b\xb3\xfa\x43\xf2\x7b\x88\x0e\x7c\x60\x85\x0f\x8a\xd6\xa3\x5f\x49\x21\x4b\xf0\xf7\xa0\x8e\x17\x7a\xa4\x5f\x21\xdc\xe5\x0b\x3d\x58\x3f\xd8\xb9\xec\x33\xbc\xbb\x94\xb0\xf5\x88\x96\xde\xb7\x20\x3d\x2c\xd6\x6b\x80\xca\x9a\x2e\xed\xcc\x34\x86\x6a\xa2\xe5\xa0\xbe\x74\x7b\xcd\x9f\x2f\x14\xbe\x20\xf7\xce\x98\x34\x97\xfb\x91\x8f\x1d\xbb\x30\xe7\x92\xdf\xac\x1d\x5d\xf1\x35\xe3\x3c\x7d\x78\x6a\x7d\xbe\xb6\xcf\x95\xeb\x2b\xb5\xc3\x20\x1e\xb4\x3f\xf3\x59\xdb\x06\xc7\x54\x3e\xbd\xa7\x2f\x64\x49\x22\x05\x04\xf7\x1f\x68\x7f\xdd\x88\xc4\x56\xc7\xbe\xf8\x7d\xc9\x7c\xf6\xd5\xfa\xd8\x94\xc1\xb4\xbe\x11\x85\x1e\x73\x40\x81\xf4\x85\x7a\xd5\xc5\xe8\xfb\x95\x22\x3d\x66\x04\x1c\x00\xdd\xb1\xee\x03\xbc\xa1\xad\xab\x9a\x2f\x5b\x50\xc0\x65\x22\xc5\xda\x7a\x40\xaf\xbc\xb9\x84\x76\xdf\x7c\x73\xca\xda\x95\xde\xba\x9d\x50\x6e\x68\x1d\xcd\x3d\xe9\xf5\x9f\x73\xe4\xde\x0a\x77\xc1\x34\xaa\x0b\xfb\xd8\xee\xa0\x87\xa4\xd9\x1b\xc4\x69\xaa\x93\xa6\x0f\x66\x2e\xf8\xcf\x89\x67\x81\x16\xcf\xc0\xe7\x37\xd1\x8f\xe1\x2c\x3d\x8b\x4e\xf9\xb2\x6e\x53\xff\xc2\x1b\x50\x00\xfb\x6c\x20\xd1\xeb\x0b\x86\xdd\xcc\x0c\x76\x94\xbd\x23\x1d\xc3\x8a\x7f\xee\x0b\xb1\xf6\x4d\xe1\x7d\xb3\x4b\x85\xee\xaa\x6c\x6e\xe0\xd9\xf8\xb4\x85\xde\x13\x8c\x77\x7b\xd1\xa7\x48\xbf\x24\xd2\x95\xf7\xe6\x10\x51\xa3\x63\x6a\xde\xcd\x9a\xa8\x6e\x73\x45\xff\xd7\x19\x22\xe0\x66\x73\xc7\x0f\xf2\xb6\x5f\x1c\x6d\x4e\x5c\x08\xae\xf7\xfa\xac\xee\x48\xcf\xbf\x07\xdd\x8c\x6f\x07\xc3\x67\xf7\x86\xf1\x09\xce\xef\xce\x2b\xa7\x34\xcd\x57\x6d\xce\x92\x60\x7c\x6f\xee\x50\x81\xa1\x33\x02\x05\xcf\x7a\x46\xe4\xaf\x59\x34\x8a\x09\xe9\x21\x4a\x4c\x27\x6b\xb3\x75\xb6\x7c\xc4\x1f\xf3\x58\xf2\xb5\x4e\xb6\xf4\x5a\xf9\x09\xfe\x23\x22\x2a\x36\x17\xe4\xce\xc8\x44\xeb\x3a\xd2\x4b\xf3\x6f\x50\xe0\x45\xce\xcb\xeb\x57\xdf\xdc\x43\x67\xcf\xde\xcd\xdc\x83\xbf\xc2\x62\x7f\x20\xd1\x37\x38\x73\x52\xe5\x4f\x2c\x29\x8e\x1f\x66\x52\xe1\x21\xc2\x79\x6a\x5c\x6a\x34\xe7\x70\x75\x52\xa3\x92\x32\x14\x63\x3f\x9e\x65\x9b\x0c\xfe\x21\xe6\x24\x11\x14\x95\x2c\x42\x94\xb2\xc0\xaa\x68\xef\x4e\xdd\x5d\x4b\x69\x8f\x8f\xaa\x78\xbb\xd0\xcc\x17\x8b\x94\xa9\x39\x93\xfd\x4e\xa4\x59\xa8\x6f\x4a\x57\x2b\xcd\x39\x12\xcb\x53\xed\x52\x73\x6f\x51\xa3\xff\x39\x22\xbd\x72\x76\x3a\xed\x83\x78\x6f\x83\x05\xe3\x54\x25\xce\x98\x8e\x0b\xa6\xd0\x7a\x58\xca\x93\xa7\xa2\x8f\x3d\x99\x8a\xa3\xd9\xb1\x02\x9f\x72\x6e\x29\xeb\xf0\x68\x07\xc6\xe9\x79\xbf\xad\x9a\x28\x89\x9c\x20\xb9\xe8\xfb\xe8\x08\x44\xf6\xea\x23\x46\x5a\x7f\x10\x6b\x3e\x95\xa9\x44\xe5\xc7\x1f\xae\x84\xe5\xef\x05\x1c\x8f\x76\x73\xb6\xf6\xee\x5f\xe4\xd2\xb1\x1f\x7b\x2e\x31\x09\x29\xb0\x72\x71\x88\x96\x27\x40\x14\xc4\xcf\x51\x56\x72\x1b\xb0\x9f\x9e\xf1\x62\x1c\xc9\xd0\x3f\x4b\x05\x00\xad\x61\x05\x6e\x21\x6e\x6d\x46\x0d\x68\x7d\xde\x93\x6f\x14\x73\xc1\x40\x30\x4a\xdd\xee\x8c\x89\x8c\xad\x85\x9e\xf8\x1d\x30\x2a\xb4\x89\xa0\xb6\xcb\xd6\xc3\x5e\x7e\xe7\xab\xe6\x12\x92\x73\x0f\xa1\x40\x49\xe2\x4a\xd5\x22\x0c\x39\x39\x4b\x97\xae\x82\x7e\x78\xbe\x6e\xc0\x7b\xa4\xb4\xca\xcf\x1c\x11\xc0\x1a\x26\xa1\xfe\x5d\x25\x3e\x5f\x37\x73\xe8\xf5\x88\xbb\x65\x5f\xe1\xe5\x4b\x81\x85\xa2\xdf\xa5\xf8\xce\x2e\x68\x19\xc6\xf0\x4d\x89\x17\xa1\xce\xd8\xe9\x4c\x56\x4f\xf0\xe3\x5a\x32\x21\xa1\x12\x35\x3e\x1e\xfc\x08\x79\x60\x3c\x38\x1c\x5c\x0f\x3a\x1c\x6c\x76\x10\xa0\x66\xfd\x93\x3d\x72\xde\x15\x67\x3b\xb2\xd0\x9f\xab\x19\x47\x78\x0f\xd5\x09\x0f\xb6\x5d\xb1\x52\x30\xfa\x63\x6e\x9d\x78\x66\x03\x44\x30\xd7\x5f\xf0\x82\x33\xab\x02\xf9\xf0\x87\xe4\x45\xd6\x65\x4c\x99\x2a\xc9\x15\xfd\x8f\xe0\xa1\x36\xb1\xe2\xb6\xe7\xc2\x22\xe4\x09\xf3\xdf\x56\x69\x05\xb0\xbc\xe4\x3b\xa6\xe8\x0d\x71\xe5\x40\xb8\x4e\x55\x00\x37\x66\x9c\xe0\x3c\x15\xde\xf5\x12\x80\x29\xf7\x03\xd7\x7a\x51\x71\x64\xce\xcc\x11\x8b\x9b\x79\x9a\x39\xa2\x77\x23\x27\x41\x0b\x34\xda\x84\x05\x9f\xaf\xb5\x6a\xc2\x9d\xee\x0a\x14\x8c\xcc\xe1\x62\x1b\x53\xa6\x45\x4a\x38\x19\x0a\x24\x3a\x75\x16\x78\x30\x1c\xa8\xc1\xe2\x91\x8d\x01\x74\x45\xbd\x7e\xc8\xd5\x8f\x82\x9a\xc3\x7c\x64\x37\x74\xa3\x3d\xa7\x32\xb4\xf9\xde\xfb\x01\x73\x2e\x6c\x8c\x92\xc3\x70\x16\x6d\x3f\xf2\x68\x33\xd7\x68\xce\xc9\x9d\x56\x35\x0e\x7d\xc9\x5a\xd1\xee\x5c\x10\x6f\x6c\x5d\x4a\x5a\x1f\x75\x22\xc7\xdc\xa7\x99\x61\x1d\xa4\x73\x2e\x9e\xbc\x5a\xf2\x6e\x4c\x21\xb6\x39\x6f\x09\xed\x82\xf6\x24\x7c\xec\xcd\xb0\xb2\x33\xa6\x2c\x3e\x36\xe5\x76\xe8\x97\x37\x43\x88\x75\xb9\x23\x75\xf7\x73\xe5\x76\x39\x0e\xda\x07\xad\x7d\xdf\x74\x2f\x83\x24\xe1\xb2\x3c\x8b\x1c\xb1\x79\x3c\x55\x1d\x91\x59\xb7\x23\x89\xdf\x6f\x6d\x04\x3f\x54\xce\x52\xa3\xf7\x60\x6e\x6f\xc1\x78\x90\x0f\x02\xf1\x2c\x29\x11\x05\x22\x81\xee\x51\x3c\x91\x95\xae\x90\x7d\x92\x5a\xb2\x91\x53\xf9\x23\x04\xa5\xa7\xca\x6e\x04\xa1\x81\xd0\xad\xf1\xc5\xdf\x5c\x0f\xbc\xc1\xab\xe8\x7c\x8a\x8b\x87\xe4\x17\x54\x0b\x7e\x70\x8a\x0a\xcd\x81\x78\xfd\xb3\x80\x77\xdc\xfb\x59\x96\x72\x39\x37\xcb\xa2\x7d\x02\xdb\x53\x80\x3b\x91\xe3\xdc\xf0\xfe\x8f\x3e\xbd\x02\x49\xac\x9e\x66\x80\xdf\xdf\xf5\x18\x60\x4f\x58\xda\xd4\xa5\xfe\x49\x76\xc7\x8f\xd3\xea\x1a\xc3\xe1\xf4\x0b\xab\x8e\xd9\xce\x89\x88\x43\xc4\x03\x47\x96\x43\xdd\x91\x9d\x22\x4f\xa4\x8b\xf6\x57\xac\x9b\xa0\x6e\x12\xec\xbd\x6b\xe7\xb4\xef\x03\xb9\x5d\xcb\x1b\xf0\x3e\x3e\xb1\xa5\x5f\x2e\xc4\x0f\x84\xfc\x83\x91\x54\xb7\x7e\x32\x01\x02\xbb\xa7\xaa\x17\xb8\x96\x07\xdc\xbd\x06\xf3\xcd\x41\x8e\xa5\x60\xf1\x8c\x0b\x2f\x68\xbb\x8c\xfb\xdf\x70\x33\xf5\x5a\xbe\xfa\x7a\x12\x98\xe6\xd1\x76\x49\xd4\x6f\x52\x65\x5a\x7d\x72\x77\x08\x99\x68\x10\xe6\x32\x69\x10\xf0\x66\x32\xdc\x93\x5c\x18\xd0\xb4\xe6\x32\xbe\x13\x29\xfb\x34\x0c\xf8\xf4\x87\x13\x8e\xe3\x5e\x99\xf7\x67\x2c\x98\x7e\x42\x1c\x6b\x6e\xb1\x72\x14\x9c\x42\x76\xc7\x06\x05\x42\x65\xff\x88\x70\xcb\x7f\x67\x56\x99\x9a\x57\x89\xff\x53\x43\x4e\x75\x16\xa0\x50\x1d\x26\xbe\xad\x91\x56\xa0\x3f\x5f\x33\x99\x0b\xef\xd9\x1c\x59\x23\x6d\x63\xd8\x3e\x8f\x4f\x71\x36\x9f\x4b\x25\x7a\x8a\xfc\xd7\x71\x3c\xd1\x01\x33\xe5\xa5\x54\x4c\x3a\x27\x81\x0a\xb6\x1b\x57\x3f\xc1\x76\x07\x29\xcd\x62\x00\xcb\xb2\x5b\xc3\x49\x51\x96\x59\x8d\xe0\x59\x68\x4d\x44\x7e\x18\x43\xb4\xc7\x97\x89\xf5\xf8\x10\x9a\x60\x58\x26\x47\xcb\xf5\xc6\x3b\x05\x39\xdf\xec\x9e\x25\x87\x8f\xd2\xa1\x55\x46\x7f\x77\x25\xf4\xbe\xc0\x22\xcc\xc7\x3b\x50\x5e\x0c\x2f\x64\x4a\xc5\x05\x53\xdc\xcd\xda\xe7\x26\x2c\xfa\x13\xc0\xc0\xba\x03\x98\xe7\x57\xa2\x4c\xe9\x20\x72\x7a\xff\x4d\x80\xb2\x95\x4c\xd4\xdb\x03\xc6\xdc\xbb\xb0\x88\x7f\xf3\x06\x70\x24\x3e\x18\x9e\xdf\xc6\x26\xfa\x5c\x87\x4f\x48\x3e\x53\xac\xff\xa2\x66\x81\x00\xbc\xc2\x7a\x43\xa0\x9b\x43\x17\x9a\x33\x6d\x46\x9a\x4d\x22\x98\x2b\x0c\x0f\x99\x45\x0c\x5b\x62\xe0\x49\x2c\xf9\x22\xb8\xf7\x89\x6c\xad\x39\x11\xc7\xb4\x39\x56\x7c\x5f\x21\x64\x3a\x1f\x89\xdd\x13\x24\x08\x5c\xd3\xb0\x06\xf7\xc0\x4e\xbb\xfe\x60\xcd\x8b\xaa\x4f\xae\x78\xe7\xbf\x4b\xde\xe7\xc8\xfc\xfc\x7d\x5f\x0e\xd8\x53\x0b\x90\x6c\xe6\x8c\xdb\x26\xce\xbc\x78\xe4\x0c\xda\x93\x63\x9b\x19\xd9\xd2\x06\xe1\x89\xf6\x6f\xe4\x64\x73\x1f\x8d\xdf\xe5\xc4\xd4\x75\x4e\xfb\x10\xb5\x9e\xa2\x77\xa3\xe8\xc7\x54\xb4\x67\x74\x50\x4c\x3b\xc3\xe2\xa5\x37\xb5\x21\xcc\xa5\x31\x0f\x83\xd4\x32\x8f\xa7\xcd\xa1\x7a\x35\x8b\xcc\x31\xfd\x03\x73\x7f\x3f\xe0\xf3\xa3\x01\xa6\x08\xcd\xd0\x5c\xf6\x0e\x3c\x7b\x40\xa1\xae\xad\x78\x8e\x9a\xae\x58\x68\x77\xe6\x88\x7a\xab\xf7\x7d\x58\xbd\x17\xc0\xfe\xf8\x17\xf2\x0f\xa9\x03\x7f\x78\x22\x07\x71\x53\x96\x5d\xa7\xb9\x8c\xab\x4b\xc7\xf1\x3d\xc2\x9c\x48\x42\xa0\x6c\xb0\x2a\x9c\xbf\xe7\xa2\xe3\x1a\x7e\x43\x5b\xb6\x8e\xef\x6d\x20\x23\xc1\xcb\x90\xa3\x20\xf7\x7b\xa6\x27\x8d\x0f\x52\xc1\x2b\xc9\x27\xf2\x10\x05\xe2\x6e\xe4\x80\xf1\x1b\x81\x31\x23\xe1\x8c\xe4\xbe\x5f\xec\x1b\xee\x23\xdf\xac\x9d\x22\x53\x75\x32\x69\x50\xef\xd2\xf4\x19\x42\xef\xac\x4b\xda\xec\x81\x32\xe5\xe9\x13\xdf\x07\xa3\x12\x2b\xbc\x5e\x09\x96\x67\x78\xa7\x58\xef\x94\x53\x67\x34\xf2\xda\xc4\x54\xc4\x38\xe2\xb3\xc3\xdb\xe4\x76\xc8\x1a\xfd\xe3\xf1\x80\x60\x24\xab\x7b\xb6\x80\x27\xd0\x3b\x72\xcf\x73\x3f\x23\x26\xa1\x73\x32\x68\xf3\xa5\xc2\x9d\xd8\xff\x65\x21\x25\x32\x82\xef\xe3\x0d\xdf\x1e\x19\xf0\x90\xd8\x13\x09\xfa\xce\xe8\x52\x04\x05\xe4\x3b\x5d\xe7\x0f\x5d\x51\x0b\x1c\x0f\xdf\xe0\xda\xce\x79\x07\x06\x5b\x42\x8d\x60\x14\x84\xfb\x0e\xf7\x1c\xd1\xf5\x14\x8d\x67\xbf\x1f\xb8\x47\xd4\xdc\x25\xb5\xce\x36\x85\xf3\x99\xc1\x23\xa7\xd2\xbb\xc8\xb4\x69\x45\xd9\xc1\xae\xca\xde\x6f\xed\x47\xdb\x9d\xf1\x6d\x34\x29\x34\x1d\x6b\xb9\x4e\xa7\xd5\x02\xa8\x74\xff\x82\x64\x82\xbe\xeb\xed\x30\x15\xb5\xa9\x88\x37\xaa\xea\x9a\x56\x8a\xcc\xab\x1f\xba\xc7\x28\x37\xb2\x0a\x49\xf4\x57\x29\x54\xda\x38\x5a\x2f\xc8\xff\x75\x41\x4f\xf5\x89\xfa\xf5\x92\x6c\xbc\x8d\x74\xf1\x27\xd9\x33\x89\xae\xe6\xb2\xbf\xd0\x6d\x78\x1e\x9a\xf1\x7b\x71\x94\x68\x0c\xeb\x69\x2b\xce\xff\x96\x69\x6b\x14\xfc\x9d\x68\x9f\x44\x77\x81\x49\x7a\x31\x13\xa0\xea\x92\xdd\x3d\xf1\x96\x74\x03\xbf\x86\x85\x14\x94\x15\xe0\x40\xa2\xda\x46\xb1\xad\x83\x7a\xd3\x2f\xc4\x01\x46\x68\x7f\x60\x0e\x51\xb9\x10\xff\x52\xe0\x24\x14\x00\x03\x82\x2a\xff\x20\xfe\x80\x30\xef\xcd\x77\xfb\xcf\xff\x92\x67\x9a\x7c\xb2\x60\x16\xec\x87\x9c\xd0\xf4\xcf\x30\x04\x04\x24\x23\x01\x08\x30\xc2\xdf\xe0\xf2\x60\x5e\x39\xa9\xc9\x7b\x36\xe8\xc2\x18\x63\xfd\x3b\x25\xf2\xb6\x25\x46\x0b\x2a\x3d\x89\xc2\x62\x83\x31\x3b\x2d\x29\x58\x21\x9c\x5b\x82\x67\xf2\x56\x26\x3f\x4b\x35\xcf\x39\x78\xa5\xd3\x28\xbb\x8d\x3d\x92\x12\x6d\x0d\x85\x6e\xa1\x46\x68\x89\x85\x7a\xb0\x7b\x1e\xd5\x21\x89\x07\x1d\xa9\x4c\xd1\x1b\x45\xe4\xa5\x4e\x38\x2d\x4f\x3e\x5e\x67\x37\xa0\x1a\xae\xf8\xc2\x43\x5f\xc7\xc7\xf1\xa7\x90\xfe\x81\xcc\x36\xc4\x61\xf7\xe8\xb0\x9d\x90\x05\xe9\xb1\x95\x3d\x88\x74\x0c\x06\xcb\x54\xdb\x7b\x64\xde\x97\x5d\x60\x19\x77\x2c\xd3\xd6\x9c\xd6\xfc\x1d\xbd\x09\x3d\xb7\x19\xd3\xa6\xbc\x00\x5f\x0d\x3d\xc1\x92\xe1\x41\xda\x39\x07\x3c\x9e\xf5\x72\x63\x39\x84\x76\xfb\xb9\xe6\xe9\xed\x02\xba\x0c\x00\xe6\x3e\x5d\x06\x93\x29\x67\xfa\x7a\x00\xac\xfb\x8c\x77\xea\xf3\x5a\x9a\x2c\x08\xd8\xd3\xda\x13\x61\xef\x69\xe1\x4d\xf8\xb2\x83\x9c\x36\xe5\x75\x1d\xd0\xda\x13\x8c\x1d\xfe\x23\x3e\xd1\x24\x0c\x17\xc3\xe4\x71\x3e\x32\x62\x80\x59\x44\x8e\x44\xba\xbc\x04\x12\x75\x0e\xca\x43\x79\x10\xe9\x79\xff\x2f\x04\x02\x08\x53\xd6\x20\x73\x43\xba\x2e\xc9\xf6\x9a\xf0\x8e\x32\x7e\x71\x41\x6e\xb4\xb7\x0f\x6b\x7c\x5f\x2c\x7a\x89\xe9\x8f\x85\x49\x7b\x53\xf3\xcd\x1f\x23\x26\x94\x93\xdf\xe8\x32\x16\x2a\xf2\x66\x62\x91\x78\x17\xd2\x38\x8c\x03\xcb\x62\xb2\xcc\x47\xd1\x3a\x59\x40\x23\x9a\x66\xb7\x09\xf9\x98\x34\xa2\xb1\x1a\x12\x33\x86\x16\x33\x47\xbe\x9f\xea\xd7\x5b\x03\xb8\x9b\x15\x4b\xef\x28\xea\xd7\x9b\x2d\xb9\x80\x1f\xf2\x2e\x31\xbc\xcb\x78\x96\x57\x3e\x4e\x5a\xf6\x2d\xb6\x54\xd8\x33\x12\xd5\xfe\xdd\xb1\xa7\x12\xea\x12\xad\xaf\xfa\xc1\xfc\x36\xbc\x80\xfa\xa6\x65\xec\x1c\xd9\xd4\x51\x6b\xb2\xe7\x1e\x88\x7a\x13\xb1\x5d\x06\xaf\x64\x11\xf2\x52\xb3\xb2\x63\x6f\xf4\x6e\xca\xdc\x02\x43\x9b\xaf\xf7\x93\xa3\x32\xe5\x63\x01\xc2\xc5\x9b\xa1\x2e\xbd\x95\x24\xc5\xb5\x93\x39\xfa\x68\x6e\x32\x9d\xc8\x32\x7b\xcd\x96\xf0\x16\x1b\xf4\x9b\xa4\x2b\x3d\x31\xe9\x8e\x93\xee\xf8\xca\x4c\x55\x6b\x24\xb3\x0c\xe9\xd9\x4a\xda\xd4\xf9\xca\x79\x7f\x6a\xac\xe2\x19\x33\xc9\xd3\xa1\xee\x4a\x16\x2a\xfd\x2a\x74\x9d\xf0\xbf\x04\x11\xe7\x32\x61\x3a\xd5\x20\x17\xbb\x3a\xf2\xca\x78\x5e\x96\xe6\x50\x8d\xb2\xa6\x7e\x9f\xe2\x96\x0e\x87\x59\xf9\x39\x32\xac\x39\x34\x39\x62\xb6\x77\x95\x63\xda\x6b\xc3\x0b\xc4\xef\xa8\x33\x5c\x73\xa0\x2d\x7f\xd5\x5b\x80\x81\x01\x57\xc2\xcd\xe8\xd9\xb7\xd8\x2d\x77\xa5\xb7\x26\xda\x92\xf7\x37\x31\xf3\x27\xb8\x38\x65\xe6\xe3\x1d\xfc\x5c\xcc\x3a\xaa\x57\x8e\xbf\x26\x94\xdb\xe1\x44\x93\xbb\x7a\xa6\x09\x15\xae\x56\x59\xfb\x74\xca\x7a\x5a\x0e\x9d\xa2\x51\x66\x66\x6f\xd3\x4e\x1b\x7b\x1a\x7d\x1c\x09\xd3\xd4\xf4\xf4\xf4\x74\x42\xe6\x33\x73\xbf\xff\xf4\x74\x43\x42\x66\x55\xc9\xb3\xdc\xc9\x87\x6b\x80\xc2\x22\xf9\x4e\xdf\x8e\xbf\xa3\x26\x35\xb5\xdc\x67\xbf\x20\x08\x0f\x3b\x71\x08\xa3\xd4\x41\x46\x3f\xbf\x8b\xc1\xdd\xf4\x3c\x6d\xb9\xb6\x12\x5f\xa5\xbd\xd4\x01\x1a\x32\x84\xcd\x8c\x04\x9e\x7b\x62\x18\x05\xa3\xe0\xe7\x30\xd3\x8f\xe2\x06\x84\xb4\x61\x38\x2d\x58\xfc\xc1\xb1\x06\x58\x3b\xb8\xec\xc1\x93\x06\x28\x3b\x58\xdd\xc1\xd5\x06\xc4\x1e\xd8\xb6\xf0\x2b\x23\xdf\x75\x70\x8f\xb0\x5c\x23\xcb\x75\x28\x8f\xf0\x1d\x23\xcf\x75\x88\xe7\xb0\x5e\x23\xc7\x75\x98\xe7\x70\x66\x9c\x48\xb4\x94\xc2\x1f\xd0\x19\x4a\xe1\xb0\x19\x61\x9f\x46\x81\x5c\x60\x48\x61\xa1\x00\x23\x2e\x48\x8d\x41\x0c\xb9\x61\x84\xe9\xa1\x42\x27\x1c\x02\x24\xc9\x81\xbf\x4e\x18\x04\x88\xe3\x03\x8d\x4e\x04\x04\xc8\x54\x03\x7f\x9c\xd0\x72\x10\xca\x07\x2a\x9d\xf0\x72\x90\x2c\x07\x32\x9d\xb0\x72\x10\x4f\x07\x3a\x95\x42\x1f\x06\x42\x7c\x6c\xd8\x9e\x24\x6c\x20\xf1\xe6\x21\xa1\xe8\xad\x44\x61\xec\xb4\x10\xf5\x9d\x0a\x60\xfc\x9d\x06\x43\xd9\x01\xa2\x60\xa4\x62\x4c\x30\x0f\x0d\x60\x31\x0d\x58\xb3\x91\xf0\x00\x91\x8e\x9f\x0c\x11\xb2\x00\x95\x0e\x04\x86\x48\x5a\x80\x4c\x07\x5c\x5d\x84\x2d\x40\xa7\x03\xa9\x2e\x12\x1f\x20\xd1\x01\xeb\x10\xa1\x0b\xd0\xe8\x40\x74\x88\xe4\x05\x28\x74\xc0\x5f\x47\xf8\x02\x0c\x3a\x90\xaf\x23\x61\x00\xc2\x5e\x3f\x89\x22\x24\x01\xca\x5e\x08\x44\x91\x54\x00\x69\x2f\xb8\xbc\x08\x4b\x80\xb6\x17\x52\x5e\x24\x36\x40\xdc\x0b\xd6\x20\x42\x13\xa0\xee\xc5\xda\x03\xb5\x0b\xe7\x18\xda\x3e\xcc\x0b\xc8\xbd\x65\xf0\xe2\xec\x81\xd9\x85\xbf\x09\x7d\x19\x86\x01\x84\xde\x92\x82\x98\x7a\xa0\x89\x83\x13\x86\xc6\x01\x87\xb7\xb0\x20\x72\x3f\x38\x01\xc4\xfc\xe0\xb9\xa1\x53\xc0\xc3\x2d\x14\x88\xac\x07\xc9\x30\x84\x71\x58\x13\x50\x7d\xcb\x0e\xe2\xf1\x83\xe8\x83\xdd\x0b\x71\x1c\xf6\x04\x74\xdf\xf2\x83\x04\x3e\xc0\x02\x7e\x0a\x86\x10\x0f\x2b\x02\xca\x6f\x59\x41\xdc\x1f\x3f\x02\x60\xfb\x43\x0c\x87\x1d\x01\xed\xb7\xd0\x1f\x48\x01\xc8\x81\x41\x82\x43\xf9\x80\xb9\x5b\x6c\x10\xed\x07\xe2\x17\xd2\x77\x50\xe0\x50\x3f\x60\xef\x96\x18\xc4\x58\x86\x82\xf2\x97\x29\x0e\x77\xda\x04\xe9\xa1\x92\xd0\xe9\x27\xbc\xd6\x88\x31\xc1\xa0\xb2\x5e\xc4\x94\x33\x54\xdd\x48\x9c\x93\xe9\x36\x24\xe7\xe8\x8c\x93\xeb\xf6\x8f\xf6\x91\x5a\x27\xdb\x6d\xe8\xbd\xb0\xad\x03\x8f\x0e\xfe\xeb\x20\xde\x03\x85\x0e\xd6\xeb\x90\xee\x03\x87\x0e\xde\xeb\x60\xdf\x03\x83\x0e\xce\xeb\xd0\xf7\x03\x9c\x78\x53\xd8\x29\x2d\x61\x08\xf9\x9a\x03\x48\x85\x83\x80\x0e\x41\xa2\x20\x98\x03\x61\x2f\x26\xa2\x90\x6a\x27\xb8\x72\x67\x68\xcb\x3b\x25\x3e\x04\xe4\xf1\x5f\xb7\x52\x7c\x70\x09\x63\xa6\xb7\x5a\x7c\x48\x09\xe3\xe8\xb7\x62\x7c\xd4\x4f\x3c\x79\xb1\xe5\x80\x4a\x2f\xbc\xbc\x78\x4b\x40\xa6\x17\x56\x5e\xdc\x29\xa0\x53\x6b\xf8\x61\x7e\x88\x87\xa3\xe1\x0f\x9c\xee\xfa\x18\xd2\x66\x07\x5e\x37\xd0\x08\xf9\x1d\x58\x14\x69\x3b\x3f\x0e\x26\x1a\xeb\x84\x74\xea\x0c\x8e\xed\x4c\x9f\x97\x80\x0d\x08\xf7\x42\x35\x88\x4d\x07\x94\x7a\xe1\x1a\xc4\x6b\x02\x52\xbd\x30\x0d\xe2\xd6\x00\xad\x5e\x84\x06\x09\x9c\x80\x38\x2f\xf4\xdd\xd8\x76\x40\xad\x17\xfe\x6e\xbc\x27\x20\xd7\x0b\x7b\x37\xee\x05\xd0\xeb\x45\xbc\x9b\x80\x0c\x08\x05\xa1\x08\xc4\x26\x00\x8a\x41\x38\x02\xf1\x8a\x80\x64\x10\x86\x40\xdc\x1c\xa0\x19\x44\x20\x90\xc0\x08\x88\x01\xa1\xf5\xc5\xd6\x03\xaa\x41\x16\x7e\xf0\x7d\x98\x7b\x11\x8e\xe3\x9e\x00\xde\x3b\x7d\x90\x83\x1f\x72\x1f\xf6\x5e\xe4\xcd\x38\x32\x00\xe6\x4e\x14\x64\xec\x87\x28\x18\x42\x3c\x9a\xb0\x3f\x7e\x87\x0e\x92\xfe\xc0\x08\xc0\x13\x0c\xcd\x1f\x9d\xdb\x3f\xbd\x83\x07\x89\xfb\x11\xf6\x87\x19\x8e\xd5\x03\x34\xef\x6c\x41\xee\x1f\xd0\x01\xe8\xfd\xe1\x7b\x63\x37\x00\xcf\x3b\x5f\x90\xff\x07\xf8\x17\x4a\x60\x98\xe0\x58\x3e\x40\xf1\xce\x12\xe4\xfa\x01\xf5\x85\x16\x18\xde\x3f\xb6\x07\x70\xbc\x43\xfc\x20\xfc\x22\xfa\x0e\x0a\x1c\x11\xdc\xcf\xbf\x63\x04\x69\x7e\xe0\x7f\x11\x7e\x07\x7f\x8f\x04\xee\xf7\xdf\x09\x82\x0c\x65\x50\x51\xd0\x94\xb3\x58\x52\x4a\x09\x8e\xad\xa3\xe0\xd4\x4a\x8c\xf1\x0a\x95\x75\x24\xa6\xac\xa1\x6a\x4b\xe2\xac\x4c\x37\xc3\x38\x4a\x67\xac\x5c\x37\x43\xda\x4a\x6a\xad\x6c\x37\x23\x76\xc5\xb6\x16\x3d\x5a\xf8\xaf\x84\x78\x17\x15\x5a\x58\xaf\x44\xba\x17\x1d\x5a\x78\xaf\x84\x7d\x17\x0d\x5a\x38\xaf\x44\xdf\x17\x71\xe2\x54\xff\xfc\x53\x23\x0d\x95\xab\x5a\x84\x94\x5f\x0c\x68\x11\x24\x14\x82\x59\x14\x76\x63\x22\x14\xa9\xb6\x8a\x2e\xb3\x8e\xb0\x38\x53\xe2\x89\x45\x2a\xff\x05\x94\xe2\x89\x8e\x2f\x33\x05\x6a\xf1\xc4\xc7\x97\xa3\x03\xc5\x78\xfe\x28\x94\xa9\x02\xd5\x78\xe2\x14\xca\x59\x81\x72\x3c\x31\xb3\x65\xae\x40\xbd\xaa\x05\x6f\x33\xe5\x5c\xbc\x65\x72\x71\x7a\x1b\xd5\x48\x3b\x1d\x79\x7d\x97\x0a\x49\x7f\x97\xc9\x62\xf6\x23\x55\x21\x52\x71\x36\xc9\x87\x16\xa1\x98\x96\xb4\xd9\x72\x78\xa0\x48\x57\x14\x43\x99\x2c\x50\xa5\x2b\x96\xa1\x9c\x16\x28\xd3\x15\x5d\x57\x66\x0b\xd4\xe9\x8a\xaf\x2b\xc7\x07\x4a\x74\xfd\x71\x28\xd3\x05\x6a\x74\xc5\x39\x94\xf3\x02\x15\xba\x62\xae\xcb\x7c\x81\x06\x5d\x09\xd7\xe5\x30\x40\x61\x9f\x28\xa2\x32\x49\xa0\xb2\x4f\x2c\x51\x39\x15\x50\xda\x27\x3a\xaf\xcc\x12\xa8\xed\x13\x9f\x57\x8e\x0d\x14\xf7\xf9\x63\x50\xa6\x09\x5c\x59\x26\xcc\x6c\x33\x85\x12\x2e\xc3\x86\xf2\xf8\x85\xff\x7b\xca\xd1\xed\xbe\x4a\xb0\x9c\x60\x4d\x35\x13\xe9\x65\xd8\x0d\x45\x27\x40\x38\x3a\xeb\xdc\x7b\xdf\x84\x07\x2e\x25\xdf\x61\x43\x81\x91\xd8\xc3\x26\xfe\xb8\x1d\x33\x22\x37\xa7\xe5\x8a\x44\xac\x3d\xfb\x49\x7d\x2e\x57\xb5\xb3\xb5\x6e\xab\x7a\xe3\xd3\x4f\xaf\x5b\x59\xca\xa1\x3a\x15\xf1\xd2\x63\xcf\xa5\x62\xbf\x8d\xb5\xd0\x11\x2a\xd7\x6d\xfc\xaa\x92\x6f\xae\xcc\x26\x0d\xbd\x4c\xb4\xbb\x7c\xb1\xcf\x96\x3d\x32\xfb\xda\x6f\x6f\x3f\x02\xe1\x14\x26\xd7\xee\x48\x3a\xb5\xf1\xdd\xdd\xb3\x10\xc8\xbd\x6a\x52\x6b\xfc\x8e\x28\xc9\x5c\x5e\x5e\xc3\x74\x5a\x9d\x56\x1f\xa2\x60\x90\x86\xa6\x08\xec\x88\x73\xe8\x3a\xd6\xba\xfa\xe1\x58\x76\xe6\xbe\xdd\x07\x07\xe7\x5a\x87\xfe\xa4\x16\xb7\xa6\xba\x2c\x4f\x8a\xb3\x78\x35\x31\x55\x77\x87\xef\xa0\x7a\x7c\xae\xa1\xa7\x6a\xd5\xba\xf4\x81\x5d\x72\x51\xb7\x35\x23\xbb\xd0\xfc\xe1\x30\xf6\x70\x15\x90\x61\xaf\xc5\x7f\xac\x7b\x96\xb6\x85\xfc\xda\xb9\x34\xbd\x59\x78\xbc\x1e\x67\x52\x81\x35\xa4\x23\xb9\x71\xa5\xa0\x15\xb5\xf5\xe0\xc1\x7a\x89\x01\xd2\xee\x36\x74\x55\xa3\x25\x50\xc8\x42\x5c\x41\x4e\x35\x94\xe3\xe9\xeb\x11\x48\x6a\xd1\x94\x14\xb6\x6a\xc7\x5a\x6a\x4a\x2f\xda\x71\xbc\xf7\x85\x55\x68\x3f\xf4\x94\xd4\xd5\x10\x9d\xac\x5c\x39\xb9\x2c\x73\x71\xcd\xdb\xf9\xf9\xcb\xd0\x9c\x7f\xc5\x71\x5d\xa1\xd0\xd2\x9b\x5d\xbb\xfa\xbe\x59\x43\x95\xf2\x08\xfd\xc4\xbd\xaa\x8c\xd0\x22\x24\xfe\xb8\x5a\xae\xb8\x18\x14\x26\xd6\xf0\x97\x44\xcd\xa0\xd6\x81\xbd\xeb\x21\x6d\x8f\xc0\x5a\xdb\x2f\x2c\xd4\x20\x60\x5e\x6a\xaa\xd0\x92\x2f\x46\x7e\x60\xcc\xa9\x57\x6f\xea\xc9\xdc\x8f\x2b\xc0\x7f\xfe\x8f\xe5\x62\x6e\xac\x4e\x2d\xde\x3e\xd3\xc3\xf4\xab\x43\xd3\xc3\x5f\x61\xaa\xdd\xa1\xc4\x53\x31\x61\xf9\x58\x65\xe0\x86\xff\x0e\x1d\x25\x65\xf4\x16\x77\x3b\xfe\xda\x2f\x5b\xb2\x51\xc9\x21\xae\x33\xc4\x8d\xcf\xb4\xec\x81\x90\x88\x7a\x35\x41\x60\xc7\x7e\x54\x04\x45\x1d\x8e\x89\xd1\x22\xcd\x72\xed\x57\x81\xf5\x6b\x1f\x2f\x71\x7d\x71\x06\xdb\xa1\xfa\x51\xb2\xc7\xd1\xd9\x69\xe3\xaf\x83\x5f\x68\xc4\x77\x2e\x3f\x7c\x6b\xab\x5a\xc9\xc6\x71\x57\xaf\x0a\x2c\xb9\x67\x5d\x5a\xe7\x9d\x6a\xf2\x5a\x1d\xb4\xcf\xda\x76\x4c\xb6\xa8\xab\x47\x3d\x47\x34\xbd\x5b\x27\x24\x4c\xd9\x23\x4a\x16\x9c\xb6\x85\x10\x1f\x2a\x1f\xaf\x02\x78\x03\xf8\x87\x4f\x37\x34\x5f\x23\x8e\x2b\x02\x96\xee\x9b\xfb\x56\x1c\xbb\x7a\xf5\x86\xaf\x9e\xb4\x0e\xed\xe6\x6c\x5e\xd4\xb5\x70\x72\x34\x8f\x6a\x79\x25\xb5\x89\xb7\xf8\x73\x34\x69\x08\xf6\x6b\x7d\xf3\xe4\x36\x00\xf0\xbc\xdb\x26\xd8\x34\x82\xa4\xb4\xe7\xf1\x74\xc6\x99\x06\xa0\x9c\x7b\xd1\x6c\x5c\x4d\x60\xc0\xf8\xd3\x55\xab\x9d\xe1\x14\xae\xc9\xf8\x1a\x1e\x61\x26\x79\x4e\xbb\xe8\xb3\xb9\xcb\xad\x09\x4b\xa3\xff\x36\xbe\x02\x81\xa1\xa9\xcb\x5e\x69\x9d\x8e\xdc\x83\x3d\xd2\xbd\xcf\xe4\xa0\xd4\xfa\x1f\x9f\xa7\xa0\x35\x1a\x98\x76\xb9\x17\xb3\xce\x45\xe2\x68\x08\xe9\x71\x17\x9d\x51\xae\x2e\x72\x66\x0a\xaa\x07\x97\x28\x1c\xe7\xcb\x80\xf4\x99\x4c\x02\xf3\xd9\x98\x10\x24\x47\xdb\x30\xc7\x84\x7b\x6e\xbb\xe5\x23\x67\x02\x91\xcb\x80\xb4\xc9\xde\x59\x93\x46\x7b\x56\x51\xfe\x3b\x61\x34\xc2\x30\xca\xc3\x06\x64\x90\xd3\x71\x1f\xb6\x69\x0c\x95\x58\x71\xe8\x54\xb6\x1b\xfc\x1d\x3c\x6c\xe6\xae\x53\x40\xc3\x9a\x1d\x8b\x2b\xc7\xb9\x2c\x02\x75\xd3\x28\x68\x71\x02\x9c\x73\x12\xf9\xc7\x39\xdb\xab\x4a\x03\x3e\xe8\xf6\xed\xac\xcb\x25\xc7\x44\x34\xbe\x75\x14\x06\xbf\x4a\x24\xd2\x7c\xf9\x3a\x3e\xfb\xa0\x4d\x6f\x3b\xba\xc7\x4c\x0c\xc9\x4c\xfc\x60\x62\xd3\x47\xb2\x6e\xdb\x88\x3c\xcf\x68\x03\x5a\xf4\x6f\x3b\xa9\x54\xd9\x3e\xce\xf5\xaa\xba\xc7\xee\x29\xef\xde\x64\x98\xc6\x3c\x62\x13\x81\xb2\x37\xab\xa8\xfb\x9e\x46\x6d\x04\x66\x45\x08\x17\x67\x27\x55\x66\xdb\x8d\x84\x81\xce\x2c\xcb\x30\xd1\x9f\xac\x8d\xae\x26\x2e\x11\xa5\x5f\x70\xda\x32\x09\x8a\xa3\xf7\x26\xdf\xeb\x06\x3c\x0d\x27\x6a\xc2\xb3\xe5\x1a\x96\xc5\x1e\x1b\xce\x75\x73\x01\x43\x13\xc2\x6b\xfb\x51\xfb\x5b\xfa\x98\x1e\x5e\x43\x1e\x96\xbf\x0f\x3a\x8e\x1e\x5a\xa2\xd7\x94\x3c\xd5\x22\x66\x6c\x39\xb9\xa6\x25\xe3\xae\x51\xa6\x26\x2e\xf6\x2f\x78\xbb\xea\x30\x89\xdf\xef\xdb\x2e\xda\xbc\x39\x2f\x4c\x84\x9c\x27\x85\x22\xd8\xd5\x62\xa0\x04\x5c\x31\xc7\x78\x67\xa8\xe4\xfb\x4a\xa4\x7f\xf5\x8d\x48\xb3\x0a\xd0\xf6\x71\x12\x0c\xbd\x0b\xf3\x38\xf9\xb7\xe1\x61\x4f\xf2\xff\xd1\xf5\xf3\x86\xce\xa4\x57\xa0\x81\xa8\x2f\xf5\xde\x61\xc0\x2f\x9b\xf9\x72\x74\x91\xa9\xea\xae\x71\x56\xde\xd2\xde\x25\x20\xd2\xe2\x9d\xfd\x4d\x70\x28\xfa\x6c\x5b\xc1\xd5\x76\xb2\xb1\x25\x60\xeb\xe8\x2c\x76\x94\xa1\xe9\x64\x86\xca\xde\x26\xce\x3f\xe7\x1c\xec\xee\x50\xbd\x00\x8a\xb2\x0d\x45\xe0\xc8\x71\x43\x2f\x3f\x21\x4f\x5d\xf5\x99\x21\x33\x1d\x8e\xc7\xbf\xdd\xaf\xf6\x43\xd9\x28\xfc\x9d\x86\xad\x0a\x6b\xda\x36\xf8\x47\x86\x7a\x96\x89\x41\xd2\x7c\x32\xc5\x99\xe7\x2f\xfd\xf2\xaf\xad\x7d\xc2\x96\x07\x84\x67\xf2\x1b\x04\x6d\x7e\x8b\xf6\x37\xc4\xd4\xab\x4a\x8b\x35\xa4\x18\x7a\x6d\xb4\xe6\x1a\x8d\x1e\xb7\x51\xef\x82\xe4\xb0\xca\x55\x2d\xd9\x5a\xab\x2e\x65\xfd\x9a\xe5\x74\xf4\x84\xcf\xf6\x41\xa9\x83\x7e\xc4\x88\xf5\x40\xfc\x47\x73\xc3\xf0\x27\xd0\x01\x9a\x51\x40\xd0\xef\x9a\x40\xf6\x35\x35\xe1\xf4\x25\x89\xd5\x46\xbe\x4a\x93\xe2\xb0\x61\xfe\x76\x86\xf7\x68\xc7\xc3\x86\x67\xcf\xcb\xf6\xa1\xac\x09\xc4\xa7\x65\x69\xd6\x85\x4c\xcf\xad\x9b\x07\x8b\x24\x4f\xd6\x9c\xcf\xdc\xd1\x10\x24\x28\x3f\xa6\xa9\xf4\x88\x01\x2e\x04\x7a\xd8\xd0\x45\xc6\x0a\x28\x45\x07\xe3\x22\x06\x78\x20\xc5\x8d\x79\x08\x11\x23\xf9\xd2\x41\xf5\x4a\x79\xde\xf9\xd1\x26\xc1\x05\x5f\x75\xe6\x29\x13\xf6\x3b\x19\xe3\x1e\xda\xfd\x89\xd5\x76\x94\x28\x7c\x77\x67\xe6\x29\xeb\xc9\xa5\x39\xb7\xf5\xab\x09\x4e\x34\xf6\x48\x3d\xf7\xd4\xea\x28\x2f\x61\x10\x57\x06\xf9\x24\x59\x5f\xff\x19\xb4\x64\x23\x69\xb0\x54\xd7\xa5\x4c\x83\xb1\x66\x99\x6d\xe9\xb9\x99\xb3\xb4\x05\x35\x34\xea\x9e\x54\x5f\x5f\xdb\x78\x5b\xfc\xb9\x74\x8c\x61\xf6\x6f\x64\xdf\x85\xcd\x56\x17\x8f\x36\x9b\xdf\x0a\x05\x2c\x85\x04\x87\xc0\x37\x0b\xfa\xaf\xdb\xf3\xf5\x7f\xd6\xf1\x48\x68\xf2\x4d\x59\x98\x49\x45\x36\x97\x94\xcf\x4a\x66\x30\x84\x02\xca\xf9\xa1\xb9\x49\x23\xcd\xf3\x56\x2e\x41\x8b\x1b\x94\x38\x7e\x2d\x35\xdb\x46\x62\x30\x15\xa5\xa2\x68\x05\x69\xcf\x87\x60\x2b\xb0\xbe\xf1\x7f\x1d\x20\x85\xb9\xa7\x76\x8f\x12\xb5\xa5\x8a\xaa\x38\x98\x25\x29\x67\xe3\xf1\x1b\xf7\xec\x19\x1b\x42\x29\x60\xad\x47\xbb\x1a\x85\x17\x65\xd6\xfe\x99\x1e\x17\x82\x96\x14\x4f\xe6\xee\x49\xea\x3d\xdd\x3e\xd3\x45\x73\xea\x92\x13\x89\x91\x4f\x08\x47\xd3\x0d\xec\x32\xd8\x4c\xc6\x29\xe7\x0e\xe7\xa2\xb8\x6a\xc6\x35\x8b\x34\x88\x18\x31\x93\x52\x88\x2d\x21\xfb\x9e\xfd\x6a\x29\x9a\x29\xa0\xb5\x6f\x30\xda\xea\x7a\xf4\x29\x30\x5f\x97\xeb\x7c\x31\xa0\xe4\x9b\xde\x05\x6a\x9f\xb1\x26\x13\xce\x97\x9f\x4e\x2b\x89\x38\x8e\x58\xb5\x11\x6b\xbb\x9b\xa7\x0e\xb9\xd4\xb0\x4d\xbd\x08\xab\x67\x39\x9b\x34\x18\xe4\xeb\xf4\x38\xf1\x5c\xb8\x6a\x25\x0b\xe1\x38\x3e\xfb\x45\x9b\x6a\xff\x0e\x3a\x11\x84\x6a\xda\xcd\xc7\x98\xaa\xd6\xea\xd5\x49\x19\x23\x30\xba\x70\xc4\x9d\xfb\xfc\xea\x4a\x36\x30\xca\x8c\xc4\x82\xce\x27\xba\xd8\xfd\x3b\x3c\xcd\xbe\x41\xf7\xa1\x3c\x43\x9a\xdb\xff\x08\x3d\x18\xd3\xdf\xd8\xb1\xf7\x5c\x6b\xd0\x36\xba\xd7\xa2\x9f\x5f\x43\x19\x19\x7f\x77\x0e\xb2\xda\x41\xba\xf8\x4b\xd0\x9b\x16\xfc\xab\xf0\x10\x3b\x99\x86\x48\xe7\xa4\x43\xae\x45\x40\x36\x8e\xee\x4c\x72\x77\xb1\xfc\xa0\xfa\x58\xf6\x6d\x12\x33\xff\x74\x4e\xcf\x53\x60\xe2\x8e\xfd\x49\xbf\x3b\x73\x3f\x06\x95\xfe\x96\xe5\xaa\xeb\x28\xad\xa0\x1b\xe8\xac\xe2\xfa\x4b\x50\x0b\xbd\xd1\xe4\x83\x7b\x40\xc3\xb9\x99\x1e\x69\x2a\x5e\x46\x96\x14\x96\xaf\x85\x1f\x8e\xec\xef\x2a\x9b\xeb\xfd\x5c\x1c\x7f\x79\x05\x51\xab\x73\x5d\x76\xa6\xa6\xc7\xce\x71\x20\xc1\xdb\xc7\x14\xa3\x9a\x6c\xf1\xdd\xae\x6d\xe8\xcc\x94\x96\x79\xb2\x99\x74\x68\xce\x05\x39\xb7\x24\x51\x66\xb1\x3c\xa7\xde\xbd\xd0\x18\x65\xc4\x29\x48\x35\xa7\x5f\xe6\x90\xfd\x6e\x62\x64\x5d\x2a\x69\xe3\x20\x38\x8b\x56\x94\x82\xfa\x9f\x4a\x94\x06\x7a\x04\x46\x19\x86\x3a\x35\x65\x49\xc6\xb4\xb8\xff\xfb\xfc\x9d\xba\xa9\xdf\xea\x2a\x57\x82\x1c\x9c\x55\x13\x9d\x3e\xb8\x3c\x9c\x95\x8a\x50\xf2\x8f\x2c\x8c\xf9\x23\xb3\x2e\x0d\xdc\x18\x54\x77\xeb\xd4\x92\xdf\xb2\xca\xd2\x16\xd9\x78\xe9\xf1\xd4\xe2\xea\xd1\xb0\xd4\x90\x6c\x02\x94\xe1\x7c\x84\xd8\xf3\x1d\x41\x63\xb4\x2a\x38\x2a\x3f\x4d\xf4\x50\x0e\x43\x70\xd6\x6c\xb3\x89\x96\x5a\x01\x32\x21\xb4\xb0\x75\xe4\x1d\x49\xff\x29\x4c\xa9\xe1\x95\x74\x51\x4d\x24\xff\x42\x7e\x5f\x1c\xcf\x00\x61\x2d\xc7\xdc\x09\xfb\x49\xe7\x9b\xca\x72\x98\xdd\xec\xcf\x75\x28\xeb\x27\x08\x30\x8d\x6b\x7f\xda\x8a\x6b\xd1\xde\x41\x04\x6b\xb0\xb9\x69\x44\x21\x92\x72\x98\xe9\x88\x0a\x45\x04\x21\x80\xe3\xfe\x60\x81\x34\xfb\x39\x91\x58\x9a\x15\xc2\x04\x65\x0c\x37\x84\x11\x56\x99\xee\x63\xf5\x21\x27\x64\x91\x3a\xd7\x8d\x29\x88\xae\xa4\x4e\xa4\x06\xa5\x86\xf9\xdf\x47\x78\x19\x0d\x9b\xba\xaa\x81\x83\x94\xac\x55\x55\x48\x06\xca\x48\x18\xc9\x08\x36\xe6\x9d\xb8\xb8\x9f\x32\xaa\xa1\xda\x7f\x68\x26\xca\x48\x09\x09\x25\x14\x69\x59\x85\x1c\x9c\x49\x53\x92\x43\xaa\x09\xee\x06\xc6\x76\x34\xf1\x4f\x11\x39\xe3\x06\xea\x0e\x9c\xf4\x22\x72\x71\xed\xe8\x68\x8c\xff\xba\xd2\x34\x35\x52\xf6\x36\x86\x2c\x0e\x4b\x3a\x69\x1a\xd3\x08\x5a\x84\xd6\x10\x8a\x2c\x8e\x09\xac\x28\x9d\x71\x2c\xbc\xb4\xb4\x94\x4c\x08\x0a\x2b\x8e\x09\xb4\xe8\xb4\x51\x14\x2e\x02\x73\x28\xa9\x05\xd3\x08\x42\x44\xc6\xe0\xff\x12\x61\x0d\x25\xb4\x51\xcc\x85\x53\xa0\x48\x89\x98\xfe\x85\x54\xfc\x2c\x22\x8b\x8a\x26\x11\xf3\x11\x2d\xe1\xfc\x2f\xd0\x84\x30\x41\x92\x76\xe1\x17\x75\xff\xdf\x50\x46\x22\x27\x1c\x05\x8c\xa0\xfe\xa9\x8a\x42\xe7\x53\x3d\xf2\x93\x01\x72\xb0\xc8\x55\x16\x85\xac\x8b\xb4\x08\x5f\x5d\x58\x0d\x8a\xb4\x08\xff\x7f\xf8\xff\x0b\xcc\xd4\x3f\xff\x40\x46\x88\xfd\x10\x25\x0b\x1e\x2c\x6a\x97\x51\xc7\xdc\x6a\x61\x63\x2e\xb3\x1d\xcb\x24\xeb\xa5\x5e\xcc\xe6\x21\x4a\xa1\x44\xd0\xcf\x66\xd1\x4a\x35\x11\x81\x3b\x61\x1d\x95\x2d\x03\x3a\x46\x7f\xfd\xff\xc2\x82\xba\x33\xad\x54\xdd\x27\xbc\x7a\xcc\x5d\x7f\xd1\x5d\x7b\xcd\xa7\xb2\xfa\x51\x45\x33\xb3\xab\xee\xdc\x47\x64\x2d\xf4\x55\xe3\xcc\x47\x66\x6d\xa9\x2b\x6f\xe1\xc9\x4e\x45\xd1\x7a\x97\x7a\x86\xb7\xd4\xbb\x9c\xed\x26\xe5\x24\x77\xb1\x47\x35\xcb\x53\xe6\x41\xe1\xff\x88\x9a\x30\x33\x8b\x2d\x27\xb9\xab\x3d\x4b\x59\x9e\x3a\x0f\x0a\xb6\xbb\xd6\x33\xbc\xb5\xde\xe5\xec\x37\xff\x5b\xac\x36\xb5\x95\x1e\x5f\x5d\x8c\x3d\xc9\x5d\xe8\x61\xcd\xd2\x94\x5c\x4f\x8a\x6f\x28\xc5\x9d\xe1\x2d\xf6\xb6\x64\xbb\xf9\x9f\xd5\x53\xe2\x61\xd6\x6a\x57\x7b\x86\xb7\xda\xdb\x92\xfd\xa6\xe6\x24\x77\xa5\xa7\x39\xcb\x53\xe3\x61\x36\x5a\x95\x92\xfd\xac\x86\x32\x77\xa5\xa4\x39\xcb\x4d\x23\x79\xd6\x66\x71\x63\xe3\x1b\xbc\x0b\x16\x26\x16\x0c\x0c\xec\xbf\x05\x00\x00\xff\xff\x18\x33\x7b\xe0\xe8\x7e\x01\x00"), + }, + "/static/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2": &vfsgen۰FileInfo{ + name: "fontawesome-webfont.woff2", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + content: []byte("\x77\x4f\x46\x32\x00\x01\x00\x00\x00\x01\x2d\x68\x00\x0d\x00\x00\x00\x02\x86\x98\x00\x01\x2d\x0e\x00\x04\x01\xcb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x46\x46\x54\x4d\x1c\x1a\x20\x06\x60\x00\x85\x72\x11\x08\x0a\x89\x99\x28\x87\xb6\x58\x01\x36\x02\x24\x03\x95\x70\x0b\x96\x10\x00\x04\x20\x05\x89\x06\x07\xb4\x75\x5b\x52\x09\x72\x47\x61\xf7\x91\x84\x2a\xba\x0d\x81\x27\xed\x3d\xeb\x3a\xb5\x1a\x26\xd3\xcd\x3d\x72\xb7\x2a\x0a\x02\x19\xe5\x1a\xf1\xf6\x5d\x04\x74\x07\xdc\x45\xaa\x6e\xa3\xb2\xff\xff\xff\xff\xe4\xa4\x31\x46\xdb\x0e\xdc\x40\xe0\xd5\xf4\xfb\x7c\xad\x8a\x14\x08\x66\x93\x6d\x92\x60\x9b\x24\xd8\x91\xa1\x40\x64\x5b\x42\x51\x11\x24\x28\x5b\x55\x3c\x2b\x28\xad\xb8\x40\x50\xd0\x35\x1e\xe4\x60\x81\xb0\x0e\xda\x3e\xf6\x50\x10\x1a\x3b\xe1\x28\x91\xd1\x31\xb3\xfd\x6c\xdb\xfe\x68\xd4\xa8\xa2\xc2\x29\x9f\xdc\x59\x79\x94\xf2\x4a\x69\xe9\xeb\x17\xad\x85\xce\x7c\x25\xdb\x81\xb7\x5e\xac\x14\x47\x82\xa2\x33\xb8\x12\x6e\x9e\x95\xe8\xba\xda\x95\xdc\x0a\xc4\xcd\x90\x44\x8a\x9e\x70\x5c\x59\x72\x20\x94\x4c\xdf\x50\xf4\x0e\x8d\x1b\x83\x74\xa5\x29\xcb\x11\x98\xef\x13\xa7\x36\x52\xc2\x5e\x22\x53\x0b\x4c\x7e\xf1\x59\x52\xd7\x43\x58\x52\x15\x09\x8a\x34\x81\x8e\xe6\x46\xfa\x79\x5c\x5b\xbf\xe8\x37\x6e\xa1\xe2\xae\x7c\x1d\x73\xe0\xbb\x8c\x71\x1e\xa3\x4d\xbb\x8e\x25\x4b\xc9\xff\x17\x2e\xdb\xba\x0e\x2c\x0b\xfa\x84\xf7\xf8\x4c\xd0\x74\xff\x27\xf6\x10\x90\xc9\x4d\x1d\x2c\x11\x15\x63\xf7\x88\x2b\x62\xfa\xc4\xd7\x87\xe7\x4f\xfd\x73\xf9\x5e\xd8\x24\x85\x86\xd7\x7a\x2e\x07\xf5\x6d\xc5\xa0\x0c\xfc\x68\x26\x67\x62\xde\xf0\xe1\x76\xed\x87\xf3\x01\x0e\xc9\x27\x8a\x0f\x36\xa3\x3a\xb0\xbb\xc3\xf3\x73\xeb\x6d\xa3\x62\x8c\x31\xd8\xa8\x6d\x30\x22\xc7\x82\x1a\xb0\xbf\x2a\x56\x8c\xa8\x8d\x1e\xa3\x63\xa3\x24\x2c\x30\x41\x54\x50\x54\xb4\x31\x12\x03\xfb\xf4\xac\x3c\x0b\xed\x3b\xed\xf3\xd2\x60\x10\xe6\xb6\x27\xf1\x48\x0e\x3f\xf1\x73\xce\xa9\x3a\x91\x0f\x4e\x44\x9f\xa8\xfc\xa9\x10\x49\x11\xa4\x24\x8c\x04\x54\x14\x8b\x5b\x81\x82\x62\x34\x8a\x11\xcd\xfc\x7f\xea\xec\xef\x2c\xaf\xce\xbc\xd7\xef\xbd\xa3\x62\x6c\x36\x91\xba\x0b\x49\x4c\xe9\x69\x7d\xdb\x8c\x26\xe0\x34\xe3\x94\x6d\x2c\x27\xcb\x16\xcb\xf3\x23\xbd\xd7\xa5\xb3\x7f\x52\x77\x01\xa2\x62\x75\xc0\xb6\x2c\x4b\x96\x0b\xc6\x06\x9b\xe2\x76\x8b\x03\xdb\x08\x6d\x5f\x2d\xc0\xc0\xe6\x5c\x48\x8b\x9d\xfb\x8e\x48\x48\xfe\xaa\xf3\x93\xea\x07\xc6\xc2\x3f\x98\x96\xd3\x6d\xf3\x0b\x39\x50\x88\xad\xd8\x29\x39\xe7\x4a\xa8\x86\x24\xc6\xbd\x88\x9c\xe7\xb1\xf4\x38\xf8\xe8\xc7\xda\xce\xce\x7e\xb9\x3b\xc4\x72\x15\x8d\x6e\xbf\x3d\x24\x11\x1a\xb5\x1f\x94\x4e\x64\x64\x6e\x1b\x21\x27\xae\xa6\xf0\xe3\x3b\xb3\xf4\xac\x38\x99\xbc\x27\xd9\x4e\xa6\xed\x1e\x21\x7f\x2d\x18\x06\x4a\x19\xca\xb6\xd3\x2e\xe0\xd8\xfa\x91\xee\x58\xaf\x3d\x0c\x2c\x12\x04\x0e\x90\x9b\x1e\x22\x60\x3a\x18\xa2\xff\x1b\x0f\x09\x09\x20\x7b\x8d\xef\x9e\xdc\xe0\xbc\x12\xcb\x4b\x21\x27\x9f\x00\xa1\x2d\x46\x48\x94\x9c\x09\x89\x23\x24\x7e\x9b\x5a\x5f\x84\xb9\x9d\x10\x12\xb5\x03\x4e\x35\x56\x55\x38\x46\xc8\xaf\x1c\xa2\x8e\x25\x14\x50\xd4\xfb\xdd\xab\xda\xdb\xfb\x06\x08\x0c\x86\x43\x70\x08\x02\x24\x04\x51\x19\xa2\xb4\xbb\xda\x10\x9d\x72\xac\xec\xa2\xca\xbd\x9b\xee\xba\x6b\xbb\x6b\xda\x1b\xa7\x33\xd9\xb7\x13\xd1\x3a\x52\x11\x25\x1e\x10\xb6\x81\x32\x7b\xf4\x87\xde\xa9\xf5\x92\x1d\x68\x25\xbb\x29\x38\xc9\x11\xf6\x00\xf8\xf1\x01\x0f\x18\x0a\x49\x4c\x4b\x90\x36\x76\xf4\x23\xed\xfb\xb3\xee\xfe\x06\x2c\x3b\xd0\xa6\x36\x87\xa0\x4e\x9a\x32\xce\x68\x76\xb7\x0f\x0e\x08\xfe\xef\x7f\xcd\xfe\xeb\x0c\x4f\x4f\x91\xa7\x74\x23\x16\x85\x06\xe2\x78\x54\x89\xef\xaa\x42\x66\x02\x9d\x9e\x84\x71\x5e\x16\x23\x9c\xae\x9f\x96\x3f\x7b\xfe\x35\x62\x8a\x49\xe2\xe0\x25\x2d\x57\x5a\x90\xeb\xb9\x62\xa4\x41\xa3\x13\x0c\x5e\xe4\x31\xcd\xd9\x6e\x35\x19\xf9\xae\xe9\x8a\xd7\xa6\x4e\x51\x9d\x59\x27\xfa\xe6\xdd\xcd\x12\x96\x04\xfc\x91\x53\x04\xdc\x18\x1f\xa6\x21\x74\x22\x20\x06\x60\x62\x33\xe9\xf7\x25\x93\x07\xf4\xef\x33\x35\xbb\x02\x14\xd1\x66\x76\x3b\xab\x9d\xd5\xce\x6c\xce\xac\xee\x39\x9c\x3a\x6a\x67\x66\x3f\x67\x72\x9b\xf5\x70\xff\x78\x9f\x20\x80\x0f\x7c\x12\xfc\x20\x24\x08\x20\x65\x12\x94\x1c\x12\x94\x5a\x14\x28\xc5\x14\x24\x77\x28\x5a\x72\x53\x90\xe8\x76\x2b\x9b\x5a\xd9\x1c\xcf\xd6\x71\xf6\x4d\xa2\xec\x1e\x9b\xee\xcd\xea\xdd\x99\x6d\x3f\x26\x73\x5b\xf6\xe5\x74\x99\x53\x92\x53\x6a\x8e\xa7\x39\x9c\xaf\xe3\xf7\x3f\xad\x7c\xda\xea\x0d\xf1\xf0\xc5\x3e\x47\x0e\xcc\x06\x2c\x10\x62\x44\xd5\xb7\x5e\xa9\xf4\xaa\x5e\xa9\xc7\xdd\x1b\x3a\x6c\x8a\x33\x8e\xbd\x4e\x41\x9a\x60\xab\x35\x0b\x9c\x32\x36\xb3\x01\x4c\xf9\x70\x53\xf2\x09\x41\xdf\xa7\x2f\x55\xeb\x0a\xc2\xd6\x98\xb4\xbc\xb3\xb4\x27\x39\x5c\xb4\xa7\xd5\x86\x74\xb8\x85\x10\xaf\x21\xdf\xf6\xf6\xfa\xb7\x1a\xfd\x1b\x81\x6c\x00\x06\x85\x20\x50\x4d\x52\xb4\x9a\x90\x39\x6e\x80\x0a\xcd\x60\x15\x12\x13\x28\xca\x10\x40\xd2\x20\x48\x79\x29\x4d\xd2\x64\x4d\xca\x0d\x90\x1c\x35\xe9\xd4\xa4\x13\x48\x27\xd2\x91\x9a\x1c\xf2\x6d\x53\x3c\xfa\xe8\xdb\x71\x26\x6b\xbc\x29\x5c\xcf\x7b\x3b\xee\x31\xc5\xc3\x6d\xf9\x07\x9b\x38\xdb\x7b\xe1\x8b\xd5\x58\x84\x31\xdd\x2d\x33\xc7\x9a\x90\x91\x29\x82\x42\x28\x84\x91\x2c\xfb\x25\xf5\x93\x10\xb0\xb6\xb6\x8d\x04\xc4\x0b\x05\x05\xdd\xfd\xdb\x77\x9f\x6f\x7e\xbe\x98\x74\xed\xf0\x48\x57\x38\x6c\x90\xd4\x5a\x11\x09\x72\xa4\xe3\xbf\xff\x3d\x65\xb3\x1a\xec\xdf\x31\x2b\xe6\x07\x05\x2f\xc9\x8e\x31\x57\x3f\xd6\xb0\x72\xee\x12\x0e\x38\x39\x50\x4c\xc6\xd2\x01\x3e\x75\x6f\x39\x20\xc5\x18\x31\x20\x74\xc3\x98\xab\xc3\x75\x63\xa7\x9d\x91\xee\xc4\x40\xb3\xf9\x5d\x4b\x14\x10\x52\xef\x7f\x62\x4e\xff\xbb\x92\x76\xfb\x93\xb4\xd4\x1a\xaa\xa8\x28\xb8\x22\x8a\x83\x79\xeb\xbd\xbb\x7b\x1c\x0c\x63\xae\xff\x8f\xe6\xf3\x73\x63\x7a\xa6\x19\x26\xae\x70\x35\xa7\xe5\x04\xa1\x2c\x6a\xb3\x6e\x20\xa2\x6b\x4e\xc4\x21\x83\x2e\x83\x6e\x5e\xf7\xf8\x55\x75\x1f\x00\x40\x7c\xfc\x18\x3f\x76\xb5\x3e\xf7\x07\xb9\x1d\xb9\xdc\x1c\x91\x72\x18\x55\x61\xdc\x48\x52\x20\x0b\x1a\x8f\x10\xfa\xb9\xd7\xf8\xd5\x91\x00\x93\xf3\x49\x0d\x44\x89\xdf\xcb\x8b\x51\xbf\xbd\x7e\x70\xe9\x0a\x80\xdc\x8d\x3b\x3b\xb8\x6e\xf9\xf9\x8d\x4c\x18\x17\x24\xa1\x74\xf9\x09\x3a\x09\x68\x46\x43\x59\xa1\xed\xde\x54\x4f\xa0\x46\x4e\x1d\x4e\x7e\x7d\x17\xf1\x31\x22\x60\xb3\xa8\xfc\x9f\xd8\x61\xcf\x07\xcb\x28\xcd\x3f\x48\x20\x11\x97\x96\x87\x1f\xc4\x5c\x96\xcd\xe5\x75\xca\x30\x13\x4c\xd4\xb5\xf5\xf1\x27\xb5\xed\xba\xbd\xbe\xcd\x94\x50\x62\x6e\x6d\x4f\xbf\x98\xeb\xb6\xdd\xfd\x8d\xbf\x02\x18\x4a\x6c\x8b\x3f\x02\x01\x08\x9e\xe5\x73\xab\xe7\x05\x88\x30\x2c\x0e\x38\x8c\x78\xc9\x42\xf2\xfa\xf6\xbe\x42\x19\xc7\xe5\x91\x46\x89\x10\x14\x9f\x5f\xdf\x1b\x52\x69\x5a\x1d\xf8\xff\xb7\xd4\x7e\x65\x23\x15\x6a\xb0\x11\xb1\x77\xfd\x68\x4f\x63\x2a\x26\x46\x36\x0c\xac\x59\x71\xc1\x92\x05\x7b\x89\x7d\x3f\xc9\xf3\x3e\xf7\x75\x1e\xfb\xb6\x2e\xf3\x34\x0e\xce\x68\x25\x05\x67\x94\x60\x04\xa7\x26\xd7\xe7\x20\xb8\xcb\x12\x29\xa9\xac\x52\x35\x18\xe5\x48\x8c\x7d\xb1\xa7\xff\xcb\xa4\xb0\x6b\xdc\xa9\xdb\x1c\x90\x27\x4a\x99\xde\x4f\xbf\x00\x49\x88\xdb\x13\xb6\x9d\x5f\xef\xb3\x7f\x05\x91\x71\x4f\x62\x27\xd6\x48\xc7\x9f\x00\x42\x59\x45\x4d\xa3\x03\x1c\x36\xc8\x76\x84\x81\x35\xaa\x10\x4e\x4a\x0d\xe5\x15\x01\x4f\x88\x4e\x07\x1a\x46\x0b\x4e\x78\x28\x31\x92\x3a\x01\x5c\xba\xdf\xab\x43\xe0\x6b\x8e\x63\xa0\x62\x38\x05\x51\xf4\x09\x13\x64\xe1\x18\x5b\x4c\x14\x28\x65\x6c\x1c\x2b\x32\x75\x2d\xee\xd0\x61\xd6\x98\x64\xa2\x8e\x35\x3b\xa2\x4e\x24\xd4\xf6\x22\xa2\x48\xaa\x8f\x10\xab\x53\x46\xba\x6f\xeb\x32\x69\xa8\x22\x8a\xd9\x5c\xb3\x68\x04\x37\x49\x8c\xf6\xa0\x3c\x53\x43\x4f\x02\xad\x19\xb8\x96\xc8\x90\x48\xa0\x1e\xe2\x45\x77\x21\x01\x2e\x1f\xd7\xe9\xfd\x21\x42\x53\x12\x43\xaa\x67\x1e\xc4\x9d\x89\x63\xe3\x0e\xb9\xe4\x73\x2a\xd5\xa7\x73\x89\x28\x35\x6d\x94\x3d\x71\xc6\xca\x8a\x65\xa2\xfb\xf1\x59\x91\x0b\x24\xeb\x5c\x3e\x10\x66\x4e\x38\x80\x71\x97\x8c\x78\xea\x23\x76\x0a\xa5\x36\x75\x6d\xef\x09\xe0\x19\x9d\xb0\x60\xdb\x4e\x4d\x2d\x4a\x00\x5c\xf4\x10\x46\xb7\xc7\x72\xe9\x44\x02\x80\x1e\xb5\x5a\xd3\x30\x93\x07\x23\x27\xea\xa5\x88\x6e\xec\x11\xd2\x47\x6a\x4c\x82\xda\x86\x58\x14\x1b\xca\x8c\xa2\x41\xaa\x9d\xf1\x67\x59\x73\x99\x2a\xb2\x59\xca\xdc\x07\xc7\x5e\xd9\xb5\x98\x3b\x22\xd8\x1d\x24\x68\x62\x7f\x3d\xb9\x16\x19\xcf\x9b\x13\x98\x30\xde\x76\x48\x3c\x97\x56\x76\x7f\x81\x63\x9b\x5f\x00\x5c\x59\x8a\x03\xec\xa3\xe8\x77\x3b\x64\x42\x16\x02\x83\x8b\x03\x4e\x83\x84\x33\x1b\x21\x24\xce\xe7\xe7\xb4\xe7\xe2\xde\x49\x7c\x50\x98\x20\x7e\x13\x26\x13\xe4\x03\x64\xc5\x2e\xc8\x03\x1b\xd4\xb0\xe9\x02\x2d\x61\x07\xf3\xfa\x61\x19\x09\x2b\x2b\xc2\x13\x92\x39\xba\x2e\x6d\x52\xf8\xe9\x34\xe3\x63\x79\xaf\x9e\xb9\x23\x8b\x55\xd5\xc2\x46\x57\xee\x08\x75\xbd\x0d\xdc\x09\x17\x69\x2f\xf0\x9c\xaf\x94\x66\x7e\x80\x34\xdd\xf0\x6c\x83\xeb\x0e\x58\x53\xf4\x39\xc3\x84\x1b\xf7\x31\x45\x9d\xf0\xbd\x33\x40\x90\xfd\xda\x6b\x13\x88\xdc\x15\x40\x17\x27\x23\xa3\xbc\xb6\x63\xac\xbd\xd9\x6e\xea\xa9\x20\xba\xf1\x15\xef\x53\x5f\x3b\xac\x25\xfb\xee\x49\x8a\xd0\xc1\x2b\xbb\xf8\x2e\xf3\x4c\x1a\xd8\x43\x02\x78\xb1\xeb\xee\x1e\x1e\xbe\xfa\xea\x86\xb1\x77\x09\xda\xcd\x56\xdb\x82\x80\x81\xba\xa8\xe1\xa4\xc0\xc3\xf9\x45\x78\x66\x7e\x48\x60\xbd\xe9\x30\x1f\xbc\x21\x64\x94\xe8\x40\x51\x7b\x4f\x68\x31\x89\x17\x17\xb1\x48\xc1\xb6\x46\xc3\xab\xd5\x7a\x73\x1a\x8d\x37\xf3\xdd\x89\xb6\xb3\xc6\x9c\x74\x0f\x72\x76\xcc\xe8\xa9\xd2\x6b\x9d\xbb\x86\x68\x65\x53\x33\xb7\xdb\x87\x76\x99\x39\x84\x71\x7c\xab\x4f\x82\xef\x97\x4b\x29\x95\x55\x5c\xf2\x96\x41\xd2\x25\xa3\xb9\xbb\x02\xc4\x6f\x1e\x7b\x6c\x3c\x86\xdb\x4b\xb8\xff\xba\x9d\xcd\x8e\xa2\xa4\x8e\x69\xb3\x8f\xf1\x48\xeb\x47\x80\x49\x85\x7a\x9d\x3d\x36\x9a\x57\x57\x6f\x30\xeb\xd9\x0b\x7c\x15\xde\x25\x41\xf7\x1a\x6a\x64\x44\x29\x21\x0d\x80\xa9\x70\x77\xae\xc8\xee\x5f\x82\xb3\xeb\x3b\xb8\xf1\xa6\xdb\x63\x97\x44\x23\xe9\xff\xcb\x81\x4d\x90\xc0\xde\x4e\x7a\x9c\xf2\x05\xb7\x04\x70\xb0\x5e\x8f\x43\x44\x78\xde\xc2\x78\x6a\x29\x84\x35\x4f\xc8\x39\xfb\x0d\xa1\x60\xd1\xd2\x45\x44\x58\xee\x78\xf1\x8d\x20\xdd\x92\x47\x55\xc8\xc0\xed\xcb\xaf\x0e\xc4\x99\xaa\x04\xa9\xef\xd6\xda\x89\x9c\x2e\x25\x0d\xb7\xbf\xb6\xce\x88\xb1\x7e\x0c\xe3\xf1\xfa\x3d\xff\x08\x1a\x16\x43\x13\x6f\xa6\x29\x0d\x46\x84\x37\xf3\xca\xe7\x24\x5a\xa4\xfd\x28\xb7\x67\xc1\xeb\x6f\x42\xad\xa7\x0d\xdb\xc6\x9c\xc0\x40\xde\xe5\x26\xf2\xc3\xda\x65\xee\x7b\x06\xea\xe2\xe5\x8e\xa3\xa0\x08\x6c\xa0\xb0\x66\x8a\x5f\xc6\x52\x78\x99\x4e\x5b\xa7\x5d\x0c\xae\x9b\x07\x38\x60\x2d\x33\x99\x73\xb4\xa6\xc1\x92\x7b\x7f\x50\x6a\x01\xde\x19\xb8\x57\x75\x63\x39\xef\x85\xb8\xae\xa9\x84\x1b\x5b\x3e\x1d\xea\x2d\x9f\x2e\x44\xa2\xdc\x8e\x59\xfa\x1f\xf7\x9b\x15\x0f\x80\x1e\x64\x87\x0c\xcf\xc2\xd8\x07\xa2\xb2\x2b\x18\x5e\x7b\x93\xae\xb9\x43\xee\xf7\x89\xb1\x6d\xe0\xc4\xd9\xf0\x2c\xa6\xb1\x40\x4e\x3c\xb2\x90\x1d\xda\xd9\xd0\xf8\xf2\x89\xaf\x1f\x7f\x0e\x2e\x8d\x94\x56\xf1\xe6\x4d\xf0\xda\x11\x53\xec\x2b\xd3\x5c\x44\x9e\x2b\xa2\xda\x52\xa2\x7c\xd1\x36\xb5\x0b\xe2\x27\x71\x5c\x54\xe0\xdd\x02\xa6\x95\xf3\x1c\x1e\x39\x87\x44\x84\x06\x58\x3c\x7f\x24\xed\x70\x89\x80\xde\x07\x22\xbb\xe9\x85\xa6\x92\xfc\x24\x9b\xd2\xb7\x0b\xde\x2c\xf9\x70\x1f\xbb\x73\xf9\xa5\x54\xd3\xce\x1a\xdd\xfe\xaf\x62\xbb\xff\xd4\x4e\x6b\x49\x91\x1e\x5f\xe6\xa1\x60\xd5\xe6\x0a\x46\xe8\x88\x1f\xea\x57\x93\x9f\x56\xff\x94\x25\xd9\xd1\x77\x08\xad\x7e\xa9\xa4\xc4\x44\xd4\x90\xd9\xc2\xcb\xdd\x2a\xf3\xb3\x78\x69\xf2\x1e\xb8\x79\x5b\x72\x5a\xaa\x87\x00\x99\x5b\x53\x25\xb4\x47\x9b\xdc\x18\x73\x60\x46\x3c\xe3\x85\xa3\x85\xb3\xac\x20\xa2\xc1\x56\x8b\x2b\xfe\xf3\x21\x2b\xad\x96\xf7\xf5\x8a\xb8\xd8\x8d\x8b\x39\x79\x9f\x6b\xc5\xc1\x66\x62\x91\x38\x32\xde\x06\x73\xde\x7d\x6c\x3b\x5b\x29\x65\x24\xc4\xf8\x89\x54\x9d\x86\x96\x6b\xad\x83\x92\xe0\x29\x9a\x76\x8f\xb6\xa9\x39\xac\x01\x84\xe3\x1b\xa7\x7b\xd3\x75\x13\xf2\x75\x8f\x74\x8f\xc8\xde\xb3\x40\x45\xe3\xf4\x3e\x7c\x43\xf6\xda\x3c\x5c\x34\x25\x08\x97\x52\x76\xe1\x0c\xa5\xb6\xe9\xe5\xc4\xe8\xaa\xda\xf4\x40\xd7\xba\x43\xcc\x38\x5c\x91\xf8\x7e\x29\x14\x23\x6b\x7c\xbe\xb9\x2e\x61\xeb\x6f\xaa\xba\xda\x03\xba\x30\x30\x47\x94\x71\x30\x1d\x14\x25\xf1\xfc\xf0\x13\xa1\x99\x68\x70\x8b\xa9\xba\x0d\x4c\xff\x9c\xde\x22\x8c\x2b\x3e\x8e\xec\xe6\xb5\x25\xaa\x0b\x5e\x4d\xcb\x8a\x98\x4e\x9a\x73\xd3\xc8\x06\x71\x8e\xb4\x3d\x95\x12\xb0\x0f\xbe\xee\xe5\xe4\xa6\x86\xb0\x4b\x11\x34\x72\xe7\x2d\x2a\xef\xe7\x25\xe8\xda\x68\x23\xd7\x25\x3b\x70\x50\xe9\xa6\x94\x68\xd6\x43\x3d\xf7\xce\xfa\xda\xda\x0d\x97\x1a\xe5\x26\x14\x29\xa9\x62\x61\x84\xc6\x4b\x4c\xf8\x40\xbf\xf9\x9e\xe4\x74\xba\x21\xa2\x7e\x32\xed\x53\x5d\x72\x59\x6c\xba\x5a\x36\xd0\x33\xd1\x9e\x4a\xde\x6f\xb4\x98\x4f\xa3\x56\xf5\x3b\xb9\x68\x26\x67\x4f\x35\x92\x52\x54\x88\x2f\x7d\xf9\xc1\xd2\xc6\x7b\xae\xa5\xf2\x17\x17\x41\x5a\xd2\x26\x87\x19\x53\xf3\xe2\xd9\x74\xd8\xca\xf9\x9c\xcf\x03\x0b\xcd\xaf\x01\xe9\xa2\x50\xea\xeb\x43\xa1\xa4\x14\xa2\x30\x13\x08\xb4\xb6\x44\x2c\xfb\x70\x62\x70\xd0\xb7\xd4\x7a\x29\xa7\x20\x5d\x80\x49\xf7\x3e\x1a\x00\x0e\x51\x5c\x42\x6c\xc1\x22\xba\x97\x5e\x33\x52\x3e\x72\xfd\x2a\xfb\xbb\x04\x43\x3e\xc0\x1e\x1e\x83\xa7\xe1\x17\x78\x50\x55\xba\x7a\x1e\xad\x7d\x59\x11\x3d\x02\x0f\xf5\xcc\x95\x16\xbc\x7d\xf5\xd0\xb6\xc7\x10\x9a\x19\x0a\xe7\x0d\x1c\x36\x2d\x60\x2f\x22\x48\x0b\x0a\x6f\x85\x26\x92\x44\x97\x49\x30\xff\x45\x32\x58\x61\x89\x95\x2d\x1f\xa9\x7b\x0e\x35\xc0\x81\x99\x3c\x0d\x2c\x7d\x94\xd1\x13\x60\x60\x36\xfa\xc7\xed\x18\x90\x6a\x69\xa2\xe9\xd8\x69\x6d\x3c\x55\x75\x6a\x59\xa9\x5a\xfa\x6a\x0e\x42\x5c\x40\x8c\x67\xcb\x33\x45\x6a\x66\x70\x96\xf8\x98\x9f\x3a\xba\xda\xed\xea\x10\x57\xdb\xc7\xae\x9f\xba\xd9\xdf\xb3\x8e\x9c\x94\xce\x70\xa5\xc4\xb3\x33\x61\x6f\xaf\xfb\x11\x81\x31\x88\x64\x61\x8b\xf8\x20\x9c\x03\xb7\xdd\xab\xa5\xfd\x88\x99\x4a\x82\xd7\xb2\x3f\x20\x6a\xce\x71\x37\xae\xbe\x4d\xc3\xe6\xce\x66\x66\x99\x59\xb5\x66\xcb\x1c\xd4\x73\x02\x1e\xb0\x1b\x24\x9b\x9c\x09\x84\x95\x48\xfd\x91\x14\xe6\xac\x6c\xa5\x96\xf5\xb9\xbf\xc0\x88\x97\x28\x25\x2e\x9b\x72\x06\xe3\xd2\x77\x3f\x03\xf2\xbe\x6d\x3d\x7e\x0b\x82\x79\xb2\x63\x59\x91\x62\x67\x29\x3c\xcb\x57\x84\x20\x2f\x56\x78\x16\xda\x6b\xa9\xb4\x92\x24\xe7\xf3\x8f\x0c\x42\xf0\x72\x7e\xf1\x86\x01\xa7\xd3\xf0\x39\x13\xde\x36\x8d\x30\xd1\x26\xfe\x99\x5f\x76\x4d\x00\x59\xc2\x25\x84\x93\xd2\x9d\x7b\xe6\x45\x7f\x89\x36\x3c\xc3\xe9\x95\xc7\xc2\xed\xdb\x25\x8b\x25\xab\x34\xad\x8b\x8e\xdf\xa0\x4f\xde\x40\xef\xf3\x4e\xe1\xf9\x08\xa1\x82\xaa\x22\x5a\xb7\x18\xdf\x4f\x44\x7b\x75\x33\x53\x0f\x8c\xc7\x57\x8b\x4d\xb0\x95\x52\xa7\xed\x33\x73\x3c\xc3\xf5\x19\xa7\x91\xd8\xb3\x0d\xa3\x80\xa6\xf1\xb0\x5c\x49\x0e\x30\x8d\xab\x2e\xa0\xc5\x2d\x32\xdd\xad\xec\xcf\xe3\x84\xad\x3b\xaf\x09\xec\x83\x30\xd5\x0e\xb6\x7d\x4e\xab\x2f\x62\xf5\xf6\x1a\x8e\x4e\x7b\x84\x49\x99\xb3\x7c\x62\x5f\x72\xc4\x65\xf8\x9d\x5f\x70\x53\x69\x83\xe3\xca\x14\x0f\x3e\x12\x27\xdc\x77\xac\x35\xfc\xdb\xfa\x52\x46\x2c\xd1\x87\x88\x25\x1e\x53\x59\x96\x84\xbb\xc6\x57\x68\xa3\x36\x4c\x5f\x69\xec\x83\xa3\x3d\x9a\x9b\xbe\x69\x31\xf1\x33\xfe\x59\x49\x37\x4e\xb8\x43\x70\x8d\x49\xc9\xf0\xc4\x94\xbe\xc3\x12\x28\x0f\xa8\x72\xaf\xbe\xbd\x30\xab\xdd\x7b\x6a\x89\x19\xf7\xba\x85\x72\x8b\x4b\xbc\x9e\x99\xe5\xd0\xa2\x6f\x29\x6c\xd9\xc4\xf4\x87\x33\x6e\x61\xbf\x54\x31\x7f\x5c\xa7\xc3\x49\x19\x45\x28\xe9\x6d\xbd\xf7\xb2\xbd\xdf\x83\x9b\x93\xc2\x44\xf4\x6c\xfa\xac\x7f\x65\xb3\xb3\xc7\xe6\x24\xc3\x85\xdf\x77\x58\x9e\x88\xcc\x55\xac\xfc\x28\x40\x95\x84\xae\xf7\x4d\xf5\x61\x22\x6e\xac\x0e\x2c\xe4\x2a\x76\x47\xb3\x1d\x96\x1c\x89\xcc\xa8\x13\x78\xb9\x8a\xae\x3e\x95\x47\xd9\x0c\x53\x82\x11\x83\x80\xee\xbd\x67\xc0\xcc\x89\x22\x94\x51\xcb\x76\xa4\x62\x14\x30\x2a\x7a\xdb\xc8\x50\x45\xf4\x79\xc1\xc9\x89\x8c\x3f\x37\xaf\x24\x13\x0b\xc1\x8e\xd8\xf0\x25\x9e\x1d\x89\x47\x87\xd2\xd1\xe4\x70\xc9\x64\x59\xc8\x26\x66\xe2\x07\x21\xed\xfb\xc7\x61\x36\x94\x8e\x7c\xa8\x08\x29\xbf\x0e\x3b\x75\x37\x23\xc2\x33\xc9\x34\x90\x6d\x4a\xc4\xb3\xdb\xf8\x0a\x6f\xf7\xf6\x89\x4f\xf8\x70\xad\xc8\x81\xa2\x76\x38\x6a\xa0\xea\x99\xfc\x78\x28\x4b\xcb\x2f\x5a\xdc\x64\xbb\x03\x8a\x8f\x78\xc9\xc5\x83\xfd\x6d\x37\x56\xd1\x5f\x5c\xa7\x66\xd7\x4c\xe5\x37\x0c\x70\x9b\x58\xf3\x7a\x16\x1e\xec\x85\x48\x37\xbe\x2d\xab\x0e\x96\xb5\x2c\x28\x31\x4b\x48\x62\xad\x65\x90\xa8\x2c\x72\x2d\x19\x1c\xa3\xa0\x11\x70\xa1\x4c\xcb\xef\xc6\xed\xa0\x33\x3d\xe6\x54\x98\x02\xc6\x32\xa9\x74\x91\x32\xd9\xbc\x58\x96\x6b\x3a\xa9\xb4\xb5\xff\x08\x5a\x80\x35\xc0\xcf\x73\x05\x89\x0e\x70\x0e\x88\xd2\x53\x73\x54\xab\xb8\x05\x1a\xd5\xeb\x3a\x2e\x5d\xb5\xb7\x44\x22\x94\x40\xb0\xf5\x2d\xb6\x45\xb7\xcc\x91\x06\x21\x10\x94\x13\x41\x8d\xf0\x91\x32\xba\xc9\xb6\x2d\xf0\x46\x19\x7d\xb1\xcb\x92\x80\x32\x42\xc7\x83\x92\x8d\x51\x1a\x99\xd5\x17\xe0\x05\x29\x74\xc5\xc3\xa7\x7c\xda\x23\x34\x84\x7c\xdc\x5c\xf7\xe3\xa8\x80\xf0\xc8\x60\xb7\x66\x63\x10\x2c\xb6\x9f\x23\xd4\x07\x67\x89\xe9\x31\x3a\xd9\x2d\xd6\x16\xab\xa1\xb9\x74\x79\x17\x20\xdb\x5d\xfb\x87\x98\xe0\xe4\x32\xaf\x5a\x7e\x02\xb1\x84\x00\x2e\x29\xe3\xe9\xae\xf3\xf4\xb3\xd7\x02\xc7\x8c\xe0\xd6\x1e\xb5\xa1\xdc\x25\x52\xa5\x4b\x8d\x98\xab\xbf\x28\x79\x90\x02\x60\x91\x38\x96\xb6\x43\x1a\xd7\xc7\xd6\x8d\xfa\xb7\xcb\xf7\x7a\x93\xba\x1d\x8a\x4b\x2d\x4e\x8e\x0c\x84\xf3\x01\x0e\xf5\x60\x5e\x2b\xa6\xf5\x8b\x9e\x6e\x08\xa2\xa8\x8b\x33\xb9\xdb\xcf\xb4\x18\xfe\x02\xe5\xf4\x80\x9d\x16\x95\x54\x81\xf2\x33\x82\x74\x51\xe1\xd8\xa3\xa9\x06\x08\x34\x3c\x3e\x3a\x4a\x30\xc3\x88\x25\xe5\xdd\x91\x5a\x61\x62\x60\xe8\xbd\x03\xea\x76\xcd\xac\xfc\x86\x61\xf6\x54\x2f\x5a\x01\x02\xfa\x14\x9c\x61\xde\x9d\xc7\xd0\x93\x49\x69\x09\x9b\x57\x31\x90\x16\xfc\xf1\xfd\x83\x5f\xa9\x90\x10\x3e\x29\xc3\xfa\x97\xbe\x48\x22\x94\x8a\xf9\xe3\xe9\x70\x92\xeb\x0b\x83\x7c\x37\x6d\x14\x46\xb5\x5e\x5a\xcf\xcd\x7e\x66\x8b\x11\x17\x30\x4a\xf1\xea\x5e\x00\xc9\x49\x91\x17\xdc\x33\x56\xb9\x21\xe9\x18\xa5\xdc\x7b\xd3\x3c\x65\xcc\x2f\x3d\xce\x70\x60\xda\xd7\x0c\xde\x71\xad\x9e\x00\x38\x5e\xf6\xd4\xd9\xd3\xc1\x4b\x38\xcc\xeb\x4f\xcd\x39\xf6\x77\x30\xd3\xea\x5a\x90\xb4\x7c\x1e\x8a\xdc\x04\x76\x3f\x91\x6e\xc3\x14\x09\xe0\x0c\x33\x97\x81\x66\x81\x21\xfd\xcb\xdf\xb7\xd1\x7e\x95\xfc\x54\x8a\x20\x1f\xa7\xe4\x1d\xfb\xc1\xca\xf2\x20\x4a\xd3\x9b\xa5\xfb\x84\x07\x11\x1c\xdf\x35\xd7\x0b\xc1\x70\xa6\x8f\x14\xba\x56\x09\xbc\xdf\x33\x87\xcb\xab\xb8\xc5\xd7\xf3\x0f\x2e\x3d\xc6\xf1\xcc\xee\x81\x2d\x7d\xa7\xdc\x5b\xce\x67\xe5\x52\xe1\x35\xab\xf3\x9d\xf3\x6e\xec\xa3\x42\x38\xe1\x91\xf7\x83\x99\x33\x2e\xbb\x08\xd2\x38\x14\x09\x59\x67\xa1\x23\x30\xdf\x26\xb8\xbd\xaf\x53\x84\x2f\x2e\x66\x67\x5c\x0a\x1a\x45\xe2\x66\xe7\x7d\x0e\x90\xc8\x2c\x6b\x87\xa2\x94\xe9\x93\x67\xfc\x06\x14\xfb\x24\x03\xb9\x3f\x58\x59\x93\x07\x2a\x8f\xfa\x94\xa9\xba\x11\xbc\x31\xaf\x90\x70\xad\x97\x45\x28\xbf\xd7\xeb\xf2\x52\x53\x92\xa4\x51\xba\x98\x74\x9e\xee\x03\x36\x2c\xa0\x51\xe3\x6a\x5c\x08\xf0\xe3\x3c\x08\x2f\x5d\x4e\xae\x73\xfb\xcd\x1d\xa5\x3b\xcd\x27\x0c\x18\x48\x58\x5d\x8e\x45\x98\x32\x1e\x39\x90\x87\x64\xa6\x6b\x59\xfd\x0d\xd9\x6a\x90\x8e\xc2\x52\x36\xd1\xd4\xed\xf7\x03\x51\x12\x21\x98\xca\x00\xea\xee\xf7\x20\x56\x86\xbb\x99\x0a\x25\x22\x08\x15\x5e\xd0\x60\x97\x4e\x33\x4f\xf2\x8c\xa2\x0f\xfa\x86\x83\xac\x5b\xf1\x1d\x76\x3a\xe0\xca\x84\x3a\xd9\xe8\x5e\xda\x9c\x72\xd7\xbf\xe7\x11\x40\xea\xd2\xec\x0a\x8d\x46\xc5\x5f\xae\xd7\x11\xe5\x01\x08\x4e\x63\xcc\x42\xd2\x17\xf1\xfd\xc3\x38\x70\xa3\x5c\x69\xaf\xa2\xb5\xd7\x37\xcf\xee\x8b\x67\xe5\xad\x03\x2a\xee\x8f\xd1\xcd\xfd\x2c\x83\x43\xab\x9d\x1a\xc2\x0e\xe1\x5b\x87\x36\xb4\x54\x92\x3f\xba\xba\xb5\x16\x85\x25\xf2\x7a\xfb\xc5\x40\x01\x06\x18\x6a\x41\x70\x42\x4e\x35\xf0\x9e\x22\x34\x54\x9e\xa5\xe0\xf4\x22\x96\x7d\x30\x75\x4a\xf4\x87\x8f\x9e\x96\xc8\x9c\x7e\x33\xf6\x1e\xd9\x0e\xd1\x7b\x7d\x02\x75\x57\xf6\x8c\xe0\xee\x4d\x93\x1e\x6a\xfa\x39\xc8\x2d\x82\x5d\x13\xf5\xab\x9d\x11\x99\x27\x6c\x53\xb2\x20\x2f\xf0\x52\x3e\x3c\xa5\x2b\xe7\x4f\x9f\x95\xdb\xd8\x1f\x65\x42\x23\x95\x42\x63\xd2\x1a\xd9\xc0\x02\xe8\x6a\x4c\x5c\x11\x12\xa3\xc4\x2d\xbe\x5a\x68\x95\x5b\xd7\xfa\x49\x3c\x8d\xaa\xfc\x0f\xf1\x84\x18\x71\xa8\x76\xde\x7e\x96\x6b\x5d\x9b\x47\xc3\xce\xd5\x54\x44\xbf\x3f\x53\xa9\xcb\xd9\xd6\x2f\x1a\xc6\x2d\xd4\xd7\x25\xdd\x92\x89\x94\xd9\xe8\x37\x0c\x88\xfe\x77\xa6\x69\x7c\x43\x16\xcb\x49\xa1\xc4\x71\xf1\x77\x63\xa8\x80\x57\x01\x9b\x14\x78\x0c\x9a\xb1\x20\xcf\x0c\x2f\x37\x04\x81\x78\xac\x82\x48\x4f\x2f\xae\xe5\xb5\x1d\xf0\x6f\x5d\x91\x9e\x0f\x94\x47\x5d\x8a\x79\x8f\xdf\x83\xeb\xfc\x87\xfb\x23\x85\x87\x1f\x37\xa9\x8f\x62\xcd\xe3\x24\x93\x74\xc7\x1c\xaa\x52\xdb\x24\x20\x06\xbe\x98\xe9\x7f\x5d\xe3\xb4\x61\x37\x1b\xcd\x46\xa3\xd1\xae\xaf\xb2\x8f\x2c\x6e\x21\x72\xcb\xdf\x49\x7c\x32\xc0\x10\xbc\xe3\xb8\x38\xea\x92\x78\xff\x36\xe7\x99\x67\x53\xa6\x68\xb1\x09\xb2\x93\x52\x5e\x5e\x93\x44\x2e\xf8\x78\x8a\x4d\xd1\x4d\x53\x3f\xe6\xbc\x9e\x27\x47\xfa\x23\xfc\x7e\xe1\x2b\x9d\xac\xba\xc4\xec\x08\x76\x34\x8a\x64\x21\x46\x79\x54\xdc\x39\xf1\x2d\xb2\x66\x56\x61\x37\x68\xfb\x42\xae\xcb\x17\x34\xfe\xab\x9f\x96\xe8\x17\x2c\xa9\x32\xbc\xc6\x89\xc4\xfd\x15\x26\x76\x54\x48\x4d\x71\x70\xf0\x34\x14\x3f\x02\x52\x5c\xb4\xbd\xb2\xaa\xbe\x58\x61\x3c\x91\xd8\x34\x10\xee\x96\x1c\x40\x4d\x69\xac\x48\xd4\x44\x5f\xbe\xe8\x09\x9b\x45\x11\x67\xaa\xcf\x52\x89\x79\xb1\x4d\x9a\xd3\xd1\x6c\x54\xfe\xd8\xa0\x4a\xdd\xae\x0d\xab\x96\x79\x0f\x63\xca\xce\x22\x99\x48\x4a\xf4\x2c\x20\x36\x8a\x75\xf6\x2f\xda\xb4\x9b\xe2\x0e\xad\x9d\x04\xc0\x0f\x8b\x94\xe9\x89\x79\x8e\x00\x97\x56\xcb\xd9\xe6\x6e\x4a\x6e\xdb\x9f\x48\x5c\x50\xc5\x52\xa3\x42\x64\x7c\xd3\x14\x34\xb9\x5f\xe8\x8e\x24\x6b\xee\x9c\xcb\xc6\xc0\xc6\x2e\xb9\x9a\x77\x12\xea\x96\xca\x1b\xc2\x99\x14\x01\x49\xa0\x70\x53\xbd\xfd\x24\xe4\xfc\x1c\x96\x7c\x7d\x6a\xce\xd6\xf4\x39\xc8\xda\xe4\xa4\xe9\x13\xc3\xfe\x11\xa1\x6d\x87\x7c\x83\x31\xd1\xdf\x98\x9e\xb7\xb7\xfc\x6e\xbe\x39\x33\x83\x39\xbe\x1f\x01\xeb\xee\xac\x90\xd4\x35\x71\x02\x53\xfa\x7c\x86\x9b\x9f\x78\x57\xed\x39\x13\xda\xdc\xec\xcd\xea\x42\xb2\x96\x56\x5a\x21\xba\x99\xb8\xcb\x6d\xa7\x4b\x2f\xfb\x4c\x6e\x3b\x69\xab\xee\x75\xb3\xed\x24\xe6\x15\x2a\xce\x74\x33\x10\xd6\xcd\xb6\x13\x8c\xd7\x40\x7d\x00\x14\xb0\xa4\xb4\x42\x7b\xf5\x59\xef\xe2\xb8\xe4\x9f\xd4\x91\x94\x14\x7a\xab\x32\x4a\xe7\x75\x40\xdf\x61\xf7\x16\x5c\x19\x4d\xfb\x89\x87\x0e\x52\x37\x6f\xb3\xf3\x18\x64\x7a\xe8\xa0\x15\xa8\xa0\x9b\x65\xb3\xf2\x37\xde\x2f\x24\x34\x5d\x5e\x95\xc1\xbf\x32\x6b\x8a\x1c\x68\x24\x8c\x13\x3d\x1c\x25\x00\x89\xe5\x31\xee\x49\xe7\x42\xd2\xd8\x83\x20\x83\xcf\x48\x7c\x08\x02\xf8\x4e\x2e\x5b\xc9\x4d\x5c\x0b\x4c\x97\x8c\xfb\x62\xda\xed\xda\xe9\x31\x4d\x67\xe6\xf2\x1a\x3a\x9d\x4e\x56\x2e\x5f\x30\xb1\x00\x2c\x9e\x2b\x16\xe1\x2c\xb8\xa4\x68\xdd\x74\x37\xb4\x6c\x38\x8d\x73\x7e\x49\x56\x5e\x0d\x4e\xe5\xcb\xbc\x4d\xf2\xb2\xc3\x7f\xf8\xd8\x91\x6a\xe4\xdc\xd9\x83\x2d\xa2\x09\x6f\xdc\xae\xc5\xaf\x51\xe4\xc1\x6f\x10\x5b\x6d\x7f\x88\xa0\x6a\xe9\x3d\x72\x03\x9c\xfc\x6d\x3e\xf1\x7e\x7a\x34\x24\x4d\x9a\xe1\x17\x1b\x7d\x7a\x20\xd5\xef\x9b\x80\x73\x00\x8b\x68\x22\x22\x9e\x87\xec\x75\x37\xb7\x56\x7b\x52\xc3\xbb\xdd\xa6\x00\xb8\x4f\x11\x2d\x9e\x85\x44\x39\x56\xd6\xd9\xa5\x67\x86\x49\xca\x8e\x4b\xec\x4c\x67\xdb\xb6\x42\x10\xff\x54\x0f\xa8\xf3\x50\xb5\x27\x87\x4b\x17\xcf\xca\xcc\xa6\xef\x0a\x0e\x71\x57\x05\x84\xd6\x92\xf3\x33\x65\xb6\xb3\xa5\x12\x04\xff\x70\xe4\x86\x26\x90\x96\x88\xdb\x92\x89\xe6\x4c\x8b\x18\x68\x70\xb3\xaa\xa7\xd5\x4e\x83\x61\x53\xae\xa3\x0c\x77\xf9\xa1\x0a\x26\x98\xd4\xe2\x85\x3b\x65\x28\x87\x2c\x2d\x02\x37\x76\xca\x78\xa3\x2d\xbf\xdb\x77\x24\x57\xa9\x17\xcf\x6e\x58\xf3\x55\x9f\x9e\x87\x85\xb8\x89\xea\xf7\xc6\x74\x38\x89\x9b\x11\xb5\x91\x99\x03\x59\xe7\x11\x8a\xba\x3f\x4b\x4d\x9f\x63\x74\xbb\x59\xd8\x83\xbe\x70\x2a\xd5\x87\x8e\xfa\x89\x05\x8b\xe2\x2d\xed\x84\x1c\xee\xcb\xd0\x91\x66\x4c\xac\x7c\xc2\x5b\x6e\x4c\x8a\xe7\x9c\x0d\x7d\x34\x89\x7b\x35\xd9\x18\xe9\xa0\xa0\xa3\x33\xe1\xa7\x8c\x1d\x15\x0b\x88\x6e\x8a\xb0\x94\x24\x24\x2c\x2b\xa3\x44\x4e\x07\xd4\x84\x2d\x48\xed\x56\x3e\x98\xd7\x48\xa6\x8e\x98\xda\xf9\x4f\x73\x5c\x08\xb7\x05\xff\x95\x2d\xd1\x3b\xc0\x57\x36\x00\x4e\xf8\x95\x4d\x89\xdd\x38\xb2\x9d\x46\x69\x95\x91\xd4\x3b\xbe\x8d\xa5\x37\x19\x6b\xf3\x32\xb1\x36\x25\x02\xd6\x92\xcc\x0f\x1c\x61\x5d\x2c\x3a\x21\x8d\xca\xb2\xda\xbd\x45\x2c\x1d\x9f\xde\x7b\x55\x84\xfe\x01\x0b\x6e\x61\x77\xbb\xb1\xf9\x85\x4e\x67\xa1\x86\x2e\xad\xf2\x49\x07\x39\x72\x3a\x6a\xa0\x84\x15\xff\x92\x8c\x1a\xb0\x3c\x49\x13\x45\xb5\x31\xf0\x60\x24\x60\x4c\x62\x72\xc7\x92\x84\x81\xd7\x9d\xea\xce\x5d\x11\xe5\x78\xe2\x1d\x39\x3d\x52\x19\x76\x26\x2a\x51\x35\xe8\x80\x04\x30\x7a\x7f\x1e\xf3\xcb\xf8\x79\x3c\x88\xe0\x01\xea\x83\x60\x4d\x7c\xf6\xd4\x99\x9a\x64\x4f\x86\xd9\xa5\x69\x5a\xae\xe3\x19\xc5\x24\xae\xee\x19\xbb\x2b\x23\x1e\x4b\x48\xc8\x46\x0a\x8d\xc3\xe9\xc4\xea\xed\xbe\x83\x00\xa7\x8e\x09\xee\xc8\x18\xf8\x89\x1f\xa7\x8f\x29\x2d\x09\xbe\x06\x3a\x4d\x24\xcb\x79\x63\xa0\xae\x45\xc0\x25\x41\x69\x95\x92\x05\x32\x5d\x96\x98\x08\xcc\x6c\xe5\xb6\xa8\x90\x89\x1c\x9a\x19\xcd\x38\x86\x49\x1a\xbc\x79\xb2\xd2\x05\x5a\x17\x47\x4a\xb3\x83\x1a\xa2\x06\xae\x5c\xd5\x1e\x32\x1a\xd6\x99\x58\x62\x18\xbf\x4c\xbe\xf6\xf0\x9f\x49\xc2\x41\x2d\xfd\x47\x72\x52\x00\x21\xcd\x30\xa0\x13\xa0\xdb\x4c\x2b\xc0\x51\x68\xaa\x53\xf3\x59\xd4\xd2\x13\xd7\xf2\x53\xbf\x35\xfd\x5f\x1e\xd8\x28\xa5\x06\x0e\x70\x6f\x46\x9a\xa7\x54\x89\x87\x11\xaf\x23\x6b\x1c\x4e\xdb\xbe\xea\x6c\x7c\x72\x87\x6e\x06\xb3\x64\xd7\x48\xa0\x07\x1e\x96\xdc\x79\x13\xdb\x8a\xe6\xf9\xee\xe4\xc8\x26\xdb\x86\x17\x78\xe3\x70\xb0\xc1\xf7\xe1\xe5\x5b\xe9\x16\x38\x47\x1a\x86\xfe\xd9\x64\x74\xac\xa2\xac\xa3\xb1\x7a\xec\xb0\x83\xd9\xa6\x06\x09\x38\xb4\xb4\x42\xbd\xae\x4b\x50\x22\x40\x32\x65\x8c\x65\x03\xe6\x94\x0b\xac\x79\xe6\x1e\x78\xe7\xa7\x1e\xda\x6a\xbd\xb8\x9c\x06\x95\x4a\x4b\xc2\x88\x68\xc1\x58\xc5\xac\x42\xec\x7d\xea\x11\xa6\x36\x08\xf9\xc3\xa2\xff\xb5\x60\x3f\xb5\x69\x10\x91\x2a\xbc\x5b\x39\x65\x2b\x62\xd1\x56\x4c\xef\x61\x4c\xcd\x99\x13\xb3\xa6\x9f\xe9\x64\x0c\x02\x42\x59\x70\x2e\xb3\xcf\x88\x0a\xc6\x6e\x5c\x34\xec\xe7\xb3\x85\xc6\xa4\x8a\xdc\x1e\x8d\x64\xec\x11\x3c\x77\xa0\xdf\x57\x22\x06\x05\xcf\xd3\x3f\x20\x9f\x27\xb9\x4f\x25\x12\x8f\x61\x01\x32\x19\x4e\xff\x39\x1f\x8b\xad\x2c\xb9\xdf\x9f\xa1\xb6\x0f\xea\x21\x9b\xc5\xe2\x7f\x2e\xd3\x79\x7f\x97\x5a\xf9\xaf\x25\xf2\x34\xf6\x55\xc4\xf5\x5e\xfa\xcb\x75\xa0\xcf\x86\xe2\x67\xa0\x29\x02\x4d\x25\x96\x00\xe7\x43\xf5\xce\x1a\x56\xe9\xa9\x07\x9a\x9e\xca\x4d\x21\x7a\xd4\x26\x90\x9d\xbc\xed\xd9\x7c\x16\x44\xc2\x2c\xa6\x69\xf5\x7e\x52\x2c\x25\xb1\xfa\x7c\x4f\x22\xbe\xfb\xd9\x0c\xe4\xcf\x1d\x68\x5c\x33\x2b\x7f\xa3\xf2\xfc\x61\xab\xbd\x1a\x9c\xe2\xe7\x04\x80\x83\x9e\x05\x88\xd0\x69\x38\x93\x82\x1e\x5c\x14\x24\x03\x21\x31\x99\x4c\x8a\xe5\x61\x36\x73\xb6\x0d\x7a\x12\x2b\x4d\xc2\x52\xad\x62\xe7\xd2\x17\x5f\x0a\x6b\xe0\xb5\x76\xcb\x6a\xc4\xdd\xe9\x8d\x1b\x55\xf8\xaf\xe8\xa3\x92\x2d\x82\xc3\x6a\x58\xfa\x47\x74\x1f\x95\x0b\x98\xbf\xc0\xa6\x95\x62\x98\x7e\x88\xcb\x9a\xc0\x93\x1b\xea\x96\xba\x77\x74\xd1\xf9\xad\x8a\xcd\x9d\xa7\x53\x12\x6b\x50\xd6\x32\xff\x8c\xa0\x28\x3d\x63\x76\x74\xf3\xa2\x22\x9e\x5b\x33\x99\xc9\x17\x26\xb6\xad\x68\xea\x44\x4e\x05\x88\x08\x3d\xb7\xf2\x88\x8e\x8b\x50\xc9\x9b\xf4\x41\xb4\x47\x14\x92\xf9\xc2\x27\x13\x5f\xe8\x52\x23\xa8\xc6\x4d\x3a\x2e\xd7\xec\x11\x9f\x33\x80\x09\xc5\xee\xd6\x74\x4a\x7e\x17\x9c\xe4\x33\x7a\x77\x78\x20\xc0\x94\xd8\x3b\x98\x37\xba\xe9\x02\x4f\xa4\x1c\x0b\x38\x9c\xc9\x59\x29\x0a\xc9\x44\x53\x45\xf8\xae\x84\xdf\x2f\x80\xa4\x13\xd4\xcc\x37\x97\x69\x0f\xe0\x0c\x8d\x21\x77\x79\xca\x36\xc0\xea\xb4\x24\xa0\x13\x8d\x38\x45\x30\xea\x54\x61\xde\x8c\xfb\x7c\x40\x08\xc6\xff\x0d\x67\xfa\xea\xd7\x0f\xf1\x2e\x3b\x6d\xc9\x1d\x07\xb4\xef\x39\xe0\x39\xc1\x73\xdd\x48\x72\x4c\x1e\x37\x26\xaa\xa4\x07\x92\x91\x8e\x33\x1b\x42\x73\x04\xe0\x8e\x7c\x5b\x6f\x10\x01\x26\x12\x6f\x75\xda\x53\x67\xf7\xd5\xad\x18\xae\x2b\x7b\xa1\x41\x45\xbf\xdf\xe5\x6b\x5a\xe2\x09\xa4\x22\x4e\xe2\x8a\x64\xea\x19\x35\x83\xa2\x3a\x9a\x98\x49\x56\xb5\xa2\xda\x8a\x95\x3e\xab\x46\xed\x62\xac\x4b\x85\xc7\xce\xa8\x66\x29\x2a\x63\x96\xa6\x47\x35\x3c\xf3\xcc\x43\xa0\x98\x00\x9f\x95\x2e\x67\xf4\x15\x5d\x04\xa8\xeb\xaf\x6b\x96\x92\x0a\x19\xb6\xa5\x81\x17\x20\x41\x30\xe3\xbe\x2d\xbe\xd3\xd9\xa3\x16\xa6\xa9\x76\x7f\x04\x86\x54\x20\xb8\x05\x06\x0f\x64\x34\x4b\x28\xa8\x16\xc5\x59\x71\x60\xb2\xaa\x9b\x28\x75\xdd\xe5\x7b\x2c\xbd\x3a\x30\x2a\x24\x7c\x32\xec\x0e\x83\x9a\x8b\x2f\x04\x49\xba\xcb\x2c\x93\x60\x45\xbc\x86\xe8\xd8\x14\xf1\x78\x50\x1b\xae\xb3\x23\x71\x84\xb0\xaf\xcf\xcc\x60\x00\x9b\xe0\x2f\xeb\x3a\xea\x80\xc8\xd2\xd3\xd6\x27\x3b\x8d\xd9\x89\x56\x06\x87\x11\x44\x29\xcb\xb4\x0c\xce\x0b\x72\xc9\xfc\xe3\x8f\xf6\x38\x39\xbe\x77\xa2\x7d\x5b\x01\xfa\x86\x46\xac\x88\xcb\x08\xeb\xa2\xf9\xde\x9c\x17\xce\xb7\x0e\x9c\xbe\xa1\x1d\x2b\xe5\xd2\xc2\x9a\x68\x9e\x4b\x48\xde\x5c\xe0\xc7\x9a\x55\x8a\x8e\x1d\xa8\xe4\xac\x82\x4a\xc0\x56\x24\x70\x55\x6a\x99\x7c\x63\x30\xcb\xee\xdc\x7b\xaf\xde\xc7\x4c\xf3\xeb\x41\xab\xda\x3f\xe8\x56\xe6\x3d\xa7\x34\x8d\xf2\xef\x53\xba\x19\xc5\xb4\x74\x60\xf5\xc5\xc6\x64\x99\xff\x89\x6f\xfc\xd9\x64\xa5\x62\x06\x55\x50\x06\x94\x17\xcc\x02\xf0\x4a\xa5\x78\x13\xd1\x67\xa4\xae\x4a\x52\xf8\x72\x9d\x4f\x85\xb9\xcf\x73\x09\xf3\x1d\xc6\xc1\x91\xa1\xda\x18\x34\x4d\x77\x98\xa9\xdc\x1e\x0d\x0f\xe8\x22\x22\xf6\x34\x14\x32\xf7\xe1\xe8\xe0\x60\x4d\xc4\x1a\xf1\x44\xba\x2f\x4e\x21\x89\xd5\x76\x82\x33\xd5\xb9\xb7\xf2\x81\xe1\x2e\x8c\x15\x66\x2b\x93\x40\x78\x4f\x97\x56\xc8\x71\xea\x9b\x6a\x5e\xd7\x43\xdf\xaa\xa9\x4b\x6d\xae\xf7\x9f\x11\x2c\xe2\xb1\x38\x48\x04\x39\x8c\x5a\xa8\xac\x3c\x26\xb8\x6f\xb6\x85\x1f\x28\xd1\x40\xff\xb0\x6b\xa9\xf1\x1e\xdf\xd6\x4d\x35\x9b\xf3\x1f\x8d\xa1\x5d\xb1\x4d\x85\xb8\x55\x32\x0c\x3d\x10\x76\x70\x42\x36\x44\x58\x6a\x60\xa9\x72\xaa\xf2\x3c\xf5\x77\x95\xc6\x31\xe6\x99\x59\xd0\x3a\xd5\x20\xe7\x6f\x91\x3c\xbf\x00\x39\xa2\x3b\x8c\x01\x9d\xf8\x8e\x46\xc0\xd5\xfa\x93\x24\x1c\x3b\x32\xd6\x9c\xd7\x6a\xb4\xb1\x10\xfa\xde\xba\xec\x78\x2c\x16\x12\xcb\x1a\xca\x81\x9d\x43\x04\xc5\x52\xc4\x89\x74\x18\x16\xb8\xb0\x12\x24\x83\x1c\x56\x4a\x66\x1e\xc1\x66\x88\xc5\x39\xc7\x29\x00\xaf\x61\x99\x39\x50\x89\xab\x26\xe0\xf8\xd1\xc5\x36\x4f\x6f\xbe\xd6\x03\x17\x6c\xa9\x3c\x9d\xd4\xf3\xe2\x02\x19\xf2\x19\xef\x64\x73\x3d\x23\x01\x33\xc5\x73\x16\x8f\xb5\x50\x2d\xd0\x62\x44\xa0\xd4\xfc\x22\x8d\x0f\xec\x5b\x3a\xb0\x77\xc9\xba\x5e\x6a\xf9\x89\xd3\x81\xbb\xd0\x51\x65\x6a\x60\x8c\x8b\x97\x54\x71\x92\x05\x3d\xa2\xfa\xb1\x94\x48\x26\xa3\x6f\x8f\x1b\xa1\x1b\x6b\xc4\x89\x4c\x44\xde\x57\xa1\x4f\xfb\x86\xc2\xf9\x94\xeb\xca\x2a\x4a\x33\x73\x5b\x19\xce\x36\x9d\x6a\x31\xf0\x40\xd9\xd8\x6e\x72\x3c\xae\xce\xbe\xdb\x87\x86\x23\x89\xcd\xd2\x40\x09\x88\x30\xbf\x9b\x63\x06\x09\xa2\x9d\x1f\x05\x99\x3f\xef\xb5\x9d\x3c\x32\x8a\x44\xd5\xd3\xa6\x09\xbf\xe8\x7d\xaf\xb0\x54\x73\xcd\xd9\x53\xce\xfd\xd0\x22\xe2\x0b\x52\xcd\x0a\xae\x95\xa4\x2e\x7d\xdf\x6f\x5a\xde\xcd\x18\xe3\x87\xf9\x46\x6f\x2a\x98\x95\xa7\xdd\x97\x87\xb6\xff\xb7\x96\xb5\x3a\xdd\xf4\xd6\x1b\xc1\x93\xbc\xc1\x37\xc9\xed\xf7\x48\xc2\xf2\xe4\x8d\x9a\x0e\xa5\x78\xa1\xb4\x5d\xc5\xdb\xc7\x61\x19\x36\x1e\x76\x35\xed\x12\x52\xfd\xa0\xcc\xbe\x65\x31\x87\xed\x24\x58\x4c\x85\x9b\xba\xc3\x0a\x4a\x89\x61\x61\x9a\x11\x13\xdd\x86\x2c\xc6\xf3\xec\x84\x90\xcc\x1a\x22\x33\x2d\xcf\x47\xe4\x21\x1c\xcb\xa5\x38\xb3\xb7\xf2\x38\x0a\x7c\xe0\x54\x3a\x53\xde\x50\x93\x8c\x02\x1f\xb8\xb6\xf5\xf1\x70\x1c\x4d\x52\xae\x59\xde\x62\xf4\xe6\xa5\x7b\xef\x2b\xbb\x4f\xfd\x65\xdb\x9b\x32\xf6\xf2\xd7\x67\x05\xa7\xa9\xd3\x75\xae\xe7\xf7\x56\x3d\xfa\x55\x3e\x2d\xc5\x01\x6b\x62\x36\x55\x9f\x12\x92\x92\xd0\xa9\x70\x5a\xe2\x4d\xbd\xd0\x4f\xa8\x60\xff\xb2\xdc\x24\x57\xe8\x44\xc1\x79\x1b\x8e\x11\xb9\xf1\x41\xdf\xbb\xa3\x5b\xc0\x34\x05\x8d\xfc\x61\x91\xfc\x4a\x7f\x3f\xae\x66\x44\x3f\x3d\x97\xef\x91\x89\x64\xb0\xaf\x28\x4b\x44\xe4\xb4\xb1\x3a\xe2\x9c\x44\x1e\x93\x2f\x5b\xe5\x23\xa2\x7f\xf5\x24\x41\x0c\xc5\xfb\x23\x4b\x48\x2e\x11\x3a\x95\x9e\x78\x3f\x25\xe6\xdb\x56\xf4\x72\xb7\x15\x40\x01\x5b\x42\x24\xcc\x7d\x9e\x63\xf1\x6f\x18\xe1\x93\xdb\x53\x36\x60\x4c\x50\x66\x4d\x26\xc9\x94\x80\x9b\x41\x3c\x3a\x8a\x07\xae\x76\x90\x9e\xc3\x9a\x0a\x51\xd2\x7e\x50\xdf\x1b\x10\x77\xa1\x92\xef\x5b\xeb\xed\x2b\x08\xf7\x9e\x14\xad\x91\x86\x8f\xfb\x01\x60\x2b\x6a\xa3\x20\x56\xdf\xc7\x2b\x8f\x9e\x52\x2a\xe3\x01\xb6\xb5\x75\xa3\x6c\x7f\x21\x14\x0e\xa3\xfe\xea\x7c\xfe\x2b\x27\xaf\x4b\x59\xfe\x36\x9b\x36\xb6\xcd\x5f\x06\xeb\x96\x75\x64\xd2\x7d\x5f\x03\x87\xac\xdc\x5b\xff\x79\x75\xdb\x98\x95\x6a\x8e\xa5\x00\xb0\xbb\x6f\x24\xc6\xe3\x59\x3d\xa0\x79\x6a\x52\x9c\x11\x69\x29\x8b\x16\x99\x06\x62\x90\xd4\x8b\x4c\x61\x44\x28\xbd\x58\xfd\x55\xca\x77\x49\x08\xab\xda\xbb\x5a\x80\x16\x24\xf4\x37\x02\xda\xbb\xee\x39\x1a\xb9\xfa\x26\x7f\x99\xd6\x34\x5a\xc3\xdd\xd6\x27\x8c\x93\x44\x46\x9f\xf5\xdd\x10\x5b\x4e\x5d\xc5\x7e\xe6\x64\x18\x44\x3f\x56\xf0\xf6\x17\x51\x95\x57\xa1\xcd\xcd\xb2\x81\x7d\x76\x53\x3e\xc1\x4e\x0e\x03\x6d\xf7\xc9\xc3\x2b\x03\x53\xde\x71\xf0\xb8\x0e\x48\xb0\xff\x61\xff\xfa\xca\x55\x21\xf7\xce\x92\xaf\xe6\x86\x1a\x17\x89\xda\x57\x62\x5f\x2b\xa5\xab\x8d\x99\xe8\x55\xf4\xfe\x4f\x5d\x8a\x5e\x1b\xbf\xec\x08\xfc\x6c\x35\x07\x39\x09\x40\xc5\xe4\x31\xe6\x27\x7f\xeb\xe0\xd9\x41\x9f\x5e\xfe\x83\x6d\xec\xaa\x12\xfd\xc9\x11\xb2\x6f\xb1\x12\x3a\x9b\xc1\x39\xb8\xd7\xa3\xa3\x73\x19\x0e\x9b\x2d\x13\xdd\x00\x4e\x3a\x1a\xbb\x11\x98\x80\x74\x44\x01\x2d\xc6\x7a\x6b\x53\xb7\xea\x6a\xb5\x61\x34\xed\x9f\x72\x63\xb4\x7f\x7a\x0f\x46\xfb\xdb\xbb\x20\xde\xbf\xe1\x84\x78\xff\xda\x76\x88\xf7\x37\x5b\x00\xbc\xc3\xa4\x43\x38\x96\x23\x37\xb6\x70\x35\xdf\x2b\xb3\x86\xb3\x20\x1c\xe2\x7e\x1d\x2a\x85\x62\x4a\x4a\x59\xdc\x7a\xd6\xb3\x77\x2b\xfc\xb5\xcd\xd9\x02\xef\x10\x2d\xc8\xea\x70\x99\x2f\x4c\xcc\x4c\x5b\x63\x67\xd8\xf7\xd1\xcd\x6e\xf4\x6c\x63\xb8\x93\x61\xff\x50\x89\x86\xd4\xcb\x48\xab\x46\xe7\xbf\x02\xbb\xbe\x9b\x24\x7d\xd2\x39\x60\x7f\xa3\xa1\xcb\xd6\x18\xb0\x91\x5c\x0a\x82\xf4\x0f\x38\x33\xe6\x12\x59\x6d\xf0\x31\x62\x3e\xbf\x7e\xc6\xbd\x4a\xae\xf9\xd8\x82\xaf\xcf\x8f\xc9\xfc\x79\x42\x73\x3d\x22\x92\x86\xe8\xcc\xc3\x66\xed\x28\x7a\x4b\x89\x05\x1c\xf7\x4d\x7f\xc5\x22\x8d\x1a\x08\x48\x60\xe5\xc6\x77\x08\xb5\x63\xbd\x45\x64\x85\xea\x3a\x62\x38\xae\x36\x28\x02\x39\xb0\x18\x89\x3c\xef\x10\xc9\x63\xff\x6c\x8d\xdd\x98\x1e\x2f\x85\xbd\x16\xfc\x10\x6b\x9d\x9b\x67\xea\x0c\x47\xa4\xb4\xbd\x8c\x01\x91\xb0\xc9\xda\xe0\x5e\x02\x45\x53\x45\x29\x35\xd6\x47\xeb\x5f\x5e\xbd\x8f\x6b\xdf\x87\x0b\xf2\x76\x89\xbf\xd5\xcc\x9a\xd3\x11\x7d\x54\x33\xff\x3b\x36\xf1\x0c\x20\x57\x76\x15\x54\x43\x50\x5f\xa0\xf6\xd0\x6b\xf3\xc2\xea\x8c\x2e\x5f\x65\xbc\xe0\xd1\x94\x4e\x4a\xd3\x4c\x00\x7b\x54\xc9\x21\xb3\x8a\x36\x93\x6a\x3e\x68\xf8\x9c\x30\xdd\x0c\xba\x23\xe7\x86\xdd\xd9\x5b\xaf\xea\xe3\x97\x9a\xa9\xc0\x86\xcc\x4b\xc3\x01\xb1\x7a\x93\x2c\xfe\x21\xda\x13\x33\x88\xa6\xd2\x32\x98\xe7\x06\x81\xb6\x3a\x36\x64\x3e\x1d\xa5\x05\x68\x69\x6d\x45\xd6\x5c\xcc\x3d\xf0\x48\x0c\xba\xd4\x1c\x5a\x2b\x7b\x36\x9c\xac\x40\x57\xca\xca\xaf\x26\x11\x6c\x43\x27\x12\xc2\x2c\x92\x10\x11\xd0\x72\x58\x20\x14\x12\x07\x21\x15\x1a\x38\x9f\x28\x5c\xe3\xcc\xad\x32\x98\x2d\xc1\x50\x38\x0e\x68\xe8\xef\x40\x0e\x92\x14\x43\x34\x0b\x9a\x8d\x3c\x7e\xb3\xa1\x06\xd9\xee\x5a\x37\x6a\x25\x29\x0c\x65\xfe\xb4\xc5\xeb\x65\x46\xcb\xfc\x70\x5a\xea\x27\x31\x35\xb1\x0b\xd3\x5e\x36\x1a\x42\x83\xcd\x05\xc8\x33\xb8\x6e\x63\x99\x6f\x23\x14\x7e\xba\x88\xc2\xc2\xb2\x71\x98\xaf\x52\xdb\x40\x21\xd5\xa1\xf7\xd0\x20\x7a\xc3\x5e\xdd\x4b\x73\x5d\x54\xde\x40\x83\x54\x4e\xb3\x54\x20\x85\x2c\x53\x2a\x40\x01\x37\xd0\x13\xd9\x17\x43\xbe\xaf\x89\xc4\xab\xdb\xc9\x85\x98\x0f\xf6\x93\x92\x4c\x0e\x9d\xa8\x69\x51\x86\x4e\x95\x1c\x2c\x84\xc4\x09\x23\x3a\xe5\xce\x52\xd1\xaa\xbb\x88\xa5\x6a\xf8\x92\x17\x17\x39\x97\x05\x15\xe2\x31\x80\x2d\x82\x59\x99\x97\x50\xc7\x4e\xc2\xbf\x00\x8a\x5c\x26\xb9\x79\x4c\x38\xaf\xd3\xb9\xcd\xf7\x89\x26\x30\xcb\x63\x92\xc1\x76\x08\x14\xf0\xc6\x89\x5c\x8e\xc0\x8a\xa1\xf2\x4a\xb5\x41\xca\xcd\x3b\xa4\xf2\x51\x3b\x1c\x95\x5d\x85\x89\xfd\x49\xb4\x4d\x38\x09\xd9\x73\xaf\x02\xaa\xd8\x14\x4d\x66\xf4\x3f\xd4\xb0\x07\x1c\xa1\x49\x12\x18\x9a\xb2\x72\x1b\xbb\x72\x21\xd2\x4b\x86\x39\xd1\x8f\x38\x70\xd9\x7d\x51\xbf\xec\xbd\x8d\x8b\xe7\x67\xfb\x2d\x84\x2a\x0f\x73\x6d\xb5\x7e\xc5\x58\x06\xd7\x50\x1a\x30\x64\xf8\x4d\x5e\x08\xb5\xf0\x3f\x44\xc5\x18\x64\x49\x82\x6d\x3c\x86\xa8\x70\x3b\xa1\x7f\x06\x79\x8e\x06\x2c\x22\xdb\xa6\xa6\x36\xad\xe4\x76\xca\x70\x07\x54\x5c\x5e\xca\x6e\xf4\xdb\xf7\xbe\x7f\x05\x33\x6d\xa4\x3e\x38\xa4\x65\x43\xae\xf1\xdc\x4e\x7d\x10\xad\xcd\xea\xed\x63\xc3\xa0\xe6\xd9\xad\x24\x73\x37\xdb\xbc\x13\xfa\x9c\x23\xd5\xb5\x3c\x53\x46\x2d\x41\xba\xa7\xa0\x14\xe4\x86\xf9\x7a\xac\xd2\xe2\x89\xb1\x13\xcf\x0a\x80\x42\x81\x09\x2a\x7b\xb8\x06\x36\x63\x67\x1d\x89\x87\xb1\x54\x7a\xad\x47\x07\x58\x1f\x32\x2b\x93\x82\xcd\xf6\xd9\x19\xff\x61\x07\xb6\x9c\x30\x9b\x01\x1b\x86\xa4\xff\x07\x3b\xe6\x1c\x20\x9d\x45\x45\x61\x47\x98\x64\xf1\xce\x98\x00\x06\xd7\xbf\xc0\x5b\xef\xaa\x4d\x00\xbc\xab\x06\xe1\x0a\xae\x69\xf0\x1b\x9e\xd3\x0f\x67\xf4\xd2\x3a\x42\x88\x5b\xc4\x09\x55\xfa\xb9\xad\x12\x33\xbd\x19\x4a\x39\xdd\x0d\x30\x08\xca\x0f\x9a\x49\x06\xbe\x32\x27\x09\x6f\xab\xfd\x93\xd0\x16\x12\x5c\x65\xa0\x25\x34\x5e\x35\x7d\xa3\x86\xb6\x1e\x02\xe6\x35\x82\xd4\x0b\x1d\xfd\x20\xd2\x30\x3d\x07\xf3\x13\x0d\x9e\xc1\x4a\xc7\x7d\x6d\x7f\x1f\xe4\x13\x79\xb0\x12\x26\xa9\xa8\xa9\xcf\x22\x91\xfe\x2e\x63\xd6\x82\x09\x56\xbb\xf1\x7d\x65\xe7\x4a\xdf\xda\xeb\x3a\x34\x32\x71\x60\x47\xcc\x4f\xf4\xa6\x9b\x2d\x13\x14\x95\xf2\x9c\xaf\xc1\xe3\x2d\x42\x94\x8b\xee\x99\x4a\x97\x46\xb8\xe9\x59\xc3\xdb\xbe\xa2\x33\x7c\xff\xc5\x7c\x29\xc9\xe4\x0e\x8a\xe0\xf3\x06\xac\xba\xea\xf6\x49\x47\xee\xcc\xc1\x61\xbe\xe9\x0f\x9e\xa2\x08\x2b\xef\x2a\xbd\xef\x74\x74\x50\x11\x62\xef\xf6\x82\xef\x41\xdd\x1d\x18\x44\x6f\x3f\x04\x43\x10\x8e\xa1\x67\xb4\x74\xf3\xb4\xf5\xd0\x3b\xf2\xb8\xc4\x49\xcb\x5d\x47\x1d\x85\x98\x32\x52\x45\x3c\x5e\x95\x6d\x4b\x33\x94\xac\xf7\x14\xa7\x2b\xe1\x13\xac\x3b\xdf\x0d\x9a\x5b\x8b\xaa\x16\xcb\x33\xcb\xda\xf9\x8f\x19\x5b\x31\xb0\xbc\xc1\xbd\x79\x84\x76\xb8\x85\x8f\x0a\x17\x23\x7f\x0f\xaa\xdc\x70\xdf\x3c\x6a\xd4\x69\x43\xd3\x61\x66\xe6\x7e\x5c\xe7\x1b\x47\xa4\x03\x43\xa5\x34\x1b\xee\xc2\xde\x64\x75\x62\x74\x20\x42\xa0\x4b\x97\xc2\xf5\xd0\xb1\x51\x6d\xbd\x13\x3d\xce\x61\x9b\xa6\x9b\x54\x71\x3c\xad\xf6\x5e\x7a\xe7\xd8\xa1\xf1\xaf\x28\xcb\xde\xb9\x96\x47\x7e\x51\xdb\xbc\x5a\x6f\x4f\x18\xf8\xd6\x63\xe7\x86\xe0\x94\x0f\x72\x3e\x52\xa5\x7b\x62\xba\xb9\x34\xa6\xf7\xcb\x76\x4d\x9d\x71\x84\xb3\x11\x83\x6c\x29\x3c\x8b\x56\x94\x7b\xc4\x9b\xe6\x99\x90\xb1\x32\x50\x99\x00\xfa\x54\x19\x80\x27\x1d\x44\xd8\x0c\x0a\x56\x74\xbb\x02\x90\xbc\xce\xf2\x15\x9d\x87\x6f\x50\xad\x61\x55\x92\xc9\xe3\x36\x60\x88\xa0\x01\xff\x22\xc2\x81\x81\x51\x65\xef\x5d\x6b\x04\x61\x2d\xdf\x5e\x3c\x78\x6a\x9f\x3c\xe4\x47\x2e\xdb\xd9\xd5\x7e\xad\xa5\xb6\xd7\xeb\xc5\xe9\xf4\x35\xdb\xb9\xbd\xdb\xaf\x5d\xd3\x56\xfa\x1d\xbe\x60\x38\xcf\xa6\xbe\x8e\x11\x97\xf8\x25\xb9\xbd\xbb\x72\xd7\x1e\x79\xa3\x76\xd1\xf4\x0e\x02\x18\x02\x9b\xf3\x92\x9c\x3b\xe3\xdb\x70\x63\xff\x19\xf7\x85\xea\xb5\x1c\xfd\xe8\x9b\xfc\xca\xd3\xdd\x60\x00\x9b\xd9\x98\xbd\x75\xd2\x99\xc1\xed\x16\x39\x71\xb9\xef\x71\x10\x9b\x45\xa9\xc4\x7f\xa9\x19\xd2\xb9\xe6\xcd\xec\x42\xc5\x19\xd2\xe7\x15\x14\xa7\x07\xdb\x36\xd8\xc7\x91\x03\x61\xb7\x65\xdc\xc1\xb6\x45\xf5\xd8\xab\x4f\xe2\x59\x94\xfa\xad\xc7\x91\x23\x3a\x79\xeb\x12\x70\x1c\x02\x80\x10\xc6\xe9\x2f\x21\x2f\x1c\xa5\xbf\x35\x73\x91\xa7\x96\x55\x27\x21\x20\xe0\x7f\xeb\x22\x7c\x87\x8d\xa5\x42\xe3\xa1\xaa\xa8\x0a\xe3\x0f\x74\x5c\x1b\x8f\x54\x23\x19\xe2\xf3\xd2\xd2\x9d\x4d\x8e\x24\x2b\x32\x6e\x5f\xc5\xe4\xde\x20\x91\xba\xbe\x62\xd3\xda\x1c\x1c\xe2\x5e\xa7\x26\xf5\xb1\x90\x92\xaa\x99\x8f\xc8\x65\x17\xc3\xe9\x14\x69\x99\x1b\xa6\x63\xe0\x49\xea\x3d\x15\x15\x84\xfa\x05\x75\x25\x45\x16\xa6\xa3\x8c\xc8\xad\xf3\xd6\x93\x1f\x0a\xcd\xca\xd3\x66\x6a\xb0\x61\xd8\xb8\xd6\x90\xa0\x93\xce\xcd\x45\xc0\xd3\x9d\xe0\x13\xe2\xab\x5f\xd1\x65\x02\xf6\x9c\xe0\x28\x72\x7d\xf2\x9e\x6d\x6f\x39\x19\xba\xfb\x55\x50\x36\x7a\x48\x24\x67\xb0\x34\x04\xf1\xd9\xba\x36\xa9\x50\xf3\xf7\x40\x40\xe2\x58\x0d\x28\x31\xcd\xce\x98\xcd\x00\x7f\xe1\x78\x5f\x09\x4a\x79\xbd\x7b\x95\x33\xda\xe6\x13\x03\xad\x27\x2c\xbe\x83\xf1\xe3\x4d\xeb\x31\x6e\x9b\xd8\x15\x85\x3e\x76\xf0\x4f\xea\xf4\x86\xd5\xb3\x86\xfd\xf8\xc4\x6a\xfe\xdf\x12\x98\xd6\xb0\x72\xcd\x31\xe3\x66\x34\x63\x73\xba\x5f\x25\x76\x25\x6c\x93\xe3\x4b\xdf\x5a\x4e\x69\x92\x2b\x56\xf8\xee\x33\xdf\x27\xb7\xa4\xc4\xd4\xe0\x7e\xe7\x94\xeb\x4e\x9b\x4d\xe0\x47\x40\x48\xef\xe4\x1d\x42\xee\x62\x2b\xd3\xfd\xca\xee\xa7\x76\xdd\x56\x46\x71\x40\x18\x9b\xdd\xb1\x75\x4b\x5a\x9d\x68\xaa\x70\x40\xec\xed\x45\x30\xf7\xf8\x81\xbf\xe4\x75\x61\x81\x97\xce\xf2\x53\x58\x64\x84\xee\x85\x55\xb8\x93\x98\x4b\x7d\xd4\xaf\xd2\x38\x47\x81\x58\xc7\x4b\x02\x19\x69\x49\x04\xac\x82\xed\xa3\x25\x9a\x0b\xc7\xfb\x83\x00\x07\x19\x75\x52\x29\xb1\x45\x9e\xe0\x92\x49\x2d\xa8\xda\x96\x38\x9c\xc6\x7c\x0e\x31\x07\xd6\x12\xcb\x47\x12\x80\xce\x9e\xe0\xe6\x66\x36\xeb\xc8\x80\xee\x3d\x21\x16\x4b\xc0\x46\x36\x92\x51\x66\x1e\x5b\x58\xb1\x15\xd2\xda\x7e\xc0\x10\xf4\x97\x5f\x8f\xe0\x6a\xa2\x5c\x5e\xea\xcd\x8b\x5e\x14\x6b\x85\x94\x9a\x9d\x60\x93\x88\xfe\xf9\x44\xf8\xb5\x73\xf5\x05\x05\x06\x47\x5d\x7e\x96\xe3\xa4\x9b\x79\x13\x07\x6f\x10\x02\x01\x8a\x7d\x8e\x7f\xd1\x3b\x2b\x69\x25\x8b\x08\x1a\x4e\x7d\x87\x51\xbc\x9c\x30\xbf\xe5\xfe\xd4\xa5\xed\x55\xbf\xc9\x75\x29\x4d\xb6\xdd\x5b\xc6\x5a\x60\x22\x9f\x37\x0d\xb9\xe2\x1a\x0e\x3f\x2f\x5b\x43\xe4\x7b\xcc\x6c\xf1\x82\x29\xf2\x24\x18\x4d\x72\x89\xf5\xc0\x9a\x7c\x5e\xba\x04\x91\x09\x61\x99\xbb\xe2\xb7\x10\x03\xfe\xa7\x3a\x88\xa0\xcd\x22\xe9\xd6\x8a\x9d\xdb\x61\x09\xc2\x6c\x02\xf2\x3e\x1b\xde\x68\x00\xc7\xe1\x79\xa2\x7f\x80\x14\x61\xd1\xce\x7b\x9e\x32\x3e\xaf\xfe\x43\x50\xae\x89\x90\xb0\x4c\xc5\x0f\x10\x20\x9a\x6a\x3f\xd1\x6e\x08\x74\x67\xe5\x9e\xd8\xd3\x5d\x03\xa6\x16\xe1\x53\x88\xb8\xf8\xf8\x7b\xe1\xb5\x55\xd3\x87\x05\x91\x28\x27\xb3\xb5\x62\xe7\xa3\x27\x66\x8f\xe6\x67\x30\xd3\x83\xdd\xea\x18\x95\xc4\x4c\x50\x41\xa5\x4d\x74\x64\x15\x07\xcc\x29\xe3\xb3\x32\xc3\xba\xe3\x59\x21\xd6\x76\x00\x8e\x26\x60\x6f\x85\xaf\xfe\x32\x12\x50\x5b\x0b\x1b\x9d\x61\xde\x94\x84\xbb\x35\xfb\xc0\x0c\x53\x87\x7c\x23\x2b\x80\xb2\x01\x37\x4a\x05\xa4\x8a\x0a\x23\x1b\xc8\xb8\xcc\x5f\xab\xd5\x64\x55\xa9\xa4\x36\x23\x56\x19\x44\xae\x86\xc0\x9b\x42\x22\x4b\x83\xf7\xd6\x7c\xa2\x1a\xb8\xc0\xc1\x19\x16\x80\x29\x02\x6f\x90\xd0\x10\xaa\x74\x6b\xfd\x6c\x03\x9a\xe6\xc8\x2c\xae\x14\xfb\x6c\x11\xe8\xa1\xeb\x0f\xf3\x55\x1f\xec\x29\xdd\xb9\x65\x98\x35\x81\x3c\x41\xba\x08\xb0\x1e\x5c\x30\x9c\xeb\x9e\x5f\xec\x37\xd8\xd9\xf6\xed\x5e\x7e\x7b\xd8\x24\x0d\x71\x52\x82\xce\xb0\x66\x93\x13\x01\xfb\xeb\x50\x0a\x10\x61\x1a\x21\x66\x97\xb4\xf9\x16\x58\x55\x83\xb2\xb3\x68\x58\x1b\xf2\xa2\x6c\xdb\xbd\x5e\xc1\xf1\x3a\x28\x9f\x03\x6d\xa0\x3f\x92\xc5\x40\x3d\x62\x68\x67\x99\xdd\x4f\xcd\x96\x7b\x2d\x93\x69\xd0\x3a\x92\x27\xb4\x41\x15\x8b\x38\x3f\x67\xc2\xf0\x7a\x48\x46\x7a\x30\x11\x10\xf7\x5b\x0f\x44\x23\xe3\x90\x41\x8c\x19\x2e\xf6\xe0\xba\x25\x27\xb6\x80\x77\xad\x3d\x32\x0f\x33\x1a\xa4\xc9\xb8\xb7\x9d\x5a\x27\xf2\xa1\x48\x78\x86\x93\xaa\xbb\xee\x9b\x26\x07\x49\x9d\x92\x34\xd0\x31\x49\xef\x9d\x4a\x69\xa4\xad\xbf\x9b\x65\xe8\x7a\x94\xda\x1b\xcc\xd3\xcd\x8f\x97\xfd\x6f\xe2\xd9\xb4\x9b\x8f\x7b\x83\xa9\x81\xfe\xb0\x69\xe7\xc3\x9f\x38\x1d\x09\x30\x5b\xcb\x4b\xb8\x2f\xee\x03\x1f\x6e\x2a\xed\xa8\x61\x35\xf3\x11\xd2\xed\xe1\xb0\x89\x10\xea\x2c\x63\x02\x90\x98\xac\xe8\xfb\x98\x18\xb1\x12\xd7\x2b\x9a\xd5\x41\xbe\xb7\x07\x42\x44\x72\x6c\x44\x6f\xb8\x9f\x11\xf1\x22\x24\x1f\x54\x68\xda\x54\x17\xb5\x99\x8a\xa2\x39\xe6\xae\x24\xc6\xe5\xb2\xa3\xe9\xfe\x27\xf7\xf2\xf6\xbc\xf8\xe1\x10\x30\x56\x88\x27\x7c\xe3\x22\xcf\x05\x92\x98\xe2\xeb\x80\xf4\xa1\x1c\x0a\xc0\x91\xd7\x53\x96\x41\x0f\x4a\x21\x94\xd5\x8f\xdf\x91\xd2\x36\xc6\x46\x36\x52\x5c\x8a\x36\x14\x5c\xbf\xbb\x39\xb4\x08\x17\x2d\xf8\x5f\x3d\xa6\xc1\x51\xb3\x22\x39\x49\x57\x2e\x5c\x2e\x0e\x7a\x6d\x6b\x7a\xcb\x46\xcd\xb5\x55\xf4\x78\x0f\x3c\x39\xdf\xd0\xc9\x91\xaa\x24\xc6\x37\x69\xfc\x46\x53\xe9\xef\xcf\xe1\xfe\xca\xa7\x62\xdf\x82\x40\xfe\xdb\xa8\xea\x94\x7d\xfa\xcf\x75\xe5\x01\xf4\x6f\xf6\xa1\xfe\xcf\xbe\xbc\x11\xde\xd1\xaa\x0f\x07\x10\x6a\xbd\x34\x3d\xa4\xee\xfe\xba\xe3\xa5\x6f\x65\x55\x4b\x0b\xe6\x78\x64\xe9\x57\x98\xeb\xbb\xb8\x31\x6e\x44\xa5\x58\xcd\xf5\x98\xe5\x79\x96\x22\x8d\xae\xe9\x35\xe5\x80\x98\xc0\xca\x82\x82\xd7\x14\x95\xd5\x4b\x01\x95\xec\x17\xd1\xfb\xa4\xbf\x14\x2d\xa4\x6f\x37\x42\x22\xb4\xe0\x12\xc4\x9b\x29\x1e\x98\xa5\x75\x57\x0c\xe2\xd1\x1f\x45\xc1\x68\x39\xac\x10\x01\xc0\x62\x29\x1a\x50\xe4\x25\x2e\x96\x24\x84\x47\x9c\xc1\x28\x40\x28\x16\x91\x11\xf1\x75\xa3\xd6\x52\x8d\x1b\xec\x66\x4c\x54\x20\x06\xcf\xaa\x1b\x4a\x36\x0d\xe9\xce\xea\x29\x0f\x48\x2a\x79\xd3\xdf\xf1\x0b\xe8\x9f\x3d\xce\xd2\xcc\x51\x0b\x2f\xab\xdd\xd2\xd8\x75\x49\x2e\xbd\x08\xba\x3c\x8f\xdb\xef\x90\xc1\x18\x2c\x96\xb0\x72\x23\x82\x79\x04\x7c\xbe\x03\x06\x6c\xc9\x3c\x60\xfa\xc6\x51\xf9\x07\xea\x3d\xc4\xfb\xd4\xf9\xeb\xa9\x46\x24\x1b\xe8\xab\xd2\x41\x92\x74\xe9\x98\x8d\x32\xda\xec\x94\x64\x36\x01\x63\xcc\xf3\x82\x57\xc7\xa5\xe4\x87\xa3\x34\x7e\xf6\x25\xef\x76\x1b\x62\x19\xfc\x61\xff\xd0\x95\x5f\x43\xd5\xae\xe3\x59\xde\x6c\x87\xcc\xa8\xce\x76\x1a\x71\xa4\x1a\x80\x73\x10\x24\x6d\x3a\xb0\x47\xdf\xf4\xe3\x5c\xbc\x57\x5b\xf6\xb3\xa9\xb3\x43\x09\x19\xe5\x6c\xf1\xf4\x7d\x0f\xd3\x52\xc5\x5e\x9f\x32\x4a\xa9\x49\x36\xde\x58\xfc\x6c\x39\xa1\xe8\xaf\x3d\xf1\xff\xfb\x83\x11\x8c\x60\x74\x07\xfd\xd3\x91\xef\x15\x2f\xf5\x17\x94\x19\x83\x50\xac\xd9\x6a\x65\x73\x22\x9c\xa9\x5f\xac\x0d\x4c\x19\x8d\xc4\x77\xa7\x6d\xab\xcb\x7e\xc0\xa6\x58\x14\xba\xe2\xcd\x4e\xfb\x16\x4d\xef\x31\x78\xbf\xd5\x16\x7f\xaa\xd9\x9b\x23\x02\xb8\xea\x4e\x6d\x7a\x53\x0f\xef\x8d\x25\x62\xb7\x96\x1f\x2c\xef\xf2\xe3\xa0\xc5\xbd\x9b\x7e\xb2\x42\x9d\xee\x09\x60\xff\x39\xef\xf5\x56\x75\x36\x55\xaa\x7d\xd6\xba\x47\xa6\x7f\x1d\x0c\xac\x75\xf1\x6e\x8b\x77\x4f\xbe\xb5\x03\xaf\x1c\xb0\xe7\x1c\x66\x73\x43\x97\x5c\x1c\x81\xb2\x08\xbd\x1c\xcf\xfe\xdb\xcf\x67\xfd\x1a\xb4\x13\x87\xb8\xfe\xb9\xb3\x56\x97\xeb\xce\xa6\xae\x8f\x40\x9b\xb6\xfd\xe2\xac\x3a\xaa\x5f\x60\x63\x2b\x7d\xf1\xfd\xfe\x4c\x95\x3c\xd1\x5b\xb4\x90\x23\x55\xab\xd6\x2a\x1f\x7c\xd0\xe6\xad\xba\x5b\x93\xdb\x5b\xe5\xa7\x99\xeb\xba\xd4\xa7\x6f\xb8\xca\xc9\xbc\x02\xb9\xbf\x5c\x3d\x47\x52\xf8\x4b\x2c\x21\x5b\x3c\x8b\xbe\x48\xe3\x3f\x8e\x85\x3b\x85\x39\xe1\xf8\xc6\x05\x81\x3a\x91\xd4\x49\xcd\xa3\x2b\xbe\xcc\x61\xfe\x98\xf9\x21\xbf\xb7\xed\x2a\x8f\xc8\x3f\x23\x92\x27\x47\xd0\x07\xe3\x3d\x9f\xed\xc4\x51\x36\x15\x9b\x2c\x1a\xe3\x67\xcb\x6d\x26\x3b\xb6\x87\x88\xd4\xf3\xd7\xce\xeb\xb9\xd9\x58\xe6\x95\x85\x30\xf2\xf5\xe1\x0a\xf9\xc0\x1f\x80\x93\x0e\x9d\xec\x0b\x8f\x3b\x71\x57\xa9\x71\xcd\x27\xab\x34\x8c\xae\x49\x0b\xf0\x0c\x43\xb5\x67\xed\xdc\xf1\xce\x83\x59\xad\x60\xc6\x13\x7e\x1d\x60\x36\x69\x78\x11\x30\x0e\x4f\x47\xba\x19\x67\x60\xce\xee\xde\x5b\x7e\x93\xe0\x3f\x4e\x43\xe0\x51\x40\xea\xf8\xc8\x84\x36\xe6\x90\x4e\xce\x81\x84\xaa\x9e\x41\x7d\x6a\xc0\x8e\x42\x61\xf3\xc1\x1c\x33\xed\xc5\xa5\x29\xea\x15\xc3\xcf\xcb\xb4\x3a\x71\xba\x49\xab\x00\xed\xaf\x9e\xc1\x1d\x67\x5a\xbe\x08\x32\xcf\x76\x1a\x6c\x66\x2c\xdf\x10\xd0\xa3\xa2\xce\x7f\x59\xbf\xf3\x87\xd1\xae\xec\xdd\x62\xd4\xa9\xea\x1c\xf9\x9e\x19\xd9\x58\x6f\xc3\x49\x12\xc4\x97\xcb\x9c\xdd\x58\xa8\x81\xa2\x0e\x5f\x27\x01\xc4\x12\xf2\xc3\x35\xf5\xc7\x15\x5d\x1a\x4a\x84\xb8\xfc\x32\x50\xd2\x08\x39\x32\xb0\xa8\x43\xcd\x89\xfa\xd4\xff\x0c\xfd\x40\xf1\x99\xa6\x43\xa5\xa0\x86\xf9\x9b\x18\x36\x14\x45\x9f\x65\xd1\x00\x42\x40\x8b\x0b\x06\xe8\xac\xdf\x41\x91\x39\x94\xdf\x87\xc3\x02\xe7\xe6\xc7\xb4\xe8\x79\x06\x5d\x00\xf5\x05\x48\xf1\x09\x07\x89\x03\x2d\x1c\xe0\x20\xdb\x62\xb6\xa8\x39\x0d\xd1\xf0\x4f\x1e\xf5\x19\x30\x0c\x75\x77\xa7\xac\x49\xe2\xc8\xf1\xa6\x02\x37\x4a\xa6\x78\x95\xc5\xab\x32\xaf\xf3\x5c\xca\x19\x56\x66\x3d\x6e\x56\x91\x56\x80\xab\xa4\xd0\x22\x23\x39\x93\xac\xd6\x76\x38\x78\x0a\xfb\xb6\x6d\x15\x0f\x14\x70\x41\x68\xf6\xd3\x13\xe8\x79\xe2\x91\x33\x82\xbb\x70\x51\x09\x0e\x25\xe4\xd0\x74\x5e\xaf\x91\xd8\x20\x7c\x83\xc2\x82\x5d\x9d\x59\x42\x38\x6a\x43\xd7\xac\x6e\xc4\x23\x07\x26\xcb\xc9\x87\x0b\xee\xfc\xbd\xf0\xca\xb4\x76\xac\xcb\x92\x50\xa1\x3e\x15\x96\x4f\x03\x7f\xa1\xa9\xa7\x04\x93\x93\xaf\x03\x89\x79\xb5\x55\x41\x74\x32\xd0\x5f\xb7\xe0\xfd\xee\xf1\xd1\xee\x03\x0b\xf2\x6e\x35\x33\x65\x2a\x83\x83\x31\xbb\x93\x93\x76\xf4\x15\xb0\xb4\xde\x28\x4b\x5f\x48\xb5\x76\x56\xcb\xca\x89\x33\x7d\x12\x07\x2c\xd5\xc6\x41\xb4\x43\xe0\x55\xc6\x8d\xd8\x82\x12\x94\x43\x75\x08\x99\xab\xc9\x74\x0e\xac\xf9\x69\xce\x2d\x5d\xb9\x60\xe6\x05\xce\xd6\xe9\xf9\x1b\xcc\x37\x84\x5d\x52\xe6\x0f\x0d\x21\x7a\x73\xb2\x4e\xfb\x96\x74\xa3\x04\x8a\x91\x26\xbe\xc5\xcc\x89\xcc\x84\x6b\x29\xbc\xce\x53\x4c\xa5\xcd\xf4\x9b\x0f\x84\xcc\xb9\xae\x79\x11\x37\x82\xaa\x24\xb4\xb0\xcf\xa5\x44\x4a\xae\x4e\x1f\xca\x64\xe5\xec\x22\x89\xd4\xf9\x7f\x39\x1c\xe9\x0a\xe6\x33\x31\x20\x49\xcd\x17\x97\x5a\x28\x5e\x28\x0d\x6c\x77\x36\x0d\x2f\xf5\x40\x8e\x59\x8a\x42\x8e\x5e\xde\xd8\xd9\x7d\xb0\x4f\x54\x7e\x39\x63\xbe\x63\xc2\xf2\x8e\x5d\xf9\x9a\x95\x7b\xe2\x29\xcb\xdd\x7d\xee\xb9\x44\x38\xed\x24\x13\x7b\x13\xfb\xf0\xde\x13\xc7\x79\x63\x96\x2c\x12\xca\xa4\x80\x7b\xf6\x74\x41\xba\x57\x33\x7a\x10\x48\x49\xba\xab\x6d\xc3\xf0\x44\xc6\x34\xdc\xa4\x55\x04\xfd\xda\x54\x33\x64\xa6\x0f\x49\xd2\x0e\x9d\xf3\x44\x92\x29\x0d\x12\x8c\xe0\x49\xdb\xac\x8d\x2e\x01\x64\xeb\x7e\xe9\x5b\x0c\x2d\xfb\x4b\x96\x5e\x32\x80\x5a\x63\x0c\x93\xda\x0a\xdd\x38\xfd\x83\x75\xbe\x2c\x59\xe9\xb4\x5e\x5c\xd9\x5f\xa6\xac\xd4\x81\xc1\x5f\xf8\x2b\xda\x17\x63\x4a\xa5\xda\x1c\x24\xa3\x5c\x32\x3a\x5a\x57\xe6\x0c\xd5\x62\xd4\x42\xa0\xed\x77\x3d\xd7\xda\x5b\x31\x27\x4e\x03\x9f\x59\x56\x7a\x34\x93\x1e\x3b\xb3\xfc\x28\x97\x66\x7a\x4e\xa7\xc4\x7f\xe0\x55\x81\xf3\x66\x28\x7f\x70\xd6\x99\xe0\x21\x78\xd7\x23\x83\x97\xe0\xb6\xcf\x4c\xa9\x3d\x23\x16\xc5\x8b\x54\xe5\x68\x6e\x05\xd3\x62\x8b\xe4\x61\xcb\xb3\x22\xd6\xc5\x2c\xcc\x54\xe2\x5c\x6f\xd4\x21\x82\xf0\x40\x40\x73\x4e\x25\xa6\xd6\x18\x7c\x0a\x95\xc7\xe7\x74\xe8\xe4\x58\x6a\xbb\x09\x6a\x1b\xb3\xd3\x09\xbf\x51\x6f\x35\xba\xfd\x8a\x9d\x1a\x98\xb9\xb3\xed\x6f\x8f\x65\x46\x03\x29\x19\x6f\x10\xf9\xf4\x81\x90\x20\xeb\x39\xcb\xb7\xcf\x3a\xe1\x68\x2a\x27\x63\x4a\xe5\xf5\xe5\xad\x8f\x98\xbc\x5b\xce\xd9\x7b\x12\xc8\x84\x06\x4e\x66\xa5\x6e\x7a\x99\x5d\x38\x46\x11\xbf\x2f\xea\xa7\x1b\x7c\x92\xba\x31\xca\x76\xed\x0c\xff\x67\x40\xd4\x4a\x3a\xb1\x59\xcc\xef\xd5\xb6\x4e\x75\xda\x3a\xa2\x64\xea\xe6\x68\x48\xac\xa2\xf0\xf6\x6f\x0a\xa1\xf8\xbf\xbb\x74\xbc\x4d\x90\xc6\x60\x84\x84\x52\xcc\x8d\xbf\x52\xf4\xf7\x69\xc1\x3a\x7c\x4e\xdb\x5f\x50\x22\xa0\xa2\xfd\x88\x42\x40\xb0\xb9\xb4\xc8\x20\x6d\x60\x61\x9e\xf5\x8b\xa2\x3a\x4d\xfd\x0b\x8b\xd0\x02\x12\x09\x63\x32\xcb\xc5\xa8\x3c\xc8\x15\xa6\xfd\xd8\x93\xb4\x96\x55\x08\x8f\x4f\x8d\x53\x02\x92\x5c\x9d\x81\x00\x25\x61\x5c\x41\x05\xba\x70\xe7\xf4\x0c\xe4\xf8\xea\x84\xaf\xf2\xb1\xbd\x65\xc6\x5c\xe6\xc8\x41\x92\xac\xa9\xa9\x9b\x2e\xcc\xb0\x7b\xa7\xd6\xeb\xac\x77\x86\xc7\xbf\x7e\x3c\x64\x58\x49\x68\xc1\xfd\x52\x4e\xbd\x67\x6b\x1a\x76\xe0\xe6\x6f\xdc\x7b\x6e\xa6\xd4\x9c\xa2\x7d\x8d\xd7\xee\x1e\x48\x7c\x65\xac\x69\x56\x95\x57\xa9\xa1\xd8\x1c\xc7\x3f\xa1\xcc\x1c\x23\xcd\x28\x4b\x3a\xb4\xb9\x07\x6d\x1d\x60\x11\xef\x26\xe6\x4c\xfe\x78\x5e\x46\xae\x92\x01\x2b\x27\xa5\xdd\x03\x99\xeb\x1e\xc6\xd8\x9c\x5a\xe6\x85\x89\xb2\x94\xc5\x8f\x1a\x1e\x31\x3f\x5e\xeb\x07\x45\x0e\x04\xa6\x28\xa0\xdd\x9d\x1e\xf8\x44\xe0\xa9\xc8\x75\xe4\x89\x16\xf2\x36\xaf\xe1\x54\xc2\x98\xef\xfb\x90\x13\xed\xc1\xa1\x4c\x53\x8e\xbb\x36\x4f\xb1\x61\x6d\xef\xda\x64\xeb\x07\xca\x99\x0e\x79\xc7\x32\xf8\xd0\xfa\x99\x7c\x92\x5e\xd8\x53\x12\xde\x4b\xf0\xa4\xbd\x7d\x2a\x8c\x32\x4c\x2f\xc5\x98\x04\x29\x19\xcf\x00\x68\x08\x7e\xf7\x9b\xc2\xf2\x5c\x31\xed\xc9\x20\x0d\x44\xb9\xcc\x85\x8c\xf7\xe8\x24\xa6\x18\xd5\x31\x93\x47\x2f\xce\x95\x6f\xa9\x80\x30\x03\x5e\x0c\xea\xdb\xfa\x87\xfb\x5f\x7c\x71\x2c\xc1\xad\x0c\x7c\xab\xfc\x60\xfe\xdc\xb7\x07\x06\x2a\x7a\xf0\x7c\x94\xa6\xc6\x27\xec\x75\x1c\x73\x76\x15\x83\x6a\x28\x1f\x71\xe0\xab\x52\xab\x89\x7a\x4c\x3e\xd1\xcd\x36\xff\x8e\xba\x99\xbf\x88\x09\xf8\x1c\x3b\x08\x73\x32\x83\x14\xc5\x8b\x60\xf8\xb1\x85\x57\x8b\x60\xfd\x54\x79\x50\xf7\x67\xa8\x01\x65\x65\x30\x16\x87\xf7\x0c\x11\xed\xf4\x30\x30\xea\x7d\x2f\xc7\x94\xbc\x8d\x3b\x68\x5b\x74\x47\xf9\x44\xbb\x35\xd6\x5e\x45\xbf\xc6\x23\xe3\x68\xf7\xc8\x8d\x3a\x66\x3f\x09\xfb\x05\x75\x33\x7a\x30\xef\xda\x8e\xef\x24\xea\x54\xa8\xa8\x9e\x5e\x54\xcf\x41\x68\x7a\x05\x12\x97\x09\x97\x78\x0a\xe8\x49\x7b\x0f\x81\xdd\x35\x1b\xa6\xe8\xce\xdd\xc0\x8c\x8b\xf8\x27\xe4\x72\xc2\xfc\x19\xa5\x4b\x0a\x80\x9b\x7a\x8e\x6f\x20\x6c\xd6\xa2\x3c\xba\x9e\xd5\x4e\x6c\xb2\x8c\x9d\x10\x66\xa8\xa7\x4d\x7f\x2a\xcc\x7e\xd0\x55\xca\x8f\x87\x57\xf3\xda\x5f\x9f\x04\x3f\x07\x96\x76\x1e\x3b\x28\x41\x80\x19\x85\xa8\xcd\xba\xda\x52\xc3\x5e\xff\x20\x33\xb7\x3d\x36\xd2\x36\x3d\x32\xe6\x6e\xeb\x7e\x7d\x63\xaf\xbd\x15\x07\x90\x4f\x37\x93\x58\x0c\x86\x95\xe0\x64\xba\xac\x01\x4a\x19\xd6\x7c\x8f\xde\x4c\x50\x9c\xde\x9d\x7e\x0f\xcd\x85\xa9\xfa\xf1\x38\x9a\x2b\x51\x44\xec\xf4\xe0\x5c\xaf\xd4\xe6\xd2\xad\x0b\xc3\xad\x53\xc3\x17\x5c\xa7\x3d\xf7\x55\xd9\x76\xcc\x0d\x4d\xe4\x85\x9a\x1e\x63\x22\x61\xfb\xab\x4b\x3b\xcf\x41\xae\x1c\x16\x3d\xd4\xa8\xc4\x9a\xa9\x94\xb9\xd6\x6b\x81\x01\x4a\x84\x4e\x80\x70\x9b\xe8\x4d\x25\x41\x52\x60\xd1\xd9\x88\x3b\xd8\xf9\x28\x13\xfb\xbd\x87\x35\xc3\x10\x57\x9a\xbd\xdb\x3d\xb5\x08\x8b\x86\x59\x20\x9d\x67\x2d\xe4\x5e\x08\x76\x34\x81\xd0\x58\x7f\xae\xd9\x89\xfa\x85\x4a\xd8\x40\xee\xd7\x3d\xf8\x63\xc7\x33\xc5\xea\xfc\xec\x7d\xca\x2a\x29\x12\x08\x75\x92\xd6\xca\xff\x62\x1b\xbc\x54\xb9\x13\x46\x9a\x1b\x27\xd3\x7c\xb9\x4e\x33\x97\xc1\xb9\xe6\x45\xdf\xde\x00\xb2\xce\x39\x89\xbb\xda\xaa\x29\x31\x90\xd0\x21\x12\x47\xdb\x1a\xbd\xf7\x6b\x38\x92\xad\x36\x94\x44\xef\x0a\x7e\x48\xaf\xb8\xbd\x47\x70\xc0\x04\x25\xa8\x46\x7a\x33\xee\x32\xc1\xc4\x4d\x1a\xdf\x4a\xa2\x61\x5a\xde\xd6\x3f\xab\x63\x8d\xe0\x6e\x30\x9e\x29\x3f\x8b\x68\xe1\x04\x4e\x17\x80\xc0\x75\x9e\xcf\x1f\x9a\x05\xb2\x1d\xfe\x0b\x6d\x33\x1f\x48\x8e\x7e\xb2\xc1\x1f\xdb\xca\x31\x72\x44\xfc\x27\xbd\xac\xd6\xd7\x31\xfb\x9e\xe0\xc7\xd5\x7f\x91\x4b\x72\x9d\x74\x9b\x73\x01\x4a\xd4\x4a\x0f\x73\xbe\xa3\xd9\xf6\xb3\xa6\x7f\xbe\xd6\xb8\x55\xd7\x05\xcc\xcf\xcd\xf5\x05\x10\x9e\x32\xb4\xf5\x14\x72\x5e\xa0\x2b\x68\x4e\x7a\x67\x96\xb1\x6c\x30\x27\x5c\x1c\x2f\x65\x91\xdb\x74\x58\xd4\x90\xd3\x76\x9d\x6c\x20\xc9\x6a\xe7\x63\x6d\x7d\x21\x51\xd6\x1d\xcf\xbc\x8e\xe3\x74\x23\xd4\xe6\x7a\x88\xb6\x23\x5d\x16\xdb\xd5\xda\x1f\xa1\x1f\xcf\x95\xd7\xde\x4f\x9c\xd1\xd7\x87\x6a\x45\xe1\x3a\x93\x23\x09\xf7\x36\x81\x6e\x3a\x3c\x91\x4e\xe7\x10\xcd\xd1\x75\xc7\x69\xb1\xa6\x8d\xe1\x18\xc9\x7b\x85\x7a\xde\x18\x0f\xb5\xd7\x31\xca\x9e\xa4\xea\xfe\xe3\xa3\xeb\x55\x56\xc9\xf2\x6c\xfd\x0c\x2b\xd1\x61\xc2\x4e\xf0\xc2\x57\xab\xe4\x8d\xc9\x68\xbb\xcb\x29\x4f\xa7\x32\x79\x6d\x45\x6c\xd9\xa4\xaf\x41\xd6\xd5\x37\x1f\xa4\xa5\xab\x59\x51\x70\xf0\x15\xf6\x06\xb1\x66\x42\xac\x8a\x3c\x38\x8a\x9f\x85\xbb\x3b\x02\xc6\x1f\x05\x8f\xe5\xf4\x96\xf8\x27\x67\x4b\x52\x35\x6e\x99\xf6\xcc\x06\xe6\xbd\x0b\xc1\x54\x40\x09\xae\x6e\xbc\x2a\xb6\x17\x83\x21\x3d\x16\x61\x35\x7f\x89\x9e\xac\xa2\xa1\x83\x88\xb0\x5a\x7e\x43\x57\x97\xd1\x50\x5e\x44\x58\x2d\x58\x66\xa7\x6a\xe8\xfc\x4e\x80\xc5\xb1\x10\xbd\x71\x34\xff\x4f\x12\x06\xc1\x49\x40\x15\xf9\xe8\x53\xd2\x12\xfa\xc0\xfb\x7d\xf2\x58\x68\x2f\xed\x3e\xdc\x2c\x62\x96\xe3\xe7\xf3\x38\x39\xb5\xc9\xf4\xee\x2d\x3a\x47\x7c\x05\x57\x05\x91\x92\x29\xdd\xde\x62\xdf\x1f\xfb\x41\xc7\xea\xf8\x35\x47\x93\xde\x3c\x2a\xd9\x95\xdb\xda\x3a\xc4\x9f\xa3\x06\x21\x14\x5d\x67\x6a\x7e\xab\x4f\x07\xdf\x26\xff\x8b\x55\x87\x4e\xeb\xa2\xb9\x38\xd7\xdb\x20\xae\xf8\x94\xe5\x87\x13\x67\xf1\x0c\x5d\x07\x2d\x57\x1a\x57\x7f\x28\x57\xec\x87\x4e\x49\xbc\x33\xba\xc3\x1a\x4e\xd2\xc6\x0e\x67\x72\xe3\x9e\x33\x7c\xb7\x92\x6d\x0d\xf2\x6d\x8d\xa0\x27\x3d\x5b\x6e\x94\xed\x9e\xac\x4d\x2c\x3f\xe6\x8c\x24\xb0\x08\xd1\x48\x44\xae\x93\x44\xb2\x2d\xae\xdb\x4f\x18\x3f\x35\x75\x08\x58\xad\x5d\xcb\x93\xec\x14\xd3\x33\xfa\x12\x1f\x37\xf9\x3e\xab\x17\x2a\xe6\x87\x77\x80\x01\x67\x3f\x9a\xa8\x95\x2a\x21\x92\xe9\xf8\xfa\x4a\x79\x54\xa2\x40\x0b\x55\xb3\x67\xce\xd3\x7a\xc5\xd1\x49\xf1\xba\x95\xcf\x5f\x17\xa4\x06\x85\x37\xd2\x26\xf2\x5c\x74\x8c\x10\x7f\xf0\x48\x2e\x1f\x59\xf1\x5a\xe6\x28\x34\x59\x27\xeb\x64\xc2\x0c\xd7\x54\x87\x0d\x91\x46\xb8\xd2\x73\xbc\x2d\xec\x71\x79\xba\x61\xad\x12\x37\x1b\xd3\x0d\x5b\x8d\x84\x36\x37\x4b\x26\xc3\x4a\x88\x2f\x24\xe0\xb1\x63\x2f\xc3\xd4\x78\x8c\x10\xf7\xbd\x5b\x17\xc4\x01\xa1\x80\xe1\xb6\x8f\x0e\x3b\x7f\xf7\xc4\xaa\xa2\x7a\x31\x1a\x46\x76\xf8\xa7\x5d\x47\x84\x27\xda\x8f\xea\x51\xaf\x42\x53\x4f\xc2\x03\xfb\x89\x0e\x95\xe5\xbb\xed\xe9\xfd\xd0\x86\x24\xd0\x01\x13\x79\x99\x28\xde\x13\xf0\x54\x53\x93\xfc\x2d\x18\x1e\x3b\x96\x68\xc5\xb1\x7a\xbe\xcc\x11\x54\x9a\xc8\x25\x44\xe1\xa3\xd7\x74\x73\x04\xa0\x88\x22\x89\x89\x3d\xea\x67\x77\x55\x12\x81\x75\x44\x3f\x62\xa1\x18\x24\x1a\x1e\x5a\x16\x72\xfc\x39\xe8\xf7\x47\xbc\xce\xeb\x3c\x99\x8c\x26\xfc\xc3\x91\x61\x3c\xc5\x76\x35\x9f\x93\x30\xd1\x5d\x19\x66\x25\x53\x17\xf2\x89\x08\x9e\x61\x1f\x7f\x6e\x2a\xf1\xd7\xeb\xd8\x8a\x9d\x9d\x1d\xb3\x6f\xd0\xbc\x62\xda\xce\xfd\x82\x38\x70\x4a\x39\x9f\xc1\x82\xd8\xe2\xa0\x9a\xc2\x27\x98\x2d\x73\xce\x40\x86\x72\xd0\xf0\xeb\x84\x85\xbc\xa9\x54\xb0\xba\xa5\x41\x58\x81\xa4\x06\x49\x0c\xd1\x5c\x38\x6d\x5d\x7b\x83\x4f\x66\x0b\x95\x60\x23\x1c\xca\xd6\x13\x58\xb3\x54\x5e\x66\xba\x19\x35\xf7\xd4\x27\x27\x1b\xd9\xec\xc4\xec\xd0\x18\x16\xf8\x57\xca\x32\xcf\xb7\x20\x76\xc5\x73\x45\xe2\x5c\x7f\x9e\xed\x88\x51\x18\x73\xb5\x9e\x28\x99\xcb\x90\x40\x41\xe8\x14\x6a\x52\x14\x1e\x2a\x5a\xe8\xfc\x19\xb0\xe5\x61\x91\x88\xcc\xb3\xe8\x1c\x53\x6c\x01\xd1\x96\xa2\x52\x8c\x5b\xcb\xdc\x9c\x64\xbc\x2a\x29\x9d\xc9\xa9\xbb\x9c\xc0\x0c\x50\xe4\xc2\xa2\xc4\xbd\x48\x74\x18\xa3\x6f\xfd\xbc\x35\x9c\xf4\x38\x89\xc9\x2e\x84\xc2\x5d\xc0\x68\xcb\x5c\x73\xe0\xd0\x86\xd8\x8b\xe1\x0b\xda\x03\x10\xe6\xd7\x3f\x18\xf5\x56\x73\xf1\xd8\xe8\x68\x2d\x55\x83\x27\x89\x23\x45\xf6\x67\xf2\x89\xba\x6d\x5d\xf4\xc4\x32\x4e\x6a\x57\x6c\x19\xf6\x72\x6d\xa9\x5a\xcd\xe3\x12\x97\xa3\xc3\xc3\x23\x32\xe7\xf6\x42\x45\x18\x37\x35\x5e\x5e\x87\xa4\x03\x61\x34\x07\xda\x04\xc5\x77\x55\xa9\xed\x4b\xcb\x27\x67\x3f\x67\x65\x93\x7f\xc8\xdf\x13\x32\x31\x33\xce\xe6\xe7\xb8\xcc\xc7\xb8\x9b\x6f\x60\xd4\xd7\x6c\x4b\x7a\x50\x36\x5e\x97\x20\x88\x24\xf7\x24\x39\x4e\x8a\x90\x14\x8b\x57\x76\x67\x32\xf9\x48\x02\xcf\x8f\x93\xaf\xe6\x43\x52\xef\xdf\x9c\x61\x37\x46\x0e\xa1\x2f\xe3\xb9\xf1\x33\xf1\x5c\x38\xad\xfb\xad\x46\x84\x5c\xb9\x2f\x7a\x0c\x50\xcc\xef\x2f\x3f\xfd\xbd\xec\x1e\xe8\x07\xee\xa7\xe9\xf5\x7b\x78\xd6\xe3\xd3\xbc\xf7\x5d\xaf\x0f\xb3\xbe\xbb\x00\xf9\x89\xeb\x17\x2f\xb4\x17\x5e\x39\xfa\x40\x37\x63\xa3\x7f\xde\xa5\x0e\x1a\x47\x1b\x3c\x48\x17\x6f\x7e\x97\x46\x8a\xf2\x21\xcc\x36\x94\x3a\x86\x6a\x99\x2a\x9a\xaf\x4e\x62\xda\x6c\x4e\x79\xba\x89\xd7\xc3\x43\xc4\x63\x47\xa1\xdc\x64\x32\x5b\x64\x37\x86\x57\x34\x5d\xd3\x0a\xd1\x35\xc0\x34\x69\xcd\x32\xa9\xa6\xc1\x2a\x1a\x80\xdd\x68\xd1\xef\xfb\x70\xb9\x1c\x2a\x82\x1d\x1e\x39\xdb\xce\xd6\xf9\x6d\x59\x6d\xd8\xb7\x8a\x1e\xb7\x6b\x68\x22\x12\xc9\x8b\xc5\x8a\xa3\x57\xde\x0b\x21\xf9\xa8\x41\xf0\x8a\x61\x6e\xfa\xd9\x4a\xae\x7c\xeb\x56\xd7\x4e\xb8\x63\x7c\x87\x75\xaa\xdb\x1f\xef\x6a\x2b\xad\x27\xfa\x1d\xd3\xd0\x19\x37\xb4\x18\x15\x8e\xc8\x14\x0b\xb8\xe4\xd2\x28\x27\x74\x63\x6e\x56\x84\xe3\x64\x13\xaa\x1b\x55\x63\x9e\x0c\x8c\xea\xf7\x29\x90\x49\xe2\x95\xb5\xc0\xe3\x1b\x38\x28\x29\xf5\x4b\xdf\x0f\x19\xce\x96\x39\xdb\x55\x27\xd7\x1c\x18\xb4\x8f\xd5\xba\xc1\x1a\x6a\x84\xe6\x3f\x56\xd7\xa4\x40\x42\x92\x1d\x4f\xcf\x45\xe0\x10\x47\x0d\x19\x2c\xe0\x63\x43\xa4\x22\x51\x5b\x62\xb8\x24\xdf\xf5\x15\x39\x19\x74\x64\xd2\x86\x89\x3d\x94\xe4\x58\xa6\x20\xe0\x64\x4c\x83\x90\xea\x17\x4d\xff\xe5\xe9\xcd\x8b\x08\xb2\x82\x68\xdd\xe9\xb3\x7e\x88\xc9\xf8\xca\x6c\xa3\x63\x8e\x2e\x14\xe6\xcf\xd0\xb6\x9c\x74\xe8\x71\xd5\x0c\x3f\x59\x27\x7b\x12\x27\xde\x88\xea\x41\xe4\x63\x53\xf1\xfd\x56\x81\x4d\x18\xf6\x25\xa9\x6b\x44\x98\x0d\xac\x7b\xc6\xa6\xed\x18\x58\xe4\x3d\xde\x3a\xeb\xc6\x2a\x7c\xa4\xcd\xbc\x65\x22\xee\xee\xd1\xda\xe6\xe5\x7e\xc0\xe4\x4f\x76\x09\x3b\xaf\x47\x5f\x52\x1a\xcf\x9e\xfd\xf4\x5c\xbc\xd4\xdc\x47\x91\x24\x34\x3c\x14\xab\x89\x69\x65\xc5\x66\x33\x7f\xbd\xd2\xc6\x50\x68\xb4\x48\xb6\xfb\x62\x30\xd2\xe8\x36\xc4\x8e\x55\xba\xbe\x92\x18\xb7\x73\xfb\xc1\xb2\xb4\x4c\xd3\xa8\x9f\x1a\x97\xa8\x51\x1e\xf3\x7c\x5f\x50\xe6\xd1\xca\xe7\xdc\x33\xc5\x30\x9e\x7f\x99\xb9\xcb\xf6\x1b\x44\x1e\xad\xe6\xe2\x43\xbe\xd3\x04\x48\xef\xa1\xa1\x1c\xa2\xe9\xc6\x2c\x7f\x41\x31\x5e\x27\xdf\x4d\x34\x8b\x92\x1b\x8b\xe8\xe4\x02\xdb\x5d\x25\xed\x45\x4a\x35\x33\xce\xe8\x95\x82\x0d\x2b\xcd\xaa\x42\x50\x1f\xc9\x5e\x24\x52\xba\xc6\x52\x0a\x44\x42\x2b\xc9\x4d\x2d\xed\xb2\x09\xb1\x73\x02\xda\xe0\x62\x8c\x52\x0c\x88\x56\x46\x65\x50\x05\x9f\x3b\x37\x8b\xba\x82\xae\x49\xf9\x13\xab\x6f\x97\xdb\x6d\xb5\xc2\x5e\xac\xd4\x4d\xa5\x8a\xfd\x8a\x6b\xdf\x0c\xc5\x2b\x2b\x5f\x9b\x95\xa2\xa0\xc0\x5b\x39\x4b\x9e\x92\x11\xc6\x12\xd8\x57\xa4\x83\x52\xba\x03\x76\x0b\x10\x7f\xdb\xa7\xad\x17\x14\x3f\x66\xc8\x71\x32\xca\x05\x73\xaa\xe1\x9e\x7d\xbf\x58\x04\xb9\x40\x79\x9a\x66\xab\xb3\xaa\xba\xc2\xc9\xda\x16\xc5\x48\xca\x2f\x3d\xf7\x98\x9b\x1b\xfb\xca\xd6\xaf\x8c\x41\x7e\x20\xfe\xac\x30\x06\xd5\xcc\x9c\x08\xf5\x19\x78\x72\x61\xa1\x20\x47\x44\xbf\x76\xab\x6c\xbf\x00\x51\xac\xae\xe9\x5a\x5c\x5c\x91\x44\x2c\x68\x95\x69\xbf\x4a\xe2\x14\x19\x5d\x26\x28\x41\x2f\x8d\x22\x46\x62\xdc\x17\x13\x80\x61\xd1\xc6\x9a\xbe\x08\x0d\x0c\x88\xe9\x6d\x32\xa3\x6c\x5d\x82\xe5\x89\x78\x24\xec\xfb\x92\xe8\x45\x35\x78\xcd\xc3\x90\x31\x78\xb5\x93\x7b\x99\x90\xd7\x05\x01\xb9\xe1\x41\x85\x31\x3e\x5e\x32\x9f\xe0\xe6\x5f\x96\xc6\xc2\x42\x65\x9a\x3b\x62\x96\xa2\x7e\xf3\xd6\x83\x29\xc7\xce\x8c\x32\xb3\x6a\x80\x8b\xd0\x20\x0e\x95\x72\xf1\x38\x5d\x27\x87\x37\xda\xf3\xb0\x0d\xf5\x8b\x89\xc9\x20\x62\x8c\x43\xdf\x68\xc7\xfa\x54\xe6\xc5\x64\x97\x87\xee\x98\xb5\x0c\xfd\x29\x04\xa6\x2b\x0b\x92\x89\xc5\x07\x6d\x44\x29\xb2\xf5\xd5\x2e\x35\x87\x31\xd1\x2d\x14\x00\xae\xfc\x1b\xce\x7c\x59\x79\xf5\xf1\x92\xe0\x2a\x12\x01\xb1\xba\x6f\x8d\xda\xa4\x1c\xf2\x4c\x13\x20\xa4\x06\xdf\xf2\x34\x41\xe5\xa5\xb9\x3d\x02\x0a\xc4\xf1\xf6\x54\x83\x98\xb8\x40\x7c\xcc\x58\x24\xa6\x15\x69\x1a\x6e\x2e\x4b\xdc\x49\x7c\xee\x52\x84\x02\xa0\xf7\x40\xdf\x50\x82\x86\xfe\xe6\x40\x85\x91\xdc\x50\x8f\xe3\xbd\x1c\x2a\xb1\x96\x1b\x8a\x61\xb2\x97\xc3\xf5\x04\xb6\x6b\x40\x0c\xce\xdb\x9f\x8c\x0f\x95\x7f\xaf\xa3\x94\x97\xed\x3d\x49\x9a\x84\x09\xe0\x3d\x9b\x6c\x17\x9b\xc1\x01\xbb\x8e\x5b\xbc\xa9\xbc\xd7\x92\x22\xc4\x68\xec\x58\x30\x8f\x51\xd2\x9c\x08\x66\x01\xa7\xfb\xcb\x92\xdc\xe2\xed\x8e\x96\xf7\x63\xdc\x1e\x3c\x1d\x23\x39\x60\x7c\x63\x4f\x7d\x24\x6f\x01\x3e\x65\xa9\x58\x3c\x8c\x60\x2c\xfa\x6f\xbe\x90\x11\xa9\x5f\xb1\xe8\x4b\x89\x33\x0b\xe7\x0c\x8c\x8d\x8e\x83\x15\x70\x96\x7b\x59\x12\xb1\x05\x87\x95\xe1\x1e\x41\x6e\x5b\xed\x19\x39\xab\x4d\xdb\x08\x0d\xa9\x54\x28\x21\x22\xbe\xa8\x06\x3f\x5a\xb0\x5d\x03\x83\x69\x05\x45\xc4\x6d\xb2\x0b\xc4\x9e\xc2\x3e\xd5\x27\x96\x86\x99\xe5\x7b\x47\xc8\x74\x9d\x1a\xaf\x20\xaa\xd7\x2a\x11\x7e\xa6\xfc\xeb\x9a\x79\xb9\x95\xeb\x60\x89\x27\xab\x41\xfb\x3f\xd9\x98\x23\x01\xfc\xd4\x29\x02\xb7\x10\x6f\xc6\x28\x24\xe2\xf5\xe3\xc8\x89\xdb\x95\x4c\x9f\x8d\xd4\xfc\x76\x59\x4f\x31\x6f\x1d\xbc\x9c\xf3\x5f\x3c\xec\x2f\xc7\x90\xb8\x01\x4d\xca\x28\xb9\x80\xb4\x14\x57\x7f\xe8\xaf\xe8\x97\x91\x51\x91\x27\x5e\xea\x1b\x23\x30\xfa\x4d\x7c\x97\x33\x7d\x78\x37\x74\x91\xc9\x3c\x88\xce\x61\xfe\xd6\x40\xbe\xcc\xbb\x00\xcb\x48\x9d\x6c\x8f\x31\xc7\x3e\x81\xc0\x1e\x9f\x26\x20\x2e\x13\xd4\x6d\xf3\x76\xa2\x9a\x21\x2a\xe0\xf4\x29\x24\xf3\x7a\x9f\xdc\x6d\x72\xc7\xd8\x74\xbd\x85\xb4\x15\x28\x88\x3a\x1e\xb0\xb7\x83\x47\x88\x1c\x47\x87\x62\x65\x56\xa6\x77\xa2\x69\x24\x43\xbe\x4f\x31\xf4\xf8\x10\x20\x90\xd0\xdb\x63\xe7\x5a\xdc\x5a\xec\x3c\x47\x63\x3c\x7a\xac\xfe\x40\xb1\x3a\x03\xab\x4a\x2d\xc0\xd5\xc4\xdf\x5f\x60\xe8\xa9\x03\x38\x80\xa1\x99\x7e\x0e\x80\xda\x86\x88\x0c\xe4\x4d\x16\x8a\x09\xa7\xa9\x03\xe8\x29\x0d\x75\x45\x8d\xb4\xb3\x91\x02\x73\x59\x31\xf2\x8d\x8c\x42\xb5\xa3\x37\x16\xd7\x34\x77\xdf\x30\xeb\x47\x97\xd3\x35\x89\xc1\x7a\x8d\xc2\x05\x41\x30\x1f\xef\x7c\xd0\xa0\x96\x9f\x5b\xa7\xe4\x40\x9c\xc4\x56\xf7\xcf\xdc\x9f\xec\xfd\x9f\x51\xcd\x16\x71\x5e\x40\x57\x01\x9c\x72\x2d\x8e\xfd\xd2\x55\x8c\x9e\x4f\xed\xb7\x03\xd9\xfe\xc5\x24\x39\x27\xe7\xc8\x49\x42\x6a\x66\x60\x35\x0d\x9b\x22\x14\xd1\xa6\x0e\x59\x78\xc8\xf8\x5a\xef\xf4\x20\x81\x55\xee\x4f\x2f\x26\x38\x33\xdf\xdc\x2c\xc8\x38\xce\x0e\x6b\xac\x32\xe2\xfa\x1e\x26\xa7\xbe\x20\x27\x99\x3f\x9a\x65\x45\x76\x87\x24\xce\x19\xd5\x4c\x60\x8f\x42\x10\x89\x25\xb6\x3d\xb3\x54\x87\xbd\x66\x74\x46\x35\xe5\xaf\xbe\x38\x91\x2e\xc5\xcf\x1b\xbf\x3c\x31\x3d\x3e\x8e\x30\xcb\x47\xc6\x20\x08\x37\x02\x01\x7a\x40\x4a\x79\x96\xaf\x7e\xc2\xe5\x70\x29\x67\x1f\xd4\x2c\x67\xed\xd9\x59\x1b\x4c\x2e\x24\xb9\x2c\x1f\xab\x05\xf7\x20\x97\xc6\x2d\xde\x3c\xa0\x7f\x6b\x17\xce\xf9\xd2\xf9\x7b\xce\x7f\x79\xfc\x63\x2a\x30\xae\x32\xc6\x2f\x71\x31\xa7\xb5\xce\xe1\xf2\xbb\xc1\xab\xa2\x93\x12\xbf\x67\xc2\x0f\xeb\xba\x16\x81\x83\xe0\xe4\x4b\x16\xbe\x95\xf1\x4d\x26\xc0\x52\x3c\xe8\x0e\xe5\xc7\x37\x78\x43\xe6\x9e\x79\x5b\x4d\xf4\x96\xca\x9b\x0d\x23\xcd\xba\xf9\x00\x8e\xa3\xe7\x44\x18\x79\x61\xb9\xfe\xa9\x33\x5c\xae\xa7\x77\x66\x9e\x77\x72\xc8\x11\x46\x3c\x47\x9a\x57\x3e\xd9\xc4\xb8\xbf\xb7\x4d\x13\xb3\x5d\x0b\x5c\xb3\xa8\x4e\xf8\xd8\x1e\xb0\x73\xb1\x57\xdd\x8d\x64\x9d\x3c\xd3\xa1\xfb\xd2\x00\x83\x57\xe5\x00\xbc\x9d\x08\xaa\x30\x36\x34\xdf\xfe\x74\x07\xd5\xc8\xb4\xef\xd0\x76\xf0\xc8\xbb\x30\x3e\xd4\xaf\x0c\xcc\x04\x88\xef\xd0\x3b\x20\x04\x08\xbd\x93\x29\x66\xaf\x23\xaf\x2a\x09\xa2\x32\x3c\x02\xfb\x0e\x68\xfd\xcd\x20\xf7\x1f\x7e\x27\x42\x18\xc2\x77\xac\x0b\x92\x0f\xba\x6d\xa2\x48\x2f\xe2\x19\x9c\xbd\xd3\xec\xb7\x03\x90\xaf\xe1\x77\x71\x4d\xb0\x1d\x0f\xf0\x14\xc9\xd8\xf6\x6f\xee\x67\x0c\x13\x10\x1b\x43\x29\xcc\xb5\x36\x37\xdb\x23\xe5\x88\x42\xc6\x53\x90\xf8\x3e\x5f\x2d\x15\x5b\xcd\xc4\x4c\x7c\x52\xbe\x52\xcf\xf1\x90\xcb\xd1\x6c\x14\x51\x83\x7d\xee\x1c\x5c\x54\xbe\x48\x29\x0a\x9f\x39\x46\x61\xb1\xbb\x22\x5e\xe0\x62\xa6\x41\x3a\x91\xdd\xb3\x51\x34\xb1\xbb\x27\x20\xca\x3d\xbd\x73\x4f\x09\x0f\xa1\x03\x10\xc3\xf1\x27\x83\x1b\x19\x40\x02\x2e\x9a\xe8\xd9\x59\x26\x38\x7a\x0a\x8a\x2c\x69\x37\x15\x1a\xb2\xb5\xa3\xea\xfd\x33\x79\xd8\xc1\x3b\x8d\x81\xeb\x55\x7d\x70\x2f\xdf\x49\x9f\x0c\x01\xeb\xff\x0b\x78\x56\xf9\x78\xd6\xde\x69\x6c\xf8\x46\xbd\x5a\xc5\xea\x66\x9b\xff\xcb\xf9\x68\x58\xda\x63\x87\x98\xd4\xec\x1e\x2e\x62\x0c\xe8\xea\x42\x2a\xac\x7c\x26\xbf\xe2\x8f\x7c\x67\xab\xb7\x65\x2f\xca\x6b\xc8\x75\xbb\xfe\x76\x5c\x5f\x48\x87\xb6\x9e\x9e\x62\x82\xa0\x0c\x07\xfa\x64\xd9\x70\xe1\x47\x9b\xbe\x2f\xeb\x41\x9a\x7d\xf3\xc0\x08\xe3\xac\xac\x27\xec\xf7\x78\xc8\x9c\xae\xd5\x8b\xe1\xb9\x3b\xd6\x45\xf0\xdd\xd8\xe9\x0a\xcb\x21\x57\xb8\xdc\xdf\xe8\x04\x07\x80\x6a\xcc\xcc\x7b\xaa\xed\x9c\xd9\x5a\x49\x24\xdf\x7a\xbe\x7b\x4f\xde\x14\x70\xaf\x1e\x3b\xe7\x78\xa6\x12\xb0\x3d\xd7\xba\x98\x71\xde\x7b\xfd\xd3\xf5\xa0\xf5\xc9\x35\xfa\x6c\x32\xb8\x33\x4f\x8e\x0c\xe5\x3d\x01\x19\xf9\x40\xed\x13\x6a\x86\x6a\x23\x0c\x13\xf8\x47\x59\xbf\x54\x93\x6e\xa1\x3e\xf9\x26\xde\xac\x0e\xaf\xcd\x23\x83\xcf\x43\x42\xcf\xa9\xff\x7a\x4c\x1e\x75\x79\xb5\xf9\xdd\x6c\x7f\x53\x1f\x02\xef\x61\xbd\x61\x97\xa5\xee\x30\xc7\x4c\x54\x76\x82\xc0\x33\x96\xe2\x2c\x8c\x32\x0a\xe5\x73\x64\x54\x01\x72\xe7\x55\x7d\x45\xdd\x03\x95\x9c\xdd\x6c\x00\x31\xe0\xb7\x7a\xa2\x60\x58\x0f\x61\x2a\x68\x7b\x1f\x9a\x71\x1a\x69\x75\x55\xe3\x5c\xde\x1a\x16\xaa\x22\x4c\xfe\xba\xd0\xb4\x40\xf9\x54\x95\xd6\x58\xd9\x52\x55\x87\xbe\x46\x03\x67\xf6\x5d\x73\xe5\xc4\xdd\x17\x45\xc1\xce\x14\xb3\x35\xab\x56\x30\xdf\xcb\x58\xac\xd2\x16\x2f\xc6\xef\x75\xeb\xb5\xc6\x6b\xba\x7a\x85\x9d\x42\xf5\xbc\x27\x07\xd9\x83\xc0\x4a\xba\x78\x19\x1b\xa2\xcc\xe7\xdf\x1c\x09\xe6\x49\x7a\xf3\xee\x01\x80\xd2\x37\xfa\x8a\x91\xf5\x8d\x92\xd2\x59\xfe\x86\xce\x95\xed\x31\x74\xb4\xbf\xb6\x79\xaf\x88\xb7\xce\x9a\x5f\x7d\x81\xa1\x7c\xb4\x78\x6d\xe3\x5b\x04\xc0\x78\x02\x4a\x7d\x7a\xfc\x6c\xf3\xc8\xfe\x44\x9b\xd7\x56\x97\xfb\x86\x72\xf3\xd7\x63\x73\x64\x73\x71\xba\x76\xe5\x5b\x91\xe3\xb7\x26\x11\x8e\x8e\x60\x9f\x6f\x55\xb6\x7f\xb8\xbe\x6c\xeb\x3f\x07\x3c\x1c\x6a\xdb\x43\xf4\x21\x09\x4f\x65\x12\x71\x42\x0e\x93\xb6\x3d\x99\x4a\xdc\x5c\x9c\x1e\x60\x9e\xc4\x4c\x72\xb1\xe5\xad\x88\xe1\x64\x31\x4d\x68\x1d\xf7\x6f\xab\x77\xd1\xd1\xb9\x4b\x69\x06\xea\xc4\xa3\xea\x64\x8a\x95\x2a\x3b\x5e\x18\xd2\x8b\xcb\x18\xbf\x24\xb5\xb5\x78\x48\xb1\xef\x18\xc7\x55\xb8\xb3\x55\x60\x5d\x47\xb5\x6b\x43\xad\xea\x86\x82\xe6\xec\xf7\xb3\x03\x06\x9a\xb1\xfd\x4f\x98\xed\x51\x53\x85\x43\x95\xe2\x77\x93\x6f\x8f\x16\x0b\x67\x7e\xe1\x1f\x79\x47\x38\x50\xef\x99\x7b\x7b\x48\xae\xbf\x2e\x24\xf5\xfb\x17\xdf\x15\x36\xc5\x21\x16\x11\x7d\x08\x1c\x64\x34\x2c\x71\x1f\x3e\xe4\x60\x16\x80\x04\x6c\x6c\xb5\x55\x4d\x42\x52\x93\xb9\x50\x65\x02\x86\x32\xe6\x41\x8d\x31\x52\x84\xb9\xe2\x48\xfc\x71\xbc\xe1\x6c\x08\x42\x90\x51\xbf\xa6\xa6\x24\xd2\x57\xa3\x25\x89\xc7\x62\xe2\xb7\x68\x42\x89\xb2\xf9\x0e\xc3\x9a\x56\x1c\x40\x28\x3f\xfc\x1d\x1d\xb6\x7f\x46\xf7\x08\x9e\x41\x98\x51\x7d\x3c\x47\x44\xf4\x32\x1c\xc2\x1a\x3a\xac\x0f\x65\x40\x90\x66\xd4\x24\x22\x03\x8d\x17\x38\xe2\xbd\xf7\xc8\x8d\x46\xfa\x97\xa6\x99\x66\xf3\xeb\xb7\x35\x60\xbc\xea\x7b\xa9\x15\xc0\x82\x0c\x4b\xf4\xf5\x75\x76\xdc\x5c\xa6\xcf\x58\xe7\xb5\x2b\x98\x9f\xf2\x0c\x76\x08\x6a\x13\x85\xe0\xb6\x02\x5e\x34\x3d\xde\xcf\x30\x33\x4f\x93\x83\x28\xe0\xe9\xfa\xbe\xda\x30\x2d\x49\x87\x8d\x66\x4b\xd1\xf5\x52\xa0\x11\xc8\xc7\x6f\xb0\x9b\x82\x4f\xa8\xbc\xcd\x69\xe3\x32\x13\x06\xc2\x29\xd8\x86\x07\x14\xb3\x47\xf2\xc7\x9e\x0a\x58\x3c\xd1\x12\xc7\x98\x65\xc7\x6c\xe7\xea\x1a\x6d\xa3\xc5\x53\xcd\x5c\xa0\xe7\xf6\x87\x50\xcc\xdc\x21\x21\xfa\x6f\x78\xee\x24\xc3\x2b\x0c\x17\x89\x08\x83\x04\x3e\x64\x6c\xed\xc5\xe0\x2b\x8c\xe7\x9d\x62\x8a\x9b\x10\xe1\x4e\x49\x4d\x03\x16\xc3\x64\x54\x22\x2b\x18\x0e\x82\xc6\x8c\xb9\xb0\x18\x6f\x30\xed\xc5\x60\xc4\x18\x38\x39\xc1\xfe\xd7\xcf\xfc\x5c\x7c\x35\x20\xde\xa3\xf4\xbb\xd8\xa6\x28\xc7\xfa\x93\xa0\x8b\x92\xd8\x79\x0b\xf1\x6a\xa5\x71\x94\x19\x6d\x28\xb2\xec\xf7\x80\xe6\xd3\x3c\x5c\x47\x91\x09\x15\xde\x32\xd7\x07\xe9\xf1\x64\x54\x9e\x18\xf3\x50\x9c\x97\x30\xaf\xf4\xe8\x24\x88\xa7\xb6\x6e\xcf\xe5\x1f\x40\xa1\x0a\x02\xc4\x92\x21\x01\xd7\x58\x0c\xbf\xe3\xba\x95\x9f\x96\x96\x1c\x8d\xd3\x4e\xe9\x83\xc6\x19\x6b\xd5\xb3\xad\x78\x69\x6b\x69\x90\xf6\xde\xf3\x9c\x7f\xdd\x9d\xcd\xa8\xd1\x9b\x22\x30\x3f\xce\x5e\x32\xe5\xb6\x58\x46\xe7\x8d\x2c\x7b\x73\xc0\xe6\x72\x5f\x65\x10\x40\x56\xae\xfa\x15\x92\xc1\xf1\x92\x79\x9f\x67\x88\x92\x14\xfe\x1a\x13\x0c\xce\x4e\xca\x5f\xe7\x69\xf4\x08\x8e\x97\xfb\x77\x02\x71\xbd\x3b\x58\xda\xc8\x1c\x45\x44\x83\xa0\x5c\xa1\xad\x62\x31\x1a\x1e\x47\xa3\x92\x28\xb6\xa4\x10\x8d\x8a\x52\x73\xd7\xc0\x92\xaa\x54\xc5\xcb\xdd\xf4\x3c\x1b\x5c\xda\x89\x51\xfe\xf9\x91\x02\x32\x74\x54\x09\x83\x3b\x97\x9f\x0b\x60\x92\xd5\xdc\x5b\x1b\x07\xd9\x2c\xb0\xea\x41\x6b\xbe\xa3\x4b\xa3\xea\x62\x44\x6c\x23\xe3\x62\x38\xcd\x2c\x5d\x99\x69\x5c\xac\x9b\xb1\xfe\x7c\x6b\x43\x89\xd9\xe5\xd0\x78\x4c\x71\x7e\x72\x16\xdd\x0a\xd4\xce\x86\x3e\x7c\x8b\x7a\xcc\x8c\xbb\x0f\x42\x8a\xdc\xc3\xc9\x61\x9f\xe8\x62\xc4\xf7\x3f\x61\xdf\x10\xf0\x80\x87\x61\x0e\x67\x33\xbc\x30\xa0\xe8\x0e\xd2\xe3\x28\x09\x6a\xea\xdc\x22\x46\xb5\x41\x2a\xed\x7b\xdf\xa3\xcb\x64\xb4\x5d\xc5\x99\x2b\x58\x48\xe6\x94\x7a\xc0\x73\xff\xd9\xd6\xf7\x0b\xe5\x0b\x5a\xa9\x02\x53\xe9\xe2\x4c\x1d\x0f\xe0\x0e\x75\x3a\xa7\x99\xcb\x85\xe1\x29\xd2\xd2\xb2\xc0\xdd\x6e\xb8\x4a\x1c\x8e\x45\x42\x0f\x6e\x53\xbe\xf6\xec\x0f\xb4\x3e\xc4\xa6\xf1\x02\x13\x93\xfa\xc2\xcd\x09\x6d\xfd\x68\x2c\xf2\x52\xcd\xfb\xe7\xdd\xd2\x54\x8a\x7e\x7d\xe9\x39\x2c\x09\x90\x2f\x82\xa5\xa7\xbe\xe2\xfb\xb5\xaf\x2e\xee\x84\x02\xe1\xfd\xaa\x48\x80\x7e\x85\x21\xc5\xe0\x85\xcb\x60\xd2\xd7\x02\x45\xf9\xbb\x0f\xbc\x18\x78\x19\xfb\x14\xf8\x14\x4f\xf9\xdb\x96\x20\xdb\x1b\x6d\x04\x77\x01\x49\xb0\x6c\xea\xa7\xb4\xd1\x91\x55\x7a\x9d\x7a\xf6\x6b\x2a\xbd\x2a\x7c\x6d\xe5\x99\xca\x02\x2a\x0b\x2e\x3f\xfd\xf5\xf7\x7e\xe5\xfc\xbe\x0d\xc8\xe5\x63\xeb\xf8\xb9\xc0\x02\x68\x70\xd7\xd3\x3f\x65\xcd\x59\x97\x5d\xb9\x2a\x48\x7c\xcc\x9b\x31\xcf\xf4\x91\xf9\xc8\x65\x3f\xa9\x56\x3b\x09\xd8\xa7\x09\x0e\x32\x11\x9a\x50\x51\x56\x88\xbc\x92\x6c\x57\x36\x6d\x1c\x35\x4f\x11\xa4\x33\x1b\x27\x03\xdb\x5e\xfd\xa2\xab\x1c\x78\x13\x12\xe0\x2c\xa8\xd2\xb9\x1b\xb3\x61\x29\x54\xec\x99\xf3\xa5\x65\x55\xfb\xae\x73\x31\x30\xab\xdb\xd9\x16\x84\x66\x74\x39\x17\x13\x80\xfc\x80\xc3\xfe\x1c\xfc\x54\xbb\xae\x7b\xd2\x21\xb0\x8a\x4c\xc0\xa7\xd1\x40\xef\x4f\x4c\x8e\x97\xd5\x74\xc7\xbd\x21\xc9\x0e\xfa\xb9\x5e\xe3\x4c\x21\x74\xad\xe6\x69\x20\xf6\xa4\x96\x5e\xb8\xf9\x3a\x43\x12\xf8\xcc\x52\xee\xd6\x09\x82\xbd\x99\xf0\x4b\x9c\xfd\x0d\x12\x3f\x32\x54\xc9\xea\x59\x78\xff\xdb\xa9\x46\x71\x23\x1d\x30\x85\x8a\xb0\x0a\x3c\xf2\xbd\x16\xaf\x68\xd1\xad\xce\xfa\x9a\xf5\xc3\x29\x99\x06\xf5\xae\x1b\x6b\x65\x73\xb9\x61\xbd\x54\x93\x6c\xd5\xf1\x0d\x78\x83\xb5\xaa\xc9\xff\x01\x39\xb4\xf1\xbd\xd2\x64\x8f\xc9\x25\x2b\xfe\xb3\x62\x38\x58\xfd\x5a\xca\x20\xeb\xc8\x3b\x67\x9d\x03\x76\x38\x0c\x6e\x17\x37\x93\xcf\xbb\xd4\xd8\x61\x93\x80\x26\xbd\x5e\x1c\x8a\xc1\xd4\x6f\x9c\x62\x7b\x77\x09\x4f\x4f\xe1\x03\xfb\x15\x37\xbf\x6a\xcf\xaf\xb7\xd8\xb2\xce\x9e\xc0\x05\xc3\x2c\xe9\x7e\xa2\xf3\x57\x59\x16\xbe\xf0\xd8\xbb\x71\xc3\x8e\x7a\x9d\x1b\xb0\x8e\xb3\x56\x6f\xce\xbb\xe9\x67\xc6\x27\x35\xc2\x8d\xf7\x28\xab\xea\x22\xd5\xa5\x0c\xc3\x0a\xfe\x41\x96\xd3\x83\x06\x5b\x9d\x3a\x94\xd3\x50\xbf\xf1\x7c\xb9\xd3\x92\x2b\x3e\xa4\xf2\x23\xd1\x06\x32\x3f\x24\x4d\x6e\x64\xbd\x75\xea\xc0\xa8\x65\xd1\x53\x9f\x4a\x25\x9f\x8c\xad\xfe\x12\x65\xd8\x9e\x7e\x9d\xfd\x55\x9f\x71\x97\xd5\xf1\x18\x9a\x0a\xbc\xde\xb3\xd9\xd2\x88\x7a\xd9\x05\x52\x6e\xe0\xd0\xbf\x2c\x37\x84\x05\x8b\xcb\xb1\xe8\xf7\x12\xb5\xf7\xd1\xc5\xc5\x3e\x60\x17\xc5\x15\x06\x0a\xcd\x2f\xeb\x75\x46\x12\x67\x87\x87\x13\x4f\x67\x29\x50\xe7\x95\x4a\xf4\x85\x5c\x29\x58\x1b\xbf\x04\x6b\x20\x56\x46\x22\xf1\xe8\x03\x5c\x74\xf6\xd7\xd8\xca\x72\xd2\x02\x23\xf2\xd8\x77\x45\x5d\xb3\x73\x1a\xac\x3a\x59\xa0\x23\x6e\x87\x9a\x38\xc1\x80\x0b\x4c\x6d\x22\x36\x44\x1b\x8b\xda\x0a\x8e\x1c\x56\x00\x1b\xc4\xa1\xae\x48\x60\x51\x20\xe0\xaf\xa2\xaa\xe0\xa8\xd2\xaf\xee\xad\x51\x17\x6b\x47\x0c\xd3\xff\x5d\x01\xf2\x3c\x32\x92\x4e\x88\x3f\x9d\x91\xa4\xe0\x55\x0d\xe7\xd0\x26\xe4\x19\xf2\x7c\x86\x61\x95\xb9\xbd\x02\x5f\x47\xdc\x8f\xb1\x7d\x9b\x64\x69\x9f\x21\x90\x3a\x60\xc8\xbe\x05\xe5\x85\xd1\xc1\x1b\xa1\xf8\xf5\x5b\x04\xed\x5c\x2c\x59\xa9\xc4\x5d\x4a\xb3\xba\xfe\x19\xe9\xcf\xb9\xdf\x90\x88\xac\xc4\xc3\xac\x7e\xbb\xb6\x97\x4f\x10\x11\x93\x9e\x1c\xde\x41\x25\x3e\x9d\x0b\xb6\xf1\x99\x04\x5d\xd5\xe4\x13\x32\x50\x99\x6c\x35\x70\xb8\xe0\x4f\x93\xc3\xd1\x90\x08\xf6\x81\x5b\xca\x80\x34\x4f\x40\x9f\xc2\xa1\x11\x2c\x00\xc7\x00\xd2\xac\x8a\x87\x83\x2d\x83\x2c\x19\x99\x34\xbd\x1d\xec\x58\x37\x9f\x2d\x23\x3f\x90\x33\x92\xb8\x04\x7f\x7b\x1e\x1f\x8b\xfd\xa9\x16\x4d\xce\x87\xdf\x43\xbf\x8d\x31\xce\x38\xa3\x15\x61\xbd\xaf\x1e\x59\x29\xb3\x4d\xbf\x22\x6b\xea\x13\xad\x61\xe6\x5f\x3d\x34\xa7\x4a\x71\x4d\x85\xe5\x3f\xa2\xcc\x6e\x68\x36\x8e\x6b\x8a\x1d\xc9\x9c\x98\x10\x9d\x50\xff\x1a\x20\x10\x09\x9a\x32\xa0\x3b\x89\x33\x0c\xb3\x67\x82\x34\x01\x1e\xd5\x8d\x5a\xd0\xa6\xd3\xa9\xa7\x47\x5a\xec\x6b\x28\x6d\x8d\x0c\x70\xb6\x76\xab\xeb\xa6\x0c\x72\x69\x5a\x11\x46\xcd\x7d\x8a\xb8\x8b\x69\x3a\xc9\x2f\xeb\xfb\x9a\x10\x1d\x8c\x63\x7a\x50\x9f\xc5\x75\x56\xc5\x51\x39\x45\x8d\xd2\x26\x27\xcc\x2f\xec\x0b\x87\x91\x76\xe5\x9c\xf2\xad\xf9\x04\x3c\x80\x32\x86\xdf\xf4\xdb\x8a\xde\xf6\x8c\x16\x85\xe9\x59\x51\x29\x82\x6a\x2e\x1a\xcd\xf8\x48\x4e\xac\xfb\xa2\xda\x17\x31\x31\x99\x73\xcd\xd5\xca\x97\xad\xe9\x92\xe7\xd8\x8b\xe0\x7b\xe6\x0d\x9d\xa5\x27\x7c\xad\x6b\x83\xaa\x6c\x54\xab\x25\xef\x31\xf2\xea\xaa\x8b\x1d\x43\xa5\xcf\xdd\x67\xf6\x51\x55\x4a\x5b\xee\x27\xf2\xc4\x55\xfa\xd8\x94\xfb\xcc\x9d\x97\xd6\xb6\x7b\xbf\x38\x31\xe9\x20\x1f\x8a\x8d\x72\xa5\x6e\x9a\xef\xe2\x9a\xd2\xb9\x85\x12\xcd\x7d\x1d\xba\xce\x0a\x05\x3a\x13\x11\x00\x2c\xc4\xd0\xb9\xdc\xf7\x36\x1a\x58\x37\xa4\x9f\xae\xef\xac\x66\xac\xc1\x1a\x65\x9b\x27\x05\x0d\x07\x4e\x4d\x19\xa1\x15\x32\x70\x7c\x82\x34\xd9\xf4\x70\x36\x05\x90\xb6\x02\x56\x6e\xeb\x93\x81\x70\x26\x53\x3d\xc8\x5b\x2d\x20\xdf\x9e\xf1\xe0\xbf\x7e\x9d\x4e\x6a\xc6\x49\x9e\xb0\x9c\x59\xf5\x2f\x63\x60\x59\x41\x71\x36\x9a\x2d\xfd\x8b\x59\xae\x33\x30\x23\x56\x7e\x1a\x68\x07\x73\x86\xfe\x45\x50\x54\x3b\xa1\x75\x1d\x97\xf0\x62\x36\xd6\xf8\x86\x57\x44\x23\xc5\x07\x4e\x31\x6f\x3e\xc1\x19\xea\x29\xce\x98\xa9\xff\x43\x1b\x78\x34\x8c\x24\xb5\x2f\x6a\x08\x6c\x31\xf7\x0a\x79\x97\x2e\xd8\x2f\x9b\xad\xf2\x2c\x97\xee\xf2\x8d\x52\x72\xd7\xf9\xe3\x96\xd0\xf7\x5b\x59\x45\x2a\x47\x10\xd0\x95\xe2\x4b\x6d\x2f\xfd\x7c\x37\xfd\xc7\xee\xfc\x0b\xef\xfc\xdf\x53\x49\xb8\xea\x82\x53\xc6\x97\xb8\x71\xa6\x46\xd5\xd7\xe3\x8d\xb9\xf8\x8c\xa8\x36\xfd\xcc\x15\x05\x3a\x05\x63\xe6\xfa\x56\x73\x07\xc2\x0b\x40\xd8\xea\x77\x9a\x80\x2b\xda\x6b\xff\x31\x81\xc4\x63\xcd\x1c\xcf\xf5\x61\xc3\xad\xe2\xe9\xc9\xfe\xa4\xe1\x77\x1e\x30\x0b\x3a\x59\x35\xcd\x51\xb4\x22\x0a\xc0\x8a\xea\x9f\x2b\x16\x67\x22\x12\x25\x2a\x1e\xa3\x32\x1a\x01\xe9\x74\xcb\xf5\x9a\x60\x8d\x47\xa5\x90\xdd\xb4\xa5\x0d\xc0\x66\x3a\x68\x4e\x33\xec\x16\x33\xc6\x16\x5e\x05\x86\x7e\x3c\x50\x10\x03\x4d\xfa\xbf\x5a\x00\xcb\x04\x2a\x77\x82\xf9\xc6\xcf\xd6\xd2\x90\xf2\x49\x30\xa0\x16\x70\x21\x22\x60\x81\x50\x53\xe6\x02\x0b\x4c\xe8\x03\x15\x36\x0b\x0a\x36\xac\x4f\xdc\xd4\x13\x7b\x03\x26\xb8\xbc\xad\x60\x28\x89\x02\xdb\x85\x92\x13\x05\xbf\xb9\x4d\x71\x0b\xb4\x61\x50\xc8\x06\xcc\xd8\xd9\x3d\x50\x9b\xeb\x5a\x5f\x5d\xa3\xde\x70\x76\xf5\x57\x91\x7f\x7b\x6d\xaf\x68\x3a\x0d\xf5\x55\x0c\x75\x06\x2c\x0a\x41\xe9\x87\x6a\x39\xf4\x5e\xf7\xab\x2a\xef\xa5\xd5\x04\x37\x23\xed\xc0\x43\xaf\x66\xa5\x05\x9c\x5d\xb7\x11\x8c\x10\x14\x67\x72\x8b\x7b\x4e\x59\xbc\xb2\xb4\x20\x35\xac\x8f\x14\xc4\x1e\x24\xa0\x4f\x80\x08\x65\xfe\x0d\x47\x6e\xc5\xc6\x73\x98\xe1\x24\x8a\x8c\x5c\x06\xef\x69\xfb\x60\xe3\x44\xd6\xd8\xd9\xd1\xed\x3f\xb4\xdf\xbe\x05\x3b\xf2\x00\xea\xe8\x77\xdc\xcc\xeb\x35\x55\x82\x78\x6a\x7e\xee\xb4\xcc\xa6\xd6\xdc\xb5\x86\xaa\xa7\xf4\xd6\x9d\x9f\x3e\x87\x79\xd3\xa9\xdf\xf6\xe0\x29\x1c\xd2\x6f\x29\x6c\x2a\xde\xee\x91\x48\xf0\x2d\x1d\x96\x3b\xfb\xc8\xf4\x03\x03\x2b\xd9\x7c\x91\x18\xd2\x2b\x5b\xa5\x8a\x2d\xd9\xd8\x15\x5a\x47\xae\x13\x58\xf9\x66\x7e\x3c\x46\x89\x86\xc4\x5f\xce\xf4\xcc\x9d\xe1\x1c\xf7\xfd\x8e\x7f\x72\x1d\xbd\x66\x5e\x05\x10\x52\xcc\x05\xbe\x0d\xdf\x82\x8b\x34\x2f\x29\x2b\x8e\xd8\x31\x4c\x61\x31\x50\x15\x45\x76\x7e\x1a\x92\x3a\x2b\x4c\x3e\x8e\x12\x4d\xc6\x65\x95\x62\x37\x0f\x35\xa4\xb7\xd3\x5b\x09\xde\x48\x6f\x16\x7d\x70\x10\x03\x69\x38\x7f\xf1\x3b\x1d\x60\x7f\x94\x24\x90\x37\xbd\x98\x7e\xef\x59\x77\xa2\x34\xf7\xe5\x52\x79\x70\x06\x4a\x92\x73\x88\xa2\xaa\x03\x82\xbd\xe0\xc1\x87\x86\x02\x7d\xd8\x21\x2a\x59\x66\xd7\x7e\x91\xb0\xf1\xb0\xea\xa6\x57\xf9\x81\x5d\xb4\x54\x4b\x56\x18\xe0\x30\x46\x79\xf9\xda\x6c\x83\x1b\x89\x24\x22\x99\xcf\x5c\xd6\xf9\xc2\x41\x1a\xbb\x83\x45\x3f\xfe\xa2\xd4\x04\x57\x0d\x2c\xdd\x5b\x62\xf2\x12\x1e\x30\x71\xf9\xe6\x10\xd3\x2e\xfb\x7c\x97\xcc\x78\xb5\x5a\x1e\x8d\x2f\xca\xcb\x81\x04\xc1\x95\xff\x5d\x92\xf0\xd5\x50\x2a\x34\x1a\x03\x94\x24\x2a\x28\x93\x94\xc1\x89\x08\x19\x52\x37\xd1\x01\xb4\x4c\xa0\x26\xbe\xa2\xe0\x12\xe5\x60\x67\x6f\x10\x54\xdc\x91\x2e\x19\xa2\x24\x9c\x56\xcc\x87\x89\x68\x16\xb5\x55\xee\x4c\xf0\x48\x6e\xa8\x65\xbe\xfa\x69\x5f\xad\x22\x81\x93\xd8\x03\x6f\xdf\x81\x00\xfd\x16\xb7\x65\x2a\x6d\x62\xee\x9d\xe4\x44\x32\x9a\xa3\x96\x75\x7b\xf4\xf4\x1e\xdd\xb9\xd1\x88\x0d\xdf\xb6\x5c\x1b\x9f\xa8\x89\xef\xd8\xbf\xe8\xa9\xec\x84\xd9\xed\x5a\xa7\x44\xc7\xdc\x9a\xc6\xf4\x0a\x76\xe8\x7a\xfe\x0e\x31\x55\x6c\x87\x10\xe0\x52\x6c\x2d\x77\x6b\x32\x56\xf9\x78\xd9\xd5\x91\x3b\x9d\xd8\x80\x34\xfd\x30\x30\x85\x3d\xd4\x91\x78\x8f\x7e\xde\xbd\xda\xab\x03\x03\xd1\xd7\x0c\x6f\x32\x02\x52\xdb\x6d\x7f\xd4\x94\xb8\xd7\x3d\x7f\xde\xf4\x5f\x7f\x9d\xd1\x72\xd7\x1f\xfb\x96\x5a\x26\x96\xd7\x9f\x2f\x7f\x1b\xdf\xb8\xa7\x9d\xaf\xa1\xab\x28\xe7\xcd\x5b\xcd\xe1\x43\x7b\xe8\x25\x62\x5b\x66\x03\x85\x2e\xe1\xcc\x3c\x4e\x63\x30\x47\x32\xb8\xda\xbc\x6a\xab\xf7\x7e\x48\x92\xe5\x69\x44\x50\x9c\xc2\x63\x65\xde\x7f\x7c\x3a\x50\xdc\x37\x69\xc5\x2f\x71\x18\x97\xd5\xd7\x2d\xda\x8f\xa7\x1b\xcd\x7f\xfa\x5c\xec\x62\xd1\x37\x52\xf4\x3e\xaf\x5c\x6c\x24\x7d\xed\x56\x11\xb5\xf8\x82\xcb\xf7\xda\x86\x1f\x55\xf6\x9f\xc8\x1d\x2a\x42\x33\xfd\x6c\x94\x0e\x14\x52\x50\x66\xeb\x09\xd1\x64\x03\xaf\x27\x0e\xbe\xfa\xcd\x3c\x6a\xc6\xc1\x0e\x14\x45\xad\xec\xc2\xcb\x1f\x78\xfc\x0b\xf7\xb3\x7d\xc4\x36\x66\xad\x73\xd0\x17\x28\xc4\xb0\x53\xc8\xcb\x1b\xee\x65\x7e\x01\x34\x9e\x04\x55\xd8\xe0\xe8\x29\x11\xd3\x43\x31\xe5\x69\x8b\x73\x25\x43\xf5\xac\x72\xa3\x1a\x48\x22\xf7\x33\xd8\xe6\x0e\xda\xd8\x83\x1e\x29\x09\x94\x8b\x4c\x5b\xd8\xe8\xd3\xa9\x29\xcc\x6d\x6a\x0c\x14\xa5\x01\xe6\x03\x55\xed\x86\x1b\x03\xdb\xd9\x9c\x22\xfc\xfe\xc5\xd9\x49\x89\xa7\x52\x0b\xf0\xb7\xc6\x36\xcd\x57\x33\xae\x96\x6e\x50\xa5\xd7\xd1\x48\x8d\x87\xb5\xd5\xdf\x9b\x35\x51\x37\x73\x5c\xea\x40\xbf\x8e\x13\x53\x77\x95\xaf\xae\x52\x68\x14\xc6\x84\xf8\x65\x71\xea\xdc\x8d\x47\x30\x3f\xde\xbd\x7e\xfc\xd8\x91\x5a\x1b\x3e\xd5\x0e\xde\xd6\x02\x47\x4c\xee\xee\xe5\xdb\xd1\xc5\x63\x01\x5b\xc3\x64\xfd\x4e\x0a\x8d\x25\x43\x39\x8b\x58\xa5\x3c\xfa\x51\xed\xed\x5e\x69\xf9\xbb\xda\xef\x8b\x70\x2c\x55\x20\xc8\x91\x14\x17\x0b\x1f\x54\xc3\x89\xf6\x7e\x91\xed\x55\xae\x32\x17\x28\x27\x77\x7c\xd6\x2f\x9a\xab\x42\x33\x14\x00\xc2\xea\xb1\xd7\xe8\xe7\x4a\x08\x2c\xbb\x74\x0a\xea\x1e\xdc\xf1\xac\x57\x67\x4c\x4e\x24\xf2\x20\x5b\xc8\x56\xe3\xfc\x0e\x7c\xde\xbe\x99\x76\xc0\x68\x30\x58\x9d\x58\xfe\x0c\xe9\xec\x9a\xcf\xd0\x3c\xdb\x6a\x8e\x68\xe7\xf9\x9c\xb6\x19\x89\x6a\x30\xd0\xce\x7b\x72\x4c\x4e\x6d\xb3\xad\xe6\x5b\x5b\x4c\x1e\xf6\x33\x53\xb1\x24\x59\x08\x83\x11\xf7\xa5\xf1\xca\x88\x13\x7e\x0d\xdf\x87\xa5\x7f\x92\x91\x4b\x9e\xb0\xba\xad\xf1\x18\xdd\x21\xd5\x51\x45\x28\xd8\x8b\x9a\x93\x8b\xc3\xd9\x50\x3a\x26\x7f\x97\xf9\x7b\xaf\xc6\xbc\xd3\xac\x34\x73\xc5\x93\x89\x85\x57\x4c\x33\x41\x8c\x36\x85\x52\x0d\x11\x69\x76\x2d\x15\x37\x05\x53\x10\x3a\x9f\x4c\xb1\x33\xad\xb0\x65\x06\x9a\xf1\xee\xb9\x3d\x5e\xaa\x8b\x89\xaf\x19\xa2\xc5\xa6\x34\xcb\xb3\xbf\x34\x06\xc2\x4f\x43\xdf\xe9\x52\x7e\xdc\x90\x8c\x85\x4e\x4b\x30\x2b\x63\x24\x26\x33\x96\x4d\xb1\xfc\xd6\xe9\x75\x3c\x3a\xa5\x22\x15\x5a\x93\x94\xe8\x00\x2c\x9d\x8a\xc7\x6e\x32\x4e\x96\xc6\xd4\xce\x45\x47\x96\x10\xeb\xd1\x25\x57\xd5\xa9\x21\x60\x10\xdd\x03\x34\xd9\x89\xc2\x87\xfa\x1b\x0f\xba\x5f\xda\xce\x1c\x60\xd5\xea\x80\x7d\xb4\x2e\xf1\x4b\x71\xdf\xf4\xc5\x7e\x9b\x4a\xc7\x6b\xa6\xa7\x74\xb9\xca\x6b\xcd\xf6\x53\xc3\x79\x2a\xcb\x0d\xb3\xca\xfb\x29\xf7\x49\x8c\xf9\x6b\x24\x51\xee\x86\x8c\xde\xf6\x86\x72\xd5\x71\x33\x89\x54\x94\xb5\x7f\x29\x41\x0a\x52\x73\xfe\xc8\x3d\x5b\x44\xb8\x0a\x6a\x39\x1c\x71\xaa\xef\xe2\x76\x1e\x7f\xcf\x43\xdc\x6e\x6f\x03\xe2\x9d\x4b\x52\x1e\x32\x86\x76\xdf\x29\xc6\xcd\xd4\x31\x64\x9c\x63\x7d\x44\x99\x32\x6b\x3c\x39\x3f\xc0\x5d\x0e\x3b\xc4\x38\xfd\xa1\x7f\xfa\xba\x42\x52\x29\x78\xf6\xcb\xa3\x3b\x48\xd3\x69\xb4\x7d\x7b\xcd\x37\x34\x9e\xcd\xca\x17\x34\xcf\x8f\x5b\x16\xc4\x0b\x0c\xde\x3a\x67\x9a\x56\x07\x2d\x7d\x40\xb8\x20\xdd\xa1\x1a\x5f\xd7\x80\x4a\x50\x7a\x17\xa5\xb3\x8f\xfa\x87\x8d\x95\x58\x3b\x97\x29\x61\x44\x4a\xcd\x3f\xa5\x8f\x9c\x5c\x15\x23\x58\x92\xc1\xec\x72\xe9\x9a\xe7\x77\xf0\x6d\xbe\xc9\xcd\xfe\x41\xf3\xd0\x8e\x32\x5c\xa9\x0d\xdd\x3d\x11\xe6\x36\x39\x6a\x89\x52\xf0\x0b\x4c\x6d\x8a\xa1\x8b\x02\x2e\x49\xc2\x65\x47\xe3\xb5\xfc\xa0\x52\xb0\x27\x9c\x88\x76\xf7\x24\x98\x09\x50\xd0\x19\x3e\x35\x68\x0c\x5f\x0a\x80\xaa\x01\x63\xd5\xd2\xa0\x57\xae\x3f\xbc\x86\x2b\xfa\xc2\xe0\x00\xf5\xff\xbc\xf7\xe3\x60\xde\x83\xcf\x87\xb2\x23\x43\xbd\x80\x97\xcb\x08\x18\xc5\x42\xea\x9b\xe9\x57\x27\x42\xab\xc3\x7e\xb3\xab\x82\xcd\xfd\x63\xe1\x62\x0d\x00\x13\xd2\xfe\xef\xda\x35\x7e\x7d\x60\xf0\xd5\x41\xd6\x45\x28\x12\x28\x72\xa2\x1b\x7b\x32\x6d\x65\x35\xfb\x14\x0a\x74\x3e\x60\x76\xb3\xc3\x03\x03\xef\x64\x02\x2c\x0c\x70\x2a\x3d\xae\xcf\x95\xc6\xbc\x01\x18\x27\xd8\xe1\xb9\x07\x20\x6f\x8e\x24\xdd\xa5\xaa\x3b\x66\xf2\x60\xa2\xcc\xa2\xd8\xfc\x74\xb1\xb9\xc9\x9f\x4a\xaf\x24\xdf\xfb\xe3\xaa\x48\x1f\xfe\xe5\x5a\xe5\x00\x04\x12\x4b\x95\xc3\xd4\x8a\x83\xb1\x1c\xcf\x6b\x03\xc0\x2b\x10\x4c\x01\x6d\xed\xad\x14\xde\xdf\xef\x52\x32\x1e\xa4\xe5\xae\x31\xf4\x2c\xb0\x71\xe1\xc7\xc3\xf5\x88\x95\x87\x46\x1e\xef\x0b\xc1\xa3\x70\x92\xcc\xb9\x2d\x97\xbd\x4a\x25\x62\xc7\xeb\x1f\xa0\x95\xcf\x3d\x67\xf5\x56\xf5\xa3\x8d\x5e\x89\x79\x81\x90\xbd\x7e\xcf\x17\xc3\xd7\xbc\xf5\x15\x30\x7e\x2d\x50\xc7\xcf\xd7\xaa\x7b\xfc\xc6\x9b\x42\xa2\xf8\xc6\x32\x58\xb2\x5a\xda\x3f\xeb\x08\x6f\x47\x21\x78\xcd\x6e\x2e\xca\xdb\x7d\x25\xae\x7d\x4f\x1b\x6f\x09\x5f\xbe\x3f\x62\xb8\x1b\x4a\xdc\x12\xe1\x89\xe7\x4e\xbe\xf9\x76\x1b\xb2\x24\x62\x6c\x3b\x7a\xe9\xce\x60\x86\x26\x4b\xab\x87\x78\x5e\x5d\x22\x11\x92\xe5\x15\xc3\x64\x98\x0f\x2b\x11\xe4\x67\x0b\x01\x65\x49\x32\x80\xf9\xaf\x8b\x04\xf6\x20\xf2\x81\x14\x42\x23\xf0\x28\x69\x6a\x4e\x4e\x3e\x53\x77\x46\xc1\x0c\x57\x00\xd3\x0c\xa1\x7c\x97\x03\x62\xb8\x18\x09\xfe\x02\x88\xc0\x57\xf9\x6f\x57\x5e\x5c\x71\x13\x1a\x8f\x3f\xbf\xa6\x31\x3e\x04\x42\x00\x4c\xd0\x2f\x3d\xd1\x69\x52\xff\xdb\x2c\xbe\xeb\xf8\xe0\xc8\x63\x79\x6b\x57\xbe\x18\x5a\x29\xc7\x42\x55\xbc\xa0\x8e\xd6\x6b\x6a\x79\xd5\x1b\x34\x58\xfe\xf5\xc7\x4b\xc3\xe6\x2c\x0d\x33\xf1\x0a\xee\x46\x00\x02\xfb\xe5\xbc\x39\x18\xe2\x70\x4b\xeb\x75\x8e\xaf\xb0\xd5\xb7\x83\x0b\x97\x8c\xd9\x71\x90\x40\xf7\x9c\x98\x4f\x41\x76\xfe\x79\x47\x34\xf0\xfa\x90\xcb\xde\xde\x2e\x2c\x6d\xb9\xa3\x23\x44\x22\x5e\xcc\xd1\xa3\x87\x01\x38\x6c\xa4\x51\x5a\xf5\xa5\x31\xf5\xf3\x82\xab\xd0\x43\x94\xae\x9f\xe8\x5c\xab\x34\x6f\x4a\xdc\xa8\x8c\xe8\xed\x9e\x8a\x0f\x95\xa6\xa0\x85\x1d\x93\xfd\x64\x44\x36\xe7\x68\x5b\xa6\xbc\x7c\x1a\x99\xd7\x4c\xd1\x1c\x5d\xd5\x56\xf8\x7e\x81\x2e\x86\xd7\x3a\xb6\xe9\x0e\x8c\xc6\x12\xcc\xd4\x30\x7a\x2a\x05\x18\x1c\xfa\x19\x15\x9a\x48\x58\xd7\x2c\x80\xcf\xbf\xcf\x37\x9f\x91\x7a\xae\xf6\x55\xf4\x51\x4e\xbc\x65\x2e\x37\x24\x3a\xba\x86\xc5\x2e\xcd\xca\x30\xd6\xa3\x4d\xbd\xe5\x6a\xb9\x13\xeb\x39\xff\x17\x67\xaa\x0b\x7b\x32\xda\xac\x43\x8d\x1b\xfe\x1b\xab\x4f\x19\xbd\xa2\xe5\xa2\xb8\xd3\xfb\xff\x90\x4e\xd9\x98\x7f\xc3\x40\x2e\x8b\xd4\x57\xd4\x31\x05\x44\xb1\x07\x7a\x1c\x5b\x10\xc1\xb0\xe2\x5b\xb0\x4d\x25\x56\xe6\x35\xec\x72\x21\x34\x26\x55\x99\x72\xab\x0d\x73\xe2\xa0\x37\x25\x79\x7f\x00\xe7\x4e\xd9\x4a\x28\x3f\xa5\x6e\x59\x6d\x89\x1e\x22\x54\x13\xfa\x43\x8d\x4d\x6d\x72\xfb\x2e\x04\xee\x98\xdd\xb4\x7b\x62\x53\x4e\x54\x8c\x1d\xec\x5d\x2a\x19\x7d\xe8\x92\x1b\x76\x60\xaa\xa4\x98\xfb\xa2\x95\x31\xea\x5e\x48\x9d\xe5\xee\x8b\xd3\x76\x93\x4e\x6f\xee\x55\xdb\x86\x41\x53\x36\x57\x99\x4f\xd9\x89\x65\x0b\x5b\x28\xda\xce\x42\x11\x03\xe5\xa2\xcd\x9d\x1e\x85\x74\x6f\x31\x62\xcf\xab\x15\x5a\x48\x82\xe7\xbc\x7b\xd1\xc0\xf5\xa4\x7e\xcb\x4e\x80\x7d\x56\x1d\xcb\x8b\xd9\xb9\x00\x6f\xb2\x92\x15\x3c\x8b\x3e\x23\xc7\xfd\xa2\x6f\xaa\xf0\xee\xbe\x54\x46\x44\x22\xef\x1b\x25\x37\xef\x33\xae\xac\xd7\x2e\xf5\x28\x3f\x15\xbe\x66\xb7\x92\x83\x8a\xe5\xe6\x5d\xdf\xd2\xf5\x60\x21\xf5\x9c\xc0\xb1\xfc\xc0\xbf\xbc\x31\x25\x55\xef\xf4\x71\x4c\x3a\xe8\x9c\xa7\xa8\xcf\xb8\x7c\x92\x04\xfb\x40\x38\x27\xf3\x17\x2b\xae\xf5\x56\xa8\xb6\x57\x1e\x75\xdb\xa0\x82\x9d\x30\x7f\x8b\x0b\xcb\x7d\x20\x2b\x54\x2f\x89\xee\x51\x6e\xe9\x13\xa0\xe2\x6c\x10\xea\x9e\x7e\x86\x63\xbb\xf2\x7b\x97\x70\xab\xfe\x61\xed\x3d\xa6\xe8\xa3\x56\x3a\x23\x76\x6d\xf8\xe9\x7e\x90\xe2\xc8\x31\xee\x81\xcf\xed\x90\xf6\x74\x09\x30\x8d\x53\x50\x48\x81\x5d\xb6\x2f\xc8\x6a\xe2\x67\x2f\x21\xbb\x92\x88\x1b\x7b\x2f\x1b\xa3\x63\x20\xe5\x6a\x9d\xd0\xf7\xc9\x68\x91\x85\xe2\x5b\xe3\x3d\x92\x10\x55\xd5\xfa\x40\xca\x8d\x71\x8b\x49\x67\x36\xce\x4d\x96\xad\xff\xfa\x1f\x97\x95\x6d\x71\xe9\xfb\x25\x59\x38\xec\xbe\x64\x63\x7f\xd5\x60\x22\x17\x8d\xda\x58\x91\x74\xae\xa4\xe5\x01\xb3\x9d\x13\xa4\xaf\x3e\x9d\x17\x07\x22\x03\xb7\xfb\x7b\xe2\x85\xc5\x72\x69\xb8\xc5\x14\xe9\x50\x9d\x4f\x3f\xfb\xac\x30\x3d\x86\x2f\xbf\x39\xb3\xd2\x46\x01\xed\x13\x6e\x1e\x56\x7d\xa6\x4f\x59\x5b\x12\xd5\x9c\x0f\x1b\xbd\xb5\xaf\x22\x49\xee\xd9\x0a\xe9\x7b\x47\x45\x7a\x09\x60\x29\xd3\x87\x72\xca\x12\xec\xc1\x1d\xb6\x4f\x6f\x4b\xf1\xff\x59\x02\xea\xba\xa7\xfe\x53\xef\xe9\xc7\x02\x95\x34\x03\x3b\xa0\xa5\xbb\x94\xbe\xeb\xb7\xd4\x1e\x4c\x27\xf4\xb1\xb9\xa2\x3e\xe1\xb0\x63\xe8\xc4\xe1\x92\x4e\x40\x19\x95\xbd\xe0\xaa\xf1\x38\x20\xe1\x17\xca\x8b\x8a\x7b\xec\x82\x95\x7a\x14\x62\xf6\x04\x38\x05\x5f\x78\x08\x56\xe2\xd4\xf0\xd3\xdc\xda\x28\x1e\x58\x22\x5d\xce\x94\xac\xc4\x9b\x4d\x36\x77\xfe\x2c\xa4\x66\xe8\x67\x66\x94\xd3\x2b\xcd\x9c\x29\x54\xaa\xd5\x4a\x1b\x55\x08\x74\x3e\x0d\x2d\xe8\x5d\x7a\x7d\x03\x1b\x86\x6f\xa3\x2a\x91\x6d\x47\x07\xc5\xb6\x1f\x96\x31\x89\x53\xcd\x1d\x8c\x3c\xbb\xb1\xba\xbb\xdb\xb5\xe5\x87\xfc\xb7\x26\xaa\x85\x15\x3a\x17\x97\x99\x51\x83\x7a\xf1\x48\xed\xe1\x6a\xba\xbd\x6c\x1a\xa6\x6a\xfe\xb9\x4c\x01\xee\x1c\x0d\xd8\x46\x2c\xfb\xff\xc1\xf0\xf8\x8f\x61\xe8\x59\xaa\x22\x27\x4c\xcb\xac\x86\xc9\xb4\xa5\xb2\x62\x4a\x70\x7b\xf6\xbc\x97\x36\xad\xd5\xab\xe6\xa4\x0e\x68\x93\xe6\xd1\x5d\x13\xbf\x8d\x10\x6d\xaa\x0d\xfd\x45\xd2\x3d\xae\x0b\xd2\x7e\x92\xea\x66\xa1\xbb\xda\x04\x46\x76\x1c\x8a\xdf\xea\x87\x45\xbb\x60\x45\x57\x69\x6e\x16\x75\x78\xe0\x38\x21\x47\x56\x59\xe7\x3f\x3f\x37\x4b\x5e\xf6\x15\x2b\x9b\x5b\x32\xb7\x96\xdd\x25\x5f\xac\x6d\x77\xe4\xba\x73\xc3\x5a\xb5\xea\xe9\x4d\x5a\x3f\xdc\x76\xe2\x6c\x9e\xb3\x93\x39\xa3\xb9\x66\xa4\x88\x4f\xca\x0c\xcf\x7b\x1c\xf9\xb2\xaa\x2c\xb3\x27\x39\xab\x2f\x1b\x7d\x15\x00\x0d\x54\x7d\xe5\xcc\x1b\xeb\xca\xe7\x36\xd9\xde\x56\xeb\x7a\xc3\xb4\xff\x76\x55\x12\xb9\x5b\xe2\xd1\x64\x54\x1e\x2c\x5f\x75\xea\x56\xca\xed\xa3\xe4\x45\xcd\x2b\x42\x16\x3a\x81\x78\xe2\xe1\x61\x8f\x59\x2e\x4c\x34\x8d\x72\xdd\x50\xcb\x31\xf2\x22\x11\xad\xa1\x6e\xaf\xef\x6a\x5b\x29\x58\x73\xd6\x11\x35\x34\x8d\xf5\x01\xdb\x20\xc9\x34\x73\xe5\x53\xca\x36\xdd\xc1\xab\xa2\xf2\x0c\x7b\x99\x28\x05\x2c\x89\x6b\x57\xaa\x87\x10\xfb\x0a\xab\x3a\x1a\x44\x6d\xaa\x33\xfc\x88\xb0\x8e\x2f\x0a\xf0\x54\xc5\x2a\xdd\x1f\xd7\x05\xa9\x7a\x27\xa9\x31\x1e\xb6\x6f\xf1\x27\x33\xff\x18\xf8\x6f\x8a\x77\x7c\xd0\x8b\x14\xa5\xa9\x3d\xca\x59\x87\x3c\x10\x0a\x04\x61\x9e\x44\xa8\x6d\x82\x1e\x3f\x46\x5f\xa3\x59\x33\xe7\x66\x02\x5e\xb7\x4c\x12\x95\x66\xeb\x66\x27\x1a\x15\x40\xd4\x18\x26\x4d\x37\xb7\x46\x30\x7b\x82\x8c\xe7\x95\x12\x47\xa7\x8a\xb1\x54\xc8\x42\xc4\xd1\xce\xd3\x2f\xaf\x1f\x66\xb8\xd5\x7a\x71\x63\xf8\x5d\x2e\x4c\x2e\x49\x11\xb2\x6e\x5e\x1e\xbd\xa4\xd9\xd2\x57\xa1\x6b\x94\xd6\x28\xed\x10\x68\x1a\x8a\xdd\x63\xa4\x21\xc8\x9c\xfa\xeb\xae\x7c\xe2\x8a\x25\xd8\x3f\x25\xc0\xd0\x5c\xfd\x84\x36\xdd\x15\x51\xc6\xc0\xb4\x6e\x2a\xb9\x99\x30\xc0\x02\xe4\xb3\x27\x18\xab\x19\x27\x8a\x8d\x8e\xd3\x57\xae\x68\xc4\xa9\xe3\x9f\x3d\xfb\x00\xee\xc5\x9d\x4c\x96\x1a\xdc\x43\x67\x08\x52\x04\xf1\x9b\x99\x8c\x89\xa6\x39\x56\xee\x94\xea\xe7\x8e\xab\xd8\x9b\x41\xa5\x10\xd3\x9a\x54\xbf\x51\xf5\xae\x79\xcc\x05\xc4\x8d\x26\x69\xfd\xd9\xa3\x68\xf5\x9c\xe3\x51\x4a\x2c\x23\xf6\x7c\x64\xe9\xa9\xba\x05\x7a\xcd\xca\xf1\xa2\x7c\x79\x59\x48\xb4\xc8\xe7\xee\xd1\x7b\xaa\x46\x49\x12\x25\x99\xac\x4f\xd8\x11\xe8\x14\x82\x16\x52\x44\x92\x26\xd6\x6b\xea\x27\xce\x09\x17\xf5\x91\x28\xa8\xac\xfd\xf1\x6b\xd5\xcd\xb7\x5f\xdc\x75\xe1\x58\x54\x05\x81\xb0\x34\x83\x4a\xdd\x14\x6f\xad\x81\xdd\x74\xc7\xa0\x80\xf5\x1d\x60\x12\x58\xb3\x7f\xe8\x0b\xec\xf3\x88\x6c\x04\xda\x2f\x84\xde\x2d\xdd\xd4\xa9\xaa\xac\xae\xc1\x19\x0a\x14\x54\x42\x49\x6a\xa2\xd4\x9b\x2f\x03\x9d\x0a\x82\xf8\x4a\xc0\x6e\x30\x2c\xa6\xc4\xa7\x58\x42\xc4\xf7\xdd\x55\xba\x9e\x48\xd5\x68\x1d\xd7\x17\x46\x65\xa8\x02\x25\x0c\xd6\x36\x8e\x25\x0c\xd4\x2f\x12\xc6\xc1\xb5\xc6\x02\x14\x3a\x26\x7a\x4c\x6c\xb1\x19\x64\x4b\x54\xb5\xf4\x0a\xb1\x5e\xbc\x47\x76\xcd\x8a\xa2\xca\x0f\x53\x41\x34\x8a\x3a\xe4\x44\xc1\x04\x49\x81\x06\xf9\xde\x03\xaf\xca\xaf\x91\xf0\xe8\x3c\xb8\x0b\x96\x21\x2e\x94\x31\x3f\x1e\x6e\x54\xe5\x9e\xe0\x19\xc8\x7a\x1d\x07\x68\xd4\x93\xe5\xb0\xb5\x0c\x9f\x5a\x88\x42\xe4\x18\xaa\xf2\xa9\x17\x96\xce\xef\x87\xaf\x43\x6e\x16\xd2\xee\x97\xb5\x1f\xf9\xee\x49\x9d\x9e\x00\xf8\x8f\xb3\x89\x7e\x03\x2b\xdb\xef\x73\x02\x6d\xa6\x38\xb9\x54\x7f\xb0\xc5\x3d\x66\x21\x63\xb7\x28\x9a\x4b\x1b\x48\xf7\x8a\xea\x83\x53\xad\xcb\xe8\x48\x37\x21\x4c\xf0\x53\xbf\x2e\x44\xc4\x02\x34\xe7\x8b\x24\xfe\xd9\x7e\x5d\xcb\xda\xd9\xb4\x61\xbc\x47\xe9\x02\x9a\x73\xaf\x69\x08\x4b\x37\x90\xc0\xe0\x22\x7f\x64\xcf\xb8\x7d\xbf\xac\x89\xb5\x9a\x7c\x9f\x7b\x9d\xa9\xd8\xdc\xb0\x51\x92\x37\xde\x72\x2d\x0f\xca\x1d\x79\xa7\xfb\xc7\xe0\x88\xcc\x82\x7a\xab\x15\x52\x61\x56\xce\x5d\x08\x76\x34\x74\xbc\x96\x9e\xa0\x8f\x8b\xbf\xb0\x05\x32\xfa\x08\xed\xe4\x04\xfa\xc2\x2d\xe6\xc7\xe8\xae\xa8\x59\x44\x8e\xdb\x8c\x19\xed\x53\xd8\x40\xaa\x25\x5f\xd1\x42\x28\x46\xd6\x13\xe3\xdd\x48\x6b\x65\x7f\x25\x26\x04\x35\xfb\xd5\x3d\x27\xbc\x1b\x6a\x46\x2c\xa7\xf7\xfb\x98\xba\x47\xf5\xf4\x6f\x57\xf8\x10\x39\xe8\x3b\xfc\x28\xef\xda\xa4\x90\xc1\xf7\x58\xd0\x33\x7a\x60\xf7\x66\x9d\x4d\x83\xd4\x3c\xb5\x7e\xdf\x31\xea\xcb\xf9\x62\x52\xf4\x36\x74\xa6\xe8\x14\x30\x6c\xbd\x75\xd6\x46\x9a\xa9\xbe\x49\x6a\x11\xcb\xaf\xfb\xe3\xcb\x1e\x4a\x6f\xab\x88\x49\xcc\x71\xa8\xb9\xb6\xc4\xb4\x10\x28\x85\x1b\xae\x63\x7f\x03\xc7\x98\xc7\x55\xef\xc8\x40\xf4\xba\xab\xdb\xd1\x1d\xd1\xa2\x23\x02\x65\xcd\x26\x9b\xb1\x56\x95\xb3\xf7\xa9\xcc\xf3\x79\x28\x18\xfa\x09\xf2\x7b\xcc\xa7\x4b\x75\xa4\xcf\xe1\x98\x57\x4b\x13\x65\x01\x94\x90\x5a\x0a\x5e\x3e\x28\x77\x44\x49\xa6\x19\x92\xdb\x12\x15\xdf\xb9\x7d\x78\xc8\xde\x0a\xfe\xda\xc6\xba\xe2\x35\xbc\x67\x59\x80\x47\x32\xa6\x1c\x32\x0f\xc8\xd3\xfb\x26\x8b\xf3\xfb\x9e\x0c\xd3\x73\xcf\x83\x21\x71\x19\x80\xca\x5c\x09\xa1\xc1\x9e\xbc\xac\x8c\x8e\x19\x43\xdd\x50\x25\x55\x8b\x0d\x66\x62\xeb\x13\xf5\x05\xf7\x53\xb5\xaf\xe5\xda\x27\xb5\x48\x85\x4c\x62\x69\xcc\x2c\x9c\x73\xb5\xe4\x46\x03\xc0\xb9\xf4\x36\xe4\x04\xa6\xae\x37\xdf\xbc\x44\xe4\x0a\xe6\xa6\x67\x1d\xcc\xa3\x6f\x47\x61\x29\x6a\xe8\x53\x2d\x26\x9d\x3e\x37\x94\xd2\x79\xc6\xcf\xe7\x15\x1e\x43\x43\xce\x96\x08\x69\xe2\x5d\x00\x4d\x52\x1c\x93\xa0\xbb\x0c\x41\xf1\x1a\x8f\x30\x99\xf0\x0c\x0d\x4b\x66\x93\xb4\x46\x3d\x7a\x0b\x8c\xc6\x67\x04\x67\x8a\x03\xaf\x74\x66\x9b\x37\x17\x4b\x78\x20\x90\x5b\xd0\x12\xe5\xab\x1f\x0c\x4c\x5e\x2e\x5b\xb3\xa6\xd4\xad\x3e\xf3\x5a\xd1\x01\x63\xfb\x19\x37\xe4\x16\x13\x07\x8d\x85\x33\x36\xfe\x16\x63\x1e\xcd\x97\x99\xd7\x71\xcc\x07\xb2\x77\xac\xb9\x2a\x43\x43\xf9\x56\x3c\xb7\xfc\x0e\x5d\x29\x45\x8d\x1d\xc3\x39\x9a\x9f\x29\xa8\xcf\x9b\xca\x30\x6c\x94\x53\x4d\xeb\x1f\x2e\x24\xf4\x62\x41\x53\x98\xea\x96\x48\x69\x62\x13\x25\x7a\xec\xb2\x71\xdd\x93\x56\x10\x03\xdd\xcf\x1b\xde\xb7\xca\x80\x18\x37\xe4\xf6\x2b\x38\xe0\xfa\x7b\x0a\x5c\xe2\x48\xa6\x41\xe1\x5a\x1e\x00\x23\x5b\x97\x38\xc4\x05\xa4\x30\x9e\x2a\xc6\x0c\xd1\x72\x1f\x5b\x2d\x9c\x73\x77\x1b\x6e\xdb\x78\x50\x2b\xee\x94\xa8\x48\x45\x6c\xfb\x19\x87\xe5\x59\x2e\x2f\xdd\x6b\x36\x77\x19\x4b\x62\xae\x3f\xfb\x38\xd6\x38\x47\xf6\x49\x07\x01\x2e\xdf\x0b\x75\xa1\x01\x96\xb7\x72\xde\xbc\x99\x6c\x39\x8f\x0f\x45\x69\xde\x9c\xf8\x01\x12\xa2\x86\x99\x60\x86\x22\x82\xc6\x83\x9e\x91\x8f\xc8\x87\x9f\xcb\xba\xf3\xf6\x26\x76\xa1\xcc\x49\xcc\xdb\x04\xd5\xa2\x75\x2a\x4a\x5c\x5b\xd5\x5e\x03\x65\x6e\x06\xf4\x51\x05\x25\x6a\x09\x3f\x7b\xeb\x6e\x57\x2b\x9b\x10\xb3\x31\x0b\x82\xb2\x5a\x80\xd8\xdc\x43\xab\xf2\x09\x16\xd2\x24\xaf\xd7\x33\xf7\xaf\x21\xdb\xee\x36\xea\xf7\x95\xa3\xfe\x2f\xa5\x53\x47\xc7\x20\x40\xa9\x34\xce\x8c\x1d\x19\x45\xb8\x21\xc3\x52\x1a\x64\x9e\x1e\x38\x68\x67\x3f\x83\xd3\x4a\x7e\x11\x8f\x10\xa2\xb2\x75\x3f\x0b\x5a\x69\xa1\xbf\x44\x18\x83\x87\x34\xa3\xed\x4b\x7b\x6a\x25\x18\x29\x88\x27\x19\xb7\x05\x78\x9a\xe9\x4d\x61\xfe\xff\x59\x76\x6b\x45\x74\x82\x2c\x6c\xd6\x04\xc5\x01\xfd\x13\x63\x3a\xc9\xc3\x77\xe1\x85\x58\x6b\x7c\x7c\x32\xf3\x9c\x85\x12\xeb\x24\xc2\x2e\x45\x79\x86\x3d\x1f\x06\x78\x92\xc7\x2a\x2d\x4c\x4d\x9a\xb9\x5f\x16\xbe\xb6\xef\x78\x43\x83\xd3\xd3\x7b\x05\xc0\x74\xd3\xe7\x88\x34\x02\x2e\x9f\xa6\x3c\x19\xa0\x04\x50\xf0\x72\xf1\xcd\x99\x99\xe1\x11\x73\xb9\x31\xb9\xbc\x2f\x9c\x16\xd5\x4e\x1d\x38\xb0\x75\x75\xa2\xbd\x2e\xd3\xbf\x53\xaa\x5f\x72\x84\x6a\xab\x5d\xb8\x5c\xad\xa5\x9a\x61\x76\x5e\x95\xe4\x1b\xa2\xa9\xe1\x73\xf6\xf3\x51\x11\x88\x9e\x0c\x5a\xc5\x9c\xf5\x2d\xc5\xd4\x44\x8c\x00\x75\xb5\x53\xdd\x0f\x18\x8d\x67\x8b\x36\x83\x84\x0f\x86\xb2\x7b\x24\x7b\xe6\x16\x72\x0f\xa6\x32\xda\xcf\xf0\x00\xfe\x35\xf3\x3e\xb6\xf8\x1b\x85\x2c\x09\x93\x87\x68\x0f\x63\xa6\x1b\x16\x62\xb1\x4a\xd6\x8a\xcf\x3f\x24\x7b\x6f\x75\x95\x6f\x3e\xcd\xa8\xfe\xa4\x76\x43\x6c\xa1\x92\x28\xb6\xc2\x3c\xdc\x2f\x30\xe7\x78\xfb\x28\x0e\x44\x27\x7f\x61\xd4\xa7\xd8\x52\x99\x30\xdc\xdf\x22\xe0\x6f\x40\x9a\x86\xa8\xa4\x3e\x4e\x08\x9b\x39\xdf\x96\x51\xb9\x5d\xb6\xe2\xa8\x1a\x7d\xb8\xb7\x00\x33\x81\x28\x8b\x20\x7a\x1e\x5e\x29\x28\xd2\xae\x65\xb4\x08\x7d\x45\x31\x17\x5c\x04\x02\xdf\x70\x1a\x9d\x42\x80\x28\x79\xfb\x95\x66\xcc\xb7\x13\xc5\x48\xf0\xf1\xcf\xc8\x59\x84\xc4\x2f\x48\x49\xfe\x8d\x00\x3b\x2c\xff\xa7\x94\x08\x71\xc2\xab\x3d\x95\xa7\xfc\x04\x64\xd6\xc6\x7f\x3c\x7a\x6c\xb0\x68\x69\x20\x66\x7c\x41\x97\xd1\x66\xc0\x67\x5d\x79\x5c\xc5\xe8\x0f\x3a\x65\xd4\xe4\xfd\xce\x7d\x8f\x1f\x8b\xc7\xd5\xaf\x13\xe7\x46\xae\xd9\x4d\xb1\x2e\x4d\x17\xa5\x2d\x4c\xda\x43\xa3\xe4\x45\x88\x66\xe9\xba\xac\xbf\xac\x75\xed\xe2\x5c\x51\x28\x14\x4b\x8d\xdb\x84\xa0\x52\x6a\xad\xab\xb9\x52\xfb\x12\xc7\x8f\xd1\xef\x2f\xb5\xf0\x5b\xcd\x04\xb7\x75\x0e\x54\x4f\x62\x0e\xa4\x8b\x44\x3b\x13\x43\xd8\xb7\x63\x02\x8d\x45\xbb\x96\xbd\x45\xc6\x54\x53\x71\xc3\xdd\xfc\x68\x33\x64\x94\xdb\x2d\x7b\x05\xfc\x66\x58\x70\x16\xc4\xc3\xf0\x36\xa7\xad\x68\x0f\x5d\xa2\xb9\xdb\x56\xa3\x48\x61\x33\x3c\xad\xd5\xdc\x00\x76\x99\xd4\x4a\x40\x58\xa6\xe2\xe9\xbe\xe7\xf6\xcd\x4d\xc4\x7a\x64\x52\xca\x4c\x62\x05\xa3\x33\xa2\x91\x2f\x98\x02\xf4\x08\x98\x87\xb8\x64\x7a\xa8\x22\x97\xf8\xf3\x3f\xd4\x80\x03\x1f\x67\xda\x3a\x44\x5f\xa5\x1d\xd1\xc2\x50\xa8\xbe\x37\xbd\xad\xc2\x5f\xd9\xa0\xcb\x53\x63\x15\x7d\xbe\x15\xa1\x96\xc2\xff\xdf\xa8\xf4\xca\x95\xfc\x30\x90\x24\xf9\x9d\x30\x02\xa5\xa0\x73\xfb\xbb\xe0\x9b\x4d\x47\x25\x5e\xfb\x96\x58\xe2\xc9\x03\x35\xd3\xdd\xfe\x54\x6e\x3b\x9b\xbd\xc0\x3e\x26\x02\x11\x54\xa6\x04\x3c\xe5\x8d\x16\x99\x29\x33\x08\x53\x66\x56\x31\xf3\xe5\xda\x93\x27\xac\xfd\xd4\x76\x68\x92\xca\xca\x44\xe6\xf4\xa4\xfc\x0b\xee\x6e\x86\x24\x34\x6e\xab\xb5\xb7\x27\xdc\x72\x7d\x62\x12\x30\xef\xe4\x44\xdb\x78\x6f\xfc\x56\xea\x0b\xc1\x03\xd0\xfc\x55\x9d\x4a\x67\x49\x1f\x18\x4e\xfe\x89\x9c\xa7\x7d\x06\xb2\xd6\x34\x83\xbb\x2f\x12\xc1\x1b\xee\x8a\x7c\xdf\xa5\x5c\x94\xec\x24\x4d\x95\x8c\x79\x81\xbb\x22\x99\x6a\xa6\x7d\x05\x6a\x8f\xb9\x00\xe8\x91\xc3\x69\x08\x7f\x62\xd3\xf9\x21\xd4\x0f\x4e\xd3\xbd\x10\x53\x42\xb6\x76\xf3\x43\x39\xae\x77\x70\x9d\x37\x7d\xea\xca\x35\xb1\xfd\xf8\xac\x84\x1e\x71\x32\xe8\xd1\xaa\xe0\xc6\xd2\xb4\x00\xf7\x55\xc3\x8d\xbb\x2c\xeb\xd5\xe9\xbc\x81\x1b\x49\x9d\x16\xf5\x7d\xff\x3b\xed\xdd\x59\xcd\x9c\xc8\x9d\x94\x44\x4a\x6d\x5b\xf0\xf6\xe5\xd0\x4f\xac\xad\x73\xde\xa5\x24\x46\x6c\xe5\x58\x8a\x8e\x7e\xa6\x3d\x2f\x5f\x18\xbb\xe1\x53\xe9\x4c\xec\xb1\xec\x17\x4a\xc4\xd3\xdd\x26\xa8\xc7\x5e\x28\x0d\x71\x77\x76\x23\xeb\xe3\xbf\x09\x1e\xef\xea\x92\x8e\xfb\xff\x2e\xd1\x50\xdf\xd9\xe5\x16\x3a\x62\x42\xf8\xb1\x66\x1a\x56\x88\x32\x71\xcb\x67\x6e\x89\xd9\x99\x0b\xaf\x8b\x05\x6c\x38\x56\xd3\x85\xb8\xb4\x62\xd1\xe5\xb4\x30\x17\x83\x61\x47\x2d\x4f\x54\x6c\x4f\x3d\x41\x8c\x66\x93\xb1\x57\xec\x4f\xd7\xad\x4f\x4a\x9f\xfe\x1d\x7b\x9b\xd5\xcc\x91\xcd\xb2\xb9\x67\xc6\xf0\x20\x6b\x19\x3a\x87\xe1\xf9\xed\x49\xfe\xe7\x33\xe4\xcf\x2a\x7a\x10\x15\xe6\x9b\x41\x24\x11\xff\x87\xf3\x95\xbd\xcc\x8a\x6b\xbe\x50\x0d\xc9\x60\xe6\xe6\xb3\x6e\xf5\x46\x47\x78\x29\xeb\x47\xff\x52\x50\x45\x25\xbd\x35\xc4\x5c\xfd\x7d\xb7\xae\xda\x12\xc0\xbc\xa9\x33\xdb\xb5\x52\x75\x75\x9b\xde\x08\x57\xe7\x2d\xcc\xe8\xf1\x1f\x99\xfe\x98\xdf\xfa\x32\xd4\x14\xd4\xe6\xfb\xb9\xfa\xf4\xa5\x47\x89\xa2\x12\xfe\xab\x0f\x9d\x92\x8b\xf4\x1a\x0e\x25\x76\xcd\x6f\x4d\xff\xdd\xcd\x6b\x20\x78\x07\x86\xef\x42\xf8\x75\x46\x8e\xe9\x4e\x37\xd7\x82\x6b\x56\x29\x31\x32\xf0\x64\x42\x21\x08\x34\x0d\xf9\xe0\xae\x2e\x0a\x92\x8a\x4e\x91\x03\x38\x4f\x2c\x66\xbd\xfa\xa7\x12\x9c\x7f\x32\x54\x69\x56\x0d\x75\x8b\xb1\xe4\xc4\x64\xdb\x4c\xf2\xae\xed\x7a\x79\xa7\xf9\x1b\xca\x75\x98\x67\xd1\xf0\xc2\x92\xcc\x3b\xa6\x19\x4b\x73\xdf\x27\x0f\x5e\xa4\xa7\x12\xa0\x79\x2b\x83\x1a\x37\x55\x55\x4f\x9d\xa8\xfb\x42\x99\xf8\xd0\xb6\xea\x2b\xad\x24\xb4\x25\x4f\xbb\x39\x65\x6c\xd5\xa5\x2a\x91\xda\x63\x40\xaa\x89\x05\x46\x89\x04\xf5\x63\x36\x14\x67\x67\x05\xf4\x4d\x55\x7f\x5f\xd9\x7e\x31\x66\x84\xa6\x76\xbd\x56\xbb\x35\x0d\x89\x10\xf3\x2d\x56\x0d\x9b\xdc\x30\x1d\x8f\x18\xc1\x20\x17\x29\x5f\x44\xf1\x7b\xbd\xf3\xd4\xb3\x62\x31\x1b\x19\x96\x23\x51\x7c\xe6\x83\x6b\x9e\x39\x3d\xad\x3f\x87\xf7\xe4\x50\x6f\x99\xc1\x9e\x63\xd6\x73\xbb\x1f\x1f\x83\x24\x26\xf1\x16\x9d\x7d\xd3\x42\x6f\x57\x54\x87\xe2\x22\x4d\xc2\x0c\xa7\xbc\x3d\xa0\x44\x79\x24\x2c\x49\x9c\xd7\x08\x4e\x01\x2c\xda\x86\xb1\x09\x77\x99\x03\x49\xcd\x78\xfb\x45\x8d\x8f\x11\xa7\x36\x90\xbd\x78\xe0\x6e\xa1\x43\xd4\x43\x1f\x2d\xa1\xf8\x1c\x99\x2c\x9d\xcf\x95\xd2\xda\xcc\xb2\x59\x0d\x3a\xdd\x79\xa5\x7e\xb1\xcc\xca\x9d\xcb\x17\xd8\x8c\xa8\x8e\x3d\x59\xa2\x07\xc3\xe2\x9e\x63\xcf\x2c\x54\x78\x65\xa1\x71\x55\xa2\x6b\xe7\xe0\xdd\x2a\x4f\xeb\xe6\x54\x71\xf4\x5c\xb1\x45\x1c\xd8\x07\xac\x80\x2a\x84\xe2\x2f\x00\xd8\x92\x2f\x89\xaa\x4e\x53\xe4\x7f\x55\x1e\x66\x3a\xec\xf5\x89\x96\x62\x8d\xfc\x3f\xd5\xc4\xab\xa7\x48\xd2\x74\x03\x24\xd9\xb6\x55\x66\x75\x87\x86\x64\x48\x22\x85\x1a\xa4\x24\xb6\x32\x6b\x51\x0c\xcc\x2f\x8b\xad\xcf\x57\x17\x69\x58\xfb\xfe\xcd\x1a\x4e\x1b\xee\xb6\xce\x78\x0d\x1c\xb0\x72\x36\xfd\x9c\xba\x5f\x79\x7b\x3f\x32\xc2\x17\xda\xbd\xcd\xf3\x43\x7e\x7b\x93\xee\xda\x75\xd5\x38\xe5\x99\x1b\x7c\x86\x0e\xdc\x81\x1c\xb9\x53\x66\x95\xe9\x2b\xe3\xa2\xef\x7b\x06\x96\xea\x33\x17\x98\x30\x60\xbb\x77\x17\x62\x63\x43\xf3\xd5\x0f\x91\x51\xd8\xf4\x2b\x7a\xc6\xaa\x5c\x54\x9f\x7f\x2d\x0f\x1c\xe9\x1f\x7b\xf8\x5d\xde\x02\xa3\xce\xbe\x36\xd5\xd1\xae\xc2\x63\x91\x3f\xc2\x38\x96\x5a\x7e\x7c\x82\x26\xc4\x65\x13\xf3\x1c\xae\x44\x9d\x96\x39\x71\x57\x93\x32\x52\x2c\x59\x2b\x96\xbd\x13\xb8\x79\x3c\x60\x4f\x77\xef\x41\x9a\x62\x7a\x36\x7c\xb6\x5d\xdc\x3a\x71\xa7\xe4\x5a\xdf\x4f\x17\xf7\x56\xd6\x67\x4d\xf1\xd2\xcc\xa5\x69\x63\xcc\x6b\x4a\xcb\x30\x05\xc0\x3d\x2c\x9e\xfa\x89\xf2\xcc\xd2\x34\xda\x2c\x61\x6d\x22\xd3\x1d\x88\x1a\xa6\xf4\x52\x43\x23\xf8\xdb\x2c\x63\xe1\x0c\x66\xa2\xac\x1a\xca\x5a\x1e\x36\x52\x63\x47\xbd\xc5\xa2\x3a\xba\x29\x11\x1f\x65\x8c\x09\x09\xfd\x9a\xc2\x65\x49\x17\xbd\x16\x1b\xdd\x72\x0f\x36\x2e\xea\x10\xf4\x5a\x3b\x97\xcd\x50\xb0\x2b\x4f\xd3\x29\x88\xd3\x24\x16\x5c\xc1\x77\x49\xa2\x56\xec\xc2\x28\x68\xef\xf6\x60\x7a\xb4\x7b\x25\xcf\x66\x70\xba\xfb\x78\x6c\x09\x7d\xe8\xa5\x1a\x6f\x9f\xd1\x6e\x1b\x72\x0d\xb1\x95\x37\x9a\x25\xd3\xa7\xff\x1c\xb8\x7b\x9e\x1f\xaf\x0d\x9b\x13\xe1\x78\x03\xaa\x6d\xa1\x1d\xa7\x06\xbd\x31\x6f\xd0\x92\xb3\xf4\x69\x83\xf1\x71\x13\xb0\xe4\x20\x12\x4a\xd6\xca\xdc\x4f\x9a\xaf\x27\x56\x21\x89\x99\x22\xb7\x12\xb0\x3d\x89\x24\x15\x0a\x0d\xd1\x97\x34\x84\xc2\xf8\x4b\x53\xba\x2b\xea\x91\xc2\xca\x26\x5a\xda\xdb\x99\x83\x91\x27\xa4\xe6\x86\xa5\x59\x8e\x0e\xe0\xd0\x5e\xdb\x16\xb7\x05\x65\xbe\x05\x02\xcc\xe6\x7e\xff\xff\xf7\x7d\xe2\x96\x2c\x85\xc2\x78\x27\x22\x73\xa3\x6f\xdf\xae\x64\xb1\xc7\xfd\xb1\x1f\xa3\xdf\xbd\x7d\x7b\x2e\x08\xe7\x6b\xe8\xc8\xc8\x54\x4a\x59\x3b\x66\x66\xea\x96\xef\x85\x8e\xd7\x6a\xa7\x4b\x56\x92\xb8\x1c\xbc\x42\xef\x2b\xd1\xf6\x6a\xc5\xdc\x01\x1d\x71\x4d\xae\x57\x4c\xaf\x22\x9b\x1b\x65\xf5\x2f\x9d\xd7\xb6\xbb\xdf\xbb\x59\x66\x99\xfd\x8c\xf4\x78\x77\xa2\x49\xf5\xf2\x3a\x6b\xeb\x91\x49\xeb\xe8\x71\x2e\x86\x87\xc7\xb2\x08\x9c\x64\x4c\x57\x69\x6d\xee\xfc\xb8\xb3\x5d\x1e\x00\xc9\x97\xf5\xc2\xc7\xfb\x5d\x0d\x66\xcf\xe2\xb8\x29\x82\x42\xe1\xea\x7b\x6c\xb2\xd6\xbb\xb7\xc1\x1d\x60\xee\x8c\xb1\xca\x6a\xd6\x7e\xa3\xde\x86\xde\xe9\xaf\x3b\xc4\x81\x3b\x7e\xad\x37\xb1\xc5\x2d\x7a\x41\xc1\xef\xd8\xd7\x58\xc1\x27\xac\xce\x0e\x74\x62\x9f\x8d\xd8\x1c\x83\x57\x4f\xd5\x2e\x98\xcb\x1f\x24\x00\xf4\x06\x47\x53\x30\x52\xc9\xe4\x13\x11\x61\xa1\x11\x23\xe5\x51\xb8\xde\xfe\x08\xfd\x50\xca\x1d\x4f\xc9\x7c\xda\x50\x5b\xaa\x9b\x0c\x86\xe3\xf9\x25\x60\x43\x12\x29\x63\xff\x9a\xc5\xc0\x22\x17\xd6\xcd\xbd\x64\x44\x31\xca\x7f\x78\x70\x5f\x73\x2a\x35\xc5\x61\x63\x3c\x9b\x76\x1f\xfa\xc8\x50\x0b\x1f\xdb\xec\x63\x9b\x71\x60\x7b\x44\x38\x86\x53\x68\x76\x10\x92\xec\x90\x69\x20\xfb\xfa\xce\x57\x03\xd9\x09\xa7\xf3\x77\xfa\x70\x6b\xee\xe0\xe6\x52\x12\x7c\x18\xf6\xbd\x1a\x4f\x9a\x32\x2f\x6e\xd0\x40\x92\x36\x4d\xe1\xb2\x00\xcd\x52\xe8\xd5\xab\x42\x7c\xa9\x10\x98\x5c\x15\x55\x6e\xa1\xa4\x0b\x5e\xc3\x6c\xaf\x73\xdd\xc2\x05\xb4\x3d\x10\x5b\x7b\xac\x97\x1e\xa5\x41\x03\xae\x05\x3f\xb2\xf1\x0c\x7a\x4a\x5f\x10\x52\x36\x02\x04\xad\xfe\x53\x41\x83\xe5\xbf\xe3\x09\xbf\x8c\xfa\x8f\xa0\xb5\xfc\x6f\x98\xa8\xff\x77\x6e\xb6\x96\xfb\x7e\xe1\xe1\x9e\x47\x4b\x0f\x2b\xf7\x28\x75\x68\x4b\xb9\x37\xd9\x03\x01\xfa\xe1\x14\x2c\xb9\x07\x06\x0f\xce\x16\xe7\x48\x81\x0c\xff\xe2\xba\x94\xc7\xf9\xc8\x11\x87\x51\xb8\xdb\x2f\xb0\x9a\x2c\xbf\xa7\xbf\x5a\x8b\xf4\x79\x92\x28\x4e\x5a\xe8\xfd\x8c\xf6\x79\x0a\x88\x8b\xfb\xba\xc9\xa7\xb5\xb3\xe6\xf6\x65\x2b\x75\xce\x68\xad\x43\xbe\x3c\xc6\x2f\xef\x2c\x73\x09\x77\x79\xa8\xbf\x23\xf1\x6a\xd7\xd8\x49\xe7\xf0\xc0\xa6\xe8\xaf\xb5\x9f\x7b\xf1\xd2\x8e\x12\xfe\xb4\xfa\xc9\x2c\xd9\xbf\xf2\x25\xee\xa5\x83\xce\x60\x05\x53\x22\x5b\x3b\xb4\xdd\xfd\x5f\x7e\x60\x1b\x21\x3e\xec\x5d\xfa\xdc\x8e\x13\x2a\xce\xda\x74\x5d\x38\x4a\x99\x75\x1b\xd7\xb7\x0f\xcd\x75\x4f\xc1\x0d\x89\xd5\x0e\xd5\xa1\x48\x3e\x88\x8a\x08\x68\xef\x4c\x6b\x71\x37\x67\xe2\x12\xb8\x52\x32\x16\xf6\x2c\xca\xaa\x91\xba\x18\x5a\x5d\xc6\x7c\xa0\x90\x24\xac\x43\x5a\xa5\xac\xe4\x6d\x0d\xb6\xd6\xee\xf4\xad\xc3\xf2\x71\xa2\x17\x03\x58\x01\xa7\x81\x09\x9c\x4c\x72\x53\xf9\x8f\xdf\x4b\x62\x1f\x9f\xcc\xed\x99\x9e\xfe\x97\x12\xd3\x25\x48\xbe\x89\x85\x2f\xba\xce\xcc\x1a\x77\x8d\x3e\x0f\x47\x9b\x39\xc2\x28\x7c\xf2\x76\xed\x76\x0f\xf3\xa0\x4e\x6e\x4e\x76\x58\x0d\x4e\x0a\xd0\x80\x60\x70\xbb\xd2\xc7\x0e\xc3\x19\xd1\x2b\x03\xc9\x7b\x28\xa4\xbb\x75\x03\x5c\x1f\x9c\x20\x73\x04\x8c\xbb\x51\xc8\xfa\xb3\x70\x0b\x87\x0e\xdd\xa8\x33\xb9\x99\x71\xc5\x5c\x92\xf6\xcd\x9f\x9c\xe8\x24\x12\x19\xd1\xef\xb5\xa7\x8a\x3b\x51\xd8\x53\xc5\x99\x7a\xc1\x0e\x89\x5b\x6a\x6c\x09\x8a\x36\x6e\x98\x20\x06\x38\x85\x44\x54\xe4\x1b\x7d\xb5\xe9\xb9\xe3\x94\xa8\xf6\x50\x8a\x45\x02\x09\x25\x81\xba\x42\x57\xf0\xfe\xaf\xd8\xad\x16\x14\x8e\x59\xab\x1a\x77\x17\x85\xb7\x2e\xc0\xed\x1d\xd1\xe2\xb4\xe5\x89\x21\xa1\x9c\xbd\xa7\x2f\x14\x5e\xb2\x6d\x64\x53\x5a\x7e\x6a\x3d\xb8\x2a\x51\x67\x64\xfd\xe2\xa8\x8e\xd1\x30\x74\xc3\xc6\x1c\xb1\x5d\x86\x9f\x05\x05\xa2\x81\xc3\x71\x16\xc1\x2d\xee\x2e\x50\xa7\x4a\x42\x70\x96\xea\x31\x09\xe0\xd8\xab\xe0\xc4\x61\x74\xff\x6c\x89\x2f\xfa\x83\xf1\x79\xf2\x70\xd7\xf9\x71\xc6\x7b\x7e\xc7\xd1\xf8\x54\x4f\x48\xd3\x05\x8c\xa6\x36\xf7\x04\xd7\xfb\xb4\x1d\x09\x75\x85\x4e\xa2\xff\xa3\x77\x59\xb9\x7c\xc3\xf6\x0a\x41\x98\x56\x72\xcf\xec\x77\x44\x08\x68\x34\x4b\x6b\x96\x16\xa2\xf1\xc1\x2b\x0d\xe1\x2f\xbe\x40\x0d\x40\xd5\xc6\x4f\x1e\x9c\xfb\x07\xfd\x19\x94\xbe\x4a\xfc\xec\x01\x5a\x42\x31\x5b\x87\x3f\x6c\x7b\xf9\x4a\xd5\x8a\xfc\xa3\xad\x1b\x71\xa4\x39\x50\x76\xad\x6f\x00\x59\x36\xc7\x43\x4a\xb0\x82\xba\xb8\x83\xf7\xa9\xfd\xcc\x0e\xd2\xc9\xe7\x24\xb5\xb7\x94\x48\x60\x37\x06\x45\x69\x8d\xaf\xa8\x29\x2a\x65\x4b\xc1\xa3\xd8\x82\x59\x08\x38\x7f\xa9\x97\x7b\x56\xbb\xa2\xab\x29\x62\xa7\xd0\x0c\x70\x4e\x76\x2f\x41\xd9\x25\xe5\x82\x3b\xdd\x75\x1d\x68\x87\x28\x77\xcc\x83\xbc\x6c\x7d\xa2\x2a\xd1\x34\xcb\x79\x7c\x75\x56\x3a\x07\x26\xe0\x2a\x50\x3b\x4c\xf1\x18\x51\xee\x99\xf3\xf3\x67\x2a\x7d\x4f\xbe\xcd\x57\x3b\x13\x78\x54\xbf\x21\xb8\xba\xd8\xf6\x46\x82\x5b\x0c\xa5\xf9\xad\x6f\xe9\x0d\x6c\x95\x88\xbe\x2a\xfa\x1a\xb0\xa7\xb4\xc0\x4b\x06\x01\x95\x84\x4b\x87\xe2\x55\x76\xb6\xdc\xbc\xc6\x8c\xd9\xab\x4e\x59\x34\x9b\x24\x47\x64\x2b\x84\x33\x95\x24\x4b\xc0\x56\x5a\xd1\x18\xbe\x0e\xb8\x46\x26\x11\x46\x75\x52\xf6\xa5\x6a\x2e\x47\x4e\x9b\xac\xdb\x96\xca\x35\xc6\xb4\xca\x08\x72\x65\x19\x13\x76\x76\x16\x9f\x19\x76\xa5\xfc\xfa\x05\xc8\xac\x32\x4d\xfa\xea\x43\x5b\xcc\x29\xcf\x18\x7c\xc8\xdf\x01\x65\x47\x79\x62\x10\x18\xa7\x7b\xf8\x29\xda\xbb\x03\x8e\xbd\x90\x2e\x15\x49\x7b\x6c\xda\x31\xa7\xa6\xfc\xa0\x43\xc0\x06\x97\x65\x85\x73\x5a\xe8\x74\x11\x8d\xc3\x68\xd1\xc6\xc9\xbb\x91\x52\xc3\xa6\x01\x47\x70\xc6\xc3\x15\x37\x3f\xbd\xb8\x28\xa7\x64\xb1\xc6\x57\x84\x5e\x3d\xb7\x0d\x08\x0a\xa0\xc4\xd9\x26\xf5\x66\xf0\x56\x03\xbb\xf1\xcd\x9e\x07\xb7\x69\xcf\x9f\x12\x5c\x1b\xb4\x87\x91\x47\x17\xce\xf5\x9a\x36\x24\xde\x05\xb0\x24\x92\xb8\x75\x50\x3d\x07\x6f\xe7\x75\x38\x37\xbf\xd4\x1e\xbd\xec\x9d\x5b\x9e\x25\x3e\x60\x3c\x15\x0e\x9e\x2e\xf7\xcb\x24\xc7\x4d\x74\xd3\x97\xb6\x42\x29\x47\xaa\x6a\x53\xae\x51\xe3\xe6\xc6\x55\x64\xfc\x60\x8e\xe8\x53\xb6\x22\xb8\xa7\x1f\x33\xb7\x99\x1d\xc9\xbd\x85\x7d\x4d\xd7\xb1\xb3\x54\x0b\x74\x68\x3f\xf4\x17\x37\x9f\xb1\x06\xed\x5d\x9b\xe1\xd0\xf7\x84\xf2\x97\x69\xa2\x45\x48\xe5\x15\x89\x9f\x7a\xc5\x9f\xfd\xe5\x7c\x15\xa7\x2d\x9f\xc1\x19\x14\xd5\x74\x64\x86\xa7\xbf\xdb\x91\x2c\xfd\x3a\xcb\x44\xcf\x07\x9a\x1b\x92\xa9\x16\xd0\x6a\x37\x6c\xc1\xdd\x04\x44\x00\x36\xd9\xa7\x17\x2d\xfc\x86\x8f\x02\xb7\xd4\xc1\x2b\xa7\x7d\x5a\x55\x34\x9f\x5e\xae\xe7\x78\x4f\xb5\xdd\xbc\x9d\x9f\x66\xc5\xfc\xd8\x51\x1e\x48\xf8\x1b\x14\x10\x0b\x8d\xc2\xea\x55\x3b\x22\x49\x7b\xf7\x29\x91\xdc\x31\x85\x04\x8d\x5a\xc0\xb0\xf8\x1a\x2e\xf5\xd8\x17\xc5\x07\xe1\x94\x12\x40\xf3\x88\x9b\x32\xf3\x84\x96\xa9\x62\x03\x2b\x71\xba\x7a\xf3\x56\xf0\x9b\x0b\x81\x73\x5e\xc6\x3e\x9f\x1f\x1e\xaf\x04\x02\x56\x5b\xc5\xb5\xa5\xef\xc5\x2d\x1f\x18\x35\xce\x76\xbe\x80\xa1\xb4\xf1\x5d\xe8\x9a\xae\x96\x97\xda\x63\xa6\xfb\x22\xfc\x8d\x22\x66\x88\xf9\xc4\x5c\xa5\xdf\xac\xaf\xe3\x9c\x3c\x8c\xdb\x8b\x63\x79\x1e\xad\x98\x23\xb6\xc5\x51\x6a\x9f\x36\x64\x72\x7f\x23\x01\xa7\xc8\x91\xb3\x82\xde\x14\x4a\xed\xcb\x34\x6c\x12\x1a\xf2\x4f\x16\x06\xee\xdf\xc6\x28\x79\x0e\x87\x16\xef\x4e\xf5\xcd\x7d\x24\x6d\x8e\x0c\x5b\x9a\x04\x2d\xcb\x7c\xf3\x93\xd4\x88\x2a\xfd\x11\x1d\x94\x53\xf1\x8a\x5c\xf7\xd1\x9c\x8d\xfe\xe8\x87\x89\x40\x12\xff\x0b\xcb\x40\x0a\xdd\xe0\xa4\x08\xa8\x69\x65\x27\x9a\x6d\x82\x9f\x27\x71\x24\x9d\xb4\x12\x73\x27\x42\x03\x9a\x7f\x81\xc6\xe0\xa9\xbb\x41\xa9\xb9\x64\xf3\x29\xf6\xf0\x2e\x06\x88\x2a\x09\xf9\x5f\x79\xb6\x8e\x23\x7a\x5f\x17\x19\xd0\xab\x5f\xee\x0f\xcf\xf1\xf4\x7b\xbd\x13\xea\x5f\x61\xac\x5f\x3d\x2b\xe4\x8a\x92\xd3\x8c\xcf\x9e\x27\x50\xf4\xdc\xba\x77\x0d\x47\xd4\x4a\xee\xd6\x6c\x2e\x8b\xba\xfd\x72\xa8\x71\xfb\x5a\xc8\x76\x1f\x44\x28\x9d\x44\x43\x19\x18\x47\x8f\x26\xe3\x43\xe9\xd8\xb1\xc3\x21\x11\xa1\xf2\x93\xaf\x3d\x92\xc7\xa3\x7a\x34\x85\x82\x8a\x76\x28\xa3\x24\x3b\x03\xbc\x7b\x06\x88\x1b\x32\x1a\x14\x14\x20\x40\x8f\x69\xc7\x98\xfc\x75\xdf\xee\x07\x70\x63\xd2\x45\xc3\x14\xec\x0a\x1a\x09\x68\x68\x00\x09\x73\xe4\xcf\x3e\x0d\x13\x81\xd6\x4c\xb6\x5e\xeb\xa2\x66\xef\xda\xbb\x77\xbe\x0d\x54\x57\xde\x9f\xb6\xff\x07\x52\xd9\x0d\xcc\x2f\x5f\xb9\x49\x1e\xaa\xc4\xa6\xc4\x4d\x27\x42\x7f\x2e\x9e\xb4\xd8\x2c\x50\x9a\x2d\xe8\xfa\x48\xca\x6a\x29\xfd\xfe\x25\x50\x7f\xf9\xbd\xbe\xf4\x44\x70\x32\xdb\xc8\x5e\xed\x5e\x77\x8d\x60\x4b\xd6\xab\x81\x4b\xe8\x03\x50\x61\x3e\xce\xbe\xef\xab\xa5\x6a\xcf\xa8\x67\xea\xf8\x29\xfd\x4b\x53\xfc\xd3\xd9\xbc\x12\xee\x64\x47\x46\x59\x47\xcc\x24\x93\x15\xaa\x95\x15\xf8\x58\x60\x88\x0c\x37\x25\x92\xd2\x80\x63\xb2\x4b\x91\xda\x51\x16\x4f\xb9\x1b\xc1\x8f\x81\x22\x42\xd5\xa1\x1b\x42\x95\x27\xab\xe8\xb6\x5e\x10\x2e\xeb\x60\x22\xf0\x86\x3b\xca\x47\x7f\xa2\x06\xd3\xff\x80\xc8\x6c\x65\xd4\x92\xad\x4f\x5e\x6c\x89\x83\x3a\x99\x51\x19\xa1\x3e\xec\x34\x35\x65\x1b\x16\xf8\x1a\x3d\x5b\x37\x24\x7a\xbd\xa7\x05\x83\xb4\x7f\x0c\xe1\x69\xbf\xe5\x46\xf0\x5c\x2a\x42\xf4\x0e\x14\x27\xc7\x9d\xc6\x41\x96\x0c\x05\x6b\x6f\xde\x02\xb8\x90\xe7\x4d\x46\x63\xbc\xc0\xdd\x10\xbe\x84\x85\xa7\x02\x17\x33\x7c\x80\xd3\xac\x25\x76\xf1\xa2\x3e\x21\xd2\x1c\xb4\xaf\x5d\xd8\xc2\x80\xa5\x9f\xd8\xf6\x89\x27\x21\x09\xf0\x1e\xef\x7d\x3a\x78\x69\x89\x17\x2f\xea\x78\x63\x52\xb1\x5e\x01\x57\xa5\x8b\x49\xab\xf6\x86\xb6\xdf\xe1\x43\xfa\xef\x9b\xa6\xdf\x7a\xe4\xf3\x5f\x60\x7e\x63\xfe\xa2\x9a\x56\xa6\xef\x46\x76\x66\x8f\x5d\x35\x4f\x6e\x14\xfb\xac\x43\x82\xf2\x3f\xc5\xdd\xd2\xb7\xba\x37\xac\x39\xa1\x9f\x27\x5d\xa6\x2f\x67\x7d\xa1\xe7\x82\xd6\x83\x69\x04\x81\xde\x55\x49\xc8\x83\xa9\xae\x4f\x92\x74\x16\xda\xf0\xbe\xad\xcc\x92\x06\xc2\x3f\xcd\xd5\x6b\x8c\xe7\xe7\x17\x02\x3a\xd2\xc8\xd5\xd0\x5b\xf9\xdc\x3e\x54\x53\x69\xc3\xf4\xa1\x10\xa0\x04\x98\x9b\x9c\x1c\x45\x3c\x37\xf7\x1a\x45\x2d\xef\x4e\x09\xd8\x90\x77\x3b\xe7\x6d\x44\x08\x8d\xaf\x75\xd6\xc7\xe4\x5b\xc5\x1d\xea\xca\xc5\xd3\x06\x7a\xc4\x2b\x39\xaa\xc9\x67\x5f\x50\x1a\x4f\x24\x1f\xde\xcb\x55\x59\x4e\x94\x81\x5b\xbb\x23\x6a\xad\xa2\xdc\xfb\x0f\x49\x26\xf5\xc3\xd3\x33\x96\x5c\x65\x34\x6e\x85\xcf\xd7\x11\x85\x29\x1d\x52\x76\x63\x78\xeb\x2f\xf4\x56\xd2\x43\xc4\x3f\xdd\x4b\xf5\x87\x9d\x89\x9b\x67\x7b\x1f\x47\xb9\xfa\x58\xf9\x92\xb2\xb6\x22\x62\x17\xac\xe3\x28\xe3\x36\xce\x0b\xbc\xca\x9b\xbd\x7c\xba\xa9\xf6\xf2\x09\x52\xf0\x72\xd1\x49\x9c\xc9\xe0\x26\xc0\x2d\x4e\xd5\xb1\xdc\xcf\xf9\x2a\xa7\x3f\x8e\x86\x32\x42\x70\x45\x59\x50\x0b\xd1\x17\x5b\x00\xa4\xdd\x2e\xff\xa0\x85\x72\x3f\xfd\x67\x4f\xa3\x01\x68\x92\xbf\x2f\x25\x6c\xe4\xaf\xfd\x52\x4f\xb8\x13\x45\xbc\x0d\xba\x66\x1d\x20\x4e\x3d\x64\x26\xfe\x75\x5f\x71\x62\xc0\x3f\x0c\x58\xc2\xb0\x82\xdc\x13\x66\x04\x3a\xd8\xcc\x4a\x2f\xac\x0b\x93\x7d\x3f\x28\x75\x8b\x36\xbe\x8b\xa3\xcf\x50\x98\x22\xf8\xb3\x4c\x7e\xd7\x69\x56\x2d\xdf\x67\x31\xed\xe8\x59\x42\x1c\x67\x82\x06\x09\x14\x98\x1c\xdc\x18\x14\xfc\x0c\xfe\xec\xa4\x7d\x17\x48\xa4\x4b\x32\xa0\x34\x05\xe9\xb5\x96\x72\x29\x08\xa9\xdb\xa1\xc8\x23\x7c\x74\x69\x08\xeb\x40\x40\xa3\x1d\x86\x4a\xe6\x52\x18\x5b\xc5\x19\xc4\x6b\x0d\x78\xa6\x93\xc9\x0f\xd8\x63\x02\x03\x45\x5e\xf1\xe0\xec\x0e\xf2\x49\x32\xdf\xb8\xb0\x64\x56\x6f\x95\x71\x50\xcd\x1f\x87\xb9\x6b\x5a\x61\x32\xdb\xd7\x48\x82\x2f\x8e\x1b\x3d\x28\xb8\x63\x5b\x6c\x57\x25\x69\xd6\x1b\xb8\x1f\xa3\xb7\x63\x58\x00\x82\x63\x88\x0f\xc1\xa3\x68\x50\xc6\x71\xb7\xd3\xe9\x36\x89\x12\x19\x63\xfc\x4d\xf2\x3f\xbe\x0b\x7d\x1f\x69\x53\x68\x87\x52\x6d\xd0\xe8\x5d\x1e\xf9\xd0\x15\x36\x3b\xf4\xa8\x9f\x96\x8d\xda\x3f\x27\xaf\xac\xf2\x04\x83\x42\x7d\x67\xc5\xd9\x4d\xab\x6d\xf4\xee\xc7\x9e\xeb\xec\xcb\x43\x6a\x2c\x76\xb4\x9c\xcf\xd4\xb1\xaf\xa0\x3e\x89\xfa\xa7\x0f\x97\x47\xf0\xc0\x16\x7f\x92\x2b\x7a\x59\x6c\x3f\x47\xe8\xdc\xa6\x2a\x7b\x82\xb1\x12\x2e\xec\x6d\x37\xe4\x41\xc7\x54\xaa\x5e\x31\x44\xe5\x22\xa5\x3b\x52\x8e\x55\x72\xf0\xa0\x10\x84\x22\x62\x68\xf8\xa6\x0e\x6c\x71\x77\x24\x92\xb1\xd4\x2f\x67\x79\xbe\x52\xbf\x6d\x5a\x70\x87\x25\x14\x8b\x30\x42\xce\x15\xcf\x9d\x23\x34\xff\x62\xc1\xe8\xe8\x5c\x71\x30\x6e\xed\x08\x09\xee\x4e\x5d\x4d\x89\x3c\xbe\x71\xeb\x88\xce\x4e\x97\xd4\xf5\x7b\xd4\x88\x86\xcd\x68\xcc\x40\xfe\xfc\x31\x3f\xbb\xdb\x7e\x8b\x74\xf9\xf2\xc0\xea\xc2\x36\xcd\x9c\xd8\xda\xc1\x54\x9d\xb8\x6b\xa7\x8e\xd5\xcc\x86\x0f\x1e\xd2\x99\x19\x0f\xd2\x87\xfb\x5c\x4d\x08\x00\xe5\x7c\xc0\x74\x20\x10\xd3\x35\x4f\x3c\x34\x3e\x20\x4a\x0e\xe7\x7d\xbe\xde\x19\x2c\xff\x51\x1d\x72\x51\x2a\xcd\xaf\xf6\x9b\x41\x5c\x15\x27\xf5\x29\x79\x05\x7a\xd4\x27\x86\x1d\x13\x4b\x64\xd8\xae\x06\x44\x8d\xf6\x57\x64\x69\xbc\x40\x67\x7a\x75\x27\x31\x5c\x15\x7d\xbb\x5e\x71\xc1\xe7\xcf\x49\x3c\x06\x3e\x65\x5e\xd6\x68\x29\xc8\x51\x2a\x1e\xb9\xf4\x14\x6c\x7a\xad\x7f\x42\x80\x6c\x3f\x0b\x67\xdc\xf9\xb2\x01\xd4\xf7\x8a\x8b\xca\x03\xcd\x47\xd6\xee\x5a\x9b\x1a\x1a\x82\xbe\x30\x60\x12\xb3\x07\xe5\x7e\xfb\xdd\x07\xea\x93\x39\xa3\x3c\x21\x3a\x04\x95\x88\xce\x2b\x92\xa9\x78\xdb\xa3\x22\x22\x70\xaa\x5b\x85\x57\xc5\x7d\xf7\x8f\x15\x22\xe2\x59\x7c\xca\x92\x91\xaa\x3e\xf7\x2f\x69\x65\x2b\x55\xb6\x72\xaf\x1f\x57\x97\xe9\xd1\x57\x73\x36\x0a\x94\x67\xed\x2a\x9d\x44\x7d\xec\x7a\x81\x79\x6e\x2b\xe1\x88\x85\x77\x55\xd3\x8b\xd6\x89\xeb\xcd\x66\xa9\x14\x0f\x47\xbf\x03\x25\x21\xa9\xbb\x88\x4c\x5b\x23\xfe\x83\x22\xd1\x68\x32\x99\x66\x6d\x68\xff\xd2\x7c\x46\x71\x62\x7d\x2a\x95\x48\x88\x08\xa9\x23\x7a\x9c\xb4\xb1\x1f\x6e\x56\xcb\xb4\x80\x99\x5d\xf6\x78\x41\x20\x98\x31\x8d\xae\xa2\xa5\x6d\x01\xb7\xa9\x1f\x6b\xb1\x0a\x09\xd7\x82\x56\x12\x10\x7c\x3d\x08\xc4\x40\xbb\x3d\x85\xc1\x4f\x42\x07\xb0\x7a\xc6\x50\xbc\x64\xf3\xc0\xc9\x35\x56\x72\x6c\x24\x00\xbd\xa1\xd1\x5a\xd5\x84\x38\x90\xbb\x83\xb4\x38\x5e\xcf\x8f\x98\x71\x70\x28\x3a\x41\x36\x4a\x35\x50\x59\x32\x09\x09\xc3\xa8\x56\x1e\x99\xb5\x0e\x27\x47\x94\x89\xce\xcc\x70\x65\xe6\xe1\x9d\xad\x5c\xb6\xaa\x68\x6a\x93\x16\x1f\x1d\x0e\xa2\xd2\x70\xa1\x31\x61\x84\x8e\xca\x77\xc5\xca\x93\x53\xb9\x41\x03\x08\x24\x13\xd3\x7c\xbd\x48\xc1\xf5\x45\x23\x37\xd1\x87\xd5\xd2\xe0\xb4\xdc\x7c\xfe\xd0\x70\xb2\xde\x1c\x2a\xea\xca\xc4\x0a\x9b\x07\x60\xe5\x44\x5d\x5a\xf3\x94\x8c\x42\x2d\x92\x80\x5c\x36\xcb\x13\x69\x57\x0f\x78\xcc\x88\x47\x8d\x04\xfa\x90\xfa\xfe\xef\x0e\x47\x47\x92\x10\xa0\xd7\xae\x7e\x8d\x59\xba\x4a\xa9\xbe\x54\x37\x4d\x71\x5e\xc2\xe8\xba\x23\x82\x30\x81\xa7\xe4\xd8\xc3\xb5\x71\x87\xbe\x04\x1a\xf3\xd7\xcb\xea\x62\x8b\x30\x9a\x4b\x56\x6f\x74\xf1\x5b\x0d\x8a\x19\xd5\x96\x6d\x11\x0e\x5e\xe7\x6b\x20\x17\x6b\xb4\xba\x2d\x64\xcb\x70\xda\xdd\x9f\x7f\xff\xaf\x5e\x0c\x4a\xf4\xdd\x64\xf6\x33\xa2\xc7\xdd\x95\x46\x1a\x13\x8f\x46\xcf\x54\xe6\xcf\xba\xdb\x97\x9d\x39\x6f\x93\x5c\x53\xe3\x02\x38\xe7\x03\x19\xd1\x71\x6b\x10\xea\x22\x81\x02\xcf\x83\x78\x4c\x5f\x3a\xaf\xf8\x1c\x50\x9c\x8a\x4c\x68\xc0\xa5\x30\x21\xdc\xde\x69\xcb\x8c\x0e\xd4\x17\x7b\xe8\xe8\x38\x1b\xb5\x3a\xb9\x9e\xf3\x7a\x45\x0d\x04\x20\x18\xae\x4f\x79\xfa\xab\x8b\x2f\xd0\x98\xe0\x6c\x0d\x2c\x29\xf3\xb4\x47\xbe\x86\xf2\xe7\x8d\xc5\x71\xce\xf2\x51\xb6\x14\x98\x1b\x52\x19\xf3\x0e\x60\x81\xb0\x5c\x15\x0b\x4a\xf9\x3e\x5b\x8b\x1b\x00\x94\xa6\xa1\x69\x70\x26\xd5\x80\x40\xa1\xac\xf1\xad\x1a\xae\xb1\x0d\xae\xa9\x00\x24\xaf\x89\x05\x3a\xc1\x10\x51\x38\xb2\xa2\xa0\x42\x74\x3a\x40\x60\x7b\x3e\xbc\xa7\x85\x16\x27\xfb\x61\xe7\xde\x9d\x75\x39\x07\xe7\xe9\xfe\xf7\x39\x10\xf0\x9e\x27\xa0\x01\x08\xa9\x4c\x1e\x12\xf9\x63\xd0\xb8\xca\xc4\x91\x48\x68\x91\xf4\x64\xcd\x9e\xf2\x87\xeb\xe1\x59\x47\x8f\x66\x99\xa9\x01\x04\xb6\xab\xc1\x12\xd6\xdf\x2f\x9f\x09\x4e\xe6\x02\x3d\xf0\xf8\x53\x66\xbb\x30\x54\xab\x3b\x57\x4a\x26\xc3\x20\xc6\x49\x9c\x0b\x32\xb8\xb4\xf2\xfa\x02\xec\x33\x31\x91\x00\xdb\x6b\xc3\x89\x72\x60\xc8\xd4\x7d\xb2\x92\x41\xcc\xb6\xae\xfc\x99\xbe\xab\x13\x81\x83\xd4\xfc\xeb\x64\x08\x84\xbc\x94\x40\x1d\x0c\x5c\x71\x2d\x10\x9e\x39\x28\xd6\x42\xec\xac\x2c\x76\x11\xd1\xa3\xad\x12\x41\x4c\x58\xc2\x71\xaa\x48\x5b\xa9\x21\xc9\x66\xe4\x85\x2d\x74\x7c\xf8\xef\x9f\xd9\x04\x89\x6e\xb9\x50\xce\xa4\x52\x03\x5e\xb0\x62\xc2\xec\xd5\xf8\xc3\x47\x4f\x9f\x66\x85\x00\x3d\x2b\xa5\x8c\xa4\xe5\x68\xfe\xb4\xb0\x57\xf0\x44\x3b\x4b\x66\xde\x78\x31\x82\xc8\x5e\x17\x0b\x55\xab\x5d\x92\x33\xa0\x40\x6a\xfc\x4b\x38\x7b\x56\xdb\x2e\x20\x22\x6b\x35\x02\x81\x0f\x1d\x11\xb0\xd1\xfe\x68\xa5\x47\xc2\xbe\xb5\x70\x43\xe9\xb9\x92\xb3\x2a\xf9\x36\x04\x06\x69\xaa\xd3\x53\x2b\xd0\xbf\xb8\x75\x34\x34\x39\x35\xea\x64\x6a\x90\x2b\x0c\x86\x9d\x4b\x6b\xb9\xd2\x4e\x71\xe9\x42\xa5\x19\x02\x05\x94\x4d\xf0\x88\x13\x0e\x2b\x2b\x3f\x7b\x07\xc6\x32\x13\x4d\x83\x9b\x4e\x4a\x7f\x56\xf1\x75\x10\xfc\x39\x30\xd1\x24\x23\x64\x56\x9c\x2f\xd5\x2c\x29\x91\xcf\x0d\x41\x6b\x30\x94\xc6\x82\x5e\x1b\x8c\x87\x81\xf9\x46\x1c\x94\xdf\x9b\xcd\x05\xc0\xdc\xdc\x6e\xb1\x02\x8b\xf7\xfb\xba\x94\x3c\x25\xa2\x11\x9c\x4a\xad\xc0\x9c\xf7\x8c\x76\x71\x00\x24\x9c\x9b\xea\x1e\x9f\xc9\xe8\xaf\x64\x09\x40\xe4\x77\x77\xf5\xb8\x3f\x9d\x04\xe5\x52\xc0\xfd\x18\x73\x90\x0a\x44\x31\xab\x46\x13\x2d\xa0\x5f\xf1\x45\x31\x7d\xfd\x7a\x63\xe3\x91\x16\xc6\x9d\x5a\x8c\x19\x68\xd0\xf4\x5b\xdc\x11\x1e\x07\x94\xc6\xcf\x24\xc3\xfd\x9d\x26\x05\x00\x44\x57\x78\x18\x26\x66\x65\xc5\x25\xe9\xed\x20\x7e\x29\x09\x7e\x8e\x12\x83\x58\x4c\xb7\x74\xcb\x9b\xdd\xd2\x85\x96\x8e\x4a\x06\x4b\xdd\x2f\x2f\x28\x97\x46\x5b\x0c\x98\x4b\x59\x3d\x3b\xca\x1f\xca\xd8\x95\x62\xff\xfa\x97\x83\x7e\x24\x56\x64\xb8\x5d\x9a\xa2\x38\xda\xdc\x7c\xd4\xf7\x1a\x02\x81\x62\x4a\xd3\x16\x29\x3a\x76\x20\xff\xfa\xa3\x18\x33\x52\x86\x52\x97\x51\xb4\x8f\x04\x7d\xcb\xba\xe4\x7f\x4f\xed\x0c\xd6\x09\x6b\x06\xc5\x55\x50\xc4\xc1\x8b\x7d\xb3\x9f\x53\x56\x95\xaf\xfd\x0c\xcc\x7f\x78\x7f\x73\x00\x51\xca\x72\x6f\xaf\xb1\x9f\x33\x1e\xa3\xff\x7a\xe7\x90\x32\x89\x46\x10\xa4\x8c\xd2\xfa\x27\xd6\xaf\xa3\xd8\xdd\x6e\x4e\x3f\xf0\x1e\xd7\x7b\x22\x5d\xf5\x31\x16\x42\x2b\x1f\xc4\xd5\xb5\xa5\x0d\xe3\xb0\x3b\x2a\xab\x0a\x8a\xed\xd1\x65\x4f\x5d\xc2\xdd\xd6\x2d\xce\xd2\x4e\x7e\xb5\xbf\xf8\x32\xf5\xcc\x9c\xf2\xa3\x75\x25\x6c\xc5\x28\x5a\xbe\xad\xbb\xa3\x9d\x62\x7f\xa1\x39\x4d\x99\x68\x5d\x5a\x1f\x0e\x33\x27\x29\xa2\x14\x39\xa0\x23\x87\x3e\xcc\x2a\xd7\x03\x3c\x63\x8c\x3b\xda\x1c\xd4\x9a\x7d\x6c\x3e\xe2\xa7\xfb\x25\xfb\x29\xb7\x56\x60\x10\x6c\x65\x59\x17\xee\x2e\x35\x2a\xd0\x0f\xd9\x0f\xa5\x44\x7e\xea\x2d\x0c\x89\xf6\x07\x64\x35\x4a\xe1\xc6\x5a\xf5\x21\x51\x03\xb5\xb9\xd3\xa6\xa7\x5e\x66\x01\x50\x80\xa3\x2f\x66\x6a\xbe\x0b\x81\x54\xca\x58\x91\x12\xa2\x04\x58\x26\x28\x66\x21\x08\x88\xc3\x9d\x5e\x13\xf2\x98\x67\x2f\x6a\x3c\x09\xb3\x2f\xda\xc7\xeb\xa5\x83\x53\x27\x4a\xd6\x93\x35\xe1\x56\x5e\x09\xfe\x95\xfa\xdf\x9f\xbf\x9e\x5e\xc4\x19\x6d\xbc\x7b\xa0\x8f\x06\x32\xbe\xac\x3b\xa2\xa5\x0d\x30\x69\x37\x04\x24\x01\xe0\x0f\x07\x16\x26\xe2\xa9\xb5\xfe\xd3\xb5\x8e\x8d\x8d\xab\x8f\x58\x45\x4f\x53\xe8\x1f\xc0\x78\xc6\x35\x0e\x1e\xc7\xb1\xbd\xd9\x8a\x74\x22\x8e\x15\x68\xaa\x11\x88\x76\xe7\xaf\x5f\x43\xda\x16\x83\xe5\x53\x95\x9b\xbd\x7e\x41\x24\xba\x3c\x86\x40\x0b\xd1\x01\xbc\xe5\x1e\x66\x8a\x5c\x3b\x53\xcc\x61\x8c\x29\x9a\xa6\x36\x43\xd1\xd1\x5f\x9d\xde\xdf\xce\x8a\x0c\x67\x30\x28\x34\x69\x2d\x6b\xc2\x13\x3c\x05\x0a\x23\x35\x74\x8b\x5c\x43\x43\xa3\xab\x19\x68\xf5\x3e\x0c\x3b\x8f\x21\x60\xb6\x08\x90\xa9\xa8\x0b\x20\x33\xaa\xf3\x2d\xd7\x00\x05\x36\x95\x68\x74\x0f\x89\x44\x5d\x1b\xe9\x53\xb0\x65\x4e\x87\xa8\xea\xeb\x0d\x8d\x7d\x83\x7d\x8d\x8d\x8b\xa8\xe6\x22\xad\xde\xce\xcf\x13\x23\x51\x6e\x93\xb7\xb2\x16\xba\x60\x46\x3a\x9f\xc3\x19\x10\x04\x3e\x15\xa1\x37\x39\x24\x6c\x56\xda\xcc\x65\x7e\xcc\xcb\xc7\xcc\x88\x16\x4a\x10\x61\xfa\x25\x93\x89\x71\x7e\xd6\xdc\xa3\xb3\xcb\xb4\xaf\xa7\x5e\x0f\x6c\x87\x43\xb1\xf4\xb3\x03\x0d\x66\x2b\x2f\x0e\xae\x0b\xb9\xfe\xe1\xb4\x65\x42\x61\xbb\xe8\x13\x3c\xed\xba\x27\xb4\x20\x5c\x2a\x00\x46\xf3\x99\x43\xdb\x3b\xad\x8d\x7c\x1c\x84\x63\x0d\xb7\x86\xda\x80\x98\x4e\xba\x7f\xf6\x66\xbe\x21\xe0\xff\xf9\x4c\x32\x69\x7e\x81\x3c\x5b\x0d\xc5\xd8\xc5\xed\x70\xeb\x84\x08\x26\x9a\xd1\x95\x41\xbe\x6b\x6e\xee\x6e\xba\x90\x72\xbe\xed\x8b\xa7\xfd\xec\xe9\x1b\x6e\x26\xbb\x66\x17\x7f\x76\x1c\x6e\x6a\x6e\x94\x2d\xcd\xe8\x32\x1f\xdc\x35\x28\x21\xec\xd1\xf2\xa2\xf4\xd5\xdd\xc4\x72\x43\x7e\x87\xe4\x8a\x44\x04\xb2\x97\xcd\x22\x60\x5c\x54\x9f\x27\x6a\x09\xbe\xcc\x50\x60\x92\x30\x69\x1a\xdc\x4f\xcd\x9a\xe7\x9d\x46\xec\x6b\x72\x66\xed\x75\xc9\x99\xf7\xa2\xda\xa9\x6a\x5c\x27\xaf\x1e\x33\x83\x21\x42\xba\x49\x45\x6c\xdf\x51\x3f\xa6\xf3\x6d\x31\x32\x3c\x54\xbf\xa7\xf3\x12\x52\xe7\xa4\xa5\x7c\xc0\x58\x7d\xdf\xf5\xe7\x0b\xef\x76\x85\xab\x66\xe9\x2a\xb7\x3f\x5f\x88\x4b\x7c\x49\x59\xf5\xde\xc4\xfb\xa3\x92\x85\x7b\xbd\x25\x6d\x60\x2a\x10\x35\xdc\x44\xbb\xa4\xd1\x60\x8c\x87\x4e\x81\x9f\x39\x24\x23\x93\x63\xbd\x87\xa4\x0c\xd8\x14\xa0\x05\x18\x7a\xe1\x4b\x8b\xca\xcf\x17\x84\x74\xb1\xd8\x80\x1f\x0b\x64\x82\xba\x6b\xd8\x81\xdd\x37\xf3\x07\xec\x5b\x83\x33\xa8\x03\x7a\xa2\x19\xdc\x90\x2c\x9e\xa6\xc1\xbd\x62\x3c\xf7\x1a\x7c\x53\x3c\x97\x7e\xd8\xba\x2d\x56\x45\x89\x6c\x0f\xcc\xa4\xaa\x02\xed\x69\x41\x40\x4f\x5b\xb6\xd8\x2e\x35\x3e\xc4\x70\x51\xf5\xa5\xa5\xe2\x65\x8b\x3e\x96\xe1\x52\xc7\x77\xe7\xd8\xaa\x44\xe7\x2e\xdb\x8b\xd0\xde\xe4\x0d\x58\x4e\x23\xb1\x27\x4e\xa2\xa4\xca\x6a\x6a\x01\xa2\x91\xd0\xbe\x34\x17\xd5\x21\x06\x99\xb1\x74\x4b\x5f\xbd\xe2\x93\xcb\x66\xa5\x52\x80\xc0\x21\x40\xe6\xa3\xbc\x43\x12\x94\x4a\x2d\xa8\x12\x6a\x61\xc9\x1e\x48\x2a\xf6\xcd\x0c\xe3\xfb\x8d\x81\x9d\x4e\xee\xcb\x70\xb4\x40\x77\x97\x56\xb4\x5b\x3b\xbb\xdd\x0d\xdd\xea\xe2\x9e\x84\x73\xec\x71\xc2\xe5\xd1\x48\x8a\xa4\x6c\x81\xb6\xda\x9c\x41\xbb\x3f\xd4\xfe\x79\xad\x09\x22\xba\x6a\xfd\x21\x80\xe4\x84\xd6\x3c\x7f\xdc\x55\xb4\x3f\xdd\x68\xbd\xe5\xc0\xe5\x7f\xa6\x6b\xe1\xa7\x31\xb1\xa6\x6f\x61\xde\xbb\xf8\xdb\xd6\x65\xe9\xfd\x38\x53\x80\x9c\x31\xf7\xd0\x9d\xe4\x8b\x84\xb6\x04\x8c\x21\xd3\xf3\xba\xe2\x39\x93\x68\x85\xd8\x49\x0d\x18\x87\xd6\x42\x8e\xeb\x0a\x07\x11\x39\x4b\xab\x6f\x5f\x28\x00\x5b\x01\x66\x19\x30\xb7\xb8\x88\x6f\x21\xfc\x0b\x85\x92\xf9\x33\x31\x1d\x9e\x43\xb7\xbe\xc1\x3b\x58\x0e\x96\x49\x68\x24\xa5\xc9\x80\xe7\xa6\xb9\x40\x84\xc5\x40\x30\x57\x6c\x0d\x1f\xdd\x11\x5d\x86\x26\x29\x73\x36\xf0\xe0\xa8\x34\x77\xf1\xa4\x59\x90\x33\x63\x2e\xfc\xe3\x4d\x02\x67\x0b\x5e\xbc\x14\xc8\x31\xd2\xc7\xe9\xb9\x4f\xb3\x71\x73\x23\x4d\x73\xf1\x82\x33\x5a\x4e\x4c\x4d\x69\xf6\x7d\xf0\xf0\xc6\x0d\xa1\x39\x8d\x7f\x55\x82\x7e\x87\xe8\xb3\x78\x7e\x7b\x16\xae\x24\x36\xba\x08\x9c\xa8\x03\x46\xd5\xc9\xac\x51\xaf\x45\x69\xee\x32\x57\x76\x86\x59\x14\x46\xa6\x0c\x41\xdb\xe7\x9e\x56\x10\x6c\xa8\x0b\x14\xb8\x06\xed\xd6\xe4\x04\x56\x44\x58\x65\x72\xe2\x28\xb4\xc0\xb0\x5a\xba\x65\x9e\x92\xeb\xcd\xb0\x90\x16\x33\x29\xdb\xca\x5c\x74\x00\x1a\x8a\xf9\x35\x5c\x5e\xe1\x22\x72\xf2\x19\xd0\xa8\xe7\x73\xb3\x0a\xdc\x77\xee\x1d\x50\xe4\x35\x8e\xaa\x66\x37\xa1\x4e\xdf\x4b\x24\x66\xb3\xc8\x5e\x71\x7b\xb0\x22\x4c\x8d\x9d\xdc\x5d\xaf\x88\x19\x7a\x60\x40\xf8\x95\x44\x51\x68\x97\xcc\x04\xe6\x36\x66\xb2\x9d\x16\x95\x1c\x7e\x68\xab\x47\xa9\x35\xc6\x75\x55\x04\x37\x47\xe4\xf0\xed\xeb\xb8\xc4\x15\x7e\xf7\x0a\xc1\xb8\xe3\xf5\x2e\x88\x23\x33\xf1\x50\x13\x0b\x8e\xfa\x54\x56\xca\x21\xbc\x1f\x6e\x7f\xac\xaf\xef\xda\x98\x05\x50\x66\x36\xa0\xd5\x89\x3e\x6c\xdb\x36\x09\x39\x40\xdd\xd2\x96\xf7\xa6\x99\x1e\x8f\xa5\x02\xe0\x35\xcf\x9a\x36\x32\xf2\xf9\x74\x40\x37\x0a\x9e\xe1\x4c\x8e\xce\x32\x09\x1d\xf6\xd7\x17\x20\x74\xfc\xf5\xed\x27\xd4\xaf\xc0\x62\x48\xca\xe4\xef\xd4\xbc\x01\x88\x77\x12\xcb\xe6\x57\x66\xf2\xf1\xb7\xc9\x8a\x37\x3d\xcc\xdb\xfc\x2e\x3d\x62\x78\x0d\x25\x05\x64\x3f\x0d\xba\x7f\xc1\xee\x8d\x61\xb3\xca\xcb\x20\x92\x39\xe0\x65\xff\x70\x90\xa7\x8b\xbd\x48\x8f\xd2\xa9\x0c\x4b\xc8\xe5\xf7\x5c\xf0\x90\xc5\xdb\x8f\xfb\x9d\x84\x9e\x84\x8c\x24\xa0\xb0\x98\xe3\x9b\x43\x25\x96\x30\xa8\x96\x1c\xc1\xe6\x0d\xc9\xc6\xca\x05\xe6\x83\x01\x9d\xdd\x6e\x74\x76\xa3\xbc\x3a\x80\xb5\x4d\xc8\x60\xe1\xb3\x91\x42\x84\x8d\xdb\x61\x73\x70\x93\x26\x0b\x29\x02\x22\x2d\x12\x71\x63\x83\xa3\xaa\x09\x9b\x93\x40\xa9\x49\xe2\xc7\xe8\xf3\x62\x6b\xdc\xd9\x14\xb9\x9d\xa9\xcc\x05\x33\x65\x50\x9c\x16\x46\x38\xdd\x01\x89\x5a\x6d\x55\x4c\x28\xd9\x11\x28\x71\x50\x30\x35\xbf\x19\x6e\x19\x27\xbc\xa5\xc1\x43\xf8\xc7\xc2\x56\x89\xb5\x8a\x69\xc0\xb5\xaa\x9b\xda\x12\x93\xa1\x8e\x6a\x95\xd0\xf0\xc9\xbf\x04\x58\x3f\x71\xe9\x67\x5e\x3a\xd3\x9b\xc0\x5b\x5b\x50\xb0\x56\x38\xa9\x9c\x19\xb2\x0b\xa1\x9f\x36\xa4\x00\xda\x3d\x49\xc9\x89\x28\x08\xb5\x63\x06\xcd\x47\x96\x9a\x15\xdb\x40\xa9\x15\x17\xbd\xe0\x4c\x62\x21\x6c\xb7\x6c\x05\xdc\xc6\x38\xdf\xac\x4d\x76\xda\xf9\xfa\x9d\x76\x56\x62\xf5\x71\xdf\x7e\x15\xdc\xd2\x12\x2f\xa4\xda\xcd\x25\xc7\x49\x69\x1f\x88\x85\xc0\xb6\xd2\x82\xcf\xa1\xd6\xa3\x54\xf3\x9d\x3d\xfa\x21\x42\xb3\x83\x04\x50\x06\x53\x06\x3a\xa6\x6d\x9d\x75\xac\x76\x8b\xd0\x04\x05\x50\x04\x9f\xc8\x73\xcf\xcf\xa5\xef\x3b\xa7\xbf\x17\xa6\xcf\x5a\x04\x7c\x73\x2c\x16\x47\x85\x0f\xcb\x3a\xe0\xc6\x70\x48\xf6\x8a\xaf\x67\xd9\xe9\x56\x15\x75\x80\xa3\x17\x5a\x08\x52\x3e\x66\xe6\xcc\x40\x9d\xe2\x00\x65\x14\xe2\x8b\xae\x40\x46\xc3\x3c\x36\xe3\xcd\xb2\xe0\x2e\x1d\x05\x93\xba\x4c\x81\x0d\xd6\x10\x2f\x81\x29\x93\x58\x94\x0b\x04\x33\x22\x4c\x4e\x3e\x94\x5e\x82\x6d\x0b\xd4\x14\x98\x77\x27\xd6\xc1\xe5\x15\x95\xa9\x3e\xdb\xfa\xd4\x1b\x5c\xe3\x43\x3c\xeb\xf1\x85\x43\xfd\x4b\x62\x60\x9e\x28\x2e\xf6\xee\x75\xd6\xc1\xd6\xb0\x9a\x81\xa5\xd6\x54\x9e\x18\x27\xc8\x20\x82\x6f\xef\xd5\x06\xf3\x4d\x47\xf4\x98\x7b\x1d\x78\xb8\x24\x0a\x76\x06\xac\x1b\xfa\x39\xef\x0a\xab\x7c\xe8\x9e\x46\xb0\x8d\xc9\x78\xca\xca\x80\x61\x10\x40\x51\x49\xdb\xd6\xa7\xf3\x27\xed\x7f\x3d\xcf\x7a\x7c\x51\xf9\x6f\xd8\xfc\x5e\x42\xec\x66\xd3\xff\xa2\x2c\xb3\x5a\x66\xfa\x57\xfa\x01\x34\xe6\xa9\x23\x9d\x08\x07\x34\x93\xce\x79\x81\x49\xac\x07\x95\x98\x39\x23\xdb\xf4\x35\x0c\x0e\x5a\xda\xad\x0e\x45\x0c\xa7\xd9\xe6\xc0\x32\x1d\x07\xe2\xb7\x70\x93\x27\xc6\xdb\x16\x42\x87\xa4\x7e\xbb\xa5\xf6\x55\xb8\x6a\x7d\x15\x1a\xdb\xa3\x10\x57\x77\x45\xfd\x60\xee\x09\x0d\x11\x6d\xf7\x27\x3f\xe8\x16\x21\xac\x40\x20\x00\x80\x83\x43\x20\x32\x43\xd9\x1e\xf9\xd1\x00\x70\x63\xad\xc4\x08\x6c\x13\xdd\xbb\x4f\xc5\xa1\xd8\x1f\x7b\x28\xbe\x43\x32\x0e\xc9\xe0\x6b\x43\x89\x83\xf1\xd1\x6b\x81\xf6\x27\x8c\x55\x98\x22\xae\x16\xe9\x43\x3f\x08\xbf\x0c\x54\xf2\x51\x5e\x90\xee\x0c\xda\x9d\xb8\xa4\x6b\x4b\xf1\xe6\x6d\xc5\x33\xce\xe9\x6d\xec\xea\x24\xba\xdb\x9d\x16\x81\x00\x8e\x1f\xcd\xae\xb0\xb4\x5d\xe0\x3c\x69\x28\x00\x51\x26\x77\x6c\x64\x6d\x59\xdd\x31\x9f\x20\x0f\x73\xbb\xe8\x33\xec\x95\x68\x4f\x01\x4a\xa6\xa5\xff\xf1\x3a\x9c\x4e\x89\x49\xa2\x95\x37\x4e\xc1\xd8\x24\xa9\x7a\x16\xda\xb8\xba\xf4\x0b\x23\x23\x1c\x04\x6f\x74\x34\x7a\xcf\x8a\xb9\x70\xe3\xe4\xe9\xa9\x9a\x9c\x30\x8f\xa4\x6b\xfe\x78\xe5\x0c\xc8\xac\x55\xaa\xb7\xb6\x18\xcf\xc3\x9c\x46\x7e\x3a\x28\x7c\xb6\x42\xb9\x8e\xfc\x94\xcb\x6e\xe9\xe9\x6d\xc6\x09\x60\x4e\x0b\x2d\xab\x95\x8f\x64\xcd\xfe\x6c\x9d\x9d\x39\xa3\x2f\x19\x5c\x54\xcc\x26\x31\x89\xcc\xc2\x03\xbe\x17\x01\x39\x9b\x56\x3c\x76\x6e\x1f\x06\x03\xb7\x3a\x7d\x3b\x42\x2b\xd7\x87\x0e\x64\xde\x53\x8e\x5c\x48\xa0\x11\xda\x08\x0c\xc9\x6c\x35\x14\xed\x20\x6a\x8b\xa8\xa6\x66\x65\x5f\x88\x8c\xd6\xe9\xe6\x4e\xcc\x81\x61\xc4\x38\xbf\x82\x7c\x7c\x67\xf5\x80\xc0\x78\xcc\xd4\x57\x46\x8c\x69\xf0\xc8\x25\x11\x43\xcf\x46\x01\x23\xed\xf6\x4d\x6b\xa7\x8c\x31\x97\xe8\xf4\xb1\x11\x06\x9e\x77\x4a\x25\x22\x83\x11\x5c\xd3\xbe\x37\xc5\xdb\xc3\x17\xa4\x52\x0d\x18\x19\xeb\xdc\x36\xbd\x3b\x94\x7b\x3c\xb1\x55\x4b\x91\x39\x60\xdc\x3b\x24\xea\xd1\xbe\xb5\x3c\xe1\xbb\x7b\x62\xf1\x61\x2a\x4d\x77\x66\xd4\xb1\xba\xb3\xa8\x4f\x5f\xee\x67\xa8\x32\xc3\x0f\x0e\xf9\x45\x17\x06\x6a\x89\x5d\x56\x11\x16\x01\xe4\xd7\x34\xf2\x58\x95\x0c\x2a\x8f\xe9\x67\xef\x53\x30\x8c\x4b\xf7\xbc\x88\x63\xfe\xeb\x8e\x41\xa4\x81\x54\x1a\xed\x50\xf9\xdd\x8f\xb8\x60\x7e\x8f\x65\x3f\xa1\x16\x46\xfa\x5b\xbe\xba\x6e\xba\x6a\x58\xcc\x6e\xd8\xb1\xdb\x55\x94\x95\x35\x5a\x20\x1b\x1a\xbc\x22\xa0\x92\x0e\x70\x88\x73\x73\x99\xb4\xd6\x34\x31\xd8\x40\xb7\x84\xcf\x01\x06\x94\xd6\x10\x47\x69\xc0\x3c\x4a\xdb\xc4\x3c\x7b\xa6\xc9\x7a\xd3\xe5\x01\x9f\x0e\x0b\xde\xa2\x4d\xd6\x7d\xa0\x0c\x61\x9b\xcf\x21\x42\x65\x3a\xe1\xdc\x8d\x6f\xb9\x60\x2d\x93\x43\x5c\xd8\x2e\x79\x6b\xac\x1a\xfe\x24\x03\xf6\xec\x82\x65\x78\xc7\xb3\x80\x4e\xf0\x48\x95\x01\x1e\xd2\xe8\x90\x28\x81\xcb\xc8\x5f\x8c\xa3\xbd\x9d\x01\x21\xcb\x4b\x46\xb3\xab\xd7\x08\x6f\x74\x76\x57\xd5\xd8\x77\x2d\xe5\xc4\x73\xb4\x4c\x00\xd2\x3e\x89\xcc\x5d\x39\x62\xf3\xb0\x09\x88\x4a\x6e\x12\x99\x29\x73\x6e\x9c\x74\x5f\xf2\xf2\x19\xeb\x5f\x0f\x78\x45\x4b\xad\x94\x44\x94\x06\x20\xa5\xbc\x42\x09\x99\x24\x67\x59\x98\x41\xbf\x56\x3e\x1f\x67\x24\x95\x25\x4c\xd0\x30\x4c\x23\xee\xe3\x7b\x1b\x26\xce\x9d\x98\x96\x46\x74\x0f\x64\xeb\x5c\xc0\xa5\x50\x94\x13\x3d\x9c\xd2\x1b\x61\x34\xe2\xca\x0d\x8f\x1f\x0f\x38\x22\x9c\x3c\xdc\x9d\x8a\x8b\x73\xfc\x4c\x5e\x5e\x4e\xdf\xdc\xf2\x45\x63\x9c\xc7\x76\xb9\xac\xed\x48\x2d\x5f\x3e\xe9\x97\xf2\xa7\xf1\xd6\x8b\xd8\xda\xf8\x02\x3b\x7c\x2b\x87\x63\xa9\xc8\x21\x8b\xa9\x04\xbf\xb6\xbf\xde\xea\x0b\x38\xbe\x1f\x4f\x2f\xd2\x2e\xe8\xa7\x84\xc1\xf7\x4a\x6e\xc6\x38\xbc\x26\xa8\x2c\xec\x11\x81\x96\x25\xeb\x73\xf3\x74\x90\x5d\x36\x28\x0b\x6b\x07\x96\x48\x36\xf1\x0c\x89\x46\x71\x23\x28\xdb\x89\x5b\x96\x79\x97\x8c\x8f\xa6\x7b\xfb\xc1\x30\x28\x93\x5e\xe0\xca\x0b\xd6\xbf\xc1\x62\xd6\xf8\xeb\xd7\xa3\xac\xc5\xac\x0e\x03\x83\x92\x80\xe4\x17\x14\x00\xdc\xda\x0b\x9d\x9d\xfd\xb4\x91\x26\x66\x86\xce\x7a\x43\x71\x49\x89\xcf\x12\x10\x15\xdd\x3c\xce\x9c\x24\x92\xab\x28\x28\x68\x5c\xd2\x45\x44\xe9\x43\xd1\xf4\x1f\x01\x1d\x15\xad\xdd\x1c\xdc\xf3\xe9\x63\x5f\xe8\x78\xf6\x2f\xc1\x83\x45\x82\x2e\x3a\xe4\x1c\xfd\xfc\x69\x5e\xf8\xc6\x2b\x8a\xce\x9f\x9e\x31\x7f\x18\xd7\xa6\xc9\xf3\xd2\x82\x4a\x69\x34\x40\x60\x6c\x87\x78\x10\x4e\xef\x4c\x24\xe6\x90\x98\x36\xc3\xd2\x54\x97\xaa\xc5\x12\x2e\x9d\x96\x3f\xd0\xea\x8f\xe4\x0f\x34\x07\x5d\x0c\x8d\x58\xa4\x31\x68\x7c\x7d\x67\x38\x3c\x31\xc8\xa4\x3c\x0b\xee\x40\x4b\x02\x8d\x9a\x2f\x16\xc7\xf5\xa2\x2f\x0b\xe3\xa5\xd1\x35\xed\x70\x01\xc8\x7f\xd7\x9c\xca\x6f\xeb\xe8\x91\x74\x92\xae\x70\x87\x10\x61\x20\x6a\xe9\xa5\x74\xe0\x62\x45\x91\x12\x9c\x0b\x45\xa9\x79\xf6\xb7\x26\xd0\xa6\x34\x60\xd8\xaf\x11\x89\xbd\xb5\x24\xd2\x4c\x87\x04\x9d\xf9\x22\xab\x85\x7f\xad\xe7\x83\x4a\x76\x69\xbe\x0c\xc1\x6c\xee\x00\x6a\xa3\x5a\x25\x3d\x27\x29\xbe\x96\x38\x96\x18\x65\xe6\x88\x14\xc8\xe1\x60\x38\xfc\x54\xca\xe1\xc7\xec\x2a\x8f\x4d\xe7\x38\xf5\x9b\xbb\x2e\xac\x80\x87\xbb\x8d\xd6\x77\xb8\x7e\x0f\xc9\xe2\xf5\x5c\x28\x48\x94\x74\xa4\x76\x0b\x72\xab\x22\x6a\x44\x6f\xbd\x47\x10\x47\x0d\xe6\x98\x69\x03\xfe\xb2\x84\x6c\x03\x48\x65\x8c\x86\x25\x69\x61\x26\x39\xb3\x64\x89\xb6\xcf\x1c\x64\x3e\xf3\xfc\x0e\x2d\x69\x0d\xb7\x6c\x4d\x12\xee\xbe\xdc\xb0\xd9\x16\xa1\x54\x41\xef\x94\x24\xb6\x9c\x56\x48\x47\x7c\xe7\xb3\xec\x0a\x88\x17\x24\xc7\x0f\x0b\x0b\xea\xf9\x3a\x1d\xc7\x12\x31\x52\x0c\x15\x73\x5c\xf0\x5a\x20\x14\x24\x91\x50\x6a\xd7\xdb\x87\xbd\x8f\x5d\xd9\x8b\xc6\x67\xd8\x38\x60\xe7\xb0\x86\x20\x16\xfb\x7a\xdf\x92\xf2\xa4\xcb\x56\xd4\x58\x8f\x19\x15\xa3\xdd\x95\x78\xba\x72\x74\x58\x2f\xa0\x41\xd1\x70\xd7\x32\xb4\x0f\x08\x5e\x5b\x31\x7e\x52\x7b\xef\x08\xeb\x9a\xac\x97\x19\xb2\xbc\xc9\x87\xa2\x3a\x6b\x0e\x43\x11\x55\x12\x27\x35\x6e\x98\x90\x1c\x25\xa1\x27\xd7\x43\x58\x02\x50\x30\x36\x47\x83\xdb\xae\x91\xfb\x6c\x5b\xe9\x3c\x96\x1b\x4e\x83\x73\x63\x4f\x46\x65\x51\xfa\xca\x2d\x92\x67\x69\x24\xf3\x18\x52\x4e\xe8\x13\xb2\xfd\x6f\x19\x37\xd2\x57\x7a\x9a\x0d\x5f\x74\xba\xb9\x22\x3f\xea\x7a\x3c\x51\xd5\xeb\x6c\x26\xb5\x91\x42\x2c\x35\xec\xa5\x22\xfa\x7d\x12\x5c\xd9\x11\xdb\x69\x5e\x93\x7c\x7d\xc3\xf0\xb1\xa2\x52\x9f\x9c\xbd\xd8\x19\xe8\xb4\x6c\x0f\x3b\x7f\x24\x89\x8c\xd1\xbb\xf9\x27\x64\x78\x77\xe1\xf2\x41\x2a\xc6\xcd\xba\x31\x0f\x5f\x77\xf0\x66\x24\x6f\x72\x97\x77\xa6\x56\xa5\x15\x24\x0a\xc8\xe9\x54\x1d\xdb\x48\x06\x69\xf9\xf3\x03\xfa\xf2\xd3\x4c\x16\xdb\xe2\x16\xfc\xe4\x6c\x56\x07\x63\x5c\xa0\xa7\xbc\xbe\x37\x4f\x0b\xec\x8a\x9a\x0e\xb7\xf4\xc5\xb9\x52\x86\x44\x29\xd7\x5d\xee\xf8\xbc\x8c\x42\xee\xd1\x01\xd3\xe4\xb6\x3d\x33\x95\xe8\xe9\x71\x46\xc9\x4d\x4d\xc9\xe8\xc8\x93\x86\x42\xca\xfc\x67\xb7\xc9\xd8\xdb\x0a\xad\x4f\x4d\x5b\xfa\xd4\xb0\x60\x12\x10\xf4\xad\x57\x5b\x70\x42\xce\x89\x74\x0c\xbb\xdf\x02\x69\xca\x5c\xf6\xf1\x60\xde\x7b\x19\x58\xea\xd1\xf1\x2f\x29\xd3\xc6\xa9\x63\x44\xbb\x52\xa7\xff\x50\x76\x7a\xee\x8b\x78\x9f\xee\xa6\x34\x39\x48\x13\x86\x5f\x9f\xc1\xd9\x87\x85\x23\xe9\xba\x31\xa2\xf9\x26\xd3\xeb\x50\xc2\x2f\xd6\xd5\xd6\xa1\xa7\xd5\x26\xae\x7f\x55\x9c\xa8\x75\x8e\xa8\xe0\x29\x96\xef\x6c\x39\xf6\xd0\xad\xf6\x3a\x21\xe5\x7d\xc9\x91\xbc\x3d\x5b\xf2\x12\x2a\xb2\x99\x3b\xa7\xad\xb2\x01\x84\x75\x7b\xb0\xb4\xb1\x03\xeb\x2e\x1a\xa4\x96\x70\x11\xbd\xe2\x22\xea\x21\xea\xe2\x06\x2c\xfe\xbc\x7c\x1c\x76\x0e\xab\x0f\x6e\x4e\x19\x9b\x4b\x0c\x13\xed\x36\x33\x75\x00\x64\x3e\x83\xf6\x36\x8c\x97\x04\xbb\xcf\x79\x2f\x48\x16\xa2\x7d\xdc\x13\x1e\x92\xf1\xd1\x91\x83\x02\x7b\x71\x4c\x81\x1d\x9c\xf1\x24\x92\xf2\x0d\x0a\xe7\x9c\xe0\x2d\xc4\xc4\xf4\x61\xa1\x8f\x5b\x8e\xfe\xf9\x73\x74\x0b\xdd\x6e\x53\x8c\x6e\x32\x8e\xc4\x9f\xe0\x40\xa1\x7f\x92\xee\x1a\xd1\xb7\x8a\x8d\x0f\xbf\x0e\x0f\x8f\x8c\x78\x48\x4e\x70\xc1\xa2\x89\xc7\xe3\xb5\xde\x10\x1e\xd2\x32\xf1\xd0\xe3\x08\x26\x04\xe1\xe9\x0b\x33\x03\x09\xa7\xf1\x84\xf3\x91\xcd\xc0\xc6\x66\x8c\xf7\x78\xe3\x0f\x29\xe7\xfa\x0c\x11\x01\x57\x50\x27\x68\x82\x37\x66\xf2\x3e\x91\xda\x20\x96\x02\x73\x21\xa8\x3b\x15\xfc\x70\x81\xd5\x26\x51\xfd\xb1\xb7\xce\x63\x0e\x4e\x1f\x04\x3e\x4f\x67\x64\x48\xf7\x45\xde\x31\x75\x09\x10\x7b\x84\xcc\x5e\xcb\xda\xaf\xfc\x56\xe4\x7d\xf1\xe8\xe3\x32\xdb\x40\xe7\x4a\xca\x48\x05\x95\x53\xe1\x16\x1e\xf6\x14\x3e\x21\x7e\xf5\x16\x9b\x4c\xe9\x5e\x64\x1b\x10\x09\x98\xe6\x72\xc0\xd2\x35\x2f\xe7\x1d\x90\x47\x79\x4e\x0f\x57\xfe\x08\x2d\xf5\x60\x05\xa4\xb1\x1b\xe2\xe4\xc9\x9a\x4c\x4a\x03\x9e\x8b\x3d\xa9\xd4\x28\x52\xa5\x56\x32\xc3\xc8\x8f\xec\x4d\x3b\xbe\x3a\x8b\x2d\xcf\xec\x41\x08\x30\x3c\x19\xc8\xa4\x09\x4c\xc3\x07\x31\x4c\x3c\x46\x28\xd2\x4a\xee\xad\xf4\x14\x4c\x0e\x86\xee\x43\x6c\xa8\x59\xf7\xf6\xc3\x4e\x8f\xfc\x03\x5f\x37\xed\x00\x3a\x2a\x95\x5c\x38\xcd\x8f\xde\x77\x08\xa0\xea\x0b\x0d\x64\x35\x27\x4c\xb2\xdf\xcf\xe5\xa6\xee\xf5\x48\xf7\x73\x35\x4d\x20\x9e\x32\x49\x44\x8e\x25\x9e\xb6\x57\x50\x5c\x70\x79\x72\xa2\x7e\x85\x83\xd2\x8d\xe9\x29\x71\x4e\x30\x07\xc5\x45\xf7\x7c\x29\x89\x28\xf5\x40\x01\xfc\xd6\x28\x22\x3b\x91\x4a\x47\x5a\x90\x21\xa3\xa3\x97\x55\xa5\xdb\x2c\x57\x4c\x8a\x23\x45\xd7\xac\xd2\x45\xb6\xad\x84\x87\x1c\x18\x99\x4f\x35\x2e\x4b\xfa\xc1\x91\xb1\x91\xa6\xf9\x99\x53\x6c\x73\x6f\x02\x8c\xc5\x7a\x89\x64\x92\x13\x37\xe3\xe9\xd3\xb3\x3b\x25\x05\x6e\x3c\x8f\x0f\x35\xff\x2a\x8f\x14\x0f\xf7\xd9\x69\x75\xb8\x8e\xb6\x3f\x6f\x8c\x93\x6d\x49\x96\x97\x22\x6d\x90\xf7\x2e\x1d\xe7\x14\x58\x4c\xf3\xde\xf7\xc6\x46\xa5\x91\xb5\xb5\x91\x8e\x19\x72\xe2\xc7\xf5\x73\x0c\xea\x96\x0b\xbd\x9f\xf9\xb4\x8e\x0d\x38\xb3\x21\xa2\xc8\xcb\x7b\x4e\x93\x63\xc6\x79\xd9\x97\xa3\xed\x04\x8a\xf9\x4e\x66\x80\xe7\x32\xe3\xfd\x21\xfc\x6e\x1b\x22\x35\x68\x55\xc4\x46\xf8\x86\x4a\x27\xd0\x64\x84\x42\x00\xc4\x32\xe5\xf2\x73\x76\x35\x11\xde\x09\xd6\xd7\xe5\x8b\xf0\xca\x43\xa1\x72\x13\x3e\x7e\x18\x2e\x81\xac\x1c\xb5\xdc\xa4\x10\x89\x6b\x67\xc7\xcf\x4c\x69\x6e\x4e\xf1\x64\x9b\x90\x8f\xf3\xbd\x75\x27\xad\xf2\xd2\xe3\x66\x5d\xa1\x1e\xf1\xb5\x42\xfb\x73\x14\x4c\xb7\xb7\x41\xc9\x01\x35\x53\x87\x68\xd5\x4b\xa3\x76\xe6\x9c\x76\x6e\x2d\xca\x5f\x65\xbc\x39\x10\x65\xf5\x56\x07\x22\x6d\x93\xaf\x07\x89\x42\x12\x3a\xef\x47\x03\xce\xab\xbe\x78\xd6\x63\xf5\x5a\x58\x0a\xae\xbe\xc9\x6f\x1a\x1b\xe9\xda\x79\xfe\xe5\xf9\x00\xf2\xc2\x48\x10\x4b\x67\x54\x9c\x1c\x7e\x63\x4e\x07\xc2\xb8\x17\xed\xe2\x00\x87\x4f\x5a\x4b\x3a\xdc\x62\xdc\x41\x07\x80\x25\x39\x43\x09\x5d\x9d\xc3\x6f\xf2\x15\xca\x97\x17\x98\xb9\xc8\xd5\x77\xdb\x31\x8d\xdd\x29\x1b\x28\xa3\x74\xb8\x98\x5e\xb2\x3f\xb1\x81\x75\x80\xc6\xa6\x98\x03\x2d\x14\x41\x01\x9d\xba\x8a\x39\xaf\x19\x8b\xa3\x00\xa7\xe9\x39\x4e\xd6\xd9\x84\x1d\x4c\xad\xf6\xc1\xbd\x23\xda\x41\x32\x59\x75\xda\xe9\xe1\xe1\xbd\x35\xc7\xc6\x2f\x5f\x1e\x1f\x3d\x66\x12\x71\x6c\x14\xca\xc7\x6a\xf6\xc6\xe5\xde\x87\x88\xbf\x11\xbe\xcb\xa1\x3f\x75\xf6\xfd\x41\x72\xa9\x5a\x99\x9a\x16\xcd\x02\xd1\x5d\xd3\x41\xeb\x58\x20\x14\x5f\xd5\x76\xef\x4d\x0f\xbc\x8f\x31\x56\x1c\x96\xbf\x26\x19\x50\x5c\xef\xea\x1d\xc5\x36\x58\xa3\x93\x32\xeb\xeb\x9d\x6d\x37\xe4\xa5\xb1\x5b\x6c\xd2\x8f\x27\xbb\x1e\x41\xa9\xc9\x51\x36\x52\xbb\x0b\x53\x0b\xed\x51\x7d\xeb\xeb\x94\xad\x53\x87\xec\x65\x7f\x95\xec\xef\x53\x1c\x5c\x44\x2d\x77\x4c\x72\x54\x43\x5d\xb9\xd3\x8e\x6f\x72\x6c\x79\xbd\xdd\x82\x58\xa5\xcd\xdb\x4a\x5e\x66\x6f\xee\xa3\x0c\x2d\x8a\xe9\x0b\xf0\xcb\xb0\x87\x95\x28\x95\x58\x33\xd3\x52\x3e\x5c\xd6\x23\xea\x96\x09\x39\xe2\x16\x89\x56\x50\xe9\xa5\x98\x51\xd5\x90\xdb\x91\x1e\x2c\x1e\x61\xf9\x65\xa4\xcf\xe4\xa6\x58\x9b\x23\xbf\x2a\x85\xdf\xe7\x67\x56\xec\x54\x6e\x71\xf9\x8f\xcd\x47\x4c\x97\x28\x98\xc2\x5a\x29\xd3\x6f\x84\x4d\xf3\xc1\x69\x8e\xe5\x21\x23\x5a\xd1\x18\x04\xca\x48\x05\x2e\x83\xd0\x24\xf1\x89\xc9\x80\x57\xfa\xf5\xb4\xa0\xaf\x5c\xb0\x70\xa9\xb8\x15\xd0\x2a\xc8\xb6\xf5\x8d\x0b\x17\x2f\x0f\x94\x95\x2e\x67\xbe\xd2\x79\x20\x39\x93\xef\x4c\x32\x97\x81\x1a\x70\xa7\x28\xd1\x23\x5a\x2d\x29\x69\x8e\xc1\xb8\xf3\xb5\xdd\x6a\xeb\xb4\xd2\x6a\xd4\xad\x19\x3d\x1f\x1a\xbc\x30\x62\x93\xf3\xf2\x1b\x60\x6e\xa3\x30\xe0\x61\x5d\x9c\x6b\x32\x93\x49\x29\xba\x58\xed\x45\xdb\x38\x66\x96\x6e\x44\xb1\xce\xb7\xbb\x25\x38\x92\x43\x53\x2e\xde\x6f\xda\x15\x8b\xc4\x9b\x18\xf6\x4e\x67\xdf\x27\x7f\x64\xdd\x70\xad\x2d\x9d\xd9\x4a\x93\x3d\x61\xba\x8a\xbd\x59\x3c\x6c\xdc\xec\xc7\xa0\x0c\xa3\x4f\x1a\x59\x64\x62\xc9\x48\x6c\x5f\x4c\x01\x43\x0a\x06\x5e\x1b\x5d\xc7\xca\xd2\x1d\xd1\x6f\x0e\xaa\xf1\xc7\xe0\x8f\x3e\xab\xc9\xb9\xd8\xa8\xa8\xfc\x4e\x6b\xb1\x59\x09\xa5\x91\xd4\xb5\x3d\x81\x9a\xd4\xc3\xe3\xf5\x17\x66\x85\xe7\x4e\xa5\xac\xec\x03\x48\xce\x5e\x95\xb9\x03\x9f\xce\x19\x9f\x66\xe3\xa8\x3c\x96\x97\x1f\x89\x28\x7c\xe2\x45\xd3\xe4\x28\x53\x4c\xb5\xd7\x5c\xf9\x9f\x8a\x3e\x9c\x75\xc2\x34\x0f\x76\x64\x4e\x97\xe9\xbe\xf5\x7e\xb4\x48\x4e\xf2\x00\xab\x5b\xb1\x6e\x44\xc4\xcc\xca\x65\x68\x2f\xda\x88\x28\x32\xa9\x31\xa2\x68\x65\x5f\xca\x94\x51\x6e\x56\x3d\x91\x43\xe4\xf6\xf0\x92\xa8\xf9\x48\xff\x1c\x1b\x7f\x45\x8d\xef\x67\x1b\x69\x7e\xa7\x25\xaa\x42\xa5\xe3\x31\x35\xfe\xc6\xe0\x63\x7a\xc5\x95\x0b\x76\x0d\x81\x3e\x61\xeb\x59\x80\xf1\x25\xb1\x65\xbe\x26\x63\x21\xa0\x89\x15\x70\x49\x42\x0d\xcb\x38\xd0\xb3\x5d\x7e\x41\x2d\x6c\xa1\x36\x34\xc3\x31\xa5\x98\x92\x2f\x15\xb0\x5b\x5c\x12\x5c\x5a\x08\x0c\x49\xf5\x0a\x54\x34\xd0\x1c\x57\xb9\xf9\xf0\x61\x61\x38\x27\x6c\xfa\x88\x78\x52\x59\xac\xdf\x4e\x92\x65\xfb\x00\xc6\x6a\x33\x3a\xdc\xed\x2d\x06\x3a\x47\x90\xdb\x36\x17\xe5\x19\x76\xd3\xe1\x61\x64\x24\x24\x60\x83\x4d\x2c\xdc\x94\x43\xf4\xf6\xbe\x04\x7a\xf0\x33\xb7\x21\x71\x86\x31\x93\x98\xf7\x8f\xe0\x5d\xd3\x8b\xd9\x17\xdf\x6e\x23\x78\x8e\xb5\x42\x0e\x8d\xca\xe7\xc6\xc0\x6c\x5d\xb8\xbe\x4b\xc3\x5e\xb7\x0f\x74\x0e\x95\xf4\xb9\xd6\xc2\x13\x5f\x40\x59\xd0\xfc\x17\x75\xec\x9c\x67\x53\xfa\xb5\x6b\xae\xe7\x5d\xd0\x02\x4f\xc6\xa4\x97\x26\x76\x3a\xf5\x98\x1f\x4e\x83\xdb\x61\xfa\x4c\x19\xd8\x11\x65\x77\xc9\x8b\x9e\xf5\x2d\x68\x59\x7d\x3a\x1e\xa8\xc1\x78\x69\x20\x4f\xb9\x05\x20\x95\x8a\x78\x7c\x2b\x5e\x8b\xc3\xb1\xb2\x43\x71\x01\x25\x84\x7f\x03\xe6\xb8\x5d\x7b\x5b\x5b\x1b\x1e\xd8\x71\x22\x9a\x09\xdc\x78\x40\x4c\x07\xd6\x75\x70\xd5\x94\x1d\xd5\xc3\x6a\xbb\xea\x83\x0b\x0b\xdc\xd6\x2d\x01\xdd\xe8\xa3\x5b\x3d\xc9\x7f\x8b\xc0\xf5\x93\xd8\xa6\xb2\x5c\x0c\xf1\x65\x89\x8b\x6a\x71\x5b\xfe\x25\xef\x1c\xb3\x5e\x57\xa5\x87\x94\x1a\x19\x27\xe2\x48\x6a\xd3\x79\xc2\x63\xea\xf4\x25\x4a\x38\x8a\x18\x49\x6d\x78\x95\xc2\xe5\x3d\xe8\x43\x2f\xfa\x5d\x2e\x26\xc1\x77\x34\xcd\x44\xde\xc3\x2c\xc6\x98\x17\xce\x13\xca\x1c\x33\xf9\xb9\xea\x94\x22\xb6\x7a\x96\x14\x9f\x83\x60\xc5\x55\xa9\x90\x16\xea\xc1\x0d\x7c\x4d\x3a\x1f\x33\x51\x63\x21\x93\x5f\xc7\xa3\xe5\xf1\x57\x28\x01\x18\x57\x6a\x87\x90\xd3\xf9\x71\xeb\xd6\x53\xf2\x23\x66\x28\x47\x34\x47\xde\x97\x49\x3e\xb4\xa7\xd4\xe0\x85\xe4\x6e\xd5\xda\x84\x45\x92\x06\x0e\xfc\xd9\xa9\xff\xf7\x8d\xf2\x5e\x84\x9b\x92\x80\xe6\x97\xcb\x97\x8b\xda\x3c\x44\x24\x3e\x6e\xf1\x48\x47\x5b\xc7\x16\x4d\x89\x27\xc9\x43\xd4\x26\x92\xc7\xb8\x27\x6f\xf8\x72\x55\x6d\x08\x05\x80\x1c\x8a\xc6\x11\xfb\xcd\x4e\xcb\xcf\xdd\xbe\x7f\x77\x4a\x01\x3f\x89\x12\xe5\x36\x97\x5c\x41\x3c\x88\x8f\x4e\xc1\xb6\xf7\x0e\x5a\x4b\x35\x12\xa2\x44\xc1\x29\x98\xfc\x85\xef\x1d\x48\x69\x3d\x17\x82\x69\xd9\x71\x6c\x53\x05\xce\xd5\x3a\x9c\x42\x1a\x32\xb6\x26\x79\x59\x91\xed\x5e\x1b\xd9\x06\x17\x62\xd8\xae\x75\x7d\xe6\x10\x59\x2b\x6c\x7f\x63\xfc\xbe\x5a\xdb\x6d\x4c\xc7\xd5\x25\x39\xa4\x15\xe3\xa6\x73\xc1\xc6\xcc\xaa\x59\xef\x4f\xf2\x31\xe9\xdf\xba\x59\x44\x32\x0e\x4c\xb6\x0a\xbf\xfd\xbf\xca\xa2\x25\xf8\xa2\xf5\x63\x15\x2b\x37\x9d\x07\x56\x94\x5f\x2e\x72\x73\x49\x71\x0d\x70\x1b\xd7\xa9\xf0\xb9\xe5\xba\x20\x3e\x10\x04\xc9\x62\x47\xec\x4e\x7a\x95\xc5\xbd\x32\xb2\x71\x96\x58\x93\xfd\x44\xf9\x49\xae\xd6\x61\x8a\xf6\x96\xda\x27\x48\xff\x10\x56\x83\x54\xa2\xad\xec\x9c\xbc\x99\x9f\x1f\x95\x45\xc9\x74\x8f\x7c\xfa\xda\x47\xb5\x33\x96\x28\x0d\x6f\x4f\x74\x72\x4a\x6c\x0f\x97\x12\x73\x02\x3c\xe5\x3b\xd5\xf2\xdc\x33\x29\x59\x51\xf9\xe8\x81\x60\x67\x77\x87\x38\x05\x22\x6f\xbd\x26\xef\xdf\x37\x3e\x17\xee\x63\xd1\xad\x82\x88\x5e\xa2\xf5\x40\x26\x0b\xe6\xd1\x74\xea\x54\x93\x07\x12\x7d\x67\xbb\x1c\xb1\x24\x82\x7d\x88\xec\xb0\x30\x68\xba\x68\xbd\x13\x29\x88\x47\x54\xfa\x01\xbe\x00\xc7\x73\x94\xe3\x79\x34\x72\xec\xc7\x00\x0d\x20\x14\x00\x7f\x6f\xea\x0d\x4d\xf2\x48\x3b\x0b\xce\xa6\x77\xea\x7e\x7c\xaa\x20\x21\x28\xeb\xef\xf2\xf7\xcf\xf9\x0b\xf6\x86\xd9\xe0\xb6\x19\xf7\x61\x64\xd8\x07\x22\x09\xb9\x91\x0b\xdb\x2d\x73\x51\x67\x23\xe2\x2c\x31\x4d\xb0\x16\x9c\x7c\xaf\xad\x2f\xa9\x75\xcd\x68\xf6\x52\x94\xb1\xd3\x2d\xc7\x2e\x6b\x24\x47\xf8\x4b\x2c\xdd\x85\x31\x61\x15\x3d\x61\xab\xfc\x8c\x59\x50\xc7\x41\xc6\x2c\x71\x94\x25\x21\x11\xd6\xff\x0a\x4f\x4e\x05\x15\x7a\x76\x4e\x36\xd7\x5e\xa5\xc6\x03\x3e\xf0\xee\xc6\xac\x41\xe9\x76\xdc\x4a\x87\x46\xf0\xd3\xbd\xcd\x29\xb0\xc9\x0a\x2f\x9d\x99\x8a\xde\xaa\x6c\xcc\x92\xa9\x42\x33\x47\x4d\x19\x9c\xaf\x27\x5b\x18\x90\x1a\x2c\x6e\x5c\x16\xbe\xe7\x8c\x5c\x1d\x6b\xde\xd1\xa3\x0d\x6d\x31\x05\xa5\x68\x6d\xb4\x6f\xb5\x3e\x21\xd3\x1a\xf4\xbb\xf0\xd5\x6a\x4d\x30\x43\x20\x3c\xa6\xe9\xe7\xff\xf3\x07\xe5\x9f\xb5\x80\xb9\xdf\x8e\x5c\xbd\xbc\xbb\xbb\x91\xbe\x60\x4b\x7f\x7c\x07\x5f\x78\x4e\xf4\x11\x11\x60\xc7\x80\x9c\xb8\x9e\x70\x57\x1d\x1d\x4a\x0c\xe8\x0c\x6a\x48\x4c\xf6\x4d\x0f\xa9\x3c\x94\xea\x5f\x94\x92\x89\x3d\x07\xf9\x7f\x9f\xaa\x90\x43\x05\x14\xa8\x8a\x06\x4d\x40\x07\x57\xde\x85\xce\x25\xea\x89\xb7\x16\xb8\xfd\xc7\x86\x82\xf4\xe1\x93\x66\x14\x97\x7f\xa3\x8e\x25\xe4\xa7\x4d\x6e\xd8\x70\xe6\xa1\x0b\x5a\x00\xd4\x33\xfd\x40\x3e\x27\xf6\x4d\xbc\xf0\x64\x0d\xfe\x59\xba\x2c\x42\x04\x54\xb3\x97\x75\xb1\xc2\x4a\xf5\x3a\xf9\x03\x1b\x83\xe6\xd8\x6f\x3e\xaf\xb5\x62\x5e\x1d\xd5\xb9\xe1\xc8\x91\x92\xde\x8b\x47\x78\x8e\xba\x5f\x57\xeb\x60\xcf\x04\x48\x0c\x04\x8f\x92\x22\x3d\xb4\xcf\x9f\xa3\xfe\x01\x7a\x26\x3d\xde\x05\x08\x1c\x40\xfe\x25\xd3\x8c\x48\xd9\xf3\xd8\x71\x69\x93\x78\x17\xb0\x44\x48\xba\x58\x78\xcf\x6a\xea\x84\xaf\x4b\x01\x20\x16\x7c\x40\x00\x04\x51\x54\x16\xb0\xc6\x50\xa8\xe4\x2b\x07\x18\xe3\x3a\x75\x1e\xee\xb2\x63\xdd\x7d\xd0\x9e\xbd\x54\xb2\x9b\xcb\x0b\xa1\xf0\x85\x42\x35\x8c\xda\xa8\xca\x02\x38\x31\x82\xd6\x68\xc8\xa9\xaa\xaa\x9c\xa7\x61\xb7\x99\x46\x75\xf6\x58\x4c\x63\x5b\xa1\x6e\x4e\xd7\xa8\x78\x74\x4e\xdf\x44\x9b\x58\xd8\xc5\x2a\x11\x4e\x38\x04\x02\xfd\xf0\xc6\xdc\xe1\xc3\x73\x37\x1e\x02\x16\x89\x15\x7c\xf8\xf6\x18\x86\xcd\x32\x0d\x7f\x90\x05\x52\x7b\x3e\x7d\x37\x38\xf8\xd8\x2e\xc7\xe1\xb9\x47\x8e\x9d\x04\xd5\x79\x11\xd5\x82\xb0\x9f\x4f\x67\xc1\x23\xf8\x51\x0e\x96\x91\x9a\x71\xf3\x27\xa0\x67\x12\x0a\xcf\x66\x92\xaa\xb8\x12\xc2\x07\x18\x4b\xf8\x59\x88\xb4\x60\xb2\x39\x8f\x68\xf3\x32\xea\xc2\x84\xc9\x36\xda\xfd\x24\x7d\x93\x1e\xae\x0e\x1e\x20\x97\x83\x28\xc3\x54\x3f\xbb\xef\xb2\x18\x7d\x41\xad\x60\xf7\x0f\x37\x1b\xd4\x05\x38\x94\xe8\x80\x18\x4c\x19\x48\x46\x52\x12\x03\x89\x47\x8a\x0a\x0b\x45\xfd\x46\x4a\x08\x58\x77\x21\x53\xc3\x4b\xd2\x72\x86\x1d\x8e\x00\x04\xde\x40\x45\x4b\x61\xfa\xdc\x32\xcb\xf6\x27\xbe\xe9\xb1\xca\x8c\x94\x25\x76\x5b\xd8\x9f\x5b\x37\xbe\x82\x1f\x53\xae\x46\xb3\x6a\xbc\x01\xe8\x6a\x86\x14\x87\x5b\x35\xe8\x68\xa1\x4d\x06\x74\x2c\xa1\xb9\xe1\x5e\xff\xa1\xd2\x69\x23\xda\xe1\x43\x6f\xaf\xb4\xce\x71\xc2\xa7\xfb\x5a\xa7\x65\xe8\xe6\xf3\x9a\xbd\x74\xac\xbf\x65\xe3\x19\x57\x69\xfe\x95\xb7\x87\xee\x70\x5f\xd7\x74\xa8\xff\x5e\x2a\x3e\xb2\xb8\xb1\xf9\x56\x6c\x68\xf1\xf9\x17\x5a\x9a\x51\xa3\x6a\x58\x07\xa7\xcf\x1c\x42\xdf\xe3\xa8\xaa\x82\x39\xa9\x71\x02\x37\xd6\x40\xf9\x19\xb1\x8b\x82\xaf\xb8\x27\xb4\x12\xd0\xed\x16\x1e\xe3\x9e\xe1\xfa\x1d\xab\x5b\x3d\x65\x1e\x1c\x89\xc4\x48\x2b\x5e\xd1\x97\xba\xc5\xde\xea\x61\x2f\xf5\x47\x85\x13\x36\x8c\x7a\xd5\x3c\xf0\x36\x29\x79\xd0\xb6\x87\xe5\x44\x48\xe4\x77\x46\xcb\xcf\xf3\xe3\x13\x76\xe5\xfa\xfa\x32\x6e\x46\xbd\x29\x25\xc3\x64\xf8\xf3\xef\x03\xb9\xee\x2e\x9d\x29\xe1\x08\x14\xc6\xdb\x95\x50\x36\x5e\xc3\xb7\x72\x09\x8d\xe3\x04\x7b\xaa\x68\xf7\xc8\x3c\x8a\x4c\xca\x3f\xb3\x49\x68\x2e\xa7\xb7\x98\x8e\xb4\x64\x68\x74\x5b\x24\x9d\xe5\x1e\xe3\x16\x5d\x09\xec\xe2\xb2\x66\xc5\x98\xb0\x39\x26\x34\x2e\xda\x3b\x00\xe6\x73\x3b\x8f\x42\x8c\xaf\x95\xfd\xf6\x0a\x12\x9a\x6b\xf6\xf5\x19\xdc\xe6\xf5\xf5\x95\x7e\xcf\x3e\xa8\x6a\x29\xcf\xb0\x79\x22\x54\xcb\xe3\x9d\xbc\x6a\xbd\x4d\x55\x1b\x81\x02\xe9\x64\xce\x82\x4d\xbc\xdd\xb1\xad\xb4\x5b\xff\x84\x44\xf1\x67\x34\x0f\x7b\x1a\x2b\xe1\xdd\x9d\x1f\xa9\x8c\x02\xa1\x17\x3a\xaa\x3c\x83\x39\x71\xa9\x02\xb7\x01\xfe\x41\xcf\x7f\x14\x02\x05\x7f\xa1\x15\x77\x07\x09\x4c\x7d\xbb\xc5\x41\x3d\xc2\xa3\x36\x13\x1b\xaf\xdb\xa0\x65\x76\xf8\xdd\x41\x75\x11\x94\x2b\x55\xfa\x5f\xff\x1f\xf6\x51\xde\x33\x66\xde\x3f\x9f\xe4\xe2\x95\x1b\x52\xb7\x5c\x97\x08\x30\x05\x52\xc6\x00\x18\x7f\x0d\xa4\x52\x5e\x20\xf3\x2c\xf7\x98\xeb\x56\xd1\x77\x85\xdc\x57\xa2\x1b\x1d\x15\x82\x7f\xb2\xee\x32\xe2\x60\x41\x09\x1f\xe5\x76\xa9\x47\xa9\x3c\x39\x0b\x0f\x93\xca\x34\x6e\x58\x3b\xa1\x3f\xbb\x0b\x89\x3f\xf2\xa7\x1b\x2a\x75\x56\x30\xfb\xab\xe4\xb4\xd3\xed\x03\x7b\x5b\x01\x34\x22\xae\x10\xc3\xce\x82\x2c\xb6\x17\xc4\xee\x82\x15\x1a\x71\xd3\xbc\xb1\xe7\x3c\xec\xe7\x92\x52\x4b\x9a\x2b\x82\x08\x07\xdf\x1d\x86\x6b\x35\xc8\x57\x78\x63\x46\xec\x84\xf0\x18\x50\x08\x4f\xfc\x7f\x1f\x3d\x2a\xc2\xf0\xa5\x3b\x45\x12\xfb\x83\x05\x99\xd5\x18\x44\x83\x7e\xbf\xcf\x3a\x17\xd4\x09\x92\x6d\x5c\x41\xb6\xbe\x70\xf8\xb2\xda\xfd\xcb\xeb\x19\x5c\x58\x58\xa7\x08\x64\xb7\xff\xab\xf5\x2b\xbf\x48\x0e\x6b\x36\xfb\xff\x5a\x62\xde\xec\xdf\x57\x73\x58\x0c\xe4\xac\x2f\xd4\xcd\x03\x24\x5f\xba\xad\x51\x84\x13\x12\xf1\x84\x5a\x5f\x97\xa9\xbd\x68\x68\x90\x4c\xf5\x75\x7c\xd7\xc6\x10\x38\xf9\x0d\x09\xc2\xd6\xe4\x5a\x94\xa6\xc2\xd4\x7d\xf1\x49\x48\xc2\x3a\xc6\x8b\x6f\x4b\x7d\xbb\x8c\x0a\xcc\x61\x2f\x2d\xd5\x6b\xa3\xf3\x78\x56\x71\x30\xc4\x02\xc2\x72\xca\xce\x7f\x4c\x43\x90\x5f\xe0\x84\x08\x14\x44\x10\x36\x68\x26\xe8\xbb\x93\x53\xa5\x71\x7d\x70\xdf\xa8\xf2\x3d\x9a\x18\xb8\x7e\x33\x38\xbe\x10\xa1\xf1\x5e\x78\x8e\x53\xdf\xa1\x63\xbe\xa8\xd5\x38\x55\x6d\x11\xb1\xf7\x65\x7e\x37\xb0\xb8\xb6\x1e\xf4\x99\x56\x55\x5a\xc7\x3a\xf4\x76\xc6\xaf\x0b\xe4\x5b\x6d\xe9\x3e\x85\xbf\x13\x80\x3f\xd3\x0d\xd1\x08\xe0\x70\x1b\x7d\xf4\x5f\x06\xe1\xf9\x10\x67\x4b\x06\x42\xdd\xf4\xa1\xfa\xc3\x5f\x0a\x25\xeb\x5f\xa4\x67\x3d\xf7\x49\x68\x7c\x2e\xdd\xa5\xc4\x85\xf2\xfe\x56\x0e\x5e\x31\xe4\x93\xba\x30\x09\x22\x7b\x93\x96\x37\x86\x83\x6d\x86\x73\xd0\x39\xc8\x0f\xea\x9b\xa6\xb3\xf4\xd1\x42\xe0\xf5\xec\x4e\x9e\x94\x49\xc1\x13\x70\x87\xcc\x69\x7b\x0a\x5d\x4a\xac\x20\xea\x10\xf6\x3a\x4d\xb8\xaa\xa5\xd2\x79\xe4\x25\x89\xc5\x75\x86\xe7\xd5\x06\x00\xbf\xfa\x47\xe6\x04\xcd\xff\x56\xd6\x81\xa1\x02\xb5\x0b\xe6\xd2\x01\x6b\x02\x6b\x3c\x6f\x29\x1a\xce\x7b\x3c\x1d\x4f\xf1\x47\x4a\xd7\xa5\xa1\x78\x43\x4e\x6a\x33\x2d\xcb\xaa\x1b\xaa\xef\xf1\x10\x57\x2d\x37\x17\x33\x39\x8a\x1f\x42\xc6\x92\x28\x54\x0a\x60\xda\x50\x0c\x1e\xaa\xaf\x88\x58\x1f\xe9\xbe\x69\x8a\x91\x0b\x77\x08\x51\xe5\x3a\xe5\x9d\xd7\xc1\xdb\xf0\x80\x36\xe3\xb8\x29\x12\x22\x53\x11\x20\x23\x13\x16\xb7\x2d\xe8\x8f\x0c\x08\x8f\x2c\xae\x22\x76\x09\x08\xf5\x84\x5c\xee\x1a\xea\x64\x7e\x6e\x15\xb0\x91\x32\x72\x72\x32\x4f\x62\xbb\x36\x82\x5b\x96\x54\x81\xd6\xd2\x0a\x52\x18\x0f\xab\x4b\x63\xcb\x59\xf3\xe7\x8a\x8b\xf8\xaf\x34\x63\x5d\x91\x3e\xb4\x14\xa4\x8d\x06\x8c\x70\x79\xe0\xa7\xe6\x81\x6a\x06\x70\x3a\x1a\x04\x47\x5d\xaf\x5a\xd0\xe8\xd8\xc8\x24\x12\x30\x0a\x8b\xf4\xfa\x5f\xea\x4e\x2b\x4d\x37\xfa\x59\x32\x18\x6c\x15\x0a\x40\x07\x78\x87\xea\x36\x07\x71\x9d\xe1\x09\xb7\x9d\x34\x9f\xd5\xdf\x35\x39\x4f\xd4\xd0\xa2\x9c\x7d\x11\x54\x93\x90\x72\xfc\x66\x35\xfa\x9f\x32\xff\x6b\x16\x20\x74\x01\xaa\xdf\xb2\xba\x7d\xbb\x70\xc4\x55\x5c\xd2\x75\x72\xba\x9b\xb7\xb1\x73\x56\x6c\xb8\xd7\xaa\x85\x61\x87\xf5\xbc\xde\xb2\x8e\x0d\x7d\x56\x6d\xda\xf1\xc7\x7e\x33\xff\x67\x6d\x86\x8d\xcd\x2c\x18\x5c\x37\x6d\x7d\x95\x2d\x8e\xc1\x84\x2a\xe3\x9a\x10\x2c\x45\x48\x9b\x71\x03\xe7\x24\x59\x78\xb8\x3d\x0e\x45\x15\x98\xfc\xfe\x5f\x56\x27\x9e\xf6\x43\xea\x19\xb2\x52\x99\x69\x87\x4e\x44\xb5\xfa\x39\xf5\x03\x9d\x91\x2f\x00\x0b\x43\x19\x62\xb2\xb3\xc1\xd8\xf8\x78\x9d\xa1\x40\x38\x60\xc1\x32\x49\xcc\xaa\x2c\x21\xf1\xd1\xc2\x03\x66\xdd\x84\xb2\x6e\x45\xf1\xf3\x38\xde\x62\xf1\xfa\x2b\x12\x51\x90\x94\x32\xec\xaa\x98\xeb\xbd\x43\x5a\x5e\x3f\x47\xf7\xf8\x56\x66\xe2\xec\xf6\xe7\xa0\xb1\xb2\x04\xfb\x17\x28\x42\xeb\xe0\x49\x65\xf3\xfc\x2b\x14\x89\x39\xad\x16\xee\x3a\x0d\x41\x0c\x0e\x0b\xc3\xf5\x9c\xef\x0a\xff\xbc\x76\xa8\xa5\xd4\xd0\x34\xd4\x52\x42\xb7\x48\x20\xd7\x7a\xe7\xd1\xb3\x79\xec\x7c\xff\x78\x1b\xbe\xae\x9c\xd6\xa3\xdb\x57\x3f\x80\x45\x1b\xfb\x12\x1a\x74\xb4\xd0\x46\x4f\x0e\xcf\xdc\x94\xe1\x93\x63\x1e\xfb\x94\x3d\xf5\x9a\x31\x45\xe5\x24\x56\x28\x54\xf3\x92\x9a\xd7\xc1\x7d\x0b\xe6\xab\x72\x59\x18\x0e\xa3\x21\x48\x1c\x68\x51\x21\x2e\x46\x2f\x0d\x64\x10\x9e\xf6\xf4\xd5\xab\x47\xb4\x83\x9e\x30\xff\xef\xd4\xd1\x3b\x6a\x17\x07\x38\x36\x74\x1d\xfe\xc0\xc4\xea\xaa\xc5\x16\xae\xec\xd0\x09\x38\xdc\xd5\x79\xe4\xf8\x0b\xdf\x51\x47\xb4\xfd\x2f\x5a\xb5\x90\x61\x33\x06\x3d\x06\x0a\xcb\xcf\xf4\x4f\x81\xaa\x87\xc2\x5f\xd5\xd8\xa4\x4a\x9a\x99\x50\xd7\x92\xa2\x49\xb1\x52\x73\xa3\x5a\x3d\x8e\x90\x7c\xda\xbc\x41\x23\x91\x8c\xac\xac\x8c\xf0\x0e\x23\x91\x73\x75\xeb\xee\xe6\x9b\xbb\x3b\x2e\xeb\xe9\xdd\x1a\x06\xbb\xfa\x2e\x74\x8a\xd7\xa9\x3a\xea\x4b\x16\x49\x54\x27\x17\x81\x36\x98\x1a\x95\xca\x6d\x37\x98\xd2\x22\xf2\x3a\xef\x1a\xec\xe2\xbe\x73\x07\x03\xc5\x62\x12\xc7\x71\xd7\x79\x4c\xe2\x40\x5a\x2c\x59\xaf\x09\x62\x67\x98\x8e\xdd\xc5\x2c\xc1\xfe\xbf\x6e\x9f\x06\xfb\x89\x98\x7b\x0e\x4f\xb8\x3b\x5d\x93\xc9\xaa\x21\x5f\xe3\x22\x3d\x63\x17\xf8\xd3\xba\x02\x86\x9a\x82\x64\x69\x6a\x9b\x32\xa4\x47\xec\x42\xbf\x58\xb5\x24\x80\xe3\xb5\xe0\x7c\xa9\xab\x17\x7f\x69\xdb\x21\xb1\xa1\x82\x2a\x6e\x54\xee\x01\x25\x9b\x02\x13\xfb\x3b\xcf\x15\x2a\xea\xc5\xf6\xe4\x5e\x33\xce\x2f\x63\xed\xae\xb9\x45\xc0\x9f\x13\x73\x9f\x08\x34\xf6\xba\x43\x03\x77\x4c\x6a\x7d\x29\x19\xb1\xf9\xe2\x3c\x28\x86\x9e\x59\x70\x48\x77\xe2\xdd\xf3\x57\x8b\x5e\x92\xfd\x48\x4c\x8c\x2d\x0b\x76\xcb\xdb\x70\x84\xf9\xc4\x91\x40\x01\x77\xde\xc4\xd0\x9f\x70\xc5\xcc\xb9\x9d\x55\xfa\x4b\xb8\x97\xc0\xa1\x3e\x31\xeb\xb7\x80\xf1\xc4\x4c\xcb\xbe\xa9\x66\xe2\x04\x30\x70\x89\xd0\xce\x8e\x97\x1b\x3d\xd4\x5f\xeb\x8c\xf1\x9f\x21\x0b\x09\x39\xfe\x71\xc6\x5b\xba\xba\xc1\xc6\xad\xae\xf9\x74\x84\x2d\x63\x5c\x0d\xd5\x09\x40\xd5\x71\xf1\x5d\xb2\x92\xe0\x43\x41\x4a\xb4\xaf\x70\xcd\x50\x61\x6f\x7c\x1e\x79\xa9\x6c\x4e\xde\xea\x91\x7b\x0f\x46\x86\xf3\x2a\x33\xb3\x46\xd0\xf8\xcb\x78\x4c\x7f\x54\x76\xa2\xb4\xd0\x30\xd4\x9b\x56\x2c\x91\x90\xbb\xe4\xde\xfb\xf3\xd4\x6a\x48\xf5\x41\x28\x5c\xc9\xf4\xd4\x78\xe2\x07\xfa\xfb\x9f\xbe\x07\x78\x74\x50\xbd\x0d\xf5\xaf\xaa\x52\xa5\x5e\xa9\xd7\xe5\xe5\x00\x53\xbf\xef\x68\x22\x91\x48\xb0\xc6\xfd\x4a\x6e\x23\x5f\x70\xbf\x2e\xc2\x24\xad\xb2\x02\x19\x8d\x73\x32\xf0\x69\xa8\xf1\xfb\x42\xcc\xe6\xe6\xf1\x7b\x54\xd1\x75\x5a\x4b\x0b\x74\x5c\xd4\x4c\x1a\x49\x87\x19\x25\xbe\xed\xf1\x2a\x9a\x0b\x8c\xbf\x50\xf8\x3d\x16\x7b\xf9\x62\xe0\x22\x55\xb8\x51\x87\x22\x56\xd3\x52\x7d\x09\x3e\x5a\x82\xd6\xf1\x8a\xd2\x0c\xa5\x81\xc5\x8a\x4e\xb1\xb3\x56\xdd\xae\x02\xe9\x2d\xfb\x4a\xc9\xec\x68\x02\x0c\xcf\x83\xe1\xcd\x0d\xc3\x5e\xa9\xd9\xd5\xc1\x0c\x11\x8c\x3b\x92\xa6\x46\x51\xc3\xd4\x2c\x2a\x2b\xe8\xad\x22\xf5\x22\xd5\x30\x30\x29\xb6\x3a\x3b\x3a\x56\x94\xa7\x12\x50\x38\x2a\x65\x28\x37\xd2\x4a\x6c\x97\xbd\x8e\x8b\x9b\x30\x6f\x48\x65\x5e\xc6\x8a\xe2\xe5\x79\x25\x81\x60\xbc\x93\x1d\x34\xa7\xc7\x59\xd2\x5b\x65\x58\x16\x7d\xb2\x36\x4b\xfc\x4a\x05\xcb\xa9\x84\x91\x12\xcc\x00\x00\x5e\x23\x3c\xc9\x9d\xc9\x08\xcf\x49\xdf\x5f\x2f\xee\xae\x32\x33\x2d\x40\xb1\x6c\xb3\x34\x96\xcb\xfb\x60\xca\xec\x50\xe2\x3d\x01\xe6\x4b\x26\x3d\x2e\x29\xe9\xcd\xd5\x9c\x58\x76\x4c\xaa\x88\xc5\x66\xb1\x6f\xd9\x0b\x9d\x8b\x42\x47\x5d\xde\xae\x8d\x16\xd2\x2b\x02\xf2\x8b\xe6\xd8\x82\x50\x79\xb8\xd0\x49\x8e\x6e\xa9\x56\x60\xe6\x6b\x2d\x7e\x53\x8c\xc5\x64\xd0\xed\x11\x64\xfd\x02\xd8\x63\x55\xb7\x97\x2e\xda\x67\xc6\x97\x27\xdd\x20\x31\x4e\x8a\xfd\xf5\xad\x30\x50\x21\xf4\x00\x08\xa1\xce\xaf\x82\x87\x48\x95\xed\xa8\x5d\x48\x66\xb0\x12\x9e\x0f\x5b\xb4\x5a\xc2\x78\xcb\x1d\xe2\xc5\x05\x5c\x2e\xc2\x20\x91\xe0\x80\xbd\x2b\xa2\x5c\x5f\x16\x34\x13\x62\x98\xa6\x4f\x76\xaf\x1a\xff\x82\x8a\x92\x23\xbb\xae\xf6\xb1\x88\xc5\x76\x21\x82\x6c\xcc\x04\x2c\xd4\x78\x3c\xec\x1a\x44\x13\x78\x49\x4e\x02\x2d\x46\x13\x82\xec\x65\x2c\x2f\x89\x5c\x6d\x82\xde\xd3\x64\xb4\x50\x79\x98\x12\xc4\x49\x72\x86\x83\xc7\x90\x26\x24\x8a\x11\x47\x1b\xbc\x4b\xf1\x4b\xb6\x16\x84\xd6\x87\x31\xc4\x71\x12\x97\x7a\x47\x9f\x21\xaf\xa3\xb2\xb5\x41\x05\xed\xbb\xc0\x11\xb9\x33\x38\xad\x11\xcc\x8d\xcd\x04\x39\x37\x55\x3b\xc8\xb4\x56\x65\xe6\x67\x20\xb0\xe9\xdd\x8c\x1e\xbf\x4c\xbb\xf8\xce\x90\x6f\x9c\x74\x70\x92\x52\x3c\x73\x9a\xe5\x6b\x30\x04\x55\xe0\x2d\x0b\x82\xa2\xc0\x82\xb0\xe6\x9c\x3d\x43\x98\xcb\x01\xbe\x43\xb1\x9e\x9e\xd1\xf6\x1c\x57\x6a\x41\x9c\xb2\xb5\x0c\xda\x4f\x69\xc3\xed\x9f\x8c\xa5\x92\x69\x6c\x30\x07\x18\x47\x74\x63\x3d\x07\x54\xa3\x09\xac\x75\x35\x9d\x3c\xd9\x84\xf1\x85\xfa\x27\x4d\x8a\x3e\x23\x05\x8e\xab\x0d\xee\x41\xa7\x44\x88\x16\xa2\xc3\xe4\xb6\x85\x10\xa2\x29\xe8\x6d\x83\x22\xc7\x9b\xf1\x19\x58\x21\x10\x0e\x2d\xea\x97\xce\x9c\x61\xbe\x52\x1e\x95\xaa\x82\xb9\x99\x5f\xad\xf4\x91\x7d\x29\x3b\xcd\x3b\x36\x13\xc5\xef\xd0\x9f\xb2\x28\x8e\x8e\x6f\x3a\xd6\x94\xfc\x71\x43\x5e\xfd\xf9\xc7\x95\xed\xa9\xfb\xad\xdb\xb5\xe9\xad\x41\x3d\x8e\x7a\xf9\x1a\x4f\xef\x07\x62\xca\x09\x85\x64\x84\x7e\xf8\xca\xc5\xdb\xdb\xfb\xb6\x8d\xd7\xee\x68\x7a\x97\x6e\x2f\x4a\x7e\x98\xc7\xaa\xc5\xa4\x7a\x53\xe8\x2c\x4a\x82\xa6\x4a\x23\x32\xc5\xad\xc3\xf3\x10\x69\x0b\xe1\xff\x5a\x7e\x5f\xa2\x7b\x63\xbb\x8c\x1e\x5d\x6f\x07\x96\x62\x52\x3a\xf4\x76\x3a\xeb\xa3\xe2\xf6\x3f\x65\x3f\x09\x74\x5a\x5d\xd6\xb8\xdf\xd5\xa0\xdf\x67\xd5\xaa\x4d\x6b\x0e\xea\x16\x14\x26\x8e\x7a\x7a\x9f\x71\xb3\x1f\xe5\x25\xc3\x55\x43\x57\x5c\x59\xde\xda\xbb\x65\x73\xf5\xb6\x86\x37\x69\x76\xa2\xe4\x07\xb9\xac\x5a\x97\x64\xef\x08\x1a\x14\x11\x9f\x54\xa9\x16\x56\xe6\xac\x51\xcc\x43\x8e\x1c\x24\x6d\x04\xc4\x8c\x6b\xc0\x69\x0c\xdd\x77\xb4\xc6\xbf\x05\x12\x23\xf3\xe6\xaf\x3b\x0f\xcd\xf8\xcc\x8b\xc9\x09\x25\x79\xcb\x47\x1f\xad\x38\x40\x35\x3a\x79\x71\x29\xb4\xa8\xac\x7c\xe2\x8c\xac\x4e\xdd\xe7\x3d\xfd\xb4\xc6\xec\xc5\xdd\x42\xd6\x81\xc5\x5e\x5c\xfe\xa9\x53\xf9\x38\x5d\x07\x02\xeb\xf5\xaa\x5d\x9a\x3f\x7b\xbc\xa0\x72\x57\xf9\xb5\xf2\xd2\x5b\x7f\x2d\xec\xb9\x2b\x57\x0f\x18\xa4\x71\xd9\x29\x5e\x32\xd5\xf8\xdf\xfd\xc7\x2d\xc8\xcc\x1b\x4b\x4b\xa0\x14\x30\x67\x34\x89\x4c\xd2\xbc\xee\x26\x4f\xf9\xb2\x53\x50\xbc\x64\xed\xe0\x02\x9d\xc5\x9e\x2d\x6d\xb2\x15\x80\x05\xc7\x3e\xf7\xb8\xdd\xf3\x80\x87\x6e\xec\x78\x1b\xca\x51\x79\x59\xe5\xb4\x8e\x00\x62\xe1\x1c\xe2\x89\x79\xa6\x43\x12\x51\x9a\x08\x9b\xce\xc7\xfa\x41\x00\xcf\x19\x93\x29\x08\x98\x8f\x42\xcb\xeb\x44\x60\x3c\x60\x92\x88\xec\x99\xc1\xd7\x18\xb3\xb1\xb2\xf0\x05\xe9\xbf\xfe\x37\x9e\xc9\x07\x91\xbb\x25\x66\x22\xa5\x59\x89\x16\x93\x15\x8d\xfb\x3e\xb6\x92\xd9\xd0\xa8\x47\x5d\xdc\x54\x7d\xea\x5f\xf3\xe2\xfa\x9d\xc3\xea\xc8\x54\x18\xc4\x2c\x61\x7f\xd2\xec\xdf\x5e\x26\x78\xd4\xa0\xab\x91\xe7\x2c\x76\xa5\x34\x98\x45\x70\x57\xf0\xc2\xb6\x9f\xf2\x53\x84\x41\x14\xfd\x4e\xef\xe2\x85\xad\x08\x67\x6a\xde\x29\xde\xc9\xec\xe2\x26\xaa\x8a\x64\x99\x00\x0c\xba\x35\x0b\xb8\x34\xad\x7f\xe4\xfe\x28\xda\x04\x08\xe7\xe4\x24\xc1\xfd\xe3\x73\x44\xe2\x42\xdd\xa6\x78\x9d\xf0\x4f\x9f\x68\x11\xaa\x58\x51\x9f\xcc\x4c\xe2\xb2\x77\x98\x05\x8a\x60\xed\x1f\x71\x8e\x6e\x1d\x50\xee\x88\x73\x54\xa1\x17\x73\xdb\xd5\x27\x40\xc7\x54\x7a\xc0\xbd\x2c\xed\x32\x1f\xcc\xe8\x4a\xb5\x2a\x6e\x6a\xde\x88\xfb\x34\x5f\x98\x7d\x33\xb9\xb8\x17\x9d\x9c\xbb\xd7\x99\xc7\x6a\xc5\xd2\xab\x2d\xab\x25\x69\xf9\xa8\xf2\xa5\xbd\xe9\x0a\x80\xf2\xb7\x01\xbd\xc2\x50\x92\x4f\xf3\xa4\x46\x3f\x8f\xad\x6b\x6a\x53\xdb\x23\xed\x07\x04\x47\xfa\x27\xeb\xca\x70\x1b\xf6\x31\xe6\x8e\x1d\xbd\x4a\xc3\x18\x6d\xea\x62\x06\xda\xf6\xcd\xd5\x61\x5b\xef\x32\xef\xb1\xe5\x3f\x6b\x4b\x71\x01\x1c\xa7\xb2\x21\x8c\x88\x40\x2d\x5e\x59\x39\x37\xf7\x2a\x9d\x96\x6f\x30\xf0\x81\x91\x69\xc5\x4d\xd2\x6c\xe4\x3d\xf5\xdf\xba\xfc\xb6\xb4\xed\xaa\xbf\xa5\x92\xf6\xbe\x28\xe9\x37\x67\xa9\xbc\xbf\x5f\xab\xdf\xc7\x99\xc7\x04\x57\xe5\xd8\xa3\xa4\xd3\x2e\x2e\xfb\x8d\x0a\x8c\x0e\x70\xcd\xdb\x1e\xe8\x6b\xa4\x8c\x03\x9f\xae\x0b\xee\x23\x0f\xac\xf3\xf8\xf8\xc1\x63\x5d\x06\x40\xe0\xf9\x03\xee\x97\x92\x8d\x71\x03\x8b\x6f\x9a\x73\x16\x5d\xac\x76\x4b\x8e\xc0\x69\x5d\xd3\x43\x15\x2b\x1d\x9a\x4b\x36\xd6\x0b\x2d\xed\x2f\x27\x53\xa2\xcb\xe8\x7b\x56\xaa\xe1\x46\x23\x70\x05\xc6\xa6\x75\x4f\x26\xe1\xe5\x67\x1e\xf4\x7a\x89\xa9\x75\xf2\xe0\x74\x92\xaa\x78\x65\x4c\x94\x2e\x8a\xa8\x76\xde\x73\xdc\x4d\x66\xef\xd1\x9f\x40\x2f\xe3\xce\x29\xf6\x75\x95\xb0\xef\xc8\x1b\x41\xe3\x29\x1b\x30\x21\xdb\xbd\xf8\x00\x29\x2f\x59\xb8\x08\xa2\xc6\x5f\x24\x6d\x55\x3f\x53\x7f\x5e\x15\xde\x09\x47\x71\xd1\x01\xda\xcb\x13\xc8\x56\xc4\x8b\x6a\x2e\x76\xdd\xd6\xf1\x55\x48\xa1\xf3\x30\xc1\xca\x6d\xc7\x95\xd6\xd8\x2a\x33\x12\xa8\xbc\x87\xd0\x62\x07\x74\x33\x80\xa3\xda\xc9\x28\xe1\xcf\x24\x46\x23\xb1\xc4\x50\x83\x68\x7a\x5a\x98\xb2\xb2\x6f\x11\xb6\x14\xda\x5c\xa2\xc8\x64\xf9\xe6\xb2\xa0\x70\x6d\x1c\x4c\x91\x7e\xf6\x4c\x0c\x6a\x0e\x13\x62\x10\xcb\x6d\x10\x6d\x4b\xe5\xd0\xc7\x09\xa8\x71\x73\x4e\xf1\xb6\x22\x51\x5f\x51\x68\x39\xd1\x09\x2d\x91\x1b\xdb\xe3\xb3\x9f\x43\x55\xcf\x03\x01\xd1\x9f\xfd\x8f\x4f\xea\x3d\xde\x86\xf6\x79\xd4\x35\xf1\x84\xd1\x0c\x59\x6b\xc8\xed\xd4\x1f\x8a\xc3\x4e\x2e\x65\x1c\x75\x9b\x69\xad\x23\x75\xb9\xe5\xda\x92\xe0\xa0\xa0\xb9\xad\x92\x70\xd5\x0c\x2a\x93\xd8\x21\xa1\xf4\x43\x5f\xdf\xbb\x33\x8c\xd5\x51\xda\x70\x83\x61\x7a\x04\x6d\xa6\x67\x1a\xe7\x2d\x96\x8c\x99\x09\xb9\x2d\xe5\x89\xf3\xf4\x07\x00\x02\x6b\x0a\x0b\x38\x89\xab\x5a\x07\xc4\xc3\xe8\x8e\xa7\x16\x96\x59\x50\x94\x64\xcc\x1f\x4d\xaa\x9c\xb1\xf1\x60\x54\x47\xbc\xb5\xd0\x1c\x68\xd1\xa4\x5d\x3a\xab\x64\xf8\xd4\xd0\x56\x4e\xcd\x76\x02\x63\xaa\x57\x3a\x77\x99\x13\xeb\x8d\x7c\x6b\xd2\x81\x2e\x3a\xd3\xab\x1e\x8d\x4f\xdd\xda\x91\x73\x80\x77\x1c\x20\x70\x00\x54\x12\xca\xd2\x1f\x0c\x80\xb6\x25\x7a\xce\x81\xd9\x87\xc1\x2a\xec\x30\x29\xd8\x0c\xea\x1e\x41\x07\x26\x33\xaf\x92\x13\x50\x50\x51\x5f\x69\x2e\xde\x2d\x5a\xe9\x21\xe1\x8d\xd1\xf6\xbd\x25\xd1\x54\x74\xf6\xa8\xf8\x66\x33\xeb\x6b\xd7\xb4\xde\x2b\xb4\xf0\xb4\xff\x66\x83\xd0\xdd\x36\x8b\x9d\xe3\xb5\x07\xa5\x0b\xab\xd5\x36\x6d\x50\xd0\xd1\x8f\x48\x34\xb1\xd7\x87\x18\x85\xc3\x32\xfe\xd5\xfc\x0a\xb1\x75\x6d\x4d\x43\xcd\xa5\x06\xe7\xa1\x70\x6d\x2a\x59\xcb\xad\xab\x8b\xd2\x39\x0e\x01\xc2\x5f\xbb\x9d\xf2\xe2\x15\x4a\x11\x5b\xc4\xf3\xf3\xba\x2e\x39\xb4\xd7\x26\xf3\xe1\x2c\x72\x80\x48\xb8\x69\xdf\x83\x38\xc9\x85\xa0\xef\x61\xc2\xcd\xd6\xc8\xdf\x19\x97\x5b\xbf\x4e\x1e\x98\x6e\xb3\xfe\x3c\x8e\x43\x72\x78\x4c\xb5\xef\x72\xf9\x4a\x32\xe2\x76\x63\x18\x14\xfe\xe4\x3e\x78\xcd\x09\xfc\x9c\xee\xd6\x11\xe4\x4a\x1e\x82\x23\x75\xe3\xa4\x07\xb7\x3a\x6e\x59\x93\x16\x9d\x98\x7d\x1a\x6c\xf4\x7a\xc2\xd3\xae\xb4\xe9\x5e\x59\x3b\x9e\xb6\xe4\xb1\x7a\xb4\xea\xb3\x17\xd3\x89\xac\x31\xc0\x60\x37\x7a\x83\x76\x2f\x9a\x98\x5f\xe7\x9c\x93\xb0\xca\x0e\x7b\x90\xcf\x1b\x3d\x27\x54\x87\x20\x60\x4a\xd9\xbc\x5d\x18\x02\xf8\xc8\x87\x55\xcb\x02\x29\x4b\x7b\x76\xfb\x5b\xa5\x84\x14\xb0\xd5\x9d\x79\xac\x60\xd7\x2d\x30\x2d\xd3\x3f\x9d\x9a\xc1\x5e\x82\x9a\xff\xc7\x5b\xc9\x6d\x03\x0f\x53\xc6\x90\x1e\xc2\x3d\xf9\x03\x4f\x23\x5f\x44\xad\xad\x9d\x71\xc8\x71\x1a\x8e\x6d\x52\x1f\x30\x0e\xcd\x1a\xc2\xd3\x29\x95\x0a\x69\xa2\x62\x11\x4a\x9d\xb1\x7d\xe7\xce\xed\xf8\x3c\xdd\x77\xf8\x6f\xe2\x61\x81\x01\x19\x36\xba\x5b\x9e\xf6\x81\xbb\x5e\x44\x85\xde\x1c\x84\x5a\x7a\x60\xaf\xab\x9c\xe0\xcc\xb6\x2e\x44\xe6\x4b\xcf\xf2\xa7\x7f\xcd\x1a\x3d\x62\xb1\x05\x09\x9b\xc6\xe2\xee\x62\x88\x00\xe4\x9d\x6c\xad\xde\xb2\x77\xed\x97\x82\x4d\xe2\x18\x9a\xd3\x06\x37\x64\x18\xd6\x86\xa5\xa3\x08\x85\x80\x15\x80\xed\x23\x77\x51\x5d\x21\xb0\xf6\xd8\xcb\x98\x98\x14\xf3\x67\x31\x7d\x42\x4a\xda\x39\x89\x86\xfa\xc4\xc2\xd4\x8e\xf1\x49\xae\xf3\x3d\x43\x56\x52\x8d\xb9\x25\xce\x4c\xd5\x4d\x55\xa2\x5d\x43\x28\xf5\x2b\x23\x4f\xf7\x31\x51\xae\x64\x6a\xca\x32\xbe\xb9\x7e\x12\x26\xc7\x42\x27\xd9\xa9\x70\xbe\xd9\x63\xf0\x51\xde\x1c\x34\xcc\x1b\x31\x23\xb0\x96\x9a\x71\x1d\xca\xb8\x4c\x8f\xc9\xcc\xae\xae\x4c\x9b\xe2\x9e\x92\x16\x08\x9b\x86\x19\x0e\x47\x5a\x74\x2a\x6a\x18\x96\x1e\x49\xb6\x60\xe8\x16\xdb\x51\xb5\xa2\x8d\x2f\xd0\x02\x48\x4a\x65\x7f\xd6\x6c\xb9\xe8\x87\xd2\x1f\xe8\xb1\x8e\x95\x9b\x94\x78\x5b\x30\x94\x44\xa3\xd6\x8c\x31\xc2\xc0\x53\x54\x4b\x89\x61\x66\xd4\x3b\xa2\x0c\xf8\xd9\x33\x60\x17\x4c\x98\xb0\x7d\xe4\x8d\x7b\xd8\xa7\x4a\x11\x26\x35\xb3\x80\xb1\xc4\xd9\xea\x4a\x84\x5e\xb7\xfc\xf5\xb4\x47\xbd\x8f\x86\xa1\x86\xeb\x26\xf5\xf6\x9e\x78\xad\xee\xb2\x25\x6e\x86\x71\x23\x23\xe9\x47\xb3\xa1\x37\x96\xa4\xff\x70\x28\x2f\x38\xf9\x84\x9d\xd7\xca\xb6\x4a\x1b\x47\x79\xd1\x1b\xbe\xf6\x38\xd1\x3f\x96\xa4\xff\xb0\xc8\x2b\x3e\x49\x08\xb4\xa5\xae\xf8\x8f\x10\xe5\x85\x8b\x57\xe2\xbb\x54\xdc\x6d\x0a\x41\x6a\x98\xf7\x2f\x62\x88\x07\xa6\x88\xb3\x59\x46\x4e\x47\xff\x75\x17\x63\xfe\x04\xf7\xb5\x8e\x5c\xae\xc1\x8b\x88\xcf\x3a\xeb\x69\x25\xba\x96\xe1\x66\x55\x2c\x70\x17\xe6\x82\x49\xec\x8d\x70\x20\xff\x96\x5e\x79\xb6\xeb\x95\x1f\x08\xf7\x42\xc0\x63\x78\xc2\x32\x8a\xd0\xec\x1b\xf7\xca\x16\x0d\x56\x62\xe0\xa7\x36\x4e\x01\xbf\x64\x0b\xd6\xd9\x8d\xd3\x99\x54\x80\xe4\xe6\x9d\x6c\x14\xc6\x57\x86\x7b\x74\xc4\x88\x54\x7b\xf0\x96\xe8\x53\x11\x1e\x2f\xa5\x51\x95\x59\xfe\xa5\x4b\xfd\x8e\x15\xd5\x37\xb7\xe4\x23\x12\xae\xbb\x70\x16\x51\x63\x47\x6f\x91\xde\xf0\x67\xfb\x51\xa0\x80\x47\x3f\x65\x3c\x80\xf3\xb4\xe8\x05\x74\x19\x86\xfd\xe7\x4a\xa0\xf8\xe9\xac\x38\xb7\x33\xd7\x59\xb5\xb5\xde\xa8\xfc\x46\x5e\x3a\x9e\xcc\x8a\xe3\x7c\xee\x8e\xca\x9a\x38\x60\x72\x7d\xe0\x51\xe7\xc1\x68\x46\xe9\x34\xd5\xeb\xa2\xba\x6a\x22\xb3\x3a\x6b\xa2\x32\x3b\x6b\xa3\xce\x2e\x2c\xef\x26\xfe\xd6\x7a\xdb\x54\x49\x46\xb7\x54\x79\xf8\x3d\x9d\x4b\x99\xc2\x3b\xc2\x70\x72\x02\x24\xdc\xd1\xb2\x80\x38\x66\x5f\x9b\x93\x54\x49\x1f\x56\x5b\x85\x8a\x5b\x01\xb2\xc5\xba\x60\xf6\xc2\xe6\x2e\x4e\x0f\x30\xce\x55\xb8\xa9\xe3\x38\x49\x00\x59\x9e\x97\x0d\xc7\x44\x35\x0f\x95\x37\xf6\x6f\x2d\x0a\x1c\x21\xf3\x6d\x76\x39\xa9\x8f\x1c\x5c\x2f\xb5\x4b\x52\x99\x9d\xb1\xe2\x21\xfd\x1e\x8c\xff\x36\xff\x88\x0c\x81\x62\xe9\x1e\xc9\x5c\xb5\x2b\x27\x49\xe7\x65\x2f\xb1\x9d\x61\xf6\xca\x46\x7a\x1b\xcd\xb7\x10\xfb\xb5\x7b\xed\x8b\xf3\xf0\x50\x7c\xf3\xb5\x77\x8d\xc3\x34\x65\x6a\x2d\xa5\xa0\x74\xc2\xdb\xa0\x5e\xc2\x5c\xdf\x53\x4b\xd7\x2b\x27\xbc\x4a\xe6\xfb\x52\x9b\x82\x53\xf4\x8e\x00\x1d\x66\x99\xf0\x0e\xc8\xe6\x82\x03\x34\xbe\x96\xd4\x96\x2b\xc6\x65\xf9\xd0\xc7\x22\xd3\x83\xd6\x6a\x1a\x5c\x91\xf3\xca\x8c\xe0\x45\xcd\x2e\x02\xc5\x3e\x70\xb6\xe6\xed\x97\x21\xcd\x5c\xec\xbe\xf5\x42\xf5\xe0\xb8\xc3\x7d\x76\xda\x86\x4e\x21\x07\x22\x66\xc5\xeb\xba\xe3\x52\x8b\x30\x72\xd6\x47\xc0\xdf\xbb\xc0\x2a\xb9\xd0\xfd\x1f\x20\xad\xc6\xf6\x95\x8d\x2f\x4a\x95\xe4\xf3\xe2\x36\x1b\x98\x4d\x9a\xfe\xf1\x6e\xff\xeb\xca\x7e\x8b\xab\x7d\x7d\x18\x3c\xf1\xed\x8e\x1d\x6f\x13\xe1\xb0\xe0\x98\xe7\x6c\xcf\xb8\xfb\x70\xef\xfc\xbd\x66\x25\xed\xde\xff\x10\x6e\x7e\xdd\xd8\x57\xd5\x58\xee\x55\xe1\xbc\x6c\x11\x41\x21\xb9\xcb\x8d\x21\xd3\xab\xc2\xfd\xfd\x38\xeb\x69\x44\x2a\xb9\x7a\x12\x33\xc9\xd9\x40\xb8\x85\x45\x59\x6f\xca\x05\x4a\xd2\x4e\xf1\x43\x38\x66\xa4\x04\xb7\x92\x2c\x03\xe3\x52\x1d\x12\x09\x9c\xc6\x8f\x83\x6d\xd6\x77\xf0\xac\x45\x1b\x0e\xc1\xf1\x28\xc9\x69\xfd\x77\x4c\x8c\x05\xdf\x65\xee\xe3\x37\xeb\x78\xd0\xac\xbb\xf2\xd3\x32\xed\xe7\x4c\x7a\x00\xac\x20\x42\xa2\x08\xc1\x2c\xe4\x27\x1a\x5c\x6e\x40\x4f\xde\xa4\x6c\x0b\xef\xf7\xff\x18\x6f\x3c\x69\x91\xbd\xe3\x59\x55\xc8\xd7\xca\xa3\x96\x3a\x87\x38\x96\xde\x70\xec\x80\x75\xa3\x88\x5a\xe5\x13\x38\xf3\xb9\x26\x3e\xe6\x73\x34\x50\x63\x58\xa1\x59\xfb\x13\x96\xc5\xdf\xcf\xef\x0b\xe5\x11\x8f\x7d\x74\xf2\xac\x70\x8f\x2d\xb4\x09\x89\x8e\x79\x43\x1c\x26\xea\x1f\x83\x7a\xa5\xb1\xca\x0a\x0e\x5a\x60\x37\xa1\x29\xaa\x3c\x69\x9f\x1d\xa9\xa2\x36\x4f\x67\x67\x74\x7f\x78\xbc\x0a\x68\x54\x49\xba\x1f\x77\x31\x61\xee\x72\xcc\xcc\xde\x33\x3b\x65\xae\x17\x1e\xbb\x99\xe5\x30\x74\xfe\xd0\xeb\xfc\x1e\xfd\x59\x73\x6d\x76\xcb\x59\x45\xf6\x8d\xde\xc3\x1a\x7b\x29\xae\x4b\x1e\x92\x92\xf6\x59\x1b\x68\x01\xf4\xa3\x1d\x26\x8d\xdb\x91\xc7\xb6\x85\xf7\x1b\x58\x9e\xee\xd6\xe1\xb1\x3e\x54\x29\xab\x30\xff\x6a\x4a\xa2\xf9\xd8\xd7\xaf\x8f\x24\x37\x0a\xa0\xbf\x93\xa2\x80\xdb\xb7\x6f\x12\xc1\x55\x63\x6b\x97\xb1\x77\xf1\xd4\x59\x3b\x38\xa0\xb6\x3e\xcc\xeb\x80\xf1\x2b\x67\xd1\x36\x77\x26\x24\x1d\xd1\x3e\xde\x82\x75\xcb\xeb\xb6\xee\xfa\x3e\x1b\xc2\x0a\xdd\x56\x5a\xeb\xc1\x88\x4a\xb4\x05\xa3\x91\x1a\xb4\xb8\x67\x82\xcb\xbf\xe5\x3d\x8a\xfe\x83\x3e\x4f\x8b\x01\xe5\x69\xe9\xb6\x5d\x40\x9c\xc9\x01\xff\xe5\x51\x59\xd6\xf7\x86\xf9\xa7\xf7\xd8\x4f\xda\xe6\xda\xf2\xbf\xd2\xc6\xbd\x0c\x41\x49\xae\x4e\x25\x46\x28\x9d\xe0\x9a\x04\x59\xfe\x39\xcc\x39\xa3\xde\x4a\xd5\x43\x08\x34\xce\x51\x40\x4a\xfd\xb8\xb6\x39\xa0\xe1\x75\xae\x33\x70\x3d\x05\x82\x30\x41\xa3\x8a\x31\x0a\xb8\xe4\x2c\x5e\x19\xf5\x3e\x05\x84\x28\xb5\xda\x48\x52\xa9\xd4\x42\x78\x8d\xb5\x4c\xd4\x87\x88\x6a\x2d\x18\xf0\xed\xef\x61\xda\x70\x33\xad\xff\xfb\x37\x75\x62\x03\xf0\x4e\x56\x34\x7c\x07\x11\x75\x87\xa0\xe7\xa0\x8b\x61\x6c\x65\x0c\x8d\x9a\x7a\x08\xa2\xf6\xa8\x4a\x40\xea\xd5\x35\xfa\xab\xe2\x79\xb8\x43\x17\x07\x8d\x51\x40\x52\x52\x71\x82\x4f\xf9\xa7\xb0\x3c\x2f\x1d\xe4\x26\xf1\x1d\x49\x47\x26\x02\x2d\x70\x40\x5f\x53\x2f\xbb\x6d\x6e\xa6\xf5\xbf\xd8\xc2\x03\x63\xa6\x90\x5a\x35\x3b\xf5\x3c\x79\x04\x09\x18\xe3\xcb\x18\x2f\xe9\xaa\x9e\x50\x96\xc8\x65\x7f\x20\xe0\x9d\xb6\xfa\x81\xad\x02\xf0\xa2\x04\x94\xd3\x07\x96\x50\x2e\x57\x6b\xf4\x59\x89\x44\x34\xce\x01\x3c\xed\x1f\x41\x8a\xfa\xa5\xd3\x17\xa6\x90\x4e\xc7\xac\x95\x9a\x69\xc5\x44\x95\xf6\x0e\x4e\x24\x7f\xc2\x37\x20\xed\xf7\x2e\x86\x20\xd2\x2b\xcb\xc0\x67\x1c\x49\x9c\x67\xa1\xc6\x3a\xb5\x23\x3f\xe1\xb8\xa4\x50\x75\x47\x97\x17\x71\x2b\x35\x3c\x28\x93\x19\xcf\xda\xae\x2d\x48\xbb\x4a\x44\x9f\x1b\xaf\xb8\xe0\x55\x31\x26\x67\xec\xbb\xce\xbe\x23\x59\xb9\x02\x18\x23\x7d\xc4\x83\x90\x89\x07\x2d\x94\x73\xa3\x15\x3c\x49\x9a\xca\xb9\x8d\x60\xce\x7b\x36\xc2\x81\x70\xd8\x53\xa4\xfb\x9a\x75\x41\xeb\x9c\x6d\x6d\x16\x8b\x47\x83\x70\x3c\x10\xed\x99\xdc\xfa\x73\xf8\x4f\x69\x63\x30\x02\xca\xb6\x82\x75\xbf\x18\xf8\x05\x9d\x94\x9c\x66\x1e\xc2\x35\x6f\x23\x0f\xac\x92\x9c\x92\x1f\xda\xd5\x2e\xef\x6f\x5d\x85\x6c\xae\x3c\x28\x7f\x49\xeb\xd5\x96\x2b\xd0\x20\x5b\x14\x44\x2d\x96\xb1\xd3\x12\x64\xa1\xf1\x04\xbf\x71\x1d\xea\x9d\xbb\xe1\x29\x19\xcb\x3c\x55\x50\x71\x79\x6f\x51\x5e\x34\x39\x4b\x1c\x9b\x12\x23\x09\x2a\xc1\xbf\xf1\x25\x5e\xfe\xe6\xf6\x8f\x22\x56\x1f\x76\x84\x1c\x2a\x2d\xc2\xe6\xea\x73\xd9\x79\x31\x22\x4e\xa4\x21\xc3\x34\xc6\x08\xf0\x5c\x55\x24\xd1\x9f\xca\x8b\x5b\xad\xcc\xc0\x4d\x7d\x81\xdf\x91\x4f\xbe\x7f\x72\x02\x3d\x99\xf5\x4b\x2d\x91\x07\x0a\x89\xbf\x38\x32\x49\xe5\xad\xfe\xde\x2b\x91\x08\xca\x28\xb1\x1d\x59\x64\x6d\x68\xaf\xa6\xc5\x90\x88\x9c\x05\x4c\x61\xa0\xbc\x24\x55\x99\x54\x97\xae\x0a\xf6\x94\x43\xf7\x28\x06\x0f\x04\xbe\xda\xe5\x8a\x1d\x8e\x1d\x27\x20\x48\x28\x04\x78\x0e\x08\x19\xcb\x15\xb5\x0a\xf6\x03\x03\xca\x3d\x9e\xaa\x3c\x58\x55\x97\xae\x51\x94\xa4\xca\x03\x89\xc2\x05\x4c\x0e\x29\x46\x4d\x8b\x87\x5e\xab\x3e\x86\xc2\xbc\x85\x70\xc5\xde\x18\x85\xef\x31\x03\xcc\x42\xb8\x8f\x6a\xb0\x2a\xbd\x0e\x08\x19\x4f\xf2\x80\xed\x7c\x4f\xb1\x0e\x0c\x14\x2c\x82\xee\x02\x8a\xfd\x91\xee\x30\xc9\xdf\xb0\xaf\xca\xb9\x02\xd0\xbd\xf3\x88\x2c\x1c\x75\xee\x89\x80\xc3\xe8\x84\xfc\xc0\xc2\x0a\xb4\x48\x73\xfe\x12\x35\xbd\xde\xc4\xb2\xd9\xca\x52\xa5\xd5\xea\x28\xa5\x87\xf3\xf5\x8d\x2b\xa4\xd0\x46\xbb\x4c\xc7\x1f\x3f\x46\x68\x23\x7e\x4a\x17\xf4\xf2\xbd\x31\x0f\xf5\x94\x96\x96\x02\x1c\x0b\x94\xb4\xa1\x10\x70\x29\x4f\x22\xcd\x2d\x4a\xc8\x12\xfd\x71\x10\x0d\x9b\x02\xc9\x83\x37\xc7\x75\x36\x95\xd7\x28\xdb\x84\xa2\xbf\xf7\xab\xec\xff\xee\x96\x21\x50\x40\x81\xea\x08\x3e\x1a\xc3\x81\x31\x94\x0a\x00\xa4\x26\x14\x19\x27\x8e\x73\x33\xad\xd9\x87\x86\x58\x2c\xeb\x39\x59\x83\x17\x7c\xbf\x73\x1a\xab\xd3\x41\xc8\x43\x45\x76\x70\xc6\x7c\xcc\xba\x25\x14\x98\xb3\x04\x33\xb8\x37\x1f\x7f\x94\x5f\x2a\x78\x43\xeb\xe6\x38\xcf\x0a\x3c\xa3\x22\x8c\x1f\x1b\x27\x22\x47\xc1\xb5\xf1\xe7\xd2\x21\x07\xdd\xc2\xa3\xc4\x10\xa4\xe7\x56\xf5\xeb\xb3\xa9\xe0\x73\xc0\x26\x3c\x36\x44\x2d\x6d\x9e\x8f\xc1\x9b\xa1\x8b\x0e\x81\x74\xae\x74\x9e\x7a\xe8\x71\x35\xfe\xb7\x22\x6d\xf7\x8c\xaf\xbc\x4a\xeb\xdc\xec\x7d\x5f\xfc\x28\x5e\x0e\xbd\x6d\xed\x27\x56\xa0\xb3\x9b\x9b\x73\x12\xde\x02\xdb\xb4\x46\xf7\x3e\x12\x0f\x7d\x2a\x73\xd6\x56\xc9\x15\xd3\x87\x03\x16\x22\xb0\xa6\xa0\xcc\xf7\x6d\xfc\xb7\xb7\xad\x06\xef\xfc\xfc\xa8\xd5\x16\xf4\xa9\x39\x6f\x71\xa8\xb9\xa7\xba\xd1\xf9\x7b\xc1\x94\x6f\xac\x90\x21\x0c\x3c\x0e\xa2\x7f\x5d\x77\x07\xbf\x40\x61\x0e\xf0\x23\x61\x8c\xc4\xe9\xb9\x59\xd7\x59\x7d\x69\xc1\xa2\x94\xc4\x7c\x23\xd2\x72\xef\xd2\x5c\xf6\x06\xf2\x89\x97\x49\x0c\x02\x94\x5f\xdf\x99\x89\x57\x2b\xdb\xcb\x22\xed\x91\x8e\xff\xdc\x4e\xdc\x9e\x82\x30\x97\x7c\x97\xe7\xa7\x39\xa7\x38\xe8\xd6\xbd\x0a\x2e\xc5\x79\x66\x90\xa4\xb8\x08\xef\x6e\xec\xfe\x73\xcb\xa1\x00\xe8\x62\x98\xbf\xce\x7e\x1d\x70\x2a\x35\x45\x23\x01\xf2\x05\x73\x0a\xcb\x76\x4e\xde\x39\x3e\xd0\x63\xc9\xe4\xe8\xb3\x51\x47\xd5\x21\xeb\x80\xc3\x9a\xc7\x0f\x81\x38\xfe\xfc\xd0\x8a\x91\x79\xb3\x36\x26\xaa\xca\x0c\xbd\x2d\x32\xb3\x7e\x51\xfb\x96\xcb\x00\x81\x5b\xf4\x61\xe1\xb9\x96\x98\xeb\xd0\xbe\x29\x35\xd5\x1f\xe3\xe3\xd9\xe9\x5f\x5b\x97\x91\x7a\xef\x5f\x69\x1e\xef\x74\xaa\xe5\xf3\x62\x28\xdf\xad\x1e\x1a\x4f\xa4\x8d\x3d\xe8\x43\x2f\xfa\xc9\xe0\x9c\x0c\xed\x0e\xb0\x19\x50\x34\x3f\x0c\x0f\x39\xe6\x54\xcb\x2c\x02\xee\x31\x00\xa2\xaf\xd5\xac\xd2\x14\x86\x39\xd1\xcd\x22\xf5\x66\xbd\xe0\xc9\x50\xee\xac\xa6\x5d\x53\xbb\xf5\xdb\x1f\xd4\x9c\x7f\x28\x1f\x30\x76\x34\xfb\x73\xcf\x4a\x07\x73\x62\xb5\x99\x6e\x51\xb7\x7b\xe9\xec\xfc\x06\x7d\xcd\x0c\x23\xc1\x40\xa4\xfd\xf2\xf7\xee\xc9\x8f\xa0\xf1\x9f\x19\x98\x55\xd9\xc1\xfb\x13\xbd\xa6\x5e\xbe\x9c\x52\x2b\x18\x81\x2f\x36\xf7\x27\x0a\x12\xa4\x97\x90\x19\x8b\x8b\x11\xc8\x4b\x68\xa7\xf7\x2d\xed\xdf\x46\xf8\x73\x81\x35\x93\x58\xfe\xb4\xde\x96\x58\xfc\x79\x58\x51\xf7\x33\x88\xd5\xfe\x07\xd2\xe9\x0d\x80\xb8\x9d\xed\x57\x4b\xfd\x8a\xd4\x62\x22\x8d\xa8\x26\xcb\xc3\xa2\xd1\x7b\xd6\x5b\xed\x6d\x13\x96\x70\xdb\xda\x1a\x5a\xa2\xbe\xe2\xd6\xb6\x2f\xca\xb2\x96\xc3\x5a\x5b\xcb\xdb\x5a\x2d\x6c\x24\xde\x4e\x8a\x65\x94\x57\x48\x57\x06\xcf\x4d\xc8\x5f\x18\xd1\x0a\x56\xd3\xa7\xe4\x78\xe6\x73\x93\xe4\x80\xb1\x58\x0d\x29\xe4\xd6\x1c\x1f\x99\x6f\xc1\x43\x26\xa9\x36\xd9\x6c\x98\x6b\x74\x49\x70\x89\xa1\x5d\x00\x2e\x40\x3f\x77\x1a\x53\xb9\x9e\x86\x68\x97\x73\x2d\xe2\x86\x24\xe1\x39\xec\xe8\x6e\xb1\x50\x5b\x03\xb6\x9f\xf8\xf5\xb0\x8e\x70\x83\x59\x8f\xd3\xb2\x47\xe6\xf5\x1f\x3a\xf5\xa5\xaf\xf5\xf5\x99\x45\xeb\x74\xd1\xd7\xe7\xee\x03\x62\x26\xb8\x3c\x0d\x98\x45\xe8\x5f\xeb\xf1\xd1\x70\xd1\x30\x4a\x74\x7a\x1f\xc0\x58\x0c\xa7\xad\x42\xb4\xb2\xf5\xac\x2e\x52\xf6\xed\xfa\xf5\x0a\x2e\x45\xc2\xe2\xc4\x8e\xa0\x94\x75\x2d\x30\x4f\x53\x42\xc3\xbe\x18\x6d\x09\xe2\xdb\xd5\xc7\xa2\x9c\xa0\xf1\xe2\x93\xec\x1a\x07\x5d\x76\x94\x16\xdf\x64\x9d\x60\xb7\x7f\xcb\xc3\x9d\x58\x19\xff\x50\xff\xe0\x9c\xe2\xfa\x9b\x5b\x0d\x17\x8c\xea\x56\xee\x43\xd3\x34\x4f\x10\x91\x8c\x91\xb5\x90\xbf\xf7\x30\x26\x7a\xcd\xcd\x75\xa0\xc0\x34\xc6\x26\xd1\x10\xd4\x45\xa1\xca\x99\x27\x74\xd9\x41\xee\xf6\xcd\x42\xc1\xb5\x25\xda\x2b\x87\x44\xcb\x8e\x47\x1c\x7f\x7e\x41\xed\x78\xd6\x1e\xf0\xbc\x43\x50\x4b\x5a\xaa\x00\x97\x6e\x16\xac\x9f\xe7\xbe\x52\x67\xbc\xbc\x78\xc2\x2b\xce\xf4\x1b\x69\x7c\x1b\xb8\x6f\xf1\xca\x9c\xe2\xf1\x92\x38\xac\xb7\x6f\x9c\x17\x71\x4a\xb3\x60\x03\x9c\x14\xeb\xfc\x47\x14\xdc\xe1\x7e\x0c\x86\x89\xc9\x95\x6f\x20\x50\x0a\xe7\x38\x10\xb0\x79\x0f\x75\x71\x82\xeb\xa2\xb5\xd9\xc2\x08\xcc\xfa\xd6\xf0\x90\xa0\xb5\xfa\x99\xa7\x8d\x8d\x9f\x99\xd5\x8c\x3d\xc6\xb6\x9f\x13\x9b\x54\xdc\xc2\xb7\x6e\x32\x70\xad\x12\xb9\xbf\x61\x41\x1d\x2f\xe1\x46\x5b\x0d\x5d\x2b\x70\x5e\xb6\xb5\x46\xb5\x17\x9b\xc4\x28\xca\xf3\xfd\xc2\x3f\xc9\xac\x33\x67\x67\x01\xf3\xb3\xf5\xd9\x0e\x04\xec\x51\x29\xb4\x01\xc3\xc4\xc4\x8a\xb5\x0e\x44\x4c\x6d\x34\xf7\x98\x47\x3b\xbf\x3f\x38\x31\xd7\x5b\xd1\xab\xd4\x54\xd8\x3e\x20\x3d\xb1\x51\x38\x1a\xe3\x13\xaa\x29\xca\x92\xde\x35\xc1\xa8\x63\x6b\x2b\x67\x64\x52\xbe\xf6\x00\x86\x88\x1d\xc3\x12\x41\x7c\x86\x76\xe4\xec\xfd\x61\xea\xae\x6b\x42\x63\x7a\xff\xed\xe5\x5b\x95\xe9\xc9\x43\x38\x94\x5e\x27\xb3\xd5\xa4\x86\xd4\xcf\x4f\x07\x80\x53\x30\xb7\x83\x2a\x20\x29\x9b\x35\x72\x8f\xeb\x7c\x9f\x80\xc8\xa4\x8a\x93\x5e\xcc\x3f\xf8\x7a\x7d\xb7\x5b\xf0\xa2\xc0\x81\x53\x57\x07\x55\xf7\xbd\x1e\xf6\x1b\xb1\x04\xec\x54\x7d\x1a\x81\x8d\x3f\x4c\xd7\xc0\xf6\xf9\x0e\x55\xcd\x5e\xbb\xc0\x8c\xcd\x7d\x18\x4c\x09\xd2\x36\x68\xb8\x38\xdb\x0d\xee\x62\xe2\x8d\xc7\x8e\x45\xda\xb0\x02\x6e\xbc\x2f\x84\x4d\x01\xd1\xd9\x41\x85\x0e\x04\xec\x36\xca\xe2\xeb\xfb\xb6\x93\x36\x4d\x6b\x14\x3c\xe9\xcc\x75\x39\x8d\x6f\x35\x29\x3f\x71\xa9\x09\x23\xc6\x30\x31\x39\x75\xa3\x41\x2e\xca\x6d\x58\x02\x16\xa9\x69\xc8\xaa\xf2\x66\x67\xc6\x51\x7f\x1a\x93\xb7\xba\x57\x6f\xf1\xfe\x67\xad\x40\xc6\xeb\x18\x75\xac\x3b\xc3\x09\xc9\x6f\x17\x23\x08\x96\xa5\xcc\xf5\x26\x8f\x6f\x34\x8e\x11\x4f\x91\x3a\x6f\x6e\xd3\xf4\x4d\x5e\xa9\x9d\xa2\x3b\x3e\x9e\xe7\x72\x82\x30\xb6\x2e\x27\x9a\x7d\x17\xbc\x29\x58\xf5\xe4\x0c\x22\xa2\x39\x99\xba\x4f\xe7\x0c\xb0\x8a\x8b\x7e\xa9\x2e\x37\x40\x33\xbc\xb4\xf2\xf1\x9a\xbf\x5f\x7e\x49\x2a\xfa\x8f\x95\x60\xfa\x85\x0e\xeb\xd6\xa3\xc1\xb1\x12\x71\xad\x14\xc1\xca\x5e\x0c\x51\x28\x54\x86\x95\xcf\x03\xd8\x04\xdf\xa0\x31\xf7\x60\x60\x06\xc2\xf3\x77\x32\x8d\xbe\xde\xc6\x75\xad\xa4\xe0\xaf\xd5\x93\x05\xaf\xd7\x05\xd8\xa3\x08\xcb\xda\xc5\x30\x06\x12\x8c\x46\xef\xb5\x28\x7a\x63\x3c\xb9\xc8\x6d\x4c\xa9\x68\x63\xf2\xf5\x2d\x70\x13\x14\x86\x3a\x92\x7c\x6d\x03\xe9\xde\x2e\xc7\xa2\xb9\x56\x66\x68\x4a\xe2\xea\x4d\xf8\x7e\x9a\x20\xed\x5b\xd0\xb5\xb4\x7d\xfc\xf4\x72\x8a\xca\x32\x8b\x04\xb8\x7e\xfc\xe8\xa0\x77\x7a\x4a\x05\x90\x3a\xd5\x8d\x7b\xe9\x73\x09\x10\x9e\x33\x11\xf6\xf7\x78\xd4\xba\xd7\x2c\x47\xb7\x20\x9d\x4d\x4b\x64\xbc\x9a\xb0\x76\x17\x25\x62\xed\xb1\x6f\xbe\x83\x7f\x07\xd6\x7c\x02\xe0\xfc\xad\xda\x6c\x36\xa5\x7a\x09\x5e\x61\x43\x47\x3b\x7a\x56\x6c\xb8\x0e\x20\x7c\x5f\xf5\xc3\x0f\xa6\xfd\x6d\xe0\xaf\xb7\x45\xa9\x5a\x51\x6c\x9c\xee\x5a\x1c\xeb\xee\x3e\x67\xb7\xe9\x10\x73\x53\x6f\x98\xac\xbf\x6c\x07\x9b\x03\x87\xf3\x50\x8f\xe4\xae\x1b\x38\xff\x43\xe8\x34\x3e\x40\x15\x9a\x8f\xf2\x80\x65\x31\x62\x14\xcf\x82\x1f\xdc\x1d\x9c\xe0\x09\x20\x0e\xfe\xcc\x7a\xd0\xd7\xf7\xe0\x46\x08\x5d\xb5\x35\xb6\x03\x51\xc6\x83\x8c\x2f\x59\x0d\xe1\x76\x41\x66\x47\xdb\x57\x12\x4a\x3b\xff\xa8\x3d\xde\x79\x77\x16\x40\xbc\x52\xbf\xdb\xe5\xfe\x71\xba\x19\x5c\x03\x12\x6b\x4b\x30\x7b\x32\x74\x76\xed\x30\x06\x3d\x22\x77\x0d\x30\x7f\xc4\x4e\xde\x17\x94\x03\xf5\xbc\x72\x0d\xaf\x44\xee\x6e\xda\x06\x83\x4a\x60\x33\xc4\x37\xf9\x25\x2f\x2d\xc3\x2a\x9d\x52\x9e\xee\x80\x2e\x55\x2b\xfc\x5b\x6c\xaf\x51\x9d\x86\x37\x48\xc2\x16\x7f\xc1\xd7\xf3\x30\x78\x1b\xf8\x2f\x7b\xc7\x86\x01\x71\xb0\x90\xc1\x38\x3e\x36\x46\xb2\xbe\x0e\x27\x30\x2a\x08\x47\x5c\xf2\x51\xdb\x61\xd7\x24\x3b\x03\x9e\x68\x89\x66\x14\x00\x45\x42\xd7\xfc\xa7\x99\x43\x12\xba\x96\x84\xb7\x2d\x60\x19\x30\x81\xdd\x01\x29\xf0\x8f\x83\x79\x94\x5b\x68\xca\x91\x91\xf6\x13\xbf\xc4\x56\xea\x95\x0a\x48\x32\x9e\x70\x43\x8a\x19\xb4\x78\x51\xb5\x50\xc2\xa5\xf0\xe8\x39\x9a\x12\x3e\x26\x7a\x67\xe1\x80\xad\x8f\x2a\x95\x2b\x6b\xc9\xbc\x84\x27\xc5\x14\xbf\xca\x57\x5f\xa4\x7e\x49\xf9\xb5\x8e\xc1\x50\x67\x5f\xf7\x10\x43\x4f\x7b\x62\xf1\xe2\xce\xcc\x96\x89\xa3\xaa\x61\xd5\xb7\xf3\xb6\x4e\xc9\xc8\x20\xf0\xd0\xf4\x0a\xa7\xfb\x7e\x41\x27\x0e\x95\x2f\x02\x49\xd9\xe5\xed\x8c\x9f\x6f\xb2\x99\xf5\xea\x1f\x22\xa7\x0c\xda\xdc\xac\x1a\x2a\x30\x77\x02\xa7\xc1\xb9\xf3\xb0\x81\xeb\x8e\x4b\x1a\xa3\x4f\x4c\x78\x8b\xfb\x89\x69\x31\xc0\x4d\x2a\x7f\xcb\x80\x7a\xdc\x97\xb1\x7b\x99\x20\x9b\x6d\xcd\x65\x4a\xba\x21\x2c\x4f\x27\xf6\xa8\x5a\x32\x4e\x8a\x6d\x0e\xc2\x0f\x06\xe2\x3a\xa8\xb4\x8e\xdc\xa2\x2a\x47\xc7\x60\xe0\xf4\x78\x5d\x73\xd2\xb6\x23\x66\x44\x5c\x98\x10\xfd\x01\xf2\xba\x15\xa3\xc4\x46\x49\x82\x9d\x48\x77\xf3\xed\x5d\x12\xab\xaa\x00\x92\x49\x0b\xfb\xa2\x91\x3f\xb8\x37\x23\x15\xc8\x82\x55\x89\x2e\xf1\x35\x77\x35\xc9\xae\xce\x52\x3f\x37\xfb\xd6\x17\x90\x0f\xae\xe4\x30\x1c\x91\x3a\xbd\x33\xa9\xbf\x6e\x13\x01\x70\x26\x39\x26\xe7\x56\x75\x70\xb0\x1d\xb4\xa4\x41\x46\x73\x90\x14\x9b\x8c\x1b\x55\x63\x3b\x49\x7d\xbb\x21\x5c\x8f\x18\xae\x55\x76\xc2\x1b\xb4\xe5\x7d\xa8\x84\x01\x62\x82\xbf\x0f\x99\x7a\x3a\xcd\xcd\xce\x39\x79\x1e\xdc\x21\x20\x52\xd9\xd4\xd8\xd7\xce\xbe\x93\xee\x93\xde\xfc\xa9\xca\x0a\x4e\x40\x29\x89\x30\xdf\x97\x44\x64\x3b\x28\x41\xb0\x58\x72\xb4\x5b\x42\xf9\x12\x4e\xfe\x61\x1d\x1f\x2b\x96\xe3\x7b\xc7\xcd\x3f\x58\x81\x87\x13\xfe\xdf\x2f\xa7\xaa\x4a\xda\xbd\xd5\x9c\x76\xd6\xdd\xb6\xc3\x36\xf6\x6c\xd2\xa4\x67\x8c\xb4\x87\x4f\x25\xba\xa5\xc1\x50\x0a\x28\xc5\x2f\x56\xab\xcd\x20\xea\x6a\x0e\x84\xfe\x3e\x4d\x54\x8d\xf2\x63\x37\x34\x62\xc9\xa4\x5e\xec\x7e\x5e\xec\x28\x29\x79\xc7\x14\x49\xbd\x8a\xc7\xd8\xd0\x84\x65\x37\x61\x27\x78\x8c\x55\x24\x75\x38\x95\x91\xe6\x2f\xa1\x9c\xe2\x9c\xf4\x4e\xf2\xce\xa8\x27\x16\x6e\xba\xe0\xce\x68\xe8\xb4\x91\x9e\x35\x31\xdb\xe8\x19\x3b\xbe\x5e\x6e\x34\x8b\x38\xeb\xbe\xdf\x96\x53\xcd\x71\xcf\x46\x3b\xe2\x20\x4a\x78\x0e\x89\xa4\xdc\xca\xf0\x5d\xf0\x5d\xe6\xe6\xfe\x59\x20\xee\x1d\xd6\x4d\x47\x2d\x57\x4d\xa8\xc6\xd5\x5f\xc9\x09\x4b\x0f\xe3\xa6\xc7\xe9\x56\xa4\x67\x47\x67\x17\xc7\xe4\xe3\xd3\x3e\x84\x95\xdd\x57\x26\xfa\xc2\x19\x19\x69\xbd\x26\x0d\xfb\x0c\xc9\x99\xdb\xa3\xce\xba\x35\xcb\x58\x98\x6e\xbc\x13\xd6\x17\x46\x3e\x67\x6c\x61\xd1\xe2\xa7\xb2\x8f\x30\xc3\xe6\x11\xc2\x78\x29\x7b\x93\xe5\x1b\xe2\x38\xdc\xdc\x7d\x3e\x3b\x7c\xce\xc4\x39\x09\x69\xb8\x20\x37\x3f\xc4\xc9\x6b\x4e\xc1\xbc\x1b\xce\xc1\x57\xb6\xbd\xa6\xe6\xff\x16\xe2\xb3\xfc\x20\xf9\xd5\x41\xf2\xf2\x50\xf9\x45\x6a\xf6\x87\x70\xe5\xa6\x59\xd2\x72\xd2\x8a\xd2\x13\xf2\x1d\x92\x4a\x16\xe1\x12\x70\x18\x37\xc3\x7e\x56\xa1\xbb\xda\xc0\xb7\x38\xe0\xb4\xcb\x6f\x9f\x3f\x97\xa3\xda\xef\xbb\xcb\xd7\xfe\xeb\x20\x87\xab\xda\xe7\xad\xfc\x33\x23\x4a\x46\x09\x3b\x53\x6c\x36\x10\x51\x41\x80\x69\x12\xdd\x7f\xab\x04\xa4\xf1\x05\x43\xdf\x0f\xec\x66\x7f\x54\x30\x59\xf2\x77\x1e\x02\xc2\x49\xfb\xf7\xb4\x2b\x7e\xd4\x1e\xb4\x5b\x97\xb0\x6b\x42\x1d\xb1\x05\xe2\x93\x34\xd1\x31\x4c\xf9\xa8\x5b\xa1\x2a\xf3\xc6\x3b\x2f\x6a\xd3\xfa\x4c\x01\x41\x4d\x30\x58\xe5\x7d\x3e\xfd\x10\xb1\xb9\xa4\xb2\xf5\x2e\xe4\x74\xd8\xba\x75\x15\xc8\xc3\x74\x1f\x6a\x8d\xb2\xc4\x69\x5a\x8d\xb8\xea\x36\xc4\xec\xa1\x29\xe3\x10\xb1\xa4\x75\x11\xec\x1e\x64\xf8\x9a\xf8\x6e\xe3\xae\xfc\x04\xc0\xb9\x95\xab\xbf\x9e\x7f\x3f\x94\xb4\xd9\xca\xca\x15\xee\x0a\x83\x7c\x6e\x34\x6f\x5a\xbb\xf3\x38\x48\xdb\x2f\xa3\xd0\x68\xd5\x21\xab\xdd\x04\x06\x7d\x83\x49\x3e\xa9\xd7\x16\x1f\xde\xfc\xdf\x64\xfe\xe4\x09\xe4\x7f\x5f\xe3\x15\x08\x59\xf6\x33\xa3\x72\x44\x90\x77\x63\x36\xd3\x5a\xf9\xb5\xcf\x4b\xe5\x05\xd8\xac\xf8\xf7\xc6\x41\x1e\xbf\x3b\xf8\x9f\x54\xc9\xf8\x9d\x05\x01\x20\x47\x58\x19\x4b\x62\x34\xee\x70\x00\x3a\x49\x39\xe8\xeb\x6d\x8d\xca\x7b\x23\x3f\x7b\xff\xc7\x58\x25\xf6\xa5\x43\xb0\x87\x4b\x4d\x3b\xe1\x8c\xeb\xc2\x00\x45\x8d\x28\x7b\x76\x54\x12\x36\x0b\x4c\x61\x9b\x59\x7d\xc6\x6a\xe3\x4f\x93\x8c\xd1\xad\x54\xf6\xd0\xb2\xbf\x60\x10\x75\x20\xb1\xb9\x00\x84\x95\xed\xbb\xcb\x1f\x4a\xc4\xda\xdb\x83\xf5\x32\x66\x84\x31\xf6\xdf\x44\x9a\xe9\xe3\xae\x2f\x9f\x4d\x1a\xfc\xe8\x52\x8d\x31\xb3\x43\x62\x87\x16\x20\x40\x23\x0f\xc4\x5e\x24\x79\x48\x22\xb6\x63\x03\xe1\x25\x1b\xdf\x80\x1b\xe4\xc0\x90\xe2\x2e\x13\x4d\x74\xbe\xd8\x42\x9b\xc9\x6c\x37\x20\xea\x94\xd5\x5e\x84\xa7\xc8\x5d\x5d\x5d\xbd\x2a\x97\x02\xbf\x08\x10\x18\x12\x65\xc2\x67\x5e\x31\x3a\x8e\xb3\x09\x76\x22\x74\xaa\xbc\xc5\x32\xed\xe5\x3d\x4d\x40\x66\x5d\xe7\x4d\xba\xcc\x9f\x44\x5f\x9c\xf1\x77\x60\x74\xd1\x98\xfc\xef\x02\x86\xc1\xff\xa6\x6d\x9d\xac\xaa\x95\xc8\x75\x1e\x4a\x77\xa5\x22\x42\x68\x9b\x96\x85\xb4\x4f\x3b\x93\x1b\x1b\xfc\xd6\xbd\x04\x2e\x84\x85\x77\x89\x33\x2c\xc3\x65\x4a\xfb\x56\x4b\x6d\x04\xc4\x43\x32\x4c\x43\x14\x79\xd3\x9d\x4f\xd8\x07\x11\x4c\xfd\x81\x55\x95\x7b\xca\x2f\x5c\x22\x88\xe6\xf1\xef\x4b\xb1\x09\x68\x81\x9e\x90\xaa\x09\xbf\x62\x78\x1a\x5a\x88\xbf\xeb\x4c\x52\x12\xbe\x9a\xba\x69\xbd\x4f\xc7\x28\x3d\xee\xb6\x7c\xd2\xed\xa4\xfc\xc7\x56\x7d\x88\xba\x29\xf0\xb5\xd7\xbe\x9d\xe0\x5b\x5b\x01\xe9\x1f\xda\x50\xf6\x5b\xcf\xf3\xee\xf1\x6e\x1d\xcc\xf3\xe4\x32\xec\x36\x59\x17\x9d\x4b\xaa\x95\x09\xbf\x55\x18\x4c\x13\x9a\x7d\x03\x92\x57\x19\x30\x24\x7f\xda\x83\x52\x3a\xa0\xa7\x0c\xa5\x4f\x00\xfd\x33\x49\x6a\xba\x28\xce\x92\x1f\x52\xd6\x85\x4a\x8d\x80\x0b\xf0\x91\x29\xa7\x9d\xd4\x16\xf9\xed\xb7\xa6\xb1\xb1\x05\xfb\x06\x48\x9b\x49\xfb\x83\xd9\x6e\x9c\x53\xb7\x28\xcb\x67\x98\x4b\xea\x70\x0b\xa5\xa8\xef\x32\x9b\x5c\x9f\x8f\xa6\x0e\x6f\x4e\xdd\xef\x81\x1d\x79\x61\xe8\xbb\x9a\xf6\xaf\xc1\x9e\x38\x94\x27\xe4\x90\xda\x70\xb6\x0e\xb1\x25\x1b\x7f\xd7\x01\x4b\xab\x45\x45\xa9\x67\x4f\x18\xc5\x5b\x3a\x2a\xcc\xd7\xb8\x10\x00\xcf\x0f\x70\xba\x98\xe2\xb3\x87\x04\x57\xde\x1f\xde\xfa\xfc\x19\xc7\xc8\x46\xcb\xe4\x74\xf8\xb5\x21\x03\x57\xe5\x6f\xe3\xf6\xda\xa7\x82\x22\xb2\xcb\xb2\x22\x43\xd6\x80\x6f\x88\xc5\x6f\xbe\xe5\x42\xad\x4a\xe6\x64\x86\x97\x3b\x27\x4b\xcd\x92\xe0\x5f\x5f\xf6\xfa\x9e\x68\xa1\x76\xea\x2b\xdb\xf3\x93\x17\x0c\x0c\x81\x64\xc0\x81\x03\xb6\xe4\xc8\xde\x8d\x8a\x8b\x20\x27\x01\x7f\x97\xac\x9c\x87\x92\x86\x56\x94\xaf\xe1\xb8\x6d\xac\x19\xb3\x0e\xaa\x49\x2e\x5e\xc5\xcb\x85\x09\xc1\xbc\x1e\x38\xdf\xf0\x42\x9f\xe3\xaf\x73\x7f\xad\x66\x89\x47\x30\xd8\xfe\x38\xe3\xd5\xbc\x1a\xb2\x2a\xca\xae\x20\xbc\x99\x14\xea\xa9\x90\xad\x11\x54\xd2\x95\x84\xa3\x63\xbe\x1b\xb3\x36\x88\x73\x7e\xf8\x07\xa0\xee\x02\x4a\x69\x6d\xb0\x17\x16\xe9\xb1\x16\xa4\x78\x59\x7e\xad\xea\x56\xd3\x29\x89\x49\xba\xb7\xc6\x9b\x15\xaf\xc0\x2b\x08\xd4\xe1\x1e\x68\x17\xfc\xf3\x81\xca\xce\x9c\xc5\x3b\x5d\xf5\x9e\x45\x9e\xc4\xd0\x1c\x42\x01\x41\xd0\x90\x05\x51\x99\x89\x6c\x22\x94\x55\xd5\xda\x7f\x86\xf0\xb5\x2c\xde\x43\xec\x29\xfe\x10\xe4\x27\x66\x9b\x43\x7b\xdc\x4b\x44\x86\x5d\xda\x70\x23\x28\x1c\x05\x5e\xf1\xce\xdf\x1e\x15\xba\xe5\x79\xf7\x0e\x73\x3d\xbc\x99\x18\x3d\x55\xb9\xdc\x6a\x6f\x16\x6e\xfe\x10\xf0\x6c\x56\x65\x14\xf6\x75\xc9\xf8\x69\x4a\x2b\x24\xcf\xda\x64\xc5\x55\xdd\x23\xba\x3b\xf5\xb6\x05\x4f\xeb\xed\x9c\x0a\x09\x3f\x39\xaf\x32\x9c\x0b\x95\x3c\xd7\x3b\xb2\x71\x3e\x6f\x09\x54\xaf\x72\xa4\x1e\x78\x26\xd6\x0a\x5b\xb5\xbb\x27\x2d\xd2\x78\xa6\x70\xa8\x30\x6a\xa7\x5b\xf0\x3b\x33\x0e\x9c\x49\x77\xe9\x8a\x0e\xbc\xb5\x80\x36\x4e\x3f\x3b\x9b\xb1\x3c\x6d\x27\x2a\x8c\x78\x44\xd7\xfd\x3f\x24\x41\xe0\xca\x82\xf1\x1a\x38\x0f\x89\x66\x22\x22\x30\xc6\xef\xbb\xca\x5a\x49\xf9\x3b\x8c\xa3\x20\x5f\xdf\xa2\x55\x12\x63\x47\x6b\xa8\x22\xc9\x0c\x06\x23\x98\x2b\x0b\x51\x45\x09\xfa\xa0\x70\x0f\x9b\x58\x64\x0b\x7c\xc4\xad\xcc\xa7\xc6\x21\x78\x33\xa3\x66\x32\xf6\xf9\x5b\xd0\xf4\x46\x83\x87\xd7\xc9\x4b\xe0\x11\xc1\x6f\x61\x00\x9d\xe6\x0c\xad\x4b\x7e\xb6\xdb\xb7\x52\xa9\x36\x09\xdc\x59\xc3\x63\x6a\xfc\xd3\x3c\x84\x97\x4c\x5d\xe8\x17\x83\x25\xa1\xd2\x11\xd2\x54\x53\xcb\xb6\x52\xe7\x4f\x8d\x9e\x57\xc3\xb6\x62\x63\xbb\xc2\xa3\xc7\x65\xd0\x50\x84\x7d\x8e\x53\x0c\x02\x16\xbd\xae\xbc\x10\x5c\x16\xf5\xdc\x0a\x1e\xde\xe1\xfb\x54\x84\x1f\xdd\xf6\xd1\x75\xe1\xa4\x20\x68\xc1\x8c\xb9\xd0\xab\x6b\xa6\xbb\x2e\x78\x08\x06\xfb\x7f\x7b\x07\xc8\xe8\x08\xdf\x13\x7a\x5a\x09\x4a\x0e\x54\x6f\x8c\x3b\xc7\x38\xe6\xcd\x48\xcb\x10\xaf\x89\x0e\x80\xcb\x50\x1f\x5e\x45\x73\x54\x0a\x12\x27\x4b\x9c\x40\xc1\xe4\x06\xee\xcf\x04\xf7\x0c\x0a\x84\x74\xf6\x81\x42\xf3\x25\x46\x6a\xe4\x64\x43\xd3\x7f\x83\xd7\xd7\xaa\x06\x16\x0d\x6f\xb1\x1d\xa3\xae\x86\x40\x58\x56\x2b\xae\x17\xe3\xea\xb0\x7a\x2e\x05\x93\x07\x54\xad\x14\x04\xf3\x22\x21\x22\xa6\xc6\x1b\x8d\xd4\xc3\x42\xc3\x9e\xb2\xe0\x02\xba\xcc\x46\xf3\x8b\x2e\x7e\x8b\x5f\x87\x1c\x99\x61\x63\xa8\x61\x0b\x1b\x3b\xa1\xd8\x00\x0d\x10\xf4\x3b\x25\x23\x09\x4f\x36\x90\x4c\x9b\xf7\x3d\x42\x0d\x1e\x64\x58\x98\x99\xe1\x6f\xda\xc0\x0a\x08\xf4\xdf\xa1\xbc\x73\xea\xef\xe5\x4c\x9e\x21\x2e\x88\x41\x32\x9d\x52\xf7\x20\x0f\x20\x9b\x34\x0a\xa3\x19\xa9\x98\x82\x3a\x1d\x67\xb5\x5f\x8d\x2a\x5b\x74\x04\x97\x88\xf4\x53\x2a\x5d\x8e\xbf\x36\x15\xec\x2c\x81\x1b\x4f\x39\xbb\x33\x03\xa6\xa4\xe3\xb6\xdf\x35\xfe\xb7\xd8\x96\x23\x5e\xa1\x9e\x6c\x83\x1b\xe9\x81\x6d\xbc\x17\x04\x93\x5b\xca\x65\xa2\x85\xd0\x9f\xbe\xa8\x05\x57\xa8\x0a\x07\x3d\xe8\x36\x38\x75\xc7\x50\xbc\x1b\xdd\xa4\xe4\x5f\x97\xe7\x0d\xd9\xc7\x4d\xee\xd4\x70\x82\x22\x07\x4b\x8e\x7d\x71\x14\x9d\xdc\x66\x19\x6e\x8e\x56\x7d\x14\x5b\xe0\x5b\xa0\x21\x71\xa8\x65\x8b\xae\xa3\x2a\x60\x67\x20\x69\x66\xcd\xf2\xa0\x7c\x16\x54\xec\x11\xdb\x2f\x5c\x0b\x77\x84\x47\x33\xeb\x09\x95\xb9\x7a\x43\xea\x55\x6c\x72\x8e\xb9\xb3\xe2\xba\xce\xcd\x13\x51\x48\xe4\x24\x71\xfe\x7d\x72\x60\x96\x93\xfa\x6f\x67\x1e\xaa\xd5\x9a\x67\xc9\x4f\x33\xcb\x19\x3d\xe9\xaa\xc4\xfa\xba\x2b\xe5\x7f\x1b\xbc\x1b\xdc\xf9\x1e\xf6\xc6\xbb\x81\xdf\x7b\x00\x04\xdf\x4e\x9f\x62\x01\xdc\xf3\x2d\x70\xa9\x67\x5b\x72\xef\x3a\xa6\xf4\x8f\x83\xbd\xaf\xeb\xec\x96\xf0\x7e\x44\x66\x1a\x2c\xb0\x15\x21\xb3\x3e\xa1\x11\xa9\x4b\x06\x9a\xa3\x9a\x39\x59\x52\x32\xba\xf0\x76\xf1\x72\xf9\x44\x33\xef\xc4\x27\xfa\x0a\xc3\xf8\x99\x0f\x4b\xb6\x67\xd5\x82\x3f\x68\x3f\xcb\x72\x5f\xfa\xd4\xf8\x4b\x26\x0c\x60\x74\xcd\xa1\xf1\x9f\x9e\x89\xa8\xce\xed\x79\x37\x85\xd4\x26\x2e\x9f\x3e\xfd\x74\xf5\x01\xf4\x75\xe7\x34\x98\xdf\x9b\xcd\x14\x47\xb7\x0a\xb9\xee\xdd\x3a\xe8\x5e\x16\x4d\x8a\x70\x76\x84\xef\x77\xda\xb4\xdc\x59\x7a\x7e\x1c\xda\x87\xd5\xb1\xf7\x4d\xd9\xaa\xe5\x21\xc1\x52\x57\x9b\x64\xc5\x3b\xb3\x23\xf4\xdf\x09\x5e\x83\x7a\x1c\xd7\xca\x88\x83\xb4\xf0\xc5\x06\x51\x15\xa9\xdb\x0c\x74\x5c\xa3\x57\x79\x02\xbb\x5c\x14\x4f\x4a\x17\x31\x34\xbe\xc7\x3a\x35\xd2\x5c\xb2\xfe\x0c\xf0\x97\x53\x58\x54\x85\xb7\xdd\x20\xdd\x93\x12\x1c\x9a\xf9\x67\xe7\x76\xb7\x1e\x56\x39\x8f\x55\x6b\x58\x2c\x6d\xb6\x69\x4d\xb2\x5c\xea\xe8\xb6\xfe\x0f\xc6\xee\x28\x6e\x8e\x9e\x3e\x45\x9d\x49\x0f\xa1\x20\x61\xbb\xb7\xef\x49\xe7\x69\x85\x5f\x14\x1f\x93\xbd\x2c\x83\x98\xda\xe2\xc7\xea\x1f\x28\xf7\x0d\x15\x3b\x2e\x73\x9e\x29\xb0\x3d\x35\x9e\x41\x9e\x49\x9e\xe9\x28\xdc\xcb\x77\x58\xa1\x67\xa7\x7d\x34\x59\x93\x94\xb1\x91\x44\x70\xc4\x34\x97\xac\x7b\x1a\xea\x6a\x71\x28\x51\x0a\xcc\xb7\x5a\x4a\xb2\x55\x8d\x5a\x66\xb1\x4b\xb1\xf5\x2a\xc5\x78\x00\x43\x7e\x70\x22\xd2\x12\x32\xaf\xac\x72\x83\x23\xeb\x24\x21\x0e\x8c\x4a\x1e\x86\x1d\xe4\x7a\x5a\x05\x59\xd1\x2e\x0e\xa0\x5e\x7c\x12\x68\xd0\xfd\x7d\xa0\x9d\xc8\x7a\x8e\xc0\x1b\xb2\x58\x61\xe3\x8e\x15\x49\xa7\x8b\xa8\x45\xaa\x58\x67\xd0\x74\x5e\x34\xab\x52\x7b\xfe\xb3\x66\x14\x1a\x8a\x4c\xc9\x11\x79\xd3\x7f\x70\x08\xd1\xe1\x9a\x9a\xc9\x06\x00\x31\xde\xa8\x7c\xb0\x4f\x07\x0d\xde\x14\x32\xdb\xe0\x35\xde\x22\x0c\x0c\xf2\x74\xc9\x55\xe3\x92\x41\xe9\xde\x97\xf2\x95\x40\xf6\xff\x11\x75\xfb\x1b\x52\xe4\xa1\xfd\x50\x1a\x04\x4e\xb6\x58\xc6\x31\xa2\x5a\x4e\x06\x81\xfe\xff\x2f\xa8\xdc\xa8\xbf\x78\xa6\xf6\xfd\xaa\x95\x49\x51\xaf\xc3\x97\x07\x06\x96\xc3\x5f\x03\x04\x8e\x79\x36\x90\x45\x4b\xf8\xaa\xa1\xa5\x20\x2f\xbc\xba\xa1\x11\xb5\xf7\xc7\x20\x63\x75\x44\x96\x6f\xbf\xba\x80\x37\xd5\xa4\xaf\x09\xd0\xfc\x07\xd6\x1d\xdb\x7c\x32\xfc\xd0\x56\xe6\xfc\x43\xe5\x0b\xce\x66\x2b\x48\x8c\xbd\x0a\xb5\x3a\x60\xbe\x77\x9f\xf9\x01\x69\xf2\xc4\x79\xdb\xff\x7e\x77\x6b\xb8\xe5\x93\xd6\x74\x40\xcb\x34\x4f\x45\x5d\x2c\xfb\x3c\xbb\xfa\xff\xc9\xcd\xa6\x3f\x0f\x73\xe6\x12\xa1\x62\x18\x31\x2d\xab\x84\x0d\xf2\x4a\xbf\x92\xdf\xc3\x41\x9c\xb4\xa7\xa8\x8c\xd2\xf1\xfe\x41\x32\xe0\xd2\x2d\x3d\x86\xc9\x74\xed\xec\xb9\x99\x43\xc2\xc3\xb5\xcc\x8d\xe0\x7f\x3a\xf0\xc0\x0f\x0a\xe9\x9d\x42\x61\xb3\x3b\x05\xf5\x57\x17\xe9\x92\x43\x45\xa2\xce\x9e\x16\x72\xff\xe5\x7b\xe7\x60\xc9\x26\x89\xc4\x2c\x1f\x27\xf4\xdb\x74\xff\xdd\xec\x15\x8e\x8a\x5b\x38\xc1\x17\x71\xe1\x89\x75\xee\xf8\x0a\x2d\x28\xc7\x4a\xec\x5d\xbb\x98\x34\x0d\xa8\xda\xf3\x99\xb2\xeb\xca\xb9\x35\xab\xe7\xf0\x61\x79\xfc\xb7\x0a\x68\x68\xfa\x59\xb1\xfd\x99\xb8\x2e\xef\xfe\xcb\x34\x9d\x07\x6a\x26\xb0\xb6\x1a\x93\x34\xdf\xf2\x82\xb6\x61\xf6\x1c\xa2\xf6\x0b\x83\x71\xcb\x27\x28\x9a\x0b\x85\x35\xe0\x97\x15\x13\x1d\x84\xf2\xb8\x14\x73\x1a\x8a\x58\xc3\x47\xf4\x6a\x57\x42\x99\xec\x86\xde\x7e\xad\x92\x85\xc9\x63\x6d\x08\xdb\xb6\x18\x8c\x2f\xfd\x99\x2e\x01\x36\x1d\xca\x61\xff\x5f\x1b\x41\x35\xbc\xfd\xfb\x2b\x3d\x64\xbc\xdc\xe3\x0c\x3e\xc4\xb9\x5f\x2e\x19\xee\xaa\x68\xcf\xcf\xc8\xe8\x38\x74\x42\xe1\x73\xb8\xe8\x30\xc4\x0f\x48\x4a\xc6\x1f\x8a\x6c\x9c\xe1\xa1\x6c\x5b\x55\x48\x34\xf6\x76\x2e\x09\xbb\xca\x3e\x5d\xc6\x28\x0a\x6b\x8c\x39\x2e\xa0\x20\x55\x94\x41\x3a\x2c\x41\x2d\x15\xac\xbf\xc6\x77\xe6\x85\x79\xca\xb0\x90\xd2\x89\xcb\xf1\x56\xe0\x6a\x56\x55\x0c\x9c\x5e\xbe\x98\x81\x7d\xb0\x7c\x77\x7f\x54\x48\xc1\xd3\x98\x2c\x1f\x03\x41\x71\xc8\x30\x3b\x2c\xf3\x5a\x44\x2a\xae\xdc\x23\x7b\x9f\xbc\xad\x6c\xcc\x48\x37\xe0\xd5\x62\x1e\x52\x58\xef\x30\x43\x81\xc7\x64\xcd\x75\x42\xd1\xa2\xf5\x35\xd2\x64\xa8\x3d\xcd\x56\xb0\x5c\x54\x3d\x9b\x51\x33\x00\x13\x8b\x37\x6f\x0b\xed\x71\x13\x41\xcc\x90\x41\xfb\x8c\xeb\x4f\xfc\xfc\x06\x6c\xee\xdc\xbf\xa2\x9f\xe7\x21\xfb\xad\x7b\x5f\x75\x44\x0c\x47\x5f\x93\xad\xce\x72\x6b\xf6\xaf\xdf\x98\x54\x94\x5e\x98\x90\xa2\x7d\x57\xd0\x6f\x29\x18\x2e\x38\x1a\x98\x98\xac\xa5\x7c\x67\x57\x0f\x50\x95\x43\x65\xee\x4a\x9f\xbd\xf6\x9c\x78\xee\x36\x4e\xb2\xd3\xfe\xff\x07\xdf\x1f\x28\xc3\x7e\x76\x07\xfc\x5f\x99\x3b\xa2\xce\x9e\x0e\xaa\xfe\xe0\x53\x3f\x08\x8b\x99\x8b\x57\x23\x18\x4d\xfc\xcb\xbf\xdf\xd7\x5e\x8a\xdb\x7f\x53\xe9\xc8\x16\xa1\xcf\x6d\x47\xff\x0d\x1b\xce\xb8\x4a\x7f\x9f\xed\x51\x35\x30\x07\x06\x20\xe5\x99\x69\xba\x3c\xa5\x26\x2b\xae\xc8\x3b\x17\x1e\x85\xf1\x56\x3d\xf4\x4b\xae\x72\x55\x84\xbc\x0a\x9c\x1f\x65\x0f\x93\xb6\x83\xa0\xe6\xc4\x23\xf6\x02\xa7\x2c\xcb\x10\x74\xac\x9e\x46\xa4\x6a\xc3\xab\xaa\xc2\xce\x93\x1a\x98\x55\xb2\x04\xc9\x7c\x4e\x27\x75\x4c\xa4\xe2\xc3\x1c\xa1\xd1\x78\xa5\x87\x26\x8a\x29\x0a\xa9\x36\x77\x72\x72\x6f\x47\xe6\xa0\x34\x01\x17\x0d\xb1\xbe\xde\x4c\xdb\x52\xb7\xba\x09\x67\x6e\x94\x88\x5a\x61\x9f\xa3\xb9\xc0\x94\x23\x74\x2b\x15\x32\xe4\x3e\x69\x66\x21\x08\x7f\x12\xcf\xa5\xbd\x1c\x11\x29\xc7\xbe\xf9\x3e\x30\x24\x26\xdb\xcb\x04\x71\xa4\xc0\xbc\xd8\xed\x71\x4a\x59\x5c\x92\xa7\xda\x49\x02\xd6\x53\x28\xa5\xcb\xa4\x37\xb8\x5e\x1c\x2b\x0f\xad\x27\xd5\xc0\xd6\x19\x83\xc4\x77\x94\xd9\x9a\xea\x7a\x65\x0c\x02\x8d\x21\xf8\x65\x95\x86\x2d\xcb\xe1\xcf\xdd\x99\x7b\x98\x85\x61\xba\x05\x8e\x77\x1c\x03\xcf\x84\xc4\xfc\x18\x20\xa4\xed\xbd\x4b\x1c\x22\xab\x4a\x64\x0d\xc1\xe6\x1d\x4c\x79\x22\x46\x89\xcd\xd5\xbb\x0f\xe3\x50\x8c\x00\x1c\x6e\x88\x29\x0f\x87\xd0\xb6\xf3\xdc\xf5\x0c\x77\x97\x2d\x59\x55\xb8\xff\x36\x4c\xfa\x38\x22\xb8\x21\xd1\xa1\xff\x19\xde\x7c\xce\x46\x15\xfc\x6a\x3d\x63\xf4\xe8\xc8\xa0\xec\xc0\x80\xec\xe0\x81\x45\x9d\xed\xf6\xc8\xce\x52\xfa\xd0\xc3\x7a\x21\xf9\x3c\xab\x6e\x55\x17\x3c\xa4\x51\x63\xaa\xe6\x8c\xe7\xf0\xda\xf0\xf7\xf7\x6f\x2b\xf1\xfc\x2d\x60\x28\x7c\xc9\x8d\x20\x87\xc8\xee\xa1\x4f\x2c\xf0\x8a\x74\x1c\x0b\x16\x63\x52\xd2\x87\x13\x9f\xd3\x86\xae\x9e\x05\x8a\x2f\x6a\xe4\x6e\xed\x40\x3c\x97\x51\xa0\x67\xd8\x1a\x9b\x18\xab\xf9\xf7\x34\xf4\xfc\x36\x9f\xa1\x9f\x57\x3d\x5a\x8d\xda\x92\x92\x39\x99\xae\x9d\x34\x63\x4b\xa8\xb6\xd6\x26\x7b\x9e\xdb\xde\x7d\xee\x38\x23\x5a\xf3\x58\xf3\x1e\xed\x57\x55\x17\x55\x2b\xe9\xfc\x51\x47\xce\xd1\xf9\x51\xf3\xdc\xc6\xdf\xe4\x33\x2c\xe4\xeb\x2f\xe0\x25\x8a\x45\x6f\x9c\xa3\x02\x8e\xdf\xc3\xde\x87\x0e\x14\xd5\xbc\xe8\x0e\xe7\xf4\x95\x64\xcd\x37\x7a\x7d\x04\x0d\x23\x1d\x4f\xb7\x74\x7b\x79\x44\x22\x33\xe1\xac\x0b\xbb\xc2\xf4\x4b\x9e\xce\x64\xae\x95\xf0\x20\x7b\x43\x75\x37\xfd\x90\x27\xd2\x0d\x1a\x43\x29\x6e\x84\x30\x7b\x1e\xcf\x34\xac\x6b\xa6\xad\x90\x28\x7c\x09\x75\x28\x35\xfd\x95\x75\x29\x22\xeb\x7c\xb6\x14\x56\x20\xfe\x94\x57\x72\x14\x9e\x9c\xf0\x65\xae\x14\xf1\x6e\xdd\x7f\x6e\x93\xde\xeb\x58\x57\x84\x4f\x1e\xa4\x7b\x8f\x84\x92\x42\x75\x99\x57\x55\x87\x06\x1f\xa9\x92\x2c\x32\x4c\x21\x8d\x28\x8b\x4b\x7d\xb8\xa2\xe4\x8a\xf6\x3d\xef\xf3\xa3\x86\x09\xb2\x5b\xff\x4d\x50\x29\xe2\x73\x32\xf1\xdb\x6c\xa2\x36\x25\xe0\x18\x6a\x0d\x23\x5c\x4a\x7f\x67\x31\x61\x5e\x1c\x39\x51\xec\x1a\x1f\x1e\x17\x2e\x99\xfd\xd8\x46\xce\x2f\x0a\xf6\x0a\x79\x7c\x78\xa4\xe4\xf8\x26\x8e\x3e\x7a\xd4\x7c\x25\x25\x4e\xa9\x88\x7b\x90\x06\x39\xb4\xb5\x63\xd7\x89\x53\x27\x49\xe6\x23\xe6\xfa\xc0\xdc\xb3\x26\x91\x51\x46\xbe\xe5\x8c\x6e\xb6\xe0\xb9\x95\x92\x12\x19\xa1\x0c\x21\x1a\x4a\xc6\x84\x65\x03\x99\x65\x91\x6f\x1c\x7d\x2c\xdd\xd0\x58\xd6\x4d\x30\x63\xec\x7f\x02\x73\x39\x5d\xe9\x98\xc3\x65\x03\x30\x38\x75\xf8\x78\xac\xe4\xe3\xc1\xde\xbe\xfd\x42\xe4\xa6\x82\xc0\xe2\x40\x68\x7e\x54\x24\xc5\x25\x0a\x3f\xee\xcf\x2d\x26\xec\xb9\x3d\xa5\xdd\xc4\x45\x73\x9b\x02\xa6\x6e\xcf\xa8\xdb\xec\x66\x27\x24\x82\xf6\xd0\x84\x60\x39\xe5\xcf\x77\xa7\xa3\xdf\xe5\xfb\x76\xc8\x92\x9c\xdf\x96\xd3\xd2\xe2\x24\x73\x4e\x79\xb1\x37\x7a\xd4\xaf\xe9\x33\x2e\xc9\x89\x41\xbb\x3e\x85\xf2\x63\xbe\x9f\xf2\xb1\x2c\x76\x99\xfc\x41\xe8\xe2\xc5\x3f\x70\x2d\x3f\xda\xf5\x23\xfe\x47\xce\x76\xcb\xa7\xa6\x68\x6d\x2c\xdd\x14\x51\x76\x96\xa6\x47\xa2\x3d\x4b\xd4\xbe\x09\x86\xff\x6e\xbc\x6b\x40\x70\x2a\x83\x3b\x72\xf4\xde\x51\xfb\xfc\xb3\x77\x9c\x5a\xba\x2a\xda\x93\xf8\xc7\xa4\xcd\xe6\xf4\x20\xfa\x33\xce\xbd\x93\xd5\xa5\x77\x52\xf2\x01\x2d\x85\x60\x51\x7a\x5c\xef\xd3\xa7\x8d\x76\xe9\x00\x81\x63\xf4\x8f\x3c\x80\x73\x08\x00\x89\xb8\xd0\x2a\x29\x7f\xe2\xc6\xdf\x25\x6d\xe7\xbf\x67\x4e\xdc\xa6\xee\xba\xad\x49\x79\xb2\x7e\x23\xe7\xe5\x2b\x55\x60\xee\xb7\xb9\x7e\x82\x55\x8f\xce\xed\xf2\xaf\xe7\x8d\xab\x6c\x27\xe3\x7f\x2d\x07\x71\x12\xf4\x27\x12\x89\x84\xd6\xa3\xa2\xd5\x01\x8f\xdb\x68\x26\xc9\x9a\x02\x2c\xd8\x42\xbf\x4c\x13\xa4\x07\xc0\x3c\xaf\x67\xe4\x4d\x49\x4d\x7f\x09\x00\xd9\xa7\x00\xe5\xfb\x8e\x12\x18\x08\xe1\xce\xc2\x40\x6e\x66\xe0\x00\x86\x5c\xa0\xf8\x7d\xc1\xb4\x64\x1e\x1c\x6f\x98\xc2\x87\x89\x8c\xed\x8c\x5b\x17\x36\x5b\xae\x42\x24\xac\xba\x39\x2d\xb7\x9e\x52\x5d\xd5\x82\x93\xe2\x06\x06\x54\xcd\x7d\xed\x75\x12\x41\x24\x9b\x2b\xc1\x65\xd2\xa2\x14\x34\xc6\x6b\x00\xfa\xbb\x8e\x76\x27\xef\xea\xe9\xfc\x9f\x96\x5e\x4b\x08\xce\xec\xd2\xca\x1c\x18\x36\x0d\x61\x3b\x38\x64\x2d\x78\x2b\xb5\xd5\xe1\x4a\x07\x5f\x86\x75\x15\x5f\x32\x0c\xce\xa2\x47\xaf\x01\x07\xca\x72\x03\x65\x3d\x1d\x9d\x3f\xc0\xdc\xfb\xdb\x28\xb6\xfd\xfd\x03\x81\x8a\x13\x77\x87\x94\x1b\x2f\x2f\x94\x28\xc7\x02\x5f\x60\xbd\x35\xfa\x77\xce\x2f\x9e\x2f\x2b\x3a\x58\x7d\xb7\x5a\xfc\x58\xd6\xc2\x2e\x72\x75\xc8\x90\x51\x96\x80\x97\x81\x57\x26\xed\x03\xdc\x65\x55\x73\x3f\x7f\x81\x7a\xf0\x7f\x4e\x83\xd2\x7c\x6a\x6a\x04\x1a\x5f\xc8\x4d\x77\x33\x31\x87\xe4\xc7\x11\x1f\x0f\x23\x71\x16\x4a\x5b\x75\xff\x57\x46\xf0\x78\xf9\xd4\x8e\xb0\x7d\x08\x07\xda\x79\x7d\x4d\x85\x72\xbd\x2e\x29\x72\xe8\xbe\x31\x2b\x89\x1b\xb5\x17\x29\x09\xf3\xa5\x51\x6e\xb5\x22\x7c\x44\x1f\xc2\x55\x17\x29\x5e\x38\x73\x36\xdc\xfe\xed\x0c\xfd\x63\xab\xc4\x23\xfb\x92\x0f\xa8\x41\xec\x3b\x7d\x97\x2f\x0b\xdf\x0a\xa3\xc2\x09\xcf\x1b\xb9\xd2\x3f\xef\x1b\xd6\x4b\x7f\xe4\xf0\x80\xce\xb8\xc4\xbb\xec\x47\x9f\x9f\xfa\x4d\x67\xdd\x69\xbd\xa0\x0f\x39\x5e\x23\x30\xf3\xcf\x3b\xd8\x8e\x97\x12\x4a\x62\x18\x8b\x8f\xea\x98\x99\xd8\xda\xf6\x23\xb2\x3c\x9f\xe8\xeb\x4d\xeb\x7a\x7d\x1e\x74\x75\x6d\xfe\xb8\x6b\xfb\x8e\x70\x87\x96\x61\x53\x16\xac\x98\xae\x9e\xd3\x16\x20\x32\xf3\x70\x18\x2e\x41\x5e\x53\x31\x9e\x5f\x2e\x77\x47\x1f\x61\x6f\x25\x37\xae\x2c\x53\x55\x57\xa9\x94\xd5\x95\x0a\x37\xe7\x6d\x64\xb4\x25\x45\xf6\x3d\x2c\xdb\x50\x85\xde\xea\xa9\x5b\xd2\xb0\xd3\xe5\x8a\x9a\xaa\xf5\xed\x6c\x8a\xed\xe7\xf1\x4b\x90\x3d\x33\xba\x3e\x68\x3a\x70\x5a\x37\x7f\xd7\x9f\x1f\xbb\x67\x7e\xff\xde\x23\xef\x8a\xd4\x3b\x1c\x78\x44\xaf\x74\xdb\xdf\x4f\xbb\xa6\xfe\x7c\xd9\xde\x74\xd2\xba\x7d\xd4\xd5\x26\x59\x39\xfd\xe7\xe7\x14\xba\xc6\xae\x70\x62\x75\x55\x5b\x5d\x90\x89\xf1\x98\x54\xba\xa2\xd8\xce\xb9\x23\xc2\xe1\xaa\x55\xd6\x46\x6f\x7f\x7e\xf9\x16\x79\xce\xd5\xa5\xaa\xa5\x6a\xd8\xcc\x60\x61\xee\xb2\xea\xe5\x85\xcb\x7e\xaa\x2e\x3b\x15\x26\x5c\x55\x42\xc1\x44\xae\xc8\x08\x19\xbd\x93\x3c\xe1\xa2\x12\xf0\x03\x6a\xc0\x9a\xc1\x35\x79\xa4\xd1\x83\x6f\xe5\x29\x5d\xba\x8d\xef\xb1\x2c\xbd\x84\xb6\x2b\xe8\x5d\xc7\x2a\xd1\x44\x8c\xac\x38\x39\xbb\xc5\xbc\xe2\x9a\xf6\x15\xa6\xa0\x6d\x53\x8a\xdd\x54\xa5\x49\xcc\xf6\x39\xe2\xba\xb9\x03\xe3\xec\xdb\x22\xaa\xfe\xad\xc4\x5f\x4b\x4b\x67\x68\xc5\xf0\x26\xc3\x5c\x5e\x61\x3d\xa4\x0b\x12\x58\x86\xa7\x1e\x10\xc6\xfd\x28\x89\x1c\x75\x60\xee\xb3\x1d\xa5\x6d\x67\x4f\x1b\x2c\x8b\xd3\x89\x86\x02\x68\x7d\x81\xfb\x92\xde\x79\xa8\x06\x24\x99\x03\xdb\x92\x12\xa4\x24\x0c\xdf\x45\xc6\xfb\x5b\xd3\xe9\x62\x92\xc7\xe6\x0c\xb3\x5c\x1d\xda\x8a\xc8\x78\x6c\x7e\x5b\xc5\xf0\xbe\x00\xd1\xd3\x6c\x3a\xb2\x0e\xe9\x88\xbc\xf6\x2c\xb5\x12\xb3\xdd\xcd\x67\x03\x9f\x5c\x6a\x81\x1b\x11\xad\x67\x59\x13\xea\x09\x8e\x88\x27\x07\xb4\x1c\xe5\x26\x66\x29\xe1\x8b\x47\x4c\x7c\x9f\xc6\xad\x2a\xe1\x87\x1c\x51\xdb\xdc\x70\x72\xa5\xa3\x83\x7e\xee\x1a\x3b\xce\x5a\xf1\xb4\x92\x7f\xc3\x49\x5d\xac\xdd\x0d\x21\x3c\xf9\x61\x50\x7f\x42\xb7\x49\xee\xf3\x0e\x62\xb8\x43\x55\x78\xd0\x8f\x1c\x0e\xf6\xfd\x45\x67\xff\xc6\x43\x7f\xff\x28\xa6\x3c\x15\x7f\x67\xb7\x64\xef\xdb\xd7\xd0\xa0\x72\x4d\x7b\x4c\x57\xd2\xae\x47\x07\x68\x12\x37\xfc\x39\xb3\x57\xf7\x46\xc9\x9c\x2c\x73\x52\x06\x85\xcb\xdf\x95\x7a\x48\x37\xd2\x7a\xcf\x99\xcc\x46\x72\x63\x48\x4b\xfc\xff\xf8\x1a\xdf\x6f\x19\x53\xae\xe1\xe3\x46\x61\x30\x19\xc3\x16\xad\x7a\xb2\x81\x95\x68\xc7\x43\xaa\x1c\xce\xd7\x3a\x2b\x06\x2f\xa1\x9d\xaf\xd5\xd2\xad\xfd\x5b\x2d\x57\x98\xc0\x20\x70\x02\x94\x04\xc0\xd0\x33\x14\x76\xe8\xed\x5c\x75\x71\xc7\x47\x47\x2b\xd4\x9b\x44\x58\x29\xdd\xe0\x9e\x03\x27\xd6\x06\xe3\xb7\x26\x4d\xeb\x75\x19\xc6\x97\xd3\xc3\x9b\x7e\x45\xad\xbc\xde\x88\x8c\x57\x7f\x17\x70\xa7\xf6\xdb\x35\x02\x4a\xd9\x70\x47\xd5\xa0\xd3\xd2\xf4\xb4\x30\xcc\xea\x8c\x5f\xd5\xd4\x8d\xaa\x8e\x00\xdf\x71\x57\xff\xc4\x98\x94\x98\x0a\x7f\x5d\x35\x98\x78\x0c\x92\x00\xc9\xf6\xa0\x9e\x16\xe0\xf9\x31\xcb\x79\x75\xd2\x26\xe6\xa7\x0e\xaf\x38\x48\xc8\x8f\x27\x13\x9f\xfe\x3b\xa4\xd2\x40\xbb\x3c\x51\xee\x76\xf5\x38\xb9\x84\x8c\xad\xbe\x75\x56\xac\x3c\x1e\xe6\xb7\xc9\xa6\x45\x59\x29\x16\x2b\x99\xef\x74\x6e\xb9\xb1\x7c\xce\xdf\xb2\xd5\x4b\xb5\xf4\x95\x0c\xd4\x1f\xdd\xe9\xb5\xd5\x33\x2a\x89\xcb\x16\xa8\xea\x22\xdb\xfc\xb6\x02\xf6\xde\xab\x23\x23\x1b\xfa\x1e\xf0\xb8\xdb\x0d\x92\xd0\x8e\x4e\xd9\x69\x22\x4d\x43\xa3\x46\x98\x5a\xc1\x75\x54\x08\x0a\xdd\xc1\x83\xa6\x37\xf4\xed\x10\xea\x79\x5c\x3d\xf7\xd1\x86\xbe\xd1\x91\x63\x04\x95\x0f\x58\x59\x24\x2a\xe6\x5e\xda\x49\x4e\xeb\x68\xee\x71\x1c\x05\xc1\x87\x68\xc9\x3c\x87\xb0\xec\x87\xa2\xd2\xea\x1c\x5b\xb7\x00\xe7\xad\x86\x91\xb5\x25\xc1\x89\xc5\x55\x59\xf6\xce\x41\xee\x47\xf4\x38\x9c\x6d\x1b\x5e\x8e\xd0\x73\x1f\xad\xb2\x75\x17\xd6\xc2\xb6\x93\x93\x24\x36\x09\x79\xc0\x37\x59\x56\x50\xb3\xdf\xbe\xd4\xc0\xd0\x03\x02\xf6\x74\x46\xf3\x28\x6a\x7f\x91\x3a\xa8\xaf\xc1\xda\xb8\xe7\x15\x24\x6a\x1a\x1a\xc1\xc2\xef\xa0\x85\x96\xd1\x7b\x77\x25\x70\x68\x11\xec\x42\xb6\x4c\x91\xdd\x1e\xf1\x5c\x3d\x40\x92\x22\x30\x1d\xb8\x8b\xe1\x34\x29\x55\x16\x10\xaa\x0c\x77\xf1\x04\x27\x20\xaa\x4f\xaa\x77\x1e\x34\x07\xca\xca\xf5\x23\x1f\xe2\x99\xf0\x4e\x3e\x71\xa2\xa6\xd9\x98\xec\xee\x0b\xaf\x3e\xc4\xea\x30\x53\x7c\xdb\x5f\x41\x65\x91\x67\xae\x3c\x32\xcc\x38\x10\xfd\x40\xad\x2b\xe9\xb1\x35\x94\x09\x33\xfb\x67\x4b\x70\x3a\xd6\xe9\xf0\xac\x45\x07\xea\x4c\xde\xff\x42\x76\xff\x4b\xaf\xae\x8b\x89\x6a\xfb\x3a\xe2\xbd\xee\x2a\x26\x7a\x85\x94\xdd\xe0\xa9\xfa\x30\xe2\x0e\x56\x20\x0b\x3e\x0e\xa1\xcd\x47\xb4\x58\x1d\xfe\x43\x4a\xa3\xea\x49\xf2\x4f\xb2\xf7\x45\x72\xb2\x03\xb2\xf0\xe3\x10\x13\x57\xdf\xed\xc6\x02\xed\x62\x95\x24\x9f\x57\x2b\xc2\x5e\x6a\x92\xc9\x92\xac\xfb\xfb\xf6\xf5\xcf\x96\xf6\x9e\x10\x88\x85\x36\xe0\x1d\x48\xd3\x58\x23\x31\x38\x0b\x8d\xcb\x8c\x35\x98\x91\x15\xd6\x03\x14\x97\xd4\x8b\xa2\xf4\x96\xd9\x60\xa2\xd6\xa9\x8e\x77\x47\xae\x55\x17\xca\x03\x2c\xf0\xb7\x9f\xfe\x30\x33\x09\x8f\xa0\xab\xec\xab\xf4\xda\xe7\xcc\xb5\x31\x0b\xc1\xd0\x51\x99\x26\xc8\x1e\xa2\x9c\x67\x3b\x21\x8f\xd0\x5d\x76\x9a\x58\xe6\xeb\x7e\x30\x9c\x61\xf6\xb9\x0b\xb9\x9b\xc1\xd5\x09\x8f\xf8\x5c\xbd\x4d\x81\xb8\xfc\xa1\x86\x46\x34\x43\x26\x68\xe2\x99\x20\x8d\x56\xd4\xd3\xbe\xd3\x97\x7c\x8e\xac\xae\xe6\x80\x99\x77\x39\xea\xa3\x7d\xc1\x9c\x39\x8d\x2f\xb5\xed\x48\x86\x14\x59\xbc\xb4\xa5\x9a\x31\xea\xe6\x95\xcb\x9a\xb5\x57\x05\x85\x28\xd4\x75\x32\x69\x67\x16\x6f\xd4\x7d\x39\xa8\x7e\x21\x56\x37\x1b\xd6\x3b\x9d\x3a\x48\xa9\x09\xf3\x78\xc7\x97\xd7\x13\x7e\x08\xe3\xb2\xbf\xa7\x8a\x0f\x76\x05\x57\xdc\xd8\xb2\xfb\x6a\xa1\xcb\x0d\xfb\x77\x8f\x24\x19\xe2\xc4\x6b\xca\xaa\x65\x9a\xbe\x88\x31\x5a\x5e\x9d\x57\x24\x53\xd7\x2b\xc4\xbc\xd1\x9a\x2c\xa9\x2d\xab\x33\xad\xd6\x07\x21\xec\x63\x6d\xee\x99\x68\x16\xfc\xba\x39\x95\x8e\x9b\xa1\x25\x06\x20\x51\x2a\x3b\x25\x81\x5f\x96\x0f\xee\x00\xa8\x38\x88\x46\x56\x28\xb3\xd5\xf8\x86\x9b\x73\xf8\xdf\xb7\x66\xcc\x38\x14\x64\xf5\x9b\x9d\x17\x9f\x10\x9c\xd8\xb4\x67\x6d\x35\x40\x40\x37\x56\xd6\x89\xb5\xc9\x21\x29\x91\xde\xc2\x5e\x60\xac\xd6\x23\x6d\x8c\x13\xdc\x8a\xa5\xbb\xbe\x87\x47\xb1\x6b\x82\x21\xbd\x06\xe3\x06\x79\xc3\x75\xe8\xa8\xa6\x19\xb3\xe4\xd4\x28\x2b\xcb\x71\xfe\xd1\x3a\xde\xc2\xad\xd1\x44\xdd\x89\x35\x2f\x80\xcb\x62\x8d\xb3\x77\x19\xed\x9e\xeb\xf0\xf2\x89\xf9\xd4\xc8\x62\x2b\x19\xed\x62\x0f\x16\x9f\xf8\xe1\x8e\x81\x9a\xed\xbb\xd7\x36\xce\x7d\xeb\x48\xaf\xd0\x9b\x87\x6d\x24\x9c\x9a\x74\x65\xd6\x31\x2d\x1e\xc4\x9b\x0a\xee\xfc\xb5\xbc\xbb\x08\x47\x5d\x69\xb9\xdc\x98\xf0\xa8\x99\xe0\xb9\x24\xbb\xba\x51\x3a\x6e\x1a\x70\x79\xeb\xfe\x73\x86\xc7\xa9\x89\xe9\x42\xd9\xe0\x71\x38\xf9\xa6\x7f\x48\xaf\x72\x2d\x3b\xa1\x2d\x63\xff\x4e\xbf\x2a\xef\x9a\x8d\xa5\x12\x72\xb3\x4a\x5d\x15\x63\xc4\xf2\xf3\xe8\xfd\x47\xd6\x1b\x59\xf9\xce\xed\x75\x63\x79\x55\x6b\xdb\x75\x0c\xd4\xca\x18\xbf\x44\x51\xa0\x1a\x29\x8d\x9f\x3a\x34\x5e\x9c\x9e\xad\x4b\x3c\x7c\xe7\x58\x45\x95\xde\x9a\x2e\x14\x48\x78\xa3\x72\xe4\xba\x9e\xa9\x6a\xc9\xf8\xce\x9a\xc6\xa1\xf1\x86\x05\xfb\xe3\x2d\x9b\x5d\xfd\xc9\x65\x55\x36\xa5\xff\xa3\x78\xac\x62\x6b\xae\x17\x13\xe4\x1e\xa0\x5f\x6c\x6f\x9f\x18\xd3\xe2\xb0\xaf\x75\x76\xa6\xb8\x6f\x4c\x0e\x94\x7a\x41\x2b\xd4\x24\x5e\xd2\x95\x5c\x77\xea\x02\x25\x3e\xea\x5b\xa1\x50\xa0\x8f\x47\x3c\xaa\x9a\x99\xa9\x32\x1a\x95\xd3\xe2\xf6\x8f\x3c\xbd\x55\xc7\xe4\xe5\x8e\xee\x77\xb0\x95\x9c\x98\xae\x2b\x3d\xdc\xa7\x54\xf3\x32\x62\x77\xdd\xa0\x77\x78\xb6\xbd\x9f\xf2\x0a\xc8\x61\x79\x99\x23\x47\xe5\xe5\xc1\xa8\xe7\x74\xc6\x73\x2b\xc7\x73\xaa\xe4\x8a\xca\xca\xf1\x0f\x96\x5b\xf2\xab\x55\xd1\x59\x31\x8b\xcd\x6e\x1e\x2c\xa6\x2c\x28\xa7\x34\x9c\xf7\x63\x24\xa1\x55\xcc\x53\x99\xeb\x39\x93\x91\x9d\x42\xe7\x8c\x25\xc5\x5a\xfd\x48\xab\x5c\x52\xe8\xb7\x15\xd7\xae\xf5\xc2\x19\x6d\xe8\x59\x5a\x84\x2c\x5d\xe1\x4b\x48\x92\x5b\xda\x45\xb7\x10\xc3\xbf\xc7\xe4\x2f\x6c\x3b\xdf\x66\xbd\xeb\x12\x0a\xe8\x9f\x24\x80\x36\xa8\xc2\x21\x5b\x61\x42\x85\x72\xef\xeb\xd6\x64\x07\xb7\x5a\xf5\x0c\x8c\xcc\x56\xcf\x7a\x6f\xd9\x92\x88\x04\x81\x6e\xd0\x48\xef\xa5\xf6\xa5\x1d\x4b\xb0\x56\x16\x55\x85\x25\xb6\xce\x0f\xd2\xc3\x29\x47\x92\x8e\x42\x99\x24\xbe\x45\x37\x5c\x66\xfc\x59\xd6\xb5\x54\xe4\xae\xed\xb8\xc7\x0a\xf5\x06\x4b\x67\xde\xdf\xc9\xb7\x3b\xa2\x37\x1b\xef\x20\x77\xaf\xa9\x42\x68\xfe\x29\xf9\x6b\x85\xcd\xcd\x34\xb2\x8d\x97\xff\xe9\x5c\xf3\xb3\x72\x3c\xc2\x7a\x75\xc1\xab\x74\xab\x53\xe5\x6f\xd7\xf9\x3f\x28\x18\x23\xad\x08\x22\xa4\x2a\x47\x84\x99\x0c\xb6\x1d\xba\x07\x3c\x4b\x3f\xbe\x27\x03\x3c\x69\xeb\xf3\xf8\x9c\x54\x3f\xfa\x99\x9a\xef\x5a\x6d\x0d\x6c\xcb\x15\x15\x94\xd7\xb1\xfe\x7f\x6b\xa6\xc6\xb0\x43\xd2\xeb\x64\xb5\x09\x40\xd2\x50\xb6\x4a\xea\x8b\x1a\x1e\xfa\xf5\x94\xac\x75\x55\xb9\x20\x37\x22\x43\x08\x2a\x89\x00\xa8\xa6\xc9\x6c\xce\x65\xbc\xd5\x10\x80\xf1\x41\xb5\x49\x18\xe6\x90\xe0\xc8\x11\xe5\xcc\xae\x42\x5a\x7c\x47\xd5\x7e\x10\xdb\x99\xe7\x07\xd9\xe0\x51\xb6\xbe\x02\xac\xef\x65\x63\x29\x58\x48\xa8\xdf\x23\x0f\xbb\xc0\x95\xfa\x95\x6b\x86\xba\x9e\xe9\xe6\x33\xa4\x93\x4b\x56\xc3\x20\x3d\x5b\x12\xdd\xf4\xf2\xe3\x58\xc0\x5f\xc6\xc7\xdf\x90\xe6\xfd\xef\xe9\x57\x1f\xd6\x43\x6f\xa7\x98\xff\xd8\x46\xab\x78\xb6\x23\x29\xc8\x81\x74\x38\xe6\xad\x36\xeb\x5d\x9b\xe5\x48\xaf\xce\x77\x33\x2c\x11\x6b\x79\xab\x94\xd1\xa1\x78\xad\xbc\xc2\x81\xca\x2c\x41\x86\xd7\xb7\x09\x65\xe2\xa9\xcb\x23\x86\x85\x2f\xd4\xe8\xfd\x74\xdb\x73\x75\xac\x9d\x23\xfa\x9c\xc2\x38\x89\xb3\xe7\xe6\xcb\xe1\xf9\x3b\x67\xcc\x97\x0c\x9d\xda\x5d\xc7\xfe\x1c\x5b\x87\x7f\x64\x60\x14\xc6\x6f\xb3\xae\x41\x81\x08\x6c\x88\xfb\x18\x67\x23\xb7\x20\x6f\xfd\x40\xde\x5e\x1e\xf3\xd1\x76\x49\x0e\xa3\x43\xb5\xb9\x86\x12\xe1\xcf\x17\xe0\x6b\xcf\xe3\x11\x72\x02\x88\xfc\x6b\x88\x4d\x70\x0b\x16\xd5\xd4\x80\xe1\xf3\x4b\x9d\x8d\xce\x6d\x6e\x0e\x4a\xf8\x36\xa4\xd1\xcd\x21\xc4\x09\x7b\x85\x7a\x51\x49\x56\x4e\x9e\x72\x81\x72\x45\xce\x5a\x96\xba\x70\xe4\xb5\xd2\x57\xa5\x77\x28\x5b\x79\x1a\xf9\x1d\xf9\xab\xb2\x0d\x2a\x0a\x4e\xf9\x43\xf9\x53\xc5\x0e\x83\x21\x7f\x21\x7f\xc3\xd8\xa3\x63\xd4\xee\x90\x84\xa3\xfe\xc2\xc2\x2d\x71\xad\xbd\xd0\x1e\x55\x77\x4a\xfb\x3d\x6a\x2c\xc2\x1b\xf0\x05\x9d\xd0\xd8\xeb\xbd\xd0\x6c\x00\x1e\xed\xb1\x5b\x5e\x73\x4d\xee\x1c\xe4\x75\xe7\x8b\x3b\xd7\x9b\xce\xa7\xbf\x3a\x7d\xe1\xbd\xd2\x9c\xf5\x09\xf1\x09\x71\x67\xfb\xe1\xb9\x06\xb6\xfb\xce\x17\xe2\x63\x4e\x68\x9b\xfb\x94\xfd\x54\xc2\x7f\x76\xd7\x29\x57\x9b\xe3\x64\xc2\xc9\x19\xed\x5d\xc7\x5d\xc7\x1d\x2a\x49\xd9\x1d\xc7\x1d\xc6\x12\x9c\x6e\xbe\xa4\x0f\xc1\xe5\x4d\xf3\x3a\xc5\x32\xb1\xd2\xb1\x81\x75\x78\xe4\x76\x87\x3e\xeb\x0f\xa7\xaa\x19\x8b\x46\xa1\xac\x6e\xe3\x44\x21\xea\x24\x01\x53\xab\x78\x38\x90\xa0\x3b\xad\x8a\xc4\xcf\x3b\xc5\x28\xba\x93\x00\xa5\x7e\x1b\x0d\xaa\x57\x6f\x75\xba\x5c\x18\xcb\x1d\x07\x48\x74\xda\x2a\x47\xc4\x9e\x0e\x76\xca\x3a\xaa\xd3\x5b\xe3\xbe\x4c\xd7\x72\x98\xde\x2d\xa0\xab\xa9\x79\xfc\x47\xd0\x6d\x0a\x6b\x83\x2d\x36\x4b\x17\xbf\x3d\x82\x39\x01\xd8\x44\x3e\xb9\x47\x6b\xf6\xbe\xe2\x0e\x9b\x61\x44\x18\xee\x6c\x39\xe0\x3c\x6a\xdd\x1b\x55\x98\x14\x72\xaf\x9d\x00\x37\x0b\x8c\xac\xe0\xf4\x6a\xb4\xb9\x2a\xed\x06\x4e\x6c\xa5\xbb\xc0\x14\x8f\x93\x17\x29\x38\xc1\x11\x6a\x90\x32\x94\xd0\x62\xe2\xe9\x53\xcb\xc0\x1e\x2d\x61\x8a\x9b\x73\xf3\xef\xe8\x34\x64\x20\x2c\x19\xa6\x01\x60\x04\x82\x38\x06\x01\x1b\x1e\x6a\x30\x5f\x46\x43\x2a\xb8\x12\x36\xa5\x14\xa7\x89\x2a\xbf\x5b\x24\x5f\x5c\x20\x71\x27\x3b\x18\x43\x32\x6c\x44\xd6\x49\xd2\xf9\x13\x3d\x23\xe2\x17\xf1\x3a\xde\x56\x70\x2d\x28\x5f\x9b\xe9\x48\x61\xcc\xb9\x24\xa4\x24\x3d\x77\xbf\x23\x16\x6d\x06\x43\x2a\x41\xe1\x31\x4a\x8b\x19\xd5\x50\xb9\x25\x9a\x73\xe0\x64\x2a\xa7\x3a\xd4\xe1\x25\x09\x7d\xe8\xba\xeb\xd1\x34\xaa\x41\x52\x38\xee\xbc\xc4\x05\x06\x85\x99\x93\xf8\x7a\x1f\xc3\xb8\xa7\xc1\xc7\xc0\x3d\x81\x3f\x45\x75\x2c\x71\x2d\x11\x17\xae\xb5\xd8\xa3\x81\x82\xc3\xcc\xc3\xb7\xa5\xae\xf5\x2c\x21\x96\x70\x8f\xe2\x4e\xd0\xfe\x99\x3a\xbe\x0b\xda\xc5\x90\x35\xd9\xec\xb9\x56\x80\x49\x34\xaa\x94\xa2\x86\x3f\x3e\xab\x2a\x4b\x32\x83\xcd\x14\x8b\xed\x4a\x38\x4f\x73\xfc\xd3\x1e\xbf\x8f\xb2\xf5\x50\x22\xe5\x81\x99\x13\xf3\x62\x4e\xdb\x25\xae\x0d\xbe\x16\x04\x70\xee\x06\x78\x63\xc8\xcc\x4e\x92\x26\x61\x08\x79\x8d\x7b\x7f\x4d\x8b\x6c\xc6\xaa\x07\x33\x1e\x23\x4c\x8d\x6d\x4e\xcc\x95\x26\xd5\x3e\x18\xec\xf4\xb3\x34\x77\x12\xcd\x10\xd8\xd5\x99\xde\xa8\xc3\x17\x86\x96\x18\x7c\x33\x91\xe0\xe4\x96\xda\x7d\x2b\xad\x65\xd5\xff\x7d\x87\xe8\xfe\xa6\xe1\x8d\xf8\xfa\x5f\x83\xc8\x10\xd7\x2c\xbe\x2c\x41\xcb\x4c\xe8\xe3\x75\xb4\x5b\x99\x9a\x9c\xf9\x1d\xcf\xb2\x51\x4a\x35\xda\x27\x7a\x99\x95\x0f\x9a\x40\x4e\xd4\x9d\xcf\x5a\xcc\x89\xa7\x45\x44\xce\x40\xa3\x28\x50\x56\x64\x6c\x93\xac\x5c\x38\x4e\xe9\x26\x2c\x9c\xb0\x29\x49\x5d\xb6\x64\xab\xe6\xa4\x4e\xf3\xfe\xcf\xde\x59\x16\x38\x2b\xbb\xca\x9e\xea\x5f\xbb\x06\x77\xa0\x04\xce\xfb\xec\xff\x75\xe2\xa5\x8a\xec\x38\xd7\x23\xfb\xe4\x2b\xf3\x31\x02\x64\xed\x38\x73\x36\x81\x92\x03\xf5\x9e\xc7\xac\x1b\x7d\xe5\xa3\xaf\x0c\x9f\xe2\xd1\xf4\x55\x79\x8b\xf2\x66\x63\x90\xc1\x99\xb8\x2b\xca\xd4\xfb\x21\x29\x8d\xc8\xa6\xb3\xde\x31\x9b\xb7\x15\xbe\x5b\xe7\xb2\x4e\xeb\xb0\xf4\xea\xd7\x7d\x33\xc7\xae\x49\x47\xac\xdb\x75\x5d\x8e\xdb\x78\x7e\xde\x5e\x85\xca\x94\x98\x34\x0a\x9d\x99\x9b\x71\x64\xe9\xe6\x98\x03\xb8\x5b\x1e\x3e\x94\x2c\x7b\xec\xae\x31\x23\xf1\x5e\x33\xaa\xef\x49\x44\xef\x9b\xeb\x3d\xeb\x71\x07\x24\xb1\x25\xf2\xa0\xc9\xa5\xc2\xf3\x3a\x41\x2a\x81\xde\x43\x67\x0a\x0b\x52\xc9\xc1\xc4\x40\x0c\x95\x42\x94\x86\x48\xfd\x8e\x98\x40\xe4\x21\x1e\x54\x6e\xfd\x9b\x15\xda\x77\xb6\x6c\xe2\xcd\xcb\xad\xf0\x15\xd8\x61\x08\x14\xb1\x5d\xee\xcd\xf3\xc9\xac\xb2\xc3\x11\xf4\x03\x7a\x35\x13\x9b\x0b\xb5\xd2\x18\xf1\x08\x7b\x7a\xdf\x16\xc5\xf1\x31\xd2\x04\x52\x26\x80\x8f\x6c\x9e\x5c\x57\xd1\x9f\x94\xfb\x67\x82\xf0\x98\x00\x92\x45\x49\xd9\x91\x74\x29\x87\x1e\xa2\x08\x84\x38\x90\x52\xa8\x54\x70\x2a\x03\x59\x4d\x9b\xda\x8b\x9b\x46\x66\x52\xbe\x38\x56\x97\x59\xc2\x62\x4a\x69\x72\x16\x35\x46\xc4\x8d\x09\x4e\x34\x65\xac\x67\x48\x25\xa7\x3c\x90\xd9\xbc\xa5\x0d\x84\xbc\x08\x6e\x8a\x6a\xcc\x63\x2a\x76\x84\x9d\x3c\xe1\xa7\xbc\x15\x20\x2f\xef\xab\xe3\xe2\x55\xf6\xdb\x6a\x61\x6f\x2e\x6c\x47\x05\x8b\xe5\x92\x76\x41\xb3\x76\x50\xc0\x02\xb2\xf2\x04\xd8\xa0\x84\x5a\xab\x6a\xaa\x89\xfb\xea\x39\xb7\x49\x64\x41\xe0\xe7\x76\xea\xc6\x89\x3c\x9f\x8f\x0b\x6a\x4f\xef\xeb\x33\xb5\xaf\x6a\x1a\x0f\x89\x35\xcf\x4b\x68\xf4\x69\x03\x4d\x74\x7c\xb2\x06\xa8\x07\x65\x6e\xdf\x2a\x3d\x2d\x41\x00\x42\x8a\xf3\x98\x05\x51\xf5\xf8\x95\xf0\x1e\xd7\x8d\x2e\x7c\xa7\x22\x3f\xa9\xe3\xc3\x8f\x73\xb9\xee\x9d\xd8\x5c\x5a\xde\xe5\xfb\x1b\x25\xd2\xfe\x1b\x67\x92\xf3\x74\x32\x5e\x4c\x90\x23\x3b\x4b\x9e\x30\x3e\x3b\xb2\x1f\xc3\xce\x21\x90\x93\x12\xf9\x53\x53\x49\xd5\xc7\xfc\x04\x21\x21\xaf\xd5\x07\x48\x87\x3e\xa0\x53\xd5\x14\xce\x7c\xbc\x42\xbe\xcf\xb5\xc5\xb5\x1e\x51\x4e\xaf\x08\x2c\x24\xab\x16\x2c\x4a\xef\xcb\x2c\x01\xad\x9f\x79\xf3\x61\x8e\x3e\x41\xa2\xf0\x02\xf7\x22\x54\x07\xe0\x53\xe8\x83\x4d\x9d\xcf\xd6\x0e\x4b\x96\xbe\xfe\xd1\xed\x07\x22\xc3\x49\xec\xab\x88\x9c\x2b\xa9\x3b\x3b\xa5\xd3\xbc\xe8\xa5\x5b\xef\xe9\xe1\x35\x90\xad\x2a\x5e\xe5\x9e\x31\x21\x89\xdd\x3b\x00\x6d\xc9\x2d\x2d\x3f\x77\x62\x5e\x65\x99\xa2\x43\x69\xe8\x4f\x15\x7b\xe5\x2a\x82\x9d\x03\xd9\x4e\xf8\x43\x2f\xfa\x8d\xef\x2e\x4d\x7f\xe3\x73\x27\xf8\xce\x0b\x1f\xb5\x0c\xb6\xf4\xd0\x66\x2b\x76\x9a\x53\xf8\x27\xeb\xcc\x98\x88\x0c\x81\x02\x0a\x54\xeb\x6b\x4f\xf4\x48\x8c\x4c\x96\xc4\x54\xda\x70\x52\xa4\x8f\x73\x19\x87\x23\x32\x04\x1c\x94\x59\xdf\xd6\x14\x40\xb0\x32\xbc\xe6\x81\x4e\xf7\x36\x5e\x54\x9a\xbf\x29\x75\x5b\xcc\x15\x3e\x34\x28\x6e\x23\xe3\x11\x2a\x77\x9f\xc2\xb2\x4a\x62\x9e\xd2\xdd\xff\xae\x24\xc8\xa4\x95\xd6\x46\x0f\xfa\x54\x78\x4d\x33\x04\x13\x2c\x22\x26\x0d\xf4\xdc\xb4\x79\xb6\xcf\x57\x6d\x1b\xc2\x01\x02\xc7\xc0\x81\xce\x0c\xe7\xaa\xfe\x6b\x21\x6f\xbf\x20\xaa\x84\x09\xe5\x16\xfa\x2c\x0b\x12\xcb\x92\xd2\x65\xbe\xaa\x8d\xac\x36\x99\x47\x8c\x47\x5c\x72\x5d\x55\x32\x25\xb6\xe8\x38\xcc\x57\x48\xef\x85\xe5\xb0\x0a\x43\xfd\xd9\x1c\xa2\xc4\x51\x6f\xe5\xa8\xa3\x96\x29\xb3\x9f\xc0\x2a\xe9\x5b\x7a\x62\xc3\x32\xe5\x6e\xa3\xae\xfc\xb5\xcd\xb4\xa8\x2e\x43\x4c\x3f\x9b\xdc\x67\xfa\x9f\x6c\xd3\x32\xdb\x5c\xf5\x94\x23\xa7\x2e\x57\x98\xaa\xf2\x59\x60\xe9\x1d\x1e\x57\x47\x81\xc1\x3e\x72\x38\xf4\x8e\xa6\x13\xee\x65\x31\x1b\x8a\xba\xcf\xfa\xee\x6a\xae\xc9\x42\xf3\xcd\xe3\xfd\xf3\x0d\xff\xd5\x55\x95\x98\xbf\x71\x38\xa5\x60\x7b\x1f\x6c\x5f\x64\x3c\x43\xc9\x68\x1d\x6a\xac\x68\xb0\xbb\x7c\xd1\x76\xfb\x6f\x1d\xe3\xd0\x4c\x39\xa6\xa1\xc0\xdf\xfb\x17\x67\x8a\x06\xad\xf1\xe4\x87\x84\xa8\x62\xc8\x25\xbc\x26\xb7\xb2\x68\xc8\x20\xde\x78\xc0\xd6\x4c\xa0\xad\x29\x7b\x0b\x17\x28\x66\x6f\xf6\x9b\x7f\xec\x50\x9b\x48\x19\x96\xeb\x9e\xc7\x7e\x6c\x17\x96\x93\x1d\xf1\xd8\x38\xa2\x20\x2d\x73\xea\xb4\x33\xbb\x28\x21\xcd\xdf\xdd\x43\x6b\x19\x62\xab\x85\xc3\x65\x72\x91\x0a\x41\xc7\x45\xd2\x48\xd5\xf3\xd0\x8a\x6d\xc7\x71\xb5\xd8\xa0\xcc\xae\x90\x78\x82\x19\xb6\xc0\x2b\x39\x26\x56\x9e\x1c\xcb\x48\x4c\x61\xc4\x02\xca\x0e\xb2\xf5\xe7\xe0\x6a\x4b\x23\x23\x30\x63\x95\x65\xa3\xc5\x5b\x61\x62\x68\xcd\x40\xf6\x2f\x39\xda\xf3\xe4\xf1\xdc\x4a\x79\x1c\x31\x9e\x4d\x4b\xfc\xbb\x3a\xe4\x35\x62\x9c\x6f\x4e\xbe\x4b\xc2\x54\x92\xbf\x68\x1e\x77\xda\xe7\xd8\x51\x1e\x97\xc6\x17\x7f\x09\xba\xb0\x29\xe5\x9d\x81\xdd\x28\x0a\xbd\x69\x98\xc7\xb6\x17\x26\x70\x39\x91\x9c\x90\x98\x9c\xdd\x1e\x46\xa3\x64\xf7\x49\x80\xc0\xf6\x53\xf0\x9f\x7a\xb1\xd5\xd4\xa2\xa5\xe7\x02\xd6\x75\x71\x9b\x17\x15\x67\xde\xdd\xb4\xe9\x56\x44\xd1\x5a\xf4\x26\x60\xff\x57\x9e\x3a\x3a\xed\x2a\xc2\xfe\x5e\xeb\x21\xdd\x56\xc6\x00\xff\x70\x7d\x9d\x85\x99\x9f\xf9\x61\x13\x19\x81\xe7\x95\xeb\x2c\x3f\x0c\xb7\xf0\xe7\x38\x90\xd0\x10\x16\x07\xe6\x99\x9b\xfc\x4b\x86\x9e\x5f\x95\xaf\xb5\x37\xcc\x67\xe2\x3f\x04\xd0\x72\x9b\x11\x57\x2e\x55\xe5\x5b\xd6\xe4\x1c\xc5\x63\xea\x3e\x98\xe7\x39\x29\x5c\xbe\x3c\xad\xba\xfe\xb1\x72\xc1\x2e\x2d\x95\x0f\x07\x5e\x88\x0d\xa0\x42\x74\x52\x40\xe4\xbb\xcd\x93\xc6\x66\x9d\x04\x38\xf1\x77\xf1\xd1\x05\x01\x3c\x5f\x49\xc8\xee\x82\xc0\xad\x18\x05\x61\xce\xc0\xb7\xc2\xc6\x9f\x10\x18\xcc\xa2\x04\xf8\xb3\x28\xc1\x81\x11\x43\x9b\x55\x82\x03\xdc\x2f\x29\xab\x5c\x52\xd6\x0e\x7e\xfb\xde\x1f\x82\x3f\x7e\xdb\xa8\x0a\xc3\xbf\xb7\x64\x5a\x0c\xeb\xed\xab\x5a\xdb\x95\x47\xc6\x90\x83\xde\x18\x11\x91\x80\xfb\x72\x67\xc2\x0f\xd9\xf1\xb7\x4a\x70\x5f\xfd\x22\x7d\xfb\x49\x65\xcf\xf5\x67\xa6\xac\xba\xae\xbd\xcc\x92\x16\x36\x2d\x17\x04\x47\xee\x3b\x9b\xd1\xcb\xe2\x0e\x4b\x0b\xc6\x3e\xa9\x01\x24\x6e\xdf\x1c\xde\xd6\xed\xf8\x0c\xca\x2b\xff\xb2\x4c\xc1\x5b\x80\x91\x6f\xdd\x22\xa0\x4e\x9f\x3e\xf4\x89\x8d\xf1\xb6\xaf\x65\xeb\xd0\x59\x91\x66\x1a\x82\x9b\x43\x2d\x9b\xbd\x02\x5c\x51\x7a\x84\xf4\x25\x81\xec\x73\x65\xec\x1d\x1d\x67\xb4\xa7\x83\xac\x40\x9f\xb9\x25\xed\xa9\xf0\xf3\xf9\x07\x20\x16\x49\xf3\xc5\xfe\xb6\x5e\xd8\x84\xad\xbc\xcf\xfc\x8b\xd8\xf3\xb9\x2a\xcd\xd3\xac\x88\x95\x1c\xe5\xec\x1e\x44\xe7\x80\x06\x98\x3c\x92\xad\xc3\xf5\x8a\xe5\x21\xaa\xd8\x30\xe9\x4f\x21\x0d\xf4\x77\x21\xf5\x95\x86\xa9\xde\x9e\x7b\xfb\x7f\xc1\x1b\xc0\xbc\x44\xeb\x53\x9a\xe3\xec\xd3\x72\x2e\xa0\xfa\x7e\xa7\xff\xfe\x42\xb6\x7a\xe3\xe6\x2b\x85\x1f\x42\x1a\xea\x6d\x41\xea\x2a\xf6\x2b\x79\xbd\xaf\x0b\xfb\x1d\xd9\x28\x6b\x00\xc3\xc8\x13\xf8\xf5\x77\xeb\x5f\xed\x33\x64\xdc\x1f\xde\xe2\x16\x56\xae\xbb\x79\xfe\xd4\xf9\x34\x2f\xdc\xba\xc2\xdf\x59\xad\x80\x99\x68\x73\x92\x76\x84\x7a\x4a\xde\x05\x30\xef\x61\xe1\x14\x70\x36\x1b\x37\x9f\x9a\x58\xbd\xde\x36\xa4\x9e\xaf\xc5\x09\x9e\xe9\x79\xc5\x6e\x01\xce\x6f\x15\xa3\xff\x9b\x7d\x6c\xa7\x86\x6b\x01\xf2\x83\x8e\x6e\x9e\x72\x37\x0a\x79\x79\x68\x10\xdd\x44\xa5\x62\x4b\xa5\xf4\x53\xeb\x4f\x52\x35\x70\xa5\x38\x1f\xec\xa7\x2e\x54\xac\x61\x5b\x0c\xab\x91\x59\xbb\x68\x4b\x48\x43\x4a\x5d\x63\x40\xb9\x2f\xe5\x89\x73\x01\x2d\x1d\x60\xcf\xbc\xb8\xa2\x8b\x45\xb6\x8e\x61\xa4\x47\x6b\xa6\x59\x72\x9a\x01\xca\x87\x85\x4b\x3c\xf3\x45\xc3\xc1\x08\x65\x8e\x9b\x57\xf0\x56\x03\x90\x52\x50\xad\x85\xfc\x74\xac\x47\x2b\x24\xef\x8d\xd0\xb4\xf7\x20\xb4\x8a\xf1\xe5\x52\xb0\x93\x62\xa0\xcd\xcd\x87\x1e\x50\xe0\xc7\x54\x45\x5b\x6a\xd2\x85\x8f\x0d\xde\x0e\xf4\xe8\xbd\x10\x18\x2a\xb1\x85\xb5\x4e\x55\xb6\xa6\x5a\x9a\xf2\x7b\x01\xa6\x56\x3c\xca\xd5\xf7\x8e\xf4\xb6\x0c\xad\x1c\x51\xf1\xe6\xca\xfe\xe0\xad\xd8\x77\xfc\x2a\x93\x3f\x9b\xd3\x83\x37\x4e\xea\x95\x0c\x73\xfb\x4f\xa3\x82\x14\x09\x6a\x93\x24\x80\x30\x60\xdb\xb1\xfb\xc1\x97\x2f\x1c\x0e\x91\x4e\x9c\x4b\x1d\x9f\x5d\xcf\xab\x92\x5d\x0d\x69\x5a\x3f\x3b\x1a\x3a\x77\x88\x81\xd9\xfe\x1f\x3c\x82\xc6\xf4\x87\xa7\xf5\xd3\xfa\x37\xd2\x86\xc3\xd2\x87\x95\x1f\xbc\xdf\xa6\xb4\xd9\xa8\x1f\x6e\x56\xee\x77\x6c\xe7\x7d\x44\xc5\xc9\x41\x84\x25\xfc\x79\x76\x8f\x98\x04\x88\x2b\x84\x77\x24\x2c\xc6\xc8\x58\x6c\x1b\x0f\x3e\xdd\x2f\x6a\xfd\x1d\x31\xc3\x27\x0f\x24\x59\xa7\x10\x46\x9d\x97\x0f\xf5\x5c\xfc\x83\x28\x08\xfd\xf8\xc8\x41\xd0\x83\xea\x5d\x78\xef\xc1\x69\xf1\x5a\x6b\x90\xb0\xe3\x24\x35\xa0\xec\x05\x55\xdc\x88\x88\x3f\x03\x5a\xaa\xb5\x4e\xfe\x03\x3a\x35\xdc\x5a\xbf\xbf\x01\x02\x43\xe6\x05\x27\x5a\xea\xdc\xa4\xca\x7d\x1f\x14\x77\xa1\xa7\xda\x7e\x48\x45\xe3\xde\x01\xad\x56\x4e\x27\xf3\x4f\x3a\xa9\x52\xc5\xfd\x18\xa8\x7c\x4a\x25\xac\x12\x14\xd8\xa1\x18\x02\xcc\xd4\x43\x2e\x5e\xe0\xb9\xc7\xda\x8e\xe5\x60\xcb\xda\x67\xcd\x90\x28\x33\x21\xb6\x8f\x61\x0d\x8c\x5b\x30\xc9\x98\x0e\x10\xc2\xbb\x00\x23\xa0\xa8\x63\x5d\x6a\xa1\xdb\x1b\x29\x98\x81\x60\x12\x1b\xef\xd2\x72\x73\x4a\x21\xa5\x2a\x6a\xb6\x05\x12\x13\x63\xf5\x08\x66\x60\x14\x94\xbd\x6f\xcb\x2b\xe6\x0d\xae\xef\xed\x1d\x19\x19\x1b\x3b\x6d\x78\xa8\xbc\xb8\x78\xff\x81\x20\xb5\x1c\x32\x3c\x73\xc6\x15\x35\xd5\xfa\x8e\x40\x83\x48\x54\xc2\x7d\x89\xaf\x5e\x8d\xe0\x50\x81\xc8\x3a\x15\x75\x7b\xfd\x1e\xac\x50\x27\xb5\xd7\xed\xd9\xf8\x2f\xb5\xba\xad\x3e\x3d\x0d\x7d\x08\x4a\x4b\x6f\xab\x9b\x95\x19\x0d\x61\x0a\xe5\xa9\xea\x58\x4e\xe6\xba\x2d\xe1\x04\xbe\x4b\xba\x03\x3b\x14\x78\x4c\x40\x40\x1d\xc1\xb6\x89\x94\x61\x1d\x8b\xf0\x2c\x04\xe2\x89\xc8\x11\xa8\xaa\xcc\x75\x5d\x1d\xcf\xba\xa9\x9d\x55\x2c\x59\xf6\x3b\x49\xed\x61\xd8\xcb\xaf\xac\x25\x16\x79\xcb\xc2\x5c\x09\x88\x1c\xc0\x23\xb9\x32\x22\xa0\x64\xb9\xc1\x11\x89\x61\x45\xde\xb5\x3e\x50\x95\x7e\xaf\x3f\x6e\xc5\xa0\x76\x5d\x77\x5a\xc4\xef\xcc\x59\xd7\xac\x02\xce\xef\x8e\xb1\xb0\xf0\x80\xb7\x61\x29\x88\xe6\xde\x33\x9d\x33\x74\x32\xd0\xf1\xe3\xef\x0f\xf7\xad\x54\xfe\xfd\xdb\xb7\x4d\x4e\xef\xf8\x36\x3d\xed\x9c\x3f\x43\xdd\xb9\xd3\xde\x90\x81\x07\x64\xff\x7d\x31\xf0\x19\x79\x22\x39\xf5\x67\x56\xe0\x15\x0e\xca\xcb\x9a\x21\x5a\x31\x03\xb1\x71\x7a\x26\xdf\x57\xba\xb1\x77\x95\x8d\x2d\x66\xa3\x52\x9c\x08\x84\x43\x7c\x4b\x0f\xc2\x3e\x1d\x0e\xc1\xfe\xa8\x27\xdf\x63\x77\x00\x41\x3f\x60\x36\x24\x2c\xd8\x7c\x43\xc3\x6b\xd9\x9d\xed\xe4\x30\xe9\x2d\x3e\x5c\xf7\x23\xa8\xcb\xbd\xc8\xf7\xc2\xd5\xef\x9f\xf4\x35\x4b\x1c\xef\xb0\x4c\x69\xd2\x54\x6f\x6d\xf1\xcc\x5c\x5b\xda\xa9\x4e\x4a\x58\x75\x8e\x7d\xea\x95\xb5\x07\xdb\xa1\x18\x92\x78\xfd\xc6\xc3\x5b\x40\x34\xab\x75\xab\x09\xab\x67\x86\xf7\xf7\xf2\xfb\xa1\x00\xe2\x40\xc0\x1d\x8b\xfc\x2b\xfa\x22\x80\x05\x93\x52\x2e\x13\x41\x53\x90\x54\x9b\x2b\xae\x07\x38\x53\x07\x80\x99\xb1\x33\x72\x0a\x50\x2c\x71\xdd\x95\x56\x5e\x84\x66\x05\xba\x00\xdd\xd3\x62\x99\xf6\xda\x9d\x5d\x64\x7c\x6b\xb0\x0a\x1a\x78\x74\x51\x0b\xdc\xc3\xa4\x3d\xa2\x13\x3a\xe2\x08\x04\x71\x43\x2f\xd1\xbe\xdf\x4b\xfa\x36\xe4\x39\x40\xce\x11\xcc\xa6\xb4\xff\x38\xdb\x83\x8d\x29\xaf\xe3\x36\x06\x6d\xd5\x6b\x8f\xcf\x8b\x1f\x85\x12\x7a\x7b\x89\x76\xfd\xb5\xb5\xc5\x43\x12\x0b\xeb\xed\x47\x13\xad\xfa\x1f\xd6\x76\xdb\xcc\xa0\x64\xf8\xbc\x85\x0d\x6c\x43\x11\x88\xc8\x87\xe7\x60\x97\x68\x16\x96\x95\x72\x80\xb1\xa4\xae\xfc\x00\x2e\xba\x53\xa7\x1e\x46\xdb\x6d\xee\xd8\xa5\x3e\x32\xed\x91\x88\xba\x95\x6e\xfc\x99\x5c\x8f\x79\x0a\x96\xbc\xd9\x33\xc3\x6b\xd8\x1a\x90\x34\x33\x62\x91\x3f\xef\x82\xec\x73\xcd\x4e\x6a\x97\x86\xe4\xe9\x87\xfa\x54\x85\x88\x12\x99\xe6\x25\xd2\x61\xbf\x29\xb4\xf9\xf6\x32\x9f\x10\xb2\x7d\x1e\x37\x0a\xfd\xba\xea\x20\x49\x94\x9d\xec\x0a\x7d\x41\x36\x6d\x85\x22\x6f\x27\x82\x69\x4c\x49\x8c\x1d\x9e\x49\x0f\x35\xf9\xbc\x79\xe0\x97\xe3\x3f\x00\x81\x84\x87\x81\x7c\xaf\xd6\x55\x65\x2d\x87\xd2\xa2\xcc\x68\x62\xeb\xe7\x3d\xcf\xaa\x06\x13\xdb\xb1\x5f\xd2\x02\x2a\x27\x80\x7b\x9d\x88\x10\x68\x9d\x1e\x33\x72\xbc\xea\xd0\x07\xb3\x79\x22\x3a\x96\x55\x40\x3e\xe7\x71\xc2\xdb\x7c\x4a\xd9\xff\x21\xec\xf9\xb5\x80\x95\xf6\xd7\x8e\xba\xef\x98\xed\xa7\xb4\x37\x32\x10\x5a\xce\x9d\xbc\xcd\x09\x5d\x82\x70\x1f\x1b\x25\x7d\x05\x8e\x19\x80\x2c\x72\x09\xe4\x54\x0f\x83\x96\xe5\xc4\x81\x65\xb3\x75\xda\x31\x27\x74\x0e\x84\xcc\x96\x58\xfb\x6d\xe4\xd9\xa9\x58\x24\x3a\x44\x6c\x3e\x80\x4f\xc5\xf2\xea\xea\x05\x1e\xf3\xfe\xed\x85\x4b\x58\x1d\x5b\x92\x3b\xb6\xf4\xe1\x84\x34\x45\xcb\x68\x21\xc8\x42\x41\xad\xcb\xdf\x6a\x17\xaf\x13\x5a\xc9\x3c\x7c\x3a\x66\xb1\x1b\xa1\xa2\x03\xac\x5e\x03\x8b\x4f\x9b\xef\x68\x35\xad\x80\x01\x61\x95\x20\xf5\xf0\xfc\x80\x84\xaf\xf9\x4b\xb2\x93\xa9\xbd\xe5\x84\x75\x1b\x90\x85\x9d\xa4\x2f\x62\x03\x7a\xac\x74\x9a\x80\x77\x7e\x9b\x38\x69\x24\xf9\xa8\x6f\x6f\xa3\xef\x74\xb2\x5e\x04\x33\x51\x3f\x72\xd5\xed\x4c\xcb\x8a\xcb\x66\xac\xf7\x6f\xcb\xcd\x08\x49\x0f\x6e\xcf\xf5\x48\xd8\x15\x99\xcd\x1d\x69\xd9\x71\x55\x67\x67\xea\x8d\xe5\x29\xd3\x87\xa6\x14\x69\x1e\xf5\x2d\x1a\x61\xab\xfd\x75\x69\xcc\xcb\x34\x2c\x61\x7b\x9e\x20\x6e\xbe\x59\x24\xb0\xb8\x9b\xf9\x48\xed\x6b\x4a\x19\x63\xd4\xce\x4a\x08\x01\x38\x40\x89\x74\x31\x41\x92\x79\x8f\xea\xfb\xa5\x38\xa3\x52\x51\xce\x29\x28\xe7\x0d\xc1\x71\x72\xfe\x3c\xb5\xc2\xe9\xab\x27\x54\xc4\xff\x94\x32\x51\x55\x45\xbe\xf3\x54\x88\xa8\x87\x14\xbf\x17\xa2\x0c\xd4\xab\x0a\x9e\xe9\xd2\x2a\x44\x3c\x21\x04\x94\x12\xe2\xa5\x98\x60\xf2\x94\xab\x05\xb9\x5d\x92\x30\x5e\xdf\xa2\x2b\x3d\xc7\xab\xf5\xaa\x49\x7c\x09\x5e\xbe\x12\x4f\xfd\x61\x78\xa3\xbb\x27\x97\xe3\x89\x44\xd0\x54\x53\x12\x52\x3c\x3d\x9e\x4f\x2b\x12\x5f\x2e\xc5\xcb\xe3\xa8\x8a\xb1\x07\xa3\x08\xb8\xbb\x64\xf5\x97\x27\xf2\xe5\x09\x74\x6c\xfc\x39\x89\xba\xa7\x65\x35\xa6\xe4\x2c\xc6\x99\x12\x4f\x76\x27\x07\x7a\x05\x7a\xb8\x7b\xc4\x53\xc2\x5d\xf2\x17\xaa\xa6\x78\xe3\x0b\xbd\x08\xaa\xdb\x6a\x0a\x44\x5d\x81\x1d\xc3\xa2\x4b\x71\x6f\x22\x0a\xa9\x8f\xa7\x4d\x7e\xab\x10\x13\x8a\xfe\x37\xf7\xf0\xbb\x2a\x00\x35\xd7\xaf\x08\xe5\xfc\xed\x16\x53\x85\x70\xb9\x45\x8d\xcb\xf1\x42\x3e\x57\x56\x2d\x4a\x28\xf2\xf4\xb8\x59\x57\x5a\x7e\x5d\xcf\x5e\xd5\x05\xcc\x6f\x1f\x50\xe5\x36\x7b\x0a\x9e\x5b\xa5\xc4\xe9\x3d\x3c\x6f\x7a\x11\x51\x0f\x25\x1e\xaf\xc1\x08\x67\x84\x66\x78\x0b\x19\xf7\x10\x8f\x07\x3e\x92\x05\xf2\x00\xdf\xca\xa4\xc3\x05\xc6\x94\xda\x97\x8b\xf2\x89\x3e\xfa\xa2\x19\xf9\x82\x1d\xe1\x21\xc1\xfe\x88\x43\x05\xb0\x2f\xe1\x39\x17\xa0\x99\x86\x6b\x79\xee\x79\x99\x72\xad\x4c\x2b\x3e\x3b\xa3\x9a\xca\x92\xb1\x98\xaf\xb5\x5b\xe3\x2f\xf0\xb1\xf8\x09\x05\xcf\x66\xf7\x6e\xeb\x90\x03\xda\x3e\xd1\x4f\x3c\x0b\x83\x31\xe8\x23\x14\x72\xc9\xca\x79\x17\xea\x77\x85\x00\x19\x37\x30\x22\x01\xa2\x90\x13\xd8\x61\xc1\x1a\x59\x4d\x80\xb8\x30\x7f\x49\x62\xbe\x38\x48\x5e\x2d\x72\xe4\x69\xad\x0d\x61\x0c\x05\x9b\xde\xb4\x42\x8c\xe2\x90\x00\x37\x91\x4e\x39\xb3\x21\xb5\xf8\x67\x49\x20\x32\xeb\x83\x04\x69\x4f\x42\x1f\xb9\xac\x0b\xba\x2a\x7b\xc8\xaa\x21\xbd\x26\xba\x46\xdc\x10\x73\xa8\xc1\x53\xa1\x9f\xef\xe1\xe8\x6d\x74\xd3\x2a\x56\xc6\xea\x91\x63\x68\x7c\xb5\x92\xca\xa2\x8c\x26\x10\x45\x3d\xa3\xad\x45\x04\x96\x2b\x82\xd3\x42\x4a\xa0\x26\x51\x22\x2f\x71\xc2\x64\x91\xe5\x22\x8b\x38\x59\x6e\xd9\xfd\xa3\xb6\x84\x80\x24\x9e\x3a\x10\xef\xef\x19\xa4\x8a\x57\x06\xbb\x7c\x0e\xa6\x38\x9d\x8b\x9a\x61\xc1\x25\x09\xe3\x46\x8e\x82\xe5\xa8\xeb\xd6\xee\x7e\xbd\x5c\xd7\xda\xd8\xea\x5c\xe3\x20\xca\x04\xb0\x05\x81\x07\x3d\x0f\xf6\xe9\xa1\x77\xc0\x8e\x16\xe5\xb8\x99\xe4\x22\xaa\xe4\x69\xaa\x34\xe0\xc8\x7d\x42\x95\xa9\x57\x33\x99\xdf\xac\xee\xe3\xee\x5b\x6f\x34\x59\x66\xb9\xcc\x22\x8b\x1d\xfe\xd2\xd2\x33\x31\x03\x44\x7f\x6f\xda\x94\xbd\xc0\x72\xc1\x5d\x43\x83\xaa\x84\x70\xcf\xbc\x41\x79\x6c\xb0\xa2\x6b\xc9\x37\x53\x20\x4c\xae\xcd\x6a\xc1\xaa\x0d\xf5\x40\xd9\x3e\xfd\xf9\x73\xfa\x25\xff\xf1\xea\x30\xdb\x29\x75\x11\xb5\x41\xba\x20\xdd\x39\xfd\x88\x2d\x5e\x7b\x1a\x23\x78\xf8\x2f\xa1\xde\xa6\x4c\x5b\x16\x60\xe2\x30\x2f\xad\x96\x28\x89\xdc\x3f\xc2\xa8\x59\xcd\x29\x86\xd8\x9b\x61\x0a\x8c\x77\x49\x7b\xe2\xad\x64\xcd\x64\x43\x08\x31\xaf\x95\xb6\xd9\xdd\xf8\xed\xda\x90\xda\x47\xf0\x8c\x64\x85\x12\x6a\x89\xbc\x3c\x96\xe3\x80\xf1\x1a\xf2\xa4\x52\xaf\xeb\x30\xf0\x2a\x65\x59\x43\xb1\x4e\x73\x49\x28\x7e\x2e\xe4\xb8\x11\x44\x3c\x81\x9f\x6f\x75\x0f\x77\xcf\xaa\x2f\xdb\x9f\x45\x50\x9b\x71\x02\xdc\xf7\x7b\x82\x0b\xdb\x63\xdb\x89\x58\x24\x36\x02\xe3\xe2\xeb\x1f\x13\xd0\x69\xdd\xe0\x8b\x45\x06\x00\xf3\xec\xf7\x98\x82\x3c\xa8\x2d\xb6\x8d\x80\xb5\x6f\xe5\x6d\x70\xef\x56\xf3\x17\x05\x74\x58\xd7\xfb\x62\xd1\x4b\xbd\xcd\xbb\xf9\x0e\x91\xa5\x17\x2f\xd5\x6d\x6a\x68\xf5\xe8\xa8\x6f\xa9\xe7\x32\x2c\x3b\x57\x9e\xcc\x81\xcc\x78\xbf\x49\x96\x67\xc6\xad\xd8\x8c\x39\x30\x73\xd9\xf4\x51\xf0\xa6\x4e\x13\x4f\xf2\x0c\xf7\x20\xa1\x48\x1e\x50\x04\xb2\x31\xe8\x98\xfe\x27\xbc\x01\x67\x4b\xa4\x2c\x2d\xc8\xde\xcc\x22\xf8\x7a\x32\xf1\xf3\xd7\x98\xda\x6d\xa5\xb4\x84\x71\x12\x0a\x5a\x89\x28\x45\x7a\x92\x51\x4e\x65\x96\x73\x44\xa4\x12\x11\x1c\xab\xa3\x3d\xd5\x86\x3b\xec\x07\x2c\x63\xab\x50\x98\x5f\x22\x62\x70\x79\xb1\x1e\x07\x49\x0c\x6b\x3c\xc6\x89\x74\x92\x2c\x5f\x82\xf0\x42\xa5\xa6\x8e\xea\x2d\xf7\x71\x92\x98\x97\x20\xa0\xec\xdc\x90\x2e\x98\x5f\xb6\x15\x06\xd3\xd6\xff\xaf\x68\x8b\x22\x7b\xd8\x18\xf9\x67\xf2\x47\xdb\x11\x6a\xae\xdd\xe7\x14\xe1\x79\x10\x06\xe1\xc2\x15\xad\x87\x3b\x21\x58\x8c\x3b\x8a\xc6\x1b\x83\xfc\x16\x43\x0a\x48\xa8\x92\x2a\x67\xf6\x72\x2d\x90\xfe\x3b\x32\x49\x3b\xb2\x81\xf0\x64\xe3\xfa\x54\x92\xd7\x58\xea\xc4\x25\x12\x5c\xdd\x66\x17\x54\xac\xf7\x07\x95\x9b\xc7\x9a\x52\x73\xa0\xdf\x6d\xf9\x10\xc7\x2d\xee\x2f\x2c\x8e\x1d\xcb\xc2\x3b\x55\xb0\xbd\x55\xb2\xdb\xdf\xf9\xb1\x10\xc4\x76\x2d\x7b\x85\xa7\x93\x3d\x95\x6e\x4f\x09\x39\x82\x00\x9d\xf2\x6b\x80\x1f\x11\x55\xae\xeb\x95\x90\x9d\xaa\xee\xe2\x93\x12\x1e\x04\xee\x8b\x12\xe1\xff\x28\xfa\x6e\x17\x64\x7a\xb6\x49\x69\xfe\x13\x0c\xfe\xc3\x50\x5f\xed\xad\x0d\xa6\x6b\xad\x90\x61\x8a\x15\xb7\x36\x64\x3e\x2a\x3b\x9f\xef\x02\x09\xda\xbb\xeb\x7b\x95\x56\xda\xe0\xd5\xfe\x71\xd0\xcd\x53\x82\x07\xfd\x1b\xea\x87\x02\x5b\x98\x42\xee\x4f\xef\x6c\x5d\x79\x57\x9e\xe9\x4d\x52\x5a\xc1\x24\x2e\xa9\xdd\x25\x98\x92\x9b\xf8\xaf\xa7\x71\x6a\x22\xb6\xcc\x99\xb1\xdd\x2e\xef\xdd\x39\x2a\xed\xb7\xab\xa7\x07\x14\xab\x9d\x48\x2a\xee\x3a\x9c\x48\xa8\xc9\x66\x63\xa1\x45\x70\xdf\xe6\x52\xb5\x96\x6f\xa5\xbe\xb9\x51\x23\x22\x68\xd5\xe2\x74\x4c\xc2\xc9\x5c\x97\x56\x97\x09\xb0\xa8\xc1\x4f\x66\xf5\xda\xe2\xda\xcf\xc0\x94\x7d\x05\x3d\x51\x5d\xaf\x9a\x4c\xbd\xa5\xf1\xbe\x48\xaf\x97\x7c\x9b\x3c\x6c\xe7\x98\x25\x8a\xcb\x43\xd3\x36\x07\x68\xff\x25\x60\x74\x34\xa8\x35\x7b\xdb\x29\xcf\x44\xbc\x17\x24\xef\x43\x9d\x82\xbd\x57\x32\x4d\x85\xb2\xea\xa0\x46\x97\x98\xcb\x44\x85\xab\x97\x70\x8e\x97\x98\xfe\x56\x49\x34\x65\x40\x94\x20\xb4\x0c\x89\xac\x47\x22\xf9\xc1\x9d\xc6\xc2\x05\x53\xb3\x5d\x7d\xb3\xa7\xdb\x85\xf3\x8d\x82\xf8\x96\x4d\xc8\x62\xe4\x46\xdc\x29\xbd\x4b\x74\xdd\xb8\xcf\x7f\x95\x1a\x9a\xb2\x99\x4d\x71\x39\x25\x71\x1b\x63\x2b\x8f\x8f\xa2\x39\xba\xb1\xba\xc0\x73\x66\xf8\x0a\xd1\xb6\xb2\x9c\xf9\xa6\x62\x18\x92\x21\x13\xf3\x74\x8a\x4f\x65\xad\x0d\xc9\x5e\x37\x75\x7c\xcf\x50\xad\xdc\xe3\x81\xfa\x90\x5e\x67\x2d\x6a\x12\xd1\x8a\x28\x42\x94\x09\x71\x0d\x05\x02\x37\xff\x7e\xc6\xd4\xc6\x10\x3f\x56\x5c\x78\x5d\xa2\x6f\x46\x86\x6f\x67\x26\x9e\x77\x35\x4f\xa7\xd6\x6f\xeb\x2c\x33\x95\xdb\xaa\x6c\x4c\x54\xfd\x9f\xd6\xc3\xb5\xdc\x19\x86\x4e\x6e\x05\xf9\x55\x60\x7a\xa7\x5c\x54\xe4\xec\xc3\xe4\x64\x1a\x91\xad\x53\xf4\xe9\xe9\x5c\xfa\xaf\x6b\xc6\xde\xfb\x2b\x5d\x28\x50\x58\x9c\xd1\xf1\x98\xf4\x78\x25\x32\x8a\xba\x5f\xca\xe5\x9e\x98\xe7\x32\x67\x40\xfe\x45\xc0\x9f\x97\xc9\x67\x86\xa4\x48\x6a\xbb\xcb\x74\xe9\x4d\xed\xfb\x0e\x89\x4d\x11\xea\x36\xf6\x46\x4e\xbe\x0d\xdb\x63\x5e\xba\xca\x05\xf0\xd9\xb2\xbc\xed\xad\xf2\x63\x91\xd5\xeb\xac\x7f\x2d\x4a\xe0\x44\xd4\x5f\xc7\x05\x2e\x2b\xf1\xa1\x4c\x51\x6c\x81\x4f\x91\x03\x08\xc2\x64\xe5\x00\x60\x75\x93\xbb\xa7\x1f\xbc\x3b\xa9\xe1\xd6\xa6\x55\xfd\x62\xed\x68\x98\x2b\xe8\x11\x7d\x4f\x90\x5d\xe6\xe6\xb3\xf1\xee\xc1\xf0\x13\x0e\xda\x89\xc3\xb5\x21\xcc\x19\x7f\x62\x68\x98\x09\xc5\xfc\xe2\x1f\xd3\x06\x12\x8e\xc7\x79\x32\x2f\xf6\x24\x7d\x2d\x34\x03\xbe\xad\x90\x2d\x02\x81\xf7\x12\xa8\xa2\xdb\x1c\x7d\x96\xe0\x19\x7c\x90\x7e\x5c\xc7\xcf\x2f\x6d\xe9\xda\x88\xcf\xb1\xc0\x04\x20\x5e\x84\x24\x32\x03\x9e\xcd\x94\xe2\x35\x23\xdc\xe7\xbe\xc0\x5c\x0f\x81\x50\x5c\x82\x6b\x58\xb3\xb4\x0e\x8c\xbf\x74\x78\x4d\xac\x29\xc6\x95\x14\x4f\x6c\x06\xc0\x29\x5e\xf8\x56\x39\x66\x2b\xfb\x14\x74\x73\x8d\x6a\xbc\x11\xda\xc8\xcb\x97\x23\x23\xf3\xf3\xae\xc2\x81\x78\xf5\xea\xd5\x3f\x67\xe1\x42\x1b\xe5\xff\x98\x50\x7c\xc1\x43\x76\x0d\xde\xb6\xb1\x13\x71\xd3\x3f\x2f\xb9\x26\xed\xb5\xd5\xfb\xca\xe8\x92\xec\x08\x79\x74\xbb\x67\x22\xb9\x67\x27\x5d\x11\xab\x4f\x49\x69\xf0\x57\xe9\x76\x64\x15\xec\x16\x8d\x2f\xbf\x1f\x9a\xf6\xcd\x6e\xdf\x10\xb0\xf2\xf1\x29\xd0\xf9\x30\xa4\xfb\xeb\x50\x23\x58\x32\x3f\xf9\x42\xc7\x86\xb3\x11\xa9\x29\x8b\x35\x0b\xe3\x93\x73\x62\xf2\x62\x7b\x74\xaa\x63\x86\x7a\x63\xce\x37\xfb\x55\xeb\x14\x41\x19\x1f\xfd\xd4\x92\x31\x29\x21\xa2\xd8\x28\xbd\x8d\x93\x91\x53\xf9\xce\xf1\x2c\x84\x17\x34\x90\xf2\x1f\xe4\x48\xf8\x43\x8e\x24\x6e\x70\x3f\x24\xc1\x3d\x82\xc7\x02\x69\x5b\x9e\xee\x7e\xc5\xd7\x89\xab\x9d\x0f\xb5\xa3\xc1\x59\x58\x96\x85\x03\xc4\x41\x23\x93\x5f\x30\x82\x16\x92\xa8\x8a\x96\x6a\x85\x25\x1d\x17\x23\x4a\xc9\xf3\x38\x5f\xa5\xbc\x99\x66\x2e\xe7\xef\xc4\xc8\xe1\x2d\xce\x8a\x5e\xc6\x2e\xe0\xd6\x27\x0a\x8c\x64\x75\xc1\xfe\xec\xe2\x83\xd0\x78\x08\x2c\x3d\x72\xff\xee\x9c\xb2\x23\x91\x65\xb1\x93\xb6\xa5\x81\xf2\x2a\x41\x5a\xcd\xca\xdd\x85\xc5\x13\x5b\x53\x2a\x6b\x0c\xa1\xf5\xb5\xc4\xec\xb4\x80\xf4\xe8\x48\x4e\xbd\x04\x17\x54\xb2\xb2\x25\xf9\x45\x9d\x84\x1d\x95\x16\xf9\x76\x8c\x41\x82\xe6\xc8\x63\x8a\x52\xdf\x59\x94\x36\x80\xe2\x00\x64\xeb\xcc\xbb\xab\x59\xdc\xb2\x01\xa5\x00\x1b\x14\x87\x0e\x02\xfc\xf4\xca\xef\x81\x1f\x8a\x8d\x47\x26\x07\xff\x19\x63\x03\x88\x3c\xe3\xf4\x6f\x9e\x97\x90\x26\xe2\x6c\xf3\x77\x75\x8c\xbd\x3f\x4c\x48\x5a\x94\xb3\x94\x6e\x9c\x8d\xab\x4d\x29\x44\x2f\xf3\x55\x9c\x71\xd6\xb2\x3b\xbf\x1b\xf6\xbc\x3b\xea\x0f\x05\x0d\x8f\xec\x8f\x8c\xee\x0c\xbc\xc6\xf6\x67\x1e\x8d\xb7\xb3\x11\x9b\xb8\xdd\x29\x01\xca\xd1\xdd\xa2\xaa\x9f\xa5\x8c\xff\xb9\xb7\x79\x0e\x77\x7c\x5e\x7e\x64\xdf\x6c\x03\xaf\x16\x26\xc9\xbe\x40\xe3\xe3\xc1\x53\x0a\x08\xfd\x6c\xd6\x87\x07\x17\x1c\x06\xc6\xce\x8d\x72\xb8\x53\x1e\xef\x5a\x1e\xb6\x2e\x62\x7e\x88\xeb\x0a\xc5\x10\x7e\x8e\x94\x65\x79\xf9\x79\x65\xbd\xe2\xbf\xc5\x66\xfa\x1f\x69\xfd\xb6\x89\x08\x53\x07\xdf\xd5\xc0\xd4\x91\x44\x54\xba\x95\x17\x9e\x95\x95\x4d\x15\xe2\x18\xc9\x00\x81\x4f\x25\xe5\x2c\x25\x11\x64\x2c\x7f\xee\x4c\xf4\x3d\xce\x42\xfd\xa9\x2d\x83\x82\x31\xea\x3b\x2c\x82\x8f\x7b\xea\x7d\x17\x84\x2c\xd2\x9c\xdc\x3d\xad\xbf\x73\x8f\xde\x6e\x8c\x89\x3d\xc7\xba\x4f\x49\x3b\xf6\x24\x7f\xaa\xee\xd2\x70\xf2\xed\xc2\x27\x69\x26\x6b\x8c\x1f\xdc\x37\xae\xd9\xfa\xbd\x47\x2e\xee\xf6\xb1\x12\xe6\xfd\x8d\xba\x0f\xdd\xf6\xcd\x74\xf4\x00\x14\x30\xea\x1b\x72\x05\xb5\xe8\x0d\x27\x1d\xad\xfc\x62\x5c\x39\x83\xaa\x72\x7f\x91\xdb\xee\x0d\x6c\x67\x6a\x4f\xdc\xda\x2d\x72\x0c\xdc\xfe\x92\x6c\xf1\x03\x63\x12\xc5\xec\x8b\xc3\x37\x69\x63\x6d\x2b\xd3\x21\x15\xab\x44\x97\x5d\xd5\xf4\x89\xce\x61\x31\x3d\xd1\xa4\x35\x71\x81\x8b\x6c\x06\x7f\x8e\x0f\xad\x0e\x6c\xef\xdb\x06\xd5\xa3\xa3\x25\x11\x95\x91\xb4\x1a\xd2\x91\xfd\x6a\xc4\x09\x47\xf7\x64\x54\x0a\xc2\x0f\x76\x02\x2f\xa3\xf4\xf9\x09\xf5\x88\x23\xf6\xec\x8f\x1f\xa9\xbd\x4e\xde\xbe\xd5\x5e\xc1\x0c\x78\x93\x9c\xec\x42\xae\x3a\xc6\xc1\xdc\x57\x18\xa9\xda\xbc\xc9\x8f\x08\x98\x1b\xa4\x45\xd1\x76\x52\x34\x71\xcf\x03\x55\x3d\x7a\x6a\x55\x64\x41\x52\x4b\x16\xd6\x5d\xe4\x95\xd0\xd4\x14\xef\xb9\x68\x6c\x21\xd5\x57\x99\x9f\xd8\x75\x42\xe8\xeb\xa2\x0d\x6d\x0f\x28\x63\x0f\xda\xe7\x27\x0a\x48\x02\x65\x8e\xa8\x74\xed\xdc\x15\x6f\x7b\x52\x96\x7d\x24\x6f\x45\x14\x62\xfb\xb1\x3f\x99\xc3\xd9\x15\x81\xcb\xac\xee\xa3\x41\xa1\x0f\x79\x15\xb3\x66\xdb\xfe\x9a\xb1\x43\x2f\xce\x9f\x9c\x7b\xdd\xd6\xb3\x75\x37\x7a\xe4\x92\x8f\x1d\x8f\x1a\x93\xd0\x58\x47\xb6\x76\xa1\xb2\xd5\xfe\xda\xdb\x2d\x57\x3e\xbf\xb9\xad\x5f\x7e\x99\x6b\xcf\xa3\x94\xc8\xf1\x8f\x88\x94\x94\xee\xbf\xaa\x76\xee\x72\xc8\x9b\x69\x82\x26\x21\xaf\x2a\x29\x81\xb3\x08\x1d\x72\x49\xf5\xec\xd2\x62\x40\xe5\xec\xaa\x96\x25\x4d\x35\xd0\x9d\x73\x93\x21\x4e\x9b\xbd\xeb\x3d\xd5\x33\x68\xc4\x25\x60\x81\x1d\x55\x33\x06\xb2\x8e\x8f\xf5\x79\x56\x7c\x0c\x8e\x8d\xe4\x70\x88\x0f\x08\xd3\x6b\x2c\x36\xae\xd6\xd5\xad\x8a\x5d\x2b\x7b\x13\xf6\xf4\xc6\x45\xce\x97\x5c\xc0\x13\xd4\x5e\xd9\xd3\x04\xca\xd6\x03\x79\x6e\xdb\x94\x2e\x2a\x1d\x51\x7a\x95\x4d\x4f\xb3\xf3\xd5\xbf\xff\xe9\x10\x44\xef\x11\xee\xdd\x27\xec\x54\x95\xff\x53\x5c\xa2\x30\x98\x57\x55\x27\x35\xfb\x94\xbe\x3a\x99\x23\xe1\x68\xce\x85\x41\x15\x25\xca\x45\x5a\xb7\xca\x9c\x35\x62\xb5\xd2\x9c\xab\x14\x36\x4d\x2e\xfb\x5e\x71\xe7\xd5\xed\xd3\xb6\xda\x58\xd7\xdb\x28\x92\xa6\x02\x31\x85\xa7\xd8\x5d\x6c\x87\xee\xd4\x28\x34\x17\x1c\xa2\xa7\x41\xd4\xe6\x98\xe2\x8d\xd2\xa2\xed\xdb\x8b\xc0\xc2\x02\x13\xad\x56\x58\x6b\x76\x29\x5e\xdb\x9a\xdc\x6e\x36\xe3\xab\x65\xa5\x08\x51\xa2\x7e\xee\x80\x71\x60\xeb\x61\x34\x45\xa4\x9b\x95\xad\xd4\xdb\x6c\x11\xd9\x5a\x7b\x21\x9e\xb3\xce\xde\x65\xa7\xd9\xb9\x10\x08\x0c\xc2\x52\xbb\x96\x66\x6d\xa5\x84\x77\xc5\xa1\x17\x7c\xb5\xf8\xda\x4e\xf6\x77\x00\x64\x61\x7b\x25\x51\xf4\x09\x63\x9f\x79\xd8\xd1\x67\x91\xfd\x52\xb3\x9e\xa0\x9c\xc5\x41\x39\x7a\xef\xa0\x58\xb5\x07\x42\x4e\x9e\x7c\x35\xf9\xd9\x91\xb3\x11\x87\x4f\x9c\xfb\x34\x39\x5f\x77\xec\x9c\xce\x39\xa5\xb5\x90\xa0\xaf\xbb\x10\x1c\x2e\x07\x99\xe8\xe5\xa2\xff\x66\xed\x6f\xfa\xb1\x28\xfb\x1b\x44\xdf\xe6\x99\x5c\x13\x03\x1c\x45\x50\x6c\x9d\x9c\x7e\x8b\x50\xbc\x84\xcb\xa2\x41\xab\x27\xa5\xf7\xc7\x8f\x6d\x9d\xb2\xa4\xc3\x20\x10\x7c\xc5\xd6\x29\xcc\x5d\xcb\x8d\x83\xda\x31\x8f\xdf\x3c\x7c\x60\x29\x7b\xd9\xed\xf8\x79\x3f\xcb\x4a\x3b\x7c\xc6\x93\xe5\x15\x3d\xed\xd8\xc8\x04\x7f\x4a\x37\xb6\xb1\x4d\xe5\xe5\xfd\x4d\x41\xbe\xbd\xef\x7e\x77\x65\xfb\x82\xa4\x8d\x48\xf8\xad\x62\x5e\xcd\xbe\x2b\xe6\xce\x34\xd8\xf7\x96\xf5\x54\x1b\xb3\xe2\x89\x31\x1a\xe7\xba\xb2\xd1\xb3\xea\x27\x5a\x4e\x57\x52\xa8\x66\x10\xc3\x1d\x5a\xa6\x78\xa9\x92\x0d\x52\xb7\xcd\x1e\xaf\x7d\x1e\x93\x08\xcc\xf7\xd4\xcd\x1e\xab\x45\xd7\xda\xa2\x75\x5e\xc0\xf7\xad\x7d\xdb\x0d\x99\xac\xb0\x17\xff\x3d\xd6\xbc\x33\xe4\xb1\x43\x41\xec\x6c\x43\x5c\xe3\xa3\x27\x45\x0e\xce\xa9\x29\xd7\x2e\x8b\x62\x2e\x2d\xfa\xc7\xf7\x47\x42\xfc\xb4\xee\x9c\xd8\x84\xf2\xee\x48\x41\x7c\x5a\x45\x87\x79\x8c\xcb\xad\xd3\x79\xf1\x48\xe7\xdc\x3a\xff\x0c\xfb\x24\x8d\x86\x13\x27\x8a\x58\x85\xf6\x76\x1f\xc9\x33\x26\xbb\x79\xf3\x02\x56\x51\x4a\x2f\xb9\xb9\xff\x9a\x49\x5e\xe9\xd3\xc5\xdb\x09\xea\x27\x34\x5a\xef\xff\x59\x5b\x19\x7d\x3e\xfc\xc4\x93\x6e\x16\x9f\x9c\xd8\xeb\xc4\xd1\xad\xe6\x19\xc5\xa3\x76\xe8\xab\xfe\x54\x6f\xe4\x77\x28\xf2\x6b\x78\xc7\x82\xd5\x20\xcf\xf2\xd4\xbf\xad\x5e\x67\x57\x7a\xdb\xbc\xb8\x72\xc6\x31\x6b\x0d\x7d\x50\x63\xf0\x2e\x66\xfa\xc5\x9d\xe9\xf6\x12\xfb\x4c\x40\xe4\xb7\x5e\x83\x2d\xdd\xd0\x37\xf0\x70\x6a\x84\x6f\xa9\xb1\xbb\x9c\x72\xcd\xa4\xf0\xfa\x44\xe2\xb6\xb4\x0b\x70\x70\x4b\x74\xf2\x81\xc2\x03\x72\x14\xfa\x8f\x55\x7d\xca\x24\x67\x6d\x4a\x74\x90\x41\x50\x83\xb4\xc3\x76\xad\xdd\xcb\x0c\x1c\x68\x13\x2a\xd9\xb2\xe5\xcd\x9b\x2d\xf7\xb5\xfd\x5a\xd0\x76\x26\xc5\x64\x48\xab\x6a\x7c\x34\xb7\x50\xc6\x0e\x39\xa0\xf3\xfb\xb1\xde\x3f\x5d\x5d\x7f\x7a\x05\x77\x1b\x18\xdb\xee\x02\x20\x11\x00\x80\x08\x1a\x77\xf8\xff\xa3\x4c\x9b\xe1\x0f\x07\x98\xc0\xda\x7a\xcd\x20\x7a\xc0\x85\xe9\x1e\xb8\xa0\xd0\xa9\x21\xd5\xf8\x2e\x05\x2b\x27\x2c\x7a\x9c\x62\x38\xfb\xee\x08\x83\xa7\x0f\x2a\xdf\xae\x24\x8b\xde\xea\x86\xce\x6a\xce\x86\x2c\x82\xb5\x37\xea\x62\x43\xe6\x85\x01\x15\xe3\xeb\x92\x6f\x9e\x2f\xda\xf7\x5d\xc1\x45\xac\x68\x2b\x1e\xba\x12\xb7\x23\x50\x4e\xaa\x19\xc8\x3a\x0d\x1f\xd2\xc7\x3c\x9f\x44\xe2\x53\x10\x5f\x53\x34\x10\x3b\x0e\xce\xd6\x4c\x47\x1f\xac\xae\x99\xdd\xef\xb3\xec\x56\x5f\xfd\x21\x47\xb3\xa9\x38\x97\x88\xca\x9c\x25\xb0\xf7\x02\x1d\xad\x67\x71\x5d\xb0\x77\x58\xb9\xdc\xc2\x1b\x18\x12\x5c\x7a\x0b\x5d\x88\x42\x97\x57\xb0\xfb\x0c\x87\xce\xbb\xd7\x7a\xfd\xec\x54\x53\xf9\x76\xa0\xf4\x6c\xd3\xca\xf0\xf0\xca\x10\x85\x86\x56\xb8\x2b\x23\xfa\x8a\xe1\xa1\x9c\xaa\xb5\xa7\xa5\x06\xb7\x02\xe6\x15\xfa\x1f\x0c\xf2\x4c\x20\xf4\x94\xbe\x15\xbe\x57\xff\xa7\xfe\xba\xcf\x9b\x3d\xdd\x75\x35\x0e\xd2\x66\x1e\x86\x5d\xea\x59\x3a\xdd\x35\x74\x67\x71\x38\x68\xc4\xa2\x29\xa3\xaa\xa1\xa8\x2b\xa9\xdb\x3c\x1e\x35\x64\xac\xb4\x50\xaf\x3a\x39\xdb\x3f\x74\x75\x6e\x24\xe1\xae\x7b\x60\x1c\xe7\xfb\x1e\x59\xac\x10\xab\xb4\x3f\x21\xc5\x26\x5d\xdc\xb3\x92\xdf\x70\xa3\x61\x81\x86\xbb\x52\xb2\x1c\x3c\xd4\xd2\xb1\xa5\x6e\x6b\x7d\xcb\x44\x70\x7a\x61\x77\x59\x81\xd6\x24\xd6\x7a\x15\xfa\x3a\xa1\xdf\x93\x89\x48\x19\x7a\xec\xe6\xd5\x11\x1b\x83\xef\xaf\x64\x59\x9c\x10\x47\x6a\xb1\x61\xef\x72\xcd\x3e\xf1\xef\xf7\x71\xcd\xb8\x45\x40\xca\xd8\x47\xe3\xac\x34\x8d\xde\x13\x9b\xbf\xda\x2b\xee\x80\xfc\xd4\xdb\xed\x93\x02\xb7\xf3\x35\x7c\xa8\xd9\x22\xc3\x45\x40\x9f\x9f\xe2\xe0\xcf\xe2\x38\x1f\xfd\x78\x8f\x79\x3e\xd7\xc1\x58\x03\x71\x49\xa7\xa6\x33\x25\xe5\x34\x26\x8d\x95\xc5\x55\x65\xd1\xa3\x78\x8c\xde\x9c\x2b\x1f\xd6\x1b\x56\x5b\x0a\x57\xb8\x0e\x3f\xd2\x24\xfe\x55\x8c\xa4\x8b\x99\x37\xa9\x8a\xec\x48\x9d\x95\xec\x90\x32\xb1\xdc\x98\xee\x6d\x0a\x87\x26\x1a\xe7\xae\x7b\x7d\xb4\x33\x03\xf1\x7d\x9d\xbd\xf7\x8c\xd7\xf5\xa2\x1d\x96\x60\x52\x07\x55\x05\xce\xd5\x3d\x7d\x69\x69\x2a\xf6\xa3\x22\x51\x3a\xb3\xeb\x2c\x20\x21\x38\xa9\xf3\xa0\x36\x8b\xdc\xa4\x50\xa5\x27\xe0\x54\x94\x73\xa4\xeb\xd6\x72\x76\x77\xa6\xac\x83\x4d\x12\x00\x44\x4b\x4f\x78\xef\xdb\xc9\x69\x6e\x4d\x82\x27\x5c\x57\xa7\xad\x09\x6d\x46\x93\x88\xd9\x66\x8a\x50\x82\xaa\x4f\xc4\x1c\x56\xa6\x0d\x09\xbb\xe6\x5c\x84\xb3\xd3\xca\x60\xbe\x0e\x95\xe3\x91\x13\x25\x7e\xf2\x4a\xc2\xf9\x4a\x76\x43\x6d\xa2\x38\x8f\x6b\x1d\x76\x39\xbd\x05\x45\x8a\xb7\x67\xdd\x66\x76\x9e\x47\xd9\xa1\xce\x77\x32\xef\xb1\x30\xf1\x24\xdb\x2d\xa7\x5c\xe6\xb4\xc6\x49\x98\x4d\x44\x37\x9c\x4f\x16\xdb\xba\xd2\xe3\xad\x72\x55\xfa\x0c\xca\x14\x3a\x51\xda\x83\x9b\x31\x3c\x3b\xd2\x09\x2d\xab\x98\xeb\x3a\x18\xe1\x7a\xeb\xaf\xfa\x5e\x25\xf1\x71\x90\xbc\x42\xbe\x5a\x4b\x8a\x51\x44\xeb\xe8\xc6\x7b\x05\xd2\x97\x96\x78\xc7\x6f\x65\x25\xb4\x2a\x70\x0c\xd7\x0e\x16\x37\x7c\xb5\x2d\x74\x3c\x5e\xdd\x78\xd8\xa3\xd0\x62\x54\xfe\xed\x2a\x6e\x0c\x95\xe5\x7d\xce\xdb\x99\x6f\xd0\xca\xcb\x9e\xd7\x28\xf3\xdd\x01\xef\xb4\xb2\x83\xa7\x04\xd7\xda\x5c\xb6\x9f\xa7\x5e\x28\xef\x1e\x5a\x6e\xc4\xd1\x33\xa0\x66\x82\xf1\xb1\x5a\xa4\x2c\x32\xcb\xed\x87\x3a\x83\xa7\xaf\xaa\x22\xba\x17\xd0\x6e\xbb\x40\x7b\xf3\xb6\xd5\x38\x2c\xa6\x2d\xa2\x5e\xb8\x9d\x77\x12\x51\xb3\xb7\x83\x52\x1e\xeb\x93\xe0\xed\xd0\x45\x7e\xa7\x7f\xea\xeb\x0b\x05\xc0\x27\x3e\xd1\x15\x40\x5e\x55\xb6\x3e\xff\x92\xdd\x57\x35\x0b\x80\xc0\x25\x33\x23\x58\x89\x35\xf4\x06\x22\xdf\xb6\xe7\xb8\xb5\xe8\x6d\x77\x7f\x0c\xae\xb7\xe8\x23\x2c\xe8\x7f\x2c\xb1\x43\xf5\x38\xe9\x96\x85\x9d\x57\x8e\xcf\x4f\x3d\xc4\xbb\xe2\x86\x18\xdc\x48\xf7\x1b\x37\xeb\xe3\x3d\xce\xb6\xc5\xcc\x1a\x3a\x2b\xd1\x0d\xe1\x93\x9e\x28\x4e\xe5\xac\x3c\xcd\xc2\x6e\x22\x5d\x3b\xd9\xac\xe1\x44\x0a\x0a\x0a\x2b\x87\x4d\x7d\x04\xb5\x59\x60\xd6\xe7\x2a\x4c\x10\x97\xe7\x76\x6c\x20\x00\x8b\x71\xc1\xaa\x87\x9e\x5a\x66\xa3\xfc\xb6\x75\x26\xad\xca\x2d\x7f\x98\xa3\x41\x38\xb3\x4d\xb2\xfb\xd4\xee\x80\xc0\x10\x1c\xb7\xe6\xea\xd6\xca\x36\x75\x0a\x74\x13\x10\x32\x69\x7b\xe6\x35\xf0\x95\xe2\xfe\x04\xc6\x6b\x10\xbe\x1c\xf7\xf9\x0d\x09\xc1\x76\x40\xbe\xbe\xe5\xd9\x4a\x67\x1d\x76\x3b\x31\x70\x68\xb7\x02\x04\x50\x02\x75\xda\x32\x5b\xeb\x70\x8c\x07\xbf\x43\x91\x95\x55\x6d\xa3\x97\x0a\xa9\x5e\x48\x85\xbf\x6e\xaa\x7c\x3a\xcc\x7d\xe5\xea\xf4\x4a\x08\x74\xa0\x1e\x38\xdd\xe1\x32\x45\x9e\xa4\xb0\x9e\x6c\x3d\xeb\x55\x2d\xbb\xd3\xad\x7d\xe8\xd5\xdb\x10\x93\x30\x15\x13\xe4\xc4\x73\xa9\x09\x2e\x3e\x51\xfd\x16\xa0\xa6\x1a\xcf\x78\xa7\xa0\x54\xae\xe6\x19\x16\x61\x37\x24\xee\x6d\x12\xfa\x7d\x1c\x89\x3b\x61\xc3\xbf\xff\x6d\x6b\x2e\xc4\x34\xd3\x1e\xdc\xe7\x37\xaa\xf1\xb6\x03\xb8\x4b\x74\xdd\x8b\x94\x42\xfb\x7b\xfc\x10\xde\xcf\x1f\xf3\x9e\xb9\x5a\x3d\xa3\x91\x7f\xfb\x2b\xf8\x49\xa1\x17\xfa\xa6\xe1\xe4\x97\xf7\x77\xf4\xfd\xe9\x93\x6f\x4e\xa9\x2e\xaf\x90\x52\xf1\x22\x6b\xae\x4f\x35\x68\xb2\xbc\x15\x61\xb9\xbd\x43\x95\x4b\x90\x30\x1b\x4f\xaf\x8a\xfd\x1f\x50\xab\x24\x84\x2f\xbb\x7b\x71\xcb\x75\x5b\xc1\x12\xd6\xc0\x5f\x66\xeb\x5f\x22\x2e\x90\x77\xe4\x79\x24\xec\x38\x29\x22\x6f\x58\x88\x3b\x33\xc0\x34\x5a\x27\xe4\xf2\x93\xa2\x47\x26\x9e\xac\xf4\x6f\xd9\xec\x35\x1b\xa0\xf2\x67\xc8\xac\x09\x5b\xe4\xed\x91\x82\x70\xae\x78\xa3\x24\x7e\x56\x6c\x59\x79\xd2\x3f\x41\x3a\xa7\x4f\x30\x4f\x2e\x3f\x49\x76\xc2\x7b\x05\xb1\xd7\x7e\x0c\x6c\x96\x7a\x5d\x25\xf2\xbe\xe0\x78\x81\xf9\xd5\xa4\xae\x31\x9f\x47\x32\xf5\xb2\x0d\xcd\xaf\x1e\xf7\x34\x60\x0b\x31\x77\xf9\xa1\xb3\xb9\x0f\x5e\xf8\x0e\xb1\x22\x42\xf6\x7e\xd9\xce\x3c\xd7\x8e\x6b\xd5\x68\xfa\x3a\xa5\xfb\xbf\x26\xf5\x39\x44\x83\xc9\x97\x1f\xfc\xd9\x40\x09\xf1\xba\x81\x49\xb8\xc8\xe2\x34\x3c\xec\x6c\x9c\x43\x22\xed\x60\xbf\xc8\x36\xe7\xfc\xa5\xc1\xde\x37\x16\xd0\x8b\x95\xec\xbd\x80\x7b\xef\x95\x85\xed\xa7\x3d\x56\x9f\x2b\xaf\x95\x0d\x60\x97\xe1\x54\x03\xf8\x7f\x0f\x55\x10\x30\xeb\x94\x8e\xa0\xb1\x73\x2a\x4f\xca\x8f\x1b\x12\xed\xbc\xb0\x74\x6a\x8d\xe1\xd4\x79\xe8\x32\x96\xcf\xa0\x8a\xc2\x7c\x2a\x05\x28\x54\x77\xd8\x6c\xa9\x64\xb6\xc5\x62\xe2\x6e\x51\x2f\xc8\xcb\x37\x5a\x5b\x9b\x69\x7d\x0f\x9a\x68\xc3\xad\x6d\x5e\x89\x9b\x57\xa3\x4c\xb6\x6d\xa7\x3f\xe4\x01\x2c\x2f\x6f\x6b\x6b\x02\x58\xc5\x46\x74\x06\xbb\x15\x02\x87\xb6\x13\xbb\xb1\x2b\x9d\x2d\xcf\xe4\x7b\x56\x9a\xaa\xba\x58\x37\x8c\x4e\x46\x64\x0c\xf7\x14\xfd\x17\xce\x33\x39\xc4\xc8\x91\x85\x56\xbd\xd1\x7b\x07\x5c\x8f\x14\xa8\x6f\xcc\x14\xac\x6f\x1f\xfd\xca\xfd\x97\x37\x2a\x0f\x1f\x3a\xc4\x5e\xcb\x2e\x66\x9d\xe2\x3d\x67\xf6\xa3\xad\x0a\x3b\x3a\x75\x50\x5b\xb0\x75\x9d\x2b\xcf\x5a\xea\xe5\x07\x50\x04\xc9\xee\xcf\xb8\xe5\x75\x7e\x28\x7b\x9c\xb9\xb4\xb7\xcb\xcd\xca\xfd\x9e\x08\x52\xa4\xfc\xee\xca\x91\xd0\xb3\x25\xa4\x3f\xce\x4c\xd8\xe1\x27\x6d\xa3\x4f\x23\x8d\xc8\x00\x1b\x38\xb4\x78\x0a\x80\xf4\x0f\x24\x1a\x4e\x3e\xc0\x7c\x92\xdf\x96\x5e\x1e\xb9\xaa\x1f\x79\x7e\x72\x07\xdb\x16\x89\x8f\xd7\xae\xdb\x99\x7c\xd6\x2c\x79\x2d\xae\x6e\xfb\xbf\x51\x11\xe9\xa0\xdf\x96\x42\xd3\x4e\xcf\x22\x6e\x0f\xf7\xfc\x06\x8d\x25\x3b\x54\x73\xd3\x03\x95\x11\x42\xd6\xad\x66\xec\x20\x3d\x33\xe8\x45\x58\x58\x99\x37\xa4\x57\x17\x0d\xf9\xc6\x73\x14\x09\xec\x94\xff\x12\x98\x69\x2a\x28\x2a\x2b\x22\x41\x43\x2e\xc2\xd5\xda\xa5\x18\xed\xb8\x2b\x9d\x3a\x8f\x82\x9f\xd3\x57\x52\x5e\x6d\x91\x53\x51\x4d\xc3\xc0\x9f\x18\x7a\x2b\x83\x0c\x2e\xa5\x20\xee\x73\x53\xda\xe6\x10\x21\xda\x46\x5d\xfe\xfb\x62\x5a\x78\x4c\xb7\x7d\x4e\xc8\xe2\x4e\x8f\x0a\x81\x01\x24\xeb\xd0\x70\x67\x76\x9d\x87\x45\x9e\x0c\xe9\x6d\x41\x7e\x44\xaf\x8c\x82\x50\x68\x23\xe3\xa2\x2e\xe4\x30\x6b\xb3\xc3\x0f\xc8\xe3\xb2\xa7\xc4\x6f\xe2\xb7\x6e\x8d\x7f\xf3\x3f\xef\xcd\xd6\xad\x6c\xff\x0f\x8d\x89\x2f\x15\x4f\x78\xbf\xf9\x24\x5d\x93\x0c\xd7\x4c\xa2\x60\x1a\x2e\x5c\x28\xa6\x50\x00\x82\x2b\x3a\x72\x6a\x7b\xd4\x78\x7d\x63\x4f\xfa\xee\xeb\xfd\x23\x56\x20\xa2\x06\xfb\x1d\xcc\xa5\x29\x9d\x3a\x0c\xcf\xee\x66\xa0\x9e\xa8\x28\xc3\xbd\xf2\x51\x1e\xea\xf0\x20\x1c\xf4\xc7\x80\xde\x2a\xa9\xca\x5b\xc3\xd5\xb5\x9f\x92\xac\xe1\x7e\xc4\x2d\x60\x68\xf8\xc0\x31\x29\x3a\xbf\x88\xc3\x05\x86\xd2\x99\x9c\x18\xb7\xc2\x6e\x0f\x40\x2d\xc8\xce\xdd\x81\xda\x27\x3e\x63\x13\x28\xb2\x9f\xf1\xef\xcf\x3e\x2c\xa6\xa9\xb1\x91\x55\x30\x8e\x2e\x51\x9f\xee\xaf\x7f\xee\xdb\x2f\x8c\xa4\x73\x55\x2a\xb6\x6b\xa2\xde\x91\x52\x31\x26\x26\x3b\x7b\x9c\x3d\x3c\xa4\x1e\x09\x51\x01\xa5\x16\xb5\x90\x64\xc3\x85\x52\x15\x18\x25\xa4\x95\x1d\xa5\xb1\x52\xaf\x09\xc0\xa4\xbd\xc5\xe2\xa7\x46\x40\x22\x12\x89\xce\xf8\x7a\x86\x86\x45\x47\x31\xe3\x4d\xeb\x7d\x3c\x2a\x3a\x51\xdf\x15\x35\x09\x83\xd5\x7a\x57\x9a\xc1\xa3\x0b\xd5\x9f\xa8\x90\xf8\x44\x16\x8b\x0e\xd7\x4b\x6a\x7e\x1f\xdc\x07\x5f\xbe\xf0\xff\x1f\x0c\x1e\xf3\xcf\xff\x0c\x81\xc2\x5b\x23\xa9\xd7\xc7\xcc\xe1\x10\xbc\x5a\x06\xb7\xee\xda\x2f\xc0\x84\x10\x39\x58\x4d\x46\x9d\xa8\xdb\x87\x7b\x12\xe0\xc1\xdc\x37\xf2\xfe\x1e\x02\xc8\x99\x90\xb1\x9c\xda\xa9\xe4\xf4\xcf\xe2\x1b\xb7\x2b\x8a\x05\x68\x86\xb3\xc3\xc3\xff\x73\x44\x66\x21\x21\x2f\xd7\xc5\xda\x79\xc6\xd9\x0b\x7b\xdc\xb8\xf4\xd0\x3d\xf5\xee\x67\x30\x3c\x89\x15\xcc\xef\x29\xe5\x38\xa0\x34\xb0\x07\x54\xec\x4d\xca\xa6\x7a\x6a\xb7\x5e\x4b\x22\x19\xc3\x7f\x03\xe2\x24\x4c\x9f\x2b\xca\xdc\x8f\xbf\x21\x5e\xa5\x86\x5c\x2a\x92\xfc\x64\x25\x5c\xc1\xff\x25\x1e\xa0\x8a\x4e\xb9\x18\xcc\x73\xbb\xe4\xc6\x24\x84\xcd\xcb\xf8\x5a\x1b\x96\x94\x3a\xcb\xbc\x18\x04\x8d\x86\x26\x85\x2c\x13\xc0\x74\x0c\x27\x55\xdc\x7d\x94\x7e\xb4\x23\xce\xce\xe2\x0a\xbd\x5c\x11\xe8\xb2\xe9\x80\xf4\xc9\x9d\xb8\x8c\x2f\x21\x2d\xec\x6d\x59\xc2\x56\xf3\x42\x2d\x45\x69\x38\xc9\xb7\x39\xac\xd0\xc9\x32\x3c\xc7\xc8\x53\x7e\x4e\x09\x4b\xdb\xa9\xc4\x70\xd3\x27\x87\xc3\x82\xa0\x87\x07\x80\x2a\x91\x15\xd6\x9c\xd6\x77\x63\x57\x46\xdf\xf6\x63\xa7\x1e\xa8\x9e\x4b\x3f\xc2\x5a\x41\x4a\x10\xd9\xc6\xba\xa5\x70\x37\xd4\xb7\xbc\xf3\x62\x20\xd1\x69\x87\xf8\xf6\xcb\x4b\x4c\xd2\x60\x5d\xc7\xeb\x67\xc9\x8e\x70\x24\x6c\x29\x87\x71\xfc\x0b\xb9\xa2\xc1\xb1\xd2\x8d\x56\xb1\x42\x1f\xa6\x43\x8f\x2a\x63\xef\x80\xfc\x4b\xaf\x69\x72\x7a\x7f\x21\x91\x33\xe8\xda\x87\xb6\x1c\xb6\xb3\x7c\x30\xe3\xdf\x46\xb3\x8a\x0d\x60\xf4\x07\x5a\x9b\x42\x04\x99\x51\x5e\x9e\xf6\x7a\x7d\x22\x21\xd5\xa9\x4d\x8f\xae\xf8\x72\x22\x0b\xbf\x5b\xde\x19\x52\xb2\x8c\x1a\xef\x91\xc0\x4d\x3f\xed\xc7\xf0\x0f\x86\xb8\x20\x13\xbd\x1f\x37\x96\xec\x0b\xe1\x09\x87\x64\x4c\x64\x1c\x48\x2b\x58\xd3\xe9\xf7\x54\x70\x9d\xbb\xb6\xf5\x97\x1f\x3b\x9d\x8c\xdf\xbb\x57\xb5\xcf\xcf\xdb\x33\x8f\x86\x6b\x3e\x6a\xfa\xa7\x57\x5d\xa0\x5b\xf7\x05\x01\xfa\xd1\x82\x97\x51\x54\x7e\xf8\x07\x37\x39\xb5\x45\x9d\x3c\x9b\x72\x05\x95\xa3\xa3\x6a\x4f\x02\x3e\xc2\x33\xaf\x53\xd1\xa7\x8a\x42\x30\x8f\x6e\x2b\xf9\x0f\x5c\x71\xc4\x5c\x58\x68\x1d\xc0\x3b\x65\x64\x91\x87\xe0\x49\xe6\x78\xf6\xe5\x36\xe5\x3e\xf1\xa7\x20\xa1\xa1\x58\x43\xa7\xfd\xa0\x56\x1d\x72\x01\x93\x70\x4e\xa6\x46\xaf\x13\x95\x4b\xef\x7c\x39\x39\x51\x50\xe7\x98\xf6\x1a\x62\x61\x2d\xfd\x7e\x0a\x24\x15\x02\x91\x47\x16\x6e\x58\x90\x80\x3f\x3a\x61\x2e\x70\x01\x66\x2e\x1f\x1e\x02\x0b\x21\xc2\xae\x43\xe1\x66\x88\x00\x84\xdf\x84\x5a\x0f\x24\xf9\xdc\xef\x80\xfa\xbe\x17\x0a\xea\xe1\xd6\xdd\x9e\x5c\xd8\x89\x6a\xb6\xb4\xab\x8d\x72\x76\xd2\x62\x9b\x31\xfa\xe4\xc0\x46\x34\x0b\x0a\x25\x42\x20\x10\x08\x1f\xb9\x42\x0d\x6b\x22\xbd\x72\xb2\x2c\x1d\x24\xa7\xf4\x24\xec\xc9\xfd\x5c\x89\x37\x4b\x95\xad\x35\xde\x73\xf7\xf3\x6e\x5f\xc4\x0c\xbe\xd1\x2b\xf5\xf5\xb1\xa3\x15\x76\xb5\xbd\xa7\x20\x8a\xf2\x50\x24\x92\xcf\xa9\x33\xcc\x2f\xa1\xa5\x18\x78\xbe\x1d\x3e\x4a\x82\x86\x61\x77\x2f\xcb\xf2\x54\xce\x69\xbb\x58\xea\x86\x46\x91\x4e\xad\x87\x29\x40\x1f\xd7\xcc\x1e\x1e\xd4\x85\x41\xfc\xa1\x02\xf5\xa4\x4b\x24\x72\x3e\xfa\x47\xd7\x6e\x63\x09\x51\xee\x52\x5d\x0d\xa1\xbf\x5d\x65\x5c\x15\x43\x20\x10\x77\x10\x5e\xea\xca\xba\xcd\x00\xf0\x91\x9e\xaf\x57\x36\xde\xaa\x7d\x4c\x42\x7c\xf9\xe8\xd2\xb1\x99\xa8\xb3\x36\x31\xf3\x9d\x52\x0c\x0d\xb4\xd1\x70\x6e\x3d\x92\x87\x0c\x1d\x0c\x62\x10\x94\x1d\x3e\x40\x6b\x06\xb3\xfe\x16\x44\xb6\x52\xd7\xd7\xc6\x8c\x42\x0c\xc0\x3c\x64\xeb\x16\x44\xcc\x4f\x4b\x9d\xe7\xde\x67\x7a\x4a\xeb\x32\x85\x6d\x6f\x05\xbf\xdd\x7a\x4d\x6e\x05\x45\xe7\x7d\x45\x4b\x47\xc0\x57\x94\xe4\xb7\x94\x48\xa1\x43\x83\x09\x69\xa7\xa2\xf3\x33\xb3\xb5\x05\x3c\x05\x49\x3e\xed\x4d\x19\x51\xfb\x81\x9b\x82\x6e\x85\x68\xe0\xee\xa9\x1e\x35\xeb\x30\xad\x16\x71\x62\x39\x6a\x0b\x43\x5f\xc0\x7e\x50\xea\x6f\xd6\xf5\xf0\x61\xad\x99\xca\x80\xc0\x31\xf0\x94\x3e\x62\xd7\xa9\x8a\x91\xd3\xdc\x69\xd6\x76\x86\xff\x9b\x36\x33\x19\x75\x5f\x08\x9c\xc9\x3b\x66\x6a\x1e\x03\xb8\x2f\x31\x27\x79\xb0\x19\x39\xb7\x44\x38\x9b\x61\xd1\x20\x05\xad\xba\x6e\x2b\x16\x2e\x5a\xc0\xf2\x18\x66\x71\xff\xb9\x3e\xc1\x5a\x0e\xcc\xc3\xf3\x54\x90\x9a\x16\xce\x9f\xce\xac\x04\xf5\x73\x36\xa7\xea\xe9\xcb\x1a\x0d\xd7\xee\x1f\xed\xa0\x77\xa3\x56\x0c\x1f\xac\x40\x29\xf8\xc1\xea\x08\x81\xf6\xe0\x77\x17\x31\xa8\x11\xfe\xbb\xb3\x60\xd2\x68\xef\x09\x03\xa6\x7c\x5a\x77\xb2\x90\x8b\xaa\x86\xf7\x55\xb3\xff\x69\xf3\xb7\x0f\x1e\x61\xae\x7f\x7b\xf8\x5d\xe7\xb2\xfe\x22\xaa\x97\x10\x35\x0b\x88\x58\xf7\x20\xaf\x4d\xf7\xa1\x44\x58\x66\x6c\x7c\x36\xcf\x62\xa6\xc9\x33\xcf\xd2\x5a\x1f\x3d\x63\xa1\x64\xf8\xc7\x86\x2f\xc0\xe2\x62\x57\x4f\xfc\xd0\xc5\xe2\xda\x67\x16\xc4\x4c\x20\x15\x0b\x0c\xd8\xc3\x81\x5e\xb0\x0c\x7e\xd0\x87\x6f\x94\x3b\x4c\x78\x9f\xd4\x30\x65\xb7\x5f\x08\xca\x5a\x9a\x92\x2c\x99\x90\xbb\x43\xc3\xb5\xdd\xb7\x25\xf7\x22\x98\xc4\x08\x87\xb9\x11\x28\x1b\x7b\xc1\x16\x9a\xcc\x3e\xd4\xed\x39\x82\x36\x07\x3f\xc2\xc1\x83\x04\xa5\x03\x98\xbc\x05\xfc\xfb\xef\x85\xe9\x43\x87\x8e\x60\x06\x19\x19\x2f\x87\xa0\xc6\x7d\xbd\x47\xd7\x28\x10\x01\x06\x3f\x04\xa4\x00\x11\x94\x0c\x9a\x5a\x69\xb4\x17\x09\xb9\x36\xfd\x6d\xfd\xf2\xb9\x09\x76\x7b\x4c\xaf\xc7\x33\xec\x5a\xab\x5b\x61\xa3\x90\x78\xb7\xca\xd9\xfa\x27\xb0\x39\x36\x12\x21\xa7\xb4\x31\xb6\x32\xb1\x17\x27\xe9\x70\xbd\xc0\xc8\xcd\xa5\xe6\x5b\xa4\xcb\x94\xc6\x1e\x29\xcd\x29\xb1\x4c\x40\xc6\x99\x56\x7e\x2b\x72\x98\x9e\xae\x32\x9f\xd5\xca\x91\x07\x6b\x6b\x83\xb5\x39\xf2\x03\x5a\xed\xe6\x09\x30\x4e\x47\xbb\x85\x86\xcb\x32\x83\x35\x72\xd9\x61\x51\x4a\x16\x0b\x0e\xc3\x23\xce\xfd\x7f\x2b\x8e\x16\x5a\xc1\x2c\xaa\x4f\xa8\xe9\xcf\x68\xed\x4f\x0d\xe8\x3a\xfa\x1a\xd6\x58\x15\x07\x3d\x60\xa7\x4f\xbf\xe6\x30\x88\xc1\x0c\x8e\x14\xdf\x8b\x1c\x1c\x8c\xbc\x57\x3c\xf2\x4e\x1d\xcc\x3b\xc0\xca\x7b\x5b\xb3\xbe\x1e\x9c\xfc\x1c\xd3\x65\x30\xc5\x5e\xb7\x47\xe7\xc8\xce\xdd\xac\xc0\x2d\x7b\x0c\x3a\xbe\x26\x1c\xdc\x96\xf5\x56\xa1\x16\x19\x4f\x1e\x3d\x74\x5d\x86\xf3\xbc\xb5\xc7\xd1\xf6\x34\xc6\x8f\x4b\x46\x7d\x31\x51\xac\x57\x01\x50\xca\x79\xe2\x13\x40\x4f\xa5\x7e\x6b\xf7\xf1\xa6\x5b\xef\x2b\x81\xb9\x63\x9f\x11\x0c\x04\xc0\x14\x44\x99\xc6\xca\xf7\xb7\xde\x40\xf9\x8d\x6b\x2c\xbf\x15\x55\x42\xd4\x23\xc5\xb1\x26\xd6\x72\x43\x8c\xb8\x65\xd6\x2c\xe4\x2f\x61\x74\x5b\x10\x58\x4f\x64\xeb\xd4\x9a\x7b\x2d\xfe\x40\xf2\x61\x0b\xa4\x14\x19\x69\x60\x20\x51\xee\xbc\x2f\xb0\x0d\xa2\x06\xa9\x42\x82\x58\xee\x18\x49\xf5\x48\x55\x88\x2c\x7d\xa3\xc8\xa4\x5d\xb4\x0b\x4f\x79\xaa\x2c\xae\xaa\xde\xed\xf4\xb9\x1b\x74\x47\x64\x08\x14\xb7\x8a\x9f\x2e\x40\xe7\x87\xeb\xbe\x84\x8c\xac\x00\xf6\x7d\xef\xdb\x80\xf9\xee\x1a\xc7\x0f\x39\x53\xad\x55\x12\xaf\x57\x00\x81\x21\x4f\xca\x1a\xa2\xd2\x95\xa4\xe9\x60\x68\xc0\xba\x3f\x9b\x2f\x98\x3d\x9f\xa4\xf3\x0a\x20\xf0\x6f\xc7\xf9\x22\xf7\x99\x1a\x06\x8f\x3a\x38\x82\xf8\x41\x36\x02\x56\x4b\xc6\x23\xa6\x91\x58\xae\x1f\xb6\x88\xa0\x89\x49\x71\xf4\x71\x8f\x4b\x85\x8e\xed\xdc\x79\x2c\xd1\xb8\x83\x3a\x5e\x50\x41\x75\x10\x7e\xdf\xdd\xf2\x5b\xb0\x01\xb9\x35\xa0\x80\xdf\x3c\x8b\x60\x64\x91\x99\x6c\x32\x75\xd8\xda\x1d\xff\x76\x0d\x36\x9d\x35\x62\xd2\xfd\x0b\x99\xc7\xad\xad\xb0\x81\x4b\xd3\xf7\x76\xeb\xfc\xed\xd1\x16\x8f\x6f\x0b\x88\x80\x8a\xae\xcb\x0d\x9d\x6f\x13\xa3\x99\x0a\x49\xd1\x90\xa5\x38\x10\x8a\xe8\x10\x30\x8a\xe8\xc8\x4d\x8c\xfc\xf9\xed\x09\x7f\x53\x7f\xc9\xd8\x17\x12\x4e\x1f\xf6\xfc\x05\x96\xd4\x26\x51\xfd\x25\xc2\xc2\xd9\xf8\xb6\xb6\x78\x5b\x1e\x22\xba\xa5\x3a\x86\x76\xcb\x45\x08\x62\x0e\x4a\xda\x93\xf5\x30\x90\x94\x4b\x22\x90\x60\xe4\x47\x7f\x5e\xba\xa4\xe0\x21\xf1\xdc\xbe\xf5\x14\x33\x23\x47\xb2\xcc\xc7\xfd\x8b\x57\x54\xa0\x62\xf8\x41\xc3\xbd\x27\x9a\xf2\xf8\xef\x34\x14\x49\xce\xc3\x49\x6f\xbe\xa1\x35\xf5\x4b\x40\xb3\x64\x29\xc6\xbb\xa2\x48\x39\x65\x57\x1a\x99\x60\x9c\xa3\x70\x92\x5b\xcb\xf1\x27\x3a\xed\xf1\x71\xce\x5c\x7d\xde\x01\x8e\xc7\x34\x3d\xee\xb0\x40\x44\x37\x7f\xe0\x5a\xc0\xf3\x13\x99\x77\xb6\x16\x59\x35\xe5\xe6\x9e\xde\xe9\x1b\x30\x14\x36\x93\xff\xbe\xd3\x98\xcd\xea\xd0\x92\x81\x20\xb4\x2a\x29\x03\xb3\xe8\xec\x80\xf3\x7a\xb7\x47\x16\xea\x53\x3c\x01\x2e\x46\x39\x22\xe7\xe0\x43\x61\xce\x21\x7a\x84\xae\xa3\x8a\x5b\xbe\x7e\xc5\x50\x3e\x9a\x92\xdd\xb4\x63\x03\x91\xd8\x5a\x42\xff\x8f\x62\xcc\x34\x6c\x1e\x10\xc2\x92\xd9\x9f\xe3\xdd\x73\x9f\x9d\xeb\x9b\xd4\xb3\xdc\xbb\x59\x89\x16\xa7\x81\x6a\x28\x4a\x95\xb4\xd5\x9c\x1b\xb2\x3a\x88\x71\x5a\x6f\x25\x39\x22\x20\x8c\x15\x9f\xc9\xe2\x85\x5d\x63\x2c\x3a\xb7\x5a\x72\x15\xf4\xa0\x50\x41\x3c\xd3\x05\x40\x70\x11\xc4\x2f\x8e\x22\xfb\x9c\xc6\xd4\x0d\x9f\x8f\x67\xcb\x5d\xbf\x5b\x75\x11\xb3\x6f\xc5\x57\x9c\x28\xbe\x41\xc7\xb8\x33\x61\x49\x83\x4c\x1c\x2f\xb1\x08\x8f\x29\x5e\x6a\xc1\x8b\x5f\x13\xd9\xee\x73\x13\x93\xc7\x3b\x91\x5f\x13\x22\xfe\x80\xad\xd5\x14\x4b\x95\x59\xb5\x09\x09\x6d\x11\xc4\x84\x9a\x22\xb8\x6f\x6a\xe9\xcd\x3d\x31\x48\xf6\x9e\x66\xc6\xce\xa4\x3b\x46\x20\xcf\xd9\x0d\x55\x5c\x56\x3e\xb3\xf0\x1f\x7b\xc0\xc5\x39\x59\x63\x36\x4a\x9c\x3f\x78\xde\xcc\x80\x57\xf3\x30\x4d\x2d\xab\xa5\x37\xd2\x1a\x1f\xd8\x99\x9e\xa2\xee\x48\x72\x56\xa8\x32\x0a\xb7\x91\x14\x1d\x49\xea\xb4\xee\x3c\xfb\xe0\x08\xeb\xe2\xe6\x28\xb7\xdc\xe6\xb9\x15\x06\xed\x0f\x9c\x0d\x35\x75\x79\x77\x6a\x42\x74\x85\xcb\xff\xe5\x1c\x8a\x06\x41\x91\xb0\xaf\xd6\x8f\x6f\x17\x0f\x86\xf5\x5c\x65\x1b\x33\x59\xe1\x8e\xfa\xb5\x4c\x5c\xee\xca\xba\x6b\x6c\x23\x73\xff\x73\xd0\xcb\x7f\x94\x0e\xcb\xaf\xcc\x1b\x14\x47\x13\x0e\xe8\x62\xff\x2f\x6b\xe6\xd0\xc4\x42\x5a\x30\x96\xf2\x72\x15\xce\x44\xb9\x68\x85\x44\xd8\x1a\x71\x39\xe1\xfe\x57\xeb\xf3\x9f\xd2\x7a\xb3\x43\x1d\x8c\x1d\x38\x20\x40\xac\xc9\x13\x00\xd3\x43\x17\xea\x05\x34\x91\x84\xb6\xe2\x9c\xf1\x15\x8a\x2e\x37\xa3\xc2\x55\x9b\x7b\x5f\xa7\x5c\xd1\x10\x80\x8f\x5f\x7d\x23\x21\x7c\x7a\x94\x28\x31\x32\xb8\x4f\x87\x8f\x9d\xaf\x04\xba\xb1\x64\xd9\x40\xfa\x43\x3f\xf9\x78\x37\xee\x0b\x4e\x2e\x3f\x79\x93\x6a\x76\x47\x43\xf4\xfd\x02\xe5\xd2\x8c\x8a\xb9\x22\x05\xfb\xca\x9a\x14\x59\xbc\x6c\x43\xaa\x60\xbd\x86\xc8\x32\xeb\x27\x25\x12\xc6\xf7\xec\x80\x62\x5b\x69\xdc\xab\x36\x87\x89\xe9\x68\x4c\x46\x92\x0a\xad\x19\x48\x4f\x5d\xbd\xfe\x84\x86\xde\xe7\xa3\x0d\x8d\x4d\x15\x9d\xe1\xee\x22\xdb\xdc\x55\xed\xd2\x31\x9f\x50\xe0\xd5\x0a\x0f\x5b\x10\xf2\x1e\xb9\x8d\x39\xaf\xb2\xa4\xc8\x13\x06\xfb\xfd\x96\xd2\xc2\x58\xac\x9d\x0d\x14\xb9\x7c\x55\xee\xaf\xb5\xea\xc3\x42\xd8\xf1\xb9\x1c\x89\xe9\x20\x53\x7e\x7a\x7c\x2e\xc2\x34\xfc\xd3\xef\x54\x50\xbe\x83\x7b\x2e\xf5\xa5\x62\x39\x8e\x70\xde\x79\xcc\x2d\xbe\x7e\x00\x5e\x7a\xac\xb3\x0a\xfa\x5c\xfa\xd6\x40\x15\x4a\xa8\xca\x58\x60\x6e\xee\x62\x10\x44\x57\x70\x6b\x0e\x39\x5f\x63\x2c\x1a\x3a\xb1\x32\xe3\x59\x61\x01\x11\x88\xca\x46\xce\xbc\xd2\xa6\xd7\xad\x14\x62\xd4\x31\xba\xfa\xf6\x44\x4c\x63\xf6\x61\xf5\x75\x22\xd2\x9d\x54\xe9\x54\x0c\x93\x37\x2b\x6f\x76\xfd\x04\x7a\xa0\x1f\xd3\x80\xc6\xa3\x0c\x3c\x8e\x6e\xcb\x73\x69\x44\x77\x1e\xd9\xa1\x2f\xb3\xc5\xa3\x07\xc3\xfa\x9b\xb1\xf0\xd5\x13\x33\x6d\x57\x2e\xc9\x7b\x32\x2b\x07\xd8\xa7\xac\xee\xcb\x74\x92\x17\x62\xf0\x80\x95\xc5\x4a\x9d\x82\x04\x96\x63\xd7\x0b\x04\x22\xea\xbd\xcb\x05\x39\x0b\xc5\xce\xc3\xe4\xca\x93\x19\x9b\xa2\xf3\x0b\xb9\xd3\x38\xe3\x6c\xc9\xad\x40\xb5\x9c\xd1\xa4\xcc\xa4\x25\xae\x3e\x69\xf0\xeb\x16\xfa\x8e\x05\xa7\x4f\x17\xe0\xf4\x01\x02\xc7\xc0\x81\xde\xd9\xdf\x14\xf6\x7e\x97\xd9\x7d\x24\xb9\xe8\xfa\x66\x7d\x65\xa6\xf3\xe7\x5d\xa6\xd4\xb7\x0e\xbb\xef\x39\x93\xa4\x39\x79\x32\xa9\x36\x57\x4c\xe2\xba\xff\xf8\xb7\x75\xe5\x53\x0b\x4d\x76\xfa\x89\xc6\xda\x71\xa1\xd2\x39\x74\xd9\x29\x69\x47\xd7\x89\xe3\xe8\x30\xa6\xce\xef\x87\x36\xf8\xf2\xa5\xa7\x47\x09\x2d\x30\x49\xe5\x00\x23\xc8\x17\x19\x75\xe0\xc9\x13\x31\x97\x8d\x7d\xc5\xad\x5b\x63\xb4\x02\xc1\x93\x7a\xa9\x94\xa1\x36\x12\x57\xc5\x81\x21\x2d\x70\x69\x3f\x16\x4b\xa1\xa4\xa4\x9c\x38\xfe\x27\x60\xb8\x50\x43\x72\x72\xbb\xf1\xec\x19\xd3\x13\xc7\xcf\x70\x5c\xfc\x8d\x9b\x42\x3b\xf9\x6b\x16\xc9\x03\x69\xfe\x85\x7e\x38\xd4\xdf\xaf\x49\x88\x87\x7b\x27\xd1\x44\x05\x89\xf1\x83\xd1\xf2\xca\xaa\xf1\x9c\x4a\xe0\x13\x22\x61\x6d\x40\x21\xaf\x42\x95\xb6\x53\xd2\x82\xb1\xb1\xfc\x20\x8f\x3f\x1f\x1f\x7b\xbe\xe3\x1d\x01\xe6\xc5\x82\x1a\x6b\x7d\xee\xa4\x4d\x71\xba\x57\x85\xc5\xce\x57\xde\x2c\x2f\xbf\xf5\x1b\xa0\x52\x2b\x4f\xd8\xec\x43\xfd\x5b\x12\xc6\xfc\x91\x59\x77\x33\x7c\x63\x7f\xf8\xcd\xc2\xfc\xe4\x6b\x3d\x7d\x0b\x51\xbe\xff\xb6\xdb\x63\x3b\x59\xa9\x34\xc0\xe5\xe2\x19\xfb\xf6\xce\xcc\x15\x87\x07\xfb\x65\x64\x36\x6e\xaa\x7f\x91\xed\x93\xfb\xda\xaf\x6c\x63\x60\xe3\xd7\x2c\xbd\xc9\xa9\xdf\xa4\x40\x15\x07\x0f\x37\x69\x4d\x8f\x91\x3d\x99\xcb\xe2\x47\x73\x9e\xad\x34\x67\x03\xea\xe7\x85\x25\xd6\x72\x47\x8e\x06\xa6\xdd\x70\xf4\x48\xea\xaa\x43\x1c\x03\x08\x35\x70\xbe\x23\xb3\x82\x53\x2f\xda\x9d\x2a\x91\xa6\xe4\x09\xcf\x93\x5d\x05\x36\xf2\x0f\x83\x1f\x1c\x7d\x17\xfc\x4e\xe0\x78\xfe\x9c\xbc\xed\xbb\xa1\xcb\xf7\xbd\xbc\x8d\x8b\xcb\x45\x72\xae\x50\x3f\x53\x72\xca\xee\x62\xb7\xfd\x8f\x4f\xd6\x1c\x7b\x16\x51\x80\xad\x70\x89\xc9\xd8\x68\x2a\x4c\xb5\xfe\xd4\x16\x0f\x62\xce\xfd\xef\x8e\xcc\xfc\x59\x0c\x53\xeb\x6e\xcb\x0d\x2f\xfb\x42\x5a\xfc\x3b\x0b\x7d\xd6\x6d\x7e\x39\x61\xb9\x34\xb2\x99\x1d\xac\xa2\x2d\xc2\x68\xac\x5b\x87\x0b\xb2\xd7\xf4\xe9\xcd\x8e\x1f\xcf\xad\x96\x4a\x24\xc5\x31\xb3\x05\x98\x00\x4e\xc7\x26\xcd\x7c\x27\xbb\x63\xc7\xe4\xac\xa5\x2f\xca\xba\xe9\xe7\xfc\x26\xe1\xa7\xa5\xb3\x2c\xa7\x1a\xb9\x2f\x9e\x39\x34\xec\x9d\x0a\xe2\xb3\x67\x87\x91\x29\x19\x5e\x44\x06\x14\x82\x0e\x08\xc7\x2f\xad\x15\x50\x22\xb8\xdc\x88\x45\x64\xd3\xbd\x0b\x1f\x26\x1d\x08\x53\x23\x96\xd5\x02\x70\x4b\xa0\xc8\xef\x80\x44\x1e\x98\xdb\x01\x44\xfc\xa4\x0a\xfb\xc8\x9a\x0b\xfc\xf0\xea\x1a\x4d\x88\x39\x42\xd6\xc5\x34\x47\xe1\x1e\xf3\x65\x40\xf1\x66\x8e\x7e\xde\xbb\x3b\x03\x61\x7e\xb7\x57\x4f\x6b\x0a\xd7\x43\x4c\x01\xe8\xf1\x8e\x20\x54\x86\xe7\x95\x7c\xa0\x3b\x96\xdd\x76\xe8\x29\xe2\x90\xb3\x61\x48\x16\x92\xb7\x0c\x96\xc0\xb9\xf0\x7a\xae\x3d\x6c\x79\x4e\xfa\x14\xa2\x53\x5e\xfa\xeb\x06\xdf\x78\x47\x87\xe9\xaf\x30\x18\xaa\x05\x66\xdf\xc6\x78\x21\x65\xb8\x03\xc6\xb8\x2e\x9a\x39\x95\xa6\xc0\xe2\x5c\x28\x0a\x07\xff\x28\x6e\x6f\x41\x69\x4f\xf9\x40\x75\x74\x3a\x29\x93\x53\xd8\x50\xd6\x55\x36\xbf\x26\x2a\xbd\xdf\xf6\x42\xf2\x76\xf5\xdd\xed\x70\x0c\x46\x7e\xb3\x5b\xc5\xc3\xc1\x1a\xba\xa3\x40\x0e\x8b\x08\x87\xe1\x1c\x5d\x1c\xdc\xcf\xed\x4a\x81\x15\x18\x98\x61\x30\xc8\xc8\x64\x54\xa5\x78\xcd\x8a\x5a\xad\xd0\xa1\x0b\x8d\x98\xe4\x71\x1c\x30\x2e\x8e\x57\x32\x76\xe1\xcd\xf7\xc2\x31\x68\x64\x8d\x2d\x43\x5a\xf1\xa4\xbf\x56\xd5\x41\x40\xb5\x47\x84\xc3\xb1\x7c\x67\x3b\xee\xe5\x3d\x19\x45\xd6\x18\x34\xca\x27\x4b\x3c\xfc\x40\xad\xba\x7c\x08\x8b\x98\x34\x5e\x80\x71\x09\x7c\xe5\x5c\xe5\x7f\xfb\x86\x56\x15\x1f\xe2\xed\x1b\x9f\x31\x70\xa0\x0f\x25\x5b\xc6\x23\x53\xd4\xef\xe0\x23\xec\x46\xe9\x8b\xfa\xe2\xf7\xcf\xd8\x23\xb2\xa8\x2d\xa6\x43\xa4\x49\xf1\xda\xcc\xed\xcc\xa5\xbe\x2b\x5c\x16\x29\x2c\xed\x57\x79\x79\xf2\x3a\x23\xec\xdf\x73\xed\xf7\x51\xa5\xbc\xa8\x98\xe5\x50\x5e\x3c\xf1\xf2\xdf\x45\xfe\x2f\xeb\x50\x98\x9e\xac\x94\x4e\x79\x87\x84\xba\xf3\x88\xff\xdf\x9e\x92\x3f\x29\x81\xe8\x65\xc0\xfd\x53\xfd\x92\x7f\x62\x3a\x09\x6a\x1e\x77\xa5\x6e\x61\xa6\x8d\xd2\xee\x5c\xb8\x54\xc7\xf7\x5d\x6e\x3e\x2c\xb2\xe6\x4a\x7a\xa3\xbb\x8d\x46\x20\x22\xe7\xa9\xbc\xa2\xc6\xb9\x30\x2d\xbc\xc9\xe1\x68\x8b\x00\x87\x96\xfa\xcb\x71\xf3\xb4\xb3\x28\x42\x3f\xd6\xe9\xe6\x5a\x08\x7b\x29\xb2\xb1\xcb\x36\x7b\xb3\x6f\xab\x8d\x9b\xdd\x94\xee\x98\xda\x32\x57\x43\xc1\x06\xdd\x74\xcb\x8b\x82\xdd\x67\x82\x35\xf3\x54\x38\xbe\xc3\xf6\x8e\xb0\xbe\x2c\x2b\x4f\xcd\x65\x30\x1b\x48\x55\xe0\xdc\xba\x07\xb7\x76\x52\x72\x41\xd6\x44\x8f\x0d\x99\xa7\x36\x91\x86\x12\xdb\xc5\x99\xa9\xff\x21\x16\xe8\x02\x04\x86\x44\x29\x6e\x3a\xa9\x9f\x6e\x63\x09\xa5\x61\x8b\xea\xb5\x3d\x32\xb6\xdd\xab\xef\xea\x1d\x77\x73\x39\xf4\x4f\xdd\x59\xd8\x56\x40\x5e\x8d\xe3\x58\x49\xfb\x03\x7b\x2b\x8b\x12\xea\xfb\x0b\xd5\x23\x96\xe7\x62\x9f\xae\x9e\x89\xed\xb7\xaa\x57\xf5\x16\x1b\xa0\x79\x15\x2b\x02\x40\x25\x0d\xb1\xaa\x30\x2e\xb9\x7b\xba\x27\x7e\x7b\x64\x84\x7a\xd2\x72\xed\xd3\x2f\x11\xdd\xdb\x8e\x6c\xf3\x7f\x9e\xbf\xe5\x9d\x4c\x8d\xfe\x18\x2a\x62\xdb\xd9\x64\xd2\x5f\x07\xbd\xbf\xa0\x12\x9c\x0e\x45\x63\xbd\x66\xff\xd7\xee\xe1\x15\x61\x93\x22\xc3\x73\xd8\xb5\xe2\x2d\x09\xfb\x9d\x76\x05\x14\xe7\x24\x95\x0e\x39\x35\x86\x5d\xdc\x26\x2c\xa7\xcc\x8b\xdf\x50\x17\xac\xcb\x4c\xae\x59\xe1\xdf\x24\x38\xf0\xc0\xa0\x3e\xf6\xd2\x0f\xd1\x3d\xf8\xc2\x5b\xc7\xd6\x77\xdc\x3c\x06\x2a\x09\x43\x18\x7e\xce\x24\x02\x5c\x98\xa5\x9e\x59\xc9\x59\x37\xff\x9b\x57\x24\x59\xe1\x93\x7f\xb1\xac\x5e\x90\x9c\x71\xe2\x46\x25\x45\x85\xd6\xd9\xd7\x41\xd3\x14\x57\x13\xb2\x51\xa9\x14\x37\xca\x7b\xd5\xf0\xe8\xad\xd1\x45\x48\x32\x87\x43\x06\xe6\x29\x43\xda\x1b\x8e\x75\xcd\x94\xbc\xe7\xfa\x12\x2e\x77\x39\x41\xc5\x59\x14\xc8\x93\x92\x4b\x9a\xb1\x12\xd6\xff\x81\x9c\xb8\x63\xea\xeb\x99\xeb\xc9\xe7\xe5\x64\x0a\xd1\x49\xcc\xa3\x97\x3c\xe5\x1b\x0c\xf1\x8e\xd7\xe3\x1d\x77\x82\x94\x1a\x54\x50\x4e\xe5\x90\xfd\x08\x77\x62\xb2\x8f\xbb\xd4\xa1\xbc\xa2\xb2\x22\x7e\x48\xa7\xd0\x36\xc8\x36\xca\x5f\x02\x10\xde\x30\x77\x6e\x44\x4b\x41\x41\x4e\x8e\x91\xde\x65\x39\xb8\xbe\xce\xd2\x18\xa9\xd3\x69\x46\x56\x67\x04\xb4\x3f\xfc\xf8\xac\x0f\xc2\x23\xc0\xd1\xde\x7c\x9f\xcf\xe7\xda\xe0\xd6\xbc\x5e\x0e\x32\xa5\x7c\x88\xc5\x9a\x7b\xe8\x84\x41\x26\xf0\x58\x10\x84\x7c\xb4\xe3\xac\x5b\x51\x68\x59\x88\x5e\xa1\x90\xcb\x6f\x47\x7c\xbe\x9d\xe1\x23\x57\x2a\x83\x8a\x66\x65\x60\x2d\xc6\xde\xa3\xac\x5c\x06\x07\x16\x00\x85\x36\xc6\x69\xf5\x85\xcb\xba\xaf\x2e\x74\x75\x2f\x5e\xed\xb2\xd1\x1e\x79\xfc\xf9\xe0\xb5\x6b\x41\xa8\x94\xf5\xed\xc9\x05\x02\x1e\x9f\xaf\x2f\xe1\xcb\x99\x82\xd4\x35\x99\xec\x6e\xd1\x6e\xd7\x9e\x7a\xd7\x5d\x31\xe7\xda\xda\x5a\x5b\xcf\x9d\x6f\x6d\x15\x56\x39\x35\x0f\xcb\x85\x08\x5f\xe1\x36\xe3\x9c\x09\x65\x5e\xe5\x5e\xc1\xcf\x21\x4d\xe5\xea\x1b\x19\x06\xcd\x4d\xb1\xfd\xe9\x48\xa1\x08\xd1\x87\x56\x78\x5d\x6d\x24\xef\xda\xd5\x8f\x91\x4b\x4a\x4d\xcf\x0f\x34\x46\x2d\xab\x97\x18\x6f\x51\xeb\x43\x1b\x9d\xaa\xb6\xda\x32\xd1\xc7\xed\xb3\x06\xba\x33\x71\x2f\x83\x54\x9f\x5d\xbd\x29\xf1\x1d\x16\x3c\x36\x2e\x6a\x78\x6f\xbf\x2f\x7c\x43\x41\x5e\xa6\x5b\x63\x42\xea\x32\xa9\xe3\x7c\x41\x09\xb9\x7b\x6f\x7f\xd0\x31\xad\x95\x4b\x7b\xf1\x06\x32\x41\x15\x60\x4f\xad\xf1\x0c\x1b\x46\x38\xbb\xc2\x3b\xa7\xd5\x27\x20\xbe\x8b\x39\x12\x04\x12\xc6\x80\x40\x62\x52\xc3\x5d\xee\x94\xa3\xca\xb7\xd1\x71\x2c\x56\xda\x6f\x17\x9f\x3c\x2a\xf0\x92\xfa\xf8\x6c\xbd\x11\x5e\x94\xdc\xab\xb5\x18\x51\x63\x54\xa4\x8a\x5f\x14\x91\x14\x35\x3f\x24\xb3\x55\xd8\x10\x30\x5f\x39\xd7\x8a\x20\x66\xc9\xd1\x29\x16\xfc\x03\x1c\x86\x12\x43\xc2\xc5\x05\xd7\xa5\x95\xb4\x29\xa7\x8c\x0b\xf3\xd7\x99\xe8\x84\x50\xa6\x5b\x22\x71\x2c\x36\x99\x17\xc6\x0a\x16\xba\xa8\xdd\x3c\x73\x1e\x5a\x8d\x6d\x4e\x76\x2e\x0d\x83\xb2\x81\x2e\x27\xa0\xeb\xba\x0d\x1f\xd4\x9c\x96\x11\xb9\xdf\xd5\xfc\x7d\x39\x89\xb5\x50\xcc\x82\xbc\x24\x0d\xfc\xb9\xc8\x68\x3f\xfa\xf7\xea\xcb\x83\x1b\x32\x3d\xf7\xf3\x82\x2b\x0b\x2e\xc5\x23\x47\x3d\x77\x4f\x93\x99\x1c\x47\x3e\x84\x23\xcc\x61\xc8\x00\xe6\xea\x9b\x00\x63\x64\x24\xa0\x5c\x1e\xc7\xd9\x80\x87\xee\x9d\xf8\xb5\xef\xdd\xbb\xfa\x8a\xe1\x67\xe3\xb5\x79\xb4\x5a\xba\x67\x8b\xeb\x76\x8c\x62\x9f\xbc\xf7\xd4\xb7\x61\x7a\x02\x38\x16\xa9\x7b\xc8\x9b\x7d\x0e\x42\x68\xd2\x41\xb7\x7b\x6d\x44\x03\xfe\x86\xae\x85\x85\x2e\x83\x1c\xf4\x27\x2a\x4b\xb8\xdb\x4f\x1b\x69\x6b\x3b\xa2\x9d\x44\x20\x96\x23\x99\x13\x81\x80\x9d\x1c\xae\x2f\x00\x68\x90\x86\x90\xba\x3b\x93\x40\x1a\xff\xe0\xc2\xb1\x0d\x21\xf4\xdb\x2b\xff\xda\xab\x0e\xcc\x2d\xb2\x16\x63\x9c\x6b\x6e\x2e\xfa\xcb\xef\x76\x19\x96\x24\x3f\x3a\x8b\xef\x89\xa6\x81\xef\xdc\x97\xdf\xc5\xc0\xfe\x62\xc7\x7b\xdf\x13\xcd\x61\x7a\x03\xc0\x4b\xc0\xc3\xea\xde\xa3\x64\x99\x47\x6b\x79\x56\xd6\xb6\xbc\xc1\x85\xa7\x5a\xf9\xaf\xcd\xa5\x3a\xb7\xcc\x27\x5a\x8e\x15\x73\x67\x9b\x2e\x02\xbb\x01\x4f\x5c\x17\x2f\x2b\xdf\x69\xfb\x2e\x84\xa5\x35\x6a\xca\x3e\x28\xa1\x8e\x0b\x3d\x82\xff\x3e\xf2\x08\xcb\x76\x1e\x0a\xdb\xf4\x77\x3d\x37\x5c\x83\x34\xbe\x1f\xd9\xe0\xdf\x88\x79\xf1\xfa\x7e\x29\xd8\xc9\x71\x19\x4e\x4b\x01\x02\x17\x02\x73\xa9\x73\x7e\xf2\x39\x7f\x3c\xa2\xd8\x0b\x6b\x0d\x9c\xe0\xb7\x7b\x64\x01\x86\xa6\xdf\xd6\x6f\xf9\xc3\x9e\x3b\x9f\xb5\xc7\x5a\xe8\x8d\x84\xb0\x04\xe6\x41\xc4\x52\x89\x34\xa7\x76\x72\xc3\xad\x4d\xcd\x81\x96\xd1\xb2\xf9\x12\xca\x80\x9e\x97\x8b\x26\xf2\x5f\x3e\xb5\x70\x3c\x61\x5c\x26\x10\xdd\x52\x16\xf3\x5f\x71\x9f\xbf\xcd\x6f\x0d\x40\x58\x22\x50\x5d\x54\x55\xde\x30\x79\xbf\xe8\xbe\x76\x19\xe0\x76\xb4\x0b\x77\xd6\xea\xfd\xa5\x74\xca\x5d\xe5\x55\xd5\x97\x16\xed\x69\xdf\x0b\x87\x3c\x15\x43\xd3\xe2\xf1\x69\xae\x78\x3d\x63\x31\x76\x37\x39\x8a\x28\x66\xf9\x0a\xec\x4d\xea\x6b\xf3\xda\x84\x3a\x93\x27\xda\xaa\x0a\xbb\x49\xea\x8a\x0c\x95\x06\xf7\x60\x7c\x79\xce\x08\x39\x44\xed\xbc\xa6\xf1\x35\x92\x6e\x8e\xf0\x55\x0e\x3a\xba\x43\x2b\x2f\x3e\x39\x55\xc7\x46\x28\x23\x65\x49\x94\x7c\x95\x4b\x21\xba\xda\xe1\xd0\x92\x93\x6c\x30\xa8\xa4\x33\x36\xb1\xd9\x6e\xc7\x4c\x47\x97\x65\x2a\x36\x4e\x65\x0d\x2f\xcb\x8c\x1a\xed\xd4\x8e\xd7\xc5\xaa\x6a\x6a\xd5\x9a\xe3\x77\xfa\xb4\xad\xf3\x65\xf5\xc5\x37\x72\x7c\xd1\x82\x90\xe0\x84\x94\xe4\xd6\x94\x94\xd6\xe4\xe4\x04\x99\xa8\xe8\xae\x9e\xec\xdd\x0d\x83\x41\xea\x9a\x5a\xcd\x53\xaa\x43\x72\x0a\xd6\x94\x42\xe3\x49\x9b\xb2\x6e\x74\x87\xda\xd6\x7e\xb5\x2d\xcd\x23\x5a\xe3\x56\xbb\x7f\xbb\xda\xc8\x76\xfa\xd6\x1d\x1b\x4c\xb2\xac\x42\x01\x1b\x72\xf9\xa7\x22\x39\xc5\x97\x35\x9e\xd8\xc3\x39\xe0\x1e\x80\x38\x56\x06\xbe\xea\xb8\x78\xac\x07\x68\xea\x5f\x64\x5e\xcb\x3a\x93\x7c\x78\x6d\x57\x01\x28\x9f\xb7\x7e\xab\xdf\x0d\xfa\x4d\xea\x79\x81\x2b\xa5\x29\x23\x12\x25\xca\x82\xb5\x99\x1f\x75\xfd\xaa\x85\x9d\x82\x7e\xde\xaf\xbe\x16\xfb\x87\xd1\x89\x8b\x2a\xb7\xf4\xa4\xb7\xc5\x4b\x13\xa3\x94\x58\x8e\x83\xaf\xef\x3c\xf8\xcf\xd1\x67\xab\xfb\x37\x00\x7c\x60\x10\x80\xcd\xda\xd6\x7a\x12\xb0\xc6\x48\x30\x95\x1c\xb4\xcf\x69\x6b\x59\x98\x3d\x32\xc7\x16\x16\xe4\xe1\xef\xfb\xe5\x6e\x0d\x5f\xfb\xd7\x75\xff\x58\xbf\xfe\x47\x57\x56\xd2\xb9\x8e\x8e\xb3\x81\x59\x5d\x2f\x4b\x3c\x4a\xee\x54\x64\x6e\x16\x9d\xb8\xb8\x59\xb3\xed\xe6\xf5\x4a\x4d\x36\x40\xe0\xe7\x72\xdd\x8d\x9c\x1b\xf3\x4e\xfb\x62\x6a\xbe\xef\xd3\x44\x1d\x38\xb5\x7c\x20\xcd\xc2\x27\xe4\x2b\x5e\x0e\xb7\x6a\x8d\x8b\x74\x7d\x8c\xf3\x07\xfb\xce\x81\xb4\x62\x46\x41\x47\xc4\x8a\x90\xa4\xbd\xcc\x83\xf9\xe9\xa2\x2f\xaf\x9d\x63\x96\x44\xa7\x3b\x27\x66\xb4\x7b\x73\x88\x29\x79\xb1\xc0\x18\x27\xfa\x09\xf9\x4b\x31\x37\xb4\xfa\x93\x45\xe5\xd3\x6d\xfa\xe8\x98\xb7\xd2\x94\xd3\x7f\x1b\x6b\xe1\x3c\x23\xfa\x04\xeb\xfd\xaf\xe1\xea\xa8\x8f\x53\xd4\xf8\x49\xb8\xc0\x56\x90\x3a\xe0\x09\xc7\x65\xf0\xf8\x1b\x38\x1e\x5a\x99\x28\x74\x20\x69\xbb\xf7\x40\x3e\x06\xf6\x38\x5b\x84\xe6\xc0\xeb\x34\x58\x4c\xef\xfd\xf0\xfb\x87\x7b\xa2\xc0\x4a\x2e\xfe\x17\xca\x14\x2e\x0a\x35\x7c\x45\xbc\xcf\x5e\x5d\x73\xd2\x9d\x63\x9d\x43\x11\x7e\xe9\xe1\x1b\x07\xd8\x12\x4c\x40\xfe\x21\x3d\xe1\x49\xa5\x14\x17\x75\x7f\x7a\xea\x6d\x0e\x9a\xca\x90\x5e\xbd\xdb\x49\x55\x3a\x94\x10\x80\xe9\x98\x64\xff\x8d\xc3\xdd\x8c\x12\x61\x0e\x3f\x61\x32\x68\x02\x2f\x90\xb0\xc4\x69\xee\x79\xc5\x3b\xd8\xd7\x6e\x06\x51\xba\x89\xf8\xe7\x6f\x20\xd8\xef\x90\x93\x28\x8b\xfe\x81\xf9\xd1\x1b\x26\x0b\x9f\x3d\x58\x3b\x2d\xd9\x3f\x8f\x76\x6b\x43\xca\x29\xfc\x9f\x9d\x0b\x1b\x66\x6d\x39\xd9\xdc\xd2\x9f\x45\xf3\x95\xec\x66\x5e\x1d\x1a\xa2\xf0\x85\x2d\x4d\xd7\x96\x4a\xcb\xe7\x3d\xee\x34\x6f\x2c\x71\x97\xcb\x92\xa1\x69\x5e\x81\x58\x5c\x6c\x58\xde\xb3\xdc\xdb\x93\x86\x91\x97\x97\x0f\x7b\x2d\x3a\x7f\xae\x9d\xb2\xe5\xc3\xfb\xed\xfd\xe7\x56\x7b\x14\xe2\x0f\xda\x3f\x3f\xf5\x26\xdc\x0e\xf3\x2a\x5f\x69\xf8\xf0\xaf\x92\x5d\xa2\xc5\xa2\x40\xb7\x90\xc1\xe3\x54\x7e\x11\xdc\x39\x19\x7b\xcc\xec\x1d\x55\xb4\x70\xad\xfc\x4d\xfd\xd9\x58\x1d\xd7\x90\xa1\x05\x6a\xfa\xc4\xc9\x53\xe9\x9b\xa9\x57\x3a\x3a\xef\xd1\x40\x56\x14\x93\x56\xd9\xbe\xaf\xaa\x3d\x2d\xbd\xbd\x7d\x5f\x65\xfb\x9b\xe3\x79\x0e\x03\x7b\x8a\xc4\x8e\x9d\x5e\xbf\x67\x1e\xd4\x69\x66\xe7\x68\xe8\x6a\xa2\x72\x0f\x96\xd4\xae\x0c\x9d\xf2\xd7\x30\x28\x89\xc7\x77\x14\x39\x30\xb3\x8e\xa4\x7b\xe6\x54\xd6\x2c\x4f\x54\xe1\x3c\x7e\x0d\x8a\x8a\xc8\x0c\x11\x12\x8e\x3e\xcf\xb7\x58\x18\x56\x58\x15\xd0\x17\x9d\x18\xb0\x38\xbc\xb3\x5e\x74\xce\xaa\xac\xf1\xbc\x99\xc4\x2f\xad\x98\xa4\xa7\x86\x79\x0a\xb7\x46\x1e\x26\xc0\x91\x24\x5a\x4c\xc4\xed\x03\xa4\xe4\xc8\x8f\x21\x44\x08\xe2\xe6\xc6\x07\xca\x48\x6e\xcb\x83\x38\xe1\x6d\xb1\xc9\x1e\x12\xb7\xd6\xe8\x4c\xba\x90\xf9\xb7\x3a\x8f\x64\xed\x4a\x04\x27\xaa\x21\x06\x63\x5c\x3f\xd3\x3c\xc6\xb6\x7d\xc4\x1c\xbf\x8e\x40\x7d\xe1\xdf\x1d\xce\x00\xde\xc9\xda\xce\xe6\xd1\xdd\x81\x0a\x22\x02\x27\xe1\x7c\x7c\xcb\x32\xf9\x5f\x7d\xb0\xf8\x57\x09\x33\x3a\x98\xe4\xeb\xa9\x07\xa0\x7d\x36\x29\x58\xb4\x2e\xb8\xe9\x82\x88\x97\x49\x93\x02\x9f\xab\x65\x8c\x6d\x06\xc5\x9b\xcd\x00\x5b\xd0\x3a\xde\x9d\x17\xb7\xe6\x72\x88\x6d\xac\x8c\x4c\x23\x68\x64\x20\x98\x96\x63\x5e\x6f\xa5\x80\x11\xa6\x00\xa0\x3b\xd1\x36\xe1\xc0\xe1\x8a\x61\xd4\xf8\x21\x6d\xac\xf7\x18\xb5\xd3\x4c\xda\x53\x89\x85\x1d\xe3\x0a\x3e\x96\x6e\xc4\xca\x4e\x2d\xba\xe6\xf0\x00\x6a\x27\xdc\x39\x18\x42\x50\xf9\x42\xdf\xdf\x22\x37\xd5\x25\x1c\x22\xa6\xcc\xcf\x4a\x9f\x3c\xf4\x8b\x93\xe1\x0e\x05\x14\x5a\xa7\xaf\xdf\x29\x8c\x0a\x7d\xa7\x06\x42\x09\xe2\x5b\x01\x53\xfd\x84\x8a\xf9\xf4\x67\xd4\x93\x64\x25\x81\x91\xa3\x1c\x37\x0d\xd9\x4f\xb2\x0b\x4d\xa0\x10\x14\x6d\x66\xf1\x9b\x5a\x8d\x64\x51\x3f\xc1\xf2\xa7\x38\x6b\x94\x9e\xd0\xe7\x0d\xb0\xb3\x38\x56\xe2\x80\x1a\xd0\x6a\x57\xbb\xbb\x7b\x7a\xda\x00\x0a\x93\x35\x1b\xb9\x7a\xd5\x84\x91\x94\xf1\xff\x7f\x66\x66\x32\x21\x0f\x83\x5d\xf3\x4a\xc5\x18\x37\xba\xfc\x97\xed\xe5\x33\xc6\xdf\x01\x02\x43\xc6\x85\x32\x50\x07\xb7\xef\xf4\xd6\x2c\xa8\x4d\x77\x88\x8f\xc7\xb9\x9f\xd7\xd6\x2a\x29\xa9\xa9\x35\x48\xd8\xe9\xf9\xf3\x18\xa0\xc0\x25\x01\x20\x73\x82\x39\xd2\x8f\x74\xee\x49\xf1\x54\x0b\x48\xe6\xc9\x27\x05\x08\x89\x0e\x7e\x1c\xa3\x06\x69\x63\x87\xdd\x4b\x01\x16\xdb\x1c\x22\xba\x7e\x58\xb0\xeb\x3d\x7e\x4b\x48\xa0\x5e\xe9\x21\x4f\xfc\x00\x04\x19\x71\x26\xfe\x0a\xe4\x22\x8a\x1a\x5e\xae\xf8\xf2\x7f\x53\x39\x63\x2a\x6c\x60\x74\xc9\xea\x81\x31\x32\xba\x32\xca\x51\x85\x64\x16\xf9\x0c\x40\x1a\xc0\xbf\xd9\x5a\x31\xd0\x4e\x96\xff\xa3\x5b\x0a\x3a\xfe\xa8\x90\xac\x48\x5c\xc1\xcc\x74\xdc\x86\xd0\x02\xe3\x1a\xe8\x83\x43\x65\x97\x53\xac\x53\xf0\x52\x7c\x44\x16\xcb\x0e\x15\xe2\x90\x58\x45\x43\x79\x64\xe9\x83\x68\x70\xe1\x39\x40\x06\x00\x3c\x28\xf9\x2b\xf9\xf3\xdf\xf8\xdd\xc8\x24\xcc\x99\x34\xa6\xc0\xc5\x3b\x2e\x19\x39\xeb\x8c\x8b\x29\x35\x99\xf7\x64\xa7\x65\x19\xa5\x73\xd7\xb7\x7a\x24\x01\xbf\xb2\xdf\xfe\x55\x9b\xd7\x66\x1f\xea\xdd\xd0\xd2\x7b\x7f\xfe\xe5\x3c\x26\xdd\x76\x08\xd2\x24\x94\x08\xa2\xe9\x62\xf2\x29\x4b\xbf\x81\x0b\x57\xf3\x89\xe4\x54\xff\xb1\xcc\xf2\xdf\x12\x12\x52\xba\x38\x59\xc1\x6a\x93\xa5\xf9\x27\xa9\xbc\x3f\x7f\x4b\x5e\x47\x57\x81\xd8\x7b\x98\x6f\x0e\x25\x38\xee\xf3\x8c\xf9\xd5\x64\x77\xb5\x07\xa3\xb2\xc3\x7f\xb5\xcd\x4a\xeb\x07\x06\x67\xdc\x4d\xfc\x7a\x09\x33\x2e\x9c\x8a\x37\x53\xcd\x5b\xfd\x5e\xa8\x6e\x87\x3f\xc1\xd4\xa3\x03\xd0\x01\x8a\x6c\xbe\xde\xcd\x43\x39\xa0\x58\x64\xbf\x13\xd2\x43\x3f\x1c\x04\x92\xcb\x35\x7b\x2f\xf6\xc2\xed\x95\xcc\xec\x7b\x2f\xee\xdb\xd5\x7b\xc2\x20\xc3\x16\x32\x44\x7b\x44\x0d\x75\xe7\x77\x6f\x8c\xe9\xaf\xc5\xea\xff\xcc\xa7\x0f\xe0\x1b\x82\x90\x0d\xf4\x81\xfc\x7f\x43\x1c\x6a\x9b\x63\x86\xeb\x94\xf9\xd8\x54\xdc\x23\xc8\x9a\x0c\xdb\x13\x06\xbd\xae\xeb\x79\x2b\x4c\x91\xf3\x40\x77\x31\xc8\xf0\xfd\xe9\xd1\xf5\x9d\x63\xc0\x40\xcf\x5d\xdd\xe9\x3f\xec\xa5\x7c\xfe\x9d\xc3\x4b\x0c\xf6\x8b\x39\xaf\x83\x64\xcc\x58\xb1\x83\x89\xdb\xdb\x65\x2c\x72\x8c\xf7\xba\x37\x35\x35\x85\xe7\xcf\xeb\xbc\xbc\xd0\xd9\x90\x98\xd1\xd7\x5c\x5c\x35\x41\xb3\xd4\xeb\x09\xde\x37\x8a\x09\x81\x5b\xf3\xcd\x42\xfe\x7e\xb8\xb5\xc1\xd1\x62\xe9\x05\x8d\x73\x1c\xcf\x5e\x77\xf9\x45\x1e\x29\x60\x73\x4f\x72\xd1\x8f\x29\x65\xde\xa6\x05\x6c\x43\x5a\xdc\x40\x4b\x67\xfe\xb1\x9e\xdf\x9d\x9d\xbf\x7a\x8e\xe6\x2f\x6d\x69\xb1\x4d\x29\x1b\xba\x7c\x19\x44\x11\xdf\x52\x9d\xd1\xbf\x93\xaf\x3d\xa5\xa8\xca\x2f\xec\x0e\xfc\x7c\xba\x04\xc7\x70\x7a\x57\xa4\x50\x43\x3c\xc1\xfc\x78\xd9\x75\x1f\x3d\x28\x39\x96\x16\x6d\x38\x6d\xd8\x8a\xb7\x2d\x4c\x57\xae\xb0\x2e\x6e\x3a\xb1\x5a\x7d\x77\xe6\x9d\xa0\x36\xba\x0a\x77\xe0\x82\x24\x22\x9d\x05\xd9\x4f\x35\xa6\xf0\x74\x88\x35\xff\xbe\xe9\x8c\xc0\xe5\x4e\xd6\x81\xf4\x3b\x26\xcc\xa2\xed\xa5\x03\x20\x27\x7c\x5e\x30\xdf\xfc\xea\x0c\xd5\xf5\x52\xab\x2e\xf2\x54\x28\x7c\x24\x70\x82\xf9\xc8\xb2\x9b\x18\xa7\xcb\x21\xbe\x85\x4d\x3a\xc0\x0d\x74\x6f\x54\xc4\xa6\x4b\xfe\x99\x94\x4d\x48\x27\x82\xd2\x1d\x93\xba\x95\xe9\x4f\x8a\x8b\x7c\x32\xb5\x36\x4e\xaf\x35\xef\x89\x6b\x20\x31\x4a\x2d\xd9\x31\x11\xea\x59\x59\x73\xf5\xba\x1d\x56\x69\x55\xdb\x38\x6f\x18\xf9\x04\xc2\x66\x59\x70\xc9\x73\x1b\xb0\x2a\x95\x6c\x09\xc9\x2f\xd6\x45\x76\x73\x32\x4a\xaa\xe2\x2f\x80\x3f\x1d\x7c\xb0\xb7\xc5\xb8\x83\x46\xa4\x62\x2d\xd1\x56\x41\x63\x46\xef\xeb\x3a\xa2\xd4\xc1\xcc\x6c\xea\x6c\xcd\xef\x7b\xe7\xb1\xbb\x13\xfb\x15\x2e\x4b\xf4\xf9\xbe\x4d\x28\x18\x36\x4d\x59\x17\x57\xbf\xd5\x2c\x33\xba\x1e\xab\x77\x0c\x97\x97\x97\x45\x63\xc2\xa9\x19\x51\x9d\xe1\xc1\x8b\xec\x1b\x3c\x0a\x91\xa9\xd8\x43\x54\x3f\xdf\x6c\xfc\x37\x55\x5a\xb6\xdf\x1c\xf7\xad\x8a\x2a\xd1\x1a\xcc\x7b\x04\x45\x8d\xf2\x69\x70\x43\x54\xb4\x34\xbe\x63\x29\x66\xd9\x28\x31\x2f\x06\xf6\x08\x5a\x11\x2c\xf1\x4f\xa0\xa2\x10\x2c\x0b\xbc\xc8\x54\x9a\x65\x45\xd6\xfb\xc6\x16\x43\x95\xfa\xd0\x6b\xd8\x96\x12\x1c\xf7\xcd\x12\x4b\xfc\x2c\xf1\x0e\x4b\x48\x3a\xa7\x26\xc8\xf0\x23\x1b\x48\xf7\xb1\x00\xe9\x44\x35\x6d\x72\x48\xaf\xf1\xc1\xe3\x3f\x33\xb1\x51\xdf\x46\x22\xad\xbf\xbc\x44\xd3\xd0\x89\x8f\xa4\xc2\x36\xd8\xf1\x8a\xc5\xb7\x50\xcf\x3e\xb8\xdf\xe2\x09\x21\xbc\x15\x55\x71\x86\x75\xf2\x2e\xef\xdd\x66\xdc\x63\xe7\x5e\xe4\xb4\x74\xdd\xef\xc0\x80\x58\xac\x5c\x5a\x5a\xe3\x4a\xb3\xb0\x39\x00\x56\x5d\xad\xd0\xb1\xd9\x88\x2b\x0f\x7c\xf3\x66\xef\xe4\x71\x81\x2c\xc4\xe7\xd2\x8f\xf1\xe5\x41\xae\x5f\x2f\xe5\x84\x98\xe5\x28\x23\xeb\x20\x3a\x94\xce\x93\x89\x95\x6b\x80\x51\xdc\x6e\xcf\xcb\x7e\x43\xa1\x0a\x99\x9b\x9b\x9a\x16\x3c\xaf\xcf\xb3\x4d\xf7\x66\x8d\x81\xc9\xa5\xa6\x24\x04\x3c\x3b\x13\x85\xe5\xeb\x94\x0e\x65\x8f\xa2\xe4\xce\xda\xa4\x31\x18\x1d\x25\x89\x89\x69\xcb\xf3\xd1\x45\x55\x0e\x67\xf1\x71\x2a\x3b\xf3\x8f\x52\xe6\xe6\x31\x3d\x58\x8e\xc3\x68\x57\x60\x87\x56\x55\xd8\x72\x37\xb7\xef\xce\x2e\x59\x12\x22\xce\x71\xf7\xa6\x02\x79\xcd\x57\xb3\x28\x9f\x03\x4d\xac\xee\x26\x9f\xfe\x71\xb4\xfe\xcf\x88\xf7\x97\x07\x62\xf2\xbe\xfe\x15\x29\xff\x63\x0f\x80\xb6\xf2\xd6\xd5\x41\x6e\x6a\xde\x49\xdb\x57\x34\x79\xa5\x1a\x99\x74\x07\xd2\x9d\xd7\x31\xa8\xda\xec\x51\xca\x16\x02\xdc\x83\x8a\x7f\xec\x6a\xf6\x09\x36\x03\xcb\x1c\x8c\xf7\x57\x21\x68\xee\x64\x37\x17\x17\x37\xf2\x8b\x22\x4e\xb8\xbc\xaf\xcb\xb4\xf8\xf4\x8e\x3a\xee\x43\xf1\x4d\x5c\x00\x74\x84\xbb\x69\x31\x72\xb1\xa8\x5b\x1e\x3f\xd0\x83\x6f\xcc\x7b\xe3\x8d\x54\x45\x7a\xbd\x72\xb2\x09\xe3\x36\xab\x17\xe3\x6b\x3f\x5a\xba\xfc\xac\x51\x5b\xbb\xeb\xdf\x37\xcf\x2f\x8c\x88\xc0\x8a\x19\xc8\x56\xff\x7b\x2e\xd7\x08\x3d\xd5\xae\xdc\x22\xb2\x15\x2b\x9b\xaa\xf6\xd3\x39\x3d\xeb\x20\x4b\xd3\x4c\x65\x2c\x60\x53\xe9\x0c\xb2\x77\xcd\x39\x6f\x57\xcd\xa1\xc9\x93\xfc\x6c\xc6\xda\x0a\x1d\xb8\x19\x5f\xd4\xd2\x47\x97\xd7\x86\x61\x52\x92\x30\xba\x98\x65\xc3\xe2\xc9\xd2\x1a\x5f\xc7\x81\x1f\x75\xf6\x89\xb6\x03\x35\x05\x93\xcb\x58\x32\x85\xec\x6b\x9e\x3e\x16\x08\xa6\x99\xd3\x5b\xb7\x3a\x7f\x82\x05\x12\xfe\x6b\xe1\xd1\x97\x2f\x37\x3a\xf3\x59\xc3\x92\x94\xf4\xf4\x2b\x57\x2e\x31\x41\x64\xd6\x0f\x65\x3b\xc1\x66\xed\xf3\x9d\x34\xf6\xb8\x89\xad\x8d\x59\x2e\x94\xca\xdb\xe6\x48\x3a\xa6\xe8\x01\x5e\x9e\xc3\xca\xca\xce\xb8\x60\x22\x1a\x3c\x9d\x48\xe4\xa7\xfc\x57\x9f\xdd\xf6\x47\x21\x97\x75\xb8\x4d\xc7\x2c\x19\x1d\xea\xa6\x5a\x40\x4c\x14\x54\x37\xdd\x63\x43\x83\xc2\xdd\x12\xaf\xde\x8e\x86\xc0\x92\x0a\xb9\x1e\xde\x3e\xd1\x1c\x37\x25\x31\xb5\xb0\x24\x45\x35\x94\x9a\x3a\x44\x96\x6b\x50\xa9\xbc\xe0\x8d\x85\x8c\x32\x72\xa2\x13\x40\x88\xa6\x83\xd8\xfb\x35\x7f\x85\x13\xb6\xfd\xaa\x92\xdd\x95\x2b\x8a\x5a\x85\xfa\x98\x12\xab\x66\x7d\xa4\xca\x47\xc6\x0d\x0b\x37\x9b\x9a\xe2\x8c\x52\x1d\x3d\xb9\x34\x47\x4f\x62\xfa\xe7\x54\xcb\xb7\xb2\x0a\x7f\xb9\xe3\xcf\x8e\x93\x07\x23\x5f\xfb\x77\xab\x0c\x54\x61\xd2\xb3\xa6\x6a\xfa\xa6\xa3\x74\xbd\xc3\x5b\x9a\xcc\xfd\x8c\xc9\xfa\x48\xbf\x09\x81\x2d\x04\x79\x73\x89\xee\xe2\x47\xb0\x64\x18\xc8\x13\x68\x99\x41\x75\x2e\x5a\x91\x35\x34\x4e\x5e\xbe\x03\xb2\xfa\xeb\xeb\xb3\x52\xe1\xd3\xb2\x13\x47\xdb\x32\x51\xd1\x91\xf5\xfa\x5c\x49\x16\x87\x98\x1f\xbd\xde\x3e\x19\xf3\x8e\x5d\x7a\x1c\x50\xcf\xc5\xe0\xd7\x3d\xe8\x3e\x27\x3b\xb4\xbd\x72\x9b\xcb\xea\x98\x3f\xbe\x38\x44\xc5\x78\x5b\x6b\x35\x6a\x93\x34\x49\x08\xba\x54\xa7\x55\x09\xb3\x57\xeb\x30\xb0\x2a\xab\xa3\xa7\xaa\x16\x68\xda\xac\xd8\x46\x67\xa5\xfd\x4c\x52\x67\xfa\x58\x2c\xcd\xc7\xdc\x63\x41\x8c\x21\x8a\xef\xec\xe6\x2a\xfc\xec\x7d\x25\x93\xe4\x0b\x73\x15\xf7\x59\x7c\xfa\x7b\x04\xc8\x46\xbb\xdd\xeb\xe7\x2b\x91\xfc\xce\x75\x5d\xf8\x24\xd8\x5f\x6f\x49\xac\x72\x12\x2b\x07\x73\xc5\xba\x19\xfd\x76\x38\xbd\x98\xee\xb9\xa8\x73\xbb\xe7\x7f\x8f\x96\x52\x82\xa8\xdc\x3f\x2c\x25\x18\x5f\x8a\xb9\x27\x4e\x2c\x17\x83\x38\x2b\x20\xcb\xd9\x04\xb1\x6b\xc4\xa7\xf1\x46\xdf\x67\x64\x2f\x24\x5b\x86\x35\x97\x0e\x27\x9c\xae\x5a\xce\xc7\xa1\x1e\x29\x95\x9b\xb4\x1a\x41\xe2\x7b\x50\x93\xa0\xe8\x0d\x7b\xad\x32\x64\xfe\xd6\x66\xdc\xa5\xe9\xb7\x43\x28\xa8\x83\xbf\x51\x55\x99\x67\x31\xce\x72\xf9\x5c\x3b\xe2\x48\xf9\x8b\x08\x62\xbe\xcd\x15\x62\xd7\x0b\x07\xcf\x84\xf4\x85\xff\x1f\xae\xe0\x1e\x94\xa3\x65\x2b\x6c\x49\x8f\x22\xdc\x22\xf7\xd3\x9c\xa4\x95\x0d\xac\x7f\x2e\xbc\x3f\x08\x93\xa9\x3e\x69\x6b\xed\xe7\xd1\xe5\x56\x32\x59\xd6\x72\x14\x2e\x8f\xc2\x36\xe9\xd1\x8b\xcf\x3c\x1a\xdc\x4f\x46\x7d\x4b\xdf\xe5\x6c\x63\xc6\x2b\x24\xa7\x23\xcb\xa7\x08\x7b\xc9\x98\x0a\x36\x53\xb0\x39\xd2\x90\x75\xb4\xd3\xe6\xe1\x64\x84\xe9\xd1\x60\xfb\xee\xe9\x2a\xb4\x12\xd9\x95\x04\x58\xcf\xec\xb9\xd5\x35\xdc\x3d\xfa\xfc\x65\xe7\xe8\xf4\xbf\x12\x6f\x75\x37\x7e\xff\x34\xd4\x2d\xd2\x78\xfd\xc8\x66\xb9\xcb\x26\x9f\x7c\xdb\xbc\x63\xe5\xad\xff\xa3\xb7\x3b\xc2\xbc\xa5\x2c\xbb\x5a\xed\x9c\x5f\xdd\xa5\xc3\x26\x6b\xe3\xaf\xa9\xc2\xfd\xe9\xed\x0b\x5c\x26\xf5\xaf\x63\x77\x46\xf0\x08\x91\x63\x16\xeb\xa0\xae\x37\xea\x1e\x87\xd8\x94\xfe\xfc\xce\x57\x4b\xc5\xf7\x8b\x5d\xda\x7d\x51\x81\x59\xa7\x3a\xd2\xdc\x48\x0c\x12\x41\x3d\x72\x2f\x4b\x75\x57\x54\xd2\x16\x37\xfd\xb2\xcc\x56\x6f\x69\xa5\x01\xb0\x9e\xf9\xe0\xad\xcc\xed\x3b\xe4\x07\xd5\x8d\x8c\xbd\x1c\x18\x2b\xac\x19\xdd\x96\x4f\x3f\x65\x93\xbe\x8f\xbf\xea\xca\x6d\x8b\x2b\xd7\x39\x57\x96\xa7\xff\x2a\x86\x33\xad\x8b\xd5\x06\x4d\xaa\x93\x75\x3d\x02\x17\x9b\xbb\x2d\xf8\x5a\x52\x29\xc2\xc7\xe7\xc0\x86\x88\x51\x89\x76\x21\x45\x10\xa0\x51\x61\xb8\x28\x39\x97\x15\x50\x2b\x42\x76\xc7\x7b\x40\xd4\x05\x45\x1c\x12\x35\x96\x2a\x13\x71\xad\x5d\x3f\xac\xd3\x1f\xff\xc9\xcf\x76\x53\x92\xd8\x0e\x89\x21\x57\xe3\x90\xb8\xc4\x37\x19\x14\x67\x21\xda\x4e\x8c\x82\xe7\xc2\xa3\x49\x72\xb8\x86\x57\x4f\xb0\xe6\xbc\xc7\x04\xd4\x87\x64\x16\x6d\x62\x83\xae\x92\x57\xd0\x42\xbb\x94\xbe\x4d\xc4\x21\xe3\xb8\xfd\xf5\x2a\x49\x98\xb0\x3e\x05\x74\xd3\x33\x3c\x5a\x1b\xab\xf1\x6f\xc6\xd9\x33\x30\x58\xe0\xb9\xfe\x9f\x86\x83\x16\x06\x7f\xbd\x98\xdc\xa7\x00\xfe\x3f\x8b\x79\x9c\xa5\x0b\x49\x3d\xb8\x35\x60\xd5\xbc\xa5\x34\xdc\x6a\xfd\x4d\x2c\x8a\x8f\x43\x79\xaa\x3d\xf0\x6f\xdd\x89\xaf\x54\x70\x47\x58\xca\xce\x46\x6f\xfc\xb4\xcd\x7e\x55\xfe\x6f\x8c\xb4\x06\x9a\x2b\x5a\x6d\x47\xd1\xec\xfe\x7a\x2d\xf5\x56\x18\x2d\x92\x96\x8a\x3b\x1f\x7a\xed\x69\x8f\xa6\x9b\xca\x81\x40\xa5\x35\x19\x7e\x63\x38\x7b\xee\xb7\x99\xf6\xf2\xee\x6e\xd6\x50\x4c\xe3\x54\x9e\x7b\x90\xfe\xa0\x2b\xd3\x3c\x1d\xf9\x54\x34\xea\x8e\xec\x42\xe3\xe6\x2d\xdc\xbe\x5b\xa5\x40\x41\xa6\xd2\x64\x2f\x79\x40\x65\xb6\xf3\x41\xf7\x2a\x6d\xc5\x68\xc9\x9b\x96\x88\x30\x33\xe8\x0e\x4e\x3e\xe7\x39\xa1\x20\xf3\x33\xf7\xe8\x44\xa0\xd6\xcb\x93\xb5\x7f\x98\x1e\x1c\x86\xca\xac\x08\xef\xdf\xea\x06\x1e\xa3\x83\xd1\xe0\x79\x02\xec\x2a\x1f\x7b\x2b\x0c\xee\x49\x19\xf4\x66\x44\x24\x02\x35\x77\xbf\x08\x18\x94\xa0\xa2\x5b\x45\x06\x8b\x47\x13\xa6\x65\x93\x86\x4c\xdf\x65\xbe\x75\x72\x80\x48\xf2\xe0\xba\x0f\xc9\xe7\x02\x31\x8c\x9d\x11\xb4\x1b\x95\x1f\xbc\x54\xff\x7e\xce\xa7\x1d\x74\x57\x79\x77\xb3\x24\x76\x73\x6a\x18\x12\xac\x66\x32\x28\xfd\x64\xe8\xdb\xef\x46\xd7\x67\x5d\x6b\x53\x7a\x21\x7e\xa0\x27\x5d\x1e\x3a\x34\x05\x60\x04\x89\x6c\x79\x69\x31\x9f\x59\xca\xb8\x80\xc0\x37\x79\xf3\x08\xad\x54\xe1\xa3\xc4\x29\x12\x49\x4a\xd1\xf2\x9b\x75\x8b\xcd\x20\x96\xb2\xa5\xbe\x5e\xc4\xc2\x03\xd5\xb3\x12\x83\xc4\xb7\x98\x27\x5e\x44\xa1\x1f\xe7\x76\xd2\xd4\xd0\xd1\xf7\x83\xd3\x49\x77\x4e\x7b\x2b\x24\x3e\xc7\x7c\x0c\xf2\xd4\xd8\xbf\xf3\x7a\xec\x46\x64\xf9\x17\xde\x19\x9c\xde\x61\x0c\xed\x1e\xba\x91\xcc\xe6\xa2\x04\x4f\xbc\xdf\x62\x44\x4c\x1f\xd1\x7b\xcc\xac\xf7\xb5\x6f\xc0\xbe\x9d\x3c\x35\x7c\xff\xca\x90\x96\x80\x2d\x44\x49\x9f\xa0\xdf\x9a\x6b\xf9\xad\xd7\x79\xeb\xb5\x42\x6f\x57\xc5\x2b\xf7\x6f\x95\xcb\xc9\x5e\xe8\xc4\x27\x5e\x4e\x3f\xf1\xc1\xe8\x20\x16\x3d\x38\x5c\x7c\x37\x72\x70\x30\xe2\x7e\x49\x71\xc0\x0b\x87\x58\xbc\xf6\x8a\x9a\xec\xaa\xfa\xb3\xa3\xca\x33\xad\x0a\x58\x94\x9e\xda\x64\x79\x7a\xc0\xac\x6c\x99\xc9\xc9\x30\xad\x45\x18\x98\x0b\x70\x29\xf5\xdb\x4b\x15\x8c\x64\xad\x1e\xca\x42\xc4\x94\x2c\x8b\x44\xe5\x4b\x84\xa1\x0b\xce\x9e\x6b\x83\xb9\xfd\x6d\xff\xf1\xee\x3f\x5e\x24\x87\x0c\x66\x52\x64\x39\x4d\x22\x51\xa8\xc8\x25\xf8\xeb\xa7\xc6\xa8\xd1\xa3\x66\xf4\x48\xaa\xc7\xc3\xa7\x87\x5d\xe9\x39\x5f\x52\xdc\xf9\x55\x9b\xb0\x41\x71\xf3\x7d\x3c\xdc\xd8\xf9\x84\xd6\x3d\x80\x5e\xf1\xc6\x46\x2d\xda\x8b\xd4\x56\x9a\xbb\xf2\xbc\x06\xec\x9a\xbd\x56\x71\xbe\x2a\xc4\x9d\xaa\x2f\x7f\x73\xdc\x00\x72\x94\x9a\xe7\xfc\xdd\x07\x0f\xa4\xb0\xeb\xcd\x19\x75\x21\x60\x44\xeb\xdc\xde\xf2\x5b\x49\xeb\x77\xf8\x3d\x29\x09\x45\x6b\x8a\x76\xde\x1a\xab\xd6\x6b\xc8\xbf\x67\x6f\x75\xfd\x53\x94\x2c\x60\xf9\xe7\xeb\xd1\x2a\x0e\xe7\xb3\xa3\x3a\x88\x0b\x67\x3c\x84\x4e\xb7\xa3\x89\x91\xcf\xbe\x24\x7b\xd6\xa9\xda\x97\x6d\x98\xbe\xdf\x95\x9d\xcb\xbb\x3a\x37\x6d\xca\x4c\xcc\x9d\x56\x50\xa8\x09\x89\xf9\x0f\x84\x5a\x6f\x9d\x78\xe3\x86\xf4\x5c\xd9\x62\x27\x43\xf8\xda\x4c\x7d\x7a\x71\x21\x3d\x15\x45\x77\xa2\x0a\x68\x38\xaa\x98\x93\x74\x8a\x92\x5b\xc1\x46\x33\x58\x63\x84\xd5\xe1\x58\x72\x75\xf0\x2e\xbd\x24\x04\x4b\x7c\xd8\x33\x8a\x62\x93\xd3\x38\xa5\xf5\x99\x72\x05\xa5\xd2\x8b\xab\xfd\xdb\x3f\x4d\x1c\x7a\x62\xde\xa8\xaa\x41\x1f\xe3\xd4\xa7\x3f\xca\x6b\x2b\x51\xb3\x19\xea\x10\x3d\x8a\x4a\x5a\x3b\x54\xf8\x67\x72\xf9\xbf\x5d\x4d\x1a\x13\x7b\x43\xd4\x7d\x42\x4b\xc4\xd4\x15\x26\x30\x9f\x8c\x46\x7e\x7e\xa2\x59\xeb\xe3\x3a\x8d\x50\x5d\x9a\x5c\xc8\xe4\x0a\x42\xb6\x8c\x92\x54\xa4\x2a\x26\xb1\xfd\x2c\x46\x1f\x9f\x75\x04\xf4\x55\xb7\x79\x97\xa6\xe3\x60\x48\x81\xfd\x6e\xb3\x0d\x6e\x1e\xb1\x9a\x0d\x0b\x46\xfe\xe3\xc0\x7c\xca\x4b\x8f\x6c\x6e\x86\xd1\x78\xc0\x8a\x19\x5c\x2e\xe5\x8d\xf0\x98\xde\x48\x7c\xae\xc3\xd2\x49\x6d\x8e\x2c\xc5\x69\x5d\xb3\x26\x1a\xa7\x01\x2b\x43\x8a\xb9\x39\xf3\xf8\xa7\x1b\x44\x0e\x5a\x89\x86\xe8\x81\x37\x83\x2b\xe6\xfb\x67\xfd\x8f\x90\xc7\x44\x73\xc1\xee\x3e\x9c\xa9\x85\xf0\x01\x9e\x04\x86\x8a\xe4\xb3\xd6\x0c\x6d\x62\x98\x7f\x7c\x7b\xec\x86\x7b\x71\x80\x4f\x75\x79\x65\xe2\x87\xda\xac\x28\x2b\x37\x04\xdf\xe4\x6f\xca\x88\x7a\x30\x27\xf0\x23\x32\xb1\x56\x51\x07\xb2\x9e\xd8\xc7\x97\x14\x4d\x86\x45\xb3\xaf\x7d\x9e\x0a\x1c\x1f\xab\x87\x4c\x4b\xef\x34\xd4\x08\xd6\x7e\xf6\x49\x89\x3a\x9d\xd6\xb2\xc7\x8c\x35\x27\x4a\xd0\x65\x39\x77\x73\x65\x3e\x7b\x68\x50\x99\x8a\x67\x8d\x8b\x16\x94\x2c\xab\x88\x66\x21\xa6\x6b\xe5\xcb\xd8\xe5\x9c\x9f\x5e\xd8\xc2\xc6\x86\x8c\xe8\x6c\x7c\xc0\x77\xfc\x75\x7c\xc3\x91\xdf\xac\xba\x3c\x65\xd4\xf2\x12\xcd\x9b\xd4\xf8\x06\xd4\x9d\x7c\x77\x5a\x40\x4f\xe2\x69\x1a\x50\xc9\xf2\xae\x09\x80\x6c\xf4\x06\x6e\x73\xd1\x1d\x9e\x53\x0c\x8f\xd6\x94\xb9\xa1\xa4\x4c\xce\xc9\x16\x7c\x92\xfb\xc6\x42\x72\xca\xe0\x25\x49\x94\xd0\xa0\xa3\x75\xd6\xa1\x3b\x45\xdb\xcc\x52\x2c\x8e\xfb\xc5\x4d\x6a\x37\xab\x9b\x97\x6c\x7d\xbe\x2d\x5b\xc1\xce\x12\x80\x60\x14\xe4\x70\xf6\xe1\xfa\xc1\xfc\xc9\xae\xbc\x18\x30\xd9\x81\x2e\x75\x9f\x0f\xc3\x49\x16\x22\x75\x11\x43\x43\x11\x36\xa7\x4c\x00\x99\x99\x15\xb9\x4e\x7f\xe5\xe6\x2d\x92\x4a\x1d\xa5\x62\xcc\x3b\x42\x84\x21\xc1\x20\x9a\xe9\x7e\x29\x8b\x98\x8a\xe6\x34\x64\x6e\x92\x64\x4e\x6a\x37\x73\x9a\x27\xb6\x45\x09\x6f\x8e\x39\x4a\xe3\x8f\x0b\x09\x6e\x30\x88\x92\x90\x70\xdc\x33\x9e\x03\x3b\x93\xbe\xb5\xeb\xcc\x9d\xd1\x30\x15\x37\x2a\x5d\x14\xf8\x52\xdd\x87\xb5\xc6\x89\xe8\x05\x43\xd7\x1c\xfb\x20\xdc\x99\x3c\x3f\xdc\xc1\x7f\x90\x34\xfa\xa4\xa1\x3f\x18\xb6\x7b\x74\x9a\x71\xab\x9e\xb2\xaa\xb3\xa2\xc0\xf8\x1b\x9e\xc6\x62\xd7\x58\xe1\xb0\x1f\xd0\xdd\xb0\x1f\x7f\xbc\xf3\xf1\x81\x10\x65\x0f\x10\xe1\xc2\x6d\xf5\x37\xb7\x96\x09\x97\x09\x77\xe4\xbf\x76\xb9\x43\xa8\x7f\xb2\x6c\xe4\xfc\xf5\x57\x86\x6a\xdc\x6d\x0c\x27\xe6\x7c\x5b\x64\xb6\x1c\xf6\x3e\xc9\x1b\xa6\xa6\x44\x91\x51\x93\x78\x05\x33\x43\x6b\xdf\x70\x16\x29\xbb\x9c\xf3\x65\x0e\xaf\x9e\x8d\x43\x3e\xa8\xe5\xd4\x9e\x24\x1e\xda\x32\x66\x3d\xe1\xe4\xfc\xe6\xf1\x3a\x48\xca\xfa\x68\x35\xda\xa2\x08\x12\xa1\xfa\x68\x46\xec\xfc\x9c\xe1\x4c\xb6\x2c\x40\x98\xbe\x3a\x9c\x90\x9f\xa3\xb2\x18\x45\x98\xb2\x7e\x37\x81\xe6\x42\x56\x3f\x51\x23\x91\x98\xbc\x33\x51\x41\xe6\x2e\xd1\x98\xda\xac\x90\xee\x78\x57\xed\x75\x6a\xcd\x54\x03\x82\x61\x37\x1c\x60\x4e\xba\x22\xa3\x2a\x8c\x6b\x4b\x62\x59\xc0\xcb\x4a\x44\x1c\xb5\x3a\x0a\x9e\x89\x14\x2c\x54\xfa\xb3\xbf\xce\x33\x73\x71\xc8\x25\xcd\x83\x21\x4c\x8e\x6f\x0c\x04\x12\x6f\x50\x8c\x4d\xbc\x5a\x7e\x38\x5f\x1e\x42\x55\xeb\x9e\x68\xbd\x32\x7c\xa5\xf5\x48\x14\x40\x95\x87\x84\xf3\xbd\xf2\x6d\xe2\xad\x45\x6a\x5d\x3c\x14\xaf\xd6\x6d\x1f\xc8\x18\xee\xbb\x09\x77\x46\xc9\x87\xbb\x7c\xea\x21\x5b\xa3\xca\x24\xac\x05\xe6\x51\x8b\xa5\x23\xcf\x7a\xf5\x96\x98\xeb\x00\x54\xde\x1a\xd6\x9e\x4e\xe8\xca\x36\x12\x84\x09\x09\xef\xe8\xae\x8e\xa1\x48\x0f\x1d\x4e\x62\x21\x1b\x62\x27\x16\x72\xc8\x56\xe1\xca\xc5\x21\x52\x05\x95\x6e\x1e\xaf\x26\x3e\x77\xbe\x89\xdd\x77\xfe\xac\xbb\xda\x1e\x98\xb8\xaa\x29\xa4\x72\x52\x19\x60\xf2\x3e\x3c\x5c\xba\xe7\x7c\xf1\xa6\x61\x00\x91\x20\x09\xc1\x10\x90\x2b\x8f\x8e\x51\x7f\xdb\xb9\x6f\xa3\xee\xf0\xbe\x3d\x7f\x02\x62\x24\x4a\x68\x93\x99\xdc\x92\x22\x41\xe4\xb8\x84\xa3\x75\x75\x3f\xf9\x04\x04\x5c\x1e\xef\x9e\xc4\x68\x47\x21\xee\x37\x15\xca\xcb\xbd\x26\x4b\x3e\xaa\xae\x70\x35\x30\xab\x45\x99\xab\x2a\xe5\xd4\xda\x7e\x23\x3e\xc4\xa4\x52\x94\x3e\x70\x38\x25\xdf\x1d\x71\xfc\x9b\x7b\xff\xcd\x7d\xcb\x23\x0b\xbb\xf2\x70\x87\x89\xd3\xc4\x71\x93\xcd\xbf\xc6\x66\x4f\x47\x5b\x70\x56\x61\xa0\xe6\x72\x11\x4e\xe0\x76\xc8\xff\x0a\x40\x60\x48\x94\x72\xea\x72\xb7\x9d\x55\x48\x6b\x9a\xce\xad\x7c\x7a\xac\x98\x67\x2c\x74\xff\xf0\x51\xb2\xf0\xe0\xec\xcd\xad\xe8\x4e\x62\xfc\x07\x0e\xb4\x29\xe5\xed\x59\x18\xc4\x30\x47\xdf\x7d\x77\x73\x3d\x97\x7f\x3f\x11\x31\xfd\x5d\x06\xf8\xce\x9f\x1e\x2e\x3a\xe7\xd3\xe6\xd1\x58\x0c\x01\x89\xef\xd3\xbb\x24\xa3\xcc\x1c\x56\xb7\xde\x8d\xda\x81\x73\x77\xd7\x05\x2f\x8c\xe2\x40\xad\x40\x01\x05\xea\xee\xde\x7b\x57\x2c\x7d\x76\xe2\x9c\xa5\x22\xd4\xb8\x7a\xd0\x03\xf4\xd4\xd6\x45\x49\x1f\x07\x49\x4b\x90\x1d\x55\xed\x00\x81\xc5\x8f\x49\x65\x9b\x50\x00\x91\x60\x89\x9b\x66\x71\x98\x34\xea\x92\x80\x3c\x45\x74\xb4\x5c\x7c\x0f\x34\x3a\x43\x28\x7a\x0f\x1d\x6d\xa8\x3b\x6e\x09\x94\x69\x68\x1d\x30\x37\x98\xb9\x15\x31\x28\x8b\x58\x58\xff\x62\x3e\xd9\x79\x5d\x25\x5d\xf0\xba\x20\x9a\x08\x2d\x1c\x22\xd5\x93\x39\x11\xe1\x73\x87\xe6\x7a\x10\x18\x52\x69\x11\x95\x20\x0d\xd9\xaa\x1f\xd3\x8d\xeb\x9f\xa4\x31\x13\x8c\x21\xa4\x53\x6a\xf1\x33\x0d\xf7\xc7\x5e\xac\xa7\x2d\x53\x60\x59\x39\x00\x04\x84\x9c\x1f\xb1\x04\x80\x25\xcc\xa5\xca\x92\x81\x3e\xa2\x32\x97\x2e\xbe\x2d\x7d\xb7\x70\xd1\xb7\xe9\xf3\x37\xf7\xb9\x5e\x16\xe6\x2d\x52\xb8\xd5\x32\xe9\x55\xef\xb3\x5b\xe2\xf2\xf7\x0e\x4b\x56\x8f\x1f\x5e\xb5\xb6\x8f\xbb\x6a\xf1\xd0\x5d\x12\xee\x4e\xe7\x89\x85\x1e\x81\x61\x8e\xc6\x22\x7d\xfa\xb6\xba\x2d\xe9\xec\x7c\xf6\xb2\xfa\xb2\xba\x20\x6b\x1f\xdd\x32\x61\xfa\x02\x5e\xa6\xa0\x9e\x94\x21\x62\x29\x2d\x44\xb4\xd2\x15\x2a\x35\x0f\xcf\x37\x68\x6f\xd9\xd1\xa0\xfb\xe8\x82\x4a\xfe\xf2\xd2\x3f\x5c\xce\xb6\x6e\x3c\x1a\xf4\x6f\xff\xf1\x51\x9b\xfe\xb4\x30\x5e\xa6\x30\x36\x9e\x25\x06\x67\xf2\x15\x3e\x29\xc0\x66\xde\xc7\x55\xcc\x2a\x37\x05\xdd\xc2\xc7\x55\xe8\xfd\x9c\xff\x27\xb9\x7f\x88\x4d\x24\x2b\xeb\xcf\xfd\xc6\x36\x5f\x37\x09\xd4\xa4\xa0\xfa\x1f\x59\xd5\x07\x7c\x6a\xf5\xf4\xf3\x8c\xc1\x69\x70\xfa\xff\x55\x7a\xc7\xb5\x41\x90\xdb\x13\xaa\xc8\xfb\xcf\xd6\xf2\x8f\xb4\x0e\x5b\xd2\x0c\x0c\x93\x92\x2e\x10\x60\x08\xf4\x7b\x0c\x66\xbb\x22\x5b\xea\xa8\x83\xa3\xf6\x9c\xdf\x48\x31\x37\xd6\x30\x83\xae\x75\x20\x65\x65\xc9\xb2\x48\xb9\x6b\x2e\x92\xbe\xc2\x61\x30\x3c\xd1\x62\x47\x51\xd0\x4a\x69\x99\x25\xb9\x91\x5f\xca\x2b\x21\xd7\xd3\xe8\x7d\x57\xf7\x6a\xdb\x91\x75\x28\x47\x6b\x66\xe2\xdc\x45\x73\x46\x98\x2f\xa3\x72\xd9\x01\x79\x79\xc5\x23\x8a\x58\x7f\x35\xda\x46\x99\xcf\x13\x48\xe2\xc6\xae\x35\x10\xfb\x9f\x1a\x59\xcb\x65\x99\xea\x38\x3c\xf2\x31\x1e\x67\xed\x9c\xa8\x1a\x98\x7d\x66\x50\xab\x7d\xd5\x2c\x2d\xa6\x5e\x5f\x8a\x4a\xda\xc6\x1e\xcf\xb7\x26\x7d\x24\xf1\xdb\x36\xc7\x76\xc6\xb8\xdb\xee\xa4\x02\xb1\xff\x65\xd7\xfe\xd6\xc4\x6f\x91\x30\xaf\x8b\x1e\x3f\xeb\x1f\x0a\x01\x7b\xd4\x64\xc2\x96\xe1\x22\x00\xe2\xf6\x2b\x06\x95\x14\x3d\x99\xf8\x92\xbe\x2a\xa7\xda\x63\x8c\x14\x79\xaa\xe2\x78\x79\xcb\x5a\x25\xad\x3d\x76\x53\x23\x43\xc6\xe9\x39\x0a\x70\x22\x38\x2a\xec\x5e\x1d\x5a\x78\xc4\xdd\x37\x53\xd6\xcd\x8a\x3b\xcf\xd9\xc5\xfa\x73\xbc\xb9\xb8\x5f\x22\x95\xcc\xaf\x69\xbf\xd7\x23\x27\xc9\x2b\x2a\xc7\x71\x32\x1a\x13\x49\x05\xd2\x1e\x94\x79\x6c\x25\x0b\x97\x8a\x45\x8e\xb8\xa4\xa3\x5e\x5b\xc6\x89\xf8\x85\x37\xb0\x38\x41\xac\x2d\x02\xd3\x16\x34\x1c\xf3\xe3\x8b\xb2\xfc\x2e\xab\xf8\x41\xd3\x75\x1e\x46\xea\x8d\x45\x4f\x5a\x9a\x61\xde\x18\x3b\x52\x33\x47\x05\xd5\x46\xe7\xe4\xc6\x18\x18\xe9\x7e\x14\x03\x23\x91\xc2\x9e\x18\xe8\x89\x54\xba\x5d\x5c\x7b\x6a\x67\xa1\x57\xf4\x8c\x0f\x58\x07\xb3\x08\x7e\xf6\x3c\x0c\x9b\x70\x44\x6d\xb1\x45\xca\xdd\xad\xe2\xf4\xed\x51\x86\x1a\x8e\x47\xbd\x0c\x43\x04\x1b\x0f\xf2\xf0\x88\xf8\xe7\x3d\x70\x89\x24\x73\x43\xab\x54\x22\xbb\x91\x8c\x59\x1f\xb4\x75\x47\x3f\xdc\xd6\x31\x7a\xcb\xa0\x78\xab\xfc\x69\x01\xb5\x76\x91\x35\x3a\xe8\x68\xac\x60\xd2\x08\x87\xe4\xba\x9f\x23\x9f\x2a\x1d\x90\x90\x91\x9a\x8c\x2c\xf7\xba\xa3\x18\xeb\x92\x66\x06\x10\xf8\x23\x15\x3e\x33\x65\xb3\x54\x75\xed\x93\xd4\x75\x2b\x28\xef\x81\x6c\x85\x3a\xd3\xcb\x2a\x6f\xd8\x77\xc6\xe4\xd0\xfe\x03\xfa\x51\x93\xfb\xe5\xca\x91\x8f\xd3\x47\x77\x45\xbf\x02\xad\x38\xf8\x85\xf1\xb0\x77\xae\x9b\xaf\xbf\x55\x95\xb2\xd5\x9b\xfc\x6e\xeb\xa7\x0f\x4b\x8c\x2d\xb7\x20\xdb\x0b\xcd\x8e\x4b\xa1\x4d\xed\xb2\xe3\x72\x86\x39\xbf\x5d\xad\x61\x79\xfa\xb6\x2b\xf4\xd0\x32\xb6\xb6\xde\x70\x2b\xd2\xb9\xee\x1f\xac\xba\xa8\x78\xa4\x97\x3f\xe4\x5f\x51\x7b\xf8\x8c\x28\xc7\xb6\x0e\x3b\x7f\x0a\xdd\x2d\x17\x21\x98\xe4\x31\x46\x52\x1b\x39\x6e\xff\x14\x66\x8b\x0c\xf7\x21\xad\xd0\x9a\xda\xc7\x0f\x9a\xaa\x11\xeb\x91\x3f\x6e\xeb\xf8\x08\xe6\x8c\x0a\x00\x20\x63\x03\x44\x24\x3d\x4b\x8e\xb6\x6e\x2c\x50\x89\x59\x67\xfe\xcb\x1a\x78\x71\xcf\xcd\xa9\xd1\x27\x43\xf1\xd0\x06\x20\x0a\xde\x7d\xd6\x47\xe1\x25\x33\x43\x67\xad\x51\xf9\xd3\x9c\x63\x0e\x24\xd6\x6e\xf7\x25\x6c\x63\x66\xe8\xac\x55\xcb\x8c\xa0\x4e\xea\xb7\x0e\x5e\xf6\xde\xa4\x1e\xba\x08\xa3\x4d\x86\x2d\xee\x27\x4b\x56\xbc\xcf\x9a\xcd\x39\xb8\x79\x91\xf3\x65\xf2\x7a\xb1\x62\x51\x03\xa6\xbe\xc8\xb5\xa1\x10\xb3\xc6\x8f\x78\x54\xe3\x52\xd0\x51\xa6\x97\xa6\x35\x7e\x0d\x5e\x9d\x8d\x75\x39\x67\x11\xe6\xf0\x33\xff\x1c\x66\x20\xcc\x7b\x89\xae\x26\x23\x54\x8a\x88\x75\xd3\x48\x9d\x7f\x04\x38\x25\x15\xf8\xa6\xdd\x32\x74\xf2\x29\x3a\xf5\x4e\x23\xe3\x87\x73\x9a\x3f\x3f\x25\x92\xeb\xa8\x3f\x30\x35\xa5\x12\xa7\xb6\xd2\xd1\x99\xb4\x54\x2a\xad\x03\x52\xbb\x03\xac\x67\xd3\x29\x53\xd7\x90\x79\x1a\x22\xd2\x87\x53\x41\xdc\xbb\xca\xe9\x8c\xaa\xaf\x17\x29\x71\xfe\xf7\xa5\x52\xd3\x4b\x3d\x57\x10\x97\x48\xc4\x12\x90\x9d\x3d\xb0\xbc\x2e\x28\x3c\xbf\xd4\xcb\x3e\x4c\x7d\xff\x2c\xce\x19\x37\xf0\xe6\xb1\xab\xcd\xc6\x8e\x1a\x97\xb8\x50\xa7\x9e\x9f\x20\x7f\x73\xed\x2b\x1e\xe6\x66\x49\x02\xbd\xd0\x58\x5c\x68\x96\x8f\x9e\x3b\x73\xc6\x62\x29\xf4\xbd\x2e\x56\x00\xe1\xaf\xd3\xc4\xa6\x2c\xec\xd5\x7c\x70\x55\xf7\xfc\x99\xe9\x59\x59\xb5\x18\x0d\xb5\xae\x7d\xd2\x30\xd3\x90\x54\xa4\x7a\x16\xfb\xad\x71\xda\x4d\x9e\x65\x52\x70\x0c\xfc\x0b\x11\xc0\xcf\x16\x2d\x4e\x02\x53\x5c\x20\xe0\xc0\x2e\xe3\x5d\xf0\x0b\x93\xed\xf9\x48\x87\x64\x8f\x76\x07\xc7\x69\xdf\x64\x4b\x39\x7d\xef\x64\x71\x7a\x81\x0f\xe2\xe2\x4b\xca\x10\x35\xf3\x6e\x58\x20\x65\x87\xe7\x10\xfc\x35\x62\x46\xbf\xa0\xc1\x36\xa9\xca\x8d\x6d\x87\x43\xca\xd4\x40\x3b\xe5\x3f\xb7\x7b\xef\x88\xae\x52\x2c\x6c\xb0\x3d\xde\xfa\x9a\x86\x70\xc4\xfd\x65\x99\xf0\x88\x28\xef\x16\xaf\x46\x4d\x2d\xdf\xd7\x63\x16\xc4\x3c\xbb\x3a\x0b\x47\xc8\xd0\x9d\x1b\x6e\xc8\xd1\xe5\x96\x8a\x05\xde\xe6\x14\xdb\xdc\x26\x18\x52\xc6\x61\x52\x56\xce\xd5\x7a\x14\x2a\x2f\x83\xd2\xb4\x54\x99\x23\xf3\x9c\x48\x36\x08\xac\x80\xf1\xa1\xec\x76\xd9\xf4\xad\xb4\xdb\x23\xca\x0f\x49\xdd\x28\xd7\xe1\xdb\xe9\x56\x21\x51\xd2\xa0\x84\xcd\x18\x47\xe7\xf0\x7f\xe9\xdf\x84\x9d\x04\x17\x2b\x78\xc4\x6d\x32\x6b\x33\xa8\xa6\x03\x18\xbb\xe1\x7a\x55\xe6\x33\x35\xd5\xb0\xa7\x03\x85\xf7\xb2\x32\x6f\x1a\x99\x7e\x47\x71\x88\xeb\x72\x94\x76\x20\x0f\x04\xc1\xb3\xbe\x82\xf3\x0f\x2a\xe3\x0d\xa5\xb5\x5b\xd5\x92\xe1\x43\xea\xac\x5b\x7e\x3a\xeb\x6d\x26\x95\xdd\x24\xde\x07\x34\x69\x6a\xa5\xef\x42\x38\xaf\x34\x7c\x97\xba\xfa\xd8\x8d\x70\x48\xdc\xe6\x72\x9f\x1b\xd7\xd5\x2b\xc6\xba\x51\x29\xa9\xda\xfb\xd8\x82\x99\x49\xde\x0a\xf2\x3c\x44\x6d\x1e\x68\xdd\xce\x09\x6c\xb3\xb9\x48\x1e\xe3\x37\x49\x79\x0c\xaa\x43\x8e\xe5\x17\x6a\xb3\xf9\xcf\xfc\xbd\xfc\x41\x47\xa1\x40\x1b\xb0\xc4\xca\x5e\xe4\x72\x55\x04\x65\x35\x90\xf6\xc3\xb4\x63\xfa\x47\x1b\x23\x5b\x21\x43\xc9\x22\x4a\x03\xe9\x54\xdc\xbb\x72\x37\x2b\x4c\x03\x55\xca\xbb\xfa\x90\x7c\x25\xef\x23\x4e\x80\x4d\xb7\x36\xd5\x74\x3f\x12\x26\xb2\x83\xf8\x42\xfd\xf0\xad\x44\xbd\x6f\xfa\x85\x3b\xe5\x06\x3c\x3e\xc9\xd0\x67\xb2\x48\xa5\x53\x07\xcb\xea\xae\x62\x61\x2d\x75\x69\x2d\x81\x1f\xc6\x6c\xff\xa1\xdb\xf4\xf8\x2f\xd0\xbe\xd0\x30\xa6\x5c\x4d\xcb\x7d\x4b\xf8\x3f\xe4\x46\x64\x44\x93\x96\x7b\x3d\xc8\x7b\x3c\x07\xd4\x8d\x1f\x7f\xe5\xef\x08\x8a\x5e\xd1\xa0\x92\xef\x8c\x3b\xf0\x8a\x15\xf7\x7c\x78\xbb\xdd\x8b\x09\x97\x1a\xf2\xf9\x5d\x1d\x39\x34\x6a\xfb\xcc\xdc\x1b\x11\x46\x11\x61\xfa\xa1\x66\xdf\x7c\x12\xc6\x6c\x5c\x16\x1b\xbc\x51\xb3\x21\x8e\x72\x35\xb9\xf4\x33\x4c\xdd\x1f\x63\x1b\x36\x9a\x3f\x61\xe3\x61\xf6\xb9\xc3\x35\xdf\x63\x8d\xcd\x47\x7c\xaf\x2d\xf8\x01\xc7\xc0\x87\xd9\x6c\x73\x5e\xd7\xf3\xab\xc4\x38\x9a\x25\xcb\x17\x36\x75\xe0\x9b\x4f\x86\xe7\x39\xe3\x51\xb8\xbe\xc7\x9f\x0b\x97\x8e\x6e\x58\x49\x78\xaf\xfd\x8d\xf2\x34\x70\x61\xdc\xbd\x1a\x66\xbd\xce\xb6\xdd\xf6\x4b\x7e\xca\x3f\x1c\x2b\x32\x79\x49\x05\x62\x29\xa2\xb1\x3b\xe6\x28\xf9\x1a\xe5\x4a\xfc\x91\x8e\xce\x95\xd0\x46\x48\xba\xea\x91\xf8\xf1\xce\xd8\x2b\xe0\x84\x2a\x31\x26\x22\xc9\xb0\xe1\xe1\xc9\x8d\xac\xb0\xdd\x50\x02\xc6\x61\xce\x25\x27\x6f\x06\x91\x66\x3f\xbd\x1c\x95\x84\x63\x4f\xca\x4f\xc1\x4b\x0b\xe4\xec\x1d\xdf\xc2\x38\x9c\x56\x7a\xea\xec\x4d\x95\x8c\xc3\xa9\x91\x63\x67\x88\xce\xd6\xa7\x13\xf5\x1c\x36\x59\x5f\x7d\xf7\x09\xdb\x0e\x6f\xfc\x94\x6d\xbc\xf3\xff\x2b\x7a\x67\x54\x7c\xee\x85\x56\x51\x3f\x27\xa9\xf5\x11\x8e\xe9\x99\x22\x91\x78\xa6\x18\x17\xe4\x52\x8f\x3b\x67\x4f\x5e\xd4\x4c\xdb\xc4\x38\x3b\xd4\xde\x71\xc6\xdc\xde\x61\xb0\x87\xdf\x98\x6c\xad\x4c\x62\x8c\x4c\x5c\xfa\x57\x77\xc8\x3e\x6b\xb0\xf9\x86\x7e\x5b\x67\x77\x6b\xe3\xf1\x05\x3a\xdb\xd1\x3e\x04\x32\x7d\x5a\x8b\x42\x9f\x7b\x9d\xa3\x57\x13\x0a\x2c\xf2\x91\x77\xbd\x26\xda\x53\xae\x20\x6b\xd7\xcb\x16\x17\x61\x40\x96\xd4\xb8\xf3\x3f\xb9\x36\x3e\x33\xa3\xa1\xb6\x91\x6e\x3d\x29\x3f\x7b\xc0\x32\xf8\xdc\x01\xa5\x84\xca\xee\xf0\xf4\x86\x9a\xc6\x48\x32\x1d\x2c\x0b\x29\x71\x93\xc2\x48\x08\x60\x0c\xfa\xbe\xde\x95\xba\x33\x6a\x6b\x54\xc4\x9e\x42\x19\x1e\xfa\x98\xc8\x3f\x92\x12\xde\x51\x6d\x24\x25\xdc\x29\xfa\x90\x94\xf4\xe1\x7d\x62\x55\xda\x71\x5f\xe5\xb1\x63\xbe\x71\x59\x09\x2d\x84\x1b\xd7\xd4\xcb\x13\x08\x5f\xcc\x31\xd3\x81\xbe\x29\x6a\xd6\x3f\x15\xa8\xa7\x87\x45\x3d\x37\x3e\xa7\xe3\x2d\x39\xe4\x36\xe5\x6c\x9f\x90\x04\x93\x2e\xaa\x9b\x20\x73\xf1\x96\x82\x78\x22\xe1\x68\xe0\x96\x82\x8d\x63\xbe\xb7\xb8\x5b\xc0\xcf\x79\x9e\xbb\x37\x87\x3f\xac\x4e\x0d\x2d\xfe\x16\xb1\x80\xd5\x12\xb4\x18\xa2\x20\x54\xe4\xf1\x10\x4b\xcd\xf8\xd2\xc5\x05\x82\xf4\xf7\x37\xf7\x04\x39\xe5\x7c\xb1\xd1\xb0\x78\x18\x7a\x94\x6a\xd2\x67\x6d\x68\x1c\xe4\x49\xf7\x6e\xb7\x48\xdf\x6f\x92\x67\x29\xeb\x88\x76\x87\xaa\xd9\x7e\xda\x16\xf5\xef\xb3\x1b\xeb\x0d\x43\xff\x3b\x10\x4c\x9a\x4a\x71\xed\x9d\x1a\x75\x0b\xf3\x9b\xd2\x70\xaf\x05\xfd\x6d\x57\xe7\x3c\x15\xf7\xb6\xb3\xcb\x97\x3d\x17\x6c\x2b\x28\x84\x6c\x43\x50\xfc\xf1\x19\x9e\x6d\x2d\x97\x5b\x49\xb3\x48\xf7\x48\x4b\x28\x85\x93\x7c\x4c\x51\x6b\xe0\x67\x0f\x81\xc2\xaa\x3f\x43\xf8\x45\x11\x42\x78\xb8\xbf\x7d\x51\x4e\xe0\x22\xcd\xf1\x3b\xb6\xb0\x46\x4e\x55\xb1\x8a\x63\x45\x0f\xec\xa9\x5c\x6b\x35\x45\xe1\x47\x0a\xd0\xbd\xc8\x12\x5e\x4a\x76\xd8\x3c\x84\x2b\x97\xa7\x44\x6b\xbd\x0b\x85\xcf\x72\xae\x4b\xec\x43\xad\x4e\x0d\x7f\xbd\x77\xc2\xb9\x2a\xae\x7b\x8c\xf1\xc1\x7f\xc2\xf6\xb8\xab\xcf\x9a\xf1\xa9\x3e\xe8\x06\x16\x8d\x6a\xa1\xe3\x68\xf8\xff\xc3\x89\xbd\x57\x7e\x7f\x7b\xaf\x7c\xf4\x6b\x9b\xc3\xbf\xab\xcf\x24\x06\x61\xff\x3d\xb9\xb1\xfe\xc8\xe3\x67\xf5\x31\xd9\x69\x0f\x7a\xe7\xdd\xc0\x83\x66\xd2\x86\x4d\xac\x8b\x6d\xb3\xa5\x06\x20\x01\xeb\x0c\xf0\xd1\x1f\x7a\x60\xd2\xfb\xac\x30\x1a\x58\x10\xff\x2a\xb4\xcb\x2b\x47\xe3\x7f\xa8\x6e\x1a\xd1\xd1\x20\x3f\x4a\x0f\x1d\x0c\xeb\x3e\x03\xc8\x06\x00\x5b\x53\x74\x81\x64\xb0\x3e\x29\x17\x8d\x12\x03\x60\x7a\x64\x4d\x1f\x91\xb8\xb4\x2b\xc8\x39\x82\xc1\xae\x2c\x5a\x27\x2c\x20\xc4\xaf\x3e\x19\x10\x63\x75\x7d\x6e\xc0\xaa\x6d\xc4\x90\xd8\x4e\xe9\x90\x3d\x99\x7a\x38\x01\x24\x11\x52\x02\xd5\xa3\xcc\x33\xf2\x63\x0c\xb1\xa8\x17\x31\x01\x4d\x45\x10\xac\xc4\x4b\xa4\x59\xbd\x24\xb7\xb6\x8d\x8b\xa3\xd3\xf0\x86\xd8\x04\xa1\xd4\x0d\x35\xea\x0a\xe4\x5d\x1c\x59\x3c\x7a\x88\x28\xb0\x8d\xb3\xbb\xa9\x3a\x1e\xcf\x4f\x62\xea\x4e\xa8\xbd\x41\x9b\x45\x8c\x03\x35\xd8\xa5\x2c\xbb\x8e\x2f\x9e\x01\xd0\x0e\x07\x00\x2d\xa4\xb1\xde\x44\x0c\xd9\xca\xb0\xe6\x01\xb2\x01\x13\xad\x73\x55\x84\x32\x0a\x62\xcc\x43\x3d\x87\x87\x95\x28\xb0\x46\xc9\x73\x55\x01\xd7\x3b\xcb\x8f\x28\x2e\xf3\x15\xe4\x26\x89\xef\x40\xc3\xb7\x11\x3f\x4b\x96\x2a\x17\x01\xd8\x95\xca\x31\xa4\xfc\xb8\x45\x3c\x87\x0a\x0f\x89\x7c\x67\xd7\x3c\xb4\x25\x0e\x75\x22\x0a\x93\xb0\x9a\x04\x6b\x43\xf0\x44\x19\x25\xca\xab\x91\xcd\x70\x80\x7a\x45\xa9\x5d\xef\x68\x3f\xa4\x2a\x64\xb3\x50\x67\xc8\x5c\xfb\x1e\x11\x52\x0a\x44\xdb\xc4\x87\x00\xea\x55\xba\x24\x46\xc0\xa3\x26\xd1\x69\xa8\xe6\xa9\x87\xf1\xaf\x5a\x3e\x5e\x3d\x15\x78\xdc\xa0\xe6\x88\x4b\x48\x55\x4e\x79\x18\x8f\x9c\xaa\x88\x78\x55\xb4\xc1\xf6\x04\x71\x9a\xe6\x59\xc9\x02\xc8\xf8\x64\x2a\xd5\x67\x67\xeb\x6d\x02\x6e\x4c\x15\xb8\x25\xae\x83\x72\x16\xe4\xb0\xbc\x21\xda\x40\x94\xd4\x5a\x22\x13\xc6\xf2\x9c\x5b\x1e\x22\x28\xf2\xcd\x98\x70\x66\xea\xcf\x6b\xae\x96\x1b\x22\x76\x87\x82\xe0\x1b\x24\x0e\xbe\xcf\x81\x39\x26\x7f\x4c\x9b\x49\xb4\x51\x1c\xa1\x91\xef\xe0\x56\xfc\x3a\xbe\xbd\xb2\x57\x49\x5a\xd4\x6b\x8a\x37\xe6\x02\xe3\x54\x54\xbe\x21\xcc\x58\x9b\x35\x32\x51\xa9\xa8\xdc\x49\xc1\xe9\xc1\x65\x28\x8b\x5a\x84\x05\xa6\x86\x50\x9b\xf8\x04\x15\x0a\x62\xa7\xc5\x7d\x4c\x4c\xdd\xcf\xb0\xdf\x3a\xd6\x2e\x27\xaf\xcf\x02\x81\x18\x54\x12\x2f\x0c\x89\x6b\x88\x53\x16\x2d\x8b\x3e\xaa\xc1\x9c\x6c\xac\x91\x54\x12\xd1\x12\xc7\x35\xd1\x7d\x54\x04\xd7\x72\x03\x05\x8a\xea\x23\xc4\x65\xe4\x28\xa7\xfc\x53\x9c\x47\x8f\x9c\x3a\x16\xae\x27\x57\x11\x6d\x9a\x50\x20\x00\x38\xf9\xe1\x9f\x6f\x56\x95\x56\xc7\xf5\xbf\xd0\x1d\x1a\xee\x8e\x37\x53\x7f\x2a\xaa\x8a\x02\x17\x36\xe2\x8b\xab\x83\x92\x2d\x82\xff\xa8\x37\x6b\xc3\x49\xe0\x35\x50\x7c\x2d\xe7\x77\xd1\x0f\x98\x85\xe0\x53\x9c\x58\xaa\xd1\xc9\xed\xbd\xe8\x2d\x12\x67\xa4\xd5\xf2\x0b\x60\x28\x08\xda\x54\xac\x8f\x7a\x49\x7f\x28\x13\x6a\x12\xdb\x61\x5a\x92\x63\x5e\x94\x77\x2e\x99\x96\x38\xaf\x9a\x14\x67\x2d\xc9\x66\x56\x99\xc2\xf6\xac\x5d\x68\x6c\xf6\x33\x2e\x79\x4f\x85\x75\x1c\xe2\x32\x26\xf6\xda\xdb\xf7\xae\x17\xba\xa5\x07\x38\x45\x41\x44\x7c\x4c\x7c\x5a\xda\x33\xb8\xc9\xa1\xa5\xd0\xd1\x32\xd6\x5d\xe9\xdb\x91\xf5\x35\xec\x4b\x71\x4f\x9f\x5b\xa1\xd8\xb4\xdc\xb5\x2c\x04\x1f\xd5\x84\x3e\xdd\x6b\x2a\x99\xd5\xc4\x6a\xd6\x1e\xb4\x0e\x73\xce\xad\x9a\x09\x2a\x8d\xde\xd1\xae\x7c\x5c\xed\x0f\x41\x5b\x0a\x96\xc7\x54\xef\xae\xcb\x05\x0b\x89\xa9\x4f\xcc\xdd\x3d\x35\xae\x40\x27\xfd\x0f\xe1\xd2\xd6\x7a\x9c\xe6\x02\x3d\x5d\x5a\x28\x43\x1b\x47\x06\x45\xe9\xdf\x66\x11\x4d\xb6\xed\x38\x1d\x94\x47\xf2\x83\x57\x87\xc9\x50\x2b\x71\xb1\x4e\x45\x80\xb7\x6d\xef\x46\x30\x36\xe3\x38\x5a\x3a\x12\x62\x37\xb9\xcf\xc5\x2d\x8c\x1a\xd0\xac\x9b\xb4\x25\x7f\xc6\x7b\x98\xcd\x43\x68\xc7\x19\xb0\xa3\xef\x84\x31\x9d\xf7\x5e\x74\xc5\xde\x6d\x2c\x52\xac\xa9\x1f\x5c\x8f\x05\xe8\x48\xe2\x0c\x54\x01\xa3\x5a\x23\x78\xb0\xe3\xae\xbd\x89\x97\xc8\x60\xdf\xec\x59\xb3\x27\xee\xdc\xf7\xb2\x7d\x3f\xb1\xbc\xf6\x9e\x18\x7d\x01\xa3\xec\x69\x6f\x75\x38\xcc\x4b\xd8\xd6\x50\x31\xeb\xc2\xf2\x08\xbb\xbd\xe3\xa5\x99\xe5\xa4\x86\x43\xb2\xb9\xca\x00\x9a\x1e\xbf\xed\xe2\xdb\xeb\xb0\xc0\x92\x5a\x91\x22\xb3\x38\x06\x8d\xb3\xac\xa7\xd6\xd8\x40\x78\xd7\x0a\x18\xc2\xb5\x2d\xcf\x60\x60\x9c\x50\x6a\x8c\x7d\x36\x4c\x6c\x97\x52\x9a\xf9\xfb\xf4\x55\x5c\xee\xfb\x83\x36\x5b\x0c\xcd\xd1\x43\x5a\xad\xb7\x9f\xbb\x88\x4e\xdc\x22\x1d\xf4\xc8\x2a\x59\xb3\xd1\x1b\xf5\x3d\x1e\x1d\x33\x43\x93\xc8\xbe\x33\xc5\xf3\xf4\x96\xda\xa3\x81\xdd\x78\x7e\xaf\xd0\x12\xfb\x2c\x63\x1f\x65\x1b\xbd\x47\x07\x8a\x9e\x14\x0b\x3b\x97\x2c\x35\xce\x52\x3e\x55\xb3\x77\xe6\x88\x36\xd4\xbc\xb4\x53\x41\x52\x37\x7c\x04\x61\x71\xf7\xe9\x75\x04\x87\xf0\x5e\xd8\xda\x81\x18\x3b\x56\xb2\x60\xdb\xbc\x3c\xae\xae\x56\x91\xf6\xbd\xf1\x92\xef\xa0\x56\xd3\x48\xc9\xaa\x45\x2d\xea\x33\xe2\x12\x8f\x74\x39\xc9\x85\x68\x96\x11\x86\x47\xeb\x3b\xc6\xe1\x9a\x7e\x19\x13\x56\xe8\x6e\x3c\x72\x01\x2d\xcb\xa5\xd6\xe6\xc8\xee\x7f\x13\x88\x86\x56\xc4\xd6\x3f\xc0\x25\x8a\x03\x61\x73\x52\xfd\x31\xb7\x94\x3e\x3a\x97\x98\x84\x99\x7b\xd8\x7e\xdb\x94\x78\xfd\x08\x39\x3a\xd6\x37\x4e\xdb\xfb\x2b\x6d\x31\xdd\xde\xd6\xe3\x66\x37\x35\x64\x19\x47\x17\x72\xcf\xc7\x7a\xd9\xef\x97\x5a\x46\xdd\xac\x28\x3a\xdb\xdf\x25\xb7\x50\x9f\x16\x0a\x39\xf2\xbb\xa8\x47\xac\x86\x61\x9c\x78\x4c\x49\xe0\x03\x72\x6c\x32\x7d\x89\xd1\xda\x3e\x16\x4d\xac\x6e\x3f\xd6\xcf\x4b\xfb\x77\x45\x2f\xd9\x13\x92\x3a\x54\xe3\x40\xd7\x02\xbf\x59\x5f\xb7\xc7\xef\x93\x61\xee\xee\xef\x5e\x4f\x00\xfa\x05\x4d\x45\x5e\x33\xa0\x09\xbf\x88\x8f\x98\x4f\xa7\x90\x5c\x10\xb8\xd0\x03\x81\x93\x9c\xc0\x81\x97\x73\x0a\x0d\x5f\xe6\x0c\x5e\x9c\xc9\x39\x1c\x24\x2d\x17\xf0\x91\x91\x51\xe6\x0e\xad\xc9\x35\x8c\xa5\x79\xb9\x0e\x27\xad\xcb\x6d\xb0\xd3\x0f\x73\x07\x12\xe9\xc9\xe7\xba\xd1\x81\x0d\x02\xc3\x63\xdc\x76\xe1\x56\x20\xe5\x04\x49\xa8\x89\xb4\xc2\xdf\x87\x9c\x21\x13\x3f\xe6\x1c\x49\x84\xe6\x02\xd9\x24\x37\xca\xdc\xa1\xea\x5c\xc3\xb3\x64\x5b\xae\x23\x85\xae\xcb\x6d\x48\xa0\xe1\xdc\x81\xce\xf4\xb3\xff\xee\x46\x7f\xc6\xde\x26\x38\x1c\xef\x24\x10\x2a\xb5\xa4\xb0\x00\xf6\x70\xca\xd6\x77\x2c\xe6\x84\x8f\xec\x68\x69\x1b\x68\xcc\xa7\x74\xdf\x2d\x06\x2c\x36\x11\xc3\x00\x69\x30\xb2\xaa\x0e\x49\x1c\xe9\x5e\xaf\x2c\x60\x8f\xc5\x9a\x06\x37\xa4\xf0\x7b\x7e\xaa\x35\x51\xfc\x52\x0b\x3c\x3f\x4f\xc8\x8a\x63\x25\x53\x87\x90\x8a\x28\x9a\xa0\x44\x3c\x11\x1b\xd3\x43\xc9\x93\xce\xac\xe2\xc7\xee\xd7\x2a\x99\x06\x02\xa2\x72\x1a\x9c\xf7\xfc\x57\x2f\xbe\x3c\x35\xf3\x99\x49\x54\x98\x87\xae\x2c\xfd\x79\x8b\x1f\x50\xe8\xff\x09\xf9\xf2\xf5\x34\x9d\x4d\x5e\xbf\x56\xcb\xbf\xb7\xd7\x8f\xaf\xab\x65\x3f\x31\xe4\x4d\x1c\xf7\xfc\x42\x4f\xc3\x50\xba\xad\x3c\x71\x42\x54\x7d\xab\xd7\x18\x36\x5a\x09\x7c\x07\x2e\x3c\x7f\xa3\x9b\x0c\x1c\x33\x70\xc8\x47\xcb\x32\x71\xaf\x5a\x6f\xdd\xb9\x98\x70\x7c\x55\x4e\x62\x55\x71\x6b\xe8\xc4\x77\x7e\x6d\xac\x15\xb9\x39\x60\xc6\x4c\x96\x45\xd5\x45\x40\x4b\x61\x7d\x96\xca\x21\x0c\x2c\x05\xb4\x8c\x2f\x8a\x90\x01\x70\xb7\xa0\x99\x37\x8a\x95\xf5\x62\x8b\xad\x20\x5d\xde\x10\xe1\x47\x13\xb5\x7b\xe0\xc8\xed\xb1\x90\xb3\xb0\x4f\x31\xbe\x18\x52\x31\xdc\xd9\x0d\x3b\xc4\x8d\x8c\xe4\x41\xd1\xdc\xf6\x26\x9a\xbd\xa4\x75\x1d\xc2\xb3\x46\xaa\x9c\x00\x3f\x87\x6d\x09\xc2\xfe\xc6\x1a\xc2\x9d\x5d\x80\xeb\x1c\x31\x9b\xeb\xf7\xd2\x0c\xcf\x9b\x14\xbe\x47\x67\x1f\xfd\xda\xc3\xd9\xeb\x8f\xbe\xfc\xff\x49\x59\xa4\x95\xe5\xb8\xc6\x83\x11\xfb\x23\x4a\xb2\xa2\x6a\xba\x61\x5a\xb6\xe3\x7a\x00\x22\x4c\x28\xe3\x42\x7a\x7e\x10\x46\x71\xa2\xb4\xb1\x69\x96\x17\x65\x55\x37\x6d\xd7\x0f\xe3\x34\x2f\xeb\xb6\x1f\xe7\x75\x3f\xef\xe7\x00\x40\x10\x18\x02\x85\xc1\x11\x48\x14\x1a\x83\xc5\xe1\x09\x44\x12\x99\x42\xa5\xd1\x19\x4c\x16\x9b\xc3\xe5\xf1\x05\xc2\x30\x7d\x2a\xbe\x58\x22\x95\xc9\x15\x4a\x95\x5a\xa3\xd5\xe9\x0d\x46\x93\xd9\x62\xb5\xd9\x1d\x4e\x97\xdb\xc7\xe3\xeb\x05\x40\x08\x46\x50\x0c\x27\x48\x8a\x66\x58\x8e\x17\x44\x49\x56\x54\x4d\x37\x4c\xcb\x76\x5c\xcf\x0f\xc2\x28\x4e\xd2\x2c\x2f\xca\xaa\x6e\xda\xae\x1f\xc6\x69\x5e\xd6\x6d\x3f\xce\xeb\x7e\xde\xdf\xdf\x0f\xc2\x28\x4e\xd2\x2c\x2f\xca\xaa\x6e\xda\xae\x07\x10\x61\x42\x19\x17\x52\x69\x63\xdd\x30\x4e\xf3\xb2\x6e\xfb\x71\x5e\xf7\xf3\x7e\x3f\xb1\xa8\x79\x64\xf5\xec\x3d\x23\x14\x3f\xa4\xa2\x6a\xba\x11\xca\xdf\xb4\x6c\xc7\xf5\x7c\x00\x84\x60\x04\xc5\x70\x82\xe4\xf1\x05\x42\x91\x58\x42\xd1\x0c\x2b\x95\xc9\x15\x4a\x95\x5a\xa3\xd5\xe9\x0d\x46\x93\xd9\x62\xb5\xd9\x1d\x4e\x97\xdb\xe3\xf5\x71\x00\x20\x08\x0c\x81\xc2\xe0\x08\x24\x0a\x8d\xc1\xe2\xf0\x04\x22\x29\x00\xa0\x50\x69\x74\x06\x93\xc5\xe6\x70\x79\x7c\x81\x50\x24\x96\x48\x65\x72\x85\x52\xa5\xd6\x68\x75\x7a\x83\xd1\x64\xb6\x58\x6d\x76\x87\xd3\xe5\xf6\xf1\xf8\x7a\x01\x40\x10\x18\x02\x85\xc1\x11\x48\x14\x1a\x83\xc5\xe1\x09\x44\x12\x99\x42\xa5\x59\x9e\xce\x60\xb2\xd8\x1c\x2e\x8f\x2f\x10\x8a\xc4\x12\xa9\x4c\xae\x50\xaa\xd4\x1a\xad\x4e\x6f\x30\x9a\xcc\x16\xab\xcd\xee\x70\xba\xdc\x1e\xaf\x9f\x3f\x5f\x20\x14\x89\x25\x52\x99\x5c\xa1\x54\xa9\x35\x5a\x9d\x1e\x00\x21\x18\x41\x31\x9c\x20\x29\x9a\x61\x39\x83\xd1\x64\xb6\x58\x6d\x76\x87\xd3\xe5\xf6\x78\x7d\x7e\x84\x09\x65\x5c\x48\xa5\x8d\x75\x1e\x9b\x15\x03\xd3\xb2\x5d\x6e\xc7\xe3\xf5\x29\xbf\x16\x00\x11\x26\x94\x71\x21\x3d\x3f\x08\xa3\x38\x51\xda\xd8\x34\xcb\x8b\xb2\xaa\x9b\xb6\xeb\x87\x71\x9a\x97\x75\xdb\x8f\xf3\xba\x9f\xf7\x73\x00\x08\xc1\x08\x8a\xe1\x04\x49\xd1\x0c\xcb\xf1\x82\x28\xc9\x8a\xaa\xe9\x86\x69\xd9\x8e\xeb\xf9\x41\x18\xc5\x49\x9a\xe5\x45\x59\xd5\x4d\xdb\xf5\xc3\x38\xcd\xcb\xba\xed\xc7\x79\xdd\x9f\xe7\xfb\x02\x20\x04\x23\x28\x86\x13\x24\x45\x33\x2c\xc7\x0b\xa2\x24\x2b\xaa\xa6\x1b\xa6\x65\x3b\xae\xe7\x07\x61\x14\x27\x69\x96\x17\x65\x55\x37\x6d\xd7\x1f\xce\x2f\x21\x98\xd5\x6d\x29\x68\x72\x59\x7a\x62\x9a\xfe\x33\x1a\xed\x33\xde\x53\x8e\x48\x60\x5d\x41\xc2\x4d\x78\x31\x41\xb2\xae\x80\x3e\x5d\x81\x88\xfa\x35\x9d\x6a\x81\x9d\x5e\x1d\x46\xe5\x69\xb5\x54\x5c\x3f\x38\x45\x7c\xd3\x95\x89\xb1\x5f\x93\x65\xd5\xef\x6f\x48\x7b\x55\x8e\x8f\xc4\xa0\xfd\xa7\x54\xe9\x26\x4c\xa1\x2d\x33\xe0\x51\x57\xcd\x6e\xbd\x92\xd4\xa4\x02\x11\x75\x05\xfe\xeb\xb5\x07\xab\x8e\x4d\xb5\xfe\x91\x88\xbf\xfa\x2a\x0a\xdb\xa5\xb7\xa3\xaa\xee\xa2\xb6\xab\x44\xdc\xd6\x2b\x1e\x88\x25\xbb\x6a\x3b\xe8\x62\xe0\xcd\xae\xa0\x07\x27\x20\x59\x0f\xb2\x3e\x0d\x28\xd8\x9f\x96\x34\x8e\xee\x0b\x17\x77\xf3\x5d\x7c\x17\xf4\x1f\xf8\xac\x2f\x99\xc2\xfb\x86\x4a\x57\x23\xc8\xa4\x00\xc6\xf5\x5a\x63\x61\x37\xc4\xc1\x9e\x88\x92\xbb\x42\x27\x38\x3a\x7b\xde\x7d\x20\x91\xda\x4e\x1d\xec\xf5\x24\x82\x38\xa5\x6f\x92\x98\x13\x51\x7c\x57\x81\xbf\x9e\xfc\x20\xd0\x6d\x4f\x6e\x4c\xb7\x14\x29\xf8\x8c\x51\x5e\x21\x1d\x57\x9c\xb0\x43\x4d\x38\x87\x7d\x3a\x4e\x8f\x68\xdb\x91\x63\x26\x34\xd9\x9d\x71\xb6\x6f\x90\x7f\xbf\xa6\x5f\xee\xd6\x40\x96\x78\xde\x89\x1b\x01\xfb\xc9\x90\xbb\xc5\x35\x05\xb2\xef\x86\xc8\xda\x0d\x51\xb7\x2b\x14\x96\x06\x74\xef\x2a\x5c\xda\x01\xc1\x5d\x03\x8b\x77\x09\xd4\xfa\x43\x21\xc3\x57\xd1\xc3\x5e\x22\x80\x79\x77\xc6\xde\x6e\xfe\xd0\xf2\x07\x85\xc2\xe6\x97\x11\x65\xec\xab\x2f\xeb\xf8\xdc\x52\xaa\x3d\x98\x60\xbf\x1a\xb6\xee\x2a\xa5\xe2\x86\x35\x62\xfd\x4a\xae\x04\xd1\xf7\x92\x9d\x7a\xaf\x03\x4d\x77\x5a\xaa\x81\xf8\x1e\x4e\x09\x68\xdd\xc1\x0c\xfe\x50\x08\x0e\x51\x99\x37\x7f\xde\xb4\x14\xd6\xe1\x16\x84\x2d\xbd\xe2\x90\x9c\xa1\x45\xd2\xdf\x67\xf6\xbc\x8f\x9c\x01\xd9\x43\xa5\x32\x39\xca\xf2\x2a\x58\xdf\xdd\x7f\x13\xc6\xf7\xee\x59\x4b\xb8\x55\x6b\xc4\x26\x05\x44\xf2\x0f\x03\x8d\xed\x08\x5c\xcc\x34\x9e\xaa\x80\xfc\x5d\xcd\x07\x61\x7f\x77\x8f\x2d\x9e\x0e\x35\xc4\x26\x5f\x6b\x44\xf0\x89\x40\xc6\x3b\x83\x8d\xaf\x49\x31\x66\xb5\xcd\xab\xb3\x7b\xce\x43\x8a\x5b\xc5\x8f\x59\x7d\x45\xa9\x03\x81\x78\x15\x64\xf5\x53\xcf\x39\xc9\x87\x88\xdc\xfd\x40\xf4\x7e\xb2\xba\x24\x1e\xef\x97\x60\x83\x4b\xfc\xdc\x50\xb8\xa3\xf3\x05\x98\x4b\x7d\xc8\xf4\x92\xca\x3d\x05\x92\x77\x76\x17\x8d\xd5\xfe\x5a\x52\x0a\x3f\x50\xba\xa9\x68\x7b\xa7\x25\xb0\x9e\xbf\x5a\x64\xcf\x99\xe6\x27\x1f\xb6\x62\x69\xa6\x11\x01\x83\x79\x73\x2d\x4b\x68\x4f\x94\xc3\xbc\x9e\xf6\x1a\x00\xd5\x17\x2e\xfc\xe6\x20\x5b\x7f\x34\x2f\x25\x30\x79\x95\x5d\xd4\x7c\x14\xe1\x1f\x28\x85\x94\xe7\x8f\xab\x44\x9d\xf7\xce\x05\x42\xcb\x80\x28\x9e\x44\x8d\xd3\x15\xeb\xba\xb9\xf2\x1d\x22\xf1\x63\xc5\xe5\x9f\x66\x77\x86\x88\x38\xb1\xb5\x4e\x67\xa2\x50\x17\x94\x6d\xfb\x91\x1c\x87\x7a\x64\xee\x6f\x0c\x2a\xc4\xa2\x6a\x36\x68\xe9\x89\x6e\xce\x69\x5b\x01\xd0\x7d\xd7\x69\x59\x0a\x4c\xe8\xd9\xb1\xf1\x45\x8e\x66\xfc\x39\xdd\xf3\x1a\x65\x46\xba\x38\xe3\xa3\x64\xfd\xc7\xa3\x93\xd7\x4f\xf3\xa2\x6b\x9f\x40\x97\x70\x94\xc2\xed\xeb\x23\x1d\x42\x5c\xfb\x19\xa9\xe4\x27\x02\x4d\x6f\x06\xfe\x3d\xb4\x29\x05\xa7\x0d\x75\xc4\x90\x45\xbd\x42\x3e\x3a\xea\xcd\xfa\x36\x51\x6c\x6f\x85\x9b\xaa\xcc\x15\x94\x36\xb5\xf4\x90\x5d\xa7\x5a\x2a\x20\xa4\x29\xe4\x0d\xcb\xb8\x6b\xc9\x01\x11\xd6\xbf\xf8\x90\xf5\xc1\xe9\x20\xdd\x2f\x86\x64\x3f\x36\x1c\xee\x0d\x51\xd7\x1b\xd2\xc8\x37\x44\x90\x7f\xd6\x78\xaa\xf6\xe3\xe3\x27\x65\x79\x3a\xf3\xca\x1f\x4b\xfd\xef\xba\x15\x43\x61\x4d\x81\xdb\xbd\xd5\x54\x26\xfd\x75\x66\xcf\xeb\x54\x81\xc9\x04\xe3\xcc\x78\x5f\x81\xaf\xbe\x9a\x17\xba\x57\xfe\x44\xc5\x29\x7b\x35\xea\x50\x4a\x37\x9b\x41\xb6\x05\x86\xcc\xef\xb7\x0c\x83\x32\x83\xba\x77\x57\x96\x71\x94\xfb\x6f\x2d\x43\xb4\xef\x67\x2a\x93\xd2\xdf\xd4\xd9\x74\x1b\x65\xff\x0d\xf4\x97\x8a\xd7\xc4\x6a\x0b\x5e\x22\xdd\x7e\xef\x34\xe8\x7b\x3b\x66\x6f\x2d\xbd\x57\xf2\x3f\x83\x93\x2a\x77\xa3\x57\xe4\x31\xb8\x7b\xc5\xcb\x12\xf3\x7c\xd5\xc4\xf6\xf1\x6b\xa9\x2e\x51\xb8\x5a\x22\xc6\xfc\x0a\x58\xf2\x2d\xf4\x92\xe8\x4a\xc8\xfe\x92\x2f\x7e\xad\x19\xe6\xcf\x0c\x98\xfd\x0f\xdc\xdb\xb5\x8f\x64\x70\xb8\x91\x3b\xf1\x00\x3c\x57\xae\xb1\x02\xc5\xf1\x34\xd5\x4d\xd4\x53\xbc\xf5\x0f\x2f\xdc\xf2\x2b\xa9\x45\x6e\x93\xeb\xb5\xd6\xd8\xb4\xe6\x30\xed\x3b\x98\x8e\x3d\xb7\xeb\x4e\xaa\xf5\xd1\x1d\x7b\x98\x33\x8d\xfd\xab\xa4\x21\xbf\x51\x29\x39\x5d\x3d\x24\x7d\x93\x9a\xe8\xde\xb5\xc9\xd5\xcc\x32\xe3\x0f\x97\xc5\x17\x9b\x4b\x1c\xbd\xa2\x50\x13\x1d\x67\x28\xdb\xab\x50\x59\x91\x29\x6b\xe7\xe6\x8f\x9a\xa0\x66\x13\x08\x93\x2c\xae\x7d\xfa\x65\x4b\x02\xfc\xd4\x66\x68\xd4\x18\xc0\x0f\x23\x0f\xe9\xb5\x2a\x83\x33\x57\xe0\x8b\xaa\xad\x41\x2b\xfc\xb8\x84\xea\xdb\x08\x78\x76\xfc\xa0\x66\x65\x16\xb7\x98\x2b\x11\xfb\x2b\xdc\x2c\x98\xb1\x66\x54\x72\xee\x7e\x6a\xeb\xb8\xf1\x29\x09\xf2\x87\xba\x5b\x54\x16\x6e\x92\xcd\xe1\xe8\x2a\xe3\xed\x8f\x34\x70\xc8\xef\x85\x5d\xa7\xf7\xba\x57\x31\xc7\xb3\x9f\x25\x0c\xb6\x66\xb4\xa7\x35\x2a\x79\xfe\xf0\xc6\xe7\xef\xf7\x57\x1b\x09\xe3\x8a\xf4\x09\x40\x59\xd8\x39\x7e\x99\xfc\xe9\xaa\xea\xc3\x8b\xf7\xe1\xd8\xc9\x84\x98\x54\x17\x35\xd8\x58\xcf\xd9\xb3\x69\x5f\x8e\x17\x71\x23\x20\xfe\x1a\x3b\x9d\xfc\xdd\x0f\xeb\x85\xca\x4b\x28\x1d\xad\x35\x36\xad\x39\x4c\xfb\x0e\x46\x51\xcc\x00\x2f\xfc\x7f\x52\xc6\xf2\xef\x4c\x03\xb0\xa1\x45\x45\x26\x52\x0b\x7a\xa7\xc4\x4f\xfc\x45\x1b\x4b\xbe\xd0\x2d\x9d\x51\x7d\x59\x97\x0e\x6b\x05\x76\xdd\xe0\xe5\x0d\x08\x85\xed\xa4\x9b\xb0\xce\xf1\xa6\x01\xe1\x71\x73\x4f\x1b\x4c\x63\xf7\x47\x19\xa4\x0f\x32\xc9\xee\xa3\xbf\x10\x68\xd2\xc9\xdc\x05\xbb\x6e\xe2\xaa\xbb\xa7\x20\x3a\x60\x08\x08\xa0\xd6\xa5\xa3\xe1\x24\x8b\x9a\xf2\x91\x7f\xd8\xc7\x98\x37\x55\xd1\xac\x72\x1c\x94\xb0\xcb\x5f\x4a\xff\x51\x21\x77\x4a\x85\x97\xa2\xa9\x87\xaa\x3a\x36\xf5\xd5\xce\x6d\xd0\xe7\xba\x8f\x68\x19\xf5\x25\xb0\xeb\x62\x9f\xb6\x34\xb4\x12\xb0\xcf\xdf\x09\x92\x54\x87\x4d\xd4\xfe\xae\x5f\x02\xa3\x33\x5c\x6a\xc2\x7a\x99\xea\x46\x73\x31\x67\xf6\x2e\x11\xfc\x63\x05\x8e\x62\x9d\x8c\x47\x9b\x64\x3f\x32\x52\x59\x60\x01\x6f\xed\xd2\x3b\xc4\xd4\xf6\xb7\x86\xab\x32\x75\xa3\x98\x25\xb9\x7b\x99\xb8\x5e\x72\x7f\xb9\x29\x60\x2b\xf0\x76\xe7\x1d\x15\xb5\xdb\xb3\x9d\x8b\xe0\x05\xf9\xd1\xdd\x37\xf7\x46\x73\x3d\x89\x1f\xa0\xd9\x43\x75\x43\xf0\xbd\x7b\xde\x43\x2e\xd5\x3d\x1b\x5a\x38\x6b\x56\xc0\x59\x65\x04\x86\x92\x19\xd8\x60\xf6\xd4\xae\x5f\x59\x89\xea\x93\xa3\x55\x75\x40\xd0\x69\xc0\x84\x52\x1b\x7c\x3a\x91\x80\x05\x14\x5e\xd0\x79\xaf\xd4\x25\xab\x98\x8b\xf5\x82\x7d\x2e\xd3\x80\x1f\x54\x34\x4f\x87\xbd\xc2\x03\x2e\x5d\x71\x71\xa5\x5a\x2d\x76\x2e\x1b\x77\xe9\xae\x65\x88\xf5\x69\xbd\xda\xc3\x7f\x1b\x91\xbf\xb4\xc0\xe6\x6f\xfb\x8e\xb9\x3a\xc2\xfa\x1b\xe6\x66\x2f\x1e\x31\x49\x7c\x46\xdd\x62\xe2\xb6\x13\xe3\xd9\x44\xd2\x58\xff\x8f\xe2\xe5\x07\x43\x45\xac\xcd\x3f\x7b\x9e\xff\x8b\x55\xfb\x2d\x4e\x78\xfe\xe4\xf3\xb9\x30\x8b\x77\x8a\x96\x8d\x36\xdb\x7e\x55\x1c\xbd\x7e\x7d\x2e\x78\xf8\xa8\x90\x9e\xef\xf9\x63\xd9\xd3\x66\xec\x9e\x21\x01\x15\xb1\x36\xf7\x78\xbd\x3e\xe2\x7d\x9e\x03\x00\x00\x00\x0b\x57\x41\x44\x3c\x69\xdb\xeb\x33\xfc\xf2\xb6\xd7\xb4\x29\x8f\x3e\xf4\x7c\x51\xc4\xb7\x8d\xe6\x7e\xda\xfa\x8a\x94\x86\x0e\x85\x8a\x58\x9b\xb1\xbb\x43\x02\xde\xed\xfc\xf8\xde\xce\xef\x7d\xc2\xf3\xdf\x3c\x41\x8f\x3e\x14\xa0\xa2\xe5\x03\xd7\xef\xcf\x19\x85\x36\x63\x0e\x00\x54\xc4\xda\xcc\x3b\x6b\xad\xdd\xf6\x9b\x23\x37\x2e\x7b\x37\x63\xae\xea\xa2\x38\x9c\x04\x54\xc4\xda\xfc\xdd\xd3\xfd\x5f\x9b\xe3\xfc\xcc\x34\x80\x8a\x58\x9b\xb1\x3b\x42\x02\x2a\x62\x6d\xc6\xee\x8c\xe9\x23\x22\x22\x22\x2a\xa5\x94\x52\x4a\x29\x45\x44\x44\x44\x44\xc4\xcc\xcc\xcc\xcc\x9b\x3f\x39\xaa\xa7\x37\xcd\xd6\xc7\x74\x33\x5a\x6b\xad\x67\x81\x13\x11\x11\x11\x11\x11\xd1\x81\xa8\x68\x7a\xf6\x8a\xbf\x1c\xfd\xb7\x8c\xfe\x74\x26\xde\xaf\x77\x2e\x8e\xc3\xe1\x59\x9b\x4e\xf9\xcb\x8b\xd5\xbe\x19\xbb\x67\x48\x40\x45\xac\xcd\xd8\x1d\x21\x01\x15\xb1\x36\x8f\x8d\xf6\xf5\x16\x7e\x19\x62\x95\x72\xdd\xb4\xc1\x9f\xc8\x7a\xdb\xc9\x5d\x44\x44\x44\x44\x44\x44\x44\x66\x66\x66\x66\x66\x66\x66\x56\x55\x55\x55\x55\x55\x55\x55\xb3\x69\xba\xba\x7b\x7a\xfb\xa6\x93\x9c\x7f\x84\x36\xbd\x4e\x64\xad\x01\x00"), + }, + "/static/script.js": &vfsgen۰CompressedFileInfo{ + name: "script.js", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + uncompressedSize: 98639, + + compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\xfd\x09\x7b\xdb\xbc\xb2\x20\x0c\xfe\x15\x9b\xad\xab\x03\x44\x65\x46\xf2\x96\x84\x32\x8e\xc6\x59\x9c\xdd\xce\xbe\xf9\x75\xe7\x03\x29\xd0\xa6\x2d\x83\x0e\x04\xda\x56\x2c\xf6\x6f\x9f\x07\x05\xae\x12\xa9\xe4\x74\xdf\x9e\xf9\xee\x7d\x4f\x2c\x12\x40\xa1\x00\x14\x6a\x43\xa1\xb8\x1e\x26\x32\xd0\x51\x2c\x89\xa4\x77\x4e\x32\x15\x6b\x53\xad\xa2\x40\x3b\xc3\xbc\x60\x4d\x11\x09\x0a\x34\xbd\x53\x42\x27\x4a\xae\x69\x97\x33\x09\xda\x0d\x99\x02\x9d\x16\xd5\xa6\xa4\xac\xa2\xc8\x26\x68\x28\x40\xab\xa2\xa0\xda\x5b\x0e\x8e\x28\x90\x34\x4d\x69\x09\x4a\x10\x51\x01\xb5\x05\xa2\x04\xa5\x97\x41\xad\x84\x2e\x88\x06\x0b\xbf\xda\x81\x26\x49\xa5\x83\x6d\x48\xca\x0e\xc4\x32\xb4\xff\xb4\xcf\x84\x08\x28\x7a\xad\x76\x1b\x11\x5e\xe9\x76\x07\x78\xd9\x6d\xb2\x0c\xf0\xbf\x01\x13\x4e\x12\xa8\xe2\x52\x45\x26\x21\x41\x05\x99\x5d\x08\x4a\x64\xf8\x32\xcc\xff\x3b\xf8\x05\x84\xc3\x02\x86\x55\x14\x39\x89\x2a\x28\x3e\x80\xa8\x44\x31\x58\x06\xfb\xff\x33\xac\x23\x12\xc0\x32\xde\x55\xc4\x03\x12\x57\x10\x7f\x08\x71\x89\x78\xb4\x0c\xf9\xff\x9f\x63\x89\x49\x04\x8d\xa3\xa9\x0e\x27\x26\x61\x65\x38\x8f\x20\x2c\x87\x13\x2f\x03\xff\x7f\xd9\x08\x43\x12\x43\xdb\x18\xab\x83\x9c\x2d\xb0\xb9\x4d\xc6\x98\x74\xf9\x48\xba\x21\x31\xef\x3d\xd3\x0f\xd1\x95\x16\x17\xb6\x05\x94\x48\x6e\xd5\xdb\x80\x28\x5a\x11\x51\x69\x78\x9b\x37\x84\x72\xc8\xdb\x8b\x4d\x21\xa9\x36\x26\x49\xa5\xfd\x4d\xd9\x1e\xca\x79\xdc\x59\x86\x00\x7c\x01\x06\xe1\x15\x30\x93\x2a\x18\x28\xd7\x68\xb7\x09\x10\x04\xcb\xa0\x48\x50\x81\xe6\xd7\xa1\x41\x49\x06\x0f\x9a\xe1\x41\xd4\x08\x91\x44\x34\xbd\xe6\x6a\x2d\x64\x82\x94\xcb\x69\x97\x26\x8c\x15\x31\x65\x82\xed\x2b\xc5\x67\x44\x52\x48\x58\x7f\x98\xec\xc9\x61\xd2\xeb\x51\x71\x9c\x9c\x30\x4d\x54\x2f\xa1\xc3\x9c\xff\xa7\x14\xae\xd9\xb4\x06\xa9\x84\xa3\x4b\x38\x82\xf5\x87\x62\x4f\x76\xbb\xca\xf5\x87\xa2\xd7\xa3\xfa\x58\x9c\x30\xe5\x72\x50\xcc\xbc\x2a\x84\xdf\x44\xc8\x53\x7d\xc6\x04\x1c\x19\xd1\x42\x53\x0a\x63\x46\x16\x3b\xc8\x37\xcb\xb1\x3c\x49\x29\xac\x1a\x48\x0e\x10\x92\x0c\x17\x41\x81\xb3\xfe\x90\xef\x89\x21\xef\xf5\x68\x72\xcc\x4f\x98\x3e\xe6\x27\x39\x06\xc9\xb1\x3c\x61\x0a\x92\x94\x42\xfb\xb0\x54\x0e\x35\x9f\x29\xdd\x1b\xe4\x73\xa5\xcb\xb9\x52\xc7\x49\x01\x57\x1c\xeb\x13\x26\x41\xfc\x3d\xbe\x06\x98\x40\x60\x8a\x99\xdd\xa3\x8f\x93\x13\x50\xc5\xd4\xab\xbf\x84\xb4\x31\x18\xf6\xf7\x98\x18\x8a\x8d\x8d\x02\x90\x58\x00\x44\xa1\xb3\x3c\xc9\xab\x86\xdb\x30\x58\x49\xcc\x70\x6b\x94\xf1\x7f\xbc\x30\xc8\x34\x7a\x1c\xcc\x02\x15\x90\x93\x46\xc8\x05\x01\x4d\x27\x51\x20\x70\x04\x8d\xf5\x6c\xef\xaa\xec\x5d\x6e\x88\x61\x8e\xcc\x5e\xd2\xed\x92\xa4\xc0\x8d\x0e\x73\x7c\x79\x8e\x64\x2f\xa1\x10\xb0\xfe\x30\xd8\x13\xc3\xa0\xd7\xa3\xfc\x38\x30\xeb\x1c\x9c\x60\x55\x5b\x92\xe4\x25\x3d\x61\x68\x2b\x28\x68\x80\xa7\x14\xee\x3a\x5e\x3f\xa5\xa5\xfa\x77\x59\xa5\xe8\xbb\x8e\x37\x00\xee\x49\xf0\x3d\x95\xe2\x36\x3d\x63\x53\x72\x59\xa9\xbe\x6f\x58\x6f\x8e\x95\x62\x1d\xd0\x4c\x66\xd8\x0e\xf5\xc6\xc6\x90\x2a\x76\x49\xe4\xb1\xae\x2f\x70\xd1\xfc\xaa\xde\xfc\xf8\x64\x28\x5d\x7f\x28\x99\x74\x7d\xaa\xdc\xab\x64\x7a\x46\xa4\xcb\x2b\x2d\x4d\xbd\xd3\x95\xac\xe2\xf8\x64\xa8\x5c\xbf\xdb\xd5\x66\x17\x9b\xbd\x0c\x9a\x69\xd7\xa7\xc2\x82\xc3\x25\x74\x39\x68\x97\xd3\x02\xee\xbe\xe1\xd7\x14\x9e\x31\xa2\x17\x20\x1b\x6e\x9f\xc3\x4e\xaa\xb0\xbb\x5d\x51\xef\x00\x04\x13\xae\x4f\x13\xdb\xcd\x45\xd9\x0d\x88\x7a\x57\x89\xe9\x2a\x5a\xea\xc7\x08\x87\x72\x79\x17\x7b\xea\x76\x93\xa6\xee\x20\x61\x89\xeb\x53\x6e\x3b\xbd\xad\x77\x0a\x49\xbd\x63\x6e\x3a\x4e\x1a\x3a\x36\x52\x25\xef\x3a\x68\xee\xba\xdb\xe5\xed\xfd\x03\x67\xdc\xf5\x69\x60\xb1\xb8\x59\xc6\x02\x78\x1d\x93\x80\xd6\xd9\x99\x86\x52\x80\xef\x13\x43\x14\xee\x34\x56\xba\x99\xcb\xbe\x24\xda\x70\x70\x4d\x14\xa5\x29\xfe\x37\xac\x80\x12\x7f\x05\xca\xf2\x91\x99\xa9\x5d\x21\x4c\xcd\x18\xbb\xd1\xa3\xbe\x67\x7e\xcc\xf4\x68\x63\xe0\x0d\xb0\x87\x25\xd6\x5b\xe1\x79\x2d\x45\x41\x2c\xa7\xf1\x44\xb8\x93\xf8\x94\xc8\x9e\xe3\xad\xed\x45\x52\x0b\x25\xf9\x64\xfa\x6f\x87\x82\xaa\xee\xb9\x27\x66\x17\xe8\x33\x15\xdf\xac\x3d\x53\x2a\x56\xc4\x39\xd3\xfa\x6a\xea\xdd\xbf\x7f\x1a\xe9\xb3\xc4\x77\x83\xf8\xf2\xbe\x98\x5c\xde\x0f\x62\x25\xee\xfb\x93\xd8\xbf\x3f\x70\xfb\x6e\xff\xfe\x59\x24\xf5\xf4\xbe\xd3\x93\x3d\xc7\xbd\x1c\x3b\x15\xf1\x7c\xb0\xc0\x33\xc1\x6c\x0c\x48\xd8\x21\xae\x7a\x1f\x04\x1d\x1a\xde\xa2\x99\x70\xaf\xe2\x2b\x42\xe9\xd0\x94\x69\x5c\x36\x1f\xcb\x2b\xfc\xad\x80\x7a\x58\x6e\x8a\x28\x24\x83\x7e\x7f\x4f\xd3\x9c\xbf\xda\xc5\x3f\xc2\x7e\x29\xac\xf7\x87\x51\x48\x24\x63\x4c\x65\x35\xec\x1b\x27\xf6\xcf\x45\xa0\x9d\x75\xa6\x67\x57\x22\x0e\xd7\xe4\x7c\x2e\x93\xc9\xc4\xe8\x0c\xc5\xaf\xbc\x89\x93\x77\xec\xb0\xa2\x7a\xb7\xfb\x84\xec\x50\x58\x1f\x14\xbc\x30\x59\x8b\xe4\x9a\x74\x3b\x7b\xfd\x6e\x97\x48\xf6\x0c\xa9\x43\x99\xbf\x06\x11\x49\xa3\x90\xac\x1f\x12\x89\xd2\xca\xfc\xa3\x7b\x03\x33\xbc\x0c\xab\xc1\x30\x47\x0f\x79\xcb\x39\x9b\x92\x03\x0a\x1f\x97\x74\x88\xac\xd6\x41\xc6\xc9\xcb\xc5\x7b\x99\xb3\xa0\xc6\xd1\xe5\xd3\x83\x33\x31\xea\x7b\x72\x4f\x21\x59\x99\xb9\x58\x97\x6e\x27\x2b\x27\x9a\xbd\x34\x9c\xce\x6c\x1c\x4a\x47\xda\xcb\x5e\xf8\xa0\x5c\x1f\x5f\x98\xa7\x00\x94\x1b\x58\x21\x60\xf8\x24\x2a\x2f\xdd\xee\x7a\xbd\xb1\xe5\x9e\x56\x8d\x29\x29\x7b\x3e\x37\xd0\x46\x03\x4f\xb9\xbe\x41\xa0\x6f\xb5\xae\x37\x2d\xe3\xb4\xa3\xa2\x7b\xfd\x94\xc2\xcf\x56\x7d\x27\xab\x34\x68\xdf\x05\xfd\xbd\x97\xb9\xe8\x6b\xad\xc1\x5a\xab\xd8\x5d\x6a\x8b\x8b\x91\xec\xf5\x47\x33\xed\xe9\xd1\xad\xf6\x6e\xb4\x51\x15\x7e\xb3\x7e\xb9\x1a\x47\x35\xf1\x55\x88\xae\xa2\xfc\x71\x5d\x3e\xe7\x35\x20\xf0\x74\xa5\xd6\xa7\x8a\x41\x21\xcb\xd7\x1f\xaa\x68\xdd\xa5\x05\x05\x0a\xa4\x40\xab\x42\xca\x63\x71\x52\x2f\x50\x99\x6e\x69\x0a\xf2\x41\xe0\xe4\x3f\x65\x53\xf2\xa2\x42\x49\x2f\x2c\x78\x43\x47\x53\xad\x22\x79\x5a\x21\xfb\x82\x8e\x7a\x2a\x23\x1d\x3f\x7f\xa5\x86\x16\xa1\x4b\x4b\x03\x19\x01\x0c\x2b\xaa\x4d\x45\xa8\x22\xd7\x2e\xab\xd6\xf0\xf9\xd5\x46\x0c\xb2\x67\xd8\xd5\x7f\x54\xf8\x77\xca\x9a\x9d\x4b\xce\x94\x1b\x9c\x71\xf5\x24\x1e\x8b\x7d\x4d\x12\x3a\xe4\x7b\x3b\x3b\x9b\x8f\x76\xe7\xf3\x9d\xdd\xad\xc1\xa3\x3d\x3e\x22\x99\x4a\xf7\xc9\x2a\x75\x14\x8c\x9a\xe7\xd5\xdf\xf6\xd4\x71\xd2\x1b\xd8\x42\xb6\x49\xd3\x82\x31\x9d\xc7\x91\x24\x8e\xd3\x44\x61\x25\x9a\xc7\x27\x50\x53\xc3\xac\xb6\x5b\x20\x68\x18\x47\xb0\x84\x67\xd2\xeb\x41\x50\xc7\x35\x98\xcf\x09\xef\xd9\x06\x06\x49\x30\xe8\x71\x4a\x8d\x3c\x45\x0e\xc9\x0b\xcc\x74\x05\xb3\xe1\x7f\xa4\x84\xe7\x68\x69\x8b\x96\xfe\x6b\xb4\x74\x81\x96\x55\xbd\x0d\x6a\x66\xef\x95\xf2\x0c\x89\xe9\xdd\x4a\x0d\x2b\x47\xc7\xa8\xf0\x19\x2a\x09\x43\x25\x9e\xd7\x51\x11\xb8\x92\xbb\x5b\x9b\xfd\xf9\x7c\xe7\xc1\xd6\xf6\xd6\x1e\x9f\xcf\x8d\x3e\x7b\xbc\xb1\x21\x4e\x8c\xea\x9a\x63\x91\x2c\x60\x01\x5f\xda\x68\x51\xb9\xd3\xab\x49\x64\x78\x7c\x4a\xe1\x55\x7b\x2d\x9c\x5a\xac\xf4\xb6\x61\x30\x8d\xda\xf9\x5f\x10\xb1\xd5\x69\x73\xa5\xdd\xa8\xb5\x49\x9d\x28\x34\x35\xdb\x33\xa9\x8f\x3a\x99\xcf\x89\xa9\xbe\xb1\xa1\x4f\x7a\xc2\x92\x84\xa0\x85\x08\xea\xa7\xb9\x2c\xca\xa6\xff\xf9\x0a\x0b\xf6\xbf\x17\x93\xf5\x05\x54\x06\x69\x81\x13\x85\xcf\x2d\xb3\xbb\x31\xd8\x53\x6e\x24\xc7\xe2\xf6\x28\xb4\x53\xfc\xbd\x6d\x1d\xfa\x8c\x2d\x54\x7d\xdf\xca\x64\x72\x9b\xa7\x18\xa2\x91\x6f\x13\x3e\xd5\x2f\x8b\xf6\xac\x28\xdb\xc8\xab\xa7\x14\xbe\x2e\x81\xb4\x53\x55\x18\x22\x51\x48\xf4\xde\x20\xe7\x97\x9d\x0a\x6b\xec\x03\x2a\xf5\x1b\x83\x3d\x33\x2d\x25\xa6\xa8\xff\xe4\xba\xbc\xa0\x20\x7a\x4c\xd7\x35\x78\x5c\xa8\x6f\x2b\x39\x26\xfc\x68\x95\x9c\x72\x63\x85\xea\x28\xef\xa1\x09\xfc\xba\xbd\xf5\xfd\x55\xad\xef\xab\x79\x1f\x8b\xdf\x72\x7d\xe6\x5e\xc5\x37\xed\xea\xeb\x7f\xc9\x56\xa9\xab\xfe\x4b\x0e\xcb\x45\x64\x72\xf4\x84\x0c\x06\xd4\xeb\xef\xe9\x6e\x57\xee\xf5\xe7\x73\x6d\xf4\xad\xfe\x9e\x1c\xe9\x9e\xf4\xb4\xd5\xc2\xb1\x47\xae\xb9\xdc\xb4\xf3\x23\x25\xc3\x57\x81\x88\x26\xa0\xb2\x87\x70\x12\xc7\x0a\x74\xf6\xa4\xe2\x44\x8e\x41\x64\x4f\x93\xf8\xb4\x55\xce\x74\xbb\xab\x46\x3d\x9f\xaf\x2a\x5d\x67\x2c\xe7\x6d\x89\x64\x7f\x32\xbe\x72\xc2\x31\x1c\xbf\xc7\xf7\x58\x92\x3f\x47\xc6\x9e\xee\x76\xa3\x3d\x9e\x6d\xbd\x98\x25\xd5\x3d\xa7\xe8\x30\x60\xf2\x38\xea\xf5\x4e\x18\x63\xc9\xb1\xea\xf5\x4e\xba\x5d\x32\x30\x33\x18\x8f\x88\xee\xf5\x40\xb0\x81\x11\x5c\xbd\x1e\x20\x7f\x66\x8c\xec\x6e\x6d\x3f\x7c\xd8\x8d\xe9\x68\xa1\xa1\x37\xa0\x05\x4b\x7c\x4c\x82\x91\xf2\x36\x06\xa8\x7b\xa7\x14\xb8\x6c\x67\x6a\x6a\x2f\x67\xd0\xa3\x7a\x17\xba\x8e\x2a\x1d\x99\xcd\xaf\xdd\x69\xe2\x4f\xb5\x22\x0a\x36\x29\xa5\x23\xd5\xdb\xf4\x36\x06\x1e\x16\x1d\xab\x13\x4a\x47\xce\x3f\x46\xff\x66\xe6\x69\xb4\xb1\xe9\xa9\xde\xc0\x54\xd8\x30\x5a\x5f\xb0\x02\x8d\x85\xde\x0c\x0d\xa5\x14\x62\xd9\xc8\xdb\x86\x72\xaf\x60\x6c\xb2\xd7\x2b\x88\xb0\x0a\x43\x52\xbb\x91\xb7\x1f\x1a\x6e\x56\x5a\x1e\x32\x2d\x7e\x50\x08\x9b\x30\xaa\xec\xf7\x61\x39\x3b\x43\x95\x77\x94\xb0\x05\x64\x37\xb6\x1f\x5a\xe6\xd9\x9f\xcf\xe5\x1e\x4b\xa8\xaf\x04\xbf\x18\x0a\x26\xef\x89\x5e\x92\xf7\x77\x44\x94\x5d\x0d\xbf\x79\x50\x76\x0c\xfd\xc6\xb1\x89\xa6\xb1\x6d\x3f\xfc\xb7\x98\xcf\xc5\xbf\x77\x1e\x18\xa3\x65\x77\xc7\x3e\x3d\xe8\xa3\x4e\x28\xf6\x1e\x3d\x98\xcf\x07\xfd\xcd\x3d\x91\xa1\xa3\xd9\x60\xf7\x9e\xee\x89\x8d\x87\x0f\x52\x31\x99\x8a\xb5\xe2\xc5\xce\xce\xb0\xfe\x62\xfb\x61\x89\xb4\x04\x8d\xaa\x90\x64\xe4\x4f\x1b\x21\xa9\x70\x44\x45\x21\x60\x7c\xaf\x3f\xca\x77\x83\xc7\x7b\x05\x87\x55\x7b\x41\xb6\x23\xa2\x85\x1d\xd1\xeb\xd1\x21\xd2\x7f\x34\x22\x82\x0d\x40\x5b\xc5\x6d\x89\xfe\x23\xda\xed\x9a\xca\x25\xc5\xf3\x9c\xd8\x9b\x19\x94\x73\xea\x0c\xa5\xcb\xb7\x8c\x15\xdb\x63\xce\xa5\x43\x41\xba\xfc\x26\x7b\x8c\x1c\x3a\xd4\x6a\x96\x13\xe3\xa1\x26\x1f\xc4\xe9\xb3\xdb\x2b\xf4\xed\xd3\x34\xe0\x3a\x38\xab\x28\xf9\xe7\x3a\x35\x2c\x77\x22\xdb\x79\x6e\x32\x99\x18\x2e\xe2\x5e\x66\x4d\x57\xfb\x13\x51\xae\x00\x67\x7d\xa3\x9e\x41\xc4\x2a\x92\x0c\x62\xb6\x31\x18\xf2\x5e\x6f\x4f\x76\xbb\x28\x76\xc4\xad\x08\x48\x60\x74\xc4\x78\xbd\x5a\x73\x58\x02\x0c\x99\x28\xfc\xa7\xe0\x67\x9a\x74\x48\x87\xfd\xbd\x30\x9b\xf8\x29\x13\xc7\xe1\xc9\xd0\x3f\xde\xd8\x08\x4f\xd8\x74\x74\xa8\xc9\x94\x7a\xe7\x3a\x4d\x72\xe7\xd0\xf3\x04\xc4\x71\xff\x04\x84\x5d\x55\xe0\xb0\x4f\x7c\x4a\x29\xc4\xd5\x4e\x0b\x2d\xac\x7c\xc5\x22\xc8\xdc\x56\x15\x3f\x4a\x02\x12\x78\xbe\x1c\x81\xd9\x59\x79\x3b\x25\xae\x26\x1c\xb5\xaa\xea\xf9\x4c\x14\x92\xa0\xd7\xfb\x37\x4b\x8a\x7d\x3b\x2c\x1d\x7f\x5c\x9d\x26\x97\x42\xea\x69\x3e\xc8\x2d\xc8\x9d\xf5\xca\x0c\x52\x15\xaa\x4e\x51\xf3\x58\x9d\x0c\x8d\x22\xa9\x4e\x98\x30\x83\x15\x38\xd8\xdc\xb3\x69\x87\x2b\xa1\xac\xbe\xd4\xc5\xe6\x09\x04\xb0\x4f\x34\xa5\x34\xa5\x66\xf5\xaf\x57\xf3\x0e\x9d\xaf\x69\x75\x2d\x83\xda\x7a\xc9\x42\x27\x8b\xf2\x65\x15\xb8\xb3\xd7\xa3\x6c\xcf\xe6\x2a\x45\xa6\x78\x72\x88\xec\x62\x50\x5a\x07\x9c\x0f\x64\xb1\x3e\xa5\x50\x5d\x98\x00\x2a\xda\xc8\x78\x99\x0d\x95\x6e\xdc\x3e\x8c\x73\x63\xb8\xcd\x94\x33\xd5\x06\x20\xca\x6a\x85\x65\xda\x59\xaa\xb7\x05\xa1\x27\xe1\x34\x77\x0b\x5f\xae\xea\x7a\x1b\x2d\xec\x33\x4f\xa6\x19\xa2\x67\x6d\xb5\x6d\x47\x46\xec\xa4\x14\xae\x56\x08\x97\xac\x1e\x68\xac\x79\x2a\x9b\x1d\xb7\x8b\x95\x41\x9c\xb4\xfb\x5e\x97\x2b\x43\x72\xb2\xca\x63\xda\xd4\x00\x38\x36\xe1\x8d\x4d\x2a\x67\x6e\x0b\x8d\x20\xc0\x66\x41\x4b\xb3\xca\xe1\xda\x52\x43\x88\xb0\x69\xdc\xda\x14\xe2\x55\x8d\x21\x3e\x69\x62\xb1\x15\xd6\x39\x33\xaf\x5e\x7d\x3c\x3a\x74\xaf\xb8\x9a\x0a\xf4\xba\x2e\xb2\xcf\x8f\x09\x99\x91\xb7\x1c\x9c\x4f\x67\xd1\x74\x2d\x9a\xae\xc9\x58\xaf\x5d\xf3\x49\x34\x5e\x33\x2d\xd7\xd7\x9c\x9e\x74\x2f\xc5\x74\xca\x4f\x05\x1c\x4a\x03\x83\x22\xc3\xbd\x69\xa5\x04\xec\xf6\x5c\x5a\x27\x6f\x49\x89\xb3\xac\xd6\xf4\x26\x42\x14\xdc\x0e\xbd\x0b\xf8\x54\xac\x6d\x79\x99\xcf\xd0\x8f\xe3\x89\xe0\x15\x97\xa1\x1a\xbd\x4c\x88\xa2\xde\xbe\x24\x0e\x5f\x7b\x7c\x74\xf4\xc6\x01\xa3\xa8\x99\x56\x9b\x79\x2b\x99\x5c\xfa\x42\x95\x8e\x3b\x35\xc2\xea\x72\xed\xe5\xe1\x27\x53\xdd\xdb\xd8\x1c\x6c\x3f\xd8\x7e\xb8\xb5\xbb\xfd\x60\x4f\x75\xbb\x6a\xaf\x7c\xee\x76\x49\x7f\x8e\x1a\x4e\xde\xd5\x7a\x34\x3d\x88\x64\xa4\xcd\x6c\xcd\xe7\xea\xbf\x06\x8b\xd0\xb0\x9a\x45\x61\x7b\x01\x85\x16\xbc\x0f\xde\x1c\xed\x7f\x2a\x11\xdf\xcd\x5b\x2d\x7a\x8a\xf2\x56\x6a\x2d\x92\x53\xcd\x65\x60\x5e\x7e\xc4\x4a\x58\xd2\x73\x9c\x1c\xe4\xc7\x4f\x1f\x5e\x1e\x3e\x2f\x61\x3e\xf2\x2a\xb2\x2e\x1f\x8d\x74\x03\x5b\xdf\xbc\x2c\xeb\xee\xe4\x75\x5f\x26\xc4\x2e\xa8\x7d\xff\x20\x7f\x8f\xcc\xdb\x8d\xa6\x39\x13\x1f\x5d\x48\xeb\xcf\x84\xfd\xbc\xff\x37\x2f\x3f\x56\x46\xf4\xf0\xcf\x2d\x6f\x65\xd6\x54\xae\xed\x7f\xf8\xb0\xff\xbd\x6c\x3c\xe8\x7b\xb9\xcd\x37\x6e\x74\x33\xab\xd2\xb9\x3c\x9f\xaf\x13\x6d\x1d\x73\xb9\x28\xca\x80\x1e\x3d\x7e\xf5\xec\xc9\xa7\xb5\x9b\x48\x9f\xad\xf1\xb5\x30\x12\x93\xf1\x9a\xe4\x97\x62\xbc\xf6\xff\x38\x3d\xdd\x73\xfe\x1f\xec\xd0\x4a\x83\x59\x86\xd4\xb1\x2e\x4f\x02\x5f\x71\x22\xe8\x48\x78\xb8\x1d\x9e\xa3\xfe\x82\x1e\x59\x8b\xe2\xc0\xb3\xba\xa6\x74\x05\x8a\x84\xc5\x71\x2e\x20\x53\x8e\x30\x0a\x89\x2a\x8c\xe3\xa4\x56\x6d\xed\xcd\xd1\xe1\xf3\x67\x1f\xd6\x38\xc2\x5a\x3b\x14\x62\xbc\x86\xf2\x64\xcd\xe9\x25\x3d\x67\xcd\x4f\xf4\x5a\x2c\x27\xb3\xb5\xa9\x10\x6b\x4e\x2f\x07\xd3\x73\xd6\x84\xd4\x2a\x12\x53\xec\xa0\x32\x9a\xa4\x65\x34\x9f\x31\x9e\xa2\x32\x9a\x4d\xef\x8f\xd3\xfc\x87\x01\xda\xd9\x2e\xa6\x94\xb3\xd2\x30\x0f\xec\xf2\xe0\xc0\xcf\xf8\xf4\xe8\x46\xbe\x53\xf1\x95\x50\x7a\x66\xd4\xa4\xbb\x0a\xbe\xc1\x89\x95\xaf\x88\x2c\xad\xb2\xa3\xe7\x86\xbf\x59\x8c\x39\xbb\x24\x47\xc4\x3e\x41\xe9\x7f\x7b\x99\x90\x2f\x9a\x94\x43\xda\xf2\xf2\xfe\x23\x26\xdd\x10\x62\x26\xdd\x53\x08\x59\x7f\x18\xee\xc5\xb9\xa6\x1b\x1a\x0d\x1e\x11\x88\x8f\xc3\x93\x6c\x79\xea\xdd\x8b\x61\xc4\x22\x62\x3a\xab\xf4\x14\xe5\xbd\x6c\x7b\x25\xfa\x0b\x73\x8d\xaf\xcf\xb0\xa5\x61\x12\x22\x6b\xb1\x53\xe0\xe5\xb3\x0e\x4c\x0d\x56\xc3\xa9\xeb\x0f\xa7\x6c\xea\xfa\x19\x32\x53\xeb\xcf\x8d\x42\xb2\x80\x8a\xcf\x2e\x0d\x40\xf0\x0b\x64\x3e\x26\xe4\x3b\x37\x23\x37\xba\x5f\xd6\x85\xb7\xc0\xc8\xa5\xcb\x73\x3e\x6d\x6b\xf4\x2b\xfb\x5d\x9a\x91\x55\xe2\x62\x1a\x74\x25\xf5\x87\xd3\xf4\x4c\x69\xb4\xdc\x1c\x0f\xd3\xb3\x59\x0c\xea\x8b\xf8\x99\x1b\x31\x85\x8b\x88\x07\xf0\x81\xcb\x2b\x73\xaa\x49\x42\xab\x71\x36\xd5\xd0\xa0\x19\xf9\xc2\xa1\x40\xa3\x21\x50\xc8\x06\x6b\x94\xad\xf7\xeb\xf2\xa7\x10\x69\xcf\x6e\xaf\x44\xa0\x23\x79\x6a\x84\x58\x21\xbc\x8a\x66\xcf\x64\xe1\xb5\x5f\x3e\xed\x92\x6e\x07\x6d\x86\x4e\x79\xda\xb4\x24\xb8\xfa\x5e\x7d\x09\xa4\xcb\x0d\x1c\x97\x0f\x33\xb9\x96\x09\xaa\x4c\x58\x64\xdc\xbf\xc6\x84\xd7\xfb\x8b\x0c\xdc\x0d\x10\x46\x90\x33\xe5\x8c\xc3\xe6\x5b\x37\xab\xf6\x4c\x16\x47\x4c\x05\x1b\x2d\x20\x8c\x11\xc2\xb8\xdb\x5d\xae\x55\xc1\x55\x60\x2d\xd1\x54\x6b\xab\xac\x15\x62\xad\xb0\xdb\x7d\x62\x6a\x9d\x82\x72\x4f\xcb\xed\x50\xd4\x3a\xc3\x5a\x67\x4d\xb0\x0a\x71\x53\x01\x50\x21\xc1\x27\xed\x7e\xbf\xf5\xd2\x67\x58\x2e\x42\xd5\x21\x20\xf6\x34\x06\x00\x19\x02\x34\x1d\x63\x30\xca\xb1\x38\x69\x3b\x21\x3c\x68\x55\x59\x50\x49\xb2\xf2\x38\x0a\x67\x04\x95\x17\x30\xec\x10\x24\xed\x39\x4e\x55\x8d\x39\x94\xcd\x27\x4c\xe7\xf5\xf7\xa6\xbf\x8f\xab\x7c\x2c\xc7\xf2\x84\xd9\x7e\x74\xa6\x5b\xbf\x94\xcc\x00\x4f\x26\x93\x4a\x77\x6f\x2a\x60\xef\x3a\x5e\x1f\xb8\x51\xc6\x8b\xe2\x9f\xf5\xe2\xc1\x42\xf1\xef\x7a\xf1\x26\xf8\x9e\x84\xc0\x33\x7d\x58\xed\xff\x68\x85\xf6\xbf\x85\xb5\xc7\x68\x50\xc0\xe3\x15\x15\xb7\x2b\x15\x71\x24\x9f\x64\xf5\x60\xef\x03\x22\x61\xad\x45\x1c\x82\xf0\x3e\xc9\x5e\x2f\x33\x43\x70\x96\xcf\xbc\xe3\x93\xb4\xe0\xa8\x38\x2b\x95\x50\x93\xa7\x55\xee\xf0\x5b\x92\x2a\x4b\x90\xe4\x8d\x24\x1f\xb2\xad\x5d\xd9\xdc\x2f\x32\x24\xa5\x7b\x66\xed\x30\x45\xe1\x15\x1e\x2b\xe0\x79\x59\x6d\x34\xd5\x75\x59\x00\xff\xc2\x96\x02\x76\xf3\xdb\x9a\x9b\xf6\x9c\x45\xb2\xf5\x01\x7c\x91\xec\xf8\xa4\x1c\xe9\xab\xdc\x5c\xfe\x22\xb3\x08\x18\x0a\xeb\xef\xb2\x38\x19\xd3\xa2\x3f\x94\xec\x8b\x74\xa7\x67\x51\xa8\x09\x1d\xd2\xb7\xa6\xc1\x10\x61\x55\x56\xed\x2d\x8e\x17\x9d\x6b\xca\xcd\x9d\x04\xd2\x6c\x43\xb7\x63\x76\x46\xdf\x1e\xb9\x0f\xcc\x9f\xa2\xde\x69\xb7\xab\xdc\x53\xe4\x5a\x72\x48\x95\x7b\xca\xcc\x63\x84\xdc\xd9\xec\x39\x3b\x3e\x03\x10\x0b\x7c\x62\xc0\x19\x69\x95\xd7\x44\x47\x94\x41\x1e\xe3\x29\x73\x5e\x7e\x1d\x47\x63\xac\x1a\x60\xff\x7e\x6d\x76\x0c\x30\x09\xb8\x5e\x29\x45\x41\xb0\x63\x71\xca\x90\x54\xee\x59\x7d\x03\x67\xdd\x87\xd8\xfd\x59\x3e\x0f\xd4\xfa\xc0\x0c\x26\x86\xec\xd0\x67\xdd\xf7\x06\xc6\xf6\x34\x55\x21\xf2\x94\x7b\x9a\x42\xde\x76\x9c\x5a\xda\x7d\x5e\x5b\xc4\xaa\x25\x58\x5d\x44\x95\x4f\x9f\x14\x37\x6b\xdf\xde\xbe\x79\xa1\xf5\xd5\x07\xf1\x2b\x11\x53\x3d\x5c\xaf\x13\xb4\x99\xaa\x24\x2a\xd5\x9d\xa1\x74\xf9\x78\xfc\xec\x5a\x48\xfd\x26\x9a\x6a\x21\x85\x22\xce\x95\x8a\x4f\x95\x98\x4e\x9d\x9a\x64\xca\x19\xd7\x93\xf8\xf2\x2a\xd1\xdc\x9f\x88\x6e\xd7\x50\xa5\xcb\xc9\x9d\xff\xd1\x93\xee\x24\xe6\x63\x31\x06\xff\x93\x27\x5d\x1d\x6b\x3e\xc1\xe8\x94\x94\x48\x48\xd0\xfb\xb5\xd4\x8f\x50\x2a\x56\x95\x4e\xe8\x9d\x22\x3f\x25\x09\x23\x8c\x6a\x69\x6a\xa1\xa3\x4b\x11\x27\x7a\xb9\x8d\xdf\xde\xc6\xa0\xb5\xd0\xa0\xc9\x63\x47\x04\x93\x70\x17\xbc\xf3\x84\xab\xc4\xf4\x2a\x96\x53\xf1\xf9\xc3\x1b\xf0\x67\xde\x9d\xff\xd5\x13\xee\x54\x73\x9d\x4c\x21\x88\x8b\xdf\x9f\xc4\xad\x4e\x21\x08\xbc\xea\x2c\x59\x1e\x10\x25\xf6\x1c\xbc\x3c\x05\x2f\x5d\xae\x32\x3b\x23\x74\xfe\x51\xff\x48\x87\xc2\xea\x23\xcb\xd2\xc9\xe9\x78\x6b\x0e\x12\x60\x7f\x8f\xe7\x2a\x4a\x92\xf9\xc7\x23\x79\x4a\xfa\xc0\x29\x44\xb5\x57\xbc\xb7\x49\x87\x8a\x5d\x10\x9f\x57\x43\xea\x4b\x26\x7e\xa8\x49\x12\x11\x49\x47\x51\xcf\x01\xb4\x83\xb9\x17\xd1\x14\x14\x4d\xcb\xf3\x4e\x22\xdc\x53\xa1\xf7\x27\x93\x0f\xd9\xbc\xbc\x10\x7c\x2c\xd4\x94\x50\x0a\xfe\xfb\xca\x7c\x65\x7c\x43\x58\xe5\xc2\x4e\xd2\xde\x66\xbf\x3f\x9f\x6f\xf5\xfb\x7b\x2c\x7f\x45\x0b\x1f\xbc\x1f\x8f\x67\x4c\x16\xed\xcd\x84\xc2\x4f\x49\xa2\x88\x68\x9a\x9d\x87\x30\x45\x74\x55\x11\x4d\xe8\xe8\x8d\x24\x89\xcb\xa9\x47\x5a\x01\xcc\x48\x10\x61\x64\x17\xba\xcf\x88\x04\xe1\xfa\xdb\x46\x4f\x4b\xad\xdf\x55\xba\xf1\x95\x90\x44\xb8\xc1\x15\x08\x37\x78\x07\xeb\xfd\x65\xb7\x01\xd2\x55\x6c\x54\xe5\xe0\x9d\x01\xb3\xde\x7e\xe8\x19\x04\x43\xed\xfa\x43\x1b\xca\x27\xdd\xa9\xd0\xd9\xf6\xb3\x33\x45\xb4\xcb\x6d\xc8\x99\xd1\x19\x2a\xe8\xce\xae\x8c\x32\xea\x6f\xbb\x3e\x48\xd7\x18\x76\x4f\x94\x18\x0b\xa9\x23\x3e\x99\x1a\xb0\x1f\xc0\xec\x55\x37\x78\x4d\xbb\x5d\x22\xdd\x8c\xfa\x4d\xc9\x6b\xa3\xe5\xe2\x49\x60\x16\x5f\x21\x5c\xff\xfd\xb0\x50\x56\xa6\x42\x8e\xc9\xd4\x4c\xe3\x88\x34\xe0\xe3\x3c\x89\xa5\x16\x52\x6f\x18\x0c\x1c\x8c\x36\x04\x83\xba\x87\xbf\x2a\x5b\x45\xba\xdc\x8f\x95\x26\x78\x25\xa6\xe6\x99\xab\xb8\xb0\x50\xe0\xf9\x9e\x70\x7d\xe0\x0d\x7b\x41\xb8\xdc\x48\x80\x42\xf3\xe5\x11\x60\xac\xb2\x91\xa4\x2b\xfc\x62\x9f\x8d\x58\x12\x20\xdd\xe0\xd4\xfc\x73\x64\xfe\x79\x51\xdb\xc6\xb6\x5e\xe5\x8d\x45\xb2\x90\x31\x9f\x17\x5c\x62\x99\x56\x4f\x6e\x24\x58\x55\x79\xa4\xdc\x70\xc2\x4f\xa7\x9e\x91\x00\x6b\x7d\x4a\x87\xa8\xe3\xcf\xe7\x4f\x48\x76\x44\x18\xb1\xbb\x14\x62\x46\x02\xa6\x09\x2a\xfa\x2e\x87\x90\x71\x32\x85\x98\x82\xcf\x1a\xf8\x48\x3d\xba\xe6\xbb\xcc\xb7\xf3\x77\x0c\xbd\x49\x5c\xde\xed\x12\xa2\x99\x9e\xcf\xef\x52\x7a\x2c\x4e\x58\xe2\x72\x22\x30\x2a\xcd\xd4\x60\xef\x25\x49\x2a\xd1\x06\x3a\x25\x11\x4c\x2b\x83\x9a\xda\xbe\x82\x2c\x3c\x30\xa6\x10\x92\xd8\x58\x1e\x60\xd4\x39\x45\x22\x08\x5c\x1f\x12\x12\x97\xc7\x73\xf5\xb7\xe0\x8f\xee\xae\x62\xa5\xa7\x9e\x9f\x7a\x77\x56\xcc\x7c\x97\x18\x30\x94\xf7\xf1\xbe\x32\x20\xc1\xee\x4e\xd1\x3f\x6a\xe7\x28\x85\x84\x49\x37\x00\xce\xa4\x3b\x86\x80\x49\x57\x00\xda\xa3\x45\x24\xb3\x7b\xc6\x3e\x98\x1d\x78\x54\x3a\xd8\xd7\xaa\x17\x25\xb0\x44\xc2\x5d\xc7\xdb\x01\xbf\x81\x5c\xa4\xcb\x6b\x47\xbb\x6e\x67\x74\x41\x38\x08\x54\x2d\xbd\xa0\xdb\x8d\x46\xb7\x78\x93\x48\xb9\x11\x28\xf7\xdc\xbc\xbd\xc0\x17\xc1\x48\xb9\x46\x8e\x9a\x57\x86\x14\x40\xba\x3e\xb5\xca\xd0\xd7\xbf\x55\x86\x94\x7b\x4a\x16\x75\xa1\x36\x1f\x20\xf9\x25\x41\xba\x67\x90\xe9\xac\xaa\x4e\x7d\xdf\x56\x5f\x05\x41\x4d\xf6\xc2\x53\x30\x31\xda\x6c\xa9\x18\xfd\x58\x54\x67\x2f\x4d\xb9\x19\xc3\xeb\x95\x7a\xac\xf4\x24\xc4\x0b\x8e\x71\xa9\xea\x71\xdc\x95\xa0\x30\x0c\x4b\x54\x8a\xac\xf7\x01\x77\x99\xd1\xc8\xc1\x3c\xe3\x21\x6e\xf6\x2c\xa9\x51\x31\x8f\x93\x13\x33\x44\x27\xbc\x75\x80\x7b\xe2\x38\x39\x99\xcf\xef\x22\xaf\x03\xe7\x5e\xa7\x76\x69\x45\xa9\x72\x13\x67\x86\xa4\x2a\x0c\xc9\xdc\xbf\xa4\xdc\x0b\xe0\x8c\x84\x2c\x01\x9f\x09\x98\x11\x39\xfa\x2e\x8f\xc3\x13\x57\x78\xf6\x6f\x58\x93\x53\xe5\x21\x8c\x3f\x54\x18\xe1\xfb\x8b\x1a\x35\xf1\xaa\xc2\x52\xa4\xd1\x9b\x26\x65\x48\x28\xea\x73\xfa\x38\x39\x61\x24\x62\xdc\x6c\xdf\x18\x43\x8b\x68\x05\x6f\x90\xa3\xd8\x8d\xd8\x25\x89\x20\x76\x23\xea\xc5\xee\x79\xf6\x70\x4e\x21\xa6\x85\x03\xb6\x0c\x3c\x56\xee\xe5\x30\x70\xfd\x61\xc0\x02\xd7\xa7\x38\x56\xb3\xeb\xcc\x68\xb3\x8e\x87\x35\x57\x2f\xa2\x91\xcd\x89\x1b\x83\x86\xbb\x2b\x4f\xb9\x12\x7e\x79\x22\xb5\x44\x19\x41\x0c\x21\xf8\x95\x9b\x80\xca\x0c\xf9\xbb\x3c\x96\x27\xdd\xee\x13\xb2\x55\xbd\x85\xa8\x6a\xb4\x87\x35\x01\x6b\xb2\x3b\xe1\x25\x0a\x94\xa7\x80\x7b\x5c\xa5\xf0\xad\x30\x01\x12\xd5\x1a\x81\x54\x25\x13\xae\xf2\xdd\xa7\x81\xb3\xe3\x13\x08\x18\x42\x76\x15\x44\x8c\x68\xd6\x87\x85\x4d\x62\x17\x64\x2a\xf4\x27\x2b\x90\x48\x55\x62\xe4\x3b\x07\x4a\xb1\x5d\x29\x0e\x26\x82\xab\xbc\x99\x42\x37\x7b\x5e\xcb\xf6\xe9\xb3\xc8\x8e\xcb\x0d\x16\x2c\xcb\xc2\x0c\xc8\x22\xbd\x69\x29\x81\x39\x08\x63\x68\x06\x04\x63\x4c\xf3\x00\xbe\x5c\xab\x4a\xf0\x02\x4d\x72\x42\x8a\x95\x5a\x8b\x52\x0a\x77\x46\x4f\x0a\x54\xe4\x8b\x1a\x17\xe2\xb9\x59\x93\x42\x22\x9b\xab\xd8\xf1\x13\xce\x78\x76\xf0\x45\x69\x25\x8c\x68\xa8\xf6\xfa\xf3\x39\x47\x2d\x2f\x10\x44\xc1\x80\x66\xda\x7c\xa0\x86\x2d\x5c\xa8\xc9\x03\x84\x81\xe4\x34\xb7\x37\x23\xc5\x9c\x44\x8e\x45\x18\x49\x31\x2e\x5d\x9a\xe3\x38\xc0\x73\xc3\x51\xfe\xc3\xab\x32\xf2\x58\xe5\x16\x22\xbf\xba\x12\x72\xfc\xe4\x2c\x9a\x8c\xcd\xb4\x37\xc9\x5d\xbb\x3f\x85\x2b\xe3\xb1\x18\x96\x07\x7c\x5c\x09\xa9\x0f\xe3\xb1\xc8\x4f\x4e\x2d\x90\x27\xaa\x7a\x82\x4a\xef\x52\x6a\xb4\xfc\xbb\x1a\xff\x09\x55\x93\x61\x8f\xae\xc2\x1a\x65\x56\xcf\x9e\xfe\x10\x03\xd9\xaf\xac\xff\x5d\xce\x51\xf8\x50\xf4\x58\xe2\xfa\xf3\x79\x1f\xb2\x38\xc6\xa4\x8c\xb0\xec\x95\x11\x8a\xc8\x74\x03\x2f\x80\xb1\xb7\x8f\x3b\x48\x78\x1a\x42\x8f\x1b\xed\x05\x95\x07\x92\x69\x02\x30\xfd\xbf\x82\xe0\xdf\xa1\xb8\xf9\x57\x28\x22\x55\x4c\xda\x76\x38\xba\x2c\xce\x3d\x89\x22\xc6\xf7\x06\x3d\xa2\xb0\x73\x5a\x5b\xa0\x6b\xb5\xd0\x66\xc7\x88\x23\xb8\xf4\x14\x5c\xe4\x02\x3f\x6d\x61\x21\xd7\x8a\x1c\x4b\x50\x27\x0d\x2a\x99\x35\x96\xf3\x73\x5f\xd5\xee\x21\xca\x60\x80\x6e\x82\x92\xdf\x81\x34\x90\xa0\xa3\xd8\x0a\x5d\xb1\x80\x03\xa2\x09\x52\x79\x37\x12\x61\x5d\xaa\xb6\xd8\x92\x65\x70\x90\x34\x01\xac\xde\x99\x4c\xff\xe2\x14\xb6\x06\x10\x78\x13\xc8\xfa\x35\xca\xf4\xaf\xce\x69\x17\xc0\x42\xd0\x04\x78\xf1\x62\x65\xfa\x97\x67\xb9\x4b\xc0\x21\x6a\x02\xbf\x7c\xd3\x32\x5d\x38\xf1\x0d\xc1\x87\x29\x4c\xe0\x1a\xc6\xd0\x81\x4b\x38\xab\x75\xb1\x54\xda\xd4\x89\x62\x3e\x68\x36\x05\xc1\x26\x90\xb0\x6b\xe0\xcc\xe8\x9e\x1d\x88\xd8\x25\xc4\xec\x0c\x1e\x32\xc6\x88\x64\x21\x6d\xba\xd8\x09\x71\xdb\xd5\x4e\x12\x67\x81\x80\x8b\x67\xd2\x69\xfb\x95\x00\xa3\x09\xf1\xbe\x53\xd1\xb7\x28\x9c\xad\xd8\x85\x0e\x1f\x54\x2b\xc3\xd5\xca\xba\x9b\xb5\xba\xa7\x2b\xeb\x6e\x55\xeb\x36\x44\x68\x57\xaa\x6e\x9b\xaa\x0a\x62\xef\x2e\xc4\x16\x3a\xad\xb1\x81\x9b\x0a\x9f\x76\x8c\xbc\xbb\xd2\x0e\x63\x72\xe4\x5c\x39\x9e\x6c\xd9\xff\x66\x12\xd0\xfd\xd5\x19\xcd\xc8\xa5\x02\xa3\xda\x10\xcd\x24\x24\xec\x2c\xc6\xb8\xa1\x18\xaf\xef\x09\xb7\x03\xdc\x4b\x46\x17\x24\x0c\x20\xd9\xdb\x1a\x5d\x28\xef\x56\xc1\x69\x60\xd4\x6c\x61\xcc\xf8\x19\x79\x1d\x64\x87\x91\x29\xa5\x5e\x76\x61\xc0\x2c\x47\xc6\x41\x66\x0a\x2e\x5a\x35\x99\x23\x82\x2e\x28\x8a\xfe\xf8\x94\xc2\x6d\xeb\x9c\x05\xb1\x21\x03\x37\x88\x29\x70\x63\x26\xf0\x08\xf8\xa9\xf9\x7b\x5a\x9b\x0c\xe4\xba\x15\xbd\xf3\x2e\xad\x5c\x50\x28\x7c\xf8\x1c\xdd\x36\x1d\x48\x98\x76\x25\x46\x96\xc7\x78\xb2\xcb\x37\x9d\x75\xc6\x44\x6e\x6c\xaa\x63\x71\x32\x9f\x13\xf3\x87\xdd\xa5\x74\x68\x56\x8d\x31\x26\xba\x5d\x27\x98\xf0\xe9\xd4\x3c\x24\xa3\x67\x8a\x04\xf6\x7e\x74\x60\xb4\x56\x8e\xbe\x42\x5b\xe1\x90\x5f\x8a\xa2\x92\x82\x04\xce\x25\xe1\x66\x96\x4c\x45\xfc\x5d\xfa\x69\xca\x53\x9f\x05\xbd\x5f\x1e\xab\x93\xa1\xf9\x87\x89\x91\xe8\x39\x6b\x4e\x4f\x7b\x95\x64\x19\x4f\x54\xfd\x7c\xa2\x93\x7b\x39\x8b\x20\x46\x53\xc3\xbd\xc0\x5b\x3a\x17\x4c\xba\x97\x84\xd2\xec\x3c\xaf\x5f\xad\x16\x29\x37\x50\x82\x6b\xf4\xc3\x18\x95\xc1\x5e\x8f\x8c\x42\xb2\x8d\xd5\x2a\x47\x70\xd2\xbd\x40\x4b\xf2\x7c\x68\x8a\x84\xdb\x19\xd2\xa5\xe3\xda\x64\x94\xb0\xe3\x04\x84\x7b\x7e\xe2\x15\x91\x46\xe7\x14\xef\xf6\x5d\x64\xa7\xb2\x77\xe7\x5e\x02\x57\x9e\xca\x3d\xeb\x24\x60\x4f\x14\x11\x60\x4c\x75\x31\xb9\xfc\x29\xae\x85\xd4\x3f\x8d\x4a\xf3\x53\x89\x90\x71\x08\xd2\x28\x24\x5b\x55\xac\x0f\x14\x31\x76\xec\x19\x91\xee\x29\x05\x05\xd2\x1d\x53\x08\x86\x76\x01\xa5\x1b\x8e\x8a\x61\x3d\x9b\x08\xa3\x62\x1d\x7e\x24\xd2\x0d\x01\x63\x0f\x16\xcb\x30\x22\x61\x18\xa8\x6e\xd7\xe1\x66\x0f\xb9\x41\xb7\x1b\x34\x38\x25\x83\x49\x14\x5c\x38\x10\x28\x12\x50\x0a\x06\x85\xac\xe7\x61\xf5\x94\x57\x40\xcc\xfa\xc3\x78\x2f\xca\x55\xd9\xb8\xd7\xa3\xb1\xa9\xfc\x44\x91\x81\x19\xc4\x28\x3a\x8e\x4f\x3c\xf3\x0f\x9e\xd8\x16\x0a\x6e\x50\xb9\x6c\xa7\x96\x4e\x40\x8d\xf1\xa7\xab\x8e\xc6\xa1\x61\x53\x66\x21\x46\x87\x0a\xfd\xb5\x5e\xb6\xbf\xc5\xe8\xa5\x6d\x8e\xaf\x2c\xf1\x8e\xce\x8b\x3a\xdb\xf6\xc5\xc7\xec\x05\x71\xae\xf9\x24\x11\xb8\x05\xe6\x73\x27\x38\x13\xc1\x05\x6a\xab\xe6\x51\x1e\x8b\x93\x75\xc6\x12\xf4\x65\xa1\xe7\xa3\x7a\x48\x76\xb8\x40\x84\x53\x3d\x9b\x88\xd6\xab\x4a\x95\x33\x29\xb5\xa0\x86\xd9\x9a\x95\xab\x07\x43\x31\x42\x17\xd8\xbe\xd6\x2a\xf2\x13\x2d\x88\xcd\x85\xe0\x2a\x71\x19\x5f\x8b\xca\xeb\x2a\x3e\x1f\xff\x08\x17\x8c\xb2\x1c\x02\x67\xc2\x8d\x87\x7c\xa1\x8f\xc3\x8f\x24\x01\x8d\x29\x0f\x16\xfb\xb1\x45\xd5\xbe\x5e\x2e\xee\x57\x43\xba\x07\x53\xdc\x6f\xf8\x0b\x79\x47\xcd\x74\xd7\x0b\x97\x6c\x8c\x59\x6e\x36\x1a\xb7\xa1\x8c\xf6\x5f\xf7\x97\xdb\x61\x8c\x71\x34\xc2\xdd\x5f\x8c\x0f\x83\x58\xea\x48\x26\x22\xcd\xb1\xaa\x93\x65\x62\xf4\x83\x80\xbd\x31\xac\x86\x37\x7a\xd3\x13\x08\x60\xa6\xba\xdd\xbb\x2b\x3e\x9d\x46\xd7\xc2\x3b\x8b\x09\xa7\x7b\x9b\x29\x05\xbc\xee\x14\xd8\x73\x8e\x76\xf0\xb6\x5a\xae\x5b\x6a\x35\xbb\xbb\x89\xe4\x38\xbe\x69\x72\xf6\x3b\xf6\x7c\xf2\x08\xf9\x82\x6b\x6d\x9f\x22\xd4\xe2\x2e\x05\x27\x43\xc2\x81\xbb\x53\xa1\xbd\x8a\xde\x30\x53\x6c\xbd\x6f\x64\x73\xe9\xd5\x2d\xa7\xfb\x8d\x22\x3e\x18\x1e\x5f\xf1\xa9\x15\x46\xad\xfb\x0b\x34\x9b\xa1\x4c\x01\x99\x87\x2c\x68\x5a\x0f\x9e\x3d\x8b\x89\xa2\xc8\xf5\x39\x04\x2c\x19\x19\xb9\xc6\x5d\xee\x71\x37\x88\x3d\x0e\x11\x1b\x18\x8e\xcd\x5d\xdf\xdb\x62\x2c\xe9\x76\xb9\x11\x36\x31\x23\x51\xb7\x6b\x28\x3b\xbe\x32\xa3\xe0\xa7\xdc\x62\x0b\x64\x73\xa9\xfa\x29\x35\x55\xaf\x14\xf2\xaf\xa7\x22\xe4\xc9\x44\x13\x0a\x3e\x1d\x0a\x16\xbb\xe7\x43\x7b\x11\x2f\x1f\x41\x19\x60\x25\xa8\x31\x9b\x03\x6a\x23\xac\x97\xe3\x73\x87\xe1\xc6\xc6\xd0\xd4\x39\x0e\x4f\x4c\xb5\x98\xc5\xee\x55\x1a\x13\x54\xdc\x72\x51\x32\x75\x7f\x31\x09\xd3\xca\x11\x6c\x6d\x73\x1e\x17\x37\x05\x8f\x72\x8f\x4f\x9f\x56\xb3\x2f\xfd\x56\x8b\x56\xe5\x5d\xc7\x53\xa0\x3c\x0d\x53\x4f\x80\xce\x4c\x0b\x48\x72\x1b\xa3\x74\x5c\x67\x96\x11\x54\xae\xf5\x1e\x55\xa0\x45\x21\xc1\xdb\x12\x39\x5c\x69\xb4\x0b\xa3\x84\x60\x40\xfc\x3a\x63\x96\xfe\x07\x86\xcf\xcc\xe7\x9b\xf8\xa2\xea\x8e\xf9\xad\x88\x86\x3e\x08\x0c\x6e\x61\xcd\x8e\x26\xc3\x76\xff\x32\x8b\x83\x91\xc2\x45\x3a\x8e\xcc\xb8\x94\xae\xb1\xdd\xa4\x3b\x06\xe1\x09\x08\x3d\x23\x2a\x7c\x4f\xba\x7e\x9a\x5a\xa2\x19\xa4\x99\x73\x8c\x67\xae\xb1\x9d\x8a\x97\x49\xba\x13\x1b\x8f\x0d\x31\x0b\x8a\xf8\x10\x16\x33\xc6\x0a\x21\x10\x76\xbb\xb1\x59\xc5\x90\x05\xc7\xf1\x89\x29\x39\x8e\x71\xf3\x87\x0b\x27\x9a\x46\x56\x5f\xd0\xa1\xf9\xa1\x8c\xd0\x1e\xda\x28\x9d\xfa\xfa\xb9\x17\xa0\xdc\x0b\xf0\xcd\x1a\x62\xbb\xfe\x9e\x5f\x5c\x71\xc2\xf9\x1a\x80\x00\x9f\x16\x01\x81\x39\xb2\x53\x23\xbe\x61\xc2\x94\x7b\x0e\xd7\x6c\x7d\x00\x63\xd3\x1d\xca\xf3\xb1\x91\xe7\xd7\x6c\xbd\x0f\x4b\x42\x7d\x3a\x9a\xb2\xe3\x29\x8c\x8d\x50\x9f\xda\xe5\x1e\x1b\xa1\x3e\x66\x63\xf7\xa2\xe0\x71\x1d\xa6\x32\x50\x9d\x76\x50\x93\xd1\x84\x1d\x4f\xa0\x63\x40\x4d\x2c\xa8\x8e\x01\xd5\x61\x1d\xf7\xa2\x70\x06\x76\xbb\x79\x4c\xf5\x3a\x63\x93\xfc\xee\xc9\x22\x35\x78\x84\x5c\x8f\xda\x0c\xfb\xfe\x50\xef\x95\x79\x23\x6c\x34\x86\x3c\xd6\x46\x9a\x61\x84\xdd\x72\x28\x06\x99\xc2\x84\x7a\x53\xc6\xd8\x84\xce\xe7\xd8\xcf\x26\x08\x98\xd8\x29\x36\xf3\x6e\xac\x1d\x0d\xa2\x37\x58\x8a\x61\xc2\x45\x90\x2e\xc7\xd8\x10\x9e\xad\xc1\x16\x3a\xbc\xf9\x52\x48\x14\x82\x7b\x5c\xec\x10\xf8\xb0\x18\x3b\xba\x54\xe3\x69\x5e\x63\xcb\xc3\x63\xba\x33\xec\xe7\xac\x75\x9b\x60\x00\x35\xfb\x64\x28\x65\x0c\xca\x68\x28\x97\x19\x4e\xdb\x20\xe0\x32\x8b\x99\x66\xca\x8d\xca\xe0\x99\xea\x48\x72\x2a\xda\x01\x01\x67\x94\x56\x7d\xdd\x15\xac\x12\xbb\xb7\xf3\xc8\x20\xc3\xfc\xb2\xb0\x9c\x5c\xd0\x55\x31\xe0\x15\x0c\xb8\xb1\xbe\x0b\xfb\x1e\xd9\x5e\x05\xfd\xca\xad\xe9\xba\x90\x35\xfa\x76\x3d\xa2\x0f\xef\xe2\x1b\x3d\x68\x9d\xb1\xc0\xe8\x6f\xfd\xe2\xd7\x56\xf1\x6b\x1b\x7f\x99\x9a\x41\x45\x21\x88\x98\x3c\x0e\x4e\x20\xb6\xb9\x4d\x22\xc6\x58\xdc\xed\x96\xba\x90\x69\x59\xd1\x85\x82\xf9\x3c\xd3\xae\x74\xb7\x4b\x48\xc2\x22\x6a\xe4\x34\xe1\x2c\xa6\x6e\x07\x03\x8c\x8a\xac\x14\xf3\x39\x21\xc2\x68\x4f\x77\x29\x3d\x0e\x4e\x58\x6c\x87\x58\x7b\xa7\x47\x99\xf6\xa6\x47\x8e\x93\x2b\x6e\xda\x74\xb2\x65\xdf\x5a\x2e\x8b\xc6\xdf\x71\x70\xe2\x86\x10\xe7\x8c\xd7\x5b\xbe\xcb\x7d\x1c\x9c\x18\x30\x46\xf2\xa2\x10\xb9\xb3\x02\xc4\x4c\x9f\x19\xa3\x19\xa1\xe9\x19\x02\x6a\x18\x51\x1d\xbb\x90\xa6\x45\x30\xa0\x9d\x1e\xfc\x23\x6b\xa3\xf0\x0d\xdf\xf4\xab\xb9\x6f\xca\x30\x9a\x25\xc1\x61\x98\xb1\x61\xf0\xc2\xc8\xd9\xf2\xa2\x1b\x2f\x82\xa8\xf6\x82\x11\x2e\xf7\x2e\x08\xb8\xbb\xf6\x22\x88\xbc\x60\x23\x4a\xa9\x17\xec\x45\x19\x95\x3c\xb0\x45\x01\x08\x8f\x57\xf4\xa8\x98\x05\x7b\xd1\x28\xf0\xa2\x3c\x88\xd2\x46\x4f\x5a\x1e\x99\x1c\x87\x27\xc3\x23\xa3\x28\xf0\xe3\xf0\x04\x34\xf4\x7a\xf6\xa2\xa5\xf5\xe1\x55\x88\xf8\x69\x05\xe7\x6a\x2e\x16\xe0\xcc\xcc\x92\xf9\x95\xab\xf2\x66\x18\x61\xc1\xc7\xc1\x67\x79\xdc\x26\x4c\x59\x1f\x26\xac\x0f\xd7\x4c\x0c\xa7\x7b\x61\xb7\x3b\xd9\xf3\xb3\x48\x80\x31\x23\x4f\x58\x74\x3c\x3d\xa1\x2e\x87\x0e\x23\x07\x2c\x3e\x9e\xe0\xc3\x25\x7b\xe2\xfa\x70\xc6\x0e\x5c\xdf\x70\xff\xf1\x3a\x63\x1d\xdb\xe6\xca\x34\xe8\x0d\x4e\xe0\xd4\x54\xee\x0d\x50\x3a\x5c\x51\x53\x74\xc3\xae\x5c\x0e\x33\x76\xe5\xfa\x70\xc1\x8c\x7a\x78\x63\x0a\x4f\xb1\xf0\x96\x9d\xba\x1c\xf6\xd9\xa9\xeb\xc3\x33\x36\x66\x8c\xdd\x9a\xc2\x67\xdd\xee\x05\x3d\x52\xe4\x12\xf6\x21\x81\x5e\xef\x9a\xc2\x2f\x85\xd9\xf2\xc6\x70\x06\x13\xa3\xd5\x5d\xf7\xd8\xa5\xf5\x6e\xbe\xcb\x4b\x66\xb6\xe6\x75\x8f\xcd\x6c\xc9\xb4\xc7\x36\x61\xd2\x63\x9b\x56\x39\x31\x80\xe9\x75\xaf\x97\xc3\xea\xe4\xb0\x8a\x9e\xae\xab\x70\xa7\x3d\x36\xa8\xb7\xbe\xa0\x45\x5f\x97\x45\x5f\x59\xed\x23\x45\x66\x70\x96\x63\xbb\x8c\xc3\x60\x98\x87\x02\xad\x5f\xcd\xe7\x37\xeb\x8c\xdd\x66\x77\x60\x16\x61\x2e\x62\xb7\xd0\xc7\x7e\x7b\x1f\x9b\xa9\x65\x47\x38\x9e\x2a\x2e\xc5\x88\x7a\x30\xe9\xf5\x70\xcb\x98\x55\xcf\x16\xfc\x49\x8e\x42\x65\xdd\xed\x52\x2f\xb7\xb7\x6d\x4b\x62\x39\x80\x43\x76\x38\x9f\x1f\x9f\x0c\x33\xb4\x2b\xe4\x72\xe0\xfa\x90\x29\x5e\x87\x14\x3b\x26\xfd\xbd\x7c\x4f\xcd\xe7\xfd\xbd\xa0\xf8\x7d\x48\xb3\xad\xf3\xd0\x6c\x9d\x1b\x2f\x81\x5b\x2f\x80\x99\x77\x98\x9d\x5c\xbd\x50\xcc\xf9\x29\x26\x97\x5f\x77\x1f\xbf\xa9\x24\xe7\xfc\xa5\x9a\x0e\xdc\x8d\xa4\xc4\x68\x98\x20\x97\x31\xd9\x11\xcb\x9d\xf2\x12\xd8\xf7\x02\x76\x17\x78\x7d\xf8\xed\x09\x30\x2f\xa6\x85\xe3\x39\xd3\x47\x4c\x7b\x16\xa0\x2a\x6e\x4c\xde\xc0\x0d\x8a\x43\x9a\x1c\x42\x4a\x21\x70\x03\xb6\x99\x9d\xd9\xd7\x14\x9c\xc0\xfd\x0d\x02\x22\x08\x5c\x65\x6a\x29\x96\x58\xb0\x81\x3b\x75\xa7\xec\xee\xc6\x8b\x2c\x84\x34\xc7\xbe\xf7\x42\xe5\x5e\xd8\x62\x64\xef\x6a\x92\xca\x0a\xa4\x7c\x5c\xbc\x88\x05\xe3\x16\xb5\x1c\x91\xa0\x8e\x88\x00\xee\xfe\x86\x00\x92\x4c\x09\xf8\x6d\xac\xac\x47\x90\x98\x09\x0e\x60\xdf\xf0\xa6\xf4\x5d\x1d\x07\xcb\xec\x33\x11\x53\xd4\xcf\x0f\x00\x70\x62\xee\x02\x6f\x50\x99\xbb\xa8\x2a\x5f\xbf\x54\x58\xd3\x7a\xe5\x30\x7e\xc1\xe1\x6b\x99\x21\x5a\x90\x96\xd7\xc7\xae\x8d\x57\x1a\x1a\x11\x9c\x5f\x26\x36\xdc\xaa\x93\x2f\x82\x4f\xbf\x18\x6c\xb4\x7b\x01\xb1\x3b\x85\x88\x16\x9b\xf2\x21\x96\xde\xc5\xae\x66\x0a\x62\x37\x61\xd1\xd0\x2a\x8b\xb1\x3b\x75\x6f\x86\xfd\xbd\x69\xa1\x5c\x5a\x44\xa6\xd0\xcf\x1d\xc7\x39\x8c\x47\xcd\x30\x26\x06\x86\xc1\x60\x42\xef\x26\xee\xbe\x3b\x65\x2a\x83\x3d\xf9\x13\x64\x0b\xba\x0a\xd0\x10\x24\x31\xa3\xee\xf5\xf0\x64\x98\xe0\xb0\xe9\xbf\x0b\x22\x4d\x90\xd2\xaf\x99\xb6\xa3\x36\xba\xe8\x75\xc9\xe1\xc7\x4c\x57\x75\x5d\xab\xbd\x96\xc7\x1f\x30\xb6\x13\xdc\x1b\x40\x00\xaa\xc1\x13\x65\xf7\x51\x87\x69\x57\x64\x1a\x96\x72\x83\xb3\x68\x32\x3e\x8c\xc7\x62\x5a\xc8\xa8\x33\xd6\x1f\x9e\xed\x75\x72\x69\x77\x96\x0b\xa8\x2b\x63\x61\xb2\xeb\x51\xe7\xf8\xec\xc4\x33\xff\xb8\x3e\x9c\xb2\x5e\x8f\xf7\xc8\x95\x3d\xe7\x41\xca\xdc\x63\x61\xb7\x1b\xee\xb1\x53\x4c\xd4\x26\xc9\xe5\xf1\xd9\x09\x5c\x65\x6b\x7f\x0a\x11\x05\x3b\x07\x0b\x33\x50\x4c\xc1\x90\xb3\xd3\xe2\xae\x5f\x9a\xdb\x7a\xd0\x07\xe5\xfa\x50\x4d\x22\xf9\x4a\x2d\x9d\xc9\xa0\x67\x30\x57\xb7\xa5\x47\x2a\xc4\x08\x6f\x15\xde\xf3\xad\x00\x78\xbb\xe8\x6e\x41\xa5\x5b\x55\x95\xee\x45\xd7\x8b\x06\xce\x9e\x2b\x92\x60\xb6\x28\xc6\x98\xc4\x04\x4b\xa5\x43\xb4\x12\xb8\xfc\x5c\xd5\xee\x65\xa9\x4a\x78\xfb\xd2\x01\x6c\xdd\x11\x53\x1e\x7f\x42\xc2\x9e\x20\xcd\xd3\x61\xd2\xb0\xa0\xf3\x39\x69\x7a\x6d\x7d\x39\x8b\x8b\x3f\x14\xdd\xae\xb1\x56\x65\xb7\xbb\x70\xac\x9a\x80\xac\xa4\xb6\xc2\xd8\x81\x29\x28\x37\x59\xb8\x8e\x95\x39\xf5\xdc\xc4\x94\x53\x58\x0c\x3d\x90\x39\xd0\xa7\x5c\x73\xd2\x87\x22\x65\x40\xb5\x76\x61\x43\xd8\xb9\x77\xa7\x8b\x96\x43\x13\xea\xa3\xa6\x97\xee\x39\x53\xee\xd4\x6b\x2a\x62\x77\xe7\x9e\x19\xc2\x95\xa7\xdc\x24\xcd\xbb\xde\xf5\xaa\xd1\x73\xd3\x2c\xdf\xa5\x76\x23\x8c\x75\xcf\x9d\x47\x76\x46\x64\x65\x5f\x1c\x6b\xf7\xba\x54\x1c\x65\x7e\x7f\xa0\x54\xbb\x08\xc2\xa3\xa8\x34\xd6\x1a\x0a\x66\x9a\x0e\x45\x21\xf0\xb2\x9e\x22\x39\x15\x4a\x3f\x16\x61\xac\x04\x79\xa2\x48\x82\x01\xf6\x6e\x42\x81\x2f\xf6\xf3\xc8\x43\x9e\x61\x7b\xa0\xa5\xc7\xa2\x7a\x40\x5e\x41\xdb\xcc\xb3\x95\x02\xda\xdd\xaf\x5a\x44\x6b\x7d\x63\x03\xb8\x0a\x1d\x3c\xad\x8d\x03\x77\xca\xec\x36\x71\x6f\x8a\x25\x7b\xd8\x44\xae\x65\x3a\x02\x33\x91\xcb\xe1\xbe\x79\x10\x6a\x25\x04\xb5\xf0\x5a\x3f\xcd\xa2\x06\x0e\x14\x3f\x45\xf7\x75\x91\x7b\xb4\x3a\x4d\xb9\x2e\x9e\x47\xa4\xee\x0f\x63\xb4\x68\xad\xc8\x1b\x71\x77\xea\x3d\x51\xc4\x48\x37\x33\x73\xd5\xd8\x35\xed\xce\x6c\xce\xa7\x62\x28\xa5\x1b\x93\x69\xf7\x36\xbb\x76\x53\x2c\x4a\xe5\xf6\x4d\x72\xcc\x8d\xe6\x1c\xb8\xfb\x10\xb3\x4d\xf4\x7f\x04\xa3\xc8\x76\x15\x65\x5d\x0d\x17\x16\x30\x86\xda\xa2\x07\xae\x3a\xa1\xa9\xe8\x76\x31\x0e\x42\x54\x02\x86\x70\x76\x16\xee\x0a\x2a\x77\x4a\x24\x1d\x8e\xad\xb3\xcd\x7b\x42\x06\xfd\xaa\x93\xf6\xb3\xca\x02\xdf\x6d\x5e\x5d\x43\xe0\x9f\x66\x57\x22\x27\x84\xd0\x98\xa7\x5a\xdc\xea\x2c\xb4\xd2\xea\x2b\xeb\x2d\x55\x1d\x87\x0e\x17\xf3\x52\xf2\xdc\x41\x3c\x5d\x15\x12\x3c\x54\xec\x92\xcc\xc8\xa9\x82\xc4\x95\xfc\x52\x40\xe2\xa2\x9d\x89\x29\x8a\x32\xc5\xc4\xd5\xfc\xf4\x90\x5f\x0a\x57\xc7\x6f\xe2\x1b\xa1\x9e\xf0\xa9\x20\x34\x3b\x31\x95\x8b\x72\x46\x94\x9e\x25\x61\x9d\x83\x97\xe4\xb3\x22\xd1\xb1\x38\xa1\xc6\xca\x2b\x0e\xd1\x7d\x05\x1c\x14\x04\xb5\xf0\x11\x05\x12\x74\xe5\xd8\x18\x83\x2e\x23\x50\x6e\x70\x6a\xfe\x39\x32\xff\x54\xc2\x36\x31\x01\x62\x1e\x16\x11\xbc\x07\xce\x22\x9c\x1f\x08\xd8\x67\x45\xca\x3d\xf7\x55\x2d\x5c\xd0\xb7\x33\x95\x60\x6e\x45\xf6\x13\xcf\x4b\xe8\x90\xb3\x57\x46\xcd\x0d\xac\x54\x09\x18\x86\xe0\x65\xa7\x86\xdf\x6b\x11\x03\x16\x4d\x51\x47\x53\xb4\xa2\x99\xe4\x68\x1a\xdb\xf3\x6d\xb7\xab\xdc\xb7\x04\x73\x99\x22\xd2\x91\xd9\x40\x3a\xd2\x13\x63\xd4\x45\x0a\xa3\x90\x21\x34\x03\x88\xdb\x07\x10\x28\xc6\x87\x76\x14\x81\x1d\x85\xaf\x88\x63\x9a\x3a\x94\x74\x28\x51\xae\xff\xde\xec\xbe\x9f\x8a\x84\x46\xc8\xc4\x66\x6c\x31\x84\xa8\x07\x42\xc8\x34\x04\x8a\xf5\x21\x42\x77\x4d\xf0\xa6\xdb\x25\x39\x12\x2c\xc2\x37\xd4\x0e\x1e\xde\x37\x47\x0a\x29\x1b\x01\xbc\x2f\xa3\x4b\xf4\x3b\x1f\x28\x7e\x29\x46\x8d\x6f\x6b\xc1\x4e\x95\x30\x2f\x09\x03\xb1\x75\x7f\xb7\x4f\x2b\x21\x46\x5f\x95\x0d\x05\x16\x44\xe7\x11\xdb\x95\x7b\x31\x9c\xd0\xbb\x04\x75\x95\x64\xd4\xf7\xc8\x7b\xb3\xc4\x60\xaa\xc2\xa0\x60\x13\x75\x8e\xa5\x99\x04\x35\x22\x58\xc7\xec\x7a\x9b\x63\x76\x40\xa9\x87\x2a\x76\xd2\xed\x5a\x20\x09\xdb\xac\xee\xce\x6f\xaa\x8c\x16\x38\x88\xcd\xd4\x4c\xe2\x00\x47\xe4\x9e\x19\x89\xeb\xf2\xf9\xfc\x09\x19\xd0\xb6\x68\x96\x19\xb9\x8c\xa1\x13\xd7\x22\xdd\xe8\x9d\xea\x76\xcf\xa2\xa9\x8e\xd5\xcc\x3d\x45\x97\xbf\x24\x36\xa9\x27\x8e\xf4\x47\xeb\xa1\x74\x33\xb4\x1c\x94\x31\x5d\x3e\x6a\xae\x05\x9e\x61\x38\x50\x81\x0b\xaf\x55\x6b\x8e\x8f\xd5\x40\x33\x81\xdf\x06\xf7\x6e\xf1\x78\xa5\x7a\x5a\x92\x42\xc3\x69\x8d\x57\x0f\xac\x06\xa9\x19\x59\x15\x81\xd6\xed\xe6\xbf\xa0\xa9\x9a\x3d\xe5\x19\xd9\x3f\xde\x6b\x55\x8b\x58\xa8\x6b\x8e\x4f\x25\xa9\x8f\xb1\x62\xba\x48\x7a\xf7\x41\x12\x81\x91\x71\x05\xdf\x5e\x3a\x3a\xd2\x20\xeb\xa7\x54\x98\x31\xac\xba\xb0\x8d\xe7\x53\xda\x7e\xfb\xa1\x3d\xab\x4b\x76\xbf\xbf\x72\x1d\x41\xd3\xd1\xa1\x26\xda\xe5\x98\xdf\xa3\x12\x46\xa0\x74\x35\x44\x7e\xf1\xba\xce\x7b\x55\x1d\x1f\xc6\xa0\xb0\x7c\xfa\xdc\x53\xa1\xb3\xd3\xe4\xc7\xb3\x97\x63\xbc\xfe\x40\xe4\xe8\x4d\x36\x6c\xef\xa7\x24\xd7\x71\x91\x18\x04\x79\xbe\xd6\xf5\xf0\xe6\x4a\x14\xa1\x5e\x60\x43\xb9\x08\x3c\x56\x27\x84\xc2\xef\x55\x01\xce\x9a\x35\x84\x76\x69\x77\x1a\xa8\x78\x32\xb1\x39\x77\x7e\xa7\x8b\xb1\xa1\xf5\x91\x61\x34\xa8\x26\xb4\x72\xab\x4c\xaf\x08\x56\x69\x47\x37\xeb\xf5\x8d\x08\x8d\x09\x97\x3f\x7e\x8a\xaf\x98\x5e\x3d\x08\xb9\x3a\x2f\xd7\xaa\xc2\xff\xb9\x22\xaf\xa4\xda\xdb\x6b\xca\x4e\x96\x97\xfe\xfb\xdf\xab\x4b\x4d\x71\x5b\x2c\x68\x9d\xf6\x2d\x6d\x4c\x85\x7e\x29\xb5\x50\xd7\x7c\x52\x2d\xfc\x20\x89\xc6\xdb\x3a\x6d\x91\xb6\x45\x23\x99\xdd\xe0\x40\xbb\x46\x43\xa2\x81\x6b\x08\x34\x44\x1a\x62\x0d\xa1\x06\x5f\xc3\x54\xb3\xe5\xa9\x2f\xe3\x36\x61\xd2\x52\xbe\x99\x95\x5f\xb7\x94\x6f\x65\xe5\xe3\x96\xf2\xed\xac\xbc\xd3\x52\xbe\x93\x95\x5f\x6a\x76\xd7\xf1\x76\x53\x38\xd3\xec\x4f\xb1\x71\x77\x3c\xf0\x34\x7c\xf5\x14\xf8\xa1\x27\xe0\xd0\x0b\xe0\xc8\xe3\xf0\xce\x4b\x20\x78\x85\xb9\x5e\xe0\x4a\xaf\xc8\x52\x46\xcc\xcc\x62\xf6\x16\xcd\xc6\x70\xa3\x19\x11\xd5\xbb\x2f\x95\xeb\x11\xca\x0d\x30\xb9\xe1\x18\x78\x9b\x38\xb8\x20\xa7\x1a\xa4\xdb\x19\x69\x8f\x63\x98\x07\x37\x4b\x51\x2d\xe4\x80\x7f\x0c\xe0\x84\xda\xbc\x52\x03\x0a\x33\xcd\xfa\x70\xa1\xd9\x19\xdc\x6a\xb6\x09\xfb\x4d\x08\xa3\x9f\xc6\x1e\x07\x6f\x6c\xa2\xc9\xdd\xa9\xa7\x5e\x35\xba\xe4\x18\x12\x26\x81\xb3\x0b\x54\xc2\x7d\xd0\x6e\x00\x17\x64\x1f\xc7\x01\xda\x15\x98\x97\x37\x01\xc5\x38\x68\x26\xcc\xe4\x3c\x6b\x5a\x8b\x35\x6c\xd3\x3a\x69\x33\x72\xa1\xc1\xa6\xb8\xb5\x49\xbc\x3a\x86\x9f\xc2\x93\x3a\x28\x54\x81\x8a\x74\x4c\x4c\xc2\x5f\x00\x95\x39\x3c\x45\x53\x38\xd0\xec\x23\x1c\xfe\x81\x56\xcf\x91\x56\x06\x29\x7c\xac\x57\xc4\x43\x26\xbf\x7a\xff\x4d\x56\x32\x21\x9c\xeb\x14\x5e\xea\xd6\xb4\x89\x18\xd6\x0a\x6f\x1a\xa7\x46\xa6\xf0\x53\xb3\x9f\xf0\x7b\xb9\xb9\xf4\x16\x17\xa9\xbc\x73\xbf\x76\xae\x87\xb9\xf9\x16\x60\x8e\xd7\x31\x52\x93\xc8\xaf\xe2\xcf\xc8\x4f\x5c\x26\xd7\xa7\x85\xcf\x42\x1a\x1d\x89\x89\x22\x9a\x63\x6d\xd1\xa2\x3f\xc4\x04\x9b\xb9\x25\x63\xab\x27\x95\xea\xa9\x59\xe2\xa3\xd6\x81\x2a\xb7\x33\x92\x9e\x72\x79\x4a\xe1\xb1\x6e\xbb\x39\xd3\x30\x09\x9a\xcc\xc8\x91\x86\x0e\xcc\xc8\x6f\xfb\x71\x13\x0c\x60\x87\x4f\x2b\xbb\x3a\xd7\x9e\x59\x07\x1b\xbc\x9f\x52\xf8\xd0\x3c\xc1\x75\x6b\x26\x85\xa7\x8d\xd5\x66\xe4\x31\x4a\x7f\x72\xa5\xe1\xa3\x86\x4f\x06\xa5\x2b\x0d\x1f\x34\x1c\x68\xe2\x84\x7c\x32\x15\x0e\x35\xff\x97\xc2\x8b\x76\xac\x6c\x06\xb5\x5f\x9a\x7d\x83\x77\x7f\xd8\x75\xeb\x7a\x31\xd9\xb1\xc0\x0c\xf4\x76\xc7\xe1\x17\x24\xf2\xc4\xc7\xb5\x1d\xf6\xa5\x65\x87\xbd\xd3\x70\xa1\xb3\xad\xf3\x4a\x37\x46\x3d\x47\x21\x11\x65\x78\xb9\x70\x39\x06\x21\xe1\x21\x10\xcf\xdf\x07\x8c\xbb\x1c\x4f\xca\xf0\x7d\x94\xbf\x8f\x59\x84\x77\xd8\x22\xfb\x3e\xcc\xdf\xfb\x2c\x2c\x3f\x2c\x62\xb0\x4e\xc0\xfc\x1b\xe0\xbf\x31\xfe\x1b\xba\x1c\x76\xfa\xfd\x3d\x3d\x42\x2c\x0d\x3a\x36\x4f\x87\x77\x4b\x5e\x65\xbc\xa4\x37\x00\xdf\x4e\x6f\x2b\x28\xd5\x52\xaa\x16\x5f\xd7\x73\xee\xbe\x5d\xc1\xae\x8b\xfe\xfb\x96\x51\x3c\xaf\xad\x6c\x35\x7f\xff\x05\x79\xab\xdb\xe4\x32\xb2\x1a\x9b\x9f\xbd\xe0\x5e\x14\x3e\xeb\x96\x8c\x9c\x19\xcf\x49\x3c\x01\x37\x9e\x06\x6d\x64\xcd\x01\x1e\x95\xa0\x78\xf9\xde\x4a\x5d\x37\xe4\xb3\x06\xe5\xde\x82\x72\xcd\xdf\x1b\xf4\xe3\x19\xf2\xf7\x0f\x90\xfe\xdf\xeb\xfa\xdd\x03\x59\x9c\xa4\x2c\x89\xf9\xca\xad\xb9\x5b\x74\x22\x68\x10\x4c\xba\x37\x18\x5b\x99\x94\xcb\xf9\x5c\xc3\x77\xc3\xea\xfc\x03\x0a\x01\xb1\x08\x14\xe7\x34\x76\x8f\x7e\x5d\xb1\x47\xfd\x11\xce\xdb\x85\xdd\xd3\x9e\xd1\x6d\xbe\xb5\x56\xd7\x0c\xfb\x43\x31\x80\xcd\xbe\x1a\x72\xd6\x85\xf6\x07\x3f\x96\x9b\x66\x51\x7f\x86\x01\x36\x8d\xb1\x18\xc7\x37\x83\x73\x7e\x2f\x06\x5e\xb7\xe2\x30\x23\x3f\x0c\x06\xc4\x28\x8b\x4d\x93\x75\x53\xa6\xcb\x3d\xc6\xd9\x30\xf3\x67\x66\xcf\x48\xe7\x04\xd0\x65\xea\x1f\x50\x82\x99\x48\xe9\x09\x5e\xfd\xcf\xd1\x97\x82\x9d\x83\xaa\x78\xda\x1a\x3e\x3b\xb5\x7a\x5d\xd0\x39\xe9\x1f\x60\x06\x90\x72\xbf\x6a\xdc\xaf\xba\xdc\x85\x07\x24\x80\x98\x8e\x72\x14\x91\x3c\xcd\x36\x81\x28\x5b\xb8\x13\xea\x75\xf2\x2d\xd2\x49\x53\xd0\x62\x05\x47\x6c\x64\xa9\x7e\xb7\xbb\x2e\x5d\xdf\xf5\x47\x99\x24\x44\x2b\x26\x05\x21\xd8\x8c\xbc\xd7\x70\x66\xba\x7d\xfd\xa7\x7f\x94\x20\x0e\x9f\x08\xa5\xa7\x0e\x05\x2d\x88\x13\x46\x13\x2d\x94\x43\xed\xd3\xa9\x8a\x93\x2b\xf3\x80\x98\x38\x41\x32\xd5\xf1\xe5\x73\xf3\x32\x92\xa7\x4e\xc1\xaa\x0f\x34\x39\x37\x56\x8d\x6d\xa4\x44\x20\xa2\x6b\x0b\xe4\xa9\x26\xce\x34\x9a\x08\x19\x88\x71\xfe\x1c\xc9\xb3\xc8\x8f\x74\xf9\x82\x07\x3a\xba\x46\xde\x0e\x89\xc1\xbe\x46\x19\xfe\x7f\xf3\x12\x41\xcc\x7c\x62\xcf\x24\xe3\x52\x96\x77\x8a\xf3\x33\xbe\x48\x5f\x4b\x8b\x47\x42\xa4\xab\x72\xf5\x28\x38\x79\xca\xb3\x43\x4d\x81\x9b\x31\xfc\xb0\x73\x9b\x8d\xdd\xcc\x2e\xbe\x4b\x04\xbe\x16\xe3\x48\xe3\x78\x03\xd1\xca\x1a\xef\x82\x0b\x4f\xc2\x37\xcb\x9b\xb4\xe9\x25\x12\xcb\xea\x18\x3a\x05\x8b\xac\xa8\xfd\xf2\x8b\x36\xf5\x34\xed\x6a\xa4\xbc\x41\x7f\x73\xfb\x1e\x51\x1b\x58\x40\x7b\xb5\x86\x03\xba\x81\xf9\xbc\x7b\xbb\x3b\x3b\x5b\xbb\x29\xc4\x4d\x5d\x45\xa2\x72\x75\x53\xed\xb1\x9d\x07\xdd\xee\xf6\xc3\x3d\xa6\x52\x08\xff\x58\xff\xd1\x83\x3d\x86\xf9\xed\xd8\x60\x73\x33\x05\xff\x6f\x3a\x78\xd4\xef\x76\x77\x77\xb0\x83\x69\xe3\x06\x09\x4d\x83\xf9\xdc\xb7\x7f\x9c\x9f\x8e\xcd\x3d\x12\x0b\xbc\x04\x38\x11\x6c\x9f\x1c\x1f\x11\x87\xfd\x2f\x07\x36\x29\x1c\x11\x67\xfd\x7f\x39\xb0\x85\xbf\x98\x03\x7d\xfb\x8a\x39\x30\xa0\x27\x14\xae\x05\xfb\x05\xe3\x96\x8d\x78\x2d\x40\x82\xe3\xd0\x14\x3a\x4d\x35\xca\xec\x36\x70\xd9\x52\x9e\xeb\xb7\x67\x02\xf5\xdb\x41\x0a\x57\x62\x45\x72\xcb\xf2\xf3\x48\x14\x4e\x57\x50\x49\x06\xb8\xfc\xd8\x04\x85\x9b\xbf\x85\x3b\x13\x2b\xae\x66\xdd\xf1\xdf\x86\xf6\xbe\x79\x02\x7c\xdf\xd3\xe0\x5f\x5a\xe9\x78\x81\xf8\xf7\x53\xb8\x6d\xeb\x66\x6d\x46\x6e\x04\x5c\x08\xb8\x25\x33\x61\xd8\xf1\xa5\x31\x9c\x7e\x23\x87\x0e\x50\x4e\xee\x0b\xc6\x25\x3c\x13\xac\x39\x2d\x41\xc3\x56\xbf\x20\xfb\xc2\x18\x59\x98\x6f\xa1\x74\x36\x1f\x10\x05\x1b\x03\x3a\x9a\x91\x2b\x01\xeb\x03\x98\x91\x5b\xb3\x50\x82\x52\x0f\x8b\x36\xe9\xe8\x82\x9c\x0a\x58\xef\x43\x1f\xcc\x88\xea\x71\x9e\x18\xdd\x69\x14\x9f\x4b\xf3\xe3\xb2\x87\xb3\x63\x94\x67\xaf\xde\xca\xa0\xdf\x5b\x6c\xaa\xf2\x66\x79\x23\x33\x3b\x4f\x5a\xe8\xe7\x99\x41\xeb\x4c\x18\x23\xa8\x3e\x6d\x15\x33\x84\xc2\x61\x6d\xa1\xa3\xd2\x58\x8d\x99\x84\xb0\x59\xc2\xda\xf9\x89\xb3\x54\xcf\x83\xba\x8d\x82\xf3\x82\x5f\x9f\x73\x7d\x5a\x98\x2b\x1c\xcd\x15\xa3\xe8\x86\x04\xbf\xfc\x92\x35\x4c\xdc\x4e\xee\x3b\x4f\x4a\x46\x88\x30\xf4\x7c\xce\x21\x71\x7d\x9a\xda\xb2\xec\xa4\xc7\x0d\x2a\xc6\x70\x56\x6b\x46\x90\x51\xba\x3e\x85\x00\xe7\xe4\xbc\x95\x50\x2e\xc8\xa1\x80\x03\xfb\xb1\xa4\x94\xc2\x47\xc1\xce\x05\xbc\x5c\x41\xbe\x9b\x55\xf2\x7d\xd3\xb4\x2d\x6a\x26\x5b\x21\x00\x72\xc5\x9e\xf4\x31\x65\x46\x36\x59\xe5\x78\xcd\x13\xe1\x2c\xa1\x6e\x11\x75\xcc\x87\xd6\xfa\x9a\x91\x97\x02\x14\x18\xf5\xdc\x18\x00\x55\x5b\x2c\xaf\xc9\x92\xb4\x3a\x57\xeb\x03\x4c\x92\x41\xe1\x67\x85\x18\x56\x7e\x5c\xf2\x82\xbc\x31\x93\x70\x81\x71\x8f\x29\xfc\x16\xec\xa7\x80\xa3\xbf\x6f\x7d\x6a\x3b\x45\x27\x28\x3c\x16\xec\x48\xc0\xa7\x15\xb3\xd8\xaf\xce\xe2\x87\x16\x8a\xfd\x24\x6c\xae\x07\xcb\xb7\x8c\xd5\xd6\x54\x71\x5d\xa6\xf0\xa2\xa9\xc0\x41\x5e\x9c\xc2\x2f\xc1\x12\x09\xef\x96\xd9\x3d\xc7\xbb\x58\x01\x7e\x54\x28\x62\xeb\x2f\x44\xe5\x0c\x69\x99\xbe\x6f\xc8\x2f\x01\x3c\xdb\xff\x39\x43\x91\x98\xfd\xa4\x46\xd0\xaa\xa4\xc8\x03\xa2\x9b\x78\x43\x40\xb3\xdd\x1d\x65\x9b\x3b\x59\xd8\xd7\xc8\xea\x44\xb9\xa9\xe1\x4b\xe3\x0c\xbd\x13\xe4\x83\xf5\x66\xc3\xab\xc6\x95\xfa\x2d\xc8\x3e\x39\x9e\x91\x8f\x02\x1e\x0b\xd2\x11\xa4\x4f\x29\x7c\x11\x64\x8c\xb9\x6e\x8d\x42\xf0\x51\x40\x5e\x7c\x89\x2f\xe1\x89\x68\x60\x0d\xce\x3f\xff\xd8\xc9\x5c\xa8\x50\xac\x41\x3f\xcd\xc1\xfd\x05\x24\x1b\xbc\x50\x7c\x70\x8a\x9e\x98\x11\xbc\x15\xec\x0d\x3c\x6f\x1c\x67\xf1\x41\x0c\xf8\x2c\xd8\x5b\xf8\xde\xba\x99\xe5\xde\x60\xa4\xbc\x0b\xf2\xd9\xcc\xf2\x73\x81\x69\xd2\xd0\x28\xfa\x9b\x16\x7d\xd8\xc8\x98\xc0\xd7\x5a\xf5\xca\x71\xde\x0a\x1b\x8a\xff\x27\xdc\xcf\x47\x62\xa9\x33\x2e\x53\x69\x46\x12\xb0\xd8\x9b\x2a\x99\xa0\x01\x8d\x4e\x3d\x63\x36\xb5\xec\x93\xaf\x96\x83\xd1\x14\x7e\x08\xb6\xf8\xc1\xb8\xec\xf8\xbd\x1d\xf3\x24\xc3\xfc\x8f\x58\x2f\xe3\x2b\x8c\xdd\x49\x6d\xc6\x14\x78\x2d\xd8\x0f\x01\x32\x59\xad\x9b\xa8\x96\xf2\x5c\x37\xd1\x4d\xe5\x6b\xd2\xed\x8c\xa4\x4d\xcf\xe9\xa9\x2c\x4d\x27\x88\xa4\x51\x77\xc8\x99\x6f\x76\xec\x4d\x14\xcd\x32\x95\x23\xaf\x5d\x96\x2b\xb2\x90\x2b\x85\xdc\xc1\x78\x61\x1f\xf3\x61\x05\x43\xbc\x0c\x55\x4c\x0d\x8e\x1d\x9b\x04\x46\x9f\xc7\x4f\x52\x99\x27\x85\x69\x74\x34\x33\x86\x40\x64\xa6\x23\x49\xfe\x03\xdf\xd7\x2d\x11\x89\xe5\x9f\xd9\x31\x12\xf0\xa4\x5d\xb5\x49\x92\x66\x93\x6c\x46\x5e\x0b\xd0\x09\x28\xe4\x09\x78\x55\x1b\x6f\xcf\x6c\x6c\xa6\x10\x25\x2c\x48\x20\x4e\x58\x94\x40\xd8\x0a\x1b\xa5\xe1\x4b\x9d\x4b\x43\xbf\x71\x31\xea\x2a\x6f\xa6\xe9\x4e\x1b\xab\x1a\xd9\x95\x73\xf1\x47\x96\x8b\xe3\x39\x78\xc1\x6f\x99\xaa\x25\x8d\xfa\x6f\x60\xb6\xf3\x79\x7f\xcf\xea\x6a\x0d\xf8\xf8\x49\x55\x4d\x4f\x51\x9d\xe3\xff\xc7\xfc\xd9\x9e\xcc\xdb\x70\xc1\x14\x26\x38\xe7\x0f\x52\xb8\x6e\x9b\xe6\x75\xf4\x70\x9a\x17\x6e\x27\xa5\x30\x5e\xb1\xd4\xd7\x49\xbe\x16\x9d\x64\xc5\xb9\x45\x95\xe6\x23\x3b\x7a\x7b\xef\xd2\x50\xef\x01\x89\xcc\xc4\xd0\x52\xa9\x16\x59\x92\x08\x9e\xeb\x90\x1a\xb8\x97\xa4\x45\xe5\x4d\x4a\xad\xe6\xa1\x7a\x03\x43\xd3\xbd\x01\x08\x36\x80\x84\x19\xd3\xd6\xec\x8e\xc0\x86\x6c\xda\x4a\x51\x46\xf6\xa2\x57\xab\x62\xa8\xf8\x32\x61\x33\x12\x26\x50\xfe\xf3\x58\x90\x40\x50\x20\x5c\xb3\x3b\xfe\xdc\x9b\x24\x10\x9c\x79\x24\xd1\xec\x2e\x38\xf3\xa6\x02\x82\x5b\x2f\x4e\xc0\xbf\xf6\xa6\x22\xa5\x6e\x70\x66\x5e\x24\xda\x0d\x6e\xcd\xbb\x44\xbb\xfe\x75\xda\x40\x2e\x38\x62\x6e\x4a\x4b\xfd\x1c\x07\xa3\x2a\x23\x5f\x5b\x58\x66\xae\x5d\xfe\x3c\xf7\xcd\xb0\x5c\x59\xf7\x49\x27\x31\x45\xc1\x19\x58\xcd\x3c\x53\xcb\x07\x98\x39\xd8\xac\x3f\xde\xdd\xad\x54\x53\x25\x89\xf6\xea\xb5\x40\xb0\x82\x9d\xeb\x05\xbb\x61\x46\xc6\x09\x20\xd2\xc1\xed\x12\x05\x66\xa8\x15\x36\x80\x40\xd7\x24\x85\xdf\x82\xa0\x7f\xac\xc9\x08\xaf\x70\x35\x2b\x86\xa5\xe1\xcd\xd3\x04\xf3\xcc\xc3\x44\x18\x81\x4f\x84\x66\xff\x72\xfe\x05\xc8\x29\xd0\x77\xf2\x5d\x90\x81\x11\x90\x64\x40\x8d\x80\x21\x35\x95\xa0\x9f\x6b\x0b\x42\x5b\x75\x81\x27\x20\x34\xbc\x12\xe8\xa5\xa5\x70\x96\x30\x12\xd8\xc3\x92\x7e\xda\xb4\xdf\x0e\xc8\x73\x7b\x8f\x1b\xd3\x69\x8d\x72\x35\xb1\x0f\x92\x7a\x8b\x9b\xce\x1e\x99\x5d\xd5\x36\x43\x90\x4b\xb0\x68\x95\x04\x8b\xfe\x73\xcb\x23\x80\x84\x05\x28\xbd\x32\xe1\xf0\x1f\x1a\x1f\x4b\x26\x87\x91\x17\x89\x6b\xad\x8d\xd3\xd6\x0d\xad\x8c\x6d\xbc\x9a\xfb\x9e\x16\x3b\x7e\x96\xac\x74\x1e\x1b\x1b\x37\x01\x05\x3f\x33\x25\xef\xc6\x90\x53\xf6\x6e\x46\x7e\x34\xf2\x3f\x95\x90\xec\x4c\x2c\xb1\x59\x96\x70\x55\xab\x75\x4b\x91\x8b\x29\xc4\xb1\x9a\x34\x1a\x9a\xc1\xe8\xa2\x59\xe2\x66\x2d\x72\x44\xfe\xd4\xb5\x30\x30\x67\xe4\x5c\x20\xa2\xe7\x02\x4f\x5c\xce\xd1\xb6\xa6\x7f\x44\x08\x1b\x1f\xa1\x26\x7b\x82\x38\xdd\xb6\xcd\x92\x5d\xc8\xbf\x19\xdd\xf0\xcf\x13\xfa\xb7\x63\xcb\xa6\x15\xf8\x09\x0e\x85\x67\x13\xb7\x5f\x43\x72\x39\xc7\x4b\x0e\xfe\x2a\xa9\x81\x5f\xb8\xeb\x59\x04\x1c\xa3\x0a\xb0\x4f\x8e\xe5\x09\x85\x5b\x32\x4b\x8a\x41\x2f\xde\xf0\xab\x57\xbc\xad\x56\xcc\x0f\xf8\x8a\x9a\xe7\xd9\x60\xb5\xfd\x93\x94\x4f\x25\x8c\x0b\x72\x91\xe4\x10\x28\xe6\x71\x48\x53\x10\xad\x4b\xd6\x49\x41\x65\xcb\xf4\xac\x6d\x99\xaa\xa2\x8b\x57\x44\x57\xc1\xc2\x79\x95\x85\xe3\x86\x7b\x49\x12\x4c\x58\xb0\x97\x3b\x47\x8c\x3c\x4b\x50\x3e\x27\xa5\x5f\x04\x65\x9a\x91\xcf\x05\x98\x76\xb1\x56\x15\x67\xbc\x2e\xce\xd0\xa5\x92\xfc\xa5\x1d\x7c\x43\x9e\x25\x56\x1e\x54\xd5\x16\x33\x49\x07\x09\x7b\x92\x34\xd9\x43\x6b\x99\xc7\x30\xfb\x16\x19\xfe\x52\x99\xb1\x05\x87\x99\xfc\x7c\x2c\xc8\x1b\x9d\x19\x58\x24\xd6\xec\xce\x1f\x78\x1f\x04\x21\x91\xfd\xe9\xa4\x0e\x04\xe7\xde\x65\x02\xc1\x63\xcf\x01\x07\x82\x03\xef\x00\xa5\xa8\x73\xe7\x40\xf0\xd6\xeb\xa7\xd4\xf5\x07\xd4\x54\x8a\xb4\x1b\x9c\x9b\x7a\x1f\x04\x31\xbf\x1f\x53\x53\xdb\xfc\x3a\x30\x0d\xec\x5b\xff\x9a\x9a\x66\x0d\xb4\x28\x17\x69\xb1\xbf\x40\x72\x83\x45\xca\xda\x4c\x53\xec\xe8\x2d\xee\xfa\x9b\x04\xde\x09\x12\xdb\x2e\xf0\x31\xc6\xae\x6f\xc8\x7e\x51\x32\xa0\xd9\xcb\x18\x71\xb5\x6f\x0d\xa2\x31\x82\xb1\x92\x87\x52\x38\x6f\xb5\x15\xb2\x53\x61\x34\x13\x3e\xfe\xc1\x22\x79\xf9\x07\x8b\xe4\x4d\xd2\xee\xfa\xb4\x0e\xca\xaa\x6f\xf2\x67\x23\x4e\x17\xe4\x4d\x52\x53\x64\x7d\x9f\xa6\xf0\x7b\x59\x12\x14\xbe\xa3\x86\x64\xfa\x39\xb3\x19\x56\x72\x22\x6a\x96\xe7\x97\xe1\xe8\x28\xba\xd0\x98\x1f\xb5\x7a\xba\x9f\x2f\x47\x7e\x2b\xa1\x5a\xfd\x77\x62\xef\xe9\x56\x4f\xf7\x29\x1c\x2d\xe3\x95\xf5\x45\x72\x07\x66\x07\xc6\x98\x80\xba\x6f\x06\x3e\xb0\x09\x2c\x8b\x4f\xee\xba\x9d\x11\x7e\x63\xe0\x77\x82\x5a\x4f\x87\xe2\x57\x61\xb4\xcd\xb1\xf3\xb8\x0d\xf8\x8c\x1c\x25\xf5\x6f\x96\xe7\x70\x9e\x6b\xf8\x99\xd8\xcf\xda\x5b\x40\xf8\xb9\xf7\x4f\x66\x6f\x5c\x69\x78\x9c\x90\xc3\xc4\x10\x03\x85\x0f\xed\x82\xd7\x12\x85\x8d\x13\x48\x29\x3c\x4d\xec\x19\x95\x3d\xdf\x4f\xc8\xa7\x84\xc2\x91\x26\x1d\x9a\x9d\x92\x2c\x9d\x9c\x64\x27\x55\x52\xdc\x2c\x1e\x53\x51\x0a\x2f\x32\x68\x4d\x16\x07\x39\x33\x72\xe1\x5c\x1b\x55\xe7\x5c\x17\xff\xe1\x66\x78\xbd\xd4\x51\x1d\x32\xfc\x4a\x1a\x0f\x72\x12\x41\xe1\x5d\xc2\xf0\x2d\x66\x45\x76\x28\x7c\x49\x18\x09\x35\x43\x31\xf2\x5e\xc3\x58\xc3\x8b\xc4\x20\xfe\x5e\xc3\xa5\x86\x77\xf9\xef\x6b\x0d\x4f\xf3\xdf\x1d\x0d\xbf\xf2\xdf\x13\x0d\x5c\x64\xbf\xa7\x1a\x44\xfe\xdb\x9a\x32\x0d\x03\xb3\x12\x21\xa5\x27\x15\xf3\x4d\xd5\x4f\x5b\x9b\x36\x27\x51\x34\x85\x10\x0f\xda\x5f\x25\x59\x98\xcd\xdb\x15\x06\xd0\x2b\x90\x70\x65\x3f\x95\x04\xcf\x57\xa9\x1f\x77\x41\xe8\x29\x08\xa4\x27\x21\x50\x9e\x86\xe0\x39\xe6\xbc\x83\xcf\x09\x9b\x4a\xf8\xde\xb8\x2d\x67\xe4\x73\x02\x77\xfc\xc6\x5b\x1f\x00\xdf\xf2\xd6\x07\x29\x7a\x51\xde\x27\xec\xbe\xfb\x3f\xef\xc3\xd7\x84\x5d\x4b\xf8\xd6\x8a\xdd\x3e\x99\x91\x2f\x48\xb2\x06\xbb\x1f\x2d\xdc\xc8\xef\x76\x89\x83\x3e\x2f\x97\xcf\xe7\x78\x60\x6a\xf4\xfd\x0b\xb4\x3d\xe1\x47\x82\x7a\x3a\xf5\x3a\x29\xbc\x5e\xad\xf0\x19\x4b\x7e\x50\x3d\x69\x81\xb1\x27\x40\x78\x28\xa2\x24\x6f\x69\x1b\x85\x64\x03\x53\x5a\xb8\x9d\xf9\xdc\x48\xd5\xe2\x8d\x30\x6f\x84\x41\x2a\x7b\x1c\xdb\x17\xe3\xd2\x03\x7d\x43\x5e\x27\x50\x02\xcb\xf2\x26\x09\x77\x3c\xf4\x99\x70\x8b\x4c\x8f\x58\xad\x8f\x1e\x2b\xe1\x06\x80\x8f\x03\xe0\xae\x0f\xdc\x0d\x80\xbb\x63\xe0\xae\xa0\xf9\x7b\x03\xcd\x47\x4d\x29\x77\xe1\x67\xae\x16\x88\x99\x91\xdf\x21\x4b\xec\x77\x84\x6a\x58\x2e\xa0\x14\x40\x04\x59\xb7\x16\xbb\x98\x42\x98\x25\xa9\x58\x40\xcb\x94\x67\x5d\xe7\x18\x0a\xa3\x26\x98\x11\x14\x48\x61\xea\x36\x08\x71\x25\x15\x6f\xe0\xf8\x0d\x31\x72\x19\x7c\x53\x21\x48\x20\x48\x68\x11\xc1\xc3\x31\xb7\x97\x6f\xbf\x1a\x8d\x9f\xb1\x1e\xe3\xd9\xef\x62\x64\x56\x42\x17\xb9\xfb\x0d\x91\x3c\xb3\xeb\x2f\x88\xe2\x16\x38\x85\x68\x51\xb3\xc3\xbe\x4d\x3d\x85\x97\x14\x17\x85\x6e\x05\x4c\x50\x02\x8a\x6c\xe8\x83\x6e\x1a\x9f\x45\xbd\xa8\x6a\xef\xa0\x34\xae\x40\x7d\xd9\xeb\x93\x6a\xa6\x34\xa5\x20\xf8\x62\xe0\xdc\xc6\xc0\xe6\x63\xee\x76\xb3\x5f\xe3\xca\x6f\x61\xa4\x5c\xde\x9d\x79\x44\x4a\xb4\x3f\x78\x69\xe1\x8e\xf1\xa8\x5d\x0c\x03\x9c\xdb\x08\xe7\xd6\x46\x28\xfa\x38\xb7\x75\xb4\xac\x12\x16\x14\x54\x82\x9f\x5d\x09\x40\x61\x1e\x88\x7c\xe1\xfb\xb8\xf0\x98\xa2\x24\xcd\x52\x3b\x60\x47\x1c\x6f\xdd\x07\x8c\x63\x47\x1c\x69\x93\x08\xc6\x71\x88\x63\x0a\xa1\x21\x1e\xf0\x19\xff\xd3\x26\x58\xc0\x22\x33\x13\xc1\xd0\x79\x62\xb0\x88\x6b\x14\x18\x22\x22\xc5\x71\x1c\x24\xff\x47\xf3\x38\xce\xe7\x71\xbc\x3c\x8f\x66\x1a\x30\x59\x14\xee\x64\x1f\xa6\xcc\x20\x3d\x31\x7b\x1b\xae\x97\xf6\xf6\x00\xa7\xc5\xb7\x17\xe3\x16\x67\x54\xdb\xec\x04\xc5\x8c\x66\x39\x19\xb3\x19\xad\x36\x0c\xb0\xf3\x88\x05\xee\x18\x53\xd4\x08\xc0\x3b\x8e\x80\xf1\x63\x30\x65\x21\xa2\x10\x22\x0a\xe1\xd2\xcc\x06\xae\x0f\x41\x39\xb3\x91\x59\x1a\x37\x80\xc8\x80\xac\xec\x64\x43\xf3\xf1\x12\x2e\xd5\x59\xe5\x7c\x85\x2b\x2d\x9f\x3e\x6e\xa6\x8e\x9b\x69\xab\x87\x60\xda\x6b\xe4\x9d\x6e\xd7\xfe\xe0\xd5\xb7\xe3\x6c\xfe\xf3\xa7\xd2\xc0\x4b\xb8\x11\x7c\x98\x24\xa0\x3c\xb5\x6b\x7c\xa9\xd2\xea\xa8\x75\x8d\x8b\xe6\x24\x66\x70\x35\xe4\x89\xdc\x2a\xf8\x2b\x1a\xa9\xf8\x89\x70\x17\xf9\xb8\xfa\x41\x41\xee\x49\x9e\x91\xbd\x74\x86\xf0\xa6\xc9\xb0\xce\x18\x91\x1f\x77\x60\x07\x51\x0e\x3e\x66\x51\x75\xd5\x24\x87\xc8\xe5\xc5\x42\x05\x9c\x44\x66\xef\xc4\xc5\x5a\x04\x49\x6d\xb0\x76\x1d\x02\x8e\xb7\xa5\xe8\x5f\x14\x05\x49\x0a\xd1\x72\xe4\x74\x43\xa4\x6c\x90\x34\x1c\x3d\x2b\xcc\x45\xaf\x70\xe4\xca\x8e\xfc\x25\xde\xf5\xdb\xeb\x97\xf3\xc8\xf3\xb5\xae\x0c\x9f\xdb\x4f\xf1\xe1\xd4\x44\x66\x6a\xa2\xbc\x2c\x36\x53\xa3\xca\xa9\x89\xf3\xa9\x09\x59\xbc\x30\x35\xb1\x6b\xfe\xe7\x43\xec\x06\x30\x23\x91\x61\xbb\x31\xb2\x96\xb6\xe9\xb1\x44\x9a\x55\xe5\x4b\x53\xd4\x5e\x3c\x23\xb1\x79\xe7\x13\xce\xa1\x4e\xed\x98\x6d\xb5\x79\x02\x73\x67\xda\xdd\x5f\xcd\xdb\x81\xfd\xb0\x7c\x36\x3f\x55\x7a\xac\xed\x1d\x64\x4b\x9d\x4c\xe1\xb0\x74\x99\x6f\x4b\xb4\x4a\xc6\x69\x4a\x8a\x5b\x83\x39\x6d\x8d\x70\xba\x74\x41\x47\xdc\xd0\x41\x40\xa9\x57\x9d\x1f\xac\x61\x87\x95\x4d\x41\x40\xab\x13\x49\x21\x5c\x1e\x67\x6e\x78\x60\x7d\x55\x4a\x3c\x6d\x70\xd4\xa5\xc4\xd3\x0b\xcc\x30\x0f\x83\x37\xa2\x47\x5b\x89\xe7\xb7\xcb\x54\x45\x32\x7f\xbf\x2e\x53\x2c\x0a\x4c\x7d\x1a\x72\x7c\xeb\x5d\x10\x6d\x7e\x09\xfc\xe8\x48\x4a\x61\x5a\xdf\xd2\xf5\xaf\x3d\x8f\x45\x10\x8f\xc5\xe7\x0f\x2f\x9f\xc4\x97\x57\xb1\xc4\xbc\x91\x2d\xdf\x7d\x86\x49\xeb\xb5\x82\x43\x9d\xbb\x4b\x47\x56\x93\xf7\x32\x0f\x56\x1e\x48\x7d\xdd\x3e\x5d\xdf\x12\x70\x98\x93\x65\xb8\xd3\x46\xc1\xd5\x46\xab\xed\x76\xd7\xf1\x6f\x2d\xe2\x01\x55\xa1\x29\x47\xa3\xad\xea\x67\x2d\x8c\xd9\xea\xa1\xdb\x94\x57\xd2\xac\x67\x8c\x16\x8f\x67\x7d\x0e\x1c\x26\x1c\x3f\xa3\xb1\x10\xda\x3b\x6e\xc1\x13\x44\x93\xc3\xb8\xc6\xcb\x8b\xa4\xac\x39\x5b\x54\xae\x2e\x82\xf6\xa2\xd0\x6a\xed\xda\x28\xc8\xda\x8e\x0a\xf3\xb8\x36\x84\x5f\x1c\x6a\x1b\x80\xdb\xf6\x6c\xd6\x82\x48\x1b\x3a\xdb\x01\x22\xb2\x39\xbc\xef\x98\xd9\x0e\x8d\xe9\x40\x84\x99\x3f\x8c\x58\x10\x2e\x1f\x09\xd7\xf7\x04\xa5\x60\xe6\x00\x2f\x8d\x07\xd7\xd4\xed\x8c\xa2\xc4\xc3\xa0\xd8\x6b\x0e\x91\xd9\xea\x06\x48\xd7\x7e\x82\x85\x1a\x50\x47\xf0\xc6\x5e\xed\x82\x0e\x6f\x08\x6e\x2b\xe2\xeb\x3f\x19\xc3\xf7\xab\xa1\x64\x7c\xf5\x3e\x81\xef\x09\x71\xfe\xf9\x67\x84\x46\xa7\x74\xf9\x11\xb5\x07\x6d\xfe\xe8\x88\x64\x1e\x74\x1b\xe6\x39\x23\x6f\x13\xbc\x1e\x88\x36\xcb\xb9\xa6\xde\x11\x31\xe3\x38\xd7\x14\xcc\xb0\xc6\x1c\xbe\x24\xf0\x81\x48\xb8\xe3\x47\xde\xb9\x06\x1e\x7a\x98\xe8\xf0\xda\xd3\xae\x9f\xd6\x37\xc0\xab\xc4\x13\x2e\x4f\xe1\x92\xe7\x77\x73\x78\x11\x98\x66\x7f\xed\xa4\x70\xda\x34\x92\x0e\xca\x9f\xa5\x8c\x0c\x79\x86\x03\xfb\x55\x68\x8e\xb7\x10\xea\x17\xb5\x8d\x39\x5b\x2b\xd8\x2c\x0b\x1e\xd6\x0a\xb6\xca\x82\x47\xb5\x82\x7e\x59\xb0\x53\x2b\xc8\x3f\x5c\xbb\x76\xc6\x17\xbe\x18\x7b\xc5\x17\xf5\xf3\x4b\x9e\xa6\x70\xc3\x57\xdf\x89\x9a\xb5\x94\xe7\x77\xa2\x2e\x5a\xca\x73\xcf\xd6\x6d\x4b\x79\x7e\x67\x6a\x1f\x27\x79\x33\x85\x67\x7c\x95\x61\xbd\x10\xdf\x67\xac\x4e\x74\x8a\x72\x26\x25\x1c\xb4\x72\x18\x61\x6c\xfd\xfb\x42\xda\xeb\x10\x87\x4d\xb8\x18\x65\xec\x9c\xb3\x27\x9c\xcc\xc8\x01\x87\x4d\xd8\xda\xa4\x14\x3e\xe2\x77\x24\x5e\x72\x76\x4b\x9e\x71\xe8\xc3\x39\x87\x8f\xe6\x3f\x0a\x6f\x38\xbb\x86\x9f\xcb\x3d\x56\x7d\xc8\x86\x41\xbd\xe1\xb0\xb5\x09\xd2\x7e\x1e\xcb\x48\x2c\xe4\x6d\xd9\x40\xb4\x21\xb9\xec\xe3\xa6\xa2\xbc\x7e\x81\xc7\x01\x43\xc9\x04\x28\xeb\xf4\xfd\xdd\x8c\xb1\x69\x7d\xf4\x27\x14\x9e\x70\xa2\xee\x6f\x6d\x16\x1c\x4f\x97\x67\x52\x39\x6e\x2e\x1f\x4a\x36\x23\x3f\x0d\xe3\xef\x50\x50\x0c\x03\x27\x1f\x73\xa6\x24\x7c\x6a\x9d\xd4\xfe\xde\x4b\x7c\x1e\x49\xcf\x30\xbf\x0f\x9c\xfd\x80\xa7\x2d\x88\xe6\x41\x33\x2f\x1a\x05\xbc\xd1\xd8\x33\x6c\xb7\x36\xef\x29\x57\x80\x60\x8f\xb3\x85\xd8\xda\x04\xbd\x31\xc0\x8f\x61\xc8\xd1\x17\xc3\xcc\x4e\xa9\xa7\xdc\x53\xbc\x93\x72\xc4\x8d\xd5\xe9\x96\x8c\x1a\x97\xe9\x29\x27\xca\x0d\x69\xcf\x70\x96\x4f\x1c\x76\x40\xdc\x3b\xe7\x14\x0c\xeb\x28\x15\x9a\x6a\xcd\x6c\x59\xb1\x98\xc2\x2f\xce\x42\x78\xd7\xe6\xc3\xa8\xf0\x6c\xb5\xd7\x2f\xe7\xf2\x05\x87\xf5\x01\xdc\x9d\xa2\x1b\x44\xdf\xdf\xda\x9c\xf7\x21\xf4\xf2\xd4\xdf\x96\x85\x00\xf7\x2e\xc8\x2f\x1c\x13\x46\xa7\x65\x31\x75\x6a\xc3\x0c\x12\x1d\xfd\x48\x1c\x1c\x04\xcd\xdd\xfd\x5f\x1a\x27\xac\xbf\x27\x0b\x3f\xe8\x7f\x6d\x6d\xe2\xd9\xee\x2f\xa3\x75\xc8\x0d\x5d\xf1\x5a\xde\x90\x77\x78\x4f\x6f\x43\x9b\x1e\x24\x74\x40\x94\x1f\xcb\xe5\x29\x85\x57\x4d\xcb\xb5\x2e\xdd\x4e\x0a\x6f\xdb\xd6\x3d\xdf\xf4\x79\xc4\xdc\xf3\x15\x15\x6b\xa1\x75\x9f\x57\x54\xac\x05\xe2\x7e\xff\x03\x2f\x7a\xcf\xd9\x53\xf8\xda\x48\x69\x78\xa1\xa7\xcd\xef\xda\x1b\xa4\x14\xcf\x7b\x53\xf8\xc6\xd9\x29\xfc\x68\xd2\x93\x2a\xeb\x3b\xd8\x63\x96\xc2\x4b\xdd\x2b\x73\x5c\x1b\xc5\x73\x63\x80\x24\x88\x77\x49\x74\xb1\x5b\x41\x33\x8e\x11\x48\x2b\x2e\x51\xfe\xb0\xaa\x6f\x07\x3f\xf4\x17\xb4\xd7\xfb\xc6\xf1\x38\xf2\xb5\x61\x3c\x5f\x8d\x2a\xbf\x31\xc8\x82\xc8\x54\xc0\x9e\x83\x0e\x1a\xf7\x5a\xcf\x71\x52\x10\xc1\x7f\x10\x1c\x6f\x84\xe9\x52\x84\xfc\x11\xf9\x44\xe4\x71\xff\xc4\xc8\x60\xfb\x71\x98\x01\x35\x12\xd6\xbe\xed\xc9\xe3\x41\xa5\x68\x93\xa2\x04\x4e\x21\x69\xc4\xc9\x4a\xea\x7f\xe4\xda\xda\xda\x9a\x93\xe9\x0a\xff\x48\xa3\xb5\xd1\x14\x78\xc0\x0e\x24\x04\x6d\xf3\xe0\xfc\x23\xff\x91\xc4\xe9\xe9\x80\xc8\xde\x80\xf6\x1c\xba\xe6\xf4\x92\x80\x44\x41\xe6\x89\x8d\x5a\xba\x8c\x03\xe4\x66\x29\xc4\xcb\xa0\x57\x1d\x6d\xe4\x8e\x82\xd2\x36\xad\x1c\x26\xda\x5b\xcc\x22\x20\x49\xc1\x4f\x65\xf5\xbb\xc3\x36\xfa\xa6\x4c\xac\x9f\xfb\xff\x48\x28\x88\x32\xfa\x9b\x0d\x56\x52\x94\x76\xbb\x33\xa2\x02\xf0\x13\xb3\x27\x09\x26\x61\x86\xc0\xd2\x93\x18\x39\xae\xd3\x4b\x3c\xe7\xf8\x5f\xf8\x7d\xf1\x7f\x9d\x38\xf6\xde\x1d\x86\x76\x35\xdc\x96\xb4\x27\x2f\xd6\xde\x71\x8e\xed\x5c\xb9\x9c\xf6\x9c\x13\x67\x58\x81\x1b\xad\x82\xb2\xe9\x65\x91\xd5\x2e\xb7\xb7\x41\xac\xde\x19\x97\x3a\x74\xc8\x8c\x26\x39\x72\x3e\x9d\x89\xb5\x57\xd3\x58\xba\x4f\x51\xfb\x77\x63\x29\x8e\xc2\x35\xae\xd7\xce\xa7\xb1\x74\x7a\xb9\x5a\xf6\x05\xef\x1c\x79\xce\x52\x55\x87\xf6\x9c\xb5\x90\x47\x13\xfc\x8a\xfa\x9a\x3e\x13\x6b\x61\x3c\x99\xc4\x37\xf6\xeb\xcf\x3a\x20\x5f\x39\x89\xa9\xa9\x75\xc3\x67\x53\xcf\x19\x2e\x90\x91\x21\x1d\x1c\x50\x08\x33\x22\x03\x08\x02\x88\x8d\xaa\x29\x19\x67\x9a\xc5\x78\x9e\x14\x30\xb5\xac\x1c\x3b\x1f\xb8\x5c\x8b\xa4\x8e\xd7\x78\xc3\x08\xf0\x83\xf4\x32\x5e\xbb\x8a\xa7\xd3\xc8\x8f\x26\x91\x8e\xc4\xd4\xe9\xd9\x41\xb7\x8f\x6f\xdd\xa1\xb5\x73\x2d\x1f\x17\x7f\x8a\x4b\x92\x2f\x3e\xaa\xaf\xce\x3b\x15\xfb\x13\x71\x69\x3b\x32\xc3\xc6\x84\x37\x6d\x90\x7b\x8e\x67\x86\x8a\x7b\xc6\x5b\x6e\x7b\x1a\x5d\x0b\x69\x21\x60\x3d\x87\xf6\x48\x12\x90\x19\xe1\x01\x6c\xc3\xd4\xb4\xcf\x5e\xfb\x86\x1f\x85\x01\xbb\x92\xe0\x07\x2c\x0c\xc8\x0b\x4d\x61\x1a\xb0\xb1\x84\xc9\xe2\xb7\xa9\x6a\x17\x96\xfd\x00\x66\x64\x1a\x40\x79\x11\xfa\xba\xbd\xfe\x1d\xbf\xf2\x34\xf0\x1f\x86\x8d\x87\x96\x8f\x8f\x03\x76\x29\xa1\x13\xb0\x1b\x09\x97\x4d\xbb\xb4\xa2\x1f\x9e\xb5\x94\x3f\x82\x00\xcb\xaf\xda\xda\xef\xc0\x29\x56\x38\x6d\xa9\x90\x1f\x9d\xde\x04\x46\x04\xef\xa4\x30\xab\x8d\x21\xf3\xb4\x2d\xfb\x0a\x72\x75\x39\x20\xc6\x26\x85\xb3\x80\x04\x18\x3e\x50\x89\x99\x0a\x1a\x62\x9f\x66\xa4\x13\x40\x02\x4b\x61\xac\xa7\xa6\x7d\xcd\xef\x83\x35\x23\x82\x41\xb5\x55\x4b\xe4\x12\x79\x1b\x7e\x52\xdf\x3b\xb5\x3f\x0c\xf6\x18\xf3\x12\xac\x8a\x79\xc1\x05\xbb\x20\xb3\x62\xd5\x6e\x02\x8a\x2b\x64\xef\xe1\xdf\xae\x5a\xbb\xaf\x9e\x06\x3f\xf1\x14\xf8\xd9\xad\xcf\xfd\x20\xb3\x83\x9e\x19\xe6\xb1\x30\xd4\xfa\xf9\xbb\x93\xc8\x2b\x15\x07\x62\x3a\x15\x63\xc7\x2b\xc7\xdb\xb7\xe7\x04\xf9\x85\xb6\x4a\xc9\x20\x2b\x99\x26\x57\x57\x6a\xa9\xdd\xe6\xd2\x09\xc2\x65\x40\x9c\xcf\xf2\x42\xc6\x37\x72\x4d\xcf\xae\x84\xb7\xe6\xf4\x30\x92\x61\x3f\xa0\xf0\xa4\x65\xe1\x1f\x80\x8f\x0b\x7f\x10\xb0\x0b\x32\x09\xa0\xbc\x69\xf7\x78\xe6\xc0\x93\x80\x98\xc6\xb6\x24\xbf\x93\xb7\x5c\xa0\xb9\x16\x0e\x3c\x0b\xe0\x34\x20\xb7\x01\x1e\xb0\x1e\x06\x2c\x6e\xf1\xd8\xe2\x37\x7a\x8a\x39\xfd\x65\xf6\xc3\x33\x2f\x02\xfe\xca\x4b\x80\xbf\xf3\x54\xb6\x3d\xce\x3c\x01\xfe\x8d\xc7\xc1\x9f\x79\x31\xf8\x4f\x3d\x8c\x4f\x3c\xcf\xf1\x94\xfc\x52\x38\xb0\x8f\x7d\x36\x8c\x8c\x6f\xe3\x0a\x51\xf8\x18\xb0\xab\x04\x5e\x06\xec\x9d\x80\x37\x8d\x42\xf0\xa5\xe1\x07\x79\xcc\xeb\x43\x1b\xf3\x4a\x53\xf8\x19\x30\x2d\xe1\x77\xb0\xe8\xab\xb5\x9f\xa9\xcc\x73\xa7\xde\x3f\xfe\x67\x7a\xeb\xc7\x27\xf7\x5d\x2d\xa6\xe8\xd7\x29\x3c\x08\x59\xfa\xa7\x9e\x2c\xd3\x1f\x30\xab\x45\x58\x2d\xe0\x28\x60\x4f\x12\x78\xdc\x88\x13\x7e\x57\x7c\x60\x55\xb9\xe6\xc0\xe1\x5a\x28\x9e\x91\xf1\xb6\xbb\x14\x3e\x19\x52\xfc\x58\x27\xc5\x28\x24\x8f\xf6\x9e\x8b\x0a\x7a\x8f\x03\xe2\x3c\xbb\xbd\x12\x81\x16\x63\xc3\x5b\x2f\xe3\xa9\x5e\x7b\xb4\x36\x8e\x4e\x23\x3d\x85\x35\x3f\xd1\x6b\xa7\xb1\xb6\x82\xc6\x36\xa4\xd9\x78\x7e\x07\xc4\xe9\xbb\x86\xb4\x8a\x71\xb9\x9d\xd1\xe3\x80\xfc\xeb\xa5\xbc\xe6\x93\x68\xbc\x16\x4e\x62\xae\xbd\x35\xe7\x5f\x3d\xd9\xfb\x97\xf3\x2f\xea\x3d\x16\xe4\x67\x40\x06\x62\xeb\x9e\xf5\x55\xc1\x37\x41\x8e\x02\x12\x63\x84\xe3\x87\x80\xbd\xd1\xf0\x34\x60\x7f\xf8\xaa\xd6\x07\xa3\xda\xec\xf6\xef\xa9\x7b\xbb\xfd\x7b\x03\xb1\x65\x7e\x13\xbd\xc1\x29\x3e\x18\xe0\xa2\x97\x98\x2d\xfc\x22\x68\x49\xf5\xdf\x47\x95\xa3\xa6\xdd\x81\x60\xdb\x5b\x98\x3e\x7b\x7b\x87\x31\x3d\x1a\x78\x7d\x48\x98\x18\x26\x65\x4a\xbc\x5e\xaf\xcc\x01\x5b\x6d\x9c\x64\x49\x37\xb7\x1f\xce\xe7\x3b\x0f\xf6\x78\x65\xe1\x15\x1b\xf4\xef\xa9\x1e\xdf\xd8\x7e\x58\x9c\x1c\xe0\x97\x54\x30\xc8\xc5\xf6\xb4\xa1\x3c\x45\x53\xf8\x55\x41\xb6\x2a\x55\x96\x17\xd0\x46\x66\x1a\x3e\x98\x73\xd1\x17\x01\x69\x5f\x84\x48\x6a\x71\x2a\xd4\xc2\x32\xa8\x4a\xfa\x8b\x1a\x09\xe0\x42\x6b\xa3\x4d\xac\x22\x81\xda\xca\xa5\xf0\xae\x91\x76\x0d\xdc\x1c\x8b\x31\x9f\x79\x16\x02\x6a\xb1\x5f\x02\xf6\x1a\x5e\x35\xb5\x5a\x9f\x91\x2f\x46\x24\x4b\xda\xed\x12\xfc\x3d\xe8\x1b\x23\x64\x3e\xcf\x4a\xf0\x89\xa6\xf0\xb6\x51\x67\xdf\xc8\xb3\xf1\x13\x75\x7f\x7b\xde\xa7\x1b\x44\xdd\x1f\xf4\xfb\xf3\x3e\xed\x99\x37\xf8\x2b\x85\xe7\x0d\x5b\x23\x0f\xb2\xe1\xd5\x03\x33\xbb\xb2\x85\xdd\xfa\x2e\x20\x3c\x27\xff\xe5\xce\xb7\x06\x3b\x5b\xbb\x62\xf7\x1e\x11\x1b\x83\x47\x0f\xfa\x14\x34\x7b\xb8\xbb\x2d\x76\xee\x11\x92\xec\x6d\xcd\xe7\xeb\xaf\x02\x22\xe8\x88\x6f\x0c\x3c\x4e\x7b\xe4\xad\x79\xda\x78\x1b\x10\xac\x5c\xfa\xd7\x1e\x0b\x22\x7b\xaa\xa7\x69\x9a\xbb\xc9\x92\xe2\x63\xaa\x59\x95\xad\xc1\x1e\x1f\x21\x32\x9e\xca\x05\x47\x99\xc0\x73\xf3\xd1\x1e\x9f\xcf\x37\x1f\x31\xc6\x78\xb7\x9b\xf5\x9a\xd7\xde\xdc\x7d\xf0\x70\x5b\xec\xd0\x85\xd4\xa1\x35\x88\x3b\xfd\x47\x0f\x76\x8b\x3a\x45\xf2\xd1\xad\x7e\xa5\xce\x83\x07\x0f\x76\xc5\xee\x62\x32\xc5\x1a\x98\x41\x7f\x6b\xf7\x61\x51\x67\xb7\x11\xcc\x60\xab\xbf\xbd\x5b\xe2\xf3\xa0\x19\xd0\xce\xee\x56\x05\xe9\x87\xcd\x95\x1e\x6e\x0d\x76\x1f\x16\x95\x1e\x35\x76\xb7\xd9\x7f\xf4\x68\x67\xb3\xa8\x34\xe8\x37\x82\xda\xdc\xda\x79\xf8\xa0\x52\x6b\xd0\x0c\x6b\x77\x73\x77\xa7\x9c\xa6\xc1\x66\x33\xac\x87\x0f\x77\xec\x64\x2e\x48\xe9\xea\x1e\xbd\x8c\xa5\x3e\xc3\x1d\xaa\x8d\xad\x84\xbb\x34\x4d\x61\x39\x00\xbf\x55\xfd\x7c\x4c\xf2\xaf\x26\x66\xb1\x86\xbf\x02\xb2\x4d\xe1\x4d\x40\x9c\x0d\x87\x56\x5e\x6e\x56\x5f\xe2\x33\xa5\xf0\x79\x85\x62\x2b\xef\x11\xc3\x6c\x7b\xa8\xd1\x7e\x6f\xd8\x38\x59\xbd\xfc\xc6\x5a\x0d\xe5\xea\x3f\x36\x30\xfd\x29\x72\x00\xc4\xe1\x93\xb3\x8c\x97\xd7\x84\xac\x57\x41\x16\x6a\xfd\x58\x98\x6f\xb4\xad\xe7\x1a\x80\x9f\x02\x6a\x03\xe0\x4f\x68\xa5\xf6\xeb\xa6\x20\xd7\x7e\x8a\xcd\x7e\x58\x3c\x16\xe7\xfa\x73\xf0\x87\xe6\x03\xdb\xbc\x67\x9b\x37\x55\xd9\xc8\xaa\x98\xd9\x3e\xf9\xc3\xc0\xca\xf2\xc7\x82\x4c\xc8\x53\xa3\x92\xf6\xf3\xff\xb7\x71\x93\x78\xdb\xee\x79\x40\xe1\x7d\x8b\x11\xff\x38\x81\xef\x01\x7a\x6c\xbe\x36\xe8\xa1\x96\x4b\xbd\x5f\x14\x16\x97\x35\x36\xad\x33\x75\xd1\x28\xd3\x28\x24\x50\x6b\xfc\xd6\xd8\xe1\x2a\xf7\x91\x3d\x18\x73\xed\x45\x20\xf4\xc2\x44\x89\xbd\xe8\xd6\x66\x9a\x6c\x66\x1a\xe8\xeb\x80\x9d\x49\x90\x8d\xf6\x05\x7e\x34\xf0\x5b\x00\x3f\x32\x39\xa2\x56\x58\x21\x67\x01\x39\xc7\xc8\xdb\xd7\x01\x1c\x6a\x1b\x0a\x9f\x82\x8e\x58\xa9\xac\x26\x53\x07\x0e\x82\x4c\x7b\x15\x72\x3c\xdd\xd7\x0e\x7c\xcd\x5f\x24\x57\x66\x3a\xc6\xb5\x77\x53\xcd\x95\xae\x57\x0b\x23\x79\x2a\xd4\x95\x8a\xa4\x46\x3d\xd4\xbe\xcd\x13\x59\x4c\x51\x47\x3e\x2f\x74\x64\x2e\x65\xac\x31\x43\xe5\xd4\x01\x19\xa1\xf6\x7c\x4b\x2e\x02\x70\x4e\x85\x14\x8a\xeb\x58\x7d\xfe\xf0\xc6\x01\x65\x8b\xce\x75\xd6\x6e\xc2\x7d\x31\x29\x9b\x9c\x06\xe4\x30\xa0\xc5\xff\x81\xc8\x87\x95\x25\xe4\x30\x9d\xea\x88\x2e\x20\xe3\xc0\x79\xd0\x0a\xef\xda\x2a\xec\x49\xd3\x94\x5a\x27\x27\x8f\x56\x05\x69\x7e\x4c\x90\x60\xbc\x97\x49\x25\xa9\x53\xd0\xd6\x24\x3f\xcc\xc8\xbd\x98\x51\x53\xb7\x95\x13\x93\xb8\xa5\x3c\x37\x58\xc3\x28\x3b\x11\xf1\xa3\x2c\x36\x71\xda\x48\x1b\x99\x0f\x2a\x85\x49\x2b\x40\xdf\x73\xb4\xb8\xd5\x4e\x9e\xdf\x2e\x62\xa7\x12\xc6\x91\xd1\x4e\x3b\xd1\xea\x8b\x1d\xe3\x88\xdc\xf9\xef\x8d\xc1\xb2\xed\x11\xce\x12\x98\x44\xa4\xc9\xea\xbd\x8e\xec\x15\xb9\xf7\xb5\x33\xd3\x6c\x16\xa3\xec\x83\xd6\x66\x26\x6d\xd0\x2b\x85\x20\xf0\x14\x04\x57\x9e\x84\xe0\xb5\x77\xae\x21\x78\xe7\x69\x08\x3e\x78\xeb\x83\xdc\x65\x9e\x52\xb8\x8c\xb2\xec\x0a\x67\xad\x0b\x75\x43\x3a\x11\x38\xcf\x9f\x7d\x72\xa0\x03\x12\x2e\x23\xbb\x37\xaf\x22\x1b\x91\x7b\x1d\x11\xb4\x86\x1d\xa1\x54\xac\x0c\x39\x53\x1b\x9f\x7b\xda\x32\x5b\xb9\x93\xf9\xe6\x0f\xcb\x37\x8b\x56\x48\x18\xa2\xb2\xac\x7b\x17\x11\x3b\x92\x70\x1b\xb1\x37\x12\xf6\x23\x76\x1b\x19\xcd\xfc\x59\xd4\x96\xe5\x72\x46\x2e\xa2\x26\x51\x74\x1b\x11\x7b\x91\xd2\xa6\x72\x7a\x52\xeb\xdb\xde\x63\x69\x06\xa1\xfe\x06\xf4\x8c\x64\x39\xce\x52\x10\x79\x17\x07\x11\xfb\x2a\xe1\x70\x79\xda\x33\x17\x46\xbe\xca\x4f\x25\x41\xc8\x07\x51\xa6\xc1\x1b\x4b\x76\x71\x6a\x2a\x48\x3c\x8b\x9a\xc5\x16\xc9\xb2\x2d\x1d\x46\x36\x6f\x95\xcd\xb8\xf4\x24\x22\x17\x9a\xc2\x6d\x44\x3a\x08\xbc\x4c\x5e\xf4\xb1\xd6\x47\x75\x34\x7d\x83\xc2\xcb\x56\x7a\x41\x14\xec\xad\xa6\xe1\x77\xe9\x7e\xe2\xd3\x0b\x76\xe7\x7b\xfb\x11\x04\xde\x79\x04\x63\xef\x63\x04\xc2\x7b\x19\x41\xe8\xf9\xda\x9a\x9e\x6f\x22\xf8\x19\xc1\xef\x88\x7d\x93\xc4\x31\x0d\x1c\x0a\x47\x11\x7b\x2c\xe1\x71\x6b\x37\xbf\xcd\xb4\x1e\x45\x30\x23\xb3\xec\x9f\xdb\x08\x24\x85\x8f\x18\xe4\x7c\xb1\x5c\xf0\x32\xa1\x36\xa3\x18\x85\x4f\x2b\x90\x7f\x1c\xe1\x99\xc0\x73\x43\x70\xe7\x38\xdd\x4d\xd9\x33\x32\x9e\x30\x3a\xad\x6f\xd6\x25\x6f\x77\xae\x07\x3a\x59\x66\xe4\x35\x71\x1b\x08\x31\x16\x63\xa7\xae\x81\x3b\x87\x42\xdf\xc4\xea\x62\xcd\xee\xa2\x05\x55\x1b\x0f\xee\x75\x40\x08\xc6\x2e\x50\xd7\x9f\xb9\xfe\x57\x8a\xdf\x67\x55\xe6\x21\x88\xe1\x2a\xb2\x79\xa1\x0b\x0d\x3c\x3f\x91\xc8\x7d\xa4\xce\x67\x29\x72\x8b\x4d\x89\xe9\x55\x2c\xa7\x62\x2d\x54\xf1\xe5\x1a\xbf\x8a\x50\x80\xbb\x8b\x07\xd7\xce\x5b\x3e\x09\x63\x75\x29\xc6\x6b\x89\x9a\x64\x75\xd2\x14\x5d\xdf\xd4\xbb\x89\xec\x9d\x0b\x0a\x1f\x1a\xd9\xa6\x1c\x39\x5a\x25\xc2\xf1\xb2\x5c\x7a\x29\x3c\x6d\xae\xe7\x76\xe6\xf3\x3c\x66\x7a\x24\xd1\xbf\xf1\xa2\xb1\xa6\x90\x0d\xc1\x30\x29\xfc\x6a\xac\x9c\xe7\xf3\x7b\x11\xc1\x7b\x4e\x64\xcf\x61\x8e\x35\x3c\xa3\xff\x9d\x8c\x6f\xa6\xa7\x51\x1e\x34\x43\xf1\x38\x36\xcb\xfa\xf6\xa5\x65\x50\x7e\x0a\xaf\xa2\xc6\x33\x22\xff\xa0\xfc\x8a\x61\x70\xd1\xb3\x99\x10\x1d\xc7\x86\x6a\xfc\xe6\xf0\xd1\x60\xfe\x2e\xb2\xd7\x15\xbe\x44\x20\x05\x91\xee\x37\x4a\xed\xb5\x4e\xab\xea\xf7\x94\xf9\x93\xc2\xdb\x26\x26\x99\xd9\xa5\x44\xd5\xdc\x9e\xda\x06\xfd\x14\x71\x47\xcf\x5b\x37\x01\x4e\xc4\x5b\xe4\x13\x1d\xcb\xec\x3f\xb7\xd6\x3d\xca\xf2\x3a\xc0\xf7\x96\xc1\x86\xe8\x39\x79\x87\x11\x88\x47\x68\x28\x1f\x5a\x43\xf9\x15\x86\x20\x7e\x85\x68\xf9\xf8\xe7\x53\x52\x4c\x0a\xa7\xe8\x2b\x91\x8b\xb9\xb3\x16\x2e\xc1\x3e\xcf\x6e\x77\xbc\xca\xa6\xed\x50\xc3\xe7\xa8\x76\xbb\x42\xe1\x21\x50\x6c\x98\x60\x23\x9b\x9e\x91\x5f\x51\xae\x7d\xd2\x14\x5e\x90\x08\x6c\x36\xa7\x22\x9f\x18\x1c\x6a\xf2\x21\xb2\x98\xad\x0f\xc0\x66\x20\x3b\xaa\x26\x18\x5b\xa8\x21\xf2\x1a\x99\x83\xb6\x56\xdc\xb7\xd7\xea\x4c\x71\xa9\x6b\x3d\x8d\x30\x99\xc6\x51\x9e\x0a\x0d\xd0\x25\x5e\x2c\x63\x7f\x0f\x0f\x6e\x46\xce\x28\x3f\xcb\xe8\x3a\x10\x53\xcf\x71\x52\x78\xdf\x26\x49\x6c\xc5\xfb\x0e\x5e\xeb\x2b\xb5\x3d\xdb\xc3\xd4\xe9\x7d\x37\x7d\x9e\x94\x9d\x7c\x32\x18\x9e\x45\xa0\x8d\x42\x28\x22\xcb\x31\xbf\xfe\x67\xd0\x57\x03\xd5\x19\xd0\x6f\x7f\x50\xd0\x7e\xb4\x69\x10\x79\x85\xd7\x0d\x34\x67\x0f\x15\x43\xa4\x37\x6e\x43\x5e\x8f\x90\xe0\x0e\x91\xde\x82\x57\xf8\x65\x83\xaf\x7f\x4f\x09\xab\xa9\x40\xba\xef\xfe\x48\x07\xc9\x6a\x3a\xe0\x79\x71\x46\xad\x86\x0a\x82\x06\xca\xd0\x35\xca\x88\xf0\x61\x31\x45\x1e\x51\x4c\x00\x7a\x8a\x2d\xf3\xc5\xb0\xad\xea\x42\xac\x22\x21\x19\xff\xef\xb0\x46\x0c\xd8\xc3\x64\x98\xb8\xf3\x3e\x69\x72\x81\xce\x6c\xfb\x78\xa4\x89\x0d\x39\xa4\x70\xa8\x29\xad\xda\x75\x14\x54\x9c\x69\x9f\x3a\xce\x34\x70\x11\xaf\x3e\xc5\x4a\x5a\xca\x73\x8a\xe0\x2d\xe5\x79\x14\x54\xd0\x52\x9e\x67\x8e\x8e\x5a\xca\x0b\x9b\x22\x66\x87\x12\xc2\x98\x09\x45\x9c\x2b\xa1\xa6\xd1\x54\xe3\xec\x3f\xbb\xbd\xe2\x72\xbc\x3f\x99\x38\x10\xc7\x14\xfc\xb8\x8d\x61\x7e\x20\x0a\xee\x78\xc7\x2b\xe2\xf3\x3e\x24\xf0\x29\x01\x43\x99\x59\x1e\x8f\x69\x13\x0e\x46\xa2\x8c\x9c\xbb\x7c\xd1\x00\x8f\xf9\x9f\x23\xc3\x93\x94\xf6\x9c\xd4\xc1\x25\x9c\xe0\x44\x6e\xa7\x70\x1d\xa3\xf1\x11\x37\x86\xe7\x4a\x86\x99\xe3\x5a\x71\x44\xdd\x2a\xd3\xe2\x0c\x46\x67\x75\x30\xed\xd7\x15\x97\xef\x87\x2e\xf8\x19\x17\x5d\x5a\x5b\x69\x0a\x57\x31\xfb\x0e\xa7\x31\xfb\x0a\x37\xad\x18\xc9\xbd\xc1\xc8\x71\xf2\xdc\x3d\xf9\x9d\xf9\x98\x7d\x86\x8b\xf8\x0f\xde\xff\x3b\x7e\xe4\x71\xe0\x9f\x3d\x05\x3c\x34\x76\x16\xf7\x34\xf8\xc2\xd8\x45\xd7\xf6\x3a\xd5\x6d\xdc\x7e\x9d\xea\x85\x20\x09\x9d\xcf\x67\x64\x16\x83\xf3\xff\x71\xcc\x5e\xae\x9f\xd2\x70\x36\x23\xa7\x31\x38\x9e\x93\x65\xe0\xe0\xd9\xc1\x3e\xc7\x83\xfd\x7a\xe5\x3c\xd7\xee\x8b\x80\xcc\xc8\x77\x01\x41\x0f\xb9\x43\x1e\xe9\x10\x2d\x65\x7b\x8e\x59\x94\xef\xdc\x43\x4d\x26\xe4\x22\x46\xed\xf4\x26\xb6\x9f\x87\x8b\xb3\x13\xca\x6a\x30\x6a\x56\x29\x81\x73\x5d\x94\x52\xd8\x8f\xdb\x12\x04\xbf\x10\x44\x2c\x0e\x2a\xc9\x06\x75\xdf\x81\x3c\x9d\x8e\xdf\x90\x2d\xe1\x86\xdc\x5a\x7c\xbe\x0b\x1b\x53\xa5\xec\x85\xf2\x18\x9f\x2a\x11\xeb\x58\x0d\x43\x60\xed\xc7\x57\x29\x3c\x8b\x9b\xaf\x5d\xbd\x10\x86\xcf\xd5\xb1\x11\x19\x36\x23\x27\xbb\xa9\x54\xcf\x69\x5c\x86\xa6\xed\x9b\x6e\x30\x70\xf5\xbb\x80\xa4\x87\x32\x1a\xf3\x0e\xdc\xc4\x90\xa0\xed\x54\xaf\x6a\x67\x08\x0d\xbe\x65\xca\xb3\xc8\xa8\x45\x64\x74\x86\xcc\xff\x70\xb2\xb8\xc2\x5a\xd2\xb7\x4a\xb2\x88\x67\x55\x64\x44\x6f\x60\xf6\x92\x45\x45\x54\x33\x18\x67\x15\x0d\x2a\x68\x16\x36\x6e\xfe\x19\xb9\x8a\xc1\x39\xd3\xfa\xca\xbb\x7f\xdf\x01\xd4\x45\x9f\xc4\xd0\xb7\x53\xff\xc0\xb0\x00\xaf\xac\x33\xad\x55\x1a\xd8\x4a\x0f\xb1\x92\x51\xae\x0f\x63\xa6\x35\x71\xc2\x38\xc0\xbb\xa4\xe7\x31\xfb\xa1\xe0\x63\xcc\x7e\x48\x78\xd9\xb4\x2a\x76\x6c\xc8\xb7\x82\x57\xde\xa1\x26\xd3\x98\x68\x97\x77\x68\x25\x37\xfd\x11\xf9\x40\x34\xf2\xb5\x8e\xb1\x1d\x63\xeb\x03\x3d\x8f\x41\xbb\xc1\x05\xbc\x20\x12\x5e\x47\x44\x58\x7f\xe5\xe3\x08\x0e\x04\x99\xc4\x14\x0e\xe3\x5c\xe8\x6d\xf8\x5c\x6d\x5c\x72\x1d\x9c\xa1\xba\x96\x65\x52\x78\xb3\xbc\x2a\xd5\x7c\xda\xaa\xd8\x5f\x59\x60\x10\x46\x31\xa3\xba\x68\xdd\x21\x59\x61\x3f\x0b\x03\xc4\xa0\xcb\x9f\x71\xbb\x6f\xe0\x4d\xdc\x9c\xd7\x04\xf9\x8d\x15\x59\xbf\x63\xf6\x31\x36\xc6\xf2\x51\xf3\x86\xca\x78\xa3\x5e\xe6\x8d\x17\xe4\x65\x8c\x61\x69\x1f\x88\x80\x3b\xfe\xd3\xd3\x2e\x37\x3c\x4d\xb8\xfc\x27\xa0\x40\xf8\x19\x67\x37\x09\x85\x99\xdd\x91\xf9\xd7\x7b\x41\xcc\x1f\xa3\x84\x24\x98\x5b\x81\x56\x2f\x84\x27\xd5\x24\xc0\x8d\xf0\x5f\x45\x24\xa1\x95\x2e\xde\x45\x70\xa0\x49\x42\x6d\x17\x05\xb8\xc2\xd2\x34\xeb\x58\xb4\xc6\xe1\x2e\x1e\x15\xe5\x35\x54\xa5\xc6\x02\x53\x3f\x22\xc2\xbc\xc6\x10\xd7\xd5\x72\xd0\x7f\xe8\x2d\x1c\x55\xd6\x03\xbe\xd6\xf6\xc9\xb1\xd5\x29\xf1\xcc\xfe\x84\x36\xe9\xfe\xb9\xa9\xf4\x5c\xc0\x5b\x9b\xf5\xce\x06\xc0\x81\x83\xfb\x8c\x48\xf7\xab\x15\xac\x9f\x50\x38\x3e\x4c\xe1\x43\xd3\x26\x5b\x47\x9b\xed\x69\xeb\x0e\x80\xc4\xee\x81\xaf\x1e\xc1\xc0\xb3\x87\xf0\x21\x26\x02\xbf\xea\xe2\x38\xd4\x3b\x20\x02\x16\xb1\xa5\xd9\xb1\x6d\x26\xb3\x1d\xb4\x08\xaa\x9b\x46\xb7\x6d\x95\xa4\xba\x55\x3e\x65\x5b\x05\x35\xbf\x0d\x7f\xb6\x11\x46\x62\x32\x2e\xb7\xc9\x8b\xd6\x49\xc6\x10\xc7\x3f\x59\x6e\xd9\x9f\x5f\xcb\x50\x6a\x17\x28\x30\x24\x16\x63\x6e\xec\xe5\x88\x8d\x01\x28\xdc\x6f\xcb\x57\x24\x54\xf9\x23\xa5\xf0\xae\x69\x4a\xdb\x41\x67\xf7\x68\x30\x64\xba\xe8\x04\x74\x16\xb9\x67\x24\xc0\x72\x87\xba\xfc\x61\x4c\xf2\xd6\xf9\xf8\xa2\xc9\x05\x79\x17\x67\xd1\xa1\x78\x2f\xbd\x45\x0e\xf5\xf7\x8a\xef\x76\x1c\xd9\x6f\x39\x96\x18\xab\x2a\xee\xeb\xa2\x2a\xe7\xf5\xb0\x78\x95\xa9\x01\x03\x7b\xcb\x83\x66\x37\xff\x86\xf6\xaf\xca\x3f\xed\x6f\x8a\x72\x57\x51\x5e\xa5\x12\x2e\x98\x60\xba\xfe\x72\x33\x24\x2e\x66\x1f\x72\xf9\x49\xf5\xdb\xec\x59\x7f\xa5\x8c\x16\xae\x6f\xef\xb3\x56\x9a\x1a\xcd\x23\xc0\xff\x61\xf3\xec\x2a\xa2\x2a\x36\x6f\x15\x4e\xb7\x5b\xfc\xcc\x81\x46\x08\x34\x66\x91\xeb\x43\xc8\x62\xd7\x2f\x2e\x72\xfa\x2e\x87\x09\xf3\xab\x1f\x05\xb8\xd0\x78\x19\x10\x7f\xc4\xf9\x8f\x30\xff\x31\x85\x81\xd8\xda\x93\xa3\x19\xf9\x12\x83\xda\xd8\x86\x09\xf5\x2e\xc8\xab\x18\xa4\x91\x92\xf8\x8c\x1f\x06\xc8\xa7\x6a\x69\x95\xf7\xc9\xb1\xc8\x46\x91\x3b\x05\x52\x0a\x6f\x57\x6c\x83\x57\x71\xa9\x36\x3e\x6f\x17\x72\xba\x89\xaf\x58\x17\x8c\x11\xf3\x66\x4b\xbe\x8d\x41\xf4\x8c\xce\xf3\x2b\x06\xb1\x81\x04\x6a\x77\xe1\xe7\xe5\xee\x17\x6e\xd3\x15\x5f\x7c\xe3\xd6\xc1\xd3\xe8\x2f\xc9\x2a\xad\x1f\x10\x9b\xaf\xae\xdb\x35\x9c\xc5\xca\x1f\xf4\xb3\xc4\xec\x1d\xbc\x6f\xd4\x12\x2e\xc8\xf7\xb8\xfc\x24\xc4\xd7\xd6\xe9\xb0\xd7\x7c\xf0\x3b\x02\xd6\x0e\x6f\x54\x7e\x0e\x6a\x91\xd9\x99\x80\x05\xc1\x6c\xaa\xcd\xc4\x7a\x93\xbf\xc6\x24\xc2\xec\x11\x2f\x62\x1b\x48\x3d\x30\x6a\xe0\xfb\xd8\xa6\x1c\xe5\xcc\xc6\x9d\x04\x8c\xe0\x45\x01\xa3\x15\xde\xdf\x9c\xf7\xe9\xc6\x00\x22\x86\x69\x23\x66\xe4\x79\xa6\xcb\xb6\xc1\xe3\x08\xcf\x66\x8b\x8a\xd9\x57\x4e\x22\x6a\x08\xf0\x3e\x07\x9f\xc5\xf7\x05\x4c\x59\xee\xda\xc6\xd5\xfa\x1c\x93\x24\xb3\x3d\x0f\x39\x7c\xe0\xc4\xdd\x31\x2d\xf1\x60\xeb\x9d\x86\x5f\x1a\x3f\xfd\x50\xf0\xe0\x78\x34\xb8\xbf\x75\x8f\x84\x3d\xbf\x47\xe2\x8d\x29\xbd\x1f\x53\xaf\x9f\x52\xf8\xd1\x44\x24\xd5\x7b\x1f\x86\x2f\xc8\xf2\x6a\x09\x77\xfd\xf9\x7c\x91\x17\x5c\x57\x3e\xbb\x51\xcd\x34\x59\xec\xa4\x3c\x5b\x51\x64\xb4\x95\x3b\xc9\x02\x50\x2c\x06\xcd\x5e\x10\x6d\x84\x09\x37\x22\x3f\xff\xfc\x38\x5a\xee\xba\x12\x2a\x6f\x95\x1a\x53\x5d\xe3\x67\x5a\x5e\x37\x12\xc5\x15\x91\xd4\x3d\x8f\x23\x49\x30\x9d\xb8\x0c\xdb\xc2\xc0\xf3\x84\x44\xe6\xaf\x32\x8a\xc9\x41\x7e\xf9\xe4\x75\x4c\x2e\xc8\x8f\xd8\x2e\x83\x5d\xdc\x8c\x7b\xaa\xb0\x99\x7b\xd6\x81\xd1\xc2\x3a\x6c\x20\xab\x7c\x38\x3d\x77\x73\xe7\xde\x73\x41\x66\x44\x86\xd6\xf0\xbc\x47\x06\x1b\xa8\x9c\xeb\xbf\xc4\xb9\x9f\xa3\x3c\xf0\x2e\x88\x42\x28\x46\x15\x88\x0b\x3b\x56\x84\xec\x19\x24\xe1\xdf\x29\x6e\x0f\xaa\xea\x4c\x45\x4c\x8b\x8a\x98\xb6\xc6\x7c\x60\x55\xa1\xbf\x16\xd9\xc3\x45\xc5\xf0\x69\x55\x71\x7b\x51\x51\x0c\x5f\x80\xff\x10\x55\x40\xff\x21\xaa\x80\x46\xef\x38\x31\x1b\xab\x6f\xf4\xec\x55\xba\x60\x03\xc8\xa4\x80\x58\xd3\x03\xfd\x87\x0b\xf0\x96\x54\xbd\xc1\xa2\x32\xb8\xbd\x58\xe3\x0d\xde\xfb\xe3\x03\xfc\x28\x44\x59\x6f\x67\xa1\x9e\x7f\xb1\x08\x69\x49\xf1\x54\x8b\x35\x76\xab\x35\x38\xcb\x07\x64\x86\xcb\xf1\x73\x85\x7d\xef\x85\x20\xdc\xe5\x2f\xe8\xc8\x68\xb8\xc6\x4e\x5f\x73\xc0\xbe\xe0\x2e\xef\x7b\xc8\xb3\x07\x7d\xf8\x62\x14\x31\x11\x82\x0e\x6d\x75\x28\x59\x7c\xa3\xc9\xf5\xd3\x4c\x21\x37\xf3\x93\xc2\x53\x41\xe1\x89\x26\xdc\x0d\x2e\xed\xe9\x79\x75\xac\x2d\xea\x6f\x7e\xc6\xca\x43\xf6\x5a\x42\x10\xb2\xb6\xae\x72\xe7\xa8\xec\x39\xf7\x97\x82\x00\xf0\x06\x47\xd8\x14\xa7\x5a\x78\xbd\x0c\x63\x0c\xb3\x3c\xa4\x61\xdb\x5e\xc1\xb0\x56\x08\x6e\xec\xd9\xb9\x1f\xb2\x89\x24\x83\xfb\x7d\x0a\xd3\xb0\xd9\xe2\x0c\x43\x23\x7f\xb6\xc1\x1e\x3a\x6d\xa3\x06\x56\xde\x1f\xbd\x7f\xbc\x71\xfc\xcf\x3f\x27\x77\x29\xa1\xf7\x7a\x23\x17\xfe\xf9\xe7\x9f\x7f\xfe\x67\x67\xfe\x3f\xfe\xf9\x67\x7a\x72\xff\xd4\xa1\x86\xdd\xfa\x21\xe8\xd6\xf9\x95\x6e\x20\x53\x78\xcf\x89\xf3\xcf\x3f\x0e\xb5\x47\x73\xf9\xed\x8e\x14\x26\x7f\xb9\x49\xfb\xe5\xa4\x6f\x61\xbe\x16\xee\x76\x46\x96\xd6\xce\x3c\x14\x0a\xd3\x10\xcc\x5b\x4e\x53\xea\x89\x15\xf6\xcc\x0b\xcf\x71\x00\xa9\xe5\xc2\x18\xb2\xdb\x9e\x83\xce\xbc\xe0\x06\xfd\x6a\x39\x0d\x09\xd7\x3f\xa3\x14\xfc\x2b\xef\x5c\x83\xaf\xec\xe7\x22\xf3\x4d\x1f\x87\x76\xd3\xe7\x6b\x58\x6c\xfa\xbf\xde\x0e\xe5\x56\xe6\xc3\x25\xfc\x92\x3f\xa3\x97\x93\x78\xfb\xa4\xf3\xed\xd4\x6c\x80\x84\xd2\x6c\x2c\x94\xb6\xee\x36\x83\xa2\xc2\x78\x81\xf6\xad\xef\x5f\x2d\x6f\x69\xab\x83\x2e\x8f\xc1\xbf\xf0\xd6\x07\x90\x83\x6c\x66\xa6\x7e\xe8\x21\x37\xe7\x99\xe9\x84\xb1\x0c\x74\x39\x85\x61\xc5\xc6\xbc\x6e\x23\xf9\x2c\xa2\x08\xfa\x56\xef\x1b\x37\x12\x3a\x6a\x05\xd7\x21\xc4\x36\xd6\xa8\xd3\x0a\x2c\xbb\xc1\x8f\xa0\x2e\xc3\x95\x79\x28\x95\xcb\x3f\x62\xba\x04\x7e\x05\x91\xf9\xf3\x12\xb3\xa6\xf8\xa7\x10\x9a\xa7\x18\x7c\x96\xf4\x9c\xff\x71\x3f\x3b\x2d\x19\xb6\x1e\x1b\xe3\xcc\x19\x11\x13\xdb\xec\xc3\xe5\x2c\xdb\x6b\x54\x53\x8c\x3e\x9d\x54\x4f\xd0\x32\x58\xd3\x02\x96\x5d\x0f\xc9\xa6\x78\x6d\xe7\x03\xe1\x70\x17\x5c\x7a\xe3\xd0\xe6\x5a\xfb\x6d\x74\xf2\x6f\xab\xb6\x29\xff\x91\xc2\x33\x4d\xed\x27\xda\x28\x64\xba\xd6\x2a\xdd\x75\xed\x82\x5c\x07\xf0\xcd\xde\x91\xb2\xc4\x9a\xd8\xcb\x05\x4e\x8a\x9a\xec\x33\x43\xa6\x32\xfe\x43\xa7\x58\xfa\x4c\xc3\xbb\xa8\xe9\x04\xde\xf2\x67\x23\x75\x90\x43\xe3\x5d\xf6\xca\x51\xd9\x11\xb9\x89\x88\xa6\xc5\xc7\xbb\x2b\x8c\x42\xc5\xc0\x17\x33\x2c\x1d\x11\x8d\x6f\x97\xa8\xec\x34\x22\x53\x33\x0a\x4e\xd3\x94\xd4\xdc\x5d\x76\x59\x26\x06\x83\x2b\x6f\x0a\xfc\xa3\x37\x71\xfd\xba\xcb\xc4\x4c\xcc\x35\x9b\x91\xc7\x31\x68\xa3\xc7\x8e\xd9\x8c\xf8\x31\x7e\x05\x7b\x11\xd2\x04\xef\xcf\xc7\x66\x33\x05\xa3\xd0\x33\xd8\x5c\xd9\x07\x1d\x7b\x01\xf0\x97\xde\xd8\x74\x71\x5d\x78\xd7\xb0\x6c\x46\x78\xb6\xd9\x93\x18\xbe\x45\x66\x53\x7d\x8d\xd0\x48\xa6\x5e\x59\x26\xf2\xb2\xf7\x59\x19\x94\x65\x91\x2d\x0b\x42\x22\xaa\xca\x49\x85\x0f\x28\xbb\x53\x95\xdd\xa9\xbe\xdd\xa9\x1a\xee\xde\x15\x59\x17\xed\x06\x5d\x54\x9a\xda\xda\x1d\x35\xb5\x1b\xf4\x17\x28\xde\x7f\xbc\x48\xf1\x36\xa4\xa1\xc3\x6e\xc9\x51\x0c\xbe\xcd\xe6\x6d\xd4\xfa\x4b\xd6\x29\x29\x2f\x9f\xce\x97\xde\x98\x75\x5c\x0e\xfe\x63\xcf\x72\xe8\x7c\xbc\xdc\x8e\xf7\xb2\xe4\xc9\x06\xea\x19\xbb\x25\x49\x58\x40\xe5\x74\x78\xc9\xce\x96\xa1\x7e\xf4\xae\xd9\x19\x62\x55\x02\x0c\x16\x00\xda\xed\x76\xc5\x6e\xc9\xa4\x04\x18\x1b\x80\x57\x4b\x00\xfd\x53\xef\x6a\x01\x5c\xb4\x00\xee\xe1\x22\x27\x98\x2c\xce\xcb\x23\xec\xf0\xb4\xea\x13\xcb\xeb\x5e\x78\x98\x78\xfa\x14\x94\xcb\x2f\xe8\x68\x46\x3a\x61\xfe\xe0\xcd\xc8\x75\xf1\x00\xfe\x96\xe5\xc9\x61\x4c\xd6\x07\xb4\x7e\xdd\xee\xa6\x19\xf2\xd2\xa1\xfd\x11\x09\xe1\x06\xcd\x21\xfb\xdd\x7b\xcc\xa5\x53\xcf\xba\x51\xc2\xc9\xd9\xcf\x9f\xd9\x4e\xc5\x55\x1e\x27\x29\x41\x5c\x6f\x8a\x5d\x10\xc6\xe4\xc6\x4c\xdf\x65\x0c\x3f\x22\xb8\x8d\xc8\x4d\xe6\x15\x4b\x29\x9c\x35\xf1\xfb\xca\x59\xdf\x55\xab\xaa\xd4\xf1\x76\x6b\xdf\x43\x6a\x14\x1c\x87\x92\xac\x8e\x66\xfd\x28\xeb\xd1\xac\x77\xd6\x84\x87\x9b\x90\x1d\x4a\x98\x35\x02\x3d\x0d\x89\x3d\x6f\xb6\x77\x94\x6e\x42\xb3\x53\xb6\xed\xc1\x2f\x5e\x45\xcc\xde\xf9\x07\xd9\x99\xf3\xf4\x83\x38\x15\xb7\x0e\xc4\xb1\xa9\xf9\x3d\xfb\xbe\xc6\x45\xab\x14\x7b\xcc\x89\xbc\x8f\xe8\xdc\x36\x22\x20\x53\xd8\x6f\x32\xea\xda\xbe\x63\xd9\x93\x8b\x79\xf0\x6c\x66\x25\xe1\xfa\xd7\x98\xb5\xb7\xac\x29\x6c\x36\x52\x50\x4c\x81\xb6\x97\xef\x9f\x2d\xe3\x59\x26\x3a\x2d\x26\x72\x1f\x35\x51\x98\x91\x8b\x10\x6e\x43\x63\x7d\xee\x8a\xed\xec\xc2\xe4\x93\xb0\x31\xf7\xc9\x85\xb1\xfe\x06\xdb\xdb\x7d\xda\x7b\x30\x78\xb4\xbd\xfb\x10\x34\x23\x6a\xaf\x3f\x52\x1b\x83\xed\xdd\xfe\xa3\x5d\x4f\xd1\xfb\xf8\xeb\xc1\xbc\x0f\x82\x65\xaf\x1f\xdc\xd3\x90\x30\x22\x36\x88\xc0\x52\xbc\x04\x22\xee\x6f\xed\xee\x6c\xda\xab\x21\xf6\xf5\xa3\xdd\x79\x9f\x52\xf3\x7a\xde\x07\xce\xc4\x06\xd9\xda\xdd\xb9\x97\xf4\x48\x92\xdd\x20\x49\xb2\x1b\x24\xe8\xfa\xd8\xb9\xc7\x7b\x9b\xf4\xfe\x60\x67\x6b\xde\x87\x88\x05\x3d\x12\xec\x0d\xfa\xa3\x2d\x6f\xe3\x51\x2e\x06\xee\xf8\x53\x8f\x6f\x10\x32\xd8\xd9\xba\x17\x98\xca\x3b\xa6\xe7\x01\xf0\x4d\x2f\x02\xff\x95\x97\xf4\xb6\xfb\xfd\x7b\xba\x47\x36\xf7\xa2\x51\xdf\x1b\x60\x92\xe1\xd6\x35\x7e\x62\x36\xd7\xb3\xcc\x8a\x76\xf9\xd3\x94\xc2\xe1\x0a\xb5\xe6\x4b\x00\x9b\xdb\x76\x76\x8b\x66\xb0\xdb\xb7\x91\x86\xab\xdb\x0d\xc4\x96\x5d\x11\xfc\x9c\xd2\xea\xba\xbb\xfd\x12\x3c\x46\x10\x2e\x57\xcf\x74\x97\x05\xfc\x37\x17\x95\xa2\xfe\x82\x0a\x3f\x58\xb0\x25\x37\x17\x6f\xa1\x2c\xa8\xdf\xdb\x0b\x32\x6e\x67\x41\x76\xed\x2e\xb0\xde\x07\x0b\xf7\x43\x1e\x2e\xca\xac\x47\x8b\xb7\x3e\x06\xfd\x45\x4d\x62\x30\xc0\x4f\x48\xfd\xc5\x14\x15\x44\x3e\x10\x5b\x38\x51\x3f\xff\x72\xa1\xfd\x57\x46\x2c\xac\x60\x6a\xb5\x64\x11\x47\xc6\x1e\xfd\x1d\x42\x1f\x3a\x14\x1e\x37\x6d\xf9\x7c\xb6\xf7\xe4\xe8\x82\x3c\x0e\x41\xfe\xfb\xdf\x03\x78\x41\x94\x21\x8f\x41\x57\x8e\x5e\x10\x0d\x8a\x7a\x9a\x7a\xc6\x10\xfe\xb4\x42\x0b\x7f\x6c\x7d\x31\x8e\x83\xd1\x82\x2b\xfa\x7a\x41\x66\xe4\x53\x08\x72\xe3\xb9\x30\xca\x9b\xfd\x74\x91\xdd\xe8\x4f\x57\xc0\xff\x60\xe0\x3b\x7d\x07\x74\x9e\xb3\xe0\x45\x8b\x51\xfb\x34\x04\x43\xea\x3f\x43\x38\x0a\x6d\xe0\xc4\x86\xd3\xc3\xd7\x9b\x2b\x2e\xe0\x96\xda\xe3\x60\x41\x6f\xdc\x5c\x20\xc5\xad\x05\x52\xdc\x5e\x20\xc5\x9d\x05\x52\xdc\x5d\x20\xc5\x07\x0b\xa4\xf8\x70\x81\x14\x1f\x2d\x90\xe2\xa0\xbf\x48\x8b\x83\xa5\x9c\xdc\x83\xcd\x34\x25\x33\xf2\x32\x1f\x73\x6d\xd0\x33\x72\x50\xce\xc5\xa7\xca\xeb\xc3\xf2\xb5\x57\x79\xfd\xb1\xf9\xf5\x9b\xf2\xb5\x9b\xbd\xde\x32\xfa\x5f\xf9\xfa\x87\x93\xc2\x2f\x43\x73\xb3\x08\x6e\x42\x78\x11\x52\x78\xd7\xba\xa4\xb9\x6c\x25\x9a\xc9\xd6\x6c\x23\xee\x55\x32\x3d\x23\xe7\x92\x60\xb8\x11\x05\x95\x52\x0a\xc7\x27\x66\x2f\x14\x51\xcc\x5f\x42\xf6\x52\xc2\xab\x15\xb4\xf3\x56\xff\x7f\xc9\x7b\x13\xe5\xb6\x71\xb4\x51\xf4\x55\x14\x8e\xee\x0c\x58\xf9\xc4\xc8\xd9\xba\xc3\x34\x4b\xe5\x78\x89\x9d\x38\x76\x62\x27\xce\x32\x93\xeb\x02\x48\x4a\x62\x44\x91\x0a\x08\x52\x96\x13\xdd\xd7\xb8\x0f\x74\x5e\xec\x14\x3e\x80\x9b\x48\xca\xce\x74\xcf\x7f\xa6\xea\x54\x77\xc5\x22\x09\x02\x20\xf0\xe1\xdb\x17\x48\x5c\x95\x2d\xc6\x84\x37\x72\x82\xaf\xc6\x68\xc8\xd3\x1e\x5f\xc7\xfb\xc6\x57\x13\x23\x5a\x5e\x6e\x01\x5c\xe5\x24\xff\xf6\xec\x42\x7b\xc9\x6b\xb7\x82\x0f\x5b\x4e\x63\x3d\x23\x4b\x07\x21\x94\x52\xe5\xa6\x8f\x5d\x91\x1b\x1a\x35\x81\x0e\x11\x4e\xc1\x35\x68\x0b\x7a\x62\xc0\x8a\xbc\x1d\xc3\x6a\x0c\xc4\x77\xb8\x89\xc6\x7a\xc9\x2e\x94\xb1\x28\xdf\xd1\xda\xb3\x54\xb7\xf3\x38\x16\xbc\x49\x0f\xd4\x4d\x97\xfb\x54\xc7\x72\x2f\xf1\xfe\x9e\xbe\x1f\xcf\xe7\x7e\x24\xf2\xbb\xbb\x9a\x11\xf1\x0c\x95\x5f\xec\x72\xac\x1c\x59\x97\x63\xf0\x2d\x7a\x89\x45\x71\x25\x87\xf6\x61\x0c\x06\x5d\x2c\xc2\xc0\xc5\x50\x96\x07\x98\x91\x01\x30\x9b\xc2\x50\x79\x9e\x97\xda\xb0\x19\x79\x39\xc6\x80\xef\x37\x2a\x47\xef\xbb\xb1\xe3\x76\x46\x84\x97\x0a\xae\x5d\x3b\x05\xba\x67\xfb\x40\x0f\x6c\x01\xf4\xd2\xa6\x40\xfb\x72\x8d\x97\x36\x07\xb6\xb2\x5d\x60\xfb\x36\xd6\x6b\xfa\xd8\xbd\x95\x3f\xe8\x67\xf9\xf2\x63\xf9\xde\xa1\xda\x9c\x4f\xa8\x5c\x7b\xb4\x86\x2f\xe3\x3c\xd2\x3d\x67\xbb\x3e\x8d\x75\x70\x8c\x66\xce\x8a\x60\x9e\x6a\x8c\xf9\xc7\x31\xaa\x0c\x5f\xe7\x6f\x77\x44\x09\x61\x6c\x51\x2d\x2c\xfe\xb6\xbc\x00\xfe\xf5\x22\xe0\xbf\x9a\x13\x60\xe1\x47\x5e\x10\x4d\xfe\x44\x42\x80\xf6\xb0\x79\x9d\xd8\x20\x0f\x20\x92\x00\x51\xac\x46\x01\x33\xe5\x9d\x12\xba\x76\x3b\xc3\xa9\x5a\x42\xa7\x4a\x08\xdf\x73\xc9\x97\x31\x4e\xe6\xdd\xb8\x8c\x6a\x8a\x58\xa7\x71\xaf\xfd\x18\x19\xc0\x2b\xee\x91\x28\x88\x09\xc8\x35\xb2\x3e\xbc\x1e\x2b\xb5\x07\x67\x1d\x8e\x89\xcf\xf2\x5a\x66\xad\x0d\xdc\x99\x8d\xca\xd3\x4f\xf2\xcf\xe7\xd1\x43\x7b\x28\xa1\x4a\xf2\xef\xeb\x35\xf8\xcc\xf9\x41\x5d\xfb\xde\x0e\x7c\x44\x75\xe2\x58\xfe\x7b\x2a\xff\xc1\x6c\x7a\x6f\x31\x6a\xe7\x95\x4a\xfb\xd3\xd6\x7b\xef\x9c\xf8\x0c\x7e\x9c\x4a\x81\xfa\xde\xd0\x84\xb3\xfc\xc7\xdb\xfc\x47\xe1\xaf\x83\xc2\x96\x60\x5a\x89\xb3\x06\xda\xf1\x39\xb9\x9f\xa3\xdb\xb6\x8c\x45\xab\xdf\x36\x4b\xc0\x06\x4c\x87\x52\xc5\x1d\xfd\xe6\xab\x34\xee\x78\xfe\xbb\x7e\xce\x58\xa7\xbf\x88\x4b\x90\x2d\xba\x7f\xa5\x02\xf9\x4c\x48\x98\xae\xb7\xbb\x34\xe0\xe9\xf0\xf1\xef\xfe\x13\xc4\x44\x9e\x01\x18\x43\x8d\x17\x53\x03\x1e\x3d\xd5\xbf\xe7\x86\x92\x1b\x24\x1e\x34\x90\xbb\xfa\x6a\x42\xd8\xba\xb0\x91\x25\x78\x30\x27\xe6\x1a\xb2\xf6\xe7\x7f\x0c\xb5\x7e\x32\x64\xed\x52\x60\x2e\xc6\x50\x74\x44\x56\x89\x54\x29\x26\x52\xad\x28\x01\xe8\x03\xff\xe7\x70\x94\xde\x27\xc2\x55\xbf\xcd\xfb\x44\xdc\x37\x7a\x86\x69\xda\x29\x20\x4b\xe8\x83\x8a\x8a\x3b\x23\x86\x01\xea\xd3\x21\x61\xa6\xca\x85\xe0\x31\xe7\x68\x0c\x7d\xa6\xbd\x68\xe7\xad\x8b\x7b\x65\xf7\x19\x02\xdd\x7a\x0d\x53\x09\x71\xbb\xf6\x9c\x11\xc3\x30\x25\xae\xd4\xbf\x56\xc5\xad\x83\xe2\xd7\x25\x6a\xa4\xfa\x76\x5f\xe2\x4f\x75\x73\x0d\x0b\xd9\xc1\x67\x4c\xa1\xff\x38\x6f\xc9\x0e\x8b\xc7\x13\xd6\x9e\x15\x6b\x86\x5e\xd9\x9f\xd4\x5a\x1c\x96\x87\xed\x7d\xab\xf0\x3f\x23\x1f\xc7\xc0\x41\x55\x39\x6c\xaa\x36\xc5\x26\x53\x26\x81\x7d\x67\x53\xaf\xaf\x4e\xc0\x26\x5e\xc3\xe4\x9c\x28\x84\xb7\xcf\xb4\x98\x9c\xfc\x4a\x79\x64\xf5\x77\xa2\x14\xae\xbf\x14\xeb\xe0\xac\xba\x0f\x48\xef\x9c\x4c\x19\xfc\x50\xab\x1b\xe9\xc5\xcd\xe3\x19\x32\x46\x30\x4e\xdc\xcc\xd7\xda\x93\xcf\x18\x03\x79\x57\xd5\x68\xa2\x7d\xfb\x3c\x26\x1c\xeb\xb9\x2f\x18\x26\x6b\x7d\xa9\xed\x54\x13\x06\xef\x05\x59\x32\xb4\x97\xe8\x7d\xf1\x98\x0a\x85\x5b\x9b\x30\xeb\x3c\x3d\x78\x74\x06\xd7\x63\x95\x9f\xf1\x1a\x4f\x0e\x2e\xb3\x61\xc8\xff\xef\x61\x45\xea\x5d\x05\x1d\x86\x21\x21\x43\xfe\x7b\x60\x9f\x4b\x8a\x52\xc2\xc2\x35\x93\x83\xe2\xcd\x35\x1c\x74\x8e\xa6\xa3\x12\xa3\xcd\xa0\x44\xd8\x6b\x83\x50\x65\xc5\x95\x2f\x18\x17\xd3\x38\x0d\xbd\x5e\x14\x8b\x1e\xf3\x7b\xfe\x7c\x21\x56\x86\xfc\xfe\x03\x06\x87\x3e\x31\x3e\xf2\x38\x9a\xf4\x8e\x2f\xce\x7e\x7f\x3a\xdc\xe9\x8d\x63\x3e\xa7\xc2\x30\xe1\x9d\x0e\xed\x3d\x6c\x3d\xab\x47\xbe\x3c\xa4\x91\x69\x6e\x19\xe1\x38\xc5\x48\xa2\xd3\xb6\x4d\x6d\xd6\x1a\xd3\x61\xab\xcf\x4b\x4f\xa5\x9c\xd3\x56\x25\x03\xe4\x40\x42\xc7\xb5\xae\x48\x04\xbe\x4a\xda\x2a\xc5\xe9\x26\xd4\x21\x92\xf8\x0c\xda\xc8\xb6\x79\x40\x4e\x19\xcc\x04\xcc\xe4\xdf\x4e\x0e\xf6\xe3\xb8\x64\x38\x0f\x99\x4a\x46\x0b\xc7\x98\x65\xf6\x10\xcd\x87\x17\xcd\x8d\x52\x23\x9f\x91\x3d\x84\xd0\x3d\x09\xd4\xda\x99\x95\xaa\x74\xc8\xac\xfc\x5c\xa1\x53\x9f\xe9\x14\xbf\x65\x24\xc1\xb1\xc4\xc8\xca\xb8\x26\x45\x56\x5f\x2f\xf1\x1e\x8d\xfe\x81\xab\xab\x73\x8f\x2d\x68\x22\xd4\x1a\xa3\xe7\xef\x31\xeb\x74\xd8\xde\xbe\xd4\x68\x50\x29\x92\x6c\xd6\xda\x88\xbc\x4d\x80\x66\xa7\xc2\xed\xaa\xda\xc6\xcf\xdb\xc4\xe8\x34\xdc\x4c\x4f\x7c\x91\x92\x34\x6f\x33\xae\xba\x39\xeb\xcc\xe0\xf2\xe3\xa8\xde\xd6\x25\x89\xf2\x2a\x12\x40\xf5\xe6\x9e\x34\x37\x17\x8b\x0e\x5f\xaa\xcd\xdd\x55\x59\xeb\xfa\x2a\x32\x65\x4f\xe5\x0c\x59\x62\x50\x0a\x3d\xc8\x87\xfa\x96\x92\x90\x1c\x33\xd8\x1a\x32\x7c\x4e\x76\x25\x7e\xd9\xb5\x23\x79\x50\x31\x07\x52\x5a\xb0\xbb\x5c\x9e\x50\x7f\x5d\x03\x06\x94\x72\xbe\x31\x09\x14\x18\xe6\x29\x9f\x20\x74\xc8\x9d\x4f\xf1\xc7\x8a\x5c\x30\x90\x3f\xc1\xcd\xc1\xe6\x8a\xe9\x84\x5e\x37\xcc\x19\x47\x70\xc6\x1c\x16\xc1\x8b\xae\x43\x8f\xe5\x91\x2c\x7a\x73\x9f\x44\x03\x2c\x14\xeb\xda\x1c\xab\x74\x71\x55\xf8\x1c\xd8\xdc\xe6\xaa\x7a\x39\xb7\x30\x83\xe3\x7b\xe6\xc4\x11\x9c\x33\xc7\x8d\x60\xbf\xd9\x6d\x30\x26\x33\x72\xce\x60\x67\xb8\x83\x0a\x8e\x9f\x3f\xf1\xf2\xe9\x33\xa5\xee\xc8\x0f\x0f\xd6\xf5\xc2\x27\x8f\x1f\x61\x39\x24\xdd\xee\xf1\x13\xbc\x1a\x89\xfb\x3b\xb6\x40\x21\xea\x3d\x53\xf5\x8f\xf4\x2a\x1e\x12\xb9\xa6\xa3\x41\x6a\xa7\x65\xb9\x00\x13\x8e\x3a\xb1\x9a\xea\xf6\x29\x0e\x3f\x5a\x91\x7d\x06\xd8\x27\x3a\xad\x49\x7c\x6c\xe3\xbd\xdc\x9b\x92\x6d\xb5\x10\xfa\xe8\x0d\xe4\x2b\x6d\x69\x5b\x29\xc3\x7b\x43\x95\xa0\x29\x55\x39\xba\x35\x70\x57\x70\xcd\x21\x11\x90\x57\x33\x55\x35\xd2\x84\xf9\x47\xf1\x52\x54\xa9\x27\x19\x10\x17\x6d\xd4\x0c\x28\x16\x62\x31\xe1\x2d\xdb\x9e\xe6\xac\x5a\x4e\xbf\x12\x43\x70\xd9\x7d\x72\x33\x5d\xdc\x85\xa2\x5f\xd7\x11\x03\x17\x8f\x85\xfc\xba\xa0\x9a\xc4\x55\x7d\xd9\x35\x79\xcb\x80\x22\x30\x58\xf4\x66\x40\x82\xfb\x58\xee\x3c\x02\x6a\xb9\x66\x5e\xc2\xcd\x62\x10\xb4\x57\xf3\xa4\xc0\xf3\x56\x6e\xa5\xcd\x92\x7c\x97\xcb\xaf\xaa\x28\xc8\x59\x55\xf1\xc0\x8f\xb6\xc5\xa5\xa8\x90\x2f\x70\x02\x8c\x9d\x1b\x97\x60\x8c\x09\x8e\xae\x4e\x76\x15\x0b\x8c\x31\x93\xfb\x66\x0f\xc5\x4a\xc7\x64\x2c\x71\x21\xae\x75\xa0\x19\xb7\x57\xcc\x59\x91\xae\xac\xc9\xce\x0f\x9a\xd8\x12\xc7\x99\x40\x5f\xca\xe3\xfc\x5a\x22\x97\x13\x61\x02\x7d\x9f\xdf\xff\x24\x6f\x9d\x52\x13\xdc\xc0\xe6\x40\x9f\xa8\xfb\xeb\xcd\x1c\x4f\x0a\x3a\x7f\x2f\x4a\xa2\x56\x78\x1a\x2c\x80\xc7\xef\xef\x3c\xaf\x02\xf2\xce\xc3\x21\x16\xaf\xa3\xe6\x08\x17\xce\xb7\xdc\x40\x4a\xec\xef\xd1\x67\xe3\x4c\x5b\xae\x4c\x88\xe4\xe7\xc9\xf6\x3b\x3b\xad\xed\xe5\x31\x9b\x91\x1b\x06\xbf\x6f\xbe\xf1\xec\xf7\xd6\x17\x92\xfc\x85\x87\x95\x17\x42\x72\x59\xb6\x78\x29\xff\xf9\x24\xff\x79\x0d\x67\x84\xc3\x50\x36\xc9\xcf\x68\x67\x4b\xec\x73\x67\x58\x2c\x00\xe6\xff\x45\xba\xb5\x36\xe1\x8a\xc1\x15\x33\xe1\x0d\x73\x6a\x09\x5b\xce\xa9\xdc\xa0\x7f\xa7\xd4\xea\x89\xd2\x34\x4a\x5e\xdc\x34\xe1\x25\x6b\x96\xee\xd3\xff\xd0\x14\x86\x6d\xe9\x02\x2a\x49\x69\x5e\xb4\xd5\x4e\xef\xcd\x31\xa9\x13\xc6\x39\xc9\x9e\xde\x30\x38\x4c\x4d\x53\xd7\x76\xe7\x79\x45\xcc\xc3\x54\xd7\xc7\xfb\xc0\x8a\x0a\x69\x2f\x99\x09\x07\x8c\x94\x1c\x93\x97\x72\x54\xba\x14\x2c\x93\x69\xc2\x67\xa6\x43\xee\xde\x75\x8b\x5c\x84\xc3\x8f\x2b\x9b\x08\x27\xd2\x84\x44\x32\x37\x3a\x85\x83\xb0\xe8\xda\xfe\xcc\xcc\x75\xa9\x6c\xfb\xf8\x0b\x3c\xf5\x8a\xbc\x63\x70\x88\x3b\xa5\x18\x6b\xbe\x5e\xc3\xa7\xf6\x0e\xe8\xa5\x22\x9d\x7b\x8a\x3d\x5a\x22\xe9\xa4\x07\x18\xd5\xb9\x52\x04\xb4\xff\xbc\x54\x02\x55\xba\xde\x45\x21\x27\xbf\x21\x77\x46\x5d\x7c\x60\x40\x91\x01\xc7\xab\x8b\x9c\x1a\xa6\xc8\xea\x72\x15\x2a\xf1\x52\xc0\x47\x06\x2e\xb2\xd9\xd8\x6c\x8f\x61\x69\x76\xf8\xc2\xaa\xd1\x7f\xfb\x4a\xc0\xd8\xe3\x3e\x15\x31\x37\x60\x39\x36\xe1\xf5\x6d\x4b\x9a\x4b\x64\xe8\x7e\x9f\xd4\x73\x4d\xf8\xb5\x90\x94\xc8\xed\x62\xfc\xd0\x41\xd8\x1c\x49\x58\xc0\x78\x74\x15\x51\x99\xd4\x47\x16\xdb\xa2\xf5\xf2\x90\x9d\x23\x0c\xe7\x01\x2d\x6e\xc8\x1d\xad\xf8\x2f\xf8\xce\x1e\x23\xc8\xc7\x98\x90\xca\xdf\xc2\xa2\x07\xb8\x5a\xbc\x19\xb8\x8d\x8c\xea\x8c\xa9\xfa\x61\xf5\xb0\x6d\x61\xad\x24\x24\xa8\x3d\xcd\x50\xa2\xaa\xe5\x14\x52\xcf\x91\x37\x28\xfd\x2c\x70\x86\x72\xcf\x5e\x33\x49\x6d\xac\x95\xde\x8d\xd7\x92\x96\x09\x8b\x2d\x8b\xc9\xe6\x5e\x47\xf2\xbc\xfa\x6a\x9a\x6c\xa9\x36\x15\x3f\xe0\xff\xd4\x74\x11\xc6\xf4\x74\xe9\x41\x31\xdd\xc7\x36\xd5\xca\x81\xca\x54\x35\x97\xfb\x01\xa7\x1b\x38\x24\x53\x13\x64\x92\x9a\xfa\xa6\x89\xa3\xe2\xda\xdb\x1e\x23\x59\x65\x42\xd5\x71\x69\x7d\xdc\xa0\x3e\xee\x13\x7b\xf3\x15\x75\x1a\xca\x77\xd4\x79\x28\x56\x0f\xdf\xae\x1e\x81\xda\xaa\x3f\xad\x83\xd2\x9e\x1a\x13\x53\x3b\x5b\x74\xaf\x68\xf6\x5b\xb3\x99\x3e\x91\xd5\x56\xbf\xd7\x5b\xed\xd6\x3a\xdb\x2d\x9a\x3d\x6b\x36\x2b\x3a\x2b\x5b\xed\x34\x81\x1c\x9d\xe4\x94\xc7\x14\x86\xaf\x29\x1f\xfe\x44\x52\xc7\x3c\x9a\x2d\xb7\xa5\xe4\x99\x9a\x19\x8c\x9d\x19\x89\x12\xfd\x5a\xab\x0a\x2e\x42\x0f\x27\x9c\x6b\xac\xd0\xd9\xda\x5c\xab\x2e\x9f\x6f\xcc\x61\xbc\x2e\xf3\xc3\xdd\xbd\xe3\x0a\xa2\xbc\x43\xcf\x0f\x8b\x1c\xc9\xec\xf9\x9d\xc6\x60\x87\x6a\xf2\x58\xc5\xf6\xf0\x2e\x43\x3c\xba\xdb\xe4\x73\x45\xe7\xb6\x0e\xab\x8e\x26\x09\x84\x77\x9f\x35\xfd\x6c\x87\xdb\x7a\x46\xae\x2e\x5b\x9b\x20\x12\x87\x9c\x04\xce\xb9\x0b\x37\x51\x8d\xcc\x46\xe4\x24\x22\x27\x01\xd9\xa7\xc2\xb7\xa2\x78\x49\x94\x2f\xa4\x09\x7e\xb2\xcd\xf7\xb4\xea\xa4\xa7\x9c\x35\x4f\xa4\x98\x45\x4f\x75\x9c\x6c\x81\x41\x72\x57\x99\x53\xfb\x93\x6e\x00\x4c\xd8\x93\x80\x18\x7b\x85\x0a\x22\x49\xd9\x3c\x10\x3a\x43\x37\x9f\x43\xef\x42\x29\xa5\x7b\x41\x82\xcf\x57\xbe\xe8\x61\x9a\x35\xcb\xc8\xdd\x34\x1b\x41\xb8\xb9\x2f\x91\xb0\x45\x5c\x89\xbd\xcc\x1d\x8a\x62\x06\x4b\xe4\x49\x3f\x8f\x95\x32\x11\xbe\x30\x29\xc6\xee\x69\xb7\x19\xce\xe0\x3a\x50\x37\x2a\xfe\x5f\xca\xa9\xc8\x75\x1e\x39\x8e\x43\x02\x95\x75\x46\xb2\xbe\xb9\x43\x97\xb8\x6f\xfc\xed\x41\x6e\x88\x7a\x60\xdc\x0f\xa4\x5c\x7c\x13\x37\xe7\x14\xac\x4d\x70\xdb\x9d\xca\xe6\xda\x01\x70\x45\x5c\x56\xe4\x5b\xc0\xc9\x8a\xa4\xc5\x9f\xec\x07\xfd\x86\x5a\xa8\x85\xcd\x63\xa0\xa7\xf6\x8c\xac\x8a\xd7\x54\x01\x7e\x77\x66\xe3\xe4\x98\xb0\x79\xbc\xae\xba\xa1\xa3\xf4\xf4\xbc\x32\xfa\x8c\x44\x12\xed\xe3\x97\x69\x27\x24\x5c\xa7\x86\xdb\x55\xe1\xcb\x34\x2a\xf7\x93\x8c\x1d\xaa\xdc\x99\x30\x06\x8a\x5e\x62\x35\x3b\xba\x87\xe5\xec\xd8\x12\xeb\xd9\xd1\x03\xf0\xe4\x9f\x3e\x68\x85\xeb\x38\xe7\x46\xe6\x8c\x24\x4d\xa5\xe0\x8a\xcc\x98\x2e\x5e\x57\xd1\x0c\x66\x26\x72\x24\xa7\x82\x30\xb3\xe0\x4a\x96\x0c\xbc\x8a\xf2\x2f\xd4\xca\x3f\x5c\xd0\x13\x81\x4e\x50\x94\x04\x92\x2f\x35\x6d\xf9\xad\x1b\x0e\x89\x71\x0d\x60\xe3\x26\xc0\x2e\x14\x90\xd2\x08\x41\xd0\x0b\x92\x45\x48\x57\x3d\x3a\x1e\xab\xe4\x41\xbb\xe8\xb4\xba\x15\x54\xa1\x02\xf4\x1a\x6c\xa9\x13\x37\xbd\xc8\x16\x0a\x64\x2b\xde\x79\x39\xb0\xa2\x17\x63\x8a\x80\xda\x2f\xbd\x04\x1f\x6d\x3a\xc3\x2d\x9a\x4e\x82\x1b\x2d\xbe\x55\x5a\x34\x9c\x3b\xe5\x63\x6e\xd1\x6f\x25\x50\xad\x08\x4f\x10\xa8\xd4\x81\x6d\x42\x14\xe2\x95\x71\x5e\x6a\x10\xbc\xb5\x09\x69\xa2\xcd\x83\x34\xa9\x58\x8f\x95\x3d\x4f\x9b\x8e\xdd\x64\x7b\x76\xb5\xfd\x83\x93\x83\xf7\x07\xf5\x04\x6b\x41\xf2\xeb\x96\x2c\x8b\x5e\x76\x18\xb3\xdc\x44\x9e\xfe\x44\x19\xb3\xe2\x5f\xed\x3a\x31\xee\xbf\xde\xc8\xe8\xd2\xb0\x94\xed\xb9\x04\x8d\x65\x72\x80\x71\xf3\x7b\x1b\xf5\x9b\x8a\xcd\x5c\x06\xb9\xa6\x78\xc3\x55\x97\xc7\x1b\xb4\x5c\xc4\x9b\x7b\x38\x09\x94\x6a\x79\x6d\x02\x4b\xb6\xa7\xfe\x48\x3a\x9e\xe7\xf9\xe8\xc2\xce\x3d\x3a\x24\x98\x65\x8b\x5d\x2b\x1e\x3b\x6b\xeb\xa8\xf7\x36\x20\x61\xa2\xf4\xd0\x5e\xb3\xa7\x3c\x73\x40\x96\xa0\xab\x41\x2e\xad\xb0\xcf\x36\x06\x75\x01\x9d\xda\x02\xd8\x0b\x65\x6f\xee\x27\xce\x2e\xf9\xe7\x0e\x3c\x84\xe1\x57\x13\xe6\x49\x87\x26\xa9\x41\x90\x1e\x6e\x02\xff\xd4\x5e\x91\x71\xd2\x1e\xdd\xf2\x52\x80\x97\x60\x8a\xa7\xc4\x5c\x83\xce\xe4\xd5\x1e\x97\xa3\x1c\x6a\xb5\xeb\x32\xb7\xe8\xb1\x09\xec\x3b\xe2\xe2\xa9\x3a\xc0\x33\x12\x27\x90\x82\x80\x24\x31\x6b\xfe\xe9\xb4\xea\xc8\x97\x13\x85\xef\x12\x9f\x11\x57\x11\x15\x7a\x69\x36\x03\x20\xf0\xd9\xf3\x8e\x97\x2b\xe3\x2a\x5a\x37\x23\x81\x1c\xdd\x85\x43\x9f\xa4\x89\xc4\x98\x15\x42\xe5\x57\x09\x95\x21\x69\x54\x49\xe4\x94\x47\x71\xa0\x3c\x8a\xeb\x0d\xb5\xdf\xae\xfa\x58\x15\xaa\xd7\x58\x90\xa0\x74\xdd\x65\x09\xc4\x6d\x31\x0a\x0d\x57\x66\xf4\x4b\xed\x00\xc4\xdc\xf6\xba\xe8\x78\x9e\xe7\xc0\x99\xb4\x9d\xde\x6e\x29\xaf\x20\x77\xea\x93\x16\xc9\xdd\xb1\x69\x03\xa0\xbe\x6d\xb6\x78\x52\x54\x9a\x6f\xf0\x23\xdf\x55\x70\x4c\x65\x6b\x3b\x49\xaa\xa4\x03\xc0\x12\x7b\x19\x10\x5f\x11\x56\x33\x5f\xd9\x69\xa2\xa8\x81\x90\xd4\xc0\xd7\xd4\xc0\x2e\x5f\xe4\xf8\x22\xbe\xd5\x74\x16\x4f\x3b\xe6\xb5\x83\x30\x8b\x4b\x92\xaa\x05\xc9\x77\x6e\xdb\x1b\x25\x50\xd5\x79\x9f\x54\xb9\x1b\x2f\x13\xed\xde\x11\xf3\x60\x12\x44\x34\xdc\x56\x62\xe0\x37\xed\x2b\xb1\x6a\xe7\x35\xf3\x66\x2b\x3b\x02\xfa\x42\xa2\x86\x03\xdb\x07\x76\xa4\xf0\xc3\xac\x0d\x00\xf2\x57\x1e\xcb\x57\x7e\x97\xaf\xac\x54\xeb\xeb\xe4\xd6\xfa\x12\xdc\xa7\xde\xaa\xcd\x8b\x24\xf1\x85\x08\x37\x9c\x45\x72\x3f\x12\x2f\x48\x28\x0b\xff\x54\x65\x89\xdd\x2e\x94\xfb\x83\x46\x36\x07\x5d\x88\x01\x0e\xf2\x95\xa5\x9e\xc7\xfd\x24\xe9\x70\xb3\xd9\x95\xd4\x0d\xf6\x12\x47\x25\xc7\x5d\xf8\xe8\x26\xc2\x03\xb2\xe7\x92\x03\x89\x17\x8a\xcc\xb8\xb9\xb3\xcd\x75\xa2\x13\xe9\xaa\x6e\xca\x04\xba\x13\x97\xcc\x12\x64\xc5\x0e\x93\x5b\xd3\x0b\x09\x5b\x00\x4d\xed\x14\x68\x66\xfb\x40\xcf\x6d\x0a\x2c\xb4\x39\xb0\x97\x6a\xfa\xa7\x49\xe1\xf7\x23\x02\x39\xce\xc7\xd2\x2d\x26\x1a\x07\x13\x03\x96\x49\xee\x45\xe4\xf3\x24\x88\xa3\xe3\x68\x1c\xe7\xae\x40\x93\xf8\x52\xdd\xac\x7c\x35\x4b\x83\xd0\xdb\x47\x17\xa1\xfa\xbd\x0f\x89\xcf\xab\xf7\x38\x8d\xdc\x69\x2d\xc5\x70\x16\x6c\xf4\x95\x55\x7a\x9f\xb8\xe4\x30\xc9\x3d\x69\xf4\x14\xc3\x34\xc1\xa4\x64\x7b\x89\x7c\xbc\x52\x8f\xe1\x5b\x37\x89\xab\xf3\x0f\x39\x1b\xa4\x2a\x46\x62\x06\xb8\xd3\xa4\xce\x44\x70\xc9\x44\x28\x0b\xc3\x45\x07\xea\xcb\xd3\x7b\x1d\x6f\x42\x7e\x35\x8b\xe4\x48\xc7\x9c\x24\x50\x30\xf5\x17\x09\x5c\xd3\x0a\xc2\x60\x2b\xfb\x07\xbb\x41\x24\xa6\xf1\xb1\x09\x27\xad\xe4\x1c\xb9\xe9\x7e\x5c\x13\x1a\x55\x71\xd6\x48\x58\x61\xac\x9c\xd8\x9c\xa8\xac\xc4\x1a\xf0\xe2\xb6\xc5\xfd\x30\xa6\x1e\xb9\xb7\x23\x11\x83\xb9\x86\xab\xae\xd5\xe2\x16\x7b\xab\x72\x03\xbc\x69\x06\x81\x3d\xd1\x38\x6c\x49\xe6\x63\xd8\xc5\xba\x9c\x27\x4a\xdb\x89\x51\x3c\x18\x53\xde\xa0\x8f\x27\x76\x2a\xc5\x92\x67\xb6\x0b\xee\x8d\x9d\x08\x82\x75\x6d\x68\x5d\xb5\xe1\x42\x20\x7b\x4d\x20\x4d\x24\x42\xdb\xd7\xbd\x4a\xd4\x83\xc4\x4e\xd2\xde\x26\xc9\xcb\x3b\xf5\x64\xa7\xe0\xee\xdb\x25\xef\x4e\xa1\xe0\xde\x76\x36\x63\xd7\xdc\x1b\x7b\x2e\xea\xf2\xc9\x35\x25\x9a\x9e\xf9\xeb\x6a\xec\x90\xb2\xbc\x46\x28\x57\xcd\xc8\x24\x01\xcd\xbe\x8d\xd7\x72\x9a\x07\x72\x7a\x98\x6e\xe2\x39\xad\xa6\x9b\x28\xc7\xe9\x0b\x32\x36\xc1\x3d\xb0\x93\x7c\x66\xb3\xca\xcc\x94\x4c\x1b\xb6\x60\x78\xf7\xc6\xce\x04\x09\x0b\x29\x0a\x61\x67\x81\xf9\x48\xae\x94\x44\x7a\x1d\x48\x39\xab\x10\x0e\x55\x60\x57\x6b\x47\xa1\x20\x59\x53\x1c\x9b\x8e\x49\x56\x09\x77\x7a\xda\x5c\xa3\x57\x69\x8d\x58\x3e\x6c\x0f\xa4\x8a\x4a\x36\x79\xe7\x51\xb5\xc9\x49\x42\xaa\xcf\x9e\xb4\xbf\x2e\x2a\x51\x87\x45\xdb\xa7\xf8\x39\x1e\xae\x7b\xdf\x41\x6f\x8c\x90\x11\x2f\x4f\x5e\xe3\x6d\xc6\xaa\xb1\x67\xf6\xb9\x5c\x9a\x67\x98\x0f\xaa\xbf\xae\x33\x70\x8f\xab\x23\x37\xe5\xb2\x19\x39\xd6\x02\x16\xf8\x35\x56\x71\xae\xe0\x5c\x71\x5d\xec\x04\x70\x00\x4c\xf7\x42\x9d\x79\x1b\x9c\xcf\x91\xe2\xd3\x9a\xfe\x77\xaa\xc0\x5a\x75\xe2\xee\xab\x4e\x24\x58\x3f\xa7\x2d\xf1\x5c\x12\x84\x6b\xf1\x5c\x55\x30\xd6\x61\x5c\x08\x86\xba\xbf\x03\xd5\x51\x33\x8e\x4b\x42\x9c\x53\x89\xe4\xaa\x42\xdd\x43\x1d\x9e\x75\x4d\xfc\xa2\xa3\xbd\x7c\x4e\x93\x66\x57\x7b\xf6\xa4\xf6\x61\x3b\xbf\x6d\xb2\x93\xe7\x9b\x4c\xd8\xce\x66\x90\x98\xcb\x1a\x4d\x9e\x6d\xf6\x72\xb5\x4d\x30\x56\x4d\x1e\xd5\xf9\xd6\x9b\xc4\x79\x07\x67\x6d\xd8\x92\xac\xc8\x4d\x82\x58\x1f\x93\x8e\xbd\xf3\x61\x07\x22\xd3\x8e\xcc\xfb\xc6\x03\xba\x08\x1e\x64\x0f\x8d\x35\xbc\x68\xc5\xed\x94\xdb\xf7\x76\xa4\x9c\x1d\x01\xbd\x42\xa7\xa3\xbe\xdd\x5f\xaf\xe1\x7d\x37\x6b\x30\xb3\xe3\x14\x8a\x80\x49\x1e\x6b\xe9\x9d\x3d\x92\x2c\xc3\xb1\xfd\x02\xa5\x1a\x7a\x61\x4b\x5e\x12\xf4\x00\x2a\xbc\x9b\xfd\x6e\xf7\x81\x9e\xe8\x11\x7d\x70\xe7\xd8\xd5\x50\xde\xdd\x41\x17\xcc\x99\x62\xf5\x70\x3e\x6c\x82\xa6\xaf\x3c\x36\xdc\x9d\x49\x3a\x2f\xdb\xb2\xa9\xfc\x47\x05\x33\x17\x81\xe0\xf2\x35\x8c\x36\xcc\x13\xa5\xac\x4d\x38\x4f\x1c\x49\x6e\x78\xbc\x86\xfd\x4e\xe9\x92\x5b\xfd\x51\x84\x86\x04\x13\x8e\x3a\x05\xf3\xdc\xdb\xd9\xe9\x53\xc2\x55\x1e\xdb\xfd\x44\x59\xc4\xfb\xba\x1e\x99\xb1\xe0\xb1\x97\xe2\xab\x06\x7c\x1a\x63\x3c\x2c\x8c\x9d\x78\xc4\x2d\x3a\xb6\xe5\xee\xb0\xb6\xb7\x26\x1b\xe9\x2b\xf3\x37\x93\x96\xa8\xe2\xa0\x22\x5e\xd4\xcf\x75\xd0\xc8\x1e\xdd\xf3\xd9\x7a\x4d\x4c\x08\xd5\xa0\x98\xe0\xb8\x18\xd4\xdb\xb0\x9a\x49\xbe\x4b\x0e\x9a\x39\x67\x09\xc9\x67\xac\xf3\xdd\x49\xb2\x1a\x4e\xe3\x44\xd8\xcf\x86\xcf\x1e\x3d\x30\x2a\xdc\xc3\x55\x02\x13\x5c\x0f\x42\x9d\x1f\x6a\xef\x5d\x47\xe0\xfe\xb9\xa5\x8c\x2a\x81\xe3\x85\xbd\xb3\x86\xd4\xa9\x29\x11\x71\x47\x91\xbb\x97\x32\x84\xdc\x25\xdf\xd9\xd4\x32\x4e\x99\x6e\xa6\x34\x40\x12\xf1\xac\xc8\xfb\x04\x04\x30\x13\xd8\x1b\x3b\x03\xf6\x56\x6e\xde\x18\xd8\x39\x4a\x31\x57\x76\x28\x41\x91\x49\x1a\x9c\x80\xcb\xe4\x4d\xec\xc1\x0d\xed\xb1\x24\x9f\x01\xb8\x7b\x12\xf6\xf6\x6d\x2a\x49\x55\x2a\x19\xf5\xf3\x64\x8d\xfc\xcf\xf7\xc4\x61\x9c\x18\x5e\x90\x19\x26\xbc\x55\x17\xc9\x82\x46\x86\x09\x97\x89\x33\xe6\xf0\x4a\x32\xf3\xdf\x13\x40\x6b\xdd\x8a\xbc\xd5\xbf\x2e\x13\x62\x9c\xc4\xd4\x0b\xa2\x89\x65\x59\x86\xf9\x55\x79\xdd\xbf\x69\x65\x6d\xde\x93\xc8\x12\xf1\x87\xc5\xc2\xe7\x7b\x34\xf1\xd1\x1d\xf2\x65\xd2\x62\x79\xf5\xb1\xee\x47\xd3\x41\x25\xaa\x95\xd9\x13\xd5\xc4\x4f\x99\x0f\x6f\x12\x74\xc7\xc2\x4c\xf7\x1f\x3a\xa1\x7e\x45\x16\x1c\x22\x58\xe6\xc1\x63\x9f\x13\xe7\x43\x42\x0c\x37\xa4\x49\x72\x2a\xb9\x71\x13\xde\x75\x30\x66\xdf\x13\xf9\xc9\x9f\x13\xa2\x72\xad\xf5\xf0\xdf\xc1\x92\xf2\x48\x4a\x2a\xe8\xc8\x88\x2b\xf2\x12\xd5\x31\x18\x0f\xf9\xf1\x57\xf4\x51\x4a\x19\x95\x93\x81\xba\x30\xfd\x2a\xd9\x84\xf2\x77\x49\xa1\x81\xfa\xa4\x36\x8c\xa5\x42\xc4\x72\xcb\xbe\xa8\xeb\x30\x30\x4c\x78\x9d\x38\x53\x0e\x51\xe8\xcc\x39\xf0\xb0\x7b\x55\xa2\x50\x15\x93\xc3\x8a\xe6\x48\x5a\x45\xd8\xbe\x0c\x3c\x94\xdc\x79\xe0\xce\x0c\xc9\x98\xab\xe2\x02\xe1\x76\xbf\x9e\x2f\xc5\xca\x45\x34\x1b\x04\xc2\x9f\xe7\xcb\xa5\x13\xe7\x20\x44\x55\x9a\x84\x41\x34\xeb\xe9\x50\x02\xd9\xd2\x37\xed\x15\xf9\x94\x28\xe0\x7b\x9d\x80\xc1\xa8\x3b\x93\x08\x24\xf2\x0c\x30\x04\xa7\x51\xb2\xa0\xdc\x8f\x84\x81\x55\x54\x12\x30\xc6\x71\x24\x0c\x2c\x0d\xe8\xf3\xa0\xbc\xed\xa6\x3c\x91\xe7\xde\x58\xc4\x41\x84\x29\xba\xf5\x83\x38\x95\x02\xa7\x6f\x80\x11\xc5\x91\x84\x82\xea\x54\x0c\xb9\x1a\x2a\xdc\x07\x27\xa3\x5c\x20\xd2\xb6\x05\xca\xab\xc2\x63\x52\xe0\x8e\x06\xbf\xe5\xce\xee\x1d\xcf\x9f\xe6\x49\x81\xbb\xf6\x6b\x33\xa6\x2e\x6e\xdd\xaa\x4f\x01\xa1\x31\x59\x91\x20\xc4\x02\xd6\x2a\x24\x00\x3e\x15\xa1\x00\x6b\xf4\xb6\x1b\x87\x08\x2c\xd4\x30\x81\xa9\x9f\x12\x6c\x92\x10\x8f\x85\x08\x44\x28\x17\x23\x0c\xdb\x1d\x24\xa0\x16\x31\x5b\x3d\x22\x4c\x44\x03\xc4\xf0\xbd\x39\x1f\x3c\xec\xcd\xd9\xe0\x61\xbe\xe7\xd5\xcd\x66\x22\xea\xc9\xa6\xc9\xbc\xc7\x62\xee\xf9\x7c\xc0\x83\xc9\x54\x0c\x86\x3d\xe1\x5f\x8b\xc1\x3c\x15\xbe\x57\xec\x51\x9a\xf8\x7c\x90\xf8\xa1\xef\xaa\xad\x0d\x44\x40\xc3\xe2\xe9\x60\x1e\xdf\x0c\x6e\x69\xb2\xf4\xd9\x2c\x10\xb7\xb4\xd2\x13\x71\xe3\x10\x21\xe5\x6f\xae\xeb\x56\x4e\x37\xbf\xff\x0f\xc7\xf8\xc7\x7d\x81\xe9\xf0\x55\x88\xd1\xa7\xd6\xcf\x99\x0c\xc6\xd4\xf3\x3d\xbc\xd6\xd0\x35\x48\x7c\x37\x8e\x3c\xca\x57\x0a\xa2\xe2\x90\xa8\x24\x7f\x92\xec\x85\xc4\x38\xc4\x9c\xa4\x3d\xb6\xea\x89\x69\x90\xf4\xb0\xf0\x4d\x65\x68\xe3\x7e\x8e\x61\xd7\x90\xb5\x6d\x79\x55\x3f\x14\xf9\xcb\x91\xca\x71\xea\x18\xf7\x8f\x02\x92\xc4\x5a\x49\xdc\x71\xac\x3f\x24\x60\x4c\xb9\x3f\x36\xe0\xc1\xff\xfb\x8d\x66\x34\x71\x79\xb0\x10\xf6\x83\x40\x55\x89\x24\xdc\x89\x4c\x8b\xfb\x8b\x90\xba\x3e\x79\xf0\xaf\xe4\xc1\x04\x0c\xc3\x34\x47\x86\x61\x73\x33\x2f\xe4\xd8\x6f\x83\x93\x0b\x41\x22\xd4\x63\xa7\x9b\xb5\x53\x57\x64\x1c\x6e\x2e\x5d\xbe\x54\x41\x34\x8e\x73\x98\x18\x1a\x26\x78\x21\x21\xe8\x8d\xf3\x05\xb2\xb0\xe9\x35\x55\xb0\xf9\xae\x8f\xdc\xee\x50\x67\x51\x3f\x10\x04\x13\xe6\x17\xb0\xc7\x8a\x11\xc7\xb4\x37\xa6\x03\xe6\x87\xe1\x20\x09\x69\x32\x1d\xc4\x08\xab\xb8\xe0\x7d\x49\xf8\x88\xa1\x6d\x4d\xb8\xec\x45\x22\x3a\x5e\x75\xcd\xea\xfe\x00\x8f\x46\x13\xb9\x99\xb5\x4f\xa8\x6b\xf0\xfc\x3b\xcc\xaa\x6b\x4e\x9e\xa1\x00\x61\x1e\x2a\xff\xab\x6e\x7a\x17\xe7\x51\x86\x9d\x4d\x4e\xf2\x26\x64\x97\xfc\xb3\x4c\xf7\x5b\x26\xf5\xc5\x8a\x5f\xd3\x26\x3a\xaa\x65\xd3\xbc\x17\x55\xe2\xf3\x9f\x6f\x04\xa2\xc8\x9d\x9f\x87\x72\x2f\x8a\x84\x9b\x05\x81\xa7\x92\x16\x2a\x9d\x03\x47\xeb\xa6\x0a\x57\x51\x85\xd7\x31\xf1\xd0\x71\x4a\xd0\xbd\x6d\x26\xe0\x22\x25\x29\x86\xaa\x28\x51\xa7\x4c\xc9\x79\xc7\x97\xf1\x55\x5e\x7f\xb5\xd1\x98\xab\xf4\x77\xbd\xf6\xa9\x36\x46\xb8\x48\x09\xd1\xc3\xab\xea\x28\x42\xc9\x51\x77\x98\x9c\x9a\xd1\xfd\xca\x98\xf5\x87\xea\xc1\xda\x84\x45\xeb\xb9\xdd\x25\x79\xc8\x90\x95\x2c\xc2\x40\xc8\x93\x79\xff\xc1\x44\x02\xc6\x44\xa3\x70\xca\x27\xbe\x24\x80\xcb\x8e\x83\xbf\x71\x90\xea\xee\x48\x97\x4a\xbc\x6f\x4b\x7f\xab\x20\xdf\x0b\x25\x1b\x3c\x09\x89\x71\xc5\x42\x2a\x49\x65\x89\x29\x15\x80\x62\x6e\xa8\x69\x08\x8b\x10\xad\x3e\x48\x74\x56\x8a\xd2\x08\x89\xdb\x67\xfa\xf7\xd4\x30\xe1\x5a\xff\x96\x74\x79\xf7\x8e\x34\xe7\x3a\xcc\xb9\xd2\x59\x71\x88\x90\x78\x44\xf1\x92\xd3\x45\x0d\x75\x1b\xb6\xa1\x71\xf6\xaa\x68\xbb\x1c\xec\x0c\x87\xd8\x6a\x89\xf0\x89\x93\x3e\xe8\x64\x95\x24\xc7\x72\x2a\x24\xef\xf5\xca\x94\x8c\x8b\x42\xfe\x22\xc4\x0a\x6e\xb7\x22\xb2\x2a\x53\xd3\x7a\xf0\xe7\x41\x94\x26\x8d\x33\x8f\x8a\x59\x39\x33\xbb\x8d\xda\x74\xa1\x4c\x11\x92\x62\xa6\x5d\xe3\x2d\xc2\x6d\xc3\xad\x4d\xd8\xeb\x00\x9b\x5f\xc2\xdc\x51\xe7\xf8\xf8\x86\x3b\xa5\x5c\x34\x11\x5d\x9c\x72\x8d\x7b\xd7\x70\xd8\x3a\x8d\xe8\x8f\x9d\xe1\xc8\x18\xea\x6a\xad\x36\xfe\xbb\x86\xd3\xd6\xb6\x87\x92\x6a\xa8\xe8\x72\x49\xcb\x54\x20\x39\xde\x54\xb1\xe5\xbc\x7a\xeb\xa4\xbc\x05\xaa\x18\xec\x66\xf0\xfe\x61\x48\xfe\xef\x0a\xdc\xc7\x75\xa9\x04\xed\xf7\xc8\x87\xf7\x7b\xa6\x91\x93\xfe\x6f\x1d\x70\xf2\xb6\x22\x35\x05\x93\x48\xb2\x5d\xe3\x81\xeb\x4b\xe6\xbb\xdc\x71\x75\x3e\x4f\x43\xc9\x28\x2c\xf5\x11\xbc\x68\x1e\xc1\x0a\xb1\x19\x3c\xec\x92\x0d\xbd\xe7\x91\xb3\x22\x17\xa1\x0a\x90\xb0\x7c\x33\xcf\xc0\x7e\xdc\x31\xc3\x8b\x50\x72\x0b\xe6\x1a\x4e\x6a\x23\xa6\x50\x60\x9d\x3b\xe6\xd7\x4d\x49\x64\x8e\xce\x88\x2e\xd7\x84\xe5\xd9\xed\x33\x22\x40\xdf\xf0\xab\x39\xb8\x31\x34\x86\xc3\x19\xe9\x4b\x70\x47\xf2\x7c\x15\x3a\x21\x87\x1b\x8d\x02\x29\x43\xce\xfb\x2c\xdc\xa6\x99\x71\x8e\x08\xf1\x9d\x15\x39\x09\x95\xee\xf8\x86\x42\xe4\x93\x4a\x2e\x70\xb3\x9a\x6d\xb2\x93\xfe\x5f\x15\xf4\x3f\x32\x31\xe5\xa4\xe4\x9a\x2c\xfa\x45\xf2\x4d\xf2\x23\x2d\x56\xd1\x7d\x7c\xa9\x88\x61\x8b\x38\x09\x94\xde\x07\x2d\x2e\x81\xab\x05\x27\xb5\xd5\x52\xd0\x4b\x06\x18\x4c\xdd\x0b\x83\x44\x28\x81\x00\x6f\x97\x08\x71\x31\x18\x4a\xe9\xe0\x71\x89\x12\x4b\x21\x02\x51\x33\xca\x0e\x3d\x6f\x30\x0e\xfd\xeb\x5e\xa3\xe3\xfc\xb5\x6f\x12\x77\xc3\xf0\x8f\xe3\x50\xce\xfc\xbb\xc4\xcc\x57\x61\x1b\x87\xf8\x29\x20\x65\xcd\xf4\x35\xac\xc8\x41\x88\x8b\x6a\xda\x12\xe7\x18\x26\x10\x4c\x83\xf8\x16\x52\xab\x3f\x52\xb7\xec\xbd\x10\x23\xb4\x4c\xe8\xe3\x28\xdd\x2c\x2e\xfd\xb8\xc9\xe2\xaa\x1e\xee\xc2\x2f\xd6\xe9\x04\x52\xb0\x40\xe3\xe1\x76\xd4\xe9\xaf\xfc\x0e\x16\xf1\xb8\xa8\x08\x84\x47\x89\x08\x24\x7a\x87\x84\x4b\xca\x25\x72\xca\x75\x53\x92\x4b\x09\x6c\xbd\x62\xb5\x77\xb0\x2f\xe4\x0c\x76\x43\x0d\x0b\xdf\xcd\x72\x85\xb4\x26\x08\x1b\x84\xa1\xe4\xc3\x14\xa9\x78\xd1\x3c\xb1\x9a\x0b\x1c\x19\x39\x69\xc3\xb2\x6c\x48\x75\x8c\x72\x51\x0a\x1a\xca\xef\x42\x42\xe7\x7c\xb0\xa3\xa7\xa9\x25\xb6\x39\xe5\x93\x20\x1a\x84\xfe\x58\xca\x73\x83\x47\xbc\x54\x30\x6c\x2c\x9b\xe4\xb4\x70\x9d\xd4\x8c\xdf\xab\xc3\x96\x4a\xe1\xef\x3c\xdc\x1a\x39\x25\x2c\x36\xea\x8e\xd5\xb8\xa3\x20\xbc\x53\x2e\x6f\x8b\x20\xfc\xdf\x23\xf2\x3e\x61\xee\xd0\xf3\x7f\x55\xea\xad\x6e\xd7\x9f\x16\x70\x85\x69\x77\xe9\x0a\x72\x21\xba\xb9\xa2\xb2\x8f\xd3\x58\xf4\x70\xc1\x35\xf8\x7f\x35\xc1\x75\xd2\x9f\x3f\x31\x25\x9d\x00\x6e\x62\xa8\xd8\x36\xe4\xf0\xac\x44\x0e\x2f\x42\x70\x31\x73\x21\x66\x00\xf7\x4d\x18\x3b\x52\x10\x88\x47\xc2\x25\xb1\x24\x82\x88\x6a\x0d\xbb\x76\x99\x18\x80\x81\xce\xd5\xc9\xcf\x43\x35\xd5\x61\xb1\xe6\xcb\x69\x20\xfc\x41\xb2\xa0\xae\xd2\x3a\x6d\x30\xab\x63\x35\xf7\x1a\x48\xf5\x37\x11\xe4\x9c\x0d\x1e\xe9\xc3\x3a\x13\x10\xc0\x11\xa1\x80\x81\x41\xee\x68\x45\xde\x17\x80\x5f\x22\x5f\x3d\x85\xfc\x78\xaf\xc8\x59\x08\x02\x22\x49\xaa\xf2\xe3\xad\x4e\xc6\x7e\x27\x03\xbc\x24\xaf\x53\xc0\xd0\x48\x70\x53\x70\x53\x4c\x7b\x54\x53\x00\x2a\x4f\x85\x5c\x96\x60\xf9\xdf\x52\x3a\xac\x7e\xc2\x22\x1c\x3c\x29\x27\xd4\x7a\xb8\x16\x65\xdd\x9f\xf3\x10\x4f\xe5\x01\x66\x72\xfc\x62\x02\x87\x54\x65\xa8\x7f\x5e\x49\xf6\xb7\x00\xea\xa8\x16\xb2\xcd\xc6\xcb\x2b\xb2\x1f\x02\x85\xa1\x09\x54\xbd\x5d\xea\x53\x8d\xd3\x58\x6d\xa0\x82\x9f\xa4\x37\x46\x05\x23\x2a\xc8\xb5\x6a\x2c\x5a\xa4\x52\x96\x7a\xab\x2e\x35\xfc\xc2\xe5\x16\xc5\x2a\xaa\x9b\xe3\x58\xab\x9b\x5f\x85\xce\x65\x48\x0c\x77\xea\xbb\x33\x3c\xe6\x6f\xb4\x94\xb6\x5a\x48\x6a\xff\x32\x2c\x3d\x39\xb5\xe0\x06\x45\xe3\xaf\x26\xda\x48\x3e\x6c\xd3\xcb\x4e\x69\x34\xc1\x04\x2e\xaf\x5d\x88\xe0\x65\x28\x4f\xd2\xe7\x36\x16\xe2\x0e\xba\xd9\x15\x79\x5b\x40\xd0\x5c\x48\xf0\x95\x30\xac\x2a\xbf\x0d\xa4\x6c\xcb\xe3\xb0\xb8\x94\x73\x64\xf1\x75\x85\x8a\xe3\xbb\x6f\xf2\x8f\xc5\x67\x88\xdc\xeb\x1d\x0c\xf2\x25\x7d\x15\x16\x75\xeb\xb8\x29\xbf\x52\x95\xd1\x14\xf0\x29\x30\x35\x69\xab\x9e\xa7\x46\x2f\x5e\xe0\xa2\x49\xe7\xf6\xb6\x9e\xaf\x74\x5b\x92\x6f\x29\xcf\x5b\xa4\x31\x8f\x02\xff\x77\xad\xaa\x59\xfa\xd9\x7e\x88\x4e\x64\x9f\xd0\x47\x08\x3d\x74\x8b\xac\x2a\x1f\x43\xa7\x51\xea\xfd\x30\xad\x06\xe5\xcd\xd3\x32\x6c\xee\x53\x58\x84\xcd\x7d\x0c\x55\xe1\xe2\x2f\xf2\x56\xe2\x82\x31\xf3\x57\x7b\xb1\xe7\x1b\x80\xb9\x4d\x4c\x78\xbd\x65\xc7\x67\xfe\xca\x8b\x97\x51\xb1\xe5\x5f\x70\xcb\xa3\x6c\xeb\x1b\xe9\x62\xa3\x3d\xcf\x9c\x15\x79\x2b\x8a\x1a\x96\x87\xbe\x09\x52\x9e\x15\xd9\x1d\xf3\x48\xf9\x6d\x03\x56\x9c\x5c\xd3\x8e\xe7\xb9\xef\x21\xcd\x9c\x7f\xf8\x51\xe6\x54\x6d\x89\xff\x00\x37\x73\x7e\x87\x20\x73\x76\x1e\x41\xdc\xf1\x45\x25\x22\x71\x25\x34\xc6\xe1\x80\xa6\x22\x6e\x63\x26\xb7\x6a\xa4\xef\x42\xcc\x56\x44\x64\x70\x4f\x8a\x0a\x25\xd4\xbc\x0a\xb4\xad\x67\x2b\x41\x54\xaa\xc0\x6a\x2f\x3b\xb5\x5e\x8c\xff\xf5\xff\x1b\x15\xf0\x83\x71\xeb\xc7\xde\x41\xed\xf9\x18\x8a\x74\x3f\x2a\xa8\x46\x65\xfe\x64\x99\xb2\xe8\xcd\x69\x28\xd1\x55\x92\x21\x12\x2a\x1c\xe9\x4c\x08\x33\xc4\x42\x81\xfc\x9d\xa9\xdf\x2a\xb1\x94\x09\x5e\xeb\x5c\xce\x48\x04\xf7\x86\xe6\x1a\xfa\x5d\x10\x52\xb1\x29\xed\x14\x36\xa5\x79\xd6\x82\xdf\xd4\x48\xda\x63\x7d\xda\xb1\xcf\xfd\x0c\x34\xf6\x55\x90\xeb\x65\x39\x04\xcf\x33\x54\x29\x2d\xb2\x76\x75\x51\x5f\xc5\x70\x5e\xa9\xf4\x07\x1c\x52\xe7\x13\x32\xf1\xd4\x11\x1a\xe3\x84\xb1\xca\x1c\x16\x84\x98\xbb\x08\x4b\x20\xb9\x0e\xcf\x08\xb2\x0a\x87\x24\xc5\xa3\x10\xab\xfc\xd3\xef\x42\xc9\x41\x8c\x95\xbb\x8a\x18\x19\x86\x2d\xe5\x04\x63\x4a\x93\x7c\x97\x6d\xbc\x48\x52\xd7\xf5\x93\x2a\x93\x5b\x42\x22\x8f\x97\xbd\x28\x1e\x4c\x52\x21\x7c\x9e\x74\xc8\x34\x47\x6a\xb3\xe3\x4c\x8e\xb7\x01\xca\x12\xd4\x8d\xfb\xe3\x82\xfd\x0d\xa2\xc1\x32\xf0\xc4\xd4\x00\xe3\xe1\x70\xb8\xb8\x6e\x03\x7f\x5c\x3c\x75\x00\x36\x91\x74\x98\xb5\x97\x43\x43\x74\x3d\x8e\x79\x81\x3a\x11\x3a\xe4\xe2\xbd\xae\x2b\x3f\x74\x79\x8d\x20\xab\xc4\xcd\xb7\x2e\x6c\x5e\x88\xc3\xcd\xcc\xb2\x5e\x87\xc8\x77\xeb\x8c\xf8\xe0\x56\xa2\x1d\xe9\xcf\x9f\xdc\x62\x56\x7f\x14\xc6\x76\x7e\xf8\xe4\x0d\x5a\x10\x6d\x3f\x93\x3d\x17\x21\xda\xf1\xda\x84\x28\x6b\x0b\x6a\xd6\x83\x8e\xe4\x0b\x3b\xa6\x8d\x2d\xa7\x19\x49\xb3\x16\x72\x51\x59\xa9\x01\x13\xd1\x36\x24\xb1\xe0\xc1\x5c\x59\x73\x92\x8c\x04\x26\xd0\x16\x56\x16\x7e\x51\x57\x36\xce\x48\xfc\x17\x98\x2b\xd4\xc8\x2c\x2b\x5e\x97\xfb\x28\x25\x8c\x9a\x98\x51\xce\x77\x0f\x89\x64\x4f\x6f\x3e\xf4\x7c\x6b\x62\x19\xed\x68\x0d\xad\xb3\xda\xcc\xa5\x80\x97\xd1\xc4\x47\xf3\x29\xa2\xb8\x34\x23\x34\xab\xa0\x37\x9a\x95\xc8\x0d\x93\x24\xc3\x24\xdb\xc6\x92\x94\x6c\xc7\xf8\x69\xcf\x0b\x58\x6f\xce\x1e\xf6\xe6\xbc\x55\x09\xa0\x34\x49\xb7\xb0\x1d\xaf\x50\xb2\xfc\x10\x12\xd1\xb2\xdd\x8b\xb0\xa6\x84\x32\xd0\x51\xb8\x60\x04\x96\x1d\x84\x2b\xb7\xe1\xae\x3a\x9e\xe7\xc9\x9e\x67\x5b\x28\x68\xcd\x86\x7b\xdd\x6c\xa8\x84\xe7\x5c\xe1\x6c\x9a\xa3\x22\xbb\x9e\xd1\x10\x9e\xe5\x97\x78\x3c\x5e\x48\x66\x40\x69\x58\xd0\xa8\x80\x38\x6e\xa6\x4e\x8e\xb9\xa9\x9a\x37\x61\x77\x0b\x9f\x30\x8f\xd3\xc4\x57\xab\x5b\x18\xfa\x0f\x6e\x6b\x1f\xfa\x34\xf3\xcb\xf6\x7b\x1d\xab\x93\x5b\xb8\x0f\x25\x81\x3f\xcd\x9c\xc7\x43\xf8\x86\x64\xfe\x22\x73\x1e\xfd\x0e\xc7\xcd\xb5\x68\xaf\xbf\x58\x16\xc7\xe4\x79\x51\x23\x2c\x31\x55\xe0\xa1\x0b\x41\x84\x59\x2d\xc3\x78\x72\x57\x8e\xe6\xaa\x63\xea\x79\x58\xcf\xcd\x2d\x1c\xcd\xd9\x2d\x1c\xd1\x8b\x2d\x4b\xc9\xc2\xb4\xb2\xe8\xef\xb3\x46\x79\x64\x55\xaf\x04\x29\xda\x91\xca\x4a\x30\xc4\xac\x04\x74\x07\x5d\x6a\xd9\xef\x2a\xc2\x90\x23\xd5\x3a\x13\xc0\x33\x55\x9c\xea\xfd\x16\x25\xe0\x71\x96\x2b\x01\x2f\x05\xd6\xe9\xa0\xe8\xc6\x25\x46\xef\x25\xf6\x55\x30\xe4\x9b\xe8\xcb\x75\x26\xe0\x42\xfc\x4a\x8f\xa9\xb2\xd6\xb5\xd0\xc2\x5b\xc8\xd2\x66\x1d\xa3\x0e\x92\xe4\x77\x91\xa4\xd3\x92\x24\x9d\x65\x84\x15\x04\xe8\xa2\x76\x3f\x2e\xee\x7f\x2b\xef\x8b\x11\x7e\xe8\x7b\x4d\xc4\x66\x48\x6a\xe4\x67\x54\x56\x23\x7f\xed\xb0\x4a\xcf\xfc\x92\x9e\xf1\x8c\xb8\x66\xa5\xea\x02\x57\x69\xae\xb8\xc5\xd4\xaa\x9e\x68\x9a\x46\x2b\x34\xed\xa6\x46\xd3\xde\x6f\xa7\x69\x87\x99\x39\xba\x51\x34\xed\xbd\xa6\x69\x7b\x99\x09\x84\x3b\x57\x6a\xbe\x0a\xa0\x54\xcd\x55\x09\x51\x58\x1f\xed\x45\x46\xae\xf0\xa5\xbf\x90\xfa\x29\x64\x33\x6e\x53\xe6\x28\x5c\x73\xfe\xdf\xc0\xc1\x9f\x34\x38\xf8\xe8\x17\xb9\xf7\x93\x5b\xb9\xf7\xfd\x0e\x4c\x5e\xa6\x8e\x55\xe7\x36\x56\x27\x75\xec\xdc\x43\xd5\x54\x00\x91\xe5\xce\xb1\xe6\xf3\x55\x0c\x01\xc4\xf2\xac\x1d\xf9\x24\x40\x1f\x8b\xf1\x16\x1e\x13\xb4\x73\xde\xa6\x52\x08\x63\xd4\x26\x19\x18\x07\x11\x2a\x78\x95\x1c\xac\x94\x1b\x58\xb5\x9d\xc3\x32\xab\xc6\x56\xf2\x51\xa9\x66\x4a\xe0\xdf\x65\x59\xcf\x33\x39\xf7\x56\x96\x95\xdd\x81\x65\x7d\x9f\xc1\x18\x22\x13\x88\xeb\xc8\xa3\x77\x15\x43\xc5\x9e\x01\xae\x39\xfa\x15\xae\xe6\x84\x32\x3f\xec\xcd\xfc\x55\x6f\x1c\xf3\xe2\xcb\x73\x35\x9d\xb6\xa8\xfe\x45\xdd\xfd\x29\x9e\x69\x2f\xab\x9b\x6d\xca\x31\x2b\x77\x35\xff\xa4\xd2\x53\x63\xe9\x83\x1d\xac\x7d\x80\xd8\xff\x9e\xb0\xe8\xc9\xdf\xff\x7e\x4f\x58\x6c\xf6\xf3\xe7\x79\x4c\x52\x04\x1c\x23\x99\xc6\x4b\xa3\xb6\x99\xf2\x7c\xb9\xf1\x7c\x11\xfa\xc2\x1f\xcc\xfd\x28\xed\x19\xf7\xa9\x64\x06\xc8\x0a\x91\x86\x09\x07\xea\xe7\x8e\xd9\x72\x0a\x0b\x2e\x43\xbe\x59\x6a\xee\xae\x11\x0b\xa7\x6a\x86\x5f\x8b\x3f\x18\x12\x71\x94\x39\x92\xe8\xaf\xe1\xfb\x2d\x44\xf3\xed\x2d\xdc\xd4\xe5\x2d\x44\xf9\x55\xc7\xf3\x3c\x84\xf1\xcd\x1d\x98\xac\x56\x66\xaa\x34\xdb\xdb\x6d\xcf\xb7\xf9\x17\x8a\x90\x7c\xcf\x08\xb7\xdc\x65\x43\x9f\x2b\x72\x76\xcc\xa2\x8f\x35\x96\x7c\x99\xe9\x8c\xb6\x1f\x3a\xb1\x88\x22\xc0\x91\x24\xc1\xb7\xd5\x32\x79\xbc\x86\x53\x71\x4b\xc1\xb9\xc8\x72\x97\xeb\x42\xf3\x13\xf9\x3a\xa9\xb9\x69\x9a\x0d\xa3\x5f\x55\x4b\xd8\x9b\xe7\x88\x5a\x82\xe3\x0e\xac\xc8\x84\x83\x21\x28\x3b\x8e\x3c\xff\x1a\x53\xe2\x0b\x55\x99\x70\xc3\x50\xc8\xfd\x90\xaa\xc5\xec\x70\xbd\xac\x83\x9c\x08\xc9\xcb\x4c\xd1\x7d\xa5\x84\xe4\x83\xc7\x5b\x96\xbb\x3c\x37\xe7\xba\x1a\x9a\xdd\x33\xee\xab\x84\x07\xe8\x66\xee\x57\x48\xd2\xe7\x4e\xe5\x05\xb7\x18\x47\x3a\x3d\x1b\x91\xd4\x21\x02\x93\x99\x1f\x01\x9a\x81\x16\xe0\x16\x5c\x15\x1e\xc2\xe1\x2f\xb1\x56\xbe\x66\xad\x82\x82\x91\xf2\xef\xfe\xbe\xaf\xde\xdd\xb6\x21\xb8\x42\xbd\xe6\x19\x47\x3c\x80\xa7\xfc\x6d\x79\xca\xdf\xaa\x53\xfe\x67\x76\xa9\xe0\xd5\x36\xcb\xcf\x49\xc6\x2c\x45\x66\xe3\x28\x43\xce\xe4\x55\xd6\x60\xd3\xaa\x4e\x35\x99\x39\xba\x94\x52\xb4\xad\x19\x34\x79\xe5\xaa\xab\x6f\x99\x39\xfa\x9e\x29\x75\x4d\x0a\x5d\xf9\x7b\x15\x24\x63\xdc\x5d\x3c\x5e\x6b\x98\xa9\x82\x8b\xce\x29\x61\x48\x0e\x3b\x76\x67\xa5\x29\x46\x53\xa2\x9d\xe1\xf0\xff\x29\x15\xc8\x1d\x28\xaf\x57\xbb\x52\xfe\xaa\x25\x1a\x7c\x93\x11\xf4\x41\x47\xfc\x67\xaf\xc8\x87\x0c\x22\xe0\x16\x9b\x16\xfe\x83\x39\x13\xb0\x36\xe1\xdd\x16\x4e\x41\xf2\x08\xb1\x62\xea\x2f\x54\x9c\xdc\x31\x32\x0e\x6c\xa2\x18\x87\x17\x80\x11\x6b\x21\x30\xf9\x67\x86\x69\x6b\xd8\xa3\xed\xe6\x22\x97\x72\xaf\x57\x65\x0f\x36\x1f\x0e\xa6\x3e\xf5\xaa\xe2\x74\x69\x43\x8a\x68\xd6\x93\xa0\x26\x28\x4b\x7a\x95\xb6\x78\x23\x7f\xe1\x9a\xf8\x21\x0c\x41\x47\xb2\xa5\x21\xd6\x94\xd2\xe7\x51\xd9\xfe\x94\xff\x15\xb6\xdb\x69\xb6\x23\xe8\x5d\xe9\xc2\x65\x42\xfc\x91\xf1\x12\x79\x3d\xa2\xd8\x16\xd3\xb0\xd5\x0d\x23\xd7\x6d\x5c\x85\xb5\xd2\x55\x2b\xf2\x39\x93\x2b\x3d\x86\x00\xa3\x48\x3f\x87\x50\xfa\x4a\x02\xb7\xde\x82\x1b\xe6\xf7\x4b\x03\x39\x70\xeb\x0c\x68\x58\x6a\x4c\x36\x16\x44\x03\x8a\xfa\xbc\x78\x54\x8e\xea\xe6\xa3\xee\x67\x80\x01\xfb\x2e\xee\x77\xfe\x58\xd7\xfb\x5a\x48\x10\xae\x75\xde\xbf\x8d\x5d\x2d\xcd\x9b\x0d\x8b\xf7\x23\x45\x4e\x3e\x05\x84\x08\xe7\x1e\x86\x29\xee\x48\xd2\x26\xd6\xb9\x83\x6b\x32\xda\xe6\x53\xf6\xa8\xaa\x2c\xda\x8b\xc3\x90\x2e\x12\xbf\x47\xc3\x50\x1b\xbc\x0c\xf3\xab\xbd\xc5\x47\xac\xf6\xba\x8a\xdc\xa9\xbf\x9c\x7f\xe6\xc7\x04\x66\xe4\x28\x04\xcc\x57\x22\x99\x02\x85\x6e\x3f\x2a\x35\xf4\x74\xc7\x30\xe1\x53\x56\x0b\x28\xf9\x98\x95\x01\x25\x51\x2c\x72\xcb\x9b\xee\xf1\x8b\xd6\x5f\x0b\x1e\x47\x13\xc3\x84\xd7\xd9\x2d\x09\x41\xa9\x75\x95\xc7\xb5\xba\xcd\xe2\x86\xb5\xa3\xad\x54\x4a\xf2\x9f\x81\x1b\x87\xe9\x5c\x25\x2b\xd4\x72\x46\x85\xcb\xce\x5d\x07\x72\xc3\x98\x9e\xf8\x97\x72\xe2\xbc\x5c\x80\x48\xde\xca\x32\x42\x31\x97\xd9\x14\x59\xa3\x17\x88\x0d\x37\xe5\xd7\x5e\xf5\xa2\xe0\xe8\x0b\x1f\x85\x8d\xcc\x24\x77\x9f\xf9\x7f\x66\xb6\x95\x89\x55\x33\x68\x05\x8e\x5b\xf5\x0c\xfd\x95\xd5\xd5\x5e\xd2\xff\x13\x8b\x9b\xcb\x71\x4d\xfc\x5e\x6b\x36\xf6\x7d\x8f\x51\xb7\xea\xc9\x1a\xe4\x2c\x83\x94\xc5\xbd\x6e\xd5\xe5\x31\x6a\x67\xfe\x18\x8e\x22\x7b\xf8\xc7\x31\x96\x29\x1a\x71\xac\x52\xc4\xbd\x2e\xef\xdd\xdc\x6d\x97\xff\x2b\xfa\xf9\x2f\xfe\xf3\x5f\x91\xf2\xde\x15\x9e\x72\x03\xf3\xaf\x05\xe5\x3e\x35\x4c\xf0\x5b\xbb\x50\x6c\x17\x8f\x97\x09\xb2\x5c\xa8\x30\x4a\xbd\xad\x9e\x2c\x33\x12\x79\xf0\x08\x76\x9e\xc0\x47\x4a\xb8\xa7\x12\x31\xa3\xcd\x23\xfd\x8f\x1c\x1b\xbe\x7d\x67\xa3\x72\x67\x85\xa7\xb7\x36\xcd\xb7\x56\xe0\xd6\xfa\x77\x3e\x37\xe0\x7b\x84\xfe\x15\xa7\xe7\x3f\x32\xe9\xc6\xfc\xfe\xea\x43\xf4\x3f\xb0\xd4\x85\x36\xa4\xfc\x92\x7f\xfb\x2c\xd1\x36\x90\xae\x54\xe5\x70\x3b\x9e\x17\x01\x52\x1d\xcf\xf3\x00\xac\xd8\x93\xc2\xd4\xb3\x35\x8c\x3d\x5d\xa6\x9a\x79\x6d\xf9\xbe\x77\xd0\xa8\x5f\x09\x4b\x69\x0f\x50\xaa\x46\xf4\xd4\x9c\x90\x72\x5d\x54\xab\xd3\x96\x3c\xc2\xdb\x3c\xb6\xea\xcf\x5b\xdd\xb5\x54\x93\xba\xf6\xbe\x0c\xb0\x68\x33\x05\xfc\xda\xb4\x85\xb6\x8c\x6c\xf8\x2c\xb5\xea\x40\x78\x29\x3e\x25\xcd\xc5\xac\x16\x8f\x6a\x37\x55\xab\x44\x1d\x8e\x4a\xd4\xa1\xb2\xe8\xa1\xd6\xec\x48\xf2\x34\xdb\x3d\x59\x0f\xd0\x99\xfd\x8b\x72\x4a\x15\x16\x6b\x6a\x94\xb7\x7b\xa5\xfe\x7b\x3e\xa7\x15\x0f\x53\xae\x3d\x4c\xb9\xf6\x30\x3d\x08\x31\xed\x7a\xe1\x39\x8a\xdc\xeb\x5b\xf0\x6b\x9e\xa3\xbe\xa5\x1c\x24\x61\x33\x72\xe0\xee\xfe\x97\xbc\xdb\xff\x92\x79\x18\x78\x90\xe6\x7b\x12\x36\xf7\xa4\xcd\xe9\x8a\x0e\x7b\x65\xdc\x83\xaa\x57\xee\x91\xc8\xd4\x25\x12\x33\x45\x7c\x16\x86\x09\x5e\xb3\xbf\x96\x08\xd6\xc2\x21\xba\xc8\x88\x19\x13\x61\x8e\x1a\xeb\x5a\x2e\x78\xe6\xb5\xe0\x27\x74\xc0\xca\xf3\xfd\x55\x74\x74\xea\x7f\xfb\x97\xbb\xdb\xad\xf7\x65\x2b\x4f\x7e\xcc\x7c\x56\x61\xca\x43\x0f\xbd\xb5\x9b\xf4\x42\xfb\xee\xd6\xa9\x60\x25\x12\xb7\x51\x87\xe3\xee\x31\xc2\x7e\x8e\x02\xfb\x1d\x28\x2c\xd7\x68\xcd\xdb\xd8\x8d\xee\x18\xe2\xea\x94\x2b\x74\xef\x2a\x84\xbe\x07\x2b\xe2\xa9\x4f\xdd\x4c\xb3\xa5\x63\x89\x37\xe3\x00\x5e\x25\x98\x36\xcc\x73\x8c\xb9\x18\x3c\x31\x60\xb1\x85\xf5\xa9\x20\x9f\x68\x03\xa1\x6c\x8a\x13\x8f\x72\x42\x95\x7b\xe1\x4e\x3c\x5d\x48\x68\xd9\x05\xbc\x45\x54\x6d\x6e\x9d\x5b\x6d\x6b\xf9\xb8\xda\x72\xb6\xad\xe5\xc3\x9a\x05\xb6\xed\xf3\x2a\x49\x10\x1c\x61\xd1\xc7\x10\x38\xc2\x62\x87\x10\xcb\xab\xcf\xcf\xab\x2b\x1c\x78\x9b\x2a\xf3\x56\x31\x3b\xce\x1d\x1e\x77\xc9\x3f\x43\xf2\x3a\x83\xef\xa1\xae\x86\xb3\xf4\x74\x4a\x01\x5e\x48\x76\x14\xd3\x98\x36\x24\xd3\xee\x3e\x66\xaa\x8f\x54\xf7\xf1\x08\xa8\x9d\xae\x4d\x08\x5a\xfb\xb8\x83\x45\x5d\x19\x10\xf2\x62\xbf\xb0\xf2\xb0\x32\x66\x34\x9a\x91\x85\x07\x6d\x2e\xb9\x5a\x2b\x08\xc6\x98\x0e\x04\x47\x3f\x05\x03\x31\x23\x54\x52\xef\x94\xae\xa6\x5f\x55\xe2\xc6\x5d\x4f\x67\x85\x3f\xf0\x9c\xad\xc2\x71\xc1\xe8\x89\x90\x04\xac\xa2\xee\x7b\xcb\xfd\x2c\xf0\x97\x3a\x4d\xa8\x52\x33\xec\x6d\x05\xd8\x9a\xc5\xe4\x71\xcf\xb8\x3f\xf5\x74\x7f\x07\x1e\x60\x12\x8f\xd4\x91\xa8\xdc\xc0\x6c\x11\xbe\x61\x1b\x1f\xb0\x80\x9e\x51\x53\xf0\xcf\xe5\x32\x36\x2d\x62\x22\x24\xbb\x5e\x39\xbd\x54\x29\xee\x3b\x5f\xac\xda\x98\x44\x4d\x89\x99\xf8\x22\x5f\xa8\xe7\x1a\x18\xd7\x26\x1c\xde\x82\x36\x4e\x3b\x9e\xe7\x8a\xf6\x6f\x1d\xcf\x73\xeb\xf4\x85\xa7\x6b\xb0\x1c\xdf\x71\x09\x79\xbc\xac\xae\x60\x01\x94\x17\x68\x1d\x02\x0d\xb2\x8a\xb6\x7f\xf3\x20\xf0\x4c\x08\x3c\x72\xe1\x99\x10\x99\x50\xb4\xde\xd7\x05\x03\xf4\x0b\x0f\xf5\x0b\x87\xb5\x17\x44\xe5\x85\x03\x4c\x00\x50\xed\xfc\xb4\xd6\x36\x77\x74\x38\xf1\x5a\x33\x14\x60\xd0\x29\x60\x59\x94\x53\x55\x17\x45\x40\x20\xaf\x16\x80\x95\x39\xbe\xa1\x92\xad\x3f\x3a\x23\xc6\xa9\xbf\xcc\x53\xcf\xe2\x48\x63\xf4\x25\x37\xed\x33\x62\x1c\x78\x81\x28\x9f\x4d\xc7\x2a\x23\x12\xe6\xe8\x65\x6d\x0a\xb9\x8a\xb2\x63\x6c\x51\x84\xd4\x19\x39\xf6\x80\x5a\x6c\x09\x14\x2b\x0c\x58\x2b\x3c\xc4\xd4\xa2\xfd\xea\xa9\x2d\xd6\xb7\x96\x8c\xa3\x8d\xd5\x37\xde\xe8\x82\x85\xbd\x3c\xe2\xb1\xe4\xeb\xaa\x5a\x72\x75\x5c\x4a\xaa\x9b\xbb\xe6\xeb\x28\x65\xcb\x68\xd3\x8c\xd5\x50\x5b\xe9\xad\x53\x43\x4b\x48\xce\x73\xab\x15\x6c\x6d\x76\xa9\x5c\x0d\xbf\x6e\x2a\xca\xb0\x0a\xc1\xb5\x47\x76\xfe\xf8\x48\xd1\x23\x21\xc5\x95\x6a\x45\x3c\x0a\xe1\x60\x5c\x89\xdc\xfb\x89\xa7\x4d\x65\x05\xa4\x14\x29\x5f\xa6\x9e\x56\xe0\x15\x80\x32\xf6\x4c\x50\x99\xa9\x97\x24\xf5\xc0\xd8\xcb\xab\x46\xe6\x4d\x69\xd1\x34\x56\x4d\x77\xcd\xd6\x5d\x99\x91\xb9\x07\x31\x16\x07\x85\x19\xd9\x93\xc4\x96\x02\x2b\x19\xe6\x2b\xc5\x57\x4d\x9f\x18\x26\xdc\xd4\x4f\x60\x9b\x14\x52\xe5\x69\xdd\x30\x58\xa0\x5a\xde\x15\x64\x08\xf8\x9f\x69\xb4\xe8\xed\xc7\xc1\x75\xc9\xae\xd7\x70\x5c\xec\xd1\xb0\x27\x25\x81\x36\x0d\x08\x3e\x1d\x48\x51\xcd\xe3\xf1\xa2\xda\xec\x6b\xdd\xb7\xfe\xa9\x72\xa7\xb4\xd8\x3b\xd0\x29\x33\xdf\x28\x5d\xb5\xe5\x9e\xdc\x12\xab\x50\x4c\x20\x37\x45\x74\x28\xe5\x3b\xe6\x3e\xf0\x02\x1a\xc6\x93\x5e\xf5\x42\x13\xab\x2d\x5f\x8c\xa2\x28\x26\x06\xe9\x6a\xb0\xa9\xf2\xbe\xf2\xea\xcf\x75\x0e\x8c\x3a\x2a\xaf\x61\x72\x37\x8c\x13\x6d\xc6\xe5\xad\x6e\x01\x6d\x4b\x1d\x7b\xab\xbc\x53\xd1\xde\x64\x1c\xc7\x15\x42\xec\x57\x5d\xe8\x6e\xdb\x3b\xbd\xc2\x05\x8f\x05\x67\xdb\xb8\xa0\x2a\x13\xf4\xa2\xb3\x21\x7b\x87\x54\x7b\x97\xfb\xbd\x55\x9c\xf6\x92\x54\xff\x58\xd2\x48\xf4\x44\xdc\x53\x45\x61\x6b\xd8\x63\x64\x98\x40\xdf\xb4\xc6\x2c\xd7\x28\xe5\x8a\x92\x15\x39\xf3\x54\x81\xad\xaa\x4f\x62\x1c\x8d\x03\x3e\x57\x28\x84\x3e\xb5\x57\x94\xa4\x89\x09\xee\x89\x6d\x1c\xa8\xd1\x72\xac\x8b\x75\xbd\xb6\x88\x3e\x6d\x42\x6d\xef\xd6\x80\xd4\x08\x83\xf9\x4f\xc3\xb2\xec\xcd\xf9\x96\x75\xac\x31\xa8\xfb\x9d\x72\x93\xca\x85\x71\xbd\x19\x28\xdc\x2a\x6c\xdc\xee\x96\xb2\x11\xef\x8d\x2b\x79\xde\x5c\x49\xb5\x5c\x46\x4d\xe9\xf4\x57\x8f\xb1\xef\x87\xbe\xd0\xf1\xda\x6b\x13\x8e\xbc\x16\x87\xec\x6a\x9a\xce\x5a\xde\x63\xac\xb6\x63\xf8\x5e\x20\x30\x69\xa7\x70\x7e\xd1\x6b\xb6\x7a\xf0\x24\x3d\x36\xaa\x7e\x2d\x7a\xc9\x47\xc2\xfe\x75\x5f\xdc\x08\x73\xff\xd6\xcc\xca\x8a\x1d\x54\x07\xeb\x7b\x87\x56\xf6\x4d\xaa\x5c\xf1\x0d\xe7\xff\x33\xec\x52\xdd\xf1\x18\xfd\xf2\xf1\xcd\xb7\xad\xeb\x43\x09\x4b\x36\x73\xf6\xb4\x96\xf1\xad\x99\xe7\x99\xa7\xbc\x17\xe0\xbb\xa7\x54\xc0\x97\x5b\xce\xc2\x7f\x67\x00\x6f\x31\xd9\x8a\x78\x5b\x3d\x28\x95\x33\xf1\xde\x43\xc6\x2f\xc1\xc4\xf3\x07\x9b\xc2\xac\x7a\x8e\x7c\x27\xb6\x60\xcb\x16\x90\xc7\x2e\x74\x15\x6b\xd5\x0b\xe6\x8c\x23\xa8\xc4\xb8\xfc\x55\x97\xed\x7a\x56\x97\x2a\xff\x7e\x19\xf8\x88\x87\x4d\x79\x1e\xe4\x06\xad\xc8\xbe\x07\x5c\x15\x3e\xad\xa3\xf1\x52\x15\xf3\xd6\x93\x53\xea\x9b\x92\x49\x20\xd1\xe8\x54\x90\x15\x79\xa1\xdf\x32\xed\x6f\xa2\x54\xff\xad\x4d\x78\xd5\x0a\x80\x09\x27\x4b\x8e\xa0\xa0\xa3\x5b\xdf\xd4\xf8\x78\x0e\xd5\x12\x4d\x62\x43\x93\x83\x4e\x0d\x45\x50\xbb\x72\x53\xe8\x6f\xb1\xba\xd3\xe9\x5a\x39\xa3\x6c\xf5\x32\x61\x2f\xd6\xda\xbb\x04\x7c\xcc\xe5\xab\x5c\x94\x74\xdc\x5d\xbe\x7e\xb9\xe5\xcf\x5e\x91\x57\x05\x21\x2e\x61\xaf\x3d\x52\xb0\x0c\x4a\x51\x9b\x77\xe9\xe5\xc1\xce\x11\x96\x82\x57\x51\x30\x69\x9b\xde\x43\xb4\xeb\x3d\x50\x30\x58\x9b\xf0\xd2\xab\xa6\xc4\xff\x50\x5f\xeb\x8d\x9c\x0f\x39\x84\xe6\x5e\xda\xf5\xc1\x8a\xfa\xe7\x1b\xa3\x15\xc5\xd4\xd7\x6b\xf8\xdc\x21\x95\xe5\xee\x4f\xef\xb6\x08\x63\x68\x52\x17\x10\xa9\x1d\xf8\xec\xc1\x8a\x9a\xd5\x22\xc6\xc1\x98\xf0\xbc\xfe\x14\x7f\x5e\x18\xa0\x74\xc2\xba\x0f\x5e\xee\xad\x53\x51\x7d\x53\x6f\xe2\xf7\xf0\xdf\xc1\x22\x08\xc3\x78\xa9\x2f\xf4\x07\xe8\xb3\x8c\x04\x55\xc4\x0b\x29\xfa\x57\x89\xa7\xb2\x46\x21\xbf\xb2\xee\x18\xee\xab\x89\x45\x91\x4d\xf8\x58\x43\x57\x5c\xc7\x8e\x3e\xd2\x0c\xf1\x8f\x16\x55\x77\x87\x63\x42\x81\x88\xba\x23\xa5\xde\x79\x58\x1e\x90\x7d\x96\xff\xbc\xc0\x48\xe3\x62\x82\x77\xec\x77\xa5\x3a\x19\x4a\xf8\xc0\xf9\x7f\xf2\x30\x66\x6a\x2a\xe6\xe1\x61\x2c\xc5\xf8\x2f\x9e\xe3\x71\x78\xed\x39\x7d\x0e\x51\xff\xbf\x98\xa5\x9a\x51\x9d\x56\xeb\x12\xb4\x61\x45\xac\xcd\x76\x16\xab\x40\x39\xbc\xf3\x83\x34\xa8\xe6\x4c\x90\x68\x36\xfc\x9f\x60\x82\x66\xf2\xdb\x79\xff\x3f\xca\x04\x75\x8d\xb1\xc1\x04\xf9\x7d\x95\x9a\xd1\x30\x21\xed\x5a\xb5\x5e\xc3\x7c\xa6\x2c\x7b\x5b\xa4\xec\x87\xe8\x27\x8d\x6d\x6b\x31\xf4\x2b\xe2\xf7\xdb\xac\x7d\x75\xb5\xdf\xce\xf0\x76\xbd\x1f\x2f\x84\x56\xda\xef\x56\x9d\x74\x06\xd2\xcf\x30\xd3\xf6\xc3\x32\x90\xde\xd3\xa0\x78\x8b\x3e\xa4\x0c\x61\x82\x8d\xe8\xf9\xc2\x67\xe9\xc8\x53\xe9\xbc\x44\x1f\x84\xa6\xa3\xea\x23\xd3\x3e\x18\xc7\xfb\x06\x5c\x22\x56\xbf\x2c\xee\x29\x56\xa0\x47\x05\x3e\x3a\x0d\xb1\xc8\x9c\x59\x3c\x96\x9c\x44\xed\x21\x3d\x28\x1f\x2a\x8d\x9f\x57\x7f\x79\xbf\x7c\xae\x54\x83\x5e\x8f\xad\xf2\x71\xf7\xca\x67\xb9\x1a\x41\x3d\xd8\xad\x4e\x48\xf8\x78\x5b\xe2\x41\x7d\x12\x8a\xa7\xb9\xe2\xc6\xa8\xd9\x79\x10\xab\x7f\xf7\xb4\xbd\xc7\xd4\xa5\xe3\x4c\x48\x25\x8f\xe0\x2b\x1e\x21\xc2\x15\x19\x16\x3c\xc2\xda\x04\xb7\xdf\xce\x9e\x7e\x69\x11\xd0\x6b\x40\xd4\xa2\x2a\x3a\xa5\x73\xdf\xd6\xea\x24\x95\x17\xec\x71\x3b\x13\xb3\xa5\x8f\x5d\x55\x49\xa1\xde\x4d\x11\x6e\x05\x81\x3a\x2e\xd3\x87\x86\x09\x71\xbf\xc9\x1f\x2b\xe5\x83\x2e\x57\xbe\x52\x8a\x87\xdf\x9f\x57\xa5\x3c\xfd\x55\x41\x79\x0c\x8c\x3d\x55\x4a\xa0\x77\xa1\x6a\x02\xe0\xc0\x75\xc2\x28\x1a\xf9\x5a\x14\x9d\x14\xed\xa6\x9d\xae\x33\x5a\x7e\xb2\x3c\x65\xc9\xbc\x1e\x57\x86\xcb\x67\xb4\x1e\xc8\x64\x3e\xd8\x19\xb6\xc4\xa2\x4b\x96\xf4\xcf\x0f\xac\xbe\xfb\x2e\x43\xe7\x47\x8e\x70\xc9\xf5\x9c\x69\x16\xc0\x90\x30\x05\x4d\xfe\xdc\x6f\x56\x7c\x51\x2f\x94\x81\x09\xf7\x86\x9b\xc8\xbc\x68\x93\xdb\xc4\xb0\x4d\x23\x11\xb8\x6e\xa4\xd5\xe2\x18\x6a\xbc\x26\x72\x96\x9f\xa5\x74\x24\x65\xc8\x9e\xa1\x0e\xc6\x0d\x55\xee\xcd\x97\x81\xf2\x59\x2e\x3f\xfc\x0e\xe9\xb9\x74\x05\x92\xfa\x1c\xcb\xea\x23\x9b\xac\x5a\x11\x31\xbd\x5e\x13\xbf\xaa\x8e\xa9\x83\x53\xda\x01\x4e\xe9\x5f\x09\x4e\x6f\x7d\x9f\x97\x9b\xfa\x3e\x6c\xdf\x54\x5c\x22\xb7\x0f\x51\x0e\x4f\x2a\xbe\x5c\x1d\x33\x37\xf6\x24\xa2\x65\xea\x6a\x21\x49\x23\x24\x1d\x08\xa3\x03\x5b\x57\x8e\xd4\x9f\xff\xa4\x0f\x58\xa7\xe4\x8e\x67\xc4\x63\x92\x89\x38\x28\xb6\x20\xee\x4b\x54\xb2\x52\xc1\x11\x16\x3b\x82\x2e\x74\xa0\xcb\x9a\xf4\x8e\x23\x55\x95\x58\xa7\x81\xf8\x2b\x3e\xe0\x05\xd6\x3d\xb9\xe3\x07\x08\x8b\x8a\x36\x0a\xfd\x6f\x0e\x9d\x97\x66\xb9\xfb\xe8\xe9\x5f\x3c\xfa\x87\xc4\xe7\x77\x1f\x3d\xfb\xeb\x46\x7f\x99\x97\xaa\xb9\xfb\xe8\xe7\x7f\xdd\xe8\xe7\xba\xb6\xcd\x9d\x07\x67\xad\xde\xc6\xff\xde\xe0\xbf\xfa\xe1\xec\x65\x89\xb5\x30\x4c\x30\xb2\xe8\x0b\x8b\xfe\x56\xf3\x4d\xae\x11\x4f\x55\x2a\x48\x77\xcf\x8a\xc9\x2c\x2a\x6e\xf5\xb5\x64\xdc\x7f\x1b\xff\x36\xfe\x6d\xfc\xac\x96\x88\x7b\x30\xa6\xf3\x20\x5c\x19\x60\xcc\xe3\x28\x56\x29\x8f\x8a\x0f\x1c\xf7\x1b\x4e\x9e\x3a\x76\xe8\xb9\xa6\xf9\x6b\x08\x5b\x79\x81\xdc\x97\xde\x89\x2c\xf7\xa6\xe9\xb8\xf8\xb4\x64\xee\x3f\x26\x90\xf4\x41\x09\x1d\x37\x9b\x25\x89\xdb\xd2\x46\xb0\x44\xb1\x1a\x0b\x65\xe5\xf8\x86\xac\x06\xfb\xfe\xbc\xc3\xf7\x85\x56\xbd\x40\xae\x09\xed\x83\x0f\x02\x28\xdc\xbb\x97\x16\xce\x18\x9d\x6e\x24\x75\x27\x8c\xf5\x9a\x44\x96\x7b\xd0\xf4\xe1\x78\x97\xc9\x0f\x38\x01\xb7\x48\x12\x5f\x24\x89\x14\x0e\xee\xa4\xbb\x6f\x5a\xf4\x58\xe5\x24\x7c\x01\x98\x72\x76\xaa\x32\xce\x7e\x87\xce\xfc\x51\x8f\xdb\x64\x0c\xed\x17\xf6\xc9\x6b\x4f\x0c\xf1\xb5\xd5\xa9\xbf\x74\x7e\x67\x09\x6a\x1f\x16\x99\xce\xa7\x0a\x33\xf2\xc5\x83\x8f\x1e\x7a\xa1\xc2\x35\x79\xed\xc1\x1b\x0f\x28\x5e\x7e\x6d\x94\x85\xc3\x7e\x96\x14\xae\xc9\x89\x07\xdf\x84\xfc\x60\xf9\xe5\x57\x10\x59\xee\x5e\x43\x87\x53\x6b\x7d\x2a\x88\x5c\x1e\xe8\x83\x61\xd4\x9a\xff\xd6\xbd\xee\x9f\xb2\xf5\x1a\xb2\xbe\xf3\xe3\x85\x5d\x16\xa9\x01\xfa\xd8\xd6\xb6\x51\x63\x0d\x5e\xfe\xb4\xd4\x57\xcb\xe7\x17\xf9\xd5\x1a\xfa\x45\x0b\x5d\xe2\x0b\x9f\xab\xdf\x6b\x98\xf7\x25\x3f\x95\xf5\xc1\xeb\x43\xbf\x0f\xb2\x65\x9e\x5a\x79\xc1\xe3\xb9\x2f\xa6\x7e\x9a\x58\x41\xfc\xc0\x8b\xdd\x44\x4d\x21\x88\x26\xea\xc7\x9c\x46\x74\xe2\xf3\x07\xaa\xcb\x23\x3f\x5c\x18\xeb\xaf\x26\x4c\xd5\x80\xea\xae\xb1\x86\x45\xa7\x74\x79\xd8\xca\x08\x35\xeb\xf5\x65\xfd\x0d\x56\x6d\xda\xcf\x97\x5a\xef\x8f\x06\xba\xfa\xe9\xf1\xfa\x1b\x19\x49\xfb\xfd\xcd\x15\x9e\xf6\x25\x50\x9b\xc0\xcd\x91\xd1\x2b\x53\x18\xac\x4d\x98\x6c\x91\x89\x5b\x12\x53\xdd\x5f\x91\x85\x16\xb9\x0b\xec\x51\xd5\xd7\xe4\xc9\xfa\xbd\x90\x70\xeb\x05\xa6\x9c\xd3\xa1\x75\x50\x0f\xb4\xd3\xb9\x1d\xb4\xb4\xa1\x0d\x80\xb0\x52\xd7\x11\xcd\x0c\x13\x66\x1d\x8c\xd0\xb2\x5f\x19\x90\x49\xbe\x0e\xff\x0c\x44\x3c\x99\x84\xbe\x64\x0f\x07\x73\x2f\xbf\x19\x06\x93\xa9\x28\x3d\x30\xe7\x6c\xf0\xa4\xb7\x10\x83\x47\xbd\x85\x0a\xe6\xa8\x65\xdf\x63\xb1\x10\xf1\xdc\x00\x63\x67\x71\xdd\x4b\xe2\x30\xf0\x7a\x7c\xc2\x28\x19\x42\x4f\xfd\x6f\xed\x3c\x7c\x62\x96\xc7\x75\x55\xa1\x0c\x91\xa0\x41\x54\xb5\x62\xd6\xd6\x45\x4e\x85\x71\x1a\x79\xb9\xba\xba\xe1\x01\xa0\xa1\xac\xc9\x4e\xea\xb7\x71\x4d\xbe\x2a\x8a\xa1\x98\xca\x49\x9f\x70\x13\xe6\x28\x84\x36\x65\x83\x6a\x71\xd0\x56\x0f\xb5\x86\xfe\x65\x83\x12\x06\x51\x18\x44\x7e\x19\x64\xd8\xfc\xae\x8e\x30\xef\x0d\x75\x7c\xe4\x2f\x6b\x42\x58\xc5\x8b\xa3\x70\x44\x26\x55\xff\x1a\xbe\x86\xeb\xed\x9a\x9a\x1a\x16\xd5\x66\x14\xea\xa1\x6e\x17\x8c\xc7\x18\xcb\x9c\x87\x27\xea\x7c\x8a\xbc\xe9\x41\x0b\x33\xc9\xaf\xba\x37\x9b\x44\x5b\x6f\xa4\x04\x90\x02\x33\x87\x7d\x52\xc9\x48\xb2\xdb\x06\x98\x3f\xfa\xf6\x4e\x9e\x92\xe4\xa0\xab\x41\xee\x56\xbd\xd7\x0a\xda\xac\x30\x19\xc0\x61\xdf\x99\x70\x62\x70\x4c\x6e\x77\xda\xb9\x1a\x33\xb2\xd7\x07\x03\xcf\x1c\xa8\x54\xe0\x91\x09\x87\x7d\x62\x24\x62\x15\xfa\xc9\xd4\xf7\x95\x63\x33\x0f\xc1\x08\x63\xea\xa9\x04\x04\x64\x89\x39\xb3\xcc\xfc\x89\xcf\x79\xcc\xf5\xa3\x49\x40\x8c\x43\x1a\x84\xbe\xd7\x13\x71\x4f\xbe\xd3\xdb\xbb\xb8\xe8\x8d\x79\x3c\x57\x05\x1c\x4d\x9d\xb2\x60\x6d\xc2\xb7\xca\x57\xb4\xed\x10\x89\x1c\x6e\xb9\x61\x8d\xf2\x9d\xf6\x21\xba\x6f\x84\x01\x7b\xc0\xe2\x58\x24\x82\xd3\xc5\xe0\xb1\x35\xb4\x86\x03\x1a\x2e\xa6\xd4\x7a\x3a\xf0\x82\x44\x3c\x70\x93\xa4\x6c\x60\xcd\x83\xc8\x72\xb1\xfa\x23\x3a\x4d\x94\x7d\x20\x6b\x43\x97\x7e\x12\xcf\xfd\xc1\x63\xeb\x37\x6b\x88\x6f\x56\x6f\x97\x2f\x1f\xf4\x15\xcf\x55\x39\x2b\x4a\x2a\x3c\x23\xdc\x62\xe7\xc0\x2d\x97\x99\xcf\xcb\x84\xfa\x3c\xff\x55\x9c\x28\x5a\x61\x3a\x4a\x35\x6a\xd3\x07\xb4\xfc\xe0\x59\x9f\xf0\xbb\xc3\x58\xce\x7d\xe5\x58\x9f\x71\x9f\xce\x7a\x51\x71\x54\xd5\x35\x5f\x6f\xd2\xdf\xeb\x3e\x2a\xd4\x69\xd5\x92\x12\x8c\x89\xca\x94\x27\xe7\x97\x77\x94\x77\x50\xc3\x04\xeb\xcd\x7e\x30\xbf\x13\x29\xce\x63\xb4\x86\x8b\xfa\x4e\x6b\x1b\x86\xe5\x26\xe0\xca\x3f\x02\x44\xb5\x64\x94\xb0\x28\x89\xc8\x27\x4e\x4c\xd3\x5c\xe7\x3c\xd9\x67\x4e\x7e\xbc\xb1\x8b\x56\x45\x15\xcd\x9e\xb0\xa8\x43\x21\x12\x16\xf5\xbc\x83\xcc\x8f\xc4\x49\x90\x08\x3f\xf2\xa5\x40\x1c\x2f\x12\xa5\xa9\x13\xa6\x6c\x11\xd1\x2c\x98\x50\x11\x73\x2b\x4d\x7c\xbe\x3b\xf1\x23\x61\x05\x91\xe7\x5f\x9f\x8d\x89\xf1\x9e\x07\x1e\xba\x99\xfc\x31\xfc\xf9\xb3\xb5\xbb\x29\x4d\xa6\x79\x7e\x46\xd1\x2c\xc6\x10\x8c\xc9\x3d\xb9\x5b\x82\x87\xaf\xfd\xd5\xcf\x9f\xdc\x9a\xfb\x82\xea\x9f\xc9\x34\x18\x0b\xfc\xbd\xf3\x87\xe4\xe7\xb0\xd2\xcf\xcf\x9f\x91\xa5\x92\xa8\xc9\x5f\x5e\xbc\x8c\xe4\x81\x31\xcd\x1f\xdc\x5a\x70\x5f\x0e\xbe\xaf\x76\x83\x94\xc1\x02\x53\xee\x8f\xc1\x77\xe4\xea\x40\xea\x1c\xc6\x44\x98\x16\x7d\x4e\x89\x4b\xd2\xbf\xff\xdd\xb7\x98\xef\x38\x4e\x6a\x31\x5f\x5e\xd0\x0f\x78\x41\x3f\xe0\x13\x6a\x51\xf5\x8c\x5a\x74\xa4\xbd\x1d\xd2\xb5\xad\xfd\x47\xc4\x1a\xf5\xdd\x6b\x70\x27\x76\xab\xd5\x85\x5b\xee\x04\x22\xc0\x81\x85\x6c\xf7\xce\xe6\x96\xfb\x0e\xdc\x33\xf9\xf7\x0c\xdc\x23\xf9\xf7\x48\x76\x71\xdc\x77\xbe\x44\xa4\x6f\xc2\x49\x27\xe6\xd1\xae\x52\x23\x6e\x63\x4e\x7f\x4c\xff\xae\x8a\xf7\x5e\xf5\xbb\x4d\x64\xba\x9c\xd4\x48\xd8\x47\x44\xc0\x91\x7c\x6a\x51\xc4\xa9\x37\x7d\xe7\xa2\x4f\x7e\xb8\x13\xfb\x28\x01\x37\xb1\x27\x14\x5c\x61\x37\x04\x83\xd2\x9f\xa0\x3f\xca\xbd\x6b\x23\x8b\xae\x6d\x25\x48\x41\xee\x52\x3c\x23\x57\x7d\x30\xfe\x86\x96\xe5\x33\x50\x57\x23\x79\xe5\x66\x98\x24\xe3\xa4\x0f\xdc\x62\x14\x8e\xe4\xd1\xf7\x47\x65\x9d\x0d\xbb\x2c\xbe\xc1\x2d\xfa\xc1\x34\xe5\x9f\x31\xba\xc8\xae\xe5\x12\x1d\xfa\xe4\xb8\x6f\xca\x45\xbb\x4a\xe4\x12\xb6\xe0\x79\xf6\xce\xde\x25\xff\xfc\xa6\x48\x06\xda\x71\x6a\x04\x7e\xbd\x5e\x9b\xcf\xaf\x02\xe7\xc7\x1b\x1a\x44\xf6\x8f\x20\x0a\x84\x7d\xd3\x27\x4b\xd7\x24\x43\x73\xbd\x86\xc8\x3a\x08\xe7\xa3\xbc\xdf\x5e\x84\xd9\x7b\x31\xfb\x12\x5a\x86\x7b\x41\xd4\x13\x26\xfe\xe1\x23\x4c\x23\x6c\x38\x8e\x3f\xda\x23\x4f\x4d\x3b\x22\xfc\x9f\xfe\x57\x10\xff\xf4\xbf\x9a\xb6\xfc\xe9\xc8\x9f\x52\x9c\x39\x08\xe7\x70\x15\x98\x36\xfe\x72\xae\x82\x35\x11\xd3\x20\x31\x9f\xff\xef\x00\x00\x00\xff\xff\xd3\xfb\x46\xf2\x4f\x81\x01\x00"), + }, + "/templates": &vfsgen۰DirInfo{ + name: "templates", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + }, + "/templates/default.tmpl": &vfsgen۰CompressedFileInfo{ + name: "default.tmpl", + modTime: time.Date(1970, 1, 1, 0, 0, 1, 0, time.UTC), + uncompressedSize: 17273, + + compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3b\xff\x6f\xdb\xb6\xb3\xbf\xeb\xaf\xb8\x69\x78\x58\x03\xd8\x96\xd3\x6e\xc5\xe2\xd8\x79\x70\x1d\xa5\x11\x9e\x23\x07\xb2\xd2\xae\x18\x86\x80\x96\x68\x9b\xad\x44\x6a\x24\x15\xc7\xcb\xfc\xbf\x3f\x90\x92\xbf\xc8\x96\x13\x27\xe8\x12\x7f\x3e\x4b\x82\x36\x12\x75\xdf\xef\x78\x77\x14\xa9\xbb\x3b\x08\xf1\x90\x50\x0c\xe6\xf5\x35\x8a\x30\x97\x31\xa2\x68\x84\xb9\x09\xb3\x59\x5b\xdd\x5f\x64\xf7\x77\x77\x80\x69\x08\xb3\x99\xb1\x15\xe5\xca\xeb\x2a\xac\xbb\x3b\xa8\xd9\xb7\x12\x73\x8a\xa2\x2b\xaf\x0b\xb3\x99\xf5\xa3\xa5\xe1\xc4\xff\x72\x1c\x60\x72\x83\x79\x4b\x01\x79\xf9\x4d\x86\x93\x53\x2f\x92\x17\xe9\xe0\x2b\x0e\xa4\x22\xfb\xbb\x42\xe9\x4b\x24\x53\x01\x7f\x83\x64\x57\x49\x32\x47\x25\x43\xc0\x7f\x2e\x1e\x9a\x43\xc2\x09\x1d\x29\x9c\x86\xc2\xd1\x5a\x88\xda\x99\x1e\x85\xbf\x21\xc2\x74\x95\xe3\x1f\xa0\x80\x3e\x72\x96\x26\x5d\x34\xc0\x91\xa8\xf5\x19\x97\x38\xbc\x44\x84\x8b\xda\x27\x14\xa5\x58\x31\xfc\xca\x08\x05\x13\x14\x55\xc8\x58\x8e\x24\xbc\x51\xb4\x6a\x1d\x16\xc7\x8c\x66\xc8\x07\xf9\xd8\x0a\xbd\x03\x98\xcd\xde\xdc\xdd\xc1\x84\xc8\x71\x11\xb8\xe6\xe1\x98\xdd\xe0\x22\x77\x17\xc5\x58\xe4\x66\x2c\xe3\xbe\x10\xfc\x60\x71\xb5\xc5\x37\x21\x16\x01\x27\x89\x24\x8c\x9a\xf7\xd8\x58\xe2\x5b\x99\xf9\xf1\x3a\x22\x42\xe6\xa0\x1c\xd1\x11\x86\x1a\xcc\x66\x99\x5c\x0d\x63\x39\xb8\x69\x27\x65\x95\xaa\x36\xa4\x12\x5f\xdd\xb5\x60\xa1\x40\x2e\x58\xc6\xbc\x4d\x29\x93\x48\xc9\x54\x20\xb9\x32\xfc\x34\xba\x7d\x96\xf2\x00\x37\x32\x67\x62\x8a\x39\x92\x8c\x67\xe1\x67\x94\x18\xaa\x60\x03\x11\xa1\xe0\x5b\x2d\xc4\x43\x94\x46\xb2\x26\x89\x8c\x70\x6e\x05\x89\xe3\x24\x42\xb2\x18\x8b\xb5\x6d\x26\x2f\xd2\x49\x85\x9a\x02\x71\x19\xa9\xe2\x44\xdb\x91\xde\x10\x45\xd1\x00\x05\xdf\x36\xe8\x95\x8a\xaf\x88\xc2\xdf\xf0\x10\x60\x44\xe8\xb7\x9d\x25\x08\x72\x09\x48\x68\xee\x86\x90\x70\xac\xa2\x6b\x47\xe8\x15\x81\xee\xb5\x98\xce\x33\x3b\x8a\x4c\x02\x46\x71\xcc\xbe\x92\x1d\x65\x50\xf0\x29\x8f\x76\x95\x78\x77\xe5\x86\x8c\xc9\x2c\xab\x6e\x09\xc2\x31\x49\x82\x31\x92\x4b\x04\xce\xe2\xa7\x87\xce\x3a\xb5\x18\x0b\x81\x46\x8f\x08\xeb\x82\x6c\x89\xe2\x16\xa6\x72\xba\xa0\xb7\x99\x5b\x1e\x37\x55\x36\x29\x06\x11\xc1\x54\x3e\x5d\xe3\x6d\x14\x97\x55\xe9\x69\xf1\xb4\x49\x97\x50\x21\x11\x0d\xb0\x28\xa1\xbb\x91\x4c\xef\xb1\x2a\x4b\xc4\x08\x53\x82\x9f\xee\xa4\xfb\x88\x6d\x7a\x28\xaf\x3d\x5b\x52\x6d\x69\xb1\x31\xd6\x4a\x5d\xa1\x96\x1e\x40\x1d\xaa\xb3\x99\x91\x0d\x42\x36\xa8\x93\xfa\xfd\x16\x29\x16\x64\xcd\xa4\xba\xa2\x51\x09\x3f\x0f\x0b\x16\xdd\xe0\x70\x8d\xe3\x7c\x78\x77\x9e\x73\x8c\x0d\xae\xd5\x5d\x4c\x2a\x74\x8d\x79\x7c\x34\x15\xbc\x3e\xc1\x4f\x99\x98\xc6\xab\xff\xee\xf1\x5f\x7b\xd5\xfe\x3c\xda\xa0\x57\xea\x9f\x2d\x5e\x5f\xf3\x8f\x64\xd7\xaa\x90\x6f\xcd\xf2\x9b\xe0\x09\xe2\x72\xfa\x08\x78\x89\x46\xbb\x42\xa3\x11\xa6\xf2\x7a\xbd\xfc\x16\xe3\xeb\x86\x04\x92\x71\x96\x88\x65\xd8\x4a\x24\xf1\x75\x31\xd0\x5e\x63\xe9\x71\xb9\x60\xd3\xaa\x98\x4a\x22\xa7\xd7\x21\x11\x49\x84\xa6\xd7\x5b\x3a\xbd\x87\x13\xf7\x26\xe5\x98\x51\x22\x99\x32\xc8\xb5\x64\x2c\x7a\x64\x49\x5c\xa5\x8d\x63\x44\xa2\x65\x1c\x2c\x17\x53\x8f\x96\xb2\x48\x69\x2c\x63\x2d\x96\xd1\xfc\xe1\xb4\xd7\xf1\xbf\x5c\xda\xa0\x86\xe0\xf2\xea\x43\xd7\xe9\x80\x59\xb5\xac\xcf\xef\x3a\x96\x75\xea\x9f\xc2\x6f\xe7\xfe\x45\x17\x0e\x6b\x75\xf0\x39\xa2\x82\xa8\x60\x43\x91\x65\xd9\xae\x09\xe6\x58\xca\xa4\x61\x59\x93\xc9\xa4\x36\x79\x57\x63\x7c\x64\xf9\x9e\x75\xab\x68\x1d\x2a\xe4\xfc\xb2\x2a\x57\x30\x6b\xa1\x0c\xcd\x13\xa3\xf9\x43\xb5\x6a\xf4\xe5\x34\xc2\x80\x68\x08\x9a\x49\x88\x39\x51\x0e\x55\xad\x13\x28\xd2\xa2\x61\x59\x23\x22\xc7\xe9\xa0\x16\xb0\xd8\x52\x3a\x8c\x52\x6a\x69\x72\x28\xc8\xe8\x55\xb5\x6a\xd5\xb9\x39\x84\x61\x18\xfe\x18\xc3\x85\xe3\x43\x97\x04\x98\x0a\x0c\x6f\x2e\x1c\xff\xc0\x30\x3a\x2c\x99\x72\x32\x1a\x4b\x78\x13\x1c\xc0\xdb\xfa\xe1\xcf\x70\x91\x51\x34\x8c\x4b\xcc\x63\x22\x04\x61\x14\x88\x80\x31\xe6\x78\x30\x85\x11\x47\x54\xe2\xb0\x02\x43\x8e\x31\xb0\x21\x04\x63\xc4\x47\xb8\x02\x92\x01\xa2\x53\x48\x30\x17\x8c\x02\x1b\x48\x44\xa8\x8a\x7f\x04\x01\x4b\xa6\x06\x1b\x82\x1c\x13\x01\x82\x0d\xe5\x04\xf1\x4c\x43\x24\x04\x0b\x08\x92\x38\x84\x90\x05\x69\x8c\x69\x36\x71\x61\x48\x22\x2c\xe0\x8d\x1c\x63\x30\xfb\x39\x86\x79\xa0\x99\x84\x18\x45\x06\xa1\xa0\x9e\xcd\x1f\xe9\x75\x28\x4b\x25\x70\x2c\x24\x27\xda\x0a\x15\x20\x34\x88\xd2\x50\xc9\x30\x7f\x1c\x91\x98\xe4\x1c\x14\xba\x56\x5c\x18\x92\x41\x2a\x70\x45\xcb\x59\x81\x98\x85\x64\xa8\xfe\x62\xad\x56\x92\x0e\x22\x22\xc6\x15\x08\x89\x22\x3d\x48\x25\xae\x80\x50\x83\xda\x8e\x15\xa5\x87\xc5\x38\x08\x1c\x45\x46\xc0\x12\x82\x05\x68\x5d\x97\xd2\x69\x18\x25\x7a\xa2\x0c\x2a\x73\x13\x09\x35\x32\x19\xb3\xb8\xa8\x09\x11\xc6\x30\xe5\x94\x88\x31\xd6\x38\x21\x03\xc1\x34\x47\x15\xcd\x6a\x44\x81\x0f\x59\x14\xb1\x89\x52\x2d\x60\x34\x24\xf9\xd2\x53\x3b\x19\x0d\xd4\xf2\x3b\x58\xf8\x95\x32\x49\x82\xcc\xdc\xda\x01\xc9\xd2\xab\xf9\x23\x31\x46\x51\x04\x03\x9c\x1b\x0c\x87\x40\x28\xa0\x15\x75\xb8\x62\xaf\xfa\x43\x49\x50\x04\x09\xe3\x9a\xdf\xba\x9a\x35\xc3\xf0\xcf\x6d\xe8\xf7\xce\xfc\xcf\x6d\xcf\x06\xa7\x0f\x97\x5e\xef\x93\x73\x6a\x9f\x82\xd9\xee\x83\xd3\x37\x2b\xf0\xd9\xf1\xcf\x7b\x57\x3e\x7c\x6e\x7b\x5e\xdb\xf5\xbf\x40\xef\x0c\xda\xee\x17\xf8\x3f\xc7\x3d\xad\x80\xfd\xdb\xa5\x67\xf7\xfb\xd0\xf3\x0c\xe7\xe2\xb2\xeb\xd8\xa7\x15\x70\xdc\x4e\xf7\xea\xd4\x71\x3f\xc2\x87\x2b\x1f\xdc\x9e\x0f\x5d\xe7\xc2\xf1\xed\x53\xf0\x7b\xa0\x18\xe6\xa4\x1c\xbb\xaf\x88\x5d\xd8\x5e\xe7\xbc\xed\xfa\xed\x0f\x4e\xd7\xf1\xbf\x54\x8c\x33\xc7\x77\x15\xcd\xb3\x9e\x07\x6d\xb8\x6c\x7b\xbe\xd3\xb9\xea\xb6\x3d\xb8\xbc\xf2\x2e\x7b\x7d\x1b\xda\xee\x29\xb8\x3d\xd7\x71\xcf\x3c\xc7\xfd\x68\x5f\xd8\xae\x5f\x03\xc7\x05\xb7\x07\xf6\x27\xdb\xf5\xa1\x7f\xde\xee\x76\x15\x2b\xa3\x7d\xe5\x9f\xf7\x3c\x25\x1f\x74\x7a\x97\x5f\x3c\xe7\xe3\xb9\x0f\xe7\xbd\xee\xa9\xed\xf5\xe1\x83\x0d\x5d\xa7\xfd\xa1\x6b\x67\xac\xdc\x2f\xd0\xe9\xb6\x9d\x8b\x0a\x9c\xb6\x2f\xda\x1f\x6d\x8d\xd5\xf3\xcf\x6d\xcf\x50\x60\x99\x74\xf0\xf9\xdc\x56\x43\x8a\x5f\xdb\x85\x76\xc7\x77\x7a\xae\x52\xa3\xd3\x73\x7d\xaf\xdd\xf1\x2b\xe0\xf7\x3c\x7f\x81\xfa\xd9\xe9\xdb\x15\x68\x7b\x4e\x5f\x19\xe4\xcc\xeb\x5d\x54\x0c\x65\xce\xde\x99\x02\x71\x5c\x85\xe7\xda\x19\x15\x65\x6a\x28\x78\xa4\xe7\xe9\xfb\xab\xbe\xbd\x20\x08\xa7\x76\xbb\xeb\xb8\x1f\xfb\x0a\x59\xa9\x38\x07\xae\x19\xd5\xea\x89\xd1\xd4\x29\xf0\x36\x8e\xa8\x68\x95\x24\xb6\xc3\xa3\xa3\xa3\x2c\x9f\x99\xbb\x01\x09\x95\xdc\x5a\xe6\x90\x51\x59\x1d\xa2\x98\x44\xd3\x06\xfc\x74\x8e\xa3\x1b\x2c\x49\x80\xc0\xc5\x29\xfe\xa9\x02\x8b\x81\x0a\xb4\x39\x41\x51\x05\x04\xa2\xa2\x2a\x30\x27\xc3\x63\x18\xb0\xdb\xaa\x20\x7f\xa9\x5a\x0c\x03\xc6\x43\xcc\xab\x03\x76\x7b\x0c\x9a\xa8\x20\x7f\xe1\x06\x1c\xfe\x9c\xdc\x1e\x43\x8c\xf8\x88\xd0\x06\xd4\x8f\x55\x6e\x1d\x63\x14\xbe\x24\xff\x18\x4b\x04\xaa\xa2\xb6\xcc\x1b\x82\x27\x6a\x16\x99\x6a\xf6\x4a\x4c\x65\xcb\x9c\x90\x50\x8e\x5b\x21\xbe\x21\x01\xae\xea\x9b\x97\x33\x16\x58\x73\x71\x95\x33\xab\xf8\xcf\x94\xdc\xb4\xcc\x4e\x26\x6a\xd5\x9f\x26\x78\x45\x70\xd5\x8a\x58\xca\xb9\xc7\xba\x12\x08\x2c\x5b\x57\xfe\x59\xf5\xd7\x17\x16\x5f\xbf\x77\x79\x39\x77\xdf\xd7\x8b\x34\x2d\x2d\xdc\x89\x61\x34\x2d\x15\x94\xea\x62\xc0\xc2\x29\x10\x89\x63\x11\xb0\x04\xb7\x4c\x53\xdf\xc8\xa9\xba\xce\x67\x94\x08\xc6\x38\x46\x7a\x46\xd9\xaa\xba\x5f\xcc\x7b\xdf\x67\x55\xb2\x3a\xc1\x83\x6f\x44\x56\xb3\x07\x31\x63\x72\xac\x91\xb2\xda\x40\x90\xc0\xe1\x12\x48\xc5\x86\xc6\xae\xa2\xf0\x6b\x2a\x64\x03\x28\xa3\xf8\x18\xc6\x58\x55\xa6\x06\x1c\xd6\xeb\xff\x73\x0c\x11\xa1\xb8\xba\x18\xaa\xbd\xc7\xf1\x31\xe8\x19\x90\x01\xc0\x0f\x24\x56\x93\x05\x51\x79\x0c\x03\x14\x7c\x1b\x71\x96\xd2\xb0\x1a\xb0\x88\xf1\x06\xfc\x38\x7c\xaf\x7e\x57\xcd\x0f\x09\x0a\x43\x2d\x95\x8a\x86\xc1\x48\x43\xb6\xcc\x1c\xd2\x54\xf6\x96\x68\xf0\xdc\xe1\xb1\xa2\xd2\x8e\x7a\x94\xca\x0e\xd0\x94\xfc\x05\xf3\x18\x80\x92\xe0\x99\x33\xe9\x0d\xe6\x8a\x48\x54\x45\x11\x19\xd1\x06\x48\x96\x14\x0d\x75\xa3\x1f\xb4\x4c\xc9\x12\xf3\xa4\x69\xc9\x70\x29\x68\x96\x59\xcd\xf7\xf5\xfa\x33\x4f\x95\x52\xa1\xf3\xa5\x55\x03\x06\x11\x0b\xbe\x15\x62\x3b\x46\xb7\xd5\x3c\x48\xde\xd7\xeb\xc9\x6d\xe1\x61\x10\x61\xc4\x15\x43\x39\x2e\x8c\x6f\x9b\x28\x0b\xe3\x00\x4a\x25\x5b\x9b\x12\x05\x6b\x69\x43\x01\x34\x43\x72\xf3\xdc\x61\x55\xd4\x77\xdd\x38\xf7\x2b\x31\x97\x5b\x39\x59\x4f\xe6\xdc\xcf\xca\x12\x26\x04\x38\x8a\x72\xe8\x96\x59\xcf\xee\x45\x82\x82\xf9\xfd\xb3\x2a\x9a\x3f\xe4\x28\x24\xa9\x68\xc0\x3b\x3d\x56\x92\x00\x86\xc3\x42\x16\xcb\xd0\x1a\x70\x98\xdc\x82\x60\x11\x09\xe1\x47\x7c\xa4\x7e\x8b\x89\x61\x38\x5c\xb1\xc5\x3e\x64\x87\xa5\x24\xcf\x97\x25\xde\x6f\x9d\x70\x05\xeb\x6a\x94\x49\x5e\x6a\x7e\xa9\xd7\x8f\x41\x97\xa8\x1c\x3e\xc0\x54\x62\x5e\xe6\x2f\xfd\xaf\xae\x9d\xb2\xe9\x37\xfb\xfd\x2f\x6f\xdf\x76\xca\x0b\xd0\x5b\x15\xd7\x26\xe4\xf3\x2d\x63\xb0\xea\xbd\x0c\xb7\x7c\x46\xce\x7f\x96\xfb\xbd\x8b\x8d\x5e\xd0\x2f\x4b\x4a\xdf\x25\x1d\xc0\x21\xcc\x66\x62\xf1\xc2\x03\x86\x8c\xc3\x72\x4f\x72\xcb\x9e\x30\xcc\x66\x6b\x5c\x61\x75\x87\xb2\x55\xd8\x9f\xdc\x00\xcb\x5f\xad\x14\x9c\xbf\xc8\xc1\x8b\x7b\xfe\x1a\xa6\xbb\x14\xb3\x65\xf0\x1c\x66\xc1\x73\x5f\x6c\xec\x7d\xee\xdb\x6a\xf6\xfd\x0a\x82\x7d\x0f\x85\x3a\xd4\xe7\xb9\xe4\xbe\x70\xc8\xd5\x40\x30\xe6\x78\xd8\x32\x77\xd9\x31\x78\xe6\x78\x98\x27\xcd\xb3\xb3\xb3\x3c\xf9\x86\x38\x60\x5c\xbf\x93\x9b\x2f\x0f\x0a\x0b\x82\xb7\x6a\x39\x50\xc8\xdb\x03\x16\x85\xe5\x89\x3b\x48\xb9\x50\xd4\x13\x46\xb2\x81\x45\x43\x41\xa8\x26\x9a\xf7\x15\x6b\x09\xfe\x17\x25\x98\xa6\xa7\x5f\xa2\x0e\x19\x8f\x1b\x10\xa0\x84\x48\x14\x91\xbf\x70\x69\xd2\x7f\xf7\xf3\xaf\x38\x44\x25\xf5\x7a\x03\x22\x1f\xd6\x56\x6e\x64\x85\x7c\x31\xb8\xe8\xde\x92\xdb\xdc\xbd\x27\x9f\x08\x9e\x00\xa1\xf0\xe0\xdb\xf1\xa6\x85\x4a\x63\x78\x2d\xf1\x96\xa7\xdf\xec\xe7\xa1\xcd\x8f\x92\xa2\xf0\x3a\x65\xff\x99\x29\x2b\x24\x67\x74\xf4\x72\xa6\xfd\x7d\xfb\xa9\xb2\x3f\xf2\x9d\xaf\xa6\x95\x09\xf9\x1d\xa2\xae\xa4\x61\xc8\x9f\xcc\x8f\x4e\xad\x6f\xa1\xbd\xc6\xe1\xbf\x23\x0e\xb3\xd6\x74\x11\x6a\xcd\xc1\xcb\xb9\x19\xac\x72\x1b\x3d\x70\x66\x70\xfb\xc1\xbe\x17\x56\x66\xfb\xbc\x83\x92\x5a\xb0\xdc\x44\xcf\x2a\xc1\x8b\x47\xc6\x8a\x44\xfb\x12\x1e\x0f\x5a\xf4\xc1\x83\xa0\xff\xa1\xc1\xb2\xda\x61\xae\x9f\x4c\x7d\xa1\x86\x72\xde\x6e\x6d\xf4\x94\x29\x0d\x31\x57\xdd\x5f\x31\x9c\xb2\xb3\xb5\xaa\x89\xda\xbf\x1c\xf3\xb4\x6a\xba\x63\x7b\xb7\x7a\xd6\xa4\xd4\xbd\xaf\x5d\xe1\xde\x54\xe3\xbd\x8b\x4c\x80\xe6\x78\x0f\x65\xda\x3b\x3b\x3d\x66\x06\xdf\xd7\x11\xbf\x4e\xac\xff\xce\x36\x77\x75\xb9\xb5\x38\xb3\xb7\x5c\x70\xcd\x87\x5e\x60\xc9\xb5\x7a\x82\xf0\x35\x1a\xff\x1d\xd1\xf8\xba\xe8\x7a\x5d\x74\xbd\x2e\xba\xf6\x3d\x58\x5e\x17\x5d\x7b\xd3\xb2\x6d\x73\x54\xd3\xd2\xfb\x71\x27\x8f\xd8\x0a\x5d\xa0\x2c\x47\x9e\xfd\x24\x46\xe1\x68\xd2\xca\x49\x93\xa5\xa3\x8f\x8e\x8e\xee\xdb\xe0\x2e\xee\xec\x6e\x6e\x49\xee\x47\xd3\xb0\x4f\xed\xcb\x73\xb6\x2e\x6f\xb7\xb6\x2e\xa5\x9b\x68\x0f\xb9\x7c\xa5\xb7\x59\x3b\xd7\x50\x3c\x85\xb5\x9a\xae\x8a\xdf\xce\x3f\x5f\x40\xbc\x5d\xcd\x56\x5a\xa3\x9d\x53\x15\xa6\x12\x06\xd3\xdd\xf6\xe1\x36\x73\xc7\xc6\x79\x87\xf5\xcc\xd0\xb4\x42\x72\x73\x92\xfd\x6f\x14\xd3\xc4\xbe\xb5\xb5\x5b\x8e\xd7\x65\x2a\x2e\xf3\x57\xd3\x1a\xb0\x70\xaa\x46\xc6\x32\x8e\x4e\x0c\xa3\xfc\xfb\x9d\x24\x15\x63\x76\x83\xf9\x77\xf8\x36\x7d\x83\xd4\x3f\xff\x3d\xd8\xf7\xf9\x1c\x6c\xf7\xaf\xc1\xbe\xdf\xc7\x60\x2b\x3c\x77\xb0\xe4\xf2\x7b\xf1\x47\x7c\x13\xfa\xff\x01\x00\x00\xff\xff\x01\x57\xab\x8b\x79\x43\x00\x00"), + }, + } + fs["/"].(*vfsgen۰DirInfo).entries = []os.FileInfo{ + fs["/static"].(os.FileInfo), + fs["/templates"].(os.FileInfo), + } + fs["/static"].(*vfsgen۰DirInfo).entries = []os.FileInfo{ + fs["/static/favicon.ico"].(os.FileInfo), + fs["/static/index.html"].(os.FileInfo), + fs["/static/lib"].(os.FileInfo), + fs["/static/script.js"].(os.FileInfo), + } + fs["/static/lib"].(*vfsgen۰DirInfo).entries = []os.FileInfo{ + fs["/static/lib/bootstrap-4.0.0-alpha.6-dist"].(os.FileInfo), + fs["/static/lib/font-awesome-4.7.0"].(os.FileInfo), + } + fs["/static/lib/bootstrap-4.0.0-alpha.6-dist"].(*vfsgen۰DirInfo).entries = []os.FileInfo{ + fs["/static/lib/bootstrap-4.0.0-alpha.6-dist/css"].(os.FileInfo), + } + fs["/static/lib/bootstrap-4.0.0-alpha.6-dist/css"].(*vfsgen۰DirInfo).entries = []os.FileInfo{ + fs["/static/lib/bootstrap-4.0.0-alpha.6-dist/css/bootstrap.min.css"].(os.FileInfo), + fs["/static/lib/bootstrap-4.0.0-alpha.6-dist/css/bootstrap.min.css.map"].(os.FileInfo), + } + fs["/static/lib/font-awesome-4.7.0"].(*vfsgen۰DirInfo).entries = []os.FileInfo{ + fs["/static/lib/font-awesome-4.7.0/css"].(os.FileInfo), + fs["/static/lib/font-awesome-4.7.0/fonts"].(os.FileInfo), + } + fs["/static/lib/font-awesome-4.7.0/css"].(*vfsgen۰DirInfo).entries = []os.FileInfo{ + fs["/static/lib/font-awesome-4.7.0/css/font-awesome.css"].(os.FileInfo), + fs["/static/lib/font-awesome-4.7.0/css/font-awesome.min.css"].(os.FileInfo), + } + fs["/static/lib/font-awesome-4.7.0/fonts"].(*vfsgen۰DirInfo).entries = []os.FileInfo{ + fs["/static/lib/font-awesome-4.7.0/fonts/FontAwesome.otf"].(os.FileInfo), + fs["/static/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.eot"].(os.FileInfo), + fs["/static/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.svg"].(os.FileInfo), + fs["/static/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf"].(os.FileInfo), + fs["/static/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff"].(os.FileInfo), + fs["/static/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2"].(os.FileInfo), + } + fs["/templates"].(*vfsgen۰DirInfo).entries = []os.FileInfo{ + fs["/templates/default.tmpl"].(os.FileInfo), + } + + return fs +}() + +type vfsgen۰FS map[string]interface{} + +func (fs vfsgen۰FS) Open(path string) (http.File, error) { + path = pathpkg.Clean("/" + path) + f, ok := fs[path] + if !ok { + return nil, &os.PathError{Op: "open", Path: path, Err: os.ErrNotExist} + } + + switch f := f.(type) { + case *vfsgen۰CompressedFileInfo: + gr, err := gzip.NewReader(bytes.NewReader(f.compressedContent)) + if err != nil { + // This should never happen because we generate the gzip bytes such that they are always valid. + panic("unexpected error reading own gzip compressed bytes: " + err.Error()) + } + return &vfsgen۰CompressedFile{ + vfsgen۰CompressedFileInfo: f, + gr: gr, + }, nil + case *vfsgen۰FileInfo: + return &vfsgen۰File{ + vfsgen۰FileInfo: f, + Reader: bytes.NewReader(f.content), + }, nil + case *vfsgen۰DirInfo: + return &vfsgen۰Dir{ + vfsgen۰DirInfo: f, + }, nil + default: + // This should never happen because we generate only the above types. + panic(fmt.Sprintf("unexpected type %T", f)) + } +} + +// vfsgen۰CompressedFileInfo is a static definition of a gzip compressed file. +type vfsgen۰CompressedFileInfo struct { + name string + modTime time.Time + compressedContent []byte + uncompressedSize int64 +} + +func (f *vfsgen۰CompressedFileInfo) Readdir(count int) ([]os.FileInfo, error) { + return nil, fmt.Errorf("cannot Readdir from file %s", f.name) +} +func (f *vfsgen۰CompressedFileInfo) Stat() (os.FileInfo, error) { return f, nil } + +func (f *vfsgen۰CompressedFileInfo) GzipBytes() []byte { + return f.compressedContent +} + +func (f *vfsgen۰CompressedFileInfo) Name() string { return f.name } +func (f *vfsgen۰CompressedFileInfo) Size() int64 { return f.uncompressedSize } +func (f *vfsgen۰CompressedFileInfo) Mode() os.FileMode { return 0444 } +func (f *vfsgen۰CompressedFileInfo) ModTime() time.Time { return f.modTime } +func (f *vfsgen۰CompressedFileInfo) IsDir() bool { return false } +func (f *vfsgen۰CompressedFileInfo) Sys() interface{} { return nil } + +// vfsgen۰CompressedFile is an opened compressedFile instance. +type vfsgen۰CompressedFile struct { + *vfsgen۰CompressedFileInfo + gr *gzip.Reader + grPos int64 // Actual gr uncompressed position. + seekPos int64 // Seek uncompressed position. +} + +func (f *vfsgen۰CompressedFile) Read(p []byte) (n int, err error) { + if f.grPos > f.seekPos { + // Rewind to beginning. + err = f.gr.Reset(bytes.NewReader(f.compressedContent)) + if err != nil { + return 0, err + } + f.grPos = 0 + } + if f.grPos < f.seekPos { + // Fast-forward. + _, err = io.CopyN(ioutil.Discard, f.gr, f.seekPos-f.grPos) + if err != nil { + return 0, err + } + f.grPos = f.seekPos + } + n, err = f.gr.Read(p) + f.grPos += int64(n) + f.seekPos = f.grPos + return n, err +} +func (f *vfsgen۰CompressedFile) Seek(offset int64, whence int) (int64, error) { + switch whence { + case io.SeekStart: + f.seekPos = 0 + offset + case io.SeekCurrent: + f.seekPos += offset + case io.SeekEnd: + f.seekPos = f.uncompressedSize + offset + default: + panic(fmt.Errorf("invalid whence value: %v", whence)) + } + return f.seekPos, nil +} +func (f *vfsgen۰CompressedFile) Close() error { + return f.gr.Close() +} + +// vfsgen۰FileInfo is a static definition of an uncompressed file (because it's not worth gzip compressing). +type vfsgen۰FileInfo struct { + name string + modTime time.Time + content []byte +} + +func (f *vfsgen۰FileInfo) Readdir(count int) ([]os.FileInfo, error) { + return nil, fmt.Errorf("cannot Readdir from file %s", f.name) +} +func (f *vfsgen۰FileInfo) Stat() (os.FileInfo, error) { return f, nil } + +func (f *vfsgen۰FileInfo) NotWorthGzipCompressing() {} + +func (f *vfsgen۰FileInfo) Name() string { return f.name } +func (f *vfsgen۰FileInfo) Size() int64 { return int64(len(f.content)) } +func (f *vfsgen۰FileInfo) Mode() os.FileMode { return 0444 } +func (f *vfsgen۰FileInfo) ModTime() time.Time { return f.modTime } +func (f *vfsgen۰FileInfo) IsDir() bool { return false } +func (f *vfsgen۰FileInfo) Sys() interface{} { return nil } + +// vfsgen۰File is an opened file instance. +type vfsgen۰File struct { + *vfsgen۰FileInfo + *bytes.Reader +} + +func (f *vfsgen۰File) Close() error { + return nil +} + +// vfsgen۰DirInfo is a static definition of a directory. +type vfsgen۰DirInfo struct { + name string + modTime time.Time + entries []os.FileInfo +} + +func (d *vfsgen۰DirInfo) Read([]byte) (int, error) { + return 0, fmt.Errorf("cannot Read from directory %s", d.name) +} +func (d *vfsgen۰DirInfo) Close() error { return nil } +func (d *vfsgen۰DirInfo) Stat() (os.FileInfo, error) { return d, nil } + +func (d *vfsgen۰DirInfo) Name() string { return d.name } +func (d *vfsgen۰DirInfo) Size() int64 { return 0 } +func (d *vfsgen۰DirInfo) Mode() os.FileMode { return 0755 | os.ModeDir } +func (d *vfsgen۰DirInfo) ModTime() time.Time { return d.modTime } +func (d *vfsgen۰DirInfo) IsDir() bool { return true } +func (d *vfsgen۰DirInfo) Sys() interface{} { return nil } + +// vfsgen۰Dir is an opened dir instance. +type vfsgen۰Dir struct { + *vfsgen۰DirInfo + pos int // Position within entries for Seek and Readdir. +} + +func (d *vfsgen۰Dir) Seek(offset int64, whence int) (int64, error) { + if offset == 0 && whence == io.SeekStart { + d.pos = 0 + return 0, nil + } + return 0, fmt.Errorf("unsupported Seek in directory %s", d.name) +} + +func (d *vfsgen۰Dir) Readdir(count int) ([]os.FileInfo, error) { + if d.pos >= len(d.entries) && count > 0 { + return nil, io.EOF + } + if count <= 0 || count > len(d.entries)-d.pos { + count = len(d.entries) - d.pos + } + e := d.entries[d.pos : d.pos+count] + d.pos += count + return e, nil +} diff --git a/vendor/github.com/prometheus/prometheus/util/testutil/logging.go b/vendor/github.com/prometheus/alertmanager/asset/doc.go similarity index 59% rename from vendor/github.com/prometheus/prometheus/util/testutil/logging.go rename to vendor/github.com/prometheus/alertmanager/asset/doc.go index 839b86690be..3aa1e678912 100644 --- a/vendor/github.com/prometheus/prometheus/util/testutil/logging.go +++ b/vendor/github.com/prometheus/alertmanager/asset/doc.go @@ -1,4 +1,4 @@ -// Copyright 2019 The Prometheus Authors +// Copyright 2018 The Prometheus Authors // 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 @@ -11,25 +11,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -package testutil +// Package asset provides the assets via a virtual filesystem. +package asset import ( - "testing" - - "github.com/go-kit/kit/log" + // The blank import is to make govendor happy. + _ "github.com/shurcooL/vfsgen" ) -type logger struct { - t *testing.T -} - -// NewLogger returns a gokit compatible Logger which calls t.Log. -func NewLogger(t *testing.T) log.Logger { - return logger{t: t} -} - -// Log implements log.Logger. -func (t logger) Log(keyvals ...interface{}) error { - t.t.Log(keyvals...) - return nil -} +//go:generate go run -tags=dev asset_generate.go diff --git a/vendor/github.com/prometheus/alertmanager/cluster/advertise.go b/vendor/github.com/prometheus/alertmanager/cluster/advertise.go index c6f44b927be..8eca5463565 100644 --- a/vendor/github.com/prometheus/alertmanager/cluster/advertise.go +++ b/vendor/github.com/prometheus/alertmanager/cluster/advertise.go @@ -22,13 +22,13 @@ import ( type getPrivateIPFunc func() (string, error) -// This is overriden in unit tests to mock the sockaddr.GetPrivateIP function. +// This is overridden in unit tests to mock the sockaddr.GetPrivateIP function. var getPrivateAddress getPrivateIPFunc = sockaddr.GetPrivateIP // calculateAdvertiseAddress attempts to clone logic from deep within memberlist // (NetTransport.FinalAdvertiseAddr) in order to surface its conclusions to the // application, so we can provide more actionable error messages if the user has -// inadvertantly misconfigured their cluster. +// inadvertently misconfigured their cluster. // // https://github.com/hashicorp/memberlist/blob/022f081/net_transport.go#L126 func calculateAdvertiseAddress(bindAddr, advertiseAddr string) (net.IP, error) { diff --git a/vendor/github.com/prometheus/alertmanager/cluster/cluster.go b/vendor/github.com/prometheus/alertmanager/cluster/cluster.go index 5881a7e71ac..20c7a1c3a15 100644 --- a/vendor/github.com/prometheus/alertmanager/cluster/cluster.go +++ b/vendor/github.com/prometheus/alertmanager/cluster/cluster.go @@ -49,8 +49,13 @@ type Peer struct { peers map[string]peer failedPeers []peer + knownPeers []string + advertiseAddr string + failedReconnectionsCounter prometheus.Counter reconnectionsCounter prometheus.Counter + failedRefreshCounter prometheus.Counter + refreshCounter prometheus.Counter peerLeaveCounter prometheus.Counter peerUpdateCounter prometheus.Counter peerJoinCounter prometheus.Counter @@ -97,6 +102,7 @@ const ( DefaultProbeInterval = 1 * time.Second DefaultReconnectInterval = 10 * time.Second DefaultReconnectTimeout = 6 * time.Hour + DefaultRefreshInterval = 15 * time.Second maxGossipPacketSize = 1400 ) @@ -136,7 +142,7 @@ func Create( } } - resolvedPeers, err := resolvePeers(context.Background(), knownPeers, advertiseAddr, net.Resolver{}, waitIfEmpty) + resolvedPeers, err := resolvePeers(context.Background(), knownPeers, advertiseAddr, &net.Resolver{}, waitIfEmpty) if err != nil { return nil, errors.Wrap(err, "resolve peers") } @@ -170,9 +176,10 @@ func Create( logger: l, peers: map[string]peer{}, resolvedPeers: resolvedPeers, + knownPeers: knownPeers, } - p.register(reg) + p.register(reg, name.String()) retransmit := len(knownPeers) / 2 if retransmit < 3 { @@ -185,6 +192,8 @@ func Create( cfg.BindAddr = bindHost cfg.BindPort = bindPort cfg.Delegate = p.delegate + cfg.Ping = p.delegate + cfg.Alive = p.delegate cfg.Events = p.delegate cfg.GossipInterval = gossipInterval cfg.PushPullInterval = pushPullInterval @@ -225,11 +234,21 @@ func (p *Peer) Join( } if reconnectInterval != 0 { - go p.handleReconnect(reconnectInterval) + go p.runPeriodicTask( + reconnectInterval, + p.reconnect, + ) } if reconnectTimeout != 0 { - go p.handleReconnectTimeout(5*time.Minute, reconnectTimeout) + go p.runPeriodicTask( + 5*time.Minute, + func() { p.removeFailedPeers(reconnectTimeout) }, + ) } + go p.runPeriodicTask( + DefaultRefreshInterval, + p.refresh, + ) return err } @@ -287,7 +306,15 @@ func (l *logWriter) Write(b []byte) (int, error) { return len(b), level.Debug(l.l).Log("memberlist", string(b)) } -func (p *Peer) register(reg prometheus.Registerer) { +func (p *Peer) register(reg prometheus.Registerer, name string) { + peerInfo := prometheus.NewGauge( + prometheus.GaugeOpts{ + Name: "alertmanager_cluster_peer_info", + Help: "A metric with a constant '1' value labeled by peer name.", + ConstLabels: prometheus.Labels{"peer": name}, + }, + ) + peerInfo.Set(1) clusterFailedPeers := prometheus.NewGaugeFunc(prometheus.GaugeOpts{ Name: "alertmanager_cluster_failed_peers", Help: "Number indicating the current number of failed peers in the cluster.", @@ -307,6 +334,15 @@ func (p *Peer) register(reg prometheus.Registerer) { Help: "A counter of the number of cluster peer reconnections.", }) + p.failedRefreshCounter = prometheus.NewCounter(prometheus.CounterOpts{ + Name: "alertmanager_cluster_refresh_join_failed_total", + Help: "A counter of the number of failed cluster peer joined attempts via refresh.", + }) + p.refreshCounter = prometheus.NewCounter(prometheus.CounterOpts{ + Name: "alertmanager_cluster_refresh_join_total", + Help: "A counter of the number of cluster peer joined via refresh.", + }) + p.peerLeaveCounter = prometheus.NewCounter(prometheus.CounterOpts{ Name: "alertmanager_cluster_peers_left_total", Help: "A counter of the number of peers that have left.", @@ -320,11 +356,11 @@ func (p *Peer) register(reg prometheus.Registerer) { Help: "A counter of the number of peers that have joined.", }) - reg.MustRegister(clusterFailedPeers, p.failedReconnectionsCounter, p.reconnectionsCounter, - p.peerLeaveCounter, p.peerUpdateCounter, p.peerJoinCounter) + reg.MustRegister(peerInfo, clusterFailedPeers, p.failedReconnectionsCounter, p.reconnectionsCounter, + p.peerLeaveCounter, p.peerUpdateCounter, p.peerJoinCounter, p.refreshCounter, p.failedRefreshCounter) } -func (p *Peer) handleReconnectTimeout(d time.Duration, timeout time.Duration) { +func (p *Peer) runPeriodicTask(d time.Duration, f func()) { tick := time.NewTicker(d) defer tick.Stop() @@ -333,7 +369,7 @@ func (p *Peer) handleReconnectTimeout(d time.Duration, timeout time.Duration) { case <-p.stopc: return case <-tick.C: - p.removeFailedPeers(timeout) + f() } } } @@ -357,20 +393,6 @@ func (p *Peer) removeFailedPeers(timeout time.Duration) { p.failedPeers = keep } -func (p *Peer) handleReconnect(d time.Duration) { - tick := time.NewTicker(d) - defer tick.Stop() - - for { - select { - case <-p.stopc: - return - case <-tick.C: - p.reconnect() - } - } -} - func (p *Peer) reconnect() { p.peerLock.RLock() failedPeers := p.failedPeers @@ -391,6 +413,37 @@ func (p *Peer) reconnect() { } } +func (p *Peer) refresh() { + logger := log.With(p.logger, "msg", "refresh") + + resolvedPeers, err := resolvePeers(context.Background(), p.knownPeers, p.advertiseAddr, &net.Resolver{}, false) + if err != nil { + level.Debug(logger).Log("peers", p.knownPeers, "err", err) + return + } + + members := p.mlist.Members() + for _, peer := range resolvedPeers { + var isPeerFound bool + for _, member := range members { + if member.Address() == peer { + isPeerFound = true + break + } + } + + if !isPeerFound { + if _, err := p.mlist.Join([]string{peer}); err != nil { + p.failedRefreshCounter.Inc() + level.Warn(logger).Log("result", "failure", "addr", peer) + } else { + p.refreshCounter.Inc() + level.Debug(logger).Log("result", "success", "addr", peer) + } + } + } +} + func (p *Peer) peerJoin(n *memberlist.Node) { p.peerLock.Lock() defer p.peerLock.Unlock() @@ -516,9 +569,9 @@ func (p *Peer) WaitReady() { func (p *Peer) Status() string { if p.Ready() { return "ready" - } else { - return "settling" } + + return "settling" } // Info returns a JSON-serializable dump of cluster state. @@ -617,7 +670,7 @@ func (b simpleBroadcast) Message() []byte { return []byte( func (b simpleBroadcast) Invalidates(memberlist.Broadcast) bool { return false } func (b simpleBroadcast) Finished() {} -func resolvePeers(ctx context.Context, peers []string, myAddress string, res net.Resolver, waitIfEmpty bool) ([]string, error) { +func resolvePeers(ctx context.Context, peers []string, myAddress string, res *net.Resolver, waitIfEmpty bool) ([]string, error) { var resolvedPeers []string for _, peer := range peers { @@ -627,6 +680,7 @@ func resolvePeers(ctx context.Context, peers []string, myAddress string, res net } retryCtx, cancel := context.WithCancel(ctx) + defer cancel() ips, err := res.LookupIPAddr(ctx, host) if err != nil { diff --git a/vendor/github.com/prometheus/alertmanager/cluster/clusterpb/cluster.pb.go b/vendor/github.com/prometheus/alertmanager/cluster/clusterpb/cluster.pb.go index 34ae90b702a..a422edcd8a5 100644 --- a/vendor/github.com/prometheus/alertmanager/cluster/clusterpb/cluster.pb.go +++ b/vendor/github.com/prometheus/alertmanager/cluster/clusterpb/cluster.pb.go @@ -1,24 +1,16 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: cluster.proto -/* - Package clusterpb is a generated protocol buffer package. - - It is generated from these files: - cluster.proto - - It has these top-level messages: - Part - FullState -*/ package clusterpb -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" +import ( + fmt "fmt" + io "io" + math "math" -import io "io" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -32,28 +24,108 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type Part struct { - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Part) Reset() { *m = Part{} } -func (m *Part) String() string { return proto.CompactTextString(m) } -func (*Part) ProtoMessage() {} -func (*Part) Descriptor() ([]byte, []int) { return fileDescriptorCluster, []int{0} } +func (m *Part) Reset() { *m = Part{} } +func (m *Part) String() string { return proto.CompactTextString(m) } +func (*Part) ProtoMessage() {} +func (*Part) Descriptor() ([]byte, []int) { + return fileDescriptor_3cfb3b8ec240c376, []int{0} +} +func (m *Part) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Part) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Part.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Part) XXX_Merge(src proto.Message) { + xxx_messageInfo_Part.Merge(m, src) +} +func (m *Part) XXX_Size() int { + return m.Size() +} +func (m *Part) XXX_DiscardUnknown() { + xxx_messageInfo_Part.DiscardUnknown(m) +} + +var xxx_messageInfo_Part proto.InternalMessageInfo type FullState struct { - Parts []Part `protobuf:"bytes,1,rep,name=parts" json:"parts"` + Parts []Part `protobuf:"bytes,1,rep,name=parts,proto3" json:"parts"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FullState) Reset() { *m = FullState{} } +func (m *FullState) String() string { return proto.CompactTextString(m) } +func (*FullState) ProtoMessage() {} +func (*FullState) Descriptor() ([]byte, []int) { + return fileDescriptor_3cfb3b8ec240c376, []int{1} +} +func (m *FullState) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FullState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FullState.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *FullState) XXX_Merge(src proto.Message) { + xxx_messageInfo_FullState.Merge(m, src) +} +func (m *FullState) XXX_Size() int { + return m.Size() +} +func (m *FullState) XXX_DiscardUnknown() { + xxx_messageInfo_FullState.DiscardUnknown(m) } -func (m *FullState) Reset() { *m = FullState{} } -func (m *FullState) String() string { return proto.CompactTextString(m) } -func (*FullState) ProtoMessage() {} -func (*FullState) Descriptor() ([]byte, []int) { return fileDescriptorCluster, []int{1} } +var xxx_messageInfo_FullState proto.InternalMessageInfo func init() { proto.RegisterType((*Part)(nil), "clusterpb.Part") proto.RegisterType((*FullState)(nil), "clusterpb.FullState") } + +func init() { proto.RegisterFile("cluster.proto", fileDescriptor_3cfb3b8ec240c376) } + +var fileDescriptor_3cfb3b8ec240c376 = []byte{ + // 168 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4d, 0xce, 0x29, 0x2d, + 0x2e, 0x49, 0x2d, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x84, 0x72, 0x0b, 0x92, 0xa4, + 0x44, 0xd2, 0xf3, 0xd3, 0xf3, 0xc1, 0xa2, 0xfa, 0x20, 0x16, 0x44, 0x81, 0x92, 0x0e, 0x17, 0x4b, + 0x40, 0x62, 0x51, 0x89, 0x90, 0x00, 0x17, 0x73, 0x76, 0x6a, 0xa5, 0x04, 0xa3, 0x02, 0xa3, 0x06, + 0x67, 0x10, 0x88, 0x29, 0x24, 0xc4, 0xc5, 0x92, 0x92, 0x58, 0x92, 0x28, 0xc1, 0xa4, 0xc0, 0xa8, + 0xc1, 0x13, 0x04, 0x66, 0x2b, 0x59, 0x70, 0x71, 0xba, 0x95, 0xe6, 0xe4, 0x04, 0x97, 0x24, 0x96, + 0xa4, 0x0a, 0x69, 0x73, 0xb1, 0x16, 0x24, 0x16, 0x95, 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6b, 0x70, + 0x1b, 0xf1, 0xeb, 0xc1, 0xed, 0xd2, 0x03, 0x19, 0xe9, 0xc4, 0x72, 0xe2, 0x9e, 0x3c, 0x43, 0x10, + 0x44, 0x8d, 0x93, 0xc0, 0x89, 0x87, 0x72, 0x0c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, + 0xf8, 0xe0, 0x91, 0x1c, 0x63, 0x12, 0x1b, 0xd8, 0x01, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xfd, 0x3c, 0xdb, 0xe7, 0xb2, 0x00, 0x00, 0x00, +} + func (m *Part) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -81,6 +153,9 @@ func (m *Part) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintCluster(dAtA, i, uint64(len(m.Data))) i += copy(dAtA[i:], m.Data) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -111,6 +186,9 @@ func (m *FullState) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -124,6 +202,9 @@ func encodeVarintCluster(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Part) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Key) @@ -134,10 +215,16 @@ func (m *Part) Size() (n int) { if l > 0 { n += 1 + l + sovCluster(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *FullState) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Parts) > 0 { @@ -146,6 +233,9 @@ func (m *FullState) Size() (n int) { n += 1 + l + sovCluster(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -177,7 +267,7 @@ func (m *Part) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -205,7 +295,7 @@ func (m *Part) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -215,6 +305,9 @@ func (m *Part) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCluster } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCluster + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -234,7 +327,7 @@ func (m *Part) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= (int(b) & 0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -243,6 +336,9 @@ func (m *Part) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCluster } postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthCluster + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -260,9 +356,13 @@ func (m *Part) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCluster } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCluster + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -287,7 +387,7 @@ func (m *FullState) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -315,7 +415,7 @@ func (m *FullState) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -324,6 +424,9 @@ func (m *FullState) Unmarshal(dAtA []byte) error { return ErrInvalidLengthCluster } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCluster + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -341,9 +444,13 @@ func (m *FullState) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthCluster } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthCluster + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -407,10 +514,13 @@ func skipCluster(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthCluster } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthCluster + } return iNdEx, nil case 3: for { @@ -439,6 +549,9 @@ func skipCluster(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthCluster + } } return iNdEx, nil case 4: @@ -457,20 +570,3 @@ var ( ErrInvalidLengthCluster = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowCluster = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("cluster.proto", fileDescriptorCluster) } - -var fileDescriptorCluster = []byte{ - // 168 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4d, 0xce, 0x29, 0x2d, - 0x2e, 0x49, 0x2d, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x84, 0x72, 0x0b, 0x92, 0xa4, - 0x44, 0xd2, 0xf3, 0xd3, 0xf3, 0xc1, 0xa2, 0xfa, 0x20, 0x16, 0x44, 0x81, 0x92, 0x0e, 0x17, 0x4b, - 0x40, 0x62, 0x51, 0x89, 0x90, 0x00, 0x17, 0x73, 0x76, 0x6a, 0xa5, 0x04, 0xa3, 0x02, 0xa3, 0x06, - 0x67, 0x10, 0x88, 0x29, 0x24, 0xc4, 0xc5, 0x92, 0x92, 0x58, 0x92, 0x28, 0xc1, 0xa4, 0xc0, 0xa8, - 0xc1, 0x13, 0x04, 0x66, 0x2b, 0x59, 0x70, 0x71, 0xba, 0x95, 0xe6, 0xe4, 0x04, 0x97, 0x24, 0x96, - 0xa4, 0x0a, 0x69, 0x73, 0xb1, 0x16, 0x24, 0x16, 0x95, 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6b, 0x70, - 0x1b, 0xf1, 0xeb, 0xc1, 0xed, 0xd2, 0x03, 0x19, 0xe9, 0xc4, 0x72, 0xe2, 0x9e, 0x3c, 0x43, 0x10, - 0x44, 0x8d, 0x93, 0xc0, 0x89, 0x87, 0x72, 0x0c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, - 0xf8, 0xe0, 0x91, 0x1c, 0x63, 0x12, 0x1b, 0xd8, 0x01, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, - 0xfd, 0x3c, 0xdb, 0xe7, 0xb2, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/prometheus/alertmanager/cluster/delegate.go b/vendor/github.com/prometheus/alertmanager/cluster/delegate.go index 9c00318d529..bcacf83e256 100644 --- a/vendor/github.com/prometheus/alertmanager/cluster/delegate.go +++ b/vendor/github.com/prometheus/alertmanager/cluster/delegate.go @@ -24,8 +24,12 @@ import ( "github.com/prometheus/client_golang/prometheus" ) -// Maximum number of messages to be held in the queue. -const maxQueueSize = 4096 +const ( + // Maximum number of messages to be held in the queue. + maxQueueSize = 4096 + fullState = "full_state" + update = "update" +) // delegate implements memberlist.Delegate and memberlist.EventDelegate // and broadcasts its peer's state in the cluster. @@ -40,6 +44,8 @@ type delegate struct { messagesSent *prometheus.CounterVec messagesSentSize *prometheus.CounterVec messagesPruned prometheus.Counter + nodeAlive *prometheus.CounterVec + nodePingDuration *prometheus.HistogramVec } func newDelegate(l log.Logger, reg prometheus.Registerer, p *Peer, retransmit int) *delegate { @@ -49,7 +55,7 @@ func newDelegate(l log.Logger, reg prometheus.Registerer, p *Peer, retransmit in } messagesReceived := prometheus.NewCounterVec(prometheus.CounterOpts{ Name: "alertmanager_cluster_messages_received_total", - Help: "Total number of cluster messsages received.", + Help: "Total number of cluster messages received.", }, []string{"msg_type"}) messagesReceivedSize := prometheus.NewCounterVec(prometheus.CounterOpts{ Name: "alertmanager_cluster_messages_received_size_total", @@ -57,7 +63,7 @@ func newDelegate(l log.Logger, reg prometheus.Registerer, p *Peer, retransmit in }, []string{"msg_type"}) messagesSent := prometheus.NewCounterVec(prometheus.CounterOpts{ Name: "alertmanager_cluster_messages_sent_total", - Help: "Total number of cluster messsages sent.", + Help: "Total number of cluster messages sent.", }, []string{"msg_type"}) messagesSentSize := prometheus.NewCounterVec(prometheus.CounterOpts{ Name: "alertmanager_cluster_messages_sent_size_total", @@ -65,7 +71,7 @@ func newDelegate(l log.Logger, reg prometheus.Registerer, p *Peer, retransmit in }, []string{"msg_type"}) messagesPruned := prometheus.NewCounter(prometheus.CounterOpts{ Name: "alertmanager_cluster_messages_pruned_total", - Help: "Total number of cluster messsages pruned.", + Help: "Total number of cluster messages pruned.", }) gossipClusterMembers := prometheus.NewGaugeFunc(prometheus.GaugeOpts{ Name: "alertmanager_cluster_members", @@ -87,22 +93,35 @@ func newDelegate(l log.Logger, reg prometheus.Registerer, p *Peer, retransmit in }) messagesQueued := prometheus.NewGaugeFunc(prometheus.GaugeOpts{ Name: "alertmanager_cluster_messages_queued", - Help: "Number of cluster messsages which are queued.", + Help: "Number of cluster messages which are queued.", }, func() float64 { return float64(bcast.NumQueued()) }) + nodeAlive := prometheus.NewCounterVec(prometheus.CounterOpts{ + Name: "alertmanager_cluster_alive_messages_total", + Help: "Total number of received alive messages.", + }, []string{"peer"}, + ) + nodePingDuration := prometheus.NewHistogramVec(prometheus.HistogramOpts{ + Name: "alertmanager_cluster_pings_seconds", + Help: "Histogram of latencies for ping messages.", + Buckets: []float64{.005, .01, .025, .05, .1, .25, .5}, + }, []string{"peer"}, + ) - messagesReceived.WithLabelValues("full_state") - messagesReceivedSize.WithLabelValues("full_state") - messagesReceived.WithLabelValues("update") - messagesReceivedSize.WithLabelValues("update") - messagesSent.WithLabelValues("full_state") - messagesSentSize.WithLabelValues("full_state") - messagesSent.WithLabelValues("update") - messagesSentSize.WithLabelValues("update") + messagesReceived.WithLabelValues(fullState) + messagesReceivedSize.WithLabelValues(fullState) + messagesReceived.WithLabelValues(update) + messagesReceivedSize.WithLabelValues(update) + messagesSent.WithLabelValues(fullState) + messagesSentSize.WithLabelValues(fullState) + messagesSent.WithLabelValues(update) + messagesSentSize.WithLabelValues(update) reg.MustRegister(messagesReceived, messagesReceivedSize, messagesSent, messagesSentSize, - gossipClusterMembers, peerPosition, healthScore, messagesQueued, messagesPruned) + gossipClusterMembers, peerPosition, healthScore, messagesQueued, messagesPruned, + nodeAlive, nodePingDuration, + ) d := &delegate{ logger: l, @@ -113,6 +132,8 @@ func newDelegate(l log.Logger, reg prometheus.Registerer, p *Peer, retransmit in messagesSent: messagesSent, messagesSentSize: messagesSentSize, messagesPruned: messagesPruned, + nodeAlive: nodeAlive, + nodePingDuration: nodePingDuration, } go d.handleQueueDepth() @@ -127,8 +148,8 @@ func (d *delegate) NodeMeta(limit int) []byte { // NotifyMsg is the callback invoked when a user-level gossip message is received. func (d *delegate) NotifyMsg(b []byte) { - d.messagesReceived.WithLabelValues("update").Inc() - d.messagesReceivedSize.WithLabelValues("update").Add(float64(len(b))) + d.messagesReceived.WithLabelValues(update).Inc() + d.messagesReceivedSize.WithLabelValues(update).Add(float64(len(b))) var p clusterpb.Part if err := proto.Unmarshal(b, &p); err != nil { @@ -149,9 +170,9 @@ func (d *delegate) NotifyMsg(b []byte) { // GetBroadcasts is called when user data messages can be broadcasted. func (d *delegate) GetBroadcasts(overhead, limit int) [][]byte { msgs := d.bcast.GetBroadcasts(overhead, limit) - d.messagesSent.WithLabelValues("update").Add(float64(len(msgs))) + d.messagesSent.WithLabelValues(update).Add(float64(len(msgs))) for _, m := range msgs { - d.messagesSentSize.WithLabelValues("update").Add(float64(len(m))) + d.messagesSentSize.WithLabelValues(update).Add(float64(len(m))) } return msgs } @@ -175,14 +196,14 @@ func (d *delegate) LocalState(_ bool) []byte { level.Warn(d.logger).Log("msg", "encode local state", "err", err) return nil } - d.messagesSent.WithLabelValues("full_state").Inc() - d.messagesSentSize.WithLabelValues("full_state").Add(float64(len(b))) + d.messagesSent.WithLabelValues(fullState).Inc() + d.messagesSentSize.WithLabelValues(fullState).Add(float64(len(b))) return b } func (d *delegate) MergeRemoteState(buf []byte, _ bool) { - d.messagesReceived.WithLabelValues("full_state").Inc() - d.messagesReceivedSize.WithLabelValues("full_state").Add(float64(len(buf))) + d.messagesReceived.WithLabelValues(fullState).Inc() + d.messagesReceivedSize.WithLabelValues(fullState).Add(float64(len(buf))) var fs clusterpb.FullState if err := proto.Unmarshal(buf, &fs); err != nil { @@ -222,6 +243,22 @@ func (d *delegate) NotifyUpdate(n *memberlist.Node) { d.Peer.peerUpdate(n) } +// NotifyAlive implements the memberlist.AliveDelegate interface. +func (d *delegate) NotifyAlive(peer *memberlist.Node) error { + d.nodeAlive.WithLabelValues(peer.Name).Inc() + return nil +} + +// AckPayload implements the memberlist.PingDelegate interface. +func (d *delegate) AckPayload() []byte { + return []byte{} +} + +// NotifyPingComplete implements the memberlist.PingDelegate interface. +func (d *delegate) NotifyPingComplete(peer *memberlist.Node, rtt time.Duration, payload []byte) { + d.nodePingDuration.WithLabelValues(peer.Name).Observe(rtt.Seconds()) +} + // handleQueueDepth ensures that the queue doesn't grow unbounded by pruning // older messages at regular interval. func (d *delegate) handleQueueDepth() { diff --git a/vendor/github.com/prometheus/alertmanager/config/config.go b/vendor/github.com/prometheus/alertmanager/config/config.go index 77afda477cd..b7dac403ab7 100644 --- a/vendor/github.com/prometheus/alertmanager/config/config.go +++ b/vendor/github.com/prometheus/alertmanager/config/config.go @@ -18,6 +18,7 @@ import ( "errors" "fmt" "io/ioutil" + "net/url" "path/filepath" "regexp" "strings" @@ -28,26 +29,137 @@ import ( "gopkg.in/yaml.v2" ) +const secretToken = "" + +var secretTokenJSON string + +func init() { + b, err := json.Marshal(secretToken) + if err != nil { + panic(err) + } + secretTokenJSON = string(b) +} + // Secret is a string that must not be revealed on marshaling. type Secret string -// MarshalYAML implements the yaml.Marshaler interface. +// MarshalYAML implements the yaml.Marshaler interface for Secret. func (s Secret) MarshalYAML() (interface{}, error) { if s != "" { - return "", nil + return secretToken, nil } return nil, nil } -//UnmarshalYAML implements the yaml.Unmarshaler interface for Secrets. +// UnmarshalYAML implements the yaml.Unmarshaler interface for Secret. func (s *Secret) UnmarshalYAML(unmarshal func(interface{}) error) error { type plain Secret return unmarshal((*plain)(s)) } -// MarshalJSON implements the json.Marshaler interface. +// MarshalJSON implements the json.Marshaler interface for Secret. func (s Secret) MarshalJSON() ([]byte, error) { - return json.Marshal("") + return json.Marshal(secretToken) +} + +// URL is a custom type that represents an HTTP or HTTPS URL and allows validation at configuration load time. +type URL struct { + *url.URL +} + +// Copy makes a deep-copy of the struct. +func (u *URL) Copy() *URL { + v := *u.URL + return &URL{&v} +} + +// MarshalYAML implements the yaml.Marshaler interface for URL. +func (u URL) MarshalYAML() (interface{}, error) { + if u.URL != nil { + return u.URL.String(), nil + } + return nil, nil +} + +// UnmarshalYAML implements the yaml.Unmarshaler interface for URL. +func (u *URL) UnmarshalYAML(unmarshal func(interface{}) error) error { + var s string + if err := unmarshal(&s); err != nil { + return err + } + urlp, err := parseURL(s) + if err != nil { + return err + } + u.URL = urlp.URL + return nil +} + +// MarshalJSON implements the json.Marshaler interface for URL. +func (u URL) MarshalJSON() ([]byte, error) { + if u.URL != nil { + return json.Marshal(u.URL.String()) + } + return nil, nil +} + +// UnmarshalJSON implements the json.Marshaler interface for URL. +func (u *URL) UnmarshalJSON(data []byte) error { + var s string + if err := json.Unmarshal(data, &s); err != nil { + return err + } + urlp, err := parseURL(s) + if err != nil { + return err + } + u.URL = urlp.URL + return nil +} + +// SecretURL is a URL that must not be revealed on marshaling. +type SecretURL URL + +// MarshalYAML implements the yaml.Marshaler interface for SecretURL. +func (s SecretURL) MarshalYAML() (interface{}, error) { + if s.URL != nil { + return secretToken, nil + } + return nil, nil +} + +// UnmarshalYAML implements the yaml.Unmarshaler interface for SecretURL. +func (s *SecretURL) UnmarshalYAML(unmarshal func(interface{}) error) error { + var str string + if err := unmarshal(&str); err != nil { + return err + } + // In order to deserialize a previously serialized configuration (eg from + // the Alertmanager API with amtool), `` needs to be treated + // specially, as it isn't a valid URL. + if str == secretToken { + s.URL = &url.URL{} + return nil + } + return unmarshal((*URL)(s)) +} + +// MarshalJSON implements the json.Marshaler interface for SecretURL. +func (s SecretURL) MarshalJSON() ([]byte, error) { + return json.Marshal(secretToken) +} + +// UnmarshalJSON implements the json.Marshaler interface for SecretURL. +func (s *SecretURL) UnmarshalJSON(data []byte) error { + // In order to deserialize a previously serialized configuration (eg from + // the Alertmanager API with amtool), `` needs to be treated + // specially, as it isn't a valid URL. + if string(data) == secretToken || string(data) == secretTokenJSON { + s.URL = &url.URL{} + return nil + } + return json.Unmarshal(data, (*URL)(s)) } // Load parses the YAML input s into a Config. @@ -123,7 +235,7 @@ func (c Config) String() string { return string(b) } -// UnmarshalYAML implements the yaml.Unmarshaler interface. +// UnmarshalYAML implements the yaml.Unmarshaler interface for Config. func (c *Config) UnmarshalYAML(unmarshal func(interface{}) error) error { // We want to set c to the defaults and then overwrite it with the input. // To make unmarshal fill the plain data struct rather than calling UnmarshalYAML @@ -137,7 +249,7 @@ func (c *Config) UnmarshalYAML(unmarshal func(interface{}) error) error { // We have to restore it here. if c.Global == nil { c.Global = &GlobalConfig{} - *c.Global = DefaultGlobalConfig + *c.Global = DefaultGlobalConfig() } names := map[string]struct{}{} @@ -188,8 +300,8 @@ func (c *Config) UnmarshalYAML(unmarshal func(interface{}) error) error { if sc.HTTPConfig == nil { sc.HTTPConfig = c.Global.HTTPConfig } - if sc.APIURL == "" { - if c.Global.SlackAPIURL == "" { + if sc.APIURL == nil { + if c.Global.SlackAPIURL == nil { return fmt.Errorf("no global Slack API URL set") } sc.APIURL = c.Global.SlackAPIURL @@ -199,14 +311,14 @@ func (c *Config) UnmarshalYAML(unmarshal func(interface{}) error) error { if hc.HTTPConfig == nil { hc.HTTPConfig = c.Global.HTTPConfig } - if hc.APIURL == "" { - if c.Global.HipchatAPIURL == "" { + if hc.APIURL == nil { + if c.Global.HipchatAPIURL == nil { return fmt.Errorf("no global Hipchat API URL set") } hc.APIURL = c.Global.HipchatAPIURL } - if !strings.HasSuffix(hc.APIURL, "/") { - hc.APIURL += "/" + if !strings.HasSuffix(hc.APIURL.Path, "/") { + hc.APIURL.Path += "/" } if hc.AuthToken == "" { if c.Global.HipchatAuthToken == "" { @@ -224,8 +336,8 @@ func (c *Config) UnmarshalYAML(unmarshal func(interface{}) error) error { if pdc.HTTPConfig == nil { pdc.HTTPConfig = c.Global.HTTPConfig } - if pdc.URL == "" { - if c.Global.PagerdutyURL == "" { + if pdc.URL == nil { + if c.Global.PagerdutyURL == nil { return fmt.Errorf("no global PagerDuty URL set") } pdc.URL = c.Global.PagerdutyURL @@ -235,14 +347,14 @@ func (c *Config) UnmarshalYAML(unmarshal func(interface{}) error) error { if ogc.HTTPConfig == nil { ogc.HTTPConfig = c.Global.HTTPConfig } - if ogc.APIURL == "" { - if c.Global.OpsGenieAPIURL == "" { + if ogc.APIURL == nil { + if c.Global.OpsGenieAPIURL == nil { return fmt.Errorf("no global OpsGenie URL set") } ogc.APIURL = c.Global.OpsGenieAPIURL } - if !strings.HasSuffix(ogc.APIURL, "/") { - ogc.APIURL += "/" + if !strings.HasSuffix(ogc.APIURL.Path, "/") { + ogc.APIURL.Path += "/" } if ogc.APIKey == "" { if c.Global.OpsGenieAPIKey == "" { @@ -256,8 +368,8 @@ func (c *Config) UnmarshalYAML(unmarshal func(interface{}) error) error { wcc.HTTPConfig = c.Global.HTTPConfig } - if wcc.APIURL == "" { - if c.Global.WeChatAPIURL == "" { + if wcc.APIURL == nil { + if c.Global.WeChatAPIURL == nil { return fmt.Errorf("no global Wechat URL set") } wcc.APIURL = c.Global.WeChatAPIURL @@ -277,22 +389,22 @@ func (c *Config) UnmarshalYAML(unmarshal func(interface{}) error) error { wcc.CorpID = c.Global.WeChatAPICorpID } - if !strings.HasSuffix(wcc.APIURL, "/") { - wcc.APIURL += "/" + if !strings.HasSuffix(wcc.APIURL.Path, "/") { + wcc.APIURL.Path += "/" } } for _, voc := range rcv.VictorOpsConfigs { if voc.HTTPConfig == nil { voc.HTTPConfig = c.Global.HTTPConfig } - if voc.APIURL == "" { - if c.Global.VictorOpsAPIURL == "" { + if voc.APIURL == nil { + if c.Global.VictorOpsAPIURL == nil { return fmt.Errorf("no global VictorOps URL set") } voc.APIURL = c.Global.VictorOpsAPIURL } - if !strings.HasSuffix(voc.APIURL, "/") { - voc.APIURL += "/" + if !strings.HasSuffix(voc.APIURL.Path, "/") { + voc.APIURL.Path += "/" } if voc.APIKey == "" { if c.Global.VictorOpsAPIKey == "" { @@ -323,32 +435,56 @@ func (c *Config) UnmarshalYAML(unmarshal func(interface{}) error) error { // checkReceiver returns an error if a node in the routing tree // references a receiver not in the given map. func checkReceiver(r *Route, receivers map[string]struct{}) error { + for _, sr := range r.Routes { + if err := checkReceiver(sr, receivers); err != nil { + return err + } + } if r.Receiver == "" { return nil } if _, ok := receivers[r.Receiver]; !ok { return fmt.Errorf("undefined receiver %q used in route", r.Receiver) } - for _, sr := range r.Routes { - if err := checkReceiver(sr, receivers); err != nil { - return err - } - } return nil } -// DefaultGlobalConfig provides global default values. -var DefaultGlobalConfig = GlobalConfig{ - ResolveTimeout: model.Duration(5 * time.Minute), - HTTPConfig: &commoncfg.HTTPClientConfig{}, +// DefaultGlobalConfig returns GlobalConfig with default values. +func DefaultGlobalConfig() GlobalConfig { + return GlobalConfig{ + ResolveTimeout: model.Duration(5 * time.Minute), + HTTPConfig: &commoncfg.HTTPClientConfig{}, - SMTPHello: "localhost", - SMTPRequireTLS: true, - PagerdutyURL: "https://events.pagerduty.com/v2/enqueue", - HipchatAPIURL: "https://api.hipchat.com/", - OpsGenieAPIURL: "https://api.opsgenie.com/", - WeChatAPIURL: "https://qyapi.weixin.qq.com/cgi-bin/", - VictorOpsAPIURL: "https://alert.victorops.com/integrations/generic/20131114/alert/", + SMTPHello: "localhost", + SMTPRequireTLS: true, + PagerdutyURL: mustParseURL("https://events.pagerduty.com/v2/enqueue"), + HipchatAPIURL: mustParseURL("https://api.hipchat.com/"), + OpsGenieAPIURL: mustParseURL("https://api.opsgenie.com/"), + WeChatAPIURL: mustParseURL("https://qyapi.weixin.qq.com/cgi-bin/"), + VictorOpsAPIURL: mustParseURL("https://alert.victorops.com/integrations/generic/20131114/alert/"), + } +} + +func mustParseURL(s string) *URL { + u, err := parseURL(s) + if err != nil { + panic(err) + } + return u +} + +func parseURL(s string) (*URL, error) { + u, err := url.Parse(s) + if err != nil { + return nil, err + } + if u.Scheme != "http" && u.Scheme != "https" { + return nil, fmt.Errorf("unsupported scheme %q for URL", u.Scheme) + } + if u.Host == "" { + return nil, fmt.Errorf("missing host for URL") + } + return &URL{u}, nil } // GlobalConfig defines configuration parameters that are valid globally @@ -360,38 +496,41 @@ type GlobalConfig struct { HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` - SMTPFrom string `yaml:"smtp_from,omitempty" json:"smtp_from,omitempty"` - SMTPHello string `yaml:"smtp_hello,omitempty" json:"smtp_hello,omitempty"` - SMTPSmarthost string `yaml:"smtp_smarthost,omitempty" json:"smtp_smarthost,omitempty"` - SMTPAuthUsername string `yaml:"smtp_auth_username,omitempty" json:"smtp_auth_username,omitempty"` - SMTPAuthPassword Secret `yaml:"smtp_auth_password,omitempty" json:"smtp_auth_password,omitempty"` - SMTPAuthSecret Secret `yaml:"smtp_auth_secret,omitempty" json:"smtp_auth_secret,omitempty"` - SMTPAuthIdentity string `yaml:"smtp_auth_identity,omitempty" json:"smtp_auth_identity,omitempty"` - SMTPRequireTLS bool `yaml:"smtp_require_tls,omitempty" json:"smtp_require_tls,omitempty"` - SlackAPIURL Secret `yaml:"slack_api_url,omitempty" json:"slack_api_url,omitempty"` - PagerdutyURL string `yaml:"pagerduty_url,omitempty" json:"pagerduty_url,omitempty"` - HipchatAPIURL string `yaml:"hipchat_api_url,omitempty" json:"hipchat_api_url,omitempty"` - HipchatAuthToken Secret `yaml:"hipchat_auth_token,omitempty" json:"hipchat_auth_token,omitempty"` - OpsGenieAPIURL string `yaml:"opsgenie_api_url,omitempty" json:"opsgenie_api_url,omitempty"` - OpsGenieAPIKey Secret `yaml:"opsgenie_api_key,omitempty" json:"opsgenie_api_key,omitempty"` - WeChatAPIURL string `yaml:"wechat_api_url,omitempty" json:"wechat_api_url,omitempty"` - WeChatAPISecret Secret `yaml:"wechat_api_secret,omitempty" json:"wechat_api_secret,omitempty"` - WeChatAPICorpID string `yaml:"wechat_api_corp_id,omitempty" json:"wechat_api_corp_id,omitempty"` - VictorOpsAPIURL string `yaml:"victorops_api_url,omitempty" json:"victorops_api_url,omitempty"` - VictorOpsAPIKey Secret `yaml:"victorops_api_key,omitempty" json:"victorops_api_key,omitempty"` -} - -// UnmarshalYAML implements the yaml.Unmarshaler interface. + SMTPFrom string `yaml:"smtp_from,omitempty" json:"smtp_from,omitempty"` + SMTPHello string `yaml:"smtp_hello,omitempty" json:"smtp_hello,omitempty"` + SMTPSmarthost string `yaml:"smtp_smarthost,omitempty" json:"smtp_smarthost,omitempty"` + SMTPAuthUsername string `yaml:"smtp_auth_username,omitempty" json:"smtp_auth_username,omitempty"` + SMTPAuthPassword Secret `yaml:"smtp_auth_password,omitempty" json:"smtp_auth_password,omitempty"` + SMTPAuthSecret Secret `yaml:"smtp_auth_secret,omitempty" json:"smtp_auth_secret,omitempty"` + SMTPAuthIdentity string `yaml:"smtp_auth_identity,omitempty" json:"smtp_auth_identity,omitempty"` + SMTPRequireTLS bool `yaml:"smtp_require_tls,omitempty" json:"smtp_require_tls,omitempty"` + SlackAPIURL *SecretURL `yaml:"slack_api_url,omitempty" json:"slack_api_url,omitempty"` + PagerdutyURL *URL `yaml:"pagerduty_url,omitempty" json:"pagerduty_url,omitempty"` + HipchatAPIURL *URL `yaml:"hipchat_api_url,omitempty" json:"hipchat_api_url,omitempty"` + HipchatAuthToken Secret `yaml:"hipchat_auth_token,omitempty" json:"hipchat_auth_token,omitempty"` + OpsGenieAPIURL *URL `yaml:"opsgenie_api_url,omitempty" json:"opsgenie_api_url,omitempty"` + OpsGenieAPIKey Secret `yaml:"opsgenie_api_key,omitempty" json:"opsgenie_api_key,omitempty"` + WeChatAPIURL *URL `yaml:"wechat_api_url,omitempty" json:"wechat_api_url,omitempty"` + WeChatAPISecret Secret `yaml:"wechat_api_secret,omitempty" json:"wechat_api_secret,omitempty"` + WeChatAPICorpID string `yaml:"wechat_api_corp_id,omitempty" json:"wechat_api_corp_id,omitempty"` + VictorOpsAPIURL *URL `yaml:"victorops_api_url,omitempty" json:"victorops_api_url,omitempty"` + VictorOpsAPIKey Secret `yaml:"victorops_api_key,omitempty" json:"victorops_api_key,omitempty"` +} + +// UnmarshalYAML implements the yaml.Unmarshaler interface for GlobalConfig. func (c *GlobalConfig) UnmarshalYAML(unmarshal func(interface{}) error) error { - *c = DefaultGlobalConfig + *c = DefaultGlobalConfig() type plain GlobalConfig return unmarshal((*plain)(c)) } // A Route is a node that contains definitions of how to handle alerts. type Route struct { - Receiver string `yaml:"receiver,omitempty" json:"receiver,omitempty"` - GroupBy []model.LabelName `yaml:"group_by,omitempty" json:"group_by,omitempty"` + Receiver string `yaml:"receiver,omitempty" json:"receiver,omitempty"` + + GroupByStr []string `yaml:"group_by,omitempty" json:"group_by,omitempty"` + GroupBy []model.LabelName `yaml:"-" json:"-"` + GroupByAll bool `yaml:"-" json:"-"` Match map[string]string `yaml:"match,omitempty" json:"match,omitempty"` MatchRE map[string]Regexp `yaml:"match_re,omitempty" json:"match_re,omitempty"` @@ -403,7 +542,7 @@ type Route struct { RepeatInterval *model.Duration `yaml:"repeat_interval,omitempty" json:"repeat_interval,omitempty"` } -// UnmarshalYAML implements the yaml.Unmarshaler interface. +// UnmarshalYAML implements the yaml.Unmarshaler interface for Route. func (r *Route) UnmarshalYAML(unmarshal func(interface{}) error) error { type plain Route if err := unmarshal((*plain)(r)); err != nil { @@ -421,6 +560,21 @@ func (r *Route) UnmarshalYAML(unmarshal func(interface{}) error) error { return fmt.Errorf("invalid label name %q", k) } } + for _, l := range r.GroupByStr { + if l == "..." { + r.GroupByAll = true + } else { + labelName := model.LabelName(l) + if !labelName.IsValid() { + return fmt.Errorf("invalid label name %q in group_by list", l) + } + r.GroupBy = append(r.GroupBy, labelName) + } + } + + if len(r.GroupBy) > 0 && r.GroupByAll { + return fmt.Errorf("cannot have wildcard group_by (`...`) and other other labels at the same time") + } groupBy := map[model.LabelName]struct{}{} @@ -462,7 +616,7 @@ type InhibitRule struct { Equal model.LabelNames `yaml:"equal,omitempty" json:"equal,omitempty"` } -// UnmarshalYAML implements the yaml.Unmarshaler interface. +// UnmarshalYAML implements the yaml.Unmarshaler interface for InhibitRule. func (r *InhibitRule) UnmarshalYAML(unmarshal func(interface{}) error) error { type plain InhibitRule if err := unmarshal((*plain)(r)); err != nil { @@ -512,7 +666,7 @@ type Receiver struct { VictorOpsConfigs []*VictorOpsConfig `yaml:"victorops_configs,omitempty" json:"victorops_configs,omitempty"` } -// UnmarshalYAML implements the yaml.Unmarshaler interface. +// UnmarshalYAML implements the yaml.Unmarshaler interface for Receiver. func (c *Receiver) UnmarshalYAML(unmarshal func(interface{}) error) error { type plain Receiver if err := unmarshal((*plain)(c)); err != nil { @@ -527,9 +681,10 @@ func (c *Receiver) UnmarshalYAML(unmarshal func(interface{}) error) error { // Regexp encapsulates a regexp.Regexp and makes it YAML marshalable. type Regexp struct { *regexp.Regexp + original string } -// UnmarshalYAML implements the yaml.Unmarshaler interface. +// UnmarshalYAML implements the yaml.Unmarshaler interface for Regexp. func (re *Regexp) UnmarshalYAML(unmarshal func(interface{}) error) error { var s string if err := unmarshal(&s); err != nil { @@ -540,18 +695,19 @@ func (re *Regexp) UnmarshalYAML(unmarshal func(interface{}) error) error { return err } re.Regexp = regex + re.original = s return nil } -// MarshalYAML implements the yaml.Marshaler interface. +// MarshalYAML implements the yaml.Marshaler interface for Regexp. func (re Regexp) MarshalYAML() (interface{}, error) { - if re.Regexp != nil { - return re.String(), nil + if re.original != "" { + return re.original, nil } return nil, nil } -// UnmarshalJSON implements the json.Marshaler interface +// UnmarshalJSON implements the json.Marshaler interface for Regexp func (re *Regexp) UnmarshalJSON(data []byte) error { var s string if err := json.Unmarshal(data, &s); err != nil { @@ -562,13 +718,14 @@ func (re *Regexp) UnmarshalJSON(data []byte) error { return err } re.Regexp = regex + re.original = s return nil } -// MarshalJSON implements the json.Marshaler interface. +// MarshalJSON implements the json.Marshaler interface for Regexp. func (re Regexp) MarshalJSON() ([]byte, error) { - if re.Regexp != nil { - return json.Marshal(re.String()) + if re.original != "" { + return json.Marshal(re.original) } return nil, nil } diff --git a/vendor/github.com/prometheus/alertmanager/config/coordinator.go b/vendor/github.com/prometheus/alertmanager/config/coordinator.go new file mode 100644 index 00000000000..04e4d3f452c --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/config/coordinator.go @@ -0,0 +1,155 @@ +// Copyright 2019 Prometheus Team +// 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 config + +import ( + "crypto/md5" + "encoding/binary" + "sync" + "time" + + "github.com/go-kit/kit/log" + "github.com/go-kit/kit/log/level" + "github.com/prometheus/client_golang/prometheus" +) + +// Coordinator coordinates Alertmanager configurations beyond the lifetime of a +// single configuration. +type Coordinator struct { + configFilePath string + logger log.Logger + + // Protects config and subscribers + mutex sync.Mutex + config *Config + subscribers []func(*Config) error + + configHashMetric prometheus.Gauge + configSuccessMetric prometheus.Gauge + configSuccessTimeMetric prometheus.Gauge +} + +// NewCoordinator returns a new coordinator with the given configuration file +// path. It does not yet load the configuration from file. This is done in +// `Reload()`. +func NewCoordinator(configFilePath string, r prometheus.Registerer, l log.Logger) *Coordinator { + c := &Coordinator{ + configFilePath: configFilePath, + logger: l, + } + + c.registerMetrics(r) + + return c +} + +func (c *Coordinator) registerMetrics(r prometheus.Registerer) { + configHash := prometheus.NewGauge(prometheus.GaugeOpts{ + Name: "alertmanager_config_hash", + Help: "Hash of the currently loaded alertmanager configuration.", + }) + configSuccess := prometheus.NewGauge(prometheus.GaugeOpts{ + Name: "alertmanager_config_last_reload_successful", + Help: "Whether the last configuration reload attempt was successful.", + }) + configSuccessTime := prometheus.NewGauge(prometheus.GaugeOpts{ + Name: "alertmanager_config_last_reload_success_timestamp_seconds", + Help: "Timestamp of the last successful configuration reload.", + }) + + r.MustRegister(configHash, configSuccess, configSuccessTime) + + c.configHashMetric = configHash + c.configSuccessMetric = configSuccess + c.configSuccessTimeMetric = configSuccessTime +} + +// Subscribe subscribes the given Subscribers to configuration changes. +func (c *Coordinator) Subscribe(ss ...func(*Config) error) { + c.mutex.Lock() + defer c.mutex.Unlock() + + c.subscribers = append(c.subscribers, ss...) +} + +func (c *Coordinator) notifySubscribers() error { + for _, s := range c.subscribers { + if err := s(c.config); err != nil { + return err + } + } + + return nil +} + +// loadFromFile triggers a configuration load, discarding the old configuration. +func (c *Coordinator) loadFromFile() error { + conf, plainConfig, err := LoadFile(c.configFilePath) + if err != nil { + c.configSuccessMetric.Set(0) + return err + } + + c.config = conf + c.configSuccessMetric.Set(1) + c.configSuccessTimeMetric.Set(float64(time.Now().Unix())) + hash := md5HashAsMetricValue(plainConfig) + c.configHashMetric.Set(hash) + + return nil +} + +// Reload triggers a configuration reload from file and notifies all +// configuration change subscribers. +func (c *Coordinator) Reload() error { + c.mutex.Lock() + defer c.mutex.Unlock() + + level.Info(c.logger).Log( + "msg", "Loading configuration file", + "file", c.configFilePath, + ) + if err := c.loadFromFile(); err != nil { + level.Error(c.logger).Log( + "msg", "Loading configuration file failed", + "file", c.configFilePath, + "err", err, + ) + return err + } + level.Info(c.logger).Log( + "msg", "Completed loading of configuration file", + "file", c.configFilePath, + ) + + if err := c.notifySubscribers(); err != nil { + c.logger.Log( + "msg", "one or more config change subscribers failed to apply new config", + "file", c.configFilePath, + "err", err, + ) + return err + } + + return nil +} + +func md5HashAsMetricValue(data []byte) float64 { + sum := md5.Sum(data) + // We only want 48 bits as a float64 only has a 53 bit mantissa. + smallSum := sum[0:6] + var bytes = make([]byte, 8) + copy(bytes, smallSum) + return float64(binary.LittleEndian.Uint64(bytes)) +} diff --git a/vendor/github.com/prometheus/alertmanager/config/notifiers.go b/vendor/github.com/prometheus/alertmanager/config/notifiers.go index ba4517e8852..34fdda30879 100644 --- a/vendor/github.com/prometheus/alertmanager/config/notifiers.go +++ b/vendor/github.com/prometheus/alertmanager/config/notifiers.go @@ -15,10 +15,12 @@ package config import ( "fmt" - "net/url" + "regexp" "strings" "time" + "github.com/pkg/errors" + commoncfg "github.com/prometheus/common/config" ) @@ -65,16 +67,17 @@ var ( NotifierConfig: NotifierConfig{ VSendResolved: false, }, - Color: `{{ if eq .Status "firing" }}danger{{ else }}good{{ end }}`, - Username: `{{ template "slack.default.username" . }}`, - Title: `{{ template "slack.default.title" . }}`, - TitleLink: `{{ template "slack.default.titlelink" . }}`, - IconEmoji: `{{ template "slack.default.iconemoji" . }}`, - IconURL: `{{ template "slack.default.iconurl" . }}`, - Pretext: `{{ template "slack.default.pretext" . }}`, - Text: `{{ template "slack.default.text" . }}`, - Fallback: `{{ template "slack.default.fallback" . }}`, - Footer: `{{ template "slack.default.footer" . }}`, + Color: `{{ if eq .Status "firing" }}danger{{ else }}good{{ end }}`, + Username: `{{ template "slack.default.username" . }}`, + Title: `{{ template "slack.default.title" . }}`, + TitleLink: `{{ template "slack.default.titlelink" . }}`, + IconEmoji: `{{ template "slack.default.iconemoji" . }}`, + IconURL: `{{ template "slack.default.iconurl" . }}`, + Pretext: `{{ template "slack.default.pretext" . }}`, + Text: `{{ template "slack.default.text" . }}`, + Fallback: `{{ template "slack.default.fallback" . }}`, + CallbackID: `{{ template "slack.default.callbackid" . }}`, + Footer: `{{ template "slack.default.footer" . }}`, } // DefaultHipchatConfig defines default values for Hipchat configurations. @@ -105,12 +108,11 @@ var ( NotifierConfig: NotifierConfig{ VSendResolved: false, }, - Message: `{{ template "wechat.default.message" . }}`, - APISecret: `{{ template "wechat.default.api_secret" . }}`, - ToUser: `{{ template "wechat.default.to_user" . }}`, - ToParty: `{{ template "wechat.default.to_party" . }}`, - ToTag: `{{ template "wechat.default.to_tag" . }}`, - AgentID: `{{ template "wechat.default.agent_id" . }}`, + Message: `{{ template "wechat.default.message" . }}`, + ToUser: `{{ template "wechat.default.to_user" . }}`, + ToParty: `{{ template "wechat.default.to_party" . }}`, + ToTag: `{{ template "wechat.default.to_tag" . }}`, + AgentID: `{{ template "wechat.default.agent_id" . }}`, } // DefaultVictorOpsConfig defines default values for VictorOps configurations. @@ -135,6 +137,7 @@ var ( Priority: `{{ if eq .Status "firing" }}2{{ else }}0{{ end }}`, // emergency (firing) or normal Retry: duration(1 * time.Minute), Expire: duration(1 * time.Hour), + HTML: false, } ) @@ -152,18 +155,19 @@ type EmailConfig struct { NotifierConfig `yaml:",inline" json:",inline"` // Email address to notify. - To string `yaml:"to,omitempty" json:"to,omitempty"` - From string `yaml:"from,omitempty" json:"from,omitempty"` - Hello string `yaml:"hello,omitempty" json:"hello,omitempty"` - Smarthost string `yaml:"smarthost,omitempty" json:"smarthost,omitempty"` - AuthUsername string `yaml:"auth_username,omitempty" json:"auth_username,omitempty"` - AuthPassword Secret `yaml:"auth_password,omitempty" json:"auth_password,omitempty"` - AuthSecret Secret `yaml:"auth_secret,omitempty" json:"auth_secret,omitempty"` - AuthIdentity string `yaml:"auth_identity,omitempty" json:"auth_identity,omitempty"` - Headers map[string]string `yaml:"headers,omitempty" json:"headers,omitempty"` - HTML string `yaml:"html,omitempty" json:"html,omitempty"` - Text string `yaml:"text,omitempty" json:"text,omitempty"` - RequireTLS *bool `yaml:"require_tls,omitempty" json:"require_tls,omitempty"` + To string `yaml:"to,omitempty" json:"to,omitempty"` + From string `yaml:"from,omitempty" json:"from,omitempty"` + Hello string `yaml:"hello,omitempty" json:"hello,omitempty"` + Smarthost string `yaml:"smarthost,omitempty" json:"smarthost,omitempty"` + AuthUsername string `yaml:"auth_username,omitempty" json:"auth_username,omitempty"` + AuthPassword Secret `yaml:"auth_password,omitempty" json:"auth_password,omitempty"` + AuthSecret Secret `yaml:"auth_secret,omitempty" json:"auth_secret,omitempty"` + AuthIdentity string `yaml:"auth_identity,omitempty" json:"auth_identity,omitempty"` + Headers map[string]string `yaml:"headers,omitempty" json:"headers,omitempty"` + HTML string `yaml:"html,omitempty" json:"html,omitempty"` + Text string `yaml:"text,omitempty" json:"text,omitempty"` + RequireTLS *bool `yaml:"require_tls,omitempty" json:"require_tls,omitempty"` + TLSConfig commoncfg.TLSConfig `yaml:"tls_config,omitempty" json:"tls_config,omitempty"` } // UnmarshalYAML implements the yaml.Unmarshaler interface. @@ -196,19 +200,34 @@ type PagerdutyConfig struct { HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` - ServiceKey Secret `yaml:"service_key,omitempty" json"service_key,omitempty"` + ServiceKey Secret `yaml:"service_key,omitempty" json:"service_key,omitempty"` RoutingKey Secret `yaml:"routing_key,omitempty" json:"routing_key,omitempty"` - URL string `yaml:"url,omitempty" json:"url,omitempty"` + URL *URL `yaml:"url,omitempty" json:"url,omitempty"` Client string `yaml:"client,omitempty" json:"client,omitempty"` ClientURL string `yaml:"client_url,omitempty" json:"client_url,omitempty"` Description string `yaml:"description,omitempty" json:"description,omitempty"` Details map[string]string `yaml:"details,omitempty" json:"details,omitempty"` + Images []PagerdutyImage `yaml:"images,omitempty" json:"images,omitempty"` + Links []PagerdutyLink `yaml:"links,omitempty" json:"links,omitempty"` Severity string `yaml:"severity,omitempty" json:"severity,omitempty"` Class string `yaml:"class,omitempty" json:"class,omitempty"` Component string `yaml:"component,omitempty" json:"component,omitempty"` Group string `yaml:"group,omitempty" json:"group,omitempty"` } +// PagerdutyLink is a link +type PagerdutyLink struct { + HRef string `yaml:"href,omitempty" json:"href,omitempty"` + Text string `yaml:"text,omitempty" json:"text,omitempty"` +} + +// PagerdutyImage is an image +type PagerdutyImage struct { + Src string `yaml:"src,omitempty" json:"src,omitempty"` + Alt string `yaml:"alt,omitempty" json:"alt,omitempty"` + Href string `yaml:"href,omitempty" json:"href,omitempty"` +} + // UnmarshalYAML implements the yaml.Unmarshaler interface. func (c *PagerdutyConfig) UnmarshalYAML(unmarshal func(interface{}) error) error { *c = DefaultPagerdutyConfig @@ -231,13 +250,16 @@ func (c *PagerdutyConfig) UnmarshalYAML(unmarshal func(interface{}) error) error } // SlackAction configures a single Slack action that is sent with each notification. -// Each action must contain a type, text, and url. -// See https://api.slack.com/docs/message-attachments#action_fields for more information. +// See https://api.slack.com/docs/message-attachments#action_fields and https://api.slack.com/docs/message-buttons +// for more information. type SlackAction struct { - Type string `yaml:"type,omitempty" json:"type,omitempty"` - Text string `yaml:"text,omitempty" json:"text,omitempty"` - URL string `yaml:"url,omitempty" json:"url,omitempty"` - Style string `yaml:"style,omitempty" json:"style,omitempty"` + Type string `yaml:"type,omitempty" json:"type,omitempty"` + Text string `yaml:"text,omitempty" json:"text,omitempty"` + URL string `yaml:"url,omitempty" json:"url,omitempty"` + Style string `yaml:"style,omitempty" json:"style,omitempty"` + Name string `yaml:"name,omitempty" json:"name,omitempty"` + Value string `yaml:"value,omitempty" json:"value,omitempty"` + ConfirmField *SlackConfirmationField `yaml:"confirm,omitempty" json:"confirm,omitempty"` } // UnmarshalYAML implements the yaml.Unmarshaler interface for SlackAction. @@ -250,10 +272,39 @@ func (c *SlackAction) UnmarshalYAML(unmarshal func(interface{}) error) error { return fmt.Errorf("missing type in Slack action configuration") } if c.Text == "" { - return fmt.Errorf("missing value in Slack text configuration") + return fmt.Errorf("missing text in Slack action configuration") + } + if c.URL != "" { + // Clear all message action fields. + c.Name = "" + c.Value = "" + c.ConfirmField = nil + } else if c.Name != "" { + c.URL = "" + } else { + return fmt.Errorf("missing name or url in Slack action configuration") + } + return nil +} + +// SlackConfirmationField protect users from destructive actions or particularly distinguished decisions +// by asking them to confirm their button click one more time. +// See https://api.slack.com/docs/interactive-message-field-guide#confirmation_fields for more information. +type SlackConfirmationField struct { + Text string `yaml:"text,omitempty" json:"text,omitempty"` + Title string `yaml:"title,omitempty" json:"title,omitempty"` + OkText string `yaml:"ok_text,omitempty" json:"ok_text,omitempty"` + DismissText string `yaml:"dismiss_text,omitempty" json:"dismiss_text,omitempty"` +} + +// UnmarshalYAML implements the yaml.Unmarshaler interface for SlackConfirmationField. +func (c *SlackConfirmationField) UnmarshalYAML(unmarshal func(interface{}) error) error { + type plain SlackConfirmationField + if err := unmarshal((*plain)(c)); err != nil { + return err } - if c.URL == "" { - return fmt.Errorf("missing value in Slack url configuration") + if c.Text == "" { + return fmt.Errorf("missing text in Slack confirmation configuration") } return nil } @@ -289,7 +340,7 @@ type SlackConfig struct { HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` - APIURL Secret `yaml:"api_url,omitempty" json:"api_url,omitempty"` + APIURL *SecretURL `yaml:"api_url,omitempty" json:"api_url,omitempty"` // Slack channel override, (like #other-channel or @username). Channel string `yaml:"channel,omitempty" json:"channel,omitempty"` @@ -304,8 +355,11 @@ type SlackConfig struct { ShortFields bool `yaml:"short_fields,omitempty" json:"short_fields,omitempty"` Footer string `yaml:"footer,omitempty" json:"footer,omitempty"` Fallback string `yaml:"fallback,omitempty" json:"fallback,omitempty"` + CallbackID string `yaml:"callback_id,omitempty" json:"callback_id,omitempty"` IconEmoji string `yaml:"icon_emoji,omitempty" json:"icon_emoji,omitempty"` IconURL string `yaml:"icon_url,omitempty" json:"icon_url,omitempty"` + ImageURL string `yaml:"image_url,omitempty" json:"image_url,omitempty"` + ThumbURL string `yaml:"thumb_url,omitempty" json:"thumb_url,omitempty"` LinkNames bool `yaml:"link_names,omitempty" json:"link_names,omitempty"` Actions []*SlackAction `yaml:"actions,omitempty" json:"actions,omitempty"` } @@ -323,7 +377,7 @@ type HipchatConfig struct { HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` - APIURL string `yaml:"api_url,omitempty" json:"api_url,omitempty"` + APIURL *URL `yaml:"api_url,omitempty" json:"api_url,omitempty"` AuthToken Secret `yaml:"auth_token,omitempty" json:"auth_token,omitempty"` RoomID string `yaml:"room_id,omitempty" json:"room_id,omitempty"` From string `yaml:"from,omitempty" json:"from,omitempty"` @@ -353,7 +407,7 @@ type WebhookConfig struct { HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` // URL to send POST request to. - URL string `yaml:"url" json:"url"` + URL *URL `yaml:"url" json:"url"` } // UnmarshalYAML implements the yaml.Unmarshaler interface. @@ -363,17 +417,12 @@ func (c *WebhookConfig) UnmarshalYAML(unmarshal func(interface{}) error) error { if err := unmarshal((*plain)(c)); err != nil { return err } - if c.URL == "" { + if c.URL == nil { return fmt.Errorf("missing URL in webhook config") } - url, err := url.Parse(c.URL) - if err != nil { - return err - } - if url.Scheme != "https" && url.Scheme != "http" { + if c.URL.Scheme != "https" && c.URL.Scheme != "http" { return fmt.Errorf("scheme required for webhook url") } - c.URL = url.String() return nil } @@ -386,7 +435,7 @@ type WechatConfig struct { APISecret Secret `yaml:"api_secret,omitempty" json:"api_secret,omitempty"` CorpID string `yaml:"corp_id,omitempty" json:"corp_id,omitempty"` Message string `yaml:"message,omitempty" json:"message,omitempty"` - APIURL string `yaml:"api_url,omitempty" json:"api_url,omitempty"` + APIURL *URL `yaml:"api_url,omitempty" json:"api_url,omitempty"` ToUser string `yaml:"to_user,omitempty" json:"to_user,omitempty"` ToParty string `yaml:"to_party,omitempty" json:"to_party,omitempty"` ToTag string `yaml:"to_tag,omitempty" json:"to_tag,omitempty"` @@ -397,16 +446,7 @@ type WechatConfig struct { func (c *WechatConfig) UnmarshalYAML(unmarshal func(interface{}) error) error { *c = DefaultWechatConfig type plain WechatConfig - if err := unmarshal((*plain)(c)); err != nil { - return err - } - if c.APISecret == "" { - return fmt.Errorf("missing Wechat APISecret in Wechat config") - } - if c.CorpID == "" { - return fmt.Errorf("missing Wechat CorpID in Wechat config") - } - return nil + return unmarshal((*plain)(c)) } // OpsGenieConfig configures notifications via OpsGenie. @@ -415,23 +455,52 @@ type OpsGenieConfig struct { HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` - APIKey Secret `yaml:"api_key,omitempty" json:"api_key,omitempty"` - APIURL string `yaml:"api_url,omitempty" json:"api_url,omitempty"` - Message string `yaml:"message,omitempty" json:"message,omitempty"` - Description string `yaml:"description,omitempty" json:"description,omitempty"` - Source string `yaml:"source,omitempty" json:"source,omitempty"` - Details map[string]string `yaml:"details,omitempty" json:"details,omitempty"` - Teams string `yaml:"teams,omitempty" json:"teams,omitempty"` - Tags string `yaml:"tags,omitempty" json:"tags,omitempty"` - Note string `yaml:"note,omitempty" json:"note,omitempty"` - Priority string `yaml:"priority,omitempty" json:"priority,omitempty"` + APIKey Secret `yaml:"api_key,omitempty" json:"api_key,omitempty"` + APIURL *URL `yaml:"api_url,omitempty" json:"api_url,omitempty"` + Message string `yaml:"message,omitempty" json:"message,omitempty"` + Description string `yaml:"description,omitempty" json:"description,omitempty"` + Source string `yaml:"source,omitempty" json:"source,omitempty"` + Details map[string]string `yaml:"details,omitempty" json:"details,omitempty"` + Responders []OpsGenieConfigResponder `yaml:"responders,omitempty" json:"responders,omitempty"` + Tags string `yaml:"tags,omitempty" json:"tags,omitempty"` + Note string `yaml:"note,omitempty" json:"note,omitempty"` + Priority string `yaml:"priority,omitempty" json:"priority,omitempty"` } +const opsgenieValidTypesRe = `^(team|user|escalation|schedule)$` + +var opsgenieTypeMatcher = regexp.MustCompile(opsgenieValidTypesRe) + // UnmarshalYAML implements the yaml.Unmarshaler interface. func (c *OpsGenieConfig) UnmarshalYAML(unmarshal func(interface{}) error) error { *c = DefaultOpsGenieConfig type plain OpsGenieConfig - return unmarshal((*plain)(c)) + if err := unmarshal((*plain)(c)); err != nil { + return err + } + + for _, r := range c.Responders { + if r.ID == "" && r.Username == "" && r.Name == "" { + return errors.Errorf("OpsGenieConfig responder %v has to have at least one of id, username or name specified", r) + } + + r.Type = strings.ToLower(r.Type) + if !opsgenieTypeMatcher.MatchString(r.Type) { + return errors.Errorf("OpsGenieConfig responder %v type does not match valid options %s", r, opsgenieValidTypesRe) + } + } + + return nil +} + +type OpsGenieConfigResponder struct { + // One of those 3 should be filled. + ID string `yaml:"id,omitempty" json:"id,omitempty"` + Name string `yaml:"name,omitempty" json:"name,omitempty"` + Username string `yaml:"username,omitempty" json:"username,omitempty"` + + // team, user, escalation, schedule etc. + Type string `yaml:"type,omitempty" json:"type,omitempty"` } // VictorOpsConfig configures notifications via VictorOps. @@ -440,13 +509,14 @@ type VictorOpsConfig struct { HTTPConfig *commoncfg.HTTPClientConfig `yaml:"http_config,omitempty" json:"http_config,omitempty"` - APIKey Secret `yaml:"api_key" json:"api_key"` - APIURL string `yaml:"api_url" json:"api_url"` - RoutingKey string `yaml:"routing_key" json:"routing_key"` - MessageType string `yaml:"message_type" json:"message_type"` - StateMessage string `yaml:"state_message" json:"state_message"` - EntityDisplayName string `yaml:"entity_display_name" json:"entity_display_name"` - MonitoringTool string `yaml:"monitoring_tool" json:"monitoring_tool"` + APIKey Secret `yaml:"api_key" json:"api_key"` + APIURL *URL `yaml:"api_url" json:"api_url"` + RoutingKey string `yaml:"routing_key" json:"routing_key"` + MessageType string `yaml:"message_type" json:"message_type"` + StateMessage string `yaml:"state_message" json:"state_message"` + EntityDisplayName string `yaml:"entity_display_name" json:"entity_display_name"` + MonitoringTool string `yaml:"monitoring_tool" json:"monitoring_tool"` + CustomFields map[string]string `yaml:"custom_fields,omitempty" json:"custom_fields,omitempty"` } // UnmarshalYAML implements the yaml.Unmarshaler interface. @@ -459,6 +529,15 @@ func (c *VictorOpsConfig) UnmarshalYAML(unmarshal func(interface{}) error) error if c.RoutingKey == "" { return fmt.Errorf("missing Routing key in VictorOps config") } + + reservedFields := []string{"routing_key", "message_type", "state_message", "entity_display_name", "monitoring_tool", "entity_id", "entity_state"} + + for _, v := range reservedFields { + if _, ok := c.CustomFields[v]; ok { + return fmt.Errorf("VictorOps config contains custom field %s which cannot be used as it conflicts with the fixed/static fields", v) + } + } + return nil } @@ -486,9 +565,12 @@ type PushoverConfig struct { Title string `yaml:"title,omitempty" json:"title,omitempty"` Message string `yaml:"message,omitempty" json:"message,omitempty"` URL string `yaml:"url,omitempty" json:"url,omitempty"` + URLTitle string `yaml:"url_title,omitempty" json:"url_title,omitempty"` + Sound string `yaml:"sound,omitempty" json:"sound,omitempty"` Priority string `yaml:"priority,omitempty" json:"priority,omitempty"` Retry duration `yaml:"retry,omitempty" json:"retry,omitempty"` Expire duration `yaml:"expire,omitempty" json:"expire,omitempty"` + HTML bool `yaml:"html,omitempty" json:"html,omitempty"` } // UnmarshalYAML implements the yaml.Unmarshaler interface. diff --git a/vendor/github.com/prometheus/alertmanager/dispatch/dispatch.go b/vendor/github.com/prometheus/alertmanager/dispatch/dispatch.go index 892a08f9620..b7bbad9ea11 100644 --- a/vendor/github.com/prometheus/alertmanager/dispatch/dispatch.go +++ b/vendor/github.com/prometheus/alertmanager/dispatch/dispatch.go @@ -14,6 +14,7 @@ package dispatch import ( + "context" "fmt" "sort" "sync" @@ -22,11 +23,10 @@ import ( "github.com/go-kit/kit/log" "github.com/go-kit/kit/log/level" "github.com/prometheus/common/model" - "github.com/prometheus/prometheus/pkg/labels" - "golang.org/x/net/context" "github.com/prometheus/alertmanager/notify" "github.com/prometheus/alertmanager/provider" + "github.com/prometheus/alertmanager/store" "github.com/prometheus/alertmanager/types" ) @@ -84,103 +84,6 @@ func (d *Dispatcher) Run() { close(d.done) } -// AlertBlock contains a list of alerts associated with a set of -// routing options. -type AlertBlock struct { - RouteOpts *RouteOpts `json:"routeOpts"` - Alerts []*APIAlert `json:"alerts"` -} - -// APIAlert is the API representation of an alert, which is a regular alert -// annotated with silencing and inhibition info. -type APIAlert struct { - *model.Alert - Status types.AlertStatus `json:"status"` - Receivers []string `json:"receivers"` - Fingerprint string `json:"fingerprint"` -} - -// AlertGroup is a list of alert blocks grouped by the same label set. -type AlertGroup struct { - Labels model.LabelSet `json:"labels"` - GroupKey string `json:"groupKey"` - Blocks []*AlertBlock `json:"blocks"` -} - -// AlertOverview is a representation of all active alerts in the system. -type AlertOverview []*AlertGroup - -func (ao AlertOverview) Swap(i, j int) { ao[i], ao[j] = ao[j], ao[i] } -func (ao AlertOverview) Less(i, j int) bool { return ao[i].Labels.Before(ao[j].Labels) } -func (ao AlertOverview) Len() int { return len(ao) } - -func matchesFilterLabels(a *APIAlert, matchers []*labels.Matcher) bool { - for _, m := range matchers { - if v, prs := a.Labels[model.LabelName(m.Name)]; !prs || !m.Matches(string(v)) { - return false - } - } - - return true -} - -// Groups populates an AlertOverview from the dispatcher's internal state. -func (d *Dispatcher) Groups(matchers []*labels.Matcher) AlertOverview { - overview := AlertOverview{} - - d.mtx.RLock() - defer d.mtx.RUnlock() - - seen := map[model.Fingerprint]*AlertGroup{} - - for route, ags := range d.aggrGroups { - for _, ag := range ags { - alertGroup, ok := seen[ag.fingerprint()] - if !ok { - alertGroup = &AlertGroup{Labels: ag.labels} - alertGroup.GroupKey = ag.GroupKey() - - seen[ag.fingerprint()] = alertGroup - } - - now := time.Now() - - var apiAlerts []*APIAlert - for _, a := range types.Alerts(ag.alertSlice()...) { - if !a.EndsAt.IsZero() && a.EndsAt.Before(now) { - continue - } - status := d.marker.Status(a.Fingerprint()) - aa := &APIAlert{ - Alert: a, - Status: status, - Fingerprint: a.Fingerprint().String(), - } - - if !matchesFilterLabels(aa, matchers) { - continue - } - - apiAlerts = append(apiAlerts, aa) - } - if len(apiAlerts) == 0 { - continue - } - - alertGroup.Blocks = append(alertGroup.Blocks, &AlertBlock{ - RouteOpts: &route.RouteOpts, - Alerts: apiAlerts, - }) - - overview = append(overview, alertGroup) - } - } - - sort.Sort(overview) - - return overview -} - func (d *Dispatcher) run(it provider.AlertIterator) { cleanup := time.NewTicker(30 * time.Second) defer cleanup.Stop() @@ -230,6 +133,86 @@ func (d *Dispatcher) run(it provider.AlertIterator) { } } +// AlertGroup represents how alerts exist within an aggrGroup. +type AlertGroup struct { + Alerts []*types.Alert + Labels model.LabelSet + Receiver string +} + +type AlertGroups []*AlertGroup + +func (ag AlertGroups) Swap(i, j int) { ag[i], ag[j] = ag[j], ag[i] } +func (ag AlertGroups) Less(i, j int) bool { return ag[i].Labels.Before(ag[j].Labels) } +func (ag AlertGroups) Len() int { return len(ag) } + +// Groups returns a slice of AlertGroups from the dispatcher's internal state. +func (d *Dispatcher) Groups(routeFilter func(*Route) bool, alertFilter func(*types.Alert, time.Time) bool) (AlertGroups, map[model.Fingerprint][]string) { + groups := AlertGroups{} + + d.mtx.RLock() + defer d.mtx.RUnlock() + + seen := map[model.Fingerprint]*AlertGroup{} + + // Keep a list of receivers for an alert to prevent checking each alert + // again against all routes. The alert has already matched against this + // route on ingestion. + receivers := map[model.Fingerprint][]string{} + + for route, ags := range d.aggrGroups { + if !routeFilter(route) { + continue + } + + for _, ag := range ags { + receiver := route.RouteOpts.Receiver + alertGroup, ok := seen[ag.fingerprint()] + if !ok { + alertGroup = &AlertGroup{ + Labels: ag.labels, + Receiver: receiver, + } + + seen[ag.fingerprint()] = alertGroup + } + + now := time.Now() + + alerts := ag.alerts.List() + filteredAlerts := make([]*types.Alert, 0, len(alerts)) + for _, a := range alerts { + if !alertFilter(a, now) { + continue + } + + fp := a.Fingerprint() + if r, ok := receivers[fp]; ok { + // Receivers slice already exists. Add + // the current receiver to the slice. + receivers[fp] = append(r, receiver) + } else { + // First time we've seen this alert fingerprint. + // Initialize a new receivers slice. + receivers[fp] = []string{receiver} + } + + filteredAlerts = append(filteredAlerts, a) + } + if len(filteredAlerts) == 0 { + continue + } + alertGroup.Alerts = filteredAlerts + + groups = append(groups, alertGroup) + } + } + + sort.Sort(groups) + + return groups, receivers +} + // Stop the dispatcher. func (d *Dispatcher) Stop() { if d == nil || d.cancel == nil { @@ -241,7 +224,7 @@ func (d *Dispatcher) Stop() { <-d.done } -// notifyFunc is a function that performs notifcation for the alert +// notifyFunc is a function that performs notification for the alert // with the given fingerprint. It aborts on context cancelation. // Returns false iff notifying failed. type notifyFunc func(context.Context, ...*types.Alert) bool @@ -249,13 +232,7 @@ type notifyFunc func(context.Context, ...*types.Alert) bool // processAlert determines in which aggregation group the alert falls // and inserts it. func (d *Dispatcher) processAlert(alert *types.Alert, route *Route) { - groupLabels := model.LabelSet{} - - for ln, lv := range alert.Labels { - if _, ok := route.RouteOpts.GroupBy[ln]; ok { - groupLabels[ln] = lv - } - } + groupLabels := getGroupLabels(alert, route) fp := groupLabels.Fingerprint() @@ -277,7 +254,14 @@ func (d *Dispatcher) processAlert(alert *types.Alert, route *Route) { go ag.run(func(ctx context.Context, alerts ...*types.Alert) bool { _, _, err := d.stage.Exec(ctx, d.logger, alerts...) if err != nil { - level.Error(d.logger).Log("msg", "Notify for alerts failed", "num_alerts", len(alerts), "err", err) + lvl := level.Error(d.logger) + if ctx.Err() == context.Canceled { + // It is expected for the context to be canceled on + // configuration reload or shutdown. In this case, the + // message should only be logged at the debug level. + lvl = level.Debug(d.logger) + } + lvl.Log("msg", "Notify for alerts failed", "num_alerts", len(alerts), "err", err) } return err == nil }) @@ -286,6 +270,17 @@ func (d *Dispatcher) processAlert(alert *types.Alert, route *Route) { ag.insert(alert) } +func getGroupLabels(alert *types.Alert, route *Route) model.LabelSet { + groupLabels := model.LabelSet{} + for ln, lv := range alert.Labels { + if _, ok := route.RouteOpts.GroupBy[ln]; ok || route.RouteOpts.GroupByAll { + groupLabels[ln] = lv + } + } + + return groupLabels +} + // aggrGroup aggregates alert fingerprints into groups to which a // common set of routing options applies. // It emits notifications in the specified intervals. @@ -295,6 +290,7 @@ type aggrGroup struct { logger log.Logger routeKey string + alerts *store.Alerts ctx context.Context cancel func() done chan struct{} @@ -302,7 +298,6 @@ type aggrGroup struct { timeout func(time.Duration) time.Duration mtx sync.RWMutex - alerts map[model.Fingerprint]*types.Alert hasFlushed bool } @@ -316,9 +311,12 @@ func newAggrGroup(ctx context.Context, labels model.LabelSet, r *Route, to func( routeKey: r.Key(), opts: &r.RouteOpts, timeout: to, - alerts: map[model.Fingerprint]*types.Alert{}, + alerts: store.NewAlerts(15 * time.Minute), + done: make(chan struct{}), } + ag.ctx, ag.cancel = context.WithCancel(ctx) + ag.alerts.Run(ag.ctx) ag.logger = log.With(logger, "aggrGroup", ag) @@ -341,20 +339,7 @@ func (ag *aggrGroup) String() string { return ag.GroupKey() } -func (ag *aggrGroup) alertSlice() []*types.Alert { - ag.mtx.RLock() - defer ag.mtx.RUnlock() - - var alerts []*types.Alert - for _, a := range ag.alerts { - alerts = append(alerts, a) - } - return alerts -} - func (ag *aggrGroup) run(nf notifyFunc) { - ag.done = make(chan struct{}) - defer close(ag.done) defer ag.next.Stop() @@ -404,23 +389,21 @@ func (ag *aggrGroup) stop() { // insert inserts the alert into the aggregation group. func (ag *aggrGroup) insert(alert *types.Alert) { - ag.mtx.Lock() - defer ag.mtx.Unlock() - - ag.alerts[alert.Fingerprint()] = alert + if err := ag.alerts.Set(alert); err != nil { + level.Error(ag.logger).Log("msg", "error on set alert", "err", err) + } // Immediately trigger a flush if the wait duration for this // alert is already over. + ag.mtx.Lock() + defer ag.mtx.Unlock() if !ag.hasFlushed && alert.StartsAt.Add(ag.opts.GroupWait).Before(time.Now()) { ag.next.Reset(0) } } func (ag *aggrGroup) empty() bool { - ag.mtx.RLock() - defer ag.mtx.RUnlock() - - return len(ag.alerts) == 0 + return ag.alerts.Empty() } // flush sends notifications for all new alerts. @@ -428,31 +411,41 @@ func (ag *aggrGroup) flush(notify func(...*types.Alert) bool) { if ag.empty() { return } - ag.mtx.Lock() var ( - alerts = make(map[model.Fingerprint]*types.Alert, len(ag.alerts)) - alertsSlice = make(types.AlertSlice, 0, len(ag.alerts)) + alerts = ag.alerts.List() + alertsSlice = make(types.AlertSlice, 0, len(alerts)) + now = time.Now() ) - for fp, alert := range ag.alerts { - alerts[fp] = alert - alertsSlice = append(alertsSlice, alert) + for _, alert := range alerts { + a := *alert + // Ensure that alerts don't resolve as time move forwards. + if !a.ResolvedAt(now) { + a.EndsAt = time.Time{} + } + alertsSlice = append(alertsSlice, &a) } sort.Stable(alertsSlice) - ag.mtx.Unlock() - - level.Debug(ag.logger).Log("msg", "Flushing", "alerts", fmt.Sprintf("%v", alertsSlice)) + level.Debug(ag.logger).Log("msg", "flushing", "alerts", fmt.Sprintf("%v", alertsSlice)) if notify(alertsSlice...) { - ag.mtx.Lock() - for fp, a := range alerts { + for _, a := range alertsSlice { // Only delete if the fingerprint has not been inserted // again since we notified about it. - if a.Resolved() && ag.alerts[fp] == a { - delete(ag.alerts, fp) + fp := a.Fingerprint() + got, err := ag.alerts.Get(fp) + if err != nil { + // This should only happen if the Alert was + // deleted from the store during the flush. + level.Error(ag.logger).Log("msg", "failed to get alert", "err", err) + continue + } + if a.Resolved() && got.UpdatedAt == a.UpdatedAt { + if err := ag.alerts.Delete(fp); err != nil { + level.Error(ag.logger).Log("msg", "error on delete alert", "err", err) + } } } - ag.mtx.Unlock() } } diff --git a/vendor/github.com/prometheus/alertmanager/dispatch/route.go b/vendor/github.com/prometheus/alertmanager/dispatch/route.go index add2afb64b0..928d641a1ed 100644 --- a/vendor/github.com/prometheus/alertmanager/dispatch/route.go +++ b/vendor/github.com/prometheus/alertmanager/dispatch/route.go @@ -32,6 +32,7 @@ var DefaultRouteOpts = RouteOpts{ GroupInterval: 5 * time.Minute, RepeatInterval: 4 * time.Hour, GroupBy: map[model.LabelName]struct{}{}, + GroupByAll: false, } // A Route is a node that contains definitions of how to handle alerts. @@ -69,6 +70,9 @@ func NewRoute(cr *config.Route, parent *Route) *Route { opts.GroupBy[ln] = struct{}{} } } + + opts.GroupByAll = cr.GroupByAll + if cr.GroupWait != nil { opts.GroupWait = time.Duration(*cr.GroupWait) } @@ -158,6 +162,9 @@ type RouteOpts struct { // What labels to group alerts by for notifications. GroupBy map[model.LabelName]struct{} + // Use all alert labels to group. + GroupByAll bool + // How long to wait to group matching alerts before sending // a notification. GroupWait time.Duration @@ -170,7 +177,8 @@ func (ro *RouteOpts) String() string { for ln := range ro.GroupBy { labels = append(labels, ln) } - return fmt.Sprintf("", ro.Receiver, labels, ro.GroupWait, ro.GroupInterval) + return fmt.Sprintf("", + ro.Receiver, labels, ro.GroupByAll, ro.GroupWait, ro.GroupInterval) } // MarshalJSON returns a JSON representation of the routing options. @@ -178,11 +186,13 @@ func (ro *RouteOpts) MarshalJSON() ([]byte, error) { v := struct { Receiver string `json:"receiver"` GroupBy model.LabelNames `json:"groupBy"` + GroupByAll bool `json:"groupByAll"` GroupWait time.Duration `json:"groupWait"` GroupInterval time.Duration `json:"groupInterval"` RepeatInterval time.Duration `json:"repeatInterval"` }{ Receiver: ro.Receiver, + GroupByAll: ro.GroupByAll, GroupWait: ro.GroupWait, GroupInterval: ro.GroupInterval, RepeatInterval: ro.RepeatInterval, diff --git a/vendor/github.com/prometheus/alertmanager/inhibit/inhibit.go b/vendor/github.com/prometheus/alertmanager/inhibit/inhibit.go index 80575ec73e8..b4d00fd299e 100644 --- a/vendor/github.com/prometheus/alertmanager/inhibit/inhibit.go +++ b/vendor/github.com/prometheus/alertmanager/inhibit/inhibit.go @@ -20,16 +20,18 @@ import ( "github.com/go-kit/kit/log" "github.com/go-kit/kit/log/level" - "github.com/oklog/oklog/pkg/group" + "github.com/oklog/run" "github.com/prometheus/common/model" "github.com/prometheus/alertmanager/config" "github.com/prometheus/alertmanager/provider" + "github.com/prometheus/alertmanager/store" "github.com/prometheus/alertmanager/types" ) -// An Inhibitor determines whether a given label set is muted -// based on the currently active alerts and a set of inhibition rules. +// An Inhibitor determines whether a given label set is muted based on the +// currently active alerts and a set of inhibition rules. It implements the +// Muter interface. type Inhibitor struct { alerts provider.Alerts rules []*InhibitRule @@ -54,19 +56,6 @@ func NewInhibitor(ap provider.Alerts, rs []*config.InhibitRule, mk types.Marker, return ih } -func (ih *Inhibitor) runGC(ctx context.Context) { - for { - select { - case <-time.After(15 * time.Minute): - for _, r := range ih.rules { - r.gc() - } - case <-ctx.Done(): - return - } - } -} - func (ih *Inhibitor) run(ctx context.Context) { it := ih.alerts.Subscribe() defer it.Close() @@ -83,32 +72,31 @@ func (ih *Inhibitor) run(ctx context.Context) { // Update the inhibition rules' cache. for _, r := range ih.rules { if r.SourceMatchers.Match(a.Labels) { - r.set(a) + if err := r.scache.Set(a); err != nil { + level.Error(ih.logger).Log("msg", "error on set alert", "err", err) + } } } } } } -// Run the Inihibitor's background processing. +// Run the Inhibitor's background processing. func (ih *Inhibitor) Run() { var ( - g group.Group + g run.Group ctx context.Context ) ih.mtx.Lock() ctx, ih.cancel = context.WithCancel(context.Background()) ih.mtx.Unlock() - gcCtx, gcCancel := context.WithCancel(ctx) runCtx, runCancel := context.WithCancel(ctx) - g.Add(func() error { - ih.runGC(gcCtx) - return nil - }, func(err error) { - gcCancel() - }) + for _, rule := range ih.rules { + rule.scache.Run(runCtx) + } + g.Add(func() error { ih.run(runCtx) return nil @@ -116,7 +104,9 @@ func (ih *Inhibitor) Run() { runCancel() }) - g.Run() + if err := g.Run(); err != nil { + level.Warn(ih.logger).Log("msg", "error running inhibitor", "err", err) + } } // Stop the Inhibitor's background processing. @@ -132,13 +122,19 @@ func (ih *Inhibitor) Stop() { } } -// Mutes returns true iff the given label set is muted. +// Mutes returns true iff the given label set is muted. It implements the Muter +// interface. func (ih *Inhibitor) Mutes(lset model.LabelSet) bool { fp := lset.Fingerprint() for _, r := range ih.rules { - // Only inhibit if target matchers match but source matchers don't. - if inhibitedByFP, eq := r.hasEqual(lset); !r.SourceMatchers.Match(lset) && r.TargetMatchers.Match(lset) && eq { + if !r.TargetMatchers.Match(lset) { + // If target side of rule doesn't match, we don't need to look any further. + continue + } + // If we are here, the target side matches. If the source side matches, too, we + // need to exclude inhibiting alerts for which the same is true. + if inhibitedByFP, eq := r.hasEqual(lset, r.SourceMatchers.Match(lset)); eq { ih.marker.SetInhibited(fp, inhibitedByFP.String()) return true } @@ -164,12 +160,11 @@ type InhibitRule struct { // target alerts in order for the inhibition to take effect. Equal map[model.LabelName]struct{} - mtx sync.RWMutex // Cache of alerts matching source labels. - scache map[model.Fingerprint]*types.Alert + scache *store.Alerts } -// NewInhibitRule returns a new InihibtRule based on a configuration definition. +// NewInhibitRule returns a new InhibitRule based on a configuration definition. func NewInhibitRule(cr *config.InhibitRule) *InhibitRule { var ( sourcem types.Matchers @@ -199,26 +194,17 @@ func NewInhibitRule(cr *config.InhibitRule) *InhibitRule { SourceMatchers: sourcem, TargetMatchers: targetm, Equal: equal, - scache: map[model.Fingerprint]*types.Alert{}, + scache: store.NewAlerts(15 * time.Minute), } } -// set the alert in the source cache. -func (r *InhibitRule) set(a *types.Alert) { - r.mtx.Lock() - defer r.mtx.Unlock() - - r.scache[a.Fingerprint()] = a -} - -// hasEqual checks whether the source cache contains alerts matching -// the equal labels for the given label set. -func (r *InhibitRule) hasEqual(lset model.LabelSet) (model.Fingerprint, bool) { - r.mtx.RLock() - defer r.mtx.RUnlock() - +// hasEqual checks whether the source cache contains alerts matching the equal +// labels for the given label set. If so, the fingerprint of one of those alerts +// is returned. If excludeTwoSidedMatch is true, alerts that match both the +// source and the target side of the rule are disregarded. +func (r *InhibitRule) hasEqual(lset model.LabelSet, excludeTwoSidedMatch bool) (model.Fingerprint, bool) { Outer: - for fp, a := range r.scache { + for _, a := range r.scache.List() { // The cache might be stale and contain resolved alerts. if a.Resolved() { continue @@ -228,19 +214,10 @@ Outer: continue Outer } } - return fp, true - } - return model.Fingerprint(0), false -} - -// gc clears out resolved alerts from the source cache. -func (r *InhibitRule) gc() { - r.mtx.Lock() - defer r.mtx.Unlock() - - for fp, a := range r.scache { - if a.Resolved() { - delete(r.scache, fp) + if excludeTwoSidedMatch && r.TargetMatchers.Match(a.Labels) { + continue Outer } + return a.Fingerprint(), true } + return model.Fingerprint(0), false } diff --git a/vendor/github.com/prometheus/alertmanager/nflog/nflog.go b/vendor/github.com/prometheus/alertmanager/nflog/nflog.go index 1b65fb1b46e..cdc2bc509e6 100644 --- a/vendor/github.com/prometheus/alertmanager/nflog/nflog.go +++ b/vendor/github.com/prometheus/alertmanager/nflog/nflog.go @@ -104,12 +104,14 @@ func newMetrics(r prometheus.Registerer) *metrics { m := &metrics{} m.gcDuration = prometheus.NewSummary(prometheus.SummaryOpts{ - Name: "alertmanager_nflog_gc_duration_seconds", - Help: "Duration of the last notification log garbage collection cycle.", + Name: "alertmanager_nflog_gc_duration_seconds", + Help: "Duration of the last notification log garbage collection cycle.", + Objectives: map[float64]float64{}, }) m.snapshotDuration = prometheus.NewSummary(prometheus.SummaryOpts{ - Name: "alertmanager_nflog_snapshot_duration_seconds", - Help: "Duration of the last notification log snapshot.", + Name: "alertmanager_nflog_snapshot_duration_seconds", + Help: "Duration of the last notification log snapshot.", + Objectives: map[float64]float64{}, }) m.snapshotSize = prometheus.NewGauge(prometheus.GaugeOpts{ Name: "alertmanager_nflog_snapshot_size_bytes", @@ -226,7 +228,10 @@ func (s state) clone() state { // merge returns true or false whether the MeshEntry was merged or // not. This information is used to decide to gossip the message further. -func (s state) merge(e *pb.MeshEntry) bool { +func (s state) merge(e *pb.MeshEntry, now time.Time) bool { + if e.ExpiresAt.Before(now) { + return false + } k := stateKey(string(e.Entry.GroupKey), e.Entry.Receiver) prev, ok := s[k] @@ -411,7 +416,7 @@ func (l *Log) Log(r *pb.Receiver, gkey string, firingAlerts, resolvedAlerts []ui if err != nil { return err } - l.st.merge(e) + l.st.merge(e, l.now()) l.broadcast(b) return nil @@ -522,9 +527,10 @@ func (l *Log) Merge(b []byte) error { } l.mtx.Lock() defer l.mtx.Unlock() + now := l.now() for _, e := range st { - if merged := l.st.merge(e); merged && !cluster.OversizedMessage(b) { + if merged := l.st.merge(e, now); merged && !cluster.OversizedMessage(b) { // If this is the first we've seen the message and it's // not oversized, gossip it to other nodes. We don't // propagate oversized messages because they're sent to diff --git a/vendor/github.com/prometheus/alertmanager/nflog/nflogpb/nflog.pb.go b/vendor/github.com/prometheus/alertmanager/nflog/nflogpb/nflog.pb.go index 598f9dec838..a621a099aac 100644 --- a/vendor/github.com/prometheus/alertmanager/nflog/nflogpb/nflog.pb.go +++ b/vendor/github.com/prometheus/alertmanager/nflog/nflogpb/nflog.pb.go @@ -1,30 +1,19 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: nflog.proto -/* - Package nflogpb is a generated protocol buffer package. - - It is generated from these files: - nflog.proto - - It has these top-level messages: - Receiver - Entry - MeshEntry -*/ package nflogpb -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import _ "github.com/gogo/protobuf/gogoproto" +import ( + fmt "fmt" -import time "time" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" -import types "github.com/gogo/protobuf/types" - -import io "io" + io "io" + math "math" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -45,13 +34,44 @@ type Receiver struct { Integration string `protobuf:"bytes,2,opt,name=integration,proto3" json:"integration,omitempty"` // Index of the receiver with respect to the integration. // Every integration in a group may have 0..N configurations. - Idx uint32 `protobuf:"varint,3,opt,name=idx,proto3" json:"idx,omitempty"` + Idx uint32 `protobuf:"varint,3,opt,name=idx,proto3" json:"idx,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Receiver) Reset() { *m = Receiver{} } +func (m *Receiver) String() string { return proto.CompactTextString(m) } +func (*Receiver) ProtoMessage() {} +func (*Receiver) Descriptor() ([]byte, []int) { + return fileDescriptor_c2d9785ad9c3e602, []int{0} +} +func (m *Receiver) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Receiver) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Receiver.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Receiver) XXX_Merge(src proto.Message) { + xxx_messageInfo_Receiver.Merge(m, src) +} +func (m *Receiver) XXX_Size() int { + return m.Size() +} +func (m *Receiver) XXX_DiscardUnknown() { + xxx_messageInfo_Receiver.DiscardUnknown(m) } -func (m *Receiver) Reset() { *m = Receiver{} } -func (m *Receiver) String() string { return proto.CompactTextString(m) } -func (*Receiver) ProtoMessage() {} -func (*Receiver) Descriptor() ([]byte, []int) { return fileDescriptorNflog, []int{0} } +var xxx_messageInfo_Receiver proto.InternalMessageInfo // Entry holds information about a successful notification // sent to a receiver. @@ -59,7 +79,7 @@ type Entry struct { // The key identifying the dispatching group. GroupKey []byte `protobuf:"bytes,1,opt,name=group_key,json=groupKey,proto3" json:"group_key,omitempty"` // The receiver that was notified. - Receiver *Receiver `protobuf:"bytes,2,opt,name=receiver" json:"receiver,omitempty"` + Receiver *Receiver `protobuf:"bytes,2,opt,name=receiver,proto3" json:"receiver,omitempty"` // Hash over the state of the group at notification time. // Deprecated in favor of FiringAlerts field, but kept for compatibility. GroupHash []byte `protobuf:"bytes,3,opt,name=group_hash,json=groupHash,proto3" json:"group_hash,omitempty"` @@ -67,38 +87,132 @@ type Entry struct { // Deprecated in favor of ResolvedAlerts field, but kept for compatibility. Resolved bool `protobuf:"varint,4,opt,name=resolved,proto3" json:"resolved,omitempty"` // Timestamp of the succeeding notification. - Timestamp time.Time `protobuf:"bytes,5,opt,name=timestamp,stdtime" json:"timestamp"` + Timestamp time.Time `protobuf:"bytes,5,opt,name=timestamp,proto3,stdtime" json:"timestamp"` // FiringAlerts list of hashes of firing alerts at the last notification time. - FiringAlerts []uint64 `protobuf:"varint,6,rep,packed,name=firing_alerts,json=firingAlerts" json:"firing_alerts,omitempty"` + FiringAlerts []uint64 `protobuf:"varint,6,rep,packed,name=firing_alerts,json=firingAlerts,proto3" json:"firing_alerts,omitempty"` // ResolvedAlerts list of hashes of resolved alerts at the last notification time. - ResolvedAlerts []uint64 `protobuf:"varint,7,rep,packed,name=resolved_alerts,json=resolvedAlerts" json:"resolved_alerts,omitempty"` + ResolvedAlerts []uint64 `protobuf:"varint,7,rep,packed,name=resolved_alerts,json=resolvedAlerts,proto3" json:"resolved_alerts,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Entry) Reset() { *m = Entry{} } +func (m *Entry) String() string { return proto.CompactTextString(m) } +func (*Entry) ProtoMessage() {} +func (*Entry) Descriptor() ([]byte, []int) { + return fileDescriptor_c2d9785ad9c3e602, []int{1} +} +func (m *Entry) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Entry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Entry.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Entry) XXX_Merge(src proto.Message) { + xxx_messageInfo_Entry.Merge(m, src) +} +func (m *Entry) XXX_Size() int { + return m.Size() +} +func (m *Entry) XXX_DiscardUnknown() { + xxx_messageInfo_Entry.DiscardUnknown(m) } -func (m *Entry) Reset() { *m = Entry{} } -func (m *Entry) String() string { return proto.CompactTextString(m) } -func (*Entry) ProtoMessage() {} -func (*Entry) Descriptor() ([]byte, []int) { return fileDescriptorNflog, []int{1} } +var xxx_messageInfo_Entry proto.InternalMessageInfo // MeshEntry is a wrapper message to communicate a notify log // entry through a mesh network. type MeshEntry struct { // The original raw notify log entry. - Entry *Entry `protobuf:"bytes,1,opt,name=entry" json:"entry,omitempty"` + Entry *Entry `protobuf:"bytes,1,opt,name=entry,proto3" json:"entry,omitempty"` // A timestamp indicating when the mesh peer should evict // the log entry from its state. - ExpiresAt time.Time `protobuf:"bytes,2,opt,name=expires_at,json=expiresAt,stdtime" json:"expires_at"` + ExpiresAt time.Time `protobuf:"bytes,2,opt,name=expires_at,json=expiresAt,proto3,stdtime" json:"expires_at"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MeshEntry) Reset() { *m = MeshEntry{} } +func (m *MeshEntry) String() string { return proto.CompactTextString(m) } +func (*MeshEntry) ProtoMessage() {} +func (*MeshEntry) Descriptor() ([]byte, []int) { + return fileDescriptor_c2d9785ad9c3e602, []int{2} +} +func (m *MeshEntry) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MeshEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MeshEntry.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MeshEntry) XXX_Merge(src proto.Message) { + xxx_messageInfo_MeshEntry.Merge(m, src) +} +func (m *MeshEntry) XXX_Size() int { + return m.Size() +} +func (m *MeshEntry) XXX_DiscardUnknown() { + xxx_messageInfo_MeshEntry.DiscardUnknown(m) } -func (m *MeshEntry) Reset() { *m = MeshEntry{} } -func (m *MeshEntry) String() string { return proto.CompactTextString(m) } -func (*MeshEntry) ProtoMessage() {} -func (*MeshEntry) Descriptor() ([]byte, []int) { return fileDescriptorNflog, []int{2} } +var xxx_messageInfo_MeshEntry proto.InternalMessageInfo func init() { proto.RegisterType((*Receiver)(nil), "nflogpb.Receiver") proto.RegisterType((*Entry)(nil), "nflogpb.Entry") proto.RegisterType((*MeshEntry)(nil), "nflogpb.MeshEntry") } + +func init() { proto.RegisterFile("nflog.proto", fileDescriptor_c2d9785ad9c3e602) } + +var fileDescriptor_c2d9785ad9c3e602 = []byte{ + // 385 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x90, 0xcf, 0x6e, 0xd3, 0x40, + 0x10, 0xc6, 0xbb, 0x4d, 0xd3, 0xda, 0xe3, 0xb4, 0x94, 0x15, 0x07, 0xcb, 0x08, 0xc7, 0x0a, 0x48, + 0xf8, 0x82, 0x23, 0x95, 0x27, 0x68, 0x10, 0x12, 0x12, 0x82, 0xc3, 0x8a, 0x2b, 0xb2, 0x36, 0x74, + 0xb2, 0x5e, 0x61, 0x7b, 0xad, 0xf5, 0x36, 0x6a, 0xde, 0x82, 0x47, 0xe0, 0x71, 0x72, 0xe4, 0x09, + 0xf8, 0x93, 0x27, 0x41, 0xde, 0xb5, 0x1d, 0x8e, 0xdc, 0x66, 0x7f, 0xf3, 0xcd, 0xcc, 0xb7, 0x1f, + 0x04, 0xf5, 0xa6, 0x54, 0x22, 0x6b, 0xb4, 0x32, 0x8a, 0x5e, 0xd8, 0x47, 0xb3, 0x8e, 0xe6, 0x42, + 0x29, 0x51, 0xe2, 0xd2, 0xe2, 0xf5, 0xfd, 0x66, 0x69, 0x64, 0x85, 0xad, 0xe1, 0x55, 0xe3, 0x94, + 0xd1, 0x13, 0xa1, 0x84, 0xb2, 0xe5, 0xb2, 0xab, 0x1c, 0x5d, 0x7c, 0x06, 0x8f, 0xe1, 0x17, 0x94, + 0x5b, 0xd4, 0xf4, 0x19, 0x80, 0xd0, 0xea, 0xbe, 0xc9, 0x6b, 0x5e, 0x61, 0x48, 0x12, 0x92, 0xfa, + 0xcc, 0xb7, 0xe4, 0x23, 0xaf, 0x90, 0x26, 0x10, 0xc8, 0xda, 0xa0, 0xd0, 0xdc, 0x48, 0x55, 0x87, + 0xa7, 0xb6, 0xff, 0x2f, 0xa2, 0xd7, 0x30, 0x91, 0x77, 0x0f, 0xe1, 0x24, 0x21, 0xe9, 0x25, 0xeb, + 0xca, 0xc5, 0xf7, 0x53, 0x98, 0xbe, 0xad, 0x8d, 0xde, 0xd1, 0xa7, 0xe0, 0x56, 0xe5, 0x5f, 0x71, + 0x67, 0x77, 0xcf, 0x98, 0x67, 0xc1, 0x7b, 0xdc, 0xd1, 0x57, 0xe0, 0xe9, 0xde, 0x85, 0xdd, 0x1b, + 0xdc, 0x3c, 0xce, 0xfa, 0x8f, 0x65, 0x83, 0x3d, 0x36, 0x4a, 0x8e, 0x46, 0x0b, 0xde, 0x16, 0xf6, + 0xdc, 0xac, 0x37, 0xfa, 0x8e, 0xb7, 0x05, 0x8d, 0xba, 0x6d, 0xad, 0x2a, 0xb7, 0x78, 0x17, 0x9e, + 0x25, 0x24, 0xf5, 0xd8, 0xf8, 0xa6, 0x2b, 0xf0, 0xc7, 0x60, 0xc2, 0xa9, 0x3d, 0x15, 0x65, 0x2e, + 0xba, 0x6c, 0x88, 0x2e, 0xfb, 0x34, 0x28, 0x56, 0xde, 0xfe, 0xe7, 0xfc, 0xe4, 0xdb, 0xaf, 0x39, + 0x61, 0xc7, 0x31, 0xfa, 0x1c, 0x2e, 0x37, 0x52, 0xcb, 0x5a, 0xe4, 0xbc, 0x44, 0x6d, 0xda, 0xf0, + 0x3c, 0x99, 0xa4, 0x67, 0x6c, 0xe6, 0xe0, 0xad, 0x65, 0xf4, 0x25, 0x3c, 0x1a, 0x8e, 0x0e, 0xb2, + 0x0b, 0x2b, 0xbb, 0x1a, 0xb0, 0x13, 0x2e, 0xb6, 0xe0, 0x7f, 0xc0, 0xb6, 0x70, 0x29, 0xbd, 0x80, + 0x29, 0x76, 0x85, 0x4d, 0x28, 0xb8, 0xb9, 0x1a, 0x53, 0xb0, 0x6d, 0xe6, 0x9a, 0xf4, 0x0d, 0x00, + 0x3e, 0x34, 0x52, 0x63, 0x9b, 0x73, 0xd3, 0x07, 0xf6, 0x9f, 0xbf, 0xe8, 0xe7, 0x6e, 0xcd, 0xea, + 0x7a, 0xff, 0x27, 0x3e, 0xd9, 0x1f, 0x62, 0xf2, 0xe3, 0x10, 0x93, 0xdf, 0x87, 0x98, 0xac, 0xcf, + 0xed, 0xe8, 0xeb, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x49, 0xcd, 0xa7, 0x1e, 0x61, 0x02, 0x00, + 0x00, +} + func (m *Receiver) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -131,6 +245,9 @@ func (m *Receiver) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintNflog(dAtA, i, uint64(m.Idx)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -183,8 +300,8 @@ func (m *Entry) MarshalTo(dAtA []byte) (int, error) { } dAtA[i] = 0x2a i++ - i = encodeVarintNflog(dAtA, i, uint64(types.SizeOfStdTime(m.Timestamp))) - n2, err := types.StdTimeMarshalTo(m.Timestamp, dAtA[i:]) + i = encodeVarintNflog(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp))) + n2, err := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Timestamp, dAtA[i:]) if err != nil { return 0, err } @@ -223,6 +340,9 @@ func (m *Entry) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintNflog(dAtA, i, uint64(j5)) i += copy(dAtA[i:], dAtA6[:j5]) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -253,12 +373,15 @@ func (m *MeshEntry) MarshalTo(dAtA []byte) (int, error) { } dAtA[i] = 0x12 i++ - i = encodeVarintNflog(dAtA, i, uint64(types.SizeOfStdTime(m.ExpiresAt))) - n8, err := types.StdTimeMarshalTo(m.ExpiresAt, dAtA[i:]) + i = encodeVarintNflog(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdTime(m.ExpiresAt))) + n8, err := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.ExpiresAt, dAtA[i:]) if err != nil { return 0, err } i += n8 + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -272,6 +395,9 @@ func encodeVarintNflog(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Receiver) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.GroupName) @@ -285,10 +411,16 @@ func (m *Receiver) Size() (n int) { if m.Idx != 0 { n += 1 + sovNflog(uint64(m.Idx)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Entry) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.GroupKey) @@ -306,7 +438,7 @@ func (m *Entry) Size() (n int) { if m.Resolved { n += 2 } - l = types.SizeOfStdTime(m.Timestamp) + l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp) n += 1 + l + sovNflog(uint64(l)) if len(m.FiringAlerts) > 0 { l = 0 @@ -322,18 +454,27 @@ func (m *Entry) Size() (n int) { } n += 1 + sovNflog(uint64(l)) + l } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *MeshEntry) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Entry != nil { l = m.Entry.Size() n += 1 + l + sovNflog(uint64(l)) } - l = types.SizeOfStdTime(m.ExpiresAt) + l = github_com_gogo_protobuf_types.SizeOfStdTime(m.ExpiresAt) n += 1 + l + sovNflog(uint64(l)) + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -365,7 +506,7 @@ func (m *Receiver) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -393,7 +534,7 @@ func (m *Receiver) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -403,6 +544,9 @@ func (m *Receiver) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNflog } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthNflog + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -422,7 +566,7 @@ func (m *Receiver) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -432,6 +576,9 @@ func (m *Receiver) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNflog } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthNflog + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -451,7 +598,7 @@ func (m *Receiver) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Idx |= (uint32(b) & 0x7F) << shift + m.Idx |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -465,9 +612,13 @@ func (m *Receiver) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthNflog } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthNflog + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -492,7 +643,7 @@ func (m *Entry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -520,7 +671,7 @@ func (m *Entry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= (int(b) & 0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -529,6 +680,9 @@ func (m *Entry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNflog } postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthNflog + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -551,7 +705,7 @@ func (m *Entry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -560,6 +714,9 @@ func (m *Entry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNflog } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthNflog + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -584,7 +741,7 @@ func (m *Entry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= (int(b) & 0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -593,6 +750,9 @@ func (m *Entry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNflog } postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthNflog + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -615,7 +775,7 @@ func (m *Entry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } @@ -635,7 +795,7 @@ func (m *Entry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -644,10 +804,13 @@ func (m *Entry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNflog } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthNflog + } if postIndex > l { return io.ErrUnexpectedEOF } - if err := types.StdTimeUnmarshal(&m.Timestamp, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Timestamp, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -663,7 +826,7 @@ func (m *Entry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint64(b) & 0x7F) << shift + v |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -680,7 +843,7 @@ func (m *Entry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - packedLen |= (int(b) & 0x7F) << shift + packedLen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -689,9 +852,23 @@ func (m *Entry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNflog } postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthNflog + } if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.FiringAlerts) == 0 { + m.FiringAlerts = make([]uint64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 for shift := uint(0); ; shift += 7 { @@ -703,7 +880,7 @@ func (m *Entry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint64(b) & 0x7F) << shift + v |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -725,7 +902,7 @@ func (m *Entry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint64(b) & 0x7F) << shift + v |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -742,7 +919,7 @@ func (m *Entry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - packedLen |= (int(b) & 0x7F) << shift + packedLen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -751,9 +928,23 @@ func (m *Entry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNflog } postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthNflog + } if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.ResolvedAlerts) == 0 { + m.ResolvedAlerts = make([]uint64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 for shift := uint(0); ; shift += 7 { @@ -765,7 +956,7 @@ func (m *Entry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint64(b) & 0x7F) << shift + v |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -784,9 +975,13 @@ func (m *Entry) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthNflog } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthNflog + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -811,7 +1006,7 @@ func (m *MeshEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -839,7 +1034,7 @@ func (m *MeshEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -848,6 +1043,9 @@ func (m *MeshEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNflog } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthNflog + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -872,7 +1070,7 @@ func (m *MeshEntry) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -881,10 +1079,13 @@ func (m *MeshEntry) Unmarshal(dAtA []byte) error { return ErrInvalidLengthNflog } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthNflog + } if postIndex > l { return io.ErrUnexpectedEOF } - if err := types.StdTimeUnmarshal(&m.ExpiresAt, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.ExpiresAt, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -897,9 +1098,13 @@ func (m *MeshEntry) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthNflog } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthNflog + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -963,10 +1168,13 @@ func skipNflog(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthNflog } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthNflog + } return iNdEx, nil case 3: for { @@ -995,6 +1203,9 @@ func skipNflog(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthNflog + } } return iNdEx, nil case 4: @@ -1013,34 +1224,3 @@ var ( ErrInvalidLengthNflog = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowNflog = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("nflog.proto", fileDescriptorNflog) } - -var fileDescriptorNflog = []byte{ - // 385 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x90, 0xcf, 0x6e, 0xd3, 0x40, - 0x10, 0xc6, 0xbb, 0x4d, 0xd3, 0xda, 0xe3, 0xb4, 0x94, 0x15, 0x07, 0xcb, 0x08, 0xc7, 0x0a, 0x48, - 0xf8, 0x82, 0x23, 0x95, 0x27, 0x68, 0x10, 0x12, 0x12, 0x82, 0xc3, 0x8a, 0x2b, 0xb2, 0x36, 0x74, - 0xb2, 0x5e, 0x61, 0x7b, 0xad, 0xf5, 0x36, 0x6a, 0xde, 0x82, 0x47, 0xe0, 0x71, 0x72, 0xe4, 0x09, - 0xf8, 0x93, 0x27, 0x41, 0xde, 0xb5, 0x1d, 0x8e, 0xdc, 0x66, 0x7f, 0xf3, 0xcd, 0xcc, 0xb7, 0x1f, - 0x04, 0xf5, 0xa6, 0x54, 0x22, 0x6b, 0xb4, 0x32, 0x8a, 0x5e, 0xd8, 0x47, 0xb3, 0x8e, 0xe6, 0x42, - 0x29, 0x51, 0xe2, 0xd2, 0xe2, 0xf5, 0xfd, 0x66, 0x69, 0x64, 0x85, 0xad, 0xe1, 0x55, 0xe3, 0x94, - 0xd1, 0x13, 0xa1, 0x84, 0xb2, 0xe5, 0xb2, 0xab, 0x1c, 0x5d, 0x7c, 0x06, 0x8f, 0xe1, 0x17, 0x94, - 0x5b, 0xd4, 0xf4, 0x19, 0x80, 0xd0, 0xea, 0xbe, 0xc9, 0x6b, 0x5e, 0x61, 0x48, 0x12, 0x92, 0xfa, - 0xcc, 0xb7, 0xe4, 0x23, 0xaf, 0x90, 0x26, 0x10, 0xc8, 0xda, 0xa0, 0xd0, 0xdc, 0x48, 0x55, 0x87, - 0xa7, 0xb6, 0xff, 0x2f, 0xa2, 0xd7, 0x30, 0x91, 0x77, 0x0f, 0xe1, 0x24, 0x21, 0xe9, 0x25, 0xeb, - 0xca, 0xc5, 0xf7, 0x53, 0x98, 0xbe, 0xad, 0x8d, 0xde, 0xd1, 0xa7, 0xe0, 0x56, 0xe5, 0x5f, 0x71, - 0x67, 0x77, 0xcf, 0x98, 0x67, 0xc1, 0x7b, 0xdc, 0xd1, 0x57, 0xe0, 0xe9, 0xde, 0x85, 0xdd, 0x1b, - 0xdc, 0x3c, 0xce, 0xfa, 0x8f, 0x65, 0x83, 0x3d, 0x36, 0x4a, 0x8e, 0x46, 0x0b, 0xde, 0x16, 0xf6, - 0xdc, 0xac, 0x37, 0xfa, 0x8e, 0xb7, 0x05, 0x8d, 0xba, 0x6d, 0xad, 0x2a, 0xb7, 0x78, 0x17, 0x9e, - 0x25, 0x24, 0xf5, 0xd8, 0xf8, 0xa6, 0x2b, 0xf0, 0xc7, 0x60, 0xc2, 0xa9, 0x3d, 0x15, 0x65, 0x2e, - 0xba, 0x6c, 0x88, 0x2e, 0xfb, 0x34, 0x28, 0x56, 0xde, 0xfe, 0xe7, 0xfc, 0xe4, 0xdb, 0xaf, 0x39, - 0x61, 0xc7, 0x31, 0xfa, 0x1c, 0x2e, 0x37, 0x52, 0xcb, 0x5a, 0xe4, 0xbc, 0x44, 0x6d, 0xda, 0xf0, - 0x3c, 0x99, 0xa4, 0x67, 0x6c, 0xe6, 0xe0, 0xad, 0x65, 0xf4, 0x25, 0x3c, 0x1a, 0x8e, 0x0e, 0xb2, - 0x0b, 0x2b, 0xbb, 0x1a, 0xb0, 0x13, 0x2e, 0xb6, 0xe0, 0x7f, 0xc0, 0xb6, 0x70, 0x29, 0xbd, 0x80, - 0x29, 0x76, 0x85, 0x4d, 0x28, 0xb8, 0xb9, 0x1a, 0x53, 0xb0, 0x6d, 0xe6, 0x9a, 0xf4, 0x0d, 0x00, - 0x3e, 0x34, 0x52, 0x63, 0x9b, 0x73, 0xd3, 0x07, 0xf6, 0x9f, 0xbf, 0xe8, 0xe7, 0x6e, 0xcd, 0xea, - 0x7a, 0xff, 0x27, 0x3e, 0xd9, 0x1f, 0x62, 0xf2, 0xe3, 0x10, 0x93, 0xdf, 0x87, 0x98, 0xac, 0xcf, - 0xed, 0xe8, 0xeb, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x49, 0xcd, 0xa7, 0x1e, 0x61, 0x02, 0x00, - 0x00, -} diff --git a/vendor/github.com/prometheus/alertmanager/notify/impl.go b/vendor/github.com/prometheus/alertmanager/notify/impl.go deleted file mode 100644 index 7c98edecaf3..00000000000 --- a/vendor/github.com/prometheus/alertmanager/notify/impl.go +++ /dev/null @@ -1,1382 +0,0 @@ -// Copyright 2015 Prometheus Team -// 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 notify - -import ( - "bytes" - "crypto/sha256" - "crypto/tls" - "encoding/json" - "errors" - "fmt" - "io/ioutil" - "mime" - "mime/multipart" - "net" - "net/http" - "net/mail" - "net/smtp" - "net/textproto" - "net/url" - "strings" - "time" - - "github.com/go-kit/kit/log" - "github.com/go-kit/kit/log/level" - commoncfg "github.com/prometheus/common/config" - "github.com/prometheus/common/model" - "github.com/prometheus/common/version" - "golang.org/x/net/context" - "golang.org/x/net/context/ctxhttp" - - "github.com/prometheus/alertmanager/config" - "github.com/prometheus/alertmanager/template" - "github.com/prometheus/alertmanager/types" -) - -// A Notifier notifies about alerts under constraints of the given context. -// It returns an error if unsuccessful and a flag whether the error is -// recoverable. This information is useful for a retry logic. -type Notifier interface { - Notify(context.Context, ...*types.Alert) (bool, error) -} - -// An Integration wraps a notifier and its config to be uniquely identified by -// name and index from its origin in the configuration. -type Integration struct { - notifier Notifier - conf notifierConfig - name string - idx int -} - -// Notify implements the Notifier interface. -func (i *Integration) Notify(ctx context.Context, alerts ...*types.Alert) (bool, error) { - return i.notifier.Notify(ctx, alerts...) -} - -// BuildReceiverIntegrations builds a list of integration notifiers off of a -// receivers config. -func BuildReceiverIntegrations(nc *config.Receiver, tmpl *template.Template, logger log.Logger) []Integration { - var ( - integrations []Integration - add = func(name string, i int, n Notifier, nc notifierConfig) { - integrations = append(integrations, Integration{ - notifier: n, - conf: nc, - name: name, - idx: i, - }) - } - ) - - for i, c := range nc.WebhookConfigs { - n := NewWebhook(c, tmpl, logger) - add("webhook", i, n, c) - } - for i, c := range nc.EmailConfigs { - n := NewEmail(c, tmpl, logger) - add("email", i, n, c) - } - for i, c := range nc.PagerdutyConfigs { - n := NewPagerDuty(c, tmpl, logger) - add("pagerduty", i, n, c) - } - for i, c := range nc.OpsGenieConfigs { - n := NewOpsGenie(c, tmpl, logger) - add("opsgenie", i, n, c) - } - for i, c := range nc.WechatConfigs { - n := NewWechat(c, tmpl, logger) - add("wechat", i, n, c) - } - for i, c := range nc.SlackConfigs { - n := NewSlack(c, tmpl, logger) - add("slack", i, n, c) - } - for i, c := range nc.HipchatConfigs { - n := NewHipchat(c, tmpl, logger) - add("hipchat", i, n, c) - } - for i, c := range nc.VictorOpsConfigs { - n := NewVictorOps(c, tmpl, logger) - add("victorops", i, n, c) - } - for i, c := range nc.PushoverConfigs { - n := NewPushover(c, tmpl, logger) - add("pushover", i, n, c) - } - return integrations -} - -const contentTypeJSON = "application/json" - -var userAgentHeader = fmt.Sprintf("Alertmanager/%s", version.Version) - -// Webhook implements a Notifier for generic webhooks. -type Webhook struct { - conf *config.WebhookConfig - tmpl *template.Template - logger log.Logger -} - -// NewWebhook returns a new Webhook. -func NewWebhook(conf *config.WebhookConfig, t *template.Template, l log.Logger) *Webhook { - return &Webhook{conf: conf, tmpl: t, logger: l} -} - -// WebhookMessage defines the JSON object send to webhook endpoints. -type WebhookMessage struct { - *template.Data - - // The protocol version. - Version string `json:"version"` - GroupKey string `json:"groupKey"` -} - -// Notify implements the Notifier interface. -func (w *Webhook) Notify(ctx context.Context, alerts ...*types.Alert) (bool, error) { - data := w.tmpl.Data(receiverName(ctx, w.logger), groupLabels(ctx, w.logger), alerts...) - - groupKey, ok := GroupKey(ctx) - if !ok { - level.Error(w.logger).Log("msg", "group key missing") - } - - msg := &WebhookMessage{ - Version: "4", - Data: data, - GroupKey: groupKey, - } - - var buf bytes.Buffer - if err := json.NewEncoder(&buf).Encode(msg); err != nil { - return false, err - } - - req, err := http.NewRequest("POST", w.conf.URL, &buf) - if err != nil { - return true, err - } - req.Header.Set("Content-Type", contentTypeJSON) - req.Header.Set("User-Agent", userAgentHeader) - - c, err := commoncfg.NewClientFromConfig(*w.conf.HTTPConfig, "webhook") - if err != nil { - return false, err - } - - resp, err := ctxhttp.Do(ctx, c, req) - if err != nil { - return true, err - } - resp.Body.Close() - - return w.retry(resp.StatusCode) -} - -func (w *Webhook) retry(statusCode int) (bool, error) { - // Webhooks are assumed to respond with 2xx response codes on a successful - // request and 5xx response codes are assumed to be recoverable. - if statusCode/100 != 2 { - return (statusCode/100 == 5), fmt.Errorf("unexpected status code %v from %s", statusCode, w.conf.URL) - } - - return false, nil -} - -// Email implements a Notifier for email notifications. -type Email struct { - conf *config.EmailConfig - tmpl *template.Template - logger log.Logger -} - -// NewEmail returns a new Email notifier. -func NewEmail(c *config.EmailConfig, t *template.Template, l log.Logger) *Email { - if _, ok := c.Headers["Subject"]; !ok { - c.Headers["Subject"] = config.DefaultEmailSubject - } - if _, ok := c.Headers["To"]; !ok { - c.Headers["To"] = c.To - } - if _, ok := c.Headers["From"]; !ok { - c.Headers["From"] = c.From - } - return &Email{conf: c, tmpl: t, logger: l} -} - -// auth resolves a string of authentication mechanisms. -func (n *Email) auth(mechs string) (smtp.Auth, error) { - username := n.conf.AuthUsername - - for _, mech := range strings.Split(mechs, " ") { - switch mech { - case "CRAM-MD5": - secret := string(n.conf.AuthSecret) - if secret == "" { - continue - } - return smtp.CRAMMD5Auth(username, secret), nil - - case "PLAIN": - password := string(n.conf.AuthPassword) - if password == "" { - continue - } - identity := n.conf.AuthIdentity - - // We need to know the hostname for both auth and TLS. - host, _, err := net.SplitHostPort(n.conf.Smarthost) - if err != nil { - return nil, fmt.Errorf("invalid address: %s", err) - } - return smtp.PlainAuth(identity, username, password, host), nil - case "LOGIN": - password := string(n.conf.AuthPassword) - if password == "" { - continue - } - return LoginAuth(username, password), nil - } - } - return nil, nil -} - -// Notify implements the Notifier interface. -func (n *Email) Notify(ctx context.Context, as ...*types.Alert) (bool, error) { - // We need to know the hostname for both auth and TLS. - var c *smtp.Client - host, port, err := net.SplitHostPort(n.conf.Smarthost) - if err != nil { - return false, fmt.Errorf("invalid address: %s", err) - } - - if port == "465" { - conn, err := tls.Dial("tcp", n.conf.Smarthost, &tls.Config{ServerName: host}) - if err != nil { - return true, err - } - c, err = smtp.NewClient(conn, n.conf.Smarthost) - if err != nil { - return true, err - } - - } else { - // Connect to the SMTP smarthost. - c, err = smtp.Dial(n.conf.Smarthost) - if err != nil { - return true, err - } - } - defer c.Quit() - - if n.conf.Hello != "" { - err := c.Hello(n.conf.Hello) - if err != nil { - return true, err - } - } - - // Global Config guarantees RequireTLS is not nil - if *n.conf.RequireTLS { - if ok, _ := c.Extension("STARTTLS"); !ok { - return true, fmt.Errorf("require_tls: true (default), but %q does not advertise the STARTTLS extension", n.conf.Smarthost) - } - tlsConf := &tls.Config{ServerName: host} - if err := c.StartTLS(tlsConf); err != nil { - return true, fmt.Errorf("starttls failed: %s", err) - } - } - - if ok, mech := c.Extension("AUTH"); ok { - auth, err := n.auth(mech) - if err != nil { - return true, err - } - if auth != nil { - if err := c.Auth(auth); err != nil { - return true, fmt.Errorf("%T failed: %s", auth, err) - } - } - } - - var ( - data = n.tmpl.Data(receiverName(ctx, n.logger), groupLabels(ctx, n.logger), as...) - tmpl = tmplText(n.tmpl, data, &err) - from = tmpl(n.conf.From) - to = tmpl(n.conf.To) - ) - if err != nil { - return false, err - } - - addrs, err := mail.ParseAddressList(from) - if err != nil { - return false, fmt.Errorf("parsing from addresses: %s", err) - } - if len(addrs) != 1 { - return false, fmt.Errorf("must be exactly one from address") - } - if err := c.Mail(addrs[0].Address); err != nil { - return true, fmt.Errorf("sending mail from: %s", err) - } - addrs, err = mail.ParseAddressList(to) - if err != nil { - return false, fmt.Errorf("parsing to addresses: %s", err) - } - for _, addr := range addrs { - if err := c.Rcpt(addr.Address); err != nil { - return true, fmt.Errorf("sending rcpt to: %s", err) - } - } - - // Send the email body. - wc, err := c.Data() - if err != nil { - return true, err - } - defer wc.Close() - - for header, t := range n.conf.Headers { - value, err := n.tmpl.ExecuteTextString(t, data) - if err != nil { - return false, fmt.Errorf("executing %q header template: %s", header, err) - } - fmt.Fprintf(wc, "%s: %s\r\n", header, mime.QEncoding.Encode("utf-8", value)) - } - - buffer := &bytes.Buffer{} - multipartWriter := multipart.NewWriter(buffer) - - fmt.Fprintf(wc, "Date: %s\r\n", time.Now().Format(time.RFC1123Z)) - fmt.Fprintf(wc, "Content-Type: multipart/alternative; boundary=%s\r\n", multipartWriter.Boundary()) - fmt.Fprintf(wc, "MIME-Version: 1.0\r\n") - - // TODO: Add some useful headers here, such as URL of the alertmanager - // and active/resolved. - fmt.Fprintf(wc, "\r\n") - - if len(n.conf.Text) > 0 { - // Text template - w, err := multipartWriter.CreatePart(textproto.MIMEHeader{"Content-Type": {"text/plain; charset=UTF-8"}}) - if err != nil { - return false, fmt.Errorf("creating part for text template: %s", err) - } - body, err := n.tmpl.ExecuteTextString(n.conf.Text, data) - if err != nil { - return false, fmt.Errorf("executing email text template: %s", err) - } - _, err = w.Write([]byte(body)) - if err != nil { - return true, err - } - } - - if len(n.conf.HTML) > 0 { - // Html template - // Preferred alternative placed last per section 5.1.4 of RFC 2046 - // https://www.ietf.org/rfc/rfc2046.txt - w, err := multipartWriter.CreatePart(textproto.MIMEHeader{"Content-Type": {"text/html; charset=UTF-8"}}) - if err != nil { - return false, fmt.Errorf("creating part for html template: %s", err) - } - body, err := n.tmpl.ExecuteHTMLString(n.conf.HTML, data) - if err != nil { - return false, fmt.Errorf("executing email html template: %s", err) - } - _, err = w.Write([]byte(body)) - if err != nil { - return true, err - } - } - - multipartWriter.Close() - wc.Write(buffer.Bytes()) - - return false, nil -} - -// PagerDuty implements a Notifier for PagerDuty notifications. -type PagerDuty struct { - conf *config.PagerdutyConfig - tmpl *template.Template - logger log.Logger -} - -// NewPagerDuty returns a new PagerDuty notifier. -func NewPagerDuty(c *config.PagerdutyConfig, t *template.Template, l log.Logger) *PagerDuty { - return &PagerDuty{conf: c, tmpl: t, logger: l} -} - -const ( - pagerDutyEventTrigger = "trigger" - pagerDutyEventResolve = "resolve" -) - -type pagerDutyMessage struct { - RoutingKey string `json:"routing_key,omitempty"` - ServiceKey string `json:"service_key,omitempty"` - DedupKey string `json:"dedup_key,omitempty"` - IncidentKey string `json:"incident_key,omitempty"` - EventType string `json:"event_type,omitempty"` - Description string `json:"description,omitempty"` - EventAction string `json:"event_action"` - Payload *pagerDutyPayload `json:"payload"` - Client string `json:"client,omitempty"` - ClientURL string `json:"client_url,omitempty"` - Details map[string]string `json:"details,omitempty"` -} - -type pagerDutyPayload struct { - Summary string `json:"summary"` - Source string `json:"source"` - Severity string `json:"severity"` - Timestamp string `json:"timestamp,omitempty"` - Class string `json:"class,omitempty"` - Component string `json:"component,omitempty"` - Group string `json:"group,omitempty"` - CustomDetails map[string]string `json:"custom_details,omitempty"` -} - -func (n *PagerDuty) notifyV1(ctx context.Context, c *http.Client, eventType, key string, tmpl func(string) string, details map[string]string, as ...*types.Alert) (bool, error) { - - msg := &pagerDutyMessage{ - ServiceKey: tmpl(string(n.conf.ServiceKey)), - EventType: eventType, - IncidentKey: hashKey(key), - Description: tmpl(n.conf.Description), - Details: details, - } - - n.conf.URL = "https://events.pagerduty.com/generic/2010-04-15/create_event.json" - - if eventType == pagerDutyEventTrigger { - msg.Client = tmpl(n.conf.Client) - msg.ClientURL = tmpl(n.conf.ClientURL) - } - - var buf bytes.Buffer - if err := json.NewEncoder(&buf).Encode(msg); err != nil { - return false, err - } - - resp, err := ctxhttp.Post(ctx, c, n.conf.URL, contentTypeJSON, &buf) - if err != nil { - return true, err - } - defer resp.Body.Close() - - return n.retryV1(resp.StatusCode) -} - -func (n *PagerDuty) notifyV2(ctx context.Context, c *http.Client, eventType, key string, tmpl func(string) string, details map[string]string, as ...*types.Alert) (bool, error) { - if n.conf.Severity == "" { - n.conf.Severity = "error" - } - - var payload *pagerDutyPayload - if eventType == pagerDutyEventTrigger { - payload = &pagerDutyPayload{ - Summary: tmpl(n.conf.Description), - Source: tmpl(n.conf.Client), - Severity: tmpl(n.conf.Severity), - CustomDetails: details, - Class: tmpl(n.conf.Class), - Component: tmpl(n.conf.Component), - Group: tmpl(n.conf.Group), - } - } - - msg := &pagerDutyMessage{ - RoutingKey: tmpl(string(n.conf.RoutingKey)), - EventAction: eventType, - DedupKey: hashKey(key), - Payload: payload, - } - - if eventType == pagerDutyEventTrigger { - msg.Client = tmpl(n.conf.Client) - msg.ClientURL = tmpl(n.conf.ClientURL) - } - - var buf bytes.Buffer - if err := json.NewEncoder(&buf).Encode(msg); err != nil { - return false, err - } - - resp, err := ctxhttp.Post(ctx, c, n.conf.URL, contentTypeJSON, &buf) - if err != nil { - return true, err - } - defer resp.Body.Close() - - return n.retryV2(resp.StatusCode) -} - -// Notify implements the Notifier interface. -// -// https://v2.developer.pagerduty.com/docs/events-api-v2 -func (n *PagerDuty) Notify(ctx context.Context, as ...*types.Alert) (bool, error) { - key, ok := GroupKey(ctx) - if !ok { - return false, fmt.Errorf("group key missing") - } - - var err error - var ( - alerts = types.Alerts(as...) - data = n.tmpl.Data(receiverName(ctx, n.logger), groupLabels(ctx, n.logger), as...) - tmpl = tmplText(n.tmpl, data, &err) - eventType = pagerDutyEventTrigger - ) - if alerts.Status() == model.AlertResolved { - eventType = pagerDutyEventResolve - } - - level.Debug(n.logger).Log("msg", "Notifying PagerDuty", "incident", key, "eventType", eventType) - - details := make(map[string]string, len(n.conf.Details)) - for k, v := range n.conf.Details { - details[k] = tmpl(v) - } - - if err != nil { - return false, err - } - - c, err := commoncfg.NewClientFromConfig(*n.conf.HTTPConfig, "pagerduty") - if err != nil { - return false, err - } - - if n.conf.ServiceKey != "" { - return n.notifyV1(ctx, c, eventType, key, tmpl, details, as...) - } - return n.notifyV2(ctx, c, eventType, key, tmpl, details, as...) -} - -func (n *PagerDuty) retryV1(statusCode int) (bool, error) { - // Retrying can solve the issue on 403 (rate limiting) and 5xx response codes. - // 2xx response codes indicate a successful request. - // https://v2.developer.pagerduty.com/docs/trigger-events - if statusCode/100 != 2 { - return (statusCode == 403 || statusCode/100 == 5), fmt.Errorf("unexpected status code %v", statusCode) - } - - return false, nil -} - -func (n *PagerDuty) retryV2(statusCode int) (bool, error) { - // Retrying can solve the issue on 429 (rate limiting) and 5xx response codes. - // 2xx response codes indicate a successful request. - // https://v2.developer.pagerduty.com/docs/events-api-v2#api-response-codes--retry-logic - if statusCode/100 != 2 { - return (statusCode == 429 || statusCode/100 == 5), fmt.Errorf("unexpected status code %v", statusCode) - } - - return false, nil -} - -// Slack implements a Notifier for Slack notifications. -type Slack struct { - conf *config.SlackConfig - tmpl *template.Template - logger log.Logger -} - -// NewSlack returns a new Slack notification handler. -func NewSlack(c *config.SlackConfig, t *template.Template, l log.Logger) *Slack { - return &Slack{ - conf: c, - tmpl: t, - logger: l, - } -} - -// slackReq is the request for sending a slack notification. -type slackReq struct { - Channel string `json:"channel,omitempty"` - Username string `json:"username,omitempty"` - IconEmoji string `json:"icon_emoji,omitempty"` - IconURL string `json:"icon_url,omitempty"` - LinkNames bool `json:"link_names,omitempty"` - Attachments []slackAttachment `json:"attachments"` -} - -// slackAttachment is used to display a richly-formatted message block. -type slackAttachment struct { - Title string `json:"title,omitempty"` - TitleLink string `json:"title_link,omitempty"` - Pretext string `json:"pretext,omitempty"` - Text string `json:"text"` - Fallback string `json:"fallback"` - Fields []config.SlackField `json:"fields,omitempty"` - Actions []config.SlackAction `json:"actions,omitempty"` - Footer string `json:"footer"` - - Color string `json:"color,omitempty"` - MrkdwnIn []string `json:"mrkdwn_in,omitempty"` -} - -// Notify implements the Notifier interface. -func (n *Slack) Notify(ctx context.Context, as ...*types.Alert) (bool, error) { - var err error - var ( - data = n.tmpl.Data(receiverName(ctx, n.logger), groupLabels(ctx, n.logger), as...) - tmplText = tmplText(n.tmpl, data, &err) - ) - - attachment := &slackAttachment{ - Title: tmplText(n.conf.Title), - TitleLink: tmplText(n.conf.TitleLink), - Pretext: tmplText(n.conf.Pretext), - Text: tmplText(n.conf.Text), - Fallback: tmplText(n.conf.Fallback), - Footer: tmplText(n.conf.Footer), - Color: tmplText(n.conf.Color), - MrkdwnIn: []string{"fallback", "pretext", "text"}, - } - - var numFields = len(n.conf.Fields) - if numFields > 0 { - var fields = make([]config.SlackField, numFields) - for index, field := range n.conf.Fields { - // Check if short was defined for the field otherwise fallback to the global setting - var short bool - if field.Short != nil { - short = *field.Short - } else { - short = n.conf.ShortFields - } - - // Rebuild the field by executing any templates and setting the new value for short - fields[index] = config.SlackField{ - Title: tmplText(field.Title), - Value: tmplText(field.Value), - Short: &short, - } - } - attachment.Fields = fields - } - - var numActions = len(n.conf.Actions) - if numActions > 0 { - var actions = make([]config.SlackAction, numActions) - for index, action := range n.conf.Actions { - actions[index] = config.SlackAction{ - Type: tmplText(action.Type), - Text: tmplText(action.Text), - URL: tmplText(action.URL), - Style: tmplText(action.Style), - } - } - attachment.Actions = actions - } - - req := &slackReq{ - Channel: tmplText(n.conf.Channel), - Username: tmplText(n.conf.Username), - IconEmoji: tmplText(n.conf.IconEmoji), - IconURL: tmplText(n.conf.IconURL), - LinkNames: n.conf.LinkNames, - Attachments: []slackAttachment{*attachment}, - } - if err != nil { - return false, err - } - - var buf bytes.Buffer - if err := json.NewEncoder(&buf).Encode(req); err != nil { - return false, err - } - - c, err := commoncfg.NewClientFromConfig(*n.conf.HTTPConfig, "slack") - if err != nil { - return false, err - } - - resp, err := ctxhttp.Post(ctx, c, string(n.conf.APIURL), contentTypeJSON, &buf) - if err != nil { - return true, err - } - resp.Body.Close() - - return n.retry(resp.StatusCode) -} - -func (n *Slack) retry(statusCode int) (bool, error) { - // Only 5xx response codes are recoverable and 2xx codes are successful. - // https://api.slack.com/incoming-webhooks#handling_errors - // https://api.slack.com/changelog/2016-05-17-changes-to-errors-for-incoming-webhooks - if statusCode/100 != 2 { - return (statusCode/100 == 5), fmt.Errorf("unexpected status code %v", statusCode) - } - - return false, nil -} - -// Hipchat implements a Notifier for Hipchat notifications. -type Hipchat struct { - conf *config.HipchatConfig - tmpl *template.Template - logger log.Logger -} - -// NewHipchat returns a new Hipchat notification handler. -func NewHipchat(c *config.HipchatConfig, t *template.Template, l log.Logger) *Hipchat { - return &Hipchat{ - conf: c, - tmpl: t, - logger: l, - } -} - -type hipchatReq struct { - From string `json:"from"` - Notify bool `json:"notify"` - Message string `json:"message"` - MessageFormat string `json:"message_format"` - Color string `json:"color"` -} - -// Notify implements the Notifier interface. -func (n *Hipchat) Notify(ctx context.Context, as ...*types.Alert) (bool, error) { - var err error - var msg string - var ( - data = n.tmpl.Data(receiverName(ctx, n.logger), groupLabels(ctx, n.logger), as...) - tmplText = tmplText(n.tmpl, data, &err) - tmplHTML = tmplHTML(n.tmpl, data, &err) - url = fmt.Sprintf("%sv2/room/%s/notification?auth_token=%s", n.conf.APIURL, n.conf.RoomID, n.conf.AuthToken) - ) - - if n.conf.MessageFormat == "html" { - msg = tmplHTML(n.conf.Message) - } else { - msg = tmplText(n.conf.Message) - } - - req := &hipchatReq{ - From: tmplText(n.conf.From), - Notify: n.conf.Notify, - Message: msg, - MessageFormat: n.conf.MessageFormat, - Color: tmplText(n.conf.Color), - } - if err != nil { - return false, err - } - - var buf bytes.Buffer - if err := json.NewEncoder(&buf).Encode(req); err != nil { - return false, err - } - - c, err := commoncfg.NewClientFromConfig(*n.conf.HTTPConfig, "hipchat") - if err != nil { - return false, err - } - - resp, err := ctxhttp.Post(ctx, c, url, contentTypeJSON, &buf) - if err != nil { - return true, err - } - - defer resp.Body.Close() - - return n.retry(resp.StatusCode) -} - -func (n *Hipchat) retry(statusCode int) (bool, error) { - // Response codes 429 (rate limiting) and 5xx can potentially recover. 2xx - // responce codes indicate successful requests. - // https://developer.atlassian.com/hipchat/guide/hipchat-rest-api/api-response-codes - if statusCode/100 != 2 { - return (statusCode == 429 || statusCode/100 == 5), fmt.Errorf("unexpected status code %v", statusCode) - } - - return false, nil -} - -// Wechat implements a Notfier for wechat notifications -type Wechat struct { - conf *config.WechatConfig - tmpl *template.Template - logger log.Logger - - accessToken string - accessTokenAt time.Time -} - -// Wechat AccessToken with corpid and corpsecret. -type WechatToken struct { - AccessToken string `json:"access_token"` -} - -type weChatMessage struct { - Text weChatMessageContent `yaml:"text,omitempty" json:"text,omitempty"` - ToUser string `yaml:"touser,omitempty" json:"touser,omitempty"` - ToParty string `yaml:"toparty,omitempty" json:"toparty,omitempty"` - Totag string `yaml:"totag,omitempty" json:"totag,omitempty"` - AgentID string `yaml:"agentid,omitempty" json:"agentid,omitempty"` - Safe string `yaml:"safe,omitempty" json:"safe,omitempty"` - Type string `yaml:"msgtype,omitempty" json:"msgtype,omitempty"` -} - -type weChatMessageContent struct { - Content string `json:"content"` -} - -type weChatResponse struct { - Code int `json:"code"` - Error string `json:"error"` -} - -// NewWechat returns a new Wechat notifier. -func NewWechat(c *config.WechatConfig, t *template.Template, l log.Logger) *Wechat { - return &Wechat{conf: c, tmpl: t, logger: l} -} - -// Notify implements the Notifier interface. -func (n *Wechat) Notify(ctx context.Context, as ...*types.Alert) (bool, error) { - key, ok := GroupKey(ctx) - if !ok { - return false, fmt.Errorf("group key missing") - } - - level.Debug(n.logger).Log("msg", "Notifying Wechat", "incident", key) - data := n.tmpl.Data(receiverName(ctx, n.logger), groupLabels(ctx, n.logger), as...) - - var err error - tmpl := tmplText(n.tmpl, data, &err) - if err != nil { - return false, err - } - - c, err := commoncfg.NewClientFromConfig(*n.conf.HTTPConfig, "wechat") - if err != nil { - return false, err - } - - // Refresh AccessToken over 2 hours - if n.accessToken == "" || time.Now().Sub(n.accessTokenAt) > 2*time.Hour { - parameters := url.Values{} - parameters.Add("corpsecret", tmpl(string(n.conf.APISecret))) - parameters.Add("corpid", tmpl(string(n.conf.CorpID))) - if err != nil { - return false, fmt.Errorf("templating error: %s", err) - } - - apiURL := n.conf.APIURL + "gettoken" - - u, err := url.Parse(apiURL) - if err != nil { - return false, err - } - - u.RawQuery = parameters.Encode() - - req, err := http.NewRequest(http.MethodGet, u.String(), nil) - if err != nil { - return true, err - } - - req.Header.Set("Content-Type", contentTypeJSON) - - resp, err := c.Do(req.WithContext(ctx)) - if err != nil { - return true, err - } - defer resp.Body.Close() - - var wechatToken WechatToken - if err := json.NewDecoder(resp.Body).Decode(&wechatToken); err != nil { - return false, err - } - - if wechatToken.AccessToken == "" { - return false, fmt.Errorf("invalid APISecret for CorpID: %s", n.conf.CorpID) - } - - // Cache accessToken - n.accessToken = wechatToken.AccessToken - n.accessTokenAt = time.Now() - } - - msg := &weChatMessage{ - Text: weChatMessageContent{ - Content: tmpl(n.conf.Message), - }, - ToUser: tmpl(n.conf.ToUser), - ToParty: tmpl(n.conf.ToParty), - Totag: tmpl(n.conf.ToTag), - AgentID: tmpl(n.conf.AgentID), - Type: "text", - Safe: "0", - } - if err != nil { - return false, fmt.Errorf("templating error: %s", err) - } - - var buf bytes.Buffer - if err := json.NewEncoder(&buf).Encode(msg); err != nil { - return false, err - } - - postMessageURL := n.conf.APIURL + "message/send?access_token=" + n.accessToken - - req, err := http.NewRequest(http.MethodPost, postMessageURL, &buf) - if err != nil { - return true, err - } - - resp, err := c.Do(req.WithContext(ctx)) - if err != nil { - return true, err - } - defer resp.Body.Close() - - body, _ := ioutil.ReadAll(resp.Body) - level.Debug(n.logger).Log("msg", "response: "+string(body), "incident", key) - - if resp.StatusCode != 200 { - return true, fmt.Errorf("unexpected status code %v", resp.StatusCode) - } else { - var weResp weChatResponse - if err := json.Unmarshal(body, &weResp); err != nil { - return true, err - } - - // https://work.weixin.qq.com/api/doc#10649 - if weResp.Code == 0 { - return false, nil - } - - // AccessToken is expired - if weResp.Code == 42001 { - n.accessToken = "" - return true, errors.New(weResp.Error) - } - - return false, errors.New(weResp.Error) - } -} - -// OpsGenie implements a Notifier for OpsGenie notifications. -type OpsGenie struct { - conf *config.OpsGenieConfig - tmpl *template.Template - logger log.Logger -} - -// NewOpsGenie returns a new OpsGenie notifier. -func NewOpsGenie(c *config.OpsGenieConfig, t *template.Template, l log.Logger) *OpsGenie { - return &OpsGenie{conf: c, tmpl: t, logger: l} -} - -type opsGenieCreateMessage struct { - Alias string `json:"alias"` - Message string `json:"message"` - Description string `json:"description,omitempty"` - Details map[string]string `json:"details"` - Source string `json:"source"` - Teams []map[string]string `json:"teams,omitempty"` - Tags []string `json:"tags,omitempty"` - Note string `json:"note,omitempty"` - Priority string `json:"priority,omitempty"` -} - -type opsGenieCloseMessage struct { - Source string `json:"source"` -} - -// Notify implements the Notifier interface. -func (n *OpsGenie) Notify(ctx context.Context, as ...*types.Alert) (bool, error) { - req, retry, err := n.createRequest(ctx, as...) - if err != nil { - return retry, err - } - - c, err := commoncfg.NewClientFromConfig(*n.conf.HTTPConfig, "opsgenie") - if err != nil { - return false, err - } - - resp, err := ctxhttp.Do(ctx, c, req) - - if err != nil { - return true, err - } - defer resp.Body.Close() - - return n.retry(resp.StatusCode) -} - -// Like Split but filter out empty strings. -func safeSplit(s string, sep string) []string { - a := strings.Split(strings.TrimSpace(s), sep) - b := a[:0] - for _, x := range a { - if x != "" { - b = append(b, x) - } - } - return b -} - -// Create requests for a list of alerts. -func (n *OpsGenie) createRequest(ctx context.Context, as ...*types.Alert) (*http.Request, bool, error) { - key, ok := GroupKey(ctx) - if !ok { - return nil, false, fmt.Errorf("group key missing") - } - data := n.tmpl.Data(receiverName(ctx, n.logger), groupLabels(ctx, n.logger), as...) - - level.Debug(n.logger).Log("msg", "Notifying OpsGenie", "incident", key) - - var err error - tmpl := tmplText(n.tmpl, data, &err) - - details := make(map[string]string, len(n.conf.Details)) - for k, v := range n.conf.Details { - details[k] = tmpl(v) - } - - var ( - msg interface{} - apiURL string - alias = hashKey(key) - alerts = types.Alerts(as...) - ) - switch alerts.Status() { - case model.AlertResolved: - apiURL = fmt.Sprintf("%sv2/alerts/%s/close?identifierType=alias", n.conf.APIURL, alias) - msg = &opsGenieCloseMessage{Source: tmpl(n.conf.Source)} - default: - message := tmpl(n.conf.Message) - if len(message) > 130 { - message = message[:127] + "..." - level.Debug(n.logger).Log("msg", "Truncated message to %q due to OpsGenie message limit", "truncated_message", message, "incident", key) - } - - apiURL = n.conf.APIURL + "v2/alerts" - var teams []map[string]string - for _, t := range safeSplit(string(tmpl(n.conf.Teams)), ",") { - teams = append(teams, map[string]string{"name": t}) - } - tags := safeSplit(string(tmpl(n.conf.Tags)), ",") - - msg = &opsGenieCreateMessage{ - Alias: alias, - Message: message, - Description: tmpl(n.conf.Description), - Details: details, - Source: tmpl(n.conf.Source), - Teams: teams, - Tags: tags, - Note: tmpl(n.conf.Note), - Priority: tmpl(n.conf.Priority), - } - } - if err != nil { - return nil, false, fmt.Errorf("templating error: %s", err) - } - - var buf bytes.Buffer - if err := json.NewEncoder(&buf).Encode(msg); err != nil { - return nil, false, err - } - - req, err := http.NewRequest("POST", apiURL, &buf) - if err != nil { - return nil, true, err - } - req.Header.Set("Content-Type", contentTypeJSON) - req.Header.Set("Authorization", fmt.Sprintf("GenieKey %s", n.conf.APIKey)) - return req, true, nil -} - -func (n *OpsGenie) retry(statusCode int) (bool, error) { - // https://docs.opsgenie.com/docs/response#section-response-codes - // Response codes 429 (rate limiting) and 5xx are potentially recoverable - if statusCode/100 == 5 || statusCode == 429 { - return true, fmt.Errorf("unexpected status code %v", statusCode) - } else if statusCode/100 != 2 { - return false, fmt.Errorf("unexpected status code %v", statusCode) - } - - return false, nil -} - -// VictorOps implements a Notifier for VictorOps notifications. -type VictorOps struct { - conf *config.VictorOpsConfig - tmpl *template.Template - logger log.Logger -} - -// NewVictorOps returns a new VictorOps notifier. -func NewVictorOps(c *config.VictorOpsConfig, t *template.Template, l log.Logger) *VictorOps { - return &VictorOps{ - conf: c, - tmpl: t, - logger: l, - } -} - -const ( - victorOpsEventTrigger = "CRITICAL" - victorOpsEventResolve = "RECOVERY" -) - -type victorOpsMessage struct { - MessageType string `json:"message_type"` - EntityID string `json:"entity_id"` - EntityDisplayName string `json:"entity_display_name"` - StateMessage string `json:"state_message"` - MonitoringTool string `json:"monitoring_tool"` -} - -// Notify implements the Notifier interface. -func (n *VictorOps) Notify(ctx context.Context, as ...*types.Alert) (bool, error) { - victorOpsAllowedEvents := map[string]bool{ - "INFO": true, - "WARNING": true, - "CRITICAL": true, - } - - key, ok := GroupKey(ctx) - if !ok { - return false, fmt.Errorf("group key missing") - } - - var err error - var ( - alerts = types.Alerts(as...) - data = n.tmpl.Data(receiverName(ctx, n.logger), groupLabels(ctx, n.logger), as...) - tmpl = tmplText(n.tmpl, data, &err) - apiURL = fmt.Sprintf("%s%s/%s", n.conf.APIURL, n.conf.APIKey, tmpl(n.conf.RoutingKey)) - messageType = tmpl(n.conf.MessageType) - stateMessage = tmpl(n.conf.StateMessage) - ) - - if alerts.Status() == model.AlertFiring && !victorOpsAllowedEvents[messageType] { - messageType = victorOpsEventTrigger - } - - if alerts.Status() == model.AlertResolved { - messageType = victorOpsEventResolve - } - - if len(stateMessage) > 20480 { - stateMessage = stateMessage[0:20475] + "\n..." - level.Debug(n.logger).Log("msg", "Truncated stateMessage due to VictorOps stateMessage limit", "truncated_state_message", stateMessage, "incident", key) - } - - msg := &victorOpsMessage{ - MessageType: messageType, - EntityID: hashKey(key), - EntityDisplayName: tmpl(n.conf.EntityDisplayName), - StateMessage: stateMessage, - MonitoringTool: tmpl(n.conf.MonitoringTool), - } - - if err != nil { - return false, fmt.Errorf("templating error: %s", err) - } - - var buf bytes.Buffer - if err := json.NewEncoder(&buf).Encode(msg); err != nil { - return false, err - } - - c, err := commoncfg.NewClientFromConfig(*n.conf.HTTPConfig, "victorops") - if err != nil { - return false, err - } - - resp, err := ctxhttp.Post(ctx, c, apiURL, contentTypeJSON, &buf) - if err != nil { - return true, err - } - - defer resp.Body.Close() - - return n.retry(resp.StatusCode) -} - -func (n *VictorOps) retry(statusCode int) (bool, error) { - // Missing documentation therefore assuming only 5xx response codes are - // recoverable. - if statusCode/100 == 5 { - return true, fmt.Errorf("unexpected status code %v", statusCode) - } else if statusCode/100 != 2 { - return false, fmt.Errorf("unexpected status code %v", statusCode) - } - - return false, nil -} - -// Pushover implements a Notifier for Pushover notifications. -type Pushover struct { - conf *config.PushoverConfig - tmpl *template.Template - logger log.Logger -} - -// NewPushover returns a new Pushover notifier. -func NewPushover(c *config.PushoverConfig, t *template.Template, l log.Logger) *Pushover { - return &Pushover{conf: c, tmpl: t, logger: l} -} - -// Notify implements the Notifier interface. -func (n *Pushover) Notify(ctx context.Context, as ...*types.Alert) (bool, error) { - key, ok := GroupKey(ctx) - if !ok { - return false, fmt.Errorf("group key missing") - } - data := n.tmpl.Data(receiverName(ctx, n.logger), groupLabels(ctx, n.logger), as...) - - level.Debug(n.logger).Log("msg", "Notifying Pushover", "incident", key) - - var err error - tmpl := tmplText(n.tmpl, data, &err) - - parameters := url.Values{} - parameters.Add("token", tmpl(string(n.conf.Token))) - parameters.Add("user", tmpl(string(n.conf.UserKey))) - - title := tmpl(n.conf.Title) - if len(title) > 250 { - title = title[:247] + "..." - level.Debug(n.logger).Log("msg", "Truncated title due to Pushover title limit", "truncated_title", title, "incident", key) - } - parameters.Add("title", title) - - message := tmpl(n.conf.Message) - if len(message) > 1024 { - message = message[:1021] + "..." - level.Debug(n.logger).Log("msg", "Truncated message due to Pushover message limit", "truncated_message", message, "incident", key) - } - message = strings.TrimSpace(message) - if message == "" { - // Pushover rejects empty messages. - message = "(no details)" - } - parameters.Add("message", message) - - supplementaryURL := tmpl(n.conf.URL) - if len(supplementaryURL) > 512 { - supplementaryURL = supplementaryURL[:509] + "..." - level.Debug(n.logger).Log("msg", "Truncated URL due to Pushover url limit", "truncated_url", supplementaryURL, "incident", key) - } - parameters.Add("url", supplementaryURL) - - parameters.Add("priority", tmpl(n.conf.Priority)) - parameters.Add("retry", fmt.Sprintf("%d", int64(time.Duration(n.conf.Retry).Seconds()))) - parameters.Add("expire", fmt.Sprintf("%d", int64(time.Duration(n.conf.Expire).Seconds()))) - if err != nil { - return false, err - } - - apiURL := "https://api.pushover.net/1/messages.json" - u, err := url.Parse(apiURL) - if err != nil { - return false, err - } - u.RawQuery = parameters.Encode() - level.Debug(n.logger).Log("msg", "Sending Pushover message", "incident", key, "url", u.String()) - - c, err := commoncfg.NewClientFromConfig(*n.conf.HTTPConfig, "pushover") - if err != nil { - return false, err - } - - resp, err := ctxhttp.Post(ctx, c, u.String(), "text/plain", nil) - if err != nil { - return true, err - } - defer resp.Body.Close() - - return n.retry(resp.StatusCode) -} - -func (n *Pushover) retry(statusCode int) (bool, error) { - // Only documented behaviour is that 2xx response codes are successful and - // 4xx are unsuccessful, therefore assuming only 5xx are recoverable. - // https://pushover.net/api#response - if statusCode/100 == 5 { - return true, fmt.Errorf("unexpected status code %v", statusCode) - } else if statusCode/100 != 2 { - return false, fmt.Errorf("unexpected status code %v", statusCode) - } - - return false, nil -} - -func tmplText(tmpl *template.Template, data *template.Data, err *error) func(string) string { - return func(name string) (s string) { - if *err != nil { - return - } - s, *err = tmpl.ExecuteTextString(name, data) - return s - } -} - -func tmplHTML(tmpl *template.Template, data *template.Data, err *error) func(string) string { - return func(name string) (s string) { - if *err != nil { - return - } - s, *err = tmpl.ExecuteHTMLString(name, data) - return s - } -} - -type loginAuth struct { - username, password string -} - -func LoginAuth(username, password string) smtp.Auth { - return &loginAuth{username, password} -} - -func (a *loginAuth) Start(server *smtp.ServerInfo) (string, []byte, error) { - return "LOGIN", []byte{}, nil -} - -// Used for AUTH LOGIN. (Maybe password should be encrypted) -func (a *loginAuth) Next(fromServer []byte, more bool) ([]byte, error) { - if more { - switch strings.ToLower(string(fromServer)) { - case "username:": - return []byte(a.username), nil - case "password:": - return []byte(a.password), nil - default: - return nil, errors.New("unexpected server challenge") - } - } - return nil, nil -} - -// hashKey returns the sha256 for a group key as integrations may have -// maximum length requirements on deduplication keys. -func hashKey(s string) string { - h := sha256.New() - h.Write([]byte(s)) - return fmt.Sprintf("%x", h.Sum(nil)) -} diff --git a/vendor/github.com/prometheus/alertmanager/notify/notify.go b/vendor/github.com/prometheus/alertmanager/notify/notify.go index 75b791e61a6..70def59a3a2 100644 --- a/vendor/github.com/prometheus/alertmanager/notify/notify.go +++ b/vendor/github.com/prometheus/alertmanager/notify/notify.go @@ -14,6 +14,7 @@ package notify import ( + "context" "fmt" "sort" "sync" @@ -25,14 +26,12 @@ import ( "github.com/go-kit/kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/common/model" - "golang.org/x/net/context" "github.com/prometheus/alertmanager/cluster" - "github.com/prometheus/alertmanager/config" + "github.com/prometheus/alertmanager/inhibit" "github.com/prometheus/alertmanager/nflog" "github.com/prometheus/alertmanager/nflog/nflogpb" "github.com/prometheus/alertmanager/silence" - "github.com/prometheus/alertmanager/template" "github.com/prometheus/alertmanager/types" ) @@ -86,12 +85,13 @@ func init() { notificationLatencySeconds.WithLabelValues("webhook") notificationLatencySeconds.WithLabelValues("victorops") - prometheus.Register(numNotifications) - prometheus.Register(numFailedNotifications) - prometheus.Register(notificationLatencySeconds) + prometheus.MustRegister(numNotifications) + prometheus.MustRegister(numFailedNotifications) + prometheus.MustRegister(notificationLatencySeconds) } -type notifierConfig interface { +// ResolvedSender returns true if resolved notifications should be sent. +type ResolvedSender interface { SendResolved() bool } @@ -99,6 +99,52 @@ type notifierConfig interface { // to a notification pipeline. const MinTimeout = 10 * time.Second +// Notifier notifies about alerts under constraints of the given context. It +// returns an error if unsuccessful and a flag whether the error is +// recoverable. This information is useful for a retry logic. +type Notifier interface { + Notify(context.Context, ...*types.Alert) (bool, error) +} + +// Integration wraps a notifier and its configuration to be uniquely identified +// by name and index from its origin in the configuration. +type Integration struct { + notifier Notifier + rs ResolvedSender + name string + idx int +} + +// NewIntegration returns a new integration. +func NewIntegration(notifier Notifier, rs ResolvedSender, name string, idx int) Integration { + return Integration{ + notifier: notifier, + rs: rs, + name: name, + idx: idx, + } +} + +// Notify implements the Notifier interface. +func (i *Integration) Notify(ctx context.Context, alerts ...*types.Alert) (bool, error) { + return i.notifier.Notify(ctx, alerts...) +} + +// SendResolved implements the ResolvedSender interface. +func (i *Integration) SendResolved() bool { + return i.rs.SendResolved() +} + +// Name returns the name of the integration. +func (i *Integration) Name() string { + return i.name +} + +// Index returns the index of the integration. +func (i *Integration) Index() int { + return i.idx +} + // notifyKey defines a custom type with which a context is populated to // avoid accidental collisions. type notifyKey int @@ -162,14 +208,6 @@ func ReceiverName(ctx context.Context) (string, bool) { return v, ok } -func receiverName(ctx context.Context, l log.Logger) string { - recv, ok := ReceiverName(ctx) - if !ok { - level.Error(l).Log("msg", "Missing receiver") - } - return recv -} - // GroupKey extracts a group key from the context. Iff none exists, the // second argument is false. func GroupKey(ctx context.Context) (string, bool) { @@ -177,14 +215,6 @@ func GroupKey(ctx context.Context) (string, bool) { return v, ok } -func groupLabels(ctx context.Context, l log.Logger) model.LabelSet { - groupLabels, ok := GroupLabels(ctx) - if !ok { - level.Error(l).Log("msg", "Missing group labels") - } - return groupLabels -} - // GroupLabels extracts grouping label set from the context. Iff none exists, the // second argument is false. func GroupLabels(ctx context.Context) (model.LabelSet, bool) { @@ -233,41 +263,39 @@ type NotificationLog interface { // BuildPipeline builds a map of receivers to Stages. func BuildPipeline( - confs []*config.Receiver, - tmpl *template.Template, + receivers map[string][]Integration, wait func() time.Duration, - muter types.Muter, - silences *silence.Silences, + inhibitor *inhibit.Inhibitor, + silencer *silence.Silencer, notificationLog NotificationLog, - marker types.Marker, peer *cluster.Peer, - logger log.Logger, ) RoutingStage { - rs := RoutingStage{} + rs := make(RoutingStage, len(receivers)) ms := NewGossipSettleStage(peer) - is := NewInhibitStage(muter) - ss := NewSilenceStage(silences, marker) + is := NewMuteStage(inhibitor) + ss := NewMuteStage(silencer) - for _, rc := range confs { - rs[rc.Name] = MultiStage{ms, is, ss, createStage(rc, tmpl, wait, notificationLog, logger)} + for name := range receivers { + st := createReceiverStage(name, receivers[name], wait, notificationLog) + rs[name] = MultiStage{ms, is, ss, st} } return rs } -// createStage creates a pipeline of stages for a receiver. -func createStage(rc *config.Receiver, tmpl *template.Template, wait func() time.Duration, notificationLog NotificationLog, logger log.Logger) Stage { +// createReceiverStage creates a pipeline of stages for a receiver. +func createReceiverStage(name string, integrations []Integration, wait func() time.Duration, notificationLog NotificationLog) Stage { var fs FanoutStage - for _, i := range BuildReceiverIntegrations(rc, tmpl, logger) { + for i := range integrations { recv := &nflogpb.Receiver{ - GroupName: rc.Name, - Integration: i.name, - Idx: uint32(i.idx), + GroupName: name, + Integration: integrations[i].Name(), + Idx: uint32(integrations[i].Index()), } var s MultiStage s = append(s, NewWaitStage(wait)) - s = append(s, NewDedupStage(i, notificationLog, recv)) - s = append(s, NewRetryStage(i, rc.Name)) + s = append(s, NewDedupStage(&integrations[i], notificationLog, recv)) + s = append(s, NewRetryStage(integrations[i], name)) s = append(s, NewSetNotifiesStage(notificationLog, recv)) fs = append(fs, s) @@ -294,7 +322,7 @@ func (rs RoutingStage) Exec(ctx context.Context, l log.Logger, alerts ...*types. return s.Exec(ctx, l, alerts...) } -// A MultiStage executes a series of stages sequencially. +// A MultiStage executes a series of stages sequentially. type MultiStage []Stage // Exec implements the Stage interface. @@ -329,7 +357,14 @@ func (fs FanoutStage) Exec(ctx context.Context, l log.Logger, alerts ...*types.A go func(s Stage) { if _, _, err := s.Exec(ctx, l, alerts...); err != nil { me.Add(err) - level.Error(l).Log("msg", "Error on notify", "err", err) + lvl := level.Error(l) + if ctx.Err() == context.Canceled { + // It is expected for the context to be canceled on + // configuration reload or shutdown. In this case, the + // message should only be logged at the debug level. + lvl = level.Debug(l) + } + lvl.Log("msg", "Error on notify", "err", err) } wg.Done() }(s) @@ -359,72 +394,27 @@ func (n *GossipSettleStage) Exec(ctx context.Context, l log.Logger, alerts ...*t return ctx, alerts, nil } -// InhibitStage filters alerts through an inhibition muter. -type InhibitStage struct { +// MuteStage filters alerts through a Muter. +type MuteStage struct { muter types.Muter } -// NewInhibitStage return a new InhibitStage. -func NewInhibitStage(m types.Muter) *InhibitStage { - return &InhibitStage{muter: m} +// NewMuteStage return a new MuteStage. +func NewMuteStage(m types.Muter) *MuteStage { + return &MuteStage{muter: m} } // Exec implements the Stage interface. -func (n *InhibitStage) Exec(ctx context.Context, l log.Logger, alerts ...*types.Alert) (context.Context, []*types.Alert, error) { +func (n *MuteStage) Exec(ctx context.Context, l log.Logger, alerts ...*types.Alert) (context.Context, []*types.Alert, error) { var filtered []*types.Alert for _, a := range alerts { // TODO(fabxc): increment total alerts counter. - // Do not send the alert if the silencer mutes it. + // Do not send the alert if muted. if !n.muter.Mutes(a.Labels) { - // TODO(fabxc): increment muted alerts counter. filtered = append(filtered, a) } + // TODO(fabxc): increment muted alerts counter if muted. } - - return ctx, filtered, nil -} - -// SilenceStage filters alerts through a silence muter. -type SilenceStage struct { - silences *silence.Silences - marker types.Marker -} - -// NewSilenceStage returns a new SilenceStage. -func NewSilenceStage(s *silence.Silences, mk types.Marker) *SilenceStage { - return &SilenceStage{ - silences: s, - marker: mk, - } -} - -// Exec implements the Stage interface. -func (n *SilenceStage) Exec(ctx context.Context, l log.Logger, alerts ...*types.Alert) (context.Context, []*types.Alert, error) { - var filtered []*types.Alert - for _, a := range alerts { - // TODO(fabxc): increment total alerts counter. - // Do not send the alert if the silencer mutes it. - sils, err := n.silences.Query( - silence.QState(types.SilenceStateActive), - silence.QMatches(a.Labels), - ) - if err != nil { - level.Error(l).Log("msg", "Querying silences failed", "err", err) - } - - if len(sils) == 0 { - // TODO(fabxc): increment muted alerts counter. - filtered = append(filtered, a) - n.marker.SetSilenced(a.Labels.Fingerprint()) - } else { - ids := make([]string, len(sils)) - for i, s := range sils { - ids[i] = s.Id - } - n.marker.SetSilenced(a.Labels.Fingerprint(), ids...) - } - } - return ctx, filtered, nil } @@ -454,20 +444,20 @@ func (ws *WaitStage) Exec(ctx context.Context, l log.Logger, alerts ...*types.Al // DedupStage filters alerts. // Filtering happens based on a notification log. type DedupStage struct { + rs ResolvedSender nflog NotificationLog recv *nflogpb.Receiver - conf notifierConfig now func() time.Time hash func(*types.Alert) uint64 } // NewDedupStage wraps a DedupStage that runs against the given notification log. -func NewDedupStage(i Integration, l NotificationLog, recv *nflogpb.Receiver) *DedupStage { +func NewDedupStage(rs ResolvedSender, l NotificationLog, recv *nflogpb.Receiver) *DedupStage { return &DedupStage{ + rs: rs, nflog: l, recv: recv, - conf: i.conf, now: utcNow, hash: hashAlert, } @@ -489,6 +479,7 @@ func getHashBuffer() []byte { func putHashBuffer(b []byte) { b = b[:0] + //lint:ignore SA6002 relax staticcheck verification. hashBuffers.Put(b) } @@ -539,7 +530,7 @@ func (n *DedupStage) needsUpdate(entry *nflogpb.Entry, firing, resolved map[uint return len(entry.FiringAlerts) > 0 } - if n.conf.SendResolved() && !entry.IsResolvedSubset(resolved) { + if n.rs.SendResolved() && !entry.IsResolvedSubset(resolved) { return true } @@ -620,7 +611,7 @@ func (r RetryStage) Exec(ctx context.Context, l log.Logger, alerts ...*types.Ale // If we shouldn't send notifications for resolved alerts, but there are only // resolved alerts, report them all as successfully notified (we still want the // notification log to log them for the next run of DedupStage). - if !r.integration.conf.SendResolved() { + if !r.integration.SendResolved() { firing, ok := FiringAlerts(ctx) if !ok { return ctx, nil, fmt.Errorf("firing alerts missing") @@ -662,19 +653,19 @@ func (r RetryStage) Exec(ctx context.Context, l log.Logger, alerts ...*types.Ale case <-tick.C: now := time.Now() retry, err := r.integration.Notify(ctx, sent...) - notificationLatencySeconds.WithLabelValues(r.integration.name).Observe(time.Since(now).Seconds()) + notificationLatencySeconds.WithLabelValues(r.integration.Name()).Observe(time.Since(now).Seconds()) + numNotifications.WithLabelValues(r.integration.Name()).Inc() if err != nil { - numFailedNotifications.WithLabelValues(r.integration.name).Inc() - level.Debug(l).Log("msg", "Notify attempt failed", "attempt", i, "integration", r.integration.name, "receiver", r.groupName, "err", err) + numFailedNotifications.WithLabelValues(r.integration.Name()).Inc() + level.Debug(l).Log("msg", "Notify attempt failed", "attempt", i, "integration", r.integration.Name(), "receiver", r.groupName, "err", err) if !retry { - return ctx, alerts, fmt.Errorf("cancelling notify retry for %q due to unrecoverable error: %s", r.integration.name, err) + return ctx, alerts, fmt.Errorf("cancelling notify retry for %q due to unrecoverable error: %s", r.integration.Name(), err) } // Save this error to be able to return the last seen error by an // integration upon context timeout. iErr = err } else { - numNotifications.WithLabelValues(r.integration.name).Inc() return ctx, alerts, nil } case <-ctx.Done(): diff --git a/vendor/github.com/prometheus/alertmanager/notify/util.go b/vendor/github.com/prometheus/alertmanager/notify/util.go new file mode 100644 index 00000000000..20f8b5f6d3d --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/notify/util.go @@ -0,0 +1,141 @@ +// Copyright 2019 Prometheus Team +// 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 notify + +import ( + "context" + "crypto/sha256" + "fmt" + "io" + "io/ioutil" + "net/http" + "net/url" + + "github.com/go-kit/kit/log" + "github.com/go-kit/kit/log/level" + + "github.com/prometheus/alertmanager/template" + "github.com/prometheus/alertmanager/types" +) + +// RedactURL removes the URL part from an error of *url.Error type. +func RedactURL(err error) error { + e, ok := err.(*url.Error) + if !ok { + return err + } + e.URL = "" + return e +} + +// PostJSON sends a POST request with JSON payload to the given URL. +func PostJSON(ctx context.Context, client *http.Client, url string, body io.Reader) (*http.Response, error) { + return post(ctx, client, url, "application/json", body) +} + +// PostText sends a POST request with text payload to the given URL. +func PostText(ctx context.Context, client *http.Client, url string, body io.Reader) (*http.Response, error) { + return post(ctx, client, url, "text/plain", body) +} + +func post(ctx context.Context, client *http.Client, url string, bodyType string, body io.Reader) (*http.Response, error) { + req, err := http.NewRequest("POST", url, body) + if err != nil { + return nil, err + } + req.Header.Set("Content-Type", bodyType) + return client.Do(req.WithContext(ctx)) +} + +// Drain consumes and closes the response's body to make sure that the +// HTTP client can reuse existing connections. +func Drain(r *http.Response) { + io.Copy(ioutil.Discard, r.Body) + r.Body.Close() +} + +// Truncate truncates a string to fit the given size. +func Truncate(s string, n int) (string, bool) { + r := []rune(s) + if len(r) <= n { + return s, false + } + if n <= 3 { + return string(r[:n]), true + } + return string(r[:n-3]) + "...", true +} + +// TmplText is using monadic error handling in order to make string templating +// less verbose. Use with care as the final error checking is easily missed. +func TmplText(tmpl *template.Template, data *template.Data, err *error) func(string) string { + return func(name string) (s string) { + if *err != nil { + return + } + s, *err = tmpl.ExecuteTextString(name, data) + return s + } +} + +// TmplHTML is using monadic error handling in order to make string templating +// less verbose. Use with care as the final error checking is easily missed. +func TmplHTML(tmpl *template.Template, data *template.Data, err *error) func(string) string { + return func(name string) (s string) { + if *err != nil { + return + } + s, *err = tmpl.ExecuteHTMLString(name, data) + return s + } +} + +// Key is a string that can be hashed. +type Key string + +// ExtractGroupKey gets the group key from the context. +func ExtractGroupKey(ctx context.Context) (Key, error) { + key, ok := GroupKey(ctx) + if !ok { + return "", fmt.Errorf("group key missing") + } + return Key(key), nil +} + +// Hash returns the sha256 for a group key as integrations may have +// maximum length requirements on deduplication keys. +func (k Key) Hash() string { + h := sha256.New() + // hash.Hash.Write never returns an error. + //nolint: errcheck + h.Write([]byte(string(k))) + return fmt.Sprintf("%x", h.Sum(nil)) +} + +func (k Key) String() string { + return string(k) +} + +// GetTemplateData creates the template data from the context and the alerts. +func GetTemplateData(ctx context.Context, tmpl *template.Template, alerts []*types.Alert, l log.Logger) *template.Data { + recv, ok := ReceiverName(ctx) + if !ok { + level.Error(l).Log("msg", "Missing receiver") + } + groupLabels, ok := GroupLabels(ctx) + if !ok { + level.Error(l).Log("msg", "Missing group labels") + } + return tmpl.Data(recv, groupLabels, alerts...) +} diff --git a/vendor/github.com/prometheus/alertmanager/pkg/parse/parse.go b/vendor/github.com/prometheus/alertmanager/pkg/parse/parse.go index 1a03592dd04..fd526aba1c5 100644 --- a/vendor/github.com/prometheus/alertmanager/pkg/parse/parse.go +++ b/vendor/github.com/prometheus/alertmanager/pkg/parse/parse.go @@ -33,12 +33,8 @@ var ( func Matchers(s string) ([]*labels.Matcher, error) { matchers := []*labels.Matcher{} - if strings.HasPrefix(s, "{") { - s = s[1:] - } - if strings.HasSuffix(s, "}") { - s = s[:len(s)-1] - } + s = strings.TrimPrefix(s, "{") + s = strings.TrimSuffix(s, "}") var insideQuotes bool var token string diff --git a/vendor/github.com/prometheus/alertmanager/provider/mem/mem.go b/vendor/github.com/prometheus/alertmanager/provider/mem/mem.go index 23c91e224e7..9cae54873f6 100644 --- a/vendor/github.com/prometheus/alertmanager/provider/mem/mem.go +++ b/vendor/github.com/prometheus/alertmanager/provider/mem/mem.go @@ -3,7 +3,7 @@ // 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/lic:wenses/LICENSE-2.0 +// 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, @@ -14,123 +14,122 @@ package mem import ( + "context" "sync" "time" + "github.com/go-kit/kit/log" + "github.com/go-kit/kit/log/level" + "github.com/prometheus/common/model" + "github.com/prometheus/alertmanager/provider" + "github.com/prometheus/alertmanager/store" "github.com/prometheus/alertmanager/types" - "github.com/prometheus/common/model" ) +const alertChannelLength = 200 + // Alerts gives access to a set of alerts. All methods are goroutine-safe. type Alerts struct { - mtx sync.RWMutex - alerts map[model.Fingerprint]*types.Alert - marker types.Marker - intervalGC time.Duration - stopGC chan struct{} + cancel context.CancelFunc - listeners map[int]chan *types.Alert + mtx sync.Mutex + alerts *store.Alerts + listeners map[int]listeningAlerts next int + + logger log.Logger +} + +type listeningAlerts struct { + alerts chan *types.Alert + done chan struct{} } // NewAlerts returns a new alert provider. -func NewAlerts(m types.Marker, intervalGC time.Duration) (*Alerts, error) { +func NewAlerts(ctx context.Context, m types.Marker, intervalGC time.Duration, l log.Logger) (*Alerts, error) { + ctx, cancel := context.WithCancel(ctx) a := &Alerts{ - alerts: map[model.Fingerprint]*types.Alert{}, - marker: m, - intervalGC: intervalGC, - stopGC: make(chan struct{}), - listeners: map[int]chan *types.Alert{}, - next: 0, + alerts: store.NewAlerts(intervalGC), + cancel: cancel, + listeners: map[int]listeningAlerts{}, + next: 0, + logger: log.With(l, "component", "provider"), } - go a.runGC() - - return a, nil -} - -func (a *Alerts) runGC() { - for { - select { - case <-a.stopGC: - return - case <-time.After(a.intervalGC): - } - - a.mtx.Lock() - - for fp, alert := range a.alerts { + a.alerts.SetGCCallback(func(alerts []*types.Alert) { + for _, alert := range alerts { // As we don't persist alerts, we no longer consider them after // they are resolved. Alerts waiting for resolved notifications are // held in memory in aggregation groups redundantly. - if alert.EndsAt.Before(time.Now()) { - delete(a.alerts, fp) - a.marker.Delete(fp) - } + m.Delete(alert.Fingerprint()) } + a.mtx.Lock() + for i, l := range a.listeners { + select { + case <-l.done: + delete(a.listeners, i) + close(l.alerts) + default: + // listener is not closed yet, hence proceed. + } + } a.mtx.Unlock() - } + }) + a.alerts.Run(ctx) + + return a, nil } // Close the alert provider. -func (a *Alerts) Close() error { - close(a.stopGC) - return nil +func (a *Alerts) Close() { + if a.cancel != nil { + a.cancel() + } +} + +func max(a, b int) int { + if a > b { + return a + } + return b } // Subscribe returns an iterator over active alerts that have not been // resolved and successfully notified about. // They are not guaranteed to be in chronological order. func (a *Alerts) Subscribe() provider.AlertIterator { + a.mtx.Lock() + defer a.mtx.Unlock() + var ( - ch = make(chan *types.Alert, 200) - done = make(chan struct{}) + done = make(chan struct{}) + alerts = a.alerts.List() + ch = make(chan *types.Alert, max(len(alerts), alertChannelLength)) ) - alerts, err := a.getPending() - - a.mtx.Lock() - i := a.next - a.next++ - a.listeners[i] = ch - a.mtx.Unlock() - go func() { - defer func() { - a.mtx.Lock() - delete(a.listeners, i) - close(ch) - a.mtx.Unlock() - }() - - for _, a := range alerts { - select { - case ch <- a: - case <-done: - return - } - } + for _, a := range alerts { + ch <- a + } - <-done - }() + a.listeners[a.next] = listeningAlerts{alerts: ch, done: done} + a.next++ - return provider.NewAlertIterator(ch, done, err) + return provider.NewAlertIterator(ch, done, nil) } -// GetPending returns an iterator over all alerts that have +// GetPending returns an iterator over all the alerts that have // pending notifications. func (a *Alerts) GetPending() provider.AlertIterator { var ( - ch = make(chan *types.Alert, 200) + ch = make(chan *types.Alert, alertChannelLength) done = make(chan struct{}) ) - alerts, err := a.getPending() - go func() { defer close(ch) - for _, a := range alerts { + for _, a := range a.alerts.List() { select { case ch <- a: case <-done: @@ -139,43 +138,23 @@ func (a *Alerts) GetPending() provider.AlertIterator { } }() - return provider.NewAlertIterator(ch, done, err) -} - -func (a *Alerts) getPending() ([]*types.Alert, error) { - a.mtx.RLock() - defer a.mtx.RUnlock() - - res := make([]*types.Alert, 0, len(a.alerts)) - - for _, alert := range a.alerts { - res = append(res, alert) - } - - return res, nil + return provider.NewAlertIterator(ch, done, nil) } // Get returns the alert for a given fingerprint. func (a *Alerts) Get(fp model.Fingerprint) (*types.Alert, error) { - a.mtx.RLock() - defer a.mtx.RUnlock() - - alert, ok := a.alerts[fp] - if !ok { - return nil, provider.ErrNotFound - } - return alert, nil + return a.alerts.Get(fp) } // Put adds the given alert to the set. func (a *Alerts) Put(alerts ...*types.Alert) error { - a.mtx.Lock() - defer a.mtx.Unlock() for _, alert := range alerts { fp := alert.Fingerprint() - if old, ok := a.alerts[fp]; ok { + // Check that there's an alert existing within the store before + // trying to merge. + if old, err := a.alerts.Get(fp); err == nil { // Merge alerts if there is an overlap in activity range. if (alert.EndsAt.After(old.StartsAt) && alert.EndsAt.Before(old.EndsAt)) || (alert.StartsAt.After(old.StartsAt) && alert.StartsAt.Before(old.EndsAt)) { @@ -183,11 +162,19 @@ func (a *Alerts) Put(alerts ...*types.Alert) error { } } - a.alerts[fp] = alert + if err := a.alerts.Set(alert); err != nil { + level.Error(a.logger).Log("msg", "error on set alert", "err", err) + continue + } - for _, ch := range a.listeners { - ch <- alert + a.mtx.Lock() + for _, l := range a.listeners { + select { + case l.alerts <- alert: + case <-l.done: + } } + a.mtx.Unlock() } return nil diff --git a/vendor/github.com/prometheus/alertmanager/silence/silence.go b/vendor/github.com/prometheus/alertmanager/silence/silence.go index 1fd3d594163..6b3e50e6d81 100644 --- a/vendor/github.com/prometheus/alertmanager/silence/silence.go +++ b/vendor/github.com/prometheus/alertmanager/silence/silence.go @@ -23,6 +23,7 @@ import ( "os" "reflect" "regexp" + "sort" "sync" "time" @@ -35,11 +36,11 @@ import ( "github.com/prometheus/alertmanager/types" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/common/model" - "github.com/satori/go.uuid" + uuid "github.com/satori/go.uuid" ) // ErrNotFound is returned if a silence was not found. -var ErrNotFound = fmt.Errorf("not found") +var ErrNotFound = fmt.Errorf("silence not found") // ErrInvalidState is returned if the state isn't valid. var ErrInvalidState = fmt.Errorf("invalid state") @@ -92,6 +93,90 @@ func (c matcherCache) add(s *pb.Silence) (types.Matchers, error) { return ms, nil } +// Silencer binds together a Marker and a Silences to implement the Muter +// interface. +type Silencer struct { + silences *Silences + marker types.Marker + logger log.Logger +} + +// NewSilencer returns a new Silencer. +func NewSilencer(s *Silences, m types.Marker, l log.Logger) *Silencer { + return &Silencer{ + silences: s, + marker: m, + logger: l, + } +} + +// Mutes implements the Muter interface. +func (s *Silencer) Mutes(lset model.LabelSet) bool { + fp := lset.Fingerprint() + ids, markerVersion, _ := s.marker.Silenced(fp) + + var ( + err error + sils []*pb.Silence + newVersion = markerVersion + ) + if markerVersion == s.silences.Version() { + // No new silences added, just need to check which of the old + // silences are still revelant. + if len(ids) == 0 { + // Super fast path: No silences ever applied to this + // alert, none have been added. We are done. + return false + } + // This is still a quite fast path: No silences have been added, + // we only need to check which of the applicable silences are + // currently active. Note that newVersion is left at + // markerVersion because the Query call might already return a + // newer version, which is not the version our old list of + // applicable silences is based on. + sils, _, err = s.silences.Query( + QIDs(ids...), + QState(types.SilenceStateActive), + ) + } else { + // New silences have been added, do a full query. + sils, newVersion, err = s.silences.Query( + QState(types.SilenceStateActive), + QMatches(lset), + ) + } + if err != nil { + level.Error(s.logger).Log("msg", "Querying silences failed, alerts might not get silenced correctly", "err", err) + } + if len(sils) == 0 { + s.marker.SetSilenced(fp, newVersion) + return false + } + idsChanged := len(sils) != len(ids) + if !idsChanged { + // Length is the same, but is the content the same? + for i, s := range sils { + if ids[i] != s.Id { + idsChanged = true + break + } + } + } + if idsChanged { + // Need to recreate ids. + ids = make([]string, len(sils)) + for i, s := range sils { + ids[i] = s.Id + } + sort.Strings(ids) // For comparability. + } + if idsChanged || newVersion != markerVersion { + // Update marker only if something changed. + s.marker.SetSilenced(fp, newVersion, ids...) + } + return true +} + // Silences holds a silence state that can be modified, queried, and snapshot. type Silences struct { logger log.Logger @@ -101,6 +186,7 @@ type Silences struct { mtx sync.RWMutex st state + version int // Increments whenever silences are added. broadcast func([]byte) mc matcherCache } @@ -139,12 +225,14 @@ func newMetrics(r prometheus.Registerer, s *Silences) *metrics { m := &metrics{} m.gcDuration = prometheus.NewSummary(prometheus.SummaryOpts{ - Name: "alertmanager_silences_gc_duration_seconds", - Help: "Duration of the last silence garbage collection cycle.", + Name: "alertmanager_silences_gc_duration_seconds", + Help: "Duration of the last silence garbage collection cycle.", + Objectives: map[float64]float64{}, }) m.snapshotDuration = prometheus.NewSummary(prometheus.SummaryOpts{ - Name: "alertmanager_silences_snapshot_duration_seconds", - Help: "Duration of the last silence snapshot.", + Name: "alertmanager_silences_snapshot_duration_seconds", + Help: "Duration of the last silence snapshot.", + Objectives: map[float64]float64{}, }) m.snapshotSize = prometheus.NewGauge(prometheus.GaugeOpts{ Name: "alertmanager_silences_snapshot_size_bytes", @@ -387,8 +475,8 @@ func (s *Silences) getSilence(id string) (*pb.Silence, bool) { return msil.Silence, true } -func (s *Silences) setSilence(sil *pb.Silence) error { - sil.UpdatedAt = s.now() +func (s *Silences) setSilence(sil *pb.Silence, now time.Time) error { + sil.UpdatedAt = now if err := validateSilence(sil); err != nil { return errors.Wrap(err, "silence invalid") @@ -403,7 +491,9 @@ func (s *Silences) setSilence(sil *pb.Silence) error { return err } - s.st.merge(msil) + if s.st.merge(msil, now) { + s.version++ + } s.broadcast(b) return nil @@ -423,7 +513,7 @@ func (s *Silences) Set(sil *pb.Silence) (string, error) { } if ok { if canUpdate(prev, sil, now) { - return sil.Id, s.setSilence(sil) + return sil.Id, s.setSilence(sil, now) } if getState(prev, s.now()) != types.SilenceStateExpired { // We cannot update the silence, expire the old one. @@ -439,7 +529,7 @@ func (s *Silences) Set(sil *pb.Silence) (string, error) { sil.StartsAt = now } - return sil.Id, s.setSilence(sil) + return sil.Id, s.setSilence(sil, now) } // canUpdate returns true if silence a can be updated to b without @@ -496,7 +586,7 @@ func (s *Silences) expire(id string) error { sil.EndsAt = now } - return s.setSilence(sil) + return s.setSilence(sil, now) } // QueryParam expresses parameters along which silences are queried. @@ -511,8 +601,6 @@ type query struct { // should be dropped from a result set for a given time. type silenceFilter func(*pb.Silence, *Silences, time.Time) (bool, error) -var errNotSupported = errors.New("query parameter not supported") - // QIDs configures a query to select the given silence IDs. func QIDs(ids ...string) QueryParam { return func(q *query) error { @@ -521,15 +609,6 @@ func QIDs(ids ...string) QueryParam { } } -// QTimeRange configures a query to search for silences that are active -// in the given time range. -// TODO(fabxc): not supported yet. -func QTimeRange(start, end time.Time) QueryParam { - return func(q *query) error { - return errNotSupported - } -} - // QMatches returns silences that match the given label set. func QMatches(set model.LabelSet) QueryParam { return func(q *query) error { @@ -577,7 +656,7 @@ func QState(states ...types.SilenceState) QueryParam { // QueryOne queries with the given parameters and returns the first result. // Returns ErrNotFound if the query result is empty. func (s *Silences) QueryOne(params ...QueryParam) (*pb.Silence, error) { - res, err := s.Query(params...) + res, _, err := s.Query(params...) if err != nil { return nil, err } @@ -587,41 +666,46 @@ func (s *Silences) QueryOne(params ...QueryParam) (*pb.Silence, error) { return res[0], nil } -// Query for silences based on the given query parameters. -func (s *Silences) Query(params ...QueryParam) ([]*pb.Silence, error) { - start := time.Now() +// Query for silences based on the given query parameters. It returns the +// resulting silences and the state version the result is based on. +func (s *Silences) Query(params ...QueryParam) ([]*pb.Silence, int, error) { s.metrics.queriesTotal.Inc() + defer prometheus.NewTimer(s.metrics.queryDuration).ObserveDuration() - sils, err := func() ([]*pb.Silence, error) { - q := &query{} - for _, p := range params { - if err := p(q); err != nil { - return nil, err - } + q := &query{} + for _, p := range params { + if err := p(q); err != nil { + s.metrics.queryErrorsTotal.Inc() + return nil, s.Version(), err } - return s.query(q, s.now()) - }() + } + sils, version, err := s.query(q, s.now()) if err != nil { s.metrics.queryErrorsTotal.Inc() } - s.metrics.queryDuration.Observe(time.Since(start).Seconds()) - return sils, err + return sils, version, err } -// Count silences by state. +// Version of the silence state. +func (s *Silences) Version() int { + s.mtx.RLock() + defer s.mtx.RUnlock() + return s.version +} + +// CountState counts silences by state. func (s *Silences) CountState(states ...types.SilenceState) (int, error) { // This could probably be optimized. - sils, err := s.Query(QState(states...)) + sils, _, err := s.Query(QState(states...)) if err != nil { return -1, err } return len(sils), nil } -func (s *Silences) query(q *query, now time.Time) ([]*pb.Silence, error) { - // If we have an ID constraint, all silences are our base set. - // This and the use of post-filter functions is the - // the trivial solution for now. +func (s *Silences) query(q *query, now time.Time) ([]*pb.Silence, int, error) { + // If we have no ID constraint, all silences are our base set. This and + // the use of post-filter functions is the trivial solution for now. var res []*pb.Silence s.mtx.Lock() @@ -645,7 +729,7 @@ func (s *Silences) query(q *query, now time.Time) ([]*pb.Silence, error) { for _, f := range q.filters { ok, err := f(sil, s, now) if err != nil { - return nil, err + return nil, s.version, err } if !ok { remove = true @@ -657,7 +741,7 @@ func (s *Silences) query(q *query, now time.Time) ([]*pb.Silence, error) { } } - return resf, nil + return resf, s.version, nil } // loadSnapshot loads a snapshot generated by Snapshot() into the state. @@ -678,6 +762,7 @@ func (s *Silences) loadSnapshot(r io.Reader) error { } s.mtx.Lock() s.st = st + s.version++ s.mtx.Unlock() return nil @@ -717,20 +802,27 @@ func (s *Silences) Merge(b []byte) error { s.mtx.Lock() defer s.mtx.Unlock() + now := s.now() + for _, e := range st { - if merged := s.st.merge(e); merged && !cluster.OversizedMessage(b) { - // If this is the first we've seen the message and it's - // not oversized, gossip it to other nodes. We don't - // propagate oversized messages because they're sent to - // all nodes already. - s.broadcast(b) - s.metrics.propagatedMessagesTotal.Inc() - level.Debug(s.logger).Log("msg", "gossiping new silence", "silence", e) + if merged := s.st.merge(e, now); merged { + s.version++ + if !cluster.OversizedMessage(b) { + // If this is the first we've seen the message and it's + // not oversized, gossip it to other nodes. We don't + // propagate oversized messages because they're sent to + // all nodes already. + s.broadcast(b) + s.metrics.propagatedMessagesTotal.Inc() + level.Debug(s.logger).Log("msg", "Gossiping new silence", "silence", e) + } } } return nil } +// SetBroadcast sets the provided function as the one creating data to be +// broadcast. func (s *Silences) SetBroadcast(f func([]byte)) { s.mtx.Lock() s.broadcast = f @@ -739,7 +831,11 @@ func (s *Silences) SetBroadcast(f func([]byte)) { type state map[string]*pb.MeshSilence -func (s state) merge(e *pb.MeshSilence) bool { +func (s state) merge(e *pb.MeshSilence, now time.Time) bool { + id := e.Silence.Id + if e.ExpiresAt.Before(now) { + return false + } // Comments list was moved to a single comment. Apply upgrade // on silences received from peers. if len(e.Silence.Comments) > 0 { @@ -747,7 +843,6 @@ func (s state) merge(e *pb.MeshSilence) bool { e.Silence.CreatedBy = e.Silence.Comments[0].Author e.Silence.Comments = nil } - id := e.Silence.Id prev, ok := s[id] if !ok || prev.Silence.UpdatedAt.Before(e.Silence.UpdatedAt) { diff --git a/vendor/github.com/prometheus/alertmanager/silence/silencepb/silence.pb.go b/vendor/github.com/prometheus/alertmanager/silence/silencepb/silence.pb.go index 164ae17cf5b..288ce066a9c 100644 --- a/vendor/github.com/prometheus/alertmanager/silence/silencepb/silence.pb.go +++ b/vendor/github.com/prometheus/alertmanager/silence/silencepb/silence.pb.go @@ -1,31 +1,19 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: silence.proto -/* - Package silencepb is a generated protocol buffer package. - - It is generated from these files: - silence.proto - - It has these top-level messages: - Matcher - Comment - Silence - MeshSilence -*/ package silencepb -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import _ "github.com/gogo/protobuf/gogoproto" +import ( + fmt "fmt" -import time "time" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" -import types "github.com/gogo/protobuf/types" - -import io "io" + io "io" + math "math" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -52,6 +40,7 @@ var Matcher_Type_name = map[int32]string{ 0: "EQUAL", 1: "REGEXP", } + var Matcher_Type_value = map[string]int32{ "EQUAL": 0, "REGEXP": 1, @@ -60,7 +49,10 @@ var Matcher_Type_value = map[string]int32{ func (x Matcher_Type) String() string { return proto.EnumName(Matcher_Type_name, int32(x)) } -func (Matcher_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptorSilence, []int{0, 0} } + +func (Matcher_Type) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_7fc56058cf68dbd8, []int{0, 0} +} // Matcher specifies a rule, which can match or set of labels or not. type Matcher struct { @@ -69,25 +61,87 @@ type Matcher struct { // checks the pattern. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // The pattern being checked according to the matcher's type. - Pattern string `protobuf:"bytes,3,opt,name=pattern,proto3" json:"pattern,omitempty"` + Pattern string `protobuf:"bytes,3,opt,name=pattern,proto3" json:"pattern,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Matcher) Reset() { *m = Matcher{} } +func (m *Matcher) String() string { return proto.CompactTextString(m) } +func (*Matcher) ProtoMessage() {} +func (*Matcher) Descriptor() ([]byte, []int) { + return fileDescriptor_7fc56058cf68dbd8, []int{0} +} +func (m *Matcher) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Matcher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Matcher.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Matcher) XXX_Merge(src proto.Message) { + xxx_messageInfo_Matcher.Merge(m, src) +} +func (m *Matcher) XXX_Size() int { + return m.Size() +} +func (m *Matcher) XXX_DiscardUnknown() { + xxx_messageInfo_Matcher.DiscardUnknown(m) } -func (m *Matcher) Reset() { *m = Matcher{} } -func (m *Matcher) String() string { return proto.CompactTextString(m) } -func (*Matcher) ProtoMessage() {} -func (*Matcher) Descriptor() ([]byte, []int) { return fileDescriptorSilence, []int{0} } +var xxx_messageInfo_Matcher proto.InternalMessageInfo // DEPRECATED: A comment can be attached to a silence. type Comment struct { - Author string `protobuf:"bytes,1,opt,name=author,proto3" json:"author,omitempty"` - Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"` - Timestamp time.Time `protobuf:"bytes,3,opt,name=timestamp,stdtime" json:"timestamp"` + Author string `protobuf:"bytes,1,opt,name=author,proto3" json:"author,omitempty"` + Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"` + Timestamp time.Time `protobuf:"bytes,3,opt,name=timestamp,proto3,stdtime" json:"timestamp"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Comment) Reset() { *m = Comment{} } +func (m *Comment) String() string { return proto.CompactTextString(m) } +func (*Comment) ProtoMessage() {} +func (*Comment) Descriptor() ([]byte, []int) { + return fileDescriptor_7fc56058cf68dbd8, []int{1} +} +func (m *Comment) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Comment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Comment.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Comment) XXX_Merge(src proto.Message) { + xxx_messageInfo_Comment.Merge(m, src) +} +func (m *Comment) XXX_Size() int { + return m.Size() +} +func (m *Comment) XXX_DiscardUnknown() { + xxx_messageInfo_Comment.DiscardUnknown(m) } -func (m *Comment) Reset() { *m = Comment{} } -func (m *Comment) String() string { return proto.CompactTextString(m) } -func (*Comment) ProtoMessage() {} -func (*Comment) Descriptor() ([]byte, []int) { return fileDescriptorSilence, []int{1} } +var xxx_messageInfo_Comment proto.InternalMessageInfo // Silence specifies an object that ignores alerts based // on a set of matchers during a given time frame. @@ -96,43 +150,140 @@ type Silence struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // A set of matchers all of which have to be true for a silence // to affect a given label set. - Matchers []*Matcher `protobuf:"bytes,2,rep,name=matchers" json:"matchers,omitempty"` + Matchers []*Matcher `protobuf:"bytes,2,rep,name=matchers,proto3" json:"matchers,omitempty"` // The time range during which the silence is active. - StartsAt time.Time `protobuf:"bytes,3,opt,name=starts_at,json=startsAt,stdtime" json:"starts_at"` - EndsAt time.Time `protobuf:"bytes,4,opt,name=ends_at,json=endsAt,stdtime" json:"ends_at"` + StartsAt time.Time `protobuf:"bytes,3,opt,name=starts_at,json=startsAt,proto3,stdtime" json:"starts_at"` + EndsAt time.Time `protobuf:"bytes,4,opt,name=ends_at,json=endsAt,proto3,stdtime" json:"ends_at"` // The last motification made to the silence. - UpdatedAt time.Time `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,stdtime" json:"updated_at"` + UpdatedAt time.Time `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3,stdtime" json:"updated_at"` // DEPRECATED: A set of comments made on the silence. - Comments []*Comment `protobuf:"bytes,7,rep,name=comments" json:"comments,omitempty"` + Comments []*Comment `protobuf:"bytes,7,rep,name=comments,proto3" json:"comments,omitempty"` // Comment for the silence. - CreatedBy string `protobuf:"bytes,8,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"` - Comment string `protobuf:"bytes,9,opt,name=comment,proto3" json:"comment,omitempty"` + CreatedBy string `protobuf:"bytes,8,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"` + Comment string `protobuf:"bytes,9,opt,name=comment,proto3" json:"comment,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Silence) Reset() { *m = Silence{} } +func (m *Silence) String() string { return proto.CompactTextString(m) } +func (*Silence) ProtoMessage() {} +func (*Silence) Descriptor() ([]byte, []int) { + return fileDescriptor_7fc56058cf68dbd8, []int{2} +} +func (m *Silence) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Silence) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Silence.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Silence) XXX_Merge(src proto.Message) { + xxx_messageInfo_Silence.Merge(m, src) +} +func (m *Silence) XXX_Size() int { + return m.Size() +} +func (m *Silence) XXX_DiscardUnknown() { + xxx_messageInfo_Silence.DiscardUnknown(m) } -func (m *Silence) Reset() { *m = Silence{} } -func (m *Silence) String() string { return proto.CompactTextString(m) } -func (*Silence) ProtoMessage() {} -func (*Silence) Descriptor() ([]byte, []int) { return fileDescriptorSilence, []int{2} } +var xxx_messageInfo_Silence proto.InternalMessageInfo // MeshSilence wraps a regular silence with an expiration timestamp // after which the silence may be garbage collected. type MeshSilence struct { - Silence *Silence `protobuf:"bytes,1,opt,name=silence" json:"silence,omitempty"` - ExpiresAt time.Time `protobuf:"bytes,2,opt,name=expires_at,json=expiresAt,stdtime" json:"expires_at"` + Silence *Silence `protobuf:"bytes,1,opt,name=silence,proto3" json:"silence,omitempty"` + ExpiresAt time.Time `protobuf:"bytes,2,opt,name=expires_at,json=expiresAt,proto3,stdtime" json:"expires_at"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *MeshSilence) Reset() { *m = MeshSilence{} } -func (m *MeshSilence) String() string { return proto.CompactTextString(m) } -func (*MeshSilence) ProtoMessage() {} -func (*MeshSilence) Descriptor() ([]byte, []int) { return fileDescriptorSilence, []int{3} } +func (m *MeshSilence) Reset() { *m = MeshSilence{} } +func (m *MeshSilence) String() string { return proto.CompactTextString(m) } +func (*MeshSilence) ProtoMessage() {} +func (*MeshSilence) Descriptor() ([]byte, []int) { + return fileDescriptor_7fc56058cf68dbd8, []int{3} +} +func (m *MeshSilence) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MeshSilence) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MeshSilence.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MeshSilence) XXX_Merge(src proto.Message) { + xxx_messageInfo_MeshSilence.Merge(m, src) +} +func (m *MeshSilence) XXX_Size() int { + return m.Size() +} +func (m *MeshSilence) XXX_DiscardUnknown() { + xxx_messageInfo_MeshSilence.DiscardUnknown(m) +} + +var xxx_messageInfo_MeshSilence proto.InternalMessageInfo func init() { + proto.RegisterEnum("silencepb.Matcher_Type", Matcher_Type_name, Matcher_Type_value) proto.RegisterType((*Matcher)(nil), "silencepb.Matcher") proto.RegisterType((*Comment)(nil), "silencepb.Comment") proto.RegisterType((*Silence)(nil), "silencepb.Silence") proto.RegisterType((*MeshSilence)(nil), "silencepb.MeshSilence") - proto.RegisterEnum("silencepb.Matcher_Type", Matcher_Type_name, Matcher_Type_value) } + +func init() { proto.RegisterFile("silence.proto", fileDescriptor_7fc56058cf68dbd8) } + +var fileDescriptor_7fc56058cf68dbd8 = []byte{ + // 444 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x51, 0x4d, 0x6b, 0xdb, 0x40, + 0x10, 0xf5, 0x2a, 0x8e, 0x65, 0x8d, 0x69, 0x30, 0x43, 0x69, 0x85, 0x21, 0xb6, 0xd1, 0xc9, 0xd0, + 0x22, 0x83, 0x7b, 0xee, 0x41, 0x0e, 0xa6, 0x97, 0x06, 0x5a, 0x35, 0x85, 0xde, 0xca, 0xda, 0x9a, + 0xda, 0x82, 0x48, 0xbb, 0x48, 0x63, 0xa8, 0x4f, 0x2d, 0xf4, 0x0f, 0xf4, 0x67, 0xf9, 0xd8, 0x5f, + 0xd0, 0x0f, 0xff, 0x8b, 0xde, 0x8a, 0x56, 0x2b, 0x37, 0x21, 0x27, 0xdf, 0x66, 0x66, 0xdf, 0x9b, + 0xb7, 0xef, 0x0d, 0x3c, 0x2a, 0xd3, 0x5b, 0xca, 0x57, 0x14, 0xea, 0x42, 0xb1, 0x42, 0xcf, 0xb6, + 0x7a, 0x39, 0x18, 0xad, 0x95, 0x5a, 0xdf, 0xd2, 0xd4, 0x3c, 0x2c, 0xb7, 0x9f, 0xa6, 0x9c, 0x66, + 0x54, 0xb2, 0xcc, 0x74, 0x8d, 0x1d, 0x3c, 0x5e, 0xab, 0xb5, 0x32, 0xe5, 0xb4, 0xaa, 0xea, 0x69, + 0xf0, 0x4d, 0x80, 0x7b, 0x2d, 0x79, 0xb5, 0xa1, 0x02, 0x9f, 0x41, 0x9b, 0x77, 0x9a, 0x7c, 0x31, + 0x16, 0x93, 0x8b, 0xd9, 0xd3, 0xf0, 0xb8, 0x3c, 0xb4, 0x88, 0xf0, 0x66, 0xa7, 0x29, 0x36, 0x20, + 0x44, 0x68, 0xe7, 0x32, 0x23, 0xdf, 0x19, 0x8b, 0x89, 0x17, 0x9b, 0x1a, 0x7d, 0x70, 0xb5, 0x64, + 0xa6, 0x22, 0xf7, 0xcf, 0xcc, 0xb8, 0x69, 0x83, 0x4b, 0x68, 0x57, 0x5c, 0xf4, 0xe0, 0x7c, 0xf1, + 0xf6, 0x7d, 0xf4, 0xba, 0xdf, 0x42, 0x80, 0x4e, 0xbc, 0x78, 0xb5, 0xf8, 0xf0, 0xa6, 0x2f, 0x82, + 0x2f, 0xe0, 0x5e, 0xa9, 0x2c, 0xa3, 0x9c, 0xf1, 0x09, 0x74, 0xe4, 0x96, 0x37, 0xaa, 0x30, 0xdf, + 0xf0, 0x62, 0xdb, 0x55, 0xbb, 0x57, 0x35, 0xc4, 0x4a, 0x36, 0x2d, 0xce, 0xc1, 0x3b, 0x7a, 0x35, + 0xba, 0xbd, 0xd9, 0x20, 0xac, 0xd3, 0x08, 0x9b, 0x34, 0xc2, 0x9b, 0x06, 0x31, 0xef, 0xee, 0x7f, + 0x8e, 0x5a, 0xdf, 0x7f, 0x8d, 0x44, 0xfc, 0x9f, 0x16, 0xfc, 0x75, 0xc0, 0x7d, 0x57, 0xdb, 0xc5, + 0x0b, 0x70, 0xd2, 0xc4, 0xaa, 0x3b, 0x69, 0x82, 0x21, 0x74, 0xb3, 0xda, 0x7f, 0xe9, 0x3b, 0xe3, + 0xb3, 0x49, 0x6f, 0x86, 0x0f, 0xa3, 0x89, 0x8f, 0x18, 0x8c, 0xc0, 0x2b, 0x59, 0x16, 0x5c, 0x7e, + 0x94, 0x7c, 0xd2, 0x7f, 0xba, 0x35, 0x2d, 0x62, 0x7c, 0x09, 0x2e, 0xe5, 0x89, 0x59, 0xd0, 0x3e, + 0x61, 0x41, 0xa7, 0x22, 0x45, 0x8c, 0x57, 0x00, 0x5b, 0x9d, 0x48, 0xa6, 0xa4, 0xda, 0x70, 0x7e, + 0x4a, 0x24, 0x96, 0x17, 0x71, 0x65, 0xdb, 0x26, 0x5c, 0xfa, 0xee, 0x03, 0xdb, 0xf6, 0x5c, 0xf1, + 0x11, 0x83, 0x97, 0x00, 0xab, 0x82, 0x8c, 0xe8, 0x72, 0xe7, 0x77, 0x4d, 0x7c, 0x9e, 0x9d, 0xcc, + 0x77, 0x77, 0xef, 0xe7, 0xdd, 0xbb, 0x5f, 0xf0, 0x55, 0x40, 0xef, 0x9a, 0xca, 0x4d, 0x93, 0xff, + 0x73, 0x70, 0xad, 0x8e, 0x39, 0xc2, 0x7d, 0x5d, 0x0b, 0x8a, 0x1b, 0x48, 0xe5, 0x95, 0x3e, 0xeb, + 0xb4, 0x20, 0x93, 0x96, 0x73, 0x8a, 0x57, 0xcb, 0x8b, 0x78, 0xde, 0xdf, 0xff, 0x19, 0xb6, 0xf6, + 0x87, 0xa1, 0xf8, 0x71, 0x18, 0x8a, 0xdf, 0x87, 0xa1, 0x58, 0x76, 0x0c, 0xf5, 0xc5, 0xbf, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xde, 0x36, 0xea, 0xdd, 0x71, 0x03, 0x00, 0x00, +} + func (m *Matcher) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -165,6 +316,9 @@ func (m *Matcher) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintSilence(dAtA, i, uint64(len(m.Pattern))) i += copy(dAtA[i:], m.Pattern) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -197,12 +351,15 @@ func (m *Comment) MarshalTo(dAtA []byte) (int, error) { } dAtA[i] = 0x1a i++ - i = encodeVarintSilence(dAtA, i, uint64(types.SizeOfStdTime(m.Timestamp))) - n1, err := types.StdTimeMarshalTo(m.Timestamp, dAtA[i:]) + i = encodeVarintSilence(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp))) + n1, err := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Timestamp, dAtA[i:]) if err != nil { return 0, err } i += n1 + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -241,24 +398,24 @@ func (m *Silence) MarshalTo(dAtA []byte) (int, error) { } dAtA[i] = 0x1a i++ - i = encodeVarintSilence(dAtA, i, uint64(types.SizeOfStdTime(m.StartsAt))) - n2, err := types.StdTimeMarshalTo(m.StartsAt, dAtA[i:]) + i = encodeVarintSilence(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdTime(m.StartsAt))) + n2, err := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.StartsAt, dAtA[i:]) if err != nil { return 0, err } i += n2 dAtA[i] = 0x22 i++ - i = encodeVarintSilence(dAtA, i, uint64(types.SizeOfStdTime(m.EndsAt))) - n3, err := types.StdTimeMarshalTo(m.EndsAt, dAtA[i:]) + i = encodeVarintSilence(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdTime(m.EndsAt))) + n3, err := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.EndsAt, dAtA[i:]) if err != nil { return 0, err } i += n3 dAtA[i] = 0x2a i++ - i = encodeVarintSilence(dAtA, i, uint64(types.SizeOfStdTime(m.UpdatedAt))) - n4, err := types.StdTimeMarshalTo(m.UpdatedAt, dAtA[i:]) + i = encodeVarintSilence(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdTime(m.UpdatedAt))) + n4, err := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.UpdatedAt, dAtA[i:]) if err != nil { return 0, err } @@ -287,6 +444,9 @@ func (m *Silence) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintSilence(dAtA, i, uint64(len(m.Comment))) i += copy(dAtA[i:], m.Comment) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -317,12 +477,15 @@ func (m *MeshSilence) MarshalTo(dAtA []byte) (int, error) { } dAtA[i] = 0x12 i++ - i = encodeVarintSilence(dAtA, i, uint64(types.SizeOfStdTime(m.ExpiresAt))) - n6, err := types.StdTimeMarshalTo(m.ExpiresAt, dAtA[i:]) + i = encodeVarintSilence(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdTime(m.ExpiresAt))) + n6, err := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.ExpiresAt, dAtA[i:]) if err != nil { return 0, err } i += n6 + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -336,6 +499,9 @@ func encodeVarintSilence(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Matcher) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Type != 0 { @@ -349,10 +515,16 @@ func (m *Matcher) Size() (n int) { if l > 0 { n += 1 + l + sovSilence(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Comment) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Author) @@ -363,12 +535,18 @@ func (m *Comment) Size() (n int) { if l > 0 { n += 1 + l + sovSilence(uint64(l)) } - l = types.SizeOfStdTime(m.Timestamp) + l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp) n += 1 + l + sovSilence(uint64(l)) + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Silence) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Id) @@ -381,11 +559,11 @@ func (m *Silence) Size() (n int) { n += 1 + l + sovSilence(uint64(l)) } } - l = types.SizeOfStdTime(m.StartsAt) + l = github_com_gogo_protobuf_types.SizeOfStdTime(m.StartsAt) n += 1 + l + sovSilence(uint64(l)) - l = types.SizeOfStdTime(m.EndsAt) + l = github_com_gogo_protobuf_types.SizeOfStdTime(m.EndsAt) n += 1 + l + sovSilence(uint64(l)) - l = types.SizeOfStdTime(m.UpdatedAt) + l = github_com_gogo_protobuf_types.SizeOfStdTime(m.UpdatedAt) n += 1 + l + sovSilence(uint64(l)) if len(m.Comments) > 0 { for _, e := range m.Comments { @@ -401,18 +579,27 @@ func (m *Silence) Size() (n int) { if l > 0 { n += 1 + l + sovSilence(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *MeshSilence) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Silence != nil { l = m.Silence.Size() n += 1 + l + sovSilence(uint64(l)) } - l = types.SizeOfStdTime(m.ExpiresAt) + l = github_com_gogo_protobuf_types.SizeOfStdTime(m.ExpiresAt) n += 1 + l + sovSilence(uint64(l)) + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -444,7 +631,7 @@ func (m *Matcher) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -472,7 +659,7 @@ func (m *Matcher) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Type |= (Matcher_Type(b) & 0x7F) << shift + m.Type |= Matcher_Type(b&0x7F) << shift if b < 0x80 { break } @@ -491,7 +678,7 @@ func (m *Matcher) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -501,6 +688,9 @@ func (m *Matcher) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSilence } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSilence + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -520,7 +710,7 @@ func (m *Matcher) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -530,6 +720,9 @@ func (m *Matcher) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSilence } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSilence + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -544,9 +737,13 @@ func (m *Matcher) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthSilence } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthSilence + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -571,7 +768,7 @@ func (m *Comment) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -599,7 +796,7 @@ func (m *Comment) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -609,6 +806,9 @@ func (m *Comment) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSilence } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSilence + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -628,7 +828,7 @@ func (m *Comment) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -638,6 +838,9 @@ func (m *Comment) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSilence } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSilence + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -657,7 +860,7 @@ func (m *Comment) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -666,10 +869,13 @@ func (m *Comment) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSilence } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSilence + } if postIndex > l { return io.ErrUnexpectedEOF } - if err := types.StdTimeUnmarshal(&m.Timestamp, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Timestamp, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -682,9 +888,13 @@ func (m *Comment) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthSilence } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthSilence + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -709,7 +919,7 @@ func (m *Silence) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -737,7 +947,7 @@ func (m *Silence) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -747,6 +957,9 @@ func (m *Silence) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSilence } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSilence + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -766,7 +979,7 @@ func (m *Silence) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -775,6 +988,9 @@ func (m *Silence) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSilence } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSilence + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -797,7 +1013,7 @@ func (m *Silence) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -806,10 +1022,13 @@ func (m *Silence) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSilence } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSilence + } if postIndex > l { return io.ErrUnexpectedEOF } - if err := types.StdTimeUnmarshal(&m.StartsAt, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.StartsAt, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -827,7 +1046,7 @@ func (m *Silence) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -836,10 +1055,13 @@ func (m *Silence) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSilence } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSilence + } if postIndex > l { return io.ErrUnexpectedEOF } - if err := types.StdTimeUnmarshal(&m.EndsAt, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.EndsAt, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -857,7 +1079,7 @@ func (m *Silence) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -866,10 +1088,13 @@ func (m *Silence) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSilence } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSilence + } if postIndex > l { return io.ErrUnexpectedEOF } - if err := types.StdTimeUnmarshal(&m.UpdatedAt, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.UpdatedAt, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -887,7 +1112,7 @@ func (m *Silence) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -896,6 +1121,9 @@ func (m *Silence) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSilence } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSilence + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -918,7 +1146,7 @@ func (m *Silence) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -928,6 +1156,9 @@ func (m *Silence) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSilence } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSilence + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -947,7 +1178,7 @@ func (m *Silence) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -957,6 +1188,9 @@ func (m *Silence) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSilence } postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSilence + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -971,9 +1205,13 @@ func (m *Silence) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthSilence } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthSilence + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -998,7 +1236,7 @@ func (m *MeshSilence) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - wire |= (uint64(b) & 0x7F) << shift + wire |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1026,7 +1264,7 @@ func (m *MeshSilence) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1035,6 +1273,9 @@ func (m *MeshSilence) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSilence } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSilence + } if postIndex > l { return io.ErrUnexpectedEOF } @@ -1059,7 +1300,7 @@ func (m *MeshSilence) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -1068,10 +1309,13 @@ func (m *MeshSilence) Unmarshal(dAtA []byte) error { return ErrInvalidLengthSilence } postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthSilence + } if postIndex > l { return io.ErrUnexpectedEOF } - if err := types.StdTimeUnmarshal(&m.ExpiresAt, dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.ExpiresAt, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -1084,9 +1328,13 @@ func (m *MeshSilence) Unmarshal(dAtA []byte) error { if skippy < 0 { return ErrInvalidLengthSilence } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthSilence + } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1150,10 +1398,13 @@ func skipSilence(dAtA []byte) (n int, err error) { break } } - iNdEx += length if length < 0 { return 0, ErrInvalidLengthSilence } + iNdEx += length + if iNdEx < 0 { + return 0, ErrInvalidLengthSilence + } return iNdEx, nil case 3: for { @@ -1182,6 +1433,9 @@ func skipSilence(dAtA []byte) (n int, err error) { return 0, err } iNdEx = start + next + if iNdEx < 0 { + return 0, ErrInvalidLengthSilence + } } return iNdEx, nil case 4: @@ -1200,37 +1454,3 @@ var ( ErrInvalidLengthSilence = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowSilence = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("silence.proto", fileDescriptorSilence) } - -var fileDescriptorSilence = []byte{ - // 444 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x51, 0x4d, 0x6b, 0xdb, 0x40, - 0x10, 0xf5, 0x2a, 0x8e, 0x65, 0x8d, 0x69, 0x30, 0x43, 0x69, 0x85, 0x21, 0xb6, 0xd1, 0xc9, 0xd0, - 0x22, 0x83, 0x7b, 0xee, 0x41, 0x0e, 0xa6, 0x97, 0x06, 0x5a, 0x35, 0x85, 0xde, 0xca, 0xda, 0x9a, - 0xda, 0x82, 0x48, 0xbb, 0x48, 0x63, 0xa8, 0x4f, 0x2d, 0xf4, 0x0f, 0xf4, 0x67, 0xf9, 0xd8, 0x5f, - 0xd0, 0x0f, 0xff, 0x8b, 0xde, 0x8a, 0x56, 0x2b, 0x37, 0x21, 0x27, 0xdf, 0x66, 0x66, 0xdf, 0x9b, - 0xb7, 0xef, 0x0d, 0x3c, 0x2a, 0xd3, 0x5b, 0xca, 0x57, 0x14, 0xea, 0x42, 0xb1, 0x42, 0xcf, 0xb6, - 0x7a, 0x39, 0x18, 0xad, 0x95, 0x5a, 0xdf, 0xd2, 0xd4, 0x3c, 0x2c, 0xb7, 0x9f, 0xa6, 0x9c, 0x66, - 0x54, 0xb2, 0xcc, 0x74, 0x8d, 0x1d, 0x3c, 0x5e, 0xab, 0xb5, 0x32, 0xe5, 0xb4, 0xaa, 0xea, 0x69, - 0xf0, 0x4d, 0x80, 0x7b, 0x2d, 0x79, 0xb5, 0xa1, 0x02, 0x9f, 0x41, 0x9b, 0x77, 0x9a, 0x7c, 0x31, - 0x16, 0x93, 0x8b, 0xd9, 0xd3, 0xf0, 0xb8, 0x3c, 0xb4, 0x88, 0xf0, 0x66, 0xa7, 0x29, 0x36, 0x20, - 0x44, 0x68, 0xe7, 0x32, 0x23, 0xdf, 0x19, 0x8b, 0x89, 0x17, 0x9b, 0x1a, 0x7d, 0x70, 0xb5, 0x64, - 0xa6, 0x22, 0xf7, 0xcf, 0xcc, 0xb8, 0x69, 0x83, 0x4b, 0x68, 0x57, 0x5c, 0xf4, 0xe0, 0x7c, 0xf1, - 0xf6, 0x7d, 0xf4, 0xba, 0xdf, 0x42, 0x80, 0x4e, 0xbc, 0x78, 0xb5, 0xf8, 0xf0, 0xa6, 0x2f, 0x82, - 0x2f, 0xe0, 0x5e, 0xa9, 0x2c, 0xa3, 0x9c, 0xf1, 0x09, 0x74, 0xe4, 0x96, 0x37, 0xaa, 0x30, 0xdf, - 0xf0, 0x62, 0xdb, 0x55, 0xbb, 0x57, 0x35, 0xc4, 0x4a, 0x36, 0x2d, 0xce, 0xc1, 0x3b, 0x7a, 0x35, - 0xba, 0xbd, 0xd9, 0x20, 0xac, 0xd3, 0x08, 0x9b, 0x34, 0xc2, 0x9b, 0x06, 0x31, 0xef, 0xee, 0x7f, - 0x8e, 0x5a, 0xdf, 0x7f, 0x8d, 0x44, 0xfc, 0x9f, 0x16, 0xfc, 0x75, 0xc0, 0x7d, 0x57, 0xdb, 0xc5, - 0x0b, 0x70, 0xd2, 0xc4, 0xaa, 0x3b, 0x69, 0x82, 0x21, 0x74, 0xb3, 0xda, 0x7f, 0xe9, 0x3b, 0xe3, - 0xb3, 0x49, 0x6f, 0x86, 0x0f, 0xa3, 0x89, 0x8f, 0x18, 0x8c, 0xc0, 0x2b, 0x59, 0x16, 0x5c, 0x7e, - 0x94, 0x7c, 0xd2, 0x7f, 0xba, 0x35, 0x2d, 0x62, 0x7c, 0x09, 0x2e, 0xe5, 0x89, 0x59, 0xd0, 0x3e, - 0x61, 0x41, 0xa7, 0x22, 0x45, 0x8c, 0x57, 0x00, 0x5b, 0x9d, 0x48, 0xa6, 0xa4, 0xda, 0x70, 0x7e, - 0x4a, 0x24, 0x96, 0x17, 0x71, 0x65, 0xdb, 0x26, 0x5c, 0xfa, 0xee, 0x03, 0xdb, 0xf6, 0x5c, 0xf1, - 0x11, 0x83, 0x97, 0x00, 0xab, 0x82, 0x8c, 0xe8, 0x72, 0xe7, 0x77, 0x4d, 0x7c, 0x9e, 0x9d, 0xcc, - 0x77, 0x77, 0xef, 0xe7, 0xdd, 0xbb, 0x5f, 0xf0, 0x55, 0x40, 0xef, 0x9a, 0xca, 0x4d, 0x93, 0xff, - 0x73, 0x70, 0xad, 0x8e, 0x39, 0xc2, 0x7d, 0x5d, 0x0b, 0x8a, 0x1b, 0x48, 0xe5, 0x95, 0x3e, 0xeb, - 0xb4, 0x20, 0x93, 0x96, 0x73, 0x8a, 0x57, 0xcb, 0x8b, 0x78, 0xde, 0xdf, 0xff, 0x19, 0xb6, 0xf6, - 0x87, 0xa1, 0xf8, 0x71, 0x18, 0x8a, 0xdf, 0x87, 0xa1, 0x58, 0x76, 0x0c, 0xf5, 0xc5, 0xbf, 0x00, - 0x00, 0x00, 0xff, 0xff, 0xde, 0x36, 0xea, 0xdd, 0x71, 0x03, 0x00, 0x00, -} diff --git a/vendor/github.com/prometheus/alertmanager/store/store.go b/vendor/github.com/prometheus/alertmanager/store/store.go new file mode 100644 index 00000000000..16f045715bf --- /dev/null +++ b/vendor/github.com/prometheus/alertmanager/store/store.go @@ -0,0 +1,144 @@ +// Copyright 2018 Prometheus Team +// 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 store + +import ( + "context" + "errors" + "sync" + "time" + + "github.com/prometheus/alertmanager/types" + "github.com/prometheus/common/model" +) + +var ( + // ErrNotFound is returned if a Store cannot find the Alert. + ErrNotFound = errors.New("alert not found") +) + +// Alerts provides lock-coordinated to an in-memory map of alerts, keyed by +// their fingerprint. Resolved alerts are removed from the map based on +// gcInterval. An optional callback can be set which receives a slice of all +// resolved alerts that have been removed. +type Alerts struct { + gcInterval time.Duration + + sync.Mutex + c map[model.Fingerprint]*types.Alert + cb func([]*types.Alert) +} + +// NewAlerts returns a new Alerts struct. +func NewAlerts(gcInterval time.Duration) *Alerts { + if gcInterval == 0 { + gcInterval = time.Minute + } + + a := &Alerts{ + c: make(map[model.Fingerprint]*types.Alert), + cb: func(_ []*types.Alert) {}, + gcInterval: gcInterval, + } + + return a +} + +// SetGCCallback sets a GC callback to be executed after each GC. +func (a *Alerts) SetGCCallback(cb func([]*types.Alert)) { + a.Lock() + defer a.Unlock() + + a.cb = cb +} + +// Run starts the GC loop. +func (a *Alerts) Run(ctx context.Context) { + go func(t *time.Ticker) { + for { + select { + case <-ctx.Done(): + return + case <-t.C: + a.gc() + } + } + }(time.NewTicker(a.gcInterval)) +} + +func (a *Alerts) gc() { + a.Lock() + defer a.Unlock() + + var resolved []*types.Alert + for fp, alert := range a.c { + if alert.Resolved() { + delete(a.c, fp) + resolved = append(resolved, alert) + } + } + a.cb(resolved) +} + +// Get returns the Alert with the matching fingerprint, or an error if it is +// not found. +func (a *Alerts) Get(fp model.Fingerprint) (*types.Alert, error) { + a.Lock() + defer a.Unlock() + + alert, prs := a.c[fp] + if !prs { + return nil, ErrNotFound + } + return alert, nil +} + +// Set unconditionally sets the alert in memory. +func (a *Alerts) Set(alert *types.Alert) error { + a.Lock() + defer a.Unlock() + + a.c[alert.Fingerprint()] = alert + return nil +} + +// Delete removes the Alert with the matching fingerprint from the store. +func (a *Alerts) Delete(fp model.Fingerprint) error { + a.Lock() + defer a.Unlock() + + delete(a.c, fp) + return nil +} + +// List returns a slice of Alerts currently held in memory. +func (a *Alerts) List() []*types.Alert { + a.Lock() + defer a.Unlock() + + alerts := make([]*types.Alert, 0, len(a.c)) + for _, alert := range a.c { + alerts = append(alerts, alert) + } + + return alerts +} + +// Empty returns true if the store is empty. +func (a *Alerts) Empty() bool { + a.Lock() + defer a.Unlock() + + return len(a.c) == 0 +} diff --git a/vendor/github.com/prometheus/alertmanager/template/default.tmpl b/vendor/github.com/prometheus/alertmanager/template/default.tmpl index 69e71f05120..926913e4669 100644 --- a/vendor/github.com/prometheus/alertmanager/template/default.tmpl +++ b/vendor/github.com/prometheus/alertmanager/template/default.tmpl @@ -15,6 +15,7 @@ {{ define "slack.default.title" }}{{ template "__subject" . }}{{ end }} {{ define "slack.default.username" }}{{ template "__alertmanager" . }}{{ end }} {{ define "slack.default.fallback" }}{{ template "slack.default.title" . }} | {{ template "slack.default.titlelink" . }}{{ end }} +{{ define "slack.default.callbackid" }}{{ end }} {{ define "slack.default.pretext" }}{{ end }} {{ define "slack.default.titlelink" }}{{ template "__alertmanagerURL" . }}{{ end }} {{ define "slack.default.iconemoji" }}{{ end }} @@ -60,7 +61,6 @@ Alerts Resolved: AlertmanagerUrl: {{ template "__alertmanagerURL" . }} {{- end }} -{{ define "wechat.default.api_secret" }}{{ end }} {{ define "wechat.default.to_user" }}{{ end }} {{ define "wechat.default.to_party" }}{{ end }} {{ define "wechat.default.to_tag" }}{{ end }} diff --git a/vendor/github.com/prometheus/alertmanager/template/email.html b/vendor/github.com/prometheus/alertmanager/template/email.html index 52b6b2f4083..1f15ab8b474 100644 --- a/vendor/github.com/prometheus/alertmanager/template/email.html +++ b/vendor/github.com/prometheus/alertmanager/template/email.html @@ -323,7 +323,11 @@
+ {{ if gt (len .Alerts.Firing) 0 }}
+ {{ else }} + + {{ end }} {{ .Alerts | len }} alert{{ if gt (len .Alerts) 1 }}s{{ end }} for {{ range .GroupLabels.SortedPairs }} {{ .Name }}={{ .Value }} {{ end }} diff --git a/vendor/github.com/prometheus/alertmanager/template/internal/deftmpl/bindata.go b/vendor/github.com/prometheus/alertmanager/template/internal/deftmpl/bindata.go deleted file mode 100644 index b27f250a3f9..00000000000 --- a/vendor/github.com/prometheus/alertmanager/template/internal/deftmpl/bindata.go +++ /dev/null @@ -1,237 +0,0 @@ -// Code generated by go-bindata. -// sources: -// template/default.tmpl -// DO NOT EDIT! - -package deftmpl - -import ( - "bytes" - "compress/gzip" - "fmt" - "io" - "io/ioutil" - "os" - "path/filepath" - "strings" - "time" -) - -func bindataRead(data []byte, name string) ([]byte, error) { - gz, err := gzip.NewReader(bytes.NewBuffer(data)) - if err != nil { - return nil, fmt.Errorf("Read %q: %v", name, err) - } - - var buf bytes.Buffer - _, err = io.Copy(&buf, gz) - clErr := gz.Close() - - if err != nil { - return nil, fmt.Errorf("Read %q: %v", name, err) - } - if clErr != nil { - return nil, err - } - - return buf.Bytes(), nil -} - -type asset struct { - bytes []byte - info os.FileInfo -} - -type bindataFileInfo struct { - name string - size int64 - mode os.FileMode - modTime time.Time -} - -func (fi bindataFileInfo) Name() string { - return fi.name -} -func (fi bindataFileInfo) Size() int64 { - return fi.size -} -func (fi bindataFileInfo) Mode() os.FileMode { - return fi.mode -} -func (fi bindataFileInfo) ModTime() time.Time { - return fi.modTime -} -func (fi bindataFileInfo) IsDir() bool { - return false -} -func (fi bindataFileInfo) Sys() interface{} { - return nil -} - -var _templateDefaultTmpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3b\xff\x6f\xdb\xb6\xb3\xbf\xeb\xaf\xb8\x69\x78\x58\x03\xd8\x96\xd3\x6e\xc5\xea\xd8\x79\x70\x1d\xa5\x11\x9e\x63\x07\xb6\xd2\xae\x18\x86\x80\x96\xce\x36\x5b\x89\xd4\x48\x3a\x89\x97\xf9\x7f\x7f\x20\x25\x7f\x91\x2d\x27\x4e\xd1\x25\xfe\x7c\x96\x04\x6d\x24\xea\xbe\xdf\xf1\xee\x28\x52\x77\x77\x10\xe2\x90\x32\x04\xfb\xea\x8a\x44\x28\x54\x4c\x18\x19\xa1\xb0\x61\x36\x6b\xea\xfb\xf3\xf4\xfe\xee\x0e\x90\x85\x30\x9b\x59\x5b\x51\x2e\x7b\x6d\x8d\x75\x77\x07\x15\xf7\x56\xa1\x60\x24\xba\xec\xb5\x61\x36\x73\x7e\x74\x0c\x9c\xfc\x5f\x81\x01\xd2\x6b\x14\x0d\x0d\xd4\xcb\x6e\x52\x9c\x8c\x7a\x9e\xbc\x9c\x0c\xbe\x60\xa0\x34\xd9\xdf\x35\x4a\x5f\x11\x35\x91\xf0\x37\x28\x7e\x99\x24\x73\x54\x3a\x04\xfc\x73\xf1\xd0\x1e\x52\x41\xd9\x48\xe3\xd4\x34\x8e\xd1\x42\x56\x4e\xcd\x28\xfc\x0d\x11\xb2\x55\x8e\x7f\x80\x06\xfa\x20\xf8\x24\x69\x93\x01\x46\xb2\xd2\xe7\x42\x61\x78\x41\xa8\x90\x95\x8f\x24\x9a\xa0\x66\xf8\x85\x53\x06\x36\x68\xaa\x90\xb2\x1c\x29\x78\xa5\x69\x55\x5a\x3c\x8e\x39\x4b\x91\x0f\xb2\xb1\x15\x7a\x07\x30\x9b\xbd\xba\xbb\x83\x1b\xaa\xc6\x79\xe0\x4a\x0f\x63\x7e\x8d\x79\xee\x1d\x12\xa3\xcc\xcc\x58\xc4\x7d\x21\xf8\xc1\xe2\x6a\x8b\x6f\x42\x94\x81\xa0\x89\xa2\x9c\xd9\xf7\xd8\x58\xe1\xad\x4a\xfd\x78\x15\x51\xa9\x32\x50\x41\xd8\x08\xa1\x02\xb3\x59\x2a\x57\xcd\x5a\x0e\x6e\xda\x49\x5b\xa5\x6c\x0c\xa9\xc5\xd7\x77\x0d\x58\x28\x90\x09\x96\x32\x6f\x32\xc6\x15\xd1\x32\xe5\x48\xae\x0c\x7f\x1b\xdd\x3e\x9f\x88\x00\x6b\xa9\x33\x91\xa1\x20\x8a\x8b\x34\xfc\xac\x02\x43\xe5\x6c\x20\x23\x12\x7c\xad\x84\x38\x24\x93\x48\x55\x14\x55\x11\x66\x56\x50\x18\x27\x11\x51\xf9\x58\xac\x6c\x33\x79\x9e\xce\x44\xea\x29\x10\x17\x91\xca\x4f\xb4\x1d\xe9\x0d\x49\x14\x0d\x48\xf0\x75\x83\x5e\xa1\xf8\x9a\x28\xfc\x0d\x0f\x01\x46\x94\x7d\xdd\x59\x82\x44\xa0\x0e\x16\x7b\x37\xe8\x15\xfa\xf7\x1a\xc0\xa4\x8d\x1d\x25\xa0\x01\x67\x18\xf3\x2f\x74\x47\x19\x34\xfc\x44\x44\xbb\x4a\xbc\xbb\x72\x43\xce\x55\x9a\x24\xb7\xc4\xd4\x98\x26\xc1\x98\xa8\x25\x82\xe0\xf1\xb7\x47\xc2\x3a\xb5\x18\xa5\x24\xa3\x47\x44\x69\x4e\xb6\x44\x73\x0b\x27\x6a\xba\xa0\xb7\x99\x2a\x1e\x17\xf9\x9b\x14\x83\x88\x22\x53\xdf\xae\xf1\x36\x8a\xcb\x22\xf3\x6d\xf1\xb4\x49\x97\x32\xa9\x08\x0b\x50\x16\xd0\xdd\xc8\x8d\xf7\x58\x95\x27\x72\x84\x8c\xe2\xb7\x3b\xe9\x3e\x62\x9b\x1e\xca\x4a\xc9\x96\xcc\x59\x58\x3b\xac\xb5\xca\x95\x2b\x8d\x07\x50\x85\xf2\x6c\x66\xa5\x83\x90\x0e\x9a\x1c\x7d\xbf\x45\xf2\xf5\xd5\x30\x29\xaf\x68\x54\xc0\xaf\x87\x92\x47\xd7\x18\xae\x71\x9c\x0f\xef\xce\x73\x8e\xb1\xc1\xb5\xbc\x8b\x49\xa5\x29\x19\x8f\x8f\xa6\x9c\xd7\x6f\xf0\x5b\x26\xa6\xf5\xe2\xbf\x7b\xfc\xd7\x5c\xb5\xbf\x88\x36\xe8\x15\xfa\x67\x8b\xd7\xd7\xfc\x43\x12\x7a\x25\x31\x10\xb8\x3d\xd1\xaf\x61\x28\x7e\xa5\x2b\xf9\x23\xc0\x13\x22\xd4\xf4\x11\xf0\x8a\x8c\x76\x85\x26\x23\x64\xea\x8a\x86\xeb\x85\x67\x15\xe5\x9a\x06\x8a\x0b\x9e\xc8\x65\xa0\x2b\xa2\xf0\x2a\x1f\x9a\x2f\xd1\xf7\xb8\xec\xb1\x69\x55\x64\x8a\xaa\xe9\x55\x48\x65\x12\x91\xe9\xd5\x96\x56\xef\xe1\x54\xbf\x49\x39\xe6\x8c\x2a\xae\x0d\x72\xa5\x38\x8f\x1e\x59\x44\x57\x69\x63\x4c\x68\xb4\x8c\x83\xe5\x6a\xea\xd1\x52\xe6\x29\x8d\x55\x6c\xc4\xb2\xea\x3f\x9c\x74\x5b\xfe\xe7\x0b\x17\xf4\x10\x5c\x5c\xbe\x6f\x7b\x2d\xb0\xcb\x8e\xf3\xe9\x4d\xcb\x71\x4e\xfc\x13\xf8\xed\xcc\x3f\x6f\xc3\x61\xa5\x0a\xbe\x20\x4c\x52\x1d\x6c\x24\x72\x1c\xb7\x63\x83\x3d\x56\x2a\xa9\x39\xce\xcd\xcd\x4d\xe5\xe6\x4d\x85\x8b\x91\xe3\xf7\x9c\x5b\x4d\xeb\x50\x23\x67\x97\x65\xb5\x82\x59\x09\x55\x68\x1f\x5b\xf5\x1f\xca\x65\xab\xaf\xa6\x11\x02\x61\x21\x18\x26\x21\x0a\xaa\x1d\xaa\x9b\x2d\xd0\xa4\x65\xcd\x71\x46\x54\x8d\x27\x83\x4a\xc0\x63\x47\xeb\x30\x9a\x30\xc7\x90\x23\x41\x4a\xaf\x6c\x54\x2b\xcf\xcd\x21\x2d\xcb\xf2\xc7\x08\xe7\x9e\x0f\x6d\x1a\x20\x93\x08\xaf\xce\x3d\xff\xc0\xb2\x5a\x3c\x99\x0a\x3a\x1a\x2b\x78\x15\x1c\xc0\xeb\xea\xe1\xcf\x70\x9e\x52\xb4\xac\x0b\x14\x31\x95\x92\x72\x06\x54\xc2\x18\x05\x0e\xa6\x30\x12\x84\x29\x0c\x4b\x30\x14\x88\xc0\x87\x10\x8c\x89\x18\x61\x09\x14\x07\xc2\xa6\x90\xa0\x90\x9c\x01\x1f\x28\x42\x99\x8e\x7f\x02\x01\x4f\xa6\x16\x1f\x82\x1a\x53\x09\x92\x0f\xd5\x0d\x11\xa9\x86\x44\x4a\x1e\x50\xa2\x30\x84\x90\x07\x93\x18\x59\x3a\x71\x61\x48\x23\x94\xf0\x4a\x8d\x11\xec\x7e\x86\x61\x1f\x18\x26\x21\x92\xc8\xa2\x0c\xf4\xb3\xf9\x23\xb3\x10\xe5\x13\x05\x02\xa5\x12\xd4\x58\xa1\x04\x94\x05\xd1\x24\xd4\x32\xcc\x1f\x47\x34\xa6\x19\x07\x8d\x6e\x14\x97\x96\xe2\x30\x91\x58\x32\x72\x96\x20\xe6\x21\x1d\xea\xbf\x68\xd4\x4a\x26\x83\x88\xca\x71\x09\x42\xaa\x49\x0f\x26\x0a\x4b\x20\xf5\xa0\xb1\x63\x49\xeb\xe1\x70\x01\x12\xa3\xc8\x0a\x78\x42\x51\x82\xd1\x75\x29\x9d\x81\xd1\xa2\x27\xda\xa0\x2a\x33\x91\xd4\x23\x37\x63\x1e\xe7\x35\xa1\xd2\x1a\x4e\x04\xa3\x72\x8c\x06\x27\xe4\x20\xb9\xe1\xa8\xa3\x59\x8f\x68\xf0\x21\x8f\x22\x7e\xa3\x55\x0b\x38\x0b\x69\xb6\xf6\x34\x4e\x26\x03\xbd\xfe\x0e\x16\x7e\x65\x5c\xd1\x20\x35\xb7\x71\x40\xb2\xf4\x6a\xf6\x48\x8e\x49\x14\xc1\x00\x33\x83\x61\x08\x94\x01\x59\x51\x47\x68\xf6\xba\xa3\x54\x94\x44\x90\x70\x61\xf8\xad\xab\x59\xb1\x2c\xff\xcc\x85\x7e\xf7\xd4\xff\xd4\xec\xb9\xe0\xf5\xe1\xa2\xd7\xfd\xe8\x9d\xb8\x27\x60\x37\xfb\xe0\xf5\xed\x12\x7c\xf2\xfc\xb3\xee\xa5\x0f\x9f\x9a\xbd\x5e\xb3\xe3\x7f\x86\xee\x29\x34\x3b\x9f\xe1\xff\xbc\xce\x49\x09\xdc\xdf\x2e\x7a\x6e\xbf\x0f\xdd\x9e\xe5\x9d\x5f\xb4\x3d\xf7\xa4\x04\x5e\xa7\xd5\xbe\x3c\xf1\x3a\x1f\xe0\xfd\xa5\x0f\x9d\xae\x0f\x6d\xef\xdc\xf3\xdd\x13\xf0\xbb\xa0\x19\x66\xa4\x3c\xb7\xaf\x89\x9d\xbb\xbd\xd6\x59\xb3\xe3\x37\xdf\x7b\x6d\xcf\xff\x5c\xb2\x4e\x3d\xbf\xa3\x69\x9e\x76\x7b\xd0\x84\x8b\x66\xcf\xf7\x5a\x97\xed\x66\x0f\x2e\x2e\x7b\x17\xdd\xbe\x0b\xcd\xce\x09\x74\xba\x1d\xaf\x73\xda\xf3\x3a\x1f\xdc\x73\xb7\xe3\x57\xc0\xeb\x40\xa7\x0b\xee\x47\xb7\xe3\x43\xff\xac\xd9\x6e\x6b\x56\x56\xf3\xd2\x3f\xeb\xf6\xb4\x7c\xd0\xea\x5e\x7c\xee\x79\x1f\xce\x7c\x38\xeb\xb6\x4f\xdc\x5e\x1f\xde\xbb\xd0\xf6\x9a\xef\xdb\x6e\xca\xaa\xf3\x19\x5a\xed\xa6\x77\x5e\x82\x93\xe6\x79\xf3\x83\x6b\xb0\xba\xfe\x99\xdb\xb3\x34\x58\x2a\x1d\x7c\x3a\x73\xf5\x90\xe6\xd7\xec\x40\xb3\xe5\x7b\xdd\x8e\x56\xa3\xd5\xed\xf8\xbd\x66\xcb\x2f\x81\xdf\xed\xf9\x0b\xd4\x4f\x5e\xdf\x2d\x41\xb3\xe7\xf5\xb5\x41\x4e\x7b\xdd\xf3\x92\xa5\xcd\xd9\x3d\xd5\x20\x5e\x47\xe3\x75\xdc\x94\x8a\x36\x35\xe4\x3c\xd2\xed\x99\xfb\xcb\xbe\xbb\x20\x08\x27\x6e\xb3\xed\x75\x3e\xf4\x35\xb2\x56\x71\x0e\x5c\xb1\xca\xe5\x63\xab\x6e\x52\xe0\x6d\x1c\x31\xd9\x28\x48\x6c\x87\xef\xde\xbd\x4b\xf3\x99\xbd\x1b\x90\xd4\xc9\xad\x61\x0f\x39\x53\xe5\x21\x89\x69\x34\xad\xc1\x4f\x67\x18\x5d\xa3\xa2\x01\x81\x0e\x4e\xf0\xa7\x12\x2c\x06\x4a\xd0\x14\x94\x44\x25\x90\x84\xc9\xb2\x44\x41\x87\x47\x30\xe0\xb7\x65\x49\xff\xd2\xb5\x18\x06\x5c\x84\x28\xca\x03\x7e\x7b\x04\x86\xa8\xa4\x7f\x61\x0d\x0e\x7f\x4e\x6e\x8f\x20\x26\x62\x44\x59\x0d\xaa\x47\x3a\xb7\x8e\x91\x84\xcf\xc9\x3f\x46\x45\x40\x57\xd4\x86\x7d\x4d\xf1\x46\xcf\x22\x5b\xcf\x5e\x85\x4c\x35\xec\x1b\x1a\xaa\x71\x23\xc4\x6b\x1a\x60\xd9\xdc\x3c\x9f\xb1\xc0\x99\x8b\xab\x9d\x59\xc6\x3f\x27\xf4\xba\x61\xb7\x52\x51\xcb\xfe\x34\xc1\x15\xc1\x75\x2b\xe2\x68\xe7\x1e\x99\x4a\x20\x51\x35\x2e\xfd\xd3\xf2\xaf\xcf\x2c\xbe\x79\x53\xf3\x7c\xee\xbe\xaf\x17\xa9\x3b\x46\xb8\x63\xcb\xaa\x3b\x3a\x28\xf5\xc5\x80\x87\x53\xa0\x0a\x63\x19\xf0\x04\x1b\xb6\x6d\x6e\xd4\x54\x5f\x67\x33\x4a\x06\x63\x8c\x89\x99\x51\xae\xae\xee\xe7\xf3\xde\xf7\x49\x95\x2c\xdf\xe0\xe0\x2b\x55\xe5\xf4\x41\xcc\xb9\x1a\x1b\xa4\xb4\x36\x50\x22\x31\x5c\x02\xe9\xd8\x30\xd8\x65\x12\x7e\x99\x48\x55\x03\xc6\x19\x1e\xc1\x18\x75\x65\xaa\xc1\x61\xb5\xfa\x3f\x47\x10\x51\x86\xe5\xc5\x50\xe5\x2d\xc6\x47\x60\x66\x40\x0a\x00\x3f\xd0\x58\x4f\x16\xc2\xd4\x11\x0c\x48\xf0\x75\x24\xf8\x84\x85\xe5\x80\x47\x5c\xd4\xe0\xc7\xe1\x5b\xfd\xbb\x6a\x7e\x48\x48\x18\x1a\xa9\x74\x34\x0c\x46\x06\xb2\x61\x67\x90\xb6\xb6\xb7\x22\x83\xa7\x0e\x8f\x15\x95\x76\xd4\xa3\x50\x76\x80\xba\x12\xcf\x98\xc7\x00\xb4\x04\x4f\x9c\x49\xaf\x51\x68\x22\x51\x99\x44\x74\xc4\x6a\xa0\x78\x92\x37\xd4\xb5\x79\xd0\xb0\x15\x4f\xec\xe3\xba\xa3\xc2\xa5\xa0\x69\x66\xb5\xdf\x56\xab\x4f\x3c\x55\x0a\x85\xce\x96\x56\x35\x18\x44\x3c\xf8\x9a\x8b\xed\x98\xdc\x96\xb3\x20\x79\x5b\xad\x26\xb7\xb9\x87\x41\x84\x44\x68\x86\x6a\x9c\x1b\xdf\x36\x51\x16\xc6\x01\x32\x51\x7c\x6d\x4a\xe4\xac\x65\x0c\x05\x50\x0f\xe9\xf5\x53\x87\x55\x5e\xdf\x75\xe3\xdc\xaf\xc4\x5c\x6e\xed\x64\x33\x99\x33\x3f\x6b\x4b\xd8\x10\x60\x14\x65\xd0\x0d\xbb\x9a\xde\xcb\x84\x04\xf3\xfb\x27\x55\x34\x7b\x28\x48\x48\x27\xb2\x06\x6f\xcc\x58\x41\x02\x18\x0e\x73\x59\x2c\x45\xab\xc1\x61\x72\x0b\x92\x47\x34\x84\x1f\xf1\x9d\xfe\xcd\x27\x86\xe1\x70\xc5\x16\xfb\x90\x1d\x96\x92\x3c\x5d\x96\x78\xbb\x75\xc2\xe5\xac\x6b\x50\x6e\xb2\x52\xf3\x4b\xb5\x7a\x04\xa6\x44\x65\xf0\x01\x32\x85\xa2\xc8\x5f\xe6\x5f\xd5\x38\x65\xd3\x6f\xee\xdb\x5f\x5e\xbf\x6e\x15\x17\xa0\xd7\x3a\xae\x6d\xc8\xe6\x5b\xca\x60\xd5\x7b\x29\x6e\xf1\x8c\x9c\xff\x2c\x37\x7c\x17\x3b\xbd\x60\x5e\x96\x14\xbe\x4b\x3a\x80\x43\x98\xcd\xe4\xe2\x85\x07\x0c\xb9\x80\xe5\xa6\xe4\x96\x4d\x61\x98\xcd\xd6\xb8\xc2\xea\x16\x65\x23\xb7\x41\xb9\x01\x96\xbd\x5a\xc9\x39\x7f\x91\x83\x17\xf7\xe2\x25\x4c\x77\x29\x66\xcb\xe0\x39\x4c\x83\xe7\xbe\xd8\xd8\xfb\xdc\xb7\xd5\xec\xfb\x15\x04\xfb\x1e\x0a\x55\xa8\xce\x73\xc9\x7d\xe1\x90\xa9\x41\x60\x2c\x70\xd8\xb0\x77\xd9\x63\x78\xe2\x78\x98\x27\xcd\xd3\xd3\xd3\x2c\xf9\x86\x18\x70\x61\xde\xc9\xcd\x97\x07\xb9\x05\xc1\x6b\xbd\x1c\xc8\xe5\xed\x01\x8f\xc2\xe2\xc4\x1d\x4c\x84\xd4\xd4\x13\x4e\xd3\x81\x45\x43\x41\x99\x21\x9a\xf5\x15\x6b\x09\xfe\x17\x2d\x98\xa1\x67\x5e\xa2\x0e\xb9\x88\x6b\x10\x90\x84\x2a\x12\xd1\xbf\xb0\x30\xe9\xbf\xf9\xf9\x57\x0c\x49\x41\xbd\xde\x80\xc8\x86\x8d\x95\x6b\x69\x21\x5f\x0c\x2e\xba\xb7\xe4\x36\x73\xef\xf1\x47\x8a\x37\x40\x19\x3c\xf8\x76\xbc\xee\x90\xc2\x18\x5e\x4b\xbc\xc5\xe9\x37\xfd\x79\x68\xf3\xa3\xa0\x28\xbc\x4c\xd9\x7f\x66\xca\x4a\x25\x38\x1b\x3d\x9f\x69\x7f\xdf\x7e\xac\xec\x8f\x6c\xe7\xab\xee\xa4\x42\x7e\x87\xa8\x2b\x68\x18\xb2\x27\xf3\xb3\x53\xeb\x5b\x68\x2f\x71\xf8\xef\x88\xc3\xb4\x35\x5d\x84\x5a\x7d\xf0\x7c\x6e\x06\xa7\xd8\x46\x0f\x1c\x1a\xdc\x7e\xb2\xef\x99\x95\xd9\x3e\xef\xa0\xa0\x16\x2c\x37\xd1\xd3\x4a\xf0\xec\x91\xb1\x22\xd1\xbe\x84\xc7\x83\x16\x7d\xf0\x24\xe8\x7f\x68\xb0\xac\x76\x98\xeb\x47\x53\x9f\xa9\xa1\x9c\xb7\x5b\x1b\x3d\xe5\x84\x85\x28\x74\xf7\x97\x0f\xa7\xf4\x70\xad\x6e\xa2\xf6\x2f\xc7\x7c\x5b\x35\xdd\xb1\xbd\x5b\x3d\x6b\x52\xe8\xde\x97\xae\x70\x6f\xaa\xf1\xde\x45\x26\x40\x7d\xbc\x87\x32\xed\x9d\x9d\x1e\x33\x83\xef\xeb\x88\x5f\x26\xd6\x7f\x67\x9b\xbb\xba\xdc\x5a\x9c\xd9\x5b\x2e\xb8\xe6\x43\xcf\xb0\xe4\x5a\x3d\x41\xf8\x12\x8d\xff\x8e\x68\x7c\x59\x74\xbd\x2c\xba\x5e\x16\x5d\xfb\x1e\x2c\x2f\x8b\xae\xbd\x69\xd9\xb6\x39\xaa\xee\x98\xfd\xb8\xe3\x47\x6c\x85\x2e\x50\x96\x23\x4f\x7e\x12\x23\x77\x34\x69\xe5\xa4\xc9\xd2\xd1\xef\xde\xbd\xbb\x6f\x83\x3b\xbf\xb3\xbb\xb9\x25\xb9\x1f\x4d\xc3\x3e\xb5\x2f\x4f\xd9\xba\xbc\xde\xda\xba\x14\x6e\xa2\x3d\xe4\xf2\x95\xde\x66\xed\x5c\x43\xfe\x14\xd6\x6a\xba\xca\x7f\x3c\xff\x74\x01\xf1\x7a\x35\x5b\x19\x8d\x76\x4e\x55\xc8\x14\x0c\xa6\xbb\xed\xc3\x6d\xe6\x8e\x8d\xf3\x0e\xeb\x99\xa1\xee\x84\xf4\xfa\x38\xfd\xdf\xca\xa7\x89\x7d\x6b\x6b\xb7\x1c\xaf\x4b\x55\x5c\xe6\xaf\xba\x33\xe0\xe1\x54\x8f\x8c\x55\x1c\x1d\x5b\x56\xf1\xf7\x3b\xc9\x44\x8e\xf9\x35\x8a\xef\xf0\x71\xfa\x06\xa9\x7f\xfe\x7b\xb0\xef\xf3\x39\xd8\xee\x5f\x83\x7d\xbf\x8f\xc1\x56\x78\xee\x60\xc9\xe5\x17\xe6\x8f\xf8\x8a\xf4\xff\x03\x00\x00\xff\xff\x99\xde\x39\x7b\x7a\x43\x00\x00") - -func templateDefaultTmplBytes() ([]byte, error) { - return bindataRead( - _templateDefaultTmpl, - "template/default.tmpl", - ) -} - -func templateDefaultTmpl() (*asset, error) { - bytes, err := templateDefaultTmplBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "template/default.tmpl", size: 17274, mode: os.FileMode(420), modTime: time.Unix(1, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -// Asset loads and returns the asset for the given name. -// It returns an error if the asset could not be found or -// could not be loaded. -func Asset(name string) ([]byte, error) { - cannonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[cannonicalName]; ok { - a, err := f() - if err != nil { - return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err) - } - return a.bytes, nil - } - return nil, fmt.Errorf("Asset %s not found", name) -} - -// MustAsset is like Asset but panics when Asset would return an error. -// It simplifies safe initialization of global variables. -func MustAsset(name string) []byte { - a, err := Asset(name) - if err != nil { - panic("asset: Asset(" + name + "): " + err.Error()) - } - - return a -} - -// AssetInfo loads and returns the asset info for the given name. -// It returns an error if the asset could not be found or -// could not be loaded. -func AssetInfo(name string) (os.FileInfo, error) { - cannonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[cannonicalName]; ok { - a, err := f() - if err != nil { - return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err) - } - return a.info, nil - } - return nil, fmt.Errorf("AssetInfo %s not found", name) -} - -// AssetNames returns the names of the assets. -func AssetNames() []string { - names := make([]string, 0, len(_bindata)) - for name := range _bindata { - names = append(names, name) - } - return names -} - -// _bindata is a table, holding each asset generator, mapped to its name. -var _bindata = map[string]func() (*asset, error){ - "template/default.tmpl": templateDefaultTmpl, -} - -// AssetDir returns the file names below a certain -// directory embedded in the file by go-bindata. -// For example if you run go-bindata on data/... and data contains the -// following hierarchy: -// data/ -// foo.txt -// img/ -// a.png -// b.png -// then AssetDir("data") would return []string{"foo.txt", "img"} -// AssetDir("data/img") would return []string{"a.png", "b.png"} -// AssetDir("foo.txt") and AssetDir("notexist") would return an error -// AssetDir("") will return []string{"data"}. -func AssetDir(name string) ([]string, error) { - node := _bintree - if len(name) != 0 { - cannonicalName := strings.Replace(name, "\\", "/", -1) - pathList := strings.Split(cannonicalName, "/") - for _, p := range pathList { - node = node.Children[p] - if node == nil { - return nil, fmt.Errorf("Asset %s not found", name) - } - } - } - if node.Func != nil { - return nil, fmt.Errorf("Asset %s not found", name) - } - rv := make([]string, 0, len(node.Children)) - for childName := range node.Children { - rv = append(rv, childName) - } - return rv, nil -} - -type bintree struct { - Func func() (*asset, error) - Children map[string]*bintree -} - -var _bintree = &bintree{nil, map[string]*bintree{ - "template": &bintree{nil, map[string]*bintree{ - "default.tmpl": &bintree{templateDefaultTmpl, map[string]*bintree{}}, - }}, -}} - -// RestoreAsset restores an asset under the given directory -func RestoreAsset(dir, name string) error { - data, err := Asset(name) - if err != nil { - return err - } - info, err := AssetInfo(name) - if err != nil { - return err - } - err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755)) - if err != nil { - return err - } - err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode()) - if err != nil { - return err - } - err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) - if err != nil { - return err - } - return nil -} - -// RestoreAssets restores an asset under the given directory recursively -func RestoreAssets(dir, name string) error { - children, err := AssetDir(name) - // File - if err != nil { - return RestoreAsset(dir, name) - } - // Dir - for _, child := range children { - err = RestoreAssets(dir, filepath.Join(name, child)) - if err != nil { - return err - } - } - return nil -} - -func _filePath(dir, name string) string { - cannonicalName := strings.Replace(name, "\\", "/", -1) - return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...) -} diff --git a/vendor/github.com/prometheus/alertmanager/template/template.go b/vendor/github.com/prometheus/alertmanager/template/template.go index cb54b8cb63e..961ad74695c 100644 --- a/vendor/github.com/prometheus/alertmanager/template/template.go +++ b/vendor/github.com/prometheus/alertmanager/template/template.go @@ -15,6 +15,7 @@ package template import ( "bytes" + "io/ioutil" "net/url" "path/filepath" "regexp" @@ -27,7 +28,7 @@ import ( "github.com/prometheus/common/model" - "github.com/prometheus/alertmanager/template/internal/deftmpl" + "github.com/prometheus/alertmanager/asset" "github.com/prometheus/alertmanager/types" ) @@ -51,7 +52,12 @@ func FromGlobs(paths ...string) (*Template, error) { t.text = t.text.Funcs(tmpltext.FuncMap(DefaultFuncs)) t.html = t.html.Funcs(tmplhtml.FuncMap(DefaultFuncs)) - b, err := deftmpl.Asset("template/default.tmpl") + f, err := asset.Assets.Open("/templates/default.tmpl") + if err != nil { + return nil, err + } + defer f.Close() + b, err := ioutil.ReadAll(f) if err != nil { return nil, err } @@ -128,6 +134,7 @@ var DefaultFuncs = FuncMap{ "join": func(sep string, s []string) string { return strings.Join(s, sep) }, + "match": regexp.MatchString, "safeHtml": func(text string) tmplhtml.HTML { return tmplhtml.HTML(text) }, diff --git a/vendor/github.com/prometheus/alertmanager/types/types.go b/vendor/github.com/prometheus/alertmanager/types/types.go index 94545f82711..969a849e986 100644 --- a/vendor/github.com/prometheus/alertmanager/types/types.go +++ b/vendor/github.com/prometheus/alertmanager/types/types.go @@ -18,47 +18,85 @@ import ( "sync" "time" + "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/common/model" ) +// AlertState is used as part of AlertStatus. type AlertState string +// Possible values for AlertState. const ( AlertStateUnprocessed AlertState = "unprocessed" AlertStateActive AlertState = "active" AlertStateSuppressed AlertState = "suppressed" ) -// AlertStatus stores the state and values associated with an Alert. +// AlertStatus stores the state of an alert and, as applicable, the IDs of +// silences silencing the alert and of other alerts inhibiting the alert. Note +// that currently, SilencedBy is supposed to be the complete set of the relevant +// silences while InhibitedBy may contain only a subset of the inhibiting alerts +// – in practice exactly one ID. (This somewhat confusing semantics might change +// in the future.) type AlertStatus struct { State AlertState `json:"state"` SilencedBy []string `json:"silencedBy"` InhibitedBy []string `json:"inhibitedBy"` + + silencesVersion int } // Marker helps to mark alerts as silenced and/or inhibited. // All methods are goroutine-safe. type Marker interface { + // SetActive sets the provided alert to AlertStateActive and deletes all + // SilencedBy and InhibitedBy entries. SetActive(alert model.Fingerprint) - SetInhibited(alert model.Fingerprint, ids ...string) - SetSilenced(alert model.Fingerprint, ids ...string) - + // SetSilenced replaces the previous SilencedBy by the provided IDs of + // silences, including the version number of the silences state. The set + // of provided IDs is supposed to represent the complete set of relevant + // silences. If no ID is provided and InhibitedBy is already empty, this + // call is equivalent to SetActive. Otherwise, it sets + // AlertStateSuppressed. + SetSilenced(alert model.Fingerprint, version int, silenceIDs ...string) + // SetInhibited replaces the previous InhibitedBy by the provided IDs of + // alerts. In contrast to SetSilenced, the set of provided IDs is not + // expected to represent the complete set of inhibiting alerts. (In + // practice, this method is only called with one or zero IDs. However, + // this expectation might change in the future.) If no ID is provided and + // SilencedBy is already empty, this call is equivalent to + // SetActive. Otherwise, it sets AlertStateSuppressed. + SetInhibited(alert model.Fingerprint, alertIDs ...string) + + // Count alerts of the given state(s). With no state provided, count all + // alerts. Count(...AlertState) int + // Status of the given alert. Status(model.Fingerprint) AlertStatus + // Delete the given alert. Delete(model.Fingerprint) + // Various methods to inquire if the given alert is in a certain + // AlertState. Silenced also returns all the silencing silences, while + // Inhibited may return only a subset of inhibiting alerts. Silenced + // also returns the version of the silences state the result is based + // on. Unprocessed(model.Fingerprint) bool Active(model.Fingerprint) bool - Silenced(model.Fingerprint) ([]string, bool) + Silenced(model.Fingerprint) ([]string, int, bool) Inhibited(model.Fingerprint) ([]string, bool) } // NewMarker returns an instance of a Marker implementation. -func NewMarker() Marker { - return &memMarker{ +func NewMarker(r prometheus.Registerer) Marker { + m := &memMarker{ m: map[model.Fingerprint]*AlertStatus{}, } + + m.registerMetrics(r) + + return m } type memMarker struct { @@ -67,29 +105,49 @@ type memMarker struct { mtx sync.RWMutex } -// Count alerts of a given state. -func (m *memMarker) Count(states ...AlertState) int { - count := 0 +func (m *memMarker) registerMetrics(r prometheus.Registerer) { + newAlertMetricByState := func(st AlertState) prometheus.GaugeFunc { + return prometheus.NewGaugeFunc( + prometheus.GaugeOpts{ + Name: "alertmanager_alerts", + Help: "How many alerts by state.", + ConstLabels: prometheus.Labels{"state": string(st)}, + }, + func() float64 { + return float64(m.Count(st)) + }, + ) + } + + alertsActive := newAlertMetricByState(AlertStateActive) + alertsSuppressed := newAlertMetricByState(AlertStateSuppressed) + + r.MustRegister(alertsActive) + r.MustRegister(alertsSuppressed) +} +// Count implements Marker. +func (m *memMarker) Count(states ...AlertState) int { m.mtx.RLock() defer m.mtx.RUnlock() if len(states) == 0 { - count = len(m.m) - } else { - for _, status := range m.m { - for _, state := range states { - if status.State == state { - count++ - } + return len(m.m) + } + + var count int + for _, status := range m.m { + for _, state := range states { + if status.State == state { + count++ } } } return count } -// SetSilenced sets the AlertStatus to suppressed and stores the associated silence IDs. -func (m *memMarker) SetSilenced(alert model.Fingerprint, ids ...string) { +// SetSilenced implements Marker. +func (m *memMarker) SetSilenced(alert model.Fingerprint, version int, ids ...string) { m.mtx.Lock() s, found := m.m[alert] @@ -97,6 +155,7 @@ func (m *memMarker) SetSilenced(alert model.Fingerprint, ids ...string) { s = &AlertStatus{} m.m[alert] = s } + s.silencesVersion = version // If there are any silence or alert IDs associated with the // fingerprint, it is suppressed. Otherwise, set it to @@ -113,7 +172,7 @@ func (m *memMarker) SetSilenced(alert model.Fingerprint, ids ...string) { m.mtx.Unlock() } -// SetInhibited sets the AlertStatus to suppressed and stores the associated alert IDs. +// SetInhibited implements Marker. func (m *memMarker) SetInhibited(alert model.Fingerprint, ids ...string) { m.mtx.Lock() @@ -138,6 +197,7 @@ func (m *memMarker) SetInhibited(alert model.Fingerprint, ids ...string) { m.mtx.Unlock() } +// SetActive implements Marker. func (m *memMarker) SetActive(alert model.Fingerprint) { m.mtx.Lock() defer m.mtx.Unlock() @@ -156,7 +216,7 @@ func (m *memMarker) SetActive(alert model.Fingerprint) { s.InhibitedBy = []string{} } -// Status returns the AlertStatus for the given Fingerprint. +// Status implements Marker. func (m *memMarker) Status(alert model.Fingerprint) AlertStatus { m.mtx.RLock() defer m.mtx.RUnlock() @@ -172,7 +232,7 @@ func (m *memMarker) Status(alert model.Fingerprint) AlertStatus { return *s } -// Delete deletes the given Fingerprint from the internal cache. +// Delete implements Marker. func (m *memMarker) Delete(alert model.Fingerprint) { m.mtx.Lock() defer m.mtx.Unlock() @@ -180,20 +240,17 @@ func (m *memMarker) Delete(alert model.Fingerprint) { delete(m.m, alert) } -// Unprocessed returns whether the alert for the given Fingerprint is in the -// Unprocessed state. +// Unprocessed implements Marker. func (m *memMarker) Unprocessed(alert model.Fingerprint) bool { return m.Status(alert).State == AlertStateUnprocessed } -// Active returns whether the alert for the given Fingerprint is in the Active -// state. +// Active implements Marker. func (m *memMarker) Active(alert model.Fingerprint) bool { return m.Status(alert).State == AlertStateActive } -// Inhibited returns whether the alert for the given Fingerprint is in the -// Inhibited state and any associated alert IDs. +// Inhibited implements Marker. func (m *memMarker) Inhibited(alert model.Fingerprint) ([]string, bool) { s := m.Status(alert) return s.InhibitedBy, @@ -201,10 +258,11 @@ func (m *memMarker) Inhibited(alert model.Fingerprint) ([]string, bool) { } // Silenced returns whether the alert for the given Fingerprint is in the -// Silenced state and any associated silence IDs. -func (m *memMarker) Silenced(alert model.Fingerprint) ([]string, bool) { +// Silenced state, any associated silence IDs, and the silences state version +// the result is based on. +func (m *memMarker) Silenced(alert model.Fingerprint) ([]string, int, bool) { s := m.Status(alert) - return s.SilencedBy, + return s.SilencedBy, s.silencesVersion, s.State == AlertStateSuppressed && len(s.SilencedBy) > 0 } @@ -295,9 +353,8 @@ func Alerts(alerts ...*Alert) model.Alerts { res := make(model.Alerts, 0, len(alerts)) for _, a := range alerts { v := a.Alert - // If the end timestamp was set as the expected value in case - // of a timeout but is not reached yet, do not expose it. - if a.Timeout && !a.Resolved() { + // If the end timestamp is not reached yet, do not expose it. + if !a.Resolved() { v.EndsAt = time.Time{} } res = append(res, &v) @@ -321,16 +378,24 @@ func (a *Alert) Merge(o *Alert) *Alert { res.StartsAt = a.StartsAt } - // A non-timeout resolved timestamp always rules. - // The latest explicit resolved timestamp wins. - if a.EndsAt.After(o.EndsAt) && !a.Timeout { - res.EndsAt = a.EndsAt + if o.Resolved() { + // The latest explicit resolved timestamp wins if both alerts are effectively resolved. + if a.Resolved() && a.EndsAt.After(o.EndsAt) { + res.EndsAt = a.EndsAt + } + } else { + // A non-timeout timestamp always rules if it is the latest. + if a.EndsAt.After(o.EndsAt) && !a.Timeout { + res.EndsAt = a.EndsAt + } } return &res } -// A Muter determines whether a given label set is muted. +// A Muter determines whether a given label set is muted. Implementers that +// maintain an underlying Marker are expected to update it during a call of +// Mutes. type Muter interface { Mutes(model.LabelSet) bool } @@ -368,10 +433,6 @@ type Silence struct { CreatedBy string `json:"createdBy"` Comment string `json:"comment,omitempty"` - // timeFunc provides the time against which to evaluate - // the silence. Used for test injection. - now func() time.Time - Status SilenceStatus `json:"status"` } @@ -381,18 +442,23 @@ func (s *Silence) Expired() bool { return s.StartsAt.Equal(s.EndsAt) } +// SilenceStatus stores the state of a silence. type SilenceStatus struct { State SilenceState `json:"state"` } +// SilenceState is used as part of SilenceStatus. type SilenceState string +// Possible values for SilenceState. const ( SilenceStateExpired SilenceState = "expired" SilenceStateActive SilenceState = "active" SilenceStatePending SilenceState = "pending" ) +// CalcSilenceState returns the SilenceState that a silence with the given start +// and end time would have right now. func CalcSilenceState(start, end time.Time) SilenceState { current := time.Now() if current.Before(start) { diff --git a/vendor/github.com/prometheus/alertmanager/ui/Dockerfile b/vendor/github.com/prometheus/alertmanager/ui/Dockerfile index 27663c1cbf5..2ca60e0a86f 100644 --- a/vendor/github.com/prometheus/alertmanager/ui/Dockerfile +++ b/vendor/github.com/prometheus/alertmanager/ui/Dockerfile @@ -1,3 +1,7 @@ FROM node:6.10 -RUN npm install -g elm@0.18.0 elm-format@0.6.1-alpha elm-test@0.18.3 uglify-js@3.0.15 +RUN npm install -g \ + elm@0.19.0 \ + elm-format@0.8.0 \ + elm-test@0.19.0-beta5 \ + uglify-js@3.4.7 diff --git a/vendor/github.com/prometheus/alertmanager/ui/bindata.go b/vendor/github.com/prometheus/alertmanager/ui/bindata.go deleted file mode 100644 index 48d912578ac..00000000000 --- a/vendor/github.com/prometheus/alertmanager/ui/bindata.go +++ /dev/null @@ -1,527 +0,0 @@ -// Code generated by go-bindata. -// sources: -// ui/app/script.js -// ui/app/index.html -// ui/app/favicon.ico -// ui/app/lib/bootstrap-4.0.0-alpha.6-dist/css/bootstrap.min.css -// ui/app/lib/bootstrap-4.0.0-alpha.6-dist/css/bootstrap.min.css.map -// ui/app/lib/font-awesome-4.7.0/css/font-awesome.css -// ui/app/lib/font-awesome-4.7.0/css/font-awesome.min.css -// ui/app/lib/font-awesome-4.7.0/fonts/FontAwesome.otf -// ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.eot -// ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.svg -// ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf -// ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff -// ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 -// DO NOT EDIT! - -package ui - -import ( - "bytes" - "compress/gzip" - "fmt" - "io" - "io/ioutil" - "os" - "path/filepath" - "strings" - "time" -) - -func bindataRead(data []byte, name string) ([]byte, error) { - gz, err := gzip.NewReader(bytes.NewBuffer(data)) - if err != nil { - return nil, fmt.Errorf("Read %q: %v", name, err) - } - - var buf bytes.Buffer - _, err = io.Copy(&buf, gz) - clErr := gz.Close() - - if err != nil { - return nil, fmt.Errorf("Read %q: %v", name, err) - } - if clErr != nil { - return nil, err - } - - return buf.Bytes(), nil -} - -type asset struct { - bytes []byte - info os.FileInfo -} - -type bindataFileInfo struct { - name string - size int64 - mode os.FileMode - modTime time.Time -} - -func (fi bindataFileInfo) Name() string { - return fi.name -} -func (fi bindataFileInfo) Size() int64 { - return fi.size -} -func (fi bindataFileInfo) Mode() os.FileMode { - return fi.mode -} -func (fi bindataFileInfo) ModTime() time.Time { - return fi.modTime -} -func (fi bindataFileInfo) IsDir() bool { - return false -} -func (fi bindataFileInfo) Sys() interface{} { - return nil -} - -var _uiAppScriptJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x7d\x77\xdb\x36\xb2\x38\x8e\xbf\x15\x9a\xbf\x5e\x15\x58\x8d\x15\x29\x49\x77\xef\xa5\x8c\xf8\xe4\xb1\x4d\x9b\x38\x69\x92\x36\xbb\xab\xf8\x2a\x34\x05\x49\xac\x29\x40\x01\x41\x39\x8e\xad\xf7\xfe\x3b\x78\x24\x48\x51\x76\xda\xed\xd9\xbb\x9f\x73\xbe\xfe\xc3\x22\x41\x3c\xcc\x0c\x06\x83\x01\x30\x33\x40\xf3\x8a\x65\x32\xe7\x0c\xe1\xab\xb8\x2a\x69\x54\x4a\x91\x67\x32\x1e\xbb\xf4\x48\x22\x89\xaf\xfc\x9b\x40\x02\x5f\x09\x2a\x2b\xc1\x22\x5f\x94\xfa\x24\x89\x04\x50\xbc\xdd\xda\x57\x31\x48\x45\x2e\x2f\xc9\x5d\x10\x03\x95\x9b\x48\x10\xdb\xa0\xae\xdf\x51\xb3\x4f\x62\xcd\xc6\x80\xe1\xed\x4e\x7b\xf7\x3a\xdb\xa3\xff\x62\x7b\x3e\x89\xb7\x41\x00\xae\x80\x68\x43\x71\xbf\x13\x0a\xf6\xe7\x43\xe1\x93\xb2\x5d\xc0\x20\xd3\xa0\xb5\x61\xfb\xae\x13\x36\xfe\x6f\x81\xcd\x27\x55\x5d\xe0\x42\x65\x00\x6e\x43\xfc\xd7\x4e\x88\xb3\xff\x2b\x88\x7d\xd2\xb4\x1b\x09\x98\x5a\x34\xda\x78\xfc\xad\x13\x8f\xea\x3f\x08\x0f\x9f\x94\xef\x43\x0d\x72\x87\x5c\x1b\xbb\xff\xee\xc4\x6e\xfa\x9f\x8d\x9d\x4f\x4a\xf7\x23\x0c\xa9\x47\xb9\x8d\xf3\xff\x74\xe2\x9c\x23\x09\x4a\x18\xba\x1a\xef\x12\x42\xa4\x29\x71\x2c\x75\x7e\x2d\x2b\x13\x89\x04\x46\x14\xd7\x05\x53\x53\x10\x6a\xf4\xef\x75\x16\x05\xe6\x0b\x23\x16\x94\x2f\x5d\x79\xa8\xa9\x75\x7f\x4f\x0d\xc0\xc3\x3a\x10\x0f\xaa\x99\xd7\xd5\x40\x4d\xe3\xef\xf6\x56\x04\x59\xab\x2a\x94\x05\xb5\x15\x61\x6d\x50\x77\xd0\x5f\x6f\xa8\x0f\xaa\xdd\x1a\x51\x15\x54\x3a\x6b\x56\x0a\x75\x27\xff\xed\xc6\x6a\x61\xda\x59\x31\x9a\x06\x75\xaf\xdb\x75\x43\xcd\x2f\xff\x7d\x4b\xed\x90\xef\xab\x1f\xe5\x78\xbb\x49\x45\xb4\x24\xc1\xbc\x1b\x4e\x50\x20\xf0\x55\x3e\x47\xf2\x68\x78\x7d\x2d\x1f\x90\xe7\x48\x60\x2c\x97\x82\x5f\x44\x8c\x5e\x44\x4f\x85\xe0\x02\xc5\xcf\xd9\x8c\x7e\x8e\xe2\xbe\xec\xc7\x51\x5e\x46\xbc\x92\x11\x9f\x47\x22\x65\x0b\x3a\x88\x1e\x2f\x69\x76\x1e\xc9\x25\x8d\x0a\xca\x16\x72\xa9\x3e\x5d\xf2\x4a\x44\xa9\x10\xe9\x65\x34\xcf\x45\x29\x23\x2e\x22\x35\xd9\x2f\xa8\x7c\x99\x5e\x9e\x51\xf5\xbe\xa0\xf2\x7d\x2e\x97\x4f\xe8\x3c\xad\x0a\x39\x88\xf1\xd8\x62\xcb\x34\x54\x8d\x09\x4c\x41\x39\xe7\x02\x29\x54\x28\x11\x83\x25\xcd\x17\x4b\x39\xa6\x0f\x86\x63\x7a\x78\x58\x7f\x63\x44\x3e\x78\xf0\xdd\x5f\xe8\x58\x0c\x0c\x30\xe5\x84\x9d\x1e\x11\x39\xc6\xac\xdf\x1f\xb3\x07\xc3\x5e\x0f\xc9\x43\x12\x7c\x3d\x1c\x9d\x62\x10\x44\x0c\x64\x7a\x56\xd0\x09\x3b\xad\x07\x9b\x49\x91\xa7\x8d\xe9\xaa\x31\xc4\x34\xd5\x9e\x23\x8a\x8f\x88\x3c\xa6\x49\x66\x3f\x37\x66\x0b\x53\x20\x9f\xa3\x21\x21\x04\x51\xf2\x02\x51\x8c\x2d\x02\x98\xfa\x46\x88\x18\xd3\xa2\xa4\x57\x06\x8b\x57\x48\x02\xc5\x35\xc0\xb4\x05\x30\xf5\xe0\x12\xdb\x84\x4f\xc0\x0e\x01\xda\x10\xf6\x20\x02\xa8\xc9\xf0\xf8\xe7\x64\x8a\x04\xbc\x4c\xe5\x72\x30\x2f\x38\x17\x48\x3f\x16\x7c\x81\x24\xbe\xe3\x9f\xbf\x60\x0c\x43\x90\xb8\x21\x59\x9d\xb0\xb0\x38\x05\x5d\xc3\x89\x62\x9a\x87\xaa\xdf\x11\x62\x87\x14\xff\x17\xfa\xd2\x1f\x61\x0c\x19\x19\x8e\xb3\x23\x6e\xb1\x18\x67\xfd\x3e\xe6\x93\xec\x94\x48\x44\xfb\x99\xeb\xf8\xab\x4c\x72\x91\xc4\x53\x5d\x3e\x06\x43\xa2\x64\x08\x1a\xb3\x84\x6f\xb7\xae\x99\x8a\x68\x00\xd7\xfc\x02\x7d\x01\x81\x21\x6c\x56\x7f\xc9\x68\x5e\x18\x00\xee\x54\x18\x43\x1e\x7c\x77\x30\xec\x87\x49\x63\x78\x38\x02\xda\xcf\xfe\x52\x19\x0a\xad\x72\x86\x68\x1f\x65\xfd\x11\xfe\x4b\x05\x4c\x55\xa9\x72\x3e\x47\xaa\x00\xee\xa3\xec\xc1\xf0\x38\x9f\x64\x87\xa3\xd3\x64\x78\x33\x36\xc2\x61\x03\xb6\x43\x93\x7c\xdb\x90\xc4\x9a\xac\xf1\xe4\x34\xd6\x43\x5e\xd5\x81\x6d\xb7\xfd\x3c\x76\xf8\x8b\x00\x9f\x2f\x18\x28\x99\x9c\x02\x23\xc3\xb1\x2a\x76\xe0\x8a\x8d\xb1\x50\xec\x21\x07\xd3\x21\x48\xf5\x33\x82\x7e\x9f\x11\x42\xbe\xf4\x7a\xa8\x44\x9c\xdc\x4c\x6e\xb1\x05\xaa\x06\x46\xa3\x25\x46\x86\x78\x9c\xcf\x11\x7b\x30\xc4\x57\xa6\xc3\x6f\xa9\x65\x50\xae\x8b\x3c\xa3\x68\xa8\xd4\xe6\x71\x89\xb8\x1e\x1e\x16\x0f\xd3\x03\x8e\xb7\x0f\x47\xba\x0f\xe8\x24\x3b\x35\xcc\x6c\xd3\xd5\x18\x28\x91\x4a\x56\x43\xc2\xf4\x3f\x9d\xd4\xa5\x4e\x9d\xdc\xa8\xec\xa8\x52\x05\x46\x84\x90\xaa\x51\xcd\xb1\x7d\x9d\x0c\x4f\x93\xaa\x35\x79\x19\x64\x28\x91\x4e\xb0\xe4\x73\xe4\x64\x04\x21\x84\x62\x3b\x2c\xbb\x91\xa5\xfd\x91\x45\x77\x72\xea\xbb\x75\x72\xba\x1d\x8b\xc1\xba\x2a\x97\x6a\xae\x14\x13\xea\x90\xd2\x49\xd2\x20\xc2\xc9\x73\xf5\xa8\xbf\xda\x82\x01\xd2\x88\xf7\x49\xf8\x69\xd2\x91\xcf\x88\xaf\x30\x5d\xd7\xcf\x6d\x62\x48\x00\xdf\xf5\xea\x8b\x1a\x36\xea\xf7\x77\xa2\xd4\x9e\xae\x1d\xe1\xf4\x6c\x5b\x0b\xf0\xaa\x28\x0e\x08\xa1\xc7\x34\xf9\x05\x09\x78\xad\x3e\x3a\x89\xd7\x9e\xa2\x6b\x31\xe2\x72\x34\xe5\xaf\x05\xfe\xe8\xcb\x31\xba\x9d\x67\x6d\x91\x52\xb3\x1c\xde\xe2\x26\xc9\x95\xee\xa1\x40\x1b\xd7\x30\x7f\x52\xd3\x9d\xe6\x68\x0b\xb2\x6d\x1d\x71\xf2\x42\x7d\xb2\x2c\xc3\x1b\xb0\x1c\x8e\x4e\x09\x05\xee\xbb\x85\xef\xf6\x49\xbf\x0f\xdc\x30\x51\x13\x09\xc7\x48\x21\x49\x0e\x47\x4a\x82\xa9\xe6\x1c\xfd\x78\x08\x37\xc3\x75\x53\xb6\x73\x6f\x6c\xf9\x39\x52\xf2\x89\x6f\x83\xbe\x68\x28\x30\x7e\x1a\x58\xa3\x1f\x07\x27\x79\xd1\x90\xee\xeb\xdd\xa9\xb6\x89\xf9\x98\x3e\x20\x66\xce\x95\x24\xec\xb5\xe3\x1f\x07\x8f\x39\x2b\x1d\xc2\x8a\xc3\x24\x4e\x74\x75\x3e\xc5\xe3\x27\xeb\x06\x97\x21\x17\xed\x11\x99\xb6\x09\xdb\xc9\xb5\x40\x6a\xc2\x86\xd5\x78\xab\x05\x00\xf2\x53\x66\x3d\xdb\xe3\x71\xad\x27\x0c\xc7\xec\xa8\x59\xc1\x98\x29\xe9\x53\x4f\xac\x0d\xf4\x24\xaa\x35\x04\x9c\x2c\x03\xbc\x58\x8d\x57\x30\xe3\x6e\x1a\x33\xee\x4a\x4f\x9a\xc3\x80\xd0\x2b\xa7\x18\xdc\x24\x58\xfe\x20\xe6\xec\x26\xcc\x39\x19\x8e\x79\x1b\x73\xde\xef\x63\xe6\x78\xbd\x85\xb9\x5a\x56\xd0\x3e\xf7\xf8\xf2\x53\x9c\xac\x02\xfc\xf9\x29\x0c\x09\xe1\xc7\x34\xa1\xfd\x5a\xaf\xe2\x4a\x30\x79\x79\x50\xe3\xbd\x68\x29\x44\xd4\x8d\x7a\x05\x9f\xe9\x15\xba\xdb\x2b\x82\x68\x28\x3c\xc5\x95\xac\x51\xda\x52\xd4\xec\xcf\xce\x92\x8b\xb6\x7e\xe4\xa0\x0a\x96\x4e\x67\x37\x43\xd5\xae\xf7\xf0\x70\xfc\x35\x20\x75\x17\x3b\xfb\x0a\x78\x2e\x77\xf5\x4c\xa5\x07\xf6\x89\xd2\x35\x31\x08\xfd\x2a\xdc\xeb\x05\x92\xf0\x4e\xaf\xed\x02\x06\x7b\x57\xab\xf6\x84\x18\xb5\xde\xb5\x33\xee\x96\xb8\xfb\xc5\xab\x13\xa4\xa4\x29\x60\x95\x62\x08\xdc\x4a\xd3\x57\xba\x3d\x60\xe4\x1d\x92\x87\x88\x3e\x18\x1e\xd7\xcc\x40\x8d\x62\xd4\x10\x05\x8e\xd2\x0e\x2a\x36\xbe\x49\x9f\x68\x8d\x84\x36\x1c\x14\xfb\x49\xca\xb7\x1a\x7c\xdc\x7a\x46\xdc\x51\x2c\x10\xf7\x30\x11\x16\xc8\x74\xaa\xb4\x3b\x86\xfb\x1a\x13\xde\xc6\x44\xc9\x57\x4f\xe9\x8b\xc6\x34\x26\xff\x74\x32\xfb\xa1\x66\xa1\xe8\x8f\x3a\xa8\x7e\xf1\xd5\x54\xa7\x1a\xa4\xa6\x54\xff\x13\x3a\x81\x76\x40\xe9\xfa\x64\x9f\xe0\x3a\x54\x5d\xc3\xbd\x5a\x46\xd8\x38\xd0\x0c\xa1\x22\xc3\x71\x75\xd4\x9c\x7a\xc7\x55\xbf\x8f\x33\xc5\xf8\xae\x58\x75\x1a\xcc\x8f\x93\xea\x94\x64\x7e\x16\xad\xbb\xe8\xbc\xd9\x45\x4d\xe9\xb9\xdb\x5f\x5d\x9f\xa5\xa5\xf8\x5b\xa3\xe9\x28\x42\x4e\x86\x4d\x05\xab\x4f\x27\xa3\x66\xca\x11\xf9\x52\xcb\x94\x76\x76\x57\xb3\x2a\xe5\x87\x43\xbb\x86\x3a\xd3\xf0\xb4\xd9\x68\x58\x61\xc6\x59\x96\x4a\x54\x97\xc6\xa0\xbf\xba\x49\x21\x5c\x20\x3f\xd7\x75\x28\x95\x43\x4d\x04\xba\x48\x53\x89\xd0\xb3\x41\x98\x3e\xe1\xa7\x7d\xc2\xc6\xba\x46\x37\xb3\x84\x2f\x8d\xe6\xdd\x84\xb3\x0d\x00\xdf\x3a\xc0\x6b\x78\x4c\x27\x3f\x34\xc4\xcc\x1e\x7c\xaf\x26\x6c\xf2\x58\xe7\x02\x55\x0f\x64\xd8\x57\xf1\x4b\x9d\x1c\x08\xb8\xb7\xad\x3e\x35\x75\xf7\x7a\x1d\x43\x6e\x22\x41\x68\xea\x8d\x0e\xea\x9c\xd7\xd7\xea\xcd\xe7\x54\x82\xd2\x3e\x87\x15\x48\xf2\x42\x69\x8e\x42\xeb\x67\xf0\x19\x49\x40\x8a\x07\x3e\xa9\xc4\x67\x4a\xa8\x62\x05\x15\x3c\x52\xe2\x57\x91\xd5\xcc\x01\x41\x65\x0f\x7c\x55\x9f\x91\xad\xac\xae\x41\x60\xac\xfb\x42\x90\x27\x9a\x7a\x1a\x47\x9b\xbf\x3f\xc2\xf5\x8e\x80\xe1\xbb\x67\xc8\xc0\x81\xf5\x4a\xac\x8b\xa7\x8e\x87\xc9\x48\xf5\x2c\x21\x84\x1d\x8f\x92\xe1\xd8\x00\xc6\x4e\x31\x48\xdd\x06\x57\x6d\xf0\xa0\x8d\x6d\xe7\xa0\xb8\xbe\xde\x3b\x12\x0c\x31\x1b\xfd\x67\xfb\x29\x3b\x22\xdf\x1f\xeb\xcf\xc9\x63\x3d\x81\x85\xfb\x71\x9f\x9b\xeb\xac\x96\x56\x29\x6b\x29\x2c\x40\x36\xa5\xb0\xc0\x8d\x94\x3e\x51\x62\x4e\xb6\xc4\x5c\xdd\xd0\x23\xcf\x17\xa2\x25\xed\xf1\x95\xac\x65\x4d\xd8\xcc\xd0\x34\x33\xae\xd5\xde\xe7\xa8\xce\xaa\x88\x3d\x1a\xb3\x23\xd9\x1e\x27\x5a\x5f\xec\x07\x79\x35\x99\x83\x8d\x27\x42\xb7\xba\x07\x1d\xba\xe5\x32\x9f\x4b\x64\xda\xb9\xa1\xce\x46\x15\xe1\xcb\x61\x08\xf2\xb8\x2e\x6b\xeb\x0d\x36\x12\x1e\xb6\xf5\xf8\x21\x18\x15\x49\x76\xa8\xbc\x7d\x52\x23\xd0\xfc\x5c\x2b\x65\x5d\xaa\x72\x3f\xd8\x35\x6b\x7e\x76\x32\xb3\x29\x1e\x5b\xc2\x1f\x05\x9b\x4f\x88\x1e\x8e\xf0\x9d\x2f\x58\x31\xa4\x47\xe2\xa4\xa5\x05\x51\x4f\xae\x63\x39\xa1\xa7\x89\x98\x50\x4f\x91\x60\x93\xee\x4d\xbd\x43\xd5\x2a\x41\x58\xb3\x0c\x09\x14\xd3\xa7\x75\xa9\x37\xae\x43\xdd\x94\xa6\x93\xed\xd4\xa8\x87\xdd\xf5\x35\xd5\x43\xa6\xd9\x79\xc7\xc3\xe4\x04\xf9\xc4\x9a\x13\x40\x21\x37\x7e\x13\x7c\x12\xf5\x27\xe0\x66\xc5\x56\x43\xf2\xd2\x2e\x1d\x8c\x92\x47\x86\x78\x7c\xd3\xea\xa8\x63\x71\x50\xeb\x3b\xed\x95\x50\x98\x09\x43\xb0\x5c\x79\xec\x48\x5d\xcf\x13\x2f\xbd\x08\xab\xf7\xc0\xbe\xc0\xcd\x5d\xaa\xb4\x51\x1e\x96\x64\xad\x2e\xbf\xbd\x78\x46\x86\xe3\x93\x9d\x0e\xc8\x70\x23\xe7\x7f\x7d\x21\x64\x38\xc6\x6f\x90\xad\x1f\xb8\xcb\x07\x5d\x65\x31\xbc\xa9\x17\x45\xb5\xb6\x60\x73\xef\x76\x8a\x2a\x91\xf5\xfb\xe3\x7a\xbf\x31\x83\xa9\x26\x5e\x8d\xda\xe1\x08\x86\x18\x72\x32\x1c\x67\x87\xd5\x21\x9a\xb6\x64\x8d\x12\xbe\xf8\x88\x8e\x8d\xc4\x4b\x49\x17\x58\x50\x92\x9a\xb2\x87\xcd\x1a\x20\x6d\xca\x5e\x35\x7b\xd9\x1c\x64\xda\x9c\xf5\xd3\x86\x1e\x96\x43\x89\x31\x4c\xeb\xa9\xd6\x21\x31\x27\xd3\x16\xbf\x42\x41\xe6\xe3\xe2\x68\xde\x2f\x0f\xf3\x71\xd1\xef\x63\x9f\x61\x52\x28\x89\x68\xdb\x99\x14\xa7\xaa\xc2\xfa\x53\x9f\x14\x0f\x86\xc7\x41\x8a\x96\xc0\xe3\xbc\x4f\xca\x16\xd8\x47\xa4\xec\xf5\x50\xd6\xef\x2b\x42\xa9\x4a\x3a\xf6\xa3\x9e\x22\x06\x5c\x1f\x91\xc0\x94\xb4\xe9\xab\xd4\x3d\xbd\x5d\xd8\xa6\x6f\xb3\xa0\xca\x36\xce\x8e\x6e\xe4\xae\x31\x76\x05\xba\x59\x44\x41\x59\xf5\xfb\x76\xe8\x4c\x18\xf0\x40\xa6\x7c\x0a\xf6\x4d\x9c\xb0\x6c\x4f\x62\x41\xf6\x67\x1d\xd9\x87\xc1\x77\xa5\x06\x5c\x99\x9d\xdc\x3d\xa3\xba\xa9\x6a\xcb\xd6\xc6\x56\x2d\x60\x83\x65\xbf\xe7\xdf\x40\x30\xd9\x02\x38\x3c\x27\x7c\x1e\x00\x17\xaa\x4e\xc7\x4d\x84\x92\x7a\xb2\x69\x0b\xba\x06\xae\xaf\xda\x53\x8d\x3e\x81\xf1\x47\x34\xc1\x7a\xc4\x1c\xc4\x50\x4f\xe3\x70\xbf\xe4\x75\x63\xbf\x44\x2b\x1f\xc7\x37\x6f\xf6\x4d\xe4\xe9\x36\xb9\x79\x93\x7d\xf2\xda\x6c\xe5\xe3\x60\x0f\x73\x74\x1a\x4c\x93\x4f\x1a\xad\x8a\x06\x31\x6e\xab\xfb\xc9\x6e\xdd\x8a\xb2\x61\xf5\xbf\x84\xd5\xdf\xdc\xd1\xf5\x7e\xab\xd2\x9f\x9a\x55\x82\xfa\xd7\x57\x1a\x4a\x58\xf9\xaf\x35\x0f\xd5\x62\x5d\xe5\xf4\xfa\xd8\x7b\x24\xf4\xe1\x4d\xd8\xf9\xef\x77\x05\xfd\x9e\x9d\x93\x70\x1f\xe4\x58\x4e\x44\x5f\xe9\x33\x7e\xbe\x4f\x74\x45\x7d\x64\x34\xcd\x61\xb2\xff\x80\x2a\x98\xd9\x7e\xd8\xe1\x3c\x3b\x71\xfe\x9c\xfc\x86\x64\xf7\x61\x94\x13\x80\x3b\x67\x52\x7e\xf3\xcb\x57\xff\x5b\xc7\xd1\xd4\xd7\x9c\x2c\x49\xbf\x84\x65\x78\x1b\x6c\x94\x35\x0f\x99\xb2\x1b\x0e\x99\x38\xc6\x50\x05\xdf\x33\x07\x1c\x4c\xc9\x70\x3c\x3d\x72\xef\xe3\xa9\x5a\xbe\x4e\xa6\xa7\xe4\x37\x7f\xc8\x34\xfd\x0b\x6f\x1c\x32\x4d\xfb\x23\xfc\x17\xae\x0f\x99\x2a\x95\xf3\x39\x52\x05\x70\x1f\x4d\x1f\x0c\x8f\xab\xc9\xf4\x77\x1c\x32\x65\x9e\x8f\xaa\xad\x3e\x05\xfe\x42\xee\xdd\x85\xef\xc9\x5d\xf8\xf9\x96\x9d\x74\x7d\x7a\x61\x5a\xa0\xab\xb5\xbc\x4c\x7e\x86\xb9\xe0\xab\x17\x79\x29\x93\x14\x24\xd7\x0f\x33\xc8\x59\x2e\xf3\xb4\xc8\xbf\xd0\x44\xa2\x0a\x43\xba\x5e\x53\x36\x4b\x24\x3a\xc7\xb0\xae\xca\x65\x22\xd1\x1c\x83\xa6\x6e\x22\xd0\x25\x86\x05\x95\x89\x44\x14\x43\x49\x65\x22\x10\xc7\xb0\x4a\xd7\x89\x44\x4b\x0c\x39\x9b\xd1\xcf\x74\xf6\x52\xbf\x6f\x30\xcc\x79\x31\x2b\x12\x81\x16\xe6\x51\x24\x02\x9d\xb9\x2d\x85\xe4\x39\x48\xfe\xe3\x5b\x0d\x7b\xf2\xab\x06\xcd\xbd\xfd\xb0\xdd\x22\x0c\x9b\x9b\x8e\xbb\x9d\xf0\xbc\x23\xae\x87\x3b\xa7\xcc\xee\xe3\x7f\x89\xd6\xb1\x6f\xc0\x54\x3b\xe7\xe3\x8f\x53\xc6\xb8\x8c\xd6\x54\xcc\xb9\x58\x45\x2b\x3e\x8b\x86\x83\xe8\x49\xbe\xc9\x4b\xbd\xbd\x78\x19\x7d\xa1\x82\x47\x54\xe5\x1e\xc4\x4e\xa1\x93\xff\x25\xec\x3a\x4e\x1e\x0f\x13\xa1\x56\x35\x0f\xc8\xd0\x6c\xa4\x26\x87\x1c\x1d\x4a\x38\x0c\x0e\x55\xb4\x4c\x1c\x26\xac\x75\xba\xec\x41\xf6\x03\x44\x04\x83\x25\xdc\xdc\xaf\xea\xe1\x77\x28\x5b\xb6\x32\xf5\x46\xe3\xf1\xa1\x4c\x64\xcb\xaa\xa4\xde\xc8\x1e\x64\x2b\x73\x46\x70\x34\x3c\x96\x89\x68\x19\x91\x74\xe4\x7b\xd0\xca\x57\xb6\x94\x7a\x93\x93\x82\x34\x35\xba\x57\x5d\x50\x24\x74\xe7\xbc\x29\xe4\xfb\x77\x93\xba\x9d\x7e\x43\xb0\x17\xcd\xce\x54\x0b\xfd\xce\x43\x90\x03\xd9\x38\xfb\xa8\x4b\x10\x42\x46\x77\x86\xd7\xd7\xea\xe1\x70\x74\x67\xd8\x38\xb1\xa8\x85\xd8\xb5\x6c\x6c\xf9\xd7\xe5\xff\xa2\x7b\xe0\xf5\xf3\x3b\xa3\xff\x1e\x36\x76\xbf\x6b\xf3\x1c\x97\xe5\x2f\xb2\xb1\x11\xed\x84\xba\x3e\xb8\xa5\xfa\xe0\x76\xec\x69\xf5\xae\x5a\x17\xf4\x2e\x12\xa6\x6c\xc6\x4b\x35\x96\xec\x5b\xa9\xe4\x47\xb8\x90\xb8\xfc\xba\xca\x4c\xe1\x4f\x42\x22\xf1\x17\xd1\xa7\x7f\xa1\xd8\xc8\xa3\x54\xa6\xec\xae\xee\x0a\x63\x42\xf2\x8e\x4c\xe2\x17\xef\x62\x88\x9f\xfe\x1c\x43\xfc\xfd\xbb\xd8\x1d\xbc\x5e\xcd\xf2\x8d\x19\xd5\x82\xae\x12\x89\x18\x86\x15\x57\x52\x80\x63\x58\xe7\x89\x45\x13\xa8\x79\x7a\x0a\x19\x2f\x13\x07\x3f\x94\x39\x4b\x1c\xf8\x20\x53\xfb\x22\x53\x06\xa9\xcf\xa7\x9e\x20\xf5\x39\xd5\x13\xa4\x3e\x6f\xaa\x33\x2b\x60\x13\x89\x6a\xc8\x31\xcc\xe8\x42\x50\x5a\x26\x1b\x50\x50\x96\xc9\x42\x0b\x8a\xd7\xbc\x48\x45\x72\x06\x92\x9b\xa7\x4b\x50\xb8\x27\x9e\x0a\x50\xf0\xc5\xa3\xb4\x54\x12\x2d\xc3\xc0\xe8\x22\x95\x34\xa9\x20\x3d\x2b\x93\x29\xac\x72\x96\x48\x94\x2b\xb1\xf5\x39\x91\x28\xc5\x90\x15\xe9\x6a\x9d\x08\x54\x62\xc8\xf8\x6a\x9d\x0a\x6a\x84\xde\x67\x2e\x12\x89\x0a\x0c\x8c\x2b\x49\x29\x45\xa5\x94\x75\x9a\x2c\x41\xcd\x1b\x39\x5b\x24\x7e\x12\x01\x3d\xe7\x25\xf5\xf4\x07\x82\x57\x6c\x66\x12\xf4\x23\x48\xfe\xac\xe0\xa9\x4c\xbc\x54\x0b\x58\x6d\x0b\x79\x79\x92\x9e\x24\xfa\x3f\xe4\xe5\x73\x36\x57\x72\x99\x26\x6b\x2d\x0a\x57\x9d\xa2\x50\x34\xb5\x36\x06\x9c\x4c\x4e\x21\x23\xd4\x9c\x54\x01\xc7\xe3\xac\xd7\x43\x8c\xf0\xc1\x9a\xaf\x11\xc6\x63\xac\x3e\xb2\xc1\x67\x60\x83\x4b\x93\xc1\x6d\xfb\x6c\x9b\x02\xd6\xd8\x81\x69\x2b\x81\xd1\x70\x88\xfd\x99\xa6\x3e\xbb\xbc\xfa\x9c\x48\xb8\x4c\xc4\x16\xc3\xc1\x70\x6c\x4f\x27\xdc\x34\x6d\x52\x62\x7e\xf6\x1b\xcd\x64\x7c\x40\xe4\xe5\x9a\xf2\x79\x64\x6d\x22\x5c\x2b\x31\xa9\x3f\xb4\x25\xf1\xb7\xef\xc4\x65\xce\x16\x91\xe4\xda\xdc\xe8\x23\x22\x04\x7f\x8c\x78\x6d\x71\x57\x0e\xa2\x77\x4b\x2a\x68\x94\x97\x11\xe3\xd1\x45\x7a\xa9\xf2\x9e\x33\x7e\x11\xe5\xf3\x3a\x57\x94\x0a\x1a\xc5\x72\x49\xa3\x32\x5d\xd1\x38\xca\x99\x36\x70\x7a\x5a\xac\xa2\x92\xb2\x92\x0e\xa2\x37\x34\x9d\x45\x2b\x2e\x68\x94\x9e\xf1\x4a\x46\x72\x99\x97\x51\x2a\xa3\xa5\x94\xeb\xe4\xce\x9d\x75\x9a\x9d\xa7\x0b\x3a\xa0\xc5\xea\xb0\x48\xd9\x62\xc0\xc5\xc2\x25\x96\x77\x5c\xea\x9d\x8c\x0b\x7a\xa7\x48\x25\x2d\xe5\x9d\x47\x69\x99\x67\xe5\xff\x8f\x90\xe8\x62\x99\x67\xcb\x68\x46\xcb\x4c\xe4\x67\xb4\x8c\x2e\x96\x97\x51\x2e\x15\xc8\xba\x15\x05\x74\xca\x66\xd1\xc5\x32\x95\x1a\xac\x33\x2a\x25\x15\xd1\x86\x0a\x3d\xdd\x5c\xe4\x45\x11\x15\x9c\x9f\x47\x45\x7e\x4e\x07\xdf\xba\x9e\x3a\x18\x6d\xed\x49\xb7\x9a\x72\xae\xaf\xed\x93\xa7\xfe\x48\xf7\x47\x94\xb3\x52\xa6\x2c\x53\x04\x7e\x92\x4a\x7f\x40\x23\x07\x0b\x2a\xdf\xe5\x2b\x8a\xb0\xde\x1a\xf4\x6f\xaa\xd4\x01\x8a\x95\x44\x8e\x15\x9d\x70\xcd\x56\x99\x26\x1c\x56\x19\x28\x92\x93\xec\x14\x84\xfa\xc7\xfa\x23\xe0\xb8\x6e\xd6\xf5\xbe\x02\x2f\x7e\xf3\xe8\x84\xcf\xe8\x94\x16\xab\xe9\x59\x95\x17\x32\x67\xb5\x4d\x4b\xaf\x17\xbf\x79\xf4\x54\x29\x24\xdd\xdf\xaf\xaf\x91\x24\x2f\x84\xdd\xb1\x15\x7a\x97\x23\x7e\x4b\x65\x23\x37\xa9\x6b\x53\xb9\x99\xcd\xcd\x4c\xee\x24\x09\x2c\x6f\xae\xea\x1d\x00\x09\x53\x22\xc6\xf6\x73\xe5\xa0\x31\xaf\x53\x6b\x70\x73\x65\x10\xad\x94\xb0\x9d\xaa\x7f\x6d\x44\x2b\x52\x0d\xa6\x23\x98\x92\xe9\x60\x3a\xda\x7a\xb3\x15\x55\xda\x57\xa3\x89\x60\xd5\xb2\x00\x12\x05\x45\x4e\x96\x03\xaf\xf7\x28\xb0\xd3\x46\x82\x39\x96\xc8\xad\xae\x79\x40\x48\xda\xdc\xb9\x3d\x18\x79\xe5\xb6\x24\xc3\x71\x79\xe4\xb2\x8e\xcb\x7e\xdf\x76\x52\x3e\x29\x4f\x21\x55\xff\x6e\xea\x24\xd5\x9b\x1a\x2e\x10\xe6\xa7\x9d\xf9\x8f\x32\x40\x5b\x1b\xeb\x16\x07\xc1\x24\x2d\x8e\x57\x89\x3c\x12\xc7\x9b\x64\xb1\xc3\xbd\x6f\xa5\xc8\xd9\xa2\xde\x73\xde\xa4\x45\x45\x5f\xcd\x11\x06\x4e\x44\xfd\xe6\x57\xa3\x84\x10\x7e\xbc\x4a\xe8\x11\x57\xd5\xe9\x7e\x08\xb9\xe1\xfa\xba\x69\x96\xa5\x99\x63\xdc\xc8\xe2\x39\x42\x04\x1c\x81\x32\xc2\x90\x9e\x80\xc5\x60\x3a\xc4\xf8\x80\x90\x95\x43\x21\x1b\x5b\xd3\x2c\x41\x44\xc0\x12\xd2\xb1\x84\xa9\xe7\x78\x95\x34\x9a\xf6\xe0\x4d\xf5\x14\x5e\x7f\xf0\x67\x9e\x7f\xc5\xf6\x88\x05\xaa\xe6\xa7\xbf\xe2\xc3\xa1\x3b\x6c\xaa\x1c\x14\x2b\x95\x52\x3d\x20\xa3\xaf\x80\xd7\xe4\xbc\xdb\xc8\x39\x52\x39\x47\xdd\x39\xef\x35\x72\xde\x55\x39\xef\x76\xe7\xbc\xdf\xc8\x79\x4f\xe5\xbc\xd7\x9d\xf3\xbb\x46\xce\xfb\x2a\xe7\xfd\xee\x9c\x7f\x6d\xe4\xfc\x4e\xe5\xfc\xae\x3b\xe7\xdf\x3a\xb4\x7a\x3d\x9f\xe7\xa5\x9a\xd8\x54\x4a\x12\x65\x46\xcf\xb7\x13\x7d\x24\x15\xf5\xcb\xe8\x22\x97\x4b\x33\x15\xc8\x65\xca\xa2\xbf\x46\xb4\xa0\x2b\xca\x64\x39\x88\x9b\x9e\x05\xab\xed\xd7\xb4\x51\xa7\xe4\x65\xc4\x59\x71\x19\xcd\xe8\x3c\x67\x74\xa6\xe6\xb1\x9c\xc9\x12\xa2\xb9\x52\x06\x4a\x88\x64\xbe\xa2\x25\x44\xd9\x32\x15\x25\x68\x4f\x1a\xb6\x28\x21\x2a\xf2\x52\x96\x11\x9f\xdb\xba\xd4\x8a\x2e\xd2\xec\x5e\x82\x9e\x38\x2c\xdc\x5d\x19\x14\xc8\xed\x75\x4f\x73\xa9\x69\xb4\xc6\x18\xa6\xc3\x44\xc2\x74\x94\x88\x6d\xcb\x39\xc2\xad\x57\xe8\x85\x1d\x81\xfb\x16\x21\xd1\x59\xbf\xdf\x32\x2c\xf5\x96\x40\xf5\x3a\x9c\x19\x11\xa2\x4d\x72\xe4\x84\x9d\x36\x3f\x08\xf3\x41\xa8\x0f\xbb\xbb\x4a\x79\x07\x02\x49\xd2\x0d\x7b\x5a\x4b\x1c\x43\xc8\x50\xcf\x70\xe3\xb2\xaf\x4f\x89\x3b\xcd\x33\x85\x5d\xd5\xe5\x66\xec\x5c\x62\x60\x84\x6a\x60\xcd\x10\x6f\x5b\x67\xb2\xc1\x74\x14\x64\xb6\x72\x80\x11\x16\xe8\xe8\x3a\x8f\x08\x37\xea\xcb\xc6\xc2\x26\x74\x66\xd8\x61\xad\x37\xa9\x66\x17\x1e\xa5\xd1\xc7\x27\xf4\xac\x5a\x0c\x32\x91\x96\xcb\x8f\x8a\x6c\x2b\x3e\xab\x0a\x1a\x7d\xd4\x26\xdd\x1f\xa3\xb8\x5f\x20\x81\xfb\xf1\x07\xf6\x6e\x49\xa3\x15\x2d\xcb\x74\x41\xa3\xb5\xe0\x9b\x7c\x46\x67\x6a\xfd\xaa\xd4\x8c\x8c\xcf\x68\x94\x56\x72\xc9\x45\x94\x97\xc9\x07\xf6\x81\x45\x51\x14\xc5\x7d\x1a\x1e\x3d\xcd\x5b\x0b\xbc\xd0\xbb\xe2\x5f\x80\x51\xb5\xf6\xce\x68\x3f\x65\x94\xa5\x55\x59\xc3\xf5\x31\x4b\x4b\xfa\x31\xa2\x9f\xd7\x82\x96\x5a\x03\x72\xf8\x0c\x3e\xb0\x57\x8c\x2a\x46\xd7\x6a\x92\x48\x59\xb6\xa4\x65\x44\x99\xc2\x4a\x0f\xdb\x34\xd2\x0d\x9a\x61\xb1\xa4\xd1\x9c\x17\x05\xbf\x50\x2a\xa4\x1e\x0f\xd1\x82\x2b\x15\x4b\xf0\x6a\xb1\x0c\x10\x9e\x21\xaa\xa9\xf5\x07\xe9\xc5\x70\x73\xa9\x1a\xec\x15\x97\x32\x15\x72\x50\xe4\x8c\x2a\x4e\xa1\x6c\xa6\x9f\x8f\x63\x95\x31\x67\x34\x8a\xfb\x61\x9e\x24\x3e\xa3\xf2\x82\x52\xf3\xb1\x6c\x7d\xed\xc7\x1a\x2d\x95\xe8\x2a\x6a\x2d\x82\xed\xe2\xd0\x72\xf9\xb8\xa5\x65\x7b\xcd\x30\x3e\x72\xa9\x0f\x62\x9d\xe9\x8c\xf3\x82\xa6\x8d\x3c\x91\x3c\x8e\xdf\x89\x8a\xc6\x49\xfc\x2c\x2d\x4a\x6a\x32\xb2\x6a\x75\x46\x45\x33\x5f\x3f\x8e\xf7\x4d\xd5\xb6\xb9\x6f\xe3\xbe\x5a\xd4\x1f\x0c\x71\x3f\xfe\xd6\x54\xe4\x87\xa4\xaf\xe8\xdb\xf8\x5b\x93\x6b\x84\xfb\xdf\xc6\xdf\x8e\x03\xd5\xd6\xd5\xa3\xde\xe3\x70\x49\xa1\x8a\xf7\x7a\x81\xaa\xea\x75\x03\x33\x45\x56\x67\xa6\x1d\x34\x84\xef\xb4\x32\x65\xc4\x5d\x6c\x6c\x80\xa7\x64\x72\xda\x16\x4b\xa6\xae\x03\x42\x58\xaf\x37\x35\x4b\x9c\x19\x52\x62\xca\x6f\xc3\xc6\x28\xee\x4f\x07\xbf\xf1\x9c\xa1\x18\x62\xdc\x8f\x71\x6c\xe7\xee\xb4\x3c\x8f\x03\x13\xa8\xf8\x48\xa6\xe5\xb9\xa5\xf0\x8e\x02\x68\xf3\xe8\xe4\x81\xdb\x8b\xd3\xac\xb8\x94\x7a\xd3\x57\x95\x3a\x9a\x51\xc5\x74\xe2\xc1\x6e\xc1\xfa\x93\xa9\xff\xb5\xe0\x19\x2d\xcb\x8e\x8c\x6b\xf3\x25\x51\x7c\x93\xcf\xfa\xb1\x2d\xd1\x54\x8c\xa7\x24\x9e\xa8\xc6\x95\xf8\xc2\x0d\x29\x17\xe6\x1b\xe3\x69\x9f\xc4\xe0\x33\x5a\x29\xe7\xc4\xdb\xb4\x1f\x9f\x1a\x62\x74\x08\x54\x95\xa6\x1b\xde\xab\xbf\xbb\x8c\x6f\xa9\x6c\x52\x44\xeb\xf4\x86\x22\x1d\xab\x89\x50\xa1\xeb\x5a\x4d\xec\xd4\xff\x24\xcf\xda\x0d\x08\xdd\xc0\x94\xc4\x71\xbd\x5f\xec\x55\x5d\xcf\x13\xdc\xd9\xb9\x28\x96\xe0\xa7\x18\x2a\x92\x4d\x86\xa7\x63\x45\x94\x28\xee\xa3\xf8\x4a\x2f\x26\xae\xaf\x63\xe4\x1e\x8e\xec\xc3\xb7\xf1\xb7\xe6\x21\x1b\xe8\x8d\xd1\x57\x73\x14\x47\x31\x3e\x1a\x1e\x67\x89\xe2\xa8\x4c\xf1\x11\x6e\xea\x8b\xfd\xe9\xb6\xc5\xeb\xc6\xfe\x6f\xcf\x8a\x2e\x3e\x52\x3d\x2c\xb9\x9d\xa4\xb1\xeb\x69\xa9\x16\xad\xd3\x0b\x7a\x36\x2d\x79\x76\x4e\xfd\x68\x3a\xba\xa0\x67\x26\xe5\x41\xac\xe7\xba\xae\xf1\x60\xc7\x00\xeb\xc7\x11\xd1\xa4\x6a\x8c\x05\xbd\xeb\xef\x0e\x0e\x8f\xe3\xab\x6d\x9c\xc4\x57\x51\x30\x3e\x22\x35\x40\xa2\x6d\xbc\x75\x6d\xe6\x4c\x52\xc1\xd2\x42\x29\x37\x55\x26\x2b\x41\x1f\xc4\x3b\xe6\xca\x6e\x10\x0b\xba\x2e\xd2\x8c\xa2\x3b\x1f\x3e\xdc\x59\x40\xfc\xe1\xc3\x87\x0f\x31\x0e\x52\x99\x49\x65\x8d\x44\x69\x12\x65\x23\x51\x98\x44\xd1\x48\xdc\x98\xc4\x4d\x23\x71\x68\x12\x87\xb5\xfb\x92\x38\xa6\xc1\xf7\x6f\xcd\xf7\x6f\x63\x9c\x84\xc9\xf1\x9d\x05\x7c\xfb\xe1\x43\xfc\xad\xd9\x5b\xdb\x90\xc3\x11\xac\xc8\x10\x16\x64\x04\x67\x64\x08\x97\x6e\x83\x7e\x72\x1a\xd7\x5b\xf1\x9f\x12\x01\xd9\x6a\x9d\x30\xd0\x5a\xd8\x30\x69\x28\x65\xc3\x78\x6b\xd2\xef\x26\x1c\xb2\xa5\x48\x32\xa8\xd6\xb3\x54\xd2\x64\x0a\x8b\x2a\x9f\x25\x55\xbd\x41\x9f\x62\xd0\x13\x5f\x52\x9a\xdf\xc7\x69\x49\x93\x39\x38\x6e\x48\x66\x7a\xef\x68\x41\x64\xed\xaf\x1d\x90\x5a\x38\x5c\x8d\x0d\xec\x74\xa8\xfe\x8d\xf0\x16\xc3\x19\x41\xa2\x51\x24\xb4\x62\x45\x1d\x3a\xa4\x50\x7a\x18\xdd\xaa\xb2\x7b\x0b\xea\x56\x40\xe0\x2d\xc6\x70\xb9\x03\x92\xdf\x07\xc3\xf0\x8e\x74\x6f\x90\x5d\x90\x8b\xeb\xeb\xab\xed\xf8\x62\x12\x1f\x5d\xc7\xa7\x7b\xab\x40\xaa\x0d\x40\x36\x3b\x9e\xc4\xd7\x0f\xf6\xe7\x56\x32\xa0\x99\xfb\x81\xca\xbd\x17\x0b\x81\xa4\xde\x9f\x6d\x14\x39\x3a\xba\xa9\x88\x44\x62\xb7\x48\xbf\x1f\x9f\x92\xd5\xc0\x74\xa5\x1e\x88\xe7\x64\xe5\xc7\x31\xbc\x25\x68\x33\xa8\x77\x01\x41\xbd\x9c\xa4\x27\xb0\x19\xd8\x4d\x44\x0c\x9f\x55\x16\xbb\x0d\x09\x1b\xb3\xe7\x88\xe1\x91\x4a\x75\xfb\x94\xb0\x31\x3b\x8f\x78\xbc\x19\x30\x2e\x61\x33\xf8\xcc\xc5\x38\xa4\x8c\xa2\xe3\x66\xc0\x45\x08\x5a\xaf\xa7\x13\x53\x0b\xd7\x43\xb2\x19\xac\xd2\xcf\x70\xa2\x6a\x5e\xe5\x0c\x36\x03\xbb\x74\xc2\x61\x55\x0f\x88\x2e\xb5\xa0\x0d\xc2\x98\xc4\xa2\x91\xf8\xc0\x64\x94\x8d\x8c\x26\x5f\x23\xed\x8e\x29\xcc\xe8\xa7\x30\x95\x98\x54\xfa\x69\xbc\x19\x28\x04\xd7\xb9\x86\xf2\x0d\xd9\x0c\xf4\x2e\x2e\x3c\x55\x70\xda\xed\x5f\xd8\x0c\xd2\xb3\x12\xc3\x4b\x5d\xcf\x22\x95\x74\xbc\x31\xfb\xc3\x1b\xb3\xbf\x6c\x7f\xd5\x4f\xa9\x51\xd3\xbb\xd4\x9b\x81\x49\x2b\x2d\xb6\x65\x88\xe8\xff\x9a\xf6\x3f\xaf\x43\xa8\xfe\x4b\x27\xae\xf8\x6c\xbc\x19\x08\xba\x0a\xf3\xdf\xb9\xa3\xbf\xcd\xf2\x4d\x03\x39\x9d\xa8\x97\x80\x4f\x9a\x5f\xfe\x62\xaa\xaa\x8a\x30\xf1\x50\x27\x96\xd5\x59\x83\x87\x4c\x3f\xcd\x54\xa3\x76\x23\x5c\x31\x82\xdb\x1e\x57\x68\x54\x82\x29\x74\xec\x26\xba\xa6\xd4\xe3\x5b\xc4\x41\xfc\x63\x55\xea\x89\x87\x9a\x6d\x0a\x25\x19\x12\x35\x2e\x3f\x39\x69\x76\xc2\xe5\x52\xe9\x71\x5b\x78\xf6\x3b\xeb\x92\x48\xd5\x86\x93\x4f\x5b\x0c\x2f\x3a\x86\xb9\x6d\x40\x97\xd2\xeb\xbb\xed\x16\x9e\xff\xce\x36\x5e\x20\xdb\x8a\x69\xe6\x55\xc7\xc0\x6c\xba\x6b\xec\xca\x31\x57\xb3\xfb\x44\x08\x61\x6e\x6b\xc8\xb5\xc6\x06\xd3\x61\x47\xda\xc8\x01\xa1\xc4\x9d\xce\x33\x1d\x82\x4e\xf7\x10\xfd\x48\x10\x6d\x81\x04\xac\xed\x89\xa7\x5b\xbe\x17\x00\x05\xd3\xbb\x09\x6b\x41\x76\x4f\x35\xca\xdb\x50\xf0\x0e\xc8\xb8\x83\xac\x99\x76\xd7\x41\xab\xd6\xcd\xdc\x42\xcb\x0d\xb4\xa0\xbf\x7b\xa8\xd9\x0e\xc8\xe0\x35\xa3\x06\xd0\xf7\xdb\x40\xc3\xf4\x5e\xc2\x5b\x90\xdf\x57\x00\x64\x6d\x88\xb2\x0e\xc8\xb3\x0e\xc8\x33\x07\x79\x33\xed\x9e\xc3\x46\xad\xaf\x33\x8b\x4d\x66\xb1\xc9\x0c\x36\xa0\xf3\x79\xac\x78\x07\x56\x90\x19\xbc\xaa\x26\x5e\xdf\x75\xe2\x05\xd3\xfb\x49\xd6\x42\xee\xbb\xc6\xee\xb2\x03\xb0\xea\x40\xae\xea\x40\xae\xea\x40\xae\x72\xc8\x35\xd3\xee\x3b\x84\xd5\x72\xbd\xb2\x08\x57\x16\xe1\xca\x22\x5c\x19\x84\x41\xe7\xf7\x88\x77\x1d\x27\x65\xbf\x63\xa3\xc5\x44\x9e\xf0\xae\xac\x97\xfa\x5c\xd2\x6e\x44\x53\xe3\x23\x93\x21\x69\x7c\x14\x3b\x7c\x63\xa6\xcd\xe2\x93\xd3\x1d\xb7\x57\xeb\xef\xd7\xb1\xe0\x10\x3b\xf1\x01\x42\x43\x98\x29\xa2\x7a\x6b\x18\x32\xe2\xac\x05\xc7\x99\x02\x88\x6b\x5f\x1f\x36\xc9\x4e\x83\x63\x2f\xbe\x13\x16\x20\xac\xab\x06\x4b\x38\xea\x9b\x57\xea\xb7\x7f\x34\x94\x7a\x87\xca\x2a\x50\x43\x8c\xed\x3e\x30\x50\x42\x03\xb0\xab\x46\xb8\x85\x75\x3d\xf0\x6b\x5b\x95\x5b\xda\xf3\xaf\xcc\x36\x6f\x8f\xe3\xd2\xb0\x79\x2d\x74\xda\x30\xb4\x76\xa4\xaa\x46\xc8\x86\x65\x38\xa0\x6b\xdf\x8d\xdf\x07\x8c\x7f\xe5\x16\xb6\xcc\xc0\x56\xee\xc0\xa6\xe5\xcc\x1e\x00\x81\x6b\x49\x55\xc3\x19\x1a\x9f\x6f\x9a\x43\xd4\x41\x3a\xfd\xd7\x20\xf5\xaf\x99\x5b\xec\x1a\xc0\xe7\xdd\x80\x6b\xb9\x72\x33\xf4\x90\x69\xa1\x55\x23\x11\x06\x88\x58\x34\xb4\xcf\x0a\x4d\x91\xc0\x83\x92\x8b\x60\x8e\xdb\x35\xac\x90\xda\x7c\xde\x28\x91\xb8\xe5\xf0\xf6\x15\x75\xd9\x98\x0a\x26\xb4\x84\xc1\xd2\xca\xab\xa7\x3f\xc7\xd6\xf4\x2b\x7e\xf1\xce\x3c\x1e\x8e\x92\xd1\xd6\x1a\x0b\x74\xae\x5f\x4e\xf2\x22\xb9\x84\xc7\x9c\x95\x49\x06\x99\xfa\xd1\x67\xec\x92\x1b\xd3\x9d\xa9\x3e\x9f\x37\xcf\x95\x37\xfa\x29\xb4\x8d\xd0\xdd\x44\xa0\x99\x7e\xba\x97\x50\xb4\xd6\x4f\xf7\x13\x86\x96\xfa\xe9\xbb\x84\xa3\x0d\x06\x85\xc0\xa3\xcb\x44\xa2\x85\x79\x7e\x9f\xcb\x65\x22\xd1\x19\x56\x8b\x19\x0c\xaf\x09\xfa\x71\xe0\xd2\xc1\x3c\x3e\xba\xc4\xf0\x64\x47\x4d\xd0\x27\x3b\xe6\xf4\xc6\x59\x98\x0c\xf1\xd1\xa8\xbd\xd5\x1b\x6e\x06\xd3\xd6\x66\xb0\x24\xf2\x70\x04\x42\x77\xf2\x76\x8b\xe1\x17\xd5\xb8\x02\x15\xf4\xcf\x7d\xf3\x73\xcf\xfc\xdc\xc5\xf0\xeb\x5e\x20\x6e\x69\xcb\x1e\xdb\x5a\xc5\xc5\x1f\xa4\x4b\x22\x83\xd6\xdf\x13\xd4\xbd\x8a\x39\xc8\xd1\xaf\xb5\x44\xaf\x93\xf5\x52\x48\x2f\xb9\xe0\xc7\x81\xee\x0a\x0c\x3f\x74\xe8\x43\x21\x90\x8c\xd0\x00\x48\xd6\xb1\x3b\xce\x89\x84\x8c\x38\xfd\x46\xc9\x77\x49\x38\x08\x92\x01\xd5\xc3\x40\x81\xfa\x1b\xd9\x05\x27\x4a\xd1\x0f\xb0\x6f\x19\xd6\x1f\x6d\x31\xa8\xca\xb6\xf0\xe5\x77\x96\x95\x7d\xe1\xcb\x7e\xbf\x6f\x9d\xd7\x4d\xa1\x68\x35\xa0\x9f\x90\x00\xe9\xc8\xf4\x73\x87\x52\xda\xd8\xd7\xda\xc2\x3f\x1a\x59\xec\xe6\xab\x1b\x50\xe1\xc1\xe1\xf1\x0b\x24\xac\xb6\x0b\x3f\x91\x9f\xf4\xda\xf5\xa7\x89\xca\x72\x4a\x7e\x1c\xa8\x91\xa3\xc9\xf9\x4f\xb2\x67\xec\xa7\xe8\x7d\x13\x65\xda\x3d\x37\xeb\x93\x72\xad\xb7\x6e\x31\x04\x03\x16\xa8\xc2\xe8\xef\x3b\xd5\x3b\x71\xd0\x55\xb3\x5e\x0f\x1f\x77\xcc\xfd\x74\xab\xd6\xf7\xe3\x00\x34\xb6\xdb\xd6\x37\x7b\x75\x6d\x59\x3b\xc6\x07\xda\xb2\xa6\x52\xb3\x31\xcd\x52\xbe\x3d\x90\x72\x5f\x87\x2a\x10\xbe\x51\x98\x87\x50\xe8\x3e\x14\xf2\xf7\x31\x50\xb7\xa6\xb3\x53\x31\x50\xd9\xd8\x16\x69\xa8\xed\x6d\x6a\xba\x91\xd4\x60\x8b\x4e\x84\x73\xc5\x7e\x66\xd2\xb6\x78\x07\xed\xd6\x14\x17\x12\x29\x0c\x38\x34\x4b\x53\x55\x26\x2c\x00\x4c\xef\x34\x74\xb3\x54\x43\xf2\x1c\x8b\x64\x87\xc3\x6e\xa5\x89\xdb\xc0\x61\xb2\x6b\x93\x46\xd5\x47\x65\x83\x70\x6a\x64\xf1\xbd\x9d\xc8\x24\xca\xd1\x3f\x41\x6a\xf3\x34\x0c\x99\xfc\x4a\x66\xb5\xe4\x05\xae\x97\x61\x5a\xd5\x0b\xf4\xc3\x80\x85\xc3\xc5\x5d\x07\x4e\x7c\xab\xfe\x67\xdb\xa4\x23\x3b\x0f\x48\x1b\x96\xc9\xb6\xdb\x3d\x03\xa1\xa3\x31\x4d\x83\x76\x17\xe9\xb1\x52\xc9\x86\x34\x17\x21\xd7\xec\x91\xbf\xe1\x64\xdc\xcd\x76\x9d\xe2\x61\x0f\x1e\x54\xe1\x01\x19\x51\x28\xf0\x46\x9f\x29\x62\xb6\x6c\x93\x5b\xa3\x33\xdb\x76\xee\xf4\xdd\x32\xe3\xd2\xb1\x41\x50\xec\x9d\x60\xa8\x9f\x71\x99\xd1\xae\xf6\x09\x87\xad\x62\xc2\xe9\x5e\xbe\xd2\xa3\xa5\x92\x8a\xb1\x42\xcc\x34\x93\xe5\xb2\x43\x4a\x79\x88\x45\x08\x71\x9b\xe0\x37\xee\x19\xc8\x64\xc6\xaf\x84\xfa\x57\x1b\x75\xdc\xad\xd5\x4e\x7c\x26\x68\x7a\x6e\xcf\xe7\x1c\xee\x76\xf5\x57\xa3\x6f\xcf\x68\x0e\xec\x47\xf7\x5d\x55\x39\xb2\x9b\x0e\xb6\x22\x31\xb6\x15\x6e\xcb\x8b\x5c\x66\x4b\xa4\xbf\x5d\x65\x69\x49\xa3\x51\xe2\xf2\xe8\xd7\xbb\xc9\x9e\xbe\x1c\x59\x7a\x76\x7d\x68\x7d\xd3\x9c\xbb\x35\xf5\xdd\x4b\xea\xa3\x24\x9f\x79\xd4\xc1\xa9\x7f\xa8\xa5\xf6\xb7\x4e\x40\xb6\x0e\xfb\xf1\xcc\x44\x1e\xdb\x0f\x92\x37\xe7\x09\x6b\x1c\x05\x06\x59\x9c\x34\xdb\xca\x48\x00\x57\x45\x3c\xf4\xad\x0a\xa6\x43\x28\xdb\x49\x81\x5d\xae\x61\xff\x11\xbd\x87\x1f\x0c\x5b\x22\xbf\xda\xc5\x36\xdb\x4d\xea\x90\x3f\x53\x95\x94\xa3\xa9\x04\x71\x78\x1f\x4a\x6d\x97\x92\xfc\x99\x75\xa7\x28\x97\x20\xfb\xa3\xa0\xfe\xad\x63\xb3\xed\xc5\x32\x2f\x28\x3a\xd8\x2f\x1a\x3a\x7b\xaa\x5d\x2a\x52\xd3\x7a\x7a\xc3\xb4\x9e\x4b\x18\xea\x19\x61\x8b\xa1\xec\x1a\xab\x3b\x52\xa6\x31\x66\x23\x39\x96\xa4\x63\x92\x94\x5b\xb5\x66\x3b\xd4\x4b\x36\x25\xbd\xe6\x72\x9f\x36\x1d\xa5\xa8\x6c\x4d\x62\x56\xb1\xb8\x09\x94\x03\x14\x98\xd5\x8f\x70\x5b\xe6\x75\xc8\x64\x25\x33\xb4\x7e\x6f\xa0\x62\x5a\xa6\x15\x37\x50\x66\xbe\x2b\xd0\xb6\x18\x66\x37\x94\xf8\x05\x24\xe4\xa8\x50\x14\xfd\x0d\x09\x7c\x38\xc2\x06\x93\xb5\x24\x68\x69\x0f\x1f\x60\xe9\x3c\x09\x97\xc6\xbc\x4c\xfd\x52\xb9\x4f\xdb\x36\x58\x0e\x41\xe2\xa3\x51\xaf\xe7\x70\x76\x75\x20\x81\xf1\xd1\x50\x6f\x7f\x2e\x07\x0b\x2a\xcd\xd4\x9e\x7c\x52\xa8\x2d\x75\xa3\x6a\x71\x0d\xcb\x81\x76\x48\xd9\x51\x53\x6e\x57\x4d\x73\x57\x85\xfa\xd2\x54\x49\x97\x7a\x89\x53\x00\xf3\xd5\xeb\x89\xd6\x24\x0b\x70\x9f\x97\x83\xda\x49\x05\x96\x6a\xe1\x06\xcb\x81\x71\x86\xc1\xb0\x91\x64\xe9\x4f\x89\x61\xa5\xde\x6a\xf7\x18\x58\xec\xe7\x99\x1c\xad\x14\xb2\xda\x27\xb7\xb9\xbd\x66\x07\x8b\xaa\xf4\x31\x9f\xd1\x2e\xeb\xef\xd5\x20\x5b\x0a\x64\x8e\x7e\x74\xeb\x8f\x97\xa9\x50\x99\x91\xc4\x78\x0b\x92\xef\x2b\x28\x07\x99\xcd\xf9\x50\xa2\xa1\xce\xfa\xcb\x7a\x4d\xc5\xfe\x46\xe4\xc0\x66\x79\x9c\x96\x14\x99\xda\x5f\xf0\x8b\xdb\x8a\xe8\x2c\x8d\x22\x59\x5a\xd0\xaf\x68\x2b\xc8\xb8\x53\xfc\xab\xda\xf5\x19\x5d\x71\xb3\x0d\x70\x26\x09\x5a\x98\x03\x7d\x85\x3e\x2c\x54\x6e\xf5\x84\xe1\xd2\x7c\x6a\x14\x86\x45\x0b\x18\x97\xe0\xbf\xe9\x54\x0c\xef\xba\x24\x8e\x61\xcb\x33\x89\x28\x6e\x0a\x78\x06\x67\xda\x6e\xe3\xc1\xa1\x1f\x0b\x3a\x49\x8d\x02\xb5\xa0\xbd\x90\x24\x47\xef\x24\x18\x84\xe2\x87\x31\x76\x8f\xff\x8c\x31\x86\xf3\xe6\xe7\xb4\xfe\xfc\x45\x7d\x7e\xdb\xfc\x3c\xac\x3f\xff\x8f\xfa\xfc\x59\x12\xb4\xe7\xfb\xdf\xd4\xf7\x0e\xc2\xbe\x55\xd0\x5e\x5f\xa7\xdd\x8d\xce\x63\x0c\xed\xcf\x01\xc8\xcf\xf4\xe7\x2d\x86\x47\xb2\xd3\x1b\x41\x36\x7d\x19\x9f\xa4\x92\xea\xb8\x78\x76\x80\x94\x27\xe9\x09\x0a\x2c\xce\xf1\xf1\x6b\x89\xe2\x5f\x98\xb6\x5b\x94\x3c\x5a\xa7\xa2\xa4\xd1\xb7\xda\x50\xec\xdb\x28\x2d\xa3\x34\x9a\xa5\x92\x0e\x74\x45\x65\xb4\xaa\x4a\x19\x9d\x51\x67\xc4\xff\xfc\xed\xab\xe8\xbf\xff\x3a\x1c\x45\x73\x2e\x56\xa9\x1c\xc4\x38\x79\xa2\xb7\x3b\xec\x86\x72\xfc\xb6\x62\x31\xc4\x2f\xb9\xfa\xff\xae\xa2\x31\xc4\xef\xe9\x4c\x3d\x2f\xab\x18\xe2\x67\x22\x8f\x21\x7e\x9b\xca\xf8\x14\x28\x99\xc4\x3f\xa6\x2a\xdf\x33\x7a\xa6\xca\xa4\x22\x86\xf8\xe1\x5a\xe8\xe7\xcb\x18\xe2\x1f\x75\x5d\x3f\x56\x85\x4a\xaf\x16\xaa\x24\x5d\xc7\x10\xbf\xca\x64\x0c\xf1\x09\xdf\xc4\x10\x3f\xa1\x59\xed\x4b\xa3\xd8\xd2\x9e\xc1\x4b\xb8\xa4\x69\x27\x97\x6b\x5b\xfc\x67\x55\x51\xfc\x83\xa6\x02\xe1\x2d\xac\x38\x93\xcb\x8e\x9c\x46\xe0\xd3\x89\x2e\xf0\x52\x65\x42\xf8\x74\xbb\x85\x59\x7a\xb9\xb7\x5e\x4d\x7d\xbc\x85\x25\xaf\xf6\x37\xfe\x03\xaf\x44\xa9\x5b\xce\x59\x25\xf7\x48\x18\xd5\xa6\xfe\xac\x73\x96\x34\xe3\x6c\xb6\x37\xe7\x5b\xfd\xd9\xd6\x59\x14\xf9\x2d\xd9\x5f\xd6\x79\x74\x19\xc9\x15\x6f\xec\xcd\x6e\x18\x67\xab\x77\x18\xf7\x65\x0c\x58\x4f\x53\xe8\xd5\xfc\x3d\xa5\xe7\x7b\xa9\x2a\x26\x96\x5c\x97\x9a\xa6\xda\x60\xe2\x61\x37\x7f\x8b\x9d\x73\x4a\x6d\xfd\x35\x2d\xab\x2c\xa3\x8a\xb7\xb4\xb1\x61\x22\xb7\xad\xd8\xf1\x1d\x45\xe6\x69\x5e\x74\xe5\xdf\x3d\x0a\x35\xf9\x59\x2a\xf3\x0d\x7d\x94\xb3\x59\xce\x16\x31\x64\x69\x51\x9c\xa5\xd9\x79\x22\x21\x4b\x59\x46\x0b\x1d\x11\x71\x7b\x9b\xcd\xaf\xaa\x29\x65\xb3\x77\x4b\xca\x1a\x75\xc8\xb4\x3c\x6f\x5b\x00\xef\x29\xce\x99\xb6\xf9\xbc\xb9\x78\xb5\x07\x0b\x41\x33\x9a\x6f\x68\x58\x78\xdb\x3a\x12\x6a\xba\xd3\x3b\xf3\x36\xc8\x67\xc9\x6a\xb0\xa8\xf2\x19\xc2\x20\x38\x97\x89\x84\x52\xaa\x0a\x14\xde\xb0\x4a\xf3\xe2\x8c\x7f\x0e\xfc\x5d\xa3\x35\x12\xb8\x15\x56\xbb\xe6\x10\x14\x5a\xdc\x52\x24\x90\x6a\x5a\x4d\xdb\x3b\x76\xc4\x72\x60\xeb\x36\x67\x02\x02\xc3\xba\x61\x07\x5d\x36\x14\x94\xa0\x62\x86\xaf\x52\xfd\x0d\x18\x12\xc8\x7a\xe9\x0d\x9b\x6d\xcc\xf7\xc2\x64\xd5\xa0\x81\x42\x75\xdc\xc9\x02\xc1\x89\x34\x1b\x18\x1e\xa8\x9f\x10\x06\x53\x96\x68\xf2\xd0\xbd\x10\x14\xb7\x40\x50\x9a\x21\xc7\x2b\x19\x5e\xf8\xd0\xaa\x0f\x6a\x19\x1f\x64\xca\x0a\x9a\x0a\x57\x98\xe1\xed\xb6\x1d\x80\xdb\x2a\xcf\xf2\x68\x53\xef\x8e\x6b\xa0\xcd\x01\x85\x37\xae\xf4\xc3\x4b\x07\xf6\xac\x93\xf5\x10\x6a\xa5\x39\xe6\x6e\x25\x3b\xa6\xd5\xc9\x57\x75\xfa\x0e\x49\x55\x57\x5a\x18\x34\x21\x3d\x44\x96\x5f\x51\x43\x8a\x18\x12\x4b\x58\x6b\x83\x23\xb3\x20\xad\x8d\x42\x3d\xb7\xeb\x56\xdb\x36\xd3\x36\x06\x2e\x23\xc2\x71\x98\xf3\xe7\x70\x87\x96\x66\x99\x3f\xb6\xad\xb4\x01\x61\x2e\x5c\x10\x86\x7e\x5f\xea\x00\x45\x91\x18\xe8\x31\x41\x6e\x19\xb0\xad\xaa\x40\xd0\x52\x26\xb6\xec\x16\x9a\xed\xa9\xa1\xad\x1a\x18\xef\x6f\x60\x57\xa0\xfc\xe1\x06\x0c\x47\xd8\x9c\xbd\x5e\xab\x01\xbd\xaf\xae\x3f\xf9\x23\x62\x03\x8e\x4b\x55\xed\x04\x06\xc4\x36\xb9\x4d\x47\x5b\x83\x23\xa4\x85\x43\x8b\x62\x0c\x5d\x55\x7a\x02\x77\x83\xe7\x08\xfc\x7f\x0a\x9e\x37\x21\x3d\xda\x1c\xcb\xfe\x28\x41\x5a\xfe\xb5\x62\xc2\xe2\xab\x33\x1f\x44\x77\x71\x7d\x8d\x82\xd1\xbd\x84\x21\x86\x05\x39\x18\x36\x8e\x85\xeb\x33\x56\xb5\x4a\x1d\x8e\xc5\xd1\x46\x7b\xdb\x9d\x79\xe6\x1b\x63\x23\x68\x74\x8c\xa3\x99\x3e\x48\xc1\x63\x79\xdc\xaa\x39\x59\x90\x83\x91\xb5\x90\x1c\xd1\xfb\xaa\xa1\x11\x9c\x91\x89\x57\x97\xec\x10\x4f\x04\xa8\x51\x9d\x50\x68\x8c\xcc\x84\x81\xe5\x01\xe3\x8d\x6c\x29\x6e\x8e\x1d\xed\x28\x4b\x2a\x28\xd7\xe9\x05\x4b\x72\x38\xcf\x8b\x22\x99\x43\x59\x50\xba\x4e\x0a\x28\x8d\xa9\x64\x89\x41\xa4\x17\x6f\x75\x9e\xa9\x7e\x54\xe9\xa9\x9e\xef\x4f\xba\xe7\xfb\x60\xf2\x8e\x3a\x0e\x14\x5a\x1b\xec\x83\x0b\x2e\xce\xa9\x68\x1c\x3d\xe4\x73\xb4\xe1\xf9\x2c\x1a\x1e\x74\x06\x1c\x78\xb7\xd4\x8e\x11\xb4\x1f\x7f\x74\x7e\x12\x33\x4e\xcb\x88\x71\x19\x31\x4a\x67\xd1\xbc\x48\x17\xe5\xe0\x03\x7b\x9c\x16\x45\xa4\x33\xda\x56\x10\x36\x8e\x0f\x8c\x47\xa9\x58\x54\xda\x4f\x49\xbb\x09\x5c\xf2\x2a\x2a\x97\xbc\x2a\x66\x4a\x57\x56\xc5\x4a\x2a\x0f\x6a\xb3\xd6\x0a\x49\xbd\xa0\x05\x39\x30\x56\xa5\x20\xb5\xc1\x7c\x26\xf2\xb5\x82\xba\xb4\x77\xd2\x74\x69\x24\x37\x12\xc1\x44\xea\xda\x21\x02\x0d\x88\xd0\x1d\x75\xe1\xa1\xa0\x1a\x6a\xe9\x7d\x7e\x4b\x46\xd3\xf3\x28\x8d\x4e\xe8\x86\x0a\xeb\xc1\xa1\xdd\x4b\x9e\x16\xab\xe3\xe8\x9d\xc8\xb3\xf3\x52\x52\x71\xf0\x81\x3d\x97\xda\x43\xb6\xd4\x2e\xb2\x51\xdc\x67\xfd\x58\x89\x53\xed\x73\xe5\xdc\xad\x34\x9d\x3e\xae\x05\x5f\x88\x74\xf5\x3e\x97\xcb\x67\x8a\xa8\x1f\xa3\xb3\x4a\x46\xcb\xb4\x8c\xe4\xe5\x9a\x46\x1f\x5f\x9b\xef\xa6\xcd\x8f\x83\x0f\xec\x97\x92\xfa\x52\x1f\xb5\xed\x35\x4d\x67\x51\xae\x2f\x45\x88\x66\x5c\xf7\xd1\x45\xca\xa4\xed\x23\x1b\x0e\x22\x23\x39\xfa\x89\x0e\x44\xc5\xf4\xc2\x51\xcf\x62\x4f\x85\xa8\x8d\x9d\x76\xf0\x67\x75\x9f\x0e\x06\x03\x6c\x1d\x63\x8a\xc2\xbb\xb6\xb0\xa8\x62\xf4\xf3\x9a\x66\x92\xce\x7c\x67\x0f\x3e\xb0\xe7\x91\x14\x39\x9d\x29\x82\x65\x9c\x6d\xa8\x90\x51\x2e\xd5\x5b\xca\xb4\x87\xb3\xa6\x1b\x68\x34\x85\xf3\xcf\xd1\x8e\xc7\x6b\xc1\xcf\x0a\xba\xd2\x9e\x2c\x71\x5f\x9b\x33\xb4\xb9\x03\x65\xc6\xec\xe6\x2b\x79\x84\x77\xbb\x33\x49\x7c\xd5\xd0\x29\xbd\xe5\xde\xc6\xc4\xac\xc6\xc0\x88\x8f\x5f\xe0\x14\x0a\xa8\x97\xd8\x5f\x18\xba\x52\xd0\x24\x0c\x36\x39\xbd\xe8\xdc\x28\x48\x73\xb6\x75\xf6\xd1\xfb\xce\x98\xb6\x18\x1a\xe0\x77\x55\x44\x1b\x0a\x4a\x15\x18\xe7\x84\x48\xd6\x77\xab\x3c\x94\x83\x86\x8c\xaa\x9b\xf6\x46\x71\xf6\x60\x0f\x8f\x99\xb6\x6b\x83\x0a\xd9\xf0\x73\x53\x6d\x1e\x02\x25\xa1\x2a\xe5\x0c\xa5\x30\x85\x12\x03\x47\x0f\x15\x9d\xb5\x24\xd4\xb1\xe4\x70\xcb\x25\xef\xa1\x1c\x58\xb9\x85\x4a\x25\xdb\xb5\x8d\x1a\xa4\xe4\x6a\x0b\x25\x59\xa3\xfd\x20\xf9\x7d\x6e\x39\x98\x0e\xc7\x15\x61\x28\x03\xee\x60\xd1\x0e\x6b\x39\xa1\x88\x3b\x58\x72\x0c\x22\x84\x85\xeb\x1d\x2d\x8e\x61\x4e\xa6\x28\x85\xac\x56\xf7\x8e\xaf\xd6\x5c\xc8\x32\x99\x6f\x93\xab\x6d\xb7\x13\x60\xd3\xb5\xe0\xc4\x41\x72\x32\x61\xa7\x63\x3e\xc8\xcb\x67\x5c\xd0\x7c\xc1\x7a\x3d\x84\x28\xa1\xc6\xb0\x95\x9d\x92\x38\x5b\xcd\x8c\x8d\xa2\x4c\x17\xc7\x9f\x11\xc3\xc9\x43\xc4\x40\x60\x0c\x52\x7d\x9f\x23\x0e\xa2\xeb\x92\x0c\x1b\x60\x24\x14\xe2\xde\x21\x90\x16\xf3\x5d\x8f\xbf\x14\x55\xc0\x40\x5a\x4b\x06\xe7\x84\x30\x1d\x8e\xed\xb1\x0a\x37\x67\x2a\x1a\xa0\xc4\x97\xc9\x80\x01\x1d\x64\xab\x59\xa9\x43\x9f\xaa\x0c\x65\x75\xb6\x93\x41\xf1\x9d\xcf\x30\xff\xec\xbf\x97\x61\x05\x3e\x9b\x09\xef\xc3\xc8\x95\x62\xeb\x44\x80\x02\x38\x31\xb2\x73\x0b\x5c\xc7\x77\x5c\x40\x46\xe4\x80\xb3\xa7\xf3\x39\xcd\x64\xa9\x1d\x83\x39\x7b\x4b\x8b\xf9\xcb\x72\x01\x53\xb2\x76\xf2\xbd\x1e\x46\x6c\xa0\xea\x21\x53\x98\xee\x8b\xac\xb2\x9f\x73\xa8\x5d\x02\x29\x1e\x02\x1a\x32\x45\xf7\x82\x62\xd6\xda\x13\x55\x05\x28\x9b\x29\x01\x42\x8b\xb9\xdb\xb9\xd6\x1d\xa1\xb7\xc1\xb7\x1d\x51\xeb\x1b\xd3\xaf\xe1\x16\xc5\xf9\x66\x9e\x6f\x80\xe6\xf7\x85\xa9\xde\x97\xaa\xdd\x19\x18\x50\x25\xa3\x0c\x35\x1f\xca\x81\x55\x1f\x80\x13\xf3\xad\x5e\xb1\xd8\x31\xa5\xd4\x82\xb6\x4d\xdc\x0d\xd3\xde\x95\x9a\x34\x92\xb8\xa0\xe9\x3c\x86\x25\x5f\xd1\x44\xda\xc5\xbc\x08\xe5\x62\x10\x4b\xc6\x96\x60\x7c\x46\x63\x70\x2e\x8c\x8d\xe5\x6f\xc3\x30\xcc\x66\x5f\xa5\xeb\x18\x64\xba\x58\x50\xa1\xd6\xd9\x82\xd2\xc6\x3a\xfb\xac\x65\xcf\xbc\x1d\x5f\xa2\x83\xa1\x8e\xdd\xa1\x94\x4c\x0c\x97\xe8\x60\xa4\x0d\xe6\xf4\x6b\xdb\xc9\xc9\xca\x29\xfd\xc6\x8e\xd9\x84\x9f\x26\x57\x8a\x21\x13\x73\xa3\x80\x62\x4a\xf3\xb8\x1d\x07\xa2\x47\x4e\xf8\xa9\xeb\xc8\xf9\x67\x73\xc0\xb4\x0d\x5d\x21\x2f\x6b\xe1\x69\x87\x90\x18\x28\x74\xec\x38\xd2\x44\x4b\x4c\xbf\x8a\x81\x22\x1e\x64\xe4\x1d\x92\xc0\x81\x81\x75\xe8\xf7\xdd\xa3\x98\x5f\xc7\xbb\x25\x17\x48\x42\xa6\xa3\xde\x62\x3b\x9c\x34\x2d\x93\x3a\xb6\x83\x18\x38\xba\x3a\x6b\xc0\xca\x6a\xe2\x97\xd6\x3a\x56\x03\x05\x26\x7c\x83\x6d\xc1\x54\xa5\xe8\x9c\x04\x4d\x1a\x1c\x06\x8a\xe0\x40\xe1\xca\xf6\x80\x18\x98\x07\xb3\xa0\x61\x0d\xa4\xdf\x75\xcf\x18\xa1\x8d\x2b\x1d\x8b\x31\x96\xc4\xd5\x62\x02\x56\x08\xb3\x2c\x70\xea\xfb\xd6\xb3\xb0\x3c\x3e\x99\x88\x53\x25\x20\x5e\xa6\xeb\x44\x3f\x97\xd5\xd9\xcb\x74\xad\xe8\x84\x5b\x71\xcb\xc3\xf0\xaa\x5a\x88\x76\x77\x23\xc8\x63\x64\x64\x0e\x71\x17\x3d\x58\x19\x84\x81\xe2\x04\x19\x41\x14\x7e\x53\xef\xb8\x71\x17\xd2\xb9\xbd\xdc\x46\x1a\x71\xde\xa5\xd3\x0a\x1a\x65\x29\x33\x4e\xef\x67\x34\xe2\x8c\x46\x6a\x9a\x88\x58\xba\xa2\x33\xe7\x09\x6c\x34\x13\x7d\xc3\x94\xd5\xb2\xb4\x36\xb6\xaa\x0a\x99\xaf\x0b\xda\xf0\x60\x7f\xdb\x90\x2a\x0a\x02\x38\x99\xc8\x53\xa2\x3a\x26\xd1\x82\x19\x2c\x9d\xde\x80\xd5\x85\x54\x77\x81\x9f\x5d\x92\x83\xe1\x16\x96\x8d\x9d\x9b\xcf\x8d\xbb\xe5\x68\xe3\x40\xaf\x61\x4c\x3a\x0e\x0d\x82\x33\xe0\xa4\x32\x56\x5d\x3a\x6a\x68\x7e\xe4\x6d\x8c\xf3\x7e\x1f\xb3\x49\x7e\xaa\xe6\xd1\x66\x1c\x88\x69\x4b\x9b\xce\xdc\x2a\xac\x75\x83\xa2\x61\x13\x94\x91\xcc\x47\x7c\xf4\x6e\x83\x4a\x62\x3d\x20\xc3\x5e\x2f\x73\x77\xf1\x08\x18\x19\x09\x97\x91\xc9\x29\x54\x44\x51\x64\xe0\xb1\x87\x29\x09\xb5\x09\x3d\xfc\x2d\x38\x3a\xa3\x9a\x23\xc8\x54\x93\xb1\x9e\x4d\x88\x40\x14\xc3\x95\x55\x96\xce\x68\xc2\xa0\x62\xf5\x1b\xdf\xee\xc4\x67\xde\xd3\x25\x6a\x2a\x04\xc3\xae\xc9\xd3\xaf\xee\x92\x87\x66\x33\x2d\x24\x56\xdb\x20\xdb\x5d\xdd\x65\xaf\x7d\xf2\x01\x97\xb3\x7e\x1f\x4f\x51\x39\xc9\xea\x8b\x18\x4a\xb3\xf9\xb5\x26\x53\x98\x11\x0e\x6c\xff\xfd\x5f\x73\x22\x60\xd9\x71\xdb\x97\xfd\xec\xec\xc2\x5b\xfb\x9b\xe5\x6e\x2f\xb6\x8c\xda\xe7\x6d\x46\xa2\x9a\x73\x90\xf4\xe6\xc3\xe1\x7e\xa3\xd7\x8e\x73\x54\x31\x28\x6c\x78\x7a\xb7\x7a\xa0\xdd\xab\x87\xb8\x8e\x94\xa4\xe6\xd9\xd6\x6a\x41\x2f\x6d\xf8\xdc\x2e\xa1\xac\x03\xbc\x19\x8b\x76\x14\x26\x6a\x09\xa0\x6d\x4e\xc7\x6b\x63\x7b\xba\x35\x81\x65\x26\xa7\x30\x27\x46\x80\x14\x6d\xd6\x9a\x11\x06\x6b\x52\xc1\xf2\x2b\x58\x6c\xb9\xcb\x62\x99\x62\x31\xbb\xf8\x56\x8d\x9d\x28\x05\xf6\xcd\x5e\x4b\x9e\x2d\x86\xa7\xfb\x3e\x76\x28\x03\xce\xd9\xce\xab\x03\xba\xad\x77\xfc\xe1\x7a\x6d\x22\x79\x99\x57\xa5\x31\x25\x12\xcd\x30\x50\x0d\xd8\xcb\x94\xa5\x0b\x2a\xca\xe4\x04\x78\x25\x17\x3c\x67\x8b\xd7\x5c\xc8\xe4\x2d\xe4\x2c\xe3\x2b\xf7\xfa\x08\x96\x72\x55\xbc\xe3\x76\xb9\x98\x64\x60\x85\x57\x42\xa1\xbd\xc4\x4c\x58\x18\x59\xb1\x02\x35\xf1\x25\x4b\x38\x4b\x65\xb6\x4c\x36\x36\x64\xe2\x42\x5b\x35\xc3\x1b\x49\x4e\xe4\x40\x7f\x82\xa7\x92\xbc\xf1\x4e\x96\xfa\x90\x1f\x5e\x4a\xf2\x52\x6a\xfb\xd1\x97\x72\x12\x1f\xec\xf5\x66\xdc\x17\xdd\xe3\x8d\x3e\x19\xdb\x1a\xf5\xf6\xb1\x6e\x6b\x95\xae\xe1\x53\xd0\xea\x33\x49\x3e\xb5\x5a\x7d\x21\x09\xb2\x39\xeb\x8e\x86\x13\xa3\xd2\x19\x12\x62\x78\xae\xeb\xf0\x34\x86\x57\xa6\x50\x9b\x18\x50\xa7\x35\xce\x25\x5b\xe6\xb3\xaf\xce\x3b\xcd\x67\x31\xfc\xb8\x6b\xe4\xd0\xf2\x02\x33\x45\xdb\x3e\x6b\xaf\xbb\xec\x14\x2d\x96\x6a\x68\x39\x27\xb3\x27\x1d\x27\xfb\x37\x35\xe0\x1c\xd9\x5e\xdb\x87\x6d\xd7\x71\xab\x6d\xe7\xd5\xb9\x6b\x06\xc3\x2f\xbf\x0f\x8f\x27\xb2\x76\x66\x0b\x9a\xfa\x75\xff\x21\xf5\xed\x4e\x6d\xa6\x01\xef\xbe\x76\x5c\x27\x8c\x7c\xa3\xdd\xce\x6b\xaf\x25\x72\x2f\xf6\x79\x68\x01\x7a\x2f\xff\x04\x9f\x36\x03\x07\x6f\x03\xe6\x5d\xd7\x82\x84\xbb\x1e\xd2\x9b\x1d\xd7\x5e\x4b\xe4\x5e\xec\xf3\x28\x78\x76\xd0\xff\x59\xae\x6d\x06\xbc\xac\x8d\x40\xd6\x46\xc0\xbb\xaf\x05\x09\xf7\x3c\x46\x5f\xe7\xbc\xf6\x5a\x6f\xd2\xdc\x73\xd8\x64\x01\x96\x59\x80\x65\x56\x63\xf9\x27\xbb\xba\x19\xc8\xab\x36\xb2\x55\x1b\xd9\xaa\x8d\xac\xf7\x65\x0b\x12\xee\x7b\xec\x7f\x9f\x27\xdb\x6b\x89\xdc\x8b\x7d\xbe\x17\x3c\xdf\x0d\x9e\x47\xc1\xb3\xa5\x08\x86\x1f\x7e\xf7\x68\xf4\xa3\xde\x0d\xcb\x2d\x86\xdf\x6e\x97\x1d\x2d\x17\xd5\x46\x45\xaa\x8a\x87\x7a\x4d\xaf\xa6\x74\x0c\x5f\x64\xb8\x64\xfd\xfe\x36\x10\xd5\x12\x56\x6f\x7d\xa3\x1c\x7d\x91\xf0\x5c\xd5\x08\x1e\xb6\x9f\x75\x65\xf3\x34\x2f\xe0\x1f\x37\x19\x2f\xfd\x26\xbb\xbc\x23\x7e\x96\xda\xf5\xc8\x39\x47\xd4\xb3\x00\x86\x9f\xf6\x5a\x9d\x69\x30\x3a\x2a\xfb\x47\xb3\xb2\x7f\x76\xc9\xb0\x5b\xaa\x68\xa6\xd3\xb0\x6a\x77\x6f\x32\xd6\xe6\xd5\xa6\x89\xbf\xef\x91\x4a\x7f\xb0\x95\x66\x3a\x0b\x5b\xaf\x2f\x5f\xc6\x5b\xb5\x3c\xab\x61\xe8\x96\x2d\x7f\x32\x04\xcd\x74\x1e\x42\x16\x5e\xeb\x8c\xb7\xc0\xdb\xf0\xed\x93\x0a\xff\x26\x08\x9b\xe9\x59\x08\x79\xf3\x26\x69\xbc\x85\xac\x0b\xfe\xf6\x26\x67\x30\xe8\x1a\xce\x0e\xff\x68\x2a\x37\x49\x8a\xfe\xb9\xcf\xc4\x71\xaf\xef\x83\x92\x3d\x7f\xd7\x43\x77\xa4\x07\xd7\x37\x37\xb2\xf0\x4f\x72\xbf\x4a\xe0\x43\x7d\x6c\x55\x85\x39\xfa\x27\x7c\x2f\xed\x55\x42\xda\x7b\x43\x90\x7f\xb4\xe2\x6c\x0c\x95\x46\x26\xc4\xfe\x06\xbb\x0a\x28\xa0\x85\xd2\xcf\x94\xee\x89\x62\x1d\xab\x08\x03\x13\xfb\x75\xa2\xd7\x26\xf8\xb5\xd7\x8b\xb8\xd8\x37\xcc\xa9\x40\x4c\x20\x8d\xa6\x74\x70\x67\xb7\xe6\xee\x96\x33\x5a\x34\xbc\xd6\xd2\x01\x6f\xe1\x46\x01\xf2\xc4\xe5\x52\xff\xb5\x1f\xc5\xde\x36\x03\xf0\xac\x38\x1c\x9f\xc8\x41\x53\xdf\x1f\x28\x9a\x90\xab\xf5\xf9\x22\x89\x1b\xf1\x5c\x63\xad\xbc\x27\x52\x80\x5f\xbb\x24\xdf\x48\xf0\x7b\xad\x89\x10\xb0\xb3\xfd\x50\x09\xe3\x27\x30\x15\x37\x85\xeb\xb5\x7b\xcc\xfd\x38\x89\xe2\x7e\x1d\xf3\x03\xe9\x2b\xe0\x98\x56\xf3\xeb\xad\x5b\x39\xe3\x95\x3c\x76\x0f\x83\x0b\x91\x4b\x8a\x28\x4e\x32\xce\x4a\x5e\x50\x1d\x1e\x9c\x36\x4c\x5d\xf4\xbe\x69\x7b\xa1\x28\xdd\x5e\xf9\x95\x09\x18\x43\xa1\xe0\x8b\xc4\x2c\x0b\x10\x86\xbc\x1b\x60\xba\x27\xd4\xff\xde\x78\xeb\x7d\xd1\xb9\xa7\x21\x27\xc3\xd3\x3a\xb0\xce\x0b\x14\x9c\xfa\x64\x4b\x61\xee\x86\x32\x5b\x1e\x23\xac\xad\x85\xbb\x2d\x91\x9a\xf5\x87\x31\x08\x7f\x1c\x58\xf7\x53\x24\xb1\x8d\x42\x14\xb7\x17\xe6\xde\x90\xac\x8d\x43\x8a\x76\xae\x4b\x2d\xd7\x45\x2e\x55\x1d\xc0\x48\xf3\xea\x47\x13\xc1\xd0\x02\x4e\x1b\x61\x91\x68\x47\xcb\xcd\x48\x7f\x41\xc5\x6a\x59\x65\x6a\xc1\x83\x79\x5e\x48\xbd\x21\xd8\x51\xc1\xbc\x19\x58\xce\x17\x17\x74\x43\x45\x49\x51\x57\x99\x0e\xaf\x78\x7f\x23\x8d\xb9\x30\x8e\x8d\xfb\x7d\x6e\x6f\xbf\x74\xa8\xf0\x53\xdc\xed\xab\xdf\xe1\x18\xdf\x75\x8b\x66\x40\x92\xee\x7a\xd6\x0d\x5a\xfc\x38\xf0\x7e\xc2\xc8\xd1\xa5\x71\xb1\xf0\xb2\x95\xdd\xf5\xb0\xb0\x28\xcb\xb6\x6b\x78\xd8\x85\x71\x3c\x96\x0f\x86\x63\x3c\xea\xc9\x5e\x0f\xd1\x3e\x51\x3c\xf6\xe0\x01\x19\x81\xe8\xd7\xaa\x13\xed\xb8\xd2\xd4\x77\xa6\xbf\xb7\x71\xaf\xc7\xb5\x3c\x1a\x1d\xc7\x71\x22\x82\x9b\x34\x5b\xdb\xe0\xfb\xb2\x1e\xca\xdd\x4b\x3e\x83\x9c\xc2\x67\x94\xed\xad\xde\x3d\xf9\x86\xd0\xa8\xf2\xbc\xb9\x28\x44\xf2\xd0\xdf\x41\x74\xe7\xae\xdf\x5c\x0f\x6e\xc0\x60\xaa\xcf\xfa\xb4\xbf\x41\xc3\x6b\xd6\x40\xf9\x6d\x9b\x30\xfd\x4d\x50\x5d\x23\xeb\xe7\x56\xd6\x56\xc6\x3e\x6d\xec\x1f\x06\x6c\x2d\x45\xbe\x42\xcd\x9d\xc0\xe0\xab\x8f\xb7\xf5\xbf\x1f\xca\xfe\x1d\x68\xb0\xfa\x49\x77\xce\x0f\x65\xff\x9b\x56\xce\x37\x0d\x71\x51\xf3\x9e\x6b\xdd\xb2\xa0\x2a\x7a\x67\x11\xf2\xe1\xd3\xbd\x05\x5d\x09\xf1\x81\x5d\x7f\x10\xd7\x1f\x58\xb3\xe0\xcb\x26\x8e\xa1\xd9\x7d\xe3\xce\xae\x46\xa6\xc0\xd4\xbd\x71\x13\x51\x5b\x42\x85\xa1\x36\xb4\xe7\xb8\x15\xa5\x13\x7a\x8a\x03\x07\x72\xfb\x30\x6a\x5c\x1c\x74\x4b\x5d\x07\xdd\x95\x75\x05\x78\x7e\xd5\x12\x6f\xf5\x76\xf5\x83\xc3\xd1\x8d\xf7\x02\x05\x59\xf7\xde\xe4\xe3\xee\x89\xf2\xf3\x4e\xaf\x27\x06\x45\x5a\xca\xe7\xbe\xac\xae\xca\xde\x67\xb4\x2b\xd9\x7f\x69\x4c\xb8\x7e\xa7\x7e\x8e\x68\xed\x2e\xa4\x37\x39\xc3\x2b\xa5\x75\x10\xfd\x31\x62\x21\x8c\x4a\xb1\x7f\x70\x38\xf2\x11\x37\x18\x06\xd6\xf7\xee\xbd\x0d\xb6\x08\x4f\x11\x7f\x0d\xef\x6e\xa8\x5b\x0f\x2f\xb5\x89\xde\xbb\x6b\xe4\xa9\x99\x26\xf3\x39\x8a\x87\x5a\x71\xed\xf5\xe2\xcf\xfa\xbc\x7a\x32\x3a\x35\x1d\xc6\xc8\xdd\x31\x3b\x12\xe3\x7e\x9f\x61\x13\xaf\x7d\x18\x1f\x11\x44\x75\x48\x5d\xdc\xeb\xd1\x23\x12\xff\x4f\x7c\x7d\x1d\x3f\x8c\x8f\x54\x79\xf5\xfe\x4c\xbd\xa7\xf5\xfb\x3c\xc6\x8d\xa6\xed\xf3\x13\x89\xb4\x01\xfe\x73\x26\x91\x84\xd1\x5f\xb1\xbe\x53\x92\x3e\xd0\xf5\xd1\xa3\x78\x18\xf7\x7a\xf1\xa1\x36\x66\xec\xf5\xe2\x7e\x1c\x5c\xb3\x6e\xea\xa9\x29\x38\x0a\x61\x74\xc0\xa9\x1a\xae\xaf\xe3\xff\x89\x8f\xe8\x57\x34\x3f\x0c\xc7\xd1\xfb\x60\x88\xbc\x96\x28\xce\xb4\x79\x93\x09\xe1\x6c\x0c\x5f\x4c\xbc\x4f\xef\x3b\x60\x8c\x60\x9e\x33\x19\xb7\xaf\x2d\xf2\xd7\x64\xba\x0b\x32\xef\x4c\x3e\x94\x9f\xcf\xf8\xe9\x9d\x81\xa4\xa5\x9e\x80\x6c\x43\xbf\xb9\x6e\x11\xa4\xef\xcf\xe7\x74\x30\xef\x63\xad\x82\x26\xbf\x35\x38\xf7\xb7\x3f\x02\x63\xa4\x23\xb9\x85\x40\x7e\xb9\x45\xd6\x34\x15\x87\xa0\xe0\xf7\xb7\x2a\x43\x56\xfd\xcb\x4b\x1d\x2b\x33\xa1\x2e\x74\x07\xc3\x50\x31\xfd\xcc\xeb\xc0\x82\x19\x06\x73\x2f\x9d\xde\xb7\xd6\x97\xf5\x4c\xed\x8e\x75\x8a\xc1\xe8\x2b\xd6\xa8\xce\xe8\x21\xc9\xdc\x5f\xf5\x53\xd4\x57\xfd\xcc\x30\x68\xb8\x13\x89\xd6\x18\x14\x28\xe6\x96\x20\x41\xd7\x34\x95\xe6\x86\x20\x77\xaf\xd0\x02\x43\x41\xe7\x52\x47\xfa\x00\x61\xae\xd5\x42\x97\x18\x66\x82\xaf\x5f\x98\x0f\xef\xcc\xdb\x1b\xfb\xf1\x02\xc3\x3a\x9d\x25\x42\xdf\x53\x94\xce\x74\x26\x81\x3e\xeb\x17\x93\x47\xa0\xb7\x6a\x31\x95\xaf\x92\x47\xfa\x47\x67\x79\xa8\x1f\x4d\x86\x13\xb8\xe0\x62\x56\x26\x6f\x40\x87\xde\x4d\x9e\x7a\x07\xaa\x97\xde\x2f\xea\x31\xa4\xec\x32\x91\xe8\x19\x86\xb4\x28\x12\x89\x9e\x6b\xe2\xc8\x34\xd7\xf4\x7b\x85\x41\x07\xeb\x2d\x6d\x9c\x92\xd7\x18\x28\x9b\xb9\xb7\x27\xee\x4a\x24\x95\xf5\x17\x0c\x92\x3f\x67\x32\xf9\xd5\x5f\x05\xf2\x83\xbb\x86\xe9\x4b\x7d\x35\xd3\xf7\x5a\x25\x4f\x05\xc9\x45\xed\x8a\x56\xea\x57\x93\x19\xe6\xf6\x45\xd7\x01\x85\x7d\x7b\xce\x24\xcc\x04\x41\xb9\x15\x5c\xb4\x84\xe6\xa3\x83\x0b\xc3\x5a\x17\xa9\xe1\x86\xa5\x4e\x70\x68\xc1\xc6\x54\x93\x16\x85\x2a\x97\xb2\x4b\x30\x8d\x2b\x82\x60\x58\xd9\x06\xad\x23\x95\xc9\xab\x09\xa8\xb2\x69\x8a\x62\x38\x33\xc9\x9e\xd6\x60\x5f\x54\x1f\xb8\x67\x0c\x97\x26\x97\xeb\x31\x30\xcf\x2a\x0f\x86\x77\xfe\x9b\x4a\xf6\x3d\x8f\xe1\x42\xb7\xef\x18\x03\xce\xf5\xab\x66\x19\x78\x6b\x81\xb1\x8d\x68\xe6\xc2\xf0\xd9\xa4\x1a\xb6\x53\xe9\x8a\x15\x31\x3c\x32\x54\x50\x1c\x0a\x0f\x4d\x16\xe3\x2a\x68\x1f\x34\xf2\x96\xc1\x75\x9a\xe6\x7b\xf5\xb4\x4a\xd7\x90\x0b\x7f\x3f\xd8\x89\xa3\x5e\x96\x4a\x78\x63\x69\x67\x9c\x2b\x73\x31\x30\xc3\x0b\xc3\x53\x97\xab\x84\x97\x5d\x4b\xf0\x28\x47\x4f\x05\x48\xad\xb6\xc0\x63\x9d\xd9\x8e\x56\xf8\xd4\xb5\xf0\xef\x8a\xda\xb2\x27\x14\xee\xfe\x30\x2e\xa9\xd9\xe9\x1f\xa9\x7f\x77\x21\x45\x9f\x84\xf6\x31\x65\x3a\x18\x7f\x33\xb0\xcb\xbd\xed\x16\xc3\xb3\x4e\xc8\x75\xb9\x7d\x5b\x13\xdd\xb1\x07\xf0\x4e\x98\x88\x17\xff\x6a\xd5\xfb\x83\xdb\xef\x6d\xf3\xf9\xbf\x8d\xb0\xcf\x3d\x61\xef\xb5\x09\x7b\x5f\x41\xf6\x4a\x90\x60\x2f\xce\x6e\x7b\xe9\x8b\x31\xed\xad\x21\x2d\x38\xb3\x26\x9c\xe6\x76\xd3\xca\x18\xf3\x69\x63\x97\x39\xc9\x83\x58\x03\xf3\x0e\xf7\xfc\x90\x50\xb9\x71\xff\xe6\x1a\xc8\x29\x36\xfb\x18\x05\x99\xab\x0a\x67\xea\x67\xa8\x9e\xd6\xf6\x69\x38\x0e\x3c\x9e\xd7\xfa\xda\x2f\x3f\x73\xd6\x89\xb5\xe3\xfb\x4d\x2d\x75\x75\x5b\xa1\xf2\x94\x88\xc1\x1a\x66\x16\x1e\xeb\x2a\x0d\x59\xd7\x11\x57\x61\xea\xa4\x3a\xff\x14\xeb\xc8\x16\x73\xa2\x89\x9e\x77\x45\xe7\x78\xa1\x8f\xa1\xa7\xa3\x64\xba\x85\x0a\x83\xc6\x73\x68\xf0\x1c\xd5\x0e\xc5\xbb\x01\x63\xac\x63\x4e\x9d\x85\x9a\x18\x48\xba\xa3\xf5\x7e\xe4\x0c\x0a\x1d\x6e\x49\x90\x1b\x76\x9e\xa7\xc2\x44\xc8\x47\x27\x02\x35\x59\x38\x7e\xee\x42\x25\x0b\x3a\x3b\x3c\x2b\xd2\xec\x3c\x92\x82\xd2\x28\x67\x9b\x54\xe4\x29\x93\xd1\x26\xe7\x45\x2a\xe9\x0c\x22\x7f\xd0\x1f\xef\x09\xf1\xd1\xaa\x5b\x5b\x88\x2f\xb8\xec\xca\x7f\x8e\x04\xee\x28\x72\xa7\x23\x2b\xfd\xca\x7c\xac\x23\xdf\x07\xf6\xba\xa0\x69\x49\x23\x41\xb5\x1d\x82\xb6\x48\x3e\xab\xb4\x05\xc3\xd1\x52\xca\x75\x99\xdc\xb9\xb3\xc8\xe5\xb2\x3a\x1b\x64\x7c\xd5\xba\x63\x29\x2f\xcb\x8a\x96\x0f\xe2\xdd\x70\x10\xe6\x4f\x6f\x08\xbe\x16\x9d\x01\x9a\xa4\x8b\xcc\xd1\x1d\x4c\x5c\xd4\x81\x36\xe2\x47\x8f\x14\xdd\x4d\xaa\x3d\xde\xaa\x57\x54\x2e\x1c\x82\xca\xf8\xe2\xab\x72\xb6\x23\x20\x1c\x8c\xb6\xf0\x64\x77\xd7\xb2\x2b\x52\xd8\x1e\xa9\xd3\x0c\x53\x26\xc7\x92\xe4\xe8\x89\xd0\x81\x1b\xa8\x12\xdc\x26\x66\x98\x96\xd7\xbf\xec\x36\x24\x93\x3f\xdc\xd4\x27\x67\x15\x9b\xa3\x13\x90\x26\x5e\xb4\x25\x9c\x36\xa4\x7b\xf1\x2e\x4e\x7c\xcc\xb2\x7b\x63\xa5\x4f\xe4\xac\xa2\x91\x34\x76\x76\x4f\x7f\xf6\x66\x76\x2f\x10\x1d\x4c\xef\x62\x1f\xbe\xc3\x97\xba\x1f\x94\xd2\xe3\xf8\xd7\x7d\x1b\xbc\xfe\x54\x2d\x47\xbf\x68\xe1\x6a\x40\xd9\x62\x78\xff\x67\x4a\xf5\xfd\xb3\xca\x58\x9a\x30\x35\x3a\x5a\xcd\xdd\x40\x96\xff\xe0\x5d\x18\x4f\x0c\x83\x6c\xe1\x37\x9f\xf4\xc8\x25\x7d\xa9\x93\x6c\xca\xf7\xdd\xac\x7b\x3b\xd7\xba\x95\xfc\x74\x58\xfb\xa7\xd3\x4f\x88\xc2\x17\x81\xaf\xaf\xed\xf3\x6f\xde\x60\xfa\x60\xb8\x85\x9f\x7d\xeb\x6f\xe8\x2c\xde\xc2\x3f\x9a\x6d\xdb\x7e\x96\x61\xef\x1a\x30\x5d\x0f\xfe\x66\xa2\xcb\xe8\xe2\x2e\xed\x8b\x4d\x3b\x69\x66\xfd\x59\xf8\x7e\x6e\x4b\xc0\xf8\x71\xca\xbe\x95\xd1\x2a\x3d\xa7\x51\x1a\xcd\x78\x75\x56\xd0\xc8\xc8\x3d\xc6\x67\xd4\xdc\xc8\xa3\xdf\x0f\x62\xbc\xdd\xc2\x4f\x5f\x01\x66\xb3\x71\x07\xd3\x0e\x48\x3b\xd0\xff\xf0\xb5\x60\xea\x50\xd2\xf9\xa6\x01\x68\x41\xcb\x32\x04\xf4\x9f\x9e\xbe\x2f\x7c\x8f\xff\x3d\x48\xb3\x49\xdf\xdc\x70\x18\xd3\xc5\x9d\xee\x60\x46\x52\xf2\x8d\x40\x7f\x17\x6a\x31\x45\x6e\x3a\x64\xf4\x75\xed\xf0\x4f\xcd\xc9\x30\xbd\xab\xa4\xfa\x3d\x25\xb2\xef\x27\x5c\x1f\x76\xd1\x9b\xc2\xdc\xdd\xc4\x8d\xbd\x9e\x26\x6a\x28\x13\x8f\xe7\x48\x28\x5e\xd4\x37\x4c\xe9\xcb\xa3\xf4\xbd\x50\xe6\xca\xa7\x44\x6e\x81\xfd\xe1\xd6\x4c\xd5\x3f\x09\x6b\x94\xd9\xd9\x80\x21\xd4\x16\x38\xed\x52\x30\x3b\x4e\x9a\x3a\x0e\x36\x3b\xce\x34\x3b\x8e\x33\x3b\x4e\x32\x7d\x52\xb5\x9b\x34\xdd\x4d\xca\x77\x93\xd2\xdd\xa4\xb2\x4e\xb2\xe8\x4b\xac\x35\x46\x4f\x68\xa0\xc6\x93\xc3\x25\x28\x55\x32\x85\x12\xe3\x7a\xb6\xdc\x42\x76\x0b\xd9\x3b\x85\xa3\xa5\xbb\x21\x6a\x72\x53\xcf\x6e\xa1\xfa\x17\x1a\xa8\xc7\x5e\x16\x8e\xbd\x17\x34\x9d\x2b\xe5\x28\xb6\x6d\xff\xbc\xaf\xed\x69\x77\xdb\x75\x98\x2e\xaa\xfe\x31\xf5\x8f\xab\x7f\x99\xfa\x57\xdd\xa0\x25\x78\x4b\xce\x46\x28\xaf\x7d\xcc\x69\x8d\x5c\xf0\x8d\x79\x8c\xdd\x0b\xf6\x76\xf2\xda\x7c\x25\x94\x65\x5a\x3c\xd5\x9f\xef\x77\x7d\xbe\x05\x8a\x3a\x72\x74\x3d\x2c\xef\x85\x2d\x19\x6c\xaa\xdb\xb0\xb1\xc0\xb6\xeb\xb9\xdf\xaa\x27\xbb\xb9\x9e\xfb\x9d\xf0\xdc\xdf\x85\x87\xdf\x5a\x4f\x07\x3c\xf7\x77\xe1\x61\x3e\x52\x58\x63\x66\xfa\x4f\x24\x5a\x87\x36\xa9\xef\xca\xfc\x0a\x52\x86\x25\x43\x62\xde\x52\xfe\xfe\x9e\xf2\x6d\xf8\x68\x67\xb8\xb5\xff\x24\xfa\x39\x65\xbb\xd1\xc9\xff\xca\xc0\xf9\x3f\x60\xd4\x3f\xc0\x03\xf7\xf6\xf0\xc0\xbd\xaf\xe4\x81\x7b\x7b\x78\xa0\x83\xc6\x62\xff\x40\xea\x5a\x06\xdd\xb8\xd6\xfa\xf7\xf2\xee\x57\xf3\xea\xbf\x8b\x82\xdb\xae\xd1\xf4\xff\x40\xcf\x6f\x1d\xbc\xff\x8f\x0d\xac\xdf\xc3\xb8\xff\xb1\x12\xd7\xc7\x61\xd4\xb1\x38\x6e\x51\x19\xfe\x43\xc5\xf3\xbf\xdc\x03\xff\x27\xf2\xae\xdd\x03\x3a\x18\xc8\x4d\x4a\xa2\xd3\xeb\x5c\x05\xff\xdf\x70\xf9\x3f\x1c\x2e\xbb\x11\x48\xb9\x71\xc4\xc2\xc8\x33\xce\x28\x78\xbe\xeb\x9e\x7d\xa2\x49\x31\xaf\x77\x83\x9c\xf7\x82\xe7\xfb\xee\xd9\x3c\xdc\xc7\xb7\x36\xdb\xaa\xde\x70\xe0\x28\x78\xee\x6e\x36\xc8\x10\x3e\x7f\x5d\xb3\x61\x65\xf7\x03\x28\xee\x07\x80\xdc\x0f\x12\x6d\xb3\x41\x9e\xf0\xf9\xbe\x7b\xfe\x9d\xcd\xb6\xaa\xbf\xdf\x4c\xec\x68\x36\xf8\x14\x3e\x77\x35\x1b\xac\x47\x2d\x82\xf5\xe3\x5d\xb8\x61\xb5\x6a\xb1\x83\x39\xca\x83\x0a\x5c\xe9\xbb\x75\x9e\xfb\x50\x51\x8f\x37\xbe\x19\x84\x7b\x75\x25\xb6\x4f\xc3\xfa\xef\xd5\x9f\xee\xda\x4a\x0d\x0c\x41\x0f\xef\x01\xd9\x34\x6f\xef\xcc\xde\x05\x41\x6e\x21\xdf\xb7\x2d\x64\xfc\x5a\x74\xb5\x75\xaa\x2b\xf8\xbd\x40\x19\x3e\x9e\x52\x94\xe1\x24\xdb\x62\x48\x6f\xde\x5c\x8a\x5e\x0b\xc4\xf0\xf5\xf5\x6b\x81\x38\x3e\xd6\xa8\xfd\xc3\x78\x36\xab\x7c\x54\xdb\xc9\x50\xc4\xb1\x5d\xab\xd7\xe5\xb7\x18\xca\x9b\x01\xe4\xb7\xec\x12\x98\x78\x2a\xc7\x29\x9a\xab\x7a\x55\xc1\x64\x8e\xd2\xba\x8d\x39\x2a\xa9\xf6\xa3\xd1\x4e\x34\xda\x83\x46\xbb\xcf\xa8\x7f\xf7\x4d\x8c\x56\xfa\x47\xbc\xa8\xf6\x6d\x1b\x1f\x04\x3e\x55\x4e\xf9\xdd\xb3\xb9\xdc\x19\x7d\xda\xc6\x9d\x36\x8e\x2f\x5d\x2e\x53\x26\xf8\x3c\x4c\xef\xee\x5c\xa6\x75\x2f\x0e\xef\x9b\xf2\x92\x32\xbc\x70\xca\x4a\xfc\xf0\xbe\xa9\x17\x61\xc6\xbb\xcd\x7d\x3a\x66\xcf\xfb\xcc\xef\x5d\xfb\x7b\xcf\xfe\xde\xc7\x49\x89\x7e\x14\x60\x9a\xba\xf3\x86\xce\xee\xd8\xca\x40\xc2\x39\xca\x30\x9c\xeb\xa0\x21\x26\xc0\x88\xab\x23\xb7\x4f\xf7\xa1\x20\xae\xfe\x19\xd1\xdd\xe4\xf0\x2e\x60\xea\x9b\xca\x31\xac\x49\x8a\xde\x0b\x9d\x9a\x63\x58\x92\xb5\xca\xb3\x51\x3f\xa3\x7a\xac\xe9\x2e\x5f\xc2\x06\x66\x40\xb5\xcd\xd2\x0d\xbd\x13\xd2\x7d\xe5\xe9\xbe\xf0\x74\x3f\xdb\x4b\xf7\x85\xa2\xfb\xaa\x8b\xee\x67\x3b\x74\x3f\x0b\xe8\xfe\x22\x4c\x1d\xb5\x7a\xe3\xac\x8b\xee\x23\x4b\xf7\x91\xa5\xfb\xc8\xd2\x7d\xb4\x43\xf7\x17\x9e\xfc\x86\xee\x0b\x45\xf7\x15\xc6\xdb\xae\x4d\xf1\x70\x9f\xdb\x6c\xdd\x75\xed\x8a\x7f\x23\xd0\x3f\x05\xde\xbf\x0b\x6e\xaf\xce\x5f\xa6\x1b\x1a\x9d\x99\xcd\x6f\x2e\x22\x56\x6f\x83\x97\x51\x6a\x0f\xf5\xd6\x3c\xd7\x06\x58\x5b\x0c\x05\xdd\xeb\xc3\xf4\xd5\x27\x4f\x16\x66\x67\x7e\x1c\x72\x80\xa0\xf6\x8e\x26\xd0\x6e\x8b\xa0\x0f\x96\x20\x47\x05\x35\x47\x54\xf7\xc2\x17\x33\xf4\x67\xfe\x66\x81\xb7\xe9\x8a\xc6\x5b\x58\xd3\xfa\x34\x64\xc5\x37\x2a\x69\xe9\x93\x9e\xb3\x92\x0a\x19\x6f\x61\xb3\x5f\x62\x84\x5b\xc6\x66\x58\xdf\x78\xc2\xc4\x03\x4e\xcc\x88\x40\x9f\xfc\xed\x28\xee\x72\xc5\x5a\xc4\x75\x08\xa3\x99\x09\x69\x4e\x3b\x0f\xcf\x97\xfa\xa3\xdb\x1c\x35\xce\x84\x20\x29\x48\x6a\x23\xcc\x54\xda\x85\x12\xa6\xea\xe7\x3e\x94\xea\xe7\x1e\x14\xe6\xee\xaa\x99\x76\xc0\x6c\x1e\xf3\x15\x8d\x33\xbe\xa7\x3f\x9b\xf0\x1d\x6b\x22\xd0\x0b\x54\xe1\x2e\xc8\xd7\x7b\x21\x5f\x53\x73\x54\x3f\xa7\x30\x83\x72\xdf\xf9\xff\xac\x46\x61\x06\x05\xe8\x81\xaf\x33\x8f\xfd\x31\xa3\x02\x61\x49\x18\x2a\x31\x6c\xc8\x52\x65\x58\xa9\x9f\x91\x03\x7d\x13\xc2\xac\x7b\x39\xd9\x7b\x9e\xd7\x6a\xae\x82\x55\xdd\x96\xed\xfc\xfd\x85\x1d\xb9\xf3\x66\xe1\xe6\x18\xda\x4b\x09\x2d\xc0\x82\x72\x7e\x89\xad\xf0\x5b\x10\x86\xa6\x0a\xbf\x85\x91\x4e\x8b\x3f\x0b\xbf\x12\xce\xfe\x38\x7e\xa6\xf0\xef\xc7\x4f\x97\xdb\x6e\xb7\xc0\x89\x1a\x26\x90\x69\x56\x83\xca\x5c\xf9\x66\xd1\xca\xf6\xa1\x15\x55\x5d\xf0\x46\x94\xa2\x6a\x47\x60\x65\x2a\x51\x49\x9e\x55\xd7\x80\xf5\xc6\x1b\x1b\xaa\x23\xb6\xbf\x40\x02\x63\x13\x2b\x7e\x41\x6f\xb8\x14\x60\x65\x94\x0b\x49\x5b\x17\xec\x34\x73\x3d\x17\xb0\xa2\xa0\xaf\x94\xc2\x18\xce\xe8\x9e\xbb\x6b\x76\x2f\x12\xf2\x46\x60\x06\xcc\x63\xdd\xa0\xf9\x96\xb0\x30\xce\xfd\x73\x01\x4c\x8d\x67\x0d\xc7\x25\xdd\x77\x7d\x54\x8e\xce\xe8\x3e\x30\x73\xf4\xab\xd0\x11\xf4\xb7\xf6\x42\x80\x77\x5f\x0f\xa7\x55\x5a\x4c\xf7\x8d\x4c\xf7\x0d\xc7\x6d\xe8\x3b\x18\xc2\x23\x54\xe1\xfd\xb7\xee\x54\x46\x3c\xd8\x9c\x19\xde\xee\x60\xde\x75\x1e\xef\xc4\xa1\xc1\xe8\x82\x7e\xed\x05\x50\xd6\xee\x7a\x1c\xf6\xb1\xbf\x09\xdb\x50\x46\xea\x2b\x8f\xe0\x7c\x77\x0e\x6b\xf3\xd1\x27\x4b\xcb\xb7\xbb\xb4\x0c\x31\xb8\xc1\x65\xf0\x9c\xba\x4e\xb1\x3f\x9f\xe9\x4d\x8e\x64\xb6\xdc\x8d\xe1\xbb\x7c\x20\x5f\x6d\x58\xb4\x49\x8b\x30\x92\x6f\x18\xfd\x4a\xdc\x18\xc9\xd7\x97\x36\xa1\x7c\xed\xa0\x67\xfc\x22\xd9\xdf\xba\xc4\x57\x32\x0c\x19\xf6\x24\x95\x74\xc0\xf8\x05\x32\x8e\x7b\x01\x4c\xd3\xda\x13\xed\x11\x25\x9f\xe9\x20\xfc\x06\x0f\xf7\xcf\xba\xfb\x6f\x12\xfa\x87\x74\x31\x76\xfd\x1d\x51\x9d\x3c\xf1\x90\x82\xb5\xd3\xd3\x9d\xcf\x9d\x13\x71\x45\x02\xbf\xea\x47\xea\x43\x8e\x5e\x48\x90\xc0\x31\x0e\x22\x8d\x7d\x91\x90\x41\xa5\xd0\x39\xd9\xa7\xe4\x48\x30\x0a\x0b\x70\x42\x0d\x20\xda\x5e\x85\xd7\x4e\x52\x1d\x73\xbe\x05\x66\xbf\x41\x95\xb9\x49\x4a\xe0\x64\x7f\x4e\x35\xef\x5b\x2f\xd9\x37\x9a\xaa\x8c\x5f\xc0\xd3\xfd\xc4\xd4\x60\x09\xa0\x36\x40\x55\xd9\x05\x1e\xf3\xde\xb4\x14\x27\x4d\x47\x4d\x19\x3a\x6a\xd2\x1b\xfc\x38\xad\xc7\x6b\xc7\x21\x7b\x8e\x9e\x2b\x12\x53\xe3\x26\x6e\x2e\x32\xdd\xc2\x1b\x73\x79\xfa\x4b\x1a\x78\xb2\xe6\x2b\x1a\x63\x78\xbc\x6f\x50\xda\x90\x5d\x65\x22\x61\x6d\x62\x88\xd3\xd2\x38\xf1\x7e\xa2\x44\x7b\x8b\x3f\xa6\x56\x25\xc2\xf0\xac\x45\x92\x70\x11\x0a\xd5\x5e\x72\xd1\x71\xc7\xd4\x77\xaf\x71\x4f\x95\xe6\xab\xe9\xdd\xbd\x84\x62\x83\xe9\xdd\x2d\x3c\x94\x83\xf3\xbc\x28\x34\xd2\x5b\x0c\xd3\x4e\xcb\x41\xcb\xc9\xfb\xdb\xe4\xb6\x4d\x3b\x4f\x51\x1d\x0d\x03\xeb\xe5\xa2\x6a\x45\x0d\xb8\x3f\x82\x4a\x87\x55\x21\xd3\x7c\x15\xa0\xc7\x6c\x03\x73\xa2\x64\xec\x89\xa6\x2c\xc3\x30\x23\x05\x7a\x25\x94\xde\x06\x15\xcc\x21\x1b\xf8\xae\x80\xfd\x0d\xb9\x0b\xd3\xa4\x0e\x3c\xb1\xc7\xa9\x79\x4d\x66\x0a\xdb\xa5\xfa\x19\xc1\x46\xfd\xdc\x6d\x8c\xc9\x6e\xa6\xd4\xbd\x3e\x07\x79\x93\x93\xb1\x95\x08\x6b\x58\xe2\x2d\x6c\x34\xe3\xbd\xd8\xcb\x65\x06\xb4\xa7\x1b\x2a\x2e\x5b\xbe\xe2\xcf\xf7\x2b\x12\x2f\x29\xca\xd1\x0b\xea\x2f\xbd\xbb\x25\xbc\x83\xce\xab\x05\x47\x07\xb4\xc6\x19\xdd\xdc\x39\xb3\xc5\x9d\xfe\xcd\xf9\x8a\xde\xe0\xdf\xfc\x89\x06\xfe\xcd\xcf\x68\xe0\xdf\xfc\x94\xc2\x4e\x2c\xaf\xe7\xd4\xd8\x05\xbf\xa2\xf0\x23\x25\x8f\xe4\x20\xb8\xe3\x01\x5e\xeb\x14\xfb\xf2\xc4\x7e\x66\x95\xa4\xf0\x8b\x7e\x59\xf2\x4a\xc0\xaf\xfa\xd1\x5f\xcb\x00\xef\xdd\x3b\xfc\x60\x4a\x70\x26\x97\xf0\x9b\x7e\xbe\xa4\xa9\x80\x2f\xfa\xd1\x5d\xf8\x00\xdf\xeb\x57\x73\x4d\x04\xfc\x4c\x09\xb2\x1f\x8d\x0b\x35\x68\x7f\xef\x2f\x54\x89\x0c\xc7\x63\x6f\x2b\x16\x6f\x31\xfc\xc3\xaf\xe6\x7e\x4c\x59\xbc\x85\x9f\x28\x41\x6e\x5d\x0b\x53\x31\x28\xf8\xa2\xf3\x4e\xec\x7c\xc7\x2a\xeb\x68\x46\x33\x3e\xa3\xe2\x41\xec\x08\x64\xaf\x7f\x58\x95\x8b\x46\x44\xc7\xf4\xd6\xa2\xe6\x1a\x88\x76\xb9\xf2\xb6\x72\x61\xe6\x79\x07\x43\xb6\xb3\x83\x7d\x6f\x04\x8f\x2c\x6e\x85\x8e\x55\x45\xe7\x25\x15\xb3\xdb\x9b\x8c\xe7\x39\x2d\x66\x31\xe8\x9f\x3d\x00\xac\xbf\xa2\x1a\xed\xbc\x12\x1b\x17\x9a\x3d\xd5\x6c\x6e\xc5\xe3\x9c\x5e\x1e\x6a\x2c\x62\x5f\xc1\xfe\xc0\x9b\xdd\x55\xac\xd2\xf5\xe1\x2a\x65\x97\xb1\xe6\x91\x1a\x92\x72\x37\x1e\xe7\x2d\x35\xf9\x70\xf9\x1e\x97\xee\xdb\x30\x2e\x6f\x45\x8b\x33\xfa\x6a\x1e\xd7\x90\xc8\x76\x38\x4a\x2f\x25\x14\x86\x13\x71\x7a\x43\xd4\x48\x93\x03\xe8\xe9\xae\x0f\x71\xb0\x34\x71\xb9\x80\x9d\xee\x3a\x08\x37\xb6\x85\xeb\x9c\xc0\x4f\x77\x3d\x84\x5b\x41\x46\xc2\xdc\x90\x85\xf9\x1f\x85\xf9\xa1\xda\x53\x02\xaa\xd3\x56\x18\xc1\xe0\x13\x4c\xf7\x96\x82\xe9\x69\xd3\x95\xb8\x59\x0e\xf2\x1b\x4a\x42\x7e\xda\xed\x5c\x6c\x22\x20\xf2\xf3\xae\x91\xf3\xb4\xad\xa3\x24\xf1\x5a\xe4\xab\x5c\xea\x5b\x51\x74\xcc\xd7\x20\x90\x6c\xe8\x48\xdc\x2e\xd6\x1a\x18\xe6\x8a\x85\x6d\xc3\xad\xb8\x5d\xa4\x35\x24\x77\x8a\xfc\x81\x56\x9e\xed\xa0\x6d\x78\xd2\x86\x18\x6f\xf2\xe4\xf3\x76\xe6\x6e\xe9\xf7\xaa\x19\x44\x31\x9e\xc6\x63\x39\xc6\x7e\x4b\x53\xa6\x0b\xbb\x39\x50\x53\xce\x2e\xfb\xe3\xa7\xda\x1f\x22\x67\x8b\x28\xee\x4b\x1d\x73\xb6\x8f\xe2\xa9\x3e\x34\x3c\x8e\xe3\x24\x8e\x52\x19\xc5\x7d\x81\xfb\xb1\x0e\x3e\xea\x82\xba\x2f\xb8\x4c\xa2\xb8\xff\x1a\xb9\x7b\x16\xcc\x46\x83\x41\x3e\x11\x7d\x12\x4f\x54\x7d\xfa\xbd\x1f\x9f\xc6\x20\x89\x34\x61\x5b\xcd\xdd\x0d\x26\xb8\xb3\xa6\xae\xce\x3d\x50\xb9\xf5\x7b\x67\x4e\x43\xa3\xa4\x76\xc0\xd6\x91\xf1\x34\xbd\x80\x91\xe1\x98\x1d\xd5\xd1\x15\xfa\x7d\x13\x70\xe2\x95\x89\xab\xe0\x14\xf2\xe7\x61\x48\x77\x1a\xcd\x79\x51\xf0\x0b\x85\xb7\xab\x28\xde\x87\xb8\x8d\xfa\xee\x42\x55\x7c\x60\xb1\x0b\x4e\xad\x3a\x23\xd9\xad\x3f\x8d\x3e\xaa\x4f\x1f\x23\x2b\x67\xf6\xd7\xac\x89\xbe\x2a\x17\xdb\x86\xdf\x77\x1d\x0c\xc0\xdd\x01\x20\x8f\xe3\x8a\xd9\xe8\xfc\x71\xf2\xe3\xdb\x57\x27\x03\xe3\x1b\x9b\xcf\x2f\xbb\xbc\xc1\x4d\x18\x71\x29\x2e\xaf\x28\xd1\xb9\xb5\xa3\xb0\x5a\x2f\x66\xa9\xe6\x89\x86\xe3\xed\xf7\xf9\x86\xb2\x48\x43\xbf\x49\x8b\x7c\x16\xa9\x22\x16\x36\x5a\x96\xe9\x82\xfa\xa8\xe1\xbf\xe8\xb5\xf9\x1e\x6f\xf1\x5f\xf5\x8b\x23\x38\xb7\x61\xc0\x64\xba\x30\xc1\xbb\x0c\xa3\x24\xaf\x25\x7a\xa5\xc3\x4d\x86\x2e\xdf\xaa\x92\x0e\x7e\x3d\xe3\xbc\xa6\xb0\x7a\xa1\x29\x8b\x09\x51\x6c\xca\xe7\x91\x38\x7e\x83\x04\x4e\x9e\xa2\x38\x8d\x1e\xa9\x9c\x3e\x6c\x78\xce\xfc\x6e\x57\xcc\xaa\xd5\x19\x15\xf1\x41\x5d\x4a\x15\x30\xbe\xce\x6a\x31\x78\x78\x77\x74\xff\x6f\xf7\xff\xfb\xde\x5f\xef\xff\xed\x48\xf4\x7a\xe2\xa8\x7e\xef\xf5\xd0\xf0\x5a\x68\x87\x79\xd3\xd4\x41\x5e\x3e\x53\x3a\xa0\x22\xe5\xf5\xb5\xf8\xaf\x51\xab\x2e\x95\xc9\xf2\x86\x76\x53\x6e\xc1\xd0\x09\xb9\x71\x68\xae\x43\xa2\xeb\x7e\xf5\x25\xed\x6b\xbb\xa4\xd0\x23\x31\x65\x99\x4a\x33\x8a\x9c\xfa\xd0\x8f\x63\x5b\xab\x49\xab\xab\xd5\x8a\x89\xdb\xeb\x73\xd7\xa9\x1c\xbf\xf1\xe3\x57\x95\x32\xca\x8b\x2b\x61\xa6\x7f\x57\xa4\xc6\xac\xc8\x4b\xa9\x4d\x1b\x0e\x50\x03\x0a\xed\x3e\xed\x3d\xda\x34\x10\x2f\x54\x56\x55\x61\x3d\x70\x4d\x7c\x54\x56\x47\x50\xd0\xd1\x50\xf4\xd9\x1f\x3f\x8f\x0f\x08\x41\x1b\xc5\x47\x03\x3b\x74\x40\xe8\x70\x31\x9a\x25\xdc\x5a\x00\x31\xd8\xe0\x31\x75\x31\x97\x37\x06\x03\xa8\x99\xf4\x0d\x72\xf2\x28\x55\x30\x7d\x1d\xb0\xcc\xa4\x35\xc0\xe5\x1e\x4c\xc8\xf4\xfd\x7c\x2e\x5c\x01\x30\xc2\xff\x30\xe4\x99\x92\x4e\x16\xea\x1a\x64\x73\x85\xe6\x8f\x6f\x4d\x13\x99\x8b\xd8\xbd\x4a\x2f\xcf\xc2\x5e\xb0\xc3\xaa\xdd\x96\x69\xe8\xf8\x85\xa3\x06\x4e\x3e\xe1\x86\x90\x35\x67\x18\x56\xc6\xfa\x21\x7a\xf6\x1b\xcd\x64\xc0\x5c\xbd\x9e\xe2\x81\x03\x42\x44\xaf\x57\x45\x39\x8b\xc4\xf1\x9e\x06\x27\x95\x45\xee\x78\x93\x3c\x46\x15\x6c\x0c\xdf\xb1\xc8\xd4\x69\x2f\xe2\x88\x74\x73\x75\x14\xeb\xaa\x1f\x7f\x0c\x47\xa9\x9e\x2d\xdc\x9d\x0a\xfa\xd5\x87\x0d\xd8\xe9\xad\xe3\xe9\x03\xdf\x1d\x7a\xd8\x45\x05\x67\x0b\x2a\x22\xdd\xc9\x83\xe8\x84\xd2\x59\xa4\xeb\x88\xe2\xfe\xd4\xce\x57\x52\x87\xd6\x4e\x05\x35\xa1\xb5\xe3\xbe\xab\xa1\x1f\x47\x94\x49\x91\xd3\x52\x0f\xdc\x7d\x58\x4e\x6b\x2c\x5f\xa2\x69\x8d\x65\xea\x79\x45\x63\x52\xab\xcb\xda\xe6\xc7\xd2\xb5\x16\x39\xd7\xd7\x6e\xc8\x5d\x5f\x77\xf0\x61\x83\x0d\x6d\x61\x77\xb3\x42\x4e\x9a\xd1\x36\x52\xdd\x2d\x37\xf2\x5d\xda\xe2\xbb\xc7\x28\x55\x7c\x67\xa2\x14\xfb\x38\x52\x29\x38\x5e\x19\xe7\x6e\x2c\x95\x90\x07\xa3\x28\xf7\x3c\x68\x35\x79\x3f\x01\xcf\x15\x27\x55\x2c\x83\x82\xf8\x86\xdd\x4c\x5c\x84\x33\x71\x1b\xcc\x62\xc2\x4e\x1d\xb7\x3a\xf0\x36\xe3\x39\x99\x7b\xc6\xad\x9b\x9f\xbb\x41\x6c\xd5\xff\xa4\x9e\x58\x3a\xb0\xf6\xfd\xa4\x52\xfd\x5d\x50\x1b\x7f\x0d\x14\xee\xd4\x24\x66\x64\x72\x0a\xeb\x00\x09\x17\x7f\xda\x9c\xc6\x59\xd7\x37\xd5\xd4\xda\xde\x76\x61\x11\x22\x84\x6c\x9a\x48\xcc\x4c\x98\x93\x0d\x86\xb5\x3e\x6e\x77\x88\x3c\x43\xb3\x0e\x7d\x41\xa9\x76\x6a\xe6\xf7\x17\x61\x98\x05\x71\x3d\xd0\xcd\xd7\x6d\x23\xa4\x87\xbd\x95\x43\x06\xb1\x50\x0e\xb4\x5b\xb1\x9e\x33\xb5\x19\x5d\x0d\xd2\x81\x3f\x1f\x0a\x67\x54\xdf\xd0\x2e\x44\xba\x45\x6d\x2d\xb6\x2a\x17\xe3\x60\xfe\xad\xa7\xd4\x70\x6a\x6b\xcc\x56\xbb\x33\xc6\xc1\xb0\x63\xe2\xb1\xb3\x8d\x6e\x44\x3f\x85\x53\x4a\x28\xb1\x43\xd9\xd7\x1e\x61\xb6\xae\xf7\x61\xef\xbb\xa7\xa6\xd0\xf3\xad\xea\x77\xdd\xaa\x7e\xea\xf5\x6e\x2a\xec\x94\x58\x57\x58\xbf\xd7\xf1\x77\x6e\x2e\x5c\x8f\x95\xba\xf1\x8a\x65\xa6\xed\x8a\x65\xbd\xde\x0f\x28\x18\x32\xbe\x78\xd9\xcd\xec\x51\xcd\xcb\xc6\xcb\xc7\xbe\xdc\x0c\x84\x65\x72\x5b\xc5\xbe\x06\xb7\x8d\x40\x2f\x7b\x82\xfe\x1c\xd4\xc1\x82\x6a\xbe\x0a\x22\xff\x28\xd5\x5b\x8f\x74\x35\xc7\xbe\x47\x52\x8f\x6f\x3d\xf3\xf9\xdc\x8e\x1f\x1a\x91\x5f\xc2\x30\x65\x4d\x75\x56\xe8\x9b\x37\x1a\x71\xc1\xc2\x10\x2f\xb2\x15\xc0\xa5\x5e\xf6\x5c\x6d\xdd\xe0\x95\xe1\xe0\xb5\x57\xd3\x88\x09\x1d\x4c\x87\xa7\xe6\x58\x41\xea\x2b\x7c\xdc\x08\x15\xee\x6c\x86\x32\x45\x9a\x44\xa2\xdf\x30\x88\x8a\xbd\x62\xee\x3e\x5a\xf4\x44\x27\x98\x78\x24\x86\x80\x27\x55\x51\x24\x85\x7d\x79\xed\xd6\x55\x49\x69\x53\x1e\x9b\xb0\x20\x3a\xe4\xcb\xdc\x95\x79\x66\xd6\x91\x68\xe6\x12\x9e\x9b\x55\x22\x5a\x63\x58\xa5\xeb\x91\x89\xd7\xb2\x4a\xd7\x77\x13\x81\x2e\xf4\xd3\xbd\x84\xa2\x73\xfd\x74\x3f\x61\xe8\xad\x7e\xfa\x2e\xe1\xe8\xb3\x7e\xfa\x6b\x92\xa1\x47\xfa\xe9\x6f\x49\x85\x1e\xea\xa7\xff\x4e\xa6\xe8\xc4\x35\xf0\x13\xbd\xfc\x55\x8d\x9a\xd7\x69\x2e\xca\x64\x13\x5c\x0a\x77\x86\xcd\xc5\x71\x29\xb8\x9b\xe4\x72\xd0\x7c\x93\x5c\x42\x3e\xa3\x4c\xe6\xf2\x32\xf9\x02\x86\x24\x1a\x59\x73\x31\xa6\x7e\xd7\xd3\x56\xb2\x1c\x48\x6e\x15\x16\x9b\xae\x63\xb1\xf8\x58\x3a\x36\xf1\x95\x9e\xd0\x92\xef\x81\x7e\xaa\xd2\x42\x55\xfb\xde\xdc\x47\xfd\x4f\x4a\x7e\xa2\x83\xba\x24\xfc\x9d\x12\xe4\x53\x4c\x15\xfe\xd5\xd4\x82\xe1\x9b\x30\x8f\x82\x4b\x65\x71\x00\x63\x90\x4c\x7f\x76\x09\xb0\xe7\x19\x83\x60\x75\xe3\x40\x4d\xa9\xba\x67\xc1\xbf\xf9\xae\x45\x56\xbe\x61\x0c\x4c\x97\xf5\x37\xe4\xe8\x37\x1d\x2f\x38\xd3\x8f\x2e\xec\x7b\xa5\xdf\x44\xc5\x60\xea\x9e\x1c\x4b\x41\x6a\x5a\x54\xfd\x05\xe6\xf7\x6f\xf6\xf7\xaf\x18\x4a\xff\xf1\x3b\x9b\x78\x1f\xc3\x5c\xd7\xa1\x58\x02\x0a\xf7\x78\x17\x66\xee\x71\x04\x6b\x53\x4a\x77\x62\xd7\x6e\x7e\x5e\xa3\xe8\xb9\x13\xac\x90\x35\x97\x54\x2f\x43\x32\x68\xde\xac\xe9\xa0\x79\x17\xc3\x86\xed\x3f\xd3\x7d\x0f\x4b\x66\x4f\xf1\x61\xa5\xe1\xea\x60\x42\x58\xb0\xee\x38\x2e\x5d\xc0\xe9\x89\x41\x07\x1d\x39\x0b\x41\x0b\xfa\xc4\x4c\x46\xb8\xb3\xbf\xb4\x31\x15\x86\xcb\x00\x94\xe0\xab\x9e\xdb\x30\xbc\xeb\xfe\x6a\x27\x36\x0c\x17\xac\xf3\x38\x99\x75\x07\xd1\x9b\x1c\x7e\xb8\xf3\xe1\xc3\xff\x7e\xf3\x97\xfe\xf1\x00\xe1\xeb\xc9\x87\xd3\xab\xed\xe9\x9d\x05\xc4\x1f\x3e\x7c\xd3\x8b\xdb\xb7\x97\xb8\xe5\x18\xbd\x88\xde\xd0\xc5\xd3\xcf\x6b\x24\x07\x25\xaf\x44\x46\x21\x5e\xe4\x71\xfb\x32\xb3\x8e\xec\x10\x2f\xe2\xf6\x25\x6c\x75\x46\xab\xcb\x0f\x56\x76\xd1\xdf\xba\x6e\x0c\x28\xbe\x92\x24\x7e\x58\x14\xb1\xbf\xe2\xeb\x78\x74\x67\x98\x68\x81\xe9\x85\xbc\x0e\xee\x06\x19\x19\x42\x45\x28\x4c\x49\x10\x4f\x0e\x72\x72\x38\x1a\x67\xfd\xfe\x91\xec\xf5\x74\xf8\x37\xfa\x99\x66\xa8\xc2\xb8\xd7\xcb\xcd\xd4\xe1\xb2\x06\x77\xc2\xa4\xfe\xc2\xd6\xc3\x11\x94\xc1\xc2\x2a\xc5\xe3\xf4\xc1\xd0\xca\xed\x39\x61\x93\xf4\x74\x5c\x4e\x0e\x0f\xd3\x53\xe2\xb7\x42\xe6\xc7\x9f\x92\x17\x68\x8e\xb7\x36\xac\xdc\x95\x46\x2e\x61\x93\xe1\x29\x94\xd5\x99\x7e\xa3\x65\x12\x46\x02\x2b\x6d\x40\xa9\x84\x99\x19\x1c\xcc\x72\x5c\x1b\xeb\xe6\x21\x8c\x7e\x42\xa8\x93\xc8\x14\xf6\x45\xaa\xcb\x51\xd7\xfd\x45\x46\x45\xcb\xfa\xfd\x07\x44\xd6\x31\x6e\xea\x19\xd3\xdf\x3d\xe9\x48\x70\x0f\x78\x40\x02\x86\xc7\xcc\x93\xa0\xaa\x73\xeb\xbb\xdf\x26\x87\x87\x2c\x20\x45\xa5\x49\x51\xd5\x57\xba\x39\x62\x88\x7d\x94\xe0\x8e\x12\x75\xbd\x3b\xf0\xdc\x3d\x0d\xe8\xb3\xdd\xcf\x1f\xe6\xb4\x77\x58\xc7\xdd\x75\x83\x40\x00\x6f\xdf\x0a\x0d\xe6\x4e\x4b\xb4\xb7\x36\x4c\x08\x19\xdd\x19\xd6\x01\x06\x6b\x98\xa9\x8d\xe3\x26\x30\x6e\xf0\x24\x05\x7b\x8b\x4f\xc8\x8f\x0d\xee\x1c\xcb\xc3\xc3\x90\x2d\x39\xc6\x63\x6c\x6f\x12\xe2\x36\x08\x68\x05\x96\x29\x30\x6e\x56\xe5\xf0\x6a\xe7\xc7\x18\xf6\xb3\x47\xe6\xcd\x3c\x04\x5d\xd0\xcf\x49\x06\x4a\x1f\x7b\xce\x4a\xca\x4a\xa3\x1f\x70\xa0\x65\x96\xae\x69\xc2\xc2\x80\x68\x15\x86\x79\xce\x66\x89\x40\x53\x1d\xe9\x4d\xd1\x31\xa1\x28\x77\xb1\xe0\x04\x4a\x8d\xa9\xc7\xb9\xbe\x9b\xed\x3c\x2f\x0a\x78\xcb\x88\xb6\x14\x29\x28\x35\x97\x8d\xac\xd3\x0b\x86\xe1\xf3\xae\x80\x6e\x9e\x8e\x76\xd8\x02\x51\x7b\x0e\x6e\xe3\x74\x6f\xb7\x18\x1e\xb1\xdb\x02\xf4\x77\xd9\x14\x99\x10\xfd\xda\xea\x5b\xe9\x57\x9d\x37\x7c\x44\x5a\xf5\xc2\xf0\xb0\x73\x1e\x90\xfa\xa0\xfc\x84\x91\x0b\x66\xa3\x8c\xbd\xd1\xcf\x96\x28\xf0\x54\xbf\x29\x62\xc1\x4b\x46\xd0\x05\xab\x03\xb0\xa9\xe7\x26\xb5\x41\x17\x5c\xd0\xcf\x18\x1e\xeb\x72\x86\xf6\xf0\x89\xdd\x14\xe4\xde\x0e\x22\x19\x0e\x22\x61\xc7\x0d\x75\x63\x83\x75\x23\x67\x89\xf2\x50\xbe\xe4\x6a\xe6\x72\x57\x98\x3c\xf3\xe6\xf1\x8a\xfd\xb7\xf0\x82\x11\xd4\x30\x2c\xe8\xb0\x57\xd8\x89\xe2\xd5\x65\xf3\xc6\x74\xbc\x72\x7d\x9b\x87\xb6\x4b\xbb\xbd\xce\xe7\xbf\xb7\xce\x8e\x4e\x7a\x26\x90\xb4\x5f\x9f\xef\xd5\x07\xac\xbd\x9c\xb0\x19\x5f\x75\x75\xb7\x3b\x6f\xa6\xb2\x33\x60\xc7\x8f\x8c\xbc\x62\x48\x52\x0c\xaf\xf7\x36\xf3\x8a\x21\x6b\xbe\xd1\xb6\x7a\xf0\x21\xcc\xe1\x49\x27\xab\xa5\xe8\x07\x78\xcd\xe0\x47\xa6\x15\x8c\x5f\x3a\x18\xde\x66\x7c\xc2\xb4\xf1\x8d\x84\x17\x0c\xb9\x68\xf3\x7b\x81\xb1\x16\x69\xbe\xed\x5b\x4c\x15\x74\x89\x05\x35\x97\x69\xd2\xdf\x53\xe8\xf2\x8f\x14\x7a\x7b\x43\xa1\x0e\xe3\x16\x53\xa8\x6d\x13\x19\x5e\x23\xa9\x95\x3d\x76\x4b\x6d\xfa\x12\xc9\x77\x5f\x55\x4b\xcb\xc2\x75\xaf\xa8\x79\xc5\x6c\x34\xb2\x57\xcc\xda\xad\x76\x69\x69\xdd\xd7\x51\x37\x78\xfe\xc6\x5b\x69\x9b\xfa\x97\x59\x66\xea\xbb\xc6\xf4\x7d\x98\x8d\xab\x97\x7a\xbd\xd0\x32\x90\x21\xcb\x00\x5e\xac\xa5\xb3\xd9\xd3\x0d\x65\x52\x2d\x74\x28\xa3\x02\x09\xc8\x1a\x40\x2b\x2d\x72\xc5\x37\x74\x37\xd7\xb6\x71\x6d\x22\xfb\x7a\x43\xc6\xb3\xd0\x70\xd1\xf4\xc5\x8c\x67\xe6\x36\xe4\x05\x95\x4f\x0b\xaa\x1e\x1f\x5d\x3e\x9f\x21\x89\xc7\x14\x59\x85\x91\x1d\x07\x16\x88\x02\x31\x8c\x13\x7b\x21\x8a\xb3\x2c\x3a\xe1\xf2\x19\xaf\xd8\xcc\x8e\x54\x63\x4a\xb3\x47\xb9\x45\x9d\xa6\x45\x72\x30\xe7\x59\x55\x22\x0c\xee\x56\xd4\x9d\xbb\x7b\x6f\xab\xe0\xac\xa8\xc4\x9e\xf2\xd5\xd7\x94\x2f\x33\xc1\x8b\xe2\x1d\x5f\x6f\xdb\x8a\xf1\xef\x28\x4b\x44\x27\x00\xe9\xef\x02\x80\xb8\xe7\x1f\xa8\x8e\xc8\xd9\x55\x63\xf9\xf5\x35\xbe\xa0\x73\xb9\xc5\x7b\xec\x5d\xbe\xa6\xf0\x1e\xa4\x8a\xdf\x07\x82\xc7\xea\x7d\x3e\x93\xcb\xce\x1a\x67\x2d\xc8\x44\xc3\x60\xab\xcb\x27\x47\x2d\x0e\x69\x7d\xba\x17\x89\xb0\x0d\xb3\xfb\xf5\x6b\x5e\xe6\x67\x05\xdd\xcd\x99\x15\x39\x65\x72\x6f\xce\xf7\xb9\x5c\x3e\xe2\x62\x46\x45\x19\x14\xe2\xf3\x79\x49\xbf\xaa\xd0\x43\x36\x7b\x99\x8a\x45\xce\x4a\x73\xa6\x41\x89\x50\xa3\xec\x91\x1a\x28\x39\x5b\x3c\xd6\xad\xbf\xa1\x99\x44\xc1\xf5\x07\x3a\x04\xab\x8e\xf8\x3e\x97\xdb\x8e\xab\x7d\xff\x04\xd2\x18\xa6\xfa\x2a\xda\xec\xcf\x7a\x13\x71\xbe\xaa\xd4\x1f\xa2\xce\x19\x97\x92\xaf\x0e\xe9\x40\xf2\xb5\xa2\x8e\x71\x60\xb9\x6a\xcb\xd2\x24\x10\x73\x5b\xe8\x10\xa3\x8d\x0c\x5b\xd8\x10\x8a\x82\x03\x75\x7f\x4e\xe3\x84\xe3\xb1\x7b\x48\x96\x18\x16\x7b\x32\x5f\xe4\x6c\xc6\x2f\x8e\xcd\x8f\xca\x78\x46\xba\xb2\x09\xfa\xa9\xa2\xa5\x7c\xc8\xf2\x55\xaa\x20\x78\x26\xd2\x15\x3d\xee\x4c\x4d\x9a\x66\xe0\xd8\xb9\xce\x5d\x71\xf6\xc4\x01\x24\xd0\x06\x03\x67\xef\x4d\xab\x3a\x04\xb4\x16\xa4\x09\x07\x25\x0f\x93\x0c\x16\x54\xbe\x75\x82\x25\xa9\xa0\x0c\x5f\xa5\x5a\x5f\xf8\x0c\x3a\xb4\x73\x59\xe7\xb0\x21\xa3\xe7\x18\x24\x7f\xa4\x29\x9f\xa4\x20\xb9\x09\xfb\x5c\xc0\x92\xda\x20\xd2\x6b\x0c\x17\x6a\x3c\xe8\x9d\x4c\xb3\x95\xf7\x2b\x23\xe8\x17\xa6\x45\x32\xfc\xc2\x8c\x6c\xc7\xf0\x9e\x91\x5f\xd8\xc0\x41\x0b\x3f\x98\x4c\x35\x36\x9d\x73\x36\xdb\xb9\x01\x5a\xd2\xcf\x32\x06\xf5\xbf\x61\xf5\xc2\x1b\x46\x9d\x9d\x9a\x45\x86\x9c\xcb\x46\xc7\x5d\xa5\xf5\x9a\x7c\x89\x04\x56\xab\xf0\x01\x4b\x57\xb4\x5c\xab\x75\x46\x46\xd8\x60\x9e\x9a\xeb\xc2\x27\xa7\x30\x25\x43\xb7\xb9\x4c\xc3\xcd\xe5\x5c\xdb\xa7\x8f\xa7\x7d\x92\x0f\x66\xb4\xcc\x28\x9b\xa5\x4c\x96\x8f\x79\xc5\xe4\xf5\xf5\x10\x2a\xb3\x7a\xcc\x31\x50\xbd\xf3\xec\xef\xb7\xed\x93\xca\x1d\x2d\x37\xee\xb9\x36\xc6\x87\xba\x65\xb5\x7a\x5c\xe6\xc5\x4c\x50\x96\x54\xe0\x41\x4b\x38\xb4\x5b\x4a\xa6\xdb\x9d\x8b\xf8\xff\x7c\xfc\xa6\xa3\x7f\x15\xc5\x73\x7a\x49\x67\x87\x7f\x16\xa2\xd3\x56\x5c\x63\xd3\x46\x56\x95\x92\xaf\x62\x5b\xf3\x12\x49\x6c\xf1\x5c\xf1\x19\x2d\xd4\x42\x6e\xb5\x2e\x12\xba\xdd\x73\xdf\x8c\x63\x39\x6d\x0b\x1f\x5c\x24\xae\x80\x4e\xc4\x2e\x40\xa3\x3e\x12\x5d\x64\xc1\x6d\x7b\xd3\x1d\x40\xe5\xb2\x62\xe7\xde\x38\x32\x15\x0b\xb5\xca\xd4\x89\x6a\x95\xa9\x9a\xb3\xd7\xd8\xef\xbb\x82\x7e\x6e\x4c\x14\xc3\x41\xe4\x47\x83\xd8\xbd\x62\x3e\xbc\xbd\xd7\x99\x2e\x76\x94\x75\xde\x48\x3b\x73\x51\x43\x6b\x9e\xd7\x66\x8d\x1d\x75\xd4\x57\xbb\x6d\xdb\xf7\xc3\xfb\xe3\x1a\xa0\xfb\x0e\x6c\x98\x3e\xb0\xd1\xfc\x7a\x4e\x2f\xc7\xf9\x1c\x71\x42\xc8\x4c\x5e\x5f\xab\xdf\xb5\xfd\x2d\xfc\x65\xec\x74\xc2\x4f\xf5\x0d\x50\xd9\x44\x2d\xf7\xd3\xe2\x27\x7a\x79\x4a\x98\x33\x0b\x99\xf0\x53\x92\x99\x00\x30\xb6\xaa\x79\x00\x47\xe5\x8b\xc3\xd4\x95\x71\x50\x4d\x9b\x23\x61\xaa\x46\x42\x35\xc9\xf5\x31\x52\xae\xed\xf8\x55\xda\x68\xab\x9b\xa8\x7c\x13\xb1\xe7\x60\xed\xb5\x8a\x85\xaf\xd7\xe7\xc8\x8a\xb4\x2c\x4f\xd2\x95\xcd\x71\x65\x76\x45\x55\x3d\x63\x5d\x99\xdf\xe2\x4b\x8f\x6d\xd9\x24\xed\xc7\x51\xdc\xb7\x6f\xa6\x2d\x9d\xd5\xd5\xdd\x38\xd2\xba\x32\xdc\x4f\x83\xc1\xb4\xcf\xfe\xf7\x9c\x5e\x26\x73\xd9\x61\x78\xd9\xb4\xf1\x55\xd9\xba\xec\x2c\xcf\x76\x72\xcd\x24\xd8\x4e\xe8\x2c\x70\xd9\x1a\x0c\xaa\xc8\xba\x2e\x22\x6c\x91\x2b\xf3\x13\x62\x20\xb7\xbb\x97\xc7\x37\xaa\x29\x76\x5b\xbe\xe2\x6b\x95\xbd\xd4\x43\xd7\x18\x0f\xd3\xb0\x9a\xc6\xfd\x40\x48\x0e\x6c\x76\xbd\xaa\xb3\xcf\xd7\xd7\x3e\x79\x50\x4a\xbe\x7e\x2d\xf8\x3a\x5d\xe8\x59\x3b\xcc\xd6\xfe\xd6\xeb\xd5\xc5\xd6\x82\x2a\x6d\xe4\x89\xf1\xb8\x6c\x94\x6a\x7e\xc2\xbd\xde\x4f\x74\xe0\xce\xc9\x3a\x4f\x78\x5b\xc6\xc6\xf5\x22\x5a\x0d\x96\x03\x35\x2e\x8e\x45\xf2\x0e\x09\x37\x12\xc0\x9e\xb4\xbb\x16\x21\x47\x33\xa6\x37\x28\x4c\xb2\xab\x77\xf7\xee\xf8\xda\x7a\xe0\x72\x4d\xad\x8e\x69\x84\x56\x7d\x38\xad\xe4\xd4\xf5\x35\x32\x0f\x44\x0e\xf4\x77\xa5\x10\xbc\xb5\x69\xde\xf0\xc2\x4a\xd4\x86\x0d\xa7\xce\xa0\x86\xbb\xf9\x38\x76\x99\x8c\xdd\xe0\xe5\x9a\x8e\xf1\x8e\x2d\x0d\x3b\x66\x64\xc2\xbc\xc7\xd5\x69\xc2\xcc\xfc\xe3\x12\xcc\x34\xa4\x6a\xb6\x9e\x6c\xd6\xaf\x29\x61\xb0\x4e\x85\x56\xa1\x9c\x5e\x85\xa6\xe4\x2d\xa2\xc0\x31\x1e\xd0\x62\x35\xd5\x1d\x31\x55\x25\xa7\x82\xce\x09\x87\xa9\x85\x5c\xa9\x1f\x0e\xe5\xa5\x1c\x64\x82\xa6\x92\xbe\xa3\x9f\xe5\x09\x9f\x51\x45\x1f\xfa\x59\x3a\x33\x3b\x35\xb7\x25\x9f\xd1\x54\x61\xe7\x38\xf7\xd8\x17\xb2\x2b\xee\x13\x4d\x1d\x3f\x17\x1b\xfb\x8c\xa4\x9d\xcb\xda\x6d\x80\x00\x69\xa6\xb0\x7a\xff\x3b\x53\x12\xd3\x4e\x99\x50\x91\xe1\xb8\x3a\xca\xdc\xa9\x7d\xd5\xef\xe3\xa9\xbd\x4a\xe1\xb1\xca\x83\xde\xa2\x6c\x52\x69\xb3\x1b\xa7\x59\x4f\xbd\xd9\x92\x9b\x8f\xff\x33\x61\x36\x1e\xa5\x6d\xb0\xed\x14\x5f\x1b\x8e\xad\xd6\xc5\x40\x50\x36\xa3\x02\xc9\x81\x9e\xe7\x7d\x91\xcf\x68\x1a\x00\x03\xa1\xfe\xf0\x79\x47\x51\x8a\x72\x16\xd5\xb1\x08\x26\xec\xd4\x59\xd0\x30\xc3\xfe\xd1\x5c\x26\x8f\x90\x04\x8e\x03\xe3\xe4\xa8\x90\x89\xb1\x9f\x6f\x26\xcf\x64\xf2\x66\x27\xef\x5a\x26\x4f\xdb\x89\xce\x6e\x46\x4e\xd8\xe9\x01\x21\xbc\xd7\xd3\x66\x14\xc4\x67\xf2\xf1\xbe\x75\x6a\x28\xbe\x1e\x35\xed\x36\x4a\x79\x59\xd0\x71\x03\x1d\x61\x8c\xa1\xc5\x84\x9d\xee\x98\xfb\xd7\xd3\xad\x62\xff\x65\xca\x66\x05\x15\xa5\x9e\x4a\xbd\x05\x64\x40\x92\x8c\xb0\x09\x3f\x05\x33\x63\xaa\x69\xb9\x3e\x88\xc2\xdd\x9b\x57\x1c\x32\x0c\xac\x9e\xd0\xfc\x04\xe8\x4b\x66\xf8\x2a\x23\x27\x48\x40\x85\xc7\x1d\x7b\x64\x75\x05\x76\x06\xcf\x06\x39\x9b\x73\x52\x6d\x9b\x30\x13\xd6\xf2\x49\x68\xec\x01\xfa\x4b\x08\xa8\x2e\xad\x77\x23\xed\xc1\x3c\x0b\x0c\xc8\xb4\x69\x97\xbb\x2e\x3b\x0c\x35\xc1\x9c\xec\x1c\x67\xbb\x52\x5e\xb4\x93\x10\xd6\x6e\x7b\xa1\x58\x57\xb9\x9a\x29\xa8\x1e\x17\xc6\x19\x1c\xa6\x44\x8e\xa7\x63\xa7\x0a\x4c\x9d\x48\x54\x30\x39\x54\x6a\x43\xcd\x14\x57\x24\x45\x15\x36\x04\x75\x35\x95\x24\x75\x03\xaa\x3c\x3c\x1c\xab\x3c\x93\xf2\x54\x65\x53\x8a\x8a\x91\x7e\xdb\xad\x3f\x2d\x34\xa4\x14\x40\x1b\x3e\x19\x8d\x8b\xce\xac\xad\xa1\x75\x1c\x9e\xd0\xd3\xb1\xef\x39\x76\xec\xfa\xfc\xa1\x94\x22\x3f\xab\xcc\x1d\x9b\x72\x50\x52\x19\xa4\x28\x1d\x70\xc7\x99\x63\x7f\xfd\x1d\xab\x14\xa3\xde\xd4\x1c\xb3\xdb\xee\xc9\x5b\xc4\x61\xa7\x6d\x93\xaa\xb7\x4f\xdb\xfe\x1a\x66\xbc\x4c\xfc\xfd\x9a\x9f\xac\xbe\x3a\xc4\x21\x31\x1e\xb7\x54\x0c\x73\x02\x24\x9c\xcf\xc9\x2c\x95\x69\x42\x61\xc6\x57\x27\xb5\xb2\x0e\xba\x93\x4f\x3a\xb5\xf7\x4f\xb5\x16\x9d\xcf\x91\x3c\x20\xc4\x87\x33\x32\x73\x2c\x64\x44\x98\x69\xcf\x2a\xaa\x99\xf3\xe1\xc8\x9a\xd3\x6f\xcd\x3a\x72\xa0\x16\x0e\xfa\xd8\x53\x3f\xe4\xf5\x9a\x2b\x25\x3b\xa6\x67\x39\x51\x4a\xad\x65\x91\xb4\xd7\xcb\x15\x97\xa4\xa4\x9a\xe4\xa7\xea\xcb\x24\xd7\xc3\x3a\xf5\x36\x8d\x3c\x9f\x21\xe1\xa6\x76\xf5\x83\xc7\xf6\x55\xb8\x99\xde\x5a\x95\x36\x68\x69\x27\x7e\xf3\x53\x2a\xaa\xea\x9a\xdc\x09\xf3\x83\x61\xaf\x47\xcd\xa4\xfd\x18\xc5\xeb\x43\xbb\x10\x62\x50\x62\xbc\x47\x59\x98\x7b\x1d\x01\x0a\x63\xe4\xa8\x1e\x67\xe4\x60\xa4\x8d\x37\xf5\x6c\x1f\x28\x0f\x6b\xab\x3c\xcc\xc8\xc1\x10\x76\x34\x88\xf9\xf1\x9c\x4c\xe6\xb0\xf6\x1a\xc4\xdc\x00\xb3\xf6\x1a\xc4\x9a\xac\x4d\x9d\xae\xfd\x25\x11\x3b\x8d\x2c\x6f\x6c\xa4\x38\x2e\xc8\xa4\x80\xa5\x6f\xa4\x30\x8d\x2c\x7d\x23\x4b\xb2\x34\x75\x5a\xc2\xcd\x7a\xbd\xb9\xa5\x90\x52\xe3\x9c\xa5\xb3\x66\xa3\x90\x5c\x82\xce\x44\x7a\xa1\xe8\x25\x30\x4e\x10\x9a\x1d\x3f\x43\x73\x28\x70\x32\x57\xab\x22\x7c\x7d\xdd\xa0\xad\x5d\xc7\x32\x28\xb0\xe9\x86\xe8\x13\x5a\xc3\x52\xb1\x61\x7f\xe4\xc9\xad\x35\x1c\x63\x47\x4a\x3f\x4b\x63\x48\xaa\x94\x9a\x80\x11\x1a\x30\x98\x1d\x19\x06\x36\x9b\x9b\x6d\x43\x1d\xc8\xab\x88\x81\x65\xaa\x52\xa5\xfd\xe0\xd6\x89\xb5\xbe\x71\x1b\x9e\x66\x38\x19\xc3\xdf\x17\xc8\x4e\xe8\x20\xec\xc4\x8e\x9b\x2c\xa5\x13\x55\xd1\x8d\xc3\xfa\xb9\x1f\x7c\x78\x57\xf7\xf9\x0f\x83\xf5\x55\x1b\x56\xa7\xf0\xe8\x1e\x52\xda\x8e\x86\x47\x3d\xec\xed\xa1\x06\x44\x63\x63\xc4\xbc\x0b\xca\xd8\x43\xba\xd9\x0f\xd4\xd8\x84\xfe\x32\x0d\x0e\x66\xf9\xdc\x9c\x27\x28\x51\xb1\xda\xdb\xbe\xdb\x86\x61\xb0\xf2\xec\x61\x57\xad\xfb\xa0\xdc\xde\x70\x79\xe7\x70\x4c\x8f\xbc\x5d\x2a\x35\xe6\xa6\x72\x42\x95\xbe\xa4\x6f\xdc\xbc\xc1\xd8\xf4\x45\x43\xd9\x69\x6a\x36\x52\xd5\xc3\x0f\x08\x99\xcb\x5e\x8f\xeb\xd5\x93\xf9\x9d\xd9\xdf\xb5\xc9\x11\xcc\x53\x19\x91\x46\x0b\x12\x4a\x0b\x52\xd2\xb5\xea\xf5\xac\x0a\xa7\xb4\xb7\xeb\x6b\x4a\x4c\x3d\x17\x28\x83\x0a\x5f\x5f\x23\x64\xaf\xa8\xc6\x7a\x9f\x00\x6b\x32\x34\xd2\xfc\xe4\x46\x8f\x77\x1c\x7e\x54\x6b\xc7\x71\xac\xad\x2f\x13\xaa\x77\x2f\xd4\xab\x69\xc4\x34\x36\x93\x86\x23\x87\xc9\x55\xb0\x5a\x9e\xf0\xd3\x60\x26\x35\xcb\x61\x3b\x27\x69\xb5\xe1\xca\xa8\xcf\x2f\x90\xc6\x47\xb8\x5d\x10\x8e\xc7\xd3\x5e\xaf\x09\xf3\x14\x6f\x1d\xd9\x72\x43\x0a\xfd\x23\x1b\xb8\xe5\x4a\xcb\xcc\xbd\xc3\x5d\xc4\x5a\xf7\xa7\x86\xf6\x08\xc1\x4a\x40\xcd\x79\xc1\xb2\x80\xbb\xe9\x6b\x4a\xea\xd5\xc1\x83\xe9\x71\x93\x6b\xd4\xf4\x7f\x58\xa4\xa5\x16\x42\xd5\xe1\x14\xe3\xa4\x3a\x9a\x36\x59\xd8\xac\x26\x54\x86\xac\xb6\xdd\xa9\xd5\xae\x9c\x30\x48\x49\x75\x34\x3d\xae\x92\x29\x94\x64\x38\x2e\x8f\xd2\x71\xa9\x7d\x16\xfa\xfd\xb1\x99\x75\xf8\xa4\x3c\x1d\x7f\x42\x73\xc8\x26\xe5\x29\x50\xc8\x31\xe4\x7d\x32\xef\xda\xf0\xdb\xb6\x6e\x78\xb5\x86\x61\xde\x93\x48\x9b\xd0\x5d\x6d\xdd\x76\x6b\x40\x81\x3c\xa4\x40\xea\x27\x68\x28\x49\xee\x1e\xe7\x64\x08\x05\x19\xc2\x8c\xb0\xf1\xfc\x28\xed\xf5\x8a\xa3\xd2\xea\x8a\x6b\x32\x9d\xcc\x4f\x61\x49\xf2\x49\x71\x6a\x22\xfd\xd9\xb0\x5e\x43\x58\x68\x47\x04\x38\x33\x41\xbe\x94\xde\x7d\x40\xc8\xca\x94\xbb\x24\xf3\xfe\xe8\x28\x85\x77\xa4\xe8\x8f\x8e\x4a\xf5\xf5\x12\xab\x0f\x17\xaa\xc2\xfe\xe8\x14\xce\xc9\x85\xaa\xe4\xad\xfa\x19\xc1\x67\xb2\x22\x84\x9c\xab\x7c\xef\x74\xbe\x47\xaa\x45\x95\xef\x21\x79\xa4\xf2\x9d\xa8\x9f\x11\xbc\x21\x1b\x42\xc8\x43\x5d\x5f\xaf\xf7\xae\xd7\x7b\xd3\xeb\x7d\xc6\x9f\xd0\x02\x4e\x80\x43\xbf\x3f\xc3\xf0\x23\xca\x80\xc3\x06\xce\xa0\x80\x0a\xc3\xac\x4f\x16\x9d\x3b\xcb\xaf\x6d\xbe\xb7\xa6\xd8\xac\x4f\xde\x76\xe6\x9b\xf7\xc9\x5d\x28\xfa\xe4\xae\x5f\x5f\xa8\x66\xf1\xac\xdf\xb7\x4d\xad\x5c\x53\x0e\x8c\xd9\x0d\xad\xce\xfb\x64\xd4\xac\xed\x52\x61\xe0\x80\x59\x78\x60\xba\x8b\x7f\x42\x6f\xe1\xcc\x61\x7a\x2b\xc8\xa3\xb1\x0b\x8c\x7c\x70\x79\x7d\x7d\xf0\xee\xfa\xfa\xfc\x80\x90\x87\x26\x42\xef\xb8\xd5\x66\x0b\x99\x1b\x41\x38\xf9\x6a\x10\xee\xda\xe8\xd8\x8a\x36\x21\xe0\xfb\xa8\xd3\x87\xa2\xdf\xd7\xf2\x40\xb1\xe2\x18\x5f\xcd\xfa\xfd\xf1\x82\x20\xc3\x88\x58\x71\x9a\x81\x5b\x73\xe2\xe2\x16\x5a\xf7\xbd\x64\x79\x3a\xd6\x4c\xfd\x94\x3c\xbd\xbe\x9e\x9c\x5a\x64\x91\xe1\x6b\xac\x43\x97\xe8\xc0\x25\x46\xcd\x7e\x8a\x15\x14\x63\xc4\xbd\x4e\x79\x7d\x5d\x05\xcf\x7e\x5e\x7b\xda\x9a\x6d\x05\xd5\xc7\x91\x4a\x2c\x5c\xad\xad\x71\x17\x87\x5c\x07\x48\x2b\x93\x0a\x28\x9b\x3d\xb7\x2f\x4f\xb7\xe1\xa6\xd8\x8f\x4d\x37\x7c\xab\x7e\xab\x25\x51\x73\x25\x6c\xa5\x5f\x45\x9c\x3b\xb8\x0e\xbd\x06\x1b\xbd\xa3\xcf\xac\x19\x19\x37\xab\x07\x2b\x8e\xc1\xda\x18\x5e\xb9\x8f\x94\x49\x71\x99\x54\x5b\xab\x38\xab\x56\x48\x65\xd6\xa7\x46\xf6\x99\x08\xa4\xc6\xab\x67\x6f\x59\x9d\x81\xc4\x3a\xff\xd8\x08\xfb\x50\x4d\xaf\x06\x1b\xb3\xff\x06\x53\xa8\xac\x0d\xa4\x7b\x20\xdc\xb4\x5c\x0d\x14\x9c\xfa\x1f\xf1\xe4\x9a\xd6\x6d\x6c\x2d\x55\xfa\x1b\x69\x09\xd3\xba\xc0\xba\x19\x9f\x76\x87\x5c\x19\xbe\x9a\x92\x40\xa6\xc7\xc0\x6d\x0f\xd7\x97\xe1\x1b\xfc\xa6\x21\x2d\x0c\x69\x5d\x91\x4e\xd2\x4e\xb7\x26\xb0\xa9\xa5\xff\x01\x21\x99\xa6\xd7\xeb\x06\xc0\x66\x01\x7d\x95\xb5\x29\xa5\x84\xf4\xf8\x13\x52\x53\x87\x21\x52\xa5\xf2\x1a\x1a\xb6\xc0\xf5\x64\xa9\x2c\x59\xb2\xad\x5a\x25\x59\xa0\xb7\x2d\xd7\x6c\x33\x2b\xfc\xe2\xd6\x9b\x30\x84\xdd\xd3\x23\xb5\x64\x6e\x3a\x58\x87\xd1\x1c\xdc\x70\x99\xea\x0d\x2a\xc8\xc9\xd4\x3a\x4e\xaa\xc5\x1d\x0f\x37\x10\xec\x42\xd2\xaf\xb0\x08\x21\x29\xd6\x50\x98\x95\xd9\x54\xf7\x2b\xb8\x5d\x04\x93\xd5\x8d\x0f\x9d\x79\x3a\xb0\xab\x5b\x22\x61\x3a\xf0\x4b\x5b\x52\x01\x9a\x13\x53\x7c\x60\xd1\xc7\xc1\xe2\xce\xc0\x3c\x87\xa1\x85\xb9\x59\xbf\xe3\xdf\x14\x5f\xed\xad\xdf\xae\x2a\x4d\x13\x35\xc7\x1c\x10\x52\xe2\xab\x72\xa0\x09\x6d\xb8\x52\xda\x99\xba\x74\x80\x8c\xe7\x37\x40\x62\x45\xdd\xfe\x76\xf3\x39\x62\xfd\x3e\x1c\x20\x43\x5e\xa5\xbd\x79\x0a\xe3\x07\x19\xf6\xba\x8d\x0f\x4f\x1f\x6e\x8e\xb7\x56\xad\x45\xc7\xaa\xb1\xb0\xab\xc6\x82\x14\x8d\xd5\x9f\x82\xb4\x30\xfd\xdc\x1f\x41\x06\xb2\x63\x4b\xba\xb1\xc7\x5c\x7b\x30\x06\xda\xc3\xda\xe9\x15\x0a\x9d\x12\x96\x64\x38\x5e\x1e\xcd\x9c\x1e\xb5\x54\xca\xcd\x8a\xf4\xfb\xbc\x8f\xd0\x86\xcc\x26\xcb\x53\xdc\x79\x76\xa9\xf7\x1f\x8e\x48\xde\xeb\xe5\x47\x64\xa5\x4d\xa8\x7f\x41\xeb\xc9\xf2\x14\x36\x96\x15\x57\x6a\x02\xda\x4b\x25\x4f\xa6\x31\x27\xab\xad\x7f\xd9\x59\x77\xfd\x51\x1c\xb8\x55\xd0\x0c\x0e\x6a\x5a\x58\x11\xde\x47\x9b\x7f\x3b\x32\x66\xe1\x1c\x6e\xcd\xc8\xa5\xe0\x17\xda\x45\xe3\xa9\x10\x5c\xa0\xb8\x5c\x9a\x6b\xcd\xe9\x86\x8a\x48\x8a\x54\xdf\x8c\x1c\x7d\x54\x25\x3f\x46\x5c\x44\x1f\x75\xc1\x8f\x36\x12\x70\x91\x9f\x53\x1d\x0b\x38\x0e\x45\xc7\xaf\x3b\xe7\xaf\x7a\xb1\xe0\xb6\x08\x64\x82\x6a\xe1\x02\xef\xb5\x05\x04\xde\x71\x1c\x6d\x2e\xa6\x44\xb8\x98\x6a\x6f\xc0\xd9\xd1\x01\x19\xf9\x01\x71\x60\x78\xcc\x09\x21\xb2\xd7\x43\x92\x64\xb5\x49\xe3\x8e\xfb\x60\xd7\x98\xf0\x6b\x3c\x7f\x05\xa2\x16\x40\x5a\xf2\x88\x7a\xe8\x59\xd6\x76\x0b\xcf\xc4\xef\xde\xcb\x30\x97\x2d\x88\x41\xba\xec\x8d\xb3\x19\xef\x87\xf3\x24\x95\x29\x1a\x82\x5b\x30\x76\x14\x6b\x1c\x63\xbd\xf7\x20\x79\x30\xdc\x50\x0e\x97\xb7\x43\x7d\x50\xbd\x3b\x2c\x8f\xbb\x12\xed\x36\x0f\x31\xf5\x26\x5d\x59\xfc\xc9\x94\x25\x87\x3b\x9e\xaa\xf1\xdd\xd6\x10\x87\x6b\x1e\x3d\x6e\x98\xad\xda\x84\x21\x70\x7b\xa2\xe6\xf0\x44\x6a\x07\x05\xfd\x5c\x87\xb7\x77\x35\xd9\x75\x51\x70\x10\x67\xdb\xef\x08\xa4\x22\x5b\x67\x32\x7a\xca\x09\xbb\x6d\xb7\x7a\x2b\xe0\x13\x17\x3f\xa1\x29\xc1\xcd\x81\xb8\xeb\x2e\x83\xb1\xaa\xa8\x09\xbe\xea\x29\x1b\x4c\xd0\xc8\xfa\x71\xbb\x1f\x32\xe7\x8b\x7b\x53\x25\x99\x99\x22\x54\xf7\x72\x3f\x4f\x85\x24\x35\x53\x9d\xbf\xf4\xd2\x6c\x6b\xd8\xaf\xe1\x21\x53\xe5\xf0\x70\xca\x9d\x22\x4b\x71\xf9\xda\xb8\x55\x41\x65\x79\xc7\x9f\xd3\xb4\x65\xc0\x1b\x1f\x19\x86\x45\x15\x3b\x67\xfc\x82\x45\x1a\x9e\x83\xc6\x30\xff\xad\x7d\x2c\x53\xa3\x06\x9c\xbc\xd5\x26\xd5\x4d\x4a\xe8\xa3\x8a\x5d\xce\xea\xf5\x50\x57\x72\x27\xf7\x62\x60\x66\xab\x43\xf6\x7a\xde\xcd\xc2\x90\x90\x83\xc4\xc0\x1b\x6e\xb8\x81\x5d\xb9\x63\x9a\xef\x11\x1d\xd4\x5a\xb3\xa2\xa0\xd4\x24\xa7\x9e\xe4\x41\x3c\x0d\x3a\xb0\xaa\x36\x64\x64\x38\xce\x8e\x9c\xfe\x3e\xce\x9c\x18\xaa\x08\x9f\x64\xa7\xfa\x5e\x6e\xdd\xf5\x90\x5b\xc5\x4c\xef\x5d\xcb\x74\x71\x6c\xb4\x82\xe4\x2d\x9a\x5a\xe5\xac\x21\x47\xa4\x6d\xe1\x11\x9d\x73\x41\x51\x0e\xe1\x6c\x32\xb1\xfa\xed\xa9\x97\x62\x9e\xa3\xf4\x81\x7d\xc8\xed\x0c\x43\xd3\xd7\xd8\x7a\xdf\xd7\xb2\x20\x94\xa9\xfe\x20\xd4\xd9\xb6\x3d\x13\xe9\x42\x9f\x88\x62\x3b\xb0\x64\x23\x2e\x82\xdd\x07\x99\xb0\x53\xcb\xe1\xb4\xd1\xb8\x47\x99\x6b\x94\xb9\x43\x99\x77\xa0\x5c\xfb\x7f\x05\xbc\xf4\xf3\xed\xc6\x71\x3e\xb1\xeb\x7a\x4e\xa3\x6c\x1a\x45\x53\x28\x45\x18\x8f\x03\xbf\xb3\x6f\x10\xd5\x1a\xd5\x14\x27\x54\xa2\x5c\x8d\x01\xa0\xd8\x26\x6d\x1b\x76\xac\xff\x40\x9e\x65\x7c\xe8\x09\x67\x0a\x0c\x4f\x65\x10\x17\x76\x25\xe1\x15\x85\x2b\x1d\x63\x91\xc2\x26\xa7\x17\xc9\xae\x69\x91\xd8\x42\xb5\x9e\xa5\x92\x26\x12\xed\x7e\xa5\x5b\x0c\x65\x75\x56\x66\x22\xb7\x76\x1f\xbb\x79\x9e\xc9\xed\x16\xa3\x00\xc2\x9f\x9a\x56\x55\x2d\x07\x9a\x50\x74\xd1\xfa\xfa\xe8\xbf\xa3\xf8\xdd\x92\x46\x1f\xe3\xbe\xe8\xc7\x1f\xa3\x15\x9f\x55\x05\x8d\x66\x9c\x96\x11\xe3\x32\x62\x94\xce\xa2\x79\x91\x2e\xca\xc1\x07\xf6\x9c\xe5\x32\x4f\x8b\xfc\x0b\x8d\x72\x1b\x19\x85\xf1\xc8\x3b\xde\xe9\x2b\xc6\x2f\x79\x15\x59\x55\xe1\x8c\x46\x69\x51\x44\x25\x95\x07\x71\xf3\xf8\xec\x9f\xdd\x90\xba\x35\x96\x8f\x16\xd5\xeb\xfd\x1d\x55\x24\x7e\x28\xa8\xae\x57\x8a\xcb\x9c\xe9\xeb\xc2\x4b\x46\xd3\xf3\x28\x8d\x4e\xb4\x36\xa2\xf7\x04\x8d\x60\x7a\x5a\xac\x8e\xa3\x77\x22\xcf\xce\x4b\x49\xc5\xc1\x07\xf6\x5c\x46\x05\xe7\xe7\x56\x23\xd1\x58\x0e\x56\x69\xce\xa2\xbc\x8c\xac\x8d\xab\xc1\xe4\xe3\x5a\xf0\x85\x48\x57\xef\x73\xb9\x7c\xa6\x10\xfe\xa8\x03\xaf\x2c\xd3\x32\x52\x6a\x40\xf4\xf1\xb5\xf9\x6e\xda\xfc\x38\xf8\xc0\x7e\x51\xfa\x8f\x2d\xf5\xd1\x47\x14\xcb\xe7\x1a\xd6\x19\xd7\xf4\xbb\x48\x99\xb4\xf4\x8b\xdd\xd2\x2b\xab\x8f\x6d\xd5\x1a\x29\x38\xae\xcd\x1a\x61\x8c\x29\xca\x06\xd3\x21\xb6\x0b\xb9\xf8\x9d\xc7\x3e\xaf\xfb\x41\xee\xf6\x9d\x89\x58\xa3\x04\xb4\xbf\x23\x5e\x01\xa0\xfa\x2f\x92\x22\xa7\x33\x55\x45\xc6\xd9\x86\x0a\xa9\xfa\xd1\x88\xf3\xa7\xc5\xca\xd0\x11\x34\xda\x41\x8c\xb1\xbc\x74\xa1\xc5\x6c\x00\x31\x05\xd5\xf8\xef\x48\x2d\x25\x83\x3e\xfd\xbb\xe9\x53\x33\x67\x88\x5e\x0f\x89\x41\xce\x18\x15\x3f\xbc\x7b\xf9\x82\x7c\x7b\x34\xcb\x37\x91\x3e\xd6\x27\xf1\x3a\x9d\xcd\x72\xb6\x38\x2c\xe8\x5c\x26\x23\xba\x1a\xc7\x0f\x8e\x96\x77\xdd\xd7\x39\x67\xf2\xf0\xc2\x98\xe8\x32\x2e\x56\x69\xa1\xbe\x9f\x3d\x78\xc5\xd7\xe5\xc1\xd1\x9d\xb3\x07\xd1\x5b\xbe\xa2\x3a\x28\x71\x74\x41\x99\x8c\x2e\x04\x57\x8f\x4b\xca\xa2\x52\xa6\x42\xc7\x80\xbb\xe4\x95\xd0\x28\xd9\xee\x19\x1c\xdd\x59\xde\x7d\x70\xb4\x16\xf4\x06\x20\xbe\xed\xcb\x7e\x7c\x74\x67\x2d\xe8\x83\xa3\x3b\xb3\x7c\xf3\x20\xc6\x50\x4f\x7e\xa1\xd7\xf1\x37\x81\x1e\x3b\xa0\xab\x33\x3a\x23\x4d\x7f\x21\xbd\xab\x24\x6a\xed\x65\x8c\x45\x63\x52\x17\x1d\x8a\xcd\x89\x92\xf8\xae\x63\x11\x43\xe6\x15\x28\x08\x0c\x72\x60\x84\x05\xc8\x41\x43\x2c\x80\x94\x48\x80\x1c\x28\x21\x83\xf1\x16\xc4\x60\x5e\x15\x45\x99\x09\x4a\x59\x57\xcc\xeb\x3d\x6d\x08\xf0\xee\x34\x67\x7c\x76\x79\x73\x7b\x8d\xac\x75\xdb\x35\x75\xa4\xdc\x3b\xbc\xdd\x7c\xe1\x34\x46\xea\x94\x45\xbf\x83\xa4\x84\x34\x86\x8a\xbc\x45\x59\x70\x35\x51\x73\x46\xab\x30\x08\x89\x2a\x10\x90\x35\x79\x50\xc8\x4e\x57\x66\xaf\xd1\x57\x56\x99\x3f\x79\x35\x7d\xf3\xf4\xe7\x5f\x9e\xbe\x7d\xd7\xb1\xd0\xf9\xa5\x1e\x37\x4a\xe1\x8f\x5c\xa8\x92\xc1\x07\xf6\xba\xa0\x69\x49\x23\x41\xd7\x5c\xd8\xab\x4e\x24\x8f\x8e\x96\x52\xae\xcb\xe4\xce\x9d\x45\x2e\x97\xd5\xd9\x20\xe3\xab\x3b\x3e\xde\xee\x26\x17\xb2\x4a\x8b\xc3\x19\x5f\xdd\xc9\xcb\xb2\xa2\xe5\x83\x81\x8b\xbb\xf7\xfa\xe9\xc9\x93\xe7\x27\xdf\xd7\xb0\x9c\x49\xc4\x15\xf2\xf1\xd3\xbf\xbf\x7b\xf3\xd0\xa7\x8f\xad\xa6\x82\x32\x0c\x39\x79\x89\xa6\x81\xfe\x24\x75\xb4\xba\x29\xe4\x6a\xc9\xa4\x77\x96\xa6\xc4\xad\x42\x9a\xb5\x84\x6b\x00\x25\x55\x03\x22\xd8\xbb\x41\x32\x68\x26\xc3\xb4\x76\xa0\x0b\x4d\xfa\xc3\x3c\xe6\xdc\xc8\x03\xde\x46\x09\x32\x12\xda\x62\x52\x19\x8e\x9c\x3d\xbc\x6a\x59\x64\xc6\x33\x7f\xce\xf3\x07\xd9\xf7\xff\xcf\xde\x9b\xa8\xb7\x8d\x63\x09\xa3\xaf\xa2\x70\xaa\x32\x60\xf9\x48\x91\x9c\x54\xaa\x8a\x69\xb6\xc7\xb1\x9d\xc4\x89\x9d\xcd\xce\x5a\x55\xc3\x4b\x91\x90\xc5\x98\x22\x64\x10\xf4\x12\x9b\xf3\x1a\xf7\x81\xee\x8b\xdd\x0f\x1b\x57\x90\x92\x93\xea\x9e\xe9\xff\x9f\xea\xfe\x62\x0a\x3b\x0e\x0e\x0e\x0e\x0e\xce\x82\x12\x3e\x2e\xbb\x85\xc5\x84\x21\x5c\xaf\x03\x44\x61\xb2\xfa\xb3\x9f\xa8\x8f\x57\x19\x93\x1b\xab\xb5\xcd\x0b\x69\xe0\x2d\x46\x4a\xaa\x9b\x99\x8f\x2e\xe8\x1a\x1d\x15\xb2\x93\xee\x11\x55\xec\xe8\x58\xc5\x6e\xa9\xdb\x8c\xae\xa2\x5e\x15\x12\x11\x73\xb8\xb4\x6b\xac\x18\xd1\xa5\x8f\xaf\x76\xb4\x52\x2f\xb2\x42\x3c\xcd\xf8\x46\x1d\xa6\x51\x88\xa7\x3e\x1d\x2a\x3f\x8a\xa9\x65\xff\x3e\xfe\xf3\x51\x72\xf7\x2e\x4a\x2a\xe6\x5f\x49\xcd\x52\xc7\xce\x69\x35\x04\x80\x66\x96\xec\xba\x89\x1d\x33\xba\x85\x2d\x86\x2d\x7c\xb8\xca\x77\x2e\x4d\x34\xb2\x26\xd1\xf0\xbb\xb3\x52\x19\x45\x65\xe6\x1e\x09\x9f\x60\x8f\x68\x8d\x90\xcc\xe4\xe1\x1a\xbb\x94\xa1\x19\x24\xc0\x8b\x40\xe8\x12\xe4\xd9\x23\x6f\x02\x4b\xf7\x08\x85\xe0\x37\x6b\x2d\x65\xad\x39\xaf\xb5\x04\x8f\xa1\x08\x96\x40\x6c\xe0\x45\xe1\xdc\x0d\x18\xf2\x20\x00\x1f\xa4\xc9\x86\x69\x03\xc5\xfc\x56\x37\xe7\xff\x9c\xf3\x73\xa5\xb2\x98\x01\x33\x88\xe7\xc1\x33\x35\x22\x1f\xd1\xd3\x5d\xb5\x44\xaf\x96\x58\x72\x79\x77\x02\xbe\xc0\xa5\xfc\x5e\xc4\x64\x53\x94\x21\x63\x92\x23\x06\x7e\xe3\x9d\x33\x57\x14\x55\x81\x95\x44\x39\x4e\x5e\x32\xce\x94\x78\xee\x7b\xe4\x41\x06\x11\xe7\x87\x33\x37\x81\x39\x2b\x6c\x2e\xab\x03\xce\xba\x48\x2e\xe5\x4d\xab\x17\x61\xf0\x46\x41\x4c\x52\x8c\xa4\xe5\x53\xe0\xca\x5d\x3f\x12\xd6\x37\xc3\xdf\xc6\x63\xc8\x74\x92\x34\xce\x19\xde\x7f\x38\x06\xcf\x95\x36\x49\x23\xb2\xc4\x09\xb2\x2c\xe0\xff\x17\x55\x5c\x5e\x45\x96\x74\x79\x49\x7e\x88\xbb\xd6\x46\xb0\x61\x01\x23\x4b\xd7\xda\xc8\xc4\xec\xbc\x91\x1e\x31\xc8\xd1\xcc\x19\xcc\xd9\x88\x45\x8c\x73\x00\x1a\x70\x83\xe1\xc0\xda\x10\x19\x9c\x10\x48\xdd\xc3\xd1\x42\x98\x78\xb9\xd6\xd8\x6a\x64\x28\xbe\x81\xe7\x28\xb7\x76\x47\xe2\x60\x7b\x54\xea\xd5\x8a\xd2\x55\x84\x89\x6c\xde\x48\x4b\x29\xd0\x3a\xc5\x57\x21\xb9\x48\xac\x9a\x01\x22\x1b\x2d\x30\xf3\x5f\xe0\xab\xbb\x77\x7f\xdd\x14\x0e\x26\x2e\xe6\x51\x30\xbf\x7b\x57\x01\x23\x26\x81\x50\xcf\x1b\x51\x1c\x13\x3f\x44\x36\xdc\xff\xb5\x5a\x0c\x25\x4a\x64\xa3\x6d\x5c\xdf\x2d\xad\x9c\x13\x99\xa6\xe2\x9e\x0d\x0f\xc6\xbd\x15\x77\xf9\xd8\xcc\x55\x73\x1b\xd4\x70\xda\xb3\xca\x12\x3e\x2e\xce\xed\x82\xd7\x93\x5d\xbd\xd0\x54\x51\x45\xb5\x6b\x52\xc3\xac\x36\xdd\x1c\xec\x0e\xc7\x2f\x19\x21\xa0\x82\xa9\x10\x55\xcc\x6c\x58\x4d\x2c\x01\xc4\x4d\x19\xa2\x36\x04\xae\xf5\x52\xf0\x99\x16\x64\xa5\x7a\x96\x57\xf5\x96\x93\xb7\xf6\x1f\x2d\xcc\x8a\x78\x13\xbe\x1b\xe9\xb8\x6f\x8f\xaa\x3a\x38\x27\x98\x16\x8d\x0b\x23\x88\xcc\xf1\x20\xb8\xe3\xba\xfe\xdd\xbb\x28\x62\xfa\x15\xac\x36\x4b\x4b\x6c\x7c\xe0\xb9\x4d\xe0\xf1\x2c\xdf\x86\x4a\x8b\x81\x10\x03\xd7\x4e\x32\x85\xa7\xe4\x1c\xd3\x59\x4c\x2e\xa0\x2f\xd3\xb5\xe6\x51\x18\xe2\xc4\xaa\x35\xca\x07\xd7\x5b\x2b\xe1\x40\xf3\x6d\x88\x84\x6f\x8c\x02\xc0\x51\x01\x60\xc5\x6e\x69\xd9\xa9\x6a\xda\xa9\x2a\x57\xbd\xf6\xb3\xb4\xd4\x58\xf2\x65\xd5\x2b\xad\x7e\x7e\x28\x8f\x99\x66\xfe\x31\xab\x1e\x7c\x3e\x6b\x5b\x88\xb5\x24\x7f\xb5\x89\xfc\xce\xfe\x54\xa2\x3f\xb8\x33\xae\xda\x24\x33\xa3\x7d\xbd\xf4\xfa\xa8\x77\xa9\x54\xa8\xba\x5a\xe2\x9b\x9b\x3b\x54\x6f\xd2\x9b\x9b\x5f\x37\x45\x86\xd8\x44\x55\x41\x8a\x25\x8f\x42\x69\x58\x2f\xab\x59\x17\x73\x8c\x2b\x29\xc2\x7d\x2c\xf3\xe9\x09\x66\x8f\xb4\xc9\xba\xf2\xc4\xca\xf9\x47\x0e\xef\xd8\xbf\xd2\x67\xee\x30\xc4\xcc\x8f\xe2\x54\x85\x62\xd1\x87\xf4\xdd\xbb\xfa\x36\x2f\x1e\x7d\xe4\xb5\xf9\x4e\x91\x96\xb8\x49\x45\xfc\x96\x9b\xb4\x7c\xdb\x3a\xbd\xb9\xe4\x07\x39\x51\x3d\x3a\xfe\x74\xb0\x67\x41\xcc\x5c\x6b\xef\xfd\xde\xcb\x63\x0b\x42\xe6\x5a\xdb\xc7\xc7\x6f\x2d\x58\xaa\x2f\xef\xe5\x11\x27\x93\x46\xb3\xd1\xb6\x29\xea\x75\x0e\xe7\xcc\xb5\x3c\x1c\x2f\x3e\x3c\x7c\x7c\x60\xc1\x82\xb9\x6f\xd0\x0b\x1b\x4e\xf8\xdf\xcf\x36\x4c\xcd\x2d\x7d\xab\x01\x6a\x8a\xd9\x71\xb4\xc0\x44\x9c\x54\x13\x7c\xff\xde\xc3\xb1\x9d\xc3\x15\x73\x7f\xb7\x82\x38\x0a\x4e\x2d\xb0\xc2\x69\xac\x3f\x17\x24\x4b\xd5\x9b\xa8\xfc\xce\x96\xfa\x4b\xd2\x6a\xf9\x8d\x13\xc6\xf7\xa3\xfc\x11\x63\x5f\x94\x67\x24\x0b\xe6\xe2\x0e\xaa\x7f\x08\xc5\x1d\xf9\x19\xf8\x49\x80\x63\xfd\x4b\xf5\x20\x02\x25\x62\xaa\x5a\x56\xbf\x44\x8f\xea\x9b\xe3\x40\xe5\x57\xc6\xca\x1f\x7a\x08\xea\xa7\x1e\x84\xfa\x59\xef\xa0\xe8\x3c\xa4\xfe\x89\x1e\x21\xff\x56\x7f\xe4\x38\xe5\x97\x6c\x95\x7f\xab\xce\xf9\xa7\x6e\x3d\xa4\x84\x8f\xee\x14\x5f\x65\xea\xaf\x1a\xfb\x29\xbe\x5a\x52\x9c\xa6\x16\x58\x51\xb2\x14\xe3\x0c\xe6\x7e\x72\xc2\x2b\x09\x2b\x5a\x0b\xac\x69\x9c\x51\xeb\x4f\x38\x66\xee\x15\x1b\x05\x24\x09\x7c\x86\xd4\x9e\x00\xbd\x5d\xf4\x41\x7a\x2d\x1e\xc3\x89\xb4\x96\x4d\x40\x4a\xb1\x1d\x0f\x16\xfe\xd2\x61\x28\xb5\x81\x24\x0e\x45\xc7\x36\x08\xda\xe4\x9c\xc3\x92\x92\x25\xa6\xec\xca\x61\xe8\xc4\x06\x5f\x6b\x4f\x4b\x0f\x81\x7e\xa9\x4c\xed\x50\x74\x25\xfc\x0b\xbe\x2e\x2b\x9c\xda\x10\xfb\x5f\xf9\x57\x2c\xbf\x36\x1d\x8a\x42\xf9\x79\xdf\xc1\x68\x69\x83\x78\xee\x13\xfa\xd0\x94\xdf\x3f\x95\x5c\xc1\x59\x30\x68\xca\x8d\x9c\x13\x06\x29\xf3\x59\x14\x28\x89\x91\xf3\x49\xda\x16\x7f\xe9\x70\x18\xf7\x2c\x19\x35\xdb\xd0\xea\x21\xcc\xce\xe1\xeb\xca\x6a\xf0\x0a\x8b\x92\x4f\x13\xf7\x99\xb0\x35\x94\x23\x85\x37\xe2\xb7\x98\x04\x7c\x2a\xbe\x37\xe1\x45\xe2\x22\xf5\x03\xae\x1b\xf4\xc0\xb9\x33\x81\x3a\x39\x70\xee\x4c\x72\x1b\x3e\x8b\xfa\x24\x81\x8f\x3d\x8e\xf3\x3e\x27\xc0\xe0\x45\x22\xe3\x4e\xfd\x20\x6a\x88\xe5\x01\x46\x44\x8f\x15\xa8\xc3\xb3\x64\x54\x59\x95\xda\x4f\x1b\x28\x71\xe5\xf4\x64\x59\x2c\x7e\x2e\xfc\x25\x24\xe2\x8b\x23\x05\x10\xf1\x29\xa4\xc8\x01\xe9\xf2\x79\xd3\x9a\x1e\x6b\xce\x4e\x84\xec\xf9\x92\xd8\x90\x11\xf7\x6b\x02\x1e\x71\x31\x81\x88\xb8\x09\x01\x9f\xb8\x84\x40\x4a\x5c\xe4\x13\x64\xf1\x03\xc4\xb2\x81\x7f\xa6\x58\xda\x31\xc8\x5f\x89\x7f\x6e\xd9\x36\xcc\x54\x39\x9f\xb2\x28\x88\xb1\xca\xf4\xf9\xcd\x49\x7d\xcf\x27\xbc\x5c\x4c\x5c\xf1\x63\xd3\xb2\x61\xa9\xbe\xef\x5b\x36\xcc\x55\xfd\xf9\x03\x5d\xfc\x67\xfd\xf1\x50\x7f\x60\x3f\xc4\xd4\x12\xfa\xb5\xb2\xf0\x8c\x10\xbe\x5f\x55\x5f\x61\x28\xb6\xa0\xfc\xb5\xf0\x23\x3d\xc2\x25\xaf\xb2\xd0\xed\xeb\xe2\x4b\x2a\x9c\x40\x9e\xe8\xf9\xc5\x24\x38\x3d\xcb\x08\xd3\xc3\x25\x31\xcf\x9e\xca\x21\x66\xb1\x65\xc3\x95\xfc\x8e\x23\xcb\x86\x63\x55\x2d\x8c\x55\xf1\x90\xe9\x8f\x50\x7d\xcc\xa2\x93\x8c\xe2\xf2\x47\xe0\x2f\x2b\x60\x0b\x23\x01\xb6\x0b\xd9\xa6\x6f\xd9\x70\xaa\x9a\xc4\x0b\x0d\x67\x46\x49\x72\xc2\x4b\x1d\xc9\x52\xe9\xc2\xe7\x34\x02\x2e\x55\x49\x3d\xd7\x20\x2a\x46\x7d\xa6\x9b\x9f\xe9\x8e\xfc\xe9\x54\x4f\x99\xc9\xd8\x61\xa2\x0a\x09\xc5\xf4\x1f\xab\xa6\xce\x7d\x5d\x28\xf5\x17\x4b\xf5\x79\x3a\xd5\x73\x49\xb3\x69\xf1\xa5\x73\x23\x5e\x7f\x5b\x8e\x8c\xe7\xbe\x54\x4d\x65\xc5\x0a\xd0\x53\xf5\x49\xb3\xa9\x46\x1e\xaa\xe1\x44\x75\x3b\xd3\x30\x2a\xbe\x88\xee\x65\xe9\x27\xbc\xf9\xb7\x7a\x75\xf4\xe8\x2e\x8a\xaf\x28\xd1\xd3\x0f\xb1\x5e\x84\x68\x71\xa2\xbf\x66\xfc\x24\xe4\x4d\xec\x15\x60\x9d\x62\x3d\x1d\xa5\xe6\xaf\x10\xc1\xa7\xbe\x06\xf9\x79\x14\x62\x3d\x06\x3f\x0b\xa3\x62\x3c\xc2\x9d\xa3\x06\x23\xf5\x03\x3d\xb3\xc0\x4f\xce\xfd\x12\xe7\xd8\x5c\x97\xf1\xa7\xb1\xe8\xfe\x50\x75\x5f\x5f\xfd\x80\xc4\x27\x94\x14\xa0\x0c\x88\x9e\x01\xab\xec\x33\xc6\x11\x5e\x7f\x73\x54\x2f\xfa\xe7\x0d\xef\x48\xc8\x33\x5e\xe2\x4c\x7d\xf3\xde\x9f\x14\x7b\x83\x2e\x0a\xe4\xc3\x71\x98\x62\x5d\x3f\xc6\xe2\xc4\x53\x3f\xfc\x29\x16\x98\x7e\x20\xdb\x90\xc7\x97\x0d\xfb\x6a\x61\x33\xc6\xc4\xa8\x5f\x69\x9c\xc3\x71\x09\xba\xd0\x67\xbe\x70\xee\xa9\xc0\xba\x64\xd5\x59\x91\xea\x8c\x39\xd1\xf2\x29\xf6\x79\x57\xcf\x55\x5b\xa7\xf8\xea\x04\xeb\x02\x24\x63\xb2\x67\xb9\x39\xc9\x49\x75\x33\xe3\x72\x9b\x6b\x3e\x50\xa3\xe3\x62\xe1\xd3\xab\xa2\x5c\x92\x45\xac\xd8\x40\xfc\xa7\x65\x03\x23\x36\xbc\x26\xe6\x63\xe4\x39\x01\xbe\x56\xfb\x32\xdc\xcb\x29\x12\xe2\xae\xdd\x9e\xc2\x94\x1f\xd7\xc2\xd3\x18\x71\x29\x81\xf7\xa4\xdb\x71\xda\x3b\x02\x0c\x58\x22\x63\x94\xc1\x87\x8e\x46\xdf\x13\xa8\x18\x92\x8b\xa6\x9f\xf5\x14\x8d\x42\x59\xe6\x4b\x4f\x19\x71\xc5\x97\xc5\xbe\xf6\x14\x4b\x69\x20\x0b\x3d\xed\x6b\xeb\x6a\xa9\x9a\x7a\xd3\x53\x4a\x05\x99\xe2\xc5\x3e\xf5\x14\x9b\xb3\x45\xfc\x84\x50\x59\xf0\x45\x5f\x41\x8a\x67\xb2\xd4\xe7\xbe\xb1\x89\xcb\x83\x2c\xf7\x71\xd5\x42\xfc\x80\xd5\x42\xfc\xd0\xd1\xe2\x47\xbe\x10\x73\x1c\x9c\x62\x05\x62\x16\x74\x17\x0c\xa3\x94\xef\x70\x55\x92\x1a\x4b\x7e\x20\x28\x42\x97\x14\xac\x81\x05\x11\xfa\x0c\xdb\x09\x44\xe8\x23\x3c\x4e\x80\xd9\x36\xc7\x33\x1c\xb8\x3f\x24\x90\x04\x6e\x84\xe6\x89\x60\x22\x77\x84\x53\x8d\x69\x62\x03\xe1\xa9\xe7\x49\x23\xba\x65\x31\xe5\x32\x1c\xa6\xce\x29\x86\xde\x88\x94\x99\xc3\x15\xbf\xb1\xde\xb6\x39\xb5\xa2\xad\xc6\x8e\x39\xaf\x10\xb8\x2f\x12\xf0\x02\xf7\x63\x02\x51\x07\x90\xbc\xa0\xe0\x7c\x83\x44\x6e\x2b\xbf\xa7\xa8\x60\x8e\x8b\x92\x69\xe0\xa2\x85\x96\x13\x67\x01\x5c\x37\x79\xb2\xb1\xd9\xa3\xa1\x6c\x4b\x73\xde\xca\x44\x9e\x04\x62\xd9\x67\x3d\xbd\x2b\x9e\x5d\x55\x08\x78\x05\x88\x7b\xca\x57\xef\x3d\x7a\xcc\xe1\xaa\xf2\xea\x6e\xa1\xcb\x2f\x7b\xca\xab\xeb\x98\x2e\x3a\x0f\xbe\x93\xc1\x7b\x9a\xd8\x70\x1e\xb8\x68\x1e\x48\xbe\x06\xf8\x47\x26\xc8\xfe\x22\x70\xdf\x24\x70\x12\xb8\x9f\x12\x98\x06\x5d\x31\x77\xcb\xa7\x79\xe1\x69\xfb\xdd\xdb\xfd\x1d\xb2\x58\x92\x44\xd8\x8a\x57\x44\x09\xc2\x53\x1f\xa3\x57\xba\xf8\x01\x92\x86\xb9\x8d\x0a\xed\x00\x46\x67\xdf\xe6\x1a\x4f\x8a\x3d\x12\x7c\x31\xf8\x78\x78\xf0\x8c\xb1\xe5\x5b\x79\x21\x7e\x44\x10\xe7\xc3\x21\x31\x88\xe0\x30\xa5\x9c\x04\x55\x66\x8a\x51\xd3\x31\x1e\x66\x17\x84\x9e\x8a\x27\x31\x4b\xf8\xc5\x33\xb6\xc4\xe4\xc5\xba\xbf\x2d\x75\xfb\xee\x69\xa6\x25\x11\xc4\xc8\x43\x09\xb0\x91\x7c\x89\x1b\x51\x9c\x2e\x49\x92\xe2\x63\xf2\x16\xa7\x59\xcc\xc1\x67\x8b\xa8\x50\x89\x94\x0d\x0b\x99\xe9\x9c\x84\xc0\x46\x19\x8d\x85\x6c\x47\x82\xb7\x04\x62\x6b\x54\x8f\xfd\xf0\x1d\x8d\xa5\xe3\x3f\x5e\x2b\x2f\xf5\x4f\x02\xde\xb7\x0d\x99\x18\x82\x7c\x51\xaa\x8c\x2d\x19\xf9\x53\x42\x85\x94\xa4\xee\x2a\x90\x2f\x59\x11\x2f\xf7\x4e\xe9\x4f\xd1\x24\xfa\x2d\x8e\xf7\x86\xec\x57\x4a\xae\x38\xa6\x64\x82\x81\xaa\x7b\x63\xa4\x23\x6f\x8c\xae\xa7\x57\x0c\xa7\x0e\x1b\x71\xa8\xe1\x10\xc4\xcf\x3d\xf5\x64\xe9\xb0\x11\x23\xcc\x8f\x73\xbb\xed\x2b\xaa\x69\x4b\x2e\xcc\x8c\x15\xba\x3c\x13\x37\x0b\xd1\x01\x50\xe1\x3b\x97\xd3\x6b\x0c\x74\x24\xef\x1c\xa9\x0d\x95\x65\xb8\x5a\x62\xe1\x8b\xb8\xbe\x38\x57\x4b\x0c\x6c\x74\x11\xb1\xf9\x0e\xc5\xc2\x3f\xbd\x1f\xa7\x2e\x6d\xa6\x80\xf5\x3c\x4b\x99\x92\x82\x49\xd4\x50\x80\x42\x4c\x27\x54\xb2\xbc\x71\xdb\x2f\x78\xa1\xa0\x59\xf1\x1a\xb7\xb7\x58\xb2\xab\xc7\x9c\x77\xac\x29\x3b\xf2\x49\x26\x21\x52\x72\x45\xe9\xb4\xbe\x56\xca\x00\x05\xed\x81\x6e\x78\x2c\x8e\x7e\xe1\x01\x13\xaa\xad\x09\x08\xc9\x16\x9f\x10\xba\xd8\xf5\x99\xdf\xd9\xb3\xf4\x1b\xdb\x72\xcc\x28\x85\x84\x29\x62\xb6\x8c\x7b\x92\x32\x9f\x65\xe9\xdf\x36\xc7\xe3\x9b\x9b\xfb\xe3\xf1\xdf\x5c\x9d\x54\x68\x83\x08\x4c\x74\x2b\xf0\xe6\x97\xe0\x36\x52\x1f\x89\x5a\xd2\x1d\x72\x6e\x17\x6f\x3b\xc5\x43\x94\x52\x35\x51\xc1\x9c\x2b\xef\x73\xc2\x6d\xa9\x83\xd6\xed\xe7\xb5\x7f\x25\xb7\x6d\x25\xe6\x31\xae\x59\x9a\x54\x63\x99\xca\xb9\x38\xd7\x32\x2e\x85\x9a\x1a\x28\xc9\x66\x91\xc0\xbb\xca\x41\x61\x9c\xc3\xc1\x72\x82\xd9\x76\x1c\xbf\x55\x43\x91\xeb\x93\x22\xdb\x86\x8c\xc6\x4e\x39\xc6\x77\x6f\x0f\x80\x0f\xbb\x92\x54\xf7\x5b\xa5\x9d\x9e\x32\x61\x4a\x70\xc7\xe0\xd1\x5c\xf8\x9d\x10\x0e\xba\xad\x3f\xe8\x1f\x9c\x27\x4f\x5c\x5c\x0f\xee\x55\xfa\xd3\x10\xde\x5d\x85\x06\xde\xab\x19\xb2\x9c\x81\x25\x56\x31\xf8\xfb\xb8\xd0\xfd\x13\x6f\xba\x02\xdb\xd0\x18\x02\x1b\xbc\x5a\x52\xb0\xb1\x69\x3f\xa2\xae\x08\x1f\x9f\x99\xce\xf1\x03\x54\xec\x12\xe5\x61\xdc\xdb\xb0\x40\x84\xb2\xf3\xc6\x8e\x67\x8b\xd8\xde\x65\xdc\x8f\x62\xaa\xd5\xc8\xae\xd5\x8d\xa9\x9d\xcf\x35\x29\x69\x4f\x70\xd7\x5a\x75\x5a\xdf\xe6\xad\x66\xda\x47\x12\x6d\x51\xed\x12\x07\x39\x47\xca\x84\xf2\x53\x5e\x0f\x0a\x5b\x0d\x83\xc2\xcf\x34\xbd\xbb\x7a\x03\xa2\xa8\xb7\x36\x54\x04\xef\xb7\xeb\x71\x51\x14\xce\xd6\x76\x2a\xc7\x5a\xaa\x01\x78\xcd\xc8\xb1\x9f\x9e\x3a\x0c\x25\x36\x48\xaa\x26\x09\x85\xc6\x3b\x27\x86\x85\xbf\x94\x34\x56\x86\x3d\x59\x64\x31\x8b\x96\x3e\x65\xce\x52\x45\x07\x79\x47\xa3\xc2\x39\x13\xff\xc6\xc2\xcf\xf9\x55\x27\xe3\x32\x28\xd8\x3b\x0a\xd7\xb2\x53\x27\x42\xd3\x60\x54\xf4\x24\x9c\x1b\xc9\x1c\xe1\x97\x16\x82\x96\xab\xef\x7a\x68\xd4\x6b\x79\x0a\x3a\xac\xd8\x42\x54\xec\x13\x2c\xf7\x46\xa2\xe6\xe6\x10\x50\xc4\xd5\x09\xa0\x41\x9c\x9d\xac\xd7\x1f\xb8\xa2\x93\xa5\x43\xf0\xe3\xa0\x3f\x3e\x76\x85\xe0\xd6\x83\x64\x5f\x04\xda\x93\x78\x49\xb8\x73\x38\xed\xe6\xf3\x64\x61\x49\x01\x1a\x6d\x4d\x83\x51\x01\x77\x1b\x8e\x02\x77\x1a\x8c\x8a\x45\x81\x4b\xf9\xdb\xb0\xac\xf0\xd8\xc8\x81\x5e\x06\xc8\xa0\x3a\x15\x21\x4f\xba\x9b\x12\x0c\x41\x6e\xe7\xb0\x1d\xb8\xa8\x5a\xb6\x6c\x61\x97\x21\xa6\xcb\xf1\xd1\x15\xd8\x62\x66\xd9\x8f\x03\xb0\xfc\xe5\x32\x8e\xe4\xcb\xee\xbd\x2f\x29\x49\x38\x2f\x4e\x13\x18\x8b\x88\xe5\x36\xbc\x0c\xdc\x8b\x00\xde\x06\xee\x55\x00\x7b\x41\xc3\xe9\x7a\xd5\x25\xde\xdb\x00\x69\x34\xb0\x5e\xbf\x3a\x3a\xb6\x0a\x5c\xa8\x06\x59\x17\xd4\x53\x62\x05\xd5\x58\xf1\x38\x40\xd8\x2e\x30\xe3\xac\x85\x19\x77\x26\x79\x8f\xc7\xf0\x6a\xbf\x4f\xf7\x56\x77\xfb\x32\xa8\xf4\x4b\xd7\xe8\xb7\x0a\x39\x45\xcb\x4b\x6a\x32\x0d\x46\x72\x0f\x8b\xc3\x1a\xce\x78\x85\xc3\x2e\xd4\x1c\x44\x28\xa0\xc0\x60\x2f\x50\xf7\xe1\x9d\xa0\xd7\x8d\xbe\x1c\xb5\x3a\xc1\x68\x31\x31\xbd\xab\xf2\x4e\xa0\x98\x0f\xcb\x12\x6f\xd7\xd8\x39\xaf\xc5\x53\x4d\xad\x96\xe9\x82\xb2\xb6\x0a\xd0\x58\x2a\xc8\xcf\xa3\x94\x11\x7a\x35\x3a\x21\x88\xd9\xb0\x86\x9a\x0e\x5d\xb7\x03\xdd\xf2\x32\x4b\xe7\x9c\x15\xc1\xe8\x3a\x07\xcb\x82\x66\x37\x01\xb2\xeb\x3d\xe0\xdb\xf6\xa0\x54\xfc\x6f\xd5\x49\xb2\x6e\x27\xc5\xb3\x71\x53\xdd\x62\x3d\x70\x91\x75\xfb\xe1\x97\x98\x86\x62\x87\xcb\xca\xbb\x61\xe7\x30\xee\x4c\xd6\xd2\xae\x0a\x94\xbf\xf4\x52\x23\xa2\x68\x49\xbf\xb3\xcd\x29\x9e\x39\x6c\xc4\xff\xc0\x9c\xa4\x8c\x7f\x93\x94\x89\xef\xc4\x5f\x60\xf5\x9b\x7f\xc2\x92\x12\x46\x02\xc2\x39\x2f\xfd\x09\x84\x46\x27\x51\xe2\xb0\x91\xfc\x80\x25\xa1\xcc\xe3\x05\x08\x65\xb0\xf4\xd9\x5c\x35\xa2\x3f\x21\xc5\x3e\x0d\xe6\xc2\xc9\x11\xff\x80\xb9\x9f\xf2\x5f\xfc\x0f\x64\x29\xa6\xaa\xbc\xfe\x84\xa5\x9f\xa6\x17\x84\x86\xa2\x0d\xf9\x59\xf3\x12\xab\x01\x3d\x9c\xdc\x71\xb5\xc6\x50\xe2\x9f\x47\x27\x3e\x23\x54\x34\xb3\x7d\xc2\x27\x5e\xb0\x6b\xc7\x54\x44\xcf\xb2\x8a\x18\x27\x27\x84\xef\x6f\xcc\x0e\x14\x68\x1c\x02\x12\xcc\xaf\x39\x73\x9a\x40\x81\xcb\x0e\x85\x2a\xd6\x39\x18\x4e\x2a\xb5\x02\x88\xd2\xfd\x84\x61\x9a\x60\xb6\x77\xb9\x8c\x09\xc5\x74\x32\xe1\x27\x2a\x67\x58\xcf\x02\x77\x27\xa8\x21\x2d\x3c\x11\x49\x45\xeb\x70\x20\x7e\x9f\x10\xd8\x57\x65\xf5\x18\xe0\x95\x48\xa8\x0c\x11\x9e\x07\xee\xf3\x40\xb8\x38\x7b\x1e\xfc\x6e\xdd\xfd\xbb\xf5\x67\x37\xb5\xfb\x6a\x3c\x77\x68\x2e\x22\x5c\x89\x1b\xc2\xeb\xc0\x6d\x9f\x28\x92\x8f\x33\x1e\x85\xfb\x4c\x85\x86\x10\x01\x90\x4b\x3a\xac\xc7\x02\x1f\x99\x08\x35\x21\xfc\xa1\xc0\x27\x86\x9a\x31\x2d\x64\x38\x8b\xee\x5e\x71\xe1\xb1\xae\x7a\xc7\x7b\x9e\x2d\x96\xc5\x25\xeb\x20\x90\x57\x16\x79\x0f\x7b\x89\x4b\xd3\x3c\x31\xe3\x08\xbd\x0e\xf8\x20\x6d\x78\xa2\x0a\x6a\xdd\x12\x12\x46\xb3\xab\xae\xc2\x67\xf5\xc2\xef\xa3\x34\x2a\x0d\xf3\x5e\xe9\x2e\xb5\x85\x94\x4a\xdf\x57\xe9\x9c\x3c\xbf\xab\xf3\x14\xf5\xa3\xaa\xa2\x65\x23\x2f\xaf\x5b\xa7\x2a\xc2\x82\x53\x01\x9e\x4e\x53\x1f\x13\xdb\xce\xe1\xbd\x09\x56\x6d\xb8\xfb\x72\x22\x58\xdc\x35\xf8\x7c\x3e\x31\xb1\x44\x36\x7c\x08\xdc\x97\x6c\x14\x63\x7f\x86\xac\x97\x72\x7b\xc8\xb7\x89\x67\x5d\x19\x5f\x3a\x79\x3b\xde\xb8\xc3\x60\x49\x96\x1f\x84\x69\x14\x95\x27\xd3\xd7\xc0\xfd\xc4\xd7\xfd\x4b\x00\xd5\x53\xff\xcc\xb6\xe1\xa9\x89\xd3\x2a\x98\xca\xf2\x6c\xcc\x73\x78\x13\xb8\xe8\x59\x80\x9e\x06\x9c\xc8\xf1\xe1\x89\xcf\xb1\xdd\xc3\x96\xca\x55\x2a\x98\xd2\x4f\x3d\x9d\xa9\xd5\xd7\x9d\xbd\xe8\x29\xca\x51\x4a\x97\xfb\x6c\xe4\x14\x9f\x05\xe8\x45\x20\x25\x94\x1f\x7b\x1a\x12\x68\xab\x5b\xfa\xa1\x0d\x55\x1d\xe0\x44\xab\x4d\x75\xa2\xfc\xc7\x40\x06\x26\x6a\xa3\xfc\x8b\x5a\x4e\x03\xc5\x3f\xd5\x32\xeb\x28\xfd\x46\xe7\x35\x50\xfa\xa9\x4a\x17\x7c\x4a\xd6\x07\xcf\x24\x62\x84\x16\xd3\xa3\x59\x67\xbc\x25\xa1\x02\x8d\x38\x85\x2b\xe9\x98\x81\x30\x40\x85\xe6\x94\x38\x7e\x56\xd0\x10\x25\x9f\xff\x10\x20\x96\x71\xd8\xb7\x45\xf7\xb4\xae\x50\xcd\xd9\xda\xa6\x14\xbf\x24\x5a\x19\x41\x35\x53\x2d\x2a\x95\xae\x95\x71\x16\xd5\x86\x10\x75\x6b\xac\xc4\xc8\x0a\xcb\x79\xfe\x33\x07\x1f\xe8\xc1\x1b\xef\x15\x12\xe2\xc0\x60\x25\xcc\xf3\x5b\xcc\x1d\xf3\xb9\xdb\x80\xb3\x15\xf1\xb9\x06\x2c\x33\xdd\xa3\x64\x6c\x2d\xc9\x79\xe7\x36\x24\xed\x66\x6a\xf8\xd5\x3c\x50\x1b\xcc\x30\xe9\x41\x4d\xad\xd5\xa9\x30\x33\xc8\x0c\x84\xd9\x78\xba\x1d\xac\x07\x33\x3d\xcf\x9d\x60\x64\x3a\xf8\xdb\x55\xb6\x7c\xf4\x99\x41\x92\xc1\x51\x82\x7c\xf4\x21\x01\x6b\x49\x96\xfc\x5e\x81\x2d\xc0\xf2\xa8\x2c\x72\x38\x3b\xa4\x9f\x71\x64\x1e\x3f\x22\x5e\x30\x20\x3d\xd5\xed\x1c\xb2\xcc\x35\x5d\x65\xa4\xe8\x2a\x19\x95\x24\x1b\x6a\x4f\x1d\x12\x1a\xa6\x90\x6a\x1c\xd4\x24\x7f\xc4\x9c\x90\x08\xcd\xc4\xdf\xff\x94\xa7\x97\xd2\x77\x95\xea\x8a\xa5\x44\xd7\x9b\xd4\x6c\xd8\x2a\x47\xd3\xbb\x40\x1c\x66\xe2\x60\xd3\xc7\x04\xe6\x87\x83\x72\x0f\x3b\x60\xc2\xd1\x89\x16\xa0\x9b\x5b\x7b\xd1\x71\x85\x16\x6d\x1d\x48\x52\x1c\x88\x9d\x55\x34\x7a\x31\x8f\x62\xcc\xcf\x12\xbd\x5e\x65\xe7\xc4\xb6\x73\x64\x77\xb3\x2f\x11\xda\x15\xa7\xa9\x2d\xd6\x26\xe0\xdc\xd2\x4b\x36\xc2\xb3\x19\x0e\xd8\xa1\x9f\xf8\x27\x98\xa6\xa3\xf2\xcc\x74\xaf\x97\xa7\x27\x8e\x55\xd8\xfe\x24\xe5\x69\x0a\x62\x97\x7e\x0d\x80\x24\x7b\xa2\x7a\xea\x64\x19\x90\xe4\x08\xc7\xb3\xc3\xf4\xc4\x79\x1f\x88\x40\x02\xd6\xec\xd2\x82\x60\x11\x1e\xfa\x4b\xe7\x87\x80\x6f\x3c\xfe\x85\xb3\x5c\xfa\x6c\xc9\x8c\xaf\x53\x52\x0d\xb6\xee\xcf\xa7\x12\xfa\x58\xbb\x1f\x1b\xd2\xbf\x65\xa5\x69\xe1\x70\x22\xfd\xc6\x94\x6e\x58\xc6\x8f\xbc\xbf\x65\x8f\x3c\x6d\xd4\x1b\xb9\xec\x77\x4f\x78\xb9\x89\xee\xb8\x6e\xf0\x3b\xdd\xf0\xfe\x6c\x57\x8f\x66\xe8\xe7\x9f\x37\x7f\x7b\x78\xc7\x45\x0f\xef\x3f\xf8\xf5\xd7\xbb\xc1\x28\x98\xfb\x74\x87\x84\x78\x5b\x84\x3a\xb4\xad\x3f\x84\xea\x6c\xb4\x45\x36\x36\x1c\xe1\x94\x84\xb8\x13\xbb\x70\x17\xe5\x6d\x6c\x00\xef\xa8\xa7\x0f\xb2\xb1\x51\x3a\x7b\x45\x74\x23\x13\xc9\xb5\x9b\x63\xcd\xbf\x69\x15\x89\xef\x57\xe8\x05\x78\x9b\xb5\x78\x09\x41\x25\xa2\x23\xfd\x7b\x21\xec\xb5\xf5\x75\xa2\x98\x9c\xab\x27\x87\x9b\x93\x2b\x68\x9a\x87\xb0\x12\xef\x22\x0a\x9b\xb6\x6d\x6f\xd1\x8d\x4d\x67\x38\x51\xf2\x77\xfc\x3b\x2d\x3c\x16\xf1\xc2\x89\x6d\x6f\x71\xc0\x08\xff\xb3\xc3\x4d\x87\x6e\x4c\x9c\xe1\xa4\x19\xfb\xa2\x10\xef\xc9\x05\xca\x8a\x2b\x0c\x55\x66\xa3\xc3\x89\xeb\xba\x5e\x0d\x62\x1c\x09\x2a\xbe\xe1\xd8\x96\xe7\x78\x1b\x85\x93\x8c\xe4\x6f\xd1\x23\xbd\x22\xd9\xef\xc9\x9f\x5b\xf5\xc5\xcb\xaa\xf3\xe3\x63\x14\xeb\x15\x6c\x6c\xd8\x7c\xe5\xdc\xcd\xe2\x73\x03\x08\xcf\x70\xcb\x4d\x85\x91\xf2\x9b\x24\xc7\xba\x18\x05\xf3\x22\xc0\x62\x94\x1e\x65\x53\x15\x82\x3a\x11\x56\x26\x3c\x61\x67\xee\x53\x47\xd8\xb4\xcd\xa2\x24\x2c\x4b\x10\x11\x07\x0d\xd9\x10\x65\x2e\xf2\xb2\x51\x2d\x17\xbc\x6c\x54\xd4\xb6\xc1\xcf\x5c\x9d\xa0\xf2\x53\xd3\x81\x30\x58\x8c\xf0\x19\x62\x20\x46\x85\xac\x0d\xcb\xb6\x6f\x6e\xea\x69\x43\x8b\x93\x8e\xd9\x1a\xb5\xc7\xa2\x64\xbc\x46\x49\x6c\xe8\x67\x4f\xd4\x0e\xd7\xa8\x3d\x12\x25\x97\xc6\x92\x47\x0c\x31\xfb\xe6\xe6\x42\xfe\x39\x95\x7f\x4c\xd5\xe7\x99\xe1\xda\x20\xac\x53\x8b\x20\x15\x3e\x8a\x32\x90\x39\xc2\x15\xe6\x28\x58\x2c\x51\x02\x63\xfb\x6f\xe3\xf2\x95\x84\xb9\x0c\xa8\x9b\x00\x76\x31\x3f\x76\xcf\x4d\xcd\xea\xe6\xe6\x45\x73\xd5\x79\xf1\x03\x6a\xeb\x35\x47\x2b\x47\xfc\x16\xdd\x2e\xf9\x5e\xc6\x36\x0c\x27\xf6\xd6\xae\xc8\x13\x25\x72\x1b\x16\x5d\xec\x85\xa8\x17\x8b\x2e\xd4\x78\xf1\x19\xc2\xbc\x05\xbb\x22\x7d\xd5\x0f\x5f\xa2\x74\x9a\x49\x2b\x5a\xe2\xaa\x91\xf0\xee\xb0\x93\xd4\xc6\x27\x4a\xce\x32\x69\xa2\xc7\x0b\x94\xa9\x47\xac\x4c\x7d\xcd\x10\xb1\x1d\x1f\x9d\x17\xc9\x8e\x48\xca\x6d\x38\xe9\x1d\x72\xa8\x86\x5c\xed\x53\x0c\x7b\x2b\x42\x0b\x99\xe7\x88\x2f\x01\xc0\x23\x65\xf8\x2b\x34\x69\xa7\x99\x8b\x88\x51\xf6\x5f\xde\xc8\x84\x7a\x9e\xc3\x40\x46\xb2\x52\x71\x3e\x13\xce\xd5\x06\x24\x51\x4a\xd4\x94\x5c\x38\x04\x02\x12\x3b\x41\xaf\x94\xff\xb5\x4f\x53\x4c\xcb\xfb\xd4\xd5\x0a\x1e\xed\x71\x4b\xb2\x79\xbc\xa2\xc6\x53\x42\x9a\x55\x2e\x56\xf1\x93\x7a\x8e\x58\x87\x96\x56\x53\xc5\x2a\x7a\x57\x31\xe3\x91\xfc\x28\x26\xce\xc4\xc4\xf1\x88\x92\x0b\x31\x79\x3c\x0a\x48\xcc\xbb\x3c\x5d\xc9\xc2\x4e\xb3\x96\x01\x65\xe2\x52\x20\x22\x9a\x10\x52\xb6\xfb\x7c\xfa\xa5\xaf\xf5\x82\x99\xb8\xca\x44\xe8\x51\xfe\xcf\xc4\x2e\xdc\xc0\x78\x13\xc8\x5c\x1f\x1d\x51\x48\xf4\xb8\x03\xfd\x91\xa8\x99\x55\x38\x92\xe3\x0c\xa4\x57\x0a\x22\x83\x4a\x4a\xa6\xf9\xc8\x48\x14\x22\x74\x9a\xc1\x95\x50\xc7\xba\x34\xed\xcf\x62\x73\x53\x18\xdb\x7f\x1f\x4e\xca\xa1\x9e\x64\x72\xbf\x56\x76\xf0\x11\x93\x8c\x0f\x71\x45\xb6\xd8\xa5\x81\x4b\xc4\x84\xf7\x28\x6d\x7b\x2b\x20\xca\x4f\x81\xf0\x0e\x50\x45\xf2\x0c\x98\xd8\x36\x99\xed\x90\xdc\x86\xc7\x6b\x90\xbe\x4b\x41\xbb\xb6\xd7\x26\xc6\x2f\x4d\xd3\xad\x96\xa7\x62\xa3\xe9\x5d\xcb\x27\x56\x21\x42\x8f\xe5\xec\x1b\x9b\x7e\x59\x49\xdd\xe5\xa7\x3d\xdf\xe7\x54\x6d\xfd\x4b\x06\x6c\x63\x53\x44\x17\x82\xb7\x5d\xb8\x5e\xc3\x9e\x5a\x10\x51\xbd\xd0\x9c\x07\x47\x3e\xef\x28\x29\x71\x80\xa3\x69\x32\x12\xa2\x55\x1b\x24\x3c\x85\x13\x59\x6f\x02\x3e\xff\xb3\xd9\x80\xae\x24\x21\x57\x19\x08\x6b\xb6\x84\x53\x91\xe3\xac\x1d\x44\x56\x6f\x1f\xa2\xf7\x4d\xa6\x37\x4c\xd2\xdc\x30\x32\x16\x31\xbe\x94\x1b\xc7\x13\x9b\xc6\xcf\x25\xea\xed\x75\x53\x7e\xb1\x2f\x7a\x76\x0e\x76\x13\x79\xf3\xab\xee\x1a\xdc\xde\x35\xe2\x1d\x97\xea\x2d\x83\xe5\x96\xe1\xf8\x8f\x02\x59\x55\x50\x0f\xe1\x39\xb2\x5e\x57\x6d\x16\x51\x3f\x13\xfb\x25\x2b\xf6\x1e\x67\x9f\xbc\x31\xf8\xfc\xcf\xa4\x06\xc1\x40\x40\xdc\xe7\xff\xda\x77\xef\xaa\x24\x0e\x7e\x9f\xff\xab\x60\xeb\x49\xf2\x2c\xbe\x7c\x09\x89\xc3\xba\xa4\xa3\x8a\x73\x3e\xda\xcb\xba\x1e\xca\x68\x6e\xab\xb8\x54\xa6\x9b\xcc\xd4\x74\x67\x46\x63\x30\x48\x50\xf9\x04\x65\x7c\x2c\x1b\x76\xbe\x8d\x92\xa9\x9b\xb8\x16\x4e\xaa\x25\x51\xaa\x21\x62\xb6\x42\xb3\x23\xe1\x50\x74\xc4\x28\x84\x98\x53\xf4\x2c\x12\x45\xe7\x67\x9d\x1b\x40\xc6\xef\x82\x27\xff\x24\x9c\xc1\x75\x4a\x3b\x96\x51\xc0\x1b\xb3\x0b\x2a\xb3\x13\x7b\x2b\x10\xb3\xab\x63\x4f\x20\xa9\x6d\x31\xc5\x83\xcc\x3d\xc8\x84\xb4\xfd\x20\xfb\xdd\xba\x71\xbb\xa5\xed\x3e\x7a\x92\xc1\x99\x3c\xcf\x73\x1b\x50\x51\xd3\xfe\xdd\xba\x19\xad\xa8\x77\xa5\xaa\x89\x39\xec\xff\x25\x6b\xaa\xf7\x4a\xb1\xa8\xc7\x99\x5e\x46\xb5\xae\x8d\x75\x16\xf3\x7d\x65\x24\xbd\x46\xe4\x94\xfb\x4e\x8e\x3b\x87\xe7\x5d\x83\xd6\xe4\x87\x6a\xf2\x33\xd6\xe4\x67\x52\xd0\x9d\xaa\xd0\x98\x53\x9e\x89\xa0\x3c\x93\x1c\x64\x24\xb5\x8a\x0e\x53\x63\x56\xbb\x6a\x46\x9c\x44\x5f\xf3\x9a\x7c\x26\xc5\x79\x2f\x7e\xf0\x0d\x5d\x0c\x41\xfb\xb3\x11\xb3\x2e\xa9\x9e\x28\x26\x7e\x08\x20\xbc\xce\x5c\x94\x18\xd8\xae\x52\x43\x86\x5c\x38\x4c\x74\x41\x75\xdb\xb8\x6c\xbb\x68\x98\xe4\xcd\x88\xe6\xd5\xdb\x6a\xb5\x91\x10\x17\x72\x36\x7e\x53\xb5\x6d\xd8\xed\x16\xa7\xae\xe4\x51\x4a\x32\x1e\xb8\x11\xba\xc8\x1a\xaa\xcf\x3e\x7a\x9d\xd5\x8e\x1b\x66\x4b\x59\x0f\x08\x07\x2c\x58\x11\xdc\x06\xc4\xb3\x0a\x1e\x09\x8a\x2a\x5a\x26\x92\xd2\xda\xc2\x97\x6e\x0f\x67\xf9\xc4\x8f\xe2\x92\xaf\x7c\x77\x2b\x2c\xbb\xca\x60\x37\x13\xef\xaf\x02\xd3\xde\x67\x85\x02\x89\xd0\x23\x88\x92\x93\xf7\x3e\x8d\x84\xd5\x49\x0e\x1f\x7a\xe4\x82\x45\xf9\x17\xf8\xea\x82\xd0\xf2\xe5\xe1\x59\x07\x5b\xf5\x36\x83\x0f\x99\xb4\x39\x58\xa7\xd9\xa3\xab\xc5\x94\x94\x72\xc7\xaf\xdd\xad\x7e\x91\xad\x3e\x6d\x4f\x65\x2f\x09\xad\x1c\xde\x64\x6e\x15\x1a\x0d\x26\x68\x9b\x22\xa6\x39\x46\x60\x8a\x81\xb0\xb7\xcc\xc7\x3f\x53\x1b\xfd\xa9\xe8\xd2\x86\x4f\x45\x9f\x8f\xfd\xf0\x2d\x5e\x62\x9f\x59\x39\xbc\x30\x4b\x0f\xf5\x85\xb1\xe0\x20\x19\xbf\x1e\x4e\x6a\x27\x2f\x65\x08\x73\xf6\x43\x45\x2b\xa3\x9c\x3b\xbe\x2e\x4e\xeb\x3b\xeb\xf3\xc7\xc5\xa5\x4e\xe2\x66\x50\x3d\x98\x25\xa2\x8a\xe3\xd9\xae\xb5\xf4\x29\x83\xc0\xe6\xb7\xd4\xe1\x04\xa8\x2b\x82\x32\xd6\x90\x9d\x14\x1a\x8a\x90\xb8\x41\xce\xb1\xef\x73\xff\x5c\x57\x4c\xe3\xba\x32\xe0\xda\x35\xb7\x7f\xd0\x3c\xa9\x04\xe0\x56\x0d\x72\x4e\x09\x13\x25\x47\xc9\x4c\x00\xc9\xda\x6d\x67\x46\x80\x64\x6b\x03\x24\x13\x00\xf9\xd8\x79\xe0\x88\xc3\xa1\xd4\xb7\x99\x66\xc8\xda\xbb\xf4\x03\x16\x5f\x55\x88\xb0\x01\x4d\x53\xf4\x42\x1d\x2d\xb8\xf6\x22\xc8\xec\xdc\xf4\x62\x91\xa2\xcf\x5d\xc5\x85\xd9\x4a\xe6\x66\x1d\x1a\x70\xe0\xad\x87\xa4\x9d\x5c\x71\x71\x9b\x4c\xf4\xb1\x44\x0a\xfa\x1d\x88\xc3\x28\x13\x34\xda\xcb\x75\xa4\x20\x71\x49\xa0\xe2\x62\x54\x2c\x50\x5a\x15\x43\xe8\x65\xf8\x96\x2e\x2a\x0d\x6e\xda\xf6\x75\x75\x19\x31\x24\x6e\xb2\x31\x01\xe2\x12\x08\xdc\x00\x32\x37\xdb\x98\x80\xe7\x4e\xa4\x4b\xe8\x66\xd1\xb4\x5a\x10\x3c\xd7\xdb\x98\x88\x27\x3d\x6f\x2d\x58\xae\x9a\xea\xb5\x74\x5a\x7d\xfb\x29\x96\x7b\xa6\xb9\x1b\x5a\x4b\x34\x53\x1b\xe3\x53\x06\x33\xe1\x0b\xfd\x1f\x0b\x19\xea\x75\xec\x82\x2e\xf4\xc7\x6d\xf4\x57\x7e\x4f\x75\x85\x25\xfa\x41\xdf\x6a\x8a\x3b\x7e\xf5\xc6\xa7\xae\x5f\xe5\x79\x5d\x39\x95\x1b\x3b\xa5\xd5\x32\xf3\xbe\xbd\x65\xbe\xa9\x70\x7b\xba\x5a\xc6\x98\xa1\x08\x51\x4f\xb0\x76\xe2\xa5\xce\xab\x9c\x18\x4f\x62\x22\x0e\x0c\xe2\x35\x4f\x28\xa5\xf0\x00\x9c\x6c\xe8\x01\xb9\x54\x74\x4b\x5c\x5a\xc8\x3c\xc4\x73\xb0\x18\x5c\xe6\xd2\x62\x78\x9e\xf8\x8e\x81\xe3\xdc\x25\x67\x2b\x04\xea\x6d\xf3\x2f\x6c\x2b\xf4\xd3\xe2\x87\xb4\x42\x88\x67\x6e\x5a\x11\x3b\x48\x8e\xd6\x6b\xef\xbc\x99\x46\xcb\xa0\x40\xcb\x4c\xa0\x65\x22\xd1\x72\x03\xcd\x86\xc4\x56\xf1\xd9\x63\xd1\x26\x84\xee\x8c\x22\x21\xb0\x21\x10\x43\xe9\x29\x58\x0f\x23\x94\xcb\xbf\x18\x05\xd4\x4f\xe7\x3b\x7e\x8a\x51\x21\x40\xbb\x16\xae\x16\x9c\xeb\x38\x4a\xb0\xf3\xcb\xfd\xfb\xbc\x97\x6c\x91\x38\xbf\xe5\x80\x93\x50\xa7\x3f\xf8\x59\xa7\x4f\x1e\xe6\x39\x84\xb6\x72\xc9\x29\x5b\x19\xcd\x38\xa8\xff\x9f\xc1\x52\xfc\x1a\xa4\x18\x2f\x84\xd7\xb9\xb9\x7f\x8e\x07\xfe\x60\x9a\x9d\xb4\x1c\xd3\xf9\xc9\xe0\xe8\x68\x67\x67\xaf\xcf\x39\x1d\x23\x24\x4e\xef\xc9\x46\x2b\x8e\xe9\xe4\x3d\x28\xe4\x13\x6f\x41\x2f\x5e\x09\xbd\x58\x42\xcf\x86\xa0\x8a\x2b\xfb\x09\xc7\x94\xcc\x73\xd1\x3f\x0a\x55\x5e\x7e\x1f\xaa\x04\x7f\x19\xaa\xc4\x7f\x0d\xaa\x3c\xbc\xff\xab\x11\x55\x1e\xfe\x3c\xee\x45\x95\x28\xf9\x57\x43\x94\x4e\x6e\xfa\xb1\x1f\xbe\x4a\xf0\xab\x59\x79\x5b\xf0\xbc\x95\x4f\x19\x32\x4e\x84\x7c\xa1\x4e\xda\xec\x66\xe6\x21\x2a\xde\xed\x80\x69\x36\x95\x73\x1b\xfc\xa2\xc3\xea\x92\x25\xd2\x10\x6d\x0a\xbf\x6a\x52\xf2\x28\xd1\x53\xdd\x2f\xed\x9b\x1b\x9d\x2c\x04\x76\xea\xa6\x69\x97\x35\xe5\xc3\x89\x99\xf7\xa2\x39\x08\xf9\xc6\x44\xb0\x5f\x91\xb7\xfe\x6d\xc8\x47\x9e\x07\xb4\xcd\x24\x81\x6f\x6a\xa4\xb8\x5c\xc8\x33\x4b\x5f\x4c\xd2\x9e\xb2\xdb\xec\x00\xfb\xa5\xa2\x3f\xcc\x3c\x37\xf5\xd0\xd8\x86\x58\x7c\x4c\x6c\x08\x4d\xb5\xef\x8c\x73\x58\x7a\xae\x3c\x38\x66\x9e\x49\xc2\x55\x97\xdf\x0e\x0c\x4f\x64\x7f\x24\xa6\x44\x6a\xd9\x3d\xea\xe7\x94\x5f\x96\xe7\x9d\x67\x99\x90\xae\x2c\x3d\x2d\x95\x39\xf7\xdc\x73\x4f\x88\x73\xce\xbd\xdf\xad\x9b\xa1\xf5\xa7\x3b\xf7\x64\x78\x38\xcf\xed\xbb\xf2\x0f\x22\xaf\xa1\xc9\x13\xa1\x9d\x8a\x01\x4f\xc5\x81\x21\x5a\x78\xa0\xeb\xd7\xab\x04\xf2\x9a\x6d\xe7\x10\x21\x21\x4e\x1a\x59\x7f\x76\x7c\x8a\x37\xa0\xaf\x19\x4a\x6c\xa9\x82\xd0\xd2\x16\x8a\x90\x9e\x01\x2f\xc6\x6c\x78\x95\x71\x1c\x27\xb6\x6d\x52\x1b\xb2\xe1\xa4\x6b\x7e\xf2\x3a\x63\x9c\xc8\xc9\xca\x89\x94\xd4\x74\xce\xd1\xd2\x00\xa4\x62\x94\xf5\x01\x27\x7c\x5a\x20\x60\x18\x70\x82\xf9\x9d\x13\x14\x8f\x65\xdf\x30\xc3\xe9\xea\xa5\xca\xdc\xfa\x4a\x97\x08\x5d\x0c\x28\x97\x23\xb4\xbf\x17\x1a\x46\x14\xe3\xe0\x69\x43\x27\x33\xc0\x60\xbd\x52\xb9\x0d\x57\xdf\x8d\xeb\x4a\x61\x91\x54\x15\x16\x9f\x10\x3a\x95\x4e\xe5\x9c\x35\x31\xa8\x3a\x32\xa5\xa3\xf8\x4a\xc8\xc0\x4a\x9f\x71\x2b\xd7\xa8\xde\x46\x43\x97\xd1\x0c\xf0\xca\x27\x2d\xf7\x18\xac\xda\xb8\xb5\x9e\xec\x3c\x37\xae\x8b\x09\x6b\x2b\x15\x3b\x36\xe7\xb1\x67\x94\x48\xa8\x59\x1c\x56\x4e\x82\xca\x22\x71\x24\xd3\xe4\x96\x19\xb1\x67\xee\xf1\x41\x60\x1b\xd4\xeb\xf7\xc4\xde\x2a\x87\x53\xbe\x27\x38\x29\x3a\x2e\x66\xce\x2f\x77\xa6\x69\xc9\xb6\xa8\x0d\xd5\xc2\x1b\xdd\x85\xc5\xc8\x7c\x75\x60\xd4\x6b\x19\x80\x90\x2b\xa5\xc0\x0b\xaf\x4b\xea\x69\xd0\x50\x7b\x2b\x1c\x97\x7a\x13\xfe\x41\xed\xfc\x51\x43\x89\x0c\x17\x9a\x6a\x0a\x62\xef\x32\x54\xf1\xa5\x2e\x18\x9b\x81\x3f\x10\x26\x5a\x43\xce\x65\x0d\x02\xb2\x10\xbe\x23\x85\x23\x74\x36\xc7\xd2\xad\xf8\x80\x91\x53\x9c\x0c\x02\x3f\x49\x08\x1b\x4c\xa5\xeb\x75\xbc\x58\xb2\xab\x81\x34\xea\xbc\x23\x8d\x40\x1b\x7d\x4f\xbe\xb3\x6f\x9c\x84\x6b\xf5\xdc\x50\xd6\x2f\x4f\x64\x75\x8c\x62\xc9\xe8\x8c\xbc\xb1\x7d\xf7\x6e\x25\x71\xa2\x12\x2b\x34\xbc\x38\x7d\x24\xea\x8a\x35\x13\xa6\x6f\x30\xb1\x3b\x2c\xb1\x24\x0b\xbf\xf4\x03\x9c\x3e\xea\xdd\x74\x1c\x79\x46\x02\x9e\x9c\x47\x87\x19\xba\xf2\x80\x8e\x70\x12\x0a\x5b\xf3\x88\xe1\x05\xd0\x51\x8a\x97\x3e\xf5\x19\xa1\x40\x47\x8c\xfa\x51\x1c\x25\x27\xa2\xe7\x53\xcf\xed\xb6\x81\xac\xb2\x82\x5e\xa9\xd5\x42\x4a\x99\x85\x57\x11\xcf\xb4\x9e\x43\x69\x17\xd3\x8a\xe5\x23\x42\x5e\x6d\x46\x89\x1e\x80\xba\x74\x63\x02\xd8\xc5\x1b\x13\x48\xdc\x9a\xe8\xa1\x10\x3a\x00\x75\x3d\xb3\x74\x82\x73\x7d\x47\x26\xae\xd6\xc0\xfb\x95\x3a\x9c\x10\xb8\x44\x3c\x88\xaa\x2b\x93\xe7\x12\xc1\x93\xa6\x2e\xd1\x57\xa6\x99\xb2\x4e\x4e\x18\xc4\x9c\x97\x55\x57\xa6\xa5\x86\x4a\x0a\x59\x09\x95\x65\x4b\x68\xf5\x5e\x08\x53\xa5\x8f\x63\x5d\x64\xd3\xde\x0a\xd1\x29\x3f\xcf\xd2\x8d\x09\x78\x1b\x13\x98\x40\x06\x22\x5e\xb3\x4a\x5f\x82\x07\xbc\xaf\x78\x43\xe7\xc0\xb9\xd4\x74\x48\x61\xae\x47\x96\x55\x4e\xc7\xfd\x04\xce\x01\xab\x07\x56\xd1\xa7\xbc\x54\x9c\xc3\x5c\x92\x81\xcb\xe2\x16\x59\x1e\x2a\x39\x3c\x36\x10\x07\xd5\xe6\x85\x87\xd4\x3d\xca\xfa\xdd\x82\x02\x8d\x1c\x0b\x2c\x71\x8b\xb2\xfe\xb4\x40\x62\xa9\xc3\x80\x23\x9b\x43\x41\x23\x98\x73\xe9\xf5\xd9\x37\x56\x9a\xbe\x36\x36\x9d\xaf\x6c\xda\x86\xed\xb5\x86\x8e\x8c\xed\xdb\xdf\x3a\x74\xed\x06\x38\x49\x70\x2a\x7c\x4a\xec\x48\x1a\x73\x1b\x63\xc4\x97\xbd\x55\xdb\x8f\xb6\x11\x7a\x4c\xc1\x72\xad\x52\xe1\x89\x9f\x0a\x85\xb0\xec\xee\xdd\xe2\xa7\x22\x90\x77\xef\xaa\x6b\x9b\x24\x49\x32\x71\xcb\x47\xaf\xfa\xc7\x55\x3d\x07\xca\xf1\x9c\x2a\xdb\x05\xf5\x21\x54\x8e\x6d\xe7\x2c\xb7\xe1\xa5\xf1\x8e\x75\x81\x51\x84\x18\x83\x6d\x7e\x5e\xf1\x81\xdf\xb5\x20\x42\x17\x14\x26\xda\x4f\xd1\x5b\xcf\xa0\x3b\x2e\xcb\xde\xb3\x80\x35\x26\xa9\x1d\x7f\x58\x5a\x53\x7a\x8b\x8e\xe4\x75\x6f\xaf\xde\x4e\x95\x64\x51\x97\x3d\xaa\xea\x57\x57\x8f\x8d\xb3\x47\x35\x41\x3c\x1e\x65\xc9\x79\x94\x46\x0c\x87\x9d\x17\xde\x03\x84\x47\xc2\x83\x91\x3c\x94\x64\x01\x6f\x5c\xc0\x39\x69\x1e\x4d\x95\x0a\x4c\x68\x5e\xe7\x39\x1c\xf6\x10\xa7\x3d\x0f\x89\x47\xd9\x6b\x35\x92\xba\xa1\xaf\x1e\x9f\xf3\xd6\xe3\xdc\x82\xf0\x30\x97\x3a\x3a\x7c\xf3\xb1\x64\x40\x77\x7a\xee\x6b\x87\x9c\x4f\x50\x8b\x40\x85\x71\x20\x5f\x3d\x7e\x78\x08\xab\x41\x51\xff\xac\x7b\x3b\xa9\x06\x68\x69\x76\xd8\xac\xbc\x42\xd9\x4c\x8f\x1f\x8f\xd4\x57\x65\x4e\x15\xf8\x17\x33\x1b\xc9\x0f\x35\x41\x56\x00\x53\x70\xe4\x4f\xfa\x18\xbb\xa2\x2b\x56\xe9\x82\x36\x41\x26\xcc\x8c\x0f\x7a\x6e\xec\x75\xa5\x3d\xd8\x37\x62\xfa\x81\x67\xd0\xb0\xa0\xeb\xa1\x54\x65\x7d\x2b\xc2\x93\xda\xe3\x17\x01\x66\x6f\xd5\xb9\xc0\x14\x3d\xf1\x1a\x6c\x34\x11\xef\x4e\x1a\xae\xb9\x50\x3b\x80\x02\x80\x1a\x70\x4d\xe6\xb0\xce\x78\xe7\xf0\xaa\x13\x79\xaa\x93\x64\x85\xf4\xfe\x7b\x26\x29\xc2\x92\x90\x86\x07\x15\xa5\x48\xf2\xd7\x4c\x57\x86\xfa\x59\x35\x69\x1b\x9e\x7b\x6e\x84\x5e\x79\x60\x1d\x1d\xbf\xdd\x7f\xf9\xd4\x82\x5d\x66\xc3\x6b\x21\x71\xe1\xa9\x2f\xdf\x1d\x3e\xde\x7b\x6b\x41\x4c\x79\xaa\x50\x3b\x79\xf4\xda\xfb\xdd\xfa\xdb\x3d\x93\x81\x68\x09\x99\x42\x99\xa0\x01\xbb\xe2\xac\x26\x4c\x3d\xcc\x49\x61\x99\x38\x9f\x05\x80\x76\xbb\x9e\x4b\x8c\x4d\x96\xfa\x09\x25\x1b\xf0\x19\xce\x3c\x94\xe8\x55\xc7\x35\x9a\x92\x18\x76\x5f\xd2\xde\x7d\x49\x63\xf7\xe9\x7b\xc4\x3b\xcf\x35\x4e\xa8\xbe\x40\xac\x7d\x19\x7b\x84\x5e\x7b\xae\x02\xe0\xef\xd6\xdf\xb6\xfe\x51\xd0\x7b\xdf\xb3\xa1\xdf\x64\x98\x5e\x35\x76\xf5\x87\x4e\xa4\x7f\xef\x75\xea\x1a\x4a\xd8\x3c\x32\x4d\x5d\xa0\x6b\x09\xe4\x2a\x68\x09\xa8\x35\x41\x14\x45\xe8\x1d\x05\x06\xc4\xee\x12\x2b\x3d\x33\x52\x9b\x08\x7d\xe0\x44\xf8\xd8\xce\xe1\x8b\xe7\x9e\x37\x8d\xe0\x0c\x86\x1a\xd6\x73\x3f\xc9\x7c\x7a\x25\xdc\xee\xdd\x9f\x80\xb7\xe9\xdc\x9f\xe4\xed\xbb\xa5\xa9\xea\x13\x3c\xa5\x45\xdd\xcd\x5f\x79\xdd\xcd\xdf\xd6\xac\x7b\xc8\x8f\x85\x6f\xe9\x74\x7b\x49\x85\x46\xcb\xc4\xb9\x3f\x16\x15\xc7\x6b\xf7\xf8\x4d\x93\x7c\x9e\x25\xf8\x5b\xba\x7b\x9e\xc5\xdf\xd4\xdf\x76\x76\x92\xa5\xec\x5b\x6a\x1e\xe1\x25\xc3\x8b\xa9\x40\xde\x5b\x0f\xf7\x55\xc0\x48\x51\xf5\x76\xfd\xbe\x24\xe7\xdf\xdc\xed\x2e\x0e\x2a\x75\x0d\xfd\x2a\x31\x45\xf1\x9f\x0d\x5f\x4d\x9c\xa1\x38\x0c\x85\x6a\xd4\xef\xd6\x8f\xd6\x9f\xc0\xe0\xc1\x98\x53\x77\x6c\xc8\x99\x88\x9c\xa4\xf1\x44\x60\x68\xc1\x24\x63\xc1\x06\xfb\xd1\xf6\x70\x4b\xe3\x3d\xc9\x9f\x26\x8a\x3f\xbd\x33\x2e\xb9\x42\x9d\xa3\xb9\x42\xf1\xe2\x31\xd1\x49\xde\xd8\xae\xd5\x2f\x79\xf4\x3a\x43\x59\xa6\xdb\xfa\x41\xa0\x66\xdc\xd7\xae\x2f\x3b\x1a\x57\x1b\x50\x7d\xdd\xa2\xd9\xde\xa2\x93\xa2\x68\xf3\x6f\xd3\x32\xf0\xce\x24\x87\xa7\x5d\xe7\x59\x84\x96\x0c\xe8\x70\x02\x5f\xbc\x82\x11\xd0\x66\x8f\x4a\x05\xe0\xab\x87\x98\xbd\x25\x25\x2d\x9b\x8e\xfc\x3b\x71\xc6\xb9\x0d\x6f\xd6\x78\xbb\x1a\x46\xe8\xa9\x7c\xa1\x90\xcf\x4d\x15\x4b\x9c\xbf\x8f\x6d\xbb\xf3\xde\x43\xa5\x1a\xcf\xa3\xaa\x3c\x22\x11\xb8\xf9\xc9\x48\x95\xe5\x28\xef\x3f\x7c\xe8\xdc\x7f\xf8\x73\x0e\x2f\x3c\x93\x37\xa1\x8a\x32\xcd\x9d\x42\x9d\x86\x56\x06\x32\xc0\x4a\xe4\xc4\x80\x88\x4e\x03\xf7\x13\x67\xf5\x1f\x31\x37\x01\xea\x12\xc0\x6e\x87\x91\xc9\x20\x42\x3b\x30\x86\x57\x0c\xc5\x94\x1f\x86\xfc\xfc\xf8\x5c\xdc\xf4\xb7\x67\x0c\x53\x2b\x87\x8f\xe5\x0b\xb2\x08\x80\x6a\xe5\xf0\x83\x09\x88\xcc\xa9\x0c\x55\xd5\x2e\x9c\xa6\xd9\xd7\x1c\xae\x72\x5c\x35\xd3\xa6\xbf\x8f\xed\x6b\xe6\x7e\xf6\x4a\x80\x3d\x0a\x48\xc2\xa2\x24\xc3\x03\x96\xd7\xf4\xb9\x60\x5c\xb0\xb4\x35\xa8\x6f\x4c\x40\x2c\xae\xd3\xbd\x24\xb9\x5a\xd9\x8d\x62\x04\x77\xea\xe6\x55\x2b\x16\x55\x54\xdb\x10\x4b\xfb\x51\x0c\x75\xa8\xd6\xd6\x06\x16\x99\xbc\x4c\x8c\x52\x1c\x90\x24\x04\xec\xb2\xd1\x22\x4a\x32\x86\x85\xea\xec\x9c\x64\xb4\x61\x8b\xb5\xf9\xa0\x50\x45\xc3\x1b\xc2\x1e\x64\xbc\xf5\x9a\x21\x8b\x17\x1d\x44\xe9\x80\x64\x6c\x40\x66\x03\x2a\x0c\x90\x6d\xa7\x3a\xea\x9b\x1b\xfd\x6b\xf3\xc1\x5a\xd5\x70\xad\x1a\x86\x9f\x7f\xd3\xd5\xe4\x18\x3b\x2b\xd2\x5a\x45\x5a\xa9\x28\xe7\x69\xa8\x28\x6c\xbf\x72\xa0\x91\xd9\x74\x44\xe0\xf1\x68\x41\x12\x36\x87\x49\xa5\xed\x22\x6d\xb3\x18\x1a\xff\xdd\x39\x32\x36\x0a\xfd\xab\x46\x0b\x3c\x45\x6e\xe1\xd1\x15\xf6\x29\xa8\x36\x6d\xdd\x62\xe8\x5f\x19\xda\x63\x91\x18\x30\x8e\x5a\x21\xf0\x70\x8b\x10\xa9\xe7\x16\xa6\x5e\x5a\x36\x8a\xd7\x11\x2a\x5f\x4d\x86\x15\xa7\x26\x17\xbf\x5b\x1b\x1b\xe2\xe0\xa0\xad\xf7\x10\x21\x24\x49\x5c\x1f\xed\x25\x70\x96\xa0\x89\x0d\x87\x09\xb2\xd0\xef\xc3\x8d\x3f\x6d\xf4\xc7\x1f\xe1\x1f\x7f\x84\xb6\xb3\xa5\xbf\x2c\xf1\x40\x07\x96\x25\x5e\x20\x89\xcb\x39\x76\x03\x70\x45\x14\xbb\x85\x8c\x94\x2c\x54\x88\x03\x17\x89\x66\x3f\xdf\xa0\xdf\x37\x86\x7f\xfe\xf1\x47\x78\xbd\x99\x3b\x5b\xf2\xaf\x6d\x6f\x59\x36\x10\xbb\x79\x34\x05\x75\xf9\x50\xa0\x85\xf7\x77\xef\x16\xc4\x36\x50\x92\xec\x76\xc1\xf2\x48\xaa\x97\x9d\xd4\x8d\xd5\xeb\x35\xaa\xe7\x50\xbb\xde\xa4\xd2\x93\x3c\x65\xaa\x59\x93\x56\xd6\xc4\x70\x99\xac\xee\xeb\x17\x1e\x8a\x10\x86\xa0\x90\xc6\x43\x65\x88\xfa\x06\xf8\xc2\x43\xf5\x01\x08\xf9\x7c\xfb\xc0\xfb\xab\xfa\x1b\xe7\xad\x23\xb2\x79\x34\x1a\x9a\x1e\xcb\xaa\x39\x24\x46\x5a\xd4\x7c\x0b\xa9\x4b\xb4\xc6\x8f\xb4\x03\xd4\xb7\x55\x1c\xfc\x1d\x46\x7f\x5a\xa6\x43\xc3\x1a\x8f\xac\x5c\x79\x62\x4d\xdc\xe2\x04\x99\x51\x84\xed\xf2\xc5\xf5\x31\x9a\xe0\xfb\x3f\x25\x76\x0e\x24\x72\xa3\x1a\x7a\x97\x3b\xc2\xe2\x88\x7d\xfd\x20\xb7\xb7\x86\x5b\x16\x34\xd3\x37\x7b\xd2\x6b\xa9\xc7\x1d\x85\x9c\x5b\xa6\xd7\x53\x7f\x1f\x81\xd8\x29\x13\x68\x65\x7d\xbe\x31\x6c\xa3\x2d\x0b\x2c\x34\xfa\x89\xef\xa6\xf2\x3f\x08\xd6\xa1\x26\x0a\x66\x02\x43\x76\x80\x2a\x47\x83\xc9\x7a\xfb\x9b\x44\x88\xda\x0d\xb1\x67\x52\xdf\x92\x49\x6b\x93\x26\xf5\x4d\x5a\x4f\xec\x49\xef\xcf\x5a\x99\xbb\x4e\x81\x35\xcb\xac\x5f\xcc\xc0\x1e\x77\x97\x34\xf2\xd2\x82\xa5\x2c\x28\x52\x7f\x7d\x09\x68\x71\xcc\x54\xc2\x3e\x0b\x97\xaf\xb6\x43\x23\x74\xcd\x4f\x24\x87\x53\x02\xa5\xf0\x04\xd6\xd8\xb2\x41\x1c\x50\x95\xe4\x89\xc8\x99\x58\x36\x84\xfe\x55\x3d\xbd\xcc\xe2\x67\x7d\x2b\x6f\x52\xb6\x29\xce\x74\x53\x81\xb2\x8c\x3c\xbe\x3b\xca\x54\x9b\x8a\xe3\x48\x95\x4d\x22\xd4\x05\x82\xb1\x5d\x98\x02\x77\x17\x12\xe5\x72\x61\x21\x64\x65\xc9\x69\x42\x2e\x92\x81\xf4\x83\x6e\xe7\x90\x75\xb0\x0b\xe2\x91\x74\x6c\x6f\x59\x96\x3e\xf7\x61\xc2\x59\x92\xad\xca\xbe\x1c\x8d\xc7\x2a\x6c\x46\xa5\x4c\xbb\x90\x2e\x53\x4d\x2c\xc2\x6d\x78\x26\x0a\xca\xf3\x9a\x6a\xd2\xad\xde\xc7\xbc\x77\xda\xd7\x75\xb3\x00\xbe\xdf\x2c\x20\xf2\x69\x0e\x51\x1f\xd3\x64\xe8\x5a\x4f\xe9\x54\x70\x30\x7e\xe7\x29\x30\x56\xaf\x20\x77\xef\xaa\x2f\xad\x93\x6f\x7d\xb6\xea\x0f\x1b\x25\xbf\xf8\xf7\xe1\x64\x8b\x33\x38\xd6\xd0\x7a\xd4\xe2\x69\x92\x0a\x5d\x8c\x22\xb4\xc7\xcf\x00\xfe\x21\x7d\xa5\xd9\x39\xa4\xc6\x99\xc8\x50\x14\x56\x43\x3c\xeb\x45\x48\x32\x6c\x86\xeb\xb5\x35\x34\x04\x86\x88\x22\xcd\x2e\xde\xaa\x46\xe8\x5f\x99\xca\x1f\x77\x95\xe7\xdb\xcc\x54\xc1\xe9\x1c\x92\xd8\x78\xb7\xaa\x22\xf7\x96\x49\x63\x48\x36\x58\x6c\x3f\x43\x11\x9f\x17\x51\x36\x47\x3d\x12\x92\xdc\xce\x61\x16\xb9\x92\x00\x8d\x15\xc5\x99\x08\xfa\x32\x91\xa4\x64\xac\x49\xc6\x58\xd3\x85\x71\x6d\xe7\x8f\xf5\xee\xee\xe3\x41\x62\xf3\x7d\x48\xd6\xd4\x18\x74\xff\x21\xfe\xf9\x27\x8e\x6a\x1b\x0f\xf1\x83\x9f\xc4\x1b\x17\x84\xf5\x8a\x5a\xea\xa1\x99\x7a\xc1\xc9\x4f\x7e\xfb\x45\x1a\xcc\xab\x76\xbf\x0a\xe7\x40\x4f\xbd\x02\x71\x22\x14\x33\x98\x94\x1c\xbf\x0d\x58\x1c\xa3\x9f\x3c\x99\x25\xcb\x6d\x4c\x60\xf2\xdb\xc3\xdf\x0c\xd2\x9e\x5f\x1f\x3e\xc0\x3f\xff\xf4\x15\x99\x56\x4f\xe6\xa1\x4f\x45\x6f\x43\x13\x5a\xa8\x52\xa6\xfb\xc7\xb0\x0b\xf7\x7e\xdd\xfc\x15\xff\x3c\x14\x40\x91\xe8\xd6\x2e\x72\xff\xe7\x07\xf8\xc1\x90\x43\xab\xb8\x50\xb6\xca\x3c\xc4\x0f\x86\x9c\xed\x2a\x6e\x9f\xad\x12\x71\x84\xba\x70\x44\x2f\xcd\x78\x88\xbe\xa2\x84\x8f\xb5\x8a\x75\xb9\x7c\x82\xe9\x85\xb6\xd0\x54\xaa\x83\x9b\xaf\x97\x82\x82\xc8\xbd\x3d\xb8\xbf\x22\xd2\x0d\x64\x01\xcf\xe1\xc4\x50\xa0\x17\x96\xfd\x50\xec\x87\xe0\x70\xf2\xd3\x1a\x40\xe4\x10\xdc\xa8\x41\x30\x87\xa5\x69\x63\x94\x56\x37\x9c\xce\x7e\xf6\x9c\x8f\x9e\x00\x61\x29\x94\xc4\xf7\xe5\xbb\x71\x21\x50\xa1\x15\x15\xfa\xa4\x52\xf4\x1e\x9f\xf3\xcd\x18\x36\x1f\xc8\xbb\x61\x91\xfe\x10\x3f\xb8\x19\xc3\xc3\xb1\x2d\xad\x4f\x75\xf2\x04\xdf\x57\xc9\x99\xeb\xa3\x1f\x3c\xf8\xec\xa9\xf5\xba\x27\xc0\x7b\x33\xb6\x41\xd9\xea\xa7\xc2\x56\x1f\x66\xae\x8f\xde\x78\xe0\xc1\x04\xd2\x8d\x89\x0d\xb1\x3b\x53\x76\x19\x35\xdb\x3b\xe5\x4c\x7d\x16\xc1\xb5\x22\x1c\x81\x26\x2c\x44\x12\x9a\x44\x50\x9d\x50\xd1\xa0\x18\x04\x49\xf2\x6a\xb4\x06\x2b\x85\xfe\xa5\x5b\x0c\x07\xe6\x55\xc0\x88\x44\x1b\xce\xa5\x20\x77\xce\x99\x03\x31\x8b\x8f\x9e\xd8\xdb\xb0\xdc\x98\xd8\x4e\x3d\x85\xcf\xe7\x5c\xce\xe7\x9c\xcf\xe7\xa4\x32\x1f\x3e\x9b\x13\x39\x9b\x13\x9e\x57\x01\xd5\xbc\x02\x2a\x52\x4d\x2e\x01\x9b\x54\x93\xcb\x75\xf8\x07\xc0\x04\xe6\x91\x8b\xfa\x0c\xc6\xd4\x2d\x51\x54\x67\xaa\x35\x2a\xda\xc6\xba\xa3\xa2\xe3\xca\x50\xca\x5e\x32\x4d\xe5\xbd\x3c\xb7\xf5\x11\x7d\x94\x89\x00\xd4\xe7\x91\x8b\xba\x5e\x8f\x8e\xe7\x99\xd5\x2d\xdd\x7f\x42\xa3\x9e\xdc\x23\x61\xc2\xd4\xca\x9d\x47\x9d\x35\x0e\x49\xd2\xd3\xde\x71\x86\x7b\x72\x3f\xe0\xd0\xea\x78\x4b\x68\x6b\x23\xdc\x29\x7e\xda\xd7\x52\x96\x59\x73\x54\x77\x4c\x6a\xba\xff\x4d\xc5\xcb\x59\x6f\x36\x41\xd6\xf6\x94\x88\x48\x73\x4d\x7d\x56\x93\x16\x67\xd9\x97\x76\x5e\xa9\x63\x09\x0e\x55\x84\x87\xe8\x1c\xb7\xdb\x6a\x0d\xea\xed\x3a\xed\x0c\x55\xf0\xba\xd6\x38\xbe\x12\x44\xdb\xe4\xaf\x3a\xcd\xde\xd9\x94\x4f\x95\x2f\x49\xd3\x17\x27\x41\xd6\xd4\x0f\x4f\x0c\x73\xb0\xe1\xd8\x54\xfa\x02\x8b\x20\x94\xeb\x15\xfe\x92\x2d\xa6\x84\x51\xe1\x51\xb7\x55\xa3\x03\xba\x41\x8c\x7d\x3a\x8b\x2e\xbb\xa1\x2a\x27\x1c\xa1\x97\xc6\x95\x56\x3a\xc6\x8b\xc8\x45\xc6\x31\xcd\x08\x5d\x0c\x75\xa0\xc2\xf5\xa6\x41\xc9\x85\xa1\xac\x0d\x27\x51\x77\x80\x8b\xa8\xa5\x8a\x6c\x9e\x2d\x89\x87\x97\xe9\xf0\xa1\x61\xb6\x6c\x7d\x8c\xec\x69\xc5\x80\x38\x76\xd7\x3c\x03\x92\x30\x3f\x4a\x30\x1d\xce\xe2\x2c\x0a\xd7\x86\x4f\x51\xcf\x54\xc3\x47\x3e\x01\x2b\x8e\x92\xd3\xe6\xed\x63\x57\x44\x39\xbd\x8a\x71\x3a\xc7\x98\x99\x10\xff\x05\x41\x96\x36\xcd\x5a\xf8\x97\x41\x98\x8c\xa6\x84\xb0\x94\x51\x7f\xc9\x7f\x04\x64\x71\xaf\x48\xb8\x77\x7f\x74\x7f\xf4\xf0\x5e\x90\xa6\x65\x1a\x67\x39\x46\x81\x88\x24\xd9\xbf\x7d\xd4\x8f\x03\x3c\x63\xfc\xe7\x34\x2a\x5e\x60\x08\x63\x64\x61\xe5\x70\x55\x24\xbd\x8d\x4e\xe6\x9c\x78\x1e\x17\x29\xc7\x64\x69\xe5\x70\x11\xf5\xfb\xcc\x18\x18\x56\x8f\x06\x7d\x8a\x01\x92\xd1\xb7\x96\x64\x49\xce\x31\x1d\xcc\xfc\x50\x3e\x80\xdf\x59\xf9\xa8\xab\x6a\x46\x89\xa5\x8c\xad\xd6\x2a\xce\xc8\x52\x94\x57\xb7\xff\xe3\xc8\x5e\xb3\x22\x15\x20\xa9\x54\xbd\x5a\xbb\xea\x54\x02\xb8\x52\x77\xba\x76\xdd\x98\x2f\x57\xa5\xe6\x49\xbd\x66\x79\xca\x98\x9e\x8f\x83\x8a\x5c\x14\xc3\xea\xce\xc2\x28\x5d\xc6\x4a\x73\x41\x06\x0c\x6e\x1f\x69\x06\x15\x91\xd6\x59\x60\xdc\xc1\x3e\x35\x12\x99\x2e\x1a\xaf\x6a\x56\x0e\x4a\x19\xe9\x20\x69\xbe\xce\x32\xed\xb2\x64\x69\xea\x55\x21\xd6\x50\x86\x0c\x5d\x79\x8c\x11\xa1\xf5\xd8\xde\xe3\xce\x79\x94\xa3\xf5\xa9\x95\xee\x35\x90\x91\xc6\x56\xf6\x4b\x56\x1f\x6e\x82\xa6\x45\xe8\x59\x97\x06\xb3\x72\x84\x76\x66\x6f\x31\x87\xe6\x36\x9c\x75\xea\x3a\xb3\xad\x03\x44\xa5\xc2\x6c\x8f\x63\xa7\xee\x42\x4d\x05\x30\xd4\x7c\x28\xc7\x23\x6f\xec\x08\x37\x24\x5d\x7e\xa1\x0c\xc8\xa7\xdf\xb9\xd5\xea\xea\xac\xaa\xe0\xb9\x26\x2c\x6d\xa7\x29\x99\xea\x01\x8a\x10\x2b\x04\xa1\x49\x4d\x41\x98\x31\x74\xdc\x35\x21\xc3\x98\x94\xce\x71\xe9\xdd\xbf\x6d\x76\xb2\x75\xe6\x18\x4d\x42\xb6\xce\x9c\x03\x64\x68\x52\x19\x6a\x48\xa5\x41\x31\xb4\x3e\xb5\xf4\xaa\xce\x57\xe5\x79\x9d\x41\x84\xf6\x05\x3c\xa5\x02\xea\xa9\x49\x20\xd6\xd8\x20\x39\x1c\x75\x9e\xe5\xd7\x41\x4c\x52\x7c\xa8\xc2\xb5\xf1\xb6\x19\xd0\x51\x35\xd1\x86\xe2\x04\xdc\x89\xfd\x34\x75\xa4\xa5\x76\x99\xa0\xe2\xe6\x88\xca\x9e\x0c\x3b\xa3\x62\x0b\xda\x32\x90\x4e\x35\x43\x05\x5d\x14\xc1\xcd\x6b\x19\x32\xc9\xee\xd4\x2c\xf8\xb6\xc3\x65\x41\x42\x3f\x1e\x4e\xfd\xe0\x34\xa4\x64\x39\x50\x27\xc6\xa9\x7c\x9a\x5d\xb5\xf1\x6a\xf4\x29\xb7\xe1\xb2\x43\xf8\x68\xa4\x03\xb2\xe7\x22\x8a\x7b\x3f\x11\x68\x29\x2a\xda\x39\x3c\xbe\x7d\x6f\x2a\xc0\xf6\xed\xfb\xda\xee\xe8\x6b\xdf\xcc\xc3\x92\x14\x9b\x18\x9a\x65\x60\x12\x64\x18\x2e\x29\x06\xf6\xd7\xce\xe1\x65\xd4\xf5\x92\xa5\x0e\xc0\x33\xed\x1b\x47\xd0\xba\xf3\xa8\x8b\x04\x4b\x60\xe8\x90\xfa\x2b\xc0\xe1\xa3\x8b\x08\xce\x23\xd8\x8e\x3a\x78\xd2\x1d\x9e\xdb\xc1\x68\xbe\x35\x8a\xf7\xa3\x8a\x7c\x5f\x0c\xb1\x71\x92\x51\x37\x42\x4f\xcc\x2f\x71\xf5\x9d\x95\x57\x0c\x10\x5a\x0f\xae\x5b\x95\xd1\x38\x2d\x20\x50\xd3\x59\xc6\xcf\xb1\x95\x87\xd8\xfa\xfb\xea\xfb\xb9\x35\x05\x49\x23\xff\x72\x3b\x9e\x85\x6e\x29\xae\xc5\xb1\x12\x92\x60\x03\xf3\xf2\x8d\xbc\x8b\x44\xa6\x30\xf2\x63\x72\xb2\xc6\x5d\xb8\xa7\x8d\x6e\x8e\xa0\x85\x1f\xfd\x6f\xec\xf5\x0e\xce\xa3\x66\x7b\x95\xa7\x17\xa3\x6e\x70\x84\x5e\x46\x80\x6b\x44\x1e\x70\x41\xb2\xdb\xef\x01\x6a\x87\x3c\xe6\x95\x24\xfd\xee\x2c\x73\xc9\xcb\x28\x52\x6e\xe0\x55\x51\x9b\x85\x5c\x47\x54\x71\x64\x94\x90\xda\x39\xec\xad\xb8\x94\xd4\x4f\x37\xd6\x3a\xc9\xf4\xd1\x55\xc4\x51\x54\x07\x53\xbf\x63\xbf\x28\x7d\x8b\x4f\xf0\xa5\xc3\x40\x44\xb4\xa2\x4a\x39\x5d\xfa\xf5\x3b\xec\x3e\x6a\x99\xc3\x20\xed\xb5\xc9\x0a\xcb\x12\x9d\xda\xe3\x47\x59\x10\x88\xf8\xc2\xda\x7d\xc6\x8e\x89\x78\xab\xc2\x4f\xfc\x28\xce\x28\xd6\x85\xe1\xac\xb8\xd5\x1d\x10\x3f\xe4\xc8\x95\xc3\x93\x22\x6d\x3f\x89\x58\xe4\xc7\x56\x0e\x07\x51\x8f\x3d\xa6\xea\x41\x58\xad\x8a\x20\x08\xa9\xc3\x20\xf6\xa7\x38\xe6\x20\x4d\xa3\x18\x27\x01\xde\x0f\x1d\x2c\xc2\x66\xcd\xa3\xa9\xd4\xee\x07\x61\x05\x97\x6e\x33\x87\xc0\x09\x4e\xb0\x30\x83\x7b\x47\x63\x27\x80\x28\x94\xe1\x29\xf7\xbb\x8e\x80\x6b\x19\x3b\x0c\xa8\x00\xbc\x00\xd0\xab\x6e\x40\x47\x93\x5f\x13\x87\xc1\x8c\xd0\x85\xcf\xda\xe0\xd4\xda\x56\xb5\x68\x3c\x7e\x69\xd6\x3e\x51\x01\x80\xf1\xb4\x48\xda\x54\xe1\x77\x7c\x5a\x24\xdd\x97\x49\xdb\xcb\x32\xe9\x81\x2e\x55\x46\xe8\xf9\xf9\x91\x0a\xf6\x53\x36\xff\x50\x27\x95\x46\xf0\xbf\xa8\xb6\xb2\x93\x22\xe9\x57\x15\xd7\x18\x97\x41\x82\x7e\x53\x26\xf4\x41\x19\xe4\x67\x32\x56\x11\x83\xc8\x79\x99\x36\x69\xaa\x85\x4d\x36\x39\x08\x9e\x77\xbf\x85\xd7\xb4\x91\xa1\x34\x24\x6e\x68\x33\xc3\x58\x7b\xef\x68\x28\x40\xc3\xd8\xce\xe1\x75\x7b\xf1\x4c\xe1\x9c\xab\x90\xbe\x6f\x00\xf5\x73\xbe\xd9\xb7\x36\x7f\x73\x36\x7f\x35\x00\x7d\xd2\x86\xfa\xfd\x71\x1b\xec\xba\x5c\x15\xee\xba\x9c\x00\x7c\x0b\xde\xba\x46\x15\xe0\xba\x46\x15\xe2\xba\x5c\x15\xe2\xf7\xc7\x4d\x88\xdf\x17\x1e\xc7\x76\x8d\x10\xbf\x44\x4f\xb1\xd4\x0e\x78\x67\xcc\xff\x8a\xd1\x91\xcc\x7f\x5f\xcf\x37\xe1\xed\x21\x69\xe1\xed\x71\x86\x9b\x78\xfb\x01\x87\x4d\xbc\x3d\x9e\x67\x4d\xbc\x7d\x42\xa3\x26\xde\x1e\xf9\xac\x82\xb7\x8d\x49\xfe\x92\xe7\xf0\x21\x72\x2f\xd1\xc4\x86\x67\x91\x3b\xc1\xf7\x7f\xfa\x10\xc1\x97\xc8\x7d\x38\xfe\xe9\x59\x04\x5f\xc5\xc7\x97\x08\x9e\x46\xee\xe6\x83\x9f\xbe\x46\xf0\x26\x72\x7f\xf9\xe9\x69\x04\x9f\x0c\x5b\x57\x9e\x59\xcf\x39\x64\x86\xcf\xb1\x70\x78\xed\xbe\x16\xbf\x5e\x8b\x5f\xc4\xdd\x15\xbf\x76\xc5\xaf\xc0\x7d\x27\x7e\xbd\x13\xbf\x32\x17\xed\x46\x22\x33\x42\xd4\x1e\x06\x3f\x7d\x8d\x86\xe4\xa7\x2f\xd1\x30\xf9\xe9\x59\x34\xc4\x3f\x7d\x88\xec\x7b\x4f\xa3\x9b\x31\x78\xd5\x30\x2b\x85\xde\x70\x26\x75\x76\x95\x94\x61\x0f\x65\x3d\xba\x71\x87\x88\xdd\xfb\xe5\x46\xb2\x56\x87\xd5\x6d\xf0\x8b\x5d\x84\x6d\x36\x54\xcb\x78\x25\x5e\xa7\xa8\x91\xc1\x2f\x22\x18\x86\xee\xea\x02\xe3\x53\xc7\x13\x2f\x46\xfe\x15\xff\x50\x8f\xe8\x41\xeb\x79\x25\x69\x3c\xe2\xd4\x8f\xaa\xba\x6b\x89\x77\x11\xbf\x12\x77\x5c\xf5\x37\x68\x6e\x03\xfe\x89\xc2\x6e\x84\x12\xa1\xae\x6d\xc3\x0b\xb3\xb2\x87\x69\x23\x1f\x96\xa3\x28\x70\xe4\x43\xa4\x77\x51\x2d\xf9\x99\x4a\x3e\x14\x53\x29\x92\xbf\xa8\xe4\x67\x24\x2b\xb7\xf3\x57\x95\xb8\x5b\xd9\xce\x4f\x23\x8d\xc7\xf8\xb4\x0c\x70\x16\x15\x08\xd9\x62\x78\x06\x1f\xa2\x9f\x70\xf5\xbd\x74\xe3\x19\x4f\x50\xdf\x5f\x64\x26\x1f\xcb\xc6\x57\xfe\xcd\x21\xbd\xf1\x94\x7f\x85\xfe\xd5\xc6\x1b\xfe\xc1\xd7\x23\xcf\xe1\xb3\x71\x8b\x7e\x8a\xd0\x8b\x48\x85\x87\x8b\x56\x86\x70\x10\x4b\xcb\xc4\xba\x52\xb9\xa8\x58\x2f\x6a\xa2\x17\x95\xd4\x16\xb5\x3f\x8a\xc3\x2e\x8e\x99\x5f\x9e\xff\x3f\x14\xe7\xb7\x02\x6f\x0e\xcc\x2f\x93\xca\x45\xca\x81\xfa\x9d\xfe\xba\x11\x9a\xfc\x7c\xff\x27\x44\x37\x8a\x50\x02\x42\x63\x7a\x78\xdf\xf9\xcd\xb6\x37\x36\xed\x7b\x3f\xdf\x8c\xed\x0d\x3c\x9c\x00\x71\xd9\xb0\x52\xe8\x6f\x93\xad\x89\x23\x1e\x83\x55\x22\x51\xaf\xcf\xc4\x21\xc3\xfb\xbf\xfd\x66\xdf\x7b\x30\x1e\xdf\x8c\x21\x73\xc9\xf0\xc1\x78\xfc\x53\xa0\x97\x68\xf2\xe0\xe1\xf8\xb7\x5f\x7e\x0a\x36\xd0\xfd\x87\x3f\xff\x94\x6d\xa0\xec\xde\x83\x9b\xb1\x3d\x44\xd9\xbd\x09\xaf\x61\x6f\x24\xf6\xf0\x97\xc9\x6f\x0f\x1e\xfe\xca\xf1\xd4\xef\xe1\x48\xa4\x67\x88\x57\x91\xf0\x5f\x52\x79\x04\xff\xdb\x78\x8b\x5f\x78\x67\xae\x8f\xde\xc2\x04\x22\xf4\x3a\x02\x11\x3c\x11\xdb\x10\xbb\x3e\xa2\x3e\xa4\xe0\xc1\xac\xb8\xae\xbd\x88\xd0\xc7\x08\x5d\x57\xd7\x82\x57\x1d\xc3\x6f\xbf\xfd\x06\x59\xa1\xdf\x26\xd3\x7e\xfe\x0d\x82\x42\x2d\xae\x48\x22\x4a\x91\x4e\x26\x6c\xde\x87\x44\x2a\xdd\xc5\x20\xf0\x60\x2c\x2d\xa4\x13\xdf\x84\x57\x21\xc2\x3e\x7c\xe1\x94\x0d\x9e\x89\x7f\x3f\x88\x7f\x05\xad\x03\x41\xff\x40\xd0\x44\x78\xae\x4e\x10\xe2\x1b\xb6\x6b\xe2\x97\x17\x50\xa4\x4f\x9b\x21\xb5\xef\x7d\x89\x6e\xc6\x39\x04\xbe\xdb\xe1\xdd\x7e\x35\xb5\xa0\x9c\x9e\xef\x46\x42\x37\x37\xb7\x21\xf3\x7b\xec\xb4\x3f\x47\xf0\x43\x04\xc4\xe7\x24\x99\xf8\xda\xbf\x33\x7c\x89\x6c\xf0\x7c\xf7\x55\x04\x91\xef\xbe\x8f\xc0\x37\xb4\xa1\x0c\x73\x7c\x79\x0c\x44\x7e\x4b\x61\x2e\x01\xcc\x17\xf7\x97\x8d\x64\x88\x9d\x64\x88\x73\x1b\xbe\x62\x34\xb6\x6d\x48\xfd\x66\xf4\x33\xc6\x8f\xa1\x77\x18\xf9\xbe\xbd\xb1\x2b\xfe\xd4\x4c\x26\xbe\x88\x24\xa9\xc0\xb3\x35\x1e\x22\x36\x9c\x3c\x78\x30\xb6\x9d\xf1\x90\xf1\xfb\xf2\xcc\x77\x89\x0f\xb1\x09\xce\x62\x8a\xcc\x07\xb6\x91\xfa\x3f\x65\x3e\xf0\x66\xb0\x3b\xf3\x51\x2b\x18\x4c\xea\xdb\x5b\x1c\x23\x24\x48\xf0\x30\xf5\x39\x2c\x20\xf4\x5d\xe4\xa3\x55\x8c\xf6\x20\xf6\x91\x40\x8c\x7a\x2e\x87\xa5\xd0\xaf\xf8\x84\x61\x62\x83\x64\x7a\xaf\x43\xff\xea\x68\x4e\x68\x3d\x6e\xe0\x0a\xc6\x41\x7c\xb7\x78\x07\xf1\xdd\x62\x1f\xc4\x77\x8b\x83\x10\xdf\x2d\x26\x42\x7c\xb7\xf8\x08\xf1\xdd\x60\x25\xa4\x3e\x00\x07\xc8\xd5\x4b\xce\xe8\xdf\x72\xf0\xa1\x7f\x65\x1e\x7f\x5a\xe6\x34\xe6\x90\x54\xf3\x1a\x33\xa1\x95\xac\xc6\x74\xca\x8c\xc6\x8c\x32\x2a\xb2\xda\xd3\xe2\xc9\x79\x2e\x15\x27\xd6\x5b\x99\x0a\x83\x2c\xbe\x5b\x2c\xb2\xf8\x6e\xf1\xc6\xe2\xbb\xc5\x1d\x8b\xef\x16\x7f\x2c\xbe\x5b\x1c\xb2\xf8\x6e\x5d\x4e\xc4\x77\xeb\x7e\x22\xbe\x5b\x1c\xb3\xf8\x6e\xf1\xcc\xe2\xbb\xc5\x35\x8b\xef\x26\xc0\x76\x71\x50\x40\x6b\x2d\x4c\x68\x00\x4b\x98\x09\x1b\x01\x46\x2b\x59\x0d\xa8\x05\x73\x33\xdc\xa2\xf8\x36\x90\xc3\x66\xd0\x5d\x99\x61\x97\xa5\xcc\x0c\x3e\x65\x5a\x6b\x04\x22\x29\x73\x1a\x80\x54\x95\xda\xd0\x94\x19\x72\x6b\xbd\x9a\x1d\x72\xb8\x7e\x88\xd8\xfc\x28\x9b\xcd\xa2\x4b\x67\x45\x9c\xd3\xf2\x02\x27\xa1\x3d\x98\xe8\x96\x27\x7a\xf8\x83\xcd\x22\x6d\xb3\x92\x58\xa4\x25\xa1\x4e\x2a\xd3\xca\xc4\xfb\x3a\xed\x3e\x2d\xca\x15\x69\x9b\x65\xe2\xfd\xa2\x93\xfb\xa2\x93\x96\x1b\x38\xfd\xd4\x79\xca\x4f\x0c\x8b\xcd\xad\x2a\x6f\x3d\x60\x5b\x3e\xba\xa2\xf0\xa0\xe2\x9b\x12\xb0\x2d\xf5\x9f\x94\x90\xe0\x5a\x04\x46\xb5\x7e\x1c\x2e\xee\xfd\x38\x0c\xef\xfd\xf8\xc9\x82\x98\x24\x27\xbb\x32\x75\x1b\x06\x3f\x3e\x1e\xfc\x18\xc2\x80\x67\xb0\x68\x21\x8a\x3e\x73\x7e\x3c\x1c\xfc\xb8\x94\x25\x8f\x2b\x89\xce\x8f\x47\x22\x9d\xb7\xa9\xd3\x75\xbb\x83\x1f\x87\xfb\xba\xde\x2c\xa2\x29\xdb\xe5\x0b\xc3\x19\x5b\xe7\x8d\xe0\xe5\x97\x26\xce\xc0\xf4\x42\x75\xef\xe1\xb8\x71\xa7\x60\xf0\x70\x6c\xe7\x39\xcc\xfd\x2e\x49\xba\xe1\x55\x49\x80\x86\x1f\x2d\xa7\x48\x3e\x2a\xc1\xb9\x91\x37\xa9\xda\x9d\x54\xab\x6e\x02\x13\x60\xe7\x1d\x2f\x8c\x35\x5b\xa2\x84\x4d\x1b\xc6\xf6\xd6\x64\xd3\xa9\x27\xe6\x70\xd2\x1e\xb8\x44\xc9\xa5\x8f\xf6\x84\x7f\x57\x19\x06\x45\xc6\xe9\x9a\xb4\x15\xc8\x2b\xe6\x85\x85\x9a\x79\x55\xa7\x1c\x9d\xfb\x95\x00\x53\x9c\x35\xab\x1a\xd4\x35\xb3\x85\x5b\x84\xdc\x86\xa9\x71\x5a\x11\x7a\x02\xc7\x22\xcc\xc3\x95\xdf\x13\x9a\x55\x98\xd8\x0d\x2c\x98\xfa\xe8\x13\x4a\x2a\xb6\x36\xb6\x6d\xeb\x7b\x15\x51\xd4\xec\x53\x71\xb9\xf1\xd1\xdc\x2f\x11\x96\x0f\xe6\x0b\xe6\xeb\x23\x77\x7f\x35\xc8\xf9\x29\x5f\x02\x51\x7c\xb3\x5d\x5c\x95\x5f\x54\xca\xd7\xa7\xe8\xf9\xe8\x59\xb5\xa4\x67\x2e\x3a\x30\x14\x1d\x96\x45\x4f\x51\x33\xf3\x71\x91\xc7\x46\x9c\x33\x19\x15\x24\x5d\x95\x93\xc5\xfe\xb3\x2c\xb7\xa0\xa8\xa3\xa8\x2a\x3b\x35\x36\x29\xce\xd4\x7a\x9b\xd3\xae\x36\xab\x65\x55\xe1\xb0\x13\x32\x1f\x2a\x4d\x0e\xc3\xca\x54\x6b\x19\xff\x51\x6d\x40\xf5\x65\x22\xb5\x70\x67\x52\x6b\x11\x77\x82\xb9\x5a\xea\x3f\xf0\xba\xad\x8f\x6b\xf5\xb6\x9b\xa0\x52\x8c\x15\x7a\x5f\x85\xd3\xb6\x01\x4e\xf5\x82\xaa\xa4\x6f\x68\x4e\xc2\xb2\xd6\x9e\x6f\x6e\xaf\x5a\x52\x15\x7d\xd6\x09\xf5\x77\x55\xe0\x3e\xab\x40\xbd\x9a\x71\xda\x09\xbc\x6a\xa9\xfd\xce\x4e\x16\xbe\x6a\x4e\x77\xb4\x5f\xe9\xa8\x99\x19\x77\x76\xd6\x2c\x59\x0a\x0e\x25\x19\x12\x99\x9c\xb0\xfd\x6d\xbc\x65\x6d\x1f\x5a\x8e\xf5\xfa\x50\x1d\xdf\xaf\xfb\x8a\xfa\x0b\xcb\xb1\x96\x0b\xcd\x7c\x74\x4e\x63\xb7\x32\xd9\xa3\xce\x52\xaf\x2b\xa5\x0e\xea\xf4\xe5\x7e\xb5\xdc\xf3\x4a\xb9\x1f\x8b\x72\x44\x26\x7c\xad\x34\x7f\xe2\x4b\x93\x61\x99\xe3\x34\xb3\x1c\xab\x6d\x98\x6c\x49\xf5\x3a\xdf\x3d\x4c\x90\xf5\x23\xba\xba\xf9\x74\xb3\xb8\xf1\x16\x37\xc3\xc5\xcd\xe3\x9b\xff\x7c\x7c\x33\xbd\xf9\xcf\xe9\x4d\x78\x33\x0c\x6f\x86\xff\x11\xde\xe0\x9b\xff\xc0\x37\xdb\x37\xff\xb9\x7d\xe3\xdf\xfc\xa7\x7f\xf3\xec\x66\xf8\xec\xe6\xf4\x66\xff\x66\xb8\x7f\x13\xdf\x2c\x6f\x5e\xdf\x1c\xde\x1c\xdd\xfc\x78\x73\x70\xf3\xf5\xc6\xf9\x6a\x5b\x36\x5c\xf4\xd1\xdf\x99\x8f\x92\x82\x13\x10\x56\xa9\x4f\x12\x38\xf6\xc1\x47\x57\xf2\x4a\x15\xa1\xc0\x07\x32\xa4\xc2\x71\xa9\x08\xdf\x76\x6a\x12\x93\x14\x2d\x5c\xf0\x6a\x33\x9f\x2f\x98\x0a\xf7\x76\xb4\xba\xfc\x58\x97\xbd\xf4\x5d\x14\xa1\x53\x1f\x42\x1f\xac\x1f\x3f\x0d\x7f\x5c\x0c\x7f\x0c\x8f\x7f\x54\x6c\xc3\xe8\xc7\x83\x1f\x9d\xaf\xc2\x30\xbb\xa7\x88\xd1\x90\x56\xbf\x92\x5b\x96\x08\xca\x68\x1d\xcd\x49\x16\x87\x03\xe5\x59\x54\x78\x15\x15\xce\xdd\x9f\x31\xb8\x42\xd6\x07\x4a\x92\x93\xc1\xfe\xd1\xab\x5f\x1f\x8e\x27\x03\xc9\x04\x89\x6e\xdf\x19\xe3\x70\x1f\xa1\x50\xc9\xbb\x82\x48\xbb\x76\x78\x6c\x3c\x15\xd3\x08\x2d\x23\xf4\x58\x16\x82\x6d\x63\x19\x1f\x1d\xa9\xc9\xa9\x39\x59\xfc\xf6\x2e\x9a\x7f\xb9\xa2\x82\x82\x46\x59\xe1\x6d\xc7\xd9\xac\x4f\xf5\x97\x42\xf2\x50\xb1\x6e\x1b\x58\xb0\xed\xab\xe1\xed\xad\x31\x85\x43\xdf\x5d\xfd\x14\xad\x5d\xf0\xfc\xfc\xf3\xc3\xdf\x36\x1f\xe2\xfb\x6b\xbe\x89\x87\xa2\x9a\x30\x3d\x58\xb3\x86\xf2\x65\xf4\x70\xed\x0a\x52\xf9\xf0\x21\x7e\xb0\x66\xf9\x54\x94\x9f\xd4\xa7\x50\xe8\x1a\xc2\x8e\xef\x56\xfc\xc8\x0a\xef\xeb\x5d\x02\xa3\x9f\x68\x6e\x03\xf1\x20\xf2\x50\xd3\xf2\x58\x8b\x95\x8b\xd5\x2a\x5a\x7c\x95\x49\x63\x3f\xe9\x4f\xd6\x1b\xcb\x15\xb0\x6d\xbb\x74\x85\xdc\xab\x23\x42\xed\xdc\x46\x15\x17\xf4\xb6\x0d\x67\xbe\x6b\xe0\x5d\x6b\x01\x53\xb7\x0e\xd0\x94\xa2\xed\x04\xf9\x06\x2d\xbb\xaa\x9b\x39\x6f\x02\xc4\xa5\x20\xa3\x10\x42\x56\x8d\x12\x65\x00\xa6\x8c\xe3\x79\x2f\xb9\x19\x73\x7e\x37\xa8\x98\x88\x06\x50\xbd\xb3\x88\x22\x55\x24\x15\x3c\xae\x1c\x7f\xe3\xd1\x20\xb1\x2b\x56\x14\xb5\x85\x13\xeb\xf6\x18\x51\x0d\x30\xdb\x39\xcb\xe1\x49\x6d\xb9\xd4\xa7\x2b\xe1\x1c\xa1\x0f\x9d\x6b\x27\x84\x7d\x63\x01\xf5\x8f\x19\x87\xfa\x8e\x6f\xdb\xf0\x26\xb3\xe1\xa0\x63\xbf\x55\xc9\x4a\x98\x51\xf1\x2e\x5c\xa5\x2b\xcf\x33\x78\xe2\x0b\x53\x74\xd8\xf7\xdd\x7d\x5f\x38\xe9\xdf\xf7\x7f\xb7\x6e\x1c\xeb\x4f\x77\x8a\xe2\xa4\x4b\x92\x48\x11\xb3\x73\x7e\xc8\xf2\x85\x78\x65\x12\xc4\x45\x28\xd4\xfe\x3a\xb7\x22\x74\x2c\xdd\x7b\x3a\xac\x7d\x3d\xe0\xa5\xfc\x65\x74\xef\x7c\x62\xd9\x39\x3c\xe7\xc0\x49\x12\x03\x66\x5e\x56\x24\x8e\xca\x29\xa0\x52\xba\x09\x12\x89\x96\x0e\xa9\x79\x1e\xd8\x29\x68\x6d\x88\x03\x12\xe2\x01\xbf\x23\x0e\xac\xc6\xed\xa2\x28\xee\x0c\x2c\xe9\xf2\x40\x50\x98\xe3\xc4\x86\xd7\x7e\xbf\xcb\xf6\xb7\x01\xba\x5e\x60\x36\x27\xa1\xc3\x94\xd6\x42\xea\x50\xc8\x68\x5c\x2a\x2f\x48\xf3\x70\xe7\x71\x80\x88\x2d\x2e\xa9\x24\x63\xce\x19\x5c\x44\x6c\xbe\x43\x71\x88\x13\x16\xf9\x71\xea\xdc\x99\x08\xdd\xa5\xdd\xee\x4b\x22\x7a\xed\x83\xb5\xbb\x77\xb0\x77\xbc\x67\xd5\x43\x51\xc0\xcb\x40\x4a\x71\xdf\xf5\x1c\x79\xb2\xfe\xeb\x57\x47\xc7\xcd\xda\xea\x0c\x7c\xbf\xa2\xeb\xa7\x7b\xad\x9a\xba\xdf\x0f\x46\xf4\x7b\xc5\x50\x84\xbc\x04\x22\x34\x4f\xc0\x92\xd6\xdf\x02\xac\x02\xdf\x9e\x99\x70\xc6\xfc\xa6\x75\x2c\xa1\x56\x4a\x03\xe5\xef\x01\xbe\x0c\x30\x0e\x0b\xd1\xe7\x4b\xcc\x2e\x08\x3d\xdd\x13\x1d\x15\x62\x18\x99\xa8\x8c\xcf\xd5\x35\xc8\x0f\x8f\x98\xcf\xb2\xd4\x32\xbc\x51\xf1\x9b\x61\x95\x0c\xe0\x51\x2a\xca\x8e\x38\x06\x35\xcf\xac\x22\x73\xa1\xd4\x32\x39\x2c\x90\x52\xc8\xb1\x8b\xde\x5e\xfb\x57\x31\xf1\x43\x83\xbf\x18\xeb\x5d\xe9\x3f\x40\x99\xe5\xe0\xc1\x8c\x92\xc5\xc0\x5f\x46\x05\x42\x76\x8b\x56\xac\x43\x3f\xe6\xfb\x19\x87\x03\x8e\x75\xba\x42\x9e\xc3\x17\xdf\x3d\x0c\x4c\xf1\x7f\x1a\x51\x72\xd4\x16\xda\x89\xd0\x33\x5f\x11\x77\xe7\x30\x92\x5f\xb9\x0d\x5f\x3b\x1f\x02\xb4\xc2\x71\xa1\xfb\xd2\x54\x38\xee\x51\x55\x56\xab\x8c\xab\xab\xac\x9b\xd1\x93\x3c\x8c\x10\x93\x8e\x85\xf5\xd5\x41\x29\xc2\xe8\x02\x4f\xd4\xfb\xa3\x56\x9a\xd1\xe9\x67\x51\x13\x5e\x3b\x91\x6c\x48\xe8\x02\x3d\xf5\x5d\xec\x21\xe1\x24\xdf\x86\x37\x46\xcc\x3d\xad\xc5\xfb\xaf\x47\x46\xf1\x44\xb4\x94\x23\xe9\xf8\xe8\x93\xf1\x14\x8b\xd0\x7e\x06\x97\x14\x59\x56\x49\xaa\x0d\x81\x02\x0a\xb2\x5f\x3f\x01\x3a\x36\x61\xdd\xc7\x90\x9c\x48\x67\xac\xca\x32\x8e\xcb\x1f\x96\xdd\x5d\xf8\xce\xd8\x18\xc0\x22\x42\xd8\x83\xd8\x14\x4e\xe6\x4e\x71\xa0\x97\x5e\xed\xeb\x3d\xb5\x15\xc2\xf8\x66\x7f\xc1\x89\xfa\xf7\xc4\xa8\x61\xb2\xf1\xcf\xbe\xc1\xd3\x0a\x35\xea\x83\x07\x6d\x6f\xb1\x96\x1f\x63\xca\x12\x7f\x81\xad\xe6\x30\x9d\x08\x7d\x04\xe3\x52\x76\x72\x36\xda\x49\xdb\xdf\xc6\xfc\x54\x86\x6d\x2a\xc4\x6d\xca\xa5\x35\x58\x80\x15\xa3\xf4\xd1\x88\x62\x6f\x10\xb3\xb7\x0e\x38\x8a\x68\x4b\x92\xb5\xc7\x6a\x0b\x5d\x76\xe9\x5e\x01\x2c\x49\x4d\x7f\x30\x53\xd3\x42\xe2\x2d\x35\xcf\xdb\x9e\xb2\xcf\x1c\x96\x03\x4b\x4d\x58\xbc\x8f\x8c\xda\xee\x6b\xa2\x27\xd4\xce\x77\xd7\xb2\xe1\x28\x10\xa2\x4c\x3b\x07\x9a\x9a\x56\x51\xd8\xd7\x32\x06\x27\x88\xa5\x4d\x8d\x58\x23\x4f\x2c\x55\xda\x24\xb7\x7e\x80\xce\x29\x3a\x15\xae\x75\xee\x4c\x38\x59\x9e\x93\x8b\x23\x55\x40\x9e\xe7\x6b\xaa\xc3\x2a\xc5\xb8\xce\x46\x0b\xd5\xb9\x5b\xb4\x3a\x8b\x62\xa6\xbc\x5c\xfe\xc0\x4f\x07\x86\x2f\xd9\xda\x66\x4e\x38\xc0\xd1\x79\xb5\xb6\x4e\x59\xb7\x05\x69\x78\x28\x0d\x1c\xc4\xb7\xf1\x0e\xd1\x78\xca\xfd\x82\x12\x5b\xba\xa9\x5b\x7f\xc5\x2d\xe1\x41\xe9\x52\x3a\x74\x4f\x6c\xdb\xb1\xac\x1c\x70\xea\x5e\x8b\xe8\x0e\x67\x20\x3a\x77\xce\x40\x4f\xc0\x39\x83\xea\x32\xa9\x9f\xa5\x6e\xe2\x59\x0e\x49\xda\xcb\x80\xc9\x96\x99\x6a\x99\x96\x2d\xe3\x7a\xcb\x49\xa3\x65\xa1\x49\x4a\xd2\x4e\x66\xe9\xfa\x14\x5f\x39\x0c\xc8\xb2\xa6\x46\x0a\x41\x5a\xd8\xe3\xe1\x13\x7c\x79\xe8\xb3\x60\x6e\xe5\x90\x15\xc9\x7b\x67\x56\x0e\x5e\xba\xc6\xd5\xd4\xfd\x2f\xb1\x22\x41\xba\xe6\x22\xde\xf9\xaf\x2a\x19\x78\x49\x58\x75\x04\x6b\xb6\xe1\x8a\x26\xb2\xb5\xbb\x74\x1b\x5d\xf2\xd9\x99\x70\x07\x22\xe3\x7e\x6e\x33\xfa\x78\x74\x8a\xaf\x6a\x82\x7f\xe1\xe7\x2e\x42\xfb\xb0\x9d\xc0\x27\x74\x7b\x1a\x5c\xdc\x2e\x01\x8f\xc8\x12\x1e\x27\x92\x06\x7b\xa9\x2d\x2f\xa7\xba\xa7\x7f\xb7\xfe\xbd\x76\x91\x13\x8b\xca\x53\xe5\x2e\xf6\xfb\x26\x50\x44\x4a\x10\x27\x8a\x65\x39\xd5\x09\xac\xbd\x37\xae\xf5\xde\x00\x71\x01\xf9\x0c\x51\x0a\x98\x0f\xd2\xca\xf9\xad\x27\x4d\x5d\x33\x43\x50\xe7\x0d\x48\x6a\x83\x8f\x8e\x3c\x78\xe3\xf3\xff\x3f\x4f\x6c\xfb\x1b\x6f\xf2\xcf\xca\x9b\xbc\x80\x96\xd9\xbe\xc7\x74\x49\xad\xb7\x76\x2c\x84\x02\x87\xd2\xb5\x28\x7c\x12\x32\x9c\x4a\x4a\xae\xae\xfd\x12\xd4\x30\x4b\xbb\x6f\xbe\xc7\x7c\xc1\x1e\x7b\xf0\xc2\x87\x34\x55\xf7\xda\x38\xed\xbc\x58\x3c\xcf\x60\x96\xca\xc3\x2f\x34\xb5\xba\x6a\xd4\x2f\x7c\x9b\xf7\x23\xfe\xf2\xae\x96\xbd\x5d\x85\xaa\xab\x79\xea\x86\xc8\x4f\xe0\x20\x82\xd6\x2d\x55\x55\x09\x12\x71\x62\xd4\x6e\x4a\xbc\xea\x92\xa7\xf3\x9b\x50\x45\x45\xdb\x82\x45\x82\x8e\x13\x85\xad\x3c\x53\x6a\x6c\x17\xe9\xb2\xd6\x79\x33\x34\x96\x25\xaf\x1d\x06\x47\x43\xc5\xb1\xf8\xf8\xca\x94\x3b\x6e\x71\x13\xb9\xb8\xea\xf2\xee\xc3\xa4\x43\xf2\x70\xa7\x2a\xc6\x39\xfb\x86\x31\x15\xc7\xea\x2d\x07\xa5\x81\xa2\x75\xd4\x2d\x78\xee\xeb\xb4\x52\x59\xfd\xed\x81\x25\xa7\x70\xce\xf1\x80\xe7\x85\x3e\xf3\x2d\x39\xa3\x90\x99\x02\x3a\xf6\x0a\x35\x90\x7c\x38\xb5\xe1\x24\x41\x73\xb1\x37\x16\x69\xa7\x97\xe2\x4b\x29\xe3\xe8\xb6\xe6\x2a\x78\xea\xe2\xca\x26\x38\xbb\xd4\x02\x9a\x22\x6a\x72\xf0\xae\xb7\xed\x17\x1f\x45\xe8\xbd\x0f\x18\xce\x53\x39\x1e\x23\x8a\xea\x62\x55\x9a\x63\xdd\xd3\x47\x61\x6a\x69\x80\x49\xa0\x9c\xf0\xb5\x0b\x8d\x88\x1b\xa1\xfd\x08\x18\xec\x24\x52\x86\x2b\xd1\xd2\xce\x61\x6a\x64\x0f\x85\xb7\x79\x0a\xfb\x26\xf0\x76\xd1\xc5\x2a\x22\x81\x35\xf3\xe3\x14\x5b\x70\x2e\x19\x67\xde\xd3\x15\x5f\xc0\x5d\x0f\x92\x14\x22\x24\x02\x29\x6c\xfd\x5d\xec\xdd\xdb\x7d\xef\x7b\x48\x03\xd9\x86\x67\x1e\xd2\x0c\x98\x2d\x7f\x29\x4f\x0c\xf2\x47\xc1\x5f\xd9\x36\x4c\x53\x54\x72\x95\xea\x77\xc9\x11\x72\x44\x38\x56\x03\x34\xbd\xc4\xa3\x24\x05\x06\x67\xf2\x7f\xe2\x22\x50\x1f\x91\x6a\xb9\x35\x26\x1b\x2e\x78\xab\x45\xdc\x88\x66\xe1\xe7\x9e\x0d\xa7\xbd\x25\xaa\x59\xcf\x3d\x91\x8b\xc3\x88\x89\xb6\x8f\xba\x47\xdc\xa4\x52\x11\x7a\x02\xb1\xa2\x73\xab\x7b\x2b\xe6\x95\xe0\x8b\xd6\x94\x6c\xb8\xec\x40\x9a\xb5\x0f\xcc\x7f\xbb\xa7\xfb\xbc\x97\xe0\x8b\x2d\xd9\xb6\x6b\xf1\x6b\x84\x9f\xae\x3a\xf1\x7c\x44\x52\x21\x09\x81\x4c\xfc\x9d\xf0\x5b\x87\xc4\xe6\xc7\xa9\x2b\x26\x24\x89\x95\x0d\xdb\xa9\x7b\x2d\xdf\xfe\x69\x5a\xdd\x88\x30\xf5\x83\x53\x11\x02\xea\x35\xc5\x69\x8a\x43\xe7\xce\x04\x54\xc1\x63\xce\x76\x72\xee\xf6\x65\x6a\xf2\xe6\xad\x98\xc8\xa2\x55\xd6\x6e\x8b\xd6\x9a\xc2\x15\xf1\xf1\x4b\x42\x96\x56\x6e\xc3\x5b\xd3\x66\x57\x65\xde\x09\x47\x43\x87\x65\x0b\x85\x29\xd1\x5e\x4f\x2d\xd1\x77\x94\x9c\x3c\xd6\x83\x29\x6a\x1d\xb6\xe9\x5b\xad\xe6\x2e\x8e\x31\xc3\x4f\xc4\x12\xa8\x5e\xab\xf6\xd8\xb9\x0d\x3b\x2b\x5a\xd8\x0e\xc3\xbe\xea\x67\xa9\x7b\x1d\x47\x29\x73\x9e\x27\x30\x8b\x70\x1c\x2a\x08\xcb\x1f\xf5\x75\x51\x8a\x1a\xb5\xb4\x19\x09\x32\xb5\x44\x14\xa7\x59\xcc\xd2\x67\xe4\x1c\x53\x99\x62\x5e\xc8\xab\x29\x3e\xc2\xb1\x90\xbc\x89\x31\x09\xc1\x7c\xba\x96\xdb\x25\x31\x52\x56\x19\x28\xd5\xe3\xc4\xc5\xe8\x92\x76\xb7\xa4\x18\x66\xd0\x1c\x65\x66\x1a\x90\x67\xc0\x8a\x83\x95\x58\xf1\x44\x8f\xaa\x58\xdd\xfd\x9e\x3a\x6f\x6b\xe3\x28\xaa\xbc\xea\xa9\xf2\x84\x4f\xa2\x28\xf9\xfc\x9b\x10\xee\x75\x4f\x2d\x09\x84\xa2\xe8\xee\x9a\xb8\x89\xe3\xb0\x81\x54\xef\xd6\xc1\xc9\x76\xb5\xf7\xa9\x7b\x5d\x9c\x9e\xab\x31\xaf\x8a\xad\xa9\x5a\xbf\xb7\xf5\x1b\xee\xdb\xa2\x35\x13\x7e\xe6\xf0\x21\x5d\x69\xad\x50\x0e\x88\x15\xc3\xa0\x95\xce\x71\xbb\xef\xa4\xd1\x37\x69\x76\x1d\x18\xf0\xeb\x59\x71\x79\x7d\x1c\x67\x54\x57\x96\x60\xca\xe1\xcb\xed\x31\xe9\xeb\xfa\x2b\xfd\xb4\x0f\xe9\x04\xf1\x78\x7c\xf5\xb6\x14\x87\xc8\x4a\x6f\xca\xcb\x77\x18\xb1\x62\xb6\x56\x0e\x9f\x56\x6e\x95\x56\x63\x2f\x7a\xe7\xa7\x9a\x7e\x82\x39\xf8\xcb\x19\x7e\x5e\xbd\x7a\x92\x19\x11\x96\x92\xb2\x91\xc7\x3e\x75\xa8\x14\x5b\xf0\x4f\x0c\xf2\x78\xe3\xdf\x09\x30\x7f\xea\x10\xf0\x03\x16\x9d\xe3\xfd\x55\x66\x27\x47\x98\x1d\xfb\xd3\xd2\xee\xe4\x63\x2f\xbc\xd9\xb6\x68\xb5\x18\xfb\x0f\x3d\xa5\x8f\xc9\xc9\x49\x8c\xf7\x2b\x12\x31\x59\x87\xcd\x56\xd5\x39\x2a\x25\x73\xb2\x0a\xed\xa9\x72\x98\x9e\x3c\x21\xf4\xa9\x02\x45\x51\x05\xaf\xac\xf2\x44\x83\xac\xa8\x93\xac\xac\xf3\xb6\x84\x7f\x51\x8b\xcc\x8a\xb0\x97\x7c\x65\xb7\x25\xe3\x98\x43\xd0\xd3\x9a\x2c\xd4\xc4\x84\xac\x68\x49\x4c\x87\xaf\x4b\x0e\x5e\xd9\xbc\x18\xb0\x4c\xf5\x67\xae\xc6\x8a\x27\x51\x0d\x2d\xde\xa7\x25\x5e\x9c\xa5\x15\xc4\xd8\x4e\x05\x66\x78\xb3\x12\x35\xce\x72\x48\x67\x2b\xad\x11\xd5\x9a\xeb\x17\x31\x59\x5b\xab\x3c\xe1\xa4\xfa\x76\x62\x2d\xd5\xef\xa6\xaa\x10\xbe\x5c\x46\x7c\x5b\xe7\x39\xcc\x66\xae\x8f\xf6\x22\xb8\x33\x01\xcb\x02\xcb\xb2\x21\x9e\xb9\x6b\x9c\x9a\x51\xe8\x30\x08\x28\xf6\xc5\x3d\xd0\xa1\xa0\x82\xef\x72\xda\xa5\x6d\x90\x13\xc0\x49\x28\x8d\x91\xa5\x33\xc5\x70\x9b\x39\x01\x14\x9c\x54\x06\x92\x6f\x93\x67\x63\x68\x5c\x21\x5e\x02\x8b\xf5\x58\x16\xa0\xdf\xd3\xc3\x87\xf9\xcc\xe5\x23\xb1\xac\xca\x50\xf8\x0f\x35\x16\x4e\xc4\xf5\x60\xc6\x7a\x30\xe3\xca\x60\xc6\xd0\x64\x16\xb5\x63\xa4\x59\xcb\x83\x80\x1a\xab\x1a\xd1\x72\x96\xe7\x70\x5e\x0c\x49\x43\x3e\x87\x45\x91\xa6\x56\x2a\x87\x93\x99\x7b\xad\xd9\x5f\x8e\x20\x2d\x2c\x58\xcc\x04\x75\xdf\x21\xc9\x2c\xa2\x0b\x21\x4c\xd8\x15\xde\x10\x38\x4e\x4c\x67\x3d\x5c\x69\xd1\x2c\x13\x0d\xf1\x65\xc8\x12\xc5\x82\xf6\x44\x4d\xac\x54\x2b\x07\x43\x45\x13\xb8\x6b\x28\xc9\xad\x28\xd7\xd5\x37\xec\xf8\xe3\xfa\xde\x3d\xd2\xb7\x94\x1c\x2e\x7a\x5a\xd3\xc5\x44\x9d\xa2\xad\xd3\xd9\x2a\x46\x23\x65\x94\x5c\xa9\xca\x0d\xa6\xe1\x68\x45\x65\x05\x9d\xde\x36\x2e\xcb\x45\xe7\x6b\x5e\x92\x87\x0e\xf0\x72\xd6\xe1\xf1\x1a\x4b\xed\x30\xdd\x16\xed\x6a\x0a\xf7\xae\xd4\x5b\x2c\x5e\xaf\x8b\x95\xda\xfe\x0b\x26\xfb\xb2\x67\x7d\xf6\x93\x88\xa9\x5a\xef\x23\x7c\x51\xac\xd0\xdb\x55\x14\x59\x90\xdd\xf4\x35\xc5\xe7\xd5\x6a\x7b\xab\x51\xa1\x49\xc9\x0f\x4d\x55\x06\x3b\x14\x4d\x85\x58\xb3\x47\x95\x4f\x45\xc4\xd9\x99\x75\xfa\x41\x50\x41\x13\xe1\xdc\x8f\xa3\x50\x2c\xc2\x91\xa0\x0f\xfd\x0e\x26\xf6\x13\x51\xbe\x5c\x84\xb3\x02\xf5\xdf\x8b\x8c\x1c\x9e\xcc\xfa\xde\x00\x6b\x0a\x33\x67\x33\x67\x67\xa6\xde\xf8\xe1\xa0\x6b\x39\x4b\x97\xb6\x14\xae\x9b\xc3\x7d\x32\x43\x0c\x51\x15\x47\x52\xc6\x7f\xdc\x9f\xb5\x7d\x56\xbc\x32\x02\xbf\x0b\x06\xfb\x9c\x46\x3e\x5f\x77\x3c\x5d\x4d\xf0\xb1\xbc\xee\x03\x86\x74\x5c\xf1\x8a\x43\x80\x7f\xd9\xea\x91\x47\x24\xa8\xc0\x98\xda\x9d\x08\x1d\xa9\x2f\x7e\x15\xe9\x6b\x73\x10\xa1\x7d\x93\x94\x45\x9c\x95\x0c\xa8\x78\xfb\xd0\xcd\xd7\xbc\xcb\x14\x2a\x2f\x64\x59\x3d\xb6\xf7\xce\x0a\x8d\x86\x03\x11\x1a\x46\xa4\x56\xde\x7d\x2a\xb9\x6d\x15\x91\x33\xe1\xd7\x25\x87\x77\xb3\xfe\xb7\x99\xf7\xac\x3f\xe4\x73\x55\xa2\x49\xa5\x73\xcd\xf7\x0c\xf6\x22\x84\x35\x60\x6c\x38\x9c\x21\x2c\x00\xa9\x81\xb7\x5b\x04\xe4\xd5\xf8\x61\xe7\xf0\x9e\x9f\xbc\x0a\xaa\x77\x26\xa0\x97\x80\x33\x10\x05\xf8\x2d\xcb\xce\xe1\x83\xe1\x88\x56\x05\xf5\x31\xad\x7e\x16\x47\xb5\xfa\xad\xce\x6b\xf5\x4b\x2b\xbc\xe9\xdf\x26\x29\x4f\x0e\xcf\x66\xdd\x3a\x53\x05\xbe\x7d\x98\xc1\x75\xb5\xb3\x3d\x5f\x04\x41\x28\xfb\xe3\x09\x1b\xbf\x6c\xe2\x9f\xed\x7a\xbf\xea\x89\xeb\xcc\x47\x32\xd3\xae\xcf\x89\x55\x46\xf5\x06\xd1\x66\x34\xdf\xf7\x2d\x9e\xc2\x11\x4f\xe4\x66\xe1\x2d\xbc\x9e\xc1\xee\x4c\x0a\x6f\xa9\xdc\x91\x5f\x56\xef\x82\x08\x1d\xcc\xe0\x70\x06\xf5\xad\xa0\x10\xd5\xb8\x0d\xbe\xb6\xf7\x67\xa7\xc7\x3e\xa1\xb3\xc7\x27\x71\xe9\x23\x6a\x8b\xa0\xfe\x8a\x12\xe1\x8a\xd3\xc0\x22\x65\x52\x73\x7b\xae\x1c\xf2\xd5\x5f\xa6\xb5\xc3\xbe\x44\x07\xfa\xda\xf1\x93\x7f\x17\x24\x38\x4a\x06\x6c\x8e\x07\x4b\x3f\x65\x92\x10\x27\xb6\x8e\x2d\xc7\x5b\xca\x6d\x78\x6a\x04\x07\x60\x97\x8e\xf4\xea\x3e\x2a\xb9\x55\x3a\x8a\xc2\xca\x72\x95\x80\x2a\xd2\x4a\x84\xac\x64\xca\x94\x0a\x72\x8a\xbc\x4b\x1f\x70\x81\x30\x22\xe5\xeb\xac\x88\x5a\x0d\x74\x24\x73\x2a\xc8\x23\xca\x1c\xf8\x40\x47\x3a\xa9\x82\x2b\x11\xfa\x0c\x5f\x78\x6f\x3a\xc5\xe6\x57\xe1\xd5\xb3\x83\xc4\xd5\x5d\x75\x4f\x54\x90\x41\xc3\x1c\x65\x7a\x6b\x7a\x1d\xdb\x21\xe9\xdc\x09\xc9\x50\x3c\x7c\xd6\x26\xf3\xba\x39\x99\x4f\x6b\x2f\xd5\xe0\x15\x43\x31\xfa\xc0\xa0\xa6\x29\xd0\xb8\x82\x97\x5b\x79\x3e\x83\x72\xce\x6a\x66\xac\x1c\x0c\xae\x00\xa2\xe6\x1c\x49\x4d\x2e\x10\xfb\xea\xb0\x02\x0a\xbd\x86\x3e\xfa\x00\xef\x66\x9c\xf6\x55\x36\xac\x5d\x9d\x96\xaa\xa6\xdb\xd7\x15\x2f\xfd\x12\x11\x22\xf4\x75\x56\xbc\x4f\xeb\xa5\xaa\x10\xd1\x17\x33\xf7\x7a\x46\xe8\xc2\xf9\x30\xab\xf8\x74\xaa\x72\x8b\x39\x7c\xee\xe3\x09\x45\x65\x56\xa9\x4b\x75\x55\xa9\xe2\xb0\xca\xbf\xd4\x2d\x6f\x71\x05\x06\x54\x2f\x71\xbd\x7e\xbc\x94\x4f\x29\x45\x86\x0a\x02\xd4\xcf\xa1\x2a\x36\x6e\x47\x8c\xab\x22\x0c\x59\x93\xf3\x2b\xe5\x21\xdd\x87\x81\x16\x94\x61\xad\x56\xf2\x84\x92\x85\x92\x66\xa7\xdb\x49\x78\x1c\x2d\xaa\x3c\x2e\x78\x9b\x72\xcc\x2c\xee\x67\x96\xcd\x0d\x36\x0e\x5d\x1a\xf7\x88\xc6\x2a\x37\x9f\x52\x7c\xd2\x53\xa1\x87\x55\x4e\x62\xb7\x94\xdd\xf2\x1c\xdd\x6e\x0e\xa4\xc8\x92\x50\x2e\x73\x82\x9e\xbe\x2a\x32\xe9\x52\x4c\xb2\x02\x22\xb5\xd7\x0d\xb1\xfa\x0d\x68\x78\x3d\x1d\xbe\x97\xec\xa0\xae\xfe\x9e\xa3\x51\xd1\x73\x74\x9b\x9e\x2b\x55\x4b\xe6\x67\xfd\x9e\x5f\xfa\x8b\xb2\xe3\xf4\x36\x1d\x97\x35\x8b\x7e\x67\xb1\xdb\xe8\x65\x47\x6e\x3b\x2b\x87\x78\x25\xf8\x75\x59\x3d\x9a\xb0\xdd\x9a\xde\xd0\x56\x0e\xcb\xd5\xed\x15\xa5\x75\x8b\xf3\x56\x8b\x62\x3b\xe4\x70\xbe\xb2\xb1\x5d\x45\x21\x8a\xb6\x16\x2b\xab\xec\x09\xea\x52\x54\x38\x59\x59\xe1\xa8\xd0\x1f\x50\x55\xa6\x3d\x55\xe4\x83\x42\xed\x9d\x2a\xcf\xe1\xaa\x98\xe1\x76\x18\xea\xcc\x1c\x8e\x63\xa3\x91\x9b\x6e\x90\x5f\x84\x4f\x1c\x06\xd9\x52\x98\xa7\x53\x38\xc7\x34\x8d\x48\xb2\x9f\xcc\x08\x3f\x6a\xe2\x2c\x65\x98\x4a\x65\x74\x29\x2e\xb9\x88\xdd\x15\xc2\xe4\x29\xf5\x93\x60\xee\x30\x98\x66\x51\x1c\x0a\x5b\x78\x2a\xbf\xdf\xa5\x42\xf5\xed\x84\xbc\x97\xbd\x38\x09\xf0\x5d\x2c\x3e\x89\xee\x5a\xca\x93\x4f\xe3\x6e\x42\xa7\x28\xb0\x92\x5e\x51\x58\x62\x71\x30\x0a\x31\x47\x27\x1e\xab\x4a\x7e\x18\x52\x9c\x2a\x6f\x89\x97\xb1\x7b\x2d\x5b\x11\xf3\xe5\x67\xd3\xe3\xb8\x7a\x45\x94\x13\x17\x77\xfc\x1c\xb6\x7b\xd6\x84\x13\x49\xad\x5d\x22\xd7\xe3\xa5\xa9\xb4\xc9\x1c\xde\xa0\xc4\x5a\x24\x25\xed\x24\xd2\x4e\x0a\xda\x49\x59\x3b\xc9\x6b\x27\x45\xed\x24\xbf\x9d\x94\xb6\x93\x66\xed\xa4\xb8\x29\xd5\x39\x90\x8f\x90\x69\x29\x27\x29\xdd\x3c\x3e\xe1\x87\x3c\x96\x07\xbb\x28\x97\x00\x25\xd2\x5d\x99\x14\xde\x39\x81\x5e\xde\x0c\xa6\x7e\x8a\x5f\xfb\x6c\xee\x78\xe0\x2f\xa3\x77\x34\x76\x22\x88\xa3\x29\xff\xf0\xa1\x08\x6b\xb0\x73\x74\xe4\xa4\x30\x23\x09\xdb\xbe\xc0\x29\x59\x60\x9e\x30\x03\x75\xeb\x14\x14\x81\x50\x27\xae\x07\x23\x83\xb7\x3d\x6b\x7a\x84\xd9\x6e\xad\x76\x29\xb0\xe9\x3b\xed\x6a\x23\x38\x20\x7e\x58\x15\xdb\xf4\x54\x7c\x5c\x99\x49\xa3\xda\x4e\x5c\xea\x75\x86\x11\xc5\x01\x2b\x1e\x01\xce\x8a\xac\x97\xfe\x79\x74\xc2\x09\x1b\x51\x98\x98\xc3\x93\x3e\x8c\x2d\x8b\x97\xeb\x55\xf4\x78\x70\x9b\x9a\x7c\x35\x5f\x56\x0e\xe9\xfd\xdb\x56\xde\x0b\xa3\xb2\xeb\x57\xb7\xa9\x5d\x13\xbf\x3d\x37\xc0\xe2\x25\x61\x4f\x48\x26\xdc\x98\xbd\x5e\xab\x61\x05\xd9\xe2\x75\xb7\xa7\x92\x14\xfa\x36\xf6\xfd\xbb\xd5\x15\x0c\xf0\x7e\xbf\x6e\x2d\x0e\xae\xa2\xd6\x87\x75\x6b\xd5\xc0\xf4\x6c\x65\xad\x6d\xbd\x2f\x8b\x3a\x5f\xe2\x4a\x5c\x8f\x03\x7c\x8e\xe3\xb7\x44\x3a\x8d\xfb\x5a\xe4\x48\x40\xe8\xf4\xa7\x7d\x3b\xab\x1c\x95\x2c\x5e\x3c\x96\xae\xae\xc4\x87\x55\xaf\xf4\x69\x75\x25\x85\xa1\xf5\x7a\x2f\xd6\xab\x27\x9e\x6d\x6b\x15\x3f\x97\x78\xa6\xb0\x4b\x4f\xfa\xe3\x2a\xae\x36\xad\xb7\xf4\x83\xf1\x90\x38\xf0\xcc\x3a\x6b\xc4\x28\x58\x61\x23\x6f\x2c\xec\x37\x99\x9d\xdb\x79\xcb\x88\x67\xd7\x83\x37\x31\x1c\xa7\x46\x33\x9a\x5d\x0f\xbe\xc6\xf0\xb8\x33\xf3\x53\x0c\x47\x9d\x99\x4f\x63\xb8\xe8\xcc\x7c\x11\xc3\x69\x67\xe6\xc7\x18\xae\x3a\x33\xbf\xc4\xf0\xce\xeb\x88\x6c\x67\x03\x0b\x8d\x2e\xd5\x5e\x56\xa3\x46\xff\xf1\xc7\x96\x65\x03\x1b\xcd\xfd\x74\x2e\x7c\xab\x95\xa2\x4c\xe9\xd9\xed\x53\xe9\x6b\xad\x19\x15\x84\x43\xd3\xb1\xac\x1c\xd9\x90\xb4\xdc\x7e\xe2\x33\xf4\x05\x51\x1b\x36\xed\x4a\x4b\xac\x1a\xf9\xb8\x15\x63\xa4\x50\xaa\xdc\xb2\x40\x44\x0a\xe1\x8d\xab\xc2\xa2\x17\xe1\xea\xc5\x83\x1f\x62\x28\x24\x00\x0c\xae\x53\xec\xd3\x60\xee\x24\xc0\xe7\xe0\xe0\xbc\xdd\x03\x91\x3d\x10\x3e\xde\xcf\x71\x0e\x34\x34\x9b\xc0\x4f\xe1\x7d\x53\x0f\x76\xce\xd8\xd2\xb9\x77\xcf\xa4\xe9\xaa\x23\x0b\xb5\x15\x5e\x21\x42\x53\x58\xca\xb0\xd0\x80\xc3\x16\x9b\xc5\x9c\x19\xa1\xe8\xd1\xa3\xc2\xf2\xf9\x51\x19\x98\x1c\xd7\x62\x7d\xd3\x47\x85\xf4\xac\x70\xc9\x13\xcd\x10\x0d\x51\xa2\xe0\x1a\xb8\xf4\x51\x33\x06\xbc\x0c\xc8\xae\x6c\x02\x83\x32\x82\x3b\x73\x09\xd0\x86\x41\x83\x10\xad\xb5\x67\xf7\x9a\x55\x8c\x6f\x03\x1d\xf8\x78\x60\x49\x1d\xd7\x60\xe4\x4d\xf2\xfc\x51\x40\x12\x16\x25\x19\x1e\xb0\xfc\x76\x4d\x4b\x6f\x37\xe2\x3e\xb4\x76\x23\x34\xcf\x71\x9c\x62\x31\xe9\xac\x9c\xf4\x1d\xd7\xcd\xe4\xf4\x4c\xb5\x5f\x97\xb5\x1f\x89\xda\x15\xc0\x64\xfd\x80\xa9\x41\x20\x53\x10\xa8\x5b\x8c\x26\xca\x7a\x3c\xe3\xe0\x58\x35\x91\x5a\x7b\xaa\xb6\x9a\x97\xd8\xad\x89\x11\x29\x29\xaf\x85\x43\x38\xa1\x88\xd9\xf5\x18\x65\x39\x10\xd3\x06\x7f\x4b\x51\x5f\x4c\x03\xe6\x44\x68\x8f\xc2\x15\x13\x2f\x46\x22\x86\x81\xfc\x98\xd8\x39\x04\xc6\x31\x74\xc5\x1c\xe2\x44\x7a\x20\xfe\x1d\x5e\xf8\x34\xe1\xfd\xac\x11\x03\x88\x84\xc2\xac\xa0\x1d\x9d\x22\x0b\xdd\x95\xd1\xf9\x1e\x9b\x06\x32\xf3\x07\x33\x7f\x18\x90\x13\xfe\x27\x5d\x46\x09\xff\x7b\xff\x92\xff\x3b\xbb\x7d\x50\xa4\x6a\x60\xb8\x4a\x27\x29\x1d\x92\x24\x5e\x1d\xfc\x23\x22\x48\x1b\xb1\x8e\x46\xa3\xfe\x38\x81\x45\x70\x86\xb0\x5b\xc8\x37\x88\xd0\x81\x61\x3c\x15\x54\xba\x18\x4e\xc6\xe3\x81\x05\xd4\x64\xfe\xf9\x86\x20\x53\xd0\x8d\x59\x50\x8f\xe0\xaa\x15\xf5\xab\xa0\xe9\xd5\x21\x18\x44\xe8\xa2\x7f\x58\x16\x60\xd3\x80\x5e\x34\x82\x11\x96\x91\x4d\x92\x9e\x01\xf5\x22\x40\xad\x53\x03\x6e\xf5\x47\x3a\x5c\x35\x4d\x13\xee\x57\x7a\x0c\x87\xb3\x18\x5f\x0e\xf8\x3f\xc3\x80\xc4\xd9\x22\x19\x34\x67\x6e\x8e\x63\xf1\xa4\x1f\xd3\x4f\x57\xc4\xa1\x6c\x87\x6b\x58\x2f\x24\xe5\xab\xe6\x74\xde\x98\x17\x64\x66\x5c\x90\x5e\x50\xfe\x5f\x07\xcb\xd6\xc6\xfc\x8b\x61\xd9\x25\x3c\x92\x47\x60\x30\x6a\x3c\x97\x6b\x4b\xfc\xac\xfa\xf2\x2c\x15\x0a\x9c\xef\x58\x82\x32\xe2\xe5\x60\xee\xa7\xc3\x54\x9a\xf6\xff\x73\x56\xa6\x1d\xe3\x64\xbd\x95\x69\x5a\x60\xbf\x21\x28\xd0\xcf\x32\x2b\x97\x47\x47\x5c\x09\x8c\x91\xac\x8b\x20\xa0\xfc\xbc\xa7\x24\x1e\x54\x7f\x68\xe8\x18\x02\x46\xae\x5c\x70\xb3\x63\x84\xef\x5c\xb1\xff\x5d\x25\xb9\x30\xdf\xb4\x20\x2d\x4f\x1d\xdf\xbd\x79\x42\x3f\x39\xc1\xf4\x7f\x57\xc5\xb8\x77\x24\x70\x6e\xb5\x52\xfd\x51\xa1\x6a\xad\xcf\x30\x0e\xa7\x7e\x70\xba\x0e\x07\x97\x19\xe3\x54\xb6\xc7\x25\x9d\x90\x44\x61\xb7\xd6\x49\x75\x15\xab\x23\x7b\x38\x08\xa3\xe9\x60\x31\xdd\x1c\x2c\xe8\xe6\x40\x21\x8e\x1f\x47\x27\x89\x08\xe3\x9c\x0e\x03\x9c\xac\x13\xd7\xce\x70\x08\x3d\x25\xc8\x0a\xe6\x38\x38\x9d\x92\x4b\x53\x10\xb9\x1f\xcc\x87\x54\xba\x06\x4b\xb8\x36\xb7\xbc\x8c\x87\x9b\xeb\x00\xba\x7e\x23\x32\xdd\x0b\x8c\x07\xa3\xdf\x0b\x71\x13\x63\x6a\x62\x82\x97\xc6\x19\xdf\x96\xe5\x94\xb7\x8f\xfb\x2d\x06\x7c\x3d\xd6\x33\xed\xb8\x71\x99\x2d\xe2\x4a\x8d\x1b\x5a\x51\xae\x69\xfa\x3c\x6a\xcd\xff\x05\x41\xa6\xbd\xfb\x99\x20\xcb\x9b\xc6\x7e\x62\xd8\x13\x86\xb5\x6a\xc3\xaa\x50\xc9\x89\x88\xd6\x3f\x4c\x42\xa9\xb3\x34\x6b\x4b\x3d\xb4\xac\xa3\x7d\x35\xc5\x5a\x02\x64\xc4\xa5\x29\x4b\x06\x53\x96\x0c\xd3\xc5\x60\x7a\x32\x9c\xf9\x21\x0e\xe5\x6f\x11\x29\xc2\xa7\x57\x83\x05\x1d\x6e\x0e\x16\xd3\x06\xca\xa9\x26\xd6\x0a\x74\x97\xa5\x98\x0e\x53\x6d\xc2\x32\x71\x2c\x86\x2f\x8d\x01\xee\x4d\x95\x87\x0b\xf2\x75\xf8\x7d\x2d\x5c\xe0\xe9\x69\xc4\xd6\x68\x44\x13\x9e\x35\xd6\xcb\x40\xff\x9d\x8e\x80\x93\xdf\x09\x62\xbe\x91\x8c\xd1\x10\x5b\x7b\xc9\xb8\xc0\x7c\x92\xc3\x45\x26\xec\x72\x57\x93\x8c\x75\x8e\xb5\xdc\x86\x38\xec\x79\xcc\x1d\x44\xe8\xca\x34\x92\xc4\x3f\x6f\x47\xd1\x37\x8d\xa3\xb0\x7d\xee\x42\x5a\xde\x52\x1c\x25\xa7\x03\x65\xa1\xd1\x6e\x30\xe1\xab\x61\x22\x55\x45\xdd\x2e\x50\x9b\xe4\x27\xbc\x3d\x13\x18\xc2\xb0\x2b\x14\x89\x8f\xde\xf5\x6b\x8b\x1a\x82\xf5\xe6\x85\x43\xd6\x65\x4f\xbb\x35\xa7\x87\x55\xa8\xfb\xe8\x1c\x03\xe5\x84\xc4\x20\xb3\x3f\xa8\x7a\x5a\xd0\x7b\xb7\x05\x35\x11\x3f\xf7\x36\x3a\xae\xc2\x89\xac\x50\xb7\x4a\x44\x2c\x60\x2c\xc7\x3f\x37\x89\xce\x98\x56\x8c\xdc\xb2\xdc\xff\xb2\x1c\xcb\xb5\x4a\xa2\x7a\x49\x81\x36\x3d\x03\x08\x2d\xcb\xf6\x1a\x9d\x22\xd6\xe6\x97\x8a\x88\x8a\xe7\x1d\x14\x5f\x79\x80\xe2\xa4\x7f\x1e\x4a\xd1\xf1\xa2\x76\xcc\x35\x31\x38\x6c\x68\xfb\x26\x15\xfd\x38\x11\xc2\x95\xd9\x5b\x18\x25\xb6\x93\xe4\xb6\x9c\xfc\x49\xbf\x9c\xa9\x72\xe6\x94\xc9\x0c\x61\x7b\x8b\x3a\x38\x97\x70\x8b\xd0\x33\xd3\xc3\xca\x15\x3a\x90\x74\xff\xcc\xb6\x61\xda\xa6\xfd\x75\x79\x37\x7d\x74\x5d\x4a\x6f\xeb\x02\xef\xb3\x52\xe0\x2d\x24\xdd\x32\xbc\xcb\xc8\x1b\x73\x88\xa8\x32\x9f\x50\x62\x3f\x62\x2e\x03\xea\x26\x82\x16\x5e\x75\x80\xd4\x0b\xc0\x3a\xc5\x57\xd9\x52\xf9\x8f\x60\x90\x04\xc2\x1b\x42\x7f\xf9\x90\x5c\x24\x8d\x1a\x17\xa1\x7b\x5d\xd8\x00\x3b\xbf\x82\x60\xce\x9c\xc9\x7d\xc8\x96\xce\xfd\x5f\x81\xd7\x70\x1e\x8c\x73\x38\xbd\x8d\x00\x35\x20\xf1\x20\x20\xf1\xd0\xcf\x18\xf9\xd6\xc0\xa7\x9c\x4a\xcb\xeb\x85\x99\x42\x9b\x9b\xea\x3d\x04\x48\xc6\xe2\x28\xc1\xc3\x28\x99\x91\x0e\x12\x14\xa1\xc3\x14\xee\x8c\x4d\x0c\x9b\x89\xc9\x4b\x8d\x12\x5f\x13\x33\xb9\xd6\xc0\x0c\xf7\x84\xe6\xd0\x26\x6b\x0e\xcd\xfa\xff\xfe\xdf\x35\x45\xb4\x2d\x71\xf5\x51\x27\xe7\x76\x1a\x8a\x98\x05\x97\x1d\x38\x93\xc3\x63\x23\xf1\x11\xfa\xb0\x5a\xb1\x52\x28\xf7\x56\xdc\x0a\x00\xe9\x8c\xfb\xc0\xe0\x32\x1c\x15\x1d\xd9\x5b\x7b\x29\xba\x33\xb1\x9d\x97\x69\x0e\x81\x7b\x12\x72\x02\x98\xb9\xcb\x54\xdc\xd3\xaa\xcf\x74\xd5\x36\x12\xe1\xd4\xda\xb2\x9c\xe2\xcd\x2c\x53\x2e\x92\x2a\x22\x1f\xcb\xb1\xca\x3b\xac\x78\x90\xab\x3b\xaa\xd3\xdb\x55\x0c\x48\xcc\xb6\xd8\xb2\x9c\xb4\xbf\x4c\x05\xf5\xde\x49\xd1\x9d\xb1\x0d\x99\x6d\x3f\xaa\x55\x28\x67\x50\xb6\x24\x86\xd5\xa3\x91\x4e\x47\x4d\xc3\x7c\xf1\x3a\x65\x0a\x74\x8f\x95\x7e\xfa\x9d\x89\xd2\x57\xaf\xc4\xb7\x2f\x03\xcb\x6b\xc4\x56\xda\xea\x02\x8a\x6a\x0a\x7b\x62\xdc\xfa\x17\x87\x6e\xea\x0a\x7c\x33\xcc\xcc\x86\x99\x2b\x5d\x13\xc3\x59\x3d\x50\x75\x1b\xbb\x29\xb9\x18\x24\x64\x78\x92\x31\x86\x69\x5a\xbb\x03\x0a\x25\x5c\xc3\x76\x2e\x6f\x1f\x47\x62\x79\xd7\xa1\x14\x95\x1b\x0b\xa7\x3b\x16\x78\x26\xe9\xfc\x5a\xcc\xf2\x22\x4a\x86\x17\x51\xc8\xa4\xa7\x6c\x6b\x73\x3c\x5e\x5e\xfe\x75\xe1\xa0\xa3\x64\x99\xb1\xa1\xf2\xeb\x72\xfb\xdb\xef\x33\xa2\x7d\x97\x0c\xa7\x3e\x1d\xaa\x2d\x64\x22\x16\xbd\x22\xa2\x52\xf6\x61\x12\x6f\x1c\x87\xc8\x37\x24\x5f\x85\x46\xa9\xc7\x2c\x40\x6f\x53\xf3\x2b\xfd\xb7\xdd\xae\x2b\x20\x1a\x4e\x59\xf2\xbd\x04\x7f\x49\xa3\x85\x4f\xaf\x4c\xf3\x67\x01\x9a\x99\x64\x05\xab\x5f\x6a\x08\xb2\x36\xd6\x20\xad\xfd\xb4\xb6\x18\xff\x51\xa7\x78\x87\x5f\x1e\x06\xb7\xbb\x41\x58\x3b\x59\xca\xc8\x62\xa0\x70\x03\x06\x78\x74\x32\x32\xcd\x7e\x05\xdc\x04\x7f\xaf\xae\x4d\x72\xdb\x4e\xfd\x14\xf3\x23\xaa\xe3\x6c\x7a\x9b\xa2\x7f\xc7\xc9\xb9\x6b\x2d\x29\x09\x33\x41\x37\xad\x7f\x5f\xeb\x9c\x32\x54\xfb\x86\x53\xcb\x00\x7e\x3b\x87\xed\x8e\x83\xcc\x78\x37\x31\x31\x09\x83\x29\xa1\x21\xa6\xc3\xb1\x69\xda\x2f\x6a\xa4\xa7\xe2\x08\xc8\x28\xee\x31\xad\x96\x50\xc8\x32\x9d\xc0\x2f\xdb\x7c\x66\x61\x32\xaf\x5c\x39\x0b\x6b\xed\x9a\x21\x9e\x32\x1e\x77\x4a\xc9\x85\x65\xe9\x98\x2e\x35\xdb\xfa\xc1\xad\xb8\x91\x5e\x18\x2c\x03\xf4\x2e\x46\x11\x3a\x9a\x09\x8f\x48\xeb\x4d\x5b\x8e\xd4\x30\xf1\xb6\x58\xfa\xbf\x75\x9c\x52\xc5\xda\xb4\x40\xb9\x0d\x6f\x4d\x9c\x4e\x53\xba\xd5\x7d\xeb\x2c\x2e\x58\xea\x42\x95\xe7\xc0\x4a\x13\x1c\x21\x0e\xd3\x0b\x2a\x14\x89\xda\xab\xfe\xd7\x63\xf3\xa5\xd9\xd3\x9b\x01\x32\x6f\xb1\xb4\xad\x31\xad\x61\xaf\xcb\xb9\xca\x36\x31\x28\x1e\xb1\x51\x14\xb6\x53\xa5\x97\x30\x83\xa4\xa8\x47\x2e\xf8\xad\x20\x58\x43\x6a\xca\x11\x58\xb8\x2d\x33\xec\xdb\xbd\xfe\xbb\x77\x90\x3a\x59\x0a\xd8\x7d\x17\xa3\x2b\x61\x6a\x26\xf8\x79\xe9\xc6\x55\x22\x44\xc5\x97\xab\x46\x0c\xdb\xae\x4c\x74\x16\xc2\x01\x1f\xe4\x5c\x09\x23\x0f\xdb\x84\xa2\x28\xbb\x42\x22\xa5\x08\x7b\x8a\xe3\x99\x12\xc9\x8b\x8b\xd6\xed\x64\xdb\xac\xa1\x37\x54\xfe\xda\x16\x01\x58\x2b\xb9\x30\xb0\xe0\x25\x4f\x14\xff\x99\x24\x3a\x3b\x5d\x93\xb9\x0e\x62\x92\xe2\x43\xe9\xbc\xde\x39\xe0\x5b\xf9\x78\x66\xdb\xc0\xd9\x1b\x3f\x4a\x30\xdd\x89\xfd\x34\x75\xce\x54\x70\x03\xe1\x76\x7a\xb9\xe2\x0d\x49\x6d\xaf\x81\x36\x10\x32\x1c\x20\x32\x36\xc2\x01\xe2\xa5\xb7\x29\x1e\x5c\x91\x6c\x90\x66\xea\xe3\xc2\x4f\xd8\x80\x91\x81\x74\x39\x32\x60\xf3\x28\x1d\x28\xd4\xde\xb2\x38\x9b\x4c\x08\x53\x43\xe9\x17\x4c\x1a\x9e\x55\x1b\x44\xeb\xf4\x36\x44\x4b\x79\x35\x30\xcd\x47\xd8\xe3\xf7\x20\x4c\x4b\x70\xb8\x16\xcf\xbc\x24\x69\xa4\x2c\x63\x26\xd2\xbb\x66\x14\xf4\xf3\xcc\x15\x28\xb4\xee\x04\x83\x38\x4a\x35\x03\xc8\x93\x8b\x0d\x3b\x58\x0e\xc7\x83\xc5\x74\xf8\x60\x0d\x89\xbe\x99\xfd\x96\xda\x44\x8b\xe9\xd0\xf8\x2a\xd5\x75\x23\x69\x30\xbc\x06\x7b\xf8\xae\x03\xb9\x75\xe8\x1e\x86\x60\xed\x25\x61\x6a\x95\x86\xb4\x46\xf7\x36\xaa\xa8\x34\x07\xe2\x85\xb5\xc9\xa2\xe1\x80\x14\x6d\xaa\x83\xa2\x6c\x36\xe7\x57\xd8\x16\xc0\xb7\x43\x44\x47\x51\x68\xc8\x79\x1b\x1a\x1f\xce\x22\xf4\x32\x04\x0a\x77\x26\x26\x16\x7f\xfd\xc7\x4a\xe3\x3d\xef\x33\xec\x85\x55\xab\x53\xd3\xa8\x22\xc4\xb6\x84\xf0\x54\x8d\xc2\x76\xce\x8c\x4f\x95\x36\x3c\x09\x1b\x3a\x89\x8b\x59\xbb\xbd\x73\x43\xda\xb2\x65\xbb\x9e\xe7\x70\x60\x92\x4e\xca\x88\x60\x49\x11\x76\xb1\x2f\x28\x84\x81\xeb\x14\x9e\xf4\x83\x10\x59\x2f\x89\xa6\x13\xe9\x60\x26\x8c\x12\x6c\x27\x42\xe7\x81\x01\x70\xe5\x5e\xe8\x00\xe1\x9a\xbc\x86\x3c\x55\x23\x74\x16\x82\x12\xa0\x1e\x20\x9e\x6a\xdb\xc0\x71\x45\x88\x64\x5b\xde\x80\x3b\x1c\x45\xb0\x91\x1e\x7d\xfe\xbd\xbe\xb0\xcd\xcd\x33\x7f\x9a\x4b\xff\xd8\x44\x45\xb9\x51\xbb\xe4\x89\x1f\xc5\x19\x2d\x37\x54\x10\x22\x62\x0a\x3b\x92\x85\x1c\x39\xf7\x7b\x1e\x52\x53\x14\x87\x80\xc1\xa8\x48\xff\x2e\x46\x53\xe5\x9d\xa0\xa5\x31\x5e\x38\xa4\x18\x73\x9e\x6c\xab\x45\x7c\x49\x88\xd2\x99\x08\xea\xd7\x5c\xad\xe6\x46\xe9\x28\xdb\x7f\x39\x9e\xfa\xe1\x09\x1e\x88\x7f\x87\xcb\x28\x8e\xc9\x85\xfa\xa1\x00\xa0\xe8\x99\x38\xe2\x19\x59\x0e\x16\x6b\x3e\x55\x9f\xae\x12\x62\xaa\x7d\x81\x84\x7b\xdf\x57\x5d\xef\x9f\x3d\x91\x56\x22\x34\xed\x78\x0e\x1a\x24\xfe\xf9\x90\xf9\xd3\xb4\x83\xb6\xd7\xd1\xbc\xed\x1a\xc4\x47\xfb\x21\x30\xc0\x23\xe1\x1f\x0a\x30\x47\x1f\x3b\x57\x51\x2d\x9c\xef\xec\x37\x92\x8d\x8f\x39\x7d\x11\x73\x7f\xde\x2d\xde\x64\xfe\x54\x48\x36\xf5\xee\x30\xc9\xc6\x8c\xca\x2e\x46\x92\xd9\x31\xa8\x66\x5d\xa3\x06\x46\xd7\x5b\xe6\xa7\xd5\xf2\xa3\x4e\xae\xe2\x89\xf2\x99\xbb\x96\xa8\xdb\x23\x1d\x1b\xeb\x4a\x6d\xac\xc7\xfc\x20\x2a\xfc\x73\x99\x9c\x4b\xb7\x9b\xf5\xd1\x49\x00\xaf\x42\x41\x8b\x0d\x62\x1b\xb4\x08\xe0\x80\x1f\x28\x66\xd7\x51\xcd\x6a\xc5\xd1\x01\xaf\x3b\x64\x04\xc6\x57\xd4\xc5\x74\x73\x70\x31\xfc\x75\x3c\x8c\x07\x82\x9b\x18\x9a\xde\x53\x57\xba\xb9\x9f\x85\x70\x56\x0d\x3c\xd2\x50\xbf\x77\x2d\xe9\x0b\x98\x43\x8a\x8d\xa4\xa7\x75\xfe\xbd\xdb\x31\xd2\x13\xd3\x48\xf9\xd1\x31\x58\xfa\x63\x39\xce\x8e\x51\xbe\x56\xaf\x71\xef\x8c\x68\x6d\x0c\x72\x55\x9c\x74\x6d\xf5\x8c\x37\x08\x8b\x10\x6a\x9d\xbc\xd7\x1a\x08\x7d\xfe\x7d\x8a\x61\x95\xc3\x35\x1c\x14\xbe\xb5\x6f\x2d\xa9\xb3\x7b\x59\xc8\x7f\xfc\x34\x2a\xc8\x70\x54\x9f\x8d\x33\xb0\xe0\x14\x7d\x11\xe7\xc6\xed\x26\xa6\x5a\xdf\x0d\x4d\x77\xdc\x2e\x0d\xcd\x8a\x08\xa9\x19\xbe\x2a\x0b\xd7\x53\x22\xfc\x56\x63\x0a\x6a\x54\x54\xcb\x73\x78\x6f\x3a\xd8\xd5\xd3\x6a\xb9\xc7\x3c\x02\x41\x0c\xdd\x0f\x13\xdf\xfa\x2a\x19\x90\x78\xf8\xf3\xca\xca\x31\xf2\x42\x38\x20\xd2\xf3\x24\xa4\x31\xe7\xae\x7d\xf1\x6f\xa2\xfc\x17\xad\x43\x47\xff\xb2\x01\x44\xa2\x6b\x4f\x0d\xc0\xfc\x80\x7f\xbb\x11\x7c\x8f\x62\x9f\x8f\xa2\x10\x2c\xe5\x31\x23\xd1\xc2\x11\xc8\x62\x64\xb4\xf3\x60\x5b\x3e\xf2\x43\x28\x2f\xcc\xa5\xe6\x8e\x7a\x60\x06\x6b\xe6\x0f\x19\xf5\xd3\xf9\x90\x58\x30\x15\xed\x38\x91\xf1\xe2\x61\x54\x75\x14\xb1\x01\x43\x77\x4d\x69\x63\xff\x85\x3d\x89\xd7\x3a\x4f\x95\xdf\x92\xc1\x76\x27\x8d\x7a\x66\xa2\xc9\xad\x37\xce\xa6\xa9\xa1\xf2\x24\x61\x69\xf7\x27\x56\x8e\x2a\xd2\x23\xe3\xfc\x38\x97\x38\x58\xe3\xc1\x64\x19\x20\xb2\xd6\xe4\x0c\x6a\x4c\x39\x7c\xe9\xd6\x9a\x5b\x27\xca\x5e\x95\x12\x35\xa9\xd4\x3b\x7e\x79\xed\xbc\x22\xe0\xee\x2b\xc2\xd7\x5e\x5d\xcb\x15\x4f\x8d\x94\x5c\x0c\x2c\xb0\x16\x8c\xef\xc6\xb5\xb7\xa3\xb8\xd3\x5b\xa0\x76\xb1\x31\x2e\x4b\x8c\x4e\x62\x15\x2e\x39\x46\xf3\x98\x5f\xd1\xda\x8b\x51\x34\x58\xfa\x25\x91\xfb\xb2\xab\xcd\xf3\x7a\x9b\x26\xa5\xc9\xa2\xcd\xbd\x24\x5c\x35\xc4\x45\xbd\xb9\xf6\x92\xcb\x6b\xf9\xd3\xdb\x28\x8d\x48\x50\xde\x82\x2c\x1b\xcf\xd6\xef\x54\x2d\xb7\xb4\x6b\xa3\xc1\x9a\xcc\xae\xf1\xa6\xb6\xd6\x5b\x9d\xdc\xfb\x03\x7f\x36\x93\x81\x35\xa7\x57\x35\x29\xe2\xba\x16\x76\x6b\x52\xed\xf5\xce\x3c\xe3\x85\x62\xbd\x23\x47\xb0\x5f\xfe\xc2\x24\x49\x35\x0d\xf2\x3b\x7b\x92\x6e\x8f\xbe\xfb\xa9\xb0\x0b\xab\x84\x0e\xda\xfb\x10\xe9\x30\x73\xcc\x86\x89\xfd\xf7\xb1\xdd\x78\xd9\x2b\x4e\x34\xe3\x01\x25\x0f\xa6\x65\x9c\xa5\x16\xdf\x28\x57\xb1\xe1\xa6\xc3\x69\xe3\x9b\xef\xa1\x43\xfc\xa6\xb8\x3e\x21\xfa\x60\x78\x5f\x79\x16\x1a\x75\xc8\xd7\x39\x2e\x7a\xf5\x95\xd6\x7b\x4b\x79\x8b\x53\x6c\x7a\x4c\x31\x13\x94\x4f\x66\xdd\x57\x25\x9b\x13\xb1\xb5\x67\x84\x2e\x20\x6b\x9a\xfb\x27\xed\x30\x93\x49\x2d\xf8\x66\x4d\xa6\xbd\x17\x46\x6c\x50\x3a\x2b\x9b\x38\x34\x46\x89\x50\x03\x37\x8a\xc0\x5f\xe2\x8b\x5a\xe9\x08\xb1\x18\x30\x50\x25\x87\x15\xf6\xd8\x90\xf2\x3f\x93\xb5\xc5\x02\xb3\x15\x84\xaa\xed\x1c\xc1\x88\x98\x5f\x43\x08\x4a\xbf\x8a\x81\x12\x10\x43\x50\x71\xd7\xd8\xaa\xf5\x34\x44\x41\xc5\x1d\x60\xf7\x41\x51\x78\xc4\x91\xd8\xd7\x71\x56\x2c\xcb\xb3\x22\x8c\x6d\x08\xaa\x4e\x1b\xcd\x6d\xbf\xe2\x6d\x6b\x6f\x60\xbd\x6d\xc7\x65\xdb\x33\xd9\xb6\x76\xfc\xb8\x2e\x5d\x5c\xf3\xd4\xf9\x12\x02\x19\x15\xee\x08\x81\x8c\xe4\x7d\xcc\x08\xf3\x37\x21\x30\x08\xc0\xa0\x18\x63\x92\xa3\x4b\xc4\x7e\xd1\xc5\x1f\x29\x89\xe9\x01\x67\x6a\xb7\xda\xc3\x0f\x29\x59\x86\xe4\x42\xb2\xe0\x9d\x2a\xd9\x86\x97\x97\x5a\xc5\x6f\xb6\x2e\x08\x32\x9a\x12\x19\xf5\xd3\x5a\x92\x48\xf0\xff\xeb\xbc\xfd\x2c\x03\xf4\x34\x45\x74\x44\x85\x6b\x5e\x03\x58\x6a\xfb\x04\x9b\xae\x87\xe6\x7b\x54\x6e\xc3\xe7\x6e\x21\x5d\x33\xfa\x48\x45\x17\x31\x05\xe2\xd2\x51\x11\xaa\x04\x02\x37\x42\x3b\x70\x12\xa2\xc4\x16\xa2\xf0\x08\x4d\x61\x1a\x02\x65\xc2\x65\x28\xb6\x6d\xc8\x44\x89\x4f\x8d\x02\x89\xcc\xf4\x7a\x94\x1a\x2f\xc2\x11\x87\xbc\xbd\xf5\x35\x45\x59\x11\x58\xf7\x22\x1c\x65\x4b\x91\x16\x54\xd3\xa4\xb6\xe1\xd6\xd3\x54\x08\xe8\x49\xb7\x58\x5e\x80\x32\x17\xd1\x1a\x9d\x0f\x69\x05\x80\xbd\xf6\x00\xfa\x12\x35\x58\xd0\xe1\x83\x01\xff\x0a\xc8\x62\x19\x63\x86\x87\x0b\x9c\x64\x83\x74\xde\xe0\x1b\x54\x1b\x61\x80\xbe\x08\xa5\x40\xd3\x1e\x96\x79\x93\x6f\x56\xc3\xab\x3f\x29\x52\x1c\xfb\x2a\xe0\x40\xab\x39\x53\x6d\x75\x51\x93\x95\x13\x92\x60\x83\x99\x89\x69\x23\xae\xa7\x81\xa7\x83\x60\x0c\x05\xaa\x74\x68\xd6\x99\x74\xe5\xfc\x00\x3d\x33\xd1\x8b\x59\x80\x3e\x99\xd2\x8f\xc3\x3a\x8d\xaf\xd2\x2c\xda\x90\x0e\xdf\x06\xb8\x61\x94\x2e\x63\x5f\x46\x38\xb4\xa6\x31\x09\x4e\xd7\x05\x6c\x45\x33\x72\x32\x1e\xff\xb8\x26\x58\xbf\xd9\xc6\xb1\xa0\x50\x02\x11\x6b\xbf\x86\x34\x3a\x99\x9b\xf5\x47\x3f\xc3\x0b\x21\xe2\x4a\x4c\x62\xe5\x1c\x3e\xb6\xad\x3b\x24\x7b\xc0\x77\x17\x15\x2f\x5a\xa6\x67\xb5\xc1\x81\x29\x88\xb9\x54\xda\xc8\x91\x8a\x45\xf7\xd1\x64\x65\xb0\xd6\x53\x18\x85\x8e\xf6\xe5\xa6\x46\xd2\xab\xae\x10\xfa\xdd\x72\x5f\x9b\xd0\xe4\x35\x41\x93\x7f\xa9\xad\xb9\x5a\x34\xb7\x0c\xd0\x1b\xd3\x26\x52\x27\xfc\x64\xf0\x5d\x5b\xe6\xd6\xa7\x5c\xa7\xe6\x68\x85\x71\x2f\x22\x60\x09\xb5\x99\x1d\xb0\xb6\xe3\xb8\x74\xbc\xd3\xdb\x32\x47\x99\x1f\x3a\x15\x39\xe4\x1b\x48\x11\x08\xea\xe6\x86\x1f\xb3\xd5\xa8\x57\x5b\x9f\x43\x44\x6d\x27\x42\x1f\x43\xe1\xf2\xbf\x88\xda\x25\xcc\x88\x96\xff\x60\x9d\xc9\xb6\x4b\x8a\x5b\x39\xc3\x11\xfd\x04\x73\x9f\xb2\x15\xea\x4a\x5d\xc4\x86\x20\xeb\x88\x64\xd4\xa4\xf2\x23\xa2\xbe\x2f\x8d\x2a\x5c\x05\xeb\x67\x0e\x56\xbf\xb5\x26\x80\xd6\x50\x55\xec\x51\x2b\x95\xa1\x90\xbf\x0b\x7c\x53\x1c\xc7\xc3\x34\xf6\xd3\xf9\x77\x80\xaf\x08\x3e\xda\x06\x60\x97\xe5\xdf\x37\xea\x23\x96\xef\x5f\x7f\xd1\xac\x87\xe4\xbb\xe7\x6d\xc6\x1b\x6c\xc4\x1b\x4d\xad\x9f\xc5\x08\x37\x34\xfe\xc4\xb3\x1f\x59\x3a\x59\x5a\x04\x33\xf0\x26\xb9\xb4\xe7\x33\xb6\x25\x38\x58\x6f\x22\x78\xd6\xaa\x51\xf4\x5f\x68\x3d\xb5\xd2\x4a\x59\x2e\x98\x38\x7d\x87\xe3\x2e\xe5\xf4\xdb\x90\xd6\x96\x5d\x70\x54\xc4\x64\x59\xeb\x44\x31\x5b\x28\xdf\xb6\x91\x2e\x23\xe5\x5b\xb6\xa3\xc0\x13\x90\x58\x9f\x16\xff\x16\x04\x06\x65\xb8\x35\xcd\x9c\x4b\x32\x90\x54\x83\xc4\xbb\xf5\x28\xf1\x3a\x3e\xfc\x5a\x52\xb7\x5b\xd9\x48\x17\x2f\x1e\x85\x40\xab\x43\xd0\xb3\x44\x06\x68\x24\xbc\x2c\xce\x4d\x97\x80\x2f\x85\x46\x41\x21\xf4\x14\xdb\xdc\xe4\x20\xe3\x1b\xad\x2f\xf8\x96\x24\xbd\x5b\x32\x42\x87\xfd\x12\x98\xb3\x4e\xfd\xd9\x84\x5c\x50\x7f\x0d\x1b\x9e\xea\x12\x8a\xed\x6e\x39\x06\x11\x9d\x71\xa1\x76\x6e\xf3\xfc\x9c\x86\x32\x5c\xbe\x11\x0a\xc1\xb2\x3b\x4e\x91\x16\x2d\x08\x5d\xb0\x2d\x03\x7a\x2c\x03\xf4\x2c\x46\x1f\x53\x74\x66\x54\x54\x5a\x49\xd9\x3b\x25\x12\xb7\x22\xdf\x8b\x28\xc9\xd2\x6f\xa7\xdb\xfb\x4d\x73\xcf\xf2\xac\xea\x9e\xb0\x86\xca\x37\x4d\xfb\x3b\xe7\xbb\x8c\xff\x11\xd3\xcd\x6d\xc8\xba\x0f\x96\x5a\xec\x95\x28\x2d\x02\x6a\x1a\xe5\xa3\x15\xc2\x2f\xc8\xdc\x00\x15\x01\xc8\x6d\xcb\x2c\x23\x95\x05\xad\x1c\x88\x9b\xf0\xad\x10\xf0\x3f\x15\x71\xa8\xe9\xe8\xa9\x45\xa3\x37\x29\xab\x0f\x2c\x20\xab\xdd\x0d\x55\x1b\xda\xf6\x11\x6e\xa9\xa5\x97\x3f\x5f\x8a\xec\xc0\xac\xa1\x0e\xde\xb2\x53\x2f\x34\x42\x27\x1d\xd6\xfb\xed\xa0\xe1\x11\x0a\xd8\x37\x6b\x4d\x4a\x7d\x8a\x44\x04\x5f\xd8\x4e\xa4\xa2\x64\xed\xea\x59\x30\xed\x77\x7c\x34\x85\xa7\x40\x85\xc9\x6e\x52\x30\x52\x7d\x37\xc8\xff\x55\xf8\x6e\x36\x9d\x2d\x8d\x66\x92\xfa\x5d\x28\x19\xf9\x49\x42\x98\x90\xa4\xa7\x36\x8c\xed\xbf\x8f\xb7\x22\x14\x2c\x05\x6a\xb4\x75\x10\x54\x6d\xb6\x44\xc9\xe8\x04\x27\x98\xfa\x8c\xd0\x77\x34\x36\x94\xa1\x4b\xa3\xdb\x48\x13\x5c\xa5\x27\x01\x38\x40\x89\xa6\xe3\x7b\xc6\xa3\xcb\x9f\xc6\x78\x50\x00\x65\xd2\x21\x3e\x21\x4b\xa8\xcf\xaa\x7b\x1e\x86\x67\xb3\xcf\x90\x2c\x4d\x7b\x52\xd2\x9f\xa8\xe3\x72\xf9\x7f\x9c\x13\x81\xdd\x5b\x38\x11\xe8\xf7\xd1\x78\xbb\x41\xad\x70\x20\xb0\xfb\xcf\x71\x20\xe0\xb7\x59\x0e\xc3\x63\x86\x0e\xf1\xeb\x58\x56\xbf\x8a\x4a\xd5\x0f\x5d\xed\xb9\xa3\xc3\x11\xab\x98\xea\x3b\xb1\x02\xeb\xd9\xb3\x99\x34\x56\x6c\x48\xbb\x0f\x4b\xfd\x64\x90\xb8\x77\xe8\x48\x85\xcb\xbf\x7b\xf7\x4e\x53\xd0\x72\x73\x23\x74\x22\x2d\xcb\xb1\x84\x1c\xbd\xff\xce\x56\x3d\xed\x5a\x72\x78\xab\x21\xd0\x2c\xc5\xf0\xfb\x3d\x62\xf8\xfd\x96\x18\x7e\x6d\x89\x5a\x4b\x02\xdb\x41\x2e\xfc\x25\xe2\xf0\xb8\x9a\xe2\x23\xf5\xb8\x22\x34\x28\x6c\x93\x1f\x40\x3b\x87\x59\x17\x6a\x50\x48\x5c\x6c\x68\x48\xf8\x06\xd7\xf0\x0e\x5c\x5c\x79\xa2\xc9\xfa\xdf\x58\x2a\x8e\x23\x9e\x4b\xc7\x11\x4f\xd2\x1c\x3c\xfd\xae\x43\x9a\xef\x3a\x9c\x6a\x71\x20\xfb\xea\x5d\xa7\x5e\x80\xc8\xcc\xb4\x16\xa7\x52\x7b\x73\xa0\xc5\x9b\x8e\x36\xcb\x7c\x9d\x22\xbf\x74\x03\x41\xd5\xeb\x4e\x25\xd7\x6b\xe4\xd6\xbd\x4a\xb0\x2d\x3e\x86\x27\xd2\xfb\xc2\x3b\xe9\x7d\x21\x11\x0a\xed\x12\xaf\x83\x46\x6d\x93\x8b\x89\xa0\x74\x31\x41\x4c\x2e\x26\x4e\x42\xa4\xa0\x29\x25\xa7\xb8\xe5\x72\xc2\xe4\x6d\x82\xe8\x68\x88\xa5\x0b\xfa\x22\x42\xa2\xf0\x40\x41\x46\xde\x64\x4b\x53\x40\xa2\x3c\x71\x73\xd0\xab\xa9\x3d\xaf\x79\x9b\xe0\x4b\x32\x73\xd9\xd6\x93\xb4\x3a\xb7\xfe\x83\xe1\x2f\xf0\xa3\xa0\x3c\x0c\x5c\x75\xbf\xe2\xac\xe9\x43\x21\x30\xbf\xdc\x98\x64\xd1\x57\x21\xca\xcc\xef\x3f\x07\xc6\x30\x08\x01\x7a\xd5\xb5\xb5\x7d\x99\x67\xdc\xda\xff\x2a\xde\x17\x3a\xfc\x16\xce\xfe\x3a\x19\x80\xf9\x0e\x14\x77\xf0\x20\x4f\x6b\xac\x35\xe3\x6c\xd4\x5f\xeb\x9b\xe1\x80\x33\xe0\x83\x53\x7c\x35\x98\x11\x3a\x10\x50\x8e\x92\x93\x6e\x35\xf5\xbf\xdc\x39\x44\xef\x00\xfe\x79\xbe\x22\x0e\x52\x54\x81\xf4\x7a\xbc\x48\xa5\xfc\x5a\xa2\x9f\xb0\xf3\xec\x16\xf7\x5b\x49\xf5\x5a\x2f\xfe\x77\x22\xb4\x9f\x00\x01\x3a\xe2\x97\x12\xfb\xe6\x86\x63\x05\x81\xc4\x86\xcc\xdd\xa1\x88\x88\xa3\x3c\xd8\xaa\xfa\x0a\x72\x6a\x6e\x84\xfe\x91\x0e\x71\x84\x41\xd2\x92\x0f\x66\x9d\xb3\xbb\xe5\x14\x27\xfb\xef\x77\x8a\x33\x5b\x42\x60\xd6\x3c\x35\x5f\xb2\xd2\xa5\xd1\x6f\x6b\x1b\x03\xec\x1c\x96\xcb\x7e\xa7\x88\x6b\x1b\x61\x89\xec\xb6\x9e\xb5\x0c\x61\x42\x6b\x2a\x63\x6b\x8a\xcd\xab\x9e\x26\x27\xfc\x0a\x72\x7f\x3d\x5d\x4a\xc2\xe4\x1e\x35\xed\xee\x56\x82\xd3\x61\x75\xf4\xed\x8f\x06\xeb\x0e\xb5\x7b\xf6\xff\xfb\x3c\xb0\xf2\x79\xe0\xe7\x69\x30\x0e\x4d\xaf\xe0\xff\x33\x5f\x08\xd6\xb8\xfb\xfe\x4f\x7d\x0c\xa0\x76\x8e\xcc\xb6\xb6\x46\x13\xd1\x52\x2a\xd5\x6f\x20\xea\x2d\x85\x80\xad\x43\xdd\xc4\x86\x79\x8d\x2e\xa9\x48\x07\x3a\xbe\x51\x22\x74\xc8\x96\xa1\x39\x52\xba\x49\xa6\x27\xf8\x14\x26\xe4\xa7\x9a\x75\xcf\xcd\xea\x60\x52\xdc\xa7\x74\x53\x88\x91\xa5\xae\x93\xba\x86\xa9\x7a\x1d\x24\xca\x70\x5d\xb2\x0a\xda\x6c\xbd\x45\x83\x58\x8e\xfa\x02\xbf\xfb\x68\x29\xa0\x05\x42\x02\xfb\x8e\x7f\x65\x52\x7c\x79\x4b\xd9\xa9\xb9\xf0\x9d\x8a\x98\xb4\x1e\xdc\xfa\x09\x45\x99\x74\x3b\x92\xdb\x70\xbe\xec\xd3\xb6\xfe\x3e\xe7\xb9\x5d\x16\xb9\x42\x03\x25\x1e\x4e\x06\x81\xf0\xcf\x55\x38\x89\xd7\x3f\x4d\x3e\xcd\xd7\xbc\xcd\xac\xf2\x89\x2e\x24\x69\xb5\x5e\x87\x82\xcd\x37\x95\xfd\x81\x08\x25\xc3\x3b\x13\x73\xc4\x9d\x34\x30\x29\x29\x3d\x8b\xa5\xdf\xde\x5e\x9d\xba\xdb\xdd\x43\x5a\xe3\x0d\xa3\x40\x28\x1a\xdf\xfa\x39\x64\xad\xf6\x43\x9c\x06\x34\x5a\x0a\x99\xf6\x1a\x27\xf3\x1a\x31\x55\x3a\x74\x76\x16\x5d\xc2\x0f\x26\x84\x1f\xcc\x9f\x0a\x69\x87\x20\x3b\x8f\x7d\xfa\x7d\x26\xe4\x81\x4f\x43\x4e\xbb\x6e\x67\x53\xd3\x68\x60\x28\x3d\xea\xac\xd1\xc4\x6a\x43\xfb\x4a\x7b\x22\x61\x65\xa3\xc2\x4d\x83\x37\x83\xc4\x44\x50\x9e\xc5\xe8\x73\x2a\xa9\x5b\xfb\x50\xb8\x85\xb9\xba\xe8\x24\xfb\x96\x4e\x9e\x9a\x05\x10\x46\x34\x34\x9b\xc4\x3f\x8b\x51\x32\xd3\xda\x83\x3f\x84\x15\x55\x2c\xc0\xc5\x67\xd3\x42\x5e\x8b\x00\xd0\xf9\xb2\x34\x0f\xb6\x94\xe5\xbb\xfe\x0d\xcc\xe4\xdc\x50\xd6\x29\x9e\xf6\x74\xa5\x22\x01\x7e\x30\x3b\x73\x5c\x6f\x8e\xdd\x48\x24\xb5\x4c\x57\x2d\x77\x9b\xe9\x96\xcb\x78\xec\x4f\x2b\xe6\x1a\x3d\xb0\xc4\xa5\x7b\x01\x5c\x75\x2f\xd0\x07\x7f\xaa\xea\x84\x4b\x44\x6c\xbb\xee\x36\x67\x0d\x89\x77\x7b\xe8\xd2\x53\x08\x56\xf6\x01\x8f\x0a\xb7\x7d\x41\xb7\x71\x63\x8a\xe6\x4b\xc0\x23\x29\x0e\xdf\x0f\x81\x02\x91\x51\x22\x1b\x96\xd7\x46\xeb\xc7\xb6\x1d\x76\x10\x22\x51\x3b\x37\xcc\x46\x90\xa1\x93\x36\x19\xfa\x1f\xeb\x5d\xf0\x43\x8c\x22\xb4\xfd\x3f\xdf\xbb\xe0\xed\xc7\xd9\xeb\x5d\x70\xda\xa9\xb4\xd1\x17\x10\x46\xf2\xab\xdf\x69\xe9\xb7\x29\x1e\xdd\x44\x7b\x1d\x7c\x78\xab\xad\xed\x15\xb6\x4a\xdf\x1a\x85\xac\xd3\xfc\x7c\x32\xfe\x0e\xfb\x73\xba\x9e\x9c\xf0\xaa\x6b\x09\x9a\xde\xe8\x3e\xc4\xe8\xf1\x4c\xf9\x53\xfa\x5f\x9f\x74\xdf\xe0\x93\xee\xb8\x97\x23\xff\x4e\x3b\x39\xa3\xd6\x66\x3f\x7b\xb8\x88\xd7\x90\x7b\x74\xba\x4c\x3b\x59\x76\xb8\x4c\x5b\xeb\x24\x89\xd0\x94\x1f\xd1\xbb\x16\x08\x23\x27\xe1\xa3\xab\xa3\x90\xf4\x0f\x37\xf0\x99\x28\xfb\xd6\x47\x15\x47\x71\xdd\xb5\xf6\x92\xb0\x5e\x47\xb9\x8c\xeb\xae\x21\x5d\x0a\x84\xb5\x4a\x32\x46\x71\xd8\x5b\x4f\x7a\x20\x08\x07\xd3\x2b\x35\x99\xd2\xee\xaf\xbb\x8e\xb6\xfa\x93\x15\x94\x31\x5f\x1f\x08\x18\x16\x85\xd3\x59\xc3\x13\x5f\xcf\xc0\xb4\x89\xb7\x05\x46\x05\x06\xe3\xed\x55\xf8\xec\xd1\x5e\x37\xab\x6e\xeb\x3a\x7b\xd9\xd6\x76\xdd\x4a\xc0\x0f\xef\x9a\xe1\x61\x35\x26\x45\x08\x0b\x37\x77\x57\x02\x73\xc6\x1d\x6e\xee\xf2\x8a\xb5\xe0\x45\xf7\xd3\xb4\x92\xe6\x57\x5c\x51\x69\x1e\x24\xe9\xf4\xe3\x23\x55\xb2\x1e\xd5\xec\x07\xda\x3e\x94\xb6\x7c\x74\xbc\x04\x0c\x84\x8f\xd1\x29\x7f\x4c\x9a\x7e\x19\xd6\xf4\x17\x13\x84\xca\xa6\x36\x87\xd3\xe5\xea\x00\xb9\x2b\x37\x7a\x42\x58\x97\x64\xc2\x90\x70\xd4\xf1\x0c\xf4\xb2\x7f\x14\xf1\xaa\x51\xbc\xc7\x34\x8d\x48\x32\xd8\x4f\xf8\x11\xea\x9b\x2f\x95\xeb\x9f\x76\xb7\x3e\xd7\xb7\xbb\xce\xcc\x74\xb1\x9e\x37\x38\xeb\x31\xf5\x93\x60\xee\x7c\xcf\xa8\x55\x7f\x93\x35\x7c\x25\x11\xc4\x46\x53\xd1\xe3\xb7\xb1\xde\xff\x83\xe0\x96\x45\x71\xb8\xeb\x33\xfc\x4f\x05\x9d\xee\xf4\xff\x08\xe8\xbd\x4b\x31\xfd\xa7\x43\x8f\x77\xfa\xaf\x0e\xbd\xa7\x44\xd1\x9d\x7f\x26\xf4\x4e\x74\xa7\xff\xea\xd0\x7b\x8b\xcf\xa3\x7f\x36\xf0\xa8\xea\xf3\x5f\x1d\x76\xff\x0d\x78\x77\xfe\x4d\x58\x57\x61\xa3\xec\x1c\x2e\x3b\x8e\xff\xab\x6f\x90\xb4\x7e\x2b\x9c\xd7\x76\xa9\xe3\xac\xe9\x8c\x88\x03\xc7\xe8\x16\xe1\xfb\x9c\x35\xff\x75\x93\xd9\x0e\x43\x8a\xd3\xf4\x36\xf3\xf1\x65\x95\xb5\xae\x53\x39\x3c\x36\x9b\xfc\x44\x33\xd4\x30\xd8\x34\xc7\x17\xfd\x5e\xe6\x6f\x27\xce\x52\x86\xe9\xe0\x48\x5c\x44\xfe\xc5\xf8\x3e\x81\x69\xff\xb4\x6d\x8c\x57\x3b\x42\xfc\x17\xa0\x7e\x72\xa1\xff\x59\x50\x6b\x8b\x2b\xe8\x3a\x4a\x14\xc2\x49\xb4\x50\x38\xb8\x33\x5e\x57\x55\x41\xf8\x95\xd6\x72\x20\x5e\x47\x85\x2b\x94\x57\x6c\xb0\x28\xf6\xc3\x2b\xcb\xbe\x55\x73\xda\xfb\xa7\xa1\xb9\x14\x33\x16\x0b\xcf\xa0\xeb\x84\x84\x35\x61\x93\x6c\xe9\x76\x82\xc6\x7f\x01\x04\x7b\x8d\x31\x5d\x1b\xbf\x8c\x6f\x70\x7d\xf8\x15\xa1\xcf\x70\xb9\x04\x3c\x5a\xe2\xa6\x0f\xfe\xee\x03\xb4\x8c\x8d\xfc\xdd\xf4\xf2\x10\xa7\xf3\xff\x0e\x62\xf9\xfd\xe4\x4b\x0e\x3d\x21\x6c\x10\x90\x64\x16\x9d\x64\x74\x2d\x35\x2d\xe3\xa1\xb5\xbd\xd2\x2a\xe6\x1b\x4f\x23\x31\xb2\x35\x01\xbb\x30\x81\x64\xf9\x1d\x4e\x33\xa6\x7e\x70\xca\xd7\x24\x51\x36\x82\xff\x36\xfb\x65\xf6\xcb\xec\xb7\xff\x9f\xba\x6b\x71\x8e\x13\x47\xfa\xff\x0a\xe1\xae\x12\x69\xd3\x9e\x78\xf6\x76\xbf\xaf\x0e\x17\x95\xf2\x33\x9b\xc4\x76\xb2\x7e\xe5\xb1\xb5\x35\xc7\x80\x30\x24\x0c\x60\xd0\xf8\x11\x87\xff\xfd\x2b\xbd\x40\x80\x18\x33\xde\xdc\xd5\x77\x55\xbb\xb1\x0d\xa2\xd5\x6a\xb5\x5a\x2d\x75\xeb\xa7\xb1\xc9\x52\x61\x96\xd2\x8d\xd0\x5b\xc4\x89\x84\xaa\x59\x64\x69\xc6\x93\xd3\x47\x61\x86\xf4\xa4\x75\xfb\x63\x63\x14\x75\xe7\x1d\x3f\xae\xf3\x1e\xde\xb6\xfe\x6f\x74\x21\xce\x73\x1a\xff\x27\x9d\x08\x3a\x59\xf2\x1a\x1f\x67\xe5\x77\x72\x44\x27\xbe\x70\xd9\x4e\x7b\xd3\x87\x2c\x74\x9a\x37\x2b\x8e\xd7\x69\x68\x42\x76\xda\xe6\x74\xf8\x60\x33\x2e\x38\x70\x05\x27\x03\xa8\x22\xbc\x56\x46\x76\x35\xd8\xba\xd4\xaa\xe3\x5c\xc0\x62\x3f\x7a\xbf\xb5\x90\xfb\xad\xfb\xb9\x7b\x9f\xc4\xe9\x57\xc7\xb6\x21\xe5\x6e\x9f\x5d\xc1\x51\xfd\xf0\x6f\x2f\x04\x63\xea\xa5\xd4\xc5\x0a\x76\xf5\x22\xf5\x3d\x5e\xb2\x90\xfa\xbb\x82\x2b\xad\x98\xda\xfd\x16\x85\x24\xde\x71\x05\x07\x79\xe7\xc2\x96\xab\xbc\x2f\xd8\x5d\xc3\xb3\xa3\xbc\x2f\x62\x38\xcc\xdd\x81\xb3\xb3\x82\x0f\x2a\xaa\xe7\xd7\x7c\xeb\xfd\x60\x8a\xce\x0b\x16\x4f\xb2\x25\x6d\x42\xda\x57\xb9\x10\xf9\x71\x46\x0f\x98\x45\x6b\xbf\xdd\x97\x6f\xa5\x04\x0e\xb2\x62\xb1\x1f\xc4\x54\x16\xea\xbe\x3a\x26\x37\x86\x37\x87\x71\x69\xfa\xe0\x22\xae\x4b\xcb\xca\x76\x55\x65\xbc\x4f\xda\xef\x8e\xf2\x6e\x9f\xef\xe7\xfc\x2e\x94\xd5\x10\x00\x87\x39\xb3\x7e\x05\x7e\x69\x5b\xcd\x91\xbc\x0a\xc3\xbb\x15\x41\x68\x53\x9e\x9c\x96\x73\x5e\x67\xcc\x41\x8c\x5e\xe7\x03\xa1\xc2\x9e\x01\x5a\xfb\xce\xf8\xb7\x19\x2a\x26\xec\xa5\xe1\xdd\x97\x41\x90\x40\x33\xdc\xfc\xb8\xe5\x08\xbf\x05\x64\xc0\xe4\x7f\x86\x77\x5c\x92\x07\x39\xae\xe0\xfd\x40\xa1\x68\xa0\x8d\x73\xaf\xb0\xc4\x8f\x0d\x9a\x5d\x5e\x26\xc4\x9b\x27\x64\x63\x11\xa8\x87\x49\x7c\x19\xd1\x06\x9f\x63\x31\xdf\xf8\xd5\xca\xe9\xc6\x3f\xac\xbc\x9b\xa5\xbd\xd6\x24\x2d\xb2\x1a\xe6\x19\xa5\xd9\x42\x42\xbb\xe5\xb7\x56\x99\x25\x71\x60\x15\x97\x73\x0f\x6d\x82\x25\xfe\x9b\x4c\x7f\xfe\x15\x3f\x2a\xef\xbf\x34\xdb\x79\x19\x27\x1f\x31\x31\x0d\xe9\x05\x93\xcb\xbc\xf0\x52\x63\x7e\xf9\xdb\x0c\xd9\x7f\x1b\x71\x76\x5c\x21\x31\x2f\xbc\xd4\xeb\x9e\x9d\x5d\xd3\xd5\x96\x2c\xa5\xde\xb5\xa1\x51\x6f\x72\x73\xf8\xaf\x7f\xa5\x58\x3b\x59\x68\x4d\xa3\xd2\xce\xcf\x19\x77\x45\x03\xf7\x14\xe2\x34\x89\x53\x62\xc4\x8d\x5b\xa3\x57\xc6\x66\x8a\xf3\xde\x69\xb0\xad\x52\xd3\x45\xa8\xc6\x4d\x0a\x0d\x6a\x77\xcc\x68\x35\xe5\x40\x19\xcf\x2c\xef\x99\x67\xe8\x82\x49\xd5\x3c\x39\x1b\x0c\xf0\x49\x5e\xa7\x50\xe1\xad\xd5\x76\xfc\x86\x17\x6d\xde\xaa\x5c\x2a\xc3\xec\x13\xa3\x45\x0e\x54\x44\x76\xd9\x3c\x01\x9a\x13\xd0\x9f\x3e\xd4\x31\xcb\xa0\xa1\xcf\xde\xe2\xde\x1c\xd5\xd7\x19\x34\xcb\xe0\x22\x81\x12\x7d\x0a\xe0\x4a\x20\xd6\xd0\x89\x54\x21\x89\xf5\x0b\x35\x51\x46\x02\xf7\xa9\x6a\x4a\x6a\x22\x7b\x28\x2f\xf6\xd0\x9d\x5f\xdb\x36\x53\x3d\xcb\xf2\x43\x72\x4d\x92\x36\xb9\xbe\x63\xf3\x35\xaf\x2a\x38\x1f\x9c\xac\x3c\xe4\x65\x60\xf3\x29\x04\x7a\x4a\x68\x3a\x85\xb8\x97\x21\xbb\xa4\x77\x09\x29\x23\x42\x8c\x89\xd2\x31\x9a\xf9\x60\x27\x99\x17\xd8\xe0\xa7\xa8\x40\x47\x31\x1b\xdc\xe6\x64\x00\x56\x94\x14\x45\x56\xc8\xb2\xbb\xb1\x3e\x53\x1e\x78\x71\x42\x02\x8b\x66\x16\x23\x67\xed\x9e\x9e\x5a\x61\x91\x2d\x1c\x8b\xdf\x22\x6c\x4a\xb0\xe9\x64\x3d\x57\x18\x2e\x1e\xb7\x06\x39\xcf\x41\xcf\xaf\xb7\x93\x78\xfe\x62\x9e\x65\xb4\xa4\x85\x97\x6f\xfc\x32\xd9\x9c\x6c\x6e\x78\x49\x1e\x79\x93\xff\xd9\x08\xe2\x92\xbe\xf0\xcb\xb2\x29\x30\x59\xc4\xe9\xc4\xe7\x59\x42\x47\x26\x00\x0b\x33\x7d\xbe\xac\xf3\x6e\x48\x99\x2d\xc8\xc6\x2f\x93\xff\x9d\x6c\x72\xaa\xfa\x63\x8d\xf0\xbe\xe1\xc2\x09\x5c\xc1\x87\x51\xd9\x71\xe3\x36\xf0\xc7\x41\x9e\x78\x41\xa0\x76\xae\xec\x5f\xba\xe7\xdf\x56\x7c\xa8\x9d\xf5\x29\x48\x30\x66\xe5\x6a\x70\x4d\xc6\xcc\x48\xef\x99\x39\xe1\xc6\x6a\x9d\xa5\x96\x9c\x82\x99\x0f\xf1\xf0\x75\x63\x7b\xf9\xc8\xd4\xf7\x0a\xc3\x6f\x8f\xd1\xc8\x0b\xd6\x86\x24\x9e\x9b\x01\x51\x3a\x39\xb6\x85\xe9\x48\x3b\x9d\xd4\xea\xb9\x7b\x7a\x0a\xfc\x7a\x65\xa6\x5a\xdb\x42\xb3\x76\x4f\x4f\xab\x2d\xea\x04\xd9\x7d\xc1\xfe\x89\x43\x54\x7f\xfd\xa4\x0e\x0c\xcc\x0b\xe2\x7d\xb5\xb4\xdb\xaf\xe4\xf1\xf6\xee\x9a\xac\x79\x3f\x5d\x79\x73\xc9\xea\x36\xff\xff\xe9\xb7\xee\x15\x2a\x42\x0e\x45\x6d\x6c\xa5\x5c\x2a\xe3\x45\x2b\x31\xfa\xc0\xbd\x7c\x79\xdc\xbf\xfe\x88\x89\x58\x95\xe5\xb1\x17\x25\x2c\x45\x5d\x51\xad\x6e\xa2\x38\x21\xe8\xc9\x54\x3b\xa9\xa4\x48\x4e\xf9\xaa\xb5\x5f\x80\xbb\x38\xe6\x24\x67\xf8\xb2\x62\xc9\x23\x92\xd7\x50\x01\xf7\x2a\x8d\xcb\xe9\x5f\x7e\x79\x00\x49\x09\x74\x42\xc9\x2d\x3f\xdb\x52\x61\xf8\x66\x4a\x53\x14\xe0\xc1\x3a\x4d\xf6\x85\x73\x88\xbc\x12\x11\x2d\x4d\xac\xbe\xad\xda\xa0\xb5\xf5\xd7\x44\xe3\xa8\xd7\x59\x27\xb4\x63\xa8\x3e\xfb\xad\x8b\x98\x8b\x12\xa5\x03\x33\x90\x5f\xc0\x1d\x3a\x2e\x31\x5c\xa4\xe6\x2b\x00\x4d\x22\xac\x30\xbc\x5a\x79\x78\x4d\x8d\x10\xbf\xb5\x7a\x0e\x02\x91\xb5\x2f\x93\xec\x44\x82\xd9\xd2\xf5\x35\xb0\x2f\x0f\x7d\xcb\xf9\x01\xdd\xba\xe1\x59\xab\x2b\x5e\xc1\x12\xb2\x46\x76\x2f\x9b\xdf\x9d\xa6\xc1\xcd\xc3\x8e\xba\x2f\xfb\xaa\x2e\x4b\x9e\xb1\x9e\xf1\x27\xb3\xcd\x97\xb6\xed\xd4\xdf\xb3\xa7\x95\x72\x39\x44\x52\xb6\xa1\x05\xb3\xb5\x5a\xf0\x71\xcc\x11\xb5\x19\xd6\x5b\xd9\x67\x32\x2e\xd1\x0c\x0f\xf0\x29\x72\x32\x8f\x9a\x37\x6a\x24\xae\x52\xaf\x86\xc7\xba\x12\xa1\x5a\xfb\xb4\x92\x17\x11\x17\xa4\x2c\xe3\xf4\x72\x47\x01\x81\x8c\x24\xdb\x05\x0e\xe9\xd0\x6e\xfb\x6b\x06\x5a\x99\x2c\xc9\x3a\xeb\xf7\x41\x84\x18\x25\xfd\x2f\xa8\x7b\x38\xb2\x0d\xed\xf8\x44\x06\x97\x66\x9b\xc2\x53\x7e\xfa\x54\x3d\x98\x8a\x9b\x15\xc5\x8d\xb7\x18\x3e\x0d\xe3\xb9\x89\xbb\x44\xf4\xd8\xf0\xe3\x2f\xba\xcd\x58\xc5\x3b\x35\x56\x9b\x47\xc1\x7f\x5e\x40\x8c\xf6\xc0\xdf\x28\x36\xa6\x1c\xd7\xbb\xc2\xf0\xd6\x64\x5f\xa8\x13\x66\x05\xda\xda\x52\x96\xc6\x34\xe9\x31\xe1\x15\xd5\x56\x77\x3e\x13\xf9\x9e\xdf\xbf\xb3\x81\xc1\xff\x94\x13\x99\xfe\x44\x5a\x63\xc9\x34\xd9\xaa\xb3\x41\xa7\x8c\x67\x5f\x7c\x34\xdb\xdc\x6a\x30\x65\x52\x69\x8f\xf1\x3d\x95\x6f\xa7\x50\xb8\x19\x10\x57\x3f\x71\xdc\x1e\x92\x7e\x6f\x48\x6e\xb1\x39\x2c\x4e\x97\xc4\xa2\x15\xa7\x2d\xe0\xd4\x88\x80\x50\x6b\xf8\xa1\x2e\x95\xd4\x09\x57\x8e\xcf\x0f\x81\x59\xda\x36\xfe\xfe\x5d\xe2\xe2\xd8\x36\x07\x6c\xa8\xbb\xe2\x25\x75\xbc\x02\x79\xe8\x6d\x0e\x65\xc1\xe6\xc4\xb2\x60\xce\x95\xee\x4c\xb3\x7e\xf8\x68\xea\x07\x25\x80\x5e\x0d\x8a\xd7\x46\x46\x7c\xb3\x4b\x3e\xad\x2d\x06\x79\x3e\xf9\xf9\xd7\x9f\x4e\xd1\x76\x81\x62\xf4\x59\xed\x88\xfd\x84\xa6\x1b\x84\xa3\x79\xe7\x3d\x58\xfa\x06\xdf\x87\x68\xe4\x84\x16\x6c\x17\x4c\x54\x99\xcb\xe3\x77\x29\x9a\x53\x0c\x31\x0a\x02\x88\x51\x42\x61\x0a\x29\x6f\x1a\x4f\x81\xf6\x59\xd9\x02\xc3\xd2\x45\x31\xda\x06\x1f\x52\xfc\xe2\xe7\xef\x9b\x78\x63\xca\x91\x90\x32\x0a\x31\xfa\x94\x33\x83\x8b\x61\x80\x9a\x2f\x05\x85\x39\x36\xd2\x17\x66\xb7\x4a\xf7\x14\x79\xf8\xc5\x29\x4a\x31\x84\xee\x37\xd4\xbd\xa4\xf7\xa1\xd1\x41\x7f\x2a\x2a\x0c\x93\x5f\xe1\x14\xc5\xe8\xf7\x1c\x32\x2e\x8d\x0a\x66\x18\x43\xe2\x22\x46\x7c\x23\x64\xf4\x3d\x0c\x81\xaa\xab\xc1\x05\xe2\x72\xf1\x60\x13\xbf\xdc\x74\xa6\x2f\xfe\xf1\x13\x0a\x9e\x97\xcf\x13\x8e\x5e\x1e\xad\xa9\x1f\x9b\x9a\x7a\x4c\x1d\x0f\x7d\xe4\x5d\x03\x31\xfa\xbb\xec\xa3\x0a\x43\x11\x19\x9c\xd9\x55\x16\x91\x2a\x43\x5b\x3a\xbb\x05\xa2\x0d\xc6\x48\x7d\xac\x9a\x29\x9b\x13\xa3\xa8\x00\x9b\x2d\xf4\xf4\x12\x54\xa1\x5d\x39\xdc\x54\x4c\x37\xa1\xa0\x28\x46\xef\x81\x46\x2d\x52\x60\x36\x49\x12\xf5\x91\x2a\x8c\x93\x02\x57\x70\x98\x72\xc7\xba\x94\x0b\xca\x3e\xc8\x96\x73\x55\x1b\xeb\x0a\xc8\x0a\x19\x36\x6e\x8e\x20\xef\x7c\xf6\x10\x15\x07\x56\x85\x93\x94\x46\xa3\x9c\x24\xfe\x85\xf3\xd1\x6b\x10\xa8\x56\x39\x48\xe4\x47\xf8\x3f\x07\xd2\xff\xe9\x42\x3f\x0d\xf8\x3e\x59\xf4\x38\xdf\x87\xd1\x74\x6a\x37\x21\x8d\x7a\x6e\x82\x14\x9c\xee\xc9\xc8\xae\xea\x18\x4d\x66\x59\x07\x5c\x99\x96\x7b\x08\xb5\x4e\x68\xce\x4d\xfd\xac\xe7\xda\x70\x06\x4d\x4e\xd9\x2a\x5e\x47\x39\x34\x4b\x5c\xb7\x65\x14\xa3\x4b\x23\x9f\x42\x31\x47\xfb\x33\x3d\x55\x36\xb8\x35\x07\x99\xbf\x2c\x47\x52\x94\x68\x7e\x9c\xcc\xea\x91\x22\x68\x9f\xb4\x10\xff\x46\x56\xd2\x86\x09\xfc\x0f\x7a\x62\x9a\xf3\x78\xa0\x24\x5f\xab\x6b\x11\xa1\x5e\xe7\x6b\x9e\x62\x77\x37\xf9\x01\x3f\xce\x37\x59\x4d\x2b\x46\xbb\x14\xde\x96\x70\x29\x8f\x55\x2f\xd7\x1f\x66\xf5\xcd\x16\x07\x84\xa9\x58\x2d\x73\xfd\xde\x79\x5f\x39\x3b\x26\xf8\xe2\x76\x4f\x48\x62\xbc\x91\xba\xac\x4c\xfb\x39\x59\x4b\x8e\x7c\xab\x53\x7d\x3f\xb2\x7f\x5a\x57\x73\x38\x4f\x36\xb5\x31\x61\xdb\xd0\x58\xfe\xa1\xa3\x87\xba\x85\x90\x8e\x5f\x85\xe1\x5e\x45\x57\x13\x1b\xf8\x95\x31\x3c\xa0\xab\xe6\x8f\x4c\xbb\xe1\x03\x43\xf7\x0e\x2c\xa5\xd1\xd2\x4c\x7e\x90\x66\xb2\x7b\xcf\x11\xfe\xf7\xea\xbb\xd0\x49\xc5\x93\x66\xa0\x36\xb9\x9f\xf2\x23\xc5\x21\xa7\x53\xa3\x72\xd2\x08\x96\x66\x3c\x15\xed\xa6\x9f\x96\x3c\xf1\x98\x85\x7d\x6b\x34\x2d\xeb\x6e\x9e\x75\x84\xb0\x93\x2c\x0b\x25\x82\xd6\x4c\xb2\x9e\x52\x4d\x3b\x64\xd7\xb2\xa8\x3d\xf5\x30\xd9\x53\x71\xb6\xfe\xae\xdd\x5d\x1e\xef\xae\x71\xd2\xe8\x72\x0c\x1d\x0d\x51\x6d\x68\xcd\xf1\x05\x9b\xe3\xf5\xcd\x12\xd5\x0d\x8e\x74\x08\x99\x43\x77\xe5\x1c\x22\x0f\x57\x1c\xec\x65\x3d\x83\x35\x8b\xdc\xb4\x07\x21\xd6\x18\xa3\x02\x96\xae\x0f\x33\xd7\xaf\xf1\x39\x80\xb5\xb8\xc6\x19\x80\x50\x5b\x01\x65\xd0\xa4\x3e\x30\x97\xb6\xde\x4e\x4c\xfa\xa9\x06\xb5\x19\x63\xf5\x04\x6e\x32\x4e\x88\x4b\xb8\x97\x57\xc2\x07\xa0\x18\xea\xe3\x10\xd4\xd7\xd5\x68\xb6\x51\x5e\x15\x5d\x53\x9a\xc1\x3d\xf3\x0d\x9d\xbd\x94\xfb\xf1\xdb\x29\xf0\x75\xc1\x2a\x54\x21\x01\x4f\xc0\x9c\x63\x67\x56\x21\xdc\x55\x0f\xd6\x20\x99\xe9\xc1\x1b\x95\xbb\x31\xfa\x92\x03\x01\x0f\x43\xe4\xc6\x88\x44\x40\x60\x36\x66\xe0\x34\xad\xbc\x8a\xa1\x16\xb5\x93\x37\x4d\x8e\x40\xe1\x26\x28\x43\xd6\x73\x14\xf9\x9c\x63\x86\x7f\xf0\x6b\xf8\x8d\x45\x09\xa9\x19\x4e\x78\xc5\xe7\x0a\xbd\xc3\x8f\x90\x19\x00\x4a\x05\xb2\x2e\x2f\x13\x52\x63\x75\x0c\xab\xe3\xb2\xa7\xf3\x61\x57\xe7\x75\x94\x0f\xe7\x10\x25\x7c\x6f\x54\x68\xbb\x56\x57\x83\xf1\xf1\x97\x2b\xab\x49\x99\x6a\x3b\x25\xf4\xcc\x9b\x8f\x31\x2d\x4b\xb8\xa7\xde\xdc\x49\xfa\xd6\xe4\xa8\xbc\x3c\xc8\x8a\x03\xd5\xb9\x42\x65\xae\xdd\x12\xbd\xca\x21\x04\x02\xec\x13\xa6\x39\xb9\x7b\xcd\x7e\xbb\x64\x3f\xa6\xe3\x74\x47\xd7\x18\x56\xfb\x2c\x54\x73\xdd\x60\x97\x2a\x10\x91\x4b\xdc\x62\xef\x95\xd4\x37\xc1\xdd\xdc\x2d\x51\x16\x35\xdc\xcd\x98\x5e\xcf\x05\x77\xf3\xd1\xdc\x35\x3a\xfc\x20\x57\x85\x99\xab\x93\x06\x23\x46\x30\x76\xe7\x96\x68\xa9\x31\xe6\xb7\x60\x64\xe0\xcc\xbd\x13\x4c\xde\x8d\x66\x52\xfb\xde\x39\x7b\x90\xcf\x54\xe3\xf3\x41\xe3\xdb\x1a\xe5\x6a\x10\xb7\x14\x84\x99\xe5\x38\x72\x4b\x14\xa6\xb0\x1f\x43\x8c\xa2\x14\xec\xb8\x3c\x61\x73\xba\x0d\x77\xfc\xe6\x4d\xf6\x48\x60\xb6\x9e\xd5\x7f\xf3\x0b\x95\xf8\x03\x0c\x5e\xdb\x0f\x55\x39\x16\xd2\x04\x7b\x6d\xec\x12\x3f\x45\x8b\x50\x2e\x44\x72\x92\xb6\x32\xea\xfc\x14\x5d\xab\x77\xa4\x03\x87\xe2\xa7\x28\x0f\x7b\xe9\x16\x59\xaa\x47\x7a\xe5\xa8\x6d\x9d\x52\xb7\x16\xcb\x92\x5a\x73\x62\x65\x29\xb1\xb2\xd0\x7a\x26\xf8\x79\x06\xd6\x33\x59\xfd\x33\x2b\x2b\xac\x67\xb2\xbe\x67\xd6\x7c\x49\xad\x1b\xaf\x7c\x66\xb7\x43\xab\xcf\x26\x36\x1b\x94\x15\x94\xcc\xbe\xbe\xf6\xfe\xb0\xbf\x3b\xf6\x9f\xe0\xa7\x28\x08\x99\x50\xd2\x14\xbc\x48\x0a\xa7\x14\x87\xe6\xcf\xf8\x6a\x39\x6c\x95\xff\xa1\xbf\xfa\x29\x4a\x42\xd5\x23\x71\x20\xbb\x43\xfc\x59\x43\x01\xd4\x4f\x53\x23\x00\x93\x9f\x72\x44\x32\x9b\x07\xc3\x2b\xc8\xd9\x9f\xfc\x7b\x85\x13\xc0\x5b\x81\x9b\x96\x71\xf8\x03\x1b\xde\x78\xf5\x43\x81\x6f\xd0\x7a\x54\xa3\x17\xb4\x9e\x2e\x6a\x58\x80\xcb\x14\xc5\x51\x8b\x2c\x4f\x86\x2c\x23\x8c\x21\x61\x02\xbb\x4e\x3b\x8b\xf5\xba\x4c\x37\x14\xc7\x74\x32\x30\x7f\x12\x78\xd4\xb3\xfb\xd3\x8d\x5d\x5f\x35\xd7\xa3\x26\xc8\xe5\xe3\xc8\x89\xfa\x2f\x53\x14\x32\xb6\xa3\x75\x3e\x0a\x23\x0c\xd7\xc6\xe5\xdb\x47\x32\x22\x5a\x2e\x46\xe3\x6c\xea\xd0\x54\x1d\x48\x1b\x19\x2e\x97\xe3\x56\x7d\xca\xff\x1c\xfb\x6d\x6d\x16\x66\x53\xe7\xef\x04\xd1\x89\x7c\x60\x3c\x51\x52\xc1\xe2\xf1\xed\x8b\x83\x86\xc5\x38\x18\xcb\x9f\xa6\xf2\xea\xe3\x06\x10\x63\x74\x3a\x81\x54\xfb\x9a\x82\x44\xc8\x18\xf9\x7d\x33\x40\x04\x81\x1d\x4f\xe4\x2b\x49\xd0\x90\x91\x54\xd4\x88\xd2\x68\x28\x10\x91\x91\x14\x9a\xa1\xc6\x5c\x10\xc2\xfd\xce\xeb\x08\xa8\x1e\x30\x35\x65\x52\xb3\x8e\xbb\x1c\xde\x61\x4c\x22\xbe\x27\x7e\x5b\x80\xfd\xa2\x9b\xeb\x43\x87\x47\x9a\x61\x10\x16\x93\x38\x30\xa8\xcd\x96\xbe\x8b\x41\xe0\x8b\x87\x62\xb4\xe7\x71\x88\x68\xbe\x53\x3c\xef\x6f\x9d\x8a\xd8\xd5\xb6\x8f\x16\x11\x2a\x30\x86\xf4\x11\x0c\xf6\xed\x4a\xc3\xca\x17\x0f\x79\xe8\xdc\x63\xce\x2b\x04\x11\xe7\xe2\x6e\x58\x42\x3f\x46\x38\x23\x25\x73\xc1\xb8\x8a\x22\x21\x9a\xb3\x1f\xc1\x94\x36\x9b\x36\xa2\x29\x4a\x64\xba\xe6\x63\x98\xa5\x5c\xb2\x74\x13\x0d\xdc\x05\x5c\x18\x21\x53\xb6\x83\xa0\x0e\x09\x77\x37\xc4\x49\x2b\xfc\x5b\xc7\xc1\x86\x62\xd4\x17\xa1\x21\xaf\x58\xdf\x08\x39\x55\x03\x55\xc3\x67\x01\xdf\xbd\xf5\x10\x91\x63\x4d\x1a\x47\x58\xb2\x87\x59\xeb\xc2\x71\x15\x0f\xf5\xd0\xc5\x10\x56\xaa\x45\x37\x8a\x0a\x83\x0f\x4b\x7e\x91\x84\xfd\xee\x6b\xf7\x68\x6c\xea\x5e\x79\xf2\xb4\x81\x5c\x42\xaa\x03\xb4\x12\x88\x8f\xb1\xe4\x90\x49\xb0\x2c\x38\xc8\x89\xe0\x47\x1d\x0d\xeb\x3d\x47\x5a\xf0\x46\x5b\x5f\xc8\x66\x3a\x31\x7a\x13\x42\x06\xa4\x31\x46\xa0\x08\x88\x77\x33\x68\x48\x76\x64\xb5\x2f\xcc\x11\x97\x54\x29\x24\xb5\x14\x92\x52\xc4\x94\xac\xb8\x00\xcb\xff\x52\x59\x89\x6e\x17\xd2\x28\x41\xa9\xc1\x1a\x72\xda\x93\x8f\x85\xa4\xc2\x95\x92\x4a\xdc\x43\x0f\x85\x18\x82\x35\x25\xf5\x9c\x49\x6a\x09\x49\x2d\x08\x5d\x58\x2f\xf7\xa5\x94\x9c\xb6\x12\x8f\x68\x70\x30\xd8\xe0\xd0\xd4\xe0\x0b\x2f\x89\x19\x99\xb3\x78\x41\x8c\x83\x55\x53\xbc\xc3\x10\x6e\xbd\x96\xe6\xd5\x15\x1f\x86\xf0\x2d\x34\x48\xc7\xc8\xcb\x61\x08\x87\xde\xb0\xf4\x77\xeb\xe9\xdf\xc4\x4f\xed\x09\x88\x46\xf1\xae\x21\xba\x7f\xd0\x69\xd8\x78\x6a\x87\x21\x1c\x85\x46\x5a\x92\x2f\xe9\x52\x18\xe9\x88\x77\x6d\x9e\x94\xc7\xd1\xe5\x68\x14\x9d\x9a\x9b\x0e\x15\x11\x9c\x6a\x65\xdc\xe4\x2d\x50\xaa\x07\x2c\x2d\xdf\xdb\xcd\x35\x83\x8b\x79\x7e\x45\xfe\x7c\x0a\x9d\x2c\xac\x7e\xfa\xcc\x31\x73\x57\x9d\xc8\xf5\xd0\x22\x10\xad\x34\x5e\x2b\xd4\xc4\x76\xf9\xee\xb2\x92\xc9\x14\x94\x8b\x8b\x2b\xbd\xae\x95\x8c\x47\x5d\xe9\xfd\x45\x56\x84\x58\xff\x0a\x23\x2d\x89\x5c\x70\x37\x7c\x1d\x3e\xc4\x0d\xc6\xba\x4c\xa4\xef\xfe\x03\x84\xf2\x58\x6e\x94\x75\x59\x93\x05\xb5\x86\x67\x3a\xb8\x46\x9d\x72\xb5\xe1\xa4\xfc\x16\xe7\xb5\xaa\xac\x2a\x0c\x5f\x23\xf7\x98\x4e\xb2\x25\xbd\xcc\xe2\xf4\xf2\x7d\x56\x50\x64\xe7\xa4\x28\xe3\x92\xee\xb5\x12\xf0\x6d\xe3\xc6\x6c\x85\xe1\x34\x32\xde\x80\x21\xfc\x87\x7a\xff\x39\xd3\x3d\x1a\x61\x45\xd4\x71\x0a\x47\xec\x73\x7f\x0a\x51\x31\x09\xb3\x62\x81\x5b\xb0\x19\xbe\x36\xdf\x2d\xc7\xee\xf4\x17\x70\x5f\xaf\x66\x9d\xab\x78\xcd\xfd\xd9\x8b\x04\x7d\xae\xf7\x67\xe7\x11\xa4\xe6\x4b\x4c\xbe\x46\x68\xa9\x99\x37\x93\xd7\x98\x15\x70\x92\xc0\x27\xda\x2a\x68\x4c\x5d\xae\xd6\x6c\xd4\x6e\x8c\xec\xdd\x6c\x99\x04\xfc\x2c\x78\xb9\x9c\x2f\x62\x6a\xd1\x88\x58\x4c\x82\xa0\x8e\xaa\x58\x71\xc9\xdf\xdf\x11\x6a\x5d\x33\xed\x9e\xd8\x18\x58\x09\xe7\x55\x2d\xed\x6e\xd0\x46\x7c\x29\xba\x48\xe5\x20\x66\x4c\x11\xcb\xee\x9c\x4c\xdd\xd9\xf0\x36\x7f\x6b\x83\x97\xc0\xd0\xd5\xf2\x72\x43\x9f\xd5\x8f\xc6\x6c\xcc\xb7\x84\x20\xe3\x58\xa5\x64\xfd\x98\xa8\x1d\xea\x83\x22\x5b\xd4\x68\x8b\xc3\x1b\x81\x85\xd8\x55\xcc\x8a\x01\x2d\xf0\xd0\xdf\x43\x7e\x95\x98\x48\xa5\xe3\x1a\x71\x42\xf0\xca\xea\xb6\xd3\x40\x9f\xfd\x0d\xb5\xde\xf3\x0e\xf0\xd0\x6f\x3a\xed\x6c\x32\xfb\x19\x83\x8c\x39\x1c\xc4\xd0\x34\xf2\x20\xae\xfa\x51\x8e\x7a\xec\xac\x6e\x9b\x87\xee\x98\xfa\x66\x03\x76\xe4\x22\x41\x1f\x85\xa2\xe3\x76\xef\xf3\x3a\x4c\xf1\xed\x6c\x54\x7c\xbb\x00\xd1\xc6\xdf\x43\xa4\x2e\x62\x53\x3b\xb8\x59\x01\x67\x6c\x40\x5c\x24\x28\x4d\xd8\x72\xc8\xb4\x4e\x2f\xba\x29\x09\xd7\x71\x2d\x6b\xe5\x45\x6a\xe6\xa2\xe3\xfb\x86\xa3\x18\xac\xc3\x3b\xab\xf7\x96\x2f\x12\x44\x92\x56\xac\xa6\xb1\xa6\x65\x9d\x74\x7d\x1d\xa0\x90\x35\x54\x9f\xf1\x07\xda\x66\xe0\x81\x8f\x65\x2f\xe5\x23\x35\x88\xcb\x3c\xf1\xee\x2c\x4f\xa1\x78\x6e\xcb\x5b\xb2\x1e\x3f\xa2\x39\x05\x1e\x47\x28\xa5\x28\xc7\xc4\x4d\x1a\xf6\xb2\xf5\x72\x6a\x45\xd7\xc7\xe8\x26\x12\x7a\x27\x99\x7a\x40\xb7\xd9\x5c\x74\x1b\xb9\x86\x64\xbe\x8f\xcd\xe4\x42\xd6\xcb\x7f\x35\x0e\x6b\x71\x4e\x8e\x54\xa6\x2b\x25\xd4\x19\xba\x0a\x89\xd4\xd8\x0a\x76\xa2\xce\x71\xf1\x45\xd8\xb7\xf3\xd7\x86\x67\x79\x6f\xa5\x5d\x55\xb0\x3d\xb4\x4d\x13\xa3\xdb\x88\xdf\xe7\xa2\x2c\x20\xf5\xe6\x4e\xa1\x04\x55\x3a\x04\xfc\x6c\x99\x52\xe7\x0b\x22\x7c\xd6\x3e\x5e\x1d\x32\xa6\xc6\xfc\x15\x75\x50\xbe\x35\xb8\xc7\xd9\x5a\xe6\xf2\x7e\xf3\xcc\xa9\x0b\x9f\x61\x3b\x42\x14\xc3\x4e\x84\x2b\xf0\x9b\xb1\x6e\x34\x58\xa3\xd2\x55\x0a\x3d\x80\x26\x23\xb8\x85\x06\xac\xdf\xc8\xe5\x2a\x06\x33\x66\xac\x8a\xc9\x7a\xe8\x2c\x62\xeb\x7b\xb8\x09\x95\x89\x93\x85\xf7\x48\x49\x8b\xec\xee\x61\x43\xda\x12\x87\xb9\xb2\x43\xc4\x93\x78\xe2\xa0\xdb\x74\x73\x25\x56\x8c\x8e\xe8\x1f\xf6\x13\xfb\x4f\x30\xca\x7a\x75\xab\xda\x7a\xe6\xa1\x4b\xd6\x40\x9e\xb0\x72\x87\xce\x42\x93\xa3\xe2\x4f\x66\xd3\xf6\x7c\x9c\xea\xb3\xb0\xcd\xa7\xdf\xa1\x73\x39\xc6\x28\xe9\x52\x44\x49\x07\x09\x02\x11\x1c\xb5\x7a\x6d\xe6\x2e\xf9\x3c\xc4\x7e\x8c\x09\x02\xb6\xd4\x60\xa6\x99\xe9\xbb\x10\xc2\xb5\xe2\x7c\x85\x88\x01\xfb\xdd\x10\xdf\xc9\xf0\xde\x20\x35\x6e\xc5\xad\x3d\xf7\x12\xe1\xc3\xef\xd7\xda\xf7\x57\x8d\x71\xda\x8f\x63\xff\x1b\x14\xfa\x49\xb7\x0e\xdd\x2f\x20\x81\xcd\xcf\x57\x69\x6e\x41\xda\x1c\x56\x6b\xf6\x0d\xd7\x75\xd5\x9d\xa3\x18\x65\xf5\x3c\xd1\x9a\x98\x4f\x42\x31\xfb\x92\xa1\xd9\x57\x3b\xd0\x82\xa1\x93\xaa\xf0\x44\xa4\x0e\xac\xe7\x62\x73\x41\x37\x73\x56\x47\x1c\xaf\xd3\x98\x6a\x27\xac\xff\xa2\xb0\xa7\xca\x56\x75\x14\x66\x2d\x05\x7f\x80\x78\x6b\xf8\xb7\x5d\x70\x0e\x86\x8d\xf9\x80\xd8\x67\x0b\xcf\x24\x85\xd3\x64\x20\xc0\x2d\x51\x11\x65\xf4\xf4\x48\x86\xc8\xbf\x0e\x15\x57\xd1\xc9\xe6\x09\x07\xfc\xe2\x91\xce\x7d\x1e\xe9\xdc\x8d\xdc\x00\x79\x29\xdc\x28\x12\x02\x93\x59\xff\xa4\x86\x1a\xee\x3d\x3c\x2f\x49\xa1\x3f\xac\x81\x61\xf5\x87\x0a\xf0\xb4\x15\xa7\xd7\x8a\x61\xb8\x8a\xdc\x10\x95\x29\x9c\x29\x1e\x04\xa6\xce\xa7\xed\xa3\x43\xfd\x23\x01\xf9\x63\x20\xf3\x3a\x0d\x33\x1b\x76\xa3\x3a\xc8\xac\x43\xfb\xd8\x90\xa7\xe8\x88\xb7\xf5\x20\x72\x45\x01\x11\xfd\xbc\x8a\x30\x1c\xae\xf0\x08\x46\x07\x4c\xcc\x21\xe0\x4a\xc4\x7c\x2e\x3c\x20\x70\x10\xb5\xa3\x12\x05\x7c\xf1\x50\xca\x83\x11\xaf\x57\xd9\x40\xe9\x59\xb3\x95\x8e\xa8\xa4\xd9\x5a\x7e\x48\x1d\x05\x40\xe1\x7d\x83\x34\x24\x4c\xd7\xca\x34\x57\xb9\x1e\x3b\x64\xc3\xc0\xe0\x6b\xec\x25\x68\x3b\x91\xcb\x95\x0a\xc3\xbb\x21\xd9\xf1\x2b\xbd\xf9\x8d\x56\x73\xaf\x24\xef\x3d\x1a\xf1\x0b\xbc\xbd\x3c\x3e\x2f\x12\x58\x36\xb6\x7d\xa9\xdb\xf6\x63\xef\x3a\xbe\xf4\x28\x39\xcb\xf4\x14\x32\x39\x69\x25\x6e\x88\x66\x11\x64\x21\xa4\x1a\x1e\xc2\x0c\x7c\xc8\x30\x88\xdc\x39\xc8\xd9\x8f\x31\x13\x5b\x2a\xad\x39\xa3\xe1\x04\xc0\x4f\xe1\x3a\x1f\x13\x34\xc3\x32\xd5\x4c\xcd\x76\xb9\x5a\x69\xd6\xac\x69\xb0\x0b\xb6\xdc\x29\xe2\xfc\x5d\xbb\x21\x3a\x8e\xe0\x8c\xf1\xa7\x81\x2f\x00\xf7\x0d\xb0\xc8\x5d\xda\x14\x99\x4c\x23\x39\xd4\xa8\x38\x97\x92\xc7\xdf\x13\x14\xd5\x3c\xea\xc9\x43\xe7\x09\xe4\xb8\xcf\xac\xd0\x99\x11\xf6\x2b\x85\x7b\x51\xc3\xb7\xa4\xbb\x50\xdc\x4b\xd0\x4e\xd2\x24\x7e\xf5\x44\x21\xec\xaf\x48\x8e\xe2\xa2\xb8\x73\x3d\x74\x12\xc1\x71\x88\xe6\xb8\x91\x06\x2b\xc6\x24\xf1\x55\x64\x22\xe5\x63\x33\x91\x6a\xce\x5e\x25\x8c\x9e\x46\xcd\xf9\xaa\x09\xe0\x83\x59\x00\x2d\xd0\x0b\xc1\xe5\x29\xe7\x72\x9d\x9a\x3f\x25\xe8\x54\x5f\x3f\x9b\x57\xa9\x31\xa2\x09\xa4\x3d\xd4\x0c\xb6\x70\xfd\x44\xd1\xe9\xb0\x00\x15\x78\x86\x60\xef\x76\x6d\xf6\xde\x26\xe8\xd6\xb4\xbc\x2f\xd8\x73\x53\xc7\x29\x30\xab\xb5\x14\xe3\x73\xd2\x3b\xff\x10\xc4\x05\xf1\xa9\x1a\xac\x83\xb4\xd2\xde\xf4\xd7\x4a\x92\xc5\x9d\xc3\x09\xfc\x02\x37\x2e\x8a\x1d\xa1\x4f\xdb\x6e\x2a\xbd\x58\x38\x76\xf9\xf2\x72\x5e\xa0\x1d\x5c\x27\xfd\xee\x8c\xd9\xb6\x4a\x95\x2f\xdb\x3c\xda\x96\xfe\xcb\x71\xd5\x5d\x35\x1c\x67\x59\xfe\x50\x83\x3a\x59\x8c\xed\xa1\x66\x79\xe8\x75\x04\x9c\xfb\x14\xfc\x96\x23\xbf\xad\x0c\x8f\x68\xe3\x89\xb0\x6b\xa2\xa8\x66\xd9\xea\x26\x4b\x03\x77\x22\x06\xcd\xc9\x63\x0c\x5c\xdb\x96\x49\x7e\xbb\x76\x6c\x5f\x18\x30\xc9\x88\x6e\xc2\x6a\x56\xa4\x25\xdb\x17\xac\xec\x3f\xce\x92\x0d\x18\xad\x16\x57\x8d\x49\x39\x12\xb6\xa4\xcd\x55\x63\x4a\x8e\x04\x2b\x47\xeb\xb2\xb2\xd2\x7c\xb4\x58\x61\x83\x53\xb0\xb2\xeb\x96\xe8\xb4\xcb\x0a\x7b\x2d\xe4\x72\xe0\xee\x0a\x66\x76\xd7\x65\x86\xd1\x70\x0e\xda\x9d\xb4\xa3\xa1\x59\x1c\x66\x5e\x30\xee\xc0\x45\x0a\xf7\x3a\x0c\x86\xb3\x34\x9d\x88\xd2\x41\x31\xd6\x22\xdd\xc6\xd3\xe8\x10\x1f\xef\x2a\xa7\x70\xdf\xb6\x91\x6d\x4a\xcc\xb1\x78\x13\x99\x20\x99\x02\x44\xb1\x19\x90\x69\x08\x0a\xe9\x20\x41\x7d\xc4\xa4\x3e\x22\xd3\x3b\x53\x31\x33\xa4\xd1\xeb\xa1\xa2\x3d\x4c\xa5\xc3\x56\x49\x13\xba\xd3\xfb\x36\x2d\x03\xaa\xd4\x55\xb2\x0a\x0f\x69\x37\xe9\xa6\x9d\xbe\x49\xaa\x0a\xde\x0f\x7b\xb4\x6f\x28\xd8\x36\xc4\x68\x99\x4a\x47\x39\xe8\x44\x98\x98\x67\x4d\x65\xae\xd2\x1b\x0a\x4f\xa6\x7a\xe1\xbc\xc8\x82\x25\xa7\x2a\x32\x70\x59\xc1\xcc\x7d\xe7\xa1\xf4\x65\x31\xc9\x3d\x1a\x89\xc3\x37\x11\xa5\xb9\xf3\xe2\x45\x92\xf9\x5e\x12\x65\x25\x75\xfe\xb9\xf9\xcf\x7f\xbc\xb0\x31\xf8\x6e\xbb\xe0\x0b\x9b\xb9\x82\xe2\x36\xad\x7e\x64\x63\x69\xbc\x41\xb1\x25\xc7\xd5\x9d\x4f\xd9\x34\xda\x11\x10\x29\x2b\x2d\xe7\x20\x46\xef\x22\x78\x13\x31\x06\x8e\x13\x74\x19\x62\x74\x1b\x62\xf4\x36\xc4\xc8\x0b\x31\x5a\x62\x34\xc3\xe8\x36\xc1\xa8\x61\x1a\xa3\x0c\x23\x1f\xa3\xab\x58\xfc\x4f\xb8\x07\xbf\xc7\x96\x15\xc5\x12\xde\x44\x70\x1f\xa7\x31\x75\xde\x47\x20\x94\xdd\x79\x17\xc1\x35\xb3\x35\xbf\xe5\x50\x2e\xe7\xf5\x6d\xb3\xa5\x73\x87\x0e\x28\xae\x30\x22\x29\x86\xf3\xc8\xbd\xaf\xb6\xe2\x10\x9d\x47\x93\x23\x2f\x4e\x5d\xf9\xf3\xfb\xf7\xfb\x0a\xae\xb3\x38\xb0\x36\x9f\xb8\xee\x5e\xf4\xf4\xe9\x5e\xa4\xca\x80\xcd\xfe\xb5\xe5\x6b\x0c\xb6\x12\xa0\xed\xba\xf4\x2e\x27\x59\x68\x05\x24\x8c\x53\xf2\xf4\xa9\xf8\x39\xf1\x16\x01\x16\xbf\xa2\x3f\xfe\xec\x5f\x74\x6f\x9d\x47\x15\xde\x22\x49\x49\xac\x38\x44\x76\x36\xff\x42\x7c\x6a\x3f\x51\xc4\x16\x59\xb0\x4c\xe4\xc2\xe4\x22\x72\x69\x14\x97\x93\xfd\x64\xc1\xb8\xae\x39\xbc\x88\x70\x98\x15\x88\x15\xf9\x10\x59\x31\x23\xc9\x4f\xb3\x8b\x3f\x2e\x22\x4c\xa3\x22\xbb\xb1\x52\x72\x63\xed\x17\x45\x56\x20\xfb\x2c\x22\x05\xb1\xbc\x82\x58\xf4\x26\xb3\xf6\x93\x85\xac\xa7\xb4\x7c\x2f\x49\x48\x60\xfd\xcb\x7e\xfe\x21\x7a\x6e\xff\xcb\xca\x52\x71\xab\x5d\xee\x5d\x92\x27\xd6\x09\x61\xbd\xa1\x72\xa7\x69\x44\x16\x13\x1b\x6f\x5d\x44\x7f\x7c\x88\xfe\x74\xcf\xf9\x8f\x8a\x37\x45\xf1\xe9\x9e\x47\xe2\x81\xa0\x3f\x21\xb7\x79\x56\xd0\x92\x3d\xc6\x13\x56\x17\x62\x25\xf1\xd6\xff\x05\x00\x00\xff\xff\x74\xa0\x08\xe0\xce\xea\x02\x00") - -func uiAppScriptJsBytes() ([]byte, error) { - return bindataRead( - _uiAppScriptJs, - "ui/app/script.js", - ) -} - -func uiAppScriptJs() (*asset, error) { - bytes, err := uiAppScriptJsBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "ui/app/script.js", size: 191182, mode: os.FileMode(420), modTime: time.Unix(1, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -var _uiAppIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x53\xc1\x6e\xdb\x30\x0c\xbd\xf7\x2b\x58\x5f\xe2\x60\xb6\x8c\xde\x86\xce\x0e\x30\xb4\x3d\xf4\x30\x6c\xc0\x7a\xd9\x91\x91\x68\x5b\xab\x2c\x19\x22\xdd\xa0\x28\xfa\xef\x83\xec\xa1\x89\x33\x04\xd3\x25\xa2\x48\xbe\x3c\xbe\x67\xd6\xd7\xf7\xdf\xef\x9e\x7e\xfd\x78\x80\x5e\x06\xb7\xbb\xaa\xd3\x0f\x38\xf4\x5d\x93\x91\xcf\x76\x57\x00\x00\x75\x4f\x68\x96\xeb\x1c\x0e\x24\x08\xba\xc7\xc8\x24\x4d\x36\x49\x5b\x7e\xce\xce\xd3\x1e\x07\x6a\xb2\x17\x4b\x87\x31\x44\xc9\x40\x07\x2f\xe4\xa5\xc9\x0e\xd6\x48\xdf\x18\x7a\xb1\x9a\xca\x39\x28\xc0\x7a\x2b\x16\x5d\xc9\x1a\x1d\x35\x37\x05\x70\x1f\xad\x7f\x2e\x25\x94\xad\x95\xc6\x87\x53\x78\xb1\xe2\x68\xf7\xd5\x51\x94\x01\x3d\x76\x14\xeb\x6a\x79\x5b\xc8\x56\x47\xb6\xf5\x3e\x98\xd7\x93\x56\xd6\xd1\x8e\x72\x7c\x48\xa7\xaa\xe0\xb1\x05\xe9\x29\x12\x58\x06\x1f\x40\x22\x5a\x67\x7d\x07\xec\x90\x7b\x40\x49\x59\x20\x6f\x20\xcc\x85\x30\xa2\xf4\x60\xfd\x7c\x9f\xa2\x2b\xce\xf1\xd0\x18\x08\x9e\x14\x3c\xf5\x96\x81\x3c\x4f\x91\x18\x90\x99\x84\xc1\xd9\x67\x82\x85\x88\xfa\xcd\x80\x91\xc0\x05\x34\x64\x60\x8c\x61\xa4\xe8\x5e\x57\x70\xb6\x85\xfc\x60\xbd\x09\x07\xe5\x82\x46\xb1\xc1\xab\xf4\xff\x49\x5f\xc5\xd3\x9e\x25\xe6\xe5\xcd\x16\xae\x1b\xd8\x54\x9b\x2d\xbc\xad\xba\xd3\xb9\xd4\x0d\xcd\xe5\xd4\xa7\x04\xf6\xe5\x1f\x28\x1d\x3c\x07\x47\xca\x85\x2e\xdf\xa0\x49\xa4\x67\x8d\x36\xdb\x75\xed\xfb\x51\xf2\xea\x5c\xf3\xbf\x26\x00\x47\xdd\x64\x1f\x3a\x64\xbb\x8b\x95\x6b\xbb\x5e\x30\x02\x8e\x23\x34\xf0\xe0\x06\xf5\x0d\xad\x57\x34\xec\xc9\xe4\x26\xe8\x69\x20\x2f\x2a\x79\x5e\xc0\x5b\x92\xd3\x4c\x3a\xcd\x75\x0b\x12\x27\x2a\xc0\x50\x8b\x93\x93\xbb\x48\x28\x21\xde\x9e\x8e\xef\x7e\x4a\x88\xd8\x91\xea\x48\x1e\x85\x86\x7c\xb3\x2e\xde\x6c\xe1\xfd\x6c\x48\x1c\x47\x95\xbe\x6d\x56\x23\x45\xb6\x2c\xf7\xab\x8e\xd9\x1c\x1d\xed\x9e\xf2\x76\xf2\x33\x8f\x3c\x69\xfb\x1f\x8b\x3e\x88\xf0\x05\x22\xc5\xbc\x5a\xe7\x82\x9f\xc4\x6b\x21\xeb\x6a\xd9\x81\xba\x5a\x16\xfc\x4f\x00\x00\x00\xff\xff\x28\x2e\x82\x1a\xf1\x03\x00\x00") - -func uiAppIndexHtmlBytes() ([]byte, error) { - return bindataRead( - _uiAppIndexHtml, - "ui/app/index.html", - ) -} - -func uiAppIndexHtml() (*asset, error) { - bytes, err := uiAppIndexHtmlBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "ui/app/index.html", size: 1009, mode: os.FileMode(420), modTime: time.Unix(1, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -var _uiAppFaviconIco = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x5b\x09\x90\x54\xc5\x19\xee\x75\x51\x52\x49\x2a\x50\xb1\xd4\xc4\x4a\x0a\xa2\x52\xae\x8b\xe2\x62\x84\x12\x63\xc4\x44\x4a\xc5\x83\x63\xb9\x2f\x05\x05\x01\x21\x20\x82\xa0\x08\xb8\x01\xc1\x8b\xa0\xd1\x35\x8a\x28\x02\x1e\x1c\xde\x8b\x88\x68\x8c\x8b\x80\x1a\x4e\x2f\x64\x41\x81\x15\x99\x99\x9d\x6b\x67\x76\x76\xae\x9d\x99\x37\x5f\xea\xef\xe9\x1e\xde\xbc\x9d\xf7\x5e\xcf\xb0\x5a\xf9\xaa\xfe\x7a\xbb\x33\xaf\xbb\xff\xee\xfe\xef\xee\x61\xac\x84\x95\xb2\x8e\x1d\xe9\xd9\x99\x4d\x6a\xc7\x58\x4f\xc6\x58\xe7\xce\x99\xff\xd7\x75\x64\x6c\x65\x3b\xc6\x2a\x2a\xc4\xff\x5d\x18\xbb\xe6\x0c\xc6\xca\x18\x63\x1d\xe9\x3d\x96\xf9\x9c\xa3\x1d\xb3\x04\x80\xf6\x00\xfa\x02\x58\xa7\x69\x38\xee\x0b\x68\x49\x7f\x50\x4b\x6a\x1a\x8e\x01\x78\x09\x40\x1f\x00\xa7\x99\xb4\xfd\x2d\x80\x6a\x00\x81\x58\x4b\x1a\xcf\xbe\xd6\x8c\x01\xd3\x3d\x18\x38\xc3\x83\x55\x6f\x87\xd1\x92\x48\x03\x80\x1f\xc0\x3f\x00\x9c\x91\xa7\x6d\x0d\x04\xea\x8e\x26\x30\x66\xae\x0f\x95\x33\x3c\x9c\xc6\xce\xf7\xe1\xc8\xf1\xa4\xfc\x9a\x3a\xda\x20\xfb\x20\x7e\x00\x3c\x49\x5f\xa4\x34\x60\xe3\xd6\x28\x1e\x7f\x29\x84\x07\x9f\x6f\xca\x21\xfa\x6c\xf3\xf6\x28\xb4\x74\xb6\x8f\x87\x01\xb4\x03\x70\x3d\x80\x46\xfa\x30\x91\x4c\x63\xd1\xb3\x41\x0c\xbe\xcb\x8b\x61\x77\xe7\xd2\xa0\xbb\xbc\x78\xe4\x85\x26\x3e\x86\x80\x1b\xc0\x55\xb4\x56\xf2\x83\xe6\x48\x1a\x6b\x37\x87\xf1\xd4\xba\x10\x9e\xde\xd0\x9c\x43\xf4\xd9\xfa\x2d\x11\x44\xa2\x69\xe8\xb0\x02\xc0\x0f\xf2\x9f\xd5\x35\x61\x5c\x3a\xdc\x85\x8a\x21\x4e\x74\x1d\x98\x4b\x97\x0c\x73\xe1\x8f\xc3\x5d\x78\xe5\xdd\xb0\xbe\xfd\x41\x00\x49\xc9\xfb\xbb\xdb\xa2\x78\xf3\xc3\x08\xfa\x4d\xf3\xa0\x7c\xa0\x13\x17\x56\x66\xa8\x7c\x80\x13\x93\x16\xf9\xf9\xda\xd0\x3b\xc9\x54\xb6\x7d\x48\xb6\x97\xd8\xb5\xbf\x05\x3d\x46\xba\xd0\xb5\x32\xb7\xfd\x8d\x53\x3d\xf0\x34\xa6\x60\x00\xb5\x3f\xa6\xff\x60\xc7\xbe\x38\xba\x0f\x33\xb4\x1f\xe8\x44\x9f\xdb\xdd\x70\xb8\x5b\xb5\xaf\x03\xf0\x8a\xfe\x83\x1f\x1a\x52\xb8\x76\x92\x1b\x17\x0d\xca\xcc\xfb\xb2\xd1\x2e\x74\x1f\xea\xc2\xad\x0b\x7c\x88\xc6\xd2\xc6\xf6\xcb\x01\x5c\x0b\xc0\x27\x3f\xa0\xfd\x99\xfb\x44\x00\xe3\xab\xfc\x7c\xcd\x06\xcf\xf4\x72\xde\xdf\xf8\x30\x62\x6c\xeb\x02\x70\x25\x80\x53\x01\x3c\xa6\xff\x82\xd6\x88\x64\xe5\xea\x09\x6e\x3c\xb4\xb2\x09\x8f\xbd\x18\x82\xc3\x93\xc3\x3b\x31\xb2\x18\x40\xa9\x90\xc1\xb3\x00\xbc\x2e\x3e\x47\x24\x96\x86\xb7\x51\xc3\xcd\xf7\xf9\xb0\x7b\x7f\x0b\xbe\x77\x26\xf5\xbc\x93\x04\xbd\x0c\xe0\x74\x83\x0e\x9c\x09\x60\x99\xd0\x11\xbe\x47\xaf\xff\x3b\x02\x7f\x50\xd3\x8f\xeb\x01\xf0\xa0\xb1\xad\xae\x8f\xd3\x84\x8e\xae\x01\x70\xa4\x25\x91\x8e\xa6\x34\xd0\xc4\xbf\x03\xf0\xbc\x90\xd7\x53\xf5\x6d\xe2\x9d\x18\xab\x6f\xcf\x58\x6d\x29\x63\x55\x25\x19\x32\x83\xfc\x9e\xde\xa5\x36\xd4\xb6\x4c\xd8\x98\xab\xf4\x76\xa6\xa3\xb5\x9d\x31\x83\xd0\xc7\x72\x00\xd3\x00\xbc\x01\xe0\x90\x90\xb1\x94\xa0\x20\x80\x03\x42\xe7\x26\x02\x38\x4f\xee\xc1\xc9\x40\x8c\x7b\x19\x80\x67\x00\xd4\x8b\xb1\x38\xc8\x6e\x35\x36\x69\x08\x84\x34\x24\x93\x39\xf2\x97\x00\xf0\xad\x90\x9d\x0a\x00\xa7\x14\x39\xf6\xef\x84\x4d\xf4\xea\x3b\x8f\xc6\xd3\xa8\xa9\x8d\x62\xca\x12\x7f\xc6\x8e\xde\xe9\xc1\x8c\x47\x1a\xf1\xc1\xa7\x31\x69\x4b\xf5\x70\x00\xa8\x32\xda\x55\x85\xb1\x69\xce\x3b\xa4\xdc\x4a\x90\xfd\x26\xb9\x27\x3b\x54\xd6\x3f\xa3\xff\x44\xf4\x37\xd9\x27\xb2\x67\xc9\x56\xaa\xcc\xe5\xfa\x3d\x00\x17\x2a\x8e\xdd\x47\xac\x5f\x2b\xbc\xff\x49\x0c\xdd\x06\x67\xc6\xbb\xc0\x40\xe7\xf7\x73\xa0\xc7\x08\x17\x76\x7e\xd5\x92\xaf\x29\xe1\x73\x00\x3d\x15\xe6\x9d\x77\x6c\xc2\xab\xef\x47\x70\xcb\x3c\x1f\xb7\x39\xf9\x88\xfc\xd1\x96\x4f\x62\x66\xcd\x09\x7b\x01\x74\xb5\xd8\xef\xed\xc6\x06\xcd\xd1\x34\xdc\xfe\x14\xb7\xb1\x64\x6b\x8e\xb9\xac\xc9\xe9\xc9\xbc\xeb\xf1\xa7\xb8\xbd\xc9\x83\x8d\x00\x7e\x6d\x18\xbb\x14\xc0\xd2\x7c\x2f\x3f\xff\x66\x33\xb7\xbb\xd7\x4f\xf1\xe0\x06\x45\xa2\x77\xfb\x4e\x76\x73\x3b\x95\x07\x24\x0f\x73\x0c\xe3\x5f\x2e\x6c\x58\x2b\x90\x6f\x3d\xf7\x06\x07\xdf\xdf\x42\xa8\xcb\x8d\x0e\xce\xbb\x09\x8e\x92\x3d\xd1\xcd\x7d\xb9\xd9\x8b\x34\x87\xdb\x17\xfa\xb9\x9f\x2c\x84\x26\x2e\xf4\x73\x9d\xb4\xc0\x03\x62\xfc\xae\x82\x9f\xbc\x20\x7d\x27\x1b\x53\x0c\x91\xbe\x5a\xe0\x0b\x21\x73\xd3\x8c\xbe\x5e\xc2\xdf\xa4\x61\x5e\x75\x00\x23\xe6\x78\x31\xea\x9e\xc2\x88\xda\x2c\x5e\x11\x44\x28\xac\x99\x4e\x0d\xc0\x50\x61\xcf\x5b\x41\xd3\xc0\xfd\x2b\xf9\xfa\xac\x9e\x0f\x28\x80\xfa\x67\x62\x8c\xe5\xaf\x35\x23\x6d\xbe\x0c\xd5\x22\x56\x6a\x85\x9d\x5f\xb7\xf0\x18\x83\x64\x89\x78\xa0\x58\x83\x62\x8f\x0b\x2b\xad\xe9\xe2\x21\x4e\x5c\x3c\x38\xc3\x03\xb5\xed\x3d\xae\x01\xfb\x0f\x27\xcc\xc6\xdf\x26\xfc\x58\xee\xdc\xd3\xc0\xd2\x55\x4d\xa8\x9c\xe1\xc5\xbd\xff\x0c\xe0\xc5\x77\xc2\x98\x5f\x1d\xb0\x1d\x9f\xf8\xec\x33\xc1\x8d\x35\x1b\xc3\x78\xe2\x95\x10\xa6\x3e\xd8\x88\x9b\xfe\xe6\xc1\x33\x1b\x4c\xf5\xe0\x88\xd0\xc7\x56\x6b\x4f\xb6\x26\xd8\xac\xf1\xb5\xf3\x06\x34\x1e\xeb\x92\xad\xb7\x9b\x3f\xf1\xf8\xc2\x5b\x99\x58\x34\x99\x4a\xc3\x17\xd4\x78\x5f\x26\x7b\xe0\xd5\xfb\x54\x33\xbc\xb7\x23\xc6\xd7\xd4\x6e\x6c\x22\x5a\xf7\xd1\xf7\xfa\x78\xcc\xad\x00\x1a\xbf\xc9\xee\xa5\xea\xb5\x21\xde\xaf\xca\xf8\xb4\x07\x14\x1f\x92\x2d\x56\xc0\x61\x11\xb7\x58\x62\xd9\x9a\x50\x56\x9e\x55\xc6\xef\x7d\x6b\x83\x3e\x2f\xb2\x42\xad\xc8\x99\x2c\xf1\xf2\xa6\x30\xef\x57\x65\x7c\x92\x91\xeb\x26\xbb\xd1\xe0\x53\x9a\xff\xe3\x00\xee\x30\xb3\x3f\x12\x7b\xbe\x69\x41\xcf\x51\xae\xbc\x3c\x50\x3e\xd1\x6b\xb4\x8b\xc7\xf4\x7c\xff\xfb\x3b\x31\xe1\xef\x7e\xc4\xad\x6d\x1f\x81\x9c\x53\x25\x80\x32\x11\x07\x9b\xa2\x29\xac\x61\xe4\x3d\x5e\x2e\x03\xa4\xdf\xdd\x06\xe7\xe6\x30\x43\x67\x79\xb9\x9e\x4b\xfe\xd6\xd4\x84\x55\xe6\x4e\xb1\xc0\xd9\x14\x1f\xca\x3c\xd5\x0a\xff\x5a\x1f\x42\x59\x7f\x07\xcf\x5b\x28\x07\x96\xba\x48\xcf\x99\x4b\x33\x7a\x4e\x71\x11\xc5\x84\x4e\x8f\xd2\xda\x2f\xd0\xf9\xdf\x1e\x22\xef\x31\xc5\xbe\xba\x16\x1e\x5f\xcd\x5e\x16\xc0\xda\xcd\x11\x5c\xa4\x9b\x3f\xe5\xb0\x94\x57\x11\x2f\x64\x7b\x14\x40\x31\x56\x17\xdd\xf8\xa7\x88\xbc\xc9\x14\xe4\xcf\x28\xd6\x7d\xe1\xed\x30\xaf\x03\x5c\x7e\x73\x66\xbd\x29\xf7\xa5\xdc\x92\x7c\xcd\x5f\xc6\xbb\x79\x4e\x65\x03\x7a\xe1\xce\x3c\xf1\xd7\x6f\x00\x7c\x68\xd6\x88\xec\xc9\x7d\x4f\x06\x70\xf8\x87\x24\x7c\x01\x0d\x37\x4c\xf5\xa0\xac\x9f\x03\x43\x66\x79\xb9\x7c\x6c\xda\x16\xe5\x3e\xdf\xc6\xe7\x12\x5e\x05\xd0\xc1\x24\x06\xec\x0e\xe0\xeb\x7c\x8d\x48\x9e\xeb\x9d\x49\x1e\x90\x87\x22\x1a\x86\xde\xed\xe5\xfe\x85\x6c\x13\x81\xe2\x3d\xf2\x75\x36\x72\xff\x29\xe5\x46\x36\x31\xf0\x15\x66\x3c\x64\x79\x49\xa4\xf9\x7e\x93\x7f\xfc\xfa\xdb\x13\xbe\xcd\xe5\x4d\xe5\xcb\x41\x24\x3e\x03\x70\xb1\xd5\xd8\x3a\x1e\x28\x6f\xfa\x20\x9f\x6f\x92\x20\x9f\x46\x31\x46\x73\xd4\x76\xbd\x93\x22\xc6\xe8\xa2\x32\xb6\x8e\x87\x33\x45\xee\xe4\xc8\xd7\x29\xe9\x58\xf5\xba\x90\x9d\x9f\xa1\xb8\x6e\x26\x80\xa2\x32\x5f\xa1\x17\x15\x22\xff\xa7\x38\x25\x27\xb9\xa1\xf8\x3e\x4f\xbe\x15\x13\xfb\xb7\x58\xd8\x36\x8b\xcc\xbd\x20\x3e\xce\x01\x30\x16\xc0\x4a\x00\xbb\x85\xbd\x08\x09\xff\xe9\x10\xfb\x4b\x79\xf2\x08\x00\xbf\x57\x1d\x17\xc1\x0e\x40\x55\x09\xd2\x8c\xdd\x9f\x62\xac\x77\x9c\xb1\x4e\x41\xc6\x3a\xd4\x33\xd6\xbe\x36\x43\xa5\x55\x8c\x95\x48\xb2\xeb\x4f\xf7\x6e\x69\x6d\x86\xda\x53\x5f\xd4\x27\xf5\x4d\x63\xa4\x69\x4a\x55\x25\xa0\xb1\xcb\x18\x63\x15\x8c\xb1\xb1\xfa\x3a\x85\xa5\x86\x14\x07\x00\xbf\x02\xd0\x0b\xc0\x74\x51\xdb\xda\x43\x62\x24\xe2\x60\x59\xc7\x08\x8b\xba\xdf\x67\x62\x9d\x6f\x17\x36\xe1\xe7\x6d\xcf\x91\x12\xcf\x94\x1b\x5d\x00\x60\x16\x80\xff\xa8\xc6\x6b\x06\xdd\xa3\x39\xbe\x03\x60\x12\x80\xce\x6d\x21\x8f\x0a\x7c\x4b\xbd\x79\x42\xac\xa7\xa9\x92\x92\xbd\x24\xdf\x42\xb1\xae\x85\xed\x82\xb0\x45\x87\x00\x2c\x12\xf5\xa5\x1f\x65\x1e\xa2\xe6\xbd\xd0\xcc\xee\x40\xd4\x00\x3f\xaf\x6b\xc1\xb2\x35\x4d\xb8\xed\xfe\x4c\x3d\x7c\xd0\x5d\x5e\x9e\x77\x3e\xbd\xbe\x19\x07\xeb\x13\xb2\x9e\x9d\x0f\x69\x31\x8f\xe9\xc5\xda\x25\x13\xbe\x4b\x00\xf4\x16\x39\x8d\xa9\xdd\xa6\x75\xa6\x78\xf6\x4f\x37\x37\x64\xf3\x34\x59\x47\x92\x7f\x5f\x3d\xde\xcd\xcf\x06\x62\x71\xcb\xfd\x20\xd9\x7a\x1b\x40\xb7\x36\xe0\xfd\x54\x00\xb7\x59\xad\x39\x44\x2e\x5e\xf5\x74\x30\x1b\x67\x5b\xc5\xc0\x15\x43\x9c\xbc\x1e\x96\x32\x5d\x89\x2c\xea\x00\xdc\x58\xac\x3c\x89\xda\xee\xec\x7c\x79\xa4\x11\xef\x7c\x1c\xe5\x79\xac\x4a\x2c\x4f\xef\x50\x8c\xb5\x7b\xbf\x69\x3d\x4d\x8f\x06\x00\x63\x0a\xad\x75\x8a\x75\x9f\x2d\x62\x71\x4b\x90\xcc\x4f\x7b\xa8\x91\xd7\x75\x28\xce\x55\x21\x7a\xf7\xe1\x95\xb6\xe9\x9d\x84\x0f\xc0\xe8\x42\xf6\x01\xc0\xad\x2a\xeb\x4e\x20\x59\x7e\xec\xc5\x10\xa6\x3f\xdc\xc8\xeb\xb5\x2a\x44\xf3\xa5\x5c\x5a\xb3\x97\x21\x09\xb2\xb5\xd7\x29\xf2\x4e\xba\x7a\x5c\xb9\xe7\x9f\x0e\x5f\x91\xcf\xb1\xe1\x9d\x62\xf5\xad\x56\x9d\x50\xfe\xbb\xba\x26\xcc\xed\xc8\x6a\x49\x35\x45\x92\x68\x4f\x7d\x51\x2e\xec\xf6\xdb\xba\xc0\xb5\x00\x7e\x61\xc2\x7b\x89\x88\x2b\x2d\x8d\xdb\xbb\xdb\xa2\x59\x5b\x42\x39\x56\x9b\xd0\x00\x27\xcf\xe1\xf6\x1e\xb0\xd5\xe9\x38\x80\x71\x26\xfc\x77\x57\x91\x1b\xe2\xbf\x9b\x62\xcd\x46\x95\xc8\x26\xf5\x1c\xe5\xc2\x3e\x7b\xfe\x09\xfb\x28\x0e\x35\xf0\x7e\x8a\xa8\xf9\xd9\x62\xd3\xc7\x51\xbe\x66\xaa\xb6\x46\x8d\x1c\x3c\x5f\x55\x58\x7f\x08\xf9\x98\x65\xe0\xbf\x5c\x7f\x2e\x6c\x85\x2f\x0f\x25\xb0\xe0\xa9\x20\xe6\x57\xb7\x1d\xcd\xab\x0e\xf0\x73\x70\x85\x1c\x5b\x82\x62\xdc\xb3\x74\xfc\xdf\xad\xda\xf0\xff\x04\xb4\x51\x43\x04\xef\x1d\x44\x0c\xac\x84\x63\xae\x24\x6a\x77\xc5\x50\xbb\xbb\x0d\x69\x57\x0c\x5b\xf7\xc4\x55\xec\x8f\x1e\xab\x44\x1c\xdf\xcb\xec\x8c\xc5\x08\xca\xe3\xc7\xce\xf3\xf1\x9a\x2b\xc5\x0b\x6d\x45\x15\x43\x5d\xbc\x7e\x46\x3e\xb0\xb1\x49\xd9\xa9\x1d\x00\xd0\x09\xc0\x9d\x2a\xb9\x47\x3c\x91\x89\xd1\xca\x15\xeb\x95\x05\xdb\x20\xf1\xa4\xd8\x3b\xa5\xb6\x0d\x94\xd3\xdd\x24\xce\xf6\x6d\x41\x31\x1a\xd9\x08\xd5\x7a\x6b\xb1\x76\xb4\xd7\x68\x17\xb6\xef\x8d\xab\xb0\x44\x76\x68\x81\xd0\x65\x4b\xc8\x73\x02\x8a\xeb\xf9\xb9\x8d\xee\x1c\xa6\x58\x5f\x70\xd1\xa0\x4c\x5b\x7d\xae\x20\xcf\x84\x26\x2e\xf2\x23\x6c\x5f\xff\x81\xb8\x17\x60\x59\xdf\x24\x6c\xd8\x12\xc9\x9e\xf5\xfc\x75\xbc\x9b\x9f\xf5\x2e\x5e\x11\xe4\xb5\xa6\x6b\x26\xba\x8b\xda\x93\x4b\x86\xb9\x78\x1f\xd5\xeb\x42\x98\xba\xc4\xcf\xeb\xb4\x97\x8d\xce\x9c\x25\xd1\x38\x1f\xed\xb4\x3c\x23\x94\xf8\x44\xd4\x09\x4c\x41\x31\xe2\xfa\xf7\x22\x3c\xff\x23\x3b\x71\xd4\x91\xcc\x9e\xff\xae\x7c\xb3\x59\xf9\xfc\x24\x5f\x2e\x43\xeb\x1c\x0a\x6b\xfc\x3c\xc7\xd3\xa8\x71\xdf\x42\x72\x4a\x79\x1c\x3d\x15\x70\xd0\x2a\x27\xcc\xce\x21\xcf\x56\x92\x1d\xed\x7b\x87\x5b\xe9\xec\xc9\x8c\x28\x17\xdb\x64\xc2\xa7\x62\x6c\xfd\xbd\x0a\xff\xf9\xb0\x7e\x4b\xe4\xa4\xf5\x95\x64\x7d\xe6\xd2\x46\x55\x7b\x63\xc6\xbf\x6d\x8e\x65\x44\x3a\x0d\x7e\xfe\x58\xa6\x78\xf6\x64\x25\x43\xfd\xa6\x79\xb8\x7d\x28\x12\x75\x76\xb9\x79\x3e\xc4\x5a\xd2\x18\x37\xdf\xa7\x7c\x76\x66\x65\x2f\xaf\x1c\xd7\xc0\x6b\xff\x45\x62\x3b\x80\x9d\x85\x36\x22\xfd\x1d\x33\xd7\xa7\x7c\xf6\x68\xc5\xff\x15\xb7\x34\xf0\xba\x50\x91\x20\xdf\xb5\xba\xd0\x46\x89\x64\x1a\x93\x1f\xf0\xb7\xc9\xfa\x5f\x75\x5b\x03\xb7\x69\x45\x80\xac\xca\x5c\x00\x53\xec\xce\x19\xf3\x61\xc9\x73\x4d\x27\xcd\xff\x49\xca\x7f\x48\xdc\xbd\xbd\x54\xc5\x87\x19\x51\x53\x1b\x45\x37\x85\x7b\x0b\x92\xc8\x37\x55\x0c\x6d\x6d\x7f\xa6\x2c\xf1\xf3\xfd\x2c\x02\x5f\x89\x7b\x26\xbf\x14\xf7\xc0\x0a\x02\xed\xf9\xd5\x13\xd4\x7c\x2f\xbd\x33\x62\x8e\x17\x97\x8f\x69\xc8\x79\x9f\xfe\xa6\xdc\xbd\x48\x3c\x2b\xeb\x5a\xa2\x66\x5a\x10\xc8\x67\x92\xed\x96\x32\x44\x7e\x9f\xe2\x3b\xb3\x39\xcc\x79\x3c\xc0\x63\x0f\xc9\x7f\xb9\xb8\xd3\xf1\x5d\x71\xb6\x87\x82\x8b\xfe\xba\xfc\xab\x8b\xb8\xf3\x51\x10\x36\x6e\x8d\xf2\xf8\x81\x62\xdf\x4b\x87\xbb\x78\x1e\xd8\x63\x64\xeb\x39\xd0\xdc\xaa\xd7\x86\xd0\x7f\x9a\x27\xe7\x7c\xfa\xd1\x55\x4d\x56\x77\x70\xac\xf0\xa9\xfe\x4e\xab\xa8\x9d\x3c\x5a\x68\x27\x0e\x4f\x0a\xd7\xdf\xe1\xe6\x76\x94\xc7\xbd\xfb\xe2\x3c\xb6\x33\xda\x55\x8a\x13\x48\x5f\xc6\xce\xcf\x7c\x47\x6b\xdf\x77\xb2\x5b\xf5\x2e\x85\x11\xe4\xad\xa7\xe4\xa9\x9f\x94\x17\xba\x07\x9a\xb8\xbb\x7c\x7e\x3f\x07\xbf\x8b\xd7\xe0\x4b\xf1\x98\x54\x1f\x13\xc9\x3b\xd1\x9f\xd7\xb5\xf0\x73\x6a\xf2\xd9\xf4\x99\x3c\x1f\x2e\x02\x9f\xe9\x73\x77\xc3\x1c\x66\x17\x78\x0e\xc4\x63\x53\xd2\x01\xf2\x07\x14\xc7\xec\xd8\x17\xcf\xd1\x03\x9a\xcb\x80\xe9\x1e\x9e\x17\xae\x7c\xab\x99\xaf\xff\x9f\xc7\x36\xe0\x1b\xf3\xbb\x53\x56\xa0\x58\x67\xb8\x45\xfd\xf0\xf4\x42\x6d\xd1\xb6\xbd\x71\x1e\xaf\xbf\xbc\x29\x63\x47\xbe\x77\x26\x73\xf4\x94\xe6\xb6\x68\x79\x90\x7f\xf7\xdf\x2f\xe3\x3c\xee\x27\x19\x33\xb9\x83\x69\x87\xe7\x00\xfc\xcc\x8c\x7f\x76\xe2\xce\xc6\x61\xd5\x0e\x3f\xda\x15\xe3\x72\x2d\x6b\x07\xc1\x90\xc6\xcf\x8c\x78\x3e\x55\x99\xb1\x49\x5b\x77\x67\xf2\xc1\x80\xf8\x8e\xe4\xa8\x08\x90\xdc\xfc\xc1\x8a\x77\xdd\x1c\x86\xc8\x7b\xed\x76\x38\x70\x24\xc1\x49\x22\x1a\x4f\x67\x75\x98\x68\xe4\x3d\x5e\x7e\xb6\x24\xb1\xe2\xf5\x66\xee\xbb\x0b\x04\xe9\xe5\x15\x2a\xbc\xb3\x13\xf5\xc4\x49\x2a\x77\xc8\x8c\x20\x5f\x3a\x71\x61\x26\x36\x22\x19\x7a\xee\x8d\xdc\x3b\x7a\x2e\x5f\x8a\xff\xa6\xa3\x00\x9f\x4b\xf1\x71\x3f\x55\xde\x75\x73\x68\x27\xee\xcc\xfb\x0a\x9d\xc3\x82\xa7\x82\xd9\x3b\x8e\x75\x47\x5b\xeb\x29\xc9\x18\xf9\x3f\x05\x1c\xd5\xfb\xa9\x22\xe6\x40\xfb\x30\xc8\xee\x1e\x97\x11\x94\xbb\x92\xee\xf2\xdf\x90\x58\x9f\x35\x5a\x61\x37\x80\x2b\x8b\xe5\xdd\x30\x8f\x4b\xc4\x59\xb9\x92\xc3\x21\x5b\x39\xea\x5e\x1f\x66\x3c\xda\x58\xc8\x19\x91\x44\x54\xd4\x06\xcf\x6d\x0b\xde\x75\x73\xe8\x28\xee\x14\x1f\xb2\x3b\xe3\x80\xb8\xdb\x47\x7a\xaa\x78\x5f\x13\x22\x0f\xdf\x23\xce\xea\x7e\x94\x7b\x11\x22\xce\x38\x4f\x9c\xf5\x1f\xb4\xf3\x75\x64\x77\x14\xf4\x34\x21\x7e\x83\x30\x13\xc0\xd9\x3f\x06\xdf\x26\xf3\xe8\x04\x60\xbc\xb8\x03\x55\x2f\xce\x76\x54\x90\x16\x7e\xf4\x90\xf8\x8d\xdf\x08\xb3\x78\xe0\x27\x9a\x4b\x7b\x71\x17\x65\xa4\xf8\x5d\xcc\x66\x71\xcf\xe9\xb8\xb8\x97\xe2\x15\x67\x23\x5f\x88\x7b\x01\x4b\xc4\xfd\xce\x73\x8c\xbf\x6d\x2a\x6e\xfc\xfa\xf6\x00\x3d\x05\xc5\x19\xeb\x44\xcf\x7a\xc6\x3a\xd0\xb3\x96\xb1\x52\x7a\x56\x31\x56\x42\x4f\xde\x88\xb1\x34\x3d\xef\x67\x2c\x45\xcf\xde\x8c\xc5\xe9\xd9\x89\xb1\x20\x3d\x3b\x30\x56\xaf\x7f\xb6\x67\xac\x56\xff\x2c\x3d\xf1\xac\x62\xfc\x82\x52\xab\x27\xd3\x3f\x4f\x16\x79\xfa\x97\x4f\x23\x3f\x92\x4f\xc9\xb7\x9c\x8f\x7c\xca\x79\xca\x79\xcb\x75\x90\xeb\x92\x5d\x27\xb9\x6e\x41\xb1\x8e\x71\xc6\x7a\xeb\xd7\x59\xac\xfb\xff\x02\x00\x00\xff\xff\xeb\x12\x88\x54\xee\x3a\x00\x00") - -func uiAppFaviconIcoBytes() ([]byte, error) { - return bindataRead( - _uiAppFaviconIco, - "ui/app/favicon.ico", - ) -} - -func uiAppFaviconIco() (*asset, error) { - bytes, err := uiAppFaviconIcoBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "ui/app/favicon.ico", size: 15086, mode: os.FileMode(420), modTime: time.Unix(1, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -var _uiAppLibBootstrap400Alpha6DistCssBootstrapMinCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x5b\x93\xe3\x36\x92\x30\xfa\x7e\x7e\x05\xb7\x27\x3a\xda\x6d\x8b\x6c\x8a\xba\x95\xa4\xb0\x63\x76\x26\xf6\x8b\x6f\x22\xec\x79\xd8\xd9\x3d\x2f\xfe\xfa\x81\x22\x21\x89\xd3\xbc\x7d\x24\x55\xc5\xb2\x56\xe7\xb7\x9f\x20\x2e\x24\x2e\x09\x80\xaa\xae\x8b\xda\xe3\xf1\xd8\x45\x01\x89\xcc\x44\x22\x91\x48\x24\xc1\xc4\xa7\xef\xff\xed\xff\x71\xbe\x77\xfe\x52\x14\x4d\xdd\x54\x61\xe9\xdc\xcf\x3d\xdf\xf3\xdd\x30\x2d\x8f\xa1\xb7\x74\xbe\x3b\x36\x4d\x59\x6f\x3e\x7d\x3a\xa0\x66\xc7\x80\xbc\xa8\xc8\x3e\x76\xcd\xfe\x5a\x94\x8f\x55\x72\x38\x36\x4e\xe0\x4f\xa7\x6e\xe0\x4f\x57\xce\x7f\x1d\x11\x87\xee\xdf\x4f\xcd\xb1\xa8\x6a\x2d\xf0\x43\xd2\x34\xa8\x9a\x38\x7f\xcb\x23\xaf\x03\xfa\x39\x89\x50\x5e\xa3\xd8\x39\xe5\x31\xaa\x9c\x5f\xfe\xf6\x5f\x1c\x0b\x49\x73\x3c\xed\x3a\xe2\x9f\x9a\x87\x5d\xfd\xa9\xe7\xe7\xd3\x2e\x2d\x76\x9f\xb2\xb0\x6e\x50\xf5\xe9\xe7\xbf\xfd\xf5\x3f\xfe\xfe\x8f\xff\xe8\xf8\xfb\xf4\xe9\xfb\x7f\x73\xf2\xa2\xca\xc2\x34\xf9\x0d\x79\x51\x5d\x3b\xf7\x8b\xae\x7b\xce\xff\x60\xcc\x94\x98\xf3\x3f\x0e\x87\x3a\x47\x51\x91\x86\xf5\x27\xb1\xdd\xf7\x9f\x8e\x4d\x96\x9e\xf7\x45\xde\xb8\xfb\x30\x4b\xd2\xc7\x4d\x1d\xe6\xb5\x5b\xa3\x2a\xd9\x6f\xd3\x24\x47\xee\x11\x75\x9d\xdb\x4c\xbd\xe9\x62\xeb\x66\xb5\xdb\xa0\xb6\x71\xeb\xe4\x37\xe4\x86\xf1\x3f\x4f\x75\xb3\x99\xfa\xfe\xfb\xad\xfb\x80\x76\x5f\x92\x06\xae\xbd\xec\x8a\xf8\xf1\x9c\x85\xd5\x21\xc9\x37\xfe\x25\xac\x9a\x24\x4a\xd1\x24\xac\x93\x18\x4d\xf6\x45\xd1\x89\xea\x88\xc2\x18\x55\x93\x3c\xbc\x9f\xd4\x28\x6a\x92\x22\x3f\xc7\x49\x5d\xa6\xe1\xe3\x66\x97\x16\xd1\x97\xcb\x71\x4a\xd8\xec\x90\x6f\x02\x94\x6d\x29\x3e\x6f\xb9\x42\x99\xe3\x5f\xf6\xc9\x21\x0a\xcb\xae\xe1\x64\x9f\x1c\x4e\x15\x9a\x64\x61\x22\x23\x21\x35\x8c\x95\x29\xca\x9c\xb9\x5f\xb6\x97\x63\x75\x66\x1d\xd8\x15\x6d\x47\x22\xc9\x0f\x9b\xa8\xc8\x1b\x94\xe3\xa2\xad\xa6\x98\x0a\xc7\xdf\x16\xf7\xa8\xda\xa7\xc5\xc3\xe6\x3e\xa9\x93\x5d\x8a\x2e\x65\x85\x04\xb1\x66\x45\x5e\xd4\x65\x18\xa1\x49\xff\xb4\x1d\xfa\x33\x45\xd9\x25\x3c\xef\xc2\xe8\xcb\xa1\x2a\x4e\x79\xec\x46\x45\x5a\x54\x9b\xa6\x0a\xf3\xba\x0c\x2b\x94\x37\xa2\x84\x63\x14\x15\x55\xd8\x75\xd6\xad\xbf\x24\xe5\xa6\xd8\xfd\x13\x45\x4d\x7d\x09\x37\x61\xd4\x24\xf7\x68\x12\x6e\x8e\x1d\x4b\xe7\xe2\xd4\xe0\x51\x7c\x48\xe2\xe6\xd8\xc9\x7e\xb7\xab\x7e\x6d\x92\x26\x45\x9f\xcf\xbb\xa2\x8a\x51\xe5\xee\x8a\xa6\x29\xb2\x4d\x5e\xe4\x68\x2b\x21\xdf\x60\x75\xed\x10\xe8\x6b\x9c\xb8\x68\x1a\x14\x5f\x76\x93\xba\xa9\x8a\xfc\x40\x7a\xfd\x40\x04\x93\xe4\x47\x54\x25\x0d\x5c\xb9\x2b\xd2\x18\x55\x97\xa8\x88\xd1\xe4\xcb\x2e\x9e\xd4\x61\x56\x5e\x29\xb3\x78\x9f\x53\xad\x68\x1e\x53\xb4\x49\x9a\x30\x4d\xa2\x4b\x16\x56\x5f\x54\x61\xfe\x69\xbf\xf7\xb7\xf4\xd1\xf7\xfd\x4b\x9d\x85\x69\xca\xe9\xd4\x9d\xff\xfe\x52\x9f\x76\x93\xfa\x54\x72\xa5\xab\xc5\x7b\x61\x1e\xf8\xdb\xb2\xa8\x13\x2c\x82\x0a\xa5\x61\x27\xec\xed\x3d\xea\x34\x3a\x4c\xdd\x30\x4d\x0e\xf9\x66\x17\xd6\xa8\x6b\xd2\x61\x3b\x53\xe9\xba\x5e\xb0\x40\xd9\xa5\xc3\xdd\x14\xe5\xc6\xf5\xba\x5f\xe1\x29\x4e\x8a\xc9\x7d\x12\xa3\xa2\xd7\xd3\x24\xc7\xd4\x88\xba\x62\x80\x4d\x5e\x34\xdf\xfd\xda\x69\x5d\x55\xa4\xf5\xe7\x8f\x3d\x28\x1e\x31\xc6\xd6\x25\xc9\x0e\x6c\x44\x89\x30\xba\xea\x4b\x7d\x7f\xc0\xed\x37\x55\x51\x34\x1f\xcf\xbd\x9a\x1e\x93\x38\x46\xf9\x65\x77\x6a\x9a\x22\x9f\x24\x79\x79\x6a\x26\x45\xd9\x74\x02\x2b\x27\x35\x4a\x51\xd4\x4c\xba\x21\x0f\x2b\x14\xea\xcc\x03\x37\x14\x9d\x09\x50\xac\x45\x3f\xe1\x79\x2a\x67\x65\xa6\xd0\x5a\x42\xf4\x8c\xf5\x0c\xeb\xfd\xbe\xa8\x88\x56\x5e\x7e\x6d\x1e\x4b\xf4\x63\x85\x6a\xd4\x7c\x9e\x90\x1f\xf5\x69\x97\x25\xcd\xe7\x09\x6d\xdc\x59\x31\x87\xd4\x90\x92\xcf\xfd\x84\x0e\xcb\x12\x85\x55\x98\x47\x68\x43\xaa\x2e\x02\xdc\x66\xe3\x66\xc5\x6f\xee\xbe\x88\x4e\xb5\x9b\xe4\x39\xaa\x26\x3c\x39\x6d\x35\x65\x00\xa8\x27\x88\xd5\x0a\x75\x74\xb6\x65\x18\xc7\x9d\x49\xf1\x25\x9e\x86\xa6\x55\x92\x1f\x44\x86\xc0\x3a\xc6\x8d\x54\x49\x59\x11\x4b\x99\x4d\xd8\x4c\xcb\x96\x4e\x5e\xe7\x2f\x18\xf0\xbf\x50\xdb\x5c\xf6\x09\x4a\xe3\x1a\x35\x94\x5d\x0c\x55\x17\x69\x12\x3b\x75\x92\xde\xa3\xaa\x1f\x56\x27\x28\xdb\xbe\x07\xde\x6c\x81\x32\xc7\x5b\x06\xf8\xcf\xaa\xd3\xee\x14\x1d\x50\x1e\x43\x86\xb5\x37\x3c\x82\x5d\xe5\x4a\xc9\x2c\xa5\xc6\x63\xcb\xf4\xbd\x09\x77\x29\xda\x66\x61\x4b\xad\x19\xd6\xba\x5e\x84\xdb\x87\x63\xd2\x20\x17\x5b\x89\x0d\x59\xe5\x2e\x65\x55\x1c\x2a\x54\xd7\xe0\xec\xd2\x4e\xdb\x5e\xef\x7b\x55\x0d\x4f\x4d\x41\x87\x28\x3a\xa2\xe8\xcb\xae\x68\x99\x22\x56\x61\x9c\x14\x9f\x9f\xd4\x4b\x79\xf4\xf3\x53\xb6\x43\x55\xa7\x52\x14\x19\x56\x1b\xb7\x2e\x93\xdc\xa5\x7a\xae\x01\x2c\x4e\x8d\x08\x78\xa6\xf3\x90\x63\xbc\x46\x61\x15\x1d\xc1\x79\xd1\x75\x18\x0f\xfb\x96\x2d\x17\xc5\x7e\x5f\xa3\x66\xe3\x06\x65\x2b\x36\x1f\x68\x92\x02\x37\xea\x30\xa4\x22\x7f\x3a\xd8\x61\xf9\x80\xb8\xc0\x53\x7d\x68\xb3\x4f\x52\xe4\x9e\xca\xb4\x08\x63\xd6\x29\xed\x94\xc6\xa6\xa8\x5f\x6c\x62\xd4\x84\x49\x5a\x4f\x32\x94\x9f\xa4\xf5\xbf\x3e\x65\x59\x58\x3d\xf6\xa5\x69\x52\x37\x6e\xd2\xa0\xec\x12\x85\xf9\x7d\x08\x2b\xca\xa5\x41\x59\x99\x86\x0d\x12\x2c\xef\xe5\x57\x62\x43\x3f\x8b\xa5\x7f\xce\x50\x9c\x84\x4e\x59\x25\x79\x73\xfe\x7e\xb2\xd9\x84\xfb\xce\xbd\xd9\x6c\x76\x68\x5f\x54\x68\x82\x31\xfe\xdf\x53\xd1\xa0\xcd\x66\x9f\x54\x75\xe3\xa6\x08\xfb\x8a\x40\x45\x92\xa3\x49\x9c\xdc\x4b\x80\x7c\x49\x07\x91\x26\x12\x00\x57\xd0\xd5\x97\x52\x75\xc9\xd7\x12\x7b\x5b\x1f\xc3\xb8\x78\xc0\x1d\xf8\xb7\x24\x2b\x8b\xaa\x09\x39\x8f\x03\x6b\x2f\x08\xa1\xad\xb9\x84\x93\x10\x1b\xf8\x06\xc5\x67\xad\xeb\xc0\x7b\x23\x54\x50\x67\xea\x5d\x6d\xde\x39\xdf\xbd\x73\xc2\xa6\xa9\xbe\xc3\xf5\x1f\x9d\x77\x1f\xdf\x61\xa7\x8a\x9f\xe6\x65\x85\xdc\x87\x2a\x2c\x39\xc2\x83\x18\x27\x1d\xb4\x62\xc4\xfe\xb4\x5e\xaf\xb7\x65\x78\x40\xee\xae\x42\xe1\x17\x37\xc9\x3b\x2f\x74\x13\xde\x17\x49\x7c\x69\x3a\x2f\xf4\x2c\xd8\x1b\x97\x38\xa6\x2e\x5e\x19\xbb\x45\x76\xd2\x54\x67\x5d\xfb\x63\x30\x39\xce\x26\xe5\xb9\xa8\xca\x63\x98\xd7\x9b\xd9\xf6\x21\x89\x8b\x87\x7a\x33\x23\x55\x7c\x43\xdc\x5d\xda\xce\xcb\xc3\xfb\x5d\x58\x89\x9a\xe4\xed\xc2\xf8\x00\xf5\xa0\x73\x5e\x3c\xcc\x1c\x5b\x52\xa2\x22\x4d\xc3\xb2\x46\x1b\xf6\xc0\x09\x84\x40\x3a\x4d\x3c\x61\x4f\x47\xd0\x37\xda\x2b\x6d\x5c\x82\x1d\xc5\x43\x63\xae\xe8\x08\x70\x16\xc7\x31\x87\xe5\x82\xf7\x16\x4f\xb0\x8c\x17\x75\xde\x40\x68\xd8\xfa\xa0\x16\x5d\xfe\xdc\xed\x54\xee\x13\xf4\xd0\xf1\x72\x26\xcb\x45\x8c\xee\x93\x88\x7a\xc2\x94\xb5\xac\x76\x99\x8d\xa7\xcb\x72\x1d\x55\x45\x9a\xee\xc2\x6a\xf0\xb7\xc3\xd2\x3d\x26\x87\x63\xda\x19\x54\xd5\x2f\x27\x7b\x1b\xde\x43\xea\xcc\x53\x8a\xdc\xfa\xb1\x6e\x50\x36\x21\x7f\xdc\x53\x32\xf9\x4b\x9a\xe4\x5f\x7e\x09\xa3\x7f\xe0\x92\xff\x55\xe4\xcd\xe4\xdd\x3f\xd0\xa1\x40\xce\x7f\xff\xed\xdd\xe4\x3f\x8b\x5d\xd1\x14\x93\x77\xff\x1b\xa5\xf7\xa8\x5b\x96\x9c\xbf\xa3\x13\x7a\x37\xf9\xf7\x2a\x09\xd3\x09\xec\x75\x55\x28\xdb\xf2\x0e\xf5\xdc\xf7\x25\x2f\x6c\xc1\x1c\xde\x60\x1d\xec\x82\x68\x0b\x0e\xfc\xe5\xd7\x26\xdc\x25\x79\x8c\xda\x1f\xdf\xb9\xd3\x77\x9f\x37\xd8\x55\xe8\xdd\x04\x9f\x1b\xd2\xe3\x74\x42\x74\xfc\x38\x9f\x1c\x17\x93\xe3\x92\x6e\xa5\xdc\xce\xa9\xf5\xa9\x6b\xc0\x76\x14\xde\xa2\x42\xd9\xa5\x34\x81\x74\x5d\x20\x56\x20\x0e\x9b\xd0\x2d\xaa\xe4\x90\xe4\x61\xea\x12\x9b\x30\xe1\x77\x2b\xd1\xa9\xaa\x8b\x6a\x73\x44\x69\x79\x09\xe3\x18\x2f\xeb\x2a\xb2\x2d\xb7\x1b\x20\x4e\x80\x20\x91\x7e\x89\x48\x27\x45\x3a\x39\xa5\x56\xde\x8a\xd4\x29\x3a\x58\xe7\xd4\x81\x3b\xb8\x91\x33\xb4\xa3\xa0\xfe\x25\x6e\x84\xad\xcd\xca\xf7\x2f\x71\x7c\x06\xe4\xc1\x88\xa4\x68\xdf\x79\xed\x83\xb9\xea\xf7\xc7\x8e\xef\x10\xb1\x9c\xd9\x66\x25\x58\x2d\xe2\x3b\x65\x07\x86\x8d\x44\x48\x06\xab\xdf\xef\xb1\x26\xd3\x79\x74\x17\xe9\x37\x6d\x97\x90\xec\x2a\x8e\x15\xda\x7f\xfe\x48\x9e\x99\x12\x7c\xfe\x78\x16\xfd\x2f\x0d\x61\x03\x82\x9e\x29\x13\x0c\xcf\xf0\xd7\x92\x1a\x94\x15\xaf\x11\x96\x51\xdd\x8a\x8e\x9d\x18\x14\xe8\xe5\xdf\x6d\xa8\x24\x17\x31\x4b\xe2\x38\x45\x97\x5f\xab\x22\x1d\x36\x1a\x54\x31\xcb\x22\xc9\x1b\x54\x89\x95\x93\x70\xd2\x79\x92\x13\x61\x9f\x95\x86\x3b\x94\xb2\x4d\x16\xf5\x48\x86\xcd\x16\x8e\xb1\x14\xa7\xe8\xe8\x86\x38\x0c\xb2\xc9\xc2\x3c\x29\x4f\x29\x16\xc8\x56\x5b\x73\x31\x2f\x08\xea\xcc\xe7\x6d\x18\x0d\x9c\x9c\xa9\x47\x8a\x05\xe7\xad\xb0\xba\xb2\x22\xa6\xc3\xa4\x94\xaa\xd9\x72\xb6\x8c\x56\x01\x19\x35\x22\xa1\x4e\xad\xb7\x14\x9d\x8b\x57\x46\xd2\xf0\xd2\x1c\xcf\x12\xd8\x05\xcb\x01\x76\xcd\x21\x43\x42\x37\x33\xe2\x78\x0f\x7b\x18\xe6\xbb\x6e\x16\x65\xeb\x74\xe3\xea\xf4\x9e\x24\xde\x83\x75\x5b\x1f\xd2\x75\x71\xd7\x2b\x6f\x76\x21\x73\x81\x21\x25\xff\x7f\x13\x27\x75\x27\xf2\x78\xc2\xd5\x92\xdd\x40\x5f\xc5\x74\x23\x2f\xba\x8e\xa7\xc5\x03\x8a\x79\x5c\x71\xd8\xa0\xcf\x7c\xf3\x26\xc9\xc4\x82\x0e\xa2\x2b\x74\xd3\x22\x0a\x53\xa1\x2a\x2b\xf2\x06\x76\xe7\x3b\xa7\xb6\x5b\x45\xfb\x2e\x55\x08\xaf\x17\x4c\x99\x87\x2d\x5e\x96\xe4\x2c\x32\xc4\x6d\xa4\xd8\x44\xd8\xd2\x05\xde\x67\x5b\x39\xc1\x97\xde\x82\x9b\x30\xc8\xe2\x71\x2b\x16\x29\xb0\x88\xd8\xb0\x53\xc1\xf6\xa0\x38\x35\xe5\xa9\x81\x5d\x75\xd0\x29\xe7\x3d\x9b\xe3\x74\xe2\x1d\x83\x89\x77\x9c\x4d\xbc\xe3\x7c\xe2\x1d\x17\x13\xef\xb8\x9c\x68\x17\x36\xb5\x27\x74\x99\x67\x26\x8b\x37\xfb\x0b\x65\x01\x9e\x8a\x7b\x59\x4c\x5f\x8c\x64\x12\xe5\xee\x78\x3a\x06\x7c\x39\x29\x9d\x75\x5e\x23\x2f\xc0\x15\x05\x9f\x4f\x8e\xf3\xb3\x2c\xd9\x4b\xd7\x9d\xe3\x42\x28\x0f\x68\xc5\xb2\xeb\x94\xe8\x3c\x5c\xbc\xb4\xf3\x77\x15\x68\xa1\x4f\xb3\xce\xdb\xa4\xd2\x74\x79\xce\x97\x00\xa4\xdc\xfb\xa1\x25\xdf\xb7\x85\x07\x51\xd1\xb7\xe5\x25\x30\xbf\xb2\x2d\x2f\xa4\xd9\xb8\xb6\xc7\x8a\x5f\x40\xa6\xdc\xa2\xcd\xaf\x21\x6c\x72\xd0\x07\x02\xdb\xbb\xc2\xd5\x61\x17\x7e\xe7\x4f\xba\x7f\xbc\xe9\xc7\x8b\x87\x83\x8d\x13\x20\xe4\x28\x3b\x70\x17\x2f\x0b\xab\x2f\x13\x1c\xc2\xec\x83\x2b\x41\x47\x4f\x75\xdd\xa2\xfd\x1d\x9a\x5d\x3c\xbc\x89\x3d\xe5\xd8\xe9\x89\x7b\x1b\x4e\x1c\x8c\x2d\xae\xe4\x02\x82\x04\x9a\xcc\x99\x6b\x60\xf1\x2e\x19\x9e\x73\x0a\x18\x89\x38\xa6\x61\xdd\xb8\xd1\x31\x49\xe3\x8f\x4c\x9e\x15\x99\x25\x65\x7b\xf1\x92\x3c\x69\x92\x30\x4d\xea\x8c\x93\xc7\xda\x7f\xbf\x95\x02\x80\xa7\xb2\x44\x55\x14\xd6\xdd\x7e\x68\xf0\x95\x7a\xc9\x74\x03\xea\xe8\x86\x48\x55\x6c\x3a\x56\xb8\xbf\xa4\x88\x6d\x5d\x50\x84\x10\xda\xf3\x44\x5c\xf2\x66\x42\xb2\x7a\xe2\xe0\x09\xeb\x20\xd0\xb8\xdf\xbe\xf4\xdb\xda\xff\x13\xf8\xd3\xb9\xf3\x7f\x7c\xff\xdf\xfd\x77\x42\x83\x0a\xdd\xa3\xaa\x1e\xc6\x84\xc8\x6a\xca\xaf\xc1\x74\x98\xb8\x75\x14\x03\xb1\x5e\x91\x16\x50\xb7\x84\x7e\xfb\x10\x59\x67\x0c\xef\x20\xc3\x60\x4b\x69\x2f\x8f\xbb\xeb\xe0\xae\xbf\xbb\x78\x49\x76\x70\xf7\xe9\x29\xe9\xfc\x63\x21\x96\xc7\x07\xad\x30\x54\x73\x3c\x65\xbb\x3c\x4c\x52\x6e\x2a\x90\x71\x84\xf6\x31\x5b\x70\x43\xda\x4b\x27\x8c\x93\x53\xcd\x10\xf4\xbb\xbb\x4e\xd1\x48\x38\x3f\x4c\x53\xc7\x0b\x6a\x07\x85\x35\x72\x93\xdc\x2d\x4e\xcd\xd6\x2d\x6c\x10\x96\x6a\x53\x0f\xa9\xdf\x09\xcf\x29\x52\xe9\x76\x4e\x28\xb4\x12\x09\x36\xab\x87\x66\x7e\x9c\x38\xa3\x44\x25\xed\x5f\xb7\x94\x15\x52\x5f\xb9\xfc\x82\xf2\xb4\x98\xfc\x52\xe4\x61\x54\x4c\xfe\x5a\xe4\x75\x91\x86\xf5\xe4\xdd\xcf\xc9\x0e\x11\x97\xdc\xf9\xa5\xc8\x8b\x77\x93\x77\x7f\x2d\x4e\x55\x82\x2a\xe7\xef\xe8\xe1\xdd\xf0\x7a\x06\x63\xe7\x06\xab\xd3\x44\x6f\x2e\xce\x45\x8e\xa5\x5d\x3c\x9f\xce\x57\xd0\x68\xae\xf6\xab\xfd\x1a\x1c\xba\x4b\xf8\x93\x40\xc4\x97\xa2\xc5\x0a\x32\xb6\xf4\x7e\xd9\xc5\xe3\x39\xc3\xea\xa4\xb0\xc5\x76\xd1\x12\x5b\x1d\x57\x5f\x76\xb1\xc3\x53\xf0\xe5\xd7\x23\xf2\xf6\xb0\xe4\x86\x5e\x70\x7a\xb5\xbb\x16\x90\x51\xc2\x52\x87\xcd\x91\xc4\x32\x80\x33\xd1\x58\x04\xc5\xbf\x6d\x14\xbb\xe8\x5f\xbc\xb2\x42\x2e\x09\x8e\xe0\x7d\x46\xa7\xd7\x54\xfd\x66\x73\xbf\x6c\xfb\x2d\x95\xfb\x48\x63\x28\x17\xaf\x9b\xfe\x61\x92\xa3\xea\xac\xbe\x32\xe3\x77\xc1\xdd\x6c\xd8\x0a\x2b\x04\x2e\x91\x0c\xe1\x62\x78\xdb\x40\x9a\x75\x25\x2c\xdc\xfa\xdd\xe0\xc9\x2e\x56\xcb\xb2\xfd\x78\xe6\xa9\x8f\x41\x04\x60\x5a\x2d\xef\x9e\x09\xd3\x7a\x1d\x3c\x13\xa6\x69\xe0\xfb\xcf\x84\x4a\x15\x14\x2d\xc7\xe3\x29\x1a\xae\x71\xe2\xa1\xe5\xc1\xb8\xf6\xaa\x50\x68\xf9\x72\x5c\x7b\x40\x14\xb4\x62\x0a\xf6\x60\x80\xa3\xab\xcf\x9b\x6a\x25\xe3\xe1\xb9\x74\xf3\x2b\xf1\x29\x83\xf1\x95\xf8\xd4\xc1\xb9\x0a\xa1\x57\x15\x0f\xbd\x75\xe4\x42\xbf\x5b\xb9\x6c\x9f\x22\xae\x30\xab\x71\x01\x0f\x88\x01\x78\x68\xfc\xc2\x60\xd3\xfd\x67\xcb\xe0\xb9\x22\xe9\xa7\x30\xfe\x2e\xe6\x96\xd7\x11\xd7\x32\xda\x5d\x2f\x46\xa1\x30\x8c\xf0\xd7\xe0\x60\xa3\xfa\x35\x38\xfa\x91\x1c\x8f\xc4\xcb\x0b\xf7\x70\x6a\x1a\x54\xd5\x62\x0b\x5f\x8a\x7e\x72\x80\x3f\x79\x51\x91\x4e\xf8\x82\x5f\xa3\x34\xac\xeb\xef\x7f\x8c\x8a\xd4\xfd\x2c\xe9\x8d\x2f\xf9\xc4\x17\xd2\xba\x03\x9d\xd2\x3f\x3e\xfd\xcb\x7e\x07\xe4\x2f\xfd\x33\x23\x7f\xe6\xe4\xcf\x82\xfc\x59\x92\x3f\x2b\xf2\xe7\x8e\xfc\x59\x93\x3f\xe9\x81\xfd\x65\x14\xba\x27\x7f\x78\xe4\x4a\x83\xfe\x71\x78\x9a\xf5\x4f\xf3\xfe\x69\xd1\x3f\x2d\xfb\xa7\x55\xff\x74\xd7\x3f\x51\x16\xb2\x98\xfd\x65\x2c\x74\x4f\xfe\xf0\xc8\x95\x06\xfd\xe3\xf0\x34\xeb\x9f\xe6\xfd\xd3\xa2\x7f\x5a\xf6\x4f\xab\xfe\xe9\xae\x7f\xa2\x2c\xd4\x19\xfb\xcb\x58\xe8\x9e\xfc\xe1\x91\x2b\x0d\xfa\xc7\xe1\x69\xd6\x3f\xcd\xfb\xa7\x45\xff\xb4\xec\x9f\x56\xfd\xd3\x5d\xff\x44\x59\x68\x53\xf6\x97\xb1\xd0\x0e\xa3\xdd\x0e\x03\xde\x0e\x63\xde\xf6\xc3\xde\xf6\x23\xdf\xf6\x83\xdf\xf6\xe3\xdf\xf6\x2a\xd0\xf6\x5a\xd0\xf6\x8a\xd0\xa6\xee\x1a\x58\x33\x38\xef\xbe\x9b\x34\xcc\x27\xe7\xec\xda\x93\x97\x8a\x3f\x34\xfa\x0f\x8d\x7e\x79\x8d\xfe\x6a\x0f\xe4\x0f\x35\xfd\x43\x4d\x6f\x56\x4d\x07\xc7\xf6\x0f\x35\xfd\x43\x4d\x6f\x56\x4d\xb9\xfd\xd2\x1f\x7a\xfa\x87\x9e\xde\x88\x9e\x76\xf0\x67\x61\xf3\xbc\x0b\xeb\xa4\xde\xf8\xc3\xd6\xb9\xac\xd0\x1e\x55\x15\x8a\x49\xa8\xd1\xdf\x8a\x60\xdc\xa9\xad\xae\x62\x33\x15\xf7\xe2\x87\xaa\x78\xe8\xca\x7a\x6c\xd8\xbd\xbe\x47\x9b\xe9\x96\xaf\x97\x42\x39\xb8\x1b\xe1\xa9\x29\xce\x0a\x7e\x5f\xc0\x8f\x0f\x73\xe0\xb0\x0d\xa3\x30\x94\x88\xbf\x08\x76\x12\x97\xc7\xd3\x6c\x14\xea\x3b\x6f\x86\xff\xf7\x5e\xc4\x3f\x14\x03\x45\x43\x5f\xfa\x32\x42\x32\x18\x45\x72\xba\xf4\x96\xdd\xff\x56\x12\x4d\xae\x1c\x2a\xe3\x24\xd8\x17\x12\xb2\xb3\x51\x64\x83\x85\x44\xaf\x2b\x10\x7e\x0c\x14\x82\x05\x45\x3d\x1f\x85\x7a\x36\x83\xa5\xc8\x95\x43\x65\x03\xbd\xa1\x90\x90\x5d\x8c\x22\x3b\x9f\xc2\x82\xe4\xca\xa1\xb2\x81\xec\x50\x48\xc8\x2e\x47\x91\x5d\xf8\x12\xbd\xae\x40\xf8\x31\x50\x58\x30\x5d\x5f\x8d\x43\xad\x51\xc7\x05\xa0\x8f\x0b\x48\x21\x17\x92\x46\xde\x8d\x22\xbb\xd4\x68\xe4\x12\xd0\xc8\x25\xa4\x91\x4b\x49\x23\xd7\xa3\xc8\xae\x64\x8d\x5c\xf1\x1a\xb9\x12\x34\x72\xc5\x34\x72\xea\x8f\x9b\xd7\x1a\x95\xbc\x03\x54\xf2\x0e\x52\xc9\x3b\x49\x25\xa7\xe3\xec\xc9\x5a\xa3\x93\x6b\x40\x27\xd7\x90\x4e\xae\x25\x9d\x9c\x8e\x34\x2a\xbe\xac\x95\xe4\x95\x95\xf0\x4b\x36\xc2\xe5\x29\x4d\x5d\xff\x5c\x71\x6f\x34\x71\xd1\x94\x16\x71\xca\x84\xcb\x03\x5a\xce\x1b\x20\x5c\x31\xa3\x15\xd8\x6e\xe0\x92\x39\x2d\xe1\x67\x36\xae\x58\xd0\x0a\x7e\xee\xe1\x8a\x25\xad\x58\xf4\x9c\xad\x58\x89\xcc\xc7\x1d\xad\x58\xca\x7c\xac\x69\xc5\xaa\xe7\x63\xca\xba\x77\x27\x33\x32\x65\xbd\x5c\xcb\x9c\x4c\xfb\x7e\x52\x29\xd5\x47\xd7\x3f\xf7\xaf\x14\x68\xc9\x94\x94\x08\xbc\xd5\x47\x37\x20\xc5\xa2\x88\xea\xa3\x3b\x23\xe5\x54\x42\xf5\xd1\x9d\x93\x02\x51\x40\xf5\xd1\x5d\x90\x72\x51\x3e\xf5\xd1\x5d\x92\xf2\x45\xcf\xd2\x8a\x16\xc8\x1c\xdc\x91\xf2\xa5\xcc\xc1\x9a\x94\xaf\x7a\x0e\xa6\xb4\x53\x77\x32\x0b\x53\xda\xb7\xb5\xcc\xc3\x94\xf5\x0e\x0b\x86\x7c\x62\xe2\x4e\xcf\x7c\x48\x98\xe3\x86\xd6\x07\x42\x3d\x2f\x18\x0a\x30\x13\x00\xb0\x84\x68\xcd\x5c\xa8\xe1\x45\x45\x01\x16\x02\x00\x2f\x33\x0a\xb0\x14\x00\x16\x1c\xdb\x2b\xb1\x46\xe5\xfb\x4e\x00\x58\xaa\x7c\xaf\x05\x80\x15\xc7\xf7\xd4\x17\x65\xa2\x32\x3e\x15\xa5\xc6\x49\xda\x18\x4e\x74\xeb\xec\x56\xbd\xb9\x3a\x7b\x61\x87\xae\xf3\xe4\x5f\xdf\xa7\xeb\x36\x0d\x6f\xe3\xd6\x75\x9b\x94\x97\xf3\xec\xba\x8d\xcf\xdb\x38\x77\xdd\x46\xeb\x6d\xfc\xbb\x6e\x63\xf7\x72\x2e\x5e\xb7\x59\x7c\x1b\x2f\xaf\xdb\x9c\xbe\x8d\xa3\xd7\x6d\x86\x5f\xce\xd7\xc3\x3b\xfa\xb7\x71\xf7\x70\x04\xe1\x6d\x3c\x3e\x1c\xb1\x78\x61\xa7\xaf\xce\x20\xbf\x0f\x5b\x58\xd8\xf5\xc3\x66\x50\xe3\xfd\x61\x43\x25\x3b\x80\xd8\xbe\x68\x7c\x40\x6c\x01\x34\x6e\x20\x9e\xa3\xb2\x27\x88\xa7\x96\xc6\x19\xc4\xca\xaf\xf1\x07\xb1\x7a\xca\x2e\x21\xd1\x2a\x8d\x57\x48\xc6\x5d\xe3\x18\x92\x91\x51\x7c\x43\x2c\x4c\xd9\x3d\xc4\xb2\x04\x3d\x44\x2c\x4a\xd8\x49\xc4\x92\x94\xfc\x44\x2c\x48\xd8\x55\xc4\x72\x84\xbd\x45\x2c\x46\xc9\x61\xc4\x52\x84\x7d\x46\x2c\x44\xd8\x6d\xc4\x32\x94\x3c\x47\x22\x42\xd8\x79\x24\x12\x84\xfd\x47\x22\x40\xd5\x85\xc4\x12\x94\x0e\x16\x0c\x55\x36\x07\x13\x0b\xd4\xe2\x63\x62\xc9\xea\xdc\x4c\x2c\x62\x8b\xa7\x89\x65\x6d\x71\x36\xb1\xd0\x75\xfe\x26\x96\xbe\xc5\xe5\xc4\xc3\x60\xf1\x3a\xf1\x78\xe8\x1c\x4f\x32\x30\x16\xdf\x93\x8c\x90\xc6\xfd\x34\xbf\x27\x74\xb3\xf8\x56\xfd\xcf\x2c\x7e\x61\xff\x33\x8b\xdf\xc2\xff\xcc\xe2\xb7\xf2\x3f\xb3\xf8\x25\xfd\xcf\x2c\x7e\x2b\xff\x33\x8b\xdf\xca\xff\xcc\xe2\x97\xf4\x3f\xb3\xf8\xad\xfc\xcf\x2c\x7e\x2b\xff\x33\x8b\x5f\xd2\xff\xc4\x2f\xb5\xde\xc6\xff\xc4\x2f\xd1\xde\xc6\xff\xc4\x2f\xed\x5e\xd8\xff\xcc\x62\xc8\xff\xc4\x16\x16\xf6\x3f\xb1\x19\xd4\xf8\x9f\xd8\x50\xc9\xfe\x27\xb6\x2f\x1a\xff\x13\x5b\x00\x8d\xff\x89\xe7\xa8\xec\x7f\xe2\xa9\xa5\xf1\x3f\xb1\xf2\x6b\xfc\x4f\xac\x9e\xb2\xff\x49\xb4\x4a\xe3\x7f\x92\x71\xd7\xf8\x9f\x64\x64\x14\xff\x13\x0b\x53\xf6\x3f\xb1\x2c\x41\xff\x13\x8b\x12\xf6\x3f\xb1\x24\x25\xff\x13\x0b\x12\xf6\x3f\xb1\x1c\x61\xff\x13\x8b\x51\xf2\x3f\xb1\x14\x61\xff\x13\x0b\x11\xf6\x3f\xb1\x0c\x25\xff\x93\x88\x10\xf6\x3f\x89\x04\x61\xff\x93\x08\x50\xf5\x3f\xb1\x04\x61\xff\x13\xcb\xd1\xec\x7f\x62\x81\x5a\xfc\x4f\x2c\x59\x9d\xff\x89\x45\x6c\xf1\x3f\xb1\xac\x2d\xfe\x27\x16\xba\xce\xff\xc4\xd2\xb7\xf8\x9f\x78\x18\x2c\xfe\x27\x1e\x0f\x9d\xff\x49\x06\xc6\xe2\x7f\x92\x11\x1a\xef\x7f\x72\x07\x80\xdc\xf4\x70\xab\xfe\x67\x7a\x78\x61\xff\x33\x3d\xbc\x85\xff\x99\x1e\xde\xca\xff\x4c\x0f\x2f\xe9\x7f\xa6\x87\xb7\xf2\x3f\xd3\xc3\x5b\xf9\x9f\xe9\xe1\x25\xfd\xcf\xf4\xf0\x56\xfe\x67\x7a\x78\x2b\xff\x33\x3d\xbc\xa4\xff\x89\xcf\x75\xbd\x8d\xff\x89\xcf\x91\xbd\x8d\xff\x89\xcf\xad\xbd\xb0\xff\x99\x1e\x20\xff\x13\x5b\x58\xd8\xff\xc4\x66\x50\xe3\x7f\x62\x43\x25\xfb\x9f\xd8\xbe\x68\xfc\x4f\x6c\x01\x34\xfe\x27\x9e\xa3\xb2\xff\x89\xa7\x96\xc6\xff\xc4\xca\xaf\xf1\x3f\xb1\x7a\xca\xfe\x27\xd1\x2a\x8d\xff\x49\xc6\x5d\xe3\x7f\x92\x91\x51\xfc\x4f\x2c\x4c\xd9\xff\xc4\xb2\x04\xfd\x4f\x2c\x4a\xd8\xff\xc4\x92\x94\xfc\x4f\x2c\x48\xd8\xff\xc4\x72\x84\xfd\x4f\x2c\x46\xc9\xff\xc4\x52\x84\xfd\x4f\x2c\x44\xd8\xff\xc4\x32\x94\xfc\x4f\x22\x42\xd8\xff\x24\x12\x84\xfd\x4f\x22\x40\xd5\xff\xc4\x12\x84\xfd\x4f\x2c\x47\xb3\xff\x89\x05\x6a\xf1\x3f\xb1\x64\x75\xfe\x27\x16\xb1\xc5\xff\xc4\xb2\xb6\xf8\x9f\x58\xe8\x3a\xff\x13\x4b\xdf\xe2\x7f\xe2\x61\xb0\xf8\x9f\x78\x3c\x74\xfe\x27\x19\x18\x8b\xff\x49\x46\x68\xbc\xff\xc9\x9f\xec\x75\xdb\x9b\x3d\x4e\xd9\xbe\xf4\x89\xca\xf6\x4d\x0e\x55\xb6\x6f\x76\xae\xb2\x7d\xd1\xa3\x95\xed\x9b\x9d\xae\x6c\xdf\xec\x80\x65\xfb\xa2\x67\x2c\xdb\x37\x3b\x66\xd9\xbe\xd9\x49\xcb\xf6\x45\x0f\x5b\xb6\x6f\x77\xde\xb2\x7d\xbb\x23\x97\xed\x2b\x9c\xba\x6c\xc1\x83\x97\xad\xfe\xec\x65\x6b\x38\x7e\xd9\x42\x27\x30\x5b\xc3\x21\xcc\xd6\x70\x0e\xb3\x85\x8e\x62\xb6\x86\xd3\x98\xad\xe1\x40\x66\x0b\x9d\xc9\x6c\x4d\xc7\x32\x5b\xd3\xc9\xcc\x16\x3e\x9c\x89\x85\x29\x3b\xa0\x58\x96\xa0\x03\x8a\x45\x09\x3b\xa0\x58\x92\x92\x03\x8a\x05\x09\x3b\xa0\x58\x8e\xb0\x03\x8a\xc5\x28\x39\xa0\x58\x8a\xb0\x03\x8a\x85\x08\x3b\xa0\x58\x86\x92\x03\x4a\x44\x08\x3b\xa0\x44\x82\xb0\x03\x4a\x04\xa8\x3a\xa0\x58\x82\xb0\x03\x8a\xe5\x68\x76\x40\xb1\x40\x2d\x0e\x28\x96\xac\xce\x01\xc5\x22\xb6\x38\xa0\x58\xd6\x16\x07\x14\x0b\x5d\xe7\x80\x62\xe9\x5b\x1c\x50\x3c\x0c\x16\x07\x14\x8f\x87\xce\x01\x25\x03\x63\x71\x40\xc9\x08\xe9\x1c\x50\x9a\x18\x9a\xff\x2a\x5d\x4c\x41\x05\x24\xb9\x85\x52\x44\xf7\x99\x92\x48\xc2\x4f\x29\x11\x6a\x53\x94\x70\xde\xbb\x3e\x8f\x1a\x43\x84\x42\x9c\x2b\x5a\xce\xb5\x8f\xa9\x6f\xc5\x1b\x48\x02\x2d\x96\x5d\x11\x3f\xfe\x80\xff\x7b\xe6\xa8\x6a\xe1\x59\x72\x6c\x30\xd9\x31\x4d\x64\x5d\x67\x5c\x56\xeb\xee\x07\xd7\xe5\xd9\x20\x94\x3e\xe1\x35\x90\xed\x5a\x20\x7a\x7d\xb2\x6c\x5d\x73\x22\x32\x08\x09\x95\xa5\x20\x35\xe6\x18\x96\x6d\xdf\xb3\xa6\x4a\xca\x0e\xbe\x93\x97\xd3\x54\x9b\xbc\x39\xba\xc5\xde\x6d\x1e\x4b\xf4\x5d\x11\xc7\x1f\x55\xc1\xf0\xd9\x0a\xfd\xc5\x47\x86\x09\x67\xe8\x1d\xf0\x90\x84\xbd\xe6\xc6\xab\xa1\x35\xbd\x89\x46\xf8\xf5\xd3\xd0\x2f\x56\x00\x64\x23\xd7\x61\x24\xfc\x08\xed\xaf\x65\x4a\x8b\x82\xe3\xcc\x00\x73\x05\xb3\xf5\x29\x8a\x50\x5d\x4f\xc4\x9f\x1c\x99\xbe\x04\xca\xc7\x1e\xef\xf7\x7e\x7c\x07\x72\x4d\xdb\xe9\x7a\xfe\xa7\xd8\x47\xeb\x68\x69\x6f\xaa\xeb\xb1\x04\x04\x72\x27\x90\x48\xf2\x7d\x31\xe1\x9e\x39\xc4\xe4\x27\x88\x62\x8d\xe2\xfd\x0a\xe4\xb2\x6b\xa4\xed\x5d\x34\x47\xb3\xfd\xcc\xd2\x4e\xd7\x35\x1e\x02\x62\x4a\x44\xfe\x10\x56\x79\x92\x1f\x26\xe2\x4f\x0e\x77\x5f\x02\x66\xd4\xa7\xd9\x39\x01\x36\x68\x3b\x6d\x1f\xf7\xe1\x3e\x88\x22\x7b\x53\x5d\x37\x25\x20\x90\x3b\x81\x44\x1c\xe6\x07\x54\x4d\x84\x5f\x1c\x72\x56\x00\x22\x0a\x62\x14\x23\x90\x57\xd2\x4c\xdb\x4b\xb4\x8b\x22\x4d\x2f\xf9\x96\xba\x4e\x8a\x30\x10\x6b\x3d\x81\xce\x70\xba\x49\x4e\xd2\x55\x36\xc7\xf3\x88\x1c\x7f\xac\x55\x8c\xf6\xe1\x29\x6d\xb8\x56\xf3\xe5\x3c\x9c\x43\x99\xf4\x45\x7b\x4e\xc9\x8d\xa4\xc5\x37\x71\xf8\xe9\xc3\x78\x56\x4b\xc4\xc5\x40\x5d\xe0\x28\xa4\x66\x19\x63\x37\x48\xb8\x15\xaa\xcb\x22\xaf\x93\x7b\x39\x1b\x21\xe7\x32\xf4\xb9\xfd\xda\x4d\x1f\xfa\x91\xee\x4d\xe8\x8a\xba\xba\x63\x82\xbf\x21\xee\xaf\x51\x50\xc9\xe8\x19\xda\x17\x55\xe6\xd2\x7b\xae\xec\xb9\xa6\x49\xea\x57\xea\x9e\x48\x97\x22\x88\x19\x7d\x83\xfe\x16\x04\xed\xd8\x49\xc3\x93\x64\xe1\x81\x5e\xd1\xd4\x6f\xe4\xb8\x36\x69\x52\x6e\x86\xbc\xe8\xed\xd6\x58\x27\xaf\xfb\x42\x66\xe0\xc5\xc7\xd1\xe9\x49\xf9\x81\xe6\x53\x8c\x3a\xde\x74\x51\x4f\xf8\xfd\x26\xb9\x91\x45\x81\xd9\x3e\x2b\x32\x31\x33\xaa\x19\xdf\xb3\x30\xf5\xd2\x48\xc6\xf4\x5a\xd4\xd1\x0d\xd6\x7a\xd4\x96\x61\x1e\x9b\xef\xee\x83\x75\x9c\xa6\xb2\x1f\xa5\x9b\xc2\x2c\x5f\x44\xbb\xd9\x7e\x48\x78\x2f\xa3\xe5\xee\x8f\x2a\x4f\x8d\x5b\xa6\x61\x84\x8e\xf8\xae\xbd\xb3\x98\xb7\xbf\x28\xc3\x28\x69\x1e\x71\x02\x59\xa9\x5f\xc5\x6f\x4f\x68\xd7\x89\xe3\xc9\x34\xaf\x6f\xd2\x27\xe0\x17\x8a\x7f\xad\x50\x18\x17\x79\xfa\xf8\x19\x5a\x12\x48\x3a\x64\x1b\x46\x28\x6f\x3f\xb9\x27\x40\x84\xc7\x77\x51\x74\x66\x87\xdd\x4b\x91\x9d\xd2\x26\x29\x53\xf4\xf9\x23\xbb\x81\x2b\x0a\xd3\xe8\xbb\x80\x26\x65\xfe\xc1\x09\xca\xf6\x23\x88\x0a\xeb\x02\xd1\xa8\xfb\x30\x3d\xa1\x31\x6a\x21\x72\x8f\x6f\xcc\x12\x65\xe1\x56\xdd\x22\x29\xdd\x81\x85\xa3\x54\x18\x8a\x5c\xc0\xc0\x5f\xfa\x80\xb9\x25\x96\xd5\x75\x3a\x9b\xf5\xbd\x13\x7c\x94\xef\x80\x80\x81\xe4\x1b\x51\x24\x32\x6e\x7a\x00\x28\xad\x46\x91\x52\xa0\x80\xfc\xf6\x12\xb5\x3a\x03\xa8\x05\xa3\xa8\x29\x50\x03\x35\xef\x6e\x25\x53\x23\x37\x23\x08\x17\x67\x80\xf7\x66\x2c\xd4\x1c\xe5\xfe\x56\x4e\xc7\x2f\x8c\x5d\xdd\x84\x4d\x12\x3d\x15\xb5\xb2\x04\x52\x1b\x44\x16\x21\x20\xd5\x2f\x5d\x62\xcb\xd6\xf1\x41\x46\xc4\xb2\xf4\x30\xb1\x03\xd5\xd9\xc4\x23\xf6\x00\xdf\x9e\xe5\xa6\x87\x9f\xac\x8d\xc6\xb5\xe0\x61\xc2\x38\x2e\x72\xb5\x19\xff\x7b\xd7\xe4\x30\x9e\x5d\x23\xb5\xac\xb3\x6b\x59\xd4\xb5\xb0\xb0\xd8\x35\x1b\xcb\xa2\x35\xf9\xa5\x51\xea\x32\x83\x66\x3e\xc6\xb2\xca\xb1\xc5\x52\xce\xcb\xb7\x7d\xd0\xd9\x02\xa6\xcb\xb6\x12\xa0\x36\x72\xd7\xe4\x26\x2b\xab\x30\x7a\xa5\x95\xd6\xb5\x57\x24\x62\x44\x02\x10\x75\xeb\x6c\xcc\xea\x30\xf5\xee\xa6\xd4\x80\x29\xd3\xcb\x34\x0f\xcc\xea\x3e\x76\x46\x08\x63\x48\x8c\xec\x54\xbd\xb2\x25\x80\x06\x71\xa6\x0c\x22\x44\xe1\x29\x83\x98\x1e\xbe\x6e\x10\x87\xf6\x5f\x3f\x88\xe9\x61\xcc\x20\xce\xbc\x29\x8e\xbe\x0e\xc3\x88\x69\x02\xb7\x93\xd1\xea\x06\xb5\x8d\x3e\xf7\xbb\x27\x28\xc4\x11\x45\x5f\x80\xac\xa3\x60\x6b\xe1\xba\x24\xae\xbd\xc7\xfc\x1a\x87\x2b\xa4\xab\xbf\xe8\x6a\x01\x7e\x8f\xda\x44\x4c\x14\x45\xf5\x43\x5e\x7f\xa4\x5b\xb1\x78\x2c\xe4\x1e\xe0\xbe\x4f\xe1\xae\x2e\xd2\x53\x83\x54\x19\x48\xb9\x85\x55\xc1\x10\x54\x9b\xce\xdb\x23\x37\x8d\x0c\x58\x89\xf5\x94\x80\xf1\xa5\x27\x9a\xfb\x16\x64\x38\x40\x56\xf0\x6d\x60\x6a\xd3\x1f\x00\xaa\x7c\x57\xd8\x25\x3e\xa2\xf7\x86\x50\xdc\x79\x79\x67\xad\x2a\x50\x40\x16\xac\x11\xcd\x0d\x8b\x36\x0a\xa5\x34\x10\x24\xad\x1f\x81\x7a\x89\x46\x85\x4a\x14\x36\x9b\xbc\xa0\x4f\x7c\x5d\x2f\xd2\x08\x75\x43\xe9\x90\xcb\xee\xbd\xc5\x52\xdc\xaa\x72\x2d\xa8\xe1\x20\x96\xcd\x61\x0f\x5b\x2b\xc4\xc5\x3b\x86\x35\xeb\x8a\x23\xb9\x74\x13\xa9\xf2\x54\x37\x05\x67\x0f\x85\x4a\x79\xe4\xc0\x6a\x49\xee\x26\x18\x61\xaa\x2c\xa2\xdd\xdd\x22\xba\xe8\xc1\xcf\xca\x6e\x4d\x85\x57\x6c\x93\x88\x5d\xdd\xf0\xe1\x42\x75\x3f\x13\xee\x97\x28\x34\xf0\xc2\x4a\xcf\x4a\x74\xe3\x54\xa5\xdf\xbd\x8b\xc3\x26\xdc\xe0\xdf\x9f\xea\xfb\xc3\x0f\x6d\x96\x6e\xa3\x63\x58\xd5\xa8\xf9\xf1\xd4\xec\xef\x26\xef\x67\x7f\xad\xef\x0f\x4e\x9b\xa5\x79\xfd\xe3\x87\x63\xd3\x94\x9b\x4f\x9f\x1e\x1e\x1e\xbc\x87\x99\x57\x54\x87\x4f\x81\xef\xfb\x5d\xcb\x0f\xce\x7d\x82\x1e\xfe\x52\xb4\x3f\x7e\xc0\xef\xe8\x9d\xbb\x0f\xef\x67\xff\xf1\x7e\xf6\xd7\x32\x6c\x8e\xce\x3e\x49\xd3\x1f\x3f\xbc\x0f\x66\xa4\x1f\x1f\x9c\xf8\xc7\x0f\xbf\x04\xde\xcc\x59\x7a\xab\xd9\xcf\xde\xd2\x99\x7b\x8b\x59\xe4\x7a\x73\x77\xea\xf9\x73\x6f\xbe\x74\xa7\xde\xbc\xd3\x0a\xd7\xbb\x4b\xa7\xde\xd4\xe9\x7e\xce\xbc\xb9\x3b\xf3\xee\x22\x6f\xe9\x7a\xcb\x99\x33\xed\xfe\x06\x2b\x67\xea\x05\xde\x2a\x75\xe7\xce\xdc\x5b\x76\x28\x66\xde\xc2\xf5\xee\x30\xaa\xa9\x37\xfd\xed\xc3\x27\xc2\x47\xc7\xe4\xfb\xd9\x7f\xbc\xfb\x48\x64\x45\x27\x06\xac\x63\x43\x25\xa0\x63\x7d\x25\xac\x63\x52\x35\xa8\x63\x30\x8c\xa0\x63\x7b\x3f\x8c\xe7\xe8\xa2\x07\x97\xe3\x7e\x10\xbc\x56\xc7\x08\xf4\x16\x42\xa1\xdb\x68\xea\xf9\x66\x36\xe6\x26\x14\x8c\x74\x82\x28\xd8\xdc\x9b\x3b\x0b\x6f\x16\xcc\x8f\xae\x77\x77\xef\x06\xde\x7c\x79\xf4\xee\x7e\xcb\xfc\x4e\x9d\x82\xae\xf0\xff\x5d\x78\x77\xeb\xae\xec\x97\x99\xb7\x5a\x7a\xcb\xd9\xcf\x9e\x3f\x77\x56\x9e\xbf\x5a\x44\xae\x37\x9d\x2e\xbc\xc0\xf3\xa7\x4b\x6f\x1e\x2c\xbc\xa0\xfb\xb3\x3c\xae\xbc\xd9\x7a\x15\x79\xc1\x3c\x70\x7c\xc7\x9b\xad\x02\xd7\x0b\x82\xa5\x17\x2c\xee\xdc\xae\xfe\xaf\x4b\x6f\x15\x74\xfa\xbc\x0e\x3a\xe2\xf3\x95\x13\x78\xab\xb5\x33\xf7\x82\xc5\xcc\x5b\xce\x30\xd6\x99\xeb\x4d\x57\x73\xd7\x9b\xad\xe9\xc3\x7c\x3d\x77\x7c\x9d\xa6\x12\x6b\x0f\x2b\x6a\x5f\x07\xe8\x29\xab\x83\xd5\x54\xac\x05\xb5\x14\x04\x11\x94\x34\x5e\x2f\x66\xf3\xfd\x45\x0b\x2d\xe9\x28\x04\xae\x55\x51\x02\xbc\x85\x30\x40\x2a\x1a\xef\x57\xfb\x95\x9e\x13\x5a\xf8\xe2\x3a\xda\xeb\x21\xe1\x94\x53\x5a\x37\x70\xdc\xc0\x59\x39\x2b\x5e\x6d\xeb\xa6\x2a\xbe\x20\xa1\x41\xa7\xb8\xbe\xe3\xa7\x33\x67\x96\xf9\xee\xec\x67\xdf\x99\x31\xc5\x88\x92\x2a\x4a\x91\x53\xfd\xf8\xc1\x5b\x48\x65\x51\xfb\xe3\x87\xd9\x07\xb8\xea\x51\x5f\x45\x5a\x41\x10\x9c\x12\x62\x39\x4a\xae\x13\x17\x2a\x7d\x8e\x1b\x39\xf0\x55\xac\x55\xf1\xe0\x88\xb7\x72\x88\xc5\x10\x24\x17\xb1\x25\x2e\x19\x71\x51\xfa\x0a\x5c\x88\xaf\xa4\xab\xfb\x2a\x86\x5d\x68\xa0\x02\x0a\x1d\xe7\xa7\x11\x77\xb4\xc2\x90\x6d\x8b\x6f\x2c\xde\x73\xfa\x7c\xb2\x7b\x89\x6e\x0b\xc8\xcb\x30\xfa\x22\x97\xff\xf3\x54\x37\xc9\xfe\xd1\x65\x77\xbb\xc9\xf8\xf9\x36\x1a\x58\x25\x52\xa8\x4a\x9a\x6c\xa0\x5e\x46\x64\x5f\x75\xaa\xf9\xe6\xf5\x76\x8c\x74\xe5\x77\x6c\xc2\xd5\xbb\xc3\xb9\x6d\xf9\xd0\x8f\xb0\xdf\x81\x10\xb2\x90\xa5\x61\x87\xc5\x9a\x71\x86\xff\xcc\x9f\x14\xd7\xe3\x26\xb3\x48\xde\x66\x8e\x67\x11\xcf\xdd\x3f\x26\x21\x2b\xe6\x86\xd9\x70\xef\x1c\xac\x3e\xba\x58\x80\x01\x5a\xda\xf3\xcb\x37\x6e\x09\xb4\xf9\x7b\x2c\xe5\x0b\x83\x04\xfc\xa2\xdf\xf3\xc7\xe0\xf6\xb0\xc6\x51\x11\xa5\xe6\x26\x79\x9c\x44\x61\x53\x54\x72\xec\x64\x6b\xba\x99\x5b\x18\x23\xf9\x70\x20\x6a\x1b\xaa\x40\x12\xe9\xce\x3f\x63\x5e\xa6\xc6\xf9\x3c\x63\x55\xb8\x5c\x70\x70\x12\xe4\x40\xba\x30\x57\x7d\xd3\xc1\xdd\x8f\xca\x94\xfd\x98\x34\xc8\xc5\x37\x54\x6e\xf2\x02\xdb\x60\xd0\x70\xf4\x63\x70\xaa\x51\xe5\x92\x88\x20\x3d\x06\x90\x15\xbf\x41\xa5\xb5\x5a\xa8\x14\x28\x47\x00\xf8\xb7\x2f\xc0\x4d\xb6\xd2\x61\x86\xb7\xbc\xbf\x14\x0f\x03\xbd\xcd\x1f\x3f\x92\xc3\x3c\xe0\x35\xfd\x5d\xbd\xc7\x81\x4a\x17\xf3\x6f\xd5\xf7\xeb\x78\x59\xf5\x9d\xa0\x6c\xc9\xa9\x88\x60\x32\x9d\xae\x26\xc1\x74\x39\xf1\x02\x7c\x32\x62\x1c\x20\xa1\x3c\xbc\x0d\xee\x88\x1b\xde\xe4\xf6\x6f\x7f\xbd\xe5\x82\x34\x65\x27\x15\xbb\x86\xe4\x59\xdd\x29\xe0\x2e\x86\x22\x25\x76\x8f\xfa\xaf\xac\xe4\xb3\x13\x92\xa0\x3a\x89\x7a\xba\xe8\x1e\xe5\x4d\x3d\x88\xc7\x2d\xab\x24\x0b\xab\x47\xf3\xa9\x20\x3f\x58\x2d\xe2\x3b\x69\xef\x43\x0a\x05\x2c\x74\x30\x2c\xb8\x16\x61\xb8\x90\x71\x4d\x17\xf3\xf5\x4e\xc0\xc5\x0d\x5c\x8f\x9e\x0c\xe0\x55\xc3\x36\x76\xd4\xe8\xa0\xf5\xd4\x85\xc1\xeb\x19\xe8\x07\xf1\xe9\x32\xe2\xc7\xb6\xc7\xcb\xca\xea\x63\xf1\xf0\x93\xc8\x47\x55\x94\x71\xf1\xd0\x2d\x48\x87\x43\x6a\x39\xbd\xc5\x64\x0b\x9e\x1b\xd2\x4b\xbc\x46\x51\x91\xc7\x9c\x16\xb0\x5b\x65\x47\x9c\xfc\xc0\xe7\xd9\x04\x24\xa2\x12\x68\x51\xa1\x65\xf7\x8f\x84\x2d\x8c\xbb\x7f\x24\x84\xbc\x26\x0c\x54\x46\xeb\x82\x3f\x9f\xb0\x7f\x2d\xda\x20\x42\xca\x5c\x88\x1a\x31\x30\x62\xd0\x89\x31\xe2\x12\xf4\x61\xc0\xaa\x6a\x04\xc7\x09\xac\x13\x56\x51\x8f\x50\x0b\x7e\x00\x92\x7c\x5f\x98\xf5\x6d\xb1\x8b\xfc\x58\x46\x41\x0a\x07\x14\x63\x8c\xc2\x6c\xba\xf3\x63\xd9\x28\x04\x61\xb8\x8b\x83\x01\x11\xaf\x07\x18\xf1\x58\x15\x58\x4f\x27\xd3\x75\x30\x09\x82\xc0\xa2\x01\x22\x20\x47\x59\x1c\x7b\x4c\xdc\x30\xec\xa3\xc4\x22\x8c\x3b\xc6\xa8\x0e\x39\xa1\x7d\x8d\x05\x60\x82\x1c\x31\xd4\xbc\x78\x59\x4c\xde\x3c\xda\xfa\x17\x01\x02\x96\x31\x03\x3e\x9f\xaf\xe3\xf9\x5c\xc2\x35\x9f\xae\x97\xf3\xa9\x80\x4b\x98\xfb\x14\xfd\xe8\x61\x0f\x26\xd3\xbb\xf9\x64\x6d\x1d\x75\x1e\x4e\xa4\x2e\xcd\x79\xca\x80\x69\xe8\x47\xca\x48\x9c\xf5\x14\x2f\x30\xe7\x19\x1f\xd7\xe8\x00\x93\xed\x08\x1d\xe0\x25\xce\xc2\xe6\x46\xdc\x86\x40\xbd\x80\x65\x8c\x0e\xa0\x68\xbd\x9a\xca\x06\x12\xed\xd6\xb3\xe9\x52\xc0\xc5\xeb\x00\x43\x3f\xda\xfa\xcf\xfd\xc9\x74\x35\x9b\xac\xee\x6c\xc6\x5f\x00\x14\xe9\x8b\x5a\xc0\x58\x30\xd9\xfd\x91\x52\x12\xb4\x80\xe1\x55\xb5\xa0\xe7\xe3\x1a\x2d\x60\xd2\x1d\xa1\x05\xbc\xcc\x69\x5c\xda\x88\xda\x10\x0a\xe7\x91\x8c\xd1\x81\x68\x3d\xf3\x03\x79\xbe\x44\xd3\x00\x05\x21\x8f\x8a\x57\x01\x8a\x7c\xb4\x06\x4c\x57\x93\xbb\xd9\x64\xb5\xb6\x29\x00\x0f\x27\xd0\x16\x87\x9f\x92\x37\x8c\xfe\x48\xf1\x08\x83\x4f\xb1\xaa\x63\xcf\x78\xb8\x66\xe8\x99\x50\x47\x0c\x3d\x2f\x6a\xba\x31\x92\xb7\x04\xcc\xb1\x85\xb1\x8d\xb8\xb2\x1f\xf0\x85\x25\x52\xe3\xf6\x0d\x16\xff\x5a\xc2\xc9\xab\x8c\x4c\xee\x15\xf6\x11\x32\x37\xa2\x12\xc9\x0c\x0d\x9b\x43\x9d\xcc\x15\xe9\xc2\x64\x78\x9d\x92\x89\xa8\xca\xa5\x30\x79\xdd\x66\x63\xe4\x80\x28\xdb\x8b\x28\xd2\x2a\xe7\x78\x75\xea\x3d\x69\x85\xcc\x28\xbb\x13\x29\x46\x47\x8b\x0f\xd2\xa4\x57\xdf\x87\xa8\x5c\xc1\x1a\x05\xec\x4b\x60\xa9\x5b\x14\x0a\xde\x9f\xa8\x54\xf4\x4a\x65\xdd\xaf\x3c\x79\x64\xf8\x8d\x09\xf3\xb5\xbf\x56\x9d\x78\xf7\x9c\xa7\x33\x46\x99\xac\xfe\x3e\x8f\x10\xd2\xa6\xd7\xdb\xcd\x08\x9c\xc0\x1a\x24\xee\x6e\xb4\x62\xb6\xe8\x8f\xb2\xc5\x11\xd0\xeb\xb5\xe6\xfa\x2d\xcf\x68\xe9\x4b\x9b\x1c\xf5\x08\xd3\x13\x35\x87\xf3\xee\x25\x52\xa3\x94\xc7\xb6\x63\x90\x70\x82\xd6\xe8\xf5\x76\x46\x32\x37\x1a\x2b\x24\xef\x94\x2c\xc7\xc6\xf4\x66\x08\xd8\x2e\xc9\x44\x0c\x26\xe8\x29\xdb\xa7\xd1\x03\x22\x6f\x98\x94\xe3\x4a\x4f\xd3\x27\x7e\x9f\x20\x91\x1a\xa3\x4f\xd6\xbd\x87\x84\x13\xd2\xa7\x57\xdd\x65\xc9\xfc\xc0\x1a\xa5\xec\xba\x2c\x87\xc4\xb4\x1a\x05\x6d\xbd\x64\x22\x7a\x8d\x7a\xd2\x56\x6c\xf4\x90\x88\x9b\x2f\xf5\x70\xd1\xd3\x14\x8a\xdf\x7a\x88\x94\xc6\xe8\x93\x75\x37\x23\xa2\x84\xd4\xe9\xf5\x76\x6c\x12\x2f\xb0\x2a\xc9\x3b\x38\xad\xb8\x2d\x9a\x04\x6c\xe3\x24\x12\x7a\x3d\x7a\xca\xb6\xce\x3a\x12\x69\x92\x7f\x39\xcb\x2f\x23\x41\x6f\x9d\xbe\xba\xf3\x87\x76\x93\xfe\x49\xe8\x50\x57\xb0\x51\x0a\xf4\x9b\x5f\x45\x58\x22\x6e\x15\x15\x51\x0a\xa1\x4f\x20\x0e\xf6\xd1\xbe\x1d\x90\x53\x40\xae\x61\xff\xda\x63\x1e\xdd\x45\x5b\xf9\x75\xe1\x29\x8f\x51\xd5\x0d\xcc\x88\xe1\x17\x25\x40\xf1\x92\xaf\x15\x00\x00\x85\x9d\xbe\xc2\xf2\xe2\x92\xfb\x88\x05\x7f\x13\x86\x11\x1c\xbe\xee\xeb\x98\x01\x6d\x9d\x71\x68\x87\x4f\x13\x9f\xf4\xe1\x54\x87\x02\xbf\x08\xd7\x7e\x22\xcf\xc1\xfc\xc0\x81\xf3\xdf\x15\xe0\xd3\xf6\xf8\x4c\xc6\xaf\xcd\x63\x89\x7e\xdc\x9d\x9a\xa6\xc8\x3f\x0f\xd0\x13\xae\xb2\x42\x35\x6a\x34\x75\xf5\x69\x97\x25\x7c\x25\x7f\x3c\xce\xdb\x87\x31\x3a\xb3\xd7\xad\x3e\xf4\xd2\x9a\x56\xe2\xaf\xab\x9d\x4e\x25\xc2\x4a\x7a\x69\x0d\x41\x98\xab\x09\x5d\x6c\x06\xce\xdc\x97\xbe\x51\x91\xa6\x61\x59\x0f\xa7\x18\xc9\xe0\xb3\x62\x02\x2f\x7e\x2a\xdb\x54\x9a\x6a\x9a\xd4\xa0\x78\xb8\xe0\xec\x38\x36\x28\xa2\x06\x3d\x2d\xfc\x49\x86\x72\x14\x86\x1e\x61\xf0\xfb\x74\x0b\x9b\x63\x12\xc7\x28\x87\xc4\x46\x60\x1d\x6f\xb6\x20\xaf\xeb\x25\x99\x29\xd5\x86\xba\x4b\x6f\x16\x27\xf8\xe9\x54\xaa\xbc\x5d\x64\xd3\xb9\xd9\x84\xfb\x06\x55\xa6\x13\x64\xfe\xd0\x21\xe1\xdb\x97\x99\x7a\x60\x84\x1e\xbe\x60\x87\x58\xde\xbd\xe3\x73\x4b\x75\x0d\xc8\xb9\x89\x7e\x3e\x90\xb3\x27\x7d\x39\xf4\x35\x6b\x4f\x4b\x05\x51\x3b\x23\x9d\x54\xb8\x50\x39\x38\xba\x5e\x73\xdc\xf9\x52\x0e\xab\x81\x24\x47\x26\x43\xf9\x09\xf8\xde\x09\x67\xce\xf2\xfd\xf7\x5b\x72\x4c\x67\xfb\x9b\x9b\xe4\x31\x6a\xbb\x32\x7f\xcb\x2b\xe9\x76\x9f\x16\x61\xb3\xe9\xc0\xb6\x5c\x62\x59\x9f\xfb\x18\x98\x9e\x1f\x61\xb2\xde\xb0\x4f\x6b\x7c\x47\xfe\xca\x78\x2b\xbe\xbf\xe4\x0e\xcb\x60\xfc\x69\x52\x37\x34\xa7\x07\xec\xf9\xe0\xe5\xf2\x4d\xb2\x62\x70\x12\x8d\x93\xfb\x24\x46\x55\xff\x19\x65\xd9\xf6\x1d\xa7\x72\x90\x27\x91\x3e\x5f\x4b\x8f\x34\x69\x50\x66\xcf\x3b\x32\x2b\x5b\xb6\x0e\x44\x29\x0a\xab\xcd\xae\x68\x8e\xca\xa1\x24\xad\x90\x93\xfc\x88\xaa\xa4\x81\x8e\x24\x0d\x2c\x76\xbe\x17\x97\x34\x42\xe0\x90\x2d\x71\x62\xa1\xb0\xec\x4e\xe3\x29\x9a\xee\x95\x65\x57\x37\x9e\xab\xfd\x6a\xbf\x96\xa8\xf4\x6e\x89\x48\x86\x9e\x8e\xe1\x34\x61\x24\x11\x16\xa9\x14\x89\x0c\x1e\xa3\x48\x06\x5e\xef\x81\xaf\x13\x2d\x0e\x04\xf1\x04\xc5\x79\x28\x25\x43\xc0\x20\xa1\x3c\xf9\x7b\x70\x62\x6c\xce\xec\xc3\x6b\x2e\x4d\xa4\x08\xd6\x55\x70\x19\x39\xb7\xec\xe4\x5d\x0f\x75\x44\x61\xcc\x19\x4c\xa2\x5e\xd2\xe1\x2f\x5b\x92\x00\xe6\x17\x88\x52\x51\x35\x89\x23\xdb\xc9\xa7\xfb\x31\x98\x9f\x7d\xd2\xa2\x78\x4b\x6c\x17\xeb\xd6\x90\x35\x40\xb4\x44\xeb\x35\x64\x0c\xb1\x18\x3b\x04\xb8\xa7\xec\xf3\x56\x35\xb7\x60\xff\x55\x5f\xef\x08\x4d\x38\x9f\x88\xad\x01\x86\x8f\x5b\x87\x3c\x26\x64\x75\x01\xce\x73\xd2\x2a\xe5\x58\x27\x57\xce\x37\xe3\xc1\x35\x47\x87\x55\x0e\x39\xdf\x0d\x57\xd0\x0f\xa7\x15\xb6\xed\x87\xcc\xa7\xca\x21\xf3\xa9\x70\xc8\x9c\xfc\xd2\xf2\x40\x66\xb9\xcc\x09\x9d\xfb\x6c\xcc\x02\x6d\x73\x61\xab\x01\xa1\xb7\xd5\x73\xce\xf5\x40\x5e\xc5\xaa\x41\xc6\xe1\x00\x99\x75\xba\xc7\x1f\x24\x59\x0f\x85\x8a\x06\x39\xc3\x23\xd8\x8a\xab\xd2\x6b\x1f\x48\x14\xa8\xb5\x60\x80\xd9\xd0\xc2\x88\x1f\x88\xd3\xcf\x9b\xcb\x96\x08\xa3\x29\x8a\x74\x17\x56\x2f\x74\x9c\x19\x9f\x1e\xae\x9b\xb0\x6a\xb4\x07\x8e\xf1\x29\x63\x0a\x22\x1c\x3a\x26\x65\x7a\x70\x81\x7f\xfd\x19\x7f\x49\x23\xf2\xa2\xf9\x6e\xb3\x4f\xaa\xba\x21\xdf\x70\x93\xef\xec\x37\x69\x28\x16\xc8\xce\xd8\xc7\x33\xb8\xbb\xe6\x55\x6d\xc0\x29\x67\xa7\xd5\x43\x5e\x49\x9c\x26\xe1\xc4\x86\xb4\xe7\x84\x73\x5f\xa5\x1a\x85\xf2\x40\x48\x95\x83\x30\x77\x64\x57\x54\x81\x96\x38\xea\x7a\x0a\x32\x24\x54\xc8\xfc\xd0\xd1\x1a\xfc\x4d\x18\x60\xc4\x98\x11\x23\x69\x19\x22\x8a\xcd\x24\x7e\x59\x4c\xb2\x41\x19\x85\x42\x0e\xfc\x3c\xcf\xe0\x51\xd2\xa6\x21\x54\x15\xf1\x2b\x47\x49\xdd\x93\x28\x76\xd6\x2b\x4a\x94\x2b\x70\xbc\x87\x83\x8d\x9a\x54\xef\xd6\x65\x9a\x34\x52\xa6\x00\x9a\x5d\x4f\xf8\x9c\x80\x25\x2f\xd0\x23\x61\xdb\x24\xdd\x9c\x63\xe1\x10\x4d\x73\x16\x25\x19\xc9\xe2\x0c\xe2\x71\xb6\x92\x3c\x0f\x16\xd9\x31\xd2\x4c\x0f\xe3\x68\xf6\x19\x0d\xa4\x4c\x18\x8a\xbf\x33\x38\x39\xaf\xe3\xd2\xf0\x86\xbe\xa8\x92\xce\x3a\x33\x0e\x84\xba\x38\xa9\x50\x44\xdd\xf5\x2a\xe3\x2a\xb1\x2d\x1f\x6a\xa3\x22\x3d\x65\xf9\xb0\x0a\x28\x35\x1a\x78\xe5\xf3\x19\x71\xc1\xe1\x3f\x8a\x81\x16\x1b\xbe\x8d\x0e\xf6\xc5\x3f\xa2\x81\x86\xd1\x19\xb1\xc0\x9f\xe5\x40\x1c\xe0\x49\x69\x1d\x85\x9f\x46\x38\x1c\x3f\x8d\x70\x38\x64\x18\xd1\xe1\xe8\x7c\x77\x77\xd8\x33\x03\x33\x54\xf4\xfb\xec\xd6\xde\x60\xe8\x65\x1f\xd2\x60\xa8\x47\xd9\x65\xc8\x72\xea\xc9\x99\x8c\xf3\x59\x6b\xe9\xc7\x58\x62\x48\xd6\xcf\xb0\x2e\x82\x68\x9f\xb8\x40\x3e\x01\xd7\x53\x56\xca\xab\x46\xe4\x6b\x16\xcd\x6b\x06\xea\xd7\x38\x6c\x42\xda\x0b\x1a\xde\xae\x3f\x63\xcc\x0e\x17\xbe\xc6\x1f\x27\xee\x8a\xf6\xf3\x64\x1c\x7c\x87\xbe\x30\x01\x73\xee\xc1\xb5\x74\x34\x4d\x09\x49\x20\x7c\x88\x83\x6a\x9d\xe5\xa5\x71\x33\xff\xe3\x16\xfc\xee\x88\x77\xc3\xed\x7b\xed\xa7\xef\x32\x78\xbb\xc7\xd1\x94\xbe\x39\x56\x39\xe8\xf7\x82\xb6\xeb\xad\x36\x53\x65\x03\x3d\x15\x36\xd0\xfd\x2f\xca\x8a\x1c\x90\xf0\x0d\x8c\xf5\x7e\x94\x1e\x82\x6e\x7f\xf5\x00\xe2\x46\x7c\x66\xa0\x36\xb1\xe5\x6b\xe3\xbf\x7e\x7c\xde\x0d\xe0\x8d\xf8\x05\x2f\xb5\x68\xeb\x47\xc7\x6e\x9b\x81\x51\xb9\xba\xd5\x53\xd7\xcb\x11\xfa\x30\xf6\x2b\x56\x00\xd9\x19\xcc\x9a\x6d\x4e\x47\x6a\xff\xd0\x96\x7d\xd6\x40\x52\xd4\xaa\x9f\xdd\x6a\xf3\xef\x3e\x31\xfc\xaf\x74\xcb\x9e\xf8\xf2\x29\xa9\x2d\x55\x32\xcf\x99\xec\x12\x60\x1c\xca\xf6\xf8\x94\x7c\x8e\x16\xc6\xbf\x36\xc3\x23\x46\x09\xaf\x6a\x66\x38\xba\x84\xf1\xdf\xfa\x5b\x27\xea\x98\x69\x79\xdd\x24\x54\xfc\x34\xd9\x89\x1a\x8b\x63\x64\x88\x48\x83\x6e\x24\x55\x19\x8c\xf3\x0e\xc6\xb4\x78\xae\x88\x87\x5d\xf2\x67\xe1\xad\xac\x7d\x60\xc5\x08\xd7\x08\x83\x3b\x76\x58\xae\x53\x81\xf1\x4d\x24\x51\x5e\x35\x5e\xd7\xb1\xaa\x78\xf5\xcf\x15\xe4\xe3\x47\xe1\x87\x31\x32\x3f\xf3\xaf\xd1\x25\x35\x80\x5f\x7e\x0c\xf6\xc4\x07\xdf\x48\xc1\xc9\x67\xed\xef\x50\x00\x17\x90\xbf\x35\x8f\xfe\xe6\x9e\x61\x52\x78\x17\x0c\x04\xdc\x21\x58\xc8\x15\x1c\x2a\x55\x2f\x70\xa8\x33\x39\x80\xcf\x64\x01\xce\x42\x02\x0e\xb0\x13\xcf\x32\x3f\x86\x57\x34\x5b\xab\xd4\xcc\xb6\x56\x23\x4d\x73\x23\x58\xca\xe6\x36\xf4\xed\xd8\x48\x23\x7e\x1d\x5b\xd7\x31\xa4\x2a\x82\x94\xaa\xe6\xad\xde\x79\x66\x49\x3e\x78\x70\x50\x08\x93\xf7\x0b\x69\xb0\x13\xbf\x71\x96\xb2\xf9\x2a\x39\x64\xe0\x8c\xbe\x4c\x00\xee\xb4\x4f\xba\xe1\xc3\x8d\x37\xd8\x97\x40\xf1\xff\xa7\x4f\x4f\x33\xe2\xf3\x28\x0d\x6e\x3c\x76\x06\xcc\xda\x43\xb2\x9d\x83\xda\x11\x9c\x90\x9f\xb3\xee\x67\x7f\xb4\x73\x34\xac\x86\x2b\xa2\x80\x4f\xed\xf0\xdd\x3e\x0a\xf7\x48\x83\x9a\x9d\x9f\x30\x21\x1f\x71\x96\xa2\x3f\x22\x73\x1d\x91\x18\xd5\x51\x95\x94\x9d\x2a\x8c\x48\x2f\x6d\x4f\x47\x24\x1c\x98\xa2\xce\x2a\x3d\xa8\x00\x9e\xd6\xe9\xea\x99\x92\x63\x15\x57\xa3\x22\x2f\x94\xe8\x47\x3d\x44\x1c\xc7\x4f\x4d\xb3\x2c\x67\x8b\x92\x92\x27\x2f\xfc\xf7\xf8\x26\x63\x4d\xf9\x20\x57\xea\xa3\x1b\xf2\x3e\xc1\x9b\x2d\x7b\xfb\x71\xd3\xf6\x36\xf2\xc2\xee\x69\x6e\xcd\xa5\xb7\x58\xce\xbd\xd5\x22\x75\x67\xde\x62\xed\xcc\xbc\xe5\x34\x70\xa7\xde\x62\x76\xd7\xfd\x77\xf1\xb3\xef\xcc\xbd\x60\xe9\x04\xde\x7a\x35\x77\x56\x5e\xb0\x70\xee\x9c\xc0\x9b\xae\x67\x50\x7e\xd6\x71\x22\xea\x4c\x60\x83\xaa\x2c\xc9\xc3\xc6\x34\xdd\xf5\xdf\x7c\xbe\xa6\x04\xe7\xce\x5c\x93\xa2\xb4\x97\xa1\xef\x04\xc7\xb9\x5e\x1c\x78\xb7\x37\x5a\xdd\x78\x5d\xd5\xb5\xbc\x31\x45\x73\xe7\x8e\x3b\xe7\x54\x6d\x48\xcc\x3a\xfb\x20\xaa\x9c\x5e\x65\x08\xf7\xb5\x5b\x37\x61\xd7\xad\xdf\x5d\xac\x4f\xdb\x53\x25\x6b\x9f\x74\x66\x4c\xb2\x3e\x96\xd6\x3f\x68\xb0\xb1\x7d\x0b\xad\x25\x46\x1a\x3e\xad\x2c\x5d\x8f\xab\xbf\xb6\x69\x38\xad\x37\x63\x91\x14\xf2\x97\xfd\xa6\x51\x35\x4b\x98\x0c\x3e\xfb\xcc\x9d\xfd\xec\x16\x7c\xe7\x65\xa7\xf8\x02\x34\x92\xb3\xd9\x8c\xa6\x66\x77\xfc\x9f\xf1\x24\xff\x2d\xf3\x9d\xce\x26\xce\x8e\x73\xd5\xfe\x39\xfd\x32\xc6\xae\x04\x20\x62\xb0\x2c\x5c\x77\x65\xeb\x4c\xfd\xb2\x55\x56\xae\xa1\xe2\x69\x57\xe6\x75\x0b\x77\x58\x96\x28\xac\xc2\x3c\x92\x6e\xef\x93\xca\x25\xc5\x80\x3e\x8b\x01\x2e\x59\x03\xda\x5c\x7d\x61\x97\x88\xe3\x2b\xce\xb9\xca\xbe\x19\xc5\xc8\x5f\x49\xa7\xba\xdc\x04\x48\xbe\x1c\x4b\x3e\x42\xd1\x1f\x65\x97\xef\x56\x24\x37\xfb\x13\x54\xfb\x24\x45\x86\x6d\xcc\x88\x29\x16\xc0\xc7\x5d\x35\x5b\x8d\x8e\x1e\xdd\x67\x70\x47\xe0\xe7\x04\x83\x15\xfd\xc6\xdf\xee\x93\xb4\x41\xd5\x26\x4c\xcb\x63\xf8\x1d\x15\xcd\x8f\xfe\x47\x60\x63\x82\x49\x29\x3b\x35\xc1\x0b\x1d\x8e\xce\x4a\x27\x66\x17\x12\x79\x20\xbd\xa3\x68\x1f\x64\xf3\xf0\x86\xce\xea\x90\x3f\xed\xea\xc8\x3c\x20\xb9\x4d\x1a\xe6\x87\xef\x50\xfe\x91\x1d\x07\xea\x3f\xef\xf8\xeb\xb1\x28\x6a\xd4\xd9\x1d\xe4\x79\xde\x3b\xb8\xf5\x66\x87\xf6\x45\x85\x34\xf2\xc7\xa7\x17\x86\x10\x08\x3b\x84\x8c\x9f\xd9\x50\x2c\xa5\xdd\xc1\x57\x0e\xcc\x73\xbd\xcc\xf0\x1d\xf6\x06\x81\x7e\xa1\x61\x93\x1e\x15\x44\x2f\xbe\xbf\x54\xc5\x43\x8d\xde\x5d\xbc\x3c\xbc\x7f\x46\xbf\x41\xcc\x19\x0b\xdc\x27\x27\x7c\x17\x82\xa9\x93\x4f\x20\x75\x47\xda\x3b\xb1\x76\xba\xc1\x00\x59\x08\xa5\xff\x6d\xfa\x24\x8f\x01\x79\xa3\x4d\x24\x69\xd3\x84\xbb\x5a\x0c\x92\xf2\x57\xae\xc7\x31\x07\xe6\xe0\x27\xfc\xd1\x87\xd8\x59\x12\xe3\x12\xc1\x70\x4f\x8d\x89\x5c\x75\x41\x74\xf1\xed\x8a\x1c\x9c\x65\x13\x48\xa5\xc6\x8b\x4b\xaa\x01\x3e\xce\xa4\xca\xe8\xf4\x7f\x81\xae\x9a\xe4\x39\xfe\x03\x67\xe1\x03\x0b\x55\x96\xf8\x83\x8a\x81\x1e\xc4\xbf\x27\x7e\x45\x72\xc5\xc5\xa7\x71\x4c\x06\xd1\x21\x8b\xe9\x80\x5a\xfc\x36\x41\x3e\xe6\xf4\x94\x73\x3e\x1d\xee\x32\x49\x53\x75\xfc\xa1\xa1\xe3\x20\xb5\x42\x90\xb0\x79\xea\xb7\x34\x54\xa9\xe9\x9d\xd3\x86\x28\x57\x87\xa3\x73\xdb\x38\x15\x7e\xb6\xb3\x13\xca\x6b\x5c\x42\x8e\xbc\x6f\x4f\x3a\x17\xfc\x2a\x9a\x78\x49\x16\x68\xe2\x12\xf1\x17\x40\xb3\x09\x77\xec\xdd\xfe\x4f\xf8\x47\x19\xe6\xf2\xa7\x9b\x02\x0c\x15\xa7\xf4\x79\x4f\x1e\xde\xef\xc2\xea\x45\xcf\xbd\xdc\xc6\x86\x0b\x58\xd0\x58\xef\xdd\x5d\xd5\xb9\x83\xa0\x6b\x26\xf8\x81\x01\xe8\x06\x06\x9a\x98\xb0\xfa\x06\x99\x5f\x40\xf5\xdf\xb9\x89\x6c\x71\x66\x6e\x28\xb3\xac\x0c\x1d\xe0\xf3\x2e\x7e\xb7\x35\x86\xd7\xac\xc1\x54\x16\x9c\x95\xb2\x5d\x16\x4a\x1b\x09\x97\x10\xea\x75\x62\x0e\x2b\xc5\x7c\x30\x7e\x18\x19\x7e\x35\x3a\x44\xd2\xc9\xa9\xdd\x1a\xa5\x7b\xf0\x80\x6f\x67\x3d\x80\x53\xbe\x32\xbc\x7c\xe4\x42\xb9\xeb\x1d\xd0\xbb\xa9\xe6\x33\x4a\xe3\xa2\xad\x5a\x74\xae\x53\x92\x86\xb2\xd2\x11\x3a\x4a\x41\xdd\x24\x2a\x34\xb9\xec\xe9\xb6\xa5\x73\x96\xb6\x83\xe7\x39\xea\x0b\xe9\xa1\x97\xc3\x3e\x7c\x5c\xe8\xb8\x33\xb9\xc4\xee\x6a\x6b\x94\x2e\xe0\xef\x1b\x55\x5f\x9c\xbc\x35\x02\x84\x46\xbf\x9b\x54\x5b\x0c\x06\x64\xb8\x3d\xa7\xdf\xbf\x2d\x56\x0b\x7c\x7b\x8e\x80\xab\x73\x57\x1c\x41\xd5\x35\x1f\x56\xd3\x6b\x0b\xc8\xc7\x2b\xc0\x40\x74\x88\x7e\xf2\x3a\x19\x86\x49\x8e\x2a\xdb\x44\x31\xdc\xee\xa3\xa0\x3d\x03\x06\xe4\x58\x54\xc9\x6f\x1d\xb1\xa7\x99\x90\xaa\x78\x80\xec\x47\x57\x0c\x41\xf2\x48\x3a\x2b\xcb\x4e\x88\xf5\x28\xf8\x42\x15\xea\x45\x6f\x52\x32\x0e\xe7\x5b\x8b\xce\xc2\x9e\xd6\xb0\x02\xaf\x4f\x3d\xc0\x7c\xc8\x4a\xf7\x42\x57\x68\x7d\x3b\x43\xae\xa4\xe1\xe0\x18\xf9\xb7\x24\x2b\x8b\xaa\x09\xf3\x06\x94\x09\x54\x3d\x48\x07\xa8\x95\x1a\xf1\x27\x94\xf5\x0c\xb2\xb5\x4c\xf0\x35\x01\x63\xb5\x5a\xae\x60\x63\xe0\xd6\xd9\xb3\xd9\x2b\x7c\x42\xf1\x6b\x4c\xd6\x6a\x79\xa7\xe5\xf2\xad\xa7\xde\x37\xa6\xc2\xd2\xb8\xbe\xb5\xf4\xec\x1c\x3e\x87\xed\x92\x14\xf0\x5f\xd5\x7c\xf1\x92\xbd\x55\x0b\xc6\xf3\x38\xd6\x88\xad\xd7\x53\x8d\x79\xc8\xe2\xe7\x33\x62\x59\xfc\x75\x46\x6c\xbd\x0e\xb4\x5c\xbe\xf5\x34\xfc\xd6\x14\x59\x1c\xd7\xb7\x96\x9e\x9d\xc3\x67\x31\x62\xa2\x02\xfe\xcb\x1a\x31\x4e\xb2\x37\x6b\xc4\x38\x1e\xc7\x1a\xb1\xe9\x74\xbd\xd6\xd8\x87\xf4\xf0\x7c\x56\x2c\x3d\x7c\x9d\x15\x9b\x06\xbe\xaf\x65\xf3\xad\x27\xe2\xb7\xa6\xca\xe2\xc0\xbe\xb5\xf4\xec\x1c\x3e\x8b\x19\x13\x35\xf0\x5f\xd6\x8c\x71\x92\xbd\x59\x33\xc6\xf1\x08\x9b\x31\xa0\x4d\x9b\xbe\xb5\x1e\x7f\x6b\x9a\xd0\xa6\xcf\x67\xde\xdb\xf4\x0a\xf3\x6e\xe5\xe5\xad\x47\x72\x8c\xb4\x9e\xc1\x22\x89\x42\xfb\x97\xb5\x48\x9c\x64\x6f\xd6\x22\x71\x3c\x82\x16\x89\x55\xa6\xe4\x30\x1f\xff\x42\x6e\x02\xd7\x31\x34\xe4\xed\x34\x7f\xec\x65\xfd\xd1\x84\x4e\x7a\xa3\x02\x41\xd0\x6f\x79\x4c\x64\x8d\x58\xc4\xb7\x34\x57\x30\x28\x4e\x0c\xb5\xe1\x62\x54\x43\x23\x6f\x22\xa4\x8e\xc3\xd5\x28\x42\xf2\x79\x0e\x1e\xc3\xcc\x88\x81\xbc\x2f\xff\x49\x3c\xa4\x60\xa3\xc6\x3e\x9a\x1a\x01\x5a\x94\x28\x37\x01\x76\xf5\x3f\x99\x24\xad\x1d\x22\xa6\x76\xc2\xd9\x10\xe1\xd0\x95\xa5\x25\x79\x21\xf7\x55\xe7\xc5\x85\x03\xb5\xb3\xc0\x99\x05\x1f\x46\x9c\xc3\x05\x0e\xd6\x53\xbe\x1d\xfa\x7f\x6f\xf1\xf1\x03\xad\x23\xbb\x86\x1f\x3f\x04\x7d\x41\x9a\xe4\x28\x0a\xcb\x1f\x3f\x60\xae\xfb\xe2\x2c\x69\x50\x95\x26\x59\xd2\xfc\xf8\x61\xea\x93\x23\xbc\x73\xe7\xee\x18\xcc\x7f\x99\x3b\xd3\x25\xf9\x1b\xcc\x8f\x01\x74\x68\x1f\x96\x13\x6a\x1b\xb3\xee\x27\xf9\x3d\xaa\x6a\xa4\x31\x13\x72\xad\x68\x28\xfa\xc3\x3b\x5a\x44\xd2\xf4\x81\x61\x44\x13\xa1\x21\x69\xc1\x04\x99\x09\x23\x7b\x5a\xf3\x10\x2c\x16\x13\xf6\xaf\x49\x50\x26\x33\x61\x86\x55\x0c\x85\x40\x72\x35\x96\x26\x68\x31\x04\x54\x81\x0d\x95\xd6\x74\x98\x09\x4b\xc6\xc3\x0c\x2c\x98\x0f\x10\x14\x34\x20\xc6\xc1\xd3\x1b\x0e\xa1\xff\x53\x7d\xf7\x6f\xd5\x80\x74\x7c\x3b\xc3\x7f\xde\xcc\x8c\x28\xf2\x92\x0c\x89\x32\x4b\xa2\xb0\x8a\xff\x15\x4e\x67\x3d\xe5\xb4\x75\xa0\x3f\x6e\x1d\x56\x31\xbd\x6e\xe1\xd9\xce\xfd\xb1\xc3\x36\x53\x81\x48\x93\x34\x29\x92\xbf\xd1\x59\x71\x00\xf5\x69\x27\xc0\xe0\x43\x97\xec\xd3\x01\x25\xfd\x12\xc1\x89\xda\x86\xfb\xba\xfd\x0c\x43\x59\x8f\x08\xf7\x50\x3f\x0c\x8f\xc2\xf7\x3f\x42\x4f\x7e\xf2\xf0\xe9\x29\x25\x07\x9a\xc3\x95\xd3\xfc\xea\x23\x12\x8f\x8d\x3b\xd4\xab\xd0\x1d\x3a\xad\x92\xe5\x04\x62\x48\xd6\x21\x12\x06\xd2\x40\x08\xa3\x47\x93\x8e\x2b\x19\x60\x02\xf0\xcb\x0b\x5d\x6a\xf8\xad\xee\x3c\xb5\xac\xad\x02\x55\x48\x8e\x94\x47\xfc\x71\x15\x3d\xd4\xe5\x3a\xd3\xb2\xfd\xe8\x00\x45\xbe\xc3\x54\x61\x5f\x14\x8d\xbe\x1b\x36\xb6\xf1\x35\x0b\x36\x9e\x09\x09\x60\x10\xfa\x53\xfb\x3e\xc4\xa3\x5a\x24\xc8\x80\x1c\x47\x17\x33\x36\x78\x4b\x48\xfa\xae\x98\x92\x89\xe4\x5a\x60\xa0\xa2\xfc\x7d\x91\x04\x3e\x56\x6c\xa6\x21\x60\xa3\xad\xd9\xb5\xb3\x57\xde\x34\xca\xb7\x75\x78\xd1\x4d\xa0\x2a\xaa\x7f\xe6\x24\xfd\xd4\x8c\x90\xdb\x02\xaf\xbc\x20\x8e\x6f\x0b\xb1\x23\x56\x8d\x67\x07\xdf\x79\x79\xe5\xe5\x87\x7d\x43\x88\x11\xae\x7c\x3c\x17\xec\xca\xbb\x2b\xef\x38\xe3\xdb\x42\xbc\x88\x55\xe3\xd9\xa1\xf7\xa5\x5d\x79\x55\x16\xd7\x14\x62\x46\xa8\x19\xcf\x8b\x7c\x7b\xf2\x13\x6e\x46\x16\xf0\x0c\xb7\xe6\x5e\x7b\x29\xae\x80\x06\xd6\x1b\xfb\x3d\xa8\x22\x2f\xba\xb9\x60\xbf\x15\x53\xc0\xa3\x55\x1f\xfb\x6d\x88\x02\x1e\xdd\xb8\xdb\xef\xc0\xa3\xaa\x8f\x7d\x42\xad\x1b\xb8\xec\x8d\x70\xef\x3d\x42\xf3\x87\xaf\x1a\xa1\x27\x5b\x8b\x93\x1f\xc0\x44\xb1\x53\xf5\x7f\x4f\x45\x83\x40\xc2\x56\x9e\xc0\x2a\xe2\x20\x09\x9f\x81\x9a\x28\x3b\xde\xf0\x6c\xa2\x48\xb6\x5e\x40\x05\xf3\xc9\x60\x66\x4c\x2e\xb9\x6e\x2c\xf8\xcd\xaa\xae\x5a\xdd\x43\x4b\xfd\xea\x17\x70\xf5\x64\xbb\x94\x6e\x8a\x90\xc8\x0e\x56\xbf\x61\x00\x75\x3b\xea\x69\xf8\x68\xfd\x60\x53\xbe\xeb\x04\xf6\x7b\x3b\x8c\x4d\x51\x6a\x1d\x40\x95\x15\x9d\x33\x68\x64\x9a\x30\x63\x72\xf8\xf4\x84\x00\xe7\x0f\xa0\xa5\x3f\xc4\x4c\xcc\x2f\xe2\x2e\x92\x7b\xe6\xb0\x3d\xbe\x7e\xa9\x2a\x1e\x1c\x31\x70\x2f\x16\xab\x45\x97\x81\x33\xa2\x5e\x2f\xf4\x9d\x07\xbc\x5b\xf2\xa5\xf4\x62\x3e\x97\x5e\x8c\xd4\xdd\xc4\x86\x52\x11\x12\x90\xc3\x4d\xd8\x0b\x2d\xca\x56\xd3\x86\xcf\xe5\x27\x7e\xe5\xd3\xb5\xb1\x29\x10\x49\x16\x76\x93\x1a\x44\x53\x10\x62\x15\xfa\xfa\x81\x57\x91\x92\x7d\xa7\x98\x72\x02\xb4\x64\x5c\x1b\xc3\x5d\x10\xe3\x93\x32\x9a\x90\x3a\xe3\xec\xd7\x78\x2c\x76\x13\x05\xe1\xd2\xee\x66\xc7\xa6\x2c\x34\x60\xd4\x77\xf1\x49\x38\xc0\x0e\xda\x30\x3d\x25\xc5\xef\x13\x90\x28\x6c\x4e\xbe\x12\x0b\x27\xb0\x9e\x31\xdb\x14\x27\x16\x67\xb8\x4b\x98\xfc\x76\xa3\xe2\x94\x37\x9b\x19\x49\x42\x20\x95\xc9\x20\x62\xcb\x43\x58\xf6\xdf\x6e\xf1\xad\xf9\x72\xb5\xe8\x22\x70\x23\x2d\x0d\xd0\x57\x55\xc0\x8d\x64\x24\x72\x75\xf1\x76\x15\x0a\xe3\xa8\x3a\x65\x3b\x25\xaa\xa0\xee\xcd\x69\x72\x00\xdb\xbd\x88\x42\x3a\x00\x39\x1c\x33\x10\x94\xaf\xce\x24\x2c\x73\x5f\x76\x0d\xb7\x0a\xf2\xcd\xc8\x17\xb7\xc2\xc5\x3c\x62\xdd\x0f\x72\x41\x9f\x39\xc0\xf8\x91\x9f\xf9\x95\xbf\x74\xd5\x5c\xcf\xe5\xa7\x77\x23\xe8\x63\x87\xb0\xe7\x42\x7b\x09\xf0\x57\x63\xa2\x97\xf8\x8a\x6d\xa4\xcf\xab\xd9\x8d\xc1\x65\x78\x48\x72\xdc\xec\xe5\x52\x27\x28\xaa\x02\x6a\x44\x19\x1e\x90\x12\x70\x74\x48\xb1\x12\xca\x34\xdd\xb5\x30\x2e\x16\x39\x90\xe3\x8d\xe0\x40\x6d\x74\xcc\x51\x13\x0b\xe5\x28\x50\xd1\xf3\xd8\x87\x64\xa2\x23\xb2\x38\x6a\xf6\xeb\x03\x7e\xf6\x06\x8b\xa7\x20\x2a\x2a\x94\x45\x65\x54\x56\x1d\x30\xe7\xc0\x85\xa3\xa3\x7f\x57\x01\x5d\xe9\x08\x45\xf5\xa6\x65\xab\xcd\x11\xa5\x66\x7c\x33\xbd\x2d\x90\x78\x63\x1b\xb4\xa1\x60\xcc\x65\xdc\xa3\xac\x99\x24\x0b\x3a\x85\xf0\x21\x37\x4e\x34\xe3\x12\x8d\xc3\x18\x4c\x33\xc1\xa0\xfb\x33\x93\xea\xcf\xcc\xd4\xae\x9f\x08\x32\x35\xb5\x56\x20\x57\x67\xa0\x78\x8c\x09\xe4\x61\x04\x4f\x94\x4e\x60\x34\x0c\x66\x6a\x4f\x30\x13\x66\x2b\x41\xd6\xc1\x30\x3e\x98\x57\xa4\x4e\x3e\x9d\x78\xe6\x72\xea\x29\xe1\x3e\x82\x95\x7c\x1f\xc1\x56\xbe\x93\x56\x38\xc5\x65\xbf\x3a\x61\x17\xd6\x88\x5c\x49\x0f\xaf\xdf\x1d\xdf\x1b\x94\x95\xcd\xa3\x74\x6a\x6a\xd7\xe4\x0e\xed\x96\x6a\x1b\x58\x0a\x92\x4b\x48\x31\x90\x29\xca\x7e\xc9\x21\x13\x78\x72\xca\x19\xb1\x70\x5b\x1c\xf7\x97\x0f\xee\x2d\x95\x45\x7c\xa9\x24\xf6\xc7\xd7\x46\x33\x24\x34\xd5\x08\x10\xd3\xed\xaf\xd8\xe7\xe1\x7e\x3d\x56\x68\xff\xb9\xbf\x07\x14\xa8\xa2\xa9\x69\x14\x74\xf3\xdd\x22\x58\xac\x7a\xde\x2d\x2f\x1f\x24\x38\x88\xac\x58\xa5\x23\xeb\x07\x8b\x30\x5c\x30\x74\xb6\x97\x0c\x12\x1c\x44\x56\xac\xd2\xf6\x76\xbe\x8e\xe7\x73\x86\xce\xf8\x32\x81\x07\x82\x08\x72\xe5\x3a\x6a\xb3\xe9\xce\x8f\xfb\x4e\xda\x5e\x1a\x48\x70\x10\x4d\xb1\x4a\x47\x16\x45\xeb\xd5\x74\xdf\x6b\x88\xf9\xe5\x80\x08\x06\xea\x11\x5f\xa3\xa3\x19\xad\x67\x7e\x10\x5d\xbc\x7f\x9e\xb2\x5d\xd1\x54\xdc\xc5\x26\x81\xc6\x79\x0f\xe0\x57\x84\xb0\xb3\x3e\x13\xd2\x12\x28\xbb\x21\x95\xea\xbc\xa3\x1a\x90\x3d\x45\x5f\xeb\x1e\xf9\x2b\xe2\x7b\x39\xf8\x31\xd6\xec\x01\x6c\x9f\x9e\x92\xd8\x72\xd0\x58\x4e\x1e\x76\xf1\xc2\x14\x55\xcd\xb8\x57\xba\xd3\xc1\x20\x5f\x95\xff\x02\x93\xc0\x01\xed\x4e\x91\x08\xff\x34\x9f\x0b\xab\xc4\x8b\x81\x64\x90\x59\x5d\x9c\xd4\x59\x52\xd7\x09\xfe\xa8\x3a\x4a\x8b\x5a\x6b\x19\xa9\x7b\xc4\x12\xb9\x89\x09\x68\xe4\xbe\x81\x7c\xe8\xa7\x74\xbc\xdf\xfb\x8a\x2f\x19\xfb\x68\x1d\x2d\xd9\x5a\x31\x8b\x56\xcb\x59\x2c\xa1\x72\xc0\xd1\x8b\xa6\x28\xd8\xcd\x64\x50\x5e\x18\xec\xc6\xf7\xdd\x62\xde\x69\x28\xa9\xd1\x4c\xfd\x78\x8d\xe2\xfd\x4a\xe2\x6d\x17\xc5\xfb\x7d\xbf\x8e\xcd\xa6\x2b\xff\x6e\xcf\xe3\x81\x19\x0b\x97\xf1\x02\x09\xf4\x40\xae\xe6\x8b\x60\xb9\x66\x50\x06\x13\x11\xed\xef\xd0\x4c\x7e\x29\x14\xee\x83\x28\x62\x8c\xdd\x85\xcb\x78\xb6\x93\x50\xc1\xbc\xed\x57\x28\xda\x2d\x64\x50\x80\xbd\xe5\x72\x31\x1d\x84\xa6\x35\x25\xfb\x20\x46\xca\xeb\x57\xb4\x8b\xa2\x81\xbb\x70\x3d\x9f\xcf\x03\x11\x13\xcc\x1c\x9a\xef\xd6\xbb\xb5\x04\x09\xf0\x76\x37\x9f\x2d\x66\xf3\xcb\x9f\xd9\x96\xf0\x0b\x7a\xdc\x57\x61\x86\x6a\xa7\xac\x8a\x43\x85\xea\xda\xdd\x85\x95\x5b\x37\x55\x52\xa2\xfa\xbc\xaf\x8a\xec\x0c\xa5\xf5\x9e\x92\x64\x7f\x4d\x01\xd6\xfa\x8e\x7f\xb9\xfc\xd9\x2d\x5e\x14\xfd\x0b\xe2\xf6\x18\xc6\x67\xdc\x56\x77\x6b\x00\x8e\xeb\x1e\x93\x38\x46\x39\xef\x2b\x03\x99\x76\xbb\x82\xab\xaf\xa0\x52\xf6\xb0\x9c\x5c\xce\x3c\xe6\x11\xdb\x56\xb1\x35\x95\x6a\xac\x9e\x12\x64\x42\xe8\xb8\x0f\x2b\xf7\xd0\xb1\x80\xf2\xe6\xbb\xf9\x22\x46\x87\x09\x70\x1c\x71\xf1\xd1\x09\x16\xef\x27\x9c\xdd\x56\x7e\x2f\xfc\xf7\x9a\x96\xfa\x9a\x95\x84\x43\xfa\xfd\x51\xcd\x3b\xee\x16\xdf\x20\xd3\x37\xcf\xb1\x36\x4d\x53\xef\xd1\x68\x6b\x24\x95\x0b\xf3\x24\x0b\x1b\x34\xbc\xed\x20\x05\xdd\x24\x85\x26\xbc\x33\xad\x1d\x22\x1d\x27\xc9\xf7\x49\x9e\x34\x68\xeb\x16\x4f\x68\x74\x75\x8b\x8b\x87\x7d\xac\x17\x7a\xb1\xf7\x32\x57\x0e\x53\x9e\xdd\x5d\x11\x3f\x8e\x3a\x75\x69\xbb\xa6\x68\x38\x00\xf8\xaf\x96\xc8\xee\x22\x1f\x7e\x74\x43\xdc\x9a\xbb\x3a\x59\x7f\xb7\x60\xef\x00\xc2\x38\x94\x83\x95\x92\x1f\xfb\xa7\x60\x1d\xec\x3a\x5f\x03\x6e\xce\xf6\x24\x9a\x5a\x61\xc3\xce\xf3\x66\x0f\xa8\x91\x43\x89\x5a\xba\x62\xb8\x9a\x30\x69\xc8\xfa\x2d\x61\x79\x95\x23\xd4\x5f\xf3\x4a\xf6\x45\xbf\xc8\xd3\xed\x18\xd4\xb4\xbe\x4f\x3d\x87\xad\x08\xfc\x19\x4f\x09\x1b\x0e\x02\x6b\x8e\xc9\x7c\xd5\xc1\x60\xa5\x23\xa0\xc2\x1b\x4f\x5e\x4b\xb0\x7d\x3c\x5e\xc5\xf2\x35\x09\xee\xf1\x11\x22\x1d\x29\xed\x34\xd7\xf3\x60\xb3\x0c\x3a\xc3\x62\xa0\xd9\x89\xe7\x1a\x82\xdc\xd9\xab\x3e\xc0\x26\x53\xa3\x86\xe0\x39\xde\x98\xc0\xa8\xc7\x8b\xce\xd6\xe0\x27\xaf\xce\xc2\x34\xbd\xbe\x1d\x6e\x66\x13\xbb\x0e\x09\x2f\xc4\x38\x44\x48\x52\x93\x7d\x7a\xaa\x8f\x4a\x2b\xe9\x96\x4a\xf1\x98\x86\x1a\x64\x91\xf1\x3d\xe5\x8b\x01\x10\xcf\x53\xbe\x00\x80\x16\x4c\x16\xf7\x10\x22\x19\xd0\x05\x54\x38\x0a\x72\x09\x75\x08\x26\xe4\x0a\xf2\x71\xf8\xf5\x68\xf4\x3a\x65\xc6\x3f\x76\x4e\x6a\x09\xf7\x01\x75\x5d\x3d\xf9\x4a\xd0\xcc\x05\x45\x62\x01\x12\xd6\x7e\xbd\xc0\x71\x84\x49\xcf\x30\xfb\x0a\xce\x4c\x0c\x48\x0e\x0e\xc4\x7d\x29\x0f\xc2\xdc\x67\x31\x2d\x19\x31\x8e\x44\x09\xb1\x25\x88\x79\x1c\x97\x02\x98\xef\x5a\xeb\x58\x56\x31\x6b\x10\x5c\xad\x24\xc6\x46\x56\x0d\xe9\x5a\x6b\xd5\x03\x57\x1a\x75\x83\x6b\x6e\x82\x10\xb5\x42\x27\xd8\x68\x8e\x66\xfb\x99\x86\x49\x8b\x4a\x70\x20\x16\x7d\xa0\xd4\x45\x7d\xa0\x71\x44\x19\x2b\x8b\x01\x0a\x51\x3d\x68\x15\xc6\x11\x41\x80\x73\x8a\x40\xc7\x35\x88\x5f\x8f\xe6\x6a\xdd\xb0\xb5\xb3\xaa\x07\x45\xa0\xd5\x10\x56\x6f\x54\x12\x11\x89\x05\x48\x50\x15\xbd\xc0\x71\xb4\x55\xcf\xb0\x45\x5b\x44\x28\xcb\x1d\x92\x94\x07\x41\x61\x58\x7c\x57\x46\x4c\xa3\xb2\x42\x9c\x15\x62\x1f\xc7\x68\x01\xf6\x49\x7b\x1d\xdb\x10\x76\x2d\x92\xab\x95\xc5\xd2\xcc\xaa\x2b\xa4\xbd\x56\x55\x68\xb5\x51\x53\x04\x14\x66\x18\x41\x4f\xb4\x82\x26\x71\x6f\x2d\xb3\x16\x35\x11\x80\xcc\x5a\xc2\x38\x10\xb4\x84\xc5\xd9\x51\xb6\x43\xb1\x5b\xa1\xba\x2c\xf2\xba\x43\x65\x3b\x1f\xc3\x6d\xf1\x87\xcf\x01\xa4\x48\xaf\x8a\x56\x39\xcb\x26\x9f\x9a\x53\x9b\x38\x4a\x09\xee\xf9\x44\x05\xc4\x05\x40\x79\x82\x83\xe5\x40\x45\xb1\xfb\x27\x8a\x1a\xa0\xe2\x3e\x89\x51\xa1\xfd\x02\x41\xfe\xf2\x40\xbd\xb3\x8a\x24\x65\x27\x9b\x51\x5f\xed\x92\x1b\x4c\x77\x8f\xeb\xe1\x6a\x24\x2e\x4f\xff\x3c\xf0\xee\x16\xab\xe9\x7c\xf6\x1e\x68\x36\x5d\xea\x9a\x2d\x96\x5e\xb0\x80\x9a\xcc\x77\x8f\x33\xb0\xc5\x0a\x04\x9f\xee\x1e\xa7\x20\x38\x49\x46\x43\x5e\x02\x92\xc3\x8b\xd8\x03\x17\x4e\x05\x0d\x07\x61\x6c\x87\x3b\x7c\xdf\x27\xe1\x96\xfe\xe6\xdd\x6e\xcb\xee\xe3\xeb\x60\xfa\x8b\xbc\xbc\x05\x25\xd8\x7f\xb0\x82\x7f\x88\x67\xa1\x18\x22\xf3\x59\x8b\x01\xe7\x6a\x71\xa1\x33\x89\xbe\xd0\xec\x75\x57\x6a\x01\xdf\x3e\xe0\xeb\x6f\xa2\xcb\x8a\x38\x4c\xdd\xa2\x44\xf9\x59\x99\x06\xb8\x6e\xd0\xa7\x7d\xd2\xa2\xd8\xf2\x39\x0b\xdb\x37\x4e\xfd\xc5\x70\x3d\x2e\xee\x9a\xfc\x3a\x85\xbb\xd9\x0e\xd3\xf1\xf6\x61\x8c\x1c\xca\x4f\x9c\x84\x69\x31\x24\x25\xc4\x01\x6b\xc2\x84\x50\xb4\x2f\xaa\xcc\xf1\x66\xb5\x83\xc2\x1a\xb9\xc5\xa9\xd9\x8e\x87\x74\x0b\x01\x6d\x31\x02\xe3\x53\x21\x26\x66\x56\x26\x7a\xe2\x4a\x43\x42\x21\x0d\x1b\xf4\x9d\x3f\x71\x83\xc5\xfb\x8f\x5b\xbe\x35\x50\x6d\xa8\x63\x92\x27\xd7\x05\xe9\x25\xaf\xb4\xf6\x0d\x54\x7d\x1d\x49\xff\x23\xaf\x6d\x94\x5e\xaf\x74\x6e\xdb\x2b\x06\x2b\x79\xdc\x84\xa7\xa6\xb8\x88\x8c\xa9\x06\x9e\xd8\x31\x9c\x44\x80\xde\xb6\x37\xf5\xcb\x96\x35\xa3\x36\xfa\x5f\x37\xc9\x03\xf0\x7e\x27\x4a\x93\x72\x33\x5c\xa9\x22\x86\x25\x95\x3a\x53\x70\x32\x50\x52\x44\xe0\x33\x8a\xf2\xdc\xc6\xc4\xe3\xaa\x28\x9f\x6a\x4c\xe6\x50\x7a\x00\xdf\x57\xf0\x63\x23\xc2\xdf\x3c\x29\x55\x77\x9a\x7e\xe6\x2d\x35\xa9\xa7\x1f\x74\xbe\xe4\xfb\xa0\x67\x0c\x37\xf3\xc8\xcb\x30\xfa\xb2\x21\x97\x63\x3d\xf6\x15\xf4\x37\xd3\xfd\x0d\x3e\x78\xe8\xee\x50\xf3\x80\x10\xa7\x56\x42\x5b\x73\x9b\xfe\x2b\xc5\xc5\x70\x9f\x99\x7a\xbf\x1d\x7b\x3b\x40\x84\x0a\xe5\xee\xf0\xe5\x5b\x0e\xfb\x11\x2a\xe2\x47\x60\x8e\x3e\x7f\x7a\x91\xc5\x60\x1a\x68\x5e\x87\x6f\x75\xd4\x51\x1e\x6b\x47\x1c\x63\xc4\x00\xc2\x60\x77\x25\x5a\x50\x68\x8c\xc5\xe4\x15\xd2\x00\x13\xf9\xfd\x64\xf9\xf4\x8f\x05\xfe\x81\x36\xda\x4f\xff\xc4\x36\x75\x54\x15\x69\xba\x0b\x2b\x37\x43\x61\x7d\xd2\xdf\xca\xb9\x5e\xaf\xd7\x65\x4b\x17\x84\x85\x5f\xb6\xcc\xb1\xc5\xcf\xbd\x03\x42\xf0\x19\x0e\xda\x09\x0b\x0e\x77\x3d\x90\xdf\xa1\xa1\x6b\xcc\xcc\x2f\x5b\x87\x5f\x9f\xea\x8c\x03\x9d\x75\xa0\xa6\x54\xf2\xa4\x4d\xca\xa3\xbf\x23\x6d\xbc\xa6\x28\xd2\x26\x29\x81\x4e\x0e\xf6\x70\xe5\x4b\xfb\x1a\xec\xbf\xee\xc3\x2c\x49\x1f\x37\x9d\x93\x97\x22\xb7\x7e\xac\xbb\x0d\x07\xf9\xe3\x9e\x92\xc9\x5f\xd2\x24\xff\xf2\x4b\x18\xfd\x03\x97\xfc\xaf\x22\x6f\x26\xef\xfe\x81\x0e\x05\x72\xfe\xfb\x6f\xef\x26\xff\x59\xec\x8a\xa6\x98\xbc\xfb\xdf\x28\xbd\x47\xdd\xda\xe5\xfc\x1d\x9d\xd0\xbb\xc9\xbf\x57\x49\x98\x4e\xea\x30\xaf\xdd\x1a\x55\xc9\x9e\xfa\xce\xf4\xfb\x12\xbc\x8c\xf1\xce\xf3\xbc\x73\x9e\x51\xd3\xa0\x0a\x9f\x77\xee\x14\x8a\x42\x91\xb3\xd6\x15\x0a\xbf\x90\xc5\x5a\xbe\xef\x94\x7b\xc9\xda\x29\x0e\xff\x9b\xbc\x18\x07\x3d\x66\xde\x1f\x1f\x0a\x06\x0f\x04\x97\x89\xe7\xaf\x31\x37\x0f\x45\x15\x53\x6e\xf8\x12\x89\x67\xe5\x7c\x3c\x81\xc2\xb9\x3e\x71\x63\xb7\xfb\xcd\x5f\xe2\x4b\x47\x4f\x5a\x69\xd6\x43\xc5\xae\x76\x1b\xd4\x1c\x51\xe5\xa2\x14\x65\x28\x6f\xdc\xb0\x69\xc2\xe8\x88\xe2\xfe\x1b\x3b\x06\x4a\xff\xe2\xaf\xe6\xd8\xec\x5c\x74\x3b\x8e\x2d\x9f\xed\x68\xd6\x59\xb4\xd1\xd8\x9d\x1e\x6b\x92\xe7\xc3\x57\x4d\x20\x51\x0d\xec\x59\x5c\xa7\x17\xc3\x77\x6e\xe4\x0b\x93\xce\x7e\xf0\x57\x85\x11\x53\x42\xe7\x50\xd9\x3a\xa4\x0b\xea\x91\x38\xbc\x9e\x8f\xe8\x48\x47\x45\xe5\x97\xde\xf8\xc5\x36\x46\x1d\x15\x81\xad\xb1\x62\xea\x80\x47\x0b\x89\xde\x3c\x0e\x8b\x09\xef\x70\xfd\xf7\x5b\xf1\x14\x02\x1e\xb3\x31\x22\x12\xc4\x44\x5e\xb6\x5e\x29\xa8\xa6\x28\x55\x96\xe9\xf7\xa6\x5a\x7d\x1a\x2b\x27\xbd\x7e\xe8\x68\x9a\xe4\xf4\x14\x5d\xf2\x99\x98\xa4\xd7\xce\x57\x4a\x09\x8b\x56\xe5\x99\x5c\x39\xa7\x55\xa7\xd1\xd3\xce\xa4\x22\x30\x55\x9b\x3e\x31\x77\xf9\x1a\x85\x52\x64\x85\xdf\xcd\x03\x92\x22\x34\xb9\x65\x09\xdf\x1a\xd0\x3b\x07\xb3\xb2\x75\xee\x30\x2d\xc3\xe7\x2e\xa0\xab\xae\x39\xf2\x08\x77\x55\x5d\xfb\xe8\x90\xb3\x15\xdd\xd7\xde\x0a\xcc\x2a\xc8\x0a\x85\x1d\x97\x8b\x57\x16\x25\x8e\xbf\xe8\x62\x63\xca\x86\x63\x29\x2f\xb0\x9c\x40\x3a\x2f\x61\xf0\x96\xca\xf6\x8f\xc5\xf7\x4d\x17\xdf\x9b\xd9\xf6\xf6\x6a\x36\x66\x8d\x67\xa0\xf4\x2f\x5e\xe3\x85\x8b\xa3\x71\x0c\x63\x34\x42\xfa\x59\xf7\xe4\x9a\x16\xcc\x06\x01\xac\x28\xe8\x84\x3a\x3a\x49\x7b\x8b\x2d\x9a\x5f\x3a\x53\xaf\x62\xde\xc8\x8a\xe8\x75\xb8\xd3\xa9\x6c\x8a\xa7\xd2\x2d\xdb\x5c\x7a\x21\x36\x60\x8b\x8f\x5f\x23\x4c\x55\x32\x03\x37\xbe\xc2\x8d\x0f\x71\x43\xce\x13\x8d\x60\x81\x78\x37\x32\x65\xe2\xdd\x08\x29\x55\xc6\x2a\x08\x86\xbe\x42\x3d\x08\xbc\x6e\x44\xc8\xe2\xa3\x13\x10\xad\x95\x16\x2c\x7e\xc9\xb9\x46\x3b\x46\x71\xc2\x2b\xa3\xa0\x1b\x64\x1a\x71\xaa\xc1\xfb\x50\x4f\x51\x0e\x50\x90\x90\x5c\xce\x9c\x22\xc8\x73\x1a\x74\xe8\xc6\xea\x06\x76\xe8\x64\xca\xd4\xa1\xe3\x08\x8d\x56\x0d\x68\xa6\xdb\xc0\x75\xc3\x61\x99\x3a\xe2\x4c\x57\x6c\x47\x37\x51\xae\x51\x8d\x51\xac\x70\x6a\x68\xb1\x1a\x82\xe7\xf8\x14\xdd\x30\xd9\x4c\x41\x32\xe7\x41\x13\xb4\x56\x43\xf4\x63\xf1\xc9\xdd\xd5\x58\x2e\x9c\xc1\x58\x25\x4d\x8a\x6c\x42\xd2\x80\x9b\x1d\xa5\x6e\xdc\xa0\xd7\xaa\x01\xdc\x2b\xd5\x2f\x55\x43\x87\x57\x74\x92\xfa\xeb\x72\x7f\xb0\xbf\xae\x10\x1f\x8f\xf1\x9a\x89\x20\x98\x1e\x98\x15\xad\x36\xf0\x46\x4d\xb6\x90\xc4\x28\x5c\x33\x0f\x46\x71\x42\x89\xb1\xef\x1c\x4d\x36\x92\xdb\x16\x3c\x65\x1a\x98\x57\x07\x4e\x2e\x3d\x33\x26\x1b\xc9\xef\x51\x78\x13\x49\x43\xcb\xcc\x05\xbf\x2b\x5b\x67\x3a\x1f\xf0\xf4\xe1\x09\xee\x2d\xaf\x21\x53\xef\xca\x10\xd0\xde\x75\xff\x68\x93\x0a\x90\x7c\x77\xb3\xb1\x49\xf8\x66\x7c\x0e\x3e\x71\xda\x41\x5f\xf6\x33\x88\xfe\x0d\x16\xed\xee\x9a\x76\xb7\x87\x90\xe5\x6d\x98\xc4\xd0\xac\xfd\xca\x3d\x55\x4f\x4d\xb7\xfd\xec\xd4\x4b\xe6\x55\x0f\xec\xd3\x44\x71\xc5\xa9\x46\xa9\xfa\x46\x60\xa8\xa3\x1b\x55\xdd\xfb\x40\x7c\x96\x41\x79\xa3\x3d\x34\x36\x7f\xb5\x40\x36\x2e\xc3\x7d\x36\x2c\x90\xab\xbc\x16\x75\x67\x31\xc9\x53\xc5\xa1\x1d\xf7\xd6\x7a\x49\x5f\xf3\x26\xf9\x88\x17\xd7\x12\xb0\xe9\xdd\xb5\x1e\xef\xd7\x01\x41\x2f\xb1\x65\x08\x13\x23\xfc\x86\x6c\x1f\x46\xc8\xbd\x4f\xea\x64\x97\xa4\x49\xf3\xc8\xde\xfc\x1a\xaa\x58\xeb\x12\x55\x75\x89\xf0\xb1\xa1\x6e\x64\x70\x68\x42\x29\xba\x5c\xfe\x5c\x9f\xca\xb2\xa8\x9a\xda\xf9\x4e\x1d\xb3\xe1\xad\xf4\x2c\x26\x06\xee\xe3\x47\xa7\xa8\x9c\xef\x8c\x10\x7f\x0c\xf3\xed\x0d\xb3\x38\x22\x6e\x8e\xbf\x87\x10\xcb\xca\x0a\xdd\x4b\x65\xec\xd8\xd9\xb3\xbd\xf8\x1b\xcb\x87\xce\xab\xba\xca\xbc\x60\xec\x52\x11\xd9\x33\xaa\x04\xa5\x22\xb2\x89\x1c\x33\x1f\xa0\x23\x1c\x7d\xe5\x85\x0a\x10\xc2\x2e\x73\xd1\x31\x6b\xa1\xd8\x19\x58\x13\xd1\xbe\x5e\x43\x57\xd7\x79\x0b\x59\xd7\x46\x77\x00\x78\x15\x7b\xf2\xc7\xb8\xbe\xc1\xb8\x0e\xe8\x3b\x87\xa4\x2a\x52\x79\xee\xb2\x62\xd3\xf4\x1d\xce\xad\x7c\xab\x47\x09\xa4\x72\xf9\x88\x80\x8c\x9f\x6f\xa3\x81\xa5\xbe\xd3\xe2\xbd\xf9\x4d\x81\x70\x68\x12\x1a\x0a\x2e\xeb\x37\x50\x49\xef\xe0\x02\x47\x4b\xdb\x12\x57\x8e\x4b\x7d\xd5\x9f\x63\xda\xf2\x6f\x72\x61\xe5\xe0\x52\xee\xaa\x9c\xd2\xed\x8e\xae\x1a\x5f\xe8\xa4\x61\x95\x5c\xf6\x64\x48\x34\x1a\x70\x07\x1d\xf0\x33\x77\x06\x94\xff\xf2\x3f\x2f\xdc\x0a\x95\x28\x6c\x1c\x22\x7c\x47\xd6\x06\xf9\x33\x7f\xdf\x7f\xef\x90\x23\xc1\xba\x1a\x8d\x2c\x9e\xe1\x7e\x2a\xfb\x5d\x54\xce\x3e\x49\xd3\x1f\x3f\xbc\x0f\x66\xfb\xfd\xfe\x83\x78\xa1\xd5\x9d\x73\xc7\xdf\x55\x45\xae\x92\xf2\x53\x77\xee\x90\x7f\xa6\xde\xc2\xed\xfe\x0d\xc8\xbf\x0e\xfd\xeb\xd2\xf2\xdf\x80\x1b\xa6\xf4\xe3\x76\x63\x1d\x9d\x7a\x8b\xae\xab\xdd\x9f\x29\xe9\x9a\xc3\x75\xd3\x61\xe5\x73\x17\xff\x63\xec\x6a\x92\xc7\x49\x14\x36\x45\x55\x03\xa6\x4f\x3a\xb4\x87\xf7\xed\xf2\x6b\xb4\xc5\x0b\x59\xc4\x17\x32\x5a\x70\xda\x00\x96\x8d\x5c\x7c\x33\xdd\xfd\x96\x32\xad\x82\x92\x73\xd2\xe4\x49\xe7\xda\x7c\xe5\x5c\x9b\x2f\x9c\x6b\xa3\xbf\xf8\x23\x47\x83\x19\x98\x0d\xc1\x90\x4a\x2e\x60\x87\x21\x88\xc5\xeb\x06\x2a\x6f\xf0\xd1\xa9\xb2\xd5\x1f\x26\xd7\xde\x63\xb1\x80\xf5\xc5\x49\x13\x4b\x28\xd1\xe5\x15\xc6\x96\x46\xb9\xff\x3e\x41\x88\x26\xea\x29\x93\x18\x83\x4a\x58\x78\x69\xf3\x02\xb4\xd9\xce\x42\xf3\x35\xf9\x60\x43\xc2\x12\x27\x9c\xd0\xcd\xaa\x4e\xb9\x58\x02\xb9\x9e\xd5\xae\x70\x78\x41\xbd\xe5\x3f\x73\x08\xb8\x57\xf4\x2e\xdf\xd0\xb4\xf8\x5e\x3c\xe2\x1a\xb0\xd4\x93\x67\x4d\x4a\xca\xe1\x86\x5f\xd6\xa2\x29\x4a\x19\xb8\x29\x4a\x15\x2e\x4b\xe2\x38\x55\xf0\x92\x52\x15\x9a\xbe\xc7\x90\xb9\xc0\xa5\x00\x0f\x5d\x77\xe0\x26\x5c\x95\xa6\x1d\xd4\x01\x5a\xce\xb7\xd8\x1d\xdc\x7d\x18\x8b\x49\x94\xa4\xa0\xfc\xee\x60\xcd\x26\xc9\x61\x0c\x39\xf8\x21\x17\xe7\x50\x64\xce\x23\x29\xb1\x66\x4b\x27\x29\xd3\x95\x3f\x59\xe6\x8a\xcc\x89\x24\x25\xba\xc6\x7c\x92\x32\x51\xe1\x2b\x58\xf6\xdb\x9c\x49\x52\x22\x67\x4b\x28\x29\x53\x94\x3f\xac\xe4\x8a\xcc\xa9\x24\x25\xba\x96\x8c\x92\x32\x59\xe9\x1b\xbd\xa1\xc4\x9c\x4b\x52\x91\x2d\xb9\xac\x48\x05\x27\x29\x59\x54\xf1\x62\x78\x51\xc2\xa4\x48\x47\x77\xea\x4f\xa7\xd3\x40\xa0\x4b\x02\xb0\xfe\x99\x7d\x2d\x04\x54\x36\x45\xd9\x03\x90\xec\x02\x00\x10\x09\x8e\xfb\x52\xb2\x03\x00\x90\xbe\xe0\xf2\xe5\x44\x03\x00\x28\x0e\xa3\xf7\x80\xc4\x66\xf3\x60\xb8\x6f\x48\xbe\x2f\x8f\x9d\x2e\xa2\xb5\xc6\xbb\x28\xc6\xa5\x49\x61\x98\xc8\x5e\xfb\xeb\xd3\x95\x33\x7c\xf6\xfb\x2d\x46\xa7\x56\x61\x28\xf1\x9b\xb0\xaf\x4d\xd8\xce\x90\x45\x49\x15\xa5\x48\x12\xef\xa2\x73\xfd\x19\x84\x0f\x5c\x35\x91\xa2\xb0\xda\x27\xed\x55\x97\x0d\xc4\x6e\xe7\x44\x09\x2f\x41\xf8\x81\x8e\x5d\xb2\x42\x4b\x5b\x21\x08\x84\xde\x4d\x0a\xad\xec\x22\xb8\x08\x07\x00\x34\xe1\x2e\x1d\x28\xe2\x5f\x00\x80\x1b\xa1\x34\x15\xa1\x70\x91\x08\xda\x39\x6e\xaf\x7f\x2b\x3f\x27\x15\x90\x01\x26\x1c\x23\x1f\x1c\x02\x0d\x3b\x1c\x04\x8c\x0a\x44\x61\x38\x83\x1f\xbb\x75\x66\x53\x88\x3a\x1b\xa3\x13\x3d\xd4\x68\xb5\xa8\x33\xbb\x66\xd4\x99\x5d\x39\x18\xcc\x38\xfd\xa8\xb3\x37\x54\x91\x41\x48\x37\xa8\x25\x80\x9a\xac\x96\x77\x54\x4d\x32\xab\xdd\xc8\x46\x99\x8e\xec\x6a\xeb\x91\x8d\x30\x20\xd9\x08\x1b\x92\x5d\x65\x46\xb2\xb7\xb4\x24\xd9\x2d\x1b\x13\xc3\xe7\x36\xb1\x9b\x1e\x6c\x6a\x92\x1e\xc6\xa8\x49\x0f\x35\x5a\x4d\xd2\x83\x5d\x4d\xd2\x83\x5d\x4d\x18\xcc\x38\x35\x49\x0f\x6f\xa8\x26\x83\x90\xbe\x0d\x35\x99\xe2\x43\xee\x58\x4f\xda\xd4\xa6\x27\x6d\x3a\x46\x4f\x7a\xa8\xd1\x7a\xd2\xa6\x76\x3d\x69\x53\xbb\x9e\x30\x98\x71\x7a\xd2\xa6\x6f\xa8\x27\x83\x90\x6e\x51\x4f\x3c\x92\x47\x32\xa9\xea\xe6\x2c\x7e\xe2\x1d\x27\x79\x98\xd2\x4b\xd5\x87\xdc\x0a\x64\xf7\xe4\x4e\x87\x98\x63\x5f\xc2\x1e\x28\xce\x34\x34\xa2\x0c\x24\x94\x0a\x46\x86\x90\xe1\x3b\xe5\xf8\x37\x8a\x0d\x48\xa7\x12\x52\x5f\x46\xea\x6f\xfb\xcc\x1f\xb8\xb4\x2a\x1e\xce\xc0\x97\xed\xc7\xa2\x4a\x7e\x2b\xf2\x26\xe4\x14\xc9\xf8\x95\x3b\x00\x26\x7d\xbf\x5e\x15\x0f\x3c\x90\xfa\xd9\xbb\x08\x60\xaa\xa4\xbc\x93\x2f\xe2\x21\xf6\x59\xd8\xe7\xd9\x98\x27\xa4\xcc\xfc\x2b\x30\x96\xfa\x61\x04\xdc\x0a\x91\x88\xc0\xd7\x8d\x04\xc5\x32\x6a\x28\x5c\x00\x18\x1c\x12\x00\x70\x0c\x90\x30\x44\xa6\xfe\x8d\x1e\xaa\xd1\xbd\x13\x69\x8e\x19\x33\x7b\x1f\x75\x70\xb4\x9b\x0f\x55\x58\x9e\x05\x76\xf0\xf7\x2b\xdd\x7f\x20\xfa\x50\xa5\xae\x82\x52\x20\x17\x0a\x01\x34\x48\x85\x96\x8a\x52\xad\xaf\xe2\xfa\xa2\x0c\x98\xc8\x9d\x49\xb6\x26\x20\x1b\xc0\xc5\x93\xde\xd9\x90\xac\xd8\x67\xe5\xad\x10\x2e\x06\x34\x01\xfc\xec\x5d\x01\x16\x5e\x16\xc9\xb5\x63\x50\xa8\x7c\xa2\x3c\x56\xb9\x44\x79\x3c\x96\x47\x09\x54\xfe\x9e\xdf\xc6\x9f\x00\xa2\x72\x47\x5e\x05\xa8\x0c\x92\xf2\x11\x3c\xaa\x80\xc0\x0b\x37\x03\x93\x32\x80\xca\x22\xcd\x41\xa1\xf2\x48\x01\x47\x30\x29\x24\xb3\xd0\xf2\xaa\xe2\x1b\x89\x47\xe5\x39\xc4\xc1\xb1\xb3\x99\x1f\x02\xa4\x65\x27\x4e\xea\xa6\x4a\x76\xa7\x06\x59\x39\x92\x31\xb1\x97\x1d\xf8\xd4\x07\x30\x53\xb8\x0f\xfb\x00\xe9\xc1\x09\xe8\x21\x3e\x61\x3c\xb6\xf6\x22\x77\xf2\xfc\x20\x38\xe1\x09\xa2\x60\xd6\x4c\x0e\x08\x87\xb9\xad\xc8\x13\x30\x2b\xf8\x37\x67\x16\xce\xf4\x53\x42\x83\xc4\xd4\x58\x64\xac\x7f\x57\xa7\xb2\xa6\xbe\xae\x03\x99\x83\xc0\x44\xf6\x00\x08\x33\x02\x59\xdb\x2a\xd4\x44\x47\x50\xdf\x70\x8d\x85\x41\x00\x4a\x56\x37\x19\xc0\xd8\x9c\x71\x07\xaf\x1b\x42\x9d\x45\xdb\xf1\x26\x01\x5c\x19\xec\x58\x64\x2e\x78\xad\x07\x5a\x6b\xf4\x7a\xe0\x00\xd2\x6d\x93\xdd\x17\xa9\x4b\xfa\x2d\x36\xd7\xab\xef\x40\x5e\xa3\xc2\x7a\xa3\x2e\xd2\x97\x4d\xba\xd8\xda\x6a\xad\x07\x3e\x54\x93\x3d\x0a\x95\xcc\x8f\x64\xae\x21\x1c\x7a\x63\x3d\x70\x03\x5a\xec\x31\xc8\x54\x1d\x15\xe7\x90\x84\x43\x3f\x43\x78\x15\x85\x67\x89\x16\x09\xe3\xa1\x46\xe9\xde\x0d\x4f\x4d\x21\x51\xef\xca\xf1\xb7\xe3\x10\x5d\x72\x95\x04\x9e\x9e\x00\xc8\xa1\x4a\x62\xbc\x99\x01\x21\xb4\xe8\x05\x8e\xa0\x69\x8b\xdb\x98\xe7\x2c\xc7\x18\x3c\x69\xb5\x38\x04\xea\xea\x74\x1d\xda\x69\xe6\x2a\x47\x19\x9a\xac\x9a\xf6\x02\x55\x70\x9a\xe2\x86\xfa\x39\xca\x91\x05\x81\xa4\xb1\xd0\x4c\x64\x90\x88\xc0\x9b\xb2\x12\x71\x0d\x4d\x6b\x0c\xc7\x9f\x76\xa1\xd1\x20\x91\xf4\x01\x9a\x22\xb8\xa5\x61\x7e\x08\xea\x00\x41\x49\xe2\xd1\xcd\x22\x98\x8e\xe1\x75\x16\xd1\xb0\xec\x45\xa2\x49\x75\xf6\xec\x01\xa5\x3a\x7b\x99\x98\x52\x9d\x7d\xd3\x61\xa5\x3a\xfb\x9d\x44\x96\xc8\x38\xfc\x7e\x83\x4b\xfd\x40\xfd\xee\xe3\x4b\x75\xf6\x0a\x21\x26\xfc\x2a\xfe\xb5\xa2\x4c\xb4\x47\xb7\x13\x68\xca\xbe\x99\x58\x53\x9d\xdd\x78\xb8\xa9\x9b\x97\xb7\x1f\x71\xaa\xb3\x6f\x32\xe8\x54\x67\x37\x16\x77\x82\x26\xce\x2d\x85\x9e\x80\xe9\x72\x0b\xd1\x27\x78\x92\xdc\x46\x00\xaa\x9b\x1a\xdf\x40\x0c\x2a\xbb\xfd\x30\x94\x3c\x39\xde\x2a\x12\x25\x4d\x82\xd7\x0f\x46\xa9\xea\xfe\xea\xf1\x28\xc0\xe0\xbf\x75\x48\x4a\x35\xe6\x6f\x1f\x95\x52\x67\xd5\xab\x07\xa6\x3a\xb1\xdc\x5e\x6c\x0a\x9e\xcb\xaf\x17\x9e\x02\xe7\xf0\x6b\x44\xa8\x74\x73\xf7\x46\x82\x54\xd0\x6a\xf5\xda\x71\x2a\xdd\xa4\x79\xe3\x50\x95\xe1\x4c\x2d\x26\x9f\xc5\x2f\x12\xab\xca\xe2\x67\x8f\x55\x65\xf1\xcb\xc4\xaa\xb2\xf8\x9b\x8e\x55\x65\xf1\xef\x24\x56\x45\xc6\xe1\xf7\x1b\xab\xea\x07\xea\x77\x1f\xab\xca\xe2\x57\x88\x55\xe1\xef\x01\x5e\x2b\x56\x45\x7b\x74\x33\xb1\xaa\x2c\xfe\x66\x62\x55\x59\x7c\xe3\xb1\xaa\x6e\x5e\xde\x7e\xac\x2a\x8b\xbf\xc9\x58\x55\x16\xdf\x56\xac\x0a\x9c\x38\xb7\x14\xab\x02\xa6\xcb\x2d\xc4\xaa\xe0\x49\x72\x1b\xb1\xaa\x6e\x6a\xdc\x7e\xac\x0a\x6b\xde\x6d\xc7\xaa\x94\xc9\xf1\x56\xb1\x2a\x69\x12\xbc\x7e\xac\x4a\x55\xf7\x57\x8f\x55\x01\x06\xff\xad\x63\x55\xaa\x31\x7f\xf3\x58\x15\x30\xab\x5e\x3d\x56\xd5\x89\xe5\xe6\x62\x55\x9a\xb9\xfc\x7a\xb1\x2a\x70\x0e\xbf\x46\xac\x4a\x37\x77\x6f\x24\x56\x05\xad\x56\xaf\x1c\xab\xd2\x4e\x9a\xdb\x8b\x55\xb1\x0f\x7b\xc9\x84\x3d\xbc\xcc\x57\x7a\x87\x67\x8f\x55\xa5\x87\x97\x89\x55\xa5\x87\x6f\x3a\x56\x95\x1e\x7e\x27\xb1\x2a\x32\x0e\xbf\xdf\x58\x55\x3f\x50\xbf\xfb\x58\x55\x7a\x78\x85\x58\x15\x4e\x4a\xf0\x5a\xb1\x2a\xda\xa3\x9b\x89\x55\xa5\x87\x6f\x26\x56\x95\x1e\x6e\x3c\x56\xd5\xcd\xcb\xdb\x8f\x55\xa5\x87\x6f\x32\x56\x95\x1e\x6e\x2b\x56\x05\x4e\x9c\x5b\x8a\x55\x01\xd3\xe5\x16\x62\x55\xf0\x24\xb9\x8d\x58\x55\x37\x35\x6e\x3f\x56\x85\x35\xef\xb6\x63\x55\xca\xe4\x78\xab\x58\x95\x34\x09\x5e\x3f\x56\xa5\xaa\xfb\xab\xc7\xaa\x00\x83\xff\xd6\xb1\x2a\xd5\x98\xbf\x79\xac\x0a\x98\x55\xaf\x1e\xab\xea\xc4\x72\x73\xb1\x2a\xcd\x5c\x7e\xbd\x58\x15\x38\x87\x5f\x23\x56\xa5\x9b\xbb\x37\x12\xab\x82\x56\xab\x57\x8e\x55\x69\x27\xcd\xed\xc5\xaa\xfa\xec\x62\x98\x7e\x9b\xbe\x48\xb0\xaa\x4d\x9f\x3d\x58\xd5\xa6\x2f\x13\xac\x6a\xd3\x6f\x3a\x58\xd5\xa6\xbf\x93\x60\x15\x19\x87\xdf\x6f\xb0\xaa\x1f\xa8\xdf\x7d\xb0\xaa\x4d\x5f\x21\x58\x85\x33\x23\xbe\x56\xb0\x8a\xf6\xe8\x66\x82\x55\x6d\xfa\xcd\x04\xab\xda\xf4\xc6\x83\x55\xdd\xbc\xbc\xfd\x60\x55\x9b\x7e\x93\xc1\xaa\x36\xbd\xad\x60\x15\x38\x71\x6e\x29\x58\x05\x4c\x97\x5b\x08\x56\xc1\x93\xe4\x36\x82\x55\xdd\xd4\xb8\xfd\x60\x15\xd6\xbc\xdb\x0e\x56\x29\x93\xe3\xad\x82\x55\xd2\x24\x78\xfd\x60\x95\xaa\xee\xaf\x1e\xac\x02\x0c\xfe\x5b\x07\xab\x54\x63\xfe\xe6\xc1\x2a\x60\x56\xbd\x7a\xb0\xaa\x13\xcb\xcd\x05\xab\x34\x73\xf9\xf5\x82\x55\xe0\x1c\x7e\x8d\x60\x95\x6e\xee\xde\x48\xb0\x0a\x5a\xad\x5e\x39\x58\xa5\x9d\x34\x6f\x1d\xac\xf2\xf6\x69\x11\x36\xe4\xc6\x20\xfc\xb8\xe9\x1e\xc5\xdd\x58\x07\x40\x6e\x3d\x22\x10\xf8\x59\x05\xc1\x59\xf3\x09\x84\x94\x33\xdf\x94\x15\xab\x6b\x59\x67\x76\x06\xea\x6c\x0c\x0f\xec\xca\x18\x90\x0d\xe3\x17\x8f\x5d\xeb\x2c\xb6\xf3\x91\xc5\x63\xf8\x60\x77\x92\x8c\xe5\x63\x38\xcd\x86\x47\xe3\x60\xe7\x23\x3d\x8c\xe1\x83\x5d\x7a\x31\x96\x0f\x2e\x52\xd9\x35\x6f\x53\x3b\x23\x6d\x3a\x86\x11\x76\xab\x02\xcc\x88\xb7\x4f\x5a\x7a\x49\x57\x7f\x23\x22\x2e\xa2\xf7\x2b\xb3\xab\x46\xe5\xeb\x45\xfd\x99\xcf\xda\xd2\x6b\xb4\xa4\xe6\xd2\x1d\xa5\x1a\x0c\x75\x93\x44\x5f\x1e\x45\xf2\x6c\x9a\x92\xba\x6d\x5f\x4e\x7f\x13\xbe\x24\x34\x95\x5b\xe4\xe9\x23\x70\xa9\x23\x15\xee\x70\x3f\xe7\x74\xb8\xae\xb1\xbf\x67\x74\xe3\x76\xa5\xc5\x3d\xaa\xf6\x69\xf1\xc0\x2e\xc4\x8f\xd2\xa4\xdc\x54\x28\x6a\xc8\x1d\xdd\x13\xff\xe3\x76\xd7\x47\x53\x29\x45\x17\xdf\xfe\x16\xee\x52\xb4\x21\xf7\x4f\x4e\x80\x1a\xfc\x74\xe6\xfa\x11\x36\x49\x44\x39\xc3\x37\x89\x52\xd6\xe8\xad\xa2\x98\x23\x7f\x60\x07\x5f\xd5\x9f\x22\xc2\x4f\x07\x73\xf1\x1e\xdc\x60\x71\xa6\x57\x10\x2f\xde\xf3\x63\xfe\xe0\x2e\x7c\x5a\xb3\xf0\xa5\x9a\x15\x6b\xb3\x92\xdb\x4c\x7d\xd6\x68\xea\x8b\xad\x8e\x1d\x25\x76\xc3\xf1\x42\xaa\x5a\xf8\xac\x6a\x21\xb7\x5a\xf5\xad\x56\x72\xab\x8e\x58\x7f\xb3\xa7\xd8\x2e\x23\xac\x0c\x37\xab\x2a\x00\xc7\x1e\x40\x87\xc2\xed\xaa\x89\x0c\x1d\xe1\xba\xba\xac\xe9\xab\xd4\x6b\xf4\xb2\x6a\xa8\x04\x2e\xcf\xcb\x76\x43\x35\x74\x63\x5e\x96\x0e\xf5\xea\x45\x79\x59\x6b\x40\xbe\xd5\x37\x7b\xd4\x32\xbc\x35\xf1\xe2\x4e\x99\x04\xc8\x8d\x72\x0e\xf9\x23\xc9\x62\xca\xa3\x06\x20\xaa\x01\x82\xf0\x0c\xc0\xec\x06\x18\xca\x09\x00\x94\x0e\x40\xb8\x8f\x00\x48\x6b\xa3\xb5\xb5\x20\x78\x34\x77\x67\x6b\x65\xd2\x0d\x7a\x99\x11\x91\x01\x12\x0b\x04\x12\x80\xc0\x02\xa9\x13\x80\xbc\x02\x59\x5e\x80\xb8\x02\x51\x5c\x80\xb4\xcc\x84\xb6\xe6\xe6\x8f\xc6\x8e\xc8\xa2\x52\x25\x35\x63\x92\x9a\x76\x82\x9a\xaa\x72\x9a\xf1\xe8\x95\xfa\x6a\xa8\xa7\x37\xee\xaa\x52\x9a\x49\x52\x52\x40\xd2\x01\x84\x5c\xd0\xab\xca\xc8\x48\x65\x6b\x6c\xfc\x68\xea\xc2\xd6\xc2\x9a\x3b\xef\xe5\x43\x54\x69\x0a\xe9\xd2\x5c\x20\x00\x29\xd3\x5c\xe2\x1f\xd2\xa6\xb9\x2c\x27\x48\x9d\xe6\xa2\xa4\x20\x7d\xb2\xd0\xda\x5a\x10\x3c\x9a\xbb\x23\x4b\x0c\xd0\xa9\x05\x93\xd9\xac\x93\xd8\x4c\x95\xd7\x82\x27\xa0\xd4\x57\x43\x3d\xbd\x74\x5b\x95\xd5\x42\x92\x95\x02\x92\x0e\x20\xe4\xa2\x6e\x55\x4e\x46\x2a\x5b\x63\xe3\x47\x53\x17\xb6\x66\xd6\x4a\xd7\x3f\xf7\x3e\x8b\xb8\xa8\x95\xcd\x50\xa7\xae\x6a\x65\xc5\xd5\x02\xcb\x5a\xb9\xe3\xea\xa1\xb5\xa4\x4c\x39\x00\x75\x85\x2a\x5b\x13\xfe\xad\xa1\xe1\xa3\x9e\x6d\xf9\x36\x6d\xb1\xa1\x3b\xed\x45\xa1\x5d\xdd\xca\x66\x80\xd2\x2c\x6f\x65\xc5\x81\xe8\xd6\xb7\x72\xc7\x01\x69\xd7\x8e\x32\xe5\xa0\x34\x0b\x54\xd9\x5a\xc9\x6d\x6d\x28\x1e\x2d\x9d\x92\xe5\x06\xa0\x70\x83\x41\x78\xf0\x32\x57\x36\x03\x0c\xbc\xce\x95\x15\x07\xa1\x59\xe8\xca\x1d\x07\xa3\x5b\x49\xca\x94\x03\x82\xd7\xaa\xb2\xb5\xd1\xda\x5a\x10\x3c\x9a\xbb\xa3\xc8\x4c\x15\xd9\xac\x17\x19\xb8\xde\x95\xcd\x00\x01\x2e\x78\x65\xc5\x01\xc0\x2b\x5e\xb9\xe3\x40\x34\xeb\x4a\x99\x72\x30\xe0\xb2\x55\xb6\x16\x42\x5b\x73\xf3\x47\x63\x47\x64\x49\x29\xcd\xdd\xf9\x20\x28\xdd\xc2\x57\x36\x03\x94\x66\xe5\x2b\x2b\x0e\x44\xb7\xf4\x95\x3b\x0e\x48\xbb\xac\x94\x29\x07\xa5\x59\xbb\xca\xd6\x4a\x6e\x6b\x43\xf1\x68\xe9\x94\x22\x3a\x40\xcb\x16\xbd\xf0\xc0\x15\xb0\x6c\x06\x08\x70\x09\x2c\x2b\x0e\x00\x5e\x03\xcb\x1d\x07\xa2\x5b\x69\x52\x0e\x06\x5c\xc8\xca\xd6\x42\x68\x6b\x6e\xfe\x68\xec\x88\x2c\x2a\x65\x19\x25\xd1\x67\xea\x2c\xc8\x21\xe1\xac\xe1\xab\x31\x7a\x05\xa4\x12\x40\xaa\x7e\xe3\x2d\x79\x0b\x3c\x10\xe5\x45\x81\x4a\x05\x28\xdc\x5d\x05\xa6\xb5\x92\xdb\x1a\xdb\x3f\x5a\x7a\xb4\x35\xf2\xa8\x0f\xff\x65\x6e\x6d\xdc\x29\x73\xb5\xe0\x66\x99\xaf\x87\xf7\xcb\x3c\x84\x66\xcb\xcc\x83\x80\xbb\x66\x23\x15\xe3\xc6\xd9\xc0\xbf\x79\xef\x5c\x8f\xdc\x3e\x73\x70\xfa\x1d\x34\x0f\x64\xd8\x44\xf3\x60\xa6\x7d\x34\x0f\xa7\xdf\x4a\xdb\x89\xda\x77\xd3\xb6\xde\x8d\xd8\x50\xd7\xa3\xf6\xd4\x1c\x94\x76\x5b\xcd\xc3\xe8\x77\xd6\x3c\x94\x61\x73\xcd\x83\x69\xf7\xd7\x56\x8a\xd6\x2d\xb6\xa5\x5f\xf6\x5d\x76\x3d\x62\xa3\xcd\xc1\xe8\xf6\xda\x3c\x88\x76\xbb\xcd\x03\xe9\x77\xdc\x3c\x94\x6e\xd3\x6d\x23\x67\xdb\x77\x9b\x7b\x64\xdd\x7a\xd7\x23\x77\xdf\x1c\x9c\x7e\x03\xce\x03\x19\xf6\xe0\x3c\x98\x69\x1b\xce\xc3\xe9\x77\xe2\x76\xa2\xf6\xcd\xb8\xad\x77\x23\xf6\xe3\xf5\x88\x2d\x39\x07\xa3\xdb\x95\xf3\x20\xda\x8d\x39\x0f\xa4\xdf\x9b\xf3\x50\xba\xed\xb9\x8d\x9c\x6d\x87\x6e\xee\x91\x75\x93\x8e\xd7\x1c\xfd\x3e\x9d\xaf\x06\xb7\xea\x02\x00\xbc\x5b\x17\x40\x34\x1b\x76\x01\x06\xdc\xb3\x9b\x09\x99\xb7\xed\xa6\x5e\x58\x76\xee\x78\x51\x19\xb3\x79\xe7\x01\xf5\xfb\x77\x01\xca\xb0\x85\x17\xe0\x4c\xbb\x78\x01\x50\xbf\x91\x1f\x41\x77\xc4\x5e\xde\xda\xc7\x31\xdb\x79\xbc\xca\xd8\x77\xf4\x3c\x98\x76\x53\x2f\x00\xe9\xf7\xf5\x02\x98\x61\x6b\x2f\xc0\x69\x77\xf7\x76\xa2\xf6\x0d\xbe\xad\x77\x23\xf6\xf8\x78\xd9\xb1\x6d\xf3\x79\x20\xdd\x4e\x5f\x80\xd1\x6e\xf6\x05\x28\xfd\x7e\x5f\x00\xd3\x6d\xf9\xad\x14\xad\xbb\x7e\x4b\xbf\xec\x1b\x7f\xbc\xde\x8c\xd9\xfb\xf3\x80\xfa\xed\xbf\x00\x65\x88\x00\x08\x70\xa6\x20\x80\x00\xa8\x8f\x03\x8c\xa0\x3b\x22\x14\x60\xed\xe3\x98\x68\x00\x5e\x88\x6c\x01\x01\x1e\x48\x17\x13\x10\x60\xb4\x61\x01\x01\x4a\x1f\x19\x10\xc0\x74\xc1\x01\x2b\x45\x6b\x7c\xc0\xd2\x2f\x7b\x88\xa0\xb6\x46\x09\x44\x08\x5d\xa0\x40\x82\xd2\xc6\x0a\x24\x38\x7d\xb8\x40\x02\xd4\x45\x0c\x46\xd0\xb5\x05\x0d\xac\x1d\x34\xc7\x0d\x0c\xe7\x75\x32\x37\x8b\x4d\x81\x03\xae\x16\x0c\x1c\xf0\xf5\x70\xe0\x80\x87\xd0\x04\x0e\x78\x10\x30\x70\x60\xa4\x62\x0c\x1c\x18\xf8\x37\x07\x0e\xb2\x78\x5c\xe0\x80\x83\xd3\x07\x0e\x78\x20\x43\xe0\x80\x07\x33\x05\x0e\x78\x38\x7d\xe0\xc0\x4e\xd4\x1e\x38\xb0\xf5\x6e\x44\xe0\x20\x8b\xc7\x04\x0e\x38\x28\x6d\xe0\x80\x87\xd1\x07\x0e\x78\x28\x43\xe0\x80\x07\xd3\x06\x0e\xac\x14\xad\x81\x03\x4b\xbf\xec\x81\x83\x2c\xb6\x07\x0e\x38\x18\x5d\xe0\x80\x07\xd1\x06\x0e\x78\x20\x7d\xe0\x80\x87\xd2\x05\x0e\x6c\xe4\x6c\x81\x03\x73\x8f\xac\x81\x83\x2c\x1e\x17\x38\xe0\xe0\xf4\x81\x03\x1e\xc8\x10\x38\xe0\xc1\x4c\x81\x03\x1e\x4e\x1f\x38\xb0\x13\xb5\x07\x0e\x6c\xbd\x1b\x11\x38\xc8\x62\x7b\xe0\x80\x83\xd1\x05\x0e\x78\x10\x6d\xe0\x80\x07\xd2\x07\x0e\x78\x28\x5d\xe0\xc0\x46\xce\x16\x38\x30\xf7\xc8\x1a\x38\xc0\x6b\x8e\x3e\x70\xc0\x57\x83\x81\x03\x01\x00\x0e\x1c\x08\x20\x9a\xc0\x81\x00\x03\x06\x0e\xcc\x84\xcc\x81\x03\x53\x2f\x2c\x81\x03\xbc\xa8\x8c\x09\x1c\xf0\x80\xfa\xc0\x81\x00\x65\x08\x1c\x08\x70\xa6\xc0\x81\x00\xa8\x0f\x1c\x8c\xa0\x3b\x22\x70\x60\xed\xe3\x98\xc0\x01\x5e\x65\xec\x81\x03\x1e\x4c\x1b\x38\x10\x80\xf4\x81\x03\x01\xcc\x10\x38\x10\xe0\xb4\x81\x03\x3b\x51\x7b\xe0\xc0\xd6\xbb\x11\x81\x03\xbc\xec\xd8\x02\x07\x3c\x90\x2e\x70\x20\xc0\x68\x03\x07\x02\x94\x3e\x70\x20\x80\xe9\x02\x07\x56\x8a\xd6\xc0\x81\xa5\x5f\xf6\xc0\x01\x5e\x6f\xc6\x04\x0e\x78\x40\x7d\xe0\x40\x80\x32\x04\x0e\x04\x38\x53\xe0\x40\x00\xd4\x07\x0e\x46\xd0\x1d\x11\x38\xb0\xf6\x71\x4c\xe0\x00\x2f\x44\xb6\xc0\x01\x0f\xa4\x0b\x1c\x08\x30\xda\xc0\x81\x00\xa5\x0f\x1c\x08\x60\xba\xc0\x81\x95\xa2\x35\x70\x60\xe9\x97\x3d\x70\xc0\xb2\x86\xeb\x03\x07\x22\x84\x2e\x70\x20\x41\x69\x03\x07\x12\x9c\x3e\x70\x20\x01\xea\x02\x07\x23\xe8\xda\x02\x07\xd6\x0e\x5e\x1d\x38\x60\x1f\xd8\x64\x6e\x7a\x30\x05\x0e\xb8\x5a\x30\x70\xc0\xd7\xc3\x81\x03\x1e\x42\x13\x38\xe0\x41\xc0\xc0\x81\x91\x8a\x31\x70\x60\xe0\xdf\x1c\x38\x48\x0f\xe3\x02\x07\x1c\x9c\x3e\x70\xc0\x03\x19\x02\x07\x3c\x98\x29\x70\xc0\xc3\xe9\x03\x07\x76\xa2\xf6\xc0\x81\xad\x77\x23\x02\x07\xe9\x61\x4c\xe0\x80\x83\xd2\x06\x0e\x78\x18\x7d\xe0\x80\x87\x32\x04\x0e\x78\x30\x6d\xe0\xc0\x4a\xd1\x1a\x38\xb0\xf4\xcb\x1e\x38\x48\x0f\xf6\xc0\x01\x07\xa3\x0b\x1c\xf0\x20\xda\xc0\x01\x0f\xa4\x0f\x1c\xf0\x50\xba\xc0\x81\x8d\x9c\x2d\x70\x60\xee\x91\x35\x70\x90\x1e\xc6\x05\x0e\x38\x38\x7d\xe0\x80\x07\x32\x04\x0e\x78\x30\x53\xe0\x80\x87\xd3\x07\x0e\xec\x44\xed\x81\x03\x5b\xef\x46\x04\x0e\xd2\x83\x3d\x70\xc0\xc1\xe8\x02\x07\x3c\x88\x36\x70\xc0\x03\xe9\x03\x07\x3c\x94\x2e\x70\x60\x23\x67\x0b\x1c\x98\x7b\x64\x0d\x1c\xe0\x35\x47\x1f\x38\xe0\xab\xc1\xc0\x81\x00\x00\x07\x0e\x04\x10\x4d\xe0\x40\x80\x01\x03\x07\x66\x42\xe6\xc0\x81\xa9\x17\x96\xc0\x01\x5e\x54\xc6\x04\x0e\x78\x40\x7d\xe0\x40\x80\x32\x04\x0e\x04\x38\x53\xe0\x40\x00\xd4\x07\x0e\x46\xd0\x1d\x11\x38\xb0\xf6\x71\x4c\xe0\x00\xaf\x32\xf6\xc0\x01\x0f\xa6\x0d\x1c\x08\x40\xfa\xc0\x81\x00\x66\x08\x1c\x08\x70\xda\xc0\x81\x9d\xa8\x3d\x70\x60\xeb\xdd\x88\xc0\x01\x5e\x76\x6c\x81\x03\x1e\x48\x17\x38\x10\x60\xb4\x81\x03\x01\x4a\x1f\x38\x10\xc0\x74\x81\x03\x2b\x45\x6b\xe0\xc0\xd2\x2f\x7b\xe0\x00\xaf\x37\x63\x02\x07\x3c\xa0\x3e\x70\x20\x40\x19\x02\x07\x02\x9c\x29\x70\x20\x00\xea\x03\x07\x23\xe8\x8e\x08\x1c\x58\xfb\x38\x26\x70\x80\x17\x22\x5b\xe0\x80\x07\xd2\x05\x0e\x04\x18\x6d\xe0\x40\x80\xd2\x07\x0e\x04\x30\x5d\xe0\xc0\x4a\xd1\x1a\x38\xb0\xf4\xcb\x1e\x38\x60\x29\x9c\xf5\x81\x03\x11\x42\x17\x38\x90\xa0\xb4\x81\x03\x09\x4e\x1f\x38\x90\x00\x75\x81\x83\x11\x74\x6d\x81\x03\x6b\x07\xaf\x0e\x1c\xf4\x19\x31\x32\xb7\x4d\x4d\x91\x03\xae\x16\x8c\x1c\xf0\xf5\x70\xe4\x80\x87\xd0\x44\x0e\x5a\xdb\x17\xfe\x46\x2a\xc6\xc8\x81\x81\x7f\x73\xe4\xa0\x4d\xc7\x45\x0e\x38\x38\x7d\xe4\x80\x07\x32\x44\x0e\x78\x30\x53\xe4\xa0\x1d\xf5\xd9\xbf\x9d\xa8\x3d\x72\x60\xeb\xdd\x88\xc8\x41\x9b\x8e\x89\x1c\x70\x50\xda\xc8\x01\x0f\xa3\x8f\x1c\xf0\x50\x86\xc8\x41\x3b\x26\x17\x80\x95\xa2\x35\x72\x60\xe9\x97\x3d\x72\xd0\xa6\xf6\xc8\x01\x07\xa3\x8b\x1c\xf0\x20\xda\xc8\x01\x0f\xa4\x8f\x1c\xb4\x23\x12\x04\xd8\xc8\xd9\x22\x07\xe6\x1e\x59\x23\x07\x6d\x3a\x2e\x72\xc0\xc1\xe9\x23\x07\x3c\x90\x21\x72\xc0\x83\x99\x22\x07\xed\xa8\xac\x01\x76\xa2\xf6\xc8\x81\xad\x77\x23\x22\x07\x6d\x6a\x8f\x1c\x70\x30\xba\xc8\x01\x0f\xa2\x8d\x1c\xf0\x40\xfa\xc8\x41\x3b\x22\x95\x80\x8d\x9c\x2d\x72\x60\xee\x91\x35\x72\xd0\xa6\xc6\xc8\x01\x5f\x0d\x46\x0e\x04\x00\x38\x72\x20\x80\x68\x22\x07\xad\x35\xbf\x80\x99\x90\x39\x72\x60\xea\x85\x25\x72\xd0\xa6\x23\x23\x07\x3c\xa0\x3e\x72\x20\x40\x19\x22\x07\x02\x9c\x29\x72\xd0\x8e\x4b\x3a\x30\x82\xee\x88\xc8\x81\xb5\x8f\x63\x22\x07\x6d\x3a\x2a\x72\xc0\x83\x69\x23\x07\x02\x90\x3e\x72\x20\x80\x19\x22\x07\xed\xa8\x4c\x04\x76\xa2\xf6\xc8\x81\xad\x77\x23\x22\x07\x6d\x3a\x22\x72\xc0\x03\xe9\x22\x07\x02\x8c\x36\x72\x20\x40\xe9\x23\x07\xed\x98\xf4\x04\x56\x8a\xd6\xc8\x81\xa5\x5f\xf6\xc8\x41\x9b\x8e\x8c\x1c\xf0\x80\xfa\xc8\x81\x00\x65\x88\x1c\x08\x70\xa6\xc8\x41\x3b\x2e\x67\xc1\x08\xba\x23\x22\x07\xd6\x3e\x8e\x89\x1c\xb4\xe9\x88\xc8\x01\x0f\xa4\x8b\x1c\x08\x30\xda\xc8\x81\x00\xa5\x8f\x1c\xb4\x63\x12\x19\x58\x29\x5a\x23\x07\x96\x7e\xd9\x23\x07\x6d\x6a\x8b\x1c\x88\x10\xba\xc8\x81\x04\xa5\x8d\x1c\x48\x70\xfa\xc8\x41\x3b\x2e\xbb\xc1\x08\xba\xb6\xc8\x81\xb5\x83\x96\xc8\x81\xd7\xa0\xb6\x4f\xb5\x7f\xc6\x3f\x48\x46\x56\x25\x13\x34\x05\xa5\x57\x69\x3c\x1c\x93\x06\xb9\x38\xf5\x32\x70\x15\x06\x86\x6c\xaa\x53\x1e\x85\x0d\x3a\xcb\xb9\x21\x71\x6d\x5f\x88\xd2\x34\x29\xeb\xa4\xde\xaa\x28\x29\xa2\xae\xef\x3c\x6b\xa9\x94\xd0\x13\x57\x61\xe1\xf1\x50\xb8\x40\x01\xa3\x09\x7f\x39\x38\x25\x07\xaf\x3e\xef\x03\x6e\xc5\xb2\xbe\xda\x18\xea\x33\xbf\x5a\x79\xaa\xb3\x31\x6c\x19\x3e\x2b\xc1\xcd\x58\x16\x58\x1b\x5f\x7d\x26\x58\x2b\x5f\xc3\xc5\xf3\x57\xf2\xc5\x4e\xad\x90\xd1\x3b\x8c\xe3\xab\xcf\x0c\x6b\xe5\x6b\xb8\x64\xec\x4a\xbe\xfa\xa0\x18\x6e\xc7\xb2\xc4\xda\x18\xeb\x33\xc5\x5a\x19\x1b\x12\x4a\x1b\x19\xa3\xbd\x28\x1e\x50\x15\x85\x35\x3a\xd3\xd9\x12\xe6\xf5\xbe\xa8\xb2\x4d\x5f\xa1\xe0\x3f\x95\x25\xdc\xa4\xaf\x50\xf5\x3d\x2c\x93\x26\x4c\x93\xdf\x94\x36\x43\x0d\xdf\x68\x5f\xe4\x8d\xfb\x80\xb3\x83\xba\xe4\xaa\xa7\x33\x57\xb4\x99\xfb\xbe\x08\xb3\x2b\xd2\x58\x80\x58\xf5\x10\x18\x7b\x44\x2a\xeb\xe6\x31\x45\x1b\x52\x42\x39\xc3\xd3\xfd\x1c\x15\x69\x51\x6d\xfe\xb4\xdf\xef\x55\xf5\x3b\x35\x28\x66\x00\xcb\xd9\x32\x5a\x05\x1c\x4c\xc8\x01\x91\x24\xb1\x13\xa1\xe8\xd8\x19\x18\xd6\x7a\xbe\x5b\x04\x8b\x95\x42\xa1\xac\x92\x2c\xac\x1e\x19\x94\x1f\xac\x16\xf1\x9d\x4a\x83\x82\x89\x54\x58\xa1\x40\xc7\x0f\x16\x61\xb8\x50\x27\xf8\x29\x8a\x50\x5d\x33\xa8\x45\xb4\xbb\x5b\x44\x2a\x1d\x0a\x26\xd2\x61\x85\x62\x7f\xe6\xeb\x78\x3e\x57\xe8\x24\xf9\xbe\xe8\x89\xec\x22\x3f\x46\x2a\x91\x0e\x46\xa4\x80\x4b\x04\xf4\xb3\xe9\xce\x8f\xd5\x6e\x3c\x84\x55\x9e\xe4\x87\x7e\xcc\xfc\x30\x9e\x03\x14\x28\x98\x48\x84\x15\x0a\x74\x50\xb4\x5e\x4d\xd5\x81\x8f\xc3\xfc\x30\x00\xc5\xeb\xc5\x6c\xbe\x57\xc9\x10\x28\x91\x0a\x2d\x13\x88\x44\xeb\x99\x1f\x44\x0a\x91\x43\x15\x3e\xba\x71\x58\x7d\x61\x70\xc1\x3a\xd8\x05\xc0\xa8\xf4\x80\x22\xa9\xa1\x58\xa0\x36\xf5\xa7\xd3\x69\xa0\x50\x3b\x26\x31\xc2\x33\x61\xe3\x7f\xf2\x9d\x70\x4b\xa0\xf1\x64\x2c\xc3\x0a\xe5\x0d\x59\x14\xeb\x63\x18\x17\x0f\x38\xcf\xf4\x76\x17\x46\x5f\x0e\xf8\x52\x03\x57\x85\x1e\x72\x29\x27\x39\x4d\x71\x7c\xc6\x7f\x93\x34\x69\x1e\xe9\x42\xcb\x73\x41\x4a\xdc\xb6\x76\x4f\xe5\x39\x4e\xea\x32\x0d\x1f\xb5\xf9\xce\xfb\x0c\xc2\x8b\xd5\x02\xdb\xcb\xa1\x75\x5c\x3c\xe4\xba\xf6\x86\x95\x93\x22\xa8\x33\x03\x79\x80\xfe\x6a\xb9\x92\x9a\x5f\x49\x9f\xad\x90\x14\x41\x16\x5f\x47\x7f\xbd\x9e\x4a\xcd\xaf\xa4\xcf\x56\x42\x8a\x20\x3d\x5c\x47\x7f\x3a\x5d\xaf\xa5\xf6\x57\x32\xd0\x2f\x79\x6c\x08\x53\x13\x07\x1c\x94\x89\x8e\x47\x55\xae\x33\x82\x79\xe3\xee\xd2\x22\xfa\x62\x51\x2a\x0c\x79\x36\x36\xc4\xbf\x04\x6e\x44\xe8\x24\xc7\x57\x21\x3c\x81\x8e\xd4\x92\xfc\xb4\x52\x7a\x7a\xbf\xc0\xf6\x7c\x21\x30\x66\x14\x11\x1d\x00\xf2\x4b\x37\x4c\x9f\xbe\xff\x93\x53\x17\xa7\x2a\x42\xbf\x84\x65\x99\xe4\x87\xff\xfe\xcf\x9f\x7f\xdc\x15\x45\x53\x37\x55\x58\x7a\x59\x92\x7b\x51\x5d\x7b\x59\x58\x3a\xdf\x7f\xfa\xff\x03\x00\x00\xff\xff\xae\xba\xa2\x3e\xd4\x4d\x02\x00") - -func uiAppLibBootstrap400Alpha6DistCssBootstrapMinCssBytes() ([]byte, error) { - return bindataRead( - _uiAppLibBootstrap400Alpha6DistCssBootstrapMinCss, - "ui/app/lib/bootstrap-4.0.0-alpha.6-dist/css/bootstrap.min.css", - ) -} - -func uiAppLibBootstrap400Alpha6DistCssBootstrapMinCss() (*asset, error) { - bytes, err := uiAppLibBootstrap400Alpha6DistCssBootstrapMinCssBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "ui/app/lib/bootstrap-4.0.0-alpha.6-dist/css/bootstrap.min.css", size: 150996, mode: os.FileMode(420), modTime: time.Unix(1, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -var _uiAppLibBootstrap400Alpha6DistCssBootstrapMinCssMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\x6b\x57\xdb\x3a\xd3\xe8\x7f\xe9\x57\xbc\x37\xe1\x5a\xfa\x9c\x4f\x92\x2c\x1b\xdb\x38\xc1\x75\xd3\xec\xf4\xac\x77\x75\xb9\xc1\x75\x4c\x6e\x24\x21\x84\x70\xd6\xf9\xef\xef\xd2\x5d\x96\xe5\x10\x28\xdd\xed\xde\x4f\xf8\x10\x6c\x69\x74\x1b\x8d\x66\x46\xd2\xcc\xf8\xff\xbd\x7b\xc8\x17\xcb\x72\x36\x7d\xf7\x9f\x13\xe7\xdd\x72\xb6\x5a\x0c\xf2\xe5\xbb\xff\xfc\xdf\x77\x7f\xfe\x79\xf8\xe7\x9f\x87\xcb\xc1\x72\x79\xf8\x75\x3a\x5b\x4c\xb2\x71\xf9\x94\xff\x49\xde\xdf\x39\xef\xbe\xcd\x66\xf7\xcb\xfb\x45\x76\xf7\x27\x7b\xd7\x81\xef\x16\xe5\xf4\x5e\x00\xea\x19\x8b\x9c\x14\xb3\xe5\x3c\x64\x8b\x32\xfb\x36\xce\x97\x96\xcc\x49\xf9\x58\x4e\x97\x87\x5f\x87\xb3\x87\x7c\x61\x2b\x7c\xbf\xb9\xcb\xb7\x94\x1b\x97\xcb\x7b\x5b\xbd\x5f\xcb\x49\x56\x6c\x6d\x91\x02\x6c\xc9\xff\x36\x5b\xdc\xe4\x8b\x3f\x16\xd9\x4d\xb9\xb2\xb6\xc0\x00\x6d\x39\x83\xd9\x8d\xad\xe6\xaf\xc5\xa2\xbc\xd9\xd2\xe2\x33\xd9\xdf\x16\x79\x36\xba\x9b\x95\x53\xeb\x80\xf5\x4a\xfe\xf8\xbe\xc8\x26\xf9\x7a\xb6\x18\x59\x31\xfa\xdc\x5c\x50\x80\x3f\x16\xb3\xb5\xad\xf4\xf7\xd9\x62\xb2\xad\x70\x53\xfe\xd7\x6f\xab\xfb\xfb\x99\x15\x5f\x72\x80\x8d\x10\x5f\xef\x17\xd9\x74\x59\xde\x97\x0d\xd9\x37\x8b\xd9\xdd\xcd\x6c\x3d\xdd\x52\xf9\x34\x7b\xf8\xe3\xa6\x7c\x28\x6f\xec\x64\xc6\xda\xfe\xa3\x58\xcc\x56\x77\x56\x72\x9a\xde\xad\xee\x9b\xb3\x07\xab\xe5\xfd\x6c\xf2\x47\xe3\xe0\xa7\xd9\x43\x43\xf2\xb7\xcc\xda\x9f\x41\xb6\xd8\x46\x0b\x24\xdb\x8e\xe5\x45\x9e\xdd\x0c\x16\xab\xc9\xb7\x6d\xa5\xc7\x79\xb6\xf8\x5e\x3e\xda\x2a\xb8\xcb\x8a\x72\x9a\x11\x4c\x6f\xa9\x60\x2b\xd0\xd7\x6f\xd9\xcd\xf6\x95\xd5\x90\xff\xf5\x76\x35\xf9\x36\xbb\x5f\xd8\x6b\xcd\xc6\xf9\xc2\xc6\x5e\x44\xad\x4d\xf9\x5f\xef\x16\xb3\x62\x91\x2f\xb7\x2f\x9a\xec\xa6\xcc\xed\x0b\xeb\xeb\x24\xbf\x29\x33\x5b\x06\xe1\x3d\x8d\x24\xa1\x33\xa8\x66\xba\x59\xe4\xcb\xbb\xd9\x74\x59\x3e\xe4\x7f\xe4\x93\x6f\xb9\x6d\xca\xbf\x0e\xc6\xb3\xa5\x15\x5d\x93\xd9\x4d\x36\xb6\xae\x96\xd9\x6c\x7c\x5f\x6e\xeb\xd5\x22\x5f\xe6\xf7\x7f\xdc\xe7\x8f\x76\x8c\xcd\xee\x9a\xd8\xf1\x20\x5b\xcc\x56\xcb\xdc\xd6\xac\x64\x1f\x64\xad\x36\xad\x84\xd5\x7d\x39\x2e\xef\xcb\x9c\x4e\x58\x59\xd8\x66\x5a\x03\xf9\x96\x0d\x46\x04\x77\xd3\xad\x7c\x51\x02\xfd\x41\x25\x8d\x55\x3c\xe9\x95\x52\xc6\xfe\x4c\xe7\x6e\xca\xe5\xdd\x38\xdb\x6c\x07\xfa\x3e\xce\x6d\x6b\xa8\x02\x31\xcb\xb6\x11\x6d\x53\xbe\x56\xc5\xdd\x8c\x31\xbe\xed\x50\xcb\xc1\x22\xcf\xa7\x64\xf1\xdb\x87\x26\x1a\x64\x70\x7f\x30\xc0\x67\xaa\x2c\x9f\xca\x69\xf1\x0c\xcc\x5d\x36\x78\x16\xa8\x81\xcc\x24\xbd\xe4\x8f\xf7\x7f\xdc\x2f\x56\xd3\x41\x76\xbf\x8d\x6d\x50\xb8\x7c\x72\x37\xcc\x96\xe5\x56\xf1\x45\xe0\x86\xa5\x55\x04\x6b\xbd\x7a\x28\x97\xe5\x37\xf2\x66\x9b\x64\x51\x97\x09\xf4\x3f\xce\xbb\x69\x36\xa1\x2a\xd4\xff\x38\xef\x26\xd9\xdd\x5d\x39\x2d\x96\xef\xfe\xf3\xee\xff\x90\xbf\x53\x0c\xfa\xc0\x89\x00\xc2\x4e\x1f\x00\xe0\xf4\x00\x02\xec\x29\x22\x4f\x73\x28\x1f\x37\xfc\xb1\xeb\x31\xf0\x0e\x79\xc5\xa0\xe3\x39\x09\x79\x8a\xc9\x4f\x47\xfe\x04\xe4\x27\x01\x31\x16\xb9\x89\xe7\xf8\xa4\x58\x97\xe5\x22\x0e\x17\xb3\x5a\x7a\x9e\xd3\x93\x65\x23\xe0\xcb\x62\x1d\xcf\xe9\xc8\xd6\x02\x96\x2b\xaa\x9a\xd0\x1e\xf1\x6e\xd3\x27\x51\x2b\x26\x4f\x29\xeb\x42\xe2\x91\xe6\xf8\xf0\xba\xec\x07\x01\xd1\x8f\x9e\x47\x80\xb1\x53\x42\x59\xc3\x39\x94\x05\x79\x15\x18\x3b\x03\x56\x6d\xe2\x11\x18\xfe\x4a\xd1\x52\x40\x59\xa5\x78\xa4\xe3\xe8\x90\x8a\xe9\x13\xe6\x6d\x27\x96\xb4\x0e\xa9\x31\xd2\xc6\xe6\x37\x75\xb4\xc3\x87\xd1\x93\xd5\x47\xaa\xdf\xb4\x27\x31\x7b\xea\x78\x4e\xac\x21\x9a\x0e\x9f\x3e\x61\x1d\xf9\xfd\x2a\x9a\x52\xf2\x94\xb3\x27\x9f\xb7\xc4\x27\x53\xbc\x06\x6c\x42\xba\x1e\x6b\x28\x26\xf5\xd1\x49\xca\x48\x93\x4b\x48\x60\x12\xd9\x19\x45\x1d\xb4\x70\x26\xfb\x96\x93\xd7\x94\x55\xdd\xf3\x34\x22\x48\xe5\xfc\xa7\x20\xd2\xa9\xb1\x2b\x2b\xed\x9b\xd5\x27\xb2\x02\x8c\xb5\xf9\xee\x48\x24\xe7\xac\x44\xea\xb1\x1e\x0c\x64\x1b\x13\x08\x02\x41\x41\x14\x9b\x05\x22\x8f\x07\x34\x81\x3d\x6f\x28\x48\x26\xdb\x4c\xe4\x90\x18\x85\x9c\xd2\x5f\xf6\xbc\xa4\xb0\x89\x9c\xc8\x0e\xeb\x7d\x87\x90\x50\x85\x7a\xf9\x32\x51\x43\x10\x13\x62\x2c\x22\x8a\xe8\x8e\xa2\xf2\x9e\xf6\x23\xe6\x3a\xd1\xca\x55\xf0\x94\xc8\xc9\x55\x44\x96\xca\xf9\xc9\xb4\xb9\x16\x1d\xa4\xb8\x8b\xd0\x61\xe8\x71\x2a\xce\xdc\x4d\xd4\xd0\x36\xab\x1d\xdd\x45\x9e\xb3\x61\x88\x42\xee\x79\xc4\x07\x19\xa1\xc7\xc8\x73\x06\x6e\x79\x25\x4a\x77\x65\x73\x11\x7a\x1f\x79\xce\xa9\x28\xb3\x94\x20\x74\x49\x9f\x43\x35\x5a\x8a\xa0\x88\x8d\xb1\xe7\x09\xb2\xc2\x3a\x57\x48\xe4\x78\xba\x12\x55\x8a\x1c\xd5\x68\x23\xf4\x3e\xf6\x9c\xd4\x5d\xb7\x45\x02\x1e\x0e\x28\x12\x30\xc3\x7e\x22\x89\x8f\x71\xb8\x15\xfd\x1d\x31\x42\xa0\xbf\x6c\x8d\xe5\x2a\x61\x00\x06\x9c\x40\x73\x80\x01\xef\x73\x2e\xb1\x94\x93\x35\x83\x59\xd7\x30\x96\x6c\x21\xf1\x08\x24\xeb\xd7\x39\x24\xc3\x7b\x0f\x49\x2d\xe7\xd0\x09\xc0\xe0\x10\x6a\x6c\x6a\x02\x01\xe6\x1c\x91\xae\x5b\x83\x7e\xe8\x24\xb3\x1e\x52\xc6\x1a\xcb\xd1\x4e\x20\x5b\xaf\x00\x38\x3e\x29\x28\x80\x7c\xc2\x32\x69\x22\xa5\x0c\xc1\x5f\xb1\x46\x88\x0a\x04\x0b\xb6\x12\x83\x58\x47\x74\x44\x3a\xd5\xb1\xd0\x73\x44\x0a\xd3\x0c\x36\xd6\x09\x04\xae\x27\x58\x58\x14\x48\x04\xfa\x21\xc7\x15\xe9\x66\x60\xd6\x52\x40\x74\xe2\x7d\x64\x6c\xad\x4e\x78\x02\xa5\x7c\xba\x7c\x01\x93\x48\x98\x04\xcc\x20\x5d\xe2\x05\x64\x15\x66\x20\x19\x13\x3c\xf7\x15\x29\xfa\x62\xd9\xf6\x49\x85\x4a\xec\x0d\x80\xe0\xb9\x5a\xcb\x1d\x74\x1c\x9d\x5e\x3a\x25\x74\x4f\xa2\xb3\x4b\x56\xa7\x8d\x23\x05\xda\x13\x96\x6b\x13\x0b\xc2\x89\xbc\x49\x42\x18\x24\x3e\xba\xe6\x88\xec\x83\x3e\x45\x76\xd0\xf0\x83\xc6\x90\xf5\x80\xce\xcf\x40\xd2\x3c\x96\x02\x40\x65\x44\x20\xf0\x9c\x96\x18\x13\x96\x12\x94\x4f\x9c\x12\x54\x3d\xb9\xb0\xb8\x34\xaa\xd0\x84\x4f\xca\xd6\xaa\xf6\x25\xb3\x57\x3f\x81\x14\x86\x3e\x97\xc3\x7c\xe8\xe2\x75\x20\x39\x52\x5f\xc2\xf5\x34\x8d\x41\xfc\xd0\x55\x4f\x87\xa4\xb8\x19\xa3\x9f\x08\x0f\x43\x8e\xaa\xc4\x9b\x84\xa0\x06\xd0\x05\xdd\xd0\xb9\x80\x0d\x65\x23\xec\xcc\x28\x93\x99\x21\x6f\x12\xd5\x4b\x47\xa0\x1d\x12\x88\x6e\x20\x56\x41\x1a\xb2\x75\xc6\x11\x80\x25\x02\x30\x67\x0d\x11\x13\x2b\xbe\x7d\x10\x01\xc9\xa0\xeb\xbf\xe3\x5d\xc4\x9e\x33\xc0\xb7\x31\x87\x4c\xc0\xc0\x13\xf8\x02\x9c\xa7\x75\xaa\x28\xed\x68\x64\x9d\x8a\xa5\x97\x69\x3f\x74\x85\x4b\x46\x92\x2a\xca\xea\xcb\x69\xee\xcb\xc9\xcd\xe5\x93\x1a\x76\x4f\x12\x41\x06\x84\x4c\xf7\xe5\x78\x23\xd9\x80\x12\x0f\x8a\xe6\x32\xb9\xfc\x03\x59\xb3\x7a\xa5\xe3\xd9\x40\xb6\xfe\x2b\x03\x4a\x89\xee\xa7\x28\xed\x82\x76\xf8\x18\x82\x98\xaf\xfb\x3e\x88\x42\x3e\x8c\x52\xe4\x31\xbe\x9b\xaa\xa5\xed\x13\x4e\x2e\xf8\x5f\xca\x5e\x63\xae\xc6\xd0\x69\xaa\x71\xb1\x0a\x3f\xeb\x68\x22\x03\xe9\xbc\x33\x31\x17\x17\x92\x7a\x5b\x65\x7d\x4c\x20\x88\x94\x90\x0a\x2a\x62\xc6\xbb\x08\x3c\x27\xc5\xf7\x42\xee\xe7\xfe\xe1\x5f\x94\xf5\x46\x4d\x3f\x4f\x70\xdb\xa2\xc7\x63\x68\x2e\x9d\xc4\xca\x62\xd4\xd4\xfa\x54\x2b\x0b\x49\x0d\x5d\xd9\xff\xb6\x99\x16\x59\xd2\x12\x4b\x9a\xad\xac\x0d\x2e\x02\xf8\xb3\xa6\x62\xea\x9d\x0c\xf8\x4a\xdf\xc6\x20\x75\x90\xce\x4f\x04\x11\xbb\x04\x45\xfc\x8a\x17\x2a\x62\xe9\x81\x8a\x0c\xca\xab\x2a\x65\xd7\xac\x54\x30\x44\xa5\x8c\xd0\xfa\x4a\xb5\x65\xc8\xd1\x7b\xcc\xb5\x46\xd5\x40\xe4\x96\x9e\xe7\x64\x68\xec\x59\xb2\x66\x9e\x47\xc8\x5e\xe9\x2f\xae\xe7\x4c\x10\x08\x02\x06\x1a\x10\x5e\xd7\xaf\x6e\x9d\x72\xc6\x04\x03\xbe\x1b\x51\xba\xa3\x31\x4e\x63\x82\xd4\x12\x15\xd4\x8d\xb0\xa9\x40\xea\xf4\x75\xe9\xf1\x15\x9b\x00\xb0\x24\xd4\x19\x1d\x41\x67\x06\xab\x72\xc5\x18\x4f\xac\xb1\x19\xa0\x33\x21\x25\x0c\x0e\x10\xc0\xb4\xce\x9e\xe3\x03\xef\xbb\x73\x81\x88\x92\xc0\xdb\xc0\x8b\xe0\x08\x3a\x3d\x14\x48\x2a\xf2\xc5\xb6\xd0\x75\xf9\xf6\x21\x91\xb3\xae\x6d\x7f\x4c\x9d\x04\x7f\xe1\xbd\xec\xa0\x9e\x58\xc3\x81\xfc\x51\x52\xdf\x48\xeb\x19\x69\x5e\x18\xd6\x3b\x92\x7b\x6c\x57\xc8\x27\xcc\xd7\x77\x85\x86\xe4\x2b\x60\x75\xea\x18\x42\x82\x47\xa4\xef\xfb\x38\x2f\x0d\x38\xc7\xd4\xb9\x28\xe5\x89\x1f\x27\xd7\xc7\x9e\x33\x48\xa6\xd7\x27\x1e\x9b\xf7\xa8\x3a\xef\xf6\xf9\x53\x94\xe9\x7d\x12\xc8\xc0\x99\xce\xc5\xb0\x15\x9a\xb0\xe6\xe0\xf9\x06\x74\xd2\xf7\x9e\xa0\x18\x3f\x9e\xc3\xd0\x49\x40\x1a\x68\x4d\xd4\x18\x42\x5c\x6d\x41\x50\x0f\xb6\xd0\xaf\x3e\xa2\x2b\x22\x01\xea\x35\x27\xb6\x61\xf4\x65\x5d\x98\x0c\x88\x4d\x44\xaf\xda\x5e\x07\x3d\xb9\xc0\xe9\x21\xa0\xef\x83\xfb\x55\xda\x8e\x08\x75\x1a\xf4\x1e\xa1\x63\xe4\x39\x1b\xe8\x4d\x5d\xcf\xe9\xa1\x4e\x0d\x20\x7e\x23\x80\xd6\xce\x35\x8c\x60\x60\x4e\x55\x8c\x8a\x37\x82\x68\xd5\x20\x3a\x0a\xc2\xbd\x26\x92\x1c\x7d\x79\x2d\x0e\x1f\x90\x47\xca\x5f\x35\x8f\xf0\x87\x21\x5a\xdb\x20\xdc\x41\xe8\x44\x28\x03\x42\x39\x17\xea\x58\x26\x9f\x54\x9a\xb6\xf5\x8a\x24\x0b\x89\x00\x90\x24\x1e\x71\xb6\xad\xd8\x40\x8c\x52\xda\xc5\xf7\xd0\x73\x22\x34\x81\x35\x80\xce\xdb\x00\xb4\xb6\x01\xb8\x37\x5c\x88\x28\x76\xcd\x79\x94\xe7\xf1\xf5\xd2\xa2\xac\x7e\x20\xf3\x19\xa4\x7f\x8b\x42\x4d\x6d\x4d\xaa\x3f\x9d\x1d\x7f\x12\x89\xa1\x5e\xf5\xa7\xbb\xe3\xcf\x3f\xbd\x02\x71\xc6\x92\x56\xb9\x27\x93\x36\xde\x0a\xd6\x24\x6a\x84\x96\x90\x4c\x3a\xba\x75\xbd\x3d\xfe\x7f\xb4\x02\xaf\x05\x2d\x9c\x61\x8f\xe1\x3d\x86\xff\x39\x15\x34\x63\xb8\xb5\xc7\xf0\xcf\xc3\x30\x0e\x81\x7e\x26\x49\x8f\x71\xd6\xea\x51\xa9\xad\xa5\x4a\x1c\x59\x1f\xbb\xc0\x50\x87\xb1\xc7\x24\x83\x56\x32\x03\xc6\xf1\x92\xd0\x4c\x8d\xb4\xc8\x4c\x53\x62\x25\x00\x4e\xc7\x3b\x87\xed\x2d\xd5\x76\x2d\xd5\x76\x2d\xd5\x76\x41\x24\x70\x83\xc7\x28\x7e\xb6\xde\x9e\xa5\xde\x9e\xa5\xde\x9e\xac\xb7\xb7\x53\xbd\x81\xa5\xde\xc0\x52\x6f\x20\xeb\x0d\x7e\x69\x7f\xf7\x78\xf8\x3d\xf1\x90\xfc\xa4\xfe\xfe\xaa\x7a\x77\x67\x0f\xa2\xde\x08\x9f\xc0\xc4\x49\xbc\x15\xfa\x28\xce\x49\x1e\x50\x25\xa1\x6b\x26\xf4\xcc\x84\xe0\x59\x88\xb7\x2b\x92\x9a\x10\xdb\x12\xc4\x58\x26\xe8\x23\x47\x03\x9e\x56\x13\xba\x66\x42\xcf\x4c\x08\x9e\x85\x78\xbb\x22\xa9\x09\xb1\x2d\x21\xc2\x47\x30\x71\xba\xde\x12\x7e\xe4\x26\x02\xf8\xbe\x9a\xd0\x33\x13\x82\x67\x21\xde\xae\x48\xcf\x84\xd0\x13\xd0\x03\xc4\x44\x0f\x3c\x82\x98\xdd\x57\xfc\x14\x59\x9a\xfd\x14\x59\xda\xfd\x49\xb2\xf4\xb9\x7a\x5f\xcb\x33\x9e\xab\xf7\xb5\xbc\xf3\x57\xf5\x77\x8f\x87\xdf\x13\x0f\xbd\x9f\xd4\xdf\x5f\x55\xef\x6b\x65\x69\xcf\x94\x3f\x3d\x53\x96\xf6\x4c\x91\xd5\x33\xa5\xdc\x36\x88\xb7\x2b\xd2\x37\x21\xb6\x25\x88\xb1\x18\xb2\xb4\x67\xca\xd2\x9e\x29\xb2\x7a\xa6\x94\xdb\x06\xf1\x76\x45\xfa\x26\xc4\xb6\x04\x26\x4b\x33\x25\xa1\x30\x15\x59\x99\x29\x5c\x33\x53\xa8\x65\xa6\xd8\xdb\x06\xf1\x76\x45\x06\x26\x84\x96\xd0\xdf\x0b\xd7\xbd\x70\xfd\xb7\x08\x95\x3d\x1e\xf6\xc2\x75\x2f\x5c\xf7\xc2\x75\x2f\x5c\xf7\xc2\x75\x2f\x54\xf6\x78\xd8\x0b\xd7\xbd\x70\xdd\x0b\xd7\x7f\xb5\x70\x6d\xed\x85\xeb\x5e\xb8\xfe\xf3\x85\xca\x1e\x0f\x7b\xe1\xba\x17\xae\x7b\xe1\xfa\xdb\x08\x57\xff\x44\x78\x6b\x2a\x73\xd3\xae\x7c\xe2\x56\x4e\x97\xd2\x4d\xb3\x13\x68\x6e\x15\x39\x10\x76\xf7\x3d\x50\xf1\xaa\x48\xc0\x27\x6a\x49\x9f\x05\x9a\xa3\xd9\xc0\x84\xb9\xa1\x7e\x9e\x23\x18\xd4\x8b\x8f\x61\xe8\x0c\xc0\x12\x06\xd2\x75\x23\x0d\x85\x9f\x9b\x1f\x08\x77\x80\x54\x98\xeb\x77\xcc\xf2\xae\xa7\x5c\x48\xa3\x9a\x0b\x69\x02\xae\x42\xee\xc6\xbb\x81\xa0\x17\x3b\x33\xee\xf6\xd1\x6d\x3b\x1b\xea\x75\xc2\x5a\x2d\x20\x69\xe2\x14\x02\x3f\x96\x3e\x68\xe8\x3d\x0e\xd9\x50\xa4\x57\x5a\x10\xa8\xe7\x38\x74\x4a\x04\x22\x05\x0f\xae\xda\xd2\xcd\x10\xa4\x89\x4a\x9f\xc2\x8f\x0c\x39\x23\xe1\xd1\x26\xeb\x49\x48\x35\x23\xad\x9a\x84\xd4\x32\xa7\xb5\xcc\xb5\x5a\x12\x5a\x09\xf7\x30\xa6\x3f\xd5\x2a\x0e\xa0\x51\xc5\x88\x56\x31\xaa\x55\xf1\x26\xfd\x68\x40\x4a\x62\xe2\x24\xb1\xa3\x24\x71\x4b\xef\x33\x69\x1e\x07\x75\xbf\x11\x10\x84\x7a\x56\x62\x64\xe5\x55\xfa\x15\x39\xcc\x63\x4a\x0e\x6d\x0d\x09\xf9\x72\x47\x83\x6b\xea\x19\xda\x0b\x84\x93\x57\x3f\xd4\xbd\xab\x62\x8b\xfd\x35\x7d\x9a\x08\xaa\x09\x3d\x32\xa8\x44\x94\xc7\xc3\x90\x90\x85\xad\xbc\x5f\xf5\xda\x6f\x08\x55\x60\x8e\x2b\xd2\x3c\x83\x49\xea\x9a\x3b\xab\x48\xef\xf2\xbe\xc5\x9b\xa9\xa0\x8e\x88\xcc\x83\xe7\xe3\x27\xa1\x28\x67\xb2\x64\x04\xa4\xeb\xb2\x7a\xef\xed\x00\x33\xb0\xc0\xf4\x9e\xaf\xe6\xe5\x20\x7a\xc3\xc9\xa7\xb6\xd3\x82\xe0\x5c\x72\x01\x2d\x72\x07\x4a\x3d\xee\x62\x56\x47\x1c\x92\x3e\x19\xd2\x87\xd3\x3d\x41\x21\x59\xda\x4b\x14\x68\x8e\xd7\xdc\x3d\xe8\x11\x85\x4e\xb1\x25\x6f\xb6\x25\xef\x18\x36\xe7\xad\x20\x00\x6b\x48\x66\x6e\xe4\xde\x41\x49\x95\x0a\xe8\xce\xa5\x40\x6b\x57\x3a\xbb\x06\xa1\x53\xb8\xd2\xe9\x7d\x06\xc1\x65\x48\x56\x5a\xbf\x4e\xf7\x11\x88\x84\x9b\xfc\x0c\x6a\x0e\xac\x5d\xe1\x4b\x46\x71\xb8\x84\x92\x4f\xb3\x47\xe5\x93\x3d\x51\x50\x2b\x05\xc5\x1e\xb9\x8d\xec\x6e\x50\x5d\xea\x19\x82\xa4\x53\x9a\x00\x8a\xb5\xf6\x14\xd1\xa7\x9e\x33\xdf\x01\xda\x88\xe1\x11\xcb\xe9\xcf\x24\xc5\x63\xd0\x3e\x77\x29\x37\x3a\x64\xff\xe6\xbe\x33\x72\x01\x58\xf8\xce\xca\x25\x00\x2d\x17\x80\x25\xa2\x69\xf7\x48\xa5\x75\xeb\xde\x2b\x20\x63\x4e\xc6\x23\x48\x3d\x90\xc7\xd0\x99\x50\xfe\xb4\x44\x9a\x1f\x61\xc5\xdf\x29\xf9\x74\x16\x0a\x4f\xb6\xb4\x88\x42\x67\x8d\x01\x98\xb9\x4e\x81\x01\xb8\x73\x9d\x39\x55\xf6\x26\x2e\xe1\x58\xb4\x64\x97\x4c\xed\x2e\x4d\x74\xb4\x26\x1e\x23\xd9\xc4\xe9\xf3\x4d\xf4\xa5\x07\xa8\x72\xcb\xef\x59\x9c\xe7\x3a\x32\x3c\x8d\x72\x35\x49\xaa\x53\x10\x13\x89\xbf\x42\xa0\x13\x6b\x74\x27\xfc\xb1\xdb\x9c\x51\xaa\x35\xa6\xd0\xd9\x91\x84\xc3\x60\x54\x0b\x3d\x50\x71\xc1\x4d\x49\x0b\xe7\xd4\x95\x88\x47\x74\x61\xe4\x5c\x71\x6f\x9d\x53\xf7\x56\xae\x41\x84\x21\xc1\x55\x12\x08\x1f\xd5\x94\xae\x1d\x15\xea\xc6\xf7\x78\x18\xa2\xa5\xf8\xf5\x39\x26\x12\xe5\x8c\x45\xa3\x8c\x30\x69\xaf\x87\x94\x91\xfc\x35\x95\x3f\x85\xf6\x8e\xce\xae\x45\x04\x17\xf6\xcb\xe2\xbf\x30\x19\x46\x44\x9b\xe4\x42\x01\x75\x85\x55\xc8\x49\x68\xc4\x98\x0a\x97\xca\x8c\x85\x9c\xb8\xc7\x9d\x90\x7b\xf2\xb2\x94\xf5\x35\xba\x4b\xbc\x9f\xd6\x60\xe4\x4e\xae\xab\x0d\x96\x5d\x74\x96\x78\x3c\xe4\x05\xfb\x65\x8e\xf8\x8c\x44\x0b\xa3\xc1\x96\xd1\xe0\x01\x7c\x76\x84\xd7\x54\x05\x90\x0d\x8e\x52\x30\x08\xb5\x98\x01\x3b\x3b\xd3\xa9\xad\xe5\xa0\xfa\xda\xd5\x5e\x25\xb4\x60\xa2\xe2\x31\x97\x4f\x9c\x86\x2e\x3d\x22\xca\x53\xa1\x70\x84\x47\xd7\x44\xb6\x07\xe5\x35\x65\x7c\x79\xf0\xc2\xde\x3d\xdb\x9e\x44\x09\x4d\x5c\xab\x47\x15\x71\xa8\x80\xa0\xa2\x30\x63\xaa\x0b\x6f\x20\x58\xc1\xdd\xbb\xf3\x46\xc7\x58\x3f\x05\xe7\x6a\x60\x27\x90\xca\xcf\x02\x05\x5a\x48\x09\xa5\x74\xf1\x92\x63\x44\x75\xd0\x95\x82\x7a\x40\x21\xa1\xc1\x63\x24\x15\x45\x22\xdd\x4b\x04\x0e\x90\xce\xda\x79\xf9\xa1\x4b\xd1\xb7\x74\x7f\xf1\x6c\x1a\xda\x24\xd6\x11\xe1\x52\x5d\xfd\xc2\x0d\xc4\x74\x7d\x60\x29\x25\x0e\x4c\x16\xaa\xa4\x56\x47\xf3\xce\xbc\xc3\x21\xe1\x14\x1b\xfc\x8b\x07\xc9\xbb\x7f\x86\x43\x22\x3e\x0e\xb0\xe4\xee\x08\x68\x73\xac\xba\x9f\xb3\x96\xc6\x5e\x48\xc4\xf4\xca\x0b\x78\x50\x22\x7c\xf4\x57\x5b\x73\x5e\xcf\x40\x3d\x74\x83\x2d\x5a\x8d\x11\xda\x64\x06\x25\xad\x96\xea\xb1\x50\x8f\x86\x96\xa1\x14\xe9\x3e\x9a\x61\x60\x06\x4c\x60\x1a\xcc\x97\x43\xfc\x26\x11\x03\xda\x11\x0f\xdd\xd4\x23\x1d\x92\xbd\xba\x49\x48\xea\x17\xa7\x47\x37\xc6\xca\x81\x5d\x3b\xf3\x36\x4e\xda\xd8\x28\x7b\x5b\xb2\xa7\x74\x37\x0d\x72\x67\x00\x36\xf0\x2f\x31\xbd\x2a\x42\xcb\x11\x4c\x49\x1f\xbf\x39\x7d\xba\x18\x05\xae\xe2\x90\xe1\x72\x03\xb5\x18\x69\x89\xe7\x64\xe8\xbd\x75\xbb\x25\x59\xff\x2d\x74\x09\x62\x4a\x18\x5b\x42\x00\x68\x12\x02\x6b\xbb\xf4\x38\xd8\x32\xc4\xc9\xf6\x21\x92\x4d\x7e\xa8\xe4\xbe\x0c\x4c\xa5\xb7\xe5\x7b\x1c\x51\x33\x21\xd9\xfc\x86\x31\xd4\xb6\x11\xee\x20\x74\x72\x34\x74\xb7\xed\x35\x22\x3a\xe6\xb9\x36\xe6\xa4\x71\xcc\x4c\x4d\x99\x3f\x33\xe6\xf9\xf6\x31\xcf\xe9\x98\xd7\x62\x63\x8b\x71\xbd\x4b\x64\xcc\x4b\x4d\x25\x9a\xab\x31\x9b\x9d\xab\x8f\xb9\x84\xa1\xd3\x45\x53\xf7\xf9\x89\x2e\x76\x9a\xe8\x42\x9c\xa8\x6c\x1d\xf4\xf3\xb4\x1c\x69\xc1\xc1\x9a\x26\x5a\x1e\x42\x30\xe5\x65\xf7\x89\x9e\xc1\xd0\xc9\xd0\xfd\x0e\x83\xfe\x17\x51\xf7\x8a\x0e\xfa\xe9\x6f\x1e\xf4\x4e\x33\xfd\xf3\x06\xdd\x82\xa1\xd3\x47\x67\x3b\x0c\x7a\xb4\xd3\xa0\xe5\x39\xd3\x8f\xcf\xb4\x64\x0f\x4d\x83\x96\x08\x66\x67\x79\xbb\x0f\xfa\x00\x92\xda\xd1\x13\x6c\xe0\x64\xda\x29\x8b\x40\xc0\x11\xc2\xce\x31\x2c\xe1\xb9\x2d\x9a\x4b\xb5\x5b\x2c\x32\xd7\x31\xed\xf7\x8f\xa0\x40\x86\x01\xbb\xa0\x55\x99\x3d\xa5\xd1\xcc\xf4\xad\xca\x71\x33\x0a\xf8\xb8\xe9\x59\x0c\x3a\x83\x75\x28\xeb\xb0\x23\x36\xec\xf3\x86\x61\x1b\x1c\x56\x6e\xd3\xb6\x0e\xfb\x79\x6e\xee\x8b\xe0\xa2\x05\x92\xc3\x8e\x8c\x61\x5f\x68\x7b\xb3\x73\xeb\xb0\xb5\xce\xb9\xf4\xcc\x14\x1d\xbe\x70\xb6\xd7\xbb\xcd\xb6\x2e\x79\x7e\x64\x95\x1b\x84\x63\x9d\x6d\x79\x54\x4f\x5a\x7c\x76\xb6\x3b\x94\xc8\xc7\x4d\x47\x83\xff\x56\x22\xef\xd2\x61\x2f\x7e\xe5\xb0\x77\x9a\xed\x37\x1e\x76\x16\x3a\x33\x88\x1e\x5f\x38\xec\xd6\x6e\xc3\x66\x01\x33\x5b\x6f\x31\xdb\x3a\x9b\xb0\x0e\x5b\xa2\x98\xb4\xf8\xec\xb0\x89\xd0\xee\x6a\x51\x35\x2b\x37\x08\x7c\x5b\xc9\x6e\xed\xce\xd9\xc9\xf3\x98\xfd\x9b\x21\xd2\x9f\xf4\x04\xc9\xa6\x3f\xd1\xc0\x65\xa7\x2c\xfb\x16\x12\x15\x2d\xbf\xe6\xa7\xf4\x43\xf8\xe8\x13\xa5\xad\x80\xc7\x3e\x90\x69\xb7\x3e\x90\xea\x5c\x01\x67\xbe\x2d\xf0\xa6\x36\xb6\x07\x48\x55\xb6\x96\x08\x09\x95\x0c\xe1\x93\x0f\xe4\xa2\x2e\xe0\xa9\x8f\xe5\xf6\xa7\xeb\x53\x74\x7e\x72\x12\xf4\xe8\x36\x9c\x8b\xaa\x1d\x58\xdc\x6b\x05\x91\x2c\x70\xe6\x36\x9c\xd5\xea\x05\x66\x61\x68\x9e\x8a\x0a\x6b\x1d\x11\x9e\xba\xc7\x72\x82\x5a\x04\xe7\x20\x90\xb7\xdb\x51\xa8\x85\xd3\xc5\x5f\x06\x81\x1e\x67\x36\x02\x95\x4d\xb2\x91\xd6\x33\xd2\xfa\xdf\xdb\x4e\x8f\x87\xb6\x23\xd3\x16\xf0\x99\xe5\x20\x34\x9a\x9d\xba\xf3\x64\xc7\xc8\x62\x9f\x4f\x8f\x95\x67\xea\xbd\x80\x24\xc1\x38\xdc\x55\x61\x0c\xd9\x66\xfc\xcb\x10\x06\x32\x82\x72\xe5\xfc\x67\x60\x49\xeb\x19\x69\xd9\x4d\x5b\x9c\xfc\x63\xd9\x0a\x13\x08\x7e\xed\x20\xc7\x88\xb9\xa9\xf6\xdb\x6a\x93\xce\x03\xfc\xa1\xbf\x34\x3b\x8c\x58\x13\xb1\x95\xd3\xff\xbe\x99\xf6\x17\x3d\x05\x2e\xa0\x8e\x3d\xa2\xf2\xc7\xe6\x29\x0b\x2f\x14\xb7\xb5\xd0\xe2\x14\x3b\xea\x00\x2b\x92\x25\xd4\x29\x89\x7a\x32\xce\x01\x62\x50\x89\xc6\xad\x9f\x7e\x2b\x16\x50\xb9\xeb\x53\x8b\x44\x5d\x27\xf6\x80\x45\x7c\xef\x78\xd5\x77\x43\x76\xa4\x6c\xc6\x06\x4b\x97\xca\xfa\x85\x2b\xef\xc2\x8d\xc8\xf9\x72\xf2\x35\x76\xe2\x6e\x2a\x91\x12\x6d\xc1\x4f\x55\x30\x57\x95\x61\xe3\x38\x3d\xf9\xa4\xce\x61\x7a\xd5\x8e\xe0\x29\x7c\xa0\x5b\x64\x40\xf5\x9d\x09\x6c\xb9\xb6\x98\xbb\x1a\xb7\xfb\xce\x36\x00\x2b\x48\xfe\xcd\xe0\x14\x6a\x9d\xb0\x80\xdf\x43\xb6\x1f\xde\xd0\x2b\xb7\x63\xb8\x80\xf5\xcb\x0b\x8d\x2d\xa5\x54\xd3\x56\x0b\xeb\x32\x74\x12\x90\x48\x3a\x4a\x42\x7e\x4f\xa5\x10\xc8\xd7\x84\x5f\xb9\x79\xd4\x29\x27\x10\x37\x61\x89\x85\x42\xf4\x93\xcf\x86\x80\x84\x1c\x77\x81\xb8\x76\x4b\x65\x35\x81\x2c\x67\x5b\x56\x06\xe1\xd2\xaf\x00\xac\xe8\xd8\x14\x71\x77\xe4\x13\xe3\x49\xf8\x84\x32\x42\x79\x7d\x68\xdc\x05\x69\xdc\x6c\xa6\x1e\xb5\xd4\xbe\xb6\x8a\x43\xa1\xa2\x15\xf4\x86\x5d\x55\xf5\x16\xe7\xd0\x1f\x43\x7e\xfb\xb1\x84\x20\x8b\xc5\xf4\x7c\x6b\x2b\x6d\x99\xdf\x8f\x4c\x5c\x7a\xe3\x7a\x04\xe9\xbf\x27\x4a\x35\x23\x28\x4b\x8c\x61\x9b\x13\x9f\x2e\x69\x4b\x5a\x9c\xe9\x24\xd2\x26\x81\x49\xe0\x63\x18\x08\x7e\x13\xbd\xf0\xb2\x82\x8d\x9b\x4e\xd5\x5a\x29\x07\x03\x6d\xf1\xb2\x44\x8f\xaa\x18\x91\x3c\xc7\x0e\x42\x67\x83\xe5\x0d\x1e\x25\xa8\x53\x75\x59\x8a\xa9\x59\x0b\x1e\xc2\x21\x0a\x78\xf7\xb1\xe2\x17\xb8\x80\x2b\x14\x92\x6d\x01\x19\x10\x1a\xc2\x23\x18\x70\x05\x86\x42\xad\x04\x14\xd9\x05\x2e\x75\x02\xc6\x9e\x73\xe1\x6a\xad\x92\x3d\x3c\x45\xfe\x0c\x0f\xe1\x9d\x6b\x6f\x6b\xe3\x86\x34\xff\x0c\xd9\x5b\x29\xdc\x90\x5f\x1f\x95\x48\x5e\x4f\x63\x50\x40\x31\xa4\x01\xa8\x1c\x1a\x77\x08\x32\x26\x34\xc4\x2b\x1f\x6c\x70\x01\xc9\x34\x80\x31\xe2\x37\x4c\xea\x32\x4f\x68\x68\x05\xb2\x40\xa4\x12\x22\x05\x33\x28\x16\xeb\x0b\xa8\x9a\xbd\xa7\x40\x1e\x9c\xd1\xb5\xb3\x52\x8f\x9a\xec\x54\x72\x6c\xa4\xe6\x5c\xd3\x83\x73\xa0\x64\x15\x4d\x7b\xc1\x79\xba\x5c\x56\x07\x90\x30\xa6\x58\xae\x07\x2b\xb9\xe6\x81\x26\x4d\x04\x0a\x43\xe7\x94\x5e\x10\xf3\x99\xf5\x42\x67\xe9\x0e\xe1\x38\xa8\xcc\x69\x4b\xcc\x59\x19\xb0\xfc\x61\x18\x48\xc3\x6a\x7d\x4e\x5b\x61\xe8\xac\x70\x95\x52\x4e\x29\xa5\x9c\x63\x56\xca\x56\xeb\x3c\x0c\x69\xfe\x5d\x64\xab\xf5\x53\xab\xf0\xa9\xd1\x03\xdb\xd2\x92\x85\x49\x9f\xd7\xee\x06\xde\x1e\x79\xb1\xc6\x4d\xb8\x8a\xa2\xbe\x13\x31\x8e\xdb\x6c\x5d\x1a\xcc\x6b\x87\x15\xca\x91\xc9\x42\x17\x27\x81\x59\x83\x69\x46\xfe\x6a\xee\x25\x94\x63\x5f\xe3\xfe\x37\x17\x90\x5a\x62\x8d\x11\x65\x3f\x73\x4c\xfe\x8d\xe0\xa1\x2b\xda\x8e\xda\x1c\x91\x8c\xd0\x4a\xf5\xd5\x90\x1d\x46\xf6\x3a\xea\xdd\x95\x26\xdb\x94\x57\x90\xba\xe9\xef\xcc\xbd\x85\x0f\x22\x1a\x1a\x2e\xe1\x0c\x85\xaa\xd3\xd8\x12\x70\x7e\x03\x8d\x80\xd2\x0d\x92\xd1\x16\x15\xdc\xa6\x45\x75\x8c\xed\x51\x4d\x4b\xba\x85\x4f\xf2\xbe\xa6\x84\x05\x16\x5c\x89\xfd\xae\x5d\x30\x08\xec\x9b\x86\x5b\x78\x28\x02\xfc\xc7\xd6\x82\x13\x18\xd8\xf7\x27\xb7\xf0\xce\xab\x96\x5c\x0b\x93\xb9\x53\x61\xec\x88\x41\x37\xe4\xdf\x38\xe1\xeb\x98\x12\xcc\x01\xfd\x5d\x31\x33\x3d\x8a\xe1\x89\x7b\x0b\x9f\x3c\x1b\x0f\x2e\x61\xe9\x53\xe3\x24\x15\xae\x15\x7b\x7c\x0d\x31\x1b\x3d\xd6\xec\x84\xcf\x94\x6a\x65\x43\x66\xcd\xb3\xf1\xed\x12\x1e\x78\x21\x29\xa1\x64\x4e\x47\x28\x35\x42\xd5\xd7\xdd\x27\xf8\xfc\x5e\xd1\xad\x53\x57\x2e\x23\xbc\x6d\xf1\xf8\x96\xc5\xe3\x5b\x16\x8f\x0f\xbe\xd0\xfb\xe1\x3c\x16\xd3\xff\x7d\x03\xe9\x96\xec\x10\xd2\x3d\xd9\x81\x4b\xfe\xcd\xe0\x93\x5c\x38\x77\xb0\xcd\x91\x77\x4e\x70\x1d\x8b\x3d\xc4\x19\x6c\x73\x64\x5c\x20\x30\x42\xb1\xb6\xc8\x79\xd5\x53\xd4\x76\xe6\x3a\xa2\x5c\x00\x4a\xd7\x39\x40\x00\xdc\xba\xa4\x14\x98\xf8\xe4\xdf\x12\x9d\xf0\x0f\xcd\x60\x34\x8e\x3e\x72\x5b\xab\x57\x29\x4f\x8a\x7e\xb3\xea\x53\x04\x2a\x96\x34\x4b\x5b\x13\xbe\xc6\xaa\x2e\x3d\x42\x8e\xb1\xcd\x6c\xf2\x9a\x30\x74\x90\x6d\x3b\x93\x8e\x9a\x32\x68\xed\x8d\xa7\x1a\x5b\x8a\x7d\x0b\x9d\x95\x0b\x4a\x68\xeb\x10\x35\x66\x70\xc1\x1a\xc6\x35\x95\x3c\x01\x4f\xb0\x4d\xb8\xff\x39\xb4\x98\x1d\xa5\x6d\x6e\x77\x62\xec\xdc\x3a\x16\x05\xd8\xd8\xc9\x28\xd5\x37\x97\x4f\x2f\xb8\x1a\xd6\x76\x66\x76\x23\xa2\x8e\x5a\x94\xea\x7e\xb7\xd0\xdf\x13\xcf\x39\x46\x63\x78\x22\x24\x71\x67\x04\x8f\x31\xd5\xf5\x62\x71\xdd\xba\x89\x41\x3b\x24\xeb\xbf\x1b\xd4\x0f\xf1\x97\x21\xd9\xae\xac\x91\x14\xe5\x01\x15\xe5\x5a\xf1\x49\x48\x18\xca\x06\xbe\x44\x4b\x7d\x85\xa4\xf0\xe8\xc7\x9c\x44\x90\xee\x0e\xb5\xa3\x76\x41\x12\x0b\x66\xd1\x6f\x6b\x1b\xca\x4c\xe3\xe6\x58\x99\x1a\x88\x59\xaa\x45\x1f\x6d\xe0\xf3\x4a\x48\xa9\x03\x82\x99\x32\x40\x89\x1b\xe7\x21\x32\xe6\xc1\x76\xd1\x5f\xc0\x31\xfc\x20\xbe\x55\xd3\x19\xc1\x52\x7e\xda\x4a\x43\x51\x04\xbe\xd3\x5b\xdb\x91\x88\x98\xad\x59\x96\xd2\xcb\xf5\x82\x71\x9b\xfa\x09\xe4\x7b\xc2\x78\x20\x18\xa1\x60\xcb\x5e\x34\x01\x77\xcc\x92\x74\x83\xf4\x63\x8c\x91\xd2\xfc\x15\x1e\x12\xa0\xe2\xdd\x67\x9e\x55\xfb\xc9\xaa\x42\x54\xa1\xc6\x66\xa6\x37\x51\xdf\x1d\x88\x9b\xca\x75\xaa\xe5\x4a\x08\x2a\x9f\x39\x9b\xdb\x96\xa5\xb1\x57\x35\x16\x28\xae\x36\x60\xd8\x59\xd8\x0e\x18\x7e\x74\xe5\x5a\xa6\x7d\xda\x51\xd3\xbe\x6c\x53\x3b\xdb\x09\xd9\x2e\x3e\xc2\x8b\x74\x04\x9d\x12\xae\xe1\x6d\xf7\x91\x4a\x9c\x35\x0c\xac\x27\x46\x36\x1e\x93\x58\x78\xd1\x8b\x86\xba\x4d\x9b\x19\xc3\xa7\x6b\xa0\x7d\x28\x48\x05\xe5\xc5\x6c\x10\x4b\x04\x36\x88\x0e\xe2\xf8\x63\xd7\x49\x37\xf0\x69\x08\x87\x50\x33\xa5\xd9\x81\x2f\x64\xa0\x72\x72\xa6\x7d\x84\x84\x50\x4c\xd7\x72\xc0\xc1\x3c\x69\x1e\x61\x8c\xe5\xc1\xf0\x1a\x5e\xaa\x59\xb9\xa2\x5a\x61\xd7\xb2\x08\x52\x7e\xd8\x69\x38\x87\xd0\x63\xcf\x19\x3d\x71\xe5\xa7\x77\x21\x3d\xe7\x4c\x6a\xbe\x1c\xfd\x29\xfc\x00\x95\xd2\x2a\x55\x99\xce\x04\xce\x21\xb5\x13\x03\xc7\x90\xfc\xeb\x2f\xa0\x36\x64\xde\xed\x2f\x6d\x32\xbd\x85\x65\xed\xaa\x2b\x83\x3e\x3d\x3a\x60\x6a\xdf\x31\xa3\x85\x2d\x76\x20\xda\xcf\x11\x33\xdc\x3b\x10\x3a\x5f\x34\x85\x0b\x17\x58\xf6\x40\x13\x78\xe0\x86\xce\x1c\x4e\xe1\xbd\x94\x10\x13\xb8\xc4\x21\xd7\x0d\x4f\xe9\xb1\x8a\x41\x6c\x15\x5a\x49\xc5\x29\xf0\x1b\x59\xfe\x71\xdd\x24\xa0\x03\x78\xf3\x6a\x99\xe9\xae\x38\xb3\x8e\x88\x2c\x9b\x43\x79\x02\x1e\xa3\xa9\x1f\x32\x47\xdf\x97\xef\xeb\x5e\xb7\xfb\xd1\x57\x65\xe2\x69\x7e\x1c\x19\x68\x30\x2d\x53\x8a\x9a\x3a\xc8\xeb\x57\x9f\x3a\x4f\x70\x08\xb1\x34\x51\xd8\xc0\x09\x54\x2b\x22\x0d\xb5\x6f\xf2\xfc\xb4\x71\x6d\x59\xc9\x4c\x65\x4f\x2c\xb6\xf0\xa9\x7e\xd8\x95\x55\x07\xc6\x65\x90\x74\x32\xd0\xae\xbe\x66\xea\xfc\x83\x99\xb5\x49\xc4\x9a\xfb\x23\x50\xf9\xb0\xa8\x71\x4c\xac\xad\xec\x3b\x78\xeb\x09\x16\x7d\x55\x40\x65\xd9\xbd\x81\x73\xac\x50\x19\x8b\x93\x5a\xe3\xee\x41\x71\xde\x18\x6c\xbb\x71\xe8\x02\x8b\x02\xa1\x48\xb8\xd0\xdf\xa3\xba\xb8\xe3\x39\xb8\xae\xa8\x33\x82\xfa\x7e\x86\xb0\xb3\x81\x79\xe9\x7a\x64\x03\x91\x76\xb5\x83\x78\x4e\x72\x9f\x3f\x3b\x17\x10\xe4\x89\x39\x17\xfe\xf7\x0f\xb8\x4d\xca\x5e\x30\x7f\xb6\x39\x8c\x75\x8c\xd7\x08\x41\xbb\x8d\x0c\x24\x21\x04\xa0\x6a\xec\xa9\xf6\xf4\x5d\x50\x3d\xbb\x7a\xd6\x16\xf4\x01\xb6\x9d\x03\x08\x5a\x30\x79\x4d\x37\x8e\xe0\x47\xa2\x3c\x9e\xc3\xae\xf6\x05\xa4\x8c\x3d\x7d\x80\x14\x05\x33\x94\xbc\xc6\x7e\xf5\x07\x86\x74\x8f\x3e\x12\x26\x7b\x2c\x1a\x5e\xaa\x4d\xda\x4a\x3d\x6a\xa9\xb9\x36\x6f\x67\xe8\x23\x91\x0b\xa5\xcb\x0b\xc7\xdf\xc7\x3e\x9d\xaf\xa5\x0b\x9c\xd2\x05\x41\x52\x9f\xeb\xab\x8f\x4e\x89\x40\x37\x6e\x9c\xeb\x09\xa6\xed\x15\xf2\x8e\xee\xd7\xcc\x35\xd9\xa8\x8d\xd0\x6b\x49\x6e\x01\xdb\xce\x29\x02\x6b\x98\xd4\xe7\xfa\x09\x52\x14\x1c\x88\xa3\xf9\xbf\x6d\xae\x6f\x11\x3d\x1d\x58\x8a\xfd\xff\x8b\xe6\xfa\x01\xb5\x89\x72\x75\x2a\x0a\xef\xe7\xfa\xbf\x6d\xae\x5b\x3f\x30\xd7\xad\xfd\x5c\xff\x53\xe6\x1a\x9c\x91\x94\xdf\x63\xa2\x5e\x48\x6b\x18\xfc\xd5\xde\x4f\xee\x96\xc9\x8d\x40\xf6\x59\x39\xb8\xf9\x7c\x4f\x95\x83\x4b\xba\x26\xc0\x04\xd1\x7f\x53\xa4\xee\xd6\xe2\x58\xc0\xb4\xa9\xd3\x7a\x5f\xbe\x7f\x69\xd3\xbb\xc7\x63\x7a\x05\x99\x4f\x91\x48\xff\xfe\xd1\x39\x47\x60\x02\x13\x91\x30\x85\x1f\xf9\x49\xff\x31\xff\xa6\x39\x10\x17\xcc\xb2\xb2\x13\xd8\x26\x3d\x2a\x10\x3f\x60\xca\xc1\x10\xd1\x0b\x87\x99\xf4\xc7\x98\x5d\x8b\x63\xa2\x35\x92\x1d\x8f\xc4\x65\x60\x81\xe4\x70\x22\x32\x1c\x32\x80\x39\x1b\xc7\x02\x11\x1c\x30\x57\x53\x31\x9c\x88\x0c\x67\xa9\x86\x33\x87\x64\x3c\xa4\x97\xe7\x88\xfc\xcb\x17\x7c\x3c\x4b\x48\x06\x74\xa0\x0d\x68\xc9\x42\x17\x5c\x88\x63\x76\x39\xae\x53\x6d\x44\x11\x1d\x51\x81\xd4\x88\xe6\x90\x0e\x69\xae\x0f\xa9\xc5\x86\x74\xae\x0d\x69\x0e\xd1\x22\xe1\xb6\x55\x7f\xd7\xee\xaf\xf9\x98\xa8\x84\x0b\x78\x25\xb6\x20\x73\x48\x37\x6d\xfe\x9b\x45\x89\xe2\x07\x11\x95\xcf\x82\x52\x3f\xd6\x5c\x5a\xa1\xa5\xa0\xe2\xb3\xbd\x54\xb7\xdc\xf8\x08\xde\x41\xd2\x95\x16\xdc\x68\xfb\x4a\x8f\xde\xed\xc7\x81\xc0\x4c\x10\x3a\xc7\xee\x02\xde\xa2\xc0\x72\x44\x32\x87\x05\x0a\x9d\x8d\xbb\x80\x53\x28\x6e\x98\x68\x7e\x4b\xe4\xcf\x91\xbe\x19\x54\xe7\x0e\x8a\xf1\x68\xa7\x55\x03\x13\x79\xec\x06\x7b\x01\x8f\x5c\xbe\xcd\xd4\x2d\xd7\x19\x32\xe6\x70\x8e\xed\x4d\x68\x15\xf7\x6a\x15\x5f\x7a\xce\x1a\x2e\xe0\x42\x5d\x6d\x8b\x1f\xd1\xc4\x1c\xce\xbc\x50\xf7\x54\x56\xa8\x54\x1b\x50\x03\xbd\x13\x03\x9a\xc3\x24\x9e\x33\x40\xf7\xbe\xcd\x1a\x1f\x83\x8a\x69\x2c\x3f\x3a\x72\x67\x7e\xe8\x0c\xd0\xd3\x4b\x8a\xac\xfc\xd0\xe9\xa1\xb3\xa6\x22\x75\x47\x9f\xbe\xdb\xa2\xad\x1c\xbe\xa4\x95\x73\x3f\x74\x32\x34\xbe\x6c\x28\xa2\xdb\xbb\x8a\x22\xa3\x4b\x42\x52\xe8\xbd\x6c\x46\x33\xa6\x75\x0f\xa8\xe1\x1f\x1a\x5e\xd6\x33\x23\x77\x74\x49\x50\x8a\xa6\x96\xcc\xc4\x9d\x5f\x12\x72\x46\xf7\xd6\xcc\x35\xcb\x7c\xb2\x66\x1e\x5f\x92\x4d\x38\x3a\xb3\x66\x4e\x02\x32\x59\x27\x97\x58\x32\x2b\x3b\x26\x64\x91\x39\x24\x5b\xf7\x03\x01\xa1\x4c\x70\xe9\xa5\xbb\xb2\x90\x61\xb7\xb1\xcc\x1e\x83\x99\x85\x6e\x14\xc4\x52\xab\xe4\x40\x8b\x60\xe2\x5e\xf8\x6d\xdd\x24\xcc\x38\x8a\x11\x56\x1a\x9e\xd3\x5d\xc0\xb3\x50\x2e\x92\x39\x2c\xa2\xb0\xe6\x41\xff\x22\x1b\xb0\x04\xc4\x9e\x33\x58\xc0\x7b\x69\x74\x31\x81\x6a\xe5\x93\x26\xd6\xf4\xc3\xea\x0b\x78\x22\xcd\x36\x18\x44\x8b\x3f\x47\x07\x90\x99\xe7\x4e\x02\x3d\x8e\xc0\xdb\xba\x6a\xb3\xaf\x8a\x46\x6f\xe1\xd9\xbc\xfb\xb5\xf2\xeb\x04\x05\xf3\x99\xef\xb7\xa0\xb8\x60\xf8\x72\x44\xcd\x38\xb2\x0d\x3f\x57\x8e\x87\x70\x18\x3e\x40\x8a\xb3\xe3\xd0\x7b\xd9\xf9\xde\xcb\x70\x36\xa2\x38\x7b\x0b\x5c\x5c\x51\x9b\x49\x75\x81\xa7\xa8\xf2\x13\xd1\x48\x16\x70\x1c\x63\x8b\xed\xc1\x1c\x96\xb1\x47\x24\xfe\x08\x76\xe5\x81\xf6\x18\x7e\x26\x9a\xc2\x1c\x76\x65\x89\x05\xfc\xec\x9c\xc3\x05\xbc\xbb\xc2\x16\x6b\x83\x39\x9c\x5c\x79\x44\x7b\x38\x85\x5d\x91\x06\xce\xe0\x67\xa2\x5c\x1c\xc0\xae\x2c\x71\x08\x3f\x3b\x73\x97\x9e\x0e\xf1\xc5\x73\x87\x3e\x3a\x4b\xc6\xef\x31\x58\x23\x7e\xa2\xe4\x0f\xe1\x34\xfe\x48\x27\xa0\x6c\xf3\x63\xdc\xb9\x42\xd2\xa8\x86\x2f\x54\xb9\x95\x2f\xd4\x23\xb7\x67\xf5\xe8\x25\x44\x64\xf7\x4f\xe7\x76\x94\xc3\x8f\x6d\x6d\xaa\x0d\x33\x4b\xab\x91\x6f\xf2\x00\x81\x10\xf7\x6b\x78\x59\xff\xc2\xba\x3a\xa0\xe4\x6c\x84\x2e\x55\xcd\x62\xcf\xf5\x88\xfe\x58\xe9\x57\x4d\x63\xaf\xdc\x29\x25\x00\x94\xc8\x09\xc0\xa7\x05\x72\x0a\x66\xba\x22\x2c\xf5\xe9\xfd\xa5\x4b\x63\x6d\x09\x25\x82\x5b\xd2\x2a\x8b\x7d\x3c\x45\x2f\x39\xaf\xc6\x3a\x82\xd9\xe8\x9f\xd4\x90\x37\x30\xa0\xea\xb6\x2f\x88\xee\x09\xce\xa0\xf0\xb5\xd0\xd5\x93\x0d\x7c\x24\x7b\x20\xf4\x04\xd3\x8a\x76\xb2\x16\xd9\x9f\xa9\xee\x38\xd0\xdd\xa4\xb7\x39\x74\xdc\x42\x6a\x4a\x3a\xaf\x5c\xe0\xa8\x8b\x45\xf3\x5a\x56\xbf\xd4\x09\xb8\xd3\x80\x2d\x62\x8a\xba\x3c\x30\xae\xb0\xb7\x05\x77\xb2\x7c\x89\xfe\x03\x7c\x82\x58\xfa\xae\x5e\xc0\x53\xf8\x8c\x7d\xb4\xfa\x06\xf0\xd0\x15\x51\x39\xec\x07\xee\x11\x76\x4a\xf7\x08\xce\x25\x9a\x63\x85\xe6\xb8\x05\x6f\x21\x76\x0a\xf7\x08\x62\xe1\x85\x12\x2b\x34\xc7\x2d\xf8\xbd\x5e\x79\xfc\x46\x95\x1f\xc3\x6f\xa1\xf6\x9d\xf9\x0c\xd4\xaf\x48\x39\xeb\xab\x9b\x83\x19\xf3\xdd\x18\x0a\x20\x3d\x81\x9f\x05\xed\x1d\x43\xaa\xd0\x0e\xe4\xd5\x53\x54\xf3\x96\x60\x5c\x76\x88\xda\xbc\xcc\xa0\x40\x19\xb0\x5b\x9e\x73\x65\x35\xad\x86\xdd\x91\xd3\x72\x42\x5d\x8d\x06\x7c\xa0\x23\x37\x74\x72\xea\x50\xcd\xe7\xef\x16\x95\x10\x4b\x9d\xa3\x44\xdf\x64\x8e\x3b\x71\xdb\x4e\x8e\x1e\x76\x82\x5d\x51\xd8\x93\x9d\x60\x8f\xdd\xb6\xd3\x47\x87\x26\xac\x50\x2e\x2b\xb0\x07\xb4\xde\x29\xde\xa9\xbf\xb8\xed\x0c\xd0\x83\x09\x2b\xd4\x49\x1d\x16\x5d\xb7\x35\x6d\x22\xb2\xb0\x4b\x0e\xf8\x1e\x4a\xe4\x45\x33\x97\xa8\x22\x6b\xf8\xe8\x12\x55\xa4\xa3\x17\xa6\x1e\x31\x03\x15\xbb\x57\x38\x80\x2b\x23\x55\x79\x3a\xf2\x1e\x7e\x13\x89\x17\x10\xe8\x74\x67\x6c\x6c\x6c\xcb\xb3\xff\x01\x5e\x0a\x2a\xba\x80\x49\xe8\xe4\x9a\x27\x57\xc0\xa5\x3d\xa7\xd0\x84\xae\x04\xbf\x66\x33\xa0\xcc\xfd\x15\x0b\xe9\x54\x33\x28\x35\xe5\xd4\x9f\xad\xce\xc0\x14\x10\x06\x5c\x3d\x14\x40\x58\xc4\x01\x8a\xf9\x8c\x10\x86\x8d\x4e\x9e\xaf\x26\x37\x6a\x59\xeb\xb5\x2c\x11\xe9\xcc\x87\x1f\xed\xcc\x06\x91\x8d\xca\xad\xfb\x6c\x35\xa5\x59\x4d\x4b\xab\x06\x7d\xa6\x26\x50\x08\x93\x89\xef\xe8\x76\x20\x18\xa0\x6b\xa2\xdf\x44\x3c\x91\xeb\x36\xde\x35\xd1\xd8\x5e\x04\x5f\xbc\x04\x3e\xb8\xd6\x8c\x21\x76\xd0\xf1\xd2\x2a\x5b\x36\xa4\x45\xcd\x9c\x75\x88\x3e\x09\x82\x2b\x50\x9f\x13\xb9\xd2\x2f\xea\x92\x8e\x3a\xb0\xa1\xbe\x40\xe0\x46\xb3\x91\x99\x69\xcf\x65\xe4\x7e\x7e\xe6\x9a\x33\xf0\x78\x6c\x2d\xa6\x32\x31\x1d\xca\x97\xe4\x9a\xca\x61\x5a\x73\xba\xd6\x1c\xfc\x01\x7a\xda\x92\xdb\x59\x27\x7e\xd6\xa2\x5e\x9c\x9f\xbc\x81\x3a\x8c\xbc\x17\xaa\xed\xaf\xd8\x47\xf8\x96\x6b\xf9\xb4\xb2\xee\x6c\x76\xce\x09\xb8\xf4\x9c\x52\x59\x79\x26\x8f\xe8\x0a\x48\x5f\xda\x35\xea\x3e\xa3\x2b\x7c\x63\xf1\x84\x2c\xb6\x2b\x94\xe3\x94\x36\x1b\xd3\x5f\x15\x95\xcb\x60\x8d\xb8\x2e\x1c\xec\x67\x75\xe0\x93\xe7\x9c\xc3\x29\xba\xb3\x1e\x76\x4d\x10\xe1\x89\xa7\xec\x60\x9f\xe1\x7d\x8a\xee\x11\xb0\x9c\x7b\x5d\x5d\x89\x52\x2b\xb8\x46\x07\x1a\x46\x17\x15\x93\xa2\x16\x7c\xd8\xe6\x63\x16\x81\x33\x48\x8d\xa9\xc1\xcc\x25\xff\x0a\xf4\x01\x09\xf0\x21\x6a\x53\xa7\x87\xd2\xa5\xfa\x38\x3a\x91\x39\x53\x44\x4d\x06\x35\x5b\xc0\x67\xd4\xda\x33\x44\x2f\x0a\x98\x51\x3a\xe9\xb3\x0b\x46\xae\x34\x68\x1a\xbb\x6d\x6a\xb7\xac\x52\x7a\xd4\x98\x09\x07\x1a\x19\xf6\x4d\x82\x0c\x43\xe7\xd8\x05\xa9\xf4\xa2\xfc\xd4\x76\x36\x2e\xc8\xc5\x8d\x03\x3a\xb9\x14\xc6\xa6\x75\x72\x92\x7e\xd3\x95\xb8\x70\xae\xc7\x0d\xd1\xd7\xae\xf4\xa3\x4d\x9e\x50\xe2\x55\xfc\xb8\x44\x6c\xd9\x0d\x0a\x6d\x55\x7f\x0a\xb9\xc3\xd6\x12\x81\xcc\x66\x5e\xac\xb0\x72\x57\xf5\x72\x32\x7b\xc8\xa6\xf7\xd4\xe8\x21\x73\x43\x99\x9b\x3d\xd4\x23\xf1\x89\x10\xba\xcd\x3d\x94\xa1\xf3\x76\xe8\xe1\xef\x8f\xc3\x75\x73\x0f\x37\x9c\xfb\x54\x7b\x38\x12\x44\x58\xed\xa1\x3c\x1c\xd3\x3c\x97\x9a\x7b\x28\x47\xb2\xbd\x87\x68\x01\xdb\xb5\x73\x32\xb5\x33\x53\x25\xd5\x4a\xe2\x42\xf8\x8a\x22\x38\x09\xea\xbb\xee\x4f\xdf\xf9\x0d\x0d\x63\x21\x95\xd8\x13\x8c\x83\xda\x8e\xe4\x6c\x07\x71\x36\xeb\x50\x0e\xc7\xbc\x94\x71\x20\x64\x58\xf5\x9d\x1a\xde\xb1\x73\x44\xae\x51\x56\xdf\x23\x74\xeb\x86\x5a\xd0\xee\xd8\xa2\x53\x34\xee\x93\x78\x9a\x8a\xa2\x5a\xc1\x91\x7f\x82\x32\x7e\x04\x9e\x1d\xa3\xcf\xdb\x37\x3e\xca\xe1\xb4\xab\x9f\xe1\xe3\x2a\x88\xe9\x07\xac\xe4\x66\x84\x16\x50\x0f\x45\x4a\x5d\x5f\x3b\x3f\xe0\xf9\x6a\xb8\x6c\xf3\x4a\x7d\x39\xff\x7f\x91\x59\xbf\x47\xbe\xb8\x1e\xd5\xc4\x57\x0a\x84\x82\x61\x26\xaa\xd8\xc7\x06\x60\xf7\xf9\x34\xb3\x2e\xad\x9a\x25\x2a\x60\x35\x3e\x75\xa6\x1e\xbb\xfc\x71\xca\xe4\xcd\x1c\x6e\x20\xcf\xc9\x25\x64\x2e\x01\x73\x80\x9f\x20\x3f\x45\x52\x6a\x24\x3f\x76\x0a\xf8\x41\x98\x69\x97\xa6\xd1\x65\xe0\x99\x4e\xf1\x7f\xdb\x85\xdb\x4e\xbe\xee\xf9\x03\x1a\x0b\x5f\xf7\x78\x85\x96\xae\x70\xc1\x21\x3d\x2f\x7e\xc4\x55\xba\xa2\x53\x5c\x53\xe3\xbe\x6e\x4f\x54\xfe\xf9\x2f\xf2\xde\xe3\xef\x3e\x88\xfe\xd2\x2c\x43\x7f\x42\x84\x45\x5a\x92\x21\x64\x00\x2a\xc1\x23\x0a\x9e\x58\xe9\x76\x2d\x9e\x7e\xc0\xfd\x01\x8c\x0b\x86\x00\x44\xd5\x78\xbf\xfe\xdb\xb8\x36\xaa\xce\x04\xde\xcf\x45\x4c\xa0\x10\xa3\x56\xa4\xe6\x65\x93\x56\x11\x53\xfb\x9a\xc0\x15\x8b\xd5\xbe\x81\xa2\xe6\x8f\x4f\x90\xf0\xdb\x74\x0d\x85\xef\x55\xf0\x08\xb9\x30\x6e\xdc\xb3\x1b\x9c\x9c\x31\x97\x31\xba\xc5\xd8\xd9\xc0\x11\x5a\x61\x8e\x05\xe5\x4c\xd1\xd1\x90\xd7\xa1\xc1\x58\xfa\x9c\x4d\x8f\xd1\xd0\xfb\x4c\x8b\xcd\xbc\x4a\x06\x3a\x09\x6e\x48\xeb\xb5\xc5\xa8\xf0\x1d\xa3\x4b\xa0\x85\x99\xec\x82\x6a\x08\x9a\xce\x21\x9a\x5f\x9f\x5e\x3a\x25\x3c\x40\x8b\xeb\xb3\x4b\x61\x92\x8b\x6b\x47\x64\x94\x27\xd7\xbc\x6b\x2a\xb9\x46\xa4\x8a\xd8\x90\x03\x46\x3c\x0f\x95\xd6\x01\x16\x07\x37\xf7\x5a\x9e\x19\x62\xf1\x71\x15\x4d\x38\x7f\x26\xf8\xeb\xcb\xd5\xf6\xa5\x47\xed\x0a\xee\x21\x59\x84\x32\xc0\x87\x5a\xdd\xbc\x6b\xb7\x70\x83\x9c\x11\x06\xe0\x3d\x35\x5c\x98\x09\xc7\x32\xb5\xda\x0d\x07\x52\x75\xb8\xae\x98\xb1\xaa\x55\xf0\x82\x27\x38\x82\x54\x0f\x78\xa4\xe1\x04\x2e\x54\x80\x11\xe3\x34\xf2\x10\x1e\x23\x1a\x92\xfb\x10\x09\xe7\xc2\x40\xc2\x44\x66\x6f\xb7\xb5\xaf\x3a\x21\xbc\x8e\x1e\xd0\x04\x52\xbf\xc5\x27\x1a\xd2\xe2\x14\xd9\x91\x10\x80\xf7\xe8\x14\x39\x07\x2e\x00\x43\xea\xb2\x58\xb8\xb1\x06\xb3\x03\x12\xb0\xd6\x09\xcd\xc5\x66\xe1\x96\xcc\x05\xff\x81\x06\x53\x68\xb9\x76\x24\x44\xe0\xc4\x6d\x21\xa7\xc4\x00\x7c\x40\xce\x39\x02\x17\xae\x8e\x84\x78\x47\x24\x18\x9d\x18\xf1\x4e\x88\x88\x2d\x46\xd4\x15\xa3\x7e\xeb\x11\x4a\xf4\x88\x4e\xa4\xf3\xef\x1a\x2d\x31\xf5\x3b\x48\x03\x53\x16\x1a\x32\x82\x7b\x7d\xc8\xab\x14\xfc\xe0\x85\xe6\x9a\x34\xd0\x6b\x53\x41\x94\x56\xa6\xf5\xda\x6d\xff\x33\xd7\x2e\x0a\xed\x6b\xf7\xc5\xa2\xfc\x08\x7d\x11\x92\xbc\x85\xc2\x11\xd4\x16\xf9\x46\x38\xca\xc4\xe0\x09\x1e\xb3\x60\xfe\x77\x74\xe7\x0c\xde\x33\x8f\xdf\x0f\xd4\x1b\xeb\x1c\xc6\x1a\x51\x8b\x23\xb9\x0f\x70\x0d\x29\x2c\x03\x22\x0b\x51\x5d\x55\xf4\xe5\x13\xeb\x70\x01\xc1\x1d\x5a\x41\xda\x04\xab\x7b\xbd\x15\x3e\x02\x47\xa8\xc2\x10\x0a\x57\x06\x07\x19\xba\xe7\x3e\xdd\x39\x8e\x5d\xba\x0f\x3f\x64\x11\xfe\x87\x34\x28\xc5\xac\xb2\x14\xc4\x0d\xe4\xc2\x6d\x41\x0a\xcb\x80\x36\x6e\xac\xc5\x3d\x52\xb3\x35\x11\x7d\x3d\x71\x37\x90\x36\xc1\xea\x3e\xd8\x0a\x1f\x81\x5b\x5c\xe1\x1b\x2b\x2c\x43\x43\x3c\xe0\x0b\x5f\x38\x35\x17\xb2\x7d\x70\x8b\x88\x38\x3c\xc6\x3a\x5e\x85\x8a\x70\x86\x8f\x59\xdb\x0c\xa8\xf0\x62\x31\x9d\x15\x3c\xcd\x44\x5f\xc7\x5e\x0b\xd2\x26\x58\xdd\xcb\xad\xf0\x09\x78\xf4\x5a\x3a\xeb\x3a\xaf\x44\x7c\xb0\x31\x31\xdb\xf6\xae\x0f\xea\x57\xa7\x35\xf5\xe8\xce\xaf\x72\x33\x3f\x10\xe5\x8e\xfc\x53\x9f\x4e\xc7\xd4\xa5\x14\xf1\x41\xba\x99\x5f\x40\x70\xe1\xeb\x33\x28\x6c\x97\x0e\xfd\x0d\xa3\x1e\x06\x34\xb9\x8c\xb5\xad\x98\x9a\x91\x91\xc0\xca\xe2\x72\xcd\x66\x9c\xd5\xbd\xd9\x0a\x1f\x81\x8e\xee\x47\xab\x0e\xd0\x6c\x41\x12\x9a\x0d\xb0\x92\x23\xf4\xfe\x52\xdc\xee\x8c\x34\xf3\x8f\x11\x6c\xa1\xd5\x25\x75\x9b\xe9\xca\x9b\xb0\x20\xd4\x2d\x55\x78\x9b\x89\xf0\x86\x2d\x6d\x41\x82\xe2\x5d\x39\xa8\xba\x93\x31\x18\x7f\xc4\x43\x03\x5b\x72\xd0\x63\xc4\x9d\x0d\x55\x8c\x31\xd3\xdb\x5e\x51\x80\xd8\xea\xd9\x77\x32\xda\x81\x39\xfa\x02\x9c\x0b\xe8\xa6\x94\x15\x05\x41\x7d\x23\xd8\x07\x96\x8d\xa0\x62\xd9\x99\x05\xb0\xfb\x7c\x9a\x59\x97\x56\x4d\x0b\xc9\xa0\x87\x15\x95\xb8\xea\x64\xce\x54\x68\xf4\x79\x85\x9c\xb9\xe7\xe2\x27\xf4\x8f\xec\x3f\x0f\x57\x27\xa1\xd8\x57\x3a\x76\xda\x37\xe8\xd1\x7e\x71\x5d\x14\xa3\x0f\x90\x4e\xec\x04\x89\xf8\x19\x6b\x1a\x77\x88\x75\x7c\xa2\x76\xd5\x2c\x1c\xe3\xa9\x56\xd5\x48\x74\x45\x80\x2c\xb5\xb0\xa4\x3a\xc8\x4a\x81\xac\x21\x7a\x44\x6c\x2e\x4e\xe1\x13\xfa\x7b\x9a\xe4\x8e\x93\x2c\xd9\x82\x03\x6d\x11\xe2\x97\x9e\xe1\xef\xbe\x1b\xeb\x80\x5d\xbf\x76\xd0\xa8\x9e\x31\x15\x7f\xe8\x92\x5d\xbd\x7e\xb8\x2a\x7e\x0b\x77\xed\x36\x1c\x3d\xa9\x13\x26\xbe\x4f\xf0\xc5\x77\x60\xb8\x22\x86\xc5\xdd\x15\x67\x4c\x81\x16\x51\x14\xd7\x9c\x04\x8d\x4d\x9d\xfa\x1a\xd5\x4b\xbc\x02\xb1\x88\x69\xc5\x10\x74\x7a\x65\xa6\x5c\x5c\xa9\xef\x1e\x35\xea\x9e\x91\x45\x9b\x54\x61\x3e\x76\xb6\x8d\xdb\x69\x7a\x32\x49\x25\x19\xa8\x9b\x57\x70\x65\xe1\x0b\xbd\x95\xca\xdf\x3a\xa0\x5b\x3d\xca\x40\x00\x90\xbd\x23\x8a\xf4\x4c\xbb\xe0\x39\xa4\x71\x45\x0b\x66\x73\x6e\x2c\x84\xd8\x82\xc9\xc6\x29\xe7\x72\xe7\x16\xdd\x42\xaa\xb0\xa1\xd8\x0c\x9d\xf9\x9a\xea\x8e\x48\x75\xe7\x90\x7e\x92\x44\xa8\x90\x69\xdd\xa6\x53\x2d\x13\x83\x04\x82\x2a\x09\xd8\x94\x75\x73\x61\xe1\xe1\x15\x93\xd6\x73\xc8\xa0\x26\x10\xa0\x05\x24\xb9\x22\x65\x40\x13\x06\x2a\xa1\x84\x0d\x29\x13\xad\x9e\x25\x4b\xaa\x56\x8d\xdc\x05\x64\xe2\x59\x18\x76\x78\x40\xbf\x87\x1d\xc1\x3b\xb7\x80\xca\x1e\x7b\xe6\x7e\x51\x59\xe0\x2a\x7c\x11\x6c\x5a\x87\x15\x71\x06\x7e\xa8\xde\x5e\x1d\x56\x1c\xc8\xbe\xba\x5e\x14\xd2\xf8\xa8\x13\x28\xef\x03\xa7\x14\xc1\x13\x28\xb8\x0b\x49\x20\xdd\x9f\x40\xa9\x28\x4d\x59\xf8\xdd\x09\x64\xcb\x95\xa5\xe4\x34\xa1\xcf\x12\xe2\x29\x74\xd2\xa1\xfb\x59\xc4\x07\x28\xdc\x2c\x74\xb2\xa1\x7b\x6d\xbb\xeb\x2c\xdc\x34\x74\xf2\xa1\x7b\x69\xb3\x9b\x2b\xdc\x28\x74\x0a\x38\x74\x91\xcd\xe6\xbf\x70\x51\xe8\x0c\x86\x6e\x14\x58\x2c\xf2\x0a\xd7\x13\x9f\xdc\xe4\xba\xa6\xf8\xc6\x18\xd3\x4c\x1f\xe1\x18\x01\xc7\x12\x03\xb3\x62\xce\xb8\x81\x01\x4d\xe4\x30\x39\x40\xf4\x08\x8c\xbf\x92\xd2\x8c\x8e\x79\xc2\x8a\x26\xa4\xf2\xbd\xb0\xbe\x0f\xe4\xfb\x9c\xbe\xab\xfa\x77\xf1\x18\x22\x6a\xa3\x80\x3f\x57\x39\x17\xea\xf1\x5c\x2f\x7a\x86\x36\xc8\x73\x36\xf0\x14\x0d\x5d\xba\xfc\xf4\xa1\x64\xc6\x50\x26\xe6\x50\xfa\x46\xd7\xcd\xf7\x12\x1a\x63\xe9\xbd\x70\x2c\x23\xb8\xfb\x60\x56\xfb\xc1\xfc\xe6\x83\x69\xfd\x3b\x06\x83\xae\x79\x17\x5a\x4a\x87\x60\x56\xdb\x40\xa8\x9b\x3e\x10\x5b\x57\x5f\xf6\xc7\x84\xc6\x12\x1a\x03\x2d\xbc\xb1\xe0\x18\xbb\x81\x63\xce\x70\x26\x42\x97\x90\xa3\x2b\x35\xad\x5b\x73\x59\x1a\xc8\x6a\x06\x12\xf7\xba\x33\x53\xbd\x70\xa9\xe5\xb2\xe7\x5c\xcd\x15\xc3\x5c\xbd\x75\x5d\xe7\x5f\xd6\xaa\x97\xc2\x98\x7d\x42\xc8\xd6\x03\xbd\x82\x8d\x96\xbb\x51\x15\x6c\xa8\xaf\x0a\xc5\xad\x76\xa3\xa8\x06\xd8\xad\x52\xd8\x48\x1b\xc1\x40\x3d\x76\x4d\xc2\x1b\x99\x88\xd3\x76\x2e\x2b\xc8\xb5\x72\x80\xd5\xf9\x9b\xd4\x52\xe7\xaa\x4c\xa1\x65\xce\xb5\x81\x6a\xcd\xaf\xa1\x31\x2b\x5a\xc1\x09\x2d\xb2\xd6\x8a\x94\x5a\x3b\xb5\x31\xc8\x93\x0d\xc4\x6c\x19\x34\x79\x0f\x34\x8f\x2b\x51\x68\x54\xed\xb9\x6c\x69\x6d\x8e\x7c\xae\x01\xb2\xa1\xeb\x28\x62\xe9\x33\x6d\xe8\x39\xd0\x8e\x4c\xe5\xc8\x4b\xad\xcc\x40\x15\x99\x18\x73\xd6\x57\x03\x9f\x41\x73\xc2\x66\x16\xf2\x13\x65\xd8\xb8\x97\x5a\x99\x09\xb4\x36\xa3\x7d\x92\x77\xa2\xcd\x89\x7e\x73\x3d\xd3\x9e\xb5\x6f\x49\x8b\x93\x03\x2c\xca\x2c\xb5\x51\x4f\x34\x6c\x0c\xd4\xb0\x27\x1a\xe0\xc4\x3a\xd7\x13\xad\xe3\xcb\x86\xb5\x36\x50\x23\x5c\x69\x80\x3a\xf1\x8c\x2a\x34\x65\xd4\xb8\xd2\x00\xe7\x15\x9a\x36\x6a\x1c\xd9\x6b\x64\x83\x2e\xb5\x55\x9a\x2b\x3c\xe5\x06\x82\x7b\xa0\xca\x51\xf5\x66\x67\x1a\x96\x7a\x0a\x4b\x45\x6d\xfd\xcf\x54\xe3\x3d\x85\xa5\x89\x06\x57\x27\x09\x3d\xbd\xa7\x30\x56\x67\x2e\x3a\x4d\xf4\x4c\x82\x9b\x34\x10\x82\x9e\xce\xcf\xa3\xde\xa3\x1e\x59\x6a\xe7\x54\x9e\xe5\x2f\x12\x06\x83\x17\x09\x83\xc9\xcb\x84\x41\xf6\x23\xc2\xa0\x3e\x17\x2f\x94\x06\xf3\x1f\x95\x06\xeb\x1f\x95\x06\x83\x1d\xa4\x41\x51\xe3\x2e\x76\x71\xb0\xdc\x51\x1c\xb4\x5e\x23\x0e\xd6\x2f\x17\x07\xc7\xaf\x11\x07\xa7\xaf\x11\x07\xc7\xbb\x8a\x83\xe5\x2b\xc4\xc1\xec\xc5\xe2\x60\xf5\x0a\x71\xb0\x79\x85\x38\x58\xbf\x42\x1c\xac\x77\x15\x07\xcb\x1d\xc5\xc1\x66\x57\x71\xd0\xda\x55\x1c\x6c\x76\x15\x07\xad\x5d\xc5\xc1\xec\xa5\xe2\xa0\xce\x18\x1a\xc4\xc1\x64\x47\x71\xb0\x7c\x8d\x38\xa8\x73\x97\x06\x71\xb0\x7a\x99\x38\x98\xec\xc5\x41\x7d\x39\xee\xc5\xc1\x5e\x1c\xec\xc5\xc1\x5e\x1c\xa8\xc7\xbd\x38\xd8\x8b\x83\xbd\x38\xd8\x8b\x83\xbd\x38\xd8\x8b\x83\xff\x3e\x71\xd0\xda\x8b\x83\xbd\x38\xd8\x8b\x83\xbd\x38\xd8\x8b\x03\x13\xab\xff\x65\xe2\x00\x3d\x21\xcf\xe9\xa3\x4b\x8f\x3b\x12\xb8\x01\x76\x32\xe4\xf2\xd7\x02\xba\x18\x3b\x7d\x84\x44\xf6\x21\x2a\x5d\xec\x6c\xe0\x05\xba\x23\xe2\xa3\x5a\xae\x80\x46\xc1\x5c\x16\x2c\xe0\xaf\x2b\xd9\x7a\x45\x49\x74\xe5\x69\xa1\xa9\x1a\x3d\x20\x6b\x5e\x2a\xbe\xee\x16\xda\x68\xc8\x6d\x2b\xa6\x5c\x09\x59\x78\x25\x20\x8c\x84\x02\x03\x18\xdd\x42\xcf\x49\xd1\x36\x83\xb7\x00\xd4\x3f\x09\x64\xc4\x4a\x51\x5f\x7d\xe4\xdd\xea\x0a\x5b\xa5\x8d\x32\x82\xed\x34\x99\xe3\xa9\xa1\x50\xb8\x44\xd6\x18\xa1\x27\x16\x5f\x8b\x1b\x8a\x0e\x00\xf0\x9e\x79\xed\xc8\xd7\x5c\xe6\x76\xaa\xc0\x8d\xaf\x1d\xf9\x9a\x83\xa0\x4d\x86\xdc\x95\xe2\xf2\x33\x7b\x65\x4b\x19\x61\x8f\x74\x10\x8b\x9e\x33\x6b\x30\x5e\x5f\xaf\xfa\x9a\x55\x5f\x07\xd5\xd7\xbe\xf6\x8a\xb0\x66\x93\xcf\x33\x30\xcf\xe8\xc9\x0c\x5e\xc1\x5f\x7a\x0f\x3a\x6a\x6d\xab\x2e\x68\xef\x99\xf1\x3e\x30\xde\xfb\xfa\x3b\xd2\xe0\x95\x28\xa9\x74\x84\x65\x89\x5a\x2a\x5d\xe1\x14\x5f\xed\x4a\x61\x74\xa5\x30\xba\x52\x18\x5d\x29\x8c\xae\x14\xaa\x2b\x85\xd1\x95\x42\x75\xa5\x30\xba\x12\x49\xb6\xab\x7a\x92\x57\x3b\x92\x57\xfb\x91\x57\xbb\x91\x57\x7b\x91\xcb\x4e\xe4\xd5\x3e\xe4\xb2\x0b\xf9\x6f\x3b\x2f\xbf\x14\x19\x89\x65\x99\xf4\xb7\xae\x8b\xbc\x79\x11\x21\x05\x2c\x9d\x58\x44\x0f\xfa\x32\x23\xaf\x2e\x93\xc4\x36\x1d\xfd\x67\xd0\x9f\x6f\x9b\x2e\xa4\xc1\x03\x99\x55\xe9\x08\xcb\xca\x8d\xe9\x48\x6c\xcb\xa4\xff\xcc\xb2\xc8\xb7\x2d\x23\xa4\xc1\x03\x99\x55\xe9\x4a\xa1\xba\x52\x18\x5d\x89\x9a\x27\xbb\x4e\x0a\x79\x33\xdd\x20\x05\x2c\x83\x1f\x54\xfa\x90\xcb\x2e\xe4\xbf\xed\xbc\xfc\x12\x64\xc4\x6d\x66\x09\xdb\x91\x15\xa4\xd5\x35\x9a\x56\xab\x4f\xab\x7d\x49\xab\x3d\x4d\x9b\xd6\x68\x6a\x5b\xa3\x77\x6e\x09\x89\x6a\x3c\x73\xdf\x33\xcf\xe5\x9a\x50\x4b\xab\x42\x2d\xad\xae\xc7\xb4\xba\x78\xd3\xea\xd2\x4e\x9b\x84\x5a\xda\x24\xd4\x12\x1b\xf3\x4c\x0d\xe6\x99\x1a\xb3\x9e\x1a\x54\x92\x1a\x54\x94\x36\x33\xcf\xb4\x99\x79\x26\x36\xa1\x96\x1a\x42\x2d\x35\x56\x63\x6a\xac\xde\xd4\x58\xdd\x69\xb3\x50\x4b\x9b\x85\x5a\x62\xe1\xe3\x7f\x1f\x8d\xfc\xb6\xf3\xf2\x4b\x91\x91\x58\x96\x49\x7f\xeb\xba\xc8\x9b\x17\x51\x83\x50\x4b\x9b\x84\x5a\x62\x63\x9e\x75\xf4\x5a\xd0\x9f\x6f\x9b\xae\x46\xe6\x99\x36\x33\xcf\xc4\x26\xd4\xea\x64\x6f\x59\x16\xf9\xb6\x65\xd4\x28\xd4\xd2\x66\xa1\x96\x58\xf8\x78\x6d\xb2\xeb\xa4\x90\x37\xd3\x4d\x03\x1f\x4f\x9b\x84\xda\x6f\x39\x2f\xbf\x04\x19\x71\x9b\xd9\x2f\x2b\xa1\xd6\xaf\xae\xd1\x7e\xb5\xfa\x7e\xb5\x2f\xfd\x6a\x4f\xfb\x4d\x6b\xb4\x6f\x59\xa3\x05\xdc\x4b\xb5\xbd\x54\xdb\x4b\xb5\xbd\x54\xdb\x4b\xb5\xbd\x54\xdb\x4b\xb5\xbd\x54\xdb\x4b\xb5\x5f\x3e\x2f\x7b\xa9\xf6\x5b\x71\xcf\xbd\x54\xfb\x3d\xe7\xe5\xbf\x55\xaa\xb5\xf6\x52\x6d\x2f\xd5\xf6\x52\x6d\x2f\xd5\xf6\x52\x6d\x2f\xd5\xfe\x05\x52\x0d\xdd\xa2\x36\x79\x2e\xa1\x8c\xf3\x87\x6e\x69\x2c\xa1\x12\x2a\x74\xdd\x42\x27\x47\xa1\x6e\x1f\x43\x8b\xab\x0f\xdb\x76\xdc\x2e\x66\xa3\xe8\x59\x46\xc1\x28\x35\xd3\x78\xe0\xc2\x5d\x52\x4b\xb7\xb9\xfb\xc8\x2a\xd3\x0b\xe6\x46\x41\x66\x00\xca\xbb\xf7\xeb\x4a\xb6\x5e\x51\x92\x4c\x2e\x0f\xcf\x24\x0c\xef\xb4\x88\x4d\x7a\x52\xa9\x25\xcd\x21\x08\xa6\x90\x1a\xb1\x2d\xf9\x2c\x04\x00\xdd\xb3\xb0\xfd\xd5\x94\x8c\x26\xf0\x68\x78\xc1\x3d\x64\xd3\xcc\x0c\x8b\xf0\x98\x4e\x8f\x78\x1f\xc1\x5b\xac\x47\x9a\x2a\xf1\x17\x99\x03\xae\xf8\x37\xa1\x2a\x90\x73\x6e\x00\xf8\x7a\xc8\x5e\x0d\x52\x98\x6b\xbe\xbe\xce\xac\x06\x29\x62\x39\x9a\x90\x05\xac\x81\x8a\x90\x87\x3a\xa8\x37\x72\xdb\x4e\xcf\x7f\x74\xb1\x19\x60\x4e\x19\xbe\x29\xad\x4c\x0b\x8f\xa7\x82\x12\x63\xe4\x79\x4e\x0f\xb9\x92\xc0\xdd\x84\x10\x0a\xe6\x11\x51\xf3\x27\x77\xed\x12\xda\xdb\xb8\x0b\x97\x92\x88\xc8\x29\xe0\x13\x27\xcb\x8d\xfb\x9e\x5a\x9b\xeb\x39\x7f\x6f\xa1\x56\x73\xa1\x96\xa5\x10\xf0\x43\x1d\x34\x07\xdd\x36\x0f\x4b\xc8\xdf\x69\x44\xc0\x4b\x46\xce\x2a\xbc\x90\x2f\xbe\xa5\x63\x40\x2d\x15\xd4\x88\x42\x9d\xda\xa0\x4e\x15\xd4\x1a\x82\x88\x70\x15\x97\x62\x9a\x25\xbe\xfb\xff\xff\x1b\x00\x00\xff\xff\xb4\x36\xa3\x31\xcc\x09\x01\x00") - -func uiAppLibBootstrap400Alpha6DistCssBootstrapMinCssMapBytes() ([]byte, error) { - return bindataRead( - _uiAppLibBootstrap400Alpha6DistCssBootstrapMinCssMap, - "ui/app/lib/bootstrap-4.0.0-alpha.6-dist/css/bootstrap.min.css.map", - ) -} - -func uiAppLibBootstrap400Alpha6DistCssBootstrapMinCssMap() (*asset, error) { - bytes, err := uiAppLibBootstrap400Alpha6DistCssBootstrapMinCssMapBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "ui/app/lib/bootstrap-4.0.0-alpha.6-dist/css/bootstrap.min.css.map", size: 68044, mode: os.FileMode(420), modTime: time.Unix(1, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -var _uiAppLibFontAwesome470CssFontAwesomeCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x7d\x51\x8f\xeb\xb8\xb1\xe6\xfb\xf9\x15\xda\x19\x64\xe7\xcc\xa0\xd5\xa7\x25\xbb\x6d\x77\x5f\xdc\xbd\x99\xdd\x20\xd8\x00\xc9\x26\x40\x26\xc0\x3e\xec\x0b\x45\x95\x2c\x1e\x53\xa2\x86\xa4\xdc\xed\xb3\x98\xff\xbe\x90\x64\x5b\x9f\x64\xb3\xd4\x0b\xcc\xcb\x6d\x04\x39\x63\xe9\x63\x89\x14\x8b\xc5\xaa\xe2\x47\xea\xcb\x4f\xff\xe5\x53\xf4\x53\x14\xfd\xd9\xd4\x3e\xfa\xf9\x8d\x9c\xa9\x28\x5a\x3f\x6e\x1f\x9f\xa2\xec\x14\xfd\x31\x17\x47\xda\x8b\x3a\x3f\x45\x71\x54\x7a\xdf\xbc\x7e\xf9\x52\x98\xda\x8b\x01\xf8\xa8\x4c\x14\x47\x7f\x84\x2b\xbd\xac\xbf\x2a\x49\xb5\xa3\x50\x91\x2f\xfa\x7c\xff\x73\xf7\xd0\xd7\xe8\x9f\x7f\xf9\x6b\xf4\xf7\x3f\xff\x35\x4a\x1e\x93\x87\xe8\x7f\xfc\xf3\x9f\xaf\xd1\xdf\xfe\xf2\xcb\x45\xc8\x8f\x9f\xa2\x9f\xbe\x7c\xfa\xf2\x53\xf4\xe7\xbf\xff\xaf\x5f\xa2\x7f\xfc\xfc\xcb\xff\xec\x1e\x11\x07\xff\x3a\x74\x5f\xa1\xb8\x10\x92\xa2\xff\xfb\x29\x8a\xce\xbf\x2a\xa5\x4f\xaf\xd1\x0f\xdd\x33\xcf\xed\xfc\xe1\xdf\x3e\x45\x91\xb3\xf2\x35\x6a\xad\xfe\xfc\xc3\xe3\x63\x5f\x51\x87\xd5\x8d\xdf\x28\xeb\x7e\x3e\x92\xf1\xff\x71\xfc\xf7\xfe\xc5\xfc\xf0\xe3\xff\x67\xb9\xef\x15\x15\xea\xfd\xbf\x5e\x8b\x47\x85\xb1\x95\xf0\x9f\x7f\xa0\x2a\xa3\x3c\xa7\x3c\x36\x0d\xd5\xfe\xd4\xd0\x0f\x3f\x3e\x7c\x40\xe6\x9b\x29\x8a\xf4\x3f\x6e\xc5\xf5\xd7\x3f\x2e\x22\x20\xe1\x63\x02\xbc\xbf\x57\xde\xdb\x96\x3e\xde\x0e\x77\xdc\x5f\x64\x7c\x0f\xf7\x2d\xed\x5b\x2d\x2c\x88\x75\xc7\xfd\xf0\xd2\xfb\xae\x7c\x23\xb5\x2f\xfd\x6b\x54\x77\x77\xf5\xf5\xb2\xf3\x27\x4d\xe3\xd5\xdf\x3e\x3d\x16\xa2\xef\xff\x5c\xb9\x46\x8b\xd3\x6b\xa4\x6a\xad\x6a\x8a\x33\x6d\xe4\xe1\x52\xec\x52\x60\xf6\x4f\xb2\x6e\xde\xbf\x24\x11\x28\xcb\xf8\x1c\xf5\x8d\x3a\x59\x25\x59\xe5\xbb\xab\x9e\xde\x7d\x6c\xa9\xce\xc9\xaa\x7a\xff\x1a\x89\xd6\x9b\xee\x7a\xd7\xce\x83\xf2\xf1\x50\xaa\x32\xc6\x97\xc3\xfd\xda\x2b\xa1\x95\x70\x94\xf7\xb0\xca\x7c\x8b\x8d\x7b\xbf\xc1\xed\xad\x38\x39\x29\x34\x75\x8d\xf9\xf2\x53\x54\x89\x03\xb9\xc8\x97\xd4\xd7\x23\x5a\xad\xfe\x10\x69\x61\xf7\x64\x23\x4b\x5a\x78\x75\xa4\xc8\x9b\xfe\xbe\x92\xa6\x8e\x64\xf7\x46\x55\x4d\xb6\x1b\x12\x8f\x85\x88\xf5\x7e\x1c\x0e\x43\x23\x92\xc7\xd5\xf9\x8f\xaa\xae\x2a\xfd\xeb\x29\xcf\xaf\xf7\xe9\x71\xfb\x3c\x5c\x3e\x92\xf5\x4a\x0a\x1d\x0b\xad\xf6\xf5\x6b\x14\x27\xcf\x7f\x38\xbf\xe0\x38\x7d\x9f\x0b\x4d\xbb\x42\xc3\xcd\xd5\xcd\xcd\xd5\x78\x73\x7d\x73\x73\x3d\xde\x7c\xbe\xb9\xf9\x3c\xde\x2c\xde\xfa\x9b\x6f\x2a\xf7\x65\xd7\x88\x74\xf7\xbc\x4d\xd6\xe9\xcb\x50\xdb\xbe\x3b\xce\x35\x95\x54\x7b\xb2\x97\x72\xad\xee\xcb\x35\x22\xcf\x55\xbd\x8f\x35\x15\x5d\x33\xbb\x32\x95\xb0\x7b\x55\x9f\xaf\xa4\x8f\xc9\x7a\x10\x79\x79\x2b\xee\xac\x5d\x71\xa7\xdb\x9d\xc6\xd4\x04\x32\xff\x5b\xa4\xd5\x20\xd8\x38\xe5\x95\xa9\x5f\xaf\x1d\x72\x41\xdd\x00\x44\xe6\x8c\x6e\x7d\xaf\x55\xc3\x53\xe3\xf9\x63\xcf\xcd\x9b\x5f\xf6\xa6\xe9\xfa\x66\x76\x31\xd8\x66\xad\xa0\xeb\xcf\x4f\x4a\x1e\x87\x17\xb6\xdb\x8c\xef\x34\x33\x36\x27\x8b\xef\xe7\x35\x7a\x4c\xa9\x8a\x1e\xd3\xe7\xee\xff\x93\xb3\x2e\x0c\xb8\xd7\xc8\x19\xad\xf2\xe8\xe9\xf1\x69\x47\x55\xf4\x3d\xf5\x7f\xe3\xfd\xd8\x8a\x5c\xb5\xee\x35\x7a\x4c\xc6\x47\x34\xad\xd6\xfd\x2b\x1e\xba\x56\x1b\xe1\x5f\xfb\x2a\x4d\x00\xb6\xd3\x3e\x44\xf4\x17\xce\x90\x5b\x31\xe7\x9e\xb3\x83\xce\x3e\x8e\xfa\x75\x47\xe0\xa4\x97\x2f\xd0\x2f\x3f\x45\x7f\xa2\xc6\x92\x14\x9e\xf2\x48\xb8\xc8\x14\xd1\xfa\x71\xfd\xf8\xd4\x0f\x9b\xa5\x2a\x2d\xb5\xe9\xf1\xa3\xb5\xfd\x48\x55\xbb\x26\xb9\x46\xd5\x3d\xe2\x62\x5d\x44\xad\x2a\x31\x28\xd5\xe5\x76\xea\x22\x55\x17\xaa\x56\x9e\xfa\x21\x2d\x6c\xd7\x33\x1f\x04\x5e\xbb\xc2\xd1\xd2\x73\x12\x28\xee\x3c\x35\xee\xf3\xee\xc7\xc0\x93\xee\x43\x7f\xfb\xf4\xc7\x8b\xf8\x03\x9d\x0a\x2b\x2a\x72\x11\x36\xf2\xe9\x0f\xfd\x3f\x63\x2d\xbc\x15\xb5\xeb\xa6\x85\xd7\xc8\x1a\x2f\x3c\x7d\x7e\xca\x69\xdf\x3f\x35\x8a\x98\x9b\xbf\x7d\x8a\xa2\xe4\xe9\x03\xe2\x56\xcf\x2f\x9c\x40\xb8\xfd\x5b\x57\xfd\xff\x9c\xd5\xee\x7a\x78\xb8\x13\xbf\x3c\x0d\xbd\x5c\xb9\xb8\x50\xda\x77\x43\xfb\xbb\xc6\x9a\xbd\xca\x5f\xff\xf4\xbf\xff\x52\x89\x3d\xfd\x72\x91\xf6\xf8\x37\x25\xad\x71\xa6\xf0\x8f\xff\x5d\x38\x25\xfb\xbb\x9f\x7b\x39\xca\xd4\xff\x9e\xfc\xf8\x1d\xce\x7a\xb7\x95\x78\xb9\x36\xab\x7b\x1a\x77\x3f\x7c\x6f\x52\xf7\x64\xf7\xbb\x55\x3e\x5d\xaa\x7c\xb2\x5b\xa8\x3d\x00\x98\x9b\x93\xfa\xa7\xdb\xdf\xad\xfe\xab\xa5\xfa\xa7\xdb\x85\xfa\x03\x80\xb9\x79\x9e\x80\xb5\x6a\xe2\xd2\x58\xf5\xad\xf3\x31\xf4\xef\xd5\x88\xa7\x87\xa8\x52\xd6\x1a\xcb\xe8\x52\xef\x10\x7d\x8e\x93\x87\x28\xb9\xd7\x98\xf9\xed\xe0\x2d\x68\xc8\xc5\xbd\xf9\xdd\x74\xe9\xc3\xcd\x48\x1e\xa2\x98\x69\xc6\x78\x3b\x78\xeb\xb7\x4f\xaf\xd6\x18\x1f\x4d\x46\xf4\xc3\xed\xc5\x64\x77\xef\x6a\xba\x9d\x5c\x9d\x75\xeb\xcd\xad\xc9\x8b\xba\xbc\x24\x74\x86\x9c\x17\xf2\x10\x74\x85\x18\x4f\xfc\xe2\xeb\x0c\x3e\xc6\xc5\x03\x4d\xef\x78\xa5\xe9\x7d\x97\xb4\x52\x79\xae\xa7\xf5\x88\x93\xf7\x07\xf8\x75\x76\x54\x39\x17\xec\x09\xaa\xd2\x59\x5d\xde\xb3\xba\x3c\x64\xf0\xac\xb0\x8e\xd7\xd8\xe0\xb7\xdb\xe7\xdf\x77\x94\x55\x7d\x24\x7b\x9e\x70\xa5\xd1\xc6\xbe\x46\xdf\x17\xfd\xdf\xd9\x45\x99\x84\xe7\xad\x3b\xc7\x01\xff\xaa\x95\x34\x39\x45\xff\xb0\xea\x28\x3c\x45\xff\x72\x14\xfd\x6c\x49\x44\x9f\xff\xf1\xaf\x9f\x7f\xec\xa2\x01\xaa\x5d\x6b\x29\x72\xd2\x12\xd5\xdd\xe4\x60\x49\xe4\x64\x5d\x94\x9b\xa8\x36\xbe\xff\x19\x99\xa2\x88\xac\xa8\x73\x53\x45\xb2\x14\x56\x48\xdf\x21\x7c\x29\xba\xfb\x8d\x25\x47\xb5\xef\x63\x0a\x77\x09\x25\xf6\x5a\x38\xf7\x9a\x51\x61\xec\xa5\xd2\xb5\xa7\x2e\x9a\xfa\xee\xff\x14\x4f\x4f\x4f\xdf\x5d\x1a\x56\xb5\x4e\xc9\x30\x30\xb9\x02\x1d\x09\x2b\xcb\x30\x32\xbd\x22\xa9\x3e\x92\x36\x0d\xc5\x26\x8c\x5e\x5d\xd1\x25\x09\xeb\xc3\xc0\xf5\x77\xd0\x4b\x36\x8c\x7b\x9e\xe0\xb8\x47\x6f\xae\xc8\xd6\x11\x23\x71\x7b\xc5\x15\x4a\x57\x61\xdc\xee\x8a\xf3\x65\xdc\xc7\x7b\x61\xec\x0b\x60\xc3\x28\x31\x91\xa8\x1c\xf3\x7a\xb2\x2b\x54\x96\x24\x0f\x61\xa0\xbc\x02\x2d\x55\xe6\x78\xa9\xe3\x30\x00\xa5\x36\x6e\x7a\xc5\xab\x8a\x18\xfd\xc9\x67\x6a\x11\x37\xba\x65\xe0\x34\x87\x57\xaa\x66\xf0\xc9\xa8\x9e\x8d\x79\x23\x1b\x9b\xa2\x08\x83\x41\x45\xd5\xbe\x16\x3a\x8c\x1c\x55\x74\x4f\x57\x5d\x3a\xbf\x01\xb3\x0f\x97\x1b\x95\xd5\x5b\xe1\x4a\x46\xb9\x92\x51\x5d\x4b\x53\x85\x15\x21\x79\x46\xe5\xe2\x46\x4a\x32\xaa\xab\xec\x8c\x31\x07\x1d\x35\xd6\x1a\x91\x87\x71\xa3\xc6\xe6\xe6\xad\xd6\x2c\x76\xd4\x58\x61\xad\x79\x8b\xa5\xb2\xb2\xab\x70\x5f\x34\x5c\x4c\x84\x8a\xb5\x4d\xb8\xd0\xa8\xcc\xaa\xce\xcc\x7b\x18\x38\x2a\x73\x37\x5b\x5d\x85\x87\x0b\xe4\xdf\xcd\x3c\xbb\x21\xc0\x43\x0d\xb0\xd4\x90\x08\x8f\xb4\x84\x60\x00\x15\x96\x5c\x78\xfc\xa6\xa3\x46\xf6\x99\x09\xa1\xc3\x62\xd3\x51\x27\xbb\xde\x0d\xe3\x46\x1d\x2c\xb4\x08\xeb\x6a\xba\x46\xc3\x9a\x37\xa5\xa9\x99\x71\x9c\x8e\x6a\x78\x34\xba\xad\x88\x1d\x69\xe9\x66\x8e\x66\x75\x20\xdd\xce\xe1\x4c\xdf\xa7\xa3\x4e\xfe\x6a\xbb\x29\x33\x8c\x1c\x35\x32\x13\x0b\x50\x30\xa4\xdc\x3b\xcb\x10\xc6\xbc\xad\x51\xed\x32\x63\x98\xbe\xca\x27\xb8\x4a\x58\x06\x3b\xaa\x55\x63\x55\xcd\x28\x4a\x31\xda\x01\x51\x91\x15\x41\xe4\x6a\xb4\x9e\x7d\xfe\x34\x88\x4b\xa0\x9a\x3a\x6c\x02\x56\xa3\x8a\x2a\x2f\x34\xe3\x2d\xac\xc0\x50\x76\x5e\xd9\xd9\xdd\x0a\xc2\xd7\x53\xf8\xe0\xd8\x05\xd1\xa3\xae\xf6\xde\xde\x90\x7a\x09\xa2\x37\x33\xf4\xe0\x1a\x86\xf1\xdb\x19\xde\xf2\x55\xdf\xcd\xe0\x5f\x5b\xe7\x55\x71\x0a\x17\x78\x99\xd8\x84\x30\x6e\x54\xd9\x9c\x72\xaa\xa7\x36\xca\xb4\x1e\xae\xdd\x29\x8d\x16\x94\x47\x8e\xba\x7c\x54\x39\x99\x45\xa5\x1a\x75\xba\x29\x8d\x37\x93\x6a\xa9\x2e\xbc\x9a\x5c\x69\x94\xf4\xad\xe5\x4c\xf2\x0a\x14\x9f\x6a\xa9\xc2\xd3\xf6\x1a\x9c\x55\xd1\xc4\xdd\x70\x62\x3a\x72\x3d\x6a\xb5\xc8\xbb\x5e\x09\x23\x47\xbd\xf6\xdc\xc8\x5b\x8f\x5a\x4d\xb9\x9a\x76\xc8\x50\xf5\xd8\xfd\xda\x0a\xb6\xb5\x6b\x70\x63\xcb\x0e\xba\x5c\xe2\x79\xea\xd9\x7d\xa0\xc4\x66\x3a\xe7\x86\x0d\xd9\x7a\x0b\xce\x32\x35\x71\x26\xe4\xe1\x4d\xd8\xb0\x09\x58\x8f\xea\x5e\x08\xe7\x3f\x50\x00\x8d\xf4\x12\x56\x4c\x66\xf3\x30\x6e\x54\xee\x46\xb4\x2e\x6c\xf6\xd7\x12\x9a\x67\xc2\x73\xce\x3a\x07\x43\x69\xf9\x3a\xd2\xf4\x05\x2c\xe1\x9f\x9f\xa6\x6f\x78\x11\x3f\x6a\x2d\x7d\x25\x19\x56\xc6\xe7\x14\xd5\xe2\x68\xcd\x82\x1d\x7c\x5e\xdd\xe0\x79\xcb\xf6\xbc\x86\xde\x68\xdd\xd9\xb7\x0a\xc3\x47\x35\xed\x7d\xfa\x45\xfc\x06\x06\x5d\x45\xcb\xf8\xed\x6c\x18\x2c\xe1\xc1\x8f\x68\xc9\x79\x65\xea\xc5\x22\x2f\x60\x34\x0b\xb3\x08\x1f\xd5\x55\x5a\xe3\x5c\x29\x94\x0d\x0f\xb5\xe7\xec\x6e\x7b\x99\x61\xfc\x2c\xef\xb6\x98\x2b\x01\xfe\x86\x08\xfb\x63\xcf\x34\xf3\xc9\x59\xc5\xd9\x3c\xcd\xd0\xbc\xda\x6c\x92\x19\x9c\xf1\xf5\x36\xe9\x0c\xcb\xba\x91\x9b\x15\x98\x7f\xa5\x67\x43\xe9\x61\xb4\xa9\x61\x09\xa3\x4a\xd3\x7b\x23\xea\xf0\x30\xdc\x80\xd1\x35\x55\x63\x89\xc9\xa1\x6c\x36\x93\x81\x12\xc6\x6d\xa7\x23\x24\x0c\x04\x9f\xc2\x79\xb2\xca\x85\xdd\xc6\xcd\x0b\x34\x49\x6a\x31\xac\xe6\x2c\xa9\xee\x66\x54\xdd\xbd\xe2\xfa\x7e\x54\x5a\x4d\x22\x1c\x10\x6c\x24\x44\xb1\x5c\x07\x8c\x0a\x4a\x27\x06\x46\x08\x8b\x9d\x16\x4c\x90\xb5\x1d\xf5\xf3\x4d\xd8\x5a\xd5\xfb\x89\x46\xe0\x5b\xf1\x56\x89\x7a\xcf\xbc\x97\x6d\x82\x33\x50\xcd\x00\xc1\xfa\x0a\x4d\x75\xce\x64\xa4\xb6\xa3\xde\x0e\xa9\xbb\x30\x72\x8d\x5a\x57\x71\x6e\xdb\x16\xcc\xad\xd8\xd7\xc4\x20\x37\x37\x86\x9f\x19\x92\xdb\xed\x0d\x9a\x1d\x94\xdb\x1d\x44\xc3\xfe\x8d\xb8\x8a\xbc\x80\xeb\x63\x9a\x46\xd5\xfb\x58\x72\x29\xbf\xad\x80\x69\x59\xe7\x8c\xaf\xb7\xcd\x66\xc8\x9e\xa6\x13\x86\xcb\x99\x83\x14\x1f\xc3\xd8\x7c\x8e\x65\x54\x91\x30\x22\x8d\x65\x29\xac\x8f\xa7\x1e\xf2\xf5\x7a\x50\xc8\x6e\xd4\x67\xff\xa6\xbc\x27\x7b\xf6\xf8\xc2\x25\x12\xf0\x49\x24\x75\xa1\xe6\x62\x91\x74\x16\x44\x76\xbd\x67\xc3\x33\xcb\x6e\xd4\xe1\x03\x85\x3d\xb3\xdd\x7a\x92\x58\x73\xf3\xcc\x5a\xd8\xe6\xed\x9e\xe7\xaa\xcf\x60\xc1\x75\x28\xdb\x2a\x73\x7c\x36\x69\xb7\xbd\x85\xb3\x3a\xbd\xdb\x4d\x53\xc8\xa5\xd0\x61\xd3\xb7\x7b\x99\x26\xb0\x99\xe9\x79\x27\x26\x09\xca\x2e\x88\x0b\x63\xc1\xf2\xaa\xfa\x40\xb9\xaa\x17\xfb\x54\x4e\xdb\x19\x7b\xc1\xe4\x91\x76\x60\x8a\xdf\x3d\xd9\x5a\xe8\xfe\x49\xe1\x02\x34\xad\xbd\x0a\xbf\xc0\x17\x50\x61\x6b\x9a\x32\xac\x30\x2f\x09\x4c\x44\xbe\x6c\xb3\xa5\x46\xbe\x8c\x8a\xdb\x36\x6c\xc2\xf2\x65\x05\x73\x57\x65\x6a\xa6\x63\x5e\xd6\x18\xd3\x32\x66\xff\x05\x16\x17\x96\xa2\xb0\x97\xcd\x4d\xf2\x87\x43\x6f\xa7\x55\x58\x7c\x0f\xbb\xb9\x95\x08\x43\x5f\x6e\xcd\x43\x31\x19\x99\x97\xcb\x61\x11\x62\xd6\x4d\x61\xe4\xa8\xb7\x6d\xcd\x26\x32\x5f\xc0\xbd\xb5\x5d\x3c\xdd\x4d\x06\x4c\x77\x42\x8c\x46\x34\xf5\xfa\x2c\xe3\x9d\xbd\x8c\x6a\x5b\xe6\x39\xd3\x03\x62\x54\xda\xac\xd5\xba\x34\x36\xac\xe0\x02\x32\x66\xa4\xc3\x19\x8b\x02\x82\x2e\xb2\x5e\x15\x4a\x0a\x1f\xee\x54\x01\x8b\x61\xa2\xce\x63\xb3\xe0\x6b\x8b\xf5\x1c\xcf\x7a\xf2\xe2\x79\x0e\x67\xac\xa6\xd8\xcc\xc1\xac\xcd\x14\xdb\x99\x2b\x7f\x0e\x56\xf8\x0a\xed\xee\x17\x5a\x68\x75\x60\x25\x82\x6b\x4c\x60\x15\x82\x6f\xd2\xa8\xca\x7b\x6d\x32\xa6\xdb\x46\x4d\x7e\xb3\x54\x33\x6b\xa3\x22\x87\x04\xb3\x3b\x84\xb5\x56\x40\x9a\x61\x58\xbd\x0f\x21\x33\x50\x5b\xab\xa8\x90\x82\x49\x88\x64\xc9\xdc\x99\xe1\x96\x24\x32\x58\x26\xb3\xe6\xfa\x7a\x87\x31\xd7\x3a\x62\xa2\x5d\xf9\x04\x6e\xa4\xb8\x4e\x15\x0f\xd7\x09\x2d\x5c\x72\xac\xa2\xd4\xa6\x0d\x1b\x04\x39\xd6\xae\xd0\x82\x09\x91\x24\x0c\xc2\x76\x9a\xb5\x73\x52\x39\x67\xb8\x76\xa0\x47\xde\x9c\xa6\x56\x53\x69\x72\x8c\x41\x91\xcf\x90\xa6\x6a\xc8\x4a\xad\xc2\x1a\x2a\xc7\xe1\xe6\xc4\x6c\x51\xb6\xd0\xa6\x69\x4e\xdc\x93\xb6\xb3\x69\x29\x8c\x1c\x47\x5c\x2d\x8e\x4a\x9a\x69\xcf\x58\x1a\x38\xa3\x33\x8f\x95\x79\x3f\xd3\x6c\x76\xdc\x86\x6d\xa1\x14\x53\xa8\x61\xa0\x19\x38\x60\x56\x1d\xc8\x97\xd6\xb4\xfb\xf0\xb8\x92\x12\x66\x9d\x9c\xac\x56\xcc\x24\x2e\x71\x10\x66\x4c\x34\x28\x09\x63\x2c\x66\xb9\x23\x47\x7f\xa7\x65\xe6\xbc\x1c\xe2\x4b\x55\x7b\xb2\xc4\xa4\xa5\xf3\xf4\x16\xbc\xd4\xbf\xf9\xa8\xeb\x7b\x63\xf6\x9a\x86\xdc\xdd\x52\xa9\xf5\xbd\x52\x61\x38\xc4\x9e\xa6\x66\xc2\x81\x1c\x42\x4f\x61\xc9\xf3\xf6\x36\xdf\xce\xd0\x8c\x41\xcf\x77\x33\x2c\x3b\xcf\xe4\x2f\x33\x34\x3f\xc1\xe4\x90\xd8\x33\xba\xad\x6a\xe6\x55\xa0\xbb\xe3\x8c\xf5\x33\xcf\xa4\xbb\x14\x2e\x0c\xe9\x69\x63\x27\x6f\xe7\x01\xae\x92\x63\x34\x2f\x9f\x8a\x98\x19\xe9\xfe\x9a\xe0\xca\x43\xa6\xe5\x4c\xd6\x09\x62\xe9\xe9\x26\x24\x09\x63\x47\x45\x3f\xaf\xb3\x43\x07\x3d\x5c\x06\x6a\xd8\xa2\x11\xac\x86\xd3\xfe\x4a\xe5\x18\x4a\xee\xc5\x91\xc2\xc6\x83\xc6\x21\x90\x0b\x57\x66\x66\x9e\x23\xf4\x42\x96\xa6\x22\x6e\x52\xa5\x9b\x44\x0c\x63\x7d\xe9\x36\x74\xe5\xd0\x9b\xc9\xb4\x55\x4e\x6d\xad\x61\xa6\x63\x02\x2b\xaf\x3c\x55\x22\x3c\x3c\x68\x1c\x1e\x6d\x95\x59\xd2\x3a\xbc\xa0\x47\x2f\x30\x4d\x39\x3f\xe7\x03\xa9\x06\xdf\xe0\x9d\xe2\x68\xd6\xf7\xa5\xcf\x5a\x9d\x71\xcd\xcf\x30\x5f\x59\x8a\x9a\x21\x49\x91\x9c\xba\x02\xcb\x24\x15\xca\x67\x25\x16\x62\x44\x1a\xd5\xbf\xf3\x67\xe2\x2a\x0c\x2d\x26\x0b\x39\xbe\x34\x4e\x72\x83\xa5\x00\x32\x52\xab\x3c\xeb\x95\x15\xe9\x24\x9a\xe0\x62\x14\x48\xdb\x98\xa2\x20\x46\xe6\x1a\x9d\x1e\x4d\x36\x6c\xa5\x8b\x19\x05\xa9\x5f\x82\x0f\xd7\xa1\x80\xb8\xb6\x55\xba\xdf\x9f\xc3\xa0\x47\xa5\x2d\x8d\x6b\x94\x17\x5c\xfb\x0a\x08\x08\xaa\xac\xd5\xa2\x96\x4c\x13\x47\xc5\xad\x28\x3f\xa8\xf0\xc8\x29\x20\x91\xd8\xe9\x28\xd9\xf8\x2b\x93\xa8\x2c\x32\xe8\x0f\xc6\x4a\x14\xa3\x7e\x96\x4b\x53\x6c\x01\xcb\xe6\x1f\x98\x91\x0b\x58\xa2\xa9\xf7\x7d\xa4\xd2\x66\x0b\xe1\x54\x02\x64\xce\x49\x21\x76\xb6\x4b\x80\xd9\x39\x29\x15\x9e\x7d\x13\xa0\x78\x4e\x8a\x70\xd3\x7b\x02\x4c\xcf\xa1\x10\xdf\x96\xf5\x0c\xbd\xd0\x88\xe7\x19\x9c\xab\xfd\xe6\xa6\xf6\x5c\xb5\x47\x05\xce\xc9\x1d\x98\x65\xe4\x04\x08\xa0\x5a\x34\x2c\xf2\x65\xea\x82\x32\x0d\x13\xe0\x6b\x65\xdd\xf0\xc4\x0c\xd5\x03\xdc\x08\x8b\x00\x6a\xe8\xc2\x0a\x62\x02\xec\xd0\x5f\x5b\xe3\x97\x3a\x29\x9f\xa1\x17\x3a\x09\x32\x88\x8d\xaa\xeb\xf0\xd0\x4a\x80\xf8\xc9\x2f\x65\x25\xc0\xfa\xec\x57\x05\x2d\x35\xfa\x34\x0b\x6a\xc6\x2b\x77\xca\xa7\xf3\x0c\x24\x13\x12\x27\xc0\x00\xbd\x2c\x34\x84\xb1\xeb\x1b\x6c\x43\x4c\x1a\x32\x01\x2e\xa8\xab\x58\x32\x68\x02\xcc\xcd\xc2\x9a\x37\x56\x2a\x9a\x49\x86\xb2\x9a\x00\x55\x73\x2f\x2a\x6a\xc2\xf3\x66\x02\x04\xcd\x03\x9d\x7a\x07\x81\x13\x2c\xd1\xe5\x61\x66\x8b\x04\xe8\x99\x3d\xb2\x5f\xf7\x26\x4b\x4c\x4d\x46\x9d\xf2\x64\x2b\xc5\xd0\x7e\x93\x14\x94\x8a\x61\x0b\x26\xe9\x3d\x95\x8a\x85\xd6\xb7\x6a\x05\x57\xef\xc8\x49\xc1\x65\x38\xaf\x23\xc4\x54\x35\x7e\xaa\x9f\xe3\xbd\xa2\x9d\x3d\x63\xbc\x15\x7e\x67\x40\x08\xd5\x46\x0e\x0b\x9d\x7d\x72\x27\x5c\x02\x7c\x03\xcb\x58\xa9\xf4\x79\xf2\xbe\xe2\xc2\x84\xf9\x8b\x09\x70\x42\xdb\x1a\x32\x3c\x0f\x63\x12\x28\xce\xac\x39\x84\x97\xe5\x12\xe0\x89\x5e\x28\x1b\x61\xec\x38\x00\x54\x5d\x30\x6f\xe7\xee\xfa\x78\x18\x0e\x4b\x34\x6d\x43\xd6\x49\xab\x9a\xb0\x39\x00\xc2\xa8\x6b\xb3\x25\xf0\x38\x0c\xc8\x0a\x66\xc7\x41\x02\xbc\xd1\xa6\xfd\xf6\xad\x33\xfa\x8a\xc2\x9e\x50\x02\xdc\xd1\x4a\x75\x5d\xca\x2d\x62\x24\x40\x0b\x1d\xd1\xfc\x22\x7b\x02\x14\x51\x57\x2a\x0a\x93\x44\x93\xd5\xed\xca\x38\xa3\xbc\x40\x14\x2d\x94\xa5\x98\xde\xbd\xaa\xf7\xad\x72\x25\xf3\x7a\x80\x2e\x6a\x8d\x3c\x30\xb3\xe7\x0a\x57\xc9\xdf\x65\x1e\xee\xf8\xd5\xed\x2a\xf9\x07\x32\xd8\xc9\xea\x76\xb9\xfc\x23\x39\xec\x04\x68\xa3\xb3\x72\x8c\xe3\x02\xd4\xd1\x59\x21\xd6\x83\x01\x26\x69\xe9\x2b\xfd\x1c\x06\x82\xa3\xe0\xdc\x2a\x8c\x83\xe5\xf3\x5a\x96\x86\xe9\xa9\x1c\x8d\x82\x91\x07\x76\x72\x05\x26\x68\xd6\x6a\xed\x18\x8a\x48\x02\x5c\x50\xd2\x5a\x35\x4e\x31\x0b\xf3\x09\x70\x41\xaf\xe8\xe0\x92\x7f\x02\x7c\x50\xeb\x96\x5c\xf5\x04\x58\xa1\xb0\x07\x21\x0c\x07\xae\xb3\x62\x95\x77\x3d\x67\xd4\x2d\x55\x64\x73\x17\xcf\x8c\x3e\xa0\x7f\x6a\x3a\x92\xe6\x94\x0f\x98\x9f\x03\x96\xd5\xb9\xf5\x44\x55\xe5\x12\x1f\x21\x41\xea\x27\x32\x69\xc3\x05\x30\x8f\x00\xcb\xd7\x8b\xe5\x20\xe7\x06\xfc\xdb\x30\x3e\xc7\xe4\x4e\xc3\xec\xa5\x4b\x80\x1a\xea\xcd\x7e\x16\x58\x3c\x40\xf6\xf1\xd2\x2f\xfc\x2b\x04\xe6\xe8\x59\xdc\x2c\xb9\x37\x13\xc6\xf4\x1d\x90\x4a\xcf\xa2\x6e\x77\xbd\xcc\xa4\xf1\xe6\x0b\xc8\xa7\xd4\xda\x29\xc3\x85\xda\xb0\x3d\x00\x12\xea\x3e\x63\xea\x3b\x8e\x91\xdc\x68\x3d\xdb\xa1\xd5\xba\xf0\xec\x03\x2c\x54\xdb\x36\x34\x8d\x93\x54\xcd\xd4\x0c\xec\x7f\x3d\x8b\x1f\xaa\x6c\xf2\xfb\x44\xd3\x4e\xfd\xda\x84\xa3\x0b\x60\xad\xda\x76\x5c\x6b\x38\x0b\x36\xb7\x97\xc2\x4b\xeb\x09\x30\x5a\xdf\x66\xeb\x36\x07\x1b\xf6\xf6\x80\xd5\x9a\x29\x2f\xcd\x6c\x31\x2e\xf3\xc1\xec\x70\xf2\x2c\x26\x99\xa1\x30\x2e\xbb\xcd\x20\x85\xc1\xb3\xac\xb7\xd0\x4d\x29\xb8\x24\x75\xf2\x9c\xdf\x2b\xc1\xe5\xc5\x13\xa0\xb8\x0e\x45\x2a\xd3\xd6\x6c\x2a\x3c\x01\x9e\x2b\x16\x61\x1f\x03\x64\xd7\xbe\x4c\xdd\x56\x64\x95\xe4\x9f\x93\xde\x2f\xc3\x3f\x08\x36\xd4\x0c\x1c\x26\x66\xb8\x03\xcd\xf5\x0c\x66\x0d\x0d\x70\x5d\x4f\xa6\xf5\x6d\xb6\x68\x14\x81\xf1\x7a\x2e\x11\x86\x8e\x03\xe0\x7d\xa4\x66\xde\xc1\xed\x26\xb8\xc5\x1a\xbc\xdc\xd4\x99\xdb\x32\x90\x00\xe1\x35\xb7\xa6\x61\xf6\x14\x26\x1b\x5c\x7c\x14\xf2\x10\x9b\x23\xd9\x42\x33\xf1\x14\xb0\x5f\x55\xed\xbc\xd8\x5b\x11\xe4\x78\x26\x1b\x0c\x71\x95\x3c\x84\x4d\x12\xb0\x60\x05\xe3\xb9\x02\xff\x35\x53\x3e\x6b\x59\x9f\x02\x08\xae\x57\xf0\xd2\xbb\x06\xae\xab\x6f\xab\x4c\x87\x6b\x0c\x4c\xd7\x01\xb9\x28\x7a\x0d\xb1\x6b\xbd\xff\x00\x0b\x3c\x01\xe2\x2b\x14\x61\x46\x03\xf0\x5f\xa1\x00\xeb\xd5\x03\x09\x16\x8a\xf0\x53\x22\x10\x61\x45\xd3\x30\xc6\x12\x68\xb0\x6f\xaa\xce\x99\xed\x39\x09\x10\x60\x45\x9d\x5b\xa3\xc2\x13\xdf\x76\xc2\x17\x6c\xc3\xea\x0d\xdc\xd7\xdc\xaa\x2c\x63\x16\xc0\x13\xe0\xbe\xba\xc3\x29\xbc\xda\x91\x00\xf1\xb5\x30\xad\x5d\xe8\x75\x64\xb8\x5a\xd2\x3a\xec\xa0\x22\xb3\x95\x2a\xc1\x54\x15\x08\xad\x3c\x6e\x85\xe9\x3e\xaf\xa6\x2e\xd5\xde\x0a\xaf\x1a\xc6\x8e\x00\xc1\xd5\xb5\x5c\xd6\x6d\x87\x6b\xe4\x1c\xf9\x30\xd9\xe1\x6e\x2d\x59\xaa\x23\x53\xf9\x2d\x04\x48\x61\x5b\x0a\xfc\xd5\x63\x38\x61\x03\xc4\xd5\x37\x52\x19\x53\xc1\x51\x0b\x2d\xd5\x96\x49\xe0\xec\x70\x63\xd6\x9e\xb4\x62\xb6\x1c\x27\x3b\x39\xb3\xb3\x4b\xeb\x81\xc9\x6e\x46\xc5\x1e\xf7\x92\xf3\x43\x73\x37\xdf\xef\x72\x2d\xc7\x5a\x81\x97\x1b\x07\xfc\x66\x0d\x7b\xe6\x34\xf3\xe2\x12\x70\x6a\xfd\x72\x2a\x1e\x98\xae\x6f\x25\x91\x96\xa5\x50\x61\xd3\x0b\x6c\xd7\xa3\xaa\xc8\x2c\x59\x5e\xa0\xbc\xfa\xd6\x1e\x94\x2b\x63\xad\xae\xdb\x3e\xcf\x0b\xe5\xe1\x45\xc3\x04\x98\xb0\xb0\x9e\xc5\x35\x07\x08\x4e\x8d\x90\x14\xbb\xb2\xf5\x9e\x19\xa9\xc0\x88\x75\x9a\x61\x32\x27\x40\x85\xbd\x1e\x38\xb2\xd4\x7a\xd0\x7d\x63\x73\x76\x7f\x4f\x02\xe4\x57\xd3\x50\xcd\x18\xe1\x97\x6c\xe2\x08\x28\xdf\x42\xb2\xf1\xc2\xa6\x9a\x65\x46\xdb\x5a\x1d\xc9\x3a\xe5\x99\x77\x2d\xc1\x96\x58\x2f\x6c\x7c\x4b\x6a\xd8\x5b\x91\xb7\xe7\xbd\x3f\x61\x62\x40\x02\x2c\xda\x93\x28\x0d\xd3\x5d\xe3\x98\x19\x28\x41\x41\x24\xf0\x66\x2d\xe5\x79\x78\x19\x36\x01\xd6\xec\x80\x5c\xea\x26\x81\x09\xf4\xce\xa1\xa0\xb6\x59\xdc\xdc\x94\x00\x8b\x16\x4a\x85\xe1\x10\x6c\x92\x56\x52\x99\x30\xf5\x29\x01\x0a\x6d\xae\xf6\x61\x13\x0c\xec\xd9\x46\x51\x1e\x37\xaa\x21\x1b\x37\xe1\x8e\x01\xfe\x2c\x14\xe0\xb2\x65\x40\x9e\xcd\x6d\xdb\x30\xeb\x1e\x40\x98\xfd\x6a\x4c\x15\xe6\x82\x24\xc0\x93\xd5\xa2\xde\xb7\x82\xb1\xc6\x40\x8f\x2d\x44\xd8\xdf\x00\x72\xec\x85\x2e\x10\xc6\x42\xb2\xa5\x54\x4c\x92\x19\xe8\xb1\x8d\x08\x3b\xe6\xc0\x8d\x75\x8d\x61\x74\x00\x78\xb1\x92\x8b\x66\x80\x11\xdb\xe1\xc2\x7a\x92\x8d\x3a\x98\x51\xc9\xd1\x18\x92\x6c\x3d\x87\x2e\x0d\x8b\x0c\x8f\x38\x22\x26\xd6\xc8\x36\x53\xe0\xa2\x60\xc8\x56\x90\x3c\x71\x83\x2c\x03\x77\xb7\xf5\x66\xb2\x04\x7d\x9d\x1b\xc3\xa5\x91\x90\x37\xcd\xae\x78\xf1\xae\xc2\xe5\x04\x7a\x8e\x4c\xed\x32\xec\x78\xee\x3c\x86\x24\x03\x7f\x98\x8e\x4a\xd4\x9e\xd9\x9c\x95\x64\x98\x8a\x68\xeb\x9c\xa5\x28\x27\xd9\xa8\xa6\xb9\xf0\x22\x63\x48\x40\x09\x30\xa6\xfb\x1c\x4a\x93\x73\x8b\x7e\xc0\x92\xee\xd1\xdd\x2c\xc6\xc1\xd3\x29\x9c\xde\x25\x31\x3c\x9c\x44\xae\x66\x95\x31\x6f\x64\x1b\xa3\x38\x1e\x5c\x02\x5c\xe9\xe2\x4c\x54\xf0\x66\xb6\xfd\x6d\xb8\x31\x3b\x13\x02\x6e\xf5\x07\x48\x70\xcf\x98\x71\x95\xbe\xa9\xe6\x9e\x98\xb3\x23\xcd\x09\xda\x4c\x05\xf5\xbd\x79\x57\x54\x9b\x2b\xc3\x09\xda\x4e\x05\x55\xe6\xa8\xee\x36\x6d\x38\x5d\x83\x11\xb4\x9b\x0a\xea\x97\x5c\x19\xf8\x0b\x38\x7c\xcc\x6a\x9f\x44\x32\x6b\x4e\xcc\xb6\xc8\x04\x68\xd7\x5f\x5d\xd1\x1f\xd3\x17\xc6\x4a\x88\x37\x0b\x8a\x33\xd3\x4e\xb3\xa6\xc3\xd5\xd6\xdc\xb9\xea\xc4\x71\xc6\x31\x77\x6d\xd3\x8c\x4c\x59\x80\x5a\x6e\xba\x00\x22\xf7\xd5\xa3\xaf\x8d\x0f\xef\xbf\x48\x80\xd1\x3d\xf3\x75\x2d\x39\xe5\x3c\x18\xea\xcb\xe5\x2c\x4c\x35\x4d\x80\xf7\x3d\x3b\xf6\x84\xaa\x86\xd9\x07\x9d\xe4\x93\x6d\x6f\x4b\x66\x39\x9f\x50\x54\xc2\xb0\x71\xd0\x9e\x62\x69\xaa\x4c\xd5\xc2\x9b\x59\x0e\xe6\x9c\xc2\x96\xf7\xae\x96\x42\x1e\xc8\xc6\x35\x31\x29\x89\x1c\x8f\xea\xa9\x25\x0d\x87\xbc\x33\xd1\x23\x90\xc5\x7f\xfd\x35\x8c\xda\x40\x30\x2a\x4b\x31\x55\x85\x37\x52\xef\x61\xb2\x71\x02\xc4\x71\x47\xf5\xd4\x2f\xee\x77\x5e\xf0\x9b\xb9\x13\x20\x93\x77\xe5\x67\x83\x17\x24\x30\xc3\x11\x28\xe6\xa5\x72\xde\x30\xa1\x13\xd2\xcb\x07\xb5\xf5\x25\xd7\xba\x71\x54\x96\xfd\x89\x90\x61\x24\x9c\x86\x26\xac\xd8\x5b\xd1\x84\x87\x02\x32\xc7\xb5\xca\x99\xcd\x3c\x09\x90\xc4\x87\x35\x33\xce\x2d\x05\x96\xf8\x15\xbc\xa4\xe0\x84\x07\x50\x55\xe1\x15\x10\xc2\xd4\xb9\x94\x64\xe3\x4c\x00\x5f\xf6\x6c\x6c\x5b\x9f\x19\x6e\x72\x03\x82\xb8\x67\xa2\x2e\xe0\x80\x67\xaa\x36\xb2\xd5\xcc\x46\x98\x84\x26\xf1\x70\xd8\x66\x01\xfd\xbb\x7f\xed\xec\x81\x15\x09\x50\xbe\xfd\x9b\xe2\x2c\x1b\x30\xbe\x4f\xa4\xc3\x71\x06\xb0\xbd\xbb\x71\x3e\x28\x37\xf3\xae\x04\x24\x2b\x8b\xb0\x63\x06\xb4\x6e\x29\x74\xf7\xae\x3c\x43\x0b\x20\x54\xd4\x13\x17\xba\x00\xa1\xfb\xbc\x33\xe5\x4d\x68\x8e\x2f\x09\x8c\x6e\x29\xe3\xa3\x72\xe1\x60\x07\x18\xdd\x52\xc6\x55\x7f\xd4\x06\xb7\x05\x35\x01\x4e\xb7\x94\x71\xae\x9c\x34\x47\x66\x38\x02\xad\x5b\xca\x58\x54\x14\x0e\x92\x70\x9f\xa8\x5c\x7a\x27\x48\xed\x96\xfd\x06\x29\x26\x33\x0b\xe4\xee\x9e\x5b\xce\xd3\x7c\x90\xdb\x7d\x45\x33\xea\x01\xec\xee\xfe\x40\xcc\x30\x10\xf8\x2e\xa6\x39\xf1\xf9\x3a\x20\x76\x87\xcf\x61\x4c\x80\xd4\x4d\x27\xca\xad\x69\x1a\xae\x33\x30\x35\xd9\xf9\xb1\x99\x6d\xb9\xfa\x42\xd4\xaa\xac\x2f\x73\x71\x8a\xa5\x38\x30\xef\x19\x73\x93\x24\xf8\x33\x1e\x12\xa0\x77\x37\x8a\x78\x70\xfa\x34\xd9\x77\xb3\x88\x86\x33\x27\x85\xf3\x45\x30\x3a\x4c\x81\xc5\x3d\x20\x17\xcc\x74\x0a\x0c\xee\x73\x42\x94\x39\x24\x32\x05\x06\xf7\x05\x1d\x9c\xe4\x52\xe0\x6f\x67\x8a\x8d\x3c\xd3\x27\xdc\x7f\x10\x34\xc8\x29\xf0\xb6\x95\x79\x2f\x4d\x78\xa3\x5d\x0a\xbc\x6d\x51\xef\x49\x73\xe7\xf2\xa5\x40\xdd\x96\xc1\xf5\xda\x14\x68\xdb\xae\xa4\x03\xcd\x68\x9d\x25\xfd\x3a\xbb\xa4\x34\xd3\x94\x51\x77\x2b\x12\x75\x23\xc2\x87\x23\xa6\x4f\x98\x6e\x39\x39\xd2\x5a\xe4\x8c\x64\x64\xb7\xd4\x35\x49\x9f\x53\x9f\x41\x0d\x97\xc0\x90\xd6\x95\x5c\xb6\x24\x4d\xf0\xfc\x49\xdb\x56\x59\x38\x62\x4f\x81\xc6\xad\xbb\x36\x86\x79\x10\x29\x30\xb6\xbb\xf6\xb9\xe0\x14\x9e\x02\x5b\xdb\x95\xca\x7a\xa7\xea\xac\xd5\xc1\x4c\x72\x0a\x8c\x6d\xa7\xaa\x46\x9f\xb2\x56\x85\x5d\x9d\x14\xf9\xda\x87\x93\xf0\x5a\x84\xdf\x74\x32\xd9\x0a\xe9\xd9\x0d\x96\x69\xb2\x9d\x82\x97\x97\x45\x53\x3c\xca\x57\x89\xca\x84\xcf\xb6\x4a\x13\x3c\x87\x27\xbc\x25\x39\x05\x3e\x78\xbf\x39\xca\x91\xb4\xe1\x99\x37\x05\x4e\x78\x65\xbc\xb1\xfc\x28\x4e\x70\xf5\xc7\x12\xf9\xf8\xa8\x28\x98\xc9\x4b\x81\x18\xde\x9f\xb2\x92\x31\x27\xf4\xa6\xc0\x09\x3f\x12\x73\xd0\x56\x3a\x21\x7a\x87\x9d\xbb\x14\x88\xdc\x15\x59\xd9\x86\x9d\xfb\x14\xd8\xd8\xfd\x9e\x5d\x77\x9d\xf5\x2f\x6b\x2a\xa2\x76\xfb\xfe\x0b\x54\x61\x19\x6b\x9c\x55\x2f\x70\xce\xeb\x4e\xf1\xfc\xde\xae\xc9\xe7\x1d\x39\x61\xfc\x66\xd2\xf2\x45\xf8\x76\x26\x9e\x7f\x5d\xbb\xa9\x70\xe7\xad\x09\x4f\x9d\x29\x50\xb4\x01\x1e\xe6\x67\xa6\x40\xd2\xc6\x02\x61\xa3\x08\x34\xed\x9a\x5a\x66\xe3\x67\x0a\x1c\xed\xe1\xad\x6b\x66\x65\x28\x05\x9e\xf6\xf5\x64\x15\x53\x14\x4a\xaa\xb0\xfb\x96\x02\xfd\x7a\xdc\xd6\x1d\x1e\x85\xc0\xbc\x7e\x2b\x85\x77\x22\xbc\x88\x90\xae\xd0\x32\x5a\xc6\x37\x4d\x81\x77\xdd\x8f\x6d\xd6\x1c\x01\xdf\xba\x07\xb3\x47\xc2\xa7\xc0\xb9\x2e\x8d\x9f\x4d\x73\x59\x78\x2b\x47\x0a\x14\xec\xa3\x12\x40\x54\xbb\x03\x9d\xf8\x9d\x1c\x10\x42\xfb\x36\x7b\x0b\xaf\xec\xa7\xab\xc9\x6e\x42\xd5\x86\xfd\x26\xe0\x53\x9f\xe4\x34\xad\x02\x69\x97\x70\xf1\x51\x19\x4d\xe3\x55\x1d\x57\xa6\x76\x9c\x4e\x02\xdd\xda\x34\x54\x73\x47\xa6\xa5\x2b\x3c\xd5\xa9\xa1\x5c\x79\xca\x9d\x63\x94\x11\x4f\x2c\xf3\x9e\xec\x29\x5e\x4f\x3b\x6c\xb8\x7a\xef\x1a\x6e\x57\xb9\x95\x0c\x04\xed\x0b\x7e\x75\x57\x8a\x2f\x2d\x51\xdc\x79\x9e\x9e\x49\x42\xa4\x40\xe1\xbe\x94\x4c\xef\xca\xe3\x4e\xeb\x4a\x81\xda\x7d\xc1\x27\x77\xa5\x9c\xeb\x13\x16\xb4\xba\x11\xf4\x74\x57\x10\xee\xf7\xb9\x23\x66\x0d\x93\x66\xeb\x28\xee\x93\xec\xdc\x73\xc7\xd1\xa5\x62\xd9\x5a\xc7\x68\x1a\x10\xc2\x4d\xf6\x95\xa4\x9f\x1c\xe3\x72\x07\xbf\x9d\xe3\xdb\x7a\xa1\x04\x9e\x94\xa6\xe4\xe1\x14\xd7\x26\x7c\xbe\x51\x0a\xac\x70\x80\x87\xe3\xcb\x14\x68\xe1\x52\xc6\x5f\x65\xd8\x29\x04\x3e\x78\x1f\x9b\xd7\x64\x5d\x2c\x35\xe3\x46\xae\x27\xbb\xcb\xc3\xe9\xc1\x74\x8d\xa7\xaa\xea\x61\x81\x4e\x32\x1c\xa3\x14\x88\xe0\xa5\x69\x6d\xff\x05\x16\xa6\x91\x40\xf4\x1e\xe1\x53\xad\x1c\xaf\x3b\x6e\x79\x2a\x05\xa2\xf7\x58\x24\x0d\x88\x62\x07\x0a\x30\xbc\xc7\x12\xab\x80\x24\x62\xbc\x4d\xa0\x7c\x5f\x0b\x84\xc1\xb3\x03\xad\xf6\x56\x64\xb3\xf4\x5e\x7f\xdd\xb2\xdf\xbf\x48\x9f\x67\x07\x5d\x39\x6f\xe6\xcb\x44\xfd\xf5\x85\xec\x57\xfa\x3c\x3b\x03\xeb\x72\x5c\x10\x57\x64\x3b\x2d\xa2\xd5\x37\x76\x73\x64\x0a\xac\xee\xe1\x19\xcd\x42\xdb\x5e\xa6\xf8\xb3\xc1\xe0\x4a\x88\x59\x09\x12\x92\x1b\x74\x78\x52\xb1\x15\x39\x71\x9f\x2d\x48\x9f\xf1\x73\x32\x7b\xd5\x4d\x64\xcc\x14\x0f\x4c\x6e\x69\xa9\xff\xd8\x54\x7f\x66\x86\x09\x1f\xb1\x92\x02\x95\x3b\x4c\xb8\x48\x81\xbd\xbd\xdf\x2f\x30\x44\x52\xa0\x6d\x7b\xab\x1a\x91\x1f\x15\x67\x47\x81\xb1\x6d\xf2\xda\x1c\x3a\x15\xae\xd5\x21\x98\x0d\x4d\x81\xad\x3d\x29\xb0\x94\x60\xd9\xe0\xf1\x99\x3e\x6e\xd8\xcd\x6d\x29\xf0\xb6\xdf\xd4\x41\x75\xb3\xbd\x88\xc3\x21\xd4\x06\x4f\x98\x2a\x84\x65\xaa\x8f\x9b\xda\x2c\xf3\xf5\x9a\x74\x83\x6b\x96\x96\x8a\x30\xad\x3a\x05\xc6\xb6\x69\x98\x0f\x0c\xa4\x40\xd5\xee\x35\xbb\x26\xdf\xf9\x32\xda\x58\x66\x5a\x04\xd2\xb6\x3f\x4e\x03\x2e\xd2\x74\x54\x8e\xd9\xf4\x99\x02\x7f\xbb\xbb\x2e\xc2\x43\x03\xc8\xdb\xcf\x4f\x4f\x0d\xd3\x5a\xa0\x1c\x56\xe2\x1b\xf3\x70\xa0\x6f\x5f\xf7\x4b\xf6\x8c\xba\x70\x2d\x80\xc4\x7d\x2d\x32\xec\xf8\x62\xca\xdc\xd9\x96\x39\x9c\x43\xce\x94\x59\xdd\x96\x19\x76\x73\x31\x65\xd6\xd0\x7b\x79\xeb\x18\x0e\x61\x3a\x39\xc3\xb8\xe9\xa2\xa1\x30\x74\x33\x81\x3a\xb5\x67\x2c\x06\xd0\xb7\x3b\x30\x53\x59\x0c\x54\xc3\x5e\x0e\x30\xb6\xcf\x07\xfc\x30\xab\xd2\xe9\x56\xdc\x41\x73\x95\xc8\x70\x82\xfc\xf6\x2d\x0c\xc4\x2f\x75\x54\xc4\x48\x04\x87\x45\x0b\x79\x88\xbd\x0a\x0f\xe1\x09\x75\xbb\xf6\xfd\xb7\xe3\x82\xe0\xdd\x9c\xeb\x17\x0b\xad\xc2\x8c\x82\x14\xf8\xdb\x94\x87\xb9\x64\x29\x1e\x47\x3c\x9e\x05\xca\x66\x3c\x80\xc8\x2d\x4d\xae\xa8\x61\xda\xb8\x43\x2f\x3b\x0f\x8f\x5a\x20\x6d\x17\xfd\x16\xa0\xe1\x2b\x7e\x61\x3c\x7e\x41\x2e\xec\x69\x02\x6d\xbb\xb1\x26\x6f\xa5\x8f\xcb\x36\x7c\xb6\x77\x0a\xfc\xed\x4a\xbd\xb3\x14\xa3\x14\x58\xdc\x4e\x5a\x95\x31\x48\xd8\x62\x29\xba\x50\x63\x61\x92\xdc\x65\x77\xf1\x8c\x26\xef\xa6\x9f\xdb\x58\x7c\x40\x7e\x0f\xce\xc9\xc7\x75\xe8\xf3\x01\xe2\x59\xf8\x73\x4e\xe9\xcb\xd3\x3d\xbc\xe3\xe6\x54\x20\x69\x97\xc2\x95\xcc\xc7\xa2\x52\xe0\x67\x67\xba\x25\x6f\x0c\x93\x96\x07\x7a\xf6\x15\x1c\x87\x35\x06\x0f\x24\x26\x2b\x89\x51\x16\x20\x62\xef\x95\xd7\x82\x11\x0a\x1c\x8b\x26\xa3\x3d\x7b\x02\x4b\x0a\xf4\xeb\xb7\xa6\x30\xb6\x0a\x5b\x85\x29\x01\x5b\x31\x73\x3b\xf0\xae\xcf\xbc\x67\xa1\x63\x21\x25\x97\x64\x03\xfa\xf5\xc8\x83\x67\x4d\x03\xd0\xb0\x67\x9f\xfe\x60\x94\x0b\x48\xd6\x99\x56\x4c\x40\x03\x14\xea\x81\x1b\x96\xd3\x70\xf0\x03\xe7\x62\x00\x9d\xfa\xfc\x09\xb4\xee\xb6\x35\x9a\x3f\x70\x3a\xc5\x43\x89\xad\x50\x9a\x19\x4e\xc0\xae\x16\xce\x29\xd7\x3b\xd7\xba\xf3\xc8\xeb\x7e\x43\xdd\xc9\x79\x62\x3a\x11\xb8\xd6\xc2\xe9\xc1\xf5\x6a\x2c\xf9\xf9\xf7\x14\x44\xbf\x5b\x51\xd4\xc3\x21\xe0\x17\x96\xf0\x3d\xfc\x9d\x67\xc0\xd1\x7c\x24\x8a\x7a\xec\xf6\x4b\x50\xd6\x85\x4a\x45\x9f\xe2\x9f\x3f\x37\x67\xbe\x3f\x91\x02\x87\x7b\xaf\x55\xf8\x68\x97\x14\xf8\xdb\x3d\x30\x66\x2a\x0b\xfe\xb2\xda\xdf\x7c\x57\x62\xd2\xfc\xb0\x10\xdc\x49\xf6\x16\x2f\x38\xa2\x40\xe9\x3e\x2a\x91\x33\x53\xbc\x78\x99\x21\x97\x42\x0b\x60\x76\xbb\x5a\x34\x40\xb1\xba\x83\xcd\x6e\xb0\xf1\x9e\x5d\x41\x05\x92\xf7\xb5\xc4\x52\x85\xe0\x8c\x93\x2b\xe1\x3d\x8c\xc6\xf3\x90\xad\xf3\x31\x9e\x53\x7b\x0b\x07\xe2\xf7\xc9\x08\xa6\xe2\x40\xfc\xf6\x25\x55\xa4\x1c\x33\xc2\xf0\x3c\x64\x38\x5c\x75\x32\xcd\x3d\xdc\xdc\x5e\x5c\x10\x00\xae\x78\x31\x25\x25\xf6\x5f\x20\x5e\x72\x42\xb2\x69\xce\xc4\x95\xe2\xc0\xd9\x39\x20\x8f\x8f\x9f\xe7\x65\x58\xa1\x29\x90\xc8\x27\x05\xb8\x67\x80\xd6\xab\x9a\x39\x6a\x29\x45\x1a\x79\x9e\x5b\x72\x8e\xfd\xa2\x62\x0a\xc4\x71\xc4\x73\x75\x19\x15\xff\x28\xe7\xbb\x66\x2e\x32\x38\xda\x4f\x0a\x64\xf2\x5e\xc2\x2c\x93\x84\x32\xb8\x7a\xc8\xe9\x22\xca\x82\x73\x04\x44\x73\x80\x73\xf2\x67\x47\x59\x86\x91\xc0\x34\x57\x79\x9c\x09\xce\x31\x07\x9e\x79\x6e\xfb\x09\x3b\xd6\x4a\x52\x3d\xfb\x48\xb0\xca\xf9\x57\x08\xfc\xf3\x99\x98\xd9\xcb\x3c\x0b\xe2\x6a\xbf\x82\xc9\xdd\x30\xbe\x06\xd2\xd1\x2d\x9d\xf9\xd4\x52\x54\xe1\x38\x0f\xc8\xe5\x9e\x34\x71\xdb\xb8\x53\x89\xdf\x20\x21\x5b\x0d\x07\xca\xce\x16\x4f\xe0\x4e\xe8\x3a\xbf\x88\x22\xb7\x77\x9f\xb2\x0a\x4a\xfb\xe0\x62\x8a\xdc\xdd\x95\x9b\x06\xe5\xb2\xb9\x62\xf9\x72\x57\x5a\x12\x94\xb6\xb4\xb8\x22\xc5\x5d\x81\x4f\x41\x81\xfc\x22\x0b\x1e\x27\x5e\x9a\x37\xee\xc1\xe0\x04\x0a\x5f\xfa\x76\xba\x37\xc5\x25\xcf\x93\xdf\x19\xc7\xc4\x01\x76\x7a\x63\x72\xc9\xcd\x42\x40\x4b\x1f\xb6\x84\xc7\x95\x78\x57\x95\xfa\x16\x1e\x98\x40\x3d\xbf\x14\x51\xf5\x42\x91\x64\x5e\xc4\x92\xf3\x86\x99\xa3\x73\xfc\x30\x66\x45\x2e\xb6\x24\x3d\x7e\x41\xeb\x01\xa5\xe1\xb7\xc3\xef\xc8\x5a\x85\x64\xcd\x4c\x00\x4a\x63\xec\x00\x10\xd1\x33\x51\xe7\xec\xc0\x06\x0e\xfa\xde\x8a\x30\xb1\x00\x58\xe8\xe4\x19\x5e\x11\x10\xce\x55\x95\x87\x23\x2e\x20\x96\x5b\x71\x24\xcd\xe4\xc2\x80\x3f\x4e\x64\x59\x6d\x01\xfe\x78\x7f\x7e\x9b\xe4\x48\x3c\x39\xfa\x72\xe6\xad\xd0\xbc\x77\x80\x47\x92\xb7\x0d\xd9\x7e\xe3\x4f\xd8\x8e\x00\x89\xfc\xad\x59\x4c\xd2\x02\x8f\xbc\x22\xf2\xcc\xba\xe2\x85\x44\xee\x6c\x6c\x6a\x7d\xea\x01\x8d\x71\xaa\x8f\xb1\x22\x91\x39\xa3\x5b\x4f\xff\xf6\x29\x8a\x86\x4f\x05\x47\x49\xf3\xde\xfd\x3a\x7f\x67\xf8\xf2\xb3\x11\x79\xbf\xdf\x30\x7a\xea\x7e\x55\xc2\xee\x55\xfd\x1a\xc5\xe7\xbb\xd7\x73\x3d\xa2\x52\xe5\x39\xd5\xdd\xb5\xfe\x1b\x0d\x51\xa7\x9a\x9f\x9f\x1e\xa2\xf3\xff\x7e\xec\xee\x64\x83\xc7\xd9\x89\x1a\x2b\x16\x17\x46\xb6\xae\xff\x88\x80\x90\x5d\xc0\xf5\x70\xef\x56\xff\x5f\xb3\x36\x38\x2f\xbc\x92\xd0\x02\xd1\x7a\x83\x4d\xb8\xfc\xbe\xd4\xfa\x69\x5a\xe5\x2e\x92\xc8\x34\x8d\x75\x1e\xf0\xbf\x7d\xfa\x7f\x01\x00\x00\xff\xff\xa2\x10\xca\xbc\x26\x92\x00\x00") - -func uiAppLibFontAwesome470CssFontAwesomeCssBytes() ([]byte, error) { - return bindataRead( - _uiAppLibFontAwesome470CssFontAwesomeCss, - "ui/app/lib/font-awesome-4.7.0/css/font-awesome.css", - ) -} - -func uiAppLibFontAwesome470CssFontAwesomeCss() (*asset, error) { - bytes, err := uiAppLibFontAwesome470CssFontAwesomeCssBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "ui/app/lib/font-awesome-4.7.0/css/font-awesome.css", size: 37414, mode: os.FileMode(420), modTime: time.Unix(1, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -var _uiAppLibFontAwesome470CssFontAwesomeMinCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x7d\x4d\x8f\xe4\xb8\xd1\xe6\xdd\xbf\x22\x77\x06\xde\xe9\x36\x4a\x35\x45\xe5\x77\x15\xbc\x9e\xfd\x80\x01\x03\x36\xf6\x60\x1f\xf6\xb0\x17\x8a\x0a\xa5\xd8\x49\x89\x1a\x92\xca\xac\xec\x46\xff\xf7\x17\x92\x18\x4c\x2a\x2b\x28\xcf\x0b\xcc\xe1\x35\x0c\xbb\x8b\x7c\x48\xf1\x23\x18\x11\x0c\x3e\x64\xfe\xfc\xa7\xff\xf6\x87\xd5\x9f\x56\xab\xbf\xea\xd6\xad\xfe\xe7\x15\xac\x6e\x60\xb5\x79\xde\x3f\xbf\xac\x8a\xdb\xea\x97\x92\x5f\xe0\xc4\xdb\xf2\xb6\xca\x56\xb5\x73\xdd\xeb\xcf\x3f\x57\xba\x75\x7c\x02\x3e\x4b\xbd\xca\x56\xbf\x44\x29\x63\x5d\x7f\x97\x02\x5a\x0b\xa9\x22\x3f\x2b\x9f\xff\x69\xf8\xe8\xeb\xea\x9f\x7f\xfb\xfb\xea\xff\xfe\xf5\xef\x2b\xf6\xcc\x9e\x56\xff\xfb\x9f\xff\x7c\x5d\xfd\xe3\x6f\xff\xc2\x4a\x3e\xff\x61\xf5\xa7\x9f\xc7\x2f\x64\x15\x17\xf0\xcd\xff\xab\x91\xea\xf6\xfa\xd3\x50\xde\xb7\xf9\xa7\x37\x6b\xc4\x6b\x6f\xd4\xa7\x9f\x9e\x9f\xc7\x0f\xda\xf8\xb3\xd9\x15\x8a\xe1\xcf\x67\xd0\xee\x2f\x97\x3f\x8f\x1d\xfc\xe9\xf3\x7f\xa2\xcc\x8f\x12\x2a\xf9\xfe\xdf\x43\xd1\x55\xa5\x4d\xc3\xdd\xa7\x9f\xa0\x29\xa0\x2c\xa1\xcc\x74\x07\xad\xbb\x75\xf0\xd3\xe7\xa7\x7f\x5f\xe5\x55\x57\x55\xfe\x97\x8f\xb5\x8d\xe9\xbf\xb9\x86\x44\x05\xbf\xa9\xbc\x73\x54\x71\x67\x7a\xf8\xcd\x9d\xb0\x97\x13\x56\xf1\x63\x94\x6f\xe0\xd4\x2b\x6e\xa2\x5a\xed\xe5\xf4\xd3\xe7\xb7\x71\xea\xae\x20\x4f\xb5\x7b\x6d\x87\x1c\x35\x25\x59\x77\x53\xe0\x53\xbe\x3f\x57\xfc\x5b\x29\x6d\xa7\xf8\xed\x55\xb6\x4a\xb6\x90\x15\x4a\x8b\xf3\x08\xf5\xa0\xd5\xfc\xff\xd8\xa6\x7b\xff\x99\xad\x22\x61\xf0\xf5\xca\xaf\xf0\x2a\xdb\x1a\x8c\x74\x6f\x0e\xde\x5d\x66\xa0\x2d\xc1\xc8\xf6\xf4\xca\x7b\xa7\xdf\x86\x8e\x9c\xa5\xcb\x26\x74\xa3\xb5\xab\xc7\xbc\xd6\x49\xae\x24\xb7\x50\xbe\x65\x8d\xfe\x9a\x69\xfb\xfe\x88\x39\x19\x7e\xb3\x82\x2b\x18\x1a\x9c\xa9\xd3\xb7\xfb\x17\xd9\xf3\xda\xff\x07\x9a\xb7\xb1\x03\xf5\xd4\xe7\xe7\xfd\x16\x9a\xb7\x0b\x18\x27\x05\x57\x19\x57\xf2\xd4\xbe\x66\x6c\xfb\xc7\xb1\x8e\xfc\x3d\xaa\x23\x87\x66\x4c\x5c\xc7\x89\x6b\x9f\xb8\x89\x13\x37\x3e\x71\x1b\x27\x6e\x7d\x62\x75\xfd\x76\x95\xa5\xab\x5f\xd9\x73\x7e\xd8\xee\xd9\x26\x3f\x42\x33\x0d\xc5\xf4\x75\x01\xad\x03\x33\x62\x7b\xf5\xad\xe3\x65\x29\xdb\x53\xa6\xa0\x72\xaf\x2f\x6f\x0d\x37\x27\xd9\x4e\x7f\xe5\xcf\x6c\x33\x55\x31\x76\xca\xfa\x59\xcb\x06\x59\x79\x6d\x75\x0b\xbe\x8e\xff\xa1\xe4\xb7\x4e\x5b\xe9\xa4\x6e\x5f\x0d\x28\xee\xe4\xc5\x8f\x51\x94\xc1\x0b\xab\x55\xef\xe0\x6d\xac\x3b\x9b\x55\x3e\x35\x78\x96\xe4\x74\xf7\x3a\xfb\x9b\xec\x80\x92\x7e\x2a\xa6\x4a\xd9\xf3\xd4\xe3\xc3\xce\x0f\x46\xa1\x4d\x09\x06\x3b\xf9\xfa\x9c\x43\xb3\x7a\xce\xb7\xc3\xff\xb2\x61\x62\xa6\xfc\x57\xab\x95\x2c\x57\xcf\x2f\x07\x68\x56\x3f\x02\x80\x4f\xcf\x0c\x2f\x65\x6f\x5f\x9f\x99\xaf\xae\xeb\x95\x1a\xc7\xe6\x5b\xa5\x34\x77\xaf\xc3\x3f\xef\x19\x66\x98\x71\x9f\x33\xfe\x7b\xc8\x9a\x17\xf3\xc3\x6b\x26\xd9\xf0\x93\xfb\x50\x41\x3c\x05\x13\x24\x55\x7b\xaa\x39\xcf\xff\xee\x83\x8b\x5f\xab\x78\x66\x3b\xd9\x7e\xc3\x95\xc2\x5b\xd9\xf0\x71\x0a\x7d\xce\x2a\xb7\x2b\xd9\x56\xb2\x95\x0e\x56\x83\xb0\x73\xf3\xf6\x5b\x40\x38\x52\x16\x16\xea\x66\x51\x31\xeb\xa0\xb3\x9f\x0e\x9f\x89\xda\x29\xd8\xf7\x5f\xb0\xda\x33\xdc\x2a\xc3\x1b\xb0\x2b\xec\xcc\xcb\x1f\xc3\x37\x9d\xe1\xad\x1d\xb4\xd4\xab\xd1\x8e\x3b\xf8\xf4\x52\xc2\xe9\xf3\x1b\x9d\xfc\x9d\xbd\x2c\x15\x5d\x6f\x8f\x74\x61\x9f\xf1\xfd\xfb\x2f\xff\x85\xda\x32\x8c\xff\x94\x96\x1d\x5f\xbe\x65\x8d\xcd\x2a\xa9\x1c\x98\xd7\x1f\x3a\xa3\x4f\xb2\x7c\xfd\x3f\xff\xef\x6f\x0d\x3f\xc1\xbf\xb0\x86\xe7\x7f\x48\x61\xb4\xd5\x95\x7b\xfe\x5f\xdc\x4a\x31\xe6\x7e\x1a\xab\x90\xba\xfd\x33\xfb\xfc\xc3\x5b\xb2\x39\xc7\xa9\x2b\xc3\x57\x52\x79\x89\xf4\xb8\x9d\xec\xf0\x7b\x34\x34\x5f\x6a\x28\x3b\x2c\xb4\x14\x33\x53\x19\x71\x5b\xf3\xfd\xef\xd1\xd6\xf5\x52\x5b\xf3\xfd\x42\x5b\x31\x33\x95\x31\x99\x07\x25\xbb\xac\xd6\x46\x7e\x1d\x8c\xb7\xfa\x1d\x1a\xfc\xf2\xb4\x6a\xa4\x31\xda\x24\xe4\x61\x34\x99\x9f\x32\xf6\xb4\x62\x8f\x0d\x9f\x65\xd1\xc9\xf7\x46\xa3\x11\xfd\x3d\xe4\xe1\x37\x35\x99\x3d\xad\xb2\x44\x93\x7d\x16\x9d\xfc\xfd\xd5\x68\xed\x56\xb3\xd5\xf6\xf4\x21\x8d\x1d\x88\xc4\x7c\x1f\x27\x3e\xcc\xd5\x63\x4e\x18\x10\x3f\x18\xc1\x24\x5b\xc7\xc5\xf9\xa3\x49\x7e\x23\x7d\x2c\x6f\x7b\xa1\x79\xf3\x2e\x4b\xfe\xe0\xc2\xe4\x1f\x1d\x98\x46\x96\xa5\x8a\xbe\x95\xb1\xf7\xa7\xfb\x1f\xf9\x7b\xca\xea\xbf\xf8\xaf\x0d\x8a\x2c\x61\xd1\xb1\xbe\x6f\x71\x13\xbc\x43\xf7\x7d\xf6\x8d\x8f\x9e\x93\x6c\x2f\x60\x2c\x7c\x13\x5a\x69\xf3\xfa\x63\x55\x55\x63\xf2\x49\x71\x6b\x5f\x0b\xa8\xb4\x19\xf2\x5a\x07\xad\x7b\xfd\xe1\xff\x57\x2f\x2f\x2f\x3f\x8c\x80\xa6\xb7\x52\x90\x00\x36\x01\x2c\x70\x23\x6a\x12\x91\x4f\x08\x68\x2f\xa0\x74\x07\x99\x26\x51\xeb\x09\x55\x03\x37\x8e\x04\x6c\x7e\xc0\xce\x19\x32\x7f\x7b\xcf\x4f\x7c\x62\x37\x21\x7a\x0b\x74\x0d\xfb\x29\xbf\x92\xaa\x21\xf3\x0f\x53\xbe\xab\x33\xc5\xcd\x09\x48\xcc\x11\x31\x64\x2e\xbf\xd7\x20\x2d\xdd\xcd\x62\x82\x88\x1a\xc4\x99\x04\x88\x09\x60\xa0\xd1\x17\x6c\xc3\x28\x5a\x42\x69\x3b\x4b\x70\xb2\x01\x7a\x56\xcb\x78\xd2\xb2\x4e\xf5\x34\x0c\x66\xb0\x46\xb6\x34\x8e\x79\x21\xe9\xf4\x15\x4c\xa6\xab\x8a\x04\xa1\xa0\xc8\x53\xcb\x15\x89\xf0\x82\x72\x82\x30\xc3\x53\xbf\xf4\x89\x84\x7b\x89\x71\x86\xdb\x9a\x9e\x71\xe6\x65\xa6\xd6\x0d\x39\x5b\x6c\x1b\x66\x3c\x21\x96\xcc\xcb\x8c\x18\x14\x41\x02\xe2\xc5\xc6\x68\x5e\x92\xf9\x5e\x6c\x4a\x7d\x6d\x55\x0a\xe3\xc5\x86\x1b\xa3\xaf\x99\x90\x46\x0c\x0d\x1a\x8b\x90\x70\x4e\xc2\xfb\x8e\x04\x7b\x89\x92\x6d\xa1\xdf\x49\x80\x97\xa8\x41\xf1\x85\xca\x48\x60\xf9\x43\x6c\xcc\x27\x8f\x39\x9a\x28\x03\x1d\x70\x52\xaa\x19\xa0\xd0\x56\x06\x2c\xb9\x36\x72\x2f\x1f\xe3\x2e\x8a\x2b\xb2\x9a\xdc\x4b\xc8\x30\x19\x64\xbe\x17\x89\x4a\x71\x52\x64\xf2\x4d\x50\x32\x65\x57\xeb\x96\x5e\x1d\xb9\x97\x8a\x8b\x56\x7d\x03\x29\x79\xce\x77\x33\x54\x6a\xaa\xf2\xfd\x0c\x46\x4f\x51\xee\x45\xe4\x57\x23\x74\x49\x4a\x6a\xee\x05\xa4\xe0\x69\x08\x2a\x97\x44\xdf\x8b\x90\x4d\xf7\xda\x4b\x41\xa1\x35\x3d\xb6\xe5\x3d\xbf\xe1\x86\xc6\xf8\x69\xee\x8c\x6c\xe9\x09\xac\xfc\x72\xe2\x0d\x18\x4e\x21\xd6\x5e\x97\x8c\x71\x0d\x2a\x9f\x61\x33\x14\xb9\x92\xd6\x5e\x44\xa4\xe3\x8a\xb6\x58\x6b\xd4\x1b\x83\x71\xf5\xd6\x93\x82\x6d\x22\xd8\x64\x93\x29\x94\x97\x95\xd1\x48\x4f\x5b\x44\x0a\xb5\x8b\x51\x93\x29\x27\x71\xfb\x18\x67\x92\x4d\x3b\xc4\xb0\x2f\xbd\x75\xb2\xba\x91\xc0\xe3\x7d\x4d\x91\xf9\x5e\x64\x4a\x28\xa1\x9d\x2d\x65\xdd\xbb\x28\x69\x5e\x28\xe8\x93\x24\xc2\x8b\xd2\x45\x96\xa0\x97\xe6\xda\x8b\x54\x57\x6b\xa7\xe3\xaf\xcb\xc1\x17\x8d\x13\x3a\x29\x5c\x6f\x12\x6a\x69\x8d\x52\x07\xad\x90\xa4\x65\xd9\xa0\x17\xc3\xbb\x6c\x90\x5d\x7a\xf4\x37\x5e\xb4\x78\x39\x0c\x29\x89\xf0\xc2\xe5\x12\xe2\xbd\xf1\xa2\x05\xa5\x9c\x8d\xe6\xd4\xb2\xcc\xfe\xda\xf3\x54\x27\x36\xe8\xde\xd4\x03\x64\x11\xb9\x8d\x3c\x84\x65\xe4\x2e\x32\x13\xe4\xa2\xdf\xec\xd1\x69\x82\x2e\x2b\xb8\x38\x5f\xb9\x21\x97\xd5\xc6\x8b\x5c\xc5\xad\x5b\x06\x06\x45\xb5\x80\xe1\x77\x83\x43\xe6\x7b\x09\xeb\x78\x6f\x49\x55\xb7\x11\xd8\x6c\x4d\xea\xd3\x4d\x89\x4a\xc4\x24\xdb\x00\x51\x87\x16\x70\xdb\x97\x68\x84\x96\x70\x5e\x78\xe0\x0b\x08\x52\x36\xb6\x79\x98\xb6\x8b\xd1\x69\x5d\xb1\x5d\xcf\x71\x49\x2d\xb0\xdd\xe0\x28\xf6\xd6\x9b\x6d\x12\xe6\xc5\x65\xf4\xde\x96\x70\x3b\x94\xed\x06\x16\x71\xfb\x58\xfc\x16\x70\x68\xd3\x7a\xb0\xc3\x3e\x67\x09\x7a\x44\x8d\x52\xe9\x25\x98\x17\x9b\x61\xdb\x6a\x6b\x2e\x0d\x29\xd2\xdb\xe2\x63\x3f\xe8\xe5\xb1\x15\x1f\x7b\x92\x40\xa2\xed\xe3\xa4\x8d\xdf\x42\xec\x8e\xa5\x26\x76\xf7\x12\xa3\x92\xd3\xba\x63\x31\x8c\xf6\x17\x76\x79\x8c\x49\xb9\x1e\xbb\x35\x6a\x3d\xa9\x1e\x44\xf7\x29\xa8\x1a\xb2\xa0\x97\x2c\x78\xef\x78\x4b\x4a\xfb\x0e\x75\x90\x6e\x3a\x03\xf4\xd6\x71\xb7\xbb\xcb\x27\x99\xbf\x8f\x04\x93\x04\xa0\x99\xb3\x0e\x8c\xb4\xa4\xc7\xb1\x3b\x62\x53\x85\xe2\x53\x00\x74\x41\x82\x76\x5e\x82\x4e\x32\x31\x45\x5e\x76\x14\x70\xd2\xe7\xdb\x09\xdc\x2f\x24\x06\xce\xcb\x09\xdc\xe8\x6c\x08\xd9\x99\x55\x9c\xf6\x83\xf7\x5e\x4c\xae\xdc\xb4\xb2\x3d\xc5\x13\x16\x77\xd2\x19\xc9\xdb\x13\xdd\xcd\x3d\x0b\xfa\xb5\xa5\x01\xa8\x8b\xb8\x82\xb6\xa4\xf7\xd3\x7b\x2f\x3d\x86\xb7\xa5\x26\xf7\xc3\xfb\x4d\x10\x82\x26\xe1\x09\xec\x51\xf9\xf0\x53\x0b\x34\x62\x37\x57\x77\xb4\xc0\xef\xf7\x73\x54\x4a\xe4\xf7\x07\xdc\x67\xb8\x2b\x24\x3e\x78\x44\x43\xab\xbb\x4e\xb6\xa7\x4c\x24\x02\x0e\x7b\x8e\x46\x44\x95\xb4\xc3\xb0\x2f\x62\xc4\x78\xd2\x49\xc2\x44\x6c\x86\xb3\x0b\x89\x29\x67\x18\x5a\x32\x20\xec\x01\x32\x51\x73\xe3\xb2\x99\xd3\x14\x92\xa9\xb2\x07\x2f\x55\xee\x2a\x9d\x03\xe3\xdd\x06\x12\xc9\xd0\x30\x0a\x18\x7c\xfd\x25\x68\x1e\x7b\xf3\xc3\xa0\x1b\x52\x7d\x1e\xbc\x28\x9d\x81\x34\xf7\x87\xcd\x7d\xdf\x6f\x1f\x36\xfe\xa4\x62\x38\x6c\x67\x82\x47\x63\xd0\x9c\xd5\x7d\x53\xd8\xe4\xe6\xf8\xb0\x7f\x80\xa5\x24\xeb\x70\x88\xc2\x4b\x35\x57\xa4\x7e\x38\x1c\xa3\x20\x16\x6d\x4a\x0e\xfc\x1e\x06\x19\xbc\x6c\x12\x83\x6a\x48\xb6\x67\x28\x65\xbb\x34\x05\x22\x6a\x7f\xe6\x38\xbd\x2f\x3e\xa0\x5e\x7a\x77\x60\x5a\xae\xc6\x9a\x49\x20\x44\xad\x93\xe4\x40\x1c\x51\x92\x8c\xee\x6a\x72\x3e\x8f\x0c\xb5\xac\xab\xfb\x62\xa1\xf1\x47\x2f\x3f\x7d\x97\x8a\x8b\x1c\xd7\xa8\x90\x1b\xdd\xd2\x03\x7a\xdc\x84\x4d\x04\xad\xec\x8e\x18\x18\x5c\xf0\x94\x8f\xbb\xf9\xe6\x36\x81\xda\x47\x9f\x5a\xea\xd7\x61\xb6\xd8\x48\xc8\xf1\x61\x95\x55\xb1\xe0\x63\x2a\x59\x92\xc7\xa3\x4b\x22\xbc\xf8\xf4\x6d\x2a\x4e\x72\x44\xcf\xc7\x0c\x3b\x95\x41\x03\xd2\xa3\x8f\x6e\x34\xc0\xcc\x71\x30\xb4\xc1\x3f\x7a\xe1\xa9\xcb\x92\x1e\x3f\xee\x45\xa7\xe8\x95\xaa\xb5\x21\xc5\x8b\xe3\xfe\x1e\x14\xb9\x95\xab\xd0\x3d\x06\xe3\x64\x25\x05\x77\xe4\x14\x70\x0c\x27\xf3\xb6\xcc\x74\xda\xdb\xe2\x9b\x19\x2e\xe5\xbb\xf1\xed\x0c\x46\xeb\x12\xbe\x9b\x81\x52\x9a\x84\xef\x63\xe7\xcd\xbb\x9d\xc9\x0f\x1f\x08\x70\xba\x37\x54\x18\x31\xd1\x58\x2a\x84\x98\x6c\xb2\x97\xa8\x93\xd2\x05\x3d\xdc\x5e\xa0\xae\x06\x5a\xfa\x14\x80\x97\x18\x7e\xb2\x67\x52\x7a\x38\x6e\xc8\xa6\x93\x1a\x02\x51\xa0\xf8\x18\x09\x95\xe0\xf4\xd6\xb0\x60\x33\x43\x9a\x08\x24\x16\x18\x6a\x36\x3a\x0c\xcf\x28\xda\xbd\x05\x7a\x5b\x21\x5e\xd0\x03\xe1\x41\x2f\x3e\xa1\x92\x26\x0b\xf8\x86\x08\xa5\x7b\x72\x75\x09\xdf\x86\x4a\x71\xda\xb7\x15\x28\xea\xfd\x2c\x98\x60\x85\xb4\x56\x27\x5a\x19\x5c\xb2\xee\x36\x53\x28\x52\x81\xa5\x17\xa5\xd8\xe2\x66\xbb\x03\x23\x94\x24\xa5\x45\x78\xd1\xb6\x7c\x7e\xe4\x50\x29\xdd\x75\xb7\x44\xc5\xfb\x58\xef\x92\x08\x2f\xdc\x2d\xbf\x48\xa1\x67\xa3\x6a\x60\xa2\x9d\xcc\xfd\x1b\xba\xcf\x51\x90\x2b\xeb\x49\xa5\x21\x78\x04\xd1\x34\xa4\x40\xfb\x6e\xe4\x19\x5c\x6d\x74\x7f\x22\x05\x59\x08\xd4\xae\x25\x18\x25\x69\x9b\x23\x82\xb4\x17\xb4\x8b\x2e\x20\x38\xc6\x74\x94\xb2\x0c\x66\xb6\xa7\x75\x78\x89\x4e\xbe\x6c\x1d\x18\xa0\x03\x56\x65\xfe\x00\x5a\x98\x8d\xd2\x8b\xdb\x49\xeb\x93\x82\x29\xac\xb0\x80\xde\x7c\x40\x93\x30\xdc\x00\xe8\x96\x76\xfe\x4a\xf4\xff\xb9\x01\x97\x54\x40\xe5\x3e\x46\xd1\x1a\xad\x3c\xc4\x98\x94\x42\x2d\x8f\x31\x2a\xa9\x49\x4b\x8c\x35\x68\xd5\x37\x2d\xdd\xb5\x60\x66\xad\x36\x6e\x6e\x21\x87\x14\xb2\x0c\x06\xae\xb4\x99\x75\xf6\xe9\x9e\x08\x96\x96\x87\x32\x2a\x39\xd7\x59\x63\x12\x4f\x14\xc3\x2d\xa7\x3f\x7c\xa5\x30\xf0\x32\x77\x37\x49\x8c\x97\x36\x7f\xf4\x13\x8d\xee\x93\x5f\x0c\xa4\x0e\x00\x3c\xb0\x81\x53\x38\xf3\x1b\x0b\x9c\xf8\x05\xc8\x75\x08\x5e\x0a\x4b\x6e\xeb\x42\x3f\x44\x2c\x1c\x17\xb5\x6e\x20\x61\x1f\x60\xbe\x1f\xa5\xb5\x12\x3c\xec\x1d\x12\xa8\xdd\x5d\x37\xd7\x33\x25\xa4\x69\x83\x02\xa8\xec\xa4\x83\x86\x93\xf2\x09\x5e\x3e\xfb\xa6\x30\xa0\x14\x19\x11\x87\x23\x2a\x63\xeb\x1e\xce\x76\x65\x17\x0f\xc7\xbc\x54\x50\x6f\xa7\xda\x15\xbd\x2a\x12\x9d\x2a\x42\xac\xa4\xe6\x2d\x7d\x7e\x0d\x22\xb2\x5a\x8b\x47\x96\x50\xc6\xc8\xb4\x0b\x0f\x5e\x02\x07\xcb\x9a\x35\x24\xa4\xba\xc7\x58\x5d\xad\xad\x48\xc8\x69\x85\x27\xc8\xbd\x74\x29\xf3\x5f\xe5\x77\xf7\x31\xe1\x84\xe2\xa6\x55\x57\x15\xd0\x75\x6c\x82\xdd\x55\x60\x48\xad\x55\xc5\x07\xc7\xe3\x09\x11\xf9\xad\x0a\xb7\x15\xbd\x54\x23\x85\x94\x46\x79\xd9\xa9\xb5\xed\xa4\xe3\x89\x76\x57\xe8\x09\x36\x45\xaf\x78\x2b\xe8\xa6\x7b\xf9\x69\xa0\x3c\x4b\x52\x50\x2b\x8c\x6a\x0c\xb2\x02\x26\xfb\x42\x47\x49\xaa\x02\xc7\x91\x5e\x6b\x95\x97\x93\x7a\xc1\x44\x54\x78\xbc\xb3\x6c\x49\x2a\x8c\x9e\xb6\xa7\xd1\x05\xed\x8b\xb4\x3f\xcc\x90\x8f\x32\x03\xa7\xb4\x38\x43\x72\xca\x0c\x4d\x5a\x0f\x86\x2c\x95\x19\x34\x61\x8e\x18\x92\x55\x26\x70\xb2\xad\x9b\x18\x95\x6e\xe4\x36\x86\x25\x5a\xb7\x9b\xb7\x2e\xd1\x2c\x2f\x48\x25\xd8\x33\x7d\x32\xc2\x90\xc3\xa2\x78\x97\x42\x1c\x23\xd7\x85\x6e\x30\x47\x9b\x5e\x0c\xe2\x1f\x6f\xbc\x9f\xee\xe9\x64\x49\x24\xb7\xa4\x63\xed\x0c\xf9\x2d\xbf\xf6\xda\x2d\x8c\x6d\x19\xa3\xd2\x63\x8b\xf1\x8c\x4e\xb6\x2d\x29\xc9\x0c\xc9\x2b\xc9\xa8\x31\x43\xe6\xca\x18\x47\x37\xd0\xa9\xdb\xdc\x53\xbd\x27\xcc\x8b\xe5\xb3\x30\x08\xbd\x13\x61\xc8\x62\xc1\x18\x22\x89\xd9\xcc\x31\x1d\xd0\xb1\x10\x86\x7c\x16\xdb\xa4\x08\x2d\x0c\xd9\x28\x95\xd1\xd7\x54\x2d\x41\x89\xd0\xb4\x1a\x86\xf4\x93\x13\x6f\xa0\x23\xb5\x3e\x43\xd2\xc9\x19\x6e\xa3\xd9\x4a\x54\x24\x82\x99\xa5\x75\x23\x43\xca\xc9\x88\x18\x0f\x6a\xc0\x00\xfd\x45\x3f\xd5\x0e\x4c\x23\x69\x86\x11\xcb\x71\xae\x69\x0a\x05\xcb\x3f\xcc\x74\xc6\x95\xfa\x30\xdb\x51\xe2\xbc\x78\x8e\x76\xcc\xc7\x08\x33\x68\x3a\x37\x93\x96\x7b\x56\xd5\xcf\x6b\xbe\xe7\x90\x03\x81\xd4\x16\xa5\xc5\x74\x00\x30\x6e\x70\x49\x24\x9a\x2f\x43\x2f\xf0\x7c\x7b\x1f\x84\xac\xd2\x24\x93\x83\x21\xbb\xa5\x6f\xa3\xfd\xed\x53\xd8\x00\x67\x85\xd1\x67\x32\xda\xcd\x90\xf0\x82\xe7\x7e\x24\xc6\x0b\xa1\x6c\x2b\xba\xb3\x1f\x4f\x75\x48\x18\xc6\x52\xfb\x0e\x8c\x15\x46\x76\xe4\x12\x43\xe6\x8b\xed\x8b\x05\x90\x17\x45\x30\x9c\xa6\x07\x32\x24\xc0\x74\xfd\xd7\xaf\x83\xda\x93\x40\xda\x60\x86\x24\x98\x46\x0e\x33\x90\x88\x4a\x32\xe4\xb9\xdc\x51\xc9\x23\x21\x86\x9c\x17\x5b\x4b\x20\x59\x2f\x6c\xfd\x70\xa0\x43\xcb\x10\x32\x5f\x2a\x69\x20\x83\x77\x27\xdb\x53\x2f\x6d\x4d\x77\x17\xf9\x2f\x46\x8b\x33\x6d\x07\xd6\xe1\x70\xe7\x5d\x94\xe4\x04\xad\x1f\x0e\x77\x96\x83\x5d\x6c\xbd\x27\xe1\x49\xed\x8e\x3c\x98\x07\x3c\x6d\x42\x91\x0b\xf3\x00\x4e\xd9\x52\xa4\xc6\xd4\xae\x51\x5b\x12\x80\xb6\xcc\xda\x35\x99\x8f\xa7\x3e\xad\xa8\x35\x3d\xc2\x65\x58\x63\x5a\x9c\x53\x06\x02\xd9\x2d\x45\xaf\x94\xa5\x0f\x16\x19\xf2\x5b\x40\x29\xd9\x59\x49\x9f\x1f\x31\xe4\xb7\x04\x14\x75\x12\xc5\x90\xe3\x62\xec\x82\xd3\xc6\x90\xe9\x12\x71\x06\x49\x18\x92\xa8\x64\x4a\x88\x36\x33\x7a\xc2\xc2\x07\x77\x1f\x71\xb4\x94\x23\xa7\x45\xc1\x05\x54\x42\x18\x90\xce\x32\x61\x52\x32\xb0\xb9\x8b\x8c\x58\x38\x07\x63\x81\xcf\x12\xd3\x7c\x48\x60\xd8\x81\x45\xe7\x30\x4b\x78\x0c\x17\x44\xa4\x20\x12\x57\x86\x4d\x6d\x47\x13\xb9\x19\xf2\x5d\x9c\x3e\x3d\xb8\x90\x4f\xf7\x70\x08\x0e\x6b\x72\x44\x90\x0d\xe3\x6b\x99\xc7\x21\x1e\xea\xa0\x47\x1e\x79\x32\xbe\x86\x0f\x1c\xd2\x87\x4a\x92\x6b\x1f\xe9\x34\xd0\x9b\xd9\x29\x28\xf4\xe4\x5a\x43\x56\xcd\xa9\xa0\x5b\xe5\xe5\xb4\xd4\x4a\xcd\xc9\xc7\xbd\x25\x15\x2e\xb2\x6a\x4c\xdf\xc1\xcc\xf9\x95\x2d\xfd\x7d\xd4\x84\xed\xdc\x79\x6c\x8a\xf8\xcf\x1b\xcc\x26\xe5\x4b\x47\x3a\x96\xc8\xc0\x31\xfd\x3d\xb8\x38\xd5\xa6\x3f\xa4\x90\x27\x44\x0c\xb9\x39\xd7\x79\xd0\xf5\x6c\x48\x87\x02\xe9\x39\x85\x74\x42\xcf\x83\xdf\x85\xa3\xa2\x4e\x6c\xcb\xef\xdb\x63\x32\xbf\x78\xd8\x3e\x93\xa0\x38\x56\xc6\x55\x57\xf3\x44\x90\x8b\x6d\xcb\x0f\xc8\x44\x18\x8d\x21\x55\x67\x82\x36\xba\x6f\x53\xa1\x33\x86\x7c\x9d\x18\x9a\xaa\x16\x49\x3b\x23\xb6\xed\x1b\x30\x52\x24\xeb\xcd\x09\x6c\xb2\x62\x24\xab\x4e\xe7\xd3\xf4\x9a\x42\xbe\x8e\x07\xa5\x16\x2f\x92\x76\x6e\xba\x77\x7d\xb1\xa4\x4f\x90\xba\xe3\x91\x24\xc4\x0b\xe1\xfb\x9d\xa3\x32\xcf\x3f\xdc\xf3\x97\xbe\x74\x9c\xb7\x29\x41\x09\x64\xc8\xdc\x29\x8d\xee\x68\x1a\x3b\xdb\x85\x08\x3e\x17\xe7\x4c\x5f\xc0\x54\x8a\xf6\x90\x91\xc6\x23\x5b\xeb\xf8\xc9\x70\x8a\xdd\xc2\x76\x61\xe7\x21\xc5\x99\x5c\xd3\x48\xe7\xe1\xb4\xf3\x83\x44\x9e\x42\xba\xa2\x4f\x99\x3f\xa4\xea\x04\xd0\xc2\x58\x21\x6b\xc7\xf5\x4d\xa1\xc8\x16\x21\x67\x67\x42\x2c\x55\xb5\xc1\xdd\x44\x7b\x5a\x66\x91\x31\xa4\xf0\x44\x50\x5a\x0a\x91\xc9\x13\x01\x53\x8e\x1e\xd2\x79\x22\x68\x52\xd1\x23\xa5\x87\x77\x1d\xad\x4c\x90\xd0\x73\x95\x6d\x49\xd3\x5c\x19\x52\x79\x78\x5b\x1a\x2d\x49\x85\xbe\xbf\x73\x2e\x7a\x52\xbc\x90\xc5\x53\x1a\x59\x14\xf4\xa9\x0e\x43\x16\x8f\x3d\xdf\xc8\x10\x26\x43\x0a\x4f\xa5\x7b\x93\x9e\x9d\x40\xd6\x31\xa0\x14\xe9\xe3\x04\x92\x0e\x34\x9c\x6e\x0a\x72\x73\x92\xf9\xeb\x10\x9d\x70\x72\x66\xc6\x4f\x86\x3b\xd9\xd1\xcb\x10\xa9\x3a\xb6\x4f\xc4\x0e\x0e\xe1\xbc\x27\xc1\xd7\x60\x87\x40\x4a\x16\xb5\xbc\xd0\x6d\xdb\xa3\xcb\x4b\xaa\x16\xa4\xe2\x5c\xc8\x9d\x2b\x72\x70\xae\x20\x0b\xba\x01\x5e\x18\x0c\xb4\x86\xde\xc2\x1e\x02\xff\xf8\x04\x4a\xd2\xb7\x44\xd8\x41\xc4\xea\x66\x21\xa6\xce\x0e\x31\xb7\xeb\x7e\x5b\x27\x29\xf1\x07\x20\xf1\xa9\xc5\x74\x9c\xfb\x64\x8f\x47\x33\x0f\x0e\x55\xb2\x16\x86\x1e\x90\x5b\x0c\xcf\x21\x67\xe7\x5a\x03\x28\x51\x73\x49\x2a\x22\xe4\xed\x5c\x64\x03\x7a\x41\x0f\x21\x79\xc7\xf5\xe6\x2c\x6d\x9d\x29\x19\x6e\x0a\x4c\x07\x3e\x64\xf8\x9d\x21\xa5\x27\x8a\x2c\x27\x5a\x8b\xe7\xd6\x1d\x17\x90\xd9\xba\x77\x8e\x5e\x0e\x48\xed\xb1\x8a\xa6\x50\x31\xe4\xf4\x84\x5b\x8c\x0b\x9d\x42\x09\xd4\xa6\x4c\xb1\x63\x19\xd2\x78\x74\x07\x2d\xad\x91\x8e\xc5\xdd\x4a\x49\xd7\x47\x41\x10\x7f\x1c\x3e\x8f\xcb\xf4\xad\xbc\x80\xb1\xd2\xd1\x23\x26\x70\x5d\x1a\xc7\x4d\xf6\xe1\x64\xed\x64\x78\xd9\x7b\xfa\x2c\x79\x7c\xc5\x90\x0c\x74\xe3\xb5\xa6\xc7\xda\x8b\xed\x74\x22\x4c\x21\x90\xff\x63\xa0\x2c\xc9\xd3\x09\x86\xec\x9f\x09\xb1\x30\xc6\x3c\x84\xda\x06\x53\x07\x7d\xb7\xc4\xfb\x65\xc8\x06\x8a\xd0\x24\x0c\x77\x01\xa0\xa4\x90\x9a\x3c\xd1\x66\x48\x05\x2a\xe5\x89\xd4\x4e\xc8\x02\xea\x24\x94\x59\x27\x3b\x30\x59\x47\x0e\x28\xf2\x80\x22\x60\x22\x04\x80\x24\xa0\xd2\xf4\x1d\x1d\xd8\x44\xe2\xcf\x17\xad\x1b\xf2\x64\x91\x21\xdf\x47\xf1\xf6\xd4\x73\x5a\x51\x21\xcd\xa7\xe2\xa4\x05\x44\x92\x0f\x9e\x66\x91\x18\xdc\x89\xd6\x92\x8e\x54\x21\xcd\xa7\xe3\xa4\x6b\x86\x1c\x1f\xdb\x69\x7a\x8e\x90\xdf\x23\x12\x7e\x29\x32\x7b\x86\x7c\x72\xfe\x0a\x2f\x0b\x05\xd4\x89\x53\x34\x56\x6c\x66\x90\x05\x31\x2c\xc2\xa5\x63\xa0\xbd\xc8\x62\x17\x01\x96\x2a\xc2\x3d\x1d\x88\x5b\x42\x88\x0b\x74\x84\x7a\xa7\x67\x47\x2c\xa8\xe6\xc9\x42\x81\xee\x30\xdb\x68\x3a\xfe\x2e\x49\x38\x0f\x9e\x07\xdd\x86\x22\x4c\x4f\xe2\xce\x19\x2b\xd0\x4f\x82\x8b\xe4\xad\xa3\xf9\xc8\xac\x08\x5b\xb6\xbe\x2d\x53\x14\x29\x56\x78\x61\x29\xb9\xe3\x05\x7d\xe2\xcb\x90\x98\x35\xee\x25\xbb\x32\x11\x3e\x47\x36\xd6\x88\x1a\x14\x73\x02\x96\x47\x30\x78\x17\x40\x1f\xc6\x32\xb1\x8e\x3f\xaa\xaf\x60\x3a\x2d\x13\x94\x03\x86\xa4\xac\xca\x9f\x96\x39\x3d\x27\x6e\x4f\xe9\x0f\x37\xdc\xee\x39\xe3\x65\xb8\x44\xcd\xf1\x31\xf4\x57\xd9\x11\xa5\xbd\x9b\x95\x28\xbf\x8b\xca\x8f\x53\x41\xd5\xd0\x97\x52\x27\xca\xef\xa3\xf2\x8d\xbe\x48\xaa\xfd\xd3\x2d\x40\xba\xfc\x21\x2a\x3f\x9e\x47\xd0\xb0\x23\x7a\x13\x74\x2c\x5d\x04\xb2\x4e\x09\x34\x07\x9f\x21\xbd\xeb\x8b\xad\xc6\x87\x19\x48\x8c\xc0\x2d\x40\x05\x59\xa1\xfb\x59\xa4\x66\x4a\xec\xf5\xc7\x44\xcb\x2f\x73\xa2\x9a\xed\xbb\xee\xce\xff\xb9\x03\x4d\x42\x67\x22\x59\x2c\x78\x7a\xad\x76\x24\x89\x92\x21\x6b\x6c\xee\x24\x19\xb0\xd2\xba\x48\x99\xf9\xd4\x82\x64\xd8\x30\x64\x96\xcd\x6f\x58\x42\xd3\xd1\x97\x5a\x58\x79\xa7\x73\x2f\x28\xb0\xf2\x7e\xda\x49\x66\xfb\x05\x73\xcb\x84\x6e\x0a\xd9\x72\xa7\x1f\xf6\xa7\x53\x00\x4c\x10\x89\x35\x17\x67\x30\x59\x0b\xf4\xe6\xae\x0c\x17\x75\x5b\x01\xd3\x53\x6a\xb4\xe3\x8f\x5c\xb4\x5f\x7f\x25\x73\x77\xb8\x6f\x10\x35\x9f\x4d\xde\x15\xe4\x3b\xc9\x8a\x62\x48\x4b\xb3\xd0\xce\xbc\xa9\x91\x4b\x99\xbc\x7e\xc3\x90\xa9\x36\x14\x9b\x2f\x98\xa8\x20\xbd\x14\x90\xbe\x56\x4b\xeb\x34\xed\x1c\x07\xea\xda\x24\x4e\xae\x4e\xb4\xdd\xaf\x88\x1a\x38\x7d\xbd\x85\x21\x59\xad\xe3\x86\x9f\x0c\xef\x48\x91\x0c\xbc\x34\x25\x4b\x9a\x3a\xcb\x90\x83\x36\x45\xb1\x13\x3e\x0e\x92\xd0\x02\x68\x41\xd6\x20\xdc\x01\x6f\xc8\xf0\x26\x84\x08\x9b\x10\x60\xb2\x82\x47\x5c\xa0\x49\x2f\xf5\xae\xd0\x09\xd5\x8e\x04\x34\x47\x3b\xd2\x48\x32\x2b\x64\xab\x45\xaf\x68\x4e\x2a\x83\xfb\x06\x85\x5c\xf2\xc8\x2f\x1b\x47\x2d\x75\x0f\x8f\x21\xa9\xcc\x5d\x65\x42\x21\x20\xa7\xec\x06\x8a\xf4\x31\x91\x4f\x36\xac\x9d\x49\xb6\xe8\x3e\x73\x0c\xa1\x54\xa4\x5b\x80\xcc\x31\xc1\xd5\xd0\x67\x47\x9f\x67\x41\x90\x97\x5b\xc2\x4d\x45\xce\x98\x27\x8d\x5e\xb9\x4a\x50\x4c\x90\x34\x26\x44\x76\x91\x96\x74\x68\x91\x34\x26\x44\xd6\x8c\x37\x04\x13\xb7\x18\x18\xd2\xc6\x84\xc8\x4a\x69\x85\xbe\xd0\xd2\x8e\xcc\x31\x21\x32\xde\x00\xe9\x00\x87\xbb\x07\x62\xa1\x8f\x81\x3d\x26\x46\x2e\x31\x1d\x07\x42\xfe\xd8\x48\x53\x4b\x9e\xfb\x06\xfa\x58\x40\xd1\xd3\x87\x04\xb2\xf1\x25\x14\x12\x80\x07\xa5\xba\xbb\x25\xc3\x0e\xc8\x1d\x23\x5f\xf0\x60\xc8\x1b\x83\x1b\x94\x46\x77\x5d\x62\x10\x43\xe4\x64\xf0\x86\x0a\xd3\x27\xda\x83\x3b\x09\x69\x5c\x5d\xf2\x5b\x26\xf8\x99\x1e\xa7\x10\x3a\x01\x9e\xbc\xdc\xc6\x90\x41\xd6\x49\x48\x82\xf2\x97\x3b\xcb\x75\x09\x85\xaf\x90\x70\xeb\x2a\xca\xa3\xcf\x91\x28\x36\x21\xd2\x5a\x2a\x47\x92\x98\x8f\xcb\xd0\xcf\x88\xe4\x48\x12\x43\x14\xa5\xab\x73\xa4\x88\x15\x32\xb5\x3b\xc8\x5f\x02\xd5\x90\x52\x48\x39\x52\xc3\xa4\x7e\xaf\x35\xc9\x15\xcf\x91\x1a\xc6\xdb\x13\xa8\xc4\x8b\x11\x39\xb2\xc3\x04\x75\x5a\x91\x23\x33\xcc\xd6\x70\x86\x39\xbb\xa5\x86\x5f\xe7\x29\x52\xd1\x0d\xf5\x12\xd4\x00\x6f\x3b\x4e\x3e\xba\x91\xbf\x84\x8d\xe8\xcd\x82\x52\xbc\xa4\x6b\x0a\x87\xa2\x6d\x0b\xc2\x95\x30\x06\x6e\x48\x64\xd8\x66\xd8\x3a\xb1\xaf\xcc\x59\x78\x97\xc4\xf4\x4d\x41\xee\x8e\x72\x24\x8a\xa9\xa1\xed\xe4\xc9\x5b\x8e\xa4\xb0\xa1\xdd\x96\x32\x30\x39\x12\xc2\x6c\x2d\x8d\xb3\xb2\x2d\x7a\x45\x05\xa4\x72\x24\x85\x59\xd9\x74\xea\x36\xec\xc9\xc9\x09\x0b\x94\xb0\xf3\x8d\x3b\xc5\xc9\x91\x62\x77\x0e\xbe\x4b\x31\xf9\x73\xb6\x8f\x40\x8b\x47\x06\x79\x78\xf1\x48\xf2\x46\x93\x17\xc8\x73\x16\x6e\xe1\x92\x17\x4e\x72\xa4\x98\x8d\xac\x61\x0b\xc2\x90\x76\x22\x47\x9a\x59\xa3\x9d\x36\xc9\xb5\xc1\x42\xa8\xd6\x00\xb8\xec\x22\x81\x8a\x3d\xe4\xc8\x35\x1b\x6f\x6f\x16\xf4\x4b\x46\x39\xd2\xcc\x2e\x40\xdf\x5a\xcf\xef\x1c\x32\xd2\x35\xc8\x91\x24\xd6\x80\x11\x3d\xe9\xc1\xe5\xc8\xf5\x1a\x2f\x6d\xd8\x60\x8b\x7c\x44\x94\xb7\xf6\x34\x3e\xd8\x4b\x16\xdd\x04\x53\x80\xb0\x84\xc7\x95\x87\x67\x8e\x86\x9e\x78\xc6\x2b\x89\xdb\xdd\x3b\xb4\x04\xdb\xc7\xd5\x25\x7b\x7f\x88\x2a\xb3\xce\x68\x52\xef\xe7\x48\x00\x8b\x60\x24\x5b\x25\x47\x0a\x58\x0c\x24\x75\x06\x92\xc0\x5a\xe8\xe9\xeb\x03\x39\x32\xc0\xa6\x51\x53\x74\xdc\x36\x47\x16\x58\xb8\xb8\xa9\xab\x4a\x0a\x49\xfa\x02\x39\x92\xbc\xee\xd7\x6f\x48\x61\x47\x7e\xd7\xb5\xe6\xce\x72\x32\x5a\x98\xaf\x83\xe2\x30\xb4\x03\x93\x23\xbb\x6b\x5c\x32\xa9\x55\x8c\xac\xae\x11\x94\x7a\x1f\x2e\x47\x66\x57\xad\xdd\x5c\x69\x17\x24\xf7\x32\x47\x9e\xd7\x45\xf2\x88\x21\x30\x87\xdc\x7d\x94\x04\x00\x37\x45\x7d\x71\x25\x0f\x9f\xf2\xf5\x9d\xdc\x2e\x7b\xd2\x36\x23\x69\xeb\x26\x66\x9b\xca\x68\xcf\x49\x96\xf2\xa2\xa1\x3b\x27\xdb\xac\xd1\xad\x4d\x48\x08\x52\xba\x74\x07\x6d\xe2\xd5\x80\x7c\x1d\xae\x5a\x77\x50\x4a\x07\xa5\xb5\xb4\x68\x84\xcb\xfc\xce\x81\xb9\x65\x9b\xd9\x30\x4f\x89\x44\x52\x4c\x1b\x9d\xd5\x87\x14\x30\xc4\xad\xa9\xc2\xae\x36\x00\xd9\xe0\xb1\x38\x7a\xaf\x96\x23\x47\x0c\x4b\xe4\x54\x35\x89\xeb\xef\x39\x52\xc7\x10\xc7\xa8\xc2\xfe\xeb\x64\xf9\xf5\xbc\xfc\x0b\x55\x3e\xa6\xd4\xce\x4b\x6f\xd0\x16\xf4\x16\xb2\x31\x1e\x97\xf8\x8c\x97\x6e\x99\x89\xde\x58\x5a\x26\x90\x6e\xa6\x8b\x2f\x20\xdc\xec\x9e\xe8\x1c\xb7\x9f\xe1\xfa\x36\x8d\x0c\x0f\x08\x48\x71\xbe\x65\xad\x26\x2f\x2e\xe7\xc8\x39\x8b\x60\xa4\xd3\x9f\x23\xe9\x4c\x88\xec\x8b\x20\x7d\x0d\x64\x9b\x8d\x1b\x9f\x16\x8c\xcd\x84\xa2\xbd\x92\xcd\xfd\xd6\x0f\x19\xb1\xc8\x37\xe1\x01\x1c\x35\x45\xc4\x05\x7d\xac\x9c\x23\xcd\xac\xd6\xbd\x19\x1f\x15\xa5\x1b\x8f\x3c\xb2\x3b\x6c\x26\x2b\xf7\x64\x9b\x08\x20\xe7\xc8\x23\xbb\x43\x73\xba\x86\x94\xb0\x22\x81\xec\x8e\x5c\xd3\x15\x00\xed\xc1\x20\xa3\x2c\x00\x49\x50\x7c\xbd\xfc\x64\x78\x31\x8f\x43\x8c\xc9\x26\xf5\xb2\x64\xbe\x8d\x6f\x9d\x5b\xa7\x3b\xa2\x74\x7a\x57\x9f\x6f\xe3\xfb\xe8\x78\x6b\x38\x01\xdd\x47\x50\x25\xbf\xa6\x18\xfb\x39\x32\xc7\xa6\x3a\xbb\x74\xd3\x8f\x11\xce\xaf\xc5\x04\x92\xc7\x48\xe0\x22\x21\xef\xe1\x5d\x27\xc3\x4b\x48\x3c\x40\x98\x6f\xc3\xe3\xa8\x27\x39\x68\x71\xda\x5c\x21\x5f\x4c\x18\x18\x5f\xfd\x1d\x2f\x03\x6a\xf2\x96\x67\x8e\x84\x31\xf2\xb0\x2f\x47\x8e\xd8\xe9\x94\x3e\x7d\xcc\x91\x1c\xe6\x8c\xec\x78\x79\x91\x09\x95\x83\xbc\x30\x5d\xb6\xfa\x3c\x08\x54\x2b\xcf\x54\x34\x26\x47\x4e\xd8\x0c\xb8\xb0\x11\xdd\x85\xf7\x55\x5c\xd6\xa5\xd8\xdc\x39\xb2\xc3\xae\xf2\x2c\x07\xd3\xc5\x33\xd2\x49\xde\x85\x9b\xe0\x15\x37\x74\xf3\x02\x8b\xdb\xd0\xcf\xae\xe6\xbb\x10\xf6\x37\x50\x91\x64\xae\x1c\x79\x61\xba\xa3\xdf\x0e\xcc\x91\x10\x36\x4a\x56\x0b\x6e\x30\xb8\x4a\x1b\x5a\xe3\x23\x35\xcc\x5d\x66\xae\x34\x28\xb8\x48\x4b\x5f\x2e\xc8\x91\x24\x36\xa4\x71\x52\x22\x91\x21\xb6\x7d\x79\xe9\xe8\x4e\x20\x91\xa3\xe1\x5f\xe9\x8f\x20\x47\x2c\xf0\xf6\x47\x46\x03\xf9\x35\x64\x8a\x05\xe8\xc4\x84\xa6\xb1\x8f\xd7\x01\xa6\xc7\xd0\x68\xec\xfa\x01\x3b\xb1\x9d\x69\xec\x06\x07\xbd\xec\x2d\xcd\xcd\xc8\xef\x4f\x3e\x75\x83\xdf\x4b\x42\x76\x77\x88\x95\x27\x7a\xe1\x21\x47\x6c\x00\xd1\x8d\x09\x5b\x09\xd2\xde\x22\x2d\xcc\x5f\xf4\xa5\xcf\x5e\xf2\x3d\x7f\x44\x25\x3e\x56\x04\x6d\xff\xf5\x2b\x09\x08\x6f\x5e\x36\x40\xd7\x80\x26\x54\x71\x71\xce\x9c\x24\x57\xc6\x9d\x1f\xd6\x3a\x29\x12\x2a\xe9\x30\xa3\x51\x64\x5c\x49\xf2\xcc\x2b\x47\x92\x18\x94\xe4\x71\x7f\x1e\x9e\x6f\xba\xbf\x02\x93\xda\x2b\x22\x5b\x4c\xe8\x52\x42\x47\xb7\xfd\x10\xfc\xaf\x92\x5c\x0d\x48\x0d\xab\x46\x3e\xed\xf4\x8b\x34\x24\x2e\x3c\xd3\x4d\xfa\x2a\x48\x0e\xeb\x8c\x2e\x7b\xe1\xb2\xba\x27\x9f\x1e\xcb\x91\x25\xd6\xc8\xf7\xd4\xf9\x72\x8e\x5c\x31\x2b\x8c\x2c\x68\x04\x52\xfb\xf9\xe0\x54\xa6\x75\xfc\xa1\xf8\x88\xa3\x25\xe9\x10\xbd\x5d\xb9\x54\x61\xf9\x01\x96\xa8\x2f\x9c\xae\xf8\xf7\xcc\x0a\xf2\xfd\xdf\xfc\xf8\xf2\x01\x67\x13\xa6\x00\xb9\x60\x35\xb7\x35\xfd\x9a\x70\x8e\x34\xb0\x42\xf5\xe0\xb4\xa6\xe3\x74\xc8\x02\x0b\xa0\x8c\x9c\xd1\xf0\x82\x13\x18\x01\xf4\x64\x22\xe1\xeb\x24\x9d\xe2\x74\x25\x78\x7c\xd7\x15\x70\x4a\x5d\xf6\xcc\x91\xe6\x75\xed\x2a\x6d\x1a\x72\x75\x45\x44\x2f\x49\x9b\x1e\xe4\x77\x79\xc6\x15\x57\x19\x17\x22\x11\x2e\x40\x9a\xd7\x9d\x2e\x97\x5a\x62\x48\xf7\x7a\x78\x2f\x93\x9e\x74\xa4\x73\x15\x4a\xd2\xde\x29\xb2\xb5\xa6\xc3\xfb\x12\xa6\x8b\x6f\x09\x53\x87\xcc\x2d\xff\x46\xf5\x90\x65\xb4\x4a\xbe\xa8\x95\x87\x77\x9c\x0c\x97\x8a\x16\x5f\x24\x72\x71\x6b\xa5\x1d\x7d\x2c\x35\x38\x64\xed\xc8\x06\xbf\x59\x07\xf4\xe0\x23\xad\x8b\x5b\x35\x59\xf6\xce\x80\x7b\x78\x05\x91\x8f\x8c\x79\xde\x4e\x8f\x94\x21\x9f\x89\x82\xcf\xab\xc6\x87\x25\x80\x57\xed\x7d\xb6\xbc\x27\x3d\xf8\xbb\xd5\x18\xf9\x7b\xf8\x5a\x49\x3f\x05\x99\x23\x57\xec\xa4\x24\x79\x97\x34\x47\x9e\xd8\x08\xc8\xe8\x26\xa1\x2f\x25\x4f\x8f\x4f\x3d\xce\xfa\x46\x96\x0d\x14\xea\x6b\x96\x76\x62\x90\x39\x76\x91\xbc\xa4\xcd\x12\x3f\xc6\x88\x05\x2f\x12\x09\x64\xb6\xe5\x5d\x74\x42\x3e\xc7\x14\x73\x4c\x76\x4a\x1d\x36\x20\x97\x2c\x20\x17\x3e\x8c\xf7\x2e\x03\x4f\x8e\x44\x85\xe7\xa3\x8c\x75\x59\xfc\x78\xd0\x0c\x86\xfc\xb2\x9b\xe6\x74\xc3\x90\x5f\xe6\x6a\x68\x40\x5a\x5a\xba\xc3\xf3\x51\xd1\x53\x39\x33\x55\xfe\xf4\x98\xbb\x14\x25\x44\x46\x5a\x35\x63\x75\x8c\xbf\xdd\xb1\x60\x26\x8b\x68\x6b\x69\x6b\x7e\x4e\x68\x0a\x64\xa8\xdd\x7f\x7d\x83\x66\xc8\xe4\xc8\x54\x9b\x01\x13\x75\xa2\xec\xc9\x96\xbe\x48\x9d\x07\xae\x5a\x59\x1a\xb0\x36\xf5\xa8\x7c\x8e\xf4\xb4\x18\x97\xf8\xa6\x17\xbf\x8b\x78\x60\xae\x62\xd1\xc4\xf1\x6f\x8e\x94\xb5\xb1\xe0\x7c\x03\x1d\x17\x4d\x7c\x55\x44\xe1\xd2\xb4\xb1\x46\x36\x5b\x04\x4b\xd4\x17\x3f\x86\x42\x22\x90\xce\x26\xcb\xac\xe0\x09\xc7\x0d\xc9\x6c\xa5\x19\x0d\x50\xe6\x7f\x38\x32\xee\x9a\x2c\x93\x03\x82\x1c\xb7\x87\xd2\xf3\xa1\xf1\xe5\x13\x6d\x5c\xa3\xa9\xd2\xb4\x85\x0c\x8c\x37\x03\x9e\xd7\x25\x78\x43\x7a\xe9\xc8\x60\x1b\xf6\x62\x89\x9b\x38\xb9\x08\x4f\x79\x82\x69\xa6\xe7\x7f\xe6\xe1\xd2\x28\x23\x91\x9c\x0c\x9b\x8a\xfd\xc7\xba\xd7\xa9\x4a\xfe\x7d\xf8\x54\x1c\x3e\x56\x97\xa7\xaa\x4b\x45\xa6\xc4\xf1\x63\x25\x2c\x55\xc9\x42\x38\x55\xf0\x8f\xf5\xbc\xa4\xea\x49\x86\x55\xc3\xc3\x68\xb5\xbe\x26\xbe\x83\xce\x08\x77\xb5\xeb\x67\x3c\x53\xcb\xb6\xf1\x9f\x45\xe2\x40\x17\x19\x70\x9d\x2e\x45\x42\x2f\x23\xf5\x6d\xba\xe5\x93\x35\xfc\x5d\x36\xf2\x2b\xb9\x3c\x90\xe0\x86\x50\xd9\xa6\xa1\x6c\x06\x35\x60\x9d\xa6\xad\x50\x19\x9e\xfe\x1f\x76\xd2\x06\x84\x8b\x9f\x5f\x7e\x8a\x2a\x89\x7f\x86\x67\x5e\xc5\x9a\xac\x62\xbe\xf0\xe2\x4a\xe8\xd5\x87\x7c\xb7\x82\xb7\x65\x6a\x59\x21\xd5\xed\x64\x38\x79\x6c\x86\x64\x37\x70\xf4\x21\x34\x12\xdb\x64\x53\x92\xde\x36\x32\xd8\x0c\xbf\x80\xa2\xe3\x00\xc8\x54\x03\x30\xa9\x39\x45\xa6\xda\xf8\x06\x82\x48\x9c\x04\x97\xc1\xa7\xd0\xd7\x4a\x25\xed\x5c\x78\x59\xad\xef\xc0\x8c\x8c\x5c\x72\x81\x22\x5d\xed\xda\x2d\xc5\x8b\x90\xb1\xd6\x00\x38\x3a\x9a\x3f\xd2\xd5\xac\xc9\x74\xab\x6e\xc4\x4f\x79\xf9\xdf\xf0\xea\xde\xf1\x17\xc3\x86\x7f\xe2\x4f\x6c\xe2\x4f\x88\xbe\x66\x43\x6a\xb8\xa8\x58\xcb\xb2\x84\xf6\x6d\x7c\x82\x71\x10\x8e\x4f\x2f\x4f\x2b\xff\xdf\xcf\xf8\x2b\x9c\x2f\xe1\xa3\x59\xa5\x45\x6f\xc7\xe7\x05\xb9\x18\x1c\xec\x27\x22\x67\xfc\xd7\xbd\x79\xd6\x71\x27\x85\x6f\xdc\xf8\x53\xaf\xbe\x75\xe3\xbf\x7d\xa3\x5e\xee\x2d\x1a\xfc\xca\x42\xc1\xd4\xa4\x01\xf3\xfd\x0f\xff\x11\x00\x00\xff\xff\xdc\x38\xf5\x02\x18\x79\x00\x00") - -func uiAppLibFontAwesome470CssFontAwesomeMinCssBytes() ([]byte, error) { - return bindataRead( - _uiAppLibFontAwesome470CssFontAwesomeMinCss, - "ui/app/lib/font-awesome-4.7.0/css/font-awesome.min.css", - ) -} - -func uiAppLibFontAwesome470CssFontAwesomeMinCss() (*asset, error) { - bytes, err := uiAppLibFontAwesome470CssFontAwesomeMinCssBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "ui/app/lib/font-awesome-4.7.0/css/font-awesome.min.css", size: 31000, mode: os.FileMode(420), modTime: time.Unix(1, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -var _uiAppLibFontAwesome470FontsFontawesomeOtf = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\xfa\x79\x7c\x93\xc5\xfa\x07\x0c\xcf\x34\xc9\x9d\x74\x26\x4b\x97\xa4\xd2\x26\x77\x02\xc8\xa2\xb2\xb5\xd9\xda\x0a\x28\x50\x16\x05\x41\xc4\x88\x2c\xc2\x4d\xda\xa6\x4d\x68\x9a\x84\x24\x5d\xa1\x74\x87\x42\xa0\xd0\x36\xa5\x94\x52\x5a\xa0\x2a\x9b\x2c\x82\xe0\x7a\xac\xc7\xa3\x22\xb8\x13\x3d\x8a\xfb\xf6\x73\x45\x3d\x1e\x74\xd2\x4c\x8a\xef\xe7\x4e\xc0\xa3\xef\xf3\xc7\xfb\x7e\x1e\x42\x73\x5d\x33\x99\xb9\xbe\x33\xd7\x5c\xdb\xe4\xce\xbd\x16\xcb\xbd\x00\x81\x3a\x20\x00\x23\xf3\xe6\xce\x1d\x99\xeb\xfb\x2a\x1b\x00\x70\x0c\xc0\xc8\x73\x73\x16\xcf\x5c\x02\x58\x70\x0b\x80\xd4\x09\x00\xc8\xbc\xf7\xfe\x29\xfa\x16\x7d\xf5\x6a\x00\xe9\x5e\x00\xc0\x9a\x82\x52\xab\x07\xbe\x72\xc0\x02\x20\x8d\x02\x20\xd0\xd8\x6d\xd6\x42\xf1\x9e\x9f\x8f\x01\xf8\xc7\x08\x00\x80\xd9\x6e\xb7\x59\x15\x02\x74\x06\xc0\x3f\x16\x03\x00\xc6\xd8\x4b\xfd\x95\xf3\x27\xdc\x74\x1e\xc0\x3f\xfc\x00\xa0\xef\x4b\xad\x95\x9e\x84\x17\x16\x03\x90\x80\xd6\x00\x00\x18\x97\xb5\xd4\x76\x47\xd2\x98\x9b\x41\x02\xb2\x03\x20\x94\x79\xdc\x3e\x3f\x10\x00\x00\x12\xe4\x95\x00\x80\x91\x10\x08\x05\x00\x42\x28\x9d\xeb\x76\xf9\x67\x56\xd8\x7c\xee\x52\x1b\xdf\xce\x0b\x27\x81\xc8\x9b\x30\xf2\x56\x42\xe4\x2d\x41\x38\x5d\x18\x90\x0a\x02\x52\xe1\x56\xda\xa9\x49\x84\x1a\x06\x8a\xb4\xfd\xe0\x81\x3a\xf3\x1f\x81\xc0\x9f\x8c\x54\xac\xd1\x9f\x53\x68\xf4\x9f\x26\x1f\x67\x01\xfc\x4c\x96\x92\x70\x36\x01\x40\xc0\x00\x0c\x92\x41\x3a\xd0\x82\xd1\x60\x22\xc8\x04\x46\x30\x0d\xdc\x01\xe6\x80\x79\x60\x21\xb0\x80\x87\x00\x07\x6c\xc0\x0e\x4a\xc1\x3a\x50\x05\x6a\x40\x3d\xd8\x0e\x3a\x41\x0f\xe8\x07\x47\xc1\x29\xf0\x24\x18\x04\xff\x02\xe7\xc1\x3b\xe0\x23\xf0\x0d\xf8\x05\xfc\x0e\x86\x21\x80\x42\x28\x81\x49\x50\x05\xd5\x50\x07\x6f\x86\xb7\x42\x23\xbc\x03\xde\x05\x2d\x90\x83\x4e\xe8\x81\xeb\xe1\x66\xd8\x09\xf7\xc2\x03\xf0\x18\x7c\x1c\x9e\x85\x4f\xc3\xe7\xe1\xbf\xe0\x79\xf8\x2e\xfc\x02\x7e\x0f\x7f\x82\xff\x85\x04\x5e\x4b\x40\x09\x69\x09\xea\x84\xf1\x09\xc6\x84\xe9\x09\xf3\x12\x96\x24\x2c\x4f\x28\x4a\x70\x27\x54\x25\x6c\x4a\xd8\x91\xd0\x9d\x70\x30\xe1\x78\xc2\xd9\x84\xc1\x84\x57\x13\x42\x09\x9f\x25\xfc\x92\x70\x35\x21\x9c\x10\x15\x08\x05\x32\x41\xba\x40\x2b\x18\x27\x98\x28\x30\x08\x72\x05\x79\x82\x7b\x05\x4b\x05\x05\x02\xb7\xa0\x5a\xb0\x45\xb0\x47\x70\x50\x70\x42\xf0\xac\xe0\xbc\xe0\xa2\xe0\x4d\xc1\xbf\x05\x5f\x09\xfe\x2b\x88\x0a\xc5\x42\xb9\x50\x2d\x1c\x2d\x9c\x22\x34\x09\xa7\x0a\xe7\x0a\x17\x0b\x1f\x10\xae\x10\xda\x84\x3e\x61\x8d\xb0\x49\xb8\x4d\xd8\x2e\xdc\x2d\x3c\x28\x7c\x44\x78\x58\x78\x4a\xf8\x84\x70\x50\x78\x41\x78\x49\x78\x59\xf8\xa5\xf0\xaa\x88\x11\xa9\x44\xe3\x44\x13\x44\x59\x22\xb3\x68\x9a\x68\x8e\xe8\x5e\xd1\x83\x22\x4e\x64\x17\x95\x8a\xd6\x89\xca\x45\x1b\x44\xb5\xa2\x46\xd1\x76\x51\x9b\xa8\x47\x74\x40\x34\x20\x7a\x44\x74\x5a\xf4\xac\xe8\x05\xd1\xcb\xa2\x8b\xa2\x90\xe8\x0b\xd1\xaf\xa2\x61\x26\x81\x91\x32\x4a\x46\xcb\xdc\xca\x64\x32\x46\x66\x3a\x33\x9b\x59\xcc\x2c\x63\x1e\x62\xac\xcc\x5a\xa6\x8c\xa9\x67\x9a\x99\x6d\x4c\x90\xe9\x66\x0e\x32\x47\x99\xa7\x98\x97\x98\xd7\x98\x7f\x33\x9f\x32\xdf\x30\x57\x98\xff\x30\xd7\xc4\x8c\x58\x2e\xbe\x49\xcc\x8a\x6f\x11\x4f\x14\xeb\xc5\x66\xf1\x3c\xf1\x72\xb1\x5d\x5c\x25\x6e\x14\xb7\x8a\x77\x89\xfb\xc5\x8f\x8a\x1f\x13\x9f\x16\x3f\x2f\xbe\x28\x7e\x57\xfc\x99\xf8\x1b\xf1\x15\xf1\xaf\xe2\xa8\x44\x2a\x51\x4b\xc6\x4a\xb2\x24\x66\xc9\x54\xc9\x1d\x92\x39\x92\x85\x92\x07\x24\x05\x92\x12\x89\x5b\x52\x29\xd9\x2c\xe9\x94\x74\x4b\x0e\x48\x0e\x49\x8e\x49\xce\x49\xfe\x29\xb9\x28\x79\x53\xf2\xa1\xe4\x6b\xc9\x7f\x25\x43\x89\xe2\xc4\x11\x89\xda\xc4\x31\x89\xa6\xc4\x79\x89\x4b\x13\x8b\x13\x9d\x89\x9e\xc4\xf2\xc4\xba\xc4\x96\xc4\x9e\xc4\x63\x89\x27\x13\x9f\x4a\x7c\x3e\xf1\xf5\xc4\xf7\x13\x3f\x4b\xfc\x3e\xf1\x6a\xe2\x30\x82\x08\xa3\x14\x94\x81\xc6\xa1\xdb\xd0\x24\x94\x89\x0c\xc8\x8c\x72\xd1\x34\x74\x27\x9a\x85\xe6\xa2\x7b\x11\x87\x0a\x50\x19\x0a\xa0\xdd\xe8\x30\x7a\x0c\x9d\x42\xcf\xa1\x7f\xa1\xf3\xe8\x6d\xf4\x31\xfa\x0a\xfd\x07\x45\x30\xc0\x02\x2c\xc6\x2a\xac\xc6\xe3\xb0\x09\xcf\xc2\xf7\x61\x2b\x2e\xc2\xa5\xd8\x8f\xab\x70\x1d\x6e\xc6\x3b\x70\x27\xee\xc1\x7d\xf8\x61\x7c\x08\x1f\xc3\xa7\xf1\x59\xfc\x24\x7e\x0e\xbf\x88\x5f\xc1\xef\xe2\x0f\xf0\x4f\xf8\x57\x29\x90\x0a\xa5\x49\x52\xa5\x74\x94\x74\xac\xf4\x56\xe9\x24\x69\x96\xd4\x24\xcd\x95\x4e\x97\xce\x94\xde\x25\xbd\x47\xba\x58\x6a\x91\x2e\x93\x3e\x24\x5d\x23\x2d\x94\xda\xa5\x4e\xa9\x47\xea\x97\x56\x4a\x37\x48\xeb\xa4\x9b\xa5\x01\xe9\x0e\x69\x87\xb4\x4b\xda\x23\xed\x93\x1e\x94\x3e\x2a\x3d\x2a\x3d\x21\x3d\x2d\x3d\x27\x7d\x46\xfa\xbc\xf4\x65\xe9\xeb\xd2\xb7\xa5\xef\x4a\x3f\x90\x7e\x2c\xfd\x5c\xfa\xb5\xf4\x3b\xe9\x15\xe9\x7f\xa4\xbf\x49\x87\xa4\xc3\x32\x28\x93\xc8\x14\xb2\x34\x59\x86\x4c\x2b\x1b\x2b\x9b\x28\x33\xc8\xb2\x65\x53\x65\x77\xca\xf2\x64\xf3\x64\x0b\x64\xf7\xca\x96\xca\x56\xc8\x56\xcb\xf2\x65\x45\xb2\xb5\x32\x97\xcc\x2b\x2b\x97\x55\xcb\x36\xca\x1a\x64\x9b\x64\x5b\x65\xad\xb2\x4e\x59\xb7\xac\x57\xb6\x5f\xf6\xb0\xec\xb0\xec\x31\xd9\x29\xd9\x13\xb2\xa7\x64\xcf\xc9\x5e\x90\xbd\x24\x7b\x55\xf6\xba\xec\x6d\xd9\xbb\xb2\x0f\x64\x1f\xcb\x3e\x97\x7d\x2d\xfb\x4e\x76\x45\xf6\x1f\xd9\x6f\xb2\x21\xd9\xb0\x1c\xca\x45\xf2\x44\xb9\x4c\x9e\x2c\x57\xc9\xd3\xe5\xac\x7c\x94\x7c\xac\xfc\x56\xf9\x24\x79\x96\xdc\x24\xcf\x95\x4f\x97\xcf\x94\xcf\x91\xcf\x97\x2f\x92\x2f\x91\x2f\x95\xaf\x90\xaf\x96\xe7\xcb\x8b\xe4\x6b\xe5\x2e\xb9\x57\x5e\x2e\xaf\x96\x6f\x94\x37\xc8\x37\xc9\xb7\xca\x5b\xe5\xed\xf2\x5d\xf2\x3d\xf2\x7d\xf2\x03\xf2\x47\xe4\x47\xe4\xc7\xe5\x8f\xcb\xcf\xca\x9f\x96\xff\x43\xfe\x4f\xf9\xcb\xf2\x0b\xf2\x37\xe4\xef\xc8\xdf\x93\x5f\x96\x7f\x22\xff\x42\xfe\x7f\xf2\xef\xe5\x3f\xc9\x7f\x95\xff\x2e\x8f\xc8\xaf\x29\x12\x14\x8c\x02\x29\xe4\x8a\x14\x45\x9a\x22\x43\xa1\x55\x8c\x56\x8c\x53\xdc\xa6\x98\xac\xd0\x2b\xcc\x8a\xdb\x15\x77\x28\x66\x29\xe6\x2a\xe6\x2b\x16\x29\x96\x28\x96\x2a\x56\x28\x56\x2b\xf2\x15\x45\x8a\xb5\x0a\x97\xc2\xab\x28\x57\x54\x2b\x36\x2a\x1a\x14\x9b\x14\x5b\x15\xad\x8a\x76\xc5\x2e\xc5\x1e\xc5\x3e\xc5\x01\xc5\x23\x8a\x23\x8a\xe3\x8a\x27\x14\xcf\x2a\x06\x15\xff\x52\x9c\x57\xbc\xa9\x78\x4f\x71\x59\xf1\x89\xe2\x0b\xc5\xff\x29\xbe\x57\xfc\xa4\xf8\x55\xf1\xbb\x22\xa2\xb8\x96\x94\x90\xc4\x24\xa1\x24\x79\x52\x4a\x52\x5a\x52\x46\x92\x36\x69\x74\xd2\xb8\xa4\xdb\x92\x26\x27\xe9\x93\x72\x93\x66\x24\xcd\x4b\x5a\x94\xf4\x40\xd2\x43\x49\x05\x49\x6b\x93\xd6\x25\x55\x26\xd5\x26\x6d\x4a\xda\x9e\x14\x4c\xea\x49\x3a\x90\x74\x38\xe9\x64\xd2\xb9\xa4\x7f\x24\xbd\x94\xf4\x5a\xd2\xa5\xa4\xcb\x49\x9f\x27\x7d\x9b\xf4\x73\xd2\xef\x49\xc3\xc9\xc2\x64\x9c\x9c\x92\x9c\x9e\x3c\x32\x79\x7c\xf2\xe4\x64\x53\xf2\xb4\xe4\xbc\xe4\xf9\xc9\xf7\x25\x2f\x4b\xe6\x92\x8b\x92\x4b\x93\xfd\xc9\xeb\x93\x1b\x92\xb7\x24\xef\x4c\xee\x4a\xde\x97\xfc\x70\xf2\xb1\xe4\xd3\xc9\x4f\x27\xbf\x90\x7c\x3e\xf9\xcd\xe4\xf7\x92\x3f\x4e\xfe\x2a\xf9\x87\xe4\x5f\x93\x87\x52\x40\x8a\x38\x45\x9e\x92\x92\x92\x9e\x32\x32\x65\x7c\xca\xe4\x14\x53\xca\xb4\x94\x92\x94\xf2\x62\xa7\xd5\xe7\x2b\x2d\xf3\x39\x0a\x7c\x36\xab\xb7\xc0\x6e\x73\x95\xdb\x9c\x6e\x8f\xcd\x6e\xb3\x7a\xfd\x3e\xbf\xd5\xcb\xff\x71\xb6\x52\x8f\xbf\xaa\xcc\x67\xf3\x16\x39\x9c\xa5\x7e\x3b\xe7\xb4\x7a\x8b\x6d\x7e\x3b\xcf\x39\x7c\x7e\x77\x89\xd7\x56\xea\x2e\xb7\x55\xbb\xdd\xa5\x9c\xc3\x15\x23\xee\x32\xbf\xbb\xa8\xc8\xe7\x28\x76\x59\x9d\x05\xee\x62\xbf\xd7\xea\xb3\xdb\xdd\xa5\xb6\x22\x87\xd3\xc6\x59\x9d\x7e\xbf\xa3\xd4\xe6\x75\x5b\x0b\x0b\xdd\x15\x2e\xa7\xdb\x5a\xc8\xf7\xdd\xe0\xcb\x3c\xfc\xbb\xc3\x95\xef\xae\xf4\x38\xad\x55\x5c\x81\xc3\x5b\xe0\xb4\x79\x6d\x1e\x9b\xd5\xef\xb5\x15\x79\x6d\x3e\x3b\x0f\xcb\x4f\x71\xba\x0b\x4a\x8a\x9c\xd6\x62\x3e\xe5\x79\xec\x6e\x97\xcd\x57\xee\x76\x96\x95\xda\x38\x77\x51\xd1\x75\x8e\x97\x7a\x9d\x2d\xf3\xac\xf3\x16\xb8\x0b\x6d\xf9\xd6\x18\xf1\x5b\x8b\xfd\xd6\x62\x5f\xbe\xdb\x5d\xc2\xff\x95\x5a\xbd\x25\x1e\xaf\xc3\xe5\x2f\xb0\x96\xda\xbc\xd6\x22\xb7\xcb\x9f\xef\x76\x16\x3a\xfc\x56\xa7\xa3\xc0\x6f\xab\xf4\x73\x76\x9b\xa3\xd8\xee\x8f\xb1\x15\x8e\x42\xbf\xdd\xea\x74\x14\xbb\x38\xa7\xad\xc8\x1f\xe7\x0a\x6c\x2e\xbf\xcd\x1b\xe7\xbd\xfc\xd0\x38\xbb\xb6\xcc\xe7\x77\x14\x55\xf1\x6b\x76\xb8\x0a\x6d\x2e\x7f\x6c\xca\x75\x36\x36\xae\xc8\x5a\x60\xe3\x35\xc2\x95\x3b\x0a\x6d\x6e\x8f\xa3\xc0\x5f\xc6\x6f\xd7\x55\xe0\x70\x96\x5a\x3d\x1c\xbf\x32\x9b\xd7\x5a\xc8\x0b\xf2\x3b\x5c\x7e\x5b\xa1\xc3\xef\xb3\x5b\xbd\xb6\x02\xbb\xad\xa0\x84\x57\xbd\xcf\x6f\xf3\x70\xf9\xd6\x82\x92\x0a\xab\xb7\xb0\xc8\xea\xf3\xff\xd9\xb8\x41\x79\x4d\x7a\xac\x65\x3e\x9b\xcf\xef\xf6\x14\xb9\xbd\x7f\x0e\xbc\xce\xc7\x24\x5c\xe7\x6d\x6b\x6d\x05\xfe\x02\xbb\xad\xdc\xeb\x8e\x6f\xef\x06\x1f\x5b\xac\xc7\x59\xe6\xe3\xf8\x93\x2d\x75\xb8\xae\x73\xf1\xf3\x8f\xb1\xee\x92\x18\x59\x57\x66\xf3\xf9\x1d\x6e\x57\xac\xe1\x70\x15\xb9\x63\x8c\xaf\xc0\x6b\xb3\xb9\x7c\x76\xb7\xff\xfa\x8c\xf8\xd1\xba\x4b\xae\x33\xf9\x56\xd7\x75\xce\xea\xf5\xba\x2b\xe2\xaa\x8d\x71\x71\x75\xc6\xd8\x32\x4f\x9c\xf2\x07\x1b\xd3\x02\x6f\x08\x5e\x9b\xcf\x51\x6d\xe3\x8a\xca\x9c\xce\xeb\xac\xaf\xd4\xea\x74\xda\x2a\x0b\x9c\xd6\x52\xeb\x9f\x2b\x29\x76\x14\xf9\x9d\x36\x6b\x51\x91\xc3\x6b\xb3\x55\xd9\x38\xb7\xc7\xe6\xe2\x69\x81\xd3\xed\xb3\x55\x58\xbd\x2e\x87\xab\x38\x36\xd0\xe3\xb4\xba\x6c\x05\x56\xa7\xcd\x55\x68\xf5\x7a\xad\xae\x42\x77\x69\x81\xbb\xb4\xd4\xe6\xf2\x97\x5a\x8b\x5d\xb6\x3f\x35\x52\xe6\xb9\xc1\xf1\xcb\xf1\xda\xfc\x15\x36\x9b\xdf\x67\x77\x7b\x3c\xbc\xa4\x02\xab\xd7\x5f\xe4\x76\x16\xda\xbc\x71\x84\xeb\x3c\x8f\x7a\x7d\x95\xe5\x36\xaf\xdf\x51\x60\xbd\xb1\x68\xbb\xdb\xeb\xa8\x76\xbb\xfc\x56\x67\xbe\xd5\xcb\x15\xd8\xad\x5e\xbf\xbf\xc2\xe1\xf7\xdb\xbc\xb1\x55\xf1\x76\xc2\x9b\x6a\xac\x11\x37\x53\xce\x6b\xf3\x7b\xdd\x25\xb6\xaa\x02\x77\xb1\xef\xfa\x12\x7d\x7e\x7b\x59\x69\xbe\x8f\x2b\xf3\xc4\x5c\x2d\xde\xe0\xd7\xc7\x37\x63\x0e\x6d\xb7\x3a\x8b\x62\x2e\x1e\x77\xed\xd8\xc1\x95\xf9\x9d\x0e\x57\x89\xad\xd0\x11\x57\x95\xa7\xcc\x67\xf7\x38\x5c\xb6\x4a\xbf\xcd\xeb\xb2\x3a\x39\xfe\xc3\xf8\x61\xfa\xbd\x6e\x8f\xbd\xaa\xd8\xe1\xb7\x97\xe5\xc7\x86\xc6\x1d\x36\xe6\x8f\xb6\x52\xb7\x2b\xe6\x88\x31\xd3\x8c\x4b\xbf\xe1\x5c\xf1\x56\xec\xd3\xd8\xb4\xeb\x3b\xbb\xb1\xa9\xb8\xc0\x32\x17\xef\xd3\x05\x5e\xde\xc6\x79\xfd\x15\x7a\x7d\x3e\x7b\x61\x61\x7e\x99\xd3\x69\x77\x7b\x5d\xf9\x36\xa7\xb3\x80\xd7\x59\x91\xa3\xc0\xea\xb7\xd9\xad\xae\xc2\xb8\x6d\xc4\x38\xde\x5e\x62\x4c\x99\x27\x46\xf8\x3d\xc7\xed\x89\xfb\x9f\x41\xfd\xad\x23\x36\xf7\x6f\x3d\x65\x9e\xbf\x35\x79\x11\xc5\x4e\x77\xbe\xad\xc2\x6b\x73\x15\xd8\xfd\x56\x5f\x89\xaf\xc8\xe1\xf4\xdb\xbc\xf9\x5e\x87\xad\xa8\xc0\xea\xb3\xf1\x46\x17\xb7\x6c\x97\xdb\x6f\x5b\x57\x66\x75\x3a\x5c\x45\x0e\x97\xc3\x5f\xe5\xb4\xf9\x7c\xb1\x8e\x62\xaf\xbb\xcc\xc3\x6b\xb0\xc0\xe9\x2e\x2b\xcc\xb7\x59\x4b\x6c\xde\x82\x32\x7f\x81\xdb\x53\xe5\xb1\x7a\x62\xe6\xe1\xf0\xf8\xac\xe5\x36\x5e\x2f\x5c\xbe\xd3\xea\x2a\xf1\xda\xdc\xde\x42\x9b\xb7\xcc\xe9\x76\xfa\xfc\x5e\x47\x89\xcd\x6f\xf7\xba\xcb\x8a\xed\x65\xae\x42\x9b\xd7\xe9\x70\xd9\xfc\xd6\x7c\xa7\xad\xd4\x5a\xec\x28\xf0\x7b\xcb\x0a\x4a\x3c\x7c\x60\xf0\xda\x7c\xfe\x3f\x99\xb8\xc5\xbb\xdd\xc5\x4e\x1b\xf7\xa7\xd3\xfe\xa5\x5d\xea\x76\xd9\xaa\x0a\xac\x5e\x9b\x3f\xae\xa8\x18\x57\xe6\x89\xd3\x98\xa6\x62\x5c\x5c\x45\x7c\x04\x75\xf9\x7c\x6e\xaf\x9f\xff\x8b\x3b\x1f\xcf\x94\x79\x6e\xa4\x8c\xd8\xf9\x5f\xb7\xa0\x32\x57\xa1\xdb\x69\x2b\xb6\x3a\x0b\xad\x3e\x7b\xbe\xdb\xea\x2d\xbc\x6e\x9a\xfc\xa0\x1b\x56\xca\xf3\xf9\x6e\xa7\xdf\xe7\xf0\xdb\x4a\xad\x9e\xb2\xd2\x7c\xaf\xcd\xe9\xb4\x7a\xac\x3e\xbf\xcd\xc9\x83\x72\xf9\x65\xce\x7c\x5b\x65\x81\xdd\xea\x2a\xb6\xc5\x34\xc7\xdd\xc8\x11\xf1\x56\xdc\xf0\xf8\xc4\xc4\x95\xf2\x11\xcc\x6f\x77\xfb\x0a\xdc\x1e\x9b\xaf\xcc\xe1\xe7\x4f\x86\xb7\x96\x38\x62\x51\x91\xcd\x56\xe4\x76\x17\xc6\xf2\x4f\x2c\x82\xf3\xe0\x65\x0e\x67\xa1\xc3\x55\x6c\x77\xfb\x3c\x7c\x98\xb7\x96\xe6\x97\x39\xad\xae\x02\x5b\xa9\xad\xb0\xc4\xe1\x2f\xe2\xd7\x60\xf3\x72\x6b\x6d\xfe\x7c\x9b\xcd\x6b\x8f\xbb\x60\x66\x91\xad\xd0\x5d\x96\xcf\x1b\x88\x8b\xd7\x24\xaf\xa8\xbf\x75\xc4\xf4\xf5\xb7\x9e\x32\xcf\xdf\x9a\xfc\x1e\xfe\x37\xf7\x2f\x93\x6e\x8c\xfe\xdf\xb0\x42\x9b\xaf\xc4\xef\xf6\x38\xad\x1e\xbf\xdb\x13\x3b\x70\x7f\xa9\x3b\x9f\xdf\x43\xdc\xc9\xe2\x96\x1a\xb3\x97\x75\x65\x6e\x7f\x5c\x62\x9c\x8b\x49\xf4\x79\x1c\x2e\x97\xcd\xfb\x67\x06\x75\xde\x70\x5b\xab\xf3\x6f\x81\xe9\x2f\x6d\x3e\x38\xf1\x4d\x5b\xa5\x87\x77\xa1\x98\xf6\xf8\x53\x89\x0f\xf2\x95\x3a\x9c\xb6\x22\xaf\xbb\xc2\x55\x6a\xb3\x17\x5b\x4b\x6d\x1e\x6b\x61\x89\xad\x2a\x76\xc4\x7c\x22\x8e\x09\xe2\x69\xcc\xff\x6d\x5e\x5b\xa1\xdf\xe6\x2d\x75\xc4\xaa\x80\xc2\xf8\x0a\x38\xab\xd3\xf9\x67\x10\x8a\xc7\x04\xa7\xbb\x20\x1e\xa3\x63\x3e\x57\xe0\x75\x7b\xf8\xd1\x7c\x3a\x2a\x29\x73\xf1\x36\xc5\xe9\xb3\x73\xff\x12\xcb\x7d\x65\x1e\x9b\xd7\x57\xe0\x75\x78\xfc\xbe\xb2\xfc\x38\xc3\xe9\x73\x0c\x9e\xb2\xea\x6a\x5e\x37\x0e\x5b\x81\xad\xd4\xc1\xcb\xe1\xb5\xf4\x3f\x8e\x2f\x0b\x7c\x76\x87\xcd\x59\x78\x23\xb4\xc7\xf1\xf9\x74\xc0\xd9\x2a\xfd\x0e\x57\x71\x99\xc3\x67\xb7\x79\xbd\xee\x82\x12\x9b\xbf\xd4\x5a\x59\x50\xe8\xba\x11\xe0\x7d\x37\x92\xfd\xdf\x3a\xe2\xde\xf1\xd7\x9e\xff\xa5\x84\x58\x93\x3f\x46\xbb\xbf\xd4\x69\x2a\xf0\xf9\x0c\x56\x57\x81\xdd\xed\x8d\xc7\xb8\xb8\x05\x3a\x9d\x3e\x5b\x95\xcd\xe6\xe4\xfd\xdf\xe1\xfb\x4b\x02\xf8\xb3\xeb\x46\x8a\xe0\x0c\x99\x86\x58\x3d\x14\x8b\x9d\x8e\xd8\x02\xff\xcc\xc0\xb1\x73\x8a\x85\xdc\x58\x9f\xd3\x56\x6e\x73\xf2\xee\x11\xa3\x31\xef\x8e\x7d\xc8\x0f\x8d\x45\xd6\xd8\x1c\x43\x96\x3e\x9e\x40\x63\xe9\xc4\x5d\xea\xb1\xfa\x7c\x37\x0e\xfb\xcf\x43\xf7\xbb\x3d\x9c\x21\x2b\xdb\x56\xe6\x2d\xce\xf7\x94\xf9\x0a\x1d\x2e\xef\x5a\x4f\x95\xb7\x2c\xbf\xc4\x5b\x91\xef\x2f\xe0\x1d\xea\x4f\xa7\x8a\x45\x84\x7c\xfe\x84\x3d\x76\x6b\xbe\xcd\xcf\x19\xf4\xb9\x7f\xf6\xf9\xfd\x5e\x47\x7e\x99\xdf\xe6\xfb\x7f\xf6\xc4\x2c\xeb\x7a\x6f\x2c\xea\xfd\xad\xc1\x7f\xca\x19\x0c\x46\xce\x60\x30\x55\xb9\xcb\xfc\x65\xf9\xf1\x15\x5f\xe7\x2b\x1d\xae\xe2\xca\x1b\x79\xfb\xc6\xe7\xbc\xa2\x0a\xbd\x6e\x4f\xbe\xbb\xd2\xe7\xb7\x16\x94\xdc\x88\x22\x0e\x97\xcf\x6f\x2d\xf6\x5a\x4b\x8b\x9c\x8e\x82\x12\xaf\xb5\xd0\x55\x94\x95\x9d\x95\xef\xf0\xe7\x97\xf1\x0a\x8d\xeb\xb6\xac\x34\xdf\xe9\x8d\xbf\xc7\x3a\x9c\x6e\x57\xf1\x5f\xd2\xc1\x5f\x9a\x7c\x00\xfa\xb3\xc1\xdb\xc6\x5f\x9a\x71\x97\xf6\x78\x9c\xb6\x0a\x87\xab\xd0\x5d\xe1\xb3\xba\x0a\xbd\x6e\x47\xa1\xd3\xe1\x2a\xab\x2c\xf4\x3a\xf2\xf3\x9d\x36\x5f\x49\x95\xc7\x56\xe4\x2e\xf3\xfa\xd6\x95\xf1\xc1\x96\x0f\x80\xee\x22\x5b\xa9\xd5\x19\xfb\x2b\x76\xf8\xfd\x0e\x8f\xaf\xcc\xc5\x19\xcc\x66\xbe\x3c\x77\x94\xdb\xf2\xcb\x8a\xcb\x4b\x2a\x6c\x8e\x7c\xb7\x97\xaf\x22\x5c\x9c\x21\x5b\x1f\xdb\x22\x77\x63\x8f\x9c\x21\xdb\x18\x5f\xc2\x8d\x4c\xe6\x8c\xc7\x73\xce\x90\x6d\x2e\x74\xfb\xff\xda\x6d\xc8\xce\x29\x77\x94\xda\xdc\x5c\x7c\x01\x9c\x21\x27\x33\x9e\x2a\xe2\x4d\x37\x67\xc8\xd1\x73\x86\x1c\x03\x67\xc8\x31\x72\x86\x1c\x13\x67\xc8\x31\x73\x86\x9c\x6c\xce\x90\x93\xc3\x19\x72\x72\xcb\x5c\x8e\xb9\x59\x33\x33\x8b\xb2\xac\x59\x9c\x21\x57\xcf\x19\x72\x0d\x45\x59\x56\x23\x67\xc8\x35\x71\x86\x5c\x33\x67\xc8\xcd\xe6\x0c\xb9\x39\x9c\x21\x37\x97\x33\x66\xf2\xe3\xf2\x39\x63\xa6\x9e\x33\x66\x1a\x38\x63\xa6\x31\x36\x7d\x56\x16\x67\xcc\x34\x73\xc6\xcc\x6c\xce\x98\x99\xc3\x19\x33\x73\x39\x63\x56\x26\x67\xcc\xca\xe2\x8c\x59\x7a\xce\x98\x65\xe0\x8c\x59\x46\xce\x98\x65\xe2\x8c\x59\x66\xce\x98\x95\xcd\x19\xb3\x72\x38\x63\x56\x1c\x3d\x2f\x33\x4e\xb2\x38\xa3\x5e\xcf\x19\xf5\x06\xce\xa8\x37\x72\x46\xbd\x89\x33\xea\xcd\x9c\x51\x9f\xcd\x19\xf5\x39\x9c\x51\x9f\xcb\x19\x0d\x99\x9c\xd1\x90\xc5\x19\x0d\x7a\xce\x68\x30\x70\x46\x43\x7c\x01\xb3\xe3\x12\x66\x67\xc5\x09\xff\x61\x0e\x67\x34\xc4\xc5\xcf\x36\xc5\x89\x39\x4e\xb2\x39\xa3\xd1\xc0\x19\x8d\x46\xce\x68\x34\x71\x46\xa3\x99\x33\x1a\xf9\xbe\x1c\xce\x68\x8c\x4f\x98\x93\xc9\x19\x4d\x59\x9c\xd1\xa4\xe7\x8c\x26\x03\x67\x34\x19\x39\xa3\xc9\xc4\x19\x4d\x66\xce\x68\xca\xe6\x8c\xa6\x1c\xce\x68\xca\xe5\x8c\xe6\x4c\xce\x68\xce\xe2\x8c\x66\x3d\x67\x34\x1b\x38\xa3\x39\xbe\x98\xb9\x7c\xb7\x99\x33\x9a\xb3\x8b\xb2\x8a\xf8\xee\x5c\xce\x98\x9d\xc9\x19\xb3\xb3\x38\x63\xb6\x9e\x33\x66\x1b\x38\x63\xb6\x91\x33\x66\x9b\x38\x63\xb6\xb9\x28\xab\xa8\x80\x33\x66\xe7\x70\xc6\xec\x5c\xce\x98\x93\xc9\x19\x73\xb2\x38\x63\x8e\x9e\x33\xe6\x18\x38\x63\x8e\x91\x33\xe6\x98\x38\x63\x8e\x99\x33\xe6\x64\x73\xc6\x9c\x1c\xce\x98\x93\xcb\x19\x73\x33\x39\x63\x6e\x16\x67\xcc\xd5\x73\xc6\x5c\x03\x67\xcc\x35\x16\xe9\x79\x8d\xe7\x9a\x8b\xf4\xbc\xc6\x73\x73\x38\x63\x6e\x2e\x67\xca\xcc\xe4\x4c\x99\x59\x9c\x29\x53\xcf\x99\x32\x0d\x9c\x29\xd3\xc8\x99\x32\x4d\x9c\x29\xd3\xcc\x99\x32\xb3\x39\x53\x66\x0e\x67\xca\xcc\x2d\xb7\xf1\x51\xc8\x94\x95\xc5\x99\xb2\xf4\x9c\x29\xcb\xc0\x99\xb2\x8c\x9c\x29\xcb\xc4\x99\xb2\xcc\x9c\x29\x2b\x9b\x33\x65\xe5\x70\xa6\xac\x5c\xce\xa4\xcf\xe4\x4c\xfa\x2c\xce\xa4\xd7\x73\x26\xbd\x81\x33\xe9\x8d\x9c\x49\x6f\xe2\x4c\x7a\x33\x67\xd2\x67\x73\x26\x7d\x0e\x67\xd2\xe7\x72\x26\x43\x26\x67\x32\x64\x71\x26\x83\x9e\x33\x19\x0c\x9c\xc9\x60\xe4\x4c\x06\x13\x67\x32\x98\x39\x93\x21\x9b\x33\x19\x72\x38\x93\x21\x97\x33\x19\x33\x39\x93\x31\x8b\x33\x19\xf5\x9c\xc9\x68\xe0\x4c\x46\x23\x67\x32\x9a\x38\x93\xd1\xcc\x99\x8c\xd9\x9c\xc9\x98\xc3\x99\x8c\xb9\x9c\xc9\x94\xc9\x99\x4c\x59\x9c\xc9\xa4\xe7\x4c\x26\x03\x67\x32\x19\x39\x93\xc9\xc4\x99\x4c\x66\xce\x64\xca\xe6\x4c\xa6\x1c\xce\x64\xca\xe5\x4c\xe6\x4c\xce\x64\xce\xe2\x4c\x66\x3d\x67\x32\x1b\x38\x93\xd9\xc8\x99\xcc\x26\xce\x64\x36\x73\x26\x73\x36\x67\x32\xe7\x70\x26\x73\x6e\x91\xde\x9c\x59\xa4\xe7\xc7\x65\xeb\x8b\xf4\xfc\xb8\x6c\x23\x67\xca\x36\x71\xa6\x6c\x33\x67\xca\xce\xe6\x4c\xd9\x39\x9c\x29\x3b\x97\x33\xe5\x64\x72\xa6\x9c\x2c\xce\x94\xa3\xe7\x4c\x39\x06\xce\x94\x63\xe4\x4c\x39\x26\xce\x94\x63\xe6\x4c\x39\xd9\x9c\x29\x27\x87\x33\xe5\xe4\x72\xa6\xdc\x4c\xce\x94\x9b\xc5\x99\x72\xf5\x9c\x29\xd7\xc0\x99\x72\x8d\x9c\x29\xd7\xc4\x99\x72\xcd\x9c\x29\x37\x9b\x33\xe5\xe6\x14\xe9\xb3\x6d\xbc\x7d\xe8\x73\x32\xe3\x24\x8b\x33\x67\xea\x39\x73\xa6\x81\x33\xc7\xfd\x48\x9f\x63\x8a\x13\x33\x67\xce\xcc\xe6\xcc\x99\x39\x9c\x39\x33\x97\x33\x67\x65\x72\xe6\xac\x2c\xce\x9c\xa5\xe7\xcc\x59\x06\xce\x9c\x65\xe4\xcc\x59\x26\xce\x9c\x65\xe6\xcc\x59\xd9\x9c\x39\x2b\x87\x33\x67\xe5\x72\x66\x7d\x26\x67\xd6\x67\x71\x66\xbd\x9e\x33\xeb\x0d\x9c\x59\x6f\xe4\xcc\x7a\x13\x67\xd6\x9b\x39\xb3\x3e\x9b\x33\xeb\x73\x38\xb3\x3e\x66\xe2\xfa\x99\xf1\x35\xcc\xcc\x8a\x13\x7d\x9c\x18\xe2\x24\xbe\x98\x99\xf1\xc5\xcc\x34\xc7\x49\x76\x9c\xe4\xc4\xc9\x75\x29\x33\xe3\x64\x56\x9c\xe4\xc5\xc9\xec\x38\x99\x13\x23\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xb3\xe2\x40\xf1\x20\xa2\xcf\x8b\x03\xe5\xc5\x81\xf2\xe2\x40\x79\x71\xa0\xbc\x38\x50\x5e\x1c\x28\x2f\x0e\x94\x17\x07\xca\x8b\x03\xe5\xc5\x81\xf2\xe2\x40\x79\x71\xa0\xbc\x38\x50\x5e\x1c\x28\x1e\x6b\xf4\xf1\x58\xa3\x9f\x1d\x07\x9a\x1d\x07\x9a\x1d\x07\x8a\x47\x1c\x7d\x3c\xe2\xe8\x67\xc7\x81\x66\xc7\x81\x66\xc7\x81\x66\xc7\x81\x66\xc7\x81\x66\xc7\x81\x66\xc7\x81\x66\xc7\x81\xe6\xc4\x81\xe6\xc4\x81\xe6\xc4\x81\xe6\xc4\x81\xe6\xc4\x81\xe6\xc4\x81\xe6\xc4\x81\xe6\x64\x73\xe6\xdc\x38\xca\x9c\x38\xca\x9c\x38\xca\x9c\x38\xca\x9c\x38\xca\x9c\x38\xca\x9c\x39\x79\x6e\x4f\x55\x2c\xc7\x8d\x9c\x6d\x2d\xb7\x8d\x9c\x67\x75\x15\x56\x8d\xd4\x67\x66\x99\x27\x8f\x9c\xe9\x74\x8e\x8c\xd7\x9f\x23\xbd\x36\x9f\xcd\x5b\x6e\x2b\x9c\xfc\x97\x87\x05\xf0\x4a\x02\x80\x40\x0a\x56\x02\x0e\xb4\x82\x76\xd0\x05\x0e\x80\x47\xc0\x49\xf0\x31\x1c\x0d\x27\xc0\x29\xd0\x00\xb3\xe1\x54\x68\x81\xcb\x20\x07\x0b\xa1\x1d\xba\xe0\x76\xd8\x06\x3b\xe1\x29\x78\x0e\xbe\x0c\x5f\x87\x6f\xc3\x77\xe1\x47\xf0\x73\xf8\x0d\xfc\x0f\xfc\x0d\x46\x12\xb4\x09\x37\x27\x8c\x4f\x58\x9c\xe0\x4d\xa8\x4e\xa8\x4f\x38\x98\x70\x38\xe1\x6c\xc2\xab\x09\x6f\x26\x7c\x96\xf0\x55\xc2\xb7\x09\xbf\x24\x0c\x0b\x12\x04\x49\x82\xc9\x02\xbd\xc0\x2c\xb8\x5d\x30\x43\x30\x5b\x70\x97\x60\xa1\xa0\x5f\x70\x52\xf0\xac\xe0\x9f\x42\x2c\x4c\x17\x6a\x85\x63\x85\xb7\x09\x27\x0b\x8d\xc2\x1c\xe1\x0c\xe1\x1c\xe1\xa2\xd8\x77\xee\xab\x85\x35\xc2\xcd\xc2\x80\x70\xa7\xf0\x15\xe1\x4f\x42\x2a\x02\x22\xa1\x48\x22\x1a\x21\xd2\x88\xa6\x88\x0c\xa2\x9d\xa2\x2e\xd1\x7e\xd1\x71\xd1\x13\xa2\x67\x44\x83\xa2\x57\x44\xaf\x8b\xde\x16\xfd\x20\x22\x22\xca\x2c\x66\x1e\x64\x56\x33\x05\x4c\x31\xe3\x64\x6a\x99\x66\x66\x0b\x73\x9c\x39\xc7\x3c\xcb\x5c\x11\xe7\x88\xa7\x89\xe7\x8a\xe7\x8b\xbb\xc4\x7b\xc5\x07\xc5\x47\xc4\x8f\x8b\x9f\x14\x3f\x27\x7e\x41\xfc\x8a\xf8\x2d\xf1\xd7\xe2\x9f\xc5\x61\x89\x46\x92\x27\x79\x40\x62\x95\xac\x95\xb8\x25\xe5\x92\xf5\x92\x5a\x49\xb7\x64\x40\x72\x4c\x72\x46\xf2\xbc\xe4\x35\xc9\xa5\xc4\xc4\xc4\x19\x89\xf3\x13\x57\x24\x6e\x4d\xdc\x91\xd8\x97\x78\x38\xf1\x85\xc4\x97\x12\xdf\x4b\xfc\x2e\xf1\xbf\x89\x43\x89\x7f\x20\x09\x92\xc5\xbe\xdf\x9e\x8c\x6e\x47\x33\x91\x05\x95\x22\x2f\xaa\x41\x0d\xa8\x19\xed\x45\xc7\xd0\x13\xe8\x19\xf4\x25\xfa\x16\xfd\x88\xc5\x38\x15\x4f\xc5\xb3\xf0\x5c\x7c\x0f\xb6\xe0\x65\x98\xc3\x05\xd8\x81\x5d\xd8\x87\xab\x71\x3f\x7e\x18\x1f\xc3\x8f\xe3\xa7\xf0\x20\x7e\x1b\x5f\xc6\x5f\xe3\x2b\xb1\x6f\xad\x47\x4a\x27\x4b\x0d\xd2\x1c\xe9\x0c\xe9\x5c\xe9\x02\xe9\x62\xa9\x47\xba\x41\xda\x22\xdd\x2e\xed\x92\xee\x95\x3e\x22\x3d\x29\x7d\x4e\x7a\x51\xfa\x96\xf4\x43\xe9\xe7\xd2\xef\xa4\x3f\xc9\xc4\xb2\x71\xb2\x39\xb2\x42\x59\xa9\xac\x5a\xb6\x59\x16\x90\xb5\xcb\x1e\x96\x9d\x93\xbd\x28\x7b\x43\xf6\x6f\xd9\x47\xb2\xcf\x65\xff\x27\xfb\x49\xf6\x1f\xb9\x4c\xce\xca\xc7\xca\xb3\xe4\xd3\xe5\xb3\xe4\xf3\xe4\x8b\xe4\x0f\xc8\x57\xca\x6d\xf2\x5a\x79\xb7\xfc\xb4\xfc\x69\xf9\x0b\xf2\x97\xe4\xaf\xc9\xdf\x91\xbf\x2f\xff\x8f\x02\x29\x6e\x56\xdc\xaa\x98\xa4\xc8\x56\x4c\x57\xe4\x29\xe6\x2b\xee\x55\xac\x52\x94\x28\xbc\x8a\x3a\xc5\x66\x45\x87\x62\xaf\xe2\x61\xc5\x71\xc5\x69\xc5\x53\x8a\x7f\x28\x5e\x51\xbc\xa9\xf8\xb7\xe2\x43\xc5\xaf\x8a\xb0\x62\x38\x29\x35\xe9\xd6\xa4\xdb\x93\x16\x27\x3d\x90\x94\x9f\xe4\x4c\x5a\x97\x54\x9e\xb4\x21\xa9\x31\x69\x6b\xd2\xce\xa4\xce\xa4\xde\xa4\xc7\x93\xce\x26\x5d\x4c\xfa\x2c\xe9\xb7\x64\x90\x2c\x4f\x1e\x9d\x3c\x31\xd9\x94\x7c\x7b\xf2\xac\xe4\xf9\xc9\xf7\x26\x5b\x92\x8b\x93\xab\x93\xb7\x27\xf7\x24\xf7\x27\x3f\x92\xfc\x58\xf2\x13\xc9\xcf\x26\xbf\x90\x7c\x21\xf9\x8d\xe4\x4b\xc9\x97\x93\x3f\x49\xfe\x32\xf9\xb7\x14\x71\x4a\x7a\xca\x98\x14\x73\xca\x5d\x29\x2b\x52\x56\xa5\xd8\x53\x7c\x29\xeb\x53\xea\x53\x9a\x53\xb6\xa6\xf4\xa4\xf4\xa7\x9c\x4a\xf9\x67\xca\xa5\x94\x0f\x53\x7e\x4c\xf9\x4f\xca\x6f\x29\x91\x54\x94\x3a\x22\x75\x64\xea\xb8\xd4\x89\xa9\xe6\xd4\x19\xa9\xf3\x53\x2d\xa9\xcb\x52\xd7\xa4\xda\x53\x5d\xa9\xfe\xd4\x0d\xa9\x8d\xa9\x5b\x52\x5b\x53\x3b\x53\x7b\x52\xfb\x52\x1f\x4e\x3d\x92\x7a\x32\xf5\x4c\xea\x53\xa9\xff\x48\x7d\x3d\xf5\x83\xd4\x6f\x53\x49\xea\x35\xa5\x4c\xa9\x51\xde\xaa\xcc\x51\xce\x50\xde\xab\xbc\x5f\xb9\x4c\xf9\x90\x32\x5f\x69\x57\x7a\x94\x1b\x95\xcd\xca\x0e\x65\xaf\x72\x40\xf9\x98\xf2\x71\xe5\x33\xca\x17\x94\xaf\x28\x5f\x53\xbe\xad\x7c\x5f\xf9\x89\xf2\x4b\xe5\x77\xca\x9f\x94\x57\x55\x50\x25\x57\xa9\x55\xa3\x55\x53\x54\x46\xd5\x54\xd5\x9d\xaa\xb9\xaa\x7b\x54\xf7\xab\x1e\x54\x3d\xa4\xb2\xab\x4a\x55\x7e\x55\x9d\x6a\x9b\x6a\xb7\x6a\x40\x75\x5c\xf5\xa4\xea\x9f\xaa\x57\x54\x6f\xaa\xfe\xad\xfa\x54\xf5\x8d\xea\x27\xd5\x55\x55\x58\x75\x2d\x4d\x90\x26\x49\x93\xa5\xa5\xa4\xdd\x94\xa6\x49\x1b\x9f\x36\x31\x4d\x9f\x36\x3d\xed\xae\xb4\xfb\xd3\x56\xa7\xd9\xd2\x9c\x69\x15\x69\xb5\x69\x4d\x69\x5b\xd2\x5a\xd3\x3a\xd2\x76\xab\x6e\x43\x64\x26\x8a\x58\xc6\xb1\x72\x8d\xe8\x59\x8d\xb0\x49\x45\x5f\x23\xaf\x89\x4e\x16\xcd\x3c\xb2\x54\x7d\x4d\x79\x11\x69\x86\x06\x2d\x2c\x79\x9a\x1d\x74\xbe\x5b\x74\x52\x1b\x5d\x4c\x5a\x54\x7b\x9b\xf7\x36\xb4\x37\x91\xd7\xe9\xeb\x23\xda\x9b\x82\xd5\x6d\xd5\x92\xa8\x94\x09\x2b\xc9\x27\x48\x43\xc1\x62\x34\x14\x8c\x1a\x3f\x66\xb1\x6a\x14\xc2\xaa\x48\xd0\xcf\x5e\x0b\x8a\xaf\x05\x35\xc2\x41\xd5\x76\x34\x14\x4c\xdb\x8e\xc2\xca\x8b\x5f\xb3\x54\xf9\x03\xb3\x0e\x45\x95\x3f\x88\xd7\x21\xaa\x14\xe7\xb3\x7e\xf6\x3d\x56\x3c\x0e\xe1\xaa\x9a\x9a\x2a\xcc\x10\x03\x51\x11\x15\x31\xe8\xf0\x58\x56\x87\xa9\x81\xaa\xa8\x8a\x1a\x74\xf8\x4b\xa4\x11\xad\xa9\x66\x35\x91\x7e\x6a\x11\x6f\xac\x6d\xac\xdd\xa4\xdb\x54\xdb\xba\x31\x58\x4f\x42\x34\x34\x82\x30\x6c\x47\x47\x6b\x5b\xbb\x8e\x5c\x22\x97\x44\x58\x45\x8c\x44\xc7\x6a\xc2\x83\xab\xd0\x35\x4b\x31\xab\x11\xcf\x58\x81\x88\x51\x9c\x1a\x21\x12\xa4\x0b\x2b\xc5\xe4\x1c\x4a\x8d\x46\x83\xc2\xd4\xcb\x54\xc9\xa4\x46\xc9\x12\xa4\x09\x0f\x4e\x64\x23\x96\x95\xfc\x58\x52\x8f\x88\x52\x2c\x0f\x4f\xa3\x3f\x92\x1f\xa3\xd3\x30\x63\x44\x78\x22\xd2\xe2\xd5\xec\x71\x2c\xd6\x23\x1c\x6d\x8c\x8e\x8d\x8e\x8d\x36\x46\x1b\xc3\x63\xa3\x63\xc3\x8d\xe1\xc6\xf0\xd8\xf0\xd8\x70\x23\x36\xb0\x5a\x7c\x11\x51\xcb\x34\x84\x8f\xbb\x0e\xd9\xf1\x0c\x56\x87\xa7\xb2\xd4\x22\xc6\x8b\x78\xdd\x58\xee\x66\xc3\x41\x6a\x59\x84\x48\xf0\xa2\x2a\x0f\x2d\x60\xe6\xb2\xba\x05\x25\xec\x45\x06\x33\x66\x84\x99\x3b\x59\xac\x22\xf5\x2c\x1d\xa4\x2d\xb4\x85\x0e\xce\x47\xba\xa1\x60\xf4\xcc\x25\x36\x40\xb6\x22\x22\x63\x6f\x47\x0b\x26\xb2\xf8\x76\x44\x43\x4c\x55\x4d\x77\xaf\x8e\x58\xd6\x22\x6c\x42\x54\x39\x85\xc5\x0f\x22\x2d\x5e\x30\x86\xc5\xe3\x59\x6a\x19\xc3\xe2\xe3\x87\x0e\x1d\xc7\x4b\xd1\x3d\x48\x87\xcb\x11\x79\x1a\x11\x09\xd2\x62\xbe\x65\x46\x45\x08\xab\x78\x45\x6b\xa9\xf2\xba\x18\xa5\xb8\xb7\xbb\xbb\x57\x4b\x94\x4c\x6f\x77\x4d\x95\x8e\x28\x85\x4e\x16\x57\x6f\xd8\x50\x8d\x55\x63\x11\x1e\xae\x25\x59\x68\x48\x79\x02\x05\x88\xf2\xc6\x2b\x40\x94\x0b\x88\x25\x75\xf8\xad\x21\x25\xb1\xa8\x3e\x5c\x1e\x9a\xfe\xa8\x16\xab\xf6\x6e\xd8\x53\xad\x5d\xc0\xf0\x33\x75\x0b\xc4\xd5\x7b\x36\xec\xd5\x5e\x64\xf6\xee\xd9\xb3\x57\x47\x83\x24\xb4\x08\xe1\x23\x68\xd4\xe7\xa6\x5e\x84\xc9\x28\x22\xde\x87\xf0\xbf\x51\xb4\x28\x5a\x44\x6e\x41\x61\x96\x7f\x45\x59\x51\x73\x5b\x70\x73\x87\x3a\xd8\x41\xe6\xa1\xe7\x9e\xeb\x44\xf8\x3e\x64\x60\x75\x78\x03\x4b\x2c\xc2\xeb\x6f\xb8\x87\xbd\x66\xa9\x43\x11\x4b\x08\x45\x2c\xcc\xde\x3d\x1b\xaa\x7d\x6c\x33\x5a\xf2\xaf\x77\x70\x27\x4b\xce\xb1\x44\x45\x55\xc4\xa0\x1d\x0a\x8d\x63\xb1\x6a\x3c\xc2\xe2\xf1\x08\x4f\x43\x1a\xd1\x8c\x99\x08\x5f\x97\xde\x11\x24\xf3\x10\x0e\x2b\x89\x12\x8b\xda\x9a\x1b\x76\x34\xaa\x1b\x1b\x36\x37\x37\xeb\xf0\x6a\x44\x46\x30\x21\x96\x68\x56\x92\xe4\xe9\x57\xb4\xa4\x9d\x74\x88\x48\x32\x8a\x5a\x34\x74\xe4\x14\xa4\x32\x20\x5c\xc0\x06\xb0\x78\x12\x8b\x07\xd7\x9c\x5d\xaa\xc5\xdd\x35\xbd\xd8\x7e\xc8\x85\x47\xb3\x34\x88\x87\x43\xaa\x59\x6c\x44\x99\x56\x8e\xb4\xa9\x8f\x90\xdf\xd9\x48\xa8\x18\x69\xe8\xbd\xcc\x33\xf5\x5b\x3f\x9c\xa7\xa6\x41\xa6\x1e\x91\x35\x0c\x99\x33\x7c\x51\x54\xe3\x7a\xe8\x0e\x27\x29\x46\x91\x20\xf3\x25\x7b\x6d\x22\xd3\xd9\xd7\xdd\x7f\x20\xe3\x40\xc3\xc0\xe6\xfd\xda\xc8\x21\x22\x17\x1d\xdb\x71\xf0\xd1\xa3\x19\x72\x62\x27\x3f\xb2\x27\x59\x6a\x27\x33\xe8\x0c\x62\xc7\x8f\xb0\x1a\x0a\xc4\x73\x5e\xba\xef\x6d\x2d\xa6\xca\xc5\x08\x5e\xd7\xb8\x66\x68\x46\x5c\xe7\xd4\x12\x57\xba\x86\x19\x8c\xab\x3d\x1c\x12\xc6\x46\x5c\x0b\xfd\x7d\x40\x24\xf4\x26\x1b\x16\xb2\xd9\x88\x1f\x39\x17\xe9\xe4\xaa\x03\x2c\x49\x65\x49\x25\x4b\x54\x48\x8b\x07\xcf\x9e\x1d\xc4\x62\xc3\xa5\xbc\x2f\xb5\x78\xf6\x92\x25\xb3\x31\x33\x9b\xc5\xe4\x23\xb6\x8c\xc5\x55\x48\x8b\xa7\x22\xa2\x14\x4e\x45\x98\xf2\x2a\x54\xfd\x66\xfa\x7c\xd4\x7c\x56\x8b\xf3\x59\x8d\x04\xbc\xc7\x5e\x66\xbf\x46\x58\x6c\x47\x78\x28\xa8\x11\xf6\xab\xbe\x45\xf4\x73\xfa\xb9\x88\xee\x31\xa1\xa8\x72\x0a\x4b\xf6\x30\xe4\x73\xfa\xf9\xab\x08\xeb\xae\x59\xc4\x24\x18\xb1\x8c\x64\x35\xa2\x3a\x3c\x01\x4d\x62\xb1\xbf\xba\xac\xb2\x41\x47\xcb\xa2\x2b\xa3\x5b\x67\x89\xbc\x9b\x9d\xb5\xa5\x19\x55\xbb\xab\xbb\x36\x6a\xc3\x80\xfe\x6e\x8a\xb6\x88\xb6\x36\x6d\x6d\x6e\xca\x58\xb7\xdb\x77\xa8\x7b\xf7\xce\xf6\xdd\xda\xf0\x03\xa4\x0e\xab\xec\x2e\x97\x9d\x37\x66\xbb\xeb\xd0\x71\xde\x98\x79\xdb\xe7\x8d\xf9\xf8\x21\x97\x5d\x47\x95\xe2\xb0\x52\x78\x34\xb6\x5a\x7f\x24\x44\xfc\x30\x40\xfc\x98\x19\x60\x75\x58\x6c\x41\x58\x23\x06\xb1\xa8\xa3\x5d\x10\xf7\x85\x8b\x77\x22\xac\x5a\xcb\x62\x43\x5e\x1e\x79\x12\x91\x7e\xa4\x1b\x0a\x89\xbf\xbc\x74\xe9\x4b\x2d\x56\x99\x58\x4c\xa6\xd2\x04\x72\x0b\x9d\xfe\xad\x76\xcf\x8a\x8e\x65\x0f\x66\xd0\x79\x53\x68\x2e\x9d\x4a\xe5\x5a\x2a\xa4\x53\x28\xb7\x90\x96\xa8\x5d\xa5\xdb\xb7\xbb\x74\xb9\x24\x99\xdc\xbe\x9c\xdc\xad\x3e\xff\x72\x5b\xe7\x8b\xba\x4f\x16\x7f\xb7\xe6\x97\x75\x8f\x34\x1d\xda\x74\x78\x73\xcf\x96\x3d\xbb\x77\xf4\x4a\x88\x84\xdd\xb1\x6f\x63\x57\xdd\xee\xc2\x73\xdc\xe3\x8e\x4f\x24\xd8\x3b\x50\x10\xf0\x7a\xb1\x3a\xea\x08\x44\x1d\x51\x47\x06\x26\x97\x59\x18\x20\xc1\x48\x90\x04\x05\x98\x54\xb1\xa4\x05\xe1\x19\x2c\xb9\x8b\xc5\xbf\x7d\xfe\xf9\x6f\x78\x12\x4b\x94\x4b\x10\x86\x64\x3c\x12\x60\x8d\x08\xe0\xf0\xe1\x00\x79\x02\xf1\x96\x4d\x2c\x64\x24\xab\x11\xd7\xc5\x3c\x35\x75\x0f\xce\x62\x35\x91\xba\x69\xac\x9f\xcd\x44\xb8\xbb\x57\x87\x55\xce\x6b\xae\x80\x53\xbd\x61\x43\x4b\x73\x8d\x8e\xab\x76\xe7\xaf\xce\xd0\x44\x88\x78\xf5\xa3\xf9\xe7\xaa\xb5\xcd\xdd\x7b\x5a\xf6\xa8\x8f\x1c\xea\xea\x3f\xa0\x0b\x2f\x0c\x4f\x0b\x2f\x8c\x4e\x13\x95\x1f\x38\x54\x77\x44\xbd\x67\xcf\xf6\xb6\x6e\xdd\xb9\xbd\x8f\x9e\x79\x32\x43\x23\x4a\x14\x3f\xe9\x3e\xc3\xed\xd5\xb6\xd5\x6c\x68\xdd\xa0\x96\x7b\x51\x38\xf4\x2e\xc2\x53\x58\xa2\xcc\x44\x98\x04\xc8\x2a\x1c\xa8\x41\x98\x06\xe8\x2a\x7c\x19\x45\x83\xbf\xa0\xa8\x32\x6e\xbe\xe1\x60\x15\x8b\xbb\x51\xf9\xab\x2c\x66\x6e\x61\xb1\xea\x63\x44\x19\xc2\x3c\xc8\xd2\xcf\xe8\x67\xe4\x29\x74\x9e\x8d\x5a\xa6\xb0\x61\x0b\xf9\x89\x25\x4f\x21\xf2\x19\xf9\xac\x13\xe1\xf0\xda\x40\xd8\x11\xb6\x67\x60\x1a\x5c\xcf\x62\xe2\x17\x0c\x05\xc9\x6d\x28\x3a\x8d\xfe\x48\x7f\x8c\x4e\x8b\x4e\x23\x3f\xd2\x1f\xc9\xe3\x88\xfc\x18\x9e\x36\x81\xd5\x69\x22\x9f\x09\xc9\xac\x3f\x23\xa9\x0e\x47\x42\xa4\x0f\x0d\x2b\x99\x76\x36\x9c\xc0\xea\xae\x29\xc5\x74\x26\xb9\x9f\x8e\x24\x4d\xcd\x5a\xea\xa0\xab\x45\x15\xe5\xdd\xf6\x43\xea\xc8\x19\xe6\x50\xf7\xf1\xbe\x72\x1d\x75\x90\xd5\x22\xd2\xd4\x46\xee\x27\x23\xc9\xcc\x8c\x88\x52\x4c\xe6\xd0\x55\xe4\x66\x1a\xd0\x62\x55\x2f\x8b\xc7\xa3\x05\xb7\xa0\x68\x68\x36\xc2\x73\x59\x2d\x56\x91\x52\xaa\x24\x69\xd4\x40\xc7\x8f\xa2\x22\xaa\xa5\x69\xdf\x53\x86\x8c\x7d\xf9\xe5\xfe\xc3\x8f\x6a\xb7\x33\x37\x57\x2e\x1c\x4f\xa5\x6a\xd7\xba\xb6\xf6\x0a\x5d\x5d\x6b\xdd\x8e\x86\x1d\x85\x54\x34\xa2\x6b\x53\xf7\xa6\x9e\x4d\x92\x86\x87\x4f\x36\x3d\xa9\x26\x0d\x24\x81\xb8\xc9\x6a\x1d\xa6\xab\x68\x00\xab\x7e\x45\x69\x7e\x84\x2b\x11\xc9\x62\x75\x7c\xbc\x7c\x86\xa5\xa3\x70\xb0\xbd\x3d\xa8\xc3\x6f\xbf\xf4\xd2\xdb\x58\x74\x8a\xc5\x73\xee\xbb\x6f\x8e\x0e\x9b\xd8\x70\x30\xaa\xac\x65\x71\x47\x0b\x71\xb0\x94\xcf\x7e\x6d\x4d\x8d\x3b\x1a\xd4\x7c\x2a\xc0\x55\xdd\x35\x24\x8d\xe5\xcf\x9c\x28\x61\x2c\x82\x63\x72\x0a\x51\x3f\xb3\x74\xcd\xd9\x41\xdd\x51\xf2\x2b\x22\x2f\xa2\x05\x0c\x39\x82\x86\x2d\xe4\x49\x56\x1b\x56\x32\xe4\x1a\xe2\xc7\x44\x95\xcc\x11\xa4\x8b\x2a\xf9\x5e\xe2\x27\xdf\xa0\x12\x71\x3e\xd2\x2e\x98\xc6\x5e\x64\xc8\x71\x52\x1d\x16\x22\x1d\x56\x2d\x43\x9a\xc8\x0c\xc6\x90\x97\x67\xd0\x69\xe8\x0c\xd2\xc6\x92\x9b\xd9\xc5\x28\x1a\x52\x91\x14\x16\xab\xf8\x14\x78\x1f\xd2\x62\x6a\x6f\x62\x71\x6d\x57\x4f\xd3\x5e\x35\xef\x87\x41\xac\x61\xea\x30\x99\xc2\x0e\xdd\x2e\xe6\x87\x68\xa9\xf2\x73\x44\x76\xa1\x43\xc7\x75\x43\xb7\xbf\x84\xb0\x8a\x06\x5b\x11\x09\x92\xa9\x2c\xae\x64\x79\x9f\x15\x60\x1a\x20\xcf\xb2\x24\x80\xcb\x58\xe2\x64\x89\x65\xc1\x33\x88\xb7\xe9\xa1\xba\x56\xa4\x61\xea\x32\x11\xfe\xe4\x93\x4f\x72\x9e\x63\xb1\x23\x87\x2b\x2c\xe4\xea\x36\x6e\xac\xdd\x51\xc9\x3b\x58\x75\x6b\x77\xed\x9e\x6d\xdb\x02\xdb\xd4\x87\x77\x1c\xda\xf9\x48\xfb\x2f\x0f\x7f\x77\xf6\x93\x97\x25\xf5\x2f\xbe\xdc\x7c\x5e\x1d\x4e\x27\x6f\x92\x2a\x72\x02\x87\x47\x93\x5c\x32\x82\xdc\x0b\x03\x24\x97\x8c\x25\x8d\x61\x21\x49\x26\x1f\x93\x5c\x41\xe4\xd6\x21\xac\xa2\x6e\x3a\x9e\x66\xd2\x75\xd4\x41\xef\x24\x33\x88\x9d\xd8\x09\x4f\x1d\x78\xc0\x7b\x3a\x30\x30\x90\xfe\x16\x8b\xf3\xd0\x35\xcb\xf5\x54\x1e\xb1\x78\x11\x5e\x8c\x86\x94\xaa\xf0\x54\x7a\x85\x5c\x89\x4e\xa5\xcb\xe9\xfd\xd3\x68\x3a\x1d\xa5\xa5\x69\x44\x55\xb5\xcf\xbd\xd3\x5f\x9f\xee\xab\x5f\xef\x5f\x97\x11\x37\x73\x06\x67\x9c\xe3\x8d\x88\x8a\x8b\x89\x98\x21\x4a\x96\x98\xc8\x07\x2c\x5e\xd9\xc3\x04\x10\x99\x8b\x98\x58\xa0\x45\x30\x40\x7c\x48\x23\x1a\xe4\x8d\xde\x98\x85\x48\x37\x83\x5f\x67\xb5\x78\x2f\x79\x8a\xd5\x92\x10\x09\x89\xda\xda\x5a\x83\x1d\x19\x58\xdc\xd2\xbe\xb9\xad\xb9\x6d\x78\xc5\xd0\x8a\x11\xde\x81\x8a\x06\x7b\x06\x56\x91\x5b\x59\xd2\xc5\xde\x8f\xf0\x63\x68\x12\x5f\x11\x04\xca\x1b\x58\x4c\x8f\xd3\x6a\x5a\x4d\x8f\x63\x12\xd8\xc9\x62\xd5\xed\x88\xfa\xa9\x9f\x21\x6f\xb3\xc4\x4f\xfd\x62\xf2\x26\x4b\xfc\xc4\xcf\x60\xd5\xdb\x08\x67\xa1\x1f\x70\x2b\x7b\x2d\xc4\x64\xa3\x48\xa8\x95\x8d\x69\xfb\x43\x84\xc3\xc1\x34\x22\x67\xb5\x01\xf1\x7c\x56\x17\x0d\x86\x83\x2e\x16\xd3\x77\xe8\x2e\xba\x8b\xbe\x43\xdf\x21\xbb\xe8\x2e\xf2\x0e\x79\x87\xec\x22\xbb\xc8\x3b\x58\x35\x81\xd5\x62\x72\xe6\x28\xf1\x93\x16\xf2\x6c\x06\x2e\x65\x89\x12\x57\xb1\xf2\xdf\xa6\x12\xb4\x52\x4b\x73\xa8\xf2\x28\x4d\xca\x20\x4f\xa3\x77\xfe\xf5\xc2\x6f\x5a\x4c\x82\x24\x18\x37\xd8\xef\x11\x51\x0a\x30\x51\xf2\x6d\xa2\xc4\x76\x17\xb9\x83\xc5\xaa\xae\xdd\x81\xbe\xda\xdd\x1b\xbb\x2a\x02\x1b\x6b\x69\x90\x06\x47\xd4\x6e\x0c\x54\x74\x6d\x94\xfc\xaf\x0a\x0c\x92\xa0\x08\x2f\x60\x3f\x40\x98\x99\xce\x62\xed\x04\xe2\x67\x96\x21\x0d\x9d\xb1\x8a\xb7\xd8\x62\x56\x23\x1c\x5c\x81\x88\xff\x07\x31\x16\x2f\x5d\xb3\x66\xa9\x2e\x1a\x22\x53\x11\x8e\xa8\xc8\x54\x15\x85\x0c\x5d\x43\x9e\x25\xf7\x90\x3e\x11\x49\x26\xd3\x68\x27\x43\x47\xd2\x4a\xaf\x75\x53\xd3\xe6\xa6\x2d\x4d\xe9\x2d\x0c\xfe\x18\x2d\x7f\xee\x41\x16\xab\x7e\xe2\x03\x32\x5f\xa2\x10\xc5\xb8\x5f\xa8\x42\x8b\x55\x97\x11\xde\xb8\x31\x50\xb1\x7b\x23\x9e\xc1\x97\x82\x2a\xf2\x11\x8b\xc5\x44\xc0\xe2\x0f\xf8\x0d\x93\x5d\xec\xe7\xa6\x51\x58\xd5\x7f\x51\xd4\xdb\xb6\xaf\x7b\xaf\x3a\x7c\x95\xe9\xed\xac\xa9\x6a\xd6\x95\x2f\x10\x55\x35\x57\xd6\x54\xab\xa3\x57\x99\xaa\xfa\xee\xde\x36\x1d\x76\x21\x7e\x86\x32\x40\xb6\xb1\x98\x58\xd8\x6c\x16\x7b\xbd\x81\x82\x01\x2f\xde\xbd\x3b\xd0\xb7\x71\x37\x2e\x46\x9a\x48\x1d\xc3\x67\x3f\x9d\x26\x52\x47\x76\x22\xbe\x8a\x59\xbe\x7c\x1e\xc2\x64\x27\xdd\xb9\x18\xd1\x9d\x64\x27\xde\xbd\xb1\x2f\xb0\x7b\x77\x3a\x56\x85\x6f\x23\x9f\xd0\x4f\xa2\xb7\x45\x6f\xa3\x7f\x52\xf2\x49\xf8\x36\xbe\x9f\xa7\x3a\xac\x9a\x8e\x30\x31\x92\x6f\xd8\x68\xe8\x22\xa2\x46\x2c\xaa\xed\x6a\xee\xd9\x9b\xb1\xb7\xad\xa7\xab\x4b\x8b\xc9\xad\x48\x8b\x27\xb3\x33\x58\x4c\x5a\xc8\x20\xb9\x85\xc5\xcd\xed\xe4\x55\x16\x93\x95\x48\x87\x89\x1d\x69\xb1\xa8\xa5\xa3\x63\x4b\x87\x7a\xd7\xae\xd6\x9d\x41\xdd\xde\xce\xae\x9e\xd6\x7d\x24\xb8\x18\x8d\xd8\x31\x50\x7f\xb0\x7c\x8f\x04\x13\x0b\xd9\xc8\x56\xb3\xd1\xd0\x18\x16\x93\xb5\x6c\x00\x4d\x60\x62\x93\x05\x24\x89\xc5\xe1\x69\xe4\x47\x3e\x76\xeb\xe4\x7c\x41\x81\xef\x46\x61\x25\x35\x92\x66\x16\x6b\x84\x9f\x91\xd8\x3d\x05\xe7\xa1\x1b\x35\x8b\x97\x6f\x68\x22\x83\x4c\x36\x5f\xda\x79\x11\xce\x47\x74\x14\x26\xe6\x13\xd7\x7d\x08\x93\xf7\x79\x6d\xf7\x6a\x89\x85\xe9\xed\xc6\xc7\xc8\x1c\x16\x8f\x24\x14\x0d\x85\x2e\x06\x88\x32\x25\x70\x9a\xaf\xa4\x48\x30\x0c\xd9\x54\x3b\x26\x86\x8f\xa6\x6c\x6e\xd5\x05\xeb\xb6\xad\x6f\xac\x5d\x3a\x7d\xc4\xa6\xc6\x86\x4d\xf5\x5b\xeb\xb7\x36\xec\x68\x6a\x97\x04\xb0\x2a\x44\x5c\xed\x7d\xdb\xf6\xb4\x76\xa5\xb7\xf6\x89\x76\x30\xcd\xdb\x9a\xb7\x35\x6a\xbb\x1e\xba\x44\x5d\xa2\x61\x29\xce\x20\x57\x56\xa9\x68\x02\x4d\x20\xb1\xbf\xf8\x8b\x26\x10\x48\x13\xc4\x24\x17\xbf\x14\x73\xd9\x72\x56\xfe\xf0\x81\x9e\x83\x9d\xba\xce\x03\x9b\x1e\xad\xec\xc5\xb5\xb5\xeb\x9b\xab\xd5\xd5\xeb\xdb\xba\x6a\x75\x58\xbc\x0c\x61\x7e\x51\x44\x89\x0f\x93\xbc\x15\x24\xfb\x56\xa2\xe0\x6b\xcf\x11\x34\x63\x36\xc2\xd4\x12\x0e\xa9\x7a\x6b\xba\xab\xb4\xd4\x92\xc3\x12\x0b\x83\xf3\x10\xb5\x30\xd9\x88\xf0\x81\x86\x04\xe8\x2a\xb2\x8a\x06\x56\xf2\xe1\x90\x34\xf2\xb7\x29\xfc\x33\x0a\x2b\x31\xd9\xc2\x1e\xc2\x64\x90\xb4\x60\xd2\x8f\xf8\xfa\x05\x67\xb3\xf2\x14\xde\x29\xc2\x37\x91\xd3\xf4\x01\x22\x25\xbb\xc9\x19\x5a\x44\x64\xa9\xc3\x33\x34\xc2\x47\x71\x7f\x29\x1b\x20\x6d\xb1\x1a\x3f\x48\x46\xb2\xf8\x22\xaf\xdf\x69\x08\x0f\xad\x18\x5a\xd1\xd6\xb6\xa3\xad\xb5\x3d\x1d\x0f\xaf\x18\x5e\xd1\xdc\xbc\xb9\xb9\xa5\x29\x1d\xb7\xb0\xeb\x59\x4c\x95\xb3\x10\x1e\x18\x08\x9c\xf6\x0e\x60\xef\x40\xe0\xf4\xc0\x00\xae\x6e\x5f\xdf\x55\x8b\xc9\x5b\x68\x02\xd2\x11\x0b\xc2\xaa\x69\x1f\xad\x20\x09\x44\x9e\x41\xe4\xcf\x92\x84\xcb\x1f\x69\x2f\xdf\xfe\x2c\x4d\xa0\xf2\x0c\x7c\x68\x5f\xc7\xe9\x8a\xc3\x74\x16\xd9\x3d\x62\xcf\xa9\xd3\xc1\xb3\x6a\x32\x9b\x8c\xa1\x63\xe8\x6c\x9c\x16\xd8\x4c\x36\xd1\x5b\xc8\x74\xed\x1a\x86\x68\xa8\x7d\x0b\x5d\x11\xc8\x08\xb4\xd0\x9d\xf8\x7b\x36\x16\x04\x3e\x66\x23\x96\x99\x08\x33\xef\xf3\xd5\x46\x38\x98\x89\xf0\xde\x9e\xf6\xae\x2e\x1c\xab\x03\x71\xb4\x21\x3a\x2e\x3a\x2e\xda\x10\x6d\x08\x8f\x8b\x8e\x0b\x37\x84\x1b\xc2\xe3\xc2\xe3\xc2\x0d\x58\xd7\x59\x5b\xd7\xbe\x5e\x4d\x9f\x5a\x4a\x7f\xa6\xe5\x34\xfb\xf7\x09\xc4\xa8\x1b\xba\xc6\x60\xbd\xb8\xaf\xaa\x6b\x9d\x27\x83\x8f\x04\x7c\x5e\x7c\xa4\xeb\xe1\xbe\x5e\xed\x57\x62\x3c\x1f\x91\x7a\x16\x93\xe5\x48\x2e\x5e\xf8\xdc\xf2\x57\xc9\x7e\xa4\xc5\x35\x61\x01\xea\xe6\x03\xd2\x1d\x08\xc7\x2e\x20\x3a\xcc\x57\x9a\x58\x54\x55\x55\xef\xf5\x66\x78\x3b\xbd\xbd\x55\x5a\xac\xf2\xf8\xfd\x1e\xed\x38\xc6\xe3\x3f\xf0\x88\x0e\x67\xb1\x34\x68\x42\xd8\xdf\x55\xde\x57\xab\xdd\xd4\xb9\xab\x65\x97\x7a\x17\x66\x62\x45\x04\x0e\xa7\xb0\x6d\xe4\x07\xd4\x5c\xdb\xa5\x8b\x87\xbd\x20\x09\xe2\xf0\x54\x72\x85\x5c\x09\x4f\xc5\x0c\x51\xfc\xf2\x0b\x51\xe8\x70\x38\x58\x8c\x70\x3b\x4b\xba\x10\x1e\xc3\x12\x23\x26\xbf\x91\xd3\xf4\x34\xfd\x0d\x8b\xaa\x7a\x07\xea\x07\xd4\x18\x06\x22\x41\x41\x24\x88\xc5\x1b\x59\x4c\x16\x12\x15\x11\x90\xfb\xb6\xe8\x1e\x7f\xae\xff\xe2\xc5\x8c\xee\xad\x7b\xb6\x74\x6b\x71\xff\x65\x35\xf1\xb1\xe4\x34\xf9\x0d\xdf\xf7\xd6\x6c\x97\xbf\xb9\xae\x4a\x4b\x0f\x8b\xeb\x7b\x0f\x6c\x3a\xa4\x7e\xe7\xa5\xb7\x70\x7b\x47\x47\xb0\x2d\x98\x1e\x16\x85\x1f\x11\x7d\x15\xbd\x48\xab\x88\x94\x88\xb1\x8a\xf8\x49\x33\x7f\xeb\x9c\xcb\xea\xa8\x3f\xaa\xc4\x21\x1b\xc1\x59\x59\x36\x8a\x67\xcd\x3a\x45\xf1\xd7\x5f\x9f\x22\x38\xa4\xc5\xd7\x2c\x9d\x6c\x2c\x5e\xc5\x62\x75\x20\x16\xbc\x62\x25\x87\x1e\x61\x22\xe4\xc3\x7f\x03\xab\xe5\x9d\x72\x1f\xc2\x6d\xed\x3b\x3a\x82\x19\x78\x60\xe0\x74\x60\xc0\x8b\x61\x6c\xcf\xc1\xe6\x36\x2d\x26\x77\xf3\x39\x4f\xcc\xef\xaa\xfe\xe0\xc3\x19\x03\x9d\x07\x7b\x7b\xb5\x64\x3c\x19\x27\xda\xdb\x8b\x17\xfc\x17\x61\xaa\x6e\xaf\xd8\xc3\xf5\x70\x07\x0a\x0e\xb4\x1e\x68\xdf\xdf\x21\x69\x3b\xbe\x95\x0f\x5b\x21\x62\x0c\x2b\x49\x10\x06\x88\x51\xc3\x0c\x12\xa3\x00\xf7\xf4\xb4\x75\x75\xe9\x86\x04\xe1\x1f\x45\xc1\x20\xf1\x90\x55\xa4\x29\x03\x2f\x61\xe9\x19\x12\x42\xe4\xaa\x18\x93\x79\x2c\x7f\x09\x51\x46\x2c\xaa\x65\x08\x6f\x69\x6f\x69\x6f\x6e\x6f\xda\xdd\xb4\xa7\xa1\x9b\xea\x48\xe5\x08\x7a\x28\x56\xc3\xd2\x55\xe4\x0a\x92\x8f\xcc\xd1\x30\x06\xf2\x35\xc2\x81\xb0\x84\xc5\xe2\xe3\x15\x41\xaf\x57\x8b\xc5\xf6\xbe\x86\x81\x01\x2d\x26\x62\x2a\xc6\xd4\x4e\x67\xe0\x17\xa9\x98\x6a\xce\xd3\xa9\x6a\x5a\x44\xcb\x69\xb2\x6d\x81\x0e\x3f\x54\x59\xe0\x28\xd1\x76\x95\xb7\xf9\x7c\x19\xab\xfc\x4b\xac\x7e\x2d\xce\x88\xdb\x9e\x76\xe8\x1a\x43\x8c\xbf\xff\x40\xb2\x75\x98\xa1\x8a\x71\xe3\xa8\x42\x37\x1c\x22\x1f\x22\x9c\xcd\x86\x43\x98\xc8\xd9\x23\x7c\x68\x58\xca\xc2\x00\x26\xb7\xb0\x7c\x21\x8b\x27\x21\xfe\x9a\x83\xdf\x8d\x65\x93\xd9\x64\x0c\x19\x43\x66\x63\x55\x00\xe1\x1f\xc4\x13\x11\x7e\xac\xe6\x98\xff\xa0\x16\x07\x16\xf3\xf3\xc4\xc7\xf1\x9a\xe9\xf4\x3f\xd1\x6b\x85\x19\x01\x31\xcd\x27\xa7\x72\x49\x36\x26\xb3\xe8\x6e\x51\x65\x57\x5f\x7d\xbf\xba\x6b\x77\x6b\xc7\x2e\x5d\xfc\xc4\xfe\xfa\x1f\x93\xc7\x59\x3f\x3b\x74\x86\x18\x10\x26\x5a\x52\x47\xb4\xe1\x20\xd1\xde\x49\xee\x21\x4a\xa2\xc5\xe7\x8a\x4f\x70\x5c\x71\x31\xc7\x9d\x28\x3e\x77\xee\xc4\x89\x73\x5a\x9c\x41\x84\x01\x22\xdc\x42\x84\xda\x86\xfa\x6d\x0d\x6a\xeb\x56\xfc\x02\x92\xef\xec\x6a\xdd\xdd\x9d\xc1\x5f\x94\x71\x2c\x73\xc7\xfe\x78\xaf\xe9\x64\xb7\xf0\x56\xc2\x27\xf5\x4d\xec\x6f\xf8\xcb\x4b\x79\x06\x1c\x4b\xde\xb5\xe9\x4f\xad\xea\xaa\xed\x0b\xec\xee\x4a\xc7\x44\x59\x83\x70\x34\x9d\xbe\x49\xab\xe8\x09\x6a\xfe\x2f\x1d\x4b\xcc\x93\x30\x79\x87\xee\x22\xb1\xe2\x22\x5e\x64\xe0\x77\x48\x22\xe1\xde\x23\x63\xd4\x44\xf1\x61\xc1\xb2\x5f\x74\x98\x6c\x44\x43\x96\x25\x2c\x26\x4b\x89\x9e\xe8\xc9\x52\x9e\x52\x3d\x5d\x8a\x35\xa2\x41\x06\x9f\x66\x19\x4c\x82\x34\x88\x17\xcf\x78\x41\xd7\x55\x1d\xac\xda\x55\x2d\xa9\x6b\xef\x68\xc6\xd5\x61\x80\xb4\x34\x44\x43\xa2\xe6\xe6\x16\xac\x11\xf9\x54\x64\x0a\x8b\x67\xb2\xf4\x8c\x18\xf7\xf7\x97\xb7\xb0\x78\x4b\xfd\xf6\xfa\xb6\xc6\xf4\xa6\x36\xdc\xc4\x07\xee\x76\x3e\x70\xef\xae\xed\x0b\x74\x75\xa5\x3f\xf5\x14\xbe\xfe\x95\x08\x09\xe2\x7c\x3e\x19\x9e\x21\x67\xf8\x99\xf0\xfd\x48\xb5\x20\xf2\x0a\xa6\x21\xf1\x24\x84\x55\x44\x8c\xb4\xbc\x47\xc4\x22\x98\xf0\x24\x11\x17\x31\x18\x06\xfc\xac\x00\x87\x01\xab\xc5\x54\xa5\x61\x12\x20\xa6\xca\xd3\x2c\xc4\xcc\x38\x84\x87\x43\x62\x6a\xc0\xe2\x70\x02\xc2\x1d\xc1\xd6\xb6\x36\xbc\x09\x89\x31\x15\x13\x31\xe6\x8d\x92\x2f\x17\xe7\xcc\xa3\x4c\xe5\x8a\x4e\xd7\x66\x6d\x15\xf6\xb3\x42\x4d\x04\x2c\x46\x8b\x91\x18\x77\xf5\x74\xee\xed\xd8\x27\xe9\xdb\x4e\x54\xdd\x7b\x32\x30\x61\xc9\x84\x0c\x32\x61\x31\x61\x27\xfe\xaa\x3d\x81\xa9\x52\x4c\x7e\x67\x71\x46\x77\x47\x67\x77\xab\xf6\x9b\xbe\x37\x2e\x3c\xfe\xa9\x04\x37\x36\x77\x74\x6c\xd3\xbd\x16\x9e\x28\xda\xb5\xad\xb3\x83\xdf\xd1\x66\x14\x73\xde\xcd\x08\x73\xf6\x33\xba\xd2\xc7\x0e\x54\xfe\x43\xfd\x8f\xfd\xfb\x0e\x63\x46\x8f\x48\x1a\xd2\xe1\x8e\xb6\x5d\xed\xba\x5d\x7b\x83\xbd\x5d\x7b\x25\xef\xbd\x80\x37\x21\x15\xee\x68\xe9\x50\xe3\x2d\xac\x0a\x5f\x0c\x90\x9f\x10\x3e\x80\xce\xf1\x7b\x2e\x64\xc3\x46\xf1\x71\xdc\xbd\x37\x83\x28\xc5\xc1\x1d\x1d\x6d\x6d\xda\x36\x6c\x44\xc4\xb2\x92\xc5\x74\xcd\xb5\x85\x22\xf2\x05\x43\xd6\x44\x16\x8a\xe2\x57\x71\x6a\x99\xc8\xc6\xcc\x9e\x04\x71\x74\x2a\xb9\x42\xf9\x38\x18\xe6\xef\x94\xe1\x86\xe8\xb8\xf0\xb8\x68\x03\x5f\x4a\x34\x23\x4c\x43\x31\x13\x8d\xa2\x00\x3e\x41\xc2\x2c\x7e\x9c\xe5\xaf\xca\x98\xfa\xc5\xe3\x59\x3c\x19\x8d\xe5\xa5\x5c\x24\x4a\xac\x89\xcc\x10\x63\x0f\x22\xb7\xb2\x78\x9d\x7f\xbd\xbf\x5e\x57\xef\xdb\xe9\xde\x57\x85\x75\xcd\xcd\x9b\x1b\x1b\x32\x7c\x64\x2c\x1d\x83\xff\xf7\xe5\x56\xcc\x4e\x53\xc8\x11\x16\x1b\x0c\x9b\x0d\xea\x72\xba\x60\x7b\x6b\x13\xef\x27\x27\xf9\xfa\x88\x0f\x30\x98\x79\x88\xc5\x1b\x6b\x03\xe5\xbb\x6b\x71\x3f\xf9\x18\x41\x5c\xb3\xd6\x91\xe1\xe8\xc6\xe2\x3c\x16\xd3\x19\x64\x06\xa6\x2c\xd5\xd6\xd5\x6d\xad\xec\xdc\x98\x8e\x19\x92\x87\xf8\xbb\xfc\x82\x8a\x14\x6c\x1a\x39\xca\xf8\xf9\xef\xbf\x7d\xf1\xc5\x6f\xbf\xe3\x8a\x12\x1d\xad\x16\x6f\x68\x6a\xda\xa0\xc5\xda\x89\x63\x16\x53\x96\x4e\xc8\xa0\x13\xb0\x8a\xca\x28\xa6\xdb\x98\xda\x86\x00\xd6\xb6\x36\x36\x6c\x6f\x50\x4f\x42\x37\xd6\xc7\x87\xd8\xf8\xd7\x79\x44\x89\x55\xe4\x2c\x7f\x5b\x62\x8a\x09\xc3\x60\x91\xef\xc0\xb1\x9a\xc7\xd4\x98\xd9\xdb\x53\x53\xb5\x4d\x87\x45\xbd\xdb\x7a\xba\x63\x17\xae\xb0\x88\x37\x7c\x65\x38\xa4\xc2\x03\xac\x16\x17\x51\xf1\x49\x06\x8b\xc9\xd3\x08\x0f\xf1\x9b\xa5\x37\xd3\x39\xbc\x93\x5a\xb0\x66\x68\x06\x83\xa3\xca\xb0\x12\xdf\xfa\xe0\xb9\xe3\xf9\xba\xc3\x0e\xff\x3e\x4c\x8e\x22\x7e\x36\xb9\x1f\x61\x2a\xb9\x42\x6f\x22\xc6\x65\xe4\x1f\xb8\xa2\xb4\x52\x77\xb8\x6a\x6d\x9f\x5d\x8d\xd5\x74\x04\x05\x14\xd0\x11\x3a\xac\x7a\xdc\x7d\xa0\x68\x85\xad\x70\x45\x21\x16\x3f\x88\x8a\x58\x2d\xd6\x6a\x84\x7c\xb9\xe6\xad\xf7\x55\x55\x69\xe9\x78\x3a\x0e\x93\x91\x2c\x1f\x0d\x30\xe5\xcf\x4a\xd4\xd5\xd5\x83\xa9\x92\x2a\x31\xb1\x93\x19\xb8\xbf\x1c\x06\x30\x04\x10\x00\x0c\xc1\x48\x00\x6a\x00\x68\x04\x60\x2b\x00\xdb\x01\xe8\x06\xe0\x61\x08\x8e\x00\xb8\xf9\x8f\x84\xcd\x7f\x08\x36\x9f\x4e\x78\x41\x00\xf8\xa1\x26\x00\x72\x01\x78\x11\x80\xdf\x00\xec\x00\xb0\x13\xc0\x2e\x00\xbb\x01\xec\x01\xb0\x17\xc0\x3e\x00\x4f\x03\xf8\x04\x80\x11\x90\xa0\x07\x09\x77\x83\x84\x2f\x80\x40\x02\x04\x39\x40\xd0\x0a\x04\x17\x80\x30\x1d\x08\x73\x80\xb0\x01\x08\xdf\x04\xa2\x51\x40\xd4\x03\x44\x5f\x03\x26\x19\x30\x3b\x01\xf3\x06\x90\x30\x40\xb2\x11\x24\x4a\x40\x62\x06\x48\xbc\x1b\x24\x5e\x05\x68\x21\x40\x3b\x01\xfa\x18\xe0\x3b\x01\xae\x02\xf8\x13\x20\xdd\x0d\xa4\xdf\x01\xd9\x6d\x40\xf6\x18\x90\xcf\x02\xf2\xc5\x40\xde\x0e\x14\x1b\x40\x52\x0e\x48\xce\x01\xc9\x53\x41\x72\x23\x48\x71\x82\x94\x5a\x90\xf2\x0b\x48\x5d\x05\x94\x26\xa0\xd2\x02\xd5\x71\x90\xd6\x0a\x6e\x2a\x05\x37\x75\x83\x9b\x9e\x05\x37\x7d\x0b\x6e\x8a\x80\x11\x13\xc0\x88\x87\xc0\x88\x9d\x60\xc4\x07\x20\x7d\x1a\x48\x7f\x1e\xa4\x53\x90\xa1\x00\x19\x9d\x40\x9d\x0f\x34\x93\x80\xe6\x7b\xc0\xce\x03\x2c\x07\xd8\x2a\xc0\x3e\x0c\xd8\x10\x60\x7f\x07\xec\x1f\x40\x3b\x1e\x68\xef\x00\xda\x07\x80\x76\x13\xd0\x9e\x07\x3a\x08\x74\x77\x00\x5d\x01\xd0\x45\xc0\xc8\x25\x60\xe4\x47\x60\x54\x26\x18\xf5\x2e\x18\x3d\x11\x8c\x5e\x0d\x46\x9f\x07\x37\x67\x82\x9b\xfb\xc1\x18\x29\x18\xb3\x0e\x8c\xf9\x08\x8c\xf9\x01\x8c\x15\x80\xb1\x1b\xc1\x38\x13\x18\xf7\x25\x18\x3f\x13\x8c\xff\x11\xdc\xca\x80\x5b\xdb\xc1\x6d\xf3\xc1\x84\x9b\xc0\x84\x41\x30\x51\x0b\x26\x96\x82\x89\x87\xc1\xc4\xcf\xc1\xa4\x76\x30\x39\x05\x4c\xce\x02\x93\xbb\xc0\xe4\x8f\xc0\xe4\x6b\x60\xca\x62\x30\xe5\x0a\xc8\x14\x83\xcc\x56\x90\x95\x0b\xf4\x97\x80\x9e\x02\xa3\x1a\x98\xd6\x01\xd3\x56\x60\xfa\x1d\x98\xa7\x01\xf3\x20\xc8\xce\x02\xd9\x95\x20\xfb\x19\x90\x63\x07\xb9\x11\x70\xfb\xfd\x60\x6a\x25\x98\xc6\x82\x69\x16\x30\xad\x1e\x4c\x67\xc0\xf4\x13\x60\xfa\x10\xb8\xb3\x19\xdc\xf9\x14\x98\x31\x0a\xcc\x78\x0f\xcc\x5c\x0b\x66\xfe\x04\x66\xed\x06\x79\x3d\x60\x76\x2b\x98\xf3\x28\x98\x3b\x08\xe6\x5d\x01\x77\xcd\x07\x77\x9d\x06\x77\x8b\xc0\xdd\x16\xb0\x48\x0d\x16\x75\x82\x45\x9f\x81\x7b\x47\x83\x7b\x2b\xc1\xe2\x54\xb0\x58\x05\x16\xdf\x04\x16\xa7\x83\xc5\xef\x82\x25\x93\xc0\x92\x72\xb0\xe4\x0d\x60\x79\x18\x3c\x30\x0f\x2c\xd5\x80\xa5\x8f\x82\xa5\x27\xc0\xd2\x57\xc1\x83\x2c\x58\x96\x05\x96\x2f\x03\x2b\x5e\x02\x2b\x27\x80\x95\x2f\x80\x87\xf2\xc0\xaa\x24\xb0\x6a\x10\xac\x8a\x82\xd5\x41\xc0\x4d\x00\x5c\x2e\xe0\xe6\x01\xce\x0d\xb8\x0e\xc0\xbd\x03\xb8\xaf\x00\xf7\x1f\xc0\xfd\x01\xd6\xb4\x01\xeb\x08\x60\x9d\x07\xf2\xcd\x20\xff\x79\x90\xff\x15\x28\x58\x0c\x0a\x5e\x01\x85\xe3\x41\xe1\x65\x60\x5b\x04\x8a\xe6\x81\xa2\xbd\xa0\xe8\x0a\x28\xbe\x03\x14\x7f\x08\xec\x2d\xc0\xfe\x26\x70\x4c\x02\x8e\x3a\xe0\xf8\x0a\xac\x1d\x09\xd6\x5e\x06\x25\x15\xc0\x39\x16\x38\xbb\x41\x69\x36\x28\xed\x03\xa5\x2f\x83\xd2\x9f\x81\x6b\x0c\x70\x4d\x05\xae\x7b\x81\xab\x00\xb8\x9a\x80\xeb\x39\xe0\x7a\x0d\xb8\x3e\x04\xee\xd1\xc0\xdd\x0e\xdc\xff\x02\x1e\x16\x78\xc6\x01\xcf\x1d\xc0\xb3\x0c\xac\x83\x60\x1d\x02\xeb\x6a\x80\xf7\x6e\xe0\x6d\x07\xbe\x1c\xe0\xbb\x1d\xf8\xa6\x01\xdf\x76\xe0\xfb\x04\xf8\x22\xc0\xbf\x15\x94\x6d\x05\xe5\xd3\x40\xc5\xdd\xa0\xc2\x0e\x2a\x42\xa0\x72\x1e\xa8\x7c\x03\x54\x8d\x04\x55\x8d\xa0\x7a\x1c\x58\x6f\x06\xeb\xcb\xc0\xfa\x27\xc1\x06\x1d\xd8\xd0\x00\x36\xbc\x07\x6a\xfe\x01\x36\x8a\xc0\xc6\x3d\x60\xe3\x2f\x60\x63\x14\xd4\x3e\x01\xea\xf2\x40\xdd\x5e\x50\xf7\x3e\xa8\x4f\x06\xf5\x0b\x41\x7d\x33\xa8\xff\x0e\x34\xe4\x82\xc6\x24\xd0\x98\x07\x1a\x37\x80\xc6\x1e\xd0\x78\x16\x34\xe9\x41\x53\x2b\x68\xce\x01\xcd\x4b\x41\xf3\x0e\xd0\xfc\x33\xd8\xb4\x18\x6c\x6a\x01\x9b\x13\xc1\xe6\x02\xb0\xf9\x33\xd0\xa2\x04\x2d\xf7\x83\x96\x76\xd0\xf2\x05\xd8\xf2\x02\xd8\x7a\x2f\x08\xa4\x82\xc0\x49\xb0\xed\x6e\xb0\xed\x75\xb0\xfd\x3b\xd0\xfa\x25\xd8\x71\x33\xd8\xb1\x01\xec\xb8\x00\x76\xde\x04\x76\xde\x03\x76\xb6\x81\x9d\xe7\xc0\xce\x4f\x40\x5b\x2f\x68\x5f\x03\x82\x4f\x80\xae\x74\xd0\xf5\x02\xd8\x5d\x0a\xba\x11\xe8\xee\x00\x7b\x20\xe8\x59\x0c\x7a\xdc\xa0\xa7\x1f\xec\x1d\x04\xbd\xff\x06\xfb\xb2\xc0\xbe\xad\x60\xdf\x65\xd0\x77\x1b\xe8\xab\x04\x7d\x2f\x83\xfe\x9d\xa0\xff\x0d\xb0\xff\x35\xf0\x88\x11\x3c\x5a\x04\x0e\x4d\x06\x87\x05\xe0\xf0\x5d\xe0\xf0\x7b\xe0\x88\x1a\x1c\x79\x00\x1c\x7d\x08\x1c\xfd\x05\x1c\xcb\x02\xc7\xbe\x07\x8f\x7d\x03\x4e\xec\x00\x27\x93\xc1\xc9\x0b\xe0\xd4\x78\x70\x2a\x0f\x9c\xaa\x00\xa7\x8e\x80\x53\x4f\x82\xc7\x57\x82\xc7\x87\xc0\xe9\x07\xc1\xe9\x7e\x70\xe6\x11\xf0\x44\x0b\x38\x2b\x01\xe7\x6e\x01\xe7\xf6\x80\x27\x59\xf0\xe4\x15\xf0\x54\x3e\x78\xea\x4d\xf0\xf4\xeb\xe0\x99\x13\xe0\xd9\xa9\xe0\xd9\x8f\xc0\x73\x4a\xf0\xdc\x31\xf0\x8f\xf9\x60\x70\x3d\x78\xe1\x29\xf0\xe2\x64\xf0\x52\x12\x78\xa9\x17\xbc\x7c\x1f\x78\xf9\x31\xf0\x4a\x11\x78\xe5\x38\x38\x7f\x1b\x38\xff\x3e\x78\xf5\x3c\xb8\xd0\x03\x2e\x76\x81\xd7\xb6\x80\xd7\xb7\x81\xd7\x2f\x80\x37\xd2\xc1\x1b\x1b\xc0\x9b\x6b\xc0\x9b\x47\xc1\x3b\x2b\xc0\x3b\xbd\x20\x74\x0b\x08\xfd\x13\xbc\x3b\x1f\xbc\xfb\x3c\x78\x0f\x82\xf7\x7e\x02\xff\x7e\x06\xbc\xaf\x05\xef\xbf\x0f\x3e\xf0\x80\xcb\xb9\xe0\xc3\x11\xe0\xc3\xcf\xc1\x47\xb3\xc1\xc7\x0a\xf0\x69\x2e\xf8\x6c\x2b\xf8\x3c\x0c\x3e\x1f\x06\x5f\xbc\x06\xbe\x7c\x0e\x7c\x35\x00\xbe\xfa\x03\x7c\x5d\x0c\xbe\x7e\x02\x7c\xfd\x6f\xf0\x7f\x7f\x80\x6f\xfc\xe0\x9b\x8f\xc0\xb7\xc5\xe0\xdb\x30\xf8\x7e\x22\xf8\xfe\x23\xf0\xc3\x31\xf0\xe3\x08\xf0\xe3\x66\x70\x65\x1d\xb8\xf2\x05\xf8\xf9\x4e\xf0\xf3\x55\xf0\xcb\xa7\xe0\x3f\x6e\xf0\xeb\x2a\xf0\x5f\x2d\xb8\x9a\x05\x86\xac\x80\xce\x87\x20\x0f\xc2\x73\x50\xd0\x0f\x85\x42\x28\x3c\x0a\x45\x99\x50\xf4\x36\x64\x3e\x81\xe2\x62\x28\xfe\x12\x4a\xb6\x40\xc9\x00\x94\x7c\x0a\x13\xc7\x40\x84\x21\xfa\x02\xe2\x45\x10\xef\x82\xd2\xdd\x50\x36\x17\xca\x27\xc3\xa4\x74\x98\xcc\xc0\xe4\x2a\x98\xb2\x0e\xa6\xbc\x0b\x55\x1f\xc0\x34\x23\x4c\xfb\x0a\xde\x14\x81\x23\xce\xc1\x8c\x5d\x50\x3d\x01\x6a\xb4\x50\xb3\x10\x6a\xf6\x40\x76\x1a\xd4\x36\x43\xdd\x0e\x38\xf2\x2c\x1c\x75\x07\x1c\xf5\x39\x1c\x3d\x15\x8e\xb6\xc3\xd1\x9f\xc0\x9b\x53\xe1\xcd\xdb\xe0\x98\x7c\x38\xb6\x18\x8e\x9b\x0d\xc7\xb5\xc1\xf1\x0c\x1c\xbf\x1d\x8e\x3f\x0d\xc7\x7f\x08\xc7\x7f\x0c\xc7\x7f\x0a\x6f\xd1\xc0\x5b\x9e\x83\xb7\x3e\x07\x6f\x1b\x0d\x6f\x3b\x08\x27\x74\xc2\x09\x9f\xc0\x89\x77\xc2\x89\x1e\x38\xf1\x2c\x9c\x34\x17\x4e\x7a\x00\x1a\xef\x80\xc6\x43\xd0\xb4\x11\x9a\x7e\x81\x66\x31\x34\xb3\xd0\x6c\x80\xe6\x3b\xa0\x79\x27\xcc\x4e\x84\x39\xa3\x61\xee\x6e\x98\xfb\x3a\xbc\x7d\x12\x9c\x3a\x17\x4e\xfd\x16\x4e\xcb\x85\xd3\x28\x9c\x3e\x1e\x4e\x7f\x08\x4e\xef\x86\xd3\x9f\x87\x77\xa4\xc1\x3b\x97\xc3\x19\x4b\xe0\xcc\xb7\xe0\xac\x67\xe0\x6c\x25\x9c\x33\x13\xce\x3d\x0f\xe7\x6d\x85\x77\xdd\x02\xef\x3a\x00\xef\x16\xc1\xbb\x4b\xe1\x82\x79\xf0\x1e\x0d\xbc\xe7\x7d\xb8\x70\x35\x5c\xb4\x02\xde\xfb\x1c\x5c\x5c\x09\xef\x9b\x01\x97\xc8\xe1\xfd\x63\xe1\xfd\x4e\x78\xff\x1f\x70\xe9\x51\xf8\xe0\x69\xb8\xec\x76\xb8\x6c\x09\x5c\xf6\x30\x5c\xf6\x15\x5c\x2e\x81\xcb\x57\xc1\xe5\xef\xc0\x15\x75\x70\xc5\x0b\x70\xe5\x04\xb8\xd2\x05\x57\x9e\x87\x0f\x15\xc2\x87\xda\xe0\xaa\x62\xb8\x7a\x39\x5c\xfd\x0d\xe4\xf4\x90\xfb\x12\xae\x31\xc1\x35\x17\xa1\x75\x3f\xb4\xfe\x04\x0b\x66\xc1\x42\x01\x2c\x9c\x0a\x0b\x1f\x84\x85\xe5\xb0\xb0\x07\xda\x46\xc1\xa2\x11\xb0\xe8\x1b\x58\xec\x86\xc5\xaf\x43\xfb\x22\x68\xff\x27\x74\x94\xc0\xb5\x33\xe0\xda\x0f\x60\xc9\x25\xe8\xfc\x18\x96\x36\x40\x57\x1f\x74\xf7\x43\x4f\x14\xae\xb3\x43\xef\x4e\xe8\x7f\x0a\x96\x95\xc0\xf2\xe5\xb0\xa2\x08\x56\xfe\x08\xab\x97\xc2\xf5\x5e\xb8\xa1\x01\xd6\x4c\x81\x1b\x19\xb8\xf1\x49\x58\xdb\x08\xeb\xa2\xb0\xfe\x24\x6c\x7a\x00\x36\x6d\x87\x4d\xd7\xe0\xa6\x32\xb8\x59\x07\x5b\x94\x70\xcb\xab\x70\xeb\x4a\xb8\x95\xc0\xc0\x05\xb8\xad\x1b\x6e\x97\xc1\xed\x7e\xd8\x9a\x06\x5b\xf7\xc1\x1d\xf3\xe1\x8e\x1f\xe0\xce\x93\xb0\x7d\x23\x6c\x7f\x1b\xb6\x7f\x08\xdb\xbf\x86\xed\x3f\xc3\xf6\x21\xd8\x71\x14\x06\x77\xc2\xce\xf3\xb0\xeb\x26\xd8\x65\x80\x5d\xf3\x61\xd7\x21\xb8\xfb\x66\xb8\xbb\x0d\xee\x3e\x0e\xf7\xbc\x08\x7b\x76\xc0\xbd\x05\xb0\xf7\x0f\xb8\xef\x1b\xd8\xf7\x06\xdc\x3f\x06\xee\x3f\x0c\x0f\x4c\x85\x03\x17\xe0\xc0\x6b\x70\xe0\x0d\x38\xf0\x16\x1c\x78\x07\x0e\x84\xe0\xc0\x7b\x70\xe0\x7d\x38\x70\x19\x0e\x7c\x04\x07\x3e\x81\x03\x9f\xc1\x81\x2f\xe0\xc0\x57\x70\xe0\xff\x86\xff\x08\x10\xa1\x46\xa4\x23\x42\x48\x84\x44\x18\xb6\x10\xa1\x80\xf8\x89\x50\xa5\x11\x8d\x0c\x5b\x34\x91\xcf\xa2\x16\x31\x15\x52\xa1\x6a\xc8\xb8\x18\x0d\x1b\x35\x11\xc0\xc8\x35\x91\x77\xe5\x23\x0b\x58\x82\x34\xa2\xa0\x40\x23\xba\x10\xae\x56\xd1\x7d\x64\x32\xd9\x47\x26\x9f\x3f\xde\x7f\xd9\x7e\x3e\x7d\x01\x49\xb0\x9f\x9f\xd6\xbf\xc8\x9e\x4e\xf7\xd1\x49\x22\xf2\x8a\xf8\x32\xa2\xca\x5f\x10\x7d\x45\x4c\xf7\x91\x49\x8b\x8e\x4f\x2b\xb7\x2f\x4a\x5f\x40\x13\xec\x8b\xfa\xa7\x9d\xb7\xa7\x93\x7d\x74\x32\xdd\x47\x27\x2f\xb2\x97\x4f\x3b\xbe\x28\xfd\x22\x4d\x38\xbe\xe8\x72\xf9\xf9\xe3\xe9\x64\x1f\x99\x24\xa2\xaf\x90\x41\x44\x5e\x11\x93\x7d\x74\xd2\x79\xfb\xe5\xfe\xe3\xe7\xd3\x2f\x92\x84\xe3\xe7\xcb\x2f\x2f\x3a\x9e\x2e\xa7\x7f\xf4\x97\x93\xed\x6c\xd4\x18\x36\x92\x6f\x58\x6a\xb9\x88\xa2\xc6\xa8\x31\xfe\xcd\x26\xb5\x4c\x43\x61\x63\xd4\xf8\x31\x4b\x2c\x33\x51\xd8\x18\x36\x8a\x17\x22\xf9\x70\x6d\x80\x84\x86\x32\xc9\x93\x30\xac\x24\x21\xc1\x90\x85\x1c\x53\xed\xaf\xea\x2d\xd3\xd2\x26\xa6\xac\xaa\xaa\x4c\x47\x9b\xc4\x65\xbd\x55\xfb\xb5\xa4\x89\xd9\xdf\xdb\xbb\x5f\x47\xde\x1a\xfa\x48\x45\xaa\x68\x13\xb9\x93\xae\xa5\x6b\xe8\x44\x23\x9d\x47\x81\xb6\xae\x6a\x47\xd9\xde\x8d\x24\x87\x26\x8f\xd8\xd4\xd1\xd1\x12\x54\xef\xea\x6a\xeb\xec\xd0\xbd\xfc\xee\xc1\x83\x07\xf7\x4a\xf6\xec\x3f\xd3\xfd\xa4\xfa\xa3\xd0\xf2\xfb\x17\x94\xac\xbd\xc3\xae\x33\x14\x50\xe9\xcd\x54\x96\xb1\x5a\x5c\xd6\xed\x88\xc9\x3e\xb0\xf7\xe1\xfd\xba\x80\xf8\xd0\xc9\xb7\x5e\x7e\x4c\xfb\xfd\x20\x51\x85\xc8\x92\x0c\x79\xff\x5f\x5e\xf4\x8f\x70\x30\xac\x24\xdb\x59\x0d\x9d\xa1\x67\x35\xc2\xc1\x99\x48\xde\x2f\x27\x46\x04\x87\x82\x24\x28\xd0\x30\x07\x35\xa2\xb9\xaa\x67\x17\x06\x8b\xb4\x9a\x48\x1d\x53\xb4\xb0\x61\x85\xeb\x80\xab\xaf\x42\x37\x24\x1d\x96\x8a\x86\x83\x34\x24\xae\x47\x11\x25\xf3\x25\x4b\x43\x43\x41\x66\x48\x3a\x24\x15\xf5\xf5\x1d\x38\x74\x28\x43\xde\x5f\x0e\xc9\x33\x88\x54\x22\xc1\x62\xa4\x11\x8d\x54\xf1\xd7\xd5\xfa\x86\xad\x2d\x0d\xda\xe1\x10\x0d\x8a\x0a\x36\xba\x8b\xac\x19\xd7\x56\x92\x51\x68\x68\xb9\x78\x28\x48\xea\x45\xd1\xc7\xc8\x28\x24\x1f\x19\x20\xc1\x88\xf2\x14\x8a\x28\x49\x50\xb0\x09\x0d\x59\x66\xa0\x01\x56\x27\xef\xa7\xca\xf8\x4d\x77\x28\x48\xf2\xd9\xd3\xec\xd1\x1e\x56\x13\x99\x51\x87\x86\x82\xe2\x7e\xdf\x81\xb2\x81\x0a\x72\x33\x4d\x20\x63\xa8\x90\xe8\xa8\x44\x72\xcf\x7b\xdf\xde\xf1\x5f\xf5\x36\x66\x1b\xf3\xdf\x6f\xdf\xbf\xf0\x9e\x8e\xe8\x88\x84\x8c\x21\x42\x72\x33\x49\x18\xe8\x3b\xb0\xbf\xff\xa0\x64\x38\x28\x8e\x9c\x10\x9a\x73\xa9\x60\xfe\x32\x2d\xcd\x18\x4d\x33\x46\xd1\xf4\x51\x92\x35\x4b\x27\x4c\x99\xa3\xde\xca\x6c\x65\xe6\x4c\xf8\xe6\xec\x52\x1d\x4d\xff\x8d\x66\xfc\x46\x33\xae\x4a\xb2\xde\x59\xf2\x13\x61\x32\xe6\x22\x2d\xe9\x63\x4f\x35\x73\x5e\x1d\x51\x9e\xfc\x1d\xf5\xaf\x60\x35\x62\x20\x88\x28\xa9\x52\x45\xdc\xec\x71\x44\x9b\x88\x87\xae\xea\x68\xd2\x0d\x09\xa3\x3f\x89\x6a\xbb\x7a\x9a\x7b\xd4\x72\xe2\x67\x4f\xb3\x11\x99\xea\x70\x49\x97\x6f\x87\x36\xba\x35\x44\xcb\xc2\x2b\x45\xfb\x1a\xaa\xf7\xfb\xd5\xe5\x6c\xf8\x01\x5a\x27\x6a\xea\xea\xde\xd4\xad\x3e\xd4\x75\xf0\x61\xb2\x02\x11\x3f\xab\x11\xae\x0b\x1f\x52\x5d\x8a\xe6\x46\x65\x64\x65\x54\x4e\x57\x86\xc2\xb9\xf4\x65\xf2\x5c\xf8\xf6\x57\xc9\x7d\xe1\x14\x72\x5f\x34\x25\x7c\xfb\x42\x11\x59\xf7\xca\xff\x3f\x52\x0f\x3c\x42\x56\xa0\x68\xed\x0a\x76\x0b\x2b\xd8\xc2\x12\x56\x45\x7a\xe6\x93\x7f\xd1\x3d\x5a\xd2\x83\xe8\x9e\xf9\xf4\x5f\xb4\x87\x8e\xfb\x81\x62\x92\xa8\x1b\xfa\x9e\x21\x89\x3f\x10\x4c\xc6\xe9\x68\x30\x82\x55\x56\x76\x3f\xd2\xca\xc9\xad\x34\x48\x36\xc4\xef\xad\x41\xe2\x43\x61\xe5\x82\x0a\x36\x12\x1c\x0e\x12\x80\xae\x05\x35\xc2\x3a\x02\x58\x3f\xab\xa1\x3c\x8d\xf2\xa7\x04\x50\x58\x19\x55\x56\xb0\x44\x49\x8c\xaa\x65\x48\x33\x34\xb8\x0a\x69\x22\x83\xc5\xac\x86\x99\x71\x01\x8d\xec\x2f\x27\x5f\xa3\xa1\x60\x38\xa8\xea\x60\x37\x21\x61\x07\x1b\x51\x46\x95\x37\x78\x39\x79\x84\x0d\x07\xc9\x99\xe5\xec\x90\x45\x68\x40\x43\x4a\x1a\x5a\xce\x0e\x2b\x35\xc2\xc1\x98\x1d\x69\x69\x88\xb9\xee\x7f\xe2\xa5\x67\xd7\x0c\x6a\x49\x88\x19\x3c\x7b\x76\x50\xc7\x0f\x3c\x8d\x62\x03\x4f\xa3\xd8\xd4\xff\x2f\x49\x5b\x58\xf2\x6f\xf6\x9a\xe5\xc6\x6c\x32\x15\x69\x28\xd0\x08\x07\x97\xb3\xff\xcf\x4f\x86\x2c\xc2\x87\xfe\xde\x23\xef\xef\xd6\x08\x07\x20\x91\x69\x18\xb9\x40\xc3\x6c\x8e\xac\x56\x0d\xd4\x0f\x54\xf5\x6a\xa9\x86\x68\x48\x02\x1a\x1e\x33\x3c\x96\x3e\x4d\x9e\x21\x09\x88\x6a\xa8\x86\xdc\xcd\x92\x6b\xf4\x1a\xe1\xd9\xa5\xec\xc0\x40\x67\x6f\xaf\x8e\x68\x88\x66\xc8\x3e\x64\x17\xf5\xf6\x76\x0e\x0c\x64\xc8\xe9\x1f\xad\xe5\x90\x24\x68\x84\x03\x02\x8d\x28\x85\xac\xbd\x21\xf0\x69\x12\x7b\x5d\x1f\xf6\x37\x14\xfa\x34\xff\x22\x4f\xff\x05\xe5\xe9\xeb\x7d\x77\xb3\x7f\x07\x8b\xc9\xa0\x4f\xff\x0d\xfd\x06\x32\xef\x68\x4b\xd9\xb0\xf2\x14\xe2\xdf\x49\x50\x19\x8d\x04\xc9\x25\x44\xfd\xc4\xcf\x5c\xff\xf9\x0c\xf5\x53\xbf\x38\xfe\xec\x8d\xf8\xa9\x9f\x79\x1c\x69\x2f\x7a\x11\xf1\x13\xbf\xf8\x0e\x44\x94\x47\x67\xf0\x97\x65\xdd\x5f\x24\xf1\x4e\xab\xfc\x2c\x26\x27\x1a\xba\xfe\xd4\x2e\x1c\xf2\xfe\x65\x2c\x8d\x7f\x8f\xc8\x47\x9d\x6f\x91\xd2\x13\x7b\x9a\x47\x36\x53\x21\xf1\xd3\x07\xc9\x38\xed\xfd\x67\x6f\xaf\xb3\x2e\x59\x73\x7f\xd7\xed\x2f\x5a\x25\x24\xed\xd6\xf7\xe8\xad\xd4\x9c\x71\x81\xa5\xc7\x69\x75\x58\x88\x88\xf9\x3d\x72\x2b\x49\xbb\xa2\x7d\xf1\x89\xae\x8f\xd6\xbc\x68\xfd\xd7\xd4\x5d\x4b\xd6\x48\xe8\x83\x74\x1c\x15\x52\x3f\xdd\x9c\x41\x2e\xb1\x64\x31\xab\x1d\x56\x0e\x05\x55\x6f\xdf\xf7\xd2\x9c\x39\xf7\xdd\x37\x47\x3b\x1c\x7f\x34\x4e\xae\xb1\xb1\x30\x12\xc3\x27\xdd\xac\x80\x04\x7f\x58\x8e\xf8\x10\x4d\x72\x10\x0d\x91\x71\x6c\x98\xe7\xa2\x3c\x17\xb1\x90\x1c\x74\xcd\x42\xc6\xb1\x1a\xd1\x20\xc9\x41\x9a\xc8\x8c\x9f\x91\xdc\x86\x22\xc1\x21\xe5\x7a\x14\x0e\x12\xa8\xda\x5b\xdb\x53\xdd\xaa\xa5\x0b\x1e\xad\x3f\x56\x73\xac\xfa\x68\xfa\x63\x4f\x9f\x3c\xf7\xd8\x53\x92\x9d\xed\xad\xed\xc1\x8c\x8e\x2d\x1d\x9b\xda\xb4\xd6\x97\xe7\xbc\xba\xf4\x59\x49\x5b\x53\xc3\x8e\x06\x75\x43\x43\x4b\x73\xb3\x8e\x8e\x1e\xe9\xda\x53\xda\xe5\xec\x4c\x77\x93\x7b\x44\x7b\xb7\xac\xdf\x5d\xa5\xa6\x5e\xa6\xaa\xa6\x76\xfd\x66\xdd\xfa\x7b\x9b\xe7\x37\x2d\x72\xd6\x3b\x37\xba\x36\x50\xed\xef\x23\xda\x1a\xf9\x89\x0e\xaa\xa6\xe3\xd6\xfa\x74\x9b\x9a\x36\x37\x35\x64\x34\xec\x68\x6c\x6b\xd2\x9e\x5c\x7d\x62\xf5\x63\x2b\xd7\x97\x6e\x2c\xad\x2f\xa1\x8b\xdc\x23\x36\xb4\xd4\x56\x6d\xc8\xa0\x5e\x71\x75\xd7\xfa\xbd\x2d\x5a\xb2\xc0\xd3\xe9\xe8\x5e\xbb\xb7\x24\xdd\xf1\x50\x11\xe7\x58\x25\xd9\xd4\xd4\xd2\xd4\x90\xd1\xb8\xbd\x71\x67\x93\xf6\x89\xfb\xde\x5e\x38\xb8\x52\xd2\xd4\x1e\xdc\x1c\x54\x07\x83\xb1\x27\x7a\xa3\x7e\x3f\xb4\xe1\x70\xed\x91\xfa\xf4\x47\xe9\x3d\xa2\xea\xed\x3d\x1b\x7b\xd5\xc4\xcb\xf4\x76\x77\xf5\xec\xd0\xf5\xbc\xd2\xf6\x5a\xfb\xf9\x23\x9d\x47\x76\x1f\xda\x43\xb4\x14\x8c\xd8\xd4\xc1\xcf\x7c\x8c\xa8\xc9\xf8\xa3\x07\x75\x6d\xb1\x0d\x07\x37\x07\x9b\xdb\xb5\x45\x4f\x16\x9f\x73\x3c\xdb\x73\xa8\xeb\xf0\xae\xa3\x64\xe1\xa3\x23\x7a\x5a\xbb\x7a\xf7\xf0\x46\x5e\xca\x46\x62\xcf\x18\xc9\x49\xf6\xfa\x97\x2d\xbf\xb1\xe1\xe0\xd0\x19\xd5\x5e\x96\x04\xc3\xa1\xbf\x10\x25\xbd\x45\xb5\xd2\xe3\xde\xa4\x1d\x0e\x31\x9b\x3c\x8f\x3e\xa3\x8b\xdc\x15\x51\x5e\xbb\x4b\x3c\x6c\x8c\x9c\xff\x14\x3d\x5b\x71\xef\xe9\xa5\x6a\xde\xfd\xef\x2d\x58\x51\xa1\x9b\x43\xa7\x8a\xe8\xab\x6f\xb0\xd7\xee\x61\x68\xc2\xa5\xac\x2f\xb5\x43\x21\xe6\xcb\x4b\xdf\x91\x04\x5d\xe4\x2e\x52\xc6\x07\x19\xb8\x09\x91\xa0\xc0\xcf\x86\xcf\xa8\xb6\x07\xb6\x6f\xdd\xae\x8d\x5e\x0a\xbb\xa2\x97\xa2\x2e\xd1\x96\xad\x5b\xb6\x64\x44\xfd\x53\x58\x72\x1e\x91\x60\x54\x49\x42\x2c\xf1\x85\x9f\x52\xed\xda\xbd\xa5\x7f\xe3\x2e\xea\x26\xf3\x47\x84\x27\x56\xb3\xf4\x41\x31\x6d\x21\x6b\xac\xc7\xe7\x05\xac\xf6\xf4\xe1\x82\xe8\x0f\x1b\xeb\xb6\x94\xef\xda\x98\xfe\xea\xcc\x9d\xcd\x1d\x9b\x3b\xb6\xa6\x07\xb7\x76\xb4\xb6\xef\x1c\xba\x2b\xfc\xee\x88\xa1\xbb\xa2\xef\x8a\x36\xb5\xb5\x6f\xe9\x88\x3d\x18\xef\xd8\xd6\xb1\x63\x67\xdb\xab\xef\x8e\x90\xb7\xa0\x48\x90\xa4\xa2\xa1\x20\xa9\x40\xa3\xd8\xb0\x91\xe1\x1d\xc1\x1f\x36\x12\x65\xf8\x4c\xfc\x77\x33\xe1\x33\x44\x19\x36\x12\xbf\x20\xa2\x8c\xf8\xc9\x6b\x88\x5e\xa5\x7e\x37\x22\x16\x14\x36\xfe\xa0\xba\x19\x91\x5b\xfb\xcb\x49\x88\x58\x96\xb2\xf0\x39\x8d\x58\x23\x88\xfc\x10\x3e\xa9\x5a\xbf\x6d\x43\xed\x06\x35\x6d\x61\x36\x6c\xe8\xea\xd9\xa6\xdb\x21\x3e\x48\x42\x84\xb2\x64\x11\x89\xb0\x07\x69\x48\xb4\x59\x3c\x14\x88\x16\xab\x4e\xd7\x9d\xde\x70\x42\x1b\x35\x45\x0e\x89\x06\xea\x3d\xfb\x3d\x6a\xfa\x0d\x89\xb0\x7b\xa8\x45\x54\xb5\x6d\x63\x4d\x95\x9a\xde\xce\x54\x6d\xec\xee\xdd\xa6\xdb\x43\x2c\x84\xb2\xf4\x1b\xc6\xe3\x29\xf3\xd6\xeb\xa2\xa6\x6b\x87\x44\x1b\x8a\xeb\x0a\x0a\x32\x5c\x1d\xdc\x29\xed\x90\x85\xa9\xae\xe1\xc7\xf5\x91\x20\x0f\x33\x40\x22\x6c\x1f\x0d\x8a\xaa\xb6\xd5\xd4\x54\xab\x87\x2c\xcc\xa9\x8e\x73\x87\x62\xe1\x20\xc2\x07\xda\x20\x4b\x2c\xff\x42\xd1\x42\x86\x8f\x52\xa2\xe2\xa2\x95\x15\xcb\xd4\xcb\x56\xf6\x9d\x28\xd2\x51\x35\xd1\x88\xa2\x36\x62\x46\x11\x99\xea\x40\xbd\xbf\x67\x9d\x9a\x06\xc3\x16\x86\x2c\x60\xa3\x16\x1a\x14\x93\xcf\xd8\xb0\x25\x6a\x19\x41\xb4\x28\x6c\x09\x5b\xf6\xf5\xee\x7c\xb4\xfe\x60\xba\xbc\x92\x0d\x1b\x49\x90\x57\x92\x32\x27\x72\x35\x7c\xf5\x4b\x44\xae\x56\xb3\xf4\xea\xff\xef\x9f\x2c\x92\x22\x96\x5e\x0d\x87\x72\xd9\xbf\x89\xf8\x75\xe8\x16\xd5\xce\xae\x96\xdd\x0d\x9d\x34\x44\x42\x23\xda\x9a\x1a\x5b\x1b\xd5\x8d\x8d\x2d\xcd\x4d\x3a\x7a\x89\x5e\x12\x35\x37\x6d\x6e\x6c\xc8\x18\x87\x02\xc4\x42\xaf\xfe\x8c\xc8\x55\x62\x11\xef\xee\xea\xe8\xda\xa9\xa3\xbf\x86\xfb\x73\xd9\xfe\xf2\x48\x88\x58\xbe\x42\x91\x8e\x70\x48\x35\x91\x5a\x44\x34\xc4\x4c\x24\x16\x11\x7d\x8b\xd9\xbe\x73\x5b\xdb\xf6\x9d\xc4\x1e\x6e\x1a\x31\xb4\x8c\x21\xf6\x68\xd3\xf6\x4d\xdb\x9a\xb7\x6f\x4a\x27\xcb\x4b\x55\x27\xea\x06\x6b\x1e\xd3\xd2\x86\xf0\xb3\xa2\x63\x35\x05\x0f\xdb\xd5\xc3\x21\xc6\x5e\xb0\x6e\x6d\x8d\x8e\x36\x44\x9f\x15\xd5\x38\xea\x96\x16\x67\x44\xcb\xc9\x4e\x74\x96\xd5\x08\xfb\x87\x94\xaa\x03\xb5\xfd\x15\xbb\xb4\xd1\x33\x24\x54\xd9\xe5\x0d\x54\xd4\xa5\x57\xd4\xd6\x96\xfb\x33\x86\x95\x62\x72\x0f\xbb\xab\xb5\xad\x53\x17\x3e\x43\x42\xa2\xbe\x5d\x5d\xfd\x07\x32\x88\x32\xed\x66\x44\x7e\x66\x03\x24\x98\x7a\x72\x31\x22\x17\x58\xc2\x22\x9a\x46\x55\x23\x48\x3a\x1d\x45\xef\xbf\x4c\x97\xab\xc9\x1e\x44\xaa\x88\xf3\x17\x32\x9b\x8c\xd3\x75\xee\x0e\xec\xab\xdd\x45\x59\xa2\x1d\xd1\xd6\xd4\xd0\xda\xa0\x6e\xd8\xda\xb0\x79\x53\x93\x84\xa6\xde\x4a\xc7\xe7\x51\x83\x9a\x8c\x41\xe4\x26\x92\xb4\xdc\xf8\x9d\x2e\xf5\x2d\xaa\xa5\x5a\xb2\x00\x85\x2d\x0e\x1e\x84\xb4\xb0\xa9\x27\x35\xa2\x6f\xc2\x7e\xd5\xde\x9a\x3d\x55\x5a\x6a\x61\x36\xd4\x37\xd4\x6c\xd2\x55\x17\xd4\xda\x7c\x85\x12\x3a\x71\x32\xcd\x9d\x42\xe7\xaa\xa9\x8a\x26\x3f\xf7\xe5\x24\x1d\x61\x09\xfb\x06\xca\x62\xa3\x16\x13\x8a\x5a\xc4\xa9\x6f\x5d\x42\x44\x45\x54\x22\xaa\x26\xa3\xc9\x7d\x77\x90\x07\xd5\x61\x11\x79\x92\x04\xc8\xef\x9f\xe9\xb6\x6d\x0f\xb4\x6e\xcf\x18\x18\x3a\xa3\xfa\x36\xb6\x01\x11\xc9\xa0\xa3\xe9\xfd\x1f\xd0\x65\xea\xa8\x88\x3e\x43\xb7\x52\x62\xd2\x6d\x09\xb4\x6c\xc9\xa8\xee\xde\xd0\xab\x25\x2b\x99\x3d\x9d\xc1\xee\x9d\xba\xbd\xa7\xbb\x4e\x1d\x7c\x5c\x42\x26\x7e\x4b\x72\xbf\x21\x73\xd5\x44\x45\x92\x57\x18\xbe\xd7\xf1\x4b\x0f\xc6\x56\xde\xff\xbf\x1f\x5c\xe6\xf2\xb6\xaa\x14\x84\x95\xe4\xea\x68\x96\x84\x84\xa3\x50\xec\x6d\x13\x8a\x5a\x54\xff\xe0\x3b\x6e\xbc\x29\x87\x95\x37\x8a\xce\x50\x28\xf6\xec\x79\x1e\x3b\x1c\x12\x13\x65\x24\xf4\x3b\x8a\xfe\xd1\x5f\xae\x11\x0e\x12\x0b\x24\x0e\x3e\x3f\x58\x04\x24\x34\x14\x54\x11\x8b\x98\xa4\x20\x6a\x11\x93\xd0\x04\x62\x40\x25\xc4\xc2\x90\xad\x74\x35\x59\x4d\xb7\xd2\xad\x74\x35\x5d\x4d\xb7\x6a\xa9\xa5\xe4\x53\x56\xde\x5f\xc0\x92\x4e\x96\x84\xc8\x05\xb6\x1c\xad\x1a\xc8\x7f\xdc\xaf\xd5\x50\x79\x09\x7b\xd1\x8b\x34\xc2\x5f\xc5\x8f\x1f\x18\x38\xf3\x54\x86\x46\x34\xb8\xa0\x18\x71\x74\x3a\xd5\xd0\x2c\xb5\xd3\xb5\xb3\xdb\xad\x7b\x8d\xea\xa8\xe2\x79\x9a\xa5\xa6\xa3\xe9\xa4\xfb\x17\xd0\x14\xdd\xba\x8d\xae\x1a\xdf\x7a\x49\x65\x4d\x6d\xb5\x2f\x63\xb8\x5a\x3c\x99\xed\xea\x6c\x6d\xdb\xa5\x7d\x97\x68\xc9\xd4\x4b\xc4\x40\x5c\x5f\xd2\x91\xe4\x1e\x35\xb9\x89\x24\xff\xf3\x3c\x11\xe9\x0e\xed\x39\xd0\x7d\x32\x43\x3e\xf2\xc6\x16\x02\xc4\x42\x42\xb1\xa7\x04\x21\x62\x11\x9c\x66\x87\xb4\xaa\xf0\x94\x68\x32\xf9\x39\xfa\x60\xf4\xc1\x68\x32\xfd\x39\x3a\x85\xc2\xbe\x51\xa7\x6f\xd1\xf6\xad\x20\x0b\xd7\x8a\x28\x3c\xf4\xd3\xed\x04\xab\x4b\x66\xa3\x70\x88\xdc\x83\x4a\xc4\x13\x72\x96\x4e\xe7\x74\xf3\xba\x44\x95\xaf\xd6\x5f\x7c\x23\x83\xfc\x93\x3c\x4f\xf6\x92\xef\xc8\x77\xe4\x79\xba\x97\xfe\xf3\xae\xfa\x05\x95\x0b\xb5\xf3\x6a\x45\x1f\x70\x39\x83\x13\xd4\x47\xc5\x7b\xd9\xa3\x62\x82\x7f\xfa\x88\xc0\x43\x3a\xb2\xf0\x58\xdf\xb3\xa2\xd3\x3f\xf5\xfd\x46\x60\x86\xfc\x5a\xed\x51\x8d\x70\x10\x06\x86\x82\x02\x2f\x2b\x8f\xfe\x11\x6b\xf1\xc9\x44\xe0\x65\xc3\xca\xf0\x19\xd5\xcf\x8b\xae\x4c\x3a\xa9\xdd\xd1\xd8\xb0\xad\x51\x6d\x77\xb9\x8b\x75\x77\x12\x49\x3f\x95\x51\x19\x95\xf4\xdf\x99\x51\x7c\xc8\x7d\xbc\x23\xb8\x6d\x47\x87\xf6\xbb\x53\xe7\x7f\xfc\x39\x43\x3e\x52\x23\x9a\x57\xc1\x0b\xe0\xd0\xff\x2b\x01\x24\x98\x46\x38\x2a\x27\xf7\xd1\xc5\x97\xc9\x55\xd6\xdd\x53\x79\xa0\x56\xf7\x48\xcd\x40\xed\xc1\x2a\xc9\x4f\x79\x2f\x51\x31\x95\x67\x50\xf9\x7d\x54\x7c\x4b\x9e\xd6\x57\xe5\xad\xf5\xd4\x48\xfc\xb5\xeb\x2b\xdd\x19\xab\xd9\x13\x1d\xc1\xed\xad\x1d\x5a\xb2\xf8\x32\x91\x93\xfb\x08\x17\x93\xf5\x0a\x5d\x40\x8e\xd0\xe3\x44\x46\xae\xb2\xae\x3d\xeb\x0f\xd6\xe8\xba\x1b\x7b\x36\xed\x69\x7c\x74\xc3\xa3\xd5\x0f\x57\x4a\x48\x0e\x95\xfd\x48\xef\xa7\x6b\x32\xe8\x9a\xdb\xe8\xfd\x34\x87\xca\xb4\xeb\x2a\xdd\xd5\xee\x0d\x1b\x1a\xd7\x6f\xaa\x69\x94\xf8\x6a\x36\xac\x77\x65\x4c\x66\x83\x71\xd9\xbc\xa0\x05\xe4\x08\x79\x85\xcf\xba\x01\xa2\x22\xa9\x44\xc9\xd7\x3c\x81\x13\xe8\x2f\x4f\x61\xfe\x7c\xa5\x7e\x1a\x26\xe7\x91\x8a\x7c\x87\x98\x88\x52\xc8\x13\x52\x19\x6f\x5e\x0b\x5e\x4b\x55\x85\x53\xc3\xca\x68\xaa\x38\xaa\x1c\xea\x50\x91\xf3\x28\xaa\x14\x87\x95\x69\x71\x66\x58\x49\x83\xaa\x61\xe5\xb0\x72\x48\xc9\x90\x67\xe2\x73\xf8\xfb\x99\x2a\x9c\xca\x32\xa9\x23\x47\x10\x25\x33\xa4\x14\xc6\x1a\x3b\x33\x4b\xd9\xa8\x72\x58\xc9\xa4\x8e\xcc\x21\xca\xb0\x92\x49\xfd\x34\x1c\x86\x28\xac\x64\x86\x83\xe4\x3c\x7b\x5d\xc8\x50\x70\x48\x79\x43\xa0\xbc\xbf\xbf\x7c\x7f\x79\x4a\xe0\xc2\x91\xa3\x17\x8e\x90\x94\x23\xdf\xbf\xfa\xfd\x91\xa3\x47\x8e\x1e\xf9\xee\xc2\x77\x17\xf8\x7f\x47\x2e\x7c\xff\xdd\x91\xa3\x47\x2e\xa4\xd6\xfe\x31\x78\x21\x2d\x5c\x12\xff\xf9\x62\x79\x79\xa0\x3c\xf6\x0b\xcf\xb5\x51\x47\x46\x7f\x5f\x60\xbf\xfa\xc2\x36\x55\x17\x5b\x57\x1f\xa8\x6b\x60\xbb\x82\x81\x5d\xea\xef\x3a\xd0\xae\xce\x40\xa7\x9a\x64\x75\xa0\xae\x20\xf9\x27\xaa\x78\x95\xdd\xdf\x17\xe8\x53\x93\x94\xeb\x9f\x5c\xf8\x1f\x4d\xed\x07\xe0\xfa\xe8\x20\x9b\xba\x7c\xb0\xee\xc0\xbe\x40\x7f\xac\x71\x20\x3e\x25\xc8\xcf\xed\xff\x1f\xf3\x5d\x90\x8d\x0f\xb9\xaf\x1b\x95\x38\x03\xce\x06\x36\xb5\x0e\x0c\x1e\x3d\x12\x38\xa2\xbe\xd0\x8d\xe2\xcb\x48\x9d\x7b\x27\x88\x2f\x65\xab\x2a\xfc\xff\xe1\xeb\x4d\xe0\x9b\xa8\xb6\xc7\x71\x6a\x3b\xc9\x38\x3e\xab\x92\x19\x6c\x67\x32\x33\x55\x10\x54\x10\x41\x22\xfa\x50\x04\x51\x41\x65\x97\x80\xec\x94\x7d\x29\x94\xd2\x86\xee\x6d\x9a\x34\xfb\x9e\x74\xda\x74\xdf\xa1\x40\xcb\x56\xaa\xec\x5a\x04\x14\xa9\x0a\xfa\xaa\x3e\xb7\xf7\xf0\xa9\xa8\x0f\x77\xd1\x33\xc9\x49\xf0\xff\x49\x0a\xbe\xef\xf6\xff\x25\x9f\xcf\x2c\xf7\x9e\x7b\xee\xb9\x67\xe6\xde\x39\xe7\xde\x73\xce\xdd\xe8\x94\x37\xc9\x1b\xff\x43\xf7\xc6\xc8\x26\x36\x8e\x3b\xb9\x90\x4a\x86\xfb\x0a\xa9\x18\xb7\xad\x7c\x74\x45\x68\x39\xf1\xca\xc2\xfb\x0f\x3d\xcd\xa1\x4e\xf1\xde\x77\xab\x17\xbe\x22\x86\x56\x44\x97\x13\xad\x39\x35\x9b\x36\xb2\x1b\x4b\x36\xe9\x74\x42\x64\x53\x64\x13\xb1\x61\xef\x8e\x9c\x57\xb9\xbd\x5d\x35\xad\x6d\xa2\xac\x97\xcb\xe0\x45\x2a\x39\x6d\x0b\x1f\xa6\x21\x4c\xc5\xe7\x61\x4e\xfc\x33\x51\xad\x58\x1f\x7e\x99\x29\x6e\xca\xad\xd1\x49\xae\x02\x67\x9e\x39\x1f\x7b\xaf\x6d\x4d\x59\x5f\x96\x9e\xbb\x8e\xbb\xf6\xa0\x42\x3b\x35\x78\x36\x4f\x2c\x6f\x71\x49\x15\x41\x32\x28\xd5\x79\xaa\xb9\x50\x48\x01\xaa\x1d\x7b\x61\xf4\x31\x11\x76\x86\x85\x9a\x63\xe6\x63\xdb\xf6\xa7\xee\xcb\x5e\xd9\xbc\x94\x8b\xba\x15\x85\x85\x16\x6b\xa1\xe8\xf2\xa0\x6a\x7f\x39\xf2\x2b\x67\xa6\x16\xe9\x72\xf2\xac\xf9\xb6\x82\xca\x42\x7b\xa1\x79\xc1\xea\x51\x39\x9b\x8a\xf3\xb6\x1b\x4c\x3a\x73\x51\xa5\xce\x9e\x6b\x59\xba\xe1\xa1\xac\x65\x86\x82\xfc\x12\x4b\x3e\x69\x29\xac\xdc\x6e\xc9\x2f\x7b\x71\xe3\x84\x2d\x8b\x8a\xb2\x72\x0b\xad\x39\x76\xbd\x54\xea\x28\x72\xe4\x58\xf3\xec\x79\x25\x6b\x9d\x2b\xea\x96\x93\x43\x0f\x40\xc2\x84\x9f\xb9\xf0\x83\x8a\xcf\xbf\x78\xfb\x52\xbb\x08\x1d\x61\xa1\xe6\xa8\xe9\x58\xf6\xfe\xd4\x6b\x27\xec\xdf\xf1\x8f\xa2\xf4\x1d\x9f\x1c\xd1\xdf\xad\x26\xbe\x4d\x70\xda\xf9\x44\x75\x92\x4b\x4d\x94\xb9\xf9\x34\xa4\x81\x0e\xd1\x70\x99\x4a\x88\xaf\x92\x5b\x29\xa8\xe4\x63\x4c\x95\xc2\x34\x4a\xca\x6b\x74\x88\x66\x42\x74\x88\x46\xcd\xe3\x14\x68\x22\xb4\x02\xa4\xe9\xdf\xf3\x43\xae\x6a\xfe\x75\xb7\x30\x1d\x24\x45\xef\x96\xfe\xb5\x07\x05\x1c\x05\xa3\x88\x83\x6b\xa7\xec\x5e\xc0\x45\x35\x7d\x54\xa4\x67\xba\xf2\x6e\x8d\xe6\x6e\x31\xa2\x89\xeb\x45\x1a\x98\xc0\x83\x26\xae\x13\x25\xc3\x7d\xdd\x7c\x82\x53\xad\x2c\x4b\x0c\x6b\x43\x57\x99\x1b\x0e\x16\x38\x6e\xc0\x78\xfe\x86\xfb\x05\x8c\x43\x06\x18\x1c\x27\x86\xb4\xb2\x86\x41\x9d\x62\x21\xa8\x89\xb7\xb3\x27\x9e\x7a\x86\x8b\x48\x8a\x67\x26\xce\x7f\x2e\x5b\x5c\x88\x6a\x02\x75\x0a\xe8\xe4\xaf\xd1\x4a\x13\x25\xe8\x78\xc5\x74\x5e\x0c\xd3\x32\x45\x45\xb5\x6a\x2c\x7b\x90\x4a\x43\xfa\xbb\x51\x97\xe4\xb9\x70\xcb\x60\xe7\x21\x5e\x75\x20\xb4\x31\xbc\x96\x51\x65\xbd\x87\xf7\x9c\xc3\x07\x5f\xc5\x51\xa4\x23\x3f\xdf\x91\xcf\xdd\x7b\xaf\xc7\x75\xaf\x18\x79\x35\x3a\x94\x39\xff\xa6\xa7\xea\xbc\xe8\xae\x69\xf2\xd7\x00\x09\x37\xe7\x01\xc9\xb9\x24\x97\x24\xb1\x4d\xce\x46\x47\xa3\xf0\x42\x05\x8e\xf0\xfc\x9d\x3d\xf8\x13\xd4\xee\x38\x2b\xc8\x0b\xec\x44\xdd\x2a\x60\xf0\xe4\x7a\x76\xdd\x02\x53\x96\x59\xc0\x3b\xb7\x12\xb6\x6d\x8e\x6d\xdb\x58\x2f\xdc\x09\x77\x56\xc1\x9d\xa0\x02\x55\x11\xa8\x38\xc9\x55\x21\xb1\x8d\xb6\x46\x5b\xa3\xb0\xb4\xe1\x41\xff\xa6\x1d\x25\x55\x25\xbb\x4d\x75\x8b\x7e\xde\xf0\xfb\xf2\x5f\x49\xd5\x81\x49\xf0\xf4\x54\x98\x36\x19\x9e\xc1\x95\xb2\x2e\xc5\x16\xb0\x06\xac\x01\x72\x81\x62\xb2\x02\xbb\xa2\x1b\xd0\x10\x89\xac\xc4\x41\xf7\x34\x3d\x90\x99\x6a\x7f\x9c\x48\xc6\x3f\x30\xf1\xdb\xd0\xc3\xdf\xcb\xc7\x7f\x19\x0c\x39\xf0\xae\xbc\x1a\x3e\xc4\x0a\xf8\x4a\x25\xcb\xaf\xd6\x32\x39\x67\x25\x98\x7d\xf1\xaa\xeb\xb7\xdf\xd8\xca\x8e\x97\x9d\xbb\x39\x78\x18\xd8\x72\xbc\xff\x1b\xb1\x6b\x41\xc5\xf3\x33\x59\xb4\xe1\xbd\x63\x30\x7f\xc9\x92\xea\xc6\x15\x42\x49\xa8\x94\x51\x5d\x75\xb4\x3a\x63\xff\x5e\x57\x6f\xef\x5f\xee\x51\xc9\x3f\x95\xff\xf4\x13\x1b\x78\xf9\x65\xff\x61\x0e\x1e\x83\x27\x9f\xc5\x17\xb1\x08\x47\xcc\xc5\x55\xeb\xd7\xb9\xfc\xeb\xc5\xc8\xc1\x6b\xb7\x32\x01\x98\x0a\xcf\xd5\xc1\xb4\x2f\xbe\x30\x7f\xc1\xc1\x51\x78\x1b\x14\xf0\x1d\xac\xc3\x89\xc0\xe0\x0b\x2f\x8b\x70\x57\x1f\xa8\xdf\x81\x69\x2c\x54\xa3\x1b\x06\x61\xae\xa0\xba\xba\x7c\x99\x6b\x39\x87\x06\x34\x16\x5a\xd1\x28\x7a\x1f\x25\x54\x72\x97\x15\x46\x98\x6a\x33\xc9\xb6\xa5\xf6\x6b\x73\xb6\xb3\xcf\xfa\x86\x6e\x98\x23\xcc\xdc\xf6\xbc\x63\x7a\x91\xfd\x81\x94\xe4\xa8\xfe\xae\x7f\xd6\xe7\x0e\x76\x86\x25\x55\x3a\x0e\x4e\xf2\x7d\xf1\xaf\xda\x2f\x39\x55\xf3\x85\x8b\x0e\xc7\x45\xd1\x71\xe6\xf5\xfc\x33\x2d\xcd\x9e\x16\xae\xa2\xcb\xdf\xe5\xee\x9a\x59\x39\x33\x30\xab\xc6\xd1\x90\x62\x7d\xe9\x04\x2c\xa9\x3c\xde\x0b\x95\x7d\x10\x3c\x0e\xc1\xca\x33\xbe\xd7\x5b\x4e\x5d\xd8\xd9\x5f\x75\xb1\xad\x62\x57\x60\xb7\x77\x37\x69\xbe\xeb\x2e\xc3\x5d\x1c\x0e\xc1\x3b\x2b\xfd\xc8\x88\xf9\xc3\xde\x30\xbc\x53\xf1\xda\x96\x54\x55\x7a\xb6\xd2\xf3\x18\x66\x5e\xdb\x58\x3a\xcd\xb4\xa1\x6c\x9d\x2e\x73\xf6\xe6\xa9\xe5\xd3\xf3\x48\x55\x73\xe1\x78\x22\xb9\x19\x6f\x03\x6f\x58\x02\x2f\x3e\x00\x34\xde\x0e\x77\x0c\x76\xc2\x2d\x72\x0a\x54\x85\x82\x40\xab\xf6\xa9\x15\x17\x81\x66\x1e\x0b\x4b\x9f\x28\x0e\xd7\x74\xec\xcb\x12\x55\xef\xe0\x60\x18\x9f\xb5\x6f\x85\x33\x6b\x43\x2a\x0e\xc6\xf1\xc4\x86\xac\x9a\xad\x87\xb9\x4f\xae\x49\x8f\x29\x56\x94\x6c\xdd\xb0\x53\x84\xc1\x38\x7e\xe7\x86\xc3\xce\x9d\xfb\x52\x61\x30\x8c\x27\x54\xfb\xf6\xed\x2c\xe9\x58\xc1\xa9\x43\x06\x75\xd2\x1f\xf0\x0e\x45\xaa\x1a\xdf\xf0\x3a\x61\xe9\xf1\x2e\xb2\x79\xd7\xef\xf5\x07\xb8\x7a\xb8\xd3\x53\x5c\x23\x06\x4b\xac\x4f\x15\xb0\x78\xb3\x12\x97\xfb\x63\x82\x12\x3b\xc3\x83\x6d\xdb\x17\x1f\xa1\x60\xaf\x0d\xf6\x3a\x60\xaf\xa0\xda\xe7\x38\xe2\x3d\xe6\x3b\x4c\x56\x7d\xf5\x6f\xeb\x65\x6e\x4f\xab\x6f\x5b\xb3\xe8\xb6\xb7\xc1\x16\xbe\x7b\x1f\xf8\x78\x62\x6d\x96\x4e\x5a\xcd\xe1\x51\xc5\x53\x4f\xbb\x9e\x82\x2f\xf9\xe4\x2d\xbc\x3a\xe9\x5f\xc0\x24\xc4\x5a\xd5\x00\xfe\xc4\x4f\xd5\x84\x1e\xde\xa1\xde\xf0\xb9\x60\xd9\xb1\x3d\x64\x5d\x1b\xe8\x5b\x5e\xba\x41\x40\x6d\xa1\x09\xf5\xab\x8a\x7d\xc5\x25\xec\xb8\x40\x64\x4b\xf6\xbc\x23\x14\x8c\xb7\xc3\x78\x07\x3c\x22\xbc\xa8\x74\xc0\xa8\x81\xda\x53\x6b\xe0\x56\xb8\xdb\x04\xb7\x71\x95\xc7\x5d\xb6\x0a\xb1\x2a\xa6\x08\x1b\x5d\xf6\x76\xd8\xc2\x1f\xdc\x0f\x3e\xbe\xb4\x20\xb7\x64\xbb\x2b\x55\xc2\x06\x6c\x36\x63\x03\x7c\xc9\xab\x93\x82\x6a\x4c\x65\x96\xd5\xa5\x15\x88\xd7\x24\x45\x43\xdd\xef\xcb\x36\x60\x2a\xde\x92\x9b\x25\x14\xeb\xcb\x0a\xf3\xd8\xbc\xaa\xc2\x5a\xbd\x90\xbb\x13\x52\xf1\x96\x7d\xdc\xd1\xa2\xdf\x1b\xc4\xb0\xa4\x28\x28\x4a\x3b\xba\x0f\x52\xe1\x96\xe6\x9d\x42\x6d\xb0\xaa\xbe\x89\x6d\x2a\xab\x2f\x0e\x0a\xcd\x59\x98\x0a\xb7\x6c\xe0\x92\xb7\x50\x11\x1a\x5e\xe0\xd5\x38\xe8\x71\xde\xce\x8f\xa1\x40\x8a\xdd\x85\x07\x3d\xce\xcf\xa1\xc6\xdc\xc8\x2b\x7b\x9c\xb7\x50\x1b\xa9\xeb\xb0\xd7\xe8\xc7\xf9\x30\x1d\x03\x95\x25\xc6\xc9\xc7\xd3\xa2\xf4\xe3\x7c\x88\x8e\x81\xc8\x52\xd2\xd8\xff\xa0\x1b\xb8\xbb\x81\xee\x7a\xde\x9f\xe8\x64\x29\xe9\xd9\xff\x72\x48\x6e\xf6\xc7\x1d\x2c\x12\x41\x02\x1d\x03\x43\x79\xb9\x3f\x69\xe0\xb8\x2f\x86\x43\x4d\x4c\x66\xf6\xc5\xd3\x06\x5f\x3f\x26\xe7\x51\x32\x1d\xd6\x31\x4b\xa9\xb8\xc1\x50\x0f\xf6\x10\x66\xb3\xcd\x58\xce\x96\x7b\x8c\x7e\xb3\x00\xf1\x04\xbf\x64\xab\xe0\x9e\xa0\x74\x3c\x6a\xd7\xf0\x79\x14\x5c\x0d\x69\x99\x01\xd3\xfc\x1e\xe8\x21\xfc\x66\xa3\xa7\x9c\x9b\xca\x8b\x91\xfe\x02\x2a\x6e\xbb\x1d\x4f\x8d\xdb\x6e\xab\x89\xe6\x88\x6e\x0d\xdf\xdc\x9c\x0b\x63\x62\x4a\x15\xb3\xa3\xa8\x55\x57\x19\x37\x01\x29\xe7\x0a\x8b\xcc\xa5\x7a\x31\x32\x22\x32\x9c\x80\xbf\x2a\xef\xa7\xa2\xda\x4a\x3e\xaa\x55\xde\x18\xb5\x85\x90\x76\x38\x0f\x13\x94\xf2\x88\xc8\x08\xa2\x34\x58\x67\x7e\x3b\x36\xd0\xbf\xcf\x83\x36\xac\x1d\x30\xc3\x3b\x14\xd3\x20\x42\x74\x58\x9b\xc9\x87\xa5\x08\xcd\x44\x34\xb2\x26\x22\x45\x24\xd4\x80\x26\x6e\xfb\x84\x5a\x1d\xaf\xbc\x02\xe7\xf8\xb8\x51\xa3\x1a\x27\x2b\x1b\x78\xd8\x4d\xa9\x93\x7a\x65\x25\x0f\x9a\x0c\x66\x21\xe5\x54\x87\x7a\x95\xf3\x28\x35\x4e\xbe\x3e\x45\xba\x25\xc6\x40\x3a\x11\xfe\x18\x92\x26\x27\x50\xbf\x2b\x2e\x5f\x06\x3d\xea\x09\xf9\xe9\xd0\x47\x8c\xd9\x6e\xb6\x58\x84\x48\x77\xa4\x9b\xb0\x58\xcc\x76\x33\x57\x6a\x94\xaa\xfd\x6e\xbf\xcf\x27\xca\xdd\x72\x37\xe1\xf3\xf9\xdd\x7e\xae\x5a\x32\x96\x8a\xf3\x41\xcb\x44\xfb\xa3\xfd\x44\x8c\x28\x65\xa8\x3f\xd4\x4f\x40\x13\xf4\x33\x60\xe5\x51\x0f\xa5\x44\x5b\xce\xa6\x9a\x8d\xdc\xc6\x4d\x25\x39\x3a\x11\x27\xe0\x5f\x65\x4d\x44\x03\x13\x60\x42\x4c\x76\x88\xea\x2d\xd4\x41\x0a\x3e\xa3\x12\x43\x52\x98\x2e\xa2\x62\x02\xab\x89\x02\x82\x9a\x15\x98\xb1\x43\x2b\xc8\x09\xd1\x5a\x62\x45\xd3\xd1\xac\xe3\xdc\xf1\xa3\x3b\x0f\x37\x8b\xf2\xa0\x50\x2d\xb1\xe3\xb5\xc0\xf9\x73\x6c\x72\x3e\x9f\x18\x92\xae\x30\xcf\x53\xe2\xb5\x7e\x65\x48\x92\x7b\x98\x34\x2a\xaa\x77\x82\x84\xfa\xdc\xc1\x4e\x68\xe1\xc3\x92\x6a\x8e\xca\x27\x4b\x32\xcd\xcc\xe1\x05\x55\x73\x7b\x45\x5b\xb0\x49\xa8\x6e\xea\xbd\xd0\xfc\x0e\x59\xe5\xa9\xf4\x55\x70\x15\x95\x96\x32\x8f\xd8\xfc\x6c\xef\xb4\xea\x3c\x32\x98\x57\x91\x93\xcd\xaa\xe6\xc4\xa4\xcd\x9f\xb6\x7c\xbb\xf0\x13\x61\xe1\x27\xb8\x09\xda\x26\x40\x2b\xf9\xb2\x7e\x55\x73\x06\x97\xb1\x3a\x37\xbd\x54\x9c\x80\xad\xb8\x09\xdb\x16\x3e\x46\xaa\xd2\x17\x3d\xb6\xf9\x81\xe1\xac\x6a\x0e\xee\x87\x02\x2c\x80\xfd\x30\x97\x12\x92\x07\x94\xbf\x2b\x61\xcd\xc0\xc3\x93\xa5\x2b\x72\x0f\xd0\x89\xe1\xbf\xc0\x55\x66\xde\x95\x91\xa7\x15\x40\x02\x09\xa3\x70\x14\x01\x7f\x97\x7f\x62\x24\xa3\xa3\xd8\x68\xc4\x5f\xf0\x97\x14\xa3\xb1\xd8\x61\x94\x8c\x92\xab\x56\x92\xe0\x17\xf8\x25\x45\x92\x6a\x5d\x92\x91\xfc\x24\x72\x99\xa9\x2e\xaf\xd2\xfb\x04\xbd\xaf\xd4\x6e\x30\x4c\x9f\x9e\x62\x36\xdb\xca\xcb\x59\x1c\x0c\x0b\xf9\x50\xbf\xa2\xb6\xd6\x6e\xad\x15\xab\xac\x41\x8f\x24\x9d\x38\x91\x52\x51\xe1\xa9\xb4\x57\xd9\x2b\x4d\x92\xd1\x4b\xd6\xaf\x5b\x5d\xb1\x9a\x8b\xf6\xcf\xe5\x47\x86\x35\x4c\x54\x13\xd5\x10\xb1\xd7\x59\x19\xd2\x84\x34\x04\x8c\x81\x31\xcc\x81\x03\xce\x37\xd7\x1d\x88\x89\x21\x29\xeb\x0e\xcc\x74\xae\x5b\xf7\xe0\x83\x29\xb1\x0e\xf1\xf5\xd7\x44\x72\x9a\x13\x68\x0b\xb5\x87\x87\xf5\xa1\x53\x40\x27\xea\x78\xf9\x30\x53\x6d\x1c\x20\xa5\xc4\x6a\x34\x16\x15\x17\x94\xe6\x19\xc9\x32\xb3\xa9\x4c\xcf\xe2\x26\x58\xc8\x43\x92\xc2\xef\x73\xbb\x7d\xe2\xc1\xd6\x23\x4d\x27\xeb\xc9\x5a\x4f\x55\x75\x1d\xdb\x50\x5c\x53\x28\x38\x9d\x4e\xd8\x40\xfd\xe5\x6e\xac\x98\xcb\x83\x21\x64\x65\xe0\x21\x5e\x26\xf8\x94\xa0\xbe\x28\x50\xc8\x95\x1b\xed\xb6\x72\x51\x17\x77\xaf\x40\x2d\x6a\x94\xd1\xb4\x47\xf0\x1c\x36\xe3\x52\x18\x87\xdb\x03\x06\xb1\xdc\x5f\x69\xa9\xe4\xbc\x5e\x97\xcb\x2b\x56\xfb\xa5\x1a\x7b\xcd\x66\x28\x6c\x83\xfb\x3f\xfd\x86\xfc\xf2\x23\x48\x7b\x09\xb2\x38\xd0\xa0\x56\xb1\xad\x4e\xd7\x6a\x10\x6c\x15\x92\xbd\x82\xab\xaf\xf3\x57\x07\x45\x38\x47\xdd\x68\x0a\xd0\xcf\xe7\x0d\xbe\x7e\xa5\xfa\xbb\xea\x88\x8e\x97\x7f\xb9\xce\x5c\xb7\xd5\xea\xb2\x72\xe5\xe5\x36\x93\x49\x9c\x3e\x9d\xb8\xce\xe2\x80\x72\xc0\xa3\x4c\xf5\xf7\xff\xea\x53\xf6\x27\xd3\x1d\x1e\x8f\xc3\x33\xe0\x99\x78\xe2\xc4\x00\xe3\x53\xff\x17\xe7\xa1\x28\x74\x9c\xe9\xec\x74\x9e\xcc\xe8\xc4\x9b\xe0\xa6\x94\x8c\xce\x45\xce\x8c\x8c\x28\x17\xe5\x52\xb0\x0e\xea\x06\x6e\x53\xf1\x26\xbc\x29\x23\xc3\xb9\xa8\x33\x23\x55\x9e\x12\x99\xd2\x99\x71\xd2\xd9\xd9\x99\x1a\x7a\x2d\xf4\x1a\x91\x0c\xdf\xf2\x21\x09\x24\xb8\x8d\x8a\xd0\x32\x0d\xb4\x12\x9e\xa2\xe4\x3b\xf8\xbd\x14\xdc\x49\x89\x28\xa1\x24\x51\x40\x47\xe8\x08\x0d\xb4\xe2\x62\x7c\x69\x04\x69\xe5\x03\x14\x68\x78\x11\x5a\xf8\x1d\x3c\x4c\xe4\xe3\x8e\x15\xef\x50\x63\x79\xa4\xe1\x1c\x85\xb4\xe2\x6f\xd4\x40\x4a\x72\x54\x0f\x3d\x7c\x6c\x34\x0d\xaf\x57\x13\x39\x4c\x0f\x7f\xdd\xf2\xbd\xf9\x7a\xb2\x5a\xf1\x37\x68\xe7\x43\x8b\x21\x97\xef\x89\x9d\xd4\x7c\x1a\xf4\xf0\x90\xac\x56\x28\x12\xd5\x8a\x79\x37\xf2\xa2\x8b\xa3\x8b\x7f\xe2\x53\x43\x8b\xa3\x8b\x89\xf6\xec\x26\x69\x1f\x1b\x87\xc5\x3f\x50\xad\x56\xdc\x9e\xe0\x54\x13\xfa\x44\x35\xb1\x41\xfe\x8d\xd9\x53\xef\xec\xd8\x5c\xaf\x0e\x5f\x0c\xe5\xa6\x6c\xae\xcf\x2e\xde\xc0\xc2\x3f\xf8\x0d\xed\xc5\x7b\xea\x85\xe4\xb5\xd4\x1c\x4a\x4d\x4c\x5e\x4f\x45\xa4\xcf\x29\x59\x52\x4c\xe6\xc5\x6b\xb4\x9a\x28\xbb\x91\xb0\x91\xba\x0e\xf1\x4b\x9c\x0a\xa7\x5a\xa1\x80\x1a\x2a\xba\x18\xf2\xf8\xd0\xe2\xd0\x62\x78\x88\x4f\x8d\x2e\x0e\x2d\x26\x06\x3c\x68\xa2\x8b\x41\x4d\xc5\xda\x31\x27\xd6\xd8\xeb\x70\x3d\x54\x3c\x39\xde\xec\xf8\x4a\xe4\x11\x54\x32\x3d\x94\x3a\x3c\x19\xf2\xf8\x64\x2c\x91\x19\x5e\xad\xb8\x29\xb1\x46\x3e\xc5\x64\x67\x4b\x79\xfb\x38\x68\xe2\xf7\x49\x4d\xed\xd9\x62\x0c\xb3\x81\x4f\x0d\x19\xd4\x78\x2b\xf3\x77\x4a\x1d\x2e\xf3\x50\xc9\x11\xfd\x3d\x6a\xc5\x8c\x04\x18\x1d\x6e\x4e\x54\x27\x55\xa8\x93\xfe\x16\x7b\xb1\x71\x02\x4c\x48\x31\xf0\xd1\xc2\x68\x61\xca\x4f\x7c\x28\x76\x1a\x70\x3b\x8a\x8d\x7e\x29\xf0\x10\x1f\xe9\x90\x3b\x52\xe4\x0e\xb9\x83\xb8\x81\xe1\xab\x70\x73\x62\xf8\xeb\xd0\x88\x58\xf1\x68\x61\xa8\x30\xc5\xc0\xe3\x04\x9c\x90\xf2\x13\x2f\x77\x44\x3a\x52\x22\x1d\x91\x8e\x9f\xf8\x54\x98\x80\x13\x76\x50\xa1\xc2\x50\x21\x91\x8c\x34\xf4\x87\x69\xe8\x4f\x70\x0e\x9c\x13\xd5\x49\xbd\x50\x46\xc5\x5e\x08\x45\x16\x0f\x2d\xbc\x12\xde\xe2\x63\x4f\x59\xb1\x21\xf6\xba\x28\xe1\x59\x5e\x44\x5a\x09\xfd\x7d\x4c\x1a\xb5\x98\xff\x6f\x85\xa2\xd2\x0d\x3f\x4c\x38\x45\xfd\x09\xb4\x96\x52\x27\x95\xc8\x0f\x31\x85\xa6\x42\xbd\x5e\x18\x3b\x96\xd0\xeb\x0b\x61\x17\x8f\xcf\xc1\x73\xf8\x1c\x3e\x47\xe8\xf5\x45\xa6\x42\xae\xb0\x30\x10\xd4\x8b\x63\xbf\x22\xf4\x41\x53\x7d\x3d\x5b\x1f\xa8\x0b\x06\x05\x88\xc3\xc0\x73\xb1\xc4\xba\x58\x62\x7d\x30\x28\x7c\xf5\x15\x11\x0c\xd6\x07\xe0\x0a\x65\xd2\x07\xc5\x01\x00\x78\x4e\x1e\xcc\x07\xea\xb9\xfa\xfa\x58\xda\x57\x63\x89\xa0\x3e\x50\x58\xc8\x16\x9a\x8a\xf4\x7a\x01\x9f\x1b\xa8\x2b\x96\x58\x54\xc8\xca\x77\x42\x2e\x93\x46\x21\x3d\x87\x1a\xec\xbc\xca\xab\x9a\xd5\x44\x52\xe8\x65\x00\x3e\x72\x28\x72\x28\x46\x9c\xa9\x90\x2b\x8a\x53\x83\xd7\xe0\xda\x9f\x8e\x30\xb1\xaa\x2f\x7f\x05\x33\x29\xc8\xc5\x5c\x79\x94\x3c\x12\x66\x52\x97\x63\x15\xf9\x0b\x0b\x59\xf0\xe1\xf8\x33\xbc\xea\x22\xdc\xca\x77\xf3\x20\xf5\x85\xb4\x20\x7d\x49\x85\x69\xd0\x5c\x77\xb7\xd6\xde\xf0\xda\x86\x57\xe3\xb3\x6d\x52\x48\xc3\xe0\xa8\xa1\x73\x27\xa5\x0b\x4b\xb3\x32\x17\xeb\x58\xa7\x12\xde\xe5\xf7\x2b\xbf\xfb\xee\x1f\xef\x75\x0a\xe7\x3a\x76\xee\x78\x95\x3d\x3c\xa7\x67\xfa\xfa\x4d\x7a\x7d\xa1\x90\x5f\x92\x57\xb0\x74\x36\x59\x6e\x36\x58\x8d\x9c\xc9\xe4\xf6\x5a\x44\x4c\xf9\xb1\xb4\xd2\xda\x20\xd5\xa4\xc2\xd0\xcf\x21\xf9\x5d\x78\x84\x83\xc9\xa0\x45\x1e\xa7\x8b\x32\x8d\x5a\x26\x8d\xea\xe6\x41\x07\xfd\xa0\x03\x1a\x74\xa0\xf9\x92\x0a\x4b\xa0\x61\x26\x50\x11\x2d\xbc\x4e\x5d\x81\xfe\x91\xd7\x49\xd2\x6c\xa2\x22\xd2\x15\xb8\xc2\xa3\x46\x89\x74\x98\xfe\x1f\x14\x6b\x62\x14\x6b\x94\x21\x3a\xa2\x61\xd2\x62\x9f\xda\x04\x39\x21\xa6\xc0\xee\x95\x25\x26\x1d\x87\xa1\x02\x15\x38\x2c\x9d\x84\x84\x16\x1e\x13\x94\x38\xec\x65\x54\x80\x22\x1d\x86\x91\x90\x00\xa7\x29\x4c\x50\xbc\x0c\xc3\x40\x01\x0a\x18\xf6\x32\x89\x09\x5e\x1e\x12\x94\x30\x2c\x1d\x14\xa8\x78\x19\x87\x91\x98\xf0\x38\x0f\x09\x0a\xf8\x1a\xb4\xeb\x29\x1c\xaa\x58\x0c\x19\x38\x11\x26\x62\xc6\x09\x12\x86\xb6\xf0\x38\x54\x89\x19\x8b\x71\x22\x4e\x5c\x8c\x19\x24\x0e\x7d\x9c\x87\xa1\x8a\x13\x98\x01\x13\x71\x22\x64\x2c\x26\x71\xa8\x97\x87\xa1\x4a\xc8\x38\x01\x13\x61\xe2\x09\xc8\x20\x61\xe8\x46\xea\x65\x3e\xfc\x99\xbc\x8c\xf9\x99\x47\x1e\xf8\x14\xe0\x81\xff\x99\x4f\xc5\xe1\x30\x1c\x14\x54\x2a\xf2\x18\x4f\x8f\x5f\x0f\xc7\xe1\x97\xf9\x54\xe0\x07\x12\x63\x97\xc3\x71\xf8\x6f\xb1\x5c\x3e\x96\xf8\x1b\x0f\xc3\x61\x38\x01\x19\x30\x9d\x19\x1a\x9f\xec\xae\x08\xad\x8f\xf5\xad\x7b\x7e\x8e\xf5\xac\x0e\xec\x48\xc1\x11\x30\xc2\xc0\xa7\xde\x73\x4f\xac\x5f\x1d\xc3\x63\x3b\x28\x79\x82\x3c\x81\x80\xbb\x1e\x65\x86\x52\x71\xbf\xe3\x8f\xe4\x64\x2a\x51\x4d\xa4\x85\xee\x64\xf0\x35\xb4\xa1\x1d\x7b\x31\xe1\x9e\xae\xd3\x0f\x0b\x21\x4b\xc8\x4c\xbc\x36\xbe\x73\x38\x26\xb0\xd7\x8a\xf0\x55\x66\xde\xe7\x9b\x7e\x86\x44\x16\x4e\x81\x0d\xec\xd0\x0b\x89\xbf\x6c\x9a\xfb\xb9\x20\x6f\x88\x2c\x61\xe4\x89\xf8\x1d\x7c\x1f\x79\x3c\xee\xf4\xfa\x7d\x64\x62\xe4\x09\xf8\x0e\xbf\x87\x6e\x0a\xbe\x97\x9f\x10\x92\xd5\xc4\xf4\xbc\x84\x3e\x35\xd1\x9b\x18\x5f\xb1\xbc\xb0\xfc\x8d\xa7\x84\xa8\x56\x01\x47\xe1\x28\xd1\xd6\x56\xd3\xb5\x97\xdd\x5b\xd2\x95\xd3\x26\x4c\x7e\x9f\x68\xcb\xc9\xb8\x2e\x4f\xe5\x88\x51\x31\x2a\x10\x3a\xc8\xa5\x36\xb5\xea\x84\x90\x18\x4d\x83\xb7\xa9\x0f\x3e\x24\xda\x5a\x6f\x94\x68\x15\xf0\x28\x1c\x23\x42\x5a\xc5\xdf\x8e\xbc\x71\x41\x1c\xa8\xc7\x19\xab\x47\x4d\xf4\xca\xfd\xcc\xde\xd2\x18\x4c\x54\x0c\x89\x37\xe4\xb4\x8c\x18\xde\xc9\x93\x89\x1c\x1d\xfc\x9b\xdf\xd4\xa6\x13\xe0\x28\x1e\x23\xa2\x5a\xc5\x53\xcb\x67\x4f\x8b\x0d\x1d\xd3\x8e\xcc\xfe\x9b\x10\xd2\x2a\xf0\x28\x1e\x25\x72\x62\x75\xb7\xe5\x08\x1f\x4c\x26\x74\x6d\x9d\xf0\x0c\xdf\xda\x26\x86\xe2\xd8\xda\xaa\xbb\xf6\xc6\x67\x43\x27\xe7\x25\xf4\xaa\x15\x43\x12\xd5\x8a\xe9\xf2\x9b\x31\xa9\xf0\x46\x6d\xd5\xb1\x56\x94\xe6\xe8\x62\xad\x10\xe3\x98\x32\x06\x30\xe5\xb4\xc2\x9d\x7c\x5b\xab\x08\xc7\xe0\x28\x11\xd5\x2a\x9f\x7a\x63\xf9\x05\x01\x68\xc5\x85\x37\x8e\xfc\x4d\x0c\x69\x95\x70\x2c\x56\x73\x1c\xa8\x4d\xfc\xe0\x03\xa2\xb5\xad\xa6\x33\x56\xd7\x64\x35\xd1\xf7\x67\x5d\x21\x6d\xac\xae\xc9\x1f\x10\xad\x37\xe4\x4f\x9d\x4e\xc4\x63\x18\x63\xc6\x75\x6b\x9e\x98\x08\x7e\x0c\x8e\x11\xad\xba\x1b\x10\x39\xe2\x93\x93\xaf\xb7\x69\x80\x9f\x84\x2e\x56\xcd\x40\xa3\xd2\x62\x12\x6b\x33\xd2\x6a\xc5\xe4\x04\x27\x6c\x4a\x2c\xe2\xc3\x34\xec\xe7\x23\x92\x2c\x9d\xe3\x51\x42\x9d\x12\x3f\x8d\x8c\x9a\x8b\xdf\xa3\x28\xae\xbc\xab\x0c\x95\x98\xc4\x62\xda\xbb\x38\xfd\x0c\xd2\x42\x95\xae\x2a\xa3\x36\x97\x34\x04\x02\xa6\x1a\xae\x29\x58\xd7\x58\x67\x6d\x70\xd4\x89\xb6\x1e\x7b\x4f\x0f\x2b\x6f\x83\xfd\xff\x90\x9f\x12\x40\x87\x92\xe2\x6f\x94\x2c\xc9\xb1\x8f\xf2\x5a\x2a\x64\x95\x75\x55\x7c\xa8\x25\x74\xb5\x8e\x4a\x46\xa5\x9a\xb8\x9c\x50\xad\x26\x2e\x27\x86\x24\xb9\xbf\x8e\x0a\x59\xc3\x57\xab\xf8\xe4\xd8\x80\x75\x25\xa4\x89\x0d\x58\xff\x4f\xb7\x6a\xa0\xd5\x78\x17\x53\x50\x52\x5c\x08\x7f\x50\xc5\xb5\x0d\x22\xbc\xa0\x6c\xa8\xad\x8d\x3b\xda\xd5\xd7\x14\x17\x88\x76\x18\xcd\x94\x38\x8a\xcb\x0a\x38\x9c\xa9\xc8\x2f\xae\xaa\x11\x0b\x43\x09\x44\xc0\x13\x08\x78\x05\x9f\x5f\xf2\x48\x1c\x64\x29\x24\xc9\x66\xf1\x8b\x01\xab\xc7\x64\x62\x93\x9d\x71\x73\x99\x97\xa8\x04\x70\x01\x7d\x05\xd4\xd0\x0f\xea\x2b\x31\x49\x57\x03\xcf\x32\x1b\x32\x0b\x37\xc4\x86\xa1\x0d\x99\xf5\xfb\xc4\xd3\x4a\x79\x83\x12\xb4\xd0\x8f\x5a\x65\x64\x83\x72\x9e\x32\xb2\x34\x74\x89\x59\x90\xfe\x72\xef\x3a\x7e\x6f\x5b\x41\x69\x55\x4c\x91\x7f\x98\x90\x0d\x57\x98\x05\xe9\xe9\x0b\x04\x5c\xa0\x80\x3b\xe0\x61\xa2\xba\xaa\xad\x61\x2f\xd7\xfb\x72\xfa\x02\x51\xfe\x0b\x4a\x2f\xf0\x91\x19\x0a\xb8\xfd\xc7\x1f\xe1\x76\xb8\x7d\xc4\x8f\x78\xfb\xb3\x33\xb7\x2e\x5e\x23\x22\x8d\x7f\x45\x1a\xfe\x4a\x9c\x58\x33\xb3\xe3\x59\x0e\x6f\x1f\x31\x02\x6f\x87\xb5\x94\x18\x99\x71\x2f\x85\xfd\xc3\xf8\x2b\x11\xcd\x67\x7c\xb8\xff\x49\x4a\xd6\xc0\x76\xaa\xb9\x39\x37\x4c\xc3\x3f\x6d\xbc\x9d\x07\x99\x42\x07\x3e\xf8\x3c\x3e\x82\xcf\x09\x4b\x96\xaf\x58\xb2\x78\x05\xa9\x2f\x2d\x31\x15\x70\xb1\x2f\x61\x43\xa0\x26\x58\x2d\x42\x05\x14\x41\x3e\xdc\x0b\xbf\x73\xb1\xaf\xa7\x2c\xc1\x62\xe6\xd2\x3a\x38\x8a\xc4\x23\x59\x4b\x17\x6a\x05\x14\x31\x25\xf2\xec\xc7\xb8\x72\x1a\x89\x07\x1e\x40\x3f\xe6\xe1\x7b\xec\x06\xcf\x06\xff\x46\xc1\x9b\xb7\x63\x81\x71\x2e\x2e\x9e\x30\x94\xcd\x0d\x98\xa5\x42\x61\xd9\xce\xc6\xcd\xe7\xff\xf5\x06\xa4\x9f\xe4\x0e\x5d\x99\x51\x74\x5c\xdc\x7c\xf9\x87\xa2\x2b\x1c\x8c\x82\x91\x87\x2e\x00\x27\xc2\x1e\x10\x60\x29\x2c\xef\x83\x3e\xb2\xba\x2f\xf0\x56\x1f\x9b\x8c\x7f\xc0\x58\x2a\xee\xd6\x83\x1a\x66\xc0\x75\x72\xc0\xf0\x21\xee\x3e\x89\x52\xf8\x2a\x03\x97\xb1\x0c\x9e\xc2\x5d\xa0\x12\x5c\x0e\x9b\x8b\xd8\x33\x6b\xdf\xe8\x67\xb0\x22\xa2\xdd\x18\x51\xb1\x78\x19\xca\xf0\x29\xd8\x85\x2a\xc1\xe1\xf2\x3a\x88\x8c\x73\x1b\xbe\x79\x17\x2a\x64\xed\x5e\x59\xc5\xc6\x75\x95\x70\x12\x0c\x4b\x90\xb5\x30\x2c\xf1\x10\x2f\xf7\x33\x58\x8f\x93\x70\x17\xce\xc0\xf7\x39\x7c\x1f\x77\xc1\x0c\xa8\xc7\x49\xe2\xbf\x61\x04\x0c\x81\xc1\x30\xe6\x13\x72\xf5\xb4\xdc\x89\x8f\xb3\x87\x79\xd8\x49\xe5\x7e\xb4\xfa\x82\x00\x63\x1e\x83\x21\x38\xf8\xdf\x38\x82\x8c\xae\x91\x69\x66\xdb\xf6\xed\xdb\x50\xf1\xc0\x03\xa8\x80\x65\x54\xe8\xcb\x08\xcd\xb4\x97\xb7\xea\x9b\x05\x78\x0d\x67\xe0\x57\xb0\x12\x81\x43\xc0\xaf\x70\x25\xbe\x86\x33\x44\x7d\x6e\xb9\x2e\x9b\xcd\xae\xd0\x05\x73\x05\x7c\x0d\x66\xc0\x57\xb8\x12\x80\x03\x80\xaf\x20\x1d\x4e\xc3\x0c\x31\xd8\x5c\xd1\xda\xce\x26\xc7\x1e\x9b\xe9\x06\xa5\xf2\xab\xb0\x8c\xc1\xa7\x3f\xc6\x11\xc0\x0d\x85\x87\xff\x17\x75\x38\xf4\x22\x72\x40\x3e\x22\x40\x9f\x7c\xed\x06\x45\xa3\x51\x09\xcb\x28\xf8\x03\xe6\x31\x55\xe6\x4a\x83\x5f\x08\xe6\x3e\x70\xb6\x80\xd3\x1b\xcc\x06\xb3\x38\xff\x7e\xa2\x6a\xce\x2c\xff\x6c\x2e\x42\xe0\x9b\xb8\x02\xcf\xe0\x62\xb1\x34\xcf\x94\x9d\xc3\x66\x07\x72\xaa\xf3\x04\x50\xe2\xb3\xf0\x08\xde\x0f\x0b\xc6\x91\x86\xc2\x8d\xf3\x8b\x58\xbd\xdf\x50\x69\x16\xf4\xcd\xff\x9e\xdb\xc0\x55\x55\xf9\x2b\xfd\xe2\x89\x2f\x61\xbd\x7c\x2b\xac\x95\x6f\x8b\x9d\x53\x5d\x6e\xa7\xcf\xcd\x1e\x88\xcc\x63\x3a\x6c\x1d\x96\x0e\x01\xbb\x22\x0e\x02\x9e\x7c\x1b\x94\x30\x01\x66\xb1\xb2\x16\x69\x66\x87\xa9\xb9\xb4\x45\x98\x08\x0c\xde\x01\x77\xe0\xed\xff\x98\x81\x49\x29\x40\x4c\xfc\xf7\xf0\xf7\x51\x89\x63\xd0\x82\x4e\x7c\x06\x0f\x67\x3f\x89\x29\x29\x70\x0a\x5a\x81\x87\xed\xb0\x50\xec\x3e\xd2\x7d\x62\xcf\x2b\x64\x75\x4b\xa0\x79\x07\x9b\xdc\xdc\x1d\x77\xcb\xb0\xf1\x61\x09\x1e\x8e\x75\xf1\x02\xf8\x83\x2a\xb9\xde\xc5\x6b\x6a\x61\x08\x5f\x5c\x20\xe2\x0b\x4a\xbb\x4c\x31\xa5\x8e\x62\xc3\xf5\x1e\x5e\x59\x2d\x16\xca\xcb\x08\xbf\xa7\x32\xe0\x8b\xf5\x70\xff\xf5\x1e\x6e\x8e\xf5\x70\x8b\xa7\xdc\xcc\x66\xc8\x5b\x99\x9e\xed\xe9\x3b\x96\x72\x4b\xd3\xb7\xad\xda\x2e\x46\x25\x75\xb8\x6c\xfb\x1a\xd7\x92\xd6\x35\xa9\x6b\x5a\x5f\xca\x39\xc2\xcd\xa1\x14\x47\x5e\x6a\xeb\x6e\x15\x5b\xbb\x5d\xc7\xb7\x77\x93\xc9\xf8\x47\x4c\x78\x26\x0a\x13\xd5\x44\xba\x9a\x48\x67\xa6\xf7\xa1\x66\xfa\xc8\x91\xa8\x41\x4d\x4a\xf4\x01\x18\x67\xf0\xe8\xad\xe5\xa6\x54\x59\xc5\x9b\x4c\xb6\x32\x97\x31\xd5\x6d\xf0\x1b\x25\x8b\xec\xc3\xce\x14\x0c\x62\x10\x17\xf4\x12\x2e\xbb\xcd\x69\xe3\xe4\x41\x94\x38\xf2\x7e\xb3\xc9\x6a\x74\x19\x53\x5d\x46\xaf\xb1\xc2\x02\x3e\x9c\x9b\x02\x73\xd1\xe7\x2f\xaf\xb0\x56\x3a\x52\x5d\x4e\xa7\x8b\x83\xa3\xbc\x78\xe5\x4a\x85\xe4\xa9\xb2\x55\xa5\x2e\x80\x05\x10\x84\x20\x74\x46\x7c\xb1\x02\x92\x3d\xd5\xe1\x71\x3b\xdd\x5c\x20\xe0\xf6\xfa\x44\xa0\xaf\x54\x56\xf8\xaa\x6d\xc1\x54\xd4\x84\x66\xc0\xc3\xf0\xf0\x95\x2b\x7d\xa0\x99\xde\x97\x9a\x9c\x66\xa3\xa0\xa7\x0f\xfa\xfb\xa0\x07\x34\x70\xf5\x55\xaa\xb3\xaf\x13\x68\xd0\xf4\x81\x06\xe8\x81\xeb\x4a\x5e\x4e\xa0\x18\xe8\xe2\xfb\x86\xc0\x01\x2a\xaa\x81\xab\x0c\xf4\x43\x0f\xf6\x2b\xfb\x86\x40\x3f\xf4\x63\xbf\x32\xaa\x91\xe9\x18\x84\xac\x8d\xea\x98\x18\x90\x36\x14\x3f\x0f\xdc\x77\xf1\x37\x0a\x0d\xc0\x86\xae\xd6\xf1\xd3\xcb\x28\xe8\xe9\xa7\xfa\x60\x1a\x8f\x3d\xca\x90\x2e\xfa\x27\xd2\x01\x5c\x07\xa8\xbe\x21\xd0\xc5\xa3\x24\xeb\xfe\x27\xf0\xff\x7f\x40\xa6\x66\xa0\xe3\x2e\xd2\x36\x3e\x34\x3a\x7c\x88\x81\xbb\x87\xe3\x9d\xff\xc0\xa9\x1c\xea\x1e\xe5\x41\xa7\x80\x91\x7d\x78\x2b\xde\x7a\x56\x3c\xf4\x6d\xcf\x37\xa7\x3f\x27\xc3\xe1\xe8\x21\x66\x17\x8f\x92\x12\x47\x4e\x87\x5b\xe1\xd6\xb9\xe2\xea\x07\x56\x8d\xd6\x3e\x4c\x62\x35\xcc\x84\xe9\xfb\xe0\x24\x37\x10\x7f\xe6\x2c\x1f\xa6\x93\x06\x20\x3f\xc2\x21\xd8\x8c\x55\x98\x28\xe6\xbc\x90\x3d\x37\x73\x1e\x89\x83\xe6\xcd\x18\x83\xa9\x7f\x56\xf2\x11\x0c\x81\x66\xa8\x82\x44\xb1\xed\x4c\xfb\xd9\x5d\xa7\x49\x18\x74\xfa\xfc\x65\x48\xe5\x40\x8a\x49\xa7\xb5\x25\x67\xf9\xe4\x81\xf9\xb2\x10\xcd\xc0\xef\x91\x7b\xa0\x3b\x52\x1e\x29\x8f\xdc\x83\x87\xf0\x37\x5c\x01\x29\xf8\x1c\xac\xc2\x9b\x85\xa5\xf8\xd8\x53\xb3\x67\x3c\x5d\x5c\x50\x58\xec\xcb\x26\x9d\x4e\xa7\x83\xf5\xe5\x34\x17\xb5\xb8\xbb\x7d\xdd\x81\xfd\x95\xf0\xe4\x61\x18\xf3\x19\xdc\x09\x24\x69\x39\x76\xc2\x76\x82\x93\xcb\xe5\x7b\xa0\x1b\x7e\x17\xe3\x9a\x64\x4c\x0e\xb8\x87\xc7\xe9\xb8\xd1\x98\x9e\x8e\x1b\x25\x98\x2e\xc4\x94\xe7\x7b\xf8\xc8\x28\xf8\x10\x4f\xc8\x73\xe5\xb9\xf0\x21\x9c\x90\x47\x09\xd7\xa4\x90\xb4\x9e\x82\xf2\x81\x68\x37\xfd\x7c\x58\x92\xe9\xff\x7a\x9f\xdc\xdc\x0c\x57\x29\x58\xc9\xb4\xb7\x3b\x7b\xb2\xdb\xa3\x85\xa1\x82\x01\xf5\xae\x20\x25\x3b\xdb\xb9\xaa\x3d\x1b\x26\xe0\x5f\xaf\xab\x78\xf2\x80\x6a\x17\xe9\xd8\x41\xc1\x04\xf8\x2b\x91\xdc\x9c\x01\x57\xa9\xd0\xe6\xeb\x65\x71\x02\xfc\x35\xc5\xc0\x47\x06\x94\x3a\xb9\xc3\xc0\xa7\xe2\x04\xfc\xeb\x00\x9a\xd4\x50\x61\xb4\x20\xae\xdf\x15\x10\xc9\x70\x1f\x7c\x39\x60\xab\x6a\xe7\x3b\x99\x80\xad\xc2\xea\x17\x50\x03\x5a\x22\x60\x36\x78\x8d\x5c\xa4\x5f\xa6\x41\xab\x98\xcc\xd7\x5a\x6a\x0d\x55\x22\xf6\xcb\x34\x51\xa3\x2f\xa8\xc8\xe7\xf2\x0b\xca\x4b\xf4\x22\xf6\x47\x68\xc2\x50\x66\x29\x2e\x86\xf5\x14\x68\x23\x1a\x05\x6a\x94\xd9\x96\x35\x07\x84\xb0\x36\x9b\x0a\xd1\xb2\x66\x3d\x85\x5a\x59\xa3\x00\x8d\xb2\xdd\xd7\xbd\x4e\x88\x07\xc3\x30\x79\xca\xbd\x16\x11\x34\xa8\x25\xca\xfd\x95\x56\x89\x93\xfb\x23\x34\x6a\xa7\x50\xc5\xbe\xe2\xca\x32\x11\x62\x48\x4b\x82\x0d\xc6\x46\xae\xb1\x41\xaa\x09\x8a\x10\xab\xb6\xb2\xca\x57\x5b\xcb\x26\xa7\x01\x52\x60\xa5\xfe\x74\xd4\x57\x65\x85\xe8\x21\x37\x4c\xe5\xae\x9b\xc9\x85\xff\x7b\x8a\xa0\xda\xd5\x1e\x93\x4f\xfe\x13\x77\xc9\xfe\xc9\xb3\xff\x3d\xee\x52\xd1\xe6\xe5\x93\xff\x77\xdc\xa5\xb6\xf2\x56\x4b\xeb\x40\xdc\x25\xd5\x86\x4e\x6f\x7b\x47\x67\xdc\xc8\x00\xbe\xa2\x0e\xf1\x61\x0d\xe8\xa9\xa8\xe6\x25\x0a\x6f\xfb\x69\x38\xdc\x26\xc4\x54\xdc\xb9\x7c\x32\xdc\x17\x1b\x9e\x94\x2f\x26\xaa\x95\x2f\xca\x9f\x32\x47\x16\x56\xad\x17\xae\xf5\x2b\xc6\x21\x35\x7f\xda\x5c\x11\xbf\x8c\xa4\x11\x45\x05\xc5\x39\x39\xec\xf2\x57\xca\xf6\x0b\xe1\x7e\xc5\x17\x40\x9d\xba\x70\x56\x84\x2f\xe5\x34\xa2\xae\xa1\xb6\xad\x8d\xc5\x2b\xf0\x1d\xe8\xa9\x48\xcf\x4b\x54\xb9\xcb\x58\xce\xfa\xfc\xf0\x95\x9c\x46\x5c\xf9\x14\x1e\x7c\x0f\xee\xe0\x42\xfd\x8a\xe4\x6b\x7a\x10\xe3\x73\x2b\x89\x21\x6d\xac\xe2\xfd\xfc\xff\x9a\xaa\xb9\x26\xc1\x58\xfe\xff\x67\x76\x26\x2c\x01\xbd\x91\x6a\x96\x25\x90\x12\x9c\x6a\xe5\x20\xb8\x8d\xba\x26\x01\xad\xbc\x48\x85\x25\xa4\x95\x7f\x4e\xdb\xc0\xee\x81\x39\x5c\x90\x4a\xa8\xc4\x10\x1d\xa2\x19\x94\x22\x31\x5d\x5f\xa6\xc3\x12\x83\xd2\xb5\xd8\x75\xac\x08\xa3\x96\xcb\x74\x3c\xd2\xea\xf0\x20\x35\x39\x48\x11\x1d\xc8\x8e\x0e\x80\x42\x4c\x7a\x55\x63\x19\x48\x71\xab\xb1\xfe\x04\x27\xf4\x24\xda\xf9\xf0\x43\xcc\xd6\xf4\xf5\xeb\x56\x65\x92\x2e\xa3\xd3\x68\x64\x71\x0f\x6e\xc0\xfe\xc8\x10\xbc\x05\x6f\xda\xf7\xfa\x68\xc1\x5e\x57\xef\xa8\xe7\x7e\xf8\x6a\xef\xe9\xbf\x89\x0f\xba\x9f\x38\x97\xf5\x0f\xd2\x5e\x5d\x6d\xaf\xe6\x1a\x6b\x3c\xbe\x06\x71\x64\xe3\x13\x97\x7e\x66\x5d\x4e\x97\x53\xe8\x2c\xee\x32\xec\x73\x90\x2f\x1c\xdc\xd8\xd7\xcf\x1e\xac\x3a\xd0\xb0\x47\xf8\x15\x69\x78\xf0\x51\x78\xca\x48\x5a\x6b\x1d\xf5\x75\x2c\x90\xdf\x7e\x0b\xe4\x1b\xaf\x65\xaf\x3a\x28\x1c\x97\x8e\x34\xf4\xb4\x15\x2d\xde\xb4\x72\xc5\xb6\x97\xfd\x87\xaa\x0e\xd6\x93\x20\xc1\x82\x34\x3e\x34\x1b\xaa\x61\x0b\x14\x27\xa8\x89\x3b\xa0\x1c\xfe\xc2\xcb\xbb\x4e\x53\x30\x07\x9e\xe2\x9b\xdf\xe7\xdf\x94\x5f\xfe\x16\xe8\xb7\xe1\x33\xbe\xef\xfa\xa4\x6b\x58\x13\x17\x45\x43\x5a\xe6\x1e\x3e\x26\x54\xc2\xa7\xf1\x68\x0a\x33\xa8\x98\x9c\x3d\x64\x2d\x7f\x4d\x8a\xbc\xc7\x00\x3d\x27\x36\x6c\x46\x68\xf9\x3d\x46\x4f\x5d\x93\x42\x43\x18\xa0\x65\x3a\x96\x24\xa1\x96\x01\x3a\x94\xa2\xec\x03\x9a\x08\x5d\x44\x41\x81\x94\x32\xc6\x6c\x06\x0e\x53\xea\xf0\x20\xc5\x06\x5e\x8c\xbd\xe2\x87\xf8\x39\x94\x22\x6e\x7c\xda\x1c\xeb\x8c\x21\x7a\xc0\xc2\x25\x76\x4e\x0c\xf5\x87\x25\x66\x0f\x95\xb9\x35\x10\xdc\x26\x04\xb7\x05\xb6\x66\xb2\xf0\x77\xea\xb7\xcf\x3f\xff\x6d\x57\x87\x49\xbf\x43\xd0\xef\x30\x75\xec\x62\xaf\xf0\x42\xe8\xeb\xa8\x96\xd9\x85\x9d\x50\xb7\xee\x80\x30\x10\xda\x4c\xf7\xe0\x83\xba\x6d\xdf\x4e\x68\xce\x15\x47\x8e\x44\x00\x20\x3e\xba\xda\x0b\x34\xa4\xb0\x90\x89\x23\xe1\x7e\xdc\x82\x9f\x5e\xff\x6f\x81\xfb\x71\x24\x64\x42\x0a\xd0\xbd\x1f\x5d\x15\x42\xe3\xa2\xe3\x60\x01\x7f\xba\xaf\xef\x74\xdc\xb0\x57\xc4\x2c\xc8\xba\x72\x85\xc8\x6d\xfe\xf4\x81\x1d\x5c\xeb\xd7\x5f\xb7\x8a\xc9\x70\xdf\x16\xde\x9a\x7b\x34\x17\x24\xb8\x1c\x7b\x9d\xe8\xc1\x16\x0a\x24\xd5\x13\x61\x3a\x44\x17\x51\x21\x29\x22\x31\xcf\xbc\x30\xf7\xe9\x67\xe6\x9e\x79\x0f\x56\x53\x61\x29\xe9\xcf\xbb\x6b\xbc\x2a\xf0\xee\xd9\xb9\xcf\x88\x11\x3a\xf2\x57\xa6\xc6\x50\x5d\xe2\x11\x70\x54\xab\xb1\x43\xbf\xb3\x74\x67\x6a\x47\xf7\xee\xfd\xbb\xba\x49\xaf\xdf\xe3\x0f\xb0\x1d\x48\xc1\xa0\x6d\x6d\x82\xcf\x6c\xf2\x94\x73\x26\x93\xdd\x62\x16\x91\x7a\x28\x27\x98\x5d\xb5\xad\x22\x55\x07\x0f\x10\x35\xf6\x92\xaa\x12\x0e\x67\x29\x4a\xf4\x86\x12\xab\x58\xba\xd8\xa2\xb5\x2c\xca\x32\x66\x1b\xb2\x4b\x51\xf9\x55\x8a\x37\x5e\x30\x13\x93\xf0\xd6\xac\x3c\xd1\x62\xb6\x9b\x4c\xac\xc9\x63\xf2\x9a\x85\xce\xb5\xbb\xd7\x75\xac\x2e\xcd\x2e\xcb\x2e\xdf\x86\x0f\xe6\xa4\x94\xda\x0d\xc5\xa5\x2c\xce\x54\x96\x54\x96\xd6\xd8\x05\x18\x95\x23\x6d\x0d\x66\xd5\x64\xa5\x66\xae\xd9\xb2\x2e\x73\x2d\x69\x35\xdb\xcc\x26\x36\x13\xa8\xb4\x1d\x39\x82\xc5\x1f\xb0\x55\x70\x81\x0a\xb7\xcf\x27\x02\xf5\x65\x9b\xbe\xbd\x6c\x47\x79\x6a\x2b\x3e\x40\x94\xb8\x6b\xca\x6a\x38\x98\xa5\xa8\x09\x56\xd6\x78\xc5\xea\x13\xbe\xd7\x7c\xaf\xec\xac\x68\xaf\x6c\xaf\x06\xe5\xd8\x14\x6b\xbc\xe0\x2e\x48\x82\xe4\x9d\x4d\xa2\xcf\xe7\x0e\x04\xd8\x0a\x9b\xdf\xea\x17\x32\x0e\x6e\x39\xb0\xf5\x50\x75\x7b\x55\x7b\xc5\x0e\x78\xb0\x2d\xa5\xda\x5d\x59\x5b\xcd\x86\x68\xfc\x89\x81\x93\x54\x3a\x05\x5f\x50\xaa\x27\x1a\x56\xfe\x68\x6c\x12\xe0\x55\x5e\x9d\xe4\x4a\x82\x93\x94\x6a\x4a\x3a\xa5\x32\xc2\x17\xd4\x40\x86\x6a\x16\xbc\x1a\x37\x4d\xd7\xf1\x21\x89\x81\xfd\x78\x01\x0a\x22\xa9\x50\xcb\x0b\xc7\x79\x51\xa6\x51\x62\xca\x78\x18\xff\xed\xaf\x30\x0c\x1e\x61\x93\xb7\xf0\x4e\x98\xca\x3b\xbf\x1d\xb0\xbb\x79\x03\xee\x80\x35\x40\xc3\x73\x40\x8f\x06\x7a\x1c\xd0\xaa\x17\x7d\xaa\x17\x9b\xe5\x44\x9e\x79\x80\x12\x54\xc1\xde\x98\x3e\x63\xe6\x45\x0b\x25\xf7\x33\xeb\xb6\x8e\x5d\xea\x10\x9a\x73\x6a\x96\x66\xb0\xaa\xad\x3e\x28\xe2\x3d\x05\xee\xfc\x7c\x16\x93\x1f\x5f\x8e\x84\x80\xb7\x2a\x90\x42\xc5\xbe\x83\x78\x93\xd8\x38\xff\xc1\xfd\xf3\xb8\x8c\x10\xdd\xa9\x50\xbd\xe8\xfb\x18\x6e\x81\x49\x67\x8f\x88\xed\x7b\xda\xf6\x74\xec\xfa\xee\xe7\x4d\xf0\x40\xdf\x5b\x24\xf0\xad\x93\xf1\x66\x11\xa9\x91\xe3\xf1\x66\x16\xae\x2a\xde\x39\x37\x7b\x9a\x08\xb4\x8b\x89\x21\x17\x90\x82\x9b\x51\x10\xf0\x69\xc5\xee\x37\x1b\xde\x78\x97\x7d\xc7\x7a\x76\xf3\x39\xe1\xbb\xc5\x23\x0e\x0c\xe5\x36\x66\xc4\x94\xee\x11\xf7\x75\xe2\x43\xb3\xa7\xaf\x5d\xb5\x21\x7d\xe3\x0a\x52\x15\xec\xdd\xb2\x66\xda\xd8\x35\xdb\x48\xdc\x19\xeb\x63\x51\x1a\x0e\xf1\xd0\xa3\x50\xbd\xd8\xdc\xf1\xe9\x16\xc3\x2e\x71\x19\xa4\x40\xca\x4a\xb8\x9b\x53\xbd\xe8\xfb\x46\xb1\x5f\x01\x8b\xf8\xf6\xc3\xd5\x27\x4f\xb2\xad\xb6\x36\x73\x8b\xd0\x79\xbc\xfe\xcc\x59\x36\xd9\x46\x2d\x18\xe0\x10\xa4\x0d\xd8\x04\xbf\x0e\x77\xc0\x5a\xa0\xe1\x56\xa0\xa7\xfd\xc9\xa5\xd9\xbd\xaa\x0f\x6d\x20\x85\xfb\xe3\x6c\x7a\xe4\x3f\x6c\x8a\xf4\x33\xd3\x66\xcd\x7e\x56\xc0\xab\x0a\xbc\xf9\xca\x78\xa4\x58\xbc\x59\x37\x19\x79\x61\xfa\x5b\x5d\xf0\xc0\xfd\x3f\x6f\xdd\x95\xb3\x27\x7b\x0f\x79\x76\x39\xde\x02\x93\x1e\xe7\x32\x14\xaa\xd9\xbd\x21\xba\x53\x79\xfa\xeb\xfd\x8d\xa7\xc4\x83\x70\x13\x28\xf6\x01\xc5\x01\xad\x50\xcd\x6e\x86\xc4\xf7\x17\xe1\xcd\xa2\x6a\xb6\x2f\xdf\x9e\x6f\x2b\x10\x5e\xd2\xb5\xbe\xb0\x8c\x55\x7d\x68\xcb\x31\xe7\xe8\x73\x85\xbd\x19\x8d\xab\x97\xb2\x19\x25\x4b\x73\x73\x04\xd5\x6c\xdf\x31\x47\xc7\xd8\x75\x2c\xd0\x0e\x46\x35\xbb\xf9\x6c\xe1\x99\x8c\xe3\x82\xbf\xc5\xd3\xd6\xca\xaa\x66\xf7\x9e\x2c\x3d\x99\x7d\x58\x70\xd7\xb8\x6a\x6b\xd8\xbe\xdc\xbe\x35\x27\x05\x9f\x52\x75\xb8\x17\x66\xbb\xf0\x4e\x18\x84\xcf\x73\x98\xa4\xc0\xd1\x78\xc7\xda\x45\x38\x4c\x34\x64\x4e\xd8\xb2\x95\xc3\x9e\x18\x6d\x7f\x32\x72\xa7\xa2\x7b\xdb\x85\xb1\xbb\xd7\xec\x5d\xb1\x2f\xfd\xe0\xea\xd7\x9f\xdf\x8c\x0f\xfd\x78\x1f\xa9\x6b\xeb\x2c\xd9\xcb\xfd\xfa\xe3\x81\xef\x4e\x88\x7b\xde\xf0\xbe\xf1\x36\xfb\x6e\xc1\x1b\x5b\xde\x14\xe0\x69\x45\x8c\x41\x02\x50\x70\x33\x08\x62\x72\xf4\x8f\x47\xd5\x8a\x71\x09\xce\x50\x7f\x62\xa8\x5f\x4d\x5c\x62\x9c\xca\x5c\x9e\x70\x2a\x93\x9b\xd5\xc4\xa0\xb8\xe7\x4c\x78\x32\x83\xd3\x71\x26\x3e\x61\xb3\x09\x91\xbf\x47\x4e\x47\x3e\x92\xcf\x10\x76\x37\xce\x84\x27\x60\x3a\x0b\x7b\xe1\x85\xd7\x41\x03\xf7\xc1\xe3\xf8\xf0\xcc\x57\x85\xb6\xcc\x93\xce\xb6\x5d\xe4\x9b\xaf\xc2\xe3\xf0\x30\xdc\xc7\x81\x06\x5e\x98\x83\x7b\x45\xa0\x87\xfc\xdf\xae\x2e\xb0\x95\x4f\x4e\x83\xed\x7c\x62\x88\xbe\xc2\x1c\x58\x63\xc9\x16\xb0\x47\x11\x5f\x98\xd1\x0e\x2c\xcc\x40\xbf\xe2\x48\xe9\x85\x8e\xa5\x94\x88\xfd\xff\x7d\x99\xf5\x7a\x8e\x18\xd6\xc8\x3d\x5d\x54\xec\x5b\xe7\x09\x3d\xff\x2d\x98\xa0\x2a\xc1\x09\x06\x28\x02\x15\x14\x81\x05\x8a\xc0\x90\x08\x06\x48\x66\x42\xcf\x43\x51\xf4\x79\x65\x6d\x38\x8d\x79\x6e\xd1\xfc\x09\x82\xd3\xa1\x9c\xb8\xe8\xd4\xdb\x17\x5e\x7d\xf5\xe3\x8f\x4f\xbc\x38\xcd\x25\xca\x9f\x5d\x4b\x63\x64\xa5\xf2\xdb\x4d\xe7\x1f\x9d\xbe\x36\x7d\x55\xa1\x60\x2e\x76\xe4\xe6\xb1\x91\x14\x2c\x72\x2a\x3d\xa1\x9b\x6d\x6f\x39\x59\x28\x1a\x6e\x57\x1c\xdf\xfd\xda\x45\xb8\x3d\xa6\xe7\x2b\xee\xc5\x8d\x62\xe4\x6e\x25\x18\xc2\x85\x69\x7c\xe4\x8f\xd8\xb0\x9b\x00\x12\x68\x12\x65\x5d\x48\xc3\xc0\xa7\x94\x20\x6b\x95\xa3\xa8\x19\x94\x10\xd1\x2a\x43\x1a\xbc\xca\xc0\xa3\x78\x3b\x8c\xc1\x14\x41\x96\x94\xed\x7c\x4c\x72\x12\xa3\xb4\xe2\x86\xf4\x24\x46\x24\x25\xa6\xe0\xed\x38\x06\x1f\x1d\xcd\x8b\xf2\xbd\x8a\x0f\x23\x05\x44\x91\xa7\xba\xac\x8e\x73\xba\x9c\xce\xba\xea\xea\x3a\xb7\xf0\x8a\x9c\x47\xc8\x4f\x0e\x18\xa6\x5a\x28\xf8\x9c\xd2\xf1\xf2\x55\x78\x8b\xc2\x7e\x58\xc8\x87\xb4\x1b\xf9\xa8\x76\x2e\x2f\xd3\xea\xa4\xe6\xf5\x54\x44\x9a\x32\xb0\x6e\xf4\x34\x3e\x1d\x4d\x8b\xa6\x4d\xa3\x40\x81\x8a\xf9\x7c\x28\x2d\x94\x16\x4b\x83\x37\x28\x27\xc4\x85\x94\x04\x1d\x0f\x74\x62\xdc\x86\xb8\x8b\x82\xab\x70\x95\xb9\x9f\xc2\x7e\xc5\xf2\xea\x69\x5b\xd7\x75\xfb\xda\x45\xe8\x51\x40\x90\x17\xa3\x5a\x65\x16\x25\x5c\xcf\xe8\xa6\x44\xe8\x1f\xce\x27\xa7\x75\xf3\xd7\xe3\x54\xc8\xfd\x20\xc9\xfd\x40\xd3\x8f\xca\xcb\x43\x77\x31\xb8\xa8\x07\x53\x41\xfd\x3d\x7b\x05\x24\x25\x8e\xed\xc4\xe4\x97\x1e\x14\xc2\xe7\xa1\x83\xb9\x0f\x53\x51\x8d\x8b\x56\x09\x2f\x7d\xdd\x09\xc9\x30\x96\x05\x69\xa4\x22\xde\xb7\xc7\x51\xd8\x73\x45\xb1\x90\x8a\xf4\x2f\xa3\x46\x62\xcf\x75\xef\x39\x5a\x89\x2f\x40\x21\xae\x83\xb7\x8a\x85\x43\x0b\x0f\x6c\x69\x28\x21\x7b\x97\xd4\x2c\x9a\xce\x4e\xcf\x98\x3e\x72\xe4\xc8\xe9\x23\x85\x27\xf8\x50\xff\x23\x7c\x9f\xf2\xca\xc8\xbe\x91\x23\x33\xfa\xfa\xfa\x6a\x4e\xf6\x1e\x17\x1a\x6a\x0e\xec\x3e\xf4\x0a\x09\x6f\xd5\x42\x21\xac\x83\x17\xd8\x64\x68\x39\xff\x4d\x5d\x68\xc9\x41\x0a\x1e\xdc\x01\xe9\x50\x21\xc7\x24\x72\xb9\x0e\xbe\x64\x6c\x36\xb3\xcb\xe2\xb5\x7a\x1d\x7e\xb7\xc7\xe3\xf1\x3b\x7c\x56\xaf\xd5\x65\xb6\xdb\x48\xa7\x72\x6b\x0f\xe3\xb1\x38\xcd\x36\x3b\xe9\x54\xda\xec\x16\xb7\xd5\x67\xf3\x3a\xfd\x1e\xb7\xd7\xed\xb3\x7b\xac\xe4\xaa\x43\x8c\xc3\x66\x75\x5a\x5d\x56\xb7\xdd\xe3\xf6\xb8\x3c\x5e\xa7\xc7\xe1\xb5\xbb\xad\x8e\x58\x81\x66\x1d\x63\xb3\x59\xdc\x36\x8f\xcd\xeb\xf0\x7a\x3c\x6e\xb7\xcf\xe1\xb1\x7a\x6d\x4e\x8b\x3d\x96\xfb\xf9\x64\xc6\x6e\xb5\xd8\xcd\x6e\xb3\xdb\xea\x73\x79\xdd\x5e\x9f\xdb\x6f\xf7\xdb\xbd\x16\x87\x95\x74\x2a\x5f\xb2\x31\x56\x8b\xd5\x6c\xb6\x78\x63\x3f\x7f\xc0\x67\xb5\x0a\x4e\x65\x77\x80\xb1\x5a\x2d\x66\x87\x60\x76\x58\x3c\x0e\xaf\x23\x96\xe5\xf2\xbb\xfc\x76\x57\xac\x4c\x68\x08\xbc\xcb\x60\x2e\x8e\x40\x2d\xae\x98\x26\x6c\xb3\x18\xeb\x6a\xea\x5d\xaf\x5d\x60\x8f\x17\xee\x29\xa8\x13\x40\x51\x0d\x7f\x79\x19\x16\xb1\xa7\xf3\x8e\x6c\xda\x2f\xf8\xaa\x1b\x5e\xdd\xfa\x1e\x99\x5e\x7d\xdf\x73\x4e\x36\xb8\x2a\xdd\xb7\x82\x5b\x91\x6e\xd1\xaf\x12\x9d\xf7\xbd\x9d\x5e\x2a\x6c\x7d\xba\xe1\x45\x5f\x29\xb9\x69\x7d\xde\xf2\x79\x2c\x2e\x84\xbf\xac\x00\x45\xa9\x50\x5c\x5a\xaa\xb3\x6c\xca\x2c\x9d\xac\x5b\xfe\x31\xb9\xf5\xc4\x22\xaf\x93\x5d\x74\x34\xc3\x29\xee\x2d\x6e\x9d\xe3\x64\x77\x3f\x08\x77\xef\x71\xb2\xae\x74\xe7\x6a\x3d\x5b\x62\x2c\xda\xe6\x13\x70\xc5\x05\x1c\x01\x5a\xc8\x65\x61\x2e\x05\xf1\x25\x76\xdc\x2f\x80\x24\xeb\xd2\xe2\xa6\x77\xd7\xdd\x00\xfa\xce\x50\x91\x49\x8a\x27\xb3\x9e\x9e\xff\x68\x4c\x6b\x78\xf4\xe9\x53\xef\x67\x89\x91\x49\x30\x9e\x0a\x2f\x65\x06\xc2\x76\x45\xb4\xb2\x36\xa5\x5a\x5f\xe8\x2f\xe2\x8a\x0a\xe3\xc6\x18\xda\x88\x16\xa6\x53\x20\x45\xb4\xf0\x3a\x2f\x6b\x41\x52\x0e\x84\xf9\x8a\x0d\x0b\xb1\xe1\x42\xc0\x04\xb8\x53\x9d\x74\x40\x4e\xa0\x40\x18\x0b\x69\x3c\xde\x01\xf4\x5d\x40\xab\x93\x8e\x02\xfd\x28\xd0\xaa\x40\x9a\xea\xa1\x34\x35\xa1\x0f\x2d\x66\x70\x17\x2e\xc6\x33\x58\x37\x5a\xc8\x7c\x14\x93\x4c\x0f\xa1\x02\x13\xf7\xa0\x62\xd1\xd2\xed\x8b\x39\xd5\xdc\xb4\x2d\x45\xad\x1d\xe2\xe1\x96\x97\x8e\xb2\x2a\x5f\xf3\xa7\xd9\x1f\x7f\xca\x82\xf9\x5d\xe8\x82\xe5\xf0\x80\xf0\xfa\xe1\x0f\x3a\x2f\xec\x24\xf7\x7e\xfe\xd5\xbe\x6f\x38\x95\x25\x0d\x6e\x01\x62\x09\xdc\xd2\xdd\x2d\x75\x73\x5e\x9f\xd3\xe1\x15\x55\x81\xc9\x52\x91\x2b\x2f\x7f\xb9\x61\xf9\x32\x76\x7e\x55\x56\xe3\x12\xa1\x6e\xb5\x84\xb7\x2d\x65\x81\x76\x33\x7d\x65\x90\xaa\x3b\x2b\xa8\x02\x69\xfa\x4e\x63\xcd\xfe\x23\x95\x47\x8f\xb0\xbf\xae\xfa\x14\x15\xc2\x9a\xb5\x86\xb5\x78\x33\x12\xc7\xf1\x16\x4e\xe5\x98\x8c\x89\xc3\xd6\xad\xba\x47\x54\x05\xd2\x1e\xdf\x3c\x7e\xdd\xb4\x17\x49\x2c\xc3\x69\x1a\x7c\x07\x0f\xb0\x2a\x4b\xda\x5f\xdb\x1f\x9f\xb0\x6c\xfb\xca\xa5\xac\x6a\x6e\xda\xa8\x0f\x1e\xfa\x41\x38\x79\x7c\xd7\x71\x20\x20\x29\x13\x14\xdc\xaf\x70\x9b\xb4\xef\x07\x11\x2e\x42\x12\x14\xc1\xaf\xf0\x39\x9b\x2c\xdf\x46\xe9\x78\x38\xc1\x04\x9c\x01\x5b\x40\x30\x35\x2f\x6e\xc9\xab\x7c\xa1\x73\xee\x9e\x79\x5d\x64\xdd\xb6\x8c\xdd\x9b\x67\x3d\x84\xcf\xcd\xe7\xb2\x36\xb4\xd7\xe4\x88\xf8\xfc\x4f\x38\x18\x06\x0f\x87\xe7\xc9\x92\xb6\xec\x7d\x3b\x4f\xc1\x73\x5f\x9e\x63\xf7\x6c\xe9\x2c\xda\x21\x6c\x3a\xbd\xf9\x6c\xc6\x19\x43\xd3\xf6\x13\xb9\x01\xd2\x63\x32\x39\x4d\xdc\xfa\x67\x8a\x8a\x37\x89\x8b\x73\x33\xe6\x65\x2f\x27\x33\xe6\xe4\xcf\x7e\x96\x1d\x7d\xf0\x91\x3d\xe3\x85\x96\x59\x3b\xe7\xec\xd5\x5e\xc5\x27\x60\x25\xae\x84\x27\xee\x7e\x6d\xe3\xeb\x59\xe7\xb6\x93\x9b\x2f\xfd\x73\xed\x37\xdc\x3b\x6f\x34\x76\xbe\x2e\x1e\x69\x3f\xdd\xd9\x7c\x82\xac\xed\xaa\x7b\x77\xff\x80\x81\xf2\xc0\x60\x17\xbe\x0a\xe7\xf9\xf8\x48\xd4\x3f\x60\x2f\x01\x3d\xa8\x61\xee\xa7\x9c\xd1\x7e\xe5\xbd\xff\x23\xf6\x70\x72\x44\x0f\x7b\xa9\x81\xf1\x2d\xd1\x42\xc1\x79\x5e\x8d\xc3\x95\x91\xc7\xe4\xfb\x1f\xba\xf4\xd0\xf8\xc8\x63\x91\xfb\x09\x75\xd2\xc7\x61\x49\x19\x04\xda\xcd\x97\xf3\x76\x1e\xae\x30\xdb\xf4\x0b\x0d\x39\xc2\x73\x5b\x70\xf0\x92\xa9\xdc\xb3\xb3\x76\xb6\xce\x14\x71\xeb\x27\x68\x04\xe3\x63\xb0\x95\xd4\xbd\x99\x75\xee\x1d\xf6\xe2\x71\x18\xfc\xf6\x6e\xa1\xb2\xed\x95\xe0\x0e\xce\xe7\x77\xda\x7d\x62\x83\xf9\x7d\x1c\x5e\xb7\x95\xac\xca\x6f\xd1\xe9\x56\xe0\x9d\xcf\xaf\x61\xf3\x1a\xb2\x2b\x0b\x84\xf7\x31\xe5\xf2\x18\x48\x79\x92\x34\x34\xb4\x17\x34\x75\xbf\x05\x77\x1e\xe6\x5a\x5b\xb7\x97\x35\x8a\x1d\x45\x30\xfc\x49\x7f\x01\xe9\xb6\x38\xcd\x16\x16\xa4\x50\x43\x1a\x9f\xd6\x9c\x9b\x70\x58\xad\xb8\x37\x51\xad\xd0\x86\x23\xcc\xdc\xec\x19\x05\xcf\x9b\xde\x39\xf4\xca\xf9\xb6\x0f\x66\xae\x7b\x26\x6b\x4a\x09\x79\x7e\xce\x23\xdd\xa3\x39\x9c\x86\xc3\xf0\x1e\x9c\x9a\xed\xc9\xf6\xe5\x88\xd8\x5c\x83\xe5\x40\xe3\x38\x58\x48\x6e\x5d\x52\xa4\x9d\xcd\x62\xd2\x99\x7b\xff\x35\x57\x58\xe0\x5e\x54\x9b\xde\x46\x3a\x9c\x76\x07\x8b\x63\x21\x11\x87\xc0\xbd\x5b\x04\x53\x56\xa6\x35\x93\xcb\xcd\x73\x7b\xf2\xc4\x1e\xa4\xe1\x96\xd1\x70\xb7\x8d\xd4\x60\x22\x8a\x0b\x71\x24\x97\x95\xed\xf2\x6c\x13\x1f\x84\xa1\xf0\xc4\x02\x98\xce\xc9\x97\xe1\x23\xb9\x4c\x9e\x54\xe3\xac\x71\xd4\x88\xe7\x8f\xbe\x76\xe6\x70\x1f\x99\x1c\xd5\x87\x6e\x81\x13\xf0\x39\xec\x4a\x80\x5f\xe0\xf5\xc4\xf0\x3c\x35\x71\x95\xf1\x66\x8d\xae\xc0\x41\x1c\xe6\xe2\x83\x28\xa0\x5f\xc4\x4c\xac\xc0\x13\x50\x11\x75\xc2\xeb\x21\x27\x04\x94\xdd\x70\x82\xc0\xa3\x30\x57\x71\xa9\xf5\x75\xb8\x4d\x80\xb1\x8a\xe4\xb1\x6a\xe2\x63\x75\x78\x04\x3c\x39\xd8\x09\x7b\xa0\xac\x2f\xf4\x38\xec\x51\x1d\xf9\x6f\x0b\x20\xa2\x2a\x1f\xbf\x86\x2c\xec\x81\xb3\xf7\x08\xdd\xa6\x9a\xb6\xa6\x46\xc7\x1b\x7d\xac\x13\x37\x2d\x5b\x0e\xbc\xe0\xdc\xf0\xe5\xa2\x56\xc1\xf9\xcc\xf1\x0f\x1c\x82\xf3\x43\xf3\x4b\x53\x84\x77\x90\x82\xa4\xbd\x87\x9b\x02\x27\x9a\xf6\xb6\x34\x91\x38\xa9\x11\xa7\xbd\x0d\xc7\xd8\x7f\xee\xbe\x70\xe2\x94\x50\xde\xb4\xed\xa3\x97\x7e\x23\xfb\x9a\x60\xc4\xbd\x4e\xb6\xfe\xdc\xdb\xd2\x5b\xdc\x5b\x6f\x1b\x0b\xcf\x89\x4e\x18\xf1\x43\x5f\x9e\xf0\xd2\x5d\xdb\x26\x96\xe7\x91\x27\xe6\xef\x9e\xf6\x08\x8b\xc7\xf1\xd9\xe7\x71\x52\xbe\xd0\x91\xd3\xb6\xec\xa9\x61\x8e\x47\xb3\xd9\xbc\x9a\x9c\xee\x80\x00\x67\x7f\x86\x2c\xe8\x81\xaf\x59\xd5\x91\x91\xbc\x10\xd9\x76\xed\x0b\xc6\x6e\x8d\x0d\xc9\x66\x8f\xcd\xe7\xf6\xba\x3d\x3e\x97\xdf\xee\xb7\x79\x2c\x76\x2b\xb9\x67\x23\x63\xb5\x9a\xdc\x16\x9f\xc5\xef\x08\x78\x3d\x5e\x6f\xc0\xee\xb3\xf8\xcc\x2e\x93\xd5\x46\xee\x5e\xce\x58\x6d\xe5\x1e\x4b\xc0\x12\x70\x56\xf8\x3c\x3e\x6f\x85\xcd\x6b\xf2\x99\x9c\xe5\x16\x2b\xf9\xd2\x4a\xc6\x6a\x31\xba\x4c\x01\x93\xdf\x2e\xf9\xbc\x5e\x9f\xe4\x08\x98\xfc\x66\xb7\xd1\x6a\x25\xcf\x64\x33\x76\xb3\xd1\x56\xee\x31\xba\xcd\x01\xb7\xdf\xed\x97\x3c\x15\x76\xc9\xe6\x37\xd9\xcd\xe4\x79\x0b\x63\x36\x59\x8c\x82\xc1\x61\xf2\x05\x58\x7f\xc0\x27\x09\x92\xab\xc2\x62\x62\xcf\x56\x32\x2e\xb3\xd9\x6c\xb4\x1b\xed\xe5\x5e\x87\xdf\x11\xf0\xfb\x25\xb7\xe4\xaa\xb0\xba\xcc\xe4\x7f\xfc\x3a\x42\x12\x68\xe3\xbe\x29\x87\xf8\xb0\x96\x81\x61\xbc\x80\xda\xa8\xe6\x9f\xbc\xdc\xaf\x5c\xca\x8f\x04\xad\x02\x06\x53\x28\x3d\xc8\xf7\x6d\xa4\xe0\xbe\xb8\xc3\x35\x2d\x93\x31\xe1\x5c\x8a\xbb\xc8\xa8\x15\x97\xe0\x7e\x4a\x1d\xea\xdd\x4c\xa9\x15\x93\x17\x53\x31\xa4\x22\xaf\x0e\xf5\x22\xcd\xa8\x15\x93\x61\x1a\x8f\x3a\x75\xa8\x0c\x74\xd0\x49\xa9\x71\x10\x03\xbb\x29\xf9\xea\x21\x3e\x72\x55\xd9\xc0\xab\xc3\x69\x40\x33\x31\x45\x16\x25\x45\x4c\x7f\x67\x16\xf0\x11\x5a\x11\x1b\xa8\x62\x4a\x79\x26\x2f\x4b\x78\x1b\x53\x08\x1b\x47\xc3\x32\x1c\x05\x23\x71\x24\x8c\xc2\x65\xdf\xe0\xc6\x7a\xd2\xee\x70\xda\xb9\xa2\x22\x73\x59\x99\x58\xa2\x37\x15\x16\xb0\xc8\x29\x37\xb5\x67\x75\xd9\x04\x38\x9b\x09\x16\xb4\xec\xc2\xb3\xe4\x26\xcf\xce\xec\x2e\x0e\x38\x45\x43\x7d\xa0\x26\x28\x06\xab\xfd\xf5\x8e\x06\x52\x96\xec\x4c\x01\xfc\x82\x23\xe0\x33\x74\x83\x0b\x5d\xe0\xc6\xcf\x60\x04\xfe\xd2\x40\x3a\x1c\x4e\x47\x0c\xab\x5e\x2f\x96\xea\x4d\x45\x05\x2c\x0e\x55\x6e\xda\xb1\x75\xaf\x5d\x90\x3f\xda\x28\xaf\x8e\xac\xee\x8a\x7c\x44\x6e\x74\x77\x6c\xdb\xcb\xc1\x50\x45\x43\x5d\xa0\x3a\x28\x56\xc7\xb0\xd6\x93\xc9\x4e\xa0\x21\x09\x34\x90\x04\x97\xe3\x02\x52\xc8\x04\x9a\x2b\xf1\x7b\x3a\x31\xdc\x0e\xfd\x0c\x78\x79\x90\x86\xc4\x8e\x49\xa8\xa9\xe3\xd5\x38\xb9\x8c\x82\xfe\xfe\x38\xc7\xa6\xf1\xd8\xaf\x54\xe3\x43\xb2\x8e\x81\xb1\x72\x2e\x51\xef\x6b\xac\x6e\xe0\x42\xad\x8a\x86\xc6\xd2\x42\x9f\x08\x63\x23\xb9\x04\x4c\x45\x0d\xb3\xb3\xbc\xb5\xbc\x5d\xc0\x45\xf2\x2f\xc4\xbb\xba\x67\x4f\x3c\xc9\x45\x5b\x15\x4f\x3e\xbb\xf8\x19\x9d\x88\x8b\x22\xbf\x10\xe5\xd9\xe5\xba\x2c\x16\xfb\xe3\xf1\x56\xcf\x53\xcd\x61\x0e\x6e\x4d\x80\x87\xa8\x43\x7c\x98\x66\x64\x5a\xf9\x31\x85\x1a\xd4\x62\x3f\xea\x22\x34\x17\xd1\x2d\xa3\x50\xbb\x9e\x87\x64\xc5\x33\xb8\xfd\x73\x9c\x7a\x16\xa7\x7e\x3d\x1e\xaa\xdc\x6f\x42\xf2\x5d\xff\x18\xfb\xe9\xbb\xa0\x9c\xf8\x49\x0f\x88\x70\xcb\x21\xf8\x31\x13\x0e\xe1\x0a\x98\x8a\xf7\x92\xed\x7c\x3c\x9e\x3f\x49\xbd\xf7\xc2\x99\xa7\x45\xa4\x23\x3f\x31\x58\x03\x4b\xd1\x0f\x04\x06\x3a\x48\x68\x55\x42\xa0\x03\xfc\xa0\x84\x1a\x58\x4a\x26\x37\xa3\xf4\x09\x3c\x0d\x34\x26\x41\x52\x4c\x6e\x1e\xbc\x80\x07\xfa\x93\x4f\x40\x0b\x3d\x40\xab\xde\x0e\x0f\x43\x0d\x03\x4b\xa8\xef\x29\x21\x3a\x1a\x7a\x18\x98\x06\xcb\xff\x05\x3b\x41\x66\x81\x81\x64\x98\x07\xb5\x50\x0b\xc9\x38\x0f\x19\x94\xff\x85\x3b\x61\x1a\x2e\x17\xe0\xf9\x21\x78\x2f\xdc\x81\x93\x41\x27\xe7\xb1\xa0\xc5\x71\xb0\x0e\x1b\xba\x05\x08\xf0\x82\x6a\x6f\x4c\x8c\x2c\xf1\x94\xfa\xf4\x22\x36\xac\xc1\x71\xb8\x0e\xb5\xac\xea\xed\x48\x1e\x4e\x46\x1d\xde\x8b\x77\x08\x03\x21\xb1\xb5\x0a\xd5\x3f\xf1\x2e\x50\xa2\x12\x98\x98\xf8\xfe\x01\xbf\x96\x52\x13\xe9\x21\x9a\x01\x01\xb8\xc6\x86\xc0\x4e\x73\x7b\xaa\xa9\x3d\xaf\x29\xdb\x8f\x73\x8e\xa7\xf4\xc2\xac\x40\xbb\x69\x67\x7e\x43\x6a\x41\x63\x56\x20\xdb\x84\xb3\x16\xa4\x2c\x81\x39\xe6\x38\x40\xea\xb6\xc0\x36\x53\x41\x3e\x72\x28\xa6\x20\x07\xe2\x00\x48\x6a\xb6\x39\x2f\xcf\x9c\xbd\x04\xe7\xa4\xe0\xac\xde\xec\x40\x96\xa9\x20\x3f\x35\xbf\xc0\x94\x15\xc8\xee\xc5\x59\x29\x38\x67\x49\x0c\xc0\x94\x9d\x6a\xce\x0e\x64\x35\x16\x80\x80\x5c\x0a\x0a\xc8\xc5\x40\xfc\xd9\xa9\x81\xec\xa6\xbc\x76\x33\xcc\x59\x92\xb2\x00\x67\x99\xe2\x20\xa9\x0d\xf9\x3b\x4d\xed\x01\x98\xd5\x9b\x72\x1c\xe7\xf8\xb3\x1b\xf3\x76\x98\x52\xdb\xcd\x3b\x03\x0d\x8d\xc0\x81\x90\x02\x1c\x0a\x44\x49\x75\x63\x79\x23\xe7\x0f\xb8\x5c\x7e\xb1\x3d\xd0\xd4\xe4\x6f\x3f\x0e\x73\x52\x60\xd6\x82\x76\x53\x0c\x30\x35\xd6\x34\x53\xfb\x02\x98\x95\x02\x73\x8e\xb7\xfb\x9b\x9a\x02\xed\xa9\xfe\x78\xd3\xc8\x64\x18\x15\x57\xbb\x43\x1a\xa0\x9b\x63\xea\xb6\x0a\x4e\x02\xad\xda\x7a\x40\x4e\xe4\x19\xd5\xfe\x8b\xf3\x29\x55\xde\x01\x1d\x2f\xf7\x33\x53\xe7\xcc\x99\x2a\xe0\x3f\x15\x03\xf3\x11\x50\xc4\xab\xb6\x1e\xb8\x3e\x1f\xf1\x97\x27\x96\x62\x92\x80\x0b\x70\x12\xd0\xf8\xd4\xc0\x34\xc4\x6f\xef\x7d\xd5\xdf\x27\xf6\x1c\x3d\x78\xb4\xab\xb7\xba\x39\xd8\x12\x6c\x21\x5b\xab\x5e\x01\xb2\x83\x53\xe5\x1d\xb8\xf4\x41\xc6\x48\x11\xe9\x91\xcf\xcf\x60\xe5\xfe\xff\xcc\x43\xfc\x39\x09\x11\xa1\x14\xb5\x3d\x81\x97\x0f\xb3\x30\x11\x99\x7f\xe1\x38\x41\xb5\xff\x22\xb2\xe9\x38\x69\xf4\x5c\x71\xcb\xd2\x8d\xab\xd6\xaf\x22\x37\x65\x4e\x7b\x78\x49\x4c\x69\xde\xc0\x8b\xaa\xad\x07\x6e\xcc\x3e\x9c\xff\x61\xdd\xf6\x73\xe2\xda\x5f\x7f\xdb\x0c\x49\x1c\x2c\xe2\x9b\x0f\x54\x1f\xf2\xbc\x44\xc2\x44\x05\xa4\x01\x09\x37\x43\x9a\x18\x6f\xf2\x49\x50\x8d\x06\x7a\x1a\x30\xab\x07\xda\x1e\xf7\x82\xca\x7c\x54\x4d\xa4\x03\xcd\xa8\xf6\x2d\xc4\xa7\xf0\x09\xa4\x71\x09\x87\x89\x53\x4e\x00\x25\xaa\x32\x8f\x34\xba\x1a\x3d\x0d\xc2\xca\x56\xdd\x99\xa3\x6c\x9b\xbf\x2d\xd8\x2c\xa8\xb6\x3e\xba\xb1\x33\xff\xd0\x31\xb6\xb3\xe6\x58\x73\x5b\x8c\x39\x53\xe7\xbc\x7e\xf1\xc2\xb9\x37\xde\x11\xe5\x7e\x85\x2a\xf7\xd1\xf3\x23\xdf\x02\x9a\xbd\xf2\x41\xe7\xa5\x9d\x27\x91\xd0\x05\x85\xa0\x2e\xa8\xab\xd9\xde\xb5\xe0\xe0\xb2\x9e\x65\xe4\x94\xbe\xf7\xc6\xfe\xc6\x75\x46\x69\x05\x48\x7d\xdf\xc7\x78\x0c\x87\x29\xd5\xd6\x47\xb1\x47\xb1\x64\xda\xe7\x5d\x99\xe2\xfa\x9e\x8d\x3d\x5b\x8e\x91\xdf\xcc\x4d\x87\x49\xc8\x72\x38\x0e\x19\x0d\x4e\x5c\x11\x48\xaf\x5d\x25\x46\x28\x05\x0a\x48\xe1\xcd\x28\x60\x1a\x90\x18\x6b\x19\x4c\x54\x78\x56\x56\xaf\x6e\x5e\x47\xaa\x32\x8f\xd8\x4b\x1c\xc5\x25\xec\xf4\xe6\xe9\x87\x16\x09\xaa\x7d\x0b\x1d\x16\x02\xe7\x39\x80\x1d\x0a\x33\x38\xb8\xe9\x6a\xe7\x81\x9f\x45\x55\xe6\xa3\x2d\xe7\x7e\x38\x70\x9e\x8b\xe9\x7f\x24\x25\x26\xdb\xa8\xff\xf5\x2a\x4c\xa1\x54\x5f\xa7\xdb\xf9\xe9\xdf\xf3\x21\x1f\xa3\xfa\x7a\x0e\x2e\x40\x1a\x27\xe1\x53\x6c\x46\x94\xee\x54\xfe\x36\xf6\xbd\x29\x7d\xc2\xb2\x9e\x65\x07\x17\x74\xe5\x56\x6f\x0f\x6e\x0f\x92\xba\x2a\x24\x5f\xe9\x60\x2f\x75\x7e\x70\x45\x50\x5d\xbe\x04\xf4\x5b\x23\xcf\x73\x72\xbf\xf2\x9d\x37\xce\x5d\x10\x54\x3f\xa6\x5f\x7c\x7d\xce\x54\x11\xff\xa9\x54\x41\x7a\x73\xdb\xb1\x9a\x4e\xee\xd8\xa1\xfc\x8d\x9d\x62\xb0\xb9\xcd\xdf\xc6\xa9\xbe\x9e\x73\xf4\x8c\x6e\x65\xab\xe8\x69\x68\x74\x37\x72\x70\xeb\xd1\x49\x48\x88\x40\xfb\x18\x98\x89\x89\xc0\xe0\x5c\xbb\xd0\xbd\x68\x7a\xf3\x74\xae\xa4\xd8\x61\x2f\x11\x55\x30\x67\x5d\xf3\xea\xea\x95\x1e\x12\x26\x2a\x21\x0d\x6f\x06\x12\xd3\x50\xc0\x9b\x91\x8a\xbf\x45\xca\xda\x55\xe9\x81\x15\x1c\x4e\xd4\xc4\xdd\x6f\x58\x98\x94\xfe\xcd\x5c\xf1\xd8\x96\x9e\x8d\x3d\xeb\x49\xd5\x8f\xe9\x5d\x99\x9f\x4f\x5b\xc2\x62\x8f\x32\x46\xe9\x31\x4a\x08\xd1\x71\x46\x40\x8f\xf2\xfc\x81\x1f\x5a\xce\x09\x07\x7f\xdd\xf3\x1b\x24\xb1\x31\xc6\xfc\x1f\x2f\xcc\x14\x4a\xe5\x1d\xe8\x1b\x98\xb8\x78\x0a\x52\x82\x2a\xb8\x2b\x3f\xdf\xe5\x29\x10\x57\xea\x5e\xd0\x2d\xe3\x72\x72\xfc\xc1\x5c\x71\x63\xc6\xea\xfc\xa5\xdc\xa6\x15\xb5\x4d\xdb\xe2\xed\xde\x7f\x20\xd6\x93\xa6\xcd\x3e\xf7\x8e\x20\xf7\x2b\x67\x3c\x3f\x12\x69\x6e\x64\xc6\x07\x97\x76\x02\x71\xb2\x35\x28\xb6\x06\x5b\x83\x2d\x35\xbd\x5d\x47\x0f\x1e\xed\x21\xfb\xfb\xbe\x7a\xef\x37\xb6\x53\xa9\xba\x70\x20\x44\x67\x28\x54\xde\x2c\x7c\x0a\x68\x7c\x02\x97\xb0\x48\x87\x24\x06\x8c\xfc\xd7\xbc\x2a\xb8\x0b\x9e\xe5\x45\x95\xf7\x00\x48\x51\x1f\x03\x37\x65\x5c\x5d\xf7\xb3\xb0\xfd\xdc\xba\x1f\xce\xb3\xd0\x13\xdf\x86\x25\xb8\x2b\x4a\xc7\x3a\x0a\xf6\x28\x97\x3c\x3c\x6d\x53\xa6\xb0\x6a\xfd\xaa\x8d\x4b\xb7\x90\xa3\xe7\xe2\xa4\x74\x64\x59\x1c\xf7\x05\x32\xf0\xf8\x4b\xc7\xfc\x75\xdd\x31\xb6\xa1\x00\x37\x23\x05\x02\xa4\xc1\xcd\x40\x42\x9a\xa0\xf2\x66\xc1\x44\x65\xb7\xf7\x68\xcd\xde\x46\x52\x75\xe1\x80\xbd\xa6\xd6\x51\xc3\xf5\xf5\x35\x1f\x3a\x29\xfa\x1c\x84\x6a\xff\x01\x98\xe7\xf8\x15\x58\x98\xc1\x26\x23\x7d\x95\x1f\xec\x04\x6f\xb8\x06\x24\xd5\xb3\x76\x1e\xca\xa8\x88\x43\x01\x73\x71\x2e\xa1\x3a\x12\xd4\xfb\x8b\x0a\x59\xd5\xb3\xf0\x32\x35\x66\x0c\xf4\x51\x78\x0d\xae\x8d\xb9\x0c\x37\xf1\x97\x2f\xc3\x35\xb8\x06\xa3\xa8\xeb\xf6\x83\xd7\x8d\x0a\x63\xa5\x64\x87\x42\x75\x04\x02\x54\x5f\xdc\x9e\xf0\x2a\x2f\xdf\x4e\x85\x6b\xc0\xab\x5a\xa8\x26\x88\x10\x0d\xc0\x8f\x19\x83\xd7\xf0\x1a\xa1\x3a\x32\x10\xf5\x59\xb5\x70\x20\xee\xf3\x98\xcb\x7f\x5a\x34\xc6\xcd\x1c\xe7\xc2\x5c\x22\x46\xc9\x5b\xbc\xec\x50\xe0\x5c\x98\x3b\x50\xed\xac\x78\x78\x8e\xcb\x63\x88\x01\xda\xc0\x3b\x44\x75\x24\x8d\xea\xe6\x63\x75\xc4\x4d\x17\x7d\x6a\x22\x29\xc4\xc4\xeb\x21\xf4\xfa\x22\xd8\xc5\xe3\x00\x2a\x65\x16\x2f\x3b\x94\x31\x1a\xa1\x8d\x82\x9b\xf8\x58\x0b\x2e\x5f\x86\x51\x54\x0c\xe1\x0d\x74\x3e\xc7\x19\x5e\xf5\x0d\xdc\xca\x23\x3d\xc0\x93\x38\xce\x39\x31\x9c\x2a\x00\x3e\x46\xf9\x98\x31\xd0\x16\xe7\xc4\x00\x41\x33\x29\x18\x68\xf6\x36\x3e\xe2\x50\xc6\xc8\x1e\x60\xcb\x00\x3a\xd7\x7f\xd0\x09\x60\x7b\x0d\xee\x01\x95\x5d\x02\xbe\x16\x06\xd7\x36\x34\xd6\xd7\x1e\x85\xb9\xa8\x81\x84\xd1\x35\xce\x1d\xbf\xd7\xbb\x5a\xf6\xc2\xf0\xc1\x4e\x38\x0e\xcf\x74\x7d\xfc\x99\xb1\xe5\x58\xc7\x0e\xe9\x78\x53\xc5\xab\xb9\x4d\x40\x4a\xaa\xcf\x46\xec\x2d\xfb\x7f\xda\x22\xa9\xfe\x39\x62\x6f\x19\xec\x8c\x34\x30\x55\x81\x06\xa9\xc6\x5a\x65\x93\xac\xa5\x46\x52\xf5\xfd\x88\xbd\x65\x66\xab\xd1\x6b\xb2\x4b\xf6\x6a\xab\xd5\xb8\xa3\x78\x63\x41\xa1\x9b\xac\x70\x64\x17\xbb\x58\xa3\x45\xef\x34\x19\xcb\xcb\xaa\xf2\x8b\xbd\xe6\x52\x5d\xc0\x50\x52\xa5\xdf\x5e\x58\x56\x6b\xb0\xfa\xca\x0c\x66\xaf\xd9\x65\x36\x59\xdd\xae\xa0\xc1\xe3\x20\x2d\x76\xab\xd5\xc2\xf9\x4a\xcb\x4a\x8c\xe5\x86\x72\x5d\xb9\xcd\x5e\x50\xa8\xcf\xee\x34\x91\x2e\xe7\x26\x87\x4b\x74\xeb\x7d\x1b\x72\xab\x0d\x3e\x73\x87\xad\xca\x16\x74\x38\xcb\x83\xa5\xc5\xf6\xaa\xb2\x00\x19\xa7\xbc\xcc\x5f\x64\x37\xfb\x8b\xcb\xca\x3c\xb6\x7a\x6b\x79\x85\xde\x61\xb3\x18\x8c\xee\x72\x7f\x69\xe5\xd6\xc2\xe2\x00\xe9\xf2\x5a\xed\x1e\xd1\xa6\x37\x05\xcc\xd6\x01\x8a\x4d\x16\xb3\xc1\x6c\xa9\xce\x2e\xc9\x71\x65\x91\x79\xd5\x1b\x1a\xcb\x04\xc9\xb2\xdb\x2e\x79\x6b\xfc\xf6\x2a\x5f\xd0\x57\xed\xf7\xd7\xba\x5e\x76\x6f\xda\x60\x29\xb0\x95\x3a\x8a\xed\x7a\xd2\xee\xf3\xb9\x7c\x9c\xd7\xe3\xf3\xb0\x7e\x43\x93\xcd\x1f\x0c\xe8\x6b\x8c\xee\x12\xb2\xc4\x5d\x5d\x9c\xcf\x95\xd4\x6d\xb5\xb8\xc5\xaa\xbc\x86\xf2\xa6\x4a\xb2\xdc\xb6\xbd\xcc\x2e\x18\xec\xf9\xcd\xde\x2a\x87\xd5\x66\xb3\xd9\x0d\xc1\x42\xbf\x31\x68\xf7\x64\xf5\xf8\xdd\x25\xe6\xad\x95\xa5\x81\xdc\x2a\xdb\xae\x6d\xd6\x02\x9b\xc5\x94\x5b\x41\x96\xf8\xf4\x95\x25\x81\x22\x69\xab\x64\x6e\x32\xd7\xb9\x1b\x8d\xb5\x64\xa5\xb9\xa0\xa9\x94\x0b\xea\x76\x7b\x6c\x62\x59\xf5\xea\x7d\x15\x4d\x6e\xcf\xf6\x0a\xab\xcb\x6b\x70\x95\xf9\x8c\x3e\x83\xdf\xe8\x37\x54\x15\xd4\x6e\xb7\x6f\x2f\xb5\x7a\x1b\xad\x15\xa6\xea\x7c\xa7\xa5\x86\x74\xbb\x5c\x4e\xb7\xcb\x55\x9f\x5d\xe3\x0d\x96\x54\x39\x9b\x0d\x35\xc6\xea\x62\x7f\xa9\x64\xf1\xac\x3f\x5a\xed\xc9\xb3\x18\x8e\x79\x82\xa4\xd3\xee\x74\xb1\xde\xa0\xe9\xcd\x3a\x57\x99\xc3\xb6\xd3\xe3\x73\x7b\x6b\x8b\x5d\x76\xbf\xc7\x5f\x61\x0f\xd8\x2a\xca\x02\x26\xbf\xcd\xbd\x7a\x87\xc3\xe1\x0d\x38\x02\x66\x1f\x99\x5f\x5c\xb9\xcb\xe0\xb1\xba\xac\x1e\xab\xf7\xec\xd7\x9f\xfe\xfd\x4a\x2f\xe9\xf2\x57\x38\x2b\xb8\x06\x7b\x65\x71\xb5\xd1\xed\xb3\x56\xd8\x7c\x9e\x8a\xa0\x3b\xe0\x96\x5c\xd5\xee\x0a\xab\x59\x32\x55\x98\x2a\x1c\x0e\x9b\xdd\x61\x2f\x93\x72\xf5\x06\x2b\x59\x6e\x35\x59\xca\x6d\x16\xbb\xcd\x69\x75\xc5\x9e\xd9\x67\x65\xbb\xeb\xf6\xd4\x74\x55\xf9\xad\x7e\x93\x64\x32\xfb\x9c\x3a\xb7\x95\xac\x2a\x6e\xab\xac\x75\x1c\x31\x1b\xff\x32\x2c\x60\x70\x16\x4b\x46\x49\x2a\xad\xf4\x4b\x6e\x6f\x83\xcf\xef\x09\xf8\xf4\x01\x9b\xdb\xe0\x5f\xe3\x69\x6c\x0d\x54\xb4\x5b\x2b\x2c\xa4\xea\xb3\x91\xaf\x94\x55\x99\x83\x65\xc5\x86\x80\xa3\xcb\x68\x29\x25\xfd\x1e\x9f\x54\xc1\x49\x0e\x77\xae\xd7\x52\x93\xdd\x76\xd2\x6b\x2f\x08\xec\x95\x24\x5b\xc0\x56\x95\x53\x1a\xab\xd8\xba\xaf\xac\xca\xe0\xda\x9e\xe7\x2a\x71\x15\x35\x96\x16\x93\xaa\xcf\xa6\xed\x2d\x33\x1a\xac\xc5\x46\x63\x49\x49\xbe\xab\xd0\x1d\x70\x6c\xd7\xd9\xad\x66\x93\xb5\xdc\x5e\x6e\x37\xb8\xcb\x2c\x86\x7a\x9f\xb4\xd9\xe4\x68\xf6\xd4\x3b\x9b\x4c\x03\x18\x6a\x2c\xcd\x66\x7f\xb1\xd7\xdf\x68\xf3\xdb\x83\x66\x57\xa9\xa7\xcc\x5b\x5c\x9d\x5d\x5f\xe1\x71\xb7\x54\x96\xfb\x49\xd5\x67\x77\xee\x2b\x2b\x0f\x18\x1b\x2a\x2a\x2b\xaa\x1a\x3d\xbe\x1a\xb2\xa2\x35\xc3\x56\xcf\x56\x56\x7b\x1c\x41\xa1\xb2\xb8\x29\x18\x10\x2a\xfd\xc7\x0d\x92\x59\x32\x77\x94\xbb\x8d\x03\xea\x4c\xbc\x83\x55\x98\x02\xc5\x25\x56\xc9\xbd\xc3\x50\x60\xf6\x7b\x7c\x76\xbf\x37\xe0\xf5\x06\x24\x8b\xdb\x51\xd5\xe2\x77\x48\x0e\x77\xa9\xd7\xec\x35\x56\xd9\xbc\x46\x32\x50\x68\x2b\x6a\x35\x07\xec\x8d\x55\x8e\x62\xd2\xeb\x75\x7b\x5c\xac\xab\xc4\x5f\x54\xef\x26\x9d\xce\x7c\xbb\x4d\x30\x1b\x8b\xdd\x46\x8b\xcd\x91\x93\xeb\xb1\x95\xd6\xe6\x3a\x0b\xad\x05\xb6\x42\x7b\xa1\xa9\xdc\x5a\x6e\x35\x9b\x6c\x56\x4b\x81\xc5\x51\xe9\xf6\x55\x55\xf8\x07\xfa\x10\x3e\x72\x2d\x81\x71\xf8\x1c\x95\x2e\xd6\x51\x57\x5f\xe5\xa8\x2d\xf3\xd8\xaa\xdc\x41\x77\x7d\x6d\x30\x58\x15\xac\xf2\xb4\xda\x6a\x2c\x6d\xce\x76\x6b\x9b\xcb\x5c\xef\xf6\x94\x7b\x03\x6e\xc9\x17\x20\xbd\xfe\x80\xdb\xef\xab\xf4\x37\xb7\x06\x4b\x2a\xf5\xd9\xa5\xd5\x65\xde\x0a\x6b\xb0\xa2\xa2\xae\xa1\x2a\xaf\xce\x52\x6f\xf1\x9b\xab\xcb\xac\xde\xa6\x80\xdb\x45\x36\x7a\x2b\xca\xaa\x0d\x35\x86\x16\x93\x3d\xaf\xd2\xee\xb7\x55\xd8\x2a\xac\x55\x6e\xbf\xf9\xc1\xfb\x31\x79\x1a\xf2\x39\x64\x72\x1a\xea\xd5\x8a\x8c\x84\x66\xb5\x62\x63\xa2\x4c\xf7\x65\x52\xa1\x14\xf9\x51\x06\xef\x7c\xf5\xee\xab\x2f\xc2\x9d\xd1\x89\xd1\x89\x29\x37\x2c\x3d\x7f\xc3\x41\xf0\x36\x15\x7a\x22\xf4\x04\x11\x4a\x96\xa7\x31\x4d\xfa\xda\xbc\x3c\x2c\xc6\xe1\xf9\x9b\x04\x9c\xff\x3b\x01\x3a\x25\x1c\x85\x89\x84\xe4\x0f\x54\x55\xb1\x41\xb3\x64\x08\x08\x3d\xb3\x46\xb5\x4c\xe1\x96\x50\x87\x79\x98\x0b\x93\xe0\x36\x98\x7a\x5e\xac\xea\x0c\xf6\x74\xb1\xc9\xff\x25\xf8\xc3\x8d\x7f\x84\x8a\xbb\x70\x85\xa5\x98\x92\x4a\x87\x68\xa4\x95\xd7\x24\x59\x02\x23\x15\xa1\x65\xe9\xc6\x92\x33\xd0\xd1\x7e\xe6\x28\x1f\x92\x92\xae\x1f\x92\xf1\x0f\xa4\x75\x3c\x74\xf3\x6a\xa2\x48\x9d\xf4\xd1\xf5\x60\x26\x6a\x1c\xa4\x80\x4b\xbc\x6c\x88\x18\x52\x22\x85\x4a\xd0\xf0\x02\xb4\xf0\xd7\x5d\xc7\x42\x85\x4a\xd9\x20\x1b\x6e\x04\x35\x69\x6e\xce\x1d\x88\x93\x96\x00\xc7\xa9\x8f\x78\x5a\x1d\xa2\xe1\x3c\x0f\xb4\x2c\x21\xad\x0c\xd1\x51\x9a\x89\x6a\x50\x33\x85\x12\xb0\xff\x2b\x0a\x34\x51\x4d\x44\x77\x8a\x8a\x4a\xb2\x8e\x41\xa9\x9b\x57\x84\x24\xf9\x2a\xb3\x90\xc2\xab\x90\xc0\xe3\x55\xe5\x3c\x2a\x42\x17\xf1\xca\xe4\x98\x7e\x93\x18\xce\x63\x60\x18\x0e\x23\xf4\xc1\x3a\xd3\xdb\x94\xac\xcd\xa7\x22\x5a\xc5\x36\x5d\x51\x8e\x41\x34\xe8\x7c\x5b\x1b\x0b\x62\xb9\x29\x08\xb1\x3f\x00\x0c\x83\x61\x71\xa2\x5a\x53\xdb\xe2\xad\x18\x88\xd0\x01\x59\x54\x3c\x12\x3a\x5c\x87\x3b\x4a\xfd\x5f\xdb\xac\x00\xcf\xc3\x51\x2a\x05\xe2\x3f\x04\x1c\x86\xc3\xe2\x31\x42\xc6\x50\xb2\x56\x09\x3c\x85\x03\x35\x01\x10\xd7\x23\xcf\xc1\x7d\x20\x52\x71\x47\x69\xf9\xab\x10\xcd\xbc\xf8\x41\xe6\x57\x97\xd9\x16\x77\x8b\xa7\x45\x28\x4e\x5f\x51\xbe\x0c\xb9\xa1\x97\x72\x39\x54\x79\xb0\x7d\x02\x26\x7e\xbb\xe4\x47\x11\x58\xc5\x3b\x9f\x7c\x7b\xe4\x57\x0f\x19\x3e\x1d\xbd\x83\x81\xdc\x05\xf0\x23\x1e\x15\x36\xe2\xed\x28\xe2\x52\x5c\x8a\xb7\x83\xb8\xf1\xcf\x0d\x08\xc6\xff\x7e\xff\xc0\x06\x04\xa0\xf9\xfd\x3b\x18\x2f\x5e\x93\xd4\x49\xd1\xb5\x7c\x48\x1b\xa1\x07\x02\x9a\xc9\xfd\xb8\x9d\xf9\xd4\x03\xed\xa8\x12\x72\x87\x8e\x47\x8e\x5b\xb6\xa2\xa2\x36\x5d\xf4\x6c\x77\x6f\xdf\xce\x8e\xc9\x1c\xfb\xe2\x64\xe1\x57\xdb\xb7\xcb\xdf\x79\x8c\x04\x56\xf1\xe3\xb7\xc7\x21\x51\x44\x5a\xfe\x6d\x2d\x9f\x9c\x86\x49\x30\x1f\xe7\xab\x15\xe9\xd7\x34\x30\x1f\x1f\x1e\x98\x54\x19\x5c\x07\x5a\xd4\x0e\x24\xce\xc3\x87\x60\x9e\x6a\xca\x20\x95\x71\x90\x9a\x38\x00\xfd\x8c\x7c\x1b\x4f\x14\x16\x64\x1b\xb3\xb9\xec\x6c\xa9\xa1\x40\xc4\x55\xb0\x9a\x28\x68\x30\xb4\xb7\xb3\xbb\x83\xad\xcd\x4d\xc2\xa6\xae\x8e\x35\xaf\x70\x33\x29\xd5\x1d\x83\x5e\x59\xd3\xb1\xa9\x4b\x68\x6e\x6a\xad\xda\xc5\xb5\xb7\x1b\x0a\x1a\x44\x58\x83\x6b\x88\x86\x82\xca\x9c\x6d\x6c\x74\x5e\x68\x3e\xb3\x45\xaf\xcb\xcd\x13\xba\x36\x6d\xed\x5e\xc8\xc5\x54\xe0\x85\xdd\x5b\xbb\x36\x89\xb9\x79\x3a\x43\xe6\x75\xfc\xaa\x29\x83\x70\x0d\xac\x81\x0c\xbe\xbd\xb2\xfd\x06\x96\x55\xb8\x3a\x86\x25\x3b\x9b\x0d\xab\xa2\xf3\x99\xbf\x67\xfe\x4d\xfb\x9a\x10\x03\x23\x4e\xcd\x7f\x72\xf7\x24\xee\xf1\x27\x33\xe6\x69\xc5\x71\x5f\x10\xa7\x5f\xeb\xfc\xe0\x63\xf6\xc3\xcc\xfe\xf9\xa7\x84\x38\xa5\xaa\x51\x65\xaf\xcd\x9f\xb2\xfb\x09\x4e\xa5\x2e\x9b\x34\x25\x73\xfe\x7c\x11\x47\xe0\x70\x62\xfe\x82\xcd\x4f\x4e\x62\x9f\xd8\xf5\xd4\x6b\x5a\x21\x4e\xe3\xfc\x53\xef\x6f\xf9\x90\xfb\xf8\xfd\xce\xd3\xaf\x89\x5f\x8c\x23\xe6\x69\x33\x26\x3f\xce\xaa\x5a\x06\x4d\xda\x35\xe5\xd4\x7c\x21\x4e\x80\xf6\x54\xff\x96\xbf\x73\xaa\x51\x65\x1f\xf6\xef\x3a\x75\x4a\x8c\x6f\x3f\x70\xaa\x77\xcf\xfb\x1f\xb2\x37\x6c\x7f\xca\x12\xd5\xca\x32\x99\x66\xe0\x79\x54\xc1\x28\x7c\xe2\x90\xb0\xe3\x50\xed\xb1\x57\xa0\x83\x9a\x3e\x57\xb7\x66\x85\x00\xb3\x9f\xc0\xe9\x70\x27\x6e\xe2\x80\xa0\x4a\x5c\xc5\xae\x12\x11\x47\x3d\x7d\x17\x3e\x88\xd3\x7a\xf9\x70\xbf\xe2\x5f\x54\x9a\x9d\x07\x3a\xe1\x0a\x95\xa8\x26\xe0\x0b\x26\xe2\x0c\xed\x25\xe4\xa1\x7d\xca\x2f\xf8\x88\xa4\x30\x50\x7d\x91\xa1\x8a\x88\x33\xba\x97\xc0\x5b\x26\xf7\xde\x0f\x77\x71\x16\x4a\x01\x77\xf5\x7e\x07\xb7\x4c\x16\xa3\x4d\xa1\x8d\x4c\xd3\x1e\xe2\x80\x52\x1e\x0a\x74\x64\xa8\x72\x9d\xb2\x69\x33\xb4\x47\x9e\x24\xa2\x4b\x15\xf1\xe8\x61\x9a\xb2\x5c\xb8\x0a\x9a\x78\x38\xff\xf8\xce\x08\x83\x5d\x30\x4e\xd6\xc2\x38\x57\x5f\x5f\x4c\x7f\x9e\x1c\xd6\x86\x68\x66\x26\x0f\xbd\xd3\x19\xd9\x2b\xdf\xdd\x50\x2d\xb5\xd8\x9b\x53\x6d\x2d\xa5\x8d\xf9\x95\x48\xf7\xa5\xf8\x8c\x06\xb7\x81\x2b\x2b\xb3\x59\x8c\x62\x74\x6a\xe4\x4e\xbc\xe9\x6d\xab\xdb\xea\xb6\xba\x52\xa5\x3d\xde\x2e\x5b\x97\xf1\x97\xa9\x3f\xe0\x4d\x17\xc9\x53\xe3\xef\xdb\xfd\x00\x37\x76\x52\xd6\x8b\xf3\xc4\x17\x5e\xcc\x9c\x14\x98\x28\xdd\x73\xf1\x5e\x48\x78\x86\x9c\x7f\xe9\x87\x2d\xdf\x72\xa7\x5f\xa9\x6a\x3a\x2c\xfa\x8d\x01\x93\x64\x86\xe4\x29\x29\xaa\xf2\x41\x98\x3c\xc5\x68\x36\x99\xcc\xc6\xd4\xa6\x15\x0b\xab\xe6\x71\x0f\xdc\xbb\x65\xfe\x78\x11\x13\x9e\x99\x7a\xaf\xf1\x1e\xd3\xc4\x5d\x93\xce\x2c\x20\x17\x9e\xfe\x30\xeb\x2b\x4e\x35\x7b\xd0\xb7\xdf\xef\x3e\x75\x49\x84\x9b\xde\xbd\xf8\xbd\xf4\x8b\xa7\xcb\xda\x65\xdc\xe3\x75\x79\xdd\x5e\x37\xdc\xf4\x76\x4a\x68\x6a\xe4\x4e\xc2\x22\x55\xd9\xaa\xb8\xca\x4a\xb7\x4f\x12\x81\xee\x6b\xac\xac\x6e\xf4\xb4\xa4\xba\x9b\x8d\x2d\x05\xd5\xa4\x1a\x97\x86\x86\x33\x39\xdb\x56\xe9\x97\x71\xaa\xb6\x41\xb3\x9e\x69\xea\x9e\x25\xe2\xa0\x0b\x6b\x7f\x3a\x77\x9a\x6c\xdb\xd1\x13\x3c\xca\xbd\xf1\x5e\xde\x9a\x73\x22\x0c\x9a\x76\x70\xf8\xac\x79\xe4\xf8\x68\x09\xb3\x66\xd6\xd3\x79\xb3\x39\xd5\xed\xbd\xcb\x56\x05\xdb\xb6\x89\xb3\x4e\x1f\xfc\x09\x06\x5d\x20\xbb\xcf\xbd\xdb\x74\x8e\x3b\xda\xa3\xcf\xd9\x21\x9e\x9b\xb7\x76\x38\x0e\x9a\x46\xc2\x54\x39\xc4\x48\x92\xdb\xed\x76\x79\x3c\xa9\x15\x01\x7f\x45\x45\xc5\x8e\x1d\x29\x1f\x2f\x2d\x29\x27\xf2\xf4\xa5\xb9\x3a\xb6\x4c\x09\x34\x4e\x60\x50\x33\x72\xdb\x8e\xf2\x0a\x73\x45\x79\x45\xaa\xcd\x6d\x77\xd9\x3d\xc6\x8a\x14\xd0\x5c\x21\x80\x50\x86\x24\xf9\x29\xa0\xa7\x47\x75\x91\x7e\x42\xbe\x1a\xa1\x99\xc8\xc7\xf0\x89\xcf\xed\x73\x79\xbc\xa9\xf0\x0c\x08\x72\x7d\x64\x14\x91\x0c\xde\x3f\xf7\x66\x91\x69\x58\xc9\x2f\xe0\x55\x3f\x1c\x50\x2b\x9a\xe1\x1c\x1f\xd1\x28\xd6\x2c\x2a\xd4\xad\x11\xe1\x53\xa5\x0a\xe6\x2c\x8d\x25\x2c\x78\x72\xf3\xba\x75\x62\x64\x54\x64\x14\xb1\x6e\xdd\xe6\x27\x17\xb0\x51\xcd\xe3\x94\xea\x87\x03\x72\x0f\xf6\xc0\x04\x5e\x9d\xd4\xab\x5c\xca\x47\x7a\x70\x23\xa3\xfa\xe1\x22\xbe\x8a\xaf\x2a\xf1\xdb\xd0\x24\x26\x7e\x25\x97\xe3\x4f\xcc\x40\x29\x94\x22\x52\x88\x8e\x47\x0c\x95\x35\x32\x1d\xd1\x28\x55\x3f\x1c\x08\xd1\xd7\xae\x32\xd7\xe8\x58\xba\x42\x05\x63\x06\xb2\x94\xb1\xcf\xcc\xed\xa0\x0a\x0f\x01\x06\x3c\x70\x7b\x82\x17\x68\x70\x00\x1d\x0a\x82\x2a\x51\x4d\x14\xc3\x48\xe6\x8b\x75\x97\x66\xbc\x29\x44\x3e\x92\x3f\x22\x0e\xad\x99\xdf\x3a\x8f\xc3\x9b\x1e\x7e\x18\x6f\xd2\xb6\x6a\x0f\xad\x11\xe5\xd1\x91\xd1\x84\xd9\x5f\x61\xad\xe0\x9a\xcf\x9c\x69\xae\x80\x28\x15\x19\x2d\x8f\x26\x8a\xeb\x0c\xcd\x2d\x6c\xf7\xae\x8e\x83\x2d\x2d\xc6\xe2\x3a\x41\xfe\x28\xf2\x11\x71\x70\x6d\xfb\x8b\x5a\x76\xfc\x8c\x19\xe3\xe7\x2f\x68\x3f\xb8\x56\x88\xd6\x87\x1a\x88\x25\xc7\xb7\xbe\x75\x81\x85\xbb\xe0\x26\x50\xc2\xdd\x17\xde\xda\xb2\xf4\xb8\x20\xff\x12\xf9\x35\x8e\x55\xe2\x9a\x4f\x9f\x1e\xc0\xfa\xb3\xfc\x0b\xf1\xb7\x29\xf7\xf5\xdc\xc3\xe1\x06\x7c\x0c\x27\xe2\x86\xe1\x2f\xdd\xf7\xde\x53\x62\xa8\x21\x5a\x4f\xcc\x7c\xf3\xd2\xda\x2f\x38\x18\x03\xb7\xc0\x2d\x30\x26\xbe\x90\x17\xf7\x94\x04\x29\x76\x7e\x95\x92\x25\xf8\x8d\x97\xe9\x21\x32\x1d\x92\x22\xb1\x8f\xed\x10\x59\xa3\x5c\xca\x47\xfb\xfb\xa8\x88\x06\xe9\x58\x9f\x8e\x68\x1e\xa7\xe4\xb8\x9b\x80\xb2\xa9\xbb\xa8\xa4\x46\x84\xbd\xb8\x97\xa8\x2e\xad\x5f\x95\xcf\x5e\xa3\x95\x11\x29\xac\xa9\xe3\x51\x3b\x30\xd9\x0a\xda\x81\xb9\xd6\x10\x9d\xc1\x5c\x0f\xe4\xd1\x05\x5d\xd7\x03\x79\x5c\xd3\x0c\xc4\x75\x54\x87\x7b\xb5\x7c\xdc\x10\x35\x7c\x35\x8d\x77\xfe\x9b\x82\xe1\x14\x7d\x69\x0e\x05\x5a\xc6\xc9\x87\xe8\xa4\xeb\x87\xe4\x66\xe7\xbf\xa9\xbe\x3c\x1b\xbf\x80\xcf\xe4\x65\x29\xe9\xfa\xce\x8c\x3a\x3e\xa2\x61\x9e\xa2\xe0\x4d\xea\x11\x4a\x9d\x14\xdf\xef\x51\x1d\x2e\x0b\x5f\xcd\xe4\xff\x8f\x9c\x90\xf6\xfd\xff\x76\x9f\xdc\x8c\x12\x24\xc0\x08\x90\xee\xfb\x1e\xe8\x1f\x76\x81\xd4\x08\x09\x40\xff\x30\xb8\xf3\xb7\x46\xb8\x65\x03\x0c\xc1\x9b\x41\x35\xec\xaa\xea\xf9\x32\xf9\x8e\x47\x98\x8b\x2b\x5e\x7d\xb6\x4e\xf8\x37\x28\x89\x2f\xf0\x73\x1c\xf5\x9b\x52\x75\x2a\xad\x57\xa9\x6a\x49\xeb\xec\x72\x77\x72\x0e\x65\xfa\x9a\x4d\x0b\xd7\x2f\xdb\x31\x2f\xa5\xc7\xd3\x67\x9b\xc7\xae\x5e\x57\xb8\x61\xed\xaa\xa6\xf6\x2c\xe1\x85\x71\x84\xea\x54\xda\xf2\x23\x7d\xb9\xe7\xb9\x5f\x3f\x7f\x13\x6e\x12\xdd\x21\x25\x73\xb7\x42\x75\x53\xda\x6c\x54\x29\x3d\x1f\xc1\x96\x2e\xb8\x97\xfd\xe1\xb1\xd7\x46\x4f\x9a\xb6\x66\xea\x26\xe1\xd2\x1c\xa2\xa3\x7e\xd7\xee\x7d\x5c\x57\x73\xc1\x46\xf1\x11\xcc\xdd\x8a\x33\xd9\x02\x4f\x81\xa7\x40\x80\x6b\x0a\x35\x61\x40\x0d\xdc\x42\xc5\xda\xf9\x21\xa3\xba\xa9\x0c\x07\x29\x54\xb7\xdf\x2e\xdf\x7b\x97\x12\xd5\xa8\x7a\x6f\x52\x63\x7d\x53\x6d\x55\x4b\xaa\x5b\xaf\x98\xe0\x98\x30\x81\x4d\x53\xa8\xe8\xc9\xf7\xc2\x17\x4a\x1d\x8f\x3d\x70\x0b\x15\xe3\x82\xea\xf6\xdb\xd5\x38\x19\x0e\x51\xa8\x55\xc6\x23\x77\xc5\x38\xa2\x22\xcb\x9e\x88\xfb\xef\xfc\x26\xef\x01\x3a\x34\x0c\x92\x6c\xbc\x5a\x71\x29\x44\x33\xea\xd0\xe4\xb1\x94\x5a\xd1\xbb\x91\x57\x63\x62\x1f\x13\x2a\x52\x64\x35\x64\xd4\xaf\xaf\x9f\xb6\xfb\x85\x96\x25\x35\x78\x77\xcf\xe8\x97\x57\x1c\x21\x57\x1c\xd9\x7e\xf4\x04\x7b\xb6\xe5\xc4\x91\x6e\xa1\xfb\xc8\xb9\xa6\x0f\xb9\x4f\xde\xdb\x32\xeb\x75\x71\xef\xfa\x7d\xd3\xf6\x0e\xaf\xb1\xa7\xfc\xd3\x1c\xf4\x10\x9e\x3a\x77\x6d\x0d\xfb\xb2\xe5\x9c\xf1\x63\xc1\xf4\xaa\xe9\x90\x69\xc7\x93\x6d\x73\xea\x56\x54\x90\xc1\x27\xb5\x81\xb5\x1c\x3e\x89\x77\xae\x1c\xff\x90\xf8\xd0\xf8\xe5\xf7\x60\x32\x3b\xbb\x6e\x46\xe7\xf3\x42\x6d\x66\x7d\x56\x63\x0e\x29\x7b\x51\x62\x2e\x6e\x3d\x9a\xd3\x92\x4f\x9e\x5a\xbc\xf3\xc5\x79\xec\xb2\xa2\xf4\xcd\xab\x85\x2d\xab\x57\x65\x2e\x2c\x24\x0b\x16\x2d\x35\xae\xe4\x96\x2e\x0f\xd4\xae\x16\x57\xd5\x6c\x68\xcc\x6c\xcb\x6c\xcb\xda\x93\xd3\x5d\xd6\x50\xf8\xca\xba\x4b\xf7\xd8\x53\x56\x28\xf3\xac\x1b\xdc\x8b\x04\xef\x48\xfb\x8b\xe5\x6c\xa9\xb2\xcc\x6b\xf2\x5a\x85\xca\xf2\x56\x63\x77\x19\xa4\xad\x4e\xc9\x7d\xff\x6d\xfb\x6b\xdc\x3f\xde\x09\xd4\xf4\x8a\xbd\xd5\x27\x5b\x4f\xee\x3e\xb1\x67\xff\xce\xb6\xd6\xae\xae\xd6\xbd\xb5\x07\xc8\x8e\x8b\xd5\xef\xfd\x8d\xed\xb2\xef\xb1\x74\x08\xc9\x4e\xb0\x21\x09\x64\xf8\xe4\xb7\x63\xbf\x79\xf8\x8b\xc1\xb0\x01\x8e\x84\x72\x21\xe9\xaf\xbf\xab\xdc\xaa\xf9\xc7\xd5\xc4\x5d\xcc\x67\xf6\x13\x25\x75\x3a\xb2\xaa\xc8\xff\x34\x0e\x66\xf1\x73\xe5\x30\xdf\xe3\x55\x5a\xa1\xf6\xb1\x8e\xe7\x0f\x2d\x3a\xb4\xe8\x8d\x55\x1f\x6f\x26\x37\x7f\xfc\xef\x62\xb8\x89\xfb\xee\x52\x55\x4b\xbf\xd8\xdf\xf2\xc6\xee\x13\x07\x8e\x1f\x3c\xd8\xb3\xe3\x70\xfd\xee\x9a\x9e\xca\x57\x2a\x5f\xa9\xfc\xd9\x02\x23\x49\x95\xa7\x44\x4e\x2e\x6f\x70\xb2\x8e\x76\x7b\x53\x35\xdb\xe8\xaf\x96\x24\xc1\xe7\xdb\xe9\x3b\x16\xd8\xe5\xea\xf0\xed\x0c\x90\xee\xa0\xbb\x52\x62\x25\x7b\xbd\xb5\x5d\x28\x70\xcf\x30\x3d\x6f\x9e\xe6\x49\xc5\x95\x95\xc4\x23\x0a\xfb\xc3\x35\xb6\x1f\xdd\xbb\x5c\x3b\xf4\x2d\xba\xd4\x9a\xe2\xc0\x16\x4f\xba\x77\x4e\x8a\x6a\x47\x2d\xe6\x56\x5b\x70\x1a\x3b\xd4\x34\xa9\x64\xb1\x60\xd8\x50\xb8\x66\xdb\x6a\x7d\xde\xf6\xdc\xcd\xba\xcd\x39\x9b\x8a\x36\x94\x91\xf9\x73\xa6\x1b\xa7\x71\x73\xe7\xd4\x76\xce\x16\x57\xb5\x64\xec\xd1\x75\x6f\x3e\x55\xf4\x8e\xf5\xd3\x12\xe8\x4a\x71\x40\x01\x51\xeb\x68\x6c\x63\x3f\xf2\x1e\x96\x2a\x85\xfa\xea\x1d\x15\x87\xb8\x97\x7b\x3c\xfe\x43\xa2\xa4\xb4\xf7\xb9\x6a\x08\x47\x71\xa6\x63\x25\x97\xee\x58\x6c\x9f\x6f\x27\x55\x95\x76\xed\x3c\xc7\x0b\x5c\xd1\x3c\xb7\xef\x01\xd1\xb3\x66\xad\x6b\x03\x57\x52\xea\x74\x94\x8a\x9e\x71\x84\x6a\x7e\xd0\x56\xeb\x6c\x70\x90\x6a\xe2\xa2\x3a\xac\x67\x26\xc4\xb7\x5d\x54\xb9\x35\xd4\x76\x4a\x4d\xf4\xbe\x10\x0f\x49\x4c\x43\xfa\x80\x29\x0c\x0d\x3f\xc7\x06\x2a\x8d\x9e\x97\xe9\xa4\x0e\x3e\x22\x85\xa4\xeb\x0e\x9d\x7f\x6e\x1c\x7c\x7d\xc7\xdf\xfe\x81\x1d\x7f\x51\xab\x94\xa5\x08\xbd\x93\x8a\x81\xee\xa4\x64\x3a\xe9\x61\x1e\x68\xe8\x8f\x6f\xef\xd8\xbb\x8c\xba\xd6\xbf\x9e\x57\x13\x93\xcf\x53\x69\xc3\xd5\x8a\xb5\x09\x3b\xd5\x8a\xb5\x89\xea\xa4\x9d\xe1\xd9\x4c\xda\xef\xf0\xff\x31\xf6\x26\xf0\x4d\x54\xdd\xff\x70\x6b\x9b\x99\x3c\xf3\x68\x51\x92\xe1\x69\x33\x99\x99\xb2\xca\xa6\x82\x14\x10\x41\x44\x41\x11\x2b\xc8\x12\x64\xdf\x97\xb6\x14\x4a\x0b\xe9\xbe\x25\x69\x9a\xb6\x99\xb4\x4d\xda\x49\xba\xef\x50\x28\xa5\xac\x95\x45\x41\x40\x59\xd4\x02\x22\x44\xf4\x51\x50\x14\xc1\xa5\x3e\x0a\x8a\x9e\x49\x4e\x52\xde\xcf\xa4\xe8\xe3\xef\xfd\xbd\xff\xf7\x7d\x3f\x4a\x27\x77\xe6\x9e\x7b\xcf\xdc\x99\x7b\xee\x39\x77\xce\xf9\x9e\xa3\x70\xf4\x8f\x48\x05\x3c\xd9\xaf\x36\xbf\x26\xb7\x82\xc3\xc5\xb0\x58\x51\x91\x9b\xe9\xc8\x60\x32\x02\x5f\xae\xb4\x5e\xaf\xd6\xeb\x55\xe4\xe6\xe6\x67\x66\x68\x32\x1c\x99\x15\xb9\x1c\x2c\xc6\xc5\x01\x57\x2c\xe8\xa6\x1c\x15\x15\xbc\x56\x41\x68\x15\x84\xa2\xa2\xc2\x51\x53\xab\xd1\x7a\x8f\xc2\x5c\x18\x4c\x81\x1d\xc3\xe9\xd7\x61\xe1\xeb\xb8\x10\x17\xca\xc7\x73\xb8\xf0\x1c\x2c\x84\x85\xe7\x14\x9e\x2d\xbe\x71\x30\x98\xf2\xa7\x78\x9e\x86\xc1\x54\x58\x23\xe4\xb1\x1e\x35\xdc\x64\xa5\x7f\x50\x2a\x80\xc9\xd4\xd9\x5e\x8b\xa8\x8d\x2c\x75\x54\x97\x94\x70\xb0\x00\x16\x28\x4a\x4a\xaa\x1d\xa5\x0c\x3c\x4d\xa8\x7e\x41\x91\xf4\xaa\x7d\xe2\x59\x0a\x44\xaf\x3b\x86\xea\x11\xc7\x52\x01\xa8\x80\x98\x25\xa9\x5b\xb6\xf0\x2a\x40\x99\x3d\x9d\xce\x39\x69\x9a\x06\xf6\xb0\x2f\xfc\xdb\x79\x9c\xef\x22\xfe\xf6\x6d\x46\xfd\xb7\xc2\xf1\x7f\x1b\x3f\x09\x2c\x13\x5d\x9e\xd1\x30\x11\xfe\x15\xf0\x03\x2b\x86\x61\x30\x0c\xec\x70\x1c\x66\x83\xbd\x37\x1a\x73\x04\xfb\xe7\x3e\x16\x7e\x04\x73\xb0\x19\x5a\xf0\x9f\x5c\xd1\x29\xdb\xf9\xaa\x33\x4a\xa1\xfa\x83\xaf\x40\xe2\xb6\x1c\x13\xdc\x82\x06\x88\x0b\x37\xae\x7f\xdc\xf1\xc6\x6b\x2f\x2d\x1f\xa0\x1f\xce\x4d\x48\x3b\x37\xe3\x0b\x06\x86\xfc\x07\x5e\x87\x24\x78\x0e\x09\xe8\x8b\xab\x31\x1b\x07\xe3\x8b\xf8\xc6\x2b\x0d\x4b\x77\xad\xe7\xab\x32\x8a\xf3\x2d\xa9\x05\xd9\x79\x71\x05\x39\x96\xd4\x4c\x73\x46\x99\x32\xf2\xf0\x22\xa0\x02\x5e\xbe\xf0\x1a\x54\x4b\x41\xf0\x16\xcc\xc7\x38\x4c\xc5\x77\x71\x12\x26\xa3\xf0\xcc\x73\x47\xde\x49\xe2\x96\xe3\x4b\xa6\x38\x41\x93\x39\x7b\xc3\xec\x84\x65\xca\x94\x8f\xaf\x18\x3e\x65\x7a\xf7\xee\x3e\xf3\x0c\x83\x09\xd0\x6f\x3f\x05\x43\x61\x28\xd8\xe0\x2d\x98\x05\x22\x3c\xcc\x42\x34\x91\xff\xae\xe9\x8f\xa6\xef\x64\x9e\xbf\x84\x7b\xdc\xd6\x63\xc2\x15\x41\x03\xa1\xe7\xbf\xba\x76\x69\xf7\x82\x99\x2f\xaf\x18\xa8\x1f\xc1\x3d\x9b\x76\x6e\xc6\xe7\x0c\x0c\xfa\x09\x66\xc2\x66\x98\x88\xa1\xf0\x28\xae\xc4\x0c\x1c\x84\xcf\xa3\xee\x95\x86\x65\x6d\xeb\xf9\xaa\xcc\x62\xb3\x25\x4d\xe6\xb9\x30\xc7\x92\x16\xe0\xb9\xff\xe1\x45\xa0\x84\x7e\x1a\xd8\x08\xaf\x42\x05\xf8\xe1\x10\xcc\xc3\xf5\x98\x8c\xef\xe0\xb3\xb8\x15\x0b\x27\x4c\x3e\xfc\x4e\x22\xb7\x02\xa7\xca\x3c\xa7\x4c\x98\xff\xec\x86\xa5\x4a\x4f\x1c\x4c\x65\x8f\xb1\xbf\x7e\xb3\x6e\xe6\x45\x6e\xe0\x10\xc5\x8e\x84\x45\xbb\x5e\x60\x30\x3c\x12\x83\x50\x83\x9a\x3f\x30\x08\xc2\x61\xe4\x69\x08\x7e\xaf\x9c\xc7\x4d\x10\x4e\x08\xd0\x43\x96\xa4\x95\xa4\x6e\x01\x86\x95\xda\x23\x59\xa9\xed\x49\x68\x86\x4b\x60\xc7\xf5\xb0\x1e\xbc\xd0\xdc\x57\x80\x76\x2d\xf1\x32\xac\x57\x5d\xd3\x2a\xea\x3c\x21\xf4\xdb\x96\x7d\xe6\x7d\x9c\xff\x15\x81\x40\xbb\x14\x45\x46\x66\x60\x30\xae\xc3\x43\x0c\x96\xe0\x4a\x58\x13\x48\xd7\x26\x1f\x4b\x60\xe0\x8f\xb3\x16\x9c\xe2\x61\x09\xcc\x53\xc0\xc3\xa8\xc6\x09\x57\x70\x31\xa3\x3a\xe6\x1b\x86\xd7\xf0\x9a\x6f\x98\x6f\x18\x5c\xc3\x6b\xd2\x30\x69\x22\x74\xc0\x71\x69\x3c\xef\x01\x08\xa3\x71\x1d\xac\xc3\xf5\xb8\x0e\xd7\xe1\x7a\x58\x87\xeb\x60\x3d\xac\x83\x75\x44\x18\x0c\x13\x40\xdd\x0d\x51\x52\xa7\x7c\x50\x07\xc3\x6e\xea\xf2\xe9\x80\x1a\xf2\x36\x15\xe2\x11\x25\x35\xdd\x0d\x6a\xe8\x2c\x22\x33\xb7\x64\x19\xb6\xa6\x4c\xfe\x22\x1c\x86\x02\xab\x00\xc2\xa7\x03\x75\xc0\x9f\x4d\x94\x6d\x93\x87\x20\x07\xd7\xe3\x7a\x7c\x08\x73\xf0\x55\x7c\x15\x1e\xc2\x1c\x90\x6f\xf4\x21\xc8\x81\x57\x39\x49\x44\x91\x86\x76\x56\x8b\x06\xa2\x99\xe5\x24\x91\x8c\x66\x79\x0b\x45\x98\x29\xce\x27\x92\xa0\xf6\xb8\x63\x28\xad\x27\x68\x2c\xa5\x45\xc3\x53\x6c\x26\x1b\x47\xf9\x73\xc1\x2d\xb9\x61\x01\xeb\x71\x9b\x02\x88\x0f\x62\xa0\x04\x6e\x3a\x87\xea\xb9\x0f\x6a\xaf\x18\xdc\x25\xb9\x43\x3c\x6a\xaf\x9b\xfe\x9e\xf2\xe9\x7c\x3a\x45\x6e\xae\x39\x33\x43\x03\x51\x2c\x27\xe9\x7c\x3a\x38\xf7\x67\x3d\x41\x72\x87\x48\x6e\x4f\x20\xfa\x55\x27\xe9\xde\x67\x7b\xd4\xe4\x95\x00\x94\xea\xc5\x00\x1e\x5c\xc0\xa7\x51\x08\x20\xa3\xbd\xcc\xaa\x9f\x81\xa8\x7e\x2d\x94\xf7\x9e\x47\xad\x45\x03\xe9\x11\xdb\x6b\x58\xdf\x3d\x0b\x25\xab\xa2\x04\x04\x30\xb7\x03\xa2\x6a\x23\x15\x10\x53\xfe\x5c\xad\x62\x4a\x2a\x2c\x60\x25\x9d\x49\x96\x66\x39\x94\x3f\x37\x3a\xc0\xa9\x7c\x22\xec\xaf\xcb\x1e\x99\xef\xc6\xc0\xee\xc8\x28\xd6\x73\x91\xde\xb4\x21\x2e\x21\x66\x0b\x4e\x44\x05\x4e\x42\x02\xc7\x23\xa5\x9c\x39\x7e\xe0\xf3\x18\x1c\x00\x5b\xc7\xe0\x81\x9f\x7e\x30\x9e\xc7\xf1\xf0\x4f\x9c\x04\x0a\x7c\x16\x14\xeb\xb7\xc5\xed\xdc\xb4\x5b\xe9\xdf\x73\x8a\xf2\xba\x43\x6f\xbe\x78\x25\x8a\x93\x05\x73\xe4\x1b\xe3\x87\x8d\xba\x83\x8a\xcb\x4b\x78\x78\x0a\x83\x60\x34\x06\xc1\x53\x18\xac\x5c\x7e\x1e\x1e\x7a\xea\x5a\x00\xf3\xfd\x1a\x3c\xf4\xdd\x91\xf3\x3c\x3c\x05\xc1\x30\x1a\x82\x60\x14\x04\x29\x6f\xbe\xff\xe5\x1d\x08\xd5\x84\x79\xc6\x41\x25\x4e\x84\x41\x7d\xeb\xe1\x4b\xcf\xcf\x70\x5d\x95\x08\x77\xbd\x03\x69\xfc\xb2\x67\x2b\x7c\x49\x34\x6a\x15\x8f\xd1\xaa\x7d\x3f\x59\x5f\xfa\x04\x15\x0c\x86\xbe\xf0\xc2\xf0\x91\x97\x9f\x87\x10\xbe\x58\x20\x80\xbc\xf2\xe9\x8f\x56\x5e\x1b\x5a\xe2\xdf\x44\xc3\x69\x1c\x07\x03\x70\x13\xa7\x4a\xc4\x97\x9f\x1b\x3a\x7d\x25\xaf\xda\x57\x0c\x83\xf0\x3a\x21\x94\x3e\x59\xd0\xd3\x8f\x13\xe0\xba\x74\x9c\x6c\x2b\xd9\x59\xde\xc4\x9d\x6d\x39\xf5\xfe\x6d\x06\xfe\xf9\xf6\x28\x8c\xe0\x7d\xad\x70\x9d\x0c\x83\x5f\xd8\x22\x16\x44\xd5\x3e\xd5\xa5\x13\xac\x6a\x1f\xb0\x6c\x00\x7e\xf5\x23\x4a\x75\x09\xfe\xc3\xaa\xf6\xe1\x34\x18\x02\x1b\x87\x40\x3a\x03\xb3\x03\xe8\xf7\xb9\x5a\xe2\xbd\xe0\x83\x5a\xe2\xbd\x10\x2d\xd1\xdd\x0f\x0a\x58\xbc\x0f\xf7\x1f\xc4\x4e\xaf\xdb\x98\x99\x98\xc8\x4b\x8f\xb1\xd0\x17\xfa\x2a\x44\xd1\x5e\x51\xa9\xa9\xb4\x54\x98\x44\x6e\x53\x5b\xd3\xe6\xa3\xcc\xf6\x66\x67\x5d\x3d\xbf\xb7\xe3\xed\xbd\xa7\x1e\x20\x89\xfb\x46\x4a\x23\x15\x75\xe9\x5b\x9c\x5b\x98\xf9\x31\x4b\x62\xe2\xf8\xf4\x34\xa3\x3e\x49\xb3\x6c\x47\x72\xdb\x26\x4e\x34\xe5\xda\x73\x98\x9c\x5c\x8b\xc9\xc4\xe3\x1d\xbc\xa3\x30\x99\x2c\xb9\x39\x9a\x1c\x7b\xae\x68\xe2\xda\x36\x25\xef\x58\xc6\x24\xe9\x8d\xe9\x69\x7c\x4c\xdc\x92\x98\xf9\x0f\x92\x32\x4a\x23\x7d\x23\xe1\x0d\xf6\xd4\xde\xb7\xf7\x76\xf0\x75\xf5\xce\xe6\xed\x9a\xa3\x9b\x9b\x36\xb5\x71\x26\xb1\xc2\x52\xc9\x54\x56\xd8\x45\x91\x97\xf9\x83\x26\x56\x91\x98\x98\xb9\x71\x9d\x26\xae\x2a\x10\xbe\x7e\xdf\x17\xf4\x57\x14\xf7\x1f\x10\x14\x08\xe2\x0e\xbc\xa2\xab\x59\x78\x9f\x9a\xce\x82\x4e\xd2\x4d\x67\xa5\x29\xbe\x64\xfa\xfc\xf2\x8e\x09\x29\xcf\x26\x0e\x1e\x30\x73\x50\xeb\xe0\xd6\x99\xf7\x5a\x7f\x6d\xba\x76\xe9\xdd\xcf\x1d\x77\xa4\xbe\xe1\x62\xc7\x9e\xc6\x0e\x93\x52\x20\x3b\x4c\x0d\xb1\x79\x71\x4a\xe9\x3d\xbc\x3b\x9d\xf5\xab\x3d\xea\xe9\xac\xa4\x43\xdd\x74\x16\xdc\x3e\x1d\x0d\x9f\xb0\x7f\xe6\xb0\xc4\x29\xc7\x70\xe2\x77\x38\x88\x4b\xaf\x68\x30\x34\x31\x5a\x45\x06\xd1\xd4\xe0\xaa\xab\xe0\xbf\x83\xc1\xc7\xe0\x59\x98\xf2\x20\xfa\x56\x84\xd5\xac\x57\xad\x0d\x35\xec\xa0\xfe\x8c\x82\xe3\x04\x32\x10\x08\x77\x00\xff\x68\xa0\x1a\x1b\x53\x1e\x24\x26\xf8\x9a\xf2\xe8\xe0\x7d\x16\xce\x43\x2d\x4e\xc3\xb5\xb8\x16\xe5\xe3\xf9\x05\x0b\xed\xe2\x22\xfe\x0d\xe7\x8a\x8d\xa9\xd9\x29\x39\x29\xb9\x11\x7b\xbe\x1a\xfe\x9e\x02\xd5\x9f\xbc\xf0\x3b\x3c\xa4\x81\xb5\x50\x0b\xd3\xe0\x3c\x07\xea\x50\xa8\x66\xf9\xb7\xd9\x3f\x23\x0b\x78\xcf\x87\x5a\xdc\x4c\xff\x15\x52\x60\x60\xc3\xfc\xf7\x51\x3c\xc8\x06\x0b\x5e\x55\x88\xf7\x1f\xde\xe5\xb4\x68\xca\x75\xe4\x30\x05\x05\x56\x6b\x01\xef\x8b\x1c\x06\xcf\x4b\x6b\x14\x25\x8e\x62\x87\x43\xd3\x9c\x5a\xbf\x85\x13\xf0\x1a\x99\x92\x9e\x93\x66\xe1\x71\x99\xff\x42\x61\x76\x69\x56\x85\x31\xc2\x5c\x5e\x51\xe0\x62\x4a\x4b\x05\x5b\x29\x2f\x0d\xbf\x83\x8b\xfc\xc7\x2c\x29\x95\x29\x4d\xe6\x08\xab\xdd\x6e\x2d\x65\xea\x6a\x9c\xd5\xe5\xbc\xb4\x4f\x1b\x9a\x5f\x56\x5d\x58\x6b\xa8\x88\x08\x6b\x94\xdc\xb2\xa0\xd4\x81\x5a\x12\xe1\x36\xa5\x4e\xcc\x64\xa1\x13\xc6\x50\x23\x40\x47\x7c\x4e\xf9\x44\xd0\x75\xbf\x40\x81\x9b\x5c\xca\xa2\xbb\x8b\x42\xf7\x24\xaa\x1b\x75\x3e\xf1\x0e\x85\xba\x11\xe4\x8d\xde\x2b\x23\x40\x27\x89\xa8\x1b\x41\xfc\xef\xb2\x2c\x93\xb4\x8a\x48\x88\x0a\x96\xd4\x00\x94\x57\xed\x59\x48\x97\xa5\xa4\x94\x26\x33\xc9\x29\x05\xe6\x14\xde\xf7\x19\xf9\xca\xac\x59\xaf\xbc\x32\xeb\xfd\x8b\x30\x8c\x42\x1e\xfe\x81\xff\x00\x1e\x78\xf8\x07\xfc\x03\x78\xce\x23\x4a\xc7\xe9\x92\x00\xba\xb7\x14\x36\xda\xa7\x80\x0d\x3e\x25\xe3\xa3\x7c\xc1\xb8\xc1\x17\xf6\x14\x6f\x2d\x12\x8a\x0a\x35\x07\x28\xb1\xac\xd4\x51\xc6\x9d\x3a\x73\x6a\xff\x97\xcc\x8f\xd7\xa1\x99\xad\x64\xaa\xe0\x1c\x7b\xed\xec\x8f\xcc\x8f\xd7\xa0\x99\xad\x62\x2a\xe1\x1c\x7b\xfd\xec\x8f\xcc\x97\xa7\xd6\xcd\x3f\xc3\xe7\x97\x95\x15\x88\xcc\x64\xca\x2f\x7a\xe2\x69\x08\x61\x87\x91\x8d\xb6\x26\x5b\x63\x63\x93\xb5\xf1\xe1\x41\x61\x8d\x30\x9a\x82\xb7\x29\xe9\x41\xf2\xe4\x07\x98\xf6\x77\x29\x8f\x88\x6a\xda\x42\x49\xbd\xb6\x6a\x94\x5f\x4d\xf8\xd5\x5a\x45\x63\x0d\xeb\xd7\x19\xa8\x2e\xb7\xfc\x86\x4c\x67\xa3\x49\x10\xfd\x51\x34\x9c\x20\xe1\x04\x9e\x50\x40\x1c\xaa\x1f\x98\xa8\xf2\xcc\x34\xb8\x72\xc5\x9c\xf2\x08\xb8\x46\x2e\x65\x7b\xdc\xf0\x04\x2b\x75\x06\x40\x26\xc3\xfc\xb9\xde\xce\x2e\x88\x82\x48\x16\x06\x82\x0a\xd2\x40\xf5\x6c\x20\xfc\x55\x75\x5b\xe5\xf5\xe8\xbd\x3a\x1a\x42\xf0\x5f\xc7\x9e\x7c\x99\x3d\x40\x9d\xfc\x23\xf1\xe5\x03\xd4\xcb\x14\x07\x51\xfd\xa2\x93\x5e\x59\xb5\x98\x4b\x4b\x4e\x4e\x49\xd5\x4f\x1b\xf7\xfa\xe3\x46\x54\x28\x31\x8d\x30\x82\xe2\xf5\x5f\xa6\xdd\x48\x6d\x4e\x6e\x4c\x6b\x52\xae\x3a\x96\x74\xb1\x4b\x03\x4b\x61\x05\x3c\x0c\x33\x38\xd5\x6d\x98\x01\x2b\xf0\x61\x5c\xca\x83\xba\x1f\x6c\xc3\x0a\x98\x86\x0e\x74\x60\x05\x4e\xc3\x6d\x83\x3a\x9e\xbe\xf4\x3c\xa7\xf2\x5e\x7a\xfe\x76\x64\x79\xa4\x32\x21\x23\x3d\x7e\x83\x66\xab\xa8\xaf\xc9\xe0\x32\x33\x4c\xfa\xad\x9a\x0d\xb5\x9b\x76\xa4\x73\x79\xd9\x96\x8c\x4c\x8d\xea\xf6\xab\xef\x6c\x3c\xc3\xcd\xd9\x7e\x66\xdd\x87\xcc\x87\x67\xf6\x9f\xd9\xce\x9f\x79\x67\xd7\xf9\x1a\x4b\x6d\x5e\x15\xbf\xa3\xae\xb6\x6d\xb7\xa6\xc5\xd4\x9c\x59\xcb\xd5\xd4\x8a\xcd\x2d\x9a\xdd\xe9\xed\x09\xb5\x5c\xf9\x1f\xb7\xff\xb8\xf4\xa9\xf2\xd2\xa7\x1d\xdf\xfe\xaa\x09\x6b\x04\x35\x7c\x4f\xc1\x28\x16\xee\xd1\x01\xa0\x2a\xad\xb7\x11\x74\x44\x5d\x56\x15\xb4\xb0\x79\x26\x4d\x5e\x49\x9e\x23\x9f\x83\x2b\xe8\x56\xe4\x97\x95\x17\x88\x4c\x5d\x55\x75\x2d\x0f\x3a\xad\x62\x25\x39\x99\xf2\xe8\x43\x77\xb2\x5a\x6f\x23\x39\x9e\xd2\x2a\x56\xa2\x8e\x08\x04\xca\x06\xf4\x00\x7d\x2f\x58\x67\x11\x2b\xdd\xa3\x4d\x05\x79\xf9\x66\x0e\x7f\xc3\xdf\x14\xf9\xf9\xa6\xc2\x3c\xc6\x94\x57\xe2\xc8\xe7\xf1\x1e\xdc\x53\xe4\x3b\x0a\xc5\x72\x4d\x6d\x55\x75\x1d\x07\x7a\xb8\x47\xc8\x03\x1b\xd8\x5e\xb8\x07\x7a\xe8\x66\x3d\x6a\xd4\xdb\x28\xb9\x41\xf1\xcf\x06\x3d\x51\x74\x46\x76\x56\x3a\x87\x7a\xbc\x47\xd4\xf5\x6e\x4a\xdc\x43\x3d\x29\x1b\x09\x62\x69\xb9\xa3\x8c\x87\xdf\xe0\x37\x85\xc3\x21\x96\x94\x33\x62\x79\x61\xbe\x83\x87\x7b\x78\x4f\xe1\xc8\x2f\x31\xe5\x69\x3c\x6a\xec\xb4\x51\x78\xbf\xd7\x09\x0f\x56\x53\xbd\x49\x3e\x51\x0f\xba\xc0\x03\xff\x4d\x52\x83\x6e\x2f\xab\xfa\xdd\x2b\xce\xa2\x61\xc9\x1a\xb8\x88\xa6\x13\xdc\xce\xe9\xe6\xe7\x5e\xd4\x7c\xbe\xfc\xd8\xb8\x51\x1a\x78\x81\xfd\x2b\x01\x02\xbc\xc0\x46\xb3\x5c\x17\xb9\xbb\x70\x77\x72\x2b\xa7\xc2\x19\xe3\x07\xae\x8b\x64\x22\x07\xee\xbf\x30\x9e\x4f\x4e\x2c\xdc\xb0\x41\x83\x2b\xc8\x4f\x13\x4f\xbc\xf8\xac\x46\xf5\x1b\x7c\x46\x5d\x7b\xc7\xfd\x59\x2b\x07\x2b\xc8\x4e\x47\x67\xcd\x7e\x0e\x4d\x0b\xd6\xe0\x45\x5c\x02\x59\x2c\xba\xbd\x8f\x3d\x48\x08\x82\xf7\x37\xb1\x50\x40\x81\x3b\x80\xd6\x05\xe2\x8f\x6c\x6f\x8a\x53\xd5\xf1\x20\x55\x8f\xa1\x88\xf5\xb8\xff\xc3\xf6\x83\x5c\x76\xfc\xc9\x97\xae\x26\x72\x3e\x1e\x32\x29\x08\x27\x61\x53\x2b\x4c\x84\x28\x98\xaf\x91\x44\x72\x0c\x9b\x6f\xb1\x5a\x2d\xdc\x81\xe4\x55\xad\x4b\x98\x7c\xea\xf4\xdc\xcb\xcd\x4d\x65\xae\x7a\xde\x37\x04\x32\x29\x69\x08\x69\xa8\x6f\x32\x37\x33\x0f\xfc\xcf\x96\xac\x4a\x5c\x9b\xcc\xab\x8e\x07\xd9\x2c\x16\x5b\x3e\xf3\x04\x15\x88\xac\x98\x0f\x13\x31\x0a\x36\x25\x72\x18\x4e\x62\x2c\x2c\xc3\x29\x5d\x2c\x4c\x81\x58\x4e\xe2\x49\x55\x8f\xe1\x6a\xeb\xc9\x8f\xbf\x92\x5f\xa0\x0e\x0a\x3a\x41\x0f\xb7\x29\xd0\x43\x67\x88\x47\x2d\xcb\xe9\xde\x8f\x2c\xfe\x7b\xfd\xa2\x21\x9b\xed\x22\x02\x5e\xc8\xa8\x86\x60\x16\xd5\x5a\x0c\xf2\x8a\xa4\xa4\xf6\x76\x42\x2e\x15\xad\xc5\xa0\x2e\x98\xc3\x86\x35\xfe\xcd\x85\xcd\x73\x1a\x3a\xe9\xff\x93\x6f\xda\x5f\x8e\x69\xdc\x7f\x1d\xd3\xfe\x1f\xdc\xd2\xfe\xa7\x53\x1a\x0c\x3b\xc0\xca\xcf\x55\xfe\x17\x7c\x90\xed\xf5\xd3\x54\xd3\xbb\x28\x2e\x5a\x52\x77\x11\xbf\x7f\x3d\xb6\x3f\xaf\xf5\x18\xfc\x22\x6d\xa6\xb8\xa2\x00\x1c\x6c\x97\x47\xa4\x21\x16\x7e\x62\x31\x96\xd3\xa2\x61\x2c\xe5\xd7\xc3\x17\xb2\x8c\x99\xc3\xb6\x77\x91\xdf\x50\x78\x1f\x78\x4a\x80\x15\x94\x47\xad\x55\x9c\x94\xa5\x98\x2f\x8a\x84\x0b\x6c\xc2\xce\xd8\xd8\x84\x84\x58\xee\x7f\x96\xfc\x6a\xf2\xd9\x13\x2f\x7e\x9a\xc8\xf9\x1b\xe0\x24\xe5\x69\x20\x3f\x6d\x3d\xe1\xbe\xa6\xf1\x88\x1e\x75\x0c\x85\x22\x01\xf3\x29\xde\xdf\x19\xcf\x82\xde\x27\x12\x81\x7b\x00\xf5\x55\x16\x45\x98\x20\x9b\xb4\x7f\x4f\x6f\xd0\x23\x62\x14\x3d\xf9\x41\xe0\xca\x50\xca\xa3\x47\x3d\xed\xd7\x8d\xa6\xe4\x13\x28\x86\xfe\xf9\x33\x0c\xef\xff\x49\xdd\x0b\xc5\xfe\xdf\xe4\x10\x6a\xd0\xff\x09\xc7\x2e\x76\xcd\xa2\x3c\xa2\x4f\x47\xd7\x66\x55\x67\x70\xd1\x44\x46\x56\x56\x06\x1f\x4d\x66\x54\x67\xd5\x72\x5d\x44\x6d\x75\x75\x2d\x8f\x22\xb8\x67\xb0\xff\x3f\x2a\xfd\x7f\x5c\x1e\xc7\xbe\x4c\xf1\x28\x6a\xbd\x37\x60\x39\x3b\x9b\xb2\x50\x5a\x6f\x10\x09\x6a\x2d\x31\x25\x86\xd2\xa2\xac\xae\x7b\x0c\x4f\xb1\x45\x6c\x1c\x15\xe0\x5c\x16\xfe\x45\x54\x60\xe7\x18\xd4\x3f\x07\x6e\x43\x05\xf3\xff\x27\xef\xe3\x58\x95\x72\xda\x64\x0a\x45\x7f\x27\x2c\x0f\xa8\xde\xf1\x93\x28\x49\xf7\x02\xa5\x32\x2b\xda\x41\x94\x75\x6e\x9f\x5a\x1b\xda\x18\x40\x0f\xe8\x46\xf5\x08\xb2\x2e\x80\x23\xe0\xee\xc5\x11\x18\x01\xea\x6e\x37\xa5\xa2\x74\x5d\xbd\xbb\x99\xaa\x82\x97\x24\xb1\x3d\x86\x42\x37\x74\x12\xaa\xc4\x5d\x4b\x59\x9f\xae\x8b\xc2\x4e\xd8\x13\x88\x76\xed\x65\x0e\x86\xf5\x9a\xed\x32\x7f\x37\x59\x50\xf7\xe2\x4f\xf4\xa6\x8e\x16\x55\x9e\x46\x98\x4c\x4d\x67\x1f\xd8\xf1\x36\x87\xdd\x55\x62\x97\xed\xf8\x70\xd5\x1f\x27\xed\xa5\xae\x52\x87\x4d\x09\x4f\xa3\x48\xc8\x86\xfc\x74\x16\xd4\x9e\xa8\xf3\x2c\x04\x07\x32\xc3\x40\x37\x1b\x80\xd7\x92\x3a\x69\x95\xa7\x31\x00\x00\x3a\x96\x42\x37\x46\x91\xb1\x8b\x03\x06\xfe\x1f\x27\x03\x16\xfe\x96\x2d\xa9\x8b\x63\x35\xbe\x28\xd2\x48\x41\xc0\xa4\x27\x90\x84\x01\x30\x00\x88\xfa\x80\x91\x6f\xa6\x1e\xfc\x06\x5d\x1c\xd5\x78\xa0\x17\x3a\x4f\x0d\x6a\xe9\x51\xaa\x1b\xa2\x60\x37\x25\x40\x54\xb7\xcc\xaa\xa1\x88\x95\xa2\xce\xb3\xaa\x3f\x0c\xff\xe5\x40\xe5\x31\xa0\x8e\x54\xfd\x61\xf0\xab\x3d\x7a\xfa\xc1\x2c\x56\x79\x0c\x3d\xea\x7e\xf1\x90\xcd\xb6\x13\xda\xd0\x46\x79\x26\x47\xc9\x33\x39\x4a\x9e\xc9\x6e\x12\xee\x05\x66\x72\xbc\x16\x83\xda\x7b\xe3\xcc\x85\x76\xd0\x81\x18\x0f\x62\xbc\x14\xc2\xb6\xf7\x95\xc5\xb6\x6a\xb7\x96\x34\x48\x6e\x5a\x10\xda\xb1\xb3\x8b\xc3\x7b\xed\xa8\xef\x52\x44\x13\x78\x14\xee\x29\x2e\x49\x8f\x50\x23\x08\x8c\x22\xa2\xe3\xbb\x7c\x51\x84\xea\x1a\x46\x11\xa8\x03\xbd\x62\x04\x11\x1f\xaf\x40\x5d\x7b\x3c\xa8\xf3\x48\xd4\x6d\x55\xa0\x9a\x04\xdd\x56\x45\x1e\xaa\xe3\xe3\x51\x47\xb6\xc7\x2b\x54\xbb\xbb\x09\x90\xeb\x42\x94\x2f\x2a\x3a\xbe\x8b\x80\x28\xa2\x5b\x7a\x84\x7a\x99\x00\xb9\xe9\x2e\x02\xf4\x5d\x70\xaf\x5d\x01\x9d\x5d\x42\xbb\x10\x08\x92\x0f\x24\xc8\x09\x96\x1f\x5a\x6f\xe4\x78\x56\x8c\x30\x99\x99\x36\xf7\xf4\x65\x5e\x08\x7c\xbe\xd6\x80\xe8\x53\x13\x5e\xf9\x8d\x47\x35\xe8\x14\x9e\x4e\xb2\xab\x3d\x1e\x74\x8a\x1e\x1d\x11\x8f\x6a\x85\x4f\x2f\x1f\xba\xa2\x15\xe8\x96\xe5\xe2\x14\x94\x65\xa2\xeb\x77\xc1\xc5\xa0\x1a\x75\x0a\xd4\xc1\x5b\x6c\x58\x20\x3a\x42\x47\x27\xca\xba\xb1\x88\x6e\x32\x91\xf5\xaa\x93\x58\x74\x4b\x22\xb8\x93\x64\xab\x11\x44\x6f\x54\x64\x6f\x10\x85\x41\x7e\xce\x6e\x42\xae\x8b\xee\x00\x6a\x9d\x1b\xdc\x44\xac\xfc\x22\xba\x49\x28\xa3\xa4\xce\x48\xd6\x9f\xfb\x99\x37\x23\xf8\x88\x77\x71\x88\x87\x84\x28\xfa\x3a\xe5\x63\xa5\xc0\x7f\x4e\xaa\xbc\x40\x8c\xa7\x24\x75\xbf\xff\x75\x2e\xac\x97\xa8\xd2\xbb\x38\x44\xfa\x4e\x72\xd3\x76\xb9\x96\x9d\x0a\xf3\xdd\x87\xfe\xde\xc5\xd0\xc1\x82\x9e\x7e\x8d\x95\xd4\xa1\xaf\xb1\xf2\xb9\x17\x02\xe7\x3c\x51\x74\xb4\x6c\x7d\x46\x53\x61\x3d\xf7\x03\x7d\x4a\x9f\x87\x78\x48\xaf\x9e\x16\x0b\xca\xe3\xa9\xbf\x77\xf2\xa0\x42\xa5\xf4\x79\x6f\xfb\x9f\x52\x8b\x16\x29\xf2\xf3\x0b\x4c\x79\x9a\xbc\x52\x93\x23\x9f\x93\x58\x1f\x2b\xa9\xa8\x07\xe7\x4c\xa5\xb2\x2a\x71\x7c\xd1\xce\x00\x07\x4d\xd2\xe7\x32\x07\xf7\xe8\xde\xce\x4f\x05\x8a\x9e\x4e\x3a\x9a\x0a\x83\x61\xb0\xb6\xd7\x6b\x20\x93\x95\x3a\x6b\x58\x68\xa3\x3c\x6e\x89\xec\x45\x78\x0d\xe4\x85\xf0\xb8\xff\xcc\x7b\xd5\xe3\x8e\x61\xa5\x4e\x22\x2a\x7a\xfa\x7a\x88\xa1\x24\x71\x14\xb5\x27\xfa\xca\x0d\x8d\xd4\xf9\xa1\xac\x34\x74\x8f\x00\x5d\x74\x57\x17\xa8\x21\x8d\xea\x2b\xcf\x83\x00\xf4\xe5\x72\x29\x0a\x44\xda\xeb\x5e\x2c\x8b\x73\x9e\xed\x71\x2f\xa3\xfc\xba\x18\x36\xde\x73\x8f\x7e\x99\xe2\xbc\x6e\x98\xce\xfa\x75\x64\x1d\xdb\xe3\x36\x04\xd4\x1a\x3d\xad\xf5\x9c\x24\x30\x6a\x04\xf1\xc6\x95\x95\x37\x39\x2d\x31\x85\xb8\x79\xe5\xd0\x49\xbe\x9b\x54\xbd\xd3\x13\x3a\x82\x86\x2d\x14\x90\xf2\x5d\x08\x5d\xa0\xee\x82\x79\x14\x14\x50\x21\x30\x99\x4a\x90\x75\xd8\xa8\x1a\xd6\xef\x36\x50\x5e\x9d\x9b\xf2\xb8\x21\x89\xf5\xbb\x7b\x99\xf6\xb8\x3f\xa4\x7a\x72\x85\xb7\x21\xea\x6d\x8f\xd8\xdd\x2e\xeb\xb9\xdd\x92\xbb\x3b\x44\x5a\x0b\x6a\x7a\x45\x4c\xcc\x0a\xf8\x8a\xe2\x60\xad\x4c\xef\x13\x0d\x94\x47\xe7\xa6\x24\xb1\x97\x33\xd4\x79\xbe\x95\x97\x4a\x0e\xb6\x50\x3c\x74\xd6\xdc\x62\x65\x83\xa0\x47\x24\x7b\x17\x3f\xf1\x2a\x7b\x88\xf5\x88\xda\xd0\xc6\x09\x6c\x64\x63\x8a\x85\xda\x4f\x49\xc1\x6c\x00\x3a\xab\x9d\xf5\xaa\x25\x75\x3b\x1b\x48\x2c\x15\x0c\xd7\x1f\x5c\xd0\x86\x9e\xdc\xcd\x7a\xd5\x1e\xdd\x6e\x36\xac\x11\x75\x20\x2e\x02\x11\x2c\x20\x4a\xb7\x53\xfb\x76\x41\x13\x7b\x90\xd5\x7a\x67\x3d\x38\xa5\x03\x51\xa5\x0f\x92\x9a\x61\x00\x2d\xab\x0e\x2f\xcd\x99\x3b\x4d\xee\xf6\xf2\xe9\x33\x1f\x73\x92\x05\x57\xd3\x2f\xb2\x7e\x9d\x47\x47\xbf\xc8\x6a\x43\x0f\xf8\x2c\xf4\xe5\x39\xa7\x5f\x8a\x65\x5f\x3a\x3d\xe7\x32\xf4\xb0\x3d\x0b\xbd\x69\xf4\xcd\xa9\x57\xc6\x24\x52\x63\xae\x4c\xbd\xc9\xa9\x5e\x0c\x5a\x43\x69\x43\xcb\x7c\x16\x99\x4c\xed\xd1\xd1\x70\x83\xe2\x54\x6d\x41\xd0\x43\x49\xad\xb8\x9a\x86\x3e\x43\xee\x60\x1f\x7c\xf4\xf1\x21\xd8\x07\xd6\x51\x9c\x2a\xd1\x00\x7d\xee\xfc\x02\x8f\x3e\x80\x38\x51\xd3\x91\xd4\x03\x60\x32\x2d\x31\x3c\x00\x4d\x26\x45\xd1\x10\x6a\x00\x72\xd5\xef\x1c\xfc\x07\x79\xdf\xc8\x33\x78\x8d\x41\x3d\x88\xc4\xf7\x94\x4f\xf4\x89\x7f\xdf\xdb\x11\x7d\xe2\x07\xf2\x22\xa3\x27\xa5\xa9\xb0\xf7\x19\x5f\xd2\xea\xa2\xd5\x85\xab\x79\x6b\x66\x41\x7a\xa6\x26\xad\x22\xb3\xa1\xaa\xac\xcc\x59\xc6\x55\x37\xba\xda\x5d\xcd\xca\xd3\xa0\xfe\x18\xa2\x21\x52\x13\x16\x89\xea\x1f\x83\x05\xd0\x43\x94\xac\x3c\x47\x81\x5e\x56\x7b\xdc\x34\xac\x60\x3d\xea\x7e\xb0\x82\x85\xa8\x7e\x78\x16\x77\x2f\xc5\x42\x0e\x27\x11\x58\x88\xbb\xdf\x82\xb3\xf0\xc4\xf7\xc0\xc0\xf8\x0b\x5d\xb9\xa6\xf3\x7c\xde\x89\x13\x85\x27\x99\x93\x27\x4a\xca\x4f\xf0\xe2\x85\x0f\x2b\x2e\x30\x30\xfe\x7b\x64\xf0\x09\x1e\xf4\x30\x8d\x86\x21\x6b\x80\x1f\x01\x0a\xae\xee\x94\x78\xfa\xb4\xe6\x6a\xc6\xd5\xb8\x8f\x38\x1c\x35\xe4\x95\x27\xf1\x9f\x7c\xd3\xa8\x91\xce\x27\x98\x81\x03\x0d\x5b\x87\xf0\x3f\xe0\xc3\x43\x2e\xe1\xd3\x4c\xdc\xf4\x8c\x29\x53\x34\x73\xc5\x39\x75\x3a\x6e\x04\x86\xae\x41\x0e\x87\x68\x30\xc4\x85\xff\x7c\x67\x08\x87\xcd\xc0\x4a\xb4\x1e\x6a\x19\xa8\x84\xfb\xdb\xa1\x01\xc2\xf9\xe3\x77\x5d\x40\x41\x48\x20\x5b\x99\xda\xab\x06\x9a\x95\xc4\xc0\x3c\x09\x99\x4d\x81\xbe\x17\x8b\x0c\x3e\xa0\xde\x58\x79\xe8\x24\xef\xd5\xc1\x72\x79\xae\x7c\x47\xf9\x75\xf2\xec\xd3\xfd\x1f\x00\x46\x02\xe8\x13\x81\xd5\x30\xd0\xda\xcb\x2c\x14\x05\x82\x5b\x7e\x97\xee\xd2\x59\xa6\x1c\x93\x81\xc3\xb7\xf0\xbe\x62\x55\xdc\x4b\x1b\xde\x60\x7a\xdc\x44\xf2\xc6\xb2\x1d\xd5\x62\xa5\x58\xc1\xc3\x5b\x70\x5f\xd1\xd9\xf1\xf1\xee\x93\x8c\xd7\x4d\x34\xed\x32\x6f\xe6\xb5\x28\xc0\x78\x7a\x54\xe4\xc2\x69\x73\x78\x14\xf1\x23\x85\xe7\x07\x58\x4e\x49\x6e\xf8\x8e\xc2\x28\x52\x2a\xc2\xf1\x74\x8b\xa5\xd9\xd8\xc8\x75\x6d\x9a\xbe\x6b\x3a\x83\xb2\xfa\x9e\x1d\xc0\x26\x79\xc0\x96\xd7\x4d\xdc\x82\xe0\x13\x1f\x9f\xe6\xe1\x6d\xb8\xaf\x68\xed\xa8\x7f\xf3\x70\x6f\x92\x46\x54\xc3\x9b\x94\xa4\xfb\x8c\xd5\x86\x26\x48\xab\x68\x57\x47\xda\x9e\x0d\xae\x38\x57\x4c\x9a\x21\x4e\x19\xb9\x61\xe8\x54\x0c\x65\x30\x74\xe8\x95\x3f\x36\xf0\x86\x8e\x98\xfa\x0d\x86\x38\x43\x5a\xac\x2b\x4e\x89\x63\x8f\xc3\xe3\x18\x04\xcf\x31\xf0\x1c\x3c\x0e\x41\x30\xf6\x38\xef\x33\x49\xd3\x9f\xa1\x36\xb1\x92\x0e\xe2\xa8\x40\x83\x70\x8e\x86\xb1\x8b\xf0\x71\x08\xc2\xe7\x18\x7c\x0e\x1f\xc7\x20\x1c\xbb\x88\x37\xc4\xd5\xc7\x76\x18\x76\x1b\xf6\xd6\xbb\x3a\x94\x7f\xec\xfe\xf9\x0a\x84\x32\x10\xfa\xf3\xd4\xc8\xdd\xbc\x2b\x6e\x6f\x5a\x87\x6b\xb7\xab\x7e\x8f\xa1\x43\xe9\x33\x49\x5f\x3f\x43\xa1\x1a\x2e\xb3\x9f\xb1\x16\x4a\xd2\xc5\x50\x7e\x35\x61\xa4\x3c\xea\x51\x94\x4f\x94\x74\xcf\x04\x8c\x21\x5d\x34\x74\x4a\x51\xa0\xeb\x2b\xc8\xa6\xd8\x49\x10\x55\x47\x3c\x6e\x49\x47\x3f\x4b\xa1\x0e\x75\x84\x2a\xad\x80\x02\x1d\xea\xc8\x28\x4a\x75\x04\xd4\x4b\x58\xd0\x81\x8e\x28\x60\x51\x07\x3a\x59\xd1\x50\x93\x92\x3b\x7a\x7a\x00\x1d\x95\x56\xa5\xcd\x66\x41\x49\x71\xaa\x23\xf0\x08\xc5\x83\x6c\x64\xab\xd2\xc0\x2c\x9f\xe8\x51\x13\xa0\xa0\xfe\x42\x78\xee\x07\xd4\xb1\xcf\x6f\xf1\x90\x48\x4c\xba\x05\xd4\x62\xe8\xc7\xc0\x1c\x8a\xef\x7d\xee\xa0\xee\x4d\x83\x12\xc8\x88\xf2\x33\xfb\x57\x16\x94\x9e\x76\x83\xa4\x96\x42\x69\xd1\x5c\x66\xe2\x66\xc8\x55\xee\x41\x3e\x8b\x7a\x02\x48\x76\x04\x69\x2a\x33\x8b\x1c\xe8\x6f\xcb\xf7\x7b\xef\xcf\x3a\x5e\xd1\x17\x05\xf9\xac\xaa\x7f\x50\x90\xff\xde\xdf\xea\x79\xee\xdd\xa6\xfc\x7f\xab\xf7\x5f\x1a\xe8\xc3\xaa\xb6\x4c\x09\xfa\xbf\x9f\x1a\x65\x0f\x82\x3e\xec\x0c\x79\xd8\xfe\x22\x02\xb1\x5b\x6e\x3b\x71\x70\xd0\x5f\xbf\x47\xfd\x33\x08\x46\x51\x68\xc6\x50\xf2\x7f\x32\x05\x6a\xdf\x20\x5a\xeb\x31\x78\xd5\xd0\xc8\xca\xb6\xfa\x61\x59\x49\x25\x62\x59\xbe\x27\x10\x1a\xd1\xc8\xf6\x62\x9f\x40\x0b\xa8\x2b\x40\x2d\x25\x81\xba\x1c\xd4\x7d\x41\x0d\xd7\x59\x79\x4e\xa8\x55\xcb\x0f\xb2\x52\x2e\xbd\x61\x26\x3e\x3c\x1b\x43\x98\xb5\x71\xe5\x55\x9b\xf9\xcd\x55\x8a\x93\x91\x8f\xbf\x83\x4f\x32\xaa\x2f\x31\x02\x27\x2d\x98\x85\xe1\xbc\xd4\x4d\x76\x81\x12\x9e\xfe\x10\x68\x06\x78\x50\x2e\x7c\xe3\x0f\x3e\xf9\xd0\x31\xe3\x49\xb8\x43\xf9\x7c\xa4\xd6\x7b\xd2\xd3\x46\xab\x96\xa7\x50\x9c\x2a\x67\xe9\xf6\xd5\xfb\x93\x39\x2d\x86\x4d\xa3\x54\x5f\x6a\x43\x7f\x25\x41\x43\xc1\x69\x4a\xb5\x1c\x32\x58\xd5\x97\x69\xb9\xb9\x29\xc9\x1a\x7f\x06\xa9\xca\x81\xd7\xd8\x8a\x12\x87\x93\x87\x5a\x56\xb5\x1c\x9e\xa7\x54\x5f\x36\xba\xaa\x9a\x5a\x34\x7f\x72\xfc\xd8\xbb\x95\xd2\x28\x50\x97\x01\xfd\x77\x9e\xf7\x7a\xdc\xd2\x6e\x1a\x1f\x35\xe2\xa0\x65\xa8\x9c\xaf\x84\x99\x24\x90\xa7\xe1\xf1\x63\x10\xe6\x52\xa2\x8e\x94\xc6\x85\xe2\xa3\x16\x1c\xb0\x00\xa9\x59\x4a\x98\x43\xc2\x43\xef\xc3\xd0\xb3\xd0\xd7\xa1\xc4\x45\xa4\xc7\xed\x5b\xf3\xd7\xfd\xc6\x6d\x72\xb8\x12\x79\x98\x4d\xe6\x94\xe6\xd8\x73\x1c\xca\xd3\x48\xe2\xa3\xa7\x70\x44\x7e\xbe\x60\x66\x60\x0b\x59\x5c\x5b\x63\xab\x61\x60\xc4\x0f\xf3\xe7\x00\xc9\x57\xe6\x57\x5a\x2a\x0b\x94\xa8\x27\x41\xb3\x1a\xc6\x5c\xbc\x7d\x44\x89\xaf\x91\xd2\xf3\xa1\xa3\x16\xe2\x98\xc9\xa8\xd9\xaf\x84\x85\x64\xfe\xb6\xed\x45\xad\x70\x87\x52\xf5\xc5\x39\xf2\xa8\x40\x0f\x9d\x42\xfd\x6d\x40\xe4\xe1\x50\xbd\x0a\x1a\x4a\x65\x84\xd3\x14\x64\xb0\x7f\x0d\xc7\x9f\x83\xa1\x7a\x55\x1e\x8e\x37\xe1\x79\xea\xc1\x60\xc8\xf2\x2f\xb8\x52\x4b\x6c\x0d\x91\xae\x4b\xc7\x8f\x52\xde\x2e\xdf\xb2\xb9\x6c\x8f\x6e\x34\xe5\xd5\xc1\x70\x16\x86\xe1\x43\x5a\xc5\xd2\xe0\x23\x5a\x72\x48\x88\xe4\x07\x96\xbe\x2b\x6b\x35\x6c\xb8\xac\x03\xdd\x65\x23\x16\x1d\x07\x82\x8a\xf0\xad\xf7\xad\xbf\xcd\x46\x48\xeb\x7d\xeb\x7f\x67\x8f\x1f\x57\x48\x37\xbd\x27\x68\x7b\xad\xb1\x2e\xc3\x3e\xb3\x36\x3c\xd3\x9e\x6e\xb4\x64\xf8\xfe\xa1\xf5\xfe\x1e\x6e\xc9\x70\xa6\xd7\x5a\x3e\xc8\x08\xaf\xb1\xd4\x39\xed\xb5\xd2\x3f\xb4\x8a\x7f\x86\x7b\x06\xfb\xf9\xa3\x7f\x83\xd8\xd4\x6b\x15\xaf\xc2\x86\x10\x8f\x5a\x5a\x4c\xfb\xfa\x4b\xfd\x61\x0c\x1b\x21\xf5\x97\x06\x28\x2e\x9d\xa7\x2c\x54\x3b\x0d\x83\xd2\x61\x3d\x8e\x80\xa7\x38\xec\x0b\x34\x2e\x72\xe3\xce\x7a\x25\x54\x9f\xa7\xa0\x94\x84\xf8\x0c\xe0\x16\xde\x18\x79\x07\x43\x3b\xf0\x95\x04\xdc\x6e\xcd\x12\xb3\xab\x2d\x4a\x6b\x49\x89\x50\xc2\x54\xb8\x1c\x2e\x3b\x5f\x56\x09\xa3\xe1\x2c\xac\xd5\x84\x05\xd2\xa1\x36\x4b\x9f\xd2\x8b\x97\x56\xcc\x38\x87\x80\x97\x61\xd2\xec\x5d\x0a\xef\x02\x12\xc6\xe0\xd5\xb6\xd7\x2f\x18\x41\x5a\xa0\x80\x05\x15\xf4\xe1\x43\xd9\x6f\xbe\x2e\xfa\xac\xee\xf0\x40\x2e\xd4\xd6\xec\x8c\xaa\x74\x46\x20\xd3\xd3\xb3\x13\x73\x78\x4c\xf6\x2d\xf1\x59\x5f\x7c\xdd\x94\xbd\xea\xd0\xca\x08\x29\x08\xff\x18\xeb\x2b\x54\xac\x30\xd7\x24\xed\x62\x5c\x55\xa5\xe5\xd5\xbc\x34\x1f\x0c\x81\xbc\xa9\x79\xd5\x55\x05\x2e\x66\x57\xcd\xf6\xc3\x66\x7e\xac\x54\x08\xf7\xe1\x0f\xc5\xdf\xbd\x3d\xd3\xb5\xa1\x2d\x74\xe5\x36\x4b\x5b\x6a\xbd\xb2\x32\xf0\x45\xd6\x68\x2c\xb2\x98\x64\x13\xcc\xaf\x4e\xca\xc9\xde\x54\x96\x10\x91\x50\xb6\x2d\xb5\x8d\x91\xdc\x3e\x37\xb1\xa9\x61\xcb\x4e\x33\x67\xb5\xdb\xad\x76\xa6\xa5\xa9\xb2\xc9\xc5\x7b\xd4\x45\xac\x22\x2c\x12\xbe\x0d\x68\x37\xd2\x29\x10\x69\xe9\x3b\xe9\x3b\x85\xef\x3b\xd2\xaf\x3e\x12\xf8\x4d\x4a\xa7\xfc\x51\x73\x59\xd4\x7b\xbe\x23\x40\x00\x6b\x45\xa5\xd0\x90\x5b\x19\x91\x53\x91\x2a\xe4\xe4\xa2\x15\x85\x70\xff\x77\xa0\x27\x74\x54\x20\x4f\xe7\xf3\x2c\xe8\xfd\xf7\xe0\x10\xeb\xb9\x87\x7a\xa2\x8d\x0d\xa4\xe9\x1c\x27\xab\xd7\xa8\xee\xd6\x86\x9e\xec\x6e\xef\xee\x2b\x74\x0b\xa0\x13\xba\x65\x91\xa2\xeb\x56\x75\x43\x67\x17\x5d\x4b\x59\xa8\xd0\x5a\xca\x13\x08\xc9\x94\x97\x53\x15\xc8\xab\xe9\xc9\x43\x52\x5f\x6a\xe5\x1b\x7c\x77\x3f\x08\x63\x39\x55\xf7\x2e\x6a\xda\x81\x99\xa7\x37\xf0\x45\xb8\xae\xff\x0a\x9c\x35\x7b\x71\xd6\xfc\x8c\x85\x5b\x94\x2a\x90\xf2\xc9\xd3\xbb\x0f\x7c\x70\x59\xa3\xea\x86\x5c\x36\x50\x89\xf3\xbf\x4f\xaa\x60\xee\x86\xb5\x33\xa7\x69\xfa\x7f\x3d\xb6\x8e\xba\xbc\xf6\x83\xb9\xbb\xb9\xed\xe4\x4f\x27\x5a\x60\xcc\x71\x0e\x26\x9f\x02\xf1\x8b\x12\xf0\x2b\x7b\x29\x03\x0e\x95\xba\xd9\x29\x52\x54\x97\xa4\xeb\x82\x6f\x7b\x7d\x29\xe1\xdb\x3f\x4b\xaa\x4c\x83\x14\x0d\x75\x5f\xb0\xf0\xdc\x6a\x1a\xae\xb1\x1c\xba\xc9\x64\x16\xf5\x52\x27\x8c\x65\x55\x06\x83\x36\xf4\x0e\xaa\xe9\xcf\x36\x5d\x99\xff\x2e\x87\xdf\xc2\xb7\x19\xb5\x69\x95\xa9\x15\x11\xe9\x98\x07\xad\xb8\xe3\x81\xe3\xa4\xd4\x87\x8d\x89\x89\xb6\xc5\xec\x8d\xc0\xed\xd0\x8a\x79\xe9\x15\xa9\x95\x69\xb5\x19\x11\xaa\x4c\x03\x7c\x83\x37\x1f\xf8\x25\x7e\x76\xe5\x2f\xa7\xc4\x77\x4f\xb5\x5d\xf9\x4c\xe3\xf3\x7b\x62\x69\xd5\xc3\x41\xb9\x0d\x39\xf5\x19\xb5\xf8\x0d\xdc\x0c\xef\xf5\x84\x9c\x3c\xf5\x2f\x37\x48\xdd\xfc\x4d\x53\x27\x6b\x26\xb7\x4d\x3d\xa5\xe3\xe0\x5b\xfc\xb6\x36\xa3\x3e\xa7\x21\x57\x6e\xb9\x0e\xcc\xd8\x0a\xad\x10\xcf\xb6\x38\xb7\x33\xdb\x5b\x02\x6e\x98\xdb\xb1\x15\xf2\xea\x14\x9e\x47\xc6\xc3\x58\xd6\xd7\x29\x75\xfe\xf7\x9e\xa4\x11\xf0\xdc\x17\x6c\x58\xcf\x7d\x41\xd6\xd8\x74\xe0\x0e\x16\x3c\x6a\x59\x6b\xd3\xc5\x50\xd1\x92\x9b\x80\xc1\xec\x93\x2c\xd7\xe5\x53\x47\x13\xb1\x09\x09\xb1\x3c\xaa\x61\x12\x8b\x6a\xad\x22\x88\x86\x68\x16\x75\x4f\xb1\x20\xc6\x51\x3d\xf7\x1b\x53\x82\xff\x23\xcd\x0e\x91\x44\xe8\x0c\x5c\xd0\x3f\xc5\x42\x3f\x8a\x6f\x83\x0f\xd9\x3d\xb6\xcd\x3b\x63\x19\x74\x13\xb1\x9b\x13\x62\x6d\xfc\x0e\xbf\xa8\x88\xb5\xb5\x25\xec\x61\xe0\x27\xaa\x6d\xe7\x1e\x1b\xbf\xc3\x23\x2a\xc2\x04\x98\x28\x6d\x82\xbe\x31\x30\x09\xba\x61\x48\x5f\xad\x62\x1e\x8c\x41\x02\xfa\xaa\x4e\xab\xb6\xdd\x60\x55\xa7\x61\x0b\x4b\xa8\x3e\xc3\x49\xc0\x92\xc7\x29\xcf\x63\x9e\x6f\x68\xec\x3b\x11\xb3\x88\x2a\x18\x08\x37\x1a\xc0\xac\x81\x88\x21\x37\x70\xf0\xb8\x59\xf1\x1b\x20\x9e\xea\xa8\xdb\xcf\x9c\x7c\x2b\x76\x01\xaf\x3a\x2d\x91\x54\x5a\x71\x36\x57\x92\xa8\x90\x5c\x44\x18\x8a\xd0\x17\xfa\xc1\x44\x78\x19\x86\x40\x1e\x4c\xea\xab\x55\xcc\x7f\xd0\x91\x5b\x25\xdd\x60\x55\x6e\xd8\xc2\xca\xbd\x10\xc7\x29\x8f\x6a\xd1\x5f\x9d\x0c\x92\x3b\xc9\xfb\xab\x93\x8d\x71\x10\x4f\xed\xae\x3b\xd0\xdb\x89\x44\x52\xe9\xb6\x2c\xae\xb4\xb7\x8b\xc0\xba\xdf\xbb\x29\x0b\x05\x14\xed\x17\x09\xf8\x56\x52\x2b\x3c\x22\xe1\x99\xe0\x99\x41\x1f\x4d\x59\xb6\x73\x11\xe3\x17\x89\xf5\xb1\x99\x9b\xb7\xf2\x3d\xea\x1e\x71\xc3\xba\xbc\x37\x1a\x96\x45\x2c\x6b\x3c\x9a\x70\x9c\xf1\x88\xc4\xbe\x3d\x35\x3b\x5a\x78\xaf\xda\x2b\xee\xde\x5f\x7e\x32\xf5\x68\x44\x58\x64\x6d\xca\xf6\x14\x40\x88\xee\x2b\x25\x43\xb4\x2a\xf1\x20\x2b\xbd\x4a\xdf\x9b\xf3\x13\x92\x1c\xaa\x74\xc3\x5f\x66\x62\x37\x36\xb5\xe8\xf9\x84\x5d\xf9\x87\xdf\xd4\x5c\x77\x5d\xaf\xbc\xc6\x15\x3b\xcb\xce\x96\x94\x2a\x8b\x49\xd5\xbe\x7c\x24\x90\x48\x42\x92\x99\xf6\xc2\x8e\xeb\x3c\x3c\x04\x21\xed\x10\xa6\x81\xe0\xb1\x67\x07\xf7\x1f\x3e\x27\xd0\xc6\x4f\xba\x97\x35\xb1\xc9\x1b\xb7\xea\xb9\x84\x8d\x2b\xf2\x57\x31\x13\x26\xb8\x2a\x9f\xe5\x8d\xc5\xb3\xcb\x0a\x4a\x94\xaa\xc4\x1e\x91\xb4\x96\x08\xc5\x56\xae\xb2\xa8\xae\xb0\xbe\xa8\xae\x30\x22\xe7\xda\x75\xc3\x75\xe6\xcd\xc3\x8e\x9d\xbb\xf8\x96\xe6\xa6\x5d\x7b\x2e\x0d\x7f\x17\x54\x1a\x20\x7f\x3a\x73\xef\xd7\xaf\x67\x63\x30\x87\x61\x18\x12\x8f\x0f\x69\x26\x7c\xb2\xf9\xf2\x6f\xbf\x35\x38\x7f\xe5\x6c\x2e\x97\xe0\x62\xec\xa4\xed\xb3\xf8\xab\xff\xd6\x7c\xd2\x76\xfc\x0b\x0e\x1e\x6a\xc7\x10\x08\x63\x20\xf8\xec\xd7\xbf\xf2\x61\xbe\xfb\x9b\xd8\x60\x61\x1f\xa5\x4e\xb4\x50\x1e\x37\x0d\x21\xb2\x4e\xb6\x84\x82\x79\x2c\x07\xea\x1f\xe4\x02\x4c\xa3\xbe\xa4\x50\x94\x44\x1a\xa6\xc1\x51\x0a\xa7\xc1\xfc\xc0\x07\x6e\x9c\x06\x83\x70\x10\x4c\x03\x33\xfb\x60\xa7\x38\x1c\x1e\x0d\x86\x5b\xac\xfa\x19\x68\x91\x6e\xd2\xa6\xbd\xf9\xfb\x0f\x68\x1e\x34\xf2\x7c\xf5\xd4\xd6\x19\xdc\x9d\x3b\x0a\xef\xcf\xd2\xcf\xf4\x5d\x76\xc2\xf5\x70\x20\x28\x2d\x3e\xa9\xc5\x27\xc3\x6f\xb3\xd7\x27\x84\x57\xe6\x34\x08\x95\x95\x50\x06\x65\xe1\x1f\xaf\xfc\x22\xe1\x86\x49\xf9\x25\xf5\x80\x78\x09\xf5\xc2\x4b\xf5\xed\xb3\xb8\xee\x6e\x45\x6e\xc7\x3e\xf3\x7e\x06\xcc\x2c\x0f\x6a\x12\xfc\xe0\x57\xf8\x1e\x85\x70\x1a\xc2\x96\x23\xf5\x2d\x72\x0c\xcc\x0f\x6c\x19\x7b\x82\x3d\xc1\x8a\x30\x5f\x6e\x6f\x4c\xbc\xd7\x0d\xba\x10\xaf\x5b\x72\xd3\x38\x18\xd5\xf8\xaf\xc8\xf1\xdc\xc4\xd7\x26\x2c\x5d\x98\xa8\xd4\x86\x26\x49\x3a\xbf\x9a\x04\x9d\x47\x8c\xa1\x7a\x77\x57\x45\xd2\x37\x41\xfa\x1a\xeb\xb7\x19\xb8\xf2\x02\xb1\x48\x14\xc5\xe2\xf2\x87\x07\x6d\x73\x49\x5f\x43\xbd\x34\x41\x13\x16\x59\x48\x79\x45\x2b\x25\x05\x53\x03\x59\xbc\x6f\x09\x28\x9b\xdd\x7d\xa1\xb3\xbb\x1b\xa2\x50\xdd\xad\xda\x27\x89\x5a\xc5\x94\x04\xca\xab\x6e\xa7\x9d\x05\x62\x9e\x83\xb3\xe7\x9b\x8b\xcd\x4c\x51\x91\x60\x2d\xe4\x7d\xba\x11\x8a\xec\x42\x43\x4e\x96\x06\xdf\x25\xc4\x06\x7b\x63\xb3\xa6\xd7\x0c\x8d\x77\x26\x54\x6f\xe1\x54\xdf\xe3\xb2\x57\x1f\xc7\x37\x2c\xc6\xcc\xf8\xca\x75\xbb\x32\x95\x16\xd1\x59\xe4\x64\x9a\x9b\xe5\xf5\xa4\xd8\x06\x04\x6c\x86\x58\xa6\x1d\x43\x08\xec\xb7\xe6\x09\x0c\xc3\x81\x1a\x7f\x27\x4c\x62\x3d\x9d\x24\x3c\x85\x0f\x01\x8d\x43\xda\xb8\xbb\x20\x92\x59\xae\x9c\xaa\x42\x4e\xd2\x8d\x50\xfc\x05\xbe\x6a\x77\xf0\xaa\x7d\xe5\x8e\x52\xd1\x29\x8b\x63\xbd\x96\x58\x19\xdc\xae\x25\x56\x86\x68\x15\x8d\x5e\x37\x5d\x1b\xd8\x35\xa7\xeb\x32\xab\xd2\xf1\x0e\xce\x9b\x88\xc5\x58\xc2\xcd\x9d\x33\x7b\xc6\xeb\xd3\x7c\x7d\x52\xc3\x8d\x56\x63\x7e\xbe\x09\xf5\x3e\x75\xb8\x39\xb7\x38\xd3\x69\xe8\x8a\x0e\xef\xcd\xd5\x53\x52\x22\xd8\x4a\x78\xd8\x79\x03\x3a\xb0\x63\x1c\xee\x2c\x34\x94\xe4\x96\x9b\x22\xba\xa2\x15\x40\xb0\x0e\xbb\xad\xc4\xce\x4b\x6a\xd0\x8b\x0e\x87\xd3\xe6\x8c\x68\x90\xfa\x5c\x3e\x77\xe1\xec\x99\xd3\x11\x60\x04\xd3\x77\x90\x04\x37\x7a\x61\x85\x67\xc2\x17\x7d\x05\x2d\xf1\x05\x7e\x0e\x9f\xab\x6e\x68\x89\x8f\x3d\xa5\xf4\x0e\x08\x4f\x80\x88\x89\xff\x51\xfe\x67\x12\xf6\x79\x0f\x19\x46\x8b\xa1\x04\x3c\x81\x5f\xc0\x25\x16\x0e\x10\xf2\xdf\xe7\x88\xbd\x6d\xb9\x29\xb5\x7c\x5d\x8a\x3d\x3e\x2f\x16\x5f\xf6\xbb\xc3\xe1\x1b\x42\x75\x09\x9e\xf1\x94\x06\x52\x33\x94\x78\x1b\xa1\xe4\x5b\xca\xdb\x1f\xfa\xd3\xb0\x9e\xf2\x2d\x96\x16\x87\xc3\x18\x56\x0a\x1c\x63\xd8\xbb\x83\xc3\xe1\x25\x0a\xcf\xe1\xb9\x70\x38\x87\xe7\xe0\x25\x2a\x42\x6a\x92\xfa\x07\xa2\x11\xff\xa4\xf5\xac\xea\xa5\x1d\x7c\x57\xa6\x84\x73\x70\x2e\x1c\xcf\xc1\x39\x59\x17\xba\x7b\x17\x62\xd8\x08\x69\xb1\x6f\x71\x80\x32\xf8\x48\x6f\x4a\x87\x00\x61\x88\x36\xb4\x58\x0a\x10\x62\x2f\x09\x9e\x83\xf5\x54\xc4\xe0\xbb\x01\x25\x6a\xb1\xb4\xf8\xef\xa4\xd0\x04\xfd\xff\x4e\xeb\x39\x05\xc6\xbf\xf3\x7b\xf7\xae\xcc\x2d\xf4\xf2\x09\xe7\x64\xd2\xbb\x83\x7b\x09\x17\xca\xcc\xde\x97\x0c\x37\xe1\x65\x98\x01\x53\xe1\x2d\x38\xc0\x7a\x7b\xbc\xcf\xd3\xfe\x71\x44\x35\xce\x50\x78\xc2\x89\x45\xbe\x4e\xc4\xa1\x0a\x6b\x01\x89\x3d\xbf\x24\xc3\x2e\x05\x4c\x25\x2a\x31\x12\x16\xbe\x01\x8b\x4e\x36\x41\x9a\xc2\x27\x11\x4b\xa5\x5d\x0a\xaf\x92\xd0\xa2\x05\xde\xa2\x41\xad\xf5\xae\x96\x2e\xe3\x38\xe9\x2a\x8c\x03\xb5\x56\x51\xaf\x08\x6b\xf4\x84\xc0\x71\x98\x07\xc7\x83\x2b\xb4\xc4\xf7\x21\xb0\x03\x86\x53\xb3\xf1\xb8\x42\x1b\x7a\x84\x58\x87\xf3\x14\x5a\x9c\x4e\xcc\x79\x50\x9e\x8e\xdf\xf9\x32\x70\xac\xef\x59\x18\xbb\x13\x1e\x57\xe0\x71\x62\x1a\x4a\x9e\x59\xd8\xe0\x39\x02\x0d\x50\xaf\x55\x8c\x55\x84\x35\x4a\xc1\xb2\xb5\x2a\x9b\x8e\x43\x25\x83\x6c\x49\x8a\xd1\xa0\x93\x0c\x30\x54\xf5\xbe\x57\xa7\x55\x04\x25\x50\x1e\x77\x8f\xac\x1d\xdd\x23\xfe\x9e\xfc\xf7\x97\xc7\xc3\x47\xe3\x23\xf8\xc2\x18\x5c\x9c\xa8\xf4\x30\xa0\x23\xa3\x58\xb8\x4a\xa1\x0e\xc6\x13\x9f\x1e\x3e\x71\xfd\x47\xd8\x41\xad\xa6\x46\x9e\x98\xf0\xe9\x0a\x0e\xc7\x93\xaa\xab\xa8\x1b\x4b\xa1\x9a\x54\xbd\xff\x34\x05\x3a\x3f\x43\xe0\xe2\x56\x7c\xe1\xe6\x68\x78\xe4\x97\x5f\xc2\x45\x67\x49\xa5\xa5\x42\x59\x61\xc9\x2d\xcf\x61\xf0\x1e\xa1\x72\x3f\xce\xe2\x3d\x32\xa7\x3c\xb7\xc2\xc2\x59\x4b\x4b\xad\xa5\x01\x70\xe3\xef\xbf\x57\xe0\x1c\x18\x0d\x7b\xf0\x11\xf8\x80\x81\x0f\x02\x49\x38\xe7\xc0\x68\xfe\xfb\x27\x15\xf9\x65\xe5\xb0\x93\x52\xfd\x58\x61\x2f\xaf\xa8\xd4\x84\x05\xd2\xc4\x2a\xa6\xfc\x2d\x4d\xac\xb7\xd3\x23\xd2\x7e\x3d\xb8\x89\x6b\xec\xd3\x54\x17\x31\x85\x85\x41\x2c\x8f\xee\xf8\x07\xb0\x1c\x61\x90\xc7\x7a\x44\x98\x40\xc1\xe7\x54\x88\x57\xf4\xa8\xd7\xc9\x46\x5e\x2e\x25\x5b\x7a\x81\x54\x4c\x7f\x4f\x6d\x04\xea\x7e\xab\x28\x98\x2f\x8b\xe7\x61\xf2\x63\x17\x25\x35\x1c\x60\x25\xb5\xa7\x93\x5e\x11\xe8\xee\xbf\x87\x30\xad\xd7\x29\xd1\xac\x14\xc8\x7c\x2b\x5f\xf6\xe8\x42\x1f\xfc\x09\x3b\xc0\x7a\xb7\xc2\x9b\xc1\x02\x88\xf2\x31\x04\xae\x53\xd3\x59\xf8\xed\x09\xda\x66\x2a\x30\xe5\xc3\x47\x54\x65\xad\x95\xcf\x82\x55\x38\x01\x26\xe0\xaa\x6a\x65\x86\x2d\x07\x2e\xb2\x0e\xb1\x54\xb4\xc2\x87\x19\x60\x45\x6b\x2d\x7e\xa8\x94\xd4\x56\xda\x66\x2a\xcc\x33\xc3\x47\x54\x95\x4c\x20\x8d\xc1\xdb\x70\xdb\x37\x46\x26\xc8\x86\x8b\x6c\x59\x59\x89\xd3\x2a\xd5\x66\x48\x13\x7c\x13\x6a\x7d\xb5\x4a\x78\xd3\x3b\x2f\x92\x5d\xf7\xff\x8e\x92\x2f\xa9\xfd\x5d\xb4\xaf\x13\xdd\x8a\x7c\xa3\xa1\xd0\xc0\x18\x0c\x25\x76\x23\x9f\x5a\x91\xdb\xd8\xac\xf1\xa8\xc9\xe6\x8a\xc6\x86\x0a\xae\xc1\xb5\x4d\xa8\xcf\x95\x3a\xd1\x1d\xde\x60\xa8\x48\xd1\x6b\xf4\xb9\x29\xa9\x06\x2e\xac\x11\x57\x68\x09\x27\xbe\x09\x6f\xf6\x3d\x05\x9d\xd8\xf9\xa0\xa0\xb2\x7b\x45\xef\x25\xda\x77\xc9\x77\x09\x2e\xe1\x25\xe9\x92\x74\x49\xe1\x6b\xf1\x8f\xa0\x81\x63\x03\xc1\xb9\xf2\x94\xec\x91\x7a\x5a\x5a\xde\x14\x5a\xb6\x46\x04\x72\xfa\xcb\x93\xab\xa5\x9e\x3e\x76\x4c\xb8\xbe\xf8\x38\xf6\x85\xc7\xc2\xa7\x4c\xc1\x30\x61\xca\xd5\x29\x57\x05\x08\xbb\x7a\x55\xa9\x6a\xc4\xc7\xe0\xb1\x45\xc7\x27\x08\x8b\x17\x45\xa8\x62\x7b\xf8\x1e\x6e\xd1\x22\x61\xc2\xf1\xc5\x11\xf0\x18\xf6\xbd\x7a\x15\xc2\x84\xab\x53\x22\xae\x4e\x11\x30\x6c\xca\x14\xe8\x8b\x7d\xc3\x8f\x2d\xbe\x2e\x1c\x3f\xe6\xe5\xbd\x91\xe1\x61\x8b\x59\x10\xbd\x62\x00\x55\x18\x0c\x54\x8f\x9a\x80\xf3\xac\x57\x4d\x3c\xd8\x66\xc7\xfb\xa0\x0f\xb8\xa3\xca\x0b\x8c\xfa\x86\x85\xf2\xe8\xe7\xb2\x7e\xf7\x68\xca\xe3\x86\xcb\x94\x4f\x4d\xe7\x04\x30\x94\x02\x78\x4a\xbd\xfb\xd0\xc3\x29\xbf\x7b\x0e\x1b\x16\xc8\xbf\x15\x0c\xd7\xa9\x10\x6f\x89\x77\x02\xed\x6a\x2a\x68\xcd\xac\x47\xb7\xa4\x0e\xdf\xba\x73\x91\xb0\x35\x01\xdd\x3e\x75\x78\x66\x5a\x61\xa2\x33\x59\xa9\x77\x35\x65\x6f\x63\x40\xe7\x57\xa3\x9b\x30\x19\x0b\xcc\xf9\x3c\x46\xa1\x2e\xcf\x68\xcd\xb1\xe7\x46\x18\xec\x15\xe6\x0a\xc6\xa3\x1b\xcf\x7a\xee\x81\x8e\xdc\xd6\x54\xd5\xec\xe2\xc3\xfc\xb9\x32\xd3\x81\x0e\xda\xe1\x43\x36\x37\x37\xcf\x60\xe1\x2d\x06\x5b\x76\xb9\x09\xa2\x50\x17\xde\x9b\x73\x1e\xdc\x7e\x35\xea\x88\x2d\xc9\x59\xc9\x06\xde\xa8\x2f\x49\xac\x49\x03\xb9\xe3\x5e\xac\x41\x90\xd9\xa9\xa9\x2f\x6d\x35\x34\x2b\x9b\x0c\xc9\xd5\x5b\x18\xd4\x79\x7e\x23\xea\xb2\xab\xd3\x39\x79\x5c\x12\xbc\x37\x20\x21\xc4\xf3\x42\xaf\x08\x44\x2f\x78\xff\x26\x02\x63\x30\x26\x5c\x8a\x91\x62\xfe\x26\x02\x8d\xd0\x14\xc9\xa2\x5a\x0a\x61\xdf\xf3\x88\x50\x1b\x2c\xfc\xf9\x2b\x44\x1a\x2a\x4d\xa1\x17\x2c\x50\xcc\xeb\x1e\xf1\x1e\x79\xe2\x84\x02\xaa\xa5\x03\xb4\xb9\x3c\xbb\xc8\x64\xc2\xc3\x78\x38\xdc\x64\x2a\xca\x2e\x37\x97\xe5\x55\x15\x8b\x22\x1c\x86\xc3\xe1\xa2\x58\x5c\x95\x57\xa6\xc4\x56\xff\xcb\x34\x76\x42\x27\x21\x75\x4a\x9d\x81\xcc\x74\x5d\x5d\x81\x13\xdf\x7d\xb7\x6f\xdf\x07\xc2\xbe\xf5\x11\x30\x12\x47\xee\x5b\x2f\xcc\x5c\xbf\x3e\x02\x8e\xc0\x11\x99\x01\xd8\xe3\xcd\x08\xb8\xdd\x05\x8e\xbd\x2e\x07\x49\x99\x7a\xbd\x91\x2b\xcc\x33\x15\xe5\x31\x19\x99\x8e\xca\x5c\x1e\x8e\x52\xbe\x5d\xbe\x5d\x7f\x5b\x0b\x76\x49\xbb\xe0\x28\x95\x56\x67\xd9\xe1\x6c\x89\x68\x76\x36\xd7\x6c\x67\x24\x7d\x35\xe5\xd3\x93\x20\x4a\x62\xa0\xe5\x28\x59\x95\x89\x0a\xcc\xd7\x7b\x10\x15\xe2\x35\x4a\xd3\xe9\xde\xb4\x3f\x79\xa6\xe2\x12\x33\xbf\xd5\x99\xd9\xbc\x5d\x03\x51\x24\xbe\xde\x7f\xd3\xcb\xb3\xf8\x17\x27\xa4\xe1\xf0\x36\xcc\x2f\xce\xce\xcb\xce\xb1\x28\x8b\x0a\x2c\xd6\x02\xc6\x64\x2a\x2d\x37\xf3\xf9\xe5\x38\x16\x16\xc0\x32\x0d\x08\x17\xe0\xba\x74\x99\x83\x28\x72\x7b\x4d\x73\x8b\x93\x6b\x76\xee\xb0\xd4\xa5\xc1\x3d\xbc\x27\x2f\x8a\x4a\x98\x0e\x5f\x47\xb2\x69\x2c\x74\xf6\x7e\x58\x84\xce\xc0\xfe\xb2\xa4\xa3\x41\x24\x41\x44\xb5\x02\xd4\xd2\x1a\xda\x27\xa2\xa8\xf0\x1d\x20\xe1\x3a\xa5\x80\x4e\x18\x48\x0f\xa4\xf2\x58\x6d\x68\xba\xe7\x2e\xdd\x64\x48\xae\xdc\xca\xf8\xd5\xc4\xd6\xe4\x9c\x64\x03\x6f\x48\x29\x4e\xaa\x92\x5f\x04\x5d\x78\x46\x45\xbd\xb1\x91\x69\xac\x77\xd6\x06\xb0\xab\x75\x55\xf5\xc5\xdb\x0d\x8d\x11\xc0\xf8\xe7\xbc\xce\x06\xc8\xa5\xf1\xb4\xab\xb1\x68\x7b\xb6\xfc\xf2\xea\xc2\x6b\x73\xd3\x9c\x29\x4c\x4a\x9a\x31\x23\x80\xa8\xad\xcb\x4e\x2b\x4a\x72\xa5\x44\x24\xbb\x9a\x72\x5a\x18\x8f\x9a\xe8\xb5\xb8\x81\xc1\x0a\x99\xdc\xeb\xf6\xa8\xe9\x46\x63\x7d\x46\x05\xe7\xd3\x81\x3b\xad\x2a\xa9\x38\xc5\x10\x91\x6c\xc8\x49\xde\xaa\xf1\xab\xc9\xad\x95\xc9\x4d\x06\xae\xd1\xb0\xbd\xb8\xbe\x4a\xd2\x81\x3b\xbc\xb6\xc2\x59\xdf\xa8\x01\x9d\x4f\x4f\x3f\x4b\xf5\xe8\x46\xb2\x5e\xdd\x12\xd6\xab\x0b\xb8\x77\x6f\x65\xe5\x29\x95\x06\x65\xf0\xd2\x3d\x78\x19\xcc\x90\x12\xfc\x33\x94\x86\x78\xd7\x42\x3a\x5d\x54\x6e\x29\xcf\xb3\xe7\x95\x1a\x6d\x79\x85\x4a\xeb\xb4\xad\x51\x0c\x4e\xc6\x41\xff\x81\x51\xd1\xbc\xf4\x2f\xa2\xba\xd2\x55\x5d\xc2\xb7\x40\x68\xb1\x58\xe4\xcc\x2f\x8f\x28\xcb\x37\xd9\x8d\x8c\x6f\x05\x51\x74\xc0\xda\x51\xd2\xae\x94\xb2\x88\x9a\x07\x55\x88\x62\xb1\xd0\x99\x5f\x16\x51\x9e\x6f\x2a\x35\x32\xbe\x58\x02\x86\x5d\x84\xfe\xb7\x61\xd2\xe5\x8f\x32\x6c\x4c\xad\xa5\xd6\x59\x5a\x7b\x08\xc6\x84\x17\x97\x5b\xc5\x82\x32\x4b\x99\xd9\x91\x57\xac\xb4\x15\x8c\x6d\x1a\xc8\xe0\x09\x14\x71\x16\xee\x7e\x9a\x1f\x36\x94\x42\x62\x10\x7b\x91\x28\x8a\x15\xd6\xd9\xe2\x95\x33\xe0\x20\x85\x8a\xde\xf0\x8b\x1f\x09\x7c\xeb\x2b\x28\xc5\xd9\x70\x9e\x81\x87\xbf\x6f\xb7\x95\xf2\xd5\x76\xb1\xa6\xa0\x46\x19\x90\x18\x1b\x70\x03\x24\x48\x7d\x60\x81\x44\x43\x66\x5f\xa0\xa1\x54\x7a\x1a\x52\x54\x59\x5e\xbb\x34\x70\x2e\x8b\xe3\x08\xd5\xb1\xc7\x59\x9c\xe1\x7b\x9a\x54\x65\x49\x7d\xe0\x0c\x39\x8e\x82\x7f\xcd\x63\xf1\x0c\xc4\x13\x77\x3f\xfd\x08\x14\x77\xbe\x9e\x6e\xb5\x71\x0e\x8b\x58\x58\x6e\x13\x6d\x65\xa5\x8e\xb2\x5f\x41\x15\xee\xac\xb4\xd6\xe7\xba\x94\xf6\x7c\xa4\xe1\x61\x5c\xca\x60\x19\xbe\x86\x13\x30\x8d\xc7\xad\x23\xc9\xc7\x59\xfc\xd7\x20\xf6\x47\x9f\x6a\xb8\xcc\xe7\xf0\x41\xac\x77\x36\x0c\x67\xfd\xb9\xc0\x53\x1f\x41\xd9\xcf\xb0\xe4\x1e\x38\x42\xbc\xeb\xe1\x37\x1a\xf2\x71\xed\x35\x7c\xed\x32\x87\x03\xde\xc5\xb0\xb7\x7e\xd7\xdc\xbe\xf9\x21\xa8\x60\x38\x3c\x12\x69\xb5\x71\xe5\xf9\x62\xa1\xb3\xd8\x69\x2b\x77\xd8\xc5\x6b\x30\x24\xbc\xac\xa2\xa8\xda\xe8\x2a\x28\xc5\x20\x78\x08\x57\x34\x2b\x61\xda\x3c\x16\x19\x22\x23\x2b\x3b\x9d\xc7\x57\x48\x5c\xb7\x06\x07\xe1\x48\x7c\x4d\x83\xa5\xa0\x1f\x0d\xaf\x4c\xe3\x80\x99\x0f\xd4\xd2\x11\x1a\x54\xf4\x5f\x30\x0c\x5f\xc2\x48\xd0\xd8\x8a\xb8\xfc\x32\x53\x89\xc9\xda\x9b\x28\x7f\x10\x32\xe1\xa6\x5c\x5b\x86\x33\xd7\x9e\x0f\x6a\x8c\x84\x9c\x0d\x4a\x9c\x4a\xa6\x57\x67\xd7\x72\xc0\x8c\x67\x61\x2a\x09\xb1\x7b\x60\x08\x8c\x85\x95\x9a\x30\xbf\xbf\x31\xc5\xfb\x0c\x3c\x0b\x83\xe0\xd9\x60\xc1\xdb\x2f\xc4\xdb\xcf\xfb\xce\x5c\x16\x9f\x27\x0c\xef\xa6\xbc\x1d\xdf\xa9\x84\xec\xf1\xec\xdd\x79\xac\xdf\x3d\x94\xc2\x88\xde\x07\x04\x83\x09\x88\xbc\xb5\x6e\xca\x7e\xde\x37\x7a\x28\x35\x78\x10\x2b\x3d\x4f\x60\x70\x02\x3e\x34\x1b\xa7\x31\x18\x2a\x0f\x91\x8a\x7c\xe0\x04\x35\x07\x97\xc1\x50\x7c\x09\xc6\xe2\x7c\x65\x9e\x43\x2c\x70\x32\xb0\x80\xa8\x74\x95\xb9\xec\xbc\xc3\x55\x54\x95\x27\xe2\x08\x98\x89\x63\x40\x87\xc3\x60\x0c\xa4\xb6\xc2\xe3\xf0\xd8\x2e\xd0\x29\x61\x92\x3c\xc0\x59\x8d\x29\xd0\x03\x13\x6f\xc0\xa4\x60\x69\x20\x18\x42\xa4\x5f\xfa\xd5\x56\xdb\x58\xf8\x12\x0e\x91\xe3\xa8\x5f\xe7\xb1\x78\xe8\x06\x1c\x1a\xcf\xfe\x46\xf6\xa6\xfb\x8f\x27\xe0\x82\xf4\xa9\xdd\x29\x54\xe4\x8b\x11\xce\x7c\xa3\xc3\xc0\xe0\x3c\x22\x37\xd7\x9c\x6b\xe1\x71\x9e\xef\x99\xb4\x15\xc9\xab\x32\x56\x46\x64\xee\xcf\x3c\xb8\xf5\x2d\x8c\x97\x9e\x0b\x77\xe5\x1b\xca\x72\x19\x7c\x83\x30\x18\xf2\x8d\xf9\xbc\xc5\x28\xe4\xda\x8d\xf0\x89\xef\x6a\x38\x6e\x80\x83\xd4\xc0\x41\x2c\x74\x8e\x83\x50\x6a\x90\xfc\x03\xbf\x84\x43\x2c\x4c\x21\xc2\x7c\xb9\x8d\x29\xa0\x07\x1d\x50\x10\x27\xe9\x20\x2e\x18\x44\xc8\x94\x4e\x82\x31\xc4\xbb\xc3\xbb\x82\x46\xcd\xc8\xd1\xd8\x9f\x93\xa5\x01\x21\x80\x9b\x84\xfe\x3f\x8e\x46\x0d\x0f\xc6\x7e\xe0\xc4\x59\xf0\x0a\x36\x70\x82\x6f\x2f\xf9\x38\xeb\xff\x07\x7c\xc1\xe2\xb0\x41\x2c\xe8\x91\x42\xfd\x50\x0a\xd5\x81\xdf\x3a\xb9\x9f\x89\xe3\x59\xd0\x49\xc5\xf2\xfb\xab\x9e\xc7\xfa\x8a\x81\x82\xef\x09\x68\x80\x59\xf0\x0a\x38\x79\xd9\x12\xf1\xa8\xe1\x33\x56\x4b\x06\x85\x48\x2e\xf8\x81\x2e\xb2\x16\x16\x69\xac\xc5\x42\xb1\xb5\x78\x0a\x9c\x0c\x87\x31\xc4\x1e\x50\xd3\x98\x4c\xc4\x83\x5a\x01\x47\x08\x18\x8d\x6a\xba\x03\xd4\x8a\x8f\x89\x3d\xb2\x40\xfc\xd0\x37\x85\x2e\xb2\x16\x3d\xa0\x29\x79\x16\x4e\x84\xc3\x38\x62\xb7\x4c\x93\x41\xc4\xc9\x34\xc7\x09\xe9\x11\x94\xb5\xda\xe9\x84\x4c\x07\x83\xe3\x58\x0c\x21\x6e\xc3\x4f\x25\x62\x91\x2b\x20\x25\x8c\x76\x23\x83\x2c\x91\x95\x63\xcc\x2e\xe4\x9f\x44\x9f\xc2\x17\x4c\x0c\x03\x9f\xa2\xaa\x20\xd7\x99\xc5\x60\x5f\x22\x3b\xc7\x98\x5d\xc0\x0f\x47\x9f\x02\x91\x18\x2d\x5f\x29\xcc\x91\xaf\xb0\x84\xd1\x68\x31\xe7\xf3\xf9\x79\x45\xc6\x12\xe3\xb7\xf8\x53\x38\x06\x8f\xa6\x60\x00\xb1\x1b\xd5\x0a\x9c\x3a\x9a\x82\xb5\x04\x44\xf9\x7c\x8a\xec\x92\x4a\x63\x15\x03\x63\x88\xea\x00\xc6\x36\x4c\x94\x7c\x0a\x58\x47\xc0\xb3\xf2\xb5\xd2\x07\xd7\xaa\x2a\x03\xd7\x9e\x91\xaf\xc5\xc1\x70\xd6\x97\x6b\x81\xd7\xf1\x55\x88\x86\x5b\xf0\x24\x9c\x83\x57\xf1\x79\x18\xdf\x17\x44\xa8\xc7\xd1\xf0\x24\x84\xc1\x93\xaa\x68\x6d\x68\xa9\x57\x4d\x67\xc0\xab\x38\xfa\x7d\x5c\x5c\xab\x04\x3b\x3e\x49\xaa\xe6\x61\x11\xb9\x66\xb5\xd5\xba\x9a\x07\x41\x2e\x47\xa3\x9d\xb4\x6e\xd8\x20\x6c\x64\x04\x12\x63\x6d\x0a\xd5\x4c\x7c\x86\x04\x45\x71\x51\x91\xa0\xf9\xb0\x21\x26\xde\xc1\xe3\x41\xb2\xd4\x21\x58\x1d\xbc\x25\x5f\xb0\x30\xbe\x21\x64\x6a\x61\xee\xc6\x95\x8c\x50\x5c\x84\x8a\x62\x6e\x23\x46\x2b\x54\xd1\xb0\x94\xd8\xb7\xd7\xba\x97\xc1\x72\x52\x25\xc0\x93\x60\x27\xac\x6f\x76\x0a\x07\x18\x2c\x25\x55\xd1\xf0\x24\x94\x13\xe0\xaa\x82\x57\xce\x37\x43\x41\x1d\x2c\x78\xea\x1b\x1c\xb2\x47\xa9\x7a\xf3\xe6\x91\xf7\xbe\xc8\x81\x08\x25\xc6\xfb\xde\xa4\x71\x1e\x7e\xde\x34\x90\x83\xdb\xe4\x6f\xf0\xf9\x4e\x5c\xcc\x4f\x93\x12\x69\x7c\x01\xb7\x35\x44\x71\x70\x8e\xfc\x06\xb6\xb5\xe2\x0c\x3e\x0c\x45\x2d\x19\xf4\x2d\xe5\x15\xbd\x22\x2d\x6d\x24\x4c\x55\xa6\x0a\xa3\xd3\x37\x52\x1a\x19\x6e\x74\xe6\x8a\xd9\xa2\x12\xd5\x3e\x1b\x2d\x75\xfa\x1f\xa0\xde\x6a\x3d\x27\x75\xac\xb7\xd3\x27\x17\x0f\x9d\xe4\xc3\x7a\x1d\x5f\xe4\xd7\x8a\x08\x52\xdf\xd0\x2a\x8e\x79\x8f\xd0\x32\x79\x2f\x75\x84\x6f\xa3\xb4\x91\xec\x6d\x54\xe9\x4b\xc4\x67\x02\x49\x99\xf8\xff\xd5\x1c\xe9\x53\xfb\xf5\xb4\x8b\x02\x5d\xe8\x83\x3f\x61\x91\x28\x02\x21\xed\x03\x02\xc4\xdf\x61\x10\x3c\x04\xfb\xa1\x0f\x8c\x60\xbd\x3e\xd0\xb0\x3d\xb5\xc3\x58\x55\x8f\x01\xd6\xb3\x9e\xcf\xf0\x9f\xf0\x1b\x5b\x64\xe2\xb3\x8b\x14\xc5\xa4\xcb\x05\xcb\x58\xc8\x22\xe1\x51\xea\x5b\x6f\x0f\x64\x50\x84\xca\x3f\x05\x96\x06\x5a\xfb\x6f\x2b\x7f\x36\x3c\x82\xfd\x0d\x34\x6c\xde\x9f\x6d\x79\x47\xa3\x15\x32\x28\x58\x4a\x3d\xad\x0d\xfd\x01\x7e\x63\xad\x26\x3e\xbb\x50\x51\x42\xba\x9c\xb0\x8c\x25\xe5\x96\xb2\x08\x78\x94\x0a\x83\x11\x94\x47\xdf\x3d\x8c\x95\x69\x3a\x51\x2d\x2b\xaf\xcf\xb0\x1e\x37\xd4\xb1\x7e\xf5\x33\xac\x47\x0d\x75\xac\x4f\xf7\x8c\x6c\x00\xd6\xb1\x28\x3e\xc3\x82\x08\xc3\x59\x18\x41\x69\x43\x4f\xc6\xcf\x7d\x70\x66\x3c\xeb\xd3\x83\x3b\xd0\x86\x27\x4a\x52\xcf\x7d\x40\x21\x4f\x61\x8f\x6e\xee\x83\x86\xfe\x2a\xf5\xb6\x3f\x9c\x45\x51\x52\x52\x01\xfe\xe3\x52\x21\x89\x82\xad\xb0\x81\x42\x55\x6f\x2b\xa6\x4b\xf5\xec\x26\xcf\xaa\xab\x54\x98\x3c\x72\xde\x01\x72\xcd\x24\x4a\x1b\xfa\x15\x6c\xa0\xb4\x68\xec\xad\xb4\x16\x4d\x57\xa9\x36\xad\x62\x7b\x3d\x1b\x16\x29\xec\x62\x21\x2a\x44\x0a\x61\xe9\x98\x84\xcd\xb1\x31\x9b\x77\xec\xdd\xb3\x63\xe7\x5e\x78\x85\xe5\x20\x0a\xe6\xb2\xd8\x39\x96\xf2\xab\x9f\x62\xa1\x73\x14\x15\x00\x61\xa6\x7f\x1b\x73\x73\x20\x87\x6d\x44\x79\xbb\xd3\xe9\x6a\x52\xb6\x9e\xd8\x79\xe6\xba\xe6\x33\x01\xa6\xa3\x1e\xfe\x45\x71\x2b\x57\xe5\xce\x34\xcc\xce\x9d\x63\x78\x7d\xed\xda\x8d\x1b\xe3\x56\xc6\x2c\x5b\x31\x67\x04\xfe\x73\x7d\xa1\x72\x43\xe1\xe6\xcd\x1b\x34\x7e\x9a\x8c\x6d\xdb\xdc\x61\xe5\xf6\x58\xcf\xa5\x7c\x98\xac\x5c\x0f\x41\xc0\x2c\x85\x81\x4c\x2d\xf1\x29\x51\x57\x25\x94\x32\x37\x6d\x17\xb6\x1f\x7a\x67\xff\x91\xda\xf7\xf3\xaf\x6e\x6b\xa9\xdf\xed\xdc\xe7\x3a\x28\x1c\x34\xec\x6b\x3b\x58\xfd\x56\xd1\x71\x65\x55\x41\x9b\xa1\x9d\xeb\x38\xd0\x78\xfa\xa4\x26\x2c\xd2\xab\x86\x7d\x6c\x08\x88\x5e\x1d\xbd\x37\x61\x47\x6c\xcc\xe6\xcd\x31\xb1\x3b\x12\xf6\x7e\xc7\x42\x94\x4f\xa4\x9f\xa0\x38\xec\xbc\x45\x79\xd4\xd0\x49\x41\x67\x35\xe5\x57\x93\x5e\x3f\x0c\xa3\x5d\xed\xa5\x6d\x55\x9a\xe2\xe3\x59\x6f\x6d\x3a\xe8\xda\x27\x1c\x34\x1c\x34\xee\x4b\xdb\xbd\xa5\xc5\x71\x35\xe3\xfd\x75\x47\x56\xbe\x33\x63\xfb\x18\x9b\xb2\x20\x5b\x48\x67\x9e\x27\x32\x08\x1c\x88\xcc\xd2\xf5\x18\xc4\xbf\x96\xfc\x7a\x4a\xac\x55\x19\x67\xdd\xb4\x39\x56\xbe\x91\x0d\x3b\x36\xef\x2e\xe4\xf6\x15\x76\xe3\x3f\x0f\xcf\xd9\xbb\xac\x63\xe5\xae\x8d\x07\xd6\xba\x5e\xaf\x98\xe3\x9a\x5d\x31\xf3\xd0\x2a\xe5\x7e\x16\xf4\x02\x4c\xff\xec\xfa\xa6\x33\x49\x27\x78\x43\x93\xd1\x99\xd7\xae\x84\x36\xe2\xb7\x6f\x6e\xfe\x66\xe3\x4f\xa6\x9c\x89\xdb\xcf\x85\xa1\x1a\x42\x20\xf2\x7d\x50\xbe\x7b\xe3\xdc\x3b\x1f\x83\xfa\xa2\x94\xff\x63\x5f\x01\x12\x20\xea\x93\x5b\x17\x96\xdf\xae\xb8\x98\xdb\x65\xbf\x68\x79\xb7\xe2\x82\xe1\x6c\xe9\x85\x0b\x17\xaf\x43\x82\x6a\xaf\x7b\x9f\x77\x04\x64\xd3\x1b\x8c\x99\x69\x06\x83\xdd\x65\xe0\x40\x4f\xba\x5c\x2e\xbb\x8b\xa9\x77\x66\x6c\xe0\x71\x34\xa9\x2a\x18\x60\x87\xd7\x20\x8c\xee\x20\x3b\x5c\xb5\x4d\x4d\xae\x8c\x38\x2e\x8e\xf4\x3f\x06\xf5\x34\x66\xbd\xf4\x6f\xdf\xc4\x4f\xa4\x89\x5f\x10\xb0\x6c\x1e\xfd\x0a\xee\x26\x52\x64\x59\xcc\x98\x2c\x76\xa7\x95\xb7\x16\x0b\x62\xb5\x06\x9a\x67\xe0\x21\x32\xa9\x38\xa3\xd4\xc0\xa5\x39\xaa\x4d\x8d\xcc\xb6\x6d\xd5\x6d\xdb\xf9\x35\x17\x49\xb0\x83\x48\xef\x29\x6a\xb1\x54\x73\x3b\xf2\xd2\xab\x12\x99\xad\xfa\xec\xa4\x14\x1e\xc6\xbe\xe2\x33\x5e\xdc\x4b\x26\x36\x35\x67\x37\x33\xad\x75\x55\x3b\xca\x79\x7b\x75\xf1\xb6\xdd\x1a\x28\xad\xa5\xa7\x13\x49\xd6\xac\x02\x4d\x46\x81\xd1\x94\xc9\xe8\x0d\xb5\x1d\xfc\x79\x88\xf8\x94\x3c\x60\xde\x91\x5d\xcf\x6d\x4b\x4f\xac\xdc\xc0\xc4\x25\xe6\x6c\x49\xe3\xb3\xd3\xf2\x37\xaf\xd5\x20\x4d\xae\x2d\x4b\xa8\x4a\xe7\xb6\xd4\xb7\xe6\xec\x61\x3a\x76\x54\xb6\xd6\xf1\xe5\x15\xf6\xca\xe2\x6a\xa5\xad\xcc\x56\xd5\xa4\xf1\x2d\xf0\x7c\x42\x77\x18\xea\x52\x92\x8d\xe9\x71\x1c\x8e\x22\xe3\x9c\x19\x4d\x8d\xae\xda\x0e\x4e\x6a\xf3\x9d\xa2\x55\x69\x9f\xac\x1c\x27\x8c\x4a\x1d\xcf\xe5\xcc\x59\xb2\x72\xae\x59\x99\x85\x2c\x72\x02\xb2\x4c\xe0\x58\x8d\x2c\x3f\xb7\x6c\xc9\xa1\x9c\x33\xca\xd4\xaf\x84\xdb\x37\x34\x02\xf9\xb5\xed\x76\xfd\x97\x5c\xe5\xd9\xb7\x0f\x9d\x71\x28\xab\x41\x0b\x9c\x00\x2c\x03\x1c\x70\x42\x16\x68\xf9\xd3\xf9\x6f\xaf\xac\x9a\xad\xac\x7f\x46\x18\x35\x56\x23\x90\xfe\x02\x0f\x4f\xe3\xb2\x17\x60\x19\x69\xde\x9b\x75\x62\xeb\xc7\x59\x47\x33\x8e\x66\x1d\x55\xfe\x9b\x38\x89\x0b\xde\x81\x05\x8a\xab\x04\x2c\xf1\x3d\x42\xaf\x35\x6f\xca\x4e\xe7\xb6\xa4\x25\xe5\x6c\x60\xe2\x92\x2a\xb7\xa5\xf3\xd9\xf5\xe6\x9d\x07\x34\xd0\x8f\x3c\x50\xb6\xb3\xaa\x9e\xdb\x56\xb7\xbd\xb2\x83\xd9\xbd\x3d\x67\x4b\x3d\x5f\x95\x56\x96\xb0\x56\x83\xfd\x48\x98\x81\x0f\xd3\x07\xc9\x4d\x89\x5b\xb2\xb6\x30\x29\x59\x62\x9d\x99\x2f\xa8\x28\xaa\xdd\xae\x81\xa3\x17\x71\x1b\xa9\x7a\x48\x19\x94\x29\xe4\xd9\x8a\x38\x83\xcd\x61\x11\x99\xca\x2a\x67\x63\x35\x0f\x7b\x2f\xfa\x08\x52\x7a\x05\x4e\x47\xb2\x28\xc2\x42\x78\xfe\xec\x55\x20\xae\x5e\xfd\x01\x5e\xf8\xf2\x3a\xdc\xbd\x96\x9f\xda\xb7\x15\x36\xfe\x02\x0f\x4f\xfb\xe5\xdc\xe7\x19\xb7\x6a\xfe\x9d\x77\xdb\xf1\x55\xe6\xed\xaa\x8f\x2d\xb7\x4b\x6e\xde\x86\x10\x95\xdf\xbd\xd3\xbb\x02\x8e\xd0\x87\x73\x9a\x93\xb2\xb2\xcc\x59\x59\x1c\x9e\x22\xb3\xaa\xab\xcd\xd5\xcc\xf6\xca\xa6\x23\x3c\xdc\x86\xf5\xf4\x91\xac\xe6\x4d\x9b\xb2\xf4\xcb\xb9\x65\xb7\xc8\x9e\xc5\x50\x4b\xfb\x2e\x3c\x4e\xaa\xa4\x4f\x16\x4a\x17\x06\xfc\x00\xe7\x9f\x20\x61\x86\xef\x02\x7d\x8a\x5c\x1d\x13\x97\x1a\xcf\x24\xa4\x54\x6c\xcb\xe3\x2d\xd5\x85\xcd\x7b\x34\x12\xf3\xad\x2f\x88\x4c\x11\x0c\xb6\x42\x2e\xbb\xb8\xcc\x5c\xc1\xd4\xd5\x57\xed\x68\xe0\xa5\xb0\x6f\x7d\x26\x12\xbe\x87\xa1\xf4\xb2\xa2\x0d\xe6\x14\x2e\xc6\xb0\x25\x2d\x96\x89\xdf\x58\xb7\x6f\x13\xbf\xe4\x69\xcf\x88\x6f\x49\x15\x31\x3c\x08\x37\x91\x7b\x77\xee\xaa\xdb\xcd\xec\xd9\x96\xb6\xde\xc5\x97\xa5\x16\x6f\x58\xa6\xc1\x45\x24\xdc\x76\xd2\x09\x42\x6a\x91\x89\x2b\x4a\xcd\x4b\x37\x64\x2a\x63\xb7\xae\x4f\x5f\xca\x2c\x8d\xad\xed\x48\xe2\xd3\x5a\x8c\x07\x4e\x6a\xe0\x05\xf2\xa4\xb8\xbf\x7e\x1b\xd7\xb1\x7d\x4f\xed\x51\xe6\xc8\x9e\x8c\xb8\xed\x7c\xdd\x16\x71\xdd\x1b\x9a\x41\x38\x3d\x8a\x5c\x56\xad\xdf\xd5\x54\x59\xd1\x62\xe7\x6c\x76\x5b\xc3\x5e\xcd\xed\x1c\xc2\x77\xcf\x3b\x98\x5e\x96\xb3\x75\x53\x42\x76\xcb\x51\x0e\xd6\x93\x47\xab\x9a\x77\xb6\x55\xea\x97\x71\xb8\x9e\xf4\xac\xf1\xe7\xd1\xa0\x14\x20\x2c\x09\x42\xb9\xf4\xcf\x5f\x3d\x33\x59\x54\x36\xe0\x6b\x38\x4b\xc0\x99\x0c\xce\xc4\x59\x42\x2a\x46\xf3\xcf\x99\xa2\xe7\xa4\x4d\x52\x6e\xc1\x50\x2b\x86\xa1\x52\x23\x90\x48\x0a\xd8\x67\x3b\x86\x72\x75\x93\xce\xcf\xf9\x2c\x4f\x99\x02\xaf\xc1\x2c\x01\x66\x32\x30\x13\x66\x09\x8d\xf0\x1a\xff\x59\x79\xd7\x99\xfa\xcf\x95\xdb\x20\xd4\x06\x7d\x80\xd4\xf4\x64\x68\x43\x7d\xf4\x74\xac\x99\x06\x35\x8a\xfe\x44\xe3\xcc\xa6\xd7\x9a\x66\xb6\x3f\xd9\xf0\x92\xb8\x58\x89\x2d\xbf\x40\x0b\x09\x8f\x48\x03\x15\xd0\x88\x5f\xd3\x27\x4d\x07\xd2\xb6\x71\x1d\x5b\x62\x6b\x97\x31\xcb\x63\x33\xe2\xb6\xf0\x69\x5b\x4c\x6b\xdf\xd0\xe0\x54\xf2\x0d\x71\x6d\x7d\x12\x17\xb7\x6d\x4f\xc6\x11\xe6\xe8\x9e\xda\x8e\x6d\x7c\xfd\x36\xf1\xe0\x49\x0d\xdc\x84\x5b\xf4\x28\xdf\x63\x44\x42\x6a\x5a\x76\x3a\x93\x6b\x2e\xaf\x2a\x92\x25\x40\x45\xa3\x46\x0a\x19\xe5\xe3\xc8\x98\x92\xad\xf6\x2c\x6e\x8b\xd8\x98\xbb\x93\xd9\xdd\xd1\xf0\xe6\x5e\x5e\x47\xaa\x14\x41\x8d\xb7\x89\xc0\xa7\x64\x2d\x91\x02\x07\x58\xe9\x07\x8f\x87\x16\xac\x36\x1c\x0f\xfb\xb9\xc6\xdc\xf4\x96\x18\x06\xf3\x88\xec\x5c\x8b\x31\x9f\x37\x1b\x6d\xd9\x65\x39\x30\x16\xdb\xc3\xad\x36\x41\xb0\x32\xe8\xf0\xe9\xcc\x39\xb6\x1c\x87\x31\xc2\xe8\x70\x99\xab\x18\xc8\x23\xf6\xd4\xb6\x34\x55\xf2\x20\x48\xd1\xce\x5a\x41\xe3\x79\xcb\xd3\x8f\x76\xe6\x1b\xec\xd9\x0c\xe6\x13\x31\x59\xc9\xfa\x1c\xde\xe7\xea\x19\x94\xb1\x49\xd0\x08\x82\x15\xbe\xf3\x07\x73\x29\xae\xfa\xad\x7b\x65\xd2\x2a\x97\xdd\x59\xc6\x3b\x9c\x42\x95\xb9\x12\xbf\x95\x30\xdc\x2a\xd8\x6c\x8c\xb4\xcd\xfb\x6c\x59\xa5\x50\x65\x76\x46\x84\xc1\x53\x14\x6c\xf5\x5e\x85\xad\x21\x9e\x17\x3c\x15\xb4\x60\xce\x41\x1d\x7e\xc7\x65\x98\xb2\xd3\x12\x19\x9c\x49\x18\xf2\xec\xe5\x16\xde\x52\x6e\x75\x3a\x9c\xb0\x10\x7e\x0e\xb7\x09\x82\xc0\xe1\x63\xb0\xd1\xe2\xb4\xba\xec\xe5\x11\x65\x76\xb1\xb4\x82\x81\xd7\x88\x1d\x55\xe9\x99\x4e\x1e\xfa\x62\x92\x60\x15\x34\x9e\x50\x29\x9f\xb6\xe7\x09\x46\x8b\xd1\xf7\x84\x3f\x26\x5c\x10\xac\x02\x07\x95\xbe\x44\x87\x51\x30\x5a\xf2\x22\xf2\x2c\xa6\x02\x03\x83\xaf\x11\x09\xd9\xf5\x35\x26\x1e\xab\x25\xbd\x60\x13\x34\x42\x65\xb3\x34\xc0\xf3\x06\x57\xe7\xac\xa8\x6d\x65\xe0\x75\xc2\x55\x5e\x90\x67\xe7\x21\x15\x87\x46\xb2\x8d\x4e\x6d\xe8\x4f\x85\xac\x67\x89\x34\x92\x96\x04\x52\x4a\x43\x87\x2f\x0d\x4b\x14\x30\xd3\xf3\x2b\x2d\x90\xbe\x47\xb0\x24\x5d\xe0\x63\x0b\x26\x0b\xd3\xa7\x2a\x05\xdd\xfc\x4c\x7c\x94\x4b\xc3\xc1\x36\x1c\x2c\x68\x50\x4b\x0a\x56\x1c\x5c\x8f\x83\xb9\x1a\xec\xf3\xae\x4e\xd0\x7c\x34\xed\x56\xf1\x41\xb3\x52\x80\x81\xd9\xd2\xfa\x02\x4e\x20\xa5\x47\xa0\xa4\x5e\xe0\xf7\x94\x7e\x26\x7c\x74\x59\x29\xbc\xfb\x6e\x0d\xf4\xe1\xea\x61\xb0\x15\x06\x0b\x1a\xd0\x92\x82\x0d\x06\xa7\xc1\x60\x2e\x13\x1e\xd5\x9d\x12\x34\xd3\xaf\x4c\x16\x62\x4b\x95\x02\x96\xd4\xf9\x1e\xe1\x7a\xbd\x26\xa8\xe0\xae\x83\x6c\x88\x34\xc4\xf3\x31\x8d\xb7\xb1\x45\xca\xc1\x2b\xf0\x23\xec\x57\x48\x06\x2c\xa1\xf1\xf1\x11\xd8\x0d\xfb\x14\xc5\xa4\xd5\x6a\xb5\x29\x8a\x48\xfc\x11\xf7\xe1\xe3\xdd\x0a\x0c\x22\xa5\x6c\x3c\xaa\xb0\x92\x36\x9b\xcd\xaa\xb0\x91\x52\x0e\x1c\x55\xf8\xaf\x6a\x43\xbf\xa5\x7d\x72\x13\xb7\xb1\x59\x32\xc1\x69\x85\x64\xc2\xd3\xb4\xcf\x84\x67\xa0\x1b\xf7\x4b\xd9\x70\x45\xe1\xcb\xf6\xdc\xa1\x51\x2e\x99\xf0\x34\xdc\x86\x66\x45\xd8\x79\x18\x13\xec\xed\x81\x31\x21\x5a\xc5\x3f\x46\xd0\x92\x1e\xa2\xfc\x6a\xad\x77\xb5\x47\x0d\x51\x3e\x3d\x09\xd3\xa4\x46\xda\xd3\x82\xcf\xec\x86\x51\xfe\x16\x98\xa0\xf8\x18\x36\xd1\x9e\x38\xbc\x7d\x11\x06\xfb\xe3\xe0\x3b\x05\x68\x60\x3d\x2d\x79\x7d\xce\xbb\xd0\xc7\xe7\x95\x9c\x0a\x78\x1b\xca\x69\x54\x8f\x90\x92\xfc\x34\xa8\xbb\x15\x5a\x9c\xef\xbf\x4c\x7b\x3a\x61\x8c\xbf\x33\x90\xb0\xaa\x84\xed\x2b\x40\x09\xab\xfa\x65\x8a\x57\xf4\xa8\x69\x50\xb1\x48\x42\x20\xe8\x41\xf5\xe5\xc9\x7f\x53\x3c\x70\xfd\x20\x01\xa7\xc1\x34\x4c\xc0\x04\x9c\x86\x81\x63\x20\x8f\x45\x02\x24\xc0\x34\x98\x06\x09\x1c\x04\x49\x4f\xd2\xef\xac\xee\x5c\xb8\x70\xf5\xea\x85\x0b\x3b\x57\xbf\xf3\x4e\x67\xe7\x3b\x9c\xcf\x0a\x89\x34\x84\x82\x59\x5c\x73\x87\xdf\x93\xbd\x3d\xa3\x35\xb1\x35\xb1\x36\xa9\x2a\x56\x79\x70\x88\x09\xcd\x18\xaa\xc1\x50\x11\xcd\x6b\x86\x70\xd9\xb1\x19\x49\x89\x89\x89\x89\x49\x19\xb1\xd9\xca\x35\x43\xd0\x2c\x06\xbc\xe7\xd0\x6c\x3a\x38\x84\x8f\xad\x4a\xaa\x4d\x6c\x4d\x6c\xcd\xd8\x9e\xbd\x47\xb9\xe6\x8e\x08\x66\x08\xd5\x40\xa8\x09\xcc\x07\xef\x70\x55\x7b\x6a\xb7\xb7\xb6\xb6\xb6\x6e\xaf\xdd\x53\xa5\x3c\x78\x07\xcc\x26\x08\x65\x3c\xa2\x9f\xa2\x7f\xb7\xdd\xcb\xff\x9d\xcb\x87\x3e\x9b\x21\x78\xf4\xad\xd1\xb7\x30\x78\x07\xf6\x71\x28\xfb\x3b\x06\x58\xfb\xf7\x1f\x60\xeb\xff\xf0\x20\xec\x93\x8f\xc1\x9b\x47\x8f\x1e\x3d\x7a\x33\x06\xe7\x63\x1f\x65\x7e\x7f\xdb\x00\xa1\xbf\xd0\xdf\x3a\xa0\xff\xc3\x83\x1d\xd8\x67\x07\x06\xdf\x1a\x7d\x6b\x34\x04\x6f\x86\x3e\xf9\xca\xdf\xf3\xef\xd9\x7e\xff\xfd\x9e\xf5\xf7\x87\x07\x41\x1f\x07\x04\xef\xb8\x75\xeb\xd6\xad\x1d\x10\xec\x80\x3e\x4a\xc7\xef\xd6\x7b\xbf\x6b\xc2\x16\xb3\xd0\x2a\x4d\x82\x48\x69\x12\xb4\xaa\x13\xb7\x52\xbe\xb7\xfc\x22\x0d\xe3\x29\xe9\xfd\x7e\x30\x3e\x90\x92\x56\xf4\x0e\xa1\x71\x19\x9e\x55\x48\x43\x08\x78\x06\xf5\xf4\x40\x88\x52\xf8\xea\x89\x81\x18\xa5\x78\x82\x90\x56\x78\xa6\x4b\x2b\xfc\xd3\x15\xf0\x01\x88\x81\x4f\x43\x38\x15\x6e\xc1\x63\x30\x06\x42\x20\x19\x42\xc0\x01\x0b\x21\x34\x58\xba\x05\x5b\xa4\xc8\x96\x10\xcf\x7b\x9e\x09\xf4\xbf\x87\x9f\x7a\x65\x35\xf7\x5c\x8c\x80\xaa\x2f\x62\x2f\xaf\xbc\x7b\xc1\xf0\x95\x12\x42\x1a\xe9\x6a\x0c\x1b\x89\xff\xc4\x30\x83\xfc\xbf\xf2\x17\x0b\x84\x15\x7c\xff\xde\xcd\x2f\xf7\xc1\xbf\xce\xc2\xd8\x27\xea\x70\x80\x12\xf2\xa4\x03\xf4\xcc\x99\x4f\xe5\x3d\x63\xc4\xa1\x69\x38\xd2\x86\x43\xeb\x27\x38\x47\x89\xd1\xe7\x0e\xbc\xf7\xb1\xeb\x03\x27\xbc\xbe\x1b\x74\x56\x78\x7d\xd3\x05\xc3\x55\xe3\xe1\x39\xca\xd3\x3d\x0d\xb4\xad\x63\xcf\xe9\xa5\x55\x78\x02\x17\xf9\xc6\x0a\xf8\x0e\x2c\x4a\x37\x85\xe7\x67\xd6\x0c\xab\x19\xb6\x6d\x44\xc4\xe9\x61\x10\xb6\xe1\xb7\x34\x58\x14\x0b\x9b\x5c\x30\xfd\xe7\xdf\x4e\x67\x42\xf8\x8e\xff\x28\x61\x86\x77\x3e\x6d\xdf\x53\x7e\x60\xeb\xae\x37\x2e\x8e\x6f\x7f\xae\x19\x37\x77\x61\x66\x39\xa6\x24\xf7\x37\x46\x66\x3c\xbe\x7e\xca\xe6\x21\x6b\x73\x47\x6f\xc3\x35\x07\x71\xd5\x1e\x5c\xe5\x9c\x2d\xbc\x74\x72\xb5\x12\x14\x51\x30\x60\x3d\xf0\x59\xb0\x2a\x19\x12\x6a\xe0\xf5\x1f\x4e\xb4\x7e\xb0\xd7\xd5\xb5\x1f\x12\x0e\x40\x42\x07\x6c\x56\xca\xaf\xef\x0c\xb0\xdc\x06\xe2\x0b\x18\xff\x05\xbc\x0a\xfd\xaf\xc1\x8c\x60\x01\x2a\xe1\x97\x2f\x60\xec\x17\x70\x07\x2a\x43\x3c\xdf\x7a\x9e\xa4\xcb\x5f\x7f\x71\xe9\x82\x5d\x73\x5a\x84\xef\x4e\xb7\x2a\xdf\xde\xf9\xf1\xda\xb9\x9a\x2f\x6a\xe8\x9c\xbb\xa8\xfc\xe8\x89\x55\xaf\x27\xae\x8e\x2e\x99\x51\xfa\xf4\x97\x53\x6f\x96\xdf\x2c\xbf\xf4\xb5\xe1\xa6\x12\xa6\x48\x0c\xbd\xb1\x73\x7e\xf9\x92\x32\x64\x9a\x90\xb3\x21\xb3\x75\xb9\x79\x51\xde\xe6\x35\x47\x57\x9e\x37\x9f\xcd\x83\xa0\x1c\x08\xb6\xfe\x51\x75\xb6\xec\xa2\xe3\xf0\x11\xe5\x9b\xfe\x1c\x3a\x65\x5a\xc5\xc8\x29\xab\x90\x9e\x86\xa3\xf3\x70\xc0\xf6\x29\x95\x63\x5a\x56\x5f\x4e\xbf\x64\xb8\x9c\xfb\xb1\xbd\x22\xbc\xc2\x01\x1b\x71\x00\x9c\x14\x20\x1e\x06\x44\x74\x18\xb7\xac\xde\xaa\x81\x7e\x9e\x19\xf4\x16\x1c\x93\x88\xa3\x37\xe3\xe8\xbc\x65\x2b\x92\xd6\xa5\x22\x33\x1d\x47\x1b\x70\x68\xcd\xe3\xae\x41\xad\xcf\x7e\xb0\xae\x4d\x38\x9e\xf7\xe6\x16\x18\x96\x00\x8f\xa7\xc3\x70\xb1\xcb\xbd\xe3\x54\xa3\xf2\xca\xf6\xcf\x2a\x3f\x2b\x83\x71\x35\x30\x31\x1f\x9e\x5e\x76\x3a\xe3\x9c\x7e\xff\x92\xda\x64\x4b\x42\xc1\x56\x25\xd4\xfe\x12\xc9\xfa\x73\x3d\x77\xc0\x1e\xfc\x91\x77\x76\x88\x77\x1a\xac\xa1\x37\x66\xcd\xce\x59\x61\x55\xa2\xa6\x30\xe9\xa7\x8f\x35\x52\x35\x7c\x03\x76\xfc\x5a\x9a\x44\xa2\xb9\x40\x10\xf8\x02\x73\x41\x9e\x95\xcf\xc6\x7e\xb3\x30\x0d\xed\xa3\x94\x18\x0f\x93\x7c\x9d\x24\xce\x02\x16\x6b\xe1\xbe\x83\x83\xb0\x62\xd0\xbe\xd3\x76\x44\x29\xaf\x37\x5a\x22\x28\x44\x1b\x9a\x78\x95\xd6\xc7\x0d\x58\xfb\x44\x91\x12\xdb\x2d\x03\x60\x25\x0c\xd4\x48\xe3\xb0\x1f\x4c\x20\xe1\x8d\x8f\xdf\x82\x69\xae\x9f\x95\x65\x36\x7b\x49\x09\x23\x94\x08\x30\x93\xc3\xcf\x41\xc4\x37\xd0\xe9\x1b\x40\xea\x1a\x5f\xb8\x5b\xc2\x75\x1c\x71\x56\xb4\xf0\x1f\x60\xb4\x42\x1a\xe4\x6d\x8b\x64\x7b\x72\x51\xa7\x25\x4e\x42\x2c\x1b\xe2\x71\x80\x91\xae\xb0\x18\xca\x72\x18\xd4\x6b\x43\x6f\x10\x3a\x4a\x8b\x91\xa8\x27\x73\x0c\x81\xef\x15\xb9\xc5\x39\xe5\x46\x00\x9f\x3a\x3c\xdf\x11\xf8\x5e\x11\x4b\x89\xe5\xa5\x0e\x07\x07\xbf\x4a\xea\x72\x67\x71\xa5\xa5\x22\x22\xac\x27\x17\xc5\xbf\xda\xf3\xee\xa0\xed\x15\x45\x95\x79\x4e\x04\x49\x1d\xee\xc8\x37\x95\x9a\x64\x2a\x53\x5e\x41\x7e\x3e\x87\xbf\xfa\xd4\x79\xc6\xa2\x1c\x7b\x6e\x44\xae\xdd\x65\xae\x64\x40\xaf\xc5\x48\xa2\x8d\xd5\x86\xde\x00\x3d\x59\xe9\x2a\x77\xd9\xf9\x30\xf8\x81\xed\xd2\x12\x27\x43\x32\x59\x8f\x7e\x2e\xab\xc5\x48\xd0\x13\x95\x79\x2e\x83\x9d\xcb\xb5\xe7\x14\x19\x4d\x3e\x35\xfe\x11\x9e\x9f\x5f\x60\x32\x69\x40\xc9\xf6\x46\x29\x48\x6a\xfc\xd5\x99\x57\x59\x54\x61\x8f\xa8\xb0\x97\xb9\x2a\x35\x20\xdf\x0e\x39\x8e\x92\x5b\x13\xe4\xd6\xb4\xc4\x49\xcf\xbf\x68\x50\xb2\x62\x41\x79\xbe\x83\xf3\xa9\xe1\x57\x63\x79\x4e\x71\xae\x25\x22\xd7\x62\x36\xe4\x68\x50\x66\x85\x7c\x5e\x66\x05\xf5\x44\x4e\xb9\xc1\x65\xe1\x2a\x2c\x95\xc5\x4e\x51\x52\xc3\x1f\xe1\x0e\x47\xa9\x28\x06\x52\x1c\xef\xa1\xb4\x8a\xa4\x10\xad\x22\x09\x3e\xa1\x67\xd7\xbd\xf1\xe6\xb2\x0b\xca\x65\x17\xf4\x57\xaf\x6b\x3e\x6d\xba\x74\xe8\x03\xae\x65\xcf\xfe\x03\x27\x0e\xc7\xbd\x19\xdb\x11\xdb\xa2\x3c\x34\x73\x5a\xd3\x44\x66\xf1\x9c\xdc\xe4\x19\xbc\x7e\xc6\x12\x43\x02\xa3\x5f\xe6\x6c\x78\x99\x6f\x78\x69\x8e\x73\x31\x83\xe4\x13\x4b\x46\x4c\xe1\xa7\x0c\x5f\x87\x8f\xe2\x13\x1a\x7c\xe6\x38\x4e\xfc\x09\xa7\x70\x38\xe5\xe7\x9f\xa3\x7e\x65\x76\x1f\x76\x35\xbf\xcb\x37\x9d\x7a\xdb\x75\x90\xe9\x7c\xc7\x98\x7c\x96\x4f\x39\x77\xd4\xd0\xc1\xdc\xf8\xfa\x3c\xfc\xeb\x6b\xfe\xcc\x37\x07\xbf\xda\xf6\xb9\xd2\xf7\xb0\x36\xd4\x49\x97\x59\x1d\x65\x1a\xab\xa3\xa8\xac\x48\x44\x65\xe2\xf8\xc5\x8b\xa6\x2e\x9a\x9a\x34\xb6\x68\xe8\x5b\xa5\x1d\x8e\xe6\xb2\xbd\x15\x7b\x5b\xf6\xee\x7d\xf3\xcd\x5d\x47\x1b\x8e\x2b\xeb\x8f\x39\x8f\x76\x6a\xc2\x22\xf3\x53\xe0\x16\xe5\x99\x2c\xb5\xd2\x82\x7f\xb2\xef\x14\xe9\x99\xfc\x84\x42\xab\xd8\x12\xea\x9f\xfc\x84\xc2\xf7\x81\x67\x32\xe9\xdd\x30\x9e\xee\xe1\xfd\xc3\x08\x2f\x8f\x8f\x29\x0e\xb2\xa1\x3d\xf2\xd1\x3f\xda\xcb\x93\x61\x78\xdf\x4b\xc1\xc4\x60\x01\x56\x41\x32\xac\x02\x0e\x56\x83\x1e\x56\x85\x48\x46\xef\x7e\x3a\x25\xa3\xae\xb1\xb1\xb6\xae\xb1\xa9\x36\x3d\x25\x25\x23\x3d\x99\x97\x9e\xed\x97\xdc\x7b\xae\xa9\xb1\xf7\x5c\x0a\xef\x3f\x89\xaf\xd1\x73\x97\x2d\x9b\xc7\xfb\x5e\x24\xe7\x1e\x5d\x76\xfa\xf4\x91\xa3\xa7\x39\xe9\x45\xf2\xbd\x65\x47\xe7\x71\xde\x23\x69\x74\xcf\x70\xff\x93\xc4\xac\x63\x8b\xdf\xe7\x3e\x21\x6c\x98\xaa\x98\x7b\x74\xd9\x7b\xa7\x8f\x1e\x3d\xcd\x41\x2a\x70\x98\xda\x4b\xd4\x5b\xbe\x4a\x9e\x3b\x76\xec\x7d\x1e\xb3\xbc\xef\xd1\x97\xe1\x5f\xa5\x65\x45\xa2\xb9\x34\xc2\x5c\x62\x2a\x2a\x30\x4f\xc5\xf0\xf0\xd6\x59\xd3\xab\xa7\x32\x53\xa7\x67\x25\xce\xe2\xa7\x42\x78\x41\x99\xa9\xd8\x5c\x18\x61\x2e\x28\x32\x95\x9a\x2f\xe3\xbf\xc2\xb1\xff\xd4\x91\xc8\xe1\x18\x8d\x77\x34\x01\x63\x46\x02\x87\x91\x57\x38\x29\xc9\x97\x45\x9f\x5e\x76\x64\xee\xbc\x65\xcb\xe7\x72\xbd\x5c\xf6\x32\x10\x86\xe2\xb1\x15\x9d\x6f\x35\xa6\x76\xc3\xd7\xb5\xd2\xf1\x8b\x87\x1b\x80\x6c\x28\x6e\xc8\xae\x36\xb7\xbd\xdd\x98\x55\xd7\xb7\xac\x2d\xb5\x5e\x68\x87\x41\x3f\xfc\xf4\xad\xf8\x76\xfc\x2e\x67\x67\xdc\xfe\xf3\x5f\xb7\x9e\xe8\xa8\xd9\x73\x66\x6f\x13\xcc\x80\xf1\xa6\x6a\x78\xac\x51\x55\xff\xea\x07\x3f\x79\x46\x78\x3d\x74\x7c\x71\x91\xde\x69\x53\xba\xcc\x75\xc5\x0d\xbc\x40\x7e\x93\x4d\x3b\x4b\x8d\x0d\x09\x39\x4a\x81\xac\xb3\xdb\xd2\x9c\x25\x4a\xfc\xcd\xf7\x3c\x5d\x5e\x68\x31\x59\x32\xf2\xb3\xb3\x73\x2d\x36\xa5\x40\x66\x17\xd7\x39\xcb\x2a\xc5\xaa\xa2\x3a\xb1\x50\xe9\xe9\x46\xa4\x57\xef\xc6\x3e\x8e\xc2\x89\xca\xe4\xcc\xa2\xcc\x1c\x5e\x35\x34\x28\x68\xd4\xa2\xd9\x47\x91\xb2\x44\x2b\x55\xfd\x82\xde\x0f\x2a\x98\x97\xa9\xcb\x9b\xb7\xc9\x56\xd2\x28\xee\x52\xaa\x1e\x0a\x7a\x34\x48\x6c\xad\xdc\x6d\x6b\xb7\xb5\x15\xd6\xe5\x95\x9a\xed\x06\x53\x66\x52\x9c\xee\x85\xad\x2f\xe7\x4d\x37\x45\x97\xc5\xed\x37\x54\xa6\x66\x14\x15\x16\x5a\xaa\x4c\xae\x54\xa5\x2a\x68\x14\x11\x54\xb3\xb9\x7a\xc5\xba\x54\xdb\x9d\x78\xc7\x86\x0f\x94\x02\xa9\xfa\x87\x72\xc0\xa5\xae\x32\xf1\xa3\x8d\x3b\xb7\x6e\x43\xee\x6e\xec\xc1\x8c\x3a\xbd\x68\x6a\x4c\x7e\x3b\xeb\x52\xeb\x31\xbb\x58\x5a\x50\x90\xae\x0c\xf0\x91\x3c\xe0\xa3\xb1\xd5\x87\x5d\x6d\xc6\x53\x8e\xc3\x4a\x55\xd0\x94\x17\x83\x9c\x9f\x5e\x82\xc7\x77\x95\x2f\xbd\x79\xf7\x23\xeb\x67\xd6\xe3\x47\x30\xe4\xc8\xd6\xe3\x49\xef\x7e\xfa\xef\xfd\x4d\xae\x1d\x15\x45\x4e\xb9\xc3\xd0\x29\xa6\x23\x4f\x0e\x19\x5f\xb8\xce\x9a\x2d\x66\x55\xad\x38\x74\x2c\xe6\x42\xc5\x4e\xbb\xd3\xbe\xab\xb2\xbd\x62\x4f\xfd\x1e\xa7\x52\x55\xa8\x0c\xde\xbd\xcd\x51\x54\x6f\xb4\x5b\x4a\xf2\x04\xb3\x21\x2b\x69\x5a\x56\xb2\x39\xc1\xb4\x31\x6f\x55\x71\x74\x71\x75\xdb\xb2\xed\x39\x65\xa5\x0d\xb5\x75\x4e\x71\x9b\xa3\xb2\x51\x59\x5c\x52\x53\x5b\x29\x96\x96\x08\xff\x5e\x6b\x93\x47\x20\xf2\xd1\x38\x9b\x31\xc9\x96\xa4\x4c\x2a\xae\x4a\x16\x99\x3a\x5b\x46\xaa\xb1\x30\xcb\x92\xfa\x61\x49\x5b\x71\x7b\xcd\x7b\x07\xad\x7b\xad\xdb\x97\x5b\x9f\x53\xe6\x9c\xa9\x6f\x48\xe1\xaa\xb2\x67\xc2\x48\xe0\x5c\x7b\xcd\x7b\x72\xab\xc6\x5b\xf2\xaa\xe6\x24\x9b\x13\x4d\x19\xce\x9a\xed\xce\xed\xc6\x0b\xba\x82\x79\x85\xe5\x43\xab\x8b\xaa\x8b\xf6\x27\xb6\x5a\x94\xdf\x64\x44\x2f\x72\xcd\x52\xaa\x1e\x0d\xb2\x07\x55\x4e\x3f\x52\xd7\x89\xaf\x96\x1b\x3a\x8c\xbb\x31\x72\x27\x3e\xb6\xfa\xa9\x8f\xcb\x6b\x6c\x2d\x76\xe7\xde\xed\xdf\xad\x81\x90\x35\x57\xf5\x87\x93\x77\xe6\x3a\x8f\x26\x9e\x8d\xaa\x8a\x56\xd6\x8d\xab\x88\x49\x1c\xad\xac\x31\x1f\xc8\x48\xd7\xf8\x95\x9e\x8f\xe8\xc2\x22\xc1\xca\xa9\xa6\x84\x16\x06\x99\xac\xe5\x15\xc5\xbc\x58\x6c\x71\x14\x30\x02\x99\x5f\x54\x54\x57\x51\xe8\x28\xaa\x48\x2f\xd8\xa2\x94\xc6\xe3\x22\xba\x24\xdb\x94\x99\x5b\x9c\x5a\xba\xf4\xed\xc6\x66\xa5\x4a\x19\x1c\x14\x24\x90\x2a\xe5\x43\x41\x41\x65\x65\xa5\xa9\xf5\xb9\x35\xc6\xaa\xb2\xd2\x34\x25\xbe\x0c\x71\x74\xa1\xb1\xa0\x58\x53\x54\x9d\x57\x95\x57\xac\x14\xc8\xfc\xe2\x02\x47\xa5\xcd\x6e\x6b\xcc\xb5\x6e\x55\x9e\x82\x6c\xda\x62\xd0\x97\x58\x8a\xd2\xcc\xf9\xe9\xa6\x32\x63\x79\xb5\x58\xea\x52\x0a\x64\x89\xd3\xd8\xd8\x50\xac\x2c\x2f\x37\xe7\x95\xf3\xa2\xb9\x32\xdf\x6a\x51\x4a\x1f\x68\xbd\xef\xd1\x9b\xeb\xa6\xd7\xe7\x43\xbf\x24\x7d\x09\x3e\x72\x65\xeb\x17\x89\xc7\x97\xe3\xb0\x85\x4a\xd5\xa3\xc1\x41\x41\xc3\xe2\x32\x8c\xcf\xbd\x3a\x69\x06\x52\xdb\x1b\x81\x73\xb9\x1d\x67\xd3\x3f\x34\xb5\x15\x1c\x74\xb4\xba\x4e\xed\xac\xd9\xb9\xb0\x6e\x83\x63\x5d\x57\xa1\x52\x35\x3b\x34\x28\xe8\x97\x82\x86\x3b\xed\xf6\xc6\x92\xa6\xf7\x33\xff\x93\x7e\x6f\x26\x4c\x98\xf4\x95\x52\x65\x08\x0a\x0a\x9d\xf1\xf1\xea\xf7\x93\xbe\x49\xfe\x24\xf7\x72\xe9\x25\xc7\xcd\xc5\xd0\xe7\xb9\x33\x8b\xf7\x4e\x6e\x78\xd9\xaa\x5c\xbb\x3e\x3f\x6b\x33\x8f\xca\xd7\x32\x47\x17\x0f\x2a\x1e\x51\x82\x0f\xb9\x06\xe6\x2c\x99\x3e\x6a\xe5\xbc\x39\x73\x13\x30\x64\xdd\xf0\xd4\x85\x1b\xb6\x16\xce\xb0\xa6\xd9\x96\xd4\x56\x7d\x74\xe2\x06\x86\x03\x8d\xcb\x95\x02\xd9\xb2\xf6\x1b\x1c\x8f\x23\x53\x16\x9a\x27\xec\x9d\xd4\x30\xad\xf6\x45\xd7\x1a\xd7\x96\xff\x8b\xb0\xff\x80\x6e\xe2\x0a\xfe\x86\x61\x1b\x7b\xa5\x45\x21\x0e\x20\x2d\x58\xbb\xd2\xae\x09\x01\x42\x09\xd5\x94\xd0\x21\x21\xf4\xd0\x4c\x33\x1d\x8c\x6d\xdc\x31\xee\x4d\x92\x65\xcb\x92\x56\x92\x65\x59\xee\x1d\x1b\x17\x6c\x6c\x8a\xe9\x25\x74\x12\x4a\x68\x0e\x21\x81\x84\x96\x46\x48\xa7\xcc\x4a\x23\xf3\xff\x8e\x4c\xf2\x3c\xdf\xf3\xbc\xe7\xbc\xef\x39\xbb\x3b\x77\xe7\xce\xcc\xbd\x77\xcf\xd5\x6a\x67\x77\xee\xfc\x6c\x1a\xbb\xa1\x20\xbb\xbe\x6d\x9f\xa9\xd9\xdc\x9c\x51\xae\xde\xa5\xde\xa5\xaf\xb2\x17\x92\x79\xf6\x12\xcb\x4e\x43\xa3\xbe\x35\xaf\xb2\x68\x77\x65\xe9\xfe\xf4\xe3\xe4\xda\xd4\x94\xad\xf1\x6c\x48\x62\x40\xf9\xf6\xb8\xc8\xed\xed\x9f\xe8\x57\xe9\xb7\x6e\xd9\x50\x11\xf4\x66\x5a\x56\x04\x3d\xd4\x3d\x49\x86\xde\xdb\x3b\xd6\x5d\x30\x3c\xd4\x17\x3f\x04\x5f\xcb\x7e\xd3\x3e\xf3\x3e\x13\x79\xe8\x10\x6f\x3c\xcc\x3d\xd1\x47\xae\x3b\x1f\x75\x22\xf6\x71\x41\x75\x55\x43\xfd\xd7\x57\xce\x37\x92\x52\x0f\xb5\xc7\xf4\x8e\xbd\x30\xe5\x32\xbe\xf3\x75\xd7\x33\x97\xb7\xf0\xe4\xef\x54\x10\x09\x15\xe0\xdd\x9b\x07\x6f\x05\xe1\x07\xde\xd2\xfb\x4e\x7b\x1b\x15\x36\x79\x6c\xd2\x48\x06\xc7\xe0\x80\xf3\xbf\xa0\x88\xe3\xed\xd9\x79\x3a\x16\x7a\x43\xbd\x20\x07\x05\x4f\x9b\xcc\x26\x13\xf3\x33\x66\xed\xc3\xb5\x05\x4b\x48\x5c\x28\x3c\xa7\xb4\xfa\x4c\x43\xa6\x9e\xe4\xf1\x15\x8a\x70\x36\xde\x66\x81\x54\xf6\x07\x72\x3e\x0c\x87\xc9\xb4\xf4\x7d\x1b\x6f\x33\xd9\xd8\x42\xb8\xab\xfd\x0b\x7e\xe2\x2a\x83\x2b\x82\xcb\x82\x49\x3f\x08\xa5\xa4\xf7\x27\xe0\x75\xac\xb7\xa4\x30\x87\x60\x03\x28\x60\x0a\xcc\x7f\x64\x57\xc1\xdb\x38\x01\x44\xb8\x9e\x74\x4c\xc7\xdb\x54\x24\xce\xef\x8f\xa3\x71\xd0\xfb\x59\xfb\x43\x61\xf9\x58\xd0\x40\x68\x0b\xcc\x5f\x52\x92\x43\x76\x1e\x75\x24\x53\x46\xa3\x91\xe7\x4c\x5d\x20\xe8\xc2\x63\x1c\x40\x19\xf4\xc3\xf1\x5d\xe4\x47\xa0\x37\x6c\xc6\x9e\x30\x5e\x53\x4c\x16\x9d\xfc\xcc\x76\x9a\x91\xbe\x07\x13\x61\xd8\xc2\x01\x20\xe6\x60\x87\x2b\x99\xd2\x9a\x70\xc7\x09\x4c\x88\x22\xa5\xab\x74\x85\x39\x45\xba\xc2\xf4\xe6\xb4\xe6\xb4\xdd\x50\xf4\xf2\x05\x0c\x33\x9b\x7f\x46\xef\xb3\xd8\xdf\x8c\x23\x48\xf0\xce\xa2\xfc\x24\xf3\x21\xcb\x39\x05\x52\x7b\x83\x5e\xa9\x70\x4e\x87\xab\x8e\x7d\xf0\x99\xf4\xa1\xc2\xbb\x40\x88\xa4\x70\x03\xae\xfa\x00\x17\x63\x3c\x2e\xfe\x13\xde\x39\xbb\xfb\xe4\x4d\xf6\x55\x01\x0e\x87\x85\xcc\x93\xf3\xfb\x4f\x5d\x09\x28\x18\x5d\xc3\xe1\xc0\x36\x02\x07\xb6\xa2\xf7\x25\x98\x4c\xc3\x06\x58\x77\x07\x66\xc0\x12\x58\x36\x1d\xc5\x4b\x82\x56\xcd\x63\x87\xe8\x41\x8c\xa3\x98\x31\xcb\x76\xac\x58\x72\x3e\xe3\xeb\x64\xee\xf9\x0e\x02\xde\x0d\x87\x29\x8b\x70\x26\x0d\xff\x83\x91\xd4\x93\xc8\xfb\xab\xaf\xb2\x05\xc7\xf3\x4e\x9d\xa2\x05\x39\x5e\x87\xeb\x2e\xf9\xaa\x55\xd9\x9a\x35\xec\xc9\x79\x13\x9b\xc6\x30\x59\xca\x31\x4d\x13\x4f\xce\xe3\x34\x6b\xb2\x57\xad\xa2\x5d\x72\xb8\x8e\xd7\x05\xf9\xa9\x53\x79\x05\xc7\xd9\xd5\x57\xef\x47\x3e\x61\xa4\x77\x1f\x4b\x5c\x2a\x61\x30\x2c\x84\x63\x5d\x71\x6a\xf3\x3d\x0f\xc3\x7c\x67\x9a\xdd\xcb\x99\xe6\x7c\x4c\x25\xe4\xc4\xc4\xef\x60\xf8\x58\x1e\xbf\x0a\x8a\x8e\x09\x62\x37\x89\x83\x1a\xa2\xf7\x43\x65\x03\xcf\xb3\xf5\xf5\x91\x51\xd9\x5c\x76\x54\x34\x0e\xd4\xa7\x92\xa9\xfa\xa4\xe8\x30\x86\x8f\xe1\x31\x74\x83\x2a\x3b\x34\x92\xe5\xa3\x82\xb1\x14\xaf\xb3\x7a\xbd\xde\x64\xa1\x9d\x8f\xc4\x75\x35\x8d\xcd\x8e\x19\xf5\x6e\xcd\xda\xd8\xf0\x2c\x0e\x96\x36\x50\xc0\x36\x84\x7e\x85\x7d\x98\xce\x3c\x7c\x87\xe7\x39\xf4\x09\x19\xb1\x84\xe3\xf9\x25\x0a\xe7\x11\x7a\x6e\xeb\x8e\x2a\x2d\x5b\xa5\x3d\x93\xd5\xb2\x8f\x14\xc6\x0b\x29\xb6\x7c\x9e\x2e\x2c\x30\x19\x0b\xab\x61\x1c\xff\x84\x01\x51\xc5\x77\xc7\x8a\xb8\x82\x76\xf0\x12\xae\xed\x85\x39\x24\xef\x1d\x8c\x73\xd0\xcb\x75\x4d\xb3\xb9\x6b\x3a\xb7\x3b\x3b\xe0\x27\xa5\xd0\x0e\x32\xa1\x1d\xfc\x65\x13\x1c\x01\x10\x40\x4d\x94\xb8\xe2\x86\x29\x9d\xf6\x35\x4a\x21\x6e\xa9\xe4\xb5\x5d\xec\xf0\x17\x64\xff\x72\x1d\xb2\x37\xdc\x4e\x99\x18\xfc\x1d\xf6\x7f\x94\x2e\x95\xa3\x0b\x6c\xda\xa0\xf4\x32\x28\x85\x38\xaa\x32\xbb\x52\x53\xca\xa2\x5d\x90\x11\x17\xb7\x2c\x3c\x3e\x83\x71\xc9\x44\x33\x16\xae\x59\xbc\x85\x43\xbb\x4b\x46\x68\xd2\xb2\x93\x92\xe8\x95\x92\xe6\xa6\xb2\xfa\x0a\xf7\xa3\xc3\x53\xe2\x08\xfa\x8a\x90\x77\x8d\x20\xb2\x35\x7a\xb5\xaa\x0b\x6d\x1c\xeb\x44\x0b\x4f\xad\xfe\x9c\x05\x7f\x11\xd4\x48\x38\xa8\x83\x00\xf1\x74\x65\x91\xbe\x30\xbb\x80\x43\x5e\x18\x41\x80\xef\x11\x31\x24\xe2\x53\x22\xa6\xa2\x29\xb5\x99\x59\x28\x71\xf9\x3b\xda\xd3\x24\x3e\x9d\xff\xf6\x06\x02\xae\x40\x5c\xd7\x16\xe0\xe5\xb4\x3b\x3a\x60\x9f\xa4\x53\x26\xda\x2d\xe1\x5c\xfe\xc2\xdb\x4a\x78\x71\xe5\xf5\x7b\xf0\xb1\x52\x08\xba\xe2\x0a\x82\x8f\x95\xce\xf7\xae\xe0\x0b\xe1\x6d\x25\xb6\x3b\x5e\xa4\x75\xf9\xaa\x25\x90\x41\xe1\xdf\x42\x64\xcc\xde\x70\x78\xeb\xaf\x2f\xe5\x8f\xcf\x7d\xb7\xf1\xd0\x6a\x32\xb9\xac\x3e\xfe\x33\xe6\xb3\x86\x9a\x8a\x32\xee\xd0\xc9\xef\x0e\x3d\x5a\xf6\xf7\x9c\x70\x7c\x2b\x26\x98\x14\x46\xcd\xe9\x5a\x4a\x69\x57\x88\xfe\x07\x6f\xc3\xed\xde\x90\xf4\xb3\x4e\xf2\xb3\x74\xaf\x82\x38\xed\x90\x51\x78\x0b\x0b\xb1\x10\x6f\xb9\x29\x14\xc2\x2d\xb8\x05\xff\x8b\xba\xf9\x2c\x34\x62\x13\x65\x29\x30\x16\x66\xe7\xe3\x1c\x30\xf9\xc2\x1c\x30\xe5\xd9\x4d\x05\xfa\x02\xb9\xbe\x40\x6b\xcb\xb4\xe0\x91\x67\xbe\x70\x51\x5c\xa0\x2b\xd0\xe6\xb1\x99\x79\x1a\xb3\x26\x07\x8f\x7c\xe0\xeb\x16\x56\x95\x45\xf3\xaa\x54\x39\xce\x41\x13\x1e\x79\xaa\xc9\xd5\x18\x32\xb3\xe5\xda\x6c\x9d\x46\x43\xe3\x45\x31\x1e\x19\x9a\xa9\xd7\x66\xe9\x35\x72\xbd\xc6\xa4\xc9\xcb\x84\x39\x68\xf2\x75\xcb\x66\x6b\x8d\x6a\x8b\x46\x6e\xd1\xe4\x67\xd9\xf5\x70\x64\xa8\x2f\x5e\x14\x6b\xac\x9a\xfc\x6c\xd6\x9e\x5d\x60\x28\xc8\x85\x23\x4f\x7d\xdd\xc2\x84\x36\xaf\x40\x57\xc0\x14\x14\x58\xf3\xf3\x38\x77\xbf\xe0\xc8\x07\x05\x39\x05\x66\x7b\x9e\x3c\x3f\xcf\x5a\x50\x40\xc3\x45\x31\x1c\x79\x46\x48\x63\xec\x96\x7c\x9b\xa5\x80\xf4\x89\x54\x42\x5c\x57\xe2\x19\x19\xbc\xe8\x42\xf9\xfc\x03\xd2\x29\x1c\x80\x3d\x70\xee\x18\x5c\xce\xe0\x4b\x3c\x00\x6b\x94\x70\x08\x96\x82\x1e\x2a\xbf\xe5\xe6\xf4\x0b\xc6\x9e\x28\xa5\x5d\x62\x38\x83\x67\x04\xf1\xde\xbd\x96\xbc\x36\x16\x36\x3c\xa4\x0a\x6b\x75\x8d\x49\x95\x49\x95\xd1\xd6\x58\x35\xb9\x6d\xe6\xb4\x94\xc9\x0c\x9e\x46\x3d\xe8\xe1\x34\x0c\xbf\x0c\xef\x82\xe8\x39\x57\x59\x61\x6b\x54\xd7\x69\x6a\xe3\xca\xa2\x8d\xa4\x6b\x74\x1a\x7e\x83\x3f\xba\xc6\xd0\x70\x5b\x09\xa7\xa0\x1e\x3e\x82\x5a\xe8\xc5\xfa\x54\x3b\xec\x10\xd0\xf5\x92\xcb\xd9\xe1\x08\xe8\xfa\x84\x64\x17\x85\x46\x35\xb6\xfa\x2b\xc1\x5e\x2a\x11\x3a\x20\x20\x44\xa2\x70\xaa\xc7\x4a\x5e\x07\x8c\x50\xc6\x29\x47\x4a\xae\x28\x08\xb5\x9b\xe5\x61\x91\x2c\x96\x6c\x93\xf8\x55\x27\x08\xf6\x6f\x94\xd0\xe1\xd9\xac\x10\x4d\xf7\x52\x88\x36\x0a\x1d\x21\x12\x8c\x13\x81\x8c\xff\xf3\x1a\x0d\x33\x60\x06\x8c\x56\xca\x35\x4a\x9c\x81\x33\x7c\x3b\x1f\x8a\x70\x06\xcc\xd0\x28\xe5\x7f\x29\xc1\xcd\x98\xcb\x0f\x42\x19\x8d\x71\x22\x8d\x04\xe2\x44\x48\xee\x1c\xdd\xfa\x09\x8b\xeb\x31\x31\x2e\xc6\xbc\x65\xd7\x0e\xb9\xba\xb8\x54\x57\xca\x54\x94\xdb\x4a\x8a\x39\x98\x0f\x5b\x08\x1e\x7c\xd1\x17\xe6\xb2\x90\x23\x79\x2d\x13\xc3\x54\xe8\x0b\x3d\x78\x0e\x02\x71\x35\x01\xac\x04\x46\x2b\x31\x08\xb6\xfa\x1e\xb8\x55\xff\x14\x7a\xd1\x10\x37\x52\xe2\x8a\x13\x3a\x28\x98\x25\xc8\x24\x38\x0b\x67\x61\x7f\xa1\x9b\x92\x75\xc8\x44\x3e\x30\xb8\x26\xc1\xc9\x37\x6a\x6d\xbd\x15\xe2\xe8\x52\xe9\x0d\x85\x38\xdd\x69\xa2\xf8\xf4\x03\xfe\x6a\x16\xdb\x0d\x44\xbc\x25\x35\x93\xa7\xf9\x94\x4c\x6d\x3c\xbb\x16\xdf\x5e\xd4\x9f\xa7\x51\x86\x51\x2b\x55\x09\x25\x64\xe0\xee\xe2\x5f\xaf\xd3\x10\xda\xfc\x64\xd8\x4e\x36\xc2\x16\x67\x9d\x68\x7a\xcf\xe4\x6f\x0c\xdc\x11\x96\x1a\x1b\x52\x6a\xa8\xd4\x1f\xca\xdc\x19\x41\xf2\x75\x9b\x73\x47\xb1\x85\x68\x5e\x15\xc1\xd3\x41\x09\xb3\x5b\x07\xc1\x66\x92\x5f\xf2\xf7\x7a\xf0\x66\xb5\xd5\xa9\x85\x3c\xcd\x27\x97\x6c\xcf\x65\xa5\x7b\xb1\xde\x40\x6c\x4a\x4b\xe2\xf9\xb4\xd4\x92\x30\x0e\xc2\x5c\x3c\xe8\xd1\xca\xd3\x3c\xec\xc0\x74\xc8\x2b\x63\x79\x10\x8b\x5b\x2d\x15\x95\x3c\xcd\x97\x55\x18\x5b\x58\x03\x0c\xbf\xbd\x93\xa7\x6f\xd6\xfc\x88\xd3\x9e\xcd\x25\xf9\x8e\xd5\x67\x0b\x59\xb0\xe7\x12\xc0\x98\xe6\x83\x37\x4f\xeb\xec\xe1\x37\x70\x38\xf4\x27\xa5\x37\xd0\x1f\x06\x57\xef\x80\x15\x50\x08\x12\x18\x75\xec\x59\x5a\x3b\xe9\x53\x3d\xf6\xef\x0e\xe8\x06\xb3\x61\x0b\x0c\xe8\xca\xc8\x36\x03\x1a\x41\xd9\x5b\xf0\xfb\x0d\x56\x15\x7e\x05\x4b\x85\x60\x90\xbc\x04\x56\x0a\x0f\x1d\xe3\xc1\x4a\x45\xad\x5b\x98\xb8\xae\x7a\x7d\x75\xfa\xe9\xc6\x23\x0d\x87\x2f\x55\x1d\x49\x3a\x96\x58\xba\x22\x7a\x1d\xf9\x14\xde\xa6\x34\xc9\x71\xda\x64\x5b\x72\xbe\xae\xb2\xa0\xa2\xa0\xbc\x26\xbf\x22\xbb\x22\x2b\x2f\x51\x93\x4c\xc2\x4c\x3f\xea\x12\xd0\x33\x80\xc5\x41\xfb\xb0\x5f\x1b\x8e\x99\xb5\x10\x7b\x2e\x44\xe9\x25\xec\x07\xfd\xd7\x91\x52\x52\x0d\xef\xaf\x81\x99\x5f\x5d\x02\x05\x09\x57\xc1\x9f\xaa\xc4\x95\x18\x87\x73\xf1\x64\x24\x29\xb5\x4e\xc7\x93\x51\x68\x07\x3a\x09\x56\x26\xc1\x4a\x88\x83\xb9\x70\xb2\x09\x4e\x36\x82\x1d\xe9\x4a\x5c\x49\xc2\xe7\x39\x14\x28\x50\x74\xf7\xbd\x66\x36\x36\x3f\xc5\x5a\xdc\xd2\x70\xdb\xf2\x45\xc4\xe1\x25\xdf\xe3\x98\x1c\x9c\x37\x95\x34\x2d\xdd\x5e\x72\x94\x6d\xf8\x31\xe7\xeb\x0d\x87\xde\xff\x03\xcb\x06\x60\x02\x26\x90\x52\x78\x88\x53\x70\xca\x60\x9c\x8d\x23\x68\x3c\x29\xf4\xc4\x39\x02\x29\xa4\xc2\x5d\x68\x83\x78\x76\x86\xc3\x9b\x5a\x7a\x65\x5c\xed\x94\x14\x52\x4a\x4e\x0f\xcf\x4a\x8c\xb0\x85\xe7\x85\x37\x27\x36\xdb\xdc\x8a\xbc\x78\x5f\x7e\xbb\xaa\x21\xa2\x21\x22\x7f\x93\x6a\x2b\xc9\x8b\x35\x11\xe5\x61\xbb\x35\xbb\x35\x2d\xe5\x05\xbb\xeb\xbe\x4e\x7d\xbc\xf4\x32\xe9\xf6\x9c\x28\x94\x40\x5f\x9c\x71\x02\xc7\x6e\x23\x79\x71\xb0\x76\x47\x48\x7e\x70\x7e\xf0\xde\x1d\x7b\xf3\x41\x54\x0b\xef\x84\x3e\x18\xfe\x60\x44\x0d\x4a\x43\xd0\x8b\xe4\xc5\xea\x90\xaa\xad\x6d\xaa\x36\xd5\xbe\xaa\xa2\x36\x12\x48\xe5\x49\x18\x19\x01\x9f\xa0\x04\xfa\xb8\xff\x8b\x14\xc4\x3f\x3f\x48\x14\xde\x91\xdb\x28\x9c\x05\xde\xd8\x1f\xa6\xac\x81\xc0\xb5\x18\x88\xfd\x71\x0a\xce\x42\x6f\x72\x11\x78\x42\xaf\x6d\x20\x67\x80\x86\x5e\x7b\x2e\x81\x27\xe7\xd2\x2a\x08\x3b\x85\xaf\x3f\xc5\x46\xbc\xee\xea\x49\xe3\x92\xeb\x38\x1d\x08\xa4\x59\xa8\x86\x3e\xb0\x04\x8e\xc1\xaf\xb4\xb3\x0f\xd6\x52\x42\x4f\x6c\x84\xeb\xf8\xfa\x73\xd6\x95\x2c\xc6\x5f\x61\x09\x1e\x83\x6a\xec\xc3\x02\x01\xf4\x75\x98\x0e\x4b\xe8\xae\x84\x2f\x3f\x28\xbc\x6b\x0e\xc4\xd4\xf5\x76\xec\x7c\x28\xdd\x2b\xbd\xa1\x20\x52\x84\x59\x14\x7e\x03\xa5\x78\x0e\x9f\xf0\x74\xf3\x93\xba\x5f\xcb\xfe\x24\x79\x81\x1f\x58\x2a\xa4\xb3\xf8\x08\xc4\xf8\x21\x7e\xc3\xd3\xe6\x56\xfe\xbe\x21\x8f\xe4\x21\x55\x98\xe3\x5a\x03\xa3\x58\x34\xe3\x63\xc1\x17\x6b\x78\x5a\x9f\x8d\x7d\xb3\x3f\x65\xa5\x7b\x79\xf4\x11\xd6\xb8\x66\xe3\x47\x6c\x9b\x6b\x9e\x60\xbb\xc7\xd3\x29\xef\x6e\x1f\x12\x32\x7a\x16\xf4\xc2\xf9\xb0\xc9\xf5\x2e\x4e\x80\x51\xae\x81\xd0\x76\x18\x86\x5c\x40\x1a\x8d\xb8\x09\x47\xa0\xca\x48\xc6\x26\x26\xc5\xc6\x56\x25\xd6\x71\xd0\x6a\x02\x3d\x04\xc0\xfb\xf0\x19\xc9\x0b\x09\x78\x16\xd6\x09\x39\xac\x8f\x4b\x55\x0c\x3b\x6f\x41\x7e\x87\x7b\xdb\xe9\x59\xad\xf0\xbe\xe3\xa5\xf0\x7e\x06\x6d\x94\x02\x87\xcc\x15\x21\xf1\x64\x24\x78\xb0\xc2\x2e\xac\x11\x41\x31\xd4\x10\xe7\x45\xe0\xf1\xe4\x27\x20\x38\x41\x21\xf4\x90\x08\xf7\xdc\x07\xce\x1b\xbc\xc7\xfc\x84\x1e\x6c\xe7\x63\x11\x7a\x8c\x19\x89\xde\xdc\x1c\x85\xf7\x1d\xb1\x0f\x8c\x95\x38\x64\x54\xa3\x12\x5f\x88\xc7\x4b\xe0\xc5\x7f\x29\xaa\xc0\xbf\x4f\x7f\x09\x8c\x95\xc0\x6d\x09\xbe\x80\x00\x51\x79\x5a\x29\xd4\x2a\x33\xb5\xb4\xd6\x92\xf9\x26\xdf\xd5\xed\x7f\xf3\x5d\x8d\x93\x40\x00\xbc\x10\x4f\x95\x80\xff\xb3\xae\x10\x4b\xa7\xdd\x19\x40\x8d\x51\x66\x64\xe4\x68\xd5\xac\x2b\x00\x3b\x88\x14\x95\x26\x31\x91\x4e\x28\x48\x2a\x57\xb1\x82\x9b\xa1\x2d\x2c\xce\x29\x66\xdc\x37\x66\xf4\x5f\xa4\x3c\xa4\x7c\x13\x5c\x8e\x76\xa1\xfd\x43\xa5\x1f\x8c\x92\x08\x76\xa0\x94\x5e\xce\x7c\xf8\x9b\xc2\x82\x0a\x0c\xc2\x18\x2c\x60\x60\x99\x12\x3e\x79\x01\xfe\x30\xfe\x36\x97\x02\x7d\x09\x4c\x9c\x80\xc3\x30\x02\x75\x34\xde\x84\x22\x2c\x82\x9b\x60\x81\x58\x18\x0f\x99\x77\x59\x61\xe9\x73\x0a\x03\xdf\xc7\x24\x61\x0d\x51\xad\x89\x2b\xd9\xc1\xb8\xd6\x88\x52\x41\x46\x08\x43\x41\xe6\x9a\x24\x0a\x86\x83\xc4\xcf\x9a\x7b\xdf\xfc\xd4\xb5\xca\xe5\xe3\xf9\xeb\x3f\x49\x62\xf5\x9a\x9c\x78\x93\xe6\x59\x67\x95\x6f\x78\x6e\x43\x6c\x33\x23\x44\x88\x40\xeb\xda\x4e\x24\x14\xec\x4c\xaf\xfd\x2f\x17\xbd\x1d\x64\xc4\x9b\xe7\xaa\x00\x68\xf7\xe4\x61\xbe\xf3\x29\xe8\xbd\x14\x44\x0f\x67\x1f\x2a\x07\x3d\xa6\xe1\xfb\x38\x10\x17\x93\xb8\x0a\x87\xa2\x6c\x70\x7f\x66\xde\xf2\x4b\xf0\xd6\x7a\x2e\x12\xba\x45\x82\x67\x24\x74\x23\xe1\xad\xb0\x90\x4b\x5b\x19\x6d\x54\xf2\xb6\xd5\xdc\xca\x2f\xcf\x1e\x3f\x7d\xe2\xcc\x31\xf9\xed\x2b\xe7\x9a\xdb\x72\x1f\xe7\x9f\x5e\x5c\x85\xbd\x6b\x50\x59\x3a\x3e\x7f\x1b\x89\xc4\xae\x5d\xcb\x9a\x98\x9d\xad\x6d\x5f\x1d\xe3\x8e\x76\xd4\x9d\xb3\xec\x23\xaf\xd8\x62\x9b\x97\x31\x31\x31\x59\xaa\x68\xee\x0c\xcc\x7e\xfe\x18\x86\xeb\x40\x94\x73\x66\x66\x16\x0e\x20\x41\x0f\xb1\x7e\x4a\xd7\xff\xf0\x10\x8f\x1b\x13\x7a\x83\x1d\xe2\x84\x00\x88\x93\xc6\x48\xf7\xea\x24\x8e\x80\xa5\x4a\xf4\x17\x0d\x50\xa2\x0d\x03\x31\x08\x2d\x29\x9c\x90\x0a\xdd\x25\xbf\x40\x77\x09\xcc\x5d\xa6\x44\xff\xf7\x25\x68\x81\x1e\x12\x08\xbf\x46\x0c\x87\x1e\x12\x69\x8c\xbb\xe4\x02\x08\x50\x8a\x04\x5f\xb8\x01\x37\x04\x5f\xce\xe7\x4d\x00\x38\xc4\x49\x64\xae\x37\xc1\xdf\xf8\x02\x5e\xc0\x42\x25\xbe\xc0\x17\xd1\xee\x09\xf4\x42\xa4\xed\xc2\xfb\xee\x0a\x65\xfb\x7f\x09\x08\x17\x06\x43\xc7\xbd\x32\xe8\xc0\x65\x5f\xc0\x80\x7b\xbd\x79\x05\xa9\x96\x16\x4b\xef\x3a\x3c\x04\x7f\xca\xf9\xbb\xe8\xab\xe2\x2f\x0b\x8f\xe6\x93\x10\xd0\x7c\xe5\x4a\x33\xdd\x3c\xff\x0a\x06\x34\xb3\xeb\xf2\xe7\x14\xce\x28\x26\x5f\xff\x2e\x3a\xf0\xc9\x07\xb5\xef\x32\x28\x9b\x5f\x2c\x09\xd9\xc0\x49\x8f\x24\x5b\x52\x72\xd3\xd9\xa9\x86\x25\x19\xa9\x74\xea\x85\x8c\xbb\x06\x56\x7a\x37\x27\x5d\x9f\x92\x4c\x6f\x28\x09\xa9\x60\xaf\xcc\x07\x99\xe8\xc5\xd3\xda\x03\x37\x38\xe7\x73\xb0\x52\xf7\x9b\x88\xf6\xa8\xfa\x0d\x81\x74\x60\xcc\x86\xcd\x51\xec\xc4\x26\xa2\xb9\xa6\xba\x65\x2f\xbd\x37\xa1\x25\xbc\x86\x95\x16\xbf\xfe\x03\xab\xa9\xcd\x33\x86\xc4\x0d\x60\xa2\x44\xbf\xb8\x82\x88\x96\xcb\x3c\xcf\x5d\xbe\xda\xdc\xdc\xcc\x35\x37\x83\x3f\xf8\x3f\x7b\x46\xf2\xcf\x9e\x81\x8c\x05\xed\x41\x88\xdc\xc7\xd3\x0a\xa7\x20\xf8\x53\x7f\xff\x16\xb7\xf9\x2b\xce\xc9\x8b\x78\x8c\xdc\x87\xda\x83\x2c\xca\x86\x3e\xe3\xb9\xa1\xcf\xd0\x1f\xfc\xc3\x9b\xc9\xe6\xf0\x05\xcd\xf3\x18\x7e\x1e\x1f\xc1\x0e\x77\x05\x11\x3e\x7e\xd0\x2a\x39\xa0\xf4\x52\x10\x7f\x3a\x4c\x54\x5a\xaa\x5e\x97\xc6\xe1\x84\x65\xef\xc2\x0d\x18\x75\x86\x38\x57\x79\xfc\xb3\x2f\xe8\x7b\x73\x2e\x4c\x49\x4b\x37\xe4\xa4\xb3\x38\x2e\x60\x05\x8c\x25\x2e\x26\x2e\x3b\xb0\x80\x99\x3c\x6f\xee\xe4\x54\x4b\xaa\x35\x8d\x3b\x83\xfe\x78\xf9\xdd\xe5\xe0\x4f\x5c\x4a\x0c\xd8\xbf\x80\x99\x34\xff\xbf\x9a\xd3\x38\x06\x47\xad\x20\x16\x27\x6e\x59\xb6\x90\x9e\xf4\xc5\xa7\xf7\xca\xca\x2c\xd6\x32\x16\x46\x9e\x79\x81\xd7\x70\xe4\x7f\x35\x13\x3f\x5f\x74\xbf\xbc\x3c\xd7\x5d\xf3\xc1\xe9\xb3\x38\x9e\x58\x54\x75\x36\xe8\x32\x73\xef\xca\x97\xdf\x94\xe9\xcb\x74\xa5\x5c\x00\x4c\x80\xcb\x2f\xcf\xe2\x87\xc4\xa2\xaa\x73\x41\x97\x99\x6f\xaf\x5c\xfb\xb6\xcc\xe0\xae\x59\x06\x93\x60\xfa\x45\xe2\x52\x75\xcb\x91\x2b\xf4\x77\x0b\x2e\x7d\xc8\x76\xb6\x62\x29\xf5\x2e\x5c\x83\xcb\xaf\x5e\xe0\x75\xc2\x47\x88\xbb\xd2\x15\x1e\x6e\x07\xbb\xd7\x0e\x49\xf3\xeb\xf6\x37\x6b\x7d\x3b\x3b\x44\x6f\xc2\xc9\xe6\x88\x77\xa6\x54\xc4\xef\x4c\xfb\x65\xfe\xef\x4b\x7f\x99\x4f\x86\x1d\xbb\x10\x72\x91\x81\x6f\x24\x17\x2f\xb4\xb5\x1c\xe3\x7e\xb9\xf2\xdb\x85\xa7\x5f\xd4\x96\x56\x57\x56\x56\x93\xa0\xf4\x5e\xbd\x78\x51\xd0\x76\x76\xf4\xe2\xd1\x4b\x47\x2f\x21\x63\xb7\x2e\x58\xb7\x8e\x59\xb7\xe0\x68\xdd\x56\x6e\xcc\x85\x91\x67\xc7\x5c\x24\x37\x35\x2c\xbb\x78\x86\x0e\x56\xb2\x8e\x0e\xd1\xb9\x03\xeb\x97\x77\xa5\xba\x6f\x87\xd0\x04\x05\xf1\x67\xbb\x27\xdf\x2e\xe8\xff\x11\xa2\x60\xb4\x10\xdd\xee\x05\x52\xf7\x73\xfb\x79\x98\x85\x65\x50\x80\xbd\x58\x97\x97\x53\x43\x6c\x1c\xba\xa3\x1f\x7a\xd1\x0a\x82\xdc\x4f\xfd\x1a\x76\x2d\xf2\x14\x1b\x74\x25\xf8\xf4\x65\xfa\xd6\x99\xab\x77\x58\x4b\x2e\x6f\x61\xa0\x17\x2a\x71\xde\x5d\x5c\xcb\x60\x0d\xaa\x91\xc5\xad\xa8\xe4\x2a\xca\x8d\x25\x0c\x7f\xdf\x04\x3d\x61\xa7\x04\x5a\x3a\x3b\x60\xb2\x60\xc2\x1e\x70\x9f\xe0\x37\xe7\x06\xe5\xb2\x9b\x2c\xd6\xcb\x07\xf5\x24\x48\x33\xef\x18\x79\x9a\xbf\x67\x82\x5e\x6e\xc1\xdd\x9d\x5f\x7e\x0d\x76\xa2\xf9\x55\xfd\xd7\xd7\x68\x97\xa5\x1f\x85\x29\x9d\xa3\x89\x84\x1b\x1d\xea\x3b\xcc\x8f\x0f\xcb\x1a\xee\x71\x06\x8b\x21\xd7\x98\x4b\x0a\x93\x9d\xd7\xa9\xdc\x58\xf3\xf6\x68\x7a\x4a\xe2\xd8\x20\xf4\x66\x51\xd5\x39\x91\x80\x64\x90\xc3\x70\xe0\x61\x2f\x0d\x74\x28\xf4\x5a\x04\xdd\xd8\xce\x71\x42\x2d\x05\xd3\x94\xf0\x95\x92\x53\x38\x06\x7b\xbb\xc2\x05\x42\x29\x84\x0b\xe1\xf0\xb9\xc4\x4d\x04\x99\x4b\xe6\x0a\x77\x85\xbb\xba\x28\xe7\x53\x2d\x50\x4a\xa8\x15\x0e\x40\x9d\x97\xf3\x16\x54\x49\xb0\x0e\xe5\x84\xc2\xb9\x57\xcc\x8b\xf1\x8b\xfd\x98\x01\x53\x60\x23\x0d\xcb\x21\x18\xc6\xc1\xfe\x93\x2c\x4c\x17\xbb\xe6\xae\xc0\xef\x31\x13\xf7\xd3\x78\x12\x5e\xa1\x41\xd8\xb8\x99\xe5\xc5\x50\x07\x32\xc2\x31\xca\xf9\x29\x85\x7e\x93\xb1\xcf\xb7\x38\xf1\x1c\x2e\xac\x91\xe3\x74\xf1\xcb\xa4\x67\xdb\xbe\x59\x87\x83\x26\xf8\x0a\x35\x28\x22\x7c\xa0\x09\xed\x6e\xff\x4d\x06\x39\x12\x4f\xb0\xa7\x4b\xbc\x9c\x01\x50\x25\x79\x1d\xe0\x92\x11\x91\x4a\x71\xe8\xee\xa8\x7d\xac\x82\x78\x25\xda\xb7\xbb\xb1\x95\x03\x19\xc8\x44\x0a\x87\x1a\xed\x54\xa7\x7d\xb1\x78\x6b\x44\x54\x28\x37\xff\x80\xf2\x8a\xb8\x35\xa2\x71\x2b\xbb\xd8\x61\x47\x7b\xa7\x1d\x65\xff\x4f\x2a\x52\x10\x93\x5e\x07\x50\x0a\x87\x44\xd4\xa5\x84\x32\x85\x58\x0d\x06\xa5\x5b\xcd\x47\x68\x0a\x54\x2a\xba\x7b\x78\x29\x44\x7f\x38\x16\x53\xae\x5b\x38\x97\xd0\xa5\xa6\x1a\x52\x99\xd4\x54\xb3\x35\x95\x73\xdd\x82\xb9\xc9\x78\x83\xc0\x7e\x5a\x38\x8e\x62\x78\xc9\xc0\x4b\x38\x5e\x29\xd1\x72\x82\xdd\x21\xa3\x4a\x32\x8b\x32\xac\xec\xeb\x17\xf0\x82\xc8\x31\xe9\x79\xbd\x5e\xcf\xe7\xf4\x78\xef\xf5\x0b\x7c\x41\x64\xe8\x32\x55\xe9\x74\xba\x5d\x55\xac\x63\xe1\x51\xff\x85\xfe\x91\xd8\x3b\x1b\xbb\xcb\xb7\xc6\xc7\x6c\x5e\x43\xaf\xdf\x19\xd4\x1a\xc7\x2e\x71\xcd\x32\x66\x5a\x32\xf3\xb2\xe4\x59\x6f\x3e\xf2\x04\x88\xec\xf6\x5c\x5b\x1e\x97\x67\xb3\xd8\x8d\xf6\x25\xc2\x2c\xdf\xd6\x9d\x3b\xf7\x1f\xa1\x8f\xc5\x1e\xd8\x5a\xc3\xe6\x03\x73\x00\xba\x9d\x3f\xe2\xf0\xc3\xcd\xbe\xb9\x46\x0b\x6f\xb1\x58\xf8\xdc\x1e\xef\x39\xdd\xed\x17\x5b\xed\x45\x25\xb4\x0f\x1c\x54\x3a\x46\xc2\x6a\x2f\xc7\x9f\xc2\xd7\x14\x74\x87\x8d\xd0\x1d\x36\xc0\x5b\xb0\xe1\x06\x74\xbf\x06\x3d\xee\x41\x37\x92\x17\xf3\xe2\xcc\xe0\x20\xdd\x56\x26\x24\xc4\x6a\x0f\xe5\x90\x46\x0b\x8e\xc2\x6c\x7c\x1f\x75\x38\x08\xf4\x38\x0c\xb2\xd1\x0f\x4c\xa4\x36\x64\x6b\x56\x30\x13\x1c\x92\x67\x0f\xe5\x60\x13\x7e\x01\x1f\xe1\x3d\xf8\x14\xbf\xca\xe8\x5c\xe9\x9b\xd7\xda\x6a\x6d\x65\xda\x5a\x75\xd9\x7b\xba\xd2\xa3\xb7\xc1\x03\x28\x17\xde\x82\x36\x4f\x1e\x8e\x78\x39\xec\x8e\x4c\x0a\xcb\x85\x39\x62\x24\x92\x51\x84\x51\x78\x9e\xc1\x52\x0c\x83\x48\xa8\x86\x6a\x70\xd3\x52\x18\xfc\xe7\xfc\x80\xf3\x1c\x6c\x85\x75\x04\xf4\x42\x1a\x67\x7e\x8d\x5b\x18\xd7\x14\x7c\x86\xcf\x5c\x53\x5c\x53\xe0\x19\x3e\x13\xa6\x08\x8b\xe0\x18\x5c\x15\xe6\x9d\xd2\xed\xcb\xda\xcf\x75\x6e\x13\xf9\x54\x43\xe3\x61\xe8\x07\xb3\x61\x30\x6c\xf5\x14\x5e\xc2\x6c\x88\x80\xd9\x5e\xce\x7b\x02\x41\x69\xf3\xd3\x79\xad\x96\x0c\x0e\x9e\xaa\x0a\x60\x02\xa6\x14\xed\x0d\xe1\xde\xb0\x32\x33\xf9\x74\xbb\x96\x5c\x7a\x1e\xba\xe9\x9a\x99\x66\xe8\x66\x3d\x7f\x9e\xb3\xe7\xf3\x25\x99\x76\x12\x2f\xc1\x5c\xea\xe4\x96\x03\x81\xab\xb7\x6c\x59\x1d\x78\x60\xcb\xc9\x13\x07\x0e\x9c\x60\x05\xae\xcf\xc9\x2d\x07\x56\x07\xbe\xe1\x9d\x38\xe9\xe6\x41\x2e\xf4\xa0\xd6\xc6\x6c\x09\x4a\x64\xad\xc9\xe6\xc4\x24\x1a\x97\x62\x18\x0e\xc7\x72\x2c\xc3\x30\x18\x0e\x4b\x2b\xcd\x95\xb9\x15\xec\x96\xaa\xe8\x03\xc7\xe9\x6b\x67\x4e\x5f\xdb\xb3\x3b\x3d\xae\x86\xbd\x7f\x0e\x3c\xda\xa0\x87\xf5\x06\x5c\xf5\xb5\x14\x16\xe6\x17\xea\x61\x7b\xa0\x6f\x63\x69\x53\x75\x2b\x73\xf2\xc0\xe6\xc0\xc0\x2d\x9b\x57\x07\x6e\x39\x70\x82\xc3\xb5\x47\x16\x60\x1b\xbc\x9d\x03\x9e\x21\xf7\x97\xc9\x6b\x6a\x9a\x4a\xf6\x30\xd7\xce\xac\x98\xcb\x81\x33\x92\xca\x95\x8c\x54\xb2\x3e\x70\x7f\x2f\xbc\x0d\xc3\x41\x06\xb3\x61\x38\x5c\xf2\xe4\xe1\x12\x84\xc3\x70\x58\x00\xc3\x21\x1c\x2e\x79\x39\xa7\x09\x43\xa9\xac\x7c\x15\x9f\xa5\x25\x23\x22\xe6\xa8\xd7\x32\x6b\xe7\x14\xee\x8e\xe0\xde\xb0\xb2\xb2\x78\x95\x2d\x8b\x0c\x3c\xf1\x34\xa7\x81\x69\x78\x9a\x7b\xe2\x04\x67\xb3\xf1\x45\x59\x36\x12\xcb\x60\x24\x05\x16\x09\xfc\xd4\xc7\x7d\x0c\xff\x87\xda\x12\x17\x1a\x96\xc2\xe6\xa6\x9a\x53\x53\x68\x1c\x8f\x0b\xd0\xd7\xed\x6b\xe0\x7c\xf0\x85\xf1\x65\xe6\x72\x4b\x29\xbb\xad\x7c\x47\x6b\x3b\x7d\xee\xe8\xd1\xf3\x8d\xbb\x54\x89\x95\xec\x8d\xe3\xbf\xec\xfe\x27\xf7\x12\x54\xfb\x9a\xed\x76\x5b\x81\x1e\x96\x6c\xf2\xdd\x55\xbc\xab\xbc\x89\x39\xd8\x1a\xba\x69\x53\x68\xe8\xa6\x4d\xdb\xf6\x1c\x34\x72\x38\x6d\xff\x72\xcc\xf9\x47\xff\x34\xe2\xe6\x1a\x79\x65\xe5\xae\xa2\x06\xe6\xfc\xd1\x75\xcb\x38\xb8\x24\x04\xfa\x29\x03\x95\xd0\x01\x43\x7f\x81\xc1\xbf\xc0\x90\x5f\x60\x08\xfc\xe8\xe5\x78\xe5\x58\x48\x2d\x6a\x20\xce\x88\x77\x25\x54\xc7\x6e\x4f\x48\xd8\xce\x62\x8b\xd8\x6f\xf4\x58\x3f\xf4\x1c\xf3\x18\x3c\x59\x9e\x37\xc1\xdb\x34\x0c\xc5\x1e\xa2\xed\x55\x09\xbb\x76\x55\x57\xef\x62\xa1\x4d\xfc\xf2\xc7\x07\x2f\x5f\xfe\x38\xae\x1f\xbb\x50\x0c\x39\x18\x4b\xa1\xe7\x18\x7f\xf4\x40\x8f\xd1\x8f\x5f\xb1\xf0\x8e\xf8\x52\xf4\x8f\xbb\x08\x7c\x47\xbc\xbd\x3a\xa1\xee\x8d\x4a\x6f\x18\x22\xc6\xb7\xbb\xa2\x80\x7e\x04\x96\xf2\x93\xc0\xe0\xe1\x0a\xe2\x98\x27\x0f\xf7\x61\x23\x7c\xfb\xef\x7e\xdf\xcb\x79\xcc\x71\x95\x82\xbe\x9f\xc2\xca\x0b\x04\x28\xc4\x90\x8a\x2b\x61\x21\xa6\x63\x1a\xae\xc2\x05\x98\xcc\x76\x7a\x88\x97\xae\x5b\xbf\x6c\xd9\xba\x23\xe7\x59\x28\xc5\xfb\x62\x2c\xe3\xf5\x3c\x8b\x1a\x08\xc0\x00\xd0\x80\x0a\x56\xc0\x12\xc8\x60\x05\x41\x7c\xee\xe8\xd1\x73\xe7\x8e\xae\x5b\xc6\x0a\xf5\xf8\x0b\x85\x0d\xe2\x65\x6f\x14\xcf\xb1\xb0\x53\x8c\x2b\x97\x60\xdf\xcf\x09\xac\x16\xa3\x0a\x96\xe3\x52\x50\x83\x06\x02\x20\x00\x34\x2c\xcf\x5b\xa0\x8c\xf6\x41\xd9\x95\x38\xe5\x15\x4f\xde\x7d\xf4\x52\x10\xa7\xc1\x9f\xc2\x9e\x83\x06\x61\x4f\xd6\x15\xe7\x08\xe8\x0c\x10\xe2\x44\xd0\xf3\xcf\x3f\xa1\x27\x2b\xc4\x75\x06\x38\x02\x5c\x71\xa2\x2b\xce\x00\x3f\x25\x34\xed\x82\xf1\xdf\xc1\x04\x81\x80\x09\xfc\x77\xbd\x79\xd8\x04\xef\xc0\x46\x81\xe8\xa2\x9b\xbe\x83\x8d\x6e\x22\xfd\xf3\xb4\x74\xbd\x07\xdc\x57\x78\xff\x44\xe1\x7e\xbc\xdf\xb9\x50\x68\x74\x86\x8b\xa5\x11\x1e\xb8\xb1\xf3\x12\xdc\x94\xc0\x7e\x98\x40\xc1\xa6\xce\x85\xb8\x49\xe4\x0c\xf7\x86\x4d\x22\xe9\x4a\x0f\xdc\x88\x9b\xc4\x70\xe0\x43\xaa\x73\xa1\x58\xfa\xe4\x34\xdc\xff\x10\xef\xe3\x78\xa1\xc9\x39\x53\x84\x9b\x5c\x4d\x6e\xb5\x03\x30\x81\xea\x5c\x08\xf7\x3e\xc4\x7b\x38\x5e\x68\x74\xce\x14\xff\x5b\xe3\x83\xb2\x1f\x1c\x3d\x2b\x05\x01\xe6\x78\xf2\x70\x14\x42\xc0\x17\x42\x60\x0d\x44\x43\xad\x97\x73\xb7\x50\x4c\x3d\x82\xb5\xca\x87\x1c\x3e\x13\xa6\x53\x0f\x61\xad\xf2\x11\x27\x5c\x74\x7d\x44\xe1\x6c\x64\x70\x00\x4e\xdc\x18\x94\x57\x1c\xca\xe2\x66\x31\x86\x6c\x26\x1c\x3d\xc5\xf7\x72\xef\xb4\x9d\xfb\x7c\xef\xfe\x5d\x47\x4b\x4f\x91\xe6\xe2\x62\x53\x31\x03\x13\xc1\x2d\x3a\xdb\x6d\x63\xda\x7f\x8a\x93\x36\x05\xd9\x8a\xfe\xb7\xe2\x7d\xf8\x54\xbc\xf3\xd0\x89\xe2\x13\x0c\x4c\xfa\x57\x5a\x70\xc2\x1c\x3f\x25\x54\xd9\x12\x0e\x95\xc1\x08\xe8\x03\xe9\x87\x2d\x97\xc1\x06\x7d\x7a\x0b\xc7\x60\x3c\xfc\xd5\x96\x05\x7d\xa5\x37\x3d\x14\xde\x17\x85\xe7\x94\xb1\x3a\xe7\x18\x48\x96\xe4\xc3\x5b\xf2\xd5\xb1\x04\x8c\xf9\x64\x7f\x13\x06\x32\xab\x36\x65\x6b\x56\x71\x96\x24\xf7\x8d\x63\x83\x6a\x73\x44\x38\x7b\x3d\x89\xc8\x56\xe7\xa8\x55\xb4\xb4\xa7\x7a\x26\x0c\xbe\xec\x47\xcf\x47\x19\x0e\x58\x10\x8d\x63\x60\x66\xab\x89\x35\x95\xc1\xbc\x03\x44\x55\x6e\x51\x79\x25\xbd\x33\xb1\x2c\x3e\x03\x95\xe1\xba\x78\xb6\x22\x2b\x69\x77\x3c\xa3\x56\xab\xf5\x6a\x4e\x3a\x44\x1d\x9e\x39\xcd\xd8\xb2\xc8\x95\xd2\xcf\x37\x29\x47\x95\x9c\x44\x27\x54\xa6\x54\x37\x08\x33\xfe\x28\x3e\xc7\xda\xd5\x36\x75\xa1\x96\x5c\x7d\x13\x58\x34\x5f\x60\x1e\x80\xe4\x9b\xeb\x47\xb9\xc2\xd2\xe2\xc2\x4a\x83\x79\x0d\x7a\x7f\xac\x0b\x23\x73\x22\x4d\xa1\x11\x74\x1a\x9f\x6a\x4e\x65\xb3\x76\xd6\xea\xeb\x98\x2f\xaf\xd6\x18\xbe\xe4\x4a\x3b\x6a\x3a\xf4\x77\x8c\x2d\xbe\x3a\x78\x2b\xac\x74\xc2\xcd\x9c\x5c\x9d\x35\xc7\x9a\x97\xeb\x5b\x60\x26\xe0\x73\xf4\xee\x94\xe2\x58\x08\xe0\x80\xfc\x0c\x94\x47\xc0\xe3\xcb\x81\x3f\x7c\x78\x73\x16\xbc\x85\x12\x08\xc4\xf7\x20\x0c\x8b\x35\xe4\x25\x50\x51\x36\x6b\x65\x71\x11\x2d\xed\xe5\x51\xbe\xb9\x51\xb7\x87\xdd\x5f\x75\xc2\x74\xa8\x00\x34\xe7\x61\x32\x48\x5f\x42\x6c\xf5\xe1\xaa\xa3\xe6\x13\x59\x99\xbe\xef\xe3\xcc\xd4\x75\x38\x19\x65\xe8\x35\x0e\xfb\x04\x60\x9f\xd5\xa4\xb4\xa7\x3a\xde\x44\x7c\x2d\x56\x19\x03\xf5\x69\x97\xb6\xd5\xca\xe7\x7d\xb4\x7e\xd6\xb0\x90\x0d\x29\x3b\x92\xe3\x37\x93\xcd\xd7\xbf\x2a\xbc\xc3\xdc\xde\x6d\x51\xd7\x72\x3b\x35\xe5\xf1\xfb\xd7\x93\x52\xc2\x03\xb7\xbf\xfe\x80\xaa\xc5\x51\x44\x56\xfb\xc1\x9c\x83\xcc\x83\xef\xca\x1a\xbf\xe1\x5a\x53\xe6\xc1\xa8\x30\x66\x2e\x8e\x0a\x0b\x09\xe0\x50\xeb\x60\xa8\x07\xb8\xad\xe3\x38\x21\xed\xa9\x46\x4f\x98\x45\x08\xab\x5d\xbb\xa8\x74\xd1\x42\xd3\x27\xa9\x0b\xb3\x6c\x1b\x7d\x77\x5b\x61\x7a\xc5\x2e\xda\x6a\xc8\x33\x5a\x59\xd7\x3a\x07\x49\xd9\xd4\x6a\x4b\x06\x13\x97\xa0\x36\xc4\x71\x79\x29\x04\x1c\x76\x39\xa9\x61\xe2\xf6\x22\xcd\xf7\x84\xe3\x0f\x05\x71\x8b\x32\x89\x8d\x62\x5e\xcc\x7b\x1b\x72\x8c\x7a\xb3\x99\x30\x59\x29\x93\x89\xf0\xc1\xcc\xef\xcf\x40\xef\x79\xd7\x81\x80\xb7\x7a\xf3\xf0\x48\xe1\x9d\x71\x5a\x5a\x27\x3d\xaf\xf0\xce\x5d\x4d\x99\xb3\x2c\x1a\x95\x8a\x94\xd6\x69\xb5\x53\x96\x8f\xc8\x1c\xa9\xc5\x9e\xd9\x33\xae\xab\x8a\x72\xcb\xf3\x6d\xa4\xcd\x9e\x67\x2d\x64\x0a\x0c\x7c\x8e\x95\xdb\xbe\xe7\x54\x1c\x78\x30\xe0\xf1\xf5\xee\xba\x3d\x9c\xb4\xa3\xac\x28\x4f\x63\xce\x22\x83\x40\x4c\xd9\x52\xb2\x34\xe9\x59\xaa\x6c\xa3\x45\x55\x43\xd6\xa8\x34\x35\x8b\x99\xc5\x49\x09\x71\x51\x5c\xf4\x0e\xb5\x56\x53\x4c\x4a\xeb\x34\x25\x96\xe2\xca\xf2\xca\xf2\xa6\xfa\xc6\x22\xb2\xa8\xb1\xd4\x50\xcf\xd4\x37\x1a\x32\xaa\x38\xe9\x89\xaa\xf4\xa2\x48\x5b\x0a\x09\x00\x7b\xa8\x15\x29\x1f\x6c\x59\xc4\x6e\x5e\x1c\x1b\xbf\x26\xf7\xd3\x5c\x7c\x1b\x96\x4d\xb1\x90\x96\xc1\xb8\x0d\x83\x70\x32\x33\x30\xa2\x64\xe7\x36\x4e\x5a\xb7\xaa\x75\xc7\x59\xd3\x57\x66\xf0\x85\x77\xa0\x27\x8c\x34\x41\xa0\x19\x94\x18\xf8\x87\x99\x34\x3d\x84\x71\x30\xf1\x1e\x23\x6d\x79\xb8\x73\xcc\x4a\xce\x7d\x23\x12\x96\xe3\x43\xd8\xb0\xbc\x85\x1d\x7d\x6e\x5c\xcd\xb8\x73\x2b\x5b\x67\x3e\xfc\xb4\x83\x94\xd6\xa9\xb1\x7b\xe8\x9a\x4d\x61\xe3\x66\x2f\x4f\x98\xbe\x85\x5c\x10\x86\xbf\xe0\x7a\xd7\x1c\xda\x35\x57\xf0\xc2\xaf\x84\x61\xc2\x50\x78\x05\x27\x84\x00\xd6\xa7\x06\xc2\x1c\xad\x10\xee\x09\xef\x43\x98\x63\x0f\x84\x79\x39\xcf\x0a\x5b\x28\x1c\x0a\xc3\x70\x2c\xfa\xe3\x50\x1c\x16\x19\x19\x18\x38\x89\x0f\x3c\x21\x0f\x3c\x69\xbc\x77\xf2\x44\x61\xa1\xaf\xbb\x56\xa5\x1a\x33\x26\x12\x7b\x36\x22\x21\x1f\x99\x30\xe7\xc3\x21\x34\x8a\x7e\x1e\x01\xc4\xef\xdf\x5d\xff\xb9\x9a\x05\xef\x68\x78\xa7\xe9\xc9\xe3\xa6\x26\x5f\x18\x0a\xc3\xdc\x1e\x1c\x81\x4f\x1d\x53\x29\xff\x47\xf8\xf6\x6e\xf4\xda\x4e\xfe\x96\x3a\xfe\xce\x7b\x0c\x12\x23\x46\xa0\x68\xf0\xf5\x0f\x7f\x4e\xe4\x42\xb1\x7b\x03\xf6\xfd\x79\x64\x53\xa4\x2f\x2f\x86\xa1\x38\x0c\xc6\xa2\xbf\x5b\xdb\xed\xcb\xe1\x30\x18\x16\xd5\x18\x78\x82\xbf\x7f\xe2\x84\xfc\xc4\x89\x7b\xfc\x89\xc0\x22\x95\x2f\x0c\x83\x61\x84\xa3\xed\xf5\x01\xea\xf9\xd4\x87\x83\x4a\xd8\x06\xf0\x8e\x80\x77\xfc\x1f\x47\x35\xf9\xba\x15\xde\x28\xe2\x30\xf0\x47\x7f\x18\x86\xc3\x9a\x22\x4f\x04\xf2\x93\x02\x03\xe5\x6f\xc6\xa3\x2a\xf2\x75\x0f\xaf\x50\xf5\xf3\x08\x90\x47\x03\xd9\x26\xe7\xc5\x1f\x54\x7e\xff\xf1\x9f\x0c\x10\x3f\xff\x0c\x22\xce\xe0\x14\x28\x10\x8d\xf8\x19\x89\xfe\x63\xa7\x0e\x4a\x67\x91\xdc\x83\x7d\xa2\x46\x8e\x8c\x8a\xf4\x75\x9b\x75\x5f\x1f\x82\x17\x43\x57\x0b\xe0\xef\xee\x4c\x53\xd3\x9b\xbe\xc9\xdf\x34\xa4\x52\xf9\xba\x07\x52\x54\xf4\xd3\x4f\x8d\x40\x85\x81\x58\xfe\x67\xc9\x37\x8f\x9e\xd3\x3e\x68\xdf\xe7\x1c\x7a\x0c\x24\x57\x3d\xf9\xfd\x8e\x79\x87\x85\x9b\xfb\xbd\x1c\xef\x0a\xeb\x29\x73\xbe\xfa\x68\xb6\x39\xdb\x8c\x6f\x9d\x4c\xc9\x4f\xb7\x6d\x2b\x49\xb5\x1d\xb9\xd9\x70\x3a\x37\xdf\x56\x7a\xfc\xa9\xc9\x6a\xca\x33\xd5\x18\xad\x46\x6b\x8a\x66\x87\x96\xdc\xa1\x5d\x1f\x99\xac\x4f\xc9\x59\x96\x10\xa5\x89\xd2\x2c\x4f\x8d\xcf\x8e\xcf\x4e\x34\xaa\x72\x48\x53\x4a\x6e\x36\x4f\x5b\x74\x45\x19\xc5\xfa\x92\x9c\x9d\xa6\x02\x4b\xa1\xb9\xc2\x6e\xce\x35\xe7\xea\x8b\x72\x73\x73\x2d\x67\x8b\xab\xf2\xaa\x6d\xdf\xd6\x17\x18\xf5\xaa\x05\xd8\x3b\x61\x2b\x99\xb8\x15\xdf\xc2\x89\xb1\x51\x89\x71\xeb\x96\xa6\xaa\x72\x0d\x8d\x16\xab\xa5\xa5\xfa\xcc\xf5\x8a\xea\xcf\x3e\x3f\x7a\xb5\xed\x2c\xc9\x8b\x6d\xfa\xf3\x6b\x4b\x35\xa5\x9a\x8b\x61\xc5\xd9\xc5\xba\x13\x71\x66\x1b\x89\x9b\x84\x14\xaa\x58\xaf\xcd\xd5\x30\x1a\x63\xa4\x36\x4d\x97\x9e\x13\x91\x99\xa1\xcf\xd0\x47\xe5\xe6\xe4\xe6\xe4\xda\x43\x8b\x32\x6a\xe2\x2b\xf4\x76\x23\x59\x55\x97\x97\x57\xca\x95\xe6\xd5\x15\x17\x54\x9a\x73\xad\x36\x7d\x39\xe9\xf8\x14\x29\x6a\x1a\x2e\x04\x6e\x13\xa1\xc0\x48\xd7\x4d\xca\x59\x26\x76\xcc\x83\x74\xe2\x75\xb9\x58\x38\xfc\x90\x0a\x06\x06\x43\xae\xae\xc7\x6e\x03\x76\x43\x84\xd0\xf2\x67\x04\xcc\xed\x1c\x40\xb8\xfe\x76\xc6\x53\xc2\x4d\x58\x45\xb8\x7a\x8a\xb1\x54\x81\x66\xea\xd0\xcc\x88\x94\xa8\xa4\xb0\x34\x79\x20\x8a\xc6\xa5\x62\x2f\x66\x20\xf6\x6e\x3f\x32\x8a\xcb\xcb\x58\xdb\x98\xc9\x68\xb4\x5a\x75\x96\x39\x27\x4f\xc7\x7d\xfa\x00\x96\x2f\x78\xc9\x3c\x10\x35\xb6\xe4\xe5\x35\x72\xbf\x96\xfd\x79\xe0\xfe\x67\x07\xe6\xfa\x9e\x01\x7f\x02\x0e\x39\xef\x52\x38\xe8\x18\x21\x8c\x13\x17\x67\xe6\xab\x33\x3b\xbb\x61\xb8\x21\x8b\x75\x9d\x85\x40\xc2\x25\x13\x8f\x8b\xfa\x34\x51\x6f\xcc\x36\x68\x0d\xd9\x59\x06\x83\x51\x67\xd4\x93\xaf\x2f\x8b\x8d\x26\xa3\x91\xd6\x5a\x6c\xba\x7c\xa6\xc0\xb1\x09\x74\xb6\x32\x8e\x37\xf1\x8e\x12\x34\xb2\x5d\x90\x6f\x71\x6e\xb7\xcb\xbd\x41\x1c\x1c\xef\x82\x7d\x85\xf6\x2e\x46\x3b\xc8\xbc\xa0\x1d\x3e\x57\xa2\xec\x4d\xf6\x55\x90\x05\x4a\x9c\x1d\xc0\x29\x15\xc4\x46\x1c\x4f\xc1\x78\xf1\xe9\x88\xaf\x82\xf7\xb2\xee\x59\x4c\xec\x0d\x9e\xb1\x7b\x05\xd3\xe9\x7f\x45\xa2\x70\x7a\x84\x28\x1d\x2f\x44\xf3\x95\x9c\xc3\x2e\x7e\xba\xf2\xfb\x69\x87\xd9\xce\xb8\xd7\xdb\x67\x29\xc1\xde\x29\xfb\xef\xf8\x0c\xec\xd4\x6b\x99\xdb\x75\x42\xff\xef\x94\xe0\x2f\xf2\xd1\x4b\xc0\x0e\xf6\xae\x14\xf3\xe5\x12\xa1\xa7\x04\xca\x25\xd2\xcf\xfe\x52\x10\xd3\xa1\xea\xff\x48\x76\x3d\x52\x72\x40\x99\x24\xe9\xec\xc0\x76\x6a\x86\x52\x3a\xa3\x7a\xfe\x29\x09\x06\x78\xaf\x90\x48\x47\x9d\xfe\x48\xf9\xe6\x64\xc6\xff\xa2\xd2\x0d\x0f\xdd\x45\x19\xfe\x8b\x8b\x35\xff\x0d\x2c\xd6\x95\x37\xa8\x58\x57\xde\x80\x62\x41\x80\xf7\x87\x12\xc1\xae\x70\x9e\xa6\x26\x29\xa1\xc3\xfb\x43\x89\x74\xea\x48\xb0\xbf\xee\xf8\xff\xd2\xf1\x71\xa9\x30\x4b\x21\x5a\xec\x29\xc8\xba\xbe\x3c\x7a\x29\xbc\xeb\x9c\x31\xd4\xde\x7d\xfc\xa5\xe0\x7d\x5b\xf7\x2e\xe2\xb7\x06\x63\x12\x26\xf9\xba\xbc\x45\x98\x04\x49\x6f\x38\xf2\xe0\xad\xfc\xa2\xbd\x5b\xe1\x08\x1e\xf1\xed\xbc\x0a\x1f\x2b\x05\xd9\x15\x97\x0c\x3e\x56\x3a\xae\x8a\xe1\x08\x1c\x21\xf0\x2e\x4c\x48\x93\xf8\xf8\x05\x2a\x0f\x28\xbd\x1c\xd5\xce\x13\x14\xf8\x0d\x81\x8d\x38\x1e\xa9\x25\x28\x47\x6f\xf4\xfb\x1d\x37\xc2\x38\xa0\x2e\x80\x1c\xbc\x59\xfc\xd5\x95\x48\xc1\x00\xec\x0e\xab\xd1\x1f\x3d\x57\x0e\x18\x82\x03\xa0\x3b\xae\x02\x7f\xe8\x76\xea\xaf\xdf\x58\x81\xad\xa7\xd0\x80\x0f\xf0\x05\x6a\x90\x78\x14\xf6\x1b\x07\x03\x40\xf4\x03\xd0\x20\x03\x8f\x51\x40\x33\x7f\x3f\xaf\x02\x29\xa8\xf1\x01\xbc\x44\x03\x07\x5a\x08\xa1\x60\xdc\xef\xb0\x11\xfc\xc0\x7b\x09\xc8\x91\xc2\xf1\x43\x70\x23\xfa\xa1\xf7\x05\x94\x03\xc5\x09\x1f\x3f\xa7\xd0\x1f\xbb\xe3\x6a\x1c\x30\xe4\xd4\x40\xe8\x06\xfe\xd0\x1d\x56\xc1\x80\xdf\x56\xfe\x8d\x9e\x9c\xcf\x6b\x15\x70\x92\x2b\x0e\x99\x97\x23\xc0\x99\x45\x81\x1d\xfb\x43\xdd\x9b\xaf\x53\x58\x87\x76\x5c\xfb\x18\xfb\x82\xcf\x1a\x76\x7d\xe7\x17\x44\xa8\xa1\x3e\xaa\xd5\xed\xec\xb6\xd6\x37\xb6\x1a\xb8\xf5\x8e\x2f\x08\xf0\x39\xfe\x18\xfa\xc2\x5a\xda\x3d\x3b\x0f\x28\x3d\x79\xa0\x15\x44\x0a\xc8\xbc\x9c\xb2\xe1\x94\x23\x4b\xec\x90\x41\x3a\xd1\xd9\x53\xdc\x19\x20\x14\x53\x9d\x9f\x82\xcd\xd1\xb5\xa3\x8d\x00\xda\x40\x9d\xd9\x76\x7c\x75\x05\xdb\x19\x00\x76\xc2\x9a\x9e\x66\x49\x63\xd2\xd2\xf4\xba\x74\xae\x33\x00\xed\xc4\xea\xe4\x6d\x6b\x96\xd3\x9d\x76\xf1\xda\x5d\x1b\xdb\xe3\x59\x47\x80\x4b\x46\xa8\x2b\xab\x75\xd5\x4c\x75\xb5\xb5\xb0\x92\x73\x04\x08\x32\xa2\xbd\x66\xd7\xa1\x63\xb4\x8f\xd0\x64\x4b\xf0\x14\xec\xc0\x08\x6f\xc3\xdf\x12\x87\x6c\x28\xf8\x4a\x1c\xd3\x3b\xc5\xe0\x2b\xe9\xfc\x05\x7a\x50\x50\x25\x16\x64\x30\x81\xc0\x4a\xb1\x2b\x00\xc2\x28\xd7\x42\x58\x22\x74\xed\xb8\x84\x70\x30\x9d\x2b\xa9\x53\x91\x47\xd7\x54\xb3\xae\x4f\xe0\x53\x42\x78\x4f\x7c\x2a\xe2\xe8\xda\x6a\xd6\x15\x00\x01\x84\x2d\x35\xc5\x92\xc2\xa4\xa4\xe8\xb3\x52\x39\x57\x00\x06\x10\x6b\x13\x22\xd6\xad\xa2\x5d\xef\x89\x5d\x9f\xe0\xa7\xff\x9d\xf9\x8b\xd7\xd4\xaf\x3f\x9c\xc0\x0a\x01\x18\x47\x40\xb1\xc4\x62\x32\x9b\xcc\x66\xb9\xd9\x60\x36\x5a\x8c\x6e\xa6\x2f\x14\x4b\x88\xc3\xd5\xf5\x47\x8e\xd3\x3e\xd0\x64\x80\xc5\x38\x01\xc2\x60\x1e\x8c\xb6\xc1\x52\x03\x2c\x79\x05\xe1\xbd\x79\x68\x12\x56\xc0\x4e\x8c\x86\xa6\xef\x20\x57\xda\xea\xa1\x10\x4f\x50\x78\xef\xa1\xb0\xa7\x2b\x1f\x7a\x8a\xa1\xc8\x35\x95\x82\xde\x97\x67\xe0\xdb\x85\x9c\x6b\x98\x08\x7a\xe4\xdf\xbb\x03\x3d\x98\x32\xd7\x77\x14\x0e\x9a\xfa\x08\x06\x72\x8e\x81\x22\x53\xa9\xa9\xac\x8c\x86\x9d\x38\x1a\xe2\x71\x3f\xee\xc6\x25\xb8\x15\xeb\x71\x2f\xcc\xc6\x95\xd0\x0e\x51\xd0\xef\x77\xd8\x7a\x9d\xc5\xed\xa2\x29\x3b\x06\x6f\x9e\xc6\x28\x9c\x5f\x9c\xa4\xa4\x2b\xd4\xf0\x27\x9c\x15\x4b\x57\x7a\x80\xcf\xdd\x55\x48\xa1\x74\xc4\x16\x24\x38\x3c\x21\xec\xa1\xe0\x18\x14\x8b\xa5\xd3\xd5\x7f\xfe\x18\x8d\xa4\xdf\xac\x8d\xef\x73\xae\xb3\x42\x1e\xa5\x40\x99\x00\x62\x48\x86\x70\xe8\x06\x76\x18\x3d\x1d\xba\xe3\x88\xc3\x1c\x10\x67\x2e\x7e\x07\x52\x5a\xba\x67\x3a\xe4\xe2\xa2\xcf\x31\x82\xf5\x11\x7c\x21\x12\x3f\xba\xf5\x07\xf8\x98\x60\x41\xee\xdd\x2e\xc4\x87\x19\xd0\x8a\xad\x70\x0d\x66\x9c\x12\xbe\x04\x99\x34\xe2\xf4\x0e\x49\xa7\xc6\xe5\x45\x01\x03\xdd\xb7\xe2\xa8\xc9\xc1\xab\x66\x6d\xe3\x9e\x45\x1f\x9b\xf9\x3e\x8d\xfe\x48\xcf\xc6\xfe\xac\xab\xb7\xa3\x41\x04\x7f\xe3\x2d\xea\x8b\xc3\xf5\x5f\x76\x2c\x2d\x5f\xc8\xb9\xdd\x5b\x11\x2c\xc4\x27\xd4\xad\xf3\xb5\xf7\xee\xad\x69\x99\xc6\xe1\x12\x8c\x14\x39\xbe\x0e\xa7\x8e\x7d\xbe\xeb\x78\x29\x07\xac\x08\xfb\x6c\x1a\xf3\x29\x2a\x19\xa9\xcd\x03\xe7\xa0\x37\xbc\x0d\x9f\xc0\x34\x78\x0b\xfa\xc2\x0c\x98\xfd\x07\xf6\xc3\xc9\x1a\x5e\x63\xd4\x70\xae\x11\xa2\x91\xc7\x97\xff\xcc\x4a\x35\x1e\x1a\xa1\x1b\x35\x7d\xf5\xda\xe9\x3a\x0e\x6c\xa2\x3b\x59\x41\xc7\xa6\x30\x52\xbf\xe9\x38\x0e\x2a\xa9\xa9\x70\xfb\xae\xd8\xa7\x1a\x65\x3f\x0a\xfa\x1f\x97\xc3\x10\xe1\x15\x0c\xe9\xad\x10\x85\xc1\x10\xe9\x11\x85\x68\xb8\xf3\x53\x0a\x18\xec\x06\x9e\x48\x23\x83\x9e\xe8\x89\x0c\x32\xe0\x89\x9e\xc0\x00\x0d\xdd\xc0\x13\x18\x56\x7a\xb7\xb3\xb0\x33\x85\x42\x0e\xbd\xd0\x0b\xb9\xa1\x13\xce\x7c\xbb\x89\x95\x1e\x69\x4f\x6d\x4f\x69\x4f\xfd\x7b\x13\x90\x27\xdb\xff\x6e\xff\x7b\x35\x88\x07\xb4\xf7\x3f\xe8\x9b\x5b\x51\x61\xae\x60\x80\x83\x2e\x61\xce\x71\xcb\x91\x4c\xe1\x14\x54\xa2\x02\x27\xbb\x69\x57\x74\xd1\x64\x50\x82\x12\xa6\xb0\xd2\xbb\xee\x22\x2a\x71\x32\x07\x43\xfa\x48\x8f\x40\x2e\x6e\x84\x8d\x98\x8b\x16\xdc\x88\xeb\xd1\x6c\x60\x71\xaf\x6b\x28\x61\x52\xab\x4c\x2a\x66\xc1\xe2\x94\x88\x55\x9c\x4b\x0e\xa3\x08\xd7\x0c\x31\xa4\x8c\x20\xa4\x77\xf1\x83\x16\x50\xa2\x18\xc6\x31\xf0\x31\x0c\x04\x06\xa6\x97\x71\xc2\x5c\xb8\x4d\x40\x2e\x6c\x84\x0d\x60\xed\x7a\x69\xe4\x7f\xeb\xac\x90\x76\x52\xe8\x73\x0c\xde\x02\x7f\x4f\xe1\xe6\x45\x98\x79\x42\xe8\xeb\x3e\x93\x79\x29\xbc\xbf\x75\xbe\x4d\xf9\xf9\xc3\x5f\xca\xc7\xfe\xfd\x58\xd7\x2b\xd7\x43\x0a\xba\x8d\x79\x82\xdd\xd2\xd3\x0c\xfa\x0c\xf6\xbb\xb0\xfb\xe1\xfb\x47\x84\x4f\x92\x87\x4d\x1c\x11\x34\xa9\x39\xac\x24\xbc\x38\xac\x98\x5c\xd0\x72\x6d\xe3\xd7\x0c\x74\x7b\xf2\x04\xba\x71\x4e\x85\xe3\x12\x35\x44\x02\x1b\x95\xae\x50\x31\x9c\xc4\xb7\x88\xda\x03\xc7\x8a\x4f\x32\x05\x76\xde\x68\xe7\x20\x1e\xee\x10\xb0\xda\x0c\x63\xc1\x1f\x56\x33\xb0\x16\xc6\xe2\x58\x5c\x8b\x81\x38\x16\xc7\xe1\x5a\x0e\x7f\x47\x2b\x81\x8a\x0c\x14\xfb\xa1\x1f\x83\x32\xf4\xf8\x09\xde\xde\xce\xe1\xf4\x1b\x04\x7e\x20\xc6\x31\x40\x21\x05\x63\x58\x67\xc0\x40\x25\xf2\x8e\x70\x0a\x68\xf4\x00\x0f\xa4\x51\x8e\x1e\x5d\xf0\x74\x72\xf0\x40\x0f\x90\x03\x0d\x1e\xe0\x01\x72\xd6\xa7\xda\x90\xb0\x2f\x41\x41\xac\x4a\xec\x5d\xa6\x10\x3d\x94\xc6\x38\xee\x0a\x5e\x94\xeb\xe3\xb2\xa9\x45\x3c\x1d\x39\x7a\x25\x76\x3b\x30\xbc\x72\xc3\xa1\xc0\xcf\x72\x84\x09\x51\xbe\xe6\x9a\x52\xc1\x9b\x70\xf5\x15\xbe\xa7\x5c\xb3\xca\xc1\x6f\x2c\x31\x19\x7b\x85\x2e\xe0\x69\x3e\x74\xc1\xfe\x25\x2c\x2c\x45\x07\xc1\x57\xc3\x32\x88\x87\x02\x16\x06\x8d\x20\x9c\x6d\xc8\x52\x3c\x4e\x1d\x89\x3f\xb7\xb3\x59\x30\x03\x43\xf0\x35\xa4\xb8\xbc\xb4\x30\x81\x80\xf7\xad\xb7\x6c\x3c\xcd\xdf\xce\xdb\x75\x95\x85\xc5\x80\x44\xe7\x2e\xe7\x48\x6a\xfe\x8d\x8f\x7e\x1b\x64\x0f\xb4\x2e\x48\x8d\xde\x80\xf1\x28\xf8\x56\xaa\xe0\x26\x2e\x22\x20\x4a\xe8\x7e\xec\x0b\x9e\x76\xf4\xc7\x4b\x54\x92\x1a\xaf\xe1\x4a\x02\x52\x5d\x9e\x7b\x3e\xe6\xe9\x1f\xeb\xa0\x47\xd5\x99\x07\xbb\x0e\x96\x5d\x8e\x39\x42\x22\x08\x8f\x28\xa9\x75\x26\x50\x41\x9f\xf3\x34\xbf\xf5\xd2\xac\x6c\xd6\x35\xd8\x44\x48\x63\x78\x18\x83\xdd\xa0\x07\xde\x66\x71\xe8\x58\x61\x7c\x22\xc4\x08\xdd\x09\x1f\x68\x02\x19\x44\x29\x85\x38\x21\x00\x92\x25\x6d\xd0\x01\xd3\x25\x20\x60\x07\x24\x77\x7d\x35\x84\x9e\x83\xfe\xc4\x9e\x2c\xec\x92\x74\xda\x45\xe0\x23\x41\x99\xe8\xac\x04\xda\x24\x67\x25\x20\x83\x78\x09\x34\xf1\x10\xa5\x54\x88\xfd\x1c\x32\x0a\x76\x49\x50\x06\x71\xa2\x41\x12\x57\x00\x74\x48\x50\x26\x06\x1f\xc9\x7c\xd1\x59\xc9\x15\xa7\x7d\xbe\xf8\xac\xe4\x0a\xac\x90\x08\x32\xf1\xbf\x16\x15\x4e\x3f\x57\xdc\x25\x25\xac\x12\xe2\xdc\x2d\xae\x72\x9f\xf8\x54\x27\x78\x36\x2b\x88\xd3\x5e\x0a\xe2\xe1\x15\x68\x53\xba\x06\x0a\x83\x08\x48\x86\x3f\xfe\x2d\xad\x86\x3f\x94\x02\xa1\xdc\x23\x81\xbe\x12\xce\x25\x73\xc9\xec\x12\x58\x2d\x72\x0d\x74\x0d\xb2\x4b\x20\xf9\xdf\x82\xb0\x59\xa4\x9f\xaf\x9d\x33\x8f\x0e\xab\x8f\xd9\xc3\x42\x87\x68\x4f\x7d\x7d\xcb\x55\xed\x97\xfa\x2b\x9c\xb0\x79\x9b\x44\x50\x43\x6f\xe8\x05\x62\x4f\x1e\x34\xce\x6f\x61\x93\x97\x13\xe1\x5b\x2a\x3a\x3e\x31\x36\x43\x9b\x6b\x53\xb1\x5f\xba\x7f\x8c\x6d\x38\x88\x99\xf0\xa1\x3a\x75\x0a\xa7\x57\xa5\xea\x32\x99\xc8\xa4\xda\xba\xe6\xca\xd2\x9d\x56\xae\xfa\xd7\xa7\xc5\xbf\x33\x30\x19\x86\x6c\x9d\x0a\x14\x57\xa9\x2a\x54\x47\xd3\xcf\x20\x9c\x0a\xdb\x1e\xb3\x2d\x55\x6d\xcb\x53\xb3\x5f\x61\x2f\x9c\x71\x12\x97\x32\x43\xc6\xa7\x27\xcd\xe2\x72\xd2\xb4\x39\xe9\x4c\x58\x4c\x7d\x4b\x4b\x59\x4d\xb3\x9d\xab\x7d\xf4\xa4\x02\x28\x06\xd6\xc1\x8a\xd5\x23\xe1\x03\xae\x2e\xad\x20\x29\xc6\x3d\x23\x4d\xd4\xa6\x6d\x91\x5b\x53\x35\xb9\xf9\xe9\xec\xf7\xc8\x61\xc4\x51\x0c\x62\xde\x7d\x57\x13\x33\x84\xd3\xab\xd3\x75\x69\xcc\xe6\x88\xe6\xf6\x83\xbb\x6a\x1b\xf2\xb9\x66\xf0\x04\x9f\x52\x90\x33\x90\x00\x9a\xb5\x03\x61\x06\x57\x9b\x5e\x96\x14\x4c\xc3\x26\x1c\x4c\xf9\x49\x3a\x55\x28\x53\x88\xd4\xb0\x52\xa9\xf0\xbe\x49\xc1\x39\x3c\x23\x36\x18\x62\xa2\x8d\x0c\xbe\x8b\xbb\x36\x44\x12\xae\x5c\xd7\x18\x68\x16\xd5\x46\xe2\x39\xd7\x3d\x02\xcf\xc1\x19\xb1\xd9\x5c\xdf\x60\x62\xe0\x5d\xd8\x75\xb8\x89\x10\x72\x85\x31\xd8\x2c\xda\xb1\x9b\xf0\x11\x9a\x04\xe1\xd7\x6f\x2a\xae\x57\x7a\x0a\xfb\x8f\x9d\xfd\x0c\x98\x93\xfb\x7e\x7a\x71\xd3\xcb\x51\x07\x13\xa8\x0c\xa3\x46\x93\xc1\xa8\x34\x05\xc5\x46\x2e\x1d\xb2\x4b\x84\x2a\xa2\xb8\xb0\xb0\xa8\xb8\x40\x9d\x61\x62\xcb\x5c\x55\x04\xb4\x60\x28\x65\xdc\x41\x68\xf5\x59\xd9\x3a\x56\xa7\xcb\xca\xd1\x32\x99\xda\x5c\x5b\x36\x97\x63\x35\xe4\xe5\xd1\x5d\xab\x02\xd5\xa0\xe2\x4d\x3c\x5d\x20\x7c\x6d\xca\x23\x0a\xac\xf6\x7c\x2b\x6b\xb5\x58\xcd\x79\x79\x56\x83\xb5\xc7\x7b\xf9\x3a\x6b\xa6\x86\x2e\x72\x7d\x4f\xbc\x6e\x07\x8a\xb2\x1a\xf5\xb9\x3a\x46\xa7\xcf\xd1\x19\xb9\x14\x94\x95\x63\x6f\x42\x67\xb2\xe4\x58\x19\xab\x25\xd7\x6a\xe2\xaa\xa0\x37\x71\x0d\xb6\x50\x56\x63\x8e\x5b\x2c\x27\x47\xc7\xf3\x7c\x1c\x6e\xe1\x76\xe2\x7a\x22\x3b\x37\xc7\x6a\xcd\xcd\xb5\x9a\xd8\x5d\xb0\x81\x00\x1b\x1a\x29\x5e\xcc\x8b\x71\xb1\xa0\xa2\x6c\x3a\x6b\x76\xb6\x4e\x97\x65\x64\x13\xd0\x50\x8d\x1a\x22\xdb\x64\xd5\xe5\x31\x79\x56\x6b\x1e\x57\x07\x1a\xe2\x06\x58\xa9\x7c\x63\xb6\x35\x8b\xc9\xca\xd6\x69\xb9\x04\xb4\x56\xa3\x9e\xd0\xe6\xe9\x6c\xb6\x3c\x6b\xbe\x89\xdd\x09\x7a\xe2\x16\x64\x50\xf9\xc6\x2c\x9b\x96\xd1\x66\x65\x69\xb9\x44\xcc\xa8\x42\x23\x91\x69\xcb\xca\xcf\xb7\xd9\xec\x26\xb6\x1a\x8c\x04\xbc\xc6\xec\x37\xad\x1e\x74\x78\x52\x05\xda\xfc\x4c\x4d\x96\x56\x63\x64\x79\x9e\x4f\x76\xf5\x64\x2b\xd0\x48\x68\x4c\x36\x6d\x01\x63\xcf\xcf\x2f\xe0\x78\xb1\x5b\xa7\x43\x08\xa6\x0a\x33\xf3\x35\x6a\xad\x56\xdd\x25\x99\xea\x0a\x65\xcb\x50\x4f\xa8\x4d\xf9\xda\x42\xa6\xc0\x9e\x5f\xc8\xf1\xe2\x4a\xd0\x13\xdf\x0a\x56\xaa\xc8\x98\x59\xa0\x62\xd4\x1a\x8d\x8a\x4b\x75\x59\xca\x50\x47\xa8\x4c\xf6\xcc\x42\xa6\xc8\x6e\x2f\x32\x71\xbc\xb8\x02\x74\x84\x20\x41\x35\xc5\x8b\xe1\x1b\x09\x90\x4a\x0c\x74\x64\x50\x25\xea\xc2\xf4\x74\xb5\x3a\x9d\x4d\x77\xd9\x4a\x50\x4b\xa4\x9b\x0a\xd4\x25\x4c\x49\x61\x61\x09\xc7\x8b\x4b\x41\x4b\x3c\x10\x54\x54\x99\x51\x5d\x94\xc6\xa4\xa9\x54\xa9\x46\x4e\xe5\x52\x17\xa1\x9a\x48\x33\x15\xa9\x4a\x99\xd2\xa2\xa2\x52\x8e\x17\x97\x80\x9a\x80\xc0\x3e\xe9\x0e\xa9\xb1\x30\xbb\x20\xd3\x2a\xb7\xe4\x64\x9b\x75\x8c\x36\x4b\x9f\xa3\xe3\xb2\xb2\x73\x32\x8d\x99\xa4\x5e\xac\xea\xec\x99\x87\xdd\xf3\x50\x44\xa4\x98\x4a\xd2\xcb\x99\xf2\x92\x92\x72\xce\x7d\x49\x4a\x20\x95\x70\xfe\x56\x49\xc1\x28\x94\x82\x14\x47\x06\x05\x6b\xd3\xb7\xb1\x90\x1f\x87\x61\xb0\x16\x4b\x98\xf9\x0b\x55\xf1\x01\x5c\xbc\x36\x5b\x9b\x42\xbf\xee\x2b\x4e\x2e\xc9\x28\x37\xb0\x6e\x1f\x6a\x17\x8c\x04\x29\xf4\x86\x91\xac\x0f\xda\x21\x5f\xd9\x05\xd6\xed\xb0\x3b\xec\x54\x9e\xa4\xd3\xee\x9d\x27\x11\x64\xde\x79\x12\x9d\xc4\xbb\x2b\x7d\x9c\x18\xfb\x71\x28\x13\x63\x3f\xf8\x0d\xc5\xb0\x5f\x52\x29\x61\x41\x26\x86\x7e\xf8\x1b\x88\x5d\x93\x59\xb7\xff\x23\x3b\x13\x96\x00\x75\xa7\x1b\x2e\x0b\x71\x4f\x25\x42\xf9\xa5\xbc\xe3\x91\x6d\x5d\xe9\x38\x22\x0e\x74\x25\x86\x6f\xb3\xf7\x53\x4a\x7b\xea\x05\x7f\x91\xab\xd0\xf5\x11\xb5\xf8\xf8\xca\x87\xa1\x2f\x8a\x6e\x98\x2e\x99\x2e\x93\x05\x7c\x41\x01\x2d\x25\x49\x0b\x6f\x36\x5a\x58\xb3\xd9\x64\x31\x59\xf2\x9a\xf5\x35\xaa\x12\x52\xda\x66\x2f\xd0\xaa\xac\x69\x8c\x51\x94\x20\x4a\x4c\x4b\x8b\xcd\xe2\x92\xe7\x16\xa0\x77\x33\x7a\xee\x18\x1f\x3a\x66\xfd\xa8\x2d\x13\x43\xe6\x45\xac\x22\x4d\x46\xb3\xd1\xc4\xea\xf2\x35\x16\xad\x0e\x7b\xce\x5b\x3e\x55\xb3\x4e\x9f\x98\xab\xb6\xea\xba\x70\xec\x8d\xb5\x2a\x5f\x9d\xdd\x6e\x28\x60\x2e\x7d\xfb\x08\x3e\xfe\x87\x7b\xb5\x17\x06\xee\x06\xae\x94\xdc\xf0\xe0\xb7\xa8\x2b\xcc\xe9\xd2\xaa\x0a\x0b\xc7\xf3\x26\x9e\x35\x99\x4c\x66\x93\xa9\xb0\x36\xbb\x22\xab\x80\x6c\x8f\x1d\x97\x3f\x87\x09\x09\x32\xe8\x36\x71\x11\x15\xd1\x15\xb1\x55\xa4\x74\xba\xda\xd5\xe1\x1a\x41\x95\xee\x39\x76\xed\xce\x85\xf9\x03\x37\x6e\x8c\x4c\x27\x85\x77\x9d\xc3\x28\xb7\x26\x2d\xf5\xf6\xcb\xcb\xca\x53\x9b\x92\x4d\x06\xde\x60\x32\x1a\xf4\x46\x83\x51\x4f\x4a\xbd\xa7\x1b\x54\xfa\x74\x43\x8a\x21\xc3\x90\xa6\x4f\x75\x1b\xd1\x9e\xe3\x8f\x17\x34\x90\x52\x92\xc4\x9e\x9d\x83\xa9\xd2\xfa\xd2\x86\xd2\x06\x52\xda\x93\x6c\xbb\xd5\x70\xb5\xf2\xf3\x3d\x33\x0f\x2f\x3a\xb1\x91\x94\x92\xde\x76\x6d\x41\x56\x81\xd6\x2d\x38\x38\x79\x70\xf4\x98\x50\xd2\x41\x97\x51\xa6\x2e\xd7\xd8\x98\xa3\xe3\x33\x99\xc8\xf5\x05\x15\x81\x1c\x78\xee\x4a\xd2\x59\x39\x1f\xbd\xc4\x69\x07\xa9\x44\x98\x68\x83\x9f\xff\xc3\x90\x52\xe0\x36\x94\x51\x70\xda\x6f\x94\xe8\x0f\xd7\xbc\xdc\x54\x73\x8a\x29\x43\x6e\x4e\x20\x72\x45\xb9\xd5\x96\x62\x53\x79\x6e\x99\x1c\xde\x13\x0e\x12\x20\x12\xc1\x7b\xae\x83\x6e\x01\x4b\x86\xdc\x94\x65\xd6\x66\xd3\xb9\x22\x73\xb5\xa9\xd8\xec\x96\xf9\x43\x98\x47\x8c\x7a\x05\xa7\xfd\x66\x89\x70\x42\xe7\x60\x02\xc7\x88\x50\x26\x24\xeb\xca\x8c\x65\xfa\x12\xb9\xbe\x96\xc8\x11\x69\x8d\x5a\xa3\x96\x35\xa4\xea\xd3\x74\x69\x28\x73\x25\xfb\xba\x65\x26\x38\x06\x13\xb3\x44\x5d\x3d\x7b\x2a\x11\xbe\x7d\x3e\xea\xf9\x75\x90\xad\x50\x4a\xe1\x0d\xc0\x55\x48\xe7\x6e\xea\xba\x08\x56\x40\x1b\x2e\x81\x3a\x62\xf6\x2b\x38\xe4\x37\x4d\xf4\x12\xc7\xe4\x67\x5a\xb3\x72\xb3\xe4\x66\xbd\x59\x6f\xca\x21\xcd\x22\xa3\xbd\xb4\xa8\x92\xfd\x07\xc6\x10\x33\x5e\x41\xb3\xdf\x1c\x11\xae\xc4\x56\x08\xc0\x5d\xc4\xf5\x7e\x22\x29\xe2\xe1\x97\x5f\x8b\xfc\x60\x6c\x56\x41\x76\x5e\x4e\xbe\xdc\x60\x31\x58\x8c\xb9\xa4\x41\xa4\xcf\x4e\x4b\x52\x71\xef\xe1\x58\xe2\x4e\x3f\xdc\xd3\xe5\xac\x67\xc0\x24\x20\xa0\x1a\x74\x4f\x25\x42\x25\x14\x65\x74\x75\xa7\x53\xfd\xa6\x3f\x71\x9d\xbb\xa9\x9f\x85\xcf\x46\xbc\x12\xbc\x45\x47\x8f\xe6\xa4\xed\xe3\xbe\x0f\x3d\x33\x1e\x3d\x69\xf4\x5c\x36\x7c\x54\x04\x9b\x11\x12\x64\xd8\xc8\xa0\x12\x27\xfd\xd2\x0f\xef\x89\xe0\xa5\xd0\x87\x92\xbe\x56\xef\xde\x65\x2d\xa8\xe6\x0e\x56\x57\x1d\x3a\x47\x9f\x4e\x6c\x0f\xa9\x66\x8b\x12\x62\xf2\x42\x19\xec\x81\xd5\x5d\x8d\x6e\x93\xe0\xb4\x04\xa7\xec\xa9\x04\x92\x24\x2b\x94\xd2\xcf\xba\x5a\x43\x99\xab\x83\xc2\x0e\xe8\x70\xff\x35\x47\x2a\x09\xe9\x03\x0c\xe8\x02\x15\x72\xda\xc5\x9d\x1d\x82\x9d\x7a\xf9\xe8\xd1\x4b\x78\x28\xe1\xba\x7e\x63\x5d\x80\x1d\xfc\x9b\x34\x71\xbd\x79\xf8\xc0\x5d\x5e\xa1\x94\xfe\xb6\xd7\x21\x53\x78\xab\x61\xb1\x04\x64\x68\x87\xc5\x5d\x2f\x0d\xfe\x3d\xa3\xa4\xe5\x7b\xbf\x52\x8a\x1c\x8b\xa1\x98\xc2\xab\x70\xf5\xdf\xb7\x1d\xaf\x65\x57\x24\x5d\x09\x6f\xe0\x98\xf2\xcd\xab\x10\xd7\x62\xd0\x53\xe5\xd9\xe5\x99\xb6\x2c\xb8\x86\xd7\x7c\x6d\x59\xf6\x94\xbc\x14\xd2\xd5\x43\x24\xed\xe7\x27\xc8\xe0\x7b\x89\x02\x3d\x16\x4b\x04\x3b\x68\x95\x2e\xff\xef\xdc\x9d\xef\x14\xe3\x39\xaa\x41\x1b\x5b\x19\xc5\x4c\x06\x99\x20\x55\x8a\xa4\x33\xa7\xbf\x8f\x8f\x13\x16\xf2\xb4\x2e\x45\x9f\x92\x4c\xa3\x17\x78\x4c\xec\x82\x67\xf6\xb8\x0f\x5e\x15\xfa\x72\x5d\x39\x2b\xed\xe7\xc7\xc7\x7f\x31\x0e\x0e\xb0\xd2\x99\xd3\xb1\x9f\x6b\x2b\xf5\xf1\xd2\xc6\xd6\xd6\xf3\x8d\xb7\x6e\x9d\x8f\x0a\x0d\x5d\x1a\xf5\xb1\x7b\xb0\x82\x0c\xec\xc2\x9b\x8b\x35\x1f\x64\xd0\x01\x32\xe9\xc9\xae\x2b\x26\x9d\xd9\xd9\x88\xc1\x94\xca\x9a\xa1\xd7\x64\xe2\x44\x9c\xe4\x8b\x7d\x27\x28\xa1\xaf\x08\x26\xe2\xa4\x7f\xb3\x84\xbe\xc9\x11\x2a\xb4\x8b\x8b\xb5\x45\x2a\x2b\x2b\x8c\xed\x9c\x45\xa5\xa7\x5b\x0b\x54\x5c\x74\x4d\xce\x81\x9d\x0d\xe4\xd5\x7b\xad\xbf\x3f\xa7\x9f\x87\xfe\x3e\xef\x1e\x1b\xd7\x90\x7b\xa0\x61\x67\x7d\x4d\x7b\x4e\x4d\x34\xf9\xfd\x80\xa3\x48\xa1\x2f\x8d\xbe\xeb\x90\x9a\x30\x80\x4d\xcd\x48\xd6\x26\x31\x18\x02\xef\x53\x69\xa9\x79\x85\x19\x5c\x6c\xad\xa1\xbd\x6e\x17\xd9\xd2\x56\x79\xf4\x04\x7d\x22\xe9\x68\x58\x1b\x1b\xbb\xcb\xdc\x5e\x57\xbb\xab\xb6\xdd\x58\xbb\x9d\x3c\xb7\x68\xf7\xd4\x0f\xe9\x0f\x23\xa6\x2e\x5b\xc4\x66\x64\xa4\x64\xa5\x30\xff\x4e\xfc\xae\x81\x74\x74\xdd\x0b\x9d\x5d\x03\xe9\x94\xa1\x8c\x72\xc9\xfe\x92\xb8\x64\xff\x22\xf9\xc8\x92\x95\x82\x4c\xfc\xad\x44\xfa\x4a\x50\x1b\x28\x53\x4e\x8e\x29\x87\x11\x3c\x24\x1c\x56\x60\x25\x31\x4a\x0c\x6e\x92\x9d\x67\xff\xdf\x03\xec\xf8\x77\x80\xee\xc9\x31\x20\xc1\xe9\xfb\x7f\x22\xc7\xf9\xa3\x8c\xc2\x04\x3c\xa3\x55\xf3\xa9\xf9\x6a\x39\x24\xe0\x99\xc2\xf4\x2a\x7d\x49\xa1\xfc\xd4\xbe\x92\x42\x4b\x95\xba\x44\x8e\xf3\x20\x07\xe6\x41\x4e\x61\x89\xbe\x2a\xbd\x50\xbe\x6a\x5f\x7a\x61\xa2\x5e\x9d\x2e\x77\x1c\xc2\x33\x14\x26\xc0\x19\x75\x49\xa2\x25\x5d\x2d\x5f\xb5\x35\x5d\xad\x4f\x2c\x4c\x97\xc3\x3c\xcc\xc1\x79\x98\xa3\x4e\xb7\x24\x96\xa8\xe5\xa7\xb6\x96\xa8\xab\x2c\x85\x25\x72\x48\x80\x33\xf9\x85\x7c\x99\xb6\x50\xde\xe9\xe1\xda\x44\x5d\xd6\x94\xeb\xcb\x0b\x2d\x15\x72\x60\x1d\xb7\x2d\xe5\xea\xf2\x64\x8b\x7c\x41\x41\x8a\x25\x45\xad\x4f\x96\x23\xdb\x79\x5b\x9f\x52\x98\x52\xa1\x97\xfb\x08\x69\xb0\x45\x78\x02\x16\x4f\x47\x32\x94\x41\x3c\x54\x7b\x29\x88\x6f\x1c\xab\x29\xcd\xa6\x4d\x39\xc1\x0c\x06\xe3\x38\x18\x08\xf9\xd0\xeb\xf8\xd5\x1b\x57\x0f\x2d\xc1\xb7\xe6\x24\xcf\xc8\xd8\xc8\x5d\x45\x02\x3e\x6e\xe5\xe9\x7d\xdf\x57\x81\xc7\xaf\x34\xe4\x63\x1f\x78\x1f\x33\xd1\x80\xfd\x71\x31\x9a\xd1\x08\x62\x0c\x81\x25\x43\xd9\xc9\x38\x66\x00\xf6\xeb\xd7\x0f\x97\x41\x1a\xce\x84\xcb\x1f\x0b\x7f\x91\xd8\x26\x82\x3e\xaf\x33\x05\x1a\x3b\xfe\x59\x78\x31\xf4\xa4\xf9\x74\xd3\x83\x63\x90\x0b\x56\xf0\x83\x63\xe4\x85\x9b\xb6\xb2\x9b\x9c\x0f\x2c\x92\xc0\x70\xc7\x07\x6f\x76\x59\x0c\x44\x08\x5e\x14\xd4\xc0\x1c\x78\x8c\x3b\x08\x44\x71\xe7\x07\xc2\x21\x0a\x0a\xc5\xb0\x1c\x29\xc2\x21\xea\x1c\x4f\x01\x8a\xe1\x31\xec\x80\x1a\x9c\x43\x74\x4e\xfe\x89\xc2\x3a\x98\x07\x5d\x3b\xce\x23\x3a\xa7\xfd\x42\x61\x0d\xcc\x11\xfe\x14\x06\xba\xd5\x1d\x22\xbc\x41\xc1\x72\xa0\x08\x2c\x14\xe3\x03\x88\xa5\xf0\x31\xec\x20\x00\xc5\xc2\x9f\xae\x81\x04\x44\xf4\xa9\xcb\xa8\x4b\x28\x61\x3b\x2f\x09\x87\x88\xfc\x8c\x34\x6b\x1a\x93\x96\xa6\xd3\x66\x70\x9d\x97\x5c\x87\x88\x84\xf4\x8c\xd8\x58\xda\x75\x48\x1c\x5b\x1c\x5b\x9d\xce\x3a\xdc\x3c\x6d\x57\x40\x76\x69\xa9\x35\xbf\x98\x73\xb8\xb5\xaa\x4b\x8a\xeb\xea\x68\x1f\x68\x32\x41\x1a\xbc\x0b\x3a\x4f\x5e\x41\x7a\x78\x29\xc4\xa4\xc3\x4a\x15\x99\x8a\x8a\x68\x78\x80\x75\x50\x83\x3f\x62\x0e\x06\xa1\x1f\xae\x1f\xcc\xb6\xad\x59\x54\x33\x9f\xc1\x91\xd8\x0b\x7b\xe2\x07\x51\xb9\x31\xf9\xdb\x39\x7c\xfb\xe3\x89\xd8\x07\x07\xd3\x18\xdb\x95\x8b\x2c\x2e\x83\xb5\x8a\xcc\x22\x93\x48\xe1\x7d\x54\x64\xb3\x19\xf3\x19\x88\x85\xb9\xf0\x09\x44\xc3\x87\xef\xc1\xbb\x38\xe0\x12\xa7\x70\x5e\xc5\x4a\x0a\x3e\x04\xe5\xaf\x30\x82\x85\xab\xe7\x5d\x32\xd8\xc6\xdc\x39\x77\xe2\xee\xcd\xb9\xc7\xe6\x2e\x5d\x1f\x1b\xb4\x85\x8b\x68\x8b\xdc\x1b\xde\x4a\xde\xb8\xd9\xd1\xf0\x3b\x03\xa3\x41\x3e\x04\x27\xe2\x04\xf4\x1d\x8c\x23\x39\xec\x58\x2b\xc8\x30\x86\xf9\xe4\xd3\x35\x33\x67\x7c\xbe\xf6\xd6\x85\x23\x75\x07\xda\xb9\xa6\x90\xe6\xd0\xc6\x10\x72\xf6\xc7\x1f\x47\x0c\x66\x70\x0c\xca\x7f\x85\x29\x9c\xcf\x4b\x89\x53\x06\x55\x92\x91\xca\x5c\x09\x87\x32\x6f\xe8\x03\xef\x84\x2d\x05\x0f\x0e\x57\xe0\x0a\xa2\x62\x45\x40\xc1\x62\x66\xc9\x32\x4d\xf2\x0a\x0e\x57\xc0\x0a\xe2\x3c\x78\xc0\x3b\x2d\xd0\x87\xe9\x9c\xf8\xba\x93\x5a\x0a\x1e\x61\xf0\x0e\xf4\xa1\xa1\x4f\x0b\xbc\x73\x1e\x3c\x58\x70\x6b\x25\xaf\xd0\x04\x2c\xa6\x97\x14\x2c\xab\x58\xc1\x0a\x49\xae\xdf\x29\xec\x83\xef\xb4\x9c\x47\x0f\x0e\xdc\x36\x92\x4f\x9f\xd3\x5c\x60\x2e\x9e\x2d\xa8\x38\xcd\x75\xc9\x2f\x45\x0f\x7c\x27\x0c\xfb\x30\x82\xcc\x1b\x43\xe1\x37\x25\x84\xd6\x48\x04\x99\x12\xa7\xef\x55\x72\x42\x12\x44\x52\x15\xa7\x0b\xce\x5d\xa0\x2f\x68\xce\x25\x9f\x66\xbb\x6c\x9c\x47\x8f\x16\x7c\x07\xfb\xd0\xd8\x27\x0c\xdf\x59\x8a\x1e\xac\x4f\x35\xc6\x41\x9c\x67\x33\xc4\x19\x94\x10\xe7\xa5\x10\x3d\x74\xc8\x28\xe1\x13\xec\x00\x74\xf9\x7f\xc1\x62\x92\x18\x8e\x2c\x86\x18\x2c\xc2\x2f\x68\x7c\x89\x07\xf0\x00\xbe\xfc\x6f\x61\xc2\x17\x10\x03\x45\x70\xe4\x22\x0b\x49\x62\x97\xff\x42\xec\x40\x74\x7d\x42\xbb\xb6\x0b\x7d\x5d\x7d\x85\xed\xc2\x76\xa1\xaf\xd0\x57\xd8\xce\xfa\x54\x2b\x88\xb9\x89\x35\x89\xbd\x2b\x21\x41\xd8\x0d\x69\xc2\x6e\x48\x96\x26\x49\x8f\x54\x3a\x86\x50\x2e\x5d\x9a\xc0\xb8\x26\x08\x3c\x23\x14\x09\xde\xc2\x5b\xc2\xce\x2c\x2e\x5b\x98\x8d\xe9\x30\x03\xe7\x82\x2f\xc9\xc7\x16\xd4\x24\xb2\xbc\xf0\x81\x2b\xde\x25\xc6\x87\x2c\x8f\x6b\x71\x1a\x76\x87\xb1\xec\x20\x50\xb6\x43\xcc\xf9\x7f\x48\xfe\x2a\x78\xff\xd1\xcc\x4a\x93\xde\x03\x31\xc1\xfb\x2d\x5e\x3d\x81\xe5\xad\xe0\xf3\xd5\x73\x16\xfd\x61\x2e\x8e\xc5\xf9\x04\xff\x1d\x8a\xf5\x7e\x2c\x3f\xfb\xef\x31\xfb\xd8\xfe\x28\x26\x78\xa0\x02\xda\x46\xb1\x3c\xf4\xc3\x7a\xe4\x70\x2e\xcb\xe3\x00\x9c\x8a\x73\x60\x36\x8b\xcf\xe1\x6f\xa1\x97\xb0\xbc\xba\x8a\xb4\x5a\xb2\x0d\x46\x06\x2b\x70\x26\x0e\xc4\x72\x0d\xee\x27\x7d\xaa\xd1\x7e\xf8\xf0\x35\xe8\x91\xa0\x20\xd6\x26\xb6\x5c\x3b\x7c\xb8\x37\x7f\xf8\x10\x7c\xa0\x20\xfc\xe0\x83\x43\x87\xa5\x70\xda\xf1\x7a\x00\xb5\xd9\xb4\xd9\x1a\x64\x2b\x7f\xe4\x8b\x03\x1b\x51\xf6\xf5\x07\xaf\xe6\x2d\xf5\x8d\xd9\x1d\xdb\x92\xd0\x4a\xf2\xe2\x25\xdb\x80\xc3\x78\xe0\x71\x18\xb4\x6a\xe5\xae\x5f\x85\x5f\xa8\xb8\x6b\x19\xb7\xbf\xa2\xbf\x2a\xba\xbd\xf3\x1a\xfb\x61\x43\xf1\xfe\xf2\x7d\x95\xad\xf2\xa5\x2d\xc4\x42\x14\x85\xa0\x2f\x72\xb4\xdb\xcb\xf5\xfd\x02\x45\xec\xf9\x96\xa4\xb6\xd4\xbd\xe9\xfb\xe5\xdf\x37\x10\x0a\xef\x1f\x70\x16\x95\x10\x1a\x1b\x16\x13\x31\xef\xbc\xef\x07\x7e\x28\x9b\x86\x03\xa3\x48\x69\x77\x8f\xf2\xb1\x41\x59\x9b\x75\x9b\x8d\x72\x69\x2f\x8f\xb9\x62\x68\xcd\x07\x1e\x86\x01\x07\xf1\x24\x6e\x15\x1e\x52\xf1\x97\xb7\x9d\xdf\x78\x02\x17\xe2\x38\x5f\x29\xa9\x0e\x3e\xb4\x6a\xf7\xe2\xa2\xe3\x90\xe5\x6b\x8b\x08\xb3\x6c\x63\xb6\x85\xe9\xb3\x22\xb8\xe3\x98\xb5\x58\xb5\x2a\x22\x78\xa3\x1c\x17\xc2\xb8\x8d\x81\xdb\x96\xc6\x2f\x90\x43\xfa\x24\x22\x33\x46\x17\x1d\x49\x47\x5a\xa3\xed\x31\x2c\xa6\x4d\xaa\x5e\xb0\x67\xe9\xa1\x40\x39\x2c\x84\x71\x7b\x37\x9e\x8a\xbc\xa8\x92\xaf\xc1\x6c\x22\x7b\x77\x4b\x8e\xe0\x25\xc9\xcd\xdb\xcd\xad\x81\xec\x8b\x45\xa7\x9a\xf6\x1e\x92\xc3\x42\x1c\x77\xe8\xc4\x9e\xf3\xd5\x97\xe5\x98\x76\x8f\xb0\xd7\x5b\x1b\x9a\xe8\x26\x5d\x43\x66\x3d\x0b\xe9\xf7\x08\x17\xef\xe8\x4b\xf1\x62\x6c\xd5\xa2\x11\x87\x22\x87\x09\xe7\xc3\x7c\x6b\x5a\x6b\x5b\xea\x9b\xae\x2e\xf3\x7d\xfa\x0a\x64\x5f\xc3\xc0\x86\x94\x47\xbe\xfb\xf3\xdb\x73\xdb\x4d\xa4\xe3\x76\x67\x0a\x05\x5c\x08\xf8\x2e\x04\x11\xbb\x34\xac\x32\xb4\x7c\x6b\x71\x90\xfc\xc3\x68\x62\xe7\xdc\xa2\x8f\x66\xd0\x33\x32\x3e\x8a\x9b\xcb\x7e\x1f\x9d\x1e\x94\x1a\x9c\x14\x22\x3f\x1f\x46\x7c\x01\xa2\x36\xf0\x05\x8e\xc6\x1e\xc2\x24\x0a\x39\x48\x40\x23\x0c\xc5\xd6\x7c\x72\xae\xb8\xdd\xd8\x9e\xb3\x5f\x9b\x32\xd6\x17\x06\x46\x83\x6c\xda\x53\xbf\xab\xe7\x7c\xeb\x23\x6b\xc3\x6a\x42\xcf\xb7\xf8\xc2\x78\xd7\x24\xca\x15\xe6\xea\xed\xea\xed\x0a\x73\x53\xa1\xb7\x10\x26\x84\x09\x5d\x94\xe5\xc5\xee\xa2\xbb\x8a\x3b\xdc\x27\x57\xc2\xf2\xe2\x91\xca\xae\x37\x74\xf3\x5f\x81\x14\x3a\x60\xe6\x8b\x5f\x61\x0e\x18\x84\x9e\x12\xe8\x0d\x6b\x71\x11\x0c\x85\x89\x5f\x80\xef\x25\xf8\x12\xec\xd2\xce\x87\xc2\xb7\x90\x44\x9d\x59\x64\xdb\xb4\x61\x79\x66\xc0\xb2\x2b\x59\x87\x58\xe9\x4c\x8f\xc3\x27\x8a\xce\x70\x21\x42\x30\x75\x2c\xee\xe0\xaa\xa5\x89\x5b\x57\xae\xac\x09\x3f\xcb\x4a\xfb\x79\x9c\xa9\x6a\x3d\xc9\xc1\xc4\x3b\x54\xaa\x2e\x25\x27\x35\x87\xcc\x4b\xc9\x4d\x49\xa6\xdf\x9d\x37\x79\x40\x22\x1b\xa1\x4b\x4e\x0f\xa3\x43\x8f\x27\x36\xe8\xd8\xef\xd3\x7e\x8a\x1c\x44\x63\xbf\xa1\x6b\x51\xd6\x0f\xdf\x6e\x03\xe9\x57\x47\x0e\x5d\xaf\x61\x2d\xe2\xa8\x72\x55\x7d\x0b\xdd\x9c\xb7\xbf\xb9\x84\xb5\x88\x17\x56\x6f\x7e\xf4\x05\x0d\xe4\x8f\x0f\x40\xb4\x7f\x9f\x26\xa9\x85\x3d\x7a\xb4\xb8\xec\x10\x87\xbd\xc4\x17\x5d\xe3\x29\x4b\x1d\x5f\x57\x47\x0b\x0a\xf1\x4e\xbe\x4e\xbf\x93\x05\xa5\xc8\x10\xc7\xc7\xc5\xd1\xae\xbe\xe2\x18\x3e\xda\x1c\xc3\x0a\x64\x19\x95\x1c\xb6\x35\x3b\x98\x41\xdf\xd4\xe7\xe0\xc1\x41\xa4\xd9\x2c\xd6\x6a\x4d\x59\x4c\x86\xca\x60\x54\x71\xd0\xfd\xd2\x31\x71\xa5\xb1\x42\x5f\xc1\x82\x9f\x48\xb7\xcd\xbc\x6d\x1b\xfd\x02\xbb\x8b\x92\x53\xcc\xc9\xcc\x4a\x8c\x17\x05\xe7\xaf\x3f\x52\x5b\x6b\x2b\xa9\x62\xf1\x6d\x31\x0a\x8e\x15\xd4\xba\x90\x8d\x6b\xd6\x04\x1f\x3c\x76\xbc\xed\xd0\x89\x13\xad\x1b\xd6\xb2\x82\x70\xdc\x4f\x59\x8d\x76\x98\x01\x87\x60\xbd\x90\x05\x9f\xe2\x34\x98\xdb\xfb\x3a\x6c\xc4\xe5\x10\x86\xdd\x20\x18\xfa\xc3\x66\x1c\x04\xeb\xc1\x03\xc2\x20\x00\x22\xa5\xbf\x3c\x14\x7e\xae\xa1\xfc\xa7\x24\xcf\xfc\xe4\xbd\xc2\x1f\x7f\x78\x5c\x7a\xeb\xfa\x6f\xaa\x31\xec\x62\x47\x0e\x35\x31\x7c\x99\xff\x98\x90\xcf\xbe\x7f\xd0\xfc\xf9\xcf\xdf\xb7\xcd\x9e\xce\x42\x0d\xdc\xa5\x62\x3e\x99\x91\x38\x9d\xd9\xbd\x7c\x61\x59\x57\x0e\xab\x01\xa8\xc4\x45\x03\xaf\x21\xf7\xd7\x36\x2e\x47\xbc\x32\x4e\xbd\x60\x15\xbd\xbc\x7a\xc3\xd1\x68\x36\x47\x8c\x9e\x21\x33\x3f\xc1\x1e\x34\x6e\x86\x95\x4b\x61\x1a\x04\xc1\x88\x3b\x90\xcc\x4a\x65\x6a\x68\x75\xbd\xdf\x1f\x3e\xa0\xcf\x34\x56\x9f\x2c\x60\x61\xe2\xee\xe7\x40\xc1\x14\xba\x31\xbb\x41\x53\xcf\xd6\xe7\xed\xb2\xed\xb2\x93\x70\xab\x73\x12\x95\x73\x84\x3f\x7c\x84\x16\x1c\xe2\x76\xe3\x41\x6b\x3b\x8b\xb1\x22\xeb\x26\xe3\xc6\x8d\xb4\xeb\xa5\x78\x3d\xbf\x21\x67\x3d\x0b\xb1\x22\xe1\x77\x88\xa5\xe2\xc3\xb7\xaa\x83\x98\x19\x19\xb7\x2f\x72\xd2\x4c\x0f\xc1\xf3\xa1\xb8\xa1\x31\xa7\x91\x81\xa5\x38\x4d\x2c\xd5\xab\xcf\x1a\xce\xe6\x9f\x65\x31\x51\x64\x8d\x32\x45\x46\xd2\xd2\x77\xd5\xd3\x86\x8a\xa5\x1a\x0f\x5c\x2a\xb6\x54\x56\x59\xaa\x8a\x8a\x0c\xc5\x8c\x54\xaf\xce\x31\xe0\x73\xb1\x74\xf9\x46\x9c\x59\x87\x53\x20\xec\xd2\xe7\x05\x8d\xa7\x59\x57\x87\xc2\x3b\x91\xba\xb3\xec\xf6\xe4\x49\x4b\x66\x4d\x9d\x76\xf1\x93\x6f\x59\xe9\x46\xbf\xbb\x17\x6e\xde\xe1\x7c\x8e\x49\x7e\xf0\x53\xba\x54\x82\xf8\x1f\xe7\xd2\xe7\xbd\xcf\x3f\x5f\xf5\xdc\xa9\x7c\x2e\xbd\x2b\xfd\xc5\xf1\xbd\x73\x15\xf5\xca\xff\x51\x3f\xbf\xb1\x63\xfd\x62\xac\xdb\x0b\x77\xb0\x9b\x36\xac\x5f\xbe\x7e\x0e\xbe\x83\xf3\x91\xc3\xcb\xfb\x5d\xf3\xc8\x18\xcb\xce\xc4\x5d\x66\x13\x6f\x66\x1a\x2c\xd5\x75\x86\xc6\x48\xf8\xe6\x06\x1c\x84\xf1\x60\xd8\x7f\xe1\xc0\x89\xb6\xfd\x64\x7c\xf3\xbe\x8c\x76\x46\x7a\xf7\xe5\xe3\xc7\x2f\x39\xa1\x97\x9a\x82\x3b\x58\x02\x25\x78\x07\xbf\xc2\x52\x2c\xc1\x3b\x23\x6a\x46\x1c\x9c\xc8\x16\x6f\xdf\xad\xd9\x55\x5c\x57\x5c\xb0\x3b\x63\x17\xb9\xed\x7a\x72\xc7\x5d\x1a\xca\x21\x1c\xc2\xa1\xdc\x4d\x31\x1c\xcb\xb1\x1c\xbb\x68\x48\x70\xae\x3d\x94\x8d\xce\x8b\x49\xce\x8a\xc9\x8e\x2e\x8f\x6e\xc8\x22\x33\x0f\x1d\xd6\x1d\x66\xe0\x0e\x94\x40\x09\x7c\xc5\xf9\xbc\x90\x54\x28\x44\xf7\xbd\x60\xa7\x23\x8a\xc2\x91\x28\x19\x8a\xef\xe3\x5a\x3a\xd8\x1e\x59\x12\xc6\x1a\xf2\xf4\xda\x7c\xc6\x24\xba\x90\xf7\xd9\xd9\x9a\x53\xa4\xd5\x6c\x29\xb5\x31\x56\x7d\xe9\x47\xbf\xe1\xcc\x1b\xa9\x72\xb3\x9e\xd0\x1b\x79\xa3\x91\x35\xea\x72\x8c\x3a\x26\xc4\x10\x97\x12\x91\x4d\x06\x85\xa8\x52\x97\xd1\xd8\x07\x8e\xe9\xbe\x7e\x04\x83\x2b\xbe\xfc\x9c\xdd\xa5\x6f\xcb\xad\xcd\x22\xb7\x81\xf8\x8f\x70\xf0\x61\x7e\x86\x0f\x0a\x1f\x9d\xe7\xf2\x0b\x0d\x45\xd6\xc2\x94\x5f\x47\xe8\x96\x9e\xbd\xfa\x45\xeb\x37\xcd\xdf\x5b\x73\x7d\x4d\x26\xde\x68\xe2\xb6\x97\x1c\x1a\xb6\x9f\x39\x57\x09\x3e\xad\x30\x7a\x0a\xb0\x63\x41\xca\x19\xcd\xd9\xf9\xe6\xda\x8a\xfa\x7a\xfa\xcc\xf6\xcf\xa2\x0e\xb3\x46\xeb\x6a\x50\xad\x80\x05\xa8\xfa\x43\xbe\xe7\xc3\xa1\xd5\x63\x18\x24\xd0\x23\x25\xf0\x3d\x0e\x27\x4d\xc2\xfe\x98\x8e\x0b\xe9\xc4\x14\xf5\x0a\xd3\x76\x32\x25\x21\x79\x7d\x34\x9d\x6c\x4a\xb1\xa5\xb0\x3e\xd0\x94\x9f\xe0\xe8\x07\x87\xde\x3c\x82\x09\x77\x9d\x97\xa8\xe5\x21\x21\x01\xcb\x03\xda\xce\x9c\x3d\xdb\x76\xe6\x6c\x5b\x48\x00\xeb\x48\x75\xe5\x52\xc1\x21\x21\x01\x21\x21\x6d\x7b\xdb\xda\xda\xda\xce\xb6\x85\x84\xb0\xa8\x16\x72\xdd\xb2\xcb\x03\x96\xb7\x9d\x39\x7b\xa6\xed\xec\x99\x2e\xd9\x77\xdc\xb2\xc1\x21\xcb\xff\x93\x3d\xb3\xd7\x2d\x5b\x29\xf4\xa3\xe0\xc8\x42\xbc\x06\x91\x28\x30\xae\xfe\xf8\x2d\xd6\xe2\xef\xb8\x06\x3c\x71\x02\xcc\x45\x29\xf7\x11\x46\x41\x1e\x48\x89\xe4\x9f\x6e\x27\xff\xc4\xec\xac\x31\x99\x77\x72\x69\xc7\xb5\xa7\x4e\xd3\x70\x03\xea\xa0\x00\x7e\xab\xdd\x69\xd4\xef\x64\x85\x1f\x5c\x17\x28\x38\x84\x87\x40\x8d\xdf\xe2\xef\x58\x8b\x6a\x74\x9f\xd5\xa2\x1a\x7e\xbf\xdd\x51\x59\xd1\xc1\xc2\x1a\xf4\x0c\x80\xb9\x04\x0c\x04\x4f\xf0\x80\x01\x30\x9e\x76\x3f\x33\x2b\x44\xff\xe3\xa5\x10\xfd\xa0\x20\x5e\x52\x36\x4d\x46\x6e\x06\xa3\x56\xeb\xb3\x35\x9c\xc2\xa1\x7e\x1d\x90\xa0\x52\xc5\x99\x76\xc8\xcd\xb1\xa5\x09\x3b\x33\x05\x0e\xc7\xf9\x3a\xcf\x38\x47\x75\xbe\x78\x7d\x98\xc0\xbf\xc5\x31\xe5\x3b\xea\x32\x59\xbd\x2d\xdf\x68\x63\x2a\x2b\xf2\x4b\x8b\x38\xd0\xc1\x71\x61\x35\x2e\x84\xee\xca\xff\xcb\x74\x62\x49\x8c\x29\x21\xa3\xcb\xa8\x6f\x82\x2a\x23\xce\xbc\xe3\x5f\xa3\x11\xb8\xdc\xd7\xb5\x4a\xbc\xbd\x6c\x47\x9d\xa6\xcb\x56\x7e\xd7\x12\xc5\x22\x0e\x4e\xc1\x3d\xa1\x16\xc3\xa1\xbb\x12\x7f\x55\x38\x07\x50\x2e\x35\xac\x13\x62\x1d\xfb\x3a\x9f\x77\x4a\xf1\x07\x50\x2a\x88\x52\xc7\x75\xc2\x67\xbf\xd2\xed\xa3\x09\x1d\x60\x9f\x9f\xd8\x1b\x92\xba\xdc\x50\xe9\xfd\xcf\x94\xa0\x54\x92\xd2\xdf\x50\x09\x2c\x71\x5d\x02\xbf\x2b\xa5\xf7\xf1\x63\x18\x08\x11\x03\x21\x99\x81\xc5\x4a\xae\x53\x06\xed\x70\x55\x82\x2f\xe0\x9e\x52\xfa\xdb\x54\xa5\xf4\x3e\x04\x48\xba\x72\xbe\xc9\x0c\x4a\x90\x79\x39\xec\x70\x59\x09\xcb\x95\x9b\x24\x9c\xc3\xde\x29\xbb\xad\xe4\xc1\x28\x81\xb7\x95\xd5\x28\x83\xbe\xd8\x13\x7a\x62\x4f\x90\x0a\xf7\x60\x8c\x50\x0f\x3e\xbd\xa1\x00\x2c\x8e\x6a\x30\x4b\xd7\x2b\x44\x36\x94\x51\xad\xc5\xed\x8d\x8f\xd1\x63\xf3\xaa\x66\x2e\xbc\xca\xf0\xb8\x85\x96\x4e\x35\x3a\x3f\x22\xda\x4c\xff\xec\xa9\x61\x4f\xee\xfe\x67\xc3\x63\xba\x29\xfd\x40\x08\x3b\x76\x6c\xd6\xd8\x31\x63\x6c\x63\x98\x90\xf4\x2d\x91\xe3\xfe\x3c\x70\x32\x92\x6b\x4d\xe0\x07\x04\xd3\x46\xec\x20\xd4\xbc\xc6\xa8\x66\xf5\x19\x19\xbc\x8a\xe9\x5c\x24\x92\x56\x66\x64\xf0\x96\x0c\xce\x58\xc8\x17\x14\xd2\xd2\xf5\x46\xe8\x20\xda\xf8\x7f\x5a\xab\xd9\x13\xbb\xff\xd8\xf4\xe8\x8d\xc1\xf1\xe3\xb2\xc6\x8f\x18\x6e\x1b\xc1\x84\x66\x6c\x8e\x1a\xf5\xea\xf8\xc9\x08\xee\x48\x4c\x16\x0e\x5f\x43\x77\x9e\x11\x9b\x96\x12\xa1\xc6\xb1\xe1\xf1\x6c\xe0\xb6\x11\x6d\xfe\x74\x74\xe9\xd6\x16\xf6\xe1\x43\xdb\xc3\x9f\x7f\xc9\xfa\x85\x69\x2d\x39\xd0\xf4\x23\x4a\xd6\xaf\x6c\xe6\x82\x6b\xf8\xe7\xfb\x68\x93\x20\x26\x0a\xf9\x02\x53\x01\x6b\x2d\xab\x30\x96\x33\x8e\xf1\xa2\xb2\x0a\x93\xae\x8c\x33\x69\x78\x8d\x9a\x36\xb9\x18\x22\x94\x1f\x1f\x96\xc0\xae\xdc\x36\x68\xdf\x68\x3a\xaa\x2c\x78\x0f\xfb\xe4\x89\xed\xc9\x0f\x3f\x64\x3d\x61\xba\x40\x86\x54\x50\xe0\x29\xd4\x40\x0a\xf4\x87\x14\x2f\x85\xf7\x6b\x05\xf1\x11\xb5\x27\xa6\x7e\x1b\xeb\xda\x21\xc2\x05\x38\x5a\x15\x3b\x9d\x9b\x14\x33\x6b\xc5\xe2\xc9\xe4\x92\xc9\x91\x43\xd1\x8b\x1e\x56\xe3\x7f\x70\x2a\x7b\x78\xd2\x95\x45\x0f\x82\xae\x46\x7c\x9f\xf8\x9b\x96\x74\x65\xc1\x09\x89\xc2\xfb\x2c\xf4\x57\xe0\x54\x38\x21\x81\x63\xca\x6a\x43\xad\xb5\x92\xcd\x2d\x2b\x2a\x2c\xcb\x25\x73\xcb\xab\xf4\xe5\xcc\x9e\xfa\x8b\x7b\x38\x1f\x7e\xaf\xc4\x93\x87\x38\x67\x07\xc4\xc9\x1e\xc2\x0b\x90\x51\xf8\x02\x65\xf0\x42\x04\x2f\xc0\x7e\x50\x09\xfe\x82\x8c\xea\x7c\x81\x32\xc7\x0b\x51\xa7\xcc\x21\xa3\x30\xae\xeb\x63\x8e\x82\xf0\x7b\x2d\xa3\x3a\xe3\x50\xe6\x88\x13\xbd\x0e\x50\x10\x1e\x07\x95\x0e\x99\xcb\xad\xd1\x81\xff\x4b\xca\x21\xf3\xfe\x57\xd7\x67\xab\x44\xe1\x7d\x5a\xb0\x53\xe3\xa7\x86\xad\x58\xca\xa1\x0b\xe6\x10\xa6\x42\x53\x11\x5f\xc8\x17\x1a\x8b\x0a\x7b\x0c\x00\x37\x67\xc5\xf9\xbb\x61\x0f\x18\x98\x05\xfd\xa1\x3f\xcc\xfa\x3f\xd7\xcd\xaa\x4d\x2a\x93\x9a\x43\x17\xce\x21\x4e\x2f\x9d\xda\x32\x9e\xf9\x97\x8f\xb3\xa0\x3f\xf6\x87\x59\x0f\xee\xb6\x9c\x3e\xcf\x81\xbb\xde\xa8\x36\xaa\xd4\xf4\x7f\x15\xff\x97\x39\xd6\x67\xbf\x52\x98\x06\x53\x85\x69\xfb\x24\x4e\x3b\xd8\x65\x0f\x0d\x4a\x78\x4a\x61\xf7\xa1\x43\xb1\x3b\x4a\x86\x3e\x83\xee\xf9\x26\x9b\x29\x9f\xc5\x6c\xe8\x41\x84\x6e\x5d\x15\xbf\x8c\xc1\xee\x43\x7f\x05\x09\x48\x9e\xfd\x0a\xdd\xcf\x9d\x8a\x0f\xdd\xc7\x81\xbb\xd2\x98\x6f\xb4\xe5\xd3\xd0\xfd\xd9\x33\x90\x40\xf7\x67\x6f\xf4\x87\x62\xf7\x65\xab\x6a\xda\xb6\xb2\x98\x8d\x3d\x08\x93\xd6\x94\xc5\x6b\x79\xad\x31\x4b\xdb\x63\x00\xb8\x39\x6d\xfb\x4e\xd5\x9c\x63\xba\xc4\x25\x1c\xd8\x1d\x55\x7e\xca\x6a\x67\x34\x7c\x08\xb2\x2b\xcd\xe0\xdf\x9b\x87\x0f\x15\xde\xc7\x61\x84\xf5\x8a\x15\x46\xa0\x0c\xfc\xa5\x1d\xc2\x75\xe7\x6c\xaa\x24\x2c\x35\x38\x2c\x1d\xbd\xd7\x8f\x1a\xb5\x1e\xbd\xc9\x58\x75\x5c\xda\x76\x46\xab\x35\x5b\xb4\x5c\x58\x71\xda\xde\xe2\x96\x0b\xf0\x1e\x90\x40\xc2\x7b\x17\x48\xe9\xbc\x96\xe2\xbd\x69\xc5\x61\xa4\x73\x26\x08\x14\xe6\xa0\x7e\xf6\xf5\xd8\xba\xcd\x7c\x6c\xac\x7c\xfe\x7c\xe2\xdc\x40\xec\xde\x82\xbd\x18\x97\x1c\xaf\xe3\x75\x97\xfc\xbf\xfc\x0a\x82\x1c\xae\xc3\x75\x41\x0e\xbd\xc2\xa0\xfb\xb2\xbf\xb8\x2b\x57\xea\xea\xf8\xf6\xd8\x3a\xb9\x74\xeb\xec\xeb\xa0\x87\x1c\x62\xeb\xdf\x54\x71\x11\x5f\x9d\x51\x34\xea\x27\xdf\x37\xb8\x82\xaa\x0c\x3e\xb1\x28\xe3\xa7\x51\xbe\xd9\x79\xf9\x39\x76\x26\x3f\x1f\x66\x4b\x20\x05\x53\xa8\x37\xe8\x83\x23\x7f\xf4\x55\x15\x27\xf0\xaa\x0c\xf8\x45\xf9\xe3\x48\x5f\xe9\x4c\x10\x29\xf3\xf3\x2d\x79\x36\xae\x1d\xe6\x2f\x55\x0e\x15\x0d\x50\x0e\x95\x70\xcf\x20\x43\x02\x01\x5d\xb8\x76\x43\xc5\xf1\x4a\x18\xda\xfe\xaf\xfa\x9b\x36\x46\x8d\xf4\x85\x5f\x94\xe4\xff\x5f\x0b\x3f\xfd\x48\xf8\x80\xbf\x04\xa8\x84\xae\xf5\xec\xa3\x25\xc2\x4b\x47\x10\x05\xdd\xf0\x07\x02\x40\x04\x9e\xf0\x03\x1e\x80\x20\x42\x78\xe1\xdd\xe5\x32\x0b\xff\xa3\x70\x1e\xa3\x22\xc1\x17\xbf\xdd\x82\x1c\x9e\x02\xf2\x13\x22\x76\xfa\xc4\xf4\xf1\xcc\xf8\x89\x25\x75\xd3\x39\x20\x6f\x20\x07\xa7\xfe\x7f\x8c\xbd\x07\x78\x14\x55\xf7\x30\x3e\x21\x99\xe2\x08\x79\x21\xb3\x13\x93\x9d\x9d\x99\xd0\xa4\x89\x08\x46\x9a\x20\x01\xe9\xbd\xac\x48\x0f\x2d\xd4\x24\x84\xf4\x9e\x25\x7d\x4b\xfa\xa6\x12\xd2\x13\x48\x20\x24\x40\x68\xa1\x4a\x11\x31\xe8\xab\x10\x41\x50\x10\xec\x8a\x80\xaf\xa2\x67\x76\xcf\x24\xef\xff\xd9\x8d\xbe\xbf\xf2\x7d\xdf\xf3\xfc\x9f\xdd\x9d\x7b\xee\xb9\xa7\xdd\x76\xee\xdd\x3b\x33\xf7\xe2\xbd\x63\x41\xe8\x45\x8e\x04\x8d\x1e\x5e\x83\xb7\x2c\x66\x8b\x45\xfb\xaf\x31\x90\x0a\xe1\x0b\xe0\x0e\x0a\x49\x3f\xc3\x4b\xa0\xfb\x15\xc6\x9c\xf3\x5e\x8e\x7d\xe1\x18\xbe\x0e\xc7\xe0\xf5\xe5\xd0\x17\xc6\xac\x04\xdd\xcb\x3f\xe3\x4b\xde\xa8\x2d\x9e\x8f\x77\x20\x15\xc3\xff\xf5\x2d\xe9\x18\xc1\xb5\xf8\x96\x1e\x5f\x1b\x89\x1a\xc9\xbd\xca\xfc\xf7\xa1\xfa\xb0\x1c\x46\xc2\x69\xa5\x2f\xeb\x3c\xa5\xe8\xff\xf2\xe5\xec\x07\x14\x3d\x84\xaf\x64\x51\xaf\x74\xae\x64\x95\x4e\xd4\xaf\x64\x61\x80\xc8\xa5\x12\x63\x59\xf5\x26\x3c\xe7\x15\x8e\x6a\x39\x70\xa0\x45\x06\x5e\x2d\x42\x9e\xde\x7a\x20\xb8\x55\xd2\xb9\x25\xaa\x6d\x2b\x59\xee\x3a\xf1\xbf\xd9\xbe\xf6\x1b\xcb\x2a\x1a\xe5\x17\xfe\x63\xec\x03\x77\xbb\xf6\x76\x95\x63\x6f\xbc\x3b\x5b\x4a\x54\x8a\x0a\xe9\xd6\x83\x1d\xf0\x9b\x45\x82\xdf\xb2\x0e\xce\xde\xa2\xdd\xa3\x14\xd1\xaa\xec\xa6\x67\x51\x4f\x73\x17\x73\x1b\x45\xe5\x84\x9b\x43\x05\xb5\xf5\x40\x70\x8b\xa4\x68\x28\x2e\x64\xa8\x53\xb3\x7b\x95\x51\x04\xab\x8b\xa2\x81\xce\x0e\xb0\x76\x40\xa7\x26\xc4\xa6\xd7\xb9\x5d\xe4\xd5\x49\x54\x42\x62\x72\x42\x86\x8c\x59\x5d\x5d\xa4\x6a\x85\x49\xa2\xd2\x49\x9b\x69\x5f\x11\x3a\x6d\x56\x1e\xad\x5d\x7a\xb0\x52\x36\x2b\xea\x79\xcc\xb2\x75\x91\xa5\x19\x89\xd6\x04\x41\x9d\xd4\x65\xa5\xc6\xb0\x66\x5a\xed\x84\x49\x62\x77\x9b\x8e\xaa\x82\x10\xd1\xe6\x0b\xe1\x10\x22\xba\x9f\x60\x75\xd4\x17\xf6\x7f\xf2\x2b\xcf\x4d\x34\xaf\x5c\xa9\x0e\x56\x07\x79\x61\x22\x24\x2a\x83\x94\xc1\xe7\xce\x9a\xef\xaf\x3c\xe7\xbd\xf2\xec\x44\xf3\xca\x55\xea\x20\x75\xb0\x17\x0e\x87\xe1\xe8\x8b\xbe\xb8\x0b\x77\x05\xe2\xd7\x30\x1e\x2d\xde\xd8\x8d\xdd\x24\xce\x81\x39\x34\x74\x43\x37\x58\x70\x3c\x7c\xdd\x04\xbb\x60\x97\x37\xf8\x82\xaf\x83\x43\x19\xac\x0c\x3a\x7b\xce\xfc\xe5\xaa\x73\xde\xee\x55\x3a\xb2\xf6\x47\x97\x3f\x1f\xeb\xc8\x88\x47\xae\xb6\x2e\x5b\x2b\x0f\x6e\xc3\xbf\xc3\x17\xe1\x6b\x16\x5e\xfc\xe5\x7b\x70\x95\x14\x93\x27\xb8\x8d\xf8\x0e\x7b\x3b\x50\xbd\x1f\x3b\x50\x10\x81\xb3\x79\x4c\xc3\x97\x70\x73\x35\x92\xb9\xe3\xb3\x03\xb7\x65\xe8\xa3\xca\xa2\xf6\x46\x56\x66\x64\x67\x66\x67\x66\xc7\x54\x04\x59\xd7\x98\xd0\x35\x03\xfd\x23\x70\x0f\xf4\x65\x6c\x6f\xd0\xe0\xde\x74\x04\x5c\x25\xfb\x2f\xd4\x1f\xad\xeb\x90\x96\xbb\x46\xd1\x30\x2e\x97\x3f\x78\x66\xdb\xf9\xe5\x5b\x52\xd3\x1d\x1f\xc6\x36\x97\x7e\xfc\xf6\xdd\x31\x92\x0e\x5f\xa2\xc6\xbc\x3d\x79\x84\xdc\x35\x97\x4e\xcd\x4d\xc9\x4d\xcd\x5d\xde\xba\x6d\xc5\xc1\xd5\x1d\x93\xc0\x7d\x38\x2c\x9c\x82\x2b\xbb\x5e\xb7\x4d\xf4\x31\xc0\x2f\x4c\x9a\x05\xd6\xc2\x40\xed\xbe\x8c\xb2\x8c\xb2\x4c\x06\x07\x58\x70\x59\x9e\xd6\x80\xbf\xd8\x26\xfe\x89\x2b\x6d\xaf\xc3\xc2\x3b\xe0\xfe\x4b\xc7\x3d\xc6\xbd\xea\x5b\xc8\xb3\x37\xc3\x60\x97\x67\x90\x07\x83\x61\xce\x2d\x18\xec\x04\xf2\x60\xb0\xab\x5d\x63\xff\x9a\xc7\xc1\xea\x4c\x18\x4c\x29\x03\x94\x99\x7f\xc3\x78\xcf\x4d\x1d\x40\x61\x10\x06\x91\x10\x84\xf7\xec\xcd\x3a\xb7\xa6\xae\x16\x1a\x06\xdb\xfd\x78\x9d\xfd\x0d\x0a\x5d\xf0\x38\xa9\xc3\x58\x65\x00\x06\x41\x10\x0d\x41\x10\x44\xc2\x3d\x4a\x99\xa9\xcc\x24\xdd\x41\x66\x1f\xea\xc8\xe5\xae\xb6\x52\x08\xe2\x2d\x8d\x31\xfb\x77\x94\xec\x28\xde\x9a\x12\x15\xca\x2c\x9e\x61\x32\x9b\xb5\xb8\x16\x93\x93\x0d\xe9\x09\x99\x29\xc6\x64\x4b\x72\x56\x52\x6e\x62\xa1\xa1\x7d\x19\x44\x8c\xbf\x55\x5c\x97\xbb\xaf\xb4\xa0\x2a\xb7\xc4\x5c\x68\x81\xc3\x0c\xf4\x33\x67\x99\x25\x1c\x06\x39\x7c\x56\x4b\x74\x53\x50\x31\x33\xf6\x90\xc5\x62\xd6\x02\x8b\x27\x92\xf2\xe2\x85\x08\x4b\x94\x21\x21\x22\x78\x6d\x22\x0e\x29\x1a\x96\xbd\x33\x2f\xa4\x20\xae\x38\xa2\x32\xb1\xda\xc4\x94\x5a\xb3\x1e\x41\xb5\x0c\xbd\x8f\x9a\xcd\x66\x6d\xa3\xb5\xb2\x3e\xeb\x30\x63\xfb\x18\xcf\xf1\x39\xf5\x29\x55\x31\xa5\x06\x6b\x72\x36\x56\x7f\xc3\x20\x7b\xd4\x64\x31\x6b\x83\x0b\x77\x26\x47\x84\x84\xef\xca\xdc\xba\x6f\x57\xfb\x5b\x5e\xe0\x8b\x25\xc5\x31\xc5\xc9\xe5\x09\x35\xc6\x1a\xeb\x3f\x1b\x60\x18\x2c\x29\xbc\xc5\x74\xf9\xda\x7a\xf3\x69\xd0\x67\xab\xd2\x92\x51\x97\x56\x13\xb3\x37\x34\x6f\x72\x25\x5e\x18\xa7\x5f\x1a\x13\x93\x16\x9e\x1b\xc9\x98\x0b\x63\x15\x37\xf5\xae\x74\xf9\xf5\x93\x25\xa5\x39\x65\xb9\x27\x4b\xd2\x7f\x67\x6c\xc3\x91\xe0\x9d\x7e\x26\xe5\x36\xbe\x04\xef\xce\x6d\x0a\x2f\x0a\x37\x47\x27\x26\xa5\xa4\x18\x70\x3c\x86\x33\x53\x5f\x36\x99\xcc\xda\x98\x30\xd3\x8e\x8a\xa0\x8a\xa0\xe6\x84\xc6\x02\xc6\x64\x74\x98\x5d\x96\xdb\x90\x7f\xb6\x08\xae\x7e\x56\x9c\x53\x5c\x50\x51\x62\xad\x32\xd6\x31\xee\xd0\xe8\x3c\xb4\x1a\x8c\xac\x19\x26\xb2\xcb\x45\x88\x66\x39\xfc\xd5\x79\xd4\x80\xaa\x51\x35\xf0\x01\x4b\x83\xa6\x4b\xc3\x77\x69\x50\x63\xd3\x50\x76\x8d\x9b\xb9\x4b\xe3\x18\xd4\x69\xe7\x79\xae\xaa\x15\x35\x8a\x95\x52\x34\x6e\xff\x2f\x88\xe2\x48\x83\x62\xa5\x74\x76\xa2\xab\x93\x87\xcd\xa2\x5d\x0f\x1a\x9a\xc3\x5f\xbb\xf5\xf4\x31\xd1\x73\x24\x2b\x39\xea\x3f\xbf\x32\xa7\xba\x5a\x6b\xef\x5c\xcc\x76\x77\xd2\xa0\x71\xf8\x04\x9d\x8d\xa0\xb8\xb4\x5c\xd4\xa0\x95\xe6\xa2\xd7\x77\x77\xc2\x29\x51\x82\x2a\x11\xba\x59\x77\x68\x54\x34\x50\x20\xba\x1c\xd7\xd1\x87\x34\x0f\xed\xd6\x12\xbe\x1e\x7c\xc0\xa7\xe1\x2c\x6a\x1a\x02\x02\x50\x13\xb2\x2a\x04\x7c\xd0\xa7\x5e\x86\x1a\xa8\xe5\x6b\x61\x30\x0c\xaa\xb5\x42\x17\xfb\x87\x0f\x4e\x7b\x1f\x87\x0a\x38\x14\xa7\x2d\xee\xef\x03\x8f\xc4\x5a\xa9\xec\xcf\x67\x30\x14\x86\x80\xcb\x90\x52\x01\xea\xa1\x8e\xaf\x81\x41\x30\xa8\xb6\x00\xba\x58\x98\x85\xb3\xb0\xe6\x29\xe6\x08\x98\x83\x35\x43\x71\x16\xce\x92\xd3\xd2\x32\x52\x52\xb4\x61\x30\x08\x07\xd5\x48\x45\x10\x0b\xdb\xe0\x92\x00\x81\x20\x4f\x41\x0d\x4c\x90\x33\xf2\xac\x19\x05\x02\xd4\x42\x2d\x5f\xf3\x1f\xb5\x90\x83\x79\xaa\x0b\xc8\xf8\xa7\x80\x7f\xaa\x2e\x28\x63\x0e\xe6\xc1\x23\xb1\xa6\xa0\x20\x27\x37\x4f\x02\x7f\x88\x83\x2c\x20\xe1\x86\x00\x37\x20\x0b\x49\xf4\x87\x38\x39\x3d\xaf\x20\xa3\x40\x70\x87\x1c\x76\xb9\xe8\x62\x86\x78\xd6\x55\xd1\x78\x42\x10\x3b\x98\x55\x48\x71\x96\x68\xb3\xaa\x9a\x59\xa2\x13\xfc\xdf\x71\x9b\xb5\xcb\xca\xcf\x58\xb2\x64\x86\x64\xa6\x67\x2c\xb9\xfa\xa9\xac\x68\x68\xe8\x16\xcd\xf4\xa7\x57\x97\xcc\x90\x55\x0d\xad\x6a\x6c\xd6\x59\xa2\xc3\x0d\xf3\x8e\xf2\x47\xe2\x3b\x16\xac\xd0\xc6\x1a\xc5\x32\x16\xad\x34\x76\xba\x0d\x66\x41\x63\xd3\x7c\x27\xea\xec\x86\x5f\x59\x9d\x9d\xe8\xb9\x0f\x13\x2e\xde\x16\x4b\x44\x9d\xfd\x37\x28\xf5\xb0\xea\xc8\xa7\xc8\x02\xcb\x55\xe9\xc8\x67\x76\x77\x3e\xe9\xa3\xc0\x4b\xfa\xb6\xd4\xdc\xcc\x2c\x63\x52\xca\xba\x24\xff\x78\xff\x1d\x23\x57\x8d\x9b\x36\x6b\xe2\x94\x61\xfe\x48\x84\x4d\x8c\x19\x9f\xf1\xb6\x85\xb1\xac\xd8\x64\xda\x24\x84\xc5\x25\x86\x65\xca\x31\xe8\x16\x83\xae\xce\xab\x5b\xac\xf3\xca\xec\xca\xd8\x17\xbe\x5f\x80\x1c\xaa\x79\x7f\x5d\x73\xbe\x9c\x55\x76\x09\x9e\xe6\x54\x90\xcd\x79\xfb\xeb\x9a\x85\x93\x14\x34\xc3\x2e\xa0\xe0\xc1\x0d\xb9\xf4\x76\xf6\x27\x89\xd7\x18\x33\x8d\x7e\x70\x98\x87\x57\x26\x83\x1b\x0e\xb8\x24\xd5\xcf\x1e\x5a\xb1\x5e\x50\x7f\xa6\x36\x6f\x0f\x0e\x48\x93\x31\x5e\x67\x9f\x4a\x06\x67\x54\xef\x6e\x14\xe0\x0c\x55\x90\x9d\x9d\x6f\x91\xf7\x3e\xbb\x04\x7f\x96\xde\x61\x3a\x8a\xdb\x0e\xde\x10\xae\x5d\x33\x59\xae\xc9\x8f\x2c\x0f\x8b\xbf\x3c\x00\xaf\x5c\x7e\x02\xc4\x05\x18\xc1\x70\x8b\x1b\xee\x54\xdc\xbd\xaf\x75\x7f\xce\xb6\x38\xfe\x90\x2b\x0b\x6c\xcf\x79\xf5\x05\x6a\x77\x5c\x50\xe4\x5e\x19\x26\x63\x10\xb0\x98\xff\x05\x36\x31\xca\x52\x6a\x2e\x1c\x44\x77\xb0\xe2\xdb\x90\xc2\xec\x4d\x8a\x2a\x8c\x12\x94\xcb\x68\xe3\xc7\xc1\x26\x74\x83\x40\xec\x0f\x51\x99\x38\x2a\x1e\x87\xed\xc6\xc1\xc0\xe2\x92\x87\xb8\xe2\x22\x06\x9c\x03\xee\x38\xbc\x74\x08\x04\xe6\xa9\x6d\x25\xaf\xce\xa2\xa0\x41\x9d\x0e\x26\x35\xfb\x90\xda\xc4\x28\xef\x52\xab\x95\xb3\x18\xaa\xe4\xe2\x05\xe5\x35\xc6\x36\x47\xed\xe4\xa1\x7d\x33\x1c\x9d\x02\x35\x52\x43\xea\xee\x8a\x5d\x02\x22\x15\x19\x1f\x15\x99\x2b\x5f\xc4\x85\x2d\xb8\xa2\x1c\xd7\xc1\x3b\xf8\x04\xdc\x55\xb7\x93\x2a\xc5\x7c\x08\xe9\x47\xe0\x14\x34\x69\x9d\x2f\xc0\x02\xaf\xa3\xff\x0d\x1a\x57\x1d\x7d\x52\x39\xc1\x9b\x53\x0f\x06\xc2\x48\x29\xe9\x52\x4a\x58\x7c\x80\xc5\xe2\xfd\x2e\x0e\x48\xd8\x62\xd6\x1e\xba\x67\xae\x17\x74\xf6\x35\x37\xf8\x59\xb0\x04\x47\x3c\xc3\xf9\xed\x59\x25\x5e\x50\x45\xb5\x34\x25\x6e\x2c\x90\xaf\xe2\x19\x12\x66\xc1\xbf\x78\x98\x4e\x61\x69\x17\x4f\xe2\xdb\x14\x0a\x4a\xfe\xe3\xcd\x0f\xdf\x38\xfc\xaa\x77\xf9\x18\x18\xab\xcc\x25\x41\xee\xf2\xe4\x7f\xb7\x79\x92\x30\x91\x1a\xd8\xe5\x49\xe2\x44\xca\x66\xb5\x51\x7c\x38\xca\xf1\x05\x41\xa5\x9b\x8a\xde\x31\x79\xcf\x0d\xda\x15\x12\x74\x38\xf2\x6a\xb0\xfc\xf3\xda\x53\xfa\x69\x5a\x23\x7a\x23\xe9\x8b\xd3\x2c\x8c\xdf\xf4\xbd\xfb\x36\xcb\x35\x30\xa8\xda\x40\x86\x5e\x6c\x49\xf9\x58\x68\xbf\x50\x71\x62\x7f\x64\xd5\xdc\x26\x79\x7e\xd3\xf8\xf3\x96\x1f\x18\xe8\x67\x01\xfa\x6b\x18\x2f\x74\x5c\x48\x48\x3c\x24\x2b\x93\xf7\xf2\xa0\x75\x28\x7a\x95\x8a\xff\x2c\xbd\xda\xac\x0d\xc3\xc9\xe6\x68\xc1\x9c\x1a\xbb\x6b\x92\x84\xd3\x28\x30\x29\x0f\xc9\xe3\xe5\x8d\xc5\xc7\x04\xd0\x50\x50\x06\x9d\x9b\x59\xa5\x11\x35\x20\x64\x94\x96\x1c\x0a\x7c\x30\xfe\x51\xe0\xc1\x06\x78\x01\xd6\x14\xda\xce\x38\xef\x1c\xdf\x07\xfa\xc3\x03\x1f\x36\xd6\x37\x7e\xb9\xbf\xf9\xfb\xa3\xd1\x35\xd1\xed\x8d\xb7\x9a\x3e\x6d\x6c\x6c\xbc\x61\x3c\xfa\xc9\x81\xa6\x2f\xf7\x1f\x3d\x70\xa3\xf1\x8b\x03\x27\x13\x8b\xb2\xcb\x2a\xe1\x3e\x97\xfa\x78\xc4\x3b\xf6\xdf\x75\x6e\x07\x79\xac\xc0\x60\xa3\x3a\x0a\xaa\x30\x98\xd1\x8f\x1f\x16\x34\x44\xe0\x7a\xbd\x47\x10\xd8\x8c\xd1\x10\x0d\xcd\x70\x08\x9c\xa1\xec\x64\x79\xf6\x24\x48\xff\x40\x3e\x14\xc6\x43\x11\xfa\x5b\x54\x09\x8b\x71\x1d\x16\xc3\x3a\x8b\x22\x41\x11\xf8\x33\x87\x6a\xf9\x4b\x0f\x9e\x34\x3e\x13\xa0\x19\xa2\x31\x1a\x0f\xc9\x5c\x32\xd3\x23\x0c\xa3\xb1\x79\xe8\xd0\xc6\x4b\xe3\x25\xa8\x86\xa0\x0c\xe5\x35\xdc\x07\xc1\x8c\x2d\xa6\x6b\x0b\x1f\x9b\x59\x9e\x4a\x73\xbd\xdc\x08\x22\xbb\x3c\x93\xae\x8e\xe5\xcb\xe8\xf4\x44\x32\x83\x4a\x2b\x21\xe3\x33\x2b\x73\xe9\xbc\xc4\xbc\x12\x32\x37\x8a\x4a\x52\xe7\xf3\xce\x67\x3a\x4c\x66\xb3\x49\xc8\xcc\xcc\xa6\x9c\x1b\xc8\x39\x2e\xda\x64\xb7\x8c\x5c\xd2\x94\x9e\x59\x92\x47\x71\xc9\xbd\xfc\x88\x2c\x8b\xc9\x22\x58\x4c\xe6\xbf\x3e\xa6\xde\x83\x4d\x66\x93\x51\xc8\x49\x27\xb9\x01\xbd\x0c\x84\x0e\xff\xf1\x4f\x3e\xac\x2c\xba\x5e\xe2\xdc\x08\x3f\xa2\x76\xef\xbe\xba\xda\xb8\x8a\x30\xd9\xc9\xbb\x3b\x3e\x3a\x4c\xe6\xfa\x12\x7e\x84\x12\x74\x92\xe7\x3c\x88\x2a\x22\x2a\x29\x31\x3a\x53\xe6\xdc\x08\x1f\xe2\x53\xaa\x2a\x33\xb1\x28\x5a\xe0\xfa\x12\x3e\x04\x28\xfe\x0e\x31\x75\x75\x3d\x02\x42\x43\xe3\xa3\xc3\x24\x27\x2b\xd4\x79\x86\xed\x8d\xae\x93\x9c\x12\x6b\xcb\xf7\xd5\xd5\xc6\x3a\xe4\xfb\x10\x43\x89\xd0\xb8\x68\x27\xd4\x97\x80\x31\x6f\xf3\x59\x8e\x41\x51\xce\xb2\x58\x2c\x16\xd9\xe2\x80\x2d\x8c\x39\xcb\x01\x98\xb3\x4c\x16\x4b\xef\xc1\xa6\x2c\xb3\xc5\xe4\xf8\x98\x8d\x16\xc6\x19\x98\x4c\x66\x63\xef\x41\x26\x93\x23\x5f\x8c\xc9\x64\x32\x19\xb5\x0e\xd8\x6c\x74\xe4\xd4\xd8\x7b\xb0\x93\x5a\x32\x59\x1c\x45\x60\x72\x88\x17\x74\xf6\x0b\x39\xfc\x6d\xba\x66\x4f\x49\x94\xc4\x19\x08\x1f\x22\x3a\x21\x29\x4c\xf6\x0b\xee\x41\x45\x25\x26\x85\x49\x7e\x41\x20\xd0\x4e\xf3\x1a\xe3\xa8\xb2\xa2\xd2\xdc\x52\xa1\xaa\x2c\x39\xde\x2a\x57\x14\xef\xcb\x2d\x17\x0e\x99\xaa\x22\x77\x6a\x39\x03\xe1\x46\x8c\xa5\x41\xe7\x59\x4e\x27\xee\x49\x48\x8d\x16\x02\x82\x1b\xdb\x64\xce\x40\x30\x44\xdb\x81\xc6\x23\x15\xa5\x29\x49\x85\xd2\x5e\x9a\x73\x23\xdc\x88\x03\xb3\x29\x27\xfd\x2c\x1a\x86\xb5\xf1\xbb\xc3\x63\x36\x47\x44\xe5\x15\xc5\x49\x25\x35\x64\x6a\x61\x59\x6a\xa5\xc0\x25\x13\x24\x51\x59\x94\x57\x94\x9f\x9a\x13\x9b\x2d\x73\x0c\xe1\x42\x24\x66\x91\x81\x39\x71\x25\xd5\x0e\x55\x24\xd1\x50\x5d\xde\x5c\x5d\x91\x9e\x5c\x2a\x25\x85\x91\xb9\xc9\x71\x79\x31\x42\x5c\x72\x5a\x72\x72\x61\x66\x89\x51\x76\xb2\x97\x1a\xc9\x03\x19\xfb\x92\xc2\xb4\xe0\xb9\x9d\xe7\x92\x0d\xae\x7b\xd2\x92\xe3\x33\x92\x84\x6d\x49\x15\x4d\xf2\x07\xbb\x1a\xf6\xb7\x35\x6e\x3c\x13\xb2\x7a\x21\xcd\x25\x13\x84\x5f\x62\x4e\x72\x99\xe4\x80\x7c\x0a\xac\x59\xb9\x56\xb9\x20\x94\x74\xe2\x1f\x81\x17\x7f\xa4\x3e\x78\x83\x9c\x61\xce\xc8\xd0\xbe\x4c\x85\xe5\x96\x27\x57\x08\x5c\x2f\x82\xf0\x29\x29\xcb\xb3\x16\xc9\xa5\x11\x64\x42\x5c\x74\x7a\x94\xe0\x64\xde\x14\xbc\xff\x84\xec\x48\xed\x7b\x7c\xff\x81\xa3\x12\xbc\xee\xe9\x40\x33\x79\x05\xa6\xcc\x7c\x39\x79\x17\xc9\x19\x08\xa2\x57\x76\x5a\x9a\x25\x4d\x88\x4a\x4e\x8c\x90\xa7\x04\x81\xd0\x48\x3b\xb0\x4c\x9c\x33\xe8\x55\x9c\x5f\x54\x50\x2e\x34\x4e\xe7\xdb\xf6\x37\x9e\x94\x38\x3f\x97\x5e\xbd\x2a\x4b\xd3\x0d\xa5\x72\x42\x18\x59\x60\x30\xe4\x24\x0a\x9c\xc1\x8d\x20\xc2\x62\x63\x77\xef\x2e\x8f\xad\x95\x4b\x4c\x45\xb9\x45\x05\x0c\xc7\xb8\x11\x44\x69\x18\xe9\x4c\x4c\x4a\x48\xc8\x88\x12\xb8\x54\xa2\xaf\xc1\x7f\x57\x63\x9b\x0c\xc6\x59\x3c\xc7\x10\x84\xa1\x9c\x4e\x4c\x76\xd6\x4d\x50\x63\x5b\x5b\x63\x4f\xad\x58\xe5\xbd\x4e\xcd\x86\xc6\xd9\xd4\x2c\xda\xc9\xf4\x1b\xc8\xbc\x03\xd5\x37\xcf\x6a\xca\xcc\x73\xd8\xdd\x63\x72\xf4\x9e\xc4\x08\x47\x65\x10\x7d\xa7\x04\x83\x70\xa0\xc7\xe2\xbe\x3d\x16\x83\x0f\xca\x7c\x8f\xfc\x28\x61\x4b\x8f\xfc\xd6\x4a\xa7\xfc\x9b\x34\x67\xe8\x4b\x10\x07\xd0\x9d\x9a\x45\x9f\xad\xe4\xb3\xb2\x4c\x59\x82\xf3\x31\x2e\x13\xc3\x19\x86\x12\x8c\xc5\x64\x31\x5a\x4c\x8c\xc5\x68\x36\x3a\x9b\xaa\xd1\xd1\x54\x4d\x26\xa3\xc9\xc4\x70\x2e\x04\xe1\xe6\x04\x4d\x8c\xd1\x64\x34\x3b\x7f\xbd\x07\x19\x9d\x0d\xdf\x99\xda\xcb\x68\x31\x65\x59\x9c\xc7\x83\x39\x7a\x86\x39\x2b\xab\xf7\x60\x8b\x25\x2b\xcb\x22\x39\x79\x2d\xce\xc7\xbc\x98\xac\x2c\x8b\x45\x00\x55\xe7\xf6\x5d\x8f\xbf\xec\x50\xbe\xf9\xe8\x3c\xc4\x62\xc4\x77\xa3\x21\xfc\xe5\x5f\xa6\x7e\xe6\x61\xfe\xe3\x06\x0c\xf8\xb8\xf1\xc6\x71\xd8\x5e\x05\x85\x15\xb6\x97\x0f\xc0\xfc\x13\x37\xac\xc9\x0f\x60\x44\x07\xf7\xd9\xbf\xfd\xe0\x23\x9b\x99\xe7\x98\x8b\xc4\xc1\xc4\xa6\xf0\x4a\xa9\x32\x72\x77\xfe\x06\x21\x16\x43\xca\xa9\xe3\x0d\x05\xfb\x2a\x65\x07\x4d\x4d\x55\x49\xd3\x41\xad\x8e\xfa\xf5\x06\xcf\x31\xae\xc4\xc1\x88\xf2\x8d\x52\xd4\xcb\x15\xd4\xf1\xea\x7d\xcd\x32\xe7\x36\xde\x4f\x67\x5b\x36\x97\x5f\x15\xb1\x26\x60\xa7\xc4\xf9\x78\x11\x21\x3b\xb7\x18\x56\x0a\x8e\x84\x57\xe0\xd1\xcf\xd4\x1f\x9d\x33\x87\xc9\x8d\x38\x91\x87\x47\x37\xf0\x11\x0d\x05\xbf\xf2\x73\xd7\xac\x9b\xb5\x6a\x6b\xe5\xc9\x20\xe9\xf8\x31\x92\xf3\xa0\x88\xe0\xb2\xba\xf8\x26\x81\x73\x23\x0c\x07\xaa\x2a\x1b\x4a\xd3\x8a\x13\x0b\xe4\xd4\xdc\xc4\xdc\x50\x2b\xb3\xb0\x3a\xb2\xf6\xb4\xf6\xbd\x53\x6d\xef\xb7\x34\x27\x85\xee\x97\xb6\xfb\x93\x1c\x43\x18\x2a\x62\xe3\x0a\xa2\x84\x5d\x51\x71\x91\x31\x45\x7b\x8e\x26\xc8\x9f\x85\x54\x87\x2d\xd7\x42\xd3\x68\x3e\x21\x38\x2c\x7d\x97\x30\xf4\xad\x3b\x4f\x7e\xb9\xf7\xf9\x93\xfd\xb5\x69\x09\xfb\xe5\xb7\xe8\x86\x90\xf0\xa2\x40\x61\xe1\xea\x15\xf3\x66\x9f\x5e\xfd\xd1\x81\x9a\xa2\xfa\x7a\xf9\x2d\x5a\xe7\xf6\x89\xfa\xab\x73\x76\x65\xfb\x8a\xb2\x0f\x80\x29\xca\x35\xe8\x04\xdf\x67\x8c\x5a\x4b\x77\xfd\x60\x33\xf2\x43\x26\x4e\x1c\xe2\xf0\x99\x86\x21\x13\xbf\x7c\xf6\xec\x4b\xc7\x6f\xe2\x10\x19\x5e\xc1\xa9\xfc\x36\x0a\x07\xc0\xcf\x24\xe7\xc6\x10\x37\xa9\x6f\x31\xfc\x3b\x08\x27\x6f\x52\x07\xf0\x11\x0f\x8f\x60\xfe\x52\x7c\x71\x2a\xd0\xcb\x90\x1e\x0d\x2f\x2e\xa3\x61\x93\xe7\x68\xf0\x26\x93\xd1\x7b\x2e\x3c\xa2\x1c\xf2\x7e\xa1\x6e\x9f\xd8\x3a\x7f\x45\xc8\x8e\x55\x7b\x64\xce\xcf\x8d\x78\x8e\x3e\x24\xbc\x68\x9b\xcc\x7f\xb6\xf8\xda\x34\x49\xa7\x30\xd4\xb4\xc5\x8b\xa6\xca\x3a\xec\x4d\x4f\x7d\x7f\x51\xa7\xa4\xa3\x15\xaa\xf3\xfd\x6b\x9f\xc9\xee\x4a\x23\xd4\xb6\x6c\xbd\x7a\xe8\xd2\x9a\x4b\x6b\x2f\xbd\x7b\xe9\x0c\xac\xc6\x55\x97\xdf\xfb\xe6\x75\x18\x96\x7a\x79\x19\x30\xc8\x40\x0d\x6e\x81\x2d\xe8\x77\xd9\xff\xd2\x91\x7f\x2e\xbd\xe2\x61\xbe\x39\xfd\x2e\x4c\xae\x7e\xef\xc6\xe9\x8a\x8e\x8e\xf8\xca\xf6\x8f\xce\xdc\x80\x05\x37\x96\x77\x9c\x06\xd7\x41\x95\x47\x3f\x59\x72\x6b\xd6\x8d\xca\x1b\xeb\x3e\x3a\x58\x19\xf5\x91\x3f\x4c\xc3\x7e\x37\x67\xdd\x78\x49\x47\xbd\x7a\x03\xc4\x9a\x9a\x8f\x17\xc1\x7a\x9c\x73\xe3\xe3\xba\xa8\x7f\x16\x7c\xb4\xf4\x9f\xed\x7f\xea\x2f\x71\x33\xa6\xcb\x3b\x56\x7c\x5f\x05\x2f\xda\x7e\xe6\x4f\x02\x71\x0a\x09\x52\x39\xa0\xd6\xf0\xf8\xfa\x7b\x30\xe0\x12\xc5\x19\x0c\xbd\xdc\x18\xa6\x2f\x0e\x38\x0b\xe3\xa8\x4f\x27\x91\x1c\x91\xea\x45\xf4\x1a\x50\xf5\x95\x89\x7f\xfa\x27\x89\x41\x34\x2c\x81\xd1\x3c\x47\xf8\x11\x04\xe1\x47\x84\xc6\x18\xc2\x25\x8e\xc8\xec\x95\x4c\x10\xc4\xf8\x4f\xbe\xa2\xaa\xf7\x25\x87\xc9\x70\x3c\x87\x0f\x89\x4c\x8f\x90\x26\x52\x1c\xe1\xd7\x97\x20\x08\xe2\x83\xfb\x74\x65\x75\x46\xa8\x8c\x4d\xca\x16\x7e\xb7\x33\xed\xda\x7d\x8a\x23\x72\x37\xfb\x11\x44\x5f\x67\x92\xe2\x3f\x93\xe7\x08\x37\xc6\x41\x7e\x0a\x88\x93\x48\x90\xdd\x4d\x30\x8a\xe7\x88\xbe\xd3\x1d\xda\x90\xa0\xde\xc2\xf9\x63\x61\x3e\xd9\x1f\x0b\x29\x8e\xf0\x71\xda\x80\xbd\xa0\x90\x1c\x41\x71\x84\x1b\x41\x10\x6e\x06\x64\xb0\x96\xfc\x94\xaa\xbb\x46\x82\x40\xd5\x2d\x22\xc1\x0b\xb6\x51\x3f\xe1\x36\xf2\x0a\xf5\x13\x6c\x23\x71\xdb\x47\xb4\x72\x11\x8f\xf0\xff\x5c\x5d\xb5\x50\xe2\x88\xbe\x7e\x0e\x3e\xdc\x44\x39\xc1\x5e\x04\x31\x61\xcc\x9b\xdf\x92\x58\x82\xb5\xd4\xdf\x89\x60\xa5\x1e\x7c\xf7\xc5\x68\xb2\x47\x83\x0f\x01\x1e\xdf\x53\x9f\xc1\x8b\x31\xe0\x22\xe3\x49\xf8\x89\xc7\x57\x1c\xa4\x06\x87\xf2\xf7\x60\xe8\x25\x1c\x7a\x16\x5e\xa1\xff\xce\xc7\x15\x0c\xc2\x5a\x08\xa2\x75\xe4\x24\xd5\xcc\x27\x04\x6f\xcf\xdc\x29\xe0\xa4\x5a\x2a\x26\x7c\x6b\x5a\xb0\xa0\xd6\x7f\x4d\x15\x19\x2d\x7b\xa4\x94\xa1\x38\xed\x5f\x54\x52\x70\xa0\x29\x48\x88\xa4\xb8\x0d\x7d\x5d\x5c\x08\x82\x18\x83\x5b\xe9\x77\xdf\x27\x39\x37\x82\x70\x94\xa1\x7e\x31\xc9\xf9\xf4\x80\xf8\x58\x71\x87\x7f\x51\xe7\x96\xbc\x77\x95\x84\xc4\xff\x30\x34\x9c\x30\x46\x55\xc9\xd5\x10\x40\xef\x3f\x9c\x1e\x5b\x2b\x57\xc3\x27\x34\x97\x47\x10\x44\x7f\x82\x88\xa0\xb9\xc5\x0e\x8b\x0c\xc4\xbe\x8a\xe6\x9c\x3a\xe1\x6f\x3c\xcc\x88\xa0\xca\x6b\x1a\x73\xf7\x0b\x5c\xbf\x1e\xe1\xd0\xdb\x36\x91\xea\x5c\xfc\xc1\xdf\x0d\x79\xe1\x34\x59\x15\xe8\xbb\x30\x8b\x84\xc9\x54\xb5\x3f\xc9\xf5\xef\xef\x37\x9a\x20\x88\x93\x34\x47\xf4\xf2\x63\x0c\x04\x01\xab\xa8\x13\xc3\x4f\xfc\x42\xda\x18\xaa\xbe\x21\x23\xa6\x52\xae\xa6\x39\x82\x21\x9c\x49\x7e\x11\x14\x47\xf4\x22\x18\x3f\x82\xd8\x77\xe8\x68\x4e\xab\x00\x59\x54\x8d\x3f\xe9\x48\x77\xd4\xdf\x49\x58\xf0\x1f\xda\x3a\x7f\xf2\x24\xcc\x56\xdd\x69\x6e\x86\xc3\xd2\x25\x04\xce\xa5\xb6\x5f\x25\x97\x60\x14\x1d\xfa\x01\xb9\x8c\x0a\x5d\x48\xce\x1a\x63\x68\x9e\xeb\x1c\xcd\x08\xa2\x1f\x11\x8e\x07\x69\x6e\xaa\xc1\x09\x3f\xa2\xf3\x4d\xf9\xc9\xd2\x1e\x13\x39\x54\x3d\xd2\x4e\x73\x8e\xb6\x41\x30\x44\xd4\x1a\x12\x49\xea\x6f\x81\xd1\xa7\xc9\xb5\x18\xec\x90\xa6\x77\x48\x43\xd7\xae\x89\xd4\xb4\xf7\x17\xfe\xdd\x41\x3f\xe8\x94\xbb\x4c\xca\x26\xbe\x43\x6f\x5d\x21\xe1\xab\x58\x7b\xc3\xc1\xe9\x28\x59\xe2\xe9\x27\x34\xd7\xaf\xaf\xb3\xc4\x4e\x94\xa5\xac\x95\xd7\xdd\x78\x8f\x3e\x9c\x5a\xbb\xb5\x44\x6a\x2c\xde\xdb\xd8\xa8\xc5\x46\x65\x2b\xdf\xa1\x2f\x78\x57\xc2\x91\x16\x12\x6b\x3b\x9e\x7c\x4a\xdf\x8a\xdf\xb4\xc4\x22\xdf\xa0\xfe\x6e\x39\x17\xe9\x96\xb4\x9a\x2d\x25\x12\xc7\x3a\xbb\xc4\xe2\x03\xc5\xe5\x8d\x4d\x5a\xa5\x5e\xfd\x83\xc7\x11\x16\xf2\xef\xd6\x33\xe2\x32\x06\x62\x2d\x04\xd2\xea\x5b\xb6\x48\x7e\x0e\xd6\x7e\x44\xd9\xe6\xa8\xfd\x78\xf0\xc4\x49\x6f\xbc\xaf\xad\xae\xc8\x2e\x97\xe0\xc5\x2b\xe8\x49\xad\xdc\xb0\x5b\x2f\x23\x0f\x6f\x7e\xb1\x44\x1b\x19\x93\x11\x27\xa1\xc7\x12\xf0\xa0\xae\x9e\xac\xee\x90\x21\xe5\x1c\xdf\x53\x4e\xc4\xfa\x8d\xef\x21\xb9\xea\x8c\xb6\x7a\x5f\xf6\x3e\x09\xd8\x2b\xc8\x53\x2b\xd7\xff\xc5\x79\x6f\xa9\x36\x2a\x36\x3d\x4e\xc2\x7e\x4b\xa0\x1f\x75\xb0\x35\x7f\x7f\x85\x8c\x13\x6c\x4b\xf9\x39\xb8\x98\x42\x0a\x16\x93\x43\xd1\x4a\xa1\x0b\x58\xc9\xe1\xd4\x28\xdc\x4e\x06\x53\xef\x1a\x0e\x9e\xfe\xf1\x7a\xfc\x3f\x4d\xf2\xfb\xf3\xe9\x51\x1b\xd7\xbc\xe6\x7b\x6c\xed\xb7\xf2\x6d\x67\x9f\xd3\x52\xf5\xce\x3e\xe7\x4f\x81\x3b\xfa\x93\x9c\x9f\x63\x34\x26\x16\xff\x40\xb9\x2b\x8d\x4a\x1b\x0c\x2d\x83\x17\x3c\xcc\xa0\x51\x02\xe0\x15\x7b\x20\xbc\x02\x67\x40\xc3\xc5\xdb\x12\x6c\xac\xd2\x5b\x6c\x88\x6c\x3d\x7b\xb4\xf5\xac\x64\xab\x87\x61\x3c\x97\x7b\x22\x20\x6b\xbb\x14\x43\xa5\xa6\x67\xa4\x9a\xe4\x58\x9f\x83\x16\xf2\x42\x4b\xf1\x35\x19\x7e\xc7\x61\x4a\x6f\x71\x7f\x64\xeb\x19\x07\xb1\xce\x7e\x00\xa6\xc0\x39\x11\x7b\x91\x06\xd3\x9e\x14\x83\x30\x85\x82\xcb\x62\xa1\x00\xbe\x60\x61\x67\x52\xc9\x19\xf9\xd6\xbc\x2c\x6b\x56\x9e\xbc\x2b\x74\x5d\xdc\x56\x61\xf2\xaa\xf3\x77\x7f\xbe\xfd\xe8\xc9\x91\xe6\xb4\xed\x35\x32\x5c\x65\x95\xe1\x59\x7c\xa6\xd9\x68\x34\x4a\x58\xa0\xba\x91\x69\x19\xa9\x19\xa9\xc2\x5b\x54\x6a\x5a\x5e\x7e\xf1\xcd\x1f\x8b\xca\xe4\xd4\xaa\xc9\x10\x99\xab\xcd\xcf\xcb\xcf\x97\x6e\x53\x85\xd6\xd4\xe4\x6c\xf9\x24\x0e\xff\x03\x5e\x23\xf3\x72\xf2\x73\xf2\x85\xcf\xa9\xfc\xbc\xd4\x54\x59\xe9\x7b\xd6\x61\x06\x43\xa6\x1a\xd3\xd2\x52\x84\x09\x14\x37\x1b\x2e\x8b\x45\x02\xbc\x0e\x16\x96\xcb\xfc\xcb\x94\x6c\xab\x25\x4f\xde\x15\xb6\x2e\x6e\x8b\xd3\x14\x99\x5b\xec\xb0\xe6\x68\x73\xda\xf6\x6a\x09\xae\xb2\x30\x03\x86\xf2\x73\xd5\x91\xce\xbc\xec\x11\xe6\x50\x29\x69\xf9\xf9\xb2\x25\xeb\x86\xe2\x4b\xe6\x59\xf2\x72\xf3\x84\xcf\xa8\xfc\xbc\xb4\x14\x59\x67\x63\x50\xe0\xdf\xb3\x6e\xcf\x5b\x27\x44\x53\x69\x69\x3d\x65\x74\xc8\x42\x9e\x6c\xce\x3b\x5f\x20\xeb\xe8\x68\xa5\xc4\x31\xab\x50\x92\x1e\x8d\x85\x8a\x31\x4f\x7e\x3c\x0d\xaf\xc3\x63\x0f\x33\x68\xe1\xe7\x4f\x21\xf1\x2c\x14\xb5\xc2\xf0\xf7\x61\x38\x50\x30\xac\x09\x86\x42\x2f\xe8\x0f\x1a\xee\xc2\x73\x1d\x35\xd9\xd6\x87\xff\x22\xfa\x78\x40\x4a\x78\x66\xc8\x6e\x89\x5b\x4a\x60\x38\x9d\x56\x5c\x9a\x59\x26\x54\x55\x94\x54\x17\xcb\xa5\x75\xf9\x87\x4f\x6b\x95\xb9\x2d\xfc\x47\xc6\x98\x83\xdb\x85\xed\x31\x81\xb3\x33\x64\xe8\x45\xe9\x6c\x3f\xa1\xc0\xaf\x88\xdd\xbc\x3d\x44\x0a\x0b\xf4\x4f\x7c\x47\x98\x35\xb7\xaa\x72\x9b\xbc\x0f\x48\x32\xac\xed\xc3\xe8\x23\x42\x53\x79\x51\x65\x55\x4c\xc9\xbb\x15\xf2\x84\x03\x2b\x5b\xee\x6b\x4f\xed\x3d\x72\xb0\x5e\xaa\x6b\x3c\x5e\x72\x5e\xb8\x75\x21\x2a\xa9\x4e\x8e\x41\x37\x72\xef\xce\xb5\xe5\x6b\x85\xb0\x84\xe4\xd8\xa8\xda\xc4\x93\x71\xb2\x99\x7e\x10\x74\x7e\xdb\x38\x2d\x9c\x81\x9d\xfc\x5b\xb8\x92\xda\x5e\x12\x77\xa0\xb4\x2a\x37\xcb\x2a\x21\x4b\x67\xc4\x86\xa7\x6e\x16\x56\x6e\x2d\xac\x0c\x95\x83\x6b\xe3\x8f\x5e\xd1\xc2\xae\x05\x74\xf9\x6f\xa7\x0b\xf6\x01\x05\x7c\x15\x89\xc2\x63\x1a\xce\xa1\x8e\xcf\xda\x93\x62\x4e\x11\xb6\x86\xa4\x84\x47\xcb\xf8\x3e\x0e\x57\x76\xc2\x4b\x74\xe1\x32\xf2\x58\x49\x73\xf5\x71\xc1\x6a\x35\x19\x0b\x65\x94\xe9\x56\xfc\x86\x57\x76\xc2\x70\x75\x27\xad\x04\x42\x16\x3f\x3a\x6a\xd6\x46\x7f\x69\xed\x06\xfd\x9e\x2d\x42\x64\x58\x4e\x7e\xb8\x8c\x23\x68\x1c\x1e\x4a\xda\xbc\x69\xee\xc2\x73\xf0\xa2\x0a\xd6\x90\x47\x5a\x8e\xec\x3b\x21\xb4\xb7\xc6\x6e\x6b\x90\x1b\x03\xca\x16\xbe\xa9\x55\xb7\xc1\xaf\xbc\xff\xb6\xad\xfe\x12\xe7\xa7\xf1\xdf\xd6\x72\xf2\xe4\xe1\xc3\x27\x4f\x1e\xde\xe6\x2f\xdb\x3d\xd1\xc6\x1b\x4c\xdb\x4d\xa9\x12\x5a\xa8\xec\x40\x6b\xc4\xde\x44\x86\xbb\xf0\x3c\xb1\xb4\x32\xed\x80\x70\xe6\x44\x51\x65\xab\xbc\x77\x10\x19\xba\x65\x71\xfc\x3c\x61\xc6\x3b\xfb\x5a\xb7\xc8\x5c\x15\xb3\xe1\x58\x64\xc7\x57\x5a\x78\xe5\xde\x4f\xa0\xb9\x7e\x36\x62\xc3\x21\xe9\xe0\x86\xbd\x8b\xfd\xb4\xa0\xb1\xc9\x9b\x59\x68\x44\xeb\x17\xb0\x22\xb2\x3a\xd2\xc3\x66\xfd\xe2\x0b\xd0\x73\xad\x3a\xca\xd3\xe6\xc7\x73\x9f\x74\x35\x75\x4d\x25\xb1\xbf\x05\x1c\xbd\xb9\xbf\xc0\xb5\xce\x13\x65\x45\x1f\x23\x2a\x2f\x88\x8c\xda\xd4\xf5\x2b\xff\x84\x05\x5a\xb4\x27\xea\x28\x3f\x7e\xdc\x63\x43\x69\xa4\x25\xd1\xe0\xad\x8e\xc5\x7f\x93\xdc\xa9\x7c\x96\xe4\x5a\x4b\x8a\x2d\x95\x86\x52\xc6\xbd\x47\xc7\x74\xd0\xa0\x1b\xb8\xa5\xb3\x60\xf5\x80\x33\x2c\x68\x9c\xda\x1e\xd8\xeb\xd0\x97\x87\xd5\xec\xf0\x49\xf7\x7e\xb1\xe6\xe7\x5b\x25\xee\xbc\x35\x3f\x35\x79\xd2\x8d\xb9\xf7\x1c\xa1\xcc\x3d\x50\x9b\x95\x5d\xfc\x0f\xf0\xf6\x29\xd8\x01\x56\x2d\xf0\xe0\x0e\xcb\xa0\x0c\x96\x02\x33\x64\xc0\x39\x49\x09\xe9\x9e\xc5\x2b\x2f\x88\xe8\x3a\xdc\xab\x0d\xe7\xde\xc6\x57\xc0\x15\xfb\x31\x5d\x46\x0a\x87\x21\xff\xdf\xec\xff\xcb\xfa\x47\x3a\x32\x84\xef\x31\xd6\x61\xab\x57\x3e\xdb\x63\xa6\xb7\x3b\xfe\xfb\xa8\x68\xb3\x82\x15\x52\x44\x0f\x98\x20\x82\x95\xbb\xc0\x7d\xa5\x58\xc1\x97\x9f\x28\xda\xf4\xab\x45\xee\x42\xc7\x52\xb6\x4b\x4f\x73\x5f\x81\xd5\x73\xa2\xc8\x5d\xb0\xe9\xa7\x38\xe2\xce\xd8\x5f\xb0\xda\x66\x0f\xff\x8a\xe5\xbe\x3a\x1b\xb5\xe8\xd8\x72\x01\x3b\xa9\xe5\x8b\x36\xad\x8a\x92\x67\xe0\x9b\x24\x5e\x1f\xca\x72\x17\xe6\xd1\xdc\x57\x2f\xb3\x8f\xbb\xe7\x53\xd8\xeb\xd6\xe8\x6f\x24\xee\x82\xad\x93\xfa\xe6\xd6\x4f\xd0\x4b\xb6\xcf\x86\x08\x36\x48\x04\x5f\x18\x60\x9b\x00\xfd\xc1\x17\x7c\x44\x98\x0e\xe3\x94\x72\x18\x8e\x22\x0c\x87\x22\xd0\x70\xdd\x06\x9d\x5b\xa2\xb2\x91\xb7\xa6\xe4\xa7\x48\xf8\x22\x95\x92\x9a\x9a\x2c\xcf\xa0\xe7\xa3\x2e\xe4\x6d\x5c\x82\x3a\x18\x02\x6b\x61\x39\x78\x82\x00\x8b\xee\x43\x9f\xe0\xf9\xd2\x0c\x3a\x39\x3f\xd5\x2a\x71\x5d\x06\x60\xbf\x67\xc1\x85\x86\xd7\xb1\xf8\xf0\x50\xac\xc5\xf5\xb8\x1e\x6b\xf1\x00\x6c\xc4\x00\x68\x80\xfe\x10\x71\x01\xfa\x4b\xaa\x87\xfd\x75\x1e\xde\x11\x65\xae\xdb\xb0\x81\x95\xfe\xeb\xae\xbf\xec\x90\xd0\x47\x0c\x12\x61\x11\x48\xd8\x1b\x78\xdb\x60\x90\x61\xb8\xc3\xc8\x97\x61\xa4\x92\x08\x2f\xc3\x13\xd0\x70\x0f\x0c\xdc\x05\x83\x7d\xbd\x2d\x8b\xc7\x8d\xe8\x83\xb1\xb8\x16\x3d\xa7\x3e\x84\x61\x12\xf7\x95\x01\x2a\x61\x26\x4c\x80\x89\xe0\x71\xfb\x0d\x1c\x24\x71\x17\x0c\xca\x07\xd8\x87\x57\xfc\xf1\x3a\x5c\x57\xfd\xa1\xcc\xe1\xc6\xa6\x5e\x07\x57\xd0\x49\xf9\x79\x39\x05\x96\x02\x8b\x35\xb3\x20\x3d\x7f\xe3\x59\x2f\x43\x69\x54\x56\x42\x12\xf3\x2a\x52\x38\x68\x05\x0e\xf9\xcf\xe6\xd6\x7f\x80\x23\x90\xb9\x07\x06\xc5\x1b\x72\x30\x47\xf5\xc6\x03\x18\xb2\x6b\x96\x51\xde\x18\x57\xf4\x5e\xa9\xa5\x2c\xa7\x42\x86\xde\x8a\xdd\x92\x6b\x2a\xc8\xcc\xf6\xce\xc9\x4c\xcf\x4f\x17\x90\xa5\x52\x53\xf7\xa4\x98\x64\xc3\x32\x63\x34\xf9\x70\xe5\xc8\x73\xf8\x82\x80\x35\xb8\x1b\x8b\xf1\x16\xc6\xc3\x3f\xd0\x1b\x76\x82\x00\xc4\x9d\xbb\xd7\xe5\xec\x1d\x45\xbb\x2a\x22\x98\x6d\x4d\x67\x63\xae\x97\xe6\x5a\x4a\x04\x58\x9a\x07\xa1\xf0\x02\x74\x68\xdd\xab\x50\x03\x7a\x17\xd8\xce\xba\xea\xa8\x1a\x1d\x59\xc3\x63\x3f\xe8\x87\xfe\x16\xec\x8b\x1e\x18\x86\x11\x5e\x03\x7f\x07\x8a\xf5\xc6\x2d\xb8\xe5\x7b\xd1\xfb\xf9\x00\xf5\x99\xfa\x8c\x0c\x0b\x4b\xdc\xb9\x5d\x8b\xfe\x34\x6a\xd0\xda\x31\xcf\xb9\x99\x29\xf8\x53\xcd\x07\x4b\x6a\x6b\x65\xe5\x99\xf2\xec\xf9\x80\x3f\x44\xd8\x02\x5b\xfe\x25\x7a\x0f\xfc\x1d\x22\x20\x0c\x3c\xa0\xaf\x09\xfc\x1d\xc2\xbd\x75\xb8\x4e\x67\xaf\xe0\x51\x0f\x7a\x4a\xe9\x54\x3a\x41\x8f\x7a\xb2\xe7\x39\x93\x6e\x57\x1d\xb5\x08\x2a\xd9\x55\x6b\x23\x76\x6e\x93\xbb\x3c\xd4\x3b\xe4\xe2\x77\x76\x4c\x7e\x53\x8b\x93\x40\xc2\x41\x30\xf9\xe1\xad\xe6\x2b\x1f\x48\xd0\x0f\x68\x28\x53\x12\xee\xc2\x50\xa6\xb6\xbd\xea\xfc\x45\xed\xcf\xe3\xfe\xf9\x9a\xd4\xdd\xbf\xbb\x82\xc7\x88\x3d\xe8\xbd\x69\x2c\x86\x32\xe1\xc9\x91\x09\xa1\xc2\x06\xe4\x7f\xab\xdb\x22\xe3\x35\x18\x82\x35\xf0\x03\x1c\x85\x55\xb0\x02\x8e\xa4\x49\xa6\x9b\xd8\xeb\xc0\x2b\x77\xde\xfd\xd5\xdb\xbd\x4a\xd1\x80\xd5\x05\x36\xb0\x9a\x90\x38\x11\x34\xbc\x42\x89\x2b\xe1\x43\x56\xa1\xc4\x15\xc2\x8a\x88\xe8\xa0\xed\xf2\xb6\x0d\x2b\xfc\x87\x09\x43\x57\x9c\x3c\xbc\x51\x6e\xdc\x16\x51\xb1\x02\x3e\x64\x55\x4d\x9c\x48\xdb\xf4\x6e\xe0\x2e\x4a\xf3\x14\x3d\x5a\x55\x3d\x5a\xff\x67\x38\x8f\x6a\x62\x65\xd4\xd3\xe7\x6b\x2a\x1a\x9b\xe5\xc3\x6d\xe7\x4f\x3e\x15\x9e\x5c\x80\xab\x62\xb3\x7c\xf8\xf8\xf9\x93\x4f\x84\xa7\xe7\xe1\xaa\x78\xf8\xef\x94\xf3\xfe\xdb\xda\xe4\xa0\xc3\xd5\xd1\xe7\x05\x1d\x12\xf6\x36\xfe\x8e\xa8\x58\x3d\xff\xba\xb8\x83\x37\xab\x6a\xe0\x03\x51\xd5\x60\xa7\xda\xa9\x74\xaa\x7a\xb5\x93\x54\x3b\x8f\x89\xb4\x7b\x15\x1c\x66\x75\xd4\x45\x57\x9b\xd5\xa6\xe5\x6d\xd9\x60\x62\x61\x3b\x2c\xff\x1a\xfa\x83\x2c\x23\x2a\xad\xbc\x72\x5c\x3d\x41\x3a\xa2\x5f\xc3\x72\xd8\xae\x9d\x07\x9a\x5b\x62\x97\xd5\x66\xa5\x1d\x52\x51\xa3\x23\xd7\x2f\x15\xd5\x59\xd4\xae\xf8\xed\x91\x55\x32\xf4\xc1\x3e\xea\x66\x75\x33\x26\x40\x82\xa3\xf2\xd5\xfb\xea\x7d\x47\x25\x29\xbe\x8a\x2f\x24\x60\xc2\x1f\xa2\xad\x8f\xad\x8f\x83\x8a\xac\x8a\x6c\x2e\xdb\xaf\x75\xaf\x32\xc3\x78\x5b\x1d\x8c\x73\x31\xc3\x78\xfb\xbb\x30\x01\xbe\x83\x71\xae\x3a\xb2\xb7\xad\x93\xff\xf8\xbd\xb3\x37\x1a\x4f\x58\x22\x6a\x25\x13\x5d\x17\x5d\x1a\x5e\xb6\x0b\xf8\xa7\x5e\x91\x07\xa2\x9a\x43\xea\x18\x0b\x35\xe3\xfa\xf2\xec\xd7\xb3\x19\x1c\x92\x8b\x32\x72\x38\x54\x6b\xb0\x18\xb2\x0c\xd2\x75\x55\x50\xe6\xc0\x58\x4c\xd6\x62\xaf\x51\xb3\x07\x22\xe5\x07\xc4\x0f\xfe\x12\x3c\xc2\xb1\x61\xca\x18\x35\x54\xc0\x36\xb4\xe0\x3e\x3c\x82\xed\x10\x89\x95\x70\x09\x86\x81\x74\x18\x5e\xf8\x55\x36\x59\xca\xab\xf6\xd6\x16\xd5\x79\x8f\x83\x57\x22\xd6\x07\x05\x04\x6e\xf3\x36\xd3\x7e\xf3\x86\x46\xbd\x22\xe0\x4e\x1c\x05\x7a\xd8\x04\xef\xc2\x34\x58\x0a\xab\x20\xec\x4b\x64\x70\xd5\xe7\x32\xa6\xfe\xf8\x4c\x95\xe0\xb6\x00\xcb\x61\x22\xf8\xc0\x6a\x58\x81\x63\xbe\xc5\x37\xdb\x65\xbf\xaa\xf9\xe5\x21\xf7\x19\x63\x7e\xca\xfe\x3c\xe7\xd1\x75\x03\x74\x24\xfb\xbb\xab\x8e\x2c\x51\xa2\x79\x1c\x88\xbd\x5f\x46\x19\xe3\xdf\x86\x56\xf0\x9b\x2d\xc1\xc0\x65\x4b\x1e\xa0\xaf\x80\x3e\xa8\x41\x2d\xca\x38\x02\x5c\xd0\x07\xc6\x40\xef\x4f\x4e\xff\x71\x59\xbe\x86\x2e\x29\x31\x86\xd8\xa4\x38\x6f\x33\x3d\xf6\xed\x21\xa1\x3e\x02\x46\xe2\x10\x58\x02\x3b\x52\x65\x0b\x0d\x1b\x52\x61\x21\x2c\x83\x4d\x02\xfc\xb2\x0f\x2f\x60\x0a\x30\xf2\x9c\x83\x17\x27\xdf\x17\x6e\x7f\x7c\xe6\x0b\x93\x9c\x4b\x9b\x3e\x1b\xdb\xb0\xa8\x1c\xdd\x0f\xcf\x3c\x1e\x01\x3a\xe6\xaf\xe7\x3c\x5c\x9e\x3e\x7a\x7e\xfd\x64\xea\x86\x76\xc9\x4c\x57\xc4\x94\x85\x96\x45\xbe\x3a\xdd\xcb\x50\x95\xbc\x37\xba\x94\xb1\x50\x7b\x63\x02\x4d\x11\xc2\x9a\x80\x6d\xab\x33\x72\xa3\x2d\xe9\x72\xe5\xa2\x53\x89\x97\xe2\x19\xe8\xbd\x1d\xa8\x79\xd8\x5f\xfb\xbb\xad\xaf\x8f\x08\x8d\x10\x21\xda\xad\x30\x53\x74\x4d\x67\x6d\x1a\xfe\x43\x11\x06\xb1\x70\x18\x62\x31\x16\x0f\x4b\x36\xab\xe7\x87\xa2\xa4\x7a\x52\xf0\x1a\xbc\xf0\x2f\x58\x08\x01\x5a\x08\x18\x0c\x0b\xf1\x35\x78\x41\x52\x3c\xa9\xbf\x09\x65\xd0\x78\x82\xc3\xa7\x1d\xc3\x3f\xa4\x2e\x2b\xf5\x5f\xcf\xca\xc3\x31\x3c\x06\x7f\xc8\xf0\x3b\x2b\xf7\xdc\x0e\xb4\x5b\x41\xe3\xa2\xa3\x0d\xa0\x71\xb5\x69\xdc\xfe\x26\x90\xe0\x77\xf6\x6f\x01\xf2\x7f\x13\x20\x87\x8b\xaa\x95\xff\x6f\x26\x41\x13\xeb\xae\x34\xf6\xbc\x8d\x35\x92\x75\xcc\xa9\x8d\x22\xcc\x14\xb9\x3b\x06\x5b\xb6\xe2\xe8\xbd\x2c\x4e\x87\xd3\x2c\x4c\x87\x54\xf1\xec\x69\x43\xd4\x71\x19\x17\x63\x0e\xb9\x61\x67\xe3\xa2\x8b\x02\x7c\x4c\xe1\x42\xd0\xf0\xe0\x0a\x43\x49\xee\x07\x43\xeb\xc6\xfa\x15\xc5\xcb\x18\x68\xf7\xc4\x09\x54\xc2\x93\x75\xdf\xcc\xfe\xe8\x29\x78\x79\x29\xe1\x94\xad\x53\xd5\xf3\xf0\xce\xdf\xc2\x24\xee\x8e\xe1\x9b\x96\x7b\x57\xae\x4a\x60\x16\xb9\xc7\x06\x18\x27\xca\xdc\x1d\x83\x23\xd7\x66\x5c\x0b\x6b\xd1\x3c\x73\x6e\xdc\xae\x25\x12\x56\x2a\x83\xc8\xf2\xa4\xa8\xa2\x48\x01\xad\xd4\x1e\x16\x42\xa9\x87\xa8\x21\xd5\x59\xa0\x51\x35\x3d\x9b\xfa\x73\x3f\x18\x50\xc4\x79\xe4\xe1\x79\xd3\x2a\x27\x0b\xdc\x1d\xc3\x6a\xf6\xa4\x08\x91\xb0\x10\xde\x84\xa0\x26\x19\x56\x52\x95\x15\xd6\xf2\x62\x19\xfe\x50\xb6\xdf\x18\x46\xbe\x36\x61\x09\xbe\x88\x5e\x5a\xee\x07\xc3\x49\x11\xcc\xb0\x16\x8a\x59\xc9\xdd\x0c\x7a\xc5\x55\x84\x33\xec\x63\xe7\x03\x3a\x1a\x33\x58\x1d\x63\xbf\x19\x34\x9c\x4d\xd1\x40\xe7\x2c\xd1\x6e\xf5\x1c\xcc\xae\x55\x7c\xf8\x4d\xf9\x41\x5b\x37\x09\xdc\x9f\xdd\xed\xd4\xa6\xa0\x96\x63\xf9\xf2\x2d\x45\x43\x36\xe6\xd5\x57\x37\x09\xf6\xe1\x54\x53\x7d\x44\x50\x9e\x7c\x4b\xd5\x90\x18\xa9\x28\x7c\x48\x64\x64\x88\xd4\xa5\xa1\x38\xdb\xee\x88\xaa\x86\x86\xea\xaa\x7a\xd9\xa6\xa1\x1a\xaa\x22\x43\x64\x65\x50\xd7\x76\xfe\x7e\xfa\x07\x31\x5f\x48\x03\x94\x55\x24\xf8\x46\xe3\xa1\xc7\xf8\x93\x80\x3f\xe1\xa1\x11\xe8\x1b\x2d\x0f\x52\x57\x91\x31\x6f\xa6\x2e\x9c\xa0\x55\x9f\x81\x06\xde\x73\xcc\x46\xde\x13\x41\x43\x3b\x66\x50\xbd\xc1\x0f\x3a\x60\xca\x57\xe0\xf7\x15\x4c\x81\x0e\xf0\x73\x81\xb5\x30\x45\x47\x7a\xc3\x14\x57\x1d\x79\xd2\xa6\xe7\xdb\x03\x8e\xae\x96\xba\x96\x52\xab\x03\x36\xaf\x59\x73\x64\xf3\x19\xd9\xb6\x94\x3a\x73\xe4\x68\xbb\x0c\x3b\x3c\x51\xc5\xd3\x78\x0a\x11\x93\x70\x23\xf4\x85\x45\x48\x4b\x76\x1f\xea\xcc\x91\x23\x67\xda\x03\x8e\xac\x96\xbb\x77\x50\xf1\x97\x52\x2e\xbf\xaf\x05\x15\x4e\xc3\x29\x50\x21\x11\x36\x62\x5f\x5c\x04\xb4\xd4\xed\x43\xad\x0e\x08\x58\xbd\xe6\x48\xc0\x19\xd9\xbe\x83\x2a\xd3\x17\x2c\x5b\xac\x55\x68\x28\xe0\xcf\x04\x1c\x59\x2d\xe1\x62\x0a\x8e\xa0\x27\x1e\x83\x55\xf8\x50\x50\x57\xab\xa4\x4a\xa9\xab\x96\xe4\x2d\x2d\xd2\xcb\xe8\xe5\x60\x5d\xb3\xda\xc1\x0a\x4b\x28\x3c\x02\x9e\x70\x0c\x57\xc1\x23\x41\x59\xa5\x90\x0a\xa5\xac\xba\x9a\x76\xc5\x70\x49\x86\x97\x1c\xa6\xb4\xcb\xee\x6a\x12\x5a\x81\x01\x19\xfa\xd6\x40\x6f\xc5\x17\xfa\x2c\x06\x37\xa5\x16\x7a\x4f\x04\xca\xa3\x08\xa8\x56\xe8\x13\x08\xbd\x3a\xe0\xc5\xa3\xc0\x28\x13\x80\xf6\x85\xde\xdc\x47\xe1\xf6\x05\x3a\xb7\x74\xfe\x44\xe9\x35\x98\x7b\x59\x68\x2c\x08\x0c\x9d\x8d\x82\x4a\x06\x4d\x90\xf1\x85\x2a\x12\x17\x20\xf2\xcd\x86\xc3\x99\x87\x53\x77\x47\x87\x87\x47\x84\xee\x69\x4c\x3a\x60\x38\xc0\xe0\x29\xbb\x86\xaf\x29\x3e\xd8\x70\xe1\x2a\xce\x0d\x28\x91\xa0\x0f\xfe\x4e\x66\x85\x85\x64\x87\x09\x9c\x1b\x13\x1b\x63\x4c\x49\x90\x03\x7e\xc5\x3e\x70\xf3\x5f\xda\x49\x5d\x66\xbe\xe1\x64\x7b\xc3\xfd\x9f\x71\xd3\xec\x7a\xc9\x1a\x51\xb3\x34\x5c\x1b\x13\x1b\x11\x25\x71\x1e\x7e\xd3\x70\x05\x54\x77\xca\x5c\x5f\x03\x8e\xc1\x6f\xf8\x0b\xcd\x0f\x3e\x3c\x06\xe3\x71\xeb\xba\xd8\x90\xa4\x84\x77\x56\xde\x38\x1a\x2c\x45\xd7\x47\xd6\x45\xd5\x31\x51\x51\x89\xb1\x41\x5a\xec\x05\x03\x91\x03\xe2\xd3\x1b\x17\x3b\xf3\xcd\xf9\xc6\x7c\xa9\x64\xaf\x29\xbb\x58\xce\x79\x65\x3f\x92\x40\xa5\x30\xd9\xf9\xd5\x96\x0f\xb6\x5c\xbc\xae\x7d\x7a\xe7\xf1\xe7\x97\xa5\xfd\x55\x07\x4b\x0e\x15\x37\x97\xb4\x94\xd5\xd7\x1b\x2b\x33\x2a\x12\xf7\x32\xdc\x47\xe1\xa5\x49\xc9\xb9\xd1\xc2\x70\xbc\x93\x00\x23\x8b\xcc\x15\xc5\xb9\x72\x61\x51\xad\xa5\x54\x00\x12\x8e\xec\x9a\xfa\x95\x7c\x72\x93\x69\xcc\x32\x2d\xbe\xee\x8f\x43\x91\xc0\xde\x12\xba\x0d\x46\xcd\x12\x7c\x45\xc0\xcd\x38\x13\x28\x78\x77\x92\x9c\x78\x28\xe9\x70\x8b\x96\x6b\xf4\x45\x2a\x99\xc7\xad\x30\x03\xdf\x85\xa5\x6f\x4b\xdc\x47\xe1\x21\xb7\x6e\xc7\xdf\x11\x94\xd1\x50\x00\x1f\x2a\x83\x60\x44\x18\xe8\x70\x52\x9b\xdc\x06\x14\xb0\xf0\xe0\x0f\x2d\xc7\xfa\xfd\xa8\xbf\x3b\x0c\x5f\x43\x49\xdd\x80\xbd\xfc\xa5\x67\xdb\xf1\x75\xc5\x82\x3e\x02\xe7\x9b\x89\x2e\x2b\xde\x7c\x19\x49\xe8\x83\xdf\x1c\xc7\x17\xe5\x82\x88\xb0\xfc\x30\x61\xc2\xcb\x83\x27\x04\x96\xfb\x17\x05\xcb\xc8\x6f\x5b\xf9\x06\x7a\x6a\x1d\x4d\x5a\x03\x6b\x81\x81\x35\xca\x06\x58\x03\x93\x60\xa9\x8b\x19\x96\x83\x04\x3b\x61\x0f\xf8\x5f\x81\x9d\x60\x80\xf5\x30\x1a\xf4\xae\xb6\x7a\xa5\x8e\x9f\x94\xb2\x73\xd1\x4c\x01\x5d\xa2\x80\x00\x1a\xc6\x9c\xfa\xe2\xf6\x3f\x8f\xaf\x1a\x9b\x2f\x83\x3f\x0c\x60\xa1\x0f\x68\x60\x6b\x85\xac\x64\x79\x4e\x4a\xd9\xe1\xa4\x8b\xfe\x0f\xdd\xc7\x27\x56\x8d\xcd\x93\x61\xbd\x83\xae\x77\x0f\x1d\x8c\x84\x17\x79\xac\x4e\xc4\x17\xe6\x4f\x90\x92\xa2\x22\x52\x62\x13\x99\x35\xf3\xf1\x74\x4c\x4f\x6f\xbc\x56\x71\x7a\x81\x1c\x53\x1a\x59\x90\x50\xc1\x2c\x7c\x90\x00\x0c\x54\x6b\xa1\xaa\x04\x5e\xb8\xfe\x40\x2a\x29\xaf\x2e\xdc\x57\xc2\x9c\xbe\x0e\xd7\xca\xe1\x27\x01\x7e\x82\xd3\xb1\x6b\x3f\x94\xcb\x93\xaa\x0c\x25\xb1\xcc\xf5\x71\xa5\xc8\x60\x95\x16\xf4\xb6\x2c\x5e\xa7\x10\x3a\x3b\xa1\x63\x08\xca\xdd\x0c\xe1\x76\x3d\x84\xbb\x98\x21\x1c\x7c\xff\xeb\xe7\x6a\x0f\xb7\x0f\xe2\xa1\x01\x43\x21\x14\x1b\x24\x75\xf3\x50\x56\x67\xbf\xf8\x4c\x4c\x67\xa1\x8e\x86\xe1\xe0\x8e\xee\x38\x5c\x56\x53\x9f\x89\x8a\xc6\xee\xdc\x38\x7e\x28\xdb\xed\x46\xe3\x70\x74\xa6\x48\x58\x67\xb3\x52\x43\x58\x27\x5a\x3f\x48\x54\x36\x53\xd0\x00\xa1\x10\x0a\x0d\xb2\xbb\x52\x07\xc1\x2e\x66\xf0\x7c\x02\xab\x7e\x81\x35\x4f\xbe\x7e\x02\x57\x9f\x82\x87\xab\x8e\x94\x6d\x73\xf9\x83\xd1\x95\x3b\x25\x5c\x47\xed\x8c\x8a\xda\x29\x23\x45\xef\xac\x8c\x3a\x28\xc1\x3a\xea\x60\x45\xe5\x41\x59\x4d\x44\x86\x8f\x4f\x4d\x4d\x90\xf4\x54\x7c\x6a\x7e\x99\x0c\xb1\xb4\x93\x61\x38\xb5\x33\x0a\xfe\x25\xbe\x43\xc5\xa7\xfd\x85\x8d\xaa\xdc\x29\x8d\xa4\x76\x44\xc3\xbf\x44\x3d\x95\xe0\xa4\xcd\xa6\x6f\x9e\x69\xff\x54\x02\x4f\xea\xd4\xa1\xe8\x1d\xfb\xe4\x43\xfb\x0e\x55\x9c\x12\xc0\x9b\xba\xd9\xbe\x66\xba\x8c\xd9\xb4\xf2\xe8\x31\x3f\x63\xf5\xea\xe9\x12\x2e\xa3\xd6\x05\xed\xad\x8f\x96\x71\x36\x1d\x9f\x96\x16\x2f\xe9\xa9\x84\x94\xbc\x32\x59\x79\xd5\x21\xe2\xa6\x04\xe5\xd4\xcd\x33\x0e\x9e\x57\x69\xf0\x50\x54\x1e\x34\x03\x7f\x47\x8d\xd4\x7d\x85\x42\xcd\xc0\x81\xa8\x91\xbb\xaf\xd0\xa8\xf9\x7d\x20\x68\x24\xfb\x15\x0a\x34\xbf\xff\x0e\x1a\xd9\x1d\xee\x89\xdf\xb2\xf6\x21\xca\x72\x1e\x87\x28\x67\x70\x88\x7a\x86\x54\xfa\xe2\x6d\x7e\x3c\x7c\xac\x72\xf8\x31\x69\xc6\x0e\x1a\x3e\xb7\x5b\x49\x65\x3e\x05\x9f\x77\x5b\x49\x08\xb7\x87\xf3\x30\x06\x3d\xc1\x13\xc7\x48\xdd\x7a\x0a\xc7\xa0\x27\x7a\xe2\x18\xb9\x5b\x4f\xe3\x18\xf0\x44\x4f\x18\x23\xd9\xf5\x14\x8c\x01\x4f\xf0\x84\x31\x8e\x61\x18\x0d\x77\xe1\xcf\x46\x9d\xdb\xd9\xcf\x3d\xcc\x40\x82\x17\x50\xf0\x0f\x60\x90\x7a\xb2\xa8\xd1\xce\x01\x3b\xec\x29\x0c\x02\x0a\x7a\x01\xc5\x3d\x6a\xd5\x31\x84\x8d\xe7\x1b\xa2\x6b\x42\x73\x25\x5c\x04\x9f\x93\x39\x05\xd9\xd6\x42\x6d\x63\x68\x5d\x90\x45\xc2\x4d\x60\x27\xb3\xf2\xb2\xf2\xf2\xb4\x07\x77\xd7\x05\xc6\xc4\xa7\x24\x1a\x24\x75\x00\x55\xb2\x27\xbe\x20\x46\x70\x44\xf7\xc8\x5c\xbb\x9f\xea\x43\x95\x18\x1c\x98\xc0\xdd\xa1\x3b\xd3\xb2\x52\xb3\xd2\x65\x0c\xc0\x7f\x93\x51\xc9\x09\xd1\xe1\x46\x8b\xd1\xa8\xc5\xd5\xf8\x0b\x19\x92\x1e\x15\xbe\x4b\x1b\x52\x11\x5e\x9f\x26\xc1\x46\x54\x48\x63\x9a\x29\x3d\xd5\x89\x48\x97\xe0\x1d\xfc\x86\x34\xa6\x19\x53\x53\xb5\x3b\xeb\x43\x9b\xf6\x95\x15\x14\x17\x4a\xca\x40\x2a\xa9\x70\x6f\x0a\x3c\x66\x0b\x8a\x0b\x65\x65\x10\xc5\x19\x72\x0d\x85\x65\xa9\x7b\x85\x83\x75\xf5\x4d\x79\xa6\x5c\x63\xae\x0c\xef\xc0\x77\x64\x7d\x6e\x45\x4d\x83\x36\xcf\x94\x67\xcc\x93\x60\x03\x28\x24\xf7\xa8\xb5\x3e\xb7\xb2\x66\xbf\xb6\x3b\xa8\xeb\x18\x6f\xdd\x93\x90\x1f\x2f\xc4\x27\xa4\x26\xef\x91\xb9\x4b\x06\x54\x29\xf8\x19\xfe\x24\x61\x20\x05\x3f\xe3\x9f\xa4\xce\x7e\xc5\x76\x91\x87\xe5\xf0\x6d\xa1\xa5\x30\xdb\x9a\xe7\x0d\x8b\x70\x39\x89\xcf\x68\xce\xe6\x87\x8b\x71\x75\x7a\x56\x7a\x76\xba\xc5\x1b\x37\x83\x4a\x66\xe5\x9a\x73\x73\xb5\xb9\xe6\x1c\x53\x8e\x64\xeb\xb6\xd5\xf1\x7b\x0a\x4b\xd2\xca\x84\xb2\x92\xbc\xc2\x42\x19\x0e\x51\xea\x79\x5c\x83\x4b\x61\x0d\x69\xbf\xa3\xc3\xe9\xfc\x14\xaa\xfc\x5e\xc7\x2c\x63\xa6\x31\xc3\x94\xe1\xdd\xdf\x53\xdd\x44\xcd\xef\x80\xb3\x70\x0d\x72\xb1\x82\xc4\x5e\x6a\x10\x9f\x6e\xca\x30\x66\x18\xf1\x11\x3c\xf6\x52\xa6\x50\x73\xf1\x43\xb2\x7b\x82\x3f\x9f\x96\x97\x9a\x93\x9c\x9d\x91\xe7\x05\xdf\x28\x2f\xd0\xe8\xb0\x32\x50\xd1\xf0\xb0\x9b\x86\xd1\x30\x11\xae\xe3\x67\xf3\xe6\x90\xea\x0f\x9e\xa6\x1c\x63\x8e\x31\x07\x26\xc1\x0c\x2f\x5c\x42\xe3\x78\xdb\x47\x3c\x8c\x7f\x9f\xc4\x6a\x1a\xa7\xc0\x0c\x32\xb7\x20\xbb\xb0\xc8\x79\xd3\x8e\xdb\x4c\xc0\xf2\x4f\x79\x88\xba\x0f\x61\x68\xc0\x73\xf8\x31\x8e\x84\xd1\x64\x8e\x82\x3c\xb7\xa1\x35\xc7\x92\x6d\xc9\xb6\xc0\x32\x5c\xeb\x85\x1b\xa6\x92\x50\x4e\xdb\xb9\x2a\x5e\x9d\xa4\xbe\x83\xdb\x21\xc2\xe6\x02\xe1\xa4\xfa\x8a\x6a\xe0\xe1\x43\xfc\x02\xcf\xe2\x35\xec\x80\x5b\x64\x40\x36\x8f\x3a\x1c\x48\x42\x2b\xad\xc4\xaa\x59\xfc\x09\x7f\x72\x2c\xa5\xb8\x2b\x3a\x5e\xe9\xa5\xfc\x83\x34\x5b\x4c\x66\x29\x3b\x1d\xbd\xba\xdc\xc8\x3f\x6c\x32\xaf\x12\xaa\x3b\x7e\x08\x5f\x28\x73\x94\x4d\x0e\xab\x73\x4d\xde\x10\xa8\xf6\x26\x4d\x66\xb3\x49\x6b\xc8\xde\x93\x9b\x22\xe9\x50\x0f\x7d\x79\x1c\xb7\x18\xc6\xc1\x61\x52\x87\xbb\xdc\xb0\x85\xc6\x71\xd0\x42\xea\xdc\x1e\x7a\xde\xa7\xd0\x13\xa3\x48\x78\x0b\xce\xf1\xe9\xc6\x74\x63\x7a\xe6\x5b\xf7\xbd\x80\x57\x14\x98\x82\x67\x49\x53\xba\x31\x3d\x4d\x9b\x6e\xc9\xb0\xa4\x4b\xee\x20\xb3\x3a\xb7\x4f\x60\xba\xab\xed\x17\xb7\xae\x26\x1a\xa7\x81\x84\x43\x61\xba\x64\xab\xa2\x60\x3a\x48\x30\x14\xa6\xc9\x3a\xf2\x3c\x8d\xcf\xd1\x4e\x76\xc5\x52\x38\x1d\x25\x1c\x86\x53\x65\x9d\xdb\x27\x5d\xe9\x7c\x57\x11\xb5\x70\xd5\x85\x0f\x64\xc5\x40\x7f\x70\xf6\xfc\x07\x92\x12\x4d\x7d\x70\x76\xc5\x42\x59\x9d\x4c\xbb\x17\x45\x7e\xcb\xda\x27\xea\xc8\x1d\x7c\xb1\x7e\x69\xfe\x52\x41\x7d\x13\x7f\xc6\xc7\xea\x9b\x8b\xf3\x17\x97\x2c\x91\x61\x8c\x32\x09\x1e\xc1\xf7\xca\x9b\xf0\x06\x03\xd5\xf8\x22\xaf\x16\xe2\x2b\xea\x20\x75\x28\x0e\x53\x8b\x4e\x2c\xb8\xf8\xce\xfb\x6b\x61\xa8\xb2\x57\x19\xa6\x8c\x50\xca\x60\xc4\x9a\x6b\xfa\x0b\x0b\x4e\x30\x5d\xbb\x75\xf6\x0f\xf9\xeb\xbb\x6f\xc4\x7e\x9c\x0c\xaf\x2b\x02\x7c\x08\x37\x14\x2d\xf8\x26\x7f\x1c\xf3\x51\xc8\x75\x35\x08\x47\xab\x8c\xca\xe2\xab\xea\x2e\xc6\x7e\x7e\x09\xbf\x13\xfa\x05\x40\xdf\x75\xd0\xe7\xc2\xa3\xc3\x4f\x4a\x9f\x61\x1d\x0e\xc1\x08\x8c\xc4\x97\xb1\xfe\xb7\xb2\xa7\xad\xdf\x5c\x82\xde\xeb\xe0\x1f\x01\xd0\x77\x27\xd3\x33\x94\x8d\x8b\x07\xd1\x1e\x00\xa2\x87\x59\xc7\x10\x5c\x88\x8e\x0e\xd0\xb9\x45\xf3\x5f\xe2\x40\x9c\x76\x1a\x27\x08\x28\xa0\xbc\x6b\x32\x92\xf2\x5d\x24\x51\xde\x8f\x82\x80\x13\x70\xda\xda\x89\x38\x50\xe6\x5a\x71\x94\x0e\x19\x32\x97\xfa\xf6\x7e\x55\xcb\x97\x32\x17\x72\x05\xfa\x81\x67\x33\x48\x02\x0c\x80\x97\xd6\xbc\xfc\xab\xfc\xeb\xaf\xf0\x52\x3b\x0c\x10\x40\x02\xcf\xed\x4b\xa1\x9f\xcc\xb5\x06\x7c\xf5\x45\xf4\x8f\x02\x17\xd2\x25\xc1\x11\x1e\x45\xec\xb3\x6d\x1a\x32\x72\x27\x32\xd8\xe7\x30\x8a\x02\x2e\x45\xcf\x15\xd3\xd1\x4f\xe6\x5a\xa1\xaf\x3d\x8f\x3c\x0f\x6e\xe0\xdd\x00\xff\x10\xc0\x07\x5e\xf2\x1f\xfe\x9b\xfc\xcb\x6f\xf0\xd2\x49\xf0\x11\xe0\x1f\xe0\x1d\xb2\x02\xdc\x64\xe8\xdb\x9d\x47\xde\x44\x3f\xf4\x3c\x8f\x4b\x05\x2e\xe4\x58\x33\xbf\xc9\x82\x5e\xd9\xc8\x6f\x43\x72\x86\xf7\xa7\x48\x22\x7f\x10\xbd\x04\x9c\x88\xde\x9b\x17\xe0\x08\x19\x28\xfb\x54\xf2\xc4\xef\xd0\xbb\x06\xdc\x04\x18\x0e\x2f\xae\xf6\x79\x2e\xff\xfa\x1b\x50\x67\x61\x50\xb6\xa3\x54\x5e\x83\x8d\x3a\xb7\x1f\xa3\x5c\x60\x37\x6c\x81\xb5\xdf\xff\xf5\x7d\x07\x0a\x5c\x75\xe4\x97\x30\x81\x0f\x09\x0f\x0f\x91\x5e\xa5\x42\xc2\x6b\x1a\x64\xdb\x6e\x7a\x7f\x4d\x4d\x83\xf4\x23\xd5\x50\x13\xbe\x4b\xc6\xd6\xae\xdd\x30\x57\x54\xf6\xc3\x42\x16\x4f\xa9\xfb\x1d\xf0\xd4\x1e\x78\x2a\xcc\x15\xa1\x1b\x16\xb2\x3a\x32\x13\x03\x79\x98\x8f\x1c\x8c\xc5\xd9\x27\xa5\xc2\x63\x39\x6d\x6d\x5a\xb8\x84\x26\x30\xe1\x25\xcc\xc5\x10\x9c\x8a\x99\x8b\xa4\x13\x2b\xe7\xd5\xce\x11\x70\x04\xfe\x03\xff\x81\x23\xc2\xb2\x43\xf3\xc3\x64\xf4\x99\xf3\x1a\x0e\xc0\x51\x5a\x0c\x85\x39\x38\x1b\x76\x4b\x3a\xb7\x2f\x29\xd8\x0d\x73\x60\x36\x84\xca\xee\x99\x91\x90\x0f\xf4\x9b\x30\x74\x1b\xd0\xbb\x7f\xd8\x01\x74\xc4\x97\xbb\x81\xde\x0e\xba\x99\x40\x83\x5b\xcb\xb9\x67\xc0\xb6\xb4\x3f\xf3\x30\x3f\x3b\xd9\xba\x15\xa8\x76\xa0\xeb\x61\x28\x72\x40\xb7\x03\x35\x0e\xd6\xce\x04\xaa\x06\x06\x61\x6f\x47\xdc\x81\xda\xda\x7a\xf2\x19\xd7\x74\x61\xd8\x8a\xc5\xac\x9b\xce\x9e\x4b\xdb\x2c\xf8\xbd\xad\x1c\xbe\x27\x75\x64\x08\x3d\x44\x67\xff\x94\xef\x1a\x87\xed\x5d\xc3\xa0\x9d\xb4\x8f\xd1\x91\xe3\xe9\x67\x6e\x3a\xfb\x07\xb0\x56\x47\x8e\xa7\x74\xe8\xad\x66\xf0\xf0\x6f\x71\x87\x1b\x37\xdc\x30\x98\x70\x42\xff\xe3\xc2\x7d\x36\x95\x20\xea\x77\xf1\xcf\xd7\x96\x1d\x1a\xd0\x4e\x42\x9f\x91\x0e\xb0\x79\xc0\x69\x12\x7a\xff\x17\xd8\xe7\x55\xfe\xf7\x35\x65\xcd\x03\x4f\x93\x30\x69\x2d\x5f\xb6\xfd\x79\x7b\xfc\x21\xb2\xb1\xd4\x01\x9d\x8e\x6f\x26\x9b\xfe\x03\x35\x96\xf0\x65\x3b\x9c\x50\x77\xb3\xce\x6d\x0f\x28\x22\x8c\x6d\x79\x4f\x84\xb1\x70\x57\xe4\x08\xe6\xde\x43\x67\x54\x87\x33\xf1\x0a\x7f\xb7\x05\x69\xa4\x5b\x29\x48\x05\xda\x41\xd2\xc2\x23\x45\x71\xef\x6c\x58\xf5\xc9\x56\xa0\x68\xd0\x88\x8e\x6f\xbf\x49\x7c\x2b\x44\x8b\x5b\xef\x52\x18\x05\x47\x44\xdc\xfb\x7f\x5e\xd4\x1f\xde\xe4\x61\x2a\xf8\x80\x0f\x4c\x05\x3f\xf4\x81\xfe\x38\x15\xfd\xb0\x3f\xf6\x47\x3f\x9c\x0a\xfd\xd1\x07\xfc\x64\x9c\xa0\xf4\xe3\xbf\xfe\xb5\xfa\x93\xab\xc7\xa3\x22\x2f\x48\x41\x4b\xc8\x4c\xaa\x39\x62\x7e\xd1\x16\x21\x70\x7a\xda\x3a\x79\x2a\x54\x83\x0b\x4e\xd0\xfa\x22\x11\x35\x7b\xc1\xaa\xc2\x83\x2b\xa4\xa6\x0f\xc9\x6c\x6a\x43\xd5\xb5\xe4\xe3\x42\xe3\xfd\x9c\x53\xf2\xb7\x58\x81\xae\xf0\x8a\x73\xf2\xd9\x5f\x47\x69\x5d\xcc\x70\x5b\x47\xc6\xc3\x6d\x57\xdb\xef\x8a\x85\xc7\x61\xd8\x07\xfb\xe0\x70\x47\x08\x7d\x60\x18\x0c\x87\xff\x84\x0e\xbc\x64\xfb\xdd\xc2\xe3\x70\x27\xd1\x30\x47\x08\x7d\x60\x38\x0c\x83\xff\x84\x0e\xbc\x04\xb7\x6d\xe7\xf8\xf7\x57\x9f\x59\x24\xa9\x6f\x53\x8b\x57\xad\x5e\x2c\xe3\x1b\x5d\xe9\xf0\x06\xfd\xfe\xaa\x33\x8b\x1d\xb8\x45\xab\x57\x2f\x96\x75\xf6\xb3\xf4\xe2\x33\xab\xaf\x49\x3a\x7a\x28\x75\xed\xcc\x99\xf7\x1d\xb3\x8a\x63\xd0\x1b\x7b\xc3\xab\xca\x32\x20\xbe\x83\x01\xf0\xda\xef\x1e\x66\xf0\xd3\x91\x9e\xcf\xe1\x32\x4c\xe4\x92\x74\x64\x91\x7d\x01\x6f\xa6\x4d\x16\x8b\xc9\xac\x85\x12\x5c\xcf\x07\x6c\x4e\xdf\x13\x20\x67\x57\x5b\xaa\xab\xb5\x90\x8f\xcb\x60\x11\xe6\xa3\x3b\x7a\xac\x1e\x35\x51\x4a\x4a\x4c\x8c\x8f\xd1\x46\xed\x8d\xab\x94\xf6\x3f\x02\x16\xde\x12\x60\x2b\x8c\xc3\x57\x71\xbb\xbc\x29\x76\xf3\x16\x6d\x48\x6d\x78\x83\x74\xe4\x72\xeb\x65\x01\x3c\x9e\x8c\x40\x0e\xc5\x97\x7d\x51\x2b\xab\x4b\xf1\x45\xdb\x7e\xf5\x3b\x81\xbb\x80\xf5\x18\x88\xeb\x70\x3f\xee\x87\x48\x5c\x02\x95\x30\x0d\x96\xde\x07\x0a\x5e\x92\xf7\xed\x3d\xde\x52\xa7\xad\x88\xdb\x1b\x1d\xbd\x75\x73\x62\x8c\x34\x09\x7b\xe1\xa8\xa5\xa8\x13\x70\x13\xfa\x02\x0f\x3b\x64\x2e\x09\x36\xc1\x10\xe0\x61\x9d\xa4\x54\x3c\xe9\x3a\xa6\xec\x17\x60\x33\x4c\x82\x51\xb0\x15\x56\xe1\x78\x18\x8c\xcb\x65\x77\xf0\x12\x75\x6e\x17\x6d\x9d\xfc\x3d\x11\x35\x14\x6c\x16\x15\x17\x96\xae\x61\xb9\x15\x3f\x88\xce\x13\x47\xd2\x44\x09\x35\x30\x44\x0c\xde\x26\xab\x9d\xeb\x45\xf0\x12\x8d\xa2\xad\x93\x8f\x4d\x8d\x4b\x4a\x92\xd0\x8a\x56\x32\x29\x29\x0e\x0e\x88\x4a\x3f\x91\x4c\x2a\x4e\xdd\x5b\xae\xf5\x13\xcb\xf7\xa6\x26\x15\x4b\xdc\x0a\x18\x82\x2f\x93\x70\x9a\x76\xc8\x38\x4d\xc3\x10\x78\x59\xf1\x10\xf3\xcb\x05\x98\x2d\xca\x5d\x9a\xf5\x22\x34\xda\xac\x60\x10\x75\x0c\xe1\x0a\xdb\x6c\x56\x1e\xee\x50\x70\xb1\x6b\x24\x09\x4b\x7c\x78\xfc\x97\xad\x84\xb4\x2d\xa4\xba\xee\x80\x86\xc7\xa7\x14\xb4\x29\x1a\x12\xca\x28\x65\xa7\x0e\xb7\xf2\x70\xd1\x36\x92\x84\x3b\x94\x0e\x93\x40\xc3\xc3\x7a\x47\x5a\x03\x05\xeb\x55\x0d\x09\x83\x3d\x71\x7d\x0f\x2d\xb4\xa9\x1a\xd2\xb9\x17\x72\x79\x52\xb4\x35\x4a\xd0\xa1\x81\x8a\x8a\x4e\x8e\x4d\x92\x55\x8d\x6a\x8d\x0e\xcb\xda\x56\x15\xee\x6d\xd7\x77\x5b\xc9\xc4\xe2\xf2\xd4\x7d\xc2\xbe\xf2\xfc\x92\x62\xd9\xae\xb7\x5b\xab\x6a\xb2\x0e\x47\xd7\x7a\xf7\x9c\xd0\xe2\x82\x2e\x30\x24\x00\x86\xa0\x0b\xb8\x98\x1d\x5f\x27\x04\x19\xac\x19\x34\x1e\x70\xc6\x11\xdc\x15\xcd\xa0\xe1\x4c\x57\xb8\xfc\x2b\x3a\x9a\x8b\xe6\xb9\x01\x57\xc6\x8f\x1f\xff\x60\x8f\xe8\xfd\xff\x23\xe0\xf2\x9d\xc4\xa3\x47\x2b\x2e\x6c\x5d\xe8\x31\x73\x5d\x9d\x77\xbb\x48\x72\x73\xaf\x3c\x18\x4f\x82\xc4\x72\xf9\x57\x1e\x3c\x78\x30\xfe\xbb\xef\x82\x44\x07\xb1\x79\xba\xce\x76\xef\x08\xdf\x2e\xf6\xa4\xfe\xb7\xa4\xf1\x13\xc6\xdf\xdf\x23\x7a\x47\xc7\x38\xca\x1c\xb6\xc0\xc7\x35\x87\xe3\xce\x6c\x2a\xf5\xc6\x19\x57\x49\xb8\x40\x73\xe6\xd9\xa8\xa1\x38\xd3\x29\xd0\x64\xb2\x68\xed\x79\x6e\xdc\x3c\x08\x35\x34\x97\x36\x1d\x35\x78\x81\xc2\x19\x4b\x36\x25\xc4\xad\xae\xd9\xe6\x0d\x5b\xf0\x63\x12\x4f\xd3\xf3\xe6\x39\x45\x72\xa6\x2b\x0e\xe1\x4e\x0b\x49\xce\x3c\xbd\xc7\x4a\x46\x19\xa2\x73\x0b\xe2\x39\xf3\x20\x70\xc8\x3d\x00\x1a\xc5\xda\xa3\x85\xe6\xcc\xd3\x15\x17\x96\x52\x35\xa0\x51\x35\xa8\x21\xdd\x83\x44\x17\xe8\x7c\xa2\xdc\xfc\xc9\x55\xe9\xf4\x44\x0d\xbc\xc5\xce\x7b\x8c\x1a\x12\x7c\x55\x3d\x3f\x42\xd1\x3f\x76\xb4\xb5\x0e\xf2\xa0\x42\xf1\xa6\x64\x53\xb2\x31\x39\x2d\x25\x3d\x3b\x23\x89\x99\xbe\x3b\x49\x3f\x1a\xf9\x16\x78\x71\x83\x90\x44\x6d\x68\xc1\x17\x91\x17\x46\x27\x5d\xba\xb9\x5b\xce\x28\x4e\xcf\x4c\x2b\x30\x5a\x4d\x56\x93\xd5\xb9\x4d\x6c\x16\x93\x6f\xbd\x65\x29\x13\xae\xbc\x97\x62\xb8\x2c\xe7\x1b\xf3\xcd\xf9\xf9\xf9\xe6\xfc\xde\x83\x8a\x2e\xbf\x57\x70\x45\x28\xbb\x65\x4a\xb5\xca\x59\x46\x8b\xd1\x62\x64\x14\xdf\x6e\x57\x1e\x66\x06\x42\x35\xce\xfa\x51\xba\x0f\x11\x24\xee\xa0\xf6\x5d\xc8\x7f\x2f\xfd\x3d\xe6\x68\x01\x8c\x3a\x78\x59\xfb\x3e\xbe\x75\x70\x53\x81\x14\x79\x7b\x25\x50\x2b\xde\x67\x6a\xa2\x42\x4b\x03\x17\xad\x5e\xb0\x68\xd1\xea\xeb\x8b\x84\xc0\xd0\x84\xf0\x28\x79\xc5\xe2\x95\x48\x45\xfa\x31\x9b\x52\xf0\xad\x9d\x8b\xb5\xcb\x60\xd4\xce\xa3\x29\x92\x69\x8f\xc9\x60\xd0\xfa\x17\xac\x2f\xdd\x28\xe1\x0e\xea\x3b\x0c\x21\x71\xe1\xe8\x9d\xd8\x80\x73\x20\x5e\xec\x59\xf8\x43\x0e\xb8\xc7\xec\x51\x11\x35\xe0\x23\xf6\x2c\xfe\xed\x37\x70\x3b\x0d\x3a\xa6\x4b\xc9\xe4\x23\xe0\x1d\x1c\x06\xbe\xb8\xec\xf0\x90\x8a\x91\x71\x13\x37\x23\x0d\x7e\x5e\x30\x0b\x2e\xb3\x2f\x53\xb1\xb1\xa9\x49\x49\x32\x52\x48\x91\xdc\x7e\xc3\x8c\xe7\x7f\xaf\xd4\xe5\x51\x81\x41\x11\x81\xe9\xf2\xa6\xd4\xa6\x6d\x47\x85\xbf\xd6\xec\x90\xa6\x54\x2b\xc5\x1d\x33\xb4\xac\x45\xea\x07\x0c\x17\x50\x43\xed\x61\x3b\x28\xf0\xf8\x75\xe3\xcc\xcf\xe5\xb0\x75\x64\xf9\xea\x15\x85\xcb\x85\xff\xb9\x7c\xf7\x89\x19\xac\x54\xcb\xfe\xc6\x16\x98\xfe\x05\x8c\x06\x8f\xe7\xf2\x4d\x1f\x92\xdb\x6a\x18\x3c\x6a\x11\x8a\x7b\xf1\x15\x86\xdb\x69\xa8\xc6\x1d\x30\x13\xa7\xc0\x8e\x04\x86\xdb\x6f\x80\x83\x31\x10\x03\x86\x9d\xd0\xcc\xe8\x94\xcb\x2a\xc3\xff\xd7\xfa\xe5\xc1\xc6\xf4\x94\x03\x32\x0e\xc1\x46\x43\x94\x25\xac\x28\xda\x3b\xba\xb8\x2a\xa9\x5a\x80\x8f\x29\x85\x62\xc3\x45\xcf\xbf\x28\x9d\x0b\x93\x32\x98\x45\x18\x27\xc2\x3b\xac\xec\x0e\xa3\x59\x17\x33\x68\x5c\xc3\x45\x4f\xd0\xa1\x7f\x07\xbe\x75\x40\xda\x96\xb7\x23\x3c\x6d\x5b\xda\xb6\x9a\x1d\x87\xd3\x60\xe3\xd6\xab\xcb\xb2\xf7\x30\x5b\xf7\xa0\xfe\x55\x95\x15\x54\x16\xf5\x3f\x36\xef\x91\xb3\x8b\xaf\x5e\x86\x8d\x2d\x87\xf3\x6a\x0e\xa5\x1d\x4e\x3b\xbc\xa3\x66\x5b\x1a\x83\x6f\x05\xa3\xff\x3c\xd4\x69\x71\xba\xe2\xf2\x26\xfc\x00\x3f\x28\x2e\x5f\xc0\x74\x49\xd5\xd8\x35\x3c\x9c\x64\x55\x0d\xb5\x4d\x94\x55\xcd\x28\xb1\x43\xd5\xc0\xfb\xa2\xa2\xe9\xa0\x7d\xc5\x11\x36\x6b\x3c\xeb\x5e\xb5\x4a\xd4\xd1\x84\xab\x51\x54\xac\x7c\x58\x44\x69\x95\x41\x5e\x06\x6e\xf8\xb2\x1a\x43\x86\xa4\x84\x46\xef\x12\x60\x1b\x1b\x1c\x5a\xd1\x90\x22\xe1\x52\xdb\xa8\x19\xd8\x4c\xee\x4a\xdd\x1d\x15\x2c\xa8\x24\x55\x94\x54\x90\x9a\x65\xb2\xb9\xa9\x4f\xbd\x92\x8a\xf7\xa6\xed\x15\xf6\xee\xcd\x2b\x2e\x96\x6d\xae\xca\x2f\x59\x59\x05\xf9\xc5\x25\xde\xb0\x49\xf1\xe3\x0f\xb3\x48\x9f\x1b\x70\xf1\x4d\x59\x79\x93\x02\x46\xd9\x4c\xee\xcf\xaf\xab\x3c\x20\x34\xd6\x45\x87\x14\xc8\xb0\xa2\x6b\x1a\xf0\xca\xb4\xfc\xfa\xea\xf2\x86\x6c\xef\xba\xac\xfa\x84\xa2\x70\x70\xc5\xdd\x5e\x0a\x49\x5d\xfc\xe2\xdc\x73\xa0\xb5\xee\x6a\x52\xcf\x0a\xb2\xc6\x45\xb1\x42\x14\x9b\xce\xda\xf5\x3c\xfc\x88\xed\x50\x8b\xbf\x6e\x96\xb0\x26\x08\x03\x31\x2c\x02\xeb\x42\xf1\x53\x88\xc7\x6a\xb8\xbc\x83\xc1\x12\x0c\xdf\xc5\x42\x38\x86\x53\x29\x2c\x84\x43\x38\x3d\x5d\xc4\x70\x28\xa1\x3a\xc5\x6e\xab\xe7\x0c\x76\x35\x0b\xcb\x44\xc9\xfd\xb2\xa8\x7a\xa8\x1e\xe4\xbd\x61\xd8\xaf\x1d\x75\xc2\x4d\x11\x74\x6b\xa0\xdf\xa4\x27\xb2\xe2\xa1\x70\x24\x96\x4d\x67\x15\xdf\x68\xb6\x5b\xa3\xb3\x1b\x46\xb1\x6a\x52\x90\x98\xce\x82\xc6\xc5\xdc\xca\x6a\xc6\xdb\x6e\xea\xdc\xae\xf0\xcf\x3f\xb8\xff\xb8\x0d\x18\xa6\xaa\x20\xae\x3a\x42\x58\x48\x45\x1a\x52\x92\xd2\x65\x94\x97\xa0\x38\x1c\x5f\x17\xf0\x75\x14\x7f\x01\x79\x89\x5c\x9c\x6e\x28\x48\x14\x66\x52\x11\x71\x11\x91\x05\x72\x1b\x32\xf7\x47\x3c\x5f\xc8\xe0\xd2\x91\xe8\x85\x2b\x30\x52\x0b\xd3\xd9\x75\x2c\x78\x51\x9d\x22\x44\xa2\x17\xac\xc0\xa5\x3f\x49\x98\xdf\xbd\x62\x14\xeb\xd4\xa9\xb2\x8a\x15\xf2\x58\x57\xbb\x55\x47\x3e\xfc\x5a\x44\xea\x7b\x1c\x7e\x0e\xc7\x46\x7b\x63\x4d\xa0\x23\xf3\x91\x8e\xcc\x7f\x02\x09\x58\x0d\x97\x76\x30\x2b\xc4\x2a\x27\xd7\x04\x56\xd1\x80\x46\xd1\x80\x55\x74\xb2\x91\x77\x87\x61\xbf\x33\x8e\x11\x54\x87\xfd\x56\x4f\x1e\x26\x2f\xbd\xfc\xdd\xd3\xe2\x12\x53\x55\x62\x91\xf7\xea\x93\x89\x45\x51\xa6\xa4\x44\xef\x37\x46\xf6\xff\x93\x04\xef\xed\x22\xb6\xbd\xc1\x62\xdb\x74\x16\xb4\x34\xb8\xa2\xdb\x00\xa4\x93\x12\x2d\x91\x25\x06\xef\x33\xfe\x25\x86\x4a\x4b\x71\x89\xf7\xaf\xe0\x7a\x61\x39\x39\x79\xd8\x6a\xec\x87\x3a\x47\x16\x56\x88\x55\x66\xd0\xe8\xdc\xae\x45\x7d\x0e\x1a\x0f\xc5\x0a\x1b\x44\xee\x37\x1d\xd5\x6d\x4f\xe1\x23\x60\x3f\xee\x86\x08\x6c\xa8\x47\x9f\x52\x7c\x69\x4b\xff\xe9\xfd\x6f\xe2\x4b\xad\xe8\x93\x80\x0d\xbb\x71\x37\x46\x44\xe0\xfe\xff\x77\xfd\x29\x56\x0c\x9f\xfe\x3f\xea\x11\x2e\x1f\x82\x78\xa8\x0e\x85\x4f\x99\x6e\x0f\x54\x61\xac\xc8\xfd\x8c\xee\xab\xb0\xd7\xa4\x89\x12\x76\xa2\xc0\x73\xbf\xc1\x32\x51\xe6\x7e\x81\x06\xf6\xb3\xc8\xad\x37\xe0\x37\xf1\x2a\x8a\x8f\x07\x49\x5b\xe7\x4e\x8d\x9c\x24\x28\x9d\xaa\x86\x57\xad\x50\x42\xfd\x54\xf8\x75\xf3\xed\x73\xb7\x57\x7e\xbd\xfd\xa7\x3d\x4c\x07\xf4\xe5\x27\x4d\xad\x6a\x99\x2b\x73\xbf\x3d\xfe\xed\x2a\x5c\x14\x6f\x7c\x06\xab\x44\x18\x86\x05\xc0\x39\xea\xbe\xe7\x55\x29\x8d\x87\x05\x38\x45\x03\x79\x3d\x1b\xcf\x69\x40\xc3\x7d\x75\x71\x31\x6b\x7f\xfe\xb5\xf8\xda\x2d\x24\x4f\x63\xdf\x3c\xef\x88\xeb\x81\x57\x36\x9d\x83\x7c\x28\xf0\x82\x7e\xec\x53\x96\xe4\x2e\x5c\x44\xda\x59\x6f\x6f\x44\x63\x7d\x20\x06\x61\x74\x0c\x36\x44\xe2\x5d\xc8\xc2\x3a\xf8\x24\xee\x6b\xcc\x82\x3c\x9c\x02\x47\x8f\x41\x66\x33\xac\x82\x65\xc7\x21\x03\xfa\x8b\xdc\x57\x17\xbf\x64\x55\xab\xea\xcb\x3b\x04\x84\xe3\x04\x5c\x80\x3b\x77\x48\xc6\x0a\x63\x45\xa5\x16\xc2\x61\x02\x2c\x80\x9d\x87\xa4\xac\xe8\xac\xe8\x28\x2d\xf7\xd5\xc5\x6e\x8d\x67\xae\x08\xc5\x2c\xcc\x85\xd1\xe8\x82\xa3\x3f\x95\xb0\x7a\x15\xae\xc7\x24\x3c\xac\x8d\xb2\x44\x65\x45\x4b\x18\xdc\x88\x93\x61\x11\x44\x6a\xed\xfa\xae\x4e\x1e\xe7\xe2\x68\x70\x81\xd1\x33\x64\xa8\x3e\x0b\xeb\x21\x09\x0e\x6b\x2b\x4d\x95\xc6\x0a\x09\x82\x83\x60\x32\x2e\xc2\x48\xed\x6a\x56\x72\x87\xc6\x20\x11\x78\xe0\xb0\x2f\xf4\xb5\x6b\x80\x03\x1e\x7c\xc4\xe5\x62\xcf\x5d\x9e\xef\x9d\x25\xc1\x3d\x78\x78\xec\x7f\x37\x35\x16\x7b\x6d\x5d\x38\x4a\x46\xea\x0e\x0e\x6c\xc5\x91\xe1\x68\x09\xc0\x55\xb8\x66\x3b\x66\xad\xc1\xaf\x20\x05\xdb\xe0\xe3\x6d\xcc\x3a\x96\xe2\xce\x3f\x04\x2f\xfa\xa7\xc2\xaf\x0f\xdd\x3e\xc7\x70\x0f\x1e\x02\x35\x05\x06\x6e\x81\x57\x6a\x20\xad\x05\xde\x75\x94\x46\x6a\x23\xbc\xbd\x0a\xc6\x0d\x83\x7f\xfc\x5d\xaa\xdc\xb9\x87\x5d\xd6\xee\x27\x30\x56\xfc\xbb\xea\xbb\xac\xf0\x11\x0f\x0d\xec\xed\xc8\xad\x1d\xf0\x9b\xf8\x3e\x8a\x3f\x0f\x92\xb6\xce\xf3\x8b\x9c\x24\x38\x9b\xc3\x83\x87\xf6\x4e\x55\xcf\x4f\xf2\xab\x6a\x99\x27\xff\xfc\xdb\xfb\x70\x51\xec\xb8\x0d\xab\xc4\xcb\x22\x6e\xc7\xed\xf0\x8b\x08\x03\x59\xf0\x43\xbf\xc9\x93\xff\x2f\x4e\xe1\xee\x3d\xf0\xc1\xfe\xd0\x28\x16\x17\x9b\x2b\x93\x4a\xbc\xd1\xf1\x67\x62\x3b\xec\xf8\x3f\x1d\x45\x26\xeb\x74\x14\x4e\x77\x65\xd3\xd8\xfb\xf2\xe0\x05\xbe\x8e\xa6\xeb\x0b\x13\xa8\x1f\x46\xfd\x37\x11\xeb\x60\xed\x1e\xd1\x1b\xd7\xe1\x5a\x28\x11\x7f\xf8\x81\xc4\x09\xe8\xbb\x8b\x05\x5f\xf4\xa2\xf0\xf2\x0e\x8c\xc7\xea\x3a\xfc\xb4\x1a\xeb\x20\x10\xc3\xa0\x26\x88\x81\x5f\x37\x43\x3b\xd4\xc2\x8f\x5a\x38\x8b\xe1\x90\x89\x6d\x07\xa5\x79\xdd\xb9\xa3\x9c\x7b\x27\x3b\xfa\xfa\x23\x56\x47\x07\xd9\x5c\x78\x6c\x87\xf6\x9e\xb7\xa8\xbd\xd7\xad\x83\x1f\x45\x6f\x58\x80\x0b\x48\x6c\x87\x70\x58\x20\x62\x38\x7a\xd1\x3b\xe0\x32\x56\x43\x3c\x7e\x1a\x8a\x75\x11\x18\x86\x81\x41\x58\xc3\xe0\xaf\x9b\xa1\x16\xdb\xe1\x47\x01\xce\x42\x26\x84\x43\xdb\x41\x19\xbc\xfe\x76\xa3\xed\x34\x2e\xc0\x05\x0e\x69\xa7\xd6\x15\x27\x56\x99\x1d\x3e\xbe\x1d\xda\x61\x8c\xe8\xad\xb3\xdf\x52\xf7\x38\xf2\xae\x23\x0d\x7f\xf9\xc8\x10\x87\xa7\x06\x33\x0b\xd3\x59\x55\x99\xce\x2a\x0a\xdd\x29\xaa\x9d\xaa\xde\x41\x65\x86\x2b\xa2\xab\xdd\xaa\x74\xf2\xab\x59\x74\xde\x9e\x03\xf3\x0c\x56\x02\x8d\x27\x38\x0f\x56\xc7\x9b\x37\x45\xc9\xbd\xca\xbd\xca\xdd\xb6\x08\x4a\x20\x08\xe2\x5d\x74\x64\x3f\x48\x71\xd5\x91\x07\x61\x38\xab\xb3\x37\x51\x6b\x02\x02\xd6\xc8\x3a\x7b\x13\xbd\xe6\x48\x40\xbb\x64\x0b\xbb\xcc\x2a\x02\xd5\x7e\xe4\x48\xbb\xac\x23\x97\xd3\xed\x01\x47\xd6\x48\xee\x6a\x12\x3c\x82\x09\xb6\x7f\x3b\xef\x7c\x2f\xb0\xfd\x0e\xf1\xae\xf6\x29\x6e\xf8\xd2\x05\x5c\x06\x03\xd7\x4b\xa6\xdc\x7c\x63\xae\x70\xa8\xe2\x87\x7a\xb9\x69\xd2\x47\xc0\x6b\xa1\x0a\xd6\xc3\x52\x28\x87\x28\x98\x84\x3c\xee\xc1\x19\xd3\xf1\x21\xc6\x8e\x9f\x7e\xed\x91\x04\x1e\xdf\x80\x3b\x78\x6a\xef\xad\xeb\x18\x87\xd4\x0c\xd4\xbc\xbc\x2c\x7f\x41\xdd\x0a\x69\x2d\xae\x1a\x89\x67\x70\xbd\x76\xbe\x75\x41\xde\x7c\xc9\xba\xa7\x34\x17\x26\x41\x6c\xda\xa9\x3b\xf0\x9e\xf7\xe4\xb6\x3f\x36\x7c\x25\xc0\x9f\xf0\x3a\x3c\x81\x0e\xf8\x0a\x8f\x42\x20\x7e\x8c\x3f\xe3\xf7\x18\xad\x92\xb2\xfb\x48\xf0\x30\x44\xea\x48\x06\x3c\x3c\xf6\x83\x87\xce\xed\x47\xf0\xe0\xa2\xed\x41\xca\xfb\xfc\xee\x95\xc3\x83\x84\x94\xd4\xec\x9c\x54\x79\xd9\xfe\x55\x07\xd6\x9e\x0c\x68\xd9\xf0\x5e\x44\x3b\x93\x99\x6b\xcc\xcd\xad\xf9\xe4\xc4\x11\x6d\xe1\x0a\xd0\xa5\x96\x4b\xf5\x7b\xd2\x0b\x42\x12\x93\xb2\x93\x84\xc8\xb8\x94\x84\x78\x79\xf5\xba\xb0\x35\xc6\x39\x4c\x0a\x6d\x9a\xd9\x3c\xf3\xc8\xb2\x47\xc8\x7d\x8b\xae\x30\x70\x2e\x13\x75\xe2\xe9\x86\x33\xc2\x95\x1f\x5b\x2e\xd7\xc8\xd6\x9a\x82\xfd\x75\xda\x1c\x73\x9e\x31\x57\x2a\x4e\xc5\x71\x0f\x63\x05\xee\x14\xfa\xab\x0d\x3c\xba\x63\x9f\xd6\x8f\x07\xcb\x98\xfe\xd6\x3d\x48\x20\x27\xff\xb9\x01\x78\xf0\xd2\xc2\x53\x38\x0c\x87\xe1\xa9\x23\xc4\xc3\xf8\x14\x9f\xa2\x33\x94\x74\xe4\x16\x37\xd5\x17\xbf\xc7\xef\x55\x5f\x14\x5b\x51\xb8\x89\x2f\xc8\xa8\x53\x87\x91\x5c\xb4\xf2\x06\x68\x49\xee\xd4\x02\x70\x03\x8f\x9d\xc0\x09\x8a\x2f\x7c\x0f\xdf\x2b\xbe\x8a\x2f\x7e\x0f\xdf\xab\xbe\xb2\x7b\x95\xf9\xf1\x88\xbf\x9d\x68\x0b\xab\xa3\x7c\x1e\x73\x49\x06\x67\x34\x99\xed\xb6\x2a\x56\x48\x66\x95\x36\x55\xcf\x97\xb3\x3a\xdb\x43\xbb\xfe\xbf\xa2\x8a\xd5\xad\x9c\x7d\xdc\xd5\xc9\xeb\x6c\x84\xaa\xa1\xb8\x0b\x86\x38\x91\xb2\x6b\xdc\x9c\xd1\xff\x09\xf6\xac\x9e\xb5\x3d\x06\xeb\xe3\xc7\x2e\xe1\x22\x58\x5d\x6d\x7a\x9b\x86\xaf\x66\x37\x88\xb2\x5d\x8f\x1a\x1e\x9e\x43\x1a\x8b\x7a\x6a\xa6\x28\xe3\xf3\xbf\xcf\x47\x7e\x4e\x1d\x65\x25\xd0\x87\xf6\x9c\x71\x0b\x73\xd9\xee\x4e\x0c\xe7\x41\x4f\x43\xb7\x08\x61\x54\xc7\x52\xbf\x83\x63\x85\x38\x43\xea\x9e\x24\xd9\x6f\xd8\x2b\x6b\xd0\x43\x40\x8f\x57\xda\x6f\x0f\x03\x3f\xf1\xda\xf5\xd2\x96\xb3\x32\x24\xa3\xb5\xe7\xf5\x4b\x77\x68\x74\xcc\xb2\xe0\xbf\xeb\xbd\x8e\x9d\x3c\x64\x41\x16\x99\x97\x97\x5d\x60\xd5\x16\x64\x16\xa4\xe5\x49\xa8\x03\x1d\x99\x97\x96\x92\x9d\x22\x24\xa7\x64\xa6\xa5\xc9\x98\xe5\xf8\x38\xa8\xd2\x52\xb2\x93\x85\x94\x1e\xa4\x0e\x75\x64\x5a\x5a\x66\x4a\x8a\x36\x39\x3b\x25\x2f\x4d\x82\xac\x1e\x3a\x27\x32\x59\x9b\xd2\x83\x74\x52\xe5\xc1\x75\xd1\x5a\x90\x9d\x97\x27\x3b\x94\x81\x93\x28\xaf\x20\xd3\x2a\x14\xf4\x20\x9d\x0a\xf3\xb2\x0b\x0a\xb4\x56\xa7\x05\x5d\x49\x90\xc5\xe3\x1c\x98\x43\x86\xd5\x26\x1e\x6a\xd6\x9e\xa9\xaa\x3f\x74\x50\xca\x89\x8e\xce\x8a\xfe\x2b\xb3\x53\x46\x0c\x5b\x8b\xfd\x04\xec\x37\xec\xf4\x9d\x11\xe0\x27\x96\x95\x59\xb2\x4a\xe5\xf1\x0f\x9c\x0c\x87\xb4\xcd\x25\x87\x6a\x6b\x1d\xa3\x45\x55\x24\x58\x8f\xb0\x4a\x67\x87\x5d\x03\x56\x57\xb0\x2a\x56\xde\xa6\xaf\x16\x75\xe8\x07\x56\xb0\x2e\x66\x95\x7e\xa2\xa2\x8f\x66\x75\x68\x80\xce\x38\x56\xe7\x76\x11\xad\xbc\x0e\x0d\x8a\x86\xfa\x41\xb4\xe9\x29\x45\x23\x42\x26\x2b\xbb\x2b\x9d\xa0\x87\xed\xec\xb7\xec\x62\x16\x2a\x59\xb4\x52\x78\xa7\xcb\x4a\xaa\xee\x14\xde\xb1\x59\x49\xb4\x52\xa0\x57\xf5\x24\xea\x51\x0f\x0d\xd4\x25\xc7\x7f\x82\xfb\xa8\x57\x46\x51\x60\xeb\xea\x04\x9b\xad\x93\x54\x46\x81\x1e\xef\x53\x97\xc0\xf1\x17\x1a\xf4\xa8\xa7\xd4\xce\x2e\x2b\x8f\x04\x58\x49\x08\xa4\xdc\xab\x23\x95\x5b\xa0\x87\xfb\x8e\xe9\xb8\x3e\x9d\x05\xbd\x6b\x99\x88\x9d\x3a\xfb\x45\xbe\xff\x1b\x8f\xfe\x78\x2c\x36\xb1\xb2\xd2\xa9\x74\x3a\x6d\xb3\xa6\xb3\x94\xbb\x05\xc2\x70\x5d\xa4\x72\x0c\xc2\xe1\x3e\xeb\x61\x06\x5f\xa5\xcd\xb9\x2f\x8e\x86\x4b\x2c\x13\xbb\xda\x74\xf6\x87\xd7\x44\xc5\x57\x69\xe3\xd5\x36\xc5\x4a\x71\xe7\x95\x36\x4a\x69\xeb\x6e\xbb\x26\x82\x13\xd9\xa9\x58\x95\x4e\xca\xbd\x0a\x59\x1d\xf9\x4b\xa6\xa8\xfc\x64\x7f\xc6\x5b\x8c\xd9\x26\x8b\xa4\x16\x80\x95\xcc\x4f\x48\x28\x88\x13\x42\x92\xc2\x43\x65\x1d\x5a\xe8\xa0\xea\xad\xfb\x13\x24\x25\x00\x13\xc8\xf4\xc2\xa2\xcc\x62\xa1\xb9\xec\x40\x93\xdc\x61\xbf\xc2\xab\xbf\xd0\x4a\x13\x56\x90\xca\x4f\xb6\x6f\x79\xb5\xb5\xdb\x45\x59\x80\x21\x64\x4a\xe9\xde\xf4\x72\xe1\x50\x45\xcd\x21\x39\x53\xe7\x56\xc4\x67\x1b\xb3\x8c\x16\x49\x3d\x02\x35\x64\x4e\x4a\x72\x56\xb2\x10\x19\xb5\x27\xc6\x20\xe3\xe7\x6a\xad\xa2\xed\x72\x27\x8f\x75\x28\xa5\xb6\x2f\x72\xb4\xee\xed\xac\xd2\x87\xd7\xd9\x09\x9d\x9d\x58\xcc\x52\xee\x4a\x35\x66\xd7\x9d\x3b\xbf\xe2\x7a\x38\xec\x58\x73\xb1\xe9\xfc\x46\x20\x60\xc8\x89\xcd\x27\x77\x1c\xcf\x39\x76\xf4\xbd\x4f\x8e\x6d\xbd\x0d\xab\x8f\x7d\x75\x19\xe6\x7f\xf9\xe0\x6b\x8f\x6f\x2e\xde\x69\xbb\x03\x43\xb1\xcf\xa1\xe4\xa6\xec\x4b\x2d\x0d\x20\xb6\xc2\xc0\x36\x88\x6a\x87\xa0\x33\x70\xff\x42\xd1\x85\x9c\xc6\xe4\xe6\xaf\xae\x6d\x3c\x52\x7d\x22\xfc\x1b\xae\x6e\xd6\x6f\x5d\x43\x39\x0f\x82\x20\xfa\x2a\xa1\x28\xf3\x45\xf5\xf1\x67\x76\xa6\xed\x48\x7b\x6b\x59\x56\x20\xc3\xb9\x39\xf0\x59\x61\x27\xc2\x0f\x17\xd7\x15\x1e\x38\x50\x58\xc5\x70\xbd\xbc\x89\x5e\x3e\x3a\x72\xb2\xa7\xa1\xbe\xec\x4c\x53\xda\xa1\xb4\xbb\xcb\x32\x03\x4d\x61\xfe\xe1\xdb\x8b\x77\x17\x06\x1f\x48\xae\x62\xce\x80\x0b\x1f\x79\xa2\xe5\xee\xa5\x54\xe6\x6a\x1a\xf4\x7b\x7d\x8e\x76\xfd\x92\xe0\x85\xe5\xd2\xba\xe2\xe9\x17\x63\x5a\x18\x9d\x7d\x83\x67\xf5\x89\xad\x77\xf5\xa9\xcc\x92\x34\x74\x26\x5f\x0d\xfe\xa0\x5c\x3a\x55\xfc\xe9\xc5\x7d\x2d\x8c\x2d\xd8\xae\xf0\x7f\x3c\x7a\x73\xe8\xd0\x37\xde\xec\xdf\x7f\xec\x17\x4f\xcb\xb2\x4a\xb2\x4b\xe5\xd0\xbd\x8d\x31\xcd\xc2\xf9\xb6\x23\xed\x32\x47\x08\x56\xc2\xd0\xba\xfb\xe0\xb6\x22\xa9\xb0\xa6\x3e\xb7\x41\x80\xcb\x10\xcc\x27\x40\x25\xe2\xfe\x57\x71\x33\x4c\xf8\x0e\x26\xef\x04\x2f\x1c\xcc\xd8\x92\x75\x38\x8c\x4f\xcf\x4b\x32\x27\xa4\x1b\xf6\xc5\x97\xc7\xef\xcd\x2d\x37\x95\xa5\xe5\xa5\xe6\xc5\x1b\xe3\x52\x62\x8b\x23\x8b\x23\x0b\x99\x7d\x69\xa5\x29\xb9\x92\x21\x2f\x22\x23\x26\x26\x32\x3b\xd2\x1c\x9d\x9e\x90\x99\x94\x9a\x94\xcc\x58\x6a\xcd\xb5\x75\xda\xdc\x7c\x8b\x25\x57\xbe\x51\x74\xf3\x74\xf9\xed\xdc\x3a\x4b\x7d\x6a\xa3\xe1\xdc\x86\x03\x9b\xf6\x66\x56\x87\x36\x85\xe4\x85\xe4\x45\x87\xa5\x45\x31\xe9\x19\xe6\x0c\x21\xd6\x18\x9c\x9e\x10\x67\x34\x1a\x33\x4d\x99\x51\x59\x91\xd9\x91\x59\x85\xf9\x85\x79\x45\x39\x95\xcd\xcd\x05\x6d\x16\x26\xc7\x9c\x9d\xad\xe5\x7a\x11\xfd\x08\xe2\x56\xd6\xd7\x95\xc7\x4e\xb5\x9f\xcf\xff\x3a\xe5\xa3\xe4\x8e\x90\xdb\xfa\xa3\x81\xd5\xab\xa2\x33\x02\x8c\x31\x99\x4b\xe3\x92\x19\x13\xc5\xb9\x11\xaf\x11\xc4\xae\xf8\x77\x2d\x1b\x73\x03\xbe\x59\xfe\xf9\xec\x2b\x58\x04\xbb\xf1\xdf\x11\xd8\xb2\x88\xe1\xf2\x09\x1f\x82\xe8\x8c\xbd\x17\xff\x49\xf0\xf0\xe4\x61\x3b\x7c\xfd\x97\x05\x2f\x0c\x58\xeb\xbf\x66\xad\xd7\xa5\x82\x0b\x45\x97\xd2\xb7\x46\xed\x0c\x0d\x0a\x66\xb8\x8b\x04\x41\x30\xc1\xa6\xe0\x9c\x18\x6b\x9c\x35\xf3\xaa\xb1\x3c\xe3\xe8\xaa\x7d\x81\x91\xfa\xcd\x21\x7e\x29\x73\x19\xae\xaf\x23\x39\x79\x4e\x81\xef\xe9\x15\x4c\x4f\x13\x38\xb6\xee\xbb\xe8\x4e\x23\xc3\x11\xb9\x84\x1f\x61\xca\x30\x67\x66\x6a\x8f\x19\x0f\xa6\x54\xec\x28\xca\x28\x4c\xb3\xa6\x46\x19\x23\x33\xa3\x8c\xa6\x2c\x63\xb6\x31\x8b\xe1\x08\x3f\xa2\x2f\x91\x58\x1e\x9c\x13\xe3\x88\xf8\x10\x0c\x91\x91\x6e\xce\x10\xd2\xaa\x62\x6a\x77\xa5\x86\xa6\x86\x04\x65\x46\x04\xc4\xad\x0f\x4e\x5a\xc9\x70\x2e\x7d\x09\x03\x91\x16\x6c\x0e\xc9\x0b\xdd\xeb\x77\x73\xdd\x8d\x24\xc6\x98\x9f\x6b\xce\x13\x42\xcd\x61\x61\xda\x24\x6b\x62\x7e\x62\x76\x74\x6e\xa4\x39\x32\x33\x66\x5f\x64\x4e\x52\x1a\x93\x92\x9e\x9e\x10\xa3\xed\x31\x23\x62\x4f\x54\x52\x6c\x12\xc3\x11\xd3\x89\xf1\x44\x5c\x41\x5c\x56\x6a\x5a\x5a\x9a\x39\x3e\x27\x36\x3e\x2e\x21\x2e\x29\x3a\x21\x37\xd1\x9c\x91\x96\x9e\x9a\x17\x53\x18\x9b\x91\x68\x4c\x34\x25\x18\xf1\x05\x78\x13\x7b\xff\x99\xc1\x70\xc4\x20\xc2\x8b\xe8\x30\x76\x1c\x6a\xba\xac\x8c\x8b\x51\xc6\x67\x2b\xe3\xcb\x1a\x97\x75\x6c\xef\xc8\x06\x22\x07\xde\x84\xde\x99\xf0\xc2\x5f\x92\x4b\x33\x4b\x32\x4a\x24\xce\xc5\xcd\xb0\x8d\x28\x2c\xcf\xdb\x97\x9e\xcf\xe0\x7e\xfb\x7c\xbe\xba\xae\xa0\x21\x44\x6a\x5b\x5f\xea\x93\xb1\x39\xfe\xdc\x8e\x2b\xf3\xea\x98\x9c\xa2\xdc\xca\x1a\xed\xe4\x21\x3c\x30\xe2\xbe\xec\xea\xbc\xe2\xe2\x5b\xe1\xcd\x93\x72\x26\x65\xec\x49\xdd\x93\x9a\x12\x19\xb1\x35\x7e\x53\x0a\xc3\x11\x06\x62\x3d\xb1\xf7\x5e\xfc\xe3\xd5\x57\x19\x60\xc4\x1e\xc9\x5b\x32\x9c\x2f\x44\xb9\x11\xe7\xfd\x6b\x5e\x8e\x18\xcd\x18\xe3\xe3\x4d\x89\x82\xa3\x9f\xf5\x22\x52\xbf\x8c\xb9\xbf\xeb\x0e\x63\x2a\xdd\x6b\x2e\x15\x74\xb6\x6f\x27\xf0\x19\x47\x4b\xfe\x3c\x7e\x82\xa9\x6f\xa8\x4f\x89\xd0\x86\xe7\x46\xe5\x18\xa4\x79\xa1\x3b\x96\xc6\xaf\x64\x5a\x06\xf3\x9c\x0f\x41\xb8\x11\xa9\x05\x69\x85\xe9\x85\xb9\xf7\x0e\xfd\x7f\x6c\xfd\x07\x58\x14\x57\xf7\x38\x8e\x83\x30\xc5\x89\x41\x65\x76\x0c\xec\xec\xcc\x68\x62\x47\xac\x68\x34\x6a\xc4\xde\x0d\x1a\xc4\xde\xc0\x02\x22\x2a\x45\x40\xe9\x9d\xdd\xa1\x33\xf4\x22\x62\x45\xec\x62\x6f\x18\x93\x58\xb0\x8b\x31\xcd\x44\x63\x34\x05\xa3\x26\x31\x9e\xd9\x3d\xb3\x7c\xfe\xcf\x2e\xbe\x79\xdf\xe7\xff\xfd\x3d\xb3\x3b\x77\xee\xb9\xe7\x9e\x7b\xe7\xce\xcc\xb9\xe7\xcc\x9c\x7b\xce\xb7\xf7\x6a\x69\x56\x61\x06\xa7\x4d\x29\x49\xd8\x96\x56\x95\x69\x6b\x53\xa6\x80\x16\x16\xcd\x8e\xf5\xa8\x18\x15\x50\xb8\xa6\x2c\xb2\x96\x86\x89\x73\xb9\xd8\xd8\xac\xec\x2d\xd2\x96\xdb\x45\x5f\xed\xba\x40\x9b\xa8\x93\xd5\x55\x05\x55\x05\xd5\xb9\xee\x2b\xc7\x85\x8d\x4c\x1e\x41\x5b\xe6\xad\xe4\xce\x9a\xce\xca\x67\x32\x4d\x53\xc3\x90\xf2\x09\xd9\x94\x98\x9a\x97\x51\x9b\x74\x23\xfd\x46\xfc\x0d\x5a\xa6\xf0\x80\x99\xe3\x60\x00\xb0\xe8\x8a\x03\x70\x20\xb6\xa5\x03\xd0\xee\xa6\xdf\x06\x07\x57\x18\x20\x41\xb4\x95\xe5\x72\x36\x17\xe3\x7b\x51\x69\xcb\xe3\xdf\xcf\xf4\xdf\x1a\x5b\x6c\x04\x97\xac\x6a\xda\x44\xdd\xc9\xba\x2b\xdf\x31\xd1\x58\x83\x8b\xb8\x45\xf1\xdd\x8c\x8b\x6a\xc2\x8b\x8a\xa0\x57\xc1\xfe\xbb\xd9\x77\xe5\x7b\x59\xb4\x89\xca\x5d\x57\x88\x43\xb6\x24\xd3\x9a\x08\xb3\xb9\x93\x39\xa7\xb2\x4f\x66\xd1\x32\x95\x3c\xc7\xf8\x41\x6a\x70\x46\x58\x82\x1c\xa5\x7c\x74\x30\xf2\xb7\xad\xcd\xb4\xad\x75\xce\x94\x63\xca\x35\xe6\xec\xc9\xdd\x93\xb3\x27\x27\x3f\xa2\x30\xb2\x24\x92\x66\xbb\x3a\x38\x26\x3a\x1c\x9a\x01\xae\x93\x72\xff\xa9\xf5\x05\x5d\xd1\x85\xbc\x2f\xf2\xea\xe4\xe2\x33\xa7\x62\x6e\x65\x9d\xcd\x3d\x96\x73\xc0\x54\xb6\x37\x37\x3a\x27\xbc\x28\xfa\xe8\xa8\x3f\xee\x1f\x00\x17\xba\x3e\x73\x5f\xc6\xbe\x4c\xba\x6d\x29\xb6\x6d\xe4\x4c\x99\x26\xa3\x29\x03\xde\x30\xc6\xd8\xb2\x84\xaa\x54\x9c\x80\xe3\x70\x12\x7a\x60\xce\x04\x8c\xff\x1a\xa7\xc2\x07\x38\x0c\xc6\x6d\x2d\xa8\x28\x36\x56\xd1\x1f\x5a\x69\x2e\x6e\xea\x94\x65\x53\x73\x68\x96\x76\xa0\x1d\x1c\x26\xe4\xf4\xbc\xbc\xf8\x5e\x12\x50\xe0\x0d\xce\x3f\x84\xd9\x9e\xb6\x76\x0e\x0e\x9f\xc5\x9c\xe9\x53\x33\x14\xde\x30\x89\xa6\x24\x63\xb2\x98\x03\x63\xb8\xe4\x6d\x09\x3b\xe3\x76\xd0\xac\x83\xb3\x43\x27\x07\xe3\x39\xf9\x5c\xd6\x39\x3a\x8b\x2c\xca\x2f\x2e\x2c\x2c\xda\x9e\xbf\xbd\xb4\xb0\xbc\xa0\x3c\xa1\x64\x4b\x51\x56\x8e\x9c\x93\x95\x03\x6f\x98\xa2\xdc\xe2\xdc\xc2\x3c\x9a\xed\xea\xe8\xeb\x50\x63\x0f\x7b\xe3\xd8\x13\x3e\x18\x83\x86\x15\xe8\xf6\x09\x76\x1a\x9f\x79\x2c\xe1\x44\xc2\x3e\xfa\x36\x7e\xc4\x99\x64\xd9\x24\x66\x51\x59\xb2\x2c\x4b\xd0\xe5\x3b\x10\xae\x43\x9f\xe3\xc7\xa3\x8f\xc5\x9c\x88\x2b\xcc\x94\xe5\xc2\x9c\xc6\xf2\x0b\xd5\xe7\x6b\xa1\xff\x72\x10\xc7\x82\x61\x94\xd6\x39\x5e\x73\x35\x6a\xae\xe5\xb4\xc1\xb9\xe6\x14\x87\xee\xf7\x50\xb8\x82\xdd\x8f\x43\xb7\xfb\xd0\xf9\x15\xb4\x07\xc7\xc2\x74\x25\xa3\x38\x93\xce\xcc\xca\xc8\x32\x8a\x5b\x92\x12\xe2\x0b\x62\x0b\xe3\xb6\xc7\x6d\x4f\x57\x92\x8a\x92\x8b\xd3\xe8\xf9\xa6\xf9\xc6\xf9\x62\x56\x56\x5c\x78\x62\x58\xca\x26\xf7\x84\xb5\xf1\x4b\x33\x57\xd0\xaa\x21\x82\x5b\x3c\xbe\xe7\x27\x13\x32\xa7\x66\x4e\x39\x11\x77\x83\x36\x2a\xa6\xa2\x62\x7d\xcd\xe3\xb3\x7f\x5c\xac\xf8\x71\x07\x78\xa3\x73\x22\x52\xb4\x8b\x5a\x67\x99\x06\xc3\x1c\x65\x7b\x90\x70\xe2\x75\x18\xf7\x6c\xdc\xfd\x81\x03\xc7\x8e\x1d\x38\xf0\xfe\xb8\x67\xcf\x9a\x9b\x9f\x89\xd6\xa4\x2e\xcf\xc6\xde\x1f\x38\x70\xdc\xd8\x81\x03\x9b\xc7\x3d\x7b\x76\xdf\x06\xab\x30\x10\x5f\x71\xd0\x09\x67\xdd\xc2\xbf\x0c\xce\x09\x95\x06\xe7\x43\x55\xd6\x8d\xf8\x3d\x06\x69\x24\xad\x3e\x37\x7b\xa9\x61\x90\xde\xda\xcc\xb7\x36\x63\xdd\x29\x68\xc2\x33\xf6\xf8\xf4\x4d\x4d\xa0\x98\x75\xf5\x6a\x04\xe8\x9a\x9a\x1c\x65\x5b\xb6\xa9\xc9\xee\x56\xcf\xd7\x76\xe4\x64\xd1\x19\x88\x46\x4e\x5d\xa6\xb6\xd7\xda\x6b\xcb\xb4\x65\xda\xbf\xa9\xda\x5e\x5d\x66\x83\xdb\x52\xa9\xa9\xcd\x43\x95\xd6\xdd\xda\xcc\x05\x93\x40\x09\x5a\x44\x9b\x05\x7e\xfd\x33\x46\x8d\xa0\x64\x46\xed\x3e\x9d\x0b\x14\x16\xef\xf4\x3f\xbc\x49\x42\x72\x02\x03\x24\x75\x78\xdb\xce\x86\xd3\x7a\x38\xc1\x98\x95\xb6\xc8\x15\xcf\xb5\x51\xda\x28\x78\x8e\xcf\xe1\x08\x03\xcf\xd5\x51\x1e\x36\xe1\x57\x8b\xe0\xa0\x5a\x10\x3d\xce\x33\x2d\x6f\x43\xeb\xbc\x0d\x37\xec\x71\x9e\x31\xbf\xb6\xea\x38\x4f\x46\x6c\xd5\x3d\x65\x54\x05\x1a\x18\x8b\xae\xfc\x3f\x76\x9e\x41\x8c\xaa\x03\x5f\xd0\x41\x57\xc1\x6e\x36\x2a\x83\x8e\xb5\x18\xa8\x44\x8b\xc2\x19\xcc\x89\x56\x05\x6a\x04\x08\x62\x38\x98\xc3\x18\xd4\xc6\x7e\x02\xab\x59\x7c\x17\x09\x06\xca\x7b\x0e\xc3\x5a\xb0\x01\x74\x9a\x8e\xb2\x69\xaf\x1c\x9c\x60\xc0\x0b\x24\xc1\xa0\x36\x2e\x61\x5a\x7d\x29\x56\x1b\x72\x6f\xfc\x13\xd1\x40\x79\x2f\x64\xc0\x8b\x02\x9a\x91\x5c\x4c\x82\x4d\x80\xe4\x8c\x82\x59\x31\xa0\x03\xc9\x6a\x06\x2a\x71\x7a\x5f\xe1\x2d\xd8\xa2\x33\x2b\xad\xba\xff\x7f\xa8\xaa\x98\x15\x4d\xf9\x1f\x28\xab\x19\xe8\x44\x8b\x6f\x5f\x41\x4b\x00\x89\x91\xd3\x19\x27\x83\x73\x88\x9a\xc4\xb5\x2a\x16\x85\x28\x4d\x88\xc9\xdf\xc2\xa7\x24\x1b\x33\x53\xa5\xf0\xa4\x98\x88\x50\xbd\xc1\xd2\x15\x36\x32\x70\x1d\xae\xc3\xa7\xda\xfc\xb2\xe0\x43\x31\xfb\xca\xdc\x61\xe2\x57\xf5\x65\x15\x87\xe2\xf6\xb9\xe3\x12\x75\x23\xa1\xba\x92\x20\x08\xb4\x8b\x35\x21\x93\x31\x2b\x30\x49\x70\xf4\x13\x9c\xcc\xcd\xd0\x97\x69\x02\xdd\x74\x12\xa7\xa0\xdb\x3c\xcf\xf1\xd2\x6f\xe3\xd1\xed\x02\x4e\xe1\xa7\xa3\xae\x89\x84\x40\x70\xf0\xc6\x3e\x92\xe6\x05\xbf\x31\x5a\x03\x85\x7d\xd0\xc1\x1b\x03\xc5\xb6\xc2\x29\xe0\x76\xe1\xb7\x7b\x92\xe7\x3d\x70\x9b\x07\x53\xf8\x36\x32\x81\xe8\xf0\x15\xf4\x91\xec\x42\xa7\x23\xa3\x7a\x51\xd0\x07\x1c\xbe\x82\x40\x9b\xcc\x9d\xc9\xd8\xed\x4c\xdb\x5e\x53\xfd\x2e\xfc\x27\xd3\x55\xf8\x2f\x58\x79\x6b\x95\xcb\x1e\x28\xa9\x61\x1d\xbd\x7d\x0c\xb4\x03\x5c\x11\x54\xdb\x15\x60\x1d\x32\xbd\x51\x67\x40\x07\x8a\x75\x0c\x74\xb0\x5d\x14\x1b\xb0\x5b\x27\x07\xd0\xb5\x2a\x24\x5b\xd3\xdb\x01\x34\x81\xf5\xa6\xbd\x41\x67\x14\x28\xb6\xc6\xc1\x07\xed\xee\x81\xd8\x6e\x0e\x5d\x51\x67\x51\x48\x5b\xd9\x11\x81\x03\x1d\xc9\x76\xa5\x1d\xb0\xad\x32\xda\xa3\xfa\x83\x8e\x63\x1d\x69\x07\x5b\x91\x43\xa6\xb7\xca\x0a\x14\xeb\xe8\xe0\x0d\x3a\x83\x25\x91\xb3\xd5\x0f\x11\x48\x76\x67\x90\x0f\xe8\xc8\x08\xa1\x8b\x01\x1d\x54\x47\xc6\x62\xeb\xaa\xce\x28\x84\x08\xad\x0a\xea\x48\xd8\x26\x80\x0f\x63\xd5\x59\x74\x1c\x2b\x52\x89\xa0\xb4\xea\xac\x8a\xaa\x43\xc5\x76\xc5\x29\x03\x26\x6a\x3a\xdb\x65\xd6\x69\x0a\x65\x83\x72\x56\x9b\x12\x79\x85\x01\x85\x74\x51\xff\x1d\x98\x23\x42\x88\x20\xc3\x0a\x41\xb6\xdb\xe1\xfe\x77\x64\x6c\xc3\xf2\xbf\x47\x2b\xec\xdf\xbb\x0a\x76\xce\x61\x1d\xbd\x09\x43\x7b\x07\xb3\xc2\xbd\x1d\xa2\x44\x1d\xb6\x1d\x78\x77\x02\x5b\xe2\xd3\xdb\x76\xe3\xda\x34\x50\x87\xf7\xbb\xa2\xae\xd5\x06\x5b\xf8\xef\xe0\xb5\x9b\xe0\x00\x3a\xab\x8e\x64\x19\xc6\x3e\x78\xdd\xdb\x25\xda\xd0\x6d\x43\x53\xe3\xe8\x6d\x1f\x4e\x87\x09\xa0\xb3\xd8\xf2\x0e\xc4\xdb\xe1\xec\xd1\xae\x9d\xdd\xd5\xd2\x11\x81\x63\xdb\xb5\xb3\x8f\x59\xbb\x09\x0e\xf6\x31\x73\x18\xe7\x60\xd5\xa9\x0a\x67\x6b\x4c\x75\x64\x48\xd6\xc1\xbb\x2b\xda\xca\xbd\x3b\x19\xd0\x01\x74\xf6\xb1\x6f\x67\xbb\x1c\x14\xdb\xdd\xe1\x7d\xdb\xb0\xe9\x5a\x15\xdb\xc4\xed\x6c\x43\xb3\x37\x66\xeb\x76\x57\x07\x6f\xa3\xd0\x85\xed\xee\x50\x03\xbf\x31\x14\xcb\x38\xf4\x6e\x55\xba\xa8\x8e\x0c\xc5\xb6\x4b\xd4\xc1\xc7\x8c\x0d\xc7\xd1\xc1\xd9\xa2\x23\xd9\xc2\x77\xd6\x86\x08\x56\x9d\xad\x79\x4d\xa7\x29\xe0\xc3\x18\x05\xd4\x81\x0f\xc3\xe6\x2f\xf4\x0c\x11\x38\x95\x15\x5a\x75\xa0\x0b\x11\x6c\xa7\x05\x57\x18\xfb\x2e\x44\x20\x5d\x56\xd9\xae\x60\x03\xb7\x5a\x10\x55\x2f\x8b\x17\xfc\x22\x18\x2c\x8d\xe0\x29\x58\xbc\x48\xfb\xa3\xae\x75\xa6\xce\x28\x17\x77\xd6\xd5\xc1\x0c\x98\xe1\x56\x57\xb7\xf3\xa2\x72\x86\x76\x09\xb1\x3d\xaf\x9f\xdb\x76\x3a\x27\x03\x11\x0d\x0a\x97\xb6\x25\x79\x4b\x6a\x2a\xce\xc4\x99\x6e\xa9\xa9\x5b\x92\xb7\xa4\xd1\x90\x05\x59\x14\xee\x03\x1d\xe7\xb7\x7c\xb9\x9f\x84\x0d\xad\x3a\xa3\x60\x14\x5a\x6d\x3c\xc4\xe2\x05\x43\x98\xb7\x0d\x29\x64\xe3\xfd\xbd\x87\x0e\x49\xb6\x06\x88\x43\x87\xf6\xde\x6f\xd4\xbb\xa8\x75\xea\x62\x98\x8b\x53\xa1\xeb\xb7\xc0\xd9\x57\x7b\x3e\xbf\x68\xee\x7d\x1f\x56\x43\x00\x64\x80\x8e\x8d\x33\x50\x5b\xd5\x03\xdc\x81\xf0\x5d\x21\xf9\x62\x56\x46\x72\x56\x3a\x8f\x9e\xd8\x15\x3c\xc9\x3c\x25\x2b\x2b\x57\xaa\xcb\xdf\xbe\xf3\xa0\x7e\x33\x04\x71\x07\xc2\xb7\xaf\xcf\x13\x33\x53\x6d\x18\x12\x72\x20\x91\x79\x05\x72\x56\x8e\xc4\x66\xee\xc9\xdb\x5e\x7b\x40\x6f\xc0\xe9\x38\x9c\xc3\x0e\x63\xfb\x62\x81\x28\x63\x3f\x19\x3b\xec\x13\xc1\x99\x5a\x73\xff\xeb\x88\x6f\xf8\x5f\xce\x5f\xfa\x4a\x82\x2b\x10\x8d\x57\x28\xf3\x52\x9c\xc1\x75\xdd\xd8\x33\x43\xd6\xe3\xeb\x98\x5e\x20\x41\x0f\x3d\xf4\x78\x09\x12\xbc\x8e\x11\xe5\x57\x19\x6f\x36\x8a\xe8\x4c\xf9\xed\x9a\xb6\x63\x44\x3e\x8d\xdd\x8b\x87\x4e\xc4\x4e\x7a\xec\xf4\x78\x22\x74\x2f\x16\x1f\xe6\xdf\xd8\x79\x61\x17\xcd\xc6\x21\x41\x99\xc3\x80\xe2\xd8\x6d\x1f\x8d\x9f\xd7\x57\xd4\x12\xd4\x02\x75\x11\xa9\x14\x9b\xf2\xf9\x47\x19\xd7\x96\x8d\xd1\xfb\x2c\x9f\x3f\x3a\x51\xcc\xa4\xd8\xb8\xc7\x69\x37\x16\x8d\xd5\x83\xce\x9c\xf3\x54\x30\xa8\x0e\x24\xeb\xbf\x41\x50\xeb\x60\x00\x03\xcf\xaf\x40\x30\x24\x43\x35\x24\x43\xb0\xca\xc2\x73\x27\xf3\x0b\x38\xc3\xa1\xd4\xd8\x1b\x78\x18\xac\x87\xc1\x2f\x80\x07\xe9\xa2\x68\x9d\x4a\xa9\x59\xf0\x82\xc3\xc1\xbd\x91\x47\x69\xae\x68\x9e\x46\x81\x34\xf7\x05\xf2\x38\x58\x0f\xc1\x5d\xe0\x6b\x2c\x87\x72\xfc\x1a\x1f\x60\x05\xda\x53\xa8\xc0\x0a\x78\x00\x5f\x43\x39\x54\xc0\x03\x51\x65\x53\x39\xfc\x13\xef\xe1\x61\xfc\x4b\xc4\x8b\x24\xbe\xc1\x93\x70\x18\xfe\x54\x5d\xe1\x24\x54\xc2\x1b\x09\x2e\x92\xf0\x17\xdc\xc3\x4a\xcd\x55\x82\xe7\x66\xfd\x4a\xe6\x1f\xe6\xa8\xe0\x51\x21\xb4\x36\x27\x32\x96\xe6\x66\xc6\xd2\x0c\x93\x05\xbb\xb3\x30\x4b\x33\x37\x9f\x69\x6d\x6e\x8b\x67\x6b\x69\x5e\xc8\x68\xf6\x69\xf4\xbf\x30\xf0\x02\x1d\x7a\xfd\x4f\x35\xf4\x02\x1d\x65\x67\x0b\x10\x01\x0d\x90\xc1\x54\x80\xb3\xab\xdc\x64\x56\x9a\xda\xde\x44\xd9\x8e\xd8\x97\x89\x06\xb2\xd1\xd2\xcc\xa9\x3a\xab\x2f\x61\x55\xc8\x56\x9d\xd9\xf7\xdf\x8c\xc1\xf9\x98\x45\xc7\xa9\x09\x41\x82\x96\x40\x7e\xb5\x71\x62\xe3\x87\xfc\x87\x13\xfd\xbc\x37\x4a\x5a\xc2\x20\x46\x4d\x20\xab\xe7\x9e\x58\x76\x31\x9a\x36\x58\xfe\xd1\x5e\x6f\x60\x60\x0a\xc3\xba\x3a\x0c\x63\xd8\x5a\x87\xd5\x8c\xf6\xda\x40\xbc\x43\x5e\xac\x3e\x71\xa2\xfa\x22\x8d\x53\x63\x38\xf8\x91\x59\xb6\x66\xcd\x32\xc9\xd2\xdc\xea\xcc\xc9\x14\xac\x67\xc0\x24\x88\xec\xcb\x44\xf8\x10\x0e\x3f\x04\x7f\xc9\x80\x0e\x5d\x58\x57\x07\x58\xcf\xd8\x80\x26\xe1\x2d\x5c\x74\xe9\xce\x68\x7b\xad\xf3\xb9\xb0\xe4\x2d\xe1\x1b\xf5\x6d\x6e\x82\x61\xe9\x18\x58\x8e\x5b\x35\x47\x7d\xab\x42\xaa\x8e\xb0\x1c\xb6\xc2\xd2\x07\xe2\x73\xa6\x3b\x83\xba\x2e\xcb\x32\x97\xa7\xf9\x8b\xad\xc9\x64\x5a\x43\xe6\xf1\x13\x7a\x8b\x62\xb0\x38\x70\xad\x0a\x09\x08\x0b\xa1\x0a\x16\x7d\x27\xc2\x16\x12\x16\x8d\x84\x85\x58\x85\xa8\x77\xb1\x57\xc2\x9e\x6b\x91\x9b\x87\x8e\xa2\xf5\x77\x72\x1e\x38\xae\x05\x0e\x7a\xea\x2d\x8b\x0c\xe8\xcd\xb5\xbe\x4f\xde\x87\xb9\xe0\x0e\x02\xb8\x5f\xa4\x6d\x75\xdd\xe7\x82\x3b\x0a\xf7\x71\x2e\xfd\xff\xd5\xbb\xc7\xc1\x3f\x4d\xbe\xeb\x41\x5b\x7d\xc8\xbb\x2d\x3f\xdd\x7a\x5c\x4f\x3f\x67\x50\x01\xdf\x47\x91\x06\xc2\x1b\x7c\x7f\x66\x0c\xc4\xa3\xe9\x7f\x32\x06\x4b\x6d\x13\x67\x70\xd6\xc8\x68\x78\x8a\xbb\x61\x2a\xce\x00\x17\xb0\xfd\x77\xc3\xd4\x6a\x78\x4a\x1b\xd0\x99\xac\xc6\xa7\xb0\x1b\xa7\xc2\x0c\x74\x41\xdb\x7f\x37\x4e\x8d\xc6\xa7\xb4\x81\x58\x6a\x20\x1d\xfe\x64\x5c\x42\x04\x8b\x33\xe8\xea\x41\x37\x1d\x74\x1e\xf6\x75\xa1\x5d\x05\x88\xa8\x97\x41\xd7\x52\x0f\x4a\x3d\x44\xd4\xb7\xb4\x89\x29\x4f\x22\xd8\xcb\x11\x66\x05\xae\x08\xb9\xb9\xb2\x29\x4f\xba\x99\x7a\xc6\x67\x8a\x1e\x5d\xea\x6d\x3c\xb0\x29\x02\xb6\x31\x85\x85\x26\x53\x81\xd8\x98\x78\x70\xa1\x9f\x1e\x3b\xd7\xd7\x53\xec\x13\x1b\xb8\xe9\xcc\xbc\x19\x22\x9a\xa8\xd0\xcc\xd0\xd4\x30\x91\xfd\x49\x45\x07\x6d\x0a\x91\x1a\x96\x19\x1a\xaa\x0f\xa3\x3c\x19\xd1\xaa\x23\x03\xd7\xef\x39\x70\x34\x69\xdf\xfa\x3d\x12\x5e\x83\xb3\xc4\xa6\x6d\xf1\x7b\xf6\xea\x21\x82\x82\x6d\x8c\xc8\xde\x8b\xb0\x91\x90\xd0\x9b\xaa\x0f\x21\xd4\xb1\xd4\x7f\x68\xf6\xb7\x37\x7d\x39\x02\x68\x46\x04\x9d\xf3\xb4\x99\xe1\x4b\x17\x4b\xec\xbd\x88\xb2\x75\x6b\x0b\x82\x78\x74\xed\xd6\x07\xd9\x14\x29\x2b\x3d\x5d\x4e\x53\xdf\x11\x30\x82\x9a\xba\x67\xfa\xe9\xa5\xb6\x1e\xc0\x15\x3c\x4b\x60\xbb\x6f\x06\x02\x29\x9a\x75\x64\xba\xb0\x5d\xae\xcd\xdf\x2e\xd9\xfa\xeb\xa8\x4e\x21\x0a\x0f\xe4\x1d\x3a\xa8\x07\x13\x05\xee\xdd\xa0\x1d\xea\xa3\xa2\x8c\xe9\xd1\x22\xdb\x14\x71\x7d\xe9\xb8\xc3\xa3\xf8\xe5\xcb\x13\x36\xad\x96\xd8\xcb\x11\xfb\x96\xcf\xab\x9c\xcb\xdb\x9d\xa5\x46\x33\xa0\xd8\xbf\xf5\xe8\x64\xb5\x93\x6d\x00\xff\xf3\x03\x1d\xfb\xf7\x23\xb6\xe5\x91\xc5\x19\xfa\x32\x57\xcf\x2d\x98\x29\x59\xbb\xd7\xab\x3b\x28\x16\x1e\xc1\x36\x3b\x40\xd4\x76\xd4\xc3\x0e\xea\xdf\x5c\x3a\x15\x65\x8c\xca\x8c\x16\xc7\x68\x7d\x88\xa5\xc9\x01\x6b\x97\xf0\xd6\x09\x64\xc0\xaa\xea\xfa\x70\x09\xfe\x61\xee\x7c\xfe\xc5\xdd\xa3\x87\xa3\x83\xb7\x8b\xd0\x1f\x57\x10\xa0\x50\xea\xff\xd4\xdd\x51\x6f\xee\x4e\xb1\x2d\x36\xd2\xb6\x21\x19\x34\x7c\xfe\x47\xfe\x12\x0b\x8f\x72\xe2\xe2\xb2\xe2\xd4\x77\x04\x6d\x12\xb5\x3d\x70\x7e\xd1\x0a\x1e\xdf\x47\x12\x29\xec\x06\xd9\x8c\x79\x02\x09\x0e\xbf\x7e\xfd\x4f\xb5\xf4\x40\xed\x4d\xe4\xed\xca\xd9\xbd\x5b\xaf\xa6\x53\xd0\x15\xdb\xbf\x41\x29\x45\xac\xa4\xc0\xcd\x1e\xd2\xd3\x2d\x2e\xce\x94\x19\x27\xb2\x2d\x8f\xbe\xf7\x1f\x7e\x7e\x10\xef\x52\x63\x9b\xcc\x76\x6f\x80\x11\x82\x6d\x86\xa8\x07\x9d\xed\x74\x0b\x40\x07\xd9\xb6\x73\xaf\xaf\x87\x06\xd0\xb1\x17\xce\x5a\xbe\x40\x1d\x77\xed\x5a\x61\xf9\x65\x09\x7e\x79\x44\x00\xb9\xfb\xbb\x3f\x81\xd1\x9b\x07\xaa\x0c\xa3\xf5\x20\xad\x34\xa4\x10\xc5\xeb\xd7\xe5\xaf\xe3\xfd\x99\x6e\x37\x3c\x5e\xac\x96\x4e\x6c\x21\x90\x20\x81\x15\x20\x5a\x80\x6e\x12\x94\x91\xe9\x49\xf2\xc6\x44\x3d\xfb\x63\xec\x80\xc6\x0f\x1f\x06\x88\xe9\x54\x60\x61\x60\x79\xb0\xe8\x71\xfc\xdb\xa5\x7f\xf3\xa0\x33\x2f\xe2\x7c\xa9\x29\xa7\x7d\xae\xc7\x89\xf8\x0c\xfb\x13\xa9\x71\x31\x99\x31\xfc\xcc\x05\xe7\xae\x9e\xd8\x79\xf4\x68\x95\x04\x1f\xde\x27\xd4\x0d\x98\xca\x2d\x0b\x0d\x08\xd8\x2c\xe2\x6b\xf4\x22\xd2\x93\x62\x32\x12\xf8\x29\x4b\xce\xdc\x78\x70\x65\xfb\xe5\x5d\x12\x1c\x07\x37\xa2\xa0\xac\x22\xa7\x82\xb7\x5f\x27\x8c\x35\xa7\x72\xb7\x49\x74\xea\x41\xac\xdf\xb8\x65\x65\x80\x1e\x17\x52\x18\xd7\x8d\xd0\xea\xc9\x09\x73\x3e\xbf\x2b\xb1\x3f\x9e\xb5\xdd\x79\x66\x5d\x13\xa9\xd5\xc2\x62\x62\x61\xf5\xda\x33\x8d\xfa\xbb\x5f\x7c\x7e\xa7\xa2\x3c\x33\xbd\x5c\x64\x7f\x8c\x55\xc1\x80\x34\x37\x90\x84\x6b\xd0\x8d\x38\x5f\xbb\xef\xc2\x25\x3d\xfb\xe3\xd9\x3b\xf3\xaf\x4c\x2c\x16\xd9\x0b\x67\x0f\xec\xda\x76\xec\xa4\x1e\x56\x06\xe3\x4a\x6a\xd6\x02\xdf\x99\xb3\xe6\x9f\xba\x2a\xc2\x59\x6a\x6f\x69\x5d\x6d\x8d\x08\x06\x70\x25\xe0\x0a\x09\xef\x32\x92\x75\x20\xe5\x13\x30\x7f\x4e\x9c\x88\xbf\x0c\x23\xe2\x17\xf8\xa5\xcd\xe3\xdb\x6c\x92\x74\xaa\xee\x77\xfb\xed\xa6\xbb\xc0\x58\x74\xf0\xcc\x26\x9f\x27\xc0\x56\xa6\xf5\x53\x72\x2f\x23\x05\x53\x53\x6b\xa7\x1d\x9b\x2f\xa2\x5b\x31\x38\xf5\x00\x77\xde\x3c\x8e\x5c\x81\x3a\x42\x1b\x5e\x24\x04\xc3\x49\x41\x54\x8f\x93\x70\x04\x3f\x20\x70\xa2\x3d\xa7\x23\xa1\x95\x01\xa0\xa0\x8b\x3f\x74\xfe\xf8\x6f\x51\xbb\x6d\xde\x46\xdc\x58\x34\xfa\xc8\x47\xbc\xb9\xc8\x60\x6e\xb4\xa9\x35\x9a\xee\x29\x03\x0b\xa8\x83\x91\xfb\x82\x2b\x45\xbc\x03\x83\x89\xbc\xe4\xa4\xec\x24\x5e\xfb\xe2\x29\x53\x4f\x3d\xb9\x77\xef\x89\xa8\x7e\x42\x36\x1c\xda\x75\xa4\x54\x6a\x02\x5f\x22\x47\xc9\x2e\x2e\xd2\x2f\x16\x06\x92\x56\x1d\xf9\xc9\xdc\xe3\x5f\x26\x4a\x19\xd5\x59\x5b\xab\xf5\xbf\x08\xe6\xe6\x7a\x6b\x33\xb9\x62\xf5\x06\xff\x78\x29\xf0\xb8\xe9\x50\xa3\xfe\x17\xc1\xf2\x29\xd9\x70\x38\x2a\x78\xbb\xa4\xde\xb1\x6e\x23\x2e\x8f\xd8\xd7\xb3\xa7\xbe\xed\x54\x27\x09\xe6\x09\xa0\x5b\x64\x53\x9d\x88\x4e\xa0\x83\x54\xd0\xb1\x3f\xa8\xcb\x50\xe1\xcc\xd3\xc8\xcf\x2e\x56\xed\x3b\x21\xa9\xb9\x6a\x27\xe2\xc6\xb9\x86\x6f\x7e\xd4\x43\x57\xa4\x81\x40\xe9\xfd\xd9\xb3\x3f\x19\x29\x42\x47\x55\x21\x72\xb7\xe6\x6c\xad\xd6\x43\xc7\xc1\x7f\x63\xc7\x32\x11\xe8\xe8\x3e\x8f\xf1\x1d\x1e\x9d\x3c\xc6\xa0\x43\xa8\xd4\x5d\xf3\x1e\x0e\xaf\x08\xf6\x05\x38\x84\x7a\x3c\x40\x27\x1e\xe9\xbe\x23\x91\xd8\x24\x61\xc7\x78\xcf\x1e\xd8\x49\x1f\x9d\x1d\x9d\x17\x2d\x02\xad\x85\x12\x79\x9b\xe4\x4d\x11\xfa\x35\x79\xab\x0b\x03\xc5\x57\x5a\x0f\x82\xfd\xa1\xd7\x8e\x9f\x27\xfe\xc5\x9b\xdd\x8f\x0a\xdc\xf5\x53\x7e\x33\x92\x4d\x49\xc6\x64\x09\xfb\x5a\x9d\x89\x9d\x24\xd0\x6a\x24\x71\xae\xe4\xe4\xc1\x0b\x7c\xd3\x69\xbf\x99\x49\x46\x5b\x59\xd2\x72\xe4\xb4\x5d\x29\x7a\x8c\xa2\xe0\x32\x6c\x21\x2a\xb7\xed\x52\x76\xf3\xb7\xbf\xf0\x9d\xb8\x7c\x93\x7f\x50\xa8\xa4\xe5\x6a\x1d\x89\x2d\x9b\x36\x26\x6f\xe4\xad\xd3\xc8\x65\xab\xea\x8e\x27\x4a\xbd\xd4\x1e\xb1\x5f\x14\x7d\x11\xf7\x85\x3b\xd2\x6a\x18\x61\x2c\x34\x29\x8a\xfe\xea\xf9\x73\x57\x2f\x9c\x5c\xb9\xb0\x44\x7c\xa1\xf5\x23\x76\x92\xe8\xa6\x9e\x20\x8c\x8a\x49\x29\xd2\xb3\x2f\xae\x9e\x39\xdf\x74\xfe\xe4\x9a\x05\x25\x22\xf4\xd0\x5e\x10\xc0\x92\xec\x0f\x30\xdc\xfc\xb1\xbd\x3b\xe7\xff\xc3\xba\xea\x6d\xc3\xaa\x1b\x09\x3a\x78\x6d\x63\x5e\x4a\x7d\xb0\x9d\x75\xa1\xaf\x9d\x85\xf9\x82\x8e\x7d\x5a\xc9\x3e\x5d\x67\xd6\x41\x5f\xa6\xf9\xb3\x99\xe3\x25\xed\x66\x7d\x8b\x4d\xc9\xb4\x65\xc4\x41\xf5\x4d\xff\xb2\xe4\x59\x14\x7b\xa3\xb2\x9e\x5c\x2d\x7c\xd6\xb0\xc8\x4f\xc4\x10\x6a\x5a\xca\xb4\x98\xe9\xe2\x00\xcd\xf9\xad\x3d\x8c\xd5\xff\x2d\x2b\x63\xef\x57\xc2\x3f\x0c\xfb\x4b\xe5\xed\x4b\x5f\xde\x39\x76\x34\x72\xed\x0e\x11\x3c\x70\x29\xa1\xea\x28\x55\xa1\xde\xb2\x74\xa8\x17\xb4\x13\x54\xed\xca\xa5\x25\x4b\x78\xec\x8a\x24\xd2\xd8\xd5\xc6\xb1\xfc\xc9\x27\x5f\x5f\x7e\x54\x23\xfd\xa2\x3a\x13\xec\xd3\x75\xd5\xf7\x95\x07\x5f\xe9\xd9\x5f\x2a\x21\x84\x82\x4e\x7d\x5e\xa3\x6b\xf4\x66\x1b\xc7\xfe\x6c\xe9\x94\xfa\xf1\x7c\x50\x50\x6a\xdc\x3a\xe9\xc4\xe2\x59\x3b\xa6\xf1\x89\x49\x26\x53\xa2\x04\x1b\x29\x78\x1f\x09\xe8\x80\x1f\x88\x6d\xaa\x55\xb0\xaa\xab\x27\x41\xd1\x74\x5c\x30\xc9\xde\xaf\x54\x75\xf5\xb6\x13\x69\x03\xa8\x3a\x92\xfd\xa5\xb2\xde\x1e\x81\xaf\xc1\xc6\xd5\x22\xea\x21\xbb\x8d\xcf\x45\xd8\xb8\xde\x47\x36\xd6\xaf\xdb\xb0\xdb\x4f\x60\x21\x82\xc5\x08\x03\x41\x5b\xde\xe5\x58\x78\xfd\x30\xe0\xc3\xc6\x01\x7c\x4c\x8c\x31\x33\x46\x82\x32\xaa\x56\xf0\x67\x44\x24\xa8\x2d\x27\x88\x17\xab\x3d\x6e\x74\xe3\xfd\x99\x75\xf9\xeb\x8a\xd7\x4b\x90\x62\xa5\x09\xad\x07\x95\xca\x88\xe6\x81\x24\x30\x7f\x7e\x07\xe4\x6e\xe9\x11\xfc\x42\x94\x5f\x2e\xbc\x76\x4d\x0f\x13\x29\x16\x23\xfe\x5e\xfa\xad\xc7\x71\xb1\x62\xed\xea\x82\xd5\x3c\x0b\xeb\x70\x5d\x01\x67\x63\x53\x31\x99\x31\xa9\x71\x12\xf6\xc7\x67\xc4\xf5\x38\x9f\xd3\x53\x78\x5f\xf2\x2e\x0c\xb8\x0f\x1f\x12\x47\xab\x8e\xee\x3c\xc1\x43\x28\xf2\xdc\x8d\x33\x4b\xa6\x24\x64\xc4\xa4\x27\x49\xe8\x85\xaf\x89\x80\xcd\x01\xa1\xcb\xec\xdc\xb1\x22\xa7\xa2\xa0\x4c\x02\x37\x38\x4e\x5c\xde\xb5\xfd\xca\x03\xde\x80\xe1\x80\x9c\x6d\x92\x69\x3c\xb3\x76\x61\xb5\x08\x8b\xb5\x5a\xa2\xc9\xac\x23\x81\x66\xe0\x5d\x46\xd4\xea\xa9\x6e\x18\x47\xe0\x42\x92\xc5\xe7\x01\x2b\xb7\xac\xdf\x28\xf5\x40\x27\xe2\x36\x85\x59\x66\x91\x48\x2f\xcf\x2c\xaf\xd0\x5b\x0e\x19\xb0\x2b\x67\x1d\xd8\xc6\x26\xe1\x0a\x05\xae\x60\x20\x6a\x6b\xea\x4a\xf7\xf2\x70\x96\xbc\x7a\x6a\xfe\xac\x99\xbe\x0b\x66\x49\xb8\x32\x98\x64\xe1\x35\xac\x24\x4f\x1e\xdb\x76\x60\x97\x34\xb1\xf8\xca\xfc\x3b\xfc\xa5\x0b\xfb\xce\xd7\x4a\xd0\x0d\xae\x11\x03\xa9\x79\x69\x7e\xf1\x0b\xc4\x61\xf8\x0b\xc1\xe2\xf3\x39\x71\xf3\x03\x7c\x78\x17\x58\x5a\x13\x69\x7e\x04\x53\x1c\xe1\x21\x2c\x74\x32\xff\x61\x89\xe0\xaa\x62\xcb\xb6\x88\xd6\xfd\xbd\x19\x6c\x4f\x6d\x59\x22\x88\x70\xce\xda\x08\xc7\x05\xe0\xc9\xca\xb2\x2c\xc1\xdc\x08\xe7\xa9\xca\xf2\xb2\x4a\xc9\x52\x0b\x1d\xb8\x0a\x53\x5c\xe9\x16\x1e\xbb\x91\xf1\x89\x29\x89\xe9\x12\x86\x6a\x95\xa9\x31\x69\x9b\x53\xb7\xb8\xa7\x55\xa6\x56\xa5\x56\xe0\x46\xb5\xd2\xad\xd8\x6e\x88\x84\xef\x93\x31\x71\xf1\x31\x26\x69\x74\xeb\x5c\x22\x39\x27\x25\x3f\x55\x6c\x73\x94\x0e\x3c\x59\x51\x56\x5a\x91\x25\x9d\x54\x7f\x02\x1f\x6d\x0c\x91\x90\x5f\x9c\x5a\xc2\x43\x07\xb2\xb4\xb8\xa0\x24\x4f\x82\xd9\xea\xe8\x53\xda\x23\x22\x26\xab\x2c\xbe\x82\x07\x3d\xa9\x14\xc2\x64\x26\xbf\x20\xa7\xd0\xa4\xd8\x43\x4f\x81\x97\xfa\x17\x4c\x85\xfd\x30\x05\x22\xe0\x99\xa0\xea\x60\x21\x34\xc2\x12\xd5\x1d\xbc\x9c\x2c\xbb\xcc\xf7\xb9\x41\x0b\xe6\x0d\x11\x71\x18\xec\x87\x8e\xe4\xed\xdd\xa9\x89\x5b\xa5\xa3\x9b\xb6\xfa\xcf\xd6\x5f\xc0\xc3\x5c\x66\x7e\x66\x5e\x66\x1e\xfd\xfc\xcc\x95\xbf\xa1\xa3\x1e\x0c\x13\xc1\x09\x89\x63\x62\xf9\xca\x25\xca\xfb\x3c\x9e\x6e\x5b\x82\x06\xfa\x0f\x05\xf8\x0b\x06\x50\xe0\xa7\x39\x12\x89\x79\xc5\x69\x25\x3c\xf4\x23\x8b\x8b\xf3\x8b\xf2\xa4\x7c\x45\x2e\x49\x2f\xa2\xb5\x5e\x06\xe7\xc3\x6f\x04\x8b\xce\x1a\xc1\xfd\x1b\xee\xc8\xde\x3b\x03\xd1\x08\xcf\x04\xdb\xde\xcb\x49\xfd\x13\x2e\x71\xea\x3b\x0c\xf4\x82\x1e\xb0\x00\xdc\x05\xdf\x4b\xc3\x61\x1d\x53\x64\x2c\x4a\xcb\x4d\x3e\x39\xc2\xad\x20\xd1\x18\x9b\x92\x44\x67\x64\x0c\xee\x85\xc3\x79\x33\xd3\xc5\x86\xdb\x1b\x7a\xc0\x7c\x70\x17\xe6\x5e\xfa\x10\xd6\x31\xc5\x46\x25\x2d\xcf\x86\x9b\xff\x1f\xdc\x21\xbd\x70\x04\x8f\xbf\x58\xbe\x78\x23\x80\x57\xdb\x7b\x3a\x17\xa8\x0b\x36\x10\xde\x8e\x4d\x06\x2a\xd1\xc9\x1c\x61\x8e\xe0\x3c\x3c\xe0\x18\x1e\xc5\xb9\x38\x57\x8b\x50\xed\xdb\xbd\xf1\x2d\x2d\x38\x0a\x46\x59\xbd\xac\x5e\x66\x2f\xab\x17\x5c\x61\x08\xf0\xb5\xf8\x72\x9a\x4e\x25\x04\x4d\xd7\xd2\x82\xc7\xe0\x28\xcc\x85\xb9\x6a\x84\x66\xdf\xc6\xdf\xf3\xf0\x80\x51\x38\xca\xec\x65\xf6\x22\x5c\x8e\x33\xe6\x15\x30\x8d\xd3\x16\xaa\xf6\x0d\x58\xd4\x79\x79\x05\x1c\xc5\x7a\xac\x87\x7a\xac\x6f\x69\x41\x5f\xf8\xf4\xc9\x13\x42\xa6\x6c\x59\xe2\x27\xac\xe0\x90\x05\xf6\xa7\x27\x47\x03\xc0\x8e\x01\xf5\x1e\x1e\xe0\x8b\x9f\x12\x32\x35\x64\x08\x21\x53\x36\x08\x6c\x87\xed\xea\x42\x6d\x21\x01\x15\x19\x5c\x2e\x33\x50\x10\x5d\xd4\xba\x35\xe0\x34\x3b\x12\xaa\x1f\xbd\x80\x4f\x5e\x3c\xfa\x1c\x36\x7f\x00\xce\xd0\xee\x77\xd7\x3c\x70\x86\x09\x8f\x1f\xc1\x27\x40\x3e\x82\x39\xe0\x2c\x83\x33\x4c\x7f\xf4\x08\x7c\x80\x78\x0c\xd3\xc1\x99\xdd\xff\x6d\xa3\x59\x52\x0f\x72\xe7\x57\x1c\x9b\x3f\x6f\xc5\x8a\xf9\xf3\x8e\xad\xb8\x70\xfe\xd8\xb1\x0b\xa2\xc1\x39\x39\x8b\xbb\xb0\xa2\x61\xde\xbc\x15\xfe\xf3\x6c\xd0\x0b\x36\x68\xeb\x0e\x13\xd7\xd5\x6b\x68\xb7\xae\x43\x1f\xbf\xf9\xe7\xf1\x4f\x6f\xfe\xf9\xc9\xab\x9b\x68\x70\x4e\xca\xe2\xba\x0e\x85\x57\xc2\x63\xaf\x6e\x62\x6b\xa3\x89\x03\x4f\xec\x04\x9d\xb1\x3f\xf6\xc7\xce\xd8\x19\x3d\xb1\x3f\x74\xc6\xce\xd0\x1f\xfa\x43\x27\xe8\x0c\xfd\xdb\xa8\x43\x7f\xec\x0c\x9d\xb0\x3f\x7a\xda\xe3\xf7\xf5\xb7\x63\x75\x02\x4f\x91\x75\xa2\x1d\xa0\x3f\x74\x86\x4e\xd0\x5f\x62\xd3\x12\x1d\x5a\xe7\x67\x72\x58\x88\x01\x18\x80\x85\x22\xeb\xed\x90\x88\x05\x18\x00\x01\x50\x08\x85\x60\x4b\x0b\x6c\xa9\xad\x50\x32\x0f\x54\xef\x70\x78\x35\x19\x65\xcc\xc7\x26\x3d\xdc\x51\x3b\x0b\x78\x27\x4b\xbc\x0b\xc3\x61\xf9\x11\x58\xc1\xb3\xa9\x0e\xde\xb0\x02\x66\xad\x1c\x0f\x23\x24\x35\x5c\xbb\x63\x23\xec\x6f\xab\x6b\x6b\xc0\x46\x53\x64\x93\x33\xbd\xdf\x12\xb6\x35\xe0\xdf\xd6\x6a\xb2\xb3\x03\x56\xab\xd7\x38\x78\x0f\xe7\xe3\xd6\x87\xf8\x25\x8f\x5f\xe2\xe1\x11\xf8\x1e\xce\x97\x34\x47\xf2\xf2\xc4\x13\x9e\xc5\xd3\xe8\x49\xfd\xfc\x91\x46\x57\x3d\xde\x81\x22\x54\xe0\x36\x4c\x81\xa1\x0f\xa1\xcb\x6b\x3b\xd1\xe3\x0b\xee\xf6\x2c\x5b\x4f\x3f\x84\x8e\xa7\x2f\xc9\x7a\xe4\x5e\x83\xd7\x08\x98\xc2\xc3\x6d\x28\x02\x05\xee\x80\xab\x3f\xd0\x93\x7e\x97\xd8\xe1\xe1\x89\xc5\xd7\x4f\xfc\x76\xf9\x0e\xed\xa2\x25\xc0\x4e\xd8\xf8\xea\x68\x3a\x6c\x51\x3f\x85\x2d\xae\x30\x0b\x62\xd4\x39\x10\xc3\x8e\x32\xeb\xcc\xed\x39\xc8\xb1\x07\xf6\xcf\x81\x5c\x5c\x0e\xcb\x30\x07\x73\x70\x39\x2e\xc3\x5c\xcc\x81\xe5\xb8\x0c\x72\x24\xf3\x08\x67\xe8\xf8\xb2\x17\x76\xc2\x8e\xbd\x7a\x61\x47\xec\xd8\xeb\x25\x74\x84\x4e\x2f\x5f\x42\x47\x89\xfd\x5e\xdd\x6a\xdd\xc8\x85\x9e\x9f\x70\xdc\x73\x2c\x2d\x23\xdb\x13\x57\xe0\x0a\x64\x5f\xc9\xa2\xe7\xfd\x09\xcb\x43\xe7\x2f\x1b\x74\x6e\x39\x90\x63\x9f\xcf\x04\x7d\xc4\xe3\xe4\xf1\xe3\xdd\x7a\xf4\xec\xdb\x67\xf2\x64\x7f\x7f\x79\x6a\x43\x40\x49\xbc\xdb\xd1\x80\x1b\x72\xc3\x51\xd8\x0a\x35\x6e\x7f\xf6\xf8\xa3\xcf\xcd\xc9\x0d\x76\x40\x49\xa9\xdb\xd1\xa3\xf2\x8d\x80\x06\xdc\x0a\x5b\xdd\xc6\xdd\xfb\x49\x01\xb7\xed\x2d\x57\xdc\x81\xbc\x7f\xee\xf8\xb2\xa7\xb4\x4b\x88\xa0\xd6\x3f\x37\x1b\x40\xf7\x33\x63\x19\x62\xf1\xe1\x9e\x4c\xb8\x3b\x64\xc8\x84\x09\x43\x86\xdc\x9d\xf0\xe4\xc9\xdd\xbb\x4f\x44\x58\x8b\xff\xc7\xd5\x4f\x5f\xb3\xee\x23\xbf\x49\xcb\x3c\xb7\xcc\x4c\xbb\x30\xcf\x0d\x3e\xc5\x39\x7b\xd6\xcb\x8b\xd7\xaf\x77\x4f\x4e\x5e\xbf\x7e\xb1\xbc\x7e\x8f\xfb\xc2\x33\x13\xef\x8c\x6f\xc6\x4f\xf1\x53\xb7\x36\x48\xb2\xe2\xb6\x7e\x8f\x7c\x7a\xcf\x9e\xb3\x67\xee\xdc\xb9\x77\xef\xfc\x05\xb7\x59\xf9\x1e\x95\x93\x4e\x7c\xd4\xb8\x66\x6f\x7d\x53\xd5\xc1\xf3\x7b\x6f\xfa\xd1\xf2\xb3\xf1\xd0\x13\x7a\x3e\xbb\x27\x8b\x37\x1b\xcf\xaf\xab\x5a\x43\x2f\x84\xff\xe3\x70\x32\xf6\xc0\x1e\x38\xd9\x96\x42\x0f\x98\x0c\x93\xe1\xdf\xd4\x06\x17\x55\x1f\x18\xde\x55\x98\x8f\x3a\x1f\xc6\x55\x86\x5f\xf0\x17\x03\x79\x12\x7f\x86\x9f\xd9\x1a\xf6\xb6\x81\x14\xec\xf6\x4f\x09\xe4\xb0\x09\x13\x86\x49\x5a\x05\xa5\x85\xab\xac\xe6\xaa\x86\xa9\x1b\x55\x56\x75\x55\xc3\x45\xb5\x82\x7a\x3c\xf9\x8e\x97\x68\xf5\x6d\x3d\xcb\x85\x84\x94\xd4\x44\x4a\x5a\x1f\xd5\x8d\x88\xd8\x16\xbf\xb7\x5e\x7f\xbd\xb1\xf1\x7a\xdd\x9e\x84\xc8\x6d\x22\x3c\xc0\x6b\xf0\x00\xae\x11\x35\xdb\xf6\x94\xec\xe5\xaf\x37\xfa\x4d\x0b\x8e\x5b\x17\xb1\x49\xd2\x7a\x6b\x6e\x44\xe4\xa6\x90\x84\x10\xde\x45\xad\x33\x10\x5e\x67\x17\x9d\x73\x95\x0d\xed\x1d\xd8\xe5\x6c\x8d\x81\xf8\xaa\x3b\x27\x9f\x95\x65\x11\x3e\x51\xc7\xc0\x01\x73\xf7\xa7\xb0\xf2\xc8\x93\x2b\x17\x5f\xe5\x64\x9d\x70\x63\x97\x9b\xb2\xb5\xe5\xb9\xc4\x16\x39\x2a\x5e\x7f\xc4\xf4\x72\xf3\xde\xe1\xda\xcc\xd6\x6c\xb7\xc8\x73\xb8\x42\x5d\x1c\xf1\x05\x04\xa9\xb3\xdc\x4e\xdc\xfa\xf1\xf8\xf7\x39\xf4\x59\x6a\xb9\x09\x53\x65\xf4\x32\x99\x12\xb2\xc2\x4d\xf1\xd0\x39\xf3\xd4\xfa\xe0\xb1\x34\x5b\xb3\x08\x89\xf7\x71\x4d\xd4\xca\x19\xe0\xb6\xe2\xd5\x64\xe8\xbe\xee\xc6\xcd\x9d\x77\xb2\xe9\xd3\x94\x56\x94\x45\xb0\xcb\x23\xe5\xf8\x18\xfd\x5d\xd3\xef\x69\x07\xa6\x9f\xf7\x84\xa1\x5a\xa7\x73\x3d\x66\xe0\xbb\xd8\x1f\x8f\xcc\xed\x3a\x0a\xc6\xe1\x69\xf3\xb8\x51\x30\x39\xe8\x2b\x78\xf7\xc4\xed\x5c\x9a\xad\x39\xa7\x7d\x47\xc5\x66\x85\x25\xea\xd9\xe5\xbf\x65\x81\x80\x03\x1b\x3c\x60\xb4\xd6\x15\x26\x6a\x06\x18\xad\x49\xb4\xa9\xd1\x94\x95\x25\x82\x13\x44\x01\x07\x29\xd0\x1e\x36\xc3\x19\xeb\x74\x37\xdb\x8c\xd1\x62\x8e\x02\x17\xf3\xfb\x51\xaf\x5b\x1c\xe5\x16\xf3\x06\x70\x31\x27\xb4\x38\x59\xa6\x9a\xdf\xe3\x0e\xac\xab\x0d\x0e\x0c\x5f\xb7\x36\x68\x6f\xf8\xbe\x03\xb5\x7b\xf7\x89\xe5\xb3\xb9\xc4\x68\x6d\xba\xd6\x67\xc9\x72\xf8\x53\xfd\xda\xad\xa4\x46\x9d\xa6\xf6\x3a\x7d\x82\x86\x73\x5a\x2d\x77\x3a\xfd\x74\xf2\x29\x71\x4e\x3c\x91\x6e\x4a\xca\x2d\xd0\x17\x66\xe5\x2b\xd9\xe2\xa5\x12\x7f\x18\xd7\x0d\x3c\xb1\xf7\x4b\xf7\x84\xd4\x8d\xf3\xe2\xf8\xd4\xf4\xfc\x82\xc2\xfa\xd3\x05\x45\xd2\x5d\x24\xf1\xbd\xc3\xa8\xe7\x65\x6a\xe9\xd2\xf4\x94\x65\x52\xf9\x54\x22\x2d\x2b\x23\x29\x95\x4f\x4d\xcb\x2e\x34\x4a\xb1\x37\x71\x42\x00\x0e\xe8\xda\x03\xfb\xb8\x97\xa4\x34\x6e\x8c\xd3\xa7\xa6\xa5\xa7\xa6\x2c\xda\x97\x9f\x24\x4e\x40\x62\x15\xba\xa1\x5e\xbf\x38\x6f\x89\xb2\x44\xbc\x55\x4e\xe4\x67\x15\x65\xa4\xea\x53\x8d\x69\x29\x46\x71\x52\xec\x31\x9c\x08\x8e\x38\x00\x3c\x7a\xb9\x97\x28\x75\x97\xcb\xf8\x82\xfc\xb4\xd4\x94\x55\xbe\x69\x49\xd2\x64\x70\x06\x6e\x35\xbc\xc7\x9f\x3d\x9b\x57\x74\x46\x8a\xb9\x45\xe4\x99\x72\x8b\x0a\xf8\xc2\x7c\x53\x72\x96\x54\x31\x05\xc6\x1d\x07\x4f\x70\x78\x01\x7d\xdd\x13\x0a\x16\x6f\x2f\xd5\x17\xe4\xe7\x17\x14\x1e\x0b\x49\x2f\x12\x6f\x81\xd3\x41\xe0\xe0\x3d\xfd\xa3\x2e\xda\x2c\xb4\xa0\x45\x9b\x65\x4b\xc1\xa2\xce\x52\x67\xc1\xbf\xa9\x0d\x2e\xb6\x74\x69\x9b\x4f\x8e\x33\x96\xce\xb0\x95\xc1\x4a\x13\x16\x23\x83\xde\xb8\x16\xf6\x68\xa3\xdc\x6e\xc3\x42\x58\x0c\x0c\xac\x4e\x30\x6f\x59\xe9\x36\x06\xfa\xe2\x3b\xf0\x1e\x0e\x7a\x86\xef\x3f\xc4\x81\x47\xd0\xd3\x44\x5b\x13\xb4\x3e\xdc\x00\xec\x36\x17\x47\xe3\x54\xbd\xe6\x0b\xdf\x6b\x94\x3a\x76\xaa\x08\x5b\xd4\x79\xb8\x72\x25\x2e\x01\xb2\x1f\x7c\xe2\x8e\x4f\xcd\x1e\x84\x81\x1c\x8c\xa3\x39\x2d\x3b\x14\x04\xf4\xca\xc6\x18\xa4\x70\xa2\xbb\xd6\xc7\xea\x04\xa3\x92\x61\xec\x21\x18\xf4\xcc\x5d\x75\x83\x08\x18\xa4\xae\xc5\x41\x6a\x6f\xda\xfa\x75\x14\x87\x23\x91\x47\x1e\x47\xe2\x48\xe0\x91\x87\x91\x30\x12\x78\xb0\xa7\xc8\x03\x8f\x23\xed\xf2\x84\x81\xbc\xaa\x1d\x83\x77\x5d\x2d\xed\xeb\xd5\x4d\x7f\xb0\x87\xd8\x8d\x16\x1e\x15\x4e\x2d\x50\x39\x75\x8e\xea\x9d\x26\xa5\xa9\xde\xb8\x06\x6a\xf0\xc5\x2b\x98\x81\x7d\xfe\xc2\x82\x28\x8c\x58\xf5\x6a\xfc\xa9\x0f\x4e\x3e\x19\xf7\x35\x96\x0c\xc1\x71\x43\x70\x3c\xbe\x42\x3f\x2c\x86\xb5\xf0\x71\xec\xeb\xcf\xbe\x85\xce\xf4\xaf\xc9\x65\x17\x65\x3d\x7b\xa8\xf8\x64\xd0\x99\xa1\x79\x5e\x79\xcb\x3e\xc2\x4e\x91\xe8\x1c\x8d\x0e\xaf\x4e\x02\x09\xd2\x14\xb7\x58\x98\x4d\x00\x5b\x7b\xfa\xba\xac\x3f\x78\x2e\xe7\xca\xe6\x22\x9f\x5c\x74\xce\x1a\x57\x9b\xf8\x33\xb8\xc1\xf8\xcf\xcf\x60\xdf\x4c\xfc\x64\xf8\x6c\x74\xda\x52\xdb\x35\x3d\x6e\x73\x31\xec\x77\xc3\xfd\x58\x80\xae\xda\x3d\x18\x8c\x48\xe3\x03\xe8\x06\x97\x31\x52\xed\xc2\xdb\xe5\x22\xc6\x40\x7c\x17\xf5\x35\x30\x99\x82\x81\xb8\x6f\x20\x0c\x1c\x0e\x86\x6e\xb8\xf2\x31\x46\x67\xd1\x26\x93\x6c\xe2\xb5\x14\xad\x87\xd6\x43\x4b\xd1\x36\xa9\x2e\x9a\x41\xdd\xb0\x49\x32\x95\x95\xcb\x65\x3c\x6c\x86\xd5\x8f\xe1\x7d\x18\x2c\x4d\x7c\x1f\x3b\x06\xe0\x7b\x3c\x06\xa1\x0f\x38\xc2\x70\x74\x93\x3c\xa0\xc3\x14\xf8\x38\x1d\xfc\x68\x59\x3e\x26\x8b\x79\xe0\x77\x13\x3e\x6e\x81\x0e\x34\x0c\x07\x37\xb0\x61\x05\xf1\xf0\x1e\x74\x0c\x98\xf8\x5a\x82\x0b\xd6\x81\x1c\x94\x60\x3b\x88\xc3\x09\x30\x5c\x3c\x36\x69\x4c\xed\x47\xfc\x80\xa1\x21\x7e\x63\x24\x58\xe6\x0d\x7d\xb0\x08\xbf\xd4\xe3\x65\xec\x8b\x45\xb8\x6c\xac\x38\xf7\xc1\x4f\x21\xbf\xf0\xdf\x7e\xb5\xad\xe1\x96\x04\x93\x60\x38\x38\x43\x3c\x94\xe9\x5d\x6a\x30\xf5\x9a\xd9\x0b\x36\x9a\x3b\x46\x3d\x7d\xe9\x28\x83\xce\x40\x7e\x74\xc2\x29\x46\x50\x5b\x38\x30\x04\x02\x3f\x15\xde\x11\x0f\x3f\x3e\xf4\x77\x8b\x1e\xa6\xa3\x74\x15\x87\xa1\x01\xc7\x7e\x32\x07\x3b\x89\x59\xb1\xb1\x72\x2c\xaf\xbd\x83\xdf\x62\x89\xd6\xee\x43\x09\x1c\xc0\x05\x3e\x82\x8f\xc0\xf3\x06\xce\xc1\xd1\x38\x0c\xd7\x62\x47\x0c\x5f\xef\x37\x1d\x99\x98\xd9\x74\xd8\xe0\xa8\xfe\xfd\xf5\xe8\x75\xbb\x3b\x8c\x82\xce\x30\xe8\xcb\xcf\xc1\x59\x9c\x0b\xed\xa0\xe3\x7a\xe8\xc8\xc3\xaf\xf0\x05\x04\xc3\x7d\x20\x25\x6d\x24\x89\xc4\x14\xec\x3c\x1d\xbb\xf0\xe8\x8b\xe3\xa1\x3b\x2c\x92\x0c\xce\x09\x64\xde\xfe\xec\x03\x07\xf4\x13\xcd\x3a\x6e\x62\xe8\xc8\xb0\xa9\xe2\x00\xe8\x8d\x12\xd0\x38\xec\x1a\x7d\xf0\xab\xdf\xf7\xff\xc8\x43\xbb\xef\x26\xa1\xb3\x64\x30\x7f\x69\x40\x0f\x0e\x1c\x2e\x80\xee\x54\x8b\x78\x15\x27\x83\x2b\x7a\xc2\x87\x1e\xf4\xf2\xd1\xbd\x03\x06\xf3\x48\x4e\xba\x06\xb4\xa4\x66\x99\x97\x70\x30\xb7\x00\x46\x83\x04\x3e\x3c\x7c\x02\x1f\xa3\x84\x73\x0b\x24\xeb\xba\xb7\x26\x90\x3a\xd0\xa9\xb4\x00\xd1\x36\xdd\x58\x67\x88\x11\xa0\xa1\x42\x80\x3a\xc6\xe2\x4b\x55\x96\x97\x57\x8a\x06\xd2\x1b\x42\x05\x83\xd9\xfe\xe9\x75\x8d\x60\x8e\x40\x1d\xbe\x1e\xc4\x98\x9b\x83\x04\x7c\x0d\x3a\x73\xc4\x35\xa6\x26\x40\xd8\xf6\xd4\x40\xba\xfd\xe1\x04\x22\xf4\x65\xa6\xcf\x9b\x37\x5d\x32\x58\x7e\xa5\xa6\x5f\x98\xd7\x24\xc2\x0e\x12\x3f\x80\x41\xfe\xb0\x7e\x21\x6c\xfe\x04\x0e\xcc\x80\x72\x18\x00\x29\x87\x2e\x1d\x3b\x77\xfa\x38\x6d\xc9\xe8\xd2\x3c\xee\x8a\xc7\x29\x64\xb4\xc0\x5e\x6e\xf3\x5f\x8c\xfe\x01\x3d\x83\x3f\xdc\xfc\xe9\xa2\xb0\x79\x21\xd3\x63\xc7\x37\x63\xcb\x3d\xfc\xfd\xf8\x27\x17\x97\x9c\x58\x75\x27\xea\x51\x15\xf4\xab\x3f\xfc\x26\x1f\x9c\xd4\xa0\x57\x6e\xc5\x98\xe9\x8d\x73\xd0\x0d\xdf\xa3\x61\x12\xd9\x74\xe1\x42\x93\x64\x20\xdc\xa8\xa6\x79\x17\xa6\x8b\x2e\xa8\xbc\x06\x67\x70\x98\x16\x09\xab\xc1\x41\x8d\x05\x27\x70\x05\x87\x37\x7f\x3d\x84\x76\xae\x65\x7f\x43\x9f\xbf\x7f\x82\x76\x6a\x1c\x38\x41\x47\x70\x4c\x2f\x65\x2f\x44\x1b\x88\xcd\x89\x5c\xa1\x52\x50\x11\xbc\x8f\x96\xa9\xf8\x92\xc4\xc2\xe4\xec\xa4\x9c\x14\x63\x6a\x6a\x5a\x9a\xdb\xb4\x69\x63\xe6\x7f\xb8\x86\x5e\x3d\xa4\x7f\x74\x3f\xde\xa3\x7f\xf5\x21\x2f\x69\xd8\xc1\x31\xe7\xa7\x5d\x9f\x7c\x6b\xfe\x83\xb5\x0f\x83\xbf\x4d\xba\x9c\xb1\x95\xb6\xfb\x91\x17\x33\x6a\x23\xb3\xd7\xa5\xc7\x1b\x57\xa6\xe5\x6e\xa0\x65\x4a\x99\xb6\x75\xc6\x8e\x59\x0d\x7d\xbf\xf4\xfa\x6a\xec\x7d\xef\x27\x3e\xcf\xfd\xe9\x15\x2f\xdf\x6c\x82\x76\x3c\xb4\xfb\x67\xdb\xb1\x57\xd2\xf3\x86\x9f\xbe\xfc\xea\x2b\x5a\xce\xcd\xcd\xce\x16\xb5\x75\x2a\x72\x65\xe5\xf1\x95\x09\x25\xd1\xd5\x9b\xf3\x12\x13\xa7\x4d\x73\x9b\x76\x83\xc8\xc9\xc8\xc8\x4e\xe7\x93\x93\xd2\x12\x12\xa4\xa8\xa8\xf4\xb8\xe2\xc4\x1b\x53\xdd\xa6\x4e\x23\xd2\xd3\x32\xd3\xd3\xf4\x09\xc5\x89\x05\x69\x62\xb6\x91\x48\x2c\x2e\x4e\x57\xf8\xc2\xbc\x9c\xec\x6c\x29\x2f\xef\xd2\xa5\xbc\xbc\xab\xb3\xdc\x52\xf3\xf3\x33\x0b\xf8\xa2\xe2\xfc\xe2\x62\x69\xd7\xae\xf8\xf2\xd4\x82\x19\xd7\xdc\x6e\xdc\x20\xd4\xe0\x39\xdc\x77\x31\x0f\x42\x9a\xc5\x90\x3b\x2b\xae\xce\xbd\x38\xf7\xe2\x8c\x63\x13\xeb\xe8\xbd\xe3\x3f\x2e\x1f\xc5\x8f\x1c\x19\x13\x32\x41\x9a\x13\xde\x77\xe6\xa7\x3e\xb4\x49\x8d\x32\x5f\x20\xeb\xe4\x86\xb2\x52\xf9\x58\x88\xd4\xea\x48\x86\xc7\x45\x6d\x96\xac\xa3\xa8\x4d\xbb\x62\x77\xa4\x89\xe7\x12\x8b\x2b\x4a\x2a\xb3\xb3\xdd\xaa\x77\x7d\xfe\x65\x56\x16\xfd\xf4\x29\xbc\x7b\x0e\x38\x1e\x38\xe8\xb0\x60\xd0\x53\xe9\xd9\xc0\x73\xd8\x01\x75\x7a\x64\x17\xe0\xbb\x83\x06\x89\xec\x85\xd7\x83\x07\x63\xa7\xf9\xa8\xe3\xbd\x86\xd7\x9e\x18\x2f\xa9\x83\xa8\xcf\xb6\x5f\x3e\x7a\x52\xbc\x70\xea\xda\xee\xdb\xfc\xcd\xab\x61\x4b\x4e\x49\xa7\x96\xee\x9c\x35\x4d\x8f\x22\x3a\xa2\x03\x4a\x62\xe8\xc2\x12\x23\xbf\xa1\x30\x61\x55\x46\x7c\xec\xc2\xda\xa4\x3c\x23\x1d\x7f\x62\x4f\xe6\x11\x1e\xe6\x81\x17\x0c\x81\xf9\xe0\x87\x43\x60\x30\xce\xf7\x18\xb4\x7a\xea\x14\x69\xda\x8c\xc0\x61\xc6\x0f\x69\x23\x95\x24\x63\xd6\x47\x7a\x13\xb9\xa6\x61\xf5\xd5\xf0\xa6\xe4\x1d\x9b\x32\xd6\x27\x27\x64\x04\x24\x28\x1b\xe8\x2c\xd2\xa8\x84\xe5\xc7\x8b\x7b\x26\x1e\x9b\x79\x71\xee\xc5\xb9\xd7\x56\xdc\x09\xa1\xd7\xdd\xfb\x3a\xf6\x5b\xfe\xdb\xaf\xcb\xf7\xde\x93\xee\xd4\x5d\x3b\x76\xf1\xe2\xc5\x8b\xc7\xae\xd6\xdd\xa1\xeb\xee\x55\x7c\xfd\xad\x7e\x9d\xfa\x0d\x37\xf9\xba\xf7\x99\x01\x47\xe8\x63\xbd\xba\x6e\x43\x47\xfe\x7d\x74\x8e\x5c\x33\x42\x4a\xce\x4c\x4f\x35\x26\x99\x92\x73\xe2\xf3\x63\xf2\xe2\xcb\x82\x76\x16\xd1\xf5\x3f\xfe\x5a\xf9\x88\x6f\xf9\x75\xf3\xaa\x9f\xa4\x3b\xeb\xaf\xaf\xb8\x37\x93\x4e\xcf\xcb\x33\xe6\xf3\x65\xa5\x65\x25\x25\x12\xfb\x63\x74\xf5\xb6\xd2\xaa\xe8\xca\x36\x05\xb9\x1f\x24\xdf\x8c\x82\x02\x55\x80\x99\x50\x07\x26\x57\xf8\x1b\x7e\x83\xa7\xf0\x04\x6e\x3e\x66\x7f\x34\x90\x1d\x2f\x73\xd6\x28\xfc\x4b\x5b\x0a\xa7\xf0\x14\x4c\xda\x5c\xb2\x2e\x6e\xd7\x3a\x1a\x99\x3f\xa0\x19\x8f\xa8\xc3\x78\x75\x18\x64\x43\xf4\xd1\xbd\xd2\xde\xa3\x11\xb5\x21\xb1\x34\x04\x00\xc5\x45\xed\xec\x99\x3b\x23\x75\x46\x8a\xc7\x4a\x25\x82\x66\x2f\xe4\x26\x2b\xb9\xc7\x73\x4f\xe4\x82\x4b\xc5\xce\xb5\x3b\x83\xa6\xa1\x57\x42\x68\x42\x68\x45\xea\xb6\x2a\x9a\xfd\xb1\xa6\xf2\xf0\x89\x9d\xd7\x68\xf6\xc2\xce\xa6\xf2\x27\xb1\x5b\x69\x4d\x54\x3f\xe1\xd4\xc7\xd4\xab\x3e\x10\x8d\x7f\xe3\x6b\xfc\x04\x37\xe2\x02\x11\x4e\x6f\x24\xae\xc3\x42\xe8\x27\xcb\x7a\xe8\x97\x84\x1d\x37\x4a\xc8\x52\x38\x2f\x55\x8b\xf2\xd5\xfa\xe9\xd9\x1f\xb5\x69\xea\xb9\xcd\x30\x15\x0e\x8a\x05\x89\x85\x09\x45\x49\xb4\x7c\x73\xe2\xcf\x1f\x8a\x10\x05\x11\x84\x8c\xdc\x2b\x68\xa7\xb7\x7a\x45\x72\x30\x1b\x96\x1e\x06\x3e\x57\xc4\x61\x14\x36\xe3\xd3\x33\xb0\x4c\xef\x02\x5e\x8c\xea\x6b\xb7\x7a\xf1\x82\xd7\x17\xfe\x5d\x45\x03\x3a\xf8\x47\xf0\x61\xe0\x9a\x80\xba\x16\x32\x94\xd1\x74\x2d\x54\x28\x83\x3a\xca\x5f\x88\x10\x36\x0b\x46\x81\xfa\xd6\x06\xe3\x60\xa7\xd0\x43\x10\x4b\x99\xb2\x2a\xc9\xaa\x40\xc3\xff\xe6\xd3\x19\x03\x7a\x73\x06\x4b\xa2\x45\x89\x10\x48\xab\x4e\xf3\xe5\x20\x02\x66\x30\x18\xf1\xff\x2e\x08\xfb\x6f\x37\x4c\x4c\x3a\xa3\x7a\x41\x57\xa6\x55\xd1\x22\x3e\x10\xc0\x8b\xb1\x28\x26\xc6\xd2\x02\x1e\x5c\xdb\x42\x0d\xf4\x01\x1f\xdb\x8c\xe5\x63\x0f\x31\x57\xe2\xbe\xe4\x54\x82\x3d\xca\x9c\x3b\xfa\xd8\x36\xf0\x81\x0f\x18\x98\x8d\x3e\x38\x1b\x7d\xa0\x54\x00\x1f\x98\x0d\x3e\x38\x1b\xea\x04\xa2\x35\x18\xeb\xff\x25\x69\x20\xde\x53\x6f\xb7\xc5\xa9\x2b\x59\x72\xca\xad\x8d\x88\xe6\xa3\xf9\xb8\xe1\x46\xd8\x68\x23\xd2\x80\x0d\xa5\x09\x5b\xe5\xd2\x12\x77\x55\x51\x15\xc2\x80\x41\x56\x9f\x0f\x84\xe3\xb6\x8e\x6e\x65\x20\x85\x31\x98\x13\x07\x08\x06\x32\x71\x20\x63\x70\x4e\x84\x2a\x46\xed\x08\x55\x8c\xa5\x63\x34\xe3\x62\x4d\x30\x10\xcb\xe1\x99\x00\x11\xa0\x38\xa9\x8a\xea\xcb\x2d\x5b\x9e\x57\xe4\x2f\x59\x3f\xc8\x15\xcc\x1f\x50\x49\xfe\xcb\xd3\x97\xf1\x96\x66\x67\x20\x18\x3c\x08\x9b\x71\x33\x1c\x84\xd9\x0c\xa4\x32\x12\x46\x38\xe3\x10\xe4\x90\xc3\x21\xf0\x3d\x03\x7e\x30\x18\x06\x83\xdf\x0c\xa6\x97\xe0\xf2\x9a\x31\x2b\xa0\x38\x19\xc8\x3b\x06\xe7\x07\x1c\x76\x83\x6e\x44\xd5\xe6\xb0\xa2\x30\x5e\x53\x9a\xc8\x41\x02\x0c\x12\xa4\xe9\x5a\x33\xe5\xc9\x48\xa8\x0c\x10\x60\x0a\xb3\x63\x47\x51\x55\x95\x04\xdd\xa0\xdb\x9f\x82\x7b\xeb\xaa\x56\x0f\x4e\x53\x72\x05\x55\xa1\xd4\x66\xd5\x97\xd3\x9a\xc1\x17\x15\xf4\xd5\x14\x32\x2c\x2c\x69\xf3\x66\x09\xbb\x61\xb7\x67\x82\x3b\x74\xc3\x6e\xe0\x27\x18\x08\x6f\x18\x29\xb8\x40\x5d\x85\x3d\x46\x9f\xda\xd0\xa4\x36\x37\xa9\x0d\xf6\xd0\x35\xf6\xf0\xa6\x9b\x4b\x36\x65\x47\xa5\x68\x1a\x9a\xdc\x34\x0d\x4c\x31\x05\x31\x72\x4c\xaa\xbb\x55\x87\x0a\x11\x9e\x1c\x13\x1e\xaa\x37\x58\x12\xa9\xc8\xe2\xa8\xca\x04\x31\xb5\xb8\x24\xa3\x94\x2f\x2c\xcc\xca\x2d\x94\x54\x0d\x4c\xaa\x86\xa6\x8a\xd4\x0a\xb9\xa2\xc0\x5d\x75\x14\x88\xed\x4a\xc5\xf6\x9d\xfa\x08\x81\xaa\x49\xdc\xba\xa5\x44\x34\x58\x34\xe4\x39\xb5\x19\xb7\x10\x06\x64\x28\xad\x19\xb6\x10\xda\x6b\xcb\x61\x4e\x6d\x80\x90\x36\x50\x03\x86\x10\x31\x02\x2c\xe7\xec\x47\x06\xe7\x37\x94\xbd\xcc\xe5\x38\xa3\x2a\xb0\x95\x69\x64\x0c\xce\x8f\xba\x34\x32\xad\xaf\xbb\x4c\x12\x24\xf8\x41\x48\x28\x48\x2c\x4e\x13\x55\x05\x15\xc2\x98\x9b\x67\xca\xe3\x3f\x66\x0c\x44\x23\x55\x92\x5a\x9c\x98\x2f\x6a\x0a\x28\x44\x76\x46\x7a\x56\x3a\xef\x52\x53\x13\xe9\x68\xd6\x01\x30\x66\x9d\x59\xc7\x41\x08\xf3\xf6\xf7\x46\xeb\x01\x47\xb4\x14\x9b\xe8\x85\x47\xf0\x0d\xce\x03\x17\x1c\x07\x9f\x62\x7b\x31\x14\xd7\x78\x2f\x9e\xe1\x93\x90\x98\x90\x94\x1b\x43\x03\x2d\xe4\xc6\x96\x27\x56\x64\xd7\xe5\xec\xc9\xdb\x95\x07\xde\x87\xa0\xcf\x37\x40\x02\x49\x27\xdc\xbc\x9b\xd6\xcc\xab\x29\x6a\x0f\x38\x02\x6f\x24\x97\x9a\xb6\x35\x42\x8a\x3d\xa0\x94\x0e\x14\x58\xce\x80\x4e\xf7\xc8\xde\xee\x38\x41\xd5\x75\x79\xbb\xd3\x14\x55\xd9\xcd\xc0\x3f\x5a\x0f\x38\xaa\xa5\x88\x32\x65\xef\xc3\x51\xfc\x67\x2b\x63\x4d\x40\xd9\x40\xbe\x70\x94\x2d\xb6\x9b\x0c\xfe\xe0\xb4\x9f\x29\x55\x81\xb3\x84\xfa\x84\xd2\x14\x3c\x43\x68\x0a\x9c\xe1\x64\x4a\x55\xf0\x8c\xa6\xa0\x1d\xae\x2a\x96\x77\x38\x7b\x46\x7b\xf2\x5f\xe4\x27\xce\xea\xdb\x72\x7b\x3d\x97\x1a\x03\xe1\x1d\xe5\xf8\xd0\x40\x2e\x76\x32\x90\xfb\x2d\x39\x5c\x11\x04\x8e\x02\x47\x1c\x99\x87\x91\x05\xe8\x89\xec\x48\x2c\xa7\x2b\x8f\x1d\x55\x8e\xf0\x0f\x0f\x2e\xe9\x9f\x2c\xa5\x7f\xba\x66\xc4\x64\x74\xa0\xd1\x61\xd2\x7c\xbf\x20\x7e\xd9\xca\x1f\xe0\xa3\xd5\x52\xc2\x99\x08\xe8\xbc\x0e\x16\x87\xc0\xcc\x8f\x1f\x23\x9b\x30\x37\xfd\xa3\xc5\xdd\x3c\x47\x4d\x1a\x35\x7e\xe4\x84\xaf\xfb\xb8\x9d\x6f\x3e\xb6\xa3\x84\xbf\xd4\xe8\x85\xe3\xcf\x48\x27\x70\xa8\xfd\xe7\x45\xe3\xf8\xeb\xdf\x0d\xf9\x9d\x87\xfe\x30\x0b\xba\xc3\x51\x08\x93\x60\x2d\xec\x01\x27\x08\x29\x80\xc1\xb4\x0b\xea\xa0\xbd\xc1\xf9\x36\x7c\xf2\x33\x03\xe7\x05\x6d\x5e\xeb\x4b\x0e\xef\xe0\xe7\x78\x07\x3e\x87\x50\xf3\x3b\x18\x0a\xe7\x08\xb3\x0b\x89\xa1\x78\x8e\xb0\x21\x47\x98\x75\xcf\xfb\xc2\x6c\x28\x81\x08\x57\x19\x1a\xa0\x01\xde\x3d\x62\xe3\x75\xd0\xc0\x5e\x80\xf3\x82\x95\xc6\x66\xee\x77\xb2\xb1\x85\xa8\x27\x1b\x3d\x88\xdf\xc9\x92\xb5\xde\xc3\x09\xf6\xc7\xbd\x48\x86\x85\x75\xfd\xbc\xeb\x9c\xb0\x1d\x7b\x81\xf4\xfe\x81\xc0\x42\xec\xc2\xcd\x30\x06\x7d\x22\x8d\xa4\x52\x12\x52\x8b\x44\x88\x21\x57\xa1\x8e\xc0\x4f\xb5\xf7\xc8\xa8\xd4\xcc\x2a\xa3\x08\x7d\xe2\x88\xa1\x9a\xef\x13\x8a\xbd\xd0\x5c\x40\x54\x65\xe7\xe5\x57\xeb\x55\x57\xaa\x30\x49\x4e\x12\xc7\x80\xae\xe5\x1e\x09\x1f\x3f\xbb\x03\xe3\xa0\xfd\xeb\x0d\xe8\x29\xe2\xb8\x48\xa2\x29\x2b\xa6\xdc\x9f\x57\xff\xb6\xde\xe1\xf0\xf5\x63\xf2\x8e\x42\x54\x65\x17\xe6\x56\xeb\x55\x92\x2a\x4b\x52\xe2\x73\xc5\xe1\xdb\x6a\x5f\x11\xb0\x5b\xab\x24\xa3\x92\x8d\xd5\x99\xe2\xc5\x64\xc2\xa5\x06\x07\xc2\x1c\x18\x0e\x1f\xc0\x40\xc1\x3c\x89\x83\x76\x83\x7f\xc6\x76\x9f\xce\x8f\x58\xb5\x46\x44\xc3\x6f\x38\xed\x32\x2e\xc9\xff\x5b\x5d\xe7\x06\x3f\x8d\x25\x46\xdc\x9c\xf2\xf0\x87\x9b\x37\x7f\x78\x38\xe5\xe6\xf0\xd9\xf3\x83\x16\x85\x8b\x1a\xf1\xfd\xe6\xdc\xe8\x84\x8c\xcd\xee\x48\x6b\x55\xb8\x38\x15\xa7\xcc\x42\xde\xd3\xfd\xc8\xea\xf9\xdb\xe7\xf0\xd8\x6e\xf0\x60\x6c\x37\xea\xd4\xe4\x9b\x6b\xa5\xd4\x90\x8c\xe0\x60\x3d\xde\x06\x33\x2a\xea\x74\x75\x06\x98\x41\x81\xdb\xfb\x32\xea\x53\xf6\x8a\xd7\xf7\x9d\xb8\xf9\x8d\xde\x60\xa9\xc5\x45\xdc\xc3\x9b\x37\x1f\xfe\x70\x73\xca\x88\xe1\x53\xa6\x0c\x1f\x31\xe5\xe6\x0f\xa2\xf9\x3c\x02\xd7\xaf\x1f\x4e\x4f\x9d\xcb\xcf\xc5\xe9\x05\xbf\xf7\x93\x62\xcb\xe5\xda\xf2\xb2\xb2\xb2\x5a\xb9\x2c\x8e\x9e\x75\x19\xb8\xc8\x5f\xf8\x5f\x80\xab\xb9\x72\x59\x6a\x03\x96\xc7\xca\x9b\x62\x63\xe9\x4c\x58\xc1\x0d\x9f\x72\xf3\x87\x87\xb6\x3e\xb7\xd1\x1c\x21\xb9\xd4\xa8\x69\x70\x57\xed\x08\xbf\xbb\xde\x36\x90\x91\x06\xcb\x22\x68\x66\x1f\xb1\xb7\x6f\x9b\x37\x73\xe0\x09\x61\x50\x0b\xeb\x55\xa6\x94\x96\xd5\xae\xf2\x6a\xad\xa3\x68\xed\x48\xd6\x02\x7f\xe2\x9b\xcf\xef\xe1\x76\x74\xc5\xd1\x18\x9a\x8b\x8f\x73\xb0\x18\x26\x61\x15\x14\xf6\x81\x8b\x48\xa9\x5d\x7e\x86\x31\x7f\xd1\xea\xbb\x14\xfb\x08\x4f\xe2\x72\xeb\x88\x98\x74\x75\x25\x6d\x31\x83\x0f\x09\x43\x36\x40\xcf\x31\x20\x88\x50\x85\xbd\x31\x1f\xba\xe3\x65\x5e\xcb\xc9\xc2\x83\x9a\xeb\x3c\x6d\x30\xed\xa2\xd6\xa1\xee\xb0\xfd\x93\x8c\x53\xbd\xf3\x5b\xab\xc8\xc6\x85\x8c\xfa\xda\x00\x0e\x94\x59\xa7\xe9\x38\xd5\x6e\x9a\x66\x77\x4a\xc0\x81\xdd\xff\x01\x69\xa0\x96\xc3\x35\xc1\xa0\x7a\x2f\x61\x30\xc2\xd0\xde\x01\x22\x40\x12\x6c\x62\xc8\x5f\xe6\xfd\xe0\xab\xfe\xf1\x97\xa3\xfc\x97\x81\x70\x6f\x71\x32\x90\x03\xc1\xc4\xa1\x8c\xdd\xb0\x02\xfb\xe1\x21\x5e\x9b\x86\x00\xa0\x4e\x53\xa7\x81\x3d\x85\x6d\x90\x8d\x3c\x46\x42\x2f\x09\x83\xb1\x33\x01\xdd\x7b\xe2\xf0\x47\x38\x9e\xc7\xf3\x98\x86\x69\x78\x1e\xcf\x41\x1a\xa6\xc1\x79\xf0\x81\x71\x7f\x80\xd7\x1f\x12\xac\x47\x27\x42\x3b\xaf\x76\xe3\xcc\x5e\xaa\x40\xc0\x97\x38\x1c\x8f\x83\x1f\xbe\xfe\xaf\x32\x99\xa2\xf6\xd0\x7a\xa8\x29\x2a\x69\x57\x96\x1e\x41\x3f\x09\xa7\xc0\x9f\x1c\xb8\x24\x81\x2f\x3a\xf1\x68\xc0\xd7\x2d\xe0\x45\xda\x58\x83\x6f\x94\x63\xbd\x81\x6c\x74\x32\x10\x85\xe6\x5b\x1c\x3c\x56\xf7\x13\xd6\x16\x72\x00\x7a\x10\x5a\x3f\xab\xc4\x59\x62\x20\xc6\x80\x2b\xcc\x31\x84\xf5\x05\x65\x70\x3e\x5a\xcd\x69\x9c\xd6\xaa\xee\xc1\x27\x84\xf9\x05\x85\x33\x80\xe6\x5a\x63\x30\x06\x55\xed\x16\x61\x6e\x21\x5d\x6a\xcc\xca\x5b\xb9\x63\xf4\x29\x18\x0d\xff\x08\x66\x9d\xba\x83\x03\x86\xe9\x02\x0c\x13\xcc\x5d\x61\xd0\x19\x75\x66\x67\x78\x47\x80\x49\x0c\x55\xb3\x21\x3d\x5e\x04\x77\xaa\x60\xcf\xde\xbc\xba\xc3\x07\x62\x0f\xf1\x15\xdf\xe7\x6e\x97\x60\x35\x25\x33\x9b\x03\x63\xd7\x05\xad\x2c\xf7\xe7\x37\x6c\xc8\x48\xdb\x28\x55\x52\xd5\x4a\xe9\xd6\x1a\xbb\xef\xb5\x90\xb0\xb0\x90\xc8\xd2\xa8\xea\x64\x51\xe3\xa9\xf8\x0d\x79\x91\x12\x4c\x62\xe0\x1d\xc1\xea\x8c\x3a\x70\x86\xa9\x8c\x35\xd5\xac\x83\x66\xaa\x45\x10\xb1\xd9\x6c\xb7\x48\xaa\x89\x84\xa7\xc2\x5b\x6b\x64\xfa\x95\x79\x03\x87\xcd\xe0\x9b\x9c\x1f\x9f\x95\x94\xe6\x9e\x94\x96\x96\x94\xa0\x47\x5d\xeb\x0b\xaa\xfe\xdc\xae\x2f\xb7\x5f\xa2\xc1\xe1\xcc\x59\x70\xba\xc3\xbf\x21\xbd\x77\xdd\xf1\xfb\x91\x87\x62\x61\xe8\xe3\x6e\x6d\x86\x48\x5d\x49\xf4\x9c\x84\x83\x50\x9c\x29\x75\x5d\xbc\x10\xdb\x4d\xe6\x3f\x20\xa1\xdd\xfa\x5e\x0f\xf1\x1d\xfe\x3f\x16\x08\xf0\xce\xcb\x87\xd0\x6e\x8f\x04\x1a\x79\xeb\x2c\xb6\xeb\x7a\x5a\x42\xf1\xea\x6d\x1c\x04\x9e\x7c\x8b\x07\x1c\x17\xc0\x97\x81\xe6\x4f\x05\x6c\xee\xcd\x78\x78\x50\x13\x17\x82\x13\x38\x2c\x92\xc2\x2f\x6d\xfc\x32\xf8\x1c\x6d\x7e\x81\x3a\x32\x21\x3f\xa9\x28\x4d\xcc\xcc\xcb\x37\xe5\xf1\xf9\x79\xd9\x39\x79\x12\x34\x83\x2f\x51\x94\x97\x5f\x5c\xac\x2f\x4e\x2b\x4e\xca\x13\x5d\x6a\xcc\x3a\xd8\x96\x29\x18\x9c\xe3\xcd\xe5\xdc\x57\x9f\x5c\xf6\x16\x65\xcc\xc7\x6d\x90\x2f\x53\x5f\x5d\xbe\x7c\x5f\x82\xc9\x5d\x70\x2c\x76\xc5\xae\x38\xae\xad\x04\xa7\x58\x74\xea\x44\x99\x82\x71\x60\x87\x4a\x6a\x00\xea\xff\xfd\x00\xd1\x02\x9e\x6a\x01\x0c\x80\x3c\xf0\x74\x94\xc1\xd3\x40\x34\x83\xe7\x73\xf0\xfc\x0b\x3c\x9d\x0c\x64\x88\x3a\x8d\xfb\x60\xd8\xb0\xf7\xc5\xd6\xbd\x24\x76\x43\x0a\x48\x9b\x28\x02\xf6\xf4\x56\xd3\xc6\x45\x67\xa4\xba\x90\xb3\x72\x5d\x5d\x5d\x9d\x7c\x36\xa4\xce\xef\xc2\xb4\x83\x13\xab\x68\xf0\xba\x07\xc3\xde\xc0\x14\x1e\x72\x61\x39\x2e\xc7\x9c\x85\x29\x8b\x62\x97\x48\xf1\x01\x35\xcb\x1b\xe2\x68\x63\x61\xa1\xa9\x90\xaf\xaf\xdb\x5a\x5f\x24\x15\xd5\x15\xee\xcd\xdb\x4b\xdf\xd9\x78\x7e\xf2\x48\x3d\x78\x76\x81\x0f\x91\x06\x01\x3d\xf7\x89\x70\x39\x04\x4b\x21\x0d\x6f\xf1\x58\x86\x31\x38\x0a\x33\x87\x4b\xb8\x60\x3d\xf6\xc3\xd1\xb8\x42\x8f\x9b\x60\x3a\x4e\x87\x48\xd1\xb2\x97\x84\xd9\xd0\x1f\x3c\x61\xb6\x04\x39\x5d\x80\x5c\x0b\xed\xa6\xff\x26\x86\x1f\x58\x54\x14\x18\x1e\x18\x9e\xbc\x78\x7b\x20\x7d\x7a\xd2\xf6\x8f\x86\xeb\x3f\x0c\x1f\xb9\x78\x92\x18\x1e\xa8\x2c\x3a\x10\x41\x27\x97\x96\x67\x94\xf3\x32\xb5\x63\x7b\xf1\xb6\x72\xa9\xe9\xf7\x7d\xd0\x0e\x48\x3d\x28\x5d\x60\xc8\x12\xf0\x1c\x02\x5d\xc4\xf0\x83\x8b\x95\xc0\xf0\xc0\x88\xa4\x45\xdb\x03\xe9\x3b\xef\x1f\xc6\x4e\x36\x45\x4c\xb7\x0a\x3b\x4d\xec\x26\x86\x07\x16\x2d\x3e\x10\x6e\xa7\x52\x66\xa7\x52\xb2\xad\x5c\x7a\x02\xef\x9d\x02\x4f\x18\xa2\x77\x41\x05\xae\x1a\x9c\x6b\xe0\x82\xe3\x41\x03\x71\xd2\xc9\x40\x7c\x1f\xcf\x41\x07\x8f\xe7\xd8\x01\x3b\xf4\xed\x8b\x1d\xf0\x9d\xe7\x7d\xa1\x03\x74\x68\x79\x0e\xef\x88\x18\x07\xfb\x39\x98\xb9\x05\x96\x68\x01\xd0\x5f\xc4\xcf\x5e\x6e\xfc\xf1\x96\xfe\x66\x13\xb4\x83\x1e\xa2\x0c\xdd\xe5\x7d\xab\x45\xdc\x0b\x33\x2b\xcf\x9d\x07\xe1\x28\x0c\x85\xa1\x38\x18\x12\xb4\x0f\xb5\x0f\x71\x14\x16\x62\x1e\xe6\x42\xbb\x9e\x70\x12\x45\x11\x4e\xa2\x00\xba\xb9\xe8\xa4\xc7\x76\x48\x8e\x45\x0f\x51\x46\x0f\x79\xfa\x65\xb1\xf6\xb4\xbc\x5f\xd6\xef\x0b\x85\xa1\x36\xe1\x3a\x04\x47\xce\x5f\xf0\x83\xd6\x41\xdd\x03\x23\xc1\xa5\xee\xcc\x53\x31\xb2\x21\xe1\xcc\x59\x3d\x0c\x06\x06\xba\x40\xbf\xad\xa2\x4b\x80\x60\xf6\x05\x9d\x93\xd9\x17\x5e\x73\x1f\x31\xa8\xf4\x13\xd4\xe6\x45\x02\x28\x73\x18\xad\x99\x52\x7d\xbb\xfc\xbf\x30\x1d\x34\x70\x5d\x99\x68\xbb\xb0\x6c\x97\x84\x22\xca\x84\x16\x88\xe0\x80\x11\x34\x5d\x17\x60\x04\x97\x55\x8c\xa5\xd9\x4e\x4e\x6b\x6e\xab\xaa\x36\xbf\x25\x67\xaf\x6a\x9b\xe4\x2d\xcd\x6d\x0e\x37\x2d\xcd\x65\x02\x36\x40\x04\xa7\x36\x43\xbc\xf0\xa9\xa0\x35\xf7\x66\xb4\xe6\xee\x82\x4b\x4d\xc4\x5b\xaf\x15\xcf\x18\x27\x03\xf9\x10\x74\x9c\xc1\x3c\x89\x0c\xc4\x1b\xc6\xcd\xf9\x9b\x4b\xe2\xdc\xe3\x4b\xaa\x52\xaa\x78\xa8\x11\xaa\xaa\x0a\x4b\x4b\xa4\x92\xb2\xfc\x2a\x63\x15\x8d\x3a\xb8\x22\xd4\x67\x6c\xdc\xb1\x96\x47\x05\x75\xa4\x8f\x20\xb6\xb9\x99\xa1\xec\x47\xa8\x50\x6b\x37\x86\x05\x67\x48\x43\xad\x15\x84\x81\xdc\x47\x6a\x6b\x2d\xbe\x1c\x04\xc2\x73\xe1\x90\x20\xa2\x42\x41\x80\x00\x0a\x05\xae\x4c\xdb\x71\x9b\x95\x49\x84\xda\x00\x8a\xda\x6c\xeb\x4e\x03\x44\xd8\x4e\xd9\xc9\x40\x25\x9a\x15\x7b\x98\xd5\x34\xe6\xf3\x39\x77\xa5\x72\x12\x28\x6b\x5f\x62\x56\x71\xe3\xd2\xab\xbc\x51\x20\xaf\x36\x9e\xbc\x52\x2c\x01\x65\xee\x4b\x94\x93\x40\x33\x77\xe7\x7c\x3e\x41\x32\x58\x56\x59\x1b\x38\xa3\x49\x36\xf2\x6b\x37\xec\xdc\x97\x29\x05\xab\x5e\x99\x07\x76\xed\x3d\x90\xe3\x7e\x20\x67\xef\xc6\x9c\xc0\x7a\xcd\xcb\x2d\x27\x70\xe3\xba\xc0\x4c\x5a\x1d\xd0\x04\xf3\x19\x55\xa7\x79\xc1\x7c\x06\x5e\x6b\x23\xb8\xb5\x99\x1b\x42\xd7\xda\x2b\x07\xe6\x6c\xdc\x9b\x73\xa0\x5e\xf5\x72\xcb\x39\xb0\x77\xd7\x81\xcc\x03\x99\xbb\xd6\x65\x06\xd2\x06\x5c\x6c\x3e\xc6\x7d\x59\x76\xbe\xe1\x32\x0f\x23\xc9\xc1\x0c\x34\x0b\x30\x92\xbc\x7c\xde\xdf\xa7\x4c\xfa\x55\x1b\x48\x80\x1b\xd9\x53\x9d\x49\x40\xfb\xd0\xee\x0f\xb1\x03\x8f\x23\x6d\x5a\x48\x0a\x83\x23\x49\xec\xd0\x7d\x04\xb6\x0f\x95\x7a\x6a\x33\x6d\x58\x2e\x35\x76\xdb\x4e\x05\x1a\xda\x26\x0e\x4b\xb8\xaa\x70\x58\x40\x36\x81\x42\x40\x01\x69\xf6\x85\x2c\x2e\xbb\xc8\x58\x94\x56\x48\x17\xa4\x25\xe7\x25\xf1\xd8\x04\x3c\x83\x05\xb6\xdd\x77\x64\x6c\x7c\x52\x5c\xa6\xf4\x29\x46\x64\x26\xe5\x24\xe5\xa7\xb8\xa7\xe6\x2b\xe9\x45\x3c\x34\x91\xd3\x51\x21\x6c\xe5\x09\x49\x71\x19\xb6\x72\xd8\x2d\xbc\x2d\x19\x8d\xd7\x61\xb7\x50\x94\xae\xf0\xb0\x89\x2c\x2b\x2d\x2a\xcb\x95\xbe\x87\xef\x6d\x6d\xfd\xa7\xa4\x88\x87\x88\xff\x2d\xf9\x8e\x2c\x2f\x2d\x2a\xcb\x91\x2e\x41\x44\x4e\x51\x66\x51\x5a\xa1\xfb\x7f\x7a\xd2\xd6\xcb\xef\xc8\xf2\x12\x1b\xf2\x25\x88\x20\x6c\x0f\xa9\xab\x81\x74\x06\x57\xc7\x37\x06\xa2\xaf\x93\xf9\xa1\x1a\xc5\x99\xf0\x1c\x21\x53\xd0\x07\xfa\x10\xd8\xc7\x2c\x73\x32\x95\x85\xe7\xa0\x37\xf4\x26\xb0\xbe\xf5\x32\xa7\x02\x85\x85\x58\xd8\xff\x57\x68\x86\xfb\x84\x4c\x61\x33\xdc\xff\xf5\x57\x28\xc4\x42\x42\x05\x4a\x5d\xa9\xad\xc4\x2f\xf1\x4b\xf8\x12\xbf\x24\xa0\x10\xbe\xe4\xcc\x0b\xb1\x16\x66\x69\xbc\xc6\x63\x2d\xce\xb2\x2e\xb4\x2e\x84\x5a\x9c\xa5\xf2\xa2\x4c\xa9\x3c\xd4\xc2\x2c\xf3\x42\xc9\xc5\x9a\x00\x12\xa3\xce\x06\x0f\x27\xf5\x57\x20\x38\x99\x82\xe7\x14\x8c\x45\x6f\x02\xc7\xaa\x07\x38\x78\x4e\xc9\x6f\xb3\xdd\x10\x38\x50\x41\xd5\x0e\xaa\x87\x08\xeb\x22\x0a\xcf\xc1\x59\x74\x40\x07\x95\xd6\xda\x13\x32\xa5\xd1\x5a\x7b\xfb\x52\xa2\x73\x70\xd6\x56\xac\xda\xd0\x6c\xb2\xf3\x36\xc1\x87\x69\xb5\x3b\xca\x56\x6c\x9b\xab\x6c\x87\x58\x95\xb6\x2c\x3b\xce\xc1\x28\x80\xf2\x25\x63\x55\xcc\xca\x97\x8c\x45\xb1\x2a\xdc\x0a\x61\x1b\x23\xb2\x75\x89\x1e\x96\x66\x8e\x35\x38\x0c\x12\xd0\x8b\x8c\x8a\x4e\x8a\x49\x90\xd8\xba\xc4\xd6\x06\x83\x25\x91\x48\x49\x4c\x8f\x8f\x83\x35\x0c\x78\x91\x5b\xab\x8b\x2a\x4a\x24\x4b\x43\x84\x40\x14\x16\xe7\x95\x96\xe9\xad\x5e\xd8\xcc\xad\x10\x44\xd6\xe0\xf0\x13\x53\x83\x33\x0d\x64\x58\xa6\xf0\xb7\xf9\x2e\x27\x53\x32\xd5\x13\xaf\x24\x6f\x28\x5a\xb7\x7d\xb3\xbb\x59\xb5\x32\x04\xfe\x60\x91\x39\xf8\xa1\x55\x26\x6c\x85\xf0\x83\x45\x26\xac\x2f\x54\x95\x4b\xdc\xbb\x4c\x4e\x5c\x87\x0b\x35\xd5\x4d\x56\xfd\x29\xcb\x9b\x2e\xb6\x72\xeb\xbe\x56\xd9\xac\x9a\x99\xed\x55\x45\x7b\x93\x77\xbb\xf7\x84\x2b\x1c\x2e\x54\xd5\x36\x64\x77\x1b\x36\xa1\xfa\x93\x2e\x35\xea\xc7\xb0\xd7\x51\x6d\x68\x71\x52\x75\x66\xfb\x0b\x0b\x2f\x8c\xa0\xcc\x23\xf0\x11\xb7\x6e\xd2\x88\xcd\x5e\x3c\xae\x34\xe1\xc8\x6f\xd0\xf1\x85\xa9\xc5\x0d\xe8\x41\x30\x66\x24\xcc\xcd\x7a\x9c\x75\xb7\xe0\x71\x1d\x3d\x80\xd2\xbe\x81\x47\x9c\x4d\xe5\xc0\x08\x4a\x55\xea\x39\x75\x94\xd6\x03\x9e\xbf\x55\x1c\x9f\x6b\xa3\x90\x3d\x88\x1d\xae\xbd\x2f\x7e\x3a\x7d\xed\xa8\xa1\x7a\x5c\x05\x0b\xf1\x63\x30\xc2\x47\xd0\xfd\x1b\xa0\x1e\x88\xd5\xa6\x6a\xb9\xba\xba\x5a\xae\xee\xd0\x1d\xa9\x07\xd0\x7d\x34\x7c\xc4\x83\x11\x16\xc2\xc7\xb0\xea\xf1\xda\x6f\x3f\x6d\x92\xae\xbd\x3e\x08\x1d\x80\xd5\xbb\x84\x08\x90\xf6\xef\xab\x1a\x56\xed\x0e\x3a\xbb\x1e\xc9\x43\x9e\x3a\x14\x7e\x03\x1e\x74\x4e\x6a\x89\x99\xe0\x30\x0f\x75\x90\x47\xaa\xac\x33\xe6\x21\x0b\x79\xa4\xd9\xa4\xe9\x38\xfc\x4d\x26\x51\x07\xbf\x51\xaa\xce\xd9\xea\x85\x3a\xb3\x97\x0d\xc3\xea\x85\xac\xd9\x8b\x04\xde\x1a\xca\x25\x26\x27\x27\x8a\x06\xec\x4d\x26\x26\x2b\xc5\x92\xc1\xf9\x6b\xaa\x58\x51\x8a\xc5\x7a\x52\xb5\xdd\xfe\xab\x61\x0c\xac\xc6\x31\xaa\x0b\x28\x84\x5c\x4f\x15\x2b\xc9\x89\x92\x01\x7b\x53\xd6\x16\xcb\xef\x1c\x86\x42\x5f\x42\xed\x4b\x82\x11\xfb\x72\x38\xf3\x6d\xe6\x51\x14\xf7\x70\xea\x8d\x11\x76\x9a\x23\xa6\x4e\x1d\x61\xc7\x1f\x71\x63\xea\x43\xd1\xe0\xfc\x35\xf9\xf0\xc6\x8d\x87\x92\x4b\x4d\x22\x50\x06\xa2\x1d\xf4\x75\x85\x5e\x8c\xc1\x1c\xf5\xda\xe0\x9c\x03\x2e\xec\x23\x8b\xce\xbc\x92\x7b\x86\x63\xc1\x0b\x2b\x80\x18\x06\xc4\x87\xd0\x71\x26\x96\x82\x33\x96\x81\x33\xce\x81\xbb\xe8\x0a\x69\x7d\x61\xe6\x70\x18\x8d\x53\xa1\x33\x2d\xe3\x24\x78\x0f\x16\x79\x8a\xec\xd7\xf0\x18\x07\x43\x7b\x8c\x07\x16\x53\x69\xf6\x11\xbe\xd4\x8e\x72\xa0\xe1\x11\xf8\x1d\xde\x85\x81\x95\xb0\x1f\x0f\xbb\xfd\x4d\xe2\x03\xf8\x8e\x60\xbf\x86\xf9\x46\xd5\xc7\xe0\xfc\x8f\x41\x35\xf2\xb0\xd2\xba\x21\x0a\x7f\x07\x2b\x1e\xa1\x5d\xc0\x8b\x69\x02\x2f\xb3\x52\xaf\x3a\x09\x4d\xe0\x2f\x18\x88\xa5\x16\x27\xae\x30\x30\x32\x28\x28\xa5\x5b\x58\xef\x4d\x7d\x12\x73\xf1\xd9\x21\xcf\x63\xe8\xa0\x44\xba\x95\xae\xdd\xb2\x7a\x6d\x3c\x9d\x99\x9a\x62\x4a\xe1\x43\xc3\xcb\x77\x26\x49\x29\x5b\x37\xdc\x0b\xbd\xb9\x05\x3a\xb8\xaf\x20\xb7\x60\x87\xd0\x29\x1b\xc6\xa7\x44\xb9\x85\x26\x85\xc7\x86\xf2\x29\x29\x59\x39\xa9\xd2\xda\xd2\x2d\x87\x4a\xf7\x29\x35\x6e\xc7\xc0\xe1\xd0\x6f\xb9\xf0\xac\x4f\x71\xef\x6d\xdd\x76\x04\x15\x46\xee\x2f\x3c\x50\xb8\x7f\x7f\xcd\x81\x14\x3a\x08\x3e\x80\x2e\x1b\x40\xc7\x83\x0e\xba\xec\xde\x0f\x1f\x48\x07\x0a\xf7\x47\x16\x06\xd1\xf8\x17\xf4\x98\x2c\xd8\x3d\xe9\xa8\xee\x78\x0b\x6e\x69\xee\x9a\x3b\xde\x42\x7b\x0a\xb7\xf0\x96\xea\xae\xba\xc3\x2d\xb8\xa5\xba\x8b\x56\x5f\xb3\xc2\xa9\x23\xe1\x0f\xfc\x43\x1b\xa9\x8d\xc4\x7f\x53\xf8\x43\x1d\x09\x3e\x82\x64\xd1\x59\x95\xff\x9a\xea\xa0\x02\x7e\x5f\x45\xaa\x87\x20\xc8\xf1\x16\xcc\x33\xfb\x80\x9f\x93\x81\xa8\x36\xaf\xe1\x36\xd5\x86\x14\xaf\x33\x6a\x54\x94\x1b\xac\x80\xd8\x3d\xfb\x0b\x4e\x24\x1d\x71\x4f\xdd\x15\xbb\x33\xb4\x9c\x96\x4d\xb2\x16\x03\x07\xc5\x80\xed\x0b\xd2\x83\xd6\x61\x0a\x06\xb9\x2d\x5f\x99\x31\xe5\xc8\xb2\x23\xcb\x6e\x66\x9c\x38\x0a\x53\x61\xa8\x1b\xf4\xf1\xc2\x4a\x6c\x44\xc7\xcd\x7d\x16\x7c\x3c\xce\x1d\x04\x14\x89\xcf\xaf\x3d\x3c\xf0\x8c\x87\xb9\x30\x08\x07\xa1\xdf\xa0\xc0\xe1\x9f\xce\x94\x40\x40\x81\xf8\xe5\xf9\x25\x78\x0f\xba\xeb\x1f\x47\x3d\x0c\xbc\x27\xc2\x07\x85\x81\xda\xd8\x8c\xd9\xc7\xe7\x7d\x99\xe1\x6e\xca\xc9\x91\x73\xf8\xcf\x4e\x1d\xbb\x94\x27\x9d\x50\xcf\xe4\xd4\x25\xd6\x45\x6e\x73\xc7\x85\xea\x12\xee\xc5\x77\xdf\xbe\xf8\x63\xe4\x77\xbd\xfb\x8c\x1c\xd9\xa7\xf7\x77\xa3\xfe\x90\xac\x94\x01\x7b\x72\x38\x17\x07\xc1\x20\x98\xdb\xbc\xed\xd6\xe1\x4b\x12\x4a\x20\x11\xe3\xfa\x2f\x47\x1a\x59\x3d\x36\x42\x26\x66\xc2\x45\x70\x85\xf6\xc7\x9b\x7f\x11\xed\x85\xab\x3e\x9d\x1c\x31\x9e\xb7\x3d\x71\xdd\x21\x42\x6d\x82\x25\xf0\xf6\x69\x53\x77\xb4\xd9\x5f\xef\x00\x9d\x93\xc5\x19\x7e\x9e\x23\xc8\xe8\x45\xf5\x12\xd0\xeb\xa5\x00\x8a\xb9\x3b\x07\xe3\x70\x06\x74\xc1\xe1\xa2\x4c\x61\x3f\xa4\x66\x20\x37\x42\x4a\x8e\xcb\x89\x2e\x4d\x02\x87\x11\x6e\x19\x79\x05\xc6\x02\xbe\x48\xc9\x2d\xcc\x97\x0e\x9d\xaa\xd9\xb6\xad\x9c\xae\xa8\x3d\x54\x7c\x80\xbf\xd1\xbc\x7c\xf6\xd2\xd5\xd1\x9f\x6c\x90\x26\x04\x0f\x59\x89\x1d\xf5\x93\x5f\x0a\xf5\x54\x7d\x7d\xf5\x85\x3a\xb1\xb9\xe1\xc5\x25\x78\x5f\xaf\x39\xab\xbe\x1c\xcc\x15\x56\x30\xd2\x7f\x83\xf6\xc0\xbb\x02\xfe\x5f\x7e\xa4\x5a\x55\xaa\x86\xc3\x7c\x47\xd8\x01\x09\x30\xfb\x84\xfa\xfb\x5e\x27\xb5\x9d\xc1\xf9\x2a\xf7\xf8\xf6\x9d\xc7\x8f\x26\xdd\x19\x3a\x74\xe2\xc4\x61\x43\xef\x4c\x7c\x2c\xa9\x67\xac\x5d\xb8\x22\x63\x51\xba\x22\x66\x65\x65\xe6\x64\x14\x64\xe4\xa7\xe5\xba\x6b\xa3\xd4\x2a\x42\xa6\xb6\x47\x07\x55\xcc\xe5\x67\xad\x49\x0a\x8f\x91\x64\x4a\x36\x19\xd1\xa6\x5a\x9f\xc2\x0b\x84\xb1\x6c\xd4\xad\x62\x51\xbe\x5b\x1c\xff\xa3\x18\x08\x61\x8f\x60\x78\xba\xe6\x45\xe0\x3c\xed\x85\x31\x46\xd6\x67\x86\x94\xcc\x3f\x16\x5d\x1f\x5b\x97\xde\x50\xb3\xbf\xe2\x08\xd0\xa7\x41\x4f\xcb\x5f\x41\xc0\x63\xc8\x11\x4d\xf0\x06\x5d\x40\x22\x12\x4b\x0b\x0a\x65\xbd\x5c\x52\x52\x11\x2a\xaa\x4e\xda\x34\x62\xe7\x32\xa0\xc2\xc1\x41\xaf\xf5\xc2\xbe\xdc\x40\xcc\x87\x4e\xf8\x77\x76\x72\x4e\x4a\x4e\x8a\x7b\x96\x4c\x56\x04\x7d\xb1\xf0\xde\xb1\xe6\x63\x0b\xfe\x59\x7f\x9f\x96\x87\xc2\x5c\x0f\x28\x14\xcd\xd7\xb5\x9f\x39\xf9\x7d\x18\x8f\x57\x54\x59\x4c\x49\x4c\x96\x45\x39\x31\x39\x2d\x5b\x84\x6b\x5a\x3c\x10\x38\x46\xd6\xd7\x04\xe5\x07\x56\x97\x14\x17\x6c\xde\x1e\xb9\xcf\xa6\xb7\x43\x34\xac\x47\x17\x58\x0f\x27\x61\xbd\xab\x79\x18\xec\xbf\x0f\x39\x90\x0b\xf9\x2d\x97\xa1\xe3\x15\xe8\x70\x85\x4d\x48\x54\xb3\xd4\x23\x1c\x7c\x0c\x55\x59\x58\x45\x98\x5b\x5e\x70\x1f\x8c\x1d\x88\x9d\xc5\x79\xaa\xdb\x45\x12\xdc\x9b\x46\xa0\x93\xa4\xdd\x55\xdf\xe5\xaa\x63\xcb\xa3\x45\x7c\x44\x26\x26\xa5\x27\xa7\x49\x5a\xa3\xd5\x48\x6c\xda\x52\xb1\x6e\x37\x0f\x5b\xc9\xe2\xe2\x7c\x25\x5f\xfa\xec\x7b\x02\x4e\xcc\x24\xa3\xcb\x63\xab\x44\x58\x47\x56\x95\x97\x57\x4b\xe6\x9b\x6a\x47\x0e\x2a\xd0\x17\x7a\x63\xa9\x88\x35\x64\x74\x6c\x6c\xb4\x64\xcd\xa4\xd8\x7d\x0e\xd1\xe5\xb1\xd5\x22\x9b\x90\x08\xb5\x24\x14\x83\x2f\xf4\x85\x0a\x09\x06\x9a\x38\x39\x03\xd2\xb1\x37\x8c\x16\xd9\x83\x89\xcb\x49\x10\x30\xd0\x88\x0b\x65\xbd\x9c\x89\x79\x68\xc0\x61\xe2\x79\x12\xfa\x81\x99\x81\x19\x30\x5c\xf8\x0f\xc0\xd3\x06\x98\x6a\x03\xf0\xff\xc5\x70\xc1\xff\x43\xc5\x40\xfe\xe5\x68\x56\x60\x19\xa3\x5a\xd1\x93\x0b\x1a\xb4\x60\x7d\xa2\x98\x16\x1b\x6b\x8c\xe5\xd7\xae\x55\x94\x60\x09\x87\x9f\x5d\xf9\x72\x1a\x74\xa3\x27\x82\xc7\x16\xe8\x0e\x23\xf4\x30\xa2\x12\xba\xdf\x01\x0f\xf1\x3a\x74\x3b\xf2\x12\x86\x9f\xa5\x95\xfa\x7d\xca\x3e\xbe\xbc\xdc\x98\x56\x2e\xed\x49\x7c\xba\x20\x48\x1f\xee\x87\x1f\x27\x06\x88\x69\x61\x46\xff\xe8\xcd\x74\x42\x7c\xa4\x71\xcb\xe2\xc5\xc5\x8b\xf9\xb8\x48\x53\x52\x82\x14\x13\x9f\xb2\x34\x2d\x8a\x0e\x1f\x1e\x3f\xcc\x4b\xef\x55\x3a\x6c\xfb\x70\x31\x3f\xaa\x70\x69\x45\x3c\x9d\x54\x52\x63\x2a\x3b\x7d\xba\xf8\x34\x5f\x59\x63\x4c\x28\x95\xaa\x37\x67\xfb\xe7\x87\xd1\xc5\x01\x8d\xf8\x71\xb8\x1e\x86\x58\x7a\x70\x15\x15\x05\x25\xa5\xd2\x99\x33\xbb\xae\xdf\xd2\xdf\xda\x78\x7d\xd1\x19\x31\x49\x08\x0b\x33\x05\xec\x0c\xa3\xb7\x87\x95\x06\x07\xe9\x83\xe2\x83\xc3\xc3\xc5\xd0\xb0\x2c\xff\x1d\x61\xf4\x61\x01\xa6\xe2\x54\xae\xa2\x32\xbf\xb4\x44\x7a\xfe\xbc\x11\x74\x20\xe8\x41\xf0\x03\x5d\xdf\xe7\x62\x92\xf0\x4a\xa0\xef\x8d\x3b\xea\xd1\x5d\xdf\x3d\xc0\x63\xfc\x38\xf1\x95\x40\xc7\x97\x54\xa4\x55\xf2\xff\x53\x09\x7a\x40\x8f\xef\x60\x2e\xac\xd0\xc3\x8a\x91\x30\x17\x7b\x40\x8f\xb6\x8a\xd0\x01\xdf\xbd\x89\x43\x71\x8c\x1e\xc7\x4c\xc1\xa1\xd8\x01\xdf\xfd\x2f\x01\x17\xb5\x8f\x5c\x0f\xcd\xf5\x36\x71\x9e\x71\x94\x41\x61\x54\xdb\x91\x13\xf8\xc2\xeb\x1a\x41\x55\x9c\x23\x18\xb3\xa2\x29\x35\xf6\x17\xba\x6f\x01\x06\x73\xa3\x01\x97\x1b\x19\x1b\x88\xfb\x67\xe8\xe3\x6e\xd3\x04\xd1\x28\xb4\x2a\x70\x98\x91\xa9\x69\x82\x64\x55\x2c\xca\x7a\xe1\x7f\x21\x36\x4c\x23\x63\xff\x78\xf5\x50\x00\xfb\xae\x01\x74\x2d\xa0\x7b\x10\xe5\x2a\xc3\x43\x61\x16\xe8\x7e\x05\x5d\xb0\x0d\xae\xb3\x2f\xb6\x79\x01\x3a\xf6\xff\x42\x40\x87\xbe\x07\x05\xf0\x05\xdf\x83\xc2\x49\xd5\x91\x1b\x34\x08\xb6\x09\x4f\x9f\x12\x3f\xc0\xee\x83\x82\x79\x1e\x34\x83\xcc\x80\xb3\x30\x91\x41\xc6\x6f\xd6\xcc\x09\xe2\x94\x8f\x3f\x1e\x82\x43\xf5\xfe\x8c\xc8\xae\xcc\xf7\x64\x24\x36\x75\x62\x7f\x61\x1b\x03\xc4\xb9\xcf\xaf\xdd\x13\x6f\x7d\xfb\xcd\xcf\xf0\x91\x5e\x2b\x41\xdd\x41\x7b\xfb\x1c\xf8\xe1\x60\x18\x8c\x7e\xe8\x87\x83\x71\x30\xfa\xd9\xaa\x81\xb3\x00\x9d\x5e\xb5\x19\x9e\xf5\xc2\x4e\x10\x20\xa8\x22\x1c\xe3\xe6\x82\x34\x00\x5c\xb0\xc3\xd3\x0d\x35\x01\x69\x9b\x36\x44\x6e\xc8\x0f\xd8\x1d\xf9\x6a\xcc\x37\x3d\x4e\x62\x7b\x3a\x54\xd9\x11\xbb\x83\x2f\x2c\xcc\xca\x29\x90\xf6\x95\x56\x1e\x8a\xdf\x47\xc3\xea\xef\xb9\x49\x30\x09\x19\x18\x88\xfd\x81\xa2\x59\x7d\xdf\x0d\x35\x01\xe9\x91\xeb\x23\x37\xe4\x05\xec\x89\x04\x7d\xcf\xbf\xd0\x70\x19\x07\xd2\xa1\x45\xdb\x63\x77\xf2\x85\x05\x59\x39\x85\xd2\xbe\xd2\x8a\x43\x09\xf6\x07\x5e\x75\x12\xa6\xdb\xbd\xd6\x4c\x07\x5f\x74\x06\x5f\xd7\x2c\x03\xfd\x7f\xec\x4a\x4b\xa5\xda\xcc\x05\x9a\xd6\x46\xc5\x04\xd1\x4b\x37\x2d\xdb\xb0\x80\x5f\xb7\xbe\x78\xeb\x26\x29\xa9\x90\x08\xdf\x96\xb0\x6f\xbf\x1e\x68\xe6\xdc\x89\x0d\x4b\xb7\x89\x15\x41\xfb\xa2\x0e\x98\x68\xf5\x3a\xe8\xb8\x40\x61\xc1\xb2\xdd\x27\x37\x89\x31\xfb\xd7\x6e\x0d\xcc\x3a\x90\xb5\x6f\x6b\xc5\x7e\xfa\xe4\xb6\x13\xbb\xcf\xf1\x7b\xf7\x24\x46\x6d\x93\x8a\x52\x88\xed\x9b\x4a\xd6\x06\xe9\xb5\x8f\x21\x94\xdb\x7e\x26\xea\xf3\x45\xdb\xe9\x7d\x93\xc7\x56\x8e\xe1\xd9\x1d\x41\x6b\x33\x53\x83\xa5\xd3\xbb\x2f\x6e\xfd\xa2\xa0\x31\xff\xd0\x99\xd4\xc6\xb4\xc6\x45\x87\xfc\x52\x7b\x27\x0c\x5a\x33\xda\xaf\xfe\xf4\xd1\xe3\x27\x0f\x37\xec\xcf\xbf\x1c\xd4\xb0\xb6\x61\x56\xbe\x7f\x10\x8d\xc3\xd0\xbd\x07\xce\x8e\x40\x7f\xec\x8d\x5b\xdd\x70\x15\xbe\xb3\x7e\x4b\xe2\xea\xf2\x75\xee\xe0\x85\xcd\xc4\xa6\xe2\xda\xf8\x5a\xbe\x48\xc9\xce\x2b\x92\xd8\x95\x90\x02\x1d\x08\x76\x1f\x1c\xdf\x58\x6e\x2a\x33\x95\x1b\xdd\x65\x2a\x3b\x5b\xce\x96\x65\xb9\xc3\xfb\xd0\x11\x88\x7b\xe0\xd4\x28\xd5\x9e\x89\xfc\x7c\x51\x2d\x9d\x9f\x10\x9f\x13\xc7\x97\x95\xe6\xe4\x97\x48\xec\xca\x33\xb5\x35\x9f\x47\x9c\xa1\xc1\xc9\x0f\x89\x7b\xd8\x91\x67\xd7\xa5\xa5\x9a\xd2\xf8\xe2\xbd\xfb\xf2\x0f\xf0\xec\xca\xd3\x27\x93\x22\x8f\x49\xa7\x23\xbe\xd8\x5a\x7b\x9a\xb6\xcc\x03\x2f\x6e\x5b\x62\x44\x69\x04\x9f\x94\x6c\x4c\x4f\x92\x30\x05\x3b\xe0\x89\x5d\x71\x59\x71\x59\x71\xd9\xee\x26\xd2\x68\x94\x8d\xf6\x36\xb1\x23\x12\xe3\xd1\xc9\x4f\x8a\x58\x54\x33\xe7\x4c\x04\x9d\x56\x52\x9a\x59\xc6\xc7\xc5\x67\xa6\x25\x48\x8b\x22\x22\xe7\xd4\x2e\xa2\xd1\xa9\x11\x88\xf1\xd0\x31\xbf\x20\x2b\x9f\x4f\x5c\xb7\x36\x2d\x90\x5f\xbc\xb4\xa8\x66\x85\xb4\xb8\x76\x76\x54\xc4\xe2\xf0\x45\x5b\xe7\x9c\x09\xa7\xd7\xde\xba\xbf\xe5\x01\xbf\x7f\x5f\x4e\x41\xbd\xb4\x78\xc3\xdc\xa8\xd9\xa9\x7e\x69\xab\x17\x15\xf8\xd1\xac\xef\xa2\xfc\x86\x35\x67\xf8\xdc\x5c\x39\x2b\x57\x62\x57\xbe\x28\x79\x7a\xf0\x9b\xc6\xe0\xc5\x01\xcb\x97\xae\xf2\x0f\x4a\xfb\x64\xbf\x3f\x1d\x51\xbd\x2b\x61\x37\x5f\xb3\xad\xa0\xbc\x4a\x82\x61\xe0\xfe\x27\xcc\xae\x05\x7f\xe8\x0d\x5b\xdd\x58\x5f\x58\x05\xef\xec\xa9\x2c\x3e\x14\xbb\xd7\xdd\xa5\xc6\xd2\xd0\xe2\xa8\xbe\xf7\xab\xd9\xf7\x85\x93\xa5\xc1\x26\xf8\x77\xea\xf9\x12\x3b\x62\xc7\x9e\xb6\x5b\x37\x59\x80\x6a\x01\x56\x0a\x18\xaa\x36\x73\x70\x17\x8a\xb1\x18\xef\xe2\x47\xa3\x07\x4f\x1e\x25\xcd\x18\xbf\x60\x0e\x12\xfa\x54\x21\x70\xfd\x9e\x03\xde\xc2\x74\x01\x86\x7e\xfd\xe4\xe6\xd7\xe2\xd5\xbb\x8d\x57\x80\xd1\x43\x77\xc1\x56\xfd\x2e\x14\x43\x31\xdc\x15\x31\xd3\x1a\xc0\x69\x0f\xb4\x07\x31\x31\x72\x68\x45\x8c\x3b\x8c\xc2\x51\x15\x31\x3b\xe5\x8a\x0a\x77\xf5\x81\xfa\x80\x30\x1f\x34\x38\xef\xe4\x62\x2a\x42\xe5\x2d\x31\x18\x80\x01\x6e\x03\x07\x3e\x9e\x78\x63\xc8\xf1\x5e\xee\x77\xef\xee\xdc\x01\x71\x10\x57\x51\x29\xef\x8c\xa9\x70\xb7\x69\x67\x3e\x06\xe7\x74\x98\xe3\x68\x20\xa6\xc0\x0c\x27\xf3\x1b\x4b\x3e\xb7\x3f\xa3\xce\x7f\xf3\x96\xb4\x94\x18\xb1\xaf\xaf\x3f\x4a\x1f\xe8\x27\x6e\xef\xff\xb8\xa8\x38\x2b\xab\x48\x2c\xcf\x92\xe5\x9c\xb2\x9a\x97\x5b\x5f\xd6\xbc\xa4\xf3\xf7\x16\xec\xad\xd7\xab\x5b\xb4\x51\x5c\x5a\x4a\x6a\x9a\xc9\x28\x67\x99\xc4\xa2\x65\x2b\x0b\x97\xf1\x1f\x79\x87\xaf\x99\x20\x25\xa7\x67\x66\x18\x93\x13\x97\xa5\x2c\x4d\x5c\x46\x63\xdf\x95\xe8\x8a\xd3\x70\x2c\x8f\xed\xc7\x7d\x07\xf4\xd5\x06\x70\x79\x70\xec\x7c\xc4\x86\xbd\x52\xb6\x31\x2f\x23\x43\x6f\x4c\xef\x35\xcf\x4b\xbf\xb1\x34\x6a\xcf\xcd\x0b\xbf\x7f\x56\x2e\x16\x1d\x2a\x39\x96\x7b\x98\xce\xca\x96\xb3\xb2\xf5\x79\x91\xc6\x0c\x9c\x87\x04\x38\xc0\x7c\x98\x09\x1d\x60\x13\x2c\x38\x20\xe6\x6c\xab\xcd\xa9\xe5\x61\xd0\xa3\xb1\x38\x04\x9d\xd6\xf4\x8b\xe9\x2a\x65\x1b\x89\xa3\x77\xee\x1f\x7a\xc8\x2b\x95\xe9\x99\x85\x52\x65\xea\x7d\x6c\xbf\x59\x0f\x33\xd4\xad\x5d\x05\x4c\x44\x05\x16\xaa\xa3\x21\x3a\x11\xc2\xd5\xad\xb0\xc2\xf5\x10\x44\xe2\x52\x78\x00\x1a\x34\xb0\xdf\xb2\x5f\x99\x63\x0d\xce\xb7\xb8\x85\xc9\x0b\x93\x16\x89\xc1\xd8\x3f\x18\x07\x04\x63\x7f\x3a\x30\x65\x55\x61\x08\x8f\x6e\xab\xa1\x3b\x38\xc0\xb0\xab\x10\x0c\x1e\x3f\x48\x65\xdb\x77\x29\xbb\xf8\xa6\xbc\x25\x7e\x92\x39\xdd\xda\x9d\xdb\x8d\x14\x4c\x0d\x2d\x12\xf3\x12\x36\x14\xc6\xf3\xa8\x43\x72\xf6\x2c\x74\x90\xd8\x6f\x33\x73\x88\xed\xf0\xe1\xe7\xd0\x1f\x46\xea\x41\x46\x37\x20\x30\x5d\x64\x8f\xaf\x09\xcc\x4c\x0b\x94\xf0\x0b\x3f\x9c\x85\x7f\xe2\x11\x3d\x5e\x82\x09\x38\x0a\x2e\xe6\xd7\xe7\xa6\x88\xc9\x14\xba\xc4\x8c\xc3\xe3\x38\x84\x5f\x1a\x55\xdf\x00\x3c\x0c\xf8\x2e\xbb\x50\x62\xbf\x3a\x66\xc2\xa1\x8d\xfe\x3c\xb6\x9f\x81\xb3\xfb\x4a\xec\x69\x9c\x0c\xce\xd8\x09\xa6\xc1\x56\x98\x07\xfb\x21\xee\xb2\x58\x79\xab\xe4\x4e\xd5\x2d\x9a\xfd\x36\xb7\x2c\x27\xbf\xac\x80\xbe\x04\x4e\x40\x1d\x82\xce\xfc\xed\xcb\x9b\x93\x6e\x49\xf9\x26\xa2\xa8\xb4\xa8\x48\x72\xe9\x1a\x0c\xbe\x8e\x06\xe2\x38\xcc\x75\x32\xdf\x33\xff\xcd\xad\x5f\x1f\x1f\xb6\x59\x5a\xbb\xac\x78\xe6\xa9\x75\x30\x0b\x3b\xbb\x6d\xde\x15\xeb\x1f\x62\x34\x66\x19\x79\x0c\x39\xa4\xf9\xb6\x10\x59\xa9\x69\x59\xa9\xfc\x12\xff\xb5\x8b\x52\xa4\x94\xf9\x87\x97\x9c\x8b\x87\xbf\x3d\xdd\xb4\x4d\x97\x89\xcc\x0c\x39\x93\x5f\xb4\x2c\xd8\x56\xe0\x7b\x64\xe1\xc5\x34\xb5\x6a\xba\x9b\x36\xcb\x44\xcc\x5b\xb2\x72\x5e\xa6\xe4\x9b\x79\x62\xc9\x67\xbc\xea\x4b\x62\x69\x30\xb1\x20\x6d\x45\xc0\x02\xfd\xdc\x13\x2b\x2e\x88\x76\x99\x1b\x5e\xd7\xab\xdb\x2f\x1d\xcf\xdb\x5f\x5f\x78\xcc\xfd\x9e\x3a\xa8\xe0\x70\xe2\x91\xb0\x3d\xee\xd8\x13\x3e\x0e\x3e\xb4\x7a\x9f\xff\x2e\x77\x0c\x83\xde\x44\xc9\xe6\xa8\xfc\x48\x7e\x22\x2e\xe5\xd6\x6f\x8d\xda\x9b\xb6\x3f\xed\x40\xe1\x81\x9a\x3d\x39\x39\x39\xd9\x39\x39\xf8\x3e\xf4\x72\x0b\x3c\x34\xa7\x28\x60\xdd\xf2\xb5\xa9\x9f\xec\xf5\xcf\x36\x66\x65\x66\x1b\x21\x19\xcb\xdd\x0e\xae\xca\x33\xc2\xfa\xff\x1f\x73\xff\x1d\x17\xc5\xf5\x3d\x8c\xe3\x0b\xec\xcc\x0e\x73\x75\x05\x76\x87\xc0\xee\xce\x0c\x2a\x62\xef\xe4\x6d\x43\x83\x35\x1a\x62\xc3\xd5\x88\x68\xec\x02\x0a\x2a\x4d\x7a\xef\x2c\xb0\x94\xa5\x49\x6f\x76\xb1\x61\x49\x14\x45\x63\x8a\xd1\x14\x95\x14\x4d\x8c\xa9\x9a\xa8\x49\x34\xd1\x9c\x59\xce\xe2\xfb\xf7\xda\xc5\xbc\x9f\x77\x7e\xcf\xf3\x7c\x5e\xdf\x3f\xbe\x7f\x7c\xb7\xcc\xbd\xf7\xcc\xdc\x3b\xf7\xde\x73\xee\xb9\xe7\xb6\x73\xb6\x50\xe6\xa5\xd2\x17\xdc\x85\xdc\xf5\xa7\xdf\xd0\xea\xf3\xd7\xad\x29\xd2\x57\x62\x94\x5b\x61\xc8\xea\xe4\x84\x03\x5e\xb0\xd2\x0d\x97\x4b\x13\xa3\x3a\x17\x37\xae\x0a\x77\x5f\x13\x99\xbc\xb4\x3e\x10\x74\xf8\x93\x1b\x66\x49\x93\xc3\xcf\x2c\xad\x5f\x13\xe9\xbe\x2a\x3c\x61\xd1\xde\xd5\xb0\xdb\x12\xe8\x86\xf5\xf0\x74\xdb\xc9\x25\xd5\xeb\xc2\xdc\xd7\x84\xa6\x2d\x3c\xb4\x16\x52\xf0\x9a\x5b\x73\xf3\x81\xea\xc3\xda\xbd\x6d\x19\x89\x4d\x22\x44\xe0\xb0\xd3\xdb\x8f\x07\x1f\xde\xe4\x0e\x5e\x38\x63\x4f\x68\xd5\xe6\xfc\x8d\xee\xcf\x2e\xb6\xd7\xb5\x1c\x28\x3b\xe6\x7e\x16\x76\x94\x9f\x35\x76\xe6\x9e\x73\x57\x36\x36\xee\xea\x99\x03\x9b\xec\x74\xf2\xa3\xe0\xe9\x00\x3f\xc0\x7c\xae\xb8\xb8\xb8\xb8\x04\xff\x05\x67\x93\xda\xc4\xd4\x86\xf8\x86\xe4\xfa\x96\xa3\x6d\xed\x7b\x0f\x43\x94\x65\xbc\xdb\x33\x0c\xa0\xd2\x8b\xc1\x7d\x43\xad\xb6\xa4\xb8\xb0\xac\xc4\xe2\x62\x5e\x16\x7d\x5c\x6c\x6b\xd9\xd3\xbc\xaf\x51\x5a\xdd\x7b\xc7\x2d\xdd\x78\xa6\xb0\x42\xdb\xb4\x37\xaf\xb8\x49\x2c\x2e\x30\x16\x15\x6b\x4a\x2d\xe1\x3d\xb2\x94\x66\xe1\x60\xdd\xa1\xdd\x87\xab\x33\x33\xdd\xa4\x25\xbd\x1f\x5c\x45\x02\x4e\x18\x47\xa5\x95\x54\x64\x55\x6a\x6b\x7f\xea\xaa\x68\x10\x2b\x4a\x4a\x2a\x2a\x35\x75\xa3\x60\x6a\xe2\x1e\x01\xd6\x7d\x0f\xb3\x60\x2c\x10\x58\xcc\x54\x35\x94\xb6\xb4\x6a\x5a\x33\x5b\x92\x1b\x04\xb8\x84\x7a\xfc\x1c\xd6\xe3\x73\xad\xdf\x6b\x59\xc9\xaf\x8b\xe8\x04\x71\x54\x79\x56\x6a\x49\xaa\x36\x6e\xfc\x8a\xd4\x18\x31\x2d\x2b\x33\x35\x45\x13\xf7\x00\xa7\xee\xde\x29\xe0\x82\x19\x38\x16\x5d\x91\xc1\x09\xcc\xf6\x4d\x41\xeb\xdf\xd0\x44\x94\x46\x56\xc7\x08\x9f\x21\x01\x47\x54\x83\xe3\x74\x26\xbf\xb0\x30\xbf\x50\x6b\xbe\xf1\x84\x03\xea\xee\x47\xe0\x0e\x03\x35\x30\x20\x00\x1c\x27\x7c\x2b\x80\xff\x2b\x30\x01\x07\x81\x03\xbe\x82\x76\x38\x1d\xc7\xa0\x07\x2e\x7e\x85\xb1\xd8\x9b\x97\x73\x6d\x4d\x4d\x6d\xe0\x03\x3a\xd4\xa1\x4f\x78\x74\x74\x78\x78\x74\x53\xdb\xa5\xe8\xae\x4d\xc7\x85\xe3\x9b\x56\x34\xe9\xb5\xd6\xb0\x28\xd9\x5f\xe3\xf2\x72\x33\x4b\x29\xa5\x25\x65\x10\x38\x9b\xaf\x00\x27\x39\xc7\xd8\x19\xe0\x25\xf3\xc8\x0b\x37\xc1\x0d\x74\xf7\x1d\x7a\xda\xa5\x59\xdc\xcd\xe4\xee\x1d\x1f\x0b\x5b\xa2\xd6\xc7\xaf\x4d\x67\x9a\x56\x94\x2f\xf3\xd7\xd8\x94\xb3\xfa\x61\x2c\xc6\xe2\x54\xf0\x83\x28\xd8\x09\xd3\x60\x05\xc4\x9c\x3b\x97\x1e\x7b\x46\x28\x3e\x5d\x7d\xaa\xe1\x38\xd3\xb8\x74\x61\xf9\x42\x2d\x5e\xc4\x28\xcc\xc1\x4e\x1c\xdc\x89\x2e\x8f\x06\x89\xe8\xf0\x18\xb8\x00\x18\xa6\x85\xe1\xa0\x3e\x0f\xf6\x8f\xc5\x47\x4f\x3b\xc1\x05\x06\x6b\x70\x1d\x2c\xe5\xc0\x21\x16\xec\x83\x9e\x0a\x45\x21\x86\xe0\x10\x0d\x36\xae\xb0\xf8\xe1\x49\xb4\x17\x72\x1b\x1a\xf3\x1a\xb5\xd5\x05\x14\x84\x82\xee\x09\x6c\x81\x62\x8d\x1e\xbe\xe6\x52\x61\xe8\x3c\xd8\x80\x2e\xdf\xde\x41\xf1\x26\x0e\xbb\x80\xa3\x19\xc8\xc5\x35\xdc\x5f\x9f\xff\xf2\xd3\x51\xb1\xf6\x54\xe9\x9d\x33\x9a\x1f\xa3\x7f\x7a\xe3\x33\x21\xd8\xf7\xb5\x85\xd3\xa2\xf5\x89\x8b\x62\x36\x6c\x62\x82\x82\x23\xfd\x02\x35\x1b\xaa\x36\x37\x85\x08\x20\x1c\x84\x61\x4f\xde\x05\xd7\xbc\x84\x94\xf0\xcc\xa4\x25\x83\x91\xf3\x1e\xb2\x8c\x59\x7f\xea\xd2\xd6\x2b\x5a\xe5\x71\xde\xc5\x00\x5f\x4b\x6b\xbf\xcf\xab\xd8\x73\x0e\x0a\xe0\x8e\xea\xd3\x9e\x76\x29\x83\xc3\x75\x38\x16\x27\xe1\x06\x41\xf5\x33\x6e\xc0\xb1\xf0\x2f\x58\x0f\xeb\xad\x8c\x0c\x36\x9e\x3a\x99\x99\x74\x42\x4c\xda\x99\x16\x96\x1b\xc6\x54\x85\x6e\x2d\x09\xd1\xe2\x38\x54\xa0\x3b\x8e\xc4\x31\x40\xa3\x0b\x8c\x17\x55\x9f\xc2\x38\xa0\xc1\x05\xc6\x1c\xcf\x3a\x9e\x70\x44\xdc\x5f\xb2\xaf\xb2\xad\x86\xa9\x5f\x6d\x0a\x08\xd0\xe0\x3c\x00\xae\x75\x76\xd5\x2b\x33\x34\x38\x73\x0e\x7a\xe2\xb0\xd1\x42\x1a\x9d\x94\x54\x50\x98\x24\x42\xe0\x17\x47\xe0\x22\x2c\xd4\x34\x1b\x5a\xf2\x5a\x04\x83\x3c\xe8\x69\xc0\x93\x65\x0f\xee\xe8\x2f\xe1\x88\xe2\x11\x0c\xfc\xf0\x94\x0b\xcd\x5e\x96\x12\x26\x2c\x8c\x78\xe3\xb5\x59\xda\x75\x9b\x9b\xf7\x6d\x17\x55\xdd\xef\x1e\x84\xe1\x8f\x4a\xbe\x62\x54\x3f\x6f\x1c\xef\x35\x77\x54\x34\x93\xd8\x9c\xbe\x67\x8f\xe6\x97\xeb\x47\x6f\x37\x09\x97\x76\x9f\x39\xd5\x72\x9e\x39\xb2\x72\xf7\xc2\x45\x1a\xb8\x03\x53\xb8\x11\xec\x73\x3d\xad\xfa\x74\x18\xff\x5c\xaf\xc0\x89\xc0\x21\x07\x13\x85\x1e\xbd\x17\x6f\xed\x16\xcf\xf5\xac\x80\x03\x3f\xb2\x3a\xf9\xbf\x25\x37\x6e\xcd\xc0\xf8\xd0\x6c\x21\x2a\xdd\xb8\x3e\x38\x3c\xa2\x6c\xe7\xc0\xc8\x51\xa8\x42\xe5\x8e\x07\x83\x76\x46\xa4\x47\x68\x83\x8c\x27\x5b\xd2\xc5\xd0\xe2\x81\xb5\x6f\xc1\x25\xbe\xa8\xcc\x58\x66\x3a\x83\xce\x19\x57\x34\x7b\x0f\xd4\xb4\x0a\x8d\x75\x89\xcd\xda\xe2\x62\x43\xa1\x51\xcc\x3b\x96\x7b\xec\x98\xa6\xbd\xf0\xec\xee\x03\x02\x90\x4b\x0f\xde\x02\x67\x2d\xd0\x3f\x2f\x1a\x7c\x56\xdc\x1d\x5a\x18\x18\xac\xd9\x9c\xbb\x39\x6f\xb3\x90\x6f\x34\xe6\x1b\x9b\xea\x6a\x9a\xb5\x2d\x87\xe2\x77\x8a\x7e\xe8\x6c\x7a\x53\x93\x6e\xcc\x28\xca\x10\x8e\x4d\xfa\xf4\xf5\x7b\x31\x4c\x75\x6e\x59\x5a\x92\x06\xca\xa1\x98\xf3\x60\x3d\x36\xf2\xbb\x75\xf4\x06\x07\xf3\x8f\x30\x82\xc5\xc0\x3c\x1c\x3e\x6f\x22\xfa\x33\x51\xab\x72\x66\x2c\xd7\xf8\x15\xbf\x6e\x7c\x5d\xc8\x4e\x4b\xcd\x4b\xdd\x14\xda\x16\xaa\x0d\x5e\x13\xb1\x49\x1c\x03\x6f\xd6\x4c\xd2\x24\x66\x25\x65\x25\x09\xab\x07\x8d\x19\xe2\xb1\x36\x3c\x35\x3c\x6b\x47\x16\x13\x97\x93\x96\x1c\xa7\x79\x15\x66\xee\x78\x2b\x53\xd8\xd6\x18\x3f\xf3\x9d\x23\xa7\x76\x9f\xd1\x36\x36\xe6\xe7\x34\x8a\x31\xc0\x9c\xb1\xca\x0b\x5a\x78\xe3\x04\xa8\x1b\x80\x88\xc6\x86\xc6\x82\xc6\xd3\x1d\xc9\x1d\xda\xae\xc4\xee\x03\x0d\xe2\x5b\xa5\x30\x73\xef\x27\x9a\xba\xb4\xaa\x38\xa3\xb0\xa3\x24\xbc\x24\xbc\x02\x65\x67\xc6\x3d\x0e\x7c\xca\x64\x55\x67\x55\xef\xbe\x0b\x6b\xe2\x1e\x6a\x4e\xac\x6a\x09\x11\x82\xc2\x76\x06\x69\xd3\x53\x8b\x8c\x19\xa2\xf1\x6a\xf1\x87\x57\x35\x17\x73\xbe\x88\x3a\x27\xf8\xc2\xbf\x70\xf8\x63\x9c\x9f\xc7\xf4\xe1\xe0\x0d\xd8\x6f\x1d\x05\xf5\x98\xc0\xe4\x90\xc7\x4b\x6e\xdc\xea\x81\xf1\xdb\xb2\x85\xa8\x8c\xa2\xf5\x21\xe1\xe1\xa6\x70\x8f\xbf\x31\x31\x30\x3c\x22\x2d\x5c\x1b\x6c\xc3\xc4\xb6\xe2\x81\xb5\x6f\xc3\x25\xde\x58\x56\x64\xc5\x84\x93\x15\x13\xfb\x6b\x5b\x85\xc6\xfa\x84\x26\x6d\x71\x71\x41\x41\xb1\x98\xdb\x87\x89\xa2\xb3\xbb\x0f\x0a\xc0\x5e\x7a\xf0\xb6\x15\x13\x8a\xfb\x36\x4c\x6c\x2b\x0c\x0c\xd1\x6c\xce\xdb\x94\xfb\x02\x13\xcd\x75\x35\x4d\x7f\x63\xc2\xc9\x8a\x89\xa2\x0c\xa3\x0d\x13\x7e\xf7\x62\xff\xc6\x84\xc9\xbc\xd3\x83\x97\xf6\x43\x3b\x6b\x5b\xe8\x75\x94\x41\x03\x3b\x78\x1d\x7a\xf8\xe3\x22\x4c\x60\x0c\x0a\x5c\x88\x09\x1e\x98\x1b\x1b\xc2\x18\x62\x42\xa6\xe0\x60\xe1\x55\x88\xc4\x0a\x83\x41\x83\xe5\x98\x8a\x73\x2d\x85\x58\x27\x62\x92\x1e\x05\x83\x41\x93\x93\x97\x97\x23\xe6\x17\xe4\xe7\x6b\x9a\x43\xef\x8f\x84\x94\x22\xc6\x08\x07\x21\xe1\x7b\x38\xaa\x85\x95\x60\x9f\x98\x7e\x56\xac\xcf\xa9\x37\x99\x6a\x61\x05\xfc\xea\x56\x56\x9d\x5d\x9b\x54\xc6\x14\xe4\xe6\x16\xe6\x68\x27\x54\x62\x70\x13\x4e\xde\x89\x21\xc1\x73\x03\xb1\xd6\x8b\x31\x04\x44\x0c\x0c\x16\x20\x08\x5c\xee\x77\x19\x34\xe0\x0f\x14\xec\xb8\x08\xe1\xe9\xe7\x7e\x79\x1f\xec\x4e\xee\x3d\xb5\x17\x46\x7f\x7c\xf2\xdb\x93\x77\xeb\x60\x66\xcb\xe9\xd6\x53\x07\xc0\x03\x4e\xc3\x72\x46\x29\x7d\x02\xa2\x9d\xe1\xfd\xf3\xdd\x52\x25\xf0\x52\x55\xf7\xf9\xf7\x1d\x74\xd4\x08\xb3\x9a\x6b\xcb\x6f\xcb\x69\x15\x30\x2d\x09\xa2\x6e\x25\x77\xc6\x9e\x0d\x3f\xe5\x8e\x21\x83\x61\x2e\x4c\x0c\xed\x08\x3a\xb2\xf1\x80\x3b\x4e\xc0\x79\x7f\xc0\xd6\x75\x6d\xab\x1b\x02\xaa\xdc\xa7\x63\x74\x35\xa4\x51\x11\xc6\x88\xc2\xf0\x88\xf0\xbc\xc8\x7e\x9e\x55\x98\x3a\x03\xa2\x02\x92\x57\xc7\xac\x8b\x70\xff\x03\xb7\xe1\x04\x98\xb7\x31\x34\x28\x28\x74\x83\x3b\xcc\xc5\x89\xb8\xf5\xcf\x88\x75\x31\xab\x93\x03\xdc\x21\xda\x07\xd3\xab\xa9\xdc\x88\xbc\x70\x43\xb8\x21\xbc\x30\x22\xa2\xdf\x10\x48\xab\xc6\x28\x9f\xaa\x80\x86\xd5\xad\x6b\xdd\x61\xeb\x9f\x38\x0f\x27\x1c\xd8\x70\x64\x4b\x47\x98\x3b\x8c\x87\x79\x9e\xb8\xed\x54\xf8\xdb\x31\x9d\xc9\xee\xb7\x60\x57\x12\xa6\x53\xad\x39\x6d\x79\xad\x6d\xad\x85\xad\xfd\x3c\x93\x20\xf3\x36\xc6\x76\x56\xbf\x5d\x7f\xaa\xcd\xdd\x13\xb6\xc1\x78\x9c\xd7\x71\xe0\xc8\x91\xfd\x1d\xee\x38\x17\x26\xc0\x56\xcf\xd6\x53\x0d\x6f\x57\x9d\x77\x37\x28\x30\xea\x16\xa4\x26\x51\xc6\xd6\x82\xd6\x36\xcd\x7e\x57\xfc\x12\x77\x63\x0d\x7e\x8e\x5f\x60\x35\xd4\xc0\x97\x70\x0b\xac\xee\x17\xf0\x39\x58\xe1\xb7\x84\x6e\x49\xc5\xf5\x0e\x91\x54\xbd\x43\x2c\x2a\xaa\xb7\x54\x61\x1e\x62\x51\x99\x87\x48\x2a\xaa\x77\x88\xe5\x75\xae\x77\xa5\x34\x8e\x32\x5f\x55\x98\x57\x4a\x63\xcd\x2b\x2d\x63\xa9\xde\xab\x8a\xf7\xcd\xbf\x73\xbd\x26\x49\xdf\x6b\xb2\xe8\xa9\xe7\x6a\x85\xd9\x64\xd1\x9b\x4d\x92\x9e\x52\x7a\xa0\x7b\xb7\x8e\xd2\xdc\xb4\x33\xdc\xd4\x51\x8f\x6f\x3a\xc0\x7d\x1d\xe5\xc5\xe1\x62\x1c\x85\xa3\x71\xb1\xd8\x5b\xa9\xc0\xc5\x30\x0a\x47\xc3\x62\xe1\xcc\x4d\x7a\xeb\xd6\xbc\xd2\x6d\x22\x3a\xb5\x8d\x07\x07\x70\xd1\x98\x2b\x15\x30\x14\xfa\x41\x7f\x18\x2a\x98\x47\xd3\x6d\x37\x29\xf0\x86\xed\x9c\xc5\xe9\x79\x07\x2e\x96\xee\x50\x18\x4b\xc3\xb1\xde\x70\xaa\x2a\xa4\x34\x28\x48\x13\x94\x19\x9c\x1c\x22\x6c\xf6\x9c\xb3\x08\x1d\xe2\x18\x7c\x43\x01\xe7\xca\xc0\x0e\x8a\x7e\x82\x4c\x69\x97\x8e\x52\xba\x41\x8c\xe5\x12\x07\x83\xc7\x83\x1b\xea\xde\x12\x22\xe6\x53\x7f\x6d\xbe\x39\x04\x69\xcd\xf3\xe6\xde\xa9\x8a\x94\xf0\xf8\xa8\x84\x48\xc6\x7c\x84\x56\x36\xa2\xe9\x10\x54\x1f\xfe\x13\x32\x20\xf0\x50\xc6\x21\x29\x12\x46\x9d\x88\xd9\x07\x4e\x2e\x06\xd8\x07\xe9\x87\x60\xe0\x01\x13\x38\xc5\x1c\xca\x3e\x08\x83\x0e\xc2\xa0\xfd\x3f\x1c\x80\x71\xfb\x54\x37\xee\x77\x99\x7f\xd6\xc9\xaf\x72\xed\x51\x1d\x9b\x36\x46\x6f\x08\x0e\x6a\xda\x78\xe2\x78\xf3\x89\x23\x02\x4e\xd6\xf5\x34\x72\x1b\x43\x43\x36\x6e\x0c\x6b\x3f\x2e\x00\xad\x50\xa5\x5d\x4c\x3d\xbe\xff\xf0\x09\xc1\x1a\xeb\xc4\x81\x90\x4d\x22\xd2\x0a\xf0\x75\xdd\x14\x16\x0c\x3b\xd8\xfd\x21\x9b\x04\xa4\x15\xaa\x71\x8c\x0c\x66\xb9\xaa\x18\x59\xea\xc6\xd0\x10\xd8\xc1\x1e\x78\x01\x67\x64\x5d\x30\xcb\x75\x53\x68\xf0\xc6\x8d\xa1\x7d\xe9\x1d\x3f\x70\xf8\xc4\x89\x17\xb7\xa1\xd1\xec\xcb\xa5\x61\xc0\x44\x7c\x03\x47\xa1\x8a\x39\x14\x1f\xdc\xbc\x59\x1b\xbc\x35\x26\x2c\x4e\xdc\x1f\xbb\xb5\x21\x58\x1b\xbc\x55\x62\xf9\xa0\x6d\x12\xcb\x6f\x0a\x89\x0a\x89\x13\x71\x12\xf0\xde\xb0\x0d\x82\x34\xa0\x3b\x0c\xba\xeb\xc0\x0a\x49\xfe\x99\x4b\x97\x68\xf0\x73\x88\xc2\x73\x70\x0f\x32\x60\x13\x8c\x82\x8d\x20\x13\x70\xc4\x3e\x6e\x67\x56\x78\x66\xb8\xb0\x6e\xd1\xcc\x9d\xbe\x5a\x5c\x87\xfd\xe0\x35\x58\xfa\x68\xff\xa3\xae\xaf\xc5\xf8\xf9\xc9\xaf\xce\xd3\xe0\xc8\x4f\xc6\xc2\x84\xce\x73\xa6\xf2\x4e\xa1\x68\x77\x4d\x51\x8d\xb6\xb3\x29\x22\x40\xb4\x2c\x32\x0f\xe5\xfc\xd6\x2e\x98\x37\x6f\xed\x47\x57\x3f\x3c\xfd\xd1\xa7\x9f\x9e\x5e\xf0\xba\x60\x76\xc4\xfb\x1c\xea\x96\xa0\xe8\x35\x4e\x28\xda\x5d\x50\xb3\x5b\xf3\x49\xf0\x89\x79\x71\xf1\xb9\xb9\x71\x42\xda\xea\xd5\xe9\x81\x5a\xf4\x58\xf1\x25\xb8\xff\xd0\xfc\xa8\xf5\x1b\xf1\x8b\x1b\xbf\x75\x3d\xd3\xaa\x9c\x18\x19\xac\x85\xfe\xf8\x1a\x2e\x11\x6d\xf5\x71\x10\xc3\xb8\x9f\xe3\xa1\xff\xac\x6b\x42\xcb\xce\xa0\xd6\x2d\xda\xc8\x5d\x29\x71\x89\x62\x24\x0c\x7e\x1d\x04\xb4\x7f\xc4\x94\x94\x96\x97\x95\x6b\xea\x36\xd6\x27\x16\x0b\xa6\xf2\x23\x87\xab\x34\xc6\xbc\xe2\xdc\x22\xe1\x48\xd0\x8a\xc6\x95\x5a\xfd\x8a\xa8\x0d\x9b\xc5\xa2\x98\x5d\x05\xbb\xb4\xb8\x08\x67\x0e\x43\x4f\xa4\xc4\xe0\x37\x93\xc3\x76\xac\xcd\x4e\x4b\x4e\xcb\x4c\x4f\x8c\x4f\x8a\x4b\x8e\x65\xda\x13\xb7\xd7\x6e\xd1\x62\xc2\x1c\x8b\x2b\xce\x0a\x30\xbe\xde\xb0\x5a\x3c\x39\x14\xfa\x23\xf7\xe5\x0c\x26\x6c\x95\x7f\xc2\x52\x6d\x64\x64\x61\x71\x94\x78\x7a\xd1\xb5\x35\xdd\x31\x21\x29\x41\x99\x41\xf9\xcc\xca\xf7\x3e\xdf\xfe\xa5\xb6\xfb\x93\xd6\x53\x97\xc5\xc5\x47\xf5\x1f\xb5\x1f\x6a\xd8\x5f\x27\x84\xd5\x1f\x8c\x39\xa2\xb5\xf9\xc5\xb0\xfa\x43\x31\xed\x5a\x15\xe5\x24\xb3\x86\xeb\xc5\xb0\x3a\x6b\xf8\xdd\xd3\x9d\x97\x45\xa0\x15\xc6\x02\x70\x3c\x04\xbb\x40\xf5\xd5\xf7\xee\xdf\x3f\x3c\x01\x89\xe0\xa2\x51\x9e\xe3\x1f\xfd\x18\xb2\xe0\x86\x30\xd8\x8b\x3a\xb1\x61\x59\xfd\x32\x2d\xba\x0f\x44\x7b\x74\x43\xb7\x67\x68\x0f\xee\x8f\x7f\x7f\xef\x59\x8d\x88\x61\xe0\x06\xcf\x69\xe3\xae\xc2\x5d\xd1\xa0\xe5\x2f\x71\x1e\x2c\x88\x2c\xcc\x01\x6f\x87\x25\x6c\x8f\x89\x9b\xc8\x87\x8c\xde\x96\xb1\x41\x48\x5d\xbe\x2c\x53\xaf\x9d\xe8\xbd\xbf\xea\x65\xb1\x7c\xc1\x82\xe2\x05\x5a\x54\x20\x13\x17\x8e\x72\xf1\x13\xc5\xdd\x43\x97\xee\xfc\xa4\x81\xfe\xc3\x7f\xc5\xfe\xd8\x7f\xf8\x70\xec\x3f\xfe\xd2\x94\xbb\x5b\x05\x5d\xcf\x3e\xf0\x86\x7b\x8a\xbd\xd0\x0f\x54\x0d\x30\x00\xa6\x82\x6a\x09\x8c\xd0\x82\x03\xf4\x6b\x38\xf8\x97\xb8\xaf\xac\xa1\xf9\x80\x46\x29\xed\xc7\xd9\xa0\x9e\x08\x6a\xa8\x79\xb1\x2e\x67\xb2\xcd\xc1\x3d\x04\xb5\x8b\x01\x38\x70\x01\x4e\xf2\x03\xb5\x39\xc9\x0a\xb2\x05\x55\xa7\x25\xd0\x4b\x6a\x0e\x7e\x67\x75\xd4\xc5\x77\xb9\xd1\xdd\x0b\xd1\x19\x89\x36\x25\xba\xc0\x94\x2e\x16\x6d\x0d\x5b\x1f\xb5\x2b\x78\xeb\xda\xc4\x40\x63\xd4\x0c\xef\xf5\xbe\x6d\xcc\xb6\x6d\x81\x89\x6f\x6a\xbd\x7d\x2e\xbc\xb7\x48\xc4\x4e\x38\x43\x1d\x0e\xde\x98\xb5\x56\x2b\x75\xc0\x58\x85\xea\xac\x04\x13\x60\x02\x75\xf2\xe4\xe5\x96\xf7\xb4\x1f\x7f\x5e\xb1\xed\x8a\x88\x73\x71\xc3\xf4\x71\x06\x74\xfb\x62\xac\xfb\x5f\xa8\x86\x80\x5c\xb0\x07\x67\xc6\xfa\x5e\x67\xf0\xf8\x69\xf4\x97\x83\x6e\x7b\xba\xc3\xc4\xa5\x5c\xd6\x85\xa8\xb3\xa1\x27\x56\x7d\x18\x78\x2d\xe0\xca\x96\xd3\x1b\x4e\x6d\x3e\xdd\x78\x6d\xd2\xd9\x35\x2b\x71\x39\x6e\x77\x5b\xb2\x60\x50\x81\xff\x27\x41\xa7\x0d\x57\x8e\x9e\x86\xcd\x90\xe3\x76\xf2\xc8\xc5\xd6\x77\xb4\x30\x8d\xbe\xfa\xe1\x8e\xc0\x93\x22\x8c\xc7\xf9\x94\x2a\x46\xfa\xd9\x62\xa2\x41\xef\x0a\xbf\xb3\xa0\x97\xba\x83\x58\x04\x1a\xdc\x50\xe1\x03\x4e\xe8\xaf\x55\x9d\x96\x70\x1a\xfd\xda\xeb\x31\x41\x2b\xc4\x23\x2b\x5e\x6f\x78\x4d\x8b\x8e\x34\xce\x9a\x86\x32\x64\x90\x11\x2d\x53\x5e\x66\x7b\xbd\x15\xaa\x18\x69\x02\x0b\x3d\x34\x9c\xc0\x76\x18\x80\xfd\x61\xd1\x54\x98\xf2\xb3\xfb\x8f\x59\x3f\x9e\xbc\x74\xfd\xb3\x9a\x8f\xce\x9e\xfa\xf0\x7e\xd5\xed\x77\x8f\x7c\xcf\x48\xf3\x68\xd5\x59\xc9\x9b\x57\xc2\x62\x16\x36\xea\xa8\x0d\xb0\xd1\x21\x81\xef\xa1\x39\x53\x8e\x29\xb3\x44\x18\x74\x3f\xbf\xc2\x52\x2f\x39\x33\x67\x16\xa2\xfc\xf1\x64\xed\x64\x74\x18\xba\xe6\x75\xd1\x52\x6f\x71\xce\x4f\x1d\x34\x96\xc9\xcc\xca\x49\x4f\xd7\x3c\xdf\x72\x91\xb5\x7c\x20\xf1\xdc\xf2\x99\xe8\x82\x0a\x74\xd3\xe2\x4b\x38\x00\xa8\x77\xa6\x8b\x38\x0e\x28\xb4\xbb\x3d\xed\xfd\xa4\xf2\xdc\x86\x8a\xea\x63\x17\xdc\x2a\xaa\x1b\x8a\xaa\x53\x6f\x2f\x05\x99\x0f\x8c\x43\x8a\x79\xf3\x0a\xc8\x87\x7e\xa3\xfd\x06\xe4\xbf\x9f\xb9\x22\xc2\x38\x90\x83\xec\xab\xdb\xef\x56\x57\x34\xe4\x56\x24\x1d\x7b\xc3\xad\x22\x29\x37\x26\x29\x6d\xda\x62\xb4\xf3\x41\xeb\xf3\x36\x55\x18\x26\x50\x67\xb3\xb6\x15\xc4\x4b\x66\x07\x2e\xb5\x3a\xa6\x28\x29\xf5\xd5\xe5\xc3\x7d\x71\x28\x52\xcc\xe6\x80\x61\x63\xe6\x6a\x0d\xf9\x06\x83\x21\xdf\xd0\x6f\xd0\xdc\x61\x3f\x1f\x0b\x10\x71\x10\xd8\x8d\xfc\xec\xd5\xae\xa4\xca\x5d\xb9\xa9\x89\x5b\xde\x70\x4b\x4d\x2a\x8a\xad\x4e\xfd\xf5\x15\x88\xc0\x57\x2a\xd2\x99\xa5\x37\x1e\xfa\xfc\xa9\x35\x14\x18\x0c\x42\x01\xfd\x67\xfe\xc3\xaf\x6e\xbc\x5b\x5e\x06\xf1\x30\xf7\xf7\x5b\x55\x15\x45\xf5\xa9\xd5\x0c\x8c\xec\x1d\x57\xc3\xeb\x7a\x7c\x53\xd9\x1e\x6f\xc5\xef\x3f\x27\x66\x48\x1b\xa1\x87\x39\xde\xf9\xdb\x2f\xd7\x6d\x11\x0d\x05\x86\x7e\x83\xae\xff\x36\x7a\x53\xa7\x28\x6d\xc4\x9e\xc4\xb2\xdf\xc7\x30\xcf\xbd\x6d\x3a\xdc\xb8\x23\x89\x87\xc3\x5b\x04\x5c\x0d\x8b\xd0\x08\x73\xd1\x0d\xec\x98\x77\xe7\x8e\xf8\x6a\xb0\xd6\x96\x49\x6b\x36\x07\x8f\x98\xb6\x74\xae\x88\x83\xd0\x11\x53\x71\x0a\xae\x47\x7f\x26\x3c\x32\x31\x24\x48\xf3\xdc\x1b\x4a\xf8\xea\x5d\x2e\xe6\xc6\x03\x59\xd5\xc5\x6d\xdf\x37\xdd\x6d\x00\xc7\x2a\xd5\xc7\xf0\x4d\x01\x17\x08\x29\x10\x8a\x21\x87\x31\x95\x6a\x49\xe1\xb6\x40\x01\x74\xc1\xb6\x0a\xcc\xa3\x2c\x77\xa4\xc9\xdc\x02\xb8\x01\x79\xb8\xee\x2c\x7e\x45\x35\xa7\x72\xab\xe0\x1e\x3c\x85\xd5\xd5\xf8\x25\x75\x00\xa3\x39\x55\x63\x65\xd1\x27\x69\x65\xc2\xbf\xae\xdf\xba\x40\x95\x95\xe4\x54\x97\x69\x54\x5d\x7f\xf8\x14\x62\x06\xd5\xdb\x61\xee\xe6\xc6\x49\xaf\xc1\x41\x9c\xf9\x89\x65\x33\x65\x6e\xb0\x6c\xe4\x30\x04\x67\xe4\x41\x26\xc4\xc3\x64\xaa\xb7\x12\xc2\xb9\x79\x52\xa8\x34\x0d\x26\xd5\x5b\x16\x52\x52\x94\xe5\x1d\x6e\xfe\xdb\xa5\x40\x0a\x8a\xf2\x8c\xb9\x85\xee\xe8\xf9\xa0\xf0\x29\xec\xc2\x41\x14\xbc\x32\x9a\xc3\xe9\xa8\x69\x80\x58\x78\x15\xd4\x14\x6e\xb7\xb8\x73\xc6\xdc\x62\x83\xb1\x08\x96\xc1\x68\xb7\xc2\x82\xc2\xa2\x22\x4d\x51\xf3\x21\x88\xce\x2b\xcd\x2f\xca\x2b\xcc\x2b\xc4\x3c\xd0\xba\xa9\xea\x73\x0b\x73\x0c\x39\x79\xb8\x01\x5d\xdc\x72\xf3\xf2\x72\x72\x35\xb9\x68\x3f\xe9\x9d\xdc\xc2\x6c\x43\x6e\x9e\x3b\xf6\x9f\x99\x0d\x03\x28\xeb\xdb\x0a\x04\x74\xf9\x16\xd8\x0f\x28\x63\x61\xa1\xd1\xa8\x89\x91\x36\x52\x45\xb9\xc6\xdc\x42\x01\xaf\xc3\x68\xaa\x20\x37\xd7\x90\xa7\xb5\xcc\x45\x6d\x76\x5e\x6e\x76\x41\x96\xfb\x43\xcb\x96\xa2\x14\x60\x26\xd5\xa4\xb8\xab\x1a\x47\xbf\x99\x9d\x9b\x97\x5d\x90\xe3\x7e\x13\xff\x2c\x4c\xfb\x7a\x4e\x65\xaa\xbb\xaa\x6b\xd1\x96\x5c\xeb\xa3\x39\xee\xc5\x11\xe7\xd0\x50\x9c\x0d\xb1\x98\xed\x56\x98\x57\x64\x28\xca\x67\x0a\x0b\x0b\x0a\x0a\x45\x78\x0b\x92\xa9\xa2\xc2\x82\xa2\x22\x4d\x26\xbc\xfc\xeb\x64\x63\x6e\x89\xc1\x58\xe4\x0e\xc9\xb0\xf8\x05\xb8\x0c\x1c\x29\xa5\xc7\xdf\xea\x29\xd1\xef\x2c\xd4\xd8\x76\x7e\xfc\xa0\xda\xa7\x93\x1f\x83\xf3\xdc\xb0\xd7\xe6\x4c\x13\x2c\xdd\xf4\xb4\xd7\x6e\xfc\x06\x73\x4f\x41\x00\xcc\x13\xb7\x5d\xfa\x5c\x7f\x47\x7b\xe7\xf3\x4b\x07\x2f\x89\x30\xef\x14\x06\xe0\x5c\x11\x67\x4a\xf7\x38\x1c\x8c\x8e\xc8\xe0\x60\xab\x0b\x0c\x0c\x06\x4f\xe8\x73\x07\x83\x15\xee\x29\x98\x9d\x2c\x47\xfd\x79\x2b\x97\x9c\xc4\x83\x7e\x19\x3f\x92\x56\x7d\x09\x6a\x58\xc1\x82\x5e\x51\x97\x54\x1d\xf7\x0d\x5f\x57\x5d\x5d\x27\x2a\x3d\x72\xd9\x17\x9b\xe4\xed\x5e\x98\x20\x72\xe8\xa9\xea\x71\xe2\xc0\xd3\x9a\x70\xdf\x0b\xac\x09\xa2\x2d\xe1\xbe\x17\x58\x5f\x24\x04\xe2\x4e\x6e\xd3\x82\xf9\x81\x3e\x5a\x9f\xf9\x67\x8f\x2f\x10\xb3\x69\x5c\x14\x86\x49\x38\x70\x52\xd7\xcb\xf7\x45\xa9\x9b\xbe\xdf\xf5\xdd\x5d\x18\x1a\x06\x31\xb8\x4c\x34\xfb\x82\x89\x03\xbd\xa2\x36\x71\x77\xfc\x37\x3c\xbc\xc6\x5a\x33\x46\xbf\x70\x23\x58\x34\x3d\x37\xd5\xf0\x3a\xf4\x4d\x65\x75\x54\x57\x37\xab\x93\x77\xc1\xab\xbc\xcd\x50\xbf\xc9\x5a\x5f\x35\x27\xaf\xdb\x2a\xce\x24\x39\xb1\x10\xcb\x4a\x76\xbc\xea\x6e\x8f\x49\x1a\xce\x79\xfb\x2f\x9c\x23\x58\x4c\xf4\x1c\xff\x2b\xdf\xc3\xd8\x63\xe0\x0b\x13\xc4\x1d\xe7\x3e\x0a\xec\xd6\x76\x7f\x74\x76\xef\x39\x11\x26\x1c\x43\x5f\x1c\x2b\xe2\x78\xa9\x96\x53\x79\xa2\xcb\x10\x2f\x74\x46\xe7\x21\x8f\xc1\x05\x9c\x9f\x3c\x01\x67\x41\x75\x17\x9c\x9f\x0c\x41\x67\xb1\x67\xbc\xa5\xc4\xb6\x15\x6e\x3f\x2b\x75\xfb\xb3\x7e\x0a\xa8\x92\xc7\x24\x24\xc4\x08\x96\x6b\x74\x4c\x42\x4d\x83\xf8\x8e\xa2\xa1\xa6\xa6\x41\x90\xae\xd1\x0d\x35\x09\x31\xe2\x32\x05\x14\xcb\x55\x53\xfb\x36\xcf\xa9\xee\x46\xff\x1d\xcb\x04\xdd\xdc\x4a\x56\x67\xf6\x0d\x65\xe1\xe9\x43\x7a\x26\x3f\xd2\x6c\x7a\xf8\x0a\x3b\x12\x9e\x2a\x36\xb2\x2f\x0e\x29\x4a\x6a\xf8\x9e\xef\xab\xf1\x15\xbc\xd9\x04\x31\xac\xad\x34\x30\x76\x33\xf8\xe2\x04\x61\xc7\xaa\x05\x81\xb3\xb4\xb3\x16\x9c\xdd\xbb\x4a\xc4\x09\x9b\xad\x25\xf0\xbe\xbc\xf0\x86\x28\x99\xe8\x1b\x97\xaf\x7c\xdf\x57\x1a\x70\x1e\xf2\xc4\x56\x96\x21\xe8\x8c\x2e\x4f\xbc\xc0\x19\x9c\x9f\x3c\x06\x17\xa1\x67\xbc\x65\x29\x78\xb0\xf0\xa9\xbc\x21\xa1\xe6\x45\xf6\x6d\xf9\xb5\x19\x31\xb4\x65\xbf\xa6\x41\x84\x4f\xe5\x43\x59\x4b\xf7\x78\x56\xea\x86\x1b\xec\x73\x75\x0d\x8f\x4f\x1f\xc2\x42\x7e\x64\xaf\xe9\x21\xbc\xce\x8e\xc4\xa7\x8a\x16\x2b\x1e\xba\x59\x1d\x6d\x45\x86\x0e\x7d\x15\xa0\xd6\xc9\xbb\xfe\x2e\x9c\x8e\xee\xfa\x90\x05\x6f\x56\xea\x78\x68\x36\x81\x29\x97\xd7\x51\x7f\x42\x00\x87\x2b\x51\xc4\x38\xe4\xb0\x52\x8b\x95\x18\x07\x1c\xac\x44\x51\x6c\x83\xc5\x5f\xc0\x54\x98\xd1\xcc\x8c\xfc\x01\x54\x8b\xc0\x43\x0b\x1e\xa0\xfa\xe0\xe1\x0f\x22\xcc\x88\xfa\x02\xa7\xb6\xe1\x62\x06\x73\xcc\x8b\xb9\x14\x56\x32\xa1\x89\x33\xb2\xff\xd9\x40\x9d\x2e\x0d\xb1\x78\x49\x19\x52\xa6\xe4\x29\x0d\x95\xd2\x04\x65\xa3\x8e\x4a\x85\x0d\x7c\x8f\x1a\x1a\xfe\xd7\x53\x69\x92\xa7\x65\xa8\x94\x29\x65\x49\x83\xa5\x61\x52\xaa\x91\x15\xa5\x7f\xeb\x7a\xde\xe2\xe0\xd5\x20\x6f\x18\x86\x7e\x5a\xa8\x61\xd1\xcf\x1b\x87\xe1\xab\x41\xe2\x18\x50\x2f\x83\xf1\x30\x43\x03\x4b\xf8\xbf\x77\x6c\xe0\x8c\x65\x38\x7e\x0c\xaa\x05\x4c\x31\x6b\xb9\x14\x56\xd9\xa7\xb6\xca\x74\x81\x85\xdb\xac\x83\x4e\x7e\xcc\x9c\xc9\x75\xde\xde\xf7\xf3\xef\x1a\x68\xc7\x78\x88\xc7\xf6\x0f\xf9\xa1\xfb\xc6\x74\xfa\x08\x38\x70\x03\xae\x40\xd1\x12\xa8\xc1\x0d\x30\x1a\xa7\xc1\x12\xc1\xfc\x80\x86\x25\x30\x1a\xa6\xc1\x06\x29\x10\x57\x80\x88\x03\x3b\x44\xcb\x5c\xb3\x27\x27\xa9\x79\xf4\x3d\xca\x63\x30\x3c\xe2\x21\x18\x1c\x58\xe9\x15\x5d\x8f\x8c\xeb\x7d\x40\xa3\xe3\x48\xb0\x03\x1d\x7c\xf2\x0c\x02\x60\x55\xb9\xe8\xf3\x13\x38\x06\xf6\x9d\x3c\x74\x3c\x7b\xfb\x27\x11\x56\xa5\x3d\xc3\x00\xfc\x44\x83\xba\x91\x68\x87\x8e\x82\xd2\x92\x92\xcb\xc2\x26\x9b\x12\x59\x87\x1e\x13\x1c\xe0\x60\xdc\x26\x98\x89\xe3\x85\x35\xab\x16\x6c\xb7\xd2\xcf\xbe\xb7\x56\x89\x38\x7e\x13\xce\xc4\x71\x2f\x5f\xf6\x7b\x41\x3f\x57\xbf\x13\x71\x8c\x54\xc3\x81\xb3\xe7\x13\x54\xa1\xca\xd3\x46\x3f\x7f\x78\x81\x0a\x54\x7f\x58\xe9\x07\xda\x9f\x3b\xd7\xf0\xcf\xf5\xd6\xb6\xb8\xae\xc7\xa4\xeb\x69\xb4\x22\xde\xa6\x6d\x12\x9f\x8e\xa4\xe1\x3a\xff\x10\x9f\x2a\x96\xb1\xba\x1e\xdf\x20\xbe\x47\xff\x21\x6b\xa3\xe9\x6e\xd0\x83\xfa\xe0\xc1\xab\xa0\xbe\x65\x3b\x79\x63\x36\xc1\x13\xb6\x47\x0d\x5f\x72\xb3\x02\x97\x2c\x11\x2c\x33\xe8\x25\x81\xef\x75\x83\xdb\x41\x18\x05\x6e\xe2\xc6\x13\x97\x22\x3f\xd0\x7e\x70\xa9\xe5\xc4\x09\x11\xdc\x0e\xe2\x28\x74\x13\x51\x2d\x2d\xe1\xe0\x4b\xf6\x21\x2f\xf4\x98\x2c\x51\x5c\x05\xeb\xa7\xb0\xa8\xc1\xc4\x4d\x65\xb1\x9b\x8e\x4b\xaa\xae\x13\xaf\x6e\x65\xfd\x14\x92\xda\x35\x2e\x29\x29\x4e\x40\xfd\x0b\x20\x5c\xb0\xb5\x3b\xb9\x35\x82\xce\x9c\x0a\x4f\xb9\x87\x81\xbc\x8e\xee\xf2\x67\x47\x2a\x40\xfd\xf0\x9f\x04\x6b\xcd\xeb\x14\x9b\xc6\x64\x6b\x2e\xa3\xac\xbe\x72\xde\x96\x4f\x70\xdb\x06\xa3\xd0\x4d\xd8\xb8\x51\x1f\xb9\x48\xbb\x48\xdf\x72\x62\xa3\x88\x6e\xdb\xac\x79\x9b\x75\x76\xc9\x7b\xa2\x34\x83\x7e\xef\xec\x7b\xdd\xb6\x7c\x6e\xe7\x7b\x4c\x16\x6f\x7f\xbe\x57\x3f\x9e\x35\xeb\x27\xf1\x16\x35\x74\x73\x56\xb6\x2a\x60\xf7\x78\x16\xf4\xac\xa4\xbe\x0a\x93\x59\xbf\xdf\x59\xe8\x96\x0f\x65\xfb\x1e\x83\x1b\x6c\xaf\x95\xcd\x99\xad\xf2\xc2\xd3\x04\xfe\xf9\xd3\xff\x43\x8b\x6a\x44\x13\x14\xed\x80\x71\x28\xdb\x25\x69\xc1\xd7\x7c\x0d\xc6\xb9\xec\xd3\xd1\xef\xa9\x7c\x74\xf2\xfb\xe6\x34\x0e\xa7\x45\xa3\xf6\xcd\xa1\x82\x6a\x35\x38\x4e\x1f\x71\x1f\x97\x69\x55\x3e\xa8\x1c\xb5\x71\xe5\x12\xf1\xdc\x08\x4a\x55\x5b\xd9\xba\xc7\xb8\x47\x0b\x83\xba\x71\x00\x2a\xaf\x88\x06\x45\xca\xc6\x75\xd9\x81\x5a\xec\x42\x57\x08\x96\x26\x8a\xaa\xd5\xd2\xcb\xe0\x0a\x5b\xa1\x0b\xde\x05\x57\xdc\x6a\x79\x59\x50\xf9\x48\x9a\xde\x7e\xdc\xf2\xac\xa0\x79\xe3\xb5\x53\x96\x5c\xfe\xce\x5f\x54\xd5\xc2\x5c\xe0\x41\x09\x21\xb0\x5b\x23\x6d\xb5\xbc\x04\xd7\x2d\x23\x2d\x83\x2d\x3a\xbc\x69\x09\xb6\x6c\x92\xb4\x78\x53\xf2\xbc\x7e\xdd\x54\x77\x4d\x30\x28\x50\x73\xfb\x4f\x54\xc0\x2a\x2d\x7c\x75\x04\x2e\xde\xcc\x14\x95\xd2\xfe\x60\x70\xd3\xc9\x7f\x8a\xb1\x33\x80\x93\x79\x04\xf8\x41\x0d\x38\xde\x85\x61\xd2\x2f\xe0\xe2\x20\x05\x78\x71\x87\x57\x9d\xd9\xd5\x2c\xac\xb8\xf8\xe6\xc5\xcd\xd7\x98\xf1\x30\x66\x2b\x78\xc3\x5c\x0d\x4c\x39\x0c\x83\xbe\x85\x41\x42\xc7\xa7\xe7\xdf\xbd\x74\x99\xa9\xaf\x3f\xdd\xb1\x5f\xd3\x16\xde\x10\xb1\x74\x38\x52\xeb\xb6\x0a\x38\x18\xfd\xe6\x62\x20\x26\x6a\xb0\xf0\x53\x8c\x87\x71\x18\x20\x1c\x5e\x77\x73\xd2\x3b\xc9\x8c\x41\x91\x6f\x2c\xce\x33\x6a\xf7\xb6\xb6\xed\x15\x75\xd4\x2b\xa0\x09\x62\x9f\x7f\x44\x6f\x8a\x08\xdd\x32\x86\x17\x7b\x3e\xa2\x8f\xb7\x1e\x38\x2a\xe2\x36\x09\x38\x10\x83\x7e\x1f\xf1\x87\x50\x9b\xf0\x46\x57\x84\x36\x2b\x27\x37\x53\x8c\x38\xb1\xea\x4d\x4d\x58\xcc\xae\xd0\xc0\x94\xa7\x87\xb2\x84\x48\xf0\xd8\xfe\x18\xc5\x8f\x98\x9a\xad\x1b\xaa\x82\xb4\x29\xdb\x73\xe3\xd3\x2a\x32\xcb\x72\xc4\xba\xd4\x3d\xc1\x15\x71\x4c\x7d\x68\x49\xf8\x16\x5c\x86\x19\x38\x0b\x03\x35\xe8\x03\x8e\xa8\x81\x31\xcb\x04\x83\x22\xaf\xb8\x39\xbd\x58\x6b\x32\x15\x57\x54\xa4\x17\xa4\x17\x89\xc1\xd5\x51\x75\xbb\x0e\x30\x21\x9d\x19\x9d\xef\x83\x3b\xf8\xb5\x80\xfb\xf9\x6d\xbb\xab\x35\xa6\x22\x83\xe9\xd0\x5b\xfa\x9d\xd5\x82\x29\xb6\x20\x6b\xd7\xf6\xdc\xb0\xed\x9a\x75\xf5\x5b\xdf\xde\x73\xbc\xe6\xa0\xd0\x9a\xd8\xdc\xa2\x29\x32\x14\x16\x55\xb7\x6e\x4b\x2b\x15\x5a\xb6\x54\xac\x5a\x8b\x1a\x54\xce\xdb\xae\x49\xdf\x9d\x5e\x66\x2a\x2f\x2e\x2e\x13\xba\xf6\x7c\xfc\xe1\xa1\x73\xcc\xd9\x1b\xf5\xb7\xee\x6a\xcc\x41\xdb\xb9\xc6\xfc\xa6\xfc\x46\x21\x11\x22\xfc\x61\x21\x6a\x60\x3e\xf3\x76\xf0\x28\x50\x2e\xd0\x46\x84\xef\x8c\x08\xea\x7c\xb3\x39\x52\xbc\x31\xf3\xed\x85\x67\xc6\x32\xdd\x38\xbc\x01\xdd\x71\xb2\x06\x03\x97\xe0\x1c\x74\xc2\x71\xc2\xf6\x2d\xe8\x88\x76\x21\x9a\x5d\xad\xe1\x8d\xf7\x40\x80\x95\xd7\x4f\x0a\xf7\x60\xe4\xdb\x30\x07\xe6\x68\x94\xa7\x58\x9d\xbc\x0d\xe2\xb8\xd4\x55\xdb\x53\x36\x34\x63\x14\x4c\x71\x43\xd9\x60\x2a\x25\x25\x2d\x2d\x4a\x5b\x03\xb1\x14\xdc\x62\xa5\x89\x12\xa9\xab\x89\x36\x45\x26\xb8\x5b\xca\xf1\x0b\x0c\xff\x34\x70\x77\xfe\xa1\xf7\x9a\xdd\xcd\x4f\xe1\xbb\x13\xbb\xdb\x23\x93\x17\xb9\x4b\xab\xb1\xfd\xc5\x11\x87\xf9\x7c\x8f\x88\xea\xe7\xe2\x20\x76\x3e\x6f\x16\x51\xdd\x6b\xf3\x49\x22\xaa\x2d\x36\x1f\x88\xa8\x46\x71\x10\xdb\x9b\x02\xe3\x59\xb3\xfa\x08\x6b\xeb\x29\x0d\xa0\xf6\x03\xbd\xaa\xb7\xd1\xac\x06\x3d\xf7\xe7\xbf\x7e\xf0\xf0\xf8\x97\xf7\xa0\x4b\x2c\xa8\x5d\x71\x2e\x0e\x96\xec\x79\x9c\x2b\xa9\x59\x98\xfb\xb4\xf3\xfe\xad\xf7\x04\xb3\x49\xf1\x90\x17\x7a\x4d\x8a\x5b\x4b\x3a\xc7\x0e\xd2\xa8\xd2\x7d\x41\xed\xaa\xa2\x52\x41\xb9\x0a\xec\x7d\xbe\x16\xcc\x81\x0a\x2b\xcc\x1a\x05\xe7\xbe\x48\x40\xe8\x0d\x54\xf8\x4c\x5d\x85\xf6\xa8\xec\xe2\x55\x54\xaa\xcd\xd0\x9c\x08\xbd\x3c\xea\x69\x55\xba\x0c\xd5\xa0\x57\x48\x6a\x39\xea\x51\x4d\x5b\x23\xeb\xe9\xff\x84\x62\x3d\x40\x4f\x2b\x61\x38\xa8\x7f\xe3\x5f\xc8\x2a\x66\xd3\x6f\xbc\xea\x60\xb9\x8e\xaa\xd6\x51\x0a\x6e\xca\x1d\xa0\x59\xf7\xb5\x6b\xd1\xfe\x7b\xf4\xaa\x47\x97\x95\xee\x0f\xc7\xa0\xeb\xfb\xe8\xa9\x85\x03\xac\x0e\x65\x60\xca\xe3\x15\x7e\xfc\x27\x57\x76\xae\x7d\x4b\x98\x89\xee\x95\x38\xed\x11\x2a\xd7\xae\x75\xbb\xc7\xdf\x99\xe2\x56\x95\xdc\x60\xa8\xaa\x32\xd3\x66\xda\xed\x09\xcf\x4c\xc0\x1a\x6e\x21\x0f\x26\x54\x73\xbe\x7c\xfb\xf6\x7d\xc1\x69\xb6\x21\x10\xb7\x90\x57\xc9\x47\xf4\xaa\xcf\xb1\xa0\xf7\xe3\x40\xce\x83\x03\x0f\xdd\x57\xad\x60\x46\x6f\x03\xff\x9f\x62\x38\x0d\xb3\xa8\xd1\xf4\xbf\x81\x3d\x96\x58\x6c\x31\x5c\x17\xf2\x2a\x5f\x0f\x54\x9f\x63\x55\xa9\xbe\x56\x47\xd9\x28\x99\x20\x84\x85\xab\x3c\xa8\xe1\x07\xde\xea\x76\x83\x5a\x95\xea\xeb\x71\x82\x97\xf4\x9c\xae\x47\x86\x7a\x1a\xe9\x4e\xaf\x5b\x73\x04\x5c\xa4\x88\xae\x8e\x83\xcd\x7c\x5d\x93\xa8\x4a\xf5\xf0\x00\x7b\x45\xd2\x89\x53\x19\x67\xb4\x66\x13\x7d\xe6\x54\x59\xf5\x09\x11\x59\x85\xaa\xeb\x53\x59\x06\x0b\x2b\x14\xb7\x6e\x74\x3e\x06\x5a\xa3\xf2\x60\x64\xcf\xf5\xd2\xd3\x24\x5e\xe5\xa4\x96\x5d\xfd\x93\x55\x31\x8c\x0c\x42\x79\x95\xdc\x49\x06\x6a\xd7\xad\xbc\x8a\xb1\xef\x0b\xcb\x6d\x8e\x3d\x23\xeb\xe9\xb6\x98\xfc\x79\x5d\x8f\x47\x9f\xc2\x3b\x41\x25\xb7\x93\x1d\x3e\x90\x1c\xdd\x2c\x6e\x99\x5f\x32\xe9\xec\xa2\xe8\x68\xb7\xac\x2c\x43\x5a\x49\xd6\xc9\xf5\x6e\x25\x59\xe5\x86\x92\x12\xf8\x18\x3e\x76\x2b\x29\x31\x94\x67\x95\xac\x3f\xe9\x96\x55\x92\x66\xc8\xca\x62\x54\xf6\xf6\xb2\xe8\x68\xfd\xa9\x99\xa6\x85\x11\xee\x67\x57\xbf\xb6\x7f\xb6\x16\x0e\xf2\xbd\x6a\x85\xca\x4e\x2e\x1b\x39\xde\xca\xa3\x27\xf1\xcf\xd5\x92\xc9\xc6\xed\xad\xfd\x50\x5c\x75\x52\x9d\x55\x94\x16\xfc\xae\xfe\x07\x76\x86\x17\x54\xf6\xb2\xd4\x33\xfc\x48\x76\x14\x2b\xa8\xec\xec\x7c\x6d\xb9\x56\x82\xc8\x16\x80\x0a\x5c\xc1\xd5\x5c\x0a\x6a\x70\xb1\x76\xdc\xbb\xe0\x11\x07\x5a\xb4\x3b\x84\x0a\x54\xa0\xdd\x56\xd4\x2e\x28\x5d\x50\xfe\x9a\xb0\x7b\xf0\x6e\x8f\xd6\x21\xcc\xac\xba\x4f\xe2\x3f\xd2\x7e\xf4\x49\x6d\x77\x9d\xd8\xfa\x64\xf7\x5f\xbb\xff\x64\xca\xaf\x95\x7e\xf4\x91\x46\x3a\x2e\xf9\x70\xd2\xeb\x16\x05\xfc\x65\xf1\xdf\x21\x58\x5e\x8a\xc4\x6b\x78\x3d\xd6\xf2\x52\x3c\xfe\x02\x1b\xf1\x1c\x74\x22\x53\x91\x5d\x55\x9e\x57\x99\xd3\x94\xdb\x94\xd3\x92\x57\x93\xb7\x3b\xaf\x3a\xbf\x38\xb7\x38\xbb\x10\x37\xff\x89\x43\x60\x5b\x1e\x14\x32\x79\x70\x0f\x9a\xa0\x03\xee\xd5\x31\x12\xd5\x00\xef\xe1\xdb\x16\x3b\x0d\x16\xa2\x27\x86\xe2\xa6\x81\x42\x76\x5e\x6e\x4e\x7e\x56\x5e\x62\x5e\x42\x5e\x42\x4e\x54\x6e\x74\xee\xae\xbc\x94\xca\xb4\x0a\x23\x03\x47\x81\x82\xd5\xb0\x1f\xbe\xd4\x58\x8e\x1f\x4c\x64\xa1\x63\x1b\x07\xa7\x31\x07\x92\xf1\xed\x24\x01\xeb\x52\x30\x14\x23\xb2\xb0\x3e\x17\x67\xdc\xc6\x91\xe0\x34\xb2\x3c\xa3\xba\xb4\xb0\xb2\x68\x5f\xd9\xa1\xba\x03\xc6\x92\xfc\xb2\xac\x92\x7f\xdd\x0a\x00\xa6\x0a\x5c\x6a\x61\x1e\x78\x82\x17\xcc\x6d\x60\x20\xa1\x15\x02\x70\x01\xee\xd2\xa0\x3c\x70\xe8\x2b\x73\x85\xac\xac\xfc\x0c\x63\x56\x5d\x68\xd9\xd6\xa2\x1d\x85\xc9\xd5\x99\xe5\x65\x0c\xf4\xff\xf9\x36\x0c\x83\x29\x1a\x65\x23\xaa\x8f\xb1\x79\xbc\xcd\xf6\x16\xa8\x39\xb3\x29\x8f\xef\x35\x29\xc0\xd4\xf3\xf4\x30\xdf\x88\x6a\xc9\x04\xe3\x78\x88\xb2\x76\xaf\x3d\xbe\x6b\x58\xd4\x43\x09\x0f\xfb\x25\x67\x5b\xeb\x34\xbf\x18\x4d\xdc\x61\xad\x63\x8c\x3b\xac\xea\x2f\x30\xb9\x4a\x26\xb3\x49\xa1\xea\xb1\x58\x13\x91\x4c\x1c\x3c\x05\x91\x1f\x69\x7d\xb6\xd7\x44\x83\xc9\xfc\x94\x5b\xc9\x3e\xd7\xaf\x61\xf1\xa9\xe5\xa9\x42\xf5\xd7\x32\x9b\x0e\x91\x1e\xfd\x2a\x16\x9e\x4a\x36\xe9\xbe\x11\xd5\xf0\x9d\xb9\x07\xbe\xcb\xe5\x75\xf2\x4a\xd8\xc6\x25\x27\xc7\x18\x92\xab\x30\x09\x92\xdc\x30\x09\x93\xfa\x82\xee\xe8\x05\x5e\xc9\x55\x86\x86\xaa\x2a\x77\x48\x82\x24\xeb\xed\xbf\x83\x5e\xe0\x55\x55\xd5\x60\xa8\x4a\x76\xef\x83\x43\xd2\xdf\x41\x2f\xf4\xaa\x4a\x36\xc4\x24\x27\xbb\xa3\xed\x0e\x26\xbd\x08\x4a\xdb\x7a\xc8\x61\xbe\x11\x6e\x5b\xe5\x2e\x93\xad\x3a\x74\xf2\x5f\xa4\xe9\xdc\x13\x1e\xa7\xc3\x74\x37\x98\x0e\xd3\x9f\xf0\xb6\x97\x5a\xf9\x0f\x4e\xb7\x7e\x61\xba\xcd\xef\x85\x5e\xf7\x78\x77\x98\xde\x07\xb4\x7a\xbd\xd0\xeb\x19\x6f\x8d\x62\x05\x3e\xe3\xad\x19\xa2\x9e\x27\x61\x27\xd7\x63\xca\xe3\x9f\xff\x5d\xbb\xa7\xd8\x9e\x4b\xd0\xc3\xf5\x0e\xa2\xe1\x3d\xe9\x03\xca\x3c\x88\x96\xbc\xff\xc3\xdc\x9b\xd1\x04\x6b\xcd\x49\x30\x01\xc7\xd6\x3c\xe8\x2a\xba\xb8\x01\xa8\x6f\xe0\xa5\x8b\x87\xae\xc7\xbc\x07\x82\x8b\xf4\xfd\x1e\xa0\x3f\xb8\x7c\xb1\xa8\x6b\x2d\x8c\x1f\x71\xac\x19\x96\xdd\x7d\x57\xb5\xd7\xec\xab\xa3\x48\xcf\x19\xee\xfd\xf9\x13\x22\x77\x1e\xda\x71\xe8\xc2\x07\x07\x83\x18\x8b\x07\xe6\x73\xe5\xe5\x86\xda\xb4\x72\x46\x45\xcb\x52\x53\x2b\xe2\x0d\x69\xa9\xa9\x69\x86\xf8\x8a\xb4\xf2\xd4\x5a\x43\x45\x05\x03\x53\x66\x72\x35\x35\x86\x3d\x09\x35\x9b\x8f\xbb\xc5\xd7\xec\x34\x24\x24\x04\x07\xbb\x25\xc4\x1b\xc2\x6b\xe2\x19\x6b\xb2\xc7\x36\xd7\xc6\xef\x31\xd4\xd4\xba\xb7\xb7\x53\x68\x07\xae\x5c\x45\x85\xa1\x36\xb5\x9c\x51\x65\xfb\x76\xa5\x55\xc4\x1b\x52\x53\xd3\xd2\x0c\xf1\xe5\xa9\x15\x69\xb5\x86\xf2\x72\x46\x1a\xfa\x2b\x77\xfa\xee\xeb\xe7\xd6\x75\xcc\xbb\x36\x6f\xef\xf4\xf1\x3e\xe3\x3b\x07\xdf\x7c\xe3\xe6\x4a\x60\xdb\xcf\x7c\xcb\xd8\xa6\x8d\xd7\x58\x76\x71\xbb\x50\x8d\xf5\xf0\xfa\x34\x98\x18\xea\xe7\x3b\x12\x9d\x7d\x5f\xc7\x15\x78\xde\xe2\x38\xb2\xcb\xe7\xf4\x33\x20\x1f\x5e\x67\x0a\xc3\xdb\x97\x1b\x34\x6b\x60\x08\x0c\x80\x79\x87\xde\x67\x0c\x17\x6a\x8b\x3e\x12\x8c\x8f\x17\x7f\xf6\xe6\x69\xe6\xe0\xe6\xb2\x25\x2b\x34\x06\x03\x0a\xdb\xab\x85\x75\x05\x11\x69\x43\x23\x99\xe3\x85\x8d\x71\x06\x4d\xe4\x96\x95\xab\xfd\xc3\x27\x6f\x8a\xfc\xf2\x54\x67\x79\x65\x79\x79\x79\x59\x56\x69\x8e\x29\xbf\x82\x01\x86\x8f\xfc\x13\xe6\xc1\x90\x27\xc7\x19\x03\x38\x83\xdf\xad\x76\xa1\xba\xba\xa5\xd6\x54\xfc\x1a\x50\x49\x30\xb1\xee\x54\x5e\x5e\x7e\x5e\x7e\xee\x9e\x2b\xd7\xb3\x1a\x36\x30\x15\x91\x85\xa1\x51\x1a\x43\x60\xd1\x3a\xbd\x70\xbc\xbe\xd3\x60\xd0\x54\xa5\xd6\xec\x32\x68\xa2\xd7\x87\x78\xb7\x8c\x69\x9c\x7a\x73\xf3\x85\xec\x57\x8e\x4d\x00\x87\xbb\x30\xe4\xd8\xb5\x5b\x47\xbf\x4a\x07\x79\xf2\xd7\x43\x92\x51\x9e\xf1\xea\x06\xff\x65\xa1\x8c\xa1\x2a\x28\xe9\x4d\xe1\xf0\xba\x82\xc8\xfc\x28\xc6\xb0\xae\x74\xfd\x76\xe1\x51\xf3\xf9\x35\xe7\xbc\xeb\xb6\x7e\x93\x97\xbe\x94\x51\xf9\xda\xcb\x20\x03\xc6\x70\x52\x86\xc5\x4b\x1a\x62\xc9\x10\x54\x8c\x5c\x66\xc9\xb0\x78\xbd\x38\xf6\xea\x65\x3b\xf6\x9a\x21\x79\x49\x43\xa4\x0c\x51\x89\xb9\xe0\x68\x0e\x00\xc6\xfc\x1a\x38\xda\x41\x31\xd4\x3b\x48\xbb\x75\xd4\x02\xae\xb5\xb0\xba\x43\x90\xce\xd0\x0f\x2f\x4c\xc6\xb1\xc7\xc5\x83\xe8\x44\xfd\x4c\x1b\x6a\xe1\x59\x35\x8c\x16\x30\x65\x27\x8a\x06\x83\xa6\xd7\x9f\xb6\xf4\xab\xa4\x86\x28\x40\x15\xf9\x63\x7c\x6b\x4c\xd1\x64\xf7\x0a\xcc\xc9\xb5\x78\x19\x34\x86\x3c\xcb\x90\x2c\xcc\x16\xf2\x67\xed\x0c\x9f\x10\x8f\xaa\x08\xb7\x21\x0a\xa9\x5f\x25\x65\x66\x68\x03\x0c\x34\xc0\x9d\x14\xa1\xf4\x87\xb3\xd2\xc0\xd2\x53\xcc\x04\x7a\x0c\x86\x52\xf8\xca\x4c\x94\xa5\x60\x3f\x2d\x9a\x69\xec\xe7\x7f\xee\x4f\x51\xea\x52\x40\xfd\x77\x19\x06\xf1\xe3\xfc\x8e\xa8\xc6\x51\xfb\x50\xe5\xf6\x07\x9d\x09\x37\xab\xe1\x73\xca\x93\xde\x8a\x83\xa2\xc7\x26\x45\x8e\xce\x75\x37\xa0\x32\x05\x13\x0b\x05\xe5\x2a\x1e\xe6\x83\xb2\xe3\x2f\x98\xfc\xec\x24\x28\x8f\x81\x63\x87\xf5\xc7\xc2\x7c\x87\x9e\x31\xe6\x18\xee\x48\x49\xf3\x5a\x01\xaf\x28\xce\xe4\x67\x1e\x3a\xa2\x81\x4f\xbf\xe3\x1a\x8c\x7b\x76\x46\x1b\xb7\x26\xe5\xe5\xa0\x67\x59\xac\x90\x55\x54\x9c\x5b\xa2\xdd\x97\x75\xa8\x41\x7c\x7e\x0a\x15\x9c\x14\x0a\x4a\x4b\xa8\x02\xae\xb9\xc2\x4d\xc5\x3a\xbc\x49\xbd\x42\xbf\x09\xd7\x28\xbc\xe6\x21\x85\xc2\x04\x45\xe5\xac\xf2\x99\xe5\x33\xf7\x42\xb8\x1b\x4c\xb4\x84\xd2\x70\x13\xde\xe5\xf0\xab\x8e\x26\xbc\x21\x48\xa1\xf7\x14\xd7\x7e\x2f\x99\x5c\x23\x96\xec\xc8\xdf\x16\xa6\x81\xeb\x18\xc0\x2d\x4d\x5f\x36\x6b\x6b\x54\x45\xeb\x2e\x21\x33\x8c\x42\x7b\x29\x14\x1c\x71\x0c\xdd\xd2\xd4\x54\x7e\x48\x7b\xbb\x68\xb5\x9f\x88\xee\x0a\x98\x6f\x0e\xb7\x32\x46\xb4\x8e\x3b\xe4\x5d\x1f\xb2\xd2\x70\x2c\xfd\xcb\x1c\xdd\x28\xcd\x04\x1a\x76\xc2\xbf\xec\xa0\xe7\x41\xcf\x1f\x3f\x49\x6e\xb7\x1c\x74\xf2\x18\x0c\xe0\xb0\xf3\x6d\xcc\x86\x50\x6f\x38\xc2\x18\x14\xef\x27\xdf\x8a\x3b\x9a\xc5\x80\x03\x5e\x83\x3b\xb8\xdc\xa0\x31\xe6\x15\xe5\x1b\xf3\x99\x5e\x4e\xfa\x83\x4b\x3f\x9a\x7d\x2c\xf7\x38\x63\x50\xd4\x5d\x3f\xf2\xe3\xc7\xd7\x18\x43\x29\xbe\x71\x19\x5f\x11\x96\x9a\x9d\x39\x43\x76\x40\x61\x98\x90\x94\xb6\x33\x6a\x6b\x70\xe3\x85\xd6\xce\x03\x6f\x31\x06\x85\x8e\xaa\xb3\xcc\xe3\xf0\x0a\xce\xc5\x46\x34\xa1\xab\x60\x50\x2c\x89\x9d\x98\x88\x4c\x3d\x63\xb0\xd0\xbf\xe0\x30\x78\x24\xc0\xd8\xdc\x77\x8d\x7f\xee\x06\xef\x66\x78\xf9\x14\x78\x7d\x72\xb6\x29\xf7\x72\xd6\xc9\x8c\x0b\x5b\x72\xd7\x87\x31\x06\xfc\x0e\xd3\x2d\xaf\x35\x08\xaf\x80\xeb\x56\xe8\x36\x68\xc0\x07\x06\xc3\x8c\xdf\xe0\xb7\xed\x05\x6d\x15\x77\x47\x19\x19\x83\xc5\xe9\x0c\x86\xe0\x02\xa1\xfc\xe3\xea\x0b\x8d\x1d\x0c\x38\x83\x08\xaf\x7d\x01\xab\xb5\xd2\x1c\x78\x8a\x7f\x59\xe6\x8b\x9f\x1d\xe5\xda\xe1\x7b\xf4\x86\xcf\xf1\x2c\x8c\x61\x0c\x0a\xfc\x00\xbc\xb1\x2b\x08\x2f\xe3\xa0\x35\xbb\xe2\xa3\xe3\x42\xd6\x4f\x8f\x9c\x99\xb8\xf0\xe5\xc1\x0b\xd1\x69\x07\xf2\xeb\x66\xad\x1f\x95\x8e\x4a\xc6\x90\x1b\x5a\x90\x2f\xe0\xe0\x3a\x9c\x7a\xcf\xa0\x39\xba\x04\x82\x67\x7f\x10\xc5\x18\x4a\x2d\x83\xa0\x0c\xb5\xc2\x9a\xeb\x19\x95\x06\x8d\x01\xdd\x21\xa7\x19\xe6\x0b\x45\x45\xf9\x45\x5a\x84\x47\xf0\x39\x56\x49\xce\xda\xd6\x96\x82\xc2\x16\xf1\x72\xd6\x25\xe3\xf9\xba\xbd\xa6\xbd\xb5\x6d\x75\x70\x0c\x26\x82\x33\xcc\xfa\x09\x1a\x9a\xae\x55\xdc\x2e\xfd\x84\x51\x36\x62\x01\xd8\xe9\xe4\x1f\x5c\xfa\xb1\x0a\x5e\x82\xb1\x76\x47\x4f\x3c\x3c\xa5\x93\x87\x83\x1c\xa2\xaf\x39\xe8\xa8\xe9\xe6\x4c\x2e\x78\x79\x1e\x2c\xc7\x5d\x77\x91\x3f\xef\x1b\xd2\xde\x75\xe4\x22\x8c\x2d\x81\xfe\x53\x41\x39\xb5\x03\xf9\xe0\xe5\x0c\xfc\xdb\x72\x83\x33\x35\x67\x17\xc6\x45\x58\x62\x7a\x67\xe8\x30\x48\x32\x40\x90\xf9\xe9\x56\xb4\xdf\x36\x23\x17\x15\x3b\x9f\x6b\x75\x72\xc4\x39\x70\xc4\xfc\x3a\x83\x19\xd2\x72\x0e\x8e\x60\x2c\xc4\xe3\x61\x3c\x8c\xb1\x18\x8f\x47\xf0\x08\xc4\x62\x3c\x1c\x86\xc3\x10\x0b\xf1\x70\x44\x80\x13\xd0\xc1\xe5\x5e\x0e\x04\xf9\xfa\xab\x96\x4a\x73\xab\xae\xc7\x68\x29\x84\x7b\xcf\xbf\xc3\x49\x3d\x77\x75\xd4\x79\x38\x0f\x52\xef\x39\x66\x21\x3e\xe0\xe2\xf1\x3e\x36\xa1\x3f\xee\x79\xc5\x7c\xa7\x7a\x87\x4e\x7e\xa3\xb7\xaa\x8d\xc9\xd9\xd0\x94\x5e\xac\x85\x4f\xbd\x21\x19\x13\xe2\xf1\x1e\xa3\xb4\xed\xad\xbe\x0a\xde\xff\xe7\xab\xcb\x55\xdb\x14\xbf\x5a\x75\xe0\x28\xe8\xc1\xc4\xa1\x9c\x56\xf9\x7a\x34\xb2\xaa\x46\x8f\x1b\xac\xca\xc9\xea\x1b\x66\xf5\xc9\xad\x3e\xd6\xea\xb3\xb3\xfa\xec\x1b\x6f\xb0\x2a\xd9\xba\x46\x56\xe5\x7b\xf4\x6c\x02\x6d\x33\x22\x05\x72\xba\xa7\x1b\x3a\x60\x22\xdb\xdb\x7d\xd5\x2a\x1d\xf8\xb0\xe6\xee\x99\x56\xc1\x37\x13\xb2\x78\x55\xaa\xd3\x25\x5e\xb5\xc4\xa9\x85\xaf\x39\xab\x68\xe1\xa1\x43\x6e\x60\x55\x1e\x56\x98\xfa\x9f\x30\xc6\x0a\xa3\xfe\x09\xb3\xb7\xc2\xec\x96\xfc\x03\x26\x2b\xbe\xc4\xab\x64\x7f\xc3\x94\x1e\x20\xb2\x10\xcb\x3a\xe8\x68\x41\x9a\xc4\x7d\x53\x1b\x01\xce\x93\x13\xf0\xc3\x85\x6e\xd8\x02\xe3\xc1\xfa\xff\x70\x21\x95\x6f\x2c\x36\x18\xb5\x5f\x54\x80\x7c\xb7\xaf\x88\xd3\x0e\xc1\xa2\xbf\xf6\xd7\x56\x9c\x88\xdb\xef\x1e\xb7\x7f\x53\x45\x58\x1c\x2e\x1a\xe8\x76\x09\xbc\xf7\x7e\x85\xca\x8e\x9d\x3e\xee\x43\xb0\x0b\x5b\x70\x1c\x05\x1f\x29\x60\x13\xa4\xbf\xf3\xe1\x88\x6f\xf5\x7e\xee\x28\x47\x35\x05\x5b\x7f\xe1\x71\xab\x02\xe5\xa0\xd6\x5f\x1d\xf1\xaf\x77\x5e\x77\x87\x4d\x98\x4e\xe1\x47\x0a\x6c\x81\x71\x43\xa0\x6b\xe7\x6d\x54\x6e\xd8\x3b\xcd\xfd\x12\x7a\xe3\xa2\x67\x61\x75\x9b\xd2\xe2\x42\xdd\xe3\xc2\x2a\x36\xee\x8f\x87\x45\x1e\x6e\x38\x6d\x2b\x95\xe8\x5b\x81\xf2\x2f\xb4\xc6\x62\x43\x81\x51\x84\x0f\xaf\x40\x0b\x8e\x47\xeb\xff\xc3\x2b\x93\x6b\x22\xd0\xf9\x9b\x78\x77\x98\xb6\x15\x17\x79\x84\xc5\xa7\x6e\xac\x0b\x73\xaf\x0b\x3b\x9e\xba\xbf\x0e\x16\x3d\x73\xd3\xa3\xf7\x8e\x69\xa0\xdc\xb0\xe7\xb6\xfb\x13\xe8\x82\x16\x18\x67\x7b\xf3\x26\x4c\x5f\xf6\xfa\xa3\x7f\x5d\xba\xea\x0e\x72\x50\x53\xb8\xd5\x76\xa4\x77\xab\x02\xe4\xa8\xbe\xe4\xf7\xe8\xdb\x65\x1f\xba\xe3\x26\x48\xb7\x95\xa7\x05\xc7\x3d\xc1\xae\x3d\x3e\xa0\xec\xd8\xf1\x95\xbb\x1e\xbc\x61\xd1\xc0\xfd\x71\xc7\x2b\xea\xf6\xbb\xd7\xed\x4f\x3d\x11\x56\x8b\x8b\xfe\x72\x53\x3e\x65\x81\x81\x35\x3a\x79\x26\xac\x71\xd0\x51\x17\xa5\x3f\xb9\x78\xbc\x81\x07\x31\x03\x3f\xa9\xc7\x1b\xf5\x98\x07\x75\x75\xd0\x5d\x07\xd7\xe1\x20\x64\xc2\x27\xb1\x70\x3d\x16\xf2\xb0\x2e\x0e\xbb\x19\xb8\xd9\xf3\x32\x87\xdf\xad\xc5\xef\xd7\xe2\x77\x6b\x2d\xf2\x00\x3c\x86\x9d\x51\x16\xc7\x64\x8c\xf8\x16\x43\x61\x22\x8e\xc5\xdf\xf1\x77\x37\xf8\xee\x74\xdf\x4f\x72\xe8\x84\xe3\xd0\xd9\x24\x31\xd5\x10\xf1\x32\x84\xe2\x44\x18\x0b\x4f\xe0\xb1\x4d\x9d\x26\xc8\x75\xb4\x07\xc8\xed\x0c\x2f\x3c\x0e\x3d\xf3\xa5\x62\xee\xdd\x88\xc6\x4e\xcc\x7c\xb2\x6b\xd5\xad\xad\xf8\xaa\x85\xa5\xce\xd1\xf0\x0a\xfc\x01\xb3\xf1\x0f\xea\x3c\x6d\x39\xd3\x33\x9a\x43\x57\xbc\x0c\x97\xd1\x15\x5c\xe1\x32\x75\x42\xcf\x0d\xc1\x4c\xc8\x18\xf2\x07\x64\x50\x1d\xab\xb9\xa9\xe8\x0f\xfe\x53\xef\x80\x3f\x05\x17\xd7\x72\x96\x39\xf8\x14\x9f\x5a\xe6\x58\x5d\x78\x2a\xcd\xb1\xb2\xb0\xbf\x5d\x2b\x5c\x00\xb9\x2b\x7c\xc6\xc3\x2b\xbc\xa0\x84\xe1\x68\x7a\x9c\x08\x93\xa5\x3f\x61\xc7\x6c\x13\xcc\x04\xb7\x8f\x81\xbd\x0b\x63\x5d\x8e\xc2\xe8\x4a\x28\xf2\x04\x46\x1a\xf4\xdb\x41\x18\x05\xb3\xe0\xe5\xfb\xc0\xa9\x1a\x12\x75\xd4\xbf\xe0\x12\x57\x3d\x1a\x5f\x6d\xdf\xd8\xe0\x77\x70\x53\x77\xcd\xcd\xaa\x8b\xc0\xc2\xce\xe2\x43\x4c\xbb\x31\xae\x28\x55\x9b\x58\x90\x9a\x99\x18\x9d\x1c\x83\x43\xf1\x42\x72\xc4\x06\x9f\x81\x55\x95\x5f\x15\xb5\xfc\x02\x5b\x8d\x87\x8b\x1a\x72\x9a\x62\x2a\x62\xca\x23\x13\x32\x53\xd2\xe2\xd1\x0d\xff\x4c\x0a\x67\x22\xde\x8c\x48\xda\x94\x37\x2e\xfb\xd5\x2f\xf7\xff\x5c\x75\xf2\x07\xf8\xf4\xcc\x57\xfb\x2f\x7e\xd3\x71\x39\x62\x7f\xf2\xc9\x5d\x95\x59\x7b\x93\xf7\xb7\x57\x96\x1f\xd8\x53\x5f\x7d\x2a\x93\xd9\x97\x53\x1b\xd3\xb4\xab\x2e\xae\xaa\xa2\xbc\xa4\xc6\x54\x59\xf6\x76\xfe\xb9\xfc\x77\xe2\x2a\x27\x55\x8d\xc6\xc9\x98\x5d\x81\xf2\x32\x1f\x70\x7b\xa7\x62\x36\xf3\xdc\x0f\x43\xb9\x9c\x86\x98\xca\xd8\x9c\xd8\x9c\x94\x18\x63\xac\x31\xa6\x3e\xa5\xde\xc8\xa8\x9c\x52\x1b\x8c\x95\xf5\x39\x0d\x8c\xf4\x31\xd6\x70\x89\xcd\xa1\x25\x51\x09\xd1\x09\x59\xa1\xbb\xa3\x6a\xa2\x0e\x64\x35\xd7\x34\xd5\x94\x1c\x48\x68\x66\x7a\x6b\xcd\x5d\x5c\xcb\x91\xf4\xb3\xc1\xad\xc1\x2d\x81\xe9\x91\x41\x91\xc1\xa6\x55\xed\x91\xed\x11\x67\x4d\x2d\x47\x18\x5b\x3d\xb0\xbd\x53\x38\x95\x53\x6a\xf8\xd1\x80\xf2\x2d\xe1\x41\xe1\xe9\x2b\x5b\xb7\x58\x6f\xb4\x6e\xe9\x4c\x3f\xda\x7a\xb4\xcd\x74\x3e\xe2\x28\xa3\x1a\x28\x03\xb9\xf4\xd8\x5a\x71\xc0\xfc\xb6\x01\xfc\xd1\xf3\x74\x3d\x18\x31\x0b\x16\x60\xea\x74\x5c\x09\xa3\xf0\x24\xda\x4f\xc4\x44\x5c\x18\xee\x85\xc1\xbf\xe1\x64\x46\xe5\x21\xc7\x57\xd0\xfb\x3b\x3c\x0d\x71\x9b\x0b\xfd\x6b\xfd\x0f\x07\x3c\x40\x11\x16\x85\x00\xff\xc0\x68\x2c\x2e\x32\x16\x81\x33\xca\x61\xcd\x07\x27\x61\xca\xa7\x79\x9f\xd6\x7f\x70\x8a\x51\x39\xc9\xad\x92\x1f\x04\x8e\x85\x91\xcc\x73\xc9\x3c\x8c\x8b\xdb\xb3\xa5\x24\x3c\x6e\x67\x6c\xd6\x96\xba\x9d\x75\x3b\x8f\x66\xb5\xd5\xed\xa9\x2f\x39\x1a\xb7\xc7\x9a\x41\x98\x08\x87\xb9\x9c\xe6\xe8\xea\xe8\xec\xe8\xec\xa4\x68\x63\x74\x71\x54\x53\x52\x53\x71\x53\x71\x75\x53\x76\x13\xa3\x93\x37\x3f\x9f\xcf\x65\xb7\x85\xd7\x86\x67\x87\x67\xc5\x87\x97\xec\x2c\x0e\x6f\x8b\x6f\x2b\x69\x2b\xae\x6d\xcb\xda\xc3\xf4\x8e\xea\x71\xe6\x54\x8b\x56\x47\x1f\x5d\x5d\x19\x14\x1d\x14\x9d\x12\xd8\xb4\xa5\x31\xe8\xed\x94\x23\x4d\x47\x9b\x2a\xce\xee\x3a\xc2\x98\x93\x7b\x3d\xb9\x9c\x86\xd8\xca\xd8\x9c\x18\x6b\xc5\xc7\x18\x63\xeb\x93\x1b\x8c\xf5\xc5\x55\xf5\xd9\x0d\x0c\x2e\x83\x2c\x2e\x66\xff\x86\xb2\xed\xbb\xc2\x76\x65\x6e\x68\x08\x6b\x08\xeb\xc8\xdc\xdf\xb0\xaf\xb1\xb4\x23\x66\x3f\x63\x33\x77\xfe\x7f\xfb\xee\xdc\xa3\xa3\x7c\xf7\xd0\xa0\x66\x41\x4d\xac\x7d\x41\xbf\x7e\xb6\x6b\x7f\x1d\x2d\x53\xeb\xe8\x87\x5c\xbb\xca\xee\x91\xbd\xcc\x4e\xd6\x5f\xa6\x95\x1d\x95\x75\xd9\xb9\xdb\x0d\xb6\x1b\x6a\x37\xd2\x6e\xac\xdd\x04\x3b\x1f\x3b\x5f\xbb\xb9\x76\xaf\xd9\x2d\xb6\xdb\x68\x17\x64\xb7\xcd\x6e\x87\x5d\xbc\x5d\x8a\x5d\x86\x5d\x8e\x9d\xd1\xae\xcd\xee\x5d\xbb\x2b\x76\xd7\xed\x3e\xb3\x7b\x60\xf7\x9b\xdd\x1f\xf6\xb3\xec\xe7\xd9\xbf\x66\xbf\xc8\xde\xdf\x3e\xc0\xfe\x4d\xfb\x50\xfb\x38\xfb\x1c\xfb\x32\xfb\x76\xfb\x13\xf6\xa7\xed\xcf\xdb\xbf\x63\xff\xbe\xfd\x27\xf6\x37\xed\xbf\xb0\xff\xce\xfe\x67\xfb\x5f\xed\xff\xb0\x97\x1c\x88\xc3\x00\x07\xb5\x83\xbb\x03\xef\x30\xc6\x61\x8a\x43\x97\xc3\x17\x0e\xdf\x3a\xdc\x73\xf8\xcd\xe1\x99\x83\xd9\xa1\x57\x2e\x97\x2b\xe4\x4a\xb9\x97\x7c\x8c\x7c\x8a\x7c\xba\x7c\xa6\x7c\x9e\x7c\xa1\x7c\xa9\x7c\x95\x7c\x83\x7c\x8b\x3c\x4c\x1e\x29\x8f\x91\x27\xc8\xbb\xe4\x1f\xcb\xef\xc9\x1f\x52\x0e\x94\x2b\xa5\xa1\x04\x6a\x0a\x35\x8b\x7a\x8d\x5a\x44\xf9\x53\x01\xd4\x9b\x54\x34\x95\x45\x19\xa8\xf7\xa8\x4f\xa8\xcf\xa9\xbb\x34\x4d\x8f\xa6\xe3\xe9\x0c\xba\x90\x2e\xa7\x1b\xe9\x36\xfa\x00\xdd\x4e\x77\xd0\xb7\xe8\x07\xf4\x6f\xf4\x9f\x0a\x1f\xc5\x42\xc5\x72\x45\xa0\x62\xbd\x22\x48\xb1\x43\x11\xa9\x78\x4b\x71\x49\xf1\xbe\xe2\x9a\xa2\x5b\x01\x8a\x7f\x33\x83\x98\x09\xcc\x14\xc6\x97\x99\xcb\x2c\x62\xde\x64\x76\x32\xb1\x4c\x32\xf3\x36\x73\xd7\x51\xed\xa8\x71\xf4\x70\x5c\xe1\xb8\xca\x71\xad\x63\xa1\x63\xb9\x63\xad\xe3\x27\x8e\xdf\x38\x3e\x71\x7c\xce\x3a\xb0\x8e\xac\x92\x75\x66\xdd\xd8\xb1\xec\x0c\x76\x1e\xbb\x83\xcd\x65\x6b\xd8\xc3\x6c\x07\xfb\x16\xdb\xc9\xfe\xc2\xfe\xc1\x9a\x89\x1d\x51\x10\x81\x78\x91\x51\xc4\x97\x6c\x26\x91\x24\x81\xa4\x90\x2c\x92\x4f\x8a\x48\x29\xd9\x4d\x9a\xc8\x7e\x72\x84\x9c\x26\x5f\x91\xc7\xa4\x87\x3c\xef\x67\xdf\xcf\xa5\xdf\x4b\xfd\xb4\xfd\x3c\xfa\x8d\xee\x37\xb5\x9f\x5f\xbf\xe5\xfd\x36\xf6\x0b\xea\x17\xda\x2f\xba\x5f\x62\xbf\xf4\x7e\x39\xfd\xf6\xf5\x7b\xbf\xdf\x9d\x7e\xcf\xfb\x3b\xf4\x17\xfb\x8f\xed\xbf\xb8\xff\x8a\xfe\xab\xfa\xaf\xeb\xbf\xb5\xff\x8e\xfe\xd1\xfd\x13\xfa\xef\xee\x7f\xaa\xff\x67\xfd\x9f\xf6\xef\x55\xb2\xca\x97\x94\x5a\xa5\x97\x72\x8e\x72\x83\x32\x52\x99\xac\x34\x2a\x4d\xca\x2a\x65\x83\xb2\x55\xb9\x4f\xf9\x96\xf2\x82\xf2\x13\xe5\x4d\xe5\x2d\xe5\x5d\xe5\x4f\xca\x87\xca\xdf\x95\x7f\x0e\xa0\x06\xa8\x06\x8c\x1e\x30\x7e\xc0\xe4\x01\x33\x06\xcc\x1d\xe0\x37\x60\xf1\x00\xfd\x80\xb0\x01\xd9\x03\x2a\x06\xec\x19\x70\x78\xc0\x99\x01\x17\x06\xbc\x37\xe0\xea\x80\x4f\x07\x74\x0f\xb8\x3d\xe0\xe7\x01\xbf\x0d\xe8\x71\x62\x9c\xfa\x39\x39\x3b\x69\x9c\x3c\x9c\x86\x3b\x8d\x71\x9a\xe4\xe4\xe3\x34\xc7\x69\xa9\x53\x80\xd3\x76\xa7\x48\xa7\x3c\xa7\x06\xa7\x43\x4e\x6f\x39\x5d\x70\xba\xec\xf4\xb1\xd3\xe7\x4e\x77\x9d\xee\x39\xfd\xea\xf4\xc4\xe9\x2f\x27\x74\x76\x72\x1e\xe2\x3c\xd5\xd9\xd7\x79\xb9\x73\x88\x73\x82\x73\xa1\x73\xbd\x73\x8b\xf3\x41\xe7\x23\xce\x1d\xce\x6f\x3b\x5f\x70\xfe\xc0\xf9\x2b\xe7\x47\xce\x7f\x38\xff\xe5\x8c\xce\xff\x76\xa1\x5d\x88\x8b\x93\x0b\xe7\x22\xb8\x0c\x72\x19\xea\x32\xca\x65\xbc\xcb\x6c\x97\xe5\x2e\xab\x5c\x42\x5d\x92\x5d\x8a\x5d\xaa\x5c\xea\x5d\xf6\xba\x1c\x73\x39\xed\x72\xc9\xe5\x7d\x97\x6b\x2e\xd7\x5d\xbe\x77\x79\xe8\x02\x2a\x46\xe5\xa4\x12\x55\x9e\xaa\x61\xaa\xd1\xaa\x09\xaa\x59\xaa\xf9\xaa\x25\xaa\x75\xaa\x20\xd5\x36\x55\xb4\x2a\x41\x95\xa2\xca\x52\xe5\xab\x4a\x54\x15\xaa\x7a\xd5\x1e\xd5\x21\xd5\x09\xd5\xdb\xaa\xf3\xaa\xcb\xaa\xab\xaa\xeb\xaa\x2f\x54\x5f\xab\xbe\x53\xdd\x53\x3d\x53\xcb\xd5\xfd\xd4\xce\x6a\x9d\xda\x53\x3d\x4a\x3d\x41\x3d\x53\xbd\x44\xfd\x86\x7a\x95\x7a\xad\x7a\x93\x3a\x42\x1d\xa3\x4e\x52\xe7\xa8\xcb\xd5\x2d\xea\x83\xea\x0e\xf5\x5b\xea\x0b\xea\xcb\xea\x6b\xea\xeb\xea\x5b\xea\x6f\xd5\xbf\xa8\x9f\xa8\x7b\x38\x3b\x8e\xe6\x08\xe7\xc6\x89\xdc\x48\x6e\x32\x37\x97\x5b\xcc\x2d\xe7\x02\xb9\x0d\x5c\x08\xb7\x9d\x8b\xe2\xe2\xb8\x64\x2e\x93\x2b\xe6\x6a\xb9\x7d\xdc\x21\xee\x38\xd7\xc9\x5d\xe1\x3e\xe3\xee\x70\x3f\x71\x0f\xb9\x3f\x39\x74\xb5\x73\x75\x74\x1d\xe0\xaa\x72\x75\x77\x15\x5d\x3d\x5d\x87\xbb\x8e\x71\x9d\xe8\x3a\xd9\x75\xb6\xeb\x22\xd7\x00\xd7\xb5\xae\x9b\x5c\x77\xb8\xc6\xbb\x66\xb9\x16\xbb\x56\xb9\xd6\xb9\x36\xbb\xee\x75\x3d\xe4\x7a\xec\x3a\x2b\xf9\xc0\x23\x78\x24\xf9\x08\xca\xd9\xac\x1f\x3d\x8f\x17\xfd\xb6\xf1\x57\x23\x58\xa2\x98\xbe\x23\x60\xd6\x34\xcd\xff\xf3\x99\x5e\x0f\xdb\x4c\xaf\xef\x3f\x66\x7a\x3d\xfe\xc7\x99\x5e\xdf\xff\x79\xa6\xd7\xe3\x1f\x33\xbd\xc5\xa0\xa7\x95\xd8\x85\xb9\x98\x8b\x5d\x30\x8b\x17\x20\x6a\x38\x9b\xcb\x2e\x61\xe1\x28\x6f\x5b\x8e\x8b\xe2\x61\x04\xfb\x30\x84\xd7\xf5\xf8\x7e\xcc\xd3\x16\x1a\xe6\x62\x23\xac\x44\x57\x01\x57\xa2\xb5\x04\x8d\x16\x5a\x33\x92\x8e\x4b\x4a\x8a\x13\xfd\xa0\x95\xbd\xaa\x18\xc3\x0a\x23\x69\x89\xc6\xb9\xd0\x88\x2b\xc1\x55\x80\x95\xe0\x0a\x73\xa1\x51\xa2\x35\x64\x09\xff\xc2\x82\x07\x19\xc9\x0a\x64\x0c\x2b\x10\x7a\x28\x4f\x5c\x3d\x58\x98\x88\x1c\x70\x38\x51\x20\x71\x6b\x78\x52\x57\x5d\x5d\x47\x82\xb7\x6f\x0f\x26\x75\x49\xd5\x71\x84\x43\x03\xae\x81\x35\x60\x00\x03\xf4\xb9\x91\x3c\xed\xcd\x13\xfa\x7d\x96\x8c\xe1\x05\xb2\x9a\xc7\xee\x09\x3c\x74\xcf\x64\x49\x5c\x52\x01\x4f\x66\xb1\x22\x19\xc5\x8a\x64\x1e\x2f\xa2\x7e\x1b\x4f\xb8\x59\xbc\x64\x72\x9d\xc5\x43\x13\xcf\xad\x67\x61\x39\x2f\x80\x7a\x38\x6b\x5b\x79\xf3\x7b\xb1\xf0\xa6\xb0\xcd\x7b\x5e\xa5\xeb\xaa\x93\xe2\x44\xd0\xcb\x17\xf1\x64\x08\x2f\x90\x1c\x16\xd4\x8a\x1c\x9e\x28\xa6\xf3\xb6\xfc\x08\xd8\x67\x25\x4c\x04\x75\x38\x8f\x6a\x05\x99\xc7\x8a\x44\x31\x93\x27\x5c\x20\xfb\x77\x26\xe7\xb2\x82\x64\xea\xed\xe6\x0e\x27\x1d\x8a\x6a\x16\xf0\x21\x3c\xa4\xbe\x06\xc7\x53\xe0\x01\x83\x34\xff\xb7\xa3\xf7\x30\x08\x3c\x4e\x7d\x0d\x8e\x02\x3c\xc4\x07\x60\xe6\x09\xbd\x90\x25\xf4\x68\x96\xac\x66\x05\xa2\xc8\x60\x49\x31\x5f\xc9\x36\xf0\xa4\x76\xf7\xee\x5a\x42\x65\x65\xe5\xa4\x67\x68\x32\x8c\xe9\x25\x59\x02\x19\xcf\xeb\xcc\xa9\x3e\x7d\x4a\x26\x09\x8c\x63\x47\xf6\x19\x97\x7d\x78\x8f\x25\x56\xb4\x02\xc5\x43\x2e\x74\x91\xef\x78\x0b\x2f\xa9\x58\x89\xa7\x4a\xb2\xd2\x8d\x19\xda\xf4\x8c\x3f\x79\x69\x8b\x65\xcb\x3e\x96\x58\xcb\x4c\xb6\xf0\x22\x59\xcb\x43\xf7\x20\x9e\x8c\x66\xc7\xf0\x44\x47\xcb\x6c\x25\x06\x39\x4f\xe8\xd9\x3c\xd9\xc9\x8a\xa4\x6f\x55\x50\x3f\x8c\x25\x90\xce\x67\xf1\x02\x19\xcd\x5f\xa5\xc9\x8a\x53\xeb\xba\xc8\x0f\xb3\x6f\x4e\x14\xc8\x8b\x75\x43\x7d\x1f\x39\xa0\xfe\x77\x96\xd0\x1b\x59\x52\xca\x5b\xb3\x9e\xb8\x3b\x9e\xd0\xcb\x58\x82\x6e\x23\x77\xb0\x0f\x47\xd2\x19\xec\xc3\x87\x8a\x39\xfc\x48\x2b\xfa\xf4\x13\x78\xd0\xcf\x64\x89\xa9\xe1\xe4\xef\x75\x9a\xc2\xfc\xa2\xdc\x42\xa1\x34\xc5\xe3\xc3\x6c\x6d\x56\x5e\x48\x48\xd8\xa6\x1d\x9b\xdc\xd3\x0a\xd2\x0a\xd2\xd2\xd2\xf2\xd3\xfa\x79\xee\x4e\xf3\xfd\x2d\x59\x9b\xed\xe1\x97\x95\x22\xe6\xe6\xe5\xe7\xe6\x69\xe2\x4f\x7a\x99\x62\x84\x94\x84\xb4\xb8\x8c\x38\x26\x26\x0f\xb9\xa4\x44\x0d\x7a\x28\x12\x81\x4b\x6a\xc8\x13\xca\x62\xcb\xe3\x2b\x13\x98\xf4\x98\xf5\x5e\xf1\x9a\xbc\x82\xdc\xa2\x3c\x21\xb3\xf2\x2f\xbf\x62\x6d\xd5\xe7\xbf\xef\x2e\x17\xcb\xf3\xcb\xf3\xcb\xcb\xcb\x0b\xca\xfb\x79\x26\x96\x7f\x3e\xb4\x4a\x4b\xf0\x19\x9e\xc0\x13\xf8\xcc\xea\x42\x20\x0f\xcf\xc0\xea\x10\x1c\x68\x9b\xd8\x1e\x48\x7e\xb8\x79\xf3\x07\x91\xf4\x99\x63\xdc\xc1\xaf\xe2\x75\xb4\xcc\x81\x5c\x5d\xc6\x13\x6e\x3c\x4f\xee\xf3\xa0\xde\xcd\x92\x71\xac\x32\x90\x87\x6e\x7f\x96\x64\x95\x08\x01\x9d\x6f\xf0\x96\x2d\x96\x2d\xaf\xb2\xd6\x3a\x5f\xce\x77\x76\x96\xb3\x64\x0d\xab\x43\xdf\x20\x9e\xc4\xb0\x3a\x85\x0c\xf4\xdc\x7c\x96\x70\xcb\x59\xa2\x78\x9f\x25\x13\x67\xcf\x9e\x48\x56\xb2\x7e\x6b\xd8\x91\x84\x9e\xc1\x12\x70\xe2\x7b\xf4\x10\xc0\x12\xa8\xe4\xe1\x2e\x2f\x92\xab\x81\x3c\xb9\xe1\x7f\x79\x4e\x30\x4f\x1a\x4b\xf8\x5c\x9e\x28\xc6\xf3\x44\x71\x9c\x25\x3a\x79\x17\xe8\xed\x0c\xa0\x77\x90\xf4\x3d\xdd\xaf\xf2\x3d\x17\x2c\xdd\x1c\xe4\xf0\xbd\x6b\xcd\x6f\x52\xe7\x57\x8e\x38\x31\x47\x6b\xf1\x7e\xcc\x5a\xbc\x15\x73\x4e\x8c\x38\x1f\x20\x98\xd7\xf6\xae\xa3\xa2\x9a\xe1\x25\xbe\xb9\x45\x94\x52\xa4\x54\x78\x83\x25\x1c\xa8\x78\x54\x80\x02\x06\x82\x8b\x35\xf4\x5f\xb6\x85\x61\x33\x6b\x33\x13\xe1\x24\x10\x30\xb5\xb2\x04\x14\xac\x60\xd1\x4b\xfa\xc3\x2c\xbc\xc4\x8a\x16\xbd\x45\x6f\x62\x7b\xd4\x21\x6c\xe6\xdf\x1b\x03\x9a\x58\x49\xcd\x43\xae\xb5\xa9\xb7\xb0\x64\x31\x2b\x92\x20\xf6\xb9\x7a\x16\x0b\xde\xbc\x28\xe9\x2d\xfa\x36\x1e\xa6\x5b\x7d\x92\xfe\x63\x96\xc4\x55\x27\xd5\x09\x57\x27\x59\xab\xda\xa6\xf2\x8c\x04\xf3\x73\x88\x4e\x9e\x4a\xa6\xb2\xa8\x1e\xc5\x13\x34\x59\xe5\xa9\x17\x27\x9d\xaf\x5b\x5b\x35\x28\x79\xc1\x16\x22\xff\x4b\x3b\xad\xa4\x86\x67\x3c\x31\x65\x96\xa6\x0b\x84\x83\x79\x38\x00\xc6\xe2\xac\x0e\x61\x4f\x47\xf5\xd9\x73\xb0\x97\x5d\xb4\x24\x7a\xe3\x1a\x01\xf4\x3e\xb8\x18\x5c\x70\x93\x16\x28\x36\xa9\x20\xa9\x20\x51\xc4\xf1\xb3\xbc\x70\x02\xce\xea\xe2\x7b\xba\xe9\xef\xd9\xa9\x3c\x74\x28\xa0\x8d\x27\x2f\xb3\x68\x1a\xcb\x13\x29\xc3\x32\x44\x1a\x62\xc9\x20\x5f\xb0\x01\x01\xff\x68\x84\x52\x5f\xe3\x82\x61\xac\xb4\x45\xda\x42\x95\x94\x18\x4d\x65\x1a\x82\x17\xf1\xd2\x45\x60\x70\x8a\x88\x33\x14\x38\x10\x1e\xa1\x02\x8e\xb3\xf5\xac\x00\x33\x14\xc8\xe0\x14\xbc\xb4\x1c\x2f\x6a\xc9\xab\xc0\xa2\xea\x11\xfa\xb6\x32\x50\xca\xaf\x58\xb7\x6e\x45\x52\x51\x72\x71\x8a\x80\x75\x9b\x70\x22\x6e\x41\xbd\xc6\x12\x83\xbe\x18\x85\xc3\xd0\x59\x88\x2c\x8d\xae\x8c\x11\x70\x11\xbe\x9c\x9c\x9a\x1f\x53\x91\xe4\x7e\x77\x64\x45\x52\x63\x7e\x55\x85\xbb\x4e\xb1\x44\x47\xaf\x20\xd5\x6c\x5a\xaa\x21\x2d\x9d\x27\x54\x4a\x4a\x66\x42\x3c\x04\xb1\xe4\xef\xec\x4c\x65\x7b\xf5\xfb\x59\xb3\xde\x9f\x25\xb0\xe6\x2a\x4f\xac\xac\x8f\xb8\x56\xf2\x84\x86\xf9\xbc\x15\x2b\x16\x7d\x1f\x56\xc0\x13\x3d\xf1\x5b\xfc\xf6\x55\x16\x68\xa4\x97\xf3\xf0\x2d\x7c\x6b\x85\x5d\x61\x89\x35\x7b\x2b\xd6\x9d\xea\xea\x3a\x25\xb9\xb0\xeb\x56\x08\xe4\x59\x36\x4f\xac\x74\x42\x70\x2d\xb8\xe1\x02\xd8\x80\x8e\xe2\x6a\x9c\x36\x7b\xf1\xeb\x73\x12\xe3\xe2\x13\x8b\x23\x18\x83\xc1\x90\xaf\x89\x2e\xae\x4b\x68\x28\x28\x34\x14\x6a\x8f\x17\x1f\x2f\x3d\x52\x0e\x33\x4f\xc3\xb8\x3b\xf0\x12\x30\x4c\xf6\xdb\xe7\x72\xcf\xfd\x97\xd6\x53\x50\xf0\x09\x81\x0a\x50\xf0\xdb\xfa\x18\x19\xb1\x92\x8f\x2f\x04\x13\x1b\xdf\x25\xf1\x89\xbb\x6b\x45\xab\x48\x5d\xc6\x93\xd6\x88\x13\x86\xd6\x56\x77\xc2\xed\xe5\x09\x27\x79\xc3\x53\x4c\xc6\x03\x78\x00\x9f\x62\xb2\xc5\x7b\xdd\xda\xa2\xe2\x75\xa2\x7f\xc9\xba\xcd\x53\x66\x8f\xf5\xf7\x5a\xef\xde\xf6\x56\xeb\xa5\xfa\x1b\x7b\x1e\xba\x79\x77\x52\x38\xf3\xd7\xa1\x30\x08\x86\x6b\xe0\x00\x3c\x85\x64\xc9\x5b\xe8\x51\x5b\x4c\x1c\x59\xce\x5b\x11\x58\xce\x92\x51\x7c\x34\x4b\x06\xbe\xfc\xf2\x40\x32\x9d\x95\xd4\xf2\xe9\x2c\x81\x23\xbc\xa5\x43\xea\xf8\x80\xc7\x0e\x8b\x5e\x31\x9a\x15\x2d\xea\xb1\xbc\xa4\xc7\x0e\xfa\x26\x2b\x75\x48\x1d\x1f\xb3\x84\xaa\x4c\x49\x28\x8d\xd7\x12\x78\x0b\x5f\x85\xd9\x78\x01\x67\xe3\x64\x14\xa6\xfb\x08\xb7\x7c\x70\x32\x08\x38\x5b\x8b\x17\xf0\x55\x9c\x8d\x6f\x91\xff\x52\xa2\xac\x06\x0f\x9e\x80\x7a\x05\xbf\x82\x27\xb6\xad\x1c\x26\x12\xbf\x3b\xb1\x96\x04\xf0\x66\x35\x76\x07\xf0\x04\xc6\xf0\xbd\x53\x8d\x7c\x14\xdf\xc4\xf7\x4e\x7d\x8f\x27\x07\x21\x89\xc5\x6e\x1a\x07\x78\x79\xe1\x00\xf1\xb9\x5e\x41\x60\xb1\x95\x85\x38\x10\x18\xca\xef\x6b\x27\xc2\xeb\x5b\x90\xcf\xdf\xbc\x88\x49\x57\xc4\x17\xc6\x15\xc4\x0b\x8f\x1f\xd7\x3d\xd6\xc2\x60\xf0\x88\x36\xc2\x20\xf1\x70\x01\x55\x58\x5e\x50\x6e\xd2\xd4\xe6\xd6\xe6\xd5\x08\xd3\xdb\xc7\x97\xbc\x72\x9c\x89\xfe\xac\xf2\xeb\x2f\x35\x84\x7b\xc2\x5b\xb6\x48\x5b\xdc\x80\x66\x03\x02\xdc\xee\xf1\x56\xca\x76\x93\x54\xec\x3d\xde\xbd\x33\xe0\x99\xad\x76\x28\x82\x6a\x78\xf0\x23\x6b\xee\x94\xf6\x71\x78\xc3\x0b\xbe\x54\x60\x8d\x94\x46\x41\x3f\x1a\xc6\xe2\x35\xca\xd0\xbc\xa6\x7e\x8d\xd0\x70\xba\xe5\xac\x41\x03\xe3\xe1\x1a\x05\x72\x5a\x5a\x4f\x92\x78\x18\xc3\x12\x54\x73\x0b\x79\x02\x0b\xb1\x15\x03\xf0\x34\x85\x6a\x9c\x06\x15\x34\x8c\x85\xa2\xf2\x1a\x53\x4d\x49\xa5\x7b\x51\xa9\xb1\xb4\xb0\x94\x29\xa2\x0b\x33\x8b\x32\x4b\x32\x5b\xd6\xbb\xc1\x44\x2c\xa6\xa0\x80\x26\x8a\xa9\x3c\x39\xc0\x83\x9a\x64\x67\xe7\xe7\x66\x8b\x96\x28\x34\x51\x69\xd9\x99\xa9\x29\x1a\x5d\x8f\x6f\x1c\x5b\x5c\x5c\x50\x54\x2c\x48\x51\x60\xa2\xca\x8b\x4b\x2b\x2a\x35\x3a\xaa\x0b\xb2\x58\x12\xc4\xeb\xa8\xae\x55\x2c\x19\xf8\xdd\xcb\x75\xac\x40\xa4\xfb\xb8\x1a\x12\x61\x35\xbc\x42\xc3\x2a\x50\x82\x0c\xe6\xde\xed\xce\xca\x6d\x14\x70\xa3\x02\x95\xf9\xd4\x88\xb8\x37\xe7\x8b\x38\x0c\xe2\x14\x61\x98\x48\x61\xa0\xe5\x3e\xd9\xce\x82\xc9\x75\x39\x6b\x33\xb5\x36\x91\x25\x8a\xa2\x4c\x63\x56\x49\x96\x79\x55\xef\x2a\xb7\xd6\x88\x06\x53\xbb\x86\x70\x73\x97\x2e\x9d\x3b\x77\xe9\xbb\xd7\x61\x23\x4b\x86\xf2\x33\x78\x62\x60\x61\x1c\x4b\xda\x78\x6f\x9e\xac\x62\x95\xb4\xcd\xf6\x31\x51\x00\xcf\x5a\x4c\x16\x93\xdb\x63\x5e\xb2\x3a\xc9\x95\x35\x59\x1f\xb1\xa4\x56\x5b\x66\x2a\x2c\x2a\x13\x9b\xcb\x6b\x9a\xdb\x34\x84\xaa\xac\x2c\xad\xa9\xd5\x90\xef\x7f\x06\xa7\x4e\x78\x49\x0b\xed\x10\x8f\xb6\x5d\x5a\x38\x11\x87\xde\x04\xd5\x70\x31\xbb\x34\xdd\x98\x5e\xc0\xa4\xa7\xe7\x66\x65\x8a\xe4\x67\x16\x4d\x68\xea\x6b\xf1\x1a\xf0\xe6\x05\x68\xe2\xaf\x58\x47\x9e\x23\xf9\x7f\x1a\x8f\x97\x7c\xc8\x7f\xcd\x1b\x5a\x85\x40\x39\x4d\xc6\x58\x19\xb0\x40\x60\x3a\x2b\x10\xf9\x6c\x96\x70\x38\xc5\x3c\x08\x07\xd0\xa8\xc7\x85\x77\x5e\xbe\xf2\x6e\x55\x55\x59\x79\x71\x99\x7b\x69\x25\x55\x98\x40\xa7\xe5\x27\x27\x6b\x2c\x73\x70\x1a\xd2\x52\x88\x82\xdc\x61\xad\xd4\xf2\x06\x4f\xbc\x79\x30\xc5\xb2\x04\xac\x6c\x1b\x07\x92\xeb\x4b\xdf\x9d\x2b\x90\x36\xf6\x9b\x6f\xbe\x99\xfc\xff\x7f\x25\xd0\x11\xcb\x82\x9c\x25\x65\x39\x10\xc2\x13\x74\x43\x93\x22\x8d\x35\xab\xe9\x1f\x78\x34\x81\x1b\xdd\xcd\x13\xee\x1c\x38\x16\x19\xcb\x4a\x4a\x0a\xdc\xe1\x3a\x5d\x9c\x6f\xca\x2a\xca\x39\x8b\x8e\x6e\x52\xd4\x36\x7f\x1e\xaf\xd0\x73\x61\x1a\x45\xfa\xcc\x49\x77\xfb\xb0\x36\xc1\xef\x65\x56\xd7\x93\x3a\x96\x27\xe0\xc0\x2a\xfd\x79\x03\xea\x09\x78\xb1\x0e\x84\x6e\x66\x09\xdd\xc2\x93\xb3\xac\x6d\xfd\x9a\x4c\xe4\xe1\x25\x56\x20\xb6\x3e\xc2\xda\xec\x4c\xb0\x98\x27\x36\x13\xda\xa0\x26\xad\xa6\xda\x96\x3d\x9a\x3d\xf1\x2d\x11\x26\x01\xdf\xfc\x02\xd7\x41\x83\x64\xa7\xe9\x31\xd1\x16\x3b\x5c\x87\x0d\xf8\xe6\x2b\x82\x72\x84\xcf\xed\x47\xa6\xd2\x52\x93\xa9\x34\x33\xdd\xe7\xda\x6b\xb7\xad\x2e\x99\xc1\x83\x86\xc6\x32\x2c\x25\x8a\xfd\x3c\xa1\xf7\xf0\x84\xd3\xf5\xf8\x0e\x63\x51\x0d\xad\x2c\xa8\x97\xf1\x24\x8a\x95\x4c\xe4\x6a\x12\x4f\x1a\x41\x64\x49\x23\x9a\xe0\x3c\x6b\x67\x80\xf3\xac\x03\xf9\x7b\x51\xf7\x79\x37\x94\xf0\xdc\x68\x56\xe8\x35\xd9\x4c\xf6\x5f\x64\x2d\x26\x85\x55\x14\x06\x57\x3e\x29\x4e\x24\x2f\x54\x79\xf7\x69\xe2\x26\x4d\xac\x48\xb0\x63\x18\x4b\xf0\x08\xc6\x61\x1c\x1e\x21\xc9\x55\x31\x86\xe4\x64\x52\x9b\x59\x93\x52\x49\x6e\x5c\xbe\x7c\x83\x28\x24\x1e\xfa\x53\xd5\xc5\xa6\xca\x6a\x0d\xa8\x15\xe5\xd9\xe5\x19\x25\x42\x46\x49\x6a\x61\x7a\xae\x85\x20\xe3\x46\x20\x90\x15\x24\x8a\x2d\x35\x89\x10\xa5\xb0\x96\x4a\x78\x48\x5b\x0b\x24\xda\x74\x93\x91\x3e\x8b\x76\x3a\xb4\x96\x44\xaf\x88\xaf\x4e\xac\x93\x94\x3c\x51\x60\xd2\x1c\x2a\x29\x3b\x3d\x25\x49\x83\x6a\x45\x5a\x71\x5a\x59\x96\x90\x53\x52\x92\x57\xaa\x2d\x2a\x32\x14\x14\x89\xe4\xc6\x65\xff\x39\x04\x5d\x51\x39\x0a\x5d\x42\xc5\x41\x96\x49\xd4\x0e\xba\x4f\x78\x10\x2d\x6a\x4f\xfe\x21\x71\x48\xe0\xcd\x6a\x38\xc2\x4b\xce\xfc\x07\x3c\xaa\x49\x65\x79\x41\x61\x99\x58\x62\x2c\x30\x6a\x73\x15\xa9\xe9\xd9\xd9\x19\x69\x19\x29\xee\x16\xca\xd2\x46\x8d\x97\xbe\x56\x10\xd4\xcc\x61\xbf\x66\xc9\xd7\x56\x2a\x4d\xe5\xfb\x66\x54\x72\x6c\x7b\x3b\x08\x0c\xf4\xe3\x09\x94\xb3\xfb\xda\x49\x7c\x42\x66\x4a\x0a\xe1\xe0\x81\x42\x52\xc3\x64\x0a\x3f\x56\x58\xf4\xb0\x9b\xb3\x0c\x83\x99\x92\xed\x8f\x33\x29\x02\xfb\xc3\x6c\x7b\xfa\x1c\x74\x8c\xcc\x55\x27\xa5\x46\xf1\xa8\xd6\xf5\xc8\x74\x8c\x8c\x26\xc7\x9a\xda\x3a\xde\xb6\x72\x0d\x3f\xae\x29\xa5\x31\xb6\x52\x88\xad\x88\x2a\x88\x49\xcb\xcc\x49\xcd\x4a\xce\x64\x08\x7d\x0b\xae\xf5\xa9\x20\x74\x2f\xcd\x4a\x2b\x4e\xd7\x62\x94\x4d\xf1\x60\x8e\x38\x15\xbf\xa6\xc8\x7b\xd6\x11\x12\xc4\xf0\xca\xb6\x84\xe6\xa8\x72\x21\xb2\x7c\x47\x76\x5c\x2c\x49\xae\xac\xcd\xaa\xd1\xf6\x69\x8d\x21\x55\xbc\x1d\xf1\xe7\xfb\x76\xaa\x4e\xe2\x89\x62\xcf\xe2\x05\x95\x0b\xb4\x68\x87\x41\x2b\x71\x20\x0e\x84\xa0\x95\x60\x07\x76\x10\x74\x1e\x06\x8a\x84\x86\x2d\xf1\x28\x07\x27\x5c\xad\xc5\xd7\xd0\x13\xa7\x60\x2d\xd6\xc3\x4b\x38\x15\x42\x61\x26\x49\xae\x8c\x31\xa4\xa4\xb8\xaf\x59\x93\x92\x62\x88\xa9\x4c\x76\x27\xd8\x8e\xf1\xf0\x19\x2b\xc9\x59\xc2\x85\xfd\x1a\x36\x7c\x78\xd8\xaf\x61\xfb\x87\xef\xff\xf5\xd7\xfd\x14\xb1\x83\x5c\x9e\x18\x12\x78\xf2\x2a\xdb\x19\xb0\x9c\x27\x13\xf9\xd1\x2c\x89\xe2\x39\x1b\x1d\x9a\x60\x3d\x0b\xc1\xbc\xa4\x86\x6e\x07\x02\x8b\xf8\x7b\xe3\xc8\x7f\x5b\xd8\x37\x80\x9a\xf8\xfd\xcc\x93\x30\x1e\x0e\xb3\x64\x24\x0d\x0a\x9e\xe4\xb2\x30\x7c\x17\x59\xc2\x82\xda\x81\x70\xab\x79\xd2\x98\x6b\x65\xec\x10\x25\x79\x83\x49\xf2\x96\x94\xac\xfa\xdb\x6c\x96\x5c\x65\xad\x8d\x53\x47\x75\xcd\x64\xf1\x16\x41\xc7\x51\xa3\xd0\x11\x1d\x47\x3d\x00\x47\x70\x7c\xd0\x77\x1d\x85\x8e\x02\xe1\xf4\xac\xad\x3b\xbc\xc0\x12\xd8\x60\xe5\x5a\x3e\x6c\x8f\x75\x2c\x00\xdd\x74\x5d\x35\x51\xcc\x63\x89\xd9\xda\x38\xf7\x26\x51\x51\x6f\x75\xa5\xbc\xa7\x85\x31\x30\xf2\xce\xe1\xab\x62\xa9\xb1\xa4\xc8\x58\xc8\x10\xee\x47\x30\x53\x15\x45\x0d\x35\x95\x5a\xb3\x89\xae\x6c\x48\x48\x2d\x12\x7f\x44\x33\x45\x60\xdd\x3f\x0e\xff\x12\xc9\x89\x37\xf4\xf5\xb8\xb6\xfd\x57\xc4\x97\x07\x85\xb5\x15\x9d\x83\x28\xcc\x85\x8e\x6d\x02\x69\x8d\x30\x6c\x8c\x88\x20\x68\xd3\xf8\x4b\x8c\x25\x25\x22\xd1\x51\xbe\x34\x51\x7c\xc0\x92\x19\x2c\x7c\xce\x93\xd8\xb8\xec\x1d\xe5\x51\xee\x91\xe5\xcd\x09\x6d\x5a\xb2\x8c\xf7\x1b\xc6\x12\xc9\x85\x2f\x85\x87\x6c\x66\x4a\xa5\x48\x14\x7b\x9a\x9b\xf7\x08\x8f\xe9\x3d\xcd\x51\x3b\x45\xf2\x94\x35\x10\xee\x33\x9e\x26\x70\x04\xe2\x20\x0e\x8e\x10\xec\x50\x4c\x65\x89\x75\x60\x6d\xa5\x42\x02\x56\x3a\xc0\x39\x68\x95\xb8\xe6\x10\xc8\xe6\x45\x42\x35\x37\x57\x1f\x3a\xac\x21\x1c\x7c\xc4\xef\xdb\xd7\xde\xbe\x6f\x7b\xb0\x40\xbc\xf8\x1e\xbd\x62\x04\x4b\x4a\x0d\x25\xf9\xa5\xe2\xcb\x52\x2e\xfc\x1b\xfe\xa2\xaa\xaa\xaa\x6a\xeb\x34\xca\xf4\xcc\xcc\x74\x02\x27\x9e\xf9\xd2\x6f\x83\x27\x05\x39\xf4\xdb\xe8\x49\xf9\x0e\x84\x0e\x9a\xfc\x7d\x74\x1e\xa6\x01\x0f\x3c\x4c\x6b\x6b\x8a\x0e\x17\x88\x62\x0b\x2f\x40\x37\xdc\x67\xfd\x7c\xd8\xff\x92\x44\xd4\x3b\x09\x94\xf1\x60\x22\x60\x7a\xc0\x12\xf0\xe0\xfb\xc0\xa4\x95\xbf\xfe\xee\xd2\xb9\x02\x89\x7a\xb1\xcf\x9b\xa0\xd3\xef\x43\xc1\x89\x44\x44\x6c\x34\x44\xb4\x12\xcd\x04\x96\x18\x0c\x06\x83\x35\x25\x3d\xe1\x96\xe9\x37\xbd\x36\x6a\xcd\x07\x37\x3f\x3b\x7d\xf9\xfa\x57\x1f\x7b\x4f\x11\x2c\x7f\x91\xf5\x42\x44\x4c\xcc\xae\xb8\x88\xa7\x63\xdd\x2a\xaa\x2a\xab\xab\x2a\x98\xc6\x56\x32\x6c\xce\xac\x21\x9e\xdd\x33\x1f\x0b\xf7\x3f\xfc\xb8\x40\x5b\x5a\x56\x6e\x2c\xcf\x27\x43\x58\x49\xed\x4a\x8e\xe3\x13\xe9\xf9\xba\x5b\x42\x43\x6a\x74\x55\x94\x36\x2a\x3a\x39\x26\x55\x24\x1b\x05\xd5\xcf\xf7\x53\x37\x86\xb6\x1f\x17\xff\x3e\xe6\x47\x14\xe1\x35\x51\x2d\x69\x42\x6e\xa9\x29\xaf\x4c\x6b\x1d\x47\x10\x2b\x29\xcf\x03\xf1\x53\xe0\x2f\x81\x87\x83\x8e\x9a\x45\xd0\x9b\x4e\xcf\x2c\x35\xb5\xf0\xe0\x6d\x63\x6e\x04\xd4\xac\x03\x81\x43\x56\x1e\xab\x26\xb0\x82\x55\x46\xc2\x83\x3e\x09\xcc\x81\x98\xad\x30\x0e\xee\xf2\x50\xc9\x0b\x84\x9b\x4b\x63\xbc\x79\x04\x85\xff\xa2\x31\xbe\x77\x04\x35\x77\x20\x51\xe0\x40\xf4\x44\x05\xce\xb1\x62\xad\xde\xda\x95\x54\x5b\x39\x12\xfd\x23\x4f\x26\xf1\xa8\x27\xdc\x8f\x3c\x91\xba\xad\x6c\x9c\xf8\xb3\xd8\x41\x38\x38\xc2\x12\x8b\xfa\x65\xab\x00\x89\x71\x60\x65\xd4\x8a\xd9\x2c\xb9\xca\x8d\x61\x49\x8f\xb5\x76\xd1\x17\x83\xff\x29\x0e\xda\xda\x9c\xe2\x7f\xeb\xb9\x39\xa8\xe1\x09\xfd\xd9\xb5\x1d\x93\x44\xb8\x82\xd7\xb8\xd4\xbc\xf4\x8c\x54\x2d\xd1\xd7\xe9\x0f\xad\x15\x25\xb5\xc5\x44\xbd\x7e\xf6\xcb\x4d\x5f\x69\xc9\xa9\xe0\xc3\xeb\xd7\x07\x87\xac\x5b\xdf\x1e\x7c\xf2\x64\x7b\xfb\x49\xc1\xda\xce\xad\xfd\x10\x19\xcb\x47\xf1\x21\xac\xb5\xa4\x36\xc4\x5a\xe5\x7e\x54\x2b\xac\x18\x57\xc3\x17\x2c\xe9\x53\x4e\x65\xbd\x12\x78\xc4\xee\x23\x92\x33\xbb\x8f\xc0\x1a\x30\x90\xb4\xba\xfa\x9c\x06\x6d\x43\xbd\xb1\xbc\x4e\x94\xf4\x10\x45\x1c\xce\xa0\x82\x83\x31\x3c\xf9\x5b\x3d\x20\xdc\xe4\x89\xcf\x54\xb4\x5f\x85\x4a\x2d\x2a\xd1\xfe\xdc\xed\xa9\x62\x5f\xb1\xbe\xe7\x89\x62\x22\x9f\x94\x98\x9d\x9e\x2a\x58\x0e\x59\x66\x52\xe4\xaa\xb5\x61\x2f\x61\x39\x32\x71\xf6\xcd\x1f\xc8\x95\xce\xce\x2b\xc4\x24\x74\x14\x15\x2f\xda\x90\xcd\xac\xcf\x5e\x93\x6b\xd0\x10\xb8\xca\x8e\xbb\x47\x3c\xad\xa2\xdb\x24\x9e\xec\xa0\x07\x49\x93\x28\x70\x09\x45\xe5\x03\x74\xd5\x12\xdb\x04\xd7\x6d\xa2\x69\xe6\x49\x6e\x99\xd6\x68\x2c\x28\x30\x8a\x44\x67\xee\x4a\x65\xc9\x87\xbc\x48\xba\x59\x1d\xed\x4b\x0c\x70\x8f\x25\x79\x36\x9a\x25\x70\x92\xb7\xd2\x67\x8f\x09\xd5\x0a\x02\x1d\xd0\x8d\x1d\x0a\xc2\x59\xc7\x8e\x44\xf2\x91\x7c\xe0\x11\xa1\xe3\x92\x12\xe3\x45\xa2\xb8\xcf\x13\xb0\x56\x11\x89\xcf\x4a\x48\x49\x11\x6c\x83\x6c\x81\x4c\x14\x7a\xbb\x69\x82\x9e\xe0\x49\xe6\x5c\xf6\xbf\x41\x6c\xa4\xa3\x08\xd9\xb3\xf3\xb0\x00\x32\xfa\xf0\x9e\x3d\x87\x45\xb2\x1b\xb9\xea\x98\x42\x21\xa3\x2e\xad\x2e\xa5\x86\x21\x50\xd6\xd7\x43\x29\xc0\x8e\x25\x8a\xb9\xef\x2e\xbd\x2e\x80\x3a\x8e\x27\xd0\xc1\x9a\x4d\xbb\x59\x62\x28\xd7\xc2\xf8\x6a\x96\x8c\x63\xe1\x73\x96\x6c\x59\x88\xae\xbe\xc8\x6a\xb7\x86\x95\x54\x85\x8b\xa4\xa2\xa0\xa0\x69\xb7\xf6\x0b\xba\xac\x24\x23\x23\x5f\x24\xa3\x78\xf0\x0e\xe4\xc9\x15\x56\x29\xa9\x25\x35\xd1\xa1\x2f\x4d\xb4\x2b\xa3\x62\xc3\x42\xc4\xe0\x0d\x6f\xac\x1d\xae\x25\x14\x08\x3c\xf1\xb7\xb1\x23\x2a\xaa\xc5\x3a\x9a\x6f\x16\x09\x37\x35\x9f\xb2\xa8\x14\x55\xf1\xad\x09\x75\xa9\x24\x8b\xc9\xca\xca\xc8\x49\xd7\xa2\x9a\x8e\x4f\x22\xfe\x3c\x76\xd3\x43\x78\xc2\xe1\x00\x89\x82\x01\x34\x99\x64\x25\x63\x73\x14\x37\x9b\x25\xc3\x58\x8c\x22\x92\x9c\xb5\x0a\x9e\x04\xd4\x56\xb9\xce\x04\x6a\x88\x65\xc9\x01\x76\xe0\xcb\xdf\x3d\x23\x06\x45\xdf\x97\x40\x6c\x9f\xe4\xa4\xc0\x01\x8f\xbd\x60\x80\x40\x86\xf0\x71\x49\xd5\x75\xd6\xfa\x31\x11\x1d\xa6\x72\x64\x6d\xd0\x91\xd3\xa7\x8f\x58\xff\x41\x6b\x09\xa4\xf0\x92\xbd\x95\xe5\x58\xd9\x48\xb6\xad\xff\x40\x32\x62\x3c\xca\xd1\xe1\xd1\x38\x20\xa4\xf8\xaf\xab\xa5\x95\x62\x51\x61\x41\x61\x91\x86\x18\xc0\x24\xd9\xf1\x10\xcc\x13\x3b\xc3\x09\xde\xc1\x4a\x4c\x67\x59\x42\x77\x9d\xb2\x4a\xd2\x60\x92\xd4\x60\x22\xa8\x0e\xe3\x49\x81\x75\x9c\x4e\x6a\xb5\xb5\x35\x04\x4c\x74\x3b\x41\x43\x20\x2b\x92\xab\x86\xff\x7c\xc9\x24\x03\xa8\xef\xde\x35\xa0\x7a\x92\x96\x68\x0d\x0a\xa0\x41\x7e\xf6\xd4\x57\x22\x39\xca\x3a\x10\x85\x1f\x2f\x5c\x25\x66\x13\xfd\xf7\x2c\x4f\x4f\x83\xdd\x4f\x3a\xfa\x75\x07\x1d\x5d\x46\x2c\x6a\xc9\x44\xc5\x37\xa5\xef\xd9\xab\x21\x8c\xca\x49\xc6\xc8\x64\x2f\x7a\x47\x07\x62\xb6\xb6\x72\x02\xa3\x73\xa0\xca\x4a\xb0\xb6\xc3\x9c\x76\xe4\xb8\xad\x6b\xe9\x6b\xc7\x76\x24\xa7\x2c\xab\x44\x24\x56\xb6\x6e\x9b\x15\x23\x19\xe9\xb9\x59\x59\x04\xd4\xa8\xb6\x0e\x47\x9e\x91\xc3\xda\xc3\x87\x08\xc4\x43\x3b\x19\x49\xa7\x67\x12\xf4\x0a\x43\x0e\xed\x71\xac\x96\xe0\x10\xfc\x23\x0a\xdb\x34\xc9\x85\x04\xfa\xc1\x68\x70\x80\x5a\xe8\x47\xe0\x86\x15\x4b\x8a\x66\x5e\x20\xb8\x1a\x3d\x61\x10\xbc\x01\x7a\x22\xd7\xe1\x08\x2c\xd3\xc9\x3f\xa7\x09\xdd\xbe\xaf\xd4\x64\xda\x5e\x1a\x2c\x92\xbf\xb5\x5d\x43\x14\xc1\x7f\x37\xee\x82\xe3\x3c\x71\x31\xd8\xda\x3a\xdd\x4e\xac\x43\x78\x62\xe1\x2d\x3c\xc1\xc1\x30\x98\xc8\x64\x32\x99\x9d\xcc\x45\xe6\x20\xfb\xef\x0f\x23\x53\x58\x9d\x7f\xff\x5b\xc6\xfe\xc7\xe7\xf8\x1f\x9f\x03\x1d\x6c\x57\x2c\xa3\x64\x32\x79\x81\x7c\xa2\x4c\x26\xcb\xee\x73\xed\x23\x65\x32\xbb\x7c\xd9\xff\xf0\xd9\x19\x17\x11\x29\xf3\x95\x79\x3c\x93\xd1\xb2\x7f\xcb\x64\x32\x5a\x66\xd7\xf7\xfe\xbf\x3f\x1e\x32\x0f\x9b\xeb\xd0\xf7\xb7\x1b\xf4\xe2\x9e\x4e\xe6\x60\xf5\xd9\x0d\x92\xc9\xec\xe8\xff\x4a\xd0\xee\x1f\xb1\xff\x01\xfe\xff\xc2\x87\xed\xe7\x48\xd1\xc7\x15\xcc\x89\xff\xb7\x13\x96\xdb\xf5\xc8\x64\xb2\x58\x99\xaf\x8c\x92\x4d\x96\x79\xc8\xf6\xcb\xda\x65\x1d\xb2\xf7\x64\x5f\x0e\x1c\x34\x48\x18\xf4\xff\x63\xbd\xda\x62\xe3\xb8\xca\xf0\x37\xb3\x73\xad\x63\x9f\xa1\x34\xa5\x6a\x21\x4c\x21\x51\xd2\xa8\xd9\xdd\x44\xbd\x80\x15\x45\xeb\x36\x71\x1f\x28\xf6\xd6\x72\xab\xaa\xa2\x69\x36\xf6\x6c\xbc\x64\xbd\xb3\x9a\x9d\xb8\x32\x42\xd1\x88\x77\xa2\xbc\xf0\x02\x52\x14\xf1\xc4\x53\x14\xa1\x22\x2e\x0f\x25\x48\xbc\x55\x44\x11\x14\x4a\xa1\x98\x94\x5b\xb9\x9a\x73\x06\x02\x3c\x65\xd0\x9c\x39\x33\x7b\x66\xbc\x49\xfb\x50\x4b\xbf\xcf\x3f\xff\xfd\x7a\x66\xf6\x14\x9d\xa1\x7b\xe8\x31\xba\x40\x4f\xd2\x2e\xed\xd1\x01\x3d\x4f\x2f\xd0\x4b\xf4\x0a\xfd\x36\xbd\x4e\xb7\xe8\x36\xbd\xcd\x66\xd8\x1e\xb6\x9f\x1d\x60\x75\x76\x8c\x2d\xb0\x93\x6c\xc0\xce\xb3\x0b\xec\x12\xbb\xc2\x5e\x67\xd7\xd9\x16\xdb\x66\xb7\xe3\x99\x78\x4f\x7c\x2c\x5e\x88\x4f\xc6\x83\xf8\x7c\x7c\x21\xbe\x14\x5f\x89\x5f\x8f\xaf\xc7\x5b\xf1\xf6\xad\x74\x0e\xd2\x7e\x7d\xab\xe2\x19\xd4\xa1\x0f\xd3\x16\x6d\xd3\x53\xf4\x0c\xfd\x22\x1d\xd2\x88\x5e\xa4\x97\xe9\x55\x7a\x8d\xde\xa0\x37\x29\x65\x60\x0e\x73\xd9\x01\xf6\x08\x6b\xb2\x16\x6b\xb3\x53\x6c\xc8\x22\x76\x91\x5d\x66\x57\xd9\x35\x76\x83\xdd\x64\x34\x46\xec\xc4\x0f\xc7\xad\xb8\x1d\x9f\x8a\x87\x71\x14\x5f\x8c\x2f\xc7\x57\xe3\x6b\xf1\x8d\xf8\x66\xea\x39\x79\x17\x48\xbe\x90\x3c\x97\xcc\x25\xcd\xad\xf7\xb6\xbe\xb6\xb5\xe4\x4c\x3b\xbb\x9c\x7b\x1c\xdb\xb1\x1c\x13\x70\x34\xa7\xe6\xa8\x8e\xe2\x80\x24\xe4\x16\xf9\x37\xf9\x17\x89\x09\x23\x94\xfc\x73\xe6\x1d\xb2\x4d\xfe\x41\xfe\x4e\xfe\x46\xfe\x4a\xfe\x42\xfe\x4c\xde\x23\x7f\x22\x7f\x24\x7f\x20\xbf\x27\xbf\x23\xef\x92\x9b\xe4\xb7\xe4\x37\xe4\x1d\xf2\x6b\xf2\x2b\xf2\x36\xf9\x25\x79\x8b\xfc\x82\xfc\x9c\xbc\x49\x7e\x46\x7e\x3a\xf5\x1a\x1f\xab\x8d\xbb\x74\xe5\xe4\x87\xdd\xe6\xe2\xcf\xc0\x2e\xd4\x30\x05\x95\xc7\xa0\x29\x6f\xbc\xb5\xef\xcb\x3f\x79\x85\x1c\xbd\x85\x1a\x5f\x4a\xbc\xb1\x78\xb4\x99\x9e\x6f\x1e\x5e\xfb\x7e\x92\xdc\x4e\x6c\xc5\x50\xf8\x0e\xa9\xc2\x82\x02\xb1\x73\x76\x5a\xbf\xc4\x56\xaa\x4b\xa2\xbe\x56\x8b\x30\x54\xae\x01\x46\x84\x0d\x3d\x02\x34\xe0\x95\xd4\xfa\x24\x48\xf9\x02\x7f\x39\x5d\x48\x63\xfc\xcc\xf1\x14\xf4\xf4\x39\x2a\xf3\x4c\x60\x53\x8f\x30\xc8\x65\x8c\x5c\x47\xd8\x34\x22\x3c\x68\x88\x67\x33\xc2\x91\x5c\x66\x12\xa4\x7a\x5a\x66\xbb\x95\xca\xd5\xc4\x33\xf7\x1d\x8d\xed\x66\x31\x24\x89\x9e\xc7\x29\xc9\x68\x92\xff\x3b\xe5\x5a\x80\x88\x45\xc3\xf8\x94\xf3\x35\xcb\xb4\x2f\xe9\x72\xec\x12\xdf\x50\x79\x2c\x5f\xd7\x81\x97\xee\x94\xdb\x04\x68\x09\x3b\x8f\xa7\x60\x8e\xe9\xd3\x72\x3d\xf4\x68\x67\x9f\x4a\xbd\xc9\xce\x97\x38\x44\x52\xec\x59\xfd\x5a\x26\xbf\xfc\xcb\x35\xce\x73\x97\x7c\xa2\x16\x49\xb9\x8f\xfb\x50\xe4\x2a\x9f\xba\xa8\xb5\x3e\xe6\x3f\x9a\xce\x96\x21\xf5\x43\x8f\x4a\xfe\x5a\x06\x92\x44\x8e\xf9\x8e\x10\x61\xb7\x9c\xf7\x8e\x3e\x66\xf9\x39\xe2\xec\x4a\x75\xd1\xaa\xb3\x64\x02\xa4\x94\x43\x84\x87\xcc\xbc\xee\x02\x6c\x61\x53\x13\xbd\x54\x23\xb4\x54\x51\xc3\x9c\xa6\x55\xe2\x36\x81\x03\x72\x4c\x72\xed\xe4\x99\x31\xa5\x5a\x48\x7d\x6c\xc9\xf5\x29\x78\x51\xd6\x2b\x91\x57\x11\xa3\x06\x1c\xd2\x80\x69\x2d\xc2\xe7\x53\x50\x23\x1c\x52\xa3\xf1\x73\xee\x43\x13\xfb\x62\x94\xe7\xb7\x65\x54\x67\xba\x32\x3b\xd2\x6e\xe6\xbc\x96\xd8\xbf\x69\x33\xc2\xa1\x5c\x57\x97\x6a\x92\x9e\x6a\x06\xa7\x0d\x40\x4f\x21\x9f\x3d\x2d\x93\x9d\xd6\xcb\x7a\xee\xa4\xbe\x8b\x9a\xec\xca\xf7\x3e\xa7\x29\x51\xa9\xd6\x8f\xe7\x74\x4d\xda\xd5\xbb\x81\xd4\xb7\x43\xb5\xaf\x00\x5a\x4d\xdc\x5d\xe0\xe7\x67\xa4\x59\xfb\x64\x0a\x26\x32\x30\x72\x90\xee\x32\x03\x78\x68\xe7\x2c\x63\xaa\x9a\x87\xf0\x7b\xdc\x18\x7f\xec\xe4\xb5\x2c\x6a\x27\xe4\x8c\x42\x0f\x78\x54\x9c\x45\x5e\x26\x70\xd0\x40\x71\x07\xba\x66\x94\xed\x4d\x31\x2b\xc0\xee\x09\x3b\x53\xec\x6c\x2a\x63\x55\xee\xe2\xfc\x0e\xb0\x33\xf9\x75\xa3\x3a\xcf\x42\x36\xbf\x27\xcc\xff\xe0\x91\xea\x2e\x89\x38\xf3\x7b\x99\xe7\x65\xcb\x3a\xe3\xd3\xb1\xc6\x74\x37\xef\x87\xfd\xc1\xef\xc5\x14\xf6\xe7\x31\x8b\xf8\xd3\xf9\xb9\x57\xf2\x71\x5c\xc4\xf3\xd9\x94\x3e\x96\x4b\x12\x29\xe6\x63\x3a\xf0\xc0\x84\x3b\xa1\x0a\xe9\x07\xc6\xaa\x01\x3c\x2f\xe2\x3e\x28\xfc\x58\x26\xf0\x69\x5b\xc4\x5e\x05\x0b\x98\x49\x41\x8f\x26\xdb\xb7\x2a\x67\x5e\x5f\xa9\x0f\x1c\xd7\x81\x29\xab\x92\xbf\x55\xc1\xad\x2a\x2e\xfa\x2b\x9e\x3f\x6a\x48\x36\xc5\x8c\xe7\xfd\xaa\xdc\xf9\x49\x62\x49\x3c\xe1\xbf\xd8\x0d\x73\x82\x9e\x55\x89\xa1\x3a\x13\xd6\xff\xb0\x64\x8b\xe7\x49\x75\xca\x67\xdb\xaa\xcc\x40\xce\x37\xdf\x67\x36\xcc\x4a\x1c\xc5\x0c\x7c\xa7\xc4\x2b\xe6\x51\x07\x3c\xae\xfb\xbd\xb1\xfd\x2a\x08\x3b\xf7\xa7\xef\x5a\x13\xf8\xf8\x24\x19\x71\x87\xef\xb3\x26\xd3\x97\x2a\xf1\x9d\xb0\xcb\xb3\x5a\xcd\x6d\xef\xce\xbc\xb2\x5e\x98\xd9\x8e\x9c\xd5\x80\x03\x39\xbd\xfa\xde\x33\xf2\x79\x8f\xb0\xdf\xc6\x78\xc7\x65\x3f\x9c\x9f\x60\x5f\xfe\x0e\xd2\xcb\xf7\x03\x91\x67\xc4\x28\xbf\xfb\xf7\xd9\x65\x5f\xf7\x55\xe6\x6b\xc7\x6c\x48\xf4\x4f\xd8\x52\x5d\xaa\x60\x4e\x78\x87\x57\xeb\x69\xaa\xd2\xac\x47\x68\x9a\x79\xad\x22\xd4\xa5\x77\xfe\x5e\xf3\x7d\x3f\xa9\xdb\x50\x7f\xc4\x91\x8f\x29\x0f\x16\xdf\xc2\x8d\xe2\xc7\xa3\x82\x29\x34\x04\x5e\xc3\x47\x30\x2b\x70\x4d\xa2\xeb\xb8\x17\x9f\x13\xb8\x21\xd1\x4d\x3c\x87\x97\x05\x6e\x61\x17\xae\x08\xdc\xc6\x3d\xf8\x81\xc0\xa7\xb0\x1b\x3f\x16\xf8\x0c\xf6\xe0\xed\xf4\x17\xae\x66\xf3\x5f\x11\xff\x15\xb8\x82\xfb\x95\xe7\x05\xae\x62\x46\x39\x2b\xf0\x1a\x3e\xa5\x6c\x0a\x5c\x93\x64\x74\xec\x55\xbe\x21\x70\x43\xa2\x9b\xf8\xa6\xf2\x43\x81\x5b\x78\x40\xed\x08\xdc\xc6\x7d\x6a\x6e\x67\x0a\x07\xd5\xaf\x0a\x7c\x06\x47\xd5\xef\x3e\xed\x0f\x37\x83\xde\x99\xb5\xd0\x3d\xde\xd9\xf0\xdc\x67\x3a\x83\xd5\x4d\xf7\x48\xf3\xf0\x13\x75\x77\xae\xdf\x77\x39\x6b\xe4\x06\xde\xc8\x0b\x36\xbc\xd5\xfa\xbc\x3f\x08\xe7\x5e\xf5\x46\xfe\xba\x37\xbf\xb8\xb0\xfc\xec\xdc\x53\xb3\x8b\xcb\xf3\x27\x5e\x6c\x2f\x2e\x2d\xbf\xe0\x05\xa3\x9e\x3f\x70\x1f\xab\x3f\x59\x6f\x72\x1b\xed\xbe\xd7\x19\x79\x6e\xe0\x75\xbd\xc0\x0d\x7d\x37\x5c\xf3\xdc\xb1\xc3\x91\xb7\x12\xa6\xf2\x5d\x3f\xe0\x9c\xae\x3f\x08\xdd\x30\xe8\xac\x7a\xeb\x9d\xe0\xac\xdb\x09\xc3\xa0\x77\xfa\x1c\x17\x19\xf8\x61\x6f\xc5\x1b\xd5\xe7\xfd\x20\x74\x85\xff\x71\xbc\x6b\x61\x38\x9c\x6d\x34\x52\xfd\x4e\xc6\xab\xf7\xfc\x89\xc4\x46\xbf\xb7\xe2\x0d\x46\x5e\x03\x4f\xc3\xc7\x10\x9b\x08\xd0\xc3\x19\xac\x21\x84\x8b\xe3\xe8\x60\x03\x1e\x5c\x3c\x83\x0e\x06\x58\xc5\x26\x5c\x1c\x41\x13\x87\xf1\x04\xea\x70\x31\x87\x3e\xfa\x70\x25\xad\x11\x7f\xf2\x30\x82\x87\x80\x6b\xaf\xa2\x8e\x79\xf8\x18\x20\xc4\x1c\x5e\xe5\x3c\x1f\xeb\xf0\xb0\x04\x0f\x67\x70\x0e\x7d\x74\x10\x60\x1e\x8b\x58\xc0\x32\x9e\xc5\x1c\x9e\xc2\x2c\x16\xb1\x8c\x79\x9c\xc0\x8b\x68\x63\x11\x4b\x58\xc6\x0b\xdc\xe6\x08\x3d\x6e\xcd\xc5\x63\xa8\xe3\x49\xd4\xd1\x94\xa2\x6a\xa3\x0f\x0f\x1d\xee\x3f\x8b\xa4\xcb\xb5\x5c\x84\xf0\xf9\xff\x35\xce\x99\x94\x6f\xaa\xb3\x82\xb0\xb0\xdf\x85\x2f\x34\x33\x9d\xae\xc8\x22\xa5\x04\xe8\x60\x15\x1e\xd6\x79\xec\x67\xe1\xa2\x83\x90\xd3\x7b\x38\x8d\x73\x92\x95\x01\x7c\xfe\xb4\xc2\x33\xcf\x6a\x11\x70\x2b\xe5\x6a\x4c\xaa\xf6\x1a\xb7\x39\xc4\x2c\x1a\x68\x14\xfe\x3b\x25\xbd\x3a\xf7\xf4\xc1\x25\x1b\xe8\x8b\x68\x06\x3c\xe3\x06\xc4\x87\xd8\x5d\xfe\xfe\x1f\x00\x00\xff\xff\x31\xa1\x82\xc2\x98\x0e\x02\x00") - -func uiAppLibFontAwesome470FontsFontawesomeOtfBytes() ([]byte, error) { - return bindataRead( - _uiAppLibFontAwesome470FontsFontawesomeOtf, - "ui/app/lib/font-awesome-4.7.0/fonts/FontAwesome.otf", - ) -} - -func uiAppLibFontAwesome470FontsFontawesomeOtf() (*asset, error) { - bytes, err := uiAppLibFontAwesome470FontsFontawesomeOtfBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "ui/app/lib/font-awesome-4.7.0/fonts/FontAwesome.otf", size: 134808, mode: os.FileMode(420), modTime: time.Unix(1, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -var _uiAppLibFontAwesome470FontsFontawesomeWebfontEot = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\xbd\x0b\x7c\x54\xd5\xb5\x3f\xfe\x5d\xfb\xbc\x66\x26\xf3\x3e\xf3\x48\x26\x93\x64\x9e\x67\x02\x89\x01\xe6\x19\x79\x24\x23\x22\xaf\x04\x44\xa5\x8a\x88\x18\x29\x28\x0a\x28\x2a\x08\x52\x1f\xc7\x4a\x2d\x2a\x55\x44\xb4\xd4\x5a\x1b\x9f\x85\x7b\xad\xe5\xb6\xda\xab\x2d\x7a\xa7\x2f\x6b\x5b\xb5\xb6\x72\xad\xb5\xb6\x37\x6d\xb5\xf5\x56\xf4\x06\x6a\xbd\x0a\x99\x93\xff\xe7\x9c\x33\x93\x4c\x02\x68\x7b\xef\xef\xf7\xfb\xfc\xe7\x93\x73\xce\x7e\xef\xb5\xd7\x5e\x7b\xef\xb5\xd6\x5e\x7b\xe7\xb2\xcf\x33\x3c\x76\x33\x03\x81\x61\xec\x8f\xb0\x83\xf4\x6f\xef\x22\x1c\x13\x63\xfe\xce\xdd\xfc\xf3\x1d\xe3\xe3\x80\x00\x66\xe3\x72\x5c\x86\x0d\x38\x05\x9b\xb0\x0a\x57\xe1\x72\xac\xc3\x2a\x00\x4e\x9c\x89\x55\xb8\x18\x1b\xb1\x16\x17\xe2\x4a\x00\x09\x9c\x8d\x55\xb8\x12\x57\xe1\x12\x23\x4f\x04\x59\x74\xa0\x80\x0e\x4c\x46\x04\x69\x4c\xc6\x14\xe4\x3f\xb6\xcc\x0a\x38\x0e\xa8\xe0\xb0\x68\xf6\xec\xc5\x0b\xd6\x3c\x3b\xe7\x69\xb0\x9b\x75\xc8\xc2\x73\x66\x9d\x36\x9b\x0d\x82\x07\xbb\x79\x3d\x80\xc8\xe9\x67\x4d\x4a\x6f\x4b\x6f\x29\x02\xb4\x04\x40\xdf\xa7\xd7\x5d\xb8\xde\xf6\x6f\x53\x6f\x00\xec\x7b\x00\x76\xf8\xe2\x0b\xaf\x5a\x3f\x3c\x0c\x0e\xec\xe6\xd5\x00\x2c\x17\xaf\xbd\xe6\xa2\x3b\xfe\xfb\xf1\x05\x40\xe8\x31\xb0\xde\xfd\xab\x57\x5d\xb8\xd2\x7d\xcb\x5b\x27\x01\x78\x03\x40\x7e\xf5\xea\x55\x17\xba\x38\xdb\x93\x00\xf9\xf4\xe6\xac\x5e\xb7\x61\xf3\x69\xd7\xd4\x7f\x0e\xa0\xa7\x00\xdb\xe0\xda\xcb\x3f\x7d\x21\xfb\xdb\x83\xcb\x00\xd7\x7d\x40\x9d\x7b\xdd\x85\x9b\xd7\x73\xed\x2c\x0c\x50\xa7\x0e\xcf\x65\x17\xae\x5b\xf5\xc7\x2f\xde\xf6\x18\xd8\xc5\xab\x01\xfe\xe6\xf5\x97\x5f\xb5\xe1\x1b\x77\x7c\xf9\x01\xb0\x35\x83\x40\x68\xa3\xd1\x36\x9e\x7e\xb6\xe3\xe7\x9b\xcf\xbd\xc0\x35\xfd\x6f\xa8\x93\x8c\x26\x1f\xc8\xbc\x98\xae\x7e\x87\x87\x87\x61\x25\x51\xf7\x5a\xc0\x2a\x9d\x43\x80\x88\x61\x00\x56\x0c\x0f\x0f\x0f\x5b\x69\xa4\xd3\x2a\x3f\xf6\xa4\x1e\xc2\x7e\xc0\x1a\x90\x32\x03\x8c\x5c\x7a\xaa\x62\x25\x09\x27\x5e\x42\x3b\x20\x00\xfc\x76\x3e\x03\xe0\x66\xf3\xcb\xae\x02\xe8\xd6\x63\xfb\x7d\xf4\xb7\xfe\x9a\x2b\xaf\x42\x11\x91\xbf\x55\x60\x10\xcd\xca\x6b\x21\x88\x80\x38\x15\xeb\x8d\x8a\x3f\x05\x50\x09\xd0\x5b\xf6\x77\x3c\xe7\xeb\x2d\x15\xd5\xd1\x30\xdd\xad\x3f\x82\xee\x57\xc7\xc6\x49\xc0\x35\x82\x8a\xcb\xaa\x69\xc4\x6a\x1e\x00\x82\x19\x16\x12\x2b\x7e\x49\x45\xba\x9a\xe6\x78\x8f\x9e\x8f\x37\xcb\x2e\xea\xe9\xb8\x8a\xdf\xa8\x5b\x1d\x2d\xb7\x02\x83\x4d\xa8\xc2\x59\x93\x86\xaf\xa9\xff\x13\xdb\x5a\x81\x85\xc7\xe8\xb7\xb6\xbd\xd2\xd8\xb0\x2d\x42\x2d\xec\x35\xf1\x22\x03\x09\xc0\xbd\x02\xb0\xf4\x44\x6d\x3b\xce\x53\xac\x94\x93\xd3\x1f\x69\x34\xdc\x21\xa8\x23\xb8\xdb\x52\x8b\x1b\x61\x2c\xde\xdd\xc2\xb8\xbe\xa8\xa4\x5b\x6a\x3c\x6a\x4d\x3b\x4c\x5c\x16\x25\x83\x80\xc7\xe2\xbb\x8a\x87\x9a\xfa\xc1\xa9\x35\x78\x18\xed\x93\x91\x76\xd7\x7e\xab\xb0\x0a\xa3\xf1\xed\x3c\x70\x81\x58\xd3\x37\x82\x3a\xa6\x3e\xbd\xdd\xac\x16\xe6\x13\x3e\x2a\xfc\x95\x76\x0b\xe3\xfa\xde\x5d\xf9\x5e\x25\x01\x54\x49\xc3\x8f\xa7\x25\x09\x70\x8d\x81\x5b\x45\xa3\x54\xc5\x7b\xe5\xb1\x56\xca\xe4\x2b\x7d\xc9\x54\x14\x59\x05\x6f\xd5\x30\x7e\x1c\xac\x12\xd0\x5a\x4b\x47\x9c\x6a\xc2\x30\x9e\x66\xa4\x9a\xf6\xd7\xf4\x5d\xb1\x16\x27\x23\x71\xaa\xd9\x3f\x95\x76\x8d\xc0\xc8\x03\x27\xf1\x80\x83\x57\xb1\x40\x7f\x98\x8a\x93\x98\x3a\xea\xaf\xd6\xc1\x57\xc6\x8b\x38\x96\x7e\x8b\xe2\x78\x9a\x1e\x47\x2f\x35\x63\xb3\x1a\x57\xac\x8c\x3f\x87\xa4\xe2\xa4\x4a\x5e\x26\xa8\x60\x55\x9c\x54\xbe\x7d\x3a\x9e\x98\x8a\x15\x22\x20\xe8\x8f\xa4\x82\xc4\x0a\x2c\x82\x0a\x47\x75\x7c\x0a\x2a\x38\x51\x45\xe2\x78\xfd\x5d\xc1\x8b\xbd\x3a\xf6\xab\x61\xa4\x8e\xc1\x77\xbe\x1a\xce\x03\x9c\xfe\x7c\xd2\xf8\xaa\xe9\xbb\x2c\xf7\x59\x80\xe7\xc0\x0b\xd5\x71\x04\x74\xd6\xd0\x58\x4c\x7f\x24\x98\x8f\x58\x7d\x6a\xe6\x33\x11\x68\xd4\x69\x70\x1c\x0d\xd7\x8d\x6f\x47\xa5\xde\x59\xc6\x18\x02\x38\xfd\xa9\xe0\xb3\x3a\x9e\xab\xe9\x46\xf2\x0a\x40\x7b\xe5\x3b\x32\x0f\x49\x95\xb0\x4a\x3f\x44\x24\x75\x78\xb8\x76\x4e\x15\x00\xff\x71\xc6\xca\xc8\x58\xd5\xd3\x58\xc6\xcd\xc7\xd5\xb1\x6f\x35\xd3\xaf\x13\xc7\xd3\x74\x25\x6d\x75\x7e\x90\x3e\xc0\x84\xf1\xe3\xa9\x02\x67\x75\x6e\x36\xda\x65\xad\xcd\x33\xfa\x75\x5b\x46\xc3\x23\xd5\xfe\xb0\xfe\xfd\x73\xa3\xfe\xa4\xaa\x30\x57\xe0\x8f\x48\x80\x5c\x53\xc7\xac\x0a\x3c\x27\x4b\x80\xb7\x26\x5d\x2d\xcc\x5d\x02\x50\x7f\x9c\x79\x61\xfc\xd3\x20\x01\x2b\x45\xe0\xdc\x0a\xdc\x13\x2b\xe5\x58\x25\x20\x65\xad\xc0\x3e\xfe\xb1\x00\x4e\xfd\x11\xd4\xe3\x97\x6f\x19\xf7\xad\xe2\xb7\xa6\x1f\x0c\xb7\x00\xd4\x59\xc6\xb5\xdf\x32\xce\x6d\x19\xef\xae\xf4\x6f\xc5\x2f\x8b\x35\x65\x56\x68\x9c\x55\xe9\xaa\x66\xbe\x65\xfa\x18\xb5\x00\x62\x25\x8e\x59\x60\x8e\x0b\x61\x1c\xfe\x84\x9a\xb2\x2c\xe3\x60\x18\x4f\x13\x96\x0f\xb1\xd8\x5a\xf1\x1f\x0f\x4f\x55\xda\xb6\x8c\xa3\x81\x6a\xbc\xf4\x09\xb4\x21\x8d\x83\x63\x84\x06\x9e\x1c\x13\x37\x42\x8f\x02\x70\x91\x91\xf7\xa9\xd1\xf2\x47\xda\x3f\xb6\x4f\x02\x22\xe0\x94\x80\xa6\xe3\xd1\x45\x65\x1e\x4f\x5a\x8e\x1f\x7e\xe6\x38\xf8\x4e\xb3\x8e\xa5\xd5\xf1\x6d\x4b\x1c\xaf\x5d\x95\xb2\xa3\x22\xb0\x86\x07\x5a\x2b\xe1\xdc\x78\x1e\x46\xac\xd2\xbb\x6a\xd0\x23\x57\x1d\xe3\x95\xf2\x47\xd2\x0b\xc3\x48\x8a\x95\xf5\x48\x18\x3b\x3f\xb8\x6a\x69\x44\x1c\xbb\xe6\x27\xad\x63\xeb\xf2\x8f\xa3\xaf\x63\x68\xa3\x26\xbc\xc9\x5a\x83\x97\xf1\x4f\x0d\x6f\x41\xe3\xc7\xc5\xc8\xc3\x6a\x68\x5d\xc5\x64\x1d\xe7\x15\x18\x27\xd5\xf0\x28\x8a\xf4\x71\x2c\x71\x85\xa3\xae\x3c\xe1\x0a\x43\x7c\x10\x9c\xe1\x0a\x83\xa7\x97\x75\xc6\x19\x45\x08\x86\xe8\xb3\x17\x8f\xe3\x09\x3c\x87\xd7\xa2\xb1\x58\x73\xac\x6f\xd0\x39\xd8\x3c\xd8\x35\xb8\x70\x70\xf9\xe0\x65\x83\xd7\x0f\xde\x3e\x78\xff\xe0\xe3\x83\xdf\x1c\x7c\x69\xf0\x77\x83\xef\x0d\x6a\x87\x9c\x87\x9a\x0f\x75\x1c\xea\x3a\xb4\xf0\xd0\xf2\x43\x97\x1d\xba\xfe\xd0\xed\x87\xee\x3f\xf4\xf8\xa1\x67\x0f\xbd\x74\xe8\x77\x87\xde\x3b\xa4\x1d\x76\x1e\x6e\x3e\xdc\x75\x78\xe1\xe1\xe5\x87\x2f\x3b\x7c\xfd\xe1\xdb\x0f\xdf\x7f\xf8\xf1\xc3\xcf\x1e\x7e\xe9\xf0\xef\x0e\xbf\xf7\x37\x0c\x0f\x1b\xfc\xf8\x9e\x71\x35\x62\xd0\x3d\x18\x1d\x2c\x0e\x2e\x1a\xec\x1b\x5c\x3f\xa8\x0e\xee\x18\xec\x1f\xdc\x37\x58\x1a\x7c\x79\x70\x60\x70\xf0\x10\x0e\xb9\x0f\x45\x0e\x4d\x3e\x54\x3c\xb4\xe8\x50\xdf\xa1\xf5\x87\xd4\x43\x3b\x0e\xf5\x1f\xda\x77\xa8\x74\xe8\xe5\x43\x03\x87\x06\x0f\xe3\xb0\xfb\x70\xf4\x70\xf1\xf0\xa2\xc3\x7d\x87\xd7\x1f\x56\x0f\xef\x38\xdc\x7f\x78\xdf\xe1\xd2\xe1\x97\x0f\x0f\xe8\x35\x0e\xff\x71\x78\xd9\xf0\x92\xe1\xb3\x86\x67\x0e\x4f\xf9\xdd\xdb\xbf\x7d\xf7\xb7\x8f\xb9\x1d\x6e\xbb\xdb\xe6\xb6\xba\x2d\x6e\xc9\x2d\xba\x05\x37\xef\xe6\xdc\xcc\xf5\x37\xd7\xfb\xae\xbf\xba\x0e\xbb\x0e\xb9\x06\x5d\xff\xe5\x7a\xcf\xf5\xae\xeb\xa0\xeb\x1d\xd7\x5f\x5c\xff\xe9\x7a\xdb\xf5\x67\xd7\x9f\x5c\x6f\xb9\xde\x74\xfd\xd1\xf5\x07\xd7\xef\x5d\x03\xae\xdf\xb9\x7e\xeb\x7a\xc3\xf5\x1b\xd7\xeb\xae\x5f\xbb\x5e\x73\xfd\xca\xf5\xaa\xeb\xdf\x5d\x07\x5c\xaf\x38\xbe\x3f\x5e\xf6\xf9\x7f\xf1\xd3\x05\xb2\x6a\xb5\xc4\x2a\xf2\xd5\x98\x04\x26\x29\xfc\xff\xe1\x27\x0a\x36\x89\xb7\x5b\xac\x75\xff\xb7\x2a\x68\xff\x1f\x3c\x3b\x4c\x99\x9a\x76\x03\x6c\x03\xc0\x5e\x06\xb8\x5e\x80\x1b\x04\xf8\xc5\x80\x98\x00\xc4\x01\xc0\xb2\x16\xb0\x6e\x06\xac\x2f\x03\xb6\xc5\x40\x5d\x2b\x50\x77\x00\xb0\x6f\x05\x1c\x2b\x01\xe7\x1e\xc0\x75\x00\x70\x6f\x05\x3c\x00\x3c\xf7\x01\xde\xb5\x80\xdc\x0e\xc8\xaf\x01\x3e\x15\xf0\x0d\x01\xfe\x1d\x40\x20\x0b\x04\xdd\x40\xfd\x4a\xa0\xfe\x05\xa0\x61\x3d\x10\x9a\x0b\x84\x76\x01\x8d\x09\x20\xbc\x12\x68\x6a\x07\x9a\x2d\x40\xf3\x06\xa0\xa5\x15\x88\x6c\x07\x22\x83\x40\xb4\x1f\x88\x4d\x06\xe2\x11\x20\xd1\x0e\x24\x06\x00\x65\x16\x90\x7a\x13\x68\xbd\x0f\x98\xb0\x18\x98\xa8\x2f\xdd\xfb\x81\x76\x37\xd0\xfe\x3e\x70\xd2\x6b\x40\x47\x11\xe8\x78\x0d\x98\xd4\x07\x4c\xda\x0f\x4c\xf6\x01\x93\x1f\x06\xa6\xec\x02\xd2\x3b\x80\xcc\x4a\x20\x9b\x05\xb2\xbb\x80\x5c\x04\xc8\xa9\x40\xee\x29\x20\x1f\x01\xf2\xcb\x80\xfc\x7e\xa0\x30\x17\x28\xec\x01\x3a\xed\x40\x67\x1f\xd0\xf9\x04\x70\x72\x2f\x70\xf2\x13\xc0\xd4\xd5\xc0\xd4\x83\xc0\xb4\x12\x30\x7d\x3d\x30\x63\x3d\xd0\x35\x1d\xe8\x7a\x13\xe8\x5e\x0d\x74\xbf\x06\x14\xe7\x02\xc5\xfd\xc0\x29\x93\x81\x53\x9e\x02\x66\x2e\x01\x66\x7e\x08\x9c\xba\x12\x38\xf5\x3e\x60\x56\x2f\x30\xeb\x4d\xe0\xb4\xa7\x80\xd9\xf7\x01\x73\x26\x03\x73\xde\x00\xe6\x1e\x04\xe6\x6d\x07\xe6\x77\x02\x3d\x8f\x01\xbd\x6f\x02\x0b\x56\x02\x0b\xdb\x81\x85\x2a\xb0\xf0\x00\x70\xfa\x3e\x60\x51\x1f\xb0\x68\x0f\x70\x46\x16\x38\xa3\x1f\x38\xd3\x0e\x9c\xb9\x16\x38\xab\x1d\x38\x6b\x37\xb0\xb8\x0f\xf8\xd4\x64\xe0\x9c\x41\x60\xc9\x1b\xc0\x52\x0b\x70\x5e\x11\x38\x6f\x3b\xb0\x6c\x3a\xb0\xec\x43\xe0\xfc\xdd\xc0\xf2\x56\x60\xf9\x9b\xc0\x05\xfd\x40\xdf\x7a\x60\x45\x3b\xb0\xe2\x7d\x60\x25\x0f\xac\x3c\x08\xac\x5a\x04\xac\x7a\x19\xb8\xe8\x87\xc0\xc5\x7d\xc0\xc5\x7b\x80\x4b\x7a\x81\x4b\x4a\xc0\xa5\xb3\x80\x35\x76\x60\xcd\x01\x60\xad\x0a\xac\x2b\x02\x97\xb5\x03\x97\xf7\x02\xeb\xb7\x02\x57\x3c\x0c\x5c\xf9\x06\x70\xd5\x66\x60\x83\x1b\xd8\xb0\x07\xd8\x38\x0b\xf8\x4c\x1f\x70\x2d\x80\x6b\xf7\x03\xd7\xb9\x81\xeb\x1e\x06\xae\xdf\x06\xdc\xb0\x0b\x50\xf7\x03\x37\xd6\x03\x37\x6e\x07\x6e\x9a\x0b\x6c\xf5\x01\x5b\x0f\x00\x9f\xdb\x03\x7c\xee\x4d\xe0\xe6\xb5\xc0\xe7\x8b\xc0\xb6\xdd\xc0\x2d\x25\xe0\x36\x37\xb0\xfd\x79\xe0\x0b\xdb\x81\xdb\xd7\x02\x77\xcc\x05\x76\x44\x80\x1d\x25\xe0\xce\xc5\xc0\x4e\x3b\xb0\x73\x2e\xb0\x73\x2b\xb0\xb3\x04\xec\x1c\x02\xee\xea\x03\xee\x7a\x1e\xd8\xc5\x03\xbb\x8a\xc0\xae\x41\xe0\x6e\x15\xb8\x27\x01\x7c\x71\x19\xb0\x7b\x09\xf0\xa5\x30\x70\xef\x2c\xe0\xde\xa7\x80\x2f\xef\x06\xee\xeb\x07\xbe\xb2\x18\xb8\x7f\x09\x70\xff\x87\xc0\x57\xef\x03\xfa\x67\x01\x0f\x2c\x02\x1e\x6c\x07\x1e\x7c\x18\x78\xa8\x13\x78\x68\x0f\xf0\xf0\x4a\xe0\x91\x65\xc0\x9e\x1d\xc0\x3f\x5b\x80\xc7\xc2\xc0\x63\x07\x81\xaf\xef\x00\xbe\xfe\x36\xf0\xb8\x0a\x7c\xa3\x1e\xf8\xc6\x3e\x60\xdf\x5c\x60\xdf\x00\xf0\x2f\x9b\x81\x7f\x79\x01\xf8\x66\x04\xf8\xe6\x06\xe0\x9b\xcf\x03\xdf\x5a\x02\x7c\xeb\x7d\xe0\x89\xf5\xc0\x93\x00\x9e\x5c\x09\x7c\x3b\x0c\x7c\xfb\x00\xf0\xaf\x4f\x00\xff\x3a\x08\x3c\xb5\x19\x78\x7a\x03\xf0\xf4\x87\xc0\x77\x5e\x18\x7d\xbe\xbb\x07\xd8\xbf\x15\x78\xa6\x08\x3c\xcb\x03\xff\xf6\x3c\x50\xfa\x21\xf0\x7d\x3b\xf0\xfd\xed\xc0\x0f\x96\x01\x3f\x8c\x00\x3f\xdc\x0f\xfc\xc8\x0d\xfc\xe8\x29\xe0\xb9\x5d\xc0\xf3\x93\x81\xe7\x07\x80\x9f\xac\x04\x7e\xf2\x02\xf0\xd3\x3d\xc0\xcf\x54\xe0\x67\x03\xc0\x0b\xef\x03\x2f\xee\x02\x5e\xda\x0c\xbc\xf4\x36\xf0\xf3\x7d\xc0\xcb\xdb\x81\x5f\xb4\x03\xbf\xd8\x06\xfc\xd2\x02\xfc\x72\x1b\xf0\x8a\x1d\x78\x65\x3b\xf0\xca\x41\xe0\x40\x27\xf0\xef\xed\xc0\xbf\xdf\x07\xbc\xda\x07\xbc\xfa\x36\xf0\xab\xb5\xc0\x6b\x73\x81\xd7\x9e\x00\x7e\xdd\x07\xfc\xfa\x87\xc0\xeb\x8b\x81\xd7\x9f\x02\x7e\x53\x0f\xfc\x66\x17\xf0\x46\x11\x78\xe3\x79\xe0\xb7\x6b\x81\xdf\x0e\x02\xbf\xdb\x0a\xfc\x47\x3d\xf0\x1f\x8f\x01\x03\xfb\x81\xdf\xaf\x05\xfe\xb0\x1e\xf8\x63\x04\xf8\xe3\x9b\xc0\x9b\x2a\xf0\xd6\xf3\xc0\x9f\x4a\xc0\x9f\xeb\x81\x3f\x1f\x04\xde\x7e\x13\xf8\xcf\xd7\x80\xbf\xbc\x06\xbc\xf3\x1a\x70\xf0\x00\xf0\xee\xcb\xc0\x7b\x6f\x00\xff\xf5\x26\x70\x98\x07\xfe\xfa\x3e\xf0\xbe\x0a\xfc\x2d\x0b\x7c\xe0\x06\x3e\xb8\x0f\xf8\xef\x7a\xe0\xc3\x25\xc0\x87\x25\xe0\xa3\x04\x70\x64\x2d\x70\x74\x3f\x30\xd4\x0a\x0c\x3d\x05\x94\xed\x40\xb9\x0f\x28\x3f\x01\x68\x16\x40\x7b\x0a\x18\xb6\x80\xe0\x03\x09\x4f\x80\xc4\xf7\x41\xd2\x87\x20\xcb\xcb\x20\xeb\x4a\x90\xcd\x0d\xb2\xed\x06\xd5\xd5\x83\xec\x3c\xc8\xfe\x30\xc8\xd1\x0e\x72\x02\xe4\xda\x06\xf2\xb4\x83\x3c\xfd\x20\xef\x0b\x20\xb9\x13\x24\xbf\x09\xf2\xed\x00\xf9\x5b\x41\xfe\x87\x41\x81\x25\xa0\xc0\x10\x28\x58\x02\xd5\x6f\x05\x35\x6c\x06\x85\xae\x05\x35\x2e\x06\x85\x0f\x80\x9a\x8a\xa0\xa6\x03\xa0\xe6\x1d\xa0\x16\x1e\xd4\x72\x2d\x28\xf2\x30\x28\x5a\x02\xc5\x36\x83\xe2\x16\x50\x7c\x2d\x28\xc1\x83\x12\x2f\x80\x52\xab\x41\xad\x6f\x83\x26\xf6\x82\xda\x17\x83\x3a\x7a\x41\x53\x36\x80\xa6\xbc\x0f\x4a\x0f\x80\x32\x93\x41\x99\x7d\xa0\xec\x1e\x50\x6e\x03\x28\xbf\x18\x54\x48\x80\x3a\xed\xa0\x93\xe7\x82\xa6\xba\x41\x53\x07\x41\xd3\x76\x80\xa6\x6f\x05\x4d\x7f\x0d\xd4\xbd\x04\x54\x0c\x83\x4e\x29\x81\x66\x3e\x0f\x3a\xf5\x79\xd0\xac\xfb\x40\xa7\xcd\x05\xcd\x9e\x0b\x9a\xb3\x1e\x34\x77\x2e\x68\xde\x66\xd0\xfc\x08\x68\xfe\x9b\xa0\x9e\x03\xa0\xde\x7e\xd0\x82\x7a\xd0\xc2\x22\x68\x51\x11\x74\x46\x3f\xe8\xcc\x01\xd0\x59\xb3\x40\x8b\x23\xa0\x4f\xf5\x82\xce\xee\x03\x9d\x7d\x00\x74\xce\x12\xd0\x92\x2c\x68\x49\x3f\x68\x29\x0f\x5a\xba\x0d\x74\xde\x4a\xd0\x79\x03\xa0\x65\xd7\x82\xce\x7f\x0d\xb4\xbc\x1f\xd4\xb7\x0b\x74\xe1\x5c\xd0\x85\xfb\x41\x2b\x06\x41\x9f\x5e\x02\x5a\xf9\x18\x68\xd5\x06\xd0\x45\xab\x41\x17\xbf\x01\x5a\xfd\x04\xe8\x92\x65\xa0\x4b\x37\x83\x2e\xdb\x0a\x5a\x5f\x04\x5d\x35\x00\xba\xda\x0d\xda\xf4\x3c\x68\xf3\x0e\xd0\x35\xdb\x40\x5b\xb6\x83\x3e\xb3\x1a\x74\xed\x76\xd0\x75\x61\xd0\x75\x0f\x83\x6e\x58\x06\xba\x61\x37\xe8\x86\x0f\x41\xea\x5a\xd0\x8d\x1b\x40\x9f\xdd\x01\xba\x29\x0b\xba\xe9\x61\xd0\xd6\xe7\x41\x9f\xdb\x07\xba\xf9\x61\xd0\xb6\x0d\xa0\x5b\xb6\x83\x6e\xed\x04\xdd\xa6\x3f\xfd\xa0\xdb\x7b\x41\xb7\xef\x01\xdd\xb1\x18\xb4\xc3\x0d\xba\xd3\x07\xba\x6b\x07\x68\x97\x0f\x74\x37\x0f\xba\x7b\x08\x74\xcf\x87\xa0\x2f\xf6\x83\xbe\x74\x2d\xe8\xde\xe7\x41\xf7\xb9\x41\x5f\xb1\x80\xbe\xf2\x1a\xe8\xfe\x6b\x41\x5f\xad\x07\x7d\xf5\x6d\x50\xff\x0f\x41\x0f\xda\x41\x0f\x65\x41\x0f\x6f\x06\x3d\xb2\x0f\xf4\xa8\x0a\xfa\x5a\x2f\x68\x4f\x18\xb4\x67\x07\x68\xcf\xc1\xd1\x67\xef\x12\xd0\x3f\xb5\x82\xfe\x39\x02\xfa\xe7\x17\x40\x8f\x3d\x06\xfa\xfa\x1e\xd0\xe3\x11\xd0\xe3\xdb\x40\xdf\xe0\x41\xdf\xd8\x03\xda\x57\x04\xed\xdb\x06\xfa\xf6\x7e\xd0\xbf\xae\x05\x3d\x35\x00\x7a\x7a\x03\xe8\x3b\x3c\xe8\x3b\xbb\x40\xdf\x4d\x80\xbe\xfb\x30\x68\xbf\x05\xb4\x7f\x33\xe8\x99\x5e\xd0\xb3\xfa\xf3\x30\xe8\xdf\x22\xa0\xd2\x5c\xd0\xf7\xea\x41\xdf\xfb\x21\xe8\x07\x3c\xe8\x07\x6f\x82\x7e\xd8\x0f\xfa\xd1\x62\xd0\x73\xad\xa0\xe7\x0e\x82\x9e\xb7\x83\x7e\x62\x07\xfd\x74\x1b\xe8\x67\xfd\xa0\x17\x3e\x04\xbd\x14\x06\xfd\x7c\x17\xe8\xe5\xb5\xa0\x5f\xac\x04\xfd\xf2\x0d\xd0\x2b\x8b\x40\xaf\x7c\x08\xfa\xf7\xad\xa0\x57\x37\x83\x7e\xb5\x1e\xf4\xab\x21\xd0\x6b\xef\x83\x5e\x7f\x0c\xf4\x9b\xc5\xa0\x37\x16\x83\x7e\x6b\x07\xfd\x76\x10\xf4\xbb\x6d\xa0\xff\xe8\x05\xfd\x5e\x05\xfd\xe1\x43\xd0\x9b\xf5\xa0\xb7\xec\xa0\x3f\x4d\x07\xfd\x79\x2e\xe8\xcf\x7b\x40\x6f\x27\x40\x6f\x1f\x00\xfd\xe7\x5a\xd0\x5f\xc2\xa0\xbf\x1c\x00\xbd\xf3\x26\xe8\x60\x16\x74\xf0\x29\xd0\xc1\xf7\x41\xef\x0e\x82\xfe\xcb\x02\xfa\xaf\x87\x41\x83\x3c\x68\xf0\x05\xd0\xa1\x08\xe8\xf0\x22\xd0\x5f\xd7\x82\xfe\xfa\x36\xe8\x6f\x76\xd0\x07\xed\xa0\x0f\x4a\xa0\xff\xde\x0c\xfa\xef\x01\xd0\x87\xeb\x41\x1f\xb5\x83\x8e\x6c\x06\x1d\xdd\x00\x1a\xb2\x83\x86\x56\x82\xca\x76\x50\x79\x3b\x48\xcb\x82\xf4\xf9\x62\xf8\x65\x30\xca\x82\xb1\x30\x18\xd7\x0e\xc6\xaf\x06\x13\x0e\x80\x49\x8b\xc0\xac\x59\x30\xdb\x01\x30\xfb\x00\x98\x63\x10\xcc\x55\x0f\xe6\xce\x82\x79\xde\x04\x93\xa7\x83\xf9\xda\xc1\xfc\xed\x60\x81\x2c\x58\x70\x32\x58\x7d\x27\x58\x43\x02\x2c\xb4\x0d\xac\xb1\x13\xac\xe9\x09\xb0\xe6\xc5\x60\xcd\x2f\x80\x45\xae\x05\x8b\xae\x06\x8b\x3d\x06\x96\xe8\x05\x4b\x4e\x06\x53\xe6\x82\xa5\xb6\x81\xb5\xbe\x0f\x36\x61\x3b\xd8\xc4\xc9\x60\x13\xdf\x00\x6b\xdb\x05\xd6\xfe\x06\x58\x47\x02\xac\xe3\x20\xd8\xe4\x83\x60\x53\xb6\x82\xa5\x8b\x60\xe9\x21\xb0\xcc\x53\x60\xd9\x0d\x60\xb9\x04\x58\xfe\x7d\xb0\x93\x23\x60\x53\xb7\x83\x4d\x3d\x00\x36\xcd\x0e\x36\x6d\x1b\xd8\xf4\x56\xb0\xe9\xaf\x81\xcd\xc8\x82\x75\x3f\x05\x56\xdc\x0d\x76\xca\x00\xd8\xa9\xfd\x60\xb3\x86\xc0\x66\xef\x06\x9b\xdb\x07\x36\xf7\x7d\xb0\x79\x2f\x80\xf5\xee\xff\xdf\x3d\x58\x0f\x70\x6e\x51\x67\xfe\x25\xa0\x10\xf5\x44\x39\x4f\xd4\x33\x40\x25\xad\xb8\x9e\xf5\xaf\x17\x22\x47\xd6\x8b\x38\x62\x70\xcd\x84\xf3\x87\x21\x3e\x24\xa8\x68\xd2\x79\x61\x89\x3c\xd1\x74\xc0\x27\xc6\xa3\x31\x25\x9b\xcf\x44\x3d\xa4\xe4\xb2\x5d\x94\x89\xa6\x9b\x49\x7c\xa8\xad\xbc\x8d\x8a\x21\x45\x09\x0d\xa9\xfa\x9b\x8a\xe5\x6d\x6d\x89\xd6\xa0\xa0\x06\x5b\x13\xc2\xec\x78\x5b\x79\x5b\x19\x4a\x56\x51\xb2\x0a\x07\xb6\xb9\x2d\x1e\x6c\xb4\x58\x1a\x0d\x29\x64\x18\xa2\x2e\xb7\xb7\x01\xe4\xf1\x39\x59\xac\x83\x65\xbb\x58\x26\x1d\xf4\x08\x63\xbd\xd9\x7c\x81\xf2\x99\x74\x40\xc4\xac\xd5\x17\x2f\xbd\x78\xf5\xac\x59\xab\x2f\x3e\xe9\x92\x73\xca\x63\xbd\x4a\x33\x57\xb4\xbb\x5b\x3b\x85\xc8\xd1\xfe\xf4\xc2\x36\xbf\xbf\x6d\xe1\xca\x85\x6d\xfe\x14\x6b\x78\xb7\x3c\xad\x36\x80\xfb\x71\x4b\xc6\x46\xe0\x3b\x75\xc9\x68\x18\xa2\x2a\xa8\x90\x10\x05\xe0\x46\x44\x7f\xc8\x27\xc6\x63\x29\x12\xe3\xb1\x84\xc2\xdc\xde\x7c\x22\xc2\x07\xbc\x7e\x9f\x44\x01\x5e\xd5\x3e\xd2\x6e\xd7\x3e\x22\x89\xae\xe4\xa4\xde\x6c\x3e\xa1\xed\xfd\xd6\x1b\x77\x68\x47\x9f\xb9\xfc\xf2\x67\x48\xa0\x66\x12\x9e\xb9\xfc\x5a\x3a\x27\xc9\x24\xba\x92\x24\x33\xb1\xa6\x66\x7b\x15\x3a\xfb\xda\xd1\x14\x97\x3f\xa3\x1d\xbd\xe3\x8d\x6f\x69\x7b\x93\x86\x28\x36\xac\x4a\x10\x80\x10\x66\x60\x01\x90\xf4\x88\x12\x2f\x39\x59\x1b\x8b\x75\x50\x4a\x49\x2a\x29\x8f\x2f\x90\x89\xa6\xf3\x9e\xe9\xac\x83\x8b\x47\x63\xa2\xdf\x17\x0c\x04\x9b\xf9\x69\x2c\xdd\xc5\x15\xf2\x85\x2e\x2a\x78\xcc\xce\xc9\x79\xf4\xee\x49\x07\x44\x35\x92\xd4\xde\xbf\x3f\x53\x5c\x37\x99\x68\xf2\xba\x62\xe6\x7e\xed\xfd\x64\x44\x76\x08\x25\x87\x4c\x82\x68\xb7\x1c\x29\x3a\xe4\xbb\xbe\xf7\xb2\x38\x35\x56\xe8\xf0\x11\xf9\x3a\x0a\xb1\xa9\xe2\xcb\xdf\xcb\x9f\xaf\x2e\x9f\x79\xa4\x38\x73\xf9\xf2\x99\x42\x69\xe6\xf2\x08\x87\x44\xf3\x4b\x5b\xdb\x26\x4f\x99\x32\xb9\x6d\xeb\x4b\xcd\x89\x32\x1c\xb2\xcc\xb7\x32\xaf\xd5\x63\xb1\x09\xb2\x63\xcf\x86\xdd\x8f\x08\x53\x42\x49\xaf\x37\x19\x9a\x22\x3c\xb2\xbb\xed\xce\xbe\xa3\x25\x3d\x37\xaf\x97\x61\xf6\xb1\xde\x36\x15\x61\x80\x8f\xa5\xa8\x83\xcf\x65\xf3\x99\x74\x33\x0b\x76\x71\x99\x74\x40\xc7\x29\x77\x6f\xd6\x5b\xde\x61\x8b\xf7\x4e\x9f\xa4\x0d\x74\xdd\x78\xf9\xa2\x44\x62\xd1\xe5\x37\x76\x0d\x68\x6f\x95\xef\x54\xbd\x6c\xa9\x25\x71\xc1\xca\xdb\x4f\x7d\xe3\xc3\xb6\x79\xc5\x44\xa2\x38\xaf\xed\xc3\x37\x7e\xfb\x56\x79\x8f\x59\xf6\xd7\x45\x55\x18\x40\xcc\xa4\x51\x39\xe0\x37\xfa\x2d\x29\x88\xf1\x98\x92\xcb\x16\x64\x9d\x4c\x0b\x49\x39\x9f\x0e\xca\x42\x40\x54\x43\xda\xdd\x67\x93\xdf\x27\xfb\xb5\x6e\xad\x3b\xe0\xf5\xfb\xd9\xd9\xda\xae\x86\x4e\xfa\xe0\xf7\xf2\x74\xf9\xf7\xf4\x41\x27\x77\x4d\x20\xa4\xdd\xaf\xd9\x25\x87\xbf\xc9\x7e\xf0\xa0\xbd\xc9\x2f\x3a\xe9\x7d\x5a\xd1\xe8\x4f\x5a\xe7\xd1\x8f\x27\x4c\xd0\x4e\x9e\x67\x85\x29\x51\x57\xea\xb6\xea\xd4\x6b\xa5\x64\x1d\x09\xc4\x25\x85\x2a\x1c\x27\x06\x83\xbf\x82\xd2\xda\xd2\x67\x9e\xd1\x96\x52\x7a\x1e\x6d\xa1\x6b\xe8\xc7\x06\x5c\x13\x4e\x0c\x16\xf3\xd1\x84\x2e\xba\x5e\xfb\x6c\x97\xf6\x2b\xed\xbc\x1f\xff\x98\xb3\x55\xc1\x4c\x7f\x0c\x94\x3a\x8c\xaa\xa0\xe3\xde\xaf\x8f\xe2\x64\x85\x42\xb2\x5d\x5c\x26\x10\x29\xa4\x9b\x39\xb8\xc5\x88\xe2\xce\x47\x04\x5c\xb7\x64\xe8\x9f\x96\x5c\xe7\xe9\x98\xb3\xb1\xf7\x26\x5a\x7b\x53\xef\xc6\x39\x1d\x9e\x61\xfc\x5e\xfb\xfe\xef\x7f\x4f\x5d\xb7\xac\xbb\xef\xbe\x75\x9f\xfa\xe2\x97\xd6\x9d\xa6\xaa\xa7\xad\xfb\xd2\x17\xb9\xef\x99\xe1\xbf\x07\x50\xa7\x8f\x1f\x49\x1f\x3f\x2e\xb4\x60\x12\xba\x71\x3a\x2e\xc0\xe5\xb8\x01\x77\xe0\xab\xf8\x06\x20\xe4\xb2\x4a\x1b\xc5\xc4\x26\xf2\x05\xa6\x51\x3a\xef\xf9\x04\x3f\x79\xb2\x8a\x41\xe1\x15\x92\xa7\xf1\xf1\xff\x60\xfa\x4f\xaa\x6f\xfc\xc0\x21\x55\x09\x19\xb3\xd8\x09\x5e\x3c\x94\x50\x19\xba\x87\x43\x48\x19\xc2\x68\x8c\x50\x93\x53\x53\x6b\x53\x7d\x52\x99\xea\xf2\x99\x1f\x19\x83\x46\x2c\xce\x5c\x5e\x1c\x89\xa2\x7b\x8f\xe7\x2c\x87\x98\x51\xb0\xa6\xbf\xf9\xd1\xf0\xa3\xa3\x4e\xae\x36\x89\x76\xdc\x52\x6a\x9c\xdf\x39\x62\xd4\x2d\x18\x03\x96\x37\x74\x32\xb5\xfd\xa9\xcf\xcc\x63\x30\xd4\x40\xe3\x30\xf6\x09\xf1\x1c\x7a\xb3\x1a\xb2\xbd\xbd\x59\x66\xbc\x47\xdd\x9c\x7a\xa2\x18\x06\x7d\xca\xec\xcd\x92\xfe\x66\x2f\xd4\x78\x86\x5e\x38\x51\x8c\xa1\xc0\x85\x31\xd7\x1c\x4b\x8b\x20\xbf\x09\xd5\x0c\x32\xa1\xf2\x8c\xf3\x8f\x8f\xff\x3f\xed\x1f\x5f\x1f\x43\x67\xab\x56\x6a\xed\xec\x6c\xa5\xa2\xfe\x1e\x75\x33\xb5\xd6\x57\x56\x4f\x1c\xf7\xf7\xa7\xac\x75\x53\xc4\x70\xea\x2f\x7a\x6d\xc4\x59\x1e\x75\x72\xc7\x0d\xfd\xc4\x04\x35\x85\x99\x0a\xeb\x63\xfb\xe2\xff\x78\x2f\xfc\xfd\x58\x15\xd0\xd9\x3a\x64\x84\x71\xa5\xd6\xce\xa3\x38\x71\x5c\xad\xfb\x7f\x88\xab\x31\xa8\x00\xe1\x1a\x38\xc5\xcf\xf3\xdf\x44\x00\x80\x4f\x22\x49\x8c\x4d\x22\x52\xb2\xdd\x94\x4f\x07\xad\x94\x4f\xb7\x90\xf8\xf9\x70\xb9\x7d\x5b\x78\x51\x78\x9b\x76\x4f\x38\xac\x3b\x48\x61\x3b\x74\x3f\x77\x78\x91\x11\x15\xde\x46\x97\xea\xfe\x70\x58\xfb\x35\xbb\x33\x1c\xde\x06\xc2\x65\xc3\xef\x09\x5e\x7e\x27\xe2\x40\xc2\xe7\x22\x31\x96\xb2\x92\x5e\xb6\x92\x2d\x58\xc7\x96\x1f\xf0\x49\x56\x12\xbc\x46\xc9\xda\xeb\xda\xeb\x66\x49\xa4\x68\xaf\x57\x6b\x23\xa5\x52\xfa\xeb\xa4\x68\x1f\x1b\x1b\x1e\x29\xc5\xe4\x5d\xcc\xf9\x22\x8e\x36\xcc\x32\x7b\xb8\xcd\x7c\xe9\xdd\x12\x37\xfb\x66\x1a\xe5\xf4\x57\x3a\xd0\x44\x99\x74\x33\x55\xb8\x2c\x9c\x88\xcb\xe2\x21\x3b\x06\x64\x47\xd1\x21\x0f\x38\xe4\x1a\xe7\x18\xde\xab\x27\x77\x22\xde\x8b\x0d\x1c\x93\x53\x77\xfe\xa9\x86\x21\x7b\xf2\xd2\x9e\x13\x30\x64\xb5\x6d\x72\x21\x88\xc9\xc7\x50\xed\xdf\x07\x7f\xb9\xa4\xd7\xca\x8a\xff\x18\xd4\x06\xbc\x7f\x37\xa4\x95\x35\x5e\xd4\x87\xdb\x04\xe4\x74\x2e\x88\x89\x7c\x24\xa1\xb0\x5c\xd6\x5b\xc8\x07\x82\x01\x51\x72\x92\xdf\xd7\xcc\xd2\x5d\x2c\x97\x55\x52\x1d\x54\xe8\xa2\x60\xc0\xab\xcf\xd9\xe6\x0c\xad\xf3\xd4\x5b\x5e\xd2\xde\xd4\x9e\xd7\xde\x7c\x69\xcb\x03\x3b\xdb\x2e\x69\x89\xb8\x26\xae\x58\x73\xc6\xad\xcf\xbc\xfc\xcc\xad\x67\xac\x59\x31\xd1\x15\x69\xb9\x74\xe2\xce\x07\xca\x6a\xef\xea\xde\xde\xd5\xbd\x4c\xbd\x4f\x4f\xb9\xe5\x25\x0a\xdf\xf7\x6d\x9a\xb9\x2e\xe2\x6c\x9b\x78\x49\x64\xfe\xab\xd7\xac\x7e\xe6\xd6\x33\xce\xb8\xf5\x99\xd5\xd7\xbc\x3a\x3f\x72\xc9\xc4\x36\x67\x64\x9d\xf6\x2c\x9b\x5f\x36\x26\x68\x66\x4c\xd0\xe6\x06\x59\x85\x1f\x1c\x9d\x17\x90\x1c\x21\x17\x93\x48\x92\x1e\xd3\xaf\xc3\x77\x3c\x3f\x7d\x92\x1f\x5e\x67\xc9\xe9\x35\x5e\xa4\xfe\x63\xee\xbe\xaa\xc3\x7b\xa5\x66\x38\xa9\xe8\xf4\x7a\x0f\x97\x0d\x37\xd3\xdd\x74\xe5\x90\xfe\x71\x72\x7a\x10\x1d\x3e\x62\x78\x04\xdd\x33\xda\x1f\x86\x3c\x71\x19\x80\xac\x12\x13\x7d\x81\xb4\x4e\x41\x2e\x12\xa5\x40\x30\xe0\x93\x9c\x14\x8f\x4d\x22\x51\x12\x25\x03\xea\x49\xa4\xa4\x24\x9d\x90\x94\x94\xce\x26\x76\x51\x41\x99\x44\x1d\xa4\x23\xa3\x9b\xf2\x85\x6a\x68\x26\xdd\x42\xf9\x42\xbe\x60\xb4\xb0\x85\x02\xc1\x42\x3e\x93\x0e\x06\x82\x3a\x0b\xed\x24\x29\xd0\x42\xcd\xc4\xe3\x9e\x03\xf7\xdc\x73\x80\xdd\xe3\xb6\x3f\x2d\xfb\xe2\x73\x6d\xd6\xc6\x1d\x01\xbb\xf3\xd6\xf6\x49\x6e\x87\xd4\xf4\x3b\xa7\x9f\xc2\x53\x26\x7c\xc1\xe6\x72\xd6\x5d\x9f\x92\x2c\xae\xb9\xde\x46\xe7\xbf\x3a\xdc\xee\xba\xef\x38\x1b\x5a\x4f\xb5\x59\x43\x77\x06\x1c\x8e\xb1\x89\x6f\xb7\xba\x1c\xf6\x1b\x13\x46\xe2\x90\xeb\x5f\x1d\x6e\x16\xd0\x6b\xb8\x87\xd6\xfd\xce\x1e\x60\xe1\x7c\x32\xbd\xc4\x1e\xb2\x25\x6f\xb7\xae\x0d\xba\xb6\xa5\xc3\x1e\xc7\x53\x6e\xff\x1a\x6b\xdd\x95\x79\x9b\xc3\x5e\xe7\x3f\xaf\x21\x3d\xa5\x91\xf9\x1d\x46\xda\x8e\x8e\x93\xcf\xb0\xdb\x6d\x8e\xc4\x1d\xb6\x35\xb5\x89\x6d\x9b\x32\x16\xa7\x99\x78\x72\x98\xf9\x8d\xb5\x63\x58\x15\x46\x79\x90\x69\x38\x15\x17\x9b\x7c\x48\x6d\x2f\x0b\x9f\xe0\x97\x3d\x51\x8f\xaf\x59\x97\x51\xbb\x88\xa2\x29\x25\x15\x15\x25\xc1\xa0\xb4\x11\x86\x25\x5e\x1d\xd3\x05\x43\x96\x0d\xb4\x90\xb1\x86\x78\x9d\x46\x9f\x16\x9d\x5e\x3a\x81\x5b\x1d\x52\x9d\x2e\x8e\x2b\x72\x2e\x67\xb9\x8f\x4a\x93\x25\x9b\xf6\x03\x9b\xc4\x5d\xee\x75\xf6\x2d\x9f\x39\x54\x9a\xb9\xbc\xcf\x20\x9d\xdc\x6c\xd7\x42\x7d\x85\x59\xe8\x9a\x4d\x39\xa7\x97\x8b\xd4\x90\x91\xf3\x04\xee\x72\x33\xf7\xc4\x50\x6f\x20\xe9\xf1\x24\xf9\xf9\x1b\xad\x8c\x59\xef\x2e\x3a\xbd\x43\xbd\x67\x5d\xb3\xf1\x2c\xee\x29\xa3\xf6\xaf\x25\xb3\xd9\xe4\xd7\xbc\xe6\xf8\x0f\x01\xe2\x45\x02\x07\xd9\x18\xff\x46\xd3\x3c\x51\x4f\x85\xff\xca\x59\x29\x50\x90\x44\x29\x6e\xac\x0c\x29\x9d\xd6\x74\x49\x3a\xdd\x52\x9d\x8f\xfd\x9e\x60\x33\xe9\x9c\xab\xa6\x0e\x43\x53\x43\x0a\xb1\x6e\xd6\x4d\xff\xd1\x65\x71\x70\x0e\x4b\xb9\xb7\xdc\x6b\xb7\x3b\x2c\x5d\x16\x66\x63\x3f\x8f\x2c\x89\xbc\x6f\x0c\x8d\xdf\xd8\x18\x8b\x68\x11\x9d\xb1\xd5\x19\x5d\x1a\x20\x9e\xe8\x75\x4d\x61\xa7\xcc\xb7\x32\x89\x9d\x52\xfe\x37\x0b\x31\xeb\x7c\x5b\xa3\x85\x9d\x13\x0a\xbd\xf0\x03\xbd\x6d\xda\xea\x6f\xeb\x32\xbf\x39\xb7\xea\x5d\x2c\x23\xa4\xaf\x5b\xd4\x4c\xfe\x71\x0c\x64\x50\xf2\x44\x95\x14\x29\x64\xb6\x22\xea\x11\xf6\x87\x5b\x3b\x5b\x8f\x18\x6b\x2a\xa7\xb6\xf6\x85\xb7\xd2\x66\x9b\x5d\xfb\xb1\x9d\x3e\xad\xf5\xb5\x76\x96\xc1\x6f\x0d\xf7\xb5\x1e\x55\xf5\x78\xb1\xd8\xda\xd9\x1a\x9e\xa5\x6d\x6b\xb2\xd3\xc9\xf6\x23\x5e\x1e\x9d\xad\xd4\x6f\x28\x35\xb8\x91\xb1\xe9\x43\x04\xed\xa3\x9c\xad\x39\xef\x54\xc8\x06\xee\x0e\x8a\x38\xc9\xdd\x4c\x91\x3c\xdc\x8c\x8f\x24\x98\xdb\x9b\x88\xf0\x9c\xea\x75\x9a\x33\xc2\x80\x49\x0e\xfd\x3b\x8f\x68\xaf\x1d\xd9\xb9\xf3\x08\xb5\x1e\xa1\x2b\x5f\xd2\xbe\xaa\x2d\xd7\xbe\xfa\xd2\x4b\x74\x21\x3d\x48\x17\x72\x03\xda\x08\xdd\xe8\xb4\x50\xd6\xa8\x55\x4f\x6b\xe4\x60\x17\xd4\x26\x7d\xe9\x25\xa3\x1f\xd3\x80\xb4\x50\x00\x3c\x38\x15\xa0\x1c\xd7\x41\xba\x98\x22\x71\x7e\xd1\x94\x73\x7c\xf1\x68\x3a\x9f\xe2\x3a\x48\x97\x76\x24\x4e\x0c\x64\xa2\xb1\x5c\xb6\x40\x3a\xe5\xc6\xf4\xc9\xc5\x48\xa6\xcf\x1c\x71\x1d\x87\x14\xe0\xcf\xa9\x27\x9f\xe3\x3b\x0e\x1f\xd5\x93\xd7\xfe\xbe\xdd\xcb\x3e\xe8\x28\x17\x1d\x5e\xf2\x91\xcf\xa1\x0d\x3a\x7c\xe4\x23\xaf\xa3\x5c\xec\x08\xd1\x03\x96\x84\x8f\xce\x72\xf8\xc8\x45\x5e\xc7\xa3\x0e\x2f\xb9\xc8\xe7\xa0\xb3\x7c\x09\x0b\x3d\x10\x62\x61\x9e\x8c\x95\x49\x2b\xf1\x76\xb7\x5b\x3b\x79\x9e\xec\x20\xe8\x01\xc3\x70\xc8\xf3\xf2\x5d\xbc\x4f\x0e\xcb\x0e\x73\xde\x74\xc8\x61\xf9\xe8\xc1\xae\xaa\x1c\x21\xea\x4c\xa0\x0b\x49\xcc\x00\x12\x95\xb9\xb0\xfa\x95\xc7\x74\x7b\x30\x90\xee\xd6\x47\x1f\x05\x24\x9d\x8f\x21\xa5\x90\xcf\x44\x2b\x04\xe1\xf7\x44\xd3\x82\xa9\x41\x22\xc5\xf8\x3c\xda\xd9\x7a\xc4\x60\xd2\xe8\x17\x9f\x9f\x7a\xdf\xd4\x6d\xf4\x72\x6b\xa7\xf6\x5d\x4f\x8b\x56\xf4\xe6\xbd\x5a\xb1\xc5\xe3\x99\x48\x50\x42\xa4\x0b\x5f\x98\xf8\x68\xd6\xcc\xa5\xff\x51\x64\x94\xef\xdb\xd6\xd9\xb9\xad\x93\x79\x26\x34\x69\x45\x59\xa6\x52\xd3\x84\x14\x95\x0c\xb9\xa9\x58\x43\x2b\xf5\x48\x18\x3c\x80\x6f\x04\xae\x11\x52\xf1\x7b\x32\xe9\x00\xab\x10\x4b\x17\xb9\x15\xbe\x86\x5e\xf8\x3e\x9b\xf6\xbd\xba\xfa\x3a\xad\xe4\xb2\x58\x02\x25\x63\xe0\x94\x9c\xde\x17\x46\x68\x66\xe7\xce\x63\xa8\x86\xf5\xd9\xed\xda\xf7\xac\x56\x2a\xba\x65\x9f\x41\x37\x4e\xad\xdf\xcb\xd2\x35\x94\xf6\xcc\x31\xa4\x73\x1c\x58\xcd\x39\xce\x9c\x0c\x4d\x15\x84\xce\x09\xd2\x89\x61\x5d\x5e\x03\xa1\x8d\xba\xeb\xea\xeb\xa8\xe8\xfa\xe5\xc7\x82\xba\xcb\xa7\xf5\x1b\x93\x5c\x9f\xd7\x69\xb7\x53\xb7\xd5\xaa\x95\xdc\xf4\xd1\xc7\x80\x6a\x58\x21\x88\x3a\x0b\xe0\x30\x46\x7e\xb4\x83\x52\x5c\x94\x73\x92\x14\x0d\x46\x93\xa3\xd4\x50\x90\xcd\xd9\x38\x28\x07\xb8\x61\x9a\x4e\x1c\x1d\x28\x4f\x3f\x40\x1c\xd1\xf4\x0b\xa8\xc8\xfa\x94\xd0\x11\x35\xa4\x34\xbc\x67\xcb\x85\xb8\x62\x28\x67\x7b\xaf\x81\x15\xb9\x3a\x46\x83\x9a\x9b\xab\x63\xa5\x07\xb5\x66\x43\x0b\xf9\x87\xae\x19\xac\xb5\x21\x16\x6b\x28\xbf\x36\xa3\x06\x47\x2e\x34\x1a\x56\xe7\x7a\x7f\xea\x8b\xae\x5e\x61\x3e\x48\x81\x13\x0c\x7b\xbe\x3f\x52\x1e\x70\x79\xdc\xee\x48\x24\xda\xc2\x22\x1f\x3b\xe8\xd9\x23\xf3\xbd\x5a\xc9\x6a\x91\x93\x4c\x4d\xca\x5e\x59\x2b\xfd\xec\xe3\x46\x3d\x8d\xc0\x94\x19\x99\x8b\x52\x4a\x37\x29\xf1\x98\x93\xf9\x9a\x59\x26\xad\xaf\xf7\x69\x7d\x61\x97\x44\x7e\x84\xc9\xcc\xa4\xf9\x60\x21\x1f\x0c\x88\xd0\x29\x75\xa2\xc7\xd3\x72\xeb\xae\x9f\x54\x99\xaf\x4d\x07\xe6\x49\x6e\x97\xed\x16\x2b\x59\xd6\x69\x3f\x7d\x6c\x94\x55\xbb\x8b\xe4\x35\x9f\x6d\x9a\x90\x12\xa0\x15\x43\x4a\x6b\xaa\xf9\xd6\x5b\x2a\x2c\xde\xea\x0b\x6c\xcc\x7a\xab\xa5\xc1\xb6\xf5\x4e\x3d\x25\x75\x52\xf8\xa5\x2d\x97\xaf\xba\xb1\xc5\xe3\xa9\xe5\x67\x12\x98\x63\x8c\x02\x86\x68\x2c\x91\x92\xc4\xd1\xf9\xda\xe7\xa2\x66\x32\x81\xad\x2c\xbc\x15\x45\xb1\xd1\x94\x11\x3e\x67\x06\x79\x11\x35\x60\x4f\x07\x84\x3f\x53\x51\x5b\xad\xbd\xb7\x53\xfb\xaf\x35\x37\xca\x59\xbd\xbb\x4a\x21\x45\xbe\x65\xce\x13\x17\xde\xfc\xf6\xec\xba\x89\x96\x40\xc9\x21\x37\xe8\xed\x0b\x29\xf2\xad\xbb\x7e\x52\x09\xfc\xb1\x43\x3e\x85\xee\x25\x79\x27\xf9\xd6\x7c\x56\xce\x2a\x34\x20\x30\xed\x7d\xed\x5b\x97\x5d\x74\xa3\x6c\x16\xa1\x64\xe5\x5b\x66\xce\xfd\xec\x95\x9e\x95\x41\x99\x93\xf5\xec\x4a\x56\xbe\xf5\x16\x33\xc0\x21\x91\x9d\x16\x5c\xbe\xea\x46\x59\x41\xc5\xd8\xea\xf8\xfa\x02\xd0\x38\x8e\x34\xf7\x09\xfe\xf1\x72\x69\xee\x13\xfc\xf2\x38\xad\x95\x7c\x8c\x16\xca\x14\x04\x4e\xf4\xe2\x55\xd9\x31\x64\x78\x38\x43\xcc\x38\xbe\x5b\x95\x1d\x47\x0c\x8f\xa0\x7b\x6a\xf5\xba\xd4\x37\x52\xdc\x5f\x8f\xe3\x2a\x1f\x2f\xb0\x26\x3a\xc3\x19\xee\x21\xbd\x3e\x7e\x41\xad\xc2\xd7\x18\xe3\xbc\xa9\x4f\x6f\xd1\xc7\x78\x4e\x9f\xed\xfd\xb5\x3a\x22\x5d\x16\x44\x04\xba\x24\x18\xa0\x22\xd3\x59\x56\xae\x58\x15\xba\x23\x64\xa1\xf5\x64\x89\xb4\x76\x72\x28\x5d\x7a\xcf\x3d\x97\x6a\x03\x65\x63\xbe\x66\xc5\xd6\xce\xd2\x53\x64\xd1\x3e\x7c\xaa\xd4\xa9\xd3\x65\xb1\x22\x47\x78\x50\x30\xe8\x72\x64\xc2\x53\x72\xba\x54\xa3\x73\x83\x3a\x57\xdd\xc1\xe2\x31\x53\x0f\xab\x8f\x73\x9d\x67\x0e\x04\x03\x99\x74\x17\x33\x6a\x2f\x1a\x0d\x2a\xf6\x5c\xda\x23\x94\x1a\x1a\x7f\x75\xef\x8c\xeb\x96\xdd\x36\xaf\xa4\x0d\x7a\xdc\x21\xa5\xc5\x3f\xf5\xe0\xd3\x6b\xbe\x73\xbd\x92\xce\xdf\x70\xfe\x59\x8e\x90\x22\x60\xae\x72\xd4\xa9\x37\x9c\x3f\xac\xcc\xcd\xf5\xf4\x6c\x2c\x0b\x0d\x8d\xce\x0d\xed\xd9\xf6\x9d\x56\x25\xc4\xfe\x14\x09\x3a\x9b\x36\x4f\x9d\x26\x4f\xcc\x4e\x54\xaa\x67\x4e\x0c\x39\xb2\x47\x87\xd0\xc5\x9c\x14\xf7\x8f\xe5\x51\x9b\x28\xad\x33\xf2\xb9\x2c\x4b\x44\x78\xe6\xf7\xb5\xe8\xcb\xf9\x08\x6b\x56\xa5\xb1\x98\x32\x89\x29\xb9\x6c\x45\xc0\x14\xd5\xe9\xbe\xa7\x03\xb7\x2c\x19\xe5\x46\xe7\x5c\x1d\x9b\xd5\xb4\x4f\xfb\x95\xf6\x4d\xed\x57\xfb\x9a\x66\xc5\xae\x9e\x33\x1a\xb7\xe4\x96\xc0\xd3\xbe\xe9\x37\x0f\x50\x96\x7a\x29\x3b\x70\x33\xbb\xf5\xd1\x5d\x53\xa2\x67\xad\x89\x8c\x32\x9f\x91\x39\xd3\xed\x17\xac\xd8\x45\xe2\x7d\xf7\x69\x47\x76\xad\xb8\xc0\x3e\x7d\x4e\x64\x94\x29\x8d\xac\x39\x2b\x3a\x65\xd7\xa3\x5f\xa4\xfa\x17\xb7\x6c\x79\x51\x7b\xdb\x6c\x57\x84\x03\x3f\x00\xd9\x9c\xb7\x62\x29\x1a\xa1\x5d\xca\xa7\x03\x1c\x94\xac\xac\x7d\x4b\x3b\x62\xcc\xc3\x22\x2d\x90\xb3\x0a\xdf\x7f\x54\x1f\xe1\xb4\x40\x09\x91\xce\x66\x2e\x30\xc7\xa0\x4e\x2f\x11\x5e\x35\xca\x3a\xe9\xf8\xa5\xc1\xec\x48\x43\x71\x9d\xed\xe0\x8c\xed\x83\xe0\x71\xeb\x20\xf5\x53\xb3\x6d\xae\x90\x52\x1f\x8b\xd5\xeb\x8f\x12\x72\xd9\x66\x1f\xa7\x62\xcd\xbb\xfb\xa6\xb0\x90\x6c\xf4\x37\xf9\x1b\x26\xcd\x9c\xd4\xe0\x6f\xf2\x37\x26\x85\x46\x98\x86\x99\xc3\x4f\x8b\xaa\x30\xc7\x80\x67\x1e\xd6\xfc\x23\x30\xf1\x6e\x56\x09\x35\xf6\x64\xb2\x8a\x29\xd2\x8d\x8f\xeb\x22\x9d\x10\xbd\x6e\x96\xd2\x05\xf2\x91\x14\x7f\x77\x8b\xe8\x53\xff\xb4\xdd\x61\x6f\x54\x52\x9d\xbe\xf9\x67\x9d\x35\xdf\xd7\x99\x52\x42\x0e\xc7\x76\xfa\x27\xed\x15\x87\x23\xa4\xa4\xa4\x16\xa9\x23\xf1\x99\x5b\x6f\xfd\x4c\xa2\x43\x6a\x91\x8c\xc8\x57\xfe\x7e\x2c\x14\xb4\x97\xb4\xf2\x34\x41\x09\xa5\x7c\x4d\xae\xfc\x43\x4f\x3d\x94\x77\x35\xf9\x52\x21\x45\x98\xf6\x6d\x2d\xab\xdd\x70\x9e\xa0\x84\x12\x41\xde\xc1\x37\x84\xce\x23\x37\xa5\xc9\x7d\x5e\xa8\x81\x77\xf0\xc1\x44\x48\x11\xce\x83\xdd\x10\xf2\x75\x9a\xe7\x20\xa1\x0e\x2e\xc8\x08\xa2\x11\x2d\x88\x63\x12\x32\xc6\x58\xf5\xc7\x73\xb2\x3f\x9e\x8b\xfa\xe3\x39\x32\x64\x15\x4f\x54\xff\x92\x27\xea\xa1\x4a\xb8\xec\x89\xe6\xe2\x9e\xb8\x27\xea\xcf\xe4\xc8\x4c\xe2\x21\x55\x55\x55\x4e\x55\x87\x54\x5d\xec\xd0\x1f\x0e\xfa\x7b\x18\x65\x95\x57\x55\x3d\x5a\x53\x8d\x6f\x59\x2d\xab\x82\x5a\x36\x82\x38\xe8\xd9\x86\x88\x6e\xa0\x4a\x3e\x3d\x96\xa9\x9a\x11\xce\xa0\xe9\xb9\x98\x91\x50\x0f\xd6\x1f\x18\xfb\x80\xd5\xb5\xe1\xd8\x76\xa4\xd0\x56\x69\xcb\x34\x74\x03\x99\xb8\x27\x23\xff\x2f\x9e\xee\xee\xee\xee\x48\x64\x79\x4b\xcb\x57\x5a\x5a\xbe\xd2\xd5\x75\x7d\x4b\x4b\xb7\xf1\xf7\x95\xee\xee\xaf\x74\x77\x5f\x6f\xfc\x2d\xef\xee\x7e\x66\xf9\x72\x3d\x59\x77\xb7\xa0\x1e\xb9\x51\xb8\xe1\x7f\xf4\xe8\xfd\x62\xae\xe9\x77\x0b\xef\x18\x73\x74\x53\x8d\x8e\xa2\xc2\x11\x51\x07\x8d\x48\x62\x14\xa0\x52\xcf\xa5\x3d\x3d\x97\xf2\x57\x27\x35\x7f\x2a\x9b\x4b\x96\x73\x4a\xae\x37\x4b\xfd\x39\x55\x61\x3f\x4b\xf2\x75\x7a\x64\x8f\x56\xcc\x25\x35\x5f\x32\xc9\x5e\x48\xaa\x39\xea\xcf\xf6\xe6\x94\x72\x3e\x55\xe5\x4d\xef\x96\xd6\x54\xea\xca\x7d\x52\x6d\x82\x19\xaa\xa4\x28\x9f\xcb\xea\x71\xf1\xcc\xdf\x01\x05\xa9\x46\x70\xa2\xa3\x99\x5e\x4d\xea\x71\x6a\x6e\xe0\xef\x80\x2f\x6b\x04\x86\x5b\xe8\xd5\x64\x2e\x9b\x62\x3f\x55\x72\x26\xd8\x1c\x6c\xc3\xaa\x78\x8d\xa0\x62\x31\x56\x62\x03\xa0\xcb\x24\x4e\x5d\xee\x52\x52\x4a\x21\x9b\x2f\xe4\x95\x42\x17\x33\x86\xb1\xa2\xbf\xc7\x3b\x58\xa1\x4b\x0c\x4a\x46\x93\x2a\xf9\x24\x31\x68\x2c\xf3\x05\xca\xa7\x02\x82\x68\xb8\xbb\x29\xaf\x8c\x8a\x72\x35\x7e\xf1\xe2\xd6\x80\xf6\xae\x7c\xd5\x29\x43\xab\x16\xdc\x11\xae\x0f\x88\x44\x16\x62\x76\xbf\x18\x6c\xb7\x70\x02\xe3\xc2\x9c\x7f\x22\x4f\x12\xcf\x27\x78\x79\x12\x4f\x16\xc6\x9c\x01\xd1\xe2\x71\xc8\xbe\x68\x2a\x4c\x8a\x83\x7d\x34\x7f\x51\x40\x7b\x2f\x31\xe7\xfc\xa1\x2f\x37\xd6\xd5\xd9\xea\x37\x73\x5f\x6e\xca\x5b\xa8\x5d\x62\xca\xd1\x77\x79\xbb\x93\xf5\x39\x1a\x78\x3f\x6f\x77\x96\xfb\x1d\x0d\xfc\xea\x63\x42\xf8\xd8\xc9\x73\x87\xae\x2e\x9e\xb3\x66\xe1\xa9\xd3\xf9\x0e\xa7\xa5\x51\xac\xf3\x35\xda\x94\x35\x8a\xad\xd5\x52\x17\x13\x13\xeb\x63\xd6\x0e\xc1\x11\x17\x42\x1b\x15\x4b\xdc\x6a\xf1\x85\x2c\xf6\x64\x34\xd5\x10\x20\x91\xb3\xae\x9f\x3f\x74\xf5\xa6\xd3\x5c\xee\xc6\xd9\x2d\x21\xee\x37\x81\xb8\xab\x79\x84\x6d\xd1\x4a\x23\x4e\x73\xef\xf6\x8b\x42\x65\x5f\x98\xd2\x41\x53\x0b\x60\xa8\xc1\xac\x06\x5d\x98\x64\x51\xc8\x67\xf8\xed\x41\x7f\x34\x95\x8a\xca\x0d\x93\xe3\xda\x1c\x6d\x4e\x62\x92\xe9\xf7\x07\x05\xd5\xea\xe8\x8c\x1d\xf9\xef\x58\xa7\xc3\x12\xa1\x3d\xda\x92\xa8\xee\x17\xac\xb1\x4e\x87\xb5\x3a\x97\xab\xa2\x39\x17\xd9\xe1\xc3\x74\x60\x82\x39\x99\x18\x7a\x9f\x68\x95\x14\x0b\x9e\x8a\xca\xda\xe4\xd0\xe2\xd5\xe5\xb9\x42\x96\x2d\x86\x8a\x42\x67\x17\x54\x4e\x1d\x52\x39\xb5\xbf\xb5\x53\x9f\x71\x4c\x41\x54\x76\x0c\x98\xbc\xcb\x80\x43\xbe\xe2\xf4\x62\x67\x2b\xeb\x6f\xed\x0b\xef\x0e\xb7\x16\x4f\xbf\x82\xa0\xcf\x39\x9d\xad\xfd\x65\x53\xf6\x2c\x6a\x7d\x0e\xb9\x5f\xe7\x66\xfa\x65\x07\xf5\x9f\x7e\x05\x8b\xb4\x76\xb6\x86\x77\x87\xfb\x5a\x87\x71\x45\xc5\x0e\xc0\x94\x99\xa3\x98\x00\x20\x1d\xf0\x89\x31\x25\x5b\x61\x06\x46\x19\xa8\x11\x75\x55\x45\x0f\xed\xe6\xe6\xbd\xb7\x77\xef\x7b\x7b\xb9\x01\x9d\x65\x3a\xa2\xea\xef\x81\x8c\xbc\x2a\xc7\x90\x5b\x25\x67\xca\x17\x8f\xea\x93\xb9\xbe\xbd\x7a\x52\x36\xef\x9e\x4b\x87\x8c\x74\x9c\x7a\xe9\x3d\xdb\xa6\xcc\x99\x33\x65\xdb\x51\x95\x46\x6c\x16\x46\x75\xcb\x26\x2f\xb7\x08\x20\x2e\x1d\xc8\xa4\x0b\x0a\x15\xba\xf8\x82\x4c\xd3\x48\x17\xd0\xbc\xc1\x66\x0a\x06\x8c\x97\xdf\x27\xfa\x63\x4a\x3c\xc6\x4b\xd9\x6e\x4a\x77\x09\xb9\x6c\x07\xa5\x92\x22\xf3\xfb\x9a\xb9\x4c\xc0\xef\x93\xf4\x48\x31\x2e\xb2\x7f\xff\xa7\xe8\xcf\x4f\x96\x95\x73\x86\x7e\xca\x82\x33\x27\x67\x14\xfb\xbb\x54\xdf\x93\xb3\x70\x2f\x46\x77\x4e\x70\x9d\xdd\xe4\x73\xc9\xb7\xba\x44\xea\xd6\x8a\xbd\xda\x5f\x52\xfc\x4d\x14\xb4\xf8\xad\x0e\xa1\xeb\x4c\xd2\xba\x42\xab\xc2\xd3\x94\x5e\x8e\xd8\xd4\xff\x9c\x6a\x49\x72\x8b\xb8\x5f\x68\x5d\x3c\x2b\x0f\x5d\x7d\xba\x54\x67\x93\x53\x2d\x6c\x35\x3b\xe0\x94\xb4\xc8\x42\xed\x4b\x17\xc4\x7e\x3b\xf5\x24\xbb\xab\x49\x54\x64\xc1\xc3\xbb\x9d\xd4\x16\x0f\x0b\x4c\x12\x6d\x76\x8b\xfb\x81\xef\x73\x6c\xaa\xf6\x6e\x43\xa0\xc5\x6b\xb5\xc8\x29\xab\xd7\x67\x71\x56\xe4\x68\x63\xed\xf2\xa3\x0d\x17\x02\xc9\x40\x26\xe2\xc9\xa6\x3a\xf8\x78\x4c\xf2\x89\x7e\x9f\xd8\x4c\x9c\xc1\x3b\xe6\xb2\x3a\x5b\x29\xf9\x8c\x36\xfb\x8c\x81\xdf\xc5\x4f\xa7\x9c\x3b\xd5\xc1\x4f\x22\x5d\x44\x0b\x64\xd2\xcd\x9c\xdf\xe7\xe4\xa4\x66\xd2\x3f\x71\x03\x33\xac\x6d\xfe\x4c\xda\x3c\xa1\xf1\xb4\x99\x17\xcc\x9b\x3a\x2f\x4c\x8c\x2c\xe2\xc4\x53\xcf\xdc\xb2\x22\x33\x75\xe5\x86\x99\xe9\x45\x16\x2a\xbf\xc9\x5c\xdb\x13\x52\x9d\x28\x50\x80\x4f\xe4\x3a\x32\x02\xbf\x82\xde\xbc\x29\xb8\x34\x38\xfb\x73\xd7\x2e\xeb\x8c\x9e\xb4\xb8\x2b\x77\xef\x8b\xb3\x37\x7e\x75\xcf\xb2\xf6\x7d\xed\x97\x6a\x97\xb9\x22\x74\xfa\x95\x33\xdb\xa7\x47\x3d\xbc\x2d\x77\x20\x6b\xd9\x34\xff\x7c\xf6\xaa\x14\xea\xde\xb0\x78\xf6\x25\xd3\xc2\x8e\xf4\x4f\x33\x8d\x97\x86\x3a\x86\xd6\x2f\xe7\xeb\x5d\xf6\xe6\x64\x78\x92\x3f\x2d\x70\xaf\xb6\x59\x1c\x56\x81\xa7\xb3\x98\x4c\xa1\xa9\x8b\xaf\xeb\xc9\x9e\x73\xf2\xd4\x48\x7d\xfc\xb9\xbb\x57\x7e\xf5\xa2\xd3\xc2\x62\xc0\x94\x4d\x79\x7d\x7c\x4e\x05\xfc\xfa\x9c\x96\x2f\xe4\x43\x94\xca\x75\xb0\x54\x41\x17\x4d\xbb\xa8\x20\x4a\x4e\x92\x9c\x9c\x24\x32\xc9\xc9\xb5\x50\x20\x28\x4a\x31\x7d\xf2\x8e\xeb\xfd\xec\x09\x9c\x7e\x4a\x63\xd8\x41\x5b\x2e\xa5\xfa\x19\x0b\x65\x39\xfa\xf8\x75\x53\x27\xaf\xfa\x42\x58\x70\x36\xdf\x91\xb4\xd8\x45\x2b\x6b\xbc\xc6\xc3\x02\x5e\x27\x91\x67\x0f\xe7\xa8\x6b\xab\x6b\xda\x10\xbe\x75\x56\xe6\xa9\xeb\x3f\x25\xc9\xb2\x33\x3e\x53\x62\x59\x56\x17\x6f\x70\xd4\x09\xdc\xc5\xcc\x2a\x08\x56\x96\x4a\xdb\x92\x2e\x79\x52\x74\xaa\x63\x57\xf9\xf7\x8b\xad\x2b\xce\xfc\x94\xcb\xcb\x37\xb6\x17\x38\x1f\xf3\x8e\xd2\xeb\x11\x41\x45\x23\xae\x03\x92\xe9\x80\xcb\xdc\x0d\xd3\xc7\x72\x3c\xa6\x74\x9b\x3b\x61\x62\x1b\x79\x48\x97\x01\x74\x59\x40\x1f\x46\x5d\xac\x9b\xd2\x01\x83\x44\x45\x49\x49\x75\xb0\x54\x07\xa7\xb7\x43\x9f\x8b\x83\x3e\xaf\xdf\x27\x56\x09\xdc\x45\x62\x42\xa7\x61\x65\x06\xe9\x18\xf1\x64\x99\x2e\xd0\xe9\x74\x6e\x08\xba\x4e\x26\x29\x29\x8f\xf8\x72\xd4\xeb\xbb\xde\x37\xd5\x77\xbd\xcf\x1b\x5d\xb4\xa8\xd6\xf3\xd1\x2f\xf2\xf6\x1f\xb7\xef\x6b\x4f\xdc\x91\xa0\xa4\xd8\x5c\xe7\x77\x5a\x26\xf2\x3e\x9e\x09\xa9\xa6\x86\x26\xce\xed\x20\xd1\x2e\x4b\x4d\xcc\xf3\xe9\xf4\xc2\x88\x95\x78\x41\xb0\xb5\xee\x49\x08\x5c\xac\x57\x7b\xf3\x94\xf4\x4f\x33\x9c\xe7\xdc\xb5\xf5\xb2\x48\x8c\xe7\xea\xbe\x18\xdd\xec\x93\x9b\xa3\xa1\x89\x4e\x35\x19\x7a\x30\x14\x7a\x30\x94\xe4\x51\x75\x0d\x81\x1f\x6e\x14\x78\x22\x12\x1c\x75\x44\xeb\x07\x16\x35\x39\xf9\xf6\xc5\xd6\x85\xa7\x91\xc5\xca\x31\x22\x9e\x3f\xa3\xb0\xbc\xfc\xc4\x03\xee\xcb\xe7\x46\xfd\x6d\xee\x56\x9b\xd3\x45\xcc\xe7\xcd\x90\xb5\x31\x12\x72\x4e\xa4\x4f\xad\xa2\x5d\xab\x36\xb2\xc6\x60\xd8\xc7\xdb\xeb\x9d\x8e\x4d\x17\xb3\x90\x97\x6e\x30\x71\xcc\x19\xfa\x80\x0b\x71\x37\x20\x57\xf0\x98\xe0\x83\x81\x71\x48\xcc\x29\x3a\x52\x0c\x24\xb6\x50\xce\xa7\x0f\x83\x13\xe0\xb1\x8b\x65\x95\x5c\xd6\x30\x28\x1b\x8b\x49\x4a\x37\x33\x63\xc3\x84\x8b\xc7\x3a\x28\x9b\xcf\x45\x7d\x01\x9f\x93\x74\xa1\x2e\xa5\x64\x0b\x5d\x5c\x26\xdd\x4c\x3e\xd1\x1f\xcd\x2a\xd9\x2e\x3a\xc3\xc4\xed\x6c\xba\x90\xb0\x29\x1a\xac\x45\xac\xd3\xe6\x11\x66\x34\x5f\xbf\x68\xed\x44\x2b\x11\xa3\xe3\xe2\x55\xb2\x72\x24\xe8\x18\xe3\xeb\xbe\x38\xe1\x7d\xb7\x89\x5b\xa1\xd9\x3e\xbd\x50\xe4\x43\x21\xbe\x58\x98\x6e\x77\xb8\x04\x6e\x08\x9c\xe0\x72\x8c\x0f\xe5\xf5\x50\xe1\x86\x46\x81\x67\xc4\x53\xa4\x06\xe5\x0b\x66\x93\x43\x64\x8c\x17\xce\x28\xec\xce\x16\x9e\x7b\x70\xee\xf1\x51\xee\xde\xf0\x8d\xcf\x3f\xc6\x49\x4d\x16\x69\xfe\xdc\x33\xf2\x82\xbd\xb1\xce\xbe\x69\xb5\x81\xf3\x23\xc3\xa9\xf6\x3c\xe7\xef\xf4\x73\xf9\xf6\x94\x3f\xd1\x12\x67\x2c\xde\x92\xf0\x1f\x37\xd0\x3c\x58\x36\x56\xa7\x61\xec\xae\xfd\x6f\xf6\xd8\x25\x28\xa1\x8f\x0c\x6b\x11\xb1\x62\xd9\x72\xd4\xb0\x2e\x11\x0c\xe5\xaa\x12\x3a\x62\xf8\x44\x54\xe2\x8c\x94\xbc\x1a\x52\x4a\xa3\xc6\x26\x17\x7d\x82\xf3\xff\x11\xdc\xa6\x79\x22\xa7\x56\xe0\x36\x7c\x42\xd5\x5a\xc7\xf0\xb1\xff\x0b\x70\x8f\xb7\x51\xf8\x24\xff\x58\xb8\x6b\xb1\x5d\x8b\xeb\xff\x31\xa6\xff\x9f\xc0\xfc\xc9\xee\x7f\x10\xe6\x8f\xd1\xd5\x8d\xdf\x3d\xf6\x7c\x82\xff\x78\x74\xf3\x71\xf1\x9f\xd4\x76\x82\xec\x30\x58\xdb\x13\xbc\x44\xc8\x8e\x23\x86\x47\x28\x3a\xe4\x23\x38\x51\xcc\x89\xdc\x03\x23\xa5\xd1\x55\xc7\x73\x0e\xfd\x75\xc4\xc9\x1f\x37\xf4\xf8\xd9\xcc\xc3\xaa\xe3\x71\x6a\xea\xa1\x63\x29\x52\xb2\xa6\xc5\xed\x3f\x8a\x8d\x63\xb0\xa3\xca\x0e\xa7\x55\x1b\xb0\x5a\x29\x62\x75\x3a\x64\x41\x95\x1d\x1f\x19\x2d\x14\x0d\x50\x8e\x1a\x6f\xbe\x38\xde\x3d\x9a\x86\x1b\x28\x97\x1c\xb2\x9e\x3d\xac\xbf\x3e\xb9\x65\xb5\x8d\x3c\x6e\x1b\x2b\xba\x7f\x53\x9f\x93\x0e\x5a\xff\xd7\x6d\xec\xd3\x1b\x68\x68\x06\x9d\x56\x8a\x08\x7b\xff\xd1\x26\xb2\x97\xc2\x7a\x09\xa6\xb9\x88\x55\x1b\xd0\xac\xff\x40\x13\x4d\x3d\xa3\x61\x3f\xdc\x62\xf4\x9f\x21\x45\x55\xdb\x54\x15\xae\x9b\x88\x0c\x2d\x93\x84\x94\xc3\xde\xe8\xd5\xd6\xed\xdd\x54\x2e\x6e\xda\xbb\x77\x13\x2b\x6d\xda\x4b\x77\x79\x1b\xed\x8e\x14\xdf\x7f\xb4\x34\xd1\x23\xc8\x74\xd7\xa3\xd5\x98\xbd\x9b\x1e\xa1\x9d\xb2\xe0\x19\x91\xa7\x24\x53\x1e\x70\xa2\x19\x1d\x3a\x26\x75\xf9\x24\x9f\x26\x4f\x34\x47\x41\x2b\xd5\xa8\xb4\x73\x9e\xac\x12\x1c\xa7\xd6\x66\xea\xfa\xfe\xf5\xeb\xfb\xf9\xf5\x47\x54\x2a\xf6\x33\x30\x7c\x64\xb4\x43\xd4\x31\x71\x57\xad\x15\x24\xef\xd6\x13\xae\x2f\x97\xb4\x62\xc9\x48\x4a\x11\xd9\x71\xd4\x40\x18\x5f\x72\xc8\x91\xa3\x86\x2a\x9b\x2f\x55\x6c\x16\x87\x55\xe1\x1d\x61\x0d\x44\xf8\xd0\x80\x24\x10\x2d\xa4\x24\x7f\xc6\x4f\xd9\x78\x4c\x22\xd1\xef\xcb\xa4\x75\xd1\xdb\x4a\x51\x0f\xf9\x5c\x44\x85\x7c\x46\xe7\x04\x69\xcd\x79\xef\x9c\xa7\xb2\xab\x03\x36\xa9\xfc\x07\x29\x60\x93\x58\xb3\x94\xa7\xfe\xa1\x92\xd6\x27\xbc\x93\x7c\x54\xeb\x7b\x34\x91\xcf\x29\xef\x24\xcf\x7b\xe7\xbc\x35\x2a\xd7\x1f\xd0\x53\xd9\x02\x7a\xaa\x9f\x6a\x7d\x43\x25\xea\x67\x03\xb9\xe4\xa3\xd4\xff\x88\xa2\xfc\x25\x55\xe1\x3f\x79\xd3\xf6\x23\x38\x56\xd3\xe1\xa4\x98\x92\x22\xc5\x50\x7c\x73\xa6\x91\x06\xdd\x13\xd5\x76\xb9\xbb\xe7\x76\xbb\xb4\xbb\xa2\xd4\x4e\x7b\xa8\x9d\xab\xd8\x56\x60\xdd\xec\xa1\x23\x51\x45\x89\x72\xe2\xec\x75\x07\xa8\x5d\x3b\x30\xc6\xae\x44\x06\x92\x9e\x98\xb1\x57\x35\x66\x83\x1a\xbb\x8e\xec\xdc\x79\x84\xdb\x35\x6e\x57\xaa\x8f\x2f\x9a\x3b\x50\xec\xd0\xb1\x7b\x87\xa6\xbe\x1e\x42\x09\x7e\x43\xff\x9a\x4d\x75\x70\x29\x25\x66\xb0\xf5\x7e\x5f\x20\x9d\x4f\xfa\x10\x41\x4e\x67\xb6\x0a\x5d\x94\x0e\x04\x9b\xb9\x60\x80\xc1\x47\x4d\x81\xb0\xc4\xc7\x78\x29\x1c\x68\x22\x5f\xcf\xa5\x3d\x0c\xda\x01\x6d\x89\x76\xe0\x0c\xf1\x8a\x73\x2f\x0b\x5b\xd3\xd9\x8c\x25\x7c\xd9\xb9\x57\x88\x67\x90\x9a\x88\x52\x5b\xb4\x10\x74\xbb\x83\x85\x68\x1b\x45\x13\xb9\x9e\x9e\x27\x0f\x68\x07\xa8\xfd\xc0\x9d\x9f\xb5\x3e\x74\xdb\xaf\xcf\x6f\x8e\xc5\x9a\xcf\xff\xf5\x6d\x0f\x59\x6f\x30\xc7\xab\xf8\xa1\xa0\x42\x84\x13\x27\xa3\x0b\x73\x01\x32\x7b\x13\x8a\x44\x62\xa0\x40\xf2\x58\xd2\x0e\x06\x82\x3a\xa3\x9f\x1a\xb3\xa1\x32\x83\xb2\xdd\x94\x0f\x70\x46\x97\x4b\x54\x30\x6d\xe0\xb8\xcd\x1b\x76\x6f\xe8\x63\x88\x78\xb4\x07\x3d\x11\x0f\x2d\x3f\x63\xef\xa6\x21\x83\xca\xb9\x62\x77\xde\xc5\x71\xf6\x29\x4e\x6f\x30\x30\x64\x90\x21\x57\x9c\xb9\xdc\x5a\x74\xb5\xf6\x51\xa4\xdc\xa7\x0d\xf0\xcb\x96\x69\x03\xcb\xc2\x8b\xc2\xbb\xc3\xd4\xb7\x61\xf7\x86\xce\x3e\x56\x1a\x29\xa7\xfc\xf3\x67\xcd\x52\x36\xed\x6d\x90\xdc\x1e\xfb\x14\xa7\x28\x9a\x86\x20\xcb\x67\x5e\xef\xb0\x16\x5d\x6e\xf6\xa2\x36\x50\xee\xa3\x08\x0b\x2f\xa3\xc8\xb2\x70\x78\x77\x78\xd1\x08\xfe\x8d\x7d\xf2\x36\x2c\x1d\x6f\x6b\x3b\x25\x6d\xb2\xd3\xfa\xf2\x54\xdb\x32\x5d\x16\x0b\x06\x64\x73\xff\x72\x06\xc5\x23\x92\x28\x07\x8c\x51\xdf\xc1\xe7\xb2\x5d\xd2\x34\xca\x65\x0d\xeb\x20\x0a\xf8\x04\xb5\xda\x44\x0c\x3b\xe4\xd0\x82\x4e\x9b\xb8\xbe\xda\x3a\x6f\x38\xe4\x96\xfd\xef\x6a\xaa\x31\xfa\xfb\xb5\x67\xae\xda\x74\x12\x17\xb4\xf0\x6e\x9b\x2d\x70\xf2\xc4\xb8\xe4\x8f\x4f\x5b\x78\xf9\xad\x4f\x5e\xda\x9f\x72\xd8\x43\x32\xa9\x32\x8b\x6b\xe5\x6a\x3b\x65\x47\xa3\x10\x8a\xf1\xd5\x56\xbe\x2a\xdb\x1c\xf5\x6e\x8b\x95\xde\xd0\x54\x59\xf0\x4c\x2c\xdd\x74\x8b\xb6\x2f\x58\xc7\x1c\xce\xd8\xc5\x7d\x5b\x3b\xa7\x2c\xee\x5b\x74\xd6\x29\x53\x53\x01\x63\x82\xd1\x54\x39\x5b\x6d\xfb\x0d\x82\x8a\x49\x86\xe5\xa0\xe7\x78\xdd\xaa\x37\xf1\xd8\x8e\xd5\x67\x32\xd9\xdc\x8f\x1f\x6b\xe5\x38\xda\xdc\x91\x1e\xb5\x39\x38\x71\x6c\x9f\xda\x1c\xa2\xe8\xfb\xf3\xd0\x2f\xeb\x67\xd6\x6b\x67\xd6\xd7\x5f\x56\x3f\xb3\x9e\x24\xf6\xf9\xfa\x99\xf5\x97\xd5\xb3\xe5\xda\xf7\xc7\x76\xa5\x8d\x8d\x74\xa5\xe6\xb0\x16\x6d\x9c\x85\x0e\x0c\xfd\xb2\xbe\x9e\x1e\x37\x32\xd4\x6b\x1f\xb1\xcf\x1b\x85\x98\xe7\x66\x30\x0c\x09\x22\x70\x6a\x65\x9d\x31\x54\x4d\x9e\x4c\x3a\x50\x35\x20\x30\x54\x4b\x51\xbf\x4f\xac\xae\xb2\xfa\xe4\x6c\xe8\xa4\xaa\xdb\xf4\x86\x8d\x52\x34\x97\xd5\x3d\x12\xe4\x61\xc8\x59\x45\x53\xd5\x90\x62\x38\xf5\x97\x12\x52\x35\x55\x31\x9c\x32\xc1\xd8\x28\xd0\xa3\x75\xa7\xfe\x52\x42\x2a\xe9\xd1\x04\x76\xef\x3f\x96\x5e\x1e\x5b\x5b\x8d\x1e\xa0\x09\xa0\xbc\xa1\x87\x4a\x91\x92\x1a\x67\x6b\xe5\xf7\xe4\x0b\xdc\x2b\x72\x28\x24\x97\xa7\x5a\xf9\x1a\x6b\x79\xab\x70\x95\x6c\x0f\x1d\x29\x86\xec\x32\x7b\xce\x6a\x2b\x2f\xad\xf2\xdc\x4a\xa8\xbc\xd4\x66\xad\x39\x1f\xd2\x36\xbe\xfc\x13\x54\x63\x24\xca\x17\xc4\x91\xda\x8e\xad\x93\x3d\x27\x87\x8e\xa9\x79\xea\x09\x40\x60\xcf\xc9\xf6\x50\x79\xaa\x01\xcb\x96\x8a\xbe\xab\xe1\x38\xb0\x64\x47\x6a\x3e\xab\xb6\x66\x59\xfe\x98\xda\xe4\xac\x3c\x5a\xbc\xd1\xd6\x6b\x85\x1b\x84\xad\xa8\x03\xac\x24\x1a\xcd\x32\xc6\xe8\xea\x23\x2f\x07\xa3\xd1\xa0\x30\x39\xc8\x2e\x2c\x37\x3b\x7c\x21\xa1\x14\xf2\x39\xca\xcd\x8e\x04\xc6\xd8\x14\xba\x2a\x2b\xfc\x98\x45\x55\x18\x7f\xf4\x07\x15\xcb\x7f\xe3\x14\xc0\x90\x5a\xeb\x13\x8a\xa3\x52\x4f\xad\x04\xa4\x54\x69\xb7\x5a\xcf\x31\xb5\x88\x63\x24\xa6\x31\xe5\x8c\xe6\x15\x4d\xdc\x05\x47\x9a\x16\xac\xb4\x50\x32\x5a\x2b\x4a\x27\xe9\xa8\x63\xcf\xe9\xa8\x63\xcf\xc9\x3a\xfa\x42\xbc\x55\xc7\x9c\x50\x0a\xd9\x75\x9c\xda\xd8\x73\x86\x43\xce\xea\x2f\x7b\x88\x3d\x67\xb3\x8e\x94\x5f\xa5\x93\x63\xca\x0f\x7a\xc6\x6e\x99\xea\x55\x1d\xaf\xc6\xb1\x64\x72\xe2\xda\xad\x36\xf6\xe8\x28\x82\xd8\xa3\x36\x6b\x2d\x30\x63\xc6\xc4\x58\x58\xc6\x03\x31\x52\x7b\x6d\xbd\x63\x6b\x1c\x57\x91\xd1\xdf\x04\x88\x24\x88\xa8\x43\x23\x20\x9b\x93\x82\xd1\x1b\x54\xd3\x23\x7a\x3d\xce\x51\x1a\xd3\x69\x4f\x78\xae\xa6\x5b\xd8\x49\x55\x14\x87\xca\x7f\x32\x6d\xa1\x94\xd0\x30\x42\x95\xfe\xba\x77\xf8\x5e\xfe\x51\xe1\x4f\xf0\x01\x56\x16\x30\xad\xc7\x2b\xf3\x91\x3e\x91\xf2\x77\x95\xdf\x65\xb2\x2c\x3f\xaa\xf7\x44\x48\x96\xd9\x9f\xe4\xac\xfc\xa8\xcc\xbf\x52\x7e\xb7\xfc\xae\xe1\x34\x83\xd8\x9f\x8c\x34\x66\x99\x4b\x87\xef\xe5\x2f\xaa\x94\x79\x8c\x21\xba\x5e\xe8\x59\xe5\x50\x25\xaf\x5c\x7e\xd7\x2c\x9c\xfd\x49\x66\x77\xe9\x35\x18\x1e\x99\xc9\x66\x02\x3d\xe1\x18\xda\x8f\x63\x12\x40\xb9\xac\x12\x8f\x7a\xcc\x23\x3c\x7e\x4f\xd4\x3c\xc7\x93\x89\x7a\xcc\xc3\x3c\x39\x4f\x34\x3d\xd6\x7a\xa7\xa4\x37\xd9\xc0\xfb\xb0\xd1\x7e\x32\x3d\x86\x61\x58\x71\xbc\xf9\x4e\xb1\x12\x73\x6c\x1e\x6a\x3b\xd6\x96\xa9\xc6\x9e\xa8\x02\x57\x15\x9a\x63\x61\xa8\x39\x0b\x74\xdc\x5a\x2b\x32\xef\xf8\x5a\x6a\xdb\xdf\x66\xec\x9d\x66\x27\x51\x21\x9f\xcb\x4e\x22\x25\x1e\x73\x19\xca\x32\x97\xce\xdf\xb6\x90\x64\xbc\x03\x99\x74\xb7\xa1\xdb\xec\xa6\xb1\x30\x5c\x27\x3f\xf9\xa4\x2c\x2f\x95\x1b\x43\xba\x23\xd4\x28\x2f\x95\x8f\x0d\xa1\x9b\xc6\xc1\x46\xf7\x7f\x5c\xf2\x4a\x08\xbd\x74\x42\xdc\x04\x0d\x3b\x2f\x1d\xda\x98\x44\x29\xc5\x84\x35\xa8\x43\x59\xa0\x2e\xaa\x81\x4f\xe0\xbd\xe7\xc9\x59\x59\x5b\xfd\x07\x39\x2b\x9f\xe7\xf5\xd2\xa5\x7a\x15\xac\xc5\x3b\x34\xde\xae\x32\x16\xf6\x2e\x95\x65\xed\x92\x3f\xc8\xf2\x52\x6f\xb8\xd1\xab\xdd\x23\xeb\xe9\xe6\x8f\x83\xa1\xd6\xde\x6b\x2a\x66\x03\xc9\xf1\xe7\xc6\xb2\x1d\x14\x8f\x49\xa2\x81\xb3\x8a\x61\x88\xdf\x27\x4a\x4e\xaa\xa6\xc8\x65\xf3\x85\x2e\x3e\x31\xce\x04\x74\xc4\x66\x1c\x97\x3f\x7a\xce\x5f\x55\x57\x70\xab\x64\x77\x5b\x73\xd1\x58\x76\x72\x4f\xeb\xe4\xee\x4b\x8c\xc8\xb6\x68\x24\x36\xb5\xa5\x81\xd4\x71\xd0\xf7\x8f\x18\x97\xb3\xc7\x97\xdc\x73\xe6\xbf\xd7\x7b\x57\x8a\xf6\x59\xf5\xf5\xd9\xa8\xd2\x11\x08\x6f\x3c\x35\xa1\x47\xcb\x33\x64\xaf\x7f\xca\xa4\xf9\x33\xc6\x13\xc3\x68\x9b\x74\xd9\x6b\x6a\xb5\x4d\x9e\x51\xd2\x33\xf4\xdc\x23\x44\xc8\x8d\x6b\xf2\x18\x8b\x3f\x78\x9d\x7d\x55\x83\xd6\x3e\xd3\x5a\xb9\xe4\xf4\xd6\x34\x90\x1d\x03\x7c\xbf\xd3\xcb\xa0\xc7\xf6\x3b\xbd\x5a\xc9\xf8\x78\xb9\xdb\xfb\x2b\x21\xde\xef\x8d\x87\x77\x94\x0e\x26\x19\x67\x7f\x46\xce\x82\x74\x50\x6a\x44\xe7\xe2\x24\x29\xa3\x33\x40\xba\xbf\x99\x82\x23\xc7\x44\xba\xc8\xd4\xcb\x38\x49\x1a\x49\xdb\x41\xa9\x91\x32\xba\xa8\x30\x92\xb6\x99\x82\x99\x74\x80\xff\xfa\x3a\x7d\x20\xad\x8b\x3c\xb0\xd6\x18\x4e\x6b\x1f\x88\x8c\x0f\xa0\xab\x94\xd0\x1d\xc9\x77\x1e\x30\xbc\x0f\xbc\x93\xbc\x43\x8f\x1f\x17\xc0\x70\xa2\xdc\x23\x01\xd4\x7e\xe2\xec\x95\x80\xb1\x76\x99\x71\xc3\x8a\x1d\xe6\xc1\x1f\xc9\x9c\x18\xbb\x29\x65\x4e\x8c\x2d\x55\xe9\xc4\x45\xc1\x80\x2f\x7f\x22\x3b\xc4\x79\x3b\x6d\x21\xdb\x2d\xb7\xd8\x42\xb6\x9d\x36\xfd\x6b\x1b\xe7\x7f\xf1\xe3\x2c\x13\xe9\x27\xc7\xcf\x34\xe2\x6f\xf8\x78\xf3\xe4\x63\x6d\xa7\xad\x35\xdc\x77\x0b\x55\x16\x8d\x13\x1a\x51\xde\xa5\x2d\xd5\x87\xf7\xeb\xb2\x7c\x91\x9c\x95\xef\x22\x7d\x92\xbf\x48\xde\xf2\xb1\xc6\x94\xaf\x68\x4b\x65\x99\x14\x23\xa5\x91\x45\xcf\x7b\xe4\xef\x84\xf3\x73\xb0\xc2\x6b\x9c\x0b\xce\xa6\xc8\xd8\xb3\x13\x0c\xbb\x4a\xf2\xfb\xe0\xae\x9c\x91\xa9\x9c\xd8\x11\x22\xe7\x94\x9d\xb7\xf4\x5f\xfe\x93\x9d\x67\x0f\x35\xb0\xbf\x7e\xfe\x91\x5d\x47\x76\x0a\x91\x2d\x2f\x6a\x7f\xd4\x9e\xd7\xfe\xf8\xe2\x96\x2d\x2f\x52\x13\x75\x52\xd3\x8b\xec\xa6\x07\x6e\x2e\xbb\xce\x3d\x67\xe7\xcf\xf6\xb3\xc3\xe7\xed\x1c\xda\xf5\x20\x75\x6b\xcf\x69\x7f\x30\x2c\x2c\x9b\x69\x2a\x35\xe9\x2e\x7d\x1d\x2c\x0e\xe7\x44\x08\x3d\x88\x54\xcf\x0e\x19\xbd\x6b\xea\xd5\x72\xa6\x62\xcd\x38\x92\x45\x06\x63\x75\x4a\xb6\x5c\xa4\xa4\xa2\xf4\x24\x73\xd9\x54\x79\x63\x32\xc9\x6e\x53\x72\x59\xa5\x47\x51\xb4\xdf\xb0\x52\xf6\x14\xa6\xaa\xb9\x1e\xed\xf5\xc4\xda\x44\x6f\x32\xc9\xb6\x1b\xc6\x0a\xb7\x2a\xca\x7c\xe5\x52\x45\xfb\x4d\x8f\xc9\x8f\xe4\x84\x52\xa5\x3e\x53\xb7\x65\x2c\xbd\x34\xa2\xa3\x32\x3b\xca\x90\x08\x85\x52\xb2\xbc\x31\x95\xcd\xa4\x7a\x14\x85\x92\xe5\x62\xf6\x94\x53\xb2\xac\xa4\xfd\x46\x51\x7a\x94\x6c\x4e\x61\xb7\x25\x59\x31\x9f\xd4\xc1\xe8\x51\x2e\x55\x28\xd9\x93\x53\x73\x3d\xa4\x24\xd6\x26\x7a\x14\xa5\xbc\x51\x9f\xd0\x91\x1b\x56\xc5\x1e\xa1\x88\xa8\x61\xd7\x66\x36\x6c\x84\xeb\x31\x17\xfe\x4a\x33\x75\xc6\xa5\x27\xd9\xa3\xe4\xf2\x09\xed\x75\xa3\x28\xa3\x21\x3d\x8a\xc2\x6e\x8b\x17\xf2\x49\xbd\xba\xdc\xc7\xc0\xa2\xc3\x6a\xf2\x16\xb9\xe1\x27\xc5\x1e\x41\xad\x9e\xf5\xae\x22\xb3\xd2\xac\x11\xde\xab\x82\x5b\xb1\xc7\x68\x65\x2e\x59\xde\xa8\x28\xf3\x75\x07\x29\xbd\x59\x35\xdb\x4b\x8a\x8e\xbf\x9e\x24\x2b\xe5\x92\xe5\x0d\x3a\x3e\x13\xf9\x9c\xd2\x93\x4c\x6a\xaf\xb3\x52\xb6\xb7\x57\xef\x0b\x25\x99\xec\x49\x8d\xf2\x9c\x25\xe3\x4e\x30\x53\x96\xcb\x79\xe2\x31\xa7\xe0\xf7\x05\x7d\x95\xb3\xe6\x1d\x2c\xc5\x72\xd9\x82\x37\x9a\xf1\x54\xe5\x35\x4d\x97\xa0\x06\x56\x7c\xf9\x4b\x57\xac\xe8\x8a\x0b\x82\xc7\xe5\xb6\x4b\x76\x17\x77\x43\xee\x41\xf6\x93\x01\x25\x2b\x33\x70\xf7\x66\xf5\x54\x3a\x6b\x61\x6f\xc9\x7f\x6a\x63\xff\xaa\xc2\x2c\x31\x6e\x75\xf9\x3c\xd6\x50\x4c\xa2\xa6\x47\x7f\x7c\x33\xdd\xa5\x73\x22\xb2\x36\x86\x07\x08\xea\x3c\x90\x0e\x49\x30\x30\xca\x9d\x57\x87\x9f\x61\xa7\x36\x89\xaa\x7c\x97\x3e\xbd\x98\x4a\xb7\xbf\xda\xb4\x27\x76\xc8\xa6\x31\xad\x92\x95\x77\x50\xaf\x2d\x64\xbb\x92\x0b\xea\x6e\xed\x09\xdd\x6d\xb3\x51\xef\x8e\x8a\x05\x2d\xbd\x1b\x32\xd2\x8f\x18\xe5\xea\xe9\x6d\x57\x72\xf3\x0c\x5b\x5c\x3d\x83\xed\x4a\x5b\xc8\xc8\x90\x55\x2a\x36\x7c\x8e\xe1\x2f\x08\x7f\x15\xae\x32\xe1\x3b\x11\x1c\x27\x82\xdb\xb0\x7b\x3b\x0e\x20\x27\x80\x9b\x15\x8f\x0b\x08\xbb\xeb\xb8\x60\xa3\x6a\x87\x29\x98\x67\x14\x2b\xe3\x71\x84\x58\x47\x46\xc8\x08\x01\xe9\x12\x95\xda\xd9\xaa\xf5\x19\xe7\x37\xb5\x3e\xe3\xb0\x40\xbf\xe1\xa1\xfe\xd6\x4e\x2e\x72\xbc\x50\x23\x7d\xa5\x2e\x06\x41\xe5\x4c\x19\x6a\x9c\x9e\x58\x2f\xf7\xa8\x61\xe6\xca\x97\x2a\x25\x55\x0f\x89\x9a\xb2\xa7\x2e\x3f\xe5\x8c\x33\x31\x2e\x72\x52\x6a\xf4\xdc\x9b\x20\x9a\x47\x77\x4e\xa2\x0e\xea\xa6\x2e\x0a\x0a\x23\xf0\x26\xf3\x01\x9d\xde\x25\x41\xf8\x69\x47\x63\xa8\x18\xba\xb8\x43\xfb\xc0\xa0\x74\xed\x83\x8e\x8b\x43\xc5\x50\x63\x07\xd9\xb4\x0f\x2a\x51\x64\x33\x07\x81\xad\x12\xa5\x7d\x40\x7f\x0a\x5d\xdc\x71\x59\x47\x63\xe8\x4b\xda\x8b\xc6\x51\xea\xcc\x97\x42\x8d\x1d\x97\x75\x5c\x1c\xba\xf7\xde\x6a\x0c\x65\x8c\xd3\xd9\x2f\x8e\xc4\xd4\xae\x07\xba\x8c\x72\x92\x61\xc5\xe9\xad\xce\xf8\xe3\xcf\xe0\x73\x72\x36\xa5\x07\x48\xa2\x5f\x36\x43\xd8\x24\x73\xca\xae\x4e\xf9\xec\x9b\x5e\x47\xc9\xe1\xf3\x39\x4a\x0e\x2f\xf3\xda\x6c\xce\x37\x9c\x36\x9b\xc7\xe7\x7c\xda\x29\x0b\xe3\xf9\x90\xa3\xff\xf5\xac\x53\xf6\x39\x9e\x75\xf8\x64\xba\x88\xad\xb3\x8b\x16\x8b\x68\x2f\xdf\x65\x73\xb9\xaa\x7b\x5b\x22\x84\x22\x1c\x08\xa0\x05\xf3\x75\x2e\xc9\x93\x8b\xfa\x3d\xfe\x0a\xdf\x97\x31\x76\x98\x7d\x81\x44\xd6\x60\x9e\x33\x69\xf3\xdc\x58\xed\x99\x30\x53\xc2\x32\x6e\x3a\x31\x56\xe7\x8c\x79\xf5\x49\x3a\xc0\xf5\x6b\xa5\x44\xb8\x14\x4e\x68\x9d\x3f\xb8\x3e\xd4\xd6\xda\xd9\xc9\x5e\xeb\x6c\x6d\x0b\x5d\xf7\xfd\x56\xda\xe7\x75\xf6\x75\xb6\x1e\x2d\xb5\x76\x9a\xdc\xd4\x53\xe7\xdf\x74\xd3\xf9\x6b\x66\xa8\xea\x8c\x35\xba\x8b\x9e\x72\x7a\x9f\xe8\xa4\x03\xa5\x92\xd6\xde\xd9\xd0\xd8\xc8\xad\x7a\xa0\xa5\x73\x51\x67\xe7\xa2\xce\x96\x07\xfa\x75\x36\xac\x4a\x53\xe6\x89\xc3\x9b\xbe\x73\xd3\x82\x47\x1e\x59\x70\xd3\x77\x6e\xf2\x9a\x7a\x32\xc9\xbc\xc7\x61\xa1\xa1\x57\x8e\xc7\x78\xd1\xd0\xcf\x66\xd2\x86\xd1\x59\x22\x93\x26\x9f\x24\xc2\xd4\x01\x52\x3c\xe6\x64\xf1\x98\x92\xea\xe0\x72\x59\xf3\xdc\xa7\xa2\x3b\x0a\x5d\x7c\xa1\x8b\xcf\xa4\x9b\x99\x00\x25\xf4\x98\xf6\xc6\x1f\xb7\xc8\x4a\xa8\xde\xdf\xb8\xdc\x77\x0b\x49\xdf\x0e\x31\xc5\xd7\xa1\xbd\xf3\x9b\x57\x07\x76\xdd\xea\xda\x19\x74\x4f\x6a\xeb\x6a\x6a\x9b\xd0\xc0\x2c\x1c\xd7\x35\xbf\x2b\xcc\xac\xe7\x7c\xf1\xd9\x75\x85\x27\xbe\xf5\xcd\xbb\x53\xb6\x94\x2f\x96\xaa\x4f\x75\x47\xdc\x9c\x92\x55\x3e\xbd\xf7\xf3\xfe\xfa\x90\x22\xd7\x2f\x97\xaf\x5d\x4d\xe2\x05\x2b\x06\xb4\xef\xaf\x5b\x3b\x49\x98\x5f\xec\x2d\xc6\x27\xf2\x4e\xd1\x21\xc5\x17\xe4\xa7\xca\xfc\x2c\x5b\x26\x77\xd5\x2f\xbf\xba\x29\xe1\x75\x71\xd6\x54\xd2\x96\xf2\x04\xad\xcb\xb6\x6e\xa8\xea\x38\x20\xa8\x22\xe0\x42\x06\x10\xc6\xef\xb0\xf8\x8c\x49\x37\x15\x34\x14\x9c\x42\x2e\x9b\x0a\xa6\x9a\x79\x41\xad\xdd\x27\x1b\xc6\x94\xd3\xfb\xfa\x4e\x9f\x72\x2a\x4f\x4b\xb7\xdf\xb2\xb4\x60\xfa\x66\x72\xa6\xaf\x7f\xc4\x7a\x9d\x97\x17\x6e\x3d\xff\xac\xb9\x73\xcf\xcb\xf4\xa9\x44\x13\x16\x6f\xb8\xf1\xb1\x15\xd5\x90\xe5\x9f\xad\x84\x54\x78\x09\x1d\xef\xbc\x0a\x0f\xa2\x98\x02\x90\x92\x0a\xf8\x2b\xfa\x70\x51\x0a\xf0\x91\x84\xd1\x17\xa6\xa2\xdc\xb0\xe2\x85\xde\x0b\x11\xa4\x94\x6c\x21\x8f\x08\x82\xa2\xba\xfb\xad\x19\xa6\xe1\xd5\x8c\xb7\x76\x7f\x8e\xee\xa4\x03\x74\x67\xf9\xc9\xb0\xef\xba\x6f\x85\x5b\xc3\x5b\xce\xf6\x71\x6b\x7d\xdb\xb5\x54\xf9\xb0\x96\xda\xee\xf3\x6d\xa7\x5f\x33\x27\xfd\x7a\x3b\x2b\x1e\xdc\xb8\xfa\x9a\xa7\xb5\x8f\x48\x7a\xfa\x9a\xd5\x1b\x0f\xbe\xf8\xd7\xbf\xb2\x93\x5b\xc3\xdf\xba\xce\x17\x0e\xfb\xce\xde\xa2\xfd\x72\x56\xfc\x4f\xda\x3b\x14\x78\x2b\x3e\x2b\xfe\x16\x05\xb4\xbf\xbc\x65\x9c\xab\xed\x97\xc0\x0f\xc0\x8a\x06\xcc\xc0\xa9\xf8\x14\x90\x2c\x74\x90\x01\xaa\x77\x3c\x9c\x49\x1d\xce\x8a\x76\x35\x97\x2d\x74\x90\x09\x71\x34\x6d\x9c\x2a\x6d\xe6\x82\x01\xd9\x27\x4a\x14\xe0\x0d\xf5\x33\x1f\x2f\xe4\x13\x05\x25\x55\x68\xa6\x20\x6b\x5b\x78\xce\x8a\x19\x6f\xed\xfe\x1a\xbb\x65\xb4\x15\xf4\x79\xba\x54\x5b\x76\xc9\x14\x9b\xd7\xbe\xc5\xdd\x7e\xc7\xa1\x25\x3e\xdf\x97\xe8\x39\x72\x9c\x7b\x5e\xde\xe6\x15\x42\x89\xe6\x28\xe7\x4e\xde\xff\x59\xaa\xb7\x50\xc9\x97\x9a\x7d\x8f\xb6\xf1\x77\xf3\x0f\xd0\x25\xd7\x5c\xf5\xb5\xee\x0b\xbe\x71\xf2\x4f\xbe\xd0\x5d\x5a\xa3\xb7\x53\xd3\xd8\x65\xa3\xcd\xfc\x2f\x89\x3d\x53\xb6\xef\x3f\xd7\x3d\xdb\xe6\xb5\xf7\x9c\xf2\xda\x2d\x2d\xbd\x2d\xef\x90\xdb\x73\xa1\xdb\x2e\x7b\x65\x66\xd3\x26\xdf\xf6\x56\x9a\x3e\x38\x69\xeb\xec\x58\xf1\x8c\xc7\x9e\xdd\xea\x7d\x6f\xff\xb7\xae\x5a\x5f\xfc\xe6\x05\x66\xdf\xb9\x87\x55\x71\xd0\xa0\xa7\xa8\x4e\x51\xe3\xe5\xbf\x63\xe7\x24\x8e\x02\xd2\x88\x95\x27\x75\x51\x3a\xc0\xd7\xec\xd5\x32\xaf\xcd\x51\xf7\x46\x9d\xa3\x32\x2b\x39\x38\xc4\x93\x9e\x69\xb1\x23\x88\x4d\xf3\x24\xe3\x1c\x3c\xd3\x67\x4f\x7f\xe0\x59\xa7\x2c\x3b\xf5\x17\x6d\xa5\x9f\xd9\xa5\xba\x3a\xc9\xa9\x15\x6c\x0e\x07\xb7\xef\x88\xda\xdd\xdd\x14\x8b\x35\x75\x77\x0b\x6a\x4b\x22\x51\x59\x93\xd6\x0a\x6b\x91\x06\x28\x20\xba\x48\xae\x6a\xbb\x53\x56\x32\x34\xdf\x6d\xa4\x4c\x62\x4a\x4a\xe9\x36\x59\x1a\x2b\x99\xee\xa0\x50\xe8\x22\xa1\xaf\xbd\xd8\xfb\x40\xbf\xe0\x51\x25\x3b\xcf\xb9\x44\xed\x3f\xb5\x72\x4e\x70\xf4\x59\x9d\xcc\x65\x7d\x66\xa8\x8e\x91\xad\xcf\xea\x14\xd9\xf7\x89\xd3\x78\x27\xc7\xea\x54\xa7\x9b\x7d\xa9\xbf\xb7\x24\xf4\x65\x4b\xbd\x0f\x94\xe7\xca\xce\x3e\x91\x38\x07\x0d\x69\xe5\xef\x7b\x9c\x7d\x56\x56\x37\xf4\x8c\xe4\x76\xd8\x2f\xb4\x52\x8e\x38\x0a\x5a\xdc\xee\x3a\xd5\x21\x7c\xb5\xbf\xb7\xa8\xaf\x64\xc3\xe6\x1e\xc5\xb1\xb6\xd0\x55\x2b\xe8\xd3\x71\x15\x10\xac\x58\x72\x27\xc7\x7d\xa9\xd6\x3f\xa2\xbc\xa9\xcc\xc7\x35\xe9\x0a\xe3\xe2\x92\xe3\x4e\x8d\x54\xc4\xbd\x68\xcd\x5d\x02\x01\x95\x22\xda\x00\xf5\x51\x51\x2b\x69\xfd\xe3\xdd\x6c\xc0\x70\xab\xfa\x9b\x83\x1e\x62\xba\xb5\xfe\xd1\xa3\x34\x6c\x60\x34\x9c\x8c\xd2\x22\xa3\x91\xa4\xf6\x66\x8f\x18\x27\xd8\xd5\xe5\x33\x8b\x33\x97\x93\xf9\x51\xb3\xbd\x66\xbd\x91\xa2\x91\xad\x58\xa4\xc8\x10\x28\x42\x25\xf3\x5b\xa4\x22\x8b\x50\xc4\xb0\x7a\x1d\x70\xc8\xf2\xd0\xd7\x8d\x24\x7a\x86\x52\x4d\xf0\x82\xa3\xc6\x85\x27\x02\xb2\xbd\x7d\x33\x97\x2f\x9f\xd9\x67\xbe\x7b\x2b\x72\x4c\xbf\x04\x61\x00\x5e\x14\x70\x05\x40\xa2\xd4\xc1\xd7\x98\x29\x54\xf7\xb0\x67\x50\xcc\x49\x1d\x62\x2a\x5f\x68\xe6\x33\x51\xf3\x28\x01\x79\x47\x22\xa3\x31\x27\x93\x44\xc9\x59\x6b\xe1\x60\x18\xf3\x75\x89\x23\xa9\xd9\xbd\xd3\x17\x04\x9a\x33\x99\x9e\xf6\x01\xe3\x78\xeb\x11\x41\xb4\x6a\x25\xab\xd3\x21\x47\x2e\xed\x5c\x9a\xed\x4d\xcf\xcc\x4e\x6d\x9c\x56\x49\x42\x18\x3d\xee\xa7\x27\x19\xc6\xe4\x85\xd3\x27\xd6\x47\x3a\x9a\x26\x9c\x3a\xe3\x9c\xf3\x37\xcf\x32\xcb\x18\x17\x58\xcd\xc5\xb7\x2c\x7b\xf2\xa4\xc2\xdc\x09\x4d\x86\x8a\x61\xc8\x19\xd6\x4b\x91\x1d\x25\x22\x4e\x72\x06\x63\x1d\x33\x52\xe7\x3f\x61\xc4\x97\x9c\x5e\x9b\xf6\x3d\x6e\x53\x35\x41\xf3\xf4\xee\x8e\xae\x75\x33\x97\x6e\x5e\x74\x76\x26\x6a\x64\x1e\x13\x62\x26\x1f\xdd\x7f\x11\x00\x9d\x35\x75\x33\x3e\x1e\x4b\x89\x82\x28\x89\x4a\x2a\xa7\xe4\x15\x7d\x11\x14\x0a\x0a\xcb\x65\xbb\x28\x91\x49\xf3\x12\x06\xb5\x95\xef\xcf\xee\x79\x4e\x3b\x32\xe5\x14\x4f\x23\xcf\x09\x64\x63\x76\x26\x4d\xf6\x4f\xa8\x6f\xae\xfb\xca\x93\xb7\x0f\x52\xef\xb7\xdf\xa7\xfb\xb8\x0e\xed\x61\xed\xd7\xff\x6c\xf9\xc6\xa9\x4e\x0b\x0b\x78\x89\x77\xf3\x2e\xce\xc9\x2c\xb9\x60\x67\xc7\xdc\xd6\x73\x49\xbc\xe7\xb3\xef\x3e\xb6\xea\x9f\xc7\xca\xfc\x19\xe3\x24\xaf\xdf\x67\x70\x45\xd5\x95\xac\x89\x7c\xcd\x5c\xba\x8b\x1b\x59\xd9\x3e\x51\x9b\xff\x23\xed\x01\x6d\xae\xf6\xc0\x8f\xcc\x93\x1b\x93\xa6\x9f\xd9\x31\xb1\xe3\xcc\xe9\x93\x4c\xef\x10\x94\x90\x66\xde\xba\x56\xb9\x9c\x68\xd4\xc7\x4a\xea\x4f\xb4\x67\x9f\x7c\x92\x66\xfe\xc4\x54\x31\x66\x7b\x95\x00\xcf\x07\x74\x41\x28\xa4\x28\xec\xa2\xd1\xa4\xb5\xd9\x2a\xfa\xe1\xa5\xf0\x8b\x8f\xf2\x11\xf8\x80\xa4\x54\x7b\xb3\x48\x75\x8f\xea\x2e\x43\x35\x7c\x8c\x36\xf8\xc5\x47\xaa\xda\xdd\x47\xe4\x9c\xcc\xde\x92\xe5\x72\xa3\x9c\xab\xea\x87\x07\xc4\x47\xb9\x77\xaa\xfa\xe1\x63\x76\xef\xc4\xbb\x0c\xfd\xf0\x31\xda\x60\xf6\x5a\xb9\x51\xd6\xcb\xca\xc9\x8f\xc8\xb2\xa9\x98\x7e\xc4\x28\xd4\xe4\x8d\x54\x5e\x45\x12\x3d\xd5\x3b\xae\x3a\xb8\xe9\x34\x83\xc6\x9c\x7c\x35\xcf\xfd\x47\x8d\x5d\xff\xea\x46\x5c\xce\xdc\x89\x33\xa5\x55\xe3\x62\x0f\x2e\x4c\x4d\xe4\xc9\xa4\x03\x02\x64\xc7\x50\xd1\x52\x27\xf1\xac\x14\x52\x5c\x54\x94\xa7\xcb\x54\x74\x29\xa1\x12\x2b\xba\xad\xfd\x12\x53\x5d\x5a\xc9\x37\xd5\xa7\x95\xf4\xb0\x72\x49\x0f\x93\x1d\x5c\xa9\x9a\x23\xe2\x90\x79\x9b\xe8\x11\x7d\xd4\x4f\xfd\x4a\xa8\xde\x43\x6a\x20\xa0\xa9\x9e\xfa\x90\xa2\xa9\x75\x25\x1b\xdd\x5d\xef\xd1\xd4\x60\x90\x8c\x20\x52\xed\x25\x6b\xdd\x68\x16\xad\xaf\x46\x7f\xa4\x0a\xe6\x19\xea\xa9\x40\xa2\x62\x6d\xc1\x57\xbe\xb2\xc7\x27\x4a\x42\xc0\xef\x93\x46\x2e\xe7\x33\xf8\x3c\x2e\x6e\xde\xd2\x97\x6e\xe6\x83\x86\xd5\x85\x71\x73\x07\xf7\x82\xf1\x79\x21\x5a\x7f\xf4\xa0\xa3\x9e\xdb\x6d\x5c\xd8\x87\x90\xe2\x76\x37\xb2\x7f\x79\xc1\x54\x74\xbb\x1b\x9c\x76\x5e\x22\xfe\x5f\x42\x4a\xd6\xb8\xed\xc3\xfc\xe3\x4a\x1a\xea\x93\xdc\x96\xe9\x36\xf7\x64\x45\x97\xb0\xea\x26\xb4\x4c\x11\xb8\x82\x92\x55\x1c\xde\x16\xbf\x22\x29\x18\x73\xde\xcd\x77\xec\xfe\x51\x93\xa1\xeb\x50\xb7\x2e\x3b\x5a\x5c\xb6\x75\xeb\x32\x2a\x2e\xdb\xca\xfa\x97\x6d\xe5\xfa\xcb\x86\x9f\x2b\xe9\xef\xc8\xd6\x91\x3d\x71\xe9\x1c\x41\x85\x8c\x89\xa6\xb4\x6f\xae\xcb\xd5\xe3\xee\xe9\x00\xf9\xa3\x31\x51\x22\x29\x3b\xb6\x7c\xe9\x9c\x16\x6d\x5f\xdb\x97\x67\x1e\x2d\xc5\x72\x2d\xb4\xa8\xed\xcb\x33\xf9\x62\x2c\xa7\xed\x1d\x2a\x2d\x7f\x69\x86\xf6\x0d\x81\x2a\x15\x47\x96\x6d\x65\x73\x5b\xe2\xda\x86\xcc\x9c\x50\x73\x4b\x9c\xb6\x67\xe6\x84\x68\x6a\xff\x05\x73\xb5\x0d\x22\xef\xe1\x6b\x80\x21\x14\x87\xc1\x4a\xa2\x61\x5b\x03\x83\x88\xc6\x6f\xe5\x8e\x6e\xdc\xb2\x92\x12\x1a\xbf\x4d\x5b\xb3\xcd\xca\xbf\x9e\xd5\xc7\x6b\xcd\x2e\x2c\x8f\x91\x4d\x57\x13\x7f\x54\x94\xc0\x95\xcc\xba\xaa\x7b\xc7\xe3\x77\x8a\xc7\xee\x0b\x1f\xb7\xc0\xd1\x5d\xdf\x71\xbb\xbc\x95\x5d\xdd\xca\x3d\x2c\x96\xea\xf9\x26\x07\x3c\xf0\xeb\x7d\x16\xf5\x98\xa7\xb0\xa2\x9e\x8c\xa7\xea\x63\xea\x30\xf4\x47\xc0\x87\x50\x05\x98\x1e\xa6\x6a\x60\x60\x18\x02\x8f\xa3\xaa\x2a\xe2\x88\xca\xa9\x65\x70\x20\xf5\xa8\x3e\x1a\x47\x75\x16\x93\x51\x34\x56\xaf\x7c\x41\x94\x4c\x26\x34\xd8\x41\x29\xfd\xa3\xa4\xfc\xbe\x40\x50\xe7\x79\x9a\xc9\xf8\x04\x32\xe9\x2e\x2e\x97\x4d\xe5\x8f\x99\x14\xd1\x79\xca\xac\x86\x53\x4e\x9b\xb1\xec\x9c\xcf\x08\x37\xfe\xe1\xf4\xa6\xf3\x26\xe5\x56\xce\x6b\x0a\x38\x42\xfe\x35\xb3\x36\xdc\x19\xaa\xdf\xf5\xf8\xfa\x1f\x6e\x5f\x35\x85\xba\x69\xe2\xde\x4d\x43\x86\x5d\x13\x57\xda\xb4\x97\xbb\xbf\xc1\xda\xba\x40\x71\xcc\xfc\xcc\x39\x4d\xb2\xb4\xe1\xc2\x74\xe7\x95\x33\xa8\x81\xf5\x6c\x74\x5a\xf8\xee\x33\x69\x29\xb7\x7c\xce\xa6\x2f\xef\x5d\xec\xb5\x9e\x44\x6c\x34\xd7\xde\x31\x7b\xa1\x09\x60\x64\x53\xcf\x93\x29\xc4\xf5\xa9\xa2\x90\x53\x0c\x3d\x7b\xdc\x9f\xa9\xde\xb4\x91\xe1\x07\xf4\xfc\xfb\x7f\xdc\xfc\xd6\xa4\x59\x5b\xba\xaf\xda\xf6\xd0\xf3\xcf\x97\x0f\xea\x41\x86\x49\x42\x71\xd3\x5e\x76\xd6\xdb\xbb\x3a\x3b\xe9\xe7\xd6\xfe\x9d\xff\xfc\x76\xf9\xeb\x66\x5d\xa6\x88\x31\x7a\x27\x8e\xce\x57\xc5\x91\x42\x07\xba\x2a\x92\x5e\x0d\xd7\x9e\xaf\x5a\x5b\x45\x73\x51\xb8\x95\x88\xe8\x0e\x44\x74\x37\x17\x9d\x41\x51\xa9\xf6\x08\xbd\x79\xf1\x5a\xbf\xd7\x39\x73\xb9\x37\xec\xed\x6c\x75\x1e\x36\x6c\x8e\x86\xee\x11\x71\x04\xbc\x5a\xb9\xd8\x6f\xe8\xf7\xa4\x6a\x7a\xe7\x0d\xfd\xb0\x58\xbe\x56\x54\x7b\x72\x47\x90\xeb\xe9\xc9\x89\xc8\xf5\xb0\x6f\x86\xbd\xcb\x67\xea\x6b\x79\x6b\xa7\xc5\x30\x4b\x1a\xfa\xbe\x4a\x2d\xd4\xf5\x7b\x3d\x33\xcf\x54\xad\x74\xf5\xad\xaa\x7a\xd4\xc8\x20\xe8\x6f\xa3\xcf\xe7\x8a\x77\x19\x72\xea\x9c\x8a\xfd\x93\xde\xcd\x86\xb8\xad\x37\x41\xef\x60\xe3\x66\xcd\x0e\x96\x92\x82\x15\x05\x9a\x69\x89\x97\xf5\x26\x2a\xb7\x41\x16\xaa\xc7\x29\x9b\x79\xae\xb8\xbe\x7f\xbd\x3c\x61\xe2\xa2\xf5\x95\x2f\xf7\x83\x15\x1e\x6b\x2a\xd6\xc6\xf5\xbd\x11\x5e\x38\xb1\x35\x5c\xbe\x70\xdf\x33\x0f\xbd\xf8\x2c\xa5\xfb\x1f\x7a\xf1\x26\xfa\x74\x1f\xd7\x11\x8b\xac\xf0\x38\x6c\xe2\xa2\xc5\xe7\x9e\xcc\xed\xeb\x5f\xbf\x7e\xd1\xc4\x09\xf2\xfa\xca\x57\x83\x67\x45\x24\xd6\xa1\x67\x6e\x9d\xb8\x30\xcc\xbe\x7a\xd3\x8b\x0f\xf5\x53\xfa\xd9\x17\x1f\x7a\x66\x9f\xf6\x95\x3e\xae\x2d\x96\xb2\x7a\x56\xd8\xc4\x05\x67\x2e\x9d\x69\xaa\x11\x30\xec\x92\x54\x61\x10\x12\x3c\x68\xc4\x0d\x78\x06\x47\x6b\xec\xba\xcc\xf6\x05\xd2\x79\xcf\x88\xab\xe6\x9e\x1f\xff\xc7\x5c\xf4\xf3\x8f\x5f\xf3\x53\x73\xc9\x0f\x19\x36\x41\x86\x65\x90\x2e\xe4\x8b\xb1\x94\x5e\x8f\x91\x5d\x49\x29\xa6\x79\x90\x51\x16\xcb\xa4\x03\xc1\x7c\x3a\x98\xef\x26\xb3\x84\x40\x30\xe0\xf9\xdf\x64\xe6\x54\x83\x8a\xb8\x7b\x7a\x57\xf7\xf6\x5c\xda\x63\xbe\x35\xd5\x69\xfd\x72\x9d\x3f\xd6\x29\x49\xc1\x4d\x72\x9d\xed\xaa\x64\x6b\x9d\x5d\x0a\x7e\xa7\xce\x4b\xc1\xd8\x84\xab\x25\x47\x9d\x6d\x87\x64\xeb\x72\x07\xed\xbb\x6d\xce\x91\xa4\x81\xcd\x7a\xd2\x58\x5b\x6d\x52\x8b\x5d\x4f\x6a\x9f\xee\x0a\xd6\xed\xb6\x39\x99\x7a\xb7\xdd\x9b\xe1\xb7\x30\x4b\xaf\xd3\xe7\xf3\x39\x7b\x2d\x6c\x0b\x9f\xf1\xda\xef\xbe\xdb\xe1\xc9\xf0\x7c\x57\x67\x25\x22\x33\x41\xe4\x37\xf3\x19\x8f\xe3\xee\x7f\x34\x7d\xe5\x2a\xa3\x61\x83\x09\xcf\xf5\xf4\xf0\xb9\x8a\x43\xdb\xf1\xb4\x4d\xa6\xfa\xf8\x84\xc9\xa7\xd6\x59\xed\x52\xf3\x26\x69\xa9\x6c\x5f\x3b\xa9\xde\x65\xfb\x92\xcd\x7f\xae\x64\xf9\x5c\xa3\xd5\xe6\x5c\x18\x68\x57\xea\xc9\x53\x57\x9b\xd4\xd2\x7c\xb5\xb4\xd4\xeb\x5c\xdb\x51\x93\xd4\x52\xe7\xee\x0d\x4c\x8e\x05\x99\xa7\x3c\xb0\xdd\xed\x6a\x6c\xb8\xa2\x81\xe7\xe6\x2c\xf7\x33\xe6\x5f\x3e\x87\xe3\x1b\xae\x68\x68\x74\xb9\xb7\xbb\x5d\x4d\x41\x3d\x82\x25\x22\xe7\xfb\x19\x9b\x33\x81\xcd\xd6\xe3\x82\x4d\x2e\x6e\xf0\x7f\x92\x6b\xc4\x6e\xc4\xe0\x85\x93\x86\xd5\xab\x5b\x34\xb8\x61\xe3\x3a\x20\x25\xa5\x64\xbb\x84\x42\x17\x6f\xa8\x08\xf2\x89\x08\x4f\x3e\x51\x6a\xe6\x83\xcd\xa2\x4e\x69\x29\x25\xa5\xa4\xc4\x78\x44\x1f\xb1\x89\x42\x17\xe5\xb2\xa9\x66\x12\xd4\xfd\xda\x77\xff\xed\xec\xa5\xd7\xde\x9b\x48\x73\x75\x32\x23\xe2\x98\xc0\x89\x24\x24\xdc\x4d\x7e\xdb\xb5\xb7\xef\xa7\xd3\xe8\x7a\x3a\x8d\x4d\xbf\xfd\x5a\x9b\xbf\xc9\x9d\x10\x48\xe4\x04\xc6\x11\x71\x3e\x7b\x3a\x71\xef\xb5\x4b\xcf\xd6\x0e\xfd\x64\x6a\xf3\x03\xd4\xba\xe1\xba\x9b\x83\x37\xde\xc3\xdd\xa6\xfd\xe5\xe0\x2d\xee\x25\xad\x56\xc9\xed\xe0\x24\x51\xe4\x25\x4e\x22\x51\xf1\x27\x5b\xeb\xe7\xfe\x72\xd3\x6d\x07\x6f\xb9\xa5\x7c\xcb\xe6\x5f\xcc\xad\x6f\x4d\xfa\x15\x91\x24\x4e\xe2\x45\x51\xe2\x9c\x6e\x92\xac\xad\x4b\xdc\x5b\xf9\xa5\x8b\x97\x0d\xde\xbc\xa0\x67\xce\xab\x23\x7c\xb7\x71\x76\x6e\x3a\xd6\x8d\xde\x36\x43\x59\x25\x1e\xcd\xe6\x73\x59\x25\x3e\x22\x09\x79\x32\x3a\x67\xa4\x8b\x98\xb9\x6c\xaa\x8b\xb2\x29\x3d\x3a\xd5\x45\x05\x9f\x31\x32\x8c\x47\x6c\x63\x3a\x92\x46\xe7\x53\x7d\x50\xea\x92\x53\x26\xdd\xac\x8f\xc0\x4c\x3a\x40\xe6\x95\x34\xfc\xa3\x0b\xd3\x5a\x7f\x5f\xb1\x2f\x54\x9f\x9c\x10\x28\xf0\x4a\x43\x7b\x62\x42\xca\x1d\x89\x38\x92\x4d\x93\x82\x93\x85\x57\x6e\xba\xa6\x24\x34\xc7\xbd\x39\x9f\x2b\xd2\xa6\x4e\xb1\x2a\xdc\x74\x7a\xec\x0b\x89\xf3\xfb\xbe\xfb\x99\x0d\x01\x6d\x40\x9f\x3f\xc9\x9b\x58\x35\x75\x4a\x7d\x50\x69\x4b\x65\x16\xdf\x3c\x7b\xf2\xbe\xd5\xbb\xcd\x3b\x6b\x98\x9a\x59\x30\xf5\x67\xd3\x56\x2c\x0f\x5d\xfd\xb9\xb6\xe0\x2c\x21\x1d\xc9\xc5\x13\xde\xb2\x2a\x4a\x2e\x8b\x87\xcd\xfb\x5a\xa8\xd9\x3d\x6f\x7e\x24\x7d\x5a\xc3\x0c\x0f\x2d\x4b\x9c\x3b\x3f\x9a\x58\x70\xaa\x3f\xb0\x6a\xc1\x6d\x0f\x9c\xd4\xd6\xda\x93\x63\x6a\xae\xa7\xfe\xa6\x9e\x5c\xc3\x35\x5b\x27\x26\x4f\xb9\x75\xe3\xf9\x9f\xde\x8d\x91\x3b\x98\x0c\x5b\xd2\x2e\x5d\xb6\xac\x99\xd1\x52\x46\x5f\x1b\xf8\xc8\x9b\x1a\x13\xc9\x29\x98\x18\x13\x82\x81\x60\x33\x0b\xea\x13\xb9\x92\x8b\xa6\xf3\x05\x7d\x45\xac\x4e\x73\x86\xd9\x68\x4a\x49\x8d\x2e\x3f\x85\x2e\xd2\xa7\x30\xc9\x3f\x82\xd2\x11\x7c\xb5\x45\x5c\xbe\x9c\x37\xde\x2c\xac\x38\x47\xbd\xe9\x15\x61\x72\x70\x52\x53\xd2\x11\x89\xb8\x53\x13\x12\xed\x0d\x0a\x5f\x08\x4c\x48\xd6\x87\xfa\x8a\x7d\xd4\x97\x5e\xa8\xee\x5e\xbd\x6f\x72\x3c\x7e\xf3\xe2\x4c\x2a\xd6\x5a\x57\x2f\x4f\x9e\xb6\x2a\xa1\xbd\x67\x20\x2d\x12\xd8\xa0\x3e\x7b\xc9\xfa\xed\x5f\xa7\xe9\x9c\x62\x9d\xc2\x9b\x87\x2c\x35\xc4\x97\x91\x67\x46\xc3\x69\xe9\x16\x25\x39\xcf\xdd\x1c\xfa\xd4\x99\xf3\x98\xc7\xe2\x92\xc4\xb2\xea\x4d\xc4\x73\x91\xb4\x30\x2b\xd8\xf6\xb9\xab\x43\xcb\x57\x4c\xfb\xd9\xd4\x05\xe9\x8b\x77\x7f\xfa\xfc\xab\x67\x9d\x76\x4a\x32\xba\xe2\xac\xb3\xfd\xe9\x05\x37\xd5\x9b\x78\x6b\x6d\x6f\xbf\xff\x16\x61\xc1\xaa\x80\xff\xd4\x05\x89\xe8\xbc\x0a\x4f\xf0\x75\xae\x68\xc8\xe4\x20\xcf\x31\xb7\xfb\x72\xc5\xf1\xb7\xf7\x0a\x03\x47\x7e\x74\xec\xf5\xbc\xb5\x63\x53\x45\x18\x27\x03\x94\xed\xe0\x0c\x49\x5d\x47\x64\xcc\xc9\xf9\x7d\xba\x4c\x54\xa8\xf0\x99\xe3\xee\x4c\x16\xd5\xb6\x53\xfb\x96\xad\xde\xbc\x6a\x6e\xbd\xb7\xcb\x5b\x3f\x77\xd5\xe6\xd5\xcb\xfa\x4e\x6d\xfb\x2e\x3b\x8d\xcd\xda\xaf\xbe\x55\xbe\xd3\x7b\x82\xfb\x94\xb9\xc7\xce\xb8\x76\x5e\x87\x3b\xb3\xe0\xd4\x70\x20\x10\x3e\x75\x41\xc6\xdd\x31\xef\xda\x33\xf6\x7c\xb7\xfc\x32\x9b\xb4\x7f\xcf\x6f\xdf\x2a\xef\xf1\x1e\xef\xba\xe5\x51\x3b\xd5\x88\x00\xb4\xea\xfc\x5c\xd2\x17\x70\xb2\x5a\x5e\xc3\x5f\x09\xa8\xd8\x69\x4e\x65\xcd\xdc\xc8\x8e\xd9\x48\x32\x73\x87\x8c\xa9\x8c\x04\x97\x43\x33\xac\x34\xa9\xe8\x90\x2b\xde\x99\xcb\x97\xcf\xa4\x08\xf9\x44\x8f\x68\xe3\xb9\x7e\xb9\x3c\x20\x67\x15\x63\xef\x27\x44\x25\x25\x2b\xb3\x48\x1f\x1f\xf1\x87\x1c\xa6\x61\xba\xec\x30\x3c\xcb\x67\x96\x8b\x33\x97\x33\x5e\xaa\x63\xe9\xac\x9e\x45\x09\x51\xa4\x72\xc7\x41\x24\xa4\xc8\xe5\x81\xea\x39\x60\x93\xd7\x75\x21\x89\x1c\x50\xc8\x78\xe2\x85\x0e\x32\x56\x6d\x73\x57\xc0\xa3\xf3\x5a\x52\x26\x17\x0f\x70\x19\x8f\xb9\x10\xfb\xc7\xb3\xa1\xef\xfe\xf9\xcf\x1f\xd0\xec\x0d\xf3\xe6\x9c\x4c\xd3\xe6\xb2\x79\x7f\xde\xb9\x79\xdb\x3c\xf6\x67\x8e\xfb\xb3\xe4\x9a\xde\xbe\x81\x0e\xd4\xb2\x9e\x5b\xd8\xb7\x5f\xcd\xce\x9a\x95\xcd\x9c\x76\xda\xd0\xd7\xe8\xf6\x7b\xef\xdf\xb8\x6a\x66\x79\x3b\x6d\x55\xbc\xf1\x29\x5f\x61\x57\xd5\x72\x9b\x86\xee\xdb\xb8\x33\xa5\x0e\x1d\x3a\x65\x19\xec\x84\xc7\xe0\x27\x74\x00\x38\x27\xb5\x51\x2c\xc5\x19\x12\x50\x3e\xe3\xa9\x08\x77\xba\xc4\xe7\x49\x07\x68\xc0\x1b\xf6\x7a\xc3\x5e\xd6\xaf\x84\xb4\xb3\x32\xcc\x63\xa7\x46\xa1\x57\x5b\x1b\x52\xbe\xf2\xe9\x91\xab\x17\xb3\x9f\xfe\x0a\xeb\x27\xc3\xb4\xc3\xb8\x97\x4c\x7b\x3c\xa4\x68\x4d\x76\x4f\x23\xbd\xa5\x84\x3e\xf3\x23\x06\x53\xce\xd3\xf0\xa3\x11\xf9\xcb\xf8\x3f\x83\xc7\xbb\xff\xb7\xc9\xbc\xdf\xb7\xd6\xd0\x7f\xe4\x16\xc6\xe3\xed\xfb\x8d\x9a\xe4\x32\x03\x80\x72\x71\xc4\xfe\xd8\xb8\x1e\x4d\x55\xb2\xf2\xbe\xf2\x06\x73\xfb\x8f\x6d\xdf\x27\x9b\xa6\x8a\xac\x4f\x2b\x55\x0d\x71\x8d\x84\x55\x23\x5c\xe3\x42\x46\xee\x4c\x0d\x21\xc5\xc8\x67\xec\x02\xea\xf9\xb2\x8a\x52\x73\xc7\x54\xd0\xf8\x5f\xc2\xc7\xa7\x41\xeb\x48\x9b\xb2\x4a\x17\xab\x9e\x56\x88\x47\x27\x32\x9d\xf9\x34\x83\x02\xfc\xf1\x48\x90\xae\xda\xbb\x49\x2b\x55\x68\x96\x8c\x96\x68\x03\x15\x9a\xad\x84\x6d\xda\xab\x8b\x5f\xc7\x23\x45\xca\x94\x8b\x35\x94\xcb\x4a\x26\xe5\x5a\x4c\xb2\x1e\x91\xf7\x55\x88\x70\x60\x1e\x40\x4a\x2e\xea\xf7\x05\x92\xb9\xa8\x4f\xea\xa2\x82\xdf\x67\xae\x60\x64\x6c\xfc\x54\xfb\xc1\xdc\x23\x31\x66\xe5\x94\x92\xea\xa8\x28\x96\x72\x35\x52\x31\xfd\x74\xfe\x30\x9e\xe1\x7f\x30\x8c\xf9\x5f\x78\x46\x3d\xeb\x0b\x2f\x5e\x31\x31\xa7\x34\xcd\x38\xb5\x67\xa3\xd7\x39\x54\x72\x7a\x37\xf6\x9c\x3a\xa3\x49\xc9\x4d\xbc\xe2\xc5\x2f\x9c\xd5\xd9\x4a\x91\xe5\x33\x59\x71\xe6\x72\x8a\xb4\x76\xb2\x2f\x3c\xf8\x8b\xbe\x85\x7b\x3e\xe8\xfb\xc5\x83\x4d\x7b\x5e\x52\xe7\xec\xd8\x70\xba\x90\x9f\x10\x5b\x90\xc9\xcf\x3f\xef\x34\xf3\x86\x99\xd3\xce\x9b\x9f\xcf\x2c\x88\x4d\xc8\x0b\xa7\x6f\xd8\x31\x47\x6d\xed\x34\x75\x98\x9d\xe6\x3f\xd4\x1b\x39\xb3\xa0\x4b\x36\x2d\x48\xa1\x1d\x69\xdc\x88\x3b\x01\xca\xa7\x14\x49\x0c\x06\xcc\x77\x21\x9f\xaa\xf8\x83\x79\x25\xa5\x18\x5f\xc3\xdf\x4c\xd9\x78\xcc\x57\xd0\x43\xf2\x94\x45\x04\x7e\x9f\x37\x18\xd0\x65\x09\x27\xeb\x20\xa3\xc1\xc6\x8a\x1c\x6c\x26\xe3\x02\x2a\xbd\xff\x0a\x4a\x21\x1f\x68\xd1\x25\xf2\x2e\x16\x0c\xe8\x6b\x8f\x93\x93\xcc\xa3\xda\x81\x42\xde\x3b\x9e\x9e\x99\xc4\x4b\x56\x81\x97\xac\x41\x41\x12\x45\x49\x10\x27\x31\x49\x22\x4e\xb2\x04\x18\x71\xa2\x45\x10\xcf\x63\x75\x56\x9e\xd5\x59\x3b\xec\xb6\x19\x2c\xc0\x98\x8f\x7d\xd6\x3c\xeb\xf0\xc3\x7b\xbd\x1e\x12\xe5\x6c\x7b\x9b\x25\x18\x63\x42\x1d\x57\xe7\x14\xbd\x13\xed\xee\xb6\xf6\x88\x53\x0a\x4d\x99\x3f\x37\x95\xab\x6f\x92\xe7\x34\x84\xa6\x6e\x9f\x5a\x17\xef\x95\x9b\xea\x73\xe1\xb6\xe2\x0c\x25\x4e\x1e\xef\xbd\x3f\x24\xd4\xce\x17\xb4\x48\x94\x24\x41\x94\xa4\x0e\x89\xe3\x2d\x16\x8e\x9f\xc2\xf3\x8c\x17\x38\x26\x93\xc4\x24\x8b\x24\xce\x91\x78\x4e\x92\x78\x8e\x77\xbb\x5d\x12\x2f\x59\x78\x3a\xcd\x38\x1a\x72\xe0\x6b\xda\xdf\xb2\x9c\xdb\x9e\x6d\x23\x8e\xac\x2d\xa1\x69\x2e\x12\xea\x2c\x12\xdf\x18\x08\x87\x25\x71\x52\x40\x6c\xc8\x7d\x7a\xf6\xe9\x53\xbb\xe6\x8b\x8d\x6e\xb7\xe7\xff\xe3\xed\x4d\xe0\xe3\x28\xce\xbc\xe1\x7a\xaa\xfa\x98\xab\x7b\x66\xba\xe7\xd2\x68\x34\x9a\xd1\x68\x0e\xdd\xf6\x9c\x92\x75\x8d\xe5\xdb\x92\x6d\xf9\xc4\x60\x63\x0b\x5f\x18\x71\xd9\x80\x31\x87\x8f\x0e\x38\x80\x6d\xc2\xe5\x60\x1c\x12\x62\x41\x48\x80\x10\x36\x84\x6c\x0e\x12\x93\xcc\x26\x84\xe4\x5d\x02\xc1\x2c\x6c\x2e\x92\x15\x49\x36\x4b\x12\x48\x78\x93\x25\x09\x96\xa6\xf5\xfd\xba\x7a\x2e\x8d\x65\x4c\xf6\x7b\xdf\xd7\xd6\x74\x57\x57\x57\x75\xd7\xd5\x55\x4f\x3d\xc7\xff\xb1\xf3\x2e\x3f\xb7\xb4\x6f\xce\x8a\xae\x0b\x52\x8d\x36\xa6\x3e\x1b\xdb\x82\x2d\x36\x92\x04\x33\xbe\xbd\x72\x4e\x2a\x62\x27\xe4\x68\xdf\xd1\x79\xe0\x83\xf1\xfb\x28\xd0\x66\x3a\xa3\x0d\x37\x5d\xbe\xae\xdf\x0a\x36\x44\x23\x05\x16\xdc\xb9\x10\xfc\x9e\x74\x6e\xed\x05\xd4\xbb\xd5\x09\x4f\x52\x10\xbf\xe6\x29\xa4\xeb\xa9\x4e\xa1\x66\xbb\xbd\x1e\x72\x52\x5a\x82\x5c\x7d\xe4\x1c\x20\x7e\x9d\x8b\x17\x77\x76\xe2\x91\x58\xf1\x33\x8d\x45\xfd\x90\x93\x65\x35\xeb\x2f\xad\xb3\xec\x14\xab\xa0\xd9\x68\xab\xb6\xce\x52\xd3\x64\x8d\x1e\xa4\x62\x60\x6a\x96\x2f\x82\xf6\x55\x61\x27\x55\xe9\x70\x14\x0d\xc3\x35\x02\x46\xca\x38\xb0\x0e\xf4\xa3\xa7\xa5\x19\x75\x1e\x9b\xae\x31\xa8\xa7\xa5\x43\xcb\x8f\xdd\x7e\x60\x0f\x8a\x66\x8b\xc9\x60\x32\x31\x46\x79\xb9\xa3\xe7\xad\xee\x96\x4b\xe7\x75\x1e\x9e\x3b\x72\x70\x76\x8d\xcb\xe3\xf2\x5c\x52\xd3\xf5\x66\xd7\x57\x2e\xfd\xc8\xeb\x7b\x95\x3b\x27\x3f\xb9\xef\x5f\xbb\x7e\xd5\xe9\xb9\xa4\x66\xc9\x76\x57\x4d\xe3\x12\x65\xdd\xf2\x07\xbf\x73\x53\xcf\x7f\xcd\x91\x87\x1c\x2b\x97\x9a\x18\x62\xc1\x36\x09\xbf\xd0\x7a\xb4\xd6\xef\x6b\xf3\xba\x37\xb8\xc2\x12\x18\x67\xb9\x3d\xae\xf4\xec\x25\xbf\xfb\xd3\x47\x62\x63\x4d\xee\x0b\x5a\xeb\x5c\xf5\x8d\x6d\x3f\x06\xc7\xd1\xcf\xaa\xdf\x9c\xc8\xb4\xd6\xd5\x5d\xbd\xc4\xb3\xde\x1d\x7b\xb8\xe9\xea\xd7\x5f\xfe\xea\xdc\xee\xde\xe5\xb3\x4c\xdb\xd7\xb8\x2f\x72\x0b\x1e\x63\x80\x89\x3d\x54\xa9\x0b\xb1\x02\x21\x8d\xe4\xd7\x41\xb2\x28\xf1\x86\xb4\xcf\x89\x29\x80\x17\x51\x6c\x59\xad\x4e\x58\x9b\x76\x0a\xd5\x73\xfb\x89\x0e\x9d\xa5\x05\xb1\xdb\xe5\x76\xb1\x8a\xc3\xec\xdc\xbe\x69\x63\x6d\xb2\xbf\x7e\xd8\xb8\x65\xd9\x41\xf5\x8f\x2b\x66\x85\x88\xdf\x2c\xf1\x89\xce\x78\xcd\x05\xb5\x22\x2f\x85\xcc\x91\x80\x95\xd4\x89\x5d\xf3\xba\x4c\xbc\x13\x86\x9e\x3f\x8c\x1b\xc4\x5a\xa3\xd4\x19\xef\x71\x88\x75\xcd\x4c\x4d\xd7\x42\x79\x21\x47\x20\x56\x7b\x41\x4d\xbc\x33\xc1\x4b\x66\x3f\x09\xcd\x5a\x01\xd2\xc1\x65\x5b\x8c\xc3\xf5\xfd\xc9\xda\x8d\x9b\xb6\x3b\xcd\x0e\xc2\x2d\x94\x17\x76\xd5\x30\xcd\x75\xa2\xa3\x27\xde\x29\x19\x6b\xc5\x06\x7c\xf8\xf9\x21\x70\xf2\xa6\xae\x79\x5d\x62\x1d\xb1\x06\x22\xe6\x90\xc4\x17\xd7\xb0\x12\x86\x2c\x3a\x9f\x61\x1a\x33\x52\xb6\x0f\xd9\xf4\xcb\xb2\x09\xc9\xde\x27\x58\x54\x5c\x77\xb4\x7b\x63\xe5\x1b\xfa\xba\xad\x63\x98\x70\x3a\x9e\xa1\x1d\x32\x6e\x90\x3f\x10\xcc\x44\x99\x44\xf0\xd8\x85\x17\xc2\x63\x96\x73\xa2\x9a\xa0\x89\x08\x1c\x5f\xbb\x56\x1d\x65\x2f\xfa\x60\x7c\x93\x32\x8f\x6d\x11\xba\x80\xd2\x90\x4c\xb4\x1d\xeb\xc2\xff\x76\x1c\x6d\x87\x92\x02\x80\x16\x64\x43\x0d\x3a\x16\x34\xe3\x76\x21\xb7\x9f\xa5\x80\x7d\x67\x33\xda\x98\xc0\xec\xf6\x36\x8e\xf5\xb9\x4c\xd6\x96\xc6\x26\x81\x97\x2d\x2e\xb2\xf5\xae\x4e\x2c\x70\x7c\xd3\xec\x26\x93\x83\x10\x8f\xb7\xd6\x6d\x32\xcf\x4a\xb5\xcf\x67\x59\x81\x97\x70\x0f\x74\x3d\xca\xcd\x92\x9a\x6a\x1a\x6d\x5d\xc7\x9c\xae\xaa\x69\xed\x02\xb3\xc9\x5d\xeb\xf5\x10\xe2\x30\x35\xcd\x6e\xe2\x39\x01\x67\xee\xde\x4a\x5c\x16\x99\x17\x9a\x1a\x5b\xac\x26\x97\x8f\xe5\xda\xda\x67\x07\x18\x97\xf3\x58\x97\xad\xb1\xa6\x49\x9a\xc5\x3d\xaa\x7e\xbf\x07\x4b\xbc\xc0\xb2\xf3\xdb\x53\xa4\xab\x72\x5e\x02\xd4\x8a\x10\xb7\x86\x45\x54\x1e\x4f\x39\x19\x58\x04\x46\xdf\xa9\x66\xda\xa1\x70\xea\x05\x97\x9b\xca\xbe\x5d\x8c\xbb\x80\xaf\x95\xce\x70\x7c\x9a\x5b\x33\x6f\x33\x0c\x7d\xf2\xdf\xd5\x57\xbf\xa0\xfe\xef\x37\x43\x2d\x6f\x3e\x7d\xd9\xe7\xea\x83\xbe\x96\xe6\x5d\xc7\xe6\x2f\x1f\x58\xde\x7a\x23\x6c\x78\xc1\xf0\xdc\x6d\x77\x8e\x5c\x39\x12\xbe\xec\x62\x66\xe7\x96\x05\xa2\xef\x16\x35\xff\xc7\xaf\x5d\x79\x2f\x73\x04\xef\xbf\x84\x35\xbb\xbf\xb4\x87\x89\x90\xd6\xbb\x56\xaf\x1f\xbc\xff\xcb\xa6\x48\xe3\x6d\xcf\xed\x70\x76\x5d\xdb\x6f\xa2\xfb\x83\xcd\x53\x0a\xf9\x36\x87\x74\xfe\x37\xe5\x10\x06\x49\xc8\x1e\xb4\x87\xec\xba\xac\x8d\x7c\xfb\xa1\x75\x3d\x10\x8e\xaa\xea\xcb\x53\x68\xea\x95\xa7\x8e\xb1\xff\xad\xfe\x7d\xf1\xe2\xe7\xd4\x9f\xe4\x8d\xf8\x6f\x10\xfb\xd9\x37\x5e\xd2\x6d\x9d\xa7\x1e\xa3\xfd\xba\x06\x6d\x44\xdb\xd0\xe5\xe8\x5a\x74\x13\xba\x05\xdd\xa1\x6b\xd9\x38\x1d\x88\xe7\xf4\xa9\x28\xda\xc7\x68\xbb\xb5\x68\x84\xb3\x42\xa4\x81\x6f\xc7\x3c\xe7\xd6\xa6\x22\xe2\xd6\xc8\x84\x86\x48\xb4\x1d\x3a\xa0\x81\xf3\x43\x3d\xd0\x1f\xe9\x07\x3a\xc9\x45\x23\x28\x95\x94\xe4\xd2\x92\x5b\x79\x9e\x76\xa9\x2d\xcd\x49\xbe\xc1\xe9\xc8\xc4\x33\xda\xbd\xa2\xe2\x8e\xfa\xf3\xb7\x6a\xbd\x90\xec\xda\x70\xc9\xdc\xa6\x15\xe1\x36\xdf\x68\x34\x72\xf1\x0b\x17\xdb\x52\xd7\xf8\xda\xc2\x2b\x9a\xb2\x97\x6c\xe8\x8a\x9a\x9c\xb3\x06\xe6\xba\xe5\x6e\x87\xc3\x69\xe3\x2c\x3c\xef\x6a\x31\x99\x84\xbe\xc5\xf3\x5c\x6e\xf0\xd6\xbe\xa5\xfe\xfc\xe5\xb5\xc4\x64\x22\xc4\x64\x0c\xf1\x46\x13\xc7\x1b\x4d\x8d\x46\xa3\xc1\x68\x94\xe2\x06\x8b\xc5\x60\x14\x2c\x73\x89\xcd\x6a\xb0\x5b\xe7\xd9\x6d\x76\xdb\x1c\x6c\xb3\x31\x01\xaa\x09\x74\x7a\x42\xbd\x7a\x19\xeb\x91\xc8\xb1\xde\x4b\xda\x38\x4f\x7a\xc5\xad\x6b\xf7\x5e\xb0\x61\xb7\x31\xe6\xf1\x78\xbd\xe6\x40\x9b\x71\xf7\x86\x0b\xf6\xae\xbd\x65\x38\xed\xe1\x1a\xe7\x99\x4c\x2d\x4d\x81\x18\x43\x8c\xa2\xc8\xb2\xa6\x4e\xb7\x3b\xd2\x21\x00\xc3\x44\xb6\x33\x92\x87\x5d\x06\xf7\x4e\x9c\x86\x4b\x26\x0f\xf2\x2c\x61\x79\x96\xf3\xb2\x66\x23\xc7\x9a\x4d\x11\xde\x22\xf0\xac\xb7\xd1\x60\xb6\x18\x0d\x66\x8b\xcd\xcc\x32\x2e\x86\xe3\x05\x6c\x16\xb0\xd3\x8c\x89\xc7\x30\x4d\xd6\x11\x9e\x86\x4c\x1d\xd1\x3a\x3d\x31\x1d\xaf\x47\xa3\xc6\x50\x00\x71\x4a\xc4\x9b\xf5\x46\x8e\xbf\x76\x7c\xa4\xec\x64\x00\x8f\xe9\x98\x3b\x24\x57\xb4\x35\x18\x3d\x7e\x7c\x34\xd7\x19\xab\x40\x3d\x7c\x16\x78\xf5\xfd\x12\x76\xba\x3e\xa7\xd5\x14\x70\xc8\x50\x15\x36\x50\xc2\x49\x47\x5d\x2a\x19\x09\xd9\xa9\x3d\x84\x36\xe9\x65\x52\x41\x67\x22\x15\x74\x72\xe3\xda\x3c\xa6\x1b\xd9\x0a\x32\xa7\xc8\x82\x20\xbf\xaf\xc8\xc2\x08\x20\x05\x14\x56\xd9\x34\x50\x36\xab\x55\x64\x61\x7c\x5c\x90\x27\x90\x2c\xe0\x91\xfc\x98\x20\x2b\xda\x3f\x5d\x27\x86\x2d\xfa\x4b\xea\xad\xb0\x00\x76\xe9\x4c\x4e\x6d\x19\xa1\x5c\xcd\x4c\xba\x1b\x5c\x8c\xdb\x25\xb1\xa5\x3b\x18\x35\x96\xef\x59\x28\x0e\xbd\x6e\x10\x8c\x77\x61\x59\xaa\xbb\xbd\xa6\x11\xbb\xd4\x6f\xfe\x67\x4d\xd0\x69\xf7\xb2\x63\xd0\xb8\xfb\x9a\xdb\xb1\x80\x1d\x92\xef\x6e\x6f\x18\x2c\xcf\xa8\xbf\x56\xf7\xff\xb8\x26\xe4\x90\xbc\x04\x38\xf8\x8f\x6f\x7c\xf3\xdf\x41\xb7\x12\x56\xbf\xe7\x73\x38\x83\x35\xff\x09\x0b\x5c\xb8\xb1\xe6\xf6\x3a\xc9\x2e\xdc\x7e\xcd\x6e\xf5\x8d\x47\x6a\x1d\x8e\x50\xcd\x8f\xe1\x56\xa8\x7b\x46\x80\x70\xcd\xdd\x3e\x49\x12\xfe\xfd\x9b\xdf\x50\x83\x05\x3b\x53\x54\x90\xad\xd5\xa3\x26\x8d\xc2\x41\x55\xf2\x35\x77\xb5\x6f\x99\x60\x11\x7e\x19\x66\x44\xab\x65\x6c\x1d\x03\x1d\x1d\x03\xd0\x41\x4f\x27\x2b\x0d\x96\x27\xe2\xcc\xa7\x1e\x62\x3c\xe2\xe4\x9f\x45\x0f\xc3\x7c\x49\x6f\x69\xdb\xf7\xec\x1b\x33\x44\xcc\x6c\xb4\x7f\xcf\x06\x97\x0c\xe8\xd9\xb4\xbf\x77\xa1\x8c\x98\x05\xef\xc0\xaf\x04\xbb\x5d\xc8\x1f\x28\x6c\x91\xb3\x35\x71\xbc\x29\x35\x30\x90\xca\x3f\x12\xa7\x6b\xc0\xad\x94\x8f\xd0\x8e\x92\x74\x34\x68\xbb\x42\x07\x17\x42\x61\x11\x5c\x6e\x11\xfc\xd8\x2d\x82\xb6\xae\xa7\x33\x25\xb4\xf3\x80\x36\x68\x88\x1d\xb1\x76\x86\x53\x52\x83\x83\xa9\xa1\xa4\xba\x59\xdd\x33\x67\x80\x89\x38\x38\x69\x76\x47\xa4\xee\xb3\x5f\x68\xe7\xdb\xe4\x5a\x62\xb2\xdf\x44\xdf\x39\x0e\x5f\x86\x97\x92\x43\x8a\x7a\xbd\x7a\x04\x6e\x24\x0a\xe5\xfb\x26\x87\x60\x43\x50\xde\x74\x79\x34\x38\x37\xd1\xdd\xe4\x9f\x13\xaf\x6d\x76\x7f\xa4\xe7\xfa\x35\xbb\xd3\x9b\x06\x72\x03\x9b\x40\x19\x4a\x4e\x36\x92\x6f\xa8\xaf\x36\xa9\x7f\x6e\xa6\x7c\xa7\xec\x14\xe2\x72\x1c\x42\x66\x54\x83\xe6\x22\xc4\x24\x29\x4d\xd5\xa0\xed\x67\x20\x88\xec\xc9\x76\xdc\x20\x62\xa7\x8d\x6e\x6c\xa8\x83\x02\xad\x89\xb5\x39\x4e\xca\xe8\xa8\x9e\x4e\x07\xef\x92\xb4\x09\x8e\xdc\x63\xeb\x5e\x1b\xb8\x74\x49\xfe\x7a\xd6\xa1\xfe\x75\xd6\x45\x9f\xf8\xc6\x27\x2e\x9a\xc5\xe4\x86\x92\x6a\xf6\xf8\x6b\xc7\xd5\x6c\x72\x28\xbe\x6a\x7d\x6f\xf4\xf7\xdf\x32\x74\x0e\x77\x1a\xbe\xf5\xfb\x68\xef\xfa\x55\x4f\x07\xd6\x76\xdb\x6c\x4b\x2e\x85\x59\xd0\x8a\x1d\x89\x2b\xb6\xf4\xf7\x6f\xb9\x22\x91\x7f\x5b\x7d\x2d\x39\xa4\x7d\x75\x43\xc9\xe6\x8d\xc7\x3e\xff\xe7\xa3\x27\x80\xf5\xc9\x0e\xed\xf3\x73\xc8\x3e\x75\xe2\xc4\xd1\x3f\x7f\xfe\xd8\x46\xfa\xcd\xe3\x29\x85\x55\xd9\xfd\x74\x6f\xe6\x76\xf1\x9c\x95\x1e\x3b\x40\xa7\xa2\xb4\x73\x34\xa2\x1f\xfb\x29\x0b\x55\x3b\x66\xd2\xfa\xb1\x9e\xa2\x3e\x6a\x47\xb7\x4b\x3f\x6a\xb9\xdd\x2e\x9e\x1d\x39\xe2\x37\x59\x62\xa7\x52\x96\xfa\xba\xa6\x6f\xcc\x32\x35\x59\xf8\x7a\xc7\xed\xb7\xfb\x9a\x9b\x4c\xb3\xbe\xd1\x54\x57\x6f\x49\x9d\x8a\x59\x4c\xfe\x23\x55\xa9\x9a\xea\x6e\xbf\xbd\xae\x69\x7a\x1a\xac\x54\x65\xc3\x2e\x2d\x9b\xb9\xa9\x9c\xad\xd9\x37\xfd\xd1\x4d\x26\x4b\xfd\xd1\xa3\x7e\xb3\x69\x5a\x9a\x92\x4f\x32\xed\x3b\x4f\xa1\x9d\xd5\xfc\x54\xaa\x55\x18\x6a\xe0\x39\xbe\x20\xdd\xb0\x6b\x34\x61\x62\x1a\x3f\xb5\xc8\x22\xe4\x0a\x0c\xd5\x82\x25\x6f\x91\xd6\xe8\x63\x35\x3a\x93\xd1\xa5\x3e\xc1\x12\x37\x95\xfd\xdc\xf2\x78\x3e\xe7\x6f\xf4\x5f\xb8\xc8\x33\xe0\x11\x62\x8b\x17\xf9\x17\x2c\x0a\x04\x16\x7f\xeb\x7b\x2b\x9f\x2b\x70\x51\x61\x30\x39\xa4\x3c\x70\xd9\x13\x4c\x90\x72\x52\x3f\xfa\xdc\xa3\xdd\x05\x36\x6a\xc0\xe4\xf6\x38\x6b\x45\x0f\x9e\x1b\x12\x62\x0d\x1d\xfd\x91\xfd\x9f\x71\xc1\xf5\x95\xcc\x54\x47\x57\x6a\x75\xcb\xbc\xde\xa3\xad\xce\xec\xca\x95\x35\x5d\x79\x25\x9b\xad\x64\xa2\x0e\xa5\x2e\x3b\xd1\xd7\xa5\x73\x50\x17\x74\xeb\x8c\x40\xa3\x6c\xf7\x59\x7d\x64\x69\xc6\xb9\xaa\x2f\x1b\xba\xed\xa6\xf9\x3d\x27\x50\x45\xfb\xa4\x50\x2f\xda\x8d\x50\x38\x61\xd7\x71\x89\xe8\xff\x76\x86\x0a\xee\xfc\xd8\x49\x9d\xb5\xb9\x12\x41\x8d\xf4\x72\x73\x0e\x97\x5b\x57\xdb\xec\x83\xaa\x6d\x14\xdd\x65\xf4\x83\x2e\x88\xd1\xb7\x1a\x89\xa0\x4e\xba\xf8\x89\x46\x8a\x73\x94\x3e\x1b\x09\x04\x42\x73\x7b\x62\x75\x06\x66\x71\x4c\xf4\x80\x2c\xb9\x9c\x86\x45\x17\xfa\x1b\xfd\xf9\x5c\x7c\xf9\x50\x12\x06\x75\xce\x2a\x73\xc9\x05\x6b\x5e\xf8\x16\xec\xd4\xb7\x5a\x83\x29\x75\xbc\xfb\xd1\x6f\x1d\xbc\xeb\x69\x80\x5e\x12\x64\x9e\xb8\xec\x81\x13\x3b\xe1\x7a\xd7\x67\xf6\x47\xfa\x3b\x1a\x62\x42\x68\x2e\xf6\x88\xb5\x4e\x8f\xdb\x04\x81\xd4\xa0\x82\x15\x4f\xbc\x39\x68\x64\x57\x66\x5d\xed\x24\x1a\x8c\xb8\x7b\xe7\xb5\xac\x4e\x75\x39\x96\x25\x92\x43\x94\xb1\x1a\x58\xba\xc4\xe6\x09\xac\x5d\x95\xcd\x46\x0a\x0d\x9b\x57\x52\x83\xdd\x0b\x3e\x79\x27\x3b\xb4\xc3\xe5\xec\xea\x3b\x71\xd9\xa5\x27\x7a\xe6\xdf\x74\x5b\x28\xdb\xb7\xca\x99\x59\x4a\x7c\x56\x9f\x5d\x36\x0e\xa2\x4a\xfc\xff\xc2\xb8\x62\x8a\xcd\x90\x0c\x35\xf0\xed\xd0\x40\x65\xc4\xbc\x5d\x97\x7c\xda\x29\x7c\xaf\xee\xed\x8e\xfe\xa7\x4b\x1b\x65\xd4\x73\x15\xab\x5e\x3b\x5b\xd8\xb9\xa4\x75\x5f\x81\x94\x39\xe2\x72\x53\xaa\xaf\xb8\xed\xfc\xdc\xb4\x6e\x4e\x9e\x35\x12\xb0\x92\xcd\x2a\x5a\x97\xe7\x67\xee\xf2\x4b\xcb\x03\xe3\x22\xdd\x95\x61\x4f\xe5\x78\x3c\xd7\xa0\x5d\xf7\x21\x46\x67\x69\x28\x4f\x6b\x9f\x24\xea\x41\xbb\x28\x55\x0f\x54\x09\x80\xf2\x7e\xb4\xff\x22\xa3\x8f\x20\x9c\xb0\xd3\xcd\x6a\xca\xae\xd1\xbc\xae\x78\x3a\xa3\x5d\xe1\x12\xea\x04\xd7\x41\xf7\x1e\x1c\x4f\xe5\xac\x91\x94\xbd\x08\x58\x4b\xb5\xbf\x2a\xac\x48\xb5\x5d\x5c\x36\x9b\xff\x80\x5e\x6f\xef\x2a\x77\xba\x52\xd8\xc5\x17\x3a\x3b\x3d\x57\xeb\xec\xf4\xd2\x1b\x6f\xaf\xea\x6c\xfa\xed\x74\x2f\xc0\xd9\x35\x2f\x7c\x6b\xf1\xf9\x46\x6d\x48\x1f\xb4\xa4\x97\x36\x6d\x7e\xbe\x3e\x52\xfd\xfc\x07\x8f\xd4\xc2\xb8\x9e\xbe\x17\xaa\xa7\x54\x11\xb5\xc7\xcc\xa4\x0b\xa6\x87\x3c\xe7\xa8\x07\x70\xc5\xfb\x41\x8b\xa9\xb2\xcf\x64\x51\xc4\xab\x9a\x9e\x93\xe5\x0d\x52\x5a\x52\x8f\x6f\x90\xa4\x0d\x30\x2a\xa5\xa5\x0d\x92\xf4\x1c\xfc\xd5\x1b\x01\x34\x93\xc5\xe6\x73\xba\xa1\xa2\x96\x3e\x2d\x6d\x50\x8f\x4b\x92\x16\x78\xee\x83\x6d\x38\x69\xd9\x50\xb2\x03\x80\xda\x42\x3a\xea\xa1\x64\x33\x4a\x8b\xe8\x8a\x67\x20\x53\x69\x71\xc8\xb2\xf4\xd9\x7a\x61\x54\x13\xa5\x10\xff\x5a\x28\x2a\x8c\x6e\x00\xa1\xba\x68\xdb\xd3\xb4\xf4\x85\xc2\x78\xcb\x05\x85\xd1\x0d\xea\x39\xed\x34\x0b\xe5\x8a\xea\x36\x9a\xa0\x17\xa5\x1f\x4a\x56\xb5\xd4\x39\x43\xe3\x74\x7b\xcd\xb3\x6a\x5e\x7a\x19\x88\xd5\xa5\xda\x41\x4b\x2b\x9d\xa3\x2e\xf9\xf3\x95\xab\x83\x36\x57\x49\x39\x54\x37\x24\x75\xb8\x81\x16\x6b\x1a\x06\x0a\xcb\xcc\x58\x73\x89\xb6\xca\xd9\xe5\xda\x56\xee\xe5\x19\xc6\x00\x9a\xfa\x20\x3b\x38\x33\xfc\x04\x7b\xaa\xec\x1e\x44\xe0\xe3\x3a\xba\x73\x26\xed\x8e\xa4\x33\x7d\xd0\x0f\x5c\x24\xea\xe0\x93\x11\x2e\x5a\xdc\x92\x37\x88\x10\x8a\x88\x98\x17\x81\xd7\x76\x5a\xe9\x48\x34\x41\x6f\xf1\x9c\x1f\x9c\x2e\x6d\x79\xd0\x6e\x71\x2e\xb7\x4b\xc4\x56\x2d\x7b\x24\x1a\xe1\xb5\x9f\x96\xba\x0f\x52\xe9\x4c\x1f\x0e\xb9\xa8\xde\xbf\x1f\x12\xae\x74\xd4\x45\x53\x70\xee\x88\x08\xda\x1b\x1a\xb4\x47\xa6\xb5\x07\x52\xea\xcf\xc5\x6b\x33\x87\x8b\xd7\xf6\xc6\xda\x66\x30\xa2\x11\x23\x54\x05\x87\xd7\x1f\xe2\xce\xb8\xdc\x11\x9e\xe3\x5d\x7c\x3b\x8e\x6a\x4b\xba\xcb\xed\xc7\x19\x17\x9f\xa6\xd4\x89\x56\x2e\x57\xa6\x81\x73\xf0\x6e\xce\x95\xe1\x0a\x4c\x21\x70\x73\x2e\xbe\x81\x0b\x51\x3e\x50\x26\xad\x03\x59\xc7\xfd\x98\xe7\xe8\xdd\x50\xdc\xa5\x73\x8b\x28\xde\x5f\x3c\x4d\x5d\x51\x65\xf4\x7b\xda\x46\xdc\x95\x49\xa7\xb8\x68\xb2\x1d\xa7\x13\xf1\x34\xcd\xab\xb5\x12\xe7\x6c\x88\xf6\x41\xa6\x8f\x44\x28\x3f\x8e\xe7\xb4\x3b\xda\x74\x4f\x63\xc1\x45\x95\x24\x42\xae\xb4\xb6\x27\x8d\x64\x5c\x19\xfa\xf2\x74\x86\x2e\x0c\x7d\x10\xe9\x80\x64\x2a\xda\x0e\xba\x94\x36\x1a\xcf\x34\xb4\x43\x28\xad\x65\x75\x65\xf4\x53\x3a\x49\x3b\x24\x1d\xa2\xec\xe6\x48\x34\xad\x9d\x23\x24\x4d\xd5\xdf\xa3\xe9\x02\xee\x23\x2f\x12\x77\x24\xda\x8e\x29\xba\x65\x24\x1d\x8d\x88\x8c\x16\x6a\x87\x94\x9f\x52\x7b\x3c\xe7\x76\x70\x6e\x47\xb5\x05\x0b\x99\x8f\xad\x1c\x66\x59\xe0\x6c\x62\xa4\xc1\x8e\xdd\x84\x78\x08\xb6\x98\x81\x33\x8a\xd8\x64\xe2\x00\x5b\x31\x10\xc2\x72\x06\x1e\x08\x47\x38\x4c\xcc\xc4\x6a\x33\x71\x46\xc2\xb3\x60\x75\x10\x43\x92\x67\x81\x07\xc1\xc7\x10\x2f\x61\x79\x1e\x03\xc7\x32\xc4\x2c\x33\xbc\xd1\xcd\xb1\x8d\x35\x41\x8e\xe3\x2d\x04\x13\x23\x58\x78\x12\xb2\xb2\x02\x63\x34\xc9\xac\x48\x8c\x16\x23\xc3\x58\xac\x06\x13\xd8\x6d\x06\x30\xb2\x06\x03\xf1\x99\xe4\x5a\xbe\x96\x63\xc1\x6c\x12\xb0\xc8\x61\xc1\x04\x84\x63\x59\x03\xe1\x03\x26\xc6\x63\x67\x19\x06\x08\x23\x92\xf6\x59\x1c\xc7\xda\x70\x83\x81\x15\x39\xde\xed\xc0\x3c\x66\xac\xa2\xc1\xc6\xdd\x77\x21\xcf\x32\x98\x98\x8c\x1c\xb4\xc8\x98\x08\x60\x03\xc2\xf3\x3c\x0b\x98\xd8\x05\x21\xc8\x61\x22\x59\x18\xc6\x62\xc0\x6e\x00\x02\xa4\x86\x00\x66\x38\xec\xb5\x62\xc2\x62\x6c\x30\x72\x40\x4c\xa2\x03\x73\x36\x83\xd1\xc5\xb1\x1c\xc6\x82\xc5\x41\xd8\x5a\x83\xc9\x62\x67\xad\x3e\xbe\x51\xc6\xac\x99\xc7\xac\x97\xe5\x80\x38\x0c\x62\xbd\xc4\x12\x8c\x19\x23\xe6\x00\x1c\x98\x75\xb1\x44\xc0\x40\x30\x18\x39\x6c\xb6\xc8\x3c\x30\x1c\xc7\x37\xf0\x82\xcc\x02\x47\x2c\x0c\xd6\x0a\x0f\x84\x00\xdf\xc2\x59\x79\x16\xb3\x1e\x52\xc3\x12\x03\xe1\x59\x13\x36\x1b\x78\x03\x68\xff\xac\xbc\xc9\x04\xa2\x9d\x71\x72\x3c\x03\x06\x1e\x8c\x3c\xcb\xb2\x46\x8b\x81\x67\xeb\x09\x8f\x09\xe3\xc2\x76\x42\x24\xc1\x64\x23\x16\x23\xb1\x63\xab\xcb\xfe\xdc\xcb\xf7\x12\x99\x48\x1c\xf0\x46\x1b\xc1\x26\xc6\xcc\xf1\x5a\x57\x61\x70\x5a\x59\x8b\xd1\xcc\xb1\x18\x78\x91\x25\x56\xa3\xc8\x08\x98\x70\x18\xcb\x98\x21\xbc\x5c\x8b\x19\x9b\x0d\xce\x32\x50\x52\xbf\x07\x76\x30\x59\x80\x37\x70\x9c\x41\xc6\x2e\xc0\x2c\xeb\x02\x9b\x80\x39\x1e\x33\x40\x8c\x1e\xc2\x5a\x18\xcc\x73\xac\xc9\x84\x01\x58\xc0\x18\x58\x8e\x01\xc6\xc6\x31\x46\x03\x66\x8d\x0c\x67\x94\x09\x27\xb2\xbc\x5d\x30\xd8\x18\x83\x93\xa3\x72\x00\xcc\xba\xac\x35\xac\xc1\x28\x08\x46\x16\x44\x2b\xe1\xdc\x5a\xc7\x5a\x2d\x8c\x95\xf5\xb0\x1c\x98\xc0\x63\x00\x89\xc7\x8c\x91\x61\xc0\x6d\x31\x43\x0d\x58\x0d\x22\x58\xac\x0c\x66\x79\x23\xcf\x30\x60\x62\x80\x65\x30\xe3\x60\xd8\x1a\xc6\x48\x80\xc1\xbc\xc1\xc2\x60\x22\x60\xab\x17\x30\x36\x82\xc8\xb3\x36\x23\x43\x38\xce\xc2\x11\xd1\x00\x30\x7c\x17\x0f\x60\xe3\x38\x83\x19\x7c\x76\xc6\xcc\x63\x91\xb0\xb5\x10\x88\x32\x60\x69\x23\x24\x66\x00\x6c\x36\x72\x6c\x88\xe3\x7c\x46\xcc\x8b\x5a\x1e\xec\x68\xae\x61\x58\x27\x43\x18\x06\x78\xa7\xcd\x85\xb9\x5a\xa7\xd1\xd0\xc8\xf1\x02\x67\xc2\xd8\x4e\x18\x16\x70\x03\x23\x1b\x40\x90\xcc\x84\x93\x38\x86\x35\x78\x30\xa9\xb3\x06\xc1\x68\x30\x72\xbc\xc4\x18\x3c\xc4\x88\x0d\x60\xc4\x40\xea\x0c\x8c\x4d\xb0\xf0\x00\x32\xb1\x1a\x08\xc1\x8c\xa1\xd9\x66\x0a\xda\x6d\xd8\x4a\x00\x80\x61\x00\x13\x62\xe4\xcc\x02\xd8\xd9\x5a\x89\x30\x04\xf3\x98\xb0\xa2\x29\xc6\x10\x6c\x37\xf3\x06\xa3\xd1\x40\x24\xd9\x08\xac\x81\x91\x6d\x46\x8e\x61\xcd\xc4\x86\x2d\x26\x83\x81\xe7\x39\x6c\xb0\x31\xac\x01\xcc\x0c\x16\xcc\x46\x8e\xc7\x00\xd8\xc4\xb1\x93\xb7\x34\x7e\x82\x10\xcc\x03\x6f\xd1\x4a\x6b\x20\x1c\xd6\x46\x1a\x01\x3b\x0b\x46\x16\x73\xac\x83\xb0\x35\x1c\x47\x38\x33\x36\x12\xc6\x46\x18\x96\x98\xe2\x42\xbd\xbd\xc6\xea\x62\xf8\x5a\x03\xb5\x8e\x70\x4e\x39\xb9\x03\x74\xcf\xe4\x44\x1d\xe5\x3d\x93\xb1\x60\x91\x9b\x4a\x66\xc0\x0f\xa0\x6b\x4c\x20\x1b\xa2\xbe\x28\x1c\x3c\xeb\x74\xeb\xee\x28\x74\xd2\x0a\x7f\x3e\xbf\x2e\x9c\x4a\x46\x47\x23\x11\xfc\x44\xf4\x01\xfc\x86\xbb\xe3\x0f\x1f\xd3\x8d\x81\xe6\x1c\x6c\xb5\xd9\xd4\x9f\xff\x0b\xfb\xf1\x9b\x8d\x56\x7b\x41\x16\xf2\x9b\xfc\xba\x70\xf8\x8a\xc6\x74\x2a\x82\x9f\xd8\xf2\x00\xdc\x19\x9d\x77\xdb\x63\x3a\x53\x29\xe8\x37\x37\x98\x9f\x18\xbf\x9c\x6c\x58\xe4\x40\x95\x3e\x39\x75\x3b\x8e\x5a\xd4\x82\xba\x11\x0a\x07\x53\x41\x28\xfe\xce\xe3\xcb\xb5\xfa\x9a\x41\x1a\xed\xaf\x2a\x0c\x9a\x44\x98\xe2\xeb\xe3\x0f\x85\x04\x49\x61\xfa\x41\x51\x26\xb3\x45\xb6\x97\x37\x12\x81\xdf\x9e\xeb\x42\xdb\x7b\xb3\x53\x0a\x7b\x33\x8b\xa8\x9e\xaa\x8b\x2f\xc1\xdc\x45\x52\x76\xdd\x57\x54\x9c\xbd\xd9\x5e\xaf\xca\x14\xdd\x6e\x0a\xc9\xaa\x5c\x6f\xb7\x37\xb3\xa8\x99\xf9\x69\x53\x9d\x2a\xe7\xbd\x14\xd8\x0e\xc9\x5e\xf8\x2d\xbc\x53\xd7\x14\x2d\xe3\x60\xd2\x9e\x73\xa3\x5a\x6a\xbb\x3a\xad\x0d\x82\xce\x22\xe6\x54\xc8\x19\xa4\x7e\x08\xaa\x45\xab\x58\xc1\x48\x45\x4c\xc1\xb7\x0a\x1e\x8b\x78\x21\xeb\x8d\x8c\x4c\x21\x06\xbd\x8f\x36\x0d\xc0\x88\xce\xc2\x83\x91\x81\x4d\x2c\x52\xf2\x48\x0d\xe8\xec\x94\x31\xad\x6a\x63\x8a\x02\xe3\xaa\x02\xca\xc0\x26\x1d\x14\x7c\x53\xa5\xde\xe9\x22\x84\x8c\x38\x93\x76\x17\xd9\x7b\xd1\x48\x3f\x18\xe9\x0a\x54\x64\x3c\xa5\xeb\xc1\x08\x7c\xd1\x89\x91\x8e\x99\x65\x05\x23\xe5\x36\x14\x48\x7b\x7a\x97\x25\xea\x43\xb0\xf5\x9e\xba\xa6\x68\xd1\x61\xd0\x3d\xea\x43\xea\x43\xf7\x68\x0d\x54\x70\x06\x74\x0f\x6c\x55\x1f\xba\x47\xf6\x5a\x2c\xb1\x88\x17\x72\x34\x0d\x6c\x85\xad\x34\x0d\xe4\xbc\x11\x8a\x00\x46\x7e\x3d\x73\x3e\x7f\xb4\x2a\x97\xcc\xea\xb9\xb4\x14\xf4\xdd\x34\x85\xf6\x6e\x56\xd6\xf5\x2a\x11\xc5\x39\xb7\xa3\xd9\xa8\x0b\xcd\x45\xab\xd1\x06\xca\xcd\xd7\x36\x28\x36\x9d\x93\x90\xe1\x9c\x0e\x28\xe9\xb4\xb3\x89\x38\xf5\x61\x99\x88\xfb\xd9\x22\x97\xae\xe8\xbd\x9a\x42\x47\x50\x75\x25\xaa\x40\x0c\x89\x38\x2e\xa4\xc0\x2b\x1f\xb9\xf4\xb6\x55\xbb\xf6\x71\x83\x37\x74\xcf\x1b\x60\x19\xe5\xbe\x1b\x27\x8f\xdf\x78\x1f\xef\x0c\xa4\x17\x6e\xef\x35\x0d\x0c\xdf\x76\xc7\x6d\xc3\x03\xa6\xde\xed\x0b\xd3\x01\x27\x3f\xa9\xe3\xf2\x91\x75\x05\xed\x58\x12\xdc\xb5\xea\xb6\x4b\x1f\x59\xc9\x0e\xcc\xeb\xbe\x61\x90\xdb\xa7\x2b\x3f\x62\x85\xbd\x79\xe5\x72\xb8\xa4\xb9\xc5\x1d\xae\x3b\x9a\x17\x6f\x38\x7a\xf4\x86\xd4\xf6\x3d\xdb\x36\xcf\x8b\xb5\xa4\x5a\x5a\x52\x2d\xb1\x79\x9b\xb7\xed\xd9\xce\xc6\xa9\x6e\xa1\x5a\x5f\x70\x95\x9d\x3f\xb9\x7c\xe5\xcd\xec\x9e\xa3\x75\x61\x77\x4b\x33\x8c\xd2\x9b\x45\x3b\xb5\x7b\xb8\x5d\xec\xbb\x28\x88\xe6\xa1\xcb\x0a\x68\x29\xa1\x06\xde\xcf\xd0\x6d\x5b\x3b\x89\x96\x81\x5d\xd2\x50\x04\x7e\x29\xc6\x65\x8a\xaa\x41\xc4\x9d\x46\xba\x25\xbe\x3e\xcf\x44\x0b\x18\x00\x05\xe3\x31\x97\xd3\xc1\xbb\x69\x88\x7d\xda\xf7\x8a\x2f\xd6\xec\x27\x01\xb3\xcc\x77\xc6\xac\x35\x5e\x4b\x3d\x09\xfa\x5e\xae\x6d\x8a\xf9\x8e\xf9\xf2\x73\x7d\x2f\xfb\x62\xd1\xba\x63\x3e\xdf\x2b\xb5\x4d\xd5\xa9\xc8\xc1\xb5\xc7\x56\xdf\x70\xe3\xea\x97\x57\xaf\x5f\xbf\xee\xa6\x1b\xd6\xbc\xb2\xa6\xea\x1a\xb2\x31\xdf\x2b\xbe\x00\xa9\xb7\x78\x6b\xac\xb1\x4e\x5e\x36\x07\x48\x7d\x73\xcc\xf7\xa3\x5a\xef\x7d\x3e\xfc\x56\xcc\xf7\x23\x5f\xed\x7d\xbe\x68\xcc\xf7\x4a\x6d\xfd\xf4\x44\xf9\x37\xdf\x5d\x7d\xdf\xea\xb5\x3f\x5a\x7d\xc3\xcd\xeb\xd6\xaf\x5f\xf3\xca\x9a\xe9\x97\x05\x8c\x4b\x85\x62\x7b\x23\x7d\x5c\xa0\x54\x92\xea\xaa\xa2\x44\x9c\x71\xeb\x62\x58\xde\x0f\xbc\xf2\xe6\xc9\x89\xdc\xb3\xea\xfb\x77\x5d\x87\xa1\xf5\xb5\x4f\x03\x74\x2f\x1c\x19\x3d\xde\xf4\x91\xc7\x41\x39\xf9\x26\xf0\xcf\x1e\xfa\x79\xda\x67\x7d\x0d\x5a\x9f\xbe\xab\xef\xf8\xe8\x60\xbf\xff\x34\xc2\xe8\xda\x29\x85\x13\xa8\x7d\x7d\x10\xa1\xb0\x0e\xb5\x94\xd1\x35\xfb\x0b\x9a\x36\x2d\xda\x32\x10\x84\x68\xca\x1e\xb2\x3b\xd9\xbf\x75\x2e\x18\x9d\x50\x46\x17\x74\xc2\xdf\xb2\x45\x68\xad\x88\x37\xab\xbe\xad\xbe\x8b\x7f\xa0\xbe\xeb\x50\xd6\x5f\x78\xf0\xe0\x85\xa4\x06\xee\x2e\xe8\xa4\xed\x9e\xaf\xae\x86\xa7\xea\xc3\x70\xb7\xba\x3b\xac\x4f\x3b\x50\xd0\xcd\xe4\xd1\x72\xb4\x11\x8d\xa2\x1b\xd0\x6d\xe8\xce\x32\xe6\x3f\x0b\x94\xbf\x48\xe7\x38\x4a\x9c\x8b\x85\x4f\x9d\xd2\xec\x09\xaa\x98\x4b\x75\x34\x1b\xa8\x0f\x19\x2a\x8e\xa6\xd4\x36\xef\xaa\x87\x42\xa7\xbb\x5d\x3c\x9b\xa6\x30\xdc\x74\x3b\x91\x88\x93\x3e\x0a\x19\xc4\x8b\x14\x23\x08\xdc\xa9\x64\x3f\x44\x29\x8a\x3b\xf0\xf5\x00\x51\x70\xf2\x14\xcc\xbf\x1e\x20\xa3\xbd\x95\xe8\x8c\x33\xb8\x02\x26\x7c\x84\xf5\x2b\x82\xcd\x2e\xe6\x97\x5f\x65\x60\x44\x86\xdf\xb2\xfa\xd0\xbd\x77\xac\xbb\xc8\xcc\x6f\x59\x75\xe8\xbe\xd5\xf3\x8d\xc2\x4d\x37\x09\xc6\xf9\xab\xef\x3b\xb4\x6a\x0b\xcf\x36\xb5\xac\x3d\x7c\xef\xa1\xd5\x5b\x78\x46\x64\x0c\x57\xe1\x67\x44\xbb\x4d\x50\xfc\x2c\xf1\x4d\x6c\x6c\x8f\xaf\xdc\xb8\x6d\x69\x54\x3f\xb5\xaf\x8c\xb7\x47\x97\x6e\xdb\xa8\x9f\x40\x1c\x09\x8a\x2b\xbc\x44\x64\x31\x03\x3f\x1e\xc1\xe3\x4a\x1e\x8d\x19\x31\xcb\x88\x8c\x97\x8c\x28\xf9\xbf\x7f\x09\x9b\xb1\xbe\x48\x7a\xd5\x6b\x1c\x8d\x21\x5b\x96\x37\xc0\xad\x03\x0c\xcc\x9e\xb5\xec\x63\xa9\x35\xcb\xd7\xdc\x3c\x74\x57\x6a\x4d\xbd\x60\x5c\xb2\xc4\x28\xd4\xaf\x49\xdd\x35\xd4\x7d\x45\x74\xc5\x9a\xe4\x5d\xcb\x66\xcd\x06\x66\x00\x6e\x35\xf0\x59\x5b\xa8\xd1\x71\xa4\xf9\x50\xa2\xbb\x51\x3b\xe4\xbb\x13\x87\x9a\x1b\xe9\x01\x8f\xcd\x31\x37\x3a\x0c\x1d\x5e\x62\x63\x30\x81\xdf\x05\x70\x36\xab\xae\xdc\x3d\x62\xc0\x0c\x63\x63\xbc\x6a\x2e\x0b\x27\x8e\x10\x46\x97\xc3\xe8\xeb\x46\x3d\x6a\x40\x61\x94\x40\x3d\x55\x72\x98\xc2\x0a\x59\xb4\x56\x71\xda\xd3\x09\x1e\x82\x46\x08\xca\xda\x22\x52\x70\xd1\x99\x4c\x97\x2e\xb8\xb1\xa2\x44\x28\x3f\x1e\xeb\x8c\xf9\xe0\x84\x6f\x24\x06\x63\xb1\xce\xf9\x3d\x8a\xfa\x3a\xb4\xe4\xe9\xf1\x79\xe8\x51\x29\x32\x01\x46\x31\xf2\x13\x3d\xc8\x94\x20\x05\x20\x50\xf0\x3d\x01\x27\x7c\xb1\xce\x98\xfa\xf5\xd8\xeb\xea\xeb\xf8\x49\xf5\x75\xf5\x51\xe8\x81\x31\xea\x28\x53\x01\x14\x1b\x99\xfc\x3b\xa3\xe8\x57\x94\xa7\xcd\x4c\x1d\x62\xf7\xb1\xfb\x28\x0a\xb4\xa3\x88\xaa\xa1\x23\x77\x14\x14\xf4\x0b\x56\x1b\x40\x99\x4d\xc9\x8a\x6b\x67\x55\x7a\x76\xdf\xa7\xf7\xdc\xbe\x6d\xf2\x6f\xbb\xdf\x38\xf9\xe9\x6b\xf1\xc5\xa6\x5e\x9b\x60\xca\x3f\xb2\x62\xc7\xe8\x7d\x43\xc4\xd0\xbf\x2a\xbb\xa6\x3f\xff\x4d\x6f\x43\x5d\xa4\x06\x1e\x34\xf5\xd9\x2c\x26\x75\x47\xff\x35\xab\xd6\xf7\xe2\x05\xdb\x1e\xd8\xf3\xe9\x6d\xc4\x70\xed\xa7\x4e\xfe\x72\x77\xfe\x11\x93\xc5\xd6\x6b\xc2\x9b\x97\x1d\x1f\xbd\x6c\x68\xf2\x6f\xfd\x6b\xb2\xab\xfa\xf1\x02\x4f\xa4\x2e\x50\xab\xee\x30\x59\x6c\x7d\x26\x78\xb0\x77\xfd\xaa\x6b\xfa\xf3\xdf\xdc\x32\x4d\xb7\x2f\x88\x66\xa3\x05\xba\x8f\x0f\xaa\xcf\x47\xfd\xc7\x94\xed\xfa\xed\x89\x22\xcb\xab\xda\x06\xb5\xda\xe6\xce\xad\x51\x69\x0a\x41\x79\x44\x14\xc5\x61\x52\xff\xcb\x34\xcb\xaa\x4b\xe4\x14\xa5\x33\x46\xb2\xb1\x4e\x55\xa9\xb0\x0c\x56\x4a\xbe\x49\x69\xf3\x7b\x7c\x31\xea\x9c\x48\x11\x67\x9b\xa0\xc6\xe4\x28\x1a\xf6\x4f\x20\x1d\x29\x02\xa3\x0a\xe9\x8e\x3c\x49\xef\xb2\xd4\x6b\xa9\xfa\x96\x6f\xe4\xfc\x38\x7c\x95\xe2\x75\x66\x64\xba\xd9\x8a\x2e\x9f\xa3\x72\x2d\x1d\xef\xf8\x1f\x46\xf6\x9e\x8e\xf3\x77\xae\x70\x05\x7a\xf7\x6f\x67\x0a\xd2\x35\x3e\xc7\x23\x36\x5b\x90\xaf\x45\x51\x46\xa3\x68\x8a\x16\x6c\x52\x51\x6a\x58\xf5\x76\x74\x8e\xf8\xb3\x51\xa5\xa9\xdc\x50\xff\x63\xdf\xad\x94\xb4\x9d\x51\x66\x88\xac\x0c\xbf\x42\xb3\xc1\x3d\x3a\xc0\xf0\x58\x09\x48\x99\xfc\xba\x3a\x06\xfe\x52\x81\xb2\xac\x35\xab\x95\xda\x96\xfe\x0d\xf9\x51\x0f\x1a\x42\x1b\xd1\x15\x68\x1f\x42\x2c\xfd\x0a\x32\xfa\xd7\xc1\x47\xfb\x70\x26\xd5\xc0\x85\xa8\x23\x2b\xde\x0f\xb2\x33\x48\x99\xae\xba\xbc\x24\xda\x47\x85\xc3\x0e\x11\xf3\x89\xd4\xd9\x40\xe4\xc1\x54\x22\xa9\x51\x9b\x1c\x1f\xcd\x24\xec\xe7\x6d\x84\xfd\x57\xae\x1c\x1d\xe8\x9a\xdd\x55\xd7\x72\x99\xd7\x30\xbb\x51\xb6\xcd\xb5\x8d\xc2\xb2\xcd\x89\x1e\xac\x1e\xe7\x3a\x06\x06\x3a\xea\x6a\xda\x43\x6b\x3d\x9b\xe7\x2c\xd9\x36\x7f\xd5\x02\x38\xc8\xfe\x5e\x6f\x07\x49\xd4\x1b\x4a\xfd\xd2\xe5\x80\x0d\xcd\x8b\xee\x18\x65\xdf\xae\xbc\x53\xd9\x5a\x6b\x86\x37\x0e\xac\x6f\xab\xf3\x65\x0d\x9d\xa6\x79\x4d\x12\xe0\xd4\x89\xf5\xd7\x5a\x96\xe2\xec\xc9\x46\x29\xb1\x26\xd9\xd2\xea\xae\xa9\x9d\xd3\x9d\xe8\x5a\xbd\x28\xbe\xba\x3d\x53\xd3\xa3\xfe\x8b\xde\x66\xa2\x24\x93\xeb\xb7\x6e\x6d\x7a\xb8\xc9\x62\x0f\x0f\x1d\x54\xaf\x50\xf7\x97\x6e\x54\xb5\x2b\xa9\xb0\x7f\x4a\xa1\xed\x74\x2e\x9d\xa6\xdc\x18\xd6\x8d\x63\xd2\x3a\x28\xac\xee\x40\xa2\x03\x0a\x0b\x5b\x49\x38\x40\x82\x05\xb4\xdc\xa2\x34\x4e\x37\x68\xd1\xe8\xe6\x54\x46\xd7\x56\x72\x17\xb0\xde\x52\xc9\x68\x84\xa3\x86\xca\xef\x53\x2d\x46\xf8\xae\xcf\x3d\xeb\xb6\x8f\x02\x13\xdf\x33\x70\xb5\xc9\x2c\xb2\x96\x35\x62\x3c\xb5\xfe\xa6\x6b\xe6\xcf\x1b\x18\x78\x7d\xc1\xce\x39\xe1\xb7\xe1\x93\x7c\x93\x7b\x56\x78\xf1\xf0\x92\xe1\x9b\xaf\x59\x79\x67\x97\xd5\xa0\xed\x1b\x77\x58\xfd\x56\x36\xd4\xd6\xd2\xd7\xbd\x24\x3b\xb8\xac\xad\x63\x65\x03\x56\xca\xbe\xf7\xb2\xa1\xb6\x2d\x17\x7d\x45\x39\x28\x5b\x1a\x23\xc3\x37\xf7\x48\xb5\x84\xc3\xf7\x77\x6e\xe8\x9e\xb3\x7e\xc9\xbc\x79\x7d\x8e\x76\x9f\x67\x0a\x45\x53\x57\x6f\xef\x9c\x15\x6a\x9f\x25\x39\xdd\x31\x9b\xc5\x20\x0a\x57\xcc\xf2\x47\xc2\xad\xb8\x61\x69\xc4\xd0\x15\x6e\x74\xba\x6a\xbd\x3d\xbd\xf3\xd7\x2c\xa9\xab\xe0\x8b\x6e\x45\xd7\x22\x24\x47\x3a\x74\x20\x5c\x5a\xa7\x78\x86\x77\x3b\x39\xbd\x41\x5c\x4e\xb7\x5c\x51\x5b\xbd\xc6\xed\x7a\x93\x59\x21\x9a\x49\xb8\x5d\x19\x77\xa9\xb1\xb4\xf4\x2e\xd9\x55\x6e\x39\x5d\x86\x95\xb2\x27\xa3\x91\x6a\x5c\xc3\x59\x61\x03\x11\x6a\x7b\x92\x87\x1a\xd6\xad\xba\xce\xdf\xe9\x07\xdc\x93\xed\x91\x05\x00\x91\x6b\x0b\xf5\xae\xbf\x70\xe7\x05\x9d\x2d\xb3\xec\x8d\x76\x27\x6f\xe5\x18\x56\x6e\x68\xd9\x26\xe2\x35\x2f\x0d\xdd\x20\x71\x4c\x5b\x74\x09\x67\x25\x06\x91\x73\x5a\xbd\x91\xa5\x83\x97\x5f\x79\xdf\x63\x7b\xf6\xf6\xf4\xba\x6c\xf6\x1a\x76\x9d\x24\x96\xdd\xa8\xb3\x41\x8c\xd7\x03\xc3\x13\x06\xb0\x98\x35\x1a\x6b\xc4\xeb\x85\x28\xf7\x9f\xea\x5b\xfb\x96\x77\x07\x3b\x7c\x52\xb0\xd1\xd7\x39\x67\xc9\xa7\x56\x6c\x39\xb6\xae\x7b\x9e\x33\x04\x98\xac\x33\x11\x01\x47\x04\xde\x63\x01\x33\x67\xf5\xf2\x31\xb3\xac\xde\xfe\xdd\x2b\x87\xda\xe7\xce\xe9\x0a\x04\xdb\x3b\x06\x87\xf6\x0e\x3f\x04\xcb\x4e\xd5\x34\x9e\xb9\xa5\xd8\x37\x12\x42\xa6\x92\x0e\x47\xb5\x4f\x81\xbb\xd1\x49\x1d\x31\xa2\xb2\xee\xf6\xaa\xeb\xea\xb6\xf9\x3f\x7d\x5d\xfd\xbe\x6a\x1f\xa1\x18\x15\xf1\xfb\xa8\x46\x74\x45\x78\xfa\x1d\x15\x9d\xfb\xde\x87\x4f\x59\x19\xd6\xb6\xbb\x54\x17\x81\xcd\x0e\x6c\x2a\x63\x1a\xc2\x5d\xa5\xa0\x5a\x0e\x12\x71\xa6\xd8\xf3\x26\xa8\x78\x18\x2c\xaf\xf4\x30\xaa\xcd\xc3\xb5\x53\x9f\x2c\xe0\x51\xc8\xd4\x5e\xb2\x05\x25\x10\x32\x42\x14\x1a\xa9\xbe\x77\x47\x09\xc7\x34\xec\xd6\x66\x8a\x7e\x80\x73\x9c\x99\xcf\x41\xf8\x72\xf5\xe7\xb8\x59\x3a\x73\x46\x4a\x4b\x2f\x48\x12\xcb\x69\xe7\x33\x2f\x6e\xd9\xe2\xf7\x6f\xd9\xe2\x87\x7d\xcf\x3f\xdf\xd3\xf3\xfc\xf3\x3d\xe4\x97\x85\x98\xfc\xa7\x0b\x01\xf2\x4d\x9a\xf7\xf5\xb4\x96\x57\x7a\x41\x4a\x6b\x79\xa5\x17\xee\xa5\x37\xfd\x5b\xd4\x49\x9a\xaf\xe7\xf9\xfc\xa6\x42\x0c\xf6\x17\x02\x94\xf7\x90\x2d\xd1\xff\x36\xe4\x41\xcb\x2a\x24\xec\x41\xbb\xbe\xc5\x2b\x99\xe5\xd8\x1d\x22\x13\x09\xe9\x0a\x11\xf4\x18\x6a\xe0\xf4\x8d\x9f\x3d\x19\xe9\x23\xfd\xd0\x07\x14\x1e\x23\x51\x36\xf6\x56\x7f\x08\xca\xa7\x05\xe3\x77\x8d\xac\xae\xda\x0f\x43\x06\x59\x0c\x5a\xa2\x44\xdb\x94\x6a\x3b\xd9\x2c\x89\x5a\x82\xa2\x6c\x88\x78\x01\x18\xa3\x2c\xbc\x20\xf7\xd7\x8e\x45\xbc\x0c\xf2\x46\x74\x5b\x00\xac\x00\x32\x7e\xd7\x28\xe4\xff\x89\x5e\x32\xb9\x49\x64\x75\x8b\x46\x02\x30\x7a\xfc\xf8\xa8\xf6\x03\x20\x46\xd1\x6d\xf5\x46\x20\x6b\x48\xbb\x3a\x6a\x1b\x84\x17\x64\x6f\x4e\x07\x10\x28\xd3\x30\x4b\x4b\x38\x0c\xda\x44\xa4\x6d\xed\xfb\x20\x45\xc1\x37\x45\xe2\x74\xb8\xdc\xba\x10\xa2\xe0\x05\x53\x27\x29\x23\x99\x82\x7e\x81\x36\xb9\x13\xce\x1d\xc1\xa9\xa4\xd4\x18\x60\x38\xf4\xb2\x7a\xf2\xf4\xd5\x97\x77\xcb\xc6\x36\xc7\x68\xef\x8d\xdf\xda\xb9\xf7\x57\x77\x5d\xf6\xd5\x83\x1b\x5a\x86\x97\xf9\x0d\xd8\x82\x39\x7b\xe2\xf4\x13\x0f\x3c\x71\xf8\xf2\xde\xa5\xa2\x21\xec\x4e\xc7\xfb\xd6\xd5\x6c\xb5\x33\x2f\xab\x45\xf4\xd0\x95\x94\x4f\x1b\xb8\x78\x51\xc3\x97\xa2\x5d\x87\xdf\x3d\x7e\xcd\x0f\x0e\xcc\x19\xd9\x7f\xdb\xbc\x9d\x9f\x0e\x58\x02\xfc\x2c\xce\xed\xe8\xbd\xe8\x81\x9f\x3e\x7a\xeb\xe7\xff\x78\x41\x6f\x68\xcf\x85\xf5\xf1\x81\x6b\xd6\x2e\x99\xad\x6e\x5a\x78\xf9\x06\xd8\xf7\xbb\xd3\xba\x14\xa8\x5c\xb7\xa1\x0a\xba\xbf\x58\x3b\x49\x77\x0e\x56\xa8\x1c\x9d\x7c\x3f\xb0\x72\xa1\x69\xf6\xc3\xf9\x96\xb5\x6e\x63\xab\xf3\xb2\x9e\xaf\xfc\xe7\xc2\x9b\xbf\x3a\xba\xf3\x2b\xfb\x2f\x6a\x59\xb1\x4c\x70\x32\x26\x96\xb3\xc7\x7f\xf4\xd8\xfd\x8f\xdd\x3e\xda\xa3\x55\xce\x95\x9a\xdd\xbb\xd6\xb3\xc5\x63\xff\x5a\xa5\x8d\xf1\x4d\xeb\x1b\xbe\x18\xed\x84\xe8\xaf\xd6\x3c\x74\xe3\x92\xae\x91\x9b\x3f\x3a\xb0\xe3\x53\x01\xd6\x24\xb6\xda\xdd\x72\xdf\xfa\xe3\xaf\x3f\xf2\x91\xc7\xdf\xbe\xa0\xa7\x61\xcf\x05\xf5\xb3\xe7\xee\x5e\xbd\x78\xb6\xba\x65\xdb\x83\x25\x43\xe4\xb2\x6c\xab\x96\xd2\x6b\x08\x92\xd1\xa0\x33\x21\x16\xe0\x04\xe2\xee\x8c\x56\x6a\x9b\x46\xe8\x84\x13\xa9\x50\x2a\xe4\x0c\x39\x13\xce\x44\x35\x85\x4a\xee\xe7\xd4\xe3\x3f\x25\xb5\xb3\xd6\xa6\xb7\xde\x79\xe7\xd6\x8d\xbd\x3b\xaf\xb8\x7f\x6c\x7c\x7c\xec\xb3\x2f\xc2\x85\x57\x5e\x79\xd5\x55\x57\x5d\x05\x52\x25\x0d\x8b\xf7\x7a\x23\x87\x3c\xc9\x74\xe8\xae\x1f\xdc\xd5\xbd\x7d\xdb\x9b\xea\x77\xde\x7c\x75\xaf\x96\xec\x2a\xfc\xd1\x69\xd4\xad\xb6\xfe\x7d\xc6\x88\xd8\x8b\x0b\x58\xc0\x0e\x5c\xe1\x14\x3b\xe0\xe6\xa9\x2a\xb7\x83\x8e\x30\x92\x09\xa6\x82\xae\xb0\x53\x23\xc3\x42\xa9\x44\x2a\xe1\x64\x1f\xfa\x27\xf5\x5b\xaf\xdc\xaf\xbe\xfb\xfc\x75\xd7\x3d\x0f\xb6\xfb\xc1\xff\xd2\xf7\xf7\x7c\xf1\xe6\xd3\x37\xdd\x74\xfa\xe6\xd5\x47\x2f\x9a\x57\xcf\xa9\x23\xf8\x9f\x2d\x64\xeb\xe9\x57\x4f\x9f\x7e\x15\x5f\xfd\x8a\xfa\xcd\xaf\x69\x09\xa1\x19\x6c\xcf\x5f\x97\xfb\xf6\xee\x7d\xaf\x4f\xbe\xbe\xaf\x7d\xc1\xfa\xe5\xa1\xc9\xfe\x7e\x2d\xcd\xe9\xd3\x25\x1e\xa2\xc2\x22\x64\x41\x3e\xd4\x4a\x77\x82\xd4\x75\x29\xef\x4e\x67\x12\xf6\x50\xa3\x43\xc4\x0d\xed\x38\xd9\x87\xe3\x7e\x00\xbb\xfe\x05\x87\xec\x71\x97\x33\x98\x3c\x6b\x46\x27\x08\x14\xe5\x9a\x8f\x2f\x6b\x16\xb0\x82\x51\xf3\xb2\x03\xc7\x0f\x2c\x6b\xd6\x4f\xb8\x79\xf4\xf8\x84\xa2\x7d\x77\x8c\x72\xfc\xf7\x11\xef\xfb\x94\xe3\xc0\x23\x6f\x04\x94\x11\xc8\x1d\x1e\x0e\x3b\xd4\xf1\xdf\xde\x79\xcf\xbe\xe5\xcb\xf7\xdd\xa3\x9f\xd4\x66\x8c\xb4\x0c\x2a\x3d\x92\x6c\xd9\x5f\x50\xa4\x80\x35\xc0\x20\xa2\x20\xa1\x68\x25\x43\xf1\x0c\x12\xc1\x38\x83\x64\x35\x2b\x27\xb5\x03\x75\x96\x44\x2e\xa2\x61\x19\x72\x72\xb2\x88\xf3\x00\x88\x41\x24\xab\xe7\xd5\x7d\x7d\xeb\x4a\xfe\x0c\xd2\xbd\x2c\xd1\xc4\x32\xe4\x80\xea\x4a\xc8\xba\x42\xbe\x9e\x37\x8b\x14\xac\x30\xf4\xbd\x05\xcf\xba\x05\x68\x03\x6d\x67\x5f\x7e\x11\x93\xad\x7c\x8e\x5c\xf4\xa7\xac\xe0\x2c\x53\x51\x66\x1d\x48\xd0\x0d\x38\x4b\xcb\xac\xbf\x0b\x3f\x58\x2e\x7c\xa4\xf0\xde\xe9\xb6\x35\x75\x08\x25\x82\x54\x37\x32\x6c\x0f\xda\x67\x58\x5b\xc7\xf0\x48\x5e\x91\xd9\x2b\xf3\x0a\x1e\xd1\x5d\x67\x97\xd6\x3b\x46\x99\x18\x13\xe4\x00\x33\x32\xa1\xc8\xcc\x4b\x95\x7e\x48\xb4\xf1\x99\x63\x74\xec\xb9\xda\xea\x56\x95\xaa\xda\x69\x7a\x1b\x47\xaa\x9a\xed\x67\x15\x2d\x31\x43\x1b\xd2\xf7\x60\x74\xfe\xbe\x9b\xf6\xa0\x42\x5e\x82\x0a\x65\x3c\x4f\xdf\x91\xea\xf7\x96\xed\x89\xbd\x68\x4e\xe5\xce\xd4\xe5\x66\xdc\x7e\xdc\x8d\xa9\xec\x3b\x9c\x96\x1d\x1c\x8f\x78\x91\x69\xc1\xd4\xb0\xa0\x91\x4a\x71\x0b\x6e\xa2\x74\x46\x79\x6b\x17\x8c\xde\xde\xb5\xe8\xfa\x04\x40\xe2\xfa\x45\x5d\x9f\x87\xc5\x5d\x2d\x5b\x96\xa8\x77\x6c\x34\xcd\x6d\xe9\x4d\xbb\x01\xdc\xe9\xde\x96\xb9\xa6\x0d\xea\xe7\x1b\xfa\xae\x5a\xbd\x8c\xcd\xcd\xdd\x4c\xe6\x4c\xfe\x96\x6a\xe1\x7b\x67\x47\xfe\xba\xb5\xb9\x63\xf6\xec\x8e\xe6\x9b\x7f\x19\x85\x75\x2b\xee\x49\xa8\x13\x59\xbe\xa3\xae\x51\x92\x1a\xeb\x3a\xf8\xec\x3b\x9e\xe6\x63\xfd\xcb\x77\x6e\xa2\x7d\xfe\x34\x87\xd8\x2b\xa8\xdd\x5f\x4b\x01\xdf\xc2\xa5\xab\xea\x26\xd3\x71\x17\xe5\xe8\xeb\x2e\xea\x9d\xf6\xa0\x64\xeb\x80\xa0\x33\x44\x4d\x2c\xe1\x62\xf5\xab\xb0\x19\x2e\x5d\x83\x57\x6d\xbb\xf4\x73\xdb\x98\xbb\xd5\xaf\xad\x5c\xd7\xbf\xd6\x69\x56\xbf\x86\x01\x60\x09\x76\x34\x2f\xba\xb4\xff\xc9\x57\xc8\xdd\x93\x41\xf2\x1f\x10\x5f\xb2\x65\xcb\x92\xa5\x97\x5c\x32\xf9\x8b\xfc\x0f\xb0\x74\xd9\xde\x05\x09\x7f\x22\xff\x63\xb8\x1b\xde\x9d\x35\xeb\x9e\xc0\xac\xce\xfa\x5f\x4f\xc7\xd7\x4f\xd2\x35\x91\xfa\xf4\x8f\x46\xd2\xfd\x90\x4e\xb8\xdc\x74\xde\xc2\x74\xed\xe0\xf8\x2a\x36\x3f\x75\xfa\xef\xe2\xd0\x4d\x2f\xab\xbf\xf9\xd4\x17\xd4\x7f\xbd\x92\x07\xc3\x61\x93\xd5\xc6\x2f\x79\x6d\x6f\xd1\xf3\xff\x96\x7f\x5e\x78\xb8\x82\x33\x7f\xcb\xe5\x20\x1f\xfb\x14\xf8\x5e\x26\x3e\xf5\x07\xea\x6f\x5e\xbe\xe9\xde\x43\xa6\x1a\xc3\x11\x23\x36\x6d\xde\x59\x70\xfc\xbf\x68\xe0\x48\x05\xe7\xfe\x23\xdb\xaf\xbe\xe9\x65\x04\x28\x36\xe5\xe4\xfe\xc0\xfe\x04\xed\x46\x28\x38\x0d\xb4\x96\xe7\x1a\xa2\x7e\xce\xe9\xe0\x45\xb6\x10\xd7\xc7\x50\x73\x68\xd6\x5d\x18\x42\xed\x5c\x2a\x99\xe9\x63\x0b\xbc\x23\x91\xa1\xa6\x25\x6c\xd4\xe5\xb0\x42\x11\x0b\xf6\x0f\xe1\xcb\xa9\xdf\xdd\xfb\x23\x2d\x53\xe8\x80\x18\x13\xb1\x93\xb1\x31\x06\xe2\x23\xb5\x66\xaf\xe4\x15\x62\x3e\x75\xa7\xcf\x68\x74\x99\xfd\xc4\x1f\x31\xd9\xec\x26\x3b\xe7\xc0\xa2\x08\x1b\x67\x4a\x0a\x27\x66\x48\x7a\x00\x50\x4b\x2a\x19\x85\xcb\xc3\xa9\xf0\x15\xe1\x30\x5c\xd1\x98\x4e\xb5\x00\x3a\x20\x8a\xd8\xc1\xd9\x4d\x76\x9b\x29\xe2\x27\x7e\xb3\xcb\x68\xa4\x9c\x32\xc1\x2b\x79\xcd\xb5\xc4\x47\x0c\x8c\x8d\x71\x62\x31\xa6\xbd\xeb\xec\xa4\xea\xce\x99\x92\x1e\x98\x42\x2d\x61\xf5\xfe\x68\x19\xc3\x43\xd7\x27\x0e\xa2\x26\x2a\xd9\x18\x2c\xdb\x56\x97\x88\x39\x39\xdd\x0e\x1c\x4f\x44\xaa\xef\x91\xce\xa4\x23\x8d\x55\x29\x8a\x1a\x71\x60\xe3\x75\xb9\x8f\xbd\xe8\xf9\x1d\x14\xea\x05\x19\xcc\xfa\xe9\x6f\xdb\xb9\xda\x78\x3b\xbf\xbd\x67\x93\xcd\x31\xfc\xe0\x11\x87\xad\x15\x6f\xa1\x77\xf2\x2f\xd2\x13\x2e\xa4\x3b\xfa\x31\x39\x74\xe6\xb6\x90\xfc\xb1\xbb\xde\x85\x21\xb8\x02\x86\xde\xbd\x0b\xe8\x9d\x41\x5c\x70\x8f\x7c\x12\x0e\x78\xdb\xc4\x5a\xaf\x7a\x0b\xbb\xac\x67\xd9\x91\xd8\xf0\xb2\x9e\x6b\x44\x3d\xc5\x8b\xf4\xb4\x47\x4f\x97\x53\x27\x7e\x59\x57\xf7\x0b\xe0\xbe\xaa\x3d\xe4\xae\x77\xd5\x7f\x2e\x61\x37\xd2\xba\xbb\xb4\xf5\x0f\x05\x18\x6d\x4f\x59\x0f\x3c\xc7\xa7\x75\x34\xfa\xc6\xb4\x2d\xc2\x94\xc1\xb8\x42\x0d\xd5\x68\x5c\x14\x24\x7a\x48\xdd\xa9\x3e\x74\xfa\xee\x5b\x2e\xa8\xf5\xb4\x9f\xb8\xb9\xa5\x6b\x41\xef\x0f\x61\xeb\xe9\xd3\xb0\xb2\x02\xa3\x8b\xb5\x7a\xce\x02\xe9\x7a\x17\x3e\x05\x6f\xc1\xa7\x18\xe5\xe8\xdb\x87\x77\xbd\xb8\x34\x3e\xb2\x61\x65\xff\x15\x11\xce\x70\xf4\x6d\x90\xde\xfe\x7e\x19\xb8\xcb\x69\x9f\x01\xb7\xeb\x9f\x20\xfa\xe4\x93\x65\x1e\x04\x42\x0e\x34\x07\x6d\xab\xac\x45\xa9\x0e\xc9\x88\xd6\x0b\x1f\x80\xa2\x00\x1f\x8c\x9f\xe0\x74\x70\xe4\x42\xf5\x65\xf5\xaf\x0f\x8d\x8e\x5c\x12\x6a\xf0\xb5\xa6\x96\x0f\x7e\x02\x4c\x0f\x3d\x94\xff\x34\x1c\x80\x05\xa7\xce\x83\xae\xc0\xce\xf9\x50\xa8\x0a\x77\x31\xca\xce\x67\x76\xac\x3a\xd1\xd9\xb9\xc6\x21\xd7\x9b\xc4\x9d\xcf\xfc\xf0\x99\xb7\x0e\xbf\x7d\x1e\xa8\x85\x89\xbf\x9f\x1f\x65\xe1\xe6\x1b\x4e\x23\x40\x30\x85\xc8\x3e\x56\xa1\xd8\xcf\x2e\xbe\x60\xde\x94\x91\x59\x5d\x38\x51\x50\x86\x77\x3a\x78\x12\x4e\x27\xe2\x64\x8f\x64\xce\xff\x46\xa8\x63\x4c\x76\x3b\xf3\x3d\x75\x94\x31\x48\x82\xc4\xfe\x2f\xc6\x63\x83\xc5\xb2\x97\x7d\x12\xee\x34\x30\x32\xf9\x57\x87\x67\xe2\xe6\x1a\xcc\xfa\x6c\x24\xb6\x1d\xcc\x56\x0f\xe9\x12\xa5\x1a\xbb\xc1\xa4\xce\xde\x82\x2b\x7d\x7f\xac\x9d\xce\x0f\xed\x86\x54\xd0\x99\xa8\x76\x8e\x3c\x63\x1c\x15\xdc\x86\xa6\x3b\xcf\x68\x01\x67\xb0\x80\x22\xc8\xa3\xce\x98\x6e\x52\x38\xa2\x22\xca\x91\x9d\xf1\x6a\x28\x89\xf5\x6b\x6a\x78\x18\x1b\xc1\x28\x39\x34\x12\xeb\xac\x34\x47\xcc\xe5\x8a\xa9\x67\xb8\x4a\x0e\xe5\x8a\x79\xb5\xd8\xdc\x50\x32\xd7\x59\xa6\x4d\x72\x48\x46\x2b\xd0\x85\x05\xba\xa8\xa8\xf0\xee\x8a\xa7\x53\xf6\x74\x5c\xe7\x32\x6a\xdb\x26\xae\x28\x0a\x6a\x87\x68\x3b\x54\x5d\xd2\xc5\x4c\xc7\x25\x48\x23\x6d\xd5\xf0\x83\xdb\x05\xce\x48\x03\x4f\x1f\x47\x94\x13\xaf\x9c\x88\x24\x23\xcb\xb7\x2d\x0f\xf6\x91\xa0\x2c\x98\x2d\xb3\xd7\xcf\x99\x7f\x43\x0b\xef\x64\xcc\x76\xc9\xcc\x38\xf9\x96\xbd\x77\xec\xa5\x97\x92\x9d\x5e\xde\x30\x7f\xce\xfa\xd9\x16\xb3\x20\x43\x1b\x9a\x82\xb5\xdf\xba\x13\x84\xf1\xcf\x06\x21\x8f\x9a\x5b\x9b\x23\xc9\x08\x7e\x3e\x7f\x6a\xe7\x89\x13\x3b\x35\x12\x26\xbe\x7c\x79\x1c\xcf\x37\x47\x04\xd9\xd4\xde\xbe\xb4\xc7\xd4\xc8\xd9\xed\x5c\xa3\xa9\x67\x69\x65\xb8\xbd\xdd\x24\x0b\x2c\xfe\x1a\xd8\xef\x18\x3e\xf6\xeb\x23\x18\xbf\xba\x05\xe3\x2d\x1a\x51\xca\x94\xe4\x2a\x06\xe4\x41\xb5\xda\x0e\x84\x0d\xea\xb2\x94\xe0\x59\xcc\x92\x60\xc9\x86\xbb\x77\xba\x53\x14\xca\xbd\x27\x88\x50\x19\x87\xaa\x00\x92\x85\x3c\xe5\x66\xe2\x9c\x20\x03\x82\x16\xf5\x75\x8c\xca\xc2\x96\xce\x18\x93\x8d\x75\x3a\xad\xda\x5a\xa0\x60\xa5\x33\x06\x63\x10\x28\x61\xc5\xe6\xaf\x84\x16\x75\x6d\x9e\xf6\xf9\x98\xce\xa6\xef\x8c\xa9\x5f\x17\xac\xea\x4e\xca\xaa\xd7\xfb\x8e\xfa\x82\xb1\xa1\x18\xda\x48\x65\x93\xd4\xac\xbc\xb0\x67\xf2\x83\xbb\x60\xd5\xe0\xd0\x3d\x65\x27\xd2\x74\xbf\x9b\x71\xf0\x22\x2e\xa3\x8d\x68\x3b\x43\x6a\xb0\x45\x7b\xae\xf8\x6b\xc7\x3a\x70\x6f\xdc\x8f\xf1\xb8\xec\x95\xaf\x48\x6a\xe5\x8a\x6f\x1d\x1c\x5b\x70\xf5\xed\x47\x6e\xbf\x7a\xc1\x7c\x53\x93\x49\x11\x7e\x23\x28\xa6\x26\xd3\x7c\xe5\xd2\xb6\xee\x1e\xa6\xa3\xa6\xa6\x4d\xe8\x6f\x77\x0c\x6f\x1a\x76\xb4\xf7\x0b\x6d\x35\x35\x1d\x4c\x4f\x77\xdb\xa5\x17\xde\xfb\xb5\x6f\x7d\xed\xde\x0b\x09\xe5\xbc\xb6\xc7\x65\xaf\x1c\x18\x4a\x2e\xde\xb7\xa2\xad\x6d\xc5\xbe\xc5\xdb\x57\x98\x5b\xcd\x9f\xb8\xf7\xde\x4f\x98\x5b\xcd\x2b\xb6\x7f\x72\xf7\xec\xa1\x6b\xe3\xbe\x74\xb8\xb6\x36\x9c\xac\x73\x7b\xda\xe3\xad\xc9\x64\x6b\xbc\xdd\xe3\xae\x4b\x6a\x71\x69\x5f\xfc\xda\xa1\xd9\xbb\x3f\xb9\xf5\xc9\xdd\x73\xe7\xee\x7e\x92\xce\xff\x3a\xf6\xac\x97\xda\xa0\x50\x36\x75\x59\x36\xa4\xfb\x91\xa4\xea\x12\xb6\x0a\x5c\xca\x48\xd9\x50\x5d\x87\x33\x13\xce\x8c\xc9\x82\xc5\xa2\xfe\x8b\xd1\x08\x59\xea\x2a\x72\x44\x90\x0b\x28\x93\x67\xc6\x28\xca\xef\x88\x8e\x22\x09\x23\x39\x41\xce\x09\xb2\x09\xb2\x46\x41\xd4\x52\xcb\x42\x4e\xc6\xc1\x22\x58\x24\x65\x2d\x97\x20\x21\x8b\x18\x81\xd4\x37\x51\x8a\xda\x00\xb7\x94\x25\x40\x45\x59\x56\x3c\x03\x69\xf6\x03\xe4\xca\x2c\x92\xc4\x71\xfa\xe0\x71\x41\x36\xc2\x88\xd1\x67\x84\xcd\x26\x5c\x94\x36\xdf\x79\x3d\x86\xd6\xd7\x3e\x05\xa4\x7b\xd1\xe6\xd1\xe3\x4d\xb7\x3c\x86\x47\x44\x09\x46\xa8\x9c\x67\x8c\x7a\xc0\x1c\x33\x1a\x61\xb3\xe5\x35\x2a\x83\xbe\xe5\x8d\x8c\x5f\x78\x0d\x5a\xff\xe9\x9e\xbe\xe3\xa3\x43\x7d\xf5\xa7\xcf\x2e\x63\x94\x2a\x2e\xeb\xf8\x14\x25\x3d\xdc\x44\x01\x11\xe2\x9c\x65\xd4\x5e\xe3\x33\xaa\x0f\x9b\x2a\x0a\xfb\x01\x65\x1c\x13\xb5\x9a\x18\xd5\x87\x2d\x16\x51\x52\x69\x1b\xc3\x88\xac\xbe\x73\x8e\x42\xa2\x4a\x1f\xe9\x3c\x5a\x8f\x46\xca\x12\x1d\xb6\xa4\xab\x41\x32\x5c\x1d\x50\x90\x02\x1d\x94\x20\x95\xcc\xb8\x02\x19\x57\x1d\x05\xdf\x2d\xa2\x99\x45\xe9\x74\x34\xed\x3a\x12\x4d\xa6\xdb\x71\xd4\xcf\x94\x14\x3b\x74\x51\x2f\x13\xd1\xd5\x36\xcc\xe1\x39\x3b\xe7\xbb\xe6\x2c\xdc\x35\xb6\x6b\x51\x57\xcd\x21\x58\x78\xa8\x66\xf4\x78\xa0\x73\xb8\x33\x30\xb4\x73\x88\x9e\x17\x74\x03\x30\x26\xc3\xfc\x9d\x73\xc2\x66\x35\x57\x50\xe3\xf8\x19\x15\x61\xef\xbf\xf1\xc8\x91\x1b\xe7\x1f\x38\x7e\xed\x06\x6b\x72\xfe\x8b\x8e\x6d\xbd\xc3\xbb\x76\x0d\xf7\x6e\x73\xbc\xd8\x57\xbf\x73\x67\x7d\x5f\xf6\xf8\xe8\x85\x75\xcd\xda\xc7\xdd\x5c\x77\x61\x72\x68\x28\x59\xbe\x9a\xbf\xb7\xc1\x34\xb7\x3e\xd9\x2c\x5b\x37\x5c\x7b\xfc\x00\xf9\x49\x41\xa1\xa3\x64\x5b\xae\xb7\xc5\xb2\x32\xa5\x97\x71\x70\xbc\xdd\xc1\x04\x1a\x7b\x41\xb7\xfb\x4d\xc4\xdd\x54\xec\x43\xbf\x08\xbb\xc3\x15\x48\xeb\xba\xf8\x94\x27\xa4\xf7\x9e\xdd\xc1\xf1\x4e\xfd\x0e\xa5\x24\xe2\x25\xb3\x85\x45\x5d\x3a\x7c\xf4\xa3\x6f\x44\xbc\x9c\xc9\xde\x13\x4a\x0d\x0e\xa6\x82\xf5\xa7\xc0\x70\xaa\x3e\xa8\x85\x43\x3d\x76\x13\xe7\x8d\xbc\xf1\xa8\x16\xd5\xb5\x68\xd7\xd8\x2e\xa2\x2b\x1d\x64\xfb\xb6\x38\xd5\x3d\x27\xdf\x7c\xf3\xe4\x21\xc7\x4f\xee\xa1\x90\x1a\xfe\xc6\xc1\xd1\x41\x49\xbd\x8a\x72\xef\xee\x93\x06\x47\x07\x1b\xfd\x38\xe2\x55\xd1\x3d\x3f\x71\x1c\xa2\x91\x47\x9d\x5b\xfa\x86\x77\xed\x2a\xf8\xfa\xd4\xe5\xaa\xda\x6e\x36\xac\xeb\x46\xb1\x65\x78\x74\x7b\xd0\x9e\x28\xa9\x42\x15\x30\xd4\x13\x45\x8d\x28\x75\x8c\xa2\x3a\x32\x63\x93\x48\xd1\x55\xa0\x30\x3a\xb4\x31\x9b\xdd\x78\x88\x51\x14\x65\x02\x1d\xda\x48\xb2\x1b\x0f\x4d\x20\x16\xe9\x9a\x4f\xe3\x93\xb9\x8d\x87\x58\x74\x08\xe1\x0a\x1b\xb1\x44\x95\x85\xd8\x87\xb7\x0a\x23\xd9\x0f\x69\x08\xf6\xa1\x0c\xbf\x74\xda\x30\x5b\xa0\xed\x1b\x68\x4f\xd3\xca\x42\x50\x1f\xf4\xc8\xa6\xd1\x12\xd3\x38\x08\x9c\xb2\x6b\x38\x9b\x1d\x7e\xff\x5d\x1e\x1d\x1f\x9d\x40\xa3\xc7\xf9\xec\x9b\x27\xb3\x87\x36\xe6\xb3\x1b\x0f\x45\xbc\x8c\x72\x92\xcc\x1a\xdb\xa5\x2a\xf9\xdc\xe8\xf1\xe3\x8c\x51\xfd\xce\x9b\x01\xad\xbd\xf0\xb8\x37\x52\x89\x85\xde\x86\x06\x74\x6a\x80\x2f\x59\x98\xea\x43\x8a\x0e\x19\x97\x8e\xbd\x32\x3d\xcc\x96\x52\x86\x2a\xfd\xae\x2e\xea\xa2\xc0\xff\x5d\x8b\x2a\x61\x14\x22\xc9\x08\x41\x34\x7e\x5c\x90\x4f\x1d\x02\xe4\x8d\xb0\xb9\xbc\xd2\xbb\xcd\x31\xf9\x9e\xf6\x11\x10\xb3\x63\x5b\x2f\xd6\xe1\x61\x47\xa8\x32\xde\x58\x75\xf8\x7d\xea\x33\x03\x23\x59\x20\x81\x43\xa7\x74\xb9\xaf\x6e\xbf\x22\x23\x6f\x01\x03\x77\x35\xf5\x68\xe0\xac\x16\xb2\xf3\xf6\x60\x24\x0a\x11\x28\xac\xf0\x76\x98\x06\x2f\x13\x49\xb1\x55\x52\xc0\x6a\xa9\x20\x7b\xca\x17\x2b\x49\xde\x95\xd8\x88\xef\x10\xdc\x60\xb2\xa8\xdf\xb7\xc0\x56\xaa\xde\x80\x00\x49\x62\x11\x72\x46\x94\xf0\x78\x31\x54\x19\x2b\x89\xcc\x21\xdf\x48\x6c\x42\xd1\x9e\xc2\x51\x29\xfc\x7c\xf5\x8e\x3a\x0b\x74\x59\xce\x48\x0c\xd2\xc8\x81\x33\x88\x8c\x14\x85\x46\xe2\x58\x59\xba\x37\x85\xca\x61\xe4\xa8\xc0\xaf\x3f\x5b\x96\xf4\x45\xf4\x6d\xf4\x23\xf4\x1f\xe8\x4f\x68\x0a\xac\x50\x0f\x6d\xd0\x7b\xb6\xdf\xea\x54\xd5\x35\x5b\x75\x5d\x9d\xbe\xda\x6f\x75\xf5\xfd\xf3\x5d\xff\xbf\xce\x7f\xbe\xf4\xd5\xf5\x05\x6d\x8a\x29\x6a\x5b\x9e\x85\xc5\x04\x4a\x19\xa5\xbb\x02\xaf\x1b\x95\xc3\x53\x15\x61\x72\x8e\xf8\x73\x85\xff\x6f\xa4\xc7\xe7\x88\x9f\x5e\x66\x50\x26\x14\xad\x6e\x14\x18\x0b\x55\x7a\x7f\x1f\x2f\xd5\xf4\x2f\x67\x57\xbc\x22\x2e\xff\x97\x19\x22\x67\x0a\xfd\x9f\x4a\xa8\xce\x14\x59\x3e\x9c\x39\xc6\xa1\x33\x68\x5c\x27\xe0\x2a\xd4\x81\x91\xf0\x81\xdf\xcc\xd7\xd0\xcf\xd1\x7b\xff\xef\xbf\x92\xff\xc9\x28\x2d\xe9\x65\x54\x8c\xd7\x1a\x28\xfa\x1b\x08\xa5\xa6\x6b\x1b\xf5\x42\xc2\x79\x36\xbe\x7d\x22\x58\xda\xc1\xfc\x5f\x19\xdd\x1f\x76\xf4\x4d\x69\x3b\xe1\x6c\xac\x53\x0b\xeb\xa3\x90\xde\xaa\x28\x8f\x52\x78\x5e\x71\x6c\x42\xb6\x33\x06\xb9\x58\x27\x64\xff\x8f\x8d\xd1\xf3\x8c\xa8\xc9\x63\x8c\x12\xd0\x26\xec\xc0\x84\x42\xc7\x15\xc9\xe9\x05\x1d\x19\x29\x29\x56\xe9\xe1\xb6\xf2\xe7\x03\x34\x87\x3a\x1e\x41\x2c\x95\xbd\xea\x74\x9b\x0d\x79\x50\x0f\xda\x3a\x5d\xfa\x4a\x21\x5c\x8b\xe4\x9c\x4c\xbb\xaf\xe4\x3d\x22\x54\x74\x21\xe1\x2c\xf5\x66\x3c\xad\x03\x40\x4c\x13\xd0\x46\xa8\x74\x36\xad\xcb\x66\x4b\xcb\x30\x65\xbb\xa9\x2f\x82\xf2\x69\xd1\xf0\x5d\x1e\xb3\x88\x46\xbc\x28\x89\xe3\x54\xd4\xad\x63\xe7\x17\x83\x80\x22\xde\x5c\x51\x5e\x4b\xbf\x1b\xaf\xfc\x82\x9c\xf5\x8e\xe9\x52\x9c\x02\x0b\x4f\x01\x84\xf9\xef\x5a\x4c\xf9\xa7\xe8\x35\x09\x9c\xf5\x1c\x2d\x88\xdb\x27\x14\x6f\xa4\x28\xb9\x8d\x24\x23\x30\xe6\xcd\xca\x2f\xc8\x54\x5f\x3d\x52\xc4\x96\xd0\x71\xeb\xa3\x68\x36\xea\xa7\x36\xee\x1f\xa6\xea\x1f\x8a\x2a\xa4\xbb\xa7\x19\xaa\x98\xd7\xa9\x45\x85\x52\x3f\x4c\x6e\x22\x37\x56\xa6\x16\x03\x81\x8d\x87\x60\x6c\xe6\xda\xfc\xf1\x03\x89\xc8\x22\x3e\x07\xc5\x85\x9f\x83\x10\x70\x02\xf0\x21\x9d\x04\x6f\x21\xa9\x84\x3d\xc4\x87\xa2\xa9\x44\x2a\x91\x8a\xa6\x32\xa9\x50\x2a\x94\xca\x24\xdc\x09\x7b\x28\xd5\x8d\x75\x5d\x5f\x48\xb8\x59\x3f\xb8\x79\x05\xd4\x37\xd5\xb1\xf1\xac\xfa\xf3\x05\x5a\xf3\x8f\x8c\x65\xb3\x63\xb9\x91\x40\x40\xc9\xe5\x94\x40\x60\x24\xa7\x5d\x53\x62\x68\x01\x84\xb3\xe3\x30\xa2\xdc\x63\xc0\xd9\x40\x36\x90\x55\xc7\x8c\xa2\x31\x00\x63\xe3\x81\x5c\xc0\xe0\x51\x3c\x86\x40\x2e\x30\x0e\x63\x01\xa3\xb6\x11\xcc\x06\x7c\xb3\x4c\x74\xff\x90\x2d\xe8\x9f\x70\xc8\xa3\x4b\x27\x34\x32\xd7\x19\x4c\x65\x68\x7b\x46\x33\xc1\x4c\xd0\xcd\x53\x00\xee\xc1\x14\xa3\x4c\x28\x8a\x72\xf2\xcd\x6c\x00\xc6\x03\x24\x17\xc8\x62\x45\xfb\x5a\x53\x83\x6a\x36\x97\xcb\xbd\x79\x12\xb2\x59\x45\xc9\x05\x26\xc7\xa7\xf9\x4c\x4d\x20\x14\x2e\xbb\x4b\xad\xd2\x7b\xd4\xe1\x41\x28\xfe\xe1\x59\x38\x40\x54\x8f\x4f\x45\x65\xbf\xb5\xb8\xe8\x39\xb5\x52\x76\x9b\xd3\x65\x57\x6a\x8e\x0e\x23\x2a\x3e\xd2\x26\x04\x35\xe7\x8d\x44\xc8\x37\xaa\x74\x13\xab\xca\xf5\x61\x7c\xb9\xce\x54\x2e\x35\xa7\x97\x2d\xa7\xbf\x4b\x2f\x55\xb6\xba\x64\xba\x33\xd7\xac\x5e\xba\xe9\x19\xf0\x9c\xe9\x05\xc3\xa8\x0d\x2d\x23\x7f\x61\x12\xc8\x81\x9a\xb4\x1d\x6d\xb5\x2f\x5c\xde\x08\xcc\x4c\x91\xf8\x5a\x53\xdc\xe4\x35\xa9\xed\x26\x13\xbc\x6a\xf2\x9a\xe2\x26\x93\xba\x17\x0e\xc3\x91\x19\xa3\x9f\xa2\x21\x1a\x03\xaf\x9a\xf4\x24\x7b\xd5\xbd\xa6\x99\xa3\x75\xbf\x6a\x68\x19\xf9\xb7\x62\xb9\x50\x59\xb7\xa5\xec\x53\x97\x99\x29\x12\xaf\xd6\x5e\xae\x3f\xf7\xb0\xba\x57\x7f\x28\xbc\x0a\x47\x66\x8c\xc6\xcb\xf4\xb2\xd2\xab\xc3\x70\xb8\x50\xe2\x76\xd3\xcc\xd1\x5a\xb9\x96\xa1\x8f\x31\x09\x66\xf5\xb4\xf6\x9a\xee\x1f\x42\x9a\x29\x92\x49\x9c\xaf\xd6\xd3\xa2\xdf\x39\xab\xa8\xda\xfb\xe1\xfa\x19\xa3\x91\x5e\xae\xa7\x98\x04\x73\x6d\x65\x7b\x55\xf9\x98\x90\x66\x8a\x64\x12\xe7\xae\xee\x0c\xd1\xf8\xa9\xb3\x3b\xd7\x64\x8a\x6b\x05\x9b\x21\x5a\x9b\x8b\xda\xd0\x32\x7c\x2d\xed\x47\xad\x54\x46\xa8\x76\xb7\x8c\xaf\x2d\xa6\x9e\x36\x6e\xc8\x3b\x33\x37\x16\x9d\xdf\x04\xb4\x0c\xaf\x2e\x3d\xf3\x43\x0f\x82\x73\xf5\x36\x7d\xe6\x32\x10\x98\x04\x59\xad\x3f\xf3\x1f\xe8\x40\xb8\xf2\x5c\x7d\xa2\x3d\xb3\x8d\x49\x90\x6b\xcb\xe5\xfc\x90\x8d\x4f\xda\xce\xd1\x9c\x05\x39\xb4\x4e\x37\x76\xe8\x78\xa9\x95\x28\x3d\xba\x2c\xdf\xe1\x2f\xed\xc8\x93\x7d\x90\xaa\x98\x43\x78\x24\x0b\xef\x53\x12\x81\xcb\x52\xd9\x7e\x7e\x3c\x10\xd0\x9d\xa4\x07\x02\x79\x0a\x91\xc4\x65\x07\x36\xe1\x00\xa1\x34\xc5\x24\xd5\x0d\x5e\x36\x91\x1b\xd8\x14\x5e\xd9\x2b\x68\x73\x88\xd8\x33\x1c\x29\xab\xa3\x55\xe8\x80\x58\xa9\xc5\xba\x36\xb7\x4d\x97\x34\x84\xa0\x02\x7b\x4e\x2b\xab\x46\x02\x16\x68\xc6\x04\x1b\x4f\xb6\x40\x83\x23\x01\x63\x25\x25\xb7\x81\x89\x31\x59\x60\xe8\xeb\x27\x72\x82\xcc\x8e\x8c\xe9\xb0\x4d\x63\x64\x97\xcd\x36\x66\xb3\x01\xd2\xd1\x43\x75\xf4\x5b\x32\x52\x66\x70\xcb\x93\xab\x29\xb3\x7a\x64\x24\x10\x28\xe9\x83\x33\x3a\xad\xe3\x46\xd1\x32\x9d\x13\x9e\xb1\xd5\x2a\x59\x06\x3a\xce\xc3\xe7\x0a\x2d\x20\x10\xbd\xb1\xca\x58\x78\x3b\x28\x03\x61\x5c\xe7\x28\x4f\x6a\x25\x20\x2f\x4d\x53\xd4\x63\xf4\x02\x50\xbe\x89\x5b\xd7\x46\x3f\xd7\xdb\x31\x6d\x82\x6e\xa8\x76\x61\x00\xaf\x50\x40\x24\x34\x25\x0b\x2a\xa2\x75\x44\x82\x9c\xd3\x9a\x60\x0c\x66\x0d\x25\x55\xa4\x73\x1f\x92\x43\x9b\x75\xdc\x24\xda\x04\x3a\xbf\x9f\x2c\x0b\x04\x02\x93\x34\x01\xa3\x1d\x2b\xd7\x1f\x33\x72\x23\x84\x0a\x9e\x6a\xfb\x40\x17\x4e\x96\xbc\x3c\x7f\xbc\xe4\x94\xf6\xbe\xfb\xce\x72\x4b\xcb\x8c\x55\x38\xad\x7d\x6e\x26\xac\x87\xc2\x9a\x1e\xa4\xde\x7f\xca\xf5\xe9\xc3\xdd\x50\x74\x74\x5c\x72\x43\x56\xe9\xee\x67\xe6\x04\x04\xed\x1a\x56\x95\xe1\x5d\x2b\x8f\x3c\xb7\x93\xae\x66\xd9\xd1\xe3\x9d\xb1\xf1\xe1\x5d\x44\x39\xc7\x0d\x9c\xd5\xa2\x77\x0d\xe3\xdc\xce\xe7\x8e\xac\xa4\x4b\xdf\xf1\xd1\x40\xac\x53\x4f\x3e\x43\x3c\x9a\xb1\xdc\x22\xae\xd8\xe6\xa4\x7b\xf5\xed\x4c\xa5\x9b\xa2\x0f\x4e\x40\xd0\x59\x05\xdb\x35\x0c\x8a\x56\xee\x73\xdc\x60\x72\xf9\x6c\x75\x89\x81\x96\xf8\x1c\xf1\x88\x62\xe5\x65\xa7\xb2\x94\x5f\x68\x44\x76\x8a\x8a\xa6\x7d\x7f\xdd\x05\x5b\x03\x1d\x47\x27\x5e\xb2\x18\x2c\x5a\x17\x38\x74\xf6\x6b\xd9\xde\x60\xe6\x14\xba\xd6\x1e\x16\x07\x53\xc9\xa1\xc1\x51\xdc\xab\x0b\xd7\x8f\xd2\x13\x93\xa7\xae\x02\x46\x07\x27\x7b\x36\x1d\xda\xb4\xe9\x10\xf3\x6e\x41\xf4\xae\x03\x9a\xdd\x72\x68\xe3\xc5\xb7\xde\x7a\xf1\xc6\x43\xdf\x1d\x1d\xd4\x12\xaa\xff\xa5\x53\xeb\xba\x20\x3d\x7f\x97\xf6\xc0\xc1\x41\xf2\xbf\xb5\xac\x9b\xf2\x9f\xd1\x6f\xea\x26\x09\xea\x35\x7a\xce\x43\xd3\x75\x46\xcc\xba\x1e\x65\x71\x94\x72\xd5\xa8\x24\x05\xdd\xc6\x8a\xc1\x38\xcd\x7f\x2d\x38\x88\x88\xf9\x22\x88\x69\x3a\x95\x6c\x67\x5b\xa6\xeb\x5f\x39\xed\x89\x80\xec\xe2\xd1\x41\x62\xb5\xf0\x16\x9b\xd5\xce\xb2\xa1\xbe\x2d\xbb\x3f\xf1\xc9\x2d\xe3\x11\xea\xae\x56\xdb\x43\x26\x23\xe3\xf8\x7f\x3d\x92\x82\xb1\xcf\xa9\xbf\xe6\x1b\xbc\x46\xbb\xc3\x6a\x0c\x71\xf3\x33\xdb\xc7\xf6\xac\x4d\xd7\x5b\xa6\x90\x37\x42\x93\x69\x87\x88\x77\x0a\xa9\x57\xde\x56\xc2\x92\x45\xf4\xbb\x9b\x8d\xd6\x6b\x2b\x81\x08\x0d\xed\x90\xa4\x5e\xf6\x2a\xc2\x6e\x1d\x55\xaa\x21\xaa\xeb\x47\xfa\x49\x37\xc4\xfb\x88\xec\xe0\x45\x26\xd4\xd0\xce\x44\x8b\x92\x31\x9d\x6f\xee\xee\x83\x04\x65\xfe\x62\xa5\xa6\x77\x4d\x6f\x8d\x76\xc0\x9f\x28\x05\x9f\x3d\x72\x7d\xd3\x83\x8b\xbe\xb0\xe8\x44\xcb\xf5\x47\xb2\x5b\xee\xbb\x6d\xd5\xe3\xab\x6e\xbb\x6f\x4b\x76\xbc\x37\x72\xfb\xb1\x7f\x39\xbe\x71\xb9\xf2\xd8\x91\x3b\x46\x83\x7d\x77\xd4\x26\xae\x78\xf4\xf2\x63\x8f\x7c\xfc\xd0\x65\x8f\x5e\x9e\xa8\xbd\x03\x76\x0e\xaf\x99\x3f\x7f\xcd\xf4\xc3\xbe\x1b\x1e\x77\x9a\xcd\xce\xc7\x6f\x58\x7f\xeb\x60\x9b\x28\xb6\x0d\xde\x0a\x86\x1f\xed\x5b\xb6\xab\x27\x64\xe4\xe4\xa6\xbe\x6d\x73\x6f\x7e\xe5\x9d\x93\xab\xd6\x5f\xb7\x63\xc5\x9a\x50\x60\xd5\xf2\x1d\xd7\x5d\xb0\x72\x6c\xfa\x77\xe5\xd6\x7a\xa1\x30\xef\x69\x5f\xcd\x07\xce\xbe\xba\xb7\x24\xd4\x19\xcb\x67\xcb\xe2\x67\x26\x17\xeb\x3c\xcb\x81\xd2\x38\xa6\xf7\xb2\x25\x48\x41\xfc\x56\xb5\x47\x25\xdd\x8f\xe5\x1e\x56\x41\x76\x14\x45\x0b\x10\x82\xa4\x0e\x62\xc7\x39\x1d\x14\xb4\x17\xd2\xe1\x60\xaa\xba\x60\xd0\x07\x6c\xd9\xf3\x52\x65\xb9\xa8\xc4\xdc\xed\xe2\xde\x4b\x4d\xe4\x62\x1b\xbc\xea\xcf\xa4\x14\x93\x8d\x6d\xac\x81\x88\x34\x71\x94\xa0\x22\x76\xa1\x56\x68\x40\xad\xf7\xb0\x5d\xed\xea\x4f\x5b\xee\x9b\x37\x91\x2b\x95\x3b\xb0\xf1\x50\x2e\x7d\x91\xcb\x8a\x2f\x0e\xb5\xd4\xab\xf7\x7b\x6c\xa1\xd6\x7a\xb8\xdc\xf5\xcf\x63\xe5\xaa\x3c\x09\xdd\xa9\x05\x9f\xe9\x9b\xa3\xde\x9f\x5a\x50\xae\xcc\xc6\xb1\xd9\xed\x81\x92\xff\xa2\x82\x3f\x72\x1f\x6a\x44\x49\xea\x65\x88\x8a\x50\x23\x14\x6e\x84\xe2\x41\xf7\x81\x1f\xaa\x41\xfd\x90\xad\x1d\x07\x44\x6c\xf3\xe3\x40\x1f\x48\x95\x4e\xca\xaf\x0a\xff\xab\xfa\xaf\x61\x83\xc7\x5b\xd3\x61\xa8\xb9\xfd\xf1\xdb\x6b\x0c\xb3\xe2\x1e\xd5\xa4\xeb\xd2\x0c\xea\xba\x34\x83\x3b\x9e\x7c\x47\x9d\x7c\xe7\xc9\x1d\x3b\x9e\x7c\x07\x98\x77\x9e\xfc\x6d\xb5\xa3\xf5\x97\x6e\xfc\xf8\xc7\x6f\xac\xe9\x30\x18\x3c\xde\xe1\xad\x5b\x87\xbd\x1e\x5b\x07\xfc\x68\x54\xcf\x4d\x3f\x7d\x55\xcb\xb6\xa3\xfc\x18\x9c\xad\xfe\x6e\x67\xae\x9b\x8b\xc2\xf8\xe9\xf2\xfe\x68\x3b\x64\xb4\xcf\xe5\x1f\xa8\x9b\xc1\x13\x9f\x55\xa8\x55\x47\x8d\xd7\x63\xd0\xea\xaa\x66\xfe\xb1\xba\x25\x6a\x3a\x6c\xc5\x6a\x19\x0c\x1d\x35\x37\x7e\xfc\xe3\xd8\xf8\x3f\xad\x9b\x99\xea\xee\xb7\xa0\x4c\x59\x0f\x51\x1b\x62\x1f\xbe\x4a\x4a\xc4\x9b\xa7\xfb\x4d\xac\x78\xd5\xc8\x3f\x56\x13\x5d\x28\x08\x5f\xf9\x87\x0a\x5f\xa0\xf3\x18\x54\x58\x65\xe6\x7d\x38\x0e\x09\x53\xa5\xdf\xd5\x68\x43\xa1\x86\x68\x88\xd3\x21\x20\x82\x71\x92\x95\xc4\x9c\x24\x2a\xa2\xa4\x5b\x3c\x14\x83\x38\x5b\xa8\x4c\xe1\xa4\xbe\xf6\x5a\xee\xbe\x37\xee\xcb\xbd\xa6\xbe\x06\xad\xaf\x11\xe5\x35\xc8\x9d\x95\x47\x0b\x5e\x4a\xab\x53\xd0\xf0\xa2\x38\xe5\x8a\x02\xad\xf0\x38\xb4\x22\x8d\x42\x2d\xf2\x45\xb4\xb9\x38\x84\x3a\xe8\x5a\xb9\x1a\x6d\x46\x97\xa3\xbd\xe8\x56\xca\x79\xfd\x0c\xfa\x32\x95\xe2\xb7\x40\x43\x2f\x24\xbb\x21\x9e\xa9\x08\x47\x2b\xc2\xe0\x74\x84\x82\x5a\x38\x11\x8c\x87\xcf\x9d\xe6\xbc\xf1\xe7\x0a\xb3\x95\x61\x7b\x29\x9c\xd2\xae\x65\xea\x9d\xac\x5a\x26\x60\x1b\xb1\xd9\x46\x6c\x8a\x6d\xdc\x66\x1b\xb7\x15\xae\x18\x64\x9b\x1c\xb3\xd9\xc8\x88\x2d\x5f\xba\x4f\x4f\x30\xf3\x65\xf1\xac\xa2\xc2\x75\xf9\x3c\x6e\xb3\xed\xd2\x32\xbc\xaf\xf0\x68\x30\xf5\x3e\xc5\xce\xe4\x94\xd4\x20\xec\xa2\x29\xde\xad\x38\xe6\xdf\x3d\x2b\x4a\x9d\xe1\xa2\x70\x02\xfd\x54\xf8\x53\xc7\x68\x3a\x5b\x1e\x11\x65\x52\xd1\x7e\xda\x8b\x88\x76\x44\x05\x1c\x4d\x9d\x57\xe7\x42\xcd\x68\x9d\x46\xad\x15\x75\x83\x78\x3b\xf5\x13\x42\xb1\x01\xa0\x4a\x6c\x58\x90\x0e\x16\xad\xe3\xda\x71\xa8\x81\x29\xa1\x47\x64\xa8\xda\x6b\xd1\x62\xcc\xed\xe2\x94\x27\x0e\xaf\xea\xdf\xf6\xf8\xa6\xa7\x7e\xfb\xde\xa9\xcc\x25\x5b\x33\x19\x5f\x6b\xd7\x0d\x13\x57\x86\xea\xa8\xbc\xab\x2e\x34\x38\x3a\xc8\xe6\x42\x26\xfe\x67\x0f\xac\x5f\xe8\xcb\x2e\xdc\x35\x67\x87\xfa\xde\x66\xab\x64\xb3\x05\xea\x43\x17\x7c\xec\xd1\x25\xbb\xbe\xb3\x2b\x92\xb8\xe9\x94\xcb\x58\x5f\x5f\x0f\x7f\xc0\x3b\x37\x04\x66\x67\x0e\xe6\x9f\xd8\x6d\x0d\xd7\xd4\x8a\x2e\xb2\x3b\x34\xc7\x3e\x21\x52\xf9\xdb\x9f\xed\x73\x42\xa9\xc1\xc1\x3d\x79\x36\x2a\xb1\xcc\x75\x21\x31\xe8\xf7\xad\x9f\x63\x34\xc8\x61\xfc\xdb\x90\xc3\xd9\xd2\x1b\xe9\xcb\xc8\xbb\x2c\xac\x4d\x72\x20\xc4\x95\xea\xce\x22\x33\x6a\x46\x71\xb4\x10\x5d\xa3\x7d\x87\x1c\xef\x4c\xcb\xf4\x08\x29\x2e\x9a\x8a\x44\xdb\x8d\xa1\x06\xde\x49\x2b\xe5\x76\xba\x12\x71\x39\xa5\xd5\xd5\xe9\xfa\xff\xd5\x2c\x24\xfb\x95\x17\x5f\xfa\xf2\x17\x5e\xfb\x31\xf9\xdd\x1f\xee\x77\xc8\x6c\xa7\x10\x97\xdb\xbd\xad\xa1\x56\x97\xdb\x2b\xef\xf8\xca\xe5\xb2\xa3\x79\xf6\x0d\x4f\x3d\x71\xb8\x2d\xf8\xf1\x89\x2f\xfc\x8f\xda\x0a\x7b\x72\xb6\xed\xcf\x8e\xc0\xd3\xdf\x33\x5c\xff\xdc\xd5\x6a\xe7\xd7\xaf\x6b\x1b\xe7\x8c\xc4\xc7\x79\x78\x99\x33\x33\x0c\xf9\xe5\x9c\x94\x91\x3b\x65\xc7\xfc\x73\x1b\x0c\xcf\x37\xc3\x1f\xff\x67\x0d\x89\x91\xa0\xd1\x25\x94\x7f\xd0\xa8\x7b\xe3\xac\xe2\x1f\xb8\x1c\xd5\xf6\xa7\x78\xc9\x4c\x0c\x05\x13\xd3\x26\x89\x93\x54\x10\x4a\xb4\x59\xab\x69\x66\x2e\x8a\xda\x56\x61\x79\xa7\x8d\xe1\xb6\xa9\x63\xfc\x6a\xe6\x1d\xfa\xfe\xae\x82\x8f\xd1\xe9\xec\x35\x97\xc3\x08\x22\x74\x40\x3b\x64\xa0\x8f\x42\x58\xcf\x58\x4c\x7c\xd9\x4c\xdc\x36\x13\x5e\xa0\x1e\x65\xdc\x96\x3e\x41\x60\x60\x8f\x1e\xc0\x1f\x9b\xb1\x02\x87\x67\xe6\x44\x31\xc1\x33\xef\x09\x02\x63\x67\xdc\x02\x6b\xd6\x03\xf9\x9d\x33\x57\xae\xac\x1b\xff\x4d\xe4\x44\xdd\x74\xf6\x2c\xc0\xd3\x68\x15\x72\xbb\xea\x80\x02\xd6\x39\x44\x52\x00\x71\x90\xa2\xed\x10\xad\x4a\xe4\xb4\x33\x6e\x17\x56\x28\x82\x8d\x4e\x6e\xd7\x35\x45\xd5\x6b\x65\x99\x13\x1a\x5a\x52\x3e\xce\xe0\xe0\x48\x0d\x6e\xb9\x3f\xfb\xfa\xc3\xd3\xd3\xc0\x27\x4f\x3d\x01\x2f\x2c\x6c\xb6\xb3\x45\xda\xbb\xde\x6e\x6f\x5e\xa0\x5e\x23\x27\x65\x75\xd9\x9c\x07\xf6\xef\xef\xb4\xd8\xc1\xe0\x85\x7b\x3e\xbb\x68\x85\x30\x51\x95\x4e\x3d\xe3\xfb\x97\xa7\x74\x5a\x15\x4f\x3d\xc5\x1d\x60\xc7\x91\x09\xc5\x10\x82\x36\xe8\x00\x62\x77\xb3\x24\x6a\x04\x99\xe2\xb7\x86\xa9\xcf\xa3\x8c\x0c\x91\x74\x26\x2c\x6b\x14\xb8\xcc\xfa\x81\x79\x04\x40\xfd\xd4\x80\xff\x64\x37\xf4\xf5\x58\xe0\x3d\xf5\xfe\x75\xac\xcb\x6d\x77\xab\xfd\x6a\xbf\xdb\xee\x76\xb1\xeb\xd4\x8f\x07\xa4\x36\xf8\xeb\x9b\x8e\x3a\x9f\xf3\x4d\xf8\x6b\x9b\x84\xe7\x9d\x49\x9a\x7a\x60\x60\xb2\xb7\xfe\x71\xd8\x3a\x00\x29\xf5\xd3\xaa\x25\x18\xb6\xbc\xfd\xb6\x25\x1c\x84\xff\x86\x2d\x81\x0c\xbf\x04\xbe\xdf\xd4\xa4\x76\x2d\xe1\x33\x25\xec\x5d\x85\xea\x18\xa3\x32\xa8\x7e\xb0\xa1\x1d\xd2\x54\xc1\xcc\xed\x07\xf6\xc6\xbc\x62\x8f\xb1\x26\x57\x6d\x3e\xe7\x0a\x99\x24\x07\x8b\x04\x5b\xad\x64\xe5\x99\xcf\x4c\xa0\x10\x66\x43\x2e\x9c\xad\x6d\x8d\x99\xb0\xc2\xcb\x62\x53\x11\x6b\x53\xa3\xcd\x31\x62\x51\x27\x45\xf0\x37\x42\x50\x97\x00\x96\xc4\x7c\xc1\x82\x2e\x85\xbe\xd1\x2d\x3b\xa1\xce\xa4\xe3\x6e\x97\xc3\xaa\x2b\xbd\xb4\xe1\xd5\x79\x05\xaf\xce\x3f\xc5\x28\x45\x51\xc5\xe4\xd8\x34\xc9\x05\x59\xfd\x57\x93\xd7\x64\x34\xfe\x8d\x0a\x76\xf0\xea\xfc\xcf\xf0\xea\xfc\x48\x85\x74\x83\x8c\x54\x48\x38\xfe\x66\x34\x9a\xbc\xa6\xbf\x4e\x3e\x25\xa1\x82\xff\x22\xa6\xec\x47\x65\xb0\xcc\x47\x91\xaa\x74\xc6\x33\x0e\x8e\xd7\x7d\xc4\xd4\x01\x65\x80\xd1\xed\x5e\xa6\x38\xcf\x39\xb5\xb9\x2f\x9d\xe9\x63\x53\x85\x08\x08\x74\x0e\x77\x16\xff\xf0\xd7\xe9\xe9\x44\xb2\x15\x8f\xcf\xbb\x43\x59\xdd\x9a\xdc\x35\xb6\x2b\xd9\x5a\x38\xa5\xb7\x65\xe6\x0e\x35\x47\xed\xf4\xd2\x43\xb3\x30\x5f\xa7\xa7\xc5\xf4\x38\x92\xbc\xb0\x46\x7d\xf3\x60\xa4\x25\xd6\xb7\xc0\x5b\x73\x61\x52\xdb\xb8\x27\x2f\xac\x21\xc9\x72\x58\xb5\x7a\xeb\xed\x35\xe1\xe6\x9e\x15\x85\x48\x1d\xeb\x5e\xa1\xb6\x9c\x02\xaa\x41\x61\x94\x45\x1b\xd1\x4e\x74\x1d\xba\xa5\xe0\x21\xb8\xc0\x79\x74\x39\xdc\xba\x4e\x2c\xd5\x71\x89\x54\xd0\x8b\x6c\xc9\x46\x21\x9a\x01\x3f\xf4\x03\x85\xa8\xc8\xb8\xdc\xe0\x02\xbe\x04\x96\xe3\x06\x3e\x42\x95\x11\xfb\x0b\x86\x08\x4c\xc5\x23\xa0\xe2\xd1\xec\xb4\x97\xc2\xd7\xa6\x90\xd9\x63\x36\x1a\x01\x69\x9d\x37\xa6\x7b\x5a\x1a\xaf\xb0\x85\x65\xb1\x0e\x81\xa3\x3e\xe3\x74\xfe\x09\xec\xb5\xab\x6a\x8f\xf9\x7c\xea\x1f\xa5\x90\x13\x86\xd7\xe4\x1f\xf8\x93\xfa\xa7\x02\x9c\x0e\x48\x52\xc8\xa9\x3e\x5d\x40\xcc\x81\xe5\x4e\x7c\x57\xc5\x63\xf2\x7f\xd6\x1f\x0d\x0f\x4c\x7b\x21\x18\xa7\x10\x1d\x09\x40\x4f\x89\x0a\x73\xdc\x71\x9a\x7e\xec\x86\xd5\xf7\xad\x5e\x0b\x2b\x9c\x21\x49\xfd\x63\x2d\xe8\xe0\x3a\x20\xff\xc9\xe9\x54\x9f\x5e\x87\x37\x49\x20\x15\x00\x77\xd4\x3f\xbe\xeb\x74\xc2\xf0\xba\xeb\x69\x06\xf5\x4b\xce\xcb\x74\xa7\x51\xa8\xe2\x91\x9f\x9d\xf6\x32\x6d\x3e\x18\x41\x88\x4c\x52\xbe\x66\x8f\xae\xd7\x39\x4d\xf2\xad\xcd\x66\x62\x65\x2c\x55\x74\x2f\xc0\x42\xd3\xb5\x14\x32\x52\x30\xee\xc7\x38\xe7\xb1\xbd\x6b\xf3\xd0\x03\xf4\xd4\x47\x17\xb5\x46\x9b\x32\x1e\xdb\xbb\x56\xe7\x2d\xcb\xbb\xe3\x17\xf7\xce\x6d\x09\x2d\x16\x24\x8b\xf0\xa8\xc0\x1a\xc6\x60\xd6\xf0\x23\xb7\xac\x02\x4f\x31\x83\x07\x2f\x4e\x6f\xea\xee\xa9\x75\xb9\xd7\xd4\xd8\xeb\xc3\x72\xdb\xea\x63\xa1\xda\x39\x1d\xcd\xd9\xba\x9a\x8b\x6c\x86\xfd\x26\xbf\x00\xa6\xbe\x9d\x0f\x14\xf7\xda\x58\xfb\x9e\xfd\xa8\x7d\x3a\xf2\x85\xee\xa6\xb7\xb8\x90\x39\xb5\x6f\x96\x54\xaf\x6e\x8a\xce\x03\x8e\x78\xb3\xd9\xa2\x2b\xec\xac\x37\xa2\xe8\xbe\x68\x74\x20\xb2\x12\xec\x05\x28\x05\xc1\x58\x3e\x17\x61\x76\x50\xc1\x92\x6e\xf8\x8a\xd1\x16\x84\xb0\xbf\xe4\x77\xa4\xea\x25\x32\xd1\xf7\xd3\x51\x12\x29\xd8\x70\x57\x3e\xde\xef\x83\xa8\x76\x19\x05\x1f\x84\xbd\x90\xf5\x86\x21\x30\xae\xdd\xd4\x0e\x0c\x97\xa7\x09\x09\x05\x44\xd3\x66\x2c\xc4\xaa\xec\xe5\x28\x8c\x96\x6a\x75\x0d\x75\x40\x24\x4a\x5d\x1c\x5a\x21\x98\x4a\xc8\x24\x94\x0a\x52\xc8\x83\x44\xba\x1f\x07\x9d\x21\x22\x83\x33\x48\xd5\x89\x99\x62\x1f\x45\x75\x1f\x36\xd4\x52\x27\x91\x22\x1f\xf9\xfb\x49\x8f\x81\x10\x20\x0c\x98\xac\x9f\x54\x55\xe5\x7b\xcf\x1e\x06\xc7\x51\xec\x34\x10\x42\x0c\x35\x77\x02\xec\xff\xfa\x0f\xf1\xef\xf3\x2a\x61\x92\xcb\x2f\x5a\x9e\xec\x6e\x4a\xb4\x8b\xae\xcb\xbc\xe1\xd5\x97\x5d\x75\xc7\xec\xc1\xf5\x43\x19\xf2\xd6\x63\x8f\x4d\x36\x1b\x2d\x84\x37\x62\x87\xe7\xcc\x63\x10\x02\xdb\xe3\xbf\x61\x22\x46\x8b\xd1\xd2\xfc\x9b\xc7\xd5\xf7\xd4\x9f\xe0\xc7\x5e\xae\xf5\x49\xd9\xd1\x79\xfd\xed\x7d\xc1\xc8\xec\xa8\xb9\x76\x63\xb8\x6e\xee\xde\xad\x9d\x9b\xba\xe7\xb4\xf4\x04\x87\xf5\x75\x88\x9d\x42\x1c\x22\xb7\xa0\x30\x5a\xf2\xe1\xea\xc6\x9e\xbb\x6e\xe4\xc3\xd7\xed\xed\xbc\xca\x90\xe9\x75\x1b\xbe\xe2\xaa\x3b\x16\x6c\xdd\xb6\x94\x39\x7f\xd5\x7e\xfa\x72\x6d\x1b\x9c\x5d\xb3\x81\xcb\xe6\xcd\x99\x1f\x1d\xa6\xf5\x02\x84\xf8\x83\xac\x8e\x37\x87\xc2\x10\x34\x82\x8b\xe3\x81\x8e\x90\x68\x84\xae\x63\xc1\xb8\x8b\x28\x30\x9c\x47\xea\xd3\xdc\x7b\x56\x73\xcd\xa4\x12\x99\x93\x47\x91\x7e\x9b\xd5\x5c\x43\x94\xc8\x1c\x82\x22\xfd\x14\x67\x8f\x49\x35\x0c\xfa\x26\x51\x6b\x53\x43\xc3\xa0\x8f\x41\xad\x4d\x3a\xbf\xef\x0d\x3a\x97\xee\xd4\x31\xb2\x28\x7a\xb6\xd3\xe1\xe2\x9d\x0d\xbc\x88\x75\xf4\xe7\x92\xed\xb1\x1f\x17\xc8\x0f\xea\x23\x24\xda\x90\xb2\xfb\xb1\x4e\xe8\xa6\x92\xd4\x45\x52\x01\xa8\x84\x82\x4d\xa7\x33\x4e\xad\xf9\x9d\x0e\xb7\x8e\x3c\x1d\x77\x71\xca\x85\x2b\x9a\x96\xb4\xcd\x0f\x5f\x15\x00\x97\xb9\xe1\xe0\xce\xf6\xde\x35\xa1\xa6\xd0\x15\x2b\xd7\x5c\xef\x0f\xfb\xdb\xc3\xc3\x9b\x8f\x1b\xc3\x46\x01\x30\xc6\xf5\x61\x72\x7c\xf3\x70\xb8\xdd\x1f\xf6\x5f\xbf\x76\xf8\x8a\x50\x53\x68\x4d\x6f\xf6\xad\x0e\x60\x59\xf0\x84\x5a\xdb\x5c\x5d\xb3\x87\x5b\x56\x6d\x80\xaf\xae\xd4\x6e\xed\x8b\x9e\x88\xb2\x40\xec\xa6\x54\x57\x78\x7e\xdb\x92\xa6\x15\x17\x6e\x58\xd5\x32\x3c\xbb\xcb\xd5\xd6\x1a\xf2\x60\x06\x63\x00\x06\x55\x65\x2d\x94\xa4\x2b\xe5\xaf\x7a\x5b\x81\x2e\x63\x14\xea\xcb\x2e\x41\xbf\x47\xc4\x3b\x4b\xde\xd2\xa9\x02\x7a\x04\x69\x5f\x27\xe5\xbc\xa3\x40\x21\xac\x2d\x09\x01\xba\x24\x04\x5c\x8c\xa2\xfe\xf4\xa7\x14\x86\xb0\xc0\x6f\x00\xf4\x53\xf5\xa7\x91\x64\x44\x07\x59\x8c\x24\x23\x53\xe8\x94\xfa\xf7\x53\xa7\xc0\x70\x8a\x64\x95\x5f\xa8\xcf\x7a\x0e\xe9\xca\x95\x87\x3c\xb0\xe8\x17\xfa\x94\xa1\xe3\x37\x52\x94\x9c\x1d\x2a\x3a\x74\xea\xd4\x21\xac\x1d\x11\x41\xc2\x94\xc2\x5e\x4b\xf5\x5d\xe7\x69\x2b\x3b\xf0\x91\x52\x71\x8c\xa0\x6b\xd1\xf3\xae\x44\xbc\xa2\x90\x67\x55\x20\xca\x57\x62\x1e\xb8\x1c\x61\xd0\x41\xd0\xc1\xba\xbd\x39\x92\x8c\x30\x97\xa9\x0f\x9c\x3a\x94\x49\x8f\x5c\x72\xc5\xb3\xb4\xbc\x67\xd5\x67\xff\x55\xaa\xc9\x6b\x5a\x65\x32\x31\xaf\xd2\xb3\x7a\x53\xfe\xd8\xa9\x43\x3b\x3e\x8b\x57\x6c\xbf\xf4\x6a\xbd\x02\x29\xec\x57\x1f\x50\x0e\x9d\x92\x47\x12\x85\x8a\x78\xa7\x55\x55\x98\xaf\x9a\x4c\xab\x4c\x5e\xed\x11\xda\xf9\xa6\xfc\x31\xad\x86\xd7\x97\xf4\xa4\x75\x3f\x49\x0d\xba\x9e\x43\x3a\x93\x96\xed\x0e\x91\xa5\x0e\x2f\x4b\x58\xe4\x4c\x56\xcd\xee\xdd\xf4\x87\xdc\xbc\xad\x87\xaf\x3b\x90\xb2\x59\x7c\x16\x5b\xea\xc0\x75\x87\xb7\xce\xd3\x15\x5e\x70\x16\x2b\x13\x77\xf7\x2f\xfd\x3a\x79\x3a\x8f\xd6\x3d\x71\xeb\xbe\x55\x4b\xbc\x3c\xc7\xf1\xde\x25\xab\xf6\xdd\xfa\xc4\x3a\x7d\x62\x2c\xd0\x4b\xa8\x84\x0f\x11\x42\x8b\x10\x72\x07\xed\xc1\x70\x95\xf6\xc3\xd9\xd7\x55\x16\x43\x05\x42\xaf\x14\x4a\xc4\x5d\x0a\xab\x9c\x51\xa0\x02\xe2\x85\x54\x28\x81\x82\x32\x94\x3c\x43\xbd\x2d\x2a\x9b\x06\xb2\x03\x9b\x40\x3f\x29\xc9\x21\x85\x41\x39\x08\x50\x10\x0d\x4a\xdf\x55\x84\x97\x4f\x50\x11\x15\x8b\x92\x43\xba\xe7\x3c\xfd\x38\x44\xdb\x8d\x50\x9a\x77\x1c\xf1\x68\xa8\xac\x5f\x1e\x2e\xc0\x3a\x86\xdb\x21\x15\x74\x4e\x57\xac\xcd\xa4\x42\x0d\x85\x3d\x46\x3b\x64\xfa\x98\xb2\x82\x74\x30\x99\xce\x84\x29\x5c\x0c\xd6\x35\xcb\xc9\xe7\x2c\x06\x0b\x43\xd4\xac\x59\x9c\x42\x57\xdf\xab\x2f\x7e\xfb\xb7\x06\xba\x77\x2d\xea\x75\x30\xf6\x98\x4d\x70\xdb\x2d\xac\xdc\x39\xf7\xb2\xce\x9a\x4d\x87\x36\x89\xd0\x2e\x9a\x21\x47\x18\x8b\xc1\xc2\xea\x7d\x3e\xa2\xe6\x6c\x46\x1e\x46\xb0\x64\xde\xe1\x7e\xfa\xda\x49\xba\x54\x91\xc0\xe8\x13\xfe\xab\x3b\xba\x97\x06\x0d\x21\xde\x12\xf7\x98\x02\x83\x73\x17\x48\xcd\xad\x5a\xad\x82\xf5\x66\x09\x8f\x00\x6f\xd4\xea\xd6\x38\x15\xe0\x74\xb9\x64\x5b\x85\x07\x5a\x87\x46\xbd\x12\x8e\x67\x75\x04\x9f\x8c\x0c\xa5\x90\x56\xfe\x4c\xba\x31\x18\x77\xb1\x63\x94\x50\x05\xcf\x03\xcf\xac\xbc\xc6\x81\x45\x55\xe1\x8d\x16\x73\x56\x60\xd7\xaa\xff\xa5\xbe\x4d\x38\xd1\x98\xb5\x5b\xc6\x4d\x36\xb8\x79\x64\xf8\x14\xac\x01\x56\x74\x30\x3a\xc5\x0a\xca\xfb\xea\xfd\x5f\x1e\x1e\x51\x3f\x6a\x33\x8d\x33\x46\xad\xd3\x1c\x50\xb3\x16\x8c\x59\xd9\x01\x8a\x88\x1d\xd7\xac\xfc\xe6\x5d\x72\xc9\xbf\xcf\x69\x7d\xbf\x01\x24\x28\xa7\xa3\x91\x16\xed\x1c\x24\x41\x99\x04\x29\xbe\x35\x77\xfa\x51\xf5\x99\x67\x04\x5f\x6d\xe7\x13\x3f\x54\x9f\xf9\xa1\xfa\x2b\xed\xf8\x09\x66\x72\xfb\x97\xba\x7b\x9a\xf1\x44\x9e\x25\xd9\xce\x40\x70\x72\x11\x79\x56\xfb\xc1\xa2\x95\x4b\x96\x7c\x7b\xba\x1e\x8c\x36\xe1\xa0\x70\x26\x9d\x8c\x1a\xa1\x88\x55\xcf\x51\x6b\x94\x4a\x51\x0f\xf9\xd8\x0e\x59\x56\x5f\x82\x84\x2c\xef\xd0\x76\x74\x73\x64\x19\x5e\x90\x93\xf8\xb6\x2a\xae\xe6\xc7\xb4\xbb\x90\x80\x84\x9c\x94\xb5\x1c\x73\xf4\xc4\xf8\xc7\xe7\xc4\x57\xd7\xdf\x0f\x69\x6a\x6d\x42\x31\xd5\x8d\x05\xf0\xf7\xca\xf7\xe3\x97\xe0\x85\xc2\xe3\x76\xc8\x32\x24\xd4\x97\x68\x41\xc8\xc2\xea\xf7\x6b\xa5\xd2\x8a\xa6\x17\xf3\x25\xf5\x25\x9a\xe3\x7c\xef\x87\x4c\xba\x68\xed\xa2\x43\xe0\x1b\xab\xde\xcf\x7c\xac\xa2\x36\x72\xb9\x92\x50\xdd\x00\xa0\xb7\x40\x75\x61\xa1\xba\x00\x33\xf4\x41\xb1\xf9\x8d\xc5\x86\xa8\xee\x83\xb6\xb3\xea\xa5\x77\x42\x35\x6b\xf9\x1d\xda\x08\xd5\x1d\x86\xf7\xce\xd0\x06\x59\x6a\x3b\x62\xa7\x23\x2c\x13\x94\x83\x56\xe8\x80\x90\xcc\x26\x52\x61\x39\x18\x85\x20\x61\xc3\xcc\xa8\x6d\xf2\xce\x0e\xbc\xcd\xf5\xbd\xe7\x85\x2f\xba\x60\x94\x81\x4b\xe3\xf9\x7d\x56\xb5\x93\x55\x94\xfc\xb7\xf2\xdf\x21\x4f\x7e\x31\xff\xfb\xdf\xa4\x52\x77\xaa\xbf\xdf\x06\x5b\x71\xe0\x2b\xf0\xfa\x99\x2d\x8f\x3c\x42\xc7\xaf\x65\x2a\xcb\xfd\x77\x01\x43\x2e\x68\xc4\x72\x90\x67\xc3\x72\x50\x0e\x66\x82\x20\xb3\x6f\xaa\x7f\x9d\x7c\x23\xbf\x70\x11\x34\xd5\xc1\xe7\xe0\xb7\xf3\x27\x16\xcf\x61\x9e\x8d\x4c\x2c\x66\x95\x33\x2f\xaa\xef\x81\x19\xb6\x1d\x7b\xf8\x61\x58\x0d\x4d\xdf\x2e\xb4\x95\x8d\xd7\x7d\x76\xac\xad\xf8\x56\xf5\x79\xa8\x03\x38\x26\xd0\x18\x3d\x0b\x87\xd6\x0f\xee\x8a\x6d\x73\xc5\x06\xd4\x99\x28\x4a\xb9\xed\x7d\x90\x29\x82\xd5\x92\x9c\x3e\x2b\xed\x70\x18\x18\x8b\xf9\xe2\xbd\xea\x6e\x35\xa9\xee\xde\x7b\xb1\x51\x64\x0c\x0e\x49\x84\x11\x97\xc1\x60\xdd\x36\xef\xbd\xfb\x75\x62\x7b\xce\xc2\xe3\xaf\x1d\x5f\x38\x47\xbf\xb8\xff\xbd\x79\xdb\xac\x06\x83\x0b\x46\x44\x89\xf9\x2d\x9d\x9b\x26\xc7\xd4\x31\x97\x01\x1b\x2f\xbe\xfb\xb1\xc7\xee\xbe\xd8\x88\xf5\x9b\x0e\xd9\xb6\x6d\xc3\x7e\x07\xbe\x9d\x52\xef\x9f\x69\xd8\xb3\x70\xf4\xf8\xf1\xd1\x85\x7b\x1a\x3e\x43\x23\xf2\x37\x3a\xf6\x6f\xd8\x66\x93\x1d\x92\xfe\xfd\x53\xba\x21\x74\x96\x8f\xad\x6e\xb0\xeb\x9e\x48\x0b\x48\x02\xd4\x5b\x2f\x13\x28\x3b\xf5\x0a\x14\x28\x83\x82\xbb\xaf\xb2\x48\x8c\x62\x01\x67\xa9\x3f\xaf\x67\xb5\x92\x6b\x6f\x57\x73\xd3\xe5\x59\xfa\x1e\x9f\x52\x2b\x65\xa4\xdb\x48\x80\xb3\xb9\x02\xc8\x86\x0a\xbf\x73\xc9\x44\x74\x08\x5b\x70\x15\x6c\x9f\xe0\x12\xdd\x51\x29\x65\xff\x7f\xe1\x3c\x42\x11\xfc\x7b\x1d\xb2\xf6\x12\xe8\x7b\x53\xcb\x8f\xd7\x94\xb2\xb6\xe6\x0f\x9c\x57\xb2\x43\xf9\x29\x18\xb1\x0a\x29\xe2\x69\x9d\xb5\x63\xac\xd6\x9d\x3e\x4b\x97\x5a\xe9\x8c\xd1\x76\xca\xc5\x3a\x31\x9a\x39\x4c\x02\xc5\xd0\x8c\x87\x92\xce\x0b\x94\x71\xbd\xce\x2a\x87\xfd\x3c\xd7\x95\xe5\x98\xe9\x00\xe5\x32\xc0\x4f\x66\x0a\x56\xfa\x9c\xe6\x51\x2d\x4a\xa1\x05\x15\xba\x2f\x11\x14\x8d\x50\x39\x11\xf5\x91\x00\x94\xf6\x88\xe0\x76\x68\x8c\x46\x78\x3d\xde\xc5\x48\xfa\x8d\xb3\x3d\x34\x62\x5d\x65\x18\x3e\x2f\xa8\xcf\xfe\x4e\x74\xd8\x85\x07\xdf\x30\x83\x24\x28\x82\x03\x0e\xb2\x3b\xbe\xf4\x3b\xf5\xcd\x07\x45\xa3\x49\x12\x7e\x08\x1b\x4f\xf3\xf4\x86\xc9\x0c\xf5\x95\x9a\x91\xba\x45\x7f\xc3\xef\x60\x91\x00\x0e\x41\x11\x24\x30\xbf\xf1\xa0\x60\x77\x08\x0f\x42\xfd\xef\xbe\xb4\x83\x05\x93\x89\xc6\xf2\xa7\xd5\x47\x7f\x28\x48\x26\x23\x79\xa9\x5a\x5f\xb2\x2c\xc3\xab\xad\xf2\x80\x41\xa7\x72\xea\x9c\x87\xee\x25\xce\xf2\x92\xf0\x4c\x20\x90\x1f\xaf\x0f\x06\x02\x36\x9b\xdd\x7a\x16\x72\x7e\xfe\x01\x69\xa9\x04\x59\x59\x92\xc3\x79\x25\x2c\x1b\x8c\x88\xa0\xf4\x54\x8a\x7b\x91\xfd\x57\x4a\xcb\x75\x20\x64\x64\xcb\xab\x85\x36\x49\xeb\x2c\xe1\x74\x32\xd2\xc0\x47\x8b\x14\x30\xe5\x84\xb9\x5d\x0e\x06\x41\x4f\xfe\x79\xf5\x79\xb8\x0c\x8f\xca\x32\xf5\x3d\x92\x3f\x2e\xcb\x30\x2a\xa5\xc9\xd1\xc9\x3d\xe1\xcb\xc3\x07\x3a\x77\x8d\x75\xee\x0f\x87\xc9\xd1\xf0\xe5\xe1\xfd\xda\xc5\x81\x30\xd3\xa3\x3e\x9f\x7f\x1e\x7a\x54\x2d\x57\x52\x4b\xad\xe5\x4a\x6a\xf9\xf1\xdd\x93\xd7\x85\xc3\x07\x3a\xc7\x76\x75\x1e\x08\x5f\x1e\x26\x47\xc2\xe1\xfd\xda\xc5\xfe\xf0\xe5\xd3\xda\x45\xdf\xfb\x57\x9b\x2c\xcf\xa0\xcb\xaa\x2b\xcc\x92\xb3\xf4\x6a\xa9\xf6\xaa\xce\x62\x98\xae\xad\x4a\xa6\xf9\x35\xed\x98\x81\xc3\x70\x1e\xbd\x2e\x46\xd1\x9d\x3e\x4b\x22\xd1\x91\xdc\xca\x0a\x5d\x4a\xa5\xdf\x53\x3c\x5e\xe2\xd7\xab\x71\xea\x16\x55\x4f\x49\x6e\xa9\x74\x81\x8a\x40\x2b\x11\x39\xc3\x1e\x44\x3e\x84\x80\x6b\x81\x32\x58\x79\x3a\x11\xb4\x87\xca\xee\x7f\xc9\x19\x29\x96\x93\xc4\x7c\xd6\x69\x30\x58\xc6\x8c\x36\xc8\xe6\x62\x92\xdd\x0b\x59\xa9\x4f\x82\x6c\x2d\xf9\x6c\x78\x72\x4c\x94\x24\x87\x35\x67\xc6\x4a\x38\x5c\x0f\x8a\xcb\xa5\x2a\x01\xba\x96\x91\x29\x85\x9c\x61\x91\x36\xda\xe4\x22\xff\xa6\xa0\x4a\x98\xd1\xa6\xe3\x20\xa5\x10\xd3\x01\x9c\x13\xe4\x5c\xac\xb1\x56\xcd\x49\x7d\x92\x9a\xf3\xda\xa5\x58\x4e\xcd\x89\xe6\x31\xc1\x68\x64\x91\x2c\x4e\x3e\xbc\x34\xa0\x2a\x2e\x17\x28\xf5\x91\x30\x56\xcc\x39\xd1\x21\x4f\xa7\x05\x1a\x2b\x68\x01\x88\x96\x69\x81\xb3\x3e\xc3\xa7\xf0\x8e\xc2\xea\xde\xf6\x6f\x05\x72\x40\xa3\x89\x76\x54\xf6\xe2\x3b\x78\x47\x81\x16\x68\xfb\xb7\x42\xe2\x07\x65\x72\x5b\x65\x7f\x96\xe7\x7d\x0e\xd9\x90\xb3\xd0\xa7\x6e\x3e\x94\x0a\xa5\x28\xbc\x02\x6d\x3f\x23\xb1\x43\xc1\x99\x91\xf5\x6c\x1d\xb9\x8f\x9f\x48\x76\x8e\xc0\xab\xa2\x5d\xfd\x85\x5d\x10\xed\x10\xb2\xab\x13\x38\xa0\x8e\xe7\xc7\x89\xb2\xd1\xe7\x3b\xe1\x1b\xf6\x6d\xc4\x63\xd3\xbc\xb2\x7e\xe1\x44\x72\xa4\x13\xbe\x21\x68\x59\x44\x41\xcb\x92\xcf\xe2\x00\x04\xf2\xe3\xea\x38\x1e\xd9\xe8\x1b\xf6\x9d\xf0\xf9\x36\x8e\x9c\xeb\xbb\xaf\x41\x4d\x25\xbd\x4b\x9e\xab\x2f\x7a\x0c\xca\x80\xce\x40\x98\x51\x6b\x3b\x40\xe1\xe1\xf3\xbf\xd7\x1b\x02\xbb\xee\x91\x6a\x2d\x42\xb4\x6a\xd8\x8f\xc0\xb8\x37\x12\x6d\xaa\xd3\xd2\xd1\x96\xc3\xae\x7b\x64\xd6\x8e\x9b\xab\xfd\xe5\xeb\xe5\xa0\xbe\xfc\x8d\xc5\x49\xa7\x0e\x1a\x44\x56\x67\x51\x64\xd2\x51\x9c\xe9\x83\x84\x7e\x75\x16\x42\xd9\x3b\x30\x22\xcb\xea\x98\x3f\x1a\xdb\xfb\x9d\x5b\x2f\xe9\x0c\x9a\x1e\x33\x8b\x3c\xe7\x22\xad\xa3\xed\x8f\xdf\x19\xb3\x58\xbc\x38\x32\xad\xb9\xbe\x0c\x23\xda\x4c\x30\x52\x6f\xb7\x37\x8f\x45\xfb\x37\x8f\xdc\xb4\xbd\xe7\x2b\xff\x61\x21\x46\x0f\x6c\xd9\x9b\xec\x18\x6b\xb6\xb3\x38\x37\xad\xb1\xca\xf3\x3f\x46\x1c\x92\x90\x9f\xca\x53\xc0\x0e\x76\x64\x6b\x87\x82\xe6\xe1\x34\x37\x54\x58\x01\x34\x85\x40\x51\x11\x09\x54\xa8\x18\x9e\xa5\x80\x08\x39\x45\x81\x15\xf9\x5f\x4d\x21\xec\x57\x7f\x41\x95\x14\xf5\xd4\x78\x73\xd5\x92\x5c\xc6\x73\x13\x50\x9d\xb6\xcb\x82\xf2\x47\x93\x08\xc6\xab\x67\x8a\xea\x56\x62\x6e\x94\xdc\x6a\x4e\x1e\x90\xd5\x9c\x5b\xb2\xc7\xb0\x12\x3b\x51\xd0\xf3\x14\x08\x85\x52\xa8\x6c\x22\x72\x71\xa8\x5e\xcd\xd6\xd6\x42\xae\x3e\x14\xca\x07\xa6\x29\x85\x56\xcd\x5f\x55\x65\xd2\xa7\x8b\xc2\x24\x71\xfe\x32\xd9\x63\x79\x25\x66\x97\xdc\x90\x95\x07\x64\xc8\xba\xf7\x9c\xbb\x4c\xf0\x99\x50\x28\x54\x0f\xb9\xda\x5a\x35\x5b\xaf\xfe\xec\xc3\x97\x89\xea\x29\xeb\xf2\xdf\xb4\x1b\xce\x5b\xa6\xac\xf6\xfc\x90\xfe\xae\x9f\x57\xca\x42\xab\x06\xf7\xc3\x15\x4d\x69\xd7\xda\x36\xff\x36\xa1\x33\x31\xcd\x41\x5e\x9e\xee\xe7\x58\x23\x64\xfe\xc2\x2a\x68\x04\xa1\xb0\xdb\xc5\x59\x41\xe4\x43\x0d\x28\x5a\x22\xa9\x23\x99\x52\x30\x8d\xa8\xb7\x6e\x97\x55\x17\x97\xb2\xa1\x06\x8e\xd7\x89\x70\x2e\x14\xe4\xdc\x7a\x50\x84\x50\x90\x62\x4c\x31\xfd\x90\x76\xbb\xc8\x2b\x21\x62\x31\xb3\x8c\x20\x7b\x6a\x83\x0d\x51\xf9\xf7\xea\x23\xfd\x9b\xb5\x06\x1a\xc0\x64\x9e\x56\xa8\x2d\xf3\xe0\x92\xf1\x1d\x1b\xcd\x46\x8e\xb4\x10\x97\xc0\x30\x56\x47\x4d\x6d\xbd\x78\xe0\x07\x71\x78\xcd\x66\x34\x11\x0f\x5b\xab\x7a\x08\x81\x17\xad\x26\x23\xf1\x60\xc9\xac\xee\x9f\xf5\xe2\x41\xa9\xb1\xde\xe7\xb4\x31\xac\x20\x58\xfe\xf3\xa4\xc5\xc9\x00\x26\x1c\xcb\xb2\x0c\x06\xf6\x17\xb2\xb0\x5b\x90\xbb\x66\x49\xe2\x35\xa2\xf4\x2a\x20\x37\xb1\x98\x85\x93\x82\xc0\x00\x10\x86\x10\xac\xec\xb2\x58\xc4\x6b\xbc\xe1\xf9\x16\x8b\x75\x97\xd9\xba\xe7\x30\x61\x58\x96\x01\xcc\xf2\x7c\x61\x3f\x4e\x26\x59\x05\xf5\x97\xb5\x6a\xa7\x73\xf6\x75\x94\x97\xb8\xdb\x0f\x56\xe0\x78\x8e\xba\xc2\xe6\x0a\x0a\x6b\x3a\xe4\x7a\x81\x93\x43\x26\x25\x71\x72\xbe\x28\xc9\xc2\x25\x9b\xb5\x9a\x6e\xfe\xdb\xb7\x9f\x3d\x6e\xc4\x86\x4b\x8d\x82\x60\x62\x9b\x47\xda\xd6\xee\x84\xd9\xd4\x90\xec\x47\xf0\x69\x49\x7c\x44\x94\xe0\x6e\xf5\x5e\x2d\xe5\x71\x41\x86\x83\xb2\x70\xab\x28\xfd\xc7\x93\xbf\xdc\x6f\xa8\x31\x1d\x34\x03\x36\xb2\xbe\xc6\x4d\x43\x3f\x96\xc4\x5b\x05\x59\xfd\xe8\x57\x74\x50\x63\x40\xc9\x29\x44\x5e\xe5\x10\xda\xa2\xfb\x59\x2f\x91\x98\xed\x0c\x5d\x1c\x33\x69\xf7\x2c\x1d\xa2\x37\x9d\x4a\xb6\x93\x68\xbb\x21\x95\x4c\x67\x4a\xbc\x26\x3f\x43\xbb\x4f\xab\x46\xc1\x95\x24\xe3\xf6\x73\xe4\xd5\xef\x9f\x94\xc4\xdb\x05\x79\xe0\xe6\xe1\xf9\x35\xac\xdd\x7a\x29\x6f\xb3\x1a\xf1\xee\x5b\xc2\xe1\x95\x37\xfb\xc3\xc3\xc9\x74\xb4\x6d\x79\xc7\x40\x53\x7b\x8d\xfd\xf9\x87\x64\xe1\x76\x51\xea\xba\x7c\x5e\x8f\xc4\xd9\x2d\x2b\x0d\x56\x51\x20\xee\x4c\xdf\x05\xcd\x9b\x6f\xb0\x37\x87\x07\xdb\x3b\x52\x9d\x23\x99\x05\x61\x2f\x6c\xfe\xc4\x2f\xbc\x5f\xd4\x5a\xe3\x8b\xc6\xd6\xb6\x84\x87\x73\x3a\x6e\x37\x61\x6c\xc6\x5b\xbd\x86\x75\x2b\x7c\xf1\x86\x26\xb7\xd3\x26\x85\x6a\x5b\x9b\xba\xba\x97\x36\x1d\x79\xc5\xff\xcf\x82\x2c\x89\x4f\x73\x0d\xc1\x66\x1b\x27\x39\xee\xb3\x02\x31\x11\x29\x54\xe7\x5e\x37\xdf\xdb\x1a\xad\x0d\xc9\x92\xc3\xdd\x11\xe9\x9b\xbb\xbe\xd0\x67\xb7\xb0\x0a\xea\x2b\xd2\xe0\x22\xf0\xae\x82\xa7\xe0\x28\x8a\x96\x94\x87\x33\x25\x02\x26\x52\xa4\xc3\x8b\xa6\xe0\x2d\xe0\x72\x27\xe2\x2e\x72\x8b\x24\x3e\xee\x7e\xed\xf3\x8f\x41\xa3\x68\x32\x38\xbf\x6b\x33\xaa\x2f\xe7\x8c\xb2\xb0\xeb\xd0\xc3\x2e\x75\x2d\xe5\xa9\x3d\xd4\xf5\x6f\xf7\x6a\x45\x23\xf4\xfb\xfb\x5d\x87\xfd\x49\x51\x62\x9a\x77\x88\xd2\x3d\xff\xec\x78\x46\x7d\xd0\x26\x49\x16\xb8\xfa\x87\x46\xe1\xa0\x20\xaf\x5b\x25\x89\x3b\x44\x69\xb7\x2c\x7c\x54\x4b\xbb\x43\x94\x7a\x57\x4b\x14\xd4\x10\x91\x29\x56\xd1\xa8\xf5\x60\xa8\x00\xe4\x5f\x80\x29\x29\x0d\x37\x9d\xe4\x88\xbb\x65\x97\xbb\x0f\x32\x32\x0d\xbb\x78\x48\x14\x87\x99\xb3\x3c\xe0\x1c\x1c\xde\xf0\x05\x41\x56\xa9\x8d\x22\x04\xf4\xf3\xbf\xab\xdf\x36\x18\x4c\xd2\x77\x64\xd3\x8f\xe5\xb0\xa9\x89\xff\xb6\xc1\xf9\x6d\xbb\xc9\x68\x50\xbf\xff\x63\x3a\xe6\x7e\x09\x0d\xfa\x59\x96\x44\x58\x2a\x89\x97\x0a\xf2\x5a\x49\xdc\x29\xc8\x78\xc0\x66\xb3\x49\xea\x05\x91\x0b\x3c\xeb\xed\xf0\xa8\x6c\x13\xed\xf9\xe7\x64\x61\xa7\x28\xad\x95\x85\x4b\x45\x49\xfd\xaa\x20\x17\xfc\xde\xeb\xfb\x8e\x4e\xba\x57\xd7\x06\x7e\x1c\xd9\xa6\x95\xac\x34\x18\xcb\x9f\x4e\x29\xa4\xcf\x6a\x8c\x7c\xcb\xa8\x9a\x83\xec\x28\x5c\x9d\xff\x81\xfa\x05\x78\x9f\x32\x2c\x79\x59\x78\xac\x28\xa2\x2e\xca\xad\x71\xed\x0f\xc8\xa5\x3f\xd8\xa7\x66\xe1\x61\xf5\xc0\x7f\x5f\x5f\xad\xc8\x76\xbd\x24\xde\x2f\xc8\x78\x8f\x28\x55\xf8\x1f\x32\x20\x0b\xb2\xa1\x1a\x54\x87\xae\x42\x08\xe4\x90\xec\x72\xb8\x93\x69\x39\x13\x74\x07\x13\xd1\x90\x16\xe1\x70\x15\x22\xf4\x3d\x22\xa1\x23\x86\x84\x88\xee\x49\x9a\x94\x4a\x5b\x9e\x0f\x49\xb1\x5f\x82\xf2\xb4\xb3\x8b\x27\x25\x86\x03\x9f\x88\xbb\x30\x5e\x79\x72\x10\x00\xae\x0b\xa9\x6f\x04\xe0\xe1\xa3\xa1\x85\x70\x72\xf9\x23\x2b\x01\xe0\xea\xa0\xfa\x63\x8a\xdf\xfd\xfa\xa3\xbc\xe7\xa4\x87\xff\xdc\xe9\xc7\x78\xcf\x49\xb3\x1d\x8f\xbd\xa2\xd5\xe7\x8b\xc1\xbb\xb4\xd3\x95\x17\xb2\x26\x93\xed\xb0\x97\xbd\x08\x2e\xbd\x84\xf7\x1c\xf0\xf0\x5b\xe0\xca\x8b\x59\xef\x61\x9b\xc9\xc4\x6e\xb8\x5a\x4b\x72\x6f\xc3\x97\x45\x09\xd6\x42\x8b\xfa\x1a\x30\x00\x2c\x7c\x41\x51\x94\xfc\x6b\xd0\xaa\xbe\x0e\x2c\x00\x03\x4f\x29\x4a\x20\x2b\x4a\xf9\x13\x1e\x0f\xde\x99\x3f\xe1\x11\x4d\x78\x27\xa5\xb5\x75\xce\x32\xac\xb7\x0a\x16\x8f\x7a\x02\x76\x7a\xf4\xa3\x45\xb0\xaa\x8f\x17\x12\x68\xfb\xdb\xce\x29\xc4\xbc\xc5\x2a\x28\x81\x16\x53\xcc\x21\x17\xef\x07\x5e\x64\x78\x67\x28\xd5\x10\x75\x86\xec\x0d\x91\x16\xc8\x24\xe2\x19\x7b\x22\x12\xb2\x47\x5a\x20\xe5\x8e\x67\x52\x09\x67\x3a\x91\x4a\x38\xfd\x84\x24\xdb\x99\x06\x0a\x42\x1a\xef\xe3\xb4\x0b\x11\xb4\x8b\x3e\x8e\xb9\x5b\xba\x7f\xcf\x75\x02\x9f\x58\x7e\xdd\xc1\x55\x0f\x0e\x37\x3f\x28\x2d\x96\x7f\x50\x7f\x75\xdc\x60\xe3\x4c\xc2\xd0\xd5\xaf\x65\x83\x0f\xae\x8a\x3d\xb8\xe2\xa6\x9d\xbd\xa7\xfd\xad\x8b\x7a\xd6\xc7\x57\x18\x0c\x73\x22\xf3\x67\xcf\x6d\x9f\xed\x97\x17\xd5\x34\xf6\xc4\x97\xb4\xcc\xe5\xd9\xee\x86\x81\xd6\xee\x48\xa3\x44\x94\xaf\x0e\xf9\x8e\x1f\x5d\x74\xc5\xc2\x0e\x17\x33\x35\x01\x93\x68\x0a\xbe\x96\x80\xfb\x00\xea\xe7\x3f\x0a\x30\xf9\x37\xfc\xde\x24\x5f\xdf\x7d\x49\xfe\xa1\xc6\xce\xc6\x1a\x0b\x87\xd5\x7f\x02\xc2\x5a\x6c\xde\x86\x76\xf8\x7b\x30\x11\x74\x9b\x38\x00\xf5\x25\x00\x62\x10\xdd\xf5\xed\x3a\x2e\x06\xc5\x96\x28\xd8\x4b\xba\xdc\xe0\x72\xb3\xba\xcd\x60\xc5\x92\xcc\x20\x97\x08\x27\x44\x31\xff\x78\x67\x0c\x07\x4a\x10\x11\x01\x06\xc1\x4f\x44\x51\xdd\x29\xba\x02\xb1\xce\x89\xf1\x22\xe2\x83\xee\xcf\xa3\xf4\xdc\x18\xea\x44\x8b\xb5\x36\x75\x07\xed\x2e\x37\x99\xfe\x68\xbb\xc3\x25\x9f\x07\xa6\xbb\xfa\x9a\x3d\x25\x8a\x6a\xcc\x25\xce\xaf\x2c\x4a\xe7\x0f\x66\x82\xa2\xa8\x0e\x33\x8d\xa2\x4b\x2b\x72\xfe\xf9\x72\x69\xf3\xe3\xb1\xce\x7c\xa0\xb4\x37\x03\x71\xa6\xa0\x46\x7f\x36\x4c\x21\x6e\x3f\x87\x90\x09\x35\xa2\x01\xb4\x0a\x21\x48\x74\x40\x24\x15\xe2\x1d\x1c\x0f\x3a\x0e\x53\x71\xfb\xa4\x2f\x3a\x74\x57\xc5\x3a\x83\x29\x48\xf7\x43\xaa\x81\x0b\x71\x2d\x40\xbd\x18\x00\x67\x05\xa7\x96\x30\x25\x3b\x83\xa9\x44\x34\xc4\x27\xb4\xb3\x9c\x90\x99\xc7\xbe\xb4\xd8\x82\x19\xc2\x33\xf9\x77\x4d\xea\xbf\x98\x04\x8b\x59\xcd\x59\x0d\x06\x57\x8e\xea\xb2\xe4\x44\x89\xcc\xcf\x7f\x1d\x76\x5b\x8c\x66\x6c\x24\x16\xe9\xad\x1b\x70\x46\xbd\x9b\xb3\x9a\x45\xa3\xf3\xef\xaf\xaa\xe3\x83\x1d\x7f\xe9\x18\x54\xdf\x5c\xf8\xdb\xff\x8f\xb6\xff\x80\x8f\xa3\x38\xff\xc7\xf1\x79\x66\xdb\xd5\xbd\xdb\xdb\xbd\xdd\xd3\xdd\xe9\xfa\xed\xaa\x9e\xa4\x6b\xab\xde\x5d\x24\xcb\xb6\x2c\xdc\x8b\xac\x50\x5c\x01\x37\xc0\x15\x73\xb6\x21\x01\x12\x0c\x98\xde\x05\x18\x08\xc5\x09\xa1\x3b\x94\x28\x10\x08\xe1\x13\x4a\x42\x08\x21\x81\xe0\x24\x86\x04\x42\x4f\x01\x6c\xdd\xfa\xff\xda\xbd\x93\x2d\x17\x4a\x5e\xdf\xff\x0f\xac\xdd\x99\x6d\x37\xcf\xec\xec\xcc\xf3\xcc\x3c\xcf\xfb\x7d\xdb\xbb\xe4\xb2\x3f\xd6\x38\x49\x01\x22\xb6\x83\x81\x31\x10\x28\x27\x2f\x50\x06\xf4\xc6\x81\x61\xd7\x05\xef\xcd\xc7\x9c\xcb\x6c\x26\x80\x58\xf7\xce\xbc\xfc\x47\x26\x97\x15\x63\xbc\x9e\xd8\xb6\x62\xc5\x65\x97\xad\x58\x81\xaf\xce\xaf\x28\xac\xfd\x8c\x97\x3b\xad\xcb\x1d\x3f\x22\x37\xf5\x95\x72\xc3\x31\x92\x11\x5f\x5b\x0f\xdf\x42\xee\x9b\x8e\x92\x8e\xff\xca\x5a\x38\x2c\xf6\x5f\x4f\x24\xb5\x36\x7a\x44\x3c\xf2\xbc\xe3\xaa\xc0\x42\x10\xb0\x1e\x51\xba\xcc\xc6\xfc\xac\x6e\x97\x35\xa0\x1e\x34\x0f\xa1\xf8\xd7\xbc\xe2\xa3\x67\x0c\x8e\x75\x84\xf8\xa6\x3c\xde\x77\x62\x91\xc9\xd0\xf8\x99\x05\xdd\xd4\xcf\x19\x0d\x39\x67\x64\xb4\x02\xd1\xc2\x88\x91\x39\x84\x8c\x0c\x62\x5d\x43\x27\x92\x7a\x1c\xf4\xfb\x67\xdf\x90\x2c\x0c\x77\x63\xf2\x3b\x8e\xc8\x7f\xac\x94\x5f\x5d\x1f\xc7\xcd\xa0\x7c\x43\x9e\x3c\x4a\x00\x2d\x74\xe2\xda\xc0\xc3\xc7\xc8\x7c\x54\x6d\x1c\xa9\xa7\xd0\x61\x51\xd6\x9e\xa8\x2a\x60\xed\x37\x57\x80\xd1\xe6\xa9\x97\x8a\x6d\xbe\x0b\xcd\x46\x28\x6e\x2c\xf2\x1b\x2b\xf7\x5f\xdd\xe6\xe3\x02\x4b\x18\x6c\x0f\x6a\x41\x0f\x55\xa3\x2c\x1c\x8e\x7a\xd2\x3f\x80\x14\x67\xb0\x91\x30\xb4\x41\x1a\xc1\x51\x9d\x73\x9b\xd2\xad\x3d\xdd\xc9\x89\xf9\x9b\xbf\x42\xe8\x8f\xbc\xf5\xfd\x67\x4f\x68\x4d\x78\x5c\x8a\xc3\x19\x97\x67\x9e\xe6\xc4\xee\x19\x55\x2b\xbe\x7b\xd9\x19\x9b\x77\x07\xb4\xca\xbb\x00\x33\x26\x57\xeb\xc0\xc8\xe6\xb7\xdb\x56\xf4\xae\xed\xcb\xce\x3e\x91\xcc\x6a\xeb\xfa\x33\x06\xea\x9c\x26\x66\x0d\x43\xda\xcf\x9e\x23\xf9\x2f\x3d\x6d\xf9\xae\x27\x71\xcd\xda\xb5\x70\x3f\xe3\xa1\x9c\x36\xbb\xab\x71\xf6\xde\xfc\x5a\x74\x9c\xec\xaa\xe1\x0d\x7d\x44\xf6\xaf\xef\xe7\x8e\x11\x8f\xff\xba\xea\xf8\x16\xb2\xbf\x32\x5e\xbe\x67\xbe\xa6\x22\xc8\xa2\xf0\x07\xef\x39\x91\xf4\xa3\xc7\x8a\x49\xa5\x4e\x58\x1f\x63\xb8\x91\xed\xc5\x79\xd8\x85\x63\x6f\xbd\xe0\xb0\x71\xec\xbc\x1f\x25\x30\xa2\x5b\x64\x44\x83\x4b\x8c\x66\x2a\x71\xc4\x60\xbd\x2d\xc0\x49\x15\x20\x09\x5b\xb1\x41\x9d\x9b\x4a\x06\x28\xb7\xc0\x02\xc3\xe2\x22\x2f\xbf\xd7\x17\x8f\xfb\xbc\xf2\xb0\xec\xd5\x8c\x35\x5e\x08\x79\x65\x72\x58\x75\x10\x09\x8e\x73\x28\xe6\xc6\xf6\x0b\x62\x7d\x5c\xe7\x8d\x73\xa6\x6e\x8e\x7a\xe5\x58\x89\x67\x59\x5d\x77\xd8\xe5\x35\x9b\x19\xab\x5f\xe0\xbd\x89\x9e\x9a\xb0\xc3\x0c\x3c\xef\x22\x58\x13\x09\xee\x69\x6b\x8d\x55\x1b\x5f\x3c\x8e\x7d\x87\x03\x38\x64\xd9\x3b\xbb\xad\x2a\xd4\xd7\x52\xdf\xd2\x10\x5f\x3d\xa1\x0f\x07\x7d\xde\x4a\x80\xb8\x17\x6f\x2b\x89\x63\xbc\xb6\x7d\x4e\xd8\xd5\x1c\xaf\x50\xaa\x9a\x05\xde\x1d\x4c\x96\x35\x07\x3c\x72\x5f\x55\x84\xf6\x08\xec\x5a\x74\x98\x37\xbd\xdd\x88\x31\xf3\x15\x71\x18\x0f\xbf\xbc\x63\x2d\xf8\xb8\xe8\x36\xac\x61\x2c\x05\xb0\x5b\x30\xe0\x8c\x13\x58\x31\xc8\xfb\x0d\x10\x4d\xa3\x4a\xf4\xfa\x68\x22\x44\x49\x64\x8c\x3f\x46\xf8\xaa\x8a\x58\xae\xc2\x9a\x69\xda\x3f\x49\x13\x4b\xb8\x5c\x02\x98\x1d\xe1\x9a\x9e\x84\x97\x17\xfc\x56\xc6\x6c\xf6\xba\xc2\xdd\x75\xcb\x3c\x25\x31\xd9\x1b\xdd\x3c\x75\xce\x8d\x9d\x5c\x5f\xec\x82\xf6\x46\xb3\xe2\xe0\xb8\x04\x41\x8c\xd5\x44\xfe\x9d\x42\x1d\x18\xf5\xf1\xe3\x96\xb9\xd3\xd6\xb2\x82\x87\x8e\x97\x4d\x95\x3d\x81\xe6\xb2\x64\xd0\xcd\x0b\xcd\x55\x4a\x45\xbc\xd9\x15\x9e\xd3\xbe\x16\xe3\x78\x09\xde\xe6\x8d\x03\x54\x7a\x7d\x41\xdc\x37\x61\x75\xbc\xa1\xa5\xbe\xa5\x2f\x84\x90\xed\xf0\x5c\x86\xd9\x58\x47\xaa\x44\x2d\x68\x21\x3a\x15\x9d\x87\x7e\x80\x6e\x46\x0f\xa0\xa7\x0d\x5e\x93\x68\x84\x71\x8b\xa9\xa4\x9a\xca\xa4\x23\xee\xb8\x3b\xca\x45\xb9\x68\x86\xe2\xa2\x99\xe2\x22\x5e\xaa\x38\x7d\xcf\x51\x45\x1f\x21\x77\x94\xd3\xd5\xc7\xa4\x24\x4a\x6e\x61\x8c\x25\xa6\x05\xd2\x86\x13\x6c\x29\x44\xdd\x42\x2a\xa9\xa6\xb3\xe9\x0c\xb8\x85\x48\x0b\xa4\x93\x90\x36\x68\xe9\xc2\x21\x03\x9d\xb4\x08\x7e\x19\x32\xda\x19\xf0\x51\x46\x89\x1a\x60\x98\xee\x54\x3c\x93\x2e\xd0\xf8\x94\x42\x71\xe2\x4e\x4a\x71\x51\xae\x58\x8e\x68\xb1\x1c\xc7\x4d\xe0\x5d\x53\xca\x39\x9d\x5c\xe9\x63\x9d\x9d\xf9\x67\xfb\x7b\xa7\xc1\x4f\xba\x94\x78\xd8\x4c\x77\x02\xb0\x82\x08\x6d\x8c\xad\x3c\x1a\xee\xea\x0a\xc5\xca\x6d\xcc\x41\x4c\xd8\x7c\x99\x74\xa9\x5b\x28\x5d\xe2\x73\x5f\x10\xf1\xd0\xa0\x6d\x6b\x6f\xc7\x6e\xde\xd2\x59\x79\xa1\xf6\x81\xf6\xe1\x85\x55\x1d\x16\x41\xb0\x74\x54\x5e\x84\xe5\x8b\x2a\x3b\x2c\x42\xde\x3e\x7f\x4a\x2a\x33\x8d\x09\x99\xa2\xd6\x5e\x08\xbb\x4b\xeb\x52\x3e\xb7\xdb\x97\xaa\x2b\x75\x3f\xdc\xd5\x65\xc0\x59\x77\xd1\xd6\x50\xac\x1c\x3e\x1f\x3f\xc1\xf3\xde\x4d\x49\xe7\x3e\xe7\xbd\x91\x54\xea\x1f\x13\xb5\x79\x70\xd7\xc4\xad\xda\xe5\x65\xd5\x7e\x2e\x0e\x11\xed\x33\x0f\x76\x04\xc1\xb3\x6a\x57\xda\x5d\x51\x1e\x83\x0f\x6f\x2d\xab\x70\x3f\x62\x2e\x65\x45\x57\x99\xec\x6b\xda\xd6\xe4\x93\xe5\xd2\x86\xbe\x8e\x94\x17\x6c\x6e\x2b\x51\x7f\x63\x2a\x75\x63\x3a\x4f\xfc\xe4\xa4\xaa\x26\xca\xe1\xa0\x9a\xaa\xe6\xec\xb9\x7f\x66\x65\xb3\x9e\x6e\xae\x9c\x49\x34\x41\xd9\x33\xcf\x48\x0b\xa5\xa5\xea\xaf\x36\x6c\x6f\x2c\x95\xe5\xd2\x46\x63\xe7\x6b\x86\xb5\xda\x3b\x41\x27\xf6\x80\x53\xfb\x53\xdc\xe5\xab\x06\xd3\xd1\x73\xb8\x56\xe4\x3b\x84\xa8\x77\x8c\x78\xd9\xb1\xf6\xb1\x00\x9d\x82\xce\x45\x17\xa1\x1b\xd0\x8f\x0d\x3b\x3d\x1a\x51\xb8\x6c\x2a\x49\xb9\xa3\x99\x74\x32\x9e\xca\x84\xdd\x29\x2e\x15\x3e\xc1\x6b\x19\x7b\x79\x99\x28\x97\xca\x18\x2f\x2f\x9e\x89\x1a\x0d\xa6\x05\x52\xc7\xbd\x58\x35\x0b\x99\x74\xa4\x14\x84\xa4\xc1\x80\xcb\xd0\x21\xa3\x89\x64\xd2\x46\xab\x08\x19\x2d\x04\x52\x04\x17\xe5\x64\x45\x56\x52\xfc\x58\xdb\x2b\xb4\x33\xbd\xed\xc5\x4f\xd0\x42\x89\xff\x53\x24\x51\x94\x14\x18\x98\x3f\x7f\xb4\x71\xa5\xf6\xfc\xf2\x53\x21\x34\x6f\x5e\xc0\xe7\x22\x60\x9e\xc9\x96\xa8\xcd\xc2\x1e\x33\x97\x4d\x56\xce\x9b\x57\x5d\x9b\xe5\xcc\x30\xb0\x00\x33\xe1\xc4\x83\x3e\xa5\xab\x5b\xf1\x97\x2a\x13\x26\xc7\x5c\x04\xce\x0f\xcf\x9e\x8d\x5f\xf6\xb2\x73\x1b\x1f\xcb\x7b\x1f\x6b\x9c\x67\xf7\x7a\xd9\xb9\x4d\x8f\xe2\x77\x8d\xf4\xa8\x77\xc9\xc6\x53\xd9\x9a\xb8\x7f\xc5\x24\x78\xc4\x2f\x77\x77\xc9\x7e\xbf\xdc\xd5\x2d\xfb\x61\xfa\x82\x4c\x32\x61\x37\x2d\x00\xc2\xe5\x0b\x40\xec\xd5\x2e\x11\xaa\xc5\xee\x44\xa2\xfb\xea\xc1\xc1\xfc\x2f\xe1\x23\xed\xbb\x15\x6e\x22\x04\xa7\x6b\x1b\xeb\x3c\xf1\x96\xc1\x67\x7b\xbc\xf5\xd9\x37\xf2\xcb\x6b\x55\xd5\x77\x92\x3d\x65\x89\x4d\x98\xb3\x74\x7a\x3c\x95\x8a\x4f\xdf\x33\x3d\x9e\xca\xf8\x7c\x66\xe2\xe9\xdf\x4e\x98\xf0\xdb\x89\xf9\x39\xef\x9f\xd5\xd4\x4f\xbb\xdd\x74\x7f\xd3\xea\x8f\xf4\x34\x23\x08\x4c\x7f\xd3\x6a\x92\xd5\xd6\x68\x9f\x82\xa3\xf7\xe2\xa5\x33\xb5\x2f\x27\xfe\x78\x46\x3c\x95\x92\xfb\x7f\xdc\xaf\x3f\x64\x40\xb3\xab\xad\x71\x4f\x0a\x2e\xd6\x2e\x0f\x63\xb1\x12\xce\x2d\xf8\x52\xe6\xa8\xcd\xd4\x7f\x11\x8f\x14\x84\x80\x2e\x58\xd0\x2a\x9f\x54\xc6\x0c\x66\x10\x19\x70\x8f\x4d\xca\x40\x16\xf4\x83\x78\x96\xe5\x73\x9f\xfc\xb1\x5b\xb0\xe4\x01\x6e\xb5\x59\xcd\xd2\xc7\x65\x5e\xe2\x05\xab\x35\xff\x09\xf4\x5b\x2d\x16\xf1\xe3\x0a\x8f\xb6\xc7\x85\xa1\x44\xf9\x54\x24\x4e\x73\x69\xbd\x89\x08\x0f\x23\x00\x92\xe8\x70\x54\xc3\xa9\x4e\xf7\xe8\x7c\xc8\x5f\x27\x70\x8e\x6a\x7c\x66\x88\xd8\x59\x7d\x34\x77\x3e\x7f\x98\x5f\x44\xae\x04\x63\x05\xc1\x4d\xd0\x92\xd8\x04\x49\x15\x8c\x23\x20\x82\x91\xcb\x2a\x90\x81\xac\x74\xdc\xe2\xcb\x56\x77\xf0\x31\x97\x89\x31\x9d\xfb\x0b\xb3\xd9\xe4\xdc\x1b\xe4\x09\x95\xe1\x1e\x0f\xf0\xda\x69\x00\x94\x10\x7a\xcc\xc5\x98\xcc\xda\x28\x5c\x67\xfa\xd3\x51\x93\xd4\x04\xbc\x15\xb1\xda\xb8\x3f\x80\x76\x27\xcb\xda\x63\xc4\x0c\x5b\x34\xaf\x60\x2d\x1c\xb5\xd9\x1d\xf0\x26\xe0\x57\x9d\x17\x1e\x8f\x59\x83\x2c\x0c\x22\xff\x8b\xb0\x81\x88\x54\x0d\x7c\x92\x0c\x42\x32\x40\x15\x79\xf0\x4b\x41\x64\x58\x70\x00\x4b\x47\xe9\xb0\x1c\xab\xc1\x85\x91\x24\x01\x4a\x0b\xc8\x06\xdf\x7c\x2b\x9d\xca\xe2\x5f\xc2\x7e\xcd\xbf\xf7\x87\xd0\xd0\xd3\x03\x21\x36\xec\x09\x05\x58\x9a\x57\x18\x93\x19\x80\x67\x62\x2c\xcb\x06\x42\x9e\xb0\x23\x08\x07\xb5\x0b\x5f\xd6\x5e\xae\xad\x8b\xc5\xe2\x1d\x9e\xe3\xaf\x60\x43\x70\x10\xae\x3d\x90\x87\xa5\x66\x8a\x24\x08\xda\xe2\x94\x1c\x74\xc9\x42\xb5\xfd\xf2\xf2\xb2\x0b\x2f\xbf\x5c\x9d\xc7\x71\x0e\xc9\x61\xa1\x09\x82\xc7\x66\x82\x24\x29\x4b\xa8\xe4\xb8\xf3\x4e\xfd\xbc\x0b\x15\x70\xb0\xe8\x11\xea\x62\x63\x6d\x55\x42\x3e\x14\x44\xc8\x4c\xba\xc1\xad\x30\x19\xc8\x48\x90\x91\x54\xb7\xd9\x06\xbb\xe0\x23\xed\x1e\x4d\xa4\xaa\x34\x11\x40\x93\xae\x80\xd9\x00\x30\x27\x3f\x03\x66\x6b\x2e\xed\x47\x54\x02\x06\x34\x49\xbb\x1b\xe6\xc0\x7b\xda\x8f\x34\x17\xd1\xa2\xbd\xac\xfd\x0d\xda\xb4\xfd\xa7\x6b\x7f\x32\xf8\xd8\xe3\xa7\x0f\x81\x1f\x03\x60\x6d\x3f\xf9\x07\xed\x6f\xda\x2b\xc0\x6a\x9f\x69\x9f\x6a\x3f\x87\x52\x62\xab\xf6\x73\xed\x33\xa8\x45\x34\xb2\x1e\x42\xd4\x7f\x0c\x1f\x13\x2b\x72\x14\xcb\x83\xa8\x30\x17\xe5\xc2\x5c\x34\xae\x52\x0c\xa8\x60\xfc\x11\xc0\x98\x21\x13\x76\x53\xe6\x83\xb7\x0d\x53\x37\x0f\x8f\x0e\x84\x09\x47\x38\x3f\xb7\x0b\xbf\xd6\x95\xff\xf7\x12\xbc\x64\xc9\x1b\xf0\x56\x4e\x8b\xe6\x1f\x20\x42\x43\xb0\x2f\x9f\xc3\xb9\xaa\x9b\xee\xb8\x11\x7b\x77\x69\x7b\x2e\xc7\x8f\x6c\xce\x1f\xda\x4c\x6c\xce\x9f\x37\x84\xb7\x1d\xb8\xf5\x96\x5b\x4e\xe0\x7b\x31\x1d\x2d\x1d\x87\xdb\x5f\x04\xa3\x1d\xc3\xb9\x8d\x45\x64\x16\x1b\x94\xa9\x84\x28\xd0\x85\x36\x10\x20\xb2\x49\x51\xd7\x9e\x40\x6d\x25\x64\x03\xc5\x56\xd7\x23\x08\xe4\x1c\xd7\xcf\x39\x8f\x74\x73\x63\x6e\x1a\xa1\x77\xb5\xc7\xde\x7d\x17\x26\xc3\x40\xb6\x2f\x9b\xed\xd3\x26\xb1\xdf\x9f\xbc\x71\x56\x69\xb2\x4f\xb0\x3a\x28\xbd\xe6\x28\x87\x55\xe8\x4b\x96\xce\xda\x38\xf9\xfb\x5f\x7d\x0a\x9f\x49\x59\xf6\xbf\x32\x57\xcb\xce\x7d\x65\xbf\x85\x32\xd2\xf0\x82\x9e\xc6\xa2\xe1\xd0\x01\xbb\x0b\xbf\xf2\xae\xf1\x23\xd9\xdc\xb7\x7c\xec\xd1\xa7\xb4\x33\x8f\x7f\xbe\x91\x3e\xea\xbb\x76\x18\x38\x1f\xc7\xfa\xcb\xa4\x0e\x47\xbe\x8e\x45\xab\x18\x54\x47\x85\x2f\x0d\xae\xdf\x72\xff\x96\x2d\xf7\xe3\xfb\x8d\xdd\x18\x8f\x51\xe1\x0b\x1c\xfd\xa1\x7e\xac\xf8\x6f\xfc\xef\x60\x64\x36\x78\xc0\xf9\x30\x95\x32\x43\x4a\x0d\x1f\xe5\xaa\x85\x7e\xa5\x9d\x89\xb3\x83\x5a\x46\xcb\x0c\x2e\xc3\x16\x38\x78\x2c\x52\xc2\x2e\xed\xa5\x7d\xf8\xc1\xfc\xd4\x61\xa8\x3b\x51\x7c\x72\x3f\xb5\x8d\xba\x1d\x59\x8c\xe8\xca\x2e\xbd\x2d\x80\x48\x2b\x09\xc8\xaa\xd9\x00\x48\x09\x60\x58\x90\x02\xa0\xb6\x02\x9f\xc0\x4a\x8c\x62\x31\x13\xc0\x92\xa8\xb6\x62\xde\x88\x87\x90\x95\x04\xa1\xc8\x4a\x1b\x88\x21\x35\x00\x34\x4f\x1b\xb8\x0b\x71\x59\x49\x90\xfa\x99\x56\x52\xcd\xaa\x31\x4a\x94\x02\x40\xd4\x98\xce\xce\x28\xa5\x7e\x39\xd6\xa3\xae\x62\x9f\x3b\xb9\x6d\x0a\x41\x5e\xb1\x70\xc1\xa6\xfd\xc2\xe4\xaa\x3a\xed\x2d\xed\xc3\xca\x44\xbb\x2b\xb0\x50\x6d\xde\xff\x66\x5b\x66\xe1\x6c\x93\xc3\x5e\x15\x9b\xfd\xf2\xb3\x4b\x13\x93\x06\xda\x85\x92\x10\xed\x7a\x1b\xab\xfb\xdc\xb4\xf3\x61\xef\x2c\xaa\xaa\x32\x3c\xaa\x5d\xff\xc5\x2e\x87\xdb\x4e\x31\xd8\x1c\x75\x7b\xcd\x44\x69\xa4\x3e\x16\x38\xf7\x09\xd8\x0c\xe5\x37\x34\x3b\x01\xdf\xd1\xd6\x17\xe2\x06\x06\x38\x97\xad\x89\x5b\xb9\xb6\xca\xbf\x71\xc2\x82\x9c\xc9\x74\x2d\xde\xe4\x8b\x9a\x4d\x35\x75\x8c\x25\xe2\xf5\x47\xcd\x4c\xa9\xdf\x64\x8a\x8e\xba\xbc\xa7\x75\xf5\x08\xb5\x35\x04\x67\x12\x22\x99\xe8\xd0\x2f\x9c\xe6\x2b\xaf\xa4\x23\xf5\xc4\x63\x77\x69\x9e\x40\xda\xcf\x6d\x95\x7d\xab\x6d\xa5\xe5\xbe\xb4\x39\xf9\xfc\xe6\xfb\x26\x7b\xab\x03\x01\x87\x35\xe1\x8a\xcf\x49\xf4\x09\xad\x06\x0e\x6c\xe1\x5d\x99\x8c\xde\xbe\x11\xcd\x2b\xb0\x5b\xcb\x06\x15\x71\x56\x35\xc2\xd9\x8d\x50\x7d\x5e\xaf\x1f\xbd\xcf\xd4\x8d\x0f\x29\x80\xf9\x74\x56\x56\xe8\x90\xe2\x00\x83\xc3\x50\xaf\xd8\xac\x22\x2b\x32\x45\x33\x85\xba\x0e\x10\x92\x28\x91\xba\xad\xe2\x3a\x4e\x31\xec\x1f\x88\x55\x42\xa5\x32\xb3\xd7\x34\xf7\xfc\x15\x04\x56\xab\x27\x5e\xfa\x88\xd0\xa5\x54\xdd\x70\x77\x95\xdc\xe5\xb6\x27\x22\x81\xe7\x7e\x1b\x8e\x25\xeb\xad\x94\xe3\x56\x6d\xd9\x6d\x36\xca\xeb\xa8\xb9\xe9\xcb\x07\x23\x01\xc7\xf7\xcc\x5c\xe5\xea\x3f\x68\x9f\x9e\x3f\x28\x57\xa6\x48\x93\x18\xa3\xc1\x44\xbb\xec\xcb\x1f\x04\xe2\x61\x4f\x30\x48\xd6\x42\xd9\x51\xab\x79\xd7\x57\x26\x44\x61\xb9\x4b\xca\xb6\x74\x9e\x69\x5b\xd8\x55\x37\x57\x08\x0e\x40\xa3\xdb\x4b\x53\x82\x40\x33\x25\x02\xef\x61\xa8\x68\x84\x62\x4a\xf2\x04\xa3\x94\x90\x2b\x56\xd0\xb6\xeb\xeb\x67\xf8\x12\xa7\xf0\x1d\x2b\xf0\x2f\x33\xa2\x1a\x6e\xf3\xd9\x22\x0e\xa1\x36\xd0\xfd\x83\x17\x62\x54\x5a\x88\x58\xfb\x05\xff\x02\xbb\x20\xbb\xc1\x0a\xc9\x63\xc6\x21\x40\xdd\x87\x72\xa4\x5e\xad\x11\x84\xe2\x92\xde\xad\x24\x88\x0c\x17\xcd\xb4\x92\xaa\x81\x30\x18\x76\x87\x39\x21\x80\xd5\x2c\x71\x7f\xbf\x74\xff\xbc\x65\x7b\x56\x4f\x0b\xff\x70\xf2\xda\xee\x5a\x81\x02\x86\xfc\x37\x4c\xd5\x1e\xb0\x87\xba\x6a\xa7\xbd\xfc\x61\xb4\x15\x70\xfd\xc2\x0d\x1b\x1a\x71\xe8\x75\xef\x9c\x45\xab\xe6\x54\x53\x8c\x36\x77\x34\x7f\x20\x90\xce\x04\x00\x8f\x5f\xe7\x2f\x30\xc8\x2a\x74\x94\x4e\xe0\x0c\x17\xce\x84\xb9\x68\x84\x61\x09\xc6\x9d\x32\x7e\xab\x15\x8e\x5b\x0b\x5d\xdd\x5a\xd5\x14\x4b\x97\x58\x00\x0e\xa1\x27\x4c\x40\x95\x64\x4e\xeb\xde\x5e\x39\xe7\x86\x53\x26\x7c\x0f\x6e\x1b\x5f\x7f\x53\x1e\x15\x41\x2a\x2b\x97\x60\xe7\xd3\x30\xd1\x52\x35\x7b\xd9\xec\x92\x3b\xb4\xc1\x86\xb3\x56\x74\x60\xa8\x25\x6b\x8e\x5e\x0b\x25\x0e\xb5\xe3\x3c\x8d\x0c\xd4\x1e\xf1\xc4\x26\x3d\xfe\x8f\xd3\xae\xdd\x66\xb1\xb3\x16\xed\x26\xbb\xc9\x2c\x14\xf1\x02\x01\xc9\x4e\x2d\x67\xb1\x40\xce\xc9\xf3\xa4\xb1\x66\x71\x70\xcc\xa7\x04\xe1\x3c\x35\xa2\x3f\xb3\xe8\xb7\x72\x18\x36\x59\x2d\x06\x89\xe1\xfc\xe1\xe7\xb8\x9d\x76\x18\xd4\x9f\x0e\xa7\xd8\x49\x9e\x3f\x68\x38\x70\x93\xfb\x64\x27\xe4\x2c\x16\x2d\xe7\x2c\x72\x5b\x01\xc1\x20\x22\x6f\x3c\x73\x0c\x05\x7f\x0c\x03\x5f\x2a\x80\x67\x30\x48\x2f\xc1\x31\x85\xc2\xfb\x8e\xfe\x8d\x93\x59\x43\x82\x22\xd7\x16\x41\x8f\x14\x9f\x59\x58\x97\x3e\x1a\x3d\x5f\x02\x91\x1e\xd1\x8b\x70\x4c\xa9\xf0\x0e\xd6\xa2\xdd\xcc\x9a\xc6\x8b\xa0\xdd\x66\x39\xec\x8f\xbf\x86\x46\x48\x36\xa2\x1e\x8b\xe6\x9c\xae\xac\x47\x23\x04\xce\x14\xb5\x6d\x5d\x67\x37\x2c\xbe\x02\x47\x28\x8c\x71\xab\x16\x88\xee\x24\x41\xa4\xd6\x28\x33\xb7\xe5\xea\x16\xcc\xee\x68\x99\x31\x23\x75\xed\x55\x57\xac\x59\x73\xef\xe4\xe5\xcb\x22\xd5\x27\x2f\x99\xb4\x7e\x30\x9d\x9e\x1e\xed\xb8\x58\xfb\x4b\x69\xa0\x2d\x9b\x8d\x77\x11\x53\x7a\xef\x07\x02\x00\x3a\xce\x3d\xf7\x17\xa1\x50\x38\x02\x04\x50\x9f\xed\xdf\x75\x59\x20\x10\x89\x74\xc4\xda\xbb\x52\x83\x6b\xb6\x3c\x47\x6e\x6a\x99\x32\xa5\x2d\xeb\xb2\xd2\x57\x9d\xbe\xb2\x9c\x70\x12\xa4\xed\xb0\x3f\xbf\x81\x45\x5e\xd0\x0e\x10\x70\x71\xce\x60\x73\x2a\xee\xf1\x3d\xf9\xd9\xfa\x1f\x9d\x1b\x3d\x9b\xf8\xfe\xe8\xd9\xd8\x95\x3f\x7b\x10\x57\xe3\xbf\xe7\xcf\xc0\x99\xfc\xfa\xd1\x8f\xce\xc5\x57\x11\x67\x8e\xbe\x8b\x6f\x32\xf8\x23\x0d\xdc\x59\x6a\xab\x31\xde\xfb\x91\x8a\xa6\xa2\x05\x08\xa1\x64\xd6\x18\x9f\xc8\xe2\x9e\x2a\x8c\x62\x85\xc6\x5d\x80\xb2\x34\x02\x2a\x5b\x74\x73\xd7\x98\x5c\x50\x8c\x35\x42\x08\x80\x3b\x9c\xce\x1a\x9e\xac\x41\xc8\x26\x25\x35\x2b\x89\x8c\xf1\x65\x14\x3f\x8c\xa4\x08\x6f\x85\x24\x29\x24\xc2\x13\x21\x51\x0c\x49\xa3\x07\x2b\x9a\x9b\x66\x37\x37\x93\xd3\xdb\xab\xa7\x34\xcf\x6e\xbe\xb8\xb9\xb2\xa2\x19\x7a\x13\xed\xf8\x47\x2b\x73\xa3\xa7\xe4\x4e\x9f\xc4\xd8\xec\xcc\xe4\xc5\xbf\x5b\x3c\x99\xb1\xdb\x18\xb8\x5a\x3f\xdf\x5c\x51\xd9\x4c\x96\x4a\xfa\x73\x0a\xff\x5e\x6e\xae\xd0\x06\x2a\x9b\x9b\x2b\xe1\x47\x15\xcd\x7c\x7e\x49\xa2\xfd\x6f\x7a\xee\x6f\x85\x6d\x7b\x02\x5f\x0f\x57\xa9\xcf\x9e\x7d\xf6\xb3\xea\x0e\x3b\x43\xdb\xce\xaf\xa8\x38\xdf\x46\x33\xf6\xfc\x55\x63\x77\x55\x36\x35\x21\xb3\xa1\x77\x7d\x69\x70\x6e\x38\x50\x04\x4c\xe0\x86\x38\xa4\xa0\x07\x3e\x35\xf0\x54\xa2\x74\x26\xad\x26\x25\x5a\x66\xb2\x92\x08\xb2\xde\xef\x30\xb4\xde\x7f\xb7\x12\xcd\x20\x43\x5a\xd1\x15\x9e\x82\xbe\x23\x4a\x06\x87\xac\xae\xf9\x18\x23\x9d\x9c\x2d\x4e\xa7\xe8\x9d\x3c\x43\x8b\x6a\x36\x9d\x49\x10\x0a\x2d\x09\xd1\x04\xd0\x4a\x56\x56\x64\x9a\xa1\x03\xa0\x5b\x86\x8c\x11\x00\x25\x25\x45\xda\x08\x5e\x35\x86\x58\x42\xef\xfb\x09\x7d\x48\x80\x02\xc7\x09\x43\x2b\x72\x61\x44\xa0\x44\x49\x60\x29\x86\xc5\xfa\xb8\xa0\xb7\x4e\x16\x1b\x5d\xa2\xa8\x5f\xa2\xbf\x07\xa3\x94\x86\x77\xa5\x71\x77\x00\xbb\xb3\x4a\x42\xef\xb0\x24\xb1\x10\xc8\xaf\x5f\x60\x2c\xe0\x66\x0d\xea\xfc\x56\x10\x41\x2f\x90\x5b\x94\x92\x0c\x9d\x4a\x52\xba\x48\x64\x61\xa8\x52\xd2\x09\x60\x22\x7a\x52\x12\xd4\xac\x9a\xd6\x95\xb9\x28\xab\xab\xfd\x58\x12\xf5\x27\x24\xb3\x10\xc0\x7a\x71\xc0\x80\x66\x21\x0c\xf0\x22\x86\x25\x94\x42\x55\xe8\x3f\xa0\x57\x82\xae\x1d\x42\xc6\x28\xa2\x5e\x38\x82\x11\x68\xa9\xe0\x02\x8a\xd5\x56\x6c\xcc\xc6\xc9\xfa\x49\x63\x1e\x8e\x50\xb3\x6a\x61\x7c\x4c\x19\x60\x36\x4c\xf1\x5a\xd1\xd0\x3c\x8d\xc7\xb2\xa0\x8b\x21\x16\x1f\x5c\xac\xe9\x00\x85\xaf\xb1\x9a\x49\x8a\xa7\x16\x92\x0e\x8b\xc7\x44\x68\x37\x90\x24\x45\x10\x8c\xc5\x4c\x72\x24\x60\x0c\x98\x98\xa5\x92\x0c\x41\x60\x06\xcc\x60\xe9\x8d\x7a\xc2\x73\xc2\x56\x25\xe8\x00\xab\xd9\xed\xb2\xdb\x81\x8d\x94\x88\x24\x29\x58\x15\x47\x13\x6d\xa2\xc5\x92\xb8\xdf\x62\x75\xb9\xed\x14\x57\x22\x3a\x57\xba\xc0\x5c\x5e\x42\x40\xc4\xef\x2b\xc5\x60\xe6\x18\x0b\x4d\x5a\x19\x0e\x40\xf0\x70\x02\x80\x68\x36\x29\x60\xa7\x2c\xac\x68\xf1\x89\x35\x2a\xae\xf0\x85\x28\xb3\x95\x22\xcc\x36\xa1\xc7\x5c\xe5\x2d\xc9\x5a\x00\x9c\x25\x15\x9c\x1c\x09\xfb\x44\x3b\xc6\x34\x6d\x65\xec\x84\x7f\x7a\x56\x74\x57\x88\x04\x04\x4a\xed\x2e\x69\xba\x09\x03\x6d\x72\x87\x48\x4c\x93\x14\xc6\xb1\x04\x55\x46\x0a\x3f\x34\x3b\x89\x60\xc0\x54\xc1\x26\x14\xd2\x4e\x03\x21\x58\x12\x1b\x2e\xa8\x92\xac\x36\x0c\xa2\x99\x76\x13\x12\xc6\x1c\x16\x1d\x31\xe8\x9a\x96\xbf\x95\xb0\xd2\x66\x4c\x58\x08\xc2\x4a\xc0\xed\xd8\xcc\xd1\x94\x99\xa2\x31\xc1\x56\xb8\xcc\xd6\x87\x2c\x36\x82\x26\x49\x82\x25\x4d\x38\x4b\xd9\x09\x87\xd9\x4c\x11\x18\x2c\x98\x24\x4d\xac\x09\x9c\x2c\x56\x05\x11\x33\x1e\x29\xee\x95\x4d\xf2\x62\x3f\xb7\x44\x76\x49\x96\x48\xa0\x6a\x36\xdf\x27\x54\x4d\x8a\xa5\xfc\xa5\xbb\xdb\xf9\xf6\x58\xa5\x87\xb2\x44\x00\x2c\x16\xb0\xb0\xb3\xb9\x80\xc7\x9d\x09\xa5\x22\x66\xbb\x0b\xdb\x28\x12\x22\x04\x11\x11\xb6\x45\x3d\xa7\x76\x48\x95\x95\x84\x4b\xb0\x6c\xac\xed\xae\xb6\x92\x04\x80\x2b\xc0\x98\xe2\xa2\x2c\x9c\xc9\xda\x48\x9c\xee\x57\x3a\x32\x2b\x62\x0d\x13\x28\x2a\x1a\x39\x45\x9d\xe7\x30\xd1\x2e\xab\xc5\xe7\xcb\x46\x5c\x3e\x97\x99\xc5\xa2\xec\x72\x0a\xbc\xa5\x7e\x7e\x59\x53\x4b\x4f\xa6\xd6\xaa\x84\xc2\x61\x82\x05\xd6\xe1\x75\xfa\xc8\xd3\x80\x07\xda\x46\xb0\xe0\x20\xac\x76\x5a\x1b\x00\x13\x47\x51\x26\x2b\x80\xd3\x42\x98\xf4\x17\x8e\xb5\xeb\x5d\x1e\x47\x89\xcf\x59\x6a\x89\x30\x95\x54\xed\x99\x82\xd0\x76\xdb\x59\x65\x98\xac\xde\x94\x50\x9a\x83\x2e\x1b\xb4\x0e\x04\x62\xa2\xbb\x23\x62\x22\x02\x00\xc9\x34\x10\x9d\x25\xbc\x83\x21\xdb\xa9\x40\x99\xdb\x4c\x98\xb6\x3a\xcc\x04\xc9\x34\x74\x02\x34\x04\x1d\x55\x41\x4c\x58\xcd\x50\xca\x8b\x01\xa8\x88\x91\x0e\xd6\x26\x01\xeb\xa5\x4c\x92\xc3\x0a\x98\x03\x9b\x99\x33\xb3\x34\x61\xb5\x13\x74\x90\xe4\x49\x8a\xc1\x24\xe9\x90\x00\x6c\x4e\xde\x61\x26\xcd\x98\xa2\x48\x9a\x60\x80\x6d\xf6\xda\xac\xad\x41\x33\xc1\x94\xb4\xd5\x76\x97\xd2\x3f\x6c\x70\x2d\x31\x79\xdc\xc1\x36\xbf\x9f\x07\x20\x3b\x4e\xb3\x85\x48\xe9\x7b\x66\x47\xa2\x8c\x70\x34\xd5\x25\x3c\xdd\x26\xa7\x09\x53\x66\x26\xed\x74\x4c\x96\x4d\x74\xa2\xa4\x4b\x2a\x05\xfe\xac\x90\x7b\xf9\x3c\xaf\x2b\x1e\xb2\x12\x15\x9c\x17\x63\x33\x05\x0e\xe1\x69\x13\x43\x90\x84\x85\x66\x00\x3b\x55\x12\x5c\xfb\xac\x9c\x09\x48\x12\x48\x1f\x41\xe1\xf7\x31\x6d\xc2\x0e\xb0\xdb\x69\xd2\x4e\xd1\x04\x6d\x23\x80\x3c\xf0\xbc\xad\x44\x12\x45\x4e\xb0\xbb\x48\xbe\xd7\xe7\x64\x5c\xe6\x52\x91\x03\x7d\x88\xf2\x87\x4a\x00\x9a\xed\xa4\x95\xb1\x71\x56\x69\x8e\xd5\x59\x1b\x8f\x99\x6d\xa4\xc5\x15\x89\xf4\x84\x05\x8a\xb0\x3b\x2a\x68\x8f\x4d\xb4\x3a\xba\x59\xce\x4c\x97\x98\xe8\x10\x4b\xd0\x55\xe9\x0e\x85\x7b\x2a\xdd\x1b\x31\x7b\x9c\x62\x69\xa2\xd6\xe5\x5e\x92\xed\x16\x2e\x4d\xaf\x7e\x6e\xfe\xe6\x4a\x37\x94\xfa\x2a\x6e\xe9\x5e\xbc\x7e\xcd\xf2\xa6\x57\xe6\xd4\x4d\x2a\xc3\x38\x12\x0f\x00\x98\x78\x5b\x29\x15\x67\x67\xaa\x13\xcf\xed\x98\x44\x85\xeb\xa2\x25\xae\x78\xa8\xc4\x6a\xed\x9d\x64\x0b\xa6\x02\x3e\xab\xa3\x18\x1f\xaf\xeb\x62\x2c\x0a\x21\x05\x25\x50\x12\xb5\xa2\xd9\xe8\x64\x84\xe2\x32\x11\x65\x58\x92\x51\xc4\x54\x92\x90\x15\x32\xac\x8f\xd2\x52\x81\x0e\x58\x91\x15\x16\x98\x10\x25\x33\x7a\x27\x07\x11\x26\x4b\xe9\xe3\xbb\x28\xb5\x92\xbc\xac\xe8\x77\x19\xbd\x49\x2b\x24\x03\xa4\x94\x3d\x2a\x82\xa0\xe2\x64\x8c\x9d\xd9\x2b\xb7\x5e\x18\x75\x3c\xf6\xfe\xf9\x2d\xee\x90\xf6\x2b\xed\x6a\x98\xdb\x9f\xbc\xe2\xe2\xcd\x72\x9c\x74\x2d\xdd\xb0\xe5\xe2\x91\x10\x24\x88\x37\x7f\xfb\xcb\x39\xe5\xab\xae\x1c\xfd\x14\x00\xf0\xf4\xbd\x5f\xf4\x4d\xdf\xb1\x6e\xc2\xa6\x49\xcd\x8e\xfd\xc4\x2e\x30\x0b\x5d\x53\xce\x9d\x50\xc2\x63\x33\x11\x9b\x3a\xb1\xbb\x39\x53\x19\xb0\x6c\x3a\xc6\x0e\x8b\xe9\x77\xd2\xee\xa9\x73\x76\x4e\xb5\x5e\x8d\xaf\xa8\x6b\x5d\xc4\xb0\x5b\xfe\x32\x6f\xde\x0d\x83\xdd\xac\x1d\xa8\xdf\xbf\x76\x47\xc7\x67\xd7\x7c\xdc\x1c\xfc\xf8\xdd\x29\xef\x10\x67\x00\x5c\xbe\x9b\xbf\xe7\x77\xde\x09\xd9\x66\xb7\x16\xf9\xc7\x03\x60\x2b\x69\x6f\xe8\xf1\x67\x2a\x28\x0f\x45\x91\x04\x45\x33\x14\x7e\xfe\x44\x78\x8c\xc5\xfa\x6b\x45\x83\xba\xfd\x91\x20\x6a\x20\x41\x66\xd2\xa9\x64\x80\x28\xf8\x5e\x41\xd4\xa0\x67\x32\x50\x73\xa4\x02\x47\x6f\x82\x18\x5b\x47\x69\xc5\x05\xe2\x2d\xda\x60\x9a\x2d\xa0\xcf\xe9\x5a\x51\x36\x95\x24\x45\x97\x5b\x60\x44\xf2\x2a\xa5\x71\xee\xd4\xba\x65\x01\x7f\x85\xcb\x71\x59\x65\x77\x59\xac\xca\x5b\xd3\xb0\xfa\xbe\xa1\xee\xdc\xaa\x2e\xb9\x77\x76\xf3\xae\xf9\x62\xa8\xbf\x23\x35\xa3\xae\x22\x59\x9a\x4c\xfd\xfb\xee\x9e\xef\xae\xea\x84\x95\x7f\xb9\x65\xfb\xb2\xa9\x3d\x97\x6a\x07\x9f\x5c\xe5\xec\x2f\x66\x80\xd2\x33\xf0\x46\xf2\xa4\x6c\x95\xc7\xea\x61\x18\xa7\xd3\xcb\x4d\xf5\x84\x23\x9e\xf6\x6a\x75\x5e\x22\xd8\xb6\xaa\xa7\x65\x41\x73\x9c\x8d\x89\xac\x50\xa6\xa4\x42\xd5\xd5\xa1\xe6\xea\x85\x3b\xe2\x13\xcf\xbe\xec\x96\xbf\xf4\x3b\x57\x3d\x09\xd4\xa5\x3d\x53\x97\x6d\x2f\x64\xb4\x83\x7a\xc6\xb0\xcf\xab\x0e\xe5\xc8\xff\x33\x62\x59\xda\x50\xb7\x11\x71\x35\xb6\x1e\xa2\x1a\xf8\xe4\x49\x83\xa6\x58\x1e\xb7\xca\x99\x55\x69\x0b\x30\x2c\x69\x38\xf8\x02\x0b\xca\x11\xf8\x54\x22\xeb\x05\xe2\x1f\x71\xca\xef\xce\xd7\x4b\x41\x1a\xa2\x52\x20\xfc\xb1\x18\x20\x3c\x76\x32\xe8\xd6\xfe\x58\x2a\xcb\xa5\x30\xdf\x15\x79\xd7\x31\xb5\x95\xa4\x69\xd1\x97\x0c\x6b\x9f\xda\xcd\x26\x6d\x50\xec\xb1\xa9\x7d\x03\xc4\x86\xc5\xed\xe2\xcd\x64\xeb\x54\x72\xda\xd3\x52\x24\x22\x1c\x7c\x90\xa1\x61\xc8\xeb\x28\x75\x6c\x6f\x71\xcb\x72\x69\x45\x69\xdc\xf7\x51\x8f\x76\xae\xf6\x4b\x4e\x74\x57\x89\x82\xc5\xac\xf9\x4a\x18\xb3\xd8\x47\x6d\x57\x17\xaf\x58\x31\xfa\x3e\x07\x0d\xb0\x03\x1d\x33\xef\x50\xb0\x54\x8e\xf3\xd4\xfc\x06\x8c\xd3\x11\x17\xab\x19\x3a\x33\xec\x2b\xae\xd8\x1e\xce\x0d\xcb\xde\x03\xc6\x92\x0c\x95\xf3\xca\x23\xa4\xb1\xde\x3b\x8a\x0c\x62\x72\x6c\xac\xe4\x1a\xeb\xb9\x04\x7b\xe4\x22\xf9\x30\x17\x22\x85\xa8\x7d\x06\xff\x63\x61\x15\x4a\x21\xa2\x6e\x5e\x34\xfc\x98\x8e\x22\x67\x49\xab\x7c\x26\x4a\x14\xd9\xda\x8c\xd8\x6f\x09\x0e\x43\xba\x51\xa8\xbe\x2c\x55\xfa\xb7\xea\xcf\xcd\xb2\x77\xa4\x33\x31\x9c\xe8\x1c\xf1\xca\xe6\xcf\xab\xff\x56\x9a\x2a\xab\x77\x02\xea\x59\x0a\xb9\xa5\x3d\x80\x9c\xda\xd0\x8e\x9f\xee\xd8\xf1\x53\xd8\x57\x56\x5f\x09\xb3\xce\xd7\x4e\x73\xb8\xbc\xb2\xf6\x49\xa2\xb3\x33\x01\x4e\xd9\xeb\x72\xc0\x0d\xe7\x6b\xf7\x56\xd6\x97\x95\x7a\x20\xb7\x72\xa5\x96\xf3\x10\x43\xfa\x0d\x3b\x0a\x65\x25\xf5\xb2\xc6\x0d\x4f\xdc\xa2\xb2\x1b\xfd\x8a\x7d\xa1\xce\x0e\xe3\xb3\xa1\xfa\xfe\xfa\xf6\xce\x85\x9d\xc6\x5f\x7d\x7f\xfd\xea\x7e\x9c\xeb\x5f\xad\xed\x33\x4a\x43\xb4\x6b\x05\x9e\xbc\xa1\xd1\xd5\x46\x49\x5e\xd1\x6a\xf5\x3d\x71\x99\x66\x60\xfc\xc1\x70\xff\xea\xd5\xf0\xe2\x91\x72\x14\xde\xa3\x1b\x85\x11\x8a\x43\x2b\xc8\x8a\x3c\xc6\x6a\x87\x19\x16\x44\x29\x36\x7e\x82\x87\x82\x41\x27\x57\x5a\x53\x36\xbb\xc5\x13\x6b\x6e\x8a\x79\x5a\x66\x97\x27\x4a\x39\x27\x39\xf7\x98\x0e\xe6\x7d\x78\x43\xec\x1d\x0a\x7a\x21\xe2\x2f\x2b\xf3\x47\xc0\x1b\x1c\xea\x15\x77\x9e\xa0\x8f\xa8\x3a\x84\xe8\xdf\x51\x87\x90\x03\xf5\x20\x84\x0a\x84\x6d\x42\x00\x27\x5b\x21\x4e\x33\x06\x38\x94\x12\x37\x62\xac\x29\xc3\x2d\x38\x2e\x2b\x72\x1b\xe8\x7a\xa6\x1a\x37\x7c\x84\x29\xd5\x20\x9b\x37\x30\x7c\x28\xc3\x11\x57\x12\xa9\x91\x05\x37\xbc\xf6\xfe\x6b\x37\x2c\x28\xec\x60\x15\xe9\xd4\xde\xb4\x3b\x58\xed\xcd\x87\x2c\x21\xcb\x43\xda\x9b\xac\xc3\xae\xbd\xe9\x24\x29\xf3\x43\x0f\x99\x29\xd2\x09\x31\xbb\x83\x85\xd8\x43\xe6\x88\xf9\x21\x88\xb1\x0e\x3b\xc4\x8a\x27\xb1\xf5\xc8\x63\x16\x2c\xb8\x21\xe3\xa0\x86\xb4\x97\x9c\x16\x0b\x3d\xf8\x85\xdd\xfe\xc5\x20\x6d\xb1\x38\x21\x39\x44\x39\x38\xdb\x17\x5f\xd8\x9d\x0e\x6a\x08\x92\x85\xb3\x36\x5b\xe1\xac\xf6\xd2\x10\xe5\x70\xda\xbf\xf8\xc2\x56\xb4\xfd\x9e\xa2\xce\x43\x2e\x54\x87\x50\x5c\xef\xd7\xf4\x6e\x8d\x36\x7a\xc0\x54\x32\x16\xa7\xc9\x62\x57\xe7\xca\xc6\x0c\x4d\x99\x05\xb7\x41\xaa\x6d\x68\xe2\xe4\x47\xd9\xfa\x47\xb4\x17\x1e\x5a\xf6\xab\x43\x4b\xee\xfd\x70\xfb\x65\x40\x80\x3c\xa8\x5d\xb0\xef\x46\x6d\xff\x4b\x9b\xd6\x3d\x0b\xae\xeb\xaa\x38\x57\x78\xf6\x82\x5d\x07\xae\x3c\xe7\xcc\xf2\x20\xcb\xbc\x67\x7e\x08\xb2\x8f\x8c\xdc\xd1\xac\xfd\xe8\xf5\xed\x1f\xde\xbb\x64\xf3\x33\xff\xf7\xaf\x4d\x2f\x81\xff\xc6\xeb\x40\xfa\xf5\xb9\x34\x2e\x2f\x0f\x4e\x7b\x79\xdd\x95\x07\x76\xa5\x5c\x41\xb6\xac\x80\x6d\x46\x8f\x14\xd7\xb4\x2b\x8b\x1e\x8c\xc6\x72\x7e\xf8\x38\x3f\xfe\xe3\x62\x5b\xda\xc7\xa1\x69\xe0\x25\xe3\xbf\xe0\x76\xd9\x7b\xc0\x38\x43\x23\xaf\x8c\xef\x2c\xc0\xff\xa1\x51\x03\xe9\xc3\x58\x85\x85\x3b\x8f\xe0\x70\x18\x38\x1e\xa1\x43\xc3\xf4\x10\x35\x82\x3a\xd1\x64\x23\x12\xaf\x12\x04\x46\x12\x05\xa3\x19\xb0\x64\x94\x8b\x72\x91\x04\xae\x19\xa3\x5e\x6c\x83\x22\xe9\x43\x13\x70\x8a\xfe\x7d\x04\x0d\x84\xa0\x22\x40\x10\x84\xd3\xd9\x90\x48\x0f\xc9\xde\x7d\x5d\xaf\xf0\xbc\x2b\xeb\x7a\x8e\x12\xda\x3b\x4f\xae\xcd\xa5\x4e\xeb\x69\x62\x1d\x8f\x0a\x7e\x0f\xcf\x13\xdc\x0b\x8d\x05\xb8\x8f\x3d\xbc\x9c\xe6\xf7\x10\x7d\x7b\xf8\xb4\xcc\xef\xd9\xe7\xd5\x26\xe6\x73\x8f\x83\xe5\x71\x3c\x3f\x2d\xdf\xbb\xfe\x37\x7c\x9a\xe7\xf9\x67\x29\x67\x79\xc8\x4b\xe4\x46\x73\x3e\x45\xb1\xb3\x2f\xbb\x9d\xae\x8c\xf0\xb7\xb5\xc3\xba\x60\x72\xe1\xc6\xc2\x63\xb4\x3f\x62\x74\xc1\xe3\x8f\x23\x04\x87\x0e\x21\x60\xce\x25\x27\xa1\x0b\x0c\x9f\x41\x9a\x61\x71\x00\x1b\x40\x1a\x01\xcc\x42\x94\xa2\xe5\x1a\x48\x10\x0c\x4b\x4a\x82\x41\x81\x11\xa5\x75\x09\x13\x04\x56\x0c\xb4\xad\x54\x3c\x00\xfa\x18\xa9\x6f\x03\x44\x52\x6d\x25\x0d\xec\x08\xc3\xe0\xd2\x5b\x8a\x14\x20\x04\x03\x0f\xc6\x98\x15\x6f\xc5\x6a\xb6\xb0\xfe\x81\xa5\x78\x56\x94\x98\x73\xa5\x3d\x9e\xf2\xb2\x40\x90\xe1\x13\x11\x12\x2e\x49\x12\x0c\x63\xaa\x90\x0f\x21\x4f\xbb\x20\x04\xfa\x1b\x3a\x3c\x84\xc5\xc3\x3b\x80\x21\x49\x57\x74\xdd\xa4\xab\xd7\x2c\xf2\x94\x58\xa2\xa7\x2f\xbb\xa4\x99\x26\x48\x47\x05\xb8\x6c\x22\x45\x39\x4d\x42\xda\xe1\x2c\xcd\x56\x96\xf9\xed\x98\x76\x99\x2d\x14\x66\x19\xba\xa4\xd9\xee\x72\x8a\x99\x9f\x0e\x64\x04\x1f\xcb\x60\x02\x03\xcd\xb1\x26\x57\xa4\xa2\x35\xde\x5c\x43\xda\x28\x12\xd3\x82\x05\x42\x4a\x92\x26\xbe\x68\x7f\x37\x94\x49\x55\x34\xf8\x2a\xaa\x82\x18\xef\x98\x4f\x39\xe4\x40\x09\x49\x09\x36\x9b\x7b\xf6\x84\x1a\x13\x50\x9e\xe8\x84\x4a\x47\x09\x4d\xf1\x04\x59\xde\xd1\xe5\xf1\x58\xca\x76\x0e\x03\x7d\x89\x53\xa4\x68\x1e\x63\x33\x49\x58\xdd\xc9\x95\xfe\xd2\xe6\xb9\x75\x7e\x0a\x4c\xb1\xc6\x65\x3d\x65\x9d\x76\x5b\xc4\x8c\x45\xde\xea\xc5\x60\xa3\xb8\x60\xb8\x31\x3d\x4f\xb6\xb6\x46\x6a\x82\x66\x4c\x7a\x2b\x17\xb4\x2e\xdb\x68\x71\x10\x04\x10\x04\x60\xca\x61\x36\xb8\x82\xef\xa1\x3f\xa7\xa6\x20\x8b\xd1\xe3\xd5\xa0\x59\x68\x39\x3a\x0f\xa1\xf8\x61\x9b\x58\x1f\x8d\x8d\xa4\x24\x66\xa5\x31\xbc\x4f\x29\x00\xf1\x04\xc4\x18\x9a\xd4\x3f\x44\x35\x1b\x8b\x0b\xac\xde\x2b\x26\x20\x93\x76\xa9\xd9\x98\x6e\x0e\x06\x20\x6b\xe0\xa2\xe9\x9f\xad\x61\x5a\xe2\x00\x14\x01\x43\xb3\x32\x43\x17\x4c\xca\xb8\x71\xcc\x38\xa4\x24\x40\x37\xd9\x75\x13\x1d\xdf\xee\x16\xa2\x91\x69\x6e\xd1\xd5\x3d\xe3\x2c\x93\xd9\xce\x96\x32\x5c\x80\x0d\x3c\x5c\xfd\xd7\x55\x2b\x67\xd4\xd4\xfc\x66\xc5\xaa\xc5\x60\x35\x0f\x6b\x87\x76\xbd\xad\xfd\x89\x35\x0f\x03\xec\x7a\x1b\xe2\x20\xf7\x5e\xf6\x73\x2d\xaf\xbd\xab\xfd\xfb\xb5\xed\xdf\xcf\xdd\x0d\xf3\x7a\x3b\xaa\x49\x9a\x75\xd0\xf4\xf7\x7f\x9f\xa8\xae\xc6\x14\x6b\xb1\x35\x2c\xec\x3e\x6b\x66\x09\x6f\xaa\x94\x24\x91\x11\xe6\xb6\x79\x2a\x48\xca\xeb\x69\x86\x59\x73\x52\x8a\x39\x99\xf5\x9a\xfc\xb1\xd6\xd6\xfb\xe6\xf8\x6b\x6d\x41\xff\xe6\xcf\x46\x23\x13\x1d\xac\x37\x1c\x99\x10\xf2\xdd\x60\xf7\x51\x94\xd5\x1e\x64\x29\xeb\xe0\x92\xa1\x58\x64\xef\xe2\x45\x0b\x7d\xa5\x0f\x37\x0f\x5d\x39\x91\x95\x3e\xdc\x55\xd8\xed\xec\xbe\x74\xc7\xb2\xd6\xae\xf5\x8f\x9e\xbe\x0e\xc8\xdc\xdd\xdf\xed\x6d\xbf\x9c\xb5\x61\x02\xe3\xa6\x96\xb6\x75\x76\xd6\x4a\x92\xae\xc6\xe5\x78\xf1\xe0\xe6\x7a\x49\x64\x4c\x95\x52\xdb\x90\x9d\xf2\x7a\x3c\xe5\x94\x7d\xfa\x50\x7e\x9d\xcf\xeb\x4a\xfa\x06\x1e\xea\x9e\x90\x71\xd1\xc1\xfa\x1a\xda\x3b\x65\xbc\x6e\xb1\x16\x99\x11\x8f\x4a\x11\x32\xf8\x6d\x5b\x41\x0d\x00\x70\x02\x66\x64\x2e\xed\x8a\x81\x93\x91\x71\x86\x13\x49\x17\x79\xc6\xbd\xcf\xfe\xe2\xde\x8b\x9f\x89\x44\x9f\xd1\x6e\xc8\xff\xfa\xe1\xbb\x20\x46\x66\x1e\xfe\x75\xfe\x41\x88\xdd\x15\x19\x1c\x9c\xf3\xc5\x65\x97\x7d\x41\xb5\x68\xbe\x51\xed\x3b\xa7\xbc\x0e\x9e\xc7\x61\xc2\xef\xf3\x15\xda\x3f\x5e\x3f\x05\x6e\x19\x85\x77\x02\xbf\xd7\x1e\x2f\x62\x3d\x23\x6a\x13\x8d\xd0\x4a\x84\x80\x25\x74\x55\x95\x46\x8c\x81\xf2\x91\x8d\xa9\x2c\x4e\x10\x4a\x2b\x04\xb0\x94\xd5\xd3\x94\x9e\xa6\x82\x90\xcd\x24\xa8\xac\x1a\x20\x59\xec\x00\x51\x60\x5a\x29\x51\x62\xf5\x0f\x99\xd6\x93\xd4\xa6\xd0\xdc\xc1\x65\xa7\x0c\x4e\x6f\x76\x72\x6b\xb4\x5b\x5e\xe1\xbd\x5e\x7e\x0f\x54\x2e\x89\x4d\x1e\x9c\x7b\xf2\xec\x93\xc2\x6b\x9f\xff\xde\xda\xb6\x92\x8c\x97\x11\x27\x75\x2f\x1e\x98\xdd\x5e\x4d\x4f\x3c\xef\xe4\xd9\x2d\xa9\xb0\x48\x91\x36\x93\x6f\x52\x7d\x9a\x95\x53\x3d\x67\x34\xc7\x28\x5a\x70\x99\x18\x00\x82\xad\xc9\xce\x5d\xbc\xad\x1b\x2b\x2d\xd3\x66\xcd\xec\x6b\xe2\x38\x29\x49\x7b\xa6\xf4\xaf\x3f\x6b\x27\xfc\xa4\xff\xac\x96\x10\xc1\x06\x4a\x2c\x96\xfd\xda\x97\xe0\x95\x4b\xe0\xb5\x27\x58\x97\xc9\x5e\xd5\xbb\xf5\xa4\x1a\x21\x3a\xad\xaf\x6a\xc7\x30\x10\x98\xe0\x4a\xeb\x7b\xd7\x4d\xf4\x73\x7c\x79\x53\x5b\x5b\x9d\xc3\xb9\xa9\x87\x16\x26\xf4\xae\x5e\x73\x49\x77\x49\x4f\xff\xfc\xb9\x27\x4d\xcc\x3a\x1c\xe4\x42\x2f\x23\xb5\x65\x1a\x83\x58\x9a\x76\xde\x40\x4b\xc0\x05\x04\x41\x5c\x71\x21\x23\x35\x25\x64\x5c\x87\x48\xe4\x3e\x84\xc8\x7f\x52\xc8\xf0\x24\x17\x8c\xf8\x2a\x43\xc3\x82\x82\xcf\x3e\xb8\xc3\x9c\xfe\x17\x77\x8f\x31\x32\x91\xff\x5c\x37\xa3\x41\x1b\xcd\x7f\x3c\x63\x1d\xf9\xfb\x83\x15\x63\x7f\xeb\x66\x10\xd3\x66\xac\x03\x5f\xe7\xac\xf5\xda\xbf\xc0\xbe\x7e\x56\x27\x4c\x3c\x84\x0e\xc1\xe4\x43\xe8\xd0\x0f\xba\xba\x66\xae\x5f\x3f\x4e\xcf\x2c\x41\x71\x7d\xd4\x44\x5f\x49\x63\x2a\x7e\x45\x70\x17\x99\x2b\x12\x99\x8e\x91\x6c\x16\x88\x4c\xef\xfe\xba\x40\x2f\xbc\xf3\x04\x7c\xa6\xf7\x7e\x5d\xc0\xd7\x51\x3a\x71\xb1\xac\x47\xb3\xb1\x8e\x27\x63\x75\x7d\x65\x59\x79\xbb\x36\xac\x17\xf0\x08\x15\x2b\x0c\xd9\xf9\xe1\xaf\x2d\xec\xbe\x62\x11\xa1\xcd\xec\x1f\x63\x64\xd5\x0e\x7d\x6d\x69\x8f\xd3\xdf\x0b\x73\xa6\x47\x8a\x79\xac\xfe\x7e\xdc\x6a\x03\x92\xbd\x02\x57\x08\x3b\xe3\x04\xaf\x0c\xe8\x6b\x02\xd4\x46\xf2\x39\xaf\x6c\x2b\x86\x8d\xd9\xe4\xd1\xe7\xbe\x45\x3c\x18\x83\x78\x14\x3c\x12\x87\xef\xfa\x0a\xc6\x80\xe2\x7a\x6e\xc5\xd7\xf1\x06\x14\xa3\xeb\x21\xf4\xb5\xf4\x01\x45\x1f\xf7\x45\xd4\x3e\xe4\x46\x59\x84\x40\x32\xd4\x31\x5d\x1b\x53\x25\x7d\x6c\x45\x29\x5d\x29\x95\x8c\xde\x88\x28\x00\x89\xa9\x06\xb9\xa8\x5b\xa0\x15\x3e\xec\x0e\x4b\xe1\xa4\xc4\x13\x87\x96\x34\x6a\xaf\x3c\x7e\xa3\xf6\xf9\x0d\xbf\xb9\x87\xdb\xb4\x0b\x98\xbd\x5b\x5f\x3b\x1b\xfb\x1a\x0f\x21\xbb\xb3\x8c\xfb\x58\x2b\xf3\xc4\x89\x21\x6c\x62\x67\x67\x3b\x07\x97\x75\xc7\xe1\x2e\x6d\xb9\x13\x7e\x59\xc6\xed\x87\x45\xbf\x7e\xf0\xcf\x37\x80\xf9\xc6\x87\xa1\xa2\x75\x47\xf6\xed\x0b\xf6\x6a\x5f\x6e\x7f\xcb\xbb\x36\xc7\x44\xe1\xad\xb0\x87\xb0\x72\x25\xa9\xb6\xc1\xce\x09\xdf\x61\xb4\xb7\x73\xb9\xa8\xd6\x70\x02\x5e\x9f\xac\x22\x13\xd9\x54\x92\x61\xc1\x70\xa7\x94\x0b\x53\xba\x52\x21\x36\x4b\x12\x53\x49\xde\x75\x9c\x77\xa2\xcd\x72\xef\xdf\x67\x54\xc9\xb3\xac\xe4\x0f\xa2\x95\x8a\x3d\x14\xd8\xde\xb4\xdc\x77\xba\x2f\xdd\x67\x6d\x48\x3a\x9a\x1d\xdd\x43\x37\xfd\xf5\xcd\x03\x47\xbd\xcf\xed\x7f\xa0\x4d\xda\xbf\xf8\xa1\x86\x37\xef\xce\xfe\xea\x49\x1b\xb3\xc8\x33\xe4\xe9\x4a\x3f\xa8\xfe\x49\x7d\x10\x64\xf0\xc1\x79\x47\xad\xa0\xc1\x61\x1e\x0c\xdd\xfe\x15\x30\x59\x30\xc3\x0e\x3b\x18\xb5\x41\x66\x7c\x7a\x2c\x0c\x2b\x9e\x15\x4b\x41\x60\x28\xf7\x58\x82\xcb\xa2\xe2\x49\x32\xf7\xa4\xf6\xc4\xcf\x86\x59\xd7\xeb\x04\x6d\x31\xdb\xa5\xf7\xc6\xf6\x2e\x76\x98\x75\xc1\x7a\x87\x57\xd2\xd6\x17\x77\x4f\x00\x69\x1c\xc5\x23\x3f\xd3\x9e\x78\xd2\xc5\xe2\x53\x3a\x81\xb6\x38\x73\x92\x69\xd2\xa2\xc3\xa9\x03\xba\x55\xf9\xf0\x59\x94\xa0\xe7\x36\x2e\x1a\x4b\x68\x25\x76\x10\x9e\x62\x5d\xae\x71\xb1\xdf\xd1\x22\xfa\xb4\xbb\x18\x66\x54\x10\xe6\x70\x67\x74\x78\x55\xec\x5b\xc6\x83\x6b\x05\x56\x4b\x6d\xd8\x30\x7e\x87\x0a\x31\x28\x43\xdf\x18\x1d\x7e\xdc\xf5\xc6\x93\xbe\x2e\x5a\xbc\x18\x17\x6b\xca\x51\x08\x29\x06\xe3\x5f\x7f\x61\xf5\x2d\x53\x30\x82\x13\x50\xa0\x35\xce\x36\x41\x26\x95\x94\xc2\x86\x06\x63\xb8\xa2\x02\xa3\x8a\x02\x23\x65\xd3\x0a\x84\x69\x26\x42\x3b\x00\x58\xa8\x04\x22\x95\x24\xa2\x7c\x2a\x29\x4a\x10\x20\x53\x54\x58\xc6\xa7\x9f\x79\x73\xae\xdd\xce\x33\x8d\x53\xa7\x36\x32\xbc\xbd\x3d\x77\xf3\x99\xe4\xbc\x8a\x6d\xce\x79\x9b\xaa\xab\x37\xcd\x73\x6e\xab\xa0\x33\x99\x19\xdd\xdd\x07\x67\x11\x9f\xbf\xf1\x71\xc3\x6a\x9f\x5f\xdb\xe7\x9d\x57\x3d\xb4\xa8\xf4\xa6\x9b\x4a\x17\x0d\x25\xe6\x7a\x21\x44\xb2\x35\xc9\x9e\x18\x3c\x3f\x6a\x3e\x0b\x86\xdb\xdb\x6b\xc2\x9e\x12\xcc\x79\x38\x5c\xe2\x09\xd7\xb4\xb7\x33\x22\xe1\x48\x55\xc5\xaa\x52\x0e\x42\x64\x46\x63\xab\x63\x81\xda\x2b\x6b\xb5\xdf\xcb\x15\xb5\x1e\x8f\xb6\xcf\x2b\xc3\x2b\xb0\x0f\x5e\x91\xbd\xda\x3e\xd2\x1e\x2e\x71\xf7\xb7\x17\xbf\x8f\x1c\x8d\xd0\x80\xe1\x9f\xac\x7f\xac\xba\x85\x58\x58\x45\xaa\x01\xea\x48\x72\x8c\xa0\xa1\x0d\x88\x23\x49\xa5\xe8\xc6\x1a\x84\xf8\x91\x64\x11\xde\x8e\x76\x00\xaf\x66\x21\x4e\x50\xd4\xc7\xad\x27\x2d\xba\xaf\x9e\x99\xd9\x54\x33\xd5\xa1\x6a\x2f\xa8\xa6\x99\xcd\x35\x7d\x0e\xf5\xba\x52\x77\xcb\x0c\xb5\xea\xc6\xe5\x37\x7a\xc5\xe6\x01\xb5\xea\xa6\x4c\xe1\x44\x16\xb2\x59\xd3\x2c\xfd\xe2\xcc\x6d\x6e\xb1\x79\x56\x73\xd5\x4d\xcb\x77\x7b\x46\x47\x21\xbb\x5c\x7b\x01\x7f\x31\xa3\xe5\x3b\xe1\xa6\xbb\xdc\xde\xa6\xd9\xd9\xea\x3b\x56\xec\xf6\x48\x7a\xe2\xf6\x8c\xb9\xbf\xa5\xa6\xcf\x91\x81\x86\xac\x69\x86\xfe\x94\xcc\x2d\x1e\xa9\x79\x56\xb6\x7a\x78\xf9\xb0\x7e\x89\x5a\x75\xab\x4a\x4f\x6f\xaa\xee\x71\x64\xb5\x5f\xd4\x9b\xb4\x03\xcb\xa1\x69\xe5\xb1\x73\x35\xe5\x86\x27\xd5\x31\x3e\x22\xc0\x15\x89\xec\x1b\xa0\x48\x65\xaf\x14\x5b\xec\x58\x03\x2e\xe2\x65\xd0\xc9\x56\x4a\x8d\xb7\xc2\x78\x27\x12\x62\x5f\x30\x1c\x79\x36\x73\x72\x67\xe7\xc9\x35\x4f\xd5\xd8\x2a\x2c\xf5\x65\x44\x7b\x59\xbd\x5a\x3e\x3a\x52\x56\xdf\x12\xaf\x79\x58\x21\xfc\xac\x9f\xf7\xb8\x05\xb7\x87\xf7\xb3\x7e\x02\xac\xd1\xb6\xa3\x7d\x4d\x0e\xee\x83\x87\xa2\x82\xb8\x35\x36\x61\x42\x68\x63\xc8\x24\x9b\xb4\xbe\xb2\xfa\x7a\x7c\x5a\x79\x63\x7d\x59\x7c\x7a\x49\x68\xad\x17\xf3\x66\xce\x6c\xa1\x28\x8b\x99\x33\xf3\xf8\x47\xd2\x74\x34\xb6\x96\x68\xc4\x1e\x50\xa8\x0d\x4d\x42\x33\xd0\x77\xd0\x1a\x84\xf8\xb4\x0a\x32\x36\x10\x32\x09\x63\xe9\x47\x76\x14\xe6\x34\x74\xdb\x89\x3f\x7c\x28\x22\x47\xb3\xb1\x54\x92\x94\x0a\x21\x9e\xb4\x24\x52\xbc\x28\x19\x63\xa0\xe8\x16\x30\xc3\x67\x33\x69\x14\x22\x45\x97\x13\xd3\x64\x28\x26\x63\xa7\x2b\x8b\x42\xb1\xac\xcb\x89\xe5\x58\x88\xa4\xb1\xd3\x25\x9e\xd7\x05\xab\x7e\xf1\x11\x65\xa2\x1c\x26\x1f\xd9\xa7\xbd\x9f\xa8\xe0\x59\x9e\x7f\x71\xca\x79\x36\x8e\x26\x1c\xb6\xfe\x0d\x3f\xd4\xfe\x51\x3c\xc6\x84\x2c\xcb\xe1\xa4\xe7\xae\x00\xeb\x72\x8b\xda\x4b\x92\x36\xda\xc5\x88\x44\x9b\x46\x7f\x08\xe4\xd6\x6d\xab\x97\x13\x9b\x17\xbf\xf2\xe3\x7f\x36\x8d\xde\x06\xa7\x43\xdf\x27\x3b\x77\x7e\xa2\x3d\xa4\x5d\xa9\x3d\xa4\xa7\x60\x16\xcc\x87\x96\x77\x2e\xbc\xf0\x1d\xed\x19\xed\x4e\xed\x19\x3d\x85\x73\xb7\x5f\x3d\xca\x2f\x86\xb3\xc0\xc4\x2b\xcd\xfe\xf9\xf6\x43\x88\x68\x24\x28\x1c\x2e\x05\x0b\x98\xc1\xe6\xe2\x59\x30\x69\x8f\x69\x26\xa2\x7d\xec\xe8\xf0\xe3\x2b\x86\x66\xa8\x36\x0f\xef\x73\x04\x6c\x31\x6a\xe5\xab\xf9\x8d\x34\x55\x15\x22\x07\x7e\xf4\xcc\x6f\xb4\x5b\x96\xe0\x3b\xef\x5e\x59\x81\xd3\x47\xfd\x70\x9f\x51\x98\x2f\x1f\xbd\xf0\x1d\x68\x39\xa6\x0c\x87\xb9\xa0\xf4\xfa\x77\x21\x9f\xae\x41\x50\x72\x4c\xff\x46\x62\xaa\x9b\x26\xdd\x02\x29\x71\xc0\xc7\x55\x59\xc9\x90\x12\xd9\xaa\x7d\xb2\x5f\xfb\xc1\xef\x7f\x05\x8b\xde\x78\x43\x7b\x0f\x32\xef\x13\x7b\xe2\xf9\x7f\x5d\xb1\xfe\x56\x70\xff\x9a\x46\x07\x50\x4e\xd8\x9d\xdf\xf5\x83\xcf\x77\x7b\xef\x93\xf7\x5d\x7a\xed\xbb\x01\xaa\x5f\x6b\xd3\x36\xad\x3d\x69\x62\xe9\x7d\xe1\x2d\x63\x3e\xe6\x06\xef\x94\x0d\xc9\xa8\x16\x21\x33\xb8\xa3\xc5\x26\x1c\xcd\x40\x98\x4b\x71\xe3\xfe\x8e\x60\xc7\x51\x63\xc9\x14\x31\x42\x8c\xe4\xca\xfd\x07\x2c\xfe\xf2\x1c\x20\x40\xb9\xb1\x7f\x4d\xfe\xf2\x2f\x73\xe5\xfe\x26\xba\xc9\x5f\xfe\x45\xae\xdc\x4f\x23\x2d\x57\x40\x00\x39\x84\xf2\x88\x18\xf7\x57\x80\x27\x1d\x91\xbd\xfa\xf9\xa2\xfc\xe6\x42\xec\xba\xae\x2f\xf0\xa2\xd1\x50\x54\x9e\x12\x93\x6a\x91\x6f\x2b\xce\x02\x23\xba\x05\x86\x2f\xfa\x78\xca\x2a\xaf\x77\xb6\x59\x35\x3e\xc6\xeb\x45\x7f\xe4\x22\xef\xd3\x7e\xaf\xed\xd6\x7e\x7f\x1f\xe9\xc2\xad\x62\x5a\x24\xfb\xc5\x83\xc3\xa4\x8d\xcc\x9f\x55\x59\x4f\xb7\x35\x36\x62\x8b\xd9\x31\xe2\x30\x5b\x70\x63\x63\x87\x75\x8e\xf6\xa0\x28\x92\x43\xa4\x8d\x24\x87\xf0\x13\xda\x2f\x26\x9c\x33\x61\xc2\x39\x13\xa0\xf9\x61\x86\xc1\xce\x84\x49\x1b\x06\x78\x29\x72\xc3\x69\xb1\x9e\x09\xb2\x36\x9d\xb5\x5a\xad\x56\x16\x7e\x22\x4f\xe8\x91\x5f\xde\xbc\xcc\x94\x30\xc1\x10\x80\x36\x8c\x00\x9d\x71\x28\x47\x5d\x51\xf0\x69\x01\x5e\x8e\x46\x18\x5e\x46\x58\x11\x53\x49\x35\x00\x2e\xa9\x95\x50\xf5\x64\x1d\x4b\x30\x34\xb1\xc0\xde\x5a\x59\xde\x6e\x2f\xd3\x0e\xdd\xbf\xa8\x31\x59\xd5\xd5\x76\xc9\xcf\x2b\xe2\x97\xcf\xdf\x50\x93\xcd\xd4\x37\xfa\xdb\xa3\xd3\x2c\xbb\x70\x57\xbe\xc5\x6a\xc5\xcf\x4c\x80\x67\xa1\xec\xfb\x0e\xc7\xaa\x0f\xb5\x5f\x4c\x68\x79\xef\x8a\x17\xe7\xb0\xac\x72\x4a\xe3\x77\xb9\x2f\x8a\x9c\x38\xd4\x5f\x8c\x31\x14\x41\x58\xff\xca\x0a\xf3\x5d\x4e\x57\x36\x96\x0a\x49\x8c\x1c\x8d\x18\x4a\x5e\x2a\xd9\x4a\xa8\x61\x02\xe1\xd7\x6c\x8f\x68\x3f\xfe\xe3\x4d\xda\xfe\x97\x36\x6e\x7c\x09\xfc\x37\x41\xd5\xeb\xbf\xd9\xfc\xe8\xb6\x3f\xe5\x72\x7f\xda\x36\x67\xd7\xe0\xc4\x30\xad\xf5\xe1\x8f\xba\x5a\xde\xd0\xee\x1d\xd1\x2f\x80\x46\xf0\xbf\xb4\xf1\x57\xbf\x5a\xbf\xfd\x6d\xed\x8b\xb7\xb7\xd7\x4e\x5e\x38\x10\x2f\xf8\x95\x15\xfa\x09\x27\x2a\x41\x11\x34\xcd\x58\x8d\x10\x19\x3a\xa4\xc8\x86\x13\x7d\x2a\xa9\x66\x93\xb1\x22\x60\x73\x92\x2a\x6a\x9c\xa2\x9a\x96\x23\x8c\xac\xf0\x92\x20\x26\xb3\x06\xb6\xa9\x22\x33\x04\xcd\x14\x03\x3d\x24\xda\x2d\x90\xa9\x64\x2c\x93\x56\x5a\x21\x36\xae\x97\x88\x85\x48\x91\x9c\xe4\x74\xb6\x6a\x1f\xb5\x3a\x9d\xb4\x8b\xae\xdd\xb8\xa1\x8e\x76\x69\xaf\xa6\x7b\x33\x99\x5e\xf8\x59\xa6\x37\x9d\xee\xcd\x1c\x9c\x78\x6a\x6c\xfb\xc3\x6d\xcf\xeb\x07\xe3\x59\xef\x5b\x3c\x3d\xe1\xa1\x6d\xd1\x74\x72\x62\x3c\x48\x83\xe7\xd9\xe7\xc0\xc3\x04\x62\xb0\xe4\x04\xdf\x23\xac\x71\x3a\x5a\x5b\x1d\x4e\x9a\xae\xab\xa3\x7f\xd7\x9b\x4e\xc7\xe5\xf4\xfc\xb8\xfe\xcc\xf4\x40\xdd\xc4\xd8\x7c\x1a\x7c\xd5\xf1\x74\xa6\x37\x93\xac\xa3\xdc\xda\xf3\xcc\xfc\xf8\xc4\xba\x68\xa3\xc3\x57\xba\xf3\x85\x17\x76\x86\x4a\x1c\x0d\x8f\x1f\xf3\xc0\x9d\x3b\x3f\x39\x1a\x07\xcb\x61\xb0\x39\xe9\xfd\xa9\x51\x4f\x91\x62\x3d\xe9\xd5\x14\x1f\xab\x26\x91\x3a\x9c\x52\x8d\xca\x91\x15\x55\xd2\xdf\xdd\x57\x54\x55\x21\xda\x5e\x39\xde\x6f\x89\xb8\xd7\x6e\xcf\x7c\x90\xb1\xdb\x29\x27\x55\xf1\x52\x05\xe5\xd4\xb4\x44\x6b\xa2\xba\xbd\x1a\x06\x0a\xfb\xd7\x9b\x2b\x2b\x82\x6b\xae\xcf\xde\x0b\xd5\xc1\x50\x75\x75\xa8\xd6\xfd\x24\x47\x36\x5f\xbf\x2a\x50\x55\xd9\x1c\xf2\x52\x9f\xdc\x7d\xcf\x27\x74\x49\x10\x52\x47\xe1\x4f\x5c\x63\xb7\x67\x32\x76\x3b\x4d\x57\x54\xd0\x57\x07\x13\x09\xe3\xce\xe2\x7e\x52\x45\x73\x70\x1a\xf9\x2f\x25\x54\x55\xdd\x5e\x5d\x59\x41\xb9\xb4\x7f\xd3\x53\x43\xcd\x15\x81\xa4\xbd\x44\xda\xb4\x67\xcf\xa6\x12\x8f\xbd\x0e\xf6\x9f\xd8\x2e\x09\xa0\x5a\x03\x91\x59\x2d\x82\x8f\x1d\x76\x4b\x31\x04\x2c\xb8\x9c\x94\x02\x95\x29\x3a\xaa\xb4\x00\xa3\xb8\xf5\x06\x74\x94\x9b\xe4\xc9\xf3\xcf\x1a\x3e\xcb\x2f\xfb\xae\x59\x37\x30\x63\x9d\x4f\xe0\x7d\x70\xd1\xd5\xfa\x6e\x7e\xf3\x59\xb7\xad\x83\x19\xc7\xda\x2f\x7b\x7d\xad\xd3\x57\xaf\x9a\xae\xbd\x23\xf8\x7c\xc2\x86\x4d\x03\x6b\xd7\xf4\x83\x87\xf7\xfb\xf9\xec\xdb\x9b\xb6\x0a\x3e\x3f\xbf\xd9\xeb\xdf\xdc\xbf\x76\x2d\xec\x39\xd6\xaa\xd1\xfb\xa8\xdb\x99\x1c\xb5\xc8\x28\xb7\x81\x8b\x54\x28\x74\x21\xc4\xfe\x30\x79\xbd\x51\x68\x86\x0a\x8f\x9d\x91\xd4\xc2\x29\x52\x6e\x9e\xd9\x3c\xfa\x93\x07\x0e\xc2\xe4\xe6\x99\xcd\xf9\x1f\xdf\x3f\xfa\x0c\x5c\x0a\x93\x0f\x3e\xf0\x93\xd1\x1d\xcf\x34\xcf\x6c\x26\xea\xcf\xa9\x68\x6e\xae\xc8\xdf\xf8\xe3\x2f\x0e\x3e\x00\x16\xed\x40\x65\x53\x53\x25\x3e\xfd\xde\xcf\xfe\x7d\xdf\x85\x8d\xb7\x6a\xff\x7d\xe0\xe0\x97\xf7\x83\xad\xa5\x51\xfb\xac\xa2\xa9\xa9\x62\xbc\xbd\x62\x47\xa5\x08\xc5\xb9\x30\x17\x2e\xd0\xa3\x9e\x40\x3f\xa6\x46\xf2\xed\x5a\x68\xd1\x0e\x3c\x02\xfb\x16\xed\x68\x1f\xff\x7e\x87\x61\x1f\x1e\xd9\xb1\x48\x0b\xe5\xdb\x77\x90\xa5\x47\x3b\xec\x99\x10\x42\x5e\x13\x22\xdf\x45\x14\x32\x23\xbb\xc1\x4d\x56\x8a\xe2\x06\x6e\x8e\x3e\x3c\x84\x4b\x20\xca\x01\x97\xe2\x08\x77\x2a\xc3\x87\xb9\x70\x26\x9c\x09\xc7\xb9\x28\x07\xe3\xd3\x93\x7f\x9d\xff\x00\x26\x6f\x86\xeb\x5e\x7c\xf1\xc5\x01\xec\xce\xff\x13\x26\x6b\x8f\xe9\x07\xae\xc7\x42\xfe\x03\x98\xa4\xed\x85\x49\x9b\xc9\x77\x47\xcb\xf1\xde\xfc\x3f\x61\x8d\x76\x29\x76\xe7\x27\xe1\xbd\x10\xf8\xf5\xaf\xb5\xbf\x8e\x0e\xdc\x3e\xb0\xbb\x70\xf0\x70\x72\xdc\xf7\x65\x36\xb0\x51\x6b\x51\x7b\x81\x7f\xa7\x10\xf3\x31\x2e\xe5\x2c\x02\x79\x33\x9c\x9a\x11\x53\x49\x6c\xe4\xa3\x85\xcc\x71\x86\xb8\xd8\x97\xa9\xf4\xf9\x2b\x32\xda\x7f\x8a\x09\xbc\xf5\xfe\x73\x05\x5e\x52\xe7\x6c\x79\x35\xd5\x79\xee\x5d\x3f\x39\xb7\xb7\xeb\xa7\xaf\xaa\x2d\xe7\x12\xd2\x51\x4e\x94\xdd\xb9\xf9\x0e\x70\x73\x30\x23\xb7\x40\xdf\xe7\xeb\xc0\xf6\x14\x31\xad\x71\x31\x9d\x3f\xbf\xfc\x25\x1e\x2f\x07\xdb\x53\xb1\xd1\xc7\xca\x5f\xe2\xe1\x8b\xa3\xeb\xd7\x82\xca\x0f\x99\x99\x17\x69\x84\xb6\xa3\x27\xd0\x0b\xe8\x25\xf4\x26\xfa\x1b\xfa\x3b\x7a\x0f\x7d\x88\x3e\xd6\x6d\xd0\x00\x21\x05\xb0\xc4\x62\x26\x41\x45\x1d\x20\x4a\x01\x26\x08\x22\x8b\x19\xb9\x10\x40\x92\x56\x5b\xb1\x22\x1b\x26\xaa\xe1\x79\x43\x16\x94\x6d\x7d\x48\x6c\x25\x0a\x16\xb5\x34\xa6\x61\x63\xba\x88\xd2\x81\x33\x69\x55\xd1\x3b\x10\x23\x46\x4e\x52\x59\x42\x52\x13\x8c\x92\xc0\x15\x10\x8d\x30\xad\x94\x1a\xc0\x6d\xe0\x96\xb2\x6a\xab\xa9\xad\xe0\xb3\xc4\x62\x26\x00\x6e\x81\xd0\x1f\x18\x20\x0a\x9a\x9d\x2a\x31\x50\x00\xa6\x56\x5a\x71\x0a\x18\x45\x3f\xc9\xa7\x24\x06\x32\x6e\x07\xb4\x61\xf2\xb9\x29\x17\x9d\xb2\xb4\xa3\x32\xbc\xa0\x79\x42\xed\xc6\x1b\x63\x55\xcd\x3e\x25\x71\x4a\x8f\x85\x26\xcd\x74\x15\x13\xa4\x5c\x04\x0d\x00\x8c\x89\x23\xa2\xe7\x87\x94\x30\x26\x70\x93\x0a\x1e\x3e\x76\x4d\x4b\xc9\x69\xab\xfd\xb4\x5b\x0b\x04\x9d\x1e\x8e\x85\x77\x4d\x56\x37\xef\xa3\x48\x89\x76\x78\x99\xdb\xcd\x5c\x09\xe7\x78\x04\xe0\x0e\xb1\xe6\xb2\x1a\xb5\xc6\xd2\x5d\x49\x0d\xb4\x56\xa9\x15\x82\xdb\xe2\xb1\x25\x89\xb2\xea\x28\xb4\x50\x1c\xc3\xd2\x16\xc6\x4c\x32\x0e\xaf\xab\x86\xdd\xba\xc0\x59\xd6\xdd\x56\x3a\xc9\x64\x0b\x85\x44\x9b\xf8\xf9\x16\x7f\x55\x79\x49\x84\x8d\x5a\x2b\x4d\x0c\x2e\x9f\x3e\xfa\x10\x5b\x5f\xc5\x11\x95\x9f\x2b\x7b\xb3\x66\x5f\xa9\x54\x82\x37\x6e\x6e\x69\xd7\xbe\xac\x3d\xa3\x07\x6e\x25\xa2\x0d\xa9\x7a\x92\x71\x4f\xef\xf0\x6b\x13\x86\x68\x4b\xb5\x8d\x7f\x35\x68\x29\x27\x36\x02\xd6\xff\x5f\x4c\xd4\x4c\x5c\xff\x9d\xc9\xf5\x2b\xd4\x96\x80\xda\xe6\x8c\xdf\xb8\xe7\x89\xab\xbe\x83\x49\xca\x4c\xc5\x99\x52\x5b\xa0\x24\x2e\x86\xbd\x6d\xe5\x7d\x0e\x70\x5b\x9c\xc1\x5e\xd1\xde\xd0\xe2\xc6\xde\xcc\xa2\xad\xd7\x09\xa4\x77\xb5\xe8\x74\x48\xc4\x0a\x56\xb4\x5b\x48\x0a\x83\x3d\xc4\xc5\x45\xce\x21\x12\x65\x4e\xef\xa3\xc3\x75\xb1\x08\x21\x78\x9c\x2e\xbe\xaa\xc7\x1b\x72\x12\xac\x3d\x16\x6c\xf7\x97\x94\x95\x61\xab\xe3\xf7\x94\xdb\xe4\xa0\x2d\x14\x85\x09\x12\x2a\x03\x61\x6f\xc2\x77\x92\xd9\x5c\xed\x07\xe8\x83\xc5\x8b\xdd\x31\x45\xaa\xe6\x1a\xf8\x3e\x87\x39\x33\xfb\x8e\xe7\x2a\x09\xb3\xc5\xcc\x67\x19\xeb\xe8\x4c\x6f\x65\x30\x9b\xa8\xa7\xaa\xad\x44\xcc\xf6\x93\x5a\xed\x15\x07\x30\x0e\xab\x89\x81\x4a\x6c\x67\xf0\x59\x02\x07\xb6\xfc\x96\x93\x6c\x74\x1d\x80\xf1\xe4\x82\x8d\xeb\xa2\x11\xf5\x11\x92\x50\x16\x2d\x42\x3b\x10\xa2\xe4\xe2\x6c\x48\x34\x52\x70\x1f\x37\xa2\x2d\x0d\xb7\xe6\xc2\x57\x66\xb8\xd4\x31\xa9\xa4\xe1\xb0\xa6\x66\x21\x9d\xc0\xba\x22\x12\xa5\x13\x84\x61\x16\x19\xa3\x5a\x6b\xc1\xf7\xd9\xf0\xf8\x12\x8a\x63\x7d\x26\xdd\x4a\xa9\x46\x93\x55\x8b\xf6\x11\x79\x29\xc5\x07\xd6\xf6\x6e\x6b\xa7\x4c\x56\x07\x03\xa6\xc8\xca\x93\x93\xe5\x73\x2a\x19\x5b\x15\x2f\x48\x99\x1a\x4f\x69\x9d\x97\x35\x73\x12\xe1\xa0\x59\xb3\x93\xe5\xad\xbe\xa8\xd5\x64\xa1\x2c\x12\xcc\xb7\x48\xd5\x81\x70\x6e\x7b\xcc\xd7\x33\x7d\xee\x6a\x75\xdd\x6e\x8c\xfb\x4a\xbb\x26\x36\x5c\x7d\xce\xa6\x90\x77\x5a\xc7\x24\x21\x5a\x13\xf2\x97\x66\xb6\xbc\xa2\xfd\x53\x7b\x45\x7b\xf7\xb5\x9c\xd2\x34\x30\x65\xa0\x86\x67\x7b\xa3\x2d\x81\x58\x95\x69\x5b\x43\xd5\x7d\x95\xee\xd8\xac\xae\x93\x54\x25\xc9\xb3\x62\xa4\x8e\xb4\xd1\x82\x25\xe4\x27\x08\x32\xec\x63\x6c\xe7\xd7\xb0\x0e\x8b\xad\xca\x23\x98\x18\x01\xdb\x49\x0b\x49\x13\xd8\xc1\x3a\x38\x9a\xb4\x41\x8d\x58\x5d\xed\x3f\x69\x26\x94\x35\x36\x96\x01\xdc\x70\xda\xea\xb4\xc0\x75\x4c\x6d\x07\x68\xe9\x69\x05\x22\x92\x28\xdf\xf0\xd2\x6e\xed\xef\x3f\x3b\x7d\xdd\x2f\xc1\x3f\x3c\xef\xae\x2d\x6b\xa6\xb4\x97\x5a\x4c\x71\xa1\xcc\xe3\x9f\x37\xe3\x06\xb9\x74\x9a\xcf\xee\x99\x30\xf9\x9c\xad\xf7\xa2\xf1\xd8\x5b\x01\xd4\x8c\xe6\xa3\x0d\x08\x81\x03\xb3\xa0\x8c\xc5\xf3\xaa\x72\xb6\x0d\x24\x86\x16\x24\x31\xd9\x46\x10\x12\xa3\xc8\x11\x5a\x08\x12\x4c\x0d\x4e\x80\x9a\x28\xe0\x08\x89\x52\x56\x2c\x04\x91\x2a\xb4\x5c\x03\xaa\xa4\x2b\x60\x35\x84\x1a\xc4\x01\x60\x02\x40\x08\x34\x23\x1a\x91\xc3\xd9\xb4\x1c\x71\x10\x4a\x1b\x6e\x05\xc9\xe8\x38\xc8\xc4\xf0\x35\x81\x8e\x3d\xb3\x9c\xab\x7b\x66\x6d\x98\x37\x41\x4c\x74\xd8\xae\xb1\xc6\xe3\xf1\x65\xf1\xc0\x35\xb7\x3e\x65\xbb\xd6\x16\x5f\xd6\x1b\x2f\xbd\x76\xf8\x9a\x5b\xaf\x09\x74\x57\xf9\x26\xce\xdf\x30\xab\x6f\x9d\x6d\xe6\xbd\xc4\xd2\x0d\xb3\x7a\xd7\xb2\xb3\x1f\xef\xb6\x5e\x63\x5c\x13\xb8\x76\xf8\xda\xe1\x6b\x4b\xdb\x6b\xdc\x7d\xa7\xe1\x25\x7d\xde\x44\x97\xed\x1a\x5b\xbc\x77\x99\x71\xe2\xd6\x6b\x4b\xbb\x1e\x9b\x6d\x5d\x37\x6d\xd6\x06\x78\x79\xf8\xda\x40\x7b\xc2\x3d\x71\xfe\xc6\x59\x93\x57\x3b\x67\xff\xa8\xc3\x76\xad\x35\xbe\x4c\x8e\xeb\x17\x62\x97\xfe\x8b\xbd\xcb\xf5\x5f\xbc\x76\xf8\xda\x40\xd7\xde\x39\x8e\xd5\x3d\xb3\x36\x9e\xdc\x2b\xd4\x1c\xbc\x6a\xd6\xc6\xc1\x49\xfe\xaa\x6e\xe3\x92\x65\xc5\x1f\x0c\xb4\xef\x99\x65\x5d\x47\x4a\x53\xcf\xb2\xce\x7a\xb4\xab\x58\xde\xe2\xa9\xae\x6a\xef\x94\x25\x1b\x0b\xbc\x1d\x05\xcc\x8c\x09\x68\x2e\x5a\x80\x16\xa3\xa5\x68\x05\xba\x08\xdd\x8e\x10\xe8\xd5\x65\xb8\x7e\x16\x9c\x39\x95\xa2\x87\xa2\x2a\xeb\xdd\x21\x2d\x14\x1c\x39\x15\x59\x31\x82\x8e\xb3\x29\xfd\x24\x96\x44\x46\x30\x7c\x3c\x0b\x2e\x9b\x84\xe1\xa0\x19\xd5\xaf\x52\x8d\xd5\x30\x35\x49\x49\x0a\xc4\x39\x0a\x24\x42\x21\x24\x55\x02\x8a\x03\x89\xd1\x7f\xc2\x40\x84\x29\xcc\x8b\x18\xf7\xa6\x92\xc6\xc7\x05\x9c\xb1\x94\xad\xa4\x15\xce\xf0\x6e\x51\x39\x2a\x59\x05\xa9\xa4\x9b\xc3\x3b\x41\x12\x84\xaa\x4a\xa6\x9b\xec\xea\x9a\xe1\x21\x83\x04\xdd\xe7\xde\xc6\x72\xdd\xd8\xb4\xc4\xa4\x04\x30\x06\xca\x2b\x79\x5c\x16\x12\xe8\xb8\xb5\xb1\xe6\x54\x6c\xe9\xb4\x9a\x4b\x48\x12\x13\x25\x7e\xa2\x24\xdd\x6e\x3b\x97\x22\xed\x2f\x13\x8c\x4d\x0e\x04\xbc\x12\x4b\x02\x11\x16\x6a\x63\x3c\x87\x9f\x6a\xfb\xfe\xc1\x2f\xf0\x23\xf9\x5e\xf2\x8d\x25\x0f\x9f\xfa\x87\x25\xd5\xaf\x6a\x09\xdc\xa2\x1d\xb8\x39\x5b\xb6\x7d\x57\x63\x78\xe6\xf4\x4f\xdb\x4c\x16\x13\xe9\x0f\x93\x3d\x7b\x26\x2d\xbe\x6c\x96\x23\x18\xb7\xc0\x55\xa3\x07\xd8\x7c\x82\xb1\x53\x40\x00\xe5\x58\x59\x81\x13\x18\x5a\xa0\x89\x14\xe0\x05\x82\x31\x99\x85\x52\x2a\x83\x97\x4e\x5b\xec\xc0\x24\x26\xe7\x7a\x1e\xf1\x05\x2e\x32\x43\x04\x5b\x4d\x80\x39\xb0\x50\x0c\x43\x72\x34\x87\x69\xc2\xe9\x8c\xe2\x28\x49\x58\x00\x6c\x6e\x9c\x6c\xa0\x92\x33\xfc\x74\x1a\x43\x1d\xec\x73\xd8\x25\x87\x8d\x90\x1c\x5e\x82\x20\x49\xd6\x86\x77\xfd\xad\x22\x7f\xdd\x3f\x48\xd3\x7b\xf9\x6c\x10\x5f\x1e\xcc\xff\x23\x78\x66\x07\xd1\xf4\x18\x6c\x39\xc0\xd9\x87\x3b\x4f\x2a\xb1\x4d\x4b\x30\x66\x93\xd5\xe1\xc2\xf1\xba\xd2\x18\xc3\xb9\x69\x32\x77\xf0\x57\xff\xa5\xff\x65\x07\x4c\x66\xcd\x40\x53\x31\x16\x72\xcf\x9d\xb9\xd2\xad\x0d\x1a\xf1\xc6\x63\xd8\x0b\x0a\x52\xd1\x24\x34\x07\x2d\x45\xeb\xd1\xf7\xd0\x35\xe8\x2e\xf4\x28\x1a\x39\x3c\xd3\x73\x98\x1c\x96\x3a\x1a\xb2\x5c\xd7\x1f\x82\x10\x00\xf7\x11\x1a\xbd\x02\x1e\x3b\xf7\x0d\xf9\xff\xaf\xaf\xe7\x0b\xc0\x62\x61\x0e\x42\x9d\x83\x83\x9d\x39\x7d\x43\xed\x6b\x9c\x78\xf5\x8a\xd1\xe1\xce\xc1\xfa\x32\x3c\x5c\x36\xe4\xbf\xd6\x5f\x96\x0f\x19\x40\x47\x5f\xb9\x01\xf4\xff\x76\x7e\x68\xb8\xac\x3e\x9f\x23\x73\x83\x9d\x47\xd8\x95\x6f\x8f\x9c\x33\x21\x8f\x56\x5c\x3d\xd8\x49\xa3\xb2\xfa\x32\xff\xb5\xfe\xa1\xb2\x83\xb9\xc3\xb7\x01\x7b\xa2\xa4\x76\xc2\xa3\xff\xcb\x05\xb0\x13\x50\x7d\xd9\xb0\x86\x90\x50\xf0\xa1\xa7\x51\x71\xed\xa6\x0d\x4d\x47\x8b\xd1\x2a\x74\x9e\xc1\x20\xf8\x63\xf4\x33\xf4\x32\x7a\x1b\x7d\x8c\x0e\x81\x03\x82\x50\x03\x6d\x27\x98\xf1\x3b\x4c\x92\x58\xa8\x77\xee\x7f\xcc\x13\xff\xe3\xfb\xfc\x36\xed\xe3\x58\x20\x9f\xff\xd7\xe7\xfd\xff\xb3\x7c\x94\xe1\xac\x72\xb0\xe0\xa5\x32\x72\x84\x76\xe0\xeb\x37\xb9\x6f\x7b\xe1\x91\x0d\x46\xe3\x98\x89\xbe\xf5\x5d\x80\xfe\xf7\x5f\xa2\x91\xec\xfd\xd2\x98\xe7\xa2\x73\x5e\x59\x1b\x07\x39\xfb\xd9\x37\x25\x1f\xf8\x06\x08\xa4\x13\x27\x0f\xb2\x87\x81\x53\xf0\xff\x70\xdb\xe8\xff\x70\xed\x51\x30\x4c\x08\xa3\xf6\x43\x4e\x72\x84\x1a\x42\x41\xa4\x20\x64\x3e\xd6\xc9\x0e\xe4\xb4\x3a\xe6\x2c\x24\x89\xc2\x58\x94\x29\xb9\x5b\x7b\xb3\xe8\x5b\xa7\xbd\xe9\xf7\x97\x4e\xf7\xef\x87\xd5\xfb\xfd\xfd\x7e\xbf\x36\x5c\x70\xb0\x7b\x53\x7b\x73\xf4\x79\xc3\xb5\x2e\xa7\xe5\x0c\xd7\xba\x7a\x88\xe9\x17\xf8\xf7\xef\xd7\x6f\x78\xa7\xe0\x5b\x47\x15\xb9\x97\x73\xc8\x81\x4a\x8d\x55\xa3\x19\x08\x81\x50\xb0\x7b\x32\x69\xc3\x2e\x81\x02\x57\x0c\x14\x87\x50\x2a\x49\xba\xdc\x82\xc1\x17\x13\x8d\xd0\xd1\x48\x26\xdd\x8a\xe3\xe3\xae\x76\x0b\x2c\xc4\x0d\x6e\x98\x82\x3a\xd5\x0a\x84\x4d\x9e\xdb\xd2\xb7\xa5\x59\x9e\xdb\x32\x75\x73\xb3\x76\xcf\xcc\xa9\x7d\x3b\x26\x1a\x1b\xb8\xf8\x1c\x70\x3d\x16\x69\xeb\xac\xec\xfe\xb8\xad\x33\xdf\xfb\xe8\xea\xbb\x5e\x81\xc9\x2d\x73\xe5\xe6\xcd\x53\xf5\xed\x16\x38\x75\xea\xcc\x89\x3b\xfa\xf4\x0d\x59\xd6\xbc\x72\xda\xba\x1b\x7b\xf4\xed\x0d\xf9\x57\xfb\xcf\x59\x75\x63\x6f\xff\xfa\x55\x37\xd5\x3c\xa3\xbd\xb7\x2e\xd1\x52\x6a\x9d\x3f\x6f\xd7\xec\x57\x7f\x74\xce\xab\xd3\x56\x36\xf7\xde\xb0\x6e\xda\xca\xe6\x9e\x1b\xd7\x2d\x5b\xdf\xdf\x7b\xe3\xaa\x73\xfa\x7b\x6f\x5a\x85\x00\xb5\x1f\x42\x78\x84\x46\x46\x6c\xa8\x40\x33\xbc\x58\x0c\x76\x2f\x14\x3e\x19\x00\x3c\xb2\x76\x71\x35\x8e\x79\x47\xbc\x31\x5c\xbd\x78\xed\xac\xab\xef\xb9\x7a\x16\xf1\xc9\xe5\xcf\xc6\x47\xff\xcf\xf0\x04\xcb\xc4\x9f\xbd\x3c\xf7\xaf\x9b\x6e\xfa\xd7\x11\x4c\x91\xb1\xb8\xa3\x20\x42\x14\x70\x94\x52\x0d\x76\xfd\x25\x16\x90\x54\x8b\x58\x21\xc6\x24\x6a\x00\x88\x1c\xce\xe5\x73\xed\xf8\xa7\xf9\x89\xf9\x89\xd4\x81\x58\x30\xdf\xee\xef\xf4\xe7\xdb\x83\xb1\x84\x8c\x47\xc4\x2a\x11\x8f\xc8\x89\x45\xb0\x08\x6f\x79\x6f\x8d\xa6\x69\x38\x8f\xa2\xcd\x9c\x96\x73\x3a\x21\xc7\x35\x47\x09\x54\xd6\xc9\x02\x32\x99\x0e\x21\xb6\xb3\x00\x95\x87\x0e\x21\x53\x81\xc7\xe4\x48\x54\x74\x27\x42\x54\xdc\x28\x07\x05\xc5\xbd\x32\x96\xd7\xcb\x45\xd1\x11\x25\x2e\x2b\xc5\x44\xb1\x80\x71\x63\x93\x4d\x4a\xc6\xe0\x4b\x05\x00\x1b\x24\x42\xed\x70\xa5\x76\xba\x76\x3a\xf5\xbb\x71\x99\xaa\x42\x7a\xaf\x36\x49\x9b\x44\x7d\x29\x87\xb5\xf6\x92\xf6\x12\xad\x9d\x24\x30\x55\x4c\x86\xe5\xca\x28\x3c\x50\x19\x85\x11\x29\x2b\xc1\x48\xb4\x12\x1e\x88\x55\x0c\x8d\x40\xe3\xee\xd5\x7b\xf6\xec\xc9\x5f\x32\x96\xda\x70\x07\x58\x76\xaf\x7e\xf2\xc9\x27\xf3\x2d\xda\x50\xac\xd5\xb9\x8f\x65\xf7\x61\x8c\xb1\xbe\x77\xb6\xc6\x60\x58\x6e\x77\xfe\x14\x2e\x93\xdb\x9d\x23\x16\xcb\x88\xb3\x5d\xd6\x56\xff\xd4\xd9\x5e\x58\x53\xd1\x4c\x88\xc2\x88\x40\x66\x14\x44\x32\x4a\xa0\x0e\x84\x20\xec\x0e\x13\x11\x9a\x09\xcb\x44\x32\xab\xa6\x70\x38\x82\x33\x69\x54\x68\x91\x4c\x58\x10\xe3\xe1\x64\x26\x1d\x0d\x67\xc2\xba\xad\x1e\x0d\xc7\xc3\x49\x83\xe2\xc8\x68\xb0\x44\x34\xcc\xd4\x6b\x00\x87\x46\xe7\xaf\xa6\xe1\x5a\xd7\x9d\x6d\xe7\x70\x6f\x9d\xaa\xed\xfd\x7d\x1e\xa8\x97\x2e\x7e\xf1\x34\x9c\x3f\x73\xdd\xc1\x2c\x94\xbd\xf8\x4b\xed\xb7\x50\x32\x6d\xc1\x53\xda\xa8\xf6\x4f\x3c\x30\xe7\xc2\xb3\xdb\xee\x5b\x7b\x56\xdd\x49\x6b\x73\x13\xf3\x37\x91\x7b\xb6\x68\xbf\x5d\x3e\xff\x99\xfc\xa3\xed\xaa\xf6\x22\x98\x5e\x7f\x05\xf8\x0b\xff\x7c\x11\x17\x58\xb5\x31\x79\xd7\x43\x4f\xf5\x4c\xbd\xec\x75\x7f\xd7\xd6\x05\x0f\x0f\x84\xee\xdc\x38\x65\xf3\xcc\x46\x6f\xf1\x1d\x8e\xcd\x67\x06\x50\x1c\x55\xa1\x0e\x34\xc9\xe0\xf9\x39\x66\x34\xe4\x8d\xd9\xa7\x4c\x5a\x31\x26\x1a\x88\x68\x26\x95\x74\x0b\xc5\x1d\x15\x91\x33\xe1\x6c\xe6\x08\xba\x8f\x1a\x65\x81\x48\x4a\xd1\x56\x20\xc2\xee\xf0\xf8\x95\xb0\x57\xb5\x4b\x60\xeb\xd9\xc3\x97\xae\x54\x7a\x67\x4e\xbd\xff\xf6\xf5\xdf\xd9\xfb\xe4\x16\x6c\xe9\x9e\x0c\x37\xc0\x55\xdb\x72\xbb\x6f\xfe\xee\x8b\xad\x17\x5b\x7b\xea\xd6\x58\x35\x72\xe2\x0a\x68\xd3\x7e\x7e\xf4\x2a\x98\x76\xf9\xe8\x87\xeb\xd6\xdc\x5c\x91\x5e\xdd\x30\xbd\x82\xd3\x9e\x7e\x6c\xfe\xa0\xf6\x93\x37\xd6\x2c\x0b\xf5\x4d\xb0\x08\xe7\xff\xe4\xbe\xed\xdf\xdb\xfd\xb3\x48\x19\x9c\xb9\xa9\xbe\x13\x2c\x53\xc7\x6c\x2d\x66\x0c\xe7\x5e\x41\x6d\xe3\x58\x0b\x8c\x39\x58\x69\xcc\xff\x4c\xd1\x35\x73\x18\x87\x50\xa4\x0a\x28\x0a\x46\x1f\x52\x03\x1c\x65\xb8\xcf\x64\x51\x2a\x89\xe8\xc4\xa5\x2f\x5c\x7a\xe9\x0b\xf9\x4b\x76\x2d\xf3\xf9\x96\x4d\xed\x08\x06\xaf\xed\x73\x0f\x08\xa1\x73\x26\x2d\x23\x5e\x79\x70\xeb\x79\x0f\x3e\x78\xde\xd6\x07\xaf\xd6\xfe\xf3\x84\x36\xc5\xf6\xf4\xf9\x1b\x7f\x5a\xf2\x2e\x5c\x30\x7d\xd0\x2e\x82\x1f\x83\xf5\xf1\x27\xc0\x4a\x06\xf5\xfb\x2f\x3d\xf8\xd4\x2b\xbb\xe8\x8a\xe0\x35\x7d\x53\xdb\x83\xa6\xb0\xa9\xb9\x87\x78\x7b\xeb\x83\x0f\x6e\x3d\xef\x81\x07\xce\x7b\x52\xfb\xaf\xf6\xf3\x6d\x0f\x5c\x7b\xd6\x42\xd8\x73\x53\x2d\x86\x6b\x1e\x07\x93\xf6\x1f\x74\x94\xed\x68\x42\x3e\xd4\x85\xa6\x16\x91\x00\xdc\x82\x58\x98\x1c\x93\x15\x23\x7c\x39\x2b\xd7\x40\xf6\xc8\x44\x58\xcb\x98\xe1\x11\x4f\x16\xdf\x13\x43\xe8\xd2\xc7\xc7\xe6\x97\x0b\x75\xa2\x1b\x87\x7f\x5c\x3b\xbc\x66\xcd\xb0\xe6\x3c\x6b\xa0\x7e\xb0\x24\x9d\x68\xde\x50\xe2\x49\xb5\x0c\x88\xc2\x00\x31\x5a\x78\x13\xf7\x09\x57\x2c\x5e\x76\xbd\x05\xe6\x5d\xfd\xea\xab\x57\x5f\xf9\x5b\xfc\x17\x33\x3f\xa5\x55\x7b\xbd\xf0\x82\x3e\xdf\xf9\xfc\x25\x97\x9c\x7a\xda\x25\x44\xf9\xf0\x9a\xb5\xd3\xfb\xd7\x68\xcf\xdf\xb9\xae\xb1\x56\x10\x3c\xa9\x96\xe6\x0d\x9e\x30\x85\xcf\x28\xbc\xcc\xeb\x26\x2c\xdc\xf0\x83\xa5\xa3\xaf\x5e\x75\xf5\xab\xbf\xb9\x52\x7b\x0a\xe2\xeb\xe1\x77\xeb\xef\xbe\x5b\x1b\x3e\xf5\x92\x4b\x9e\xdf\x79\x09\xa2\x91\xf3\xd0\x6c\xfa\x63\xea\x10\xb2\xa3\x00\xaa\x46\xcd\x68\x8a\x81\x9a\x44\x30\x71\x63\xf1\xb5\x15\xab\xa2\x0f\x14\x96\x70\x00\x91\x80\x36\xc8\xaa\x0a\x10\xac\x81\xac\x2b\x11\xbc\x5e\x03\x40\x13\x71\x85\x6f\x05\x29\x40\x01\x2f\xd2\x0c\x4b\x31\x32\x11\x57\x54\x22\xae\x26\x88\x1a\xa0\xb2\x62\x10\x44\xa2\xdb\x81\xb5\x85\xb1\x56\xa7\x95\x71\x98\x23\x78\x5a\xd5\x43\x57\xb4\x7d\xa7\x36\x48\x90\x4f\x71\x98\x31\x45\xa7\xff\x80\xce\x3d\x61\xab\xe3\x5d\x93\xae\x34\xbd\xfb\x2a\x73\xcf\x5f\x1b\xf2\x4a\xcd\x1f\xb5\x67\xf8\xbf\x08\xfd\x65\x9e\xba\x68\xad\xa7\x16\x5f\xf3\x3b\x97\x55\xb4\x97\xc5\x5a\xc2\x13\xad\x91\xbf\x43\xc3\x96\x9d\x6f\x6a\x8b\xae\x89\x0c\x4c\x68\xe6\x38\xb8\x2a\x98\xb5\x59\x15\x58\xa5\x5d\x26\x96\x12\x0d\x71\x5f\x7d\x6f\x6c\x21\x63\xc3\x8d\xda\x05\x0b\x27\x5f\xbe\x7c\xa6\xdb\x0d\xa7\x79\x9b\x39\x57\xdb\xb9\xb3\xf3\xef\x6b\xd7\x95\x46\x09\x92\xa1\x76\xc3\x2a\x58\xb1\xc7\x29\x8a\xc4\x03\x6d\xda\x0f\x1e\xb7\xc1\xa9\x41\x3f\x89\x05\xb1\xaa\x24\xab\x3d\xab\x5d\x15\x9f\x16\x15\x22\xa2\x68\x71\x11\x93\xe1\xf4\x67\x3e\x3c\x49\xfb\xbe\x30\x7b\xde\xf5\x8b\xba\xec\x76\x20\x7c\x0e\x47\x4b\xa1\x8d\xb4\x9b\x0a\x6d\x9e\x43\x25\xa8\xeb\x08\x5a\x04\x1f\x26\x12\x60\x90\xeb\x1f\x3e\x32\x3e\x70\x34\x3c\x16\x40\x3a\x46\x24\xc2\xb7\x82\xde\x3c\x24\x3e\x95\x14\x61\xdf\xe0\xf9\x83\x83\xe7\x6f\x27\xbe\x98\x87\x3d\xe6\x3c\x32\x7b\x30\x45\x18\x87\x34\x17\x3b\xb4\x7a\x78\xf5\x28\x5a\x3d\xbc\x7a\x88\x75\xed\x58\xe4\x5f\x2e\xdd\x76\x32\x81\x4e\xbe\x4d\x5a\xee\x5f\xb4\x03\xb6\xea\x17\x0d\xc2\x3e\x38\xcd\xc4\xf3\xa6\x7c\x49\x21\x8b\xb4\x1c\xeb\xca\xf5\xaf\x5e\xdd\x9f\x2b\x6c\x5d\x2c\xe4\x16\xed\x80\xdb\x07\xcf\x3b\x6f\x50\x5b\xb4\xa3\x10\x57\x6b\xd2\xbb\xdb\x14\x6a\x42\x13\xf4\xb6\x7e\xd8\x56\xfb\x9a\x02\x17\x70\x96\xc3\x45\x46\x2c\x89\x1f\x8b\x9b\x85\x23\xb2\x17\x8f\x30\xa1\x45\x3b\x4e\x58\xf4\x5c\x01\x15\x2f\xa7\x0b\xf0\xe5\x81\x42\x71\x4f\x1d\x27\x37\x19\x36\x8e\xe1\xdc\x8e\x45\xba\x10\xed\x7a\xf1\xdb\x0b\xdb\x23\x42\x14\x00\x68\x75\x51\xb4\x90\x51\x4d\xb0\xbd\x50\x01\xa3\x8f\x1b\x59\x04\x28\x74\x08\x51\xfb\x0c\xf9\x50\x4c\xff\x50\x03\x63\x58\x7f\x99\xb4\x81\x39\x9c\x56\x75\xc9\x0e\x6f\x0b\x7c\xc2\x74\x25\x14\xb7\xd4\x3e\xd9\xab\x25\xc1\x12\x2b\xd1\x46\x4a\x62\x16\xd0\x92\x5e\x99\x87\x5d\xef\x18\xdb\x67\xf5\x6d\x8e\x4f\xeb\x1b\xd9\xfb\x2c\xec\xe2\x65\xef\x3b\xb0\x6b\x7e\x5a\xe6\x2e\x91\x4b\xa2\xd1\x12\xf9\x12\x4e\x4e\xf3\x70\xc5\xe1\x4d\x8e\xe7\xb5\x1c\x9f\x96\xb5\x33\x8c\xcd\xb8\xbe\xc6\x8d\x2a\x51\xb7\xe1\x0b\x53\x04\x4d\x2a\xf4\xf2\xc5\x30\xec\xac\x9a\x56\xe4\xf0\xb8\xa3\x21\xe3\x28\x9f\x56\xe4\x98\x31\x9f\x78\xf8\x6a\xd2\xa0\xe7\x83\xf1\xae\x69\x4b\x03\x3f\xd7\x2e\xb8\xbe\xc2\x27\x52\xa1\xf3\x57\xfd\xf5\x5e\x9e\xe5\xfd\x43\xd1\x0f\xb5\x5f\x5d\x77\x75\x6d\xb4\x84\x09\x6c\xda\x06\xd2\x6f\x3c\x6c\x49\xf4\xf4\xb2\xad\xda\x03\xf7\xff\x7a\x58\x0a\x96\x07\xad\xa5\x17\xfc\xe8\x16\xa8\x5e\xea\xe6\x4b\x2b\x5f\x3c\x16\x7e\x7e\x62\x88\x5f\x17\x31\x57\x0a\xa5\x26\xdf\x52\xab\xef\x83\x32\xf7\x25\x15\xf6\x54\x49\xd4\x14\xde\x62\x8f\x02\x57\x23\xf5\x4c\xa9\x61\xe2\x81\x60\x85\x29\xde\xdd\x62\x2b\x5f\x70\xcc\x62\x10\x14\xb8\x6c\x69\x84\x78\x5d\x1b\x96\xc2\x5c\x98\x21\x98\x30\x07\x4a\x98\x0b\xab\xbc\x1a\x26\x91\xf6\x1b\x0f\x48\x1a\x55\xb5\x33\xa0\xbd\x0a\x35\x1e\xed\x3d\x38\x58\xb5\x33\x00\xd5\xe4\x6f\xf2\x3f\x0d\x6a\xdf\x09\x68\x1f\x07\xa0\x06\x4f\x0a\xc0\x2d\x01\xe0\x02\x08\x21\x0e\x21\xf4\x03\x33\x22\xcf\x42\x2c\x8a\x1b\x8c\xf6\xcd\x68\x32\x9a\x89\x4e\x46\xa7\xa0\x35\xe8\x3c\x74\x09\xba\x0c\xdd\x8c\xee\x43\x23\xe8\x77\x08\xc5\x55\xbd\x95\x46\x68\x37\x61\xf4\xd8\x71\x95\x48\x2b\xb2\x5e\xb7\x0c\x21\x48\x63\xe4\x01\x19\x90\x0c\x3f\x7f\x35\x9b\x54\x25\x46\xd7\x81\x15\x35\x9d\x4a\x02\x21\x31\x42\xd4\x38\x9e\x4a\x06\xe1\xc8\x89\x60\xd1\x71\x47\x51\xf5\x3e\xde\x0c\x3c\x23\x18\xcc\x48\xbc\xde\xe3\xab\xc7\xe6\x0a\x99\x42\x5c\x78\x03\x10\xfa\x69\x7d\x0c\xe4\xd3\x59\xfd\x73\x1a\xcb\xb5\x42\x52\xe4\x99\x3a\x23\x87\xf9\x4c\xb6\x18\x8c\x6f\xe0\x37\x1b\x5a\x9d\x7e\x00\x19\x8b\x14\x84\xd3\xe9\x04\xbb\xc5\xcc\xb2\x2c\xd8\xcd\x22\x54\x58\x6d\x76\x93\xd3\x64\x07\x8b\x95\x36\xb3\x56\xb3\xf9\xe0\x07\x82\x80\x59\xcc\x71\x98\x9d\xeb\xf5\x62\x93\x59\x92\xcc\x26\xf0\x3e\x51\x52\x62\xb5\x60\xb7\x1b\x5b\xac\x83\x92\x84\x6d\x76\xb7\xdb\x6e\x1b\x72\xbb\x31\x4b\x9b\x05\xc1\x4c\xb3\xb0\x4d\x7b\xdb\xed\xb6\x30\x4e\xec\x72\x61\x27\x63\x19\xe4\x79\xab\xc9\x85\x9d\x4e\xec\x32\x59\x4f\x76\xb9\xb0\xc0\x63\xa7\xd3\x6e\x32\xdb\xe0\xa2\xe7\x1c\x0e\x87\xc0\x02\xcb\x3a\x04\xc7\x29\x2c\xeb\x14\x9d\x60\xb3\x81\x53\x74\xbc\xc6\xba\xbc\x2e\xa0\x69\x1b\xb6\x98\xad\x26\x86\xc5\xe4\x92\x3b\xcf\x1e\xfd\xc8\xee\xf2\xcf\x1a\x7a\x06\x02\x5c\xa6\xe1\xec\x3b\x77\x7f\x8a\xad\x16\x96\xb5\xe4\xff\xf3\xa9\xc5\x9e\x7e\x15\xf7\x3a\x4d\x14\x65\x72\xd2\xf9\x27\xe1\x9f\x60\x61\xac\x66\xc6\x0e\xa7\xe7\xb6\x9a\xcd\x5b\x73\xe6\x89\x2f\xff\x9f\xd9\xf2\xc2\xcb\x66\x2d\x09\xff\xfc\xcf\x87\x56\xeb\x87\xff\xb1\x51\xa3\xff\xb6\xdb\xff\x3d\x6a\x0f\xbe\xff\x5f\xa7\x99\xf9\xef\xfb\xb4\x59\x13\xf1\x19\xda\xf9\xff\x65\xac\xae\xff\xc2\x16\x97\x75\xba\x56\xf5\x6f\x93\x95\xff\x37\xfc\x8e\xb7\x86\x34\xfa\x33\xb7\xfb\x33\x38\x60\xb6\xdb\xf3\x1c\x7e\x5f\xc3\x1f\x5b\x1c\xac\xf5\x63\xd0\xac\x2c\x1b\xd0\x84\x0f\xac\x4e\xa7\xf5\x03\xf8\xc0\xe6\x74\x6a\xa6\xbf\xdb\x5d\x2e\xfb\xda\xb3\xf1\x16\xc2\x61\x66\x28\x93\x2b\x7f\xe5\xd9\x77\x60\x97\x9d\xd8\x21\x59\x22\xda\x97\x23\xe2\x9d\x87\xf9\x06\x91\xc1\x61\xec\x33\x10\x48\x11\x0a\xc5\x54\xb7\x60\xcc\xd0\xb7\x80\xf8\xf5\x39\xd2\x00\xa7\x2e\x64\xd3\x59\xcc\xc3\x1f\xe1\xc6\xf5\x2f\x69\x37\x6b\x43\xda\xcd\x2f\xad\x87\x1b\xbf\x21\xbf\x17\x86\xe1\xe4\x97\xc6\xf2\x2f\x11\x68\xf6\xcc\x7b\x0a\xfe\x18\xf7\xcc\x1c\xbd\x67\x5c\x06\x2a\xc6\x65\xc8\x8a\x09\xe7\x4c\xc8\x15\x72\xb9\x09\xe7\x8c\x9b\xcf\xe5\x91\x17\x45\xd1\x20\x3a\x05\x9d\x85\xce\x43\xdf\x43\x08\x8e\x9f\xaf\x93\x18\x2e\x2c\x2b\x20\x1b\xce\xd6\x19\x2e\xcc\x81\xb1\x5a\x26\x89\x8c\x40\x33\xee\xc2\x9c\x39\x83\x0d\xde\x3e\x45\x36\x70\x8f\x24\xd1\x9d\x55\xb3\x6a\x02\xd4\x6c\x13\x4e\x1a\xf1\xf7\x62\x29\xd0\x8c\x08\x59\x95\x05\xa0\xa5\xac\x9a\x56\xb3\xaa\x9c\x91\x33\xb2\x22\x30\x84\x7e\xa9\xa2\x3f\x85\xa6\xe4\xa8\xfe\x4d\xa6\xa9\x27\xfc\x65\x87\x01\x94\x73\x65\x43\xfe\xf3\x61\x83\xc5\xa6\xfd\xd2\x06\xa7\x68\x43\x65\xf5\x79\x84\xb5\x70\xaa\xa9\xf1\x8a\x80\x93\xc5\x40\x77\xd4\x7e\xb7\xed\xad\x7b\xaf\x9b\xe7\xb0\x7b\x80\xb2\x90\xe6\xc1\x59\xac\x19\xa7\xd5\xee\x98\xc7\x6e\xb7\x06\xdd\x20\xd9\x5c\x66\x8c\x01\xdb\x54\xcd\x97\x9e\x95\xea\x81\x6d\x0e\x3b\xd0\x8c\x81\x50\x61\x83\x2d\xdf\xbb\x0a\x8b\x54\x5f\xca\x57\x1f\xc0\xeb\x3d\x67\xf5\xd5\xb2\x24\x79\xbe\x31\xc5\x36\x06\xc3\x5c\xe6\xef\xd6\x2e\x2c\xb5\x41\x83\xed\x80\x8b\x44\xf5\x65\x30\x7c\x00\xe1\x19\xde\x00\x53\x27\x06\x00\x03\xc8\x65\x61\x4f\x93\x76\x80\xb1\x01\x69\xf1\x96\x2d\xad\x36\x3b\x30\x9e\xb5\xfa\xc2\xad\x03\x37\x24\xcb\x1c\xee\x1a\x1a\x13\x54\x60\xf3\x84\xdd\x9a\xcf\xf3\xdd\xb2\xb9\xc4\xa6\x8a\xf9\x4c\x9c\x28\x23\x49\x00\x0c\x22\x0b\x90\x5f\x9e\xf5\x01\x47\x75\x9d\x31\x7b\x55\xbd\xd5\xe3\x07\x40\x47\xb5\xb3\xc2\x3b\x9a\xf9\xed\xde\x0d\xef\x4e\xf1\x29\x3e\xab\x66\x33\x29\x29\x00\x12\x9f\xe2\x0d\x48\x3f\x82\x76\x40\x34\x9d\x80\x4c\x02\x14\x22\x6a\xe8\x76\x51\x45\x56\x88\x54\xe6\x1b\x6b\x7a\xf9\xc4\xdd\xb7\xe4\x18\x02\x93\x04\x50\x44\xee\x96\xdd\x13\xb5\xdf\xcd\x3f\x85\xc2\x98\x04\x0c\x34\xbe\x6c\xed\x65\x98\x02\x92\xc4\x98\x3a\x65\xfe\xb7\xa8\x36\x22\xb7\x32\xbf\x12\xde\x11\xbc\x4e\x93\x87\x88\x98\x35\x1f\xbe\x6a\xe5\x4a\xad\x57\xf0\xba\x09\xc6\x8c\xa9\x90\x19\x87\xf3\x6f\x9b\x83\xb4\xdb\xed\x15\xe0\x91\x95\xc7\xd7\xc3\x49\xdf\xae\x1e\xe2\xee\x70\x26\xaa\xb6\xe2\x26\x10\xa5\x00\x0e\x42\x54\xcf\x13\x85\xca\x30\x20\xdc\xa2\xb2\x22\xd7\x80\x91\xe7\x89\x6f\xac\x04\xa8\x86\x92\x29\x4b\x29\x0b\x05\x18\x48\x4c\x31\xc4\xca\x3e\x88\x76\x8f\x3c\xd3\xa5\xbd\xd7\xbb\x94\xb4\x11\x18\x03\x49\x5b\x57\xf4\x69\x7f\xee\x7e\xf2\xe9\x6f\x51\x0d\xef\xaf\x58\x71\x2b\xc3\x9b\x48\x9a\x64\xcc\xe4\xad\x2b\x56\x00\x07\xde\x95\x2b\x6f\x61\x78\x92\x20\x69\xab\xed\x96\x95\x2b\xb5\x4f\xb4\x77\xc6\x7c\x64\xc6\xcb\x5f\x6f\xf8\x02\x7f\xdb\x1a\xc8\xa4\x92\x05\x9e\x6e\x45\x8e\x86\xdd\x29\x0e\xa2\x9c\xfe\xe5\xba\x05\x86\xfe\x66\x99\x43\x30\x69\xd1\x45\x7d\x15\x5d\xd3\x7b\xdb\x6a\x07\xb4\xcb\x16\x02\xb5\x7e\x43\x3a\x58\xdf\x1a\xfc\x76\x02\xde\xe5\x90\x72\x03\x33\x36\xf8\xf8\x95\xf9\xd7\xc0\x03\x36\x57\x78\x60\x5e\xd0\x71\x22\x99\x2a\x50\xf2\x5b\xf6\x3c\x5c\x38\xa3\x4a\x40\x16\xdc\xa5\x84\x6f\x14\x81\xcc\x8d\xa2\x91\x1c\xe4\xb4\xfe\xe1\xd5\xab\x87\x57\x7f\x8b\x72\xc3\x88\x36\x32\xa2\xdf\x92\x5b\xad\xdf\x82\x90\xf9\x70\x59\xc7\xe6\x65\xf4\xf2\xaa\xa8\xd7\x40\x59\xcf\x44\xdd\x54\x26\x5a\x5a\xdc\xbb\xbf\x59\x86\xa8\x3b\x9a\x09\x73\x60\x44\x08\x1b\x5e\xd0\x59\x3e\x93\x72\xa7\x92\x22\x2e\xaa\xd1\x38\x97\x03\x64\xfc\x11\xcd\x5f\x2b\x5d\x2e\xa7\x21\x7c\xc9\x4a\xd3\xe5\x7f\xbe\xdc\xe4\x3e\x25\x37\x5d\x8c\x3c\x61\x70\xbd\x91\xb9\x71\xff\xc1\x37\x49\x9c\xcb\x1d\x40\xf8\x37\xda\xed\xbe\x92\x93\xce\x38\xe3\xa4\x12\x5f\x1b\x4c\xcd\xe5\xbc\x9a\xd7\xe0\x67\x3c\xec\xf3\x3a\xee\x5d\x35\xa0\x3e\xc3\x9b\xed\x5b\x8d\x13\xee\x31\xd6\xc8\xc3\xc4\x0d\x6a\x16\x92\x6a\xd6\xa9\x14\x90\xd5\x44\xa7\x81\xba\xa2\x24\xd5\x6c\x5a\x49\x80\x7e\x44\x30\x8e\x7c\x73\xe3\xfc\x40\x30\xb8\x23\xef\xdc\xa1\x1b\x06\x3b\xee\x74\xc2\x43\x41\x7e\xdb\x36\x67\x56\x70\x53\xdc\xa9\xa7\x72\x94\xdb\xf5\xa4\x4f\x98\x33\xc7\x95\x95\x31\x9f\x4e\xf3\x98\x17\xbe\x4d\xef\x94\x30\x89\xf9\x7d\xa2\x09\x9b\xef\x32\xe6\x8d\xef\x72\xe4\x27\x79\x6e\x81\x6b\x6f\x71\xd3\x1c\x97\x71\x6f\xd6\x9e\xde\xec\xce\x38\x1d\x57\x0a\x8b\x46\x17\xf1\x38\x96\x11\x1a\xae\x6c\x10\x32\x2e\xee\x04\x6d\x3a\xf5\x6d\xbf\xd3\x63\xe7\x86\xa8\xb1\x5a\x33\xd0\x30\x53\xc9\x6f\x1e\x0a\x0d\x16\x62\xcd\xd8\x12\xa7\xeb\xd5\xc2\x9a\xb5\xcf\xc1\x6c\xfe\x56\xe3\x18\x91\x1b\xbb\x17\x72\xe9\x3e\x6c\x12\xf3\x23\xba\xfc\x60\x99\x0f\x16\xf3\x09\xde\xbf\x8a\xa6\xa0\x05\xdf\x52\xb2\x56\x08\x42\x00\x1c\x60\x30\x1a\xd1\x46\xf8\x4a\x58\x64\x08\x83\xb7\x08\xda\x40\x91\xb3\x6d\x90\x15\x25\x48\x80\xca\x17\xae\xd5\x4f\x2a\xdf\xfc\xf2\x87\x4c\x5e\x6b\xca\x4a\x98\x1e\x79\xc4\x44\x58\x53\x56\xaf\xe9\xaf\x2c\x4b\x92\x2c\xfb\xd7\x63\x8f\x6b\xe7\xd8\x1d\xf8\x62\x2c\xda\xdb\x8a\xfb\x6f\x55\x23\x56\xc2\x24\x9b\xbc\xd6\x7f\xfd\xcb\xea\x35\xc9\x26\xc2\x0a\xd5\x3c\xcf\xf3\xda\xab\xc7\x1e\xcf\xd3\x58\xb4\x13\xfa\xa3\x2d\x58\xb4\x8f\xfe\xdc\xee\xc0\x08\x90\x72\xe8\x1a\xea\x0d\x1a\x19\x1e\xba\x6e\x3a\x4a\xe3\x02\xb1\x8f\x05\x94\xb0\xe8\xd5\x75\x27\x55\x3e\xcc\xb8\xce\xb0\x10\x49\x80\x32\x7e\xba\x8f\x7a\xe3\xb4\xef\x74\xfc\xea\xb6\x9a\xfe\x01\x7f\xc7\xf2\x53\xd7\x0d\xcd\xf1\x81\xcf\x3b\x77\xe3\xa6\xe9\x77\x9f\xb3\xf3\xb6\x57\x1e\x7a\xe0\xa9\x46\xa6\xa4\xab\xa9\xc3\x15\x6c\x4c\x66\xda\x7f\x7b\x5b\x2b\x7e\xf6\x39\xe9\x42\xed\xb3\x5b\xbd\xd5\xb5\x5c\x66\xed\xa5\x7f\x01\x06\xce\x7c\xf9\x8f\xda\x35\xda\xc7\xcf\x0d\xdd\xfd\xe1\x64\x28\xdb\x3b\xf2\x9f\x57\x47\x6e\x39\x0f\x48\x9b\x12\x5a\x3a\x63\xce\xfc\x53\x16\xfc\xf4\xf5\xe2\x9a\x3e\x53\xe8\xd7\x68\x64\x41\x2c\x72\x21\x37\x2a\x41\xd5\x08\xf1\xc0\xc5\x29\x55\x31\x43\x7c\x6c\xc2\xd9\x0c\x12\x47\xc5\x81\xa3\x38\xa1\x48\x2a\xa6\x9b\x24\x05\x13\xfa\x0f\x78\x81\xf6\x80\xf6\xf0\xcf\x7f\x4e\xa4\xf0\x02\xed\x5f\xda\x03\x53\xc1\xa9\x7d\xa2\x7d\xf2\x7d\x98\x96\xbf\x83\x7c\xf1\xe7\xda\xc3\x60\xcf\xdf\x41\xa4\x22\xa3\x2f\xba\xab\xdc\xa3\x2f\x46\x22\x44\xca\x5d\xe5\x26\x52\x11\x58\xa5\x9d\x09\x4b\xdf\x8e\x6d\xdb\x36\xfa\x26\xec\x7a\xe8\xed\xef\x3e\xf2\xc8\x23\x8b\xde\x86\xa5\xda\x99\xda\xc7\xdb\x00\xc7\x1e\x82\x5d\xda\x75\x95\xf9\x3f\x97\x4b\xf9\x3f\xdb\xed\x38\x22\x95\xe3\x48\xb9\x84\x23\x76\x7b\xfe\xcf\xd2\x18\x5e\x2b\x32\x21\x6a\x03\x8a\xa2\x39\x85\x36\x69\xcc\xda\x45\xc3\x95\xd8\x58\xe1\x38\x0c\xe0\x11\x4b\x19\xeb\x1c\x34\x18\xc6\x73\x02\x94\xc3\x78\xe1\x01\x2a\x55\x9c\xc5\x63\xc6\x7c\xc0\xa2\x91\x02\xab\x96\x69\xd5\x45\x1f\xdc\x45\x3a\x88\x83\x93\x00\x53\xf7\x7c\x70\xe6\x42\xdb\xee\xb3\x17\x4f\x9d\x02\xca\x83\x77\x82\xe7\x76\x38\xf0\xeb\x1f\x6e\xb9\x68\xa9\xb3\xcd\xd6\x35\x55\x9d\x3a\x35\x53\x35\xa3\xa3\xa3\x67\xc6\x9a\x8e\x8d\x77\xfd\x70\xf3\xa5\x27\x2f\xea\xec\x4b\xf7\xf7\x36\x54\x4e\xef\xe8\xec\x19\x58\xd5\xb6\xe9\x1e\x3c\x9a\xf8\xe5\xa6\xdd\xef\x81\xe5\xef\x77\x9c\xf9\xd3\xac\x52\xb9\xee\xb6\xc6\xeb\x9f\xb8\x55\xfb\xe0\x76\xda\xa3\x7d\xb2\x69\xe7\x29\x42\x0f\xdb\xd1\x95\xcd\x74\x57\x74\x0f\x0c\x74\x57\x5c\xba\x7e\xe3\xce\xef\x9c\xde\xde\x99\x6a\x98\x50\x38\x70\xc9\xd1\xf1\x07\x05\xec\x4d\x05\xd5\x20\xd5\xe0\xe4\x3c\x2a\x68\x20\x16\x62\xa4\x6c\x52\x52\x41\x95\xd3\xaa\x42\x3b\x51\x48\x55\xe8\x88\xc2\xb8\x42\x59\x83\x5b\x96\x92\xb2\x4e\x85\x11\x05\xfc\xc2\xf1\xae\xff\x78\x44\x3b\xff\xde\xa7\x07\xee\x19\x78\xfa\xe0\xa7\x4f\xfb\xfd\x4f\xcf\xc7\x9d\xb0\xa5\x70\xe0\x85\x22\x55\x2c\x71\xea\xd3\xf3\xe7\x3f\xed\xa7\xd1\x09\x3c\x85\xd9\xf9\xfa\x4d\x07\x3f\x35\x6e\xb8\x57\x3b\x3f\xff\x94\x71\x00\xe4\xbf\x14\x6e\x36\x3d\x7d\x6f\xe1\x71\xc6\x7c\x4d\x88\xde\x47\xbd\x8e\xc2\x46\x8c\xd6\x98\x83\x93\x2b\xa6\xba\x69\xe4\x16\x02\x38\xd4\x8a\x33\x69\xa4\x64\x44\xd2\x45\xef\xbb\xe8\xef\xda\x88\x36\xac\x8d\xfc\xfd\xa2\xa7\xa1\xff\xa5\xb7\xb4\xb7\x8a\xbc\xb6\x4b\xb4\xb7\xde\x7a\x09\xfa\x9f\xc6\xb9\xfb\xf5\x93\x17\xfd\x1d\xda\xef\x7f\x0d\xd6\x7d\x12\xdc\x5f\xad\x0d\xbf\xbb\xbd\x40\x63\xbb\xfd\x5d\x18\xaa\xde\x1f\xfc\x44\xbb\x04\x21\x40\xfc\x21\x44\x7f\x44\x23\x74\x0a\x42\x7c\xd6\xa5\x26\xeb\x04\x86\x25\x0d\x67\x12\x23\x80\x1d\x12\x7a\xf7\x44\xd4\x80\x1a\x80\x20\x64\x0d\x6f\x20\x5d\x61\xd4\x4f\x1a\x09\xd6\x88\x8a\x2f\x04\xbb\x27\xc8\x1a\x90\x53\x62\x5d\xc0\x24\xb9\x8a\xbe\xe5\xbc\xe9\x0f\xcf\x52\x60\x2a\x6b\xaf\x0f\x53\x3d\x93\x93\xcb\xa6\xb6\x3a\x9d\x8a\xdf\xe1\xb3\xb3\x96\xf2\xea\x0a\xd6\xbe\x4c\x99\x26\xf0\xa0\xb8\x85\x5b\x87\xc3\x0a\x41\x8a\xd3\xfd\xfe\xa5\x55\x03\x3c\x1f\x8c\x08\x35\xe1\x79\x33\x26\x89\xee\xe6\x1e\x0f\x19\xaa\xa8\x2b\x67\xed\x2c\x63\x29\xab\x9e\x5e\xd7\x5d\x59\xeb\xe7\x81\xf8\xb3\x76\xe6\xa1\xbd\xda\x43\xff\xbc\x00\x5f\xfd\x06\x6c\xda\x06\xd8\x94\x5a\xb2\xfe\xda\xab\xee\x9c\x94\x54\x9c\x41\xce\x99\xda\xb1\xf6\xd4\x40\x69\x49\x5d\xd8\x4b\xd3\xeb\xb8\x89\x5e\x5f\xed\xaa\x50\xf0\xd1\x87\x13\x6b\x22\xe1\xf8\x24\x8e\x5b\xc7\x4e\x2e\x2d\xad\xbf\x61\x6f\x7b\x75\x50\x08\x73\xce\xcc\x96\xf5\x5b\x56\x2f\x3d\xa9\x85\xe3\xec\x44\x69\xa4\x33\xd9\xdf\xbb\x64\xd9\xf6\x49\x5a\x5e\x3b\xf5\xdd\x2b\xbf\x80\x81\x82\xde\x63\xb4\x35\x1b\xf2\xa1\x32\xd4\x8f\x16\xa1\xd3\xd1\x46\x74\x11\xba\x0e\x21\xca\x2d\xc7\x14\x55\x94\x54\x51\x62\x44\x60\x44\x89\x91\x9d\xaa\x44\x33\x12\xed\x16\x40\xa2\x49\x26\x93\x55\x95\xac\x2a\x65\x09\x46\x14\x18\x89\x66\x14\xfd\x5c\x44\x51\x65\x85\x91\x15\xa3\x59\xea\x67\x55\x25\x9b\x94\x18\xfd\x31\xe0\xa6\x8b\x97\x29\xd9\x18\x72\x32\x4a\xb6\xe0\x7b\xa9\xca\x8a\xaa\xdf\x62\xdc\xa5\x37\x05\x34\x2e\x18\x86\x2c\x04\xc7\x1c\xe5\x06\x4f\xac\x78\x45\xbb\x79\x45\x63\x69\x55\xc7\x95\x6f\x72\x1d\xf9\xbf\x9e\x24\xfa\x1a\x4e\x3e\xb9\x21\xc0\x0f\x44\x29\x53\xe3\x0a\xed\xe6\x57\xea\x3b\xb8\x37\xaf\xec\xa8\xda\xf4\x1e\xcb\xfe\x23\xd8\xb5\xb7\x61\x7e\x6d\x7a\x61\xba\x76\x7e\xc3\xde\xae\xe0\x3f\x58\xf6\xbd\x70\xe7\xde\xa6\xb9\xb5\x55\xa7\x57\xd5\xce\x6d\xda\xdb\xa9\x55\x74\xd4\xeb\x97\xcb\xd1\x86\x15\x30\x44\x3a\x4f\x6e\xf0\x89\x27\xc5\xa2\x03\x7c\xa0\x41\x6c\x88\xca\xfa\x8f\xd4\x77\xfc\x06\x86\xc0\xfe\xbd\xfd\xda\x2f\xb4\x3b\xb5\x5f\xec\xff\xde\xf7\xf6\x43\x33\xcc\x87\xe6\xfd\x0f\x9e\xe0\x03\x59\xd2\x49\xbf\xfc\xff\xe3\xec\x3b\xe0\xa4\x28\xd2\xbe\xeb\xa9\x4e\x33\xb3\x3b\xb1\x67\xba\x27\xef\x4e\xea\xd9\xbc\xec\xc4\xcd\x3b\xc0\xb2\xa4\x25\xe7\xbc\x20\x39\x48\x92\x28\xc2\x90\x04\x45\x3d\x45\xc5\x80\x81\xd3\x03\x11\x39\x14\xf5\x54\x14\x75\xf5\xce\x33\x60\xba\x3b\xbd\xf7\xf0\xd4\xc3\x3b\xef\xde\xd3\xf7\x82\x7a\x49\xd8\x9d\xe2\xfb\x75\xf5\x6c\x00\xf5\xee\x7b\x5f\xd8\x9e\xae\xae\xaa\xee\xae\xaa\xae\x7a\x2a\x3c\x4f\xfd\xff\xc7\x83\x35\xb1\xba\xa3\x15\x93\x0b\xb1\xd5\xdb\x98\x08\x3c\x09\x77\x3f\x19\xa8\xad\xf5\xce\x5f\xb5\x82\xfc\x31\x78\xfc\x1d\x7e\x10\x14\x4e\xae\x38\x5a\x17\xc3\x33\xc6\x96\x4d\x2e\x1b\x3b\x73\xd4\x03\x83\x6d\x5f\x1a\x0c\x5f\xda\x06\x3f\x30\x6a\x26\xf5\x9a\xd5\xfe\x40\xab\xed\x0b\x83\xe1\x0b\x5b\xeb\x03\xed\x58\x19\x84\x0b\x26\x97\x3d\x5c\x5b\x56\x1b\x38\xfe\x4e\xee\x11\xb2\xf0\xc9\x40\xa2\xd1\xbb\x68\xc5\xaa\xf9\xde\xda\xda\x80\x12\xa8\x2d\xab\x7d\xb8\x6c\x72\x01\x1e\xc4\xbf\x93\x43\x34\x65\x7b\xfa\xa7\x16\xdf\xff\x6d\xd6\xf9\x42\xbf\x7d\xb1\x16\x54\x87\x86\xa0\x25\x68\x2d\xda\x89\x50\xc4\x1e\x0a\x26\x13\xf1\x18\x93\x3f\x4b\xe9\x24\x1f\xea\x31\xbb\x77\xf0\x0e\x3b\xfd\xf1\xe3\x78\x4c\x9d\x76\xa8\x62\x98\xce\x40\xa2\x29\x31\x4e\x7b\x8d\x90\x3a\xbe\xe1\x92\x1a\x6e\x7c\x4c\x8a\x27\x43\xaa\x9f\x0f\x42\x0e\x55\xfc\xc6\x1d\x21\x87\xdd\xcf\x50\xe5\x91\xa6\x88\x49\x5d\x4e\x81\x8a\xdb\x66\x2d\x9b\xb7\x30\x3c\x62\xd4\xa8\xb0\x72\x64\x74\x5d\xac\x71\xf2\xfa\x86\x0a\xa5\x74\x75\x49\x6b\x7b\xf9\xb9\x8e\xd1\x9e\x9a\x9a\x51\xd3\x0d\x91\xa1\xd7\x61\x7c\x1d\x03\x17\xfc\x4a\x32\xa1\x0f\xe9\x97\x30\x37\xb0\x8d\x61\x60\x2c\x2c\xe6\x6c\x45\xb5\x4a\x86\xbc\x36\x60\x58\x4d\xac\xad\x06\xcf\xef\xaf\x12\xfb\x74\x50\x4b\x06\x6e\x9f\x34\x71\x7a\x3c\x72\x8d\xcf\xb7\x66\x72\x6c\xb1\x99\xb1\xb6\x26\x9d\x4c\x64\x61\xe5\xe0\x90\xe5\xf4\xe0\x8c\x89\x2b\x72\x56\xe8\xcc\x57\x8e\x71\x7a\xf5\x64\xae\x27\x0d\x3b\xab\x64\x79\x00\xd9\x18\xd3\x6f\x72\x8c\xff\x04\xaf\x1b\x6f\x77\x16\x55\xaf\x63\x00\x9f\x8d\xa4\x1a\x14\x27\xfe\x20\x9c\x4e\x45\xc2\xc9\xd4\x84\xcb\x30\x5e\x79\xd4\x7a\x11\xf1\xa7\x29\x06\xb6\x85\xae\x61\x2e\x47\x1b\x10\x8a\x24\x42\x41\x87\x3d\x1e\x63\xd4\x1e\x49\x75\xa8\x2d\x83\x32\xa9\x53\x64\x16\xce\x61\x09\x04\xa9\x69\x72\x52\x9d\x3c\x24\xf3\x7a\x7c\x39\x06\xa1\x54\xd2\x9a\x88\xc6\x79\x87\xd5\x1e\x71\x50\x54\xab\xa4\x35\x9e\x0c\x52\xc4\xfe\x78\x92\x86\xc4\x1d\x41\xa5\x1c\xac\xf6\xbc\xe5\xb7\xd6\xff\xe1\x09\x87\xef\x3b\x7e\x47\x43\x63\xc3\x96\x2d\x1b\xc0\x18\x2e\xb7\xec\xdf\x52\x12\xad\x1c\x3a\x79\xf2\xd0\x4a\x72\xfb\x90\xcd\x57\x0e\x7c\x6a\x70\xcb\xb0\x39\x2f\xdc\xd0\x31\x7e\x1e\x3c\xf5\x31\xcb\x7e\xcc\xe2\x59\x43\x17\x35\x4f\x8f\xf9\x74\x58\x70\xf2\x0e\xa5\x83\xff\x1d\xff\x88\xb9\xce\x34\x69\x4a\x53\xee\x8b\xd1\x75\xf5\x63\xc7\x34\xd4\x4b\xf3\x17\x2f\x60\x66\x36\x8d\xbf\x65\x0f\xbc\xf5\x46\xa1\xa1\xbc\x74\xdb\x13\xb2\x4e\x89\x16\x95\xca\x0e\x7f\xe5\x84\x3a\xf2\xae\xab\x6e\xd9\x88\xc3\x8d\x6c\xe9\xa4\x15\x5e\xd6\xf9\xf0\xb8\x7d\xa7\xaa\xbb\x5f\xa8\x9c\x86\xe7\xce\x0e\x06\x66\xe4\x0e\x4e\x3b\xf9\x93\x68\x49\x63\xc7\xd4\x06\x98\xc3\x62\xfe\x85\xf6\x54\xa8\x74\xcb\x0b\x2c\xb9\x75\x27\x6b\xba\x6a\xca\x94\xfa\x86\xa9\xdf\xe4\xa5\xd6\x43\x88\xe1\x85\x28\x13\x02\x6b\xfc\x1b\xfb\x3d\x4a\xc1\xb0\xea\x5e\xa7\xbd\xec\xe0\x46\x10\x16\xe0\xff\xba\xc4\x28\xdd\x0e\x7f\x23\xaf\x0d\xa8\x98\x09\xb5\x44\x24\xa7\x99\xeb\x2f\xe5\x9e\xad\xbb\x88\xd8\x57\x79\x84\x7c\x14\x2b\x48\x03\x07\x13\xb0\x28\xf1\x42\x28\xa8\x44\x15\x0d\xb9\x31\x99\x48\xc5\x58\x8b\x2a\xfe\xf3\xd0\x1d\x14\x4a\x4c\x03\x16\x72\xd8\x65\x0d\xfc\x38\x99\x68\xc6\xf1\x18\xcb\x8c\x58\x33\xa6\x31\xde\x9c\xfc\x57\x25\x78\x1c\x9c\xdd\x8f\x4d\x0e\xa5\xad\xb5\xa4\x69\xa8\x65\xf5\x21\xf8\xcb\x3d\xe4\x6f\xf7\x65\x06\x3b\x64\x8e\x0b\x3b\xe2\x75\x73\x1f\xcf\xb6\xb7\x67\x1f\x7f\xf9\xf1\x6c\x7b\xc2\x60\x54\x4a\x0d\x99\x59\xf7\xfc\x6a\xfd\x7d\x60\x64\xed\x87\x56\x87\x06\x8f\x21\x37\x12\xa7\x14\xc0\x1e\xfb\xd6\xbf\xbd\xf8\xa3\x1d\x8d\xd3\x47\x86\xca\xc6\xae\xae\x22\x3f\x21\x7f\xbf\xc7\xc4\x45\x1c\x76\x99\x35\xe6\x6f\x6f\xcf\x3e\x3e\x77\xcd\x62\x7b\x89\xdd\x24\x5e\x7d\xd3\x86\x5f\xdd\x33\xf3\x1e\x04\xc8\x96\xef\x07\x97\x20\x04\x79\x43\xd9\x74\xc2\x46\x57\x9e\xfd\x7c\x11\xa8\x95\xce\x61\xf7\x83\x23\x3f\xaa\xaa\x62\xa3\x4a\x48\xe0\x05\xbf\x86\xbe\x19\xea\xa1\x94\xa1\x86\xb6\x55\x4c\x52\x23\x96\x89\xa5\x53\x49\x0a\x14\x13\x14\x4c\xa0\x15\x52\xd2\x02\x26\x9d\x64\x04\xab\xe9\xd4\x35\xfb\x4e\xed\xde\x5d\x33\xbe\x31\x16\x2c\xb2\x17\x42\xda\xc6\xb0\xa3\xa6\x44\xc3\x7a\x87\xd5\x51\x60\x01\xc0\x5c\xc3\x70\xfb\x84\xb4\x0e\xb3\x5c\xe6\x2f\xc9\xb5\xe3\x32\x66\x9d\x29\xa3\x2b\xfd\xe1\xf8\x50\xeb\xfa\x89\x03\xed\x45\x05\x0d\x76\xd6\x80\xf1\x80\x8d\x46\x8e\xd5\xd9\x86\x97\x02\xcb\x32\x32\xfe\x40\x0c\xd8\xeb\x2d\x52\x73\xe1\x3e\x28\x6f\x1c\x94\x76\xa4\xea\x47\xb7\x5d\x31\xb6\x9e\x9b\x30\xd8\x94\x28\x04\x8e\x83\x35\xaf\x2f\x2f\x5f\x63\xb6\x17\x3b\x8a\x30\xb0\x77\x0f\xb1\x47\xaa\xca\x58\x27\x3f\xd7\x26\x89\x1c\x66\x01\x2a\x4b\x18\xb3\x3b\x15\x29\x89\xfa\xb0\x04\x18\x63\xa6\xe0\xf9\x66\xc6\x5e\x3a\x98\xd5\x43\xaa\x0a\xc4\x9e\x71\x57\xb3\x0e\x71\x2f\x53\x9c\xf0\x00\xaa\x44\xc3\x29\x86\x6c\xdf\xa0\xbd\xbf\xaa\x1b\x7f\xbb\x37\x28\xa1\x20\xab\xd6\x07\xda\x38\xa3\x42\x3a\x6c\x4d\xd8\xd4\x71\xa9\x04\x76\x5e\x90\x35\xd0\x39\x0b\x1d\xa9\x4a\xb8\x35\x56\x5a\x3e\x68\x50\x79\x29\xe3\x8a\x97\x78\x2a\x2b\x3d\x25\xf1\x3f\xd5\x68\x3e\xf8\x78\x22\xaa\xfa\x44\x13\xe4\x9f\x45\xd1\x87\xc9\xa7\x0f\xca\xa1\x80\x7b\x40\xb3\x67\xbc\x3e\x37\x8c\x7c\xfc\x63\x18\xf5\xca\x63\x50\xf7\x0b\xbc\xf2\xba\x75\xe9\x57\x0f\xb4\xaa\x11\x1e\x04\xef\xc3\xdf\x07\xef\x23\xac\x61\x7c\x2c\x5e\x12\x8d\x93\x39\xde\x8a\x4a\x8f\xb7\xb2\x02\xfe\x7a\xb9\xc7\x31\xf6\x6e\x72\xfe\x9e\xd1\x23\x18\xc6\xc0\x5a\xf1\xb6\x0f\xce\x40\xd1\xc3\xe0\x7d\x70\xd7\x67\xb9\x96\x75\xef\x4f\xf9\xd1\x8a\xc8\x8d\x5f\x81\xff\xab\x1b\x6f\xfc\x9b\x86\x5f\xc2\x5f\xe4\x11\x45\xe3\x90\x84\x3c\xb0\x70\x84\xd1\x20\x92\x92\x56\x3d\x44\x94\xa8\x86\xae\xcc\x7f\x1a\xe0\x2f\x22\xce\x63\xb2\x16\x18\x49\xc3\x57\xb6\x22\xa3\x5e\x94\x99\x8e\xae\x5f\x90\x75\x11\x06\x07\xf9\xac\xd9\x6a\xe7\xfe\xe1\x2c\xb9\x80\x7c\x16\x1d\x77\x8a\x9c\x95\x59\x21\x60\x87\x59\x6c\xa8\xfb\x8a\x07\x4c\xa5\x25\x22\xd3\xa9\xef\xc3\x4b\xb8\xc8\xfd\x0b\xb9\x51\xf1\x25\x6f\x85\x9e\xb7\xe6\xdf\x09\x22\x70\x7a\xe8\xff\xde\xdc\x97\xe4\x97\x36\x9f\x49\x2f\x4a\xa4\x24\xc2\x30\x21\x3e\x1b\x22\x67\x3e\xba\xb0\x10\xc6\x32\x73\x48\xb0\xef\xed\xff\x45\x4e\x39\xe8\xdb\x7f\xf2\x92\xa9\x34\x6a\x67\x3a\x1d\x17\x4c\x5c\x79\xf7\x2b\xd7\xe1\x6d\xdd\xbf\xbb\x44\xee\x24\xa8\x4c\x50\xc7\x1f\xa1\x60\x58\x9b\xcb\xc6\xa5\xbc\xe9\x3e\xb5\xe8\xe7\x05\x59\x12\x7a\x24\x11\x85\x0b\xa6\x1f\x97\xbb\x94\xd0\x56\xdb\xbe\xcf\xa3\xcd\x6f\x93\x4f\xef\x39\x4e\xde\x58\x21\x80\xee\x3a\x83\xd9\x22\x0c\x7f\x6f\xc3\xe2\xe7\xaf\x1f\x37\xee\xfa\xe7\x17\xcf\x7b\xb2\xed\xba\x22\xab\xb5\x8c\x64\xdc\x4a\x49\xd4\xbf\x63\x19\x88\xb7\xde\x03\xde\xb7\x73\x17\x7a\x8c\xf7\xce\x51\x23\x34\xc6\x4b\x5e\x23\x9f\xbe\xbd\xf9\x96\x5d\x06\x97\xee\x7a\x3d\x36\xcc\x59\x3c\xee\xfa\xe7\xdf\x7d\xfe\xfa\x71\x43\x07\x5d\xef\x8f\x96\x28\x6e\xe8\x2c\xb3\x5a\x8b\xb6\x2f\x58\xb9\xf9\xed\x3b\x49\xaf\x35\x5f\x47\x8f\xfd\x5a\x9f\xfd\x0a\xe5\xfa\x37\x61\x0b\x1d\x87\x5b\xaa\xe0\x92\xdd\x64\x3b\x48\xb7\x36\xb2\xa6\x43\xf0\x85\x8f\xc0\x2d\x97\x29\x0e\x39\xb4\xf0\x91\x3f\xf7\x8f\x44\x9e\xfe\x86\x6e\xb0\xf9\x62\x96\x7f\x99\xcb\xa2\xdd\x08\x71\x79\xeb\x33\x2a\x25\xd3\xa9\x24\x93\x88\x6a\x6c\xe3\x0e\xc6\x2e\xfb\x99\xfc\xac\xae\x7f\x8c\xa8\x35\x91\xaa\x62\xa3\x55\xd0\x43\xfb\x14\x8f\x69\xb3\x37\x13\x16\x78\x87\x68\x97\xa5\x78\x40\x95\x45\x62\x22\x5a\x85\xbf\x3d\x06\x7d\x2e\xbf\xbf\xe2\x64\x65\xc5\x63\x15\x4e\x77\xb0\xa2\xde\x12\x00\x30\x46\x72\xb3\x14\x23\x40\xc4\x92\x89\x95\xb8\x9c\xd5\xa7\xaa\xca\x8f\x95\xc9\xae\xa2\xd2\x94\x39\x00\xaa\x8c\xd2\x99\xf4\xe6\xc6\xaa\xb0\xd3\x59\x75\xaa\xaa\xec\xe1\x32\x97\x2b\x58\x5e\x6b\x0e\x01\x18\xdd\xf8\x39\x97\x11\x20\x64\x1b\x17\x77\xb9\x2a\x1e\xab\x28\x3f\x5e\xee\x72\x85\x2a\xeb\xcd\x21\x08\x5a\x1a\xab\xc3\xce\xac\x20\x94\xba\x8a\xfc\xac\xc1\xe0\xd8\x00\x7b\x1c\x06\x96\x35\x38\xc8\x8d\x37\x49\x06\x1e\x7c\x45\xee\x0a\x41\x28\x73\xfa\xfd\x9c\xc1\x20\x6f\xac\x63\x2a\x99\x2a\x4f\x2c\x18\x75\xf2\x06\xd6\x4b\xc3\x2a\xdc\x7e\x0f\xe6\x0d\x8e\x7d\xa4\xd3\x51\xc0\x30\x05\x0e\xc8\xec\x73\x14\x30\xb2\x92\x0f\xf4\x02\x67\x90\xaf\xef\x1e\xb7\xc1\x61\x10\xb0\xcf\xef\xae\xa0\x18\x43\xce\x8b\x59\x96\x70\x59\x54\x91\xc7\x8f\xa0\xdb\x4f\xfa\x0c\xb4\x43\xbd\x2e\x25\x4a\xfb\xa8\x74\x2a\x9d\x2a\x85\x98\xc4\x92\x88\x33\xc6\xba\x79\x26\xec\x5a\xee\x0a\x7f\x2f\xe4\x5e\xee\x0e\xdd\x3a\x6f\xeb\xa0\xcc\xd4\xa9\x9b\x56\x42\x0c\x7e\xe3\x0a\x73\x83\x87\xfb\x32\xc0\xbb\x0a\x92\x5d\x59\x57\x38\xec\x62\x5f\xee\x6a\x56\xcf\xf0\x45\x61\x75\xfd\xa6\x75\x37\x1d\xd9\xb8\xbe\x34\x12\xa6\xf3\x08\xb5\x4e\xa1\x7e\xbc\x23\xd5\xa8\x05\x0d\x46\x43\x11\x8a\x38\x02\xc9\xc8\x37\x2c\x85\x03\x49\xd1\x11\x4a\xaa\x67\xe6\xf2\xb0\xcb\xd7\xca\x1c\x21\x4a\x53\x09\x1d\xe4\x10\xa6\xf4\x5a\x79\x5c\xb7\x43\xdd\x87\xce\x9d\xe3\x51\xae\xf8\x5c\x9f\x27\x93\xed\x73\xe3\xcc\xb9\x73\xdd\x87\xb2\xd9\x6c\xb6\x1f\x88\x9c\x02\xd9\x6c\x16\xa3\x6c\xb6\x1b\x65\xb3\xec\x25\x21\x04\xf5\xbf\xca\x47\xd3\xf4\xdb\x79\x6e\x7a\x04\x31\xc9\xc2\x17\xab\x65\x18\x51\xeb\xa9\x45\xed\x47\x23\x6a\xe5\x2c\x96\x2c\xaa\x74\xe2\x24\xbb\xc0\xa5\xd8\xce\xdd\xcf\x3d\x47\xfe\xf9\x1c\x26\x77\xce\xdc\xba\xfb\xb9\xe7\x76\x6f\x9d\x09\x8b\xf1\x73\x60\xa0\x4e\x72\x27\xc6\xb0\x78\x26\x46\x6a\x94\xe7\x76\x17\x4a\x4f\x4e\x56\x83\x26\x3f\x29\x15\x6a\xb7\x4d\x7e\x52\x72\x4a\x4f\x4e\xbe\xa4\xad\x52\x5e\xfc\xb0\xb6\x07\x36\x95\x88\xa6\xa5\xb8\xb6\x94\xec\xb0\xd3\x0d\xce\x94\x1c\x2f\x4d\x37\xc4\x7e\x63\x2b\x1f\x87\xae\x99\x3a\xb1\xe9\x4b\x8c\xbf\x6c\x9a\x38\xf5\x9a\x6b\x1e\xdb\x8a\xbf\x6c\x9e\x30\xf5\x9a\x6b\xa6\x4e\x68\xfe\x12\x6f\x7d\x0c\xae\xe9\x3f\x54\xca\x3d\xb6\xb5\x7e\xa3\xc5\x64\xd9\x58\xbf\xf5\xb1\x6b\xae\x99\x2a\x58\x36\xd6\x5d\xf3\xd8\x35\x75\x1b\x2d\xc2\xd4\x6b\x98\x73\xfd\xc7\x4d\x42\xef\xdc\xd1\x8a\xaa\x51\x33\x6a\x47\x53\xd1\x7c\xb4\x16\x21\x44\x97\x7d\xe9\x0a\x2f\x55\x4c\xa4\x53\x20\x0b\xb2\x64\x37\x53\x04\x84\xbe\x89\x5c\x3c\x26\x53\x43\x59\x91\x2e\x1e\xe7\xad\x66\x25\xbb\xcc\xf7\xbf\x4a\x69\x75\x97\xca\xcf\x68\xde\x74\x85\x6a\xd5\x35\x6c\x97\x84\x06\x8d\x66\xc7\x43\xec\x03\x5c\xcb\x8f\x54\x18\xec\x2e\x63\x41\x99\x2d\xb8\x7d\xa2\x8b\x79\xa6\xea\xef\xad\xa2\x98\x99\xb6\xf2\x79\xd2\x45\x7e\x4b\xba\x9e\x5f\x49\xe1\x54\x9f\xfa\x7e\x46\x4c\x8a\xad\x5d\x86\x42\xa3\x61\x86\x5e\x6f\x70\x1b\xa6\x1b\x3e\x2c\x70\x16\x4c\x37\x18\xf4\x1e\xfd\x0c\x7d\xb1\xcd\x44\x81\x4f\x3a\x4c\x27\x6c\x5e\x9b\xcd\x6b\xbb\x63\x86\x1a\xd5\x60\x98\x6e\x70\x1b\xf4\xcc\xdd\x31\xbb\xa1\xe2\xc8\x72\xd7\x00\x03\x57\x32\x71\x7b\xb0\x00\x7e\x58\xf5\xb7\x56\x31\x29\x66\xbe\xff\xd4\xf7\x7a\xde\x01\x7e\xe0\x9e\x5f\x39\x2d\x23\x8a\xad\x50\x91\xbf\x51\x3f\x43\xef\xf9\x2b\xfd\xd5\x53\x9f\xe7\xe8\xb3\x0f\xe5\x5f\x65\xb3\x0d\xe9\x79\xbf\xde\xe0\xce\xe3\x12\xa8\x65\xcb\x22\xbb\xfa\xe5\x21\xc2\x31\x01\x7c\xd9\x12\x10\xa4\x9a\x40\x88\x8a\xb2\x12\x95\xb9\x48\x9a\x17\xd2\xa2\x10\x75\xd8\xe5\x34\x27\x0a\x52\x2c\x1d\x15\x23\x78\x2e\x14\x41\xd1\x0a\x72\x2f\xf7\xcd\x35\x20\x76\xc5\xed\x0b\xbf\x68\xb9\xf6\xc0\x5f\x93\xe4\x13\xf2\x49\xf2\xaf\x07\xf6\x34\x7f\xb1\xf0\x76\x3f\xb4\xed\xbb\x6a\xdd\x3f\xd7\x5d\xb5\x0f\xda\xf0\xbb\xef\xbe\x4b\x1e\x63\xb3\xdf\x32\xc1\xed\x1a\x76\xa6\x8b\x99\x76\x0e\x06\x17\xbe\xdd\xbe\xe5\xfe\xfb\xb7\xb4\xbf\x5d\x48\x9e\x3f\x37\x8d\xe9\x3a\xb3\xab\x84\xfc\x72\x48\x34\x3a\x04\xca\x4a\x10\xe5\xae\xcb\xf3\x43\xf7\xec\x29\x18\x4e\x59\x43\x36\xa1\xeb\xd0\x03\xe8\x71\x74\x5a\x95\x0e\x3d\xcc\xd5\x79\x2a\xf7\xcb\xae\xe1\x3f\x84\x47\x7a\x8c\x9a\x42\xff\x29\xe6\x7f\x0e\x0f\x24\x13\x1c\x4b\x81\x1d\x9a\xd9\x70\x31\xeb\x67\xad\x97\x45\xb1\xf6\x12\x87\x82\xc6\x12\xa9\x51\x45\xf6\x39\x71\xe6\x5b\xbd\x73\x2f\x7b\x15\x8c\x15\x0f\xbe\xf8\xbf\xb9\x0b\xb2\x39\x42\x76\x90\x1d\x39\x62\x8d\x8f\xbd\xf1\x09\x30\x42\x33\x14\x3e\x79\xe3\xd8\xb8\xb5\x2f\x8e\xe2\x21\x59\x8f\x72\xae\x8f\x47\xb4\x8f\x5d\x94\xac\xf9\x36\xdf\xfd\x8a\x67\xfb\x76\x8f\x92\xfb\x5f\xdc\x02\xd7\x1b\x0d\x8b\x31\x2c\x30\x18\xad\x89\xf6\x91\xa3\xea\x23\x91\xfa\x51\x23\xdb\x13\x64\x4a\x5f\x8c\x89\xdb\x3d\x8a\xe2\xd9\xde\xab\xf7\xcb\xe3\x22\xd8\xa9\xf5\x4e\x5d\x1e\x07\xac\x57\x2e\x89\xa9\x78\x80\x2a\xfa\x7a\x3c\xa8\x2a\x21\x26\x43\x2f\xb4\x1b\xd7\xeb\xc2\x9d\x8a\x5b\x71\x13\xe4\x56\xce\x0b\x4e\xfc\xc7\x8b\x88\x45\xda\xa5\x5b\x81\xa3\x4e\xa1\xfb\x2c\x39\x64\x33\x41\xb1\xc9\x86\x0f\xf5\xb8\xd8\xce\x1c\x72\x2b\x39\xda\x55\x60\xc4\x2c\x91\x73\x19\xdc\xd9\x9d\x25\xf9\x4e\x41\x71\x33\x48\x86\xf4\xb9\x3e\xd2\x73\x6d\x9c\x4b\xd3\xec\x53\x47\x9c\x76\x01\x64\x81\x67\xa3\x10\x4a\x82\x62\x6b\x01\x19\x52\x31\xea\x09\xa9\x18\xff\xeb\x48\x84\xac\x3c\x70\xe8\x41\xd2\x70\x8a\x1c\xf8\x11\x2c\xdd\x52\xfd\xe0\xa1\x03\x70\xb3\xb2\x74\x44\x84\xac\xfa\x1c\x6e\x51\x96\xb2\x0d\xca\x12\x85\xac\x3a\x70\xe8\xc1\xea\x2d\x34\xca\x29\x78\x45\x8d\x73\x4b\x64\xc4\xb2\x08\x59\xf9\x39\xdc\x1c\xa1\xba\x7f\xd7\xc5\x42\xfe\xbf\x29\x6f\x9f\x03\xd5\x53\x56\xa2\xfe\x28\x08\xdf\xc2\x75\xe9\xe7\x62\xa9\x78\x8a\xc2\x7b\xa6\xe4\x98\x1f\x37\x73\x69\x5e\xb0\x69\xbb\xef\xd2\x0c\x55\xfb\xe7\xf9\x12\x44\x4a\xbe\xe0\x07\x39\xdf\x07\x38\xac\xe9\x94\xc4\x2c\xd9\xf6\xf8\xb6\x6d\x8f\x6f\x83\x7f\x6e\x9d\x3e\x6d\xdb\xb6\x69\xd3\xb7\x7e\x92\x19\xd3\x75\x74\x42\x43\xf9\x8c\xa1\x33\xe2\xd3\xbc\x93\x70\xab\x87\x67\xdd\x21\x61\x25\xd7\x22\xb7\x2a\x43\xe3\xc3\x9b\x46\xfc\x74\x53\xd7\xc4\x65\x83\xd6\x2d\x1e\x3d\x99\x05\x5d\x40\x00\x76\xca\x98\xc5\xeb\x06\x2e\x99\xd0\xb5\xc9\x55\x16\x65\xcd\xcc\xec\xc1\xec\x67\x83\x67\x3b\xa2\x65\x8c\x77\xc2\x86\x0d\x13\x26\xae\x5f\x3f\x31\x7f\x26\x5f\xe3\x83\x53\x86\xb7\xce\xcc\xcd\x91\x83\x92\x59\x00\x16\xbc\x3c\xe3\x72\xcf\x60\x19\x00\x86\x2f\xb0\xc8\x45\xce\xdb\x17\x91\xdf\x3d\xb9\x3a\x54\x5c\x1d\x5f\x0d\x6d\x80\x75\x40\x4e\xac\x89\x55\x17\x87\xd7\x3c\x09\x9e\x45\xb7\x47\x12\x1e\x6c\x60\xf0\x53\xc3\x16\x2e\x1c\x96\x1b\x61\xf6\x24\xd4\x32\x9b\x7f\x31\xcb\xdf\x93\xd7\xd3\x9a\x91\x4b\xad\x59\x94\x4e\xcc\x2a\xa6\xad\x01\x6b\xc0\x91\x06\x2b\x04\x84\x50\x32\x60\x15\x99\xec\x2d\xb8\xe8\x96\x5b\x72\x5d\x93\xa1\xed\x2c\xe3\x25\xa3\xc9\xb3\x67\xcf\x92\x35\x2b\xd8\xd1\x64\x34\x3c\xae\x1e\x39\x1d\x61\x3c\x5d\xff\x7d\xf6\x2c\x7b\xac\xbb\x80\x8c\x3e\x7b\x96\xbd\x16\x02\x5a\x1d\x9e\x76\x11\xb8\x63\x5c\x0e\x49\xa8\x1c\xb5\xa0\xd1\x68\x81\x2a\xa9\xb0\x5a\xd4\x74\x10\xa5\xcd\x82\x29\x80\x67\x94\x37\x03\x4b\xf7\x35\x2a\xcd\x20\xc7\x64\xba\xf5\x0d\xd4\x0e\x30\xaa\x30\x14\x9c\x33\xcf\xf3\x00\xea\xb7\x01\x85\xc2\x7a\xca\x92\x8d\x93\x04\x9e\xe3\x85\x34\xaf\xa1\xad\x52\x93\x1a\x3f\xc8\x0c\x07\x5c\x61\x34\x75\x31\x64\x64\x81\x63\x1b\xef\x80\x06\x73\x8d\xcb\xe9\x39\xc0\xd4\x6c\x24\x7f\xb6\x86\xc4\x42\x4e\x67\x2b\x0b\x19\x9f\x1f\x5a\x31\x51\x76\x31\x75\xc2\xc3\xf1\x88\xdb\x74\xac\xda\xc4\x59\x43\x03\x60\xfd\x99\xd1\x3a\x6f\x6e\x3a\xd7\x50\x5f\x4b\xae\xd5\x79\x4a\x61\x54\x7d\x89\x9e\x51\xf0\x41\xc6\x67\x26\x3f\x1d\xec\x04\xb9\xca\xe4\xf7\xc3\x88\x6b\x62\x7a\x6f\x64\xc0\x01\xfe\xec\x36\xf2\xa1\xb1\x58\xa7\x9f\x5d\x66\x76\x14\x9a\x0c\x23\x9e\x68\x13\x0b\xf4\x06\xe5\xd3\xb4\x39\x3a\x15\x07\x5d\xb1\xf6\x1f\xb5\xe2\x51\x3e\x5b\x50\x5f\x4e\x4e\xa7\x7e\x69\x37\x39\x0c\xe0\x18\xe5\x88\x39\xca\xad\x10\x1d\xe4\x11\x24\x3c\x6e\xa1\xdd\x3a\x15\x4f\x0e\x79\xca\x67\x99\x0d\x21\x5b\xee\xa5\xd7\xa2\x76\x43\xbb\x59\x87\x79\xbb\x54\x5d\x02\x0b\x1e\x19\xc4\x8b\x56\xf9\xa3\x3a\xba\xbf\x5f\xd3\xe3\x64\x2f\xd9\xfb\xe0\x41\x21\x54\x41\x39\x6b\x02\xd6\x00\x1d\xe5\x59\x29\xcc\x63\xf2\x92\x43\x1d\xc3\xd2\x45\xc2\x80\xd5\x2e\x5c\x02\xe9\x10\x48\xb2\x88\x64\x21\x9b\xcd\xd1\x9d\x1a\x1c\x22\x08\xf7\x3b\xba\x51\x56\x49\x28\x7c\xf6\x02\x2a\xe0\xce\xb8\x95\xec\xaa\xb1\xe7\xb3\x63\x57\x01\x52\x6f\xba\x88\xb2\x59\x06\xd1\xfb\x50\xaf\x3e\x9e\x1e\xdd\x19\xa6\x53\x03\x12\x66\x33\x5d\x9d\x81\x22\x85\xfd\xa0\x8b\xda\xaa\xb2\x99\x2c\x62\x51\x19\x32\x0a\xbf\xa4\x78\x0b\x45\xa8\x0e\x8d\x43\x28\x9c\x6f\xb5\x0e\x7b\x3a\x58\x05\xc1\xfc\x2e\x9a\x74\x33\xc4\x34\xf8\x79\x8a\x7f\x15\x0a\x9a\x18\xcd\x3f\x15\x2e\x66\xa9\xbf\x18\x8c\x2a\xe1\x62\x36\x8f\x0b\xd6\xe7\xcf\xda\x4b\xf6\x5f\x33\xfe\x9a\xc5\xb8\x7d\xdb\x8e\x6d\x23\x19\xdb\x1d\x86\xd1\x7f\xfa\xc3\x9f\x46\x1b\xee\x40\x17\x0b\x0a\xf7\xfe\xf1\xce\x49\x8f\x6c\x9b\x5f\x8f\xad\x07\x0c\xbb\x60\x23\x64\x61\xe3\x2e\xc3\x01\x52\x50\xf0\x04\xd9\x46\x6a\xc9\xb6\x27\x0a\x0a\xac\x77\x18\x9e\xc3\x2c\x76\x63\xf6\x39\xc3\x1d\xc6\x5b\xed\xc5\x15\x15\xc5\xf6\x2d\xb1\x58\x2c\x76\xc0\x66\x34\x8c\x9a\x3a\x75\x94\xc1\x68\x3b\x00\x16\xdd\x92\x2b\x2a\x9a\x9b\x2b\x0e\xd8\x0a\x0d\xbb\xf6\xef\xdf\x65\x28\xb4\x1d\x00\xb3\xfe\xde\xfb\xef\xbf\x57\xaf\x46\x7c\xf6\xcd\x37\x9f\x55\x23\x22\x64\xd4\xf6\xcd\xd0\x75\xcc\xfe\x5a\xa9\x16\x34\x12\x4d\x40\x57\xa0\x65\xe8\x6a\x84\xd8\xcb\x38\xe1\xd0\xff\xf2\x0c\xd6\x3c\x8a\x88\x14\x4b\xf5\xf7\xeb\x8f\x75\x67\xe9\x67\x83\xdd\x7f\x8c\x0b\xd9\x91\x4b\x47\x8e\x5c\x0a\x67\xe8\x89\x68\x27\x66\x64\xff\xab\x6f\xf5\x64\x46\xb6\x2f\x6e\x6f\x5f\xdc\x4e\x7a\xee\xef\xd9\x8e\xc7\x21\xb7\x42\xbd\xce\xb4\x27\x2e\x50\xcd\x39\x97\x4d\xb4\x27\x97\x6a\x77\xab\x7f\x70\x86\x9e\xc8\x99\xfe\x57\xdf\xea\x99\xcb\x42\x9f\xf6\x1e\x5f\xd4\x82\x3a\x29\x2c\xb5\x36\xdf\x20\x87\xa9\x1f\x83\x2e\x20\x35\x1e\xaf\xfe\x22\x8c\xf4\x17\x11\xf7\x57\x1e\xa1\x28\x1a\x42\xd7\x41\x70\x20\x14\xe4\xcd\xc0\x08\x26\xa0\x9b\xa0\x9a\x99\x74\xaa\x01\x28\xfd\x0d\x15\x20\x92\x2c\x45\x35\x4a\x27\x7b\x28\x1a\x14\x78\x86\x16\x51\xba\xc7\x22\xdd\x0f\xdc\x5f\x6d\xd2\x14\x12\xac\x70\x29\x1c\x9b\xc6\x5c\xd4\xd5\xe5\x70\x32\xfa\x90\x2d\xac\xe7\x94\x9d\xbb\x17\x3d\xba\x6a\x61\xd2\x59\x00\x0c\xcb\x8e\xb9\xab\x6a\xec\xc7\xab\xf7\x4d\x9f\x3e\xdf\x86\x27\x40\x01\x39\x2b\xf9\x98\x3f\x72\x95\x3e\x3c\x39\xb8\x6d\xc0\xb2\xd5\xcc\xe6\x89\x1b\x49\x6b\xc0\x2d\x92\x23\x66\x77\xc0\xef\xa8\x3d\xb7\xea\x37\xb5\x11\x2c\x47\x97\xcc\xb9\xa3\xad\x85\x67\x80\x69\x78\x62\xd9\xf6\xcf\xc6\x97\x60\x80\x0e\x5d\xee\x9f\x86\x80\xc4\xbd\xe8\x53\xdc\x62\xe9\x0f\x54\x19\x1e\xcd\xf7\xb5\x06\x64\x43\x2e\x54\xa2\xce\xaa\x64\x24\x06\x30\xa3\xa4\xe2\xc0\x0b\x98\x49\xa5\x6d\xa2\x4d\xf5\xd1\x83\x85\xc1\x40\x03\xd4\x1c\xd8\xe0\x54\x40\x04\x43\x07\x19\xb4\xed\x8b\x42\x9b\x9d\xf9\x41\x4d\xfb\x98\x93\x25\xec\x2f\x3e\xf9\x1f\x28\x0f\x91\xa6\x52\x82\xd8\xc5\x0b\x06\x93\x0f\x5d\xe3\x58\xd1\x02\x8b\x1c\x21\x6e\x2d\xd3\xe1\x26\xb7\x91\x85\x70\x0a\x12\x96\x10\x39\xf8\xea\xcb\x90\x02\xef\x47\x9f\x92\xe3\xf0\x3d\x72\x3a\x27\x92\xd5\xf8\x2e\x26\x9a\xeb\x24\x53\xc9\x16\x3c\x00\x17\x40\x25\x78\x2c\x2e\xb7\x9d\x2c\xd2\x74\x23\x7a\x6d\xdf\x88\x19\x39\x91\x17\x35\x6b\x3c\xf4\x10\x4a\xb5\x40\x33\xa4\x65\x8e\x51\x42\x01\x81\x8d\x50\x5a\x20\x31\x0e\x4c\x5c\x0c\x71\x74\xa7\x08\x2f\xe7\xd7\x53\xab\x41\x90\xe2\x52\x2a\x9d\x88\x6a\x8b\xf8\xa9\x22\x88\x84\x82\x02\x13\x4f\xc7\x25\x39\x7e\x79\x2d\x16\x9e\xbe\xde\x94\x60\xd8\x42\xa6\xf0\xc2\x8e\xfa\x82\x0c\xf9\x3b\x86\x34\x98\x1f\xb0\xba\xd7\x0f\xdb\xf3\x28\x70\x91\x23\x8b\x8f\xe0\x3b\x87\x8c\xbd\xfa\x1e\x80\xfd\x03\x94\xc6\xe8\xe4\x36\x49\x1e\xb1\x72\xc7\xbd\xf8\x86\x9a\x8a\x9a\xaa\xb6\x94\x19\x3a\xb3\x03\xa5\x7f\x9e\x08\xbd\xc7\x99\xef\xce\xb6\x27\xbe\xa6\xd5\x49\x87\x12\xed\x38\x18\xb9\x49\x6f\x28\x36\xa4\x37\x42\x34\x65\x1c\x33\x93\x8c\x98\xd6\xb6\xc1\x47\x30\xde\x9e\xdb\x8a\x77\x58\x3c\xeb\x67\x2f\x1c\x26\x87\x1d\xfe\xe2\x40\xc1\xcd\x41\xd8\x38\x7f\x69\xab\x2b\xe8\x90\x02\xe0\xd2\x1d\x4c\xe5\x9e\xec\x90\x46\x30\x2f\x77\xd1\x87\x71\xb4\x6e\x3a\x7b\xcb\xc6\x8a\x5c\xa8\x1c\xc5\x51\x06\x0d\x45\x53\xd1\x15\x68\x11\x5a\x8d\x36\xa3\x7b\xd0\x33\xe8\x55\xf4\x7b\x74\x1e\x0a\xc0\x05\x95\xd0\x08\x23\x60\x2a\x5c\x0d\xfb\x10\x02\xa5\x87\x9c\x23\x1e\x4b\x2b\xd8\x96\xe6\xb1\x4d\x4e\xd9\x70\x54\xb2\x61\x81\xae\xa9\x27\xe9\xba\x1a\xc4\x93\x21\x47\xdc\xd1\x80\x93\x21\x21\x1a\x72\xc4\x93\x72\x3c\xcd\x38\xca\x21\xd9\x00\x8e\x78\x34\x16\x4f\xa7\x12\xd5\x10\x2c\x07\x47\x3c\x19\x0f\x27\x7a\x95\xfa\xe1\x98\x1c\x62\x35\x59\xcc\x87\x82\xa9\xbc\x2b\x28\x07\xa3\x41\x85\x6a\x53\x12\xe9\x54\x4d\x2c\x49\x4d\x5b\x6b\x64\x87\xe4\x10\xbc\x10\x12\xf8\x10\x1f\x89\x27\x13\x4a\x34\x28\x68\xec\xc7\x8e\x78\x32\x11\x8f\xf9\x80\x9e\x1c\x72\xbc\x09\x42\x8e\x9e\x69\x76\x0b\x24\xaa\x41\x51\x03\xe4\xb4\xb6\xf2\x4b\xd7\xd1\x43\xc1\xa8\x9a\xfe\x14\x5d\xe4\x6d\x52\x93\x9f\x0c\x39\xd4\x2c\xd8\xe3\xb1\x74\xcf\x2e\x2f\x35\x2c\xaa\xbe\x29\xde\xf7\x16\x39\xad\x48\xf9\xc0\xa8\xb6\xa5\x88\x3e\xf7\xf2\x97\x5e\x72\x43\x3e\xb0\x27\x4c\x08\x86\x78\x81\xa7\x7a\x39\x3b\x5d\x9c\x4c\xab\x13\xe3\x74\x2a\x99\x88\x2a\x51\xb5\x9c\x94\x6f\xe0\xfb\xcc\xc9\xde\xb5\xe8\xf9\xbd\xe3\xc6\xed\x3d\xbd\xf8\xae\xec\xce\xd9\x73\x1e\xdc\x3a\x73\xc6\xb6\x6d\x33\x66\xce\xda\x31\x67\xf6\xce\xec\x5d\x8b\x4f\xab\x61\xcf\x2f\xba\x0b\x2f\x10\xac\x02\xe3\x63\x39\x9e\xe7\x18\x9e\xe5\x74\x98\x61\x30\xc3\x52\x1a\x58\xc0\xc0\x33\xd0\x25\x49\xa2\x4d\x92\x6c\x22\x1c\x6e\xe4\xda\x60\x8f\x14\x96\x25\xd1\x76\x41\x0e\xcb\x72\x78\x0f\xc6\x40\x4d\x60\x31\xc6\x0c\xb0\x98\xde\x84\xe1\xc2\x69\xbf\xcf\x55\x6c\x36\x15\x39\xcd\x7e\x7f\xc0\xef\x0b\xf8\x8f\xf8\x7c\x56\xb7\x4f\x51\x7c\x5e\xf3\xe3\xd5\x26\xd9\x25\xdb\x0b\xa5\x80\xdb\x5f\x6d\x74\x16\xb9\xec\x46\x57\xc0\x17\xd8\xa1\x33\x1a\xc5\x01\x03\xfc\x5e\x6f\xb5\x63\x81\x4f\x89\xfa\x03\x92\xc9\xe6\x08\x0a\x0b\xc2\x3b\xe5\x42\xbf\xdf\x67\xd0\xe9\xf5\xb6\x68\xc0\x27\x9a\x6c\x56\x9b\x2c\xdb\x44\x8b\xc9\xee\x0d\xbc\xed\xf7\x9b\x3d\xbe\x68\xd4\xe7\x35\xed\x96\x0b\x7d\x3e\x35\x9a\x6e\x9b\xcf\x67\xae\x8d\x46\xbd\x3e\xd3\x68\xac\x26\x4d\x1d\x91\x62\x96\x61\xb1\x7a\x45\x53\xa8\xa6\x7a\x51\xff\x06\xc4\x3e\x32\x69\xdc\xde\xd3\x8b\xd4\x62\x99\xb4\x0c\x9a\xa0\x71\xc2\x15\xe4\x17\xe4\xbd\x2b\xae\x80\x0a\xa8\xbc\x7a\x19\xf9\x31\xf9\xf1\x52\x35\xc6\xe2\x45\xa7\xf7\x8e\xeb\x3e\xcb\x30\x56\xbb\xd1\x68\x37\x1b\x8d\xa4\x0e\x33\x06\x0e\xd4\x52\x30\x72\x15\x8a\xd3\x65\x13\x9d\x53\x8a\x8b\x34\x87\x2b\xec\x52\x4f\x3e\x60\x69\x2a\xb0\x56\x3e\xac\x9a\x08\x4c\x13\x31\xc9\xe9\x03\xa7\xd3\x6e\xd9\x33\x32\x1c\x1e\xa9\x1e\xad\x83\x2d\xf6\x92\xe6\x12\xbb\x33\xc8\x63\xd6\x60\x2e\x70\x9a\x9c\xf6\x80\xea\xb4\x9a\x64\xab\xd3\xe4\x12\xa4\x26\x4f\x69\xa9\xa7\x29\x76\x53\x49\x51\x71\x54\x94\xcc\x81\xc2\xe2\xa8\xdd\xb2\xa7\x3d\xc4\x7a\xd9\x92\xe6\x12\x8b\xd3\x08\x4e\xc5\x59\xe8\xb4\xec\xeb\x79\xd4\xe6\x9e\xe0\x7d\xad\x9b\x87\xda\x4b\x1b\x4b\xed\x8c\xfa\xc5\xd4\x12\xc1\x34\x15\xea\x3f\xf5\x9b\x63\x6a\x4b\x0d\xec\xef\xfb\x8b\x02\x8d\x9f\x9e\xca\x02\x03\xb2\xd2\x95\xbf\x41\x68\x0a\x9a\x87\x96\xa2\xd5\xe8\x1a\x74\x3d\xba\x9b\xb2\x1c\xf2\xe5\x14\xff\x55\x8a\xd8\xa9\x83\x4b\x28\xe5\x60\xed\x21\x87\xe7\xf2\x3a\xe4\x54\x5f\x93\xa2\x44\xa1\x1a\xc6\x35\x6d\x55\x54\x97\x9c\x37\xf4\x49\xf6\x34\x0a\xb0\x9a\xa0\x10\x73\x81\xbe\xf1\x42\x84\x32\xd1\x8b\x69\xb5\xf5\xe5\x0f\x88\x53\xcb\x2b\xf5\x75\xc9\x6f\x68\x0d\xa1\x2e\xec\x6b\xb4\x5a\x9b\xbc\x61\xfe\x8b\x8c\x68\x6f\x39\x3f\x61\xfe\x98\x39\x73\x46\x54\x36\xfa\x07\x0e\x84\x4c\x69\xda\xe7\xf0\x38\x7c\xce\x60\x69\x5d\x45\x63\xb8\x2a\xa2\x13\xbd\xd2\x00\xb9\xac\x62\x68\x3c\x03\x52\xa4\xb4\xa6\xa5\xa5\xaa\x5c\x29\x29\x19\xb1\x68\xe1\x88\x32\xf6\x5f\x03\xef\x27\x3f\x21\x0f\x13\x3b\x21\x7c\xc0\xad\x74\xff\x70\xe9\x81\xa5\x4b\x0f\x00\xbe\x79\xe8\xf4\x69\x43\x6f\x7a\xf7\x99\x0d\x6b\xd7\x6e\x78\x06\xf6\x8c\x5d\xd2\xde\x5c\x3b\x77\xa0\x1e\x02\xa3\xd2\x5f\xeb\xd2\xa3\x46\xa5\x85\xaf\xd3\xa3\xf0\xbf\xe2\x01\xf7\x87\x9e\x22\x63\x62\xc1\x9a\x11\xb3\xc8\x13\x4a\x7c\x1a\x8c\xfa\x63\x49\x85\xdd\x60\x33\x59\x1c\x9e\x8a\x48\xba\x24\x54\x6a\x31\xf2\x85\x92\xdd\x53\x51\x92\x69\x2a\x1d\x15\x19\x18\x1b\x30\x58\x19\x65\x5f\xb0\x7f\x41\xee\x69\x6c\x2e\x99\xba\x7f\xfb\x0d\x03\x14\xfc\x13\xf5\xa5\x4b\x75\x30\xf9\xdc\x39\x72\x4c\x5f\x3b\xbd\x76\x44\x1d\x79\xe2\x06\xcb\xe8\xea\x04\x79\x62\x37\x0e\x77\x15\xd6\x8e\x1e\x5d\xcb\xfe\xbd\x76\xf4\x68\x75\x38\x6e\xeb\xfd\x76\x18\x15\x20\x13\x72\x20\x2f\x0a\x21\x05\xd5\xa3\x31\x68\x06\x7a\x1b\xfd\x16\x9d\x07\x0e\xf4\x10\x86\x16\x98\x87\x90\x18\x8f\x42\x5a\x15\xc6\x8e\x90\x23\x22\x27\xe5\x84\x2a\x7e\x63\x11\xed\x04\xda\x89\x8b\x47\x23\xd6\x50\x52\x08\x45\x1d\xa1\x68\x48\x08\x89\x71\xd1\x1a\x97\xd3\x60\x37\xb1\x41\x25\xe4\x08\x45\x85\x80\x35\x20\xa7\xe3\xb1\x88\x23\x64\x8d\x3b\xb4\x87\xf5\x6e\xe2\xb2\xc6\xd3\x71\x99\xca\x7a\x47\x20\x99\x8e\xf9\x20\x90\xf4\xe3\x54\x8f\xa7\x35\xe4\x88\xaa\x7f\x54\x14\xaa\x7d\x2f\xbd\x12\x7a\xe7\xb8\x34\x20\x28\x24\x03\x0e\xa5\x1c\xd4\x43\xa0\x7b\x90\xe4\x78\x32\x1e\x4b\xab\x1d\x85\x86\x93\x9e\x56\x13\x6d\xe7\x05\x3f\xf8\x20\x44\xab\x86\x9a\x94\x18\x55\xd1\x51\xbf\x44\xaa\x8a\xa1\x9e\x72\x4c\x82\xfe\xc9\xb4\x86\xac\xa0\x55\xe0\x64\x42\xd1\xf6\xd7\x37\x80\x23\x14\x74\xd8\xa5\x94\x1f\xd2\x0e\xbe\x27\x8c\xa7\xfa\x88\x7c\x98\x1f\x18\x6b\x4f\x71\x04\x93\x89\x06\x70\x04\x15\x13\x4b\xb1\x2f\xd2\xb4\x74\x92\x1b\xa6\x55\xe2\x81\x23\xda\x1e\xbc\xe9\x26\x68\xba\xe2\xf9\x92\x89\x13\x4a\x21\x50\x36\x7e\x5c\x39\xf9\x5c\xfd\x85\x33\xd3\x2a\xba\xa5\x41\xb3\xeb\x66\xef\x72\xed\x71\xb5\x5d\xd5\x71\xe5\xd2\x49\xa3\xf0\x9d\x05\x56\xaf\x33\xea\x2c\xd5\x6f\x1d\x3b\xe1\x22\x02\x76\xec\xf8\x77\x56\x90\x8f\xce\x9e\xbd\xf3\xb6\xdb\xb8\xf7\xb4\xba\xb5\xd2\x95\x76\x7d\x20\xae\xb6\x63\x9f\xc1\x00\xb2\x9c\x29\x9d\xa4\x77\xd5\xba\x7e\x17\x7c\xea\x49\xd7\x29\xf9\xfc\x90\x92\xe3\xce\x9a\xdc\x0d\xe5\xe5\x3f\x95\x1e\x1e\xad\x55\xc3\x8d\x71\xff\xc9\xb4\x4c\x7e\x52\x54\xfb\x33\xb9\xf5\xf3\x54\x8c\x3c\x08\x53\xd2\x89\x5f\x38\x1a\x8a\x4e\xe8\x74\x2c\xb6\xd6\x15\x1d\x6d\xcc\x55\x3a\x25\x97\x6d\xa0\x33\x38\x64\xe0\xdd\x03\xea\xc9\xff\xb8\x1c\x6e\xeb\x40\x00\xae\x50\xb6\xb5\x65\xee\xaa\xa9\xc7\xd6\x5f\xfd\xea\x8e\xdb\x6e\x23\x7f\x1e\x84\xff\xb5\x70\xeb\xd6\x60\xb0\x26\x16\x4c\x94\xec\xd8\x10\x0e\xd5\xd4\x84\xfe\xea\xcc\x5c\x73\x4d\xc0\x15\x29\x8f\xb8\x92\x25\xdb\xd7\x87\xeb\xc7\xdc\x36\x73\xf3\x2e\xf7\xb5\xae\x91\xdb\x77\xb7\x08\x65\xe6\xa2\x42\x2b\xef\x09\xfb\x66\xce\x5d\x71\xc5\x1a\x66\xf2\xf2\xdc\xb5\x63\xc6\xd4\xa4\x53\xa3\xaf\x3c\xdb\x18\x18\x52\xe2\x6b\x82\xaf\x7c\x8d\xca\xf2\x6a\xf2\xe5\x7b\xef\xbd\xf7\x5e\x63\x23\x98\xc9\x45\x80\x67\x9e\xc9\xbd\x67\xf7\xdb\x8d\x02\x86\x19\xd3\xa7\x83\x79\xda\xb4\xee\x5a\x30\xd7\xd5\xa4\x53\xb9\x9f\xfd\x3e\x3d\x66\x4c\x1a\x1f\x69\x6a\xaa\xaa\xaa\xae\xbe\x02\x4c\x93\xe5\xc2\x42\xc0\x4d\x4d\xf5\xf5\xb0\xb9\xa2\xa2\xa2\x42\x92\x24\x69\xee\xdc\x8a\x8a\x27\x60\x8f\x1a\x33\x37\x5d\xca\xff\xab\xaf\x27\xd7\x36\x34\x4c\x33\x2e\xbc\x82\xd5\x4d\x71\x3a\xbb\xe4\x12\xbd\x3e\xe8\x4b\x55\x06\x1c\x57\x80\xd9\x0f\x47\x9d\x25\x7a\x7d\xc0\x9f\xd4\x87\xcc\x92\x41\x98\x07\x66\xf0\xe5\xae\xaa\x05\x73\x6d\x4d\x3a\x85\x1f\x26\x5f\x82\x39\x77\xd5\xe4\x7a\x97\xc5\x20\x28\xe1\x68\x59\x9d\xcb\xa2\x07\x3e\x62\x5a\x10\xaa\x77\x19\x0b\x81\x2b\x88\xf8\x55\x4f\x3b\xcb\xe3\x41\xe4\xab\x33\x67\x1a\x1b\x77\x5f\xdf\x80\x81\x31\x58\x7d\xa2\x52\xf2\xfe\x45\x04\xe8\xf4\x69\xb5\x7d\x16\xf4\xb6\xcf\x02\x24\xa3\x10\xaa\x47\x13\xd0\x95\x68\x37\xba\x1f\x9d\x40\xa7\xd0\xeb\x79\x36\xaa\xfc\x3a\x51\xc4\xce\x87\x04\x75\x46\x10\xf3\x43\xff\xf5\xa3\x08\x05\x1d\x11\x18\x5e\x6a\x80\x58\x0b\x34\x63\xaa\x25\xe3\xc4\x14\xf5\xee\xb7\x7b\x9b\x77\xd8\x1b\x40\x9d\x8e\x95\x43\xd0\x0c\x94\xc8\x9f\x1a\x07\xc8\x5a\x40\x1a\xfe\xbf\x9f\x64\xd7\xee\x10\x93\x09\x1a\x5f\xa0\x70\x27\x69\x30\x41\x3e\x81\xd2\xe5\x72\x18\x7f\x16\x8f\xf8\x42\xb1\x88\x37\xc2\x58\x2b\x2a\x8a\xad\xb8\xc0\x26\xb9\x9d\x30\x27\x1e\xf6\x85\x55\xdf\x0b\x47\x47\x35\x1f\x12\xf1\x40\xd0\xf1\xed\x76\x6c\x83\x42\x9b\x45\x62\x26\xcf\x83\x64\xa9\xea\x63\x62\x3c\xad\xc3\x16\x0c\xa9\xf7\x36\xda\x58\xe3\x10\x11\x5e\xd6\x71\xa3\x0a\x84\xa5\x15\x9c\x75\x24\xa7\x8b\x56\xc2\x78\xe3\xa8\x02\x01\x5d\x84\xad\xa3\x9a\xef\xb7\xd3\x87\x8c\x2f\x64\xbf\xf9\x10\xf7\x10\xf5\x21\xbe\x46\xab\xfa\x90\x8f\x8c\x23\x0a\x68\xd4\x41\x22\x3e\x3f\x9c\x2b\x8b\x06\xac\xb8\x40\x2c\x09\x0b\x6b\x2e\x19\x57\xaf\x8f\xd4\x14\x7b\x23\xf1\xc0\xc6\x32\x3f\x2c\x2b\x60\x1d\x0f\x87\x63\xf4\xfa\xa6\x86\xa4\x48\x16\xf3\x06\xf1\x4a\x9d\x81\xc1\x73\x7f\x0b\x1c\x6f\x08\x94\x2c\x1f\xde\xd0\xe6\xb4\x17\xea\x2d\xe0\x30\xe8\x0d\xf7\x1c\xb0\xe8\x39\xbc\x66\x17\xbb\x4a\x67\x34\xc0\xaa\xda\xfc\x2d\xc6\xab\xbe\x79\x0b\x58\x58\x0b\x1c\x07\x53\x01\xe9\xc0\x9c\x5e\x04\x31\x24\xc1\xb2\x02\x19\x7e\x73\x49\x57\x8c\x0c\xfd\xfa\x62\x33\x8a\xa1\x61\x68\x0a\x9a\x81\x96\xa3\xab\xd0\x3e\x74\x50\xeb\x87\x43\xc1\xa8\x3a\xfa\xe5\x42\x29\xda\x0b\xd3\x7e\x37\xdf\xed\x0a\x79\x44\x6e\x75\x2c\xab\xd0\x6e\x37\x9d\x82\x74\x28\x69\x66\xe2\xf9\x6d\x94\x9a\x41\x17\x47\x3b\x60\x21\x1a\xb2\xc6\xad\xa9\x78\x4c\xa4\x3d\x38\xdd\xe5\x1a\xcd\xa3\x49\xa6\xfb\x26\xf0\x34\x80\xcf\xdf\x4f\x87\xbf\x4a\x34\xfe\x0d\x4c\x4e\xbe\xc9\x21\x06\x64\x9b\xcf\x5b\x07\x4f\x5d\xc9\xc7\xe2\xe7\xff\x34\xa8\x35\x5c\xac\xd4\x0f\xb2\x0d\x1e\x3f\xaa\x6a\xc0\xc0\xc1\xd1\xa2\x01\xbe\xf1\x45\xb6\x61\x1d\xe3\x06\xc4\x21\x2a\x76\x6c\xb7\x55\x59\x9b\x2b\x94\xe1\xc5\xd5\xc5\x85\x65\x70\x9d\xd9\x58\x5c\x6d\x30\xec\x3c\xe0\xae\xb5\x54\x1f\x38\x80\xaf\xac\x2c\x19\x9a\x49\xea\x76\x1d\x08\x17\x4f\x88\x37\x91\x8a\xaa\x41\x55\x55\x83\x98\xc7\x06\xc4\x66\x77\xac\x6c\x49\x2f\x5d\xd0\x60\xa9\x1b\x5a\x6e\x97\xb9\xaf\xf1\xa5\xb3\xa4\x4d\x43\x22\x21\xfd\x39\xff\xe4\x79\x9f\x35\x0c\x74\x19\x25\x93\x3b\xb0\xaa\x58\x89\xb6\xd5\x0f\x74\x9a\x64\x4b\x91\xcb\xb6\xba\x34\x52\x0a\xa1\x95\x7b\x1c\x6b\x74\x8b\x7e\x3d\x31\xec\x2f\x58\x2f\xc4\x5e\x71\xed\x63\x8a\xfd\xb5\xa4\x14\x62\x45\xe4\x51\xf8\xaf\x8f\x37\xd7\x25\x6a\xab\x73\x57\xbb\xee\x28\xa8\x1d\x08\x3f\x51\xdf\x5c\x4d\xfe\x67\x75\x4b\x66\xd7\x9a\x6c\x63\xba\x64\x51\x91\x28\x56\x9b\xf0\xc9\x4b\x3e\x1c\x83\x4c\x17\x91\xf0\x15\x8f\x68\x3b\x6f\x41\x08\x6c\xb2\x5a\x40\x76\x3e\xa8\x44\xb9\x58\x82\xb6\x65\xb5\x97\x01\x89\x17\x34\x34\xb6\x54\x0b\x28\xc9\x66\x36\x99\xb0\xa5\x7b\x16\x9f\x04\x3f\xc8\x90\x92\x64\x5e\x6a\xfa\x73\x7b\x82\x64\x0e\xbc\x77\x3b\x00\xb2\x58\x1a\x26\x15\x2f\x62\xe3\x3a\x30\x7c\xfd\x98\xc1\xa3\x9b\xa8\x03\xc3\xb3\x62\x6c\xfc\xd4\xa6\xe8\xe7\x2f\xe8\x6a\xc7\xd6\xea\xb6\xbc\x90\x84\x07\x0c\x1e\x1d\x3e\x4e\xee\x79\x2d\xd1\xbe\xf4\xc0\xed\x4b\x1f\x2d\x9e\xd4\x60\xb1\x0c\x5f\xc4\x67\x0c\x1e\xfd\xf9\x63\x3a\x6c\xe8\x30\x78\x74\xdf\x2f\x0e\x96\xcd\xbc\xf5\xd8\x57\xfb\xee\x04\xce\x2b\xda\x4b\x6a\x6b\x4b\xec\xa2\x6d\xfb\x2c\x58\xa6\xc3\x06\x6d\x3f\x5b\x5f\x3e\x24\xa4\xa0\xd1\x08\xb1\x7d\x89\x8f\xeb\x21\x4f\xcd\x68\x81\xde\xdc\xa5\x03\x0a\x93\xb6\x81\xfc\xff\x91\x31\x56\xcb\xca\xf0\xdc\xbf\x98\x15\x65\x3f\xda\x3d\xeb\xae\xe9\x03\xd8\xce\x9e\x8c\xde\x8e\xff\x71\xa4\x69\x65\x13\x0c\x9e\xf8\x1f\x33\xfa\x58\x3e\x73\xf0\x3f\xf8\xeb\xa9\xeb\x5a\xe6\x2d\x8f\x93\x2c\xc9\x68\x19\xdf\xfe\x1c\x58\xe6\x92\x7b\xd8\xa3\x1d\xff\xbf\x19\xef\xc5\x38\xe6\xb2\xbd\x7a\xae\x34\x9a\xa1\x71\x17\x52\x11\x6a\xd5\xd0\x9e\xfe\xd3\x35\x04\xa2\x4a\x34\xc0\x0b\x5c\x0f\xaf\xa0\xd6\x40\x42\x3d\x1c\x10\x69\x6d\x1d\xa7\x08\x54\x79\x89\xbe\x1d\xa6\xa9\xbf\x3b\x77\x0e\x3a\x07\x08\x06\xf2\x63\x83\xc0\xac\xb4\x99\x3a\x34\x02\x07\xaa\x70\x84\x64\x9b\x79\x74\x09\x64\x4a\x46\x9b\xdb\x20\x69\xb2\x1d\xc2\x54\x95\x93\xa3\xb7\x7e\x87\x9b\xf9\xcb\x3a\x3d\xc6\xfa\xdb\x33\x26\x5b\x77\xfb\x84\x4d\xeb\x26\x30\xcf\xd0\xd7\x3c\x14\x49\x24\x22\x0f\xd9\xfa\x61\x19\x57\x50\x4b\x47\x04\x1a\xe4\x10\xd2\x20\x5d\x18\x9f\x3a\x72\x0a\x36\xf5\xb7\x96\xea\x51\xab\xe1\xef\xb2\x41\x61\xb7\x0e\x5f\xbb\xa9\xee\x2d\xf2\x67\xb0\x9c\x09\x4e\x58\x34\xbe\xd6\xb2\xde\xb2\x73\xd8\x0d\x27\x9f\xbe\xa9\xf5\x06\x3d\xbf\x81\x37\x74\xff\x27\x1b\x15\x78\x7b\x45\x6c\x74\xb9\x04\xd2\x3b\x67\xc0\xa2\xf7\x94\x0e\xab\x5c\x61\xb1\xb4\x95\xd7\x3c\xbd\xff\x8e\x57\x06\x94\xb5\x09\x7a\x3d\x53\xfe\x9f\xac\x58\xfa\xeb\xe1\x4d\x68\x1e\x42\x34\x0f\x26\xac\xd1\x89\x02\x67\x37\x61\x21\xa8\x49\xb6\xfc\xd2\xaf\x8d\xa2\x4d\xb6\x68\x4c\x9c\xb2\x24\x30\x34\xc3\xcd\x6c\xd2\x82\x02\x41\x9a\x57\x55\x46\x4a\x45\x1a\x65\x1b\xf4\x83\x2b\x47\xcc\x9b\xcb\x66\xb7\x6c\x9e\xd7\xb4\x6c\x6e\xc7\xa1\x49\x38\x31\xe2\xea\x1b\x46\xf2\xa2\x30\xa7\xda\xcb\x25\xee\x9f\xfd\xfd\x93\xbb\x7e\xbb\x7b\xca\x5e\x05\x17\x80\x9e\x5b\xcf\xe9\x38\xbc\x91\x73\x15\x7b\xeb\xa7\x0e\x1a\x40\x7e\x40\x3e\xec\xb1\x84\xff\xf4\x64\x81\x5b\x57\xaa\x03\x6c\x58\xd8\xb5\x9b\xf2\xf8\x51\x7e\x3e\x98\x0a\x47\xf1\xf9\xe5\x9b\x9b\x96\x1f\x99\xbb\x6a\xf3\xee\x57\xad\x2b\x8f\xcf\x8b\x63\x48\x06\x62\x83\xa6\xbe\x78\xe2\x5e\x30\x1c\x1c\x9a\x11\x6b\xf9\xc2\x02\xae\x20\x77\xb7\xd3\x19\x75\x83\x3e\xda\xb4\x7e\x34\x84\x61\x66\x4f\x11\xdd\xac\xc7\x05\x35\x85\x85\x46\xfd\x84\xe9\xea\x23\xa1\x16\xbc\x6f\x6f\x26\x53\x7b\xed\xb6\xe8\xba\x5e\x08\x95\x20\x84\x24\x8b\x19\xa8\xd6\x9f\x0f\x56\x03\xf0\xe5\xc0\x45\xc5\x64\x22\x0d\x79\xa5\x7d\x11\xa4\x53\x7a\x88\x82\x83\x6f\x3d\x3d\xfb\x93\xc5\x06\xc3\xcf\x0d\x6e\xc3\x92\xdc\xe1\x48\xf2\xcc\x45\x94\xc9\x46\xf0\x8c\x25\x9a\xdf\xe2\xdf\xcc\xea\x7e\x05\x67\x3a\x73\x9d\x3c\x3a\x4d\xfe\x35\xeb\x37\x8b\x0d\x6e\xc3\xcf\x0d\x34\x6e\x36\x03\xe8\x4c\x92\xc6\xa5\x7e\x8b\x3f\x99\x7d\x21\x43\xe3\x76\xe6\xed\xc8\x08\xd5\x43\x96\xe6\x39\x3a\x04\x24\xf4\x92\x73\x52\xe2\x06\x09\x85\x82\x55\x38\xe9\x67\xe2\xb1\x74\x33\xcb\x8f\x69\x5b\x52\x49\x9e\xdc\x3d\x77\xd3\xd6\x1f\xcd\xc4\x5b\x1b\xba\x9f\x8d\xee\x99\x00\x2c\xf9\xc7\x7f\x5d\xfd\xc2\xda\x7a\xa1\xb5\xb6\xd9\x5c\x6a\x72\x0d\x1c\xb1\x70\x31\x8f\x66\xb5\xb5\x4c\xcd\xed\xbb\x7a\xc6\xa9\x6d\xd9\x89\x78\x70\xaa\xeb\x9f\xed\xcb\xa5\xa1\xef\x93\xbf\xcf\x7a\xe0\xcd\xf5\x5c\x2c\x1a\x8c\x0c\x9a\xd5\x10\x36\x5f\xa2\x0f\xad\xec\x45\xd3\xa3\x08\xd5\x31\x8a\xa1\xa9\x41\x5c\xe2\x38\xbd\xc2\x6a\xb5\xa1\x2c\x95\x79\xc0\x62\x3f\x16\x1d\xc1\x2a\x88\x6a\xd8\xb1\x02\x85\xf0\xfa\xf6\x0b\x75\x26\x93\x6a\x00\x6b\xa0\xf7\xbf\x36\xa3\xd1\xac\xa9\xd8\x64\x9f\x4e\xf1\x9b\x17\x02\x3a\x8f\x2a\xc7\x2a\x5e\x7f\x79\xc8\x59\x22\x49\xbe\xf0\xd8\xaa\xca\xb1\x61\xbf\x43\x8e\x3a\x43\xe5\x7e\xaf\x32\x76\xba\x16\x18\xa4\x17\x95\xf9\x38\x95\x55\x63\xc3\x3e\x49\x2a\x51\xe3\x7c\xf3\x16\x1a\xea\x2f\x0f\xad\x1a\x9b\x01\xd4\xf3\x3f\x33\x76\x55\x17\x1a\x56\x9b\x1c\x29\x7a\x83\x5e\x51\x99\x8e\xbf\xf3\x22\x4b\xb2\x90\xf5\x7a\x9c\x1e\xc9\x64\x11\x5d\x6e\xaf\xcf\xe5\x12\x2d\x26\xc9\xe3\xf4\x78\xa9\x2f\x75\x41\xa6\x53\x0b\xf5\xba\xb5\xd0\xcb\x22\xba\x5d\x1e\xa9\x73\xec\x2a\xe8\x24\x99\x9e\x63\x15\x63\x19\x35\x61\x64\xd2\x57\xe1\x2c\x2e\xaa\x57\x6e\x6b\xff\xce\x0b\xad\xcd\x53\x7d\x15\xa7\x8e\xc3\x03\x8e\x80\x35\x6e\xd5\x43\xc0\xaa\x07\x1d\xfa\x1a\x65\x79\x04\xe8\x7c\x16\x3a\x71\x26\xcb\xa3\x0b\x59\x16\x75\x67\x71\x06\x67\x72\x9d\xbd\xdc\x28\x9d\xb4\x1f\xb4\x20\x09\x21\x3d\x68\xac\x4f\x16\x5b\x38\x2e\x06\xec\x58\x10\x03\xd6\x18\x6b\x63\x10\x0e\x2e\x25\xbf\xbf\xf7\x67\x9a\xbc\xf9\xd9\x73\x0c\xb7\x71\xf9\x0f\x72\xe8\x67\x30\xf7\x6d\x7c\x6d\xee\xe3\xe5\x1b\x7b\xa4\x50\x0e\xdd\x4b\x7e\xbf\x14\x3f\xc0\xa0\xb7\xc9\xfd\x97\xa4\xad\xa8\x27\x6d\x6a\x97\xa1\xb6\x34\xb5\xb9\x45\x69\x0b\x83\xa8\xb6\x70\x4e\xd3\x2b\xa0\xa8\x65\x53\x6e\x8f\xc1\x6d\xf8\x8c\x74\x74\xe2\xe1\xaa\x03\xde\xdd\x64\xb1\x3a\xe0\x09\x93\x4d\xcb\xc3\x39\x32\xca\x61\xa5\xb1\x7a\x22\x69\x71\xa2\xb6\x3c\xdf\x92\x80\xd8\x29\xa8\x43\x1d\x49\xca\x7e\x46\x66\x35\x9b\x61\x3e\x5a\xc5\xa8\x95\x30\x0f\x5a\xa2\xed\x11\x09\x04\x29\x92\x31\x8e\xc7\xfc\xbc\x9c\x47\xdb\xe6\x29\xa8\xab\xec\x07\x39\xe4\xc7\xb2\xa0\x44\xe9\x40\x92\x2b\x34\x18\xfc\x89\x70\x04\x86\xfc\xe2\xf6\x86\x25\xa3\xdb\x63\x75\xfe\x9a\x82\xe2\x86\xa9\x1b\xc7\x77\x9c\x58\xf8\xfe\xbd\x27\xc7\xd5\x7a\x26\x9a\x7d\xb0\x93\x5c\xbc\xf5\x1f\x7b\xa7\xdc\xf2\xea\x92\x29\x37\x2f\x9a\x52\xdf\x50\x56\xef\xee\xb8\x6e\xdc\x5a\xa5\x65\xfc\x94\xa9\x23\x6a\x0b\x98\x47\x57\x8e\x9e\x34\x00\x0a\x25\x3f\xbb\xdd\xed\x95\x47\xd4\xb4\x31\x19\x3e\xe4\x2b\xf5\x18\x0d\x33\xbe\xdc\xff\x52\x24\x35\x67\xec\xb6\x31\xd7\x7a\xc7\x2d\x99\x5a\xb2\xf2\xf1\x8e\x43\x7f\x9d\xd3\x92\xbc\x33\x18\x86\x3b\xef\x03\xd8\xbf\xe4\x8d\x3b\x66\x2a\xcd\xf3\xe6\x5f\xbb\x76\x7f\xea\xb5\xb9\x63\xcb\x1a\x8b\x8b\xe4\xca\x86\x25\x6d\x16\xeb\x95\x3f\x60\x19\xb9\xac\xc0\x53\xc9\x5d\x51\xe3\x00\xc7\xa0\x4b\xfa\x82\x29\x54\x67\x9f\x88\x56\xe1\x68\xa2\x67\xf9\x2a\x24\xc9\x69\x25\xaa\xe1\x91\xd8\x29\xf2\x2d\xe3\x03\x89\x1a\xae\x72\x6a\x19\xc9\x0e\x4d\xf6\xa7\x7b\xa1\x8b\x69\x33\x17\xe2\xdf\x82\x53\x7f\xe7\xe7\xa1\x70\x89\x9e\xc5\x35\xe1\x94\x15\xec\xe2\xac\xa8\x21\x30\x24\x3e\x76\x0b\xb6\xcc\x9d\xef\x2b\x89\x79\x60\x42\xc3\xdc\x36\xb9\x2e\x3a\x64\x4c\x76\xc2\x82\xa7\x96\x32\xec\xac\x13\x2b\x9e\x9d\x65\x2f\x68\x2c\x5b\x33\x6d\xed\x9d\x3f\x58\xbc\xea\xaa\x2a\x5d\x48\x2a\x0d\xa7\x6b\xdb\xcb\x96\xdd\xb9\xf8\x12\x1e\x83\x4f\x7f\x38\xc8\x60\x8c\x78\xb1\xb1\x00\x87\xab\xcd\xe6\xf0\xd0\x94\xc1\x67\x5f\x3b\x56\xb0\x74\x4c\xf5\xe9\xcc\xde\x52\x37\x57\xdf\x76\x73\xf5\xed\x0b\x37\x0c\xab\x59\xf5\xcc\x7c\x58\xfe\xd4\xea\x2b\x3d\xce\x15\x63\x87\x9d\x58\xb7\xe4\xe8\xb2\x0d\x8e\x39\xf5\x33\xea\x5a\xa3\x9e\x7d\xf8\xf7\x97\x6e\x78\x60\xf2\x3a\x5e\x0d\x43\x34\x7e\x19\xf3\x6e\x38\x51\x85\x43\x01\xc9\x66\xc1\x42\x20\xd6\x0c\x36\x8b\x09\x87\x02\xc1\x2a\x6c\x69\xc6\xf1\x40\xcc\x0f\x6c\x36\x6f\xc7\xaa\x9d\x18\x6a\x15\x4b\xb6\x6e\xd8\xb7\x6f\x03\xec\x58\xfc\xfc\xf5\x3f\x53\xfb\xb6\x1c\xea\xe9\xe5\x18\xd5\x85\x9d\x7d\x37\xf4\x9c\xa6\x93\xbf\x93\x37\xc9\xdf\xa7\x8f\xbb\x1e\x1e\xba\x6c\x7c\xd0\x6f\x3f\x21\xa2\x68\xf9\xc8\x09\xda\xdb\x71\x3e\x35\xc0\xf6\x9a\xf5\xdb\xfd\xd0\xfb\x9e\x85\xbd\xef\x66\x1f\xbf\xe4\x8d\x40\xf2\x8f\xee\x19\x43\xdc\x72\x49\x62\xa8\xfc\x47\x48\xaf\x9e\x4c\xc8\x86\x9c\xa8\x82\xa2\x72\x05\x82\x4a\x0b\xa8\xb5\xdf\xa2\xb6\x8d\x68\x5c\x89\x72\x10\x10\x24\x99\xa5\xa0\xfc\xa2\xa4\x99\x3c\xd3\x71\x43\x31\xb2\xa0\x62\x94\x4c\xa4\xd2\x51\xb5\x1b\x55\xeb\x0d\xb2\x20\x75\xce\x46\xe9\x69\xe3\x01\x47\x20\x9a\x77\xc5\x64\x48\xc5\x63\xf8\x02\xf9\x69\x49\xc8\x79\x7a\xe0\xb0\x5d\xa7\x4f\xef\x5a\xfb\xd8\x83\xcf\xda\xea\x60\x35\x14\x93\xe2\x2b\x96\x38\x38\xee\xf4\xae\xc6\xa6\x13\x66\x83\x64\x76\x84\x6c\x27\x66\x9d\x06\x1d\x34\x92\xf3\xe4\x26\x72\x7e\x4c\xdb\x40\x72\xbf\x2d\xf0\x8a\xdc\x7d\xf4\x14\x39\x0f\xc2\xa9\x35\x0b\xae\xa3\xa6\x95\x90\x85\x27\x26\x7d\xac\x19\x46\x06\xec\x50\x30\x63\xc1\x29\xc8\xb6\x15\x77\x15\x9d\x26\x5f\x9f\xbe\xe5\xaf\x93\x5a\x6e\x83\xec\xae\x45\xb7\xff\x04\x74\xa7\x9d\xa4\x5b\x4e\x98\x0a\x7c\xc0\xce\xd9\xb1\xeb\x34\xd0\xe7\x82\x70\x6a\xee\x0f\x5b\xe6\x91\x72\xf7\x0f\x3e\x04\x01\xd6\x80\x90\x7e\x5a\x49\x28\xd9\xac\x92\x50\xbc\x64\x55\x45\xff\x7d\xd5\x02\xad\x39\xe5\x68\x64\x1f\x02\x57\x8f\x3e\x59\xec\x01\xa3\x62\x78\xaa\x0b\xc6\x97\xf0\x08\x87\x2e\xc7\xb7\xb2\x26\xd2\x62\x33\x84\x8b\x59\x49\x16\x7b\xf4\xc3\xac\xa6\xbb\xf5\x0d\xe3\x42\x72\xf7\x52\x39\xc4\x0d\xe3\x14\x3f\xab\xf8\x95\xff\xf6\xda\x73\x59\xbb\xd7\x6b\xc7\x59\x3b\x1c\x57\x23\xe7\xd0\xc8\xa5\x23\xb3\xae\x45\xfa\x93\xe0\x81\xc9\xe0\x39\xa9\x5f\x22\x43\x41\x3f\xfd\x2f\x2e\x84\xac\xec\xf3\xc9\x24\xeb\xaf\xaa\xc2\x57\x96\x78\xbd\x25\xde\xdc\x8c\xdc\xe1\x6c\x72\xe4\xc8\x64\x56\xfb\xc5\x33\x56\xad\x84\x9f\x8e\x5e\xdf\xd8\xb8\x7e\x34\xa9\x5f\x48\xfb\x85\xbd\x3a\xc4\x7d\x8d\x0a\x50\x15\x1a\xaf\xed\x36\x09\xe4\xbf\x1d\x97\x88\x6a\x38\x56\xf1\x80\x12\xce\x6f\x23\x08\x68\x8a\xac\x80\xc4\xc6\x63\xcd\x18\xd4\x89\x81\x66\x44\x19\x0a\xa2\xa8\x26\x3f\x1a\x80\x0e\x38\xc3\xf1\x18\x92\xe3\x31\x89\x7b\x3a\x16\xce\x0d\x0a\xc7\x62\x61\xfc\x42\x18\x74\x72\x77\x99\xea\x66\x6e\x98\x4a\x3e\xf8\xe1\x49\xf2\x8b\x47\x65\xe6\x97\xaa\x47\xf7\x55\x53\x21\xfa\xc3\x5d\x5f\x9d\x58\x0c\x6b\x63\xe1\x9d\xd6\x9d\x1f\x92\x77\x1e\xfa\x27\x59\x76\xc5\xf3\x6a\xe8\x2e\xeb\xce\x0f\xa1\xe6\xe8\x3f\xe0\xf6\x2b\x4e\x87\x63\xf8\x77\x6d\xf1\x78\x5b\x7c\xf2\xe4\x89\xb1\x50\x38\xf6\xbd\xa3\x8f\x92\xf7\x4e\xf6\xb8\x17\x3d\xfa\x25\xec\x0a\xc5\x26\x4d\x7a\x88\xbc\xf3\xd1\x4e\x30\x9c\x8d\x85\xe9\x15\xd4\x7c\xb4\x93\xfc\xf3\x6c\x0c\x21\x1e\x15\x5c\x44\xec\x3f\xf2\xdf\xd6\x83\x2a\xd0\x3a\x8a\x29\xce\xc8\xb6\x64\x22\x14\xa4\x7b\xa5\xab\x30\xd8\x45\x55\x7c\x32\x6a\x93\x60\x28\x39\x75\x2a\x99\xa0\xfd\x0a\xcf\xe4\x55\x5a\x29\x6b\xa2\x0a\x34\x80\x2c\xde\x61\xf7\xb3\xe9\x18\x85\x4f\xd2\x20\xc9\x1d\x76\xc9\x21\xf0\x0e\x25\xca\x87\xf2\xd4\x6b\xc9\x44\x5a\xca\x77\x3c\x74\xb9\xa2\x6f\xa3\xb0\x66\x2a\x2e\x4a\x72\x33\x47\xd5\x86\x8c\x9f\x71\xd8\xb1\x86\xe6\x8f\x99\x53\x6b\xd6\x1d\x56\xea\xc8\x0d\x7e\x26\x12\x2c\x2c\x0b\x91\xb7\xee\xb7\x16\x9b\x1b\x37\x8d\x1c\x20\xda\xc7\x2c\xda\x15\x34\xc9\xc5\x46\xa5\x6e\x90\xcf\x1e\xbf\xcf\xd5\x70\xfe\xde\xdf\x1d\xbc\x13\x3b\xec\xb5\xe4\xf5\xb5\x91\xc2\xc2\xf2\xd6\x29\x53\xc7\xfb\x2c\x82\xd3\x62\x66\xbd\xad\x4d\xc5\x99\x69\x11\x86\xbd\x4e\xaf\x0b\xe0\x71\xa9\xf1\x0f\x07\x12\xba\x51\xb5\x85\xbe\x47\x7d\xe5\xa9\x35\x93\x66\x7b\x37\x37\xf9\x4a\x1f\x1c\x3f\x7a\xe7\xcb\x3c\xe6\xab\x4a\x07\x37\x8f\x89\x0c\x1d\x7f\x7f\xd3\x18\xc5\x34\xfb\x58\xf7\x9d\x2b\x57\xdd\xfe\x01\x7b\x2d\x79\xc6\x01\x3f\x1e\x5c\xdb\xbd\x6a\xac\xae\xcc\x85\x05\x81\xd9\x3d\x8f\x4c\x33\x70\x30\xe7\xc3\x50\xf7\x3f\xc2\x47\x6e\x70\x9b\x9c\xa3\x8b\xc7\xce\xcb\xa4\xc8\xbd\xa5\x2d\xb7\xfc\xe0\xd8\xc3\x80\xcb\x07\xb4\xdb\x6a\x92\x05\x9c\x3f\x98\xf0\x8a\x2c\x8b\x45\x31\xec\x75\x4b\xce\xaa\xbd\x43\x8a\xd6\xfa\x0b\x0b\xb1\xe1\x6d\x2c\x98\x92\xc3\xef\x19\x17\x0c\x64\x0a\x17\x5b\x0b\x83\x1f\x4f\x4b\x2f\xd8\xe2\x1e\xe1\x6f\xde\x6c\x86\xb7\x97\x8c\x5d\x90\x7b\xce\xca\x5b\xb6\x5d\x79\xcb\x82\x61\xf3\x86\x2f\x27\x6d\xe6\xe6\xd9\xb3\x32\x07\x48\xf7\x0b\x57\x96\xd5\x81\xb1\x8f\xef\x4f\xed\xff\xdc\x28\x45\x71\xe2\x11\xc4\xfb\x77\x66\xa1\x7c\xef\xa7\x76\x74\x91\xef\x0c\x49\x45\x12\xea\xe0\x35\xaa\x04\x8a\x05\x13\xd6\xbe\xa0\xec\xc7\xb2\xc4\x06\x8a\xd3\xcd\x38\xdd\x0c\xa2\x35\x60\x65\xac\xef\x98\x1e\xde\xf1\xc0\xa9\x67\x6f\xb8\xed\xa8\xf1\x0c\xd7\x14\xaf\x6b\x31\xb8\x53\xd1\x39\xf8\x97\x6f\x9b\x8e\xf6\xf8\xbf\xc9\x36\xc7\x54\xff\x64\xb4\x26\x0d\x2b\x8a\x2a\x79\xb3\x17\x4f\xce\xdd\x9b\xfb\xde\x24\xce\x65\xe5\x2b\xfd\xfe\x4a\xde\x26\xf3\x15\xb0\x07\x44\x3c\x6f\x0a\xe7\xb4\x72\x55\xfe\xce\xaf\x11\xb6\xdc\xf7\xa3\x3f\xbe\xf6\xf2\xff\x9c\x38\x94\x69\xdb\xb4\x6e\xc0\xb0\xc1\xe1\x7d\x97\x7b\xb4\x3f\xf5\xce\x6b\x4d\xba\x42\x1b\x6e\x69\x61\xcd\x46\x5d\xe3\xab\x3f\x7b\xf7\xd5\x26\x9d\xc9\xc4\x05\x8a\x07\xb2\x26\x93\xbe\xf1\xa7\xcc\x99\x0b\xaa\xd8\xea\xe9\x57\xb8\x0e\x2e\x8b\x7c\xa8\x41\xb3\x78\xcc\x03\xa4\x2b\xfd\x18\x1d\x69\x4b\xa7\x8c\xc3\x26\xe8\xe9\xec\x7b\x98\x1d\x53\x3d\x17\xcc\x39\xca\x2d\x79\x68\x15\xf9\x82\x3a\x6c\x26\x78\x77\xcf\xa7\xbb\x21\xbb\xfb\xd3\x3d\x64\x80\x7a\x7d\xc8\x64\x03\xcb\xaa\x43\xd4\xc1\xdc\x4c\x2c\x34\xce\x17\xab\x0e\x75\x51\x60\x6f\x2e\x63\xb2\xed\xfe\x14\x86\x77\xdf\xbc\xe7\xd3\xdd\x36\x13\xa3\x4d\xe2\xd1\xa1\x55\xcc\x2a\x6d\x0f\x08\xdb\x6f\x0f\x48\x33\xb5\xe0\x41\x97\x5b\xc7\x72\x1a\x56\xb5\xd0\x03\x58\xdd\x00\xb1\x9e\xa0\x6f\xbb\x8a\x24\x7b\x0d\x75\x68\x58\x1e\x6f\xfd\xb2\x11\x4d\x91\xc7\xf9\x86\xd3\xeb\x75\xbe\xe1\xf4\x10\x69\x60\x72\x77\xab\xd7\xdb\xba\x23\x39\xd0\x91\x96\x3c\xae\xd9\x4e\xaf\x23\x25\x79\x9d\x73\x9d\x1e\x29\xed\xc0\xa3\x06\x25\xc9\xd7\xc9\x41\x52\xda\x51\xd4\xf2\x62\x72\xd0\xd6\xbd\x1d\x5d\xef\x76\xec\xdd\xdb\xc1\x0e\xe8\xd8\x8b\x9f\x5a\xa3\x3e\x45\xfd\x21\x17\x92\x03\x13\x89\x81\xc9\x0b\x92\xf4\x07\xd5\xef\x0f\xbd\xe7\xf5\x77\x27\x07\x0e\x4c\x92\x85\x0e\xc7\x93\x65\x03\xf1\xbd\x7d\x77\xef\xed\xcf\x5d\x88\x91\x9e\x5a\x11\x06\x3c\x10\x50\xff\xeb\xbf\xb1\xaf\xf0\x56\xf2\xc1\xad\x9f\x41\x9a\x9c\x26\xc3\xc8\x69\x48\xc3\x36\xbc\xf4\xd8\xfa\xee\xcc\xfa\x63\xc7\xd6\x33\x9d\xeb\x8f\xc1\xcb\x38\xda\x7d\x07\x8b\xba\x11\xd4\xe3\x23\x7d\xfe\xc7\xd4\xea\x20\xf7\xe2\x31\x8e\x42\x93\xd0\x5c\xb4\x18\xad\x40\x6b\xd0\x46\xb4\x0d\xed\x42\xd7\xa1\x5b\xd0\x01\x74\x0f\x3a\x84\x7e\x80\x1e\x42\xc7\xd0\xa3\xe8\x19\xf4\x1c\x7a\x01\xbd\x84\xce\x68\x58\xc7\x0c\xdd\x11\xca\xe4\xb5\xa0\x01\x5e\x3d\x34\xb9\xc6\xd0\x0d\xb7\x8c\x86\x7e\x20\x26\x54\x2f\x31\x2f\xdb\x02\x29\xf5\xd0\x60\x27\x44\x8a\xa3\x2b\xfa\x01\x02\x10\x82\x40\x2a\x06\xd4\x57\x4e\x5b\xa3\xbc\x00\x01\x39\x12\xe0\x83\x90\x4a\x47\x85\x50\x9a\x01\x19\xd2\x62\x00\x52\x5c\x1c\x02\x56\x59\x62\x02\x69\x30\x43\x3c\x29\x48\x56\xbb\x7a\x93\x6c\x4d\x5b\x65\xa8\x06\xc1\x9a\x8e\xf2\x91\x10\x27\x3b\xf4\x38\x12\xb5\x72\x42\x1c\x64\xb1\x1a\x2b\x4d\xc0\x28\x51\x3d\x4e\x32\x62\x48\x04\xa1\x05\x28\x1d\x5d\x01\xc8\x29\x1d\x72\xdb\xdf\x62\x5c\xf6\x97\x98\x80\xd3\x65\x21\xab\xac\x09\x2b\x59\x6d\x75\xcb\x41\xf6\x25\xbb\x8b\x79\xdb\xee\xf2\xd8\x5f\x85\xe0\xcf\xd8\xa0\xec\xb6\xc1\x0d\x96\x94\x05\x6e\xb2\xa9\xa1\xef\xc8\xc5\xc2\x73\xa2\xab\x3b\x0a\xbb\xc9\xb1\xef\x91\x63\xb0\xd8\x56\xd6\x3d\x03\xf0\xbb\xe6\xd3\xcf\x19\x2d\xf8\x28\xd9\xf2\x02\x2e\x23\x7f\xb4\x54\xe0\x47\x81\xcd\x58\xfd\x52\x37\xf9\x55\x0b\x6c\xb0\x0c\x24\x93\x60\x94\xae\x7b\x15\x07\x93\xc9\x3e\xd6\x64\x83\xfd\x19\x72\xe6\xde\x97\x1e\x3c\xca\x82\xee\x11\xff\x5d\x50\xfa\x9b\xdf\xb0\x6f\xbd\xc8\x33\x1b\x2c\xb9\x5b\xdf\x27\xff\x05\x69\x28\xc9\x5d\xbd\x17\xfe\x50\x36\x09\x22\x7f\xd9\xc5\x80\xa4\xfb\x15\xa7\x23\x23\x21\xd5\xdd\xf9\xe0\x83\x0f\x3e\xc8\x36\x0d\xd8\x51\xf2\x0e\x66\x1e\xd9\x3e\x8a\xc3\xdb\x1d\x45\x2c\xb9\x47\xaf\xb7\x17\xb1\xe4\x51\x9d\x4e\x0e\xda\xec\x76\x7b\xc0\xa9\x2b\x84\x31\x6c\x91\x5d\xaf\x87\xf9\x5c\x91\xdd\x51\xc4\xc2\x54\x60\x21\x6c\x86\x65\x06\x9d\x33\xe0\x70\x38\x1c\x01\x27\x5f\x48\xee\x86\x80\x64\x34\x91\xd3\x6c\x51\xf7\x5b\x30\x8f\xdc\x67\x61\xbc\xac\xde\xc0\x91\x3b\xf9\x57\x61\xc6\xcb\x3a\x0c\x9d\xaf\xbd\x66\xe9\x9a\xc8\x73\xad\x63\x96\x80\x81\xbc\x95\x21\x37\x7b\x21\x45\x1e\x66\xcd\x30\x8f\x9c\xe4\x39\xd8\x38\x08\x06\x1e\xf9\xe8\xf9\x93\x3a\x26\x09\x18\x2c\xc6\x93\x60\x2c\x20\xaf\xdf\x0b\xf5\x7f\xfa\x58\x47\xbe\x1e\xf1\x3a\x2e\x3c\xf7\x49\x39\x79\x85\xbc\x04\x71\xf3\x8d\xe4\xd3\x8f\x2a\x60\x6f\x17\x5e\xc5\x81\xc3\x68\xc1\xb0\x11\x58\x52\x43\x4e\xc1\x3f\x7f\x43\xfe\xd0\x7d\x1d\xf9\x3d\x78\x7e\xf7\xbb\x36\x58\x62\x60\xc1\x0c\x25\xb9\x7b\xc6\x33\xda\x7a\x09\xc5\xff\x37\x22\x0f\x42\xb4\xfa\xf7\x36\x86\x48\xb4\xbf\x21\xde\xd3\x3b\xf1\x1f\xa0\xe3\xe9\x9d\xdd\x7f\xdf\xf9\x34\xfb\xee\x63\x99\x2a\xe2\xad\xca\x0c\xac\x64\xa6\xee\x7c\x11\x16\x5e\x18\xb4\xeb\x85\x17\x76\x85\x9f\x84\x87\xab\x06\x0d\xaa\x22\xf6\xaa\xc1\x9a\xbc\xd9\xc9\x23\xee\x1a\x64\xa0\xcc\xde\xa5\x08\x01\x8b\x18\x75\xe0\x12\x8e\xc7\x38\x49\x56\x2f\xa2\x36\x04\x36\x14\xd1\x2e\x38\x25\xca\x0b\x29\x94\xe6\x05\x89\x39\x42\x7e\x4c\x82\x1b\xec\x6f\x41\xc7\xbb\xe3\x61\xfe\xac\xa1\xe4\xea\xdc\x2b\x2b\x67\x35\xaf\xc2\x29\xf2\xe0\x5a\x6c\x85\x2b\x4a\x4c\xe4\x43\x92\xd9\xb0\x88\x79\xe7\xa5\x13\x7b\x0e\xae\x80\x11\x6f\x3a\xc6\x0e\xe4\x96\x6e\x22\x3e\xf2\xd2\xb4\x29\xef\xc2\xdc\xb7\xae\x1f\x38\x7d\x75\xee\x25\x72\xf5\xb0\xe9\xb0\x03\xd7\x77\x35\xc2\x7c\x6c\x5f\x3f\x73\xd1\x46\xd2\x4c\x7e\x6d\xb2\xc7\x06\x4e\x94\xdf\x82\x91\x57\xde\xb9\xeb\xd1\xbc\x6c\xd0\x21\xf6\x5f\xd4\xf6\x57\x95\xe4\xa2\xc6\xf2\x43\x35\x24\xe5\x20\xa6\x02\x31\x39\x15\x2f\x86\x98\x44\x87\x2b\xd4\x9f\x51\x27\xba\x72\x2a\xad\x91\xd3\x09\x94\x1d\x4a\x4e\xc9\xc2\x82\x83\x3b\xb7\xbe\xf6\xd2\x6f\x6f\xbb\xed\xb7\x2f\xbd\x96\xdd\xc2\x1d\x3c\x07\xf8\xb3\xbb\xef\xfe\x0c\x30\xf9\x72\xfb\xdb\xf7\x6e\x79\xe4\x95\x73\x07\x0e\x9c\x7b\xe5\x91\x2d\x4b\x36\x3d\x36\xfd\x8d\xe3\xc7\xbf\x4a\xff\xe2\xb6\x3b\x3f\x7e\xec\xd0\x9a\x2d\x3f\x5b\xf7\xb3\xc3\xc7\xdf\x60\x37\x76\xe9\xea\x66\xdc\x76\xdb\x8c\x3a\xf6\xeb\x6d\x4b\x97\x76\x1d\xa9\x1b\xc8\xe4\x46\xdf\x78\xe3\xe8\x6e\xa6\xbc\x22\xb4\x7c\x79\x90\xd9\xc7\xde\x71\x70\x50\xf7\x84\x78\x6c\xe1\x32\x4e\x1b\x47\x1f\xd6\x21\x6e\x46\xef\x7e\x8b\x99\xff\xfb\x75\xe8\x6f\x5c\xf7\x01\xac\xf6\x43\x5a\xa1\xb2\xc5\x0f\xdc\x87\x7e\xfb\x2c\xbb\x9f\xfe\x90\x4f\xfd\xf6\x05\xaa\x7b\x81\xdd\x4f\x3e\xfc\x76\x37\xb7\xf7\x4f\x47\xba\xc2\x47\xfe\xb4\x75\x89\xe1\xfb\xab\x17\x8e\xae\x84\xb2\xe7\x6f\xef\xbe\xd5\xb4\xe7\xf8\x61\xfc\x91\xc3\xef\x77\xe4\x42\x6a\x44\x2c\xaa\xbf\xb9\x3f\xab\xbf\xf0\x43\xf5\x97\x4c\xa0\xee\xa5\xd4\x7d\xc0\xee\xf7\x1f\x39\xf2\xa7\x3f\x1d\xb9\xea\x95\x58\x30\xba\xfa\xfb\x83\x9f\xfe\xfc\xd6\xee\xdb\x07\xd5\x06\x7e\x8d\x10\x8a\x22\x74\xb1\x99\xd7\xf6\xce\x68\x3c\x6d\x0e\xca\xd4\x16\xa0\x5c\x6d\x95\xa8\x06\x25\x51\x1d\x6a\x42\x03\xd1\x10\x34\x1c\x8d\x42\xe3\xd0\x24\x34\x0d\xcd\x42\x73\xd1\x22\xb4\x0c\xad\x44\x6b\xd1\x06\x74\x35\xda\x86\x76\xa3\xeb\xd0\x8d\xe8\x16\x74\x3b\xba\x0b\x1d\x46\xef\x23\x64\x0d\x58\xf5\x10\xa1\xbf\xc9\x80\x43\x74\x84\x92\xf2\xe5\x47\x5a\x16\xfa\x1f\x2d\x70\xe9\x01\x8e\x50\x32\xf0\x6f\x0e\x35\x3c\xee\x48\x7f\x47\xa8\x9c\x54\x43\x85\x6f\x39\x22\x3d\x23\x2c\x0a\x7e\xe3\xc7\x29\xcd\x1c\x2d\xd4\x6b\x4f\x07\xbc\xa2\x61\xfd\x4b\x72\x3c\x5d\xc5\x87\x82\x26\xcc\xa3\xee\xaf\x73\x3a\xee\x9e\x0b\xaf\xe1\xdb\xf1\x83\x17\x5e\x1b\x17\xe9\xf9\xd7\x62\x5e\x62\x2e\x32\x2f\x31\xfb\xe9\x79\xb1\x79\xcc\x12\xf3\x92\x8d\x4b\xcc\x4b\x36\xe5\xcf\xdd\x03\xd7\x80\x7d\x2d\x38\xd6\x82\x7d\x0d\xfd\xcb\xbb\xbb\x9e\x89\xac\x7d\xe0\x72\xff\x2f\x46\xaf\xed\x7d\x70\x24\xb7\x77\xfb\x33\xcf\x6c\xdf\xf1\xf4\xd3\xe4\x6c\xb4\xb1\xb5\x31\xba\x6a\xae\x9b\x29\x1a\x3c\xc7\x97\xae\x0d\xa5\xc7\x8e\x49\x97\x96\x38\x82\xc3\xcd\x8c\x9f\x09\xeb\xfd\x26\xb7\x54\xe8\x4b\x27\x03\x3c\xba\x70\x33\x39\x01\xe3\x07\x32\xf7\x75\xcf\x23\x1f\x70\x25\xaf\xbf\x4e\x7e\xb9\x76\xed\x6d\xfd\xfe\xbe\x17\xac\x0e\x98\x82\x55\x41\xf5\x30\x06\xaa\x82\xc1\xaa\x40\xf5\xec\xaa\x60\x95\x7a\xcc\xaa\x0e\x56\xb1\x3f\x0b\x5f\xf6\x8f\x1c\x1f\xb3\xf6\x52\x9f\xb5\x63\xc2\x97\x3c\xf3\xb6\xb5\x6b\x43\x4f\xef\xd0\x52\x0b\xd7\x84\x4b\xf5\x1c\x88\x8e\x9a\x78\x4b\x99\x41\xaa\x28\xaa\xaa\x16\xa0\xc0\xee\x70\xf2\x92\x5c\x0f\x66\xa6\x80\xe1\xb1\x41\xae\xec\xe1\x17\x58\xab\x43\xdc\x8d\x14\xef\xa1\xec\xb2\x39\xec\xb7\x6d\xce\xcb\xd3\xc8\xaa\x03\x8d\x39\xf7\x9f\xbb\xef\xbe\x73\x0c\xb9\xef\xdc\xfd\xf7\x9f\x83\x73\x2d\x95\x5f\xff\xaa\xb2\xa5\xa5\x12\x1e\xad\xc8\xe0\xaf\x32\x15\xf0\x68\x65\x0b\xec\x55\xc3\xee\x53\x23\xae\x5a\x7d\x1f\x5b\x7b\xe1\x74\x45\x4b\x4b\x05\xd7\xaa\xfe\x7e\xff\xfb\x15\x2d\x2d\xf9\x71\x68\x89\x0e\xb1\x67\x11\x42\xd3\x11\x02\xae\x07\xee\x48\xe8\xd3\xcf\xd3\x85\x66\x87\x5d\x50\xe7\x91\xea\x28\x02\xf5\x87\x48\xca\x5b\x0e\x24\x35\x25\x47\x8f\x29\xbb\x76\x43\x8a\x3b\x00\xec\x6d\x3f\xff\xe0\xbe\x49\x77\x6f\x5e\xb3\x78\xd1\x9a\x8d\x77\x4e\xb8\xfb\xc7\xef\xde\x3f\xff\x57\x93\xb8\x62\xaf\xce\xe4\x68\x5c\x40\xfe\xb1\x6d\xf7\x27\x7b\xc0\xf3\xf6\xc6\xf7\xef\xbb\x65\xf7\xb5\x87\xa7\x2f\xdc\xbd\x7d\x8e\x7f\x91\xd5\x5e\x64\xfd\xaf\xfb\xeb\x97\x35\xc5\x74\x66\x87\xab\xe1\xb1\xd9\x2f\x12\xb6\x8e\x39\xf5\xe6\x2b\xfb\xef\xfd\x59\x7a\xe6\xc6\x5d\xbb\x37\xce\x4c\x3f\x7d\xd7\xbd\xcf\x8e\x6c\x62\x7d\xa2\xc3\xe4\x4c\x4e\x5d\x7e\xd5\x2f\xaf\x7d\x0b\x2c\x53\xf6\x3d\x74\x74\xdf\x94\xab\x17\xcc\xc9\x46\xfc\x76\xdb\x68\xfb\xfd\xef\x46\x2a\x22\x0e\xb3\xe8\x19\x3c\xbc\xeb\x85\x88\xcf\x9c\x1f\xcb\x66\x39\x44\xf7\x12\x94\xa3\x29\xb4\xd4\xcb\x35\x4e\x4a\x1f\x50\x53\xb1\x06\xa0\x20\x23\x4d\x40\x51\x31\x34\x3e\x8e\xfc\x59\xa4\x0c\x0b\x94\x57\x20\x10\x93\x7a\x44\x5d\x33\xa4\x99\x9e\x35\x15\x3f\xab\x4e\xc3\xd9\x4e\xc5\x9d\x55\x12\x8a\xc6\xe1\x4b\x1d\xb9\x3f\x68\x36\xe4\x9a\x29\xf9\x99\x62\x57\xd7\x9f\x40\xe0\x9c\xcc\x9d\x6a\x94\x6e\xe4\x56\xa4\x08\x3e\xf9\xa6\xb6\x6c\x62\x71\x99\x0b\x58\x01\xd8\x93\x6e\x85\xb9\xf4\x29\xaa\x23\xd7\xdf\xb0\x9c\xe9\x24\xc8\x19\x61\x36\x0b\x3e\xa7\xc1\x32\x40\x49\x28\x8a\xdb\x14\x6f\x65\x99\xb4\x92\x50\x8c\xb6\x22\x29\x22\x28\x7d\xb8\xf6\x6a\xbe\x35\x7b\xfc\x09\x5a\x6d\x33\xf7\x98\xd1\x53\x06\x34\x19\xa4\x58\x1a\xfe\xaf\x79\xe6\x90\x92\x10\x6f\x55\x12\xca\xad\x62\x42\x11\x01\x89\x09\x11\x50\xee\xd6\xff\x73\xae\xc5\xfd\x10\x51\x03\xc8\xaf\xf7\x8b\x4a\x42\xbc\x88\x44\xf5\x79\xc1\xff\x7d\xde\x35\x1e\x0d\x6d\xfc\xce\x21\x3d\x2a\xa4\x7b\xcd\x14\x84\x44\x3d\x13\x88\x8a\x01\x3d\x0e\x44\x02\x0c\x1d\xd0\x47\x34\x95\x39\x65\xf6\x48\x83\x9a\xb7\xf7\xf0\x4a\xf2\x1e\x7c\x06\xb3\x72\x6d\xd7\xbd\x49\x2e\x90\x73\x4c\x0e\xaf\x24\xcf\x77\xbf\x8c\x8f\xbd\x49\xfe\x82\x57\xc2\x74\x72\x8e\x5c\x80\x69\x90\x35\x61\x4b\x77\xc6\x56\x6f\xeb\xce\x58\xb0\x09\xb2\xb6\x00\x9b\x0d\x30\x28\xb7\x08\xdf\xd5\xdd\xcd\xb0\x94\x6f\xa3\xfb\xbf\xf1\x5d\xd4\x01\xd9\x85\x04\xd9\xaa\xad\xdd\xc8\x6e\x67\x91\xb5\xda\x86\x91\x1b\x31\x48\xbc\x88\x84\x3f\xf3\x08\x0d\x47\x77\xa0\x43\x08\x71\xa9\x58\x11\x08\x51\x0a\x45\xfd\xef\x7f\xd2\xda\xe6\xd8\xef\xfc\x89\xf4\x8f\x64\x65\x94\x54\x0b\x58\xe3\xc9\x40\x32\xe0\x08\x38\xe2\x56\xd9\x0f\x02\x63\xed\x8b\xfd\x9f\x5e\x09\x8e\x08\x97\x54\xbb\x19\x41\x14\x13\x62\x76\xfa\x84\x09\xb6\x94\x6d\xc2\x04\x31\x21\x7e\xe7\x8f\x1a\xe9\xdf\x85\x4f\xb8\x50\xd9\x2f\x56\xe6\xe7\x56\xbb\xff\x64\x56\x53\x03\x65\x4f\xfa\xed\xd6\x9f\x8b\xfd\x9f\xf4\x6f\x5f\x07\x19\xc8\x42\x36\x4b\x90\x28\x6a\x0f\x14\xbf\xeb\xf8\x37\xa1\x9b\xd4\xd0\xf1\xe3\x45\x71\x7c\x06\x22\x50\xef\x6e\x32\xd4\x43\x79\x36\x9b\xcd\x92\xf7\xeb\x0d\x4d\x6e\xf2\x53\xf2\x6b\x9b\x28\xaa\x11\xfe\xcd\x43\x58\xb7\x06\xb9\xd9\xd3\xfe\xb8\x1e\x2e\x97\xc1\x68\x3d\x42\x01\xb1\x1a\x40\x34\x03\xe4\x49\x20\x83\x79\x2e\x48\x8d\xc6\x51\x1f\x8f\x35\x33\x0d\x10\xf3\x33\xf1\x58\xb3\x4e\xdb\x18\xdd\xdb\xf6\x98\x74\x34\xae\x0a\x5a\x4d\xd8\xa6\xd5\xce\x3c\x46\x41\x5a\x80\x02\xb9\x4a\x42\x5c\xf0\x33\x38\xd3\xd1\xa1\x16\x44\xb6\x03\x10\xc6\x86\xc9\x6d\x73\x05\xaf\x30\xb7\x6d\xb2\x81\xda\xe9\x16\x60\x5c\xc0\x14\x72\xc6\x02\xab\x4d\x36\x86\xab\x44\x83\xb1\xa0\xb0\xc0\x68\x10\xab\xc2\x46\xd9\x66\x2d\x30\x72\x85\x4c\x01\x8d\x05\x0f\xec\xdf\xd4\x7d\x60\xd3\x7e\xbd\xaf\x6a\x5c\x72\xfa\x2f\x25\xfc\xf2\xcf\xad\x43\xc2\xc5\x15\xfe\xe5\x8d\xcb\xfd\x15\xc5\xe1\x21\xd6\x9f\xbf\x2c\x78\x7e\x39\xbe\x65\x5a\x99\x05\x3a\xb3\x99\x5c\x16\x67\x33\x59\x1c\x63\xb1\x4e\xc4\x58\xd4\x61\xd6\xa6\x67\x04\x81\x0d\xe8\xdc\x3a\xbb\x50\xc8\xb2\xae\x50\xd0\xe5\x0a\x86\x5c\x2c\x5b\x28\xd8\x75\x6e\x5d\x80\x15\x04\x46\xdf\xfd\xe0\xa6\xeb\xaf\xdf\xd4\xb4\xe6\xba\x2b\xe7\xba\x3f\xcc\x64\x0a\xed\x25\xb5\x75\x65\xcd\x37\x97\x45\x9a\x9b\x23\x65\x37\x37\x97\xd5\xd5\x96\x8c\x1b\xf3\x49\x60\xdb\xa1\xef\xe5\xf5\x06\x39\x0e\xa1\x76\x34\x13\xad\x42\x08\x24\x13\x8e\x56\x41\x54\xa1\x8a\x12\xba\x04\x1a\xea\xb7\xf0\xad\xf4\xee\x09\xf7\x63\x39\x10\x8f\x86\x82\x4a\x9a\xea\xda\xd5\xea\x9e\x5f\x94\xe0\xcb\x41\x4e\xc9\x7e\x80\x58\x2a\x1d\xd0\x28\xd2\xe9\x72\x7b\x09\xa4\xbe\xb1\xc6\xae\xcb\x15\xb6\xee\x78\x6e\xd1\xf7\xff\x6c\x29\x1c\x33\x66\x68\xc7\x95\x11\xcf\x45\x34\xa4\x77\x19\xbc\xbd\xdd\x79\xf5\x8f\xe8\x76\xb0\xec\xe8\x6b\xaf\xa8\xf0\x61\xb4\x76\xd2\xc7\x7e\x85\x63\x15\x67\x2e\x60\x6f\x5b\x23\x7a\x16\xa8\x81\x4f\xac\xdd\x79\xf3\xf7\xde\xf8\xfa\xbd\xb5\x8f\xc9\xe4\xa7\x21\xbb\xcd\x7a\x6b\x75\xc5\xae\xd3\xa7\xb9\x2c\xe8\x4e\x5f\xba\xe6\x0e\x7f\x5f\xf4\xe2\xde\x76\xa1\xe0\xd3\x43\x2b\x5f\x1d\xba\x6c\xec\xa7\x3b\x3c\xd1\x9e\x95\x71\x4f\xe5\x95\x4a\x42\xf1\xc4\x7c\x52\xb6\xd2\x2f\xfb\xbd\x4b\xd6\x88\x8a\x3b\xeb\x56\x8e\xb7\x78\xdc\x67\x73\x5d\xb7\xac\x2c\x2a\x2e\x02\x87\xf1\x34\xf9\xfa\xf4\xe9\xcb\x97\xdb\xf3\xfc\x46\x5c\x96\x3b\x87\x92\x68\x8c\xda\x13\x06\xec\x26\x5c\x5c\x85\x35\x3c\x0d\x49\x96\x78\xc1\xc4\x0a\x7e\x36\xd6\xcc\xa4\x29\xb0\x06\xdd\xc2\xc8\x68\x6b\x55\xfd\x2d\x4e\x7a\xed\xf2\xf2\x3d\x06\x97\xbd\xfa\xad\x7f\x90\x0b\xff\x78\xeb\xea\x41\x57\x6d\x1c\xea\xae\x60\xb9\x22\x77\x7d\x47\x5d\x89\x19\x98\x01\xf3\x76\xbc\xf8\xde\x8b\x3b\xe6\x0d\x60\xc0\x5c\x52\xd7\x51\xef\x2e\xe2\xd8\x0a\xf7\xd0\x8d\x57\x0d\x22\x59\xc5\x9d\xd1\xb6\x38\x65\xdc\xca\xc8\x24\x64\x93\x23\x3b\x28\xd7\x55\xcb\x82\xa6\xa2\xa2\xa6\x05\x2d\x35\x63\x52\xa1\x42\xae\xc8\xed\xae\x60\x0d\x1e\xa7\x6c\x61\x0b\x8a\x42\x7e\xbb\xdd\x1f\x2e\x2a\x64\x4d\x4e\xd9\x63\x60\x2b\xdc\xee\x22\xae\x30\x94\x1a\xc3\x8c\x21\x59\xb7\x42\xb2\x9a\x3e\x42\x3d\x92\x23\x47\xc2\x51\x8d\x13\x0b\xf7\x72\xd6\x78\xa8\xf5\x54\xc0\x04\x66\xd0\x30\x2c\xa3\x81\x58\x2a\xed\x01\x8d\xcb\x45\x94\x25\xb0\x0b\x81\x68\x15\x08\xbc\x50\x00\x55\x10\xe4\x05\x26\x90\xc7\x88\xc4\x72\x33\x13\x57\x3b\x3d\xa8\xe1\x0c\x2c\x93\xbb\xc5\x96\xb0\xe5\x6e\xe6\x2c\xb0\x5a\x0a\x71\x6d\x2f\xf0\x41\xc9\x11\xe4\xf7\xd7\xda\x70\x74\x11\xf9\xde\x4a\x5d\x48\xac\x2c\xd8\xfe\x13\x3e\x54\x11\xe4\xae\x22\xd3\x16\x91\x73\xcd\xdb\x57\x8e\x0d\x87\xc7\xae\xdc\xde\x7c\x8e\x60\xc4\xeb\x19\x36\x77\xd4\x66\xc3\xd3\xb1\xcd\xe3\x00\x57\x6e\x81\xdd\xed\xb6\xc3\xef\x57\x85\xe0\xf8\x2d\x07\x3f\xb2\xda\x31\x57\x4a\xc6\xe3\x13\x76\xb7\xc7\x41\x06\x1c\xbc\xe5\xc3\xaf\xcb\x87\x67\xc2\xe1\xcc\xf0\xf2\xaf\xd5\x31\x1c\xbe\x88\xd8\x2c\xd7\x4d\xf7\xd6\x20\xb0\x23\xc1\x1a\xef\xa9\xd5\xbd\x0b\x75\xbd\x78\xbb\xd6\x2a\xc0\x94\x7d\x96\xb5\x85\x2d\x88\xea\x8b\xd8\x2c\x39\x7b\xf6\x5c\x1f\x68\x8c\xe6\x3c\xf0\xb7\xed\x85\x05\xfb\x3e\xd9\x7d\x0c\xca\x4e\x74\x23\xad\xc6\x91\xf3\xe4\x26\xa6\xf3\x23\x72\xca\x49\xba\xfb\x45\xd5\xcc\x89\x58\xcb\x09\xb0\x1d\xbc\xf6\x0f\xfb\xcd\xe2\x7e\xf2\xb9\x4d\xd3\xe6\xa8\x77\xf5\xd7\x83\x46\x51\xf5\x65\x9c\x90\x94\x0d\x19\x07\xab\x30\x55\x00\xcb\x90\x07\xc2\x89\x6b\x69\x43\x16\xae\xd3\xad\xd0\x17\x90\x1d\x5b\x67\x1c\x7c\xff\xf3\xf7\x0f\xce\x98\x71\xf0\xfd\x75\x67\xee\x81\xad\xa4\x8b\x2e\x56\x2e\xea\x49\x1a\x39\xcf\x65\x15\x37\xd1\xcc\x96\x78\xb2\xfd\x9e\x33\xeb\xb4\xd8\xea\x4d\x5b\x61\x2b\x7d\xcc\x85\x6c\x5f\x5e\x7a\x6d\x51\x58\x55\x36\x37\x69\x7b\xe7\x6c\x0e\x3b\x12\x1c\xff\xa6\x08\x93\x0a\xa2\x16\x67\x51\x45\x95\x1f\xb2\x5f\x95\x1a\x54\x92\x08\x7c\x4f\xa2\x99\xe6\x5b\x4e\x92\xb3\x67\x35\xc4\x06\xfa\x5a\xcd\x79\x96\x9c\x3d\x79\xcb\xe1\x16\x5e\xb4\x0e\x71\xe8\x2a\x3a\xff\xd4\x59\xa1\xf3\x35\x59\x45\xbe\x25\xf7\x83\xbe\x4c\xb0\x3f\x19\x46\xfe\xe7\x21\xb5\x94\x77\xf5\xbb\x95\x3a\x77\x39\x61\xe8\x47\x0f\x81\x63\x58\xc7\x49\x8b\xc7\xbe\x74\xc7\x8e\xa5\x76\x8f\xe5\x64\xd7\x87\xfd\xb2\x44\xeb\x03\xed\x6b\x06\xa1\x11\x08\x41\x8f\xc1\x7b\x4f\x36\x04\xe9\x3f\xe6\x4f\xad\x22\x29\xa4\x0a\x81\x88\xda\xbe\x7b\x32\xc5\x22\x9b\x09\x8a\x7b\xbe\xc6\xd6\x6f\xcb\xdf\xed\x7f\xdb\x51\x68\x81\xe2\x33\xeb\x3f\x9c\x8a\x2e\x5e\x6b\xb2\xe5\xf6\xf4\xfb\x36\xe7\x4c\x36\xc5\x4d\x68\x95\xb9\xf6\xe2\x7d\xaf\x7f\x7b\x06\x2d\x27\xc0\x7a\xf0\x4d\x28\x97\x4d\x83\xda\x88\xcd\xd4\xd5\xd1\xff\x6b\xe1\xde\xbd\xa5\xcb\xd0\xda\xff\x5b\xde\xd4\x6f\x97\x8e\x0a\xbd\x90\xc3\x8e\x4b\x56\xdb\x7b\x3a\x83\x74\x2f\x52\x71\xaa\xf8\xd2\x42\xe0\xfe\x73\x21\x9c\x25\x67\xb7\x26\x16\xe8\xdd\x86\x01\x06\xd0\x2f\x59\x49\x43\x14\x37\x14\xab\x81\xbb\x97\x4e\xce\x07\x4c\xaf\xbb\x0f\xf6\xdf\xf7\x7f\x2c\x25\xb5\x1a\xbc\x7e\x5f\x72\xa5\x01\x74\x15\x3a\x8f\x61\xed\xaa\x6b\x69\x9d\xef\x49\xd7\xb2\xd9\xf9\x80\x2b\x6a\xb7\x6e\xfd\x46\x29\x22\xc4\xa9\x75\x84\x27\x5c\x0e\xd5\xa2\x66\x34\x12\x8d\xa7\x9a\x19\x09\xf3\xdf\x26\x3a\x02\xdf\x21\x44\xd4\x1a\x22\xa7\x64\x09\x41\xca\x12\xe5\x2d\x4c\x8c\x0e\x48\x14\xda\xf1\x82\x55\x89\xf2\x82\x15\x62\xc8\x82\x42\x41\x81\x0e\x4b\x78\x52\xb8\xfd\x6f\x07\xfa\x49\x0c\x82\x2e\x13\x37\x56\x88\xbe\xf5\xf6\x23\x8f\xbc\xfd\x16\x44\xbb\x6f\xcd\x66\xb3\x9d\x6b\x17\xdd\x7d\xf7\xa2\xb5\xb4\x67\xc5\xe7\xaf\xdb\xb0\xe1\x3a\x9c\x39\xa5\xe6\xe2\x14\x0d\x60\xfe\x7a\x90\xfc\xe5\x84\xe5\x12\x51\xf4\x4d\x81\xf4\x36\x54\x8a\x8e\xb5\x6b\x1d\x22\xf9\x45\xee\x8d\x9d\xb0\x7c\xe7\x4e\x72\x1b\xf9\x67\xdd\xe1\xdf\x9e\x7b\xa8\x4e\x2b\x72\x92\x05\xd6\x3c\x66\x8c\x99\x74\x43\x5e\x36\xd4\x3d\x74\xee\xb7\x87\xeb\xd4\x71\x1b\x5c\xe4\x05\xb5\xbe\xb5\xa1\xb1\x68\x36\x5a\xfe\x6d\x75\xce\x0f\x02\x8f\x04\x3e\x1c\xad\x62\xd2\x5a\xd7\x19\xe9\xb5\xc3\xbc\xb4\x72\xca\xf9\x06\x05\x09\x3a\x50\x91\x9b\x21\x62\x97\x64\x25\x99\x40\xe9\x2a\x75\xc0\x02\x31\x94\x4c\x28\x51\x5a\x89\xfd\xc0\x5f\x52\xd3\xda\x5b\xa4\x22\xf2\xd5\xd3\x3f\x27\x0f\x0e\x5e\xf7\xee\xad\x63\x75\xfa\xeb\x7f\xbb\x67\xfd\xaf\xa7\xd1\xfa\xd3\x3f\x5e\x43\xf0\xa9\xfd\xd4\x93\x20\xf6\x81\x0f\xd8\x07\x3e\xe8\xce\x7e\x7c\x98\x01\xd3\x99\xe4\x47\x7b\x4e\x91\xf3\x4c\xe7\x29\x10\x3e\x3e\xcc\x90\xaf\xce\x24\x3f\x62\x3b\xfa\xd7\xb5\x39\x7f\xc9\x3e\x45\xba\xdd\xbe\x0f\x5e\xe4\x17\x3d\xf8\xf1\x86\x3d\x9f\xdf\x6e\xd6\xda\x60\xa6\x7f\xac\x11\x73\xf4\x6b\x89\xcd\x44\x0e\xd9\x15\xd7\x85\x87\xe8\xcf\xd1\x6e\xd9\xe7\xff\x39\xb4\x44\x36\xee\x27\xe7\xbb\x05\x10\x4e\x1d\xed\x96\xbd\x45\x3f\x27\x2f\x45\x36\xee\x47\x2c\xe2\xf3\x7a\x8d\x11\x68\x2c\x9a\x89\x16\xff\x9b\x32\x8c\xf2\xff\x7f\x82\x89\xd2\x8d\x68\x45\x49\xeb\x1e\x1d\xea\xa5\x15\x8b\x5a\xfb\x7a\xeb\x9c\x45\x90\xf8\xec\x65\x45\x58\x4c\xfe\xf5\xa3\xdf\x3c\xbb\x6e\xdf\x37\xda\xec\xc1\xf3\xd7\xc8\x2e\x30\x3e\x7b\xee\xd9\xfd\x27\x5e\xcf\xb7\x4a\x94\xcd\x66\x73\x59\x10\x4e\xad\x5b\x70\xf7\xdd\x0b\xd6\x9d\x62\xea\xb4\xca\x47\x2f\x2f\x6d\xa7\x73\xfe\x92\x7d\x92\x74\x7b\x82\x5b\x46\x9b\xbf\xd9\x58\xad\xa7\x20\xf8\xc0\x73\x60\xf6\x05\xb7\xcc\xa5\xad\xf1\xbf\xf3\xd5\x10\x56\xaa\xd5\xaf\xee\x21\xe8\x7c\xa8\xae\xbb\xb7\xea\x91\xcc\x43\x75\x97\xd8\x0e\x35\x50\xe4\xf8\xfe\x7d\xa6\xd0\x6b\x2c\x29\x5c\xda\x7b\xa6\xfb\x2c\x26\xbf\xb3\x1f\x7d\xff\x06\xbd\xbe\x4a\xef\x36\xdc\x30\xfa\xd2\xfe\x74\xf4\x71\xcd\xff\xf8\xfb\xff\xbe\x5f\xfd\xe5\x0d\x06\xb7\xbe\x4a\xaf\xbf\x71\xcc\xa5\xfd\xeb\xe8\xe3\x9a\xff\xf1\xf7\xbf\xa3\x9f\xc5\x17\x59\xda\xcf\xd6\x51\x3e\x47\x09\x39\xec\x98\xa5\x6a\x5d\x5b\x2a\x9d\xec\xfb\xc8\x82\x06\xea\xa4\x65\xa3\x27\x9f\x7d\xd5\x02\xe7\xf3\x83\xb3\x67\x21\x7a\x82\xfc\xf2\xd8\xee\x4f\xf6\x15\xa8\x92\x85\x2a\x3f\x0f\xcd\xd4\x12\xf1\x86\x98\x10\xdf\xd0\xf2\x33\x53\x0b\x38\xdf\x97\x1b\x66\x8b\x93\x9c\xfa\xe8\x21\xf2\xf9\x7e\xd1\xbc\xff\x0f\xd7\x1e\x04\xdb\x09\x8b\xf6\xd9\x0e\xcf\xd4\xee\x79\x5d\x14\x5f\xd7\x1e\x34\xf3\x30\x0d\xe8\xca\x5e\xda\x0f\xb1\x08\x09\x59\x76\x6b\x4f\x5e\x28\x0a\xba\x96\xea\x7e\xe2\x92\x47\xa1\x60\x38\x3f\xda\x92\xe4\x78\xb2\x47\x09\x1a\xe8\x01\xa3\xea\xf9\x36\xc2\x0a\x51\x24\x1f\xe8\x3d\xfa\x4a\x83\xe1\x14\xf9\x20\x2f\xe3\xbf\x23\x8d\xa0\x9c\x32\x18\x2a\xf5\x1e\x7d\x57\xa6\x2f\x4b\x78\x85\x98\x10\xc9\x07\x5a\xc0\x29\x4d\x0a\x9e\x25\x67\x4f\x40\x59\x6f\xf9\x68\x9e\xa7\xb4\xb7\x74\xff\xf9\x1b\xfd\x2a\xfd\x36\x32\x2a\xca\x8f\x21\x7b\x81\xe0\x90\x3a\x23\x88\xf9\x71\xef\x30\x40\x1d\x2e\xd2\x94\x9c\x25\x67\xf3\x1f\x3f\x27\xf4\x2b\x5d\x3a\x40\xcc\xdd\x43\x6d\xc2\xe7\xab\x3d\x55\xbe\x96\xe4\xce\x5c\xf6\x4e\x84\xd8\x2c\x9b\x45\x02\x92\x11\x42\xf9\xc1\x28\xea\xad\xce\x31\x3f\xb0\x88\x9c\xef\x1d\x47\xee\xe9\xab\xad\x9f\xbf\x7f\x10\xfa\xf5\x99\x38\xd9\xe7\x3f\x63\xc6\x41\xd4\x0f\x87\x2d\xdc\x8f\x6b\xd3\x1a\x4f\x87\xd4\xe1\x7b\x9a\x9a\x12\xfa\x20\xe4\x88\x5b\x7b\x81\xe3\x1e\x09\xc5\x62\x21\xb2\xe9\x55\xff\xef\xab\x5b\x37\xb7\xac\xdd\xfb\xe0\x6b\xaf\xe5\x02\xaa\x1f\x97\x8d\x85\x2e\x1c\x0b\xc5\xf0\x84\x3f\xde\x56\x5b\x0b\xef\xe8\x0f\xed\x7f\xe4\x8f\xb9\x1f\xc6\x42\xdc\xe4\x50\x0c\xe5\xdf\xc5\xa9\xf2\xad\x1d\x21\x6b\x42\x9d\x17\xb0\x12\x25\x1d\x0d\x2a\x51\x13\x6f\x06\x6a\xc8\x68\x4b\xf7\x2d\xbb\x6b\xb6\xe0\x2c\x5d\x34\xa5\xc0\xe6\x9a\xd6\xb6\x8a\x19\xb9\xeb\xf8\x4f\x17\xdd\x07\x96\x63\xca\xf8\xf5\xc7\x17\xb5\x5e\xeb\x33\x84\x0b\xfc\x52\x59\x2c\x62\xd2\x9b\xcb\xa7\x0b\xc5\x8b\xc7\x36\xb5\x4e\x9d\x9e\x49\xcf\x6e\xa9\xf1\x18\x7f\xfd\xd8\x6b\xe4\xef\x2e\x9f\xcb\x2f\x61\x73\x7c\x4c\xb9\xc4\x3c\xb2\xfc\xc5\x9b\x16\x27\x76\x93\x43\x1d\xcf\x1c\xdb\x3e\x2a\x53\x1b\xbd\xb5\xfc\x8a\xf2\xf1\xc3\x63\x9c\xe1\xde\xa2\x99\xbf\x87\xe9\xfe\x81\x8b\x27\xec\x1f\xd7\x3c\xe8\x42\x73\xcb\x84\xd8\xe4\xc5\xeb\x96\x54\xff\xf0\x25\x92\x7b\xb5\x62\xfc\x80\x72\xbd\x77\x3a\x63\x1e\xbf\x6c\x45\xcf\xba\xf4\x66\x1e\x71\xd7\xa2\x72\xd4\x8c\xc6\x21\x84\x34\x64\x12\x6a\x7b\x4e\xe7\xd9\x69\x8d\x8e\x4c\xa2\xd6\x88\x40\x33\x44\x71\x86\xa4\x78\x8c\xe9\x8f\x73\x2b\xa4\x25\x5b\x0f\x0c\x59\x28\x18\xe5\x44\x6a\x7c\xc4\xbc\xe9\x7e\x98\xc3\x56\xcb\x95\xd5\x75\xbb\xe7\xdd\xdc\x3e\x0c\x98\xa1\x4e\x2f\xef\x14\x44\xb3\x4e\x17\x1b\xc2\x05\x5b\x6b\xe7\x14\x1a\xcc\xab\xb6\x7d\x76\x74\xfe\xfc\xa3\x9f\x91\xcf\x8e\xce\xdf\x38\xe6\xab\xfb\x82\x10\x03\xf9\x8d\x8d\x1b\xdf\x20\x9f\xdd\xf5\xe3\x63\x64\xce\xde\xe5\x1b\xdf\xc0\xb1\xa9\x7a\xce\x10\x28\x8f\x26\x9b\x2b\xf7\xaf\x5a\x36\x45\x37\x63\xb0\xc4\x18\x1d\xf6\xbd\x82\x63\xb8\x41\xd0\x0d\xcf\x24\x07\x08\x64\x4c\xfe\x21\xf3\x8f\x7e\xb6\xed\xcc\xe1\xcf\x46\x2d\xe6\x16\xaa\x0f\x21\x6f\x93\xcf\xde\xd8\x38\xfb\x5a\xb8\xfd\xf1\x5f\xdc\x05\xf2\x1b\x94\xd7\x25\x8f\x3f\xa6\xe1\x05\x89\x74\x8d\x38\x8a\xca\xd5\x19\x4b\x3a\x90\x0c\x58\x03\xc9\x40\xef\x56\xa5\x7e\x6e\x5b\x2f\xce\x08\xe5\xa3\xa1\x47\x96\x45\xdd\x48\x3d\xf8\xe2\xda\xb1\xb5\xb5\x63\x2f\x38\xfb\x5d\x68\x7f\x77\x9e\x47\x02\xd2\x8e\x2c\x05\xa5\xb9\x93\x06\xb0\xc5\x3d\x2e\xac\xc5\xcc\x15\x93\x2c\x64\x31\xea\xfb\xed\xd5\x3b\x52\x2c\xee\x72\x34\x1a\x21\x54\xac\x58\x52\xc5\x92\x05\xf2\x43\xd8\x7e\x56\x24\x3d\xfd\x40\xa0\xc7\x7a\x84\x12\x9c\x3b\x7a\x16\x93\xb8\x78\xcf\x0c\x26\x1e\x93\x29\x33\xde\x1c\xf2\xf2\x27\x9f\x40\xf3\x27\x38\x03\x1d\x46\x51\x34\x92\x43\xa2\xb1\xd3\x28\x92\x43\xea\x05\x74\xd0\x8b\x5c\x71\x7b\x02\x50\xeb\xa2\xee\x03\x9b\xf6\x0b\x8e\xe2\x54\xdb\x82\x26\xd1\x3e\xe6\x8e\xc7\xef\x18\x63\x17\x77\x4d\xfa\x4d\xa2\x1d\x67\xf3\x00\xff\xe4\xfe\x6f\xde\xad\x3d\x37\xd7\x99\x68\xff\x4b\xec\xfa\x4d\xc9\x05\xeb\xe6\xcf\x19\x5c\x62\x6d\x6a\x6a\x6a\xb2\x76\xb4\x27\x7a\x6c\xa2\x85\x7f\xd1\xfc\xc5\xd1\xe4\x7e\xf9\x53\x6b\xa2\x19\x34\xb4\x0c\x0d\x0b\x30\x99\x68\xa1\x4d\xac\x05\x28\x2d\x9f\x46\xce\xa7\xd6\x57\x4e\xa0\x70\x0b\xfd\x33\x2a\x15\xd3\x6c\xd2\xc1\x57\x5f\x3e\x7f\x74\x5e\xaf\xdf\xab\x37\x9a\xf4\xe7\xcf\xeb\x4d\x46\xfd\x5e\xbd\xea\xb8\xcc\x27\xe7\xf8\x51\x24\x32\xc1\x21\x5f\x92\xe1\xbb\x61\xc4\xdd\x76\xd1\xeb\xf3\xba\x23\xbd\xf9\xcd\xfd\xe6\xbb\x1f\xd2\xe7\xf3\xa3\x48\x2a\x19\x99\xc0\xf4\x65\x7e\xf3\x66\x2b\xef\xa9\x0a\xa4\x22\xfd\xec\x62\x6d\xc8\x4d\xe5\x17\x1d\x2a\x69\x76\xfa\xf9\x4f\xd8\x53\xf5\x02\xbd\x96\x34\x80\xf8\x4e\xb7\x72\x11\x5d\x40\x17\x11\x5d\x04\xc2\x99\x03\xef\x1d\x38\xf0\x1e\x37\xf9\x93\xfb\x73\x19\xb7\x82\x91\xe2\x26\x19\x50\xc5\x3c\xc5\x3a\x23\x92\x1a\x7a\x20\x73\xff\x27\x8a\x9b\x64\xfb\xb0\x74\x55\x39\x26\x51\x2b\x17\x26\xee\x08\x08\x01\x47\x40\xaf\xd6\xf5\x68\x20\x19\x67\xa8\xc9\x8b\x18\xe2\x51\x67\x27\xf9\x4b\x1a\x86\x93\x05\xe4\x20\x39\x48\x16\xc0\xf0\x34\xf9\x4b\x67\x27\x20\x18\x0c\x9b\x61\x30\x41\xcb\x7f\xc5\x23\x92\xe9\xcc\x76\x76\x77\x32\xea\x09\x3a\x73\x88\x41\x5d\x19\xe8\xe3\xd5\x46\xf9\xbe\x26\xa4\xca\x67\x56\x95\xcf\x82\x2c\xd1\x4f\xd5\xa2\xd1\x6a\x87\xe3\xb6\x1e\x66\x51\x6b\xc0\xca\xaa\xe3\xfe\xae\x27\xdf\xb7\x58\xa4\xae\x73\x92\xc5\xf2\xfe\x93\x5d\x20\x9c\xfa\x82\x92\x38\x31\xa8\x2b\xcb\xa3\xe7\x76\x77\x67\x77\x3c\xc3\xbd\x61\x2e\x29\x31\xbf\xc1\x3d\xb3\x83\xc9\xee\x7e\xee\x42\x27\xe5\x6c\x82\x77\x31\x22\xe8\x52\x9e\x29\xed\xdd\xe5\xda\x6a\xc4\xb7\xbf\x1f\xf7\x7b\x3f\xfa\x8f\x69\xf9\xad\xc6\x59\x9a\xc9\x9d\x63\x88\x46\x69\x9a\xc9\x75\x7e\x47\xb2\x34\xaa\x57\x78\x59\x4d\x56\xae\xff\x45\x8f\xae\xe6\x7a\x01\x71\xeb\x29\xff\x8a\x97\x62\xde\x58\x69\x07\x91\xa7\xf3\x8e\xc7\x64\x90\x64\x3d\xb6\xda\xf9\x60\x34\xa2\xf6\xd5\x7a\xd0\x3c\xf1\x24\x97\xd3\x6a\x21\xd5\x0e\x9f\x5d\x34\xf9\xe1\x22\x93\xc1\x52\xee\x73\x76\x99\x77\x80\x4c\x86\x62\x57\xee\x62\x05\xd9\x0c\xad\xd6\x90\xa9\x10\xfb\x58\x76\x46\xd7\x32\x57\x48\xf7\x99\xa1\x5a\x66\xaf\xb2\x7b\xcd\x17\x11\xb3\xa8\xfb\x3e\x30\xe0\xb6\xae\xdf\xba\x8a\x8c\x1f\x32\xbf\x67\xba\x5f\x1c\x8a\x37\x63\xb3\x97\x27\x5f\xe1\x4b\xf0\xd5\xcd\x97\xe3\xab\x07\xac\x97\x63\xaa\x5f\x40\x97\x21\xa9\xb3\xc7\x34\xeb\x37\x27\x9a\x78\x91\xd7\xfd\x80\xbb\x98\xdf\xa7\x5c\x8d\x5a\xd1\x28\xd4\x0d\x3c\xd8\xc0\x03\x11\x88\x41\x23\x0c\x85\x71\x30\x1b\x96\xc3\x06\x78\x02\x5e\x86\xb3\xf0\x19\x10\x6c\x44\x88\x33\x01\xc5\x54\x4b\xa5\x53\x12\xe7\x07\x8d\x89\x39\xaa\xf0\x69\xea\xa6\xa4\x66\xbc\x16\x27\x99\x50\xe3\x40\x3c\x28\xe4\xc1\x75\xa2\x79\x75\x66\x42\x49\x57\x81\xd0\x8c\xfd\x00\x92\x20\x39\x24\xed\x89\x6c\x84\x92\x54\xa7\x53\x69\x45\x9d\x5c\xe4\x7f\x13\xda\xfc\x56\x4e\xe6\xbb\xbd\x54\xba\x19\x4b\x72\x5c\xed\xea\x9a\x21\xad\x44\x95\x68\x22\x5d\x95\xbf\x2f\x25\xc9\x76\x3f\x23\x4b\xea\x23\x04\x8a\xb1\x54\xc5\x46\xc3\x20\xc9\x52\x3a\xde\xcc\xb4\x40\x33\xc8\xda\x92\x2a\x08\x0e\x5e\xe0\x05\x3f\xc8\x6a\xa4\x78\x33\xf8\x69\x08\x45\x41\x0d\xd9\x85\x94\xf6\x4e\x87\xa4\xfe\x0a\x92\x9c\x02\xbb\xfa\xab\xe6\x4c\x9d\x24\x69\x2c\x8a\x51\x5e\x08\x46\x25\x39\x96\x4e\x29\x1c\x35\xb4\x50\x28\x77\x96\xac\xa4\xd2\x35\x4a\xd4\xa4\xce\x34\x53\x69\xde\x0c\x49\x5e\xa6\xe5\xe4\x87\xb4\x9a\x60\x94\xe7\x4f\x48\x26\x18\x45\x48\xf2\x92\xe6\xaf\x70\xcd\xa0\x44\x93\x7c\x48\xa3\x31\x89\xf0\x94\xe1\xba\x19\xd2\xbc\x20\x09\x12\x2b\xa7\xc2\x69\x25\x9d\x68\x86\x26\x70\xd0\x37\x53\xcc\xc0\xa8\x49\x17\xe2\xa3\x26\x46\xe0\x43\x7c\x54\xf3\x51\x27\xfc\x12\x93\x4a\xaa\x45\x65\x02\x59\xfb\x3c\xd4\x60\x57\xbd\xcb\xce\x3b\x24\x0a\x37\x15\xe2\x65\x49\x66\x29\x45\x3d\x4f\xef\x09\x39\x62\x11\x35\x5b\x42\x2a\xa9\xc1\xe5\x29\x49\xfa\x28\x2e\xa5\x61\xc3\xda\xb5\x64\xc2\xc7\x3a\xc5\xe6\x4a\x62\x18\xef\x91\x25\x2e\x21\x28\xa2\x2b\x09\x78\x82\x47\x92\xea\x8c\x53\x82\x95\x23\xf6\x0c\x28\xa9\xbe\xb0\xc6\x38\x59\x73\x56\xe1\xd7\xa1\x34\xe4\x09\xa6\x94\x84\x97\x5b\x35\x66\xec\xaa\x55\xe7\xae\xf8\xdb\x16\xcf\xca\x6b\xd6\x8f\xc3\x5f\xe9\x44\x01\x66\x64\x53\x03\xa6\x4a\xb9\x71\xb9\x9f\xc8\x53\x6a\x26\x3f\x07\x98\x13\x75\xbc\xcb\xe4\x11\xf4\x05\x5e\x9f\xdf\x28\x7b\x43\x6e\x9b\xbd\x40\x48\x4e\x2d\xd0\xeb\xcd\xa3\x71\x50\xf1\x72\xc6\x2a\x13\x83\x0d\xa5\x06\xb3\x59\x6e\x85\xe6\xd5\xde\x62\x87\xce\x32\x42\xae\x67\x18\xcc\x0a\x9c\xa7\x66\x40\xac\x64\x73\x75\xd3\xc2\x5b\xae\xb3\x97\x25\x02\xcd\x85\x78\x02\x24\xe7\x35\x4e\x0a\x03\x27\xb0\x18\x03\x53\x2f\x0f\xb7\x09\x8e\x62\xef\xca\xc6\xa1\x4e\x93\xb5\xa0\x4c\x0f\xac\xa5\xc2\xc8\x79\x95\x20\x1e\x63\xd2\xeb\x0a\xa7\x26\x0d\x02\xd8\x6d\xee\x90\x57\x36\x05\xdc\x9e\x02\x83\xce\x6b\x94\xc9\x3f\xf4\xe3\xfd\xac\xc7\x6b\x2f\x1e\x1d\x72\x19\x07\xfb\x8d\x1c\x53\x1b\x37\x8f\xf0\x9b\xca\x0a\x1c\x92\xc5\x7f\xfe\x05\xff\x78\x7d\x40\xf4\x7a\x4a\x7c\xad\x46\x57\x28\x62\x8e\xa7\x59\xfd\xb3\xa6\x06\x31\x5c\x59\xe5\x76\x31\x67\x75\x56\x86\x31\x5a\x4b\x2a\xc0\x49\xce\xfd\xf1\xc8\x91\x3f\x1e\x49\x2d\x59\x0a\x82\xc1\xb7\xbd\x48\xcf\x72\xe4\x2b\x1d\xc3\xe2\xf7\x30\xcb\xf3\x05\xc1\x6b\xc9\x9d\x96\xd2\x3a\xb3\x8d\x61\x0c\xdc\x90\x97\x99\xc8\x2e\x90\x8f\x1c\x07\xc7\xc1\x00\x03\xd8\x3a\xc8\xec\xae\x8d\x17\x71\xac\x60\xc0\xbc\x5e\x28\xd4\x59\x74\x22\xbb\xb4\x8e\x2d\xf4\x5b\xbc\x3c\xf3\x84\x13\xa7\xaa\x2b\x0a\x75\x56\x7d\xbd\x0f\xc6\x31\xd6\xd6\x68\xe9\xa6\xa9\x5c\x68\x47\x2a\x3e\xd9\x28\xb3\x3f\x7e\x65\xde\xe1\xb9\xbc\x8c\x8b\xf4\x85\x15\x06\x11\x30\x23\x4e\xc2\x76\xbc\x80\x9c\x68\x1f\xab\xd3\x0d\xcc\xbc\xfb\x2e\x00\x7b\x88\x75\x9a\x44\x60\xcc\xe6\x32\x93\xbe\x08\x5b\x0a\xdf\x7c\xe2\xa7\xb8\x83\x9b\xba\xb1\x4c\x19\x62\x65\x0c\x93\xe3\xa9\x1d\xfb\x2c\x11\x41\xef\x12\xa5\x41\x1c\x1b\x77\xf4\x73\x4f\xf5\x0c\xd4\x1b\x43\x81\xaa\x15\x1c\x37\x29\xd8\xcf\xcd\x0e\x32\xeb\x2a\x3d\xa1\x58\xb9\x2c\x8e\x58\xb2\xe4\xb6\x25\x1f\xac\xa8\x1c\xdc\x38\x9c\x2f\x59\x71\xe1\xc3\x82\x22\xd9\x5a\xbb\xba\x0d\xe3\xea\x32\x97\xab\x74\x00\x66\x0e\x4e\x90\x6c\x45\x05\x06\xbd\xe4\xf3\xe9\x0d\x26\xbb\xc9\xa7\x2b\xf4\x72\x02\x6b\x1e\x8e\x0d\x43\x92\x4a\x79\x73\xc0\x1a\x31\xb8\x6c\x9c\x8d\x61\x81\x83\x02\xbe\x84\xe1\x59\x1c\x28\x0a\xaf\xaa\xdd\x9a\xb4\xc8\x3e\x70\x5b\x9c\x26\xc6\x84\xab\xbc\xac\xad\xaa\x3e\x39\xdc\xa8\x33\x1b\x75\x26\x66\x2b\xf9\xd7\xc4\xeb\x0d\x22\x63\x72\x9a\x4d\x26\xaf\xd3\x9a\xd8\x5a\xb7\x2a\x54\x1c\xc0\x06\x5c\xca\x15\x02\x07\x1c\x63\xe3\x6c\x4e\x9d\x62\x2d\x6e\x29\x29\x4d\xb6\xe9\x71\x8d\xd3\xcc\x0a\x9c\xb7\x50\xef\xb5\xd8\x8c\x7a\x83\xd7\xef\xd0\x31\x8f\xfa\x5c\xc5\xf3\x23\x57\xfb\x44\x76\x7d\xd9\xee\x7a\x63\xb1\xc9\x94\x59\x60\x31\x1b\x60\xed\x16\xa6\xf5\xda\x9a\xf9\xc5\x2e\x9f\x8d\x15\x7d\x57\xef\x2b\x32\xd5\xef\x2e\xe3\xcd\x96\xf9\x03\xad\x03\xb7\xac\x64\x4d\x22\x4c\x5b\xc6\x44\x95\x1b\x45\x9b\xa0\xb3\xef\x6c\xc4\x78\xe7\xe1\xab\xd6\x1d\x3e\xbc\xee\x2a\xa2\x60\x0c\x9e\xf5\x82\x09\x0a\x98\x61\x83\x9f\x65\xa7\x4e\x15\x81\xb1\x4f\x1c\xcf\x99\xf1\x6b\x0d\x1b\x5c\x3a\xde\x66\xb9\xcd\x87\x77\xc8\xc6\x1b\x7f\x9a\xae\x79\xf9\x2e\xa3\x03\x33\x0c\x00\x60\x01\xa6\x97\x29\x51\x5e\x67\xac\xe1\x74\x3c\xc7\x60\x0c\xa0\xb7\x5b\xc5\x02\x06\x83\xb5\xae\x45\xaf\xab\x32\x1a\x7d\x61\x9e\xc5\xb9\x5d\x26\xcb\xd0\xf5\x05\x85\xc9\x65\xa9\xe4\x58\x8c\x1b\x3f\x6c\xa9\x5d\xdd\x94\xd8\x3b\x97\xd5\x03\x8f\x6d\xa2\x5c\x60\x2c\x98\x30\x38\xf8\x96\xc3\x71\x6b\x4d\x48\x62\x18\x87\xb7\x31\x0b\xd5\xa9\x41\x4a\x00\x46\xb5\xeb\xac\x7a\xa7\xfd\xff\x31\xf7\xde\xf1\x71\x54\xf7\xfa\xf0\xf9\x9e\x69\x5b\x67\xfb\xae\xb4\x92\x56\x5b\x67\x56\x6d\x25\x6d\x95\x2c\x69\xb5\x96\xbb\x25\xdb\x72\x97\x2d\x4b\x96\x1b\x96\xe5\x26\x37\x6c\x8c\xc1\x8b\x6d\xaa\x6d\x30\xc6\x36\xd5\x58\xc1\x10\x20\xb4\x98\x9b\xd0\x8b\x20\x09\x2d\xe0\x40\x42\x0f\x45\xd4\x40\x12\x08\xe1\x06\x02\x96\x76\xf4\x7e\xe6\xcc\x4a\x96\x65\xdf\x9b\xfc\xee\xbd\x7f\xbc\xfa\x68\xf7\x94\x39\x33\x73\xe6\xec\x99\x53\x9f\xef\xf3\x98\x69\x86\x56\x3d\xd5\x5e\xb3\x2f\xbe\x3a\xa6\xd3\x6e\x9d\x68\xe4\x2b\x6b\x31\x6e\x56\xc6\x0c\xe3\xd4\xc0\x3c\x49\x46\xe6\x35\x44\xcf\xfb\x0c\x94\x02\xb8\x18\x1d\x44\xc2\x2e\x5a\x6e\x92\xb8\x24\x13\xa2\x38\xd6\x1f\xe2\x98\x7f\x74\x5c\xb1\x64\xc9\x15\x99\x4d\x4b\xae\xe8\xe8\xb8\x22\xb3\xb0\x7a\xf5\xe5\x57\xfe\xea\x15\x10\xa1\xfa\xed\xbd\x7f\xb8\x7e\x49\x19\x55\x3c\x69\xcd\x8e\x69\x8f\xae\x28\x58\xdc\xd6\x31\x51\xd0\xcd\xb8\x49\x3a\x71\x97\xf4\xde\x7b\x4f\xee\xda\x34\x7e\xbc\xa7\xbc\x44\x3e\x69\x09\x39\x75\x09\x53\x59\xbb\xa0\x31\x12\x74\xf0\x8c\xc6\xe1\x2e\xaf\x9a\x3c\x73\xc5\x9a\xb1\x47\x17\x46\x36\x2f\x3e\x6f\x66\x73\x6d\xa4\xd0\x48\x61\xa3\x2b\x1a\x99\x5a\x33\x27\x31\x73\x08\x73\x90\xd5\xe5\x2a\x24\xac\xa0\x8d\x68\x25\xda\x4a\x94\xb9\x46\x2a\x15\x09\xfe\x51\x34\xcd\x96\xb0\xcd\x64\x2d\x01\x6f\xcc\x14\x8d\xd0\x64\xb2\xc8\x0d\x2f\x27\x84\x20\x16\xc5\x6e\xda\x3c\x64\xf3\x6c\xb1\x29\x98\x3b\x85\xe4\xba\x00\x86\x43\x82\x9b\x1d\xcd\x85\x48\x17\x49\xf7\x4b\x2f\x7f\xb8\x67\xcf\x87\x10\x85\x59\x10\x95\x7d\x99\xb5\x67\x33\x3d\x6f\x34\x1a\xdd\x46\x23\x5c\xd8\xd5\xe8\x2b\x20\x53\xfc\x02\xdf\x4c\xc5\xb2\x79\xc8\x54\xfa\xf7\x24\x7a\xf7\x63\xbb\x89\x7b\x52\x7a\xef\x24\xd5\x21\x38\x07\xd2\x43\x84\xea\x4c\xef\x9e\x0f\xa5\x97\x47\xdd\xed\xd7\xe7\xe0\x85\xce\x4c\x37\x4a\xf2\xbd\xfa\x8c\xa9\xc6\x98\x6f\x8c\x69\x23\x6f\x36\xf3\x1b\x4d\x63\x7c\x31\xaa\x71\x94\x61\xb6\xf4\xb5\xb2\x9c\xd6\xb6\x7b\x77\x9b\xe2\x3b\x78\xf2\xe4\xc0\xd5\x98\xb0\x22\x12\xaa\xde\x21\x7b\x32\xb5\xc2\x2b\xef\x20\xe3\x3a\x79\x2e\x16\x31\xf9\x46\x15\x45\x8c\x8c\xa6\x6c\xa3\xa1\x55\x61\x3b\x97\xfe\x31\xcd\xa1\x74\xda\xcc\xff\x40\x40\xf0\x1c\xb1\x91\x6f\x8c\xb5\x37\xfc\xd0\xdb\xd0\xde\xde\xc0\xa5\x1a\xda\x63\x8d\x34\x92\xc7\xb2\x99\x5e\x48\x2b\x0b\xfa\x03\x8a\xed\x7b\x8f\x94\x8e\x35\xf6\xc8\xc9\x28\x92\xb8\xa7\x11\x8d\xca\x53\xde\x70\x9e\xb2\xeb\x11\xa3\xb2\x60\xcb\x85\xb3\xb2\x6a\x02\xc4\x20\x4c\xec\x83\x46\xe6\x62\x54\x16\x29\x94\x41\xb8\xb7\x31\x36\x2a\x0b\x99\x8e\x33\xf3\x08\xee\xff\x8b\xfc\x50\x69\x1a\xfd\xff\x29\x3f\x18\x31\xff\x77\xe5\x83\x87\xf3\xe3\x40\x25\xa7\x57\x8e\xfe\x9d\x9c\xa8\xfe\xfb\x5c\x50\xff\xd6\xfd\x01\xa1\x41\x86\xbe\x90\x45\x28\x9f\xb0\x78\xb2\x3e\x8f\x65\x48\x2a\x93\x28\x9a\x08\x59\xe5\x77\x07\xbd\x96\xc8\x7f\xec\x7a\x51\x63\xcd\x39\x91\x5b\xa1\x7d\x5a\x7a\xc1\xe2\xd4\xe9\x82\x41\x9d\x2e\xcf\x0c\x5f\xb9\xc4\xa0\xe4\xcf\xad\xd0\x36\x6a\xac\x39\xf0\x6b\xe9\x05\x0b\x63\x2a\x66\xfa\x8a\x4d\x8c\x45\xe1\xaf\xa6\xd2\x2c\x22\x1a\x05\x6e\x9b\x29\x62\xf3\x99\xac\x9e\x88\xcd\xe7\x16\x59\x8f\x2f\x16\x71\xc7\x4c\xbe\x58\xc4\x14\x25\x7e\x47\xdc\x13\xb1\x51\x29\xa9\x37\x9d\x86\x54\x2a\x25\x7d\xd3\xdd\x2d\x7d\x93\x4a\x41\x2a\x9d\x96\x7a\x53\x29\x30\x76\x77\x83\x31\xc5\xa4\xfb\xa4\x8e\x74\xa6\xaf\x2f\x7d\xf0\x60\xba\x0f\xbb\xd3\xd0\x43\xbc\x4a\x71\x0e\xd9\x35\x0c\xa9\x3d\x94\x10\xd6\x8b\x1a\xb2\x72\xea\x33\x45\x4c\x04\x88\x64\x92\xdf\x54\x8f\xcd\x13\xf3\x30\x36\x22\xc2\x1c\x33\xc5\x7c\xb6\x40\x2c\x62\x22\x88\x56\x53\x44\xd1\xd3\xcd\x1a\xac\xcb\x2e\xb1\x5f\xb7\xa9\x50\x3a\x2d\xa5\xfb\x91\x94\x4e\xa7\x21\xcd\x20\x48\x0f\xa2\xf4\x8f\x28\x9d\x66\x51\x3a\xdd\xaf\xb8\x12\x82\xf4\x40\x5a\x4a\x53\xe9\x0c\xc2\xe9\x4c\x9a\x46\x83\x48\x4a\xd3\xe9\x81\xec\x59\x34\x82\x21\x7d\xdc\x53\x48\xfe\xa6\xb3\x9a\x0f\xb2\x2f\x83\x48\x0d\x4a\x63\xb9\x16\xc9\x27\x64\xb9\x73\x90\x5a\x7e\xa6\xc2\xe1\x35\xa2\x48\x56\xc3\x62\xfe\x99\x4f\x75\xe6\xb3\x99\x7c\x43\x4f\x08\x23\x9f\xd2\x67\x8b\x04\x3c\xa7\x1f\x15\x62\x44\x9d\x5a\xae\x67\x31\x4f\xf6\x52\x11\x9b\x27\xa6\x26\xcf\x2a\x3f\x49\x5a\x4a\x2b\x59\xa7\xd2\x20\x3b\xe4\xa9\x33\x28\x7d\x2a\x9d\x4e\x33\xe9\x74\xba\x3f\x4d\xa5\xd3\xe9\x01\x45\x97\x42\x8e\x18\x3a\x85\x22\x34\xc6\xca\xb9\xf2\x07\x13\x57\xca\x8a\x03\x93\xef\xfe\x6c\x51\x60\xb2\xfd\x91\x51\x8e\x20\x3c\x74\x4f\xb9\x00\x4e\xcf\x05\x4d\x28\x87\xbc\xb5\x23\xde\x0e\x93\xc7\xcb\x3a\x3c\x72\xad\xe5\x68\x34\xd0\x11\xac\xaa\x0a\x32\xa9\x60\x15\x91\x28\x86\x8b\x0c\xe1\x47\xc2\xb3\xc0\x2d\x75\x28\xb1\x55\xc1\x81\x8e\xaa\xc9\xb3\xc2\x8f\x84\x0d\x68\xa4\xad\x0d\x4b\x74\x95\x11\xf8\x6c\xf1\x7a\x88\x07\x86\x56\x3f\xe4\xb6\xdb\x00\xa7\xcd\xa1\x88\xa5\xd0\xb6\x1f\x0a\x74\x8f\xea\xa4\x6f\xc1\xdd\x8f\xa8\x74\x15\xbc\x10\xcc\x7f\x24\xbf\x23\x38\x80\x86\x6e\x0d\xe8\x07\x8d\xee\x51\xdd\x51\x2a\xdd\x8f\xc0\x1d\xac\xa2\x7a\x06\x50\xb0\x23\xff\x91\xfc\x60\x36\x13\x43\x9a\x4e\x43\xfc\x59\x39\x48\x44\x63\xd1\x1c\xb4\x9c\x58\x5d\x0e\x13\x12\xc6\x87\xfd\xf6\x88\x9d\x21\x62\x29\x3e\xaf\x68\x73\x41\x21\xb8\x03\x31\x96\x63\x85\x28\x99\x2f\x86\xa0\x1c\x04\x62\xc9\x9c\x20\xa6\x6b\x31\x45\x71\xdb\x2b\xf8\x3c\x26\xcf\xd9\xa6\x4e\xdc\xb1\x42\x87\x4a\x73\xe3\x8d\x1a\x95\x43\xef\x72\x50\xba\xbd\x7b\x29\x2d\x38\xfa\x57\x7d\xda\x34\x6e\xcd\x05\xb1\x2b\x8a\x8a\x61\x32\x7e\x69\xd9\x8a\x35\xdb\xb7\xaf\x59\xb1\xac\xa2\x33\x3f\x7f\xe7\xc3\x4b\x4b\x4b\x97\x3e\xbc\x73\x05\x35\x65\x5e\x43\x75\x6a\x56\x03\x65\x66\xa4\x6a\xf8\xcb\xd4\xc5\x67\x52\x14\x45\xa3\x01\x06\xef\xc3\xcc\x03\x61\x2f\x0d\x97\x00\xdd\x07\x51\xe9\xe5\x31\x53\x6a\xba\x0d\x46\x00\xcf\x86\x28\xa7\x5a\xfa\xd8\x52\x15\x17\xe9\xd6\x19\x30\x66\x83\xcd\x1d\x9b\x3b\x9a\x83\x2c\x7d\x75\x7c\x02\x43\xa9\xc6\x85\x12\x0d\x14\x48\x78\x0a\x15\x3f\x83\x7f\x88\x19\x2e\x27\x06\x69\x91\x13\x85\x50\x52\xae\x01\x3c\x58\xed\xfe\xa8\x20\x9a\xe2\x88\x28\x9f\x85\x88\x74\xa7\x9b\x06\x62\xc8\x4d\x2c\x54\xcd\x74\xc4\x13\x4e\xe2\xb3\xac\xa6\x16\x76\xed\xd9\x83\x97\xee\xe9\xea\x82\xd6\xa3\xd2\xb7\xc7\xb6\xbe\x73\xb4\xed\x28\xf0\x90\x04\x1e\xe7\xaf\x7f\xe4\x3f\x77\x4b\x7f\xf8\xb9\xf4\xce\x03\xf7\x43\xf1\xfd\x50\x76\xc9\x77\x8f\xac\x87\x96\x91\x4f\x09\x22\xfe\x65\xd1\x93\x7f\x7e\xf2\xc9\x3f\x3f\x59\x94\x99\x5a\x04\xaf\x49\xcf\x4a\xdf\x1e\x6d\x3b\xfa\xce\xd6\x63\xc0\x1f\x3d\x2a\x35\xed\xfd\xee\xa7\x1d\xb7\x49\x6f\x3e\x76\x8f\xf4\xc7\x9f\xad\xb8\xfb\xaf\x14\x7b\x26\x0f\x16\x75\xc6\x58\xad\x06\x21\x66\x54\xdb\x7e\x16\x7f\xb4\xcd\x77\xda\x80\xcd\x4e\x78\xfb\x4e\x73\x53\xa5\x2d\xfa\xfe\x5e\xbd\xc5\xa2\xa7\x53\x7a\x4b\xba\xbd\xa1\x9f\x34\xf5\x74\xaa\xa1\x5d\x4a\x0f\x1f\xeb\xe9\x19\x8a\xec\x90\x93\x65\xa3\xe9\x69\xa7\x13\xb7\x43\xb2\xa7\x67\xe8\x48\x3a\x1b\x97\xd5\x7b\x55\xc9\x6d\x37\x46\x0c\x8a\xa1\x3a\x34\x17\xad\x45\x48\x0d\x1e\x35\x78\x80\x07\xce\x34\xbc\xfe\x3b\xbc\xea\x1b\x02\x71\x38\x40\x58\xc6\x87\x92\xd0\x43\x6b\x5a\xca\x8e\x0b\x01\x16\xc6\xc3\x0e\x17\xcd\x8c\x8e\x60\x7b\xa5\x34\x85\x7e\x94\x5b\x50\x04\xbf\xe4\xeb\x83\x98\x8c\xc2\x4e\x91\xde\x0d\x77\x04\xeb\x79\xc9\x46\x7a\xb0\xbf\xd8\x96\xee\x58\x6a\x83\xbf\x90\xed\xc3\xfa\x86\xf2\xf2\x86\x72\xfa\x40\xdb\xd5\xd7\xed\xb9\xee\xea\xb6\x89\x1b\x97\x77\xd2\xe6\x26\x33\xdd\xb9\x7c\xe3\xc4\x7e\x74\xae\x58\x3a\x95\x49\xe1\xde\x4c\x8a\x4a\x07\xeb\xf9\x53\xdf\x9d\xa6\x27\x62\xb4\x7c\x7d\x90\xf8\xaa\x27\x4d\xaa\x26\x1e\x63\xb9\x7c\xf9\x81\x25\x53\x36\x37\x78\x3c\x0d\x9b\xa7\x68\xf7\xbd\xf6\xd0\x63\x9c\xc7\xc3\x3d\xf6\xd0\x6b\xfb\xb4\xe7\x8c\x1d\xb9\xc6\x59\x86\xa6\x21\x04\x46\xcc\xd9\xcd\x43\x90\x87\xd3\x12\x5c\x46\x73\x42\xc0\xa6\x11\x9b\xf8\xe4\x30\x24\xa9\x98\xc7\xea\xc2\x0e\x17\x58\x59\x8e\xa7\x6c\x9e\x68\x08\x8b\x21\x88\xc6\x99\xf4\x1b\x3d\x3d\x6f\x28\x65\x42\xb2\xdc\x31\x1c\x66\x14\x7b\xca\xab\xa6\x1d\xd8\x34\x71\x00\x4d\xdc\x74\x60\x9a\xc5\xe1\xb0\xc8\x21\x7a\x28\xc4\xa4\xa5\x7e\x69\x7d\x57\x97\xb4\x5e\xea\x1f\xc1\xce\xc4\xc0\xb5\x5d\x5d\x70\x2d\x30\x23\x58\x9a\x6a\x0b\x76\x3e\xf8\xed\x9e\x3d\xdf\x3e\xb8\xb3\x80\xf3\x04\x3d\xdc\x99\xc1\x91\x6b\xab\x65\xa4\x3f\xfa\x7f\x7b\xc2\x12\xf0\x58\x1d\x9e\xb8\x49\x7e\x2c\x1f\x4f\xd9\xfe\xe5\x63\xf5\x0d\x20\x35\xf5\xb5\x7a\xfc\x86\x7d\x4d\x9f\x37\xed\xdb\x30\xfe\xdf\x7f\x92\x86\x64\xdd\xa9\x71\xbb\xfe\x76\x62\x67\x61\xe1\xce\x13\x7f\xdb\x75\xe6\xba\xb0\x9c\xf7\x9a\xff\x59\xde\xa9\x10\x88\x3e\x1e\xb8\x7f\x27\xeb\x73\xa9\x79\x73\xab\xe3\x0f\xaf\xfc\x7c\xe5\xc3\xf1\x7f\x3f\xe7\x27\x1f\x7c\x70\x80\xdf\xff\x62\x71\xf1\x8b\xfb\xcf\xac\x4f\x93\xfe\x77\xf5\x89\xe5\x3c\xc2\xff\xac\x32\x5d\xb9\x1a\x3f\xb1\xfa\xca\xff\x5d\x45\x8a\x5c\x7b\x6d\x44\xa9\x42\x23\x7e\x07\x03\xaa\x46\x53\x10\x62\x46\x35\x29\x89\xa4\x2a\x11\x52\x89\x1e\x5e\xc5\xb9\x54\x0e\xcb\xa8\xa3\x4c\xdf\xe9\x9c\x2f\xa5\x9c\xde\x31\x95\xcd\xd1\x05\xa5\x25\x25\xa5\x0b\xa2\xcd\x95\x63\xbc\x4e\x8a\x1e\x38\x57\xec\xd2\xd3\x67\xa5\xcc\x3c\xb1\x4c\x4e\xf3\xe6\x54\xa2\x73\x5e\x4b\xaa\xb1\x6c\xac\x2b\x3f\xdf\x35\xb6\xac\x31\xd5\x32\xaf\x33\x71\xae\x38\x16\x9d\x3e\x69\x04\x76\x02\xa1\xb1\xa8\x0b\x21\x62\x95\xec\xcb\x4a\xaa\x9b\x44\xc5\x53\x00\x56\x07\xd8\x6d\x4a\x1b\x5f\x07\xd1\x84\x25\x9e\x25\x1c\x53\xd2\x8a\x23\xbd\x62\x98\x68\x81\x93\xaf\x02\xb0\x12\x92\x2e\xa5\x53\x00\xe5\xb1\xc3\x0e\xc5\x8c\x8f\x42\xb1\x46\x77\xaa\x22\xd4\x40\xbe\x7c\x10\x17\x05\x27\x4e\x3b\x05\xcd\x1a\x0d\x89\x0d\x8b\xbc\x3a\xd4\xe0\x1e\x1b\x66\x54\x73\xc6\x56\x37\xd4\x74\x7a\xf3\xdc\xcb\xf7\xe9\xd7\xb2\xdd\xcd\x99\xf4\x9c\x35\xd2\xcb\x4d\xfb\x97\x69\x19\x76\xef\xe2\x68\x68\x32\x9d\x6e\x8c\xa5\xdb\x2a\xc6\x35\x84\xa4\xd9\xae\x7b\x65\xb7\xaf\xdc\x27\xbd\x2d\xd6\xcb\xd3\xde\xdc\x22\x3f\xfc\xc2\x5f\xf4\xbd\x1c\xed\xbe\x28\x38\x56\x85\x1b\x42\xe9\xed\x91\x69\x0c\xa4\xc3\xde\x78\x25\x77\xcd\xf2\xef\x23\xd5\x52\x53\x4e\x79\x73\xf7\x96\x39\x10\x9c\x72\x5e\xdf\xb2\xfd\xb0\x78\x97\x6d\xc2\xe9\xbd\x9e\x0e\x16\xa1\x4a\xd4\x82\x10\x92\x8b\xc5\xa7\xd8\x82\xe4\xc2\x10\x09\x23\x90\x92\x49\x58\xe2\xb1\xac\x95\x88\x6f\x84\x3b\x5c\x16\x71\x79\x8a\xc4\x51\xca\x90\x4c\x84\xac\xd5\x9f\xb2\x4d\x11\xa7\x6e\x5d\xd4\xe0\x6e\x58\xd4\x70\x93\x90\x8a\x35\x3a\x21\x2d\xa4\xf0\xcf\xbd\x71\xae\x89\x69\x50\xe2\xdd\xbf\xb8\x62\x53\xa1\xc5\xb1\x6c\xff\xaa\xeb\x55\x4d\xfc\x45\x33\x33\xcd\xb5\x6b\xfd\x52\x3a\x72\xa4\x6b\x7a\x78\xff\x32\x87\xa5\x90\x49\x37\x84\x32\xdd\xd8\x18\x6a\x68\x08\x65\xbe\x19\x44\xaf\x44\x1a\x63\x25\x5e\x09\x45\x4a\xbd\x70\xd8\x9d\x07\xdf\x12\xbb\xd1\x6f\x86\x12\xe0\x03\xa1\x67\x27\xd5\xd1\xfb\x97\x99\xd8\x7d\xab\x24\x3e\x58\x22\xad\x99\xd1\x99\x28\xc7\x68\xfc\xbc\xae\x23\x5e\x78\x70\xd9\x7e\xba\x6e\x98\x83\x8f\xec\xf5\x0a\x28\x86\xa6\xa2\xa5\x68\x37\x42\x8c\x3c\xbf\x52\x96\x59\x12\x1e\x05\x32\x3e\xcc\x34\xcd\x64\xe1\x4a\x1c\xc3\x52\xf2\xf8\x53\xa1\x2f\x0a\x84\x20\x46\xaa\x0c\xc7\x10\x8e\x5e\x39\x2a\x09\x54\x60\x88\x96\x9a\xb1\x65\x39\x47\x12\xb1\x68\x3d\x50\xe4\xa8\x62\xe3\xcf\x65\xb5\x2b\xea\x20\x42\x4c\x23\x6d\xf2\xa5\xe9\xca\x13\xc7\xeb\x1d\xc9\x29\x8c\xd4\xdf\x75\xe4\x48\xd7\x86\xd2\xa9\xad\x47\xba\x42\x65\x78\x33\x5c\xdb\x75\x64\xcd\x3c\xe9\xbe\x45\xd7\xdc\x7c\xdc\xe5\x6f\x08\x39\xad\x30\xab\xb2\x1e\x52\xb2\x4f\xfa\x20\xdf\x5c\x62\x34\xd6\x87\xad\x66\xe8\x70\xf9\xbf\xc8\x9c\x9f\x63\x8f\x35\x96\x05\x30\x9f\x21\x33\x52\xec\xf8\x32\xb4\x7e\xcd\xac\x29\x30\xbb\x24\xde\x18\x93\x5e\xbe\xc2\x2f\x97\x7b\x75\x74\x42\x48\x90\x5e\x4a\xef\xaf\x8c\x31\xae\x2d\x13\x04\xcd\x91\xd7\x8f\x98\xf2\x77\x37\x77\x1d\x31\xfd\xed\x48\x57\x66\x79\xcb\x5e\xdb\x5c\x07\x7e\x7e\xd2\x54\x3e\xe1\x09\x35\x68\x6e\xd2\x34\x87\x07\x51\xa8\x41\xb3\x47\xaf\x72\xda\x02\xf6\x70\x4a\xdd\xc3\x27\x28\xd3\x0f\xaa\xc6\x58\xb0\x81\x7f\x21\xd5\xd8\xd5\xd8\xf5\x5c\x7d\xc9\x79\x03\xc8\x32\x57\x3b\xa1\x14\xdf\x12\x6b\xbc\xd8\x53\x29\xbd\x1d\x4a\x4e\x0c\xbd\xfa\xea\xc4\x52\xd5\xcc\x58\xf1\x64\xd3\xfe\xe1\xba\x47\xe6\x83\x7e\xc2\x8f\x17\xb6\xcb\xaf\xe1\xb0\x04\x66\x60\x78\xb0\x22\xff\x08\xa2\xe2\x07\x53\x54\x04\x65\xc8\x65\x75\x81\xfc\xaa\x79\x6c\x9e\x2c\x6b\x52\xc4\x43\x50\x15\xd9\x59\x81\xfc\x5a\xcb\xf5\xd6\xc1\xb8\x20\xeb\x8d\xd3\x3b\xeb\xd6\xf9\x71\xed\xf9\xdd\xcd\x52\xba\xb9\x5b\xfa\x38\xf3\x41\x73\xf7\xdd\x5b\xe1\xf6\xe2\xcc\xac\xe5\xd7\xa9\xc6\x76\x37\xb3\xbd\x6d\x99\x5f\x89\xa9\x81\xb1\x4e\x81\x32\x9a\x34\x91\x42\x2a\x35\xd0\xeb\x14\x28\xd5\xe4\x32\x9c\x6e\x0d\x56\x31\x29\x4d\xb8\x50\x9a\xd0\xd0\x2e\x38\x71\xa5\x51\x0f\x75\x39\x05\x82\x13\xd2\x4e\x81\x45\x55\x95\x03\xff\x79\xec\x05\xe9\x68\x73\x77\x77\xf3\x89\x6b\xba\x9b\xdd\x5b\xef\x4e\x5f\xbe\x6c\xc6\x4a\x77\x73\xf7\x8f\xbd\xb0\xec\xe8\x4e\x4a\x1f\x15\x9c\x6e\x5f\xc8\x5a\x28\xb8\x05\x67\x29\x5f\x3a\xa6\x2a\x68\x30\xf4\x16\x04\xda\x1b\xdc\x4e\x81\xbb\x55\x1f\xca\xfb\x0d\x59\xc0\x52\x38\xf1\xe4\xb1\x5d\x18\x6d\x96\xdb\x2c\x41\xa4\x84\x58\x94\x7c\xc5\xb3\x14\x6f\x79\x90\xa5\x7a\x03\x9b\x95\xa3\xb2\x94\x24\x2c\x07\xac\x8f\xf2\xb2\x1c\xe5\xa3\x86\xc8\xa4\x2c\x23\xbc\x2e\x90\x3f\x11\x4f\x38\x01\x8a\xa1\x1e\xc7\xc4\xa2\x4e\x48\x0c\x91\x9d\x50\x3e\x8b\xec\x85\xdf\x4e\xbb\xc0\xb2\x42\xcf\x6c\xe6\x76\xb4\x99\x76\xcf\x9f\xbd\xcb\x3a\x7b\xa5\x75\xd7\xec\x05\x97\xf2\x8b\xb6\x71\x17\x6a\x12\xf6\x0a\x6f\x65\xee\xaa\x23\xd5\x61\x89\x19\x3f\xb7\x52\xa8\x53\xdf\xbe\xf3\x5a\x75\x9d\x50\x91\xa2\xf6\x38\x97\xa9\x93\x42\x79\x03\xb5\x99\xa3\x55\xcb\x55\x51\x0f\x7e\xa8\xd8\x0b\xfd\x55\x8d\xd1\x12\xaf\xf4\x4a\x6a\x32\x45\xa7\xca\xc5\x3a\xf5\x66\xe7\x11\xaa\x7e\x10\x2d\x6e\x84\x6b\xab\x23\x65\x76\x78\x3f\xcf\xd5\x76\x85\x66\xee\x9a\x95\x33\xa5\xdb\xe1\xde\x99\x2b\x37\xcd\xd7\x5c\xd5\x96\xe3\x93\x10\x57\x62\x74\x69\xb5\x87\x56\x25\xbb\x05\x69\x4f\x84\x4d\x57\x08\x99\x79\x78\xa1\x50\xd1\x50\x6e\xd0\x67\xde\x87\x1b\x02\x91\x86\x10\xaf\x93\xbc\xf9\x9b\x5d\xd2\x7a\x77\x91\x13\x2e\x2c\x19\x17\x9d\xe2\xfc\xfc\x13\x1a\x74\x10\xd4\x9b\xb5\xe5\xe3\x2b\x04\xc9\x85\xbb\x79\xbe\x62\x7c\x76\xcf\x57\x2e\xd7\x08\x61\x20\x59\x46\x98\xb8\xce\xdd\xd2\xd5\x29\x22\xe3\xbe\xd8\x88\x7e\x40\xf1\x98\xa2\x82\x48\x9a\xbb\x08\xe9\x09\x4e\x77\x04\x67\x37\x7c\x96\xac\xca\x94\xfc\xc1\xe9\x58\xe3\xf5\x45\x0d\xd1\xa9\x4a\xe3\x77\xd2\xee\x63\x16\xe5\x54\x35\x57\x29\x5d\xc4\xd4\x78\xac\xd1\x3d\x35\xbe\xfa\xb0\x5d\xb3\x6c\x6a\x79\x74\xc3\xa4\xbc\x82\xf6\x5d\xf9\x8b\x8c\x9d\x0d\x99\xb0\xd2\x10\x1e\x5e\x35\xa9\xe6\xc8\x9f\xdd\xe0\x96\xff\x99\x74\x63\x4c\x42\x52\xfa\xa5\x78\x53\x94\x34\x82\x79\x36\xe8\xee\x58\xfa\x4e\x51\x6d\x55\xb0\x4e\xee\x07\x52\x0b\x13\x33\x1a\x63\x1d\x78\x4c\x62\x46\xfa\xe6\xd5\xef\xe1\x09\xb6\xf9\xdc\xe5\xed\xef\x6c\x5e\x2b\x1d\x48\xcd\x54\x9a\xc1\x55\xd7\xfb\xb0\xaf\xeb\xc8\xa9\xac\x1d\x9a\xf2\x19\xb1\x2f\x1e\x20\x2a\xb6\x4b\xd0\x2e\xa2\xb4\x32\xf2\x11\x63\x26\x2a\x0b\x61\x2a\x04\x85\x6b\xd5\x24\x07\x38\x2f\x6b\x20\x54\x84\xa4\x12\x39\xbc\x3c\x95\x65\xb0\x54\xba\x8e\xa8\x00\x56\x87\xc5\x96\x88\xd7\x40\x62\xa8\xfb\x50\xaa\x26\x64\x4b\x9c\x22\xac\x2f\xa2\x32\xaf\x8e\x93\x89\x95\x01\xe4\xa9\x17\xa3\xaa\x2d\xdf\xef\x98\x6b\xdb\xdb\x92\x59\xde\x75\xe4\x6f\xa6\x23\x5d\xcd\xbb\xf3\x4d\x47\x5e\x3f\x92\x67\x9b\xb0\xe5\x31\x4f\x82\x9f\x3a\x29\x11\x6e\xd6\xdc\xa4\x69\x78\xc0\x1e\xb0\x39\x55\xfa\x3d\x9a\x86\x90\x27\xc1\xf7\xa8\x53\xfd\x63\x55\x3f\x9c\x57\x52\xff\x5c\x57\x63\x57\x63\xea\x05\xbe\x21\x18\x6b\xa4\xf3\x4b\x27\x68\xe7\x5a\xf6\x9b\x26\x17\xc7\x66\xaa\x4a\x27\xbe\xfa\x6a\x68\x62\x32\x24\xbd\x5d\xe9\xb9\xb8\x31\x46\x5d\xe0\xa8\x3f\x7e\xa2\x7d\x91\x74\xdf\xbc\x35\x47\xba\xe0\x5a\xbc\xb9\x2c\xd4\x75\xa4\x75\x6a\xe9\x06\xb9\x21\x96\xfa\x99\x29\x09\xbf\xeb\xf8\xcd\xf5\x95\x30\xcb\xea\x0c\x35\x5c\x6e\x34\x96\x98\xf3\xa5\x0f\x64\xbf\xdf\x05\x1d\x66\x6b\xb8\x1e\x56\xda\x73\x32\xe7\x4f\x58\x1f\xfa\x12\x3b\xe4\x76\x37\x93\xc6\x7c\xa0\xac\xf1\xd4\x5f\xe2\x25\x30\x7b\xca\xac\x56\xe9\x25\x21\x34\x21\x5a\x2d\xf7\x7a\xfe\x2b\xa4\x97\x63\x8d\xc3\x3c\x30\xdc\x2f\x68\x84\x72\xc9\xf8\xd1\x76\x6e\xe4\x4e\xd8\xce\x58\xec\x1c\x89\x15\xb5\x20\xbb\xa2\x16\x88\xb0\x8f\x28\xc4\x2c\x0a\x71\xa8\x85\x6c\x4a\x5b\x14\x4e\x98\x05\x16\xbd\xf4\xa6\x59\x7f\xb9\xde\x22\xbd\xa5\xb7\x98\x79\x2a\x57\x6f\xa1\xf9\x69\xa0\xd6\xe8\x2f\xd3\x99\x21\xf4\xa4\xca\xb6\xcd\xaa\x7e\xa2\x0c\xcc\xba\xcb\xf5\x1a\xf5\x74\x30\xeb\xae\xb6\xaa\xdf\xd3\x68\x28\x3d\xfd\xbe\xda\xba\x5f\x6f\xa6\xfa\xb6\xe8\xcd\x03\xaf\x93\x93\x4b\xcd\xfa\x2d\xbc\xd9\xa2\x19\xa8\xd7\x6b\x35\x26\x1d\x6e\x92\xe6\x5b\x2c\x70\x4f\xe6\x41\x9d\x49\xa3\xe1\xa9\x67\x74\x26\x4b\xe6\x87\x9c\x3c\xce\xa7\xc6\x2a\x8b\x69\x08\xc3\xa0\xcc\xa9\xd5\xa8\x18\x8d\x51\xec\x10\x44\x45\xc6\x21\xee\xc8\x3e\x8b\x48\xf9\xce\xa4\xba\x51\xc0\x64\x9c\x1d\x8f\xda\x24\x41\x23\x36\x48\xfc\x6e\xda\x4e\x9b\x6b\x3d\x73\x2e\xbc\xad\x61\x72\xf4\x15\x95\x5a\x65\xb9\xc1\xaa\x7a\xf6\x66\x33\xaf\xe0\xa0\x85\x74\x72\xee\xd2\xb9\x53\xd8\x32\xe9\x75\xe9\x9b\xdf\x6c\xd9\xf2\x1b\x30\x42\x29\x18\x89\xef\xdd\x73\xec\x42\x50\x63\x5b\x3c\x66\xe9\x4f\x53\xdf\x91\xf6\x9a\x78\xa3\x09\xd6\x4a\xb7\xc9\xd7\xa1\x7a\x79\x73\x4e\xe1\x2d\xe7\x2d\xba\xce\xaf\xa1\xe2\x5b\x7e\x23\x7d\x33\xea\x7a\x52\xe3\xa8\x0b\x5d\x7d\xf5\x37\x23\x9f\xbb\x0c\xb5\x2a\x4a\x57\x10\x4e\xc4\xcb\x41\x10\x05\x03\xf0\xcc\x30\xbd\x51\x21\xd8\x13\xf1\x7a\x88\x8b\x21\x5a\x19\x2b\x78\xfe\xbd\x64\x67\x15\xcd\xa8\xfd\x23\xdc\x76\x63\x27\xaf\x2d\x63\xcd\x46\x2d\x4d\x1b\xac\x79\xae\x80\xa5\x69\x69\xc7\xd4\xc0\x04\xa3\x51\x6b\x30\xaa\x62\x7a\x03\x65\x2c\x8d\xcd\x2a\x3b\xf4\xeb\x67\x29\xdd\x8d\x9d\xbc\xa6\x4c\x65\xfa\x17\x49\xaf\xfb\xcd\xb3\xe2\xd9\x85\x99\xb9\xfd\xec\xcd\x23\x28\xef\x34\x9b\x67\xe9\x69\xac\xa7\x68\x9d\x81\xd7\x71\xcb\xa7\x35\x2d\xcb\xe7\x79\x2d\x60\xdd\x74\xab\x85\x36\x16\xe6\x5a\x9f\x39\x70\xf0\x69\x39\x15\x4f\xfd\xab\x54\x74\xe5\x39\x8a\x1d\x6c\xe7\xf8\x0d\xe5\xf7\x28\x35\xd8\xc7\xf5\x32\x6e\x82\x29\x41\x6a\xda\xc1\x89\x6a\x48\xa8\x29\x31\xe1\x50\x03\x07\x1c\xe0\x3e\xb9\xa1\xcb\x74\xe0\x9e\xbb\x3a\x26\x4b\x6e\xe8\x7b\x46\xfa\x10\xf7\xe0\x9e\x4c\xc7\x5d\x1d\x93\xa1\x4f\x72\x3f\x03\x9e\x0e\x29\x8d\xfb\xa4\xb4\x94\x96\x0f\x90\x64\x72\x74\xa1\x9c\x28\x9b\x4c\x3e\xed\xa3\x0e\x48\xa3\x33\xd6\x8d\xe4\x7b\x8a\x08\x05\xd4\xc0\x39\x38\x35\x38\x12\xa2\x9a\x49\x88\x09\x35\x88\xdc\xe8\xaa\x8b\x5f\x01\x83\xf4\x65\x4b\x6f\x87\xf4\x25\x38\x82\xf3\x77\x4a\x63\xa8\x52\x78\x4e\x1a\x23\xfd\x1d\x1c\x2d\xbd\x1d\xe0\x90\xbe\x0c\xce\xa7\x9a\xce\xf1\x90\x0f\x81\x01\x1c\x2d\x4f\x77\x80\x43\x3e\x31\x2d\x8d\x91\x1a\xe0\x39\x78\x4e\xfa\xbb\xf4\x65\xcb\xd3\x1d\xd2\x97\xd2\x97\xc1\x16\xf8\xf1\x1c\x95\x52\x83\xd0\xe0\x7b\x6a\xc4\xf8\x91\x16\x59\x50\x7e\x56\x65\x73\x02\x9a\x8d\x5a\x51\xfa\x4c\x55\x80\xa1\x5d\x55\x26\x0b\x2f\x8b\x13\x11\x61\xa2\x95\x42\x52\xc9\xad\xbe\x3f\xeb\x8b\x28\x30\x7b\x1e\x08\x01\x1b\x08\x1e\x37\x17\x76\x61\x5b\x34\x89\x87\x90\xbc\x16\x0f\x4f\xe0\xe9\x98\x26\xed\x3b\x17\x02\xc2\x63\xe9\xc7\x31\x02\x9b\xf1\x10\xf1\x73\xbc\x37\x21\x88\x89\x84\x28\x24\xe8\x5d\x89\xe9\x89\xc4\xf4\x01\x71\x43\xcf\x86\x0d\x3d\x1b\xe8\x4b\x36\x34\xcf\xd8\xb8\xa1\x67\x60\xc2\xf1\x4d\x9b\x8f\xdf\xfe\xf9\x71\x7a\xd7\xf1\xcd\x9b\x8e\x1f\xdf\xb4\x79\xe0\x43\xe9\xef\x4f\x5f\xf4\xfa\x8e\x1d\xaf\x5f\xf4\x34\x75\x8f\x24\xfd\x5e\x7a\x46\xda\xf2\xfa\x8d\xad\xf3\x0f\x9f\xc4\x33\xa5\x6f\xa5\x5d\xd2\xdf\xc1\x00\x17\xd3\xb0\xb3\x34\xa9\x5e\x77\x93\xf4\xc3\xcd\x97\x7e\xd1\x5c\x3e\x4b\x3b\xd7\xdd\xfc\xe5\xa5\x37\x4b\x3f\xdc\xb4\x4e\x9d\x2c\x85\xb5\x87\xe1\x96\x8f\xfb\xe0\x2a\x9c\xa7\xdc\x3e\x81\xe5\xbb\xc7\xdb\xe5\x7b\x6e\xd8\x00\x24\x0f\xbd\xe4\xc6\xc7\xe1\xf3\xe3\xc7\x3f\x3f\x2e\x05\xe1\x62\x30\xec\x78\xe3\xd4\x1b\x3b\x68\xed\xfa\x75\xad\x37\xbd\xbe\x65\xd3\x6b\x37\xb4\x67\x38\x39\x5a\xfa\xbb\x7c\x5b\x9a\x8e\xec\x8c\x5c\xff\xd8\x2d\xd2\x0f\x37\x76\x2f\xab\xba\xd0\x7e\x41\x60\xd9\x86\x1b\x41\x75\xcb\x63\xd7\x47\x76\x46\x96\x6f\xe8\x46\x14\x3a\x6f\x10\xd1\x37\x91\x76\xd1\x82\x9a\x10\x22\x64\x8d\xc8\x8d\x6c\xd6\xd3\xe0\x1c\x70\x01\x8f\x39\x96\x73\x64\xc1\xef\xa2\x20\x66\xc1\xe5\x09\x48\x08\x62\x88\x52\x70\x48\x2e\x3a\x12\x26\xe2\x62\x2e\xa0\x6a\xa5\x2b\xa4\xef\x41\x03\xdb\x40\x23\x1d\x79\x64\xf7\xee\x47\x76\x43\xa9\x9e\xd6\x07\xcb\xc4\x4d\x2f\x4c\x01\xad\xcb\xa5\x2b\x9c\x57\x38\xee\x05\xe9\xbb\xc2\x79\x2e\x5d\x61\x21\x68\x27\xff\x76\xa3\x58\x16\xd4\xd3\x7a\x8d\xbf\x22\xe5\x61\xac\x0d\x93\xbb\xab\x5b\x7f\x1a\x10\x3c\xa9\x0a\x3f\xde\x02\x9a\xc7\x9f\x00\x8d\xf4\xfd\x13\x8f\xc3\xcd\xbb\xdb\x16\xed\xde\xbd\xa8\x2d\x73\x67\x5e\x99\xbf\xc8\x93\x3b\xc5\x36\x99\x5c\x45\xef\x72\x8d\x7f\x41\xfa\x87\xcb\xa5\x77\xcd\x93\xaf\x67\x9b\x92\xeb\x29\xf2\x97\xe5\x59\x5d\xbc\xd9\x49\xf3\x3e\xa7\x3d\x92\x9b\xeb\x34\xf3\xae\x11\xfc\x61\x1c\x8a\xa3\x24\x41\xab\x0e\xed\xda\x87\x80\xe5\x78\xec\x15\xca\x89\x8f\xb5\x3b\xec\x0e\x8e\xe5\x58\x6b\x21\xd8\xc3\xf5\x60\x77\xc8\xdf\xf1\x68\x39\x96\xc7\xbf\xd8\x28\xb8\x59\xa3\xdd\x7d\xd6\xf2\xf1\xb1\xb6\x3d\x6d\x6d\x7b\x20\xa2\xf1\xd7\x14\x6a\x84\x1d\xbb\xce\xcf\xcb\x2b\xac\xf1\x6b\xec\xc1\x71\xb3\xaf\x89\x5c\x5d\x69\xb7\xab\xed\x75\xf6\xa7\x37\x4e\xb3\xd7\xd9\xd5\x76\xfb\xd3\xd1\xfd\x73\xc6\x05\x27\x3d\x25\xfd\xe3\xa9\xa7\x40\x87\xb7\x8f\xa4\x3a\xa5\x24\xf9\x4a\x6d\x99\xef\xad\x39\x4c\xae\x2a\x27\xe8\x37\x9b\x73\x99\x1c\x6b\x59\x4d\x69\x8c\x8f\x5e\x5d\x91\xbd\xc0\xa6\x26\xe5\x92\x4f\x45\xf9\x58\x69\x0d\x98\x41\xf7\x94\x7c\x35\xf8\xe2\x4c\x7e\x53\x65\x0d\xe2\x11\x26\x8d\xcc\x8a\x6e\x9d\x3c\xc9\x21\x48\x68\xbf\x80\xb3\xe2\xe5\xc3\x23\x72\x35\x0c\x0f\x45\xd9\x82\xb1\x0b\xaf\xf8\x4c\x7a\xe6\x81\x9f\x4b\xcf\x7c\x7e\xc5\xa2\x14\x7e\xa6\xdc\x07\x87\x02\x13\x2a\xcb\x7d\xd2\x93\xd2\x93\xbe\x50\xe5\x04\x3f\x1c\xf6\x30\xe9\xd6\xb1\x99\x1f\x7f\x2e\xf5\x7e\x7e\xf9\xe5\x9f\x43\xea\xe7\x98\x4b\x2d\xea\x7f\xdb\x03\x7b\x7c\xe1\xca\x09\x1e\xe9\x25\x88\x7b\x26\x54\x46\xbc\xd2\x0e\x4f\x16\xa3\x7e\x83\x1a\x31\x2b\xe5\x3a\xc7\x00\x8b\x38\x56\x88\x09\x48\x0c\x61\x5f\x54\x88\x79\x6c\x3c\x76\xd8\x91\x23\x6e\x4e\x08\x58\x14\xc4\x18\x63\x53\x00\x5c\x04\x5e\x17\x8f\xc6\xc2\x49\x88\xd8\x78\xe0\x28\xbb\xd9\x01\x21\x2c\xc6\x18\xf9\x67\x42\x1c\xf3\xa6\xf4\x4e\xae\xf4\xdd\x58\x88\xcd\x92\xee\x98\x67\x6b\xdd\x5c\x0a\x78\x92\x38\x33\x6a\x74\xc2\x45\x65\x85\xef\xda\x2d\x6f\x16\x08\xc7\x31\xd4\x8e\xb3\x79\xd6\xb8\xd7\xd5\xe7\x8c\x5f\x0c\xa9\x37\xae\xb3\x24\x37\x7a\xde\xd0\x7f\xc6\xc1\xa3\xfc\xa4\x1a\x27\xbc\x0c\xb0\x37\x99\xf9\xd6\xb3\x12\x3f\x5c\x99\x19\xbc\x14\x00\x9e\xa1\xac\x2f\x85\x37\xcd\x63\x04\x55\x18\xe7\x8f\xf1\xd5\x0c\x1c\x58\x5e\x07\x37\x17\x8b\xf0\x69\x6c\x02\x0e\x43\x39\x0e\x85\x26\xfe\x6d\xfc\x9b\x87\x13\x95\x98\xf3\xb3\x00\x95\x38\x19\x96\x26\x7a\x32\x92\x89\xfa\x51\xa8\xe4\x21\x4c\xe3\x52\x7a\x7f\x7f\xaa\x71\x04\x9f\xb6\x06\xe5\xa0\x8d\x68\x17\x3a\x38\xa2\xc5\x93\x67\x9e\x3c\xcd\x41\x92\x0e\x58\xb9\x10\xf6\x79\x6d\x56\x07\x0f\x1c\x99\x15\x14\x92\xed\xd6\x24\x8e\x45\x09\x65\x76\x08\x44\x32\x5f\x32\xc8\xe3\xfc\x84\x0b\x13\xe1\x9e\x72\xa2\xec\x27\x8f\x74\xcb\xc9\xbc\x80\x25\xf2\x6d\x2e\x70\x10\x71\x8c\x7a\x70\x81\x82\xf0\x18\xd9\x63\x9f\xd1\x1b\x50\xbf\xf4\xe4\x3a\x05\x6f\x58\x30\x40\xbb\x7a\xcb\x65\x7b\x17\x53\xd2\x71\x6e\xdb\x9e\x7d\xed\xf8\xaa\x4e\x2a\x3f\x97\xd6\xd7\x4c\x7d\x7f\xb7\x11\x78\x86\x05\xe3\xe4\xa9\xcf\xdf\x07\x39\x16\x3d\x6b\x77\xe0\x0d\xb7\x16\x4e\xd0\x68\x99\xf1\xfc\x5a\xec\xc9\xa3\xf5\xb9\x56\xeb\xb4\xbe\x3d\x06\xac\x67\x58\x30\x4c\xaa\x7f\xf9\x01\x51\xa7\x0d\xac\xbf\xb1\xb0\x4a\xa3\xa5\xab\xf9\xb9\x3b\xdf\x94\xde\x96\x1e\x93\xde\x7e\x73\xe7\xce\x37\x21\x08\x13\x21\xf8\xe6\x87\xe7\xe8\x60\xf0\x6e\xa7\x20\x67\xc7\x33\x1b\x4f\x50\xad\xdd\xb1\xab\x95\xcd\x3c\xc1\xad\xbb\x70\x77\x6b\xed\x8b\x3f\xc3\x66\x83\x5e\xe3\xed\x3e\xea\x1e\xa7\xd1\xd2\xe3\x0d\xab\x70\xc0\x45\xeb\x0b\x82\x54\xe3\x47\x7b\x0c\x94\x4e\xbe\xed\xe4\x71\x27\xef\x03\xbb\x51\xc7\x5a\x74\xba\xee\x9b\x5c\xe3\x34\x5a\xa6\x41\xbf\xb6\x4a\xad\x4f\x35\x7e\xb0\x4b\x87\xe5\x47\xd0\x4f\xfe\x13\xb9\xf9\xce\x91\x19\xc2\x97\xfc\x57\xe3\x28\xc8\xf6\xad\x76\xe4\x45\xc5\x08\x41\xdc\x61\x77\x04\x04\x9a\x83\xb8\x5f\x0d\x76\x3a\x41\x09\x7e\x1c\x33\x06\xec\x66\xcc\x72\x6c\x00\xe2\x58\xf4\x87\xed\xa4\x61\xa1\x2e\xfa\xe6\x0f\x5f\x6c\xcb\x38\x7b\xa4\x7f\x44\xa4\xbf\xa6\x61\x5d\xe6\x7d\x98\x39\x19\xec\x37\x7d\xfe\xba\xf4\xd3\xe7\xd9\x5f\x8f\xa1\x96\x9f\xbc\xe6\x73\xe9\x1f\x70\xb8\x45\xbb\x42\xaa\x3a\x75\xe2\xc4\xa9\x13\x2c\xc2\xdb\x2f\xfb\x5a\x54\xdf\x79\x10\xee\x3a\x76\x9f\xb4\x26\xb3\xea\x9a\x43\x05\x52\x9d\xe7\x47\xd8\xf9\x1e\x68\x13\x47\xa4\xa7\xa5\xf7\x33\xb3\x2f\xe5\xf1\xfa\xdd\x50\x7f\x3e\x7b\x42\x3e\x49\x7e\xaf\xb0\x5c\xbf\x98\x17\xc9\x6e\x82\x1b\x89\x02\x76\x42\x82\x4a\x82\x3c\x16\x97\xdf\x21\x8a\x60\x3e\x31\xe7\x10\x59\x17\x4e\x24\xb1\xc3\x05\x1c\x4f\x8b\x3c\x88\x2e\x48\xe2\x44\x3c\x24\x7b\x1c\x71\x2c\xd2\xc8\x62\xc7\x3c\xd0\xd4\xe5\xd2\x67\xd2\x84\x35\x63\xcc\x13\x6f\x58\xa9\xd5\x6e\xd4\x17\x7f\xb5\x39\xbe\x9b\xcb\x6d\x8c\xcc\x55\x19\xb4\xb9\x8c\x63\x61\x95\x61\xaf\xd9\x16\x69\x2e\x8a\xb4\x4f\x09\xd4\x55\xab\x81\xe2\xed\x45\xce\xda\xbb\x2f\x9a\x7a\xa2\xe7\xf0\xea\xbc\x12\xd5\xb8\xb2\xf9\xcb\xf3\x0c\xd7\x5e\x09\x6a\x10\x68\x3c\xf7\xb6\xb7\xa5\x2f\x07\x11\x94\xfd\xb0\x1b\xe6\xc0\x04\x28\x69\x93\xfe\xc4\x53\xa6\x99\x1b\x71\xd9\xef\x6a\x55\x5a\x9a\x06\x66\xa6\x8f\x73\x54\x68\x9e\x1c\x57\x32\xad\x2a\x8f\x53\x47\x44\x4c\x8f\xf1\x63\xce\xac\x57\x51\x8b\x67\x6a\xeb\x4a\x0a\xa7\x9c\x17\x6b\xfd\xed\xfd\x82\x30\x7b\xd2\xcf\x60\xe1\xfa\x69\xd2\x6a\xe9\x37\x3b\x07\xd1\x7b\xf7\x2e\x1b\xc5\xe3\x9f\x50\xf4\x1a\x69\x02\x71\x75\x81\xc3\x4e\x47\xc2\x09\x62\xf8\x21\xc8\x0d\x5e\xd4\x1c\xf7\xd7\x80\x9d\x06\x2b\x26\x54\x0a\x71\x73\x2c\x8a\x45\xa2\xad\x68\x66\xde\xb8\xe3\xd9\x9b\xa5\xbf\x9e\xd7\xb8\x80\xa6\x17\x34\x9e\x07\xd6\x9b\x9f\xbd\xe3\x02\xe9\x95\xbb\x0b\xf8\x07\xa4\x5f\x7f\x7a\x99\x5c\x37\x1e\xa2\xee\x82\x4a\xb8\xfd\xa6\x2b\x3a\xcf\xbf\xf2\xfc\x9b\x9e\x7f\xee\xa6\xad\x97\x6f\x5d\x7d\xf9\xf5\x4c\xfe\xba\x83\x3b\xdb\x4e\xed\x2f\xde\x7f\xaa\x6d\xe7\xc1\x75\x6b\xb6\x81\xea\xd0\xd7\x30\xfe\xc4\x43\x72\x4d\x82\xad\x03\x3f\xf4\x4a\xf7\x5c\x5c\x3f\xa7\x0a\x96\x7e\xfa\x09\x2c\xad\x9e\x3d\xf6\x22\xe9\xde\xec\xfc\xc4\xc8\x21\xe6\x1b\x54\x82\x62\xa8\x1e\x4d\x24\x7a\x37\x1e\x65\xd6\xea\xe1\x41\xce\x35\xeb\xf3\x9a\xa2\x89\x78\xc2\x1c\x60\x29\x33\xf2\x84\x1d\xfe\x48\x98\xd0\xe0\xd8\x29\xd2\x64\xcb\xbf\x1b\x90\x35\xbf\x10\x88\x2c\x78\xc8\xa4\x96\x43\x5c\xff\x25\x7f\x3c\xb4\xec\xbe\x30\xdc\x59\xf5\x99\x74\xf2\xae\xc7\xef\xfe\xf4\xa7\x5f\x95\x99\x16\x3d\x0f\xd6\x47\xfe\xb3\x1e\x1e\x85\x5c\x97\x01\x0d\x3e\x98\xea\x9c\x5b\xd1\xb8\x62\x62\xd7\x9c\x35\x07\x2f\xf8\xed\x84\xc8\x8f\xcf\x2d\x99\xb7\xe9\xfa\xed\x0f\x87\x96\xc2\x0f\xf8\x6d\xe6\xed\x6b\x0e\xbc\x85\xe7\x57\x55\x1c\xfc\x4d\xdb\x9c\x63\xff\xb8\x74\xf6\x66\xe0\x36\xf5\xd4\xde\x0d\x9d\xdf\xcf\x90\xbe\x02\x33\x2c\x86\x2d\xce\xc4\xd2\x86\xcd\x3f\x7b\x08\x7e\x3e\x7b\xe9\xc4\xf2\xbb\xd7\x5f\xde\xbf\x63\x5e\xdb\xec\xc9\x1f\x5c\xf6\x0a\x9e\x7a\xf5\x53\x4f\x0d\xad\xb3\xa5\x39\x45\x67\x24\x82\xd0\x68\x44\x98\xb2\xab\x69\x3b\x6b\xbf\x30\x36\x72\x63\x1a\x59\xf4\x3f\x92\x1d\x4b\x56\xd9\xcd\xcc\xb8\x81\x6c\x44\x0c\x90\x8d\x08\xe8\xc8\xb8\x1b\xda\xdb\x1b\xd8\x54\x43\x3b\xb8\x29\x92\x70\x20\xa5\xb7\x58\xa8\x57\x06\x14\xfc\xcb\xd0\x7e\x43\x3a\x8b\x79\x51\xf2\x65\x1f\x4c\xb3\x7f\x66\xd2\xc8\x81\x92\x08\x59\x22\x2c\xc7\x53\x0a\x08\xda\x61\x77\x64\xef\x5e\x34\x6c\xee\x18\xa7\x18\x9e\xe2\x58\x91\x6c\xb5\x29\xd2\xd7\x2e\xca\x11\x10\xae\xfa\xcd\xc4\x2a\x7f\x88\xa7\x72\xcc\x16\x1a\x47\x5c\xd5\x8b\xa5\x6f\x2a\xc6\x8f\xa7\xbf\x80\x68\xc5\xf8\xf1\x15\x0f\xbe\x6e\x94\x4a\xb0\xb5\x78\x5a\xe2\xc2\x26\x77\x71\x9d\xd7\x67\xd3\x98\xad\x73\x6b\xcb\xa6\x55\x47\x7c\x26\x78\x7d\x3c\x93\x4e\xcd\xad\x3a\xff\xd2\xd5\x47\x17\x2f\xb0\xa8\xbf\x6e\xbd\xa7\x73\x7c\x05\x93\x23\x9f\x78\xea\x8b\x8a\xf1\xbf\x87\x65\x2b\xca\xa6\x4e\xac\xd4\x39\x1b\xf2\xc6\x3f\x75\xfc\xf8\x0b\xd3\x85\xa2\x94\x5e\xa7\x75\x94\x57\xba\x97\x3f\x30\xac\x5d\xc3\x5c\x40\xd6\x4b\x26\xa2\x7b\xd0\x6f\x10\x62\x38\x85\x22\x44\x81\x42\x0b\x09\x05\xc4\x9d\x35\x8b\x22\x93\x38\xd9\x0b\x9c\xc3\xce\x9d\x6d\xbd\x92\xc8\x9a\xae\x38\xec\x8c\x95\x50\x14\x7b\xc9\x45\x62\x3e\x72\x1d\x47\xc4\x94\xb5\xb8\x52\xa0\xec\x42\x22\x5e\x08\x43\xb4\xc7\x8a\x16\x93\x29\xcb\xde\xa6\x04\x0d\x40\x18\x51\xb2\x3f\xa3\xd5\xe7\x31\x45\xb2\x3c\x31\x72\x1e\x28\xbb\x75\x38\xab\x72\x6a\x82\x6c\x27\x2f\x22\x73\x01\xbb\xe1\xe0\x4d\xc7\xef\xb8\xe1\xd0\xfa\x0d\xc9\x62\x1d\x1d\x8d\x30\x60\xce\x0f\x9f\xb7\x34\xbd\xe7\xc0\x35\x97\xa6\x97\xb0\x1a\x83\xce\xe6\x97\x6c\x0d\xf5\xb6\x7c\x93\x41\xa3\x4e\x36\x30\x1a\x83\x11\x9b\x55\x0d\x0d\x46\x97\x59\xcf\x72\x63\xc7\x9a\x5d\x79\xf0\x7c\xa8\x6c\x66\xf3\x9b\xdf\xbe\xd9\x3c\xab\xc4\x00\xea\x68\x58\x13\xa8\x05\x6a\xd9\xaa\x43\xd7\xbd\xfa\xda\xc1\x31\xf1\x7c\x83\x31\x9f\xe7\x05\x6d\xe7\x81\xc9\x93\x3a\x57\x4f\x4a\xad\xdb\xd3\xf1\xe0\x65\x53\xf6\xef\x7b\xfe\x85\x7d\xb1\x1c\xac\xd2\x78\xec\xb6\x42\x9b\x89\x5a\xeb\x72\x0d\xbc\x01\xc1\x1d\xa1\xb5\xdb\x2f\x78\xb3\x79\x66\x59\xa8\x50\xad\xd5\x3a\xf5\x6a\xae\x6b\x45\xfa\xd0\xa5\x97\xe4\x99\xd5\x40\xe9\x77\xdd\x7d\xfb\x0d\x57\x6a\xd9\x0d\xc9\x54\xaa\xbe\xbb\xfb\xe0\xca\x79\xf9\x2a\x55\x3e\x50\x0b\x27\xec\x38\x6f\x69\xbc\xaa\x2a\xb1\x84\xd5\xd0\x94\x25\x80\x67\x91\x1c\x6b\xea\x1a\x18\x23\x36\xf0\x9c\x66\x6c\x83\xb1\xc0\xcc\x34\x8c\x35\xb9\xf2\xa6\x9e\xbf\x6e\xd5\xcc\xe6\x45\x8b\x9a\x67\x75\x7a\xb8\x3c\x93\x31\x7f\xd9\x78\x98\x8d\xaf\xe8\x58\x79\xf2\xe0\x75\xaf\x1a\xb5\xe1\x88\x8a\xa2\xd8\x6b\x56\xae\x98\x38\xa9\x79\x72\x8b\xb4\x6c\xdc\x94\xcb\x7e\xbe\xf8\xb9\xfd\xfb\xf6\xc5\xbc\x58\xab\xd6\xa8\x18\x87\x01\xdf\x65\x70\xac\x93\x0a\x8a\xe7\x58\x42\x8b\x9a\x67\xae\xea\x86\x57\x55\x56\xa3\xde\xc9\xb5\x16\x57\x55\x6a\xca\x73\xf5\x46\xba\x3a\x35\x46\xae\x33\x05\x83\x88\xfd\x88\x45\x28\x0f\x25\xd1\x66\xb4\x0b\xa1\x40\xdc\x6e\xe5\x78\xda\xe7\x0d\x51\x62\x08\x88\x28\xb3\x83\x0e\xc4\x03\x76\x96\x88\xc7\x27\x92\x20\x86\x28\x1e\xfb\x78\xaa\x18\x2b\x04\x37\x71\x3b\x58\x5d\xb8\x50\x1e\x90\x94\x83\x20\xf2\x14\xd9\xa6\x67\x12\xca\x2f\xcf\x53\x5c\x80\x18\x20\xba\x28\x1b\x58\x89\x31\x42\xbc\x0e\x78\x8a\x35\x18\xec\x06\x7d\xf2\x92\x1b\x3f\x3c\x7f\xeb\xd7\xbf\xb8\x63\xb9\x57\x45\xb3\x1a\x3d\xd3\xbb\x06\x2e\x85\x9b\x9e\x82\x1b\xb4\x26\xab\x37\x62\x32\xab\x6d\xe5\x26\xc6\xe6\x71\x96\x5a\x4a\x80\xe5\x55\x6a\x86\xa5\x28\x00\xb6\x2b\x1c\xda\x21\xed\xc9\x0b\x08\xbc\xfe\x93\xe0\x74\x8b\x45\xcb\x0b\x5b\xaf\x38\xb0\xbb\x33\x59\xd5\x72\xd1\xb6\x7d\xcb\xc2\x36\xef\x7c\xd6\x56\x1b\xad\x35\x4b\xef\x96\x2e\xbc\xf8\xc4\x79\xcb\x6f\x5b\x32\x36\x37\xd3\x31\xb1\x61\xca\x1c\x17\x5f\xd3\xb9\x76\x6c\x2d\xcb\x16\x58\x8c\x89\x99\xe3\x2a\x93\xad\x5b\xda\x8a\xd4\x06\x35\x03\xf4\x96\xca\x9f\xcf\x0b\xfe\xde\xb8\xba\x72\x76\x11\xaf\xb1\x94\xdd\x68\xe7\xd4\x14\xc6\x58\x11\x8b\xc5\xd8\x58\xc1\x72\x3a\xb8\xbb\xb0\x21\x5c\xac\xd5\xf6\x05\xa6\x59\xad\x5a\x7b\xcd\xfc\x20\x5b\x31\xfb\x9a\xd6\x39\xfb\xda\xa6\x14\xe5\xab\xf1\xce\xb1\xee\x18\xb6\x07\x66\x25\xf2\x6a\xcf\x5f\x33\xab\x32\x3c\xa5\x6d\x86\x37\x73\xeb\xbc\xf2\x52\x7b\xee\xd2\xb2\xaa\xdb\xb0\xb5\x7c\xf1\xb0\xcd\x4f\x9a\xf4\x51\x11\x82\xd0\x5a\x3d\xc2\x26\x74\x88\x55\xf9\xb4\x6d\xee\xb0\x2f\x90\xe5\xb4\x8c\x65\x39\x2e\x99\x51\x61\x05\x5f\xfa\xdf\x58\xab\x67\x8d\xb5\x88\x44\x77\x56\x18\x3c\xdd\xde\x20\x37\x96\x8a\x33\x38\x52\x80\x69\x84\x9f\x4e\x9f\x4a\x53\xe8\x2c\x42\x16\x05\x09\x81\x9a\xa2\xa7\xf1\x2b\x1d\x72\xf3\xdb\x91\xfd\x56\x6c\xd1\x15\x44\xe1\x08\xff\x29\x33\x8d\x06\x10\x4e\x8d\xbe\x12\xf1\x9e\x51\x3e\x06\xa2\x72\x10\x21\x08\x36\xdb\xc8\x3e\x21\x6c\x07\x8f\xc9\xf3\xaf\xb9\x40\xff\x45\x81\x46\xc2\x76\x3a\x6d\xe6\x33\x0a\x6c\x24\xc5\x9b\x07\x10\x93\x3e\x95\x86\x11\x1d\x05\x35\x52\x9f\x2a\x7d\xce\x52\x4b\x47\x9b\xa0\x67\x28\x8d\x39\xf3\x7b\x1a\xf5\x9e\xf5\xcc\x8a\x7f\xfa\xb9\x0b\xaa\xe9\xcc\x3a\x21\xa2\x84\x52\x27\x02\xa7\x29\xce\x04\xd2\x2a\x0f\x6b\x0f\x65\xed\xd0\x1d\x76\xeb\xff\x59\x39\xcc\x0f\xa9\x9d\x9a\x27\x9e\x50\x6c\xcc\x9f\x7c\x52\xb1\x3a\x1f\x0a\x3f\xf1\x84\x7a\xc0\xfd\x3f\x2b\x9a\xeb\xcf\x7d\xb9\xe1\xb0\xd4\xf7\xbf\x2b\x2f\x2b\xca\x41\x41\x54\x85\x16\x11\x9d\x1a\xaf\x38\x6c\xa8\x9f\xb5\xd6\xff\xbf\x2a\x20\xc6\x21\x21\x8d\x53\x23\xf5\x29\x59\x7f\x0f\x94\x67\xe9\xef\xf8\x9f\x15\x0b\xae\x95\x90\x5a\x0d\x6e\xa5\x40\xde\x03\xa5\x44\x32\x63\xfe\x07\x85\x01\xc3\x63\xde\x82\x6c\x3b\x02\xa4\x6b\x1e\x72\x46\xac\x4e\x40\xaf\x53\xc0\x39\x26\xc7\xd0\xb7\xe0\xfc\x91\xe0\xe4\x59\x24\x38\x07\x2e\x85\xfb\x78\xc1\x29\x29\x4e\xbf\x12\x9f\x76\x0a\xca\xba\x22\xad\xcc\x7d\x88\xea\x08\x0a\x27\x86\xd7\xc9\x87\xc8\x0f\x02\x64\xa7\x64\x78\xc9\x28\x0e\x4f\xed\x49\x12\xb3\xcf\x39\x70\x17\x94\x4a\xaf\x4b\x2d\xd2\xeb\x18\xc9\x0f\x73\xf0\xa4\x39\xdf\x7c\x37\xf4\x1a\x32\x1b\xe4\x5b\xe0\x6b\xe8\x4a\xe5\x30\x94\xc2\x5d\x4d\xe6\x7c\xf3\xc9\x83\x72\xb2\xad\x77\x2b\x6b\x9a\x81\x41\xc4\xfe\x91\xf4\x51\x01\x82\xc1\x21\x4b\x50\xa7\x97\x5b\x4e\xff\x58\x61\x07\x0c\xef\x54\x9c\x6e\x4d\xb3\xc4\x0d\xf2\x30\xd2\xc6\xbe\xa6\xd1\xec\xcf\x0f\x9e\x22\xf6\xa6\x38\xa5\x58\xa5\xa2\x60\xfe\xc0\x13\xa0\x98\xa8\x52\x84\x27\xed\x54\x6f\x30\x7f\x3f\x49\x89\x11\x20\xfa\x2d\x8d\x53\xb3\x3f\x5f\x70\x82\xc2\x04\x26\x38\x53\xf9\xfd\xef\x11\x8c\xbf\x93\xea\x55\x08\xc2\xf2\xf7\x93\x34\xbd\xbd\xca\x7a\xbb\x0a\x31\xfd\x04\x57\x2c\xbf\xcb\x48\xd9\x4b\xe6\x80\x15\x03\xcc\x10\x62\x3a\x9e\x80\xb8\x83\x09\xc4\x19\x13\x63\x0a\x98\x02\x26\x30\x31\x26\xee\xd3\x7c\xbb\x39\x93\xce\xc9\xc9\xdc\x90\xb9\x41\xc3\x5b\x4c\xf9\x76\x33\x4e\xe7\xe4\xe0\x4e\xdc\xe9\xee\xcf\xc1\xa9\xfe\x0e\xec\xa6\xfb\x32\x7d\xcc\x77\x56\xcf\xa9\xb4\xd5\xcd\x0d\x22\xad\xf6\xfb\xef\x19\xad\xd5\xc3\xc8\x41\x20\x41\xfd\x4d\xfd\x9a\xcf\xe9\xef\xf5\xfd\x9a\x77\xe8\xef\x4f\x65\xe8\xef\xdf\xe9\xd7\x8c\x5c\x1b\x36\x21\x1f\x8a\x0d\xf5\x37\x1c\xb0\x0a\x56\x30\x01\x71\xcf\x39\x62\x86\x36\xc2\xe5\xd7\x4a\xce\x36\x46\x7a\x8b\x49\x72\x73\x2a\xbd\xc5\x04\x7d\x1c\xfd\xc5\x19\xc1\xfe\xbb\x54\x2c\x46\x66\x8b\x5e\xc5\x4a\xc8\x6c\x61\x91\x45\x7f\x2a\x65\x55\x0d\x22\xda\xa2\x67\x7a\xad\x2a\x90\x3d\xa3\x63\xa8\x41\xa4\xb1\x9c\x4a\xe9\x2d\x14\x20\x8d\x85\xe9\xd5\x5b\x86\xf6\x6b\xdc\x9c\xfc\x9a\x73\xc8\x80\x1c\xa8\xea\x6c\x45\x95\x21\x57\x41\x77\x8a\x2c\xc3\x12\x53\xcc\x44\x92\x4b\x84\x40\x81\x7a\x62\x45\x38\x05\x7e\x7b\xa6\xf3\x8d\xb4\xfc\x1f\xeb\x56\xdc\x27\x9d\x8a\x7a\x75\x56\x8a\xce\x61\x02\xbc\xc7\xe0\xe4\x0d\xcc\xc1\x3b\xbf\x81\x5b\xe0\x0b\xb8\x05\x37\x8e\xa0\xf5\x54\xfe\x21\x24\xdd\x2e\xbd\x73\x8f\xf9\xbe\x2a\x0d\x05\xbc\xd6\x60\x67\x3c\x7c\xc0\x59\x51\x31\x4e\x5c\x98\xb9\xe6\x7e\x10\xef\xb9\x07\x9d\xd6\x4b\x1b\xce\x77\x88\x30\xba\x8e\xb2\x0d\x1a\x72\xb1\x9b\x96\xdf\x97\x42\xe0\x58\x2e\x5e\x0f\xf2\xb8\xdc\x1f\x37\x0a\x60\x1d\x7e\x20\x9f\x57\x10\x63\x42\x5c\x48\xe2\x44\x92\x49\x10\x4d\x2a\xf0\xbb\x69\x17\x9c\xf3\xc9\xbe\x94\x3a\xa5\xa3\xaf\x5d\xb3\x6b\x7e\x5e\x4e\xe8\x86\x0b\x4b\xaa\x27\xd4\xbd\x0c\xcb\x5e\x7b\x0d\x66\xca\x0f\x3c\xb1\xf1\x39\xe9\x54\xe5\x58\xc6\x90\x43\x53\x0c\x68\xb0\x0e\x73\x15\xb6\xa2\x1c\x97\xf6\xe8\x2f\x4f\x2f\x75\xe0\x5f\x9e\xfd\xdc\xe9\xbd\x7f\xbd\xb2\xfb\xb7\x53\xc3\x1d\xad\x33\xeb\xd7\x08\xac\x6a\xef\x5f\xc1\xfc\x57\x69\xef\xfd\xd2\x3b\xf7\xa8\x1e\x18\xc7\xab\x6c\x26\xa0\x8d\xb4\x81\xe2\xb1\x2a\xe6\xa8\x0a\x4d\x0e\x2e\x00\xf6\xc8\xae\xaf\xee\x5d\xb1\xe2\xde\xaf\xc8\xef\xa8\xa6\x11\xf3\x4f\x44\x21\x16\x69\x90\x5e\x6e\xa5\x4d\x6a\x30\x41\x2e\x10\x17\x23\x8c\x24\x24\x91\x6f\xd9\x0f\x0b\x40\xcc\x9c\x90\xde\xa6\xb6\x66\x4e\x40\x90\xbe\x55\xf6\xe3\x19\xd2\x3b\x72\x2c\x59\x37\x9c\x35\xd8\xcb\xde\xc7\xa4\x88\x1d\x3a\x0b\xc8\xe7\xa5\x04\x0a\xfb\xbc\x9c\x98\xcc\x5a\xbd\x9a\x95\xf9\x4d\x22\xee\xf3\x72\x66\xc6\xce\xde\xa7\x91\x9e\x92\xfe\xe3\xb3\xab\x97\x96\xb6\x4c\x9e\x6b\x5e\x3b\x2d\xe7\xae\xd0\x2d\x73\x17\x6f\x76\x94\xda\x13\x63\x23\x2b\x57\xa8\xf4\xdb\xab\x53\xdb\x60\x76\x3f\x75\xea\xaf\xd2\x12\x69\x26\x70\x3d\xd0\x00\x6c\xd3\x52\xdb\xf5\xc1\xab\x54\xea\x4b\xf6\x4a\x1f\xcd\xfb\xf1\x27\x3f\x99\xbb\xd7\x09\x57\x6a\x55\xe8\x0c\x1e\x1c\x0a\x69\x08\xb3\xb6\x07\x28\x8b\xc7\x42\x01\x8b\x4e\x21\xba\xee\xfd\xf7\x33\x97\xbd\xff\x3e\xd4\x31\xe9\x53\x08\xee\xc0\x5b\xa1\x48\x7a\x2b\x73\xa5\xf4\x2a\x3a\x43\xbb\x82\x42\x66\x34\x16\xcd\xcd\x9e\xcf\x11\xce\xed\x84\x98\x10\x7d\xa2\x8f\x63\xc2\x76\x2e\x11\x0d\xe1\x21\x52\x90\xb0\x8d\xa0\xcc\x6d\x9e\x98\x18\xc2\x49\x88\x99\x22\x09\x9f\x57\x1e\x49\x47\x93\x18\x62\x04\xa4\x17\x33\x79\x38\x87\x3d\x9b\x4e\xce\x07\xb5\x4f\xd7\x58\x98\xbb\x7a\x75\x6e\x61\xa3\x6e\x71\xcc\x1d\x93\x8e\xb8\x73\xe1\x7e\x5f\xc3\xe4\xca\x4b\xf7\x74\x34\x59\x35\xfa\x29\xd0\x7b\x98\x65\x30\xc0\xd3\xc2\x9f\x58\x9a\xa6\x74\x79\xf8\xfc\x38\xc7\x60\xe9\x2b\xc7\x6c\x87\x8e\x9f\x28\x67\x9f\xee\xf5\xcc\xde\x98\x5b\x5d\x9d\xbb\x71\xb6\xa7\xa3\xe3\xb8\xbb\xdc\x96\x68\x0c\xf0\x9b\x2e\x9a\x9c\x56\x49\xbb\x78\x1d\x70\x2d\xf3\x78\x00\x9a\xd6\x30\xb0\x3b\xcd\xb2\x54\x73\x5e\x5e\x81\x76\xe0\x57\xf3\xd4\x40\x51\x3a\x16\xab\x56\xd8\x39\xab\x74\x35\xaf\xc6\xea\x79\xca\xb3\x2f\x27\x6d\x50\x39\xaa\x46\x33\x51\xab\xa2\x14\x41\x36\x64\xdc\xd9\x4d\x98\x2c\x45\x7b\xc0\x92\x04\x07\x43\xa0\x25\xf2\xbb\x12\x0b\x50\x34\x01\x38\x80\xdc\xbb\x90\x7e\x06\xe2\x51\x51\xf0\x66\x27\xa6\x5e\x8e\xb5\x2a\xca\x83\xc2\x10\x0d\xb4\x95\x43\x35\x61\xdd\x1b\xd2\x01\xa9\x59\xba\xf6\x0d\x6d\x24\xb9\x79\xf6\xdc\xda\x77\xa1\x68\x33\x95\xc3\xc3\x06\xf3\xe4\x92\x64\x4b\xcb\x8e\xf9\xd2\x83\x9d\x50\xfa\xc7\x31\x73\x67\x6f\x3e\x75\xdb\xfc\x1d\x2d\x2d\xc9\xba\x16\xaa\x58\xab\xd5\xb8\xb4\x45\x3d\x3d\x3d\x45\x5a\x97\x46\xab\x2d\xb9\xbe\xbd\xa5\xfd\x7a\xfb\x8e\xf9\x2d\x75\xc9\x16\xfc\xe0\x98\xc5\xb9\xa1\xf0\xcd\xd2\x0f\x37\xde\x08\xaa\x9b\xcb\xcb\x73\x97\x8c\x99\xb5\xa5\xfe\x06\x0d\x56\xeb\x8d\xd4\xcc\x40\xd9\xfc\x1d\x2d\xf3\x93\x53\xa5\xa0\xfa\xfa\xba\x2d\xd2\x9f\xc8\x4d\x5a\xa4\x0e\xad\x4b\xab\xd1\x14\x07\x83\xc5\x1a\x8d\xa6\x50\x5b\x12\x56\xab\xc3\x3f\xc8\x37\x9b\xbf\x83\xd4\xe9\x09\x83\x98\x7d\x9c\x45\xa8\x02\x21\x4b\x24\x49\xf9\x23\x61\xda\x21\x77\x69\x2e\x2a\x09\x09\x13\xab\x03\x51\xc0\xa2\x60\x4e\xf0\xc0\x79\xe2\x21\xba\x1c\x78\x6a\x02\x18\xe7\x5e\xfb\x14\xc0\xa1\x3f\xc1\xba\xf5\x9d\xfd\x37\xc3\xaa\xbb\xfe\xf0\xd6\x8b\x53\x16\x49\x5f\x49\xb7\xed\x7f\xf2\x3b\x4c\x7d\xfa\x87\x8a\x5a\x23\xbe\x50\xe5\x4e\xce\x98\x35\xde\x6e\xbf\xfc\xc7\xe7\x6e\xc2\x9f\x5d\xfc\xa7\xdf\x1e\x9e\xf7\x87\xe7\x1e\x1f\x7c\x62\xfd\xf1\x59\x6e\xe7\xb8\x88\x74\x79\x62\x2a\x8e\x4f\x81\x8e\x5f\x7f\x0b\x73\x96\xd6\xee\x6e\x9f\x76\xf1\xb4\x2a\xa7\x01\x80\x99\xb1\xeb\xfa\xa1\xfa\x4a\xb0\xf5\x0a\x1b\x7d\x1e\x42\x31\x93\x27\x3b\xa4\x90\x2b\xa4\xc7\xe6\x89\x0d\x0f\x96\x22\x6a\xd4\xde\xf0\x43\xaa\xa1\x1d\xa7\x21\x9d\x41\x80\xd8\x8e\x86\xf6\x7f\xa2\xf6\x06\x37\xee\xc8\xf4\x34\xb4\xb7\x83\x97\x98\xb0\xa4\xdb\x1b\xfa\xfa\x1a\xda\x87\xb1\x9d\x8f\x13\xbb\x95\x0a\xb9\x7f\x0f\x90\x2d\x39\xb9\x22\x28\x7a\x92\x09\xa2\x26\xa5\x2c\x58\x47\xc2\x7e\x35\xb0\xc8\x33\x42\x70\xd4\x41\xf9\x88\xfc\xbd\x0b\x78\x60\x2b\xde\x9d\xfa\xdd\xfe\xeb\x7e\x38\x30\xf7\xda\xe7\xd7\xed\xfe\xb2\xe9\xad\x75\xd2\xb1\x97\x7e\x22\xbd\xfb\xfa\xc5\x17\xbf\x0e\xc2\x4f\xde\x80\x0d\x52\x0a\xff\x72\xb3\xd4\x28\x7d\xfd\xd0\xd0\x0a\xef\x43\x40\xc3\x1d\x17\x1d\x13\x3b\xae\x70\x97\xe9\x34\x65\xdf\xaf\xdf\x76\xd5\x81\x1f\x0e\xae\x7b\xfe\xda\xb9\x17\xac\xb9\xe8\xee\xde\x8b\x5f\x97\xde\x95\x9e\x92\x2f\xf1\x26\x9e\x28\xf5\x64\xa4\x77\x4f\xb7\x95\xd2\x77\x5f\x4a\x9b\x7b\x80\x98\x93\x20\x1a\xb9\x07\x11\xdb\x97\xe5\xd3\xcd\xf2\x11\x24\x3c\x20\x9a\xa0\x10\x4c\x6a\xec\x01\xe6\xba\xcc\x4d\x8b\xa8\xf9\xa7\x7e\xf9\x08\x7d\xcc\x7a\x5d\xe6\xaf\xb0\x48\xd2\x0d\xdc\x0d\xcb\xa9\x1a\xd8\x75\xfd\xc0\x07\x9b\xa9\x85\x99\xdc\x8e\xc5\x03\x3f\x85\x19\x78\xe7\xc0\x07\xb8\x66\xa8\x6c\xd2\xcc\x37\x64\x3f\xf7\x22\x84\x80\x28\x92\x0f\x4b\xd6\x0c\xfb\x19\x93\x27\x8b\x64\xf1\x98\xa2\x35\x10\x2e\x80\xc8\x90\x1b\x1b\x76\x93\xd8\x1e\x31\x0d\x6b\x12\xdb\x14\xba\x9c\x78\x24\x5c\xa0\xec\x3e\xf8\xbc\x9c\x2d\x1c\x77\xe1\x33\xce\xa9\x81\xb0\xcd\xa4\xb8\x38\x6d\xec\x30\x1a\x3b\x8c\x18\x0d\xb9\x99\x74\x77\x4f\x77\x46\x8e\x1e\xfe\x30\x3a\xce\x08\x6e\x4f\xa9\xc7\x5d\x26\xd8\xa6\x19\x4d\xb5\x9c\x71\x62\x9e\x79\x8a\x25\x18\x06\x23\xa7\x63\x46\xa6\xc5\xc6\x3e\xe3\xe9\xff\x8c\x11\x52\xcd\xdd\xdd\xcd\x52\x2f\xfe\xc6\x68\xec\xc6\xdd\x46\x63\x37\xf9\xb0\x1c\x05\x00\x97\x1b\x7c\x0e\xb7\xdb\xe1\x33\x98\x34\x06\x83\xf1\xf7\x06\xbd\x41\x77\x29\x00\xc5\xb1\xdd\xd9\x84\x99\x03\xdd\x46\x45\xe3\x91\xd4\xd5\x2e\x85\x01\x4b\x19\x6e\xd5\x81\xc7\xee\x70\x31\x64\x5c\x3f\x44\xf2\xa6\xcc\x24\x7d\xde\x10\x23\x86\x28\x9f\x87\x00\x7e\x14\x95\xa7\x48\x58\xee\x6b\xd9\x1a\xc8\x36\x3e\x72\x0f\xec\xf3\xf2\x34\xc7\x72\x72\x0d\x77\xa8\xbe\x31\x1a\xa5\x5e\x95\x4a\xcd\x19\x07\x7e\x1a\x08\x19\x4d\x85\x8e\x42\xb7\xa9\xc3\xcc\x03\x19\xf3\x4b\xbd\xbc\xb9\xc3\x3d\xa6\x34\x94\x2f\x9a\x2d\x8e\xfc\xd2\xb2\x1c\xe9\x06\xfb\x55\x2d\x5d\x47\x8e\x74\xb5\x5c\x65\xef\xcc\x29\x2b\xcd\x77\x58\xcc\x62\x7e\xa8\x74\x8c\x7b\xb5\x6d\x69\x52\x7e\xe8\xe4\x52\xdb\x6a\x93\xbb\xd0\x51\x68\x32\x86\x02\xf4\x42\xb7\x11\xff\x51\x25\xa8\x7a\x19\x5a\x63\x4e\x8f\x59\x1d\xf0\x27\xdd\x7e\x63\xc7\xd0\xc5\xcd\x7c\x87\x35\x2f\x2e\x34\x89\x45\xb1\xea\x29\xde\x39\x6b\x8e\xbc\x7e\x64\xcd\x1c\xef\x94\xea\x58\x91\xd8\x24\xc4\xf3\xac\xd5\x93\xba\x7b\xba\x27\x55\x1b\xfd\xee\xa4\x3f\xb0\x7a\x4c\xda\x6c\xd5\x9e\x89\x0d\xe0\x90\x09\x79\xc8\x98\x84\x80\x5f\x90\x51\xf0\x79\x4c\x11\xe2\x1b\x05\x6a\xb9\x78\x46\x55\x26\x53\x05\xf8\xe1\xdd\xd2\x8c\x5f\x64\x76\xe1\xcb\xcf\x85\x56\x49\x76\x4f\x07\xbd\xf4\x4f\xa0\x1f\x19\x48\x83\x1e\x56\x9d\x63\xf3\x44\x6e\x43\xde\x51\x23\x46\x44\x22\x1a\x83\xa6\xa1\x25\x44\x83\x58\x64\x87\xf8\x9b\x12\xf1\x58\x54\x59\xab\xb6\x3b\xe4\xe6\x5e\x54\xb6\xf8\x09\x02\xee\xb4\x7a\x87\xa2\x11\xe7\x02\x87\x22\x03\x2f\x9f\x66\x14\x05\xb2\x44\xe5\x37\x0e\x47\xc5\xa2\xca\xa2\x94\x83\x5d\x3b\x3e\xc6\x19\xb9\xa2\x1c\x9d\xae\x30\x5f\xe3\xd8\xfe\xfb\x0b\x2f\xfb\x38\xbe\xa6\xd9\x5e\x9a\x72\x34\xae\x92\x7f\x0e\xda\x3e\x63\xfd\x8d\x2f\x5e\xdd\xff\xe7\xbb\xbf\x79\xe1\x70\x12\x92\xbf\xfa\x0b\xb4\x3a\x36\xdf\x78\x6a\x89\xa3\x28\xc7\xe2\xd4\x99\x27\x4d\x32\xeb\xa2\xf5\xe6\x25\x80\x2e\x73\x14\x39\x2c\x4e\xbd\x79\xcd\x1a\xb3\xde\xe9\x4c\x9a\xe1\xa1\x9a\xc5\xb6\xb2\xf2\x9c\x7c\x4a\x53\xed\x9a\x34\xf9\xc2\xd7\xb6\x1f\xbc\x20\x7f\xba\x23\x55\x6a\x6f\x3c\xfc\xfa\xe1\xf5\xd3\xaf\x7e\xe1\x6f\x77\xdf\xf8\xa9\xfd\x91\x4f\xa5\x5f\xfd\x29\xf7\xf1\x0b\x1e\x38\xe0\xd1\x9b\xea\x9d\x9d\x80\x3b\x9d\x49\xbf\xde\x79\xf5\x78\x29\xe7\x79\xaf\xde\x9c\x74\xde\xfe\xec\xaf\x6e\x73\xd6\x9b\xcc\xba\x3c\x84\x91\x7f\x10\x31\xef\x91\x7d\xf8\x75\x08\x31\xa4\xd7\x93\xdf\x55\x85\x97\x91\x95\xab\x6a\x2c\x9a\xa4\xc2\x2e\x8a\xc0\x73\x0b\x81\x68\x92\xd2\xa2\x20\x86\xa8\xd8\xd0\x12\x1b\xe1\xf8\xf2\x15\x43\x88\x26\x16\x5f\x44\xd5\xd4\x45\x39\x5c\x2a\xe6\xbd\x8b\x7f\xb1\x73\xe7\x2f\x2e\xfe\x72\xd3\xcd\x9e\x83\x5f\xae\x7d\xe4\xc2\xa5\x71\x9f\x4e\x9d\x5f\x36\xbb\x6b\x56\x69\x9e\xca\x91\xbf\x46\x0c\x6e\x3a\x62\x2e\x8b\xb7\xb7\x4d\xc9\x37\x6c\xbe\x7a\x65\x51\x51\xeb\x65\xcf\x6f\xdf\xf6\xc2\x25\x0b\x05\x57\x49\xbc\xd4\x84\x59\x8b\x33\xea\x0f\xe5\x5b\x0d\x2d\x81\xc0\xf8\x65\xc5\x1a\x61\xfc\xc5\xf3\x9b\x2e\x6a\x9b\x52\xe1\xb5\x68\xb0\x7e\xc1\xce\x9d\x0b\x16\xee\xdc\xf9\xb4\xe1\x81\xf3\xa7\xa6\xa6\x17\x8f\x9b\x37\x67\x56\x84\xb7\x94\x8f\x8d\xf8\x7d\xe5\x35\x22\xef\x2d\xcf\x73\x61\x38\x6f\x96\xb3\xac\x54\x08\x97\x79\xf5\x5c\x62\xe1\xc6\x2b\xdb\xa7\x1f\xd8\xbd\xa4\x3a\x3a\xab\x6b\x55\x24\x34\xa5\xa4\x40\xa3\x31\x0b\xf1\xf9\x71\xa3\x05\x20\x39\x3d\x90\x23\xc4\x2b\x6a\x0a\x72\xab\xe3\xa9\xc4\xc4\xf8\x94\xc8\x48\x3b\x3c\xc5\x7e\xfd\xac\xdd\x83\xc0\xa8\xf0\x48\x21\x6e\xdc\x6b\xe6\x07\xc9\xdc\x13\x10\x6f\x86\x33\x43\xe9\xd1\x9a\xdb\x1d\x98\xbc\xc9\xa7\x17\x85\xb2\x7e\x18\x1c\xa5\xac\x4d\x8f\xe0\x9f\x71\x90\x55\x1b\x84\x46\x58\xc3\x23\x77\x12\x8c\x21\x70\xf3\x60\xb4\x07\x46\x6a\xa5\x8d\x5c\x6b\xc8\x86\x71\xf9\x99\x36\xed\x70\x2b\x04\x4f\x1d\x3c\x78\x4a\x7a\xfb\xd4\xc1\x83\xf0\xb5\x9c\x87\xde\xd3\x99\x22\x5f\xcc\xe8\x8c\xf7\xdf\x7f\xf0\xd4\xf0\x59\xd3\xcf\xc8\xfa\x08\xff\x19\xe3\x57\x83\xdc\x9f\x8f\x2e\xc9\x33\x24\xcc\x53\x23\xaf\x00\xbd\xff\x5d\x59\x9d\x55\x3e\xd4\xa8\xf2\xf9\x2f\x4b\x27\x31\xd2\x56\xf3\x5f\x95\xc6\xba\xd3\xcf\xf3\xff\x50\x04\xa3\xf1\x51\x01\x54\x87\x50\xc0\x42\x0c\x9a\x09\xbd\x3a\x58\x3c\x16\x82\xe2\x56\x40\xf0\xc3\x6e\xd8\x1e\x30\x91\x97\x31\xdb\xc3\x66\xfd\x71\xb7\x9d\x7d\xdf\x47\x59\x2c\x05\x3f\xa6\x0b\x2c\x16\xca\xc7\xb6\xcd\xfb\x71\xce\x3c\xca\x9f\x0b\x88\x4c\x9a\xe4\x2f\x94\xeb\x97\x76\x0b\x51\xe1\xc8\xeb\x47\x84\xa8\xf0\x11\x24\x3f\x4a\x4b\xcf\xe7\xdb\x6d\x36\x7b\x3e\x54\x53\x93\x06\x7e\xa4\xb8\x1c\xcf\x48\xc5\x4d\xcf\x4f\x06\x91\xa2\x3d\x21\xb7\x50\x43\xfe\x63\x1f\x7d\x94\xb5\xb3\x93\x1d\x1b\x61\x28\xaa\x41\x53\xd0\x5a\x32\x8b\x97\xdb\xf1\x21\xcc\x6f\x56\x01\x03\x92\x20\x52\x21\xe0\x15\x98\x75\x60\x28\xe7\x76\xe5\x2d\x19\xf6\x5b\xe2\x21\x20\x7a\xa4\x8e\x48\x38\x0e\x94\x8f\xe0\x36\xb3\x3f\x03\xc1\xcf\xfa\xa8\x10\x94\x0c\xb1\xfc\xcb\xed\x33\xc9\xa5\x61\x93\x6a\x72\xa8\x1f\x85\x26\xab\x36\x19\xe4\x30\xac\x70\xfa\xb0\x1b\x17\x45\xe5\xef\x40\x2e\xf4\x08\x51\x41\x88\x0a\x90\xce\xba\x1d\x6e\xec\x8b\x16\x61\x37\xf6\x39\x99\xdc\x40\xff\xc5\x6d\x7b\x56\x58\xf6\x2d\xbc\x53\xc1\xab\xdf\xb9\x70\x9f\x65\xc5\x9e\x36\xed\x84\xb2\x3b\x05\xa7\x24\x47\x94\x4d\xa0\xe4\x12\xcc\x74\x85\x6a\x6b\x43\xf8\x48\x63\x57\xe3\x40\x1f\x2e\x72\x42\x8f\xd3\x47\x17\x39\xa5\x8e\x5c\x6f\x0a\x7a\x08\xcd\x42\x07\x29\x9e\xd3\x7e\x1b\xf4\x38\x8b\x68\x9f\x1c\x28\xc2\x5e\xfa\x5d\x69\x39\x3c\xda\xb2\x5e\x3e\xbc\xbe\x45\x9a\x04\xb7\x94\x56\xc9\xfe\x2a\x84\x91\x67\x30\xcd\x7e\x48\xe6\x60\x33\x10\x02\x8b\x8f\x02\xb9\x1e\x50\x9e\xb0\xc3\x4e\x16\x97\x28\x82\x06\x15\x12\x16\xdf\xb0\x4f\xae\x25\x64\x1d\x69\x84\x2f\x9e\xd5\xc7\x8f\x0c\xfb\xe4\x2b\x50\x1f\xa6\xa4\x14\x25\x55\x71\x39\xd2\xa3\x29\x48\x18\x34\x1a\xba\x8a\x71\x4a\x8f\xce\xe4\x72\xfa\x8c\x1a\x35\x35\x5d\x9a\xc9\xe5\x7c\x64\x20\xbe\x17\x65\xa7\x8a\xcb\x81\x49\x29\xd9\x4f\x52\xc2\xa4\x99\x5c\x6e\x9f\x21\x9b\x32\xeb\x93\xaf\xa3\xc6\x08\xd0\x20\x82\x1f\xfa\x72\x06\x91\x8e\xe7\xfb\x72\xa4\x47\x72\x74\x3a\x23\x54\x0d\xb9\x3a\x9d\xb1\x2f\x07\x94\x63\x30\x59\x8e\x93\x5e\x18\x72\x75\x3a\x65\xfe\xb9\x7a\x10\x31\x87\xb3\xf6\x9a\x26\x62\x71\xef\xe0\x4c\x0e\x8e\x52\x53\x26\x8a\x53\x83\x03\x90\x11\x13\x6b\x4b\x6c\x34\x13\x96\x4d\x6a\xca\xa1\xc3\x87\x0f\xed\x86\x57\xa5\x93\x10\x96\x2a\x06\xdb\x20\x25\xf5\xb6\xa1\x41\xfc\xbb\xd4\xfa\x9f\x3d\xf3\xfd\x33\x3f\x5b\x9f\x1a\xf2\xc0\x27\x87\x0e\x53\xfb\x0e\x1f\x1a\x58\x02\xaf\x42\x18\xc2\xf0\x6a\xe6\x28\x1a\x6c\x93\x9e\x96\x9e\x6e\x43\x83\xd0\x2d\xb5\x4b\xcf\xbf\xb8\xa3\xb2\x72\xc7\x8b\x50\x0d\xb7\x41\xb5\xe2\x57\xde\xcd\xe0\x20\xa2\xde\x1e\xce\x17\x0a\x24\x44\x53\x42\xb4\xa8\xc1\x04\xa2\x1a\x12\x60\x02\x3c\xe7\xbe\xfb\xee\xbb\xcf\x0d\xcb\x33\x9f\x49\x6f\xad\x81\xcd\xd2\xbe\x35\x50\x84\xf3\x36\xdc\x7b\x2f\xac\xbb\xf7\xde\xcc\xdf\xa5\x5b\x32\x9f\xe2\xe7\xa5\xb7\xd7\xc0\x16\xd8\xb2\x46\x7a\x1b\x3f\x9f\xf9\x54\xb1\xab\xc9\x62\xbd\x0c\xc8\x81\x8a\x50\x25\x42\xc3\x2b\x47\xc3\x2b\x48\x2c\x61\xf3\xb3\x58\x39\x50\xd6\x0f\xa3\x09\x20\x8d\x33\x9d\x3d\xc2\xa0\xa6\xce\xa6\xa6\xce\x4c\x13\x71\xe8\xa6\x8f\x14\xa6\xbe\x4b\xf4\xfd\x7d\x16\x77\x8f\x53\xd0\xd3\x6e\xe2\x66\x3a\xb2\x47\x5e\x96\xd3\x35\x51\x24\x79\x93\x54\x38\x44\xec\xd7\x6b\x35\x9f\x4a\x3b\x05\xa7\xd5\xcc\xa4\x9d\xc2\xe3\xd9\x68\xb2\x6e\x44\x0d\x4e\x62\x33\xcc\xa3\x64\x95\xc4\x88\x1c\xa8\x00\x21\x8b\x1a\x42\x90\xb0\x14\x01\x54\xca\xcd\x53\x3c\x0c\x16\x3b\xcb\xa9\xa1\x52\xf6\x3b\x3a\xa9\x9c\x81\x5b\xcc\x3c\xb7\x02\x4e\xe2\x43\xd2\x43\x99\x6f\x9e\x93\xc2\xcf\xa9\xc2\x4c\xc5\x0a\x8e\x37\x0f\xdc\x42\xe5\x90\xa0\x8a\x4a\x0e\xa8\xf1\xf9\xfa\x12\x1b\x44\x07\xd4\x6c\x6b\xe6\x16\xbc\xdc\x91\xb9\x54\x7a\xd9\x56\xa2\xcf\x5c\x45\xfd\x13\x2f\x77\x38\x46\xac\xb7\xf5\x21\x8a\xec\xba\x54\x22\x04\x91\x98\x0f\x88\x0d\xb9\xe8\x70\x41\x82\x30\x4c\x32\x56\x79\xba\xae\xc0\x27\xbd\x0a\x78\x52\x91\xfd\x90\x3b\x0b\x33\xa4\x7b\x7a\xa8\x09\x9d\x7b\x2f\xff\xb1\x03\x5a\x7e\x38\x74\x89\x14\x24\xdc\x06\xe9\x65\x0b\xa4\xcc\x23\xdb\x4f\x8e\xb1\x34\x59\xc6\x9c\xdc\xfe\x88\x94\x59\xb0\xec\x1b\x38\x0a\x9f\xc3\xd1\x6f\x70\x6f\x5f\xe6\xf5\x45\x7e\x0c\x8b\x1b\x3b\x9a\x97\x00\x5c\xd4\xd7\xfb\xf8\x1d\xe7\xed\x3c\xfa\xc1\xaa\x16\x80\x96\x55\x1f\x1c\xdd\x79\xde\x1d\x8f\xbf\xa6\x74\x06\x43\xdc\x0d\x43\xeb\x27\xca\x3c\xcb\x82\x82\xa8\x24\x6b\xf3\x6d\xf3\xc5\x2c\x44\x89\xcc\x73\xfa\x43\x96\xfa\x41\xe4\x88\xf1\x49\xb6\x8b\x83\x84\x87\x49\x78\x98\x51\xb8\x3d\x4c\x0d\x0c\x0c\x50\xdf\x4a\xf7\xc0\xdc\x4c\x07\xee\xc9\x74\x50\xa2\x4e\xe5\x96\x2e\xfb\xfd\xef\xa5\xcb\xdc\x2a\x9d\x4e\x45\xbf\xad\xd2\x0d\xdc\xfd\xa8\xd4\x85\xf7\xbe\x2f\x75\xe1\x8f\xe7\x25\xfb\x83\xc9\x79\xf3\x92\xf4\xdb\xc9\x79\x78\x43\x3a\x8d\x06\x77\xee\x94\x20\x9d\x06\xa4\xf8\x07\x6e\x97\xcf\x18\x44\xf7\xdc\x03\x48\xa7\xea\x0f\xaa\x74\x3a\xba\xfd\xc8\x91\x23\xd6\xd3\xa7\xcd\x3b\x03\xb3\x52\x28\xf7\x4a\x90\xdd\xb0\x67\x0b\xc1\x45\x39\xec\x0e\x17\xed\xb0\x27\xe2\x72\x0c\x86\x10\x83\x45\xb7\x0e\x5c\x14\x0f\x1c\x6b\x03\x1f\xf0\x38\x84\xa9\x74\x67\xd5\xde\x57\xbd\xfe\x05\x1a\x51\x4c\xae\x68\x89\x95\xaa\xe9\xd2\xe6\xcd\x9b\xae\x6b\xbc\x11\x20\x1c\xcb\x9f\xf6\xb2\x34\xab\x69\xc3\xec\x9a\x31\xa1\x46\x11\x4c\xf0\x0c\xc4\xbe\xbc\x6a\x96\x8b\xe1\xf5\x7a\x18\xd7\x29\xfd\xc9\xbe\xb7\xf3\xde\xc3\x8f\xe1\x57\x7f\x3d\xeb\xa5\xcd\x16\x53\xd0\xe8\x2a\x2c\x59\xb1\xa7\x7d\x8e\x49\x35\xe7\xaa\x9f\xed\xda\xe2\x6e\x60\x29\xaf\xdf\x36\x06\xc2\xd2\xc5\xb5\xbb\x8e\xde\xf0\xde\x73\x10\xbe\x62\x72\xf7\x89\xbb\x3e\xfb\xd9\x27\x5b\xe7\xcc\x71\x48\x8f\x42\x01\xce\xe1\xb1\x7b\x1e\x1a\x81\x6d\x2b\x27\x3b\x58\x44\x61\x1e\x85\x80\xa3\xdd\x01\x81\x27\x7b\xc9\x3c\x36\x00\x4b\x00\x08\xf5\x10\x4f\x44\xec\x85\x60\x8f\x84\x13\x49\x28\x87\x10\x16\xe5\x31\x7e\xf6\x8d\xa4\x47\xcd\x45\x46\xb3\x14\x8d\x9e\xab\x30\xcb\x75\x65\x4e\xa9\x5f\xfa\x42\xea\x77\x96\xe9\xf2\x9c\xcf\xae\xc5\x79\xce\x7c\xb5\xc6\x9e\xab\xe6\x4b\x8d\xaa\xb8\xa9\xd8\x14\x57\x19\x4b\x79\x75\xae\x5d\xa3\xce\x77\xe6\xe1\xb5\xcf\x3a\xa5\x87\xc9\x02\x27\xde\xbb\xfe\x49\xa9\x5f\xfa\x58\xea\x7f\x72\xfd\xfa\x27\x81\x01\x17\x30\x4f\x4a\x8d\xd2\x0b\xd2\xa7\x27\xb7\x6f\x3f\x09\xf9\x50\x05\xf9\xc4\xf7\xc2\xb9\xe6\x3f\x73\xa3\x79\x6c\x32\xc9\xe6\x45\xcb\xd8\x90\xee\xd6\x0f\x16\x4c\xb2\xe5\x56\x68\xe8\x22\xeb\xde\x6d\xdb\xf6\x5a\x8b\x68\x4d\x45\xae\x6d\xd2\x82\x0f\x6e\xd5\x85\xd8\xe3\x64\x39\x75\xc3\xa8\x3b\xc9\xbe\x35\xdb\x4f\x4a\x9f\x8e\xba\xa1\x54\x71\x2e\x18\x1a\xa2\xd0\xf8\x41\xc4\x3c\x9e\x2d\xe3\xc9\x08\x21\x3b\x31\x87\x21\xb3\x1f\x0b\xa1\xb5\x17\xb3\x08\x4e\x31\x9e\x00\x91\x63\x43\x40\x30\xb9\x0e\xb9\xfc\x0d\x10\xc0\x0a\x68\xda\x0a\xe1\x04\x99\x55\x40\x2c\x9a\x70\xb0\x36\xab\x9d\xd9\x31\x9e\x29\xa5\xeb\x8a\x58\xaa\xb4\x9a\xf2\x5d\x93\x38\x74\x65\xeb\x2b\xd7\x5e\x76\xde\x95\xdb\x6e\x07\xd5\xe1\x5f\x7a\x5a\xc6\x30\xee\xbf\x39\xc7\xbb\xe0\x0b\xbf\xce\x54\xf2\x0a\x6c\x2a\x3a\xd4\xd9\x79\x68\xd5\xc0\xbb\x5d\x0b\xf7\x1e\x7c\xf2\x50\xff\xc1\xcd\x7b\x6b\x5f\xc1\xdf\x4f\x2c\xcf\xbc\x53\x5c\x05\xd4\xb8\x52\xb8\x4f\xb5\x61\xe7\xdb\xb7\x5c\xb9\xe2\xb2\x6b\x4f\x2e\xba\x6a\x63\x1e\x94\xce\xff\x89\x8b\x69\x68\x29\x78\xc3\xc1\x99\xa5\xcf\x6c\xe5\xe3\xc2\x5f\x58\xe1\xee\x4e\xf9\x32\xa7\x9e\xaa\xdb\xbb\xf9\xe0\xa9\x43\x4f\x1c\xda\xdb\xb2\xf6\xda\x57\xce\xd2\xf8\x9d\x4e\xb4\xe0\x46\x69\xfc\x82\x95\xc7\x1c\x8f\x95\xcd\x6e\x12\x9d\xa4\x12\x84\xd7\x82\xc8\x16\x11\x34\x4b\x48\x01\x99\x60\x37\x8f\x8d\x2e\xec\x4e\x62\x63\x08\x46\x8e\x6f\xa9\xee\xac\x44\x71\x0f\x6f\x06\xe4\xaa\x2b\x11\xdc\x05\x0e\x12\xb2\xe5\x45\x0a\x0b\x62\xa5\xf3\xa3\x55\x62\x41\x44\x6d\xd4\xaa\xd6\x68\x68\x6e\xfb\x27\x97\xfc\xf1\xeb\x51\xa2\xfc\x70\xed\xe8\x41\x71\xf3\xd0\x15\xcd\xf0\x71\xb8\x79\x8c\xcb\x66\xb6\xe6\x1b\xc8\x3e\xde\x78\x5f\x8d\xdf\x67\xd4\xe7\xfa\x0b\x8b\x6b\xf2\xac\xf5\x3a\x76\x16\xe7\xd4\xf4\xfe\x07\x8c\x3b\x2d\xc0\x4f\x2e\x2b\x3d\x3c\x6a\x28\x8d\x68\x24\x0e\x52\xcc\x02\x32\x3f\x4c\xa2\x19\xa8\x03\x21\xe4\x1d\x5a\xcd\x01\x2b\x2b\x88\x10\x02\x03\xb0\x85\x60\xa1\x08\x56\x83\xcc\x86\xf3\x80\x73\xd8\xc9\x3b\x17\xa2\x62\x94\x45\xe1\xe4\x2c\x04\xce\xce\xc8\x33\x48\xbb\xc3\x2e\x57\x0f\xd1\x27\x88\x14\xe1\xa7\x95\x03\x02\xd8\xe3\xf5\x10\x8f\xc1\xfd\xe9\x45\x8b\xd2\xad\xb0\xaf\x76\x1c\x2f\x5d\xcb\xf1\x34\xc5\x69\xb7\xc3\x4f\xc6\xe5\x1a\xf4\xe1\x58\x41\x2e\x85\x7f\xc5\xcc\xf5\xd1\x1a\xb3\x95\xe3\x2c\x85\x26\x2d\x1d\xfa\x83\x63\x61\xa3\x1b\xee\xe2\x38\x0a\x38\x69\x6d\x49\x6b\x4e\x8e\x9f\xd5\x96\xfb\x92\x41\x35\xb0\x78\x07\x75\x5d\x21\xa5\xd6\x5a\xd9\x8d\xd2\x6f\x29\x15\x45\x69\xe9\x17\x5b\xc7\xa6\x5a\x5b\x53\x63\x33\xbe\xb0\xcf\xee\x80\x87\x74\x1c\xa6\x54\xfa\xbd\xd2\xad\x52\xa2\xb7\xd8\xc9\x3a\x73\xf5\xb5\x79\x26\xbc\x00\x7a\x6e\xff\x20\xc7\x6f\xd1\x03\xa6\x74\xd6\x1c\x03\x86\x12\xb8\xc8\x1b\xcc\xfc\x93\xd1\x51\xa0\xff\xe9\x86\xbe\xaa\x44\x9b\x7b\x62\x9e\x5d\xe7\xb6\x18\xd5\xb0\x58\xba\xaf\x52\xc5\x60\x46\x5b\xa4\xb9\x17\xbe\x04\x1a\x63\xb5\x8a\x70\x9f\x51\xe8\x13\x35\xa2\xf3\x11\x46\x5a\xe4\x43\x95\xa8\x11\xad\x40\x3b\xe5\x1e\x8e\x62\xa2\x59\x1b\x20\xb0\x0c\xab\x4b\x90\x39\x81\xa0\xc8\xad\xc9\x23\x80\x11\x7d\x04\x58\x79\x8a\xf3\x25\xa9\x7a\x88\x86\x28\x31\xe2\xa2\x0a\xff\x8d\x18\x07\xfc\x70\x0f\x50\x2d\x2b\x3a\xe2\xd1\xd6\x35\x99\x67\xc1\xc2\xbf\xcd\x5b\xa4\xf7\x13\x1a\xb3\xf4\x9d\xcd\xa2\xc7\xa5\x6a\x33\x34\xf1\x56\xaa\xa6\xff\x79\xe9\x5b\xde\x6a\xe5\x41\xf7\x02\xdc\x00\x86\xfc\xba\x92\x88\x50\xed\x34\x02\x00\xef\xac\x12\x4a\x8a\x92\x05\x26\xfc\x28\x18\xf2\x93\xa7\xe3\x73\x87\xe2\x1f\xca\xa6\xaf\x3a\x33\x1e\xb0\x0b\xd4\x3f\x9d\xdf\x25\xed\xd8\x08\x2f\x65\x74\xf2\xd5\x93\x33\x0d\x7e\x13\xfe\x8e\xb7\x3e\x27\x5d\xfc\x9e\x95\xc7\xff\xe0\xad\xd2\x72\xad\x7f\xf5\x92\xad\x25\x65\x5b\x57\xb5\xe6\xe5\xa9\x0a\x5a\x17\xed\xae\x29\xdf\xb6\x72\x81\xd3\xf9\xff\x18\xaf\xec\x7f\x32\x69\xe6\x5b\x34\x15\x2d\x42\x6b\xd1\x2e\x84\x98\x68\x08\x08\xa9\x3e\x11\x67\x14\x43\x94\x28\x44\x13\x49\x2a\x4b\xd8\x4d\xd4\xd2\x71\xd6\xba\x9d\x23\x64\x79\xf2\x94\xd0\x71\x1a\xa9\x96\x04\x8b\x57\x88\x2a\x4b\x3b\xd1\x78\xd8\x61\xb7\x72\xac\xdd\x2b\x5f\x24\x6e\xcc\xc6\x18\x39\x25\x22\x09\x46\x21\x1b\x65\x36\x62\x0e\xaf\x72\xfa\x31\xa8\xd4\x6a\x83\xdf\xd1\x9e\xe3\xd5\xb3\x1a\x46\x05\x81\x00\xa8\x18\x0d\xab\xf7\xe6\xb4\x3b\xfc\x06\xb5\x5a\x05\xd8\xef\x9c\xef\xb6\xe6\x7a\x53\xd5\x33\xea\x0b\x0a\x59\xaa\x52\x10\x2a\xab\xf2\xea\x37\x53\x54\xca\x9b\x6b\x75\xcf\x3f\xe6\x14\x2c\x81\x80\x45\x88\x5a\x1a\x1b\x6d\x8f\xc4\xcd\x16\x4b\x77\xb7\x1c\x3a\x72\xe4\xb8\x1c\x58\xb8\x64\xc9\x42\x39\xb8\x76\xf3\xe6\xb5\x37\x6a\xdb\xb7\xa9\xe9\xb2\x3c\x15\xaf\xd5\x32\x36\x4b\x01\x9d\x96\xd2\x74\x81\xc5\xc6\x68\xb5\xbc\x2a\xaf\x8c\x56\x6f\x6b\xd7\xda\xeb\x74\x2a\xb3\xa9\x7c\x6e\x62\x9c\x8e\x5b\xfd\xae\xf4\xed\xbb\xab\xb7\x8b\xad\x7e\x00\xb3\x4a\x57\x47\xdd\x29\xc4\x2c\x81\x58\x54\xb4\x44\x05\x4b\xe3\xeb\x8d\x96\x5f\x5a\x2c\x51\xcb\x46\xa8\xdd\x28\x47\x1c\x91\x5a\x8e\xbc\x20\x47\xb4\xfe\x19\xd0\x9f\x5b\xe5\xa8\xb5\xd2\x17\xd2\xcb\xd2\x17\x84\x27\xdd\x4a\x78\x9a\xd3\xc3\x63\xdd\x42\xa2\x6d\x94\x40\xf5\x68\x12\xd1\xd3\x5a\x8c\x56\xa2\xf5\x68\x2b\xda\x89\x2e\x47\xd7\xa0\xeb\xd1\x31\x62\x67\x4f\x76\x54\xfc\x59\x17\x67\xdd\xd1\xf1\xff\x65\xba\x51\x3b\x9a\xff\x55\xf8\x5f\xb9\xff\xd5\xf9\x80\x15\xe6\xe2\xdb\x88\xa3\xfc\xe3\xdb\x46\xc6\x65\x6e\x3b\x3b\xc5\x8f\x6e\xc2\xb2\x8c\xbb\x89\x23\x75\x9f\x23\xc4\x28\x4e\xe6\x8c\xd0\x39\x53\x66\x43\xd0\xd1\x7e\xfa\x0e\x58\x71\xa4\xf6\xb3\xe3\xce\x08\x0c\xf0\x3d\xca\xd9\xf2\x3f\x1c\x38\x3b\xd0\xaf\x38\xd4\x19\xa1\x73\x25\x54\xfe\xb3\xdc\x65\xec\x00\x8b\x86\x19\xe1\x9b\xd0\x1c\xb4\x0a\x5d\x88\xf6\x21\x64\xcf\x96\x5a\x7c\x48\x29\x13\x38\x18\xb2\xa0\x52\x7a\x4b\xca\x36\x6c\x2c\x15\x27\xb2\x6a\xf2\xab\x47\xac\x7d\xc8\x7a\x23\x99\xef\x0d\x95\x7d\x40\x89\x53\x40\x1d\xca\x72\xa4\xdb\x1e\x50\x74\xe7\xe4\x01\xaa\xa2\xbf\x66\x67\xec\x43\xd8\xcd\x6c\x84\x32\xef\xff\x9c\x7c\xcf\x06\xb4\x70\x10\xc1\x7d\x24\x80\xbf\x74\x44\xfd\xbe\xc2\x02\xc1\xf0\xd1\x31\x79\x26\xde\x75\xc4\x11\xf1\x7b\x83\xa2\x5f\xd1\x4c\x10\xa2\xc2\x90\x76\x43\x86\xa4\x87\x89\x42\x54\xd8\xdd\xb6\x68\x8f\x10\x15\x4e\x82\xff\x24\x5c\x45\xc6\x73\x16\x0f\x37\xfe\x16\x9b\xca\x68\x8a\xda\x1e\x86\x80\xda\x96\xab\xd5\x95\x1a\x17\xbd\x62\xe7\x8c\xc6\xa8\xed\x2f\x3f\x25\x8b\x0e\x37\x29\x4b\x0f\x65\x83\x68\x21\xa0\xcb\x95\x00\xaa\x59\xd6\x52\x5e\xe4\x13\x92\x0d\x45\xc7\x3e\x12\xa2\xc2\x91\xae\xea\x25\x73\x2b\xc4\x50\x74\x49\x42\x51\x51\x91\xf3\x94\x15\x86\xf8\x23\x39\x85\xa0\x3d\xda\x76\xef\x6e\x93\xdd\x83\x27\x4f\x5e\x23\x0f\xed\xec\x96\x07\xb7\x18\xa3\x36\x9b\xca\x78\xe5\xa5\x64\xa8\xf7\xf5\xcd\xc6\xa8\xcd\xce\x19\xb3\x38\x5c\x6a\x10\xa9\x32\x59\x9c\xc5\x4a\xf4\x73\x32\x9e\xcf\x5a\xbe\x93\xd1\x6e\x3c\x11\x0f\x44\xcb\x89\x75\x4d\x56\x5c\x51\xee\x7d\x78\x62\xfa\xcd\x85\x15\x48\xac\x5c\xa2\x61\x82\xcc\x87\x12\x10\xc4\x80\x22\xf5\x27\xc4\xeb\xc1\x12\x37\x27\xe2\x2e\x90\x4f\x8d\x67\x35\xf1\x58\x4e\x91\x5a\x0c\x10\x62\x3e\x8a\x55\xd0\xec\x42\x3c\x11\x4f\x0c\xfd\x56\xc4\xaf\x8c\x11\x93\x04\x66\x90\xf0\x0e\x1f\x88\x64\xa3\x6b\xb0\xdd\xc1\xc8\x8d\x32\xad\xaa\xc9\x35\x25\x03\xb1\x46\xbf\xc6\x5b\x11\x48\x9a\x72\xf1\xa6\x21\x5f\x4d\xf6\x88\x34\xcf\xd4\xe4\x4b\x4e\x8e\x54\x50\x7a\x6a\xd1\xd1\xa0\x29\xcf\x6f\xb6\xd9\xcc\xfe\x3c\x53\xf0\xe8\x22\xd6\x98\x2f\x7d\xf0\x37\xde\x10\x34\xf5\x68\x79\xfb\x6b\x87\x4c\x87\x2f\x28\x9c\x11\xe6\x0a\x27\x96\x5f\x78\x20\x58\x4f\x33\x15\xc1\x39\x8d\xa1\xd8\xa6\x95\x7e\x27\x75\x62\x38\x85\xd3\x57\x56\x90\xab\xa4\xa1\x55\xfe\xc4\xc8\x54\xe6\xff\xe6\x56\xc0\xe7\x83\x4f\xbe\x17\x4e\xe1\x98\x57\x6c\x8c\x55\x79\x54\x85\xa2\x37\xb6\x2b\xeb\x62\x12\x0b\x66\x9f\xd3\x54\x68\x82\xe5\xb3\xfd\x8d\x26\xb5\xda\xd4\xe8\x9f\xbd\x1c\xe3\xbc\x6d\x9c\x0f\x52\x8e\x4a\xfd\x56\xd0\xde\x0c\xa6\xe5\xb9\x5c\x72\xba\xb3\x66\xc2\x1c\x13\x53\x11\x0c\xd6\xd3\x9a\x32\x4d\xd8\xdc\xb8\x43\xea\x95\x53\x48\xdf\xdd\x2c\xfd\x6d\xb9\xdd\x57\xa8\xa4\x80\x0a\xff\x70\x0a\xff\x7f\x71\xed\x33\x6c\x8e\x2d\x68\x3c\x9a\x8e\x16\x21\x04\x0a\x3a\x4a\x70\x0f\xe3\xa4\xc2\x76\x45\x9b\x82\x84\xc8\x9b\xc8\xc3\xd0\x7b\xca\x12\xf8\xbf\xf2\x9e\x52\xb1\x68\x08\xc0\x31\x6c\x77\xe7\xb0\x5b\x0d\x94\x20\xd6\x43\x3c\x4c\xbb\xe5\x17\x44\x7a\xef\xa4\x10\x15\xf6\x3c\xb2\xa7\x53\x7e\x85\xe4\x0a\x4f\xa4\x4d\xfc\x62\xd0\xeb\x8f\x38\x8e\x74\xc9\x75\xf8\xd8\x47\x06\xa1\xa0\xd0\xe7\x8f\x3a\x5a\x6f\xce\x3c\xfb\x71\xe6\x49\x9d\x57\x77\x97\x4e\xc7\xa6\xee\xd2\xe9\xbe\x74\x4e\x6a\xb8\xa4\xf5\x77\x7a\x2f\xee\xcd\x56\xf7\x83\xd9\xea\x0f\x9f\xb4\xde\xfc\xc6\x16\x39\xa0\xbc\x27\x89\x25\xd1\x90\x58\x31\x77\x49\x75\x17\x59\xd6\x3c\x56\xd4\x90\x14\x7c\x45\xe5\x2d\xcb\x6a\xb6\xbc\x71\x73\x66\x9f\x7c\x59\xdd\x5d\x3a\xaf\x8e\x65\xef\xd2\x79\xf5\x5f\xe6\x4e\xba\x71\x55\xeb\xef\x74\x23\xd7\xf0\xad\xa8\x85\xa8\x2e\x59\x39\x1e\x14\x9e\xf1\xec\x1e\x4f\x24\x6c\x87\xec\x50\x40\x94\x87\xf2\xf2\x90\x00\x13\xdb\x7d\x05\x85\xee\xf3\xc6\xa2\x72\x51\x90\x37\x2a\x4b\x7a\x92\x24\x5c\xe2\x59\xc0\x78\xe4\x6c\x76\x34\x6a\xa9\x5e\x5b\xa4\xc1\x8c\xd6\xaa\x1d\x13\x9d\x38\x3e\xdf\x91\x6f\x82\xcf\xa7\xeb\x6d\xfa\xd6\xcb\x31\x55\xf9\x6d\x4e\x69\xfb\xe1\xa9\x3f\xb9\x2e\x17\x68\x3b\xdf\x58\x56\x6c\x2b\x70\xd9\xb9\x9c\x09\x85\xbe\xea\xdc\x95\xf3\x67\x1d\x5c\x60\x63\x2d\x0c\xa5\x3d\x7f\x6d\xc5\x0c\xa0\x18\xf5\x23\x67\x18\xe7\x65\xf2\xc6\x85\x5f\x08\x6b\x29\xc0\xcb\x52\x2d\xf7\x0a\xbc\x47\xaa\xe6\x2f\x64\x54\xd3\xb0\xfd\xe3\xb1\x5f\xb2\xa6\x6b\x9f\x58\x7c\xf0\x56\x16\x7b\x67\x47\x97\x96\xe7\x94\xbb\x73\x0d\x40\x71\xf6\x82\xf1\xb3\xbc\x2d\x6b\xba\x0e\x36\xdb\x17\xd8\x75\x6c\xad\x19\xd4\xd8\x70\xa6\x99\x1e\xc2\x28\x30\x88\x98\x77\x99\x41\x94\x8b\x56\x20\x44\xf8\xea\xbc\x1c\x8b\x6d\x56\x17\x8e\x84\xed\x49\x9c\x90\x1b\x01\xb0\xb2\x3e\x51\x39\x42\x4a\x91\xf2\x79\x87\x65\xd2\xad\x72\x05\x92\x8b\x86\x4a\xc4\xa2\x42\xb1\x02\xe9\x22\x2a\x9a\x11\xb7\xc9\x8a\x39\x85\x1a\xc8\x05\xf8\x0b\x5a\x5f\xe0\x10\xc5\x55\x6b\x4c\xfe\x09\xe5\x74\xbe\xce\xaa\xc1\xc6\x94\xd1\x82\xbf\x35\xa8\x58\x7b\x73\xaa\xf0\xce\x47\x0c\xac\xa6\x40\xe5\x68\xdf\xfd\x60\xc7\xe5\xc7\xc4\xf9\x71\xe1\x76\xf0\x84\x42\x6e\x8f\xbb\xac\x39\x56\x62\x67\x38\x8d\x46\x03\x9f\x9c\x9a\x70\xe1\x93\xeb\xa2\x71\x38\xbf\x89\xa1\x56\x1c\x9f\x67\x2f\xb4\x6c\xa7\x7f\x97\x53\x50\x68\x70\x8c\x91\xfe\x79\x65\xe9\xec\xe9\xe5\x00\x8c\x4e\x33\x0d\x62\xd3\x5a\x33\x77\x72\x7a\xa0\x8c\xea\x36\x95\xc5\xbf\xb7\xb0\xf5\xc4\x0d\xed\x77\x5e\x11\x4b\xaf\x1a\x97\x0f\x0e\x31\x3c\x59\xf0\x04\xeb\xdb\xce\xef\x28\x56\x63\x0a\xbe\xfb\x78\xcd\xc7\xcf\xee\xb7\xa8\xa5\x1b\x96\x4a\xb7\xf9\xa9\xea\xa4\x9e\x7b\x1a\x51\x08\x06\x11\xbb\x93\xe9\x47\x75\x68\x16\xba\x1c\x21\x08\x17\xca\x53\x1a\x32\x0b\xe6\xf4\x90\xad\x48\x01\x0f\xd1\x54\x8d\x94\x81\xd2\xb6\x01\x13\x20\x9e\x48\xd8\xc1\x38\xc2\x8a\x81\x9c\x3c\x41\xe2\x1c\xe5\x98\x1a\x02\xb2\x17\x82\x5c\x15\xed\x60\xb1\x1b\x80\x35\x40\xbc\x1c\x04\xd2\x4e\x73\x94\xb2\xa5\xa8\x06\xc5\xb5\x64\xc3\x16\x87\x8b\x24\x8a\x27\xc2\x76\xaa\xde\x9d\xf7\x41\x5d\xe5\xc1\xa0\x76\x32\x5b\xee\xce\xfc\x5d\xea\x51\x8b\xd5\x71\x01\x68\x29\x55\x54\x8d\x71\xad\x08\x8f\x65\xfe\x59\x14\x66\xd9\xea\x80\x06\x3e\x92\x7e\x22\x54\xb0\x6c\xdc\xc7\xf2\xd0\xfb\x0e\xd0\xe0\x30\x58\x1f\xf3\xf1\xb9\x79\xb6\xc7\xde\x65\xfc\x5f\x03\x05\x39\x5a\x77\xe1\xd4\xbc\xab\x31\x0b\x6e\x33\x75\x87\x81\x36\x54\xe8\x12\x5d\xb8\xe8\x60\x2c\xf5\x81\xb7\x38\x12\xf8\x4b\x2e\xef\xf5\x4c\xcb\x01\x8d\x74\xca\x66\x0b\xf8\x1a\xad\x7f\xbf\xc2\x60\xf3\x06\xa6\x9b\x9e\x59\xa1\x72\xe5\x80\x0e\x57\x15\x89\x55\xd4\x62\xf3\xa1\x60\xf5\xcf\x42\xb5\xd2\x32\x77\x09\x5d\xe5\xae\x0a\x06\xe2\x8c\xbb\xb6\x48\x8c\x42\x8a\x49\x15\xf9\xca\x6a\xdb\x35\xf5\x01\x7f\x19\xee\x08\x40\x48\x7f\x91\x63\xa6\x47\x78\xe9\xa2\x00\x16\x80\x05\x06\x0a\xa7\xe7\x3a\xb4\xf9\xd7\x01\x83\xcb\xd6\xc0\x9d\xd2\xf7\x53\xa6\xfe\xb1\x26\x3f\x9e\x2c\xff\x59\x5d\xf1\x21\x47\x00\xaa\x3c\x33\x1d\x76\xa3\x5b\xea\x81\xe7\x7d\xcd\x16\x73\x8e\x57\x5a\x04\x33\x7d\xd3\x4d\x16\xa7\x20\x2d\xf9\xb5\x81\xb1\x1a\xfb\x8a\x6a\xa1\x5a\x69\x03\x5d\x1c\x62\x96\xa2\x59\xa8\x0d\xad\x45\xdd\x08\x05\x14\xf1\x82\x58\x34\xc9\x26\xe2\x01\x21\x16\x55\x6c\x4d\xe2\x11\x37\x92\xc7\xf6\x8a\x89\x36\x99\xbe\x63\x42\xf9\xef\x04\x25\x28\x02\xcb\xd9\x91\xcd\xea\xf3\x0a\xe5\x40\x11\xc1\x02\x8b\x35\xe0\xf0\x5b\x70\x80\xd0\x34\x20\xb9\xc6\xdb\xb3\x2d\xa9\xe0\xf3\x06\x44\x07\xcc\xc0\xf4\xbc\x3b\xaa\x6d\x34\xad\xe1\x78\xd6\x8c\x1f\x01\xdd\x3a\xd3\x66\x9d\x59\xb3\x63\xd1\x72\xd0\xc0\xef\xae\xb3\x5a\x5b\x07\xaf\x5f\x67\xda\xac\xb5\x68\x76\xa4\xa4\xf1\xdc\x98\x22\xea\x87\xaf\xd5\xfa\x9a\x6a\x4a\xaa\x12\x4b\x72\x60\x87\x96\xbf\x92\xee\xea\x2b\xf5\x62\x37\xf7\x73\x2a\x5a\x09\xa6\x13\xbf\x90\xbe\x1c\x37\xb9\x5d\x5a\x97\x6f\x9d\xb7\x3d\x3f\x98\xff\xe0\xc5\x56\x98\xa5\xe6\x7e\x81\xab\x7f\xbe\xc8\x25\xaa\xad\x46\xab\xce\xae\x72\x50\xfd\x1b\x9f\xd3\x5b\x34\x29\xe3\x67\x16\xe9\xab\x2f\x0a\x9b\x0a\xaf\xfe\x30\xf5\x9c\xde\xaa\x4e\x19\x3f\xdb\x4a\x45\xb9\x1c\x07\x23\xc5\xa5\xc9\x14\x87\x29\x8e\x9a\x92\x1f\x2c\xc9\x8c\xa3\x35\xa5\xec\x6f\xe0\x68\x2c\x46\x95\xea\xa4\x47\x35\xe7\xb5\xae\x07\x33\xd8\xba\x53\x77\x2f\xea\x7a\x12\xd7\x04\xf3\xb7\xcf\xb3\xe6\xe7\x5b\x2f\x7e\xd0\x44\x73\x43\x38\xb2\xeb\x69\x89\x59\x85\x0a\x51\x39\xd1\xcb\x95\x5b\x53\x05\x5e\x4a\x1a\x01\x07\xcb\x65\xe1\xb8\x6e\x79\xe6\x14\x4f\xd8\x45\x2b\x36\x80\x57\x4c\xd2\xb1\xa8\x68\x17\x6d\x82\xe8\x02\x8b\x57\x94\x87\x06\x3c\x70\x4a\xf3\x2b\x37\xa4\x8a\xb0\x12\xed\xbc\xee\xd0\xe7\x5f\x1c\xbc\xee\x8a\x6f\xaf\xeb\x98\xe7\xe6\x1a\xa6\xdd\xf9\xc9\x47\x30\xab\xcf\xdd\x50\x5d\xf4\xf2\xb1\x63\x7c\x81\x67\xf6\xce\xc9\x65\x06\x2a\x91\x98\x72\x69\xcb\xda\xcc\xec\x69\xef\x4e\xb6\xe0\xe2\x5f\xad\xf6\x79\x9d\xa1\xf5\x35\xed\x79\x53\x73\xdc\x1b\xe0\xfe\xb7\x8e\xfd\xe4\x27\xc7\xde\xba\xee\x9f\x07\x0b\x93\xa9\xfc\xef\xef\xfa\xd9\x57\x5f\xfd\x6c\xc1\x34\xbd\x7f\x69\x63\xaf\x74\x72\x39\x30\xee\xfd\x77\xfd\xfe\x81\xd6\x09\xde\x9e\xdb\xf0\x9b\x1f\xd7\x0c\x4a\x8f\x36\x6e\xdb\x19\xb0\xb4\x5f\x9b\x1b\xaf\x09\xcc\x71\x96\xba\x8c\x73\xc7\xac\x3a\xb4\xb6\x6e\xda\xea\x21\x7e\x2c\xd2\x77\x38\x51\x11\x0a\xa1\xf1\x68\x0e\x61\xf0\x20\xf0\x31\x36\x4b\x17\xe0\x88\x27\x14\x95\x64\x77\x9c\x22\x82\x57\x9c\xbd\x06\xe2\x26\xb9\xb7\x10\xed\x4c\x94\x20\x0e\x88\xc8\xa1\xfc\xc4\xd9\xa1\xd8\xa8\xce\x82\x76\xe6\x17\x95\xda\x6f\xfa\xe2\xe6\x5b\x36\xc5\xca\x68\x47\xed\xd8\x9b\x7e\xf7\x3b\x88\xfe\xee\x41\xac\x29\x0c\xcf\xaf\xb6\xd9\x34\x7f\x14\xe8\xe6\x31\x8b\xe0\x92\x48\xd1\xec\x09\xcd\x39\x53\x2f\x2d\xa0\xf7\x8f\x8f\x8e\x89\x4c\xb7\x99\x60\xca\xc8\xce\x01\xfe\x36\x7d\x42\xae\x3a\x9c\xda\x72\xfc\xf8\x96\x4d\x77\x5b\x4a\x4a\x6d\xef\x48\x2f\xbd\xfe\x06\x64\x72\xca\xeb\xb7\x5d\xbb\x69\x89\x9d\xda\x0b\xc6\xcd\x6b\x9b\x1f\x16\x6f\x29\x3a\x6f\xf2\x3c\x87\x65\xc2\xd8\x60\xc0\xb4\x7c\x6c\x74\xab\x10\x9d\x1a\x2b\xfe\xe6\xac\x3e\x61\xe8\xf9\x67\x10\xdc\x5c\x74\xe8\x1d\xc2\xca\x08\xdd\xe7\x15\xe3\xd9\x6e\x91\x63\x15\xc0\x80\xf2\xf3\x13\x03\x41\x96\xc4\xc9\xbd\x07\x91\x0a\x8e\x84\x09\xb6\x8a\x74\x9d\x67\x6e\xf7\x0e\xda\xc7\x9d\x57\xc0\x89\xe5\x62\xc0\xaa\x0b\x6a\x69\x15\x63\xf2\x5f\x36\xf7\xf9\x26\x13\x43\x6b\x74\x41\x8d\xcd\x27\x96\x8b\x5c\xea\x32\xfb\x95\x58\x65\x30\xea\x22\xbc\x2f\x55\x3a\xa9\xa8\x64\x72\x49\xca\xc7\x47\xf4\x46\x5e\x85\xaf\x04\x18\xbd\x1a\xb6\xc7\xce\x18\x5a\x52\x16\xd6\x60\xd7\x15\xd8\x2d\xb9\x46\xbc\xd8\x32\xc3\x37\x7d\xfe\x1d\xbe\x19\x96\xc5\xd8\x90\x63\xb5\x15\xe8\xec\x06\xd6\x72\x55\x01\x63\x0f\xd9\x99\x62\x8b\xda\xe5\x73\xb9\x7c\x2e\x95\x35\xc8\xd8\xa1\x7f\xf4\x3a\x18\x20\xc3\x60\x9a\xdd\xc0\xa4\x49\x29\xc4\x15\x1d\x30\x05\xc8\x44\x74\x07\x09\x01\x97\x23\x2b\x0f\x86\x15\x5c\x53\xd6\x9e\x49\x29\x26\xa5\xd8\x94\xaa\x1e\x8f\x45\x43\x58\x21\x9a\x88\x84\xb3\xe2\xe5\x54\xf3\x65\x6f\x54\xe7\xa9\x79\xde\xdc\x60\x2e\x88\xd7\x37\xd6\xeb\x02\xbb\x67\xe4\x47\xf3\xff\xc8\xa9\xac\x0e\xeb\x1c\x7b\x20\xd7\x9d\x8c\x27\x17\xc6\xa3\x0b\xea\xe2\xc9\x42\x67\x20\x67\xb6\x29\xd7\xaa\xe2\xfe\x98\x1f\xcd\x9f\x7e\xa9\x5f\x57\xdf\x54\x1f\x2d\x30\x34\x58\xcd\xbc\x3a\x2f\xf5\x36\x93\x86\xbd\x17\x8e\xb9\xa0\xfc\x00\x97\xe7\xcf\x77\x97\x5a\xc4\x7c\x43\xfe\xac\x2b\x3c\x3a\x2d\x5b\x30\xd1\xa3\xad\x0a\xe8\x19\xc6\x57\x14\xcc\xcb\x0b\x16\xf9\x18\xc6\x10\x18\xa3\xf5\x4c\x2c\x60\xb5\x3a\xf7\x55\x33\xf3\x0d\xf9\xa2\xb5\xa4\x30\x2f\xe0\xe4\xae\xae\xd8\x3e\xe6\xca\xed\xa3\xea\xc0\xe2\xff\xd3\x3a\x30\x9a\xc1\x80\x41\x4a\x3d\x08\x89\x01\xab\x36\xa8\x23\xf5\xe0\xd2\x79\xcf\x4d\x33\xb3\x1a\x46\x5b\xa4\xb1\xfa\xc4\x10\xa9\x07\x57\x61\x15\x6f\xd4\x47\xf4\xbe\xb1\x4a\x3d\x18\xeb\xd3\x47\xf5\x06\x83\x0a\xae\x02\x74\xc6\xcb\xb0\xc7\xce\xf0\x2d\x63\x79\xed\x70\x25\xa8\x8f\x4e\xf7\x4f\x9f\x7f\x87\x30\x4d\x68\xc2\xc6\x5c\xa5\x12\x68\x79\xb9\x12\x94\xcb\x95\x40\xa3\x54\x02\xb5\xa5\x84\xb2\x53\xda\x51\xef\x02\x28\x98\x44\x16\x91\x56\x8f\x67\x94\xe1\x0f\xc7\x72\x7e\x86\xe5\x92\x50\x0f\x49\x2a\x11\x67\xc8\xfc\x89\x62\x45\x62\x01\xcc\x86\x70\x39\x44\x63\xd1\x48\x38\x61\x46\x91\xb0\x8b\x71\x24\x92\x74\x22\x49\xa9\xd1\x84\xee\x86\x98\xdd\x4e\x69\x22\x0e\xc3\xc4\xb1\xcd\xaa\xf2\x4e\xe9\x1e\xe9\xc3\x45\x7f\x28\x9f\x6e\x34\x4c\x7a\x64\xf6\xa5\x4d\x8f\x81\x03\xd4\x5a\x96\x7d\xd6\xe0\x4e\x7f\x7c\x50\x42\x57\xcc\xba\xac\xb9\x58\x07\xec\x55\x5f\xf6\xc2\xda\x17\x19\x4b\x75\x6c\x62\x55\x94\x3f\x0f\x0b\x91\x49\x4b\xa2\x0d\x3b\xb6\x36\xb0\x28\xb4\x68\xe2\x94\xe2\x72\xd6\xfc\x55\xa8\xa0\x5e\x28\x65\x0b\x5f\xe0\xef\x8d\x5d\x6c\x74\x71\x5c\x5e\xa3\x3b\xa0\x2f\x14\x28\xd6\xae\x95\xee\x2c\xe0\x72\x16\x60\xc8\x0f\x79\x4d\x00\xc0\x26\x60\x1d\xd4\x82\xda\xe0\x2d\x9b\x12\x3a\x41\x4f\xeb\xb8\xf0\xc0\xd8\x59\x5b\xa7\x7a\x46\xf0\x60\x4d\x44\x2d\xa8\x1d\x2d\x27\xd8\x36\x2b\x27\x3a\xd8\x91\x1f\xaf\x98\xe0\x84\x91\x9f\x58\x34\xe1\x10\xe3\x23\x3f\x91\xb0\x83\x4b\xd8\xcf\xf8\x44\xb1\xdf\x47\x26\x1f\x72\x75\xf0\x9b\x2d\x04\x97\x6d\x52\xe0\xd9\xe4\x8b\x29\x66\xfe\xda\x67\x11\xdf\x3c\x51\x5a\x7f\x74\x65\xdd\x8c\x19\xbc\xd0\x24\xf0\xd3\xa7\x36\xac\x3c\x5a\x53\xf9\xe0\x9b\xa2\xa5\xef\x2b\x86\xf9\xfa\x23\x39\x41\xa8\xee\xd6\x95\xe3\xa6\x4c\xd3\xfb\x45\x41\x49\x71\x6b\x5d\xe8\xc4\x1b\x01\x5b\xdf\x57\x8c\xeb\xa8\xf4\x9f\xb7\x6e\x7d\xfb\xe8\xa2\x45\x47\xdf\xde\x7a\x2b\xe8\x8f\x4e\xc9\xac\xcf\xac\xc7\xd7\xe2\x5f\x67\x6a\x33\xb5\xcc\xaf\x33\x44\xbf\x00\xa7\xcb\x0a\xf9\xe9\x53\xc6\xaf\xbc\xb5\xae\xfc\xc1\xb7\x02\xf6\x4f\xbf\x61\xd9\xaf\x3f\xb6\x04\xdf\x7a\xb0\x64\xec\xad\x9d\x13\x26\xcf\xe0\x8b\xbd\xbe\x62\x7e\xc6\x94\x71\x9d\xc7\xe4\x14\xa2\xa5\xef\xaf\x2c\xfb\xd5\x47\x96\xe0\x9b\x0f\x96\xd7\x1d\xeb\x4c\xce\x98\xce\x17\x86\x7a\xc0\x70\xb4\xed\xe8\xbb\xdb\xb6\xbe\x7b\xb4\xed\x28\x18\xb0\x2b\x83\xa5\x4b\x60\x27\x96\x60\xe7\x8f\xbf\x85\x5b\xa8\x04\xdc\x2c\xad\x18\x78\x91\x6a\x1d\x48\x4b\x29\xe8\xa5\xd2\xd0\x3b\x8c\xb3\x24\xb6\x44\x45\x28\x8e\x10\x78\xb8\x2c\x1e\xc6\x61\x8f\x0c\x91\x29\x07\x22\xc0\xb3\x5c\x2c\x4e\x16\x22\x21\x62\x01\x93\x27\x9e\xf0\x98\xa2\x82\x98\x70\x01\xcc\xc6\xff\xe1\xcc\xac\x5c\x77\xf4\x82\x36\x47\x63\xd9\xbe\xe7\x9f\xa7\x3e\xfc\xa7\xe4\x72\xf8\x12\xb1\xa6\xd9\x6b\x92\xc7\xab\xad\x56\xe9\x93\x4f\x1f\xa7\xe6\x0d\x7c\x16\x50\xe1\x9f\x2e\x6b\xce\x5d\x71\x11\x23\x4c\xbe\x75\xdd\x40\x66\xf1\x61\x0b\x33\xf9\x85\x7d\x14\xb5\xef\x85\x77\x4f\x7d\x5b\x37\x77\x7d\xd3\xcc\x4a\x0f\xfe\x95\xf3\x96\x68\x2c\x1e\xc5\xef\x67\x1e\x86\x6f\xfb\xef\x4e\x98\x69\x7e\xee\xbe\x82\x71\xde\xff\x40\x43\x5c\xef\x59\x2c\x9f\x15\x79\x50\x19\xaa\x46\xad\x68\x1d\xda\x86\x0e\xa0\x3f\x9d\xb6\x36\xa0\x62\x51\x21\xcb\x3e\x18\x8e\x27\xce\x1d\x38\xd3\x0f\x6c\x96\x26\x3b\xc1\xda\xac\x66\xc7\x30\xb3\xdc\x10\xd5\xa8\x59\x94\x27\x64\xac\x3c\x09\x4b\x28\x8c\x6a\x89\xb8\xc2\x4f\x47\xce\xce\x82\xf8\x86\x8e\x90\x16\x99\x4b\x02\x63\xc5\x1c\x4b\x1b\x86\x54\xaf\x88\x1d\xbb\x48\x66\x24\xa4\xc5\x4a\x08\x22\x69\x7d\x49\x4b\x46\x91\x4e\x5c\x9e\xd1\x61\x65\xb4\x4e\x26\x75\x72\xc3\x4e\x28\x29\x39\xbb\x12\x41\xcd\xf1\x56\x79\xbd\x55\xbb\x8a\x6a\x83\x45\x05\xae\xa2\x7b\x83\xb5\x45\x45\xae\x82\xa2\xfb\x8b\x6a\x8b\x8a\x6a\x87\x1c\xd0\xcd\x91\xde\x7e\xe0\xc2\x37\x0e\xcc\xb2\x75\xee\xda\xe6\xaa\xab\x72\xb9\x13\x55\x2e\xf7\x3a\xb7\xab\x2a\xbf\x52\xdf\xbd\xeb\xea\xc9\x26\xd7\xe2\xf8\xc7\xae\xd9\x0f\x1e\x5c\xbf\x4c\x2f\x4d\x4c\x2d\x4d\xd5\x2f\xaf\xc7\x5b\x1a\xaf\x5f\x3a\xed\x40\xa2\xa2\xf5\xbc\xd8\x02\xbf\x29\x12\xa3\x1b\xe7\x82\x63\x5c\xed\x18\xe9\xeb\x56\xba\xa6\x24\x7b\x81\x84\xdb\x55\x55\x5e\xb5\x70\xcd\xf9\x6d\xf1\xe8\x86\x09\x6e\x71\x41\x63\x6f\x45\x8e\xb9\x6c\xec\x9a\x86\x1a\xbb\xc5\x81\xad\x94\xc6\x99\x63\x9c\xff\xe3\x15\xbe\xbc\x9a\xf9\xb3\xab\x19\x9d\xde\x02\x26\xc1\x78\x34\x98\xeb\x2b\x4b\x2c\xa4\xbf\x18\x53\x5e\x3e\xa6\xfc\xd4\x9c\x8d\xae\x92\x12\xd7\x46\x57\x69\xa9\xeb\xbf\xf5\xe1\x97\x7a\x9e\x5f\x79\x4f\xdf\xb6\x96\x79\x0f\xbc\x75\x9b\xf4\xfa\x8a\xea\x30\xf9\x2b\xcc\x6d\x07\xcb\x7f\x34\xb2\x96\xff\x9c\x77\xfe\xce\x43\x47\xde\x9f\x58\x81\x1f\x0c\xcf\x98\x11\x8e\xcc\x98\x21\xf5\x75\xfc\x74\xcd\xc4\x9a\x63\x6b\x3b\xbb\x2c\x6c\x55\xd4\x69\x1d\xff\xab\x8d\xeb\xa5\xbf\x34\xa4\x8e\x3a\x61\x63\x49\x4a\x39\x7f\x5c\xc5\xf8\x66\xb0\x14\x76\x70\xa1\xde\x8d\x55\x9d\xd5\x57\xde\x72\xf1\x9c\x68\x41\x2e\x65\x65\x0d\x21\xc1\xba\x7e\x0f\x9d\xaa\x66\x38\xc6\x64\xb0\x00\x9b\xa3\x63\x2d\x57\x7d\xe3\xaa\x6c\x1e\x39\x87\xcf\x45\x01\x82\x12\x88\x8a\x1e\x5b\x64\x18\x40\xeb\xc8\x8e\xc0\x22\xe1\x78\x20\x12\xf3\xc5\x7c\x36\x9f\x2d\x62\x8b\x9c\xb1\xe7\x76\x98\x95\x8e\xbc\xa3\xbb\xa8\x79\xd9\xbe\x7d\xcb\xda\x6a\x3b\xd7\x1c\xee\xe9\xeb\xeb\xb9\xe3\xb7\xb0\x60\xed\xda\x75\xeb\xd6\xad\x03\xf3\xa8\x21\x04\xde\xea\x29\xdc\xd3\xb4\xe0\x9a\xe7\xae\xa9\x59\xb1\xfc\x23\xe9\xd9\x8f\x7e\xbf\x75\x1d\x49\x78\xfe\xe8\xd1\x81\xdc\x37\x04\xb2\xed\xa5\x48\x54\xea\xe4\xda\xea\xf7\x79\x39\x93\xcf\x14\xca\x92\x04\x5a\x59\x82\x7e\x26\x0b\x6f\x0a\x8b\x25\x8b\x2a\xef\xbf\x7d\x8a\xf4\xc9\xdc\xdb\x4f\xf6\xd4\x37\xa5\x1f\x4a\x37\xd5\x3f\x75\xe3\xb2\x65\xfc\xaf\xa2\xd3\x5a\xb4\x57\x59\x9d\x02\x8d\x06\x1e\xad\xe0\xa3\x35\x15\xd2\xfd\x4c\x4b\x6e\xf7\xf8\xd6\x74\xba\x75\x7c\x77\xee\xf8\x52\x03\x2e\x32\x63\x41\x50\xc6\xa7\x33\x89\x4e\x07\x83\xaa\xd1\x3c\xb4\x08\x1d\x42\xc8\x1c\x8e\x0b\x5e\x96\x09\x31\xa2\x22\x12\x57\x0f\x21\xcc\xfa\xbc\x06\xf0\x99\xc2\x71\x17\xe5\x20\x9b\xdf\xf6\x78\xc2\x9e\x48\x82\x48\xba\x62\xc1\x11\x31\xf9\x44\xa1\x04\xbc\x06\x60\xe5\xa1\x4c\x3d\xc4\x5d\xc0\xb9\x14\xf5\x32\x9a\x5c\x4f\xe9\xac\x95\x85\x13\x1e\x44\x1e\x42\x20\xc2\x70\xe7\x9d\x64\x6b\x20\xec\x88\xd7\x40\xd8\xc5\x3a\x3c\x61\xfb\x0d\xcd\x6e\x77\xb3\x9b\x55\x6b\xaa\x9d\x61\x5f\xc8\x7e\xd1\xec\xfe\xe6\x6a\x18\x73\xc2\x3e\x26\xd0\xa4\x5d\xd4\x70\xeb\xcd\x8c\x5b\x97\xc7\xdb\x54\x50\xb4\xa9\x7b\x7a\x79\xf5\x7a\xd3\xd4\x98\xd5\x8d\x35\x9e\x92\xf1\x85\xdc\x9e\x8e\xb6\xa3\x0d\x2b\xef\x5c\x50\xfd\x5a\x7e\x5e\xc9\x65\xa5\xcf\xe4\x56\x07\x34\xc6\x66\x6b\xc1\x6a\x6d\x14\x10\xb9\x2c\xa8\x04\xa7\x34\x3d\x6f\xdd\x44\xcf\xe2\x44\xf1\x45\x0d\xb5\x7b\x2e\x5c\x5f\x21\x7d\x24\xdd\x44\x80\x59\x77\xf0\x0d\x05\x35\xc5\xb5\x29\xff\x96\x65\xb3\x66\x2d\xbb\xd3\x97\xaa\x8c\xfb\x22\x79\x09\x1e\x96\x39\x05\x48\xa7\x52\x29\x56\x3f\xd5\x9b\x2a\x8e\x3a\xf6\xb5\xd3\x1d\x13\x1e\x1c\x7f\x52\xab\x05\xdc\x70\x6b\xa6\x0f\xe0\xff\xa3\xee\x3d\xc0\xe3\x2a\xae\xc5\xf1\x39\x33\xb7\x6c\xef\x45\x75\xd5\x77\x2d\x59\x5a\x49\x5b\x25\x63\xf5\x62\x70\x95\x2b\xc6\x60\xcb\xab\xdd\xbb\xd2\x5a\xab\xdd\xf5\x16\xcb\x72\x28\x02\xc7\x98\x12\x4c\x27\x74\x4c\xa8\x0e\xe1\xe5\x11\x08\x84\x6e\x48\x02\x84\x84\xc4\xa1\x3f\x48\x78\x40\x48\xf2\xd2\xc0\x09\x24\x2f\x80\x75\xf9\x7f\x73\xef\x95\x2c\x17\x92\xbc\xf7\xfb\x7e\xdf\xf7\xff\x19\x34\x73\x66\xee\x3d\x73\x66\xce\x39\x7b\x66\xee\xbd\x67\xe6\x10\x4e\xab\x12\x7f\x91\x6e\xb6\xb5\xb5\x73\x3e\x4b\xd8\xa9\x69\xe8\x5e\x55\x84\xd1\x43\xcb\xfb\x3e\xae\x5a\x57\xe5\xc7\xbe\xb7\x9c\xc4\x5f\x61\xdd\x58\x54\x7b\xa9\xb1\x77\x69\x77\x77\x37\x46\x33\xd3\x25\xee\x9e\xb5\x9a\x96\x3e\x5d\xb0\x9d\xa9\xd6\x7a\xfa\x9b\xa1\xc4\x5d\x82\xf7\x97\xb8\x0d\xfd\x65\x01\x67\x99\xb6\xad\x4d\x67\xae\x2d\x09\x56\xf4\x98\xdc\xc7\xf8\x5c\xd4\x49\xab\x88\xa3\x0b\xa0\x70\x27\x17\xee\x24\x3e\x17\x76\xba\x38\xa7\x03\x6a\x65\xef\x04\xe0\x39\xde\x40\xaa\xbd\x58\xf2\xcc\x90\x9d\x18\x58\x17\xe3\xeb\x24\x3c\xda\xd2\xfb\x59\x77\xef\x16\xad\xaa\xd3\x3e\x38\xb8\xeb\xae\x14\x3b\xdc\x32\xb4\x68\xc8\x77\x16\x97\xba\x6b\xd7\xe0\xa0\xbd\x53\xa5\x9d\xf9\x09\xf0\x6b\xb4\x44\xe5\x56\x95\x68\x7f\x9b\x61\xb7\xb4\x0e\x2d\x1a\x6a\xdd\xc2\x3e\x76\x8b\xb6\x44\xe5\x56\x11\xed\x1a\xe0\x35\x43\xbe\x95\x2b\x96\xae\x58\xdd\xb2\x86\x64\x8f\x78\xa5\x90\x2c\x2f\x1b\xd5\x7c\xd8\xbc\x28\xb8\x79\x6a\x88\x39\xb5\xaa\xae\xae\x7a\x90\x1d\x9a\xda\x1c\x5c\x64\x0e\xf3\xea\x99\x7b\x9f\xee\x50\x15\x6b\x03\x5a\xa2\x3a\xb0\x9a\xd0\xab\x55\xa7\x92\x0b\xf3\x2a\xa2\x0d\x68\x8b\x55\x1d\x4f\xab\x16\x57\x37\x39\x1c\xcd\x95\x5d\xc7\xfa\x3d\xb6\xa2\x21\xfa\x04\x0e\xca\x19\x30\x06\xb2\x10\xd3\x21\x49\x27\x59\x28\x11\x01\x5d\xe4\x14\xec\xeb\xc4\xe1\xda\x70\xc8\x61\x35\xbb\x3d\xee\x3a\x2f\xbd\x4b\xfa\xd4\xce\x73\xfc\x89\x11\x08\xc2\x21\x14\xee\xa4\x48\x94\x63\xd8\xe9\x60\x9f\xf5\xa8\x88\x66\xe1\x3d\xe7\x32\x9e\x86\x55\x4b\xeb\x00\xea\x96\xae\x6c\x74\xb3\x3b\xef\xf1\x68\x89\xaa\x4e\x55\xaa\xdd\xf2\x2a\xbb\xa2\x71\xa0\x08\xa0\x68\xa0\x71\x05\x0b\x38\xac\x2d\x79\x6e\xd3\xc0\x99\xe2\xeb\x64\xa8\x61\x90\x56\x0f\x36\x0c\x91\x37\x7e\xb4\x28\x68\xe0\xad\x7a\x56\x8e\x36\x40\x19\x5c\xff\x15\x78\x8e\xab\xf5\xae\x58\x46\xdb\x5c\xb6\xc2\x5b\xbb\xf0\xfd\xf7\x37\xd6\xe3\xb4\x5f\x5b\xac\xaa\x3e\x3f\x42\x2a\x2b\x7d\x4e\xa7\xaf\xaa\x82\xd9\x7c\xbe\x4b\xe2\x0d\xa3\x3e\xed\x0e\xa6\xb3\xa2\xba\xba\xa2\x93\x79\xae\x51\x45\x66\xdc\x64\xff\xda\xb6\xa5\xbf\xc1\xbd\xae\x9a\x1a\x57\x2f\xbe\xfb\xb6\x56\x9f\x8e\x3f\xb2\x55\x6f\xb5\x92\xfb\x8f\x48\xbb\x69\xc9\xfe\x36\x77\x16\x22\xac\xab\xa6\xb5\xa8\xa8\xb5\xc6\x55\xfb\xad\x87\xd7\x50\x75\x41\x5a\x64\xff\x02\xb1\x7f\x98\xb7\xbf\xa3\x04\xb9\x50\x35\x72\x23\x2f\xf2\xa1\x1d\x08\xd5\x39\x9b\x01\xea\x3c\x2c\x38\x89\x07\xea\x08\x0b\xce\x66\xb0\x39\x38\x23\x38\x1d\xc0\x92\x3a\x08\xf3\x4e\xa9\x3a\xec\xe1\x25\x3f\x8c\xb0\x11\x7b\x78\x9b\x11\xb8\x66\x70\x4a\x3b\x15\xdc\x41\x8f\x9b\xb8\xbb\xc0\xed\x99\x4d\xc3\x75\x3e\x27\xeb\xb0\x5b\xa5\x8d\xde\x76\x67\x38\x54\x01\xe1\x40\x17\x48\x47\x6d\xd0\x07\x59\x23\x70\xb0\xf4\xc5\xea\x37\xc1\x02\x16\xad\xf8\xaa\xf8\xe1\xaf\x5a\xfe\x0a\x8b\xa1\xc3\x20\xee\x87\xcb\x86\xf1\x28\xc6\xcc\xca\xf5\xfc\x4c\x17\xa0\x7e\xf1\x77\x4c\xdc\xf8\x1b\x3c\xf3\x1e\x14\xac\xe2\x19\xe4\x46\xdb\xfb\xf8\x0a\x0e\xf3\x80\x5d\x0f\xda\xac\x4b\x54\xcc\xef\x79\x7e\x84\x67\xc4\xb7\x19\xac\xfa\x80\x09\x63\xbe\x63\x0b\x9c\x8a\x55\x5b\xf6\xe0\xad\x58\x0d\x0f\xb0\x04\x3a\x38\x1b\xb7\xe3\x5c\x96\x9d\x62\xb9\x75\x84\xfd\x29\xc7\xfe\x95\xc1\x46\x1b\xf3\x34\x07\xaf\xff\xf1\x35\xd1\xff\xd6\x5f\xdf\x80\x0b\x5f\x83\x25\x3f\x99\x79\xff\x75\xe8\x7f\x41\xbc\x63\xe8\xa3\x55\x60\x54\x93\xc0\x20\x87\x6f\x7d\x01\x7e\x7e\xff\xe7\x0f\xfe\xfe\xce\xc3\x78\xfb\xb3\xf0\xe8\x1d\x47\x1e\xff\xdd\xbe\xc4\x30\xc3\x4e\x9e\xf5\xce\xf4\x07\x55\xad\x05\x96\x3c\xce\xb2\x6b\x6f\x67\xc9\xef\x31\x86\xbf\x30\x60\xe6\x99\xba\x0d\x1c\x0c\xf3\x6c\x53\x4c\x05\x2f\x6b\xc8\x5e\xb8\x81\x61\xc5\x56\x9e\x74\xac\xc7\xdc\x57\x96\x32\x4c\x5b\x8a\x23\xe7\x12\xb2\x97\xe1\xb2\x7b\x09\x8b\x6f\x60\xe7\xaf\xe1\xca\x91\x07\xad\x97\xde\x9a\x92\x1a\x03\x43\x1f\xfc\xaa\xe5\xb7\xa1\x55\xbe\x10\x39\xba\x58\xb1\x2b\x47\x24\x1c\x1b\x73\xeb\xe8\xe1\x09\xc7\x40\xcc\x03\xda\x8a\x96\x21\x3f\x17\x76\xf9\x9b\xbd\xcd\x7e\x57\x98\xf3\x0f\xb5\x54\x68\xd7\x75\xe0\xee\x8e\x75\xf7\xdf\xf0\xfa\x0d\x37\xbc\x7e\x03\x3e\xdb\x62\xd8\xba\xa5\xf7\xf3\x6e\x29\x62\xc6\xc1\xde\x2d\x72\x5c\xb0\xb9\x14\x1a\xda\x63\xc2\x92\x26\xa6\xca\x54\xa4\xd1\x14\x99\xaa\x98\xa6\x25\x42\xac\xfd\xb4\x48\x04\xdf\x94\xbc\xfe\xfa\xe4\xf8\xf5\xd7\x8b\xab\x0e\x1a\x2c\xef\x52\x74\x56\x0a\xbb\xf1\xae\xe4\xe9\x3d\xad\xa4\xca\xf7\x04\x69\x8c\x6a\xb4\x10\x9d\x81\x12\xd2\xfe\x39\xc5\x0b\x84\xf8\x5c\xcc\xec\x70\x02\x9d\xe4\x14\x70\xb1\xbe\x4e\xe6\x24\x63\x99\x3b\x1c\xe2\x84\x91\xdb\x4f\x88\xd1\xc6\xc8\x43\x6b\xf1\x9e\xd6\x5c\x69\xe2\x57\xf5\xce\x1c\xec\x5d\xa5\x2e\x6b\x5a\x1d\x64\x79\x9f\xbd\xa9\xbc\xde\x5d\x5f\xde\x64\xf7\xe1\x07\xad\xfa\xad\x52\x00\x65\x25\x3d\x86\x0b\x7a\xeb\x17\xc8\xaa\xff\x5c\x8a\x2a\xc2\x1c\xd4\x5b\xc9\xd9\xe3\xd7\x5f\x3f\x9e\xbc\xfe\x7a\xf1\x7b\xd5\x1d\xa7\x9d\xb1\xbc\xbe\x6f\x74\xb4\xaf\xe5\xcc\x6d\x2b\x02\x4c\x85\xd6\xa9\x56\xab\xd5\x4e\x6d\x05\x30\x7a\xeb\xb4\x14\x99\x59\x4e\xe7\x73\x85\x36\xc6\x4a\x47\xfb\x7c\x46\x1b\x55\xe2\xe4\xa8\xe4\x35\x49\x15\x6a\x45\x3d\x68\x35\x2a\x20\x84\x02\x5e\x3c\xa7\x01\x58\x1a\x11\x9e\x0d\x96\xad\x84\x4b\x99\x3d\x8f\xdb\xfc\x4f\xca\xf2\xf4\x10\x94\x0f\x0d\x90\xb6\xba\xcd\x42\xf3\xde\x1c\x21\x4b\xfd\x50\x3b\xd7\x52\xda\xd8\xd0\xd0\xd0\x58\xda\xc2\xb5\x0f\xd5\x5b\x96\x86\x30\x0a\xad\xdd\xf3\xc4\x9e\x3d\x4f\x30\xd5\xf3\x5d\xe9\xed\xc6\x99\x17\x8c\x76\xbb\x11\xb7\x19\xed\xc7\xb8\xd8\xa3\x2d\xbd\xe2\xfe\xf9\x07\x70\x88\x52\x68\x16\xee\x60\xef\x16\x58\x3f\x3d\x1e\x6d\x67\xca\x8c\x36\xb5\xda\x66\x2c\x63\xda\xa3\xe3\xd3\xeb\x71\x17\x6d\x7c\x8f\xf8\x9b\xb9\x03\x28\xc0\xd2\x46\x5b\xa6\x09\x68\x8f\xd6\xae\xa4\x32\x99\xaf\x93\xb2\x7c\xb6\xc8\xb1\x01\x4f\xe4\xdf\x1e\xe9\x49\x82\x2a\x49\xa0\x13\xfb\xa5\xa9\x2e\xec\x73\x01\x9e\xfd\x9e\x7c\xdc\x79\x1c\xc1\x7f\x52\xb6\x1e\xa3\x5b\x27\x39\x62\xe1\x24\x71\x6d\x18\xb4\x34\x24\xa2\xd0\xd2\x13\x19\x7b\xe9\xff\x80\xa5\xd3\x56\xfd\xa7\xdd\x72\xac\xef\xf9\xe7\x33\xc0\x56\x69\x66\xf9\xb4\x7b\x8e\xbd\xaf\x4d\xaf\x3f\x81\xc3\xf0\xb8\xc4\xde\x99\xad\x73\x8c\xfc\x70\x8e\xbb\x7f\x9d\xab\x3b\xe2\x63\x24\x85\xa4\x5a\x3e\x9f\xc5\x56\xe6\xa5\xa3\xbf\x84\x2d\xe8\xb8\xd8\x3e\x4e\xb4\x00\xa1\x3a\xe9\x10\xd2\x6a\x39\x48\xae\xb4\x46\x96\x0f\x95\x44\xa6\xd9\x93\x19\x67\x5d\x1c\x3f\x76\xec\x9e\xec\x7b\xf4\xa7\x8f\xf6\x4d\xee\x76\x6c\x83\xa5\x70\x2e\x2c\xbd\x58\xf1\x36\xc6\xef\xed\xfb\x48\x7c\xe8\x91\x87\x8f\x71\x18\xfc\xe1\x4d\x2f\x99\x96\xae\x5d\xbb\xd4\xf4\xd2\x4d\xd7\x7d\xfb\xdb\xf8\x3b\x72\x34\xf0\xf7\x20\x24\x5e\x23\x7e\xf7\xcf\xc7\x39\x16\x1e\xed\x97\x09\xd5\xa2\x46\x69\xaf\x86\xc3\x62\xb7\x1d\x75\xb3\x84\x50\x30\xa0\x1c\x1e\x68\xb7\x39\x2d\x7e\x47\x65\xd8\xe7\x56\x3a\x8b\x5f\x94\x5b\xba\xec\xb0\xf8\x90\x78\x95\xf8\xd0\x47\xfb\xf6\x1d\x66\x26\xae\x3d\xea\xd6\x78\x6d\xef\xe1\xdd\x90\xdc\x7d\xf8\x80\xd2\x61\x0e\xed\x3b\x2c\x3e\xf4\xf0\x77\xc5\x87\x0e\x5f\xbe\xef\xcf\xb0\x4c\x42\xff\x7c\xc9\x4b\x9f\xdd\x2c\xfb\x5a\x8a\x1f\xdc\xfc\xd9\x4b\xb0\x64\x7a\xfa\x76\xa5\xd7\xc7\xc6\x63\xa9\x90\x77\xdb\xc0\x31\x26\x2f\x3c\xeb\xc0\x60\xb7\x21\xa9\x57\x21\x93\xd5\x47\x3b\xed\xe1\x2a\x3d\x9c\xf4\x15\x91\x79\xa0\x79\xfd\xe6\xde\xc6\x17\x2e\x3b\xf2\xcd\xcb\x5e\x68\xec\xdd\xbc\xbe\x79\xd5\xea\x4b\x9e\x3c\xf4\xe4\x25\xab\xc5\xdb\x14\x5f\xec\x85\x1b\xcf\xb9\xe5\xea\x2b\xc5\x0b\xae\xbc\xfa\x96\x73\x36\xe2\xc3\x86\x96\x91\x3d\xaf\xec\xbe\xf1\xed\xb7\x6f\xdc\xfd\xca\x9e\x91\x16\xc3\x39\x57\x8f\x3d\x79\xc9\xea\xd5\x97\x3c\x39\x76\x35\xb6\x2a\x83\xf9\xec\xbd\xcb\xe3\x1f\x81\x8d\x3f\xef\x3c\x5e\xfc\xe3\x47\xf1\xcb\xe7\xce\x9b\x66\xe5\xf3\x16\x8a\x51\x0d\xea\x38\xe6\xd7\xe4\xf0\x1d\xf3\x53\x32\x57\x9d\x34\xb0\xd3\x5c\x34\xcd\x63\x7e\x0a\xab\xdb\x86\xde\x1c\x6a\x5b\x5d\x7f\xd1\xde\xa7\xf6\xee\x7d\x0a\x6e\x3f\x82\xac\x7a\x22\xaf\x92\x8e\x48\xba\x46\xd5\xfc\x20\xd5\xef\xde\x2d\xb0\x61\x7a\xc3\x86\xe9\x64\xac\x7d\xd9\xb2\xf6\x18\x3c\x2a\xa9\xf2\xe7\xfb\xd9\xad\x9f\xed\xd7\x5b\xad\xec\x4b\x9f\x75\xcf\x9a\x55\xc5\x22\x20\xa4\x9a\xb3\x05\x56\x54\x8a\x16\xa2\x53\xd0\x32\x74\x26\x12\xa8\x3d\x95\xbe\x43\x72\xd5\x1e\xf9\x73\x35\xed\xee\x97\x99\xd3\xe3\xcb\x75\x73\xf6\x52\x1e\xd1\x09\xe6\x75\x2e\x6a\x7c\xd5\xf1\xdf\x6e\xa7\x8d\xd5\xfd\xcd\xdd\xdf\xeb\x6e\xee\xaf\x36\x76\x35\xc2\x37\x1b\xbb\xa6\x25\x57\x18\x26\x63\x31\xcc\xc8\x81\x2e\x0f\x1a\x2c\xe2\xf4\xec\xe6\x48\x90\x0e\x5d\x51\xb6\x48\xc9\x5b\xa6\xe6\xee\xfa\x74\x9a\x47\x16\xc3\xa7\xdd\x06\x0b\x7f\xec\x0f\xbf\x3f\xb4\xf9\x74\x5f\x77\xb7\xef\xf4\xcd\xa1\xf0\x8a\x15\x70\x87\xe4\x6b\x23\xbe\x7b\xd4\x76\xce\x9d\xe7\x32\x2f\x99\x57\x09\x29\x89\x7f\xf3\x7f\xea\xff\x88\x8f\x73\x2a\xab\x28\x02\xfe\x32\x9b\x5a\x77\x5c\x99\x3d\xce\x03\xf6\x44\x1b\x7b\x72\x45\xa2\x7c\xec\x6a\x14\x37\x34\x76\xcd\xe3\xe6\xff\x9e\x8f\xd3\x9f\x22\xab\x9e\x3b\x78\xbc\xf9\xec\x0f\xaf\x58\x11\x9e\xe3\x24\xbc\x2e\x71\x71\xe6\xe8\xc1\x48\x7f\x39\x09\x13\x8f\xd6\x1d\xf9\x0e\xb3\xf5\x73\xaa\x96\xc7\x9a\x4c\x2c\x9d\x51\xf6\x3e\x87\x50\x89\x14\x9d\xd1\x84\x6b\xaa\xb1\xd9\x64\xf1\xfb\xc2\x5e\x46\x72\x72\x96\xde\x4c\x81\xdf\x61\x20\x35\xf4\x59\x86\x93\x4f\xb3\x0d\x58\x42\xb5\xf2\x96\x48\xcc\x4b\x1e\x36\xcc\x6f\x5f\x7e\xef\x9d\x43\x87\xde\x59\xda\xee\xa8\x0e\x05\x4f\xab\xf7\x56\xb5\x26\xee\xfb\xea\x3d\x7d\x7d\x70\x61\x81\x68\x16\x9e\x76\xd9\x59\x4b\x26\xcf\xea\xad\x8a\x24\xaf\x13\x7f\xf5\xcb\xbd\x7b\xdf\x81\xf2\x6b\xa7\xfe\xf0\xfc\x0d\x1b\x6e\xbf\xa4\x79\xf3\xa2\x8e\x5e\xfc\x27\xe8\x84\x76\xf1\x39\xf1\xfb\xe2\x0f\xc4\x1f\x99\x17\x2e\x1e\x5c\x58\x6e\x8a\x9c\x99\x14\xae\x15\xf7\x94\x0e\xa5\xce\xec\x71\x2f\x5d\x13\x2e\xcd\xff\x08\xea\x0f\x7c\x13\x16\xbe\x98\x3f\xf5\x6b\x4f\x7e\x7a\xf1\x53\xe2\x0f\xc7\x07\x4f\x5b\x36\x6b\x0f\x04\x35\x62\x6f\x42\x95\xc8\x8b\x6e\x40\x4f\x4b\x7b\x3c\x25\xb7\x29\x6c\x36\x59\xa5\xd7\x10\xca\x4b\x7a\x93\xe4\xf3\x5f\x37\xb7\xf3\x55\x92\x9f\xed\xa8\x9b\xc4\xec\xa9\x7a\x76\x9b\x7c\xfa\x5e\x30\x10\x9a\xef\x10\x61\x97\x3e\xfe\xcb\xde\x93\x76\x9b\xe4\xf4\xa3\xf8\x4c\x48\xaf\xd8\xfc\x3e\xa7\x8b\x71\xda\x5c\xac\xe4\x59\xe2\x96\xca\xc0\x9a\x8e\xfa\x0f\x84\x43\x66\x29\xbe\x90\x97\x95\xbf\xa9\x39\x2c\x4e\x07\xfc\xb0\xd2\x0e\xba\xae\xe8\x7b\xaf\x79\x32\x6e\x6b\x65\xd7\x48\xeb\xe4\x57\x7c\x1b\x70\xb1\xc1\xa6\x66\xbb\x6a\xca\x3f\x7f\xbe\xc4\x5d\x53\xce\xb4\x97\xb8\xdf\xe8\x2b\x3e\xc3\x63\xd2\xf2\x26\xb7\xd7\x5d\x53\x6e\x26\xc6\x85\xce\x5e\xa2\xd1\x2f\x72\xb0\x0c\xa9\x74\x87\x82\xee\x86\x72\x9f\x09\xc0\xc2\x95\x4e\x5e\xdf\xba\x64\xb0\xb5\xb8\xbc\xd4\x5a\xef\x5b\x5c\xbf\xd8\x53\x66\x52\x71\x44\xa5\xd1\x99\x35\xce\xb2\x05\x9a\xd2\xde\x53\x3b\xf0\x2b\x97\x58\x17\xad\x5c\x57\x69\x72\x2d\x5a\xa5\x7e\xa4\x3e\xb0\x28\x81\x1d\x5a\xab\x56\x55\x69\x1d\x3c\x77\x64\xab\x0e\x0b\xf6\x2a\x62\x3c\x07\xca\xe0\x22\x58\x0f\x66\x7f\xa2\xd4\x5a\xda\x15\x5f\xf3\xfc\x67\xe2\x6f\x5f\x5e\xbf\x91\x94\x98\x8a\x1d\x67\x97\x7b\xdc\x25\xe5\x1e\x37\x3e\xed\xc2\xa8\x7b\xb5\x4d\xa3\xe3\xd4\x0d\xbe\xf5\xde\xe5\xa1\x06\x56\xd7\xac\x77\x94\x2c\x37\x2e\x32\x16\xdb\x8b\xdb\x81\x61\x70\x8b\xab\xae\xd3\xeb\xed\xac\x1b\xe9\x5c\x68\x63\x59\x4c\x4c\xda\x85\xcf\xec\x0a\x4f\x4d\x24\x27\x03\xc1\xfa\x16\x93\x5a\x67\x2b\xb7\xfa\xfd\x4b\xbb\x5b\xa0\xca\x5c\x65\x77\x68\xcb\x9c\xc5\xeb\x6c\x83\xcb\xf7\xef\x15\x3f\xfc\x75\xe5\xd0\xe6\x8e\x0a\x93\x71\xc9\x5a\xed\x6f\xa0\x69\xf7\xa1\xf1\xc9\x09\x62\xd7\x39\xcd\x36\xb5\xb5\xea\xc0\x6e\xf1\x83\x6f\x35\xcc\x7f\xdf\x50\x24\xcd\xfa\xd6\x90\x9b\x07\x03\x38\x2a\x00\x42\x4e\x07\x0f\xed\xc0\xfb\xba\xc0\xe9\x38\x61\x13\xf6\x5d\x57\xab\x3d\x95\x47\xf6\x97\xdb\x4d\x45\xbf\xc4\x60\xd7\xf2\x5a\x31\x62\x72\x3a\x92\xef\x76\xe3\xe4\x49\xf6\x23\xfc\x1a\x7f\xb7\xd1\xad\x13\x1f\xd4\x96\x15\xf3\x03\xd0\x67\x50\xb1\x1a\xf1\xe2\x0f\x1c\x63\x77\xd5\xe2\x9b\x4e\xb6\xa1\x80\x9b\x3b\xdb\x49\x2f\x7d\x49\xf6\x4b\x71\x50\x91\xe2\xfb\x17\x0a\x9b\xfd\x66\x17\x38\x03\x6e\x8f\xb2\x71\x50\x52\xb1\xca\x50\xd8\x26\x9d\x13\x1e\x96\x36\x42\xda\xcd\x0e\xab\xb2\xf3\x86\xfe\x61\x6a\x59\x06\x17\x4d\x2f\x1a\x9c\xee\x5f\x9c\xd9\x9f\x59\xdc\xff\x38\x68\x1e\x9f\x96\x9d\xfc\xa6\x25\x78\xfa\xa0\xf4\x6f\x28\x93\x19\x5a\x1c\xb3\x93\x4b\x8f\x14\xec\xb1\xc5\x2b\x2e\x6c\x22\x88\x56\xcd\xa0\xa6\x0b\x57\xec\x79\xfc\xf1\x3d\x8f\x8a\x9f\x02\xff\xe8\xc3\xbb\xf1\xf3\xb4\x34\xd3\xbe\x1b\x2e\x91\x37\xd7\x48\x1b\x6c\xfe\x7f\xd1\x77\x7c\xe9\xcc\xff\xb3\x7d\x87\x4b\xc5\xff\x2b\x7d\x0f\xfa\xed\xff\xd7\xfb\x7e\xe9\xa5\xff\x9b\x9e\xcf\xef\xbb\x5a\x9a\x97\xe5\xde\xcf\xf5\xdd\xe7\xf8\x5f\xf4\x3b\xb3\x3f\xf3\xaf\xf4\x7a\xd5\xf6\xed\xab\xfe\xc7\x3d\x36\xcd\xc5\x60\x72\x23\xaf\x74\x5a\xfd\x20\x5a\x89\x36\xa0\x2d\x28\x8e\x52\x68\x07\x3a\x17\x5d\x88\xf6\xa1\xeb\xd0\xad\xf2\x89\x17\x30\x7b\x56\xa0\x17\xc2\x72\x6c\xb9\x2a\xb3\x72\x90\x4a\xc8\xe1\x0c\x87\x7c\x4e\xac\x1c\x49\xcd\x28\xfb\x80\x42\xb3\xe5\xd9\x3c\x20\xd7\xd4\x1e\x5f\x7f\xfc\xfd\x5f\x82\x3f\x8b\xc7\x1d\x97\xb3\x37\x68\x34\x33\xfb\x34\x25\x9a\x35\x1a\x4d\xe3\xa9\xd6\xb6\xa5\xf1\x6d\xd7\x7d\x81\xe8\x42\x7a\xdb\x53\x4b\xb6\xfc\x74\x4d\xa3\xa6\x44\x53\x25\x3b\xea\x6e\x92\x32\xd9\x91\x77\xe6\x6e\xc5\x79\x57\xf6\x08\x46\xc7\x54\xce\xbf\x51\x7c\x6b\x7e\x41\xb9\x41\xde\x81\xbc\x69\x5e\xca\xf2\x9a\x12\xda\x0f\xcd\x1a\x4d\x89\xa6\xf1\xcc\xff\x8a\x2e\xb9\x6e\xdb\xe7\x88\x45\x74\x55\xbf\x66\xa9\xa7\xbc\xa7\x51\xa3\x11\xef\x91\xf0\x36\x9d\x90\x06\xa4\x26\xa6\xbf\xe4\xea\x5b\x27\xd4\xb8\x4f\xa8\x41\xe6\x79\x67\xf5\xd5\xa1\x26\x29\x62\xea\x00\x5a\x81\xce\x41\x7b\xd0\x65\xe8\x5a\x74\x0b\xba\x0b\xdd\x8f\xbe\x8b\x9e\x44\x3f\x94\x76\x3c\x1d\x0d\xb6\x2f\x6d\x54\x9f\x2b\xb9\x3b\x00\x1d\xe7\xed\xed\x56\x72\xc7\x71\x65\xf7\x49\x56\x97\xa7\x80\x12\x0f\xcf\x21\xbd\x56\x74\xf0\xc0\x35\x83\x7b\xbe\xda\xf8\x1c\xe8\x4b\xda\xf9\xb2\xf6\x8f\xaf\x9f\x2d\x73\xd3\xf2\xe1\x88\x5d\x3d\x33\xa8\xa7\xcb\xaa\xef\xd6\x5b\xa7\x71\xb7\xa5\xcc\x62\x29\x5b\x23\xa5\x5e\x29\xbd\x6a\x1e\x2c\xa7\xcc\x1a\x79\xb5\x6e\x31\x6c\xbd\x6e\x5b\x72\xb9\x77\xac\xde\xa1\xd5\x36\x68\xb5\xe2\x73\x52\xe6\xa8\x55\x97\xd5\xf9\x83\xcb\xd8\x77\x0d\x96\x23\xd3\x27\x60\xbf\xfc\x0f\x6b\x64\x6a\x70\xf0\xe0\x81\xc2\xb3\x94\xc2\x0e\x87\x23\x65\x76\x3a\xcd\x8f\x15\x0e\x1c\x84\x7f\xa3\xd7\x2c\xde\x79\xa9\xe5\x84\x9a\x99\xb9\xc7\x03\x3c\xbd\xed\xba\x95\x56\x43\xe5\xb1\x9d\xf3\xe6\x7d\x35\xcb\x82\x33\xd3\x16\x38\x78\x02\xee\x9a\x7f\x58\x23\xff\x2f\xad\x19\x81\x3e\xef\xb2\x22\xd2\xa3\x6e\x74\x2a\xda\x2e\xfb\x78\xf1\x5c\xa5\xbc\x94\xab\x04\x1b\xe2\x39\xe9\xac\x64\xfa\x9f\x25\x18\xc0\xb5\xbc\x81\x48\x2b\x36\xba\x86\x04\xa7\x83\xf3\x78\x01\x87\x43\x96\x50\x6d\x38\xc4\x38\x2c\x73\xdb\x2a\x6c\xf2\x59\x79\x1e\xb7\xb4\x61\xce\x2b\x3b\xe1\x4a\xfb\xc1\x78\x03\x48\xfe\xe0\x38\x1c\x72\x01\x79\xdf\x5c\x51\xe4\x10\x8f\x38\x8a\x2a\xcc\x70\x10\xbb\xc4\x4f\xde\x54\x19\x80\x27\x0c\x06\xd5\x6d\xcf\x3c\x2c\xbe\xf0\xdd\xb3\xdf\xbf\x7d\x18\xe0\x07\xb7\xf1\x98\x10\x50\x61\x30\xaa\xae\x79\x7f\x4a\xc5\xef\x78\x1a\xc8\xe5\x77\x42\xf3\xdb\xbb\x67\xde\xdf\xfd\xd8\xee\xdd\x8f\xc1\x1d\xe3\x9b\x55\x26\xcc\x39\x79\xcd\xa2\xde\xc2\x73\xdb\xf7\x1c\xd4\x6b\xfa\x7a\x34\x7c\x11\x8b\x4d\xaa\xe1\x71\x4c\xbe\xfa\xce\x05\x57\xfc\xfd\x4a\xd8\xb8\x21\xfd\xc6\xc8\xa6\x4d\x23\x6f\xa4\x4e\xbf\x17\xd0\x61\xf1\xec\x0d\x44\xa7\x6e\xb1\x54\x1a\xd5\x64\x35\xf8\xbe\xf7\x10\x34\xdd\xab\xe1\x93\xf7\xff\xf6\x9c\xef\x89\x3f\x5b\x45\xd4\xf6\x22\x75\xb3\x4e\xad\x63\x16\xfd\x27\xb4\xde\x73\x39\xb0\xcf\xec\x52\x6b\xb6\x1f\x12\xdf\xae\xa3\x34\x77\x7f\x81\x76\xbd\xb6\x84\x53\x69\x02\x0b\x34\x9a\xd0\x55\x6b\xd2\x8f\x45\x74\xc6\x1f\xec\x39\xeb\xde\xc5\x1a\x4d\x7d\x40\xad\xe2\x96\xbe\x75\xce\xee\xf7\x2f\xe6\xf8\x0b\xff\xac\x9c\x4d\x2e\xef\x2b\xb6\x22\x54\x27\x45\x73\x3f\x2e\xca\x32\x62\xd1\xe7\x88\x53\x3e\xf7\xc8\xcf\xcd\xd3\x04\xc1\xd6\xf9\xcf\x2b\x20\xb7\x03\xd3\xc8\x88\xd0\xf1\xcf\x6f\xfc\x31\xb8\xef\x4a\xaf\x33\x95\x17\x43\x64\xee\x7c\x07\x82\x74\xc8\x8d\x50\x3d\x98\xeb\xb1\xb9\xca\x2c\xbf\x97\x55\xa2\x70\x1d\xed\xce\x5c\x9f\x08\x9a\x41\x0c\xc2\x68\x06\x6d\xed\xdd\x42\xd0\x96\xde\x99\xfd\xb3\x2f\x02\xf0\x56\xf9\x90\x73\x8c\x08\xfa\x02\x6d\xe9\xc5\x88\xd6\x8b\x73\x01\xff\x61\xab\x4c\xfb\xe8\xd8\x6b\x90\x1f\xa1\xba\x70\x28\xd0\x0c\x52\xe2\xae\x36\x82\xc7\x2d\x7d\x8b\xac\x80\xb9\x28\x28\x4e\x87\xef\x78\xde\x30\x5f\xbf\x4a\xa3\xf9\xdd\xef\x34\x9a\xab\x34\x25\x34\x2f\xd1\x1c\x57\xc6\xb9\xf9\x43\x7f\xe3\xcb\x6e\x53\xca\x8c\x75\x3e\x4f\xc9\xbc\xfe\xc9\xef\x7d\xfe\xe5\x73\x71\x8f\xeb\xe5\xef\x28\x9d\x03\x07\x64\x3a\x07\x0e\xc8\x74\xe7\x95\x8f\xe8\x4f\x14\x31\x1c\x38\xf9\xbd\x73\x65\xf1\x25\x06\x6d\x3d\xf6\x99\x75\xd6\xc6\x4b\xba\xa4\x86\x2a\x38\x61\x59\xef\x05\xdf\x4c\x56\xfc\x29\xbb\xf5\x24\x6b\x78\x88\xe3\xc0\xcc\x4f\xe0\xd0\xc9\xd6\xeb\xbc\xd4\x36\x96\x7c\x3f\xac\xa8\x06\x79\x51\x1f\xfa\x01\x7a\x15\x21\x70\x1b\xc0\xe9\xe8\x04\x96\x93\xb7\xc6\xf9\x9c\x0e\x9b\x73\x8e\x45\x32\x63\x3c\xb3\xd7\x1c\xb6\x3a\xe9\x67\x2e\x45\xed\xe1\x0d\x60\x0d\x49\x9f\x00\xf9\x4e\xa8\x80\x90\xa7\x13\xa4\x38\x22\x21\xb7\xc7\x4d\xcd\x81\x0b\x9c\x5e\xf0\xb8\xc3\x6e\x4f\xb5\xe4\x5d\x45\x9f\x35\x39\x3e\x14\xe6\x5c\xe0\xa4\xd7\x8d\x40\x29\x3b\x39\x9e\xb3\x39\xc2\x9d\x10\xf6\x62\xbe\x93\xf1\x3b\x24\x3f\x19\x87\x7c\x9d\x75\x38\xdd\x1e\x03\xe3\x70\x3a\x42\x16\xc9\xc7\xd4\xe9\x08\x9f\x10\x7b\x84\xd5\x1a\x17\xe8\xb4\x86\x80\x49\xdc\xa4\x72\xf2\x2a\x15\xef\x54\xf1\xb7\xd6\xe8\x6a\xf4\x6e\x9d\x4e\xce\xa6\x68\x15\xaf\x72\x98\xe0\xd2\xea\xab\x43\x6e\x2f\xb3\x74\x45\xb7\x1b\x3b\x78\x2b\x67\x20\x2c\xe1\xbf\x4f\x9c\x95\xd5\xdc\x82\x8d\x03\xd6\x06\x9d\x0e\xd7\x72\x40\xc8\xc2\x36\x4e\xb3\x6d\xdd\xe2\x64\x99\x8b\xaf\xf5\x57\x34\x6d\x30\x94\x2d\x36\xe9\x7d\x1e\xab\x57\xaf\xd7\x6b\x9a\x5a\xf5\x18\xf3\x50\xe7\x2a\x76\xd4\x08\xd5\x55\x9b\x1e\x36\x81\xc6\x68\xb4\x2f\x6c\xa8\x3f\xd5\x8a\xd5\x95\x66\x67\x5b\x51\x85\x5d\x6f\x50\xf1\x0b\xb6\xb1\x50\xa6\xd7\x33\x2e\x47\x85\xd5\x88\xd5\x35\xd8\x51\xdc\x60\x35\xe8\xad\x4d\xcf\x3d\x52\xb1\x61\x47\x69\xf3\xf8\x58\x97\xe7\x6f\xfb\x0e\x8b\x0f\x8a\xd7\x88\x0f\x4a\x12\x5b\x01\x49\x58\x71\x98\xa9\x35\x9b\x17\x58\xcc\x6c\xed\xab\x2a\x95\xca\x41\x87\xe4\x58\x53\xa3\xd7\xbb\xf5\xd5\xfa\x1a\x9d\xce\xa3\xab\xd9\x41\xeb\x55\x2a\x93\x63\x53\xf7\x42\x77\xd9\x8a\x91\x0d\x36\x57\x2d\xb6\x73\x76\x8d\xdd\xe8\xb0\x15\x89\x16\x5b\xb9\xc1\xa6\x59\x12\x36\xe9\xb5\x00\x4d\x4d\xb6\x7a\x8d\xa6\x68\x8d\x6f\xdd\x1e\x0d\xef\x6f\xf5\xc7\x96\x86\x8c\x4c\x77\x5b\x32\x6b\xd7\x5a\x8b\x4a\x00\x7c\x65\x76\xa3\xa3\x9c\x21\x65\xc3\x97\x06\x0d\x0e\xd3\x44\xb3\xb7\xfa\x91\x25\x26\xad\xce\x52\xbc\xc8\x61\xb6\x76\xb8\x30\xa7\x06\xd6\xc8\xf2\xc0\xd7\xd7\x05\xe3\x2d\xa3\xf9\xf2\x06\x8e\xe3\x7d\xf5\x5d\xa7\xf4\xf5\xba\x42\x25\x45\xae\x90\xbb\xb1\x52\x5b\xfc\x1d\x50\x6f\x0d\x9c\xd7\xb6\x79\xfd\x5a\x82\x61\xea\xa4\x7b\xd0\x61\xee\x3d\xec\x12\x84\xc0\xec\x90\xf6\x97\x77\x81\x9f\x58\x6b\x24\x8f\x44\xe5\x25\x54\x27\xd3\x05\x7e\x0e\xf3\x5e\xf0\xd4\x54\xb1\x41\x2a\x77\xab\xc5\xe3\x85\x66\x08\xb2\x55\xbe\x30\x55\x0c\x7a\x7f\x4d\x55\x35\x87\xb9\xd1\x07\xea\xea\xfa\x9b\xcc\x55\xa3\x06\x7e\xb4\xdc\xb8\x38\x74\xba\xf8\xdf\xa7\x6f\x02\xa1\xa6\xb5\xa3\xd9\xd7\x60\xd9\x7c\x06\xe7\x67\xaf\xfa\x43\x53\xe3\xcc\xd7\xc4\x8b\xce\xeb\x6b\x05\x15\xd1\xe2\xe6\xfe\xf3\x60\x27\x7e\xea\xd2\x3f\x70\x26\x86\xdd\x5c\x59\xb1\x61\x70\xe6\x17\x65\x46\xf6\xb4\x99\xed\xc0\x12\x82\x9b\x4e\xdd\x27\x3e\x25\x3e\x73\x5e\xbf\x0f\x54\x33\xaf\xae\x5c\xc6\x68\x8b\x3d\x9d\x0d\x6f\xd6\x89\x6b\x3a\x58\x0e\x74\xf1\x62\x7d\x4b\x18\xef\x86\xab\x3e\xee\xf0\xea\x8b\xe2\xba\xd2\xfe\x99\xcd\x67\x9d\x3d\x55\x30\x2b\xdf\x43\x24\x1f\x17\x33\x6a\x44\x2d\xa8\x13\xad\x55\xde\xdc\xd9\x6d\x0e\x03\x53\x63\xf6\xb9\x48\x19\xb0\xb4\x80\x25\x87\xeb\xc5\x84\x2e\xb1\xa5\x4a\xbf\xb9\x06\xfc\xe6\x1a\xde\xed\xa9\x31\xfb\xcd\x56\xbf\x95\x0d\x78\xbc\x6c\x75\x4d\xf5\x42\x30\xfb\xfc\x8e\x90\xc7\xcd\x06\xe5\xfd\x1c\xc1\x1a\xb3\x3f\x7c\xd2\xfd\x2a\x37\x02\x60\x56\x65\x50\xab\x0d\x2a\x16\xc3\x62\x00\x46\xab\x52\xb3\x0c\x61\x38\x96\x53\xb1\x04\x3e\x7f\x67\xd7\x2e\xf8\xce\xb6\xdb\xca\x6c\xba\x5b\xc7\x9b\x96\x2f\x84\x03\x2c\x31\x59\x2a\xed\xf5\x66\xbb\x8a\x39\xd3\x56\x7b\xa0\x8d\x00\x74\x30\xc6\xea\x72\x6f\x45\x21\xc5\xbb\x9a\x7d\x95\x0f\xcd\xff\x24\x87\x7f\xf5\x30\xe3\x50\x99\x78\x15\x81\x20\x56\x11\x13\xeb\x88\x4e\x81\x53\x65\xe4\xd4\x9a\x9b\xb0\x86\xd7\x72\x2a\x42\x38\x4e\xcb\x1a\x3e\x84\x37\xc5\x05\xf0\xe6\x2f\xaf\x39\x4d\x5c\x00\x6d\xe2\x0b\xd0\x65\xe8\x73\x9a\x8a\x4d\x3a\x96\x88\x0b\xc0\x7f\x53\xe7\x6d\x7b\xca\x2b\x6b\x8c\xd5\x37\x8a\x0b\x5c\xb5\x1d\xc4\x72\xdc\xb7\x0e\x16\xb5\x7c\x81\x55\xcb\xd8\xbf\x23\x1d\xb2\xa3\x12\xb4\x16\x5d\x8e\x10\xeb\xf6\x48\xa7\x96\x39\x10\x35\x2b\xcd\xc0\xf1\x0e\x2b\xb5\x26\x10\xc0\xd2\x49\x8f\x3c\xc7\x77\x92\x0a\x70\x11\xde\x6d\xc0\xbc\x0b\x3b\x1d\x9d\xb8\x4b\x8e\x44\xc0\x73\x2c\xe7\x71\x11\x29\x04\xa1\xc5\xca\xf1\x1c\x96\x36\xba\x73\x35\x95\x88\x54\xbb\x6b\x38\x17\xae\x00\x87\xd3\x4b\x9a\xc1\xcb\x79\x5c\xd8\xa9\x2c\x8c\xa8\x29\xab\x65\x9c\x0e\x0b\x33\xc9\xb1\x7a\xef\xb9\xe3\x85\x0a\xf3\xad\xbd\xb0\x46\xdc\x7c\x6f\x71\x25\x61\xd6\xd5\xb1\xbb\x16\x56\x37\xba\xd8\xfd\x67\xbf\x22\xbe\x73\xdb\xd5\xe2\x27\xdb\x5c\xc6\xc5\x77\x7f\x7d\x6f\xfd\x82\xaa\x05\x6a\x86\x9c\xfb\xe3\x3b\x76\x0d\x32\xc6\xb6\xea\xaf\x7c\xfa\xd0\x95\x75\x75\x8e\x9a\x12\xc6\x10\x3c\x24\xce\xec\x7d\xb8\xfe\x92\x8b\xce\xf1\x78\x2e\xdf\xf9\xfd\x0f\x97\x1a\x4a\x06\xff\xf3\x67\x2d\xd5\xa7\x9e\x59\x5b\x27\xfe\x5a\x1c\x58\x0a\x1c\xe6\xcc\x35\x75\x7a\x83\xca\xbb\x64\xdc\x57\x4e\x30\xdb\xbe\xa0\xb7\xd5\x5f\xad\xb2\x76\xdd\xd1\x8d\xb5\x6b\xeb\xf7\x96\x05\x8d\xd5\x95\xb7\x42\x0d\xb4\x5f\xf7\x8b\xf7\x7f\x08\x44\xe5\x8a\x4d\xdc\x77\x3a\xa9\x7e\x4d\x7c\x1d\x9f\x52\xb6\xfc\x91\x50\x70\xcd\xbe\x1e\xdc\xd2\xbd\xce\xeb\x10\x6f\xbd\x1d\x6a\x5f\x3d\x27\xb1\x75\x51\xdc\xdf\x63\xe7\x18\x02\xe5\x75\x75\x1a\xad\xbd\x77\xc5\xe2\xda\xed\x1f\x2f\xe2\xea\x7b\xfb\x8b\x8b\x4c\x6a\x6b\x71\xa4\x28\x52\x67\x63\xb6\xde\xbe\xb9\x47\xab\x73\xba\xa3\x70\x36\xa8\xf7\xae\x38\x24\xfe\x21\x57\xa5\x2d\xd1\x10\xd8\x04\x7a\xf0\x9d\x93\x38\xb3\xa4\x44\x37\xe8\xbe\xf8\xf2\xdd\x0d\x0d\xd8\x6e\x2c\x29\x2a\x2d\xd5\x69\x2a\x16\xab\x2a\xaf\xbd\xec\xc5\x3b\x72\xd1\xb2\x6a\xe3\xd2\xc5\xee\x95\x39\x71\x10\xb1\xa8\xee\x0b\x1d\xf7\x26\xfb\x09\x72\xa2\x16\xd4\x8d\x4e\x97\x4e\x9c\x0a\xb9\x3d\x4a\x68\x34\x17\x76\xba\xf8\x10\x18\x30\x53\x4b\x57\x99\x9d\x24\xcc\x95\x80\x0e\x6a\xc3\x21\xde\x86\x6d\xd2\x19\x42\xd2\x07\x19\x60\xbd\xd0\x08\x3a\xe0\xb0\xd3\x8d\x3b\x19\x29\xbe\x3c\x09\x21\x4f\xb5\xc7\x1d\x76\x31\x06\xc2\x77\x12\xb6\xa3\x7c\xc9\x86\x45\x7b\x05\x8b\xce\x58\xe3\xac\x58\x54\x5a\xdb\xb5\xb0\xae\xc8\xa6\xd7\x6a\x60\x7b\xe0\x99\x3f\x8a\x7f\x11\x3f\x3b\xfc\xd0\x28\x0b\x46\x8d\x9b\xf1\x8f\xfd\x05\xd6\xc1\x56\xd8\x94\xb7\xe1\x8f\x57\x5f\xf4\xc4\xa1\x27\x2e\x5a\x2d\x67\x90\xe9\xf9\xad\xf8\x27\xf1\xc7\xe2\xdb\xa2\xf8\xf0\x90\xab\x95\x5d\xbe\xef\xc9\xf7\x3e\xfa\xdb\xfb\x3f\x5d\x56\xb5\x68\xb1\x4e\x7c\xe3\xef\x2a\x8c\x4b\xce\x79\xf9\xa2\xad\x76\x67\xec\xca\xf7\x2e\x4a\x3e\x7e\xfb\x08\x3e\xdc\x78\x5f\xbb\xa7\xdc\x56\xea\xd4\xb0\x84\x31\x6a\xf4\x75\x75\x0b\x6a\xab\x8a\xf4\x30\xf3\xe3\xf3\x1e\x8b\x14\xf9\x77\x1f\x04\xe7\x9d\xf5\xa7\xd7\xef\xd4\x1f\x12\x2f\x14\xc5\x1b\x75\xb7\xdf\x59\xaa\x67\x70\xc5\xa1\xa7\x2e\x59\xbd\xfa\x92\xa7\xe4\x8c\xbb\xfa\x50\x54\xb5\xfa\x81\xbf\x89\x77\x3e\x7f\x3b\x34\x7d\xf2\xf2\xd7\x85\x7a\xe7\xfa\x3b\x73\xbe\x7d\xe2\xf9\x9f\xc0\xc6\x7e\x96\x25\xcc\x59\xd7\x3c\xf9\xf3\x9f\x3d\x71\xd5\x19\xd8\x15\xbb\xea\x67\xb2\x3f\x89\x64\x63\xa4\xef\x80\x15\xa8\x19\x75\x49\x3e\xdd\x69\x74\x1e\xba\x1c\xdd\x86\xbe\x8d\x90\xd5\x5e\x53\xdd\x01\xf4\x2f\x70\x0a\x04\x03\xfe\xff\xd3\xf2\xf1\x6b\x21\xb0\xdb\x16\x4a\x7f\x41\xbf\xaf\x1c\xfc\xbe\xe0\xff\x61\xf9\x60\xc6\xd4\x62\x32\xb5\x98\x32\xff\x24\x67\xfe\xbd\x6d\xc1\x91\x83\x0b\xda\xda\x16\x90\xee\x05\x6d\x80\xfe\x05\x14\x29\x07\x34\x6d\x32\x99\x2a\x4d\xa6\x7f\x19\xda\xff\x59\x37\x25\xc3\x52\x62\x9f\xab\x68\xcd\xb4\xc9\x74\xf8\x9f\xe4\xb2\x0f\x61\xf3\x17\x88\x5b\xcd\x21\x74\x05\x5d\x6b\xca\xfb\x70\x9b\xe9\xd3\x94\xdb\x43\xea\xcc\x4e\x17\x18\xc0\xdd\x0c\xd2\xbe\x93\x0e\x7a\x4d\x3a\x62\xc5\xcc\x12\x03\x7d\x84\x9e\x75\xf5\x93\xe2\xa7\x38\xd9\x26\x60\xa5\x5d\x07\xb3\x35\x15\xe0\x71\x87\x1c\x4e\x2b\x6b\x96\x03\xac\x28\xa1\x8b\xcb\x21\xdc\x09\x2e\xe0\x8c\x60\xae\xb3\x76\x82\xc3\x08\xf2\xee\x5e\x23\x48\xe4\x6a\xaa\x3d\x75\x7a\xa8\x0b\xb9\x80\xe3\x5c\xf7\x3c\xe6\xd4\xeb\x0d\x3e\xe7\x63\x61\xbd\x6f\x89\x3e\x2e\xfe\xf9\x90\x09\x17\x55\xd5\x9b\x32\xee\x80\x3b\x63\xaa\xaf\x2a\xc2\xa6\x43\xe2\x9f\xe3\xfa\x25\x3e\x7d\xf8\x31\xa7\xcf\xa0\xd7\x3b\x1f\xbb\xa7\xbc\x44\xdd\x50\x0e\x21\x29\x30\xe4\x8b\x8c\xba\xb4\x9a\x29\x29\xa5\x0d\x95\x04\x1c\x4a\x3b\x60\x3c\x49\x3b\x60\x3c\xae\x9d\xd2\x12\xa6\xba\x54\xcd\x88\x2f\x4a\x31\x2d\x43\xe5\x0d\xea\x12\xb8\xa3\x6a\x5c\xef\x77\x3a\xf5\xfa\x6d\xfb\xdd\x7e\x4d\x1d\x34\xde\x2c\x3e\xff\xa1\xa5\xa1\xc2\xaa\xb2\x4c\xbf\x5e\xe2\x76\x97\xbc\x3e\x6d\x51\x59\x2b\x1a\x2c\x1f\x42\xfb\xcd\xe2\xab\x75\x1a\xbf\x7b\xff\x36\xbd\xde\xe9\xf4\xeb\xc7\xab\x38\x6f\x73\x15\xd7\x79\xcb\x2d\x9d\x50\xdb\xd8\xc0\xd2\x96\xbc\x06\x83\xdc\x90\xf8\xea\xcd\xd0\x7e\xf2\x86\xc4\xe7\x6f\x86\xc6\x63\x1b\x62\x1b\x1a\x6b\x81\x36\xc4\x55\x35\x7b\xd1\x31\x3e\x7e\x16\xfa\x44\x05\x74\x91\x4b\x27\x15\x8e\xce\x2a\xb5\x16\x35\x38\x2c\x3c\x87\x19\x9e\x05\x37\x7d\x46\xae\x0d\x87\x6a\xd9\x67\xf8\xa1\xab\x0e\x15\xf2\x6f\xdf\x95\xe0\xf9\xa1\xab\x7e\x5e\xb8\x09\x6c\xdf\x82\x25\xe2\x1d\x3b\xa7\x34\xda\x87\xc5\x57\x1f\x3e\x52\x0c\x67\x4a\x30\x34\x3d\x7c\x0f\xbe\x11\x0f\xef\xf8\x8f\xdb\x05\x9e\x5f\x79\xf9\xcf\x0a\x12\xa4\xbe\x08\x7d\xc1\x74\x88\x77\x16\xc4\x17\xef\x7e\x44\x7c\xe1\xf9\xe2\xaf\xc2\x99\x79\x08\xdf\xfd\x3d\x68\x7b\xbe\xd8\xb1\x51\x7e\xff\xa8\xc4\xff\x33\x20\x0b\x72\x20\xb7\xe4\x71\x6e\xad\xd1\x42\x8d\xd5\x13\x76\xf2\xc0\x92\x26\x70\xf2\x9e\x3a\x27\xef\x61\xfe\x59\xb8\xbe\x87\xee\xf0\x7f\xfb\xbe\xd6\x07\x57\xda\x0f\xdb\xc5\x01\x68\xb9\x40\x3c\x04\x6f\x1d\x1e\xfd\x08\xce\x7b\x7a\xcd\x53\xb8\x83\x4e\x68\xe2\xb3\xe2\x3b\xaf\x9c\x7d\xf6\x2b\x50\x0d\x9d\x50\xfd\xca\x1f\x4f\xf6\xbc\x71\x44\x7c\x04\xb6\x88\xdf\x80\x1d\x55\xad\x71\x1f\x4e\x5c\x20\x1e\xba\x60\x72\xf4\xa3\xf8\xa6\xd5\x4f\xad\xde\x22\x61\x9d\x3d\xbf\x25\x3c\x79\x92\x55\xa1\x0e\xb9\xbf\x00\x7e\x13\xfb\x05\xda\x88\x46\x50\x12\x4d\xa2\xf3\xd1\x7d\xe8\x11\xf4\x2c\x7a\x09\xbd\x89\x3e\x40\x1f\x22\x04\x5e\xe2\x71\x77\x82\x47\x0e\x29\x4c\xaa\xbd\xe0\xf1\x72\xd2\x23\x06\x91\xcf\xbb\xe2\x0d\xc4\xce\x49\x8f\x10\xd2\x53\x82\xd3\x21\xbf\x95\x08\x49\x2f\x23\x9c\x3e\x69\xbe\xa7\xb3\x4e\x88\x71\xc8\xaf\x2f\x3a\x01\x1c\x06\x90\x00\x07\x52\xde\x5b\x80\xd3\x41\x2b\xbd\x10\x0a\x87\x1c\x56\x07\xe6\x39\x0f\xbd\x45\x79\xdf\xe1\xc5\xa1\x30\xfd\xd9\x49\xf1\x4a\x43\x2e\xc2\xbb\x30\x07\x4a\x6b\x32\x82\xd4\x9e\x14\xd6\x88\x56\xcb\xcd\xc0\x1c\x3d\xc7\xfc\x9b\x3d\xf2\x1d\x9d\xe0\x60\x43\x4c\x73\xa0\x89\xb0\xcb\x97\xb2\x86\xd1\x26\x17\x61\x30\x4f\x78\x96\x27\x44\xc7\x69\x55\x5a\x2d\xe7\xaa\x2d\x05\x93\xda\xae\xd3\x86\x5c\xf5\xdb\x9c\x26\x5f\xdd\x42\xc7\xea\x41\x57\xbd\x85\xbf\x82\xe5\x2a\x0c\xa5\x1c\x1e\x01\xce\x3f\x68\x63\xd6\x0e\x71\x36\x7b\x39\x83\xcf\xe3\x75\xbe\x56\x73\xff\x32\xdf\x91\x1e\xce\x64\x34\x14\x13\x62\x2a\xc3\xa7\xeb\xf8\xea\x7a\x9d\x96\xaf\xae\x9f\xb1\xd7\x76\x95\x94\xe8\x2c\x96\xae\x92\x12\x96\xb1\xea\xda\x7a\xdc\xba\xd2\xb2\x9e\xaf\x0e\x04\x93\x9b\x26\x6c\xe7\xdf\xda\xa1\x83\xd1\x4f\x96\xf8\xc8\xda\xc9\x06\x77\x67\x2d\x13\xdc\xd6\x5f\x79\xe1\x6d\x0f\x2c\x39\xf5\xa2\xa9\x8d\xcd\x5c\x60\xd0\x5e\xf9\x79\xd6\xa0\xb6\x59\x5b\xf5\x52\xfa\x2d\xc6\x52\x5d\xc6\x10\xab\xc9\x5c\xc6\xdc\xc5\xd8\x6d\xd6\x6a\x95\xdd\x66\xab\x9a\x49\x9a\x8c\x65\xa5\x1d\x26\x93\x31\xd4\x89\x3f\x63\x4c\x46\x23\xed\x86\xd1\x50\xfc\x84\x51\xed\x70\x84\x5c\x9a\xc6\x20\x78\x8b\x6c\x50\x54\xd2\xfc\xe8\x03\x1e\x01\x83\x19\x63\x20\x40\x18\x82\xf5\xac\x86\xe5\x08\xb0\x26\x27\x18\x79\x3d\xc6\xa5\x7a\x8b\xb7\xa1\xec\xb2\xb3\xaf\x80\x81\x18\x83\x4b\xaa\xf4\x50\x50\x69\x0d\xbc\xd1\x6d\xf9\x58\xeb\xae\x73\xba\x55\xf7\xde\xa6\x2e\x07\xb7\x49\xfc\xb4\x2c\x18\x2b\x52\xeb\x49\xc5\xbd\x2e\x99\x58\x09\x27\xbe\x65\xae\x2f\x52\x99\x69\x42\x42\x21\x9d\xd5\xd2\x5d\x52\xaa\xb3\x58\x67\xa0\xac\xcf\xad\x6b\xeb\xb5\x59\x75\xb8\x7b\xbb\xf8\xe9\xf2\x2e\x32\xb4\x85\x0d\xab\x61\x49\xd3\xd8\x69\x67\x1a\xb6\x5f\x7e\xfb\xa2\xc5\x17\x65\xd7\xaa\xd7\x9f\xdb\xee\x0c\xdb\xf9\x9e\xe1\xbd\xa7\x99\xd6\x6c\x1d\xc5\x19\x5b\xab\xc1\xa0\xb6\x49\x29\xb0\xa6\x72\x95\xd5\x6c\x2e\x63\x18\xeb\x91\x53\x6c\xd5\x0c\x63\x5f\x50\xcd\x32\x4e\xb2\xad\xb4\xcb\x64\x32\x96\x96\x75\x56\x9b\x66\xd6\x19\x8b\x19\x62\x36\x18\x4b\x08\x31\xbd\xef\x08\x99\x8c\x9a\xc6\x50\xa5\x06\x21\x54\x04\x6e\xf9\xc4\x69\x84\x50\x33\xda\xaa\xc0\x80\xb4\xe8\x5e\x05\xc6\x88\x47\x3f\x50\x60\x82\xcc\xe8\xb0\x02\x33\x48\x0b\x25\x0a\xcc\x22\x0b\x2c\x57\x60\x0e\x69\x61\x52\x81\x79\xb4\x1a\x7b\x14\x58\x85\x74\xf8\x6a\x05\x56\x23\x0d\x7e\x58\x81\xb5\xc8\x8e\xff\xa4\xc0\x06\xe4\x22\x3d\x88\x20\x60\xd4\x08\x21\xf9\x8d\x12\x85\x01\x39\xd0\x15\x0a\x8c\x91\x01\x3d\xa4\xc0\x04\x55\xa3\x9f\x28\x30\x83\x1c\x80\x15\x98\x45\xb5\xe0\x56\x60\x0e\x39\x60\x58\x81\x79\xf4\x0d\xd8\xad\xc0\x2a\x54\x84\xa7\x14\x58\x8d\x6c\x78\xbf\x02\x6b\x51\x03\x7e\x46\x81\x0d\x68\x31\x21\xa8\x0f\xa5\x51\x06\x4d\xa1\x2c\x4a\xa0\x51\x34\x86\xf2\xa8\x12\xf5\xa3\x08\xda\x81\x04\x54\x89\x96\xa0\x08\x4a\xa1\x18\x9a\x42\x95\xc8\x87\x5a\x50\x2b\x0a\x21\x2f\xaa\x44\x3d\x28\x89\x92\xa8\x72\x1e\x56\x4e\x2a\x09\x28\x87\x04\x94\x95\xb0\x63\xc8\x8b\x50\x5f\x3a\x33\x95\x4d\x8c\x8e\xe5\x2b\xfb\x23\x3b\x84\xca\x25\x91\x54\x6c\xaa\xd2\xd7\xd2\x1a\xf2\x56\xf6\x24\x93\x95\xd2\xa5\x5c\x65\x56\xc8\x09\xd9\x1d\x42\xcc\x8b\xd0\x20\x4a\xa3\x14\xca\xa3\x1e\x34\x29\xb5\x96\x46\x13\x48\x40\x68\x30\x9d\xca\xf7\x4c\x0a\xb9\xf4\x84\x80\xd0\x1a\x24\xa0\x51\x54\x40\x49\x14\x41\x59\x84\xd6\x08\xa3\x85\x64\x24\x4b\x71\x57\xa1\x95\x68\x1d\x5a\x8e\x7a\x50\x2f\x5a\x84\x56\xa1\x75\x68\x10\x0d\xa0\x8d\x68\x08\xad\x42\x6b\xd0\x3a\x84\x06\x57\xad\x5c\xb7\xbc\xa7\x77\xd1\xaa\x75\x83\x03\x1b\x87\x56\xad\x59\xf7\xaf\x51\xdc\x20\x8d\x2a\x87\x12\xd2\xbd\x95\x28\x80\xbc\x28\x8c\xbc\xa8\x65\x1e\x5f\xd0\x06\x21\x9b\x4b\xa4\x53\x95\x01\x6f\xd8\xdb\x22\x0d\xf2\x5f\x6b\x7c\x08\x25\x91\x80\x22\x12\xeb\x64\x26\xc6\x25\x72\x95\x28\x8f\xd2\x52\x3a\x26\x5d\x39\x99\xa8\x28\x4e\x14\xe5\xe7\x3a\x16\x47\x69\x05\x53\xc6\x89\x2b\xf4\x69\x4d\x16\x45\x50\x0c\x09\x68\x42\x62\xdb\x38\xaa\x44\x11\x94\x97\xea\x13\x68\x04\x15\xe6\xb5\x92\x42\x69\xa9\x14\x95\xfa\xec\x45\x68\x28\x29\x44\x72\x42\x65\x56\x88\x0b\xd9\xca\x7c\xba\x32\x3f\x26\x54\x1e\x15\x6d\x4e\x88\xe6\xe9\xc0\xe3\xe9\xac\x74\x25\x9e\x4e\xe5\x2b\xf3\xd9\x48\x4c\x98\x88\x64\xc7\x2b\x23\xf9\x7c\x36\x31\x52\x90\x6e\x49\xa5\xf3\x89\xa8\x90\x53\x04\x9d\x95\x7a\x76\x02\x6f\xb2\xf9\xca\x39\xe6\x9c\x4c\x17\xd1\x51\x5d\x42\x12\x1f\xf2\x28\x83\x16\xa1\x66\xd4\x3c\x37\xde\xc8\x31\x6d\x7a\xa5\x91\xa1\xb1\x7c\x3e\xb3\xa8\xb9\x99\x76\x2f\x22\xb7\xef\x4d\xa4\xff\x27\x2d\x34\xa3\xa4\xc2\x95\x94\xc4\xf9\xe6\x2f\x69\xb3\x39\x99\x88\x0a\xa9\x9c\xd0\xac\xac\x71\xfe\xd1\x3f\xfc\x7d\xc9\x26\xd1\x5f\xf7\x3e\x74\x29\xba\x04\x5d\x86\xae\x40\x57\xa2\xaf\xa1\xab\xd0\xe5\x40\xcd\x35\x03\x2c\x70\xc0\x83\x0a\xd4\xa0\x01\x2d\xe8\x40\x0f\x06\x30\x82\x09\xcc\x60\x01\x2b\xd8\xc0\x0e\x0e\x70\x42\x11\x14\x43\x09\x94\x42\x19\x94\x83\x0b\x2a\xa0\x12\xaa\xa0\x1a\x6a\xa0\x16\xea\xc0\x0d\x1e\x58\x00\xf5\xd0\x00\x0b\xa1\x11\x9a\x80\x3e\xd6\xb7\x40\x2b\xf8\xc0\x0f\x01\x08\x42\x08\xc2\xd0\x06\xed\xb0\x08\x4e\x81\xc5\xd0\x21\xbd\x2c\xea\x86\x1e\xe8\x85\x3e\xe8\x87\x01\x18\x84\x25\x70\x2a\x9c\x06\x4b\x61\x19\x2c\x87\x15\xb0\x12\x56\xc1\x10\xac\x86\x35\xb0\x16\xd6\xc1\x7a\xd8\x00\xa7\xc3\x46\x38\x03\x36\xc1\x99\x70\x16\x6c\x86\x2d\x30\x0c\x5b\x21\x02\x23\xc8\x80\x3e\x42\x7a\x88\x42\x0c\x04\x88\xc3\x28\x8c\x41\x02\xb6\xc1\x38\x24\x61\x02\x52\x90\x86\x0c\x6c\x87\x2c\xe4\x20\x0f\x05\xd8\x01\x93\xb0\x13\xa6\x60\x17\x7c\x05\xce\x86\x73\xe0\x5c\x38\x0f\xa6\xe1\x7c\xb8\x00\x76\xc3\x57\x61\x0f\x5c\x08\x7b\xe1\x22\xb8\x18\x2e\x81\x4b\xe1\x6b\x70\x19\xec\x83\xcb\xe1\x0a\xb8\x12\xae\x82\xab\xe1\x1a\xb8\x16\xae\x83\xaf\xc3\xf5\x70\x03\xdc\x08\x37\xc1\xcd\x70\x0b\xdc\x0a\xb7\xc1\x7e\xb8\x1d\xbe\x01\x77\xc0\x9d\x70\x17\xdc\x0d\xf7\xc0\xbd\x70\x00\xbe\x09\xf7\xc1\xb7\xe0\x7e\xf8\x37\xf8\x36\xfc\x3b\x3c\x00\xdf\x81\x07\xe1\x21\xf8\x2e\x3c\x0c\x8f\xc0\xf7\xe0\x51\x78\x0c\x1e\x87\x27\xe0\x49\x78\x0a\x9e\x86\x83\xf0\x0c\x3c\x0b\xdf\x87\x1f\xc0\x0f\xe1\x39\x78\x1e\x5e\x80\x1f\xc1\x8b\xf0\x63\xf8\x09\xbc\x04\x3f\x85\x9f\xc1\x21\xf8\x39\xbc\x0c\xaf\xc0\xab\xf0\x1a\xbc\x0e\x6f\xc0\x9b\xf0\x1f\xf0\x16\xbc\x0d\xbf\x80\x5f\xc2\x3b\xf0\x9f\xf0\x2e\xbc\x07\xef\xc3\xaf\xe0\x03\xf8\x35\xfc\x06\x7e\x0b\xff\x05\xbf\x83\xdf\xc3\x1f\xe0\x8f\xf0\x27\xf8\x10\x3e\x82\xc3\xf0\x67\xf8\x0b\x7c\x0c\x9f\xc0\x5f\xe1\x6f\xf0\xdf\xf0\x77\xf8\x14\x3e\x83\xcf\xe1\x08\xcc\x80\x08\x5f\x60\x84\x01\x63\x4c\x30\x83\x59\xcc\x61\x1e\xab\x50\x35\x56\x63\x0d\xd6\x62\x1d\xd6\x63\x03\x36\x62\x13\x36\x63\x0b\xb6\x62\x1b\xb6\x63\x07\x76\xe2\x22\x5c\x8c\x4b\x70\x29\x2e\xc3\xe5\xd8\x85\x2b\x70\x25\xae\xc2\xd5\xb8\x06\xd7\xe2\x3a\xec\xc6\x1e\xbc\x00\xd7\xe3\x06\xbc\x10\x37\xe2\x26\xec\xc5\xcd\xb8\x05\xb7\x62\x1f\xf6\xe3\x00\x0e\xe2\x10\x0e\xe3\x36\xdc\x8e\x17\xe1\x53\xf0\x62\xdc\x81\x3b\x71\x17\xee\xc6\x3d\xb8\x17\xf7\xe1\x7e\x3c\x80\x07\xf1\x12\x7c\x2a\x3e\x0d\x2f\xc5\xcb\xf0\x72\xbc\x02\xaf\xc4\xab\xf0\x10\x5e\x8d\xd7\xe0\xb5\xe8\x65\xbc\x0e\xaf\xc7\x1b\xf0\xe9\x78\x23\x3e\x03\x6f\xc2\x67\xe2\xb3\xf0\x66\xbc\x05\x0f\xe3\xad\x38\x82\x47\x70\x14\xc7\xb0\x80\xe3\x78\x14\x8f\xe1\x04\xde\x86\xc7\x71\x12\x4f\xe0\x14\x4e\xe3\x0c\xde\x8e\xb3\x38\x87\xf3\xb8\x80\x77\xe0\x49\xbc\x13\x4f\xe1\x5d\xf8\x2b\xf8\x6c\x7c\x0e\x3e\x17\x9f\x87\xa7\xf1\xf9\xf8\x02\xbc\x1b\x7f\x15\xef\xc1\x17\xe2\xbd\xf8\x22\x7c\x31\xbe\x04\x5f\x8a\xbf\x86\x2f\xc3\xfb\xf0\xe5\xf8\x0a\x7c\x25\xbe\x0a\x5f\x8d\xaf\xc1\xd7\xe2\xeb\xf0\xd7\xf1\xf5\xf8\x06\x7c\x23\xbe\x09\xdf\x8c\x6f\xc1\xb7\xe2\xdb\xf0\x7e\x7c\x3b\xfe\x06\xbe\x03\xdf\x89\xef\xc2\x77\xe3\x7b\xf0\xbd\xf8\x00\xfe\x26\xbe\x0f\x7f\x0b\xdf\x8f\xff\x0d\x7f\x1b\xff\x3b\x7e\x00\x7f\x07\x3f\x88\x1f\xc2\xdf\xc5\x0f\xe3\x47\xf0\xf7\xf0\xa3\xf8\x31\xfc\x38\x7e\x02\x3f\x89\x9f\xc2\x4f\xe3\x83\xf8\x19\xfc\x2c\xfe\x3e\xfe\x01\xfe\x21\x7e\x0e\x3f\x8f\x5f\xc0\x3f\xc2\x2f\xe2\x1f\xe3\x9f\xe0\x97\xf0\x4f\xf1\xcf\xf0\x21\xfc\x73\xfc\x32\x7e\x05\xbf\x8a\x5f\xc3\xaf\xe3\x37\xf0\x9b\xf8\x3f\xf0\x5b\xf8\x6d\xfc\x0b\xfc\x4b\xfc\x0e\xfe\x4f\xfc\x2e\x7e\x0f\xbf\x8f\x7f\x85\x3f\xc0\xbf\xc6\xbf\xc1\xbf\xc5\xff\x85\x7f\x87\x7f\x8f\xff\x80\xff\x88\xff\x84\x3f\xc4\x1f\xe1\xc3\xf8\xcf\xf8\x2f\xf8\x63\xfc\x09\xfe\x2b\xfe\x1b\xfe\x6f\xfc\x77\xfc\x29\xfe\x0c\x7f\x8e\x8f\xe0\x19\x2c\xe2\x2f\x08\x22\x40\x30\x21\x84\x21\x2c\xe1\x08\x4f\x54\x44\x4d\x34\x44\x4b\x74\x44\x4f\x0c\xc4\x48\x4c\xc4\x4c\x2c\xc4\x4a\x6c\xc4\x4e\x1c\xc4\x49\x8a\x48\x31\x29\x21\xa5\xa4\x8c\x94\x13\x17\xa9\x20\x95\xa4\x8a\x54\x93\x1a\x52\x4b\xea\x88\x9b\x78\xc8\x02\x52\x4f\x1a\xc8\x42\xd2\x48\x9a\x88\x97\x34\x93\x16\xd2\x4a\x7c\xc4\x4f\x02\x24\x48\x42\x24\x4c\xda\x48\x3b\x59\x44\x4e\x21\x8b\x49\x07\xe9\x24\x5d\xa4\x9b\xf4\x90\x5e\xd2\x47\xfa\xc9\x00\x19\x24\x4b\xc8\xa9\xe4\x34\xb2\x94\x2c\x23\xcb\xc9\x0a\xb2\x92\xac\x22\x43\x64\x35\x59\x43\xd6\x92\x75\x64\x3d\xd9\x40\x4e\x27\x1b\xc9\x19\x64\x13\x39\x93\x9c\x45\x36\x93\x2d\x64\x98\x6c\x25\x11\x32\x42\xa2\x24\x46\x04\x12\x27\xa3\x64\x8c\x24\xc8\x36\x32\x4e\x92\x64\x82\xa4\x48\x9a\x64\xc8\x76\x92\x25\x39\x92\x27\x05\xb2\x83\x4c\x92\x9d\x64\x8a\xec\x22\x5f\x21\x67\x93\x73\xc8\xb9\xe4\x3c\x32\x4d\xce\x27\x17\x90\xdd\xe4\xab\x64\x0f\xb9\x90\xec\x25\x17\x91\x8b\xc9\x25\xe4\x52\xf2\x35\x72\x19\xd9\x47\x2e\x27\x57\x90\x2b\xc9\x55\xe4\x6a\x72\x0d\xb9\x96\x5c\x47\xbe\x4e\xae\x27\x37\x90\x1b\xc9\x4d\xe4\x66\x72\x0b\xb9\x95\xdc\x46\xf6\x93\xdb\xc9\x37\xc8\x1d\xe4\x4e\x72\x17\xb9\x9b\xdc\x43\xee\x25\x07\xc8\x37\xc9\x7d\xe4\x5b\xe4\x7e\xf2\x6f\xe4\xdb\xe4\xdf\xc9\x03\xe8\x1a\x76\x34\x19\xc9\xe5\xd8\x89\x42\x2e\x11\xe5\x72\x42\x24\x1b\x1d\x53\x09\xa9\x1d\x42\x32\x9d\x11\xd8\x31\x21\x92\xcd\x33\xb9\x7c\x24\xab\xa1\xc9\xb0\x30\x91\xc9\x4f\x31\x85\x9c\x90\x65\xe2\x89\xe4\x84\x2a\x3f\x36\x9c\x8c\x64\x47\x05\x9c\x1f\xe3\x29\x9c\xc8\xe5\x71\x7a\x9c\xcb\x0a\x13\xe9\x1d\x02\xbf\x2b\x9d\x9e\x18\x4e\xa4\x54\x52\x9e\x2e\xe4\x49\x3a\x1e\xe7\x72\x89\xd1\x54\x24\x49\xa2\xe9\x51\x36\x9f\x8d\xe4\xc6\x98\xb1\xf4\x84\xa0\x8a\x27\x92\xc2\x70\x24\x99\x67\xf2\x89\x09\x81\xc9\xa6\x23\x31\x5d\x2c\x3d\x99\x4a\xa6\x23\x31\x5a\xad\x9a\x2d\x70\x85\x0c\xcd\xd8\x44\x6a\x24\xbd\x53\x9b\x49\x46\xa6\x86\xa3\x89\x6c\x34\x29\x70\x59\x21\x23\x44\xf2\x7c\x56\x88\x67\x85\xdc\x98\x8a\x76\x45\x6a\x30\x99\x8e\x8e\x33\xf1\x64\x64\x54\x33\x26\x44\x62\x99\xb1\x74\x4a\xc8\x69\x76\xa4\x93\x85\x09\x61\x38\x1d\x8f\x6b\x15\x90\x12\x50\x2b\x70\x21\xc3\x6d\xcf\x46\xd3\x31\x81\x1f\x89\x48\x39\xc9\x47\x46\x99\x7c\x64\x34\xc7\x8c\xa4\xd3\xe3\x2a\x9a\xd0\x19\x9e\xcd\x64\x13\xa9\x3c\x17\x8d\x4c\x08\xd9\x08\x43\xa7\x42\x66\x24\x9d\x8c\x71\x89\x7c\x24\x99\x88\x6a\xf3\xc2\xce\xfc\xf0\x98\x40\x97\x0a\x1a\x09\x9e\x4c\xc4\xf2\x63\x9a\x48\x32\x31\x9a\x1a\x4e\x0a\xf1\xbc\x4e\x06\xa3\x42\x2a\x2f\x64\xb5\x72\x41\x5a\x59\xe8\x65\x78\x5b\x21\x97\x4f\xc4\xa7\x18\x3a\x16\x6d\x22\x15\x13\x52\x79\x19\x4f\x81\xa5\x7b\x0d\xf1\x48\x54\xa0\x5c\x1b\xde\x91\x88\x09\x69\x3e\x93\x88\xe6\x0b\x59\x81\xcb\x08\xa9\x68\x22\xa9\x99\x88\x64\x86\x69\x5f\x85\x2c\x17\x89\xd1\x06\x99\x7c\x22\x95\x67\x84\x58\x22\xcf\xe6\xc6\x22\x59\x81\x8d\x8e\x09\xd1\x71\x86\x0a\x4c\x9f\xcb\x0b\x99\xe1\x91\x48\x74\x7c\x32\x92\x8d\xe9\xe3\x91\x5c\x7e\xae\xa4\x9a\x05\x18\xca\x74\x36\x13\x29\xe4\x04\x26\x97\x4f\x67\xf8\x78\x3a\x4b\xeb\x75\xd2\xed\xb3\x05\xa9\x25\xa5\xc0\x0a\xdb\x84\x68\x5e\x17\x1d\x13\x76\x64\xd3\xf2\xc8\xf5\xb3\x05\x69\x08\xea\x4c\xb2\x90\x1b\xa6\x8a\xa1\x99\x48\xa4\x14\x50\x2b\x2b\x91\x04\xf3\xe9\x71\x29\xd7\x6f\x2f\x08\x39\xba\x9e\x92\x4a\xea\x44\x2a\x9e\x96\xd1\x72\xd1\xac\x20\xa4\x72\x63\xe9\xbc\x5e\x41\x93\xb5\x42\x9d\x1e\x57\x20\xcd\x48\x24\x35\x0b\x46\xb2\xd9\xf4\xa4\xd4\x0f\xad\x0c\x4a\xbd\x50\xc9\x70\x21\xa3\x5c\x97\x34\x42\x62\x11\xd5\x23\x6d\x56\xc8\x25\x76\x09\xc3\xf1\x42\x32\xa9\x53\xe0\xdc\x44\x24\x99\x34\x09\x3b\xa3\xc9\xc8\x44\x64\xae\x5b\xcc\x68\x22\x9e\x67\x92\x42\x24\xce\xc4\x13\x59\x41\x25\x4c\x09\xc3\xe9\x8c\x90\x52\x53\x20\x9a\x4c\xe7\x04\xdd\x64\x24\x9b\x4a\xa4\x46\xa5\xdb\xd9\x4c\x32\x92\x12\x54\xd1\x48\x52\x48\xc5\x22\x59\x2e\x1b\x49\xc5\xd2\x13\x7c\x34\x3d\x31\x21\xa4\xf2\xdc\x44\x64\x34\x25\xe4\x35\xb3\xfc\x2a\x64\xe6\xf8\x48\xfb\xc7\x67\x85\xfc\xa4\x20\xe4\xf5\xb9\xb1\x74\x26\x43\x9b\x8c\x46\xb2\x79\x5d\x3c\x9d\x8c\x09\x59\x99\x98\x56\x29\xd0\x2e\x18\x95\x8e\xef\x10\xb2\xf9\x44\x34\x92\x34\x2b\xe5\xb1\x74\x36\xb1\x8b\xae\xe4\x92\xea\x91\x48\x76\x38\x3a\x46\x1b\xc9\x4f\x26\xf2\x79\x21\x2b\x33\x9e\x2a\x19\x55\x7b\xa9\xa4\x93\x35\x7e\x38\x2b\xe4\xb3\x69\x32\x2e\x4c\x31\xd1\xf4\x68\x4e\xa5\x74\x39\xa7\xcf\x8f\x15\x26\x46\x72\xc3\x85\x0c\x65\x9c\x51\x29\xd1\xee\xd2\xb2\x5a\x32\x24\x63\x91\x64\x5c\x2b\x59\x17\xd9\xa6\xf0\xb4\xdd\x74\x21\xaf\x4f\x26\x52\xe3\x42\x2c\x21\xb3\x92\xcf\x14\x72\x63\x99\x44\x4a\x2f\xec\xcc\x0b\xd9\x54\x24\x39\x4c\x2f\x4b\x26\x24\x91\xe2\xf2\xd9\x74\x66\x6c\x4a\x3b\x9a\xc8\x8f\x15\x46\x64\x3d\x90\xad\x03\x25\xc3\x26\x85\x89\x74\x8a\x95\x7e\xef\x5a\x49\xc5\x65\x42\x86\xd9\x1f\xaf\x5c\xd4\x48\x37\xc8\xc4\x94\x01\xab\x66\xc7\xca\xc9\x2d\x73\x85\x14\xb5\x21\xda\x68\x96\xfe\x68\x28\x83\x63\x24\x9b\xcb\x91\xb1\x58\x4c\x35\x52\x48\x26\xc7\xd2\xd9\x14\x33\x22\x24\x93\xda\x28\x65\x6b\x3c\x11\x8d\xe4\x05\xcd\x58\x24\x15\x53\xb4\x5b\x02\xa9\xb6\xf1\x12\x54\xc8\xc8\x35\x94\x21\x66\x59\x23\x87\x8f\x6a\xa4\xe5\x98\x1a\xa9\x01\xe3\x31\x55\x85\xcc\xb1\x48\xb4\x19\x76\x34\x99\x1e\x11\xb8\xc9\xac\x90\x8a\x8e\xb1\xf9\x48\x6e\x3c\xc7\xc5\x13\xc9\xbc\x90\x55\x8f\x64\x13\x42\x3c\x1a\xc9\x09\x1a\xaa\xb9\xf2\xef\x84\x1d\xcd\xa6\x0b\x19\x86\xf2\x92\x8d\x26\xd3\x85\x18\x37\x22\x44\xc6\x85\x2c\x89\x16\xf2\x4c\x34\x9d\x99\xd2\x64\x22\x19\x49\x7f\x12\x19\x26\x17\xd9\x21\x68\x28\x7f\x86\x47\x92\x91\xd4\x38\x9f\x15\xd2\xd9\x98\x90\xc5\x85\x24\x4e\x27\xf5\xb9\x7c\x36\x31\x2e\xe4\xc7\xb2\xe9\xc2\xe8\x98\xba\x90\x8a\x09\xd9\x64\x22\x25\xb0\xf9\xc8\x48\x52\x60\x27\x22\xa3\x89\x28\x9b\xcf\x16\xa2\xe3\xea\x4c\x82\x5a\x39\x21\x97\x37\xcc\x41\x12\xdb\x4d\xa3\xe9\xf4\x68\x52\x18\x9e\xb3\x01\xda\x79\x15\xec\x44\x3a\x25\x4c\x69\xa2\x91\xac\x90\x97\x46\xaa\x92\xc1\x42\x46\xa9\x93\x7e\xc4\x32\x28\xf1\x8a\x8f\x52\x13\x9e\xca\x31\xb9\x74\x36\xaf\xa6\x89\xfc\x3b\x91\xa0\x42\x46\x37\x3b\xb3\x49\x93\xca\xac\xae\x31\x85\x54\x2c\xcd\x26\x85\xd1\x48\x52\x1d\x8b\xe4\xc6\x46\xd2\x91\x6c\x4c\xab\xa8\x33\xbd\x53\x37\xab\xda\xd2\x8c\x32\x92\x4e\xe6\xf9\x5c\x22\x2f\x4c\x44\x32\xaa\xc2\xc4\x48\x56\x48\x26\x23\x6c\x26\x92\xcb\x0b\x9a\x24\xed\xc4\xf0\x48\x21\x39\xa2\x12\x76\x46\xc7\x22\xa9\x51\xc1\x20\xb1\x78\x78\x76\x06\xd3\xc9\x45\x59\x53\x79\x3a\x95\x0e\x4f\xc4\xb4\xb9\xbc\x90\x1f\x4b\xe7\xa2\xe9\x8c\xa0\xca\x15\x12\x79\x2a\x31\x15\x55\x2a\x4a\x91\x8b\xa6\xe3\x71\x41\x60\xe2\xe9\x74\x4c\x2f\xcd\x94\xd2\x74\x42\x87\x30\x52\x48\x24\x63\x89\xd4\xa8\x6a\x2c\x9d\xcb\xd0\x79\x47\x1d\x99\x18\x29\x24\x23\xa9\xa8\xc0\x4d\x08\xb1\xf1\x44\x5e\x1b\xa7\x5d\x12\xb2\xc3\xdb\x84\x3c\x33\x22\x08\x59\x6e\x4c\x36\x53\xf1\x96\xb8\x60\x8e\xa5\x0b\x23\x54\x95\x52\x94\xe3\x92\xfe\x1d\x53\x23\xeb\xdf\x31\x55\x85\xcc\xb1\x48\x74\x5c\x9a\xa3\xf8\xda\x79\x88\xaa\x59\x0c\xcd\xd1\x5b\xf9\x98\x90\x1b\xcf\xa7\x33\x5c\x32\x92\xa1\x99\xa4\x28\x79\xdd\x44\x7a\x84\x8e\x4b\xfa\x35\xea\x14\xfd\x96\xf4\x4d\xb3\xbd\x90\xce\x2b\x4d\xcb\xa0\x2c\xe7\x5c\x26\x91\x4a\x09\x59\x4e\xbe\x97\xcd\x0a\x99\xe4\x94\x46\x31\x05\x91\x64\xde\x34\xdf\x04\x4a\x66\x68\x9e\x19\xa4\x65\x8d\xb0\x33\x43\x7f\x85\xb2\x74\x93\xc9\x48\x46\xbe\x8f\xcd\x4d\x24\x92\x02\x1b\xcf\xa6\x27\x53\x64\x42\x18\xe3\x47\x23\x13\x42\x26\x12\x53\x8d\x0b\x53\x92\x5e\xa8\xe8\x5a\x82\xde\x69\x90\x00\xc9\xb4\x08\x59\x21\xa6\xca\x0b\xd9\x89\x44\x2a\x92\x64\xe8\x8a\x41\x2d\x75\x68\x38\x92\x4c\x1a\xe7\xec\x9d\x62\x80\x92\xe9\xa8\x3c\x59\x48\xbf\x5f\x26\x9a\x4d\x67\xd4\x14\x85\x4e\x97\xe3\xd4\xd8\x24\x52\xe3\xcc\xb0\x2f\xdc\xae\x9d\x37\xb3\x68\x73\x85\x8c\x90\xcd\x45\xb3\x89\x4c\x5e\x9d\x2b\x8c\xc8\x10\x33\xec\x6b\xf3\xeb\x32\x85\x5d\xbb\x28\xef\x12\x42\x54\xd0\x4c\x24\x68\x83\x94\x8d\x86\xa3\xe0\xb0\xb4\xf0\x1a\x4b\x08\xc9\x98\x61\x76\xa2\x91\x7b\x63\xa6\x53\xd4\xb0\xb0\x33\x9f\x48\x8d\x16\x12\xb9\x31\x21\xcb\x65\xd3\xd1\x71\x81\x4e\x3c\x3b\xa3\xb1\x94\x79\x76\xb6\xc9\xcd\x2e\x5a\x2c\xc7\xd4\x28\x06\x6a\x7e\x15\x35\x50\xf3\xcb\x92\x81\x1a\xcb\x4f\x24\x83\x4c\x34\x97\xf3\x73\x91\x54\x74\x2c\x9d\xd5\xc8\x56\x55\x51\xe2\x64\x32\x27\x4c\x09\x56\x21\x99\x4c\x64\x72\x89\xdc\xbc\x09\xc9\x3c\x57\x37\x3b\x69\x31\xc3\xfe\x16\xbf\x5a\x5a\xfa\xd1\xf6\xb9\x7c\x82\xf6\xd7\x70\x74\xe5\x20\x4d\xd7\xb2\xc9\x97\x2a\x55\x49\x61\x87\x90\xa4\x6a\x28\x03\x92\xc6\xca\xd7\xa5\x65\x84\x64\xd6\xa5\x9f\xc4\xb0\xbf\xd5\xa7\x91\xa7\x7c\x69\x46\x88\xa6\x27\x32\x91\x1c\x9d\xd9\x64\x05\x39\xaa\x29\xf9\x74\x86\xde\x1d\x26\x42\x21\x4b\x46\x47\x32\xa4\x90\x8b\x91\x44\x2a\x4b\xb6\x65\xa6\x48\xb6\x30\x42\xc6\xb3\x93\x64\x24\x1f\xa5\xcb\x64\x41\x3d\xf7\x9b\x35\x49\x76\x68\x84\x2a\x46\x66\x2c\x32\x22\xe4\x99\x61\xbf\xaf\xdd\x32\x57\xab\xbc\x31\x12\x72\x8e\x13\xab\xe8\xb0\xf4\xb3\xd5\x92\x0d\x36\x1f\x53\x92\x6c\xd3\xb0\xdf\x1f\xa0\x49\x50\x37\x95\x2e\xe4\x0b\x23\xca\x40\x94\x02\xb3\x33\x91\x1a\x55\xef\x9c\x5d\x7a\xcc\xdd\x43\x99\xc9\xc7\xb2\xe9\xcc\x48\x7a\xa7\x3e\x97\x8f\x44\xc7\x67\x8d\x97\x3a\x91\xca\xe5\x23\xa3\xd9\xc8\x04\x17\x4f\x26\xa2\xe3\x59\x12\x89\xa5\x98\x78\x6b\xb8\xd5\x30\x92\xc8\x8f\x14\x28\xeb\x15\x31\x14\x26\x46\x92\x59\xad\x9c\x49\x55\xc6\x64\x3a\x35\x3a\x6f\x96\xd2\xcf\x2b\x17\x32\xf3\xaf\x52\xbd\x32\xcd\x2b\xcb\x3f\xf1\xc9\x44\x2a\x96\x9e\xcc\xf1\x91\x54\x2c\x9b\x4e\xc4\xd8\x64\x22\x55\xd8\xc9\xc7\xb2\x89\x11\x3a\xb7\xe4\xc6\xa7\x32\x82\x26\x9e\x2e\x64\x73\xdb\x0b\x91\xac\xc0\xe5\xa9\x1d\x4e\x73\x71\x61\x22\x92\x14\x18\x9a\xd0\x09\x3c\x9f\xc8\x90\x5c\x81\x8a\x36\x14\xe2\xe9\xc3\x4d\x62\x87\x40\x46\x0a\xa3\x78\xc7\x38\x3b\x29\x24\x46\xd2\x5c\x56\x48\x65\x05\x7a\x43\xd8\x67\x90\xc6\x3e\x3c\x3b\x78\x5a\x17\xb0\xcb\x5d\x9a\x9d\x73\x93\xf2\x9c\x43\x2f\x85\x0c\xb1\x74\x7e\xde\x05\x5a\xd7\xa6\xdb\x91\x98\x10\xd2\xc3\x72\x9f\x98\x61\x7f\x5b\x8b\x5e\x9e\xd9\xa4\x8a\xe1\x34\xad\xf2\xd1\xc4\x4f\x13\x2a\xab\xb6\x20\x4d\x42\x34\x09\xd3\xa4\x8d\x26\xed\x7c\x21\x95\x18\x6c\xed\x69\x61\xe2\xad\x91\x56\x66\xd8\xdf\x4e\x91\xda\xfd\xb4\x48\x91\xda\x29\x52\x3b\x45\x6a\xa7\x48\xed\x14\xa9\xbd\x9d\x19\x0e\xb4\x48\x18\x23\x14\xf2\xd1\xc4\x4f\x93\x80\xdc\x5a\x6f\x2b\x2d\x84\x68\x12\xa6\x49\x1b\x4d\x28\x52\x6b\x0b\x4d\xe8\xd5\x56\x8a\xd4\x4a\x91\x5a\x03\x34\x09\xd2\x84\x62\xb4\x52\x8c\x56\x8a\xd1\xaa\xf4\xad\xaf\x45\xc9\x29\x9e\x8f\xe2\xf9\x28\x9e\x8f\xe2\xf9\x28\x9e\x8f\xe2\xf9\x28\x9e\x8f\xe2\xf9\x28\x25\x3f\xa5\xe4\xa7\x18\x7e\x8a\xe1\xa7\x18\x7e\xa5\x7b\xfd\x4a\x83\xfd\xad\x4a\x2e\xdd\x41\x51\xfd\x0a\xc9\xfe\xa0\x92\x87\x94\x9c\x36\x1e\xa0\x6d\x04\x28\xd5\x00\xa5\x1a\xa0\x54\x03\xd2\x05\x8a\x1a\x50\x50\x07\x28\xe1\x20\x25\x1c\xa4\xcd\x06\x29\x52\x90\x22\x05\x29\x52\x90\x22\x05\x29\x52\x90\x22\x05\x69\x57\x43\x14\x23\x44\x31\x42\x14\x23\x44\x31\x42\x4a\x57\x07\xa5\x6b\x14\x29\x14\x66\xe2\xad\x71\xe9\x1a\x45\x0a\xd3\x0b\x61\x8a\x14\xa6\x48\x61\x7a\x21\x4c\xc9\x84\x29\x99\x70\x88\xde\x1c\xa5\x10\x25\x13\xa6\x18\x6d\x14\xa3\x8d\x62\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\xb4\x51\x8c\x76\x8a\xd1\x4e\x31\xa8\x52\x04\xda\x29\x46\x7b\x80\x89\xfb\x24\x31\xb6\x87\x28\x24\x5d\xa0\x18\x54\x29\x82\x2d\x2d\x34\x69\xa5\x89\x8f\x26\x7e\x9a\x04\x68\x12\xa4\x49\x88\x26\x61\x9a\xb4\xd1\xa4\x9d\xdd\x21\xa4\x0a\x39\x66\x38\x48\x55\x22\x48\xdb\x0a\x52\x95\x08\x52\x95\x08\x52\x95\x08\x52\x95\x08\x52\x95\x08\x52\x95\x08\xb6\x52\x22\x3e\x4a\xc4\x47\x31\xa8\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\xf9\x0a\xfa\x29\x86\x9f\x62\xf8\x29\x06\xd5\x81\xa0\x9f\x62\x04\x28\x46\x80\x62\x04\x28\x06\x15\x7d\x90\x8a\x3e\x48\x45\x1f\xa4\xa2\x0f\x52\xd1\x07\xa9\xe8\x83\x01\x8a\x11\xa4\x18\x54\xee\x41\x2a\xf7\x20\x95\x7b\x90\xca\x3d\x48\xe5\x1e\xa4\x72\x0f\x52\xb9\x07\xa9\xdc\x83\x54\xee\x41\x2a\xf7\x20\x95\x7b\x90\xca\x3d\x48\xe5\x1e\x0c\x51\x8c\x10\xc5\xa0\x42\x0f\x86\x28\x46\x88\x62\x84\xda\x99\xb8\x2f\xd4\x42\x13\x8a\x11\xf6\x51\x88\x62\x50\xa1\x07\xa9\xd0\x83\x61\x8a\x11\xa6\x18\x54\xe8\x41\x2a\xf4\x20\x15\x7a\x90\x0a\x3d\x48\x85\x1e\xa4\x42\x0f\x52\xa1\x07\xa9\xd0\x83\x54\xe8\x41\x2a\xf4\x20\x15\x7a\x90\x0a\x3d\x48\x85\x1e\xa4\x42\x0f\x52\xa1\x07\xa9\xd0\x83\xed\x14\x83\x5a\x82\x20\xb5\x04\x41\x6a\x09\x82\xed\x6d\x4c\xdc\x17\x16\x24\x35\xf5\xb5\xb5\x28\x79\x2b\x33\x1c\xa2\xa2\x0f\x51\xd1\x87\x14\x7b\xe0\x6b\x0b\x2a\x79\x88\x56\x86\x69\xd2\x46\x93\x76\x66\x38\x44\x75\x29\x44\xe5\x1f\xa2\xf2\x0f\x51\xf9\x87\xa8\xfc\x43\x54\xfe\x21\x2a\xff\x10\x95\x7f\x88\xca\x3f\x44\xe5\x1f\xa2\xf2\x0f\x51\xf9\x87\xa8\xfc\x43\x54\xfe\x21\x2a\xff\x10\x95\x7f\x88\xca\x3f\x44\xe5\x1f\xa2\xf2\x0f\xf9\xe4\x9f\xa5\xaf\x47\xe9\x61\x4f\xab\x92\xfb\x94\xdc\xaf\xe4\x4a\x57\x7b\x94\xae\xf6\x84\x94\x3c\xac\xe4\x6d\x4a\x3e\xdb\x5e\x8f\x92\xf7\x2a\x79\x9f\x92\xf7\x2b\xf9\x80\x9c\xf7\x2a\x74\x7b\x15\xba\xbd\x0a\xdd\x5e\x85\x6e\xaf\x42\xb7\x57\xa1\xdb\xab\xd0\xed\x55\xe8\xf6\x2a\x74\x7b\x15\xba\xbd\x0a\xdd\x5e\x85\x6e\xaf\x42\xb7\x57\xa1\xdb\xab\xd0\x55\x8c\xa6\xaf\x4f\xa1\xdb\xa7\xd0\xed\x53\xe8\xf6\x29\x74\xfb\x14\xba\x7d\x0a\xdd\x3e\x85\x6e\x9f\x42\xb7\x4f\xa1\xdb\xa7\xd0\xed\x53\xe8\xf6\x29\x74\xfb\x14\xba\x7d\x0a\x5d\xc5\xb6\xfa\x14\xdb\xea\xeb\x57\xe8\xf6\x2b\x74\xfb\x15\xba\x8a\x85\xf5\x29\x16\xd6\xd7\xaf\xd0\xed\x57\xe8\xf6\x2b\x74\xfb\x15\xba\xfd\x0a\xdd\x7e\x85\x6e\xbf\x42\xb7\x5f\xa1\x3b\xa0\xd0\x1d\x50\xe8\x0e\x28\x74\x07\x14\xba\x03\x0a\xdd\x01\x85\xee\x80\x42\x77\x80\x6a\x4a\xbb\x42\x74\x40\x21\x3a\xa0\x10\x1d\x50\x88\x0e\x28\x44\x07\x14\xa2\x03\x03\xf2\xa7\x25\xf8\xe2\x0b\x84\xa5\xaf\xcf\x06\x84\x50\x91\xf2\xc5\x1b\x10\xe0\x67\x11\x20\x66\xee\xdb\x94\xf4\x7d\xfa\x27\x1d\xdf\x90\xdc\xde\x7e\xbc\x6a\x71\x0b\xcd\x5f\x6d\x1d\x7b\xf4\xff\x0b\x00\x00\xff\xff\x4f\x70\x1d\xba\x6e\x87\x02\x00") - -func uiAppLibFontAwesome470FontsFontawesomeWebfontEotBytes() ([]byte, error) { - return bindataRead( - _uiAppLibFontAwesome470FontsFontawesomeWebfontEot, - "ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.eot", - ) -} - -func uiAppLibFontAwesome470FontsFontawesomeWebfontEot() (*asset, error) { - bytes, err := uiAppLibFontAwesome470FontsFontawesomeWebfontEotBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.eot", size: 165742, mode: os.FileMode(420), modTime: time.Unix(1, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -var _uiAppLibFontAwesome470FontsFontawesomeWebfontSvg = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x6d\x73\x1c\x49\x92\x26\xf6\xbd\x7e\x85\x8b\x32\xd3\x17\x5d\xa0\xc3\xe3\x3d\x6e\xa6\xf7\xec\x6e\xe7\x76\x4d\x66\xa2\xf6\xcc\x6e\xef\x64\xfa\xd4\x86\x26\x8b\x2c\xec\x24\x01\x26\x10\xac\x9e\xc1\xaf\x97\xf9\xe3\x91\x59\x55\xc8\xac\x02\xc0\x66\x73\x7a\xa4\xb5\x99\x66\x15\x2a\x23\xe3\x3d\x3c\xfc\xf5\xf1\x3f\xfe\xa7\xbf\x7c\x1a\x68\xbf\xbd\x7f\xb8\xb9\xbb\xfd\xf1\x0d\x5f\xd9\x37\xf4\xd0\xae\x6f\xdf\x5f\x0f\x77\xb7\xdb\x1f\xdf\xdc\xde\xbd\xf9\x4f\xff\xb0\xf9\xe3\xff\xf2\xa7\x7f\xf9\xc7\x7f\xfd\x7f\xfe\xdb\x7f\xa5\x87\xfd\x47\xfa\x6f\xff\xe3\xbf\xfc\x9f\xff\xc7\x3f\xd2\x1b\xf3\xc3\x0f\xff\xb7\xff\xc7\x1f\x7e\xf8\xd3\xbf\xfe\x89\xfe\xfb\xff\xfc\x67\xe2\x2b\xfe\xe1\x87\xff\xfa\x7f\xbd\xa1\x37\xbb\xd6\x3e\xff\xc7\x1f\x7e\xf8\xe5\x97\x5f\xae\x7e\xf1\x57\x77\xf7\x1f\x7f\xf8\xe7\xfb\xeb\xcf\xbb\x9b\x77\x0f\x3f\xfc\xf7\xff\xf9\xcf\x3f\x48\xc1\x3f\xfd\xeb\x9f\x7e\x78\xd8\x7f\x64\xbe\x7a\xdf\xde\xbf\xa1\x7f\xd8\xfc\xf1\x61\xff\xf1\x1f\x36\x7f\xfc\xb4\x6d\xd7\xef\xaf\xdb\xf5\x3f\x6c\xfe\xf1\x7e\x7b\xdd\xb6\xef\xe9\xe7\xbf\xd2\x3f\xdd\xdd\xb6\x7f\xba\xbb\xff\xb8\x25\x67\xd9\xd9\xec\x99\xae\x1b\xbd\xbd\xbb\xa5\x7f\x79\xd7\xc8\x05\xe2\xfc\x1f\x7d\xfe\x8f\xc1\xca\xf3\xb4\xa1\xff\xf2\x57\xfa\x0f\xff\xe1\x3f\x6c\xfe\xf1\xee\xf3\x5f\xef\x6f\x3e\xee\x1a\xfd\xe9\x7a\xbf\xa5\x7f\xbe\xbe\x7d\xff\x57\x94\xb8\xa2\xff\x3c\x0c\x84\x47\x0f\x74\xbf\x7d\xd8\xde\xef\xb7\xef\xaf\x36\x7f\xfc\xe1\xd0\xfa\x1f\xdf\x6f\x3f\x3c\xfc\xc3\xe6\x8f\x1f\xee\x6e\x1b\xdd\xbc\xff\xf1\x8d\xf4\xe1\x3f\xff\xb2\x7d\xb8\xfb\xb4\x7d\x43\xbb\xbb\xfb\x9b\x47\x73\xfd\x7e\x6f\xfe\xf2\xe3\x1b\x8e\x3e\xc9\x08\x88\x50\xda\x7c\xb8\x7e\xb7\xa5\x0d\x11\x51\xff\xf3\xd3\xcd\xf0\xd7\xd3\x0a\x0e\x4f\x7f\xd9\x4a\x2f\x7e\x7c\x13\xac\x3d\xfa\xf5\xa1\xdd\x6f\xdb\xbb\x9d\xcc\xff\xfd\xa7\xeb\x41\x9f\x7c\xb9\xbd\x69\x0f\xe6\xf3\xf6\xde\x6c\x3f\xfd\xf8\x86\x73\x75\xfa\xfb\xe7\xeb\xdb\xbb\x87\xad\xe1\x1f\xdf\x58\x5a\xfc\x4f\x8b\x5c\x3f\xbc\xdb\xde\xb6\xde\x55\xfc\xf2\x7e\xdb\x7f\x32\x2e\xf6\x9f\x7e\xfe\xf9\xee\x2f\x3f\xbe\x31\x7c\x65\x9d\x2d\x9e\xe4\xc1\x55\x4d\x8e\x9c\xb7\xe1\x2a\x11\x47\x9f\xaf\xac\x9b\xfa\xf2\x7e\x7b\x3f\xdc\xdc\x6e\x4d\xdb\xdd\xbc\xfb\xf3\xed\xf6\xe1\xe1\xc7\x37\xf6\xe9\xb3\xcf\x77\x0f\x37\x0d\x1b\x6b\x7e\x74\xf3\xee\xee\xfd\xd6\xdc\x5f\xdf\x7e\xdc\xfe\xf8\xe6\x7f\xfc\xef\xd6\x3a\x6b\xfe\x29\xea\xe0\x7f\x90\xf5\xbf\x79\x78\xb8\xb9\xfd\x68\x3e\x0e\x7f\xfd\xbc\x3b\x9d\xe7\x52\xd3\x1b\xda\xbc\xff\xf1\xcd\x5b\x27\x4b\xce\x6e\x17\x42\xd9\xb3\x67\xb7\x33\xf2\xcd\xc8\xd7\xc7\xb7\xcc\x8e\xec\x5e\x46\xba\x4b\xd9\xed\x0d\xbe\x99\x94\xdd\xe3\x1b\x69\x41\xba\xf1\x47\xad\x1d\xff\x9a\xdb\xeb\x4f\xdb\x1f\xdf\x5c\xdd\xde\xb5\xf7\xdb\x0f\x6f\xbe\x6b\x93\x5f\x86\xe1\x49\x83\xf6\x0d\x6d\x2e\xbc\x72\x7b\x77\xfb\xe9\xfa\xfe\xcf\x37\xb7\x1f\xef\xb7\xed\xcb\xfd\xed\x93\xb7\x63\xcd\x97\xdf\x7f\xf8\x7c\xfd\x6e\xfb\x66\x5a\x86\x1f\xdf\xd0\x93\x0a\x42\x28\x97\x2b\x78\x7f\xb3\xbd\xdf\x3e\xdc\x3c\x1c\xd5\xf1\xbf\xfd\xaf\x7f\xb9\x2e\x7f\x78\x7a\x26\x64\x77\x5e\xac\xe9\xdd\x74\x38\x9f\x54\x55\x5f\x5f\xd5\xfd\xf6\xe3\xcd\x43\xdb\xde\x6f\xdf\x3f\xa9\x6b\xfb\xfa\xba\xae\xdf\x7d\x69\xdb\xd3\x6a\x7e\x0e\xaf\xaf\xe6\x3f\xff\xd7\xd3\x3a\xde\xa5\xd7\xd7\xf1\x2f\x0f\xc3\xf5\xc3\xee\xb4\x9e\xf7\x5f\x31\xd3\xed\xfe\xfa\xfd\x56\xb6\xcd\x69\x55\x8e\x9d\x7b\x7d\x65\x37\xb7\x1f\x6e\x6e\x6f\xda\x5f\x9f\xd4\xe5\xf8\x2b\xe6\xfa\xf6\xae\x6d\xc7\x2f\xd7\xc3\xd3\xba\x92\x7d\x7d\x5d\x1f\x87\xeb\x87\x27\xbb\xf2\x83\xb5\xe7\x2a\x92\x13\xcd\xa9\x56\x62\x1f\xed\x68\xc9\xf8\x48\x26\x78\x32\xb9\x0c\x26\x79\x47\xf2\xcf\xde\xe4\x54\x76\xde\xd9\xd1\x25\xb2\x14\x22\x19\xae\x8d\x2b\x99\x10\x9b\x99\x3e\xf5\xe7\x9d\x29\x35\x8d\x06\x05\xe5\x27\xae\x28\x11\x62\xd3\x7f\xf1\x93\xd4\xb5\xcf\xa9\x37\x91\xbc\x1b\xa5\x4d\x69\x36\x78\xca\x65\xb4\xe4\x3c\x71\x21\x9f\xae\x62\xf3\x85\x38\x5f\xc5\x26\x25\x76\x1c\x6c\x19\x9d\x97\x5e\x48\x69\x79\x68\xf0\x94\x0b\x19\x29\x7e\x91\xd0\x7c\xfa\xf2\x70\xf3\x6e\x31\x37\xfc\x87\x69\x22\xa2\x4f\x24\x84\x6c\x6f\x98\x1d\xa6\x23\xca\x94\x04\x32\xa5\x36\x53\x12\x99\x64\xaf\x64\xc8\xd6\x5f\x45\x32\xde\x35\x53\x93\x7c\x63\xfc\x8c\xef\x7c\x54\x42\x0a\x94\x44\xfa\x92\x0f\x54\x6a\xd3\x7f\xa7\x1f\xe7\x62\xf3\xab\x23\xdb\x48\x96\xb8\x3a\x32\xbe\xee\xa3\xcf\x83\xcc\x3e\x19\xe7\xf3\xde\x64\x5b\x7f\x8b\x5e\x6d\x5e\xdb\xad\x9a\xf2\x68\xc9\x33\x71\xa5\x28\x8b\x14\x2a\xf9\x78\x15\x87\xe2\x1d\xb9\x98\x46\x76\x14\xc8\x15\x0a\x63\x90\xdb\x17\x03\x28\xcd\x15\x32\xa9\x5c\x5c\xa2\x87\xed\xf5\xfd\xbb\xdd\x62\x8d\x96\x07\x34\xa5\x30\x2d\x1b\x47\x47\xd9\x86\xd1\x12\x17\x19\xb6\x67\xe9\x3d\x27\x8c\x8f\x31\x04\xf9\x69\xfa\xc3\xf4\xbf\xb4\x9c\xfe\xd8\x4e\xfe\x38\x29\x77\x5c\xc3\x51\xd5\x8f\x6f\xa5\x0b\x64\xd8\x15\x2c\x89\x4c\x4c\x21\x53\x6d\x33\x55\x96\xa7\x8c\x26\x06\x39\x04\xd5\x92\x2f\x83\xf1\xc1\x93\x0f\x6e\x34\x9c\xab\xbc\x15\x64\x22\xf5\xdb\x68\x38\xc8\x96\x36\x2e\xcb\xbc\xc7\x28\xbd\x73\x2e\x12\x47\xdb\x0c\x47\x4b\xce\xc5\x66\xe4\x77\x42\x91\x4d\x3b\x7c\x6f\xd3\xf3\xe9\x85\xa3\x4a\xf4\xab\xd1\xef\x4e\x46\x14\x2d\xca\x4b\xed\x5a\x87\xb6\x39\xe2\x27\x7b\xe8\xd7\x20\xdd\x95\x3e\x8f\x3e\x93\xf1\x99\xe4\xa3\xda\x8b\x4b\xb7\xbd\xdd\x6f\x87\xbb\xcf\xdb\xc5\xe2\xf9\x8b\xc4\x27\x05\xf2\x4e\xa8\xc1\x68\x84\xde\x78\xd9\xcf\x95\x4c\x02\x15\x91\x7d\x63\x13\x99\xe0\x12\x19\x8f\x49\x65\x25\x50\xc2\x98\xa5\x2c\x3b\x59\x46\x11\x8a\xee\x6f\x87\x21\x85\xab\xb8\x33\xbc\x33\x3c\x9a\x50\x64\x62\xf5\x81\xfc\xde\x5f\xd0\xf2\xc5\x53\xca\xa3\xe1\x58\x88\xa5\x6d\x69\x05\x8d\xc8\x80\x2d\xfa\x91\x12\xa8\x9f\x4c\x10\x7b\xaa\xa8\xde\x61\x3a\xe5\x6b\xbd\x8a\x3b\x0e\xd9\x8d\x2c\xeb\x87\xdf\xea\x55\x6c\x52\x4c\xfe\xe8\x7b\x84\x6d\xf1\x7b\xe6\x3d\xcb\x72\x19\x8b\xdd\xb4\x69\xc6\x13\x4b\x4d\x46\x96\xa1\x36\x53\x29\x63\x0c\x81\x1c\xba\x2f\xd5\x1a\xd6\x7d\x31\x35\xd6\xcc\xdc\x03\xf4\x28\x15\xe2\x90\xe5\x6c\x85\x91\xab\x97\x05\x76\x14\x2c\xcb\x46\xce\x63\x22\x13\x49\x08\xba\x93\x57\x83\xcc\x20\x08\x69\xd0\x9d\x7e\x15\x5b\xb4\xba\x05\x94\xbc\x9a\xba\xe3\x1d\x8f\xce\x2a\x79\xad\xfa\xd8\xcd\xef\xe0\x95\x90\x08\xb5\xf8\x48\x52\xed\xe8\x6c\x21\x4e\x11\xad\x4a\xa3\x31\xc8\xbb\x6c\x31\x4c\x8e\x78\x63\x3a\x3f\x8f\x9b\xb7\xb2\xf4\xc2\x3f\xda\xbd\x61\x5b\x30\xaf\x49\xd6\x37\x93\x61\xf6\x4d\xfe\x91\xbf\xa6\xf1\x27\xdc\x23\xf2\x63\xc8\x4d\x4a\x31\xfb\x7d\x7f\x31\x25\xd2\x1f\x9a\x3e\xd7\x95\xc0\x1b\xbd\x96\xd6\xab\xbd\xb8\x6d\x77\xdb\xeb\xfb\xb6\xd8\xb3\xe7\x58\x1d\xd9\xb3\xa5\x26\x3d\xf7\xd3\x35\x17\x88\xe5\x2e\x73\x81\x92\x95\x45\xb3\x54\x74\x56\xc9\xa5\x7e\x6e\x13\x0e\x75\x2a\x54\xb1\xca\x51\x0e\x26\x3b\x6e\xc6\xe1\x9b\xc7\xa5\xe7\x2c\xb1\xcb\xe4\x43\x68\x3e\x32\x09\x69\x48\x4e\x86\xe3\xb0\xc9\x1d\x48\x90\x1c\xd3\x58\x5a\xc5\xe9\x4d\xb2\x8f\xb3\x1c\x99\x32\xfa\x44\x3e\x51\x4e\x94\xfa\x53\x3c\x94\xf2\xb1\x34\xad\x42\x6a\x18\x85\x83\xb7\x24\x0d\xc8\x71\x6f\xd2\xa2\xf1\x21\x28\x0d\x60\xf9\x07\x37\xba\x95\x11\xc9\x21\xb3\x76\x33\x1a\xb9\x5f\xe5\xbf\x20\x24\xef\x19\x12\xde\xae\xef\x17\xf3\x19\x2f\x11\x70\x39\x24\xa5\x54\xed\x01\xc9\xac\x9a\x20\x24\x33\x09\x0d\x8a\x61\x90\x3b\x2e\x5a\x3b\x32\x99\x4c\xd2\x43\xdc\xcd\xd2\x57\xc6\x06\xf6\x98\x5c\x8f\xef\x1c\xae\xe2\x28\x2c\x87\x2c\x8c\x4c\xdd\x60\x42\xa8\xe4\x7c\xd2\x2f\xc6\x79\xa1\x2c\x4e\x06\x8f\x12\x86\xdd\x28\x75\x59\x3d\x13\xc4\x41\x49\x89\x6c\xf8\x88\x73\x96\xc8\x91\xb3\xd2\x8b\x68\xad\x74\x2b\x90\x8f\x61\x34\x4e\x0e\x87\x88\x87\x14\x64\xf9\x7c\xa6\x98\x28\xa4\x21\x5a\x47\xd9\x0f\x42\x71\x43\x8c\xa3\x30\x3e\x4c\x41\xfe\x95\x7b\xd2\x04\xc6\x23\x13\x62\xdc\xa0\xac\xc9\x7e\x8c\x89\x8c\xdc\xa5\x64\x42\x7a\x76\x76\x7f\xda\x7e\xfa\xfc\x94\xf3\xfc\x60\xed\x92\xb5\x3e\xbe\x24\xa5\x7b\xde\x0d\xde\x26\x72\x35\x0f\x26\x38\x47\xc9\x0d\x86\x4b\x25\x5f\xfa\x17\x83\x6f\xf2\xc8\x24\x2d\x6b\x50\x38\xcb\x79\x72\x3c\xf8\x5c\x88\xe5\x7a\xc8\x72\xb2\x6a\x7d\xfc\xda\xc5\x93\x4b\x28\xb0\x7c\xfe\x96\x8b\xb5\xf9\xa6\xab\xf5\xfa\xc5\xfa\xf2\xb0\x5d\x1e\x85\xbc\x58\x26\x57\xec\xb4\x4c\xae\x58\x62\x9f\x41\xdd\xad\x5c\x83\x20\xfd\x5c\x32\x18\x01\xf9\x9e\xcb\xce\x14\x19\x50\xd1\xab\x0d\xbf\xe6\xd2\xb4\x28\x17\x79\xb7\x44\x2a\xf2\x07\xb8\x39\x9d\xa8\xe8\x5a\x2c\x4a\x88\x5b\x05\xb7\xc7\x1e\x44\x5d\xce\x0b\x7b\x10\x83\x42\x5e\x08\x27\xbb\xd2\xe4\x8b\x90\xb8\x0c\x72\xea\xf5\xca\x90\xc9\xae\xca\x77\xa2\x2e\xe1\x90\xb4\x7a\xb9\x78\x9a\xfe\x24\x6d\x3e\xbe\x65\xeb\xe4\xe2\x73\x20\x2b\x1c\x85\xd1\x61\xbd\x9c\x33\x98\x2f\x7c\xf4\x1f\x37\xd3\x9f\xac\x17\xa2\x96\xd4\x82\xc7\xdf\x8f\x0b\x1d\xbf\xdf\x8e\xab\xbe\xb8\x1e\x1f\x6e\x86\x4f\x8b\xf5\x58\x4a\x92\xd5\x4d\xeb\xe1\x4b\x20\x93\xc2\x5e\xb9\x3c\xd9\xdb\x2a\xc6\xa8\x68\xb3\x3b\xb9\x05\x54\x2c\xea\xf2\xd0\x7e\x62\x0c\x5d\xa2\x2e\x21\x75\x01\x49\x7e\x9f\xe4\x28\x15\xa3\x42\x7c\x44\x43\x22\x15\x7d\x97\x86\xb2\xbd\x38\xa2\xcd\xb7\x69\x49\x64\x35\x4c\x5e\x64\xb7\xda\x14\x78\xbe\xf5\x96\xf4\x95\x65\x4b\xf2\xca\xfa\x98\x84\x29\xf8\x16\xb3\xb7\x79\x66\x50\xc2\xbf\x7c\x97\x1d\x81\xe9\x93\x95\xfa\xcd\xa7\x0f\x63\xea\x9b\x6f\xf3\x1b\x0f\x4a\x9a\x7a\x66\xfb\x7d\xc3\x96\x5e\xb7\x29\x36\x5f\xdd\x56\x05\xe7\xa6\x7a\x50\xe5\xa4\xce\x30\xb5\xc9\xda\x73\x4c\xad\xbe\xb8\x64\x6a\xe5\x95\x57\x33\xb5\x6d\xf7\xd3\x70\x7d\xff\x71\x29\x8b\x2d\xb5\x8a\x07\x1e\x21\xa7\x42\x91\xdd\xde\xf8\x12\xd6\x65\xda\x1d\x76\x96\x3c\x98\x04\xdb\x26\x25\xaa\xdd\xeb\x2b\xd1\x11\xfe\x6c\x78\xb6\x93\xc2\x28\xab\x6f\x37\xad\xec\x11\x0d\xc9\x4d\xf7\xdb\xb7\x04\xee\xe4\xf2\x98\x36\xdf\xb2\xa9\xef\x32\xaa\xcb\x0b\xbf\x58\xf2\xeb\x0b\xa2\x4c\x64\x47\xae\xc8\xbe\xad\xa0\x18\xc2\x62\xa9\x96\x06\xc2\x8a\x71\x65\x67\xbc\xb3\xa3\x81\x1a\x47\x7e\x72\xa5\x49\x89\x54\xf6\xfa\x4a\xb0\x84\x3f\x1b\x9e\x41\x4b\xb8\xa2\xf2\x41\x43\xc5\xda\xdf\xbe\x21\x68\x83\x5e\x30\xa4\xcd\xb7\x19\x53\x57\x17\x7e\x8f\x41\x7d\xcb\xe9\xdb\x9c\x6f\x4a\xe8\xe6\x77\xd9\x12\x18\xd4\x77\x9a\x3f\x19\xd4\x34\x7f\x9b\xdf\xbe\xa9\xef\x32\xaa\xe7\xe8\xff\xcd\xc3\x52\xad\xf1\xf3\xff\xbf\x68\xc1\x4b\xf6\x72\x4d\xaf\xa1\x05\x35\xfd\xcd\x69\xc1\xf1\x5e\xbe\x30\xa8\x57\xd0\x82\x73\x83\x7a\xd9\x5e\x7e\x4d\x5b\xe7\x9a\xba\xb4\x97\xef\xfe\xbc\xd8\xc6\xef\x2e\x6a\x94\x33\x53\xcd\xf6\xb4\xbb\x83\xc9\x2e\x90\xfc\x33\x18\xf6\xc2\x0b\x42\xb3\x50\xa6\xe7\xe8\x8c\xf6\x5f\x0b\xb0\x4f\x83\xf1\xc9\x91\x4f\x0e\x05\x7b\xd9\x84\x3e\xa7\x32\xf4\x42\xa3\x3e\xd2\x91\x6b\x3d\x83\x13\x21\xd9\xd5\x38\xa4\x98\x28\xc5\xbc\x56\x66\xee\x44\xaf\xf7\x05\x13\x71\xbf\xfd\x74\xb7\x5f\xb2\x74\xef\x17\x93\x11\x6c\x99\xf5\x09\xb5\x90\xe3\xf0\x74\x32\x9e\x9d\x02\x19\x82\xab\x41\xbf\xc8\x3f\xcf\x4d\xd6\xea\x1c\x9d\xd4\x32\x55\xf2\xfa\x89\x0c\x53\x45\x2f\x9f\xc8\x4d\x9b\xc7\x7a\x52\x89\xe9\xb5\xbc\x70\xca\x1f\xef\xee\x3e\xfd\x74\x73\xbb\x98\xf3\xa5\x91\xf7\x48\xd5\x66\x5d\xa0\xec\xd3\xde\xa4\xd0\xed\x06\x07\xb5\x7d\x3b\x28\xf3\x77\xc6\xb9\xb0\x97\x7f\x2e\x97\x4a\xe1\xc4\x0e\x30\x9b\x01\xe4\xaf\xbd\x73\x01\xf5\x5c\x28\x82\x5e\x74\xe3\xc5\xc1\x76\x21\x55\x4b\xfb\xda\xfc\xea\xe3\x14\x8e\xec\x1a\x66\x32\x6c\xa0\x09\x74\x5b\xde\xdf\x9c\x2d\xf2\xf8\x3b\x31\xcc\x79\x35\x7b\x08\xe7\x8c\x69\x51\x8d\x71\xbe\x8a\xbf\xca\x40\xb7\xb9\x6c\xa1\xfb\x5d\x1a\xe8\xb0\x99\xef\xbe\x2c\xb8\x02\x5e\x7a\x07\x7c\xcd\x6e\x8e\x39\x7d\xd5\x2e\x94\xf7\x7e\x77\x9b\x68\xf3\x5d\x76\xd1\xef\x74\x13\x6d\x2e\x5e\xc7\x1f\x3e\x2c\x36\xd0\xa9\x0b\x45\x0a\x56\xb5\xbe\x89\x4c\x62\x21\xb9\xa5\x19\x96\xd9\x74\x41\x86\x0c\x5d\x4a\x0a\x4d\x1e\x48\x09\xfd\x82\xcf\x10\x09\x4f\xa4\x34\x0a\x27\x26\x57\x0b\x16\x5f\xb8\x1e\x28\xac\x7d\x73\x6a\xcd\xca\x76\x94\xe9\x76\x04\x73\x97\x8b\xad\xe8\x4c\xd8\x51\xad\xb9\xb0\xf8\x92\xa9\x30\x12\x04\x6c\xaa\x02\xf3\x90\xb4\x9b\x65\x75\xa3\x6a\x91\x0b\x77\x93\x9c\x71\xba\xde\x6c\x03\x05\xb5\x27\x55\x58\xd1\x6c\x55\xe5\x36\xd6\x22\x79\x75\xaf\xa8\x42\x07\x50\x40\x6e\x57\x79\x82\xef\xfa\x15\x85\x50\xa6\xbf\xad\x2f\xa3\x56\x94\x93\x41\x39\x26\x6d\xd8\xc9\x8d\xaa\xdd\xe1\xc2\xa3\x74\x1e\x63\x90\x17\xa5\xcf\x0d\x43\x91\x91\x8c\x9e\x29\x78\x2a\x81\xa2\x6d\x55\xba\x1c\x47\x0e\x49\xed\x05\xae\x5b\x0a\xb3\x6d\x45\xb7\x68\xf0\x8f\x30\x58\x0a\x53\x20\x67\xd8\xae\x6b\x26\xda\xa9\x3a\x42\xcb\x9d\xaa\x23\xda\xcb\xb5\x10\x0f\x37\x1f\x6f\x9f\xba\x33\x7d\xb0\x7c\xce\xcd\x0a\x7e\x85\x31\x51\x4d\x33\xa3\xc9\x81\x0c\xec\x3f\xcd\x38\x58\xa6\xf1\x40\x7e\x96\x4d\xec\xd5\x60\xee\x7c\x67\x32\x39\x90\xfc\xd5\xe4\xc1\x4e\x7e\x42\x39\xbc\xd8\x50\xcb\xe3\xdb\x24\x8c\xa8\xdc\xb7\x5e\x0d\x50\x2f\x6d\x40\x8b\xbf\xa0\x01\x10\xca\x50\xec\x1e\x84\xf0\xe5\x2d\x6c\xf6\x5a\xfe\x25\x4d\x04\x5b\xa8\xa4\xb0\x07\xcf\xfd\x8a\x41\x68\xf1\x97\xb4\xa0\x1c\x7f\x96\x85\x08\xf9\x75\x2b\xa1\xe5\x9f\x6f\xe4\xd2\xc6\x79\x77\xf7\x71\xb1\x6b\xfc\x1f\x8e\xaf\x22\xdd\x99\x6c\x13\x99\x8c\xb3\xd2\xe4\xf8\x52\x8e\xfa\x69\xe4\x4b\xee\x67\x7a\xfa\x9c\x1e\xf4\x82\xfa\xde\xa3\x12\xab\x1c\xaa\x30\x33\x3a\x54\x47\xa6\xf4\xa1\xe2\xaa\x1b\x0c\xee\x1c\x57\x60\xa4\x14\x4a\x6f\x7c\x25\x53\x79\xf4\xa0\x33\xc4\x36\x4b\xb9\x32\xb2\xbe\x2e\x1f\x42\xc4\x31\xd2\xd1\x38\x25\xab\x06\x37\x80\x95\x43\x26\x32\x08\x8f\x52\x54\xd5\xcb\x55\x18\xe8\x42\x6c\xcb\x08\xdb\x3a\x26\x8a\xa1\x97\x1c\x0d\x2b\x67\x2b\x14\x54\x06\x92\x46\x93\x95\x05\xc7\x6f\x65\x87\x7e\x4f\x2b\x21\xf4\x41\xbd\x60\xb8\x5b\xfa\x07\x29\xcb\x25\x8c\x26\x54\x92\xba\xe4\x18\xe7\xc1\x70\x80\xe5\x3c\xc3\x53\x01\x5d\x15\x22\x39\x57\x14\x89\xd1\xc3\x44\x2c\x6b\xcf\x49\x48\x57\x91\xb6\xa5\x78\x26\xe7\x41\xb9\xa8\xc8\x37\x96\xa6\x28\x32\x25\xb9\x5a\x63\xa0\x6c\x85\xc0\xba\x4c\xdd\xc2\x5b\x65\x84\xc5\x93\xcb\x60\x0e\x1c\xec\xf6\x6a\xe7\x93\x0a\xc0\xc2\xba\x43\x85\x8d\x2b\xb1\xdf\x0c\x5c\x12\xb9\x22\x9b\x27\x24\xf2\x95\x64\xcb\x05\x4b\x31\xa3\xe7\x70\x98\x90\xde\xcb\x8a\xb1\x25\xe5\x61\x2d\x76\xde\xe8\xe0\x07\x01\x4a\xcc\x36\xc3\x64\x79\x15\x29\x33\xec\x9c\xd4\x2d\x01\x76\x60\xf8\x0e\xda\x3c\x86\x20\xdb\xb3\x32\xc9\x32\x42\x14\x21\x57\x49\xa6\x3b\x8b\x88\x20\x7f\x96\x9d\x74\x52\x77\x32\xae\x14\xdc\x09\x3c\x39\x65\x0c\x0e\xde\x11\x61\x0c\xb2\x4e\x49\xd5\xb5\x79\xe0\x20\x1b\x22\x8f\x55\xfa\x15\xa8\xf6\xe6\x71\x75\x8c\x8c\x35\x95\xd1\x26\xf9\x21\xdb\x31\xcb\xe6\x93\x05\x56\x0d\xd5\xbc\x19\x47\xc3\x51\xbd\x1d\x22\x93\xc1\x3c\x63\x27\x62\xa6\x1d\xac\xeb\x24\x2b\x5a\xcb\xc0\x70\x57\x2f\xd2\x90\x71\x04\x07\x09\x99\x69\x54\xf3\x8c\x69\xb4\xdd\x2f\x7c\x6c\x3f\x58\x5e\xba\xc1\x1c\x64\xcb\x59\x8d\x73\x96\xde\x41\x72\x79\x4a\x27\x56\xa8\x9d\x08\x1a\x0b\x52\x94\x53\xf9\x2d\xab\x07\x31\xf9\xba\xfa\x37\x2f\x6b\x00\x8c\x6b\xda\xd7\x50\xe0\x14\xbb\x37\x35\x94\xee\x25\x91\x27\x7e\x21\xe8\x6d\xdd\xd4\x8f\xa5\x5c\xc5\x5d\xf1\x6e\x94\x6d\x82\x5f\xca\x54\xc6\xe5\x96\xc1\x57\x3c\xbe\x0d\xc5\x92\xd4\xbd\x0b\xa1\x0c\x26\x14\x62\xce\x72\x38\x65\x3b\x65\x62\xde\xc1\xf7\x0b\x47\xdb\xe1\x27\xc3\xdc\xaf\x0e\xf5\xbb\xea\x7c\xfc\x62\xb8\x47\x5d\x2c\xbe\x5b\xaf\x82\x57\x8a\xe2\xd5\xc9\x74\x67\x8a\x77\x9b\x63\x0b\x56\x04\xc9\x09\x99\x38\xf0\x55\xdc\xd7\xe8\xa4\xa2\x95\x79\x53\xfe\xff\x78\xd6\xbc\xad\x43\xb6\xc4\x29\x0b\x15\xf1\x99\x62\xa0\xe4\x5b\xae\xe4\xd2\x41\xfb\x25\x6c\xb4\x4b\x42\x59\x4c\xf2\x52\xde\x70\xca\xf2\xee\xeb\x2e\x96\x1d\xc2\x55\x9e\xec\xee\x8b\x4e\x49\x32\x61\x31\x84\xbd\x09\xc5\x76\x5b\xe0\xc2\xd7\xd9\x97\xb0\xf7\x45\x24\xf0\x98\x60\xf6\xc1\x4f\x6b\xee\xcf\x7b\xad\x85\x09\x2c\x6c\xc3\xbf\x43\xcc\x91\x42\x0e\xf8\x34\x21\x87\x51\x98\x65\x92\x43\x2e\x42\xac\x67\x4a\x72\x05\x25\x27\xcc\xea\x28\xc4\xa0\x76\xaf\x27\x59\xe4\x59\xd6\x62\xca\x83\x49\xd5\x51\xcc\xfd\x8b\x89\x39\x8f\x33\x01\x11\x52\x71\x4c\x7b\x19\x55\x6a\x8d\x13\x45\x07\x39\xc3\xa5\xb1\x19\x32\x57\x8a\xb5\x0a\x0f\xed\xe0\x4f\xe6\x12\x5c\xcc\x5c\x1a\x1c\xae\x28\x1b\xf6\x5c\xe3\x4b\xee\xfa\xbd\x09\xb6\x0c\x8e\x71\x7d\x39\x5c\x92\xb2\x0b\xbb\x2b\x1b\x6e\xb3\xe7\xe8\xd2\x87\x9b\x61\xfb\xd3\xf5\xb0\x14\x5a\xd3\xcc\x16\x84\x24\x95\xc6\x59\x03\x14\x84\xbb\x4f\x4d\xae\x70\xe8\x7e\x39\x9e\xd5\x5d\xc2\xea\xba\xaa\xbc\x4c\xd6\x2e\xb5\x97\xa5\x26\xdd\x95\x05\x8e\xa9\x98\x96\x50\x26\x6f\x97\x20\xd4\xc4\xe7\xb4\xf3\x90\x84\xad\x5c\x23\x72\xda\x03\x0f\xc6\xb3\x27\xcf\x1e\xab\x02\x5f\x26\x26\xe7\x26\x1f\x09\x76\x65\x2f\x55\xec\x4c\xe0\xb4\xda\x9d\xc0\x09\x06\xff\x1e\x52\xc3\xae\x3c\x23\xa5\xb5\x9b\x95\xfd\x9e\xff\x70\xe4\xc1\x58\xab\xdb\x9b\xa0\xe7\x7d\x49\x0c\xa0\xaa\x7e\xc1\x21\x16\x96\xda\xc7\x05\xe3\xb7\x4e\x11\x3d\xbb\x89\x7f\xc3\x1a\x09\x57\xe0\xe5\x80\x14\x91\x88\x9a\x48\xa9\x24\x3f\xc8\xa7\x99\x9e\x18\x3c\x92\x5f\xa4\xf0\xf4\x39\x3f\x99\xca\xf6\x77\xa7\xba\xb4\xee\xc7\x59\x20\xc5\x95\xea\x2c\xf8\x30\x91\x79\x8b\x4a\xdf\x59\x35\x0d\x19\xba\x0a\xfc\x88\x02\xd3\x77\x7c\xd5\x42\xbd\x8c\xbc\xad\x2f\x1f\xbe\x1d\x17\x38\xbc\x77\x54\xdb\x49\x33\x87\xf6\x2f\x2b\x7b\xef\xae\xdf\x2f\x16\xf0\x92\xab\x12\x33\x33\xc5\x60\xf7\x61\x90\x33\xaf\x0b\x48\xf0\xe7\x62\xea\xca\x1a\xa8\x5f\x76\xca\x4a\x76\xea\xe1\xbb\x63\x31\x4e\xa5\x03\xd3\x28\x5c\xae\x5c\x14\x72\xfd\x81\x0f\xd1\xcd\x2e\x94\xa7\xec\x5c\x08\x23\xb8\x57\xc7\x54\x5a\x21\x67\x1f\xdf\x72\xc9\x96\xb2\xb0\x85\xea\x28\x28\xbc\xb9\xdf\x99\x6c\x67\x05\x22\x94\x41\x85\x7a\x03\x16\x31\x02\xe7\x7a\xe7\x8e\x1c\x9f\x57\x7a\x07\x16\x35\x6d\xb4\x6f\x1e\x7d\x53\x75\x52\x57\x43\x49\xab\xd2\x05\x8b\x8e\xa0\x57\x31\x10\xb8\xd9\x34\x04\xb9\x22\x6d\x08\xa3\xec\x12\x82\xbb\x37\x02\x4c\xc2\xce\xfb\x7a\xa1\x55\x06\xc1\x77\xda\x68\x20\x15\x12\xd0\xe4\x8e\x53\x3a\x8c\x52\xc6\xe8\x51\xbc\x97\x5e\x1b\xa1\x34\x05\x27\x6b\x70\xa0\xa1\xa9\x6f\x3b\xfa\x66\xd0\x39\xf9\x21\x39\x65\x54\xf9\xb2\x87\xe1\xfb\xbb\x5f\x6e\x87\xbb\xeb\xf7\xab\x24\xf2\x92\xb3\x87\x7a\x1a\xd6\x35\xd7\xa2\xf6\xc4\xf5\xa6\x9d\xf8\xc0\xb4\x53\xd7\x17\xc4\xcc\xfc\xfa\x6a\x52\x0a\x14\x38\xcd\xe2\xf9\x2a\xb1\x86\x4b\xf8\x0a\x75\xd4\x77\x9e\xd0\xea\x90\xe2\xc0\x1e\x8a\xbe\xb4\x19\x63\x21\x13\x95\xb9\x37\x31\x35\xf9\x8c\x69\x32\x3d\xec\x42\x5a\x0d\x54\x79\xcb\x5e\x44\x8f\x12\x47\x59\x9a\xa0\x6b\x6f\xb2\x1d\x84\x6e\x12\x88\xa7\x3a\x46\xd7\x83\xb7\x12\x86\xa5\x05\xf0\xdc\x33\xae\x01\x16\xc9\x48\xaa\xf1\x72\xb9\x92\xaf\x3b\x61\x19\x94\xfc\xaa\x97\xd1\x1c\x1c\x25\x67\x63\x19\x68\x05\x5a\x8d\x67\x41\x4e\x5f\xac\x22\x8a\xbe\x68\x6b\x2c\xb6\xc5\xf5\x7c\x73\xb2\xb3\x94\x6c\x99\xc4\x0d\xf0\x8c\x41\x2e\x2b\xa9\x9d\xe5\x40\x70\xbf\x18\x84\x8c\x63\xff\x0e\xb2\x42\x9d\xba\x44\x48\x95\x99\x7c\x1c\x85\x10\x90\xb7\xe4\xac\x30\x02\x6b\x57\xc2\x3a\x7f\xe0\xa3\x3b\xa3\x8a\x80\x93\x10\xa4\x57\xd6\x20\x8e\x6f\x76\x2b\x6c\xda\xb9\xab\xe7\xf1\x44\x81\xf9\xf7\x74\x5d\x7c\xf9\xbc\xba\xd4\x3f\x1f\x96\x9a\x0b\xa5\x64\xc1\x46\x0a\x0d\xf5\x18\x20\x94\x39\x58\x85\x57\xe9\xc4\x84\xcb\x5f\x7d\xa4\x82\x3c\x24\xf2\x41\x76\x91\x6c\x22\x66\xec\x02\xaa\x0d\x95\x0e\x1e\xcd\x3b\x3b\x82\xa8\x26\x11\x86\x7c\xfc\x4d\xd6\x7b\xd3\xa6\x75\xfe\xff\xdc\x7a\xdf\xdc\xfe\x7c\xf7\x97\xc5\x72\xbf\x3b\x52\x95\x79\x8a\xc2\x8a\x32\x2e\x5a\x99\xaf\x49\x3f\x24\x5f\x32\xae\x52\x76\x14\xaa\x30\x96\xb6\xe8\x5f\x26\x40\x76\x23\xd3\xcb\x9b\xf9\x05\x93\xe5\xe2\xe2\x34\x54\xbd\x09\x45\x40\xeb\xb3\x17\x43\x12\x21\xc9\x9d\x13\x92\x10\xb3\xb9\x2e\x12\xc9\x3b\x72\xd1\x45\x62\xe7\x07\xe7\x0b\xc5\x08\x31\xc1\x45\x04\x7f\x52\x70\x2d\xc2\xad\x3d\x43\x30\x46\x25\x51\x5d\xe2\x73\xf3\x1a\xfa\xe5\xf0\xa2\x89\xd1\x6d\x46\x17\x61\x72\x80\x8e\xe5\x19\x89\xf0\xf3\x70\xfd\xd7\x9f\xde\xdd\xdc\xbf\x1b\x96\x8c\xf2\xfb\xc3\xb1\x29\x93\xca\x11\x8a\x3c\x2f\xc2\x55\x1c\x4c\x0c\xca\x24\xa9\x6e\xa6\xea\x83\x0a\x8d\x1d\x36\x37\x69\x34\x1b\xeb\x93\x98\xba\x42\xdd\x67\xc2\x9f\xa3\x47\x7c\x2b\x0c\x4c\xc3\x5c\x97\xd4\xc1\x85\xb4\x8d\x7f\x67\x97\x5f\xc7\x2e\x6f\x3f\x6f\xaf\x97\x1c\xd0\xf6\x34\xb6\x17\xde\x99\x5d\xe6\x59\xdb\xaa\xb8\xb1\x71\xbf\x9a\x58\x29\xc8\xf2\xe2\xc6\xe6\x40\xa9\x42\x63\xa8\x8a\xc7\x20\x5f\x10\x36\x55\x11\xad\x01\x7b\x91\xed\xc6\xa2\xae\xdb\x31\xc7\x66\xa2\x66\x4e\x2c\x48\xe6\xd8\xb6\xf4\x22\x3b\xd3\xb1\x99\x69\x64\x44\xcc\x38\x17\x29\xba\xc6\x59\xfa\x97\x47\xa8\x67\x9d\x27\x76\x42\x58\x55\xcf\x58\x37\x03\xfa\x29\xbd\xae\x22\x7b\xeb\xc4\xa2\x7b\x79\x8e\x24\xd4\x48\x13\x44\x40\xba\xa4\x02\x3e\xd6\xd7\x65\x32\x59\x0b\x44\xec\xeb\xe7\xcc\x74\xad\x7f\x4c\x3f\x4f\xe5\xf4\xbd\x91\x43\x96\x7e\x95\x70\x30\x57\x6a\x2c\x22\xc7\x74\x25\xcc\x9a\x5c\x1e\x75\x74\x72\x6d\x50\x96\x5d\x3f\x7a\xd5\x6a\xc9\x47\xbc\xcc\xed\xdc\x6f\x3f\xdc\x6f\x97\x1a\x4c\x77\x64\x9a\x64\xa6\xae\xcb\x91\x36\xa1\x15\xc1\x70\xc1\xf4\xc9\x3f\xc1\xab\xa5\x30\xcb\x61\x49\x09\x23\x57\x49\xc2\x15\x07\x73\xab\x8c\x1d\x76\xbd\x98\x07\xa3\x2a\x5c\x57\xd5\x38\xb0\x60\x02\x67\x32\xb7\xc6\xe4\xc9\x8f\xe7\xa3\xe9\x07\xd3\x97\x2d\x8f\x19\x3a\x5f\xe2\x04\x9d\xbd\x6b\x5c\x64\xdf\x89\xc8\x01\x8e\x29\x5a\x4a\xb1\x71\x49\xc4\x19\x57\x2d\x67\x8a\x9e\x98\xf3\x46\x78\x32\x0f\x9e\xcc\x2b\x8b\x75\xde\xc6\xfe\xf2\xc3\x71\x2e\xb0\xff\xe2\xe1\xf0\xdd\xb0\x20\x7c\x3b\xec\x34\x52\x7b\xee\xec\xa5\xb0\xd6\x11\x52\x52\x56\xe6\xc4\x77\xe6\xc4\x0b\x8f\x51\x2f\xb8\x14\xe4\x31\x45\x92\x85\x73\xd9\x92\xae\x1d\x94\xa3\xb2\x72\x9b\x51\x57\xce\x95\x30\xef\xb5\xc5\x4e\xe3\xaa\x6b\x42\x2a\x8e\x1c\xd6\xe1\xe2\x4e\x1b\x6e\x1e\xda\x9a\xb8\x75\x16\x45\x62\x0a\x24\xf2\xd1\x3d\xef\x45\x71\xd1\xdb\xe7\xbc\x13\xc5\x05\x5f\x1d\x8d\x8f\x49\x6a\xfe\xfd\xee\x8d\x6f\xd0\x3a\x8c\x96\x7f\x8b\xa1\x63\x6b\xbf\x68\xe2\xe1\xc6\xf8\x15\xcd\xcb\x7b\x17\x46\xaf\x37\xea\x4b\x26\xff\x37\xe9\x80\xb6\xff\xa2\xe9\xff\x76\xed\x6f\x4e\x3a\x80\xb8\x88\x64\xf7\xc2\xc0\xa1\x8a\xb9\xd2\x36\x37\xf4\x7c\xbc\xfb\xde\xe8\xfb\x5f\x17\x86\x0f\xb3\xb6\x06\xe8\xfc\xe6\x51\xe7\x9b\x17\x45\xe8\x0c\x77\xef\x16\x7e\xad\x6e\x89\x94\xc0\x71\xa6\x20\xce\x52\x4e\x08\x0a\x99\xbc\x1e\x5e\x62\x04\x87\x47\x45\xb7\x46\x01\x93\xa9\x9b\xbb\x5e\xe3\xc9\xab\xaf\x2c\xfc\x93\xa7\x6e\x94\x00\xf8\x04\xcf\xa9\x79\x18\x50\x1d\x3e\x85\xa3\x68\xe0\x2a\x3c\xab\x63\xc7\xce\xbb\xd7\x3a\xff\x7e\x18\xae\x17\x1e\x01\xee\x52\x70\xbe\x47\x28\x96\x5e\xf3\x19\xa1\x7a\xb2\x16\x76\x6f\xd8\xa5\xf4\x2b\xe8\x0f\x5e\x97\xda\x3c\x82\x1a\x89\x19\x1e\x32\x1e\x68\x08\x04\xaf\x30\x38\x85\x01\x1c\xe1\xe0\x1e\xd6\x0e\x5e\x63\xf3\x36\x64\x60\x4a\x40\x5d\xaa\x82\x0a\x0a\x43\xd4\xf2\x75\x02\x64\x18\x8d\x83\x7c\x2c\x13\xe9\x13\x6c\xc5\xd2\x3e\x42\x9f\xd9\xa9\xcb\x90\x70\x95\x70\x38\x2a\x1b\xd9\xc3\x11\x5f\x9b\xe1\x80\x98\x59\x39\x4e\xd5\xa9\x1e\x54\x26\x21\x24\xb0\xb3\x90\x56\x3c\xa4\x95\x15\x99\x2c\x07\x59\x52\xac\x26\xc5\x38\x3a\x16\xde\x37\x57\x0a\x7e\x74\x60\x12\x2c\x05\x18\xf0\xed\xc8\x16\xec\x9c\x05\x63\xd8\x60\xe4\x29\x65\xf4\xaa\x0f\x2b\xf8\x18\xe1\x1b\xc7\x0c\x28\x04\x6e\xcc\x56\x4e\x54\x29\xf2\x6f\x84\x5d\x93\x57\xb8\xa0\xe7\xe0\x1a\xde\x7f\xde\xdd\xdd\x6e\x17\x20\x47\xee\x59\x8c\x81\xa4\x18\x47\x9c\x80\x99\x23\xfb\x32\xa8\x42\x39\xd4\xee\xe9\xe1\xbd\x86\x9b\x17\x4f\xdd\xc7\x8f\x01\x42\xa4\x8c\x83\xfa\x6a\xed\x8d\x3f\xa3\x2d\xf9\x15\x06\x69\x54\x9a\x19\xc1\xd6\xb6\x23\x1a\x54\x79\x1c\xaf\xe2\x80\x70\x39\xe1\x8b\x6b\x84\x6b\x42\xf5\x93\x4c\x58\x84\xf9\x81\x66\x0e\x0e\x71\xb6\x36\xe3\xb1\x0f\xb2\x6c\x09\xfd\x6a\x72\x99\x0a\x18\x94\x80\xf1\x2a\x23\x62\xbf\x16\xd5\x4e\x56\x2f\x8d\x18\x76\xa3\x17\x56\x81\xaa\x87\x4f\x5d\x93\xce\x48\x5f\xf6\xfe\x25\x26\x9e\xd7\xda\xd2\xbd\x3b\x44\xb1\x4b\xf7\xa2\x9f\x7d\x2b\x31\xed\xba\x28\xde\x63\x91\x42\x1d\x65\xd1\x30\xec\x64\xc9\xc3\xa9\x9d\x23\x53\xca\xe4\x2a\x43\x0e\x72\x01\xe1\xe4\x0e\x0c\xb3\x54\x26\xd4\x20\x31\x3e\x4c\x62\x3c\x98\x84\x2b\x18\x96\xa5\x7c\x4b\x59\x76\x30\x5f\xdc\x76\xfb\xbb\xe1\xcb\xa7\xed\x4f\x2b\xce\x8f\x6e\x01\xbb\x90\x53\x39\x8a\xa8\x64\x2e\xe1\x70\xed\x2c\x19\xeb\x59\x65\xec\xbd\x27\xef\xfd\xce\x38\x44\x1c\x2c\xcf\xa6\xc6\x08\x3e\xd5\x16\x27\x37\xf4\x37\xbf\x92\x9f\xed\x43\x7b\x7f\xf7\xcb\xc2\xcf\xdd\x2d\xb1\x0a\x0e\x17\xd2\xef\x66\x70\xfd\x72\x53\x2d\x0d\x4c\xb2\xaa\x21\x0a\x7c\x40\x13\x30\xd5\xab\xa4\x0b\xe1\x4f\xc8\x6e\x3c\xee\x86\x3a\x4e\x49\xf5\xf0\xcb\x04\x85\xc3\xc6\x6f\xae\x92\x8b\xcd\x07\xec\xfb\x4a\x3e\x6d\x1a\x3b\x05\xbd\x32\xf3\x17\x3c\x00\x98\x16\xb6\x3c\x5e\x31\xbd\x06\xa9\x2e\x53\xaf\xbb\xf5\xc6\x0e\x22\x7a\x1c\x33\x74\x9d\x34\xf7\xb3\x4d\xdd\xbf\x8c\x9a\xd8\x97\xed\xcb\xe7\xc5\xa2\x2d\xad\x84\xa7\x31\xbe\xff\xbe\x68\xbf\xe9\xa2\xa9\x51\x7f\x76\x82\xf6\x64\xd4\x87\xd0\x4d\xfe\xde\x86\x4b\xc1\xb8\xfc\xc9\xb8\x72\x37\x59\xce\xd3\x2b\x17\x71\x55\x83\xd1\x18\xe1\x94\x96\x13\x85\x30\xe6\x40\x31\x28\xb8\x12\x31\xc6\x1b\xe0\x37\x9c\x55\xb5\x34\x7f\x9f\x99\x02\x14\x1a\x85\x88\x0a\x4b\xa1\x95\x18\x5f\x09\x8a\x78\x54\xff\x74\x11\x0f\x9e\x72\x71\xe4\xa0\xea\xb0\x43\xd7\xdb\x3c\xa0\xce\xde\x4f\x0a\x74\x0f\xe6\x24\xcb\x62\x62\xb4\xde\x83\xd1\xf3\xc7\xa3\x4d\x4f\x56\xf1\x78\xb4\xa9\x8f\x36\x53\x50\x36\x1e\xb8\x75\xf3\xb7\x31\x24\x99\xfe\xe2\x28\xf2\xc8\xea\xb4\x27\x2c\x8e\x73\xb9\xa5\x4a\xae\xd4\x66\xf4\x13\xa1\xfc\x78\x30\x1a\x9f\x30\x10\x7d\xcb\x48\xd5\xe6\x50\xf7\xe1\xab\xce\x88\x7f\xc9\x8c\x38\x98\xc5\x98\x0e\xc3\x6b\x87\x51\x5f\x3c\xb4\xe3\xbd\x1c\xd4\xc5\x89\x5d\x1a\x6a\x0f\x6e\x76\xd0\x1c\xe0\xc0\xc2\x06\xea\x00\x68\xb0\x63\x57\x3a\xee\x05\x8b\x70\xbb\x7c\xa6\xd1\xb5\xe7\x1e\x3a\xe1\x28\xea\x4e\xfd\x97\xbc\x3a\x32\x19\x5f\xbc\x3e\x2a\x35\xed\x66\xd7\xa6\xfe\x28\xa8\x1b\xf9\x99\x47\x29\x58\xd9\x04\x70\x30\x97\xcb\x1e\x1e\xe4\xbb\x14\xec\xd4\x11\x57\x56\xfb\x01\xaf\xb4\xd5\x67\x9b\xf9\x18\x1d\x1c\xab\xf6\x73\x29\xfd\x49\xbe\x49\x3b\xf3\xf4\x9c\x54\x2e\x7d\x9a\xbd\xde\x9f\x76\x0a\x0d\xaf\x3f\xbc\xb4\x7e\x3f\x5f\xaf\x2f\xe0\xa5\x18\xfb\xe4\x49\x5a\xf0\x7b\x69\x6f\x97\xfc\x1e\x16\x11\x99\xe9\x44\xbc\x33\x22\x47\x05\x9b\x45\x9e\x92\x07\xf9\xf1\x2d\x70\xc0\x76\xc6\x73\x7f\xc0\xd3\x03\x9f\xf3\xfa\x83\xe8\x83\x3c\x48\xbd\xaa\x34\x57\x95\xd2\x99\xaa\xb2\xf3\x67\x1e\x94\xb4\xfe\xa0\x06\xbc\xa1\xe3\xc8\xd3\x38\xb2\x2c\xb0\xb5\xab\x4f\x36\x6f\xd9\xe9\x18\x57\x5e\xf2\xb2\x2b\x56\x9f\x84\x70\xee\x9d\xe4\xa3\x3c\xa9\x41\x9f\xd4\x70\x78\x52\xcb\xfa\x5c\x42\xe4\x5a\x9b\xfe\x8b\xce\x53\x2b\x32\xe7\x6c\x49\x0d\x01\xee\xda\x45\xa5\x3f\x73\x10\xff\xcc\x41\xfe\x3b\x8a\x0f\x6a\xc7\x71\x43\x47\x5f\x8f\x4a\x1c\xde\x9b\x2b\x7b\x7c\xcb\x91\x23\x75\x1c\x17\x6d\x47\x5e\x1c\x4c\xa8\x2c\xf2\x8a\x03\xb9\xd2\x5f\x59\x3e\x47\x29\x65\x67\x1f\xef\xcc\x91\xb2\x48\x8c\xbe\x20\xaa\x27\x05\x90\x39\x6e\x06\x11\x22\xcc\x79\x1f\x38\x2d\x21\x27\xe4\x47\x54\xc4\x22\x2a\x3a\x04\x4f\x59\xa7\xef\x6f\x86\x8c\xfb\x83\x83\xc6\x0b\x55\x8d\x17\xba\xcc\x38\xb7\xeb\x8f\x4b\x49\x6d\x19\xbf\x7b\xf0\x63\xfa\xf7\xf9\x5d\xcc\xef\x5b\x2e\xb5\xbe\xae\xb3\x3e\x75\x23\x16\x87\x26\xaf\x84\x38\x84\x2c\xd2\xb7\x1d\x35\xce\xcb\x67\xaa\x3d\xc6\x47\x5e\xac\x3c\x8d\x29\xe8\x98\xe0\x1c\x2f\x0c\x9a\xb2\x63\x99\xa4\xaf\x3b\xe7\xc2\xd9\xee\x7f\xcd\xee\xf8\xf9\x6e\x19\xdd\xed\x96\x01\xcd\xc7\x72\xbc\xaf\xc4\x36\x96\x11\x5c\x49\x26\xf8\xdf\xb8\x3a\x18\x97\xb1\xf4\x49\xad\x31\x29\x08\xa3\xa3\xe6\x33\xc5\xd5\x54\x45\x4f\xf0\x50\x75\x3a\x3f\x9a\x0c\x86\x8b\x43\x39\x48\x9e\x75\x8a\x05\x1c\x8d\x0b\x04\xb9\x90\xd8\xe5\xd1\x52\x20\x4f\x2e\xb7\x40\x3e\x8f\x4c\x85\x8c\x27\xf5\x61\xf5\xc4\x80\xc1\x24\x96\x9f\x1d\x37\x04\x14\xaa\x47\xed\xf4\x6d\x74\x5e\x26\x34\x44\xaa\x88\x39\xb4\xf8\x1c\x3d\xb1\x55\x7f\x60\xab\xb0\xa0\xae\xc8\x6f\xb0\xe1\xb8\xd2\xe4\x5f\xbf\x19\x1d\x0b\x5f\x14\x1c\x55\xd7\x9c\xec\xde\x91\xa9\xaa\x79\xde\xbb\xd6\x5f\x0b\xc4\x9e\x9c\x23\xaf\xfc\x12\x98\xa7\x51\x3d\xdc\xc0\x98\x6a\x08\x19\x76\x7f\x92\x27\x7d\x04\x6a\xd5\xc5\xd2\x8e\x8e\x0a\x55\xe2\xd2\x58\xe3\x30\x32\x39\x1e\x0b\xdc\x39\x12\xfa\x88\x28\x44\xf2\x32\x2e\x61\x9c\x65\xd8\xd2\x03\x37\x8f\xd7\x27\x62\x40\x84\xe2\x14\x46\xc8\xef\x64\xfc\x28\xfb\x9f\x22\x53\xdd\xe5\xc4\xc2\xbd\x5a\x8d\x2c\x89\x09\xb0\xcd\xec\xad\xac\x5e\xc0\xea\x6d\xb0\x75\x11\x18\x61\x3a\xc4\x9b\xae\x0d\xbb\x72\xd5\x31\xe8\x76\xa6\xa4\x3a\x31\xcc\xd8\xa8\xb1\x9b\x92\x12\xec\x7a\xc1\x8f\x70\x7a\x96\xeb\x1f\x9f\x3b\x59\x6f\x57\xc9\x52\x4c\x04\x4c\x52\x1f\x49\xf8\xe4\xc1\x5b\x4b\xb5\xe4\x31\xcb\xe4\x45\x8a\x59\xf5\x57\x11\xfe\x55\xc1\x3f\xbe\x8d\x59\x8e\x75\x4c\xa3\x09\x34\xf9\x50\x43\xf1\x6c\x55\x69\x98\x6c\x99\xc2\x3a\xba\xca\x50\x57\xdd\x5d\xc5\xc1\x31\xa5\xa0\x4b\x63\xdc\xa4\xf0\xb6\xaa\xee\x96\xf7\x26\x65\x63\x9c\xd5\xe6\x46\x43\x53\x55\x69\x1d\x14\xe7\xe1\x7b\xb4\x7c\xd2\xf0\x73\xe7\x75\x89\xa0\xfe\xc1\xba\x65\x40\xfc\x11\xa8\x21\x27\x78\x47\x4f\xc8\xdd\xb2\xd2\xa3\xf7\x18\x95\x3a\x73\x04\xd6\xed\x64\x92\xb2\xab\xd0\x4d\x79\x19\x77\xff\xb5\x99\xa9\xa0\x1e\xef\x8e\x44\x5a\x26\x80\xdf\xe2\xc9\x03\x3c\x92\x29\xb8\xa0\x5f\x4c\x70\x41\x77\x93\xef\x78\xc1\xd0\xee\xf9\x0e\xd9\x5a\x47\xf9\x1d\x52\x89\x54\x1d\xb8\x69\x6b\xc2\x44\x69\x0f\x84\xa9\xd2\x5f\x5a\x2f\x22\x87\xb1\xca\x00\xea\x8e\x6d\xb8\xcc\x44\x7c\xbe\xbf\xb9\x5d\xda\x08\x3f\x5c\xa0\x6d\xc2\xce\xdb\x5d\xa9\x69\xef\x62\xea\x31\x23\x2e\xa6\x6e\xbf\x0b\xfa\x48\x19\xdf\x73\x90\x1b\xa9\xf3\xb2\x46\xb9\x5c\xb8\xe7\x40\x25\xf7\xab\x9d\x33\x63\x4e\x7b\xa3\x57\xda\x73\x88\x06\x9c\xce\xba\x70\x9e\xb1\x30\x6c\xb4\xe7\x97\x71\x0c\xb4\xf1\xac\x88\xe3\x5d\xf0\xc5\xbf\xf8\x61\x97\xc2\x3e\x02\x42\xed\x89\x9d\x22\x65\xb7\xe2\xb3\x3f\x88\x54\x62\x38\xba\x33\x41\x03\xb2\x02\x29\x8c\xb9\x42\x23\x8b\x73\x02\xad\x41\xec\xb1\xe3\xcf\xf9\xa3\xbc\xbb\xfe\xb4\xbd\xbf\x7e\xba\xfc\x7e\x19\x69\x7f\x60\x7c\x6a\xb2\x54\x52\x98\xbc\x3b\x14\xcd\x1d\x84\x5b\x3d\x26\xf0\x4b\x33\x27\x7f\x1c\x97\xea\x7f\xe8\x77\x94\xd2\x42\x47\x5f\x0f\x25\x8e\xf0\xca\x46\xb6\xb0\x5e\x75\xc3\xd1\x6c\x37\x2a\x55\x17\xbb\x5b\x99\xcc\x6c\x66\x32\x39\x4e\x5e\x5d\xfa\xea\x6c\x7c\x52\x63\xd4\x5e\xdf\x94\x67\xdd\x3a\xa5\xcf\x85\x7b\x18\x22\x13\x1c\x72\x65\x6f\x55\x4a\x73\x7c\x73\xc7\x9c\x8f\x57\x51\x61\xcf\x34\x06\x4a\x11\xed\x65\xa5\xd3\x1c\xbe\x3d\x00\xb9\xd8\x27\xa9\xee\x11\xb3\xc6\xae\x8c\x5c\x22\x59\x3a\x13\xce\xdf\xbe\x31\x6c\xc0\x65\x93\xd5\xdd\xf2\xdc\x7b\xbe\xa4\x93\x93\x6b\x3d\xe7\xc1\x70\x86\x4e\xc4\x0a\x71\xb4\xaa\x02\x27\xe3\x1a\x20\x55\xc9\xb8\x11\x1b\x23\x66\x72\xa3\x29\x99\x1c\xbc\x26\x4a\xa0\x10\xdd\xe3\x5b\x68\x5e\xca\xe0\x28\x57\x21\xb3\x40\xb7\x45\xf0\x9f\xf0\x48\x16\x10\xfd\x13\x5e\x2e\x9c\x6e\x5c\x6d\x9e\x29\x5a\xb9\x2d\x7c\xa6\xc4\x69\x70\xc5\x52\x76\x61\x97\xe3\x2e\xfa\x11\xbe\xe9\x3d\x58\x67\x70\x16\x20\xeb\xe8\x99\xc9\x45\x4d\x8f\x2e\x22\xf3\x82\x5c\xe5\x2e\x07\xd5\x8f\x09\xd5\x8e\x78\x55\x5a\xca\x0e\x20\xe5\x80\x09\x87\xb6\x07\x61\xb3\x19\xab\x2f\xb7\x2c\x8e\x24\x42\x03\x82\xba\x25\x8d\x09\x37\x7a\x92\x52\xdd\x51\xa7\x5b\x61\x26\xe8\x74\x98\xcb\x46\x93\xbc\xfa\x5b\x59\x2a\x42\xc2\x98\xca\x68\xb2\xba\xea\x80\x0b\x6d\x86\x73\x91\x0b\x02\x50\xe6\x81\x72\x19\xd8\x33\x42\x4a\x01\xa8\x2d\x33\x00\x86\x46\x76\xc5\x14\x65\x17\x94\xc5\x49\x1a\x0d\x55\x5a\x25\xe6\x06\xfd\x10\x6c\x0d\xd2\x37\x06\x03\xd5\x4c\x76\xc4\x19\x8c\x25\x82\x3c\x85\x17\x8f\x96\x54\x4b\x6a\x62\x99\x99\x4f\x58\x51\x8c\x22\xf7\x72\x72\x57\x71\xd3\x43\x00\x65\xd6\x14\x8e\x5d\x71\x07\xd4\x7b\x65\x1e\x6b\xcc\xea\x7c\x89\x7b\x6c\x64\x10\x6f\x96\x9a\xc7\x1e\xb2\x2b\x73\x3e\x4a\x4b\x32\x0d\x59\xa5\x8f\x36\x7f\x1b\x8d\xba\xd0\xaa\x87\x64\x43\xbc\x95\x54\x64\x4a\xb7\xce\x30\x0c\x74\xe1\x99\xcb\x7e\x58\x78\x14\xfb\xa5\x93\xcb\x51\x44\x68\x8c\xc4\x51\x38\x3c\x38\x3f\x06\xb8\x42\x8e\x1e\xeb\x22\xff\x7a\x8f\xa8\x31\x69\x3f\x30\x71\xb1\x60\xe2\xe4\x22\x4f\xd2\xbf\x1c\x9a\x49\xc2\x3b\x06\x4c\x31\x00\x0c\x1c\x68\x59\xd7\xd5\x21\x90\xd7\x8d\x26\xeb\xe2\x5b\xb8\x44\x4d\x32\x91\x4e\x71\xac\xd3\x36\xd1\xa9\x2a\xe0\x08\x53\x9e\xb7\x0f\x96\x4f\x63\x78\x55\x6f\xa7\x21\xb5\x8f\x6f\x63\x60\x12\xfe\x34\x38\x00\x55\x5b\x61\x40\xc7\x02\xf8\xf5\x20\x7c\x82\x5a\x2f\xb1\xab\x11\x6a\x2d\xdb\x16\x0c\x14\x07\x04\xec\x42\x23\x5c\x89\xf5\x4e\xcc\x95\x8a\xda\x67\xa9\xc7\x50\x22\x42\x6c\x34\x11\x97\x1f\x8c\x7c\xec\x3b\x12\xb6\x22\x51\xb4\xa0\x17\x92\x6a\x96\xb5\xb7\xa5\x4b\x06\x46\xcd\x75\x21\x21\x3a\xb0\x1e\x1d\xf7\x1a\xe4\xd8\x05\x2a\x91\x38\x35\x39\x97\x0e\xbe\x80\xae\x6f\xf2\x0c\x58\x66\x8f\x3d\x05\x86\x5d\x48\x99\x4a\xc3\x8a\xa6\xb1\x57\xfb\x9e\xcc\x63\x2d\x4e\xf7\xa6\x75\x51\xd8\xce\xd2\x77\x2a\xb6\x39\x36\x16\x77\x1c\x8d\xdc\x90\x72\x41\x4e\xcc\xa6\x23\xaf\xfb\x41\xde\xf0\x63\x2d\xe4\xc8\x07\xab\xb2\x80\xcf\x70\xd7\x50\xce\x4f\xb8\x00\x59\xc8\xfe\x39\x66\x7b\x20\x73\x32\xc1\xca\xe2\x07\xd7\x64\xda\x4c\xe6\x06\x8c\x0e\x78\x23\x22\xc2\x1a\x78\x2b\x1d\xbe\x42\xa9\xb1\x1e\x2f\x11\x7e\xb3\x6b\x2a\x84\x1b\x50\x25\x0d\x44\xd2\xcd\x63\x82\x1d\x19\xb1\xfb\xb2\x9f\x7a\x6b\xa1\xcd\xd9\x22\x3a\xe2\x47\xcf\x7e\xc3\xea\xb9\x5a\xd5\xf7\xd2\xab\x2b\xa7\x48\x05\xea\x03\xdb\x9d\x32\x65\xf4\xc2\xaf\x0b\x37\x21\xcb\x1a\xd4\xff\xd3\x3b\xf2\x4d\x3f\xe6\xcb\xd1\x03\x23\x00\x50\xff\x08\xa7\xba\xec\xd7\xdd\xae\x87\x65\x8e\x1a\xbf\x74\x0c\xb1\x6e\xba\x3e\xb0\x15\xd2\xc0\x99\x4a\x1c\x11\x5c\x8c\xd3\x84\x4b\x4b\xc8\x54\x6d\xb1\xce\x82\x68\x21\x88\x3e\xc4\x96\x47\x96\xa2\x0e\x6a\x73\x39\x93\x11\x1b\x35\x3a\x72\x72\x46\xf6\x4e\x85\x60\x30\xc8\x58\x7b\x98\x5b\xf4\xc2\x6e\x42\x78\x44\xc0\x13\xaa\x64\x3d\x6e\x05\x07\xe7\x00\x03\xe2\xa9\x58\x2b\xb9\xb1\xd3\x9b\xeb\x2a\x8e\xe0\xd3\xe1\xc3\x0a\xba\xeb\x98\x72\xc3\x9f\x70\xb3\x8c\x0a\xac\x00\xd6\x5e\x18\x73\xab\xc1\x28\x6c\x35\xc6\xbe\x67\xf7\x50\x09\xd0\x0b\x11\x35\x3d\xec\x06\xb4\x04\x27\x4e\xf8\x57\xdb\xdd\x5a\x83\x66\x5b\xd0\xdd\xa4\x30\x0c\x6a\x2e\xd7\xa7\x8c\x15\xce\x59\x99\x0b\xb5\x8d\x80\xaa\x62\xb0\x45\xd1\x1f\xaa\x90\xd3\xd4\xc9\x84\x49\xba\xaf\x06\x59\xc1\xa2\xe1\x40\x8a\x47\xe4\x79\x34\xbe\xe7\x45\x48\x64\xaa\x7a\x35\x82\xf2\x61\x03\xa9\x27\x6d\xff\x3a\x1a\x48\xa1\x72\x7b\x0b\xb5\x2e\x09\xa4\x5a\x76\x97\xd3\x44\x27\x0e\x09\x4e\x40\xa3\x35\xe4\x86\x35\xde\xf7\xb2\x8a\x6d\xfb\x97\xf6\xd3\x6e\xbb\xcc\x21\xf6\xc1\xfa\x4b\xae\x32\x9c\x03\x38\x40\x65\x37\x02\xbc\xcf\xa7\xb0\x37\x39\xee\x03\x40\x20\xe4\xda\x1a\x35\xec\x4e\x38\x67\x0d\xc7\x96\x4f\x97\xb4\xc0\xf4\x5c\xc3\xd5\x94\x44\xca\xa5\x88\x68\x76\xdb\x03\x5b\x85\xd6\x7b\x15\xbd\xf4\x51\xeb\x45\x87\xa9\x0a\xad\x01\xf5\x36\x6d\x65\x98\x9b\xef\xad\x4f\x1d\xc3\xa5\x8b\xce\x4a\xc5\x7b\x83\x26\x8a\x7d\x7c\x5b\x58\x6e\x9d\x3c\x44\xb0\x24\xa3\x10\xf7\x48\xb0\xd6\xc4\x11\x27\x54\x4e\xa6\xdb\xc0\x2b\xc9\x8d\xd0\x91\x41\x3d\xa4\x64\xe9\xf0\x75\xe7\xaa\x1f\x93\x06\x39\xe2\x11\xf6\xb1\x85\xe6\xa3\xc1\x9b\xa5\x0a\xa3\x20\xdf\x06\x19\xcf\x88\xba\x43\xaf\x46\x3f\x47\x07\x78\x7a\x59\x59\xef\xc1\x49\x97\xee\x79\x6c\xab\xea\xeb\xa4\x20\xbc\x2e\x0a\xb2\x13\xc8\x16\x8a\xba\x20\xc6\x23\x9c\x9f\xbb\x3b\x8f\x10\x5c\x3f\xf9\x6c\xab\x2d\x2f\x51\x51\xc0\x11\x45\xcc\x47\xba\x8f\x06\x35\x01\xfe\x2e\x64\x0f\x52\xbd\xc5\x81\x61\xa8\x4b\xe4\xae\xd3\x67\xb8\xc5\xf0\x0d\x4e\xd0\xcd\xc0\xd3\x78\x94\x63\x20\x3c\x7e\x51\x50\x3d\x39\x08\x01\x63\x28\xa5\x39\xa4\x41\x50\x17\x9a\x1e\x20\x02\x60\x7e\x29\xa4\xb9\x49\x20\xad\x57\xe8\xe6\x60\x8e\x9d\x4e\x27\x48\x03\xc8\x37\x7c\xd8\x49\x51\x9a\x3a\x2f\x22\xc4\xa3\x0e\x2a\xef\x83\x8b\x03\x77\xc3\x85\x70\x12\x33\xce\x48\xbf\x36\x85\xf5\x97\x53\x11\x35\xdc\xc2\x53\x44\xb0\x4a\x74\xfb\x2a\x87\xd2\x75\xda\x17\xbc\xd2\x16\x57\x5b\x2e\xe4\x94\xe1\x0c\x88\xc7\xf0\x05\xce\x33\xc8\x91\x43\x1e\xb1\x0b\xf2\xb1\x67\x16\x86\xd3\x41\x1f\x07\x15\xd1\xc4\x7d\x70\x57\x93\x79\x72\xa1\x19\xf0\x82\xb2\x32\x88\x97\x4b\xb2\x00\xd3\xc6\x46\xfe\x1d\xd7\xb0\xcc\xae\xab\x21\xd9\xab\x1e\x23\xab\x39\xb4\xe7\x2c\x90\x5b\xd4\x4d\xee\x44\x08\x38\x00\xd7\x98\x28\xc0\x1c\xf7\xfc\x61\xff\xe5\xe6\xfd\x12\xe8\xd9\xc7\x39\xbc\xfb\x45\xc7\xa0\x9f\x02\x5c\xc2\x4e\x93\xf4\x34\x6f\xa7\x5d\xe1\x82\xd0\xb8\xab\xa8\x8a\x1a\x91\x26\x3c\xff\xc6\x7b\x5d\xf5\xb4\xf3\x5e\x27\xaf\x51\xf4\x50\x62\x65\xe2\x2a\xd7\x04\xd8\x35\x21\x93\xde\xf6\x39\x67\x8d\x32\xe1\x8d\xa2\xeb\x20\xfb\x19\x7c\xfb\x4f\x36\x32\x08\x77\x74\x7b\xe5\xaf\x84\x4f\x95\xbf\x43\xeb\xf8\x5f\xb6\x75\xa6\xd1\xff\x5d\xee\xee\x2c\xc2\x09\x77\x1e\x3a\x11\xe3\xfe\xd3\xb4\x1f\x53\xc6\xa9\x38\x4b\x50\xd0\x6d\x65\x1d\xa1\xea\xb0\x5d\x57\xb1\xe0\x77\x29\x12\x42\x63\xca\xbe\x59\xca\x2a\x30\x93\x72\xd0\x50\x04\xbb\xc5\xfe\x0f\x7a\x65\x25\x3f\x09\x6a\xe0\x97\xdc\x94\x89\x07\xb1\xa5\x38\x05\x7c\x72\x0a\x94\x90\xe3\x1c\x84\x95\x53\xf0\x96\x3d\x10\x7e\xa2\xc6\x9b\x83\xe4\x57\x88\x46\x7a\x89\x23\x0f\x1a\x18\x8d\x50\x1b\xd4\x7c\x48\x50\x28\x4b\xa3\x37\x55\xeb\x37\x16\x34\xa8\x5e\x51\x93\xbc\x6d\x66\x7e\xc9\x1c\xaa\xea\x57\x4a\xed\x9e\x0a\x56\xc5\xd1\x39\x6f\x1e\xb9\x39\x12\x0e\xac\x34\x94\x09\x5e\xa7\x58\xdd\x97\x7b\xaa\x13\x47\x3a\xba\xda\x0b\x19\xef\x7b\x00\x9d\xf7\xbd\xaa\xce\xce\x28\x6b\xa4\x9e\x07\x0a\x07\x05\x02\x05\x71\x11\x42\x10\x7a\x85\xbe\x4a\x57\x7d\x22\x6f\x21\x5e\x22\x47\x93\xdc\x94\x9b\x86\x8f\x31\x90\x87\xeb\x84\x6d\x53\xe9\x43\x05\xbd\xce\xae\x29\x9e\x9b\x6c\x73\x3f\x8e\xfb\x36\xf5\x77\x1e\xc2\xae\x0f\xcb\x81\x7b\xe9\xbd\xeb\x63\x3f\xcc\x45\x9f\x9d\x79\xc2\x2e\xd2\xaf\xeb\xe1\xe6\xe3\xed\x4f\xc3\xf6\xc3\x92\x57\x39\x97\x1a\x54\x79\x95\x2a\x23\x71\xc7\xa9\x19\x96\x91\x86\x29\xad\x83\xaf\xcc\x29\x20\x8e\xfd\x94\x50\x7a\xc5\xfb\xb4\x43\xbf\x00\x03\xed\x42\x5b\xae\xd8\x57\xb4\x25\xa5\x57\xdb\x4a\x29\x50\x4d\x76\xa5\xad\xcd\x51\x63\xd1\xaf\x26\xd5\x3c\xd3\x98\x94\x5e\x6d\x4c\xb3\x0b\x85\x70\x79\x64\x22\x84\xbe\xbc\x31\xe8\x50\x5f\xe7\xc3\xab\x7b\xe0\xdd\xf6\xb6\x2d\xd3\x23\xf9\xa5\xcb\xe1\xef\x78\x17\x9c\x49\x76\xba\xde\x94\x14\x7e\xe5\x1e\x98\x5a\xda\x5c\x08\xa3\x5d\x1f\x16\xcc\x2d\x5f\xbd\x07\x52\x78\xc5\xe6\x96\xc2\x5f\xb5\x03\x56\xd2\x1e\x7f\xb0\xfe\x5c\x66\xdf\xef\xbe\x01\x32\x30\x95\xbe\x0f\x19\x90\xb6\xbe\x1b\x19\x50\x90\xc7\xdf\x09\x19\xf8\xb7\x2f\x0f\xed\xe6\xc3\x22\x9b\x9d\x3f\x97\xff\xfa\xf7\xb9\x0d\xbe\x61\x5b\xcf\x6f\x83\x6f\xd8\xd8\xf3\xdb\xe0\x9b\x34\xf6\x5c\x3c\xe5\x62\xf5\x2f\x39\xd4\xb9\x98\x14\xca\x75\xc2\x8a\x3d\x6b\x8e\x54\x8c\x8a\xb3\x21\x3d\xd5\x9d\x8b\x69\xbb\x1c\x2f\x2b\x1d\x40\x48\xdf\xf7\xec\xc0\xe6\x69\x0f\x00\xe0\xf5\xb7\x9a\x02\x4d\xad\xf1\xb2\x45\x00\xc6\xda\x57\x75\xc1\x87\x8b\x00\xf3\x0e\x88\x3e\x39\xfd\x8d\xa7\xe1\x85\x5b\xe1\x95\xd3\xb0\x39\x9d\x87\xe7\x3a\xf1\xc2\xdd\xf0\xab\xd6\xe2\xb9\x3e\xbc\x74\x2d\x9e\xed\xc4\xe6\xeb\x7a\x71\x19\x30\xe5\xfd\xf6\xb6\xad\x0b\x1e\x97\xb2\xe2\xf8\x12\x74\x6e\xa7\xd0\xa6\x33\xc3\x3a\x0e\x6f\x1a\x8c\x2b\x85\x5c\x29\xa3\xa9\x54\x09\xc1\x4e\x4d\xfe\x19\xa6\xdf\x6b\x87\xc4\xf9\x46\x27\x2c\xbb\xf2\x95\xab\x9a\x5d\xb9\x18\xbc\xfb\x8a\xfd\x6d\xcb\xd7\x76\x42\xde\xfc\x36\xdb\xfb\x57\xf5\xe1\x62\x2e\x8b\xd7\xec\xef\x6f\xb9\x1c\xaf\xdb\xde\xeb\x1c\xf5\xa5\x74\x39\x7e\x4e\xaf\x70\x88\xda\xd3\xfd\x6b\xfa\x06\x9e\x01\xc0\x2e\x8c\xa9\x07\x39\xae\x8c\xe9\x28\x48\x70\x98\x6b\x45\xa5\xc7\x90\xe3\xff\xbe\xcf\xff\x7d\x9f\xbf\x68\x9f\x7f\xb8\x7e\xb7\x6d\x37\x9f\xb6\x3f\xed\x6f\xde\x6f\xef\x16\x3b\x7d\xe9\x3a\xfc\x54\x68\x38\x89\x7d\x0b\x4e\xed\x8e\xb1\x9e\x89\xc6\xea\x60\x7e\xd6\x53\xb0\x7e\x2f\xcc\x30\xa6\x04\x76\xca\x33\x7e\x58\x1d\x81\x52\xbd\xb8\xce\xf8\x64\xed\x7b\x42\x13\xae\xb4\xea\x9d\xb5\x03\x74\xe6\x25\x3f\x30\xe9\x4b\x1c\xb4\x63\x6e\xe4\x32\x87\xd9\x75\x70\x4e\x19\xc5\xe6\x15\xf0\x39\x9f\x6f\xde\xb5\x2f\xf7\x8b\xc0\x16\xbf\xf4\xeb\x3c\x38\xac\xa5\x60\xa9\x27\x22\x80\xba\x5f\xd1\xea\x9b\x99\x40\x16\x8d\xa2\x2c\xb6\x0e\xbc\xd8\xfa\x47\xff\x75\x2a\xd5\x5f\x3b\x71\x33\x0c\x45\xf5\x1d\xb2\x87\x86\x8e\x37\x38\x70\x82\x92\xd9\x0e\x91\x1d\x45\x76\xb2\x59\xd5\xf9\xcb\x4e\x99\x55\x2f\xc1\x47\xb0\x9b\x9d\x17\x57\xf1\x23\xa4\x82\x75\xfc\x88\xbd\xbc\xba\x39\x8b\x5d\x71\x9a\xff\xb5\xb7\xf2\xfa\xfc\xaf\xfa\xe2\x37\xca\xff\xfa\x79\x7b\xfb\xee\x66\x91\x80\x23\xd8\xc9\x42\xe4\x93\x27\x3b\x54\x86\xdf\xbf\xf3\x91\x9c\x8f\x03\x82\x07\x2a\xcb\xf1\xc8\xbb\x39\x2a\x8b\x6d\x7e\x7c\x5b\x4a\xa2\xaa\x02\x9f\xba\x88\x00\x5d\x40\xad\x16\x99\x4c\x1e\x4c\x94\xb3\x14\x83\x43\x8e\x02\xfd\x3f\x2c\x6a\x5a\x58\x3e\x46\x94\xe7\x4c\x79\x90\xc2\x52\x36\x93\xfc\x8f\xa5\x01\xef\x00\x4f\x3e\x04\x96\x99\xe3\x34\x18\xf9\x49\xfe\x01\x2a\xf2\x3e\x70\xea\x41\x1b\x93\xaa\xfd\x38\x10\x82\x35\xb0\x3b\x0d\x52\x96\xe4\x75\x46\x0c\x78\x1c\x7d\xd2\xf8\x0b\xf2\x65\xa3\x5e\x85\x9a\x5e\x61\x90\x51\x1b\xe7\x5f\x13\xad\xf0\xe9\xfa\xf3\x4f\x9f\xae\xef\xff\xbc\xd4\x5a\x86\xa5\x7f\xdf\xc1\x41\x03\x48\xf6\xb3\x4b\xe4\xaf\x4f\x5b\x01\xe4\xfa\xc9\x39\xb3\xa3\x39\x70\xae\x9a\xeb\xde\xe4\x1c\x34\x73\x84\xc7\x76\x81\x79\xc5\x75\xc7\x2a\x38\xfc\xe2\x1b\x3c\x80\x11\x73\xef\xe4\xbd\x48\x78\xcd\x7b\xb8\x31\x79\x0f\x34\x29\x4b\x8e\x1d\x71\xb4\xe4\x93\x6b\x3e\xe1\x3b\x3e\x0f\x29\x86\x7c\xba\xec\xcf\x72\xfd\xfe\xdf\xbe\x2c\xc5\xfb\xe0\xfe\x70\x34\x37\x35\xed\xfb\x85\xf6\xd5\xc0\x8f\x7f\xbf\x40\x8e\x6d\xc5\x4b\x3c\x5c\x72\xf7\x11\xea\xa7\x71\xd7\xc8\x02\x62\x29\x55\x00\x0d\x93\x7a\x01\x74\xda\x04\x5f\xaf\xd2\xd4\xd6\xda\x8c\x53\x57\xcf\xd1\x04\xb8\x31\x3a\x26\x4e\x4d\xb1\xe4\x7b\x56\x11\xdf\x53\x4c\x68\x50\x6c\x24\x83\xd7\x30\x34\x5f\xba\x87\x41\x87\x8b\x73\xba\x45\xf0\x99\x6a\x3f\x8a\xaf\x09\xbd\x92\x0d\x3c\xa5\x28\x67\xdd\x4d\xd8\x49\xcd\xcc\x9b\xcb\x4c\xdb\xcd\xf4\xfd\xa7\x49\x17\x22\x15\x26\x97\xe3\x98\xa8\x52\x72\x53\x68\x18\x5b\x26\x8e\xdc\x34\x80\x27\x97\x56\x3c\x39\xcb\x57\x71\xac\xe4\xe1\xc8\x1f\x72\x8b\x4c\x2c\xff\x5e\x75\xf4\x48\xf5\xe3\x42\x72\x46\x53\x3d\x21\x75\x86\xbc\xa3\xb5\x18\xa9\x46\x5d\x0c\x23\xb7\xe4\xa6\xd1\x8d\x85\x35\xc6\x59\x3e\x5d\xbe\xbc\xb8\xdb\xf7\x37\xcb\xc5\xbd\xe4\x92\x53\x4a\x21\x1f\xdd\xc0\xac\x78\xd5\xb0\x05\xb3\x9c\x51\x00\xc1\x30\xa7\xbd\x89\x69\x87\x54\x0d\x69\x17\x85\x24\x7a\x57\x88\x2d\xc0\x93\x12\x4d\xe7\x9e\x07\xe3\x31\xa9\x51\x31\x0c\xf5\x3f\x58\xf7\xe4\x70\x0f\xf2\x50\x9e\xb1\x50\x5f\x62\xf2\x53\x76\xa1\x90\xc1\x03\xdb\x17\xb0\x39\x45\x2d\xc1\x97\xd8\x9c\x0e\xf9\x74\x96\xcd\x41\x36\x89\x74\x88\x27\x53\x17\x62\x0d\xea\x72\x7e\xf4\x34\x01\xd6\x38\xe1\xc2\xaa\x1a\x73\xe1\xbe\xaa\x2e\xa6\xa6\x20\xa0\x23\x81\x53\x4b\xbd\x4b\x87\xeb\xd5\xf4\xfb\x55\xfe\x98\xf1\xa3\xf4\x86\x35\xd3\x15\x2b\xf7\xb2\x3c\x99\xaf\x58\xbd\x61\xf5\x4a\x9e\x84\x1a\x72\x6e\x40\x98\xbb\xf4\x0f\x41\x50\x94\x11\x2a\xe0\x6a\xc7\xe9\x94\xeb\x7b\x96\x6f\x06\x93\x00\x3d\x94\xdd\x4e\xfe\xdc\xbb\x82\x64\xaa\xc2\xff\xd8\x12\x06\x53\x1d\x99\xea\x36\xb3\x9a\x60\x10\xc6\xdf\xad\x26\xb7\x7c\x12\xa5\x30\xc5\x53\xbc\x00\x39\xe9\x61\x77\xbd\xe4\xe7\xc2\x0b\x52\x5e\xe4\xbd\x71\x08\x80\xff\x0e\x1b\xc0\xc5\xb8\x3f\x8f\x5e\x36\xb9\xc2\x02\x20\xdd\x21\x62\x4f\x75\xd4\x1e\xf9\x48\x14\x19\xa2\x3b\xde\x85\x9d\x61\xfe\xda\xd5\xdf\xac\x2d\xbf\xa6\x4d\xe5\x2a\xbb\xd1\x55\x59\x01\xf6\x14\x35\x02\x10\x27\xcd\x47\x2a\xa3\x03\x42\x36\x6c\xf2\xb2\x17\x92\x30\xe1\x36\xf8\xc1\xf8\x22\x7b\x14\x78\xc6\x27\x10\xe1\x73\xf2\xa7\x48\x8a\x39\xc0\xb9\x63\x0e\x08\xb7\xdb\x63\x7b\x7c\x0f\x53\x42\x34\x9a\x67\x9d\x66\x05\x85\xcc\x41\x7a\x8d\xc3\xe1\x3a\x11\xf6\x9a\x1d\xc4\xa9\xa7\x85\x9b\x60\x68\x9d\xf0\xdb\xea\x42\x13\x40\xdd\x3d\x77\x84\xa9\xa4\x59\x5b\xe4\x6b\xd5\xc0\x33\x8f\x74\x49\x1c\x9a\x81\x7b\x1b\x23\x27\x53\xa8\x24\x2b\x55\xb9\x71\xa0\x6a\x9b\x2b\x54\x8a\x4c\x4f\x61\x78\xf1\xaa\xbf\x09\xbc\xb2\x93\x7a\xc8\xc0\x8b\x1e\xde\x7d\x70\x45\xd0\xa0\xc1\xaa\x11\xb1\xc2\xca\x4e\x49\x81\x5d\x07\x7a\x90\x19\x25\xcc\xc4\x91\xd1\x60\x98\xa7\xae\xe3\x6a\x9e\x82\x63\x5e\x8e\xbb\xd9\x6d\x97\xb8\x6a\x61\xe9\x59\xf0\x64\xd7\x27\x9b\xf6\xc6\x73\xf9\x6e\x64\xef\xf5\x54\xaf\xbb\xc4\xca\x9a\xb3\xec\x10\xb8\x3f\x21\xe2\xe0\x15\x04\x70\xf3\x3a\x0a\xe8\x62\x58\x52\x40\x3b\x01\xcd\x5a\xb8\x48\xc2\xb9\x07\x1e\x9a\xc0\x80\xef\xc7\x00\x51\xba\x35\x0e\xa6\xc8\xde\x2b\x1c\xe0\x4c\x8c\xff\xa2\x8c\x39\x34\xf9\x44\xa8\x9e\xb7\x14\xe0\xda\x12\xa8\x17\x89\xb9\xe1\xdf\x81\xa5\x31\xb6\xa3\x3e\xc2\x0b\x4d\x5f\x1f\x5c\x92\xcd\x9f\xfc\x90\x42\xa6\x24\xd7\xf8\xb2\x0c\x63\xd2\xd8\x6e\xc6\x5e\xb1\x36\xdf\x7a\x37\x2e\xf3\xfa\x2b\xa9\x96\xc3\xb3\xbe\x09\x13\x03\x3a\x1b\xd2\x06\xe3\x22\x42\x65\xd2\x33\x28\xb1\x80\xb6\x98\x00\x35\x44\xfa\xba\x08\x0f\xfb\x4c\xa5\x5a\x60\x7a\xde\x8b\x4c\x50\xad\x07\x5b\xf4\x11\x8a\xc7\x59\x0b\xe0\xe5\x1a\x37\x1d\xfd\x75\x7a\x78\x16\xef\x47\x65\xc9\x19\x39\x04\x8e\x7f\x67\xb1\x64\xcf\xd7\x36\xcc\x03\x5f\x25\x0d\x27\x76\x79\x9d\xc9\x0e\x1b\xb2\x30\x55\x5e\xae\xf0\xf2\xcd\xda\xb6\x9f\x7f\xfa\xf9\xfa\xdd\x9f\x7f\xb9\xbe\x5f\x04\xc8\x84\xa5\xfb\xc2\x81\x77\xaf\xb9\x12\xfb\x1a\xfb\xc8\x44\xe6\xf5\x0d\x3e\xa2\xee\x90\x70\x51\x6f\x38\xf9\xad\x21\x8c\xc6\x0f\x26\xb3\xa5\x2c\xa7\x1e\x5a\x53\xf6\xc4\x75\x6f\x52\xbe\xe4\x95\xb0\x6e\xb3\x0d\x76\xdd\x2b\x61\x35\xe1\x84\x34\x10\x48\x3d\x30\xf9\xb2\xfa\xe8\xc3\xf5\x43\x3b\x3f\x25\x97\x4d\xf9\x42\x6b\xbe\xd5\x9c\x64\xb6\xbf\xe3\x29\x1c\x7a\x27\x36\xab\x63\x95\xde\xbd\x70\xba\xcf\xce\xf4\xd2\x6c\x7e\x0c\x9d\xc0\xdf\x70\xf7\xbd\x60\xa6\x97\xa4\x67\x9a\x80\x5f\x3b\xfe\xcf\xc3\xf5\xc2\x61\x24\x2c\xad\x78\x47\x79\xf0\x15\x02\x19\xd9\x36\x1d\xb0\xf4\x55\x72\xd0\xbe\x83\xe1\xf4\xdd\x5d\xde\xa7\x29\x95\x29\x02\x13\xf0\x4b\xeb\x45\x86\xc3\xdb\xfd\x65\x00\x46\xb1\xc2\x1c\xfa\xcb\xda\xa3\xcf\xd7\x5f\x1e\x96\x57\xca\xbb\x53\x84\x7a\x75\xc7\xd0\x3d\xb6\xba\x2f\x45\x6e\x7e\xf9\xbe\x94\xd2\x6b\xbe\x1f\xc0\x46\xfa\x3e\x6d\x5d\xa6\xa4\x77\x0b\xf8\xba\xf0\xfe\x95\x33\x72\xde\x31\x6e\xfd\xa8\x9e\xf1\x8c\xbb\x1c\xd2\x7b\xbf\x7a\xdc\x96\xda\xf1\xc3\x71\x43\xed\x1c\x0f\x37\x34\xd2\x3b\x20\x3a\x8c\x80\x53\x34\xef\x31\xf9\xbb\xe9\x53\x1c\x10\x9c\x04\x98\xc8\x90\x3d\xaa\xee\xf5\xac\x9d\x2d\xba\x7a\x15\xea\x39\x34\xd3\x41\x5c\xe9\x01\x1e\x85\x1e\x68\x85\x86\x9e\x27\xf1\x67\x26\x22\x2e\xe3\xda\x0f\x14\xfe\xfb\x4d\xc4\x71\x51\x25\xed\x2f\x24\xd3\x17\xb7\xd7\x99\x8b\x40\x1a\x38\x9d\xbe\xc3\x94\x6f\xbe\xd1\x9c\x83\xd3\x38\x37\xe7\x97\x54\xce\xdf\x70\xce\xff\x06\x13\x79\x59\xa7\xf6\x6f\xdb\x77\x0b\xa5\x5a\x5c\x86\x25\x47\x3f\x13\xff\x40\x31\xe6\x27\x77\xcf\x09\x13\xb8\x38\x4a\x87\x1b\xcd\xb0\x9f\x60\xc1\xdd\x94\xdc\x45\x2f\x2d\x0f\xa8\xc7\x0c\x74\xb7\xb3\x34\x48\x38\xcb\x97\x92\x20\xa0\x4e\xac\xcf\xde\x73\x32\xef\xfe\xfe\x6e\xdd\xa9\x3e\x2e\x55\xc9\xc7\xc0\x2c\x99\x89\x61\xfa\x89\x1e\x99\xe8\x79\x98\xbe\x9c\xa3\x2a\x93\xa5\xe5\xac\xe4\x91\x83\xa3\x1c\xdc\xfa\xf5\xdf\x9f\xad\x2c\xc1\x5c\xef\x57\xc9\xfc\x18\xff\xaa\xf3\x43\x5c\xaa\x5b\x8f\x27\xc0\x66\x4a\xb1\xf7\xda\x4c\xdd\x5e\x1b\x96\xda\x93\x56\x05\x2a\xcc\x99\xcc\x9d\xe9\x5f\x56\x0b\x4d\x15\xac\x6d\xbf\xa9\xf1\xd7\x8f\xfd\xf3\xf0\xe5\xe1\xa7\x87\x9b\x8f\x0b\xe8\xde\x38\x47\x83\xb1\x63\xa0\xc0\x1c\xc4\xa0\x13\x24\x18\x4d\x5e\x3b\xef\xd3\x27\xcf\x4e\x0f\xed\x11\x60\x8c\x42\xa4\xa8\x0c\xba\xfe\xfc\x20\x52\x9e\x60\xcb\x20\xf1\xdd\xd1\x4e\x3f\x7d\x78\x4c\x58\x26\x04\x1a\xc0\xe1\x1c\x67\xc5\x7b\x92\x7e\x70\xdd\xea\xb3\xf9\x5d\x9b\x7d\x3e\xdd\xdc\x9e\x5b\xb8\xf4\xe2\x85\xcb\xe9\xec\xe2\x9c\x9b\x7c\x79\xe5\x55\xd3\xf8\x37\x99\xc5\xcd\xcb\xd3\x3e\x7d\xba\xdb\x6f\xd7\xe7\x31\x1f\x92\x78\x85\x4a\x81\xc3\xf1\x1c\x0e\x30\xbb\x72\xe1\xa1\x7f\xf6\x73\x39\x41\xd1\x22\x64\xbc\x52\x48\x83\xa9\x96\xea\x41\x9a\x01\x40\xef\xe9\xac\x6b\x5d\xf2\xcf\x5c\xeb\xa1\x78\xd4\xe2\x13\xb8\x2f\x8a\x57\x84\x97\x1f\x48\x8d\xd6\x7b\xb2\x5e\xc3\x69\x95\x66\xaa\xf3\x88\x3c\x75\xed\xb8\xbe\x3c\xf4\x3a\x27\xaa\x83\x96\x36\x47\x4b\x3d\x1c\x8f\xd7\xf4\x01\xeb\x5c\x40\x2b\x8d\x1e\x62\x70\x83\x0e\xf8\x30\x1f\xe9\xf7\xb7\x41\x5e\xba\x3f\xee\xfe\xbc\xbe\x37\xca\xe1\x8c\x95\x40\xc5\x82\x1b\x42\x78\xaa\x2e\x39\x9f\x2c\xf9\x31\x60\xd6\x60\x90\xb2\x39\xd8\x3c\x18\xe7\x12\x39\x97\xce\x15\x84\x3b\x85\xed\xfa\xff\xfe\x5f\x5f\x66\x55\xf6\x86\x38\xc0\xe0\xe9\x93\x3b\xbf\x1a\x31\x78\x8a\xc1\xc3\xc7\x07\xff\xff\x16\x07\x76\xf3\xb7\x5a\x90\xf1\xcb\xf6\xa1\xdd\xdc\xdd\xae\x2f\x4b\x3d\x4e\x50\x7d\x30\x17\xa8\x63\x62\xcf\x26\xb0\xc8\x4a\x69\x90\x4e\x00\xe9\x07\x26\x97\xb5\xa0\xce\x85\x9a\x70\xf2\x24\xbf\x68\x85\x1f\x6e\x47\x25\x56\x3d\x7d\x29\x9a\x21\x8a\x38\x81\x41\x56\x4b\x48\x6a\x80\x63\x0a\x3c\x1a\x17\xa0\x6c\xf7\x19\x58\x48\x5e\x73\xfe\x39\xc0\xa3\x04\x37\x20\xc3\x09\x5b\x3b\x66\x32\x7a\x7a\xd3\x08\xfb\x0b\xb2\x1a\x8e\xd1\x53\x2a\x04\xf7\x99\xd1\x43\x03\x5d\x12\xb9\xa0\x78\x18\x3a\x97\x2e\x75\xe0\xd2\x58\xa1\x9f\xf7\x3d\x45\x67\x62\x05\x4e\x0b\x8a\x77\x04\xa3\x9f\x02\x7a\x9b\x82\xb0\xdc\x9e\x09\xd1\x45\x24\xa5\x48\x2f\x1a\xba\x9a\xb4\x80\x07\x14\x10\x4d\x1b\xfa\xb7\x51\x18\xdb\x02\x00\x06\x00\x0f\x25\xf2\x1d\x2a\x2a\x20\x53\x4b\xb2\x53\x0c\x34\x9c\x50\xbe\x25\x41\xd8\x7c\xd7\xc4\x99\x1f\xee\xd6\x37\xdf\xf5\x51\xf2\x4c\xcd\x58\xa4\x40\x76\x4f\x77\x5f\x4d\x7b\x75\x5e\x78\xfa\xe0\x34\x67\xfa\xf1\xb6\x4c\x76\x65\x6d\xaa\x66\x3b\x96\x0a\x5f\xf3\x5a\x08\x65\xb1\x9b\x71\x5c\x6c\x4c\x67\x7a\x7c\xfe\xbc\x9c\xb6\xb0\xb9\x74\x60\xfe\x4e\x6f\x80\x87\x77\xf7\xdb\xed\xed\xc3\xee\x6e\x29\x19\x1c\x25\xc7\xad\x99\x22\xbb\x9d\xe2\x15\xbc\x38\xd8\x09\xe0\x06\x8e\x80\x56\xa4\x99\x00\x14\x1e\x5f\x51\xf2\x35\x39\xc0\x1e\x75\xbe\x56\xc9\x6c\x61\xf1\x2b\x5d\x6e\x2f\x8a\x0b\xd6\xb1\x3e\x14\x87\x00\x3f\xa2\x0b\xab\x72\xf8\x85\x80\x2e\x5b\x37\x9a\x6a\xd4\x16\x3a\xae\xac\x1d\xb7\xb3\xd7\x5e\xbf\x54\xec\xb7\x75\x94\xea\x40\x42\xe6\xa1\xb7\xa3\x39\xe9\x1b\x28\xdb\x67\xa2\xcd\x82\x1f\xe1\xd4\xa7\xf9\x0e\xa3\x5a\x61\xb3\x06\xcc\x67\xed\x9e\xfc\xb8\x47\xc9\x57\xab\xee\xfd\x66\x44\xcd\xd2\x82\x56\x87\xda\x5a\x6f\x09\x3f\xf5\x4e\xbc\x3c\xd0\xd6\x8f\x3e\x23\x3f\xe3\x51\x25\xed\xa8\xf6\xbd\x76\xf5\xc5\x1a\x14\x3f\x62\xf0\x3e\xd3\xf1\x88\xdb\xf1\x64\xa0\xd5\x57\xea\x30\x3b\xab\xbc\x9e\xf1\x36\x1e\x65\x0e\xae\x99\x02\xd2\x5b\x82\x89\x0c\xe9\xa9\xed\x19\x54\x85\xad\xe6\xa8\x64\x9f\x8f\x92\x55\x9e\x2d\x29\xac\x4c\xaf\xa9\x17\x71\x1e\xc0\x01\x7e\x38\xa9\x65\xaa\x64\x51\xa8\x57\x70\x64\x7c\x6e\xda\xc6\x94\xe0\x34\x4f\x15\xad\x96\x99\x86\xd2\xeb\xd5\x2e\x76\x34\x06\xbf\x39\x8c\x60\xae\x6d\xbd\xe4\xdf\x36\x29\xef\xb7\x26\xbd\x9b\xef\xc0\x7d\x9f\xd9\x6e\x47\x09\x96\x33\x53\x76\x7e\x30\xc1\x39\x64\xd0\x38\x6f\xd2\xae\x81\x5c\x0d\xeb\xca\x15\x0b\xd4\xba\x55\xc5\x12\x7c\x1d\x42\x1e\x5c\x8e\x70\x1d\x5c\x2b\x63\x41\x0f\xcf\x29\x60\x7e\x93\x55\xdf\xfc\xad\x96\xfd\xb7\x5e\xf5\x9f\xaf\x6f\xcf\x2d\xfb\x21\x1d\xb3\x4e\x28\xb8\x51\x21\x76\x25\x93\xab\x71\x30\x39\x06\x32\x39\xfa\x11\xe7\xb0\x54\x72\x15\x9f\x23\x03\x54\xcd\xb1\xe2\xdf\x20\x7f\x97\x57\x3e\x1d\xf7\x4c\x22\x20\x5f\xb6\xe0\xc9\xb1\xe6\x3c\x65\x4f\x3e\x84\x21\xc7\x48\x39\x22\xde\x30\xaa\xeb\xb7\xb5\x54\xf9\xac\xb3\x71\x9d\x56\x4c\x43\xa2\x92\xa3\x02\x4f\x9c\x3a\x2f\x88\x42\x04\xc5\x8c\x4c\xe3\x52\xdd\x0c\x0a\xe8\x42\xd2\xe4\xc8\x06\xd9\x91\x9d\xa6\x6c\x46\xc6\x64\x85\xba\xe3\xcd\x49\xf2\x64\x64\xf1\x93\x77\xe4\x4a\xb2\x56\xd3\x27\xd7\x39\xf3\xb3\x0b\x53\xde\xda\x9e\x44\x19\x55\xb4\x43\xb5\x73\x53\x73\xfb\x40\xca\x85\x2f\x5a\x7d\x0e\x87\xe5\xfe\xfe\xee\x97\x55\x95\x71\xb2\x27\x06\x38\xc0\x49\xf7\x2b\x1b\x2e\xf7\xb3\x2b\xec\x84\x45\x2c\xc2\x0b\xa2\x5e\x06\x57\x81\x76\x14\x80\xa2\xae\x9e\xf7\xc0\xd1\xd3\xcf\x01\x1e\xee\x39\xe9\x0d\xaf\xae\xfb\x3d\xb5\x02\x3c\xe2\x2a\x23\xb5\x42\x8a\x4c\x29\x3a\x94\xea\x05\xa7\x4c\x05\x9a\xa8\x40\x0b\xd8\x51\xd3\x14\xc8\x5b\x65\x44\x0d\xa8\xae\x0c\x68\xa5\xf7\x41\x33\x19\x54\xee\x7d\x60\x21\x23\xe8\xa3\x47\x8c\x0d\x5e\x3b\x8c\x62\xd3\x0e\xa3\x7b\xc1\xec\xad\x2a\x9c\xd3\x21\xe3\x74\xc8\xae\xc3\x6f\x1b\xc0\x4f\x66\xed\x81\xf4\x5f\xfe\x59\x49\x31\xc1\xc7\x29\x26\x64\xe3\xce\xc9\x18\x30\xd2\x86\x7f\x31\xcd\x32\x02\x8d\x34\xd2\xc9\xc3\x20\x7a\x42\x8c\xc9\x2f\xba\x73\x2c\xd1\xd3\xfc\x53\x9b\xcb\xc9\xf8\x75\x36\x40\x54\xa5\x19\x05\xdf\xad\x16\xcd\xd8\x41\x3b\xd0\x67\xd9\x62\x96\x8f\xe2\x27\xe6\x51\x60\x8d\xa2\xc6\x4f\x5c\xce\x9e\xa3\xb3\xb6\xcc\x58\x96\x96\xd6\x9b\x13\xb7\x05\xa6\x98\x14\xf8\x93\x0f\x21\x1f\x58\x65\x9d\x9f\xbe\xb6\xf2\x39\x1a\xa4\x9c\xc4\x1c\x96\xe9\xce\xf0\x7b\xd3\x43\x1c\x35\xdb\xc5\x1c\x50\x35\xe5\x11\x71\x60\xfb\x84\x6d\x9c\x92\x7c\x4c\x50\xa9\x5a\x5a\x0a\xef\xfb\x7c\x05\xec\x9e\x0e\x2c\x5f\xfa\x1e\x2e\x6d\x6a\x71\xb9\x6a\x53\x9e\xd0\x72\xd8\xbb\x3c\xea\x84\x61\xa5\x35\x49\xa6\x6e\x81\x79\x56\x37\xaf\x08\x4b\xd1\x69\x5d\xcb\xdf\x97\x96\xd6\x9f\x27\x13\x3b\xcd\xcb\x51\x2c\x4d\xef\xc2\x73\x19\x50\x0e\xc7\xf4\x68\xe7\x1c\x0f\x35\x07\x6c\x9f\xaa\xa7\x16\x03\xf5\xd3\x21\xcd\x43\x9f\xc8\xd0\x43\xe1\x9e\xa4\x49\x91\xb5\x38\x3a\xd2\x4d\x27\x7a\xdf\x89\x8c\xf2\x01\x53\x12\x13\xd4\xec\x0e\x53\xd8\x37\xc6\xcb\xe7\x0f\x9e\xd2\x6b\x19\xbd\xd3\x65\xf4\xcc\xea\xa6\x30\x9c\x63\x7f\xbf\x08\xb8\x3d\x3e\xc7\xc7\x1c\x19\x06\x3b\xe0\x7d\xed\x18\xce\xb8\x74\x13\x64\x11\x32\xae\xa3\x91\xfb\x09\xde\x94\xad\x3e\xc7\x5d\x5e\x14\x1b\xb5\x83\xf0\xaa\xce\xaa\x7b\xee\x42\xb5\xab\x10\x77\xd0\x0d\xe1\xb6\x4a\xa4\x50\xb7\x7e\x02\xfc\x42\xc6\x0f\x5c\x63\x80\x99\x26\xe3\x84\xa7\x50\xc8\x5b\x3b\xfb\x0f\x17\xe2\x3c\x9a\xdc\xbd\x7e\x9c\xdb\x34\xe0\xbb\x21\x5f\x09\x03\x1f\x51\xee\x55\x97\xc9\x95\xa8\x41\x11\x21\x32\x14\x4c\x15\xdb\xc0\x8b\x28\xe3\x28\x58\x4f\x25\x47\xf9\xdc\x39\x17\x56\x6d\xa2\x13\x27\x36\xcf\xde\xcb\xdd\xf1\xee\xb7\x0f\x37\x8f\xdb\x9f\x3e\x7c\x19\x16\x01\x6f\x69\x36\x82\x09\x1b\xd0\x93\xff\xc3\xc6\x6c\x35\xce\xd9\x23\x3d\xb1\x77\x03\x32\x85\x70\x38\xe3\x72\xfc\x6c\x12\xfc\xd5\x24\xff\x07\x0e\x54\xeb\x1e\xa4\x35\xef\xdd\xaa\x84\x82\xa8\x06\x0e\xa7\x72\xc7\xe3\xb1\x0f\xcc\xd9\xd4\xfc\x07\x1b\x65\x08\x24\xed\xcc\xc3\xda\x9c\x97\xc8\x80\xed\x1e\x56\x85\xad\xde\xcd\xb9\xbe\x0b\x4e\xa4\xd2\xa7\x57\xcb\xa1\x58\xae\x87\x4f\xd7\x2b\xeb\x95\x8e\xe3\xc2\xa6\x58\xd0\xd7\x8e\xfa\x6f\x34\xe8\xb7\x1c\xa5\x9d\x09\x4f\xfa\xf5\xbb\x6c\xf3\x37\xdb\x66\xcf\x59\x98\x17\xeb\xb4\x74\x84\x3e\xf2\xb5\x0b\xb6\x50\xb1\x76\x56\xc7\xaf\x25\x02\x09\x7c\x48\x27\xb2\xf6\x1c\x2a\xcb\x95\x0c\x27\x81\x13\x5e\x5e\x4f\x7f\xa2\xc1\x05\xa7\xf9\x3f\x7a\xf0\xe8\xf2\x81\x94\x5e\x66\x23\x47\xaf\x90\xa6\xeb\x95\x99\xca\x61\xd1\x5d\x4c\xd4\xd2\x1b\xf8\x95\x13\x85\xb8\xe0\x17\x0f\x16\xa5\x5f\xd9\xf1\xeb\x87\xb6\xbd\xbf\x79\x58\x44\x4d\xa4\xa5\xdb\xee\x71\xd4\x44\x71\x14\x4a\x1a\x43\xc2\xe1\x54\x4c\xcd\xdc\x53\x6d\x81\x87\xce\x57\x71\x98\xd2\xaf\x6b\x5e\x04\x29\x9b\xbb\xa5\x03\xdc\x97\x86\x9a\x48\x39\xa4\x6c\x8e\x7e\x6f\xbc\xcd\x33\xa3\xd6\xa5\x07\xe5\x01\x26\x06\xcd\xcd\xec\x5d\x53\x9e\x63\xef\x61\x8b\x83\xff\x48\xf4\xa3\xe9\x3d\xd2\xda\x8d\x2a\x4d\xd1\xaa\x34\x3a\x4c\xb9\xdb\x01\xa1\x99\x7a\xf6\x75\x29\xaa\xe0\x99\x52\x70\xd0\xce\x84\xa9\x57\x61\x83\x4a\x81\x4e\x3a\x95\x69\xf3\x7b\x43\xaf\x50\xeb\x9b\x1b\x6a\x87\xe6\x87\xa9\x6f\x7b\x1d\xdc\x0b\x79\x1d\x19\x56\x9f\x96\x51\x9b\x9f\xe7\xab\x1d\x66\x71\x98\x66\xb8\x4f\xf0\x61\xf2\x27\xa0\x53\x0c\x69\x9a\x9f\xcb\x19\x1f\xb6\x7f\x79\x37\x5c\x7f\xba\x3e\x6b\xa0\x4b\xd7\xc7\xf4\x59\xdd\x98\x6c\x25\x4b\xcf\xab\x0c\xda\xf7\x52\x5f\x74\x6b\x48\xe2\xbd\x86\x31\x4e\xc6\x10\x0d\xd9\xa7\x05\x1a\x54\xbf\x22\x94\x12\x1e\x62\x1f\xfd\xa4\xfa\xd3\x02\x3b\xa0\x12\xf5\x40\x35\x45\x07\x40\x9d\xd2\x5a\xa0\x68\xe3\xc0\x85\x92\x03\xf7\xe3\x94\xb4\x22\x3d\x0e\x72\x28\x04\x2a\xc2\xeb\x1d\xac\x43\x9a\xba\x8a\xc1\x99\xe9\x65\x55\x06\xce\x64\xb4\x82\xf9\x7a\xca\x10\xff\xc9\x88\xb4\xc6\x65\x86\x52\x91\x2d\x88\x79\xb8\x52\x08\xf2\x8b\x4b\xfa\xf1\x66\x45\xc2\x9f\x2d\x1f\x55\x78\xbc\x62\xf7\x31\xed\x83\xd2\x14\x98\xb1\x40\x91\xf6\x46\x7e\x32\xdd\x51\x27\xc2\x62\xed\xbb\x69\x10\x7c\x20\x28\xa8\x2b\xdd\x52\x0d\xa5\x8c\x48\x3d\xc8\x5d\x96\xa1\x8f\x0b\x3b\xae\x71\x42\x89\x67\x9c\x39\x8f\x04\x16\xe4\xf9\x88\xa8\x19\x37\x87\x34\x76\x82\xd5\xe3\x1f\x1f\xdf\x32\x27\x0b\x60\x00\xa5\x75\x4a\xfb\x9a\x52\xc2\xd1\xa8\x61\x36\x89\x98\xc2\xd2\x0c\xd4\x21\xbc\xe3\x1a\x66\x22\xa8\x34\x30\x95\xce\x4a\x95\x14\x60\x75\xdb\x8c\xab\x69\xea\xeb\x33\xb7\x12\xc2\xd4\xcf\x5d\x4b\x27\x76\xbc\x43\x8e\x7b\xfb\x34\x73\x7e\x08\x76\x34\x55\x73\x98\x44\x28\x75\x34\x5d\x01\x36\xb0\xfc\xd0\x8e\xbe\x1e\x4a\x8c\x6c\x33\x59\x62\xe9\x4c\xce\x03\xc3\x1c\x9c\x22\xbe\x70\x8a\x63\x62\xca\x19\x8f\x73\x1e\x51\xbd\xbe\x8b\x8a\xb5\x4a\x6d\x6f\xd3\xdb\xd2\xbf\x9a\x39\x2a\x86\xbe\x3d\x4d\xeb\x7f\x19\xbd\x6f\x7b\xbd\x48\x89\x9f\x2e\x01\x0e\x01\x80\x54\x2d\xef\x4f\x3d\x9a\x46\xc3\x19\xe4\xdd\xc3\x3b\xa2\x6a\x28\xba\x46\x63\xfb\x20\x8b\xa4\xf6\xf2\x0e\xd3\x5c\x35\x64\xfd\xc8\x1b\xe6\x89\xb7\xd3\xe8\xc2\xe4\xfe\x32\x8a\x94\x12\x48\x64\x52\x6e\x29\x53\x4a\x50\x31\xb2\x0b\xe4\x10\xc8\xc8\x39\x35\x0f\xe9\xe6\x08\xc8\xf2\xc8\x43\x0a\xe0\x31\x16\x69\x52\x4c\x8d\x6a\xa0\xe7\x3a\x5d\x37\x0e\x29\x75\x54\x8f\x54\x84\x8a\x29\xb2\xb4\x4b\x65\x33\x1a\x07\xa6\x0b\x5e\x23\x9a\x56\xf3\x08\xea\xa0\x24\x0a\x19\x1e\x05\x22\x89\x15\x0a\x8a\x5f\x0e\x33\x88\xba\x9b\x6a\xe4\x81\x53\xde\x30\xdb\xc9\xea\x2f\xdf\x92\x26\xd8\x99\x8e\x81\xef\xf4\xa0\x21\xff\x05\x6e\xa1\xd1\x38\x0a\xf0\x4b\xe0\x66\x62\x4f\x12\xe4\x69\xc6\x71\x96\x01\x8f\x96\x7c\x94\x73\x09\xdc\xf5\x54\x74\x3b\x0a\xff\x2d\x33\x42\xe0\x38\x35\xe4\x1a\x40\x00\x9a\x3d\x1c\x09\x1d\x4d\x25\xee\x40\x36\xaa\x95\x25\xe7\x6c\x63\x84\xcc\x22\x33\x0c\x67\xd0\x28\x5f\x9b\xb3\x81\xaa\x6c\xe2\x08\x42\xc2\x21\x2a\xac\x3e\xb2\xad\x50\x6d\x0c\x53\x57\x9a\x35\x9f\x8d\x75\x2d\x92\x5c\x9f\xa0\xf2\xc8\xb7\x83\x6f\xa5\xc9\x62\xda\x86\xc4\x31\x9c\x34\x83\x12\xa0\xea\xe5\x2a\x42\x93\x26\xa4\x9e\x86\x92\xd9\x81\x86\xb2\x0b\x4d\x2e\xd6\x74\xd9\xc9\xfd\x66\x19\x33\x9d\x96\xa0\x42\x4f\x78\x38\xc3\x09\x29\xf7\x7e\x15\xec\x5d\x0a\x5f\x0b\xbd\x07\x57\x16\x55\x44\xe4\x8e\xbb\x0e\x41\xa0\x75\xee\x0b\x1d\xd1\xd4\x27\xa5\x74\x78\xfc\x7c\xf8\x4d\x33\xe7\x90\x29\x8a\x05\x8f\xb7\x6b\xd7\x0f\xd4\xa4\x59\x50\x11\xa8\x49\x0c\x14\xfd\xcd\x28\xec\x57\x00\x76\x84\x9c\xe4\xd9\x67\x06\x9a\x70\x2c\xdb\x94\x04\x09\xe6\xdf\x0e\x29\x01\xde\x05\xb8\x15\xb9\x10\x5a\x91\x2e\x82\x79\x92\xc2\xe8\x4b\x29\xad\x2a\x0f\xa5\x7f\x67\x27\x05\xd0\x31\xbc\xd1\xbb\x55\x83\x66\x01\x70\x61\x50\xac\x03\x26\x1e\x85\x7b\x0a\x4c\x40\x09\x2a\xbe\x69\x9f\x8c\x74\x4a\xfb\xa4\x19\x60\x5b\x56\x83\x37\x3a\xe5\xba\xc2\xe4\x19\xa6\xe8\xaf\xdb\x9f\xee\x3e\x6f\x97\xcc\xd0\x32\xfa\xe3\x88\xca\x75\x30\xa3\x11\x08\x0e\x4e\x15\x64\x4c\x3e\xfa\x11\x96\x6d\x1b\x08\x7a\x7a\xa7\x6a\x18\xe8\x4f\x8e\xb3\xcd\x3d\x49\x4b\x77\x92\xb1\xee\x28\x97\x1d\xd8\x0d\x96\xaa\x1c\xf2\xf5\x38\xa4\x52\xc8\xda\x98\xf1\x30\xa4\x20\x48\x3c\x92\x57\xc0\x0b\x8f\xa4\xbd\xc1\xeb\x26\x81\x9a\x49\xff\xd0\xef\x5a\x0a\x85\x1e\xdf\xd6\x10\x3a\xc0\x93\xd3\xdb\x52\x88\xb0\xd7\x3c\x56\x72\xd9\x02\xbf\x43\x73\x69\xa9\x17\x4f\xd1\x6d\x29\xbf\xa9\xd5\x4a\xd3\x9c\x85\x86\xec\x07\xf8\xe0\xd0\x50\xd1\x68\xa9\x24\xe9\x38\x87\xdc\x38\x64\x4a\x3c\x3a\xb9\x58\x8f\xca\x1c\xc0\x77\xc7\x9e\x0f\xb4\x43\x8e\x18\xe4\x16\x73\x1e\xaa\x44\xcc\x93\x9f\x42\xda\xeb\x91\x42\x2c\xf4\x84\xbe\xb5\xf5\x62\x1e\x0e\xb3\xa0\x77\x8a\x9c\xd2\x14\x3f\x45\xaa\x93\xb9\x9b\x4b\xb5\xc3\xab\x73\x95\xb5\x1d\xda\x42\xbc\xb3\x8f\xa4\xfd\x79\x76\xfb\xbc\x1b\xee\x96\xa1\x5f\xf9\x52\xd0\x4c\x8c\x52\x39\x0f\x59\x68\x25\x23\xdf\x9f\xa6\x57\x10\x79\xa0\x6a\xfe\x1d\xeb\x5f\xb0\xfc\x38\xbe\x51\x2e\x16\x98\x52\x5e\xbd\xaa\xbf\xc5\xa2\x7a\x9b\xe5\xca\x00\xaf\xab\xb8\x24\x75\xa3\xe9\xb2\x0c\x17\x30\x73\x80\x06\xcb\xb2\xef\x91\x78\x33\x69\x1c\x7c\x99\xe2\xe0\x53\x77\x86\x4b\x13\x98\x02\xfb\x40\x59\x15\x97\xbd\x00\x2c\x1f\xec\x28\x04\x2a\x72\x99\x06\x4f\x09\x37\xb2\xde\x92\xc2\xf2\x21\x9f\x94\x0b\x8a\x68\x23\x7c\xe9\xc9\x96\x88\x9e\x9c\xdc\x8b\xc5\x92\xcf\xdc\x42\x05\x7a\xd9\x58\x90\x11\x14\x0a\x58\x24\x58\xa9\xea\x70\x20\x0d\x12\xa7\x31\xe2\x29\x19\x5c\x9d\x46\x73\x0d\xfb\x9e\x58\xa9\x27\xbe\x00\x57\xa7\x7b\x8a\xaf\xe2\x66\x64\x95\x01\x30\x28\x64\xc6\x0f\x61\x46\x64\x44\x66\x33\xe1\x73\x62\x07\x22\xa8\x30\xf8\xc9\xa5\x58\x2c\x45\xeb\x46\xf8\x07\x8a\x94\x51\x9e\x1e\x97\x78\x38\x2e\xbe\x67\xc4\x06\x5c\x14\xcb\x88\x01\xb9\x23\xdc\x96\xf1\xa1\xb3\x2a\xb9\x69\x66\x2c\xe1\x6f\x86\x1c\x88\xbd\x1b\x01\x00\x55\xc8\x57\x50\x72\x9f\x9b\x47\x46\x2e\x91\x63\x0d\x23\x03\x92\x74\xae\x38\x72\x35\x0c\xc9\x0b\x2d\x1f\x85\x3b\x12\xb2\x5e\x3a\xa5\xf5\x0d\xc9\x20\x41\x68\xf5\xdc\x84\xe9\xdc\x6c\x2e\x1d\x9c\x5f\xae\xef\x6f\x6f\x6e\x3f\xae\x0a\xa2\x79\x19\xfc\x74\x44\x7b\xd5\x7f\xef\x44\x00\x9c\x72\x54\xcf\x37\xef\x12\x12\xf8\x18\x31\x4e\x11\xf6\xea\xec\x1d\x77\xd0\x9e\x1f\x00\xe3\x4e\x80\x81\x67\xbc\x38\xdf\x11\x8e\x1c\x45\x0f\xa1\x30\x00\x4b\x65\x12\x0a\x15\x68\x10\x59\x35\xe5\xe6\x9b\xc4\x42\x9e\xc4\x42\x66\xdd\xe2\xb9\x6b\x0f\x19\x72\x61\xd0\x6c\x98\x93\x5c\x98\xba\x5c\x98\x54\x2e\xdc\x1c\x09\x86\x69\x16\x0c\x93\x76\xc4\x0a\x01\x49\x75\xc8\xc8\xbe\x23\x12\xbb\x6c\x0c\xb8\x93\x22\x6f\x9c\xc2\x03\x39\x38\x91\x77\xc6\x49\x39\x49\xc3\x79\x42\x9c\xf7\xe1\x88\xbf\xec\xb8\x61\x41\xcd\xb8\xa9\x67\x7e\x4b\xc3\xac\x11\xe0\x2c\x87\x29\x64\x0a\xb5\x25\xb9\xf3\xe5\x5f\xc3\x00\x0e\x31\xe1\xd9\xc0\xde\xdb\x25\xa1\xbc\x94\x73\x92\x7d\x56\x10\xe8\x11\x39\x85\x9c\xce\x34\xf2\x66\x81\x33\xcb\x6e\xe8\xce\x64\x89\x15\x42\x30\x55\x39\xa6\x6a\x9d\x81\x5e\x56\x24\x47\xb0\x86\x40\xc2\xea\x8a\x66\x64\xfc\xc6\x42\x30\xd8\x73\xdf\x51\xb3\x06\xe3\x72\xa5\x68\xcb\x20\xa2\x89\x9c\xcc\x3a\x20\x11\x6b\x0d\xa8\x35\x23\xe3\x90\x88\xa3\xc2\x67\xd5\x74\x82\xa0\xba\x03\x38\x0b\xb2\x18\x21\xb5\xde\x00\x7a\xe7\xa2\x93\xca\xe4\xa4\x69\xf6\xb8\xdc\x43\x8b\x81\xeb\x05\xf0\x8d\x38\xd4\x24\xa4\x66\xc2\x0d\xde\x00\x7a\x43\xc6\x37\xb0\x70\x43\xd1\x0f\xd2\x1b\xe9\x8c\x89\xb6\x90\xcb\x0a\x94\x84\x19\x80\x99\xc6\x09\x81\xa9\xe4\x54\x70\x44\xc6\x5c\x24\xf7\xf3\x96\xca\x90\xb0\x42\xb1\x62\x82\x38\xd9\x31\x27\x92\x69\x85\x14\x5f\x1a\x7c\x5e\x9e\x49\x5c\xf8\xee\x7a\xd8\xde\xbe\xbf\x5e\x20\xe3\xe5\x8b\x26\x48\x50\x71\x57\x76\x1d\x25\x49\xe1\x92\x0c\xf0\x92\x42\xd1\x1c\x97\x3b\xef\xac\x3e\x83\x62\x42\xb1\x94\x5c\x11\xee\x0f\xaf\xc1\x85\x16\xaf\x79\x67\xf5\x35\x79\x24\x85\xf1\x08\x6f\xe1\x11\xc3\x8b\x79\xb5\xb1\x02\xea\xb8\xde\x98\xd4\x28\xaf\xad\xf6\x23\x9c\x1f\x80\xd4\xb9\xde\x93\x0d\x40\xdc\xd8\xea\x3b\x67\x81\x25\x77\x22\x52\x5c\xc4\xb4\xd4\xb7\xcf\x41\x5a\xa6\x70\x06\xd0\xb2\x77\xfc\xcc\x0c\x4a\xbf\x2f\x8d\xf7\xcc\x14\x6a\x62\x91\x97\x8c\x69\xf3\x5b\x0d\x0a\x19\xad\x39\x6a\x5a\x08\x7b\x56\x8d\x8c\x58\xcd\x15\x3d\x72\x7f\x69\xa9\x9e\xdd\xd7\x55\x68\xce\x14\x56\x81\x39\x01\xcd\xe6\x4b\x58\x7f\x6b\x73\xf1\xb5\x75\x5d\xf0\x65\x7b\xda\xf5\xed\xfb\xbb\x4f\x8b\x63\x77\xc9\x74\x9d\x12\xdc\xc5\xe3\x08\x0d\x42\x75\x1d\x59\xca\x65\x2f\x3c\x24\xcc\x5a\x3e\x93\xe6\xac\x0b\x72\x99\x24\x5c\x9d\x91\x21\x8f\xcb\xfd\x40\x5e\x18\x43\xee\x19\xa5\xa7\xcc\xed\x4f\x75\x5f\x73\xf4\xc6\x41\xf7\x25\x05\x1d\xd2\x9d\x05\xdc\x6f\x6e\x46\x3a\x8f\xe9\x09\x06\xb5\x07\xaf\xe0\xec\x4b\x31\xa8\x71\x9f\x7b\x75\x86\xe9\x19\x1d\x91\x00\x8e\xe1\xd1\xc5\x1b\x64\x38\xd4\x74\x87\x9a\xd6\x4b\xf8\x15\xc8\x09\xb1\xf4\xfc\x5e\xb1\x52\xb0\x0d\xb6\x73\x1d\x71\x42\x86\xf2\x31\x56\xaa\x5e\xd8\x3f\x92\x39\x82\xa3\xa2\x3a\xbc\x60\x8e\x30\x45\xb8\x1e\x5b\xe4\x9e\x27\x5e\xee\x45\x1f\x5b\x51\x96\x4f\xa1\xce\xd2\xca\x84\x74\xb8\x5e\xf0\x66\x83\x47\xa4\x36\xd7\x25\x3e\x36\xf7\xc4\xc0\x5f\x3f\x3d\x1b\x55\xee\x22\x5e\x53\x75\x4f\x45\xf6\x1d\x52\xba\xaa\x11\x12\x6e\x1f\x9a\x0a\xad\x5b\x0d\x30\x9d\x26\x39\xd5\x2b\x70\x66\xe4\x2f\x55\x6c\xdb\xce\xc0\x72\x83\x6b\x13\xdb\x9e\x47\x12\x4a\x80\x1c\x20\x82\xe3\xc4\xa5\x9e\xbb\xb5\x27\x63\x6d\xa6\xeb\x2d\x5f\xbd\x6b\x34\x60\x26\x13\xc7\x96\xa0\x33\x8c\xac\xa8\x63\x41\x2d\x32\xa3\x77\x94\x1c\x89\xc0\x94\x79\x74\x15\x27\x0f\x42\x1c\xf3\xa6\x45\x59\xf4\x08\x75\x83\xb5\x2d\x07\x2a\x5e\xce\x37\x7a\xa7\x9d\x0b\xae\xa9\x26\xf5\xeb\xd7\xea\xe2\xfd\x78\xf7\xe9\xd3\x76\x09\xf5\x99\x97\x80\x7c\xeb\x90\x52\x8c\x5c\xc8\xba\xe6\x3d\xa9\xac\x08\x0c\xde\x37\x64\x1e\x47\x76\xe2\xd1\x64\x85\xe4\x15\x89\x60\xec\x1e\x8d\x19\x4c\x1d\xd8\x4b\x37\x42\x8c\xea\x36\x60\x60\xf2\x2a\xf7\x47\x9a\xc2\xb9\x76\x1f\x12\x57\xf7\xc8\x6a\xab\xc9\x1d\x89\x5d\x93\xdb\x0a\x59\xb3\x61\x71\xa2\xda\x32\xc9\xcc\x15\xaa\x63\xa6\x22\xfc\x9e\x0f\x22\xe1\x04\x85\x1d\x95\xbf\x61\x94\x91\x6d\x18\xb9\xb9\x4c\xb1\x36\x27\x4c\xc5\x08\xd7\x49\xf8\x54\x42\xf0\x70\xce\x76\x37\x2c\x57\x58\x41\x96\x2d\x65\x26\xa7\x30\x72\x95\xc9\xf5\x04\xd0\x49\x53\x45\x37\x1f\x8a\x82\x99\xba\xa0\xea\xdd\x3e\xfa\x36\xcf\xc8\x61\x9a\x9e\x81\xf3\xfd\x78\xbb\x5d\xae\x48\x3a\x71\x7f\x3c\x89\x58\xb0\x22\xaa\x6a\x16\xe2\xe4\x9a\x71\xb2\x26\x2e\xea\x72\xd4\x78\xf0\x8b\xd4\x3f\x6a\x57\x7c\x05\xea\x65\xf0\xaa\x4f\x6e\x3d\x92\xc0\x97\xb5\xd4\x39\x07\xdf\x4b\xa7\x1c\xbe\xdc\x65\x11\x5f\x62\x6e\x19\x1e\xa8\x0d\x27\xcf\xb7\x80\xfc\x97\x21\x10\xd4\x66\xec\xe5\xb1\xef\xa5\x63\x6e\x78\x5d\xef\xb9\xd5\xd6\x37\xab\x5e\x0d\x60\x55\xe0\x80\xa2\xa8\xb3\xab\x21\x17\xc0\x39\x5c\xf1\x57\xd0\x57\x5e\x34\xd0\x13\x5f\x97\xdf\xb8\xa9\x97\xa0\x09\x2c\xdd\x14\xf3\x45\xf8\xb7\x04\xcc\xd9\x03\x42\x42\x3c\xeb\xc8\x7e\x02\x17\x60\x26\xbc\x80\xf3\xa0\x03\xf1\xd4\x17\xe5\xaa\x7b\xa3\x5c\x4d\x78\x0a\x7c\x01\x53\xe0\x09\x8e\xc3\xd5\xec\x6c\xf2\xcc\xd9\x98\x66\x61\xcd\xab\x30\x5f\xcc\xd0\x26\xf3\x90\x5d\x99\x21\x15\xce\x8f\x6e\xea\xfd\xb9\xd1\x4d\xa3\x5f\x19\xdd\x09\x5c\x45\x47\xab\x38\x83\x28\x11\xbf\x72\x06\xee\xb7\xed\x97\xed\x0a\x79\x58\x7a\x45\x1c\x10\xf1\xc1\x03\xfb\x67\xd2\x26\xd4\x64\x47\xa3\x3e\x7f\xb0\x75\xc8\xb5\x97\xd5\x3a\x23\xac\xa8\xe6\xcd\x17\xc9\x8f\x85\xa9\xf1\x7b\xe6\x3d\x27\xab\x26\x46\xf0\x38\xcb\xcd\x3f\xe2\x5a\xe2\x48\x81\x15\x2e\x5f\xb1\x33\x85\x97\x93\x7f\x35\x9f\xb6\x22\xe9\x2b\xae\xa6\x4a\xaa\x8c\xe4\xa7\x67\xc3\xa8\xaa\x53\x08\xbd\x98\x0f\x11\xad\x86\xbb\x14\x2d\x3d\x51\x25\x85\x5c\x20\xbc\xe9\x28\xf8\x93\xbb\x56\x50\xdf\xc2\xc0\x13\xa3\x82\x53\xdb\xed\xed\xa1\x1b\x5d\x03\x72\xe2\x98\xa9\xc7\x06\x0a\x25\xbc\x88\x5e\x3d\x8d\x98\xaa\x4e\xc1\x03\x55\xad\x9e\x3a\x88\x2a\x43\xc0\xb7\x84\xa9\x81\xaf\x62\x26\xb5\xb9\xae\xd9\x52\x64\xf2\x0b\x32\x20\x63\x6d\x9a\x14\x6f\x1a\x52\xdb\xbc\x6a\xe4\x1a\xeb\xe7\xde\x08\x53\xce\xbc\x57\xf3\x8e\xcc\x3f\x0c\xde\x4b\x72\x72\x51\x8d\xf5\xb0\xbb\xfb\xfc\xf9\xe6\xf6\xe3\x4f\xef\xae\xef\x97\xbb\xe9\x12\x60\x5b\x0a\x96\xce\x48\x31\xed\x44\x72\x69\x47\xf2\x4a\x3b\x95\x1c\x94\xa8\xfe\xfa\x5a\x20\x5a\x89\x70\x67\x26\xe0\xee\x40\x3d\xbd\x78\x38\xc8\x09\x70\x5b\x1d\x0c\x5b\xb8\xa2\x39\x28\xc8\x44\xc6\x90\x8f\xac\x6c\x4c\xd2\x57\x53\xd8\x55\xb7\x96\x0b\x71\xb3\x82\xe5\x68\xdd\x2a\xc9\x87\xe1\x11\xdc\x07\x42\x26\xc8\xa7\xa6\x71\xcd\xb6\x29\x14\x3a\xfc\x7d\x38\x67\x2a\xce\xef\x8c\xb3\xab\xb5\x9c\xb8\xf6\x01\x08\x12\x5b\x5d\x4d\xe2\x07\x55\x2d\x08\x93\x57\xeb\x5a\x2b\x08\xda\x56\x63\xb4\xf0\x39\x1a\x99\x27\xe2\x9b\xe5\xd7\x63\x8b\x0d\xef\xb7\xf7\x67\x4c\x04\x4b\x4c\xbb\x63\xff\xed\x14\xa8\xba\x32\x3b\xb7\x57\x4d\x8e\x6d\x38\x02\xb0\xbd\xc8\x5f\x93\x03\x59\x75\xdd\xdd\x80\x52\x6a\x06\x5e\x45\x22\xd6\xca\x9a\x08\x8f\x89\xbf\x9b\x3e\x16\xc1\x7f\x44\xf9\x5e\x47\xeb\x95\xee\x8d\x77\xbb\x94\xdd\xea\xc3\x97\x8c\x71\xcd\x8a\x96\x97\xbe\x02\x47\xf4\xb4\xe4\x4a\x51\x79\x01\xa1\xf8\x70\x1e\x49\x83\xf1\xb0\xa7\xd5\x04\xd3\x37\x04\x17\xd6\xdc\xc6\x1a\x17\xcf\x41\x4d\x5d\xf1\x90\x2b\xa7\xab\x30\xd5\x1c\xdd\xe0\xff\x4c\x88\xe4\x11\x56\x95\x29\xa5\x41\xea\x94\x2a\x03\xd2\x6e\x6b\x7d\xa8\x4e\x6b\x43\x65\xa8\x0b\x55\x25\x4d\xa5\xec\x9b\xd3\x33\x30\xb9\xea\x62\x3d\x38\xd9\x0e\xc5\x5b\xd1\x2c\xd7\xac\xa9\x18\x9a\x61\x35\xc9\x62\x67\x7a\x75\x51\x4f\x83\x91\xad\xa6\x56\x76\xdb\x3d\xbc\x36\x6d\xfe\xfa\x55\xcb\x14\x43\x78\xfd\x32\x75\xd7\xdc\xfd\xf6\xbe\xdd\xbc\xbb\x5e\x78\xe7\xe6\x85\x21\x3c\xa7\x49\x0d\x9b\x6d\xa0\x29\xf7\xc9\x99\x98\xdc\xbd\x51\x8f\xa0\xef\x03\x6d\x8b\xb6\xbe\x35\xce\xec\x4b\x66\x0f\x13\x74\x77\xdb\x56\xe6\xef\xa2\xc1\xf8\x1b\xc0\x07\xcb\x98\xbf\x1a\xca\xf7\x75\x48\xbe\x68\xea\x1b\xe3\xea\xfe\x7c\x7d\xff\xd3\xbb\xdd\xca\x2d\x59\x16\x96\x52\x67\x43\x39\xba\x25\x11\xa3\x86\x00\x7e\x91\xdc\xe5\x8b\x43\x6e\x04\x18\x82\x54\x21\x88\xed\x00\xb9\x5e\xbe\xe1\xb1\x54\x42\x1a\xdc\x86\xdb\xa1\xec\xe5\x08\xf7\xcc\x37\xc1\xc2\x43\xd8\xf6\xbc\x08\xa5\xa6\xbd\xc9\xa9\x68\x1d\xf2\x45\x5b\x80\x72\xc6\x15\xa9\x85\x63\x6f\x1f\xdf\xe4\xf1\xc5\xbc\x1f\xbf\xdc\xb4\xb6\xbd\x5f\xb5\x6e\x15\xfe\xc3\x31\x43\x59\x5d\x1a\x8d\x4e\x27\x4c\xf6\x00\x7c\x4f\x85\x82\x85\x56\x8a\xf3\x68\x52\xd4\xbb\x9d\x7d\x10\x7a\x38\x9a\x24\x34\x0d\xd6\x37\x4a\x09\xe6\x63\xe8\x05\x7a\xe4\x20\xb4\x5f\x5d\x35\x55\xba\x59\xb7\x92\xd0\xb1\x32\x1a\x76\x15\x3c\x5d\x70\x94\x70\x2e\x1d\x71\x8c\xaa\xfa\x89\x5a\xd2\xb0\xed\x89\xb0\x02\xa2\x6e\x38\xc7\x11\x89\x8c\xa0\x00\x22\x97\xf6\x06\x4c\x42\x8e\x04\x3b\xa3\xe6\x89\x17\xd6\x2f\x6b\x06\x91\x0a\x2b\x89\x10\xee\x39\x83\x98\xaf\x24\x12\x28\xc3\x38\x95\xd5\x60\x68\x43\x83\x5b\x82\x30\x19\xa3\xa6\xc0\xa8\xd8\xda\x1d\x59\x47\x4f\x76\xb4\xe4\x47\xd8\x28\x6a\x20\xef\x9c\x7c\x8e\xac\xca\x1a\xb6\xa0\xdc\x8d\x53\xa1\x2a\x7d\xb0\xdd\x90\x99\x23\x71\x72\xea\x56\xc2\x49\x27\x01\x20\x3d\xe4\xf2\x98\x3c\x76\xbe\x95\xff\xa6\xc0\x4f\x66\x67\xf7\xa6\xe7\xbb\x7a\x06\x23\x1e\x2c\xfe\x65\x8c\x78\xad\xe8\x14\x23\x7e\x73\x0c\x12\x2f\x05\x2e\xa6\x00\x7b\x36\x4f\xda\xcf\x77\x67\xe0\x8f\x8a\x3b\xec\xaf\x30\x59\xed\x2e\x67\x1b\x7b\xd9\xb8\xb9\x94\x7d\xac\x71\xc7\xb5\x0e\xde\x92\xf3\x72\x22\x5c\xdd\x33\xa4\x02\xa1\x2c\x3a\xbc\x56\x19\x0a\x9f\x81\x9d\x23\xde\x3b\x9b\x81\x70\x83\x6c\x65\x85\xa0\xc5\x54\xf6\x5e\x43\x9a\x8a\xed\xca\x66\xe3\x64\x6b\x71\x66\x39\xaf\x76\x6f\xa4\x01\x7c\x91\x46\x4d\x7c\x1e\x99\xbf\x26\x78\x7e\x9e\x87\xe6\xaf\xe9\xb2\xb6\xfd\xdd\xf5\xa7\xed\xfd\xf5\x4f\xf7\xdb\x76\xbf\xc8\x3e\x57\x96\xa6\xae\x03\x7d\xaf\xae\x74\xab\xfe\x29\x3a\xcb\x39\xb8\xfe\x25\xf2\x4b\x3b\xc6\xf0\x39\xf5\xfb\x5f\x87\x37\x8a\x3d\x86\xb9\x27\x9d\x32\x73\xd6\x29\x33\xa5\x9d\xea\x59\xa7\x7a\xd2\xa9\x29\xe7\x54\x4f\x39\x65\x34\xe7\x94\xd1\xa4\x53\xae\x90\x45\x4a\xf1\x7e\xd5\xc8\x37\xa1\x9c\xdd\xf0\xa3\x6d\x71\xac\x13\x12\x8a\xcb\xdc\x31\xf8\x78\xc6\x03\xe9\x7f\x3c\x41\x32\xc1\x8f\xed\xe4\x8f\x93\x72\xc7\x35\x1c\xd5\xdd\xd3\xff\x3a\x4e\x13\xc6\xfb\x01\xca\x5e\xfb\xab\xec\x06\xba\xcc\x65\xcf\xbe\xec\x4c\x71\xa5\xc7\x24\x48\xf1\x14\xe6\xe2\x47\x74\x7c\x32\x1d\xf9\x29\x54\x54\xf5\x78\x87\xac\x46\x93\x59\xfc\x38\x56\x34\xcf\xb1\xa2\x53\xe0\x2d\x36\xda\x94\x18\xe9\x90\x17\x09\x15\xe0\xfd\x1e\x0d\x39\xd5\xda\x0e\x8d\x5d\xdc\x81\x7f\xde\x2e\xa0\xaf\xcb\xc5\x94\x42\xde\x4d\x29\xd3\x7a\x96\xbe\x39\x49\x5f\x3c\x4e\xd6\xd7\xf3\xf0\xf5\xb4\x88\x38\xe7\x7e\x84\x47\x1d\xbe\xc2\x75\xa1\xa8\x7a\xf9\xc9\x2b\x53\x0a\xbf\x39\xa5\x5f\xaf\x5b\x9b\xd2\x74\x1f\xc2\x02\x14\x3f\x06\xee\xdf\xe0\x9e\x8b\xea\x4e\x0a\x3f\xaa\xfe\x48\x9d\xa6\xa1\x9b\x0e\x30\x38\xb4\x6e\x74\x18\x8d\x9e\xee\xa2\x9e\x9f\x06\x2e\xa0\xde\xf7\xfc\x25\xc1\x76\xff\x45\x97\x36\x93\xfd\x7d\x70\xd0\x3a\x88\xac\x79\x9c\x42\xe7\x38\xfb\xa3\x1c\x0b\xf8\x4b\xd5\x13\xdf\xee\xc1\xa4\xcc\x94\x32\x8f\x86\x33\x46\x28\x65\x52\x9c\x32\xb2\x24\xb5\xb4\xa8\xaf\xb6\xed\x41\x9a\xd8\x9e\xf0\xd6\x86\x21\x9d\x6a\x24\x2f\x52\x42\x28\xe4\x42\x69\x9e\x3d\xd5\x38\xea\xbb\xae\x7b\x61\xe3\x5d\x7d\xd5\x4c\xef\xaa\x23\xd4\xd4\xe4\xe0\x23\xe4\x19\x75\x03\x48\xa3\xf1\xf0\x47\x48\xf0\xa3\x14\xd9\x9b\xd4\xe1\xcd\x7b\x92\x19\xd9\x34\xf5\x80\xd2\x5e\x64\x0a\x95\x54\x02\x08\x53\xc2\x61\x4d\x22\x92\xc8\x68\x10\x4c\x00\xbd\x77\x64\x10\x4a\x51\x92\x8a\x52\x80\xac\xc8\xa5\xa9\x2c\x1c\x2e\x07\xd1\xbe\xbb\xfb\xb8\x88\x7e\x2a\x4b\xe3\xc6\x41\xb6\x2b\x75\x42\xb7\xf8\x36\x59\xf1\xa0\xa1\xd0\x78\x77\x37\xc5\xb1\x4f\xfa\x8d\x49\xdd\xa1\xea\x8c\xaf\xc8\x58\x36\x59\x96\x7f\x65\xed\x9b\x33\xd5\x0b\x05\xcd\x9e\xf7\x86\x4b\xec\x8e\x3e\xf0\x00\x52\x3f\x6d\xf8\x87\x41\x95\x11\x01\xf2\x00\x1f\x11\xf8\x77\x79\x07\x3c\x05\x61\xfa\x02\x62\xf4\x01\xfa\x8c\x0b\x04\x2c\x9c\x9e\x22\xd7\x2b\x53\xc4\x7b\x6f\xc9\xa8\x6b\x96\xba\xf7\x29\xc6\x90\x3a\x8b\x77\x3f\x24\xa6\x3c\xc0\xbd\x4b\x78\x2c\xaf\x48\x98\x48\xbe\xa4\x99\x88\xba\x33\x3b\x36\x91\x30\x86\x59\x55\x3a\x1e\x5a\x21\x61\x02\xd2\x5c\x93\x25\x95\x7a\x2d\x1c\xd3\x37\x03\x22\x31\xa3\x87\x3c\xce\xca\x20\x22\x72\x43\x38\xaf\x52\xa7\xdc\x91\x72\x62\xf3\x51\x6f\xe0\x2f\x1f\x08\xae\xac\xf8\xa2\x02\x31\x65\xe4\x3b\xc5\x8d\x1a\x98\xa2\x6f\xea\x71\x28\x8d\x84\x80\x19\x2a\x4e\x53\xa8\xb9\x1e\xf4\x09\x9a\xa2\xc3\x26\x99\xdd\xbd\x4e\x38\xb4\x98\xac\xc8\x1b\x30\x0e\x0f\x32\xd5\x4e\xb8\x48\xf8\xc6\x3b\x18\xae\x7c\xa0\xa0\x01\xff\x80\xd6\xce\x70\xe3\x9a\x94\x8d\x8e\xf0\xcd\x39\x78\xd4\x38\x2a\xb5\x65\x4d\x71\xa4\xc0\x25\x64\xf2\x66\x90\x39\x95\x2d\x22\xa3\x2f\x94\x33\x79\x27\xcf\x65\x3a\x31\x31\x61\x44\x94\x82\xb0\x4e\x61\x27\xf3\xa8\x2f\x5b\x84\x00\xb5\x29\x26\x68\xd0\x99\xf7\x58\x77\xe9\x3a\xbc\x86\x07\x99\xc4\x52\xc7\x82\x8e\x50\x3e\x34\x2c\xec\x41\xd0\xac\x59\xfa\xa5\xe7\x6c\x9d\xb7\x05\x5c\xa6\x92\x12\xc4\x18\x54\x5c\x4c\x16\x29\x0e\x42\x21\x69\xa5\x38\x4d\x45\xe6\x3c\x22\x47\x9d\xea\x69\x65\x73\xf7\x6d\x3a\x25\x41\xad\x2a\x3b\x4d\xaa\x3e\x0e\xb0\x92\x6e\xb4\x0d\xb8\xa0\x42\x13\x39\x42\x67\xc3\x50\xb5\x18\xf6\x4a\x8e\xf1\x7f\x59\x77\x61\xe1\x33\x94\x3a\xf2\x03\x77\x6d\x79\x48\xc8\x97\x1a\x1d\x75\x2f\x5e\xb5\x5b\x92\x71\x4d\x3e\x14\xe2\x4e\x93\x18\x3a\x0d\xdb\x01\x69\xcb\xa3\x51\xdd\x97\x0b\x24\x75\x05\x21\x9d\x81\xf2\x08\x7d\x76\x64\x92\xe6\x0d\x17\x68\xb7\xbd\x9c\xef\x11\xdd\x86\x8e\x3c\x54\xf2\xbc\xd7\x01\xc9\xd6\xc0\xdf\x42\x43\x1d\x12\x0b\x4a\x59\xa9\x81\x55\x0b\xa5\x03\x09\x24\xb5\x07\x72\x04\x07\xe1\x4d\x8b\x95\x7c\x68\x5e\x6a\x18\x7b\xb4\x14\x7c\xe8\x1a\xfa\x99\xaf\xe2\xe8\x2c\x61\xdf\xb8\x86\xf1\xc8\xec\x64\x26\xd8\xfd\xdd\x90\xc8\x8d\x01\x89\x96\x02\xb4\xa8\xb2\xb3\x09\x33\x65\x7b\xba\xe2\x3e\x87\xac\x79\x1c\xfb\x0c\x63\xea\x39\x52\x5f\x82\x39\x4b\xad\x73\x6b\x2b\xf4\xad\x17\x68\xf3\x77\xb4\x42\xdf\x78\x81\x36\x5f\xbb\x42\x2f\x70\x1f\x58\x5e\xb1\xcb\xd4\x66\x47\x3a\xa5\x60\x0b\xe5\x54\x66\x57\x62\x60\x6e\x20\x01\x56\xd4\xe8\x02\xd5\x97\x7a\xb5\x27\x43\x0a\x36\x45\xc5\x91\x9c\x48\xdd\xab\x03\xe2\x92\x8c\xcb\xea\xe9\xa6\xc0\x27\xc2\x35\xc1\xba\xb6\x33\xfe\x40\xec\xd5\x82\x05\x8c\x26\x27\x3b\x4a\xd6\x91\xe1\x92\x6a\xbb\x6b\xaa\xa3\x34\xc0\x27\xa0\xc1\x26\x7d\x15\x5b\x20\x55\x9f\xcb\xb7\x70\x15\xc7\x48\x22\x25\x92\x8b\x4d\xd8\x9b\x3a\xd9\x6e\x5c\x6d\x2e\x2a\x97\x83\x76\x10\x4a\x23\xfb\x05\xac\x65\x24\xce\x19\xfe\x3d\xce\x05\x75\x22\xa8\x54\x03\xc9\x58\x75\xa8\x3a\x52\x1d\x28\x9c\x3e\x8e\xc6\xdc\x4e\x66\xa3\xcf\xd1\xe4\x4c\xad\xd6\x0e\x78\x14\x00\xff\x55\x39\x2e\x69\x52\xe6\x08\x51\x79\x9a\x5a\x4c\xc3\x8e\x42\xc3\x26\x2d\xb3\xcf\x9a\x83\xdf\x83\x9a\x09\x90\xaf\x2f\x8e\xb2\x19\x64\x7b\x84\xc9\x72\x20\x63\x37\x3a\x25\x26\x0a\x7d\xd7\x1f\x65\xf3\x35\x3b\xd9\x21\x0c\xe3\x53\x78\x3f\xf5\xe0\x90\xca\x1c\x62\x5a\x4d\xde\x8c\x26\xc2\x12\x57\xfa\xb2\xc5\xa0\xe1\x92\x59\x7d\x3d\xc1\xa3\xe0\xb8\x83\x93\x4d\xa3\x08\x5a\x38\xb3\xd9\xc1\xd1\x3b\x16\x39\x72\xb2\xd0\x01\xf0\x83\x96\xbc\x85\x52\xcf\x81\xad\xaa\x23\xbb\x88\xfd\x5e\x1d\x39\x76\x2d\x65\xd2\xe4\x70\x59\xb7\xb4\xf0\x46\xec\x2a\x26\xc9\xd9\xa0\xe9\x53\x33\xbc\xa6\x2f\x0b\xd4\x6d\xf7\xe5\xd3\xcf\x0f\x3f\x7d\xf9\xbc\x06\xc0\x52\x66\x0c\x6f\xc8\x7a\x75\x2d\x68\xb0\x3d\xc1\x3e\x6f\x27\x21\x80\xed\x34\x8a\xef\x70\x20\x00\x25\x54\x69\x0a\x71\xc0\xd6\xda\x19\xaf\x2c\x5e\x91\x8b\x1e\x29\x0c\x9b\x7c\x49\x56\xc3\x8e\x14\x8f\x93\xa1\xad\x76\x05\x81\x7b\xae\x07\x9b\x0b\xef\x57\xe4\x28\xa9\x5d\x00\xb1\x6d\x3d\xfe\x9a\xad\x06\xe2\x39\x65\x99\x32\x00\x69\x90\xf1\x22\x52\xe7\xc8\x9a\xd1\xd8\x80\xc0\xcd\x68\x64\x4e\x50\x1b\x80\xac\x61\x08\x5d\xbc\x81\x41\x43\x7f\x73\xb9\x19\x0d\x86\x04\xee\xec\xde\xa4\x60\x77\xbe\x3b\xa4\xf7\x38\x22\x04\x1e\x60\xd7\x03\x9e\xb4\xf9\x1e\x71\xd0\xf4\x45\x95\xad\xab\x5e\xe3\xa3\x03\x2f\xe3\xc9\xc3\x68\xef\x77\xec\x78\x64\x35\x20\xc8\xaa\xa7\xdc\x67\x3e\x52\x4c\x23\x28\x25\xc1\x7d\x27\x42\x76\x41\xac\x96\x57\xe4\x53\x4a\x55\x44\xdb\x08\xe1\x97\xb9\x8e\xdd\x6e\x6c\x29\xc6\x9e\x5b\x38\x74\x77\x2d\x86\x9b\x9d\x5c\x1a\x50\xf2\xcd\xb8\xc2\x39\x29\x10\x72\xa9\x2a\xff\x71\xf2\xa3\xe6\xb9\xae\x53\xc6\x61\x70\xa3\x45\xc1\x34\xd4\x35\x5b\xee\x0c\xd5\x9a\x58\x86\xd1\x51\xb6\x20\xce\x1a\x64\xbc\x29\x6e\x54\x0e\x8c\x9c\x13\x8b\xe5\x4e\x3b\x53\xfd\x28\xa2\xa2\x8a\x5c\x07\x7f\x55\xd8\x36\x21\x8c\x41\xef\x18\x40\x42\x0b\x05\x75\x95\xbd\x28\xfc\xab\x54\x73\x46\xf4\x77\x39\x8c\x3e\xc1\x5c\xef\x33\x14\xab\xb1\x08\x07\xc7\x36\xcb\x49\x45\xaa\x42\xa7\xe6\x26\x52\xaf\x26\xb5\x03\xc1\xa9\x10\x4e\xc3\x13\xa4\x12\x80\x8f\x0a\x2e\x1e\x6c\xe6\x2e\x45\x62\x02\xb0\xca\xa0\x68\x30\x0c\x2a\x23\x67\xb8\xba\x1d\xe7\x34\xb2\x0d\x53\x10\x4b\x4e\x0d\x14\x21\x5f\xf6\xcb\xef\xa7\xf4\xfd\xdd\x2f\xb7\xab\xe7\xb4\x9c\x9c\x53\x5b\xd6\xf2\x15\xbc\xfa\xa0\x2a\xed\xf5\xdd\xac\x4c\x22\x1d\xf6\xfd\x32\xaa\xa7\x40\xdf\x4a\xad\xef\xad\xd1\x52\xaa\x10\xbe\x64\xdb\x31\xdc\xd2\x74\x3f\x5a\x38\x6b\x1e\x6d\xd3\x79\xef\x8e\x11\x5c\x02\xc1\xfb\x54\x36\x89\xf0\x15\xae\xeb\x45\x02\x77\x0b\x92\xc8\xe1\x08\x5c\xc1\xe1\x18\x71\x70\x27\x45\xb8\xa6\x4f\x3d\x1c\x29\x33\x9f\x33\xd3\x0f\x9e\x99\x0e\x62\x3f\xe5\xfe\xf4\xc8\xca\xde\xeb\x67\xb9\xf5\xb3\x7d\x74\xdc\x3b\x05\x38\x50\x85\x36\x93\x0a\xa5\x1d\x63\xc4\x35\x46\x9d\xae\x04\x96\x73\x40\x47\xa4\xa7\x1d\xd3\x24\xa5\x53\x63\xd5\xcc\x9d\x42\xc3\x9a\x92\x34\xd9\xb1\x15\xdb\x04\xe4\xae\x99\x89\x02\xee\x84\x26\xc2\x63\xb7\x53\xc9\xd6\xc9\xe6\xe3\x46\x4f\x6b\xe4\x0e\x5a\x20\xc4\x4d\xf7\x92\xd0\x01\x6c\xae\x9d\x5c\x38\x23\xa4\xa6\x4a\x7d\x0b\xaa\x1e\xb9\xa8\x04\x0b\x61\x11\x11\x29\x98\xcc\x79\xf7\x9a\x79\x4f\x9f\xa0\xe2\x41\x08\x93\xe9\x8c\x81\x8a\xeb\x09\xca\x55\x3f\xc7\x79\x56\xf8\x7a\xa6\x14\xe0\xe6\x0a\xeb\x03\x4e\x16\x70\x65\x85\x01\x64\xf5\x76\xe6\x18\x77\x40\x79\xfc\xda\x93\xbc\xd9\x09\x1d\x70\x20\x91\x20\x0c\x23\xe6\x33\x90\x73\x9e\x52\x6a\xce\x5a\x72\x6e\xc7\xec\x10\x5e\x28\x7f\x80\xcb\xc8\xb5\x75\xd8\x77\x24\xf3\x1e\x93\x52\xb3\x89\x60\x41\x59\x25\xfc\xa3\x50\x33\x59\xad\x94\x69\x22\x74\xc8\x92\x0e\xe6\x2b\xd5\x51\x08\x63\xf6\xd4\xe9\xe3\x33\x69\xa4\xae\xef\x7f\xda\x5d\x0f\x8b\x40\xfd\xb2\x70\x66\x2a\x35\x1d\xeb\x0d\x23\xbc\x1f\xbd\xaf\x83\x09\xea\xb5\x93\xf4\x26\x13\x69\x01\x34\xd1\x8d\x42\x7c\x61\x9f\xef\xde\xe0\x1d\x1b\xcc\xf7\x13\x49\x8e\x9c\x1d\x4a\xa2\x68\xed\x60\x7c\x0a\xe4\x63\x18\xe5\x1a\x40\x6a\xe7\xa8\x01\xe6\x3e\x53\x4c\x14\xd2\x10\xad\xa3\xec\x07\x27\x0f\x22\x7c\xb7\x02\x13\xf2\x77\x5c\x1c\xe2\x6e\x7b\x7d\xdf\x7e\xda\x7e\xfa\xdc\x96\xda\xd1\xa5\x8f\xcd\x93\x38\xdd\x8a\x65\x46\x42\x77\x1d\x84\x87\x0f\x78\x2d\x57\x93\x97\x7b\xc7\xab\x09\x48\xa1\x5c\x8b\xb2\xb9\x42\x02\xd4\x9f\x8c\x95\x4b\x0b\xcd\xa8\xee\x0c\x21\xd5\x56\x2d\x6d\x9a\xff\x01\x3e\xe3\x55\x39\x36\xf8\x64\x69\xbe\xdb\x82\x9b\x4a\x0d\x72\x78\x55\xde\xd4\xea\x00\x11\xca\x4e\xc3\xe4\xa5\x4d\x53\xd0\x03\xa4\x1b\x54\x6b\x88\xf6\x4a\xce\xbf\x76\xd5\x75\x93\x9e\x5e\x83\xa9\x10\x97\xac\x6a\xc3\x58\xe0\x98\x6e\x87\x58\x84\x56\xd6\xcd\xc8\x45\x1e\xeb\x7f\x7e\x36\x65\xd6\x6e\x80\x46\x3e\x6b\x04\x85\x45\x3b\x98\xe4\xe0\xc6\x73\x94\xca\x02\x6a\x04\x91\xdf\x02\x71\x91\x02\x81\x92\x75\x33\xe0\x09\x1c\x7b\x53\xd3\xb4\x0a\x1d\xdd\xa2\x50\x07\xa5\xd1\x00\x71\xee\x78\x73\x2a\x91\x39\x88\xa6\x99\xbc\x90\x3a\xb8\x5f\x84\x31\xe1\x68\xe9\xa1\x71\x9a\x5e\x5a\xe4\xa6\xd2\xd4\xd3\x16\x9c\xbb\xd0\x9b\x54\xe4\x42\x05\xdb\x40\xa9\x3f\x55\xbf\x6e\x27\xac\x5c\xd3\x2a\x1c\x62\x2d\x1d\x10\x21\xbc\x7a\x8c\x84\xc6\x10\x78\xc3\xe5\xf8\xef\x87\x9b\x8f\xb7\x77\x5f\x96\x77\xde\x25\xdf\x9c\x14\x2c\x69\x44\x7e\x20\x04\x96\x2a\x1f\xef\xf4\x16\xe8\xb1\x84\x1a\xcb\xaa\x3c\xc9\xc4\xe6\x4f\x59\x04\x2e\x5a\xb1\xba\x1d\xe9\xac\x11\x4b\xaa\xb8\x94\x53\xfd\xeb\xfa\x74\x2e\xad\x74\xb6\xe1\x5c\x5a\x69\x57\xca\x8e\x79\x87\x5f\xb0\x35\xfb\xa7\x6f\x05\x92\x4e\xcb\xb0\x6b\xa9\x27\xa4\x30\x7f\xa9\xac\xf9\x40\x44\x84\xf6\x75\x4c\xb6\x0b\x90\x8a\xa5\x9c\x47\x4e\x5b\x75\x0f\x0e\x61\x8a\x56\x3a\x83\x46\x38\x35\xfc\x72\x27\x86\xe1\xe6\xf6\xcf\xdb\xf7\x37\xeb\xf8\x49\x65\x86\x59\x77\x00\x1f\x71\x3b\xe7\x79\x9f\x6a\xd8\x19\xf9\x62\x52\x0d\x8f\x6f\x43\xf1\x8a\x34\x62\x58\x95\xcd\x89\x4a\x6a\xc2\xc4\xf9\x20\x14\x00\x13\x18\xba\xed\xc3\x28\x87\x17\xb9\xb3\x10\x60\x19\x11\xad\x0b\x41\x62\xc7\x63\x94\x9d\x54\x63\x77\xd0\x4f\x60\x2a\x1f\xdf\xb2\x15\xf2\xd0\x3b\xe0\x2b\x02\xb6\x80\xbd\xec\x09\x31\x05\x5c\x3d\xe5\x23\x43\xac\xd5\xc8\xf2\x9d\xdb\xb3\x65\xf4\x56\xd8\x6e\xdd\x12\xd2\x7f\x54\x83\x99\xf4\x85\x84\x96\x0b\x8b\xe6\x85\x86\x2b\xed\xcc\x01\xb6\x8a\xcd\xc8\xac\xb1\x4f\x70\x4e\xc8\x7b\xe3\x33\x7f\x3f\x03\xfb\xb7\xb3\xaf\x7f\xfe\xf2\xb0\xfb\x7c\xb3\x5c\xe0\x25\x56\x08\xc7\x39\x11\x66\xb1\x94\xb2\xeb\x20\x7e\xa7\x66\xe0\xf6\x24\x33\x47\xf7\xa3\x3d\x67\x01\xee\x16\xde\x6e\x27\x5b\x73\xb8\x0a\xae\x0e\xd0\x3b\x85\xe2\x47\xd3\x6f\x6c\xbd\xa7\x9c\x3d\x1c\x6f\x4d\x78\x30\x25\xa8\xf2\x8e\x5c\x1e\x84\x8b\x0b\x25\xee\x4c\x58\xf7\x98\x84\xba\xdb\x13\x0c\x07\x4e\x29\x33\xf0\xc8\xe4\x12\x42\x6a\x94\xe3\xe0\xba\xcd\x8a\x77\xe9\x4e\xce\xf8\x32\xcc\xad\x3d\x71\x4f\x55\x5f\xd3\x8a\x80\x7b\x05\x3c\xc3\x35\xa7\x06\x0b\xf7\x6c\x78\xc7\xf6\x2f\x6d\x7b\x7f\x7b\x3d\xfc\x24\x47\x72\xb1\x50\x17\x7d\xb1\x44\xfa\x48\x56\x03\x22\x5f\xb0\x1b\xcb\xf3\x8e\x07\x0a\x78\x74\x7e\x37\x0a\x49\x7f\x8a\xbb\x34\x43\xca\x2c\x60\xaa\x80\xfb\x7c\x21\xcd\xff\x19\x72\x7c\x26\xcb\x7f\x87\xc3\x3a\x89\xb8\x4a\xcb\xee\x4c\x56\xf2\x90\xdd\xc1\x0b\xf8\x02\x2c\x27\x02\x88\xd3\x60\x12\xb4\xa8\xf1\xeb\x60\x39\xe5\xe5\x14\xdd\x5c\xdd\x05\xaf\xbf\xaf\xc9\x3f\x7c\xf3\xf1\x76\x79\x88\xeb\x01\x00\x9d\x4b\xf8\x7b\xb8\x90\xba\xef\x69\x75\xb3\x2f\xf0\x33\x3b\x56\x99\x8c\x73\xa1\x82\x1d\xf0\x89\x9c\x55\x2f\x54\xb0\x08\x5e\x01\x14\x00\x62\x30\x69\x61\x53\x67\x36\x56\x36\x95\xf6\x03\x56\x7b\x0d\x7f\x35\x3d\x6a\xd6\x60\x56\x58\x44\x6b\xdf\x95\xc5\xdc\x3f\x7d\x33\x05\x4a\x61\x93\x41\x11\x27\x78\xaa\xd7\x75\xe6\xeb\x89\x7a\xbb\xbf\xfb\xbc\x5b\xc8\x0f\x75\x89\x35\x71\x9c\xe5\xb9\x50\x8a\x7e\x34\x39\x10\x23\x52\x32\x90\x87\x7f\x52\x4c\x72\x99\x75\x50\x26\xbd\xb5\xe1\x70\xd6\x55\x05\x7c\xec\x31\x5c\x7b\x26\xcd\xe9\xa6\xcd\x40\x8b\xe7\x91\x03\x93\x93\x43\x09\x1f\x03\xf6\xad\xaa\xbb\x9a\x9b\x3d\xf2\x63\x9a\x1d\x3e\xb3\x10\xfb\x49\x02\xe8\xf2\x09\x03\xaa\x39\xfb\x09\x11\xd2\x69\xfa\xb0\x10\x44\x2e\x51\x73\x9f\xc2\x99\xd5\x09\x49\x1d\x20\x0a\x2a\xc3\xa8\x2b\xf5\x64\x29\xee\x28\xf6\xaa\x4c\xa8\xbc\xe9\x00\x97\x3e\x8f\x19\xa0\x27\x0a\x2f\x84\x00\x9b\xd8\xf3\x08\x21\x51\xcf\x39\x1a\xa6\x44\xf3\x69\xf0\x27\x4a\xa7\x4a\x51\xb3\x08\x21\xf1\x0d\x6a\x96\x8a\xc7\x24\xb7\x14\xda\x05\x14\x89\x6c\x5c\xee\xba\x5c\x74\x54\xb5\xb9\xe8\xbf\x3a\x1a\x46\x0f\xa0\xaa\x1a\xa9\x42\x91\xe7\x09\xc2\x44\x84\x05\x41\xb5\x06\xbe\xcb\x25\x8c\x38\x37\xdb\x74\x0e\x39\xf8\xee\xde\xfa\x04\x61\xd5\x15\x59\xae\xcd\x5a\x3c\x78\xcc\xe9\x7c\x64\xb7\x9c\xea\x57\x02\xb3\x7e\xbc\x69\xbb\x2f\x3f\xaf\x32\x92\x75\xf6\xe0\x8b\x5c\xc9\xfb\x34\x06\x4a\x64\x3c\xb1\x1f\x0d\xdc\x37\x39\x90\x83\x92\x39\xc1\x0a\x03\x05\x6a\x06\xd3\xe1\x1e\xdf\x06\xe0\xb1\xe7\xd1\x44\x14\x75\x24\xd7\x09\x29\xe0\x05\x23\xae\xa7\x00\x47\x23\x8e\x89\xa0\x2a\xf4\x8f\x6f\x43\xb4\x14\x38\x8f\x00\x94\x43\x7c\x69\x26\x07\x2b\xb2\x83\x4d\x22\x12\x50\x2d\xe5\x6f\xb9\x47\x1e\xdf\x86\xcc\xe4\x6b\x18\x1d\x31\xb1\x22\xb4\x35\xd3\xcd\x3e\xd2\x9c\x46\x0f\x79\x0d\xb7\x51\x5f\x14\xe0\xa2\x3c\xbe\x8d\x31\x93\xe7\x3a\x3a\x29\x53\x89\x59\xc6\xd4\x93\xf5\x87\x0d\xb8\x19\x05\x25\x67\xa8\x85\x49\xa6\xff\xf1\x6d\xac\x95\x3c\x3c\xd0\x61\xa9\x22\x45\xd8\xec\x57\x4e\x69\x52\x37\xfe\x2d\x8f\x6f\x93\x2f\xe4\x1d\xf8\x22\xc5\xda\x88\x60\xbc\xa4\xc5\x3e\xf2\x04\xda\x62\xbb\x6f\x86\x5e\x01\x0e\x27\x2a\x5a\x42\xf0\xa7\x4f\xd0\x8f\xe8\x17\x83\x6f\x00\xd5\xf1\x49\x35\x5c\x29\xab\xc1\xc0\x02\x69\x2c\x22\x8f\x17\x50\x1c\xe5\x47\x50\x31\x8a\x0d\x2c\x54\x07\x1d\x30\x8c\x4d\x9a\x00\x88\xa4\xe7\xb4\xeb\x13\x35\x54\xc9\x84\x42\x61\xd3\x8c\x02\xed\xc9\xf5\x29\x04\x3b\x40\xc5\xe0\x3c\xb4\x77\x31\x53\x56\xac\x0f\x58\x97\xc8\x5f\xc5\xc1\x40\x5b\xa1\x5e\x0f\x41\x81\x43\xab\x3e\x02\x86\x08\x72\x19\xc2\xaa\x39\x83\x15\x41\x73\xd3\x31\x96\xd4\x8d\x25\x38\x05\xd9\x03\xdc\x53\x91\x77\xe5\x0d\x21\x0a\x59\xce\x80\xf7\x94\x2a\x62\x8b\x93\x5a\xa0\xa0\x8d\xc8\x9e\x7c\xed\x3a\x80\x9c\x1a\xa4\x4a\x42\xe8\xc3\x68\x29\x03\x21\x1e\xe9\x9e\x5c\xa0\xe4\x28\xc2\x57\x8c\xa5\x0a\x4d\x74\x25\x3d\xd5\x28\x0b\xc4\xf1\xe0\xfa\x4d\x9b\x31\x16\x62\x68\xca\x89\x73\xd3\x58\x72\xb8\x3a\x64\x0d\xd9\xe1\xd2\xd0\xa0\x4b\x2d\x66\xaa\xa3\x53\x6a\x1a\xd5\xb7\x2d\xca\x3e\x2d\x04\xbc\x16\xaf\x38\xc3\xb9\x5b\xd3\xac\x3d\xcc\x35\x50\x16\xfd\x44\x28\x9b\x49\xdd\x35\xab\x41\xe9\x80\x23\x02\xef\x1b\x38\x87\x08\xe9\xec\x70\xa1\xca\x51\x57\xbd\xa7\x8c\xe2\x5b\xc9\x46\xd4\xdb\xa7\x87\x8a\xc4\x51\x04\xad\xe8\x48\x11\x5f\x20\xaf\x15\xc2\x36\x79\x2a\x08\x6d\xfe\x1e\x24\xa1\x2f\x9f\x87\xbb\xeb\xf7\x6b\x56\x81\xfa\x0c\xf4\x8b\x9c\xab\x5f\x6b\x27\xd0\x0c\x35\xbf\xb6\x16\xb9\x4b\x27\x00\x94\xb3\xd8\xaf\xc8\x01\xbf\x82\xfd\xea\x27\x70\xda\x13\xd4\x71\x97\xe1\xcb\x1e\x53\x07\xa4\xac\x6e\xd3\xba\x9e\xd0\x6b\x36\x6b\x58\x59\xf5\x27\x9f\x1a\x4a\x55\x87\x17\x57\xee\x89\xb7\xec\x7d\xa5\xea\x3b\x5e\x93\x74\x10\xea\x7a\xdb\x39\x8d\xb3\x30\xf9\x4f\x53\x74\x9f\x60\xc9\x4f\x78\x10\x10\xd7\x00\x7e\x81\xea\x7d\x95\x8b\x22\xd5\x21\x08\xc9\x09\x05\xb9\x67\x9f\x04\xc8\xc8\x23\xb4\x0a\x17\x45\x15\x67\x9f\x41\xc2\x1b\xb6\x9f\xee\x96\x37\x59\x38\xa4\xcb\xb1\x19\x09\xfa\x2d\xbc\xb7\x70\xb5\x76\x93\x22\x70\x1f\xe5\x28\x79\xf5\x0a\x0d\x41\xe8\x35\xd0\x00\x4c\xa0\x1e\xc2\x20\x34\x50\x15\x7f\x91\xe0\xb4\xd1\xad\x3e\x96\xa2\x30\x3b\x70\xfe\xf2\xa4\xe1\xc6\x50\x24\xaa\x05\x5e\xe7\xf1\x4a\xc1\x50\xba\xe7\x83\x0b\x0d\xc0\x09\x2e\x4c\xe0\xaa\x9d\x81\x53\x45\xed\x04\x06\xd6\xa1\xf1\x3c\x50\x7a\xb2\x32\x53\x4e\x6d\x18\x6a\x54\x44\x2a\x29\xee\xb6\x98\x6e\x6a\x86\xe7\x5c\x9a\x80\x36\x01\x73\xb0\xe9\x7b\xae\x27\x63\x74\xb6\x4d\xdf\x34\x38\x17\x81\xa9\x22\xd1\x29\x9f\xd2\x11\x7d\x01\x5e\xa5\x80\x08\xca\xfe\x28\xdc\xad\x82\x6e\x72\xeb\xf9\xb1\xc6\xa8\xa0\xc1\x47\x51\x8c\x87\xef\x23\x17\x38\x89\x95\x40\x42\x7c\x1d\xd6\xb8\x73\x9b\x6a\xd9\x4d\xa9\xa7\xa1\x8a\x0a\xb5\xad\x67\x2e\x52\xee\x7e\x11\x09\xe4\x92\x8c\x77\xca\x44\x55\x5c\x1b\x38\x1b\x48\x33\x6d\x75\xe1\x82\xaa\x8c\x81\xd0\x10\xe4\x0a\x8f\x1a\x90\x92\xed\x64\x32\x48\x15\xdf\x70\x1d\x58\xe5\x3e\x75\x54\x72\x91\x4c\xdf\x47\x99\x50\x10\x55\xf0\x11\x6a\x64\x57\xfb\x68\xdf\x03\x22\x49\xca\x29\x94\x7f\x73\xc7\x8c\xd6\x2c\x94\xaa\xf5\xe8\xdf\x59\x5d\x63\x19\x06\x42\x44\x19\x68\x22\x5c\x67\x15\xb5\x1c\x75\xd6\xd0\xe4\x46\xe7\x98\xc6\x5c\xe4\x7e\x75\xde\x49\x3d\x23\xd7\x40\xb9\x08\xb3\x41\xb9\x8c\xd8\x36\x3d\x7d\x8b\x0b\x3d\x31\x99\x71\x90\xd1\x2c\xc5\x4c\xc2\x10\x53\xdc\x8c\x45\x0f\x7c\x21\xf4\xb9\x69\xa6\xc1\x09\x55\x11\x1c\x14\x08\x4e\x9c\xfc\x93\xd9\x03\x28\xac\x3b\x86\x00\xf5\x2d\xcf\xfa\x1b\xe4\x08\xc6\x2d\x1d\xa6\xc0\xec\x02\x54\x72\x03\x94\x8c\xcb\xca\xab\xdd\xdd\x12\x65\xad\x2e\x9d\x75\x9f\xc0\xdc\xba\x3a\x25\xaf\x56\x07\x55\x55\x23\xf1\xe4\x38\x04\x72\x87\xe9\x76\x1a\x20\x04\x6b\x05\x78\xf3\x92\x34\x2a\x49\xb5\x4c\xd1\x93\xa2\xeb\xcc\x70\xf6\x90\x11\xf5\x30\xe2\xf2\x56\x03\x64\x05\x86\xba\x5c\x8e\x51\x71\x4c\x8a\xd7\x74\x33\x00\x1d\x14\x92\xcd\x09\x96\x7a\x72\xdd\xdc\x97\xb3\xba\xaa\x23\x03\x13\x38\xc4\x42\xa1\x76\x5d\x97\x6e\x17\xc8\x09\x21\xf7\x9d\x10\xf3\xcc\x94\x7a\x8d\xb1\x8c\xb2\x25\x84\xcf\x48\x04\x7b\xa1\x4d\xc4\xce\x8d\x2e\xea\xc6\x82\x25\x41\x89\x35\x4f\x48\xd9\x42\x00\xc1\xd6\x25\x70\x16\x19\x6e\x9b\x42\x65\xe0\xe7\x15\x9a\x9f\xd0\x81\x14\xb4\xe0\x2a\x8e\xf0\x6f\xd3\xd8\x16\x17\xd5\xf9\x41\xad\xbd\x59\x7d\xdb\x3b\xce\xa6\xfa\xb9\x1b\x61\x2d\x85\xc7\x8c\xb1\x7f\x8a\x10\xa5\x3e\xd9\x6a\xde\xa7\x09\x66\xa0\xcc\xdb\x03\x8c\x7e\x98\xd4\xee\x75\x54\x07\xf6\x4c\x80\x91\x71\x3e\x8a\x1c\x0a\x50\x99\x11\x8c\x27\xd4\x09\xdc\x61\x05\x39\x6c\xda\xac\x1d\xec\x6e\x4c\xe0\x5b\xe1\x19\x07\xa4\xa4\xe8\x29\xb9\x16\x23\xfe\xd5\x68\xe9\x3e\x19\xe8\x42\x6e\x13\x52\x37\x78\x5f\x35\xbd\x8f\xf8\xa2\xd0\x4a\xb0\x62\xa5\x1e\xa5\xdb\x90\x1c\xcd\x8e\x59\x51\x2b\xa5\xab\xd1\xcb\x1c\x65\x45\xdd\x7b\x0e\xa8\xe2\xdd\x9f\xd7\x0d\x7f\x75\xe9\x1b\x77\xb4\xa3\x19\x26\xa7\x32\x45\xea\x7e\x33\x6d\x9a\xbe\xb0\x54\x7c\x74\xa7\x06\x65\xee\x7a\xad\xbf\xbd\x5e\xb1\x78\xb7\xf9\x15\xcc\xdd\xcf\x77\x77\x7f\xfe\x74\x7d\x7f\x6e\x82\x97\x80\x28\xae\xcc\xb1\xdb\x1c\x5d\x9f\xe0\x29\x2e\x35\xb8\x21\x38\x4f\xc1\xa6\xa1\x54\x2a\x51\xfe\x35\x25\xe2\x47\x13\x6c\xda\x4b\x11\x60\xfe\x87\x9e\x5c\x42\xa8\xbd\x5c\x1c\x75\xf4\x2a\xff\xa9\x6e\x22\x70\x0f\xcb\x4f\x8a\xf5\x56\x27\x7c\xe0\xe9\xd7\x09\x25\x7d\x42\x1f\xe9\x26\xcb\x32\x63\x5f\x79\xf2\x6e\x30\x21\x30\x05\x60\x5b\xc3\x6d\x42\xae\x7b\x44\x96\x7b\x94\x30\xde\x43\xb2\x82\x07\x06\xd5\x51\x7e\x87\x1f\xa9\x83\xdc\xd5\x25\x1a\x85\xf3\x81\xc3\x92\x0f\xd4\x7f\x6a\xbd\x8c\xf0\x80\x55\x46\x50\x77\x6c\xc3\x65\x71\x1f\x54\x79\x5d\xda\x2f\x27\xf1\xa0\x5e\xf3\x66\x32\xfc\xb0\x13\x18\x24\xc5\x8c\x06\x06\x83\x9b\xdc\x5b\xd4\xb0\x07\x28\x78\x64\xf7\xd2\x84\xc4\x22\xf3\x7b\xd5\x1d\x7a\x38\x63\xb1\x12\x71\x60\xc2\xc2\x06\x90\x0e\x36\x02\x05\x9f\x0f\x71\x72\x40\xc3\x37\x3f\x3d\x1f\x8d\x5e\xe2\x49\xc5\xc9\xa6\x42\xab\x32\x29\xdd\xcb\x9e\x03\xe1\x6e\xa8\x95\x62\xec\xf7\xbd\xf6\x4b\xe8\x38\xe0\xe1\x45\x5c\xf5\x9a\x85\x8c\x83\x2a\x21\x39\x37\x03\xa7\xcd\xa8\xce\x35\x1d\xce\x54\x31\x3d\x40\x99\x10\x50\x1a\xba\x43\xa8\x7c\xce\x5a\x40\xdf\x0b\x0a\xe9\x15\x52\x0d\xb8\x4d\x80\x66\x23\x82\xc9\x13\x0c\x4f\x1d\xef\xcd\xa9\x5e\x69\xc2\x03\xc8\xd3\x6f\xca\x2a\xa8\xdf\xa8\xc6\xd2\x4c\x1b\x07\xce\x65\xce\x75\xd8\x7f\x26\xa4\x62\xab\xaa\xda\x80\x53\xa6\xed\xe1\x3b\x3d\xe5\x9a\x0f\x2d\x2a\xba\x56\x83\x07\x1b\x9c\xf8\xe1\x0c\xaa\x2c\x9e\xfc\x02\x06\x1a\x7e\x20\xac\x97\x1a\x1e\x38\xab\xf9\x28\x3b\xae\x46\x82\xbc\x6e\x3a\x0b\xcc\x8a\x2a\xec\x26\x4c\x7c\xc3\x16\xbf\xd4\xee\xec\xa3\x4c\x21\xfc\x9b\xc0\xfe\xe1\x57\x1f\x54\x7f\x58\x10\xa6\x10\x3d\x39\x27\x77\xdc\xef\xd5\xfc\x76\x11\x55\xa5\x87\x4f\x2f\x4e\xca\xc5\x9c\x45\xc9\x21\x97\x48\x19\x4d\xca\x04\x97\x0a\xa8\x6c\x39\x65\xf8\x09\x42\x44\x08\x1d\xbd\xc7\xaa\x7f\xa1\x53\x1f\x0b\xee\xfa\x98\xd0\xd3\xbb\x6b\x37\x15\x46\xd0\x45\xb8\xe7\xa4\x66\x3c\xb8\x38\xe5\x62\xbb\x7b\x6d\x4d\x70\xae\x92\xcb\x16\x3c\xa3\x09\xa3\x03\xc6\x76\xb0\x93\x5f\xbb\x05\x1e\x2c\x97\x42\x49\x59\x61\xe9\x08\xe2\x71\xe0\xe8\x04\x9c\xf8\x38\x42\x0c\x29\xe0\xe8\xd5\x2d\xc4\x77\x85\x92\x70\xb1\x33\x97\xec\x6c\xbc\x8a\x7b\x44\x87\x4b\xf7\x91\xf7\x3a\xf0\x06\xd7\x5b\x50\x9c\x3e\x62\xc6\xc9\x46\xb8\x89\xa5\x02\x9f\x25\x4e\x7e\x44\x64\x39\x87\x4a\x4e\x85\x1d\xa7\xce\x5e\x1a\x8a\x59\xe1\xc3\xaa\x49\x2d\x0b\x69\xb0\xa7\x0f\xaa\xd7\x76\x4e\xf9\x04\x39\xc2\xf2\xc3\xe4\xef\xe4\x53\x4f\xaa\x6c\xab\x30\x49\xce\x46\x61\x97\x35\xa0\x48\x7d\xf7\x9d\xfa\x3c\x55\x24\xdb\x61\xf8\x08\xbd\x28\xaa\x79\xb1\xec\x4b\x17\x1f\xeb\xa6\x65\xaf\x51\xc6\x2a\x37\x90\x4b\x61\x67\x38\xe6\xd9\xc9\x5d\xd8\x67\x91\xc5\x70\xa6\x6c\xd9\x8b\x90\xb6\x73\xd5\x0f\x88\x0b\x74\xaa\x96\x0f\x7b\x93\x63\xdd\x19\x6f\xd3\x1e\x5f\x5c\x8c\x7b\x79\x86\x4f\x86\x2d\xb7\x08\xb7\x08\x1d\x02\x02\x56\xb3\x06\x04\x8e\x1c\x32\xbc\x30\x9e\x87\xcf\x55\x5d\xef\x62\x5c\x3f\x7f\x75\xbe\x25\x0d\x3d\xc0\x8a\x2a\x42\x49\x87\xa9\xeb\xd6\x53\x85\x77\x14\x56\x3e\x42\x82\xc8\xa0\x90\x48\x6f\xe2\xc9\x42\x63\xd7\xdd\xf6\x27\x11\xa5\x66\x85\x57\x0e\x4e\x68\x4a\xd2\x11\x0a\x7d\xac\x81\x7c\x6d\x85\x09\xf2\x69\xf4\x00\x5a\xd4\x38\xfb\x68\xbb\x9c\xa5\x30\xe6\xce\xa6\x51\x93\x81\x9a\x42\x0a\xc7\x53\x08\x01\x98\xea\x27\x59\x9d\xdc\xb4\x83\x1e\x3c\x91\x12\xab\xef\x7a\x1d\x07\x77\x22\xf9\x34\x4e\xc1\x9f\x98\xd5\x1d\x92\x5c\x6e\xa6\x00\xa1\xa5\x74\xe1\x1c\x56\x23\x55\x7f\xc8\x75\x0d\x49\x29\x8c\xc0\x51\x2f\xb9\xe3\xa9\x2b\x7e\x41\x89\xdd\x6f\x9f\xa3\xd5\x2b\x1b\x48\x96\x45\x3d\x5f\x32\x62\x01\x7c\x9d\x62\x33\x45\x1a\x41\x4a\xd4\xd4\xdd\x92\x45\xca\xc7\xa1\xb1\xdd\x00\x08\xa1\x46\xa8\xaf\x26\xd8\x51\xa0\x46\x75\x82\x72\x3d\x65\x8d\x97\x31\x16\x78\x9f\x36\x45\xd1\x14\xfe\xc3\x59\xf2\x93\x23\x9d\x53\x7d\xc4\x06\x92\x20\xce\x36\x30\x1b\x81\x3e\xc4\x6e\x90\xfa\x47\x15\xb1\xa8\xe3\xdc\x94\xee\x13\x1a\x79\x50\xf3\x2a\x70\x97\x3c\x4e\xb6\xa2\x3d\xa4\xac\x38\x81\x9a\x10\x4c\x55\xa4\x5e\x23\xc9\xd4\xad\xb0\x90\x32\xfc\xa5\xaf\xba\x92\x31\xab\xde\x5e\xdc\x9d\xd4\x83\xc6\xe5\x89\x18\x0c\xff\x6b\xf5\x00\xe8\x49\xdf\x14\x15\x3c\xaa\x64\x2d\xbb\xf4\xd9\x3c\x5d\xae\x32\x79\x2b\xd2\x10\xc2\xfe\xb8\xa7\xab\xec\x8a\x7e\xb5\x2a\x64\x35\x50\x8c\x15\xe6\x01\x4f\xee\xf1\xad\x77\x8e\x5c\xe6\x31\x43\xec\xd1\x70\x07\x0b\x61\x2f\xc9\x24\x62\x4b\x83\xaa\xcf\x49\x0e\xe5\x94\x3f\xbe\xf5\xd1\x91\x73\x69\xac\x84\x2b\xb1\x0a\x39\xc3\x9c\x66\x52\x94\xee\xa8\x4e\xe0\x8d\xa5\x3b\x8f\x6f\x7d\x0d\x48\x58\x52\x08\xb1\x11\x3d\x50\x0e\x5e\x7f\x58\x2d\xb0\x95\xe0\x39\x47\x56\xff\x0a\x00\x9d\x3d\xbe\x0d\x22\x43\xc6\x3a\x2a\xce\xbb\x30\x1e\x88\xc8\xd0\xb2\x32\xfd\x68\x35\x02\x85\x0d\x56\xde\x04\x44\xe8\xd0\x29\x72\xef\x13\x08\xbd\x92\xa9\x04\x53\x47\xcf\x4a\x06\xea\xa9\x5e\xc3\x38\x06\x8f\x6f\x63\x96\x59\x50\xbd\x3f\xa4\x6d\x20\x28\xc0\x1c\xa4\xba\x6d\x24\xe6\x32\x45\x84\x42\xbe\xec\xeb\xf6\xe5\x76\xb8\x7b\xb7\x24\xaf\x4b\x8c\xa6\xa7\x30\x54\xc9\xee\x67\x0b\xe6\x8a\x0e\x32\xad\x63\x36\xea\x1b\x2f\x8a\xff\x45\x4a\xb2\x5d\x5d\xcb\x6e\xb8\x37\x3d\xe5\xc1\x9a\xda\x16\xac\xca\x8a\xd6\x56\x5f\x79\xa2\xb5\x4d\xd9\x4d\xb8\xaf\xa5\xa7\x5b\xd1\x3c\x2b\xed\x28\x01\xcb\xa6\x9d\xe4\x66\x39\x4e\xdb\x72\x59\x52\xbd\xdf\xbe\xbf\x69\x3f\xbd\xbb\xbe\x7f\xbf\x98\xe0\xa5\xdb\xd0\x11\x08\x56\x4e\x56\x69\xff\xba\x71\x71\x82\x5d\xea\x22\xa7\x99\x65\x4e\x11\x52\x0d\xc3\x6f\xf3\x20\xdd\x76\xe1\x56\xde\xec\x2f\x2e\xec\x98\xf2\xca\xe3\x5b\x60\xea\xb9\x62\x9f\x01\xeb\x76\x61\x27\x3b\x60\xef\x5c\xb8\x00\xfa\xdd\xab\x94\x91\xd8\x33\xf8\xdd\xfb\x64\x8b\x14\x4c\x61\x6f\x92\x2d\x9b\x0b\x18\xe0\x5a\x9b\xc2\x3f\x14\x20\x3f\xb8\x6e\x07\x87\x42\xfb\x11\xee\x97\xd3\xa3\x09\x13\x02\xe8\x10\x97\x01\x9c\x1e\x16\xe1\x75\x75\xe9\x26\x74\x50\x21\xf8\x12\x7a\x4c\x92\xe9\xc8\x0a\x66\x86\x56\x30\xf1\x08\x63\xa1\x63\x2e\xf4\x8f\xfe\xeb\x54\xaa\xbf\xa6\x69\x0b\x13\x4c\x90\x6a\xd5\xea\x68\x3c\x45\xe5\x8c\x00\x98\xc5\x9d\x61\x1f\xe1\x3c\x6d\xe1\xe6\xaf\x72\x9f\xb3\x93\x19\xd0\x91\xe6\x80\xd1\x2c\xef\xb5\x23\xd3\xb2\xa6\x5e\xba\xd2\x37\x5d\x77\x13\x70\xb6\xcb\x38\xc1\xef\xa5\x56\x0b\x57\x03\x46\x78\x45\x06\x6c\x80\x50\x9b\x5d\x1c\x15\xef\xf1\xff\x65\xef\xdd\x93\x9c\x48\x92\xed\xe1\xff\xb5\x8a\xd8\x40\x60\xe1\x1e\x6f\x9b\x35\xb0\x06\xac\x80\xa2\xc5\x37\xd9\x14\x09\x89\xee\xbd\xac\xfe\x33\x3f\xee\x91\x92\x2a\x25\x55\x15\xd0\xcd\xcc\xfc\xc6\xac\x1b\x65\x49\xf9\x88\x8c\x87\x87\x3f\xcf\x11\xed\xa0\x68\xe1\xcc\x6e\x01\xf5\x01\x35\x79\xa8\x51\xca\x46\x47\x06\xd1\x92\xbb\x6d\xa0\x31\x14\x73\x7a\x94\x3a\x5b\x75\x29\x92\x87\xab\xbd\x96\xd6\x8c\x7a\x0e\x7b\x24\x2d\x0f\x09\x91\x56\x1e\x33\x58\xd3\x89\xcd\xf9\xcf\x50\x1a\x03\xb9\x14\xd4\x7a\xd3\xf5\x09\x05\x2e\x16\xc7\xca\x8e\x84\x1f\x45\x3b\xc1\xcb\x0e\x2d\xc1\x4a\xe9\xeb\x2b\x25\x2a\x3b\x68\x92\x34\x8b\x1a\xe2\x52\x41\x80\x43\x15\xe1\xb6\x8f\x33\xc3\x2a\x88\x2e\x07\x1a\x0e\xf9\xc4\x86\xf6\x97\x76\x33\xb2\xaa\x45\xe5\x03\x87\x79\x52\x1e\x33\xe4\x26\x87\xa7\x72\xd2\xf6\xef\x37\x6b\xff\xee\x98\x6d\x14\x52\x18\x29\x7d\xd1\x12\x72\x0d\x4e\xdc\x6b\x85\x22\xc7\xf5\xd8\xd8\x4c\x06\x49\xda\x72\x3c\x3a\xfe\x7c\x72\xd1\xf1\x5e\xdf\x5f\x13\xf7\xf2\xb7\x3c\x07\xfe\xae\x12\x06\x07\xe2\x45\xd9\xb0\x1b\x08\x85\xb7\xa4\xcc\x48\xc3\xbb\x22\x0e\xe4\xfa\xab\xa4\x00\x15\x29\xc5\x7b\xa2\x16\x26\x60\x4f\xa7\x86\xc4\x08\x6c\xb3\xc5\x74\x34\x2e\x0e\x99\x90\xb5\x1d\x93\x52\x8a\xfa\x3f\x15\xb2\x92\xd6\xe8\x6c\x6a\x61\x6d\xd0\x15\x91\x8b\xf7\xb9\x28\x72\xf5\x3a\x99\x97\xc5\xd5\xbc\x9b\xa8\x57\x57\x42\x91\x05\x97\xa3\x2b\xd1\xb5\xb2\xc8\x0c\x8f\x71\x2f\x4d\xc9\xc8\xac\x09\x04\x3f\x41\x11\x5d\xb6\xe0\x12\x8f\x6b\x0a\xfc\xed\x84\xcd\xf3\xb6\x17\xef\xdb\x34\xed\x1f\xbe\x6c\xfc\x4a\x77\x37\x59\x74\x64\x5f\x6f\xfd\x16\x4e\xcd\x72\x05\x20\x67\xc5\x6f\xde\x42\x8e\xce\x3e\x51\x75\x51\x3a\xad\x11\xbb\x28\xfb\x0b\xec\xe7\xee\x7c\x27\x85\x7a\x89\x34\xe2\xf1\x09\xa8\x96\xaf\x94\xa1\xc9\xe6\xea\xe0\xb3\x44\x29\x80\x3a\xa3\x32\xca\x34\x7d\x0e\x8b\x82\x9a\xe5\x30\x40\xc6\x70\x6b\x75\x82\x83\xa8\xce\xe2\xf7\x46\xa3\xc6\x5a\x36\xe6\x2b\xac\x69\x38\x52\x5a\x55\x97\x13\x3b\x75\xea\x70\x74\xad\xc3\x89\x44\x81\x10\x88\xe9\x6a\xec\x6a\xe4\x76\x0f\x94\xd3\x2b\xdb\x6b\xe7\x4b\xbb\x6b\x6a\x61\x4e\x31\xa3\x9e\xaa\x00\xf7\xf6\x22\xf9\x2f\xe8\x9c\x64\xbe\x71\xe7\x43\xcf\x49\x4c\x0f\xb8\xc9\x01\xf9\x81\x4c\xad\x78\xf0\x5c\xc3\x1c\x45\x17\x4f\xec\xec\xdb\xdb\xee\xf2\xb7\xf7\x5b\xd6\xf5\xbb\x2d\xbf\xce\x09\x6e\x95\x82\x43\x58\x79\x3d\x2c\xaf\x32\x7b\x24\x95\x6b\xa9\x96\x33\xfc\x57\x48\xd9\x60\x81\xb5\x71\xa6\xa1\x97\x68\x1a\x5c\x74\xd9\xe4\x29\xd2\xba\x34\x00\x0a\x83\x61\xd5\x66\xcb\xf7\xd7\x0c\x12\xe3\xb6\xa7\x18\x80\xf0\x56\x5c\x0c\x58\x8e\xc5\x58\x43\xb3\x91\x27\x05\xe5\x2e\x00\x55\xb0\xa2\xc4\x35\xf3\xdb\x21\xbf\x85\x8e\xc7\xde\xfe\xd0\x40\x8b\x9e\xa5\xf5\x66\x71\x51\x20\xdb\xa0\xe9\x6d\x91\xf5\x41\xbe\x45\xfe\xbe\x7b\x4d\xd5\xa8\x72\xae\x30\x89\x8c\x24\xed\xe7\x00\x6c\x59\x22\xe8\x96\x76\x64\xce\x00\x48\xea\xe4\x5a\x5b\x9a\x65\xc8\x2c\x00\xc0\x53\x7e\xd6\x2c\xe6\x54\x51\x87\x37\xeb\x40\x88\x1d\x4e\xd5\x71\x43\x3d\x60\xa8\x7a\x26\x0c\x1a\x58\x25\xb1\x6f\x74\xdb\xe5\x4c\x65\x1e\x01\xa6\x06\xd4\x23\xea\xaa\x38\xcb\x9d\x06\x45\x2c\x68\xe4\xf0\x80\x81\x1e\xa0\xbe\x75\x2e\x61\x01\x0a\x60\x28\x8b\xa1\xf4\xa1\x95\x60\x30\x44\xd3\x61\xde\xdf\x76\x75\xbf\xbb\xff\xb2\x7c\xfc\xf0\xf1\xdd\xdd\xb2\x09\x43\xde\xc5\x7f\x9c\x32\x3b\x95\x14\x26\x52\x64\xc3\x3c\x47\x6d\x26\x6a\xf1\x83\x22\x56\x24\x03\x93\xc8\x34\xc1\x85\xe6\x53\x53\x3a\xa6\x56\xe6\xf1\x3b\x8c\xae\xa0\x02\x41\x64\x4b\x45\x89\xcb\x84\x2d\x3c\xc7\x49\x4b\x63\x9b\x11\x32\x27\xad\xa6\xf0\xc8\x57\x66\x65\xc9\xea\x6a\x8d\xc2\x3a\xcf\xe4\x98\x27\x69\x8e\xa3\xd8\xf4\x00\xd8\x0e\xd0\xda\x62\xd0\xdb\x73\x50\xe8\x2c\xc2\x05\x99\xf1\x10\x6a\x6d\xb2\x58\xa8\x22\x6b\x29\x34\x8f\xda\xa2\x11\x99\x9e\xf2\xac\x1a\x76\xf2\x0a\xd4\x8a\xbe\x52\x52\xca\x61\xd2\x49\x98\x95\x20\x2c\xc1\xda\xac\xda\x39\x14\xf3\xe4\xed\x60\x06\xd2\x86\x6a\x57\x35\x48\x1f\x24\x94\x91\x64\x9a\xf4\x66\x93\xd7\x9b\xe3\xf5\x14\xde\xab\x86\x99\x3b\x18\x60\xa5\x2d\x93\x35\x71\xd2\x26\x8b\x15\x2d\xb7\x90\xff\x66\x39\x9f\x9d\x75\xa0\xbd\xba\x1e\x50\x44\xb2\x55\x0c\x7a\x13\x45\xfa\xd2\xc5\x9a\x69\xb2\x2e\x9e\xb4\xcb\xcf\x6e\x83\x04\x12\xd6\x54\x66\x79\x75\x6f\xc3\x37\xd9\x70\xce\x49\xad\x78\x1d\x65\xd8\xf4\x89\x0d\x23\xe8\xb6\xb7\x70\x7f\xf7\xe9\xfd\x9b\x2f\x1f\xff\xd8\x6f\x32\x93\xee\x6e\x01\xa6\xfd\x22\xa8\x01\xd9\x3e\x6f\x41\x0d\xa8\x01\xca\xc8\xc0\x83\x5b\x39\x46\x97\xf1\x6f\x69\x0b\xa9\x97\x5c\xf6\x8f\x6a\x1a\xf1\xc8\x52\x85\xeb\x26\x1c\x33\x25\xba\x2e\x4f\xfc\xa9\x49\x16\xa2\x1f\x64\xcc\x99\x41\x00\x6b\xa4\x7f\x95\xcc\xd7\x16\xf0\x4f\xd9\xcd\x10\x83\x9a\x03\x87\x64\xb8\xb3\xca\x64\x70\x31\x83\x40\x32\xf2\x42\x5d\xf1\x32\x92\x51\xf6\xfa\xc8\x33\x19\x19\x62\xff\x2b\x00\x02\xf6\x31\xd2\xba\x35\xea\xce\x08\x24\xf2\xda\x65\xab\xeb\x2a\x78\xb3\x88\xda\x57\x47\xd1\x0b\x15\x04\x65\xc7\x48\x48\x54\xf2\x1a\x75\x38\xf7\x53\x9c\x80\xdd\x8b\x80\x02\x66\x60\x27\x21\xcb\x85\x91\xe9\x48\x25\x21\xdf\x92\x91\x77\xf9\xb3\x88\x00\xba\xc6\x82\xe3\x91\x25\xab\x85\x91\x49\x55\x5c\x6a\x0b\x27\x43\xb1\x0f\xc3\xa9\x48\xdd\x3e\x93\xa3\x3a\x97\xec\x2a\x88\x6d\x14\xa9\x23\x8a\x15\x17\x11\xa1\x07\x8d\xd3\x62\x1c\x4e\x4b\xce\x60\xc4\xd9\xa9\x1f\x10\x31\x79\x25\xfc\x64\xa5\xe7\x29\x75\x10\x16\x69\x44\xb5\x58\xe1\x2a\xcc\xe8\x9a\x7e\x00\x37\x00\x4b\x70\xba\xdf\x52\xd0\xdf\xdd\xe4\xbd\x01\xa7\x1f\xd8\xd8\xa4\xeb\xf6\x20\xb9\x86\xca\x04\x34\x1e\x47\x6c\x39\x99\xb1\x2e\xa2\x02\xa7\x82\x6c\x11\x51\x92\xe0\x4f\x26\x06\x99\x69\x65\xa7\x9e\x65\x2d\x70\x47\x4a\xb4\xee\xe2\xa5\x0d\x74\x9a\xb0\x1a\x24\xa4\xe4\x2c\x8b\xf2\xc3\xae\xe5\xb4\x31\xac\x3f\x12\x6c\x6c\x0d\xec\x58\x40\x48\x7f\x55\x7a\xcb\x5e\xad\xba\x32\x22\xa9\x16\xf1\x2c\x54\xfe\x37\x7c\xe4\xbc\x80\x11\x61\x5d\xfc\x1e\x45\xf5\x00\xb9\x88\xca\xca\x8e\xf9\x37\x52\xed\xc1\x42\xe6\xb5\x64\x4a\xb4\x8d\x18\x95\x88\x50\x19\x7b\xf2\x0a\x28\x2e\xe7\x9a\xbf\xbf\x74\x4d\x6d\x85\xab\x52\xc1\x4a\xf0\x59\xba\xae\x40\xc4\x88\x8c\x17\x1b\xe0\x07\x3e\x29\x74\x5b\x72\x46\xf3\xdf\x54\x16\x81\x19\x72\x21\x4d\xe2\x48\x64\x28\x13\x08\x9a\x2f\xd4\x93\x13\x29\x50\xaa\x8b\x6b\x1d\xc2\xcf\x8a\xcb\xdd\x58\xd7\x0d\xd2\xe7\x29\xfc\x4d\x5d\x6f\x1a\x7e\x44\xcc\x4d\x5e\xb8\x6b\x0f\xf8\x28\x1d\xa4\x24\xc1\xec\x8c\x26\x78\xf0\x5d\x6b\xae\xd7\x84\x70\x77\x21\xa4\x9a\x14\x72\x5a\x77\xcf\xec\xa2\x4b\x11\x61\xfe\x0c\xf7\xb6\x48\x27\x13\x25\x22\x6a\x82\x25\xb4\x21\x9b\x19\x62\x87\x1a\xc1\x7f\x19\x95\x2d\xb1\x2f\xb2\x36\x6a\xc1\x62\x91\x95\x53\xb4\x9a\x9f\x8c\x8c\x96\x9d\x52\xa6\xb5\xbe\xe8\x8a\x2b\x75\x37\xc7\xe6\x82\xb3\x94\x3c\xe4\xa1\x65\xa3\xbe\x1f\xb4\x62\x8b\x12\x8d\xe9\x5c\xd2\xcc\xe3\x0c\xb6\x6d\x19\x25\xf8\x8b\x22\xb2\x2f\xa9\x2e\x4a\x89\x3f\x24\x85\x1d\xa6\x33\x83\x59\xc4\xc9\x48\xe5\x36\x68\x65\x93\x41\x3f\x88\x47\x8a\x25\xbe\x25\xcb\xb9\x2b\x67\x39\x0b\xfe\xe7\x93\x74\x81\xdd\x13\xa0\xff\x02\x1b\xb3\x54\x25\xcc\x34\x10\x68\xd9\x7b\xe0\xf6\x56\x74\xad\x35\x9e\x5f\x8f\xb4\xf8\xd0\xf9\x1b\x16\x9e\xad\x13\x51\x46\xcc\x9b\x96\x2d\xa2\x66\xd9\x13\x9e\xf3\x41\x96\xdc\x16\xf0\x71\x00\x52\x58\xf2\x67\x1f\xc9\x11\xad\xc3\x11\xad\xc8\x67\xc1\xa2\x3c\xa4\x05\xfa\x31\xc2\x23\x2d\x1f\x2d\x59\x1e\x06\x8a\x59\xbc\x56\xd1\x68\x9e\xb9\x01\x75\xd0\x08\xdf\x25\xa7\xa8\x5d\x01\xdc\xa6\x9c\xc0\x60\x1c\xeb\x2c\xbb\xba\x68\x84\x1a\xe2\xe2\x19\x16\x87\xe6\xaa\xc9\xa6\x36\xe7\xaa\xb2\x40\xf7\x75\xa5\x6d\x48\xe1\x00\xeb\xa9\xb2\x8b\x00\xf4\x01\x45\x54\x47\x5a\x1a\x3b\xec\xe9\x03\x7d\x27\x98\xca\x1f\x6d\x3d\x89\x85\x9b\x95\x78\x58\xb3\x8e\x99\xe3\x4a\xd3\x78\xbe\x4c\x77\xe7\xeb\x54\x96\xf2\xad\x7d\xd1\x98\x22\x83\x56\x2b\xa8\x2b\x46\xa4\xf4\xd0\x14\x4e\x5c\x45\x9c\x4c\x20\x5b\xf5\x2a\x16\x12\x08\xcb\x54\xd6\x6b\xe7\x90\x28\x92\xb0\x1b\xc1\x9c\x2a\xdb\xbf\xf4\xb9\xbc\x74\x05\xe1\x5f\xb2\xd4\x42\xe4\x03\x9a\x43\xb0\x74\x23\x52\x97\x05\xa9\x7b\xe1\x22\x53\x0c\xee\xcd\xd2\x0c\x29\xc5\x33\x1f\xa2\x06\xbe\x43\xc2\x7a\x6f\x41\x74\x21\x27\x43\xae\xe2\xc1\x4c\x3f\xc3\x25\x80\xac\x38\x40\x7c\x88\x16\x92\x34\x0c\x1a\x91\x17\x2e\x82\xc6\xc5\x59\x34\x90\x20\xe2\x07\x78\x8b\x30\xb2\x1c\xab\x9d\xd5\x46\x18\x92\xb9\x3e\xbd\xfe\x2e\xd1\x34\xdd\xd5\x7f\x9c\x66\x6f\xaa\xbe\xd9\x92\x62\x58\xb5\xa8\x44\x88\x3d\xc1\xd9\x41\xa5\x1e\x22\x63\xc0\x64\xba\xcc\xc6\x1f\x4d\x86\x7f\xb7\xa8\x52\xa9\x86\x7e\xd1\x8c\xc4\x9c\x06\x20\xaf\x6f\x16\x67\xe2\x19\xea\x65\x55\x7d\x53\xe7\xa6\x2a\x10\x49\x95\x09\x59\x3c\xc0\x84\x33\x3f\x9f\x26\x50\x20\x4f\xa0\x9d\x94\xba\x84\xb1\x14\x6c\x46\xac\xbc\xd9\x56\xe6\x76\xb2\x4e\x96\xe3\xfa\xb1\x14\x09\x5d\x5e\x0b\x56\xdb\x6e\xd1\xb5\x67\x4b\x71\x0d\x14\x65\x05\xcc\x45\xb1\xc6\x58\xc6\x1b\x5d\x13\xcb\x5f\xde\x36\x22\x5e\x29\x9f\x73\x81\xc2\xab\x72\xc3\x76\x57\x15\x2a\xcb\x51\xcc\xac\xb2\x67\xd6\xad\x55\x24\x53\x9a\x5b\x56\x34\x0b\xd5\xf5\xc5\x00\x8a\x79\xc5\x7e\xa5\x98\x7e\x49\x25\x44\x6e\x56\x33\x02\xa0\x22\x15\x63\x31\x2c\x2b\x8e\x7a\x9d\x7c\x76\x34\x7b\xdb\xf7\xbc\xce\x3c\xc2\x20\xa9\xe6\x12\x67\x9f\x0d\xcb\xd5\xa6\xab\xce\xe0\x55\xdb\x1e\x13\x7b\x75\x74\x40\x3d\x0e\x9a\x96\x8d\xd5\xb0\x78\x5d\x1c\x58\x2d\x9a\x13\xaf\x3a\xa4\x11\x0e\x6a\x94\x9b\x5a\x03\xa6\x13\xe4\x32\xd2\xd5\x82\x66\x6e\x89\x19\x3b\x56\xe5\x32\x16\xea\x58\xb9\xba\x90\xb1\xaa\xe7\x0c\x80\x01\x5b\xf1\xbb\x39\x3a\xa0\x92\x8e\x6d\x8d\xfa\x72\x14\x17\x43\x82\x0c\x91\x32\x64\xcc\x90\x3a\x26\x88\xae\x28\xe8\xa8\x56\xbf\xba\x39\x1e\x25\x61\x1f\x36\xc1\x8c\x39\xd1\x15\x8e\x2a\xd2\xed\xf5\xfb\xee\xe3\x97\x77\xd3\xfd\x9b\xbb\x2f\x5f\x1e\xfe\xe7\xb2\xaa\x7c\x9e\xfd\x97\x6b\x39\x12\x6f\x9c\x4d\x97\xbd\xcf\x81\x27\x98\x63\xad\x1b\x81\x87\xfd\xae\xdc\x1e\xbe\x93\xeb\x04\xdd\x90\x94\x37\x1e\x18\x2e\x58\x5c\x93\xd6\xb1\xc5\xc2\x38\xcd\xdb\x79\x47\xc4\x17\x0d\x22\xa7\x3c\xe9\xaf\xd3\x38\x7d\xb6\x33\xf4\x36\x98\x94\x6d\xd2\x07\xe9\x73\xf0\xdb\xa2\xa7\x28\xe1\x35\xb5\xbe\xcf\xe1\x58\xad\xbd\xa9\xe7\xd1\x59\xac\xa0\x13\x6b\x46\xcb\xe2\xcf\x52\x5d\xfc\x49\x0e\x8c\x5f\xb3\x0a\xc6\x49\x76\xce\x31\x07\xe1\x89\x6c\x84\xe5\xe9\x8c\x9a\xe7\x8f\xe2\x65\x9f\x43\x3f\x19\xc6\x3c\x4a\x0a\xab\x1b\x1d\x83\x2e\xd3\x51\x90\x5e\xbd\x32\x48\xb7\x87\x46\x15\xa3\xa6\x33\xe1\x24\xe2\x7e\x22\x43\x4e\xf9\x61\xce\xc4\x89\x8c\xc8\xe4\xc7\x1d\x8e\x95\xed\x67\xa2\xc7\x06\xff\xe2\x98\x5b\xcb\xb7\x63\xff\x9f\x32\xac\x17\x94\xdc\xbb\x93\x31\x15\xb3\x88\xce\xc7\x74\x74\xc9\xed\x85\x67\x0b\x6a\x5d\x80\xb7\x17\xde\xc5\xbe\xb7\x55\x75\xc0\xb8\x5f\x1a\xdc\x53\xd6\xa5\xb1\xdc\x0e\x43\x5c\x78\x93\x17\x2a\x26\x8e\x7b\xcb\x7f\xee\x50\x5e\xd4\x97\xde\x9e\x0f\x26\x9c\xe8\x8f\x17\xe8\xb5\x31\x1c\xdd\x78\xd0\x01\xd8\x8a\xe6\x73\x26\xaa\xb3\x05\xb9\x2e\xbc\xb1\xee\x0c\x50\xe2\xa8\x00\x3c\xb5\xee\x57\xd1\x7d\x63\x8a\xa8\x7c\x19\xe2\xe5\x3f\x63\x4c\xff\x98\x1e\xde\x6e\x23\x08\xef\x7e\x38\x69\x72\xf9\xbb\x5e\xfc\xfb\x6b\x0a\x89\x5d\x6b\x55\xb1\x79\x8c\x2b\x54\x6f\x12\xed\x70\x16\xa5\x4c\xb1\x91\x51\xd1\x27\xdf\xd7\xb9\xb8\x8a\xc4\x6d\x14\xdc\x14\x87\x22\x8b\x39\x26\xd7\x14\x06\x81\x50\x1f\xcf\x08\x94\x53\x5c\x50\xee\x24\x27\x88\x76\xa4\xde\x45\xca\x0e\x20\xf2\x8e\x2d\xc4\x41\x03\x1a\x53\xb3\xee\xad\xe8\xd0\xf9\xe2\xbc\xec\x14\x55\xad\xb3\xb6\x2a\xe2\xa8\x95\xa7\x35\x57\x2f\x2b\xc6\xff\x5a\x84\x00\xe3\x96\x9d\xbe\x83\x43\x5e\xa7\x56\x4b\x79\x42\x3d\x9b\x01\x3f\xfb\xe8\xec\x7c\x2d\xe3\x93\x27\xc3\x5e\x47\xfe\x64\x5d\x8d\x71\x38\xab\xc4\x6c\x40\x8b\x34\xc5\xc3\x9a\xa1\x50\x58\xc8\x93\x8c\xaf\xf2\x0e\xb6\x05\x6b\x29\x81\x7c\xad\x99\xae\x33\x65\x94\x7f\x6b\x42\x9d\x82\x89\x14\x17\xe7\xee\x50\x0d\x0f\x67\xa2\x16\x1f\xec\x45\x93\x05\x8a\x81\xbc\xee\x9a\x2f\xa2\x47\xd1\x95\xd9\x37\x87\x94\x7e\xad\x6d\x88\x48\x94\x05\x18\x68\x71\xd6\x26\x04\xad\xb5\x4c\xfe\x95\x01\x82\xce\x84\xdf\x75\xf2\x44\xed\x62\xaf\xd5\x93\x8a\xc7\xa0\x45\x99\x41\xad\x1d\xbc\x43\xb3\x9c\xbf\x11\x3e\x65\x3c\x44\xbe\x1d\x86\xd0\xa2\x95\xc4\xd2\xe3\x3b\xa4\xd6\x38\x75\xe5\x68\xb1\x84\xd5\xb5\xda\x37\x5a\x4e\x00\xc2\x41\xc4\xb1\x10\x94\x32\xb8\xee\x62\xd3\x8d\x0b\xa2\xe0\x59\xfb\x26\xa0\xec\xa5\x19\xc2\xa9\x3c\x1c\xa9\x0d\x84\xd3\x38\x3b\x0d\xac\xa7\xb9\x38\x98\xaf\xca\x85\x90\xb5\xa8\x44\xa6\x5a\x71\x5a\xdd\xb6\x90\xe6\xe2\xa2\x6c\x06\x39\xeb\x33\x39\x72\xca\x1d\xae\x13\x74\x60\x83\x5b\x86\x7c\x0e\x28\x59\x75\xea\x6c\x45\x89\x3f\x12\x89\xeb\xdc\x5d\x91\xde\x42\x5f\xe9\x9c\x40\x94\xd2\xa6\x07\xfa\x11\xf5\x22\x98\x70\x6a\x4f\x68\x5a\xa6\x8b\x72\xb9\x4f\x40\xc7\x76\x9a\xc4\x99\x34\x19\x09\x11\x53\x9f\x00\x63\x21\x43\x3f\x96\x21\x1d\xeb\x3f\xbc\x25\x22\x15\x14\xc8\xc8\x19\x79\xb4\xdb\x8f\x37\x18\x6c\xbe\xa8\x2c\x99\xd1\x71\x44\x5a\x57\x93\x5c\x83\x22\x0e\x5c\x09\xae\xd2\x51\xc9\xba\x7e\xa4\x37\xf9\x84\xd1\xad\x63\x8a\x10\x0a\x98\x7d\xb3\x21\xc6\x0b\xdb\xe0\xea\xc4\xde\xe9\xdb\x2a\xcc\x45\x1a\xf2\xa3\xd9\x28\x8f\x55\xaa\xc0\x05\xb8\x7b\x1c\xc8\x1e\x69\xc1\xc9\x78\x60\x06\xb2\x86\x7a\xc8\xb4\xba\xa6\x2a\x42\x8b\x4c\xe7\x09\x69\xb3\xb3\x5d\x56\x80\x3e\x61\x89\xd2\x36\x61\x9a\xfc\xd8\x10\x3a\x98\x09\x80\xfa\x6c\xc0\xfd\x44\x56\xfa\x13\xb4\xf4\x27\x69\xc1\x0d\x8a\x41\x13\x70\x3e\x10\xfc\x93\x51\x66\x99\x17\xc5\x00\x7c\x65\x9e\x24\x50\x79\xb0\xab\x53\x76\x36\xa8\x05\xe1\x5e\x96\xd5\x8d\xbe\x8b\x68\x98\x7c\x57\x86\x61\x39\x2b\x86\x89\x65\x68\x5b\x23\x20\x72\xac\xdc\x93\xb4\x0c\x28\xaf\xac\xc1\xac\xf2\x2b\x15\xcd\xdc\x43\x2d\x24\x33\x6e\x54\x75\xb0\x66\x4c\x28\x60\xf2\xaa\xa7\xc2\xa0\x0b\x81\xa3\xd2\xb4\x82\x0a\x93\x19\x9e\xb9\xaa\xda\x53\x45\x2d\x28\x03\x1a\x8f\x2c\x2f\x9c\x9a\xc9\xbd\xae\x18\x37\xc9\xc0\x52\xc2\xe3\xa5\xcc\x6b\x41\x95\xce\xc1\xb2\x78\xad\x10\xd2\x22\x28\xd2\x04\xab\x49\x9b\x1e\xf5\x8d\x5f\x19\xcc\x9f\x79\x72\x49\x49\x5c\x22\x00\x46\x60\xcf\x4b\x77\x23\x7f\x59\xa3\x5f\x78\xb7\xaa\x7b\x80\x48\x57\x4d\x90\x7e\x95\x67\x40\xba\x90\xe5\x5f\x69\xf1\x68\xd4\xd2\x2c\x5f\x2c\xe7\x2a\x58\x43\x39\xca\x0b\x05\x15\xe4\x32\x1f\xf4\x53\xeb\x35\x35\x2a\x42\x69\xb1\x03\x59\xf0\x2a\xba\x29\x28\xbf\x32\x0a\x97\x67\xcd\x95\x06\xf2\xc7\xac\x15\x5a\xda\x7d\xa8\xd0\xca\xb6\xc8\xf4\xc5\x93\xc1\xca\x62\x37\x2c\x90\x81\xcb\x3a\xd9\xd5\xf9\xb3\x88\xf6\x63\xe9\xe2\x6c\x4b\x16\x6b\x1f\xdd\x5b\x15\x0d\x0c\x29\x7d\x06\x33\x63\x95\x82\x8b\x71\x70\xcf\xdd\x58\x56\xb0\xf0\xc9\x28\x4d\xe6\x6c\x7d\xc7\x65\xd1\x82\x6e\xe0\xce\x68\x78\x24\xae\x15\x5c\x1d\x4c\xe5\x58\xb0\xd2\x80\x59\x93\xd2\xdb\x2a\x47\x6c\x68\xc8\xa8\x02\x12\x92\x63\x92\x4a\x2e\x74\x76\x34\x34\x16\xe9\x06\xcd\x01\x90\x8b\x40\xaa\x3d\x47\xd5\x23\x51\x3b\x47\xb6\xd4\x35\xc6\xa9\x25\xe0\xea\x02\xb3\x42\x79\x05\x80\xd4\x86\x17\x25\x33\x54\x0d\x91\x14\xc7\xa7\xa2\x86\x11\xf5\x3b\x3a\x9e\x0d\x2c\x50\x24\x2b\x46\xfe\xd1\x1c\x07\xe5\xed\x46\xed\x35\x08\x73\xd6\xfd\x3a\xe9\x4e\xc8\xb6\x25\x2a\xb5\x8f\xae\x08\xf8\x70\x35\x51\x70\x14\x74\x03\x89\x88\x4c\x16\x22\xd5\x94\xad\xfa\xd0\x6b\xaa\xbe\xd7\xca\x3a\x75\x2d\xd9\xd6\xa6\x2a\xd8\x2b\x85\x1d\xdd\x8d\x9c\x40\xca\x8e\x66\x91\xe3\x3c\x5c\x6c\xd1\xa2\x76\x10\x3d\x59\x37\xf1\x3a\xe0\x87\xd3\x68\xc2\xc0\x35\xc3\x2e\x3e\xea\x2f\xb0\x90\x8a\x66\x68\x60\x6e\xfa\x38\x04\xfe\x9a\x19\xd6\x51\xe6\x50\xf1\x13\xc2\x27\x90\xe4\xba\xb4\x9a\xf9\x2e\xb9\xeb\x06\x00\x18\x19\x0a\x8e\x4f\xa0\xc9\x86\x3a\x93\xb0\xf7\xb1\xeb\xae\x1b\x58\x19\xa0\xf6\x45\x6a\x48\x63\xcd\x01\x15\xa4\xc5\xb8\xb0\xd8\x16\x93\x5c\xdc\x19\xc7\x57\x72\x71\x46\x43\xb4\x7c\x13\xfa\x24\xe6\x93\x4e\x18\x74\x2e\x3b\x3e\x0e\x15\xde\x38\x8c\x9d\x09\xea\x2b\x26\x15\x04\x40\xb4\x05\x6a\x11\x79\x9f\x55\x2a\xe8\xde\xa3\xf3\x07\x13\xc9\x05\x5b\x64\x83\xe0\x82\x92\x16\x3e\x80\x11\x09\xb1\x07\x31\x51\x92\x36\x0d\x95\xa8\xcb\xe8\xee\x80\x32\x4e\xb2\xd2\xfe\x49\xe6\xc0\x01\x16\x12\x00\x99\xb4\xf8\xb4\xe9\x90\x69\x30\x4c\xc5\x11\xdc\xbb\xf2\xf6\x80\x17\xda\x2d\x6b\x2d\x29\x56\x59\x9b\x19\x99\x2a\x00\x15\x9d\x51\xbf\x41\xd8\xcb\x11\xb9\x71\x51\xb7\x7c\x1b\x74\x9e\xbb\xc3\xe6\x52\x66\x79\x5c\x35\x3c\x0c\x55\x42\x35\x3c\x8c\xf5\x85\xca\x0e\xd2\xd3\xaa\x16\x02\xa9\x00\x68\xfa\x2a\xf2\x76\xec\x9a\x63\xd1\x63\x78\x11\x15\x66\x4e\xa2\x9a\x64\xd7\x65\xb1\xe7\x49\xcb\x34\x22\x30\xb2\x12\xac\x2e\x06\xe8\x3c\xd2\x54\x00\xd4\x21\xfb\x63\x54\x68\x2e\x9d\x8b\x0a\x7f\x15\x9d\xf2\xfb\xa3\xa3\x55\xc5\x01\x38\xaa\x0a\xe1\xaa\x15\x23\x28\x70\x49\x10\xf5\xdf\x5f\xb7\xda\xa5\xf9\x1c\x00\x75\x0c\x8c\xe4\xd6\x6d\x92\xa0\x8b\xb4\x76\x90\x4d\x98\x88\xf9\xa7\xbc\x5c\x6d\x56\x2e\x30\x63\xbe\x6e\xb2\x0d\x69\x9f\x02\x4b\xa4\xaa\xb9\xe0\xab\xe8\x82\xd5\xd0\xf7\xc6\xed\x50\xdf\x63\x98\xc0\x50\x1f\x69\xf8\xef\x8f\xf0\x54\xd9\xb4\x6d\xd9\x9b\x17\xdd\x16\x34\xfc\x52\x51\x29\x85\xe0\x11\xb0\x57\xc8\x99\x85\xa5\xa6\x86\xf4\xd0\x51\x5d\x01\x83\x89\x33\x5d\x1a\xaa\x13\xc4\xb5\xb4\xc8\x29\x79\xd8\xa2\x52\x75\x94\xf0\x86\xe3\x2b\x9b\xb2\x63\x69\x9e\xb6\x80\xcb\x68\xbf\x0a\x95\x66\x42\xd3\xb4\x21\x3c\x85\x6d\xc9\x4b\x0f\x24\xd3\x19\xca\x50\xec\x32\x56\xaa\x19\x0c\x11\x2a\x59\x6c\x98\xef\x96\xb7\x05\x58\x47\x0b\xc5\xa3\x64\x2b\x68\x38\xdd\x4a\x84\x34\xe5\xd1\xaa\xcf\xcc\xae\x31\xd8\x11\x99\x15\x22\x02\x6f\x9a\xb6\xff\xf3\xe5\xfe\xd3\xbb\xfd\xc6\xb6\xdd\x16\x8a\x1c\x2b\x71\x22\x5c\x50\x3f\x1b\x47\x08\xdc\x5c\x6a\x69\xf2\xa5\x81\xa4\x89\xb5\x62\x53\xfe\x47\x26\x42\x5d\x93\x18\xc9\xc5\x3a\x21\xfb\x91\x42\x03\x7c\x60\x2c\x16\x2a\x35\x67\x7a\x73\x9d\xa6\xd2\xc8\x95\x46\x33\x42\x99\x4d\x41\xfd\x64\x93\xc6\x16\x6a\xd8\x2e\xf2\x1d\x72\x09\xd8\x75\xd2\x6a\xfe\x3e\x70\x42\xcb\xac\x39\xd6\xa8\xaf\x2e\x56\x79\xab\x69\xba\xac\x48\x83\xcd\x66\xbc\xd6\xaf\x1f\x2b\x75\x16\x7f\x5a\xc2\x73\xa5\x9c\x67\xce\x1a\xe1\xa3\x61\x50\x2d\x14\x54\xad\x28\x06\x83\x26\xca\x3c\x60\x6d\x2c\x17\xbc\x4d\x9e\x3b\xb2\xc7\x3b\x0a\x60\x26\xc2\x5f\xa1\xaa\xb8\xe9\x1a\xe2\xd1\xec\x89\x66\x60\x21\x8a\xa9\x86\x5c\x9b\x68\xa6\xad\x9a\xa7\x4f\x20\x52\xde\x7d\xfd\xe7\xa6\x28\xe5\xee\x26\x76\x2d\x38\xaf\x19\x18\xbb\x07\x63\x39\x0d\xc6\x72\x6a\x54\xd9\x2b\x79\xf7\x09\x63\xf8\x08\x44\x51\xe6\x8b\x74\xaa\xb5\x03\x6d\xf8\x66\x91\x97\x4c\xc5\x1b\x65\x5e\x8f\xa0\x4e\x71\xf6\x05\xbc\x56\x7d\x56\x8b\xfc\xb2\x67\xed\x7e\xe2\x61\x14\x53\xfa\x1b\xde\xec\x66\x65\xf3\xc7\xe9\x42\x39\xfb\xdb\x0d\xf1\xf9\x39\x26\x8f\x6c\x49\x89\x40\x2b\x96\xb4\x82\xdd\xd7\x30\xf9\x04\xc2\x97\x1e\x0f\xbe\x6a\x39\xfb\x60\x3a\x45\x9e\x8c\x22\x0d\xb1\xba\x55\x14\x91\xe7\x16\x2f\xfc\x21\xb5\xa2\xb7\x4c\x3d\x1e\xf3\x54\x13\xb2\x4b\x81\x15\x96\xbb\x8b\xf0\x30\x87\x19\x19\x37\xb9\xcb\xd3\x6e\xa7\xa1\x7f\xf9\x78\xff\xe1\xdd\xdd\xd7\x8d\xf3\xee\xed\xad\x92\x04\x2b\xeb\x0a\xfb\x4c\xac\x33\x54\x0e\x4e\x66\x28\xa6\x7a\x6a\xb7\x6a\x33\x80\xe2\x76\x31\x5f\x3f\xb5\x80\x02\xc0\xc1\x8f\xb8\xf1\xa1\x47\x0e\x5b\x1f\x3a\x15\x5c\x65\x64\xf3\x63\xad\x19\x11\x3c\x9f\xd1\xc4\x03\x60\x21\xb6\xb4\xf7\xf2\xb7\x01\x00\x6f\xea\x03\x62\xe6\x83\xb6\x60\x24\x70\xef\xac\x3a\x31\xd7\xcb\xd5\x8f\xd2\x84\x98\xf9\x62\x79\xe0\xed\x49\xf7\x6d\x9a\xbe\xbe\xfb\x72\x7f\xbf\xf1\x85\xbf\x3d\x61\x08\x6f\xd1\xf5\x9e\x27\xbf\x72\xd0\xae\x07\xe0\xe2\x4c\xe9\x24\x79\x38\x41\xca\xeb\xb4\xf0\xb9\xdf\xc4\xa5\x43\x3e\xfc\x55\xe8\x39\xbb\xb7\x3e\x56\x1e\xe6\xcf\x1e\xab\xc4\x4f\xa7\xd0\x73\x5b\x60\xbc\x6b\xc8\xcb\xda\xa6\xc4\xd2\xc1\xb9\x4b\x8b\xa9\x6a\x18\x3f\xad\xf7\xde\x4d\x67\xcf\xc5\xc1\xfa\xdc\x47\xa8\xcf\x70\x29\xa9\x39\xab\x69\xb7\xd6\x90\xdc\xed\x51\x5b\x90\xe7\xe3\x42\x49\x58\x45\x58\x9d\xfa\x1e\xc7\xe7\x4c\x67\x3d\xbe\x36\x01\x2d\x88\xa4\x40\x20\xd2\x57\x72\x03\x3c\xce\xa5\x80\x9b\x6f\x65\xcf\x3a\x10\x37\x24\xc1\xb1\xa3\x6e\x43\x6f\xfc\xf1\xe5\x61\x1b\x09\x7b\xb7\x95\x54\xc7\x0a\xd6\xdc\x23\xe2\x9d\x0a\xb7\xa1\x2c\xc7\x46\xc1\x4d\x31\xcd\xbe\x29\xfd\x23\x58\x74\xb4\xf0\xcc\x91\xa5\x7b\xc4\x0c\x19\x27\x9f\x80\x2b\xd5\x8a\x77\xa6\x91\xf7\xa1\xa4\xe0\x96\xf6\xa6\xf8\xc0\x14\xa3\x63\x25\x69\x8a\x8a\x6f\x50\xca\xa8\x61\x00\xc7\x0b\x56\x64\x29\x62\x5a\xad\xd4\x7e\x71\x05\xe8\xa3\x8e\x61\x00\xfe\x52\x4d\xc7\x7c\x85\x9e\x34\x25\x41\xce\x25\xcb\xd2\x54\x24\x33\x47\x00\x37\x11\x1b\x29\x74\x45\xf9\xa4\x80\x8c\xce\x64\xe0\xc2\x85\x45\x11\x80\xf3\x3f\xe3\x54\xe5\x48\x0c\x9a\xf7\x9b\xa2\x65\xba\x54\xf0\x74\x89\xfe\xa1\x9f\x71\x65\x3e\x89\x23\xef\x37\x54\x97\x9a\x9c\x98\x9a\xdc\x5d\xdf\x5a\x71\xe5\xc8\xdc\x34\x1a\xa7\xc0\x73\xa4\xbb\x1b\xc9\x89\x8a\xff\xac\x08\xa4\x68\xdc\xa2\x4e\xc4\x6e\x8e\x6a\x20\xae\xac\x02\xf6\xd9\x55\x2d\x97\x69\xe3\x77\x27\xbc\xf1\x31\x69\x15\x19\xec\xf8\x95\x1d\xde\x78\xde\x1f\x11\xc2\x9f\x71\xc5\x9f\x50\xbd\x9f\xd2\xbe\x9f\xd1\xc1\x9f\x5d\x7e\x7a\x67\x63\x3b\x2d\x95\x0c\x80\x5b\xab\x73\xc9\x7c\xf9\xcd\x01\x2b\xc9\xa6\x1f\x61\x1f\x8d\x3a\x2d\x89\xdb\xdc\x08\xe5\x35\x8d\x9c\xed\xef\x00\x07\x28\x40\x77\x06\x68\xbd\x56\xa2\x29\xb5\x06\x8d\x5c\x6c\xcc\x48\xe5\xed\x53\x88\x5e\x9a\x89\x57\x5e\xd0\x98\xe3\x09\xcd\xfc\x4f\x76\xf0\xda\xbf\x4f\x31\x91\x6c\x96\xe9\x2d\x2c\x73\x4a\x79\xd4\x85\x5a\x25\x7d\x11\x55\x37\x34\xc7\x41\xeb\x5b\x74\xc7\x71\xbc\x0a\xee\xca\x28\x04\x50\xd7\x42\x37\x8f\x9b\xaa\xd2\x3a\x5f\x4d\x08\x45\xa3\x4a\xd2\xd5\x3b\x12\xa5\x37\xe5\xfa\x03\x83\x0a\x3e\x0e\xf5\x27\x65\xb3\x5b\x61\xfc\x8f\x14\x40\x3a\xe6\x64\x2b\x2c\x17\xac\x32\xf9\xac\xd1\xee\xac\x37\x9e\xc4\x5e\xf6\x1c\xea\x0c\x53\xad\xea\xd6\x79\x44\x58\xe5\xb2\x9b\x08\xe0\x83\x65\xd6\xf7\x93\xb7\xae\xdf\x5f\x57\xe0\x98\x70\x7e\xdc\x17\x62\xd0\xd7\xc7\x7d\x11\xbb\x1b\xd9\xf2\x62\x10\x61\xeb\x4d\x45\x2b\x82\xc6\xff\x28\x90\x38\x6b\x18\x2c\xc3\xf6\xb8\x61\xec\x34\x47\x93\x86\x6d\xdf\x0d\x4e\xf9\xf4\xcd\x6d\x37\x8b\x46\x0e\x85\xd9\xa6\x9d\x7a\x5e\xf4\x65\x16\x47\x1d\xee\x52\x1e\x51\x28\x8c\x55\xde\x9d\x0d\x95\xba\x2c\x81\xb4\x16\x51\x3f\x50\x65\xc6\x96\xd4\x56\x3a\x7e\x0e\x56\x1f\x11\xe2\xe9\x6b\x36\x83\x4b\xe3\x80\x83\x55\x64\x72\x48\xae\xe5\x93\x5e\x6b\xd1\xd9\xb9\x1c\xa2\xb1\x88\x34\x99\x5d\x7d\xf2\xad\xb9\xd6\x00\xcc\xa3\x10\xa9\xd2\x3d\xa8\xc9\xd2\x64\x5a\xdc\x2b\x9d\xcc\xc6\x96\x90\xcb\xd8\x92\xe3\x90\x16\x00\xb9\xc4\x75\x28\xf5\x41\xd2\x9e\xa6\xb8\x46\x41\x49\x49\x5b\x5e\x27\xc4\x6e\xb6\xa6\x58\xcb\xf5\x05\xe3\x78\x7a\x9f\x9a\x36\xa0\x15\x6d\x22\x9a\xa7\x8d\xd1\x5b\xa5\xe3\x10\x5a\x43\x1a\x42\x3b\xb7\x31\x06\xde\x4d\x0f\xdf\x36\x25\xe0\xef\xb6\x05\x98\x27\xf0\x0f\x22\xc8\xac\x9e\xf6\x09\x09\x2a\xf6\x1c\xfa\xec\xb6\x25\x8c\x5a\x6c\x76\x95\x1c\x27\x1d\xf9\xea\xa8\x98\xbf\x1f\xf3\xd5\x69\x75\x3c\x5c\xb6\x0a\x77\x6e\x68\xe7\x33\xc1\x5a\x66\xa5\x39\x6b\x4d\xae\xb5\x2c\xc3\xb9\x06\x27\x27\x95\xe2\x0a\xcf\x22\xdc\xd6\x84\xd8\x21\xae\x66\x65\x7c\x57\x5b\x25\x36\x25\x8c\x8d\xf2\xa0\x68\x50\xa8\x0b\xfa\x30\xf6\xa7\xe0\xbf\xde\xde\xdf\xfd\x73\x6b\x2e\xbd\xbb\x09\x38\x9d\xb9\xca\x18\xca\x46\xd0\x54\x64\x4b\x87\x1a\xcb\x81\xe5\xda\xa3\x0f\x49\xb9\x4a\xd4\x46\xb0\xda\x99\x21\xd6\x70\xc1\x94\x83\xd8\xf9\xf1\x10\xfb\x55\x6c\x93\x67\x50\x93\x2c\x17\x60\x52\x0e\x3e\xf6\xfe\xfd\x75\x4d\xcd\x35\x8a\x93\x67\x91\xb0\x89\xfb\xbe\x12\xeb\x5f\x20\xf6\x91\x29\x41\x87\x58\xb5\x05\xc4\x0d\xd7\x1d\x7c\x7c\x22\xd7\x70\x4b\x63\xf6\xee\x56\x29\x5c\x2f\x8a\x7d\xff\x74\xdb\x97\xab\x2f\xff\xfd\x35\x71\x41\xda\xe2\x94\x03\x34\xdd\x36\x5b\x7d\x22\x34\xcf\xa2\x9a\x9a\xfd\x8f\x3a\x4e\x88\xc8\xa4\x0a\x6a\x55\xef\x5a\x85\x7a\x8f\x49\xed\xda\xe4\x0b\xf2\x74\x45\xd8\x12\x4c\x3d\x0b\xe4\x7a\x25\x2d\xa0\xa4\x11\x0c\xa4\xd7\xc3\x91\x5f\xab\x69\x00\x56\x34\x83\xdc\x5d\x0d\x71\xe1\x18\xd3\x0e\xe8\xb1\x69\x77\x24\xbd\x62\x06\x60\x59\xd7\xb4\x69\x00\x58\xd5\xb9\xba\x5a\x9c\x68\xa8\xa9\x2e\x14\x95\xaa\x4e\xee\x21\x92\xa8\x36\xd7\x92\x08\x96\xc1\xc9\x4a\x73\x07\x6a\x11\x3b\xe6\x89\x18\xd4\x86\x5e\x3f\xf1\x7a\xc8\x17\x85\x8f\x14\xe9\xd1\x88\xbe\x90\xf1\xb1\x27\x6d\x84\xde\x53\x74\x64\x85\xad\xc7\x13\x55\x47\x4e\x60\x70\x00\xbc\x99\xf1\x83\x00\x52\xb5\xc7\xb9\x65\x27\xcd\x95\x07\xf5\x99\x92\xee\x02\x78\x3d\x88\xbd\x0c\xd2\x67\x74\x81\xe2\x8f\xa4\x06\xd6\x72\x94\x69\x6a\xaf\x25\x8b\xd3\xfa\x3c\x59\x1f\x4f\xd6\xe9\xd2\xbd\xe0\x56\x6d\x5a\xb7\x8d\xe1\x99\xc6\xa0\x45\x8d\x18\xeb\x58\x42\x31\x28\x66\x62\x94\xef\xaf\x73\xed\xae\xc5\x32\xa7\x82\x02\x56\x12\x3d\x79\x51\x0f\x22\xd5\xd9\x77\x86\x49\x44\xf8\x44\x4e\xff\x80\x64\x8d\x45\x03\xc9\xa8\xfc\x44\x64\x55\xd4\x64\xa8\x74\x75\xee\x0c\x9b\x8f\xf4\x73\xc6\x65\x72\x55\x2c\xdf\x5f\xa7\x9e\x5c\x27\xd1\xe8\xb2\x81\xf9\x52\x05\xde\x25\x85\xb6\xc3\xce\x8d\x10\x1b\xce\x96\x45\xaf\x10\xe0\x76\x27\x64\xb3\x67\x32\x55\x4d\xae\xb4\x67\xcf\x06\x03\x36\xda\xa6\xd7\x69\xbb\xbf\xbf\x2e\x95\x5d\x0d\x69\xea\xc0\x28\x38\x00\xba\x29\x16\xd9\x51\x73\x99\xa4\xf3\x26\x99\x4b\xa9\x4e\xc6\x1e\x3d\xaf\x51\x28\x85\x41\x53\x34\x29\x44\xfb\x50\x37\xa0\x61\xfd\x08\xd7\xba\xc2\xc4\xa4\x16\x70\xf7\xc8\x53\x8d\x05\x6b\x0b\xab\xa6\xa4\x49\xc1\x01\x52\xa4\x83\xbc\xd5\xe4\x01\xde\xd2\xcb\xd4\x9d\x6f\x9a\x29\x52\x9d\x2f\x3a\xda\x0a\x17\xc5\x8b\x7e\x4c\xda\x1a\x20\xff\xc8\xb2\x9f\xc6\x1d\x33\x8b\x5e\xd1\x26\x4f\xb5\x8e\x5a\x67\x6d\xb0\xac\xcf\x27\x68\xeb\x3f\x6f\x50\x63\xdf\xdd\x2c\xfd\x2b\xbd\xc0\x0b\x79\xd9\xd3\x61\x50\x47\x2f\x01\x7a\x02\xdd\x10\xb8\x9a\x2e\xfc\x58\x2a\x9b\xd2\x14\x5c\x6b\x4b\x6a\xae\x96\x29\x05\x31\x44\x9b\x29\x84\x20\x43\x5b\xa0\x03\xec\x13\x5d\xf6\xc0\x44\x6e\x73\x91\x8b\x94\x53\x17\x27\x1a\x45\x5b\x8f\x22\xae\x3b\xe0\x04\xfb\x9e\x7b\x3f\xb0\x08\xf8\x0c\xb6\x19\x8e\xc7\xdf\x76\xc7\x1f\x2b\x20\x73\xca\x14\x65\x21\x51\x39\x24\xf0\xec\xb7\x74\xf0\xe9\xfa\xfb\x27\x2a\x5a\xb9\x9b\x89\xcd\x2f\x79\xfe\x5e\x66\xf4\x62\xb7\x80\x9f\xf7\xf9\xb7\x6c\xfd\x76\xb0\xe2\xf3\xdd\xe7\xfb\x2f\x6f\xde\x4d\x1f\xb7\x7e\x81\x9b\x18\xcc\x29\x24\x11\x94\x8a\x38\x6a\xd0\x7c\xd4\x8b\xe1\xc8\x2b\xff\xa0\x1a\x04\xa8\xc1\x08\x93\xaf\xb5\xba\x0a\x1a\x30\x8a\x4e\x51\x24\x45\xbe\xc2\xce\x13\xed\x48\x64\x15\xd7\xb0\x70\x91\x63\x1a\xfa\x0a\xec\x7b\x8a\x53\x09\xd9\xc0\x53\x0c\x1a\x0e\x62\xde\x00\x5b\xad\xe8\x24\x69\x5a\x9a\xa6\x4d\x59\xf5\xaf\xb1\x14\x51\x98\xe4\x6a\x57\x44\x9b\xad\x1d\x28\x78\xb0\xcc\xea\x51\x61\x90\x77\xa8\xea\x26\x18\x3a\x0f\x05\x45\xb5\xa6\x46\xbb\xa9\xca\x51\xad\x75\x2e\x51\x34\x0e\xad\xe2\x2a\x71\x2e\x10\x5b\x41\x24\xe3\x92\x58\x8e\xe6\xe0\x10\x82\xc1\x39\x93\xcf\x22\xc4\x1a\x41\xd9\x10\x8b\xb2\x04\xf0\x13\x70\xd7\x62\xb3\x93\x00\x0f\x3c\x3d\x91\x75\x7f\xed\x53\x42\xde\x01\x85\x2b\x2f\x4d\x47\xc4\x6b\xec\x3b\x6c\x29\x32\xf2\xb2\x09\xc5\xff\x61\x96\x46\x14\xb2\xb6\x74\x6d\x58\xae\x8e\xa2\xd8\x76\xdd\xe5\x3a\x37\x44\x51\x52\x97\x73\x8c\x6e\xb6\x11\x04\x23\x82\x3e\x41\x07\x71\x77\x9b\x8e\xed\xee\xb0\x71\x08\xbf\x5b\xab\x98\x62\x4b\x2e\xec\x6b\x69\x07\xf8\x50\x51\x2b\xaa\x30\x29\xdc\x82\x0b\x7b\x99\xd7\xea\x69\xb0\xfc\x28\x05\x84\x14\x55\x29\xbd\x12\x33\x44\xec\xf9\x46\x2b\xcd\x5c\x4c\xc8\x4b\x88\xa2\x28\xdc\x5c\x06\x28\xd6\xbd\x20\x3c\xb0\x2c\xa1\x7b\xc1\x29\x2d\x47\x7a\x97\x47\xa8\x72\x2d\x5e\x96\x66\x10\x12\x22\xce\x3b\xb7\x27\x31\x92\x3a\xff\x14\x44\x52\xe7\xeb\x08\x49\x39\x16\xd7\x7a\x39\xf8\xae\x95\x01\x17\xd9\x4f\xe2\x15\x09\x6a\xa5\x4b\x8f\x5e\x59\xee\x84\x93\xd5\x9a\x42\x3d\x5c\x6a\x13\x2a\x41\xb9\x85\xd9\xac\x62\x99\xb5\xb5\x2c\xb0\x2b\x6f\x23\x86\x7c\xfd\xf8\xc7\xa7\x37\x6f\xa7\xbb\x0b\x2e\x8d\x63\x79\xcc\xbf\x24\x8c\xf1\x4d\xc4\xb9\xfb\x87\x2f\xef\x2f\xd8\x31\xfd\xfc\x95\x3a\x9f\x56\x6d\x6c\xa3\x53\x29\x5c\x76\x74\xaf\x65\x42\x67\xd1\x29\x6c\x6d\x97\x42\x61\x5a\xfc\x99\xfe\xb6\x67\x11\x18\xd0\x37\x0f\xdb\xfd\xea\xa7\xdd\x04\xbc\xdc\xa0\x21\xbd\xbb\x45\x17\x0e\xc8\x3f\x6d\xf0\xaf\x80\xfc\x8b\x47\x7a\xc9\x5f\x71\x3b\xb8\x17\x19\x11\x5d\xa3\xd9\x37\x71\xe2\x4f\xe4\x89\x57\x40\xc6\xc7\x98\x6b\x67\x0c\x90\x03\x04\x53\x85\x09\x38\x21\x97\x15\xcc\xf1\x11\xdc\xda\x39\xbd\xb4\xbe\x13\x14\xb8\x5f\xf9\x52\x35\x96\xbf\xe0\xa5\x9e\xfb\x4e\xbb\xe1\xb8\x4d\xed\x37\xb6\xe2\xd6\x34\x7e\xd8\x4e\xe3\x2d\x3d\xf9\xe9\x34\x26\xd8\x82\x63\x88\x34\x23\x03\x10\xcb\x86\xf9\x50\x4e\x14\x1a\x76\xa5\x4c\x19\xce\x93\x64\x95\x29\x62\x0f\xa5\x3c\x43\xf7\x50\x02\x9e\x35\x0b\x35\x29\x64\x54\x31\xb4\xf1\x5c\x60\xe6\xe4\x32\x37\x24\x09\xb2\x21\x30\x2e\x00\x0c\xcb\x69\x89\x15\x1b\xf5\x61\x85\xbb\x35\x00\x8a\x65\x1c\x1c\x7c\x8e\x7b\x69\xcd\x01\xc9\x09\x31\x1e\x7c\x6b\x13\x58\x2b\x89\xf2\xac\x5c\xee\x88\xec\xa4\x0e\x22\xbb\xd6\x64\x16\x46\x97\x53\x3c\x78\x02\x74\x77\xe1\xdd\xec\x91\x39\xe5\x8b\x03\xca\x6e\x26\xcd\xc4\xe8\x51\xe1\x0b\x65\xeb\x52\xc8\x1a\xfd\x3b\xad\x68\x86\x20\x3c\x46\x82\x6a\x5a\x51\xa6\xe3\x31\xf7\x5b\xcd\x74\x55\x78\x26\xdf\xc4\x1e\x9f\x39\xc9\xfd\xe1\x99\xb3\x0a\x13\xe4\x03\xb6\x57\x79\x06\x81\x11\x1c\x8d\xf0\xbd\x81\x30\x87\x0c\x65\x2b\x1b\x8b\x85\xe2\x76\x56\xc0\xed\xe8\xd1\x2b\x43\xb5\x1b\x25\xd2\x99\x31\x5d\xea\xa1\x84\x3d\x85\xfc\xd4\xd2\xdf\xfd\xc0\x04\x3d\x65\x03\x7e\xd6\x92\xe7\x78\xf0\x5d\x3a\x3b\xe6\x43\xef\x7b\x0a\xe0\x5f\xd2\x7c\x55\xa4\xd7\x2c\xeb\xd1\x81\x78\xef\x19\x4e\x1b\x51\xfb\x33\xe6\xe0\xe4\x2b\x89\xf9\x45\xd8\x1a\xea\x5e\x46\xdc\xa7\x90\xf6\x14\xda\x8b\xc5\xc0\xee\x97\xbe\xe0\xbf\xfa\xf2\xff\xba\x7c\xf9\xf8\xcf\xfb\x65\xff\xe5\xe1\xdb\x1f\x9b\x9c\xb1\x77\x5b\xf4\xe6\x13\x7b\xbb\x9a\x8b\xef\xf9\xe4\xd3\x54\x11\xa8\xb9\xc8\xdc\x7a\xde\xa9\x95\x9b\xd2\xd9\x57\xc3\x7a\x57\xaf\x90\x6b\x01\x74\x1a\x1d\xf8\x5e\xc0\x18\x53\x57\x31\xc5\xe4\x62\xe8\x33\xc5\x28\x33\xc0\xc5\x8e\xcf\x19\x40\x39\x00\xa2\xa2\x8e\x18\x9c\x18\xcf\x55\x01\x72\x49\xd1\xcb\xe1\x98\xa1\xa6\x35\x03\x6c\x80\x28\x2d\x0e\x04\xf3\xac\xbc\xcd\xa0\x4c\x9b\xbc\xec\xba\xbb\xc9\x28\x52\xb3\x99\x2d\x14\xa2\xe3\x90\x67\xdf\x1a\x10\xea\x99\x82\xd6\xfb\xe9\x9b\x52\x33\x9f\x90\x34\x23\x23\xa0\xa3\xe1\x0f\x8d\x1e\xa3\x55\x29\x2c\x0c\x13\x96\x3b\x4a\xc0\x39\x38\x70\xef\x96\x32\x67\x55\x78\x3b\xd6\xee\xde\xd7\x14\xbf\xbf\xee\x3d\xb8\x94\xda\x3e\x11\xcd\x9a\x02\x50\x9d\xb7\xe9\x85\x34\x5b\xb4\x82\x67\x25\x07\x2b\xca\xf0\x4b\xd2\x95\x48\xc8\x43\xd8\x16\xe8\xf9\x33\xa4\x38\x4c\xc0\x1c\xcd\x1d\x1a\xd4\x51\x86\x98\x0c\x9f\xbc\x46\xcf\x8e\x23\x5e\x3e\x20\xe7\x42\xac\xb8\x82\x40\x9e\x8c\x2a\xf2\xdd\x9b\x63\x3e\x10\x02\x34\x88\x70\x80\x01\xcd\x23\xe1\x40\x6c\x98\x89\x5d\xac\x87\x94\x26\x0a\xec\x50\x5e\xe5\x31\x6e\xd2\xbe\xc1\x16\x55\x96\x11\xa4\x50\xbc\x9a\xea\x94\x27\x65\x4e\xea\x11\x04\x96\x40\xae\xb3\x16\xcc\xab\x33\x92\xd9\x6c\xe0\xd8\x1d\xd7\xb9\x56\xe8\x77\xcc\xae\x95\x39\x55\x31\x3f\x53\x05\xc0\x95\xba\x63\x65\xbe\xe4\x3a\xc3\x8c\xeb\x4a\x6e\x55\x6f\x07\x44\xbf\x7d\x7a\x7f\xff\x65\xfa\xb8\xa5\x3e\x7b\xf7\xfe\x1f\x2b\x45\xbf\xa3\x48\x11\x3d\xcc\xd8\xea\xd2\xe4\x23\x42\x3f\xd1\x11\x1c\x3c\xc6\xf7\x86\x14\x50\x38\x7e\x91\xae\x2b\x5d\x38\x37\x85\xb1\x6c\x2e\xce\x44\x28\x82\x4a\xc5\xe5\x39\xcb\xd7\xad\x38\x9e\x90\xe8\x9e\x26\x31\xea\xd3\xc1\x77\x50\x0e\x22\x1d\x9e\xc1\x71\x64\x0c\x84\x20\x28\xb0\x42\x0e\xcc\x63\xb8\xda\x86\xd8\x51\x0c\x02\x1e\x38\xfd\x9c\x81\x67\xe4\x99\xfb\x84\xba\x8d\x16\x50\x63\xa3\x5b\x90\xe7\x60\x88\x41\xdd\xf5\x82\xd9\x05\x54\xbd\x6a\xeb\xa7\xee\x06\xa8\x57\x17\xe3\x18\xac\x67\xcd\xf5\x0e\xac\x3f\xe4\x73\x96\xec\x4a\x9a\xa1\x9b\x29\x5e\x5b\x9a\x99\x5c\x05\xc6\x18\x63\x30\xa4\xb9\x51\x39\xf8\x90\x51\x4c\x86\xa7\x85\xef\x72\x17\xd3\x3b\xc1\x9f\x0b\x78\x15\xa4\x24\x37\x0c\x9b\xb4\xab\x56\x17\xd3\xe4\xd5\x3f\x80\x25\x19\x27\x19\xf1\x3d\xe2\x6b\x98\xe2\xe0\x2e\x8b\x8e\xba\x4c\x9b\x09\x49\xd6\xb3\xe6\x99\x96\x41\xb2\x5a\xd5\x4d\x4a\xc6\xfa\x60\x0e\x7d\xe4\x0f\x5b\x29\x0e\x96\x65\x35\x00\x2d\xfb\x3f\xd1\xce\xaa\xf0\x74\xaa\x2e\x06\xe4\x3e\x2b\x1e\x2d\xb0\xc2\x7a\x41\x6f\x76\xbb\x24\xca\xea\x23\xc3\xc1\x50\x04\x47\x56\xe2\xec\x92\x07\xd2\x1e\xcb\x63\xb3\xc1\xea\x89\xd4\x40\x55\x6f\xe8\x06\x60\x8b\x9c\x9e\x38\x03\xbf\x08\xd6\x70\x72\xd0\xb6\xc4\x92\xa9\xea\x3f\x52\x4c\x59\x85\xa7\x6a\xf2\xe6\x5a\xb9\xd4\x8c\x57\x28\xd6\x43\x8c\x58\x9e\xad\x59\xd5\x91\xa2\x18\x45\x8d\x70\xb8\xd8\xcd\xc2\xf2\xbd\xac\x72\x19\x52\x1a\x42\xbc\x6b\x1a\xdc\xee\x44\x88\x7b\x48\xf1\x73\xb1\xaf\x52\x5f\x85\x3e\xd2\xe6\xc6\x16\x21\x3b\x04\xdf\xce\x2c\x5b\xee\xde\x4e\xdb\x65\xb6\xcd\x5b\x3d\x86\xe7\xe0\x10\x2d\xe1\xb8\x39\x9f\xb5\x57\xf9\xea\x2f\xb4\x76\x6c\xc7\xe7\xcd\x05\x0d\xfc\x79\x6b\xf1\x80\x9c\xd2\x5f\xf7\x00\xcd\xbc\x7d\xe9\x2b\xec\x5e\xfa\x0e\x9d\xdb\x5f\xfc\x0e\x7f\x6d\x2f\xc1\xf2\xd7\x5e\xda\xfd\x85\x2f\xf1\xd7\x76\x13\xc0\x76\x7e\xa8\x9b\x76\x2f\x79\xc4\x5f\xfb\x12\x40\xee\x53\xa5\x36\x28\x84\xcd\x95\x9c\x59\xf8\xfe\x2e\x63\x5c\xeb\x85\x5b\x0a\x09\xb9\xe4\x52\x3e\xea\x6d\x07\xf0\x9f\x77\x7f\x7c\x7c\xf7\x58\x6c\xbc\xdf\xa6\x16\x9e\x44\xf5\xa9\x07\xd7\x73\x9e\xb8\x47\x07\xe6\x26\x0a\xd5\x51\xa8\x96\xa3\xcf\x1d\x6f\x1a\x2b\xde\x74\xa5\x2f\x6d\x43\x1f\x6c\xd8\x2b\x81\x86\xbb\xa2\x2a\x00\x34\x41\x01\x1e\x26\x4f\xbd\x39\xea\x6d\xc5\x7d\x50\x34\x1b\x85\x84\xc0\xe5\xb8\x7a\x60\x29\x38\x85\x5b\xf0\xd4\x26\x02\xbf\x58\x6f\x03\x8c\x41\xef\xfd\xfd\x35\xae\x49\xb1\x4d\xca\x0e\x3f\xf9\xf1\x19\xe1\x2a\xc7\xa7\x7c\x80\x14\x7c\xd2\x7f\xf1\xd5\xf7\xd7\x45\x2d\xa3\xb2\x9b\x10\x1f\x29\x61\xf2\xeb\x01\x70\x4c\x7b\xc1\x01\x3e\xe5\x97\x12\x26\xfb\xd0\x6f\x65\x5a\x95\xe2\x6a\xff\x91\xa7\x77\xfe\xd1\x86\xdf\xdc\x29\xbe\x7c\xdb\x12\xce\xbc\x7f\x46\x16\xf8\x05\x64\xbe\x81\xcc\xbd\x0c\xa4\xee\x33\x04\xcd\xe5\x0c\x47\x96\x33\x20\x2f\x50\xec\xc0\xb9\xec\x3d\xe5\x76\x34\xdb\x9c\xef\x93\xed\xfa\xb2\xf9\x76\x67\xff\x31\x1f\x7c\x0c\xab\xff\xf2\x67\x1b\x61\x76\x25\xdc\xa0\x81\x2d\xc5\x07\xba\x8c\x91\x24\xc6\x51\x25\xbc\x5b\xeb\xd1\x35\xeb\x47\xc1\x78\x87\xe1\xc9\x96\x28\x17\xec\x8b\x41\x42\xf8\x3c\x60\xf2\x91\x5c\xf4\xbc\xb3\x0b\x2a\x98\xd7\x38\x44\x58\xb3\xf4\xc6\xc3\xd9\x9a\x57\x06\x85\x22\x1d\xd5\xc1\xa6\xb5\xa1\xac\x59\x48\xe7\xfe\x5b\x0b\x81\x34\xe5\xd1\x8f\x79\x91\x9e\xda\xa1\xfc\x1a\xa9\x41\x45\x01\x5f\x45\x45\x5c\x31\xbd\x62\x98\xc6\x02\xd5\x9a\x05\x38\xa3\x22\x2f\x28\x0c\xa2\xb8\x3f\xee\xc7\x8f\x9d\xc5\xd2\xdf\x2f\x74\x16\x7f\xfe\xf8\x69\xb9\xff\x72\xff\x75\x93\x44\xf3\x9e\xcf\x1c\xf6\xe6\xd2\x7d\x36\x92\xca\x0c\x7b\x0f\x16\x5b\x73\x91\xc5\x2a\xea\xd1\xd5\x06\x56\xa7\xee\xa2\x6c\xc9\x8e\x89\x66\xd6\xc2\x28\xd8\x94\x28\x72\x56\x8d\x1f\x38\xbe\x48\x72\xa3\xa2\x0c\xe8\x48\x84\x03\x99\x57\x66\xc7\x55\x63\x18\x40\x6f\x44\x12\x21\xe8\xcd\x51\x11\x58\x40\x02\x9a\x5d\x89\x47\x8c\x53\x70\x78\x83\xf4\x00\x7e\xc1\x8a\x62\x3d\x24\x9e\x29\x72\x3e\xca\xed\xfb\x9a\x93\x28\xfb\x83\xe1\x29\x27\xe5\xdb\x6e\x51\xe1\xe3\x89\x48\xf3\x41\x80\x65\xcb\x61\x66\x57\x91\x3a\xb2\x88\x70\x98\x8b\x33\x66\xf3\x14\x81\xa9\x59\x34\xdb\x42\x03\xc2\x84\x7c\x0d\xc4\x5c\x40\xc1\xc8\x0a\xb0\x17\xf0\xb2\x00\xe0\x54\x9e\x72\xdf\x78\x84\x5b\x48\xcd\xfd\x1a\x94\x91\x5a\x7a\x06\x00\x91\x86\xab\xd0\xa1\x53\x6b\x3c\x32\x19\xab\x89\x3e\x62\x86\x67\x02\xc9\xd1\x0a\x88\x09\x4c\x57\x2d\xf8\xaf\x0a\xc6\x99\x75\xe7\x68\x71\x81\xc9\x12\x77\xb3\x2f\x9a\xb5\xae\x96\xec\xa2\x85\x9a\x5a\x6e\x23\xd6\x11\xec\x10\x9e\x7c\x97\x69\x05\x10\x80\x6a\xc8\xf3\xa0\xf7\xaa\x33\xd2\x22\x3b\xd2\x56\xa3\x63\x2c\x39\xae\x2e\x71\x7c\x1e\x7d\xda\xcf\x42\xe7\xac\x73\xf9\x22\xe3\xec\xfb\x23\x0a\x3f\x27\x03\xd1\xb9\x19\xe6\x7a\x6e\xc8\xad\x72\x9e\x5b\x86\x59\x4f\xa1\x39\x46\x45\xae\x4c\xf0\x28\x2f\x3d\x33\xd9\x04\x7f\xa5\x70\xd4\x23\xd7\xb1\x0d\xa6\xfa\x8e\xd7\x4f\x36\xf9\x21\x11\x22\x06\x08\xc0\x96\x32\xa1\x61\x7c\x76\xcd\x7c\xc4\x24\x86\x7b\x4d\xe6\x70\xaf\xca\x0e\xeb\xd5\xe4\xf5\x64\x3c\x97\x9a\x14\xae\xd4\xdd\x2a\x69\x83\xc1\xcf\x60\x92\x17\x43\x6c\x69\xc7\xf9\x3e\x58\x11\x02\xbb\x68\xe4\xfe\x61\xa1\x21\xa0\xc1\x70\xe5\x95\x1b\xc7\x05\x83\xe0\xe9\xc0\xd1\x4f\x8e\xb2\x2b\x74\x32\xf5\xd5\x03\x85\xba\x88\x80\x0c\x4b\xfc\xab\x25\x05\x8e\x95\x72\xc7\xe8\xc6\x51\x8f\x98\x30\x08\x70\xa3\xfb\x46\x4b\xb3\x7a\x08\xed\xfb\xd2\x0c\x21\xdb\x73\x13\xf1\x3b\xaa\x2b\xdb\x70\x2d\xf4\x7a\x3a\xf5\xa3\x4e\xfd\x64\x53\x5f\xc3\x3c\x0a\xd6\x83\xa4\xa0\xaa\x10\xf4\xa9\xeb\x7e\x64\x68\x8d\x58\x4f\xe8\x02\x5b\x4f\xda\x56\x23\x10\x4a\x0a\x07\x11\x0d\xc6\xba\x32\x72\x15\x88\x49\xf5\x85\x04\xc4\x12\xc4\x06\xd4\x6e\xe7\x9c\xf6\xf0\xd4\xfd\x7c\x20\xf6\x36\x54\xd4\xc3\xc3\x1f\xd3\xfd\x9b\xcf\xd3\xb7\xaf\x97\x67\x7c\xfa\xc7\xca\x78\x52\x5d\x01\xf2\x2f\x23\x5c\x50\x12\x02\x08\x07\x19\xf7\x3d\x53\x9d\x07\x2c\x80\x8e\x77\x0e\x83\x06\x27\xc7\x31\x59\x14\xce\xb7\xaf\x00\x32\x20\x40\xc6\x00\x75\x57\x69\x01\xe7\x43\xa5\xc5\x3e\xf4\xdb\xb9\x03\x6e\x3f\x03\xce\x7a\x92\x29\x4a\x01\xc9\x0a\x23\x7b\x22\x57\x85\xb6\x25\x1d\x4a\x64\x86\x1e\x6b\x25\x46\x42\xf0\xc9\xe1\xf1\x8c\x99\x0a\x52\x00\x8b\xd6\xa6\x88\x90\x40\x36\x79\x0d\xc8\xce\x64\x97\x5b\xde\xed\x29\xf4\x03\x11\xf8\xba\xc7\x01\x85\x83\x3f\x3f\x3a\x3b\x20\x0a\xff\xaa\xec\xc1\xcf\x9c\x0b\x9b\x69\xb0\x49\x4e\xe3\x18\x8e\x05\x12\xb1\xba\x02\x09\x6d\x09\xea\x28\x8c\x56\x15\x28\x81\x2d\x38\x2d\x3e\x96\xae\x21\x9c\xd9\xeb\x6a\xf5\xdc\xb2\xcb\x22\x3e\xa2\xac\x7f\x59\x98\x59\x04\x40\x5a\x7c\x6e\x8e\x5b\x5e\xec\x63\x7c\x3d\xce\xd3\xeb\x66\x86\x5f\x31\x75\x50\x99\xb0\xe8\xa5\x48\x93\x82\x53\xb7\xaa\x81\xc5\xa8\x2f\x44\xea\xbd\xe9\x66\x98\x91\x85\x45\x07\xd3\x7d\x02\x7a\x01\x50\x5f\x21\x3d\x96\xe3\xd1\xd9\x19\xeb\x95\xbb\x91\xc7\x0a\x9d\x2e\x9a\xb8\xcd\x22\x79\xc1\xfb\x59\x81\x63\xdb\x65\x4b\x84\x58\xac\x49\x13\xc6\x38\xf3\xbe\x74\x06\xf8\x52\x01\xec\x93\x6c\x84\xdf\x5f\x4b\x3f\xba\x9a\xf2\x41\xa4\xd5\x5e\x94\xa3\x83\xfc\xb3\x97\x3f\x0f\x7a\x10\xfa\x41\x7e\xc3\x67\xe8\x7b\xf9\x01\xa7\x70\xb8\x5d\x4d\xfa\xe7\xc3\xa7\xfb\x4d\x9a\xe1\xfb\x6d\xe6\xd9\x31\xa9\xbe\x96\xe6\x62\x4b\xd0\xfe\xbb\x65\xf1\xa4\xd4\x64\x9e\xa7\xc9\x13\x5c\xe9\xb1\x4e\x48\x99\x45\x55\x6b\xac\x2e\xcb\xdb\xef\x19\x78\xaf\x96\xf7\x03\x8b\x8a\x5b\x18\x1a\x5f\x35\xaf\x3b\x25\x5e\x54\xd7\x12\xe5\x68\x31\xa2\x24\xf9\xb0\xea\x23\xec\x4c\xb1\x39\x7c\x06\x05\x2b\x22\xbb\x04\x57\x30\x39\xb9\x89\x7d\xac\xdf\x1f\xcf\xb5\xab\xc7\xdd\x4e\x9e\x70\x7c\xae\x35\x65\x94\x6f\xb7\xb4\x3b\x64\x3a\xc9\x6d\x7f\xa4\xd9\x8f\xa8\xfd\x45\x43\xe0\xe0\xe5\xd2\x8b\x69\xfd\x7b\xbb\x50\x7e\x3c\x2b\x57\xb2\x2a\x2c\x33\x70\xec\xee\x17\xb3\x4a\x6a\xe7\xcb\x79\x1e\x7a\xd1\x63\xdd\x5d\x4e\x7f\xa1\xee\xfe\xee\xee\xcb\xfd\x72\x11\xf7\xf1\x7d\xbd\x41\x1e\x0d\x5f\x92\xf2\x4e\x9d\xb4\x7c\xf2\x49\xa6\x08\x0a\x4c\xcf\x6b\x41\x97\x51\x4b\x2d\x27\x8c\xdf\xd7\x5a\xea\xb3\xa2\x80\xd6\xcb\x8f\xbd\xc4\xb6\xfa\xf2\x7d\x7b\xea\x15\x2c\x3d\xec\x52\xe7\x4b\x3b\xae\x16\x30\x4c\xe3\x3d\x06\x96\xb0\x53\xc0\x08\x4f\x7d\x5a\xfb\xc0\xde\xef\xd9\x2f\x70\x09\xe5\xf8\xfd\x86\xb9\xbd\xa4\x70\x6a\xf1\x87\xd6\x0e\xde\x2a\x09\xb7\xaf\xf1\x9c\x7e\xbf\xf1\x2e\xcf\xef\xfc\x8b\xd8\xbe\xef\x37\x39\x43\xc7\xc6\xe7\x7a\x34\x08\x9f\x3f\x81\xc6\x02\xd0\x17\x3e\x9f\xff\x3f\xd3\xff\x0f\xd3\xb7\x3f\x3f\x6d\x77\xbd\x6d\xb2\xc8\x29\xc1\x6f\x70\x61\x5f\xc2\xc8\x1a\xd6\x1a\x77\xba\x95\x6f\x68\x4a\x41\xe4\x83\x9c\xb7\x5e\x22\x3b\x43\x68\xd7\x13\x11\x4f\x1c\x92\xb7\x39\x6d\x6f\x38\x24\xaf\x71\xda\x5e\x73\x48\xde\x8e\xab\x3f\x7c\xd9\x8e\xf5\x36\x9c\xfe\x68\xad\x6d\x6a\xde\xff\x4a\x71\x71\x45\x42\xfd\x9e\xe5\x2d\xfd\x75\x59\xc6\x6e\x71\x6b\x7e\x67\xa7\x3d\xf9\x0e\x17\x44\xec\x36\x78\xf5\xd4\x2e\xf1\x7b\xc6\xe0\xfe\xd3\xe1\x7e\x7a\xf8\x7c\xff\xe6\x6e\xda\xcc\xdd\xfb\xad\x2b\xfd\x34\x15\xa4\xb3\x6b\x5c\x0e\xbe\xf6\xf4\x43\x08\x1a\x72\x5d\x1a\xb5\x57\x24\xea\xf1\x0c\x64\x62\x4e\xc5\xa5\x2e\xba\x72\xca\x20\x27\x49\x0c\x6b\xd3\xa8\x3c\xd5\x0c\x4f\x6d\x41\xa1\x11\x8b\x7e\x4f\x7b\x9a\xb3\x96\xb5\x07\xe0\xa8\xe9\x49\xa9\x2d\xb8\xae\x00\x4d\xa7\x6a\x22\x55\xea\x62\xc3\xe2\xc6\xc8\xe5\x0e\xae\xd5\x13\xc8\x8d\xd9\x22\xea\xc8\xf1\xc8\x70\xb3\x68\x94\x76\x37\xfb\x58\x51\xf2\x42\xce\x27\xd4\x5f\x21\xea\x6e\xf1\x64\x7e\xb5\xf2\x3b\x81\x11\xa1\x2d\xca\x01\xa9\xa0\x57\xd5\x42\xc6\xc8\x5d\x12\x0d\x66\xef\x09\x89\x1a\x9a\xc6\xd5\xed\x14\x9c\xc1\xce\x2e\x4a\x70\x0f\x27\x5e\x19\xdc\x3a\x21\x4f\x4e\x2c\x30\x6a\x9a\x48\x14\xb2\x68\x7c\x30\xae\xd9\x25\x76\xa6\xe3\x2b\x46\xae\x28\x81\xea\x3a\xad\x0d\x94\xcf\x8e\x62\x58\x50\xd6\xee\x32\x6b\x94\x16\x96\x9e\xf9\x4d\x20\xe6\xd4\x05\x70\x5b\xd0\x4d\x1f\x3f\xfd\xf3\xfe\xfd\xc7\xcd\xba\xbd\xa7\x35\xfb\x3e\x75\xd7\x89\x0e\xbe\x77\xda\xfb\x18\xc3\x41\x0e\x62\x0c\xdf\x5f\x47\x0c\x04\xd5\x99\x14\x48\x21\x1b\xa0\x25\x1f\xd3\x09\xbb\xa6\x7b\x19\xce\x03\xbb\xd4\xd1\x73\x84\x32\x84\x9a\x94\x18\x54\x13\x07\x50\x07\x3a\x20\x94\xa2\xa6\x03\x2e\x9a\xe4\xc7\x27\x24\xbc\xed\xe0\x73\x69\x7b\x1f\xb9\x1f\x72\x84\xb5\x18\xb2\x96\xf5\x3b\x2a\x86\x0c\x26\xe6\x6e\x06\x28\x66\x89\xe6\xac\x7b\x35\x20\x33\x51\xed\xe9\x7c\x53\x02\x0b\x1a\x9c\x17\xce\x37\x3a\xf8\x9c\x23\x6e\xbd\x9b\xd9\xc5\xde\x1d\xbb\x22\xf3\x9c\x1c\x23\xb4\xe2\x52\xdb\xcb\x83\x3d\xa5\x24\x6f\xc6\xc1\x45\x25\x5a\x2c\x9a\x3d\x98\x79\x69\xe6\x6a\x51\xbb\x89\x74\xc6\xc2\x87\x55\x75\x40\xe0\xab\x93\x99\x15\x9f\x4a\xef\xfa\xf6\xe9\xfd\xc3\x66\x64\x2e\xba\x9c\xc5\x82\x54\x1b\xaf\x03\xad\x0a\xb4\x41\xb0\x4e\x61\xe0\x89\x61\xd1\x8d\xf2\x83\x40\xef\xe7\x23\x57\x57\x75\xea\x15\xd4\x52\x2b\x0c\x29\x4a\xfe\x46\x86\x5a\x33\x1e\x8d\x89\x62\x75\x28\xdc\x0d\xae\x3b\xce\xae\x03\x1f\x8b\xd5\x99\xc5\xb3\x0c\x7e\xcf\x0e\x25\x30\x94\xea\xc2\x28\x40\xe1\x35\xc5\x44\xee\x03\x84\x0f\x54\x1b\x3b\xf5\xaf\xe1\x5f\xad\x3f\x56\xca\x2b\x9c\xb7\xf8\xd3\xe3\x93\x73\x10\x08\x39\x5e\xed\x8f\x77\x9d\x7d\x6f\xc6\x2c\xa2\xa8\xa9\x8b\x16\xbf\xc1\x34\x42\xd3\x51\xbb\xf6\x57\x80\xc6\x44\xe3\xe2\xd2\xd8\x23\x39\x56\x0e\x73\xf5\xde\xc1\x2b\x91\x15\xff\x4b\xeb\x25\x31\x02\xcb\x3a\x26\xeb\x30\xd9\xc0\xdd\x5e\xa9\xf7\x7f\xdc\x6d\x92\x7d\xef\xb7\x85\xcf\xa7\x72\x5d\xa6\xdd\x91\xab\xc9\xf9\x1e\x34\x4c\xea\x15\xb7\xad\xdb\xb7\x64\xe8\x6e\x71\x50\xd4\xd6\xc9\xc7\x12\x5d\x44\xc8\x67\x83\xee\x96\xa2\x93\xc5\x60\xa0\x51\x93\x2c\x37\x24\x11\xcf\x9a\xb4\x94\x34\x97\x95\xd2\xe2\x81\xeb\x6b\x30\xd5\xea\x1e\x64\xcb\x0f\x13\x05\x2d\x58\x50\x8b\x0c\x8d\x75\x29\xf6\x69\x5e\x09\xf9\x49\x7d\xac\xb3\xe6\xfa\x59\x71\xca\x5a\x36\xa9\x6e\xb6\xa6\xc5\x4f\xac\x2c\x54\x86\x66\xa0\xf4\xf8\x6c\x40\xa9\x1a\xd8\x03\xdb\xb7\xc7\x3c\x3f\xa9\x67\x99\xfc\x28\xfb\x1b\xe0\x0e\xa8\x67\xd1\x5c\x4d\xf8\xa0\xca\xd2\x1d\xb3\x02\x53\xca\x67\x19\x01\x2d\x45\x8e\xec\x0b\x29\x04\xfa\x1c\xad\x16\x06\x00\x0c\x48\x16\x53\xe8\xee\xc5\x1c\x86\x03\xf4\xd5\x17\xfb\xa4\x60\x10\xcf\x72\x60\x78\x8e\x0a\x58\xab\xa8\xa5\xc9\x59\x8f\xc6\x84\xf0\x57\x9a\x62\x92\x3d\x0f\xe9\x8e\xf8\xc2\x51\x5a\xb4\xb7\x0d\xfe\x5d\x21\x1e\x89\x0d\xeb\x11\x3b\x78\x18\xa1\xb8\x60\x00\xd6\xc5\x3e\xe1\x53\x2f\x03\x7b\x15\xfd\x1c\x15\x09\xa3\xcd\xd1\x45\x67\xaf\x0a\xd6\xc9\x15\x20\x13\x17\x00\x88\x5e\x3f\xfb\xc2\xc5\x81\x86\xe9\x58\xea\x84\x52\x4a\x6f\xb5\x94\x47\xd0\x8c\x91\x40\xab\xee\xba\xa2\xb9\x0b\xd2\x54\x45\x95\xe4\x35\xd6\x69\x05\x5c\xaf\x06\x7a\x61\xd3\x21\x05\xc7\xad\xcd\x02\xf9\xdc\x61\xd7\xd6\x54\x4f\x5a\xa1\xbb\xf3\x1a\x76\x1c\x28\xe7\x00\x84\x5e\x91\xa1\xa3\xe1\xc4\x92\xce\xca\xd9\xfa\x58\x27\xee\x62\x13\xf8\x38\xad\x27\x99\xe8\x00\x89\x4b\x36\xf7\x5d\x8a\x46\x1a\x85\x95\x33\xc9\x5a\x91\x05\x33\x47\xcd\xe6\xd4\x45\x75\x73\x35\xbf\xbf\xfb\xba\x7f\xfb\x70\xf7\x65\x03\x09\x71\x7f\xab\x2c\x3f\xb6\x64\x88\x10\x2b\xfb\xda\x09\x47\xa2\x92\xac\x9d\x70\x15\x9d\xd2\x28\x9e\x1c\x9e\x9c\x71\xbc\x6e\xbd\xd9\x77\x18\xae\xc6\xb8\xfd\x17\x3e\x85\x42\x48\x2e\x66\x9a\x40\x7b\xdf\x78\x2e\x70\xbb\xd7\xa1\x03\x28\xb9\x1e\x77\xc5\x82\x6e\x06\xec\x19\x11\x08\x05\xbc\x2c\xd8\xf1\x1b\x6b\x2e\x25\xd6\x90\x48\x74\x9d\xdf\xb2\x1f\xb5\x41\x1f\x5f\xab\x62\x3c\xa7\xa2\xd1\xc9\xd6\x17\x4a\xc5\x71\x58\x5a\x47\xfd\x39\x15\x10\x36\x5a\x8d\x78\x65\xd7\x69\x00\x45\xfd\xe5\x9d\xad\xc9\x63\x9a\x03\x70\xf6\x9c\xdd\xaf\x7e\x50\xaa\xfc\x77\x0c\xab\x79\x1c\xd5\x22\x82\x1f\x52\xb4\x6c\xc4\x79\xba\x42\x3a\x80\x19\x4c\x8b\xbc\x56\x7a\xd7\x9c\x9c\x28\x5d\x38\x9b\xd9\x2e\x4b\x4d\x93\x1d\x01\x59\x12\xc5\x4e\x40\xb2\x6a\x59\x90\x4a\xd3\x69\x11\x69\x58\xf5\x03\x39\xc8\x48\xea\xe9\x84\xf3\x10\x09\xab\x32\x47\xd2\x13\x9c\xe4\x0f\x7f\xfe\x79\xff\x69\xb9\x68\x36\xdd\xaa\x58\x6f\xa3\x60\x1d\x18\x35\xd8\xa1\x14\xc1\x5a\x23\xe4\x0d\x38\xe4\x46\xd5\xaa\x02\x2f\x6b\xf0\x90\x58\x2b\x44\x3c\x93\x46\x37\x74\x0b\xa8\xf9\x55\x9e\x1a\xaa\x22\x26\x24\x2b\xc1\x76\x4c\xba\x3f\x57\x2d\xc8\x99\x29\xb3\x2b\x11\xaa\x24\x55\x9a\x52\x74\xb1\x4d\xa0\x7d\x44\xe2\x79\x73\x50\x49\xda\xac\x4d\xd2\x16\xa1\x41\xd2\x1e\x6d\xce\x08\xae\xaf\x0d\xc3\xe1\xf1\x77\x7f\xbc\xea\x88\xae\xa8\x71\xfe\x9a\x0c\x0c\x28\x2a\x1e\x51\x04\x72\x40\x8c\x62\xf0\x86\xa1\x52\x57\x95\xc8\x09\x5c\x01\x9a\x0c\x05\xec\x17\x70\xa2\x26\x9e\xd5\x20\x03\xee\x2e\x60\x73\xf7\xa0\xef\x34\xf8\x27\x37\x28\x18\x00\x5e\x74\x00\x18\x52\xd2\xc4\x10\xe2\x85\x45\x80\x1b\xde\xf4\x54\x5c\x5f\x94\x51\xa2\xb9\x3e\x6b\x7e\x81\x26\x8c\x44\xad\xd7\x59\xe4\x6f\xc4\xce\x51\x71\x44\x0b\x57\x97\xb1\x5b\xa1\x8e\x3c\x57\xd7\x64\x46\xc2\x50\x62\x0e\x36\xfb\x59\xa9\x5d\x6b\x72\x04\xed\x9e\x64\x29\xca\x8b\xca\x7b\xca\x6b\x22\x34\xbf\xbe\xef\xb2\xf6\xc1\xb1\x63\x9e\x33\xdd\xbe\x5e\x9c\x6f\xdb\xd0\xc5\x71\xbe\xd5\x60\xf5\x75\x08\x59\x63\x1f\x2c\xa2\x65\x2f\x9e\x4d\x89\x48\xb4\xf8\x6a\x68\x4e\x48\x8f\x1e\xd8\x21\xb9\x2d\x5a\xea\x10\x79\xea\x40\x44\x99\x50\x46\xd0\xd2\x8c\x62\x68\x57\xc4\xda\x99\x52\x72\x91\x94\x45\x3f\xcc\x55\xc9\x1d\x11\x97\xa4\x34\xeb\x33\xe5\x91\x99\x17\x7d\xa0\x3c\xaf\x2a\x16\xd7\x78\x30\x8e\x8e\xbf\x7a\x3d\xff\xbb\xb6\x9d\x5b\x98\x65\x65\x02\xdc\x0f\x2b\x05\x4a\x54\xb6\x2d\xbf\xc0\xd8\x47\xbc\x73\xf1\x76\x00\xa8\xdf\x93\xdf\xfd\xc9\x95\xc0\x8c\xc2\xac\x2c\x0a\x9b\x2d\x6b\x05\x65\xc7\x68\x3a\xf0\xb9\x0a\x92\xb7\x20\x16\xca\xde\x23\xd6\xac\xc1\xc7\x13\x5e\x1b\x14\x49\x00\x71\x0b\x20\xd0\xc1\xc0\xa0\xd9\x95\x09\xf3\x06\xd8\x65\x18\x73\xa7\xb8\xed\x72\x94\x80\xb1\x8e\x68\x3e\x67\x99\x52\xc8\x8b\x19\x00\xf1\x6c\xe5\x62\x78\x0e\x70\x23\x39\x39\x04\x65\x61\x25\xc9\x26\x23\x62\x0e\x09\xda\xb1\xbb\x9e\x9c\xbc\xb4\xbe\x29\x5e\x74\xb7\xe8\x8b\xca\x7b\x8a\xe5\xcb\x45\x41\x0d\x14\x6c\x52\x15\xa3\x94\xe4\x39\x5e\x1f\xa4\xd9\x12\x98\xdc\x5e\x9b\x82\x94\x73\xb0\x9b\xcb\x02\x4a\x86\x39\xef\x41\x53\x63\x78\x6c\x22\x70\xb4\x6c\x63\x61\x51\x4a\x15\x0b\x09\xeb\x0f\x9f\x8a\xf9\x6d\x85\x08\xa2\x9d\x89\x1a\x5d\x91\xb7\x50\xd1\xab\xe8\xf6\xac\xc9\x3f\xd2\xeb\xe8\xf4\x3e\x28\x51\x80\x7c\x20\x32\x4c\x99\xb3\x65\xff\xa1\xc8\xa8\x88\x49\xa8\x0f\x4f\x33\x21\x91\x20\x06\x38\xc5\x18\x5e\xe0\xbe\x03\x37\x79\x67\xc0\xaa\x30\xf1\x52\xaa\x63\x94\xee\xd5\xaa\x60\x0c\x62\x59\x02\x7c\x86\x14\x92\x8b\x6a\x43\x48\x8a\xe3\x11\xae\xac\xa2\x34\x42\xdd\x01\x48\xe7\xab\xe5\x89\x85\xf9\xf6\xe1\xc2\x82\xdc\x84\x88\x5a\x2f\x43\xfe\xb7\xec\x7a\x0d\x8a\xfe\xae\x6c\x49\x69\xf2\x39\x29\x49\x78\xd5\x32\x0e\xf0\x75\xb3\x96\x75\x18\x17\x8b\xe3\x01\xf1\xae\x18\x77\x5d\xc1\xeb\x91\xd1\x56\x5d\x0b\xb0\x48\x8c\xd0\x17\xd0\x46\x5a\xd8\xa0\x1c\x60\x0a\x84\x44\x46\x47\x06\x43\x4a\x56\x2e\x07\x72\x8d\xf3\x0c\x2d\x16\xa5\x02\x0b\x37\xd7\xf7\x91\xe1\x41\x84\x97\xc2\xac\x8b\xa8\x13\x04\xe2\x41\xf5\x26\x00\xbc\xc0\x15\x16\xa7\xd8\x8b\xeb\x6d\x6e\x0e\x68\xe6\x6c\x17\x83\xac\xe8\x89\x32\xfd\xe5\xfe\xcf\xbb\x8d\xf3\xf4\x7e\x1b\x9f\x7a\xe4\x77\xe4\xd6\x56\x0c\x83\x4b\xf8\x03\xc8\x77\xbe\x00\x3f\xb0\xc2\x15\x9e\xa1\x0f\x94\x03\x75\x1e\xe8\xc0\x9d\xf7\xfd\x1a\x6c\xcb\xdf\xfe\xbc\xdd\x2f\x7c\xa0\x26\x9f\x6a\xee\x29\xd2\x4a\x15\x17\x59\x5a\xd2\x2f\x23\x56\x5c\xbc\x99\x7c\xf9\xc2\xde\xe9\x5a\x86\x09\x5c\xb3\x41\x9b\xeb\x35\xad\xd5\xf7\x70\xa3\x0f\x6e\xa7\x7f\x7f\xfb\xf3\xed\x97\xfb\x69\xba\xdb\x4c\x9f\x4d\x6c\xf0\x24\x3c\x25\xfa\x57\x0d\xed\xe0\xf3\x80\xd5\x4c\x2b\x4d\xad\x98\x8c\x01\x10\x13\x5e\x99\xd9\x07\x37\xed\xb5\x98\x9a\x05\x08\x06\x47\x70\x37\x86\x60\x84\xd8\x5b\x77\xb1\x2f\xb1\xbb\xd6\x0f\xf2\xac\x08\xe6\x0b\x11\x56\xb4\xa0\xda\x79\x58\x0b\xc5\x50\x5f\xae\x94\x88\xae\xbb\x4f\x04\x29\x5a\xea\x2e\xc9\xfe\x14\x5d\x41\x32\x00\x68\xb2\x7c\x51\x57\x96\xf4\x5a\xac\x46\x4b\xd7\x2b\x48\x90\x14\x27\xca\xb2\xbc\x8c\xe1\xc8\x73\x52\x27\xa6\x18\x36\xdc\xac\xd6\x09\xf7\xe0\x6e\xfc\x57\xc5\x2a\x98\x39\x0d\x4a\x94\x36\xfb\x14\x9d\xfa\xc8\xd6\x2c\x39\xc5\xde\x5c\x8f\xec\xf1\xda\xf8\xfa\xbc\xe7\x8f\x5a\x2b\x2b\x70\x7a\xd6\xf3\xa3\x3d\xbd\x39\xf8\xa0\xf4\xf5\x03\x6b\xe5\x69\x07\x15\xf9\xce\xe8\xea\xc2\x60\x06\xb8\x5e\x66\x2b\x4b\xc3\x91\xab\x33\x52\xf2\xa3\xd3\x6c\xd7\x08\xd2\x1f\xee\x4d\xfd\x9c\x4b\x2c\xd8\xe5\xdb\x4c\x98\xa9\x5c\x35\x10\x11\x16\x4e\x96\xca\x07\x27\xad\xc6\x27\xa8\xd5\x85\xcc\x43\x91\x49\x79\xdd\xd8\x89\x4e\xae\x20\x2e\x94\x64\x12\x76\x85\x46\x45\x85\x9f\x63\x70\x6c\x7b\x3e\xf4\x2d\x5a\xc5\x0b\x02\xcf\x9f\xef\xbe\x2e\x9b\x62\xaa\xfb\x5b\x30\x15\xc0\x00\x23\x6e\xfb\x86\x02\xb0\x80\xcc\x9c\xeb\x18\x36\x8a\xf3\x4f\x79\xa0\x98\x53\x24\xb6\xba\xb1\x8b\x78\x34\x7b\x8f\x82\xde\x5b\x70\x34\x56\x45\x76\x19\x8d\x46\xae\xbe\x1a\x04\xb6\x74\x9a\x3d\x77\x03\xce\xe2\xde\x0f\x1e\xb8\x58\xd8\x29\x20\x64\x15\xb7\xeb\x82\x6c\xda\x5d\x07\x02\xa3\x12\xae\x03\x81\x5d\x86\xb1\x41\x79\xcb\x35\xc0\x2f\x98\xa7\x11\x5e\xd1\x0b\x9e\xae\xe7\x43\xdb\x4c\x1f\xff\xd8\x2f\x6f\xde\x7e\x9b\xde\x6e\xc6\x78\x1b\x96\x3f\xc6\x1c\x6b\x2c\x6e\xe4\xdb\x5d\x91\x34\xcb\xe5\x95\x01\x06\xf7\x84\x44\x44\x0a\xc5\x71\xbe\xbe\x8e\x96\x4d\x95\xba\x16\x63\xf7\xc1\x51\x06\x43\x35\xad\x9e\x01\xc3\x33\x42\xb3\x80\x0d\x9c\x46\x42\x53\x0f\x0e\x8e\xf8\x05\x29\x6a\x48\x4c\x8b\x6b\x80\xc1\x8e\xad\xfd\x40\x47\x90\x33\xfa\xf0\xde\x2f\x7a\xa3\x93\x4c\x73\xc2\x88\x88\x24\x57\xff\xb1\x71\xc2\xc7\xb8\x8c\x83\x19\xc2\x53\xec\x15\xb8\x1e\xb8\xb7\x3d\xb3\xd6\xf1\x26\x98\x25\x8e\x7b\x33\x9e\x1e\x5c\x33\xae\x8d\x71\x2e\xcd\xd5\x2e\x4f\xa0\x16\x46\x3d\x99\x75\x75\xce\x96\xd3\xcf\xa5\x69\xb9\xa9\x58\x54\x2a\x39\x5a\x1d\x59\x5f\x5d\x71\x79\x91\xe7\x5a\x5f\xe5\x39\xa9\x58\x96\x8f\xa6\xec\xfa\xc6\x1c\x53\xd2\xcc\x46\xd2\xa4\x7f\x05\xa0\x33\xe2\xc6\x8d\x90\x48\x0c\xc0\x69\xad\xd5\x95\x29\x0f\xc8\x2e\x79\x06\x12\x49\x55\x0c\x9b\x87\x2b\x29\x2a\x98\xaf\x61\x41\x6a\x22\x17\x7c\xca\x47\x09\xae\x86\x01\x56\x81\xab\x58\x1a\x88\xc4\x3d\xa4\xba\x26\xf8\xb9\x2b\x5e\x89\x35\xd4\x8e\x6d\x2c\xa2\x65\xc0\x38\xcd\xce\xf8\x6e\xd0\x4c\xd1\xf7\xab\x6b\xa0\xfd\x33\xe0\x0a\xbc\xab\x75\x81\xf6\x00\xfa\xa5\x55\xc3\xd8\x86\x6f\x3b\x44\xc7\x70\x01\xf7\xee\x34\x4c\x82\xdc\x4d\x84\x39\x13\x23\x18\xd2\xfa\x02\xf3\x07\x71\xd3\x9d\x1d\x7b\xcb\x55\x4c\xea\xb9\x43\x7d\x41\xe2\x25\x99\x70\x4e\x4f\xa8\xf5\xf7\xff\xfb\x6e\x7f\xf7\xe9\x8f\xad\x1c\xbd\x8d\x8e\xd0\xd9\xc5\xcc\xcf\x81\x7d\x88\xf5\x69\x6c\x8a\x13\xa6\x00\x0a\x93\x8f\xd4\x91\x98\xe5\xbb\x43\x79\x11\x9f\xe0\x52\x4c\x11\x6e\x87\x30\x77\xfc\xe9\xfa\x55\x64\x08\x55\xb7\xe4\xf9\x4f\x21\x58\x0c\x1c\xf6\x01\xe9\x30\x89\x8e\xe7\xbc\x35\xc1\x1b\xe3\x4e\x7f\x02\x3b\x43\xdf\xf5\x07\x21\x2e\xa4\x97\xb6\xf8\x1b\x33\xba\x45\xd3\xc2\x27\xe9\x15\xe9\x9a\x19\x4d\x42\xa3\x9e\x86\x54\x46\xd6\xc9\xf4\x70\xb7\x75\xa4\x6f\x33\x4f\x4e\xb0\x95\xb1\xd9\x84\x76\xa1\xc0\x92\x39\x1d\x62\xe6\x1b\x7b\xe0\xd3\x90\x6c\x99\x71\x9f\x5b\x67\x9d\xd6\x6a\x4e\x11\x09\x06\x99\xf5\xcd\xb5\xae\x53\x5a\x33\xc5\x4c\x2e\x66\x65\x15\x63\xb0\xcd\xa5\xef\x2f\x07\x86\xde\x3d\x0f\x19\x5a\x24\x85\xe3\x14\x16\x6a\xcd\x51\x01\x2a\x34\xe2\x2d\xb7\x50\xa1\x11\xd8\xd4\x8a\x14\xd1\x93\x9a\xd6\xdf\x44\x9a\x2b\x3d\x0b\x15\xba\x9c\xa0\x42\x47\xb5\x6e\xd9\x82\x63\x08\xe5\x5a\x9d\x43\x6c\x4f\xb9\xd5\x30\x19\xbe\x7d\xbe\x38\x15\xb6\x29\x3c\x8f\xa7\x42\x3d\xad\xb5\x9d\x64\x2c\x64\xf9\xcf\x63\x1e\xba\x6e\x28\x28\xf2\x13\xc9\x58\x29\x9c\xe0\x51\x2f\xbd\x54\x3c\x0f\x58\x9e\x98\xf9\x87\xf0\xf9\x64\x12\xca\x1d\xae\x2b\x4c\xff\x9d\x06\x17\x2c\xc9\xaf\xf7\x5f\xde\xfc\xb9\x99\x01\x1f\x6e\xf1\x29\x01\xc5\xa8\x5f\xc9\xe1\xba\x8e\x6f\xbd\x3c\xce\xc7\x13\x4d\x90\xa2\x9a\x80\x6c\x29\x31\xd4\xc3\xca\x2c\x72\x89\x57\x44\x59\x45\x10\x59\x2f\x4d\x19\x2d\x23\x2d\xd8\x94\x9b\xa6\xf0\xa0\xe8\x68\x69\xa4\x95\x69\x2c\x62\x0b\x81\x2d\x56\x7d\x41\x73\x9a\x90\x2f\x1f\x61\x3e\x41\x21\x10\xbb\x49\x94\x01\x60\xc5\x10\x19\xde\xd7\x40\x64\x33\xa8\xb5\xdd\x80\x5e\x53\x20\x36\x69\x02\x69\x02\x85\x23\xb0\x77\xcb\x74\xaa\xe1\xa0\x20\xf9\x05\xb0\xa2\x3d\x2a\xf4\x89\x18\xdb\x0c\xbf\x5a\x48\x8b\x1c\x50\x50\x85\x46\x06\x4e\xe6\xb6\x02\x4a\x9c\x66\x9c\x7b\x4b\x39\x97\x3f\x0e\xc0\xc6\x00\xf8\x4b\x07\x62\xa9\x57\xc2\x8e\x95\x26\x61\x31\xbd\x5b\x75\xf5\x11\x91\x07\x89\x0d\xbb\x4a\x87\xd6\x37\x4e\x90\xe5\x91\x2f\xe2\x89\x27\xec\x9e\xf5\x08\x64\x87\x29\x95\xba\x06\xc8\xa2\xd5\x0a\x2a\xf9\x67\x30\xdc\xb3\x25\xb8\xd4\x94\x22\x35\x69\xad\x14\xd2\xe3\x44\xb3\x0a\x33\x14\xd6\x8c\x70\x82\x2f\x41\x07\x13\xe5\x7b\x96\xa2\x85\x01\xc6\x1e\x18\x9b\xe5\x3e\x44\x12\xed\x53\xd6\xdf\x5a\x1d\xfc\x8b\x29\x54\x76\x37\x38\x54\x6e\x23\x4e\xdd\x2f\xfb\x87\xaf\xef\x1e\x3e\x6f\x34\xaa\x0f\xdb\xe2\xed\x13\xc8\x5f\x11\xb3\x1a\x7e\xfc\x29\x96\x42\x59\x64\x96\x70\x59\xd8\x66\xab\x3f\x4e\x57\x5f\xc3\xc1\xc7\x9e\x8f\x7d\x16\xe9\xa4\xcf\xe2\x28\xd5\xe3\xe3\x5f\xa3\xcf\x22\x8d\x7e\x3a\x50\x94\x1d\x1e\x69\x51\x72\x69\x1a\x10\x37\xc1\x71\x66\x94\x52\x3c\xb6\xea\x67\x45\x00\x02\xed\x7c\x15\x71\x99\xaa\x4b\x32\xc7\x90\x56\x81\xd8\xc9\x49\xe4\xf4\x24\x9e\x7a\x1a\x66\x3d\x09\xbf\x82\xdc\x24\xc0\x99\x40\xed\xe0\x53\x58\x0b\x34\x7a\xd2\xfa\x0c\x46\xb4\x3c\xe3\xb3\x22\x72\x22\xeb\x4a\x43\xaa\xa4\x88\x06\x70\x4e\xb5\x63\x62\xcf\x1a\xe6\x3d\x06\x7f\x8f\x47\xeb\xcf\x33\x22\xb2\x45\x53\x6b\xd2\x0a\xb6\xc5\xf0\x2b\x5f\xa4\x98\xd2\x0e\x31\xfa\x2a\xec\x86\x99\x77\x0b\x3a\xce\x60\x72\xe3\x33\x9b\x2f\x23\xe7\xb3\xd2\x69\x9b\xf8\x59\x56\x89\x34\x07\xa7\x42\xec\x06\x6a\xe4\xcd\xa9\xfb\xed\xe3\x72\x89\x7a\xee\xc3\x96\x85\xe3\x11\xe8\x00\x65\xbe\x44\x3d\xc7\xb2\x40\x29\xb3\xe1\x00\x43\xe0\x75\x4d\x75\xcc\xcd\x15\xb1\xbe\x8a\xa3\xdc\x0e\x3a\x61\x3b\x3b\xfd\x7b\xd1\x9f\xf7\x25\x8d\x5d\xe3\xe4\x26\x83\xa3\x51\x71\x85\xcf\x09\xe1\x9e\xc1\x07\x77\xe4\xc4\xeb\xd2\xf3\xb6\x54\x3a\x6b\x56\xaf\x3c\x1c\x8d\xf3\xa5\x80\x75\x02\x0f\x2a\x69\xd4\x20\xe2\x87\xdd\x62\xa7\xde\x0e\x97\xdc\x4f\xd3\xa5\x18\xe6\x87\x5b\x29\x69\x1d\xfa\x92\xd6\xf8\x21\x3a\x84\x10\x52\xd6\x1a\xc9\x30\x50\x24\x2d\x55\x16\x5f\x9c\x9e\xa9\x34\x9c\x34\xa0\xd7\xb2\xca\x2f\x04\x79\xf0\xaf\xf3\xea\x9f\xb3\xb5\x08\x28\xf6\xca\x6d\x00\xb7\x1a\x60\x83\x37\xc4\x06\x1f\xdb\x7e\xb0\xa3\x3d\x13\x02\x01\x39\x82\x46\x82\xaa\x90\x0f\x9a\x16\x97\xb1\x6f\x74\x72\xad\x2d\x4d\xe6\xaa\x68\x6a\x55\x53\x01\x81\xe1\x90\x83\xe3\x50\x16\xf0\xfe\xb3\xbe\x7e\x66\x70\x4d\x31\xd2\x7f\x63\xa8\x7a\xea\xec\x1b\x72\xbd\x9b\x8b\x7d\x33\xf0\xcb\xd9\x78\x6b\x31\x22\xa2\x38\xb1\xcf\xd4\xd5\x25\x16\x91\xde\x97\x9b\x59\xd6\x1e\xf7\x9f\x8d\x05\x8d\x54\x05\x2d\x01\xf0\x93\xd2\x22\xf5\x5f\xe8\xf9\x4d\xab\xe5\x45\x16\xd0\x93\xce\xab\x77\x0f\x1f\x3e\xdc\x6f\x97\xd2\x36\x7b\xe9\x44\xd3\x2e\x65\x50\x82\x19\x3e\xec\x0a\x0f\x9b\x8b\x71\xa0\xb4\x24\xb3\xb1\x21\x79\xee\x54\x39\xf9\xfe\x1a\xd8\x1f\x5a\x01\x76\x6d\xc0\x50\x9c\x17\xae\x94\xb9\x7d\x7f\x4d\x2d\x97\x67\x52\x92\x59\x6b\x6e\xac\x1d\x38\x42\x2f\x2e\xf6\x1a\x4f\x2b\x77\x76\xa3\x74\x0d\x51\x4b\xcc\xf4\x1f\xdb\x78\x3f\x3c\x3c\x6c\xd5\xda\x6d\x7e\xca\x71\xc7\x85\xe4\x4a\x95\x81\xe4\x8f\xfd\x92\xae\xec\x97\xb5\xf6\x6b\xeb\x03\x11\xdd\xed\x8c\x3f\xc8\x25\x10\xd4\xe1\x82\xa0\x3e\xe8\x03\x6f\xf9\xbd\x57\xdc\xf5\xc7\x64\x9b\xa7\xdb\xbd\xa1\xaa\xbf\xec\x3e\xbb\x1f\xbb\xd1\x90\xc4\xc9\x88\x40\xc3\x4b\x7b\x24\xd3\x05\xa3\xff\xdc\x3f\xd2\x42\x30\x0a\xa6\x9e\x1c\x73\xc1\xe6\xd7\xd3\x9e\xf3\x8b\x8b\x55\x3e\x7c\x9c\xee\xdf\x2c\xf7\xff\x7b\x31\x6d\xe9\x43\x59\x53\xc4\x53\xc1\xee\x52\x2e\x7a\xa7\x8f\xb5\x99\x2f\x43\x7e\xd7\xde\x79\x0c\x76\x3f\xe2\x7e\x67\xc8\xef\x23\xb0\x90\x82\xe8\x65\xb5\xec\xd5\x83\xa4\xe4\x31\xcc\x2e\xd1\xe4\x23\x45\x17\xb5\x86\x19\x55\xc3\x48\x01\xb3\xf1\x50\xd2\x8a\xc0\xe9\x89\x48\x06\x48\x01\x28\xc7\x02\x3a\xda\xef\x3b\x18\x75\xba\x12\xcf\xa0\x49\x11\x81\x78\x36\xe2\xa9\x46\x3b\xb6\x80\xa7\xdf\x5f\x93\x68\xf3\x28\x8c\xfd\xe9\x9b\x5d\x68\xa2\xdd\x5f\xe6\xc5\x8b\xee\xbf\x7b\xf6\x03\x6e\xee\xec\xdf\x3e\x4e\xef\x3f\x7e\xfa\x63\x33\xad\xb6\xf5\xb2\xe7\x46\x34\xfc\x1d\x6b\x00\xe8\x8a\xbf\xb4\xdc\x5a\x21\x23\xf6\xb4\x75\x20\x96\xf4\x04\x0e\x71\x6a\xe1\xb7\x3c\x7c\x07\x41\xfb\xbb\x9e\x3e\xe6\xf9\x6f\x7a\x75\x30\xdd\xfc\xb6\x61\x37\x46\xa4\xdf\x38\xec\xbf\xab\xe7\x31\xec\xbd\xf3\xef\x1c\xf6\xdf\x36\xe5\x91\xf8\xf1\xdb\xa6\xbc\x0c\xfb\xef\xea\x79\xa3\xa1\x48\xed\x77\x8e\xfb\x6f\x9b\xf3\x88\x30\xff\xb6\x39\xaf\xe8\x83\xbf\xa9\xeb\x8d\x52\xec\xb7\xbd\x3c\xf2\x5c\x7e\xef\xcb\xff\xc6\x69\x2f\x6f\x8f\xac\x9a\xd8\xd2\x01\x4a\xa6\x37\x8f\x8d\x1c\x03\x48\x92\xaf\xde\x1a\x08\xac\x57\x23\xb8\xcc\xe9\x91\xe5\x51\xd2\x55\xb0\x14\x18\xb7\x97\xc0\x52\xf4\xa2\xc7\x60\x29\xe0\x5b\x7a\x99\x59\xb1\x7f\xf8\xfa\xf9\xe3\xb2\xad\x33\xfc\xb0\xcd\xe3\xfc\xaf\xea\xf7\x5f\xd5\xef\xbf\xaa\xdf\xef\x92\x86\xbf\xef\xdd\x7f\xa7\xf6\xf5\x7b\x15\x90\xc7\x1b\x01\x40\x71\x38\x97\xe1\x28\xbc\xc8\xa4\x99\xda\x95\x84\x6c\xbb\x14\x77\xf9\xf9\x2d\x04\x1b\x74\xc8\xe5\x26\x9d\xe0\xa6\x57\x36\x99\x2b\x03\x12\x4d\xd9\x14\x4f\x6e\xb2\x7b\xc9\x5d\x6e\x53\x12\x96\x6b\x29\x0d\x87\x0e\xef\x8d\xb4\xe2\x47\x2e\x1f\xfb\x28\xf0\xa2\xb0\xf9\xbd\x78\x1f\xe5\x0b\x09\xe2\xd2\xfb\xbb\x03\x03\xee\xfc\x91\xcb\x4b\x06\xf7\x52\x1c\x86\x9b\x26\xd7\xbf\x70\xf3\xbd\xfb\xf3\xed\xb7\xe9\xee\xd3\xbb\xad\x57\x7d\x9b\x06\x7f\xf4\xaa\x9f\xa0\x62\xff\x85\x65\x9d\x57\x50\xb3\x13\x98\x8a\x37\xb0\xd9\x55\x13\x63\xae\xe0\x66\xff\x92\x66\xee\xae\x94\x9f\x22\xc6\x10\xae\x71\x31\xc8\x7e\x65\x0b\xed\x31\x31\x06\x92\xba\x2e\xe0\xea\x33\xa7\xe1\xd7\x7d\x36\xea\x3e\xb6\x45\xbe\x98\x13\x84\x84\x9f\x33\x40\x7e\x69\x90\x26\xfa\x3c\xc6\xe9\x07\x86\x5e\x4c\x96\xa3\xbd\xbb\x3a\x9f\x6f\x84\x44\x7e\x16\xf4\x1b\xde\xee\xdb\x24\xf7\x27\xce\xf5\xe8\x72\x5b\x22\xbb\x4c\x8f\xd1\xb9\x49\xb1\xb9\x07\x32\xb7\x4a\x88\xc7\x0a\x2b\xe5\x17\xa3\xfb\xfd\x79\xff\xfe\x9f\x1f\xb7\x0e\xf0\x5b\x39\xf2\xc8\x44\x48\x54\xfe\x13\xa6\xc8\xcd\xe8\x74\x2e\x67\x81\xe5\xc8\xbb\x97\x85\xa7\x23\x9c\xf0\xf6\x84\x63\x78\xba\x35\x0b\x4f\x97\xf0\x03\xe1\xe9\x12\x9e\x1d\x9e\x8e\xac\x0f\x8a\x7c\x16\x9e\x7e\x56\x74\xfa\xc3\xc7\x3f\xf6\xcb\xfd\x97\x37\xff\xdf\xfd\x76\x72\x6c\x93\xeb\x4f\x62\x94\xb2\xe6\xc0\xfb\x4b\x9a\x35\xc4\xad\x81\x46\xdd\x6b\x8e\x26\x4f\x32\x68\xce\x97\x24\xdb\xa0\x71\x4d\x44\x20\x9f\x1e\xa7\x2e\x02\xd2\x7d\x40\xf6\x1f\x8f\xec\xb7\xbd\x6e\xb3\x05\x19\x03\xa2\x09\x94\x64\x94\xc2\x4a\xec\x00\x89\x9a\xf6\xfa\x54\x06\x98\x5e\xe7\x7d\x64\x39\x15\x5c\xc7\x7a\x92\xa6\x09\x4c\x76\x68\xc8\xa4\xa2\x57\xe8\x05\x13\x2e\xdd\xf7\x32\xad\x77\x94\x11\xc3\x83\xc6\x63\xe5\x9b\x7d\x2f\xbb\x17\x34\xbd\xf4\xe9\xf8\xce\x69\xb2\xce\xb0\x0c\x56\xd6\xdc\x7b\x6e\x8e\x03\xc2\x67\x4b\x43\x82\xf8\x13\x89\x04\x5b\x22\xdc\x0f\xdb\xe4\xec\x63\xe1\x97\x4c\xfa\x92\x82\xb2\x41\x43\x89\x52\xd6\x73\x9f\xa3\xbb\xb8\x57\x58\x52\x04\x50\x06\xbb\x55\xea\xa9\x05\x2f\xfd\x24\x4d\xd6\x6f\x40\x6f\xa7\xc9\x08\xd7\xd2\xa9\x44\x72\x4d\xbe\x24\x27\xef\xcc\x08\x49\xa7\x16\xc6\x61\x2f\x38\x54\xb4\xde\x92\xa4\x47\x0e\xbe\x85\xdb\x00\xd5\xfb\x8b\xb0\xd4\x1f\xde\xff\xe3\x54\x5e\x49\xbb\x57\x48\xc8\xb3\xec\xa9\xc7\x32\xfa\x24\x91\x0a\x9a\x98\x8a\x84\x55\xe0\x3e\xff\xda\x23\xe4\xe6\x59\x80\x56\x3a\x73\x9d\x2f\x6b\x80\x55\x1e\x04\xd1\x73\xc4\x1b\x7d\xfa\xaa\xc7\x10\xd2\xbb\x7f\x07\x0c\xe9\x0f\xe1\xc3\x56\x41\xbb\x3f\x1b\xac\x5c\xcb\x91\xa8\xf8\x51\x87\x47\x0e\x3f\x32\x18\x18\x48\xe4\xeb\x5f\xfe\xfd\x48\xa6\x7c\xde\xed\xf2\xb8\x17\x8d\x09\x46\xf2\x54\x79\xfd\xb7\x1e\xac\xf7\x0f\xdf\xde\x4e\xf7\x6f\xee\x3e\xfd\x31\xdd\x5f\x42\x9f\xa5\xb0\x4d\x0c\x3e\x56\x5a\x15\xae\x8e\x8e\x95\x56\x5a\x7f\x38\x29\x6b\x69\xb0\xfc\xef\xb5\x26\xd1\xa0\xf5\x27\x9f\x4a\x71\xa9\x94\x95\x6e\x9e\x02\x50\xb4\xe5\xdf\x69\xfc\xa6\x3f\xe1\x82\x45\x2f\x9f\xec\xae\xa7\x54\xfd\x8a\xdd\xa4\xf5\x1a\x90\xb9\x3d\x4e\xe3\xe0\xfc\xc4\xef\xaf\x29\x10\xfd\xaa\xc6\xee\xfe\xea\xd6\x3e\x7b\xc8\x2e\x81\xee\x52\xd8\xe6\x99\x1e\xc7\x2c\xf7\x8c\xfd\xfb\x51\x37\x24\x60\x5a\xda\x8b\x5e\xea\x88\x1c\x9c\x75\xd3\xe3\x31\x93\x77\x90\x77\xf1\x76\x70\xf1\x24\xbd\xfc\x42\x47\xad\x0f\x7e\x34\x5e\xbd\xf6\x5f\xdb\xce\xdd\x5f\xd3\xd0\x67\x0f\xd5\x06\x39\x95\xc2\x36\xaf\x92\xf2\xaa\x85\x87\x9a\xdd\xd0\x7f\x9f\x3f\x5f\xcf\xde\xd1\x8f\x97\x7c\xd9\x80\xde\x98\xd6\xd7\x46\x0b\xad\xd5\x7a\xa1\x9f\x6a\xed\xee\x6f\x69\xee\xb3\xc7\xec\x02\x62\x2f\x85\x6d\xfe\xe6\xa3\x51\xb3\x1a\xdc\x17\x4d\xdb\x5b\x42\xf1\xea\x94\x3c\x13\x23\x26\x45\x9e\x23\x88\x6c\xbc\x28\xe4\x97\xaf\xaf\x9b\x02\xf1\xd7\xb7\xf4\xa6\x3f\xe8\xfa\xae\xb5\x49\xb3\x3c\xc1\x4c\xe7\xea\x7a\xdf\x8c\xd0\x13\x22\x79\xf9\x0d\xbb\xdb\x33\x5e\xfe\xb2\xfc\xdf\x64\x3d\x9e\x80\xae\xff\x7b\x88\xff\xa7\xdf\xfc\x82\x38\xdd\x82\x43\x3d\x5a\x98\xc7\x52\xb3\x7f\x6d\x71\xfa\xf4\xdb\x5f\x14\x4c\xdb\xf4\xb3\x47\xef\xaf\xf9\x95\xff\xca\x82\xe9\xa6\x64\xbe\xff\xfa\xcf\xe5\x61\x3b\xec\xdb\xd0\xeb\x89\xbb\x02\xc0\x08\x29\x99\x0b\xe7\x6a\xc5\x6a\x09\xe1\xb6\xcb\xbe\xc5\x9b\x55\x8a\x72\xfd\xcd\x3a\x44\xab\x82\xbe\x49\x27\x9a\x81\xb4\xe0\xa3\x11\x8f\xc3\x73\x8b\xba\xac\x45\xfe\x4e\x5a\x54\x75\xd1\xc3\x09\xf2\x92\x13\x2f\xe4\xce\xdc\x90\xea\xa4\xa3\xe2\x52\x92\x5b\xd5\x20\x77\xaa\xcd\xd0\x1e\x5e\x46\x5c\x2a\xaf\xf8\x62\x9e\x80\xe9\xee\xf3\xa5\x21\xbb\xe5\xaf\x4f\x04\xd8\xdc\x6b\x48\xea\x21\x5d\x6c\x9d\xb4\xfa\x52\xeb\x0e\x5e\xaf\xb8\x86\xd9\x1e\x5a\xb3\xac\x21\xd8\x6d\x76\xf2\xb5\x61\x0e\xed\x1a\x49\x83\x35\xec\xea\x04\x93\x2b\x6f\x4c\xb0\xef\xbb\xd7\x54\x41\x45\xca\xf0\x42\x59\x88\x27\x05\x6d\x74\x69\xd6\x66\xe4\x1d\x63\xb2\x1e\x7b\x87\x1b\x7a\xa7\x34\xc4\x87\xd4\x87\x08\x70\x86\x14\x5c\x2f\x27\xd5\x1e\x8b\x56\x89\xe0\x0e\xe0\xcd\x0e\x06\x44\x56\x16\xfd\x80\xf7\xf1\x49\xf6\xea\xed\x7e\xb3\xf5\x26\x1f\x05\xcf\x31\xfc\xf2\x53\x65\x6d\x81\x13\xa0\xb0\xcc\x1c\xbe\xd2\xcd\x2d\x3e\x51\x79\x7e\xc4\x05\xb9\x34\xbe\x72\xf9\xd5\x55\x7c\xcc\xb1\xb9\xbd\x8a\x1b\xfc\xc8\x2f\x5a\x5b\xf2\xdc\x17\x2f\xad\x3f\x1f\xde\x7e\x9c\xee\xdf\x7c\xde\x3f\x6c\x78\xfb\x29\x6c\x5c\xb8\xb5\x8c\x6c\x94\x04\x14\x39\x40\x19\x03\x43\xe3\x55\x76\x4a\x50\x07\x74\x3d\x8e\xeb\xa1\x67\x23\xc4\x7b\x35\x38\xec\x4e\x0e\x4f\xce\x38\x5e\xb7\xde\xec\xfb\xeb\x52\x15\xba\xec\xf6\xb2\x50\xd2\xa5\x1b\xe3\x75\x7b\x3d\x22\xbf\xfc\xca\x78\xa5\x86\xee\x2c\xbb\xd3\x02\xa9\xdb\x53\xff\xac\x30\xaa\x96\xb5\xec\xcc\x4a\x4c\x2f\x15\x3b\xe0\x05\x2e\x14\x3b\x0c\xc0\xda\x0d\x0a\xd9\x05\x54\xb0\xdb\x65\x44\x1f\xbf\xbc\x9b\xee\xdf\xbc\x9d\xee\x3e\x3d\x26\x03\xa6\xf0\xee\x1f\x27\xb0\x46\x44\x0d\x01\x16\xc5\xb6\xaa\xd1\xf9\x1a\x17\x3f\xc8\x96\x51\x47\x2d\x5f\x2f\xe3\x73\xfd\x65\x9c\x2b\x9f\xf6\xbd\x7c\x5d\xa3\x93\xd3\xfc\xf8\x1c\xdf\x7b\x3d\xef\xfb\x8f\x31\xba\x8e\x63\x1c\x9e\xf2\x77\xfa\x23\xad\xe7\xf3\x09\x3e\x77\x3f\xc4\xf0\x39\x7f\x7b\x58\xae\xd8\x0d\x5b\x4c\x8c\xa3\x5b\x5d\x3a\x39\xcb\x2e\x6e\x11\x42\xab\xd1\xf2\x6b\x91\x96\xcf\x0a\x19\x35\xfb\xa6\x10\xaf\x5a\xa0\x65\x85\x5c\x63\x29\x80\x0b\x76\x45\xf0\x3f\x05\xf9\x3f\x03\xff\x5f\xd1\xfb\xf7\xe5\x12\x1d\xef\xa9\x47\x73\xa3\x0e\xdc\x2c\x2c\x5f\x73\x31\xce\x0a\xc9\x11\x3d\x5b\xcb\xca\x4e\x2b\x46\x77\x1a\x18\xf8\x7f\xf0\xcd\x9f\x9e\x43\x97\xcd\xaf\x2d\x9a\xc6\xf9\x24\x52\xda\xb7\x21\xda\x42\x32\x72\x0e\x7f\xc6\xe9\xa0\x64\x0e\x83\xd3\xc1\x9f\x91\x3a\xe0\x7c\x7d\xd9\xcb\x59\x1a\xdb\xd8\x71\x49\x27\xe0\x12\x8a\x2d\x81\x7a\x62\xd6\xf0\xa4\x66\xdd\x2c\x9a\x83\x63\xb1\xda\x8b\x43\xa9\x33\xe0\x71\x99\xf1\x5e\xbe\xbe\xd8\x87\x83\xbb\x8a\xca\xee\xff\x95\x57\xbe\x59\x62\xfd\xf9\xe3\xa7\x4f\x9b\x70\x1e\xd1\x2d\xfa\x21\x80\xdb\x2a\x7f\xf2\x9a\x1a\x72\xa1\x1e\xfe\x42\xd9\x2d\x72\x49\x2e\x54\xb0\x2f\x17\x4b\xed\x4d\xcb\x1a\x58\x5b\x57\x1f\xb5\x3c\xbb\x52\xfe\xda\x73\x22\xaf\xc4\x90\xd7\x1f\xb3\xfb\xf9\xe7\x50\x66\x5e\xbb\x6e\xb3\x7b\xbf\xb4\xee\xff\xda\x53\x72\x96\xcd\x37\x5e\x55\x09\x97\x47\x6a\xe0\x72\xa6\xfc\x2d\x8f\x75\xbe\x9d\xd6\x64\x3f\xd9\x3f\xbf\xa0\x7b\x00\xa0\xa1\xf8\x7e\x17\x65\xfa\xf2\x68\x29\x2c\xb7\xb1\x05\x5e\x53\xa1\x63\x57\x00\x9a\xb2\x8c\xda\x69\xcb\x5a\x00\x00\x7a\x8f\x96\x63\x61\x84\x55\x0b\xbe\xb7\x52\x70\x4b\xb4\xb0\x2f\x16\x3b\xab\xbc\x3c\xc3\x41\x35\xa7\xcd\x4a\xa3\x9f\x22\xa4\xff\xb5\xea\xcb\x0f\x69\x2f\x5f\xee\x3f\x4f\x8f\x39\x5d\x89\x6e\x41\x34\xc0\x09\x62\x65\xc0\x84\xae\xe3\x2a\x02\x14\xe0\xf1\x8a\x5b\x8a\x56\x24\x63\x03\xf1\x51\x59\x40\x3c\xb3\x01\x8b\x9e\x62\xa7\x2a\x10\xfd\x60\x0d\x01\x07\x45\x9e\x41\x7b\xf4\x4a\xa9\xe2\x17\x36\x7b\x60\xce\xc0\xec\x71\x04\x62\x60\xf0\x51\x00\xde\x14\x19\x55\x09\x70\xe8\x00\xe7\x96\xb9\xa7\x0c\xb0\x60\xa1\x52\x7e\x00\x8a\xd1\xb0\x0e\x08\x1c\xff\x38\x02\xc3\x76\xd1\x1c\xa4\x91\xd4\x70\x15\x92\x68\x37\x89\x7a\xee\xd4\xc6\xd8\x72\x5e\x8e\xdf\xae\x72\x5e\xe2\x09\xd0\x0e\x2a\x8c\x8c\x06\x94\xfe\x10\x67\x20\xbe\x2b\x35\xbb\x8f\xf1\xb6\x95\xf6\xc7\xc7\x65\xff\xed\xed\x85\x22\x64\xa2\x6d\x1c\xe1\x3c\x85\xe3\x04\x66\x58\x6b\xe0\x1b\x2b\x99\x3e\xd0\x7a\xf1\x4d\x4c\x76\x24\x07\x29\x02\xc7\x17\xe7\x36\xe3\x11\x6a\xbc\xe8\xd7\xe3\xac\xf5\x3a\xbb\xd1\xb8\xb3\xe1\x8b\xfe\xdd\xcf\x4c\xfa\x9e\x30\xd2\x00\xff\xd3\x1d\x07\x99\x87\xad\x3a\x51\x27\x93\x41\x41\x81\x0c\x62\x06\x68\x39\xc0\x74\x33\x84\xe5\x82\x03\x80\x7d\x67\x06\x26\x8a\x9c\x09\xbc\x7a\x32\xc6\xab\xea\x7c\x4b\x8b\xdc\xd7\xb3\x6a\x1f\xad\x29\xd8\x77\x8e\x27\x48\x43\xa0\xbe\x2b\x61\x21\x28\x06\x58\x8d\x40\xaf\xdc\x53\x69\x33\xd8\xd9\xe4\xef\x8a\xdf\xf5\x67\x66\x57\xc2\x80\x9d\x8a\xec\x70\x3f\x53\x77\x92\x65\x86\x84\x6a\xa0\x02\x91\xc0\x13\xe5\x2b\x16\x9b\x41\x18\xc9\x0e\x91\xc8\xf9\x56\x76\x32\xb5\xe1\xea\xd1\x59\xae\x88\x3c\x60\xfb\xa9\x46\xc8\x54\xf5\x7d\x12\x3b\x5c\x86\x65\x64\xab\x03\xbd\x8c\x15\x5b\x01\xf9\xb1\x00\x41\x4b\xd6\x58\x43\x82\x1b\x08\xf3\x0c\x3a\xd4\x45\xe5\x6f\x07\x5d\x59\x71\x11\x14\x1a\xd5\x35\x56\x6e\x89\xaa\xb9\x06\xc5\x65\x72\x4c\x6d\xa6\xd0\xc0\x4f\x66\xa4\x32\x0b\xb5\x0e\x86\x40\x90\x02\x55\x17\x33\xa0\xe9\xa3\xfc\xd5\x00\x70\x16\x34\xc9\x29\xc8\x2c\x70\xd2\xfb\xc4\x84\xab\x62\x9f\x41\x55\x17\x64\xd1\xc9\x60\x36\xe4\x47\x00\x8c\xb3\x82\x62\x7b\xc6\x76\x42\xc5\x14\xaa\xf8\x04\xdd\xd7\x87\x87\xe9\xfd\xfd\x97\x37\xef\xa6\x87\xaf\x97\x18\x1d\x89\xb6\x48\x1b\x27\xcc\xad\x22\xfb\x45\x88\xa8\x46\xba\xd5\x06\x51\x8b\x7e\x21\x2d\xbd\x5c\x3e\xfd\x1c\xa3\xdc\xdb\xf9\x48\xea\x33\x8f\xd3\xc6\xea\x00\x1f\xeb\xc8\x02\x1c\xf8\x5a\x36\x7f\x90\xfa\x67\xca\xf2\xe5\xd4\x3f\x5c\x7d\x39\x59\x51\x1f\x78\x21\x59\x31\xec\x2e\x6e\xa2\x62\x17\xed\x4b\xfd\x91\x1c\x42\x1d\x82\x87\xcf\xf7\x9f\x2e\x8e\xc0\x16\x7c\xe3\xd4\x31\xdf\xc8\x95\x20\x3b\x47\xcc\x9a\x99\xb6\xba\x49\xb5\x23\x75\x97\x54\xc1\xaf\x2b\x42\x66\xfa\xe4\xb9\x27\x25\x93\x02\x84\x13\x60\xc1\x00\x30\x0c\xd7\x79\x56\xa1\x9c\x4f\x00\x8a\x9b\x8c\xf4\x52\xc9\xe5\x38\xc9\xb5\x72\x29\x35\x27\x9a\x61\x73\xb1\x6b\x8e\x68\x2d\x6d\x5f\xcb\x09\x9c\xd0\xa3\x01\x46\xc6\xe3\x2f\x98\x0f\xbb\x83\x6f\xd2\x8e\x5c\x5c\xa4\x3c\x27\x6c\x22\xb2\xe0\x94\x79\x46\xa4\x61\xd2\x98\x41\xe8\xd6\x3d\x80\xf1\x4a\xd8\xb5\x83\xbc\x7d\xb6\xb7\x17\x61\x8a\x9d\x88\x8a\xac\x23\xac\xfb\x14\x14\x8d\x6d\xf4\xe4\x0b\x27\xc8\xf5\xf9\x91\x53\xba\xf2\x23\x1c\xce\x9d\xe7\x9c\x80\x7e\xac\x34\xa5\x8b\xc8\xad\x1a\xc0\xec\x87\x34\x51\x02\x27\xc9\xf7\xdd\x6d\x20\xda\xcf\x77\x9f\xde\x5f\x9c\x49\xd7\x68\x5f\x6e\x13\x3a\x4f\x77\x9f\xaf\xc8\x86\x6d\xa4\xec\xc9\xfb\x7d\xfd\xf3\xe3\x05\x6d\xb2\xad\xda\xa4\x28\x04\xa9\x88\x9c\xaf\x06\x6f\x08\x06\x7a\xea\x70\x78\x8a\xec\x4f\x7a\x50\x93\x32\xdc\xa3\x10\xa0\x39\xce\x2e\x29\xa1\x57\x6c\x2e\xd2\xab\x3c\x73\x76\x0d\xdf\x38\x9f\x16\x45\x67\x8b\x0d\xd8\x81\x2d\x18\x3b\x2c\xe9\x1e\xa4\x00\x4f\xe9\x78\x8c\x43\x9c\x82\x33\xe6\x26\x36\x71\x64\x31\x09\x53\x77\x69\x01\xff\x1a\x81\xaa\x05\x0a\x98\x4e\x7e\x4b\x64\x7c\xa9\xa9\xb1\x7b\x91\xad\x21\x3b\xf4\x0f\x3e\xe8\x45\xcf\x49\x61\xd8\x4e\xc0\xc9\x94\x8d\x4c\xe9\xd2\x0c\x55\x5b\xb4\x0b\x0e\x49\xf9\x62\x17\x8f\x1f\x5d\xa6\x71\xe4\x71\x08\xd2\x14\x3d\x61\x00\x70\xcb\x75\xd8\xb9\x92\x02\x56\x8d\xc3\xe5\xe4\x84\x93\xeb\x8e\x77\x5b\x9f\x70\x7c\xea\xb1\x29\xa3\x79\xff\x12\xde\xd4\x1f\x32\x47\x3e\x7c\xb9\x10\x8a\xa6\x7e\xb6\x2e\x62\xa8\x73\x33\xae\x17\xe3\xad\xf5\xeb\x54\x04\xcf\xc3\x82\x44\xee\x06\x2c\xed\x36\x20\x93\x74\x96\xfb\x93\xa9\xed\x4f\xa7\xbc\x3f\x59\x0b\xb2\x92\x60\x09\x8c\xf5\x62\x06\x86\x57\x7f\x51\x83\xed\x6f\x8f\xc3\xda\x9a\x23\x74\x13\x67\x2b\x71\xb1\x95\x39\x56\xea\x58\xbb\x2f\x5f\x20\xbb\x1f\x9d\xb8\xff\xfe\x0b\x64\x77\xb2\x42\xfe\xbb\x40\x8e\x15\x38\xfb\xcd\xf2\xb8\x3b\x2e\x8f\xcc\x5b\x86\xf7\x53\x7f\xf6\xc5\x4a\xbc\xe5\xdc\xcf\x79\xb1\x92\xee\x67\x44\xfb\x5f\x3a\x71\x7f\x78\x85\xfc\x2d\xa2\xfd\xaf\x9b\xb8\xbb\x7f\xb7\x99\xfb\xc7\xdd\x9f\xf7\x9f\x37\x68\xe1\x44\xb7\xea\x83\x5a\xc4\x7c\x36\x8f\xfc\x85\x0a\xb1\x2b\x55\x65\x5a\x5b\x72\xb9\x3a\xec\x46\x65\x99\x85\x82\xb6\x05\x62\xd7\xca\xca\xe4\x82\x47\xb5\x63\xc8\xb9\xd8\x94\x94\xd9\x7c\x7b\x3e\xc1\xe9\xee\x87\x19\x41\x41\x8d\x94\xc2\x5f\x4d\x3c\xda\x0d\x91\x4d\x3a\x11\x5e\x3d\x90\x53\x14\x5e\xe4\x1f\xfc\x39\xa3\x6e\x4a\xbe\x8d\x00\x05\xdd\x7b\x16\x43\x86\xd4\xfa\x68\xfa\xbd\x55\x61\x28\x5f\x83\x01\x9c\xef\x16\x3f\x20\xcf\x1f\x41\x9f\x03\xf6\x4e\x4f\x1e\x4f\x59\xc6\x83\x6f\x4e\xbe\x7f\xde\xff\xdf\x25\xfe\x5f\xa2\x6d\xe5\xd3\x71\xf6\x81\xff\xb7\x1c\x2b\xa4\xcb\xf8\x5f\x89\xbf\xd6\xb8\x3f\x15\xab\xe0\x2e\xfa\xdf\xfe\x24\x4f\xc6\x53\xf9\xfe\x3a\x13\xbb\xc2\xe9\xd2\x8d\xb4\x8e\xf1\xea\x9d\x50\x85\x78\x7a\x2b\x69\x53\x6b\xe1\xe7\xdb\xa4\xf3\xf1\xd2\xdb\xed\xf6\xbe\x95\x9b\xad\x92\x9f\xcf\x6e\x56\x4b\xbb\xf6\x82\x2f\x6b\x15\x76\x99\x5f\xf2\x7a\x81\xd3\x0f\x35\x69\xb7\xb9\x55\xeb\xe5\x17\xb5\x09\xdc\x07\xbf\xa2\x9b\x94\x2d\xf9\x57\x4c\x4d\xdd\x6f\xf5\xed\x76\xbf\x60\x46\xfd\x9a\x8e\x42\x59\xb9\xdc\x69\xe4\xd8\x3e\x7f\xc5\x10\xf1\x81\x53\xb8\x79\xfb\xda\x51\x40\x78\x68\x5a\x19\x5a\x12\xca\xef\x76\x7b\x39\x1c\x19\x96\x81\xd3\x5a\x94\x77\x5d\x11\xd1\xcb\x6f\xc5\xfe\xac\x8e\xf0\x72\xe8\x14\x4f\xbc\x81\x57\x7e\xdb\x56\x9a\xee\xfe\xb8\xe8\x8f\xd8\xa6\x9d\x9c\x44\x6f\xd4\xa3\x4c\x87\x02\x36\xd1\xd2\x95\xf0\x38\x86\x22\x07\xb3\x6f\xea\xe3\x49\xd9\x21\xf9\x2d\x04\x07\x26\xdb\x96\x5c\x55\x2d\xa7\x36\x70\x05\xcf\x9e\x2a\xde\x39\x05\x30\xe9\xd7\x83\xcf\xbd\xcf\x2c\x4a\x24\x45\x97\xc0\xda\x17\xe7\x9c\xa5\xdf\xb5\x94\x0c\x7b\x09\x0c\xab\xa5\xc2\x5c\x5b\x9a\xba\xf2\xfb\xab\x3c\x21\x20\x94\xe6\x04\x8e\x62\x8d\xee\x30\xcf\xc4\x20\x8c\xeb\xd1\x75\xd6\x40\xef\x40\x9a\x00\xd5\x02\xfa\xa9\xa4\xc5\x2b\x8f\x5c\x2a\xb2\x85\x97\x73\xf2\x1d\x03\xec\xdc\x59\x36\xc7\x63\xbc\x4e\x9c\xaf\xe4\x7d\x4e\x6f\x93\x8a\xf1\xe6\x95\xf4\xf2\x90\xb7\xce\x2c\x24\x64\x94\x88\x76\x76\x6d\x2b\x18\x4a\x8d\x39\xbd\x3a\xdf\x65\xcf\x6b\xe6\x6e\x8b\x05\x85\xbf\x65\xf6\xad\x0d\x0f\x5b\xcc\x13\x28\xfd\xd2\xec\x65\xa9\xcb\x2b\x74\x90\x1e\x74\x72\x2c\x8a\x3b\x28\xf4\x67\xb8\xc0\xf1\x46\xd0\xcd\x92\x7a\x85\x54\x4d\xe3\x1d\xe2\x6b\xd2\x0d\xb8\x7e\xac\x9a\xc8\xae\x81\xab\x81\x94\xaa\x21\x97\x43\x45\x54\x3b\x66\x17\xc9\x65\x40\xd2\x33\x39\x50\x0c\x27\x45\x4d\x4e\x2e\xcb\x66\xcc\xc3\x74\xa6\x0c\x18\x7e\x52\x42\xa1\x00\x26\xa1\x05\x9f\xad\xcc\x6a\xed\x82\xee\x59\xce\x61\x6c\xd7\x60\x00\xe3\x99\x01\x3a\x1b\xc9\x51\x9d\xe5\xdf\xe2\x64\x1f\x67\x39\xf6\x2c\xa7\x39\x9f\x9f\x31\xed\xdf\xed\xef\xdf\xfd\xf3\xfe\xcb\xfd\x76\x43\xdf\xa6\xcb\x9c\x70\x88\xcb\xdb\x46\x85\x22\xd0\x8c\x1e\x74\x7f\x03\x90\x7e\x3d\x78\x6a\x79\xe6\x90\x5d\x2f\x4e\x93\x78\xc3\x77\x5c\xd3\x73\x3a\x50\x07\xd5\x22\x2b\x02\x38\x2e\x61\x99\x6f\xad\xcf\x4c\xc0\x61\xb6\x6b\xda\xf7\xe3\x22\x43\x12\x1d\x2b\x2d\xc8\x78\x52\x25\x00\x1e\xc8\xdb\x22\x30\xe1\x28\xcf\x3e\x3b\x44\xff\x1c\x55\xe3\x60\xc3\x01\x8a\xa2\x07\x2b\x1b\x29\xd7\x19\x5c\x19\xa2\xcf\x17\x0b\xd9\xc4\xec\xd4\x05\x22\x2a\x79\x5d\x8f\x64\x55\x24\x27\x73\x80\x75\x9d\xca\x18\x1d\x3c\xb3\xa8\xa7\xb3\x4e\x1b\x52\x9f\x07\x8b\x95\x57\x35\x8a\x36\x13\x48\x91\x64\xda\x52\x96\xd7\x6b\x73\xd2\x98\x6d\x47\xc0\xf5\xd1\x92\xd4\x00\x03\xb5\x83\xf4\xc3\x05\x71\x92\x10\xdf\xad\xcd\x35\x51\xa1\x0b\x22\x3b\x3e\x81\xb2\xde\xf5\xf0\x73\x4b\xfa\xc6\x8a\xde\xfd\xa7\x2e\xe9\xeb\x2b\x7a\xf7\x6f\xbc\xa4\x97\xfb\x2f\x7f\x7e\xfc\xb4\xc1\xc1\x23\xde\x26\x32\x1d\xa3\x6e\xb9\x65\x97\xf3\xbf\x5e\xb5\xd1\xa8\xed\x1a\x8b\xa3\x5c\xc7\x90\xd6\x82\xed\xa7\x21\xa4\x51\x95\xbd\x22\x53\xef\x96\x67\x90\xb5\x3d\xbc\xdf\x84\x17\x78\x5b\xc8\x7b\x82\x6b\x44\xd5\x51\xac\xff\x92\xe5\xd6\x27\x3d\xca\x41\x4c\xc9\x90\x26\x1f\xc1\xf7\xc4\xdd\x58\xbb\xc1\xbb\xaf\x39\x80\xc7\x34\x73\x44\xf8\xc4\x72\x54\x7a\xf0\xa4\xbf\x9a\x24\x45\x5e\x49\x7a\x95\x77\x93\xdc\x0a\x77\x02\x39\x23\x29\x4d\xf8\x48\x40\x97\x7b\xc0\xd4\xac\x60\x89\x4c\xc6\xea\x80\x7b\xa8\xf4\xd4\x10\x5b\x2b\xff\xe2\xd3\xf1\xc9\x2c\xa0\x37\x77\xd3\x76\x05\x3e\x45\xd6\x92\x72\x3a\xf8\xaa\x41\x69\x56\xd9\x98\xbb\x92\xb1\x67\xf5\xd1\x67\xe4\x04\x0c\x97\xe3\xf3\xb2\x68\xb8\x8b\xd8\xa8\xb2\x0c\x66\x6c\x45\xd5\xe9\x9d\x0f\xbe\x74\xe9\x9e\x8a\x90\xfe\xec\xed\x06\xe7\x35\x1f\xdf\xcf\x72\x94\x72\x53\xf9\x4c\x31\xaa\x4f\x4c\xf3\x25\xe0\xd3\x97\x19\x94\x17\xcb\x1e\x15\x79\x3f\x29\xc1\x67\x40\x04\xe0\x34\x51\x09\x72\xb6\x3b\xda\x69\x50\x01\x83\x1a\xd3\x9c\xa2\x4b\x01\xdd\x5d\x5c\x2e\x19\x92\x1d\x69\x25\x15\xa9\xc9\x04\x73\x81\x8b\xec\x27\x59\xe1\xe3\x32\xfd\x7d\x7d\xc5\x85\xe7\x44\x84\xb7\xc8\x88\xa6\x32\xcd\xd8\xa4\x45\x79\xc7\x41\x0e\xfd\x09\x02\xaa\xbb\x2f\x6f\xf6\x77\xd3\x87\x37\xf7\x7f\x7e\x5e\x36\x99\x62\x7c\x2b\xed\x88\xa8\x15\x97\x6b\x9f\x38\x57\xc7\x39\x4c\x3e\xe6\xe2\x32\x4f\x88\x1d\xcb\x9f\xc1\x01\x83\x27\x77\x17\x99\xc5\x6e\x8c\x53\xc6\xc6\x33\x45\x6c\xa5\xa5\x4d\xbe\xc8\x2e\x96\x27\x4f\xec\x0a\x6c\xc3\xd8\x5c\x03\x91\x41\x41\x70\x3e\x4d\xad\xc8\x7b\x84\x39\xeb\xb6\x58\x94\x98\xc6\x78\x61\x9b\xda\x2a\x6a\xaa\x38\xe2\xc9\xa7\x24\x92\xb5\xe8\x81\xe7\x58\x66\x5d\xa1\x3c\x32\x95\x86\xca\x14\x93\x23\xa8\x56\x05\x99\x30\xf2\x9c\x1c\xa4\xd9\xb2\x7d\xe7\x34\x2b\x5c\x10\xa6\x42\x16\x79\x91\x13\xe2\xed\xbb\x29\x07\x76\x35\x4e\xcc\xd9\xa5\x2c\x2a\xa5\x4b\x24\x76\x54\xa2\x99\x45\x1d\x90\xe7\x26\xc2\xef\x3e\xe5\x8c\xf3\x7d\x8d\x73\x12\x2b\xc9\xe5\xa4\x61\xf7\x05\xe9\x08\x72\xe7\xdb\x45\x71\x0f\xef\xee\x96\x8f\x0f\x9f\xde\xdc\x7d\xf9\xf2\xf0\x3f\x9b\x01\xda\x26\xae\x9c\xb0\x84\xa5\x40\xa2\xb1\xd6\xc9\x17\x7d\x75\xf0\xb9\xd4\xa1\xdf\xc8\xa7\xe8\xa6\x50\x60\x1c\x83\x06\x2f\x1b\xab\x09\x1b\x8d\x97\xa8\x4f\xfd\x55\x3e\xe4\x5a\x2c\xb1\x81\xd5\x97\x07\x49\x1b\xd7\x0a\x1d\xf0\x0a\x26\x97\x78\x91\x09\x1b\xa6\x41\x40\x2d\x52\xb5\x3a\xee\xae\xce\x98\xfa\x1a\x76\x40\xa4\x9f\xb4\xff\x47\x6f\x94\x61\x2c\xde\xde\xf9\xbe\x6c\x2b\x04\x79\x9b\x3b\x72\xa2\x47\x60\x72\x96\x7d\xee\xf9\x90\x7b\x56\x6f\x5d\x0c\x34\xa1\xb8\xb9\xe7\xbd\x97\x5f\x3c\x7e\xc2\x8e\x8e\x74\xc1\xa3\x3f\xf8\xd1\x9e\xfe\x08\x69\xec\xd1\xaf\xe7\xae\xe7\xb1\xe3\x03\x7f\xaa\x5d\xd4\x66\x5b\xd9\x80\x9d\xad\x8a\xee\x86\xdf\x75\x7f\x86\xa6\x76\xfc\xfa\xd4\x1f\x3d\x98\x2d\x76\x0a\xa4\xd6\x32\x4d\x9c\x8a\xe3\x54\x65\xdf\x50\x0e\x5c\xf5\x6e\xcf\x88\x2d\x98\xbf\x7b\x30\xd9\x32\x28\x96\x45\x2d\x6f\x99\xce\x40\xd2\xc6\x8d\x9f\xd4\x4b\xde\x7c\x78\xf8\xb2\xa9\x3e\xe2\x6d\x52\xc6\x11\x65\x84\x5b\x73\x17\x73\x63\x96\x47\x09\x31\xcb\x55\x3a\x43\xa3\x0f\x63\xec\x09\x3f\x73\x9b\xce\x0a\x7a\xf9\x93\xb7\x51\x9e\x16\x2b\xfd\x03\xb3\xa4\x58\x4c\x70\xb1\x54\x64\x2e\xbe\xca\xb2\xd5\xc8\x85\xd2\xe1\x0c\xc6\x4e\xb1\x1c\xaa\x26\x9e\x73\x88\x60\xae\x56\x4f\x3a\x16\x6f\x81\x62\x52\x69\xf1\x49\x19\x8f\x42\x90\x2d\x40\x7d\x2a\xd9\x8d\xdb\x2e\xe3\x49\xcf\xcd\xd3\xd6\xca\x33\x2e\x0e\xcd\xab\x01\x29\xb5\x87\x86\xa4\xa4\x04\xfa\x49\xfb\x4e\x76\x3a\x67\x77\x7e\x8a\x3a\xee\xfa\x6b\x1f\x7c\xea\x75\x37\xe7\x84\x0a\x8c\x9c\x5c\xae\xb3\x98\x26\x15\x59\x4d\x9a\x2f\x89\xdd\x35\xd2\x22\x1b\x87\xfc\x8d\x0d\x3c\x13\x3a\x57\xfe\x16\xa9\xd1\x49\x24\xff\x8f\xb7\xf0\x36\xf1\xe9\xa7\xe9\xe3\xb6\x84\x8e\xb7\x99\x40\x47\x39\x93\x62\x77\x5c\x44\xc3\x90\x07\xa0\x26\x59\xb6\xe6\xbe\x06\xa1\xc0\xd0\x2c\x3a\x46\xb0\x60\x16\xc8\x71\xe5\x6c\x30\xd3\x3c\xb9\x38\xbf\xbf\x2e\xa1\xa9\x74\x1a\x90\xb0\x8f\xe4\xcf\x72\x2a\x3e\x0c\xba\xf6\x44\x4e\x2c\xa7\xab\x58\xa1\xbe\x53\xbb\x2c\xc7\x22\x5f\xb0\x5c\x96\xa3\xc4\x41\x7e\xe0\x46\x32\xbc\xa6\x92\xda\xc8\x0a\x46\x86\x6e\x53\x5c\xa9\xc9\x13\x0a\x16\x92\x18\xcc\x32\xb1\xe3\x98\xe1\x71\x65\x70\xe5\x90\x5c\xcb\x93\x8f\x51\x8c\x67\xd1\x94\x08\x49\xba\x49\xcc\xdd\x89\x63\x77\xd4\x26\xd6\x7a\xc4\x34\xb3\xa6\x82\x62\xe9\x89\x49\x2f\x8b\xaf\xbc\xca\x93\x3c\x47\x1e\xc3\xb2\x18\x81\xa3\x58\x4f\x57\xf2\x04\x1a\x45\xae\x79\xa2\xe6\x38\x76\xb1\x9b\xe5\x41\x32\x64\x89\xa7\x88\x5c\xd2\x58\xe6\x96\xc4\x2c\x76\xf2\xc1\x20\x10\x0a\x62\xf9\x86\x94\x26\xcf\x50\xc2\xda\x6e\x42\x69\xa3\xb4\xc5\xeb\x93\x54\x48\xcc\xa2\xf7\x8d\x4c\xbe\x7a\xfa\xe2\x86\xe5\xa7\xc2\xa3\x9e\xa5\x79\x4e\x20\x77\xe4\x9a\x26\x4b\x53\x0c\xb3\x57\x8b\x5e\xd6\x68\x62\xe9\x95\xe2\xa4\x61\xbe\x25\x27\xfa\x50\x4b\x4e\x33\x94\xa5\x9b\x1b\x90\xbe\xd6\x77\x6f\xd1\xb5\x28\xdf\xb8\x16\x67\xed\x5d\x44\xa4\x5b\x9e\xa4\x73\xbd\xf4\x2e\x23\xad\x16\xfc\xac\xb9\xac\xa6\xec\xc5\x59\xb5\x99\x0d\xbb\x4b\xd3\xe1\xd2\x6c\x90\xb6\x51\x0e\xbf\x68\xc2\x52\x66\xb1\x61\xc5\x06\xfb\xcb\x96\xd8\xed\x22\xbe\xfb\xaf\xa2\x88\x6d\xa4\xc2\x16\x52\xe2\xb8\xb5\xd5\x90\x1c\x37\x11\xd4\x9a\x8b\x82\x18\x05\x1f\x77\x11\xd0\x9c\xa5\xb5\xca\x18\xf4\x8a\x8b\x9c\xc1\xed\x24\xcc\xc1\xb6\xb3\x10\xef\xe5\x4b\x52\x7e\x68\xb9\x7a\xd1\x9b\x61\xc3\x41\x68\x0d\x82\x37\xad\xd6\x72\x20\xa5\x2d\x56\xef\x7e\xce\xaa\x70\x2e\x3e\xc3\x05\x96\xa0\xbf\x0d\x26\x3b\x24\xd0\xa3\x2b\x0b\xd4\xb2\x82\x84\x03\x1c\x61\xba\x92\x01\x11\x47\xad\xcb\x6e\xfa\x90\xd1\x7e\xad\xf4\x80\x71\x8d\x9c\x37\xad\x13\x89\xf5\x55\x3e\x00\x5a\xa2\x45\x57\xc4\x36\x47\xe2\x43\x12\xc3\x56\x54\xf7\xdc\x1d\x57\x59\x67\xb9\x2c\xb2\x89\x15\x23\x0d\x86\x5f\x0f\xc9\x8f\x41\x5a\x10\x79\xf6\x45\x15\xd5\x20\x0b\xa4\x63\x7d\xc0\xa6\x22\x50\x34\x52\x56\x43\x0b\xce\x39\x38\x7e\x51\x8c\x82\x26\xb9\x36\x81\x7e\x96\x58\x4f\x82\xfd\x0c\x1d\x37\x83\x20\x98\xdb\x4c\x25\x38\x86\x7b\x43\xb6\xa5\x62\xa5\x7a\xe8\x18\x5a\x10\xd1\x6e\x62\x9f\x6b\x35\x8c\x6c\x48\x64\x25\x49\x37\x67\xcc\x1b\xae\x7d\x33\x5b\x36\x68\x16\x27\x60\x43\x29\x18\xa4\xe6\xf5\x9a\xd5\xc7\xe0\x1d\x4f\x14\x35\x2a\xac\xe7\x4b\x0a\x21\x63\xbb\x5c\x47\x2b\x06\xc0\xc5\x12\x5b\xd5\xa8\x0d\x59\xf9\x1a\xf1\xf7\x5e\x97\xeb\xa5\x46\x74\x60\x31\x3f\x6a\xc5\x0f\x90\xf8\xdd\xff\xef\xbb\xe9\xee\xcf\xbb\x8b\x4b\x74\x83\x39\x71\x82\x71\x44\x8a\x3d\x30\x94\xfa\x97\xb4\x5d\x2f\x79\x5e\xd3\x5f\xe7\xa4\xbd\x04\x2f\xb1\xaf\xa5\x01\x15\x57\x1e\xc7\xf0\x4f\xe8\x03\x5f\x5d\x7a\xe4\x2b\x7d\x28\xce\x4b\xea\x66\xb6\xeb\xe5\xd9\x15\xdf\x2e\x09\x51\x84\x7e\x02\x37\xa9\x6c\xa4\x7d\x51\xaf\xfb\x13\xdd\xf7\xf5\xdb\xe7\xfb\x2f\x5f\xdf\x7d\xf9\xf8\x79\x13\x71\xe4\xb7\x23\x03\xad\xf5\xea\xa8\xd4\x83\xa7\x52\x65\xe1\x37\xb5\xee\x59\x8c\x7e\x16\xeb\x6f\xf6\xcd\xc1\x35\xee\x98\xf6\x3e\x2a\xf0\x2f\x3c\x75\xce\x43\x04\x29\xea\xe4\x22\x5f\x16\x98\xee\x41\x79\x57\x61\x2b\xcb\xfe\x97\xb1\xae\x83\xf4\x40\x3b\xc8\x63\x14\x96\x57\x6c\x48\x9a\x40\xb9\xcf\x95\xf7\x9e\x62\x3d\x50\x69\x7b\xae\x65\xa2\x08\xdf\x47\x9b\x45\x70\x60\x0f\x4a\x3c\x37\xf8\x73\xb0\xcd\xed\xe3\x1c\x1d\xfe\x60\x9a\xc4\x68\xe7\x09\xa5\x39\xdc\xf6\x9c\xf1\x32\xc0\xfb\xcd\x13\x02\xa1\x9e\x4b\x9d\xb0\x61\x72\x2f\x7b\x0a\xfd\xfb\xee\x35\xe5\x98\x5c\x13\xb3\x88\x83\xd8\xc1\x94\x26\x2f\x9b\xff\x2c\xcf\x13\x05\xdd\x25\x30\xbe\xab\x52\x4b\x75\x29\xd9\xb5\x02\x68\x4d\x57\xf0\x6f\x46\xa2\x7b\x76\x39\x89\x82\x0e\x6b\x07\x7a\xbe\x28\xf5\x85\x55\x41\x36\x8f\xe5\xec\x33\x34\x22\xf5\x82\x29\x2e\xbc\xbc\x08\x94\x13\xe9\xf1\x90\x5d\x07\xb6\x77\xac\xae\x44\x57\xb0\xe5\x83\x1b\xbb\xb9\x92\x67\x22\x48\xaf\xda\x4c\xd8\x2b\x63\x7a\x53\x8b\x00\x3b\x67\x5a\xd3\xc6\x0a\x8f\xbd\xa1\x69\xd5\x84\x96\xd8\x89\x5a\x80\xa4\x6d\x2d\xb6\x1c\x0e\x17\xcc\xd3\x12\xf7\x1c\xf9\x00\x4a\xe5\xa7\x28\xa2\xdf\x5e\x99\x50\xef\xfe\x3b\xa1\x60\x8d\x84\xd3\x09\x95\x30\xa1\x22\xe4\x46\xfc\xdd\x13\x2a\x3c\x77\x42\x95\x62\x9c\xfe\x9e\xd4\x9b\xa6\xba\xf3\xe2\x3b\xec\x55\x6d\x8a\x18\xb9\x25\x2e\x50\x30\x6a\xdc\x3d\x77\x02\xbd\xe1\x16\x37\x73\x67\x9b\xfe\x70\x92\x50\x08\x66\xad\x06\x45\x1e\x3b\x5f\x15\x9d\x5f\xd5\xfa\x96\xf6\x15\xa6\x79\x0f\x5d\xd4\x66\x2b\x37\x49\xce\xec\xea\x93\x19\x9e\x5f\xe5\xc9\x2b\x3d\x49\xe0\xa4\xd5\x78\x62\x66\xcb\x37\x49\xef\x8a\x2f\xcd\xa4\x75\x0c\x3f\x30\xea\xec\x32\xfa\x9b\xb2\x13\x4d\x1b\x21\x5b\x02\x23\xb5\x55\x2f\x4f\x4a\x2d\xc2\x69\x8e\xcd\x25\xd1\xb9\x5d\x42\xbb\x66\xdc\x4e\x6d\x7c\xdc\x0e\x77\xf3\x72\xbb\x9b\x5d\xf4\xf9\xdb\xf7\xef\xd3\xfd\x9b\xcf\x1f\xef\x37\x4c\x17\xc4\xb7\xb0\x25\x34\x88\xad\xd5\xd7\x4d\xec\x2c\x1d\xc3\x88\x8a\x40\x85\xee\x59\x4b\x2a\x2b\x2a\x08\x11\x7c\x16\x93\xbc\x19\xe6\x8f\x1c\x54\xc2\x0f\xb3\xd7\x49\xa2\x8c\xf5\xa4\x5b\xa9\xd8\x6c\x05\xca\xd9\x02\x7f\x1f\x89\x1a\xb1\x3a\x10\x45\x5b\x9b\xe1\xc4\x15\x6d\xbc\xea\x0c\x82\xd3\xd1\x74\x57\x28\xa7\xbd\xc1\x6d\x5e\xb4\xb4\x33\x44\x2d\x1a\x16\xab\xb0\x29\xc4\x59\xac\xba\x03\x56\x5a\x62\x53\x70\x22\xf9\xb4\x5d\x4f\x5a\x3e\x07\x57\x3b\xb4\x62\xbc\x98\xa8\xa6\x31\x63\x77\x84\x39\x05\xbb\x24\xea\x36\x8b\xf7\x53\x1d\x0f\x06\x5a\x44\x2d\x52\x8b\x4b\x8c\x1a\xb8\x96\xbb\x6b\xe7\x44\xbc\x93\x48\xc9\xd9\x10\xa4\xa1\x26\x76\xad\xe9\xd1\x9c\x00\xf3\xb0\x76\xd5\x8d\x93\xac\x46\x31\x4f\x58\x8d\x56\x97\x4c\xbf\x16\x29\x15\x1d\x8b\x6c\x93\x8e\x71\x34\x7b\x55\x5d\x1d\x29\x36\x10\x3b\xaf\xdd\xec\x44\xdc\x2d\xd2\x67\x79\x61\xb2\xbf\x67\xa4\x48\x72\x72\xf2\x04\xbf\xe2\x93\x50\x75\x31\xcf\x49\x26\x98\x4b\xc5\xb5\x0e\x35\x0b\x59\x95\x2e\x63\xc2\xe2\x4d\x72\xb4\x03\xbc\x9c\xfc\xd8\xa2\xa8\xeb\xec\xb2\x2c\x13\xad\x34\x4b\x4e\x7a\x67\x20\x58\x24\x9d\x2d\x0b\xec\x0c\x36\xa4\xb9\x34\x0a\xb6\x15\x8b\x0e\x6b\x26\x77\xfb\xb4\xdc\x22\x5d\x68\xd8\x86\x2a\xd4\xfc\x16\x47\x82\xb1\x0c\xeb\x5c\x12\x00\x38\xc4\x6a\x5c\xa8\x44\x47\xf5\xe0\x59\xd5\x24\xa7\x82\xde\x26\xa1\x16\x16\x6b\x10\x10\x7e\x20\x54\xf6\x59\x37\x48\x4f\x9b\xf3\xcb\x86\x61\x07\x27\x19\x3a\x41\x3e\x66\xcc\xc0\x1c\x34\xfd\x22\x47\x87\xd0\x91\xbc\xbf\x1e\x35\x19\x76\x2b\xe4\x55\x03\x28\xf7\xc5\x54\xb3\xf4\x04\xce\xd6\xc7\x77\x5f\x1e\x2e\xa2\x6c\xc5\x6d\xb0\xfb\x04\x70\x11\x69\x7a\xf1\x44\xf5\x47\x4d\x98\xca\x80\xa8\x30\xdf\xb1\xe8\x0a\x6d\x62\x52\x79\x8a\x7c\x45\xd3\x5c\x7e\xa8\x2e\x80\x73\x39\x90\x98\x59\x4c\xd5\x31\x8a\x26\xa1\x4f\x8e\x5a\x41\x58\x61\xd2\x90\x8b\x56\xc3\xe3\x5a\xf8\x91\x69\xdd\xb2\x23\x2b\xb2\x21\xac\x4c\x2a\xba\xb4\x09\x15\x61\xf8\x0b\x7f\x2c\x7a\x1a\xbe\x79\xc6\x13\x8c\xa2\x09\x69\x1b\x96\xa5\x4c\x91\x9d\xef\xc8\x2f\x2b\x8b\x7a\x54\x7b\xd2\x03\xf9\x54\x8e\xf0\x83\x9e\xbc\x21\x0d\x5f\xc6\xf9\x76\x83\x67\x8e\xf1\x9b\x87\x0f\x1f\x36\xe3\xbc\x0d\xc3\x1f\x23\x32\x5c\xc9\x65\xa8\x1d\xc0\x37\x08\x34\x8b\x24\xc3\x02\x48\xec\x98\xd2\x4b\x7a\x37\xab\x74\x22\x8a\xdf\x5f\x53\x94\xae\x26\x04\x97\x61\xb6\x16\x3a\x8e\xc2\xa5\x9e\x99\x7d\x36\x7b\xba\x23\x14\xd9\xe1\xa8\x9d\x45\x45\xc8\xe4\x38\x40\xe9\x9b\x65\x00\x83\xfb\xf1\x71\x42\x1b\x76\xbf\x77\x42\x13\x67\x40\xca\x71\xcc\xae\xd1\xe4\x39\xc3\x61\x9e\xae\x06\xf0\x1b\xbb\xc6\x17\x63\xf3\xc4\x11\x9b\x48\xba\x14\x9f\x17\xa5\xb9\xf1\x79\x74\x7e\x77\x92\xdb\x10\x82\xb4\x83\x91\xb2\x40\xa2\x18\xd1\xb5\xd9\x38\xd2\xb7\x14\x97\x5f\xb6\x32\x5b\x36\xf9\x76\x16\xfc\xd7\xfd\xc7\xfb\x69\x93\x32\x17\xb7\x31\x7e\x6e\x6b\x65\x75\x68\x8a\x53\x56\x52\x00\xbf\xda\x41\xe6\x53\x05\x49\x40\x89\x8e\x29\x3a\xf9\x53\xfa\x4e\x54\x59\xf9\x8c\x20\x9d\x01\x8d\x06\x6c\x7e\x51\x5e\x02\xdc\xa5\xba\x8f\x68\x70\x7c\x81\x93\x97\x72\x58\x00\xaf\x60\x7e\x13\x4f\x5c\x56\xdb\x03\x75\xaf\xba\x59\xb4\x7e\x2c\xd4\x4b\x9a\x76\x11\x14\x4d\xa4\xa8\x89\x5c\xe0\xda\xd7\x2c\xe3\xea\xf4\x1c\x0e\x76\xa1\x55\xfb\x31\xb9\x7a\xf2\x10\x7d\x06\x35\xdb\xc4\x3c\xa4\x7a\xd8\xd9\x6e\x87\x46\x1e\xb4\xed\xbf\x80\x39\xe9\xdd\xdd\x74\xff\xe9\xfd\xdd\x97\xcb\x61\xf4\x78\x33\x8c\xae\x9e\xbc\xb6\x17\x39\x61\xec\xfc\x38\x84\xf2\x69\xde\x95\xd0\x9a\xb1\xa6\x3d\xae\x85\x29\x57\x88\x92\xf4\xec\xc7\x15\x2d\xe5\x02\x31\x16\x86\xf2\xaf\x7c\x00\x40\xbd\x56\xd6\xa3\xdd\x35\x78\x44\x79\xe9\xcb\xf8\x88\x9a\x41\xf8\x08\x1f\x71\x65\xd6\xdb\x20\x64\x96\x74\x05\xdd\xb5\x2b\xbf\xec\xcb\xaf\x12\x49\xf7\x42\x2c\xc6\x0f\x1f\xbf\xdc\xbf\xb9\xff\xdf\xe5\xe3\xa7\x3f\xbe\x7d\xfc\xba\xdf\xc2\x78\xc5\x5b\xa1\xfb\xe1\x52\xfb\x59\x24\x54\x70\xf8\x01\x4d\x78\xb8\xe0\x87\x03\x5a\xab\x60\xab\x1a\xcb\x70\x64\xc8\xa7\xa3\x49\xa4\x80\xeb\xea\x5b\x67\xe0\x25\x10\x2d\xbe\x3a\x0e\x83\x64\x31\xf0\x4c\xa4\xae\x62\x6a\xba\xe4\x89\x0c\xb8\x85\x43\x04\x49\xcf\x4b\xfd\x97\x2d\x28\xae\x4b\x28\xb0\x5e\x1d\x21\x7d\x93\x8a\x12\x07\x41\xef\x20\xda\x7b\x11\xe8\xca\x29\x44\xb4\x82\x8e\x76\x32\x8d\x1c\xc6\x68\x51\x03\x21\xe8\x77\xaa\xbd\xa8\xcf\x63\x9b\xfb\x60\x5e\xf7\xee\x2a\x92\x42\xe0\xdd\xc6\xfe\x56\x97\x08\xc1\x32\x8b\x1c\x71\x04\x32\x95\xa2\x89\xa3\xb8\x67\x91\xdb\xd7\xb0\xb4\xec\x4a\x5d\xe0\xcb\x46\x06\x10\xd2\x87\x12\xab\xdb\xf9\xd2\x34\x7b\x8c\xe0\x85\xd5\x00\x5b\x48\x79\xb0\x62\xc0\x96\x40\x4e\x3a\x7c\x41\xe7\x4f\x36\x20\xd1\xc9\xb7\x34\x5b\x06\xa7\x8c\x9a\xf2\x02\xea\x78\xde\xce\x00\x7b\x78\xf7\xcf\x2d\x16\x6f\xbc\x95\x38\xa1\x64\x65\xbf\x20\x14\x8e\xe5\x1f\x15\x46\x9e\x01\x94\xa3\x99\xaf\x51\xb3\xa7\xb2\xa2\x48\x49\x8f\xce\xb0\x44\xdb\x00\xf1\xa1\x5a\x34\x61\x2b\xd6\x8e\x60\xf9\xa8\x13\xe1\x32\x69\xb2\x35\x32\x27\x2a\x0a\xc5\x81\x7a\xbd\x3a\xfd\xa3\xeb\x46\x2c\xa5\x2e\xff\xe4\x7c\x73\x91\x27\x78\x7b\xe4\xae\x8d\x1c\x43\x1b\xa8\x62\xb5\x65\x80\x5b\x69\x2c\x89\x76\xa7\xc1\xae\xe3\x5d\x2a\x52\xb4\xb2\x8b\x1d\x3c\x5d\xb1\xa9\x16\xa0\x1e\x9a\x32\xc5\xda\x1d\x87\x59\xd4\x52\x4a\x8e\x6a\x01\x66\x03\xb5\x06\x64\x9b\x98\x9b\xe3\xdc\x96\x14\xc9\x55\x32\x11\xa9\x1e\x82\x85\x0c\xd0\xf6\xb6\xd2\x79\xf7\xbf\xef\xde\x6f\x1c\xdb\xf1\x1a\xd6\x85\xa2\xa6\xa4\xec\x6a\x89\x1a\xfd\xf0\xb5\xc4\xbd\x8f\x31\x4d\x54\x9b\x33\xf0\x62\xc4\xc2\xb3\x6b\x0d\x89\x69\x51\x43\xb3\x31\xee\x3d\x95\x3e\x69\xf9\x6b\xcf\x76\x99\xfc\x85\x3f\xb8\x95\x2b\xbf\x4d\x9e\xc4\x9a\xe2\xba\x27\xae\x65\x16\x25\x57\xd4\x18\xdd\xdc\xb1\x9e\x93\xd9\xf9\x62\x34\x16\x99\xc2\xd1\x69\x9e\x7e\x7b\x95\x17\x8c\xfb\x53\x0e\x8f\x77\xfb\xfb\xc3\x97\x87\x4f\xa0\xf9\xba\x08\xcb\x1a\xeb\x70\x2e\xc2\xd1\x93\x68\x12\x75\x0a\x42\x0b\x59\x76\x26\x4b\x35\xcb\xce\xc7\x50\x5d\x0c\x75\xb2\xcf\x8b\xe7\x8c\xeb\x47\x9a\xde\x99\x18\x9e\x7c\x12\x85\x32\x41\xa1\xbc\x94\xae\x38\xad\xbf\xaf\x29\x7e\x47\x41\xfd\x8b\x2b\xd5\x77\x7f\x63\xc1\xef\xd9\x40\x5c\xc4\x36\x8d\x2b\xe0\x49\x95\xd5\x93\x08\x5d\x61\x3d\xb1\xe9\xe5\xf1\xdb\x95\x5e\x96\x41\xf0\x63\x14\x2e\xf4\xb2\x0c\xa0\x8c\xa6\x0e\xa9\xfc\x73\xed\xcc\xf5\x4e\xff\xc1\xe3\xb1\x25\xbc\x88\x27\x28\x1b\x45\xa4\x58\xbd\xb9\x2e\x9e\x18\x8d\xa7\xe6\xfc\xad\x3e\x9e\x4e\xd7\x9c\xb7\x45\xf7\x9f\x3a\x10\x97\xb8\x37\xe2\x8a\xe8\xd0\x28\x3a\x8e\xf5\xe6\xba\x78\x42\xfa\x9c\xcf\xfb\x31\xed\x7f\x60\x01\xfd\x87\x8a\xa9\xfd\xf2\xe7\x94\x37\x23\xb0\x45\x25\x38\x49\x9b\xa5\x18\x5c\x8f\x7d\xa2\xe2\xa8\xe6\xbd\x6f\x2d\x4d\xa2\xae\xe5\x98\xf6\x85\x40\x5a\x8a\xf0\xd0\xe4\x09\xfe\x12\xd9\xf7\x7a\x71\xf8\x14\x5d\x23\xec\x3d\xd5\x3c\xe1\xac\xda\x26\x2d\x65\x0f\x61\x9f\x0e\x34\xc5\xdc\x5d\xef\xc8\xf2\x4f\x88\xcc\x23\x44\x05\x7a\xe0\x52\xd3\xf7\xd7\xa2\x51\x04\xb5\x05\x27\x4d\xfe\xa3\x14\xdb\xe4\x73\x45\xc2\x34\xcb\x51\x72\xf4\x44\x3d\xfc\xbb\xaf\x5f\x37\x81\x93\xb8\xad\x85\x3f\xea\x0a\x5c\xb3\x3d\x38\x87\x3c\x79\x06\x62\x57\x8c\x71\xf2\x2d\x58\x04\xcb\x97\xde\x9c\x1c\x54\x72\x31\x97\x3d\xf7\x3a\x89\xea\xec\x29\xd5\x29\xc1\xb1\x5c\x68\x4a\x4d\xb4\x21\x9a\x4a\x73\x31\x02\xaa\x21\xb4\x49\x94\x9f\x2e\x4a\x41\xe8\x13\x20\x74\x48\x7f\x78\x82\xbb\xe6\xdd\xfe\x61\x6b\x35\xdd\xaa\x7e\xed\x65\x2d\x37\xfb\x29\xab\xa9\x76\x76\x51\xec\x55\xab\x4f\xc6\x48\x8a\x1e\xaa\x85\x03\x6c\x26\xd4\xb9\xb6\xd9\xa3\x43\x49\x07\x96\x4f\x92\xb9\xa9\xd9\xcd\x3c\x22\x16\x98\xbb\xf0\x78\xdb\x1f\x7a\xac\xa7\xe1\x2c\xdc\xc4\xcb\x5d\xfa\x31\xad\xc9\x4c\x33\x62\x64\x68\x07\x14\x27\x04\x17\xc3\x21\x2a\x8b\xf5\x59\x2a\xb0\x34\x58\xab\xb7\xb0\x4e\x67\xad\xeb\xf2\x30\x77\x26\xd4\xfb\xca\x3f\x73\xa9\x28\xe4\x33\xd5\x4c\xd1\x2d\x95\xa4\xd5\x37\xa5\xf4\xaf\x96\xcc\xfc\xdc\xb4\x11\x80\x75\x94\x38\xfb\xdc\x34\xf4\x15\x81\x3e\x86\xec\x23\x62\x8d\x15\x8a\x71\xa7\xb8\xda\x8b\xa1\x6c\x0f\xd8\x75\x43\x5d\x97\xbe\xae\xa3\x54\x90\x11\x4d\x44\x87\xa0\xb4\x82\x4a\x44\xa6\xf3\x89\x67\x66\xf7\x1c\x94\x77\x64\xd4\x94\x54\x67\x4a\xa2\xa1\x2b\xf3\xac\x6b\xac\x08\x95\x88\x01\xc4\x57\xd6\x39\x14\x34\x95\x09\x94\x3a\x2e\x02\x13\x0d\x7d\xc9\x01\x5d\xfb\xa2\x64\xe8\x6f\x9f\xa6\x87\x77\xff\xbc\x54\xc2\x1d\xb7\x81\xb9\x53\xf2\xa5\x5c\x90\xde\x71\x89\xf5\xd9\xd8\xb8\xcc\x1e\xf3\x65\xb5\xc4\xac\xda\xec\x02\xea\xa0\x5e\xf2\x88\x55\x3a\x0e\x12\xdb\xa3\x8b\xfe\xd4\x43\xaf\xbe\xde\x53\x6f\xfd\x72\xea\xc7\xbf\x05\xa8\xbf\x9d\x30\x36\xf2\xc6\x82\x7e\x64\x45\x7f\x8c\xb9\xbf\x53\x62\xd6\xfa\x44\x6e\xee\xdb\x6f\xd3\xf4\xf5\xfe\xff\x36\x01\x96\x14\x56\x05\x07\xe0\x10\x96\x70\xf7\x1c\x66\xf6\xe5\xe6\xac\x34\x14\x05\x03\x13\x42\x80\xf0\x48\x61\xbc\x9c\x93\x1b\xdb\x22\x3a\xa3\x3a\xd6\x2f\x97\xb3\x3f\xce\xce\x3b\xbd\xc3\xc9\xad\x07\xa2\x84\x6d\xba\x97\x51\x58\x96\xa7\x51\x55\x96\x2d\x96\xca\x7f\xe1\x91\xfe\x6e\x78\xa4\xfb\x69\xfa\xf8\xf9\xeb\xc7\xaf\x6f\xb0\xec\x1f\x3e\x2d\xdb\x72\xd8\x74\x2b\x72\x04\x60\x98\x10\xd6\x14\xbb\x4b\x12\x00\x02\xfb\x82\x04\xd0\x4b\x1e\x49\x00\xf9\x72\x2b\x61\x0c\x0e\xe5\xef\x78\x90\xe2\x89\x3c\xfd\xa4\xdd\x4f\x3f\xea\x59\xe3\x72\xb8\xff\xb2\x7c\x7c\x77\x61\x54\x36\xe1\x93\xd8\xd2\xc9\xa0\x20\x77\xf0\xaf\xee\xab\xbf\x6d\xf4\x81\x71\x10\x89\x7f\xef\xa0\xbc\x89\x61\xa3\xbe\xa6\xf8\x8f\xd3\x8c\xcd\x5c\xfe\x62\x04\xac\x56\xa2\xa8\xd9\x70\x1f\x32\x1c\xb4\x15\x39\x2f\x5a\xcd\x82\x0f\x87\xaf\xe0\x2d\x24\xcd\x3c\xe8\x23\xde\x77\x12\x7c\x75\xa6\x05\x5a\xc2\x06\x85\x99\xb2\x26\x60\x71\x41\x02\x05\x2d\x88\x84\x71\x49\x33\x80\x60\x35\x76\x88\x5d\x82\x9d\x6f\xca\xb8\xbf\x33\xee\x2a\x44\x1c\xbb\xe3\x24\xbb\x43\xaa\xa2\x6b\xcf\x3e\xa3\x90\xc6\xe7\x22\x6a\xb6\x4a\x63\x88\xb0\x12\x44\x48\x8b\x0c\x45\x69\x8c\xc8\x7a\xad\x92\x41\xba\x0d\xf2\xe7\xb5\xe9\x86\x36\x60\xf1\xd0\xed\x2b\x74\x7d\x01\xd8\x31\x33\xe4\x77\x75\x11\x16\x09\xe9\x6e\xa6\xef\x58\x21\xe9\x49\x15\x85\xda\x4e\x5f\x47\xaf\x36\x48\xb5\xf5\x4d\x66\x22\xd7\x9d\x85\x89\xfe\xfd\x08\xd1\x3f\x4f\x77\xff\x07\x33\x7f\x33\x59\xd3\x19\xd9\x56\x0a\x6d\x96\xcd\x2a\xb8\xa7\x77\x91\xe5\xef\xda\xd1\x4c\xad\xc9\x2d\xcf\x51\xe1\xad\xd9\x65\x40\x90\xb8\x9c\x27\x9f\x53\x42\x29\x8f\x8f\x04\x6f\x42\x49\x8e\x50\x12\xeb\x0d\x84\xc2\x67\x40\x1f\x28\xb6\x47\x75\xfa\xcd\x6e\x06\xc0\x34\xfe\x6a\x33\xea\x72\x23\xbb\xdb\x35\xc8\xcb\xc7\x4b\xb1\x89\xb4\x8d\x4d\x9c\xb8\xb6\xad\xbc\x2e\x4d\x51\x33\xfe\x8b\xd8\xc5\xd2\x82\xca\x93\xfc\x29\xda\xec\x77\xb8\x57\x28\xe4\xa9\x50\x73\x85\xda\x65\x07\x70\x61\x51\x96\x00\x10\x0e\x6c\x70\x51\x05\x4d\xa5\x6d\x93\x97\x4b\xe5\x9f\xab\x6e\x47\xd1\xad\xe4\x7a\x04\xb9\x9b\x1a\x26\x0d\x46\x91\xec\x71\x35\xb0\xab\x89\x27\xdf\x83\x98\x5c\xa1\x59\x7a\x58\x75\xab\x88\x5a\xe5\x96\xd8\xfb\xc5\x11\x97\x39\x17\xa7\xff\xa1\x6e\x4f\x3f\x77\xc7\xba\x3d\xab\x64\x9b\x34\xb5\x81\x0b\xee\x69\xb7\x35\x31\x87\xcf\x49\x1e\xda\x43\x99\xf5\x67\x7b\xcc\x2a\xf9\x26\x42\xfd\x04\xe7\x19\x59\xc1\xe3\x7f\xa3\x6e\xf1\xa3\x74\xce\xe7\x51\x42\x37\x11\x94\x7e\x06\x1e\xee\x78\xa6\x8a\xde\x71\xf4\x44\xe2\xcc\xa7\x6f\x5f\xd5\x2d\x76\xc1\x28\x4a\xe5\x1f\xc7\x88\x78\x40\x52\xc2\x65\x2a\xc8\x3d\x70\xbb\x8e\x86\xc6\x89\x55\x7f\x6a\x08\x9e\x19\xf8\x8a\x2c\x68\x96\xe3\x89\xa5\x7f\x26\x73\x7e\xa3\xc8\xd9\x3d\x5b\xe6\x00\x1a\xe9\x0d\xba\x72\xd3\x83\xdb\xfa\xc4\x53\xaf\x56\x66\x57\xe3\x0d\xb8\x12\xe5\xc3\x7c\x1a\xae\x04\xb1\xa3\x6d\xb5\x97\x0c\x9a\x28\x43\x4a\x7e\x6b\xdc\x46\x2b\xb5\x91\x91\x5d\x9e\x72\x5d\x7a\x63\x39\xd2\x28\xbb\x71\xe6\x6a\xbc\xd4\x8f\x80\xa9\x7f\x4c\x78\xa9\x91\x53\xcd\x79\x42\x70\x1b\x83\x37\x08\x77\x1f\x0d\xde\xee\xd1\xe8\xe9\x1b\xde\x1c\x3d\xa3\xfe\xbd\x3a\x7a\x78\xf9\x1f\xde\x30\xa6\xfb\xc3\xfd\x74\xc1\x39\x9f\x6e\xd5\x90\x51\xa0\xe6\x7a\x34\x0e\x03\x59\x69\x19\x9f\xe6\xda\x68\xd7\xc6\x13\xb4\x14\x56\x5c\xd9\x9d\x88\x30\x78\x33\x92\x8b\x79\x22\xa5\x8f\x9d\x35\x89\x5d\x8c\xcf\x7d\xe4\xa0\x59\x40\x27\x8a\x64\x6e\x2e\x02\x17\x0b\xf2\xc3\x95\x36\x45\x0e\x1a\xfa\x04\x29\x42\xea\x8e\x79\x01\xce\x02\xe3\x27\xf0\xfa\x71\xc5\x06\xd1\x9f\xd4\xf3\xb4\x3b\x2e\xb9\xc8\xd3\x96\xf4\xf7\xd8\x21\x11\xf0\x7e\x61\x2f\x2f\x78\x64\xf4\xf4\x83\xd2\x13\x59\x01\xd2\x2f\xf1\xa8\x7b\x6a\x8f\x21\x77\x05\x08\x23\xa3\xa9\x5a\x6f\xc9\x8a\x9f\xc5\x0c\x7c\x71\x66\x3d\x01\xbf\x73\x01\xc2\x51\x77\xa5\xcb\x3b\xc7\xea\xd0\x27\xf0\x77\xa1\xb7\x4e\x8b\x23\xa5\x1f\x27\x3f\xfa\x76\x04\x9e\x93\x8b\x69\xc6\xb6\x23\xc3\x70\x7b\x2f\xd4\xd5\x7d\x51\xa5\x58\x83\x06\xa5\x65\x04\x0d\x0a\x25\x57\xe8\x87\x82\x06\x09\x54\x31\xa5\x4e\x9e\x51\xc4\x40\x3f\x1c\x75\x43\xc7\xe6\x76\x23\x68\xf0\xf3\xe2\x75\xf7\x37\xaa\x74\xf7\xef\x3f\x2e\x97\xfb\x7f\x2d\x82\x4a\x21\xb9\xc4\x6d\x12\x81\xea\x29\xf3\x84\x6c\xa6\xcc\x7b\xd1\x88\x3a\xd0\x30\x0f\x19\xda\x47\x73\x8d\x80\x20\x8c\xda\x44\xf9\x0f\xa4\x1c\xa2\x71\x77\xd2\x6c\x14\x64\xa4\xc8\x64\x54\x5d\x3c\xba\xe8\x62\x98\x18\x98\x61\x24\x0a\x94\xac\xbd\xe0\xe2\xf7\xd7\xa2\x90\x11\xb7\x49\x3e\xb3\x96\x91\x89\x7d\xd5\x54\x55\x93\x7f\x90\x93\xb5\xe7\xd6\xbe\xaf\xd2\x7e\xea\x8c\xd2\x8e\xb5\x1c\x7a\xd8\x6a\x13\x58\x90\x28\xf3\x79\xf9\xf2\x30\xf2\x26\x50\xc9\x00\x02\x6e\x8c\xe1\xee\x77\xef\x91\xcf\x1e\xc3\x37\x91\x78\x33\x7c\xef\xce\xb4\x8b\x12\xda\x21\x5d\x0c\x14\xec\xbd\x7c\xef\x13\x3c\xfb\x40\xab\xe9\x3a\x52\x89\xb0\x9a\x6b\x98\x48\xfa\x9b\x64\x08\x32\x52\xf1\xe3\x8f\x85\x41\x33\x58\xc1\xd2\x7a\x3b\x55\x21\xfb\x0a\x91\x82\x34\x9f\xec\xf2\x1c\x81\x75\x17\xbb\xcb\x3f\xb8\xa6\x76\xbf\x77\x3c\xbe\xee\xef\xbe\xdc\x5f\x5e\x54\xef\x8f\x3e\xdb\x90\x5d\x8a\x22\x51\x10\x7b\xb9\xac\xab\xdb\x6f\xb2\x62\x44\x2a\x97\x0e\x44\xbd\x64\xc5\xc9\x29\x28\x2e\x12\x9d\x4e\x40\xe4\x0c\xa9\x65\x84\xc4\x32\x78\x2e\x09\x23\xd9\x17\xd4\xbe\x39\xdf\x61\x6b\x59\x05\x4c\xe8\x8b\x37\x53\x5d\xeb\x51\x70\x64\x75\x1e\xd4\xc8\x29\xcf\x96\xec\x3d\xa4\x61\x19\x68\xd1\x73\x45\x6d\x84\x8b\x33\xcb\xd6\x47\xdd\xc9\x8e\x9d\x00\x25\xe4\x0a\xbb\x54\xe3\x9c\x8a\x93\x45\x17\x83\xab\x59\xc4\x1a\x73\x72\xba\x59\x51\x19\x18\x5b\xfa\x12\xc8\xec\xca\x48\x11\xca\x27\x7a\xeb\xbf\x90\xc6\xfa\x7c\x85\xf5\xe1\xcf\xcf\x77\x5f\xb7\xca\xea\xfd\x3f\x4e\x71\xc6\x52\x43\x9d\xbe\x08\x38\x6f\x07\xa0\xd4\x5b\xa1\x54\x62\x3f\xf8\x2c\x96\x54\xd6\x74\xb7\x72\xc8\x49\xc4\x53\xa4\xd5\x35\x9f\x9a\xbb\x46\x40\xbd\xfc\x3a\x92\xeb\x9f\x8f\x85\xef\x7e\x97\x13\x7a\xd0\x1c\x3d\x1e\x8b\x7c\x0c\x9d\x50\xca\xae\x15\x82\x2c\x42\xa6\xa4\xa8\xe4\xa6\x30\xa5\x64\x66\xb0\x28\x78\x40\x77\xa9\x8b\x7c\x72\xd5\x13\xf0\x3b\x47\x85\x84\x74\xa5\xcc\x28\x41\x72\x59\xfe\x05\xf1\x84\xaa\x62\x08\x46\x8e\xbc\xe3\x12\x9e\x60\xe9\xd7\xf9\xfb\xc3\x2c\xfd\x98\xbb\xd7\x58\xfa\xff\xfd\xb6\xb6\x95\xa8\x6a\xd9\xc2\x60\x65\x3a\x1b\xc5\x44\xfd\x71\xc2\xab\x55\x4e\x98\x6e\x8f\x00\xa7\x28\xc0\x32\x46\xae\x94\x69\x8c\x21\x01\x94\x01\x03\xbb\xe8\x30\x4f\xeb\xf8\x33\x02\xdb\x0e\xd3\xe2\x5f\x6a\x0c\xff\x7d\xbc\x86\x6f\x22\xd5\xcd\xd8\xf1\x3f\x4e\x2b\x32\x86\x5b\x2d\x8e\xb5\xa6\x59\xd9\x7e\x38\xe4\x14\xa5\xa3\xa0\x34\x32\x02\x3c\x09\x6c\x76\xf5\xa0\x17\xa6\xa0\xeb\x6e\x46\xd9\x06\x6c\xf1\x3c\xad\x37\x00\x85\x22\x86\xd8\x67\xde\x8e\xe1\xa3\xf4\xff\x73\x10\xd3\x93\xfc\xff\x23\x5c\xcc\x69\xfe\xff\x29\x96\xe9\x5a\x00\xf0\xe4\x9e\xf5\xd8\x50\xff\xed\x63\x74\xff\x6d\x93\x79\x92\xb7\x45\x1c\x47\x93\xb4\xd7\xe2\x98\xfb\x84\xcc\x85\xdc\x67\x03\x1c\x8c\x36\x97\x55\xd5\x4f\xaf\xf2\x04\x6d\x02\x98\xa6\x3c\xa8\x74\x8d\xc6\x1c\xdc\x9d\x43\xf5\xd0\xad\x44\x6b\xef\x17\x18\x08\xa3\x5e\xd3\x5b\xed\x14\xae\x5c\xf1\x2e\x45\xee\x26\x05\x41\xec\xa2\x60\x28\x48\xaa\x2c\x6d\x42\x7f\xe6\xb3\xf5\xb7\x2e\x3f\xac\x3e\xa2\xa8\x6b\x77\x5d\xba\xeb\xca\x05\x78\xba\x48\x6c\x72\x14\x44\x7c\xd4\x0b\x40\x40\x07\xa2\x2d\xa4\x6d\x9b\x4b\x75\x4c\xc1\x71\x02\x86\x60\x6c\x4b\x0a\xa8\xb8\xe4\xb6\xc2\x53\x4b\x2f\x44\xa8\x51\x11\x09\xed\x94\x67\xd4\x0b\x3b\xe9\xb7\x34\x81\xb5\x50\x7a\x13\xc9\xd9\x96\x23\x6f\x00\xb0\xc9\xe0\x5f\xe1\x95\x46\x10\x03\x61\x07\x7c\x87\x42\xd3\x13\x68\x42\x03\x06\x93\x29\x0d\xe2\xe1\x45\xab\xe4\x81\xae\xa6\x05\x00\x28\x31\x4a\x1a\x41\xf7\x54\xcb\x3e\x95\x66\x30\x3b\xaa\xdc\x69\x55\xb3\xab\xce\x73\xd9\x4d\x5a\x6e\x2a\xaa\x67\x36\x22\x31\x40\x9d\x89\xe9\xd0\xd0\xd8\x58\xb5\xb6\x2e\xef\x53\x06\xd8\xe1\x7a\x23\x94\x17\xbb\xa2\xe0\x50\x7a\x1b\xd6\xdc\xf6\xc1\x56\xdb\x54\x62\x01\x50\x7f\xef\x63\xab\x33\x80\x4c\x91\x41\xab\xe9\x3a\xaa\x20\x28\x68\x74\x69\xaf\xf2\x0c\xfe\x5a\x59\x63\xa3\x3c\x19\x6b\x01\xa5\x51\x08\xb2\xbf\xca\x2e\x2f\x48\x33\x92\x29\x48\xec\xe2\x94\x9d\x26\x80\xc3\xfe\x61\xa8\x9b\x15\xe5\x84\x4c\xb7\x69\x7e\xde\x6e\xf7\x9d\x6d\x21\xcb\xa9\xf3\x8a\x83\x8b\xbd\x1f\x7c\x34\x14\xa1\x2d\x4c\xb2\x05\xa2\x1e\xc1\x1f\xe6\x70\x6d\x56\xf6\x7a\x88\x2d\xda\xac\x5e\xaf\xc3\x9c\xb6\x19\x0d\xde\xda\xf3\x09\x99\x0f\xac\xcc\xd2\x95\xb4\x0e\xdc\x71\xe3\x25\xa2\xb4\x83\x68\x2d\x75\x8c\xe6\x12\x17\xf9\xa4\x91\x2b\xac\xa5\xaa\x2b\x67\x52\x55\x8f\xb8\x22\x45\x0b\x45\x30\xac\x98\xa2\x28\x31\x44\x4b\xea\x4e\xe6\x45\x36\x27\x34\xe8\x84\x23\x23\x93\x09\x3e\x38\x2d\xbb\x8c\x55\xfd\x9f\xf0\x21\xa0\x9c\x8a\xf2\x3e\x86\x7c\xe6\xd0\x1a\xee\xac\x83\xd7\x37\xf2\x63\x83\xf5\x27\x3b\x2c\xb6\x48\x1f\x43\x3e\xf8\x58\xfb\x3e\x51\x3a\x68\x2a\x15\xe2\x76\xda\x73\xe8\x9e\x3d\x95\x53\xc7\xad\x6c\xa3\xcf\x28\x3c\xf8\xf6\x75\x53\x51\x98\xb7\xa1\x99\x53\x49\x08\xa9\x83\xd6\x66\x80\xa0\xa3\xbd\x45\x57\x61\x36\x78\xde\x02\xa3\xa7\xe6\x2b\x30\x9a\xf1\xa6\xbc\xaa\x19\x6e\xe4\x51\xa9\xef\x22\xd8\xc0\xc1\xfb\x07\xe1\x58\x13\x70\xd7\x81\x21\x15\xeb\x5a\x7a\x8e\x20\x4e\x05\xaa\x1a\x3b\x94\x05\x44\x27\x4f\xaa\xa3\x94\x93\x65\xa5\xb2\xd6\x65\x4c\x48\xf0\x83\x0b\xba\x77\x11\x62\xc7\xc0\x47\x73\x35\x39\xdf\xe6\x86\xea\x06\x94\x22\xa6\xb8\x5b\xb4\x54\x89\x79\x36\x6c\xae\x93\xd2\xfa\xc4\x0b\x90\x55\xac\x35\xa5\x60\x42\x80\x41\xfb\x55\x9e\x07\x4e\x02\x6e\xc0\x00\xe4\x1a\xe4\xe8\x80\xcf\xc0\xfb\x29\xe0\x82\x42\x14\xc4\x81\xf2\x0e\x00\x2f\x97\xfa\xa2\x98\xad\x59\xcc\x1d\x72\x5a\x00\x25\x8f\xab\xa8\xe7\x8b\xcd\xf5\xe6\x38\xf1\xc2\x39\x3b\x8a\x32\x3f\xae\xae\x2d\x02\x3f\xf3\xb9\x73\x5f\x46\xaa\xcc\xa2\x42\x16\xc5\x3c\xc6\x60\xb5\xaa\x05\x9f\xbb\xa5\xc4\x35\x94\x0e\xe0\x94\xae\x70\x0f\x69\xc6\xae\xd7\x80\x29\xdb\x26\xd4\xf6\x28\x04\x20\x7a\x47\xcb\x6e\x75\xe9\x7b\x55\x74\x00\x7f\x12\x75\xa7\x04\x10\x1a\x30\x15\xf1\xce\xe8\x3d\x96\xb1\xd5\x52\x2c\x65\xfc\x25\x14\xff\x77\x83\xb0\x45\x51\xd1\xe2\x0b\x14\x0c\xb2\x30\x90\x12\x3b\x36\x15\x87\x80\xce\x5c\x10\x1c\xf7\x31\x22\xcc\x15\x49\x8b\xb9\xc4\x98\xa9\x41\x91\x19\x40\xda\xce\x01\xa5\x29\x48\x7e\xab\x72\x62\x5e\xac\x70\x49\x3a\xac\x00\x22\x67\xb7\xc8\x99\x98\xdb\x9a\x1e\x57\x35\x71\xc9\xf9\x9e\x6e\xae\xaa\x8f\x9f\xb6\xfa\xc5\xa6\x96\xa7\xf5\xb6\xe2\x9a\x88\x30\x2a\x56\x7c\x77\x79\xcd\x94\x66\x40\xc7\x70\x27\x31\x7e\x05\xc2\x04\xb6\xd4\x30\xc3\x6d\x41\xb5\xb9\x94\xbb\xf3\x39\x16\x75\x4c\x16\x07\x3c\x62\x1d\x15\x00\xc8\xc8\xe7\xde\x83\x71\xd6\xea\xe3\x64\x30\x66\xb0\x3e\x44\xf8\x3e\x7a\x73\xb9\x92\x88\x40\xe4\xa9\x32\x1f\x44\x22\x5e\x9b\x51\xb2\xae\x22\x9c\x59\xa4\x6b\x65\xa1\xa0\x8c\x9d\x79\xef\x13\xd7\x4b\xc2\x3f\x6c\x53\x5b\x13\xc5\xd9\x83\xc1\x1d\x70\x11\x4d\x0e\xf6\x9e\xd2\x4d\x51\x11\xe3\x73\xa2\x57\x37\xba\x95\x63\x9c\x93\x32\xb3\x17\x75\xd3\xed\x69\x2d\xe0\x7a\x66\x22\xe8\xff\xf7\x79\x53\x11\x9c\xb7\xa1\xba\xc0\x75\x38\x44\x42\x74\xc8\x21\xe7\xf3\x57\xb3\x17\x8b\x87\x18\xc3\x1e\xf5\xb7\x97\x7f\xa6\x70\x55\xa1\x43\x80\x2e\xdf\xbe\x38\x5d\xbd\x18\xb0\x57\x4c\x2e\x57\x04\x93\x30\x3b\xc0\xe0\x2e\x87\xdc\xc0\xcf\xd4\x11\x90\x08\x4e\xe7\xd1\xc4\x84\x15\x93\xe1\x01\x05\x40\x8b\x0a\x52\x68\x86\x4e\x71\x71\xda\x02\x31\x5e\x68\x37\x51\x27\x97\x90\xb7\x3c\xc2\x25\x7b\x52\x3f\x78\x70\x4a\xfd\x0e\x0d\x0a\x0a\x5f\xa4\xc9\x47\xa0\xab\xd7\xbe\x67\xca\x97\x63\x41\x9a\x3b\x1c\x8e\x31\x32\x13\x5f\x63\xf3\xdc\x7b\xee\xe1\xe0\x5b\xde\x73\x0f\x37\x6f\x11\x9f\xb8\x45\x8c\xe1\xd6\x1e\x7d\xbb\x3e\xf3\xdb\xdb\xcd\x14\xd9\xc6\x04\x4f\xeb\xf6\x53\x74\x1d\x58\x2a\x48\xea\x2e\xd9\x51\xe1\xff\x9f\xbd\x77\x5b\x92\xdd\x38\xb2\x05\xdf\xf3\x2b\xe2\x07\xb0\x2d\xdc\x3d\xae\x76\x9e\x66\xc6\x6c\xde\xea\x1b\x68\x9b\x6a\x9e\x4e\x5a\xa3\x45\x81\x0d\x65\xf7\xa9\xaf\x1f\xf3\xb5\x1c\xc8\x2c\x66\xed\x2a\x52\x22\x4f\x4b\x76\xc6\x24\xee\xca\xaa\x04\x02\x40\x20\x2e\x7e\x59\xbe\x96\x6f\x74\x92\x9a\x22\x2b\x75\x73\x97\x91\xd4\x9c\x19\xd9\x53\x7c\xb5\xf3\xc8\x70\xfb\xd8\xc2\x22\x13\xdb\x1b\x7d\x0a\x28\xd2\x44\x99\xbe\x7a\x53\x25\xdf\x16\x91\x71\xad\xf9\xdd\xad\x41\xbf\xc1\x21\x5b\xdd\x22\x79\xe4\xd1\x7e\xea\x35\x69\xef\xce\xfd\xa9\xdf\xa4\xc4\x26\x99\xc4\x13\x27\xb6\xdf\xdd\xb7\x4e\x29\xf3\x3d\x53\xc8\xcf\x6a\x3a\x7f\xd9\x58\xb5\xb9\x69\xce\x18\xd6\x47\x0f\xec\xf7\x8e\xf9\x58\x83\xf0\xe7\x27\x76\xf6\xfa\x9c\xc5\xbc\x63\x58\xaa\x94\x64\x45\xd6\x21\x49\xa7\xf7\x46\x9d\x6b\xf7\xeb\xe4\x0c\xe0\x14\x86\xf8\xee\xff\xf8\x5d\xa6\x1c\x66\x7d\xfc\x7c\x7d\x69\x06\x25\xfa\x95\x00\x7b\x1f\x83\xba\x02\x9e\xa3\xe3\xaa\x5a\x5f\x5f\x86\x2a\xa4\xea\xc5\xe6\xba\x1c\x47\x75\x90\x37\x74\x49\x56\xf2\xea\xa6\x5a\xf6\x95\xa6\xa9\xdf\xc6\xa2\x73\xe2\x6d\xa5\xd3\x2f\x3d\x39\x86\xce\x5b\xe0\x0d\x80\x71\x44\x79\x7d\x3b\xae\xdf\x57\x50\xf2\xfb\xf5\x2d\x47\x19\xc5\x7b\x88\x83\xcb\x7d\x75\x95\xa3\x3a\x15\x7a\x65\x9d\x28\x3a\x04\x38\xca\x95\xae\x9f\xe2\x8d\x9a\x24\x77\x08\xa5\xb5\xd4\xa0\x12\x97\xa7\xff\xd6\x3f\x38\x51\x48\x19\x05\x0e\xae\x60\x23\x95\xce\xec\x6c\x34\x31\x7e\x15\xdc\x41\x3a\x58\x89\xf9\x90\x52\x7e\x1d\x46\x42\xfc\xfe\xc6\x4c\x56\x0a\xe1\x79\xee\x69\x8d\x0b\x96\x4a\x90\x6d\x8b\x5e\x41\xac\x81\x25\x14\xb7\xbd\x82\x5b\xa0\xe5\xab\xd5\xb9\xce\x9e\xac\xe5\x0d\x54\x3c\x78\xf6\xab\x68\xdb\xd0\x17\xc7\xd1\x23\x8e\x6e\x75\x9d\x86\xa3\xeb\xc3\xd1\xd6\xc3\x7f\x6d\x77\xff\xd5\xe0\x94\x8c\x95\x1a\x4e\xbe\x93\xc9\xf3\x4e\xf6\x6d\x7c\x88\x20\x05\x13\x6f\x58\xfa\xfc\x6d\x9b\xe0\xf7\xfb\x9f\x9e\xa6\xc7\x13\x2d\xe7\xe3\x0a\xe7\x6f\x77\xcc\x16\xc0\x2a\x45\x1d\x82\xdb\x22\x63\x93\x50\xee\x90\x1e\xb1\x70\xf0\x5e\x09\x4b\xc1\xbb\x90\xa1\x36\xb4\x3f\xc8\x31\x33\xfc\x4d\xf5\x83\xde\x50\x82\x3a\x8b\x84\x57\x41\xec\x04\xf1\x8e\xea\x63\xa7\xdc\xb4\xca\xb6\x0c\xf2\x99\xa9\x26\xf1\xaf\xf4\xf8\x8a\x31\x53\xd2\xec\xe6\x60\xd5\xcd\xe0\xc1\xcd\x79\x35\x49\x32\x0c\x1d\x5b\x03\x77\x50\xe5\x56\xb2\x5e\x7d\x98\xb6\x44\x4d\x32\xb9\xe9\xa0\x66\x4d\x1b\x7e\x73\x09\x7c\x81\x22\x37\x69\xe5\xb2\x12\xe9\x4f\x32\xac\xd9\xfd\xe0\xaa\x57\xbf\xf6\xa2\xa5\x6f\x43\x93\xba\x9b\x91\xf4\xa6\xa5\xc6\xdf\xab\x6e\x1d\x65\x3e\x52\x62\x47\x0f\xf4\x4c\x0d\x11\xbe\x3e\x76\x86\x8c\xc0\xa5\xf0\xfa\x32\x91\x49\xf3\xc5\xdf\x58\x02\xde\x0a\x40\x5c\xa5\x05\x37\x30\x43\x48\xed\xe0\xf3\x85\x53\x15\xbe\xec\xd1\xa9\x12\x94\x77\x8b\xf8\xde\x37\x36\x04\x21\x7a\x5a\xc0\x5e\x37\xf8\xb3\x1a\x82\x12\x30\xdf\xcb\x5e\x3b\xb4\xcc\x2a\x5a\x2d\xa4\xb8\x53\xa1\x3d\x6e\xf9\xc2\x48\x45\xc9\xd8\x76\xab\xbc\xbe\x8c\x21\x69\xc0\xb2\x04\x00\x57\xe1\xe3\x9c\x3c\x7d\xee\x55\x15\x26\xad\xdd\xaf\xa1\xbf\x84\xda\x1e\xf7\x17\x18\xe8\x01\xd2\x36\x24\xd3\xfc\x86\x6e\xa8\x37\x85\xa7\x5f\xe2\x4f\x3b\xfc\xc4\xbc\xd7\x9c\x74\xaf\x35\x55\xd4\x2d\xc0\xb9\xd8\x51\x94\x80\xe7\xb7\x9e\xb4\xef\xda\x93\x0d\x38\xce\xf5\xe3\x30\xc9\xff\xfc\x71\x7d\xce\xb2\x7c\xff\x3f\xde\xc2\x17\xb5\xdc\x4a\x47\xbd\x96\xcf\x36\x7f\x11\x3a\xd6\x92\x41\xf8\x1f\xb0\x01\xd2\x8b\x5a\xbb\x2e\xa5\x2b\xc1\xf9\xf3\x04\x66\xbf\x21\x5d\xb8\x02\x00\x20\xb9\x7e\xb3\x40\x08\x7c\x22\xef\xc2\xb6\x5b\xce\xcf\xb8\x6d\xe0\xcd\x6b\xf9\xd8\x8f\xf1\xe7\xfc\x6e\xff\xe1\xbf\x9e\xd0\x7c\xf5\x9e\x6f\x2f\x0d\xce\x4b\x7e\xe7\x89\x9e\x9f\xff\xf5\x65\x4e\x28\x84\xff\x61\xcf\xf3\x5e\xe7\x05\x60\x42\x5a\x3e\xd7\xf2\x37\x41\x70\x40\xa9\xde\x0b\x82\x9f\x6b\xe5\x63\x0c\xbc\xe7\x72\x79\x0e\x82\x43\xbc\x5d\xda\xef\x74\x81\xf7\xdb\x6f\x5d\xff\xa0\xf6\x3f\xcc\xef\xff\xf4\xf3\xfe\xdd\xf7\xff\xeb\xbb\xaf\xeb\x5f\xae\x5f\xbf\x7f\x86\xf2\xd6\xe7\x9a\xcd\x47\x15\xa1\x29\x49\xb8\xa5\xf4\x75\xe9\x9a\x54\x50\xfa\x9a\x4a\xdf\x16\x45\x64\x44\x41\x3e\x03\xce\xdd\x25\x68\x6c\x0e\x3e\xc0\xb1\x2f\x58\x83\x74\xbe\xbe\x74\x6b\x29\xb4\x69\x35\x50\xec\x7e\x0e\x3c\x0f\x09\x7c\xfb\xbd\xaa\xf2\xb1\x76\x13\x70\x2f\xfd\x76\xed\x1f\xaa\x1b\x49\x61\xf2\xa9\xf2\xca\x6d\xf1\x23\xdf\xfd\xea\xf5\x45\x80\x52\xa6\x3c\x8b\xd9\x75\xa9\xa3\xdc\x66\x5e\xad\xcd\x54\x15\x59\x7f\x19\x49\x25\x69\x5f\x45\xd2\xbc\x59\x50\x41\xb6\x63\xb1\xe2\xd3\x82\x2b\x25\x12\x0c\x40\x0f\xb9\xa3\xaa\x6e\xa6\x57\x54\xd6\xde\x54\xe7\xb5\xb6\x7e\x5b\x86\x3f\x1d\x94\xa0\x2c\xfb\x06\x84\xfa\x55\x21\x85\x0a\x43\xce\xb7\x45\x57\x9f\x95\xdb\x4c\x8a\xc7\xbd\x6a\x19\x37\x71\xcf\x4b\x05\xf4\x2d\x92\x46\xc7\x5c\x6c\x70\x1c\x6f\xfe\xc1\x8d\x22\xe8\x0d\x94\xeb\xa2\xc5\x56\x02\x39\x4b\xb9\xf6\x7a\x1e\xd9\x79\x64\x5e\xd5\x72\x6a\xcd\xf7\x40\xbd\xe0\x97\xc5\x7f\xeb\x1f\x13\x28\x7d\x67\xfa\xc4\x9e\x5e\x3f\x64\x34\xc5\x48\xca\xe5\xff\x8c\x81\xe4\xaf\x65\x91\x9a\x2f\xbf\xd3\x8b\x79\xf3\x5e\x38\x4e\x25\x67\xf9\x87\x19\xa7\xee\x60\xfb\x38\xb5\x6d\x26\xf1\xde\x14\x1f\xa7\x97\x73\xa0\xfe\xaa\x05\x6a\xdf\x7f\xfe\xf1\xfb\xbf\xee\x3f\x3c\xa1\x51\xda\x33\x3b\xe7\xdd\x53\xfb\x67\x18\x0e\xee\x6b\x2d\xa6\x1f\x28\x57\xbd\x0f\xef\x7e\x47\x65\x6a\x98\xbe\x2f\xee\x92\x73\x2a\x23\x7f\x70\x09\xa0\x0b\x7e\xcd\x25\x20\x0c\xf6\x7c\x05\xb7\x7d\xe6\xfc\xe8\x21\x08\x41\xf9\x15\x57\x00\x8e\xe1\x1d\x90\xba\x5b\xdf\x90\x24\xf9\xb6\xc2\x57\x6d\x97\x5f\x29\xc7\x55\xdb\x6f\xf3\x81\x9e\xc7\xe1\x7b\x85\x10\xed\xb9\x0e\xf4\xa1\xf2\x05\x80\xb6\x0f\x5f\xb4\xbe\x9f\x4f\xfb\x95\xf7\xff\x0f\x37\xda\xdf\x1d\x8b\x3e\x52\x3e\x1e\x8b\x7f\xef\x48\xf1\xd1\xfe\xf1\x58\xfc\x7b\x47\x3b\x94\x87\x3f\x1e\x8b\x98\x8a\xbf\x76\xd2\xfe\x6d\x63\xf1\xa7\x9f\xff\xe5\x99\x9b\xb0\xdd\xe1\x28\x56\x5a\x62\xe6\xb4\x19\x58\xd0\x45\x1a\x21\x6b\xd5\x0e\xb6\xc6\x61\x44\xd7\x03\x29\x5f\xc2\xd3\x9c\x75\x97\x0c\x27\xcb\x06\x9d\x61\x90\xaf\xed\x56\x41\x0b\xf7\x8f\x36\xcc\x9e\x15\xf4\x7c\x98\x81\xcd\x84\x3c\xf7\x1a\x18\x04\x54\x66\x92\xee\x5a\x0a\xbd\x11\xe2\x47\x67\xa8\xe6\x30\xc4\x40\x63\x02\xac\x83\x4d\x0f\xe5\x1a\x69\x08\x68\x51\x24\x5b\xea\x6a\x13\x32\xfa\x02\x61\x48\xe8\xd6\x08\x52\x8c\x62\x09\xb1\x0d\xdb\x40\x50\x2e\x70\x56\xe1\xfa\x36\xd4\x9d\x16\x0a\xef\x6c\xdc\x22\x2d\x72\x87\x78\x07\x44\xb8\x50\x68\x9a\xa5\x36\xdd\x48\x42\xbf\xb4\x9e\xa4\x6b\x50\x71\xd4\xe4\x3b\x7c\x1f\x24\x3d\xb0\x4d\x20\x8a\x09\xe2\xdf\xc9\x82\x24\xc0\x2c\x09\xb2\x2a\xb5\xa5\x31\xb0\x71\x97\xeb\x52\xda\xbc\xf9\x07\x69\xfd\x56\x50\x2f\xd3\x11\x1b\x94\xb9\x33\xca\x76\x43\x7c\x6d\x5d\x3a\x53\xe3\x83\x3d\x07\xa0\x84\x40\xb1\x77\xa9\x83\x3c\xbb\x6d\x15\x9f\x05\xa3\x5e\x91\x04\x6f\xd5\x5b\xfd\x04\x4d\xfc\x38\x70\xdf\x5d\x3f\xed\xcd\xe0\x15\x2d\xfd\xff\xa4\xd1\x7b\xb9\x2f\x92\x48\xb6\x94\xff\x7d\xaf\x2d\x26\x8c\x8c\xf9\xdf\x37\x63\x2e\xff\x6d\x53\xe6\x61\xc6\x7c\xec\xd7\x58\x79\x1a\xb2\xcf\x10\x9a\xbb\x5f\x03\x38\x34\x56\xfc\x5f\xd6\x2a\xdc\xe5\x84\xbf\x1c\x65\x90\x4c\x77\x93\xa1\xa5\xa7\xe3\xd7\x2f\xf5\xe0\xaf\x1f\x5f\x1e\xf0\xe4\x28\xd7\x9e\xe0\xf6\x7f\x7d\x29\xd2\x52\xf7\xdd\xe8\x40\x36\xbf\x27\x84\x04\xa6\xc8\x67\x4a\x20\x9e\xf2\x4b\x21\xa4\x31\xde\x15\x42\xc2\xd6\xda\x99\x91\x83\xb6\x2f\x3a\x9f\x9a\xb0\x3e\x43\x91\x46\xbf\x6c\xe6\x3f\x12\x31\x60\xd6\x81\x25\xa8\x51\x3b\xd8\xa9\x93\x5f\x3b\xb5\xce\x66\xd9\x48\xca\xc2\x32\x2e\x19\x02\xa1\x66\x9c\x0e\x86\xae\x3e\xae\x88\x38\xf5\x76\xa5\xda\x33\xdb\xc1\xc5\xee\x01\x61\x88\xf4\x43\x63\xc9\x26\xfd\x16\x4b\x44\xa0\x8d\x54\x58\x0a\x26\xf1\xdc\x5f\xa2\x26\xa1\x80\x2b\x49\x36\xc0\xbb\x64\x24\x08\xaa\x15\x83\x20\xc8\xa6\x25\x69\xea\x0d\x5a\x14\x59\x92\xa8\x6c\x6d\xa4\xd1\x13\x7f\xcb\x1b\x2b\x8e\x4d\x52\x19\x54\xab\x28\x50\x4e\x83\xe8\x2e\xe8\x50\x51\xf4\x81\xb0\x67\x93\x1d\x99\x8c\xaa\xbb\x15\x08\x84\x47\x6d\x84\x8f\x82\xe2\x8f\xc3\x38\x2f\x14\xa9\x1b\xde\xde\x5e\x72\xb0\x6e\x6a\x61\x4d\x0a\x20\x0b\x3b\xa5\xa6\x98\xe1\xc1\x3c\x05\x99\x31\xc1\x0b\xac\xa3\x05\x6d\x00\x75\x0f\x1a\xe0\x6c\x2d\x78\x01\xc6\x1e\x90\xa7\x1d\xee\x59\xb9\x6a\xef\x5b\x1f\x98\x6e\x78\x1f\x7b\xc5\x54\xfc\x74\x02\x3c\x11\xb2\xb5\x8f\x98\x68\x7d\x02\x04\x70\xf4\x79\x50\xbe\x99\x03\xe7\x14\xc0\x0c\x38\x26\xc0\x7d\xfc\xbf\x19\xfe\xcb\x31\xfe\x97\xfb\x04\x28\x65\xdc\x07\xf3\x2f\xea\x82\xde\x0e\xfe\x37\x55\xc7\xf7\x29\xf3\xb6\xea\xf8\x71\x0a\x3c\x56\x1d\x97\x9a\xea\x84\xee\xe9\xd2\x24\x1d\x13\x60\x11\x1f\xaa\x29\xc4\xf9\xc4\x28\x55\x42\x12\xf8\x7e\x5d\xbc\xb3\x19\x41\x45\xe7\xef\xf1\x2a\xf8\x66\xb6\xa8\x0d\x05\xaa\xb7\xe3\xa9\xb0\xf8\xf9\xb7\xfd\xa0\x6c\x2a\xf0\xc8\xfd\xbd\xa3\xaa\x05\x95\x35\x1c\x14\x4b\x8c\x91\xe5\x1c\x34\x4b\x8c\xa2\xe5\x3e\xb0\xde\x4c\x7d\x70\x91\x29\x65\xb4\xc1\xf2\x1e\xc3\x73\x89\xf1\xba\x2d\x13\x44\xc8\xe7\x68\x0e\x14\x16\x59\x86\x30\xe8\xb7\xc5\x8c\x91\xfd\x98\x10\x3e\x7d\x81\xb2\xe0\x74\xb9\xec\x0b\xa6\x0f\x48\x95\x15\x4b\x01\xd1\x78\x31\xd3\x8e\xa9\xc7\x65\xa7\x7c\x89\x85\xe7\x4b\x05\xee\x39\xc5\xbc\xed\x9d\xf9\xb6\x63\x62\xef\xe7\x6c\x3f\x16\x80\xab\xf4\x6b\x6f\x57\x6b\x9b\x00\x71\x9d\x62\xd1\xd8\xea\x40\x8d\xd1\xb1\xa8\xd8\x44\x17\xc7\x92\x23\x44\x85\xc4\x82\x54\x00\xe0\x4a\xc7\x6a\x95\x89\x09\xe5\x5a\xf6\xe1\x6c\xf8\x5f\x3f\xfd\x75\xff\xeb\xf7\xef\x97\x47\xb5\xb3\x24\x7e\x8a\x5b\x02\x76\x93\xea\x6d\x57\x96\xf4\xd6\x7c\x48\x9f\xa3\x13\x1b\x35\xec\x82\x24\x99\x7f\xda\x34\xb0\x18\x65\xbe\xbe\x08\xca\x4b\x6a\xbd\xb6\x76\x33\x5f\x7e\xab\xe0\xd4\x2a\x3b\x5a\xa8\x72\x5b\xac\xbc\xbe\x54\xd3\xd4\x54\x6e\x4b\xcf\xd7\xc5\x9d\xac\xa2\x76\x5d\x7a\xb9\xf1\xe7\xb8\xf5\x7c\x55\x53\xb7\x82\x2c\x95\x59\x81\xed\xbc\x2e\x6e\x56\x64\xa0\xd9\x30\x3f\xb0\x78\x57\xbc\x63\x56\x36\xe9\x40\x06\x0c\x30\xb2\x5a\x6e\x3a\xb3\xdf\xc8\xa2\x3d\xc7\xe0\x44\xb8\x07\xb9\xef\x4a\x65\x8b\x7a\xd9\xd4\x4d\xaf\xa2\xc9\xe4\xa6\x23\x5f\x5b\x7f\x7d\x99\x03\x52\x24\x37\x80\xc9\x82\x4b\xbe\x43\x60\x9d\x22\xef\x0a\x69\x8c\xa5\x28\xb0\xf1\x4c\x0e\x14\x7f\xb4\xc6\x7b\x9c\x76\xa5\xe2\x98\x6c\x86\x7a\x2b\xff\x3e\x6f\x90\x3a\x8a\x13\x3b\x82\x4f\xde\x28\x78\x56\xac\x25\xad\xf5\xb6\x60\xb9\x04\xb2\xca\x07\xe3\x46\x78\x37\xdf\x32\x14\x29\xa2\x06\x6d\x64\xfe\x1e\xe6\xa5\x24\x1b\x94\xb3\x65\xb3\xa3\xdd\x04\xd0\x83\x0a\x3e\xba\x81\x97\x64\x23\x0d\x70\xde\xfb\x02\x60\xe3\x42\x85\xd6\x09\xb4\xe2\x68\x37\x6e\x5d\x06\x5b\x6b\x23\x5f\x17\x4a\x0f\x25\x72\xc2\x3e\x0b\xce\x1c\x7d\xa7\x3d\xd7\xbe\xd4\x9b\x0f\xf5\x2b\x0c\xd6\x51\x93\xe4\x3e\x6f\x8b\x30\xa3\x82\x77\xaf\x2c\x87\x33\x4d\x55\x6e\xfc\xa2\x42\xf4\xde\xf7\x19\x8d\xfa\x00\xf3\x4d\xaa\xa1\xf9\x1e\xa5\x03\x80\xe7\xe7\x04\x55\x1d\x4b\x1d\xd8\xce\xde\x90\x53\xdb\x40\x4f\x81\x2e\x11\xb7\xd8\xbc\x5b\xf0\x16\x0a\xc2\x78\xd4\x6c\x5e\x02\x2a\x77\x24\x61\xa9\xf9\xe0\xed\x5c\xb0\xae\x40\x30\x0c\x2a\x6e\x51\x2f\xd0\x5b\x3a\x7e\x15\x0a\x33\x1d\xa7\x04\x28\xcf\xea\x06\x4c\xad\xd4\x54\xc8\x94\xb6\xc7\xf5\x8b\xa5\x8a\x7a\xbb\x64\x75\xc7\x59\xdd\x7c\x58\x41\x42\xd7\x1f\xe5\xf5\xa5\x36\xf3\x4d\xb9\xaf\xd3\xe7\x8a\x1b\x0a\x75\x45\x07\xc9\xf4\x0f\x96\x64\x56\x1f\xf8\x18\x17\x06\x33\xbb\xcd\xd5\x97\xcc\x46\x09\x61\x9f\x58\x05\x89\xd4\x71\x5b\x34\xcb\xb5\x97\x9b\x66\x79\x7d\x19\x55\xd3\xb4\x76\x13\x60\x83\x2a\x83\x9a\xa3\x6f\x0b\x5f\xb9\x2f\xf7\xfe\xb2\x43\xa0\x8d\xef\x3e\x4c\xd4\xc9\x00\xe8\xf0\xa1\x4a\x64\x51\x1d\x1c\x0e\x9d\x15\xf6\x23\xc5\xf1\xc5\xe7\x38\x5a\xda\x38\xca\x70\x0d\xa8\x16\x5b\x1a\xd2\x7c\xb8\x9b\xcf\x65\x1f\xf6\x3a\x0c\x12\x5c\x70\x77\x0a\x7e\x1e\xea\xad\xd2\x60\x6e\x93\xf6\x3f\x69\xbb\x41\x18\x0f\x27\x4d\x0b\x9a\x17\xd8\x6b\x80\xec\x6b\xc7\x6a\xa7\x7d\x33\xdf\x15\x7a\x77\x43\x70\x29\xf9\x37\xd7\x28\x5e\xfe\x01\xea\x3d\x62\x15\x7e\x5a\x80\xef\x5c\xe2\x5d\x92\x4e\xbd\x2d\x4a\x64\x29\x84\xda\x27\xa4\x71\x17\xb5\xd8\x15\x55\x6f\x96\x65\x53\x05\x37\x82\xff\xbe\x41\x0d\x9a\x07\xfa\x54\xca\x33\xe9\x94\xdb\x52\xda\x75\x99\xf9\x46\x91\x3f\xb0\xc6\x34\x90\xc6\x90\x84\xcb\x87\x6c\x9e\x57\xc9\xfd\x36\xcb\x75\x01\x1f\xd7\x2c\x57\xc9\xf5\xb6\xd4\xe6\x5f\xe4\x5b\x6d\xf3\xf5\xa5\xa1\x0a\x36\x5f\xc7\xbc\x15\x3f\x72\xcc\x1b\x88\x97\x10\x6c\xc7\x42\xd8\xb9\x10\x12\xb1\x00\x49\x6d\x7f\xc1\x20\xbb\xb7\x7a\xb3\x76\x9c\x34\xf1\x54\x65\x26\xd4\x50\x5e\x50\x10\x40\xb2\x83\xc5\x50\x81\xe0\x0e\x90\xa6\x26\xb7\xa5\x42\x10\xbb\xe5\x34\xc6\x4d\xa6\xef\x47\xdd\xfd\xce\x34\x59\x6f\xe6\x4e\x67\x17\xb0\x4b\xc1\x6f\x06\x85\xa7\xaf\xf7\xd2\x79\xad\xd6\x0c\x37\x3c\x36\x7f\xe0\x5a\x13\x0e\xa8\x5b\xf5\x95\xcc\xcf\xac\x1b\xaa\x93\x66\x92\xec\xa3\xc9\xe6\x48\x73\xdc\xc4\xae\x0b\xef\xb2\x52\x10\xcc\x6d\x8c\x4e\x15\xc3\x02\xe8\xcc\xb6\x14\xda\x27\x2d\xb5\x79\x1b\xfd\x2a\x7d\x06\x18\xb2\xb3\x6a\x51\x7c\x7c\xdb\xc4\xc6\xe7\xbe\x5e\x75\x4f\x61\xd0\xd7\x84\xf2\xd1\x85\x3a\xdd\x46\x80\xc9\x22\xbe\xa9\x4a\xc7\xe0\xef\x93\x98\x46\x69\x30\x04\xaa\x24\x68\x11\x57\xd9\x3a\xaa\x59\xf2\x48\xd5\xc0\x8b\x81\x09\x58\xcb\xa6\xee\xbe\xa7\xea\xab\xef\xf4\x03\x44\x6e\x2a\x3e\x8a\xdb\xc4\x12\xd6\xe6\x0e\xf7\xa6\x4d\x1f\x56\x39\xd8\x4f\xfd\x2f\x3d\xbb\x17\xc1\x44\x4c\xe6\x7a\x8b\x00\x42\x09\x77\xbc\x32\xf2\x88\xfa\x74\x7f\x45\x13\xc4\x63\xd0\x4d\xde\x42\x73\x52\xbc\x4f\x81\x8b\xd9\xf1\xc1\x5f\x7c\x1d\x89\x9a\x86\x6e\x87\x1d\x48\x8f\x39\x2f\xf4\x6d\x84\x7a\xfd\x86\xc2\x0b\xbf\x56\xfc\x22\xc5\x77\xaa\x3a\xd2\x9c\x28\x34\x2d\x7d\x13\x08\x8c\xa7\x5a\x7d\x0d\xdd\x79\x9d\x0c\x73\xc9\xbd\x1b\xac\xcc\xc5\x9d\x01\x44\x52\xe6\x06\x5b\x9a\xb8\x27\xbf\xf7\xd7\x97\x2a\x6e\x9e\x59\xbb\x4a\xd6\x95\x42\x40\xa8\x11\xd1\x2e\xd7\xc5\x47\xb7\x76\xc1\x13\x76\x40\xc3\x92\x02\x7f\xdc\xa9\x94\x05\x61\xca\x7e\x95\xdc\xd6\x0e\x93\xc1\x88\x14\x11\x68\x8f\x44\x51\x01\xe0\x6c\x78\x83\x94\x6a\x5c\x8e\x57\xbe\xe0\x9d\x1f\xf5\x39\xe9\x78\xe5\x46\x65\x76\x91\x71\x63\x0b\x60\xb3\x49\x6e\xda\xd9\x48\x78\xd9\x7e\xf0\xd6\x38\x13\xd8\x4e\x0c\x15\x5e\xa7\x1f\xe9\x05\x6b\xbe\x0e\xce\xe9\xc3\xf5\x56\xeb\x06\x6b\x84\x1c\xd0\xf8\x70\x0c\xd3\x3a\x41\xae\x32\x50\x70\x30\x52\xaf\x37\x9b\xe5\x3a\xe5\x2c\x95\x31\x03\x06\xb0\x6e\xb4\x33\xb0\x2b\xe8\x06\x77\xa7\xfa\xe2\x7b\xb3\x21\xd7\xf9\x71\xea\xeb\xbf\x7e\xfc\xf3\xbf\x3e\xad\x6a\xcf\xc8\xd2\x07\xe5\x99\xd9\xd3\x68\x07\x1b\x9c\xf7\x0a\xd6\x10\xc8\x11\x77\x8a\x1c\x36\x88\x1d\x5e\x17\xb5\x79\x10\xcc\x98\x24\xe9\x7b\x4e\xd6\x56\xad\xc6\x2a\xd2\x04\xb5\xc0\xd5\x0d\xad\xa4\x9d\x61\x30\x98\x4b\xfe\xd8\xd3\x4d\x04\xf3\x0d\xfa\xea\xcd\x90\x20\xb0\x45\x80\xa0\x64\x4b\x52\x45\x58\x61\x8f\xce\xb2\xbe\x2e\xd5\x3b\x7a\x9a\x5b\x7e\x94\xea\x6f\x12\x5b\x51\x46\x47\xf5\xb8\xe9\x7a\x18\xdf\x71\x8b\xe4\x72\x68\x8d\x1c\x02\x36\x53\x53\xf0\x75\xb9\x9d\x63\x92\x66\xd1\xcb\xa6\x15\x8b\x70\x49\xa5\x5e\xb5\x48\x90\x28\xc3\x62\xf9\xb4\x7f\xdf\xb7\xdd\xe7\x23\x5f\x4b\x27\x54\x17\x28\xdb\xa4\xca\x30\x14\x2c\x38\x4d\x56\xae\x3e\x67\xcf\x45\x1a\x93\x65\x63\x14\x0e\x36\xf1\x24\x53\x17\xd4\xee\x84\x5c\xe3\x8b\xf9\x4c\x27\x14\x1a\xd0\x98\x8d\xd1\x3a\x54\x94\xd9\x55\x46\xdd\x0c\xf6\xac\xbf\x92\xd8\x78\x44\xdb\xf0\x66\x31\xcf\x4b\x12\xf5\xcb\x76\xec\x15\x5c\xfa\xc1\x11\x0d\x33\xad\xeb\xdc\xb0\xc8\xaa\x8f\xdb\x32\x64\x53\xd2\x32\x43\xb7\xa9\x5e\x85\x0c\x40\x0c\x7b\xe8\x36\x50\xf9\x2b\x09\xc5\xfb\x2d\xa7\xd2\xdb\x4d\x2e\x6b\xc9\x33\x75\xb5\x2d\x90\xe2\x80\xd9\xfc\xd3\xd1\x17\x1c\xfe\xd9\x5f\xd6\xaf\x4f\x28\xfe\xf6\x0c\x60\x7c\xc8\x1a\x8b\xa4\x92\xc7\x5a\xdc\xd0\xac\x79\x5d\xf8\xc1\x6e\x4b\xcd\x76\x08\x18\xf6\xbc\x09\x96\x14\xa3\x28\x33\xea\xf5\x58\xaa\x32\xbf\xd4\xd5\x37\xd6\x82\x99\x84\x52\x1a\xe2\x97\x17\xdb\xf5\xac\x04\x65\x15\x20\x59\x35\xc5\x76\x8c\xd8\x89\xea\xbf\x43\x53\x13\x55\x3b\x67\xf0\x0f\x5f\x20\x32\x70\x28\xb1\x89\x0f\x1d\xc8\xe3\x9f\xa5\x59\x3b\x0f\x17\x50\x53\x00\xfe\x6d\xf4\xcb\x18\x35\xf1\x21\x99\x31\x40\x6b\x88\xf0\x4f\x92\x1d\x28\xa3\xaa\x97\x95\x95\x9a\x3d\xa4\x86\x6b\x58\xb3\x2d\x3c\x7f\x84\x4e\xa8\x7a\x86\xf7\x1d\x8f\xc0\x18\x04\x2b\x57\x51\xdb\x1a\xf4\xd3\x54\x55\x12\x06\x7e\x1a\xab\x97\xdd\x4b\xe8\x09\x83\x11\x82\xc7\x1c\x37\x70\x7e\x50\x15\x3a\x53\x59\xdd\x32\x28\x9b\xff\x1b\x42\xba\x49\x32\xc8\x89\xf5\xa8\xa7\x2a\xbe\x15\x60\x4b\xbc\xe3\x1c\xdd\xaf\xe6\x07\x8a\xc8\x89\xaf\xd0\x24\xea\x04\x31\x36\xcb\x91\x00\x0f\xf4\xee\x29\xf9\x26\x86\x84\x71\x12\x84\x54\x93\xf7\x4d\x4f\xbe\xe3\xfa\xde\xfa\xa5\xba\x23\xe5\xbd\xb2\x42\x16\xc8\x77\x53\xa9\x6e\x49\x28\xe9\xb6\x19\x4d\xf4\xad\xc6\xf8\x32\x07\xdf\x6e\xe1\xcb\xb6\x5d\x7a\xf2\x2e\xf0\x1e\x90\x91\x1a\x82\x5a\x1f\x8e\xd8\x7f\xf9\xf9\xa7\xbf\x7c\xff\xd3\x7f\x3d\x0d\xd6\x67\xcd\x83\xfb\x60\x2d\x59\xd3\xd0\xb9\x96\x59\xd2\x62\x19\x40\x5f\x5f\x26\x06\x3a\xd3\x57\xc2\x09\xc8\xb7\x5b\x37\x80\x02\x0d\xfe\xdd\x3d\x03\x2e\x4a\x58\xe9\xd3\x22\x37\xf1\x91\xee\xb6\x92\xdd\xfc\x30\x29\x3d\x2d\xb3\xad\x86\x08\x40\xb9\xe9\xea\x47\xad\x02\x54\xed\x6a\x70\x21\x46\x79\x7d\x71\x5b\x42\x8a\x8c\xf5\xf1\xc2\xb8\x19\x7f\x93\xe6\x17\xa6\x31\x98\x71\xa3\x86\x0d\xbb\xc7\xc5\x16\x83\x14\x46\xb1\xa4\x03\xd4\x12\x36\xd9\xd8\xc3\x97\x3c\x21\xb3\x59\xcb\x1f\xe3\x1a\xff\x63\xff\xfa\xa7\x7f\xfb\xe1\xbf\xfe\x74\xfd\xfa\xe7\x7f\x7d\xf6\x0a\x1e\xb9\x84\xa6\x3f\x1d\xd0\xbb\x60\x14\xba\x2e\xd2\x32\x02\x82\x57\x29\x36\x82\x51\xcd\xff\x54\x46\x76\xd3\xbe\x83\x3b\xca\xb7\xf6\xda\xd7\x0e\x91\xc4\x46\x80\xb9\x7b\xe6\xaf\x2f\xa5\xba\xed\xa1\x6b\xeb\x49\x4a\x5b\xbb\xa2\x54\x6d\xae\xf0\x38\xc4\xb7\xc7\xe6\x23\x41\xea\xa0\x7e\x8b\x1a\x88\xc0\x96\x0a\x28\x7d\x66\x39\xa9\x1b\xe8\x65\xc0\xc4\x5a\x8b\x3b\xed\xad\x48\xc8\x49\xcc\xb6\x2e\xfe\xa7\x56\xe4\xf5\xc5\x2c\xa7\x56\x6f\x52\x27\xe1\x91\xfe\x61\x19\xf9\x63\x60\xd6\x8f\x7f\xfe\x8f\xfd\xeb\xbf\xfe\xfc\xf5\xdf\x9f\xfa\xe5\x5f\xde\x61\x60\xff\x55\xd4\xef\x07\xd5\xfa\x49\xbd\x1e\x07\xf2\xbc\xd7\x17\x91\xa6\x27\xa3\x3b\x26\xa3\x90\xfb\x04\x4c\x2a\x94\x98\xc6\x27\x7c\xf0\x2f\xfd\xbb\xe3\xe7\xf1\xc5\x79\xe8\x71\x36\x4a\x21\x90\xd9\xc9\x47\x20\xdc\x97\x97\x06\xe4\x33\xe9\x4d\x1a\xb2\x7e\xfe\xe7\xe6\x0d\xf8\xbf\xfc\x53\x1c\xc0\xe3\x5f\xc9\xf3\xaa\x3d\x5f\x7c\x5d\x8c\x98\x2b\xe1\xe1\x92\x2b\xf0\xc5\xcb\x3c\x6a\xf6\x59\x43\x9c\xf7\x25\x48\xe0\x07\x24\xda\x43\xb7\x7e\xb8\xad\x4a\x04\xf3\x82\x22\x2d\x39\x6a\xf2\xbe\x9c\x32\xe5\x24\xe9\x35\x88\xde\x83\x8f\x98\xc6\x6c\x54\x87\x84\xa0\xff\xfd\xe3\xf9\xed\x71\xf8\x71\xfe\xbd\x4d\xec\xef\x95\x11\x8a\x31\x76\xde\xc4\x46\x7f\x27\xdd\x6f\x73\x3f\x6e\xfd\x78\x96\xe3\xe1\x8e\xc7\xbd\xf0\x13\x20\x60\xc7\x77\x38\xd6\x70\xaa\xe4\x9d\x5c\xf7\xfe\xc8\x15\xf1\xe3\x31\x52\x1d\x7b\x1d\x69\x0c\xb7\xe5\xc0\x54\x78\xc8\xa6\x43\x47\xd5\x76\x4b\xf1\x90\x7c\x0a\x3c\x19\x1f\xec\xfc\x70\x7c\x15\x87\x2e\x71\xe6\x72\xb6\x85\xb0\x52\x65\x10\x65\x8c\x7d\xc1\x65\x11\x86\x81\xbd\x23\xe7\xfa\x1f\xb7\xb9\xc4\x5d\xdf\x5f\xdf\xf9\x60\xbf\x20\x00\xc2\x86\xea\x8b\x4c\xbf\xd0\xfe\xd4\x8c\xad\xcd\xd7\x2e\x55\xdf\x15\x95\x8a\xe8\x7c\xb5\x38\x92\x74\x0e\xee\x2c\x6f\x38\x5c\x10\x2f\xf6\xd9\x5c\x76\x9c\x6a\x6e\x22\xd6\xc4\x33\x4c\xfa\x8e\x7f\x51\x35\xe7\x87\xf3\x88\x3d\x4e\xd9\xfc\x61\x12\x9a\xdb\xd9\xf8\xc6\x7b\x70\xb3\x82\x17\xdf\x8f\xfb\xd9\x2a\x86\x18\x6f\xe3\x63\x68\xf7\xfa\xe3\x9f\xfe\xed\x19\x19\xf2\xc3\x7d\xed\x2b\x41\x6d\xfc\xa1\x71\xf5\xbf\xd7\xd0\x7b\x7d\x69\xf3\xa0\x4f\xf1\xce\x0b\x05\x04\x10\x3b\xa0\x3e\xae\x22\x31\xbd\x2f\x87\x24\xc2\x1b\x69\x84\xd0\x4e\x68\xba\xf3\x3c\x5f\x1f\xce\x85\xe7\xde\xdc\xe5\x6f\x6e\xef\x43\xbd\x9b\x67\x79\xbf\x9e\x1f\x69\xa4\xa7\x94\x55\xb3\x3b\x3a\xb9\x5d\x97\x92\xd5\xd7\x45\xb3\x64\xa3\x5c\x67\x59\x97\x52\x67\x6a\x53\xf8\x61\x69\x53\xfc\xaf\x92\x4b\x92\x96\xaf\x55\xf5\x77\x16\x71\xfa\xdf\xc8\x5b\xf5\x3f\xa5\xcb\x53\xdf\x7c\xa4\x96\x30\xa4\xa6\xd6\x3b\x2c\x5b\xa3\x4a\x3f\x4c\xdd\x7d\x09\x76\x72\x86\x81\x30\x57\x2c\x2a\xe7\x33\x54\x61\x76\x50\x62\x6f\xee\xa5\x8c\xd4\x59\xa6\xbc\xfb\x8e\x63\x7c\x3a\x9c\xdc\x51\x42\xa3\x2d\xb5\x49\x90\x19\xa2\x47\x22\x96\x04\x2c\x22\xb3\x27\xb1\x0d\x97\x86\x99\x0b\xc3\x74\x19\xcc\x7c\x11\x6c\xe0\x36\xfe\x56\xa0\xc2\xd3\x99\xee\xab\x75\x97\x56\x23\xeb\x3a\x25\xf9\xf6\xad\x69\x94\xbd\xe6\x24\x10\x4c\x90\xe6\x77\x83\x4c\x03\xab\x61\x6b\x0b\xc6\x83\x3a\x92\xea\xc5\x37\x14\x98\xf1\x1b\x48\x26\x21\x59\xd5\x40\xef\x81\x30\x53\x27\x65\x90\xe8\x4e\xbb\xdd\x7f\x22\x96\xbe\x19\xab\x2b\x98\xb1\xf9\x52\xf7\x4e\x65\x7d\xdd\x47\xc8\x35\xfa\x06\xa1\x2c\x0e\x07\x8d\x90\x6c\xcd\xd2\x48\x94\xcf\x51\x4a\xbf\x02\xe5\xd1\x6b\x2a\x8d\xd2\x25\xaa\x49\x33\x55\x66\xf5\x30\xb1\x63\x6b\x82\x1c\x67\x39\x2c\xff\x9e\xb9\xdb\x55\x90\xe9\x0f\xbf\x09\x94\x7c\xcd\xfb\x86\xa7\x59\x79\xc3\x9a\xcf\xed\x03\x7a\xfe\x69\x19\xfc\xc3\x25\x16\x68\xdf\xac\xbb\x31\x11\xef\xce\x75\x0b\xf7\x21\xb9\xd3\x5c\x7b\xd2\xa9\x2b\xf4\x3a\x65\xa4\xb9\x29\x0b\xe6\x47\xaa\x99\xbe\x46\x19\x7b\xcd\x20\x8b\x28\x08\xa6\x2f\x0d\x2e\xb5\xda\x99\x30\x45\xc8\xe7\x88\x51\x48\x23\x11\x35\x4b\x11\x21\x8a\xdb\x10\xf1\x21\xdc\x99\xef\x28\x68\x1a\x96\xe2\xcf\x49\x48\x91\xf8\x2d\x29\xa3\x01\x4b\x93\xcc\xad\xde\x17\x54\x44\xf6\x67\x49\x02\xda\xc9\x1a\xda\xae\x27\x1f\x04\x18\xd5\xf6\x65\x26\x2b\xfb\xd2\x90\xcf\xbc\xd0\x1d\xb1\xba\x2d\x93\x99\x41\x38\x2e\x48\xea\xba\xe7\xcd\x0e\x84\xe6\x75\xe9\xac\x48\x4e\xe2\x43\x1c\x69\xd1\x33\x25\x1b\xba\xb7\x4c\xa2\x5a\xde\x01\xfb\x63\x25\x17\xba\x5b\xd4\x5f\x6d\x32\xb1\xd4\xca\x66\x7d\x26\xeb\xa9\xf9\x90\xa9\x79\x23\xf7\x42\x4b\xa8\xf6\x16\x55\x24\x21\x35\x27\x7a\x70\x55\x78\x8b\x4b\xfd\xd8\xe8\xfe\xfe\xc7\xfd\xfb\xbf\xfe\xe9\xdf\x7e\x78\x9f\x80\xb5\x9f\x98\xc4\x51\x46\x6a\x48\x48\xf9\xb0\x2e\x92\x5a\xdb\x97\xde\xc1\x04\x44\xe2\x86\x23\xa1\x84\x07\x30\x0e\xb2\x2f\x20\xd2\x74\xdf\x72\x48\x2a\xbb\xb5\xd4\xd5\x67\xf1\x48\x6d\x28\x56\x8a\xc6\x60\xb2\x28\xd6\x09\x5f\xbf\xf1\x61\x26\xbc\xb9\x06\xe0\xd1\x42\xd2\x63\x7f\x9c\x69\x1c\xf8\xad\x6c\x1d\xb1\x22\x29\xa1\xf0\xb0\x8f\xe0\x8f\xc4\xac\x85\xae\x54\x37\x26\xb6\x10\x97\x25\x5f\x46\xd9\x11\x19\x94\xb6\x2f\x64\xd0\xf0\xb5\x84\xa1\x54\xdf\xaa\x4b\xca\xc8\x95\x35\xac\x61\xf1\xa2\xb1\x20\xb5\x18\x47\x60\x0f\xf1\x45\x67\x26\xf3\x37\xb3\x97\x4c\x40\x4b\x41\x9d\xdd\x26\x13\xdc\x6e\xa0\xc9\xde\x90\xe0\x45\xe0\x7b\x10\xa3\xe2\x17\x46\x46\x9b\x52\x43\x52\x34\x19\x6a\xed\x7a\x3a\xc7\x9b\x81\x73\x83\xec\x29\x94\xba\x68\x47\x18\xd5\x1a\x1e\xb5\xed\x8b\xb5\xe6\x56\xfe\x4a\xbd\x76\x32\x5c\x29\x63\xbe\xb5\xa4\xe2\xf6\xab\x64\x90\x28\x0c\x49\x14\xff\xc9\x63\x83\x12\x70\x69\xee\x0d\xa5\x6a\x9b\x15\x24\xf1\x67\xaa\x72\x50\x0e\x70\x67\x41\xc2\x4e\x5e\x2f\x6e\xaa\x83\xd3\x38\x6f\x13\x69\xda\x91\x7a\xc5\x0b\xaf\x5c\x3d\xa9\x62\x2b\x8d\x48\xbf\xd1\x93\xb5\x6d\x11\x3b\xc4\xda\xfc\x7e\x4a\x63\x2c\x18\xe0\x21\x6e\x43\x95\x14\xe4\x60\xca\x98\x1c\xa3\x1b\xc9\x70\x41\xd9\x6a\x03\x01\x13\xe9\xb2\x33\xb4\xd6\x37\x90\x1b\x62\x12\xef\xc8\x3e\x00\x57\xe3\x9e\x00\xdc\xd6\x4d\x72\x45\x06\x58\x47\xa1\xd6\x9a\xfa\x6e\xac\x23\x95\x92\x53\xb3\x4d\xc9\xf2\x4b\xb6\x05\xf7\xff\x75\x12\xda\x53\xf2\x56\x20\xb0\x97\x46\x4e\xa5\xdb\x3f\x25\x3f\xe1\xfe\xd7\x7f\xff\x7e\x7d\x32\x1a\xfb\x87\xd4\x69\xa5\x24\xcd\x7d\x1d\xc8\x70\x30\x9d\x46\x05\x38\x2c\xa7\xcd\xc7\x1f\x08\xc5\xdd\xba\x0e\xde\x34\x48\x18\xa8\x7f\xc5\x84\x6e\xd9\x97\xe9\x96\x86\xcf\x0c\xd8\x1c\x9a\x23\x7c\xe4\x6e\x39\x94\x16\xa5\x8d\x9b\x4a\xdd\x7a\x94\x5f\xbb\xad\xf4\xa5\xee\x53\xd2\xcc\xee\x7e\x48\x06\xb4\x6a\x82\xbc\x66\x60\xfa\x24\x44\x61\x50\xb2\x1a\x8c\x62\x57\x2d\xe5\xb6\x14\x2d\x57\x33\x8b\xaa\x60\xb3\x72\x5b\xaa\x80\x05\xc1\xdd\x69\xee\xe0\x41\x5f\x58\xb1\x02\xdd\xa9\x67\x62\x61\x28\x97\xad\x8f\x04\x89\xf7\xa4\x9f\xa8\x63\xa0\x47\xdf\x5f\x11\xcb\x9d\xf0\xd1\x97\xb3\x0a\x90\xa6\x0c\xf2\xce\x12\x9a\x90\x91\x3b\xd8\xb8\xb0\xd1\x80\xa5\x60\x03\x08\x75\xe4\x0e\xcb\x61\x29\x33\x71\x35\x36\xc7\x55\x6b\xbf\xc9\x2c\xd4\x7c\x37\x6d\xd7\x45\x06\x58\x3f\x88\x6c\x95\x8c\x5d\x0e\x5c\x33\x30\x12\x46\x07\x5d\xcf\x32\x2b\xd6\x62\xfc\x14\x09\x8e\xb2\xdb\x22\xad\x5e\xc5\xf2\x6d\x29\xec\x29\xdf\x8a\x63\x91\x84\x47\x0d\x09\x79\x24\x82\x38\xed\x03\x1d\xe0\xab\x76\x9b\x49\x52\x88\x81\xd5\x1d\x96\x64\xcd\xbe\x20\xfc\xd3\xc5\x92\xd7\x9f\xfe\xfc\xaf\xdf\x7d\xfd\xf9\xe7\x9f\xfe\xf3\x5d\xd2\xfb\xfe\x04\x82\xeb\x6d\x9c\x0e\x00\x48\xdf\x0f\x41\xc7\xca\x60\xbd\xd5\x93\xc7\xfe\xd4\xed\xe1\xbb\x89\xbc\x80\x9b\xa6\x7e\x58\x25\x9b\x3d\x2c\x54\xb8\x94\xf5\x81\x91\x9e\x1c\x1a\x5a\xc6\xaf\xc4\x1c\x6b\x19\x7e\xca\x86\xd4\x0f\x96\xc7\x8f\x87\xf0\xc3\x63\x3f\x4b\x1f\xf4\x27\xda\xa3\xb7\x0f\x2d\xb9\x50\x0f\x13\xc4\xb3\x33\x70\xa8\x5a\x78\x1f\xdf\x60\x2a\x98\xef\x96\x3a\xf9\x7d\x93\x26\xe4\xae\x8a\x30\xdd\xb3\xae\xab\x77\xe4\xa1\xe8\x7e\x6a\x13\x1d\x22\xed\x92\x57\xef\x41\x74\x34\x12\x1d\x88\x28\x7f\x82\x72\x7c\x78\xe8\xf7\x54\xca\xfb\x33\x01\xd0\xa3\x72\xfb\xc1\x9c\xf1\xcd\xca\x10\x7f\x18\xe2\xbd\xc2\xa8\x60\xf7\x40\x6f\xb3\x52\x1d\x9f\x59\x62\x3c\xd0\x82\x87\xe2\xeb\x05\xf3\xce\xca\x03\x80\x16\x13\xff\x94\x1a\x18\x7a\x28\x02\xa0\x13\x4d\x5f\xd1\xc3\xbf\xa9\xaa\xe4\xe1\xa9\xdf\x95\x04\xef\xcf\xa9\xc7\xc7\xc7\x76\x63\xac\x9c\x3c\x3b\x27\xac\x7e\xc0\xff\x2a\xe0\xa3\x22\x5d\x18\x5d\x38\x01\x01\x15\x86\xf1\x4d\x41\xfc\xa1\xbf\xb6\xea\x07\xfd\xc7\xee\x53\xe1\x4c\xd8\x81\x61\x5d\xe3\x6a\x04\x1a\x45\xf7\x7d\xf2\xd4\x5f\xff\xf2\x97\xe7\x72\xff\xfe\x4c\xfe\xf2\xa0\xc6\x62\xd3\x6d\x2b\x21\x5c\x2e\x84\x78\x7c\xa9\xc6\x3b\xe3\x30\x6f\x91\x7b\x95\xd9\x80\x8c\x44\xaf\x80\x70\xc9\x9d\x24\x66\x38\x05\xbf\x06\x0c\x11\x68\x1e\xdb\x90\xfb\x06\x4f\x87\x1f\x03\x72\x7a\x22\xd1\x2c\x4b\x52\x50\xa3\x94\x9e\x14\x96\x5c\xe9\xa9\x02\x20\xa1\x48\x76\x5b\xb2\x5e\xc0\x7a\x27\xbe\x2b\x8f\xe2\x3f\x03\xdf\x80\x4d\xd8\x7b\x05\x41\x79\xd0\xca\xf9\xef\xa5\x82\x05\xcf\x92\x15\xf0\x7a\xba\x21\xd7\xf9\x1b\xd7\x49\x41\xca\xfe\xb2\x21\x75\xe8\x96\x62\xd8\x45\x4b\x9f\x84\xd1\x80\x8c\x1d\x79\xfa\x06\x24\x3d\x13\xcc\x9a\x49\x17\xa9\x05\x70\x09\x55\xdb\xa5\x22\xb0\x06\x4e\x70\xd2\x61\x62\xf4\xb7\x23\x42\xea\x06\x9f\xbb\x5d\xbd\x12\x74\x22\x36\x36\x00\xc4\x2b\x6d\x4e\x77\x08\xa8\xbf\xc4\x8a\x52\xe6\xa8\xfc\x59\x67\xf2\xed\xb8\xf6\xad\xd3\x97\xd7\x0a\x3a\xf1\x8d\xcc\xa4\xdc\xa6\xf6\xf8\x09\x9c\x4c\x8a\x88\xc2\x1e\x3f\x3f\x1c\x1e\xff\xf9\xe3\x9f\xff\xe5\xa7\xff\x7c\xaa\x39\xed\xcf\xd9\xc3\x3b\xe6\xb9\x0d\x4d\xd5\xf7\xcb\x56\x65\x5d\xfc\xb7\x59\x6e\xb5\xf6\x6b\x1b\xfa\x8a\x6f\x45\x3b\xe0\x80\xf3\xea\x5f\xdf\x2a\xea\x2f\x5a\x2b\x3c\xad\x8f\x46\xd1\x29\xd1\x7a\x6b\x4d\xae\x33\xf7\xf8\xde\x87\xe1\x6d\xe9\xbe\xb7\xcf\xdc\x6f\xad\x7d\xbc\x7a\x7f\xfd\xf3\xbf\xfc\xfc\xd3\x8f\x4f\x24\x90\xfd\x23\x09\xed\x32\x21\xbc\x65\xc1\x41\xd3\x83\xaa\x6f\x27\x47\x2b\x29\x19\xef\x1f\xef\xdf\xc3\x63\xe6\x27\x42\xcc\x70\x4e\x7c\x38\xbe\x7b\x7d\x99\xee\x18\x3f\x34\x7f\x34\x7e\x36\x7d\x36\x7c\x36\x7b\xc4\x31\xe2\xc2\x47\xd3\xe7\xc7\xfb\x11\xc0\xcd\x01\x02\x01\xdc\x40\xf7\x61\x9b\x77\x8c\x2b\xbd\x2d\x85\x50\x3c\xf8\x99\x33\x10\x88\xf0\x33\xfd\xa8\x0b\x62\x0f\x96\xc1\xd8\xdb\xed\xc6\x83\x0b\xca\xea\xbb\xee\xf8\x0e\x71\x1c\x4b\xa3\xfa\xbb\x6d\x24\xb7\x08\x06\xd9\x3e\x68\x3a\x99\x5e\x97\x5e\x7d\x09\xee\xc7\xb5\x70\x79\x23\x65\xbd\xb7\xff\xe6\x32\xaa\xfd\xea\x83\xfd\x83\x33\x0e\x10\x44\xd7\xfb\x79\xeb\x22\x09\xa7\xf6\x72\x40\x52\xfa\x80\xc3\x67\x9a\xfa\xb8\xb5\xd6\xae\xd3\x5d\xd8\xe9\xbe\xad\xd6\xba\x11\x24\x55\x41\x25\x16\xaa\xd1\x0d\x58\xa3\x4a\x14\x9f\xa2\x4e\x46\x7a\x6a\x25\xe1\x8f\xbb\xb8\xcf\x46\x7d\xe5\xee\x46\x1c\x70\x0d\xe4\x9d\x05\xd9\x1a\x61\x9d\x6d\xed\x40\x8a\xeb\x36\xab\x77\x97\x66\x49\x45\x77\x04\x3b\x8b\xfa\x97\xfe\x1d\x90\x0b\x9a\x7d\xa7\x02\xe2\x17\x8b\x44\xd4\x82\xf6\xd6\xdf\xbc\x9b\xcf\x9f\xfe\x78\x39\xc6\x97\xe3\x36\xbe\x26\x46\xe5\x2c\x11\xd2\xa6\x08\x62\x66\xc6\x11\x3e\xde\xf6\x7e\xfc\xf3\x5f\x9f\x12\xae\xfd\x4c\x13\xb6\x66\x6e\xa8\x56\x66\x73\xe4\x08\x86\xd1\x12\x1f\x91\xec\x87\x3d\x4d\xe7\x72\x03\x4b\x94\xcc\x24\xf5\x2a\xf9\xf5\xa5\xfb\x72\x24\x42\xde\xe8\x83\xea\xb8\xdd\x6d\x77\x16\x9b\x88\x60\x53\xd0\x8d\x15\x1b\xbe\x63\xbf\xbe\xd8\x9c\xa9\xb9\xe9\x07\x78\x75\x43\xfe\x29\x22\x90\x47\x22\x1b\x10\xfd\x48\x2a\x59\x58\x92\x71\x9b\x8a\x82\x03\x42\x03\x3a\x7d\x71\xf1\x55\xd1\x92\xa6\xbe\x6b\x6a\x20\x08\x2b\x91\x8a\x29\x37\xdb\x7d\x4c\x31\x11\xa3\xf0\xd9\x6b\x49\xc6\x61\x31\x30\x74\x8a\x37\x29\x48\xd3\x73\x92\xc2\x8f\x33\x46\x0f\xf3\xc9\x1d\x1f\x69\x71\x70\x33\x40\x96\x29\x90\xff\x24\x48\x3d\xe2\x13\x04\x21\x0f\x2a\x8d\x65\x4c\xc4\xd4\xd1\x17\xc8\xf6\xf4\xb4\x0c\xdb\x06\x68\x03\x15\xb0\x7d\xed\x91\x51\x2b\x4c\x77\x11\x24\xee\xbf\x27\x7a\x44\xcc\x01\x8d\x90\x66\x47\x3f\x4b\x06\xd9\x2f\xf6\x69\x60\x0d\x66\x14\x3b\x14\xd6\x0e\xe1\x66\x48\x25\x65\x49\x82\xf9\xa0\xb3\x6c\xb7\x11\x67\xcb\xd0\x39\x0a\x24\x5a\xc4\xe2\xcc\xbb\x0a\x4e\xbf\x3f\x9b\xa4\x96\x30\x9d\x40\x80\x34\x4f\x35\x12\x0c\x99\x9a\x50\xba\xf8\x85\xc2\x84\x60\x7a\x15\xb0\xa8\x4a\xa8\x88\xee\x23\x55\xd9\xad\x25\xed\x90\xfa\x23\xae\x3f\xef\x05\x49\x3c\xbe\x4c\x82\xd6\x19\xd4\xc9\x24\x66\x10\x4b\x8c\x45\xb4\x9b\xbb\xdd\x15\x9a\xf1\x28\xd7\x40\xec\x50\xd2\x41\x23\x8e\x70\x22\x56\xd3\xce\x3e\x07\x09\xee\x32\xb0\xe7\x92\x3f\xa6\xc6\xb0\xbe\x04\x29\x28\x09\xb6\xe9\x69\x5a\x30\x42\xa0\xa7\xe0\x56\xe3\x8d\xb8\xdf\xbd\x94\xea\x96\x02\x16\x6a\x7a\xc8\xb1\x1c\x07\xf6\xa3\xb2\x10\x0b\x17\x08\x92\x59\xb0\xab\x22\x4e\x29\xe7\xe0\x75\x53\x0d\x9e\x8d\x94\x0d\x4c\x36\x3d\x8d\xc8\xc3\x12\xd9\x51\x0e\x56\x50\x33\x36\x08\x8d\x16\xeb\xee\xf1\x93\xa7\x36\x07\x3a\x9f\x94\x8f\xe6\xef\x98\x31\xf0\xed\x84\xf8\x83\x7e\x6c\xb2\x2e\x52\x53\xec\x29\x7a\xb0\xd7\x1f\x73\x6a\xbb\x33\x95\xd7\x2f\x41\x2b\xcb\xf4\x29\xf8\x8f\x06\x89\xc0\x91\xfc\x68\x2c\x8b\x0b\x4a\xe4\x1d\x6f\x76\xf1\x61\x5d\x3a\xaa\x50\x32\xf0\xeb\x9a\xc4\xcd\x6f\xbf\xd7\xa3\x4f\xd9\xbb\xb6\xbb\xe5\xea\xaf\x64\xba\x6d\xab\x39\x8d\xcd\x6f\x93\x21\x08\x26\x1b\x18\xee\x67\x67\xce\xc8\x82\x2e\x8d\xb1\xf6\x10\x99\x3d\xab\x07\xbf\x04\x36\xdf\xc7\x0a\x98\x70\x0d\x81\x73\x60\xf5\x67\x42\xf8\x25\x29\xfd\x90\x1d\x70\xa4\x09\xd8\x9c\x1b\xda\x0d\xfc\xd8\x90\xab\x4a\xd6\xfc\x5e\xfd\x5d\x90\x8b\x5c\x3a\xc7\x9c\x74\xf2\x7b\x89\xb2\xd8\xcd\xe7\xf9\xb8\x9b\x54\x00\x06\x12\xfe\x53\x90\x1e\x3d\x08\xf1\xa9\x10\x0e\xc2\xa2\x72\xac\x53\x87\x7a\x04\xea\x0d\x90\x62\x29\x4c\xcb\xf8\x44\xd9\x17\x54\x7c\x82\x0b\x18\xa5\x3b\xf0\xf7\x10\x4c\xb2\xd4\x89\x7e\x27\x95\x5c\xf2\xd7\x0b\x1b\x0f\x63\x8c\x79\xb1\x1a\xf1\xc1\x76\x12\xc5\x23\xa6\xb4\x33\x74\x3b\xc2\x68\x68\x76\x61\xa4\xaa\x25\x92\x34\x2f\x18\xce\x7c\xd5\x45\x48\xe9\x3e\x12\x47\x91\x2f\x19\x0c\x80\x73\xf8\x60\x81\x9a\x10\xfd\x32\xde\x8b\xb5\x34\x7d\x1e\x24\x1d\xa9\xa4\xda\xb6\xc2\xf8\x23\x48\xab\xa3\x6b\xa8\xf6\x40\xfc\x25\x16\xe9\xd6\xb6\x7a\x2a\x10\xe9\xd8\xb9\xee\x21\x95\x0f\x0f\xb6\x1c\x52\xc7\x16\x35\x60\x42\xae\x37\x06\x6c\x6c\x30\x11\x83\x6e\xe2\x50\xb5\x8d\xc1\x51\xbf\xb7\x42\x74\x99\x1b\xcf\x7b\x8f\xf8\x79\x41\x36\xa4\x27\xea\x3f\xa7\x11\x0a\x06\xd2\xf8\x3a\x7c\xa8\x69\x6a\x9b\x6f\xef\x24\x90\xdd\x71\x2f\x3c\x73\x01\xc1\x16\x22\xc7\xa8\xb3\xc2\x8d\xf4\x34\xfa\xa6\x96\x6c\xb8\xe3\xe0\xee\x85\x02\xaf\x86\xb2\x1e\xbc\x9b\x18\x61\x8b\xbb\xf4\x51\x51\xdd\x62\x01\xd0\x98\x64\x1b\x42\xe0\x20\x8d\xee\x9d\xe5\x93\x33\x6f\x04\xcc\x36\xd4\x7b\x1c\x84\x34\xb3\xbb\xf7\x87\x67\x11\x80\xb5\x00\xaa\xf2\x0d\xad\x93\x10\xae\x46\x4c\xff\x5e\x47\x89\x02\xf8\x06\x7c\x74\xd5\x8b\x5f\xaa\xe3\x91\x60\x49\x70\x83\x40\xe6\x85\x33\xa3\x6f\x1a\xe1\xe1\xe6\x8b\x52\x4e\x9d\x35\x2f\xc1\x27\x8d\xf7\xe3\xe6\x85\x25\x62\x74\x6a\x9a\xd5\x87\xb0\x7f\xd5\x4e\x2b\xd8\x0d\xa4\x9d\x2c\xd8\x95\x86\x41\x70\xca\xba\x81\x08\x7a\xbb\x63\xff\x2f\xa9\x60\xbe\x48\xe8\x50\xfb\xba\xda\x13\x12\x4e\x67\x70\x7f\xe3\x40\x42\x28\x73\xc7\x86\x9a\x5f\x5f\x46\x03\x1a\x1e\x21\x1f\x18\x1d\x51\xd4\xca\xcd\x1e\x19\xa6\x6d\x81\x4d\xe8\x37\xbd\xfb\x56\x79\xd9\x7d\xd4\x6c\x94\x34\x44\xb9\x21\x26\xae\xa5\x91\xd4\x7b\x3b\xa9\x3f\xd4\xf4\xb9\x56\x32\x0a\xf3\xd8\x51\x68\xad\x73\x88\xb4\xed\x28\xee\x72\x83\xa5\x32\xb0\x13\x06\xcd\xc2\x85\x1f\x6b\xe1\xf2\xb8\x9e\x62\xec\xb7\xc3\x5e\x6a\x69\x99\xbb\x61\x81\xdb\x0a\x2f\x9f\xdd\xf6\x47\xe0\x76\x6e\x92\x24\xcd\x24\xfe\x8b\xee\x33\xf5\x28\x4a\x6f\x9c\x17\x12\x53\xbf\x7c\x61\x3d\xac\x96\x1d\xf7\x78\xc8\x74\xd4\x48\x7c\x72\xd7\xc3\xa2\x78\xa1\xfe\x86\x44\xdd\x22\xfe\xdc\x0e\xb8\xa3\xd4\xd3\x6b\xb1\xc8\x2d\x4c\x86\x30\x99\xf9\x63\x71\x52\x2b\x21\xf6\xd7\x90\x59\x08\x0d\x8b\xc1\x31\x0b\xdc\xef\xb1\x65\xaa\x9d\x9b\x9f\xd6\x23\x59\x47\x7b\xa0\xa7\x63\x85\x46\x17\xe5\x44\xd1\x46\xc6\x52\x17\x89\x34\x30\x66\x1b\x97\x71\x5f\xb6\x99\x59\xde\x8f\x94\x53\x3e\x72\x91\x3a\x4e\x26\x79\xa6\x77\x11\x0c\x63\xcc\x1d\x74\xfa\xa5\xa5\xe2\x4b\x9c\xcc\x04\x70\x19\x89\xb5\x6b\x4e\x33\xd8\x14\x69\x9e\xd9\xb9\xbb\xfa\xda\x3f\xc3\x24\xf3\x39\x46\x1a\x7a\x9f\x62\x05\xb1\x74\x08\x9c\x20\x93\xe6\x36\x1b\xd9\xeb\x7d\x16\x11\x8f\x04\x6b\x10\xd8\x48\xca\x8d\x14\x9f\x7c\xa2\x9b\xc1\x70\x74\x0f\x0a\xef\xab\x0a\x92\xb2\xb0\xea\x11\xdd\x6e\x94\xa4\xd6\xa0\x71\xc0\x54\x2b\xb0\x97\x8e\x38\xa8\x91\x8a\xdf\x7b\x69\xc3\xda\x82\xdc\x72\xec\x3c\x63\xa7\x2d\xdc\x77\x62\xeb\x0f\x53\x06\x24\xe7\x97\x58\x1f\x07\xd4\x5c\xa8\x76\xac\x6d\xe3\x0e\x1a\x9c\x01\x20\x83\x64\x26\x29\x4a\xbe\x97\x86\xa2\x05\xd5\x60\xde\x54\x23\xdf\xe5\x52\xdc\xb1\x68\x09\xdc\x99\xbe\x58\x1b\x44\x0a\xfa\xc9\x69\x29\x13\xe5\xb3\x9a\xd1\x27\x1b\xaa\x22\x64\x62\x9d\x9f\x49\xdd\x50\x6d\x54\x1e\x80\x0c\x6e\xa6\x5d\x37\xa3\x58\xd2\x57\x18\x12\x9c\x99\x2f\x67\xfe\x32\xb3\x37\xa7\x25\x15\xa4\xa6\x8a\x6e\x24\xec\xc2\x82\xa8\x34\x21\xfa\xf0\x8d\xb9\x89\x2f\x15\xb5\x5c\x36\x11\x86\x72\xc4\x27\xe7\x24\x75\x17\xca\x42\x20\xa8\x9d\x7d\x9d\x9a\x08\x89\x4a\x25\x3c\x0b\xe1\x1c\x26\x56\x15\xdc\x6b\x49\x65\xab\x06\xb9\x98\x16\x8e\x85\x9b\x89\x6e\xd9\x6d\xac\x45\x4a\x93\x53\x88\x02\xf7\x1c\xa0\xa5\x87\xfb\x33\x69\x84\xaa\x94\xcd\xe2\x49\x59\x92\x2b\x03\xc5\xd2\x75\x26\xf6\xb6\x34\xdb\x99\xc1\x93\x09\x00\x73\x99\xe9\x88\xc6\xb3\xa6\x99\xb3\x27\xd3\x84\x93\x1c\xe2\x1c\x5f\xa2\x70\x1b\x69\x76\x68\xf0\xa1\xda\x99\x4a\x06\xfb\xc2\x98\x18\xb5\xc0\xb9\x78\xa6\x83\xc2\x3b\x9c\x24\x1a\xc3\xf7\x00\x46\xe6\x62\xc9\xa1\xef\x86\x05\x95\x22\x8d\xd9\xf7\xa5\x4c\xdf\x3c\x67\xc7\xa8\xe9\xac\x00\x98\x9c\x24\xac\x63\x09\x74\x08\x34\xe8\xcc\xf6\x41\x91\x87\xad\x22\x17\x0a\x08\x04\xe7\x51\x3e\x44\x1f\xd0\xbd\x23\xf5\x1e\x53\x07\x79\x1c\xa2\xa6\x7d\x5c\x61\x96\x4a\xac\x24\x28\xbe\x85\xbb\x03\x7f\x65\xc0\xe5\xf0\xfd\xed\x42\xe3\x19\xfd\x8e\x07\x4d\x81\xbf\xd8\x85\x30\x74\x58\x99\xf9\x5c\x29\x18\x60\xde\x23\x63\x63\xfb\x69\x50\x7e\x02\x44\xfe\xf1\xfb\xef\xdf\x09\x8c\xbe\x85\x89\xa2\x6e\x4b\x93\x82\x1f\xa4\xe4\x54\xe6\x00\x0b\x09\x48\x70\xb9\x64\xc6\x74\x0e\x64\x1f\x9e\x67\xa7\x84\xca\x70\xeb\x96\x34\x20\xe5\x80\x24\x2d\x52\x20\x6f\x9a\xa0\xea\x02\x1b\x21\xa7\x82\xae\xae\xf9\x90\x22\xa8\x2d\x55\x7d\x7d\x19\x36\x11\x71\x76\xe3\xae\x80\x7d\x0e\x62\x30\x8b\x61\x72\xb9\xad\x81\xda\x36\x63\x6d\x3e\x16\x55\x95\x23\x2e\x89\x24\x1b\xdf\x02\x4d\x2f\x21\xaa\xd1\x17\x76\x7a\x4d\x7c\x77\x85\x30\x22\xec\x39\x60\xae\x1d\x72\xe1\xaa\x51\xc6\x6a\xc0\x0a\x15\xa4\xb8\x40\xf0\xed\xb3\xdb\x6d\x8e\x6e\x9a\x06\xd8\x86\x35\xa2\xa8\x5a\x4a\x42\x75\x1f\x62\xaf\x08\x92\x62\x96\x8c\xb6\x13\xdb\xab\xdd\x57\x4c\x7f\xbe\x96\x5b\x1a\x08\x8e\x88\x7b\x96\xcd\x1f\xd0\xff\x4a\x81\x28\x9d\xf0\x8a\x81\x92\xc6\x28\x6d\x73\xf3\x95\x1f\x70\x5b\xff\x0f\x99\xd1\x96\xb4\x02\xee\xd8\x60\x15\xf4\xee\x9d\x10\x96\x3a\xb6\x59\x4d\xf2\xfa\x22\x9a\xdd\xb8\x46\x7a\xd6\xcf\x6d\x30\x29\x81\x84\xda\x96\xde\x4e\x65\x0e\xf7\x16\xf8\xa6\xba\x2f\x21\x6e\xc3\x0d\xdd\x7c\x69\x6b\x50\xc4\x04\x45\x00\x40\x97\x40\xac\x00\x09\x55\xfb\x6e\x47\x72\xd2\x9f\x05\xa0\x62\x88\x84\x28\x96\xff\x32\x53\x91\x4c\xdc\x39\x4d\x09\x0d\x57\x97\x7e\x04\x61\x37\xd4\x84\x41\xa1\x24\x87\x48\x26\xc4\x57\xb8\x99\x37\x84\x4f\x2a\xde\xbd\xbf\xd1\x59\x69\xc3\xb5\xd8\x19\x68\xd2\xa3\xca\xb5\x26\xc8\x8f\x74\x02\xa4\x74\x6f\x93\x1b\x2f\x9e\x79\xa7\x4f\x55\x83\xfd\x18\x9e\x36\xfe\xd2\x2e\xbb\xd2\x57\xf9\xe7\x45\xe0\xfd\xc7\xbf\xfd\xaf\xbf\x3c\x4f\xe4\x3b\x16\x54\xba\x41\xe1\x94\x18\x5b\x84\x47\x26\x9d\xcb\x01\x85\x07\xbc\x02\x83\x54\x0d\xb6\x45\x2b\xfb\x02\x70\x99\x02\xb5\x5e\x92\x16\xc4\xee\x3b\x29\x60\x18\x38\x38\xcc\x61\x37\x02\xda\x61\x15\x09\xf7\x4c\x04\xef\x3a\x78\x2e\x53\xef\x11\xb3\x43\xc9\xd4\x8e\x40\x0f\x20\x4d\x23\xd6\x75\xb0\x07\x4f\xbc\x16\x51\xf7\xae\x73\x14\x84\x2b\x4b\x2e\x3a\x48\x15\x60\xb2\xb1\x64\x03\xb9\x94\x46\x7b\x74\x68\x72\x4f\x38\xca\x44\x0f\xa3\xef\x02\x64\xd0\x17\x16\x3a\x22\x14\x82\x04\x38\x37\x18\x6f\x34\x32\x13\xf0\xe2\x32\x6a\x6a\x80\x83\xf7\x0d\xd1\x67\xe1\x09\xa6\x36\x45\x69\x08\xfd\x22\x54\x54\xc4\x9e\x6b\x6d\x0b\xd3\x06\x75\x35\x44\xa8\x4f\x86\xae\x5a\x2c\x76\x95\xe0\xb0\xa3\x7e\x1c\x5b\x2b\xf0\x44\x95\x3c\xd5\x74\xec\xc0\xeb\xd1\xe2\x2f\xb5\x20\x7a\xc4\xd2\xdc\xa8\x9d\xcf\x87\xd6\x1c\x6b\x27\x27\x09\xc6\x17\xa9\xf0\xb2\xa6\x90\xa3\xe9\xb2\x75\x43\xae\x27\x07\x73\x10\xf6\x45\x84\xad\xc6\x00\x1e\x0a\xf2\x63\x49\x02\x51\x54\x41\x9b\x40\x92\xac\x4a\x82\x1e\x8e\xbb\x08\xc9\x47\xfa\x3f\x62\x26\x39\x45\x85\xeb\xc8\x1b\xa2\xe0\x74\x56\xf3\xa1\x11\x44\xad\x12\x4c\xbc\xd8\xdb\xb5\xde\xb1\xbd\x8a\xb0\x20\x42\x71\x9d\x72\x05\x9d\x01\xa1\x9a\xc1\xe4\x0e\x67\x78\xa0\xac\xd5\x3d\x9e\x3a\x13\xef\x86\x37\xc3\x7b\xe1\xad\xf0\x4e\xb0\xb0\x8e\x7c\xd9\x7c\x88\xa1\x19\xef\x35\xde\x05\x6f\x82\x16\x86\x32\x5c\x10\x78\x5f\xbf\x8b\x1a\x51\x1f\xde\x05\x4c\xd5\x78\x92\x6d\x64\x66\x9d\x88\x74\xf9\x84\x58\xfb\xa7\xbf\xfe\xfc\x1f\xdb\x5f\xbf\xfe\xfc\x34\xeb\xc6\x33\x55\xe9\xa3\x2e\x48\x76\x87\x2e\x2b\xf6\x95\x59\xb6\xca\xd4\x2d\x0c\x6f\x28\x45\x5e\x97\x0e\xc5\x39\xf4\x67\xa8\x07\xf6\xc3\xf3\xb1\x7e\x5b\x44\xe0\xbc\x2d\xa8\xf5\x17\x48\x91\x5b\x55\x77\xd2\xb5\xc1\x4f\x37\xae\x70\xfd\x0b\x4b\x37\x59\x29\xd9\xe9\x06\xa0\xfe\x29\xc2\xd1\xc6\x3f\x4f\xd9\x10\xe1\xa4\xc1\x84\xfb\x80\xa7\x0b\xd9\x94\x02\xc7\x03\x13\xe2\xa4\x93\x1a\xb7\x02\xb2\x2b\x32\x1c\xf5\x3b\x06\xf1\x6a\xa5\x85\xd6\x5d\xd8\x63\xbe\x33\xba\x15\x72\x79\x11\x55\xdf\x48\xa1\x01\x52\xd9\xed\xf4\x6e\x94\x72\x58\x8d\x71\xbd\xca\x6e\x58\x04\xef\xc7\x2d\x0b\xa5\xe3\x6e\x7a\x00\x53\xf9\x89\xe5\x78\x76\x2a\x2c\xa2\x66\x0c\xd6\xda\x75\x61\x71\x72\x88\xe7\xd0\xcd\x18\x68\xa4\x00\x64\x86\x87\x52\x46\x2e\xa8\x77\x46\xb3\x0c\x4b\x21\x67\x6b\x45\x21\x6c\xad\xa8\x6b\x2f\x08\x3c\x01\xa2\xc1\xe2\xe9\xdd\x77\x7c\x7f\xf0\xeb\x18\x63\x83\xba\x95\x00\x4a\x6a\xac\xdc\x80\x0c\xf8\xf1\xbc\x97\x15\x04\x55\x4b\x9f\xd9\xad\x08\x28\xee\xe2\xe9\x76\x3c\xb2\x3f\x31\x3a\x02\xfd\xf0\x31\xd2\xe8\xe7\x1f\xd6\xf5\xa7\xa7\xe1\x76\xaa\xca\xf6\xec\x5e\x81\xde\xdc\x6a\x7b\x87\x62\x1c\xb2\xe9\xef\x51\x8c\xc7\xf1\xbf\x24\x19\xf7\xe3\x9f\x48\xcc\xad\xb7\x54\x7b\xbb\x1d\x8a\xce\xbf\xf2\x12\x47\x69\xd0\xaf\xb8\x02\x40\x43\x06\x6e\xf9\x92\xc7\xb7\x88\xce\xfc\xbb\xcb\xbb\x54\x67\x71\xd6\x2f\xb8\xce\xf0\xd7\x77\xc8\xce\x3e\x9c\xe2\x3f\xfc\xfb\xd7\x67\xeb\x78\xe8\x47\xd3\x5b\x07\x38\x78\xdf\xa7\xc4\x3f\xb6\x01\x3f\xc6\xd6\xc5\x47\x88\x15\xb9\x82\xa1\x4a\x4c\x57\x2d\x70\x4e\x64\xa3\xd7\x38\x81\x16\xf8\x56\x07\x80\xeb\xa2\xeb\x99\x9f\xb4\x10\x4c\xc7\x59\x57\x6a\xac\x47\xd2\x70\x22\x9b\x61\x96\xfa\x24\x65\x08\xf0\x37\xcf\x7d\xc7\x2c\x90\x1f\x8d\x5b\x29\x22\x37\x31\xf5\xfb\xe3\xcd\x2e\x86\xc0\x29\xc9\x11\xc8\xa2\x63\x97\xf7\x18\xfe\x63\x75\x70\xcb\x16\xaa\xe1\x36\x8a\xef\x4d\x92\x7b\x92\xee\x3e\x69\xbf\x12\xcc\x83\xfd\x0a\x34\x70\xb9\xe3\x48\x62\x78\x1a\xc3\x4f\xcd\xa7\xd4\xeb\xcb\x40\xf1\x2b\x3b\x15\x26\x7f\x08\x82\xd0\x2b\xaf\x8f\x1c\x85\xf8\x85\x9f\x29\x8d\x41\x82\xc1\xfb\xc7\x87\x23\x1e\xcf\x7c\x68\xf2\xc3\x21\xf1\xee\x80\xf8\x08\x3c\x09\x0f\x6a\x98\xde\x96\x22\xdf\x10\x4a\xd8\xdf\x8a\x23\x58\xd5\xeb\xd2\xca\x6d\x99\xf2\x8d\x97\xbb\xbf\x7d\xa3\xa5\x15\x9e\x50\xa8\x15\xf0\xe9\x09\x53\xe2\x0a\xbe\x6d\xfc\x9a\x5b\xe2\xad\x8f\x9c\x2a\xd8\x13\x76\x71\x53\xbb\x81\x36\x17\x22\x2c\xfe\xfb\x52\x1b\x2c\x28\xb1\xf6\x7a\x01\xfd\xe6\x3f\xc8\x2b\xfb\xd7\x1f\xf7\xfd\xc7\x27\x54\xdb\x38\xa1\x99\xbd\xbb\xb7\x52\x80\x30\x73\x0b\x59\x9a\xaf\xfd\xd4\x64\x9d\xfb\xd2\xd2\x38\x64\x4b\xfa\xc4\x58\xf7\xd9\x38\x2c\xc2\x7f\x34\x35\x90\x42\x89\xda\x81\x12\x49\x00\xef\xd5\xd9\x82\x68\x0a\x5b\xe8\x64\x3a\x51\xa9\xb0\x81\xa3\xcb\xd1\x04\x5b\x00\x31\x48\x8d\xda\x89\xc5\xc2\x25\xe2\xab\xf4\xab\x86\x56\xec\x82\x0d\xe6\x9f\x55\xe4\xfe\x3f\xfe\xfa\x04\xac\x1c\xcf\xec\x82\x0f\xa8\xb3\xd2\x8f\x12\x2f\x08\x0b\xc1\x64\xd6\x08\xc4\xaa\x25\x19\x65\x07\xa7\x8a\x50\xbc\xcc\xce\xd4\xaf\x46\x19\x3e\x07\x1a\x22\x0d\x7e\x08\x80\x5c\x38\x2b\xd2\x2a\x68\xeb\xf1\xf3\x79\xc4\x79\xd2\x63\x53\x0f\x97\x38\x2e\x7b\xdc\xc7\xfd\xde\x5e\x5f\xa4\x97\x91\xac\x19\x41\x01\x51\x36\xa0\x79\x5d\x74\xba\x49\xd3\x6e\x8b\x65\x1a\xdf\xed\x20\x72\xa5\x6d\x24\x41\x62\xe6\xa6\x83\x1f\x3b\xcb\xba\x08\x6c\x52\x80\xe7\xf2\x9d\xf6\x55\x0c\xc2\xc9\xa8\x2c\x76\xe3\xb9\x8c\xa3\x75\xaa\x89\xc0\x7e\x9a\x29\x80\xa5\x3c\x51\xdb\xcd\x72\x8b\x96\xdb\x16\x60\x49\x70\x05\x42\x09\xab\xa7\x92\x74\xae\x67\x7b\xf1\xc1\xdd\x77\x28\x16\x25\x9d\x44\x08\xe0\x94\x95\xcd\xdc\xf8\x28\x60\x57\x49\xda\x90\xbc\x21\xad\xdd\x1a\xf7\x73\x34\xb8\xcd\x53\x60\x6b\xa7\xf6\xd5\x7a\x3c\x1b\xdb\xa2\x34\x4b\x63\x8e\x8b\x70\x4e\x0a\xd7\x2b\x7b\x2c\x1a\x6c\x1b\x81\xb2\xec\x54\xe4\xd9\x10\xc0\x5e\x74\xde\x7b\xeb\x6c\x3a\x64\x9d\xf1\xf5\x27\xdc\x97\xad\x3d\x8d\xce\x76\x2f\xa9\x6c\xee\x6c\x1a\x51\x6b\x70\x99\x32\x09\x84\x07\x01\x7c\xd6\x91\x35\xd7\x52\x93\xfa\xdc\x9e\x39\x19\xd8\x06\x41\xc7\x9b\x4b\xb2\xda\xb7\x05\xb8\x99\x86\x22\x12\x9a\x9f\x64\x36\x8d\xac\x1f\x6d\x31\x23\xfb\x9f\xd2\x11\x65\xa0\x42\x73\xd9\x59\x9f\x81\xa0\x16\xbe\x03\xcf\x8d\x3b\xd9\x87\xdf\xd3\x58\x9f\x41\xc6\x60\x3a\x7a\xc5\xdd\x4d\xf1\x57\x88\x28\x18\xaa\xde\x98\x6f\x88\x38\x8c\xd8\x19\xf2\xf5\x21\x48\x51\xd1\x39\x52\x93\x0b\x1f\x86\x65\x73\xad\xf0\xa9\x9a\x24\x9d\xc8\x4c\x55\x4b\x20\x11\xd2\x09\xb3\xb8\xb6\xa4\x85\x2c\x18\x44\x41\x20\x47\x39\x33\x02\x0c\x5b\x29\x49\x53\x03\x95\x10\xd8\x30\x8b\x04\x01\x23\x01\x93\x60\x57\x8b\x98\x8f\x8c\x87\xcc\xb7\x4a\xb8\xeb\xe2\x5e\x0d\x28\xcd\x6c\x97\x89\x3c\xcd\xd8\xd5\xff\xe2\xeb\x36\xf9\x4e\x74\xa4\x2a\x5b\x11\x96\x07\x22\xed\x13\xb2\x46\x91\x55\x2d\x81\xaf\xb1\x8f\x49\x1a\xbe\xfe\xfc\xa7\xeb\x8f\xb7\xe7\xcd\xfe\x43\x58\x70\x1e\x23\x88\x73\xdf\x61\x27\xad\xed\x7d\x76\xd2\xfd\x17\x94\xa4\xb5\xbd\x47\x49\xda\x5a\x49\xc3\x17\x8d\x6f\x12\xad\xd2\x28\x7e\xd7\x26\xe6\x39\xbf\xd2\x24\x26\xcc\x97\x26\x78\x84\x07\xde\xbd\x58\x05\xad\xc6\x3b\x57\xe3\x49\xbf\xbc\x5a\xb5\xf6\x5b\x0d\xf0\xef\xff\xfa\x44\x8d\x34\x9e\xf1\xc9\x0f\x02\x33\xcd\xd4\xbd\x93\x6f\xb2\x23\x87\x9f\x83\x58\x63\x07\x4b\xca\x8a\x42\x6c\xcd\x13\xe8\x6a\x92\xf6\x92\x77\x75\x72\x2b\x97\x71\xb4\xc3\x77\x86\xa7\x59\x7d\xe4\x25\x99\x40\xe5\x2c\x01\x48\xf0\xc5\x98\xd4\x18\x5f\x82\x9f\x80\x5c\x24\x60\x9d\x0e\x7d\x3b\xb1\xdb\x00\x1b\x85\x8e\xdb\x32\x7c\xf9\xa5\x47\x40\x75\x6c\xa6\x30\x46\x87\xad\xd6\x5a\xb2\x19\x31\x52\xa3\xb4\x79\x4d\x82\xad\x00\xc9\xea\x7e\xb9\x17\xac\x15\xf0\x16\x1e\x5a\x8c\xc5\x48\x13\x38\x91\xbe\xc0\x4a\x80\x18\x2b\x53\x0a\xed\x4b\x5d\x35\x6b\x52\xed\x20\x1c\x03\xba\xb7\x82\x37\xe4\x00\xdf\x3f\xbd\xd2\xfd\x0d\x6d\xb4\x96\x9b\x62\x4f\x72\x93\x1e\xac\x9e\xec\xb6\xa7\x43\x63\x48\xaf\x82\x20\x4b\xb7\xeb\x28\x65\x3d\xce\x7a\x20\x48\xde\xdf\x0c\x89\xa3\xef\x79\x01\xff\xe7\xb6\xe8\x2c\xac\x68\xb8\x0f\xa0\xcb\x7d\xbc\x42\x1a\x4c\x68\x37\x53\x38\xdb\x10\xec\x4a\x0a\x3c\x15\xfe\x65\xf4\x8b\x1f\x17\x7c\x9e\x51\x44\xfb\x99\xdb\x7d\xfb\xb7\xa7\x41\xf8\x8c\x1c\x9f\x7a\xba\x80\x53\xc0\x20\xdd\x36\x40\x21\x22\xbd\x11\xa1\x94\xc2\xbc\xa8\x0f\x8e\x51\x37\xa2\xdc\x84\x34\x3d\x5d\x43\x36\x6f\x21\xbe\x8c\x54\xa9\x44\x53\x15\xb0\xd4\x04\x66\x06\xac\xda\xb6\xa1\xd2\x0a\x69\x4b\xc1\x42\x0a\xa6\x1a\x64\x49\x65\xb3\x7b\x7c\x1c\xc0\xc9\x83\xdb\x27\x1f\x2b\xa0\x9e\x38\x2e\x04\xfe\x30\xbc\xe0\x7e\xc5\x4d\x32\xd4\xca\x0a\x5d\xd5\x15\xa5\xa2\x50\x98\x46\xa0\xa8\x67\xc8\x11\x36\x86\x66\x23\x2f\x57\xc7\x25\x58\x7b\x00\xf9\x08\xcc\xce\xa0\x4c\x29\xb3\xeb\xcc\x82\x11\xb7\x35\x8f\xbf\x56\xdd\xa9\x4a\xe4\x2d\x1d\x09\x5e\xbb\x03\xcd\xfa\x91\xc7\x5d\x03\x61\x73\xcc\x48\x68\x80\xbb\x33\x2b\x75\x43\xfa\x00\xcb\x7c\x0b\xa1\x41\x6e\x24\x35\xd8\x3c\x50\x80\x9a\x91\xb1\xe0\xa3\x22\x9e\x7d\x14\x0f\xf4\x40\x8b\x20\xca\x38\x21\x56\xdf\x92\x54\xff\xa0\xac\x9c\xf6\x8f\xc6\x24\xb8\x82\x24\x17\x59\x2f\xed\xbb\x4f\xb5\xb5\xa4\x76\x81\xc9\x33\x91\x1b\x9f\xab\xf6\x92\x14\x50\x19\x25\x19\x69\xa0\xc9\xfc\x29\x88\xd1\x68\x84\x06\x62\x3c\x1c\xdc\x1e\x20\x28\x45\x41\x93\xbf\xd0\x01\x4a\x22\x18\x70\xe0\xf9\x68\x99\xda\xcc\xb9\x50\xf5\x10\xdd\xbf\x13\x92\x87\xc8\x31\x52\x4d\x65\xd7\x9e\x88\x49\xab\x09\x29\x79\x55\x22\x6e\x4a\x07\x74\x6e\xc8\xee\xef\x12\x98\x16\xb8\x28\xa9\x1b\xe2\x6a\xa5\xad\xfe\x60\x0a\x4c\x19\xa2\xab\x35\x15\x83\xe5\xe8\xe3\x8c\xc4\xc5\x02\x56\x54\xcb\x5b\x45\xb4\x51\x6d\x26\x2d\x97\x0d\xea\x9f\xe4\x18\x17\xe3\xe3\xa4\x08\xb5\xdb\x3d\x51\x59\x88\x23\x58\x4c\xf7\x47\xbb\xdc\x87\x7f\x80\x3c\x3a\x13\x40\x80\xc7\x69\x8c\x06\x22\x5d\x8b\xc6\xe8\x2d\x23\x4e\xce\x27\x3e\xdc\x66\x14\xf3\x41\x9b\x60\x00\x9a\xe7\x7e\xc2\x0e\x50\xd0\x0e\xe8\xd2\x97\xba\x43\x7e\x6f\x87\xd6\xa1\x8f\xb4\xc6\xa0\x33\xaa\x09\xb4\x6e\xa8\xbb\xf1\xff\x07\xa4\xdd\x6f\x75\x2d\xc9\x56\x02\xe1\xc4\x92\xed\x9a\x93\xff\x55\xc7\x48\x7a\xd9\x6c\x26\x10\xd2\xf9\xad\x93\xd7\xeb\xb3\x95\xe4\x3f\x7f\xf8\xf1\xfb\xe7\xf8\xdd\x47\x1c\x65\xad\xd7\xa4\x55\x37\x92\xd1\x89\x90\x92\xb2\x82\x59\x1a\xd0\x48\x44\x52\x85\x64\xe0\xa5\x05\x71\x6c\xa1\x87\xd0\x8e\x42\xe2\x8a\x04\x36\x6b\xe0\x20\x8d\x1f\xa9\xe5\xd7\x97\xde\x66\xb2\x6e\x24\x88\xb3\x87\x2a\xf6\xb3\x88\x5f\x4a\x8a\x00\x69\xa0\x44\xf5\x81\x13\xc7\xbb\xd9\x84\x7e\x01\xb4\xa7\x17\x60\xd3\x90\x9c\x56\x34\xf0\xfa\x32\x8b\x0f\x95\xb6\x71\x07\x05\xff\x51\x65\xaa\xd7\x1d\x34\xb8\x57\x17\x62\x56\x39\x80\x71\x69\xdc\x06\xd6\x92\xd1\x89\xb7\x9c\x46\x50\x43\x12\x7f\xdd\x84\xb5\x31\x29\x0a\x64\x4c\x0d\xa4\x22\x30\x6d\x04\x11\x30\x27\xa9\xc0\x34\x83\x8b\xcf\xbd\xf1\x31\x93\x74\xbf\x72\x06\x9a\x38\x03\x6a\x00\xc4\x87\x6f\x9f\xa8\xf0\xf1\x05\xb7\x05\xee\x21\xd0\x5e\x1c\x5d\x48\x44\x82\x4e\x2a\x01\x5a\xdb\xf3\xce\x66\x16\x6f\x47\xa3\x83\x05\xa4\x05\x6a\x89\x8d\xb0\x0d\x36\x81\x16\xdc\x73\x6f\x96\x8a\x42\x41\x1f\x01\x17\xea\x63\x84\x17\x0e\xd0\x6e\x77\x6b\x3b\x1e\x29\x38\x01\x10\x75\xf0\xbb\xe5\x1c\x92\x1d\xbc\xcd\x84\x45\x28\x30\x12\xd3\xa0\x2f\x8e\x15\x58\x60\x81\xc8\x9c\x94\xc6\x90\x8a\x6a\x5a\x98\xef\x32\x61\xb1\xd7\xb1\x49\x9b\xc9\xff\xb3\x42\x40\x42\xdb\xb5\x70\x29\xde\x1a\x12\xaf\xe1\x5d\x4d\xba\xb0\xc4\x2c\x69\x26\x67\x3d\x91\x08\x98\x85\xc6\xe2\xdb\xb5\xf9\xa2\xe7\xd3\x62\x22\x81\x5c\xe7\x2e\xa0\xd6\x14\x10\xc9\x36\xa3\x74\x07\xe2\xb6\x1c\xa1\x51\x96\xb9\xdf\x01\xef\xa8\x1c\x40\x5d\x42\x5a\x1a\x10\x29\x32\xc8\x2a\x5a\x3a\x12\x73\x70\x0c\x88\x3d\x21\x8f\x45\xf1\x57\x9a\x4b\xdb\xdc\xf6\x2a\x3d\x31\x0a\x23\x99\x56\xd8\xd9\x85\xc4\x75\x9e\x55\x21\x70\x03\x18\xaf\x41\xae\x65\x60\xda\x70\x57\x2a\x30\x97\x7c\x19\x03\x41\x88\xcf\x3b\xec\x09\x50\x82\x39\xb6\xc7\x02\xb0\x9f\x2f\x95\x30\x02\x21\x81\x02\x2b\xcb\x3a\x42\x43\x58\x5f\x0c\x95\xaa\x0b\x83\x2a\x91\xa5\x7b\xbd\xbc\x48\xeb\xbe\x06\x67\x66\xf9\x67\x4b\x47\xe6\x2d\x40\x6e\xdc\xfd\x80\xc9\x59\xc8\x8b\x8b\x39\x0d\x96\x03\x7f\x48\xa8\x00\x80\x9e\x20\xf9\xda\x30\xd2\x50\x2e\x5d\xba\x23\x97\x56\x07\x14\x5a\x90\xfd\x2e\x23\x51\xcb\xc5\x8d\xa9\x71\xc0\x71\x89\xf6\x9c\x91\xbc\x05\x1a\x91\x9a\xbe\x07\x1f\x03\x92\x44\xc2\x9c\x92\x02\xad\x06\xb7\x0e\xac\x45\xbe\x9a\x7e\x2c\x96\xff\xc3\x9f\x7f\xfe\xe1\x39\xc8\xf3\xfd\x43\x35\xb4\x45\xe1\x5b\x17\x56\x94\x19\x44\x67\xfc\x2f\x93\x74\xa2\xad\xa7\xe9\xee\x3f\x04\x39\xe8\x4e\xfa\x36\xcc\x6d\x5d\xdb\x20\xad\x77\x29\xe9\x9c\x9d\x23\xbc\xce\x45\x45\x5e\x5f\x9a\xf9\x9a\x36\xcb\x6d\x29\x83\xe2\x0a\xc1\xe7\xc1\x9d\x27\xd0\x71\x9c\x4b\x99\x78\xae\x21\xc1\x8f\x31\x24\x95\xc9\x68\x78\x47\xa5\x41\x32\xd8\x64\x24\x7e\xd4\x46\xd2\x40\x5f\x8a\xfa\x11\x87\x33\x66\x2a\x90\x41\x1c\x00\xc0\x90\x29\xbd\xa4\x89\x10\x2c\xc4\x0d\x32\x17\x57\xdc\x03\x6e\xe1\xe6\xf7\x26\x08\xd2\xe6\x64\x48\x55\x5a\x3f\xf8\x25\x79\x9d\x70\xd4\xcb\x67\x58\x9e\xef\xac\xeb\x53\x8f\xff\xe9\xa3\x0a\xc7\x92\x35\x15\x23\xc4\x19\xc1\x7c\xc4\xe1\x6d\xec\x90\x1f\x27\x19\xce\x04\x07\x44\xc0\x7a\xb8\x24\xe2\xcf\x2d\xca\xee\x97\xd1\xa2\x00\x84\xcb\x0b\xd6\xaa\x60\x26\x59\x01\x39\x04\x0e\x0e\x96\x1a\x22\xcb\x91\xe5\x8b\xb0\x24\xa7\xaa\x31\xc3\x8c\x18\xa9\x69\x72\x3f\x4a\x40\x6c\xe1\xff\x0a\x09\x1a\x99\xfa\xf5\xbd\x2e\x19\xe1\x5e\x19\xb9\x6f\x42\xa9\x26\x60\x9a\x16\xc5\xa7\x54\x70\xdd\x09\x38\x34\x3c\x0e\x21\xb3\x06\xfc\xd5\x65\x5f\xa6\x22\xb6\x3b\x08\xd8\x77\xcb\x0f\x9f\x4a\xdb\xdc\x1b\x2a\x3d\xa9\x6f\x7b\x7d\x17\x42\xd6\x3b\x11\x44\x5f\x0e\xd4\xf9\x20\x2d\x4e\x0f\x44\xc9\x50\x60\xbe\x4c\x12\x28\xa8\x83\x1a\x36\x88\x38\xd9\x21\xc7\xd6\xcb\x6e\x62\x59\x91\x04\xe1\x25\x5a\xc3\xfd\x96\xc0\x5d\xf6\x9a\xda\x11\x4f\x9e\x34\x9a\xb1\x5b\x79\xf7\x6e\x9d\xbc\xc7\x30\xaf\x88\x6d\x0a\x62\xd0\x7d\xb2\x12\x2e\xb2\xdf\x19\xe1\xf8\x26\xbb\xaf\x8b\xcd\xf6\x43\x30\xe6\x02\x4b\xd4\x77\x9b\x15\x70\x64\x68\x85\x82\xa7\x8c\x90\x42\x50\x50\xeb\x01\x54\x28\x21\xdc\x41\x06\x14\x22\x03\x6a\xc1\x56\x03\xe8\x5a\xac\xd9\xa2\x7d\xef\xa8\x39\xf5\x3b\x44\x9d\x6c\x8a\x80\x16\xe2\x51\x7c\xd3\x20\x17\x72\x5f\x75\x1c\x36\xe1\x98\x61\xd6\x31\x6c\x2d\x76\x32\x10\x4d\xd2\x76\xc1\x90\x0b\xc9\x2b\x40\xe1\x80\xae\x05\xaa\x00\x81\x23\x4b\x1d\x4b\x1f\x0c\x60\x78\xba\xb6\x83\x4d\xaa\x8e\x1d\x54\xe5\xa0\x90\x08\x0f\xf8\xe2\x7d\x15\x79\xf0\x58\x35\x80\xe9\x47\xe4\x29\xec\x1a\x6e\xf9\x95\x48\x80\x7b\x62\x9a\x4f\x4e\x76\x08\xda\xad\xc1\x29\x50\xb0\xe4\x2e\x18\xd0\x18\x2d\x12\xef\xbb\xc4\x0c\x30\x96\x21\x80\x66\xb3\x33\xf4\xb6\x35\xbf\x6b\xe6\xcc\x49\x3e\x51\x64\x07\xcb\x14\xe8\x28\x88\x3c\xd3\x5d\x58\x86\x91\x77\xd4\x1b\x33\x30\xed\xa6\x82\x1f\xf9\x39\x39\xe6\x77\xdf\x62\xc7\x1c\xcf\x6a\xcf\x8f\x09\x4c\xdf\xbc\x87\xdd\x16\x96\x3e\x8e\x7a\xca\xdd\x94\xa8\xa1\x62\xd0\x71\x7e\xa9\xd7\xa5\x76\xf2\x09\xfb\x5a\x75\xd3\x36\xaf\x4b\x45\x01\x0e\x63\x1a\x38\x92\x53\xbd\x92\xb2\x09\x72\x4c\xed\x2a\x6a\xe3\x95\x97\x6a\x79\x1e\xba\xfe\x6a\xe3\xe6\x9f\x1e\xbe\x9d\xd6\x3f\xf8\x56\x72\xef\xb7\xa5\xf5\xf8\x16\x9c\xdc\xa3\xa4\xb8\x16\xbb\xeb\xb8\x85\xeb\x28\x6d\xc3\x7d\x3d\x3c\xc0\x7e\x3c\x99\xf9\xb6\xfc\xc9\xea\xfa\xa4\x09\x36\x1e\xd0\x55\xf5\xce\x7e\x79\x30\x01\x50\x49\x6e\x81\x94\xdc\x7c\x23\x36\x17\xc0\x84\x03\xa3\x3d\xa3\xa8\xee\x26\x53\xaf\xc8\xc9\x7d\x78\x08\xe2\x1b\xe9\xf8\xcb\x7e\x1c\x74\xb5\xaa\xef\xd4\xd1\x6f\x90\xb6\x3b\x48\x12\x0e\xf9\x3b\xdc\xcf\xa1\x42\x67\x72\xa6\x57\x0a\xc4\x05\x92\xc2\x25\x44\x84\xcb\x6d\x9c\x6e\xf0\x11\x23\xd0\xca\x6f\xfc\x1f\x56\xd3\x22\x1a\xfb\xad\xa8\xec\x1e\x27\x1f\x8d\xb1\xf1\x7f\x5e\x98\x1d\x99\x13\xfe\xf4\xe3\xcf\x7f\x5a\x7f\xf8\xee\xeb\xba\xbf\x4b\x1d\x31\xf3\x9b\x81\xf1\x86\x27\x22\xea\x44\xa2\x9c\x81\x6e\x2b\xa6\x92\xbf\xbe\x6f\xb1\x49\x9c\x02\x85\xc1\x16\xe2\x5e\xb8\xcc\xa8\xe4\xc3\xab\xf6\x7f\xd6\x43\xb9\x70\xe2\xf5\xfb\xbb\x07\x1a\xea\xb8\xc6\x7e\x5e\x18\x17\xf2\x01\xf3\xcd\x23\xfe\xff\x61\xf1\x9b\x86\xc5\x77\xd6\x9f\xb2\x46\x53\xde\xa0\xa8\x67\xb0\x0e\x7f\x53\x24\x2d\x93\x45\x3f\x89\xae\x4b\x29\x83\x1a\x94\xda\xc9\xf7\xd1\x51\x2b\xe0\xff\xae\xc7\x77\x82\x72\x6b\x9c\xf0\x7e\x14\xdf\x8d\x51\x69\xf9\xa0\xcc\x89\x91\xf7\x30\xf0\xe6\x9d\x73\xe7\xbe\xde\x2c\xe7\x82\x13\x43\xe5\xa0\xee\xe1\x9a\xb3\xdc\x17\x1d\x8c\x5b\xf0\xed\x9c\x83\xe8\x18\x43\x18\x42\xff\x8c\x04\x40\xff\xf2\xd3\xfe\x30\xbb\x9f\x5e\xa9\xbe\xc3\x9f\xbc\x1c\x04\xca\xcb\xc9\xa0\xbc\x1c\x14\xca\xc1\xa0\x1c\x04\xca\x07\x7f\x72\xd0\x27\x2f\xe4\x4f\x5e\x40\xa0\x0c\x7a\x62\x8a\x0c\x94\x11\x48\xca\xb7\xd3\xea\x6f\x9d\x55\xfb\xb7\xa6\xee\x6f\x98\x6e\x97\x7f\xbc\xf9\x36\x9e\x5e\xce\x33\x0c\xe7\x21\x33\x94\xd5\xdc\x89\x03\x25\xb7\xbb\x65\x1b\xc1\x82\x90\x9d\x61\xbe\x3d\xef\x90\x9e\x58\x50\x5e\x70\xe4\x40\xc7\x3d\xc4\xed\x87\x29\x48\xa1\x61\x95\x0d\xe6\x24\xfd\x45\x52\x87\xd6\x2c\xef\x47\x28\x49\x56\xc4\xbb\xa1\xdc\x04\x20\x21\xaa\x76\x91\xa3\x0e\xd4\x08\x8a\x05\x22\xc2\x39\x6a\x8a\xb4\xa7\x09\x39\xe7\x19\xb6\x40\x6d\xa0\x60\x6e\x2b\xcc\xd5\x06\x06\xd2\x24\x40\x29\x17\x96\xa3\x31\x08\x52\xbb\x24\x2d\x73\xc5\x43\x49\x89\x60\xbe\xe8\xb8\xb0\xc2\xaa\x13\x51\xd0\x0f\xb0\x56\xed\xc9\xea\x8a\x02\x83\xd2\xfb\x75\x29\x5d\xcf\xec\x91\x06\x99\x60\x84\xfa\x4a\x76\x43\x76\xb6\xd4\xbb\x2f\x53\x49\x7a\x6a\xa9\x80\x77\xaa\xa2\x54\x7c\xc0\x66\xed\x70\xd5\x36\x28\x77\xc2\xe1\x2b\x7d\x2f\x24\x5d\x45\x98\x6b\x52\x07\x2e\xc2\x59\x02\x0e\x48\xf9\x52\x57\x2a\xf9\xcc\x6b\x21\x73\xd5\xb8\x2e\x25\x77\xc4\xbd\xfd\x97\x52\x2b\xa5\x47\x2a\xea\x81\x56\x78\x91\xa5\x7e\x92\xb0\xf9\xf1\xdf\x7f\xf8\xe9\xbb\xf7\xc1\xb9\xf3\x4e\xc9\xa6\x53\xd3\x98\x03\x9c\xcd\xd4\xe4\x93\x50\xfe\x60\xb9\x8d\x51\x6f\x47\xb6\x82\x5a\xdf\xe1\xfe\xd1\x36\x6a\xca\x28\xf2\x02\xe7\x0f\x4b\xfb\x50\xf3\xd5\x7a\xe0\xbd\xc5\x5d\x5e\xa2\xa1\xfd\x94\x46\x8b\xaf\x16\x0a\x50\xd5\x8a\x2c\x8a\x20\x80\xd8\xc0\xda\x03\x78\x10\x1c\x1c\x4a\x2b\xe6\x15\x04\x41\x5d\xcf\x9f\xde\x71\xad\x6f\xbd\xa5\xaa\x69\xf8\x2e\xb0\xd5\x0e\x99\x9b\x8e\x31\x0c\x65\xd6\x5a\xb9\x03\xb4\xd0\x59\xe4\xa7\xad\xc5\x30\x67\xe3\x7d\x5e\x36\xc1\xb9\x36\xcc\xfd\xe6\x4d\xd5\xfd\x49\x4b\xaa\x2d\x95\x52\xfe\x19\x15\x40\xbe\x33\x77\x5f\x7e\xf1\x9e\x9f\x11\x45\x52\xf5\x8d\x59\x46\x81\x5b\xe4\xcc\x26\x11\x01\xd5\x17\xb4\xa8\xbc\x67\x79\xb9\x55\xe3\xb7\x01\xa8\x7c\x62\xae\x6a\x22\xeb\x82\xa8\x51\x6b\x47\xce\x8b\x25\xed\xa8\x2e\xf6\x6d\xbe\xfd\x02\x7d\x23\x0a\x7c\x24\x63\xc4\xb2\xaa\x59\xea\x72\x9b\xf6\xfb\xb4\xa3\x35\x3f\x51\x69\xb5\xfc\xac\xd1\x7f\xf3\x7d\x67\x35\xdf\x96\x04\x78\x9d\x4a\x54\xda\x7e\x40\x6d\xd8\xfc\x72\x86\xc4\x65\x5d\x6c\x52\x2d\xfa\xb6\x4c\xfb\x9b\x4f\x2d\xa3\x6f\x32\x98\x70\x70\x1f\xb8\xca\x0e\x24\xba\x3e\xb3\xdb\xb5\x77\x64\xf9\x3f\x1a\x08\x7f\x59\xff\xfa\x1f\x31\xef\xbf\x7b\xca\xb3\xcc\x27\x1e\xbb\xc7\x60\xd8\x69\xa8\xb7\xf2\x3e\x9f\x1b\xec\xf3\x00\x4c\x3e\x7f\xdb\xca\x3b\x63\x03\x48\x4e\xfa\x73\x4f\xc3\xa6\xfc\xf2\x61\xbd\x7d\x36\xff\xe6\xcf\xad\xbc\xf3\xe6\xbc\x61\x58\xef\xbf\xec\x1c\x1a\x7d\x3a\xc6\x6d\x40\x3f\x1c\x82\x4d\xdd\xd7\xe3\x9d\x55\xa9\xfd\xba\x0c\xd3\xcb\xa9\xb0\x1c\x0b\xf5\x12\x2b\xf5\x6d\xe1\x79\xd0\x62\xe2\x9f\xf6\x38\xe6\xea\xdf\x9c\xab\x3b\x17\x77\x11\x0b\x7a\x1f\xae\x17\x71\xf2\x27\xeb\xc5\x40\x29\xda\x87\xeb\x05\x1b\xfa\xf6\x7a\xe1\xdf\xff\x5d\xeb\xc5\x53\xa8\x74\x3e\xe1\x7a\x54\xdc\xa6\x67\x16\x4e\x73\x2a\x80\x54\xa0\x2c\x14\x22\x6f\xd0\xe4\x21\x90\x83\xf8\xdb\x37\x56\x34\xd1\x89\x24\x94\xc1\x2e\x0f\x5a\x86\x32\x61\x76\x28\x55\x1e\x1e\x89\x3e\x51\xa6\x7a\xff\x74\x7e\xbd\x2d\x1d\xe4\x11\x38\x37\x27\xa3\x11\x5e\xdb\x61\x83\xfb\x75\xae\xad\xf8\x2d\xf8\xa4\x93\x0a\x0c\x54\xdc\x9c\xf8\xde\x5b\x94\x9a\x6f\x34\x29\xc6\x3e\x58\xb8\x5f\xb6\x71\x94\x26\x1f\x82\xc2\x8c\x34\xa3\x9e\x83\xf6\x7d\xc9\x97\xc3\x45\x2d\x79\x5f\x1e\xbe\x5f\xce\xb3\x58\x00\x0a\x34\x38\xdb\xdd\x97\xf3\x5a\x10\x5d\xf1\x11\xd2\x6d\xa6\xd6\xc6\x56\x91\x5a\x03\x39\xf0\x54\x92\x2b\x4f\x5d\xc1\x86\x97\x7d\xa3\x2a\x23\x41\xa5\x43\x81\x3f\x16\xd5\xd7\x97\xa6\x6e\x81\xe4\xab\x64\x28\x95\x0a\x75\x35\x17\x28\xe7\x8f\xbc\x2d\xb5\x9f\xe3\x18\xa1\x38\x50\x0b\xaf\xc8\x71\xa8\x9b\x41\x03\x51\x67\xa2\xa2\xf0\x1f\xd3\x67\x20\x0a\x8f\xf2\xe4\x2b\x24\x57\xa6\xa5\xd2\xca\x55\xcf\x0d\xd2\x8d\xe4\x56\x5e\x5f\xcc\xf7\x5c\x08\xef\xcf\x35\x0e\x9a\x8d\x92\xde\x28\xfe\x9e\x7b\x07\x5a\x66\x3d\xaf\x45\xfe\x05\x09\x3e\x04\xe6\x18\xd4\x22\x6b\xaf\x73\xa7\xb0\xbd\x06\x93\xc5\xc2\x4c\x33\x1f\xe8\xba\xf0\x41\x45\x1a\x53\xcb\xbc\x89\x4f\x46\xb3\x3d\x8d\xe6\x0f\x51\x52\x55\x66\xea\x2d\x6f\x8d\xb2\x88\xf7\x74\xfa\x41\x8f\x2d\x34\x4c\x67\x3f\x68\xfa\xf2\xba\x48\x77\x3b\x76\xae\x95\x64\xea\x77\x05\xde\x02\x46\xb3\x3a\xa9\x67\x29\x59\x8f\x12\x60\xdb\x16\x54\xf2\x91\x6d\x41\x7b\xd0\x19\xb8\x5d\x53\xdd\xc2\xac\xeb\x62\xa4\x70\x6c\x6b\xa5\xbd\xb2\x91\x7b\x65\x7c\xa3\x55\x7d\xdb\x6a\xb4\x79\x6f\xd1\xd6\x05\x09\xc7\x6a\xac\x52\x98\xe4\x90\x9a\x97\x93\x81\x31\x1f\x25\x4e\x48\x98\xb2\x90\xaa\x74\x12\xe0\x8d\x4a\xed\x93\x6a\xab\x9b\xff\x15\x85\x8f\x35\x19\xd0\xb5\xfe\xd8\x95\xd8\xa8\x65\x10\x70\x35\xb6\xa5\xe5\x68\x35\xe8\x79\x8b\x3b\x03\x19\xbd\xf7\x6e\xab\x1d\xad\x56\x4b\x42\xa2\x19\x0a\x0b\xe2\x59\x1b\x78\xe8\xa2\xbc\x28\x2b\x4b\xc9\xf1\xa4\x83\x24\x45\xfe\x60\x6e\x0b\xc2\xd8\xcc\xab\x01\xae\x50\x57\xd6\x0b\xe6\x5f\xb4\x56\x27\xf5\x77\x25\xeb\x65\x8f\xa7\xb6\xa3\xb9\x13\x5b\xc3\x02\x2c\xbf\xbd\x95\x44\xe7\xb2\x82\x88\xab\x6e\x20\xbc\x2a\x96\xda\x86\x47\x0c\xc9\x48\xa4\xa8\xc9\xdc\x3e\x03\x92\x59\x82\x49\x9f\x78\xcd\x0e\x2a\x0a\x62\xd5\xa0\xfd\xbf\xc2\x24\x36\x69\xab\xdb\x9f\xb5\x6d\xcc\x93\xb6\x34\x5e\x5f\xba\x4f\xed\x39\xee\x4f\xc2\xde\xbe\x0f\x8b\x8f\xe5\x4f\xbe\xb3\xf1\x14\x92\x9d\xf3\x1f\x5c\xfc\x04\xfb\xb3\x6f\xf5\x05\x5c\x98\x12\x4c\xa9\x05\xfa\xaa\x48\xf2\xaa\xa6\x03\x70\x30\xb0\xd0\x62\x4e\xce\xb9\x2d\x93\x62\xe7\x74\x13\xda\xbc\xe5\x5b\x3e\xf7\xf1\x56\x52\xf3\x61\x5e\x3a\x79\x47\x8b\xa6\xa9\x47\x9d\xec\x64\x7e\x0d\x1c\x36\x66\x98\x35\x26\x49\x41\xc8\x77\xd4\xa4\x44\xfd\x07\xcb\x3f\xb0\xbf\x52\xf1\x11\x65\x20\xa8\x02\x89\x9b\x27\x87\x60\x09\xce\xc7\xd4\x73\xe0\xc0\x74\xc6\xce\x7e\x56\x03\x2d\x51\x40\xb2\xb4\x11\xda\xc4\x76\x97\x3c\x62\x62\x0d\x1e\x0a\xe8\xdd\x35\x89\xf5\xc8\x08\x09\xf3\x9f\xc3\x36\x3b\xb0\x3c\xcc\x3e\x0b\x01\x4e\x64\xa0\x09\xae\x08\xbb\x04\xeb\xc1\x3c\xf7\xad\x7e\x87\x1c\x1d\x9f\xce\xa0\x15\xbe\x93\x08\x55\x91\x03\x80\x34\x5d\xfc\xb7\x40\xcd\xcd\x47\xb0\xb6\x9e\xa4\x97\xcd\x50\xa0\x09\xc2\xaa\xa6\x87\x0c\x43\xff\x15\x26\x46\x7d\x1a\x9c\x1f\x01\x7d\x44\xfb\x11\x6d\x6d\xa0\xeb\xf2\x65\xc7\xc0\xbe\x9a\x73\x65\x5a\x7c\x62\x2a\xb9\xb1\x7d\xc8\x1e\x88\x80\x41\xa0\xa6\xd6\x27\x9d\x19\x32\xfa\x10\x10\x86\x52\x81\x00\x13\x32\x71\x55\x02\xda\xb3\xd4\x79\x7e\x1a\x2b\x12\xbf\x5a\xdb\xba\x68\x1f\x69\x28\x76\x37\x4b\x63\xa4\xb1\xc9\x4c\x44\xeb\x53\x72\x0f\x9c\xe4\x47\x3a\x12\xac\x91\x0a\x9f\x37\x6f\x88\x73\x25\x08\x81\x20\xe7\x4b\x65\x4c\xbc\x85\xf3\xfa\x72\x80\xbb\x48\xcb\x42\xc4\xd4\x85\xec\xfa\xcb\x00\xc1\xfc\x58\x85\x59\x93\xb1\x2e\xe2\x83\xa8\x66\x6c\xe3\x39\x61\x4c\xfe\x2d\xf7\x15\xa6\x37\xc1\x4b\x2d\x81\x5b\x2a\xfb\x76\xe1\x7b\x3c\x49\xfc\x50\x18\x8d\x21\x39\xc1\x56\x87\x85\x52\x69\xd2\x54\x1f\x6a\x84\xe2\x94\x79\x25\xaf\x3a\xd4\xb8\xa7\xc6\xb6\x09\xfc\xce\xac\x11\xcd\xd1\x44\xda\xa2\x12\xf4\x6d\x80\x9d\xc0\x3e\x17\x32\x1a\xe9\xa1\x9a\xb0\xa8\x5c\x82\xcf\x43\xcb\x2e\x20\xab\xd8\x9a\x51\xeb\x18\xd0\x13\xd1\xd7\x97\x99\x67\xaa\xdd\x56\x35\xc8\xc4\x41\xdf\x00\x25\x1b\x88\x53\xa1\xa0\x15\x55\x43\x78\xbf\x1b\x64\x7c\x81\x0a\xf6\x95\x00\x91\x21\x5f\x5d\xf3\xdc\x10\x7e\xea\x85\xa3\xa8\xcd\x87\x98\x5f\x79\x8c\xf9\x81\x83\xd1\xc7\xbf\xf9\xa8\x1a\x5b\x25\x44\xa8\xce\xa4\x00\x56\x23\x9b\x9c\xfa\x0c\x81\xcc\x6a\x6d\x63\xf1\x83\x21\x4b\x20\xbb\x0e\x44\xb7\x65\x27\x1a\x75\xb4\xbd\x83\xee\x78\x90\xe3\x01\x1f\x8e\xaf\xdc\xbe\x3c\x0e\x5f\x8e\x06\xf0\xa1\x0b\xbf\xc2\x37\x7e\xb8\x37\xe4\x0d\xf8\xf9\xf1\xe3\xf8\xf3\x71\x1c\xcf\xe3\x8d\xb9\x2f\x0d\xbc\x80\x1b\xcd\x60\xe3\x64\x98\x54\x10\xad\xc2\xbf\x08\x8a\xb6\xc1\xef\x61\x71\xc6\xa7\xfb\xb7\xcb\xfd\x94\xe5\x6c\x26\x3e\xa1\x5c\x0e\x91\xd7\x38\x40\x82\x4f\xc8\xcf\x03\xaa\x0b\xad\xdd\x3f\xdd\xbf\xbf\xec\x0f\xe7\x9d\xad\x7d\xb6\xa0\x3c\x67\x18\x3e\x12\x8c\x94\x3c\xf8\x7a\x6e\x40\xea\xfb\xdc\x06\xfe\xc5\x4d\x61\x1d\x89\xf1\xb7\x02\x55\x85\x45\xa7\x25\xcd\xb1\x64\xb8\xdd\x42\xec\x25\x88\x04\x32\x95\x1c\xb0\x99\x75\xdf\xd6\xa0\x53\x47\x22\x83\x3c\x6e\x6e\x17\x3e\xd8\xe5\xc6\xe8\x09\xcb\xfe\x2d\x14\x3c\x02\xd5\xab\x49\x88\xcd\xd2\xd6\x77\x1b\x31\xa5\xea\x4d\x0c\x3b\x63\xaf\x35\xcd\x5a\x10\x10\xb4\x99\xd7\xa5\x6a\x4d\x22\x05\x02\x95\xc3\xb8\xfd\xf6\x00\xd9\xcc\x79\xf3\x0b\x2b\xd8\x78\x2d\x95\x81\x52\x92\x4f\x0d\x86\xfe\xd4\x85\x4f\x08\x19\xcd\xe5\x08\x0a\xcc\x96\xa9\xd0\x38\x1b\x59\xfc\x23\x40\x79\x84\x37\xda\xb1\xc0\x95\xa3\x78\x3c\x0a\x23\xb4\x01\x65\x15\x34\x12\x80\xd1\x13\x85\x5f\xe9\x30\x8a\x8e\xd7\x17\xad\x2d\x8d\xd9\xae\x5a\xdb\x6d\xe9\x6d\xb8\x03\x77\xf3\x9f\xbf\xe1\x0f\x75\x6e\xb8\xce\x71\xf1\xfd\xb8\x9f\x1b\x9d\xd3\x06\xd7\x90\xc5\x18\x71\x07\x7b\xdc\xd2\xb5\x4e\x6f\xeb\xf5\x45\x46\xf5\x15\xa5\x5c\xbe\xd9\x14\x1f\x7a\x6a\x3e\x42\x4e\xcf\x8d\x49\x1f\xfa\x59\xe7\x3f\x47\xec\x9f\x80\x08\x6a\xf9\xf4\x52\x7a\x2f\xa9\xe7\xbc\x92\xc8\xae\x6d\x85\xd6\xcf\xe0\x28\xde\x17\x5f\xa0\x08\xe4\x5f\x4c\x0f\x90\x3c\x3e\x06\xdb\x92\x05\xe6\x1f\x61\x58\x1d\xde\x90\x1b\xa2\x15\xe1\xda\x01\x05\x69\xf7\xab\x7d\xd1\x01\x5d\xc2\xeb\x8b\x5f\x3e\x1d\xd5\xf0\x4a\x51\x6f\x44\xaf\x84\x9b\x52\xd5\x93\xe0\xd7\x47\x34\x55\x0c\xd7\xa5\x55\x4d\x9a\x1b\xc5\x8d\xdc\x86\xeb\x24\x6a\xc3\xfd\x20\xea\xea\xc6\x72\xa3\xf3\xcb\xf5\x7d\x9e\x31\xf1\xc1\xda\x67\xff\x59\xcc\x2e\x9b\x32\xbc\x04\x5d\x6f\x52\xe6\x08\xf9\x28\x45\x0e\xdd\x84\x7a\xe4\x82\x19\x1d\x14\x21\x6b\xa9\xb7\x01\x3c\x57\xa5\x5a\x3a\x34\x53\x42\xfd\xbf\x55\xd0\x26\x89\x24\xcd\x3d\x4d\x5f\xea\xf2\xba\x98\x81\x85\x12\xa8\xe1\x91\x48\xbb\xb9\xe3\xdf\x15\x4f\xec\x0f\x0c\xe2\xa3\x9c\x84\xcc\x06\xeb\xbd\x27\xbc\x6f\x46\x62\x0f\x7d\xf6\xea\xe7\xd3\xab\x3f\xb1\x13\xa3\xfa\xf6\x36\x57\x64\x29\x72\x07\x70\x91\xbe\x33\xf8\xa1\xdc\xa5\x0a\x25\xf8\x45\xc4\x8f\xc2\x41\x85\x1a\xfd\x12\xa6\x67\xd0\x7f\x42\x11\xb2\x13\xa6\x32\x7c\x6f\xe8\x1b\xa1\xc6\x10\xff\x5f\x04\x25\x68\x60\x6a\x4e\xc2\x17\x82\x8f\x16\x85\x20\xe4\x7c\x75\xc7\x16\x26\x6a\x00\x45\x94\xa4\xbd\xcd\xbb\x01\x80\xde\x4e\x84\x38\x50\x26\x33\xef\xb8\xd1\xde\x76\x14\xb7\x8f\xf9\xa5\x6e\x35\xea\xcd\x10\x9d\x2f\x5b\x65\xd0\xac\x24\x29\xb7\x4c\x31\x7b\xf0\xc4\xb4\x7c\xa0\xec\xa8\x3f\xd3\x49\xff\xc2\x02\x15\x42\xaf\x16\x26\x04\x51\x0e\x8f\xd5\x15\x68\xda\x8f\xc9\xec\xff\xfa\xe7\x1f\xff\x5f\xf9\xbf\x9e\x02\xe2\x5f\xdf\x48\x15\xf6\x9a\xaf\x5d\x2b\xd9\x3c\xa9\x38\x7e\xac\x6a\xbe\x94\xfb\xf6\x6c\x83\x69\xaf\xd0\x61\x22\x4b\x87\x8d\xb8\xbd\x6d\x61\x94\x64\xd1\x39\x49\x0d\x15\x75\x82\xc1\x8f\x68\x01\x36\x66\x01\xb3\xce\xb9\x9f\x1f\xee\x5f\xde\xcf\x38\x5a\xd9\x2c\x23\xdb\xc3\x72\x59\x59\x69\xa2\x68\x86\xa9\x13\x68\x5a\xcb\xcd\x3f\x50\x86\x01\x13\x35\x8a\xc2\x77\xb2\x86\xf8\x84\x23\xa5\x88\xdb\x45\x05\xfc\xbf\xe7\xc7\xfd\xcd\x21\xe7\xa9\xdb\x40\x3e\xc5\x4d\xc2\x02\x76\x8f\x96\xf7\xa1\x90\x1b\xf4\x9d\x6e\xf4\xf0\x1e\xc6\xd5\x7d\xa6\x9b\x7e\x12\x93\xf9\x9f\xf2\xf5\x49\x0f\xf1\xeb\xb3\x1e\xe2\xe3\x6e\x3d\x6b\x72\xab\x8c\x89\x28\x2a\xf6\x63\x2e\x50\xb8\x72\x1e\x70\x38\xef\x27\x45\xd0\x0d\xcb\x80\xc9\xd6\x12\x3e\xb7\x1d\xc9\x83\xad\x90\x6b\xcf\x6d\xb6\xa5\xcc\x4d\x80\x2b\xf0\xdf\xca\xfc\xc5\xa1\xaf\x2f\x7d\x8c\x54\x43\x5a\xb7\x73\x43\x6b\x6e\xbc\x20\x8c\x1f\x90\x3f\xff\x00\xc0\x6a\xb3\x2d\xfb\xba\xc2\x5f\xca\x7e\x7c\xcb\xa3\xa1\x57\x9e\x70\xca\xeb\x8b\xc8\xb0\xb7\x0d\xa3\x97\xed\xd0\x51\x63\xe3\x49\x61\xff\xf9\x92\xb8\xe3\x5f\xb7\x96\x8c\x15\x08\xe7\x71\x71\x6a\x71\x3f\xc7\x4a\x6a\x1d\x9c\xf0\x90\xc2\x4f\xa3\xec\x0b\xf8\xf8\x76\x94\x8f\x52\x4e\x8c\x51\x39\x13\x49\xb3\xad\xde\xdc\xb0\x55\x33\x22\x15\x71\x3b\xf1\x98\xf1\x94\xed\xac\x7a\x88\xa7\xfc\x52\xcf\x07\x3e\x71\x8f\xe4\x32\xaf\x25\xc8\x3b\x96\x9a\xd7\x45\xc1\x48\x07\xdc\x6a\x88\xac\x4b\x5b\xb1\xa6\x9b\x80\x6b\x0d\x14\x3d\x8b\xf9\x00\x9e\x7d\xf3\x1b\x06\x21\x5e\x4f\xd6\x2f\x07\xbf\xd3\x40\xda\x89\x94\x37\x2c\xfc\x35\x16\x5e\xf8\x33\x1f\xba\x54\x85\x3c\x38\x3d\x88\xa1\xb7\x90\x12\x11\xf0\x36\x14\xdb\x0d\xf5\x03\x59\xa0\x27\xe7\xf6\xae\x2f\xfc\xb2\xfb\xf7\x0a\xb1\x16\x23\x1d\x7f\x07\x5b\x67\xf5\x2d\x8f\x53\x61\xa4\x78\x5f\x7d\xde\xf1\x6b\xbe\xc1\x3e\x19\xea\xbf\xa7\x9d\x7e\x09\x43\x7d\xff\xd4\x63\xf8\x64\x5b\x99\x4f\x51\xfc\xaf\x27\x40\x63\xda\x4c\x25\x77\xd6\x8f\x33\x2e\xdf\xb6\x85\xc1\xc1\xa8\x00\xad\x2c\x97\x48\x95\x45\x4e\x44\xb1\xb4\xad\x26\x14\xb1\x37\x64\xb3\xa2\xaa\x40\xa1\x1d\x8f\x72\xbc\x02\x8a\xfc\xb7\x07\xbd\xbe\xb4\xde\x52\xc5\x0c\x21\x0b\xb9\x81\x96\x19\x79\x7f\x48\x53\x96\x83\x24\xa7\x16\xbe\x0f\x52\x73\xa1\x2c\xa9\x1c\xa8\x9c\xb0\x8e\xef\x00\x9b\xca\x72\x91\x2c\xe5\xd7\x36\x7e\xf9\xed\xad\xab\xce\x43\xac\x11\xf8\xe1\xd4\x35\xe4\x2b\x4e\x55\x06\xe3\x6a\x24\xbe\xfb\x42\x2d\xb4\xa7\x81\x48\xa4\x16\x5b\xd1\x97\x36\x41\x53\xa9\x89\x51\x99\x5a\x22\xb6\xa8\xba\x81\xce\xf1\x7e\x1b\xf7\x5b\x5b\x1e\x3e\x9e\xdf\x6f\x0b\xe1\x2f\x58\xbe\x40\x6b\x30\xbd\xbf\x17\xa1\x9c\x04\x42\x3f\xeb\x42\xc8\x29\xe4\x18\x83\xe4\x00\x15\x95\x76\xd9\x08\xa4\x47\x4e\xde\xf4\xc8\xc3\x1f\xa2\x1c\x94\x8a\x08\x1d\x38\xd0\x07\x54\xa0\xa3\x21\x43\x93\x0e\x2e\xf5\x10\xad\x02\x24\x9a\x6a\xd1\x20\xda\xf6\xdd\x18\x1c\xdd\x1d\xfc\x63\x33\xa7\xd1\x82\x0a\x0a\x87\xb8\x61\xec\xd3\xd6\x17\x05\xd4\x06\x20\x26\x9c\xee\x4c\xf8\xf5\x4e\x30\xf8\xfb\xa7\xd7\x2f\x7f\x68\x7e\x7d\x3e\x65\x18\xbe\xda\x69\xc0\xb5\x96\xda\xec\xeb\xcc\x49\xfb\xad\x79\xf7\x76\x1a\xb6\x62\xc4\x0b\x43\x54\x01\x94\x98\x24\x86\xab\x47\x11\xc9\x0d\x60\xe8\xd0\x55\x07\xb5\x17\xcd\x79\x3b\x24\x2f\xec\x17\xc4\xae\xfe\xfd\x4d\x34\xbb\x93\x25\x37\x08\x99\x12\x66\x11\x40\x5e\x9b\x7b\x78\x9d\xb5\x3f\xa2\x7d\x91\x30\x23\x2e\xd8\xda\x97\x7a\x23\x33\x8d\xcc\x14\xad\x06\x11\x7e\xd9\xd0\x47\x8c\xbe\x4a\x61\x61\xd3\x62\x76\x5b\xaa\x6f\x40\xbe\xf9\xd6\xac\x37\x41\xd5\x69\xcd\x17\xbf\x83\x76\xde\x7f\x1c\xfc\xa5\x9e\x34\x83\xf6\x58\xd7\x80\x0b\x9c\xcf\x71\x13\xb5\x75\x01\x9d\x60\xc3\x78\x56\xf7\xa5\x21\x01\xe6\x3b\x0c\xbb\xa8\xfb\xd3\xf8\xb3\x1c\x40\xe6\x7e\x3c\xc4\xef\xc0\xff\xf2\xb7\x62\xb7\x2e\x7f\xbf\x58\xf4\xd7\xa7\xc0\xfd\xd7\xf2\x51\x45\x75\x6e\x6e\x8a\x95\x9b\x40\x9a\xf0\x71\x99\xa2\x5e\x4c\x48\x00\x2d\x87\x06\x50\x23\x73\x92\x00\x5d\x07\x37\x7d\x4e\xff\xd6\x42\xe7\x5d\xfa\xa0\xdc\x16\xde\x3a\x89\x7c\xf0\x23\xe1\x4f\x37\x6d\xed\x6a\xfe\x42\xb4\x69\x08\xd6\x1c\x2a\x33\x3b\x8a\x4b\xe6\x5d\x8d\x66\x0f\x75\x9a\x5b\x53\x8c\x29\x28\x3c\x37\x52\x62\xec\xc6\xb2\x7e\x95\x4d\xc0\xb4\x6a\x28\x7f\x54\xdd\xe3\xae\xca\x6d\x11\x6b\x2b\xb1\x61\xd5\x9d\xf1\xea\x3b\x71\x56\xbf\xfc\xc5\xaf\xcf\xdd\x1e\xcc\x18\x1a\x5c\x90\x1c\x61\x39\x28\x3b\x2a\xeb\x30\x7b\x3c\x50\xd0\xd8\xe2\xb1\x2d\x67\x3c\xcc\x58\xc1\xeb\xda\x64\xf5\xeb\x54\x7f\xae\x4e\x86\x32\xe5\x73\xc9\xb7\x9e\x4b\xfc\xfc\xfe\xe9\xea\xf0\x14\xea\xfe\x5a\xff\xc7\x23\x79\x8f\xb4\x7c\x2b\x23\x5f\x97\x9e\xcb\xad\xe7\x12\x44\x71\x93\x05\x81\x8f\x6c\x50\x0f\xa4\x4e\x37\x3f\xe8\xea\x67\xf8\x69\xe0\x8a\xc3\x09\x0f\x74\x50\x77\x92\xa8\x7f\x20\xd8\xd2\xe5\xb7\xac\xab\x4f\x31\xbd\xaf\x4f\x28\x95\x87\x80\x94\xe9\xf0\xe1\x5a\xae\xea\xbd\x32\x87\x5d\x97\x6a\x7a\x6b\xb3\x63\xb8\xea\x68\xaf\x38\xa6\x58\xbd\x59\x83\x08\xa1\xdd\x16\xff\x24\x6a\xaf\x2f\x4d\x4a\x9a\x6d\xdc\x16\x3f\x41\x73\xc5\x89\x8b\xe6\xca\xaf\xbc\xe5\xdb\xa2\xb9\xe0\x3b\xff\xc9\xef\x66\x76\x5b\x7a\x5c\xab\x2f\x84\xb3\xa8\x5f\xd4\x6e\xd2\x0c\x17\x1d\x7a\x5d\xfc\x67\x9b\x3d\x8c\x89\x6f\x5c\x5d\xaa\xb4\x68\x47\xcf\x76\x34\xda\xe9\xd1\x4e\x8f\x76\x46\xb1\x37\xed\x5c\xee\x0d\x7d\xd2\xa3\x4f\x21\xbe\xaf\xfd\x0e\xda\x2d\x2d\x55\xd2\xb0\x41\x31\x7e\xb0\x72\x17\xee\x6e\xa9\xa7\xb5\xe0\x63\xec\xa6\xbd\x6f\xde\xdd\x3d\xf9\xef\x7d\xab\xfe\x1d\x0f\x0c\xe6\x5a\x84\x03\x5e\x5f\x7a\xb6\x34\x4b\xf9\x45\xa3\x80\x7f\xc4\xd1\xbf\xba\xe1\xa3\x59\xef\xc8\x56\x53\x05\x74\x52\x50\x8b\x3f\x12\x48\x82\x54\x2c\xcd\x7a\xa2\xc5\x29\x51\xe2\x06\xa1\xaf\x10\xe4\xcf\x69\xdb\x82\xaa\x52\x16\x42\xc2\x31\xb8\xdc\x96\x66\x6d\xf5\x5f\x8b\xdc\x34\xb7\xad\x52\x72\x48\x28\x13\x03\xed\x70\x72\x58\xcf\xba\xf3\x5a\xaf\x2f\x53\x35\xcd\xe0\xd3\x28\x29\xca\xd4\xe2\x26\xbe\x54\xdc\x46\x2f\xd4\x35\x84\x40\xca\x75\x91\xd1\x6e\xcb\x28\xf9\xcd\x95\x6a\x5c\xa9\xbd\xbd\x12\x5a\xd8\x8f\x46\xff\x59\xed\xa2\xa7\x98\xe6\xd7\x27\xe4\x85\x66\x3b\x51\x66\xaa\xbe\xba\xf7\xad\xd7\x64\x2c\x51\x62\x08\x79\x17\xa8\x6f\x8d\xa3\x4e\x78\xf2\x36\x50\xc6\xbc\x93\x03\x58\xa0\x5f\x00\x91\xf0\x96\xfa\x59\x75\xce\x2f\x07\x40\x43\x93\x2f\x09\x26\x34\x25\x31\x58\x9d\x5e\xfb\x9b\xc2\xad\x9d\x82\x8e\xe4\xf4\x07\x63\x39\xcc\x65\x91\x83\x91\x9b\x10\x52\xd4\xf7\x0d\xc2\x1a\x08\x09\x26\x49\x34\xb9\xd2\xed\xe0\xc6\x28\x60\xe6\x00\x84\x7a\x05\x11\xfc\x86\xfa\x68\x6a\x2c\x5d\x36\x72\x74\x8d\x28\x5f\xd3\x43\xbe\x03\x74\x31\x63\x3f\xf8\x69\x0e\xa1\x3f\x09\x86\x08\xa0\x13\x42\x89\x7f\x2f\x4c\xb3\xad\x02\x3a\x4c\x89\xc0\xfb\xfd\xc1\x98\xc6\xd4\x7d\x61\x52\x2d\x38\x06\x85\xb9\x3b\xf8\xdd\x9c\x05\x47\x69\x43\xa8\xe2\x40\xd9\x93\x9a\x73\x54\x4e\xa0\x3c\x03\xe0\x13\xee\x3d\xa4\xd9\x36\x4d\x51\x82\x9a\x50\x16\x58\x7b\xaa\x93\x71\x82\x4a\x4d\x8e\x92\x34\xb4\x06\xcb\x85\x05\xa8\xd5\x22\xf6\x9b\x96\x60\xaa\x26\x77\x57\x41\x08\x01\xa3\x9f\xac\xce\xcd\x0e\xa8\x54\x94\xfe\x0f\x5f\x9d\x49\x7a\x0b\xe4\x0f\x3d\x30\xc4\xbb\x21\x98\x80\x2e\x15\x06\x7f\xc8\xd8\x88\xb2\x74\x4d\xd0\x14\x14\x14\xe4\x46\x24\x43\x43\xf5\x63\x2d\x03\xd2\xef\x10\x23\x0b\x71\xab\xbd\x1e\x74\x83\xd2\x52\x54\x75\x27\xc8\xee\x94\x43\xae\x00\x59\xf9\x24\x20\x72\x49\xac\xc6\xa7\x9e\xcd\x86\xa0\x13\xf4\x9c\x1a\xa4\x83\xcc\x2e\x9b\x34\x43\x19\x8a\x1b\x63\x3d\xa4\xba\x08\xad\x92\x23\xcf\x39\x0e\x5e\x97\x71\x84\x7f\x22\x7b\x0f\x3a\x23\xe4\x51\x49\x12\xdf\x28\x29\xd4\xd2\x21\xd0\x8f\xab\x03\x5f\x0f\xf2\x6c\x42\x58\x30\xa1\xb3\x5b\x2a\xa2\x80\xc5\xb5\x90\x8e\x70\x97\x1e\x8a\x41\x70\x33\xe4\x10\x97\x64\x05\x77\xf0\xd3\xe5\x64\x65\xa5\x7e\xfc\x56\xc0\x28\x5f\xcc\x17\xc2\x20\xed\x72\x03\x69\x03\x70\x1b\xd4\xe5\xd2\x18\x33\x0e\x32\xec\x2f\x91\xf2\x58\x50\x47\x0c\xd2\x8f\x47\x82\x93\x53\xf4\xcc\x2c\x38\x0c\xca\xa1\x83\xd4\xf2\x5a\x33\xf4\xe2\x2c\x18\x37\xcd\xff\x18\x93\x0b\xf4\xc5\x20\x0e\xff\x72\x6a\xab\x69\x10\x58\x0c\x4d\xc3\x5d\x60\x88\xa4\x3c\xea\x5b\xe8\xa1\xec\x92\xef\xc2\x44\x99\xc4\x25\xcb\x48\x83\xca\x5c\xe4\x95\x4c\xa1\xd3\x55\x08\x29\xb4\x14\xe2\x45\x91\x98\x8a\x9a\xa0\x94\x51\x89\xa6\xf8\x97\x52\x72\xe4\x82\x42\x50\xb8\xe0\x5d\xbb\xc5\x68\x0d\x34\x52\x7b\x0d\xc6\x04\xd8\x61\xd6\xf6\xd2\x58\x91\x5c\x73\xaa\xc1\x23\x50\x91\x6e\x07\x85\x33\xe2\xde\x51\xce\x4d\x6a\x2c\x6c\x77\xb6\xfa\x83\xdc\x96\xde\x56\x60\x5f\x36\x2d\x3d\x4d\x77\x9c\x21\xaf\xe2\x7b\xa5\x4a\xaa\x39\xd9\x24\xf6\x08\x1e\xb5\x19\x72\x15\x93\x54\xf5\x5a\xf0\x1b\xca\x30\x30\x94\x6d\xec\xda\xc9\x4d\x4d\x59\x3f\x5b\x7b\x42\xf9\x02\x26\x28\xd4\x2a\x6c\x52\xe2\x56\xa8\x66\x4b\x86\x8f\x1d\xe1\xe5\x45\x0a\x51\xbb\x78\x59\xa4\xa4\xb8\xb0\x2a\x98\x0e\x15\x98\x15\x20\x3b\x33\x49\x15\xba\x94\x16\x38\x94\x10\xdc\x8b\x75\x0a\x7a\xa2\xb9\x41\xeb\x07\x2a\x2c\x2d\x6a\x3d\x70\x6f\x52\x48\x99\x0f\x5e\x91\xa3\x10\x0f\x6f\x17\x75\x0e\x1a\x51\xd5\x9a\x31\x84\xaa\x04\x5a\xc0\x8c\xea\x33\x40\x5f\x81\x9d\xc1\xad\x97\x80\xb8\x21\x6b\xfa\xfa\x32\x54\x53\x6d\x63\x2d\x6e\x32\xae\xa4\x15\xe9\x7d\x45\x2c\xa4\xb8\xa7\x61\x6a\xa9\x82\x2a\x8a\x02\x86\xb4\x8b\xfa\x21\x17\xcf\xa1\x05\x4a\x22\xbb\x30\xd8\xc4\x4a\x5e\x3b\x20\x36\xe0\x0d\x40\x95\x73\x4f\xc5\x36\x95\xa4\x88\xe1\x53\x8f\xdf\x57\x55\xc6\xfc\xed\x4b\xbd\x4a\x79\x65\xa0\xa0\x4f\xd4\x92\x80\x07\xb3\xb9\xf9\xe3\x23\x96\x1e\x77\x08\xe8\xb5\x70\xc2\xb1\xc1\x45\xe7\x95\x7a\x35\x59\x05\x22\x42\x2b\x79\x03\xf5\x36\x7d\x76\xcc\x8a\x1c\x6d\xbd\xc9\x6d\x91\x87\xdf\xb1\x9c\x54\x88\x94\xe8\x2a\x10\xf3\x3a\xbf\x92\xf4\x59\xc2\x6a\x3e\x25\xac\xbe\xde\x91\x65\x48\x11\x55\x92\x65\x42\xca\x22\xb1\xa6\x03\xd9\xc2\xd1\x43\x9c\x90\x4a\x1a\x67\x92\x42\xa6\x11\xfe\x9b\x48\xce\x03\xa4\x46\x3a\x6a\x01\x15\x94\x01\x2d\x05\xd9\x55\xa3\xa6\x85\x66\x88\xec\x98\xa6\xd1\x63\x88\x05\x10\x4f\x58\x26\xce\x85\x5a\x52\x39\xcc\x1b\xcc\x45\x77\x89\xf5\x80\x12\xb3\xba\x3f\xf5\x04\x1b\x4b\x74\xa4\xc6\x98\x04\x50\x57\x33\x35\x81\xfd\x08\x1a\xc6\x06\x9d\x22\xa2\x2b\x91\xc2\x44\xb6\x2a\x54\x3b\x3a\x04\x68\x02\x47\x5b\xf8\xb7\x52\x36\xb7\x39\x82\x59\xb1\x1c\xe8\x28\x28\xdb\x58\x52\x2c\x45\x69\x1c\xfa\x51\xfc\x90\x3a\x37\xfb\x50\x2b\xf5\x05\x93\x1b\x4f\x3b\x60\x5a\x58\xcd\x36\xf5\xdb\x20\x43\x0b\x66\x71\x2c\x59\x11\x93\x51\xa5\xfa\x77\x4f\xb1\xc3\xe4\x10\x3f\xdd\xfc\x61\x14\x92\xe9\xc8\x19\x0c\x4b\x56\x40\x47\x08\xcd\x90\xa8\x61\x6f\x41\xbd\x6b\x85\x0b\xd6\x52\xb9\x63\x5e\x20\xc8\x13\xd0\xd7\x20\xff\xf1\x0e\x08\xb5\x51\xca\xdd\x6e\x94\x13\x63\xb2\x03\xc9\xfd\xde\x28\x9c\x61\xe4\x1d\x80\x82\x09\x14\x70\xc4\x97\x30\x7f\xd3\x95\x59\x63\x6f\x96\x69\xbe\x71\xe6\x85\x97\xd8\xe0\x59\x45\x54\xc0\xf5\xa5\x39\xb5\xd8\x39\x4f\x6d\x21\xe8\xa9\xb1\xec\xc7\x14\x33\x66\x77\xbb\xbc\x0b\x42\x90\x3d\x74\x04\x4d\x36\x8c\xa8\x04\xfe\x41\x38\xf6\x84\x97\x80\xf9\x0a\x0c\x05\xa1\x80\x60\x0a\x0a\x15\x83\xba\x95\x3f\x3b\xff\xde\xcc\x57\x5c\x1f\x54\xc4\x8f\xc6\x9a\x23\xb9\x85\x8d\x5e\x0f\xd2\xda\xc2\xdc\x94\xe5\xe8\x53\x6c\xc2\xbe\xb5\x97\x88\x9f\x61\xbd\xd0\x99\x23\x22\x0c\x98\x09\x4d\x36\x25\xcb\x53\xed\xfb\x22\x00\x64\x93\x35\xd4\x1d\x28\xcb\xba\x51\xa1\x87\xc9\x56\x45\xa9\x5b\x12\xb8\x5d\x9d\x3b\x1d\x16\x18\x28\x5a\x14\xfe\x04\x53\x0a\x84\xbb\xb0\x2f\xe1\x06\x40\x06\x26\x25\x41\x43\x50\xdb\x19\x0b\x1f\xe4\xa0\xb0\x58\x9d\x4a\xb9\x6c\xd6\x7c\x73\xaa\x83\x32\xc3\x96\x19\x13\xda\x28\xf3\x5e\x6b\x12\x26\x28\x6c\x2b\xd4\x85\x14\x03\xc2\x91\xbc\x0c\xad\x6d\x0c\x4b\x43\x81\x56\x2b\x9b\x25\x6b\x4a\x0f\xc0\x39\xea\x3c\x67\xa5\x1e\x8d\x2a\x0b\xe3\xc8\xec\x4a\x4b\xe9\x53\x4a\x87\xef\x4a\x7e\x4e\xe9\x7e\xbd\x7b\xb6\x3d\xa7\x02\xfc\x73\xcb\xc4\x07\x43\x7b\x7e\x91\xaa\x2b\xd6\x26\xb7\x25\x83\xd3\xe9\xc0\x94\x8e\x7e\xd0\x45\x2d\x34\x2a\x21\x2a\x0a\x94\x90\x1c\x03\xdf\xf7\x15\x94\xbc\x2d\x52\x6a\xe4\x79\x5b\xe6\xdb\xd8\xa0\xbd\x4d\xdd\x5b\x1d\xbb\x08\xd1\xdd\x44\x13\x34\x37\x1f\xbb\xb9\x33\xe9\xf7\x80\x55\x68\xbd\xdf\x12\x1c\x53\xa1\xd6\xfb\xf1\xdf\x98\x3b\x80\x74\x79\x8b\xbf\x8c\x09\x3d\xd9\x31\x93\xf5\xd5\xcd\x8e\x8c\x16\xd0\x5e\x93\x24\x2d\xbf\x5e\x5e\xba\xbf\x0f\x29\x75\x65\x0e\x7b\x05\xd0\x28\x2e\xa2\x24\x2d\xa4\x32\x1c\x9a\xa1\x12\x8c\xff\xe4\x9f\xc8\xd7\x84\x0f\x2b\x26\xde\x5c\xcf\xf3\xdf\xeb\xca\xb8\x2e\xff\x74\x74\x2e\xfa\x76\x40\x63\x75\x42\xbb\x04\xaa\xc9\xd2\x21\x39\x06\xa7\x1f\x5d\x8a\x5c\x59\xa9\x61\xb3\x0e\xef\xce\x18\xd6\x47\xdf\x6e\x08\x12\x06\x1e\xa1\xcc\x3d\x58\xc8\xd4\xb6\x01\x2a\x2e\x09\x91\x0c\x80\x26\x99\x1c\x1c\xfd\x0c\x7e\xf5\x71\x10\x76\x34\xbe\x2f\xe2\x7f\x2b\x49\xc4\x4f\x67\xdd\x24\x95\x8e\x14\x1d\x24\xfd\x7d\x68\x2b\x6b\x04\xb1\x4e\xf8\x4c\x06\x3e\x36\xaf\x14\x9b\xbc\xf7\x39\x3a\xf8\xbd\x97\xb3\xe3\xf7\x9d\x7f\x8e\x2e\x59\x03\xf1\xa5\x1c\x93\xde\x69\xc7\x1f\xce\x8e\x3d\xbb\x1a\x5a\xab\x79\xc3\x92\x52\x62\xb7\x13\xb0\xd6\x71\x29\xf1\x51\x7a\xd9\x3a\x49\x13\x83\xc3\x09\xee\x68\x65\xd5\x89\x1d\xa9\x95\x92\x44\xb1\x80\x40\xa1\x06\xaf\x0d\x49\x08\x24\x4f\x27\x96\xc6\x41\x6b\x87\x10\x81\x79\x04\x20\xd7\xe5\x3e\x7e\xe4\x3e\x64\x37\x0e\x9e\xc7\xe7\xdb\xdf\x8e\xa4\x63\x7a\xbd\x19\x78\x0f\x23\x47\x1f\xc7\xeb\xd9\x05\x3a\x7d\xd4\xb4\xee\x83\x46\x2a\x85\xe4\x76\x84\x79\x81\x3f\x85\xd2\x57\x23\xe7\x4f\xbb\xec\x02\x5e\xab\x2a\xac\x3e\x3d\x5f\xe9\x7e\xbe\xe7\xcf\xe2\xed\xdf\x3f\x2d\x1d\x27\x17\x57\xab\x25\x15\xa8\x50\x53\x66\x57\x0f\x7e\x22\x93\xf0\x2a\xc0\xfe\x39\x11\x2a\x80\x8c\x23\xeb\x98\x90\x8f\x2b\x42\x82\xa6\xc5\x06\x16\xd6\x6d\x21\x62\x19\xe6\x75\xc0\xac\x50\xc4\x0a\xf0\xe9\xbd\x3a\x96\x1a\x65\xcc\x6e\xef\x40\x03\xa7\xbc\xb9\xdb\x3b\x34\x4d\xb0\x1d\x6a\x61\xa1\x82\x2f\x45\x58\xe2\x7d\xb0\x8a\xfb\xc4\xbe\x9c\x4f\xd0\xfd\x34\x54\x66\x9f\x42\xdb\x99\x86\xf1\xa0\x92\x60\xbf\x9b\xa9\xf4\x1e\xbf\x1c\x7c\xa3\xa4\x9f\xe3\xff\x59\x82\x25\x0f\xfa\xee\x91\x64\x45\xb5\x11\x0b\xa7\xdd\x20\x02\xeb\x28\x64\xab\x40\x14\x58\x12\xe3\x1a\xb6\xb5\x74\x68\x05\xd0\xd1\x68\x5b\x1d\x74\x33\x6b\x32\x37\x52\xa8\x85\x93\x35\x19\x54\xb0\x15\xde\x26\xea\x28\xca\x61\xf8\x53\x5c\x3d\x8d\xfd\x10\x94\xdd\x1b\x05\xc0\x35\x04\xd3\x4e\x1d\x90\x78\x3f\x8b\xf6\xc0\x28\xc0\x1c\xe7\x73\x51\x39\x1b\x39\xcc\x18\xfe\x62\xb2\x02\xf8\x32\x2e\x21\xdb\x4b\x8a\x42\xd3\x80\xdf\xeb\x08\xf9\x78\xba\xaf\xf5\x0c\xba\xc0\xf3\x2c\x65\x22\xb0\x49\x0f\x01\x2f\x6d\x6c\x54\xd6\x36\x5e\xc4\x06\x0d\x5f\x34\x9e\x69\xc7\x6a\x83\xba\xa7\x7b\x3a\xf0\xa0\x48\xa8\x96\x8a\xb8\x15\xee\x6d\xf1\xf1\xd3\x12\x80\x8b\xbc\xa3\xc3\x36\x08\x46\xa4\x5a\xef\x72\xdf\x30\xa0\xdd\x68\x2d\x3d\x0d\xa9\x2b\x00\x1b\xda\x57\xf7\xdc\x52\xd1\xd7\x17\x9b\xc9\xff\x3c\x4b\x52\xd3\x9b\x64\xd3\x75\x69\xa0\x38\x37\xa8\xda\x98\x40\x77\x68\xe4\x64\xa6\xac\xfc\x07\x98\x6f\xb8\x75\xe4\xed\xf8\xcb\x41\xf9\x2e\xe2\x36\xed\x3c\xc4\x17\x69\x61\x14\x73\x69\xf5\xf5\xa5\x77\xb7\x33\x67\x59\x2b\x61\xbb\xe5\x66\xd0\xee\xcb\xa8\xf8\xf2\x2d\x83\x8e\xec\x72\x14\xe7\x00\x9f\x16\x70\x14\xd4\xa4\x29\x35\x4e\x46\xd0\x0e\x28\x21\x56\xa2\x57\x20\xbc\x7a\xb8\x08\xf0\x66\xdd\x6e\x84\x25\x39\x30\xb4\x21\xe5\x4e\xfd\x8d\x14\xb9\x50\x31\xa8\x14\x01\xca\x36\x38\xc8\x59\x59\x81\xaa\xfd\x50\x3a\x17\xa8\x81\x81\x50\x84\x08\x2e\xf0\x70\x09\x13\xa5\xb0\x8d\xa8\x5b\xd4\x0e\x61\xa8\xda\xc3\x59\xaf\x29\x2a\x35\xe0\x88\xfa\x92\x3a\xe9\x4f\x04\xe1\x22\x02\xb5\xb9\x66\xef\x62\x77\xe7\x7a\x2f\x49\x4b\x3b\x05\x07\x8c\x69\x37\xce\x3d\x94\x9f\x07\xaf\x3c\xd3\x3d\x23\x31\xac\xed\x03\xcf\x6e\x92\xfb\xd8\x2c\xcd\x54\x92\x64\xc0\x2a\x7c\x9f\x93\x0d\x6c\x8b\x2d\x49\x99\xa9\xe6\x9b\x8d\xb2\xd6\x4a\xb6\x8b\x4d\x89\xd4\x82\xce\xd8\x6e\x98\x6b\xb0\xa4\x9a\x84\xda\xd9\x65\x43\x78\x9c\xe4\xd8\xb7\xa5\xc8\x27\x40\x92\x92\x9f\x81\x24\xcf\xcc\x79\x77\xb0\x96\xba\x51\x23\x55\xdf\x25\x3b\xf0\x5e\x19\x23\x6a\x68\x8f\xba\xda\xfd\xa8\xb4\x25\x78\xf8\xa1\xfa\x36\x8a\x6f\xfd\xc4\x38\x8f\xa5\xb7\x47\xe5\x6d\xe9\x57\xa0\x85\xc1\xff\x3e\xc7\x04\xa0\xd1\x4a\x9a\x50\xbd\xdc\xe1\x25\xeb\x00\x1a\xf8\x9b\x5c\x24\xd7\x65\xb4\xf2\xad\x8b\x56\x94\x00\xb1\x02\x88\x05\x40\x3a\xae\xad\x47\xfd\x0f\x06\x78\x86\x1d\x5b\xc6\xe5\xdc\xb0\x37\x92\xf9\x11\x3c\xcb\x48\xe0\x18\xb7\x45\x1a\xf4\xa5\x47\x3a\x90\xc2\xbf\xd4\x87\xc2\xc3\xbf\x2b\x41\x15\x21\xc2\xb7\xfa\x50\x28\x69\xfd\x85\x3e\x94\x37\xaf\xb5\xfd\xb1\x17\xa8\xa2\xbf\xb8\xc0\xe5\x77\xbc\x82\xc8\x28\x7f\x64\x17\xa1\xfd\xdf\xb3\x8f\x2e\xef\x5f\xe2\xb9\x97\x7e\xcf\x87\x28\x3e\x00\xff\xe0\xf6\x3f\xec\xa4\xcb\xef\x72\x89\x3f\xb6\x93\x7c\x2d\x1e\xb3\xdd\xb4\xb6\x43\xf2\xeb\x49\x8c\xeb\x26\x2d\x83\x19\xff\xb6\x54\xd1\xeb\x98\xed\xb3\xe5\xf0\x19\xed\x73\x57\x04\xb6\x52\xd2\x37\xb4\x1c\x6e\x28\x38\xf8\xa6\x5e\x84\x8e\xfc\xbe\x60\x5b\x3b\x4a\x14\xde\xe8\x45\xa8\x6f\xb1\x15\x56\x78\x19\x0f\xbc\x0c\x8f\x7d\xf2\xc0\x8e\xc0\x2e\x39\x89\x15\xde\xf4\xf4\x1b\x76\x86\xb3\xa3\xd9\xfa\x9c\xfa\x2b\x1a\xbf\xfc\x8d\xad\xbf\xa5\x94\xf8\x9d\x6f\xbd\x8c\xfc\xc7\x34\x6e\x03\x35\xc5\xb7\x06\x3c\xe1\xaf\x3b\xeb\xd7\xde\x09\x5b\x2f\xd2\x7e\xcb\x2d\xfd\xb6\xc6\x5b\xd7\xdf\xa5\xf1\xe7\x65\xcf\x5b\x9f\x60\x7c\xf8\x83\x6e\xdd\xd7\xd5\x3f\xa6\x75\x14\xc5\xcd\x76\xa7\x88\x7c\xd3\x3a\xc8\xe6\x1e\x9a\xbf\xdc\x17\xa3\x93\x92\xf0\xf1\x02\x20\xa0\x7b\xe7\x0a\x7f\xd8\x7b\xf5\xc6\x7f\xaf\xf7\xfa\x6e\xe3\x7c\xad\x7f\xc4\x78\x47\x9d\xe4\x1f\xf6\x5e\x29\x7e\x82\xc9\xfa\x47\x8c\x78\x34\xff\x87\xbd\x55\x12\xa7\xfe\x51\xaf\x15\xad\xff\xda\xe9\x7a\xf9\x1b\x7b\xfe\x8f\x7a\xb1\x9f\x6c\xd1\xcf\x08\xca\x1f\x3e\x62\xf5\x95\x31\xd2\x1c\x87\x3a\x9c\xfa\x9e\x37\xf4\xd7\xa9\x45\xda\x08\x79\xc9\x50\x26\xfb\xf4\x84\x01\xe2\x95\xa9\x49\xa1\x32\x3a\x52\x38\x0b\x2d\x88\x04\x36\x9d\x74\x36\x10\x8d\x3f\x43\x11\xe4\x76\x53\x1d\x57\x6b\xfc\x45\x75\x6c\x3c\x9d\xe6\x4c\x88\xa8\xe2\xb0\x19\x8c\x05\xc8\x26\x44\x62\x23\x94\x42\xa5\x52\x59\xe1\xbf\x59\x77\x12\x75\x58\xff\xf7\x53\x19\xd0\xf7\xcf\xea\xd0\x77\x6a\x96\x0e\x25\x6c\x8e\x90\x16\xf5\xfc\x22\x51\x87\x92\x96\xa0\x74\x00\xa5\xc6\x3c\xc5\xfb\x6d\x44\x56\x65\x6a\x42\xa4\x90\x82\xec\x55\xc8\x2a\x02\xf0\x55\xd4\xd6\x50\xa5\x2d\xd7\x64\x73\xeb\xfd\x81\x0c\xb9\x1f\x34\xd9\x88\x97\x22\xa6\x53\xa1\x1d\x57\xbc\xf5\x21\x01\x4b\x26\x19\x0b\x42\x14\xd0\x35\xb8\xdf\x04\xa8\x63\x08\xef\x66\xc9\xb0\x04\x12\xda\x7b\x53\xa9\x1e\x5a\x34\xa0\x2e\x7e\x72\x9d\x11\xd2\xcd\x94\xc8\x08\x70\x38\x4f\x5e\xc4\x0a\x7d\xdb\x0a\x32\xda\x61\x9a\x1a\xb8\x3c\xc0\x6f\x54\x6b\x5a\x26\x79\x8a\x30\x89\x3a\xa8\xcf\xb5\x06\xa1\x22\x92\xd6\xfd\x60\x12\x27\x5e\x03\xa5\x68\x87\xdc\x04\x08\x0f\x00\xcc\x0b\xd1\x78\x44\x9c\xcb\x59\xc3\x8d\x6c\x3a\x9f\x6b\x92\xfe\x88\xf5\x0a\xbc\x37\xf0\x36\x42\x85\x0b\xa7\x1a\x78\xe3\x73\x1a\x0d\xf2\xa8\x93\x72\x1f\x48\x5e\xb1\xbb\x07\xf9\xa8\xdb\x2e\xd3\x12\x94\x3b\x73\x97\x34\xe4\x91\x96\x86\x71\x9f\xe3\x0d\x2d\xc7\x3b\x0b\x28\x52\xa6\xf4\x09\xdf\x90\xbf\xa0\x03\x0e\xfe\xa5\x6e\x68\x21\x86\xc4\x7e\x0e\x92\x73\xe0\x6c\x67\xf9\x03\x5e\x29\x06\xc9\x12\xa3\x84\x90\xfc\x48\x20\x64\xbf\xb6\xc5\xa8\xe0\xcb\xfd\xc2\xea\x08\x3c\x0c\xda\x29\xa4\x2b\x11\x80\xad\x8e\x17\xc5\x00\xe4\xfd\x15\x42\x1c\x3e\xe0\x7b\x75\x42\x12\x4d\x6c\xc6\x93\x60\x34\x20\x7d\x11\x83\xa4\xec\xf7\xa1\xf3\xd9\x9a\xf7\x04\x96\xfd\xfe\xa9\xa4\xae\xb7\xf1\x28\x86\x9d\x73\x78\x52\x95\x4c\x8d\x2c\x01\x8c\x48\xbd\x77\xc2\x5a\xc0\xdf\x2f\x9b\x86\xd3\xd2\xc2\x69\x29\xa7\xca\xf2\xe9\xb3\x14\xfa\x2c\x2d\x15\x9c\xe6\x67\x2d\x93\x45\x5d\xd8\x09\xd8\xa9\xb5\x27\x5c\xc5\x77\x04\x1d\x29\x52\x91\xf3\x2c\x19\xd5\x9c\x77\x69\x19\x10\x3e\x7c\x60\x42\x98\x5f\xfa\x10\x0b\x82\x1d\xfd\x5c\xf1\xa1\xe4\x27\xb0\xeb\xf7\xcf\xe2\xd4\xf7\xb8\x15\x4d\x40\x5b\x1b\xd4\x43\xe6\xad\x59\x5b\xdd\x2f\x8c\x80\x69\xaf\xca\x99\xd6\xbb\xae\x6d\x8e\xa4\xb5\xac\xcb\x9b\x0f\x3e\xc7\x22\x16\x25\x59\xcb\x19\x76\x32\x06\x79\x51\x83\x59\xdc\xef\xeb\xeb\xd2\xc9\x2b\x51\x58\xf0\x0a\xc1\x2c\x20\xbc\x20\x16\x26\x8d\x07\xe0\x7b\x13\xea\x35\x4d\x04\xa6\x64\xa4\x56\x6f\x6c\xb8\x60\x47\xec\xb6\x37\x49\xa5\xaf\x7e\x06\xe4\x11\x15\x62\x2b\x69\xec\xfe\x9e\x06\xfe\x0e\xa9\x42\x00\x8a\x0a\x34\x26\x0b\x70\x40\x4b\xb7\x4f\x88\xdd\xc1\x01\xf8\x8b\x4e\x7c\x62\x92\x7d\xa8\x4b\x6f\xd4\xf5\x5d\x61\xad\x4f\xbd\x99\x94\xd5\x1f\x13\x19\xf1\xdb\x62\x45\x5f\x5f\x6a\x6f\xc9\xea\x58\x8b\x8f\xc1\x6e\xeb\xf2\xe6\xc3\x22\xe0\xde\xf5\x4e\xfc\xac\x21\x69\xc8\x1f\x7c\xd2\x12\x8c\xa8\x2a\x6c\xa9\xa1\x7c\xe1\xb1\x25\x6d\x3d\x62\xd5\x92\x2d\xaf\x05\xda\x98\x73\x5d\xde\x7c\x58\x64\xcc\xd7\x17\x95\xde\x10\xb1\x38\xd4\xaa\x2d\x1c\xf9\xd6\x2f\xa1\x3d\xd3\xc9\x4e\x1d\x4a\x81\x95\x75\x3b\xd0\xe9\x29\x18\xfc\xfe\x14\x7e\x00\xbe\x07\x3c\xb2\xa7\x72\x64\x5c\xfc\x2d\xff\x96\xf3\xcd\x58\xa6\xa5\x1c\x19\x33\xb5\x1e\x62\xd4\x36\x98\x34\xe9\x99\x22\x1c\x65\xac\xc5\x4a\x92\xd1\x6e\x25\xe7\x6f\x1c\x50\x86\xf7\x34\x20\x22\x39\x55\x5f\x36\x77\x0a\x3d\xe0\x2b\x4c\x76\x8c\xe4\x96\x58\x85\x5d\x46\x60\xba\x7a\xbe\xdc\x96\x92\x33\xae\xb1\xc8\x40\xba\x02\xc7\xf5\x38\xca\x8f\xf9\x6c\xb6\x3e\x81\x8a\xbe\x7f\xaa\x7a\x79\x00\xfb\xcb\xf0\xdb\x95\xd9\xaf\x4b\x15\x14\x3b\x95\xab\x7f\x10\x05\x49\x2b\x08\x79\x7d\x05\x22\x05\x59\x41\x37\xc1\x50\x20\xff\xd3\x97\x7a\x85\x1a\xa8\xf8\x33\x73\x65\xf1\x0f\x3e\xa6\x44\xbd\x9f\x36\xe8\x31\x89\x6a\x32\xdd\x7b\x4b\xa3\x5f\x55\xc1\x28\x80\x7c\x26\x74\x37\x50\xbf\xda\xb7\x45\x69\xc8\x1a\x59\xd3\x4c\x0f\x11\x1b\x03\x5a\x56\xf3\x48\x54\xc7\x33\x82\xe3\x8d\xa8\x56\xdf\x9e\x7c\x8f\xc9\x89\xfa\x54\x80\x4c\xb0\xfc\x72\x46\xe6\x56\xa3\xd8\xae\x63\x78\x94\x7e\x5d\x5a\x1d\x17\x02\xe8\xe4\xa8\xea\x42\x7d\x8a\x34\x66\x7d\x91\x9a\xd2\xde\x93\x5a\xbb\xea\x6c\x9b\x66\x60\x52\xc1\xe8\x03\x20\xec\x60\x2e\xc5\x3f\x5c\x17\xcb\xea\x73\xa9\xf3\x9c\xde\xed\xaa\x43\x36\xd4\xff\x88\x9e\x12\x2a\x85\xa9\xc6\x58\xb6\xb9\xf8\xe3\xc3\x75\xd1\x96\x21\x3f\xf9\xfa\x82\x05\x5d\xaf\x75\x96\xa8\x16\xaf\x51\x25\x16\x9a\x42\xb0\xa1\x32\xb9\x1d\xf7\x90\xb1\xad\x34\xf6\x41\x4f\x82\x0a\x9b\x66\x90\x98\x01\xe1\xd5\x01\xb5\xa8\x08\xb2\xc3\xf7\x44\xec\x5e\x43\x16\x87\x45\xec\xa7\x28\x20\x38\xd7\x58\x79\x4b\xf0\x9f\xbf\x06\x6a\xbd\x5d\x97\x86\x91\xd1\x3e\x1b\x83\xf2\x04\x22\xf9\xbe\xfe\x83\x53\xa6\x95\x09\x7d\x2f\xb9\x2e\xd6\xe5\xb6\xf4\xd1\xaf\x36\x74\x13\x24\x09\x65\x76\x1a\xbf\x6e\x38\x77\x32\xef\x31\x1b\x57\xcc\xb7\x5a\xe4\x91\x7c\x73\xce\x3d\x09\xec\x6a\x2c\x35\x6e\x9d\xcd\x46\x4c\x27\x4a\xbd\x91\x06\x86\x7a\x0f\x3a\xba\x27\xd4\x14\x15\x1f\x32\x6a\xd7\x45\x7a\xbb\xc9\x28\x57\xc1\xeb\x9b\x87\x89\x34\xa9\x6f\x5f\x22\xef\xe2\x83\xa4\x8c\x96\x6c\x8c\xeb\x22\xa3\xde\x54\xfa\x55\xc6\xdc\x04\xcc\xda\x42\x16\x0f\x63\x9e\x06\x10\x3a\x40\xd1\x51\x5a\x68\xbe\x63\xb4\xd3\x20\xc5\xd6\xb8\x2f\xc8\xb4\xf5\x6b\x11\xd9\xc8\xc2\x91\x8c\xf5\x18\xa8\x70\x45\xe9\x44\xbe\x77\x3c\xc1\xff\x42\xe6\x19\xb0\x9a\x8f\x16\xf2\xb3\x5c\xcd\xc5\x6a\x22\xe3\x79\xbf\xec\x2a\x06\xe9\xa2\x98\x3f\xad\xbb\xed\x7a\x75\xa3\x10\xd0\x44\x2a\x8e\xf5\x03\xbb\xc5\x3a\x03\xcd\x00\x11\xb6\xd4\xd5\xdf\x80\x9d\x4f\xa5\x7a\x75\xdb\x60\x2b\x6e\x03\xdb\x4c\x63\xee\x53\x92\xd9\xeb\xcb\x44\xde\x6a\x5c\x4d\xe6\x6d\xe9\xfd\xba\xf8\x87\xfe\x09\x53\x4f\x91\x67\xbf\xe9\x99\xbe\xf7\x81\x3e\xa1\x0e\x4d\x33\x26\x5b\x16\x96\xb4\x61\xca\x31\x3b\x4e\x5a\x38\xb9\xff\xc2\xcf\xd4\xca\x63\x59\xdf\xfd\xe3\xc3\x11\x8f\x67\x3e\x34\xf9\xfa\x32\x44\x93\xa2\xca\x10\x6f\x12\x92\xb6\x80\x53\xf5\xd4\x0d\x00\xc1\x4c\xd6\xf7\xb6\xe2\x80\xa2\x5b\x0f\xad\xc4\x4c\x50\x0f\xb4\xc0\x62\x91\x40\x7a\xd4\x24\xb2\xf6\xa0\x0d\xc9\xf3\x30\x53\x7d\xf5\x4d\x03\x58\x3b\x96\xf6\x35\xc1\x87\xcb\x66\x4c\xbb\x83\xc0\x9a\x84\x25\x99\xc0\xea\xcd\xaf\x09\x6e\xf1\x44\xb9\x00\xe9\x6e\x02\xb4\xe2\x9d\x84\xe4\x2b\x80\x30\x28\xee\x94\xe0\x4e\xf1\xf7\x0b\xf6\x12\x80\x65\x30\x80\x28\x6e\xc5\xda\x04\x96\x79\xca\x49\x72\xd6\xd3\xf1\xa7\xb6\x9f\x47\x1e\x64\xf5\xd1\xd8\x1e\x57\x68\xc1\x30\xc0\x6b\x2f\xe4\x3e\xb7\x10\x20\xd7\x7d\xb1\x90\x5e\x32\x37\x6b\x00\x2f\x22\xbb\x47\x22\x06\x0d\xd8\x65\x95\xb1\x2f\x70\xf7\x86\xfb\x4d\xbe\x00\xe2\x1e\x4b\xea\xcd\xbd\x51\xec\xec\xeb\xa2\x96\xd3\xd4\x5b\xd1\xb9\x1a\x09\x6e\xfb\xd6\x67\xf2\x85\xad\x5b\x2a\x83\x5a\x15\xbe\xc9\xeb\xaa\xa3\x80\x22\x40\x21\xf3\x46\x8c\x8d\xc9\xdc\x4d\x63\x97\x03\x4d\x75\x4e\xf7\xdb\x43\x1f\xc7\x7d\xcb\xa7\xd6\xb9\x3c\x65\x95\xbf\xef\x0f\x6b\xad\xa6\x31\x26\x1d\x63\xd8\x3d\x16\xb2\xb5\x9d\xd5\xca\x47\xdd\x48\xed\x07\x27\x8c\x90\xac\x71\xe4\x74\xfe\x7e\x97\x86\xaf\x2d\xd4\xa1\xa2\xd4\x99\xed\xbd\xbe\x34\xd3\x64\x99\xfe\xbb\x05\xdd\x10\x49\xeb\x40\x1f\x01\x17\x72\xa1\xd8\x81\x64\x4b\x3a\x51\x4d\xdb\xfb\x56\xa1\x93\x90\xdc\xe8\x2f\x79\x6b\xc1\x38\xa4\x39\x81\xd3\xae\xa2\xf8\x7d\xd3\x92\x10\xa6\x00\x50\x29\x87\x1a\xdc\x28\xab\x2f\x3a\x66\x6e\xa7\x57\xf7\xfa\x2b\x14\x62\x49\x28\xc6\x58\xc3\x79\x1f\x7f\x4c\xe1\x97\x54\x5b\xb1\xbd\xb6\x09\x35\x5a\x1f\x7c\x2c\x38\xa9\xba\x87\xb0\x66\xcb\xc7\x34\x19\xe2\x56\xa2\x8f\x81\x6e\xab\x15\x2a\xae\x0a\x08\x3a\xb4\xb2\xea\x99\xa1\x09\xf0\xd8\x46\x94\x41\x68\x39\xf2\x4f\x9c\x43\xf7\x63\x2f\x77\x19\x0f\xd8\x3b\x01\x91\xf5\x99\xad\x95\x62\xcb\xca\xd1\xbf\x2d\x13\x44\x89\x23\x09\x28\x14\xb1\x4a\x77\x02\xcb\x74\x76\xdf\x67\x6e\x05\xbe\xd0\xdf\x53\xc5\xf6\x22\x3a\x66\x1a\xa3\x73\x81\x3c\xf0\xdd\x21\xb7\xdb\xe5\x54\xde\x05\xc0\x96\x9f\x89\xb5\x25\x7a\x95\x1f\x65\x8f\xef\x65\xf3\x45\x16\xc5\xce\x5f\x0e\xd5\x5e\xf2\x2a\xe3\x2f\x9f\x79\x5c\xf2\x94\x5f\xfc\xfe\x99\xaf\xf8\xc1\x6d\xf5\xbd\xb1\xf5\x95\xc2\xd0\x6d\x10\xd4\xaf\xeb\x52\x34\x27\x9d\x28\xbb\x32\xd0\x18\x11\x8b\x56\x3a\x82\x76\xd8\xc5\xb4\x1f\x95\x2e\x75\x2f\xd0\xcf\x50\xff\x88\x19\xdd\xca\x2e\x33\x55\xdb\x58\x5d\x9d\x2a\xd6\x99\x11\xc0\x27\x1f\x41\x03\x84\x31\x73\x85\x78\xdb\xd4\x0d\x41\x38\x5a\x6d\x21\x16\x57\xce\x92\xb8\x45\x14\x85\x21\xc0\x9a\x05\x05\x15\x86\x99\x41\xb7\x5a\x65\x85\x4d\x69\xb5\x83\xcc\x02\xc1\x06\x30\x23\x34\xf7\x6c\x47\x12\x28\x5a\x36\x23\x53\xd4\x18\x97\x15\x33\x74\xf8\xe2\xd9\x46\x4e\x05\x75\xe2\x03\x2c\x50\xb1\x3a\x02\x35\x79\x16\x97\x45\xf1\x1e\x0a\x7a\x56\x78\xe3\x85\xb2\xd8\x60\x6a\x06\xf0\x78\x85\x23\x5e\xb8\x4c\x7a\x97\xaa\x48\xb2\xa6\x2b\xaa\x3e\x0c\xd4\x16\xee\xd5\x28\x96\x0a\x7f\xdb\xd8\xc2\xc7\x04\x6f\x42\x46\x6d\x40\xb0\x03\x41\x8a\x1c\x54\xbd\xdd\x97\xcf\x15\x21\x2b\x5d\x7d\x58\xbb\x1d\xa3\x39\x99\x80\xd3\x98\xa6\x59\xf6\xa5\x62\xd1\x83\x5d\x4e\x11\x58\x52\x39\xe4\xab\x6d\x77\x7f\xca\x50\x3d\x6d\xa1\x4e\xc8\x32\x21\x2c\x10\x70\xd5\xaa\xad\x2a\xa8\x1c\xb2\x4d\x46\x48\x25\x61\xf8\xb5\xfd\x80\xfb\x91\x84\x7d\x61\x65\x5a\xe0\x7c\x83\x88\x36\xd8\xb7\x35\xb8\xee\xdb\xbe\xd4\x78\x87\x51\xe5\xa2\xe0\xdf\xa5\x91\x5e\xd1\xdd\x26\x16\x2e\x53\x71\xf3\x51\xfb\x5c\xc5\x97\x6d\xf3\xe9\x8b\xa1\x81\x62\x94\x99\x94\xc0\xe4\xd1\xd0\x84\xef\x3b\xdd\xbd\x91\x16\x66\x93\x90\x0d\x1e\xe1\xc7\x91\x71\x03\x50\xe1\x47\xf9\x82\xad\x05\xb8\xc8\xcb\x66\x92\x8c\xc4\x0f\xa0\x0d\x9f\x44\xff\xaf\x42\x34\x22\x18\xc3\x24\xa1\x14\x50\xe6\xa7\x76\xfe\x53\x7e\xe0\xfb\x27\xcd\xfa\x07\x5f\xb3\xf8\x00\x2b\xe3\x5d\xc5\x80\xfd\x49\x25\x60\xff\x85\x34\xc0\xfe\x0b\x45\x80\x2a\x2d\x81\xae\x30\x4b\x5b\x81\x96\xf5\x41\x0f\x8a\x39\x1f\xdb\xa1\xa6\x43\xf9\xa9\xde\x86\x2f\x81\x99\xdc\x2e\x04\x69\x16\xd6\x20\xbd\xbe\xc8\x18\xe3\x77\xbc\x2f\x7f\xe0\x54\x0b\x53\x19\x97\xf7\x85\x1c\xe6\x5d\xbe\x02\x1b\x33\xea\x9f\x40\x5f\x02\xee\x25\x7e\xf0\x9f\xb5\xf9\x9c\xb8\x91\x1b\x11\xb1\xb0\xdf\x7c\xda\x6c\xef\x89\x46\x20\xcb\x32\x2d\xbd\x9b\x89\xb8\xea\x00\xa5\x76\x91\xb9\xf9\x49\x85\x1a\xe6\x95\x45\x9a\x13\x7c\x4e\x57\xef\x53\x30\x41\x41\xde\x08\x34\x56\xf4\x37\xfc\xb0\x0b\x29\xb9\x8b\xcc\xab\x8e\x47\x46\x85\xdf\x96\xdd\xf8\xae\xc8\x13\xeb\xc3\xf7\x4f\x04\xc7\x6f\xc2\x19\xa1\x98\xf5\xd1\x25\xcf\x24\xd3\xfb\x2f\x86\x89\x91\x5f\xd5\xc1\xa0\xbf\xc4\x6b\xf9\x8d\x27\xfd\xbe\x2f\xe5\x72\x7f\x2b\xa2\xe3\xa6\xfa\xa4\xfb\xe1\xc3\xfb\x59\xe1\x43\x95\x82\x0e\xdf\x7c\x8d\x8f\x6f\xf1\xf5\xc5\x50\x1c\x90\xdf\xd1\xe7\xd8\x7f\xf3\xac\xe1\xfc\x6d\x25\xff\xdd\xf3\xf7\xf2\x22\xdd\x0d\x9b\xdf\xeb\xc6\x3e\x19\x8f\xcf\xe9\x81\xbb\xe0\x74\xcd\x3e\xf8\xbe\x05\x4d\x2a\x4d\x37\xd8\x43\xa9\xb1\xa2\x62\x3f\x14\xc4\x71\x46\x04\xb7\xa9\xcd\x8b\xd2\xd1\xce\x3a\xd9\x7c\x14\x74\x17\x8b\x6e\x11\x46\xfc\x19\x7f\xac\x81\x4c\x6d\xa8\x68\xe0\x65\xde\x01\x40\xed\xf8\x77\x85\x1c\x73\xb6\xab\x7b\x39\xbf\xe6\x30\x99\xfd\x83\xc3\x6c\x20\xb8\x7e\xd9\x7c\x5f\xf6\xbf\xf8\x11\x7c\x5e\x7c\x87\x89\x06\xab\x00\xdf\xa3\x3b\x9e\x10\x5b\xb3\xe3\x72\x4b\xc9\xf6\xd9\xb1\xaa\xf3\x1b\xc7\x7e\xf6\xda\x9e\x73\x18\x7f\xba\x97\x5a\x6a\x4f\x06\x8a\x25\x23\xe9\x4f\x95\x0d\xa5\x94\xa8\xa8\x2b\x18\x41\x40\x16\x93\xe1\x0d\xc5\x97\x05\xb4\x65\x4b\x28\x47\x50\xb0\xc7\xa7\x47\xe8\x68\xfb\xd6\x5a\x8f\x02\xd7\x0d\x1c\x8a\x3d\xb9\x5f\xa8\x6e\x2c\x6a\xb1\xa4\x7d\x53\xf4\xab\x4d\x16\x33\xf0\x79\x24\x81\x97\x4a\xa2\x3c\xd5\x02\x8b\x5d\x92\x1d\x3c\x6a\x96\x6a\x11\x66\x2d\x16\xb7\xe5\x50\x5a\xd9\x13\xe8\x31\x2a\x62\x6b\x50\x96\xb3\x83\xaa\x07\xb5\x84\x08\x3c\x1b\x15\x25\x88\x3f\x81\x76\x32\x2b\x2a\xf5\xd4\x5b\x80\x84\x7d\x3f\xef\x56\xdd\xbf\x4a\x5a\x05\x6e\x16\xf0\xe3\x65\x0c\xd2\x1b\x29\x2b\x4c\x59\x5c\xbd\x61\x80\xb2\x96\xef\xac\xe4\x2f\xa1\xf0\x69\x92\x3a\x7c\x50\x9f\x69\x25\xa7\x9e\x59\xf1\x0d\x79\x3a\xf4\x32\x2b\x41\x8a\x25\x96\x83\x6b\x66\x1c\xb8\x21\x36\x74\x56\x48\x04\x51\x6a\xe4\xd5\x19\x39\xe7\xdc\x31\x49\xc1\x01\x1f\x4c\x9a\x8b\x82\x85\x16\x9d\xe4\xbd\x0e\xea\x00\xcb\x24\x45\x94\x8a\xae\xcd\x87\x42\xbf\xb2\xd8\x78\x56\x56\xd8\x29\x7a\x56\x74\x43\x49\x2d\x02\xc8\x08\x7f\xc1\x9a\x67\xba\xfa\x9f\x56\x40\xb4\xc8\x73\x1a\xea\x59\xa7\x39\x6b\x79\x14\xa0\x14\x35\x5b\x39\x94\xea\xd0\xd5\x5f\xbc\xc9\x55\xfb\xbc\x2d\x45\xea\x75\xa9\x19\xd9\x9a\x28\x4f\x82\xc9\xdd\xed\x28\x58\xba\x2e\x96\xe5\x66\xd9\x56\x6f\xa0\xc2\xaa\x2d\xc9\xff\xee\x0d\xf8\xf9\x7e\x7a\x29\x28\xbb\x2b\x3e\x3b\x8c\x45\x78\x57\x3f\xcf\xaf\xfa\xd9\x13\x3d\xe7\x3b\x9e\x30\x2a\x0f\x89\xb5\x8e\xec\x55\x59\xdd\xff\x28\xee\x2d\xb5\x54\xd5\x36\x94\xa7\xb0\x30\x5a\x7a\x94\xee\xf6\xd8\x72\x50\xb3\xb8\xb3\x66\x7d\x65\x22\x49\x6d\x05\x91\x7e\x91\x8d\x34\xcd\xfd\x2c\x8c\xe0\xc8\x44\xd8\x22\x34\x91\x81\xe2\xc9\xee\x9f\x4c\x73\x3b\x5b\x45\x50\x07\x56\x47\x23\x59\x04\x94\xd6\xca\xb6\x8c\x14\x69\x21\xe4\x7f\x17\x16\x33\x2c\x31\x73\xb5\xa0\xd8\xbc\x91\x05\xa5\x86\x12\x03\x48\x8c\x15\xf4\xeb\x74\xba\x13\x50\x09\x1b\x97\x12\x94\x33\xcb\x85\x53\x01\xe5\x55\x33\x75\xb7\x0a\xf2\xeb\x8b\xd5\x54\xcd\x56\x70\xca\xe9\x58\x49\x2e\x07\x4a\xf1\x14\x42\xd2\x30\x4b\x26\xfd\x07\x6d\x2b\x7e\x8c\x4d\xd3\xf4\xff\xb9\x09\x01\x06\x21\x49\xcd\x3d\x32\x14\xdb\x43\xa7\x1b\xd1\x80\xa3\x19\xbf\xd7\x19\xfd\x38\x21\x2b\xac\x96\x34\xeb\x8a\x1f\xdd\xcd\x1d\xff\xdf\x06\x03\x24\xa3\xc9\x92\x25\x49\x45\x9a\xd0\x2d\xa1\xbc\x2a\x92\x15\x75\xc5\x16\xa9\xd6\x0f\xe2\x83\xa3\xba\x33\xa4\xeb\x34\x51\x24\x2f\xa9\xb9\xcb\x99\xb4\xd4\xcb\x46\xc1\x79\xd4\xd8\xa1\x13\x70\x8e\xbe\xbe\xf8\x5a\xd0\x6a\x5f\x41\xbf\x5d\x11\xd2\x03\xc7\x01\xeb\xa4\x8d\xa6\xa1\xd8\x59\x4e\xe2\xeb\x30\x1b\x2f\x05\x8d\xd7\x50\xc8\xc6\xff\x29\x7f\xcd\x53\xf8\x00\xcd\xa6\x1f\xb6\xa8\x15\x9c\xb6\xa0\x74\x45\x39\x98\xf8\xdf\xb6\x44\x3c\x8c\x84\x19\xfb\x52\x1e\x2b\xe1\xb4\x34\x7f\x37\x0a\x9e\x87\x96\xca\x21\xe4\x75\x1c\x4e\x6b\x0e\x2d\xd5\xd7\x63\x54\xbf\xbe\x94\x59\x53\x1f\xf5\x82\x8b\xdb\xc8\xf7\x8b\x93\x75\xe1\xa8\xea\x87\x67\x5f\x43\x58\x2b\xea\x65\x06\xfc\x79\xbf\xb0\x8c\x64\x23\x23\x64\xc9\xff\x63\x4f\x88\x53\xf6\x68\xe3\xf5\xa5\x8e\x99\x46\x97\x15\x3b\x70\x1b\x2b\x85\x41\x48\x52\x35\x70\xec\xc1\xb0\xc8\x6d\x91\xd7\x63\xc0\xca\x67\x03\x66\x9f\x77\xa8\xb4\x54\x9a\x0f\x2d\x78\xb9\x10\xc0\x4c\xc7\x5e\x8a\x2b\x1e\x2d\xbd\xbe\xb4\xd1\xd3\x14\x01\x5f\x7b\xcd\x8d\x21\x08\x2d\x1a\xe5\x76\x42\x7e\x04\x64\x18\x0f\x7b\x51\x25\x2e\xa4\x7e\x21\x16\x96\xcf\xd4\x8e\xd2\x23\x04\x6e\x5a\x70\x63\x08\xe7\xee\xde\x49\x90\x01\x14\x0d\x68\x8e\x6f\xd9\xff\xf7\xfa\x32\x86\xa4\x29\x75\x85\x16\xa6\x64\x86\x8b\xd4\x66\xcc\xbe\xa0\x56\xa0\x95\x76\x2f\x0e\x94\x9e\xfa\xbe\x44\x1f\xfb\x8a\xe0\x3e\x7e\xaa\xc2\xc4\x14\x56\x0f\x19\xdc\x35\xfb\x1e\xe7\x91\x9d\x41\xc6\xeb\xcb\x1c\x39\x8d\xd9\xb0\xe4\x94\xa9\x5c\x83\xd4\xda\xe5\x98\x09\xc8\x2a\xd3\x5a\x02\x9b\x6e\x1a\x3e\x75\xd1\xc1\x9a\xd4\xda\xea\x9b\xda\x74\xeb\x53\x14\xd3\x7f\xc7\x31\x0c\x1d\x8d\x7d\xdc\x93\x2e\xd3\x77\xbf\x72\x5c\x41\x6e\x87\x28\x33\xdc\x24\x05\x7b\x8b\xaf\x0b\xaa\xee\xb4\x48\x4e\x0a\x3a\x26\x68\xc1\xfa\x8f\xee\x57\x6a\xd6\x6e\xe6\x2f\xb3\xfa\xe5\xb4\x60\xd1\xd1\x9c\x3a\xdf\xaa\x77\xdc\x46\x9a\x20\x70\x21\xb5\x60\xc4\x2f\xa4\xa5\x04\x59\xd8\xb0\x28\x54\x03\x1c\x2a\x2d\x03\x64\x31\x7d\x34\x0a\xcd\x22\x32\x07\x5e\xa2\x99\x54\x6f\x63\xce\x90\xa8\x1c\x6e\xa8\x8c\x9a\x90\xa3\x97\x64\x6e\x7c\xd6\x20\x2b\xa6\xd2\x2d\xc1\x30\x06\xf2\x88\x6a\x09\xcd\xf8\x63\x44\xa6\x8f\x57\xb3\x1d\xd5\x74\xf9\x63\x02\x0f\x40\xef\xfe\x9f\xa7\x54\xe7\x9f\xde\x52\xa0\xfb\xb8\xfe\xff\xd8\x7b\x93\x1c\xc9\x91\xa4\x69\x74\xef\xa7\xb0\x0b\x30\x61\xaa\x6a\x23\xfe\xed\x7b\x6f\x17\x67\xf8\x80\xbf\xab\x0a\x5c\x70\x43\x80\xf0\x45\x9c\xfe\x41\x45\x94\x74\x8f\xf4\xc8\x8c\x1a\xba\xba\xfb\x03\x1a\xdd\x95\xee\xe1\x9c\x8d\x36\xe8\x24\x22\x46\x96\x09\x4b\xc5\x0e\x73\xbb\x4b\xfb\x7d\x11\xb2\x23\xb6\xd3\x7c\xa0\xdc\xc0\xc8\x97\xdc\xc0\xa8\x97\xdc\x00\x1e\x89\x45\x88\x39\xe4\x06\x04\x2c\x8c\xe3\xee\xa7\x89\x50\x76\x32\x25\x26\xee\xf0\x6b\x2d\xc5\x28\xf8\x9c\xff\xf5\x37\x70\xfb\x78\x07\xee\x05\xfc\x9b\x1b\x81\x60\x92\x8c\x4c\xcb\x75\xce\xc7\x85\xce\x8b\x5f\xf1\x95\x3f\x77\x47\xb7\xa7\x5b\xc2\x79\x9a\x2f\x7a\xf8\xe1\xb8\xee\xfa\x3c\xec\x77\x74\xae\x97\xfc\xe4\x3f\x1e\x72\xef\x05\x5a\xde\xb5\xfd\x08\x25\xc7\x82\x48\x92\x40\x51\x76\x2b\xe4\xb2\xd6\x45\xcc\x57\xba\xcf\x31\x3c\xf9\x15\xa7\x37\x66\xfb\x04\xa7\xf7\x1e\xd6\x61\xc9\xf9\xbe\x58\x6f\xab\xf5\x86\xc5\x18\xd5\x92\x9a\xdc\xba\x32\x10\x9b\x19\x85\x9a\x14\x48\x6e\xd5\x10\xf3\xa4\x46\x49\xd6\xb2\xa2\x0c\xe8\xb3\xdb\x29\xd2\xe0\xfb\x53\x5c\x86\x60\x9d\xdb\xdb\x98\x25\x95\x46\x96\x3a\x6d\xc9\xdd\xcc\xda\xf6\xea\xb3\x8c\x0f\xe2\x1e\xc2\x4a\xd2\x3b\xb9\xe9\x1b\x6e\xe7\xf2\xd2\x00\x09\x5d\x94\xf1\x7d\xb7\x9b\x80\x26\x1d\x41\x47\x3e\x4e\x6a\x68\xf7\xfd\x14\xfa\x32\x19\xdc\xdd\xaa\xa1\x90\x61\x53\xa1\x1a\x46\x11\x40\x6d\xd0\x61\x42\x3c\xf7\xa1\x9a\x31\x52\xdf\x98\xc9\x82\x65\x09\x29\x25\xaa\x68\xf8\x23\x26\x6b\xfb\xf4\x46\xae\x2d\x45\x21\xa7\x92\x94\x2d\x62\x36\x69\x69\x28\x15\x04\xed\xdb\x5e\x35\x8d\xca\xda\x82\xd9\x6f\xbb\xbf\x76\x64\xec\x4b\xc2\x25\x15\x78\xf6\x25\xb0\xb4\xa0\x28\x41\x34\xb8\x13\xe2\x5f\x50\x11\x5b\xf2\xaa\xb2\x82\xb7\x26\x48\x8f\x2a\xc2\xdb\x2a\x69\x42\x3a\x6d\x01\x72\x7b\xf1\x69\x19\x1c\xdb\x7e\xd3\xe3\x0e\x42\x0f\x64\x48\x4f\x93\x68\xea\x1e\x2a\x8a\x89\x8a\x11\x36\xde\xdf\x4c\x46\xaa\xb8\x51\x7f\x66\x80\x81\xc7\x0e\x5e\x84\x92\x19\xea\xf0\x91\x79\x29\x50\x94\xf7\xb7\x2e\x2d\x4d\x04\xd2\x2b\x3d\x68\xea\xd1\xed\x92\x7a\xea\x09\x26\x84\x25\x10\x3e\x49\x2a\xa9\x24\xc0\xe4\x88\xe6\x45\x93\x02\xaf\x0e\xb3\x9d\x4a\x76\x89\x59\xcb\x78\xb7\xf7\x45\xdf\xdf\xea\x54\xf4\x3d\x71\x4b\xb7\x24\x1d\x25\x0d\x01\x03\x1f\x0e\xa0\xe7\xd5\x12\xe9\x93\x7b\x03\xb1\x86\x68\x4f\xe2\xdd\x58\x7d\x11\x6a\xe7\x42\xd4\x09\x40\xaf\x8d\x5c\x58\x03\x12\xb8\x36\x92\x21\x86\x52\x20\x89\x48\x1e\x7c\xb0\x47\x80\x3f\x95\x40\x76\x09\xf8\xb4\x10\x8b\xac\xe9\x2b\x77\x46\x5f\xd2\xb9\xff\xd0\xff\x0e\x79\xa8\x4e\xe3\xc7\xdc\xd7\x9e\x37\xd2\x02\x35\x59\xa5\xce\x0d\x05\xb0\xa3\xee\x30\x32\x24\xa7\x02\x46\x45\x52\x26\xac\x65\x83\x61\xcf\x3e\x1d\x99\x2b\xda\x93\xee\xd2\x80\xff\x6c\x54\x9e\xa6\x95\xe4\xa7\xec\xf9\xee\x57\x59\x2c\x13\x7b\xbe\xce\xbc\x2d\x13\x44\xf1\x41\xe0\x4e\x53\xba\x34\x4e\x21\xb2\x2e\xec\xae\x4b\xa6\x21\x49\xf5\x39\x37\xc4\x60\x56\x2e\x02\x0e\x8b\xa4\x72\x2c\x35\x69\x75\xe3\xaa\xa4\x0a\x95\x26\x30\x13\xba\xeb\x5c\x4b\x3d\x5d\xa6\x72\x42\xe7\x6f\xc7\xc2\x1b\x86\x4f\x50\xe2\x52\x7e\x51\x45\x3f\x86\xce\x6c\xf2\xdb\x98\x33\x15\x1b\xeb\x7c\xdc\xf9\x57\xbd\xec\x25\x37\xfa\x0f\xfb\x6f\x2f\x2b\xea\xab\xb5\xfb\xd2\xb9\xad\x3a\xe4\xee\x9f\x4b\xaf\x1b\x96\xf0\x26\x7b\xf5\x25\x26\x83\xa1\xe0\xe8\x27\x67\xbc\xbf\xa3\xb2\x22\xb4\x5b\x12\xd5\x00\xfd\x86\xd2\x45\x2a\xe6\xd3\xc8\xc1\xda\x15\x44\xd4\x91\x18\x14\xbf\x7e\x5c\x69\xc6\x95\xe8\x42\x31\x06\xe2\x76\xab\x0e\x5d\x5b\xe7\x3b\x45\xb8\x05\xbd\xdf\xbb\x0c\x0c\x93\x3a\xc1\x71\xd2\x43\x27\x8a\x4c\x33\xf4\x93\xd0\x33\x6d\x05\xe3\x52\x22\x53\x6a\xde\x61\xa1\x23\xfe\xac\x10\x9d\x6d\xbe\x5c\xac\xbd\xf9\x05\x6e\xeb\xa2\x33\xfa\x7b\x1b\x1b\x8a\x67\xb4\xbb\xab\x01\xa6\x8b\x61\xeb\x97\xd2\x71\x45\x5f\xb2\x81\xff\x28\xff\xed\x54\x05\xd4\x11\xf1\xaa\x4d\x3b\x5f\xf5\xb4\xbb\xb4\xbe\x8a\xf5\x00\xa7\x40\xa3\x7e\x6f\xfe\x6e\x42\x46\x7b\xf4\x83\xf8\x0e\xe2\x3e\x84\xb9\xe8\x22\x24\x7e\x1b\x1d\x86\x0a\x62\xc6\xe6\x2e\xf3\xba\xd8\x39\x41\x4e\xbd\x2f\xb5\xd6\x75\x99\xea\xc6\xef\x4c\x36\x9a\x4f\x36\xf3\xae\x90\x77\xcb\xbe\x52\xe7\x84\xb5\x6d\xec\x95\x48\x2b\xa4\xad\x04\xe1\xd4\x31\x43\x0f\x48\xf3\x1e\x34\x35\x41\xfb\xfc\x55\x78\x51\x5f\xb2\x75\xff\xa8\xff\xed\x02\x24\x87\x51\xbf\x2a\x44\x25\xb2\x96\xbb\x4c\xdd\x7c\xac\xe3\x53\x79\xf2\x33\x9d\xf2\xfe\x56\x0a\xd8\x21\xf6\x65\x30\xb6\xf5\x21\x81\x78\xc4\x47\xfc\x7a\xa6\x19\xaf\xbc\xe3\xf7\x09\xc8\xaf\xde\xd9\x4b\x46\xeb\x1f\xed\xff\x3c\xc1\x10\xfc\xbd\xdc\x4f\x45\x42\xca\xf4\x81\x2b\x04\x5e\x15\x1e\xe5\x75\x9b\x1f\x37\x66\xfb\xd1\x61\xde\x42\x9f\x6c\xfa\x4f\xea\x21\xb7\xbf\xb5\x8b\x5c\xcf\x7d\x0a\x35\xae\x0b\xf0\x10\x8f\x5e\xf3\xd6\x87\xa4\x3a\x8d\xeb\x85\x95\x09\xd1\xf2\x9e\xc6\xe9\xc6\x0c\x4b\x67\x49\x90\x45\x52\x30\x44\x71\x1e\x7f\xd4\x47\xe1\x10\xeb\xe4\x21\x1e\x33\x52\x05\xf9\x55\x33\x54\xda\x59\xbc\xa7\xeb\x9e\xfa\xbc\x31\x76\x0d\xfe\x59\x62\x47\xad\xf0\xa5\xba\x57\x4b\x2a\xf9\x4c\x56\x4a\x3b\x31\x6d\xd7\x97\x73\x0b\xbf\x20\x30\x45\xcd\xe5\x52\x8f\xeb\xcb\xb9\xed\xab\xbe\xf9\x92\xb6\xfb\x47\xff\xef\x7c\xd2\x34\xa7\x36\x50\xfe\xb4\x50\x63\xd5\xf2\x7d\xa9\x0c\xbc\xaa\x46\x65\x52\x3e\x49\xca\x50\xc4\x85\x3b\x88\x72\x83\x0d\x34\x9a\xbe\xfe\x2c\x02\xc5\xa5\xef\x0b\x11\x2e\xf4\xfe\xa3\x80\x40\x4c\xb6\x38\x6a\xa7\x2c\x9c\xd5\x04\xc4\x0f\xea\x08\x77\x13\x24\xcb\xdc\x05\x12\x37\xa3\xea\x4c\xfe\x69\xe0\x1f\xe7\x17\xc4\x9a\x01\x29\xb0\xa4\x25\x12\xf0\x65\xa7\xdc\x52\x0f\x6e\xed\x85\x9a\x61\xe5\xc4\x3a\xdc\x40\x6e\x46\x59\xbe\x8c\x37\x49\x54\x20\xbe\xed\x3c\x4e\xa2\xfa\x2e\x68\xb0\xed\x4c\x6a\xc2\xc3\x95\xca\x7c\x5e\x7d\x7f\x1b\xda\x92\x94\x1a\xa4\xaf\xee\x2e\xec\xa3\xa7\x69\x69\xf4\xa4\xde\x4f\xf9\x19\x68\x16\xf8\x7a\x9a\xa3\x6e\xab\x1f\x68\xd5\x42\xf6\xf2\x20\x5a\xaf\x8a\xa2\x5a\xe2\xfc\x84\xd0\x25\xb6\xe8\x0c\xb5\x9e\xd8\xf3\x38\x8f\xc5\x3b\x13\xf7\x70\x41\x3b\xf6\x45\xef\x7f\x49\xd6\xfd\x63\xfc\xb7\xf7\x9f\x51\x55\xd8\x30\x50\xe1\x1b\xa0\xf8\x76\xf3\x35\xea\x7a\xaa\x32\xa2\x33\x33\xb9\x17\x6d\xac\xc4\x08\xe2\x18\xff\x09\xb0\x87\x91\x66\x8e\xa2\x9b\xaa\x09\x7f\x1e\xd8\xb6\x62\x11\x16\x6d\x39\xf5\xf6\x32\xce\x7a\xfb\xf9\x38\x2b\x8f\x71\xa6\xad\x26\x6d\xed\x3e\xf3\x16\x5f\xf7\xc9\x08\xcf\x24\xb1\x9a\x1f\xf2\x55\x2f\x78\x49\x70\xfe\x63\xfe\xb7\x17\x94\x91\xd1\x0b\xfc\xf1\x7d\x52\x41\x56\x0b\x0c\xf8\xdf\xea\x56\x19\xc9\x63\x6a\x44\x2e\xe6\x7b\xf2\xdd\x9f\x62\x00\x50\x95\x8b\x2f\xbe\xb8\x0a\xdc\x75\x88\xa4\x9f\xfc\x87\xb2\x2d\x71\xaa\x33\xcd\x12\x57\x40\x65\x92\x44\x89\x75\x43\xe9\x3b\x8a\x96\x50\x58\x30\x82\x4e\xbf\xf8\x54\x89\x98\x19\xaa\x19\x06\xf7\x5d\xb0\xf3\x08\xee\x76\x39\xf3\x71\x5a\x12\x8a\x35\xab\xa4\xb8\xdc\x08\x1a\x46\x15\x38\x8f\x5a\x70\xb7\x5a\xec\xc6\x07\xf0\xdb\x5e\xf0\xf8\x0b\xb7\x1f\xb1\xfb\xc6\x73\xe0\x14\x3c\xed\x71\x5e\xe7\xfd\xad\x35\x4d\xed\x4a\xa2\x10\x82\x70\x20\x55\xe7\x17\xb0\x91\x86\x09\x05\x29\x7c\x97\xcc\x46\xad\xdf\xc8\x8b\x28\x19\x4a\x87\x1a\xd5\x16\x62\x11\x49\xf1\x26\xf5\xf1\xe6\xc7\x5e\x09\x54\x0b\xd1\x0d\xb4\xd9\xd7\x95\x09\xf6\x9a\x48\x79\x10\x0f\x97\xd9\x53\xcf\xee\x01\x4f\x6f\x9c\x1c\xfa\x84\x02\xb0\xb0\x91\x73\x58\x08\x96\xe4\x1d\x75\xf2\xd2\x5d\x70\x92\xe3\x84\x41\x21\x22\x33\x58\xcd\xb4\x48\xd3\x64\x40\x0e\xfb\x3a\x42\xa2\x66\x6a\x39\xd7\x74\x92\x71\x53\x88\xe4\x54\x2d\x47\xa2\xae\x1c\x67\x49\x7e\x29\x07\x04\x23\x92\x91\xc8\x1e\xe5\xe9\x36\xf3\xaa\xc3\x40\x03\xab\x32\xa0\x26\x6e\x73\x3c\x24\x26\x4c\xfa\x21\x84\x7b\xa8\x31\x05\x09\x30\x61\xdd\xa5\x51\x53\x55\x47\x4f\x25\x23\xdb\x55\x94\xd5\xc2\x6a\x49\x01\x7e\x90\x64\xe0\xe9\x84\xf7\x90\x4b\x5c\x5a\x47\x49\x90\x4a\xd9\x29\x3b\x46\xe9\x77\x20\x0a\x80\xcb\x9c\x3d\x30\x35\x35\xe4\xa0\x75\x34\xd0\xc1\xcb\x49\x91\x6a\x5c\xe9\x14\x04\x01\x0d\x08\x4f\xd6\xda\xa0\x04\x06\xe8\x21\x00\x8b\x7c\x30\x7b\x23\xb8\x53\xda\x83\xa8\x5a\x01\x6b\x2b\x15\xda\x97\x41\x0f\x4c\x62\x6e\xd3\x80\x60\x10\x93\x43\xca\xd2\x45\x91\x08\x51\xd2\xb8\x82\x5f\x00\x09\x74\x1f\x54\x3f\x97\xbc\xfd\x9f\x62\xaf\x39\x91\x9f\x09\xd4\xab\xb0\xac\xbf\xa1\x12\x2a\xeb\xdd\xea\xdc\x16\xb3\x92\x94\xd4\x66\x25\x55\x91\x0d\xd5\x5e\xea\x96\x11\xbf\xdc\x17\xad\xe3\xfd\x6d\x82\xd4\xa0\xe2\xe8\x92\xd5\x27\x74\x20\x3e\x79\x06\x7f\x29\xf7\xc5\xea\x0c\x56\xa2\x3a\x36\xed\x9a\x64\x28\x75\xf0\xaf\x2f\x3e\x5e\xdf\xdf\xca\xa8\xa9\x9b\x6d\x71\x71\xde\xc9\x79\x5f\xe0\x71\xab\xa9\x95\x8c\x7b\x71\x9b\xe9\x8e\x5b\x10\xcb\x1d\x87\x5d\x97\x8e\x9b\x89\x2b\x13\xf3\x24\x50\x0f\x64\x46\xb8\x04\xac\xae\x95\x6d\x19\xe0\x58\x40\xed\x81\x44\x05\x18\xc6\x26\x2a\x0c\xc5\xb8\x03\xb6\xfb\x4d\x51\x58\xbc\x95\x7b\x45\xcc\xa1\x48\xc2\x9f\xdb\xb9\x93\xbf\x1f\x03\xb5\xac\x1d\x3c\xcf\x76\x5d\x00\xed\x61\x89\x17\xfe\xea\x1d\xbe\x06\xb9\x7f\xa6\x90\x2f\x23\xfb\x64\x5f\x76\xf1\xc9\xae\xb4\x14\x2c\xd2\x24\x9f\x6e\x51\x72\x2f\xd1\xc7\xc0\x3d\x8e\xdc\x06\x65\x85\x74\x80\xa8\x14\x03\x9f\xdc\xd4\x72\x92\x0f\xa3\x98\x02\x6a\x24\xa2\x79\xae\x8b\xac\x8b\xae\xa8\xbb\xe9\x4c\xd5\x80\x83\x33\x2a\xce\xc4\x17\xa5\xc0\x7e\x4a\x4e\x15\x10\x99\x43\x4a\x4f\x52\xa0\xc0\x40\x7f\x49\xd3\x80\xf1\x2c\x35\x0d\x77\xef\xdb\x21\x73\xa6\x21\x41\x84\xea\xbd\xa1\x8e\xbd\xd7\xe4\x5d\x4f\x95\xc4\x0d\xe3\x30\xc0\x7b\x67\xb9\xed\xd2\xa8\xe1\xd7\x42\x70\x49\x63\xa6\x00\x1f\x3d\xa7\xb4\x80\x5a\x91\xbf\x17\x12\x47\xe7\x97\xf7\x37\xb7\x08\xca\xbc\xc4\x45\x81\xcf\x9f\x76\x68\x46\x86\x6b\x17\xa4\x61\xb5\xe4\x34\x27\x0d\xf2\x1c\x00\xcc\xfa\x40\x77\x80\xa1\x15\x24\xcb\x8d\xf8\x13\x88\x57\x2f\x15\xc9\xad\x79\x4a\x64\x1e\xac\xc8\x1b\x9c\x59\xaa\xa5\xf8\x93\x04\x22\x56\x28\x69\x13\x00\x21\x39\x7c\x28\x55\x28\x47\x2c\x9d\x1c\xf5\x43\x8f\xde\xf1\xd7\xec\xbe\xed\x76\xcd\x8a\xb2\x13\x7a\xa7\x98\x30\x01\x8c\x1c\x94\x41\x88\x17\xe0\xbd\x99\x8c\x06\x6e\x97\xf7\xd4\xb1\x00\xb3\x3e\xd3\xfb\xff\xec\x1b\x46\x51\x1e\x7b\x6b\x09\xc9\x2a\x4d\xad\x84\xd1\xa8\x00\x83\x20\x37\x45\x7b\x31\xb8\xe1\x91\x8c\x03\xd2\xd6\xca\x43\x50\x6d\xc4\x2a\xbc\x74\xa0\x7a\xc8\xe3\xd3\xfd\x8b\xf7\x42\xf7\x47\x7a\x8f\x5f\x66\x23\x08\x68\x81\x7a\x00\xe2\xf4\xa2\xf4\xbb\xdc\x8d\x27\xe4\x09\xfd\x71\x7c\xcd\xbb\x61\xaf\x41\xfa\xd7\x5a\xbd\x8f\xbc\x1b\xc8\x72\x0b\x50\x70\x5f\xca\x1e\x1f\x7f\xaf\xfe\x72\xc8\x2f\x07\x31\x19\x49\x02\xc8\x22\x60\xcd\x5f\x90\xcf\x73\xe8\x9b\x65\x77\x63\x66\x80\x23\x58\x47\x48\xe3\x0f\x6c\xf5\x8d\x00\x8e\xcd\x38\x6c\xe6\xf7\x37\x5f\x52\x01\x92\xe1\x0e\x94\xba\x87\x1d\x87\x73\x1c\xfc\x60\xe4\x1a\x27\x00\xfb\x7a\xc7\x35\x71\x96\x23\x3e\x83\xad\x0e\x8c\x97\xb8\x33\x5e\xe1\xe9\xc8\x38\xeb\x12\xf7\x74\x2c\xbc\xc7\x88\x8a\xfb\x2e\xe7\x79\xe3\x99\x78\x4a\xad\x2d\x8a\x4c\x95\x80\x5f\x98\x78\x42\xf3\x2c\xf0\xc1\xcf\x7f\x3c\xef\x15\x7f\x2c\xf1\x97\x9c\x4c\xdc\x72\x9d\x81\x7f\xdc\x8e\xe7\x1d\x7d\x99\x18\xee\xd3\xda\xa3\x55\x27\x65\x42\x79\x73\x47\xdc\xe4\xd3\xad\xfb\x83\xb1\xe5\xfd\xb1\x8e\xf3\x41\xbf\xea\x94\xaf\x41\xfe\x57\x4a\xb0\x27\xc8\x74\x6f\xf9\xd2\xfc\x76\x97\x81\xb3\xb5\x21\x3c\x39\x20\x40\x16\x45\xb3\xac\xf1\x72\xdb\xca\xac\x9d\x9c\x5b\xfe\x35\xd8\xb7\x88\x71\x82\xed\x35\x4a\x8a\xc3\x70\x36\x43\xee\x17\xb2\x82\x3d\xd1\xd0\x52\xe8\xd3\x80\x25\xa2\x97\x04\x15\x5f\xd5\x11\x49\xfc\x02\x80\x5f\x8b\x55\xe3\xe0\x32\xe2\x8b\x70\xa0\xd7\xc1\xfd\xbe\x28\x85\x33\x2c\x44\xb2\xca\xa1\x40\x45\x00\x0d\xab\x84\x79\x55\x89\x6f\xfe\x25\x17\x82\x61\x6f\x71\x8c\x1f\x52\x25\x69\xd4\x28\xab\x9d\x2c\xfa\x6e\xd8\x1d\x71\x03\xaa\x72\x07\xff\x98\xcf\xf6\x26\xc9\x3a\x85\x33\xf0\x00\x0b\x9f\x60\xf6\x30\x1f\xbf\xae\x17\xf9\x7f\x5e\x6c\xe8\x5f\x5e\x79\xc0\x9e\x5e\xce\x4c\xad\xe9\x3e\x92\x4a\x87\x74\xa2\xdf\x99\x65\xb7\x66\xc7\x5a\x1f\xf9\x74\xd2\xdd\xd3\xc1\x0c\xe9\x61\xf7\xb0\x49\x7c\x05\x64\x2e\x2b\xb8\x4b\x30\x4a\xd4\x0b\x9f\x51\x4f\x8c\x59\x60\x87\xa8\x14\x28\xb5\xec\x15\xfa\xf6\xa0\xac\xc7\x3c\x7a\x46\x04\xbd\x9f\x63\x5e\x05\x9a\xad\x74\x48\xd0\x6c\xd2\x40\xde\x3e\xfd\xcd\x54\x4b\x58\xcd\xa3\xcc\x41\x4f\x6f\x2c\x9f\x6c\xf5\x23\xb3\xc8\x6e\xd2\x11\x0d\xa6\xf9\x44\x7b\xb4\x58\x2a\x72\x8b\x75\x8e\x3c\x0c\x56\x59\x2a\x67\x89\x30\x7a\x09\x1c\x9c\x74\xe8\x90\x57\x3d\xea\x0c\x5d\x5b\xef\xaf\xbb\xc0\xcb\xc6\x04\x1f\x94\x19\xe0\x1d\xf1\x75\x10\xa5\x9b\x88\x94\xb9\x89\x6c\xa1\x41\x31\x04\x1c\x33\xcb\xc9\x9e\x92\xe8\x56\x84\x34\x39\xe2\xa4\xc8\xef\x12\xcb\x6c\x3d\x81\x63\x1c\x2c\x01\xa0\xad\x03\x96\x17\x4e\xca\xc6\xcc\x9f\x50\x52\x11\x6d\x3c\x40\xc5\xcf\xf7\xd0\x6a\xd4\x60\x4e\xe6\x6d\x50\xb0\x30\x2e\xfa\x2c\x54\x30\xe7\xdb\x01\x72\x0a\x5f\xee\x51\x42\x53\x2a\x04\x0e\x42\xec\x61\x44\xc9\x65\x6f\xa1\x66\xd3\x63\xb5\xdf\xbc\x8d\xdb\xde\xb0\xd2\x63\x9d\x13\x09\x99\x3a\xac\xda\x87\xe4\xf8\x82\xf0\x99\xdb\x24\xd6\x13\xac\xfb\x03\xfa\xa4\x69\x1a\x80\x1c\x5d\x43\x2c\xa1\xa0\xc1\xdc\xd3\xec\xf4\x9e\x51\xe6\x2f\x06\x05\x2e\xdb\x11\xb3\x98\xa1\x50\x54\xda\xd1\x14\x0f\xea\xe6\x5d\x1d\xc7\x89\xec\x0a\x99\xa1\xde\xc9\xae\xb2\x8c\x11\xf2\xa6\x16\x81\x40\x71\x67\x2b\xdc\xd5\x76\xdb\x51\xef\x8b\xda\x2e\x84\xe6\xa0\x40\xa1\x40\xda\xfb\xcd\x45\x0e\x6c\x11\xaa\xd1\x58\x95\xd4\x8b\x4f\x8d\x34\x3e\x46\x4c\x3e\xfe\x24\x14\x1d\xab\x3f\xaf\xe7\xe0\xa8\x7c\xf1\x58\x7e\x79\x61\x14\x7b\x5e\xc7\x31\x07\xb8\x7d\xdf\xdc\x6c\xcf\x23\xa1\x3e\xa9\xa6\xd0\x7b\xd5\x61\x9c\xfe\xb6\x3a\xdc\xca\x82\x80\xce\x04\x9a\x62\xce\xad\xd5\x54\xfb\x2e\x78\xeb\x6d\x24\x30\xe3\x2b\x04\x47\x50\xd1\xb2\xc3\xa0\x53\x1a\x50\x40\x2b\xf6\x96\x8a\x2f\x69\xa8\x78\x1c\xde\x01\xbd\x2b\x15\x14\x90\xeb\x46\xd3\xc8\xf6\x65\x0e\x52\xde\xcc\x91\x6c\xd4\x83\x1f\xdb\xb9\xf5\xaa\x8e\x89\xc3\xb8\x70\xee\x64\xec\xca\x41\xdd\xa5\xa1\x97\x9d\x27\xa5\x14\xc5\x9d\x9e\x0a\xa2\x75\xb9\x6d\x64\x9c\xdf\xc9\x71\x42\x16\x1b\x4a\x1a\xd4\xab\xea\x0e\x0d\x70\x6f\x6d\xaf\xd0\xfd\x81\x37\x82\x07\x1b\x6d\x57\xcd\xa9\x14\x3c\xaf\x3f\x6e\xa3\x38\x7b\x29\xa9\x66\x6f\x9a\xe9\x9e\x92\xf5\x9e\x46\xf6\x41\xea\xfd\x7e\x80\x5b\x16\xc4\x71\x18\x46\x47\x0c\xa7\x4d\xdd\x67\x1d\x91\xfa\x74\x5b\x11\x5a\x9e\xcd\xa7\x08\x7f\x0b\x4d\x77\xb4\x0a\x9c\xd7\xd2\x71\x08\xa8\xa6\x8a\xec\x8c\x00\xe7\x38\x24\x43\x06\x54\xb2\x6f\xc6\xd6\x49\x29\x05\x48\x4d\x54\x9e\x6e\x91\xa6\x37\xd8\xda\x6e\x0a\xfb\xee\x6d\xe2\x0e\x06\xa9\x72\x41\x8d\x57\xd2\x00\x06\x68\xc4\xbd\x8f\xec\x23\x77\xfa\x63\x61\xff\xf3\x44\x7b\x9d\xa9\x8d\x84\xf3\xb7\x6d\xc1\x65\xb3\x37\x82\x80\x62\x41\xf2\xc1\xfb\xc2\xa6\xc5\xb7\x01\xcd\xc3\x23\x96\xd1\xb6\xf3\x01\x5b\x83\x50\xdb\x84\x6e\xa1\xbb\xb7\xbe\x8a\x16\x10\x64\x37\x46\x5b\x10\xef\x14\x0a\x2b\xb2\x67\x11\xad\x0c\xd9\x74\x76\x3a\xd9\x7c\xcf\xea\xbe\xe5\x08\x7d\x43\xef\xa3\x03\x9d\x0a\x92\x9e\xb9\xc1\x21\x52\x37\x43\x7a\x8d\xd2\xc8\x10\x3c\x96\x9e\xeb\x03\x63\x53\xd9\xa4\xde\xe7\x78\xf4\xae\x88\xbb\x97\x99\xd0\x4d\x7d\x4c\x0c\xa8\x7b\x64\xf3\xde\x15\xac\x29\x18\xda\x15\x3d\x02\xa6\x0e\x22\xf3\xd1\x51\xfd\x38\x9e\x0a\x8d\x32\xc8\x42\x61\x03\xf8\x1e\xdc\x47\xb3\x47\xff\xb7\x8a\xe3\xbc\x2b\x0d\x3c\x17\x64\xea\x7c\x9c\x49\x9b\x7c\x64\x7f\x62\x76\x46\x24\x6a\x85\x2d\x24\x76\x47\x08\x79\xa2\xf0\xef\xea\xc6\xb7\x43\x31\x48\x3a\xab\xcc\x7b\x19\xf1\xb0\xd2\x8d\x3c\xa3\xc9\xec\x0a\x62\xa9\x4f\x9a\x0c\x29\x50\x08\xc7\x24\xb5\x7e\x7e\xa3\xde\xda\x19\x69\x88\x29\x98\x8e\x94\x1f\x47\xea\x53\x3f\xdb\xe3\xdb\xd3\xf6\xa7\xc3\x1e\x27\xbb\x2e\xf0\xb8\xe8\xe3\x4e\xce\xbb\x8b\xe0\xc3\x69\xde\xf9\xf3\xfc\x1e\x97\xe2\xf6\x57\x7d\x8a\xe3\x4b\xdf\xe6\x77\x4c\xca\x2f\x21\x88\x5f\xae\x3a\xbb\xea\x7d\x45\x2f\x75\x0d\x30\xbc\x22\xaa\x4d\xc6\xc9\xdc\x53\xb3\xdd\xcd\x5a\xef\x31\xad\xec\x6e\xc4\x9c\xa6\x8c\xbc\xbf\xd5\xd2\x52\x9b\xe5\x94\xc9\xea\x98\x55\x4e\xbe\x4a\x9f\x82\x80\xf2\xcd\x3e\xe0\x67\xf6\x3e\x8b\x60\x02\x81\x6d\x12\x18\xdc\xf7\xb7\x2e\x9a\x7a\x9b\x77\x51\x3f\x96\x64\xb4\xa0\x56\xc2\xea\x5e\x19\x61\x47\xed\xfa\x84\xbc\xd6\x83\x80\xf2\x58\xb0\xc0\x15\x94\xd3\xd7\x4b\x26\x37\xeb\xd1\xb1\x22\xb6\x7e\x77\x93\x0e\xcb\x64\x67\xa2\x64\x54\x44\x8e\xaa\x1b\x47\x7e\x8f\xd8\x01\x80\x58\x23\x3a\x96\x42\xa6\x39\x72\x62\xc1\x26\x59\xa9\x16\x8a\xb9\xba\x22\x38\x91\x16\x5f\x41\x80\x33\x56\xf0\x4b\x78\x33\x81\xbc\x2e\xcd\x09\x3a\xb7\x54\x58\x5d\x09\xf3\xf9\x84\xd6\x91\x8b\x2c\x08\x40\x4b\xf1\x51\x5d\x41\x65\x04\x08\x81\xa6\x9e\x41\xd7\x0f\x2c\x0c\x6a\x2d\xb3\x6f\xb7\x9e\x26\x26\x00\x7b\x7f\xeb\xde\x61\x6a\x46\x41\xcd\x02\x8c\xe5\xa2\x69\xe8\xdd\x40\x46\x52\x5a\xd2\x04\x8d\x77\xeb\xb0\x00\x2c\xb9\xad\x21\xf7\xc5\x26\x59\x7c\xa1\x33\x94\x96\x4e\x12\x13\x77\x95\xda\x5d\xdc\x7d\xb7\xc0\x1c\x73\x4a\x3b\xe3\x9b\xd5\xfc\xe4\xaa\x75\xad\x4a\x4d\x55\x72\xe5\x1c\xf1\x79\x17\xe9\xeb\x22\xd9\x9f\x67\x68\x32\xef\x1c\xeb\x22\x3e\x19\x23\x87\xe0\x0d\x57\xef\x64\xa2\xcb\x77\xb7\x51\x76\xd0\x8b\x58\x87\x7a\x11\x71\x4a\x80\xfb\x28\x3e\xef\x8b\xae\x28\x6b\x85\x80\xb0\xbf\x14\x58\x45\xad\x84\xa4\x75\xa5\x57\x72\x62\x22\x29\x8a\xbb\xf8\x88\x27\xe7\x44\x43\xb2\x29\xfb\x7a\xf0\xfe\x36\xfd\xd5\xe4\x8e\x07\x37\xea\x6c\x36\x0b\x53\x9e\x7a\x3a\x2d\xe4\xb1\xe3\xc5\x04\xb8\xdd\xa7\x55\xff\x43\x43\x13\x8c\xf6\x21\x61\x8a\xbc\x78\xd3\xbf\x4d\x61\xfd\xef\x14\x58\x2f\xf6\x92\x68\xfd\xe5\x85\x9c\xf3\xc9\x42\xab\xd3\x3d\x37\xb0\x72\x65\x0a\xfb\x4a\xf6\x67\xa8\x2c\x1c\x27\xb9\xc6\xc5\x12\x46\x02\xbe\x2c\xbb\x54\x20\xd0\xaa\xfb\x2a\xf5\xfd\x0d\x62\x7a\xdd\xdf\x67\x13\xa0\x8e\x7d\x84\x2e\x63\x26\xe0\x77\x95\xa1\x4a\x56\x16\xd7\x93\x56\x8d\x7f\x5b\x7d\xa2\x87\x13\xeb\xef\x6f\x23\x43\x4b\xca\xdd\xdc\xac\x54\x08\x87\x9a\xea\xa4\x86\x69\x23\x76\xbc\x9d\xf1\x2e\x08\xd5\x01\x7e\xcb\xaa\x41\x28\x86\x22\x90\xb0\xb3\x62\x9b\xbc\xbc\xec\x02\xa1\xa3\x45\xbe\x44\x93\x90\x0f\x06\x53\x30\x6c\x36\xa5\x72\xda\xa2\x7a\x40\xe5\xaf\x9e\xb2\x99\x28\xfb\xc0\x3e\xad\x1c\xe1\xea\x9c\x80\x5d\xb0\xb6\x36\x30\x06\x97\x7d\x69\xc4\x59\x42\x12\x93\x51\x8f\x96\x8a\x1c\xac\x1c\x1f\xe0\xee\xba\x4a\xda\x73\x42\x83\x63\x8a\xae\xf7\x02\xd3\xa9\x60\xd9\x4a\x02\x0c\xb7\xdb\x97\xcd\xbc\x5d\x7c\x6b\x57\xce\x18\xd4\xf9\x04\x50\x9e\xe1\x4e\x64\x8a\x80\xe1\x9b\xc9\xdf\x27\xc0\x41\x6a\x15\xdc\xc8\xfb\x44\x51\x9e\x4f\xbb\xa5\xdf\xc8\x8f\xa0\x32\x52\x81\x52\x18\x53\x31\xeb\xa2\xaa\x7b\x49\xa5\x26\xf7\x5d\xca\xbd\x65\x9f\x21\xa7\xdb\x94\x49\x74\xac\xbe\x99\x6e\x1d\xea\xea\x05\x34\x11\x24\xe6\xf3\xb7\x0c\xfa\x69\x5f\x42\x7d\x3e\x28\x7a\x5f\x64\x36\x52\xe9\xd0\xf9\x2c\xa4\xdf\x46\x66\x04\x8b\x0e\x28\xa5\x73\x72\x67\x0f\x85\x81\x7d\x04\xfb\xcf\xd4\xc3\x2f\x99\xed\x6e\x55\x56\xc5\x63\x93\x56\x3a\x09\xbd\x31\x84\xff\x7d\xde\xf2\xe5\xe5\x2e\x33\xaf\xb3\xdd\x91\xc7\x06\x7b\x5c\x1a\x73\x55\xed\x40\x42\xa0\x2d\xd1\xab\x57\xe9\x72\xf3\xdb\xca\x27\xae\x81\x4e\x73\x88\x89\xeb\xba\x8c\x7a\x5f\xac\x45\xef\x14\xa4\x83\xc4\xe4\x24\x8b\x9e\xa0\xf5\x11\xd8\x48\x06\x00\x38\x12\x4f\x78\xba\xcc\x48\x6b\xe3\x39\xa1\x57\x46\xab\xb9\x84\x43\x9d\xb0\x8b\xdf\xe0\x4c\x2c\x83\xcc\x76\x80\x9a\xb2\x94\x1d\x7b\x4f\x72\x12\x01\x6a\x3f\x2e\xa7\xfa\xab\x91\xfe\x92\x4c\xff\xe5\xaa\x51\x1d\x79\xa6\x6a\xba\x69\x6b\xa9\x4c\x5f\x2d\x28\xd4\x08\xaa\x38\x02\x2d\x60\x37\xbb\xe7\x3d\x41\x0c\x95\x00\xc6\xab\x35\x99\x28\x72\x08\x9b\x36\xc8\xd2\xd9\x7d\x31\x2d\xab\x8f\x48\x93\xf1\xbf\x71\x52\xa4\x91\xf4\x52\xce\xf9\x4b\xfd\x09\xff\xff\xf0\x16\x79\x22\x42\xe9\x17\xbd\x68\x54\x22\x22\xab\xc0\x8a\x46\xf1\xf5\x1a\xbd\x9b\x8e\x14\x04\xfc\x60\x1b\x40\x32\xda\x87\x81\xba\x41\x35\xea\xdc\x03\xd4\xc9\xe8\xa7\x31\x30\xc8\x50\xd3\xf0\xb6\x02\x63\x00\xdd\xf5\x24\xa7\x50\x21\x75\x0a\xa5\x90\x84\x10\xfd\xf6\xa1\xd3\xae\xd2\xdd\x78\x91\xd1\x8e\x36\x93\x80\x58\xcd\x3d\x1c\x05\xd1\xf9\x24\xf5\xa5\x34\xa2\x63\x83\xab\x17\x33\xf5\xc9\x8a\xf7\x4c\x8a\x57\x9f\x82\x7e\x5c\x88\x9f\x88\xf3\x82\xb1\xe1\xe4\x24\xf4\xfe\x4f\x5b\xce\xed\xf9\xb3\xca\xc0\xbf\x93\x01\xbe\x8f\x7d\x69\x97\x80\x6a\x14\x47\x81\xc2\xed\x8c\x88\x21\xd7\x0f\x4b\x09\x86\x98\x5b\x32\xc2\x18\x9b\x4f\x8e\x94\x22\xc5\x4a\xbf\x88\xed\x13\x38\x28\x70\x85\x82\x12\xd7\x57\x18\x37\x53\xa5\xda\x61\x03\xcf\xbf\x9c\x9f\xe7\xef\xcb\xb9\xe3\x12\x07\xe2\x73\xc1\x17\xb2\xcc\x29\x77\xf6\x3f\x6f\x64\xbe\x92\xc1\xd0\xa9\x14\xd4\x42\xa9\x0c\xe8\x66\x6b\x26\xe2\xa2\xe4\x03\xcb\x82\xcf\xf6\x27\x79\x99\x1d\x8c\xca\x69\xc3\x13\x03\x60\xd4\x4a\xd2\x56\xa3\x53\x53\xb3\x5e\xfb\x21\x30\x2d\xfc\x1e\x91\x3e\x56\x5f\x4b\x60\x46\x72\xbd\xbd\x5a\xee\x78\xb4\x27\x56\xa0\xc4\x46\xfd\x1d\xbd\xfc\xa5\x00\xf6\x97\x9f\xb1\x80\x6a\xcf\xa9\xb3\xea\x07\x63\x38\xa1\xc4\x06\x7a\x82\xa9\xcc\xc3\x67\xf3\x1a\xc0\x24\x04\xef\x8c\x6b\x1f\xcc\x71\x2c\x36\x78\x97\x03\x61\xea\xe0\x6a\x9f\xa0\x30\x9e\xa9\xb5\x64\x6e\x8d\xb5\x9d\x5c\x23\x3e\x13\x2d\xb5\xee\x65\x12\xa9\x95\x41\x03\xdd\x85\xf5\xbe\xa4\x3a\x86\x5f\x5d\x0e\xf4\x10\x0e\x71\x36\x35\x18\x35\x01\xd7\x1d\x9b\x1f\x00\xd8\xd6\x30\xb8\x1a\x52\xf3\x13\xfd\x91\xbf\x9e\x89\x2a\x17\x32\x0a\x7c\xa3\xf8\xef\xc1\x72\xd2\x43\x29\x05\x0c\x66\x51\xb0\xc6\xb1\xf8\x43\x51\x76\x70\x92\xc1\xc5\xba\x8e\xa4\x70\xb8\x1b\xf9\x58\x18\x9b\xab\x17\x91\x02\x56\xad\x6f\xa1\x3c\x70\x7e\x51\x88\x01\x33\xda\x48\xa0\xb8\xff\xc2\x1d\x02\xf4\x65\x49\xb6\xa5\x82\x6a\x0e\xae\x0d\x04\x30\x8d\x55\x11\xa8\xce\xd2\xcc\x98\x29\x67\x07\x77\xc8\xa1\xf4\x4d\x0a\x96\x46\x68\x4d\xe1\x2a\xdc\x18\x07\xe5\x40\x83\x02\xbb\x79\x67\x9e\xfd\xb4\xed\x11\xcc\x46\x29\xe4\x48\x9a\x81\xe8\x84\x77\xc2\x55\x10\x35\x1b\x89\x01\xcb\x82\x90\x6e\x39\x17\x2c\x58\x4f\x91\x5f\x10\x52\xc5\x35\x60\xcc\x02\x5f\x8d\x20\x02\xa1\xa5\x5c\xfd\x8c\x20\x6a\x09\x27\x08\x54\xbb\xfe\x32\xf0\x2e\x31\x8f\x62\x1d\x4c\xd4\x48\x10\xd0\xda\xed\x22\x49\x53\x30\x64\x1f\x00\xd4\x89\xb2\x96\xac\x24\xdd\x35\xf9\xff\x00\x12\x32\x02\x04\x84\xb1\x4e\x96\x82\x80\x42\xb6\xb2\xd0\x08\x3b\x04\x73\x02\xee\x0e\xc5\x8a\xc2\x0a\x62\x12\xff\xde\x22\xb5\x09\x4b\x6e\x5d\x24\x0e\x88\x67\x86\x88\x2c\xd8\x59\x2a\x73\xff\x82\xba\x31\xed\xa0\xb6\x4c\xa5\xfd\xbc\xf2\x9c\x63\xef\xa5\xc0\xf7\x97\xfe\x93\x4a\x80\x0a\x96\xbf\x5e\x59\x9c\xb0\x68\x4d\xad\x81\xbc\x5a\xaf\x6c\x6d\x3f\x6d\x50\xd8\x5d\x61\xe4\xb9\xd1\x81\x3f\x4b\xc8\xa5\x43\x79\xbd\xb8\x9d\xe2\x07\x73\xd4\x80\x65\xeb\xfd\x4d\xcc\x9f\x08\x64\x98\x28\xaa\x83\x28\x72\x8e\xb4\xaf\xea\x49\xbb\x4b\x2c\xa3\x3e\xc5\xf1\x4b\x08\x58\x40\x53\x06\x1d\x3f\x43\x55\xfe\xdc\x8f\xe5\x73\x71\x1a\x8e\xd2\x2a\xa0\x06\xe9\x1f\x1e\x0a\x9e\x54\x3b\x2f\x58\x6f\x7f\xfa\xc9\x6a\xe8\xd3\x87\x73\x16\x91\x26\xd5\xe7\xa7\x6b\xf1\x6c\x7f\xed\xc9\x6c\xe2\x7a\x78\xae\xc6\xa7\x2a\xb5\xa5\xd9\xc8\x38\x5c\x20\xfa\x5e\x7c\x39\x65\x2d\x9c\x20\xca\xe0\xa7\x7f\xcc\x1f\xc7\x12\x31\xa9\x81\xb2\x5f\x04\x19\xc8\x60\x52\x95\x91\x64\xa3\x1b\x6e\x27\x21\x55\x25\x4d\xec\x52\x03\x76\x87\xfc\x53\x3f\xd8\x81\x99\x92\x42\x8a\x09\x79\x19\xac\x5d\xda\x37\x77\x08\x7c\xf4\xeb\x84\x61\x94\xf0\xa5\x80\x63\xdb\xef\x6e\x22\xb6\x25\xee\xc9\xa3\x4a\x07\x0a\xd0\xb0\xa9\x04\xb5\x55\xa8\xcd\xe0\x64\xdb\xda\x01\xf4\x2f\xd4\x5c\xae\x4c\x61\x50\xc7\xe7\x32\x52\x09\x27\x10\xc5\x65\xe1\x23\xd1\x3e\x09\x1a\x9f\x69\xdf\xea\x56\xa9\xa3\xba\x91\x4d\x3e\x83\x77\xb8\xd2\xc9\x47\xf9\xd8\x62\xfd\x43\xc3\xb1\x88\x80\x2d\x47\x1d\x18\x36\x9c\xb6\x72\x5c\x5f\x9e\x37\x9f\x07\xed\x02\xc3\x1c\x44\x3e\x9d\x95\x25\xa4\x98\x98\x7a\x8c\x80\x44\x7e\xed\x2b\x97\x97\xaa\x84\x5f\x7e\x46\xab\x2a\xdd\x57\xf7\xaa\x01\xd7\x2e\x08\xcd\x80\x1c\x14\xc9\x96\x6a\x8d\x98\xca\x09\xb2\xfa\xa5\xd0\x68\x73\x0f\xd4\x10\x4d\x5a\x84\x14\xcc\x25\xd5\x6d\x29\x6e\x9a\x20\x08\x0e\xc8\xf0\x24\x9d\x08\x4a\x01\xb1\x44\x5e\x7c\x2d\xaa\xe8\x6d\x33\xf5\x48\xfe\x45\xbb\x4b\x50\xf1\xdf\xad\xcc\x0d\x32\x4e\xb9\x4e\x60\xe1\xa6\xdb\xf4\x75\x5b\x6c\x46\x88\x1f\x60\x2b\x54\xce\x56\xac\x1f\x05\xec\x60\xc0\x89\xb6\x92\x60\x5c\xd7\x34\xfd\xb7\x49\x21\x60\x38\xdd\x3f\x67\x8c\xf8\x9f\x52\x5e\xd2\xe7\xbf\xbc\x30\x66\xfe\x5d\xad\x57\xb5\x27\x15\x6f\x3d\x04\xba\xdd\xdf\x0b\x08\x38\x4a\xf1\xf5\x19\x09\xf0\xd4\x7a\x57\xdb\xb1\xe5\x4a\x75\xd7\xa7\x6b\x92\x69\xdf\xb7\x92\x25\x9b\xdf\xb7\x12\xc2\xef\x09\xe1\x33\x9f\x15\x54\x93\xb6\x4d\x11\x18\x07\x0c\x11\x5a\x17\x43\xfb\x86\xb4\xbf\x58\xbf\x6d\xa3\x19\x08\x74\x96\xe2\x56\x5c\x9f\x5f\xd5\x24\x94\x57\x37\xe5\x51\x3a\xfa\x44\xd5\x25\x35\xe4\x61\x14\x99\x3c\x88\x96\x17\x44\x1f\x89\x68\x3f\xd8\x32\xcd\x1b\xa2\xc3\xed\x36\xed\xcc\xc3\x2e\x98\x0e\x32\xaa\x82\x3a\x51\xfc\x98\xc6\xdd\xa3\x8a\x28\xe6\x06\xe0\xbb\xc1\xf4\x9d\x49\x6b\x0a\xea\x01\xce\x61\x0a\x9d\x6c\xef\x5c\x1d\xc1\xd9\x7e\x80\x9b\xb9\xea\x49\x0f\x4d\xdf\x16\x31\x3f\xcc\x37\xcc\xf6\x91\xc7\x1d\xbf\x1c\x5c\xf4\xe7\xb8\x32\xce\xf1\xfd\x69\x1f\xb7\x56\x9e\x8e\x5e\x1e\x67\x45\x06\x0f\x51\x7a\x70\xfb\x12\xfc\x9e\xc3\x13\xc7\xad\x83\x93\xdf\x22\x14\x55\x40\x6a\x8d\xf8\x70\x89\xb8\x41\xc9\xeb\x52\xca\xf8\x54\x5c\x95\xec\xa9\xe0\x19\x48\x75\xfa\x72\x20\x3d\x81\x42\xa3\x6c\x42\xed\xf6\x09\x91\x04\x58\x3b\x98\xa7\x85\x31\xcb\x51\x42\x96\x69\x17\xf0\x83\xc7\x1b\x38\xae\x77\x72\xbd\xa6\x78\x71\x0f\x1d\xc5\xa5\x94\xf1\x81\xc5\xf3\x76\xd1\x78\x7e\x14\x9a\x3c\x61\x2d\xed\x85\x16\x53\xb5\xdc\xad\xbe\x80\x5d\x9e\x74\xf2\x4e\xb2\xcc\xaf\xba\xe0\xab\x0f\xf1\x7f\x9f\x69\x60\x28\x4b\xeb\x4d\x91\xa3\xb4\x04\xa1\xf3\xe5\xa9\xa8\x64\x79\xaa\x35\x59\x1e\x15\x28\x7f\xa5\x16\xe5\x93\x52\x14\x9c\x3a\xbe\x3d\xb6\x2e\x8f\x43\x96\xf3\x34\x7f\x9d\xe6\xee\xf6\xef\xe3\xb9\x2b\xaf\x76\xe5\xcf\xb4\xd6\xa5\x0d\x65\x25\xd8\x52\xc2\xfd\xf6\x25\x3e\xb8\xab\x8c\x5f\x9f\xb6\xd1\x41\xba\xbe\x21\x36\x14\x71\x79\x16\x96\x5a\x2a\xb4\xcf\xa8\x3a\x55\xda\x81\x31\xe1\xaf\xa1\x23\x97\x81\x19\x5d\xc1\xf6\x28\x25\x6f\x8b\x24\x9b\x82\x32\x26\x30\x5b\x08\x56\xb2\x02\x1b\xa7\xac\x4b\xeb\x15\x09\x1b\x1f\x8a\x02\x3f\x48\x02\xf5\xed\x33\x3d\x88\xe1\xac\x93\x01\xae\x28\xb5\xc2\xbc\x0f\x43\xd4\x85\xd5\x2a\x86\xaa\x0f\x4c\x23\x70\x00\x6f\x84\x24\x85\x11\x09\xba\x52\x9a\x7a\xd0\x03\xa1\xad\x02\x26\xee\x1c\xd2\x6c\x67\x63\x8c\xab\x31\xe8\x2d\xa1\x26\x88\x05\xf6\xfd\x6c\x0c\x72\x4f\xd6\x28\x9b\x94\x10\xbb\xcb\x94\x98\x23\x4c\xd0\x1a\x3d\x40\xc4\x62\x3b\x35\xe0\xa2\x51\x8c\x8d\xe2\x8b\x43\xaa\xfd\x3e\x10\x32\xb5\xc4\x68\xc1\x91\x93\x5d\x1c\x0b\x11\x0b\x02\xd7\x64\x44\x46\xda\xb9\x56\xc9\xc9\xef\x31\xe0\xb7\x49\x4c\x59\x7a\xb8\x9b\xa7\xb7\xc3\x5d\x1d\x29\xe4\x52\xad\x21\x0c\xad\xa9\x0c\xbf\x33\xd5\xbd\xb4\x87\x6e\x21\x15\x19\xce\xaf\x7b\x61\xad\x7a\x8b\x36\xb9\xbe\x91\x04\x93\x10\x47\xd5\xe3\x6c\x4f\xc6\xbb\x99\x6b\x2b\x8f\xb2\xd9\x85\x88\x01\x1a\xd1\x25\x18\x5f\x99\x68\xc6\x92\xcc\xb0\x53\x76\xdf\xdd\x67\x33\xa6\xa1\xf0\x07\x30\x18\x58\x6a\x17\x5b\xdb\x9c\x71\xdd\x91\x6c\x07\x1f\xa0\x24\xd3\xcd\xff\xc9\x11\x71\x40\x60\xac\xe5\x1b\x81\x6d\xee\xe1\xb1\x6a\xe7\x1b\x85\x7f\xc4\x22\x3c\x13\x66\x3e\x5a\x02\x5a\x56\xc4\x6b\x7a\x6b\x60\x89\x3a\xfb\xfd\xd5\xed\x0b\xa5\x59\x66\xb4\xc3\xfc\x5d\xad\xc0\xa8\x2d\x5c\xe6\x68\x03\x52\x76\x5a\xe8\xe1\x21\x0b\x61\xf4\xb3\xa3\x15\xc4\x5b\x61\x16\x3b\x03\xa7\x46\xbe\x95\xab\x83\xb7\xe0\x99\x23\x91\x27\xe2\x12\xa1\x79\x72\xa2\xf5\x4a\xb8\x14\x1a\x99\x11\x76\x73\xbf\xc3\xaf\x26\x92\xd7\xd4\xd0\x6b\x11\xee\x93\x04\xaa\xf6\x91\xc4\x4a\xbf\x2f\x1d\xb7\x8b\x2c\x2d\x6b\x95\x24\x02\xe7\xfe\x0a\x17\xe8\x3e\x40\xbb\x45\xb0\xa2\x82\x84\xc8\x9b\x55\xdc\x8c\xa2\x34\x4e\x82\x20\xea\x89\xe1\xba\x08\x82\x2d\x3a\x0b\x28\xc1\xc7\x33\x39\xf0\x60\x77\xb6\xbb\x28\xb6\x16\xc8\xbc\xcb\xb8\x0e\x67\xe3\xdb\x49\xe2\xff\x38\x45\xbb\xc2\xfb\x38\x09\xb0\xbc\x76\x2f\xa4\xa9\xee\xc4\xa9\x95\x9a\xa8\x09\xd0\xc8\x1f\x3f\xd5\x8d\x99\x1b\xe3\x77\xf0\x71\x4a\xd2\x3a\xe1\x48\xb5\x34\x46\xd2\xd1\xf6\x81\x5a\xb0\xe4\xcb\x87\xd4\x89\x0a\x7e\xeb\xa9\x48\x4f\xd6\xd7\xd2\xa3\xf3\xf2\x79\xf8\xaa\xbe\x5c\x6a\x5f\x43\xf8\xbf\x9e\x4b\xad\x55\x4d\x0f\x6c\xb5\x05\x70\xdd\xaa\xbe\xbf\x5d\xaa\x7e\x9f\x08\xca\xfb\xef\x3f\x20\x6d\xf6\x4d\x9f\x59\x3c\x3c\xe4\x3b\x35\x79\xad\x8d\xea\xb0\x90\xc1\xc7\x3d\x8c\x46\x80\xfc\x68\xe5\xfd\x0d\x49\x71\xa9\x1a\xdb\x34\xc0\xf3\x4a\xad\x35\x9f\x12\xaf\x7b\xef\x41\xdf\xde\xad\x51\xe9\x0f\x16\xc4\x0f\x6e\xfe\xf6\xcf\xbb\x7b\x51\xd2\xea\xff\xfd\xed\x74\x5a\x17\x3f\x6e\x8c\x47\x4b\x3d\xb7\xe2\x97\x31\xa5\xff\xf7\xa5\x0a\xf6\xd7\xfc\x50\xc4\x11\x48\x0f\x9e\x01\x56\xe6\xeb\x81\x46\xa2\x74\x8b\x32\x0e\xf9\xe1\x8f\xe7\xbd\xe2\x0f\x7e\xc7\x5e\xf8\x01\x98\x84\xa4\xc9\xca\xb6\x58\x83\x3c\xdc\x8e\xda\xb1\x11\x20\x30\x54\x48\x9d\x0c\xd2\x9f\x9e\xe2\x78\xfa\xfa\xd8\xe3\x12\x3b\xc2\x29\xb6\xeb\xdc\x0a\xe2\x2b\xbf\x20\x26\x79\x4b\x9f\x1e\x7d\x3b\xfe\xf0\x13\x72\x80\x67\xde\xf5\x68\x7c\x9c\x45\x40\x07\x1a\x3c\x6a\xe6\x06\xa3\x7f\x6c\xd7\xb6\xa9\x69\xb4\xc4\x43\xbe\x18\xbf\xf5\xa5\x1c\xf2\xd7\x07\xa9\x1d\x6a\x2f\x40\x6f\x3d\x06\x4b\x0d\x12\xf4\x64\x51\x49\x9c\x9a\xed\xcb\x28\x8f\x52\x97\xb1\x01\xed\x21\x9a\x2f\xc6\x27\x5f\xcb\x92\xda\x76\xfe\xde\xb0\xdc\xa5\xd8\x7f\x1f\xa4\xa0\xe4\xc9\x8e\xc7\xf9\xe3\x1b\x8d\x37\x6e\x66\x26\xda\xcd\x2d\x7e\x05\x00\xb2\x06\x92\xad\x03\x3e\x69\xbc\x3e\x89\x52\x9a\x52\xf5\xad\xa0\x02\x73\x19\x51\x0c\x40\x49\xc2\xd0\x4c\xe4\xa2\xe4\x57\x79\xfa\x7e\x3b\x9e\xf6\xda\x21\xf8\xcb\x93\x6c\x8f\x93\x07\x73\x2c\x2e\x8a\xfc\xda\x48\xd7\xfd\x1c\x8f\x9b\x7c\xba\xf5\xc7\x13\xfd\x6f\x4c\x3f\xfe\x4f\xa9\x2f\x05\x5a\xbf\xfe\x4c\x75\xb6\x76\x49\x13\x38\xac\x28\xf9\x2e\xc9\x28\x13\xeb\x4f\x92\x23\x6d\x8b\x3a\x31\x41\x55\x03\x34\x7b\x26\xe9\x83\xcf\x25\x74\x42\x0d\xda\x0a\x2c\xac\x8a\xc2\x81\x30\xf7\x5a\x4e\x25\xef\x56\xd2\x28\x09\x3e\xb5\xd0\x25\x83\xaf\x84\xaa\x06\xad\x09\x39\x4d\xbf\x6c\x4e\x65\x7a\xab\x03\x45\x9b\x6d\x73\x03\x05\x74\x61\xa5\x10\x77\xdc\x80\xc5\xfe\xc8\x60\xff\xed\xe2\xbb\xff\x56\x37\x24\x27\x5a\xd9\xa1\x2e\xd6\x04\x6a\x2f\x16\x06\x50\xb1\x14\x99\x15\xed\xe1\xf3\x57\xcc\x2a\x18\xc8\xec\x55\x07\xb7\x85\xdc\x75\xfc\x11\xdf\x15\xfd\x82\x47\xe1\x20\x9c\x0c\xbb\x1c\x4f\x5f\xcf\xcd\xe7\xfe\x8f\x73\x5c\x08\x23\x4b\xcb\x98\x1b\xd6\xbb\x4b\x01\xe0\x5b\x68\x00\x30\xb2\x18\x4f\x8a\x42\x5f\x49\x42\x51\xa1\xa0\xca\x45\x4e\x37\x5f\x21\x3b\x03\x3d\xf4\x94\x34\x33\xe4\xaa\x72\x08\xdd\xfb\x3f\x11\x53\x71\x57\x1e\x3e\xf9\x06\x05\x4c\xb9\xed\x12\xbc\xd2\x67\xbc\xfa\xfc\xf6\xfe\x26\xbd\x42\xc7\x66\x12\xbb\x3d\x2f\x81\x7c\x22\xf3\x67\x4e\xf1\xf2\xc9\x52\xad\xd4\x2c\xc7\xe7\x8e\x33\x22\xd2\x2d\x39\x2a\x57\x24\x6f\x50\xc0\xcb\x3b\xf7\x0f\xd9\x10\xc6\x06\x58\x07\x29\x16\x05\xce\x9f\xa8\x8a\xbc\x46\x23\x8e\x47\xb8\x61\xb6\xd7\x70\x03\x45\x79\xa5\xe6\xe2\x63\xf6\xb3\xd3\x32\xda\x71\xc6\x36\xb0\xcf\x73\x10\xe3\xf8\x78\x36\xb4\x46\x29\x13\x2d\xbc\xa0\xa4\xe3\xc7\xaf\xe1\x07\xed\xb2\xb1\xd1\xbe\x7b\x17\x9f\x35\xc8\x17\x43\xfb\x25\x84\xfc\xeb\xcf\xca\xad\x5a\x9e\xa9\x6b\xde\x74\xb8\x7b\x3d\xf0\xb9\xf8\x17\x6a\xf6\x99\x35\x37\xf5\xea\xfb\x7f\x2c\x02\x4e\xaa\x20\x81\xbd\x4b\x99\xc8\x39\xf8\x67\xa9\xe5\x0e\x1a\x36\xc5\x20\x5a\xb4\xa0\x68\x72\x6b\x96\x4c\xed\xb6\x51\x73\x55\x99\x0c\x20\x3e\x68\xcc\xa4\x43\x37\x66\x32\xca\x46\x25\x0a\xa9\x93\xdf\xfc\x4b\xb5\x24\x50\x3c\x76\xaf\xaf\xc7\x31\x8b\x1f\xc4\xea\xb1\xad\x01\xeb\x60\xbc\x9c\xdb\x5c\xbc\x83\x31\xef\x0b\xdd\x15\x74\x13\xcc\x42\x65\x33\xf8\x7c\x9b\xb9\xbd\x57\xf2\x06\x57\x52\xa7\xb7\x3b\x74\xb6\x27\x38\x93\x17\x9b\x80\x93\x2e\x36\x0f\xff\xb4\xc9\xed\x6d\xe2\x00\xdf\xdf\x4f\x50\xbe\xa2\x24\xac\x2f\x91\xf1\x5f\x5f\x74\x8b\x9f\x3a\x45\x88\x37\xdf\x17\x72\xd5\x7c\x32\xe8\x20\xaa\xfe\xbb\xa8\x6d\xa6\x7e\x32\xfe\xb4\xb6\xd4\xf2\xf8\xfb\x2e\x30\x4c\xff\xcc\x13\xdc\x7e\xff\x15\x5a\xc9\x7f\xef\x23\x34\xba\x0a\x0b\xb5\x60\xdd\x4f\x0c\xbb\xdf\x7d\x97\xb9\x56\x81\x5e\x15\x2a\xbf\xb8\xdc\x02\xc8\x43\x42\x9d\xb9\x2e\x46\x22\x55\x37\xdc\xbe\x6a\x87\xdb\x5f\xb9\x4d\x50\x94\xfc\xad\x0d\x81\xc9\xfa\x6f\xec\x8e\xb7\xa0\x4b\xf9\x7b\x1f\x02\x8b\x58\x96\x76\x87\xd6\xb3\xbf\x3d\x12\xd4\x53\x62\xdf\xb7\xe9\x8e\x2f\x88\x37\xe2\x33\xbb\x87\x96\x63\x67\x54\xb8\x40\xd4\x18\x1c\xdf\x6e\x16\x1c\x01\x96\x06\x7a\x15\xaa\x8e\x0d\x0c\xec\xc4\x16\x68\x49\x51\x94\xc5\xc8\x03\xbf\x32\x60\x82\xad\xa4\x80\xf2\x23\x58\xb8\x7e\x9d\x66\xe9\x2d\x14\xbd\x88\x1b\x81\xb5\x44\x22\xfb\x72\x3e\xca\xdf\xdf\x58\xb3\xe9\x17\x1d\xbc\x5c\x49\xf5\xf6\x3a\x38\xbe\x9a\x11\x5f\xd2\x5a\xbf\xbe\x56\xdf\x3d\x66\xc4\x9e\x4b\xf2\xc1\x74\x87\x5a\xd6\xa7\x6e\xfa\x83\xbc\xe8\x13\x0f\x1e\x7c\x83\x9f\x78\xf0\x55\x74\xd3\x32\xd3\xe8\xb6\x77\x16\x9c\x25\xb5\xb5\xc0\x4f\xa7\x3e\x0c\x2e\x9a\x0b\xa2\x00\x77\xff\x42\x07\xdf\x9b\x08\xb4\x87\x95\x86\xd1\x1f\xba\x6a\xff\x3c\x9e\xd0\xdb\xf0\x4b\xef\x08\xb8\x1b\x78\x60\xde\x6f\x6f\xdd\xfd\x1b\xd8\x4a\xaa\x85\x81\x9f\x4f\x44\xd0\x74\xbc\x8a\xa0\xc5\xc0\xfa\x93\x07\x7f\xf1\x02\x5f\x92\x42\xbf\xfe\x54\x5e\xba\x57\x94\x28\xdb\x6e\x84\x65\x80\x92\x80\xda\x48\xfd\x82\x89\x66\xb0\x6a\xe7\x8d\xca\xb0\x35\x6f\x91\xc7\x83\xc7\x06\x9f\x10\x65\xd5\xd4\x4d\x96\xc1\xc2\x08\x24\xbe\x25\xe3\x0c\x06\x1b\xa0\xe9\xba\xc8\x90\xbb\x0c\xd9\xfc\x17\x03\x7b\x39\x40\x1b\xac\xde\xf2\x41\x2c\xc4\xfd\x20\xbe\xed\x27\x04\x9e\x15\x41\xe9\xf3\xe2\x25\xbb\x63\x24\x3b\xef\x76\x4a\xb2\x4e\x78\x7d\x3f\x3e\xbf\x7b\x90\x51\xc9\xa6\xa4\x0b\x29\xb7\xcd\x1f\xa8\xe4\xfc\xc9\x19\xbe\x6a\xdd\x97\x14\xcf\xaf\x2f\xa5\x43\x1f\x60\x95\x96\x3a\x2d\xe9\x61\x04\xd9\x20\x5b\x42\x2f\x9f\x55\x2d\xf3\xf1\x07\xbf\x33\x97\x1a\x5a\x6b\x83\x38\x89\x24\xc5\x8e\x73\xa7\xe3\x3a\xf4\x38\xcf\x68\x40\x1a\xd6\x8f\x17\x7b\xba\x94\xf1\x42\xfb\x32\x58\x14\xf7\x47\x2e\xb7\x83\xa7\x20\xce\x71\xf0\xb4\xe7\xf2\xd3\xa4\xdd\x5b\xeb\x41\xcb\x63\x4a\x41\x50\xf7\x0e\x23\x75\xbf\xfa\x37\xdd\x97\x11\x65\x6e\x8c\x45\x23\xeb\x8d\x3b\xd7\x76\x5f\x5a\xb7\xbd\x10\x21\x33\x46\xd4\x6e\x0e\x98\xc6\xf8\xc0\xc4\x0c\x51\x5f\x39\xba\xbf\xca\xc0\xe1\xe6\xb3\xea\x55\x0f\x24\x77\x15\x2c\xf5\x09\xcc\x43\x7d\x47\x74\x9b\x4a\x40\xe0\x44\xaa\x40\x3c\x54\xd9\xf1\xbe\x45\x46\x1a\x9d\x1a\x69\x2c\x9c\x45\x5d\x61\x5a\xf4\xf4\x22\x0f\x37\x6b\x0f\x54\xf5\x94\x6f\x48\x04\xa3\xca\x4f\x59\xed\x0b\x49\xf9\x13\x2a\xad\xfd\xe8\x4a\x75\x85\xdb\x9b\xf4\x66\xa9\x91\x84\x03\x1c\x81\xee\x2d\x10\xad\xa4\x3b\xc8\x07\x46\xa4\x19\x4a\xab\x3b\xb0\x5e\x84\x3a\x81\x19\xb7\x80\x69\xaa\x30\x2c\xef\x1e\x85\x54\x00\xad\xaa\x80\x37\x01\x0a\xb7\x92\x4c\xdb\x1d\x7c\x5e\x7a\x56\x6e\x1d\x24\x32\xac\xcc\xca\xd9\xd8\x0b\xeb\x26\xc9\x25\xdf\xca\x0e\x58\x06\xc8\x0f\xf1\x0b\x24\x84\x3b\xcb\x47\x70\x15\xb8\x5f\x95\x70\x5b\xd5\x54\x9a\xed\xb4\xcb\x91\xfc\xec\x0a\xf1\x21\x6f\x45\x1f\x57\x05\x71\x2c\x7f\x9f\x80\x16\x25\xe2\x81\xfa\x2d\x30\xcf\xe3\x4e\x24\x5a\xd7\x84\x30\xbe\x1d\x28\xd2\x95\x55\xb4\xf6\xbd\xa1\x3e\x58\x08\xe3\xc2\x1d\xa9\xdd\x97\x36\x21\x71\x44\x14\xbc\xf6\xe4\x63\xfe\x58\x7c\x85\xfd\x72\xc2\x7b\x49\x96\xfc\xfa\x53\xc9\x65\xf7\xd7\x60\x42\x14\x2b\xeb\x22\xa5\xde\xfd\x8b\x14\x94\x4d\xcf\xf2\xf3\x8d\x56\x74\xd3\x6a\x49\x6b\xb9\xf7\x89\xde\x3d\xdd\x00\xcb\x65\xae\xfe\x56\x16\x95\xbe\xa9\xf4\xa4\xd2\x57\x9b\xc3\x87\xc9\x44\x8d\x33\xc8\x98\x05\x32\xf0\x6e\x62\xf8\xe9\x4d\xdb\xe6\x07\x24\xff\x67\xf5\x7f\xee\xf8\x62\x73\xdc\x45\xea\xd8\xdc\xd5\xd4\x31\x57\x29\xe3\xcb\x56\x78\x49\x50\xfc\x7a\x11\xf6\xf5\x6e\x7e\x3f\x6e\x35\x74\x24\x71\x75\x52\x78\xc1\x72\xa5\xdc\xb2\xf7\x36\x2a\x27\xec\x48\x0f\xcd\x00\x67\xb2\x14\x1b\x51\xbd\x31\xe1\xad\xa3\x64\xde\x3b\x0e\xaa\x64\x35\x95\xa4\x6d\x07\xd6\xd7\xdc\xae\x3a\x64\x48\x52\x69\xbb\x30\x7e\xd5\x51\xb1\x24\x01\xa7\x40\x5d\x20\x93\x8f\x46\x89\x75\x77\xe2\x23\x6d\x37\xcf\xb4\x9d\xbe\xbf\x35\x37\xd2\xdc\xc8\x47\xd4\x89\xdc\x8a\xdd\x57\x1d\x90\x1f\x4e\xb7\x6f\x00\xbb\x8f\x47\x19\x44\x7d\x2b\x72\x5b\x06\x06\x33\x4d\xcc\x3d\xa5\xee\x03\x28\x75\x80\xb7\x9b\x2f\x4c\x00\xfc\x14\xcc\x1d\x89\x79\x4d\x77\x75\xfd\x02\x7d\x07\x02\x60\x86\x04\x63\xdf\x20\x26\x59\x76\x2c\xbe\xc9\xa2\x98\x1c\xe6\xe0\x09\x7a\x43\xcd\x21\x38\x4f\xc0\x6b\x86\xb6\x63\x16\xb0\xb9\xcb\x1e\x72\x8c\xde\xec\xc8\x8f\xa3\x3f\x47\x21\x2f\x42\x21\xa3\x24\x1d\x7d\xf3\x91\xd9\xf9\x33\x26\x0d\x3f\x45\x69\x07\x6a\x97\x4b\xdb\xcd\x6d\xdb\x34\xcc\xdb\x5a\x28\xc0\x86\xda\x98\x1d\xb5\x84\x28\x26\x05\xf0\xca\x67\x5e\x54\x55\x65\x6f\xdd\xc1\xd0\x79\x00\x44\x7b\x1f\x69\x64\xdb\x89\x59\x89\x2c\xa0\xea\x4e\xdd\xfc\x28\xb3\xee\xb2\x2d\xd6\x47\xaa\x73\x78\xab\x81\xa4\x22\x35\xdd\x8b\xf8\x0d\x28\xa8\xe8\xa2\xc6\x1b\xe5\xc9\xc2\x02\x53\xe4\x43\x61\x63\xed\x98\xc9\x70\x51\x12\x89\x40\xbc\xa4\x13\x5c\x5d\xdc\x35\x9c\xd8\x07\x5e\x7d\xf3\x05\x85\x6a\x1c\x60\x5f\xd0\xc9\x8c\x05\xb0\x19\x35\x21\x68\xa4\xb6\x41\x7d\x03\xa5\xfa\x2c\x7d\xc6\xda\x6e\x0a\x98\x24\x6a\x05\x46\xbf\xed\x92\x24\xf5\x0a\x6f\x41\x20\x32\x29\x89\x31\x8c\xe2\x76\xba\x4d\x6f\x0e\x7f\x16\x5f\x26\x0a\xcb\xf7\xa8\x2f\x02\x96\x0a\x2c\x33\x3e\x97\xdf\x97\xaf\x06\x5a\x7b\x4d\xf4\xfc\x54\x1b\x18\xc6\x2a\xb8\x26\x6d\x50\x9e\x79\xf5\x2f\x24\xfb\x14\x50\x80\x96\x48\x38\xb5\x92\x91\x70\x6a\x25\xc7\x36\x66\xa3\x5a\xc9\xdc\xe8\x5f\xb8\x11\x56\xee\x75\x60\x15\xe6\x1c\x2b\xd8\x0d\x02\x1e\xfd\xc3\x6d\x23\x84\xa0\x3f\xdb\xf6\x94\xfe\xfa\xb0\x51\xab\xbb\x12\x7a\x9f\x2d\x07\x91\x74\xc4\xf4\x99\x64\x5b\x4a\x94\x78\x4c\x26\xdb\x6e\x94\x6a\x7d\x7f\x93\x09\x69\x35\xbd\x4b\x1e\x63\x5d\xce\x79\x70\x30\x35\x1f\x39\xe7\x56\x30\xc3\x5d\xd9\x3f\x26\xff\xca\x59\xd1\xea\xb6\x32\x52\xca\xed\x47\x6a\xc7\xeb\x22\xcd\xd7\xb8\xcf\x88\xcb\x79\x65\xf7\x11\xc0\x37\xdd\xe7\x57\xc9\xf7\xf6\x9a\x2a\x7a\xe1\xfa\x7b\x79\xc1\x76\xc2\x81\xa6\xa5\x6e\x51\xf4\x8e\xcc\x16\x2a\x38\x31\x83\xd6\x72\x80\xba\x25\xa9\xc6\x97\x45\x35\x72\x32\xb5\x84\x96\x2b\xe9\x0a\x22\x4b\xe7\x7f\x7d\x3b\x97\x1e\x85\x5f\x97\x48\xac\xaa\x08\x3b\x4b\x54\x89\x83\x2a\x92\xbf\x69\xe8\x95\xb2\xc6\x1f\x24\x2d\x85\xd0\x89\x4b\x06\x0f\x7e\x6f\xaf\xa1\xe0\x3e\x2d\x34\x05\xdd\xc9\xd8\xfb\x48\xdd\x4d\x9b\xe6\x0e\xd6\xa1\x66\xa9\x14\x7c\x2c\xa5\x1c\x42\xe6\xaa\x88\x80\x87\xb0\x50\x08\xa8\x0d\x3a\xc5\x7e\xf6\x33\xcd\x07\x5c\x73\x6d\x3d\x55\xb0\x16\x48\x78\xbd\x6e\xe1\xd8\x49\xc9\xe8\x7d\x9c\x84\xe1\x0a\x0a\x39\x98\xa8\xc8\x8b\x48\xcf\xd1\x42\xb4\xa1\x2a\xe5\x94\x99\xb2\x02\xf3\x23\x7e\x82\x37\x46\x4e\xe6\x0c\xe2\x0c\x3e\x58\x3c\x96\xa6\xd0\x59\x73\xcb\xd4\xe0\x18\x26\xcd\xf5\xb0\x91\x53\x37\x7c\x2c\xfe\x49\x38\x47\xfd\xf0\x5c\xfa\x78\xae\x78\x2a\xc5\x33\xdd\xde\x64\xd8\x48\x03\x6b\xa9\x44\xe1\x2f\xca\x16\x67\x22\x6e\x0f\x1c\x59\xca\xaa\xa0\x02\xe0\x0a\x4b\xd1\xf8\x7d\x89\xe2\xb5\x1e\x5c\x9c\x94\x6b\x89\x6c\x81\x42\xb9\xf2\x7c\x98\x1f\xbf\x27\x19\x1d\x18\xab\x52\x00\xeb\x39\xaa\x76\xe0\xa7\x2a\x22\x02\xd9\x2d\x62\x54\xb5\x8f\x2f\x5f\x95\xc6\xab\xfa\x62\x50\xbc\x26\xc6\x7e\x56\xda\x66\xa3\xa4\x4c\x7e\x3e\xf2\xb0\xd3\x27\x03\xdd\x12\x89\xe3\xc9\xbc\xc4\xef\x34\x00\xb0\xcb\xd3\xd7\xa7\x3d\x1e\xc7\x5d\x27\x3b\x55\xe6\xfe\xde\x6b\x84\x36\xc2\xef\xbc\xca\xed\xcf\x5e\x06\x73\xfd\xbf\xa2\xbd\x7e\xff\xb3\xfc\x91\xab\xdc\xbe\x6f\x32\xc6\x82\xfe\xce\x87\x39\x57\xce\x7f\x41\x9b\xfd\xfc\x61\x6e\xff\x94\xa7\xa9\xd6\xd2\x13\x2b\x38\x59\xc2\x8f\x93\x33\x3c\xf8\xc6\x97\x57\xc2\xf1\xe0\x1b\x8f\x1d\xb8\x3b\x8e\x8d\x16\xfa\xdb\x5f\xc4\x2d\xd2\xfc\x79\x8c\x47\xd5\x4d\xa8\xb5\x33\x86\x06\x73\x21\x3f\x85\xd5\x2e\xd5\xd0\x8f\xc5\x3d\x1f\xac\x88\xf5\x43\xe1\xd1\xc3\x1e\xc0\xc5\xfe\x05\xbd\xab\x81\xbc\x33\x07\xfd\xf7\xe7\xec\xee\x37\x70\x6b\x8c\x4f\xf9\xdd\xe3\xa8\xef\x08\xde\xb1\xfb\x2b\x83\xfc\x57\x53\xef\x6b\xe2\xf2\x97\x07\xd0\x40\x66\x1a\x33\x43\x74\x60\x10\x6c\xa8\xd9\x2d\x21\xf7\xd2\xa1\xf1\xd5\x50\xf9\x58\xd6\x05\x3a\xc3\x2c\x39\x28\xa7\x72\x13\xa2\xdd\x1a\x4c\x70\x32\x37\x38\x5b\x16\x22\x63\x52\x89\xf3\x68\x11\x64\xa0\x66\xfb\x49\xb8\x87\xd8\x8e\xd6\x0b\xe5\x6f\xee\x1b\x1e\xee\x27\xb5\x1d\x74\x47\xa8\xee\x91\x36\x8e\xc7\x97\x9e\x24\xf8\x7d\xf8\x65\x47\x38\x01\x12\xec\xab\x98\xa0\x3e\x0a\x95\x34\x2d\xa9\xec\xd2\x6b\x32\xd2\x52\x4b\x21\xe1\xcd\xac\x49\xaa\xfb\x91\xed\xe6\xde\x63\x87\xac\xa0\x98\xed\x92\x1a\xd8\x49\x7a\x40\x48\xe5\x20\x00\x7b\x87\x9d\x30\x13\xd9\xb4\xdc\xca\x35\x28\xeb\xf7\x60\x05\xeb\x24\xc8\x53\xf7\x67\x11\xfa\x30\x0b\x6c\xa6\x31\x46\x62\xc1\x63\xef\xef\xbf\x9c\x52\x8e\x20\xf7\x44\x3a\x1f\xd9\xfc\x00\x97\xfb\xcb\xa4\xde\xf2\x08\x86\x3c\xc0\x37\xa3\x66\x1a\x89\x8b\x95\xf8\x21\xb2\xb3\x1a\xdb\xe5\x81\x11\x1a\xdf\xc8\x03\x26\xa5\xcb\x5e\x93\x4e\x30\xa3\xa4\x32\xa8\x2f\x2f\x73\xad\x73\xdc\x76\x2b\xde\x83\x88\xa2\xb2\x43\xe8\x8c\xba\x27\x8b\xa7\x11\x82\x32\x10\x56\x39\x41\xe1\xf3\xab\xf2\xa8\xf6\x9a\x07\xfd\x19\xc1\x66\x29\x92\x46\x2b\x3b\x2a\xcb\x00\xbe\x6e\x3b\x60\xc3\xd6\xdc\xff\x86\x2f\x8d\x1e\xe7\x76\x9f\xf6\x54\xc0\x0e\xdd\x7a\xea\x65\x92\x91\xbf\xa1\x98\x18\xd5\x3b\x04\xdd\xae\xd6\x91\x34\xcb\x39\xd5\xdc\x77\x92\xba\x81\x0a\x0c\x85\x35\xd3\x10\xc1\x32\xd6\xcd\xb4\x54\x67\xd9\x91\xbb\x16\x50\xf7\x94\xb9\x2b\xaa\x57\x4b\x4e\x66\xa0\x10\xf6\x29\x30\xcf\x89\x44\xc1\xae\x28\xb1\x51\x2c\xe6\xb0\x20\xc9\x8c\xce\x3f\xba\x1b\xd9\xeb\x52\xbc\x2f\x17\x49\x0d\x3c\x5b\xd5\xfc\x35\xe8\x5a\xac\x3e\x5c\x2a\x32\x5d\x33\x6c\x21\x69\x19\xa2\x70\x56\x2b\xd4\x7d\xeb\x64\x1c\x1d\x41\xb2\x8c\xd7\xde\x52\x75\xa3\xbd\xf8\xf3\xa2\xc6\x65\x9c\x48\x69\x51\x7f\xe4\xea\xb7\x8d\x32\xea\x78\x99\x2c\xfb\xf0\xfe\x8c\x08\x44\x8e\x50\xc4\xa8\x3f\x9f\x24\x50\x81\xf8\xff\xbd\x38\xa6\xbf\xbd\xf0\x70\x3e\x69\xd2\xcb\xec\xee\x92\xb8\xef\x64\x48\x32\x58\x4f\x0d\x2c\xd7\x1b\x85\x22\x68\x34\x6a\x3b\x66\x82\x6a\xa1\x37\xca\xfb\x5b\x35\x49\x4d\x64\x5b\xea\x48\xc4\xc2\x09\x90\xb8\x38\xd9\xea\x56\x3c\xe7\x0e\xdb\x89\xb7\x9c\xa9\x20\x82\x68\xed\xfd\xad\x4b\x4e\xb3\x21\x79\xa0\x50\x36\x24\x8f\xde\xc4\xe2\xd0\xc9\x5c\x25\xa4\xc7\x04\xb3\x07\x94\xeb\x8c\x9a\xd7\xab\xf4\xba\x69\x93\xd4\x8a\xac\x8b\xf4\xf6\xfe\x36\xca\x04\x69\xa8\x34\x52\x68\xb6\xa2\x70\x04\x7d\xfe\x96\x9e\x66\x21\xc9\x0b\x2c\xe2\xe2\x9f\x88\x0b\xb1\xe0\x04\xbe\xd1\xa4\x1b\x21\xd5\x62\x98\x2a\x4b\xf6\xa4\x97\x33\x46\x00\x1e\x29\x41\x2d\x2a\xa9\xa8\x2c\xfe\x2b\xed\xa0\x5c\x6f\xbb\x88\xb0\x6a\x4b\x66\x1b\x45\xa2\xa9\xed\xee\xd3\x16\x28\x55\x22\xc3\x81\x22\x2f\x4c\x21\x00\x9f\xa6\x3a\x8f\x01\x4c\x15\xcb\xda\x40\x42\x58\x72\xf2\xeb\xfb\x00\xf0\x9e\xdf\x05\x30\x03\xf5\x95\xc4\x57\x57\x4d\x8c\xbc\x20\x26\x9e\x63\x02\xd9\x7b\x06\x37\x21\x0a\xbd\xa0\x12\x3e\xe0\x3b\x6b\x3a\xfd\xf5\x1b\x08\xf4\xa0\x8b\xea\xce\xe6\xb6\x28\x78\x41\x87\x7b\xc4\x65\xb3\x9a\x66\x5b\x55\x74\xaf\x8c\x19\xf9\x7a\xd6\x56\xa9\x25\x64\xb2\x7d\x39\xbe\x73\x21\xff\x81\xd2\x89\x7b\xc4\x9f\x2f\x85\x3c\xe8\xbb\xa5\x10\xbb\xff\xf1\xa5\xf0\x25\xb7\xf5\xdb\x0b\xa9\xe5\x73\x17\x07\x55\x91\xa0\x97\xea\x48\x88\xbb\x0f\x49\x03\xaa\xb8\xcc\x47\x70\x1a\x2d\x2c\xc1\x8c\xf2\xc8\x1c\x00\x37\x0e\x4a\x77\x36\x4b\x08\x47\x75\x2e\x1a\x25\x9d\x3f\x8c\xe3\x69\x37\xf4\x6a\x1e\x0d\x8d\x08\x20\xe0\x04\xf8\xfe\xeb\xb2\x10\x33\x00\x25\xea\x48\xda\xea\xb7\x7a\xc0\xfe\xc0\x2a\x20\x80\xbd\x6b\xab\x57\xf0\x07\x04\xe3\xbe\xfe\x62\x22\x44\x12\x81\x84\xb2\xb4\x5f\x32\x62\x91\xd4\xe3\xd2\x32\x6f\xbb\xcf\xb5\x3e\xe5\x75\x12\xbc\x4f\xee\xc8\xfd\x70\x3c\x0e\xf7\xd3\xfb\x48\x83\xf6\x83\xc5\x32\xc8\x8b\x2f\x8f\x7b\x82\x60\x04\xee\x73\xd1\x06\xed\x7f\xe5\xb2\xa6\x60\x5c\xab\x0f\x08\xe1\x09\x20\xd4\xa0\x3a\x62\x93\x78\x8b\x9c\x80\x41\x74\x6e\x4b\x27\x80\xb0\x9f\xad\x8b\xc6\x65\xb3\x9f\xad\x8e\x17\x42\xec\x20\x9b\x6e\x89\xeb\x21\x96\xd4\x52\xe9\xb6\xf6\xbb\xf9\x14\x70\x5f\xfc\xeb\x22\x7d\xb5\xbb\x74\x37\x45\x67\xad\xa9\xd4\xb6\x96\xbb\xe6\x75\xa9\x1b\x38\x85\x0c\x2a\xf1\xb6\x2e\x6e\x6e\x66\xdf\xb7\x6e\xf8\x7d\x2d\x9b\x1b\x0f\x77\xc8\x34\xc9\x74\xbb\xa0\x91\xf3\x6c\x5d\xec\x6e\xab\xad\x7a\x5f\x24\x36\xf5\xd5\xdc\x48\xaa\xab\x6e\x92\x04\xe1\x46\x49\x76\x2c\x92\x00\x19\x92\x75\xb1\x75\x61\x11\x83\xdd\xeb\x2a\xef\x6f\x6d\xb8\xf7\x0e\xcd\x0c\x14\x69\x0a\x23\xcf\xbb\x90\x40\x24\x34\x58\xb0\x6a\x9d\x4a\x15\x33\x30\x18\x72\x10\xc2\xa1\xfb\xa9\xe3\x92\x01\x22\xc2\x69\xd0\x3b\x86\xbf\xbe\x1d\xc8\x3e\x2e\x6d\xb7\x75\xe9\xd9\xed\x29\x45\x39\x28\x38\xd1\xa4\x7c\x77\x03\xbe\xd6\xea\x71\x66\xde\xae\x40\xf6\x67\xd7\x27\x7e\xf2\x0c\x19\xf1\xc0\xeb\xfa\x7d\xb4\x38\xf3\x60\xee\x07\x51\x71\x9d\x27\xc0\xe7\x8b\x2b\xb0\x77\x3d\x52\x80\xf1\xed\xa4\xe1\x8a\xf3\xa1\xe1\x0b\xa4\x52\x60\xb4\xc2\xd6\x42\x63\x24\x3f\x22\x84\x98\x7d\x32\x2d\x20\x95\x4b\x92\x40\xd5\x07\x2a\x0a\x7f\x47\x7e\x98\xe2\x53\x92\x1f\xed\xbd\xc9\x97\xee\xcd\xa7\xc9\xcd\x57\xa0\xfb\x22\xe0\xf9\x01\xc4\x09\xa9\x33\xb9\x2f\x78\xa9\x0b\xf1\x6d\x0a\x73\x8e\x3c\x1e\xba\x07\x33\xb5\x9f\xe3\xfd\xad\xce\xe9\x9d\x22\xdf\x47\x3d\x09\x02\xcb\x03\x1d\x86\xe7\x01\x53\x85\x69\x94\x29\x2d\x5a\x18\xe0\x2f\x24\x34\x2c\x17\x80\x0f\xba\x5d\x77\x69\x2b\xa4\x9e\xc4\xaa\x9f\x16\xed\x6b\xbe\xa4\xb8\x45\xcd\x37\x0d\xa3\xf1\xbe\xf4\xba\xea\xbc\xf7\x7a\xfb\xc9\x1e\xee\xbb\xd6\xd4\x7d\xc7\x36\xee\xad\xbb\xe5\x79\xc7\x6a\x25\x9d\xf2\x0b\x96\x50\xe3\x8d\xfe\x55\x28\xaf\x84\xf7\x53\xb9\xdc\x55\x39\xf8\xeb\x8e\x42\x2b\xec\xee\x83\xed\xfd\x6d\x16\x4b\xc0\x56\x21\x91\xd5\x53\x09\xea\x6b\x04\xe9\x83\x94\x03\x95\x0c\x35\xa1\x8a\x97\xfa\xdf\x40\xdb\x88\xdb\x11\x78\x72\x12\xe0\xd6\x4a\xbe\x21\xfa\x86\xc2\xce\x20\x34\x67\xe9\x53\x80\x98\x69\x6e\x10\xf6\x41\xc2\xe8\x14\xbe\xbe\xed\x01\x6f\x83\x56\x68\xbf\x7c\x1b\x3f\xe3\x46\x21\x20\xdb\x23\x07\xc4\x14\xc7\x8e\x67\x65\xb1\xb0\xcf\xd6\xdf\x62\x9c\xe4\x6e\x38\x66\x80\xd0\x83\x84\xd0\xf0\x7a\xfa\x39\xfc\x64\x26\xd5\x7b\x93\xb5\x8c\xbb\xf6\x75\x29\xe3\xee\x56\x88\xbf\x2d\xff\xd4\x71\x5f\xb4\xaf\xfe\xd1\x24\x88\x1d\xfd\xbe\x6b\x0e\xf3\xce\x1d\x64\x0c\xdb\x99\x48\x37\xf5\x49\xa3\xe3\x79\x35\x05\xf1\x9d\x5c\x89\x32\xff\x21\x0c\xed\xa0\x0c\x2f\x49\x95\xb0\x3a\x36\xd5\xa4\xab\x06\xb7\xc0\x1b\xd1\x0c\x1c\x60\x28\x7f\x61\x1a\x19\x42\x3a\x07\xcb\x81\xc8\x36\x02\xfa\xdd\xf6\x40\x4d\x7e\xda\x03\xdd\x85\x35\xf8\x21\x86\xd0\x28\x89\x84\xcb\x36\x41\x6a\x0b\x36\x39\xb7\xbf\xe1\x54\x0d\x4e\x08\xfe\x36\xce\x47\x38\x58\xa5\xe0\x3d\x08\x0d\x3f\x92\x34\xde\x7e\x89\xbb\x3f\xb1\x76\x4f\xf3\x0c\x5f\x4e\xcc\x02\x72\x9c\x9f\xb1\xe1\xb6\x53\xed\x0a\x07\x6d\x71\x2a\xcd\xf0\x27\x70\x7e\x70\x9e\xe7\x93\xf1\x9c\xad\xcb\xbb\xf1\x09\x71\x1a\x87\x6c\x8c\x08\x3c\x6b\x43\x02\x2a\x58\x84\x9f\x47\xc4\xf7\x27\x38\xae\x2f\xe7\xb6\x18\x19\x7a\x8d\x0c\xe9\x10\xfb\xfb\xac\x5d\x31\xfa\x8c\x03\xf7\xe7\xed\x3a\x9e\xda\x75\xb4\x76\x8d\x61\x51\xbd\xf1\x3c\x30\x0b\xea\x63\x14\x07\xb9\x60\x28\x5f\xc5\x6d\x62\x4d\x7e\x7c\x7d\xec\x11\x6f\xe3\x31\x9e\x31\xcd\x6a\xa7\xdd\xbe\x82\xe9\xe4\x9c\xe7\x8c\xb8\x40\xc0\x02\x89\xff\xe5\x26\x84\x44\x20\xd7\x4f\x24\x6f\xc2\x76\x4c\x95\x7e\xd4\x51\x59\x1a\x90\x53\x0b\x11\x7a\x4d\x3e\xe3\x72\xdd\xb4\x54\x76\xff\x45\x12\xd8\x67\xfc\x84\xed\xe2\x5c\x2a\xa7\x66\xbd\xfa\xfd\x3c\xa6\xfc\xcc\xf0\x6a\x22\xd1\xc9\x7f\x92\x4d\xfa\x52\x11\xf4\xdb\x0b\x64\xe4\xc9\x26\x35\xb1\xd4\x2b\x79\x09\xe1\x14\x83\x1e\x13\xcb\xbd\x4f\x39\xa8\x9c\x6e\xb0\x6e\x54\xdd\xe9\x21\xaf\x21\x95\xb1\x77\x0b\xc1\x06\xdf\xd1\xdc\xc2\x1f\x33\x0d\xbd\xd4\x07\xc1\x52\xef\x3e\xd0\xbc\x4b\x96\x55\xf3\xde\xbc\x1b\x92\x1d\xf0\xfd\x0d\x49\x0f\x5c\xba\x13\xe3\x2d\xd1\x61\x94\xc4\x67\xeb\x32\xeb\x7d\x31\xb3\x75\x56\x77\x5b\x08\xb4\xb1\x01\xfa\x7d\x41\x45\x86\x8e\xf7\xb7\x02\x72\x28\x5b\x5b\xbd\xfb\xbe\x4b\xe3\x41\xef\x6f\xdd\x72\x50\x10\x23\x62\x42\x50\x50\x64\x2f\x8a\xcf\x58\x4a\xd0\x04\x17\xc7\x19\x4a\x48\x48\x4a\x48\x4b\x41\xc2\x85\xba\xca\x60\xd2\x61\x4f\xad\x20\x64\xdf\xcc\xdd\x7c\x38\xe8\x46\xce\x72\xeb\x27\x36\xbe\x43\xd2\x03\xeb\x6e\x66\xc1\xe6\x1e\xc4\x7c\x23\xb0\x28\xad\x30\xdc\xb2\x93\x72\x22\x20\x86\x84\xc2\x28\x42\x8f\x76\x25\xe0\xa4\x9c\x7a\x13\x16\x10\x5f\x70\x5a\x65\xfa\x62\x05\x14\x8c\x0b\x19\xce\x09\x42\x25\x57\x2d\x78\x56\x87\xd1\x14\x32\x4d\x91\xf3\xce\x28\xa0\x2d\xb7\x7b\x8f\x1a\x00\xff\xaf\x07\xc1\x4e\xc1\x54\x03\x17\xd0\x60\xfc\x18\x44\xfc\x59\x8a\x55\x46\xe2\x9f\x3e\x77\xf7\x53\x11\x81\xf0\x67\x08\x73\x0f\x9c\xb3\x80\x06\x6e\x19\x19\x93\x57\x0f\x72\xad\x7a\x0d\xfc\x00\x3a\xa3\x2e\x0b\xbc\x0e\xfc\x86\xb0\x0a\x80\x65\x80\x1a\x0d\x9f\xb6\x81\x15\xcd\x29\xdf\x2b\x68\x39\x6b\x0a\xb8\x74\x21\x92\xea\x58\x94\x31\x54\x71\xcf\xc0\xc2\x7a\x63\x9c\xb5\x48\xc4\xa3\x88\xad\xce\x94\xc3\x5a\xa5\xb6\x79\xfb\x2c\x8e\x6b\x63\xa6\x5e\xdd\x9f\xea\x08\x94\x79\xd7\xa2\x5c\x1e\xf2\x7c\xee\x6a\xf8\x17\xa2\x0e\xc6\x71\x7e\x9e\x1b\x62\x47\x1e\x07\x41\x35\x49\x75\x94\x4d\x0a\x4a\x74\xd6\xa5\x33\x3c\x47\xb0\xc1\xf0\xe5\xbb\xe0\x47\x01\x55\x7c\xd1\x95\x61\x1d\x29\xe8\xca\x32\xca\xbd\x86\x5a\xf9\xcc\xab\x48\x8d\x3f\xeb\xbd\x97\xd5\x7f\xad\x7d\x5d\x04\xf9\x7b\xef\xe9\x2a\xb9\xe2\x40\xa8\x7e\x64\x37\x39\xf2\xde\x5b\x02\x8a\x35\x71\x08\xd0\x32\xe9\x76\xa3\xc2\x6b\x5b\x97\xd9\x39\xba\x5a\xbd\x8b\x0f\xb2\x6b\x1e\xeb\xc8\xe3\xb3\x7e\x16\xc2\xe8\x58\x5f\xe6\x85\x97\xb4\x89\xb9\x2c\x7f\x14\xc3\x9a\x81\xe9\x9f\xf5\x1e\x07\xd7\x96\xe2\x97\x23\x76\x59\x71\x18\x8e\x3a\x4f\x75\x9c\x67\xff\xe9\xbc\xf6\x9b\xfc\xf6\x12\x76\xfe\xed\x05\x2f\xf3\xc1\xd7\x9e\x69\xd4\xb2\x8e\xb9\xc1\x06\xcb\xe3\xfd\xad\x83\xbe\x68\x6c\xbd\xa4\x3e\xb7\xa5\xe7\xd4\xe7\xba\x48\xb3\xfb\x52\xe6\x2a\x05\x8a\xf1\xeb\xc2\x2f\x65\x15\x6a\xda\xb9\x3f\xd9\xb6\x49\xa2\xf1\xbb\x62\x85\x42\xaa\x13\x74\x96\xc6\x80\xac\x4f\x3c\xfe\x3a\xda\x5c\x87\x91\x79\xcc\x67\x86\xf6\xfe\x26\xa5\xbb\x13\xe8\x5d\x0b\x22\x15\x9a\x74\xae\xcb\x50\xb7\xcd\xd6\x21\x1c\x3f\xc5\x68\xfa\xc9\xec\x69\x62\x06\xfa\x7e\xdf\xfc\x61\x5f\xb7\x1e\x5a\x6d\x8f\x27\x2c\x78\xc2\xdb\x5b\x03\x7d\x56\x9e\x6e\x00\xca\xba\xb4\x76\x87\xee\xc5\xc4\x12\xae\xeb\x52\x3b\xfe\x50\x01\x8f\xb6\xcf\xcd\xe6\x0b\x5b\x4d\x88\xcb\x18\x38\xc2\x92\x5f\x6d\xe9\x79\x13\x69\xc9\x4f\x33\xdb\x26\x0c\x74\xf6\xbb\xd6\xbe\x4a\x6e\x1b\xf5\xbb\xca\xd6\x7b\x92\x51\x56\xb4\xaf\x28\xfc\x5d\x3b\x67\x2e\x16\x28\x85\xa6\x84\x5e\x44\x6a\x11\xea\x6f\x14\x87\x30\xd6\x2e\x5d\xb3\xcd\x22\xc1\xfd\x47\x86\xaf\xc9\x6f\xf7\x65\xca\xea\x9d\x72\xf3\x99\x65\x66\x4a\x75\xcc\xcc\x6a\x6b\xbf\x49\x6d\xf9\xb6\x0d\xd0\x0a\x6f\x43\x41\xe6\x9b\xfb\x2e\x79\x06\x0d\xef\x32\xe6\xfb\xdb\x6c\xfe\xea\xcb\x1d\x35\x1a\xa8\x6f\xf3\x23\xdd\x75\xc7\x80\xaa\x1a\x3d\x61\x9c\x3d\x61\x44\x4f\xd0\x18\x1c\x6a\xee\xb5\xb3\xd8\xbd\xd6\x6b\x68\x94\x6f\x4f\x83\x03\x89\x88\xd7\xe1\x71\x91\x5e\xf8\xde\xf7\xd6\xc7\x2a\x22\x1b\xea\x40\xd7\x5a\x37\xb4\xbb\xdf\xcc\xb8\x97\xb6\xb1\x88\x7e\x15\xb1\x4d\x7d\xf0\x82\x26\xbd\x16\xb9\xcf\xb9\x49\x4e\x12\x66\x1a\xa6\xc3\xfb\x32\xda\xaa\x7d\xde\xee\xee\x61\x60\x66\x22\xc1\xe5\x08\x8b\x17\x3a\x41\x30\x55\x22\x70\x7f\x5e\xb5\x5d\x57\xd5\x7e\xaf\xc3\xd7\xb4\xa5\x8e\x55\x86\xde\xad\x0f\x9f\x61\xdc\xa3\x00\xd3\x56\x2a\xc5\xff\xae\xf1\xb7\xe1\x6f\x2d\xf3\xe2\xad\xce\x28\x17\xb8\xab\xf7\xa9\xee\xbd\x8b\x64\xc1\x4a\xc5\x0b\xff\xb9\xe9\xd8\x40\xda\x30\x3b\x3e\xa7\x37\xf9\x1c\x71\x46\xe5\x15\x9a\x0f\x4c\xb8\x47\xf3\x4e\x32\x98\x5a\xd3\xd5\x6c\xc7\xd5\x96\x98\x49\x6e\x1f\xa7\x92\x8b\x04\x19\x2d\xbc\x34\x3c\x82\xaf\x42\x58\x0b\x17\x94\xf0\x9e\x77\xd8\xcf\xb7\x83\x80\x12\x7f\x35\xc4\x5b\x74\x27\xc1\x37\x62\x93\xfe\xb3\x62\x38\xd1\x9d\x44\x41\x84\xf0\x67\x2b\x1b\xaa\xd6\xea\xd8\xdc\x7a\xa9\x63\x5d\xac\xcc\xfb\xe2\x4d\x67\xc5\xb6\xea\x73\xf2\x06\x79\xec\xb9\xaa\xc8\xdd\xfb\xa4\xec\xd0\x44\x03\xbd\xee\x7d\x91\xac\xab\xf4\x72\x9f\x73\x1d\xfb\x88\x37\xaa\x07\xe2\x76\xf7\x65\xf4\xb5\xea\xdc\x6b\xa7\xe0\xb0\x96\xfb\xa2\x65\x95\x36\x6e\x3b\x08\x84\x41\xa4\x85\xd5\xa6\xa5\xd2\x08\xc0\xb0\xa0\xf6\xb0\x03\xf2\x97\x0a\x6e\x89\x85\x6c\x21\x88\x9d\x2f\xa5\xa1\x4f\xbb\x9d\x44\x3e\x1a\x1e\x12\x9c\xd3\x0d\x96\xce\xba\xb4\x79\x5f\xe6\xc4\x5e\x3e\x46\xa4\x22\x04\x0d\xbd\x86\x45\x90\x25\x59\x20\xcc\xa9\x6d\xa6\xc9\x94\xa4\x96\x8b\x3f\x07\x02\x66\xac\xa2\x44\xb5\xf3\x4c\xe4\x2a\xa6\x42\x02\x76\x69\xfe\x8a\x2a\xec\xb5\x3d\xa7\x19\xcc\x36\xdf\xea\xc1\x62\x22\x23\x12\x66\x61\x58\x2e\xd8\x38\x06\x8c\x6e\x0d\x22\x1e\x9f\xa3\xee\xcb\x44\xa1\x9a\xdf\xe4\x46\x6a\xde\x1d\x56\x0c\xfa\x50\xf9\x16\x77\xda\x09\x86\x75\x2b\x4d\xfb\x39\xfa\x63\xde\xf0\x97\x8e\xd5\xb5\xca\xa7\xa3\x1f\x95\xec\xfa\xfd\xac\xda\x65\x6d\xcd\x4d\xde\x56\x93\x61\x76\x07\xcb\x01\x91\x8c\x0d\x53\xd5\xdd\x87\x92\x36\xe6\xc7\xac\xb8\x37\x4f\xcf\x10\xe5\xb8\x07\xd8\x59\xd3\xc9\x7e\xc3\xd6\xd7\x14\x08\xde\x9e\x2a\xde\xcd\x4c\xda\x52\xcb\x47\x6b\x49\xe5\xb6\x0a\xb5\xb7\x61\x19\x80\xe1\x9e\x8a\x04\x8b\x86\xea\x67\x92\x87\xe3\x05\xb3\xf0\x00\x25\x60\xfc\x45\x85\xaa\xce\xfa\xae\xcb\x6f\x29\xb9\xa3\x14\x98\xdc\xde\x16\x75\xac\x06\x3d\xd0\xca\x67\x08\x87\xdf\x2c\x9e\xc1\xe2\x45\xbb\xd1\x6c\x92\x2a\xc9\xd8\x40\x8a\x9e\xd3\xc0\x6f\x97\x80\x74\x48\xbf\xe1\x49\xdc\x02\xf7\x67\x01\x27\xd2\x0a\x85\x59\x3e\xcc\x78\x7d\x18\x3d\xe5\xb3\x43\xdb\xb4\xde\x22\x7b\xa8\xde\xec\x62\x58\xe7\x10\xe8\xc8\x2b\x98\xc8\x05\x89\x02\xbb\x2f\x9a\xed\x5c\xd7\x5a\xac\x6b\xe5\x69\x5d\x43\xf4\x9d\x73\x16\x64\x7b\x59\xc7\x34\xc0\x1f\x21\x36\x56\x37\x07\xea\x0c\xf6\x78\x1d\x09\x98\xd7\x6b\x3d\x42\x49\xfe\x42\x85\x4e\xa6\x4a\x43\xef\xed\x8a\x15\x02\x5f\x65\xb4\xd9\x61\xf7\x0f\xfa\x12\x4b\x1d\x27\x5b\x68\x5e\x75\x6e\x53\x93\x8a\xad\xb3\x6f\x9c\x3b\x7d\x1d\xab\x6d\xf5\x09\x1e\xb2\x71\x63\xdc\x65\x8c\xf5\x0b\x02\xd9\xff\x29\xed\xa5\xd2\xfa\xb7\x17\xcc\xe8\x93\x61\xd4\x4b\x4d\xcd\xf2\x7e\x92\x6b\x92\x1d\x58\x1e\xd4\x0c\x0a\x7e\xbf\x88\x3a\xb4\xe7\xe1\x57\xdc\x90\xb4\x9e\xf4\x62\x57\x80\x38\x72\x84\x1d\xda\xb5\xb6\x93\xea\xa7\xd4\x28\x25\xf1\x49\x83\xb2\x29\x24\xcf\x80\x3a\x0b\x70\x06\x75\x23\xae\x60\x13\x90\xbf\xee\x0a\xe6\x26\x4b\x22\xab\x40\x85\x8b\xa1\x15\x3d\xf4\x0a\xdf\x2a\x83\xb7\xef\x6f\x32\x86\x5c\x0f\xd2\x1e\x0f\x72\x2c\x24\x41\xd6\xc7\x43\xf4\x24\xed\x46\x56\xa0\x3f\xf1\x04\x55\x2c\x0d\x68\xcd\xd6\x19\x0b\x3e\xc9\xdf\x88\x0f\x52\x82\x4a\x80\x3c\x22\x55\x84\xb0\x74\x81\xfe\xca\x40\x94\xa2\x25\x44\x1b\x0f\x9f\xde\xeb\xda\x1b\xc9\x32\xd5\x5d\xbd\x0d\x31\xeb\xbc\x4b\x1a\xa9\x27\xb1\x43\x48\xe4\xea\x4d\x12\x5a\x38\x72\xa0\x43\xec\x83\x74\x5c\x1c\x53\x07\x44\x5f\x30\x8c\x87\x2f\x9e\x63\x6e\x45\x92\x36\x41\xed\x81\xcf\x9f\x02\x26\x00\x9f\x26\xdb\x85\x1c\x95\x50\x72\xd2\x0e\xa7\x78\xd6\xe4\x76\x0a\x79\x1e\x25\x68\x6d\x4b\xa8\x5d\xa3\x4e\x9c\xbc\x87\x9c\xbd\x67\x39\x58\x9e\x67\xd1\x62\x75\x24\xd1\xc3\x1d\x43\x8a\x3c\x48\x44\xa6\xe5\x9c\x8d\x00\xf6\x58\xdb\x64\x98\x0c\xcf\x1b\x6b\x46\x07\x9f\x93\x37\x51\x82\x65\x34\x13\x38\x37\xfa\x55\xc4\x28\x21\xd2\xc5\x2c\x64\x6d\x34\x72\xab\xaf\xe6\x98\x44\xfd\x64\x8d\xc3\x99\x56\x56\x18\x91\x25\x2d\x27\x51\xef\x19\xf9\x9b\x37\x4c\x7f\xa2\xa7\x1c\x5e\xcf\x94\x35\x85\x34\x16\x49\xef\x48\x08\x62\xbc\x65\x5b\x7b\xdf\x71\x1b\x02\xe9\x32\xb7\x6b\xad\x8d\x20\x96\xf6\x25\xb7\x95\xf9\x3b\x3a\x85\x4f\x23\x2c\xc3\x05\xbf\xc0\x4f\x3b\xc5\xd0\x5d\xc0\xa9\xd6\xa0\xfe\xe7\x9d\xa2\xfd\x95\x4e\x21\xb3\x0e\xef\x15\xb7\x9f\x74\x8b\x97\x5e\xd1\xfe\x6a\xaf\x40\x80\x04\xc9\x19\xa8\x56\x46\x7d\x8a\x92\x73\x02\x91\xd5\x9f\xf5\x0c\x95\xde\xd2\x98\xe3\x2e\x04\x1e\xe2\x85\xb8\xa3\x5c\xae\x5e\xc1\xa8\x3d\xdb\x11\xe1\xdb\xb4\xe0\x9c\x35\xf1\xc5\xa3\x35\xbd\x2b\xb5\x16\xc1\x59\x65\x28\xc1\xa6\x42\x3e\x7b\xa9\x11\x07\x6d\x91\x34\xcf\x3c\x23\xcc\xa0\xcf\x26\xa2\x49\xca\x6a\xc4\xec\x25\xa6\x20\x42\x2d\xfe\x93\xc2\x7e\xfd\xb5\xda\xe2\x05\x27\xfb\xec\x1e\xd7\xd9\x53\xc3\xda\x87\xb2\x01\x65\x7d\x08\xe6\x30\x34\x0f\x1e\xe4\xa2\x31\x2c\x92\x26\xf0\xa0\x3a\x93\xe5\x54\x7b\xb2\x4c\xbb\x14\x6c\x3f\xea\xee\x51\xb6\x9a\x1a\xf4\xa5\x24\xef\x2d\xcd\xe1\xfe\xff\x1c\x0c\x44\x01\x88\x32\xde\xdf\x4a\x6f\xa9\x22\xb6\x85\x71\x63\x89\xdc\xcd\x92\x25\x55\x50\xdd\x1b\xfb\x46\x55\x5a\x10\x8d\x16\x87\x36\x6f\x22\x6d\x14\x3d\x41\x61\x81\xc5\x20\x61\xc9\x0b\x15\xf6\x27\x26\x22\x6a\x8c\x01\x4d\x61\x03\xb1\x32\xe4\x24\xc0\x00\x99\xe7\x2d\x24\x58\x4c\x1f\xe5\x77\x9c\x26\xda\xb7\x90\x3c\x2d\xa9\x3e\xac\x55\x09\x92\x99\x6f\x67\x3a\x81\x27\x94\x73\x75\xe9\xa7\x5e\x4f\x57\xc4\xda\x36\xce\x5c\x62\x7b\xd7\x28\x7f\x02\xa5\xfc\x3e\xe4\xe4\x09\xec\xde\x26\x45\x12\xb8\x59\x3a\x75\xbb\x7a\x99\x1b\xf2\xa2\xb2\x2e\xb3\xdd\xe1\x8a\x0b\x0c\x20\x39\xcf\x58\x36\xd4\x86\xb1\x4a\x65\x91\x6c\x6b\x83\x17\x8f\xb5\x75\x94\x44\xe2\x40\x80\x48\x91\xa0\x65\x2a\x77\x47\xc2\xaf\xfb\xa9\xef\x22\xe3\x86\x0c\xe0\xd2\x59\x75\xd7\xf7\xa5\x30\x1f\xa8\xa9\xe6\xbb\xcc\xbe\xf6\x1e\x6c\xec\x5d\xcb\x5d\x8c\x78\x18\xc8\x62\x26\x3b\xb3\x87\x24\xde\x71\xbb\x80\x56\x7e\xf1\x81\x98\x13\xac\x68\x73\x2b\x1a\x1e\x43\xbe\x5b\x06\xd5\x9c\x09\xf4\xbf\x64\x17\xb0\x78\x35\xb2\x20\x0b\xca\x9f\x26\x76\xf4\x03\x16\xff\xe2\x87\x42\x09\xb0\xa5\x86\x02\x13\xb7\xea\x10\xc0\xe9\x13\xb1\x45\x68\x4b\x8a\xa4\xaa\x97\x48\x88\xb7\x86\xaf\x0f\x23\x95\x0e\xc3\xef\xbe\xb4\x52\x01\xcf\xd5\x7a\x97\x2a\xb7\x9d\xb4\xd4\x20\x60\x16\x09\x76\x29\x2b\xa9\xb6\xbd\x49\x6a\x80\x62\x6a\xf6\x9b\xd2\x3e\xd2\x84\x90\x87\x11\x00\x1a\xc0\x0d\xb7\xe9\x6a\x7b\x60\xe7\x6b\x3b\xf8\x41\xdc\xd6\xc2\x68\x66\x23\x4d\x34\x0e\xc3\x04\xe1\xf3\x59\x43\xb4\x80\x95\x7b\x23\x89\xcf\xba\x15\xba\x79\xd0\x94\xf7\x19\x69\x46\xbd\x0e\x8d\xca\x76\x4a\x46\x08\xa7\x14\xd1\xa0\xb9\x1a\x03\xf2\x15\xd5\xd7\x3f\x81\x24\x86\x0f\x1b\x60\x91\x99\xf3\x84\xf0\x23\x75\x39\x91\x84\x04\x2b\xa9\x5c\xd4\xf9\xcd\x92\x7b\x0d\x6a\x08\x30\xfb\x59\xdb\xaa\xc5\x57\x35\x29\x49\xd3\x15\xe3\xf8\x4f\x99\xd1\x5e\x70\x2f\xbf\xbd\x00\xc7\x9f\x71\x2f\xb5\x8e\xd4\x46\x01\xd9\x99\xf9\xab\x98\x88\xb6\xff\xa0\x5a\x76\xbd\x88\x93\xdd\xbe\xe8\xa4\x9f\x87\x64\x24\xb4\xf8\xbd\xf1\xbf\xd5\xd4\x61\x52\x84\xea\x36\xcd\xce\x0c\x37\xb7\x37\x76\x66\x68\x32\x93\x62\xb5\x41\x97\xe3\x64\x93\x4e\x51\x9c\xca\x5a\x12\xf9\x76\xf9\x7e\xd7\x01\x0b\xf1\x43\xdd\xd2\x19\x11\x2f\x58\x5d\xca\x99\x70\xf5\x39\x15\xf9\x3b\x2d\x3b\xe6\xae\x44\xe7\x8e\xae\x46\xa0\x51\xbe\xd5\x9b\xcf\x0f\x90\x57\x6b\x00\x9e\x50\xba\x2c\x0c\x9d\x70\x55\x7c\x81\x1b\x25\xcd\x06\xc1\x16\xbf\xea\x49\x07\xcf\x9c\x07\xe8\xaf\x87\xdf\x9a\x60\x09\xc0\x74\x3a\x53\x6b\x7b\x45\x42\x71\x4a\x1a\xe3\x60\x91\x0e\x64\x82\x50\x4e\x00\x66\x66\xf0\xf2\x30\xb3\xa7\x2c\x1b\x63\xa9\x50\x52\x28\x02\x58\xee\xdc\xf3\x21\x15\x83\xc2\xb5\x02\xe9\x85\x36\x8e\x36\x92\xe2\xdf\x45\xc7\xa1\xa4\x04\x8b\xf8\x21\x26\xee\x9d\x72\x6f\x23\x29\x8e\x56\x12\x8e\x85\x98\xb6\x1b\x37\x23\x59\x03\x37\xd6\xc0\x13\xa5\x7e\x68\x68\xc2\x7f\xd5\xc1\x5e\x30\x24\xbf\xfd\x4c\x76\x43\x72\x09\x8a\x81\xa7\x37\xf9\xcf\x7e\xe7\x4f\xbd\xea\xfd\xad\x66\x4b\x26\x75\x1b\xbd\xa7\xee\x0e\x46\x51\x30\x02\x92\x97\x59\x4a\xb0\x16\x02\x68\x8d\x16\x9e\x2c\x22\x6b\x44\xb4\x72\x65\x65\x63\x0c\x78\xaf\x6d\x06\x3b\x35\x4b\x46\xc3\x3d\x85\x9d\x05\xe6\x52\xb8\x55\x15\x34\x9b\xb7\x7f\xe6\xb0\xd9\x7c\x69\x16\x9d\x6b\xaf\x90\x71\x68\x49\x40\x5f\xe5\x5e\x48\x75\x7f\x57\xd2\xec\x2f\x03\x17\x99\x60\xf5\xfe\x94\x81\x7c\x9d\xed\x67\xc3\xe0\x9f\x3b\x0a\x6e\xff\xab\x86\xc1\x5f\x1a\x05\xaf\x79\x95\x57\xb8\x7a\xc9\x97\xf8\x0c\xaa\xa5\xf3\xbd\xe7\x20\x07\x21\x8f\x1b\xe8\x63\xd6\xa5\x95\x27\x3a\x99\x65\x06\x13\x1a\x78\x51\x82\x80\x86\xfc\x33\xa4\x9f\x79\x62\x98\x9f\x60\x82\x23\xc0\xe5\x6f\x3c\x3d\xc1\x91\x7f\xe6\xfc\xb7\xdf\x77\x81\x32\x32\x30\xab\x6b\x29\x63\xa3\xf4\x50\xdf\x97\x9e\xa8\xa4\xef\xc6\x9d\x49\x0f\xba\xc5\x13\xe6\x7c\xb2\xaf\x80\x9a\xb2\x95\x1f\xb1\xe7\xdd\x97\xc9\xa1\x37\x2c\x98\x13\x4a\x04\x9d\x8c\xb2\xf5\xeb\x32\xdc\xfc\x6d\xb4\x26\xc4\x30\x29\x1c\x08\x7f\x14\xf9\x56\xef\xb3\xea\xe7\x2c\x7c\x9f\x68\x02\x58\x9e\x9b\x5b\xb6\xad\xdf\x76\x01\x2a\xa2\x82\x64\xa1\xcf\xa4\x6d\x35\xcd\x74\x8a\xa0\xad\xd9\xa0\x81\xdb\xcc\x0f\x58\xa4\x75\x3f\xf8\x8f\xb2\xc4\xf4\x97\x82\xff\xdf\x2e\xba\x00\x71\x4b\xae\x80\x65\x28\xcf\xfd\xd4\xa9\x45\xb0\x66\xf8\x13\x94\x50\xed\x27\xe4\xc1\xa2\x6a\x2f\x32\xc3\x3b\x74\xb3\x33\x92\xac\x90\x8b\x9a\x07\x73\xc4\xc9\x0a\xe0\x41\xd9\x7d\xfe\x96\xcc\xe6\x61\xe6\xde\x73\x04\x6c\x09\x49\x64\xce\x01\xb9\x94\x79\x52\x85\xf8\x2c\x1a\xba\x0d\x69\x19\x72\xdd\x56\x4c\xf5\xee\xd7\x32\xa4\x29\x7c\x13\x3e\xa1\xdc\xbb\xcf\x09\x25\x24\x8b\x42\xb6\x9a\xf7\xc1\x78\x9b\x94\x88\x13\x30\x81\x21\x88\x74\x93\x7d\x04\x59\x6e\x4a\x77\x48\x22\x9a\x9f\x65\xb7\x4a\xeb\x1b\xcc\x9b\x6d\x90\xaa\xdd\xdd\xa6\x9e\x53\x8b\x2b\xf6\x84\x39\x4a\xce\x39\xce\x3d\x63\x91\xb9\xb7\x90\xd7\x05\xef\x00\x1d\xdb\xf7\xff\x2c\x8d\x86\xdb\xbf\x52\xa4\xe1\xdf\xa7\xd1\xd0\x5f\xf8\xad\x7e\xbb\x64\x5b\x66\xd7\xd4\x51\xc1\x07\xee\x56\x10\xbb\x4b\xf3\x0e\x8c\xea\x29\xb7\xd5\x5a\xe8\x0f\x94\x60\x82\x80\x18\x36\x59\x66\x97\x7e\x16\x44\x84\xca\xe0\xe5\x50\x88\x26\x92\xc4\x4b\xb7\x8b\x76\x57\x4e\xb9\xd7\x96\x40\x4b\xc1\xb8\x8f\xb4\x76\x50\xe8\x34\xdb\x85\x0c\x3c\x95\x64\xe0\x60\x82\xf1\xab\x1f\xe8\x85\x90\xe5\x05\x58\xe2\x5b\x88\xa7\x1d\x24\x29\x86\xfb\xbc\x84\x9b\xf3\x2d\xb8\x72\x10\x6a\xc5\xd7\x7d\x99\xc4\x58\xbb\x1b\x6a\x37\x70\xe9\x01\xf8\x64\x69\xd8\xce\x5a\x22\xd4\xbe\xc4\x92\x96\x0f\xbf\x75\x66\x9a\xf6\x85\x8a\x4e\x1c\x13\x69\xe2\x95\x63\xe0\x68\x63\x20\x50\x2a\x90\x24\x3a\xf3\x21\x3e\x7f\x41\x14\x4b\x4b\x4b\xdd\xef\x6a\x80\xfe\x05\xb9\x5c\xbe\x70\x94\xb7\x7f\xab\x1b\x83\xb3\xe2\x4e\xa2\x24\xe2\x65\x44\x0f\xbf\x46\x5b\x7d\x78\xd7\x14\x99\x10\xd9\xbd\x5b\x23\x98\xd7\x82\x12\xa4\x09\x03\x4d\x20\xcf\xbd\x98\xff\x27\x25\x05\x96\x1a\x04\x41\x8b\x18\x68\x20\x52\xed\xc8\xa1\x74\x4b\x5a\x6e\x47\xef\xa9\xe6\xa3\xf6\x60\xb6\xf0\xee\xce\xea\x01\xa5\x22\x6e\x69\x60\x57\x6b\xc4\x65\xfc\xad\x43\x75\x57\x46\xc6\x51\x52\x52\x76\xb7\xd3\x92\x96\x34\x0e\xc4\x8b\x74\x83\xd2\xdf\x84\x59\xa6\x29\x4a\x8a\x35\xa2\x74\x1a\x40\x78\x64\xc4\x0c\xd6\x1e\x4d\xde\x71\x2c\x5a\x23\xc0\xbe\x2f\x54\xbc\x81\xe8\x50\x93\x1b\x75\x88\x20\x43\x24\xad\x24\x28\x13\xb9\x73\x3e\xc7\x11\x1f\xe7\xcf\xe7\x7e\x3c\x70\x37\x94\x5e\x55\xf8\xe2\xa2\x87\x12\x1f\xf4\x55\xee\xa4\xbf\x02\x38\x5e\xb8\x15\x3e\x28\xa4\xcc\xe1\x0d\xa1\xbb\x2f\x3a\xb3\x40\xe7\xf8\xa4\x12\xc7\x57\xd0\x16\x83\x7f\x58\xd5\x80\x02\x82\x0a\xf6\x07\xd0\x7b\x10\xf4\xda\xb6\x28\xbe\xc8\x33\x0f\xad\xb1\x2a\x22\x88\x80\x51\xcb\x93\xeb\xb6\x34\x10\xab\x64\x7b\xd4\x6c\x91\x1e\xcc\x7d\x71\x3b\x95\xb0\x74\x80\x32\xb9\x95\xcd\x5d\x7f\x24\x94\xb2\x11\x9a\x6a\x3d\xcd\xbc\xf9\x59\x5a\xb6\xeb\xbc\xfb\x79\x53\x00\xf1\x83\xe1\xd6\x36\xbf\x29\xbf\xa7\xc0\x5b\xf9\x8d\xdc\x0e\xde\xd7\xf5\x40\x9b\x22\x17\x5e\xf7\x69\xde\x06\x78\xee\x34\xcb\x45\xb4\x5e\xde\x61\x28\xb6\xb2\xd5\xde\x52\xed\x3e\x2e\xa6\x0f\x28\xdd\x16\xff\xc5\xff\x01\x2d\xe1\x2a\x5f\xf0\x5f\xfc\x26\xbf\xfd\xe3\xe5\x1d\xfd\x5c\xc5\x46\x2a\x09\x70\x3b\x4a\x24\x42\xbc\x0f\x81\x1a\x96\x9f\x08\xa9\xea\x41\x48\x46\x1d\x18\xd9\x17\x73\x5b\xbf\xa1\xea\xa6\x81\x80\x40\x77\xe8\x62\x82\xf3\x05\x50\x4a\x79\x22\x85\x07\xb5\xbc\x5e\xe0\x5e\x95\x98\x69\x74\x24\xa4\xf5\x74\x6b\x36\x52\xed\x73\xaf\xd3\x2d\x27\x1f\xa4\xb5\xbc\xbf\xf5\xdc\x52\xcd\xba\x07\x33\xad\xe4\x10\xc9\xcd\xe7\x34\xdc\xdb\xe6\x9e\x14\x79\xac\x38\x8c\xe8\xcc\x95\x0e\x0a\xde\x28\x6a\x7b\x00\xc7\x64\x20\x6f\x75\x3b\x29\xdb\x84\x85\x87\xa0\xab\x93\x61\x00\x6e\xa8\xe6\xbd\x23\x44\x8e\x88\xe0\x01\xb4\x1b\x56\xfe\x49\x43\xea\x00\x57\x63\x67\xdd\x52\x75\x73\x6f\x87\xaa\x24\x62\xb2\x09\x24\x69\x07\x9c\xca\xde\x8e\x31\x48\x57\xe9\x2b\x1c\x03\xa4\xca\xea\xc8\xaf\x86\xda\x0b\x2d\xd6\x6f\xaf\x1a\x22\xcf\x3c\x80\x33\x54\x2c\x6c\x94\x75\xf1\x3f\x81\x47\x2f\x3e\xed\xba\x07\x56\xfc\xee\x95\xea\x39\x00\x4c\xef\x96\x93\x76\x3a\xd6\x36\x98\x2c\x16\x21\x47\x22\x62\x9d\x07\x82\x62\xf5\x40\x64\x0f\xd5\xf7\xa8\x6b\x01\xcd\x20\x14\xda\xb5\x43\xbc\x5d\x9e\xaf\x42\xf1\x76\xed\xc8\x72\xf9\x55\x90\x4e\x60\xf4\x58\x71\x4a\x09\x01\xd8\xbe\x43\xd9\x34\x20\xae\x72\x84\xa0\xcb\x20\xf1\x51\xe1\x85\x7a\xb4\x3a\x6e\x1c\x35\x54\xe5\xf8\xf0\x34\xb7\x2f\x1e\xc7\x38\xcd\xfd\xc1\x6b\x04\x64\xb4\x94\x20\x03\x0d\xa4\x47\x29\xa9\x23\x5b\x2f\xd4\xd3\xd4\x8e\xa8\xb6\x82\x6d\x0a\x61\x3d\x3e\x3b\x80\x90\x65\x5f\xa0\x07\xc4\x3a\x87\x82\x6d\xd0\xc6\x67\x0b\xee\x91\xe3\x22\x8d\x8e\xf2\xbc\xde\xdc\x67\xa0\x99\xba\xaf\xf1\x1c\x51\x06\x8a\xc3\x9e\x2e\x78\x7b\x5c\xb1\xf1\x8a\x04\x09\x5e\x4a\x41\xd7\x35\x07\x1f\x74\x8f\x74\x6b\xa8\x43\x7f\xbc\x2e\x9d\xff\x9f\x5c\x79\x10\xfc\xd2\x03\xa8\x7f\x76\xa8\xdf\xf7\xb8\x16\x7c\xa7\xe7\x3b\x38\x96\xf3\xd5\x07\x81\x2a\x74\xb2\xdd\x56\x3d\xc8\x00\xb4\xb6\x72\x2f\x85\xdc\x3f\xcb\xf9\xe5\xf9\x87\xdb\xcb\x2f\xee\x62\x82\x44\x28\x88\x85\x8e\x60\x1a\xe2\xf4\x7a\x72\xad\xf7\xce\x14\xb8\xb0\x64\x66\x2a\x95\x7f\x4f\x2d\xdf\x27\x2a\x82\x8b\x53\x80\x15\x86\x33\xcc\x70\x14\x55\x15\xef\xcc\x3a\xfc\x5f\x84\x8e\xf0\x2b\xa6\x09\xd8\x3c\x7d\x87\xf4\x96\xaf\xe4\xbd\x84\x7e\x56\x3e\x3d\xea\x3f\x7f\x23\xb7\x7f\xde\x9d\x80\xf8\xe1\xdf\xdf\x24\x5f\x4c\x83\xaf\xd5\x1a\x2f\xc8\xf6\xa7\xa0\x23\x08\xa7\x2e\x75\x98\x5c\x06\xa8\x1c\x56\x4a\xe4\x94\x3c\x7c\xfd\xcc\x27\x41\x44\xd6\xb2\xc1\x12\x18\x33\x28\xa8\xee\xbe\xf4\x96\x32\xb0\x04\x9f\x0b\xef\x17\x77\x38\xbe\xcf\x24\x6a\x7e\xc1\x6d\x3f\x33\xee\xb6\x91\x5a\x69\x5b\x05\x80\x17\x08\x7b\x64\xec\x33\x66\x24\x9a\x7c\x6d\x40\x55\x12\x7e\x46\xde\xe1\xa1\xe5\xf4\xd7\xbd\xaf\xfb\xd2\x9b\xbe\xbf\xcd\x5a\xdd\x25\x59\x7b\x0f\x7d\xf9\x9e\x90\xd5\xd5\x50\x86\x6c\xe7\x9d\x44\x3b\xf5\x36\xd6\xa5\xb7\x71\x87\xc2\x0f\xee\xe5\x2f\xbb\x71\xe3\xfb\x64\x85\xe6\x57\x24\xf0\x1f\x7f\xad\x60\x2b\x53\x9f\xb5\x8b\xd5\xfd\x2a\x2e\x61\x65\x1d\x7a\x6f\x25\xc9\xc4\x06\x76\x4f\x51\xd9\x96\x06\x25\x64\xb3\x1f\x1a\x95\x0a\x7d\x39\xdb\x96\x02\x98\x92\x3c\x19\x67\x75\xd4\x54\x81\xa5\xbd\x6c\xbf\xd3\xf4\x53\x26\xc4\x6c\x2b\xcd\x5d\x90\x72\x5d\x71\x67\x84\x83\xd1\x54\xf8\x50\x04\x47\xcd\x6f\x75\xf5\xbb\x7e\x44\x82\x6e\xbf\x2b\x14\x34\xbe\x0f\xcb\x6b\xfe\x99\xe6\x89\xb8\x5f\x34\x58\x6a\x40\x82\xd5\x22\x14\xde\x8f\x75\x25\x74\xc3\x17\x2b\x07\x94\x47\x32\x44\xe3\x61\x04\x9a\x92\xd5\x0f\x9f\x16\xe5\x0a\xb0\x85\x32\xb3\xbe\x0c\xe8\x2b\xd3\xc1\x13\xcc\x58\x11\xef\x27\x99\x30\x27\x17\x84\xfe\xa9\x2c\xde\x23\xf6\xdd\x2c\x0d\xae\x29\x14\x22\x65\x79\x9f\x9d\xfd\x9d\x90\x93\xdc\xae\x57\x38\x89\xcc\x1c\xc2\x5a\xac\x44\x1a\x40\xd0\xad\xa5\x49\x4f\x0e\x8c\x02\x07\x7c\x64\xcd\xb7\x2b\x6b\x38\xec\xd4\x37\x11\x1b\x81\x8e\xa0\xaf\x27\x23\xaa\x02\xf3\x69\x68\xb2\x53\x6b\xf0\x71\xc0\x68\x15\x64\xcb\xb5\x0e\xbf\x85\xda\x52\x03\xaf\xa3\x48\x43\xc8\x1d\xaa\xd3\x42\x25\x19\xae\xe3\xd0\xe2\x13\x22\xc7\x7d\xb3\x0f\x8f\x71\xee\x48\xa5\x44\xa5\xa9\x08\x56\x1d\x58\xc7\x19\x2d\xd1\x7c\x61\x2f\xb4\x93\x73\x45\xbd\x29\x63\xe6\x28\x5b\x64\x75\x8b\x9b\x7c\x98\x68\xa1\x36\x5f\xda\xe9\x9d\x4f\x2a\x70\x31\x9c\x5f\xf3\xed\x98\xc8\x69\x1c\xc4\x9a\xcf\x19\x0c\xbc\x22\xfd\x38\x8b\x54\x0a\xa3\xf2\x6e\x5c\x43\xd2\x85\x85\x2b\xd3\xfd\xc3\xec\xfd\xd1\xf0\x25\xb2\xf2\x28\xe0\xa1\x6b\x0c\x8b\x57\x59\xb4\x58\x68\xd1\x74\x8d\xda\x97\xd2\x8e\x05\x97\x64\x6e\x85\x9a\x3f\x6e\xac\x30\x9e\x78\x2c\x43\x52\x55\x28\x89\x0f\x3d\xe8\xf0\x53\xc9\xef\x62\x18\x41\x2a\x38\xa3\x73\xf8\x88\x3b\x28\x4e\xdb\xc7\x0e\x0c\x0e\x21\x50\x61\xec\x90\x15\xa8\xa2\xd2\x55\x6e\x3b\x18\x5b\x04\x23\x89\x7a\xe6\xe0\x37\x41\x2d\x90\xc6\x0c\x30\xbd\x2d\x58\xc6\x33\xc1\xa8\xd9\xf3\x5d\x58\xb7\x2c\x90\xf9\xf7\xd1\x1a\x20\x1f\x94\x50\x1c\xac\xf7\xfc\x72\x48\x7e\x9f\x23\xd0\x6c\x57\x74\xb6\x98\xa6\x02\x06\x28\xe9\x98\x22\x4a\x52\x9b\xb0\xba\x50\xd9\x64\xc1\x29\x63\x03\x85\xbd\x01\xee\x02\x32\x7a\xd1\x44\x78\x32\x31\x96\x89\x71\x4e\xa3\x18\x3d\xe9\xa0\xdb\x29\x5c\xbd\x57\x44\x65\xd1\xeb\xd6\x45\x76\x40\xa3\x40\xc8\xb3\x54\xd9\xa6\xa5\xee\x5e\x1c\xbc\x2d\x7f\xc4\x56\x00\xbd\xf4\x26\x01\x27\xb2\x4d\x37\xeb\x30\xea\x2e\x5e\xc6\xa2\x2c\x0d\x3e\x16\x30\x25\x9c\x61\xd6\x90\xb5\x82\xb0\xe2\x6c\xa9\x31\x54\x53\x72\x08\x1d\x2d\xdd\x6e\x70\x1e\x06\x5a\x19\xf2\x8a\x88\x71\xc9\x55\x7f\x0e\xd4\x91\xd8\x53\x9d\xf3\x4e\x05\xae\x60\x6e\x98\x76\x16\x8a\xa1\xc6\x66\xb2\x60\xa5\x91\x57\x08\xc5\xf5\xa7\x5d\xc9\xe1\x80\x44\x02\x55\xef\x2b\x08\x81\x31\x37\x94\x08\x76\x91\xbb\x31\x42\xe0\xa5\x9f\x01\xe5\xcc\x82\x29\x37\x7d\x6a\x3b\x50\x6c\xb0\x48\x19\x90\x83\xf7\x9f\xef\x64\x4b\xf6\x85\x3a\xc6\xcc\x9c\x07\x75\x5e\x19\x60\x24\xbf\x22\xca\x62\x04\x55\x66\x8a\x2a\x92\x7c\xf3\xb6\xd7\x9e\x4c\x52\xf5\xf5\x06\xf8\x0a\x24\x27\x41\x59\x44\xa4\x0c\xae\x88\x1e\xba\x2f\x22\x8c\xee\x4d\x49\xa3\x1f\xee\xf8\x2a\xd3\x2f\xd9\xc7\x49\x92\x31\x0f\xbf\xc0\x28\xbb\xb0\x04\xae\x67\xf6\xfb\x83\xf1\x86\x0e\x49\x30\x2c\x7e\x51\xe5\x09\xde\x1a\xbe\x0c\x20\xf4\x1e\xf1\x46\xbe\x00\x98\x63\xdf\x4e\xcd\x31\xba\x4b\x38\x21\x48\x81\xec\x18\x39\x90\x74\x92\x31\xc1\x0c\x4b\x0d\x19\x3d\x04\xd5\x5e\xd5\xc2\x6e\xff\x3b\xe4\xc2\xc6\xf7\x59\x14\xcd\xaf\xa5\xc0\x4f\x19\x6d\x9f\xbf\x19\xcc\x45\x43\xff\x40\x4f\xfb\x87\x72\xda\xe7\xf7\x8b\xaf\x84\x7d\x27\x76\xcb\x0c\x3f\xf3\x0c\x17\x41\xc9\x29\xe1\x1d\xdf\x3f\xec\xf5\xe1\x04\xcf\xa7\xfe\x43\xba\xe0\x61\x36\x7d\xfa\x5c\xb7\xdf\xf7\x60\xeb\x62\xa3\xe1\x4d\x80\x53\x2b\xd2\x30\x5a\x18\x04\x59\x74\x8c\x63\x79\xfa\xfa\xd8\x61\xc5\x71\x7f\x5c\xcb\x3c\x98\x65\xcf\xc0\xba\x05\x1a\xf7\x43\xf6\x63\xb9\xd2\x1f\xcb\x87\xfc\xc7\x52\x05\xe6\xec\x77\xa1\xe0\x33\x12\x8c\x7d\x6f\x1f\x52\x28\x57\x5e\xe5\xfa\xf2\xd8\xf8\x48\xaf\x9c\xa7\x59\xfd\xdc\x3c\xf5\x53\x0a\xe7\x71\x1b\x4f\x77\x77\xdd\xf3\x57\xfd\xf4\xfb\xa4\x87\xe6\xd7\x62\xc5\x47\x3f\xbd\x5e\xa6\x01\xf8\xfb\xf7\xdc\xf2\xf1\xcf\x6d\xf1\x4f\x1b\xfc\xcc\xf4\xea\xf8\x69\x27\xb9\xfd\x51\xc5\xfb\x7f\xfb\x08\xfd\xea\x7d\x7f\x1f\x66\xd7\xfc\x5a\xca\xf5\x04\x51\x68\xe0\xd2\x5c\x17\x43\x14\x86\x22\xc1\xf4\x2e\x0e\x60\x48\xfa\x26\xc3\xad\x09\x01\x2a\x18\x96\xa8\xf5\xd0\x0b\x57\xa6\x51\x1b\x0a\x93\x23\x2a\xdf\x8e\xf3\x33\x36\xec\x5c\x92\x34\x5b\xea\x64\x85\x11\x5f\x04\x50\xee\xdf\xa1\x8d\xba\x0a\xb4\x4a\xc9\xd2\xd4\x21\x75\xf8\xfe\x26\xb9\x62\xe3\xa6\x63\xf0\x0e\xcb\xc8\x1b\x57\x3c\x10\xde\xd1\x87\x4c\x42\x85\x07\x5d\xa5\x9d\x55\x80\x2c\x9b\x81\x68\x34\x02\xe6\x0d\x7a\xa3\x69\x96\xdb\xbe\x34\x9a\x23\x2a\xa4\xcb\x02\x7c\xbc\x81\xa8\x9e\x2e\x1b\x44\x19\x11\x6b\x2a\x39\xe8\xc9\xe5\x0c\x6f\x5c\xd1\x2d\xb7\x75\x36\xe4\x87\xfc\x58\x90\x35\x4f\x98\x1a\x48\x4b\xec\x21\xd9\xfe\x5d\x3b\x1c\xbc\x87\x83\xb7\x74\x02\x82\xa2\xc2\x07\x51\x37\x0b\x76\x1c\x9a\x70\x12\xf1\x6a\x79\xfc\x15\x7f\x70\x47\x8b\xd8\xfa\xec\x24\xd8\x47\x9b\x9e\xbd\xd9\x3d\x31\x54\x6e\xcf\xb1\x2d\x56\xa1\x38\x31\x83\x38\x04\xdc\xeb\x12\x5c\x03\xb3\x93\x5f\x5d\x58\x24\x09\x03\x17\x0a\x1d\x40\x71\x7b\x13\x90\x92\xf9\x47\x37\x70\x3c\x7f\x7f\xda\x69\x17\xfa\xa2\x82\x2a\xca\xcd\xfb\x8c\x0c\x83\xea\xee\x67\x32\x3b\xc7\xb3\x5a\xef\x45\x6e\x5e\xac\x6e\x24\x86\x83\x5e\xef\xa7\xc2\x3d\xc7\x77\x3a\xbf\xc1\x97\x82\x2a\xda\x4d\xc1\xe1\x96\xf3\x6d\x9f\x20\x0b\x14\x04\x66\x77\x3e\xd3\x87\x16\x7e\x6e\xfc\xaf\x46\xd8\xf7\xac\x0f\x9a\xfb\xff\x79\x22\x3f\xa6\x0e\xfa\xdf\xca\x51\xea\x33\xdb\xbf\xe0\x32\xd6\x34\x75\x69\x1b\xea\xad\x07\xd2\xac\x70\x89\xf4\xba\x08\x27\xc9\xf2\xad\xde\xd6\x65\xca\xb8\x6a\xd8\x1f\x9e\x55\x00\x91\x0d\x6e\x53\x87\x0f\x1b\xc0\x00\xd6\x04\x55\x23\x6e\xce\x56\xc9\x4d\x49\x65\x54\x50\x1c\x23\x25\x55\x7b\x7f\x13\x30\x86\x9b\x82\x02\x8f\xf5\x3a\xee\xfe\x59\x01\x5c\xc1\x57\xab\xc0\x7d\x50\xa4\x9d\x08\x68\x2b\x47\x7c\xf0\xd7\xb5\x41\x31\x81\xe0\x40\xc1\x46\x3b\x65\x9f\x5b\xb6\xfb\xd2\x00\x64\x0b\x35\xec\x9d\x83\xfc\xb9\xd9\x3e\x34\xe7\x33\x03\xf0\xd5\x5e\x77\xca\x68\xb7\x3f\x78\x8a\x97\x33\xf8\x4d\xb4\x4c\xe7\x15\x4a\x16\xcc\x6e\x5a\x2a\xb5\xec\x33\xf5\x41\xfe\x4f\xb1\x7e\xa8\xe5\x34\xe6\x61\x48\x75\x5b\x8e\x2f\x8b\x65\x6c\x59\xc6\x3c\x4e\xaa\xd0\xbe\x61\xc2\xf4\x53\x30\xc6\xa4\xf1\x26\xbf\x74\x47\xbf\x4f\x25\x69\x7e\x29\x59\x7b\x36\x73\x4b\xb3\x14\x25\x62\x40\x7e\xd4\xb3\x60\xa8\x09\x8b\xfc\xd7\xa5\x43\xd5\x0d\x03\xb9\xd1\xcb\x38\x88\x8a\x07\x41\x26\x3f\x63\xc3\xea\xfb\x62\xd7\xf3\xf0\xe3\x3c\xe3\xfb\x9b\xb4\xde\xe3\x5a\x10\xbd\x36\x77\x66\xd6\x65\x8e\x8f\xa7\x8f\x93\x87\xb3\x5b\x53\x13\x9e\x7d\x9d\x79\x40\x35\x59\xa8\x3f\xe4\x0d\x0d\x6e\x8b\xec\xde\xd1\xc2\x60\xcd\x62\xcc\xa4\x33\xc0\xa4\x36\xa2\x44\x28\xe2\x10\xbe\xf9\x16\x78\x54\xb4\x6b\xcf\xab\x5f\xff\xe9\x96\xe3\x86\x1f\xd0\xb9\x13\x38\xe7\xdf\xd7\xc5\x6f\x02\x41\x9d\x62\x49\x29\x19\xe2\xb7\x61\x8c\x4d\xb8\x9b\x86\x55\x56\x2b\xcb\x58\x0f\x75\x9b\xc6\xdc\x79\x9c\x49\xf3\x38\xaa\x77\x11\xbb\xac\xda\x49\x7a\x99\x47\xd3\x3f\xae\x04\x92\xdd\x4e\xa2\x4d\xb0\x10\xd2\xfe\x6d\x3d\xea\xa4\x16\x13\x9a\x2a\xac\xc6\xd2\x66\xc7\xa2\x41\x8b\xd8\xdb\xc1\xcd\xdc\xf7\xb6\x83\x43\x12\x59\xad\xc1\x08\xda\xb1\x18\xca\x72\xad\xe6\x75\x91\x31\x3f\x79\x05\x12\xd4\x47\x04\xa6\xe2\x15\xf8\x4a\x0e\x1e\x50\x72\x75\xf1\x9e\xfc\x96\x70\x47\xbc\x21\xde\x8f\xdf\x0e\xef\xc6\x6f\x86\xcd\xd3\x00\x27\x44\xda\xaa\x44\xf4\xdb\xec\xe0\x7d\x2c\x7e\x23\x32\xc6\xeb\xab\xf8\xaa\x48\x73\x7c\x9f\x35\xd0\x3c\x5f\x62\xa2\x3a\xf2\x59\x38\x54\x2d\x41\xb0\x87\x9a\x4b\xa6\x63\x13\xca\xfa\xec\xd2\x6a\x2a\x55\x92\x7f\x56\x09\x96\x8e\xc5\x46\xaa\x0d\xc8\x81\xd3\xfd\x50\xad\xef\x6f\xad\x96\x54\xba\x6c\x66\xd0\xb4\xb1\x9e\x8a\x4f\xbe\x6e\x80\x2d\x66\xc4\xfd\xc2\xe1\xee\xc1\xd9\x00\x1b\xd7\x20\x4a\x05\x11\xae\x65\x0e\x46\xef\x2a\xf8\x93\x13\x75\x59\x04\xb6\x4d\x50\xad\x30\x8e\x6c\x6e\xcb\x75\xef\xee\x01\xdd\x51\x7d\x00\x2a\x51\x3c\xf9\x2d\x84\x8d\x0d\x81\x7c\x75\x8f\x3d\x8f\xe8\xc1\x51\x4c\x0d\x9d\x8f\x28\xfc\xab\x76\x48\x06\x3c\x27\x02\xd0\x88\xfd\x18\x09\xbc\x80\x60\x53\xaa\x5a\x41\xcf\x51\x0c\xb5\xbe\xa6\x88\xf5\x15\xca\xca\x04\x92\x74\x40\x19\x1d\xc8\x22\xce\xe9\xa5\x9e\x99\x46\x46\x23\x4a\x07\xf5\x45\x52\xe6\x1f\x8a\x50\xea\x27\x97\x1d\x71\xcb\x12\x66\x10\x07\x91\x0e\xd6\x63\xeb\xae\xd0\x44\x84\xa4\x24\x54\x89\x34\x49\x9b\x28\x1b\x2e\xb8\x3f\x10\xd4\xa5\xd6\x03\x56\xdc\x34\xca\xb8\xf0\xa2\x18\xe1\x53\x6c\xf1\xbe\x78\x73\xfb\xf0\x44\x1e\xa2\x48\x04\x56\x23\x2d\x44\xd4\xc2\xb0\x22\x87\x59\x04\x2b\x29\x10\xcc\x39\x82\x23\x25\x1f\xfd\x51\x56\x3d\xa2\x78\x32\xf2\xc7\xa8\x28\xcc\xab\x5a\x24\xd3\x33\xc9\x8a\xea\xa5\xdb\x5d\x2b\x92\xa9\xf8\x0f\x31\xa3\xb2\x73\x88\x2b\x0d\xd0\xd2\x00\xd6\xa1\x24\x64\x10\x94\xfa\xaa\x78\x56\x41\xf5\x93\xa9\x0d\x9b\xc6\xb8\x10\xb8\x03\x2b\xb4\x91\x92\xed\x01\x30\x15\xb7\x9a\x61\xbe\x45\xc0\x5e\x41\x7b\x4b\x66\x44\x20\x02\xf5\x0c\xe3\xc9\xb9\xe8\x71\xf9\x1f\x04\x9b\xe2\xba\x54\xba\x18\x44\x39\x02\x94\xde\x47\x84\x6b\x04\x53\x96\x95\x64\x96\x5a\xdf\x83\xcc\xaa\x79\x7f\x6a\x3b\x28\x10\xe0\xe7\x59\x54\xf7\x60\x36\x6c\xec\xff\x87\x30\xb4\xc3\x50\x66\xe1\x33\x24\x29\xa8\xcd\x63\x0a\x5a\x4e\x44\x0e\xd4\xe3\x68\x90\x84\x3a\xa0\x9b\x16\x49\x59\x8f\x9b\x25\xb1\x66\xb5\x59\x78\xac\x63\xb0\x36\x0e\x1e\xc2\x48\x82\x75\xa6\xa9\x4f\x25\x50\x35\x53\xff\x4a\x10\x26\x6a\x71\x2b\xd5\x10\x0b\xc2\x9b\xcd\x52\xa5\x32\x1e\xb8\x69\x24\x94\xa3\x26\xa2\x7f\xbb\x18\x98\x01\xc1\xc2\x34\x64\x27\x4b\x01\x56\x96\x1d\xd9\x1d\x9d\x14\x0d\x61\x0e\x03\x89\x8f\x5a\xa2\xda\x04\x11\x52\xbf\x01\xf4\x40\xa8\x2d\x76\xb0\x19\xb6\xbd\x23\xbc\x8e\xd7\x36\x0f\x12\x2a\x06\xd3\x39\x92\x06\xe8\x3b\x19\x95\xff\x12\xda\x8c\x40\x65\x32\x9c\xdf\x07\x82\xdc\x13\x0a\x7e\x28\x95\x3e\x69\x3b\xeb\x49\x61\x39\xf2\x01\xbf\x26\x84\xdf\x45\x2e\xe1\xf7\xc1\x6e\x29\xa7\x24\x8a\xa5\x82\x14\xc5\x04\x64\x51\xeb\x48\x72\x62\x0f\x67\xd2\xf1\xb5\x89\x3d\x5f\xf3\xa2\x3f\x13\x5a\xea\xa3\xa6\xaa\x03\x2c\x34\x30\xff\xa4\x8e\x14\x55\x92\x11\x65\x50\x72\x07\x4c\xb2\xcb\x36\x7a\xae\x95\x05\xbb\x2d\xa4\x50\x0c\x88\x11\x99\x25\x4d\x4b\x26\xcc\x42\xfb\xec\xde\xfd\xa5\x81\x92\x43\x0d\x5c\x25\xc7\x44\x01\x1e\x4b\xc2\xdc\x9a\x05\xc9\x18\x92\x4b\xf3\x58\xa8\x9e\x56\xcf\x39\x7e\x44\x32\xf6\xdb\x83\x76\xa7\x47\xf8\xbb\x8c\x44\x7a\x2d\xf7\xcb\x10\x15\x2d\x39\x18\x20\x51\x84\x39\x76\x14\x6b\x7a\xb3\x89\x4d\x37\xfc\x67\x8f\x27\x0d\x9c\xf9\xf9\xa8\xcf\x0f\xfa\xb7\x3c\x26\xb8\xcc\xf9\x98\xf1\x90\x7f\xf6\x11\xed\x41\x73\xd9\x02\x7c\x17\x3c\x22\xd4\xfd\x3c\x8c\xf1\x15\x09\x84\x4c\x2b\x58\x42\x40\x9d\x0c\xb3\x20\xf7\xdb\x81\x8b\x11\x43\xd5\xd2\x60\x84\xd9\x0d\xfb\x40\x9f\x54\xe2\xc4\x04\x04\xdd\xcd\xfc\xca\x3d\x35\xdb\x97\x46\xaa\xd0\x2e\x28\x4a\x83\x23\x52\xb8\xe4\xc5\x24\xcc\xb4\x6f\xb9\xc8\x26\x10\xe0\x2f\x95\x69\x6e\x00\x98\x4f\xd5\x4e\x37\xb4\x47\xc0\xdf\xa1\xe8\xea\x3f\x60\x8c\x32\x13\xf8\xad\xfa\xd0\xe6\x06\x71\xcb\x8d\xe7\x0b\x56\x10\x51\xb0\xc8\x21\x3f\x8c\x06\xf1\x41\x4b\xdd\x23\x69\x7b\x03\xe7\x10\x6e\xba\xee\x35\x95\x04\x44\x03\xcf\x21\xe5\xc6\x84\x87\xb4\xbd\xb8\xfb\x82\x39\x09\xd2\xa0\xc9\xf2\xfc\xa8\x9c\x55\xad\x3d\x67\xbd\xfd\xdb\x57\x63\xef\x35\xbd\xfe\x7f\xaf\x2a\xe9\xa9\x69\x0a\x98\x9b\xda\x0f\x54\x8e\x11\x99\xff\x1e\xf4\xc0\xdd\x49\x01\x00\x4d\xb0\x03\xc9\x92\x91\xd7\x45\xbb\xde\x17\x91\xfa\x23\xd5\xe4\x4f\xcf\x27\x56\x5e\x60\x14\xa5\xb9\xb1\x8c\x50\x93\x2f\xc6\x2c\xac\x1e\x67\x31\x36\x46\x14\xe7\x83\x09\x96\x19\xf7\x29\x7b\xbb\x2f\x23\x0a\xb5\xad\xf2\x18\xec\x71\x82\xab\xf8\x81\x4a\xd9\x38\xe5\xba\x94\x0f\xc8\x95\xf3\x8e\x22\xdd\xf0\x41\xc7\xb9\xe5\x17\x68\x06\xb4\x92\x57\xed\x7a\xa6\x5f\xd0\x0a\x07\x1b\xe5\xce\x7b\xf9\xf2\x24\x5f\xbd\xc0\xd7\xa4\xfe\x3f\xae\x0c\xa2\x89\xa4\x06\xd9\x4a\x29\x17\x91\x10\x39\x9d\xc6\x19\x27\x70\xbf\x5a\xf3\x55\xb9\x66\x23\x85\x5b\x6d\xe3\xce\xc3\xd4\x9d\xe8\x10\x9c\x91\xb2\xfa\xce\xd4\x47\xee\x67\x1f\x8f\x53\xbe\xbf\x0d\x95\x54\x5a\xb9\x6b\xbd\xc2\x15\x7a\x31\x38\x20\x4b\xe8\x7f\xbb\x7b\xe2\xa3\x93\x22\x65\x6e\xd6\x28\x56\x5f\xb7\x06\x66\x4b\x60\xb6\xb4\x7c\x96\x14\xb1\x82\x24\x68\x13\xe1\xa1\xf8\x2f\xf7\x85\xd7\x00\x8b\x3d\x2c\xa2\xb5\xd6\x1b\xa9\x4d\x20\x86\x78\x57\x50\x98\xa0\x88\x2a\x66\x1a\x78\x2f\x65\x9d\xa7\xbe\xf3\xe0\xdd\x43\x7f\xfc\xbe\x70\xff\xe7\xf3\x95\xcf\x4f\xf7\xd4\x16\xb3\xff\xa0\x29\x3e\x9c\x4e\xe3\xf6\x48\x12\xac\x92\x54\x7d\x76\x07\xb0\x3b\xdf\xa5\x5e\xe2\x46\x76\xb6\x54\x8b\x76\x52\xf0\x2a\xd8\x59\x2d\x17\x8d\x60\x67\x13\x14\x61\x02\x4d\x49\xab\xa5\xf2\xe1\x22\x72\x97\x91\x77\x00\xeb\x19\x9f\x2c\xba\xca\x94\x1d\xe7\x8b\x4b\x1c\x71\xcd\x2b\x2f\x87\xf2\xe1\x4c\xd5\x14\x7f\x35\x40\x76\x9f\x55\xe3\x4b\x1b\x2b\xb7\x9e\x45\x12\x6e\xbc\x0d\x94\x20\x48\x2b\xf7\x38\x70\xb6\xc4\x1f\x0e\x6e\x5f\xf1\x3b\x51\x10\x3c\xcb\x11\xa7\xfd\xaa\x73\xbf\xa6\xc7\x2f\x45\x9c\x29\xee\x6f\x41\x68\xa5\x6c\x52\x7a\xaa\xc0\xab\xe4\x2c\x88\x20\x1a\xa8\x27\x2e\x49\xc6\x52\x32\xff\x5c\xf0\xb7\x6f\xb5\xe1\x0b\x62\xf9\x3e\x23\xb9\x9f\x12\x2f\x83\xb9\x41\x24\x23\xfd\xaf\x2b\x11\x39\x22\x11\x99\x06\x2b\x1a\x35\x5f\x33\x02\xc3\xda\x7e\x14\xb7\x47\xe2\x71\x44\x48\x7c\x19\xb4\xfb\x35\x7f\x39\xac\x5f\x13\x8e\x5f\x56\xb3\xb5\x22\x57\x25\x93\x45\xfd\x31\xd9\x37\x10\x1f\xd6\x0c\x47\xb9\xed\x14\x39\xc5\x4a\x7c\x32\xa1\x06\xcd\xc8\x63\x88\xf1\x10\x99\xe8\x95\xdd\x0f\x19\xc4\x61\x5c\x5c\x68\x2d\xbc\x9b\x33\xfc\xf7\x20\xe6\x76\x77\x63\x5d\x4a\xce\xf0\xf6\x97\x60\x2f\x06\xc5\x32\xc8\x88\xd7\xc5\xe6\xfc\x7e\xdb\x23\x98\x78\x2a\xe5\x74\xaa\x03\xe4\x34\x52\x49\x9a\x79\x37\x66\x88\x47\x80\x4d\x98\x60\x5d\xae\xcf\x1a\x25\x52\x60\x3c\xb3\x24\xc3\x9f\xb7\x25\x7f\x5c\xdf\x3b\x26\x90\x74\xf2\xe0\x3e\xf6\x56\x89\xf9\x01\x21\x6d\x8b\x33\x6e\x32\x67\x8a\x65\x27\x51\x5b\x21\x24\x16\x82\x89\xbd\xa4\x2a\x9b\xe6\x09\x70\xe8\x42\x8d\xd7\x92\xd0\xa2\x8a\xf5\x1b\x79\xa1\x78\x98\xe0\x45\x45\xe5\xf9\x6a\x13\x08\x77\xa5\xd0\xaa\x50\x8b\xda\x7f\x1e\x3b\x40\xa8\xbe\x9f\x4a\x50\xa9\xe7\x93\x36\xa9\xd3\xcf\xba\xb1\x18\x0b\x56\xcc\xd8\x60\x25\x59\x1d\x8c\xf2\xa1\x62\x03\xee\xbc\x04\xb5\x68\x30\xef\x80\xe5\xbc\x6f\x42\xe1\xee\x02\x32\xdc\x92\xc2\x72\x43\xd0\xe5\x7a\xfd\x3e\x80\x40\x89\x50\xc7\x6a\x63\x6e\x8b\x15\x4d\x56\xa1\x90\x6c\xfc\x6b\xf1\x3f\xad\x41\x89\x4a\x9a\x5f\x54\xda\x81\x4b\x37\x70\x4f\xa4\x56\xcb\x0e\x52\x69\xf4\xc3\xfd\x2c\x95\x03\x2b\x95\x9b\x4e\x8b\x41\xe2\x3d\x2d\x0d\xc9\x26\x99\xf3\x6e\xa5\x03\x65\xec\x76\x2a\x89\xd9\x47\x44\x27\xf2\xfb\xdb\x44\xc5\x32\x64\xb8\x6c\x8c\x4d\xc0\xf6\x9a\xf3\x56\xab\x77\x0b\x9f\x00\x00\xac\x0b\x8c\x20\x26\xf5\x86\xa2\x18\xdc\x50\x03\x27\x6c\x20\x8d\x00\x54\xc6\x94\x44\xaa\x8f\x3e\xd7\xee\x3b\xd5\x61\xbe\xd3\xa6\x4a\x50\x88\x56\x4d\xda\xda\xb6\xe8\x84\x78\x72\xdf\x60\x55\x96\xb5\x34\x48\xfa\x4f\x4c\xf6\xba\xf9\x7b\x1c\x1b\x32\x65\x79\x5d\x8a\xf6\xcd\x80\xae\x2a\xb6\x7b\xa7\x15\x4b\xc8\x7b\x0d\x36\x68\xdd\xae\xd6\xb4\x6e\xf7\xc5\xac\x6e\x3e\x1b\xee\x88\x8c\x63\x06\x17\x7b\x7f\xab\x7e\x71\x6d\x6b\xc9\xba\xf9\xbd\xb6\xdb\xb6\x98\xf7\x34\x10\x96\x80\x16\xa6\x81\x4e\x51\xde\xdf\xac\xe2\xe9\x56\x69\x76\x17\x7f\x5f\xa8\xc9\x94\xde\x77\xf7\x8f\x13\x2c\x4f\xdf\xcb\x5d\x5a\x32\xcf\x4b\x22\xb0\x9b\xd2\x1f\x27\x6b\x10\xdb\x7b\x13\x54\x01\xf5\x7e\xd7\x36\x79\x23\x22\x2a\xf7\xc5\xa7\x4b\x72\x00\xd6\xbe\xe9\xec\x3e\x6f\x6e\x70\xfd\x14\x25\xd3\x15\x64\x0a\x14\x17\xf3\xa5\xaf\x95\xcd\x67\x9b\x5e\x36\xd4\xa6\x68\x86\xe1\x8e\x3e\xe0\x26\x06\x14\x82\x3b\x5e\xea\x0a\x68\x57\xe3\x8a\x5b\x36\x20\x33\x10\x21\x93\xec\x16\x51\xf1\x87\xf7\x0b\x2e\x26\x75\x33\x6a\x56\xcc\xcd\x5f\x8b\xe5\xfe\xfe\xd6\xc6\x48\xcd\x20\x03\xe0\xb7\x20\xf7\x45\x21\xb7\x9b\x6d\x24\xed\x39\x28\x9c\xcb\x0a\x55\x11\xeb\x25\x35\x1f\x36\x08\xec\x56\xd9\x04\x82\xad\x65\x5b\x8c\x7a\xea\x20\x48\x01\x31\x95\x80\x9e\x9d\x1d\x51\xe7\x5d\xb7\x45\xbd\xaf\x83\x62\x84\xfd\xda\x8f\x28\x90\x48\x6f\xb6\x19\x55\x8d\xfb\xfb\x5b\x85\x28\x50\xd1\xbb\xaa\x6d\x08\x0d\x2c\x3a\x34\x7e\x67\xf1\xb0\x6d\xf1\xb3\xdd\x75\x50\x5e\x1f\x42\xac\x1b\x75\x02\x7c\xa4\x9a\x1b\x1d\x7d\x5d\x86\xde\xc0\x35\x3f\xd1\x1b\x7d\xb8\x9b\xfb\x40\x4a\xbc\x53\x88\x2f\xf8\x74\xd7\xbc\x3f\x4b\xd2\xd9\xa2\x5a\xad\x89\x6e\xbd\x23\x1c\x56\x13\xc4\xbc\xfb\xcf\xd1\x40\x2a\x2f\x5e\xb8\xe4\xff\x73\xd5\x09\x0c\xd0\x7d\x88\x05\x4e\x96\xd0\x2c\x45\xb6\x67\x22\x74\x5f\x74\xb3\xea\xbd\x1b\x85\xb6\x11\x6e\x46\x52\x56\xce\x08\xdd\xc2\xfd\x97\x59\xd7\xa5\x13\x0c\x1b\x21\x04\x9e\x26\x0a\x3e\x55\xfb\xbd\x43\xd8\x50\x19\x45\xf4\x67\x6b\x49\x46\xbe\x17\xe4\x5b\x51\xfd\xa4\xa8\x83\xec\x03\x04\xc1\x65\x5c\xa0\x02\x54\xfb\xd9\x41\x2e\x9e\xe9\xbe\x0b\xfa\x78\x69\xc1\x4b\x84\x58\x0b\x23\x72\x3e\xdb\xaf\xbd\x7f\x55\x58\x3e\x5f\x72\xec\x22\x97\x11\x62\x3e\xca\x47\xdb\x17\x43\x98\x5d\x41\x1f\x83\xea\x2c\x9a\x6a\xee\xaf\x57\x78\x87\xbe\x0c\x81\xdd\x1d\x50\x50\xf8\xb8\xde\xd3\xb0\x14\xa1\x1a\x49\xfb\x60\x25\xf6\x61\xa3\x70\xcb\x3e\x48\x5c\x86\x2a\x4d\x6f\x10\xa6\xc0\xfb\x3e\x81\x77\xa6\x35\x25\xb5\xee\x8b\x8d\x99\x02\xb0\xde\x29\xe1\x47\x2d\x20\x9b\x58\xa7\x5b\x6f\x41\x63\x01\x26\x07\x30\xdd\xd0\x2b\x31\x37\x04\x67\x4d\xad\xcb\xd1\x5a\x4f\x36\xe7\xfb\x5b\xe9\xa0\x57\x47\x32\xdf\xaa\x77\x7c\x94\xe5\xab\x1e\x0d\x79\x01\x1b\xe5\x06\x39\xf0\xa9\x28\x0b\x84\xf2\x12\x61\x94\xa0\x27\xc6\x44\x5c\xfc\xf2\xbe\xba\x55\x40\xb6\xfd\xd6\xb1\x6b\x01\x21\x0e\x8c\xae\x45\x20\xc4\x31\x2d\x11\x79\xee\x6e\x2f\x94\x39\x2a\xeb\x28\x75\x52\xb4\x08\x6c\xc3\x3e\xa3\x68\x2f\xc9\x3a\x32\x9b\x10\xfc\xaa\x17\x50\x05\xf4\x45\xd9\xa7\x91\x51\xf6\x06\x83\xa4\x92\xb2\xdd\xbe\x78\xc3\xbf\xa9\xbc\xf8\x50\xf2\xca\xec\xff\x94\xf6\x1a\xd3\x7c\x90\x97\x4d\xa2\xfa\x55\x1f\x7d\xb9\xf6\x54\xdd\x14\xca\x39\x4d\x81\x9e\x5d\x9a\x3e\x64\x99\xcb\xf6\x29\x68\x91\xe2\xed\x01\xaf\x7d\xf0\x27\xfe\x42\x92\x11\x43\x81\x81\xec\xc1\x8d\xde\x43\x92\xb0\xf6\x75\xa9\xb8\x20\xae\xa7\x8a\x18\x61\x2a\x43\xfd\x73\x57\xf2\x88\x8e\x4e\xb6\x31\xa9\x05\x2a\x63\xfe\x83\xff\xad\xa0\xf7\x2a\x64\xe4\xeb\x3e\x17\x22\x7f\xd0\x77\x12\x76\x22\x02\x44\xcd\xba\x16\xbc\xca\x1b\xb0\xcf\x92\x15\x8c\x1d\x5d\xc0\xfb\x6a\x6d\xa4\x0e\x40\x52\x79\x7a\x1a\x88\x54\xb8\x27\x2b\xe7\xd3\x80\xeb\x86\x19\x35\x5f\x8f\xfa\xe0\xd9\xdc\xf6\x96\x9d\x35\xca\x49\x88\xd7\xaf\x51\xfc\x69\xcc\xfe\x0c\x10\xad\xee\x9a\x41\x51\xd9\x59\x46\xb9\xa3\x7e\x39\x0f\xfc\x40\x42\xec\x62\x08\x33\x42\xc7\x72\x66\x6f\x70\x09\x21\x0b\xa4\x06\x10\xa0\x84\xe4\x74\x8d\x7b\xc2\x2f\x9d\x2f\xc1\x7b\x9e\xaf\xee\xc8\xe1\xcc\x22\xa0\x00\xa9\xee\x43\x0d\x42\xf1\x14\x71\x25\x75\x7f\x92\x28\x06\xde\x88\xc6\x8d\xf4\xb8\x91\xaf\x04\xc6\xe7\x4b\x3a\x55\x5e\x99\xd5\x9f\x89\x96\xb2\x0f\xf6\x7a\xef\xa8\x66\x66\xb7\x4e\xd6\x50\x4b\x2c\xee\x7f\x5c\xe2\xe3\xc6\x28\x13\xe3\x52\xed\xbe\xf0\x08\xcc\x2d\x64\x06\xe7\x0e\xeb\xb4\xc8\x83\x23\x4a\x86\xd1\xec\xd3\x08\x70\x05\xf5\x5e\x4d\xce\x34\x3b\x4a\x80\xce\xeb\x90\xb3\xf6\xf5\x42\xe0\x15\x96\x4f\x2f\xe4\x87\xbc\x5e\x69\x82\x14\xa4\xde\x0b\x98\xba\x3e\xbd\xd0\xed\x47\x57\xe2\x31\xbf\xf7\x4a\xcd\x97\x8a\x56\xef\xd6\xf4\x8f\x3e\x12\x0f\xf9\xbd\x17\x82\xa7\x65\x12\x44\x9c\x2d\x7c\x45\x85\x68\xc2\x08\x31\x04\xef\xec\x85\x74\x3c\x60\xba\x2d\xee\x18\x92\x45\x43\x07\x08\x4f\x44\x10\xa8\x44\x9c\xfa\x70\x9b\x0d\x83\x00\xc0\x12\x94\x30\xe4\xd4\x2d\xb8\xcd\xa8\x1b\x08\xa1\x78\xfc\x8b\x1f\xa0\x91\x9a\x7d\x4d\xc4\x3c\xcd\x4c\x18\xa2\xbc\x96\xf3\x61\x46\x7a\x14\x41\xa0\x55\x7b\xa5\xbc\xfc\x21\x33\x84\x86\xb0\x06\x32\x73\x46\x31\x1f\x3c\x48\x61\x12\x01\xb3\xaf\x19\x24\x37\xdd\xca\xfd\x56\x01\xde\x24\xd0\xe7\x8b\x0e\xff\x92\x4d\x95\xf2\xb0\x21\x88\xc4\xa9\x06\xf1\xb4\xa9\xdb\xd2\x3b\x8a\x86\xc7\xb6\xf4\x96\x93\xd9\xb8\xfb\xef\x18\xdd\x2d\x69\x9e\xf7\x89\xaa\x25\xf3\x23\xa6\xb6\xad\x21\xf5\x35\x4b\xec\x21\x6a\xf5\xae\x59\xce\x5d\xfc\xab\x40\x7f\x52\x86\xa4\x69\x1d\xa1\x46\x37\xb6\xef\xfe\x69\x9d\x1b\xfa\x98\x9f\x6f\x68\x6e\x3f\x7e\xb6\xa1\x4c\xfb\x7c\x83\x95\xfa\xba\xc1\xcd\x34\xcd\xea\x2e\x8e\x95\x5b\x94\x62\xb8\x7f\x83\x66\x7d\x7f\xf3\x35\x11\xce\x83\x6f\x8f\xcd\x2d\x36\x17\x5f\x7b\x47\x1a\x3f\xdc\xda\xa4\x24\x35\x6c\x0d\x14\xfc\xf3\xd6\x3e\x7d\xba\xc7\x51\xa5\x6d\xbc\x20\x31\xe9\xc8\xa5\x4e\xb7\x9a\x3e\x6e\x2e\xe7\xe6\x06\xd7\xcf\x6d\xde\x9f\xec\x00\xfb\x63\x4c\xee\xd0\x5f\x77\xd0\x3a\xdd\x1c\x9a\x3e\xa8\x56\x9f\x5e\x6f\x77\x7f\xe5\xe2\x8f\x05\x47\xfb\xb1\xa9\x72\x8b\xfb\x47\xc3\x7e\xb0\xa5\x97\xf2\xf1\x74\xd7\xd9\x66\x6e\x3f\xd8\x12\x0f\xf1\xd9\xe9\x44\x2d\xff\x68\x93\x4d\xf9\xd1\x09\x87\x24\xc9\x65\xde\xdd\x5b\x3c\xdf\xb3\x1f\x8b\x3d\xfb\x88\x47\xcb\xa3\xbe\x9c\xf6\xc6\x67\xfb\x6c\x13\x9f\xed\x69\xcb\x77\xcf\xf6\xe9\x16\x3e\xdb\xa7\xa7\xe3\xb3\x7d\xbe\xc9\x7c\x8d\xec\xf9\xee\xf7\xdf\x47\xfc\x7e\xf5\xdb\xd8\x61\xa8\x46\x0f\xfe\x7e\x4b\xeb\xe5\x07\x5b\xaa\xb6\x1f\x6c\xb1\x3e\x6e\x3f\xd8\xa4\x96\x5f\xb7\xf8\xf8\xd7\xf6\x20\x10\xf7\xb9\x87\x49\xc4\xe9\xce\x70\x30\xbe\xe9\x4c\xfc\xf3\xc0\x76\x3d\x2b\x91\x99\x72\x9f\x7a\x9c\xbe\x86\x5c\xc5\xde\xd7\x2f\x2c\x4e\xe3\x8e\xe0\xe4\xa9\x6e\xf4\x96\x16\x85\x0e\x72\x31\x95\x9e\x54\xe2\xd4\x12\xea\xf8\x57\xe3\xc7\x19\x42\x5b\xa7\xca\x21\xeb\x00\x90\x83\xbd\xc0\x26\x6a\xa9\xca\x6d\x5d\x6c\x03\x5e\xba\xd9\x8e\xb2\x44\x5f\x9e\xa8\x2c\x4d\x2a\xdf\x06\x8a\x7a\xd4\x08\x48\x23\xa6\xc2\x8c\xd9\x22\xe8\x7c\x40\xac\x1a\x64\x34\x08\x70\x01\x6a\xe3\x3e\x14\x2c\x71\x3b\xa0\x46\x7c\x70\x0f\xbd\x22\x59\xc8\x18\x99\x45\x65\x33\xd0\x79\x16\xa4\x4b\x0c\xd2\x5d\xc0\xf6\xb2\xda\x66\x39\xd5\xb1\x53\xdd\x4b\x85\x80\x21\xba\x62\xa1\x2d\x06\x97\x0d\xff\xe6\xc4\x64\x7a\x49\x85\x68\xc7\x93\xa4\x95\xc8\x6c\xc2\x67\x10\xaa\xba\x21\xc8\xb7\x58\x39\x59\x68\xea\x97\xe8\x8a\x9a\x5f\x5d\xcf\x9f\x55\xad\x8f\xe6\xfe\x42\x39\x73\x4c\x9d\xa0\x48\xa6\x9c\xf1\xbe\x03\xed\x3a\x25\xdc\x3d\x8a\xff\x62\x8f\xf8\x76\xc4\xc6\xe3\x3c\xe0\x38\xcf\x12\xda\x6e\x15\x1c\x7e\x71\x7e\xff\x9d\xe7\x23\xf6\x8e\xa0\x98\x79\x11\x01\x4d\xf6\x37\xb1\x74\xfe\xa0\xc7\x63\x2f\x1e\xc7\x6b\xcb\x94\xab\x7a\x4b\x4c\x8a\xaf\x84\x2c\x0a\x46\x7a\x90\x87\x10\xf0\xd8\xbe\x05\xd5\xe0\xba\xc8\x30\xbd\x9d\x90\x7d\xe6\x4d\xe5\x4a\xbe\xfa\xee\xf7\x38\x4b\x89\xb0\x1e\x4e\x71\xed\xb8\x16\x93\x1d\x2c\x2e\x58\x6f\x85\xb2\x55\xb8\xce\x7d\x91\x26\x6b\xaf\xe5\x2e\xa8\xd8\xf2\x13\xe8\x79\xf8\xd3\xc1\xf5\x4c\xd8\xc6\xe1\xd7\x8d\x7e\xf5\x66\x5f\xd2\x8b\xf2\x53\xaa\xd1\x62\x39\x4d\xd4\x81\xb6\x99\x21\x22\x1e\x29\xea\x6a\x4c\xf1\x1f\x58\x6b\xb4\x94\xb3\x5e\xa1\x9f\x0a\x29\x64\xda\x47\x0d\xb0\x64\xe4\x71\x59\xcb\xec\xc3\x4e\xfb\x09\xe3\xec\xc1\xec\xe6\xf3\x68\x63\x89\x82\x68\x3b\xa1\x5e\x12\x1c\x67\xd4\xac\xd5\x50\x6c\xef\xb1\xaf\xb5\xf3\xf0\xe0\x33\x70\x1f\x83\xa9\xc1\x7a\x4d\x2c\xc7\xc2\x2a\xcc\x0f\xb7\x88\x85\x5a\x6b\x3e\xb4\xf9\x73\xd8\x4e\x29\x79\xcd\x23\x0a\x4b\xdd\xf7\x03\xdb\x58\x4d\x05\x21\xe9\x01\x6a\xc3\xa4\xe5\x50\x4d\x80\x93\x22\x2d\xc8\x2c\x75\x3e\x49\xc7\x28\x29\x10\x89\x3d\x14\xd1\xf4\x3d\x14\xcb\x51\x61\x12\x49\x6d\xf5\x76\x21\xe6\x11\xe1\x55\x12\x9c\x60\xce\xa9\x40\xd9\xc0\xed\x38\x27\x99\x42\xa7\xa0\x92\xdc\x2e\x59\x91\xc3\x0a\x8b\x50\xdb\x2e\xc1\xaf\xcf\xe8\x3f\x8c\xca\x40\x78\x83\x4b\x5d\xae\x12\x31\x46\x84\x11\x8d\x0e\xe4\x1b\x71\x67\xa1\x75\x29\x76\x3b\x05\x8d\x8b\x3d\xec\x59\x28\x52\x34\x39\xf3\xb7\x50\x0c\xde\xa1\xc7\xb2\xb4\x28\x1f\x3a\x98\x93\x27\x0e\x31\x53\x7e\x86\xc9\x5b\x62\x61\xcf\xef\x0f\x73\xff\x2c\x11\xa8\x2c\xd4\x00\xf7\x3c\x60\x25\xfd\xa0\x36\xf7\x7e\x22\x61\x73\x8f\xe2\xc3\x45\x79\xfd\x5c\xf6\x05\xae\x73\xe0\x92\xe3\x2a\xa3\x9c\xc0\x8f\xb3\xc8\xeb\x4a\xb5\xd0\x8c\xaf\xec\x15\x21\x6f\x77\x0a\xe0\x55\x06\xf0\x05\xf8\xe9\xd2\xf6\x3a\x13\xa0\x89\x3d\x70\xcc\x32\x14\x79\x88\xdd\xa7\x8c\x9c\x0c\xec\xd4\x41\x05\xc3\x10\x68\x70\x65\x77\xb8\xba\xad\xed\xde\xb7\x18\xe6\x90\x2f\x87\xe2\x6b\x90\xe3\x85\x94\x55\x5a\xbb\x78\xcc\xdd\x49\x24\xfa\x1b\x82\x52\xa8\xbb\x67\x2d\x3e\xab\x96\x59\xf6\xfc\xfd\xb6\x83\xc4\x3f\xac\xd7\x5f\x60\x1e\x47\x99\xf3\x53\x39\xff\xd3\xf6\x23\x3e\xf8\xeb\xfa\x5c\x93\xad\x2d\x7d\xd8\x78\x3c\x09\xcb\xa1\x78\xda\xf7\x7b\x55\x9c\x6b\x25\xa7\xfc\x67\x0a\xb2\x6f\x8f\x6a\xf8\xa7\x0a\xf9\xa7\xa3\x1e\x27\x8b\xf0\xd5\x9f\xba\xcc\x1f\xba\x0a\xd9\x27\xc6\xb8\x2f\x95\xf4\x1b\x88\xa2\xb4\xb4\x04\x21\xae\x10\x1d\xeb\x26\x78\x39\xdd\xb7\xb4\x90\x9b\x90\xb8\x59\x37\x23\x10\xab\xa5\x1d\x74\xc6\xfb\x31\x61\x94\x75\x6a\x7e\xa8\xf6\x2d\x6c\xc4\x05\x15\x75\xf1\x19\xef\x05\x59\xd3\xcf\x00\x19\xac\x60\x10\x61\xfc\x06\xfc\x04\xa8\x98\xa1\x25\x82\x34\x4b\x4f\x43\x2d\x8a\x8a\x7e\x07\xa2\x83\x54\xe6\x2c\x31\xc2\x89\x02\x09\x2c\x27\x3c\x3b\xe4\xcb\xbf\xd5\x83\xe5\xa2\x28\xa4\xfa\x16\xac\xf2\xab\xa8\xbb\xed\x2f\x4f\xf4\xd5\xe0\x78\x49\x34\xcb\x2b\x57\xeb\xf3\xe0\x18\xf9\x07\x83\xe3\x6c\xb2\x0d\x88\xe1\x45\x4a\xbb\xeb\xb4\xdf\x35\x52\x74\x1a\x8f\x82\xb0\x6c\x54\x80\x7e\xba\x6f\x3c\x14\x39\x49\xd0\x68\x33\x4e\xfe\x18\x28\xd8\x18\xdb\xf8\xff\xff\x8e\x8e\xff\x8e\x8e\x3f\x37\x3a\x5e\x8a\x11\xe4\xa5\x48\xfe\xb9\x18\x41\x34\xf5\x36\xb6\xa6\xe6\x8b\x54\xdd\x16\xcb\x39\xb5\xe6\xbe\xde\xc5\x15\xbc\x94\xcd\xca\x4c\xbd\xeb\xba\xb4\x39\xde\xdf\xaa\x8d\x34\x66\xdb\x34\x17\x22\x00\xb5\xe9\xb6\x28\x24\xb3\x46\x59\x8d\x01\x08\x71\x7f\xda\x70\xea\xc7\x09\xdb\x30\x3f\x74\x6d\xc3\x8f\xb8\x8e\xef\xa8\xed\x90\x8c\x6d\x56\x1a\xcf\x76\x9e\x1b\x42\x8f\x70\xfa\x75\x03\x55\xb7\xf7\x21\xea\x43\x21\xf1\x57\x24\xaa\x10\xb0\xba\x6f\xcb\x44\xa1\x5f\x3e\x25\xad\xf5\x2c\x94\x85\x28\x73\xd2\x7c\xe3\x2e\xb1\x47\x0b\xd8\x45\x40\x50\x2d\xf9\xe9\x70\x1d\x5c\x66\xf8\x74\x50\x25\x29\x7c\x71\x0d\x18\x1b\x60\x7a\x5f\xbd\x8b\x17\x84\xaf\xfc\xac\x58\x56\x06\x2a\x77\xe7\x7e\x4e\x01\x89\xf3\x83\xcf\x50\x48\x30\x80\xdb\x70\x82\xb9\x09\xd2\x8f\xc3\xa8\x00\x39\x2c\xa4\xbb\xe7\x63\xc9\xe6\xbc\xf2\xb2\xd7\xfc\x4f\xdc\xeb\xf6\x17\x4f\xe6\x8d\xe3\x6d\x33\x21\x8a\xc9\x9d\x37\x1c\xfa\x59\x53\xfe\x27\x6d\xbf\xfd\x78\x87\xf7\x37\xb5\x0e\xad\x8a\xdf\xff\xd4\x8a\xb3\xea\x0f\x4f\xca\x22\x85\x72\xc7\xea\xa5\xe2\x66\x2b\x00\x55\x58\xf0\x7a\x62\x48\x25\x63\x1c\x6c\x3e\xdd\xd5\x71\xd7\x49\x4b\xcf\x8d\x38\xad\xed\xfa\x5c\x3e\x7c\x81\x2d\xa8\x73\xe2\xa8\xa5\x8e\xdd\x58\x4a\x52\xf2\x69\x70\x77\xc6\x1f\x82\xee\xd3\xa4\xdc\xb8\x88\xfa\xad\x8e\x9f\xdc\xf0\x0f\x1f\xe8\x7f\xe9\x88\xf8\xab\x7d\x1d\x7b\xd1\x36\x10\x48\xb5\x7a\x13\x20\x09\x1d\x9f\xa7\xc1\xbf\x3e\xbe\x54\xd1\x87\x6d\xff\xd5\x9c\xf5\x9a\x41\xbf\x8a\x8c\x6b\x6f\x29\x6f\x13\x38\x6e\x9f\x41\x71\x4d\x4a\xb3\x94\xf7\xb7\x61\x9a\xf2\xc6\xbf\x32\x7f\x5e\x5a\xc1\x7e\xb8\x2e\x6a\x94\x25\x4b\xde\x29\x48\x5f\x20\x30\x9f\x13\xe1\x32\x63\x5f\x7a\x3e\x19\x60\x7c\x12\x44\x25\x14\x2b\xe4\xa0\x35\x98\xc8\x45\x2a\x33\x48\x62\x26\x2a\xc8\xa3\xf2\x71\x80\x71\x97\xb8\x98\xb6\x2b\x16\x86\x42\x82\xcb\xb4\x18\xb5\x12\xda\xb9\xe2\x52\xc5\xdc\xf7\x7d\xe8\x44\xf6\xf3\x93\xf5\x71\x94\xe7\x94\x7e\x00\xbb\x74\x83\xdc\x95\xd0\x27\x0e\x81\x2d\x82\x0f\xa3\x76\xbc\x1c\xf4\xf6\x03\x5f\x58\xc9\x71\x7c\x58\xa0\x3f\x51\xb0\x4e\x3a\x1c\xe4\x2a\xaf\x13\xf8\x5e\xab\xaf\x31\x00\x88\x44\xf5\xf9\xb9\x1b\xed\x01\x16\xbb\xe3\x60\x3b\x31\xa4\xf0\x7f\x15\x78\x95\x33\xd0\xa0\xbc\x93\xa8\x61\x1f\x7e\x9f\xac\x16\x43\xc5\xdc\x31\x93\x14\x3c\x93\x74\x3c\xa2\x7f\xa4\xeb\x81\x95\x0d\xd2\xd1\x1e\x72\xfe\xda\xdc\x03\xd6\x34\x53\x49\x48\x43\x83\xb4\x81\x29\x45\xd4\x4e\x74\x54\x2b\xe6\x03\x65\x02\x4b\x9b\xeb\x32\x40\xc5\xac\x41\xb9\x53\x52\x9b\x87\xef\x25\xd3\xcd\xcb\x26\xc1\xc2\x3e\xdc\x90\xa1\xab\x6c\x6c\x04\x70\xd2\x3c\x28\xc2\x90\x39\xeb\x05\x0b\x79\x4e\xaa\x79\x55\x9f\xa6\x54\x81\x72\x50\x30\xa2\x22\xc4\x9c\x08\x48\xf3\x4b\x95\xb8\x24\xca\xd9\x6b\x4f\x3e\xcb\xcc\xb9\x4b\x4f\x4d\x89\x8c\x13\x2b\x84\xe6\x88\x94\xdd\x34\x59\x4f\xbd\x25\xeb\x04\x36\x83\x09\x4a\x8e\xc7\x87\xc9\x8d\x1f\x4f\xd1\x38\x6a\xfd\x17\xbd\x22\xb4\x25\x42\xb4\x62\x65\xc7\xbc\x56\x14\x57\x5e\xe6\x3c\x65\xc3\xd1\x38\xb3\xed\x3d\xa4\x77\x89\x40\xf0\x27\xda\x20\xba\xa7\x5a\xf7\xc6\x7a\x62\x86\x34\xc0\xb0\x76\xe2\x2f\x10\xb5\x41\x71\x1d\x50\x19\x28\x82\xfe\x92\x59\xa4\xe6\x17\x1c\xbc\xbc\x90\x05\x3f\x31\x4d\xa8\x65\x49\x35\x67\x92\x6b\x65\x3b\x85\xfa\xc8\xeb\x36\x2f\x72\x0c\x09\x7e\x31\x04\xd8\x66\x44\x18\xc9\x3c\xee\x86\x0b\x39\x03\x45\x11\xbd\x23\x29\x18\xba\x03\x34\xb8\x18\xfc\x66\x34\x4c\xd8\x11\x61\xa9\x75\x81\xd4\x1c\x07\x71\xb0\xfb\x7b\x9b\x1d\x10\x96\xd6\xc2\x52\xf8\xce\x60\x4d\x30\x18\x07\xf6\x50\xa8\x31\x5d\x9b\x1b\xa5\x7f\x98\x2b\xe1\xf6\xfb\xc8\x12\x50\x85\x80\x82\x15\xed\x9b\x96\x04\xb2\x6e\x35\xd0\x97\x2d\xd0\x89\x92\x4c\xc9\x8c\x2f\x1c\x02\xef\xb3\x1d\xf2\x04\x98\xd0\x31\x97\x30\xe8\x6e\xde\xce\x9d\xa1\xfe\x19\xbc\xe4\xd6\xbe\xd5\x15\x04\x1c\xf2\x3d\xd1\x02\xe3\x68\x65\x9e\x22\xb9\x25\x55\x9f\x0a\x4a\x42\x85\x5f\xb2\x71\x14\x4b\x52\x57\xad\xf6\x81\x71\x01\x58\xb8\x5c\x6f\x10\x56\xf5\x31\x10\x6b\x6a\xc3\xdd\x7d\xea\x6a\x3c\x87\x77\x5e\xfd\xa8\x3e\x37\xd4\xec\x48\x57\x00\xe7\x9a\x21\x7d\x6d\x6d\x27\x6e\xbb\x25\x85\x27\x17\x13\x1f\xea\xf8\x80\x87\x2e\x25\xd8\x5f\x7e\x40\x3f\x12\x94\x27\x41\xe9\x51\x49\x69\x32\xa8\x43\x93\x9a\xa1\x80\x5c\x7b\xdf\x21\xea\x81\x02\x9c\x24\xf6\x25\xeb\xc9\xed\xa4\xfb\x78\xc8\xfb\x9c\x10\xee\x67\xfa\x8f\xe3\x3b\x66\x92\x7f\x27\x31\xc9\x57\xc3\xfc\xb5\x64\xe5\x97\x07\x21\x5d\x1e\xf4\xea\x51\x0d\x1b\xd0\xe0\x60\xc9\x29\x3e\x17\x1d\x64\x68\x2f\xfe\xa4\x21\x84\x10\x80\x7f\xcc\xc4\xfc\xae\xa4\xfb\xf3\x43\xc6\x29\x2a\x8b\xd3\xec\xc0\x30\x9b\x25\xe0\x54\xa7\x84\x5c\x02\xd4\x65\x39\x9c\xb0\xcc\x79\xa7\xaa\x89\xa2\x83\xc1\xd6\x07\x06\xda\x90\x9e\x64\x60\xbc\x8c\x90\x81\x5e\xb4\x21\x84\x1b\x9c\x9d\xa7\xa2\x5c\xe4\x57\xc8\x47\x50\x42\x0d\xe4\xdb\x99\x51\x63\x59\xf4\xc2\xa9\x49\x6f\xbb\x91\x20\xb0\x87\x67\xdd\x31\xb7\x1e\x01\x01\x47\x05\x47\x8e\x9c\xa1\x12\x8f\x2e\x39\xbe\x49\x8e\x8d\x5a\xb1\xbf\x99\x1f\xfd\xff\xb3\xf7\x6e\x3b\x92\x2b\xcb\x92\xd8\x7b\x7e\x45\xfc\x40\x34\xc2\x3d\xee\xd0\xbb\xde\xfa\x1b\x84\x91\x74\x06\x29\x80\x18\x80\x10\x27\x1f\xea\xeb\x05\x37\x73\x32\x59\xcd\xaa\xca\xea\xb5\x7b\xed\xb3\xcf\x68\x03\x6b\x75\xb1\x8a\xf7\x60\x5c\xfc\x66\x66\xe0\xa0\xd4\xbe\x27\x11\xcc\xac\x18\xce\xa1\xac\xdd\xe5\x9f\xf1\x50\xa7\x67\xc5\x1c\x98\x28\x84\x47\x26\x42\xbe\x77\x60\xfa\x02\x34\x8b\x36\x62\x9b\xfd\x07\xe7\xd5\x86\x84\xad\xc2\x28\xea\x05\xa9\xf1\xbe\xfe\xdb\xc0\x21\xdb\xae\x38\x76\x8a\x40\xf4\x43\x87\x6d\xcc\x06\x7e\xf0\xdb\x67\x23\xb5\x15\xec\xff\x6c\xb7\xa2\xee\xfe\x32\x7b\x3d\xe0\x7c\x7f\x3c\xb3\x3d\x78\x39\x50\xea\x5f\x42\x40\x77\xdb\x09\xdc\xca\x27\xb1\xa0\xa9\xae\xb0\x92\x38\x00\x7c\xad\xa3\x50\x8f\x2f\x32\xad\x3e\x7f\xe1\x76\xab\x87\xce\xd4\x69\xf3\x79\xc4\x6d\x3b\x9f\x7a\xba\xe6\xab\x51\x74\xad\x83\xb9\xa0\x37\xde\x31\xad\x8e\x04\x6a\xa4\x9c\x20\xba\x1b\xdb\xde\x5d\xb1\x5a\x82\x00\x16\x60\xed\xb2\x44\x06\x55\x80\xad\x18\xd4\xf2\xc5\x84\x38\xc0\x06\x2e\xc3\x0e\x28\xa1\x25\x05\x7d\x0b\x91\x41\xe9\x9e\xdb\x74\xd1\x67\x2c\xa7\xe8\x7d\xea\xf6\xa3\x4d\xe2\x3a\x84\x75\xf5\xad\xf5\xb5\x51\x22\x9c\x7d\x1c\x69\x9c\x4c\x4c\x11\xf4\xb6\x37\x5b\x0f\x6c\xbe\x6c\xa1\x8c\xba\xc0\x1c\x61\x44\xc3\xa6\x25\x28\x24\x56\x27\x45\x9f\x4e\xba\x56\xea\x2e\x1b\x93\xd2\x3d\xe6\x66\x93\x96\x0d\x27\x94\x16\x0e\x04\x4a\x90\x2a\x01\x21\x07\xd0\xd8\xc4\x60\x56\x5a\x3b\x65\xaf\x69\x2e\x19\x20\x90\x16\xda\x68\x6b\x6c\xa8\xf2\x22\x9d\xf4\x41\xfc\x8a\x8d\x5d\x34\xdc\x2c\x0e\xbc\x61\x14\x04\x05\x5b\xb9\xc7\xa2\xd9\x6b\x51\xab\x3f\x55\x4e\xc0\x75\x81\x0f\xb8\x87\x5c\xca\x96\xab\x04\xd1\xb2\x02\x50\x2b\x4c\x75\x51\xe1\x1d\xc5\xad\x63\x9b\x4f\xae\xc4\x0e\x88\x94\xd9\x70\xb9\x99\x41\xd7\x7c\x2f\x76\xda\xf1\x75\x6c\xbc\x04\x8a\x18\x58\x38\x99\x61\x90\x28\x7c\x00\x6b\xb0\xf2\xf5\xac\xfc\xf8\x8f\xff\xf1\x3f\xff\xdf\x5f\x3b\x94\x5e\x58\x90\x4f\x34\x15\xe0\x1f\x74\x2c\x93\x97\x71\xb1\xe2\x99\xc4\x89\xd9\x99\x37\x47\x07\x8e\xce\x4c\x47\x2d\x1f\xa0\x17\x3f\x93\xcc\x52\x2d\x0f\x70\x3b\x7d\xb8\xf7\x43\xc4\xa4\x6a\x71\x3a\xa8\x6f\x68\x64\xd9\xf5\xb1\xa4\xa1\xac\x14\x85\x10\xb2\x13\xfc\xca\x68\x41\xd5\x6c\x39\xe0\x79\xa6\xde\x56\x28\x0a\x17\x16\xca\x69\x99\x48\xa3\xc9\x18\x1b\x33\x9c\x63\xac\xd2\x91\x74\xcb\x60\x54\x28\x9b\x66\xd7\x32\x01\x20\x26\x21\xae\x38\xf6\xe6\x32\xab\xee\x1d\x37\xd7\x3b\xe2\xa8\x33\x31\xd6\xd9\xbc\x7b\x67\xf7\xbd\xa7\xcf\x7a\x4f\xed\xf5\x7d\xe6\xa9\x2a\x97\xdc\xb9\xea\x73\x29\xee\x0a\xd0\xef\x87\x16\x56\x91\x4f\xf0\xba\x1f\x7f\x9a\xa6\x4b\xcc\x03\x64\x4d\x79\x05\xc3\x9a\xc0\x96\x69\xa8\xa6\x5d\x77\x25\x58\x67\xe7\x70\x79\x40\x98\xc6\xa3\xd8\x07\x29\x54\x00\x77\xc1\xc4\x58\x7c\x99\xcf\x07\x79\xb3\x20\x94\x90\x79\x16\x4e\xc2\xb5\x78\xa9\xd3\xe6\xbe\x7b\x3f\xfe\x79\x8d\xdb\x6a\x26\x9d\x8d\x1c\xb8\xa9\x6d\xb1\xe7\xcd\x43\xef\x51\x21\xac\xf9\xba\x4f\x15\xe8\x3e\x9a\xe9\xfd\x8e\x10\xec\x0f\x7d\xca\xed\xd3\x2e\xf3\xea\x23\x5f\xb2\xb2\x7a\x29\x11\x3e\x0d\xec\x91\x21\xbc\x92\x56\x4c\xaa\x5d\x83\x2b\x95\xd1\x0b\x22\x30\x3f\x27\x4f\x13\xbf\x1c\xf9\x92\xf5\x3e\xdb\x6f\x0c\x7c\x68\xe5\xfd\x4e\xdf\x9a\xed\xdb\xc2\x78\xd0\x66\xd6\x35\xaa\x74\x32\xc8\x30\xe1\x3f\x48\xbc\xc5\xd7\xc0\x5b\x38\x69\x10\x5e\x16\xef\xea\x72\x6d\x68\x03\x73\x1d\x6b\x00\x19\xb5\x0e\x10\xc7\x44\xb0\x6c\xe4\x3d\x46\xa2\xcd\x57\xc0\xbb\xad\x89\x80\xca\x02\x94\x01\x7c\xbe\xd9\x57\x02\xb7\xbf\xcb\x06\x6e\x85\x56\xf1\x13\x65\xea\x29\x48\x97\x75\xd8\xba\x93\xbb\x2d\xab\x0d\xd4\x3b\xce\x50\xc2\x45\x27\xef\x41\x16\x28\x88\x21\xbf\x83\x27\x89\xda\x33\xfb\x1f\xb2\x38\xdf\xee\x81\xb7\x7f\x42\x17\xbc\xe4\x3e\xf5\x28\xda\xa5\x08\x45\x4d\xd7\x29\x7a\x7c\x3c\xf5\xd8\xdf\xbf\xdf\x3d\x24\x97\x25\x6a\x45\x71\x4c\xdd\xa7\x9e\xf1\x6e\xea\xf9\x67\x77\xe2\xdb\x9f\xe9\xc5\xd0\x65\xc5\xca\x95\x4e\x2b\xd7\x31\xd3\xd1\x79\x73\x59\x5a\x50\x9b\x36\x9b\xdc\xd0\x83\xcc\x03\x05\x31\x33\xaa\x94\xcc\x71\x1c\xde\xc4\xf0\x62\xf2\xa2\xd5\xbc\x81\x72\x77\xbd\xa2\xeb\x43\xfd\xab\x76\xb4\x4b\x1a\x51\x2f\x65\x7e\xbf\x5a\xc5\xff\xee\x7b\x7f\x64\x06\xfd\x75\x02\x55\xa0\xe4\x9b\xad\xa7\x4b\xac\x1a\x2a\xca\xc4\x05\x65\x4e\x6b\x9c\x0e\xd9\xd5\xdd\x05\xd1\x4c\x29\x8c\x62\xae\xf8\x1e\x60\x3f\xa4\x7d\xb7\xdd\x53\x45\x5d\x38\xa2\x4b\x88\xbb\x20\x43\x90\xbf\x65\x25\xde\x76\x5b\x64\x78\x51\xd1\xbb\xbc\xb7\x99\x70\xdf\x6e\x62\x41\x61\x3c\x3c\xa8\xbe\x0c\x84\x5b\x26\x34\x37\x94\x61\x68\x3b\x0c\xca\xbe\x70\x9d\x56\xea\x19\x7b\x35\x9d\x1c\x5e\x3f\x5e\x87\x59\xa0\xb9\x54\x24\x9a\xd6\xbd\x7b\xe4\xca\xa2\xc1\xc3\x18\xf9\xc6\x80\x1c\x59\x3f\x1e\x90\xb7\xff\x4c\xe3\xe3\x92\x4b\xd6\x4b\x75\xe6\x7b\xe5\xb0\x14\x24\xa5\xce\xa0\x2e\x24\xf3\x59\x38\x01\x8a\x17\x80\x44\xcc\x32\xa7\xb5\x1e\xa1\x23\xf3\xcf\x73\x2e\x90\x90\xfa\x5b\x9c\x92\xdb\x5f\xf0\x4a\xcc\x30\x50\xb3\x26\x30\x06\x33\xb2\xa0\x99\x3a\x72\x10\xcf\xb4\x7d\x2a\x21\x9b\x7d\x30\xcb\x2a\x5d\x50\xc5\x67\xbf\xcf\xb2\x82\xaa\xc1\x3c\x16\x17\xd6\x43\x0d\x38\x2f\x15\x71\xad\xb7\x9f\x63\x92\x2b\x09\x19\xdb\x0c\xce\x8b\x90\x05\x36\x36\x36\x1c\x3f\x48\x35\x11\xdb\xb2\x9d\xfb\xc6\x41\xc6\xbc\xc7\x4b\x65\x00\xb5\x08\xd8\x20\xc0\x93\xb5\x84\x3c\x05\x1a\x52\xb0\x00\xf0\x2b\x3d\x67\x40\x12\xf7\x13\xce\x31\xf0\xdf\xec\x9b\xf4\x52\x45\x87\xb7\x6a\x46\x2d\x23\x14\x17\xc1\x02\x60\xd3\x3a\x64\x90\x2b\x02\x97\xec\x4b\x55\xd4\x01\x6c\xac\xa3\xf8\x4b\x96\xfc\x21\x9c\x00\xfd\xc1\xda\x01\x97\x64\x06\xd0\x36\xfc\xc5\x19\xf5\xdd\xff\xb2\x22\x82\x81\x2c\x10\xce\x79\x35\xb4\x2e\x29\x4f\xbd\x56\x5b\x4e\x3d\x1c\xf6\x9d\x82\xe4\x9f\xb1\xd6\xf5\x86\x40\xb1\xa7\x86\x54\xca\x46\xc4\x43\xe9\x2b\x25\xde\x00\x13\x85\xa0\x83\xa8\x35\x1c\xf8\x0b\xda\xea\xaa\x9a\xd3\x17\xc3\x30\xd2\x16\x95\x35\xc2\x88\x47\x49\x0f\x8d\x8b\x26\xb5\x3f\xc0\x0a\x46\xba\x50\x21\x85\xd5\x74\x12\x9f\xa0\x39\xdd\x6c\x5a\xce\x35\xf4\x11\xb4\x2a\x9d\x76\x14\x50\x6b\x19\x10\x68\x7d\xda\x3f\x1e\x92\xdd\x79\xd1\xbf\x65\x03\xfd\x33\x1a\xd2\xe6\xff\x0e\x62\x35\x1b\xa2\x2b\xda\x6d\x86\xcc\x22\x82\xf2\xe9\x33\xde\x4e\xeb\x02\x0c\x6c\xd2\xda\xa2\xa2\x08\x88\x0c\x20\x45\x20\x75\xda\x77\xda\x3d\xd6\xb8\xcf\x1d\xa9\x58\x50\x10\x81\xd2\xf6\x1a\xec\x28\x3b\x08\x20\x69\xe0\xe7\x74\xec\xb4\xbc\xc0\x16\x0a\x61\x73\x9b\x76\xc0\xfc\xe6\x1a\xa9\xdf\x92\x59\xfb\x6c\x9f\xd5\xbe\x44\x26\x61\x1b\x90\xb5\xcd\x25\xdd\x84\xc9\x45\x7e\xbd\xbc\x79\xd5\x78\xcf\xdf\x18\xfa\xf6\x72\x83\xf5\x14\xb7\xaf\x47\x2a\x3c\xba\x41\xdd\x63\x7b\xce\x68\x0f\x6a\xcf\x89\x2c\x53\xb0\x71\x47\x7b\x4c\x76\xee\x2e\x3e\x6a\xcc\x60\xfb\xc0\xc3\x82\x9d\x42\x53\xd8\x89\xf4\x67\xf6\xf8\x4f\xec\x2f\xb8\x76\xaa\x5c\x52\x9b\xfa\x25\xeb\x31\xca\x0e\xff\x49\x76\xe9\x97\x63\x15\x35\x09\x64\x61\x62\xab\x27\x1b\xad\x9e\x77\xe9\x2b\x08\x3a\x28\x30\x95\x66\x98\x3e\x44\xc1\x90\xc0\x39\x35\x7f\xdf\x82\xbd\xfd\x53\x63\x00\x80\xb9\xf7\x23\xfd\xeb\xaa\x0a\xa3\x07\xa7\x63\x46\xb0\x37\x27\x88\xa9\x82\x36\x06\x88\x80\xac\x2c\x90\x20\x57\x60\xf1\x70\x6b\x2e\xa1\x20\x7d\x9e\x56\x29\x0d\x04\xfa\x9a\xc2\xec\xab\x42\xc7\xe7\xa5\x11\x77\x1e\xad\xb6\xe8\x62\x2d\xf8\x6b\x8b\xee\x79\x5c\x7e\x15\x66\x5c\x85\x61\x85\x77\xab\x72\x3f\x56\xe5\xed\xb4\x1c\xcb\xef\x2d\xc7\xbe\x76\xbe\x74\x0d\x6f\x5f\x2f\x9e\xfd\xcb\xc5\x73\x3b\x2f\x9a\xf2\x3b\x8b\xe6\x25\xf9\xa8\xf3\x6f\x8b\x78\x92\x6a\x46\xca\xc2\x80\x4f\x49\x2b\xdd\x1e\x3f\xdf\x7e\xe8\x02\x62\xdd\xd2\xe0\x12\x4d\xa7\xdd\xc5\xb5\x51\xdf\x0d\xce\x83\x05\x03\xaa\xcf\xbf\x21\x72\x7a\xfb\x13\xa1\xd3\x5f\x23\xa7\x7d\x04\xf0\x31\x58\x73\x82\xc8\x0d\xe9\x66\x8c\xc1\x19\x54\x97\xd2\x42\x69\xeb\xb4\x51\xa9\x61\xc2\x5d\x9a\x8b\x80\x36\xa4\x2b\x08\x7a\x54\xf2\xdf\x1c\x77\xfd\x67\x04\x23\x2e\x29\x3a\xbd\xd4\xd1\x9e\x02\xaf\xad\xa4\x30\xa6\xae\x8a\x69\xa9\x84\x73\x1c\x60\x3b\x87\x08\x0e\x9a\x75\x4f\x2e\x58\x6f\xf1\x74\x43\xf4\x04\x04\x21\x58\xb0\x75\x3d\x43\xb1\xc5\x3d\x67\x11\xf7\x2c\x06\xab\x5c\x00\xb2\xa5\x47\xb1\xed\x3e\xc6\xe1\x76\xd8\x5c\xf9\x19\x67\xe6\xf5\x43\x48\x4b\x0f\x69\xe6\xd4\x5a\x27\x56\x8a\x58\x4e\x92\xb9\x4d\x24\xcb\x26\xba\x3b\x7b\x3b\xfa\xbb\xea\xcd\xfa\x44\x5e\x34\x29\x48\x9c\x3e\x28\x99\xb4\x5d\xd1\xf6\xfd\xe6\xe8\x99\x1a\xa0\x94\xd6\xea\x27\xd4\x99\x9f\xfa\xf7\x2d\x61\xd9\x62\xaf\x42\x35\xc9\xdf\x10\xd0\xbf\xfd\xe5\x8e\xa5\x17\x30\xab\x5e\x94\xef\xcf\xd6\xc4\x4c\x12\x9a\xca\x0e\xe1\x78\x0f\x31\x58\x58\x6f\xa4\xe6\x10\x1d\x51\x19\x2f\x30\xe0\x96\xa4\x25\x96\xca\x1a\x22\x34\x3f\x42\x1d\x00\x08\xe2\xe7\x82\x95\x66\x54\xf0\x24\xfe\x25\x07\x99\x31\x25\x90\xd7\x75\xef\xf1\x1e\x5b\xda\xdc\x11\x60\x70\x69\x45\xbf\x47\x09\x53\x83\x1c\x9d\x8a\x19\xfa\x0d\xd8\xe0\x4c\x5e\x73\x41\x75\x47\x50\xce\x6e\xa0\x7f\x1b\xba\x69\x99\xce\x6a\x01\x7a\x9b\x00\x26\x21\xeb\xf7\x9b\x02\xd1\x31\x1a\xf5\x62\xd1\xf3\xef\x92\xf5\xc1\xd7\x78\xd7\xbf\xdb\x47\x41\x06\x7b\x01\x9d\x65\x89\xde\x0a\x9f\x35\x12\x5b\xd0\xe3\x44\x2c\xdb\xd8\xdb\x99\xfd\xec\x8f\x75\xb3\xdb\x1f\x9a\xbf\xf4\x9a\x1d\xbc\x8a\xf7\xff\xc5\x8c\x70\x93\x4f\xf8\x79\x3f\xec\x24\x76\xf4\x77\x62\x8e\xb6\x14\x7e\x6b\xc5\xda\xce\xcb\xe1\xb1\x48\x1e\xeb\xe6\x69\x35\x3d\xc5\x31\xfe\x95\xe2\x6a\x7a\x4d\xea\x5d\x15\xf9\x4f\xdf\xc6\x7c\xc0\x0a\x4e\xb0\x93\x34\xd4\x9f\x7a\xd6\xcf\x72\xd6\x1e\x7f\xe1\x7d\xff\x93\x32\xbc\xb7\xbf\xf6\xd5\x5f\xb4\xfe\x35\x9f\xf5\x59\xf1\xcd\xd7\xd7\xb9\xa6\x2b\xfe\xfb\x5f\xba\xce\x25\xca\x9a\xd3\xd3\xaa\xad\x42\xab\x16\x35\x7d\x10\xd7\xde\x45\x64\x6c\x95\x6b\xed\x22\xf0\x92\x28\xf0\x92\xa7\x3c\xea\xac\x77\x99\x73\xc9\x60\xf0\xba\x47\xd5\xf9\x90\xe2\xd2\x23\x4a\xf1\x4b\x72\x62\xe8\x58\x44\x35\xc8\x03\xa4\xf9\x2d\x63\x0e\xec\x23\x98\x99\x41\xe9\x16\xf5\xea\xf3\xe4\x8c\xf6\x51\xb5\x3d\xa2\x74\xb9\x47\x4d\xe9\x11\xed\x06\xd8\xa8\xa0\xef\xcb\x75\x2f\x43\x6c\xe9\x29\xbb\xf3\xf0\x27\x7e\x0a\xbf\x24\x0a\xbf\xb4\x57\xb0\x26\xbd\xc4\xcb\xf2\x57\x05\x2e\x29\xcc\x0c\xd8\xb6\x23\xe8\x5d\xf1\xd3\x51\xfc\xac\x1b\x44\x70\x31\x6f\x36\xa4\xfa\xd8\x60\xc2\x30\x86\x9f\x02\x16\xd5\x46\x0a\x43\xd4\x06\x67\x17\xe4\xd0\xd1\x77\xe2\x63\xac\xc7\xd0\xa3\x44\x3e\xb8\x43\x58\x16\xe1\x13\x4e\x6d\x0c\x44\x59\xd7\x9f\xce\xb6\xea\x84\xd6\x08\xa5\xe8\x06\x00\xc2\xa0\x99\x95\x27\x25\x3c\x44\x28\x7b\x8d\x8e\x3e\xa1\x73\x8a\x08\x85\x6c\xa8\xa2\xb3\x9f\xe6\xd4\x93\x3b\xd0\x8c\xa7\x7e\x88\xe8\x0e\x33\x4a\x16\xcc\xc9\x66\xc3\x41\x6d\x17\xb0\xef\x4e\x85\x07\xc4\x18\xa6\x52\x7e\x44\x21\x80\x0d\x08\xbb\x62\x2a\xae\x66\xbf\x65\x84\x0c\x5a\xa5\x3a\x4b\xb3\xf6\x1b\x39\x80\x25\xad\x6d\x92\x35\xf4\xbc\x36\xf3\x89\xe7\x0e\x69\x27\x17\x15\x31\xf8\xe0\x88\x42\x92\xdc\x3c\x3c\x16\x9d\x75\x2f\x06\x65\x63\x14\x2a\xd2\xed\xe5\x98\xd4\x32\x50\xeb\x1d\x60\x36\x6c\x63\xab\x2d\xcc\x0a\xea\x6c\xa6\x62\x6c\x51\x10\x28\x0f\xce\xc9\x35\x02\x00\x00\xa8\xda\x29\x43\x3c\x0a\x7a\x81\xd9\xa8\x43\x94\x08\xe9\xc7\x73\x51\xa7\x5d\x32\x75\x78\x9c\x90\xa5\x04\x71\x8a\xf0\x4d\x3b\xd3\xf7\x7d\x9f\x53\x1c\xea\xe0\xc5\x11\x08\x6a\x86\xd8\xf3\x46\x3c\x7d\x5d\x23\x05\x4b\x7a\xc8\x6b\xb4\x61\xe9\xc5\x85\xa1\x36\xe8\x2a\x4d\xae\x94\x34\x0f\x40\xe7\x45\xf5\xef\x57\x3d\xfb\x12\x5d\xca\x47\x19\xcf\x1c\x76\x75\x25\xe6\x82\xbc\x11\xa5\x6c\x83\x5c\x34\x79\x85\xba\x0c\x52\x2d\x98\x05\x50\x4f\x00\xa1\x14\x32\xdd\x4e\xeb\x31\x47\x59\x23\xec\x70\x86\xed\x48\x44\x33\x53\x68\xe6\xdf\x0d\x7e\x9e\x9e\x9c\x85\xac\x0c\x5a\x42\x4e\x65\x87\x72\xf9\x59\x1e\x63\xcd\x61\x4a\x00\x57\xde\x58\xb5\x98\xfb\x07\x26\xda\x15\xe5\xea\xd6\x5c\x3f\x08\x3c\x46\x84\x62\x1e\x75\x0f\x1c\x6c\x98\x32\xba\xcb\x09\xa7\xc0\x7a\x52\xcc\x64\xfd\xd0\xd7\x27\x1f\x45\x75\x29\x35\xd2\x54\xb6\x5d\x1a\x1a\x41\xab\xd5\xbe\x66\xcf\xe8\x37\x90\xaf\xa9\x8d\x42\xd7\xa8\x98\x33\x0f\x84\xfa\x33\xf6\x2f\xa5\x8e\x6a\x71\x79\x71\x0d\x14\x02\xed\x03\x08\x0e\x81\x08\x90\x42\x55\xa5\xa6\x4d\xa1\x80\x22\xb9\x6c\xd6\x61\xf0\xdb\x56\x7d\x3f\x84\x9b\x7d\xeb\xb9\x37\x3e\x4f\x89\xc7\x65\x7c\x2b\x62\x93\xa2\x2a\x38\x00\xbd\xd0\xcf\xab\x00\x22\xe7\x5d\x2b\xc2\x63\xa8\xb9\x8d\x85\xe9\x8c\x9c\x6f\x8b\x16\x0d\xbd\x63\x36\x82\xe2\x4d\xf6\x11\xc4\xc7\x97\x22\x65\x15\x94\xbb\x2a\x44\x3c\x6c\xe6\x57\xe7\xd9\x6e\xb2\x09\x78\xd0\x30\x42\xb1\x1c\x30\xac\x7e\xda\x3c\x1d\x10\x4f\xe7\xc5\xe3\x6a\x6b\x94\xc9\x50\x51\xab\xc1\xec\xe3\x02\xdb\x3e\x97\xc5\x96\x83\x92\x60\x28\x8f\x20\xa0\x2e\xb6\x39\x76\x90\x24\x23\xdb\x12\xc5\x9b\xd8\x3d\x78\x0b\xde\xc1\x6e\xc0\xeb\xb7\x17\x8c\xaa\x55\x2f\x71\x9e\x7c\x2d\x7a\x7a\x57\x08\x00\xac\x82\xd9\x49\x8e\x42\xb3\x2d\x02\xc0\x1c\x1b\xf6\xc9\xce\x36\x5b\x10\x44\xcd\x0b\xc7\xbc\x93\xd5\x2b\x7f\x44\xfb\x09\x4c\xd9\xd8\xfc\x87\xff\x95\xc7\xe0\x04\xde\xc3\x8c\xa5\x2f\x6e\xc2\xb0\xde\x3f\x74\x13\x3c\xab\x4a\xbb\xfd\xa3\x17\xea\x13\x02\x8e\x28\xd0\x06\xa6\x42\x51\x77\x6d\x1b\xbe\x77\x2f\xef\xfe\x78\x2f\xc5\x44\x3e\xd8\xfd\xe2\xab\x5e\x22\x2a\xf9\x2b\x8d\xec\x9e\x0a\xd4\x87\xc1\xa6\x93\x8e\x6c\x2a\x57\x48\xfc\x08\xf8\xd3\x76\xde\x3e\x1f\xb4\xa7\x99\x1d\xdd\xc6\x4c\x74\x97\xe7\xe9\xfb\x6f\xe7\x03\x9d\x35\x00\xc5\xd6\xd5\x27\x5e\x67\x25\xfe\x51\x3d\xb6\xae\x28\xed\x60\xae\x05\x58\x90\xfd\xaf\xbb\xbc\x25\x40\x42\xb9\xea\xc3\xfe\xf9\xfa\x28\x99\x14\x41\xdb\x1d\x77\x88\x10\xe3\x58\xdc\x26\x57\xc5\x95\x7e\x3d\xe6\x74\x08\x1f\x44\x72\xd8\xff\xb2\xed\x07\xd9\x1b\x3c\xf8\x04\x1f\xee\x96\xf9\xd5\x0b\xe6\xaa\x2c\x9b\xf7\xf4\x44\x55\x08\x62\xcc\xb4\x4d\xc8\x80\x10\x88\xab\x79\xc0\xae\xa1\xb6\xbd\x2d\x37\x35\xbd\x00\xe5\xd5\x1c\x9e\xb8\x3b\x29\x41\xd2\xf4\xaa\xbb\x04\xa1\xf0\x92\xb1\xd4\x6d\x4d\xc3\x90\x0d\xcb\x3b\xa9\x81\x08\x64\x4c\x5c\x5b\x48\x66\xbf\x76\x70\x59\x07\xa9\x14\x74\x92\x53\x1e\x3c\x1d\xdb\xdc\xc4\x21\xa8\xa9\x02\xc5\x32\x98\xe9\xfb\x0e\xc7\xb1\xe9\x6d\x36\x33\x91\x6d\x71\xc7\x42\xcf\xd7\x04\x53\x7c\x9c\x09\x5f\xfc\x45\x0f\xcf\x97\xd0\x4e\xfe\x8a\xa7\xec\x3f\xad\x87\xf7\x21\x21\x6b\x5a\xa0\x63\xa3\x65\xae\x88\xbf\x61\xed\x39\x7a\x2b\x03\x74\x02\x48\x51\x7e\x1f\xa2\x3b\xfb\xf8\x0b\xc4\x70\xb4\xf8\x06\xae\xb6\x1f\x9b\x79\xac\x77\x5c\x84\xc4\x21\xde\xda\x6e\xa7\x08\xe2\x33\x4c\xb3\xbc\xbb\x92\x5f\x88\x47\x65\xef\xc2\x41\x75\xf1\x6b\x1c\x11\xe8\x53\x54\xe7\x78\xa1\xfd\x52\x3c\x28\xdb\x41\xec\xe7\x88\x55\xef\xef\x74\xbc\xf5\xfb\x68\x06\xe6\xf3\x8c\x06\x8a\x32\x90\xef\x16\x08\xfb\x1d\xff\xcf\x5d\xdb\x0e\xbf\xec\xe8\x7f\x12\x4d\x67\xa7\x6a\xfb\x68\x10\xdc\xbe\x3d\x0a\x7e\x6f\x10\x30\xc3\xa2\xca\x0a\x76\x51\xdd\x32\xe0\xae\xfa\xae\xa7\xab\x79\x1f\xe6\x0e\x34\xd7\x0c\xec\xd4\xec\x43\xfa\x38\xa3\x82\xc9\xde\xaa\xf0\xad\x5e\x08\x63\xd6\x7c\x89\x2f\xe5\xaf\x98\xdb\xb4\xba\xb8\x77\xd7\x4f\x32\x34\x65\x00\x16\xf4\x00\xb8\x92\x2c\xb0\xd8\x24\x01\x00\xf2\x37\xbf\xd4\x7d\xc9\x27\x97\xea\xc9\x0b\xaa\xc8\xc0\x83\x62\xaf\x6e\x2e\x90\x6c\xf8\xa0\xbd\xf2\x67\xb4\x8d\x8e\xb0\x96\x6c\xfb\xcf\x7d\x87\x1f\xc8\xf3\x9c\x91\xaf\xf6\xe6\x81\xf3\x3a\xc3\xbb\x11\x7a\x1e\xbb\x77\x7b\x80\xdb\xc7\x74\x56\x5c\x36\xcd\x56\x78\xd5\xbc\x97\x10\x51\x3e\x64\xa5\x59\x0c\x52\x73\x5b\xa0\x9b\x85\xa6\x13\x04\xcb\xa7\x82\xd6\x04\xac\xd7\x00\xdf\x67\x9d\xfe\xe7\x02\xbd\x1b\xfb\xfc\x23\x2b\xb7\x46\xe6\xdf\x6d\x09\xb1\x23\x71\x1a\x41\x9f\xbd\xe0\x8f\x32\x95\xf7\xb0\x5b\x68\x6d\x4b\x46\x75\x5c\x1b\xf7\xdc\x07\x7e\x81\x80\x55\x6d\x6f\x3f\x7b\x83\x08\xf5\x62\xd6\x20\xbf\x9b\xbc\xf2\xe9\xf3\x25\x10\x93\xc7\xb3\xb0\x78\x0c\xbc\xe3\x7b\x79\x6e\xd2\x1c\xe7\x3d\x00\x61\xeb\xd4\xf0\x64\x33\xd8\x1f\xd4\xa3\x40\x90\xec\xc4\xf6\xec\x2e\x1a\x91\x74\x85\x06\x48\x0d\x80\x22\xd9\x01\xf6\x57\x33\xd5\x50\xbb\xa2\x0c\x4d\x07\x4d\xdb\x08\xb9\x32\x93\x05\x89\xd2\x41\x7d\x18\x5c\x6f\x9a\x9f\x4f\x34\x92\xea\x83\xf7\x46\xb6\x26\x3f\x65\x0f\xf8\xac\x13\x35\xe4\x25\xb1\x69\x6c\xad\x1d\xe6\x9c\xda\xec\x53\x9b\x79\xba\x82\xd0\xb7\xff\xe4\x9f\x6f\xdc\x88\x95\x7b\xec\x97\x6d\xff\xe9\x3b\xde\x7e\x4a\x2e\xc5\xda\xfd\x61\xe3\x29\x92\x90\xc1\x61\xbb\x2f\x7b\xd5\x25\x64\x95\xe7\xff\x8a\x2d\xae\x63\x04\xd5\xb2\x82\x60\x5b\x24\x87\xd2\xb7\xd2\x6d\x0b\x64\x3c\xf8\xc9\x3f\xdf\xb8\x11\x4b\xc7\x1e\xd0\x14\xee\x3f\x7d\xc7\x1b\x16\xea\xa3\xc1\x6b\x29\x6c\xef\x5a\x8a\x2d\x15\xe5\xbb\xb7\xfa\xce\x9d\x00\xa1\x7d\xde\xaa\x37\xbf\x55\x7f\x39\x96\xae\x41\xc4\x6b\xba\xf2\xe9\x32\xd5\x69\x8f\x46\x96\x5f\x8a\xe7\x6a\xdd\x65\x9e\x48\x8e\x95\x19\x21\x66\xde\x86\x69\x9b\x1c\xc6\x12\x4b\xab\x41\x33\x17\x3b\xd9\xe9\x13\x33\x7d\x63\x33\xb0\xcc\x61\x7f\x88\x00\xda\x67\xab\x4f\x0a\xb9\x6c\x3a\x83\x78\xfa\x05\x81\xa1\xba\x54\xd4\x1c\x51\x6c\x2a\xa3\x82\xe7\xed\x67\x33\x43\x2e\x49\x59\x2a\xd4\x5b\x5b\x5b\xa2\x6d\x69\x6b\x8f\x96\xd2\x0e\x1a\x9c\x10\x20\xab\xe5\x78\xe8\x83\x6b\x11\xc5\x3e\x04\xec\xf6\x20\x79\x89\xa5\x48\x50\xc5\x99\x63\xda\xfb\xc2\x77\xb2\x25\x5a\xc9\x4b\x5b\x88\xe3\xcd\x2e\x7f\xea\xa2\xb7\x33\x41\x33\x26\x6b\x09\x55\x3b\x2a\x35\xa1\x3d\xa7\x7b\x99\x71\x0b\xb1\x2d\x15\xf4\x61\x3d\xad\xe6\xd9\x87\x12\xe2\xcb\x4f\x74\x0d\x61\x1e\x2c\x27\x23\xcd\x50\xb3\x2e\xda\x5a\x28\x73\xda\xb0\x56\x17\xf3\xc9\xe2\xe9\xb5\xe2\x58\x4e\x9b\x93\x8b\x06\x4c\xcd\x40\xaa\xdb\x2c\x60\xd6\x5c\xb3\x4e\x34\xf3\x23\x66\x2d\x77\x49\xf2\xc8\x32\x76\xf5\xb2\x93\xfe\x23\xd6\xd6\x83\x6b\xfd\xd5\x43\x5f\xa3\x53\x57\x5a\x07\x9d\xcd\xdf\xa3\x20\x20\x90\x27\x34\x81\x59\x03\xeb\x44\x22\x30\x9c\x94\x7a\x1c\x15\x96\x16\x68\x2c\x08\xc4\x1c\xce\x44\xbb\x46\x08\xd5\x95\x14\x6a\x35\xa7\x35\x43\xba\x0a\x35\x3a\x2c\xbe\x56\x46\x84\xc0\xba\x3d\x79\x27\xe8\x1d\xe1\x9b\x90\xb0\x64\xf8\x6d\x78\x97\xe3\x26\x28\x12\xc4\x3d\x28\xb8\x87\x12\xa1\xba\x33\x82\x66\x88\x56\x04\x4a\x70\x7a\x9d\xf7\xe9\x5e\x0d\xb9\xfa\x15\xb3\x1a\x29\x8b\x42\xac\x4f\xa1\x98\x22\x3f\xea\x6d\x25\xc7\x42\x18\x0a\x2e\xe4\xdc\x29\xef\x4b\xa6\xe6\x46\x96\x13\x72\x7d\x22\x18\x56\x81\x01\x2a\x98\xe8\x58\x92\xc6\xd2\x25\x5c\xbb\xe3\xbe\x05\x85\x41\x89\x82\x57\xda\x89\x76\xa5\xde\x68\xef\x1e\x45\x8d\x7e\xd7\xe8\xb7\x8d\xef\xee\x7b\xba\xed\xe9\xae\xb8\x69\x73\xe2\xbd\xad\xed\xb7\x13\xd4\xaf\xa7\x59\xee\xb2\x9a\x61\x08\x2e\x61\x04\xdd\xec\xde\x03\x23\x97\x9e\x94\xdd\x7c\xba\xd8\x18\x72\x0f\xdd\x73\x0f\xc8\x43\xec\xfe\xd3\x48\xa1\x50\x53\xd5\x8c\x06\x4c\x2c\x88\xe4\x15\x08\x9f\x93\x3d\x17\xc5\x7a\xe0\x92\x78\x2e\x8e\x36\xfd\xb0\x4a\x06\xd1\xb2\x63\x6b\xdf\x69\xb3\x24\x84\xce\x6d\x60\xcc\x19\x58\xfa\xc8\xaa\x2e\x26\xbe\xbc\xb0\x0f\x0c\xbb\xda\x43\x4b\x61\xa8\x07\x89\x81\x6d\xa7\x96\x88\xba\x34\xed\x46\xd5\x83\x6e\xcd\xb7\xeb\x62\x93\x85\x19\x44\x75\x79\x1d\x64\x57\x80\x80\x88\xde\xac\xc3\x99\xe1\x03\xea\x05\x71\x08\x72\x79\xfa\x61\x1e\x9e\x76\xb2\x5f\x40\xe9\x73\x5f\xa9\xdd\x04\x41\x1c\xf6\xae\xd6\xa8\x58\x1f\xdb\xe8\xfb\xec\x6b\x6e\x20\x49\x45\x8a\xec\xfa\xa3\xad\xba\x50\xaf\xb9\x29\x10\x7e\xb4\x67\x9e\xae\xf3\xe0\xfb\xa8\x2f\x8b\x8e\xdd\x43\xa1\x7e\x7b\xe6\x23\x17\x5d\x1b\x66\x61\x09\xb2\xa2\x5a\x36\x14\x09\x10\x7d\x0f\x3a\x83\x39\xf5\x00\xc8\xd2\x99\x28\xab\xfd\x0d\x6c\x42\x00\x66\xd8\xc4\x6d\x6e\xce\xcd\xc6\xa1\x28\x28\xe8\xa4\xad\xb9\x5a\x0f\x82\xde\x37\x10\xe6\x94\xca\x9c\x0f\xd4\x7d\xd2\xe1\x19\x41\x59\x20\x6a\x9e\x74\x27\x43\x83\xd9\x97\x03\x2b\xca\xb4\x33\x52\x18\xb2\x4a\x0d\x4d\xc3\xcc\x61\xda\x0b\x08\xc8\x96\x20\x34\x98\x99\xa2\x02\xf3\x40\xf7\xc8\xb2\x75\xbf\xbb\xe4\xd5\x86\x54\x65\x36\x2c\x73\x05\xa9\x08\xf8\x42\xed\x2a\xf9\x88\xdf\x37\x98\x07\x11\x98\x1a\x50\x21\xcc\x08\x9f\x4d\xb1\xee\x99\x42\x0b\x82\x64\x49\x53\x84\xd2\x49\x14\xe3\x2c\xbe\xb6\x9e\x75\x64\x16\xb2\x86\xec\xc4\x91\x61\xea\x16\x95\xd6\xbe\x19\x38\xa2\x2d\x4c\xbb\xf4\x44\x23\x59\x27\xe5\x0c\xa0\x5c\x98\xa8\xaa\xc6\xce\x56\x9c\x49\x52\x36\x0a\x1e\x3a\xa9\x8c\x53\x3f\x25\x8c\x34\x29\x81\x85\x2b\x6b\x19\x36\x88\xe7\x08\xe6\x49\x16\x54\xf5\xa2\xf4\x57\xca\x52\x7a\x28\x6d\x6d\x12\x6c\xcc\xb6\x0c\x6d\x73\x29\x35\xf4\x1c\x74\x68\x18\x94\x35\x1c\x54\x5b\x3c\xd6\xc4\xb2\xf1\x0d\x88\xda\x21\x69\xb3\x80\x90\x5d\xd2\x5a\x67\xf5\x77\x01\x83\xca\xbc\xad\x73\x40\x66\x09\x51\x68\x55\x5d\x91\x7c\x4e\xc1\x7c\xda\x79\x17\x08\x87\x0d\x16\x43\x54\x92\x52\x64\xca\x2d\x66\xf4\xf1\x45\x6c\xd1\xb7\xe7\x09\xd9\xe6\xf4\x0d\x32\x45\x6b\xcf\x88\x25\x4d\x28\xc9\x0d\x1b\x4d\x58\xe5\x38\x80\xb2\x3f\x20\x04\x8e\x30\xfd\xa9\x39\x2c\x5c\x9d\x9f\x93\x27\x98\x79\xcc\x0c\x58\x91\xe1\x50\x12\x9b\xd8\x6c\x43\xa9\x3c\x96\xa9\xf7\x15\xc3\x16\x24\x2e\xec\x10\xf8\xb9\x4a\xb0\xee\x3b\xf0\xed\x06\x02\xd6\xd9\x3a\x95\x7d\x76\xf4\xbe\x04\xd1\xd3\xdb\x86\xba\xac\xcc\x8e\xd7\x10\x69\xca\xe8\xa9\x71\xd6\x75\x52\x89\x32\xc4\xb1\xcb\xfc\x67\x4e\x05\x63\x6c\xd6\xdf\xa3\xe3\xa0\xa0\x69\xd7\x5d\x48\x0f\x72\x00\x21\x76\x88\xee\x48\x05\x61\xc2\x34\x17\xb6\xdb\x60\xd2\x15\xc1\x36\x1b\x63\x42\xcd\xbf\x09\x45\xac\xdc\x57\xa4\x76\x9a\x8d\xca\x98\x8b\x75\x12\x1b\x94\x23\x10\x9d\x24\x29\x00\x9b\xbd\x72\xb9\x08\xf0\xe9\x21\x10\x39\x38\x09\xbc\xfd\x94\x09\xc9\x7e\x92\xbe\x28\xc3\x33\xb5\xac\xc0\x74\x2b\x59\xec\x25\xeb\x6d\x75\xdf\xdf\xfa\x38\x5a\x1b\xc5\xfb\x73\x57\x27\x63\x43\x04\xe9\x1b\x97\xf6\x04\x56\x9b\x19\xa6\x56\x9b\x11\xcc\x28\x29\x4e\x76\x86\xb3\x99\x57\x00\x05\x79\xc3\x23\xdb\x3c\x00\x02\x31\x29\x01\x5a\x37\x6b\xcc\x54\x11\x97\x20\x90\xba\x89\x7d\x82\xd5\xc5\x39\x6d\xb0\x38\xd8\x70\xb1\x3b\xa9\xd9\x3c\x72\x90\x11\x95\x20\x6b\xc1\x88\xad\xa4\x1b\xca\x8e\xd7\x2d\x39\x64\xfb\xb6\xe6\x75\x05\xc9\x04\x53\x8a\x19\x90\x5a\x47\x18\x79\xae\x90\xc2\x20\x7b\x3f\x5e\x3b\x82\x70\xdb\xac\x85\xb2\x7a\x2a\x0b\xa9\xd1\xb4\xd1\xbc\xa5\x78\xa9\x4b\x4e\x92\x35\xc6\xd9\x6a\xb1\x89\xb4\x92\xce\x12\x7a\xee\x2b\xea\xe6\x25\x4c\x4f\x19\x4a\xb6\x11\x8a\xa6\x40\x4b\x6c\x1c\x74\xd6\x40\x8f\x84\xa8\x12\xe4\x8d\x83\xbd\x18\x27\xd7\x10\x3b\x29\x45\xda\xa1\x9e\x2e\xe8\x6f\x36\x37\x22\x9c\xff\xf6\xb3\x74\x09\x6d\x64\xeb\x24\xa2\x05\x83\x3e\x57\xd2\xf7\x95\x40\xe7\x7f\x2c\x1e\x7a\x78\x08\xa4\xef\xa2\x6b\xcb\x45\x99\x0d\xb6\x91\xb9\x24\x21\xe6\xb7\xdb\x4f\x29\xb9\x84\x56\xca\x3a\x28\xef\xdc\x9e\xdf\x90\xa4\x70\x40\x5b\xa0\xce\x22\x30\x40\x4c\x95\x78\x9b\x1d\x69\x4e\x68\xb2\x49\x7c\x10\x6b\x4d\x9e\x35\xd8\xac\x98\xab\x5a\x28\x4f\x2c\x0f\xca\x83\x29\x0d\x3c\xa7\x59\x2d\x98\x68\xb3\x53\x7f\xed\x95\x26\xfc\xc3\xa4\x24\x91\x1f\x65\x5b\xd8\x80\x90\x91\xa7\x83\x21\x4d\x69\xbf\x73\x72\xf0\x43\xcc\x47\x1e\x09\xea\x1d\xd0\x9e\x41\x17\x92\x90\xac\x29\x60\xb4\x07\xe6\x80\x9b\x4b\xa7\xc7\xd6\xf0\xdd\xa4\xc0\x87\xa4\xce\x3b\x79\x3a\x80\x19\x87\x62\xac\x84\x3c\xd9\xa7\x99\x78\xde\x9d\x1d\x7b\x37\xd1\x50\x4a\x87\xa6\xe7\x04\xd1\x0e\x0f\xb4\xb9\xa0\x84\x96\xed\xbe\x66\x4b\x44\x56\x14\x87\x08\x49\x58\x7c\x0d\xb3\x9c\x74\x33\x6b\x29\x83\xe7\xaf\x34\xa4\x38\x05\x92\xf7\x50\x2a\xb5\x9f\x92\xde\x7e\x76\x9b\xab\xb2\xe7\x76\xeb\x0c\x6e\x72\x8c\xc3\x0a\x45\x19\x95\x0d\x99\x81\x4a\x2b\x10\xf1\xa9\xac\x58\x92\x46\x98\x69\xb3\xa9\x3b\xe5\xdb\x1a\xdb\xe4\xbc\x04\x9d\xb3\xb7\x9f\x75\x9a\x41\x90\x80\xa6\x70\x40\x40\x6e\x08\x8c\x47\x31\x0f\x8a\xc1\x63\x2d\x69\x73\x0f\x5f\x6a\x81\xd2\x59\x31\x2b\x83\x22\xf4\x6d\x53\x34\x9d\x56\xeb\xd5\x19\x1c\x59\x39\xb9\x11\x11\xf6\x25\x19\xc6\xf8\x26\x01\x79\x8b\x47\x14\xf2\x80\x22\x79\xe0\x44\x4b\xe8\x51\x28\x76\x98\x09\x46\x2d\xcb\x0b\xc1\x4f\x36\xf0\x07\x1b\x28\x36\x68\xe0\x52\x46\xb2\x71\x81\x72\x0f\x74\x8c\xa4\x85\x99\x5b\x44\x93\xf4\xcd\xfc\x90\x7a\x0c\xd5\x72\x5b\x38\x29\xb3\x80\x29\x44\xf3\xa1\x94\x99\x6b\x17\x3e\x97\x7d\x83\x64\x01\x09\x77\x8a\x5c\x62\xf1\xd5\x90\x08\x4d\xce\xf4\xe4\xda\x82\x2c\x80\x03\x3d\x0d\x97\x18\x30\xf4\xf0\x4c\x7b\xc7\xe9\x8b\x40\xca\xb0\xce\x94\x0c\x59\x30\xe7\x0b\x28\xc5\x06\xec\x91\xea\xdc\x75\x99\x0c\x3b\x8d\xcd\x03\xf1\x8a\xd0\x2a\x69\xaa\x1a\x2b\x87\x05\xb6\x27\x3c\x16\x94\x20\x26\x44\x12\xc6\x8a\xb9\x35\x87\x4c\x6d\x65\xe4\x63\x6c\x12\x4c\x0c\x3d\xf7\x04\xcb\x9e\x9c\x7b\x72\xf4\x74\xd6\x66\xb0\xb8\x27\xef\x3a\x07\x98\xd2\x39\x73\x86\x38\xf3\x06\xbc\x5d\xd1\x15\x2c\xc4\x61\x96\xa0\x63\xab\x39\xf4\xf9\xf6\xb3\x4a\x0a\x35\x43\x65\x18\x84\x6c\xf6\x28\x73\x95\x09\xde\xae\x90\xa7\xd9\x75\x05\x95\x06\x55\x5d\x45\x3f\x88\xcd\xae\x34\x64\xa5\xb1\xc1\x8a\x6b\xfa\x32\x09\x81\xff\xca\x66\xff\xd6\x95\xb0\x33\x3a\x6e\x9d\x0b\xae\x7a\x0b\x66\x5f\x68\xd1\x6a\x08\xff\xdf\x23\x34\x50\x31\x31\x00\x1e\x05\xc6\x5b\xeb\xd7\x99\x70\x9f\x9f\xb5\x53\x0d\x73\xad\x99\x1c\x48\x62\xb6\x93\x7d\x99\x5a\xa0\xb7\x10\xcd\xf7\xb2\x99\x12\x2e\x10\x05\xdf\x1a\xd0\x0c\xd6\xa1\xb8\x1a\x9b\xcd\x58\xa9\xc2\xa7\x33\x94\x69\x6b\xe4\xa0\xcc\x46\x41\xdc\x6b\x8c\x7b\x44\x2f\x07\xd3\x26\xd5\x63\xc1\x8c\xd6\xd7\x12\xaa\x35\xa0\xb5\xc2\x0a\xbd\xf8\x90\x73\xe8\xb2\xe0\xb5\xd7\x1c\x7a\x87\x28\x6b\x5e\xf7\xe8\x59\x0a\xe6\x58\x99\xdb\x8f\xb7\xce\x19\x8b\x16\x52\x1a\xf0\x5d\xc1\x3c\x8a\x72\x2d\x10\x7f\xe1\xd2\x28\x88\x29\xac\xf4\x88\x79\x64\x6a\x5f\x82\x26\xc0\xe6\x0f\x70\x59\xf7\xf6\xf6\x53\x01\xd5\x9d\x69\xad\x81\xb8\x0c\xc2\x89\xd0\x2d\x00\xe2\x93\xa4\x41\x30\x30\xb3\xfb\x42\x54\xe6\xe8\xac\x67\x60\x47\xd2\xb9\x17\xb7\x87\x4c\x6f\x99\x16\x8f\xad\xcd\x7d\x92\x11\x6f\xac\xf6\xda\xc1\xba\x52\xd1\xcd\x7a\xd6\x7c\x05\xbe\xca\xd7\x5a\x80\x4b\xad\xe4\x89\x57\x52\x2a\x2a\x91\x59\x90\x34\x18\x34\x11\x69\x9b\x53\x3c\xa1\x2c\xa7\xf9\x14\x5d\xc8\xa9\xd6\xb6\x7d\xe3\xe0\x47\x2c\x5c\xfb\x9a\x5b\x9d\x7e\x11\x54\x8f\xf4\xfa\xfe\xf2\x9c\x85\xdb\x7e\xdd\xfd\x16\x7e\x03\xbf\xfc\xf3\xe2\xc7\xa5\x0f\x93\xf6\xb8\x84\x5d\x3e\xd9\x54\x3a\x57\x64\x69\x12\xab\xa0\x8e\xca\x29\xeb\x69\x43\x19\x07\x6e\x79\x03\x00\x93\x75\xd2\x9a\x92\x0b\xef\x28\xd2\xb0\x14\x87\x71\xd6\xd8\xcc\x6f\x45\xea\x56\x54\xe5\xd0\x5b\x65\x8a\xc3\xe5\xc3\xd1\x68\x1d\x9c\x90\xce\x08\x89\x25\xc4\x35\x93\xb0\x44\x96\xcd\xc5\x9c\x3a\x26\xbe\xe1\x4e\xae\xb7\x2c\x9f\x31\x52\xd6\x05\x04\xd2\xa3\xba\xfc\x8e\xba\x3a\xa0\x2d\xb1\x55\x28\x13\x24\x09\x3d\x42\x40\xcf\x32\xcb\x6e\x70\x8e\x4c\x55\xaf\x4a\xb6\xa6\x4d\x6c\xca\xf2\x5a\xd1\xca\x32\x26\x7e\x1f\xd9\xd0\xb5\xcd\x06\xb9\x6d\xe0\xc4\x44\x79\x39\x7d\xec\x2c\x25\x80\x61\xd0\x3c\x48\x1c\xe8\xa7\x10\x06\xe6\x6f\x85\xa4\x37\x2b\xe9\x50\x02\x89\x72\x3f\xfb\xa8\x4c\xe8\xd4\xd3\x4a\x9f\x50\x68\x81\x88\xa8\x5d\xe1\x55\x8f\xbd\xd6\x39\x7c\x45\xee\x36\x66\xb3\x29\x47\xed\xf9\x91\x06\xce\xa4\xc5\xdf\xa2\x3a\xa1\x5c\x3f\xa1\x65\xf9\x47\x84\x0f\xec\xc0\x6d\xff\xf9\x6e\xef\xbb\x13\xf7\xcb\x65\x50\xe2\xfb\x3e\xee\xe2\x49\x3c\xa7\xb5\x60\xd7\x89\xfb\xcf\xf3\xbe\x78\x3e\x29\xf2\x42\x04\xbb\x79\xbe\x00\xd4\x71\x36\x4a\xba\x6c\xf8\xdc\x87\x84\x96\x8e\xc6\x3e\x65\xe3\xc1\x37\x6e\xae\xbd\x65\xfb\xe2\x71\x78\xdc\x2f\x80\x0d\x94\x3c\x8e\xf6\x54\xd6\xc2\xc1\x5d\xec\x36\x9b\xff\xd8\xff\xbc\x1f\xc7\xf3\xde\x7e\x16\xaf\xb7\x81\x9d\x49\xdd\xf7\x47\x2c\xe4\xfe\xdb\x65\xe0\xa5\xdd\x23\x90\x84\xb4\x45\x5b\x90\xf6\xe0\x21\xd8\x0e\xd2\xee\x59\x77\x14\x7d\xfa\x82\x5a\x70\x8f\x81\xb1\x3c\xd6\x46\x49\xe1\xd8\x6e\x8f\x28\xf2\x19\x48\xf2\x63\x64\x27\x18\x87\x27\x90\x8d\xb8\x08\x68\x30\x3b\xb5\x8c\x3e\x63\x3e\xf4\xef\x00\xe0\x1b\xb5\x68\x5d\x6f\x29\xe5\x8d\xf0\x48\xa2\x24\x89\x90\xc0\xce\x2d\x9e\xb7\xdf\x1d\x14\x4f\x67\xfb\x36\x36\x79\x90\x1f\x03\x56\x3c\x9c\xfc\xdc\x3a\x1f\x70\x9c\xf7\xf6\xb3\x96\x12\xa6\x8e\x47\x9c\x0c\xbd\x23\xd5\x1f\x09\xc9\x88\xef\x30\x19\x73\x73\x30\xe8\x6a\x8b\x42\xf8\x90\x6e\xf1\x33\xb6\xc5\x13\xe0\xf4\x1b\x57\x37\x8f\x04\xef\xa0\xe0\x50\x2d\xd3\x5f\x11\xde\x39\x2a\x76\x81\x25\x29\x73\xe7\x9f\x9e\xfa\xa0\x7e\xc8\x55\xe8\x68\xcc\xf6\x59\xa2\xb7\xda\x02\xfc\x81\x4c\xd1\xdd\xce\xb9\xc8\x12\x7d\x3d\xa5\x94\x4b\x61\x49\x49\x5f\x2d\x82\x53\x29\x34\xf1\x40\xae\x36\x4a\x6b\xe5\x61\x5b\xb6\xe1\xb9\x6c\x24\x8d\x75\x90\x71\x13\x24\x0b\x28\xf3\x61\x5f\x75\x48\xc7\xbc\xdb\x34\x7e\x86\xe6\xc6\x49\xec\x56\xb6\x26\x4f\x1f\xb4\x39\x8e\xff\xa5\xd5\x75\x8c\xb7\x9f\xf6\x78\x61\x64\x3d\x68\x41\x3f\x57\x7e\x79\x00\xb3\xb6\x57\x14\x7b\x8a\x6c\x4f\x9e\xed\x8f\x44\xed\xdc\x3d\xb3\xc6\x4c\xdb\xed\xc1\x87\x6a\x2d\x78\xea\x8d\xfb\xf9\x54\x47\x86\x2e\x32\x45\x67\x27\xf3\x56\x5f\x10\x87\xbe\xf8\x2e\x97\x22\x88\x72\xa9\x4a\x3f\x93\x5e\x53\x71\x87\x9f\x42\x47\xda\x3f\x8f\x8e\x64\x56\x58\x6f\x40\xe0\x7c\xfe\x34\x7f\x67\xdb\xfd\xb5\xa6\xf3\xc7\x2e\xe5\x45\x47\xba\xfd\xb1\x9e\x74\x7f\x2d\x27\x50\x2e\xb5\x13\xe5\x2a\xd7\xfe\xf1\x57\x41\xe1\x23\x3e\xca\x98\xed\xdf\xdf\xe4\x0f\x7e\x93\x4b\xad\x47\xb9\x4a\x9d\x7f\xfc\x4d\x40\xdc\x83\x6f\x02\x72\x97\x7f\x7f\x93\x3f\xf6\x4d\x2e\xd5\x20\xe5\x5a\x90\x7b\xfa\x26\xff\x2b\x37\xfc\xe7\xed\x7e\xfb\x1b\x1a\xfe\x52\xac\x51\xae\x44\x77\x67\x6c\x66\xce\xa1\xcc\x8c\x28\x48\xe6\x93\xb7\xb9\xba\xf6\x14\x9c\xf9\x58\xd2\x3d\xe6\xa1\x8b\x26\xb1\x36\x68\xf0\xbe\xb5\x06\x67\x8a\x47\x4c\xaf\x52\x4f\x2c\x76\xcf\xc1\xbb\x83\x8e\x28\x77\x80\x4e\xf7\x94\x50\xaa\x2e\x31\x23\x58\x29\xfa\xab\x22\x0c\x22\x2f\xd4\x51\x63\xf2\xda\x1f\xa1\xce\x87\x13\x9e\x14\x66\xef\xe7\x2a\x1a\x6a\xc0\x71\x00\x5a\xf0\xfc\x57\xed\x72\xa9\x90\x28\x57\xbe\xb1\xa4\xe5\x20\x3b\x75\xc6\x87\x98\x5d\xca\x13\x8c\xcf\x66\xf6\x14\x69\x87\x56\x24\x3f\x7a\xac\xae\xeb\xa0\x25\xec\xc7\xdd\x5b\xf1\x23\x40\x39\xde\x59\x90\x34\x8a\x0b\xec\x89\x87\xaf\x23\x25\x6e\x4a\x03\xad\xb9\x1d\xdf\xca\xca\x5b\x66\x84\x60\xca\xa3\x96\xf2\xd4\xbe\xb1\x9f\x24\x9c\x00\x3c\xd9\x8f\x39\x9f\xcc\x5b\xed\x97\x5d\x91\x88\x28\x2d\xf8\xad\xcf\x8f\xf5\xaa\xc5\x2e\xe5\x19\xe5\x42\x23\x75\xae\xc2\x84\xae\xb0\x54\xf5\x36\xb1\xc6\x64\x3b\x61\x70\xe4\x51\x0e\x15\x9f\xe4\x8f\x60\x7f\x43\xcd\xa2\xbd\x5c\x52\x7f\x4d\x28\xae\x8d\x72\x08\x31\x25\x9c\xb7\x83\x0a\xde\xe1\x04\xf6\x16\x39\xb4\x80\x08\x97\xf8\x64\x9f\xb2\x36\xe0\xa4\x26\xb4\x1f\xe4\x95\xf9\xe9\x68\xe2\xe7\xd3\xfc\xfa\xcc\xbf\xbc\x9b\xe8\xb8\xdd\x69\x64\xc1\x32\xfe\xf4\xfa\x50\x6d\x9c\x8d\xef\xb1\x5b\x01\x2c\x48\xb5\x3f\x1d\x06\x02\x0a\x1e\x2b\xd2\xe1\x7a\x6f\x25\xb1\x5a\xcb\x36\xb8\x44\xa1\xe4\xc6\x96\x2f\xfc\x1d\x75\xf2\x47\xfb\x46\x76\x81\x57\x10\x98\x72\x09\x7b\x95\x2b\xe7\xd0\x3b\x39\x15\x94\xa8\xf9\x2b\x01\xf0\x72\xfd\xac\x78\xf8\xeb\x57\xdd\xff\x70\xdd\x65\xd7\xb9\x7e\x6f\xbb\xcc\xf9\x73\x9f\xda\x71\xbf\xd5\xb3\x27\xb0\xcb\xed\x68\x98\x5f\x7b\x02\xfc\xab\xbf\xd8\x4d\xb4\xb6\xdb\x87\x9f\xd1\x5a\xff\xfd\x63\xf9\xc9\x6f\x3f\x6d\x84\xd9\xae\xfd\x15\xde\xbd\xe4\x2f\x6d\xf4\xbe\x25\x71\xfa\x98\x9f\xf7\x4e\xac\x33\x9f\xee\x4c\xd4\x1f\xf9\xe5\x66\x47\x0b\x7e\xf0\xb1\xce\xc3\xeb\x7d\xbb\x7f\x63\x81\xb9\x84\xa0\xca\x7c\x47\xd9\xab\x63\x70\x92\x8c\x53\x07\x66\x72\x06\x34\x1d\x41\xd4\xc6\x43\x72\x71\xc4\x12\x71\x46\xd8\x79\xc7\x5f\x71\xb4\x23\x8b\x88\x33\x7a\xd8\x65\xee\x60\xd9\x79\x5e\xeb\x04\x47\xf2\xfc\x9f\x8d\xa4\x8c\x84\x79\x65\x6e\x07\x54\x82\x59\x17\x87\x90\x8f\xb2\x02\x47\x52\x5d\x9a\x24\xb6\xfa\xc8\xe3\x55\x25\x7a\xbd\x3a\xc7\xff\xed\x24\x49\x92\xbc\x1c\xb9\x8c\x87\xfd\xb3\x2a\x58\x1c\x50\x19\xb8\x73\x5f\xd8\x62\x25\xca\xd2\x18\x7b\x54\xc5\xdc\x7c\xb7\x46\xb2\xe9\xe0\x39\xb5\x24\x7c\x03\xda\x0f\xef\x5b\x66\xaf\xb3\xcb\x20\x35\x4d\x64\xd1\x28\x24\x63\x43\x4d\x00\x82\x5b\xed\xfc\xa6\x48\x28\x0f\x16\x59\x95\xb1\x51\x92\x3b\xed\x62\xa1\xff\xe8\x27\xb9\xbd\x6a\xb5\xab\xeb\x7a\xa5\x21\x39\x87\x14\xaa\x84\x9a\x9f\xca\x3c\x47\x85\xd5\x06\x70\x33\x19\x51\x91\x1d\xa1\x12\x5a\x54\x54\x1a\x3e\xc4\x06\x50\xcd\x66\x8f\x30\xb5\xae\x2b\xcb\xc1\x9e\x67\x6d\xcf\x8b\xa1\x54\x21\x87\x5e\xe5\x28\xef\x44\x61\x01\x8b\x3b\x91\xfd\x67\x6a\xc8\xf6\xdc\xa3\xe4\xf9\x10\x9d\x77\xc9\x73\x35\xa3\x74\x78\xe2\x0e\x90\x61\x64\xf0\x50\x4c\x15\x78\x32\xee\xc4\x1a\x9e\xb7\x9f\x5d\x47\xa8\xa3\x3f\x72\x82\xc8\x91\x0d\xbf\x44\x9c\x13\xb3\xe0\x71\x16\x92\x71\xa4\x4a\x69\x24\x22\x1e\x61\x38\x4c\x33\x78\x20\x6b\x01\x56\xb9\x1a\x28\xd4\x93\x89\x6e\x9e\x0b\xca\x12\xd6\x0c\xc0\x85\xfd\xab\x82\xd2\x5e\xd8\x46\xf9\x21\x92\x51\xb7\xc6\xd2\x86\x04\x03\x8e\x17\x67\xd1\xe4\x44\xac\xba\x49\x90\xa2\x9b\xff\xe0\x5f\x49\x97\xd5\x03\x4f\x1a\x0f\x7b\x02\x24\x19\x90\xcf\x4b\xc1\x55\x69\x52\x98\x10\x3d\x44\x09\x96\x28\x59\x17\xa9\x65\x25\x65\x8b\x42\xc0\x67\x4b\x0c\xc8\x5a\xe7\x24\x93\x6f\xdb\xf6\x9f\xfc\xfb\x6d\x7b\x1e\x7a\x9c\x8f\x67\x28\x94\xa6\x17\x9f\xf5\xaa\x80\x53\xa0\x84\x58\x5c\x9c\x07\x7c\x84\x79\xfe\xa8\x8f\xbc\xd6\x1e\x46\x18\x93\x9a\x33\x59\x43\x67\xa2\xa8\xa2\x70\x92\xe4\x46\xa9\x87\xdc\xec\xdb\x62\x71\x0e\x2c\x93\x2c\xf6\xf3\x1e\x4b\x45\x30\x2d\xdd\xcb\x94\xb5\x17\x48\x6e\x20\x8f\xdc\xf6\x6a\x8a\x89\xd4\x09\x96\xc0\xe7\x48\x75\xc8\x9a\xa3\xb7\x36\x47\x73\x41\x48\x77\x9c\x10\x5e\x0e\xf0\x9a\x30\x2b\x80\xcb\x01\xcc\x6d\xa6\xdb\x86\xbd\x77\x1c\x8f\xc3\x1d\x0f\xc6\x0b\xbe\x1a\x5d\xd7\x10\xc4\x57\x6a\x68\xa3\x8e\xa0\xb3\x3e\xda\xcc\x9e\x73\x2e\x28\x60\x42\xfa\xfb\x88\xf7\xab\x50\xf8\x7e\xdf\xf2\xfd\x1c\x36\xb9\x69\x68\x90\xe6\x07\x55\x47\x6b\x81\x07\x91\xc8\xcb\x2e\xf2\x88\x6d\xda\xe7\x6b\x36\xf9\x1d\x7f\xdd\xf6\x23\x6d\x06\xeb\xdd\xaf\x01\x48\x9a\x17\xa2\x90\x71\x51\x5c\x47\x80\x05\xbb\xb3\x70\x2f\x69\x58\x31\x28\xba\xd7\x43\x90\x88\x8f\x92\x6c\xa4\xdf\xf3\x90\x38\x0e\x71\xf0\x0c\xae\xac\xb3\xdc\x36\x5e\x98\xd7\x45\x0d\xcd\xf0\x8d\xc8\xad\xf3\x7d\x8f\xe7\xb1\x69\xa2\xa1\x4a\x1b\x60\x00\x1b\x4b\x00\x08\x34\x79\xd2\xca\x68\x62\x78\x9b\xcc\xa2\x59\xb6\xa8\xa0\xca\x2a\xb6\xb6\x26\xa4\xe5\x9b\xa7\x5b\x90\xfb\xb6\x03\x50\xcc\x9a\xd3\x16\x9d\xc4\x28\x33\xa3\xd9\x25\x80\xad\x4b\x3a\x0a\x5c\x50\x16\x26\x7b\x6a\x65\xd4\x7b\x06\xf0\x1c\xb9\x35\x24\x43\x2b\x50\xcf\x28\x87\x97\xbc\xd3\x7f\x69\x42\x61\x2b\x9e\xb3\xb4\xb7\xdb\x9f\xee\xb0\xff\x58\x7f\xbd\x86\x67\xae\x8c\x34\x27\xc4\xb5\x59\xe2\xd1\xcc\x91\x44\x5f\xda\xf1\xad\x27\x78\x2b\xd1\xad\x09\x0c\x17\x4f\xe8\x6a\x3c\xb0\xab\x3b\x8c\x36\x39\xf9\x65\x0e\x4f\x80\xec\x13\x1f\x8b\xdd\x4f\x8c\xea\x0e\x51\x55\xc7\x31\x02\x0f\xa0\xcf\xab\x7c\x12\x53\xc0\x53\x7c\x18\x53\xf0\x13\xaf\x41\x05\xfb\xfb\x47\x41\x85\xdb\x21\x4a\xd9\x1b\x02\x0c\x6e\xcd\x21\x42\xf0\xf7\x35\x43\x3b\x5c\x9b\x96\xfe\xd4\xab\xbc\xea\x12\xd7\xe8\xd0\x25\x8d\x79\x36\x10\x6c\x41\xb5\x7b\x2d\x74\x97\x7b\x2a\xf7\x6e\x96\x1f\x94\xf7\x3e\xf8\xbb\x68\x9b\x94\xe4\x72\x08\xc7\xce\x2f\xc4\xfc\x2b\x8b\x8e\x0a\xe6\x2d\xd1\x29\xf7\x96\x7e\x8f\xe5\xbd\x7c\x8f\xf7\xb7\x25\xb3\xc5\xa7\x30\x9c\x51\x78\x7b\x67\x2d\x22\x97\xad\x60\x15\x9a\x1f\xd3\x19\xde\x2e\x7c\x86\x53\x56\x30\x1c\x87\x9e\xc2\xdc\x35\x06\x31\xd3\x82\x67\x17\x5b\xdd\xc6\xb2\xfe\xa8\x38\xfa\xfb\x2f\x55\xa6\x38\x69\xae\x68\x2b\xae\xb4\xd8\x76\x19\x38\xcc\x63\xb5\x1d\x04\x32\xd5\xeb\xe7\x0f\x99\x38\xa6\xef\x5d\xc6\x8e\x34\x15\x6d\x3f\x8f\x9b\xcf\x23\x7c\x65\xf7\x70\x5e\xcf\x9e\x91\x8c\x98\x48\x85\xc9\xce\x29\x10\x5e\x21\x4f\x87\x93\xad\xa0\xf7\xee\x94\x5a\x2c\xee\xe1\x94\x8c\x1c\x3c\x0f\xc2\xd9\x20\x89\x71\xe2\x29\x2c\x5a\x21\xd7\x30\x64\x63\xb1\x10\x72\x8b\x3d\xc8\x64\x96\x51\x41\x0a\x55\x5b\x90\x94\x56\x41\xb1\x0c\x8a\x60\x00\x8e\xcb\x79\x2d\x54\x92\x86\x15\xb4\x91\x1b\x64\x14\x5c\x21\xf2\x12\x13\x65\xb8\xa8\xca\xc6\x5c\xef\x54\xad\x5f\xbf\xdd\xe7\x2f\x77\xfb\x17\x7f\xbb\x17\x23\xfb\x12\x7e\xac\xe9\x9d\x86\x23\x82\x6a\x30\xf4\xc1\xaa\xe2\xf9\x6c\x42\x2b\x88\x4a\xc8\xf6\xc7\x55\x9a\x6b\x26\x9e\xff\xba\x9d\x4f\xf8\x3d\xf5\x0b\x2f\x83\xf8\x0e\x0f\x30\xb2\xb1\x4e\xb0\x13\xf8\x6c\x7c\x08\x3e\x99\xcd\x93\x04\xfe\x9e\xfe\xba\xc5\xd3\xe1\xbf\x72\x0e\xdf\x3e\x27\xc6\xb4\xa7\xfa\x1d\x09\x8f\xb7\x9f\xa3\x97\xd0\x53\x5a\x3b\xca\xf7\xa4\x4c\x9f\x09\x14\x7d\x06\x08\x17\xe0\x36\x54\xd2\x06\x2e\xac\x7c\x3f\x9c\x46\x73\x7c\x49\xe8\x95\x37\x07\x7e\x48\xf2\x53\x23\xcf\x85\xda\xec\x54\xd2\xec\xc4\x4e\xc8\x83\xbb\x52\x64\x79\xe3\xdb\x9e\xb6\x9f\x87\xac\x00\x0f\xb1\xdc\xd5\x2f\x63\xdd\xf9\x7c\xfd\xf8\xbc\xaf\x73\x8b\xe5\xbb\x3f\x1e\xdc\x72\x3e\xb2\x1f\x86\xa3\xce\x6f\x16\xf7\xf7\x45\xf4\xb8\x13\xb5\xe1\x53\x90\x1c\x96\xfb\x73\xeb\xd8\xfd\xaa\xdb\x5e\xa2\xc3\x55\xfe\xdd\x6d\xff\x64\xb7\xa5\xa2\x4e\x49\xe3\xd9\x1b\x5b\x03\x15\x1c\xd8\x75\x52\x5b\x67\x68\x12\xb0\x6c\xfb\xd1\xae\xd6\x0b\x2c\x70\x2e\x41\x39\x09\x22\xdd\xa3\x20\xc1\x22\xa7\x41\xd5\x0d\xa1\x74\x73\xaa\xef\x66\x62\x7b\x61\xa5\x78\x84\x9d\xdc\x59\xae\xa5\x88\xa3\x99\x31\xc2\x35\x80\xfe\x2b\x34\x07\xf5\x55\x44\xbc\x5e\x22\xe2\x55\xff\xdd\x4b\xfe\xe6\x5e\xa2\xa9\x85\x41\xb6\xd0\xfb\xa8\x65\x1d\x15\xd4\x50\x03\xe4\x9e\x76\x86\x66\x20\xe0\x23\xca\x6b\xf1\xd1\xe9\x07\x79\x81\x21\x3c\xa5\xa2\x47\xdf\x40\x05\x0e\xa2\x28\xd3\xf9\x63\x7d\x62\x21\xd8\xbc\xa0\xf1\xe5\xa5\x53\x73\x89\xa1\xd7\xfc\xef\xae\xf0\xff\x9f\x75\x4e\x72\x47\xf9\x7b\xa4\x26\xf8\x6c\xb7\x7b\x87\x10\x89\xd9\x5e\x85\x52\xef\x2c\xf2\xfe\xb3\xeb\xd4\x25\xf8\x5e\x9f\x7a\x79\x35\x95\x10\x3f\xa4\x22\x76\xd9\xf3\x6f\xf7\x16\x9f\x78\x7f\xfd\x82\x6f\x3f\x6d\x2e\x4e\x6b\x0e\xb5\xa2\x90\x31\xf5\x2d\xa7\x30\xeb\x56\xc0\xba\x0c\xa5\xed\xde\x36\x10\x23\xa1\xbe\xb5\xb5\xd0\xd2\x06\x1d\xba\xea\xa4\x90\x05\xc0\xe0\x0a\xfc\x6e\x01\x82\x2f\xe2\xb7\x2d\x3e\x77\xc7\xfd\x8c\xc8\x0b\xc4\xe7\x15\xe3\x7e\x93\x88\x7b\xa2\x42\xd7\x9e\x20\xf2\x79\xee\xa2\x1d\xd1\x3e\x22\x95\x28\xc5\x45\x76\x88\xe9\xbc\x96\xa3\xfb\x45\xa2\x5d\x85\x84\x4e\xbc\xb4\xb9\xf8\x08\x5d\xe2\x43\xf3\xf6\x18\x86\x44\x4f\x13\x06\x58\x28\x0c\xc2\xdf\xb6\xd3\x01\xc7\x59\x7e\x99\xd3\x95\x8f\xdb\xf9\xfd\xfd\x71\xfc\xf1\xcc\xcd\xef\x36\xf9\xd9\x07\x64\xd5\xeb\x77\xbf\xe0\xed\xb7\x3f\xe1\xd7\xfd\xab\x5d\xf2\x1d\xb5\xee\xfd\x0b\x54\x23\x52\x09\xbd\x4d\xe1\x54\x77\xb1\xc5\x73\x99\x06\x33\x4c\xfa\x98\x79\x4d\x90\x4a\xcf\x1a\x86\x78\xf4\x38\x63\xf4\x14\x04\x19\x80\x7a\xcc\x1b\x60\xf1\x7d\x3e\x62\xd1\xb9\x00\x0c\x9b\x1e\xd2\xf5\x37\x4f\x76\x72\xf1\xd2\x31\xf0\x87\x2e\x99\x82\x41\x6d\xcd\x13\xb8\x03\x82\x4f\xf4\xc3\xb2\xc9\x56\xd2\xa5\x6c\xf2\xa1\x00\xa1\x17\xe0\x97\x7b\x07\xf9\x4c\xc9\x28\x7e\xc8\x8d\x7f\x7b\x68\x69\xbf\xf9\x98\x59\xd1\x36\x82\x32\xff\xc2\x3c\x44\x27\x85\x62\x09\x85\xb8\x20\x60\xdb\x34\x07\xfd\xec\x22\x7b\x0b\x0b\xd8\xa5\x80\x5f\xb2\x49\x6e\x30\x44\x8f\x40\x24\x1e\xa1\x02\xa3\x92\x83\x38\x4f\x8c\x8e\xb4\x0e\x44\xb9\x6d\xf2\xab\x69\xad\x3d\x64\x90\x21\x87\x5c\x56\x10\x85\x51\xaf\xa7\xdf\xb6\x01\xec\xfe\xaa\x3d\xf4\x50\x67\xe8\xab\x80\xff\x54\x7a\xf2\x28\x4a\x67\xf4\x12\x2a\xce\x85\xf4\x4e\xbc\x5b\x94\x34\x16\x8a\x06\x59\x7b\x45\x54\xe8\x03\x5c\xd4\x11\xfe\x35\xcb\x6e\x27\x9e\xd9\x29\x69\x90\xe1\x5e\x23\x1e\x2e\x4a\x1e\x81\xe2\xe9\x58\xd2\x15\xc4\x19\x69\x04\x75\xcc\x4c\x07\x4f\x50\x90\x5e\x9d\x8b\x7d\xce\x40\xa9\x4b\xd7\x2a\xb3\x69\xbe\x83\xd3\x5d\xf6\x2a\xed\xb5\x85\x59\x43\xaf\x04\xb4\x3b\x77\x5b\xab\x1e\xcd\x44\x0a\xe7\xb6\x76\x0d\x6d\x9a\x13\x1d\xda\xab\x72\x92\x76\x49\x71\xd5\xaf\xe4\xeb\x86\x9b\x35\x9f\x7d\xd1\x86\x3a\x00\x7d\x54\x8c\x5a\xd4\x85\xe4\xd0\x27\x30\xab\x76\xdc\xaf\xc7\x57\x1d\x28\x15\x58\x20\x77\xa2\x89\xf0\x19\x12\x95\x2a\x10\xf8\x5f\x8d\x51\x0c\x94\x8c\x92\xe3\xde\x17\x84\xce\xaa\xe8\x9a\x07\x11\x5d\x49\xed\xe7\xbd\x8d\xb1\x66\xfb\x20\x4d\x82\xea\x96\x4b\xa8\x6d\xe9\x64\xe8\xac\x21\x6b\xa8\xa1\xce\x47\x99\x5f\x3d\xf1\xed\x34\x40\xbb\xfe\xee\x2b\xe2\xf8\x06\xee\xb0\x5f\x8f\x7f\x63\x93\xda\x64\x09\xe6\x63\xe7\x0a\x42\x04\x8c\x52\xc4\x50\x66\xb2\x91\x8c\xba\xa1\x75\xa2\x77\x37\xd2\x31\xa4\x63\xba\xc6\x5f\x1e\xc0\x73\xa7\x1a\x5a\x20\x80\x2c\xb6\xb2\x75\xc7\x39\xd4\x47\xe4\x3b\x22\x8c\x38\x42\x1c\x79\x61\x5e\x35\x31\x0a\x88\x27\xef\xa7\x18\x8f\xd3\xb4\xea\xed\x1e\x1b\xa2\xc3\x89\x21\xd5\x82\x2a\xf6\xc3\x87\xe9\x90\x87\xb7\xd6\xb7\xc6\xb7\x96\x6f\xfe\x01\x08\x15\x4e\x2d\x38\xb3\x18\xf9\xc2\xd6\xce\x17\xb5\xd9\xa6\x3c\x4a\xfe\xb2\xe7\xab\x7d\x7e\xb3\x72\xcb\x9a\xc5\xbe\x20\x1a\x85\x2c\x15\x68\x2a\x6b\xa9\x57\x7d\xfc\x92\x68\xaa\x57\x1d\xb9\x53\xe0\x3e\x81\x40\x19\x91\xe4\xde\x57\xe0\x1a\x5d\xc9\x4e\x8a\x90\x1b\x81\xd4\x7d\x92\xf4\x51\xc1\x8a\x80\x85\x70\x00\xce\x7a\x10\x03\x89\xe7\x72\xac\x43\x23\xa3\x42\xb9\x97\xc4\xc0\xb4\x73\xac\x79\xcb\xbc\x6b\xa0\xbb\x90\x98\x07\x4c\x0c\x1d\x18\xb8\x28\x40\x18\x81\x68\x8a\x21\x57\xd8\xf9\x1f\x36\x2f\x46\x26\xa9\x03\x96\x86\x04\x7a\x9e\xf7\x92\x64\xe5\xad\x77\xf2\x36\x27\x73\x7b\xc4\xd6\x06\x8a\xf0\xc7\x00\xb3\x5d\x14\x57\x9e\x2b\x3e\xee\x96\x98\x6d\xcd\x19\x75\x85\xec\x09\xc9\xe4\x9b\xb3\x00\x82\x76\xdf\x7a\x12\xf0\x71\x40\xe7\x35\xeb\xf8\x05\x18\x74\x46\xad\x07\x01\xe1\x1b\x52\xde\x6d\x1f\xb7\x2d\x70\x84\x6c\x1c\x30\xbe\x6e\xd9\x8a\xb4\x40\x3e\x0d\xa8\x4f\x0a\xeb\xa0\x2f\xd7\xe4\x58\xef\x99\x1e\xb5\x3a\xc5\x97\x72\x7d\xfd\x65\x50\x1d\x70\x03\xd8\x25\x4b\xd4\x99\x1c\x23\x4b\x65\x29\x32\x14\x0a\x8d\x2e\x8e\x8e\x2d\xd2\xa8\x76\xd3\xd6\x5e\x6f\x02\x18\xbb\xb3\x53\xd4\x14\x88\x34\x1f\xba\x91\xdc\x3d\x83\x3a\x10\xdf\x77\x2e\xb9\xaa\x4d\xc8\x2b\x4b\x0f\xcb\x60\x26\x17\xd4\x09\x07\xfc\xd9\x1a\x6b\x89\x0d\x44\xc9\x03\xd8\xef\x81\x67\x1c\xdf\x98\xe5\x76\x02\xd2\x9e\xb7\x4a\x98\x6e\x5f\xaa\x82\x61\x20\x99\xff\xe1\x0b\xcf\x57\xd7\x39\xd5\xa0\xde\xb6\xe7\x21\xf7\x9a\xeb\xa2\xd9\x7a\x73\x7b\x08\x66\x88\x96\xf9\x21\xda\x02\x0d\xda\xa4\xf7\xd8\xe6\x1b\x07\x46\x5a\x81\x64\x82\xca\xc8\x5c\xac\x67\x8c\x6a\xb6\xa4\x48\xe8\xc9\x45\x08\x3a\x32\x94\x8f\xd6\x06\x21\x39\xf1\x89\xc9\x89\x07\x28\xe7\x6e\x6b\xe1\xce\x9e\xa9\x66\xeb\xf2\x2b\xe2\xe7\xd0\x07\x6c\x9e\x53\x47\xe9\xec\x28\x62\x3f\x32\x28\x4f\x86\x3c\x34\x8d\x7b\xb6\x63\xe9\xa4\xda\x5a\x0e\x32\x77\x29\xb6\x22\xc6\x11\xc6\x13\x44\x48\xb2\x6c\x1b\x42\xe8\xee\xc5\xfb\x72\x1f\x28\x24\x88\x35\x2f\x11\xb6\x96\x14\xb9\xbf\xa4\x76\x6c\x97\x64\x60\xfd\x52\xef\x4e\x30\x1f\xe6\x46\x72\x78\xc0\x01\x75\x6c\x36\x4a\x7b\x5f\x6a\x57\x7b\x0e\x81\x5a\x23\xd2\xca\xa4\xc4\xa9\x66\x68\xd5\xfa\xb9\xb1\x91\x47\x59\xe3\xe0\xb4\x4c\xce\x3c\x27\xcb\x7b\x48\xef\x0b\xc1\x61\x25\xdf\x63\x2d\xed\x93\xe3\xc8\xfe\x28\x33\x80\xc8\x85\x0a\x00\xf8\x17\x7f\xb8\x17\x4d\x4b\x51\x12\x1e\xb6\x01\xaa\x00\x5e\xa5\xdb\x21\x0d\x3d\x0c\xa3\x41\xc8\x48\xd1\x6a\x00\xdb\xac\x4d\x48\xfa\xc8\x40\xf7\x0c\x48\x29\xec\xf4\x7c\xb5\xdd\x67\x9d\x7b\x95\x61\x2b\x0f\xbe\x20\x50\x90\xd3\xdc\xa8\xb2\xc4\xda\x73\xe8\x20\x14\x9d\x44\x43\xa7\x1c\xaa\xde\xe3\xac\xf3\x63\x24\x11\x00\x66\x4a\xfe\x98\x72\x70\xf4\x92\x58\x9b\xde\x0e\xd9\x7d\xc0\x54\x51\x13\x73\x38\x32\xef\xc4\xda\xe8\x3d\x0e\x4c\x0e\x9f\x5c\xb9\x14\x90\xaf\x8d\x95\xe4\x62\x05\xf4\xea\xdb\x80\x20\xa4\x99\xdc\xf7\x29\x1f\x15\x17\xb1\x44\x80\x54\x2b\x69\x31\xbb\xd8\x99\x8c\x77\x01\xd0\xc3\x23\xc3\x87\x1d\x48\xa1\x99\x37\xf9\x4c\x5d\x9e\x89\xf0\xec\x41\x3f\x34\xfa\x6b\x13\xc2\xf8\xec\xa2\x7d\xc9\x00\xdf\x93\x7e\x3e\x82\x03\x85\x9e\xff\x26\x84\xb4\x82\xa5\xb7\x7f\x78\x25\xeb\x4e\xbf\x89\xba\x6a\x97\x0c\x68\x9d\x5f\x8c\x83\x52\x29\x46\x8b\x00\x3b\x7a\x63\x7f\xfa\xca\x08\x88\x40\x4a\x08\xa2\x7c\x05\x05\x08\xd4\xca\x35\xe3\x1f\x43\xbc\xa0\x41\x5b\x5f\x08\x20\xb6\xf5\xb9\x03\x4d\xdf\x43\xed\x0e\x8b\x53\xf0\xa8\xdb\x0c\xd5\xc7\x2a\x3d\x8c\x4a\x6e\x2b\xc9\x73\x43\xd0\x24\xd4\xb2\x8e\x0c\xff\x61\x38\x82\x97\x9a\x31\x76\xef\x01\x7a\x87\xb1\x58\xa7\x2b\x3a\x6c\x8e\x1f\x12\x20\x35\xc8\x78\xcb\x00\x3a\x76\x1d\x93\xd3\xe0\x0f\xa7\xe3\xdf\x68\x71\x21\xcf\xb5\x22\xdb\x64\xbb\x6d\x60\xcf\x1b\x28\xe6\xa5\xf1\xfb\x21\x55\x15\xeb\x5c\x28\x0f\x03\xe5\x9d\x14\xba\x6b\x70\x60\xa6\x62\xe5\x07\x73\x55\x9a\xb7\x22\x41\xad\x2f\x17\xf2\xa7\x6e\x05\x10\x5d\x33\x0b\x13\x04\x22\x06\x28\xc3\xb8\xa2\x77\x48\xe6\x41\xfc\xd4\x41\xd3\x63\xf3\x22\x95\x69\x43\x2b\xf5\x10\xf3\x48\x4e\x48\x8d\x32\x31\x3c\x84\x4d\xf1\xe0\x20\x31\xdf\x9d\x05\xe3\x83\xd5\x75\x0c\x27\xba\x60\x64\x6c\x6a\x4b\xbc\xf9\x41\x03\x15\xd2\xf6\x25\x4a\x0d\x2d\xa9\x33\x56\xf1\xb8\xa6\xce\x1a\xa7\xe5\x86\xfa\x2b\x9f\xc3\x60\x19\xdb\xcc\x9c\x7c\x78\x20\x0a\xb1\x20\x65\x52\x4b\x37\x23\x69\x89\x73\x06\x3c\xc1\x04\xd5\x4e\x49\x0e\x41\x6e\x33\x90\x35\xa5\xf4\x77\x97\x83\x19\xe1\x51\x05\xbb\x9c\x2d\x5b\x28\x72\x00\x73\x92\x8e\x60\xd6\x4b\xdb\x60\x49\xd8\x77\xc5\x7a\x2a\x2b\xbd\xdd\x5c\x5c\x26\x0b\x3d\x33\xfd\xa8\xf7\x36\xcb\x5a\x6c\x8d\xeb\x2d\x68\x5b\xac\xc5\x72\x9f\x6b\x6d\xa1\x20\xe9\x28\xe2\x25\x25\x5c\xd6\x68\xf1\x01\xea\xcd\x12\xb8\x82\x35\x18\x09\xa4\x76\x33\x8f\x0f\x64\x68\xe9\xa1\x6a\x1d\xb4\x98\xc7\x21\xd9\x2b\x13\x75\xcb\xd3\x7a\xeb\x0a\xb2\x9f\x12\xd4\xde\x03\x9c\x33\xe0\x34\x86\x39\x53\x30\x0f\x26\x86\x60\x2e\x9f\x82\x00\x7c\x45\xc3\x49\xb5\xa6\x2a\x3b\xc1\x05\x1d\x94\x41\xd8\x7b\x18\xea\x43\x2c\xbf\x4a\x0f\xb4\x6b\xee\xf3\x2b\x9e\xcc\x56\x76\x9f\xf0\xeb\x78\x0a\x30\x4a\xd9\xe6\x77\x5b\x0c\x41\x62\x5a\x04\x15\x71\x92\x3a\x78\x3d\x9c\x13\x6f\x3a\xa7\x38\x88\xa3\xbf\xe7\xe3\x75\x19\x2b\xb8\x52\x99\x71\xce\x7b\x65\x88\xad\xf9\xcb\xd4\x90\x1b\xe6\xc3\xd9\x82\x16\x28\x75\xa8\x74\x06\x45\xac\x7f\x74\x01\xa8\x3d\xa7\x5f\x25\x02\xe8\xb8\xc9\x27\xb1\x91\xdb\xa7\x5e\x70\x61\xe0\x28\x79\x09\x5f\xee\x2e\x7c\x32\x05\x0f\xf8\xaa\xa5\xa6\x3b\xd1\xfd\xb3\x0b\xbc\xb1\xd1\x11\x62\x4b\x9d\x46\x3d\xac\x43\xc4\xef\x5c\x86\xac\x20\xa4\xa1\xc9\x1a\x46\xad\xd7\xa9\x3b\x8f\xe6\xde\xb4\xb9\x96\x1e\x54\xcc\xf3\x52\x33\x3c\x30\x1d\x5a\xeb\x8e\xee\xc1\x92\x16\xfa\x3a\x11\x65\xb1\xa1\xd1\x3c\xdc\x19\xa5\xc9\x8f\x7a\x7b\x44\xb6\x60\x74\x53\xc6\xfc\x23\xd7\x45\xb4\xb6\x86\x05\xcd\x59\xe2\xc9\x7b\x20\x6e\x4e\xdf\xa3\x7d\xae\xbf\xec\x4e\xf2\x10\x7a\xb8\x1b\xd9\x51\xcc\xc7\x5d\x3b\x2c\x2b\x24\xd9\xea\xa3\x96\xfe\x91\x73\x74\x04\x90\x88\x74\x72\xa8\x2d\x60\xec\x70\x65\x3e\xde\x83\x64\xce\x73\xcf\xed\xd8\xf5\x62\x1c\x5d\x93\xb1\x07\x99\xa9\xe8\x18\x61\x8c\xb9\xa2\x15\x84\x73\xc4\x8a\xbc\x4f\xcb\xcc\xff\xb8\x78\x14\xc5\x94\xca\xe1\x78\x2d\x11\x59\xa4\x3c\xc9\xa5\x3e\xda\xde\x8f\xa4\xa4\x8d\xce\x9b\x4d\xa5\x77\xf3\xeb\x3e\x71\x37\x1f\x25\xc9\x62\x6e\x61\x68\x3a\x80\x91\xa2\xba\x4d\x00\x69\xfb\xd5\xa3\x24\xef\xa4\x13\x46\xa2\x98\xc2\xa9\xe8\xe6\x8f\xba\x00\xde\x54\x50\xb1\xfb\xc1\xb9\xdb\x2f\xee\xa6\x75\x9c\x26\xd6\xc3\xcc\x27\x0e\x75\x05\x9f\x83\x68\x3f\xd2\x13\x1e\xf5\x18\x14\xbf\xee\x10\xda\x00\x5d\x52\xa2\xf3\x68\x97\x71\xd6\xb5\x58\xc6\x62\x0e\xb2\xf9\x9c\x4b\xa4\xce\x77\xbd\xd7\xba\xd6\xb4\xd7\xf6\x09\x35\x6a\xe0\x42\x2e\xd0\xfc\xcd\xc3\x96\x5b\xd2\xee\x96\x8f\x43\x32\xa2\x33\x87\x6e\xde\x3a\xf9\x97\x59\xe1\x6b\xb3\x02\x68\x8e\xf6\xca\x20\x17\x4f\xf2\xac\x88\x6f\xd9\x7a\x08\xc2\x1c\x68\x45\x7b\x71\x3b\x50\x64\x44\xf7\x5f\xfc\x5e\xbc\x19\x5e\x4c\x06\x57\x78\x33\x3e\x5a\x0a\xb9\xea\x3a\x6d\x59\xb0\x65\xd5\x26\x82\x74\x9e\x82\x34\x90\x80\x93\xba\x2a\xea\xa2\x84\xf4\x28\x17\x2d\xc8\x46\x98\x67\x38\x17\x14\xcf\x88\x98\x93\x46\xaf\x2e\x94\x76\x97\x69\x2b\x61\x0b\x9a\xf3\xa3\xa2\x84\xf3\x33\x3f\x6d\xfb\x74\x9a\x02\x4e\xa3\x95\x05\x05\xda\x55\x99\x42\xc3\x8a\xdd\x83\x53\xb0\x66\xb8\xad\xb7\xaf\x27\x3c\xb3\x3a\xf6\x34\x79\xb1\x09\x87\x95\xaf\x9d\x7a\x75\x3d\x2d\xa3\x06\xeb\xef\x32\x03\xa4\x01\xcc\xea\x7a\x4c\x59\xc0\xbc\x65\x3e\x1b\x61\x7e\x58\x12\x6c\x6a\xb3\x75\x13\x61\x8f\xe3\xb6\xd9\x97\x02\xe7\xb3\x19\x5c\xa7\xcb\xe1\x2c\xda\xc6\xdd\x9c\xc8\x07\x14\xda\x06\x63\x28\x43\x42\xce\x66\x82\x59\xd7\xc8\xc2\x1e\xd2\x43\xce\x77\xf8\xa6\xc0\x05\x12\xa3\x01\x9a\x79\xa5\x7b\x86\x22\xf9\xdb\x21\x7e\x70\x78\xdf\x27\x8f\xbb\xb5\x57\xe0\x94\x76\xcd\xd0\x5f\x95\x29\x67\xcf\x47\x6d\x74\xf7\x22\x4f\x9f\x94\x9f\x5a\x2a\x87\x92\x8a\x3d\xf4\x78\xc4\x21\xfa\x4e\xbf\x82\x55\x98\xbb\xd2\x4a\xae\xef\x55\x54\x5c\x43\x25\x3f\x06\x50\x5a\xb3\x7f\xb8\x5b\x1f\xbc\xef\xbb\x2c\x4d\x9f\xf9\x53\xe5\x94\xb7\x9f\x32\x66\x0d\x73\xd6\xa5\x43\x54\x44\x56\x8f\xb9\xdb\x77\xdb\xc9\xaa\x1c\x64\x2a\x69\xd7\x13\x27\xae\x52\xc2\x70\xd4\x01\xac\x62\x28\xe4\xd6\x31\x16\xaa\xc8\x15\x25\xc2\x42\xa6\x17\xf0\x4c\x30\x3f\x83\x9c\x91\x8e\x97\x98\xe5\x3d\x46\x28\x66\xbb\xc2\x9f\xc0\x50\x0d\x64\x39\x4b\xb4\x02\xc9\x5a\x36\x7e\x6d\x14\x90\x80\x3e\xe5\x9e\xcb\xd2\x47\xe0\xd3\x23\xbe\x43\x33\x9d\x4f\x78\x97\xe2\x01\x22\x3e\xc6\xa2\x8a\xea\x65\x92\x3e\x69\x09\xf8\x15\x44\x56\xd4\x9d\x61\xc9\x1b\x4a\xb4\x7f\xd4\x45\x55\x82\x1d\x0c\x35\x5b\x3c\xf5\x5d\x8a\xdc\x9e\x22\x1d\x83\xd2\xab\x78\xda\x57\xbd\xe9\x9a\xe4\xff\xb2\x72\x39\x15\x0d\x23\xdb\x7c\x3e\x48\xd6\x25\x40\x95\x64\xd2\x3e\x82\x63\xd1\x1a\x35\x3f\xa2\x0e\xb9\x9b\x5f\xc3\xda\xd9\xa4\x21\xf7\x0d\x59\x25\x4c\xde\xb3\x84\x5a\xc6\xa2\x80\x87\x38\x49\x70\x07\x36\x25\xcb\x3b\xf6\x6b\x01\xe5\xb6\x1e\x1f\x69\x04\xb1\x79\x74\x96\x90\x9b\x7d\x81\x0a\xad\x9d\xf4\x69\x19\xeb\x87\x8a\xf9\xe9\xd7\x1e\xa9\xb3\x40\x75\x3e\x05\xb0\x7d\x29\x6a\x30\xc0\xab\x49\x8d\xbe\x79\xdb\xc0\x6f\x42\xdf\x04\xaa\x11\xd4\xaf\x75\x75\x38\xa7\x55\x4d\x66\xc1\xb5\x5d\xa9\x59\x76\x96\x9f\x0c\x4d\xb9\xea\x2f\xd0\x42\x64\xea\x47\x19\x76\x92\xda\x37\xa7\x7a\xe2\x44\x44\x96\x16\x1d\x6d\x7b\x6e\x9d\xf6\x9f\x4e\x7b\x5e\xcc\xb6\xb8\x81\xbd\xb6\xd3\x4e\xe1\x19\xb8\x0c\x18\x80\x9e\x5b\xcf\xbd\xf1\x79\x4a\xdc\x2f\xe3\xd5\xe1\xad\x24\xc6\x2a\x6c\x26\x3b\x78\x88\xfe\x46\xf6\xa1\xed\x25\x0d\xd2\xab\xfe\x7c\xad\x1e\xf8\x8a\x3d\xaa\xa5\x1a\x72\xca\xbb\x1a\x5c\xed\x41\x12\xaa\x0b\x64\x84\x1c\x6c\xee\x2e\xe6\x1e\xad\xb1\x91\x56\x90\x81\x77\x69\x48\x5f\x62\x81\x58\xe2\x41\x48\x69\x3d\x85\x64\x6e\xc9\x89\x87\xa2\x9c\xaa\x85\xc9\x15\xe8\xae\x37\x5c\x82\x7d\xf2\xf3\x05\x8f\xd5\x85\x34\xca\x94\x51\xed\x32\xcd\x00\x5a\xe1\x70\x02\xa9\x44\xa5\x45\x45\xb5\xec\x9a\xcd\xbe\xef\x3b\x35\x72\x65\xed\x86\x59\x08\x44\x1a\x91\xc1\x1a\x6b\x4f\x5a\xf1\xcc\xf6\xfc\x65\xa9\x39\xf4\x81\xe9\x02\x40\xee\x60\xf6\x62\x06\x15\xa2\xcd\x55\xa8\x24\x60\xac\xbb\xb0\xb7\x6c\xe4\x5f\xe7\x82\x60\x9f\x0b\x35\xe7\x04\x73\xa1\xfa\x0c\xa5\x23\xc8\x30\x1e\x84\xcd\xa5\x81\xc3\x95\x25\x4a\x6a\x6e\xeb\xac\xb4\x49\xf2\xe7\x2d\x5e\xce\x2d\x3e\x50\x4e\xae\xf5\xef\x68\xf1\xdb\x7f\x4a\x93\xff\xa3\x2d\xde\xd9\xe2\x75\x4f\xfd\x6d\xcc\x2b\x7d\xa3\xd5\xf7\x59\xe8\xf6\x5f\x6e\x1a\xfa\xcb\x2c\x69\x1f\x4d\x53\xb7\x3f\xc7\x92\xf6\xd5\x2c\xf4\xdf\xf5\x5a\x63\xd2\xae\x84\x53\x27\x25\xb3\xdc\x42\xcf\x8d\x21\x0c\x84\x41\x9e\x5b\xad\x6b\x68\x5d\x97\xfd\x27\x58\xfa\xa4\x8d\x05\x2a\xba\xb3\x2d\xb1\x6b\xe8\xba\xc4\x62\x76\x72\x19\x69\x39\x36\x64\x9a\x49\x9c\x97\xa8\x63\x06\x1d\xfd\xed\xa7\x64\x21\xf3\x3f\x2e\x67\xd7\xe6\x0d\xb8\x65\x97\xb6\x2b\xcf\x16\x66\x5b\x90\x78\x50\x5c\xcd\x2e\x16\x8f\x0d\xbb\xac\xfd\xb3\x28\x38\x91\x47\x7f\x3e\x8a\xe3\xc3\x5f\xb5\xce\xa5\xb0\xa0\x5d\xc5\x88\x9f\x73\x74\x87\x55\xa1\x8b\x76\x90\xe9\x2e\x51\xfb\x0c\xda\xe7\x82\xb4\xe4\x18\x0b\x54\x9c\xc4\xac\xfe\xfd\x39\xf6\x23\xf6\x9f\x40\xc7\xa4\x65\xf4\x60\x4f\x2b\xda\xcd\x67\xb7\x99\xc6\xe6\x90\x5a\xe0\x4d\x56\x5b\xfa\x17\xfb\x53\xa9\x85\xfb\xb0\xa1\xa0\x48\xef\x82\x8b\xd9\x95\x17\xb8\xe7\x14\x76\xb2\xbb\xb2\xb9\x8e\xbd\xf1\xb9\x55\x52\x28\x69\x01\xe1\xec\x18\xcf\x25\xf5\x3b\x2b\xea\x9f\xeb\xaa\xff\xf0\x92\xda\x2f\x39\xf2\xf6\x15\x1f\x54\x03\xd2\x19\x41\x57\xe8\x32\x93\xd8\x8f\xec\x90\x4f\x19\xdb\x3d\x6e\xd9\x8e\x08\x0f\x0e\x6c\x6d\xcf\x8b\xf3\xd7\x7a\xe8\x2c\x83\x52\xd7\xd6\x9c\xe7\x45\x36\xbf\x36\x17\x96\x91\x6a\xa8\x6c\xdc\xcb\x7d\xdb\x71\xca\x87\x77\xdc\x7c\x6b\xbf\xd5\xb6\x9f\xb0\xdf\x01\x02\x5d\xd5\x5f\xab\x4f\xc2\x7d\x0e\xe5\xa9\x1f\x35\xd4\x7e\xdb\x37\xe3\x09\x38\xc4\x3f\x6d\xe7\xed\xf3\x41\x7e\xee\x71\x08\x7e\x7f\xfb\x29\x53\x86\xbf\x0a\x73\x7b\xfb\xae\xe3\x6e\x70\x52\xfb\xdc\x93\x76\xfb\x2d\xfb\x5f\xbc\xe1\xa8\x69\xff\x64\xa4\x04\xe7\xfa\x36\x99\xec\x9f\x38\x7f\x50\x5f\x66\x27\x1f\xef\x1e\x36\x66\x86\x6f\xf6\xdb\x36\x6c\x34\xe0\x26\xb3\x33\x12\x71\x3a\x73\xdb\x2f\x49\xac\x71\x4a\x65\xff\x56\x22\xf5\x79\x43\xbe\x23\x95\x9a\xf7\x1b\x56\xde\xd0\x2e\xe5\xf1\x0d\xde\xb2\xed\x57\xdd\xef\xba\x1f\xb1\xf2\x21\x4f\x97\x79\x7f\x77\x49\xc5\x5e\x17\x5e\x29\x6a\x21\xa8\xc1\x44\x42\xea\xcc\x82\xfb\x8c\x64\x82\x90\x01\x48\xb3\x80\x66\x3c\xee\x73\xef\x0f\x17\x0d\x07\x8c\xf5\xb6\x1d\x9b\xdb\xe9\x00\x3f\x69\xb5\x5b\xa4\x70\xba\xec\x76\xba\x9f\xcd\x09\x69\x04\x11\xd9\xc9\x93\xcd\x82\xa8\xc8\x24\x98\x5b\x45\x70\x70\x45\xd1\x89\x19\x14\x50\x92\x52\x80\xf2\x29\xe3\x4f\x27\x44\xd5\x4d\x94\x28\x23\x3f\xa5\xfc\x91\xbe\x65\xa1\x5c\x50\x80\xdb\x45\xc6\x11\x1c\x05\x91\xbe\xf9\x3f\xd2\x43\x05\xd1\xd3\xe8\xbf\x34\xcb\xa9\x51\xfc\xd9\xbd\x7d\xd8\x66\xe8\xf2\xac\x49\xda\xd5\x68\x9e\xbf\x9c\x0f\xdc\x9e\x17\x38\xae\x8a\x34\xaf\x04\x91\x94\xef\x79\x64\x8f\xb9\x20\x20\xe8\x91\x5f\x30\xc7\x72\x73\x15\x78\xfd\x15\xc7\x87\x98\x33\x43\x19\xb5\x79\x32\x05\x20\x7c\xe8\xd8\x50\x3a\x41\x47\x67\xbd\x92\x79\xe7\x74\xcf\xcb\x44\x6e\x5b\x60\x4f\x30\x51\xc4\xe4\x2a\x5c\xf0\x3e\xa1\xbc\xa2\x50\xa2\xf8\xc1\xa4\xe0\x06\x4d\x1b\xe8\x48\xde\x90\x22\x07\xeb\x80\x77\x6a\x21\x9f\x2e\x70\x15\x1c\x5c\x2b\xea\x5c\x60\x5a\xf5\x40\x92\x5f\x7b\x24\x7f\xa2\xde\x5d\x08\x56\x06\xd2\x44\xc1\xde\x01\x02\x4b\x54\xc2\x70\xf9\x86\xca\xad\x7b\x6e\x75\x15\x94\xb8\xa4\x90\xab\x59\x45\x80\xeb\x67\xe5\xd8\x57\x85\x16\x98\x42\x3f\x87\x13\xbc\xd4\xfe\x6a\xd9\xbd\xd4\x25\xb4\xab\x2c\xf4\x93\x36\xab\x21\xb9\x06\x2a\xe2\x41\xa0\xb7\x79\xc3\x79\x43\x8b\x66\x44\x15\x6d\x0f\x7f\x93\x6d\xdf\x9d\xc1\xe8\x9d\xf3\x26\x28\xd8\x50\xc2\xe1\xc1\xb9\xce\x3f\xa4\x2d\xee\xc7\x78\xae\x22\xa7\x86\xfa\xa1\x14\xf6\x18\xb5\x93\xf4\x3e\x29\x4a\xdd\xeb\xde\xff\x02\xf6\xdd\xd3\xa1\xdc\x7e\xf2\x9a\xe2\x77\xa6\x7c\xe3\x89\x0a\x35\x3e\x8f\x7b\xfb\x29\xd2\x72\xa8\xbd\xec\xb2\x54\xe2\x05\x02\x37\x6a\x13\xb8\x28\x1a\x7b\x71\xa6\x9c\x07\x15\xee\xfb\x16\x1b\x43\xcc\xc7\x0c\x05\x0c\x64\x16\x26\x52\x51\xbb\xa9\x8b\x36\xa4\xf9\xfa\x8a\xb4\x83\xa0\x0e\xac\x17\xd6\x69\xf7\xec\xc4\xf9\x79\x8d\xce\x4a\x86\x60\x75\x4e\xd6\xe9\x40\x3f\xdf\x3a\x6b\x06\x5a\x0f\x6a\xd6\x9e\x5f\x6e\x7c\x70\x42\x0e\x39\x2d\x64\xbe\x5f\xf7\x3b\x65\x09\x3d\x6f\xf6\x6f\x59\x78\x8d\xbe\xc0\x50\x5c\x41\xa3\x0f\xa9\x55\xe9\x61\x96\x1b\x96\x62\xb5\x96\x44\x80\x59\x8e\x37\xb5\x17\xc5\xeb\xfb\xdb\xdb\x5e\x2a\x01\xd3\x15\x62\xa8\x5c\x47\xc8\x75\x2b\x1a\x54\x01\xb8\x54\x64\x82\x72\x5d\xad\x81\xd0\xa8\x22\x1b\x0a\xca\xad\x87\x37\x57\x21\x02\xe6\x52\x0b\x95\xfb\x44\x56\x4c\x92\xd2\x4b\x70\x6f\x2b\x81\x04\x60\x31\x3b\xa0\xae\x19\x39\xbe\x56\xed\x46\xb5\x05\xdd\x50\x9f\xa3\x28\xa6\xc8\xaf\x02\x5c\xfd\x52\x85\xd0\x0e\x38\xc1\xd4\x1e\x26\x75\x5b\x01\x7d\xe7\xc8\x3e\x0b\x08\x47\xa7\x64\xc0\x2f\xdc\x26\x2e\x15\x07\x9d\x36\x4f\x47\x9c\xcf\x3c\x5d\xd2\x7a\x5c\x91\x50\xc9\x51\x41\x47\x70\x84\xac\x2e\x24\xc4\xea\xfc\xf4\x34\x90\x84\xa5\x98\xe0\xe4\x4f\xb6\xea\xd9\xe0\xd9\x60\xbc\xe2\x0f\x62\x9e\xe5\x80\x7b\x98\x61\xf2\x06\x61\xe7\xc0\xb7\x4c\x87\x95\x43\x4d\x99\xc9\x69\xd1\xae\x71\x43\xee\x02\xe1\x4d\x75\xdd\x2e\x4c\x97\xe6\x0b\x8f\x8c\xd8\xb4\x42\xa3\xaf\x2f\x98\x90\x21\x9f\x0d\x34\x11\x21\x45\x02\x4a\x7c\x5e\x64\xff\xbf\x12\x70\xcf\x8d\x65\x86\x38\x57\xdf\x55\x5d\x7c\x6b\xc3\x86\xea\x62\x17\x90\x29\x2b\x62\xeb\x36\x78\xfc\x8a\xf2\xe9\x19\x33\xe0\x6a\xfc\xaf\xee\x61\xe9\xca\x6a\x10\x5c\x2d\x2d\xb1\xda\x5f\x90\x25\x83\x4a\x57\x0d\xad\xaf\xad\x87\x52\x82\x4d\xc7\x0c\x0a\x20\x3b\x78\x43\xf8\x51\xfd\xc3\x23\xbe\x37\xed\x36\x73\x03\x35\xcd\xac\xfc\x09\x2c\xc5\xc4\x83\xcc\x6d\xff\xb9\xef\xf0\x03\x79\xde\xce\x5d\x24\x9a\x9e\x5c\x87\x32\xa9\x28\x02\xd5\x0a\xae\x05\xe4\xc9\x28\xc4\x14\xa5\x27\xf5\xc7\x51\x52\xe5\x92\x59\xf8\xc3\x1e\xa4\xfc\xb4\xfc\xca\xf6\xf3\x0a\xa7\x2b\x6f\xa7\x5b\xbe\x1a\x17\x97\x4c\x7e\xbb\x92\x28\x76\x3d\x48\x14\x6b\xab\x4c\xe5\x37\xd4\x95\x88\xf3\x0d\xb0\x3e\x48\x3c\x8b\x4f\x13\xb2\x37\x26\x77\x33\xec\xe3\xe1\x4a\xda\x30\xb8\x41\xde\x44\x81\x4c\x86\x0f\x9a\x2b\x64\x92\x4b\x04\x06\x44\x73\xe3\x9c\x99\x5c\x0e\xc6\x91\x03\xae\xd0\x46\xc8\xb9\x3d\x78\xa7\x56\x90\xb5\x92\xb4\x09\x12\x76\x77\x29\x69\xbe\xfd\x1c\xcd\xdc\xa1\xb2\x22\x5e\x32\x34\xe4\xbc\x94\x64\x7e\xe9\x58\x33\xa0\x13\xb9\x87\x01\x6c\xc2\xa4\xe8\x61\x18\xf8\x42\x63\x4f\x05\x1d\x55\x24\x8a\xfa\xee\x85\x94\xf2\x59\x12\xb7\x90\x55\xb2\xcb\x64\xb3\x2e\x51\x53\xea\xe9\x1e\xea\x10\x92\xd4\x89\x8a\x20\xd9\x2b\x44\x05\xf2\x67\xa3\x2e\x05\x01\x6f\x7b\x94\x4c\x49\x50\x1b\xd6\xaf\xb8\x24\xfa\x25\x5b\xdc\xae\x62\xd1\x27\x2e\x89\x32\x11\xb4\x36\xcf\x7f\xd6\xd0\xa6\x13\x56\x22\x82\xcd\x58\x4e\x26\xbb\x8b\x30\x80\x94\xa1\x50\xe4\x9a\x21\x74\x79\x9e\x8b\x1f\x16\x39\x18\xf7\x10\xfe\x44\x99\xdc\xb0\xa5\x81\x6a\x00\x60\xf0\x16\x64\x20\x1b\xa5\x09\x5c\xfb\x22\x9f\x24\x1b\x93\x52\x2c\x8e\x17\x0e\x5a\x28\xf0\xa3\xfd\x5e\x47\x7e\x44\x88\xde\x50\x54\xa7\x3b\x49\xc0\x81\x4b\x02\xa1\x38\x30\x5f\x4a\xe1\x1e\x75\xf1\x87\x39\x37\xa5\xc1\x59\x4b\xba\x79\x09\xb8\x94\x44\x94\xe1\x26\x36\x13\x96\xee\x30\x6a\x20\x63\xb4\x05\x85\x88\x75\x6e\x41\x27\xf1\x04\xd0\xf2\x49\x12\xba\x3c\x6a\x5a\x2a\x96\xa3\x47\x2c\x1d\x35\x08\x50\x46\x63\x3e\x17\xf0\x5a\x74\xd8\x89\x4f\xd7\x13\x38\x6d\x04\x80\x14\x38\xd6\x50\xe6\xb3\x8e\xa8\x52\x50\x48\x91\x5b\x5e\xb5\xa0\x48\x43\x52\x70\xee\x77\x9d\xc8\xe1\xac\x12\x7a\xb0\xa9\xfa\xa1\x65\x6d\x85\xa8\x93\x1f\x15\xd4\x4d\x32\x52\x10\x62\xfa\x30\xac\xca\x5c\xe9\x6d\xf8\xb4\x62\x36\x18\xd4\x7d\xe4\xb6\x44\x48\x05\x97\xa2\xb0\x62\x72\xde\xd3\xe5\x3a\xd3\xae\xd0\xa8\xbd\x2c\x05\x10\x1f\x04\x52\xc9\xe6\x55\xe6\xa1\xde\xd0\xa8\xeb\xb9\x91\x03\x68\x58\x33\x14\x88\xb0\x2c\x42\x81\x1f\x17\x63\xcb\x54\xc7\x02\x43\xaa\x14\xc8\x54\xc2\x7c\x86\x9e\x12\x04\xbd\x75\xca\x3d\x96\x57\xb0\x92\x7e\xc9\x5f\xb6\xaf\x4a\xee\x67\x99\xa1\x95\x7c\x10\xa7\xf1\xe3\xef\xe2\x6a\x20\x55\x3d\x8a\x33\x9d\x4e\x82\x5c\x59\x2e\x78\xde\x21\x78\x6e\xdd\x77\x03\x8c\xb1\xb9\x16\x62\x41\x8a\x7c\xb6\x12\xea\xa8\x4b\x36\x0f\x78\x08\xb4\xf7\x87\xeb\x8d\xc6\xe6\x3a\x47\x34\x3a\xe5\xe4\x80\xdb\x2a\x0c\xae\x0a\x9f\xfb\x5c\xef\x02\xf5\x82\x4b\xcc\x80\x1e\x8d\xb4\xf6\xd0\x83\xd9\x71\xba\x59\xdf\x73\x11\x13\x5b\x2a\xb4\x6f\xc8\x95\x89\x6c\x95\xa6\xce\xdb\x4f\x69\x22\x47\xc2\x85\xad\x9c\x20\x5f\x07\xd6\x36\xea\xe0\x89\xec\x83\x92\x0f\x63\x9b\xec\xe2\xe4\xfe\xca\x87\xfc\x0f\x34\x28\xf1\xe1\x30\xe7\x8a\x7a\xd9\x0f\xd6\x6e\x7a\x2e\x2e\x8e\x86\x3c\xa9\x34\x5b\x2f\x23\x35\x89\xa1\x9e\xb5\x46\x38\x33\xbb\xfe\x13\xd3\xc0\x88\x73\x9b\x0d\x0a\xea\xac\xea\xe8\x73\xc1\x18\xa3\xf8\x46\xd7\x20\xc9\xba\x37\x74\x98\x3c\xe7\xb9\x4b\x1c\xa3\x00\x6b\x3a\xd3\x8f\x64\xd8\xab\x8c\x27\x74\x06\xeb\x6f\x7b\x4a\x3a\xbb\x1c\x0a\x3a\x30\x54\x31\x73\x80\x63\x38\x35\x60\xa4\x59\xeb\xbb\x16\xcb\xd2\x66\x10\x98\xa3\x90\xcb\x94\xca\x89\x06\xbd\xd9\x26\x0f\x9b\x68\x16\x56\x1b\x11\x7a\x86\x87\x2f\x41\x10\xf1\xd0\xd4\x20\x81\x9a\xfb\x5c\x15\x4a\x93\x4c\x17\x28\x10\x8c\x32\x37\xa6\x15\x9c\x46\xc9\x1e\x5a\xa1\x7a\xc9\xe9\x40\xdc\x29\x86\x87\x0d\xd6\xb8\x64\x07\xf4\x4e\x75\xbc\x31\xed\xff\x0d\x40\xd9\xd4\x17\xc1\x82\xb7\xee\x05\xa0\x48\x12\x58\x2b\x8f\x40\x1d\x9a\xe0\x1f\xa3\x86\xd6\xd6\x2e\xb8\x5b\xb6\x07\x5d\x35\xd9\x1c\x91\xa1\xbb\x94\x26\x67\x4b\xd0\x9b\xa0\xa2\xda\xb3\xf6\xee\x51\x00\x11\x56\x46\x68\x65\x45\x38\x01\x45\x37\xcc\x8d\xa0\xd4\x91\x13\x44\x91\xc5\xfd\xdf\xa7\xd0\x22\x2a\x51\xb1\x5e\x85\xca\xb2\x16\xa6\xe5\x97\xda\xed\x21\x00\x04\x52\xa4\x65\xa4\x24\xeb\xb1\x2e\xef\x91\xa0\xa1\x49\x1d\xde\x6c\x7d\x94\x93\x99\x56\xeb\x38\xe6\xbd\x52\xe9\x28\x5b\x07\xcf\xfb\x16\x0e\xbf\xf1\x80\xe8\x47\xf0\xbc\x88\x13\x5d\xd5\x57\x64\x7b\x6e\x9d\xf6\x9f\x4e\x3b\xae\xb6\x1d\x77\x78\xde\xf5\xf9\x28\xfb\xe3\xfd\x5e\x20\xf6\xef\x8b\xc3\xde\x7e\x3b\x10\x7b\xc9\xd5\xb7\x0b\xb0\xe0\x9d\x32\x4e\x66\xea\x44\x6d\x51\x0c\x05\x15\xbd\x9a\x56\xcd\xe4\xbd\x0b\x99\x85\xaa\xba\xc4\x5e\x98\x93\x92\x86\xc4\x35\xf9\xe3\x38\x04\x07\x4d\x5f\xf4\xed\xde\x42\x51\x26\xca\xa5\x4e\x6b\xcb\x80\x74\xd4\x96\x47\x86\x32\x2d\xb4\x85\x83\x48\x96\x25\x67\xd0\xe8\xe5\x95\xa3\xcd\x5c\x4e\x7b\x59\xe9\x9b\x4e\xc4\xaf\x96\xa8\x19\xd3\xb6\xab\xfb\x65\x6a\xaa\x04\xc7\x18\x29\x74\x97\xb2\x59\x02\x10\x18\x2e\xb2\xcf\xe9\x1d\x64\xcf\x24\x73\xea\x59\xc3\x6c\x7a\x5b\x2b\x86\x77\x0a\x44\xc0\x64\x57\x68\x75\x5b\x07\x79\x26\x78\xf9\xba\x31\x65\xa9\xc8\xd4\xf3\x09\x10\x97\x28\x93\x48\x2a\x18\x68\x4d\xf3\x8a\xd0\x86\xb0\x3a\x5c\xa7\x9b\x31\x0c\x0f\x1f\xb2\x31\xd3\xd6\x5d\xc4\x08\x9d\x67\x0f\x05\xbf\xac\x52\x73\xaa\xbf\x77\xbf\x9c\x8f\xf2\x5f\xbc\x44\x78\x1c\x24\x7e\xa7\xcd\xe7\x11\xaf\x3a\xc6\x25\xe9\xdd\x2e\x95\xf6\xe7\x25\x35\x65\xaf\xb4\x57\x94\xba\xc7\x9a\x98\x79\xe3\x28\x05\xda\x29\x43\x4f\x32\x56\xb6\x42\x6c\x3d\xe4\x24\x9b\xb6\x90\xf3\x41\xca\x25\xba\x49\x9f\x41\x09\x5f\xc5\xe7\x05\x50\xc5\x66\x88\x36\x38\x37\x02\x42\x5b\x7f\xd4\xb5\xa8\xd9\xba\xc2\x6a\xb6\x3c\x3c\x41\x58\x27\x48\x2d\x88\xac\xa0\x52\x96\x50\xa9\x96\x76\xaa\xd8\xa0\x85\xde\xe6\x80\xb9\xe2\xf9\xdd\xe6\xa2\xc6\xd0\x10\xf3\x2c\x6c\x5e\x89\xa8\x20\xbe\x83\xf3\x32\x76\xf4\xca\x32\x33\xd4\xd6\xbb\x3a\xe7\x78\x86\xe8\xb3\x4b\xfa\x60\x08\x62\x8a\x96\x31\x17\xd8\x3b\x58\x12\x07\x8a\x8c\xe3\x33\x98\x0c\x01\xb1\x76\x48\xe8\x14\x06\x98\x43\x34\xb3\xae\x4a\x98\x61\x0e\x56\x94\xc1\x1f\x28\x75\x03\x20\xc6\x96\x91\xb5\x99\x31\x15\xa8\xfd\x95\xf3\xe6\xd2\x60\x34\xbd\x15\x22\x63\xbe\xdc\xfa\x1a\xb4\x23\xe3\x7c\x99\xf1\x54\xf7\x11\x85\x88\x42\x33\x75\xee\xe0\x82\x83\xef\x52\x29\xa2\xad\x90\x19\x37\x0b\xc0\x6c\x63\x36\x20\xd5\x40\x59\xbb\xdf\x36\xa9\xf8\x0c\x66\xa1\x0c\x0c\x61\x62\x15\x24\x95\xb5\xe4\x80\x9a\xe2\x20\x53\x8f\x22\x05\x61\x87\x45\x19\x9e\x68\x5d\x07\xab\xeb\xc0\x15\xd1\x29\xe9\xee\xf1\x0e\xfb\x1c\x42\xd4\x15\xfc\xaa\xbc\x3f\x95\x02\x4a\x82\x92\xe4\x50\x20\x45\x48\x81\x25\xc4\x1a\xd0\x4c\x1a\x18\xe6\x28\xcf\xd5\x40\xbc\xae\x32\xdb\x24\x3d\x18\x87\xb5\xb1\xdc\xcf\x2f\xcd\xc1\x56\x5e\x6b\x8c\x8d\x6b\x7e\xf6\xab\x32\x76\x29\x36\x95\xe6\x84\xe2\xe5\xea\x31\x68\x40\xb1\xd2\x33\xea\x6b\xb3\x5a\x87\x10\x12\xec\xb7\xb4\x22\x92\x8d\x5c\xa9\xb8\xec\xeb\x2e\x9a\x17\xb5\xb5\x47\x2c\xba\x16\x4a\x84\x1e\x7f\xdc\x9e\x87\xae\x64\x2a\xd3\x1e\xf6\x0b\x6e\x7e\x8b\x55\x50\x7a\xfd\x7c\x00\x44\x53\xd3\x08\xee\x33\x47\x81\xdc\x1a\x0d\xa9\x96\xa0\x89\xc5\x4a\x79\xb0\x76\x52\x10\xd1\x5c\x4f\xc5\x2c\x6b\x8e\xdd\x86\x2a\x60\x38\x47\x36\xd2\xf3\x04\x2f\xdf\xd0\xf0\xe5\x8a\x76\xcf\x2b\x13\x1e\x21\xab\x13\xdd\x22\x97\xc6\xda\x8b\xd6\xcf\x65\x44\x58\x6a\xa7\x32\x5e\x9f\x69\x59\x2b\x35\x27\x9d\x1c\xb8\x50\xd5\x53\x15\xf2\x9e\xa4\x1f\x01\x79\x40\x0d\xa3\xac\x52\xa1\x7b\xaf\x88\xce\x6b\xce\x54\x9d\x2f\x09\x4b\x82\xf5\x15\x00\x43\x8a\x99\x13\x39\x68\x2e\x88\x8d\x8c\x1c\xb4\x96\x30\xf2\x1e\x29\x41\x58\xab\xae\x90\xcd\xb7\x89\x5b\xa9\x10\xa8\xb3\x3a\x16\x3a\x37\x79\xbb\xbd\xe8\x3b\xd7\xec\xf5\x85\xf9\xf9\xdc\x77\xac\x01\xea\x44\x64\x04\xf9\x0a\xd8\xf5\xf7\x28\x42\x92\x66\x2c\x98\x3e\x5a\xc1\x07\xad\x8c\x6b\x63\xfe\x65\x51\x3e\xf4\xc0\xca\x33\x7f\x27\xd0\x71\x2f\x28\x62\x6d\xce\x35\xbb\x5b\x46\xe0\x61\x6d\x6e\xed\x11\x70\xac\x2e\x86\xbf\x22\x0c\x8f\xae\xdb\xac\x4d\xa2\x12\x3d\x0c\x33\x12\x4e\x82\xad\x08\xde\xea\xb9\x07\x6d\x47\x06\xc9\x56\xbd\xba\x4a\x0f\xa0\xcb\x99\x41\x75\xae\x66\xf1\xe7\x96\x42\xe9\x35\xb4\x84\xd2\x92\xe1\x48\xf1\x62\x1f\x24\xd7\xb2\x42\xce\xb4\x04\xe5\x4c\x08\xf8\x5d\x85\x70\xaa\xa0\x2c\x1f\x52\xd4\x98\xfa\x57\x18\x6c\xe6\xac\x99\x0f\x2b\xdd\x7d\x62\x94\xd5\x64\x2a\x1c\x32\x20\xdf\x9e\x1a\x8a\xca\xf8\xe1\x91\xb5\xec\xac\x51\x21\xcb\xb3\x75\x5e\xce\xe9\xd3\x2c\xd5\xae\x1a\x44\x61\xf0\x7b\x88\x53\x10\x4c\xcd\x1d\xca\xa3\x3b\x35\x75\x05\xc3\xe6\x8a\x11\x55\x7a\x50\xf5\x25\x47\x0e\x43\x92\x94\x81\x2b\x54\x61\x6b\xa8\x12\x54\xda\xdb\x0d\xa5\xd6\x28\x9e\x1d\xcd\x47\xb3\x43\xc2\x18\x07\x2a\x70\xf9\x91\xca\xd4\xc6\xc6\x17\x55\x38\x22\x4e\xb0\x3b\x90\x58\x41\xd1\x8f\xf9\xd6\x28\xa6\x4a\xe8\x06\x36\x58\xf5\xed\x67\xcb\x36\x1a\xeb\xbd\xeb\x00\xeb\x05\xb5\xbb\xad\xaf\x23\x16\x23\x61\xc2\xb9\x61\xad\x23\x35\x45\xe7\x33\x8c\xad\xf9\xeb\xec\xd0\xff\x51\xc7\x35\xcb\x7f\xa5\x5c\x3e\xa1\x56\xad\x5b\xeb\x18\x7b\x9c\xf2\x33\xea\xd6\x06\xc6\xa0\x2f\xa8\x5b\xf7\x80\xe9\xa7\xcc\xad\xe9\x73\x02\x5b\xe8\xb4\x81\x99\x7e\x7e\x25\x8a\xd3\xb3\x6b\x12\xe4\xfa\x3b\x0c\x4d\x00\x7e\xfe\x5a\x3c\x7a\xfb\x80\xf9\x29\x57\xa5\xe6\x40\xcf\xbf\x2b\xbe\x63\xaf\xf7\x17\xc8\x65\xc7\x35\x95\xf7\x65\xd5\x6e\x26\x59\xd7\x5d\x66\x5f\x81\x84\x06\xe2\x14\xf1\x14\xeb\xfe\x2c\x21\xa0\x12\x8e\x48\x65\x8e\x8a\x85\x6f\xbb\x25\x92\x36\x17\x53\xcd\xba\x51\xb3\xb7\x6d\x44\xcc\x5b\xd7\x06\x7e\x15\x3c\xe9\x83\x02\xc7\x79\x30\xb2\xa9\x14\x63\x15\x73\x66\xc1\xd7\xde\xeb\xdd\x16\x9d\x03\xf7\xa7\x21\x17\x50\xd4\x0d\x7d\x48\xa6\x06\x8e\x99\x4f\xb6\x3a\x61\x27\xd0\xfc\x54\x68\xbc\xdb\x0a\x8c\xf3\x10\x99\x2d\x5b\x2e\x84\x83\xfb\x89\xa0\x13\xe0\xdf\x36\x06\x6f\xcb\xed\x1e\xa5\x8f\x55\xa1\xe5\x9d\x82\xcc\x16\x6a\x43\x5d\x38\x3c\x69\x0a\x1d\x63\x06\x52\x9e\x96\xa1\xce\xbb\x45\xfa\x11\x84\x2a\x30\x04\xe8\x24\xf6\x9a\x3d\x10\x85\x05\x67\x8d\x59\x81\x31\xad\x39\x34\x71\x31\x5f\xd1\xe9\xa4\x4b\x5a\x07\x42\xc5\x70\x8f\xc9\xd9\xd6\xf2\x86\xd0\x84\xe4\x69\xbd\xa7\xf7\x55\x01\x36\x83\x71\xd6\xf3\x26\x09\x89\xa4\xba\x16\xbb\x10\x42\xd3\x01\xc6\x26\x9a\x71\x83\xc2\x70\x45\x42\xad\x0c\xc7\xad\x9b\x1d\xbb\x14\xb3\xb8\x53\xba\x01\xbd\x29\x84\xd4\x24\x54\x7d\xbd\xe8\x4a\xd7\xfc\xd8\x7f\x9c\x58\xde\x84\x15\x97\xb6\x6e\x32\x0a\xc3\x7f\x94\x6b\x0e\x92\xde\x85\xdd\x09\xe0\x62\x08\x73\x22\x43\x80\xdf\xa9\xd3\x39\x42\xf3\x53\x78\x86\xe4\xc0\x80\x54\xf7\x16\x2a\x36\x57\x67\x50\x4c\xc8\x98\x6b\x04\xaf\x85\x75\x83\x66\xbd\x69\x80\xbc\x55\xa1\xd8\x2d\xc1\x66\xe6\x55\x40\xca\x1d\x18\x7c\x9a\x2b\x04\x2f\xb4\x78\x17\xd3\xb6\xda\xac\x39\x07\xd7\x7b\xb1\x41\x0f\x0c\x69\x0b\xe6\xc1\x46\xc8\x4e\x61\x4a\xe9\xd6\x1b\xe0\xce\xd6\x8a\x9c\x91\x54\x5d\x5a\x68\xb7\x15\x5a\xef\x41\x6b\xb0\xdd\x21\x66\x78\xa7\xaa\x2b\x88\x08\x3a\x74\x9b\xea\x78\xfb\x39\x75\x86\x96\xca\x42\x5a\xad\xb6\x30\x0a\xb2\x42\xce\x00\x52\x03\x08\xde\x22\xba\x45\xe0\x66\x44\x0c\x96\xe8\xb6\x19\x24\x2d\xb1\x69\x68\xb2\x5f\x60\x75\x01\x76\x78\x32\xd0\xf9\x60\x2a\x57\xda\x12\x15\x72\x04\x83\x71\xa3\x41\x38\x68\x0f\x28\x87\x6f\x2d\x58\xa7\xb6\x1f\x14\xb8\xb7\xff\x8a\x75\x22\xd4\x7b\x04\xbb\xc2\x58\x1b\xe3\x57\xb1\x2e\xad\xf2\x69\x41\x0f\x64\x87\x74\x80\x18\x25\xdf\x56\x64\x17\x6d\x8e\x0a\xb1\x94\x37\x0a\x80\x10\x30\xe7\x20\x3d\xfb\x14\xd0\x3c\x81\x2b\x52\xf7\x69\x64\x90\x45\x00\xff\x33\xdb\xaf\x66\x9f\x2b\x4e\xe1\x06\xe4\x58\xc1\x6d\xdf\x90\x50\x80\x3a\x3d\x28\xee\x51\x1d\x8f\x26\x36\x63\x23\x41\x80\x7c\xda\xb0\x2a\x39\x94\x62\x9f\x57\x5a\x00\x4e\x5a\xd7\x4c\x5b\x6f\xc2\x97\xeb\x77\x79\xe4\x3c\x1f\xba\xda\x82\xde\x00\x33\xd0\xac\x00\x3f\x43\xa2\x14\x02\xec\x79\x65\xed\xac\x92\x3c\xc8\xc6\x18\x29\x31\x5d\x53\xb5\x87\x5d\xc1\x5d\x2b\x78\xee\x77\xd9\x68\xf8\xbf\x89\xe1\x53\x18\x47\x03\x0d\x23\x36\xd6\x57\x69\xb6\xfc\x97\x12\x4a\x5e\x04\x15\xc9\xf8\x17\xaf\xd1\x10\x3c\xcc\xab\x24\x86\xf6\x1b\x55\x91\xbb\xd3\x17\x03\x0d\x27\x0c\xa6\x75\x59\x63\x17\x48\xcd\xdb\x78\xe8\x42\x82\x3d\x04\x45\x07\xc0\xd0\x18\x5d\x28\xd2\x44\xfc\x3a\x3d\x62\x41\x94\x2f\xc1\x2d\xd7\x82\xf2\xcd\x75\x92\xc0\x65\xa7\xdd\x03\x1d\x72\xa6\xc6\x2c\x7c\x7b\xf3\x5b\x69\x68\xc0\xb6\x47\xb8\xa3\x08\xc0\x53\xe0\x73\x01\xa7\x4b\x36\x6f\x0f\x12\xfb\xe4\x72\xc8\xa8\xc0\x71\xf6\x10\xfc\x6f\xe6\xfb\xe8\x0b\xbc\x55\xe2\x34\x76\x46\x2c\x97\x0b\x38\xd6\x78\x20\xd5\x33\x93\x43\xc1\x69\x6f\x18\xb5\xae\x0e\x64\x79\x34\x2a\x06\xd7\x70\x60\x5b\x58\x70\x27\xf2\xa3\xde\x47\xef\x34\x10\xad\x29\xab\x2f\x4a\xb5\xde\xe3\x10\x79\xc4\x32\xf2\x1d\xd4\x0a\x98\x3b\x34\x80\xd1\x79\xe0\xbb\xa4\x69\x13\x83\x66\x09\xa5\xc1\x94\x33\xe3\x01\xfd\xf0\xb6\xed\x5d\x73\xb5\xd5\x69\x48\x38\x3a\x2f\xa6\x12\xd1\xc0\xfe\x3d\xa1\x08\x61\xfe\x95\x8e\x15\x29\x81\x49\x6c\x21\x53\x01\xc3\x43\xef\x50\x54\x01\xd3\x8a\x87\x62\xad\x67\xb3\x2a\xaf\x85\x4e\x84\x25\x42\x7c\xa9\x07\xc9\x30\xfa\x7c\x32\xe3\xcc\x73\x14\x27\x35\xe5\x4c\x81\x02\x77\xe6\x32\x58\x1e\xc4\xc8\x47\x1e\xd6\xbf\x31\xac\x6d\x1a\xcc\x29\xd4\x1e\x74\xce\x50\xfb\x2a\xb0\x94\x33\x41\xb5\x2b\x39\x1b\x47\x50\x6a\xee\xbf\x82\xa1\x8e\x4b\x12\xb8\x5f\xea\x94\xcf\x76\x44\xad\x12\x5a\x32\xcf\xbe\x05\x6d\xc1\xec\x18\x4a\x37\x6f\x98\xb2\xb2\xf3\x46\x12\xbd\x53\x20\x68\x82\x05\x14\xcd\x66\x5e\x29\x60\x79\xbd\x6c\x28\x2a\x8a\x15\xda\x29\xee\xfb\x9c\xd5\x30\xb2\xcd\x59\xac\x9f\x62\x25\x95\x20\x1a\x28\xe6\xe0\xc1\xb0\x0e\x92\x90\x2e\x47\xc8\x62\xf5\xef\x93\xd8\xc1\x50\x52\x3f\x42\x27\xf7\xa4\x3a\xd7\x25\xaa\xc8\x50\x28\x2c\x3d\xe4\x84\x6f\xd4\xd6\x8c\x50\x82\x8d\xcf\x39\x01\x29\x97\x09\xce\xba\x3c\x61\xe0\x9b\x65\xdf\x2b\xd6\x53\xd6\xf6\xb7\xe0\x49\xc0\x13\xb0\x20\x81\xab\x19\x76\x07\xf4\x2c\xb0\x16\xf9\xac\x5f\xd8\x37\xe6\x96\x82\x16\x5b\x17\x8a\xf9\x41\xb0\x11\xc4\x75\x76\x3c\xd0\x16\xba\xab\x02\x51\x76\x44\x3b\x34\xd8\x61\xec\x62\x34\xd5\xb0\x93\x1c\x45\x37\x53\xf2\x9e\x2c\x01\x3c\x25\xee\xe3\x90\xb9\x91\x10\x65\xb7\xdd\x36\x5b\x87\x80\xad\xae\xe0\x11\xc1\xe5\x28\x12\x03\x5e\x94\x25\x0a\x47\x2a\x3a\x58\xe9\xa1\x24\x2a\x53\xa7\x9b\x0d\x8b\x1e\x6c\x60\xc9\xd6\x41\x72\x87\x81\x51\x42\x83\x64\x0d\x01\x52\x3f\x48\x26\x86\x25\x76\x38\x93\x50\x69\x1b\xab\xbd\x16\x9a\x0c\x4b\x84\x93\xae\x2e\xcd\xc4\x68\x11\xb0\xd9\x9b\x75\xd7\x3a\x58\xcb\x61\xdd\x1b\x98\x08\x01\xf2\xc3\x86\x0c\xa0\x9b\xf6\x6d\xfa\xd1\xd8\x28\x82\xc1\x5d\xc9\xc8\x84\xf8\xc8\xd3\x7f\x3a\x38\xe8\x59\x45\x36\x32\x2c\x6e\x2e\xa3\x8a\xc9\x77\xc0\xc0\x90\x5a\x30\x23\xcb\x93\x8d\x76\xe4\x8d\xc2\xf6\xb5\xdf\x36\x1b\x67\x88\xe3\x31\x28\x83\x98\x21\xa2\x0e\x36\x75\x11\x22\xd2\x30\x07\x04\xb3\xaa\x73\x01\x4c\xd6\xe6\x9b\x7a\xa4\xb5\x9a\x7f\x00\x06\xb2\x44\xc9\xe7\x42\x70\x30\x0d\x6e\x86\xa9\xbd\x6a\x7d\x96\xc0\xcb\x02\xc6\x27\x32\xcd\xea\x83\xbb\x90\x46\x98\x08\x91\x1d\x52\xde\xe4\x88\x46\xaf\x26\x6b\x21\x48\x67\x76\xf2\x58\x14\x73\x21\x2a\x89\x82\x50\x92\x5c\x38\x4b\x14\x4a\x35\xc6\x7c\xfb\xd9\x10\x99\xe8\xee\xb6\x76\x86\xc2\x6f\x6b\xe3\xd8\x45\xc2\x57\x75\xb5\xc6\x42\x59\xa2\x39\xd0\x2b\xcc\x0a\x33\x2e\x24\xc9\x43\x9a\xae\xf8\x38\x18\x56\xc2\x37\x74\x5e\xdf\xcc\xf0\x77\xf7\xd4\x09\x1d\x69\x29\xaf\x43\x73\x97\x5a\x87\xfe\x15\x38\x80\xa5\x37\x3a\xd2\x07\xa2\x2d\x5f\x0b\xc3\x38\x2f\xc5\x77\x85\x61\x44\x07\xf5\xcf\x2f\x4e\x5c\x2b\x9f\xe8\xa7\xba\x14\xe2\xef\x9f\x45\x7e\x70\xb3\x66\xa9\x93\xa2\x63\x5c\x05\x54\x6f\x1f\x08\xb4\x7f\x2c\xcd\xfa\x4e\x2d\xff\x10\x66\xa5\x9a\xdf\x17\x37\xf8\x87\xaf\x8f\x6f\x13\x4f\x5a\x93\x54\x23\x84\xb0\x64\x49\xae\x07\x58\xca\xb8\xdb\xb4\xf0\x7d\xbf\x5c\xb5\xdc\x0e\x32\xd4\xeb\xee\xf6\x11\xe4\x13\x02\xa2\x98\x7d\xbe\x41\x1b\xad\x5a\x9c\x75\xf3\xbd\xd4\xc9\x47\x0f\xa9\x2f\x19\xd5\xc7\xa5\xde\xa1\x5f\xe0\x13\xe7\x0e\x6d\x9f\xbd\x48\xfb\xfc\xfd\x6b\x6f\xdf\x7a\x0d\x3b\xee\xd7\x07\x26\x29\x00\x09\xe9\xed\x6b\xfc\xfa\x61\xa8\xcb\x29\x69\x7c\x26\xf3\xfb\xf1\xb7\xfe\x76\x0f\xda\x19\x33\xae\x37\xb8\xfd\xb9\x3b\xb4\x56\xc0\xe2\xfb\x5f\x69\xfc\xdf\x7e\x9d\x00\x7e\x5f\x84\x6a\x5c\xd2\xc3\xfd\x5a\xdf\x7d\xee\x68\xb6\xd0\x56\x01\x48\x3e\x16\x58\xae\xc4\xfd\xa3\xd5\xad\x41\x09\x86\x67\x3a\xcc\xec\x35\x38\xe7\xc4\xb7\xef\x1f\x47\xd5\x0e\x2b\x2d\xf0\x02\xb8\x84\x2a\xbe\xc4\xc2\xf2\x07\x47\xdf\xcb\x18\x27\x74\x7c\xb6\x23\x74\xe1\x79\x76\x9a\x5d\x87\x9f\x74\xf1\x5b\x8d\x85\x37\x07\x27\xc7\xe4\x07\xc6\xb3\x2d\xfe\xbc\xb8\xd7\x24\x91\x01\x1e\xe8\x78\xca\x71\x5c\x63\x9d\x3b\x18\xdb\xba\x30\x0e\xf6\x68\xed\xbf\xe2\x18\xf8\xbb\x86\xc0\xed\xbf\xc6\x18\xf8\x03\x43\xe0\x92\x08\xef\x17\x49\xf6\x77\x71\xd1\x94\x43\xed\xba\x44\xfb\xe2\x20\x8f\xfa\xb5\x7b\x63\x14\xe8\x18\x40\x6f\x7c\xaf\xff\x2a\xe5\xb1\xd3\x52\xc0\x08\x58\xbe\xdd\x7f\xff\x59\x93\xf3\xed\x5f\xa7\x67\xfe\xb3\x3b\xe6\xed\x3f\xab\x67\xce\x4b\xc6\xb9\x7f\x50\x6e\x7d\xf4\x4c\xa8\xbe\xa1\x76\xa7\x1d\xea\xef\x2c\x5b\xac\x8f\x38\xa6\x2c\x66\x5a\x15\x9d\xab\x74\x44\xfa\xec\x4b\x7d\x78\x6c\xee\xf3\xdb\xc7\x82\xf9\x7e\xaf\xb3\x9c\x5e\x65\x59\x9d\x27\xa5\x41\xe3\xfd\xa8\xb4\x24\x0b\x66\xa9\x0f\xec\x60\xa9\xe5\x0c\xe4\x8b\x24\x5d\xe4\xab\x06\xb9\xa4\x51\xfb\x57\x62\xf5\xd6\xf3\x4b\xd9\x95\xf8\xe0\xbd\x3d\x62\x23\x01\xea\x87\xcf\xab\xe3\xc3\xc7\xb5\x53\x9a\xba\xea\x2c\x2a\x2b\x7c\x54\xa1\xb1\x41\x23\x93\xb9\x3f\x6d\x02\x5a\x25\x00\xff\x8e\xad\x63\x27\xb6\xb0\x61\x3b\x6d\xdf\xfe\xd3\x77\xf8\x75\xb3\xe8\x2f\x83\x60\x3b\x8d\xa8\x15\xf9\x5f\xc7\xa7\x21\x36\x49\xf1\x96\x67\x70\xf2\x3c\xa0\xb6\xe3\x1a\x5f\x41\x03\x5e\x35\xfc\x25\xd1\xd7\xbf\xa4\xbc\xee\x48\x44\xe4\xb9\x3a\xf1\x8e\xec\xde\x76\xf2\x35\x97\x82\x34\xf2\x54\x64\x26\x51\xde\x2e\x22\xf8\xc1\x47\xd0\xda\xae\x5d\xa6\xf6\xf6\xf8\xa8\x2b\xd9\x97\xfc\xa8\xb7\xb6\x72\xb7\x09\xfb\xc4\xae\x4a\x06\xb7\xac\xe9\x0e\xcd\xf8\x2a\x9f\xf7\xe6\x4f\x7a\x07\xe5\xe7\x5b\x4a\xa1\xb7\x71\xfb\xf0\xb6\x7c\xf6\x8f\xaf\x8a\xf7\x3d\x29\x4f\xb3\x71\xd0\x36\xde\x70\x62\xfd\x60\xc3\xbf\xcb\xbe\x4f\x07\x05\xa9\x83\x0e\x7b\xa3\x87\x4c\xe5\x0b\xd8\x46\xed\xed\xd5\xf7\xbc\xe4\x02\xfb\x57\x74\xc3\x9a\x14\xe4\xa3\x75\xc5\xe7\x02\x80\x2b\xd6\xfc\x88\x87\x9a\x4f\x62\x50\x37\x37\x92\x9a\xd9\x37\x6e\x94\x71\x68\x60\xa6\xc6\xde\x32\x42\x5a\x62\x93\x16\xb4\x34\x6e\x40\x23\x01\xdd\xa2\x92\xca\x94\xa5\xf7\x18\x39\x41\xd8\x3f\x1c\xf5\x44\x61\xeb\xb1\x92\x6c\x4d\x42\x6e\x9b\xc2\x64\xb4\x1b\xd9\x7d\xd4\x16\x89\x80\x9b\xec\x97\x5e\xfc\x66\x2b\x48\x32\x91\x0e\x68\x6f\xa0\x4e\x90\x4c\x5f\xbf\xa7\xa5\x22\x4a\x95\x6d\x9d\xe8\x69\x67\x40\xeb\xf9\xb6\xef\x2e\x25\xa8\xf4\x7d\x2f\xf2\xc7\x89\xbf\x2e\xd1\x76\x46\xdb\x8b\x63\x5f\xb5\xfa\x25\x6d\xd6\xbf\x2a\xb9\x3b\xa6\x98\xcf\x68\xaf\x1e\x14\x39\xd9\xdb\x1f\xa0\x56\xe7\x74\x20\x27\x2e\xc9\x4e\x6a\x88\xe5\x3d\xcf\xd6\x9e\x4e\xc7\x45\xfc\x1a\xf6\x5a\xdd\xfa\x9f\x9d\x6f\xa7\xf7\x00\x28\x5e\x79\xfb\x29\xbd\xa5\x7f\xd6\x93\xdc\xbe\x7e\x94\x83\xa7\x12\xb4\x4b\x25\xc4\xbc\xc0\x0c\xb3\xa3\x50\xf4\xe6\x82\xe7\xf3\xf9\x44\x27\xf2\xb2\xa3\xce\x20\x4e\x46\x80\x9d\xe4\x95\xb6\x1c\x9e\x54\x06\xc7\xdc\x08\x3a\xf7\xa6\xf1\x3a\x83\x67\x99\xc1\xeb\x62\xb1\x79\x0d\x92\xbf\xe2\x3c\x65\xc1\xd3\xef\xd2\xe6\x6d\x1f\x52\xc2\x6d\xcf\xf3\x8e\x8b\x39\x25\xe5\x3f\xe1\x36\x25\x8d\x17\xb7\xb9\xfd\x91\xfb\x9c\xcb\xc4\x80\x58\x50\x42\x8e\x77\xf8\x79\xd4\x9c\x6d\xa6\x4d\x21\x0e\x62\xf3\x99\x45\x55\x41\x6e\x33\x82\xb9\x14\xff\x94\xcc\x8a\x65\x98\x8f\x44\x51\x36\x22\x6d\x91\x73\x86\x83\x0b\xde\x06\x9c\x87\xce\xa8\x29\xe4\xbe\xd6\x40\x7d\x2a\x54\xf2\x6f\x40\x7d\x3c\x85\x61\x51\x0c\xa1\x85\x50\x19\xe5\x2b\xdc\x36\x4d\xa1\x0c\xb2\x67\x13\x93\x8c\x24\x3e\xb5\x1b\x4b\x83\x81\xc8\xfc\x86\x32\xf5\x85\x6c\xbe\x36\x2a\xb8\xdb\x7b\xda\x6b\xf2\x2d\xed\x25\xed\x1d\xed\x15\x07\x81\x75\xfe\xae\xdb\xf1\xfe\xcf\x46\x79\xd5\x65\xaf\x41\xd4\xaf\x6a\xd4\x9e\x5d\x36\x1e\x5f\x39\x9e\x3e\x73\x3c\x75\xa7\xd3\x57\x7e\x7e\xe4\xe7\x37\x7e\x7e\xe2\xf8\xfc\xc6\xf1\xd2\x67\xff\xde\xfb\x3c\x3b\xed\x17\xf7\xb9\xfd\xe3\x37\x02\x39\x91\x93\xd3\xc1\x29\xca\x24\x9a\xd8\xd3\x43\xea\xb0\xb0\xed\x99\x5f\xf6\x72\x35\x75\x0e\x29\x2f\xf4\x4e\xac\xec\xed\xf5\x47\x5d\x46\x0f\xb1\x26\x00\x7a\xa1\x3d\x67\x2b\x29\xc4\x00\x30\x34\x74\x95\xaa\x01\x75\x75\x35\x48\x97\xa5\xe4\x90\xc7\x52\x7b\x88\x6d\x6d\x48\x55\x82\xe7\x76\xec\x90\x11\x3c\x11\x1e\xc8\x9e\x07\x8f\x73\xdb\xf8\x38\x2c\xac\x7d\x6e\x1e\x07\x6c\xf1\x79\xda\x5f\x19\x9b\x9d\x05\x0e\xa5\x06\x1b\x99\x48\x35\x77\x24\x85\x60\xe8\xea\x4a\x24\x62\x71\x7e\x4d\xd5\xfb\xb3\xd8\x41\x7b\x60\x81\xb3\x2d\xf6\xdd\x16\x12\x67\xca\x42\x55\xb2\x02\x23\xb3\x15\xce\xdb\x4b\x0b\x73\xeb\x01\x35\xf7\x61\xae\x3d\xa0\xd2\x01\x29\x1b\x14\xc6\x98\x6f\x46\x52\xe4\x0d\xf9\x87\x2a\xb7\x4d\x7b\xa8\x73\xd3\x16\x48\xc9\xd7\x03\x38\x8c\xa8\x30\xaf\x69\x97\xde\x1c\xe2\xa2\x9c\x5d\x82\xa2\x1e\x1d\x15\xb0\x20\x2b\x46\x0d\x2c\x15\xed\xca\xa0\x56\x3d\x90\x1d\x54\xad\xe7\x5c\xd3\xfc\x8c\xc8\x53\xc0\x20\x54\x5e\xd7\xf1\xcf\x6b\xa8\xf8\x4a\xed\xf9\xde\x27\xca\xa5\x62\xd5\xd4\x59\x1f\xb1\x4e\xf1\x50\x86\xce\xf6\xa8\x53\xdf\x7e\x62\x60\x73\x0f\x0f\x6b\xbb\xbf\xa3\xfd\x7a\x82\x70\xe7\xcc\xed\xdd\x45\x5f\x3d\xf6\x35\xf0\xf8\x65\x35\x5a\x4f\x33\x48\xc2\xac\x0d\x1f\x02\x24\xbb\x1a\x62\xab\xa0\x92\xc4\x1c\x0e\x66\x0b\xc5\x16\xd1\xe7\xe8\x3a\x09\x45\xa9\xc8\x4e\x35\xd7\x40\x2c\x43\x01\x47\x53\x3a\x66\xdd\x36\xb0\xf4\x27\x2f\x22\xef\x6d\x89\xbd\x87\x09\x96\x6f\x15\x64\x33\xc9\x18\x93\x51\xdd\x8a\x4a\x75\xfb\xa4\x23\x28\x2c\xf2\xb6\xce\x1a\x66\x20\xf9\x7d\xf5\x34\x1a\xdc\xab\x15\x16\xe2\xe8\xa1\x35\xb2\x56\xd6\x4a\xcf\x0d\x23\x42\xcb\x5c\x2b\x78\x0c\x6a\x01\x71\xbb\x24\xb1\x9f\xac\x98\x2d\x0d\x8c\x7b\x42\x8d\xb6\x09\xf4\x59\xac\x2c\xf4\x40\xbd\x50\x5b\xb1\x18\xcc\x1c\x4a\x9d\x21\x0f\x5d\x51\xaf\x32\x02\x1b\x48\xbf\xf6\x03\xfe\xbb\xf6\xff\xb8\x7c\x85\xa3\x90\xcb\x05\x47\xcd\xda\x7a\x44\xfb\xf7\x8e\x7f\x1f\xf6\x0f\x24\xd1\x6b\x50\x10\x85\xa9\x84\x96\x05\x0c\xa3\x3a\xfb\x3d\xb6\x5c\xf0\x4b\xd4\xd9\xb9\x3b\xda\xfe\x4c\x66\xe3\xaf\x7d\xfc\xff\xf9\x3f\xfe\x9f\xff\x5d\xaf\x95\xf6\x23\x7d\xef\xa9\x66\xda\x85\xef\x51\x81\x95\x97\x5e\x29\x4c\x05\xd5\x5b\x29\x8b\x62\x42\x5d\xc0\x10\xdf\xf1\x23\xd6\x6e\x7f\xd5\x8a\x83\xec\x98\x5e\xc3\x20\xd7\x46\xce\xf7\x38\xeb\x62\x0b\x02\x39\xd4\xb1\x09\x3e\xf5\x09\xd2\x74\x09\x53\xab\x39\x17\x29\x38\x94\xa2\x79\xe9\x40\xcb\x0b\xa8\x29\xc4\x29\xd7\x29\x51\xae\x07\xec\xb3\xb6\x43\x80\x60\x8b\xa3\xa2\xf2\x83\x85\x1d\x32\xa7\x2b\x40\xa0\xc0\x0b\x68\xf6\x47\xec\x7a\xbb\xc7\xe9\x35\xa9\xbd\x39\x13\xac\xcd\x9e\x8f\x68\xdf\xdd\xb3\x3e\xd5\x79\x1e\x46\x88\x7d\x01\xc3\x48\x7f\xc4\x31\xee\xa5\x8c\xc7\x68\x0b\x74\xa2\xa5\x20\x6d\x0f\xca\xd7\xc0\x09\x79\xaf\x18\xb0\x27\x2b\x9b\x84\xbe\x11\xd0\xf1\xc8\xa3\xdf\x65\xca\x92\x07\x45\x5b\xd4\x86\x16\x83\x0f\xa1\x6d\x25\xcc\x07\x42\x6b\x36\x03\xef\x54\x1f\x94\x9d\x20\x4e\x45\x13\x2b\x88\x9c\xc6\xb1\xd8\x28\xc2\x73\xd4\x12\xa6\xb9\x05\xe2\x25\xc0\x58\xfb\x6c\xfa\xb5\x9b\x7b\x3d\xc6\xa3\x6a\xba\x47\xed\xf5\xb6\x38\x71\xaf\x40\x4d\x43\x75\x85\xd0\x0e\x72\x54\x36\x23\xe5\x7e\x50\xb9\xb6\x1d\xa7\x03\x35\x98\x1f\x75\xc1\x12\x38\x1f\x71\xb4\x7b\x7e\x51\xda\xc2\xbe\x77\x09\x31\x8d\x2f\x53\xc9\x58\xe7\x28\x2b\x50\x47\x70\xd5\x27\x21\x52\x9e\xb8\x74\x98\x76\xd6\x1d\x4b\x03\xda\x92\x32\x44\x42\x88\x37\x2b\x82\x00\x8d\x3f\xd4\x97\xc9\x62\x94\xbc\x62\x3d\x66\xd4\x0f\x38\x39\xd0\x4c\x3b\x39\x90\x03\xcb\x46\xa7\xc2\x83\x48\x98\x05\xf4\xf6\x28\xff\x51\xa7\xaf\xc8\xae\x63\xbb\xa2\xfe\xb5\xa2\xa4\x17\xaa\x23\x82\xfa\x89\x75\x54\x52\xb1\x7b\x09\xe2\x40\x39\x64\x95\x1a\xa4\x29\x64\x2f\xaa\x0a\xea\xe4\x60\xf2\x02\xcc\x55\x6f\x4b\x86\xd1\x20\x10\xce\xef\xa1\x16\xd2\x73\xf7\x09\x17\x69\x6d\x10\x74\x4a\xcd\x2b\x79\x80\xa0\x66\x83\x70\xb3\xe1\xe1\x43\x2c\x65\xe3\x8e\xc0\x8a\x9f\x42\xf4\x7f\xa5\x44\x58\x09\xbd\x2c\x84\x78\x98\x17\x86\xea\x9b\x19\xaa\x80\x23\x37\xad\x75\x10\xba\x8f\xb2\x3a\x17\x5f\x11\x27\x94\x04\xae\xaf\xc0\xda\x2a\x32\x42\x01\x0d\x7d\x6c\x4a\x56\x2b\x3c\x01\xef\x6b\x8f\x00\x02\xf3\xb2\x01\x6d\xdb\xf0\x88\xfe\xb0\xd8\x81\xe2\x24\x68\x2c\xb1\x70\xb1\x94\xdb\xfe\x1a\xe8\xd1\x6a\xa6\x53\x5b\x59\x7e\x02\x16\xcf\x8d\x64\x9e\x47\xf4\x46\xed\x9d\xb6\xe8\xf4\x9e\xd1\x1e\x12\x65\xf8\x7a\xf0\x83\x25\x1f\xb3\xcd\xbe\xed\x86\x3d\x58\x8e\x08\xac\xd6\xc6\xf3\x89\xfc\x65\x95\x8e\x47\x5b\xc8\x7b\x83\x75\xe0\x07\x44\xb3\x80\xd7\x21\x16\xb9\x0d\xaf\x4a\x61\xe5\x88\xd9\x15\x85\x3f\x0b\x79\xbf\x76\x49\x18\x1e\xdf\x20\x2e\xae\x35\xe4\x22\xfb\x07\xc4\x97\x29\x9b\x7f\x16\xd0\xcd\x03\x8b\x56\x58\x48\x65\xed\x51\x0a\x68\x06\x5c\xaa\xd9\x2b\xb7\x9e\x1f\x7c\xff\xde\xfe\xb9\xbf\x36\x09\x5a\xba\x04\x19\xc7\x57\x49\xef\x36\x43\x2f\x72\x47\x51\xa5\x28\xb9\x3f\x5d\xde\x5a\xd0\x59\xfb\x06\x3c\x51\x90\xde\x36\x85\x43\x86\x12\x9f\x4d\x21\x4a\x58\xf2\xaa\x19\xa8\x67\x39\x9e\x17\x18\xd6\x8c\x55\x1b\x1d\x0f\x95\xa7\xe8\x81\x45\x1f\x51\xc6\xb8\x9b\x19\x5e\x51\x54\x2c\x12\x28\x5f\x4b\xa4\xdb\x81\xf1\xc7\x2f\x44\xeb\xd5\xbe\x01\xae\x94\x37\x4d\xc3\xc1\x38\x7d\x8f\xb8\xda\xb4\xd5\x29\x81\x57\x77\xb8\x6c\x88\x13\x75\x5a\x84\xb3\x0f\xdb\x6c\xa1\x66\xc0\x64\x40\x56\x1f\x33\xeb\xd3\xca\x04\x97\x0f\x5c\x0d\x05\xd4\xbf\x80\x94\x3f\x14\xd1\x2d\xdb\x72\xd6\x06\xca\xe5\x01\xf5\xeb\xe3\xa8\xcc\xf7\xea\xe7\x1f\xf5\xde\x72\x5d\x47\x40\x69\x66\x80\xd4\x83\x4d\x22\x09\xcb\x01\x40\x2b\x64\x41\x04\xb0\xaf\x08\x58\xc6\xc8\x63\x5e\x5b\x40\xe1\x95\x2a\xa0\x61\x99\xc5\xc7\xea\x2a\x72\x24\x65\x75\x26\x5d\xd7\xe9\xe8\xcd\x87\xe3\x06\x09\x53\xe2\x33\x5f\xf5\x85\x4b\x80\x72\x5c\xf2\xd2\x27\xf6\x12\x73\x88\x1f\x2d\x8d\xbb\xfd\xed\x11\x1b\xa3\x92\x1f\x23\x3b\x64\x8e\xf2\x31\xe2\x82\xe1\x25\x86\x51\x75\x20\xd3\x43\x49\xd9\x51\xde\x7e\x2a\x90\x64\xbe\xcb\x36\xb8\x1e\xd6\xf6\xf6\x53\xa5\xb8\xc8\xd1\xc7\xf9\x1f\x16\x92\xd8\x93\xb1\x42\xe4\x0a\xe9\x98\xaf\x52\x1f\x2d\x5d\x62\x87\xe3\xcb\x2c\x65\x1d\x85\x51\x56\x4c\xea\x22\xce\xe9\xa0\xe9\xc9\x46\x37\xa6\x4d\x4b\x2c\xc5\x9b\x4f\xae\xe0\x2e\xa1\xab\x93\xde\xcd\xb6\xc1\x4e\xee\xe4\x15\x4a\x01\x24\x5f\x80\x64\x62\x90\x49\xd7\x4d\x50\x0f\x67\x0e\x29\xd0\x75\x58\xed\x30\xb0\x1c\x68\x09\x80\x9f\x4c\xa7\x3e\xb7\xbe\xa3\x42\x1c\x28\xe2\x31\x02\x36\x15\xe8\xea\x69\x83\x53\x4d\x45\xce\x35\x0a\xe7\xdd\x9c\xac\x1b\x67\xa2\xf4\xa2\x34\xeb\xfa\x38\xa7\xe6\x0d\xe8\xbf\x9c\xc6\xe6\x3f\x6f\xdb\xb1\xeb\x38\xda\xcf\x5f\x15\x71\xc7\x8c\x9a\x40\x49\x7d\xe3\x82\xab\x13\x5a\x2d\xd9\x7c\x9e\xbc\xb4\x69\xd7\x01\x79\x15\x22\xc8\x88\x04\x38\x1c\x2b\x81\xe7\x99\xaf\x51\x00\xf2\x55\x96\x3b\xff\x23\x00\xff\x55\x21\xd8\x52\x1c\x27\x86\x02\xb8\xec\x94\x88\x8d\x8c\x87\xd5\xd6\xb8\x92\xee\x31\xcf\x87\x2d\x12\x30\x03\x73\xd5\xbb\x2d\x3c\x30\x3d\xab\x13\x38\xdd\x36\x56\x97\xda\xdd\x40\xf2\xe7\xbc\x3c\x65\x6c\x04\xd4\x46\xfd\x3a\x44\x4d\x0b\xe8\x12\xba\x1c\x5f\x65\x1d\xa5\x68\x0f\x43\xfb\x12\x1b\x78\x62\xda\x32\xcd\x53\x94\xfb\xa8\xb6\xfe\x26\x33\x75\x75\x01\xce\x4f\xa4\x3d\x46\x1d\x8b\xc8\x80\xa6\x67\x7e\xb3\xb3\x4b\x68\xb3\x2f\x42\xe2\xe9\x47\xb4\x03\x62\xcd\x66\x7c\x43\x95\x73\xf4\xd0\xc5\xfe\x94\x80\x14\xd0\x7b\x1c\xb5\x2e\xb9\xb6\x50\x5f\x50\x2a\xf3\x6d\x2e\x51\xad\xf1\x95\x20\xb1\x4d\x00\x55\xc7\x5e\xca\x05\xf2\x98\x20\xcd\x15\xfd\xbd\x40\xd3\xfe\x7f\x16\x93\x35\x3f\xec\x3e\x1b\x75\xf3\xf0\x17\xaf\xc5\xfb\x53\xd7\x6a\xad\x84\x62\xe6\x7f\xaf\x0a\x6d\xce\x07\xd9\x14\x5d\xc7\xf1\x90\x71\xac\x4f\x39\xc7\x6d\x17\x78\x7c\xc4\xac\x89\x27\x75\x24\x6b\x1d\xec\x61\x77\xb9\x1d\xb7\xc1\x73\x88\x28\xf2\xe2\x6d\x7f\xe4\xfd\xb8\x8f\x0f\x13\xd1\xef\x1f\xc6\x32\x68\x50\x1f\x99\x47\x40\x4c\x1e\xbd\xa5\xb4\x4d\x04\x6b\x1e\x79\x0a\xd0\x51\x28\x0c\xd7\x00\x89\x06\xcd\x28\xd1\x0e\x79\x52\xc8\x4e\x1a\x7f\xc2\xd7\x62\xd9\x28\x89\x83\x79\x0e\x15\x09\x3b\xa0\x50\x00\x6e\x4a\x5a\x51\xcf\xcf\x15\xca\x0c\x00\x8e\x17\x50\x74\x82\x1c\xb5\xf4\xc0\x28\x1d\x78\x71\xde\xbd\x82\xca\x2e\x2c\x87\xeb\x33\x7e\xd5\x94\xc0\x7d\x8f\x18\xe0\x72\xfd\x60\x43\x42\x71\x39\x13\x7a\xd0\x89\x05\xd6\x2c\xaf\xf6\x08\x93\x5c\x4d\xfe\xca\x2c\xcb\xc6\xab\xd4\x6d\xcf\x4a\xfc\xc5\xc6\xfd\xf4\xb0\xa6\xe5\xe3\xc3\xde\x7d\xf9\x57\x8b\xcf\x25\xc6\x34\x2e\xe9\xdf\xd3\x6a\xac\x3a\x46\xe8\x19\x96\x99\x59\x17\x00\x2f\xb8\x0a\x6e\x5f\xac\x37\xba\x74\xe5\x20\x70\xa9\x21\xed\xb7\x63\x20\x0a\xd1\x48\xfc\xc5\x9e\xdc\xd6\xd9\x51\x41\xc4\x66\x3e\xd6\xc0\xbc\x8e\xef\x14\x73\x47\x39\x33\xb0\x1e\x6a\x76\xda\xdc\xc0\x01\xd0\xf1\x23\x97\xcd\x8b\xdf\x59\x59\x3e\xee\xb3\xb1\x76\xe3\x3d\x14\x53\xd3\x07\x45\x9a\x1c\x5f\x1f\x94\x52\x66\xd4\x9b\x5f\xf5\x41\x6c\x5c\xdf\xd0\x7b\x13\xa9\x13\xd2\x06\x77\xcc\x35\x96\xe9\x1c\xdb\x13\x97\xe6\xaa\x02\x64\xad\xdf\xf3\x00\x51\xa9\xee\x0b\x45\x68\x86\xa0\x9d\xbc\x38\xb7\xd0\x60\x57\xdb\xa1\xf9\x60\x72\x90\x7e\x8f\xb9\x39\xa9\xe2\xf0\x88\xaf\x80\xec\xa0\x5a\x53\x95\x6f\xa9\x43\xaf\x60\x6a\xf5\x33\x36\xbf\xc4\x5d\x52\x59\xc9\x17\xcb\x3b\x6d\xcf\x9b\xf3\x69\xfc\xe1\xa0\x24\x2e\xc1\x1f\xdd\x17\x20\xbc\xce\xfe\x86\x7c\xe1\xfd\xfd\xf7\x06\x41\xfb\xdc\x25\x75\x1b\x9b\xb5\x87\x9e\x18\x1c\x01\x47\x48\xfd\xb1\x6b\x84\xf9\x4c\x76\x28\xd5\xfe\x2a\x59\x7b\x78\x1f\x7e\x9a\xd9\xae\xb8\xd0\x3d\xda\xb5\xa3\x10\xbb\x9e\xa1\xb6\x75\xf4\x85\xe8\x9d\x23\x7a\x5f\x89\xde\x75\xe2\xde\x97\x56\x97\x7a\xee\x84\x67\x48\xab\x77\x11\x81\x35\x08\x8e\x03\x80\x6a\x06\xd0\x0b\x2f\xe2\x9c\x2d\x5d\xe2\x9c\xe3\x2b\xfe\x1d\x91\x9a\x42\xef\x65\x47\xfe\x53\x99\x71\x1e\x78\x98\x3c\xcd\xe6\xcc\x0f\x6d\xf3\xae\x35\xaf\x15\xe2\xdc\xbe\xcb\x5a\xdd\x8f\x87\xe5\x90\x75\xfa\xb5\x10\xde\x9f\x70\x1d\x28\xe1\x84\xa9\x58\xef\xb1\xe4\xfc\x88\x63\xb6\xbb\x8c\x74\x5c\x54\x00\xa1\x52\xd5\x60\xa7\x6c\x53\x83\xaa\x5c\xa2\xfa\x7f\x8e\x03\xe9\xf6\xf7\x92\xd1\xb7\x74\xa9\xf0\x1b\x57\x51\xd9\x13\x15\x62\xb3\xde\x4a\x8d\x34\xb0\x3d\x32\x84\x02\x60\x42\x03\xf0\xa6\x3b\x13\xaa\x4d\x08\x8a\x5f\xad\x07\xb9\xe8\xdc\xf0\x91\x1a\xe5\xa9\x31\x55\x02\x59\x76\x77\x9c\x16\x63\x3c\x0c\xc1\x68\x46\xc6\x20\x07\x01\x63\x1d\xc0\xc2\x4d\x82\x92\x89\x55\x9a\xcd\xd7\xc4\xc9\x29\xb0\x6a\xa0\x61\xc2\x45\x3b\xc9\x43\x04\x30\xdf\x59\x56\xf2\x79\xa0\xfe\x15\x7e\x37\xc9\x51\x33\x19\xaa\x5d\x97\xab\x96\x0d\xe4\x39\xd6\x0d\x00\x60\xbd\x81\x73\x64\xc7\xfe\x02\x6b\xfb\x9c\x34\x9c\xd0\xc9\xf7\xfe\xd8\x65\xf7\xc8\x38\xe8\xbb\x6d\xae\x68\x2b\x88\xe5\xc9\x5c\x80\xf8\x77\x25\x5e\x39\x7b\xb7\x19\xde\xa0\xce\x07\x9b\x18\xeb\x2a\xa0\x56\xa2\x49\x9d\x92\x8d\x59\x54\x83\x34\x02\xba\xc6\x0c\x40\xd1\x6c\x70\x5b\x40\xd4\x02\xe4\x5f\x06\xc3\xb5\xb6\xbe\x21\x8c\x9e\xdb\xda\x14\x5a\x93\x8c\x40\x8f\x2d\x83\x14\xbd\xac\x9a\xab\xcd\x60\x89\xd6\x42\x1d\x4f\x7a\x79\x90\x57\xde\x56\x37\xf2\xc3\xee\x9d\x20\x74\xd8\x1d\xa5\x57\xc8\x3a\x5f\x9e\x8f\x0e\x6e\x16\x9b\x3a\x40\x20\x48\xee\x44\xc2\x98\x33\x52\x6e\x4e\x98\x42\xbd\x78\x07\xef\x32\x11\xa4\x98\x13\x41\xcf\x96\x0a\x3f\x77\x46\xef\x57\x20\xfc\x06\xd5\x5f\x14\xf3\xa5\x86\x32\xb7\xba\x43\x1a\x29\xce\x0b\x2c\xcc\x0a\xfc\x6a\xd1\xc0\x67\x18\x6f\x3f\xad\xd3\xee\x4f\xa7\x08\xb6\x64\x04\x2b\xb2\x3f\xde\x8e\xb2\x2e\xf8\x9d\x22\xe5\x92\x6f\x7c\xbe\xc1\xab\xda\xdd\x60\x91\xd4\x8e\x0e\x24\xad\x20\xdd\x91\x2b\xe6\x3a\xd0\x04\xe1\xd7\xfe\x7c\x50\x39\x26\x79\x5c\x00\xbd\x18\x57\xac\x3d\x88\x42\xf5\xca\x2c\x1e\xc8\x60\xcd\x11\xfc\xa9\x5e\x00\x0b\x9b\x5c\xc3\xfe\xff\xed\x40\x95\xc3\xfc\x27\x4f\xe1\x98\x64\x7d\x11\xd2\xfa\x22\xe7\xe2\xa8\x2e\x44\x64\xb8\xdd\x08\x61\x25\x78\x6b\xa6\xe0\xbf\x03\xde\xfa\x3c\xec\x79\x32\xaf\xc8\xfe\xea\x04\xda\xce\xd3\x2d\x7b\x90\xe7\x80\x92\x75\x77\xa6\x2a\x99\x5a\x7b\x21\x0e\x39\x0f\xa6\xf0\x11\x70\x01\xef\x5e\x47\xbe\xca\x29\x7b\x85\x30\x33\xdc\xbc\xba\x84\x69\x3a\x42\xbb\xbd\x85\xb1\x2f\xf2\x83\xc8\x86\x23\x0a\xd3\x28\xf3\x9a\x50\xe3\xe6\x4e\xf6\x86\xb8\x5d\x6d\x1e\x60\x1f\x9b\x79\x08\x20\x4c\x24\x07\xee\x06\x7a\x96\xee\x6f\x56\x64\x73\xde\xd3\xec\xe4\x84\x65\x6e\xc5\xd1\x97\x89\x5d\x45\xc1\x4d\xcb\x12\xaf\x0e\xa4\x75\xd1\x0d\x5c\x44\x1d\x62\x28\xe2\x6c\x24\x32\x53\xa8\xb4\x22\x20\xea\x06\xb0\x22\x3b\x3a\xd7\x58\x46\x81\xca\xdc\x43\x47\x25\x94\xe2\x8c\x08\xc5\x69\x18\xe7\xa1\x48\x81\x08\x2a\x35\x79\xd3\x8d\x7e\x37\x42\xe3\x08\xbd\x21\x1c\x4a\xe8\xa6\x22\x12\xe1\x61\x2c\x14\x53\xec\xc8\xbc\x3e\x02\x7f\xaf\x69\x6b\xd0\x2c\x3a\x08\xb5\x45\xca\x06\x29\xf9\xd0\xfb\x86\x45\x0c\x8a\xd8\xc8\x9a\xd9\x0a\x87\xf8\xea\x26\xcd\x69\x85\x37\x27\xd5\x99\x65\x6b\x47\x50\x50\x58\x64\xc9\x76\x62\xfc\xcc\x09\xb1\xa2\xab\x64\x1c\x14\x4d\x66\x99\x20\x4d\x4d\x30\xf3\x0c\xb1\xde\x23\x54\x7f\xf1\x1b\x63\xa3\x52\xb6\x08\x93\xe9\x30\x06\xb5\x84\x9e\x76\x0d\xc2\x49\x6e\xce\x0a\xb3\xb9\x1e\x19\x22\x71\x9e\xc7\xdc\x83\x80\xae\x01\x56\x0f\x57\x1c\xf1\x90\x5d\xec\x89\x3a\x83\xbd\xb9\x32\x38\xc9\x70\x61\xde\xb4\x8d\xc2\xdc\xdb\xec\xd4\x2b\x60\xa9\x2a\x96\xa0\xee\xd3\x20\xfd\x2a\xee\x4c\x73\xcf\x64\xda\x69\x73\x23\xcd\x38\x02\xfd\x50\x95\x45\x31\x14\xde\xbf\xa9\x6b\xc1\x73\x1c\xf1\x0f\x3c\xe2\xd5\x88\xbf\x26\x5b\x0e\x45\xdb\x9e\x40\x36\xf8\xa8\xbd\x7d\x50\x53\xce\x5a\xad\x0f\x8a\xca\x79\xf8\xaf\x45\xe5\x28\x0f\xfb\xb5\xaa\xdc\xfc\xf3\xbf\xf7\x0e\x35\xef\x5c\x97\x54\x9a\x40\x99\x6e\x1e\xec\xc2\xcc\x0e\x91\xc7\x8c\x7f\xc4\x01\xb7\xfd\x17\x14\xf6\xf2\x28\x3f\x08\x00\x5b\x9c\xfd\xdc\x3a\x1f\xf0\x3c\xef\x79\xb9\xed\xdd\x7d\x9e\x0f\xf0\xea\xcb\x5c\x63\xf1\xff\xd7\xf1\x65\x1a\x99\x61\x56\xc5\xcc\xf6\xfa\x5e\xdb\xb7\x5e\xfc\x0f\xbc\x37\x8b\x79\xcd\x05\x06\xe3\x8b\xf6\x0c\x76\x14\x5b\x82\xe6\xd8\x7a\xb6\xbf\x50\x45\x16\x76\x93\xff\x3d\xfa\x71\xf8\x19\xf7\x3d\x11\xbb\x3a\x52\x8c\xf9\xb6\xf9\xc6\x76\xec\xf2\x83\xdf\x7e\x8e\x56\xc2\xc7\x3e\xe1\xd1\xb1\x9e\xbe\xa6\xb9\xbd\x57\x5f\xf3\xd9\xa5\x7e\xd5\xa2\x9c\xfa\xf6\xb3\x8c\xf4\xb7\xde\xe0\x45\x4f\xb8\x46\xe2\xff\xef\x63\x55\x4e\x63\x7c\x31\x84\xde\x83\x0e\x5f\x0e\xa1\x33\xf6\xf0\x1f\x1a\x42\x7f\xe3\x08\xba\xfd\xc6\x10\xba\x46\xec\xff\xe3\xdf\x43\xe8\xc3\x21\xf4\x5b\x3d\xfc\x23\x88\xea\x17\x3d\xfc\x65\x31\x7c\x93\x4b\xc0\x7b\x7e\x49\x68\xd1\x2b\xa5\xe0\x10\x70\x94\xbc\x66\x22\x18\xb0\x5e\xa7\x95\x4a\xc1\xac\x76\x8f\x2a\x07\x0a\x86\x7c\x8a\x23\xa8\xe0\x10\x08\x2f\xb5\x50\x93\x5d\x26\x4b\xbe\x4b\x57\xf5\x40\xef\x6c\x7d\x19\x90\x29\xaa\xf7\x28\x3d\x0d\xfb\xad\xf7\xba\xe6\xc0\x72\x24\x84\x52\x0a\xe3\xa2\xf7\x3d\x29\xf5\x95\x44\xf4\x47\x05\xb4\x8f\x3d\xc7\xf5\xea\xe4\xdb\xa7\x67\xa3\xea\x1e\x3e\x56\x76\x96\x74\xbc\x78\x72\x21\xf1\xe4\xa0\xad\x4f\xe1\x0f\xdb\x47\x10\x0f\x24\x8b\x3d\x44\x75\x44\xae\x76\xd9\x77\x77\x45\xe5\xb7\x2f\x0a\xe2\x4b\x24\xaf\xc0\xaa\x83\x7f\x5d\x86\x45\x5d\x9a\xf3\xa4\xc9\x12\xf1\xb7\x57\xfd\xe6\x92\x5a\x98\x97\x52\x91\x33\xfb\xdd\x54\x40\x44\x56\x88\x98\x7e\x58\x1d\xba\x7d\x52\x76\x7a\x8f\x02\xb2\x5c\x50\x30\x31\x6e\x5a\x9c\x2c\xa5\x37\xa7\x2d\x4b\x77\x82\xe3\x22\xb1\x41\x43\x43\x4e\xb0\x37\x7b\xe3\xa9\xad\xe9\x1d\x6c\xe6\x27\xed\xf4\x6f\xd4\xb1\xde\xad\xeb\xdb\x10\x85\x17\x6a\x7e\x9e\xd7\x51\x30\xd3\xbd\xd3\x4c\x2e\x70\x76\x41\x78\x04\x87\x00\x56\x7b\x21\x5b\x37\x63\x88\xf5\xa8\xf1\xf0\x4a\x7c\xea\x1f\xe3\xe4\x6c\xce\x86\xb4\x15\x95\xfc\xb4\xe6\xcd\xf9\xf0\x7a\x8d\x7e\xf7\xba\xd9\xac\x8f\x22\x0e\x03\xe2\xe7\x3d\x3e\xf6\xfe\xed\x77\xc8\x0d\x8f\x8b\xc4\x05\xc5\xe2\x9a\x23\x93\xf8\xa0\x0d\xe7\x7a\x1f\xfd\xe3\x17\x6d\xa0\x77\x5b\xd8\x1e\xb7\x95\xed\x71\x34\x94\xb7\x01\x9b\xc0\x19\x79\xeb\x13\x98\x60\x3b\xd1\x96\xd1\x1b\x13\x77\x3b\x5a\x6a\x7b\x36\xe0\xbd\xee\x63\x8f\x11\x5a\xb4\x5a\xb1\x4f\xd5\x5b\x10\x2d\x65\x01\x91\x6c\x11\xfb\xec\x59\x17\x49\x12\x4a\x91\x55\x66\x18\x23\x8c\x19\x04\xee\xa2\xb4\x84\x88\xcd\x5d\x5a\xff\x10\x93\xf7\x01\xa2\x09\xc7\x4e\x44\x68\x5b\xda\xdd\x04\x94\xe7\xda\xd3\x83\xa6\xaa\x14\xb9\xf1\xbe\xf6\x14\x45\x58\xd0\x02\x7a\x1f\x24\x49\xd4\xcb\xa3\x80\xf9\xc2\x9d\x3f\x84\x47\xd9\xfd\x3f\x00\x5d\xf1\x1c\xfb\x53\xda\xe5\x3f\xcc\x9f\xa2\x8a\x5d\x7f\x69\xd2\x5c\xd2\x19\xf3\xab\x42\x93\x39\x25\x54\xd1\xa5\x95\xa0\xb5\x99\x67\x50\x16\xc4\x55\xec\x37\x85\x12\x68\xaf\xa8\x4e\x6d\xa4\xc7\x07\x67\x84\x07\x05\x33\xca\x78\xcd\x05\xec\xcf\x93\xb2\xc8\x4a\x62\x4f\x94\x8c\x10\x25\x57\xc8\x85\x78\xba\x44\xfd\xe0\x12\x64\x48\x1c\x97\xeb\x93\xa7\x82\x95\x79\xf6\xf9\x81\x3b\xd6\x10\x5b\xd0\xb1\xf4\x11\x32\x04\xf7\xed\xc9\x3f\xbf\xc2\xb3\xa0\xba\x06\xd1\xdb\x87\x97\xb0\x47\x3f\x1f\xf5\xee\xa0\xda\x82\x3d\x47\x0f\x00\x3d\x04\x2d\x77\x7b\xe6\xbd\xdd\xae\xa7\x0a\x6d\xc6\xf3\xb9\xf5\xfd\xb9\x43\x82\x3d\x2b\xaf\xa8\xf6\x57\xf0\x7e\x9c\xda\x0e\x22\x22\x7b\xd3\x21\xf0\x22\x6a\x5f\xe5\xaf\x9e\x9a\x45\x6e\x9f\x1d\xf5\xaa\x5f\x5d\x62\xfd\x33\xef\x16\xdf\x00\x65\x73\x5e\x04\xa4\x79\x65\xb0\x14\xd3\xfe\x79\xfb\x39\x0a\x18\x72\xcb\xb2\xff\x69\x89\xfb\x61\x6f\x3f\x3b\x3a\x47\x4e\x4b\x81\x74\x51\x59\x62\x4e\x2d\xe4\xd4\x96\xfd\x67\xf4\x3d\x8f\xd8\x40\x9a\x54\x51\x9a\xcf\xd1\x3f\xf3\x92\xbd\xf2\xde\x13\x6f\xb6\xe5\x7b\xfc\x48\x9c\x87\x54\xfc\x7c\x67\x6a\xdb\x24\x94\x9d\x0f\x89\x01\x2f\xa8\x3d\x3b\x2f\x91\x0b\x9d\x10\xbc\x30\x58\x9d\x28\x07\x2d\xd7\x6d\xff\x4d\xcb\xf3\x30\x1e\xc5\x0b\xf8\xf9\xb8\x30\xae\x9b\x35\xf0\x66\xc7\xc6\xb1\xef\x7c\xc6\xe9\x4a\xa7\x1b\x9c\xee\xbc\x9d\x1f\xe9\xdd\xc3\x3e\x5f\xe2\x78\xb3\x57\x1f\xf4\x92\x38\x98\xd7\xa2\x9b\x53\x6d\x3d\xa0\x1d\x79\x91\x9e\x83\x40\x1c\x99\x1b\x8f\x98\x4b\x79\xc3\xee\xa1\x9f\xee\x6e\x0a\x00\x0a\x4a\x1b\x62\xae\x36\x97\x20\x82\x54\xd2\xa3\xe3\xbb\x42\xa5\x7b\xda\x6a\xce\x2a\xe7\x25\x77\x0d\xb9\xe7\x25\xee\x1b\xfb\x8e\xfd\x50\x9c\xb8\x5f\xe5\xc5\xbb\xea\x25\xfa\x3a\xeb\xe1\xe7\xa9\x03\xf1\x00\xa2\x27\xaa\x7e\xdb\x31\xf6\x8e\x68\xdf\xe1\xf8\xfe\xc3\xff\xca\x63\x70\xc2\xce\x44\x80\xd2\x82\x7f\xe4\x32\xf0\x09\xdd\xfc\x23\x8f\xf5\xc9\x66\xdb\xe2\x3b\x73\x2e\x9e\x0d\xbd\x78\xb6\x00\xbf\x63\x0d\xde\xde\x9b\x83\x3f\xa5\x40\x7a\xb2\x94\x03\xe9\x08\x9f\xcc\xbe\x48\x65\x91\xdb\x70\xfb\xbf\x51\x97\x54\x1b\xe8\x8c\x3f\x5a\xc2\x1c\xe7\x08\x24\x0e\x4e\xc7\xd9\xe6\x19\x80\x23\x52\xdb\xdd\x4e\xbc\xae\xbd\x74\xd0\xbc\x19\xff\xfc\xfb\xdf\xfe\xb2\x39\xac\x97\x60\xde\xfc\xaa\xd2\x46\x52\x09\x23\xa7\xa5\x83\x5f\x2f\x99\x81\x3b\xda\x08\x2d\x27\x82\x30\x33\xd9\xdc\x6c\x44\xb3\xec\x0c\x76\x45\x4e\xe3\x61\x3d\x09\x84\xd8\xe9\xde\x5a\x5a\x62\x06\xf3\x70\x92\x6a\x7b\x32\x3c\xeb\xa2\x0b\xbc\xcc\x66\x4b\x56\x69\xfc\xad\x89\xae\xc3\xbc\xc6\x9c\xcd\x99\x04\x3b\x2b\xd8\x25\xcc\x1c\xca\x89\x76\x4b\x4e\xb6\x64\x44\x54\x8c\x40\xd2\x92\xa5\xb7\xf6\x1c\x7c\xc0\xd8\xfc\xa1\xf7\x3b\xee\xe7\xbf\xba\xd1\x8b\xd6\xbb\x04\xdc\xe6\x57\x08\xfb\x3c\x4a\xe8\xa9\x58\x1f\x21\x4f\x15\x38\x3e\x15\x5c\x7b\xaa\x12\x72\xd7\xc7\x54\xa7\xc8\xcf\x00\x43\xa3\xab\x7a\xc5\xa6\xec\x15\x9b\xb4\x48\x95\xf1\x73\x45\x2b\xa3\x42\x1d\x2a\xe9\x29\x28\xe0\x8f\x0a\x6d\xe2\x6e\x36\x29\x0a\x64\xe0\xcb\x6a\x1e\xc1\x16\xaf\x56\x12\x9e\xa4\x15\x7f\x12\x60\x87\xf8\x24\xd6\x4c\x3d\xb7\x43\xcd\x75\x4e\x56\xd7\xc1\x56\x4c\x4a\x1c\x95\x52\x00\x10\x94\xcf\xce\xeb\x08\x2d\x02\x92\x04\x8a\x2d\xc7\x20\x3e\x07\x2e\xb2\xba\x96\xa3\x50\xb7\xcd\x95\xda\xec\x7d\x70\x3e\xf4\xac\x05\x14\xac\x10\x7a\xb7\xc3\xf6\xda\x53\x3b\x19\x52\x93\x24\x9d\x07\x13\x21\x8b\x82\x65\xf3\x3b\x6b\x43\xce\x4b\x81\xf0\x02\x1c\x74\xce\x20\xad\xe2\xc9\x73\x25\x4c\x9a\xc8\x9d\xbc\xa3\x2c\x8f\x10\x0a\xa8\xea\x11\x7a\xe1\x16\x02\x32\xae\x68\xec\xe1\x1c\xac\xbf\xdf\x08\x1d\xe9\x25\xe6\x36\xc7\xff\x76\x00\xb8\x6a\x68\x5a\x59\x87\x1a\xd5\x69\xc4\xb5\xea\x1b\x76\x8d\x41\x58\xfb\xbe\xab\x73\x97\x28\xc4\xe5\xa6\x9f\x96\x8b\xd0\xfd\x2f\xe2\xfb\x9e\x97\x6c\x9d\x97\x6c\x7d\x3f\xef\x79\x4d\xee\xeb\xbe\xaf\xa4\x11\x34\x3d\x44\x29\x3b\x6e\x86\x9c\x94\x0d\x96\x2c\xc1\x32\xd9\x8c\x2a\xad\xa8\x42\x4d\x40\x1e\x62\x23\x62\xcb\x76\xd2\x2e\xd4\x27\x14\x3b\xb6\x0d\x18\x0e\x44\x25\x68\x8b\x0c\x08\x67\x95\xdb\x86\xdd\x77\xfc\xd9\xd1\xdf\x6d\xb3\x3b\xbe\xfd\xac\x15\x7c\x8d\x69\x11\x68\x01\xd9\x50\x4c\xed\xed\xe7\x1c\xfe\x67\x1b\x11\xcf\x3f\x3b\xfd\x5f\x4b\xcf\x7b\x10\x35\x86\x8c\xcf\xe6\x85\xfe\xf9\xce\xbd\x47\x7d\xbb\xb9\xb3\x1b\x12\xbc\xa9\xee\xef\x0c\x4c\x01\xca\xe1\xb9\x9f\x4f\xb7\xd7\xcf\x23\xf9\xe2\x97\x7d\xf5\xc5\x2f\xc1\xc2\xf9\x15\x35\x80\x39\xc3\x1d\x01\xb3\x54\x40\x50\x4e\xf4\x00\xd2\x8d\x79\x06\x4d\x20\x32\xef\x21\x43\xde\xb5\xc0\x5d\xed\x29\xe4\xb6\xc6\x31\x43\x31\xf7\xdf\x8c\x62\x90\xa1\xe7\xb1\x98\x85\x90\x51\xf7\x4f\x04\x01\x8b\xd1\x8e\x64\xa2\xeb\xd8\x79\x8d\xaa\xe4\x7d\x2b\x0b\x8c\xe3\xee\x93\x35\x90\x6e\xa3\x84\x01\xa8\x7f\xde\x10\xe6\xab\x65\x13\x71\x05\xe6\x04\x81\x45\xca\xb2\x6c\xc2\x94\xd9\x4c\xc0\xd2\x65\x54\x6b\x93\x17\x3c\xad\x12\xa0\xae\x04\x3e\xdb\x9a\x29\x83\x29\xa1\xf6\xdb\x1a\x7b\x0f\x80\x77\xf4\x19\x14\x03\x77\xd4\x90\xc5\x96\x84\x32\x83\xf4\xbe\xc6\xee\xb4\xcf\xa4\x7c\xd5\xba\xc5\x39\xdc\xd7\x8d\xa0\x94\x2f\x3f\x76\xa9\x20\x19\x6d\x8b\x55\x6d\x50\xbb\x8e\xae\x56\x73\x4c\x89\xac\x99\xab\x75\xfe\x14\x0a\x69\x44\x73\xdb\x90\xd3\x9d\x6a\x4b\xa4\x8b\xe7\x6c\xe2\xc1\xd7\xce\xd5\x12\x95\x6d\xc0\xa0\x90\xee\x7d\xc7\x77\xfb\x5f\x49\x44\x20\x88\x94\x26\xf7\x97\x37\x52\xb0\xa6\xbe\x50\x32\xd4\xc6\x99\xa4\xb2\x44\x85\xbc\x4a\x75\xe9\x5d\xf5\x02\x9e\x88\x21\xa6\x2e\x64\xe8\x25\xf5\x0d\xf0\x11\xc6\x01\xa8\xa2\x12\xaa\xed\xeb\xd3\xa6\xb7\x57\x7d\xef\x1a\xff\xfc\x52\xd8\x26\xf7\x12\x46\x9f\x6b\x6c\x8c\xf4\x80\xb3\xd9\x49\x49\xf7\xfa\x47\x6d\xe2\xa3\x2a\x39\xce\xc5\x36\x9a\xc2\x12\x6a\xc1\xf3\xa5\x5e\xf6\x76\x54\x2f\x79\xb5\xf2\x51\xc7\xc4\x5c\xed\x44\xfa\x32\x64\xb0\xbd\x0f\xc4\x44\xa4\xba\xc0\x91\x2d\x16\x73\x57\xdc\x76\x7d\x75\x70\xcb\x08\x60\x44\x93\x74\xcb\x3b\x0e\x07\x59\x6f\x20\x23\xcb\x0a\x65\x4a\xa8\xe2\xaf\x10\xc0\x68\x29\x14\x59\x6c\x42\x5b\x2b\x89\x4c\xbb\x04\xad\xf3\x5e\x14\x65\xa2\x28\x42\xe9\x5c\x38\x97\x41\x6e\x79\x7b\x11\x41\x6f\x2b\x72\xc4\xa4\xcb\x0a\xc8\x8f\xf5\xda\x5c\x36\x09\xe6\xce\x4d\x84\x7d\x75\xe0\x02\x45\x08\x21\xdd\x65\x19\xf9\xd4\xce\x70\x3d\xc1\x45\x2d\x8a\xd7\xad\x60\xb1\x61\xf6\x1f\x89\x6b\xb4\x10\x40\xc1\x04\xc6\xef\xd6\xf4\xdf\xc7\xe6\x70\x23\xb5\xcd\x5e\xf4\x55\x1c\xdf\x8a\x48\x3e\x1f\x9b\xeb\xb2\xaf\xaf\x20\x37\x72\x35\x1f\x57\xbb\xc7\x2f\xbe\xad\xf5\x49\x7f\x84\x93\x70\x2d\x5e\xea\xb4\xb9\xef\xde\x8f\x3f\x5d\xe3\x7c\xed\xe3\x8e\xc7\x43\x9c\x1e\xcd\x91\xf6\x34\xc9\x2b\x03\x23\x34\x09\xb7\xa8\xb0\xa8\x9b\x0d\x24\x84\x64\x4a\xdd\x62\x03\x60\x75\x6c\xfe\xf3\xb6\x1d\xbb\x8e\xa3\xf7\xf3\x15\x36\x1e\xfe\x6e\x7f\xb6\x03\xed\xb8\xc6\xea\xa3\xb8\xff\xdc\xff\x1e\xf7\x03\x23\x4f\xfc\x57\xd1\x12\xfc\xdd\x32\x3a\xbd\xc6\xbb\xff\xcf\xa7\xea\x43\x1e\xa1\x6b\x5e\xb1\xa2\xd4\xa0\x33\xc4\xa1\x0b\x42\xd4\xb5\xca\x1a\x0b\x61\x6f\xc4\x52\xf4\x64\x8f\xcc\x11\xee\x70\xd2\x69\x66\x5b\x29\x21\x13\x30\x49\x46\x7a\x20\xdc\x42\xef\x3f\xea\x92\x6b\x28\x8a\xc0\x48\x0e\x71\x00\x44\x2d\x92\x03\xc1\xd4\x8c\x59\xa0\x94\x19\x72\x1e\x70\xae\xb3\xad\x4b\x7d\x9d\x50\xb1\x0d\xd6\x24\x19\x25\x34\x65\xaf\xe3\x09\x6a\x2d\x4e\x94\x8a\xa4\xfc\x2c\xac\xb3\x19\x62\x1e\x97\x18\xa8\x16\x11\x29\x41\x47\x09\x52\x64\xd1\x56\x42\x4e\xe9\xc6\x18\xce\xe8\x0b\xd3\x13\xd2\x00\x45\x77\xa1\xfd\xce\x82\x40\x4a\xed\x3f\x47\x7b\xef\xe4\x19\xe8\x79\x51\x5b\xa9\x25\x23\xa4\x0e\x6e\x22\x90\xd9\xa3\xf0\xc4\xbc\x8d\x32\x50\xcd\x97\xa1\x1f\xa1\x20\x36\x8a\xff\x1f\x7b\xef\xb6\xe3\x48\x92\x24\x0b\xbe\xf3\x2b\xec\x07\x2c\xc7\x54\xed\x8e\x1d\x0c\x70\xba\xfb\x3c\xc6\x37\x2c\xea\x76\x96\x0f\x8e\x5d\x38\xc6\x97\x0f\xf1\xf5\x0b\x15\x51\x73\x32\x92\x11\x99\x51\x55\x59\x33\xbd\x73\x06\xe8\xae\x60\x92\x4e\xa3\x5f\xcc\xd4\xf4\x22\x2a\xd2\x06\x4c\x11\x65\xfd\x01\x00\xd9\x28\xf9\xa3\x59\xb7\x6c\x06\x2b\xed\xb6\x6f\x02\x24\x9d\xe1\xbf\x59\xc4\x2a\x23\xa1\xff\x27\x51\x79\xc1\xf6\xb8\xaa\xe6\x02\x1d\xfe\xc7\xdf\x15\xda\xd1\xea\x32\xea\xd4\x63\x78\x78\x79\x7e\xfe\x7a\x79\x69\xb6\x6b\x35\xdd\x89\x16\x34\x1f\xa4\xc9\xc6\x4e\xf5\xec\x14\x65\xae\x13\x95\xab\xeb\x44\xb1\xa4\xe8\x16\xc1\x8b\x84\x50\x77\x1d\xab\xa2\x08\x74\xed\x80\x86\x53\xce\xed\x61\x38\xb3\xb1\xc3\xdb\xd9\x84\xf4\xd3\x02\x84\x3f\xc3\x53\xc0\x8a\x96\xb0\x5b\xfa\x3e\xf0\x44\x9f\x33\xc0\x27\xbc\x61\x8c\x04\xbd\x70\x04\xee\xef\x17\xcd\xdb\x7b\xa5\x4a\x1e\xfe\xb6\x18\xdf\x9e\x91\xe5\xaf\x2f\x22\xd9\xa2\x57\xf4\x6c\x57\x6f\x2e\x98\x69\x65\xaf\x6d\x3b\xab\xca\xee\x58\x17\xa6\x6c\x3b\x65\x40\x46\xf0\x82\x81\x0e\x36\x94\xaa\x59\x30\xae\xa3\x79\x8b\x59\x7f\xcf\xe9\x22\xd4\xc9\x2e\xa3\xd0\x90\xb2\xd3\x42\x7c\x56\x9e\x9c\xb1\x45\x88\x3e\x02\x26\x4d\x65\xaf\x39\x28\xa0\xa2\x25\x1f\xaa\xa1\x58\xe0\x56\x94\x35\x0b\x8a\x55\x10\xa5\xac\x60\x57\xa2\xcd\x85\x0a\x7e\xdf\xc9\x0a\xe6\x5a\x1f\x23\x83\x37\x96\xbc\x4d\xae\x26\x2b\x2e\x6f\xe2\xe9\xad\xc1\xec\x30\xb6\xdd\xa0\xe9\xa8\x41\xf3\x6e\x51\xa0\x4c\x0d\xb9\x40\x5f\xf0\x1e\x88\x22\xdf\xc7\x82\xf9\x7c\x00\x6f\x22\x51\x82\x9a\x18\x11\xcd\xe4\xd3\x00\x08\x0a\xe4\x2b\x24\xdd\xb8\x9c\x02\xcd\x9a\xca\xc1\xb4\x0d\x7c\x90\xfb\xab\x87\xcf\xef\xdf\x3b\xee\xa3\xf1\x95\xbd\x30\x77\x3c\xdf\x55\xd7\xec\x1b\x75\xd1\x81\xc4\xfb\xab\xfb\xa7\xf1\xfe\x95\xb8\x86\xf9\x8f\x80\x3d\x5c\xfe\x2a\xe4\x90\x3e\x27\xc1\x9f\x89\x3d\x4a\x5a\x55\xd1\x6c\x6e\x3f\x4a\x0f\x8d\xf6\x49\x52\x28\xab\x55\x15\xf8\xc8\xbb\x68\xbf\xb7\x1d\xfa\x01\xfe\xac\x0b\x79\x8f\x78\xd2\x44\x49\xc6\xe6\xef\x9f\x4a\xdb\x0f\xc7\xbe\xbe\x4c\xb1\x18\x22\xaf\xe5\x97\x13\xb5\xbb\x97\x7a\x30\x6b\x74\xd4\x9f\xdc\x62\x6e\x1d\x08\xdb\xd8\x29\x95\x5c\xbc\x90\x29\x42\x19\x04\xbb\x2b\x28\xa5\x8c\x00\x26\xb8\x4d\x50\xd9\xcf\x73\x13\xc8\xd9\x6d\xcc\x41\x14\x04\x2f\x04\x6a\x9b\x27\x0f\x60\x76\x41\x39\x84\x2b\x19\x68\xdc\x1d\x27\xc4\x56\xf1\x0c\xa5\x4e\x9d\x44\x47\x02\x56\x99\x19\x3f\xd4\xbe\x6b\xb0\xa8\x6b\xf6\xd0\x64\x6c\x35\x14\x69\x1b\x45\x24\x5a\xd9\x48\x65\x05\x9d\x48\x10\xef\xa1\x92\x4a\x55\x09\x82\x2f\x27\xb5\xf2\x6d\x23\xe9\x60\x48\x80\x1a\x04\x54\xe2\x7d\x83\x86\x22\x65\xc0\x41\x25\xa8\x45\x44\x30\xd3\x98\x7c\x20\xd1\xb1\x87\xa3\x73\x6e\x2a\x12\xf2\x90\x5d\x73\xb0\x28\x53\xec\xcf\xde\x01\x12\x4d\xd0\xe2\xdc\x0a\x48\xfd\x54\x2e\x7b\x0f\x90\xa0\x03\x9c\xd4\x7e\x08\x2a\xf1\x62\x6f\x4b\x0e\xc8\x57\xbf\xbe\x54\x29\xa1\xe4\x8c\x5e\x76\x1b\xcd\x95\x70\xb5\x1e\xcd\x35\xfe\xc7\x86\x01\x2b\x76\xc5\x99\x03\x7b\xe9\xa9\xb4\xd1\x49\x1b\x18\x21\xad\x50\xc9\x4a\x0d\x0a\x8d\xc6\xb5\xa7\x20\x27\xcc\x15\x5a\x41\x6c\xb5\x1b\x20\xfe\x10\x2d\x21\x63\xdd\x65\x34\x28\xd7\xb9\x67\x61\x04\x8a\xcc\x12\xe5\xad\xed\xf6\x40\x60\x05\x4d\x4b\xc5\x95\xf7\x97\xe3\x8e\xfe\xa6\xcc\x8c\x14\xc4\xfc\x81\x9f\xcd\xa1\x35\xb9\xec\x76\x39\xa1\x07\x39\x7a\x28\x5b\x0e\x6a\xa7\x3b\x41\x19\xf0\x1d\xa9\xad\xa6\xcf\x25\x88\xdf\xbe\xd1\xbb\x50\x53\x09\xb5\xe8\x15\x19\x16\x09\xda\xd0\x41\x8a\xee\x56\xd9\x53\x20\x4f\x94\x3d\xcc\x62\x5e\x38\x76\x93\x9a\xaf\xb1\x96\x5b\xcc\x63\x5c\xab\x9a\xbf\x44\x27\xa9\x42\x38\x4c\xf2\x78\x7d\x99\x50\x06\x92\xb1\x01\x84\x71\x07\xda\x70\xef\x75\xa8\x72\x94\x74\x35\x27\xec\xbe\xd7\x7c\x21\xf5\x01\xab\x34\xb7\xa6\xd7\xa8\xe0\x0e\x82\x28\x2e\xa3\x32\xcc\x7f\xdc\xf2\x6b\xd4\xd6\x77\x4f\xbc\x42\x84\x57\xc6\x01\xf5\xed\xba\xd5\xda\x42\xaf\x7d\x9f\x36\x7f\xb4\x07\x29\xd7\x9c\x17\xce\x0d\x40\xdd\xcb\x81\x18\x0f\x49\xc7\x91\xfd\x6a\xa3\x00\xbd\x4c\x2d\xfe\x0c\x03\xa9\x9e\xcf\x00\xb1\xc8\x7d\x5b\x2c\x38\x51\x88\xc3\xdf\x78\x81\x50\xab\x08\x5a\x0e\x7c\x76\xd5\x36\x76\xea\x1b\x65\x2e\xcf\x09\x9f\x29\xe6\x64\x4e\xd6\xcc\x67\xe5\xcc\xe6\xa1\xeb\x83\x1e\x11\xfe\xf6\x97\x53\xe2\x08\x20\x66\xef\x0d\x49\xf0\x79\x4e\x7f\xe5\x1a\xab\xec\x79\x84\x42\xc8\x77\x60\xef\x7c\xf1\xb4\xfc\xa1\x12\xe6\x38\x26\x68\xe2\x36\xa1\xe0\xc7\xe0\x0f\x29\x92\xf6\x58\xa1\x2d\x21\xad\x80\xa6\x1d\x46\x99\xe2\x2c\x32\xe0\x0a\xb8\x96\xbc\x17\x8a\x54\x42\x5f\x3b\xf5\x65\x37\x71\x1c\xbc\x85\xe6\x92\x7d\x1d\x18\x1e\x15\xcd\x9f\xbf\xb0\xf3\xb2\xca\x0f\xb9\xa8\xfb\x35\xa1\xb8\xe7\x57\x95\x98\xb1\x7d\xbc\xae\xcb\x1f\xb8\xb0\x9c\xca\x8f\x7c\x62\xe7\xa5\xfd\xd0\x0b\xfb\xd4\x75\x5d\xd8\x48\x8a\xeb\xfa\x6e\x37\xf4\xff\x78\x2a\xf2\xfd\xf4\x0c\x75\xbb\x6f\xce\x0d\x79\x8f\x4a\xe6\x60\xd8\xe9\x3a\x9c\x53\xa6\x63\xaa\x81\x37\x20\x80\x77\x48\xd9\x22\x85\xd0\xed\x80\xe2\x36\x38\x11\x09\x65\x2f\x28\x87\xc9\xd9\x87\x02\x89\x67\x4f\xc8\xc5\xea\x52\x48\x29\x90\x87\xc1\x6c\x33\x2e\xd2\xb7\xda\x4e\x22\xa1\x08\x97\xc9\x3c\x34\xc8\xea\xec\x80\xc2\x63\xdf\xec\xa0\xa2\xe3\x9f\xdd\x4e\xc7\x85\x77\xfc\x0b\xfe\x7d\x1f\x0f\x84\x5a\x42\x02\x06\xb6\x38\xfa\x39\x1c\x7e\x52\x17\xdb\x5a\x52\xe0\xf9\xce\x30\xc2\x79\x2d\x87\x5f\x1d\x2f\x76\x57\xf3\xf4\xed\x1e\x1c\x7e\x47\x70\x7f\xa0\x2d\xec\x3e\x31\x6b\x15\x50\x09\x06\x2f\x82\xdd\xb2\x81\x32\xe0\x58\x57\x8c\x24\xe9\xd8\x59\xbe\x00\x7b\xdf\x97\x25\x5b\x8b\x9b\xd3\x1a\x49\x3b\xfa\x19\x20\x4c\xa8\x5e\xb1\x5f\x08\x6e\xf4\x74\x6e\x3c\xdb\x71\x41\x6a\x8c\x8d\x1b\x14\x75\xe5\x58\x7f\xfd\x83\x1d\x79\x49\x55\xef\xa2\x95\xbd\x65\xf4\x8d\x4a\x87\x43\xde\x2f\x9b\x39\x23\x3b\x82\xd0\x11\xfc\xe4\x08\x33\xb2\x93\xce\x16\x2e\x86\xf3\x82\x8e\xf3\x2a\x5f\x5f\x7a\x6f\xa1\xbf\x5f\xea\x64\x13\x45\x81\x7a\x6f\x0f\xfc\xdf\x4c\xab\x0a\xdc\xc3\x24\x24\x12\x8e\x09\xb0\x47\x0f\x08\x24\x87\x58\x99\x53\x71\xef\x53\x93\x13\x07\x88\x0d\xc3\x51\x43\xf6\xd7\xf6\xaa\x1e\x6a\xa7\x2e\xda\x3a\x8f\xf7\x86\xdf\x21\xd0\x67\x66\xde\x22\x8c\xae\x17\x94\x47\x03\x74\x46\xbf\x77\x32\xc2\xb0\x2d\x85\x67\xb6\x6f\x8a\xbf\x3f\x9e\x90\x48\x1e\x21\xcf\xf1\xfd\x33\x9a\x66\xbb\xbd\x0b\x43\xd3\x38\x0a\x19\x6d\x56\x62\x15\xaf\xce\x4f\x3f\x71\x96\x69\xd1\xc6\x21\x5f\x50\xe6\x41\x86\xaa\x72\xc4\xf3\xc5\xfa\xe8\xf2\x74\xde\xdf\xb7\x25\x4f\xf5\xde\x9f\x9e\xe1\x8f\xd2\xdb\x1d\xfe\x88\x12\xda\x03\xf3\x4a\x74\xea\x15\xd4\x14\xd6\xdf\xf5\x81\x53\xb3\x38\x51\x4a\x5c\x7f\xf9\xf6\xeb\x6a\x0f\xf9\x91\xc3\x8d\x56\x7e\xd4\x70\x52\x3a\xae\xf6\xf2\xc3\x06\x9c\xe3\x87\x5e\x2f\x4e\xf0\x47\x5e\xb0\x9d\xdf\x68\xe5\xc7\x5e\xb0\xe4\xde\x7e\xd4\x80\x10\xae\x9a\xd4\xdb\xf6\xe6\xea\xc7\x4e\xf2\x3b\x7d\x86\xd3\x69\xf8\x1f\x7f\xf7\xab\x4e\x74\x4f\x2e\x3f\x0d\x77\xf9\xc3\xe3\x79\x41\xff\x47\x9e\xde\x0f\x1c\x0e\x37\x4f\x89\x7e\x7d\x6f\xbc\xcb\xef\x1d\x90\x92\x1e\x3f\xf8\x71\x7c\xe3\x04\x7f\xef\x78\x66\xb8\x3e\x73\x7e\x97\xdf\x75\xc1\x3f\xf0\x89\xe0\x04\x7f\xe0\x78\x7c\x20\xbf\xe3\x0e\x5e\x3e\x77\x0b\x7f\xdc\x33\xf9\xfe\x86\xf4\x04\xa1\xf9\xe9\x9b\xa2\x69\x88\x3b\xe7\x07\x7a\x0f\x6f\xbb\x08\xde\xd9\x5e\x4f\x38\x56\xd6\x14\xd2\x9f\x1e\xa4\x99\x67\x59\x37\x05\xf8\xb7\xb6\x0d\x78\xb8\x99\xb6\xe8\xbc\x63\xbe\xe3\x8d\xf2\x27\x7f\xe9\xf2\x22\x45\x64\xcd\x1c\xa2\xc7\x3c\xbc\x79\xa8\x11\x9e\x3c\x7e\x4c\x8c\xa1\x3c\x0f\xb7\x13\x1a\xa2\x67\x76\xad\x16\x67\x32\x89\x28\xfb\xb1\x1b\xb4\xd0\x63\x8f\xfd\x33\x00\xb5\xf7\xdc\xc5\xc7\xb3\x5f\xe5\x05\xb6\x81\xb0\x2b\x64\x87\x94\x2d\x4e\x9b\x1d\xba\x70\x21\xe9\x8b\xa2\x5f\x1a\x64\xd7\xd0\xf9\x6d\x64\xfd\x31\xef\x0e\x57\xd6\x59\xb2\x0f\xab\x9f\x57\x06\x71\x0c\xe6\xd7\x93\x6d\x1d\x7f\x02\xde\x5a\xff\x88\xfe\x2f\x1e\xc7\x37\x3f\xf3\x14\x10\x35\xf5\x40\x09\x77\x62\x1e\x34\x07\x19\xe5\x00\x19\x96\x66\x67\x25\x2c\xac\x65\xe6\x33\x9b\x29\x40\x50\x68\xc6\xf1\xd1\xbe\xc0\xdb\x8d\x63\x68\xeb\xbc\xdd\xe9\x73\x13\xe1\xf2\xfe\x9c\x13\xb9\xef\x39\x9f\xb8\x96\x69\x93\x00\x69\xe2\xca\x1c\x36\x20\x14\x0d\xd1\xdb\x24\x46\xc6\xdc\x4a\x02\x86\x91\x76\xab\xe3\xf3\x37\x0a\xf9\xdd\x0c\x66\x43\xb0\x3a\xa4\x7c\x9c\xf2\x36\x4b\xdd\xe6\xf5\x45\x6a\x1f\x61\xce\xbc\x7b\x45\x3f\xb2\xa4\x1f\xbd\xa6\x1f\x51\xd4\x47\xdd\xc3\x3c\x11\x17\x12\xa1\x40\xae\x67\xa9\x72\x72\xb1\xfb\x01\x90\x7d\xd0\x59\x11\x43\x38\x13\x44\xd1\x43\x34\x94\xbe\x4b\x47\xa3\x55\x0e\x5a\xe9\x69\xe8\x0e\xd6\x32\xb1\x30\x13\x54\xce\xc8\x17\xf6\x61\x93\xa9\x03\x4e\x80\xf3\xf9\x52\xfd\x8c\x98\x74\x2a\x64\xec\x5c\x27\x85\x12\x67\x42\x19\xab\x08\x6e\x9b\x66\xb8\xe2\x3d\xe4\x99\x01\xf4\xe0\x89\x7c\xf1\x53\x41\xcb\xfc\x2e\xcd\x62\xca\xa2\x5e\x8e\xc1\xe9\x80\x39\xa4\x92\x95\x22\x23\x4b\x50\x3e\xe3\xb4\x3f\x21\xcb\x7e\xfa\x16\xaf\xa2\xa4\xac\x98\x6b\xe8\x44\x07\xba\xa7\x56\xd0\xea\x80\xd2\x61\x38\x1d\x91\xdd\x50\xd6\x7c\xee\xad\x45\x4f\xa0\x03\xa7\xb4\x01\x98\x67\x6e\xd0\x58\x60\xb5\x58\xc0\x35\x90\xc5\x82\x43\xc8\xf2\x20\xd3\xec\x83\x5b\xf0\x59\x73\xc0\x0f\x2f\x99\x1d\x4c\x59\xa0\xa4\x5b\x80\xce\x60\xf2\x78\xda\xac\xd3\xd0\x90\x05\xc9\x01\x2a\xea\x78\x33\x3e\xd8\xd6\xc1\xe6\x0a\x18\x60\x26\x63\x52\xad\x3b\xa5\x68\xf9\x0f\x02\x3d\x72\x09\xeb\xe8\x63\x0d\xf0\xd0\xb4\xf5\x24\x43\x21\xbd\x80\x06\x1a\xf1\x3b\xf8\x30\x9d\x73\xaf\xe7\x40\x7e\x54\xa0\x9e\x70\x7e\x60\xe8\x4d\x44\x42\x4a\xdf\x31\xa8\x27\x92\xfd\xef\x8e\xb5\x24\x84\x58\xd5\xe4\xfc\xac\xa4\x10\xeb\xb8\x64\x18\x0a\xa2\x2f\x08\x34\xac\xc5\xc9\xc8\x6c\xfe\xe7\x19\xe2\x24\xe3\x19\x5f\x42\x4f\xb5\x87\xfb\xa1\xe4\x7b\xc6\x08\x17\x30\x95\x91\xe4\xe8\xfc\x9d\x23\x9e\xbf\x7e\x8d\xa4\xaa\x43\x3d\x32\x94\x8d\x04\xc4\x7d\x8b\x8a\xca\xac\xb7\x6c\xa2\x82\x30\x91\x1c\x27\xef\x59\xed\x21\xd7\x0d\x98\xb4\xec\xea\xcc\x98\xfe\x2c\x2f\xea\xc4\x3d\xdc\x00\xa5\x94\x89\x96\x08\x6d\x58\x72\x52\x99\x0f\x0b\x8a\xac\x98\xb0\x9c\x98\xcd\xe0\x66\x30\x1b\xe3\xc4\x28\x83\x5d\xbe\x38\x2e\xf7\x60\xae\xae\xa7\xc3\xe1\x05\x8d\x72\x02\xbe\xbb\x61\xb5\x8c\xdd\x6c\xe9\x28\xf6\x43\x41\x92\x5c\x6c\x7b\xa8\x2e\xa8\x20\xd3\xc9\x31\x5a\xd9\x91\x7c\xa1\xb9\xe2\x6e\x05\x02\x15\x18\x39\x58\xe5\xb5\xa5\xd5\xba\xc3\x64\x85\x69\xc6\xca\x99\x31\x54\xc0\xe9\xcf\x5b\x3e\x42\x59\x14\x0a\xd1\x6f\xb7\x39\x45\x19\xda\xd8\x75\x43\xe7\x14\xa8\xc7\x04\xc6\xa1\x10\x5d\x4b\xfd\x24\xdc\x1f\xaf\xfc\xc9\x6a\x07\x41\x7e\x9c\x19\xb9\xba\xc0\x60\xbc\x4f\x91\x37\x2a\xf2\x4e\xb1\xa0\xa4\x81\x90\x16\x3d\xdb\xa4\x2c\x80\xbc\x60\xfe\xa3\xe5\xc7\xbe\xdf\x13\xd1\x08\xad\xee\x1d\x6c\x47\x76\xbb\x20\x74\x85\xad\x67\x40\x8a\x1c\xfa\xf2\x84\x70\x08\xb3\x4e\xb6\xbe\xb0\x6d\xa3\x62\xa6\xc5\x79\x3f\x5a\xda\x63\x85\x56\xdc\x64\x39\xb8\x15\x27\xf3\x42\x32\xdd\xee\xdb\x9d\x5b\xcb\xd7\x40\x22\xc9\x0a\xf0\x1b\x23\xd4\x84\x91\x51\xe9\x9e\x4e\x24\x04\x26\x6b\x9b\x1c\xb9\x86\x5a\x43\x41\x17\x72\x2c\x40\x2b\x42\x4b\x1c\x36\x84\x2c\xfa\xf6\x30\xfa\x1e\x69\x85\xec\x8e\xa4\x13\x74\x97\x30\xdb\x7d\xa3\xc2\x34\x02\x10\x09\xb3\x9e\x3a\xfb\x1d\xb6\x89\xd8\x84\x45\xbc\x83\xa5\x25\x23\x4c\x5b\x4c\xf3\x2c\x4f\xe0\x75\x26\xc9\xcf\x79\xdc\xb1\xbe\x6a\x73\x6b\x2c\x26\x66\x5b\x50\xeb\xf7\xae\xed\x0a\x9c\x58\x54\xd6\xcd\x37\x05\x02\xa7\x03\x0a\x22\xa4\xa1\xeb\x41\x67\xe8\x94\x28\xab\x30\x28\x9f\xb0\xea\x4f\xe8\xd1\x9f\xbe\x49\x0e\x9b\x6a\x7b\xd8\xf8\x3f\xec\x65\xf4\x7d\x39\xae\x8d\x39\xae\x9d\xf9\x1d\xe5\xb9\x4f\x8c\x35\x33\x32\xe5\xe4\x61\xaa\xc3\x35\xc9\x4f\x9f\xe1\x74\x19\x5e\x5f\x46\xae\xab\x70\x4f\x06\xb7\x47\xef\x28\x9e\xee\x51\x3c\xfd\xa3\xf8\xe0\x20\x7d\x7c\x26\x97\xfb\x65\x0d\xf7\xf1\xdc\xed\x7b\xf4\xfa\xde\x38\x7d\x5f\xfb\x7c\xa4\xa6\x71\x42\x98\xb5\xbb\x91\x24\xcb\xf9\x25\x95\xb2\xfe\x68\xba\x51\x12\xd7\xb2\x67\x93\x54\x3e\xb9\xdb\xd2\x3d\x4e\xaf\xdb\x29\x84\x56\xd3\x73\x3c\xbb\x9e\x63\x7f\x74\x8e\x1f\xda\x50\x8f\x37\x57\xb6\xdb\xaa\x4a\xe1\xb1\xcd\xe3\xa1\xb3\x63\x37\x3f\x23\xd0\xf3\xbd\x90\xae\xa5\x15\xa7\xe6\x4b\xf4\x2a\x6b\xd9\x73\xb5\xa3\x6a\x06\x0c\xe4\x28\x25\xb4\xfb\x16\x97\x17\x61\x25\x02\x04\x77\x69\xe3\x83\x4f\x1b\x97\x53\x1b\x97\x57\x1b\xef\x6e\xed\xeb\x4b\x9d\x12\x6a\x93\x4d\x69\x94\xda\x16\x6b\x87\xbe\xc1\x74\x6d\x25\xe5\xde\x21\x2c\xce\x8a\xda\xb6\x31\x82\x80\x7d\x49\x83\x1f\xa2\xf3\xc0\x7f\xcd\x03\xa0\x10\x49\xd9\x04\x7b\x73\x1b\xbb\x1f\xc3\x91\x0e\x2a\x3f\x58\xe0\xc4\xbe\x8b\x7c\xd9\x68\x10\xeb\x86\x84\x7a\x97\x9d\x50\x63\x9b\x3a\xb3\x06\xad\x63\x9b\x12\xa6\x6c\x9a\x7a\xd0\xd4\x51\x20\xd0\x90\x13\xa4\x63\x70\x6a\x9f\x58\x81\x4f\x18\xda\x9f\xce\xee\xa9\x81\xfa\x10\x94\x20\xc0\x38\x08\x41\x32\x77\x0c\x91\x35\x96\x05\x8f\x66\xdd\xd3\x5e\x12\xe5\x4a\xd2\x76\x7a\x7b\x5e\x53\x89\xab\x8e\x10\xd5\x5b\x37\xd1\xed\x90\x60\xac\x0b\x4b\xf4\xe8\x42\x23\xe7\xff\x00\xc4\xa7\x17\xf8\xd0\xa2\x65\xd7\x11\xa4\x78\x71\x43\x07\x94\x2b\x59\x58\xf7\xf2\x06\x36\xa1\xd7\x17\xc9\x75\xe9\xfc\x0b\x67\x73\xe7\x46\xa6\x08\xb1\x60\x08\x07\x5c\xa5\xb1\x47\x94\x8c\x23\x9e\x70\x37\xdf\x20\xe8\x65\x07\xeb\x1c\x18\xf1\x24\xd7\x03\x65\x57\xe9\x28\x8e\xe0\xb1\x98\x2f\x7b\x67\x4d\x43\x5b\xcd\x1e\xc9\x58\xe5\x2c\xd1\x8e\xe8\x61\xad\xcb\xde\x3b\x97\x8f\x0c\x76\x8c\x94\x16\x46\x5a\xf8\x00\x25\xfb\x5e\x9f\xac\x56\xa0\x67\xe7\x40\x5f\x08\x36\x2e\xf0\x5b\x11\x31\x47\x97\xa5\x42\xbb\x97\x6b\x50\x0e\xf0\x39\x99\x29\xdf\x23\x65\x63\x0a\x82\x00\x54\x97\x51\x37\xa4\xe3\xe2\x38\x67\x3d\xe1\xb8\xda\xbc\xb2\xc4\xb5\x01\x55\x0a\x49\x17\x5c\x17\xd8\xf6\xc6\x09\x65\x64\xe8\xc4\x20\xba\x9e\x7b\x27\x68\x28\x8b\x73\x1b\x30\x4a\xee\x30\x08\x63\x04\x3f\x3d\x8b\x03\x9c\x98\xa9\xec\xe0\x9c\xb6\xfd\xbf\xe6\x83\xf4\x4f\xa2\xed\xf0\xb0\x2c\xef\x88\x13\x00\x48\x68\x6c\x7f\xf4\x57\x3b\xa6\xb4\x94\x20\x63\x17\x19\x00\x1b\x6a\xb7\x0d\x1b\x90\x3c\x68\xde\xd8\x47\x81\xd5\x3c\xd9\xab\x3b\xa6\x30\x08\x5f\x6a\x20\xe4\x18\x8d\x13\xa2\xe9\x16\xa7\x63\xe3\xcc\x16\x0d\xa7\x9f\x66\xb3\x3f\x35\x45\xf1\xe6\x15\x87\xe1\xa0\xe4\x07\x80\xfa\xfe\x88\x77\x0d\xd2\x1b\x47\xfa\x50\x98\xf4\x6a\x9f\x73\x84\x87\x91\x8f\x87\xdf\xfc\xc4\xe2\x7c\x02\xae\xfe\xf4\xdc\x99\x56\x73\x5d\xe4\x2c\x05\x76\x4c\xf8\xf8\xa3\x3a\x5d\x23\x1e\x25\x09\xb6\xcc\xc8\x31\x9f\x80\xc7\x89\xcb\x43\x40\x69\x6e\x44\xaa\x94\x02\x61\xe6\x83\x88\x6c\x30\x2e\xba\x84\x9b\x79\xd2\x9c\xdf\xf5\xa4\xd0\x02\xa3\x22\x81\x96\x6c\x55\xa5\x73\x07\x5f\x22\x50\xd2\x10\x4a\x51\x29\xa4\x43\x5a\xc8\x87\xe0\x91\x1c\x3d\x08\xf8\x7e\x7b\xb7\x90\x45\xb1\x65\xad\x17\xbb\x4c\x94\x93\xa6\x6d\xe2\xaf\x2f\x52\xe6\x08\x95\x93\x8b\xc8\x9f\x00\x8b\xb2\x78\x18\xda\x97\x7a\xd9\x62\x0b\x82\x28\x14\xd8\x4e\x44\xcd\x20\x5d\x23\x3a\x2a\x30\xce\x68\x24\x55\xad\x12\xa2\xc5\xac\xa0\x43\x23\xe5\x89\x76\xa2\x3a\xd8\x70\x76\x6e\x70\x8b\xdb\x00\xb4\x8f\xa4\x26\xbc\x8b\x93\xcd\x7b\x63\x62\x04\x11\x9b\x9d\x90\x5b\xbd\xcc\xfe\x8e\x08\xba\xf5\xec\x5e\x22\x09\xf2\xbe\x2c\x7d\x15\xb4\xfe\x12\x03\x8f\x72\xba\x48\x3f\x9a\x39\x5f\xb6\x00\xd0\xb9\x81\x9e\xaf\xcc\x79\x9e\x48\x79\x07\x52\xb3\x26\xe6\x12\x26\x7a\xb5\xed\x6e\x67\xd9\x7b\x90\xe5\x70\x92\x8d\x2f\xce\xe5\xd6\x84\x1c\xc6\x4c\x6c\x65\xa7\xa5\x8e\x35\xb3\x50\x17\x35\xed\xf0\xb4\xd1\x91\x02\x87\xc6\x66\xc8\xb0\x07\xe2\x79\x2a\x75\xea\x79\x69\x61\xa6\x9b\x59\x31\xa5\xc3\x99\xd7\x04\x13\x52\xd7\x52\x29\x17\x53\xa7\xe1\xaf\x3d\x14\xbf\xed\xca\x46\x3d\x33\x17\x16\xf9\xfb\xae\x9c\x06\x7a\x25\x83\xaa\x1c\xb3\x05\x95\x74\x40\xa1\x0a\x5b\x39\x14\xc5\xc2\x40\x1c\xab\x61\x82\x62\x65\x5e\xf6\x0c\x48\xb0\xfd\x17\x3c\xc2\x5e\x8d\x46\x42\xa2\xb3\xd5\x29\xaa\x08\xc0\x5a\xd0\xa5\xaa\x3d\x40\x8d\x28\x8c\xe1\xd2\x1a\x59\x76\x74\xe6\x61\x33\xcd\x3b\xa2\x26\x70\x92\x93\x28\x11\xdd\x77\x76\x97\x3e\xb1\x46\x9f\x10\xb9\x3f\x3d\xf7\x3f\xb6\xb6\x12\x13\x23\x4b\x18\x2d\x3b\xff\xbd\x2d\xb4\xb1\x29\x90\x77\x65\xec\x00\xdc\x51\xaf\x20\x82\x5a\x1e\x11\x70\x32\x9f\x9a\xc0\x35\xf8\x5b\x5b\x04\x44\x4b\x32\x8a\xe9\x59\x97\x78\x0f\x53\x1a\xde\x49\x80\x2e\x92\x6a\xe6\xb1\xb6\x0d\x37\x3f\x66\xbd\xc6\xb9\x56\x7d\x73\xb5\x23\x76\xb1\x10\x53\xdb\x83\x99\xd6\x72\xb4\x1a\xb2\x6e\x8a\x20\xf8\x1a\x4b\x19\x50\x7f\x49\x94\xfa\xa3\x29\xc1\x0c\x91\x5d\x2d\xba\xc8\x1a\x5a\x3d\xda\x0c\xda\xb6\x52\x34\x88\xfd\xb0\x84\x56\xf0\x35\x38\x90\xd0\x8f\x34\x37\xb0\x9b\xa9\xcf\x6c\x8f\x25\x13\x67\xab\x8e\x2e\xb9\x4a\xda\x8a\xf9\x8f\x68\x8d\xad\x94\x05\xca\x54\x35\x6d\x1a\x0a\xe3\xc5\x41\x26\x5b\xa4\x63\x72\x06\x11\xed\xd1\xd4\xf5\x7b\x5c\x59\x4a\xb7\x62\x61\xe7\x6c\x9b\x22\xf3\xd0\xc1\x61\x9e\x39\x2f\xf9\x67\x07\x9c\x03\x5e\x0b\xfd\x71\x6c\x77\x5b\x94\xd1\xa8\xf0\x90\x2b\x23\x7f\x75\xba\xcd\xc1\x00\x49\x7b\xc8\x23\xf4\x16\x32\x04\x98\x25\xb4\x26\x9b\xa0\x2f\xc1\xfc\x34\x85\xb0\xd0\x16\x6b\xd0\x0d\x19\x8f\x01\x09\xa8\xe1\x3a\x6d\x41\x02\xc5\xa2\xbe\x2c\xd5\x28\x2c\x10\xe6\x7f\x10\x74\x59\x5c\x0b\x90\x4d\x41\xde\x20\x23\xab\xd4\x1d\x5d\x9f\x41\x52\x02\xe0\xa0\x19\x16\x0a\x7c\x56\x2c\xc4\x03\x7d\x0a\x30\xea\xfa\xc0\xf1\x3b\x0f\x60\xd6\x90\x80\x2a\x90\xd3\xa8\x1b\x91\x9b\x6d\x2f\x01\x0c\x57\xc0\xc7\x94\xbe\x39\xed\x93\x7b\xb7\x36\x33\x2d\x7e\x46\x8f\x80\xb9\xf8\xb5\xec\x1a\x10\xb9\xda\x2a\x44\x64\x6f\x51\x64\x42\xea\x8c\xcb\xc5\x3c\x08\xc8\xaa\xd9\x86\x3d\x2e\x08\x27\xa0\x77\xd5\x82\xed\x2f\xcc\x1f\x0d\xe0\x5e\xec\xa6\xd8\x22\x54\x46\xf5\x08\x86\x3c\x78\x15\xdc\xf0\x3d\xc3\x0f\x63\x70\x50\x8e\x46\x2f\x27\x6d\x9e\xc1\x54\x73\x8d\x35\x94\x4a\x87\x0e\xe9\x44\x30\x92\xd6\xa3\xb0\x87\xcc\x62\x03\x1b\xd3\xbe\xd8\xc8\x4a\x1b\x4b\xdb\x94\x32\x46\x69\x43\x09\x27\xe7\x8e\x6d\x00\x85\x01\xc4\x1a\x4e\x17\xde\xf6\xdc\x91\x0c\x68\x81\x75\x9c\x2a\x9b\x90\x94\xc6\x69\x62\x64\xb6\x1d\x7b\x25\x2e\xd1\xe5\x79\xa8\x00\x26\x41\xdb\x05\x32\x6c\xe0\x36\x51\xf0\x8c\xb7\xd0\xc5\xd6\x48\x96\x1d\x0b\x10\xf0\x05\x34\x8c\xf9\x62\xfc\x84\xa5\x79\x02\x28\xff\xf4\x2d\x46\xee\x8c\x3b\x00\x87\x3c\x81\xaa\x64\x8f\xa3\x21\x32\xa7\x9b\x2a\x44\x65\x60\xeb\xc1\x61\x62\xa1\x83\xfd\x69\x66\xe0\x67\x50\xa4\xde\x83\x0c\xdb\xad\xc7\xe1\x12\x06\xe2\xdd\x7a\xc8\x8b\x1c\x42\xaf\x0d\x18\x25\x66\x1c\x4a\xd0\x2a\xa1\x54\x90\x61\xb8\x52\x0a\xe0\x38\x92\x82\x8a\x90\x0b\x56\x7a\xd0\x09\x16\x63\x14\xef\x86\xcd\x77\x68\x12\x90\x8f\x6c\x13\xf8\x2f\x3a\xf7\xa9\x38\x1c\x7f\x76\x45\x41\xdd\xbb\x1a\xc5\xd3\x99\xce\x5f\x0a\x5a\x64\xec\x92\x02\x1b\x80\xe6\xba\x44\x81\x18\x70\xc3\xdb\xb2\x51\xa6\x0a\x95\x96\x52\xf9\x5d\x08\x91\xee\xab\x03\x92\xc6\x97\x27\x7a\xd7\x84\x9e\xae\xab\x02\x78\x91\x19\x55\x33\x6e\xee\x1d\xce\x20\x8d\x48\x5c\xd5\x09\xaa\x1c\x64\xbe\x8a\x79\x4b\x9a\xb6\x1e\x3a\xdb\xba\x21\x6d\x3a\xe1\x13\x64\x20\x8a\x6d\x1c\xcd\xe5\x40\x87\x7b\x01\x9b\x31\xda\xca\xb3\x7b\x3a\x48\x82\x92\xa9\x21\xc0\xe4\xe7\xa5\xa1\xd8\x52\xb0\x05\x5b\x5b\x18\x45\x2e\x30\xe9\x00\xa3\x0e\x45\xa7\x0d\x68\x53\x73\x50\x06\x40\x30\x5f\xa0\xa3\x40\x4e\x28\xdd\x65\xb8\xe4\xc4\x91\x62\x73\x04\x5e\x1a\x2f\x06\x17\xbd\x50\x06\xb1\x04\xec\x35\xe8\x88\xca\x2e\xca\x94\x40\x79\x95\xa9\x59\x4d\x44\x5f\x2e\x1b\x14\x93\xb2\xf6\xf3\x47\xf0\xff\xd7\x17\x91\x66\xa3\xea\x56\xec\x9a\x04\xed\xa9\x10\x7d\xaa\xe8\x47\xdf\xc1\xe0\xad\x1d\xf1\xf9\x0c\x79\xcc\xbd\xe1\x1e\x07\xa2\xc9\xd9\x58\x89\xbd\xb0\x2d\xcf\x27\xb9\x44\x92\x26\xd7\x67\xa2\x20\x26\x92\x30\x65\x84\x41\xb1\x3a\xf5\x28\xb0\xa0\x61\x58\xca\x3e\x50\x94\xb3\x2f\x36\xe1\x2e\x5f\xfa\x7b\x07\xda\x1f\x29\x87\x94\x90\x41\x43\xaf\x48\xfe\x07\x15\x20\x2c\xcd\x25\x41\x2c\xeb\x04\xc4\xde\x3c\x1e\x33\x58\x0c\xa4\x84\xd9\x64\x8b\x33\x94\xcd\x1c\xd6\x4f\xac\xec\x27\xac\xf4\x4f\xcf\x4d\xd4\x50\x97\x5c\x69\xb0\x14\x4a\xf6\xe6\x31\x84\x5a\xd8\xe6\xca\xee\xf4\x3b\x76\x61\x68\x61\x47\x67\x97\x52\xd9\xc1\xde\xc0\xbf\xed\x68\xfa\xf8\xa5\x9b\x13\xb5\xf3\x8e\xb4\x11\xb4\x93\x20\xdd\x56\x1c\x1a\x45\x9a\x59\xe5\x7d\xb2\x92\xc9\x5a\x07\x36\x18\xdf\x08\xa2\x28\x61\x2e\x58\xb6\x36\xe5\xc6\xe9\x66\x2b\x43\x5c\xfa\xc2\x9e\x01\xa0\x9e\x9d\xf4\xb4\x5a\xb5\xc1\x8d\x7e\xe8\xf0\xba\xaa\xff\x83\x09\xc8\x03\xa8\x36\x3b\xc0\x9e\xf8\x20\xaf\x8f\xb4\xb6\x83\x2a\x19\x74\xf3\x65\x02\x66\x3a\x87\x99\xd8\xa8\xa2\xf6\xf0\x5b\x68\xc2\x38\x7b\xea\xe2\xd8\xca\xe8\x66\xcc\x6b\xf5\x6f\xd4\xe3\x5d\xe4\x86\x4d\x43\xdd\x47\x36\x47\x86\xc8\x72\x3a\x81\x90\x2f\x64\xd7\xb5\x37\x5d\x4f\xb3\xd6\x94\x4d\xa3\x3e\x1b\x7d\xd8\x86\x0e\x04\x49\x94\x48\x25\x2f\x19\x45\x4c\x5f\xfa\x34\x3f\xa6\xdf\xa2\xee\xe8\x14\x43\x0e\x15\xc2\x7d\x09\x54\x15\xd5\x82\x1c\x86\x10\xe0\xfd\x61\x6c\xad\x16\x41\xbf\x5e\x5e\x24\x65\xdb\x94\xca\x1e\x07\x15\x36\x1b\x88\xee\xa1\x8c\xa5\x29\xa0\xa6\x51\xba\x79\xaf\x19\x55\xbf\xda\x90\x06\x60\x3e\x22\xcf\x87\xf4\x03\x1d\xe9\x48\x8e\xe6\x5c\x43\x65\xb7\xa3\x80\x98\xdc\xf6\xba\x1e\xfa\x3c\x8a\xf9\x1b\x7b\xb1\xd3\x83\xb0\x46\x2f\xbb\x9d\x60\x83\xdf\x0d\x57\xab\xdb\x9a\x34\xff\x89\x58\x69\x3b\x3b\xdc\x51\xae\xc9\xe9\x9d\x1b\xe6\x16\xd8\x34\x81\x48\x9b\x57\x67\x7c\x99\xa6\xe5\xa9\x7e\x62\x55\xfc\x8f\xa7\x55\x71\xa7\x55\xc7\x12\x98\xce\xa2\x0d\x2e\x6e\x73\x89\x30\x0d\xe0\xf1\xa0\x84\x89\x4c\x06\x61\xad\x22\xac\xea\xa3\x79\xa4\x9f\x6d\xed\xd8\xd4\x87\x97\x22\x10\xba\x53\x48\x8e\x7d\x23\x2b\x71\x68\xd1\x50\xf0\xa6\xf8\x99\x11\xde\x7b\x5d\x0d\x55\xb6\xbd\xa0\xde\xda\xc3\xe8\x68\xf8\x03\xb2\x53\x2b\x19\x33\x2b\x81\xfa\xb5\x3f\x80\x15\x84\x09\x01\xa5\x6b\xb9\xfe\x21\xc7\x79\x54\xf3\x97\xd4\x6f\xe0\x11\xda\xd8\xd6\x3c\xba\x86\x51\x13\x28\x07\x4b\x40\x0f\x2e\x5a\x87\x32\xdb\x3b\x90\xc7\x74\x9a\x03\x3d\x01\xda\x76\xe7\x8f\xc8\xf4\x94\x0b\x59\x9e\xa8\xf2\xdd\xce\x97\x0d\x29\xf9\x0a\xd1\x21\x08\xf6\x5a\x80\x1a\x0a\x77\x6c\xb4\x43\x8e\xa0\x6a\xe6\xd5\x7f\x3f\x16\x04\x4c\x36\x55\xbc\x85\x0e\x6a\xdc\x2c\x04\xa2\x73\x19\x7b\x2e\x1b\x0d\x34\xf5\x30\x2b\x03\x3e\x25\xa6\xba\x33\x3e\xa0\x60\x3d\x9b\x21\xe6\x1e\x1b\x81\xa1\x9c\x4c\xae\x19\x83\x92\x8b\x1b\xfe\xc2\xdc\x46\xef\x36\x03\xcd\xe5\xc4\xe5\xb5\x7e\x4c\x56\xcb\x99\x35\xb3\x70\xa7\x97\x3b\xe2\xdc\xd1\xa7\x9c\xff\xc8\xa0\x29\x37\xfa\xaa\x5e\x7f\xb1\x55\x70\x34\x7b\xb1\x4b\xb7\x7b\x61\x63\x4b\xff\x4c\xee\xe8\x3f\x28\x75\x74\xf9\x9d\xb9\xa3\xbf\x3d\xad\x9e\x7b\xd3\xb3\x76\xdb\x66\x17\xe4\x1b\x09\x4f\x34\x79\x09\xcd\x30\x38\x18\x06\x82\x73\xf4\x8f\x21\x3a\x56\x8a\x58\x30\x59\xa1\x0d\x34\xae\xfd\x00\xfd\x3d\xd6\x85\x27\x0c\xe9\xe0\x31\x9a\x71\x30\x0a\x8c\x27\xf9\x6b\xb8\x13\xa9\xcb\xda\x84\x68\xa1\x25\xbb\x7b\x83\xee\x35\xcc\x1a\xc0\x7d\x6f\xcb\xda\x19\x3a\xa4\xa0\x60\x45\xaf\xc3\xcc\x3e\x9f\x67\x55\xd7\x38\x95\xc9\x3b\x8d\x1a\x44\x7b\x28\x66\x23\x21\xeb\xab\x7e\x12\x97\x5f\x2e\x98\x1d\x6c\x87\x43\xef\xd8\x3a\x1f\x96\xfc\x93\x73\x40\xb0\x56\xc6\xc5\xa2\x47\x74\xb6\x7a\x02\xae\x84\x37\x20\xb2\xd1\x34\x07\x2c\x36\x92\xa5\xf4\xc3\xd9\xdc\xe0\x7b\x34\x96\x97\xd9\x20\xe8\x02\x92\xb0\x17\xe8\x16\x52\xaa\x4f\x2a\x72\x4f\x0c\xef\x25\x77\xba\x6f\xf6\x51\x23\xc1\x3f\x8b\x38\x48\xa1\x61\x22\x4c\x4a\xf2\x26\x12\xde\x96\x45\x38\x61\x06\x09\x69\x26\xd4\x3c\xeb\x01\xf3\x6e\xab\xbf\xfa\xa9\xdb\xf4\xe9\xce\x35\xb1\x17\x33\x5d\x7d\x9a\xff\x8e\xcf\x79\x64\x5e\xaf\x30\x0f\xd8\xa3\xc4\x3d\xa4\xb8\x6e\x59\xa1\xf2\x96\xda\x5e\x67\x1e\x7f\x4e\x47\xb3\x69\x01\x68\x89\xe2\xfc\x21\xc7\xfa\xff\x57\xea\x6b\xae\x9b\xbf\x3f\xad\x9b\x67\x59\xfa\x87\x7c\x4e\x71\x42\x6c\x31\x8f\x31\x28\xad\x6d\x83\xff\xd2\xee\x32\xab\xbb\x52\x03\x0c\xf9\xea\x0e\xf7\xa4\x74\xef\x82\x60\x65\xb5\xc3\x89\xea\x0c\x83\xcc\x3e\x66\x76\xf2\xa2\x20\x02\x3f\x05\x78\xc2\x41\x9d\x30\xcc\x30\xb0\x01\xca\xc2\xb3\xc1\x0b\x61\xe5\x7f\xb2\xa0\xc4\xcf\x40\x7d\xc5\x8e\x35\x88\x39\x67\xe8\x91\x0d\x5d\x3d\xe8\xe0\xa1\x58\xad\x42\x54\xd1\x10\x85\x69\xd7\x8c\x7f\xd1\xbd\xcb\xb4\xbf\x1d\x6b\x80\x0f\x15\xed\xa3\x08\x24\x6c\x03\x99\xf4\x81\x49\xcc\xc5\x90\xde\x2b\x3e\x74\xb1\x9a\x83\x12\x9a\xb7\xc0\x38\x7b\x91\xa7\x2c\x2a\x77\x30\x26\x08\xeb\x20\xa5\x9e\xfd\xf5\x8e\x92\xe6\xf9\x4f\x16\xdf\xb1\xf2\x2b\x16\xef\x64\x01\x94\xfd\x2a\x81\xc7\x60\x56\xf3\x8b\x75\x80\xa4\x6f\xa5\x88\xa2\xa2\x45\xa7\xe5\x50\xcf\x1a\x0e\xb9\x57\x4f\x6e\x9d\xd8\x1d\x6c\x43\x69\x3e\xbb\x8a\x0b\x2e\x6d\x49\x80\x84\x82\x68\x79\x22\x6f\x81\xcd\x32\x41\x4d\x64\xda\x7d\xca\xd8\x5f\x44\xec\x06\x6a\xde\xfb\xa0\x57\x89\x32\x52\x92\x83\xf7\x5c\x6a\xda\xe1\xdc\xda\x13\x81\x78\x12\xee\xb0\x9c\x3a\x23\x48\xb4\x41\xe5\xd8\x73\x6e\x8e\xea\x5b\x49\x61\x08\x97\x6b\x23\x02\xaf\x7a\x5f\x11\xd0\x08\xf0\xff\xf3\xb1\xf2\x9a\x28\x94\x69\x40\xf7\x27\xb6\x63\x73\xed\xb1\xf9\xc0\xe8\x23\xf2\x6f\xc0\xab\xa3\xf1\x13\xe4\xe6\xf6\x8c\xbe\xcd\xfa\xc6\x85\xf2\x8f\xa7\x85\xf2\xeb\x1b\xde\xc5\x77\x37\x98\xe2\x1b\xcc\xf0\x0d\x86\x62\xea\xe5\xdd\x0d\x46\x5d\xc1\x8d\xd2\xad\x9f\xdf\x64\x68\xbe\x85\x9b\x8c\x3e\x6d\x32\xf6\xf0\xe1\x29\xd0\x77\x7c\xda\x64\x48\xbf\xb4\xb6\x19\x67\x83\xde\x61\xbc\xdf\x6e\x34\x9e\x73\x46\x59\x5d\xb8\x3c\x32\x49\xbf\xa0\xa0\xc5\x52\x27\xd2\x6d\xf7\x93\xb2\x2d\xde\xcb\xa5\xe3\x0c\x21\xfb\x43\xad\xf4\x34\xd8\xef\xec\x36\x8c\x99\xd2\xf9\xf2\xab\x1d\x07\xad\xc4\xbf\x63\xcb\x01\x49\x08\x52\x24\x6f\xb6\x9c\x73\xc3\xf1\xed\x06\x99\x52\x4a\x5f\xf2\xcf\xda\x6a\x68\x3d\x2e\x2e\x4b\xf9\xd5\x7e\xf3\xbd\xed\xa6\xac\xcd\x06\xeb\xc1\x7f\x65\x52\xec\xdb\xff\x3a\x9b\xed\x52\xdf\x14\xc2\x1e\x0e\x52\xa7\xee\x02\x87\x14\x97\xd0\xe6\x7f\x9a\x9f\x76\xf9\xd3\x35\xbe\xff\xf9\xb4\x8c\xbe\xd5\x27\x8d\x06\x50\xbb\x56\xba\xca\x85\x99\x67\xea\x6f\x0f\x88\xdb\x9f\x80\x0e\xb9\x03\x3d\x5c\xa7\x51\x57\x55\x08\xee\x0f\x80\x8f\x48\xd1\x0c\x07\x9b\x3a\x3f\x84\x93\x5c\x09\x91\xd3\x98\xc0\x93\x15\xff\xc6\xca\x0e\xc7\xa4\x61\x66\x66\x56\x08\x54\xb4\xf8\x1f\xb9\x08\xdb\x14\x40\x43\x81\x8c\x41\x11\xd2\x25\x67\x62\x6d\x5d\x3c\x1c\x84\x33\x99\xfb\xa1\xcd\xc5\x16\x46\xc3\xf3\xad\x41\x75\xb3\xa0\xeb\xb2\x77\x81\x95\x6a\x0e\xf1\x10\x22\x40\x18\x36\xb1\x70\x74\x30\x7e\x66\xe1\x10\x03\x84\xd2\x2a\x76\xd2\x40\x21\xfb\x0c\xa4\x5a\xf3\x16\xfe\x23\x62\x9b\xd9\x22\xe8\xb9\x72\x79\xb8\x42\xe4\x93\xe0\x15\x0e\x04\x19\xb9\x96\x00\x76\x6a\x32\xd3\x97\xa4\xf7\xaa\x9a\x72\xa7\xdb\x91\x73\x43\x1e\xc9\x82\xa6\x03\xcd\x8c\xb9\x83\x4b\xa9\x24\xec\x83\xb9\x6c\x51\x82\xdc\x28\x25\xdb\x42\xc3\xcc\x35\x0f\x4e\x42\xad\x3b\xda\xcb\x50\x21\x41\xe6\x59\xcd\xd9\xa2\xe2\xd7\xb8\xa0\x9a\x4d\x89\x22\x94\x2e\x46\x88\x30\xf7\xe6\x95\x36\x56\x5a\x8b\xeb\x64\xa1\xbe\x6f\x6e\x5f\x9d\x47\xf1\x8c\xde\x66\xb1\x96\xf4\xbe\x6b\xa0\xfa\x82\x2e\x4e\x14\xe6\x1a\xc4\x99\x29\xd0\xb0\xc4\x7b\x8a\xe4\x6e\xee\x7b\x6b\xc1\x3c\x04\xc4\xd5\x80\x13\x01\x75\x87\xa4\x10\x04\xc5\xf0\x08\xc6\x80\x83\xf8\xfd\x39\xfe\xb7\xa7\xee\xdd\x9f\xd3\xb9\x55\x64\x3d\x29\xa5\x0a\x35\xd9\x7b\xdb\xc0\x65\x24\x65\x53\x04\x7b\x4e\x4e\xdb\xb3\x17\xa8\x0b\xf8\x18\x91\x1e\xdc\x04\xd1\xbc\x4d\x2a\xc0\xfe\xc5\xfb\x49\x25\x8d\x0d\xdc\x9c\xd2\xc7\x46\xac\x97\xc5\x86\xcc\x8c\x81\x5a\xd3\x6e\xd5\x16\xfb\x0c\xaa\x63\xc3\x82\xb0\x7d\x1d\x06\x11\x35\x8b\xd8\xe0\x76\x34\xfb\x4c\xb3\x13\x6d\xab\x36\x10\x12\x61\xf7\x29\x29\xd4\x89\xc1\x15\x32\x07\x6c\x85\x1d\xc0\x1c\x93\x3d\x91\xac\xc6\xd2\x87\x3d\x4e\x9e\x73\x94\x54\x98\xb2\xb5\xf5\x5b\x07\x89\x99\xb4\x84\x3e\xed\xaa\x3b\xe5\x17\x2b\xc2\xf1\x1a\x80\x96\xcf\x16\x15\xf5\xbe\x01\x72\x2d\x65\x03\x1d\x59\x9f\x3b\xea\x69\x01\x43\xa4\x6d\x8d\xbd\x45\xbb\x23\x52\xe7\x8e\x4c\x18\xf8\x2c\x70\x12\x64\x1f\x44\x6a\x17\x27\xbc\xb7\x6e\x06\x17\x57\x31\x36\xd0\x3e\xa9\x7d\x3b\x07\xcd\x6d\x37\x17\x3e\xf4\x1a\x1a\x0b\xd0\xb8\x1f\x4c\x9b\x69\xee\x5b\x47\x2e\x80\x49\x20\x0e\x81\x9b\xe9\xf7\xb9\xe0\xc7\xec\x4e\x34\x36\x81\xaf\x27\x72\xe1\xc9\x45\xa9\x73\x53\xb1\x30\xa2\xc0\x19\x6d\x1a\xee\xcf\x95\x4f\x7c\xb3\x5b\x21\x80\xb5\x66\x14\x11\x7b\x77\x70\x0f\xe7\x0a\x50\xa8\x48\xe0\xeb\x64\x60\x21\x48\xaf\x1d\x51\x31\x41\x91\x9a\x3b\xcd\x3b\x7d\x66\x16\x10\xbd\x60\x8e\x3a\x34\xbd\xde\xd1\x9d\xb6\xe5\xe4\x74\x95\x19\xf8\xcf\x71\xbc\x39\xe8\xe1\xdb\xe7\x98\xbb\x00\xc6\x74\xff\xd9\x63\x9d\x8a\x9f\x5e\x61\x2e\xaf\x80\x5d\x4f\xf3\x2d\xf6\xd6\xb6\xd8\x80\x91\x1c\x99\xaf\xf2\xc8\x37\x7b\xdb\x5f\x93\x02\x28\xca\xc8\x5b\x4f\x23\x14\xd1\xdb\xd0\xbc\x45\xfe\x43\xf8\x22\x16\x91\x5b\x1c\xa7\xda\x90\xa4\x31\xa0\x89\xba\x45\x7c\xbb\x94\xc1\x57\xa5\x8c\x9b\xbd\xed\xaf\x3f\xb1\x5e\x9f\x3a\x64\x7f\x7e\xea\x90\x7d\x88\x81\xb2\x4d\xa3\x2c\xe3\xda\xa6\x10\xb3\xd6\xf5\x1a\xdb\x2a\xff\x60\x87\xa1\x67\x3d\x8f\xe8\x45\x97\x31\x6f\xb1\x33\x73\x35\x6b\x68\xce\x76\x3e\x4f\x91\x43\xb4\xf2\xec\x8a\xa4\x96\xb9\x30\xf5\x86\x41\x61\xae\x89\xd5\x56\x96\xae\x52\x3a\x90\x1d\xb2\xd0\xeb\xc6\x11\xed\x80\xf5\xd6\x71\x1e\xf6\xfa\x22\x32\x21\xc3\xd9\xae\xca\x82\x27\xf0\x77\x93\xcd\xfd\xb1\xb9\x02\xcc\x89\x91\x34\x6b\x34\x07\x31\x30\x6c\x2c\x22\x74\xbb\x33\x22\x60\x84\xd9\x4e\x85\xdb\x02\x70\x64\xa3\x57\x7a\x93\x59\x77\xdb\xb6\xb4\x41\xad\x4f\x86\xee\x8a\xbe\x71\x05\xc3\xea\x9e\x90\x82\xc5\x3f\xcc\xda\x8d\x1a\x7a\xce\x57\x98\x22\x70\x9d\xb0\x66\xdb\x4a\x98\x7d\xdc\xa2\x88\xc8\x35\xf6\x89\x3e\xf4\x5a\x43\xb1\xc3\xaf\xad\x8f\x9b\x24\xa8\x68\x02\x6c\xc2\x7c\x75\x5d\xa4\xc0\x73\x6e\x5a\x43\xeb\x3b\xf9\xa1\x4b\x58\x01\x29\x85\x8c\x9d\xdd\xf3\x53\xa5\xc7\xbf\x3d\x75\xa8\xfd\xfc\xad\x0e\xb5\x41\xac\x07\x2b\x2b\xcc\xe3\x44\x52\x0a\x14\x47\x07\xe1\x95\xc3\x30\x3b\xe9\x06\xd6\xdf\xf5\xc1\x79\xe8\xfa\xf6\xeb\x4b\x03\x35\x72\x99\x37\xe6\x75\x50\xae\x04\x40\x19\xae\x4e\x3d\x21\xf6\x64\x23\x62\xcf\x56\x22\x5c\xee\xb6\x72\x41\x39\xb9\x4c\x4b\x55\x97\x28\x55\xdd\xc1\xb2\xc5\xef\x2b\xf5\x48\xaa\xbe\xbe\x0c\x90\xb6\x7d\xf5\x73\xe7\x8f\x9d\x3f\xf5\xc5\xf5\xd5\x2f\x2b\xf1\xfa\xe1\xef\xf9\xb1\xca\x78\x1e\xbf\xfe\xf8\x7b\x92\x58\x4c\xfa\xcc\xf5\x7d\xa9\xf7\x2b\xfc\xd4\x6f\x1e\x4f\x97\x27\x9a\x3e\x7d\x3b\x3f\xfc\xb9\xcb\xef\xf8\xbd\xd2\x5b\xa8\x79\x35\x24\x34\xac\x61\x75\x42\x6f\x8b\xd4\x32\xf3\xbc\xc4\xf0\xc3\x6c\xcf\xf3\x6c\x50\x6b\x31\xd7\x84\x8d\xd1\x98\xb7\x94\xa3\x44\x5e\x6e\x0c\x73\x70\x90\x53\x06\x73\x38\x24\x6f\xc9\x21\x3e\x19\x0c\x34\x0d\x0d\x9b\x89\x1e\x80\x66\x69\x15\x7b\xec\xb5\x87\x29\xa1\x76\x0a\x52\x0f\x4a\x61\x41\xc1\x3f\x8c\x1e\x6a\xfa\xe8\xfd\x83\x8c\x44\x17\x8c\x81\x03\x6a\x22\x2e\xd5\x69\x07\xeb\xc9\x56\x0a\xb6\x6f\x11\x0d\xb3\x98\x37\xe6\x68\xb7\x9e\x83\x0e\x87\xac\x6a\x0b\xb5\x21\xe9\x09\x20\x36\xc5\x8c\xbb\xf3\x8a\x00\x60\x5a\x3d\x2b\x5e\x9c\x37\x43\x09\xb0\xb6\x3f\x8a\x04\x82\x79\xbe\xf6\x14\x58\x2b\x62\x91\x7a\x40\xb7\xcc\x93\x3f\x2c\xa1\xa1\x88\x70\xb0\xff\x4a\x78\x5e\x82\xfe\x8f\x14\x7a\xb2\x20\xac\x80\xc1\xbe\xcf\xd7\x97\x01\x54\x34\xaa\xd1\x95\xc9\x26\xe2\x5a\x87\xc0\xeb\xbb\x1c\x14\x64\xf1\x67\x47\xd4\x2b\x90\xe6\x12\x98\x78\x02\x82\x90\xa5\x3d\x1c\x85\x97\x14\xfb\x96\x7b\x13\x52\x05\x5b\x96\x5d\xfc\x6c\x1e\x0a\x8b\xed\x13\x78\xca\x78\xdc\xe4\x50\x2d\xa0\x50\x4e\x7e\x0f\x32\xac\x5c\x27\x1e\xb9\x2c\xd0\x22\x9b\x4d\xa8\x79\x9c\x4a\x70\xce\x19\x08\x71\x30\x64\xc9\x2c\xdb\x48\x01\x9e\x00\x3e\x4e\xcd\xa1\xb1\x06\xe0\xe2\xb8\xe3\x84\x36\xae\x16\x40\x64\xb5\x2e\xbb\x79\x43\x23\x38\x78\xb5\x9d\x01\x39\x2a\xd0\x8b\x1a\x95\x82\x40\x82\x20\x9a\x65\x1d\x42\x9b\x27\xff\x91\x10\x51\xa1\x73\xa0\x10\xc5\x1d\xc5\xb9\xfa\x91\x77\x4b\x60\xeb\xb7\x8f\xce\xb5\x8c\x14\x33\x03\xba\x33\xdc\x02\xe1\x1a\xd5\xb2\x1a\x5b\x4f\x58\xe8\x8a\x9c\x94\x10\xfc\xc6\xdb\xce\x14\xe7\xd3\x37\x56\x24\xb5\x3e\xf8\xb0\xe0\xee\x9e\x39\x34\x1d\xa8\x85\x5d\x76\x34\xf4\xb6\x95\x4a\xa0\xb8\x30\x33\x21\xc8\x72\x81\x74\x18\x05\x42\x36\x4c\x65\x07\x33\xd9\x0e\xd0\x77\x54\x01\x41\x54\xd3\xf7\x01\xa5\x6d\x50\xe2\xed\x91\x90\x0e\xd4\xb0\xcc\xf2\x34\x64\xe3\xd0\x43\x6c\xfb\x54\x62\xab\xec\x74\xd9\xdc\x4c\x18\x50\xf3\x64\x57\x91\x63\xb0\x4c\x4b\x6a\xfa\xa2\x3b\x7a\x09\x6c\x3e\x56\x85\x14\xc5\x34\xff\x19\x98\x25\x02\x88\xf3\x61\xd3\xa9\xed\x40\xad\x40\xe1\x60\x1c\xec\x9a\x54\x0b\x62\xf6\xd1\x01\x48\x50\x76\x0c\xf4\x7e\x39\xb0\x52\x42\x6b\x9e\xec\xb0\x78\xcf\x7e\xa5\x15\xb4\x96\xb4\xb2\x0f\xce\x24\x74\x8d\xed\x08\x5c\x48\x09\x49\xca\xb5\x76\x82\x54\x1d\x20\x4a\x08\xa6\x00\x4f\xf5\xc5\xf1\x4a\xe4\x44\x0d\xec\xba\x72\xc6\x1b\x2f\x1d\xb0\x9b\x72\x67\x4c\x91\x07\x38\xf3\x62\xee\xe0\xb4\xc9\x20\x7d\xce\x8e\xda\x94\x94\x00\x00\x9f\xec\x56\x9f\xc8\x51\x7d\xa2\xa3\xf2\x6f\x4f\x1d\x95\x3f\x9f\xa2\x3f\x53\x7a\x68\x00\x12\x43\x29\x3c\xb4\x72\x8d\xb9\xe9\x2d\x4a\xd6\xab\x02\x8a\xae\x0c\x92\xbc\xca\xa6\x2c\xef\x32\x2d\x55\x30\xcb\x59\x97\x91\xe6\x2d\x55\xb1\x7b\x73\xe0\x71\xbe\x58\x9f\xed\x13\xb7\x12\x32\xbf\x16\x4f\x59\x60\x07\x9a\xb5\xc1\x8b\xd3\x0a\x49\xe5\x1d\x7b\x06\x2e\x4f\x4f\x99\x10\x41\xf7\xc4\x12\x06\x59\x2f\xef\x47\xec\xd2\x90\x44\x6a\xe7\x84\x49\x68\xd3\xeb\x09\x72\xd9\x16\x78\xd4\xab\x24\xdb\x03\xd3\xe5\x1a\xfd\xd5\xd5\xac\xe3\x2d\xbe\x7d\xf5\xe6\x85\x48\xfa\xe7\xab\x74\xfc\xae\x42\xc7\xdf\x9e\x7a\xaf\x7e\x2e\x77\xd5\x72\xc4\x13\x5a\x6e\x71\x64\x56\x2b\xd8\xd9\x16\x81\x63\xec\x5e\x62\x05\xe9\x60\x25\xb4\x81\x58\x94\x33\x6d\xcd\xb6\x06\xcf\x31\x91\x21\x33\x77\x8c\x73\xb3\xaf\x51\xf7\x43\xb2\x99\x93\x96\xa9\x58\x95\x24\x0c\x81\x8e\x8e\x60\x19\x4c\xc1\x6a\xab\x16\x12\xa0\xfd\x07\xed\x83\xcd\x25\xae\x2b\x09\x33\x57\x0e\x16\x8c\xb2\xe6\xe7\x0e\xb9\x81\x6d\x78\xa6\x50\x4a\xc8\x25\x87\x52\x76\xcc\x45\xa6\x42\xab\xf7\xb1\x79\x7b\x06\xc5\x00\xdd\x11\x44\xab\x1d\x76\x19\x9b\x35\x68\x39\x08\x28\x85\xa8\x1c\x00\xc5\xbc\x27\x6b\xf3\xfd\x1b\xfd\xd4\x62\xf3\x73\xfd\x56\xeb\xf2\x54\xd0\x25\xb0\x91\xae\x85\xac\x47\xb2\xab\x8f\x7c\x0d\x36\x0a\xbc\x67\xb7\x82\xff\x40\xa8\x50\x43\x29\x2e\x4d\x96\xbd\x7a\x69\x5b\x01\x58\xeb\xc0\x77\x30\x42\x99\x07\xa4\x61\x42\xcd\x8e\x0b\x00\x2f\x4d\x05\xd5\x3b\xd2\x88\x52\x12\x1d\x88\x89\xe8\x84\x45\x73\x3d\x28\x19\x1f\x26\xf9\xbe\x90\xb8\x20\x03\xfc\x70\x68\x4c\xed\x48\xc4\x28\x0c\x39\xea\x1f\xa8\xf1\xdf\x29\x49\x41\x96\xb1\x12\x59\xa4\xfd\x7a\xdb\x7d\x0f\xc8\x24\xdb\x0f\x6c\x76\xd4\x7a\x8b\xb5\x94\x9d\xdd\xa9\xe8\x33\x56\x0d\x69\xe5\xbb\x0f\x97\x5a\x44\x78\x80\xdd\x7a\x09\xcb\xc3\xec\x2e\x21\x29\xdd\x29\x84\x6f\xcf\x11\xa5\x37\x91\xbd\x13\x50\x8f\xfe\xf4\xda\x19\x83\xc1\x48\x8f\x03\xbb\xeb\x60\x5e\xa3\x01\xa0\x57\xca\x8e\xe8\xcd\x6c\x34\x29\x0e\x0a\xe2\x84\xdd\xe1\x6d\x4c\xf3\x78\x8a\xbb\xdb\x3c\x61\x57\x65\x3e\x44\xdd\xee\x21\xd7\xcf\x26\x5a\x19\x0a\x2a\x8c\xeb\x6c\xb7\x2a\x7a\x8d\x33\x7b\x92\x6a\x24\x12\x10\xf5\xe6\x26\xb3\xb9\x52\xe0\xa0\x15\x2d\x2d\xc4\xd6\xbd\xb3\xd6\x3c\x3e\x12\xaf\xba\x82\x6b\x07\xf8\x34\x76\xe4\xda\x71\xe3\x89\x6d\x38\x00\xb2\x9b\x80\xae\x2a\xf9\xd0\x34\x23\x77\x47\xc7\x1e\x09\xcf\xce\xf6\x29\x88\xda\x0b\x09\x0f\x6c\x56\xb5\x7c\xb4\xc4\x7a\xf4\x64\xc3\xba\xb7\x42\xd4\xb3\x87\x99\x38\x18\x72\x95\x32\x54\x4a\xaf\x2f\x6a\x66\xf8\xf7\xce\xdf\x0b\xf3\xda\xb3\xa5\x5b\x5c\xf6\xf4\x1d\x51\xc5\x92\x0b\xc8\xc8\xc0\x93\x8b\xe8\x3d\xb5\xd5\x50\x80\x90\x84\x34\xe6\x65\xb0\x31\xe5\x44\xf6\xb0\xd0\x09\x1e\x37\xe0\xa3\x50\x1d\x23\x22\xca\x8f\xa0\x96\x83\x92\xa1\x6e\xa1\xfa\xc0\x93\x49\xcb\xcc\x86\x30\xb0\x56\x77\xe7\x0e\x20\x2a\x67\x88\x45\xef\x3d\xe8\xd0\x6b\xcc\x50\x79\x78\xe2\x05\xb9\xb5\xae\xcf\x0a\x95\x45\xe5\x62\xb6\x08\x95\xc5\x50\x06\x91\xcb\xf6\xb7\x84\x92\x18\x3e\x01\xe3\x5a\x9d\xcd\xba\x29\x09\x06\xda\x08\x90\xbd\x94\xee\x76\x0d\x7e\x4f\xdb\x87\xda\xed\xb6\x7f\xd5\x06\xa1\xcb\x13\x11\xd0\x0e\xae\x3d\x01\x96\x8d\x76\xaf\xad\x5c\x70\xcc\x02\xf8\x02\x3d\xf3\x49\xfd\x52\xc8\x00\x93\xf1\x12\xd5\x80\x6b\xae\xf5\x8f\x19\xbf\xa7\x16\xa6\x9f\xbf\x29\xae\x65\x5e\xf4\x18\x7a\x8b\x13\x4d\x77\xe0\xe3\x58\x84\x59\x8b\x4a\xeb\x1a\xa5\xf4\x37\x8c\x62\x4e\xaf\x25\x92\x6f\xfc\x9e\x54\xb3\x41\x5a\xf6\x11\x90\xe5\xcc\x27\x81\x67\x6e\x6c\x1f\xc5\xad\xed\x94\x10\x3d\x66\x83\x58\x34\x15\x49\x53\x3f\x50\xb3\x77\x9d\xa6\x1a\x0a\x63\xba\x92\x8e\xbe\x2a\xb0\xec\x10\x3f\xda\x74\xc2\x46\x2f\x46\x1e\x6d\xd5\xea\xc0\xcd\xa8\x07\x08\xd1\x13\xd1\xc5\xc3\xb1\x83\x4b\xd8\x49\x5c\x25\x36\xf5\x8b\x9d\x40\xec\x99\x4c\x8e\x77\x5e\x68\x9c\x23\x1f\x42\x6e\x78\x36\x19\x95\x2f\x41\x1d\x57\x9c\x37\xd6\x42\x07\x9d\x7d\xd7\x66\x71\xb1\x84\x5c\x20\x07\x63\x87\x8d\x20\x67\xf1\x94\x34\x94\x54\x69\x1d\xa1\x42\xbb\x08\x63\x88\xf7\x49\x69\x41\x33\xd5\x1e\x15\x1e\x3c\xf0\x04\x88\x3e\x10\x3a\x00\x85\x8c\x4d\x7f\x2e\x0d\x04\xa6\x74\x9c\xcf\xc0\x71\x07\xb8\x0b\x71\xdd\x17\x7e\x98\xab\x7f\x83\x5f\xa8\x1a\x32\x79\xfb\x9a\x37\xc1\x83\xad\x84\x74\x0b\x04\x4a\xbb\x2a\x23\x8b\xa2\x38\xdf\xc8\x13\x46\x8d\x93\x9c\xe6\xf9\x94\xa8\xb1\xcb\xdb\x07\x79\x03\x32\xd2\x46\x95\xd2\xa4\x83\x91\xeb\xc0\x63\x29\x9d\x4d\x14\xd0\x6b\x61\x99\xd2\x86\xe8\x4e\x4c\xca\x17\xf6\xd7\x67\x0b\x4f\x7d\xf2\xa1\xa2\x2c\x5f\x06\x8a\xcf\x9f\x98\xf4\x4f\x3d\x41\x3f\x7f\x4b\x13\x4d\x4a\x2f\xa1\x69\x86\x9c\x51\x95\x9d\x97\x79\xbf\xca\x45\x95\x8f\x76\x2a\x2c\x55\x5a\x27\x6c\xce\x04\x14\xba\x1e\xaf\x2d\x12\x5b\xf0\x6e\x0b\x5d\x0b\x13\x3a\x2f\xc3\x85\x82\x90\xa7\x64\x6d\x96\xc5\x3e\x24\xf1\xd9\xbe\x05\x7e\x69\x42\x33\x7a\x09\x44\xce\xf5\xb6\xfa\x40\xc5\x7b\x70\x5a\xc2\xed\x40\x91\x02\xa6\xb8\xba\xf3\xff\x20\x4a\x86\x9a\x6d\xf1\x6a\xfc\xe0\x73\xe4\x34\x5c\xb3\xf0\xb2\xe5\x6e\xb3\x10\x93\x10\xd5\x25\xc9\x6c\xb7\x8d\x7d\x9f\x6c\x4e\xc9\xa9\x81\x1b\x02\xe4\x16\xd4\x0b\xb6\x89\xe6\xd7\x81\x70\xb0\xdd\x4b\xcf\x8e\xe6\xbf\xca\xd5\xf9\x51\xe9\x9a\x74\x1e\xc4\x6a\x73\x5a\xd2\x71\x85\x0c\xcd\xbb\x56\x08\xc1\x87\x2c\x39\x68\xf1\x45\xe3\x33\x70\x4d\x40\xcf\xc4\xc6\xd9\x6e\x53\x07\x02\x62\xe4\x58\x2a\x70\x92\xe8\x2f\x40\x2b\xda\x98\x21\xa7\xb2\xc7\x1c\xa8\x47\x95\xfd\xae\x0d\xdf\xfb\x30\xf9\x27\xfa\x79\x2e\xeb\x6e\x13\x83\x02\x34\x36\x21\x28\xcd\x2f\x87\xf9\xe8\xc1\x6e\xb6\x0c\x54\x1a\xe1\xbc\x66\xb0\xd9\xe3\xe5\xac\x02\xea\xa2\x6d\x85\x82\xda\x9d\xb7\xbd\x78\x8b\x3a\x7a\x55\x6e\x71\x52\x2a\x5d\x72\x98\xa7\xdb\xcb\xe6\xc6\x69\x7b\x89\xd9\x53\x94\xe0\xcf\x6a\xfb\xf4\xb6\x2c\xcf\x6c\x8c\xac\xe7\x20\xbf\xdf\x26\xe3\x7b\xb5\x85\x22\x61\x96\x0b\x28\x4d\x44\xcc\x82\x02\xc4\x8c\x8c\x54\x0e\xd0\x3f\xdd\x33\x12\x59\x75\x72\xc9\xa1\xca\x59\xf4\x58\xb3\x10\xe1\xa6\x28\x9e\x31\x26\xea\x8a\x3f\x0f\x20\x84\xda\xfa\x8a\x6d\x62\xc8\x08\xd9\x44\xc5\x1d\x6c\x41\x9c\x42\xf6\x40\xc3\xb7\xf4\x7e\x28\x3a\x79\x3a\xc9\x8a\x33\x51\xe4\xb3\x7c\x62\x7d\x3f\x75\xe2\xfc\x7c\xca\xdc\xe5\x9c\x82\x6c\x10\x32\x53\x29\x1b\x9b\xa0\x20\x24\xd7\x82\x4a\x7e\x7d\xa9\x94\x49\xae\x9b\xf6\x62\x5e\xd9\x06\x96\x99\x62\x66\x2e\x31\x88\x7a\x7d\x51\xf3\xc9\x25\x6f\x70\x5a\x55\x32\xba\xb3\x20\xa3\x6c\x9f\x68\x2a\xaf\x2f\x65\x02\x91\xbe\x65\x10\x3e\x15\xd4\xe6\xb2\x16\xef\xf5\xd3\x94\x5e\x5f\x06\x20\x9a\x63\x9b\xc8\x66\xa1\xbf\x3d\x7b\x95\x8e\x10\x34\x34\xa4\x0d\x08\x55\x02\xe8\x58\x17\xb1\x3e\xec\xed\x36\x00\x10\xde\x91\xa3\x00\x92\xfb\xf5\x45\xf2\x08\x33\x27\xa7\x7b\x4b\x69\xb3\x08\xac\xb4\x7a\xd9\x2c\x02\x0d\xd2\x21\x13\xd2\x73\xd0\xd6\x37\x64\x5a\xca\x16\x15\x75\xff\x56\x36\xa6\x7b\x5e\x5f\x8a\xf4\xd0\x55\xb7\xdc\x6d\xc7\xb2\x73\x9f\xa1\x14\xd9\xc0\x3b\x1f\xa5\x65\xe8\xf7\xa5\x90\x6b\xdf\x14\x9d\xf7\x1b\x52\x9d\x52\x74\x03\xa6\x26\xd5\x4d\x8a\xad\xc8\xba\x23\x3f\x67\x2f\x37\xa2\xd1\xe6\xeb\x8b\x14\x5b\x75\xb3\x6d\xd9\xe6\x33\xf4\x6a\xd1\xab\x30\x36\xf2\x0f\xe8\x58\xba\x82\x3a\xc1\xad\x60\xe1\xcf\x60\x8f\x3d\xb3\x37\x25\x44\x3b\x18\x76\x76\x74\xe0\xdc\xb0\x6d\x87\xb4\xc5\x39\xc2\xc8\x1b\xda\xa8\xe4\xf2\xf6\xf8\x99\x5d\x1d\x81\x20\x53\x30\x12\xc7\x01\xfe\xa9\x80\x4b\x18\xb0\x31\x3c\xe1\x3a\x83\x76\xb4\xf1\x75\xe0\x91\x36\xdb\xbd\x3a\xc8\x04\x46\x43\x55\x6c\x2a\x5a\x3d\x73\x15\x1e\x65\x21\xc9\x36\x4b\x40\x11\xcc\x16\x4c\xc2\x8a\x06\xc5\xc5\x16\x67\x0b\xa5\x41\x79\x1d\xfa\x23\x92\xb7\x62\xc7\xe4\x8a\x18\xca\x2e\x0f\x73\x25\xb2\xdd\x3e\x42\xb5\x7b\xda\xed\x8d\xa5\xad\x96\x23\x70\xa6\x6c\x48\xf0\xc5\x26\x1b\xdb\x5e\x6c\x80\xa8\xc1\x26\xd1\xc6\xf2\xd1\x26\x6a\x26\xef\x02\xdf\x48\x24\xa4\x0d\x34\x54\x6d\xb3\x65\x0d\x79\xc1\x50\x83\x8d\x0d\xb9\xc2\xbd\x85\xcc\xa3\x28\x48\x95\xeb\x5e\xec\xf7\x6d\x76\xd1\x2b\x89\xe0\x14\x77\x14\x14\x01\x2a\xc9\xb1\xe9\xe7\xfd\xed\x1b\x35\xa6\xec\xf4\xed\x3c\x31\x52\xf8\xb6\x38\x30\x17\xeb\x53\x73\xcd\xcf\xcf\xcd\x35\xf7\x62\xa6\x98\x51\xd0\x39\x98\x81\x8c\xd5\x3d\x42\xb8\x49\xec\x35\x42\x41\x71\x34\x80\x19\xeb\x38\xcc\xfc\x13\x5b\xc8\x54\xb1\xe7\x7d\x19\xe7\xea\x09\xd2\xf0\xda\xa2\x26\x8f\x7e\xfb\x12\xd1\x5f\x6a\xfa\x0c\x8b\xf1\x7e\x72\xe2\x70\xe6\x97\x89\x38\xc9\xbe\x81\x9e\x44\x5c\xb2\xd0\x92\xb6\x35\x81\xde\x1c\x96\x1d\x12\x5c\xe2\x3d\xeb\x47\xf4\x3c\x11\x26\x76\x5f\xaa\x13\xb2\x52\x45\x70\xed\x6b\x6f\x97\xbd\x11\x2d\x93\x21\xd2\x76\x14\x25\x02\x0e\x6a\x6d\x23\x0c\x90\x4d\x4a\xb2\x50\x13\x71\x3f\x59\x53\x40\x1b\xd4\xd6\xab\xd8\xdb\x72\x2c\x84\x6c\x8f\x92\x7a\x58\x6f\xe4\xe3\x7e\xd4\xf9\x4d\x1f\x2c\xfb\x06\x9b\xab\xde\x16\xb1\xe5\xb3\x1a\xd0\x6c\x50\x67\xfd\xc6\x06\x04\x0d\x87\x77\x37\x20\xec\x4d\x29\xb4\x16\x9c\x5d\x97\x9f\x5f\xed\x2b\x97\x1d\x5f\x59\x6c\xbc\x3e\x2e\x7e\xeb\x3a\xdb\x93\x0c\xd2\x77\xce\x50\x74\xfc\xb8\x6f\x7d\x62\x72\x3f\xf5\xc8\xfc\xfc\x2c\x81\xf8\x30\xb9\xef\x4f\x93\x30\x99\xfb\xe3\x79\x7c\x8a\xf7\x47\xbb\x9e\x90\x3f\xfe\xf3\xe9\x9f\x47\xdc\xbf\x75\x3e\xfa\xd7\x97\x39\x2c\xee\xd4\x1d\xb8\xa9\xb1\xa0\x8a\x70\x43\xfb\xa9\x91\xd8\xfa\x61\x11\xc7\x10\x47\xb9\xdb\x71\x07\x07\xc3\xe6\x64\x7e\xac\xf7\x30\x89\x77\xcd\xd4\x55\x7a\xbc\xc6\xfa\x40\xb0\x8c\xf7\x59\x26\x64\xb1\x5f\xd8\xb8\x53\x46\x28\x4e\x05\x74\x61\x72\x68\xb2\x93\x70\x89\x17\x2c\x58\xd9\x64\x7f\xcd\xb5\xda\x5e\x07\xd1\x7d\x92\xef\x11\x14\xa7\x02\x25\x64\xe9\x07\xd0\x39\xed\xc8\xe6\x35\xf9\x55\x3c\x42\xf0\xed\x83\x69\x07\xd9\x31\xe8\x8e\xc0\x00\xf6\x7d\x86\xee\xab\xa4\x7f\xfa\x62\xf1\xee\x8c\xc5\xbb\x37\xf6\x66\x4a\x9c\x4e\x59\x5c\x5e\x19\x8e\xbc\x4f\xa8\x4f\x8c\x72\xf9\xb3\xc3\xfc\x15\xeb\xee\x3b\xcb\xee\x5b\x27\xec\x12\xbe\x76\x6a\xfe\x0b\xeb\xf4\x1f\xce\x1e\x27\xcf\x05\x8e\x9d\x22\xdc\x2f\xea\x88\x8f\xe3\x71\x84\x0f\x5d\x63\x3b\xd5\x0f\x5c\xe3\xef\x2f\xcf\xa7\x26\x9c\x9f\x7f\x7e\x4a\xfd\xa6\x32\xee\xcb\xb3\x84\x92\x5c\x39\x0a\x31\xbe\x33\xeb\xad\x7a\x01\x02\x98\x6e\x9b\x4e\x07\x91\xcf\xb9\xe9\x00\x64\xb3\xe0\x9e\xac\xd4\x3b\xa4\x93\x85\xf2\xec\xd9\x1f\xe4\xbf\xd6\x8b\xe2\x1f\xf1\x13\xf2\x8d\xde\xc9\x2f\x7d\x94\x14\x5c\xe6\x01\xa4\x14\xde\xb5\xee\xb1\xa4\x9d\x89\x9e\x9a\xd1\x91\xb4\x85\x24\xb6\xf5\xdc\xdc\x14\xaa\x91\x5f\xab\xe8\x8e\x5e\xb8\xe9\x40\x44\xf0\x09\x36\xb6\xb4\xb5\x0e\x22\xca\x14\x2c\xf0\x63\xa9\x86\x50\x53\xf1\x2a\xdc\xfd\xb5\xd3\x91\x35\x67\x7f\x4a\x8b\xaf\xc4\x5f\x3f\x1e\xf4\xf0\xe5\xfb\x98\x1e\xcf\x14\x69\xb7\x56\x9c\x25\x0a\xc2\x77\xd0\x98\x73\xc3\x72\x8a\xce\x45\xa8\xce\xc1\x80\xb7\xe2\xf6\x9b\xe6\x9b\xd6\xdb\x8e\x5e\x56\xdb\x8c\x36\xc0\x58\xa8\x04\xf7\x76\xa3\x1e\xcf\xe2\x26\x50\x56\x85\xe8\x50\xc0\x84\xb5\x71\x01\xf8\x34\x39\x71\x6a\x5c\x9a\x5f\x5f\x9c\xc1\xe3\x16\x5d\xb3\xc8\xd5\xee\xf0\xe6\x71\x3f\xf6\x5a\xdb\x70\x90\xf4\x1a\xf6\x38\x7f\xcb\x4f\x64\xea\xf8\xab\x2e\xd4\x66\x6e\x10\x2d\xe3\x16\x17\x5d\xf6\xfb\x16\xc2\x36\xf6\xd9\x9e\xce\xe1\x72\x65\x1f\xfd\x3b\xe7\x30\xdb\x35\xf6\x36\xde\xfb\xd6\xb7\xbf\xf4\x95\xd4\xc0\xa3\x2d\xe2\x29\x3e\xdb\xa2\xae\xe3\x5d\x5b\xf4\x89\xe5\xfd\xd4\x2b\xf4\xf3\x53\xaf\xd0\xfb\xcb\x9b\xec\x9c\xe7\x2a\x89\xe7\x32\x89\xb6\x4e\x22\x9b\x46\xd7\x4a\x89\x6b\xa9\x1c\xcb\x22\x9c\x06\x61\xd9\x83\x65\x0e\x60\x0d\xdc\x18\x3c\xd8\x82\x07\x53\x70\x5a\x82\x65\x08\xdc\x0e\x2c\x33\x70\xb7\x02\x77\x23\x40\x1b\x00\x13\x70\x5a\x80\xd3\x00\xdc\xd7\xff\x5a\xfe\xaf\x6b\x41\x23\x3c\x3a\x97\x74\x7c\xb3\xa6\xe3\xe3\xa2\x7e\x58\xd3\x0f\x4b\xfa\x71\x45\x3f\x2c\xe8\x78\x5f\xd1\xf1\xcd\x92\x1e\xe9\x61\xf2\x7e\xe5\x65\xbd\x9d\xed\xa7\x96\x64\xf9\x5a\xf9\xf2\x71\x9e\x3f\x28\x5f\xda\xf8\x3d\xeb\xc3\x82\x7c\x58\xa6\xc7\xc3\xf2\x7d\x67\x59\x3f\xac\x6a\x2c\xea\x65\x16\xee\x56\xe1\x6e\x14\xde\x2e\xe8\x78\x5f\xd1\xf1\x71\x49\x4f\xfd\xcb\x2e\x74\x6a\x0a\x59\xd7\x62\xf9\x70\x5b\xed\xe8\xf4\x7f\xbb\xab\x5e\xde\x6e\xab\x6e\x11\x3e\xd8\x56\x1f\x4d\xc2\xfd\xa4\x5a\x79\xc7\x73\x9e\xed\xfa\x68\x0a\xbe\x7f\xb4\xd9\x80\x8f\x92\x59\x9f\xb6\x59\xbc\xc4\x4f\x59\x92\xcb\x8f\x30\x25\x4f\xdd\x54\x3f\x3f\xab\x4f\x3e\xa4\x8c\xab\x02\x04\xc7\x6a\x2b\x48\x7e\xb0\x5a\xd9\xe8\x21\xe8\x40\xa1\x1b\x0c\x3f\x1a\x39\xde\xea\xce\x34\xb3\x86\x0b\xb4\x7a\xff\x87\xbf\xae\x74\xa1\xeb\xc2\x4f\x13\xb7\x32\xca\x83\x27\x3e\x68\x59\xec\xc7\xc0\x73\x4f\x59\x6c\x68\x8c\x93\x95\xa5\x36\x9e\x10\x5e\x0d\x92\xe3\x48\xc0\x87\xaf\x6c\x0e\x23\x41\xc7\x03\xc9\xfe\x1b\x8e\x7d\x07\x77\x3c\x12\xee\x5f\x8e\xb7\x6c\xfc\x6f\xfe\xf1\x78\xe0\xf1\x01\xa5\xe8\x87\xea\xd5\x2e\x2e\xc9\x55\x46\x05\x6b\x2e\x3e\x52\x14\xe7\x32\x49\xbe\x29\x83\xdd\xc2\xff\x99\x62\xd6\x9c\x2b\x4f\x2d\x43\x3f\x3f\xb5\x0c\x3d\xa2\x71\x67\x63\xc7\x10\x2f\xe0\xbb\x27\xc0\xdb\x23\x4c\xc0\xe0\x06\x7d\x7d\x7b\xda\xd7\x37\x67\xbd\xe4\x7d\x81\x35\x5b\xfc\xce\x30\x72\xe7\xdd\xe9\x2c\x8d\x7d\x7c\x7f\x80\x08\xb4\x18\xb3\xee\x52\x66\xd0\x54\x83\xfd\x2d\xe4\x0e\x40\x61\xfa\x3b\x2a\xe5\xc7\x92\x4b\xbf\x7c\x53\x2f\x1d\x35\xe6\x9a\x30\x7a\xb4\xe1\x5b\x0b\x59\x3b\x6a\x0e\x59\xfb\x2e\x28\x82\x29\x2b\x03\xf6\xe2\xc8\x60\x1d\x19\xbb\xa2\xb2\x8d\xda\x44\xd6\xbe\xe6\x33\x60\xa8\xbf\x63\x3e\xff\xe9\xe9\xfc\xdd\x69\xf2\xf7\xa7\xae\x9b\x5f\xee\x5d\x37\x9a\x24\xf4\xaa\x3b\x0c\x54\x01\xb4\x13\x95\xb2\x31\x59\x88\x7c\xb0\x15\x68\x38\xea\x7a\xa0\x73\xd0\xbb\x2f\xc1\x6b\x11\x89\xce\x6a\xc4\x0b\x16\x71\x21\xdb\x6b\x1c\x15\x1e\x1a\xd9\x55\xcb\x6a\x33\xc2\xe1\x38\x1a\x3b\x8b\x80\x68\x35\x2f\x50\x5f\x57\xfe\x28\x7f\x73\xcc\xd0\xf3\x81\xb3\x82\x86\x2d\x90\x80\x01\xdd\x3a\x8c\xf7\x52\x09\x54\x1e\x44\x48\x4f\x99\x5c\x21\x9f\x46\x63\x15\x97\x6c\x1d\xc3\x3b\x81\x2f\xfe\x9a\xfd\xc4\x0b\x09\x9f\x1e\xb4\x97\xf9\x6d\xef\x00\x70\xea\x0f\x32\xeb\xf4\x09\xcc\x99\xeb\x32\xbb\x30\xbf\xb3\x0e\xfc\xb8\x07\x7a\x7c\x38\x71\xd0\xb9\x50\xc9\x06\x3f\x80\x5e\x01\x38\x80\x4c\xe5\x6c\x92\xe5\x4d\x05\xb9\x3d\x80\xd2\xb9\x77\xdb\xaf\x49\xdd\x5a\xcd\x1f\xc1\x4a\xd0\x1e\x62\x06\xdc\x50\xfb\x81\x57\x02\xea\x4b\x5c\x65\xf0\x2f\x44\x30\x83\x39\xb1\x56\x77\x32\x27\x0d\xde\x30\x00\x96\x36\x9e\x00\x16\xfe\x75\xd4\x4f\x54\x4c\xfe\xfe\xd4\x51\xf2\xcb\x73\x47\xc9\x23\xc3\x91\x96\xa0\x8e\x00\x38\x3d\xe5\xee\x7e\x72\x7e\xf2\x92\xb3\xfb\xc8\x1d\x1e\xf2\x58\xfe\x71\x39\x9a\xb0\x25\x07\x5d\xe2\xf0\x90\x07\x41\xae\x32\x88\x9b\xb1\xbf\xbd\x12\xe5\x3d\x5d\xa3\xdc\x09\x20\xd9\xcb\x73\x16\xd7\xb0\xb2\xc7\xeb\xcb\xe8\x29\x74\x2a\xb9\x4f\x17\x9a\x79\x70\x6d\xf5\xd1\xb5\xd5\xbb\x6b\xdb\xef\xae\x6d\x7f\x70\x6d\xd7\x11\x97\xe3\xf1\xab\x0f\x63\xda\xb3\xaf\xca\x54\x47\x06\x2a\x08\xa8\x3c\x08\x8c\x7d\xec\x5d\x81\x40\xe4\xa3\x72\x9e\x99\x2b\xfb\xfe\x3d\xf5\xf1\xbe\x07\x84\x06\xd9\xdf\x95\xd6\x41\x02\x77\xb6\x77\xc2\x47\xa8\x9e\xbf\x09\x1f\x6f\x74\xd4\xde\xcf\xbe\x7e\x62\x42\x3d\x75\xa4\xfc\xf2\xd4\x91\xf2\x10\x7a\xd9\x1e\x98\x91\xc4\x32\xbb\x45\x6a\x9d\x44\xb3\x05\x28\x3a\x74\x96\xdb\x70\x7c\xfb\xea\xa0\x26\xd0\xb0\x51\x1b\xc8\x5e\x80\xd3\x12\x99\x90\x01\xa6\x21\xaa\xae\xf3\x7b\xac\x5d\xdb\x50\x4e\xe2\x93\x4e\xe6\x75\xc7\xc3\xdf\xe1\x06\x79\x7c\xa9\xd7\xa2\x6d\x87\xaa\x0a\xde\x03\x57\x2f\x81\xf1\x79\x69\xc0\x77\x60\xd9\x5d\x82\xea\x54\xa0\xaa\x8f\x4a\x54\x4b\x9b\x6a\xfd\x5d\x1f\x2c\x95\x2f\x7e\xd1\x7d\x1f\x1d\x1f\xe4\x02\x7a\xfa\x20\xa4\x7e\x37\x17\x60\x47\x3f\x25\x3d\x4a\x1a\xa1\x96\xf2\xfe\xf8\x59\xd3\xef\x18\x3f\x53\x50\xe0\x39\xa9\xf2\xe1\xf8\x36\xbd\xde\x19\xff\xf2\xc1\x0f\x3c\xcf\xc6\x55\xe5\x4e\xe9\x2f\xbb\x41\x3a\x6c\x6f\xd3\xab\xfd\xd0\xfb\x79\x0d\x8f\xaa\xde\xcd\x6c\xfc\xce\xc8\xe5\xf2\x1f\x97\x04\xf9\xfb\x13\x8e\xfc\x97\x67\x65\x9e\xf7\x56\x22\x34\x09\x1e\x96\x46\x7c\x58\x1b\xd1\x16\x87\x6b\x0e\xdd\x97\x47\x3c\xd7\x07\x17\xf2\x7d\x1d\xaf\x65\xbc\x56\x31\x17\xb1\xaf\xe1\xb5\x84\x7d\x05\x63\x01\xfb\xfa\x3d\x97\xef\xb9\x7a\xef\x8b\xf7\x71\x0d\xfe\x08\x1d\xb8\x0b\xe7\x18\x8c\xe4\x47\xd1\xfb\xdb\x79\xf6\x71\xf4\xfe\x38\xc3\x1e\xa2\x77\x5b\x84\x2d\x8d\x8f\xc7\x7f\xbb\x10\x3f\x1e\xff\x71\x09\x7e\x95\x06\xf9\xe6\xf8\x6f\x17\xe2\x7d\xfc\xcb\xd7\x3f\xf0\xb8\x04\xbf\xfa\x81\xd1\xca\x5f\x76\x83\x56\x7a\x43\x34\xd9\x42\x99\x7a\x33\xaf\x2b\x7d\x2b\xff\x6f\x2b\xe3\x4f\x66\x13\x2e\xbf\x2b\x9d\xf0\x23\xd6\xe4\x13\xb6\xff\x97\x6f\xea\xaa\x68\xad\xa1\x43\x0b\x25\x53\x24\xa4\x86\xd2\xbd\xee\x8c\xb0\x8b\x44\xde\xce\x96\xd5\xd8\x54\xc5\xfe\xba\xe2\xac\xe2\x60\x09\xc4\xbf\x91\x31\xe4\x41\x95\x4c\x81\x74\xf7\x85\xd9\x0a\x62\x4d\x03\x88\xba\x4b\x68\x50\xe9\x03\xe7\xee\x17\x72\xb5\xdb\x02\x23\xff\x1e\x80\x4c\xe4\x5e\x00\x80\xa3\x6d\xb1\xcc\x30\xfb\x6e\xe7\x67\xd1\x63\x6f\x61\xca\x2e\xe0\xb7\x64\xf3\x41\xac\x65\x39\xa7\x52\xd1\xe2\x6e\xf1\x5d\xeb\xa1\x80\x86\xae\x15\xf0\xac\x5f\x45\xfa\x65\xcf\x54\xb5\x50\x94\x22\x5d\x04\x70\x3a\xfb\x90\x7b\x07\xac\x91\x8e\xd3\xb1\x03\x2f\x8b\x45\xb2\xc9\x29\x0d\x09\xf2\x65\x01\xd2\xce\x7b\xa2\x38\xd3\x5a\x98\x6d\x67\xb5\x04\x08\xf3\xea\x14\xf3\x95\xfd\x2b\xa4\x50\x18\x47\xd4\x9a\x4f\x55\xba\x3e\xa8\x55\xe3\xfc\xe4\x64\x6d\x92\xee\x44\x2b\x19\x05\x49\x76\x41\x2a\x00\x77\x60\xb1\xb5\x88\xf3\x80\x96\x52\xa8\x63\x17\x30\x97\x39\xcf\x65\x6e\x07\xe8\xaf\x25\xb5\x43\x88\x2b\x07\x8b\x9c\x38\x84\x5e\x26\xe9\xcb\x9a\x78\xa8\xc3\x06\x22\x0f\xf9\x09\xc0\x24\x2a\x1a\x3c\x20\x08\x11\x52\x98\x1e\x38\x91\x97\x90\xd0\x4f\x9b\x1d\xc0\x0f\xcc\xe2\x22\x63\x23\x7c\xae\x07\xe5\xef\x4f\xad\x11\xbf\x7c\xab\x35\xa2\x10\xb8\x2d\x4e\x8d\x83\xcc\xd4\x52\x6b\x23\x15\xfe\x1e\xfd\xd9\x84\x8c\xc6\x12\x62\xe6\x34\xa0\xaf\x41\xd5\x62\x00\x30\x0b\xd7\xd0\x48\xad\x50\x24\xa8\xe4\xd0\xa4\xec\x79\x86\x2a\x61\x56\x8a\x2c\x1e\x93\xb0\xdf\x1d\x14\x02\xd9\x1b\x0b\x0e\x69\x0f\xec\x3c\x9d\xa4\x55\x33\xed\x94\x43\x4f\xea\x11\xa3\x8c\xb2\x92\x67\x73\x3a\x13\x4d\x71\xad\xa1\x21\xe0\x2e\x8d\x65\xca\x8e\xfe\xbb\x1a\x84\xe4\xb6\xd9\x39\x75\x99\x6a\x6b\xab\xd7\x41\x2e\x68\x81\x26\x03\x12\xa9\x65\xb2\xab\x5b\x44\x85\x96\x9f\x6d\xa9\xf9\xde\x6c\xfd\xc5\x41\xdb\x0b\x61\x22\xcc\xd9\x26\xa8\x8e\x3f\xa1\xd3\x49\x5d\x25\x04\x9f\xdb\xb8\x48\xbd\xc3\xf4\xd9\x37\xde\x01\x7d\xbf\x48\x1d\x12\x5a\xa1\x89\xce\x85\xb5\x7a\xca\xa2\x54\xf6\xe3\x34\x76\x2c\xd2\xa1\xa6\x8a\x50\x62\x2b\x10\x59\x81\xd1\x8c\x91\xf6\xc8\x8e\x4e\xb4\x87\x98\x21\x05\xef\xb4\xcc\x90\x13\xca\x12\xed\x62\x7f\xa0\x04\x20\x33\x0c\xc6\xe4\x00\xfa\xd9\x3d\x4b\xe0\x6f\x45\x19\xa3\x85\xa2\xae\x9e\x95\x43\xe4\x74\x06\xa9\xdf\x42\x63\x9f\xf3\x34\x39\x03\x12\x41\xd5\x10\x0b\xc5\x2d\xca\xcb\x38\xa3\x09\xc3\x13\xf4\x76\x4b\xca\xc1\x3f\x7b\xf2\x2e\x25\xb6\x2f\xb2\x67\xa9\xa8\x37\x03\x54\xf1\x72\x2c\x15\xcb\xbc\xcd\x65\xe9\xde\x1c\x94\x57\x24\x25\x31\x85\x12\x1b\x66\x52\xa5\xed\xec\x6c\x75\x68\x83\x2c\x14\xb5\x5c\xdc\x28\xc6\xd2\x8e\x07\xc9\x52\x1e\xe4\x7a\x07\x80\xf2\xb4\x84\xf6\x8c\x92\xc1\x97\xd8\x32\x3a\x38\x6a\xe0\xba\xdf\x05\x3f\xb7\x6e\x48\x73\xaa\xaa\xb6\x47\x5c\x69\xce\x41\x84\xd3\xb4\xb8\xa6\x90\xb0\xdd\xa1\xb7\xa0\x8e\xa1\xa8\x04\x20\x79\x5a\xa6\x81\x0d\xf5\x40\x62\x90\x5c\xa6\x9e\x2d\xce\xcb\x85\x42\x5b\x15\x55\x2d\x6c\x32\x80\x5c\x61\x52\x96\x90\xe1\x93\xcc\x40\x8a\x4f\xe8\x0a\x29\x74\x9e\x34\xed\xb0\x8c\xe4\xde\x9e\x17\xe0\x31\xa1\xc5\xe6\x84\x3b\xae\x01\x28\x54\x80\xa2\xd4\x08\x84\xe2\x26\x6e\x23\x5b\x75\x25\x2c\x26\x76\x2e\x8d\x7a\xb8\x14\x02\x76\xff\x7e\x88\x8b\xc7\x1d\x6b\x81\x9d\x2d\x43\xf5\x14\x04\xe8\x8b\xf5\xb9\xfb\xf3\x56\xb3\xbf\xa0\x11\xa8\x0a\xce\xf3\xb4\x43\xcf\x62\x66\x62\x23\xd9\x06\x79\x52\xe9\xb5\xc3\x95\x90\x86\x79\xec\x39\x95\xd0\xc4\x6d\xc5\x62\xe4\xaa\x29\x93\xce\x06\x4c\xfd\x23\xc4\xae\x10\xa2\x8c\xa3\x9d\x5d\xd5\xbd\x13\x97\x9d\xd7\xa2\x21\xa1\x99\xa7\xee\x9d\xed\x88\xad\xac\x93\xf0\x6b\x50\xbb\xf6\x4e\x45\x0f\xda\xad\x91\x83\xa2\x72\x97\x43\x45\x2f\x27\x52\x9a\x4a\xcd\x83\xd5\x4b\xac\x36\x05\xea\x08\x9e\xe9\xcf\x41\xcd\x4f\x81\x8e\x0a\x1a\xb0\x99\xc8\x40\xc6\xc2\x7f\x9b\x08\x01\x21\x42\x8d\xec\xf1\x30\x35\x01\xac\xcb\x02\xbe\x60\x2c\xba\xcc\x2f\xed\x1d\x8f\x76\xb2\xb3\x69\x87\xa1\xb4\x6b\x01\xc1\x4a\x67\x97\x51\x96\x72\x31\xe3\x57\x34\xd8\x53\xfd\x4c\x42\xe9\xa9\xaf\xe4\x97\x6f\xf6\x95\xc8\x98\xe0\x67\x07\xd3\xf5\xcc\xfb\x0c\xa5\x78\x0d\xaf\xe5\x83\x8a\x4a\x7d\x8b\x83\x3a\x0b\x79\xa7\x29\x95\x05\x41\x52\x17\x6c\x60\xdf\xcc\x02\x08\x6d\x6a\xbb\x50\x9b\x5b\xb5\x0d\x47\xf3\xae\x20\xba\xca\x1a\xda\xde\x17\x70\x51\xea\x16\x8b\x20\x97\x56\x6f\xe9\x96\x36\xf6\xf6\xea\xe0\x94\x2b\x64\xbb\x42\xaf\xab\xf3\x1d\x49\x63\xe8\x92\x9b\x85\x29\x79\x7c\x58\xb9\x18\x2c\x3e\xbc\x4d\xcb\x1f\xd1\x33\xfc\x97\xe3\x9f\xa0\x56\xf1\xf7\xa7\x56\x88\x5f\x9e\x5b\x21\x92\xae\x1d\xbe\x41\x84\xf1\xd3\xea\xea\x3b\x3b\xa1\xcd\xec\xa4\x63\xe6\xd0\xe5\x36\x53\xbf\x8a\x8e\x5b\x9c\xa9\xef\x95\xfa\x3e\x58\xac\x72\x38\xeb\x81\xe7\x71\xf1\x2b\x9d\xb2\xa9\x52\xca\x11\x67\x09\x22\x7a\xfb\x7c\xd2\xe5\x16\x3b\xfa\x57\x9d\xb9\x0a\xac\xdb\xa2\x87\x53\xc2\xfb\xee\x98\xdd\x65\x52\xcc\x1c\x75\x37\x33\x9f\xaf\x89\x4e\x23\x02\xcd\xde\x78\xa3\xd0\xff\x20\xf3\x1c\xdf\xe8\x3c\xc7\x37\x42\xcf\x6f\x74\x9e\x97\xe4\x9f\x38\x81\x57\x96\x7c\xeb\xa4\x71\x5e\x27\xf3\x78\x2e\x0f\xa7\xc2\xd3\x7a\x38\xdd\x5b\xb4\x2f\x52\x6f\xdc\x96\x2c\x59\x2a\xf3\x2b\xf3\xb3\xbd\x0d\x02\xcc\x2c\xea\xbb\xd9\x0b\x42\xb3\x12\xb4\xc7\x90\xa5\xfc\xe0\x43\x1d\xe9\xfe\xe1\xe5\xfc\xf4\xfb\x93\xe9\x09\x77\xff\xcb\xb3\x02\xc6\x8f\x9c\x4c\xad\x0a\x27\x53\xab\xf2\xdf\x93\xe9\xbf\xd8\x64\x7a\xc2\x85\xff\xf2\x8c\x0b\xff\x91\x93\x29\xcf\xca\xc9\x94\x67\xfd\xef\xc9\xf4\x5f\x6c\x32\x3d\xe1\xb0\x7f\x79\xc6\x61\xff\xc8\xc9\x24\x79\x72\x32\x49\x9e\xff\x3d\x99\xfe\x8b\x4d\xa6\x27\xd4\xf0\x2f\x4f\xa8\xe1\x3f\x35\x99\x3a\x5a\xfc\x05\x5e\x3a\x3f\xf4\x17\x60\x01\xf0\x84\x75\x5d\x19\xf0\x7f\xa6\x29\xf4\x38\x83\x2e\xff\xbb\x4d\xa1\xdf\x31\x83\x9e\x80\xa9\xbf\x3c\x93\xd8\x4f\x3d\xcb\xed\xe8\x14\xd3\xd1\x17\xad\x05\xe2\xf0\xcc\x36\x2c\xcd\x5b\x6c\xda\x2c\xea\x6e\xfb\x29\xeb\x84\x46\xbd\x84\xb4\xbc\xa4\x2d\x0e\x0d\xc3\xc9\x47\x78\x80\xe6\x03\xff\xdd\x4a\x09\xa5\xec\xb1\x6b\x98\x42\xba\x85\xa0\xa9\x33\xcb\x04\x4a\xd6\x5e\x10\xe7\x4b\x6f\x01\x28\xab\xc4\x1c\xf9\x70\x6d\x59\xd7\x96\xc6\x5d\x48\xd7\xa8\xb5\xdd\xa0\xb0\xfd\x07\x30\x20\x3b\xc7\x46\xd7\x67\x91\xcb\x81\x66\x5a\x91\xba\xcf\x02\x26\xd4\xd9\xd9\x6c\x85\xb9\xd4\x2d\xbe\xe3\xc9\xf3\xaa\x28\x7b\xc0\xeb\x7e\x7d\x91\x5c\xf8\xec\xde\x49\x90\x1d\x5f\x11\x57\x1c\x6f\xf2\x6d\xc7\x03\x09\xc4\xeb\x8b\xb4\x44\x30\xdc\x3b\x99\xb9\xc7\x23\x8f\x6f\xfe\xc2\xeb\x8b\x8c\xda\x3e\x7b\x3e\x97\x6f\x9e\x90\x4a\xc3\x09\xfd\xc9\xeb\x2a\x69\x38\x28\xea\x2d\xef\xc5\xb7\x2f\xe4\xed\x90\x16\xf8\xea\xf8\x11\x67\x93\x06\x2a\x79\x97\x3f\x3b\x8e\x3d\xf5\x86\x5c\xf2\x9f\x7b\x5a\xf6\xd4\xcd\x24\xfe\xc9\xd3\xb1\x67\x05\x28\xcc\xa7\x4e\xe7\xf2\xf1\xf9\x94\xce\xfc\xc2\x0f\xb8\xcd\x76\x3e\x3f\xe0\x2e\xff\x80\x61\xec\xee\xe4\x51\xfe\xf4\x43\xb7\xab\xd2\xfa\x27\xe7\xe0\xf7\x6d\xf6\x13\x02\xf8\x97\x6f\x22\x80\x5b\x2b\x60\xf6\x3d\x3b\xb8\x1a\x9b\x9c\x91\xa0\xb1\x77\x3f\xa8\xa0\xb6\xf7\x0a\xa8\x22\x24\xe2\x42\x72\x9c\x83\xe8\xd5\x37\xed\x4a\xed\x84\x11\x14\xd5\x52\x26\xa1\xfa\x6a\x17\x1b\xf7\x76\x31\xb2\x48\x60\xfc\x3b\x32\x9c\x2c\x12\x4b\x78\xfc\x26\xa3\x91\x60\x1d\x4a\x5c\x18\x75\xb4\x9b\x4c\xbd\x4a\xcd\xed\xf5\xa5\xa7\x12\xc6\xfb\xc5\x5f\x6f\x1a\xe1\x19\x1f\x67\xa9\xf7\x78\x53\xe1\x35\x87\x65\xf5\xd7\xbd\xfb\xfd\xef\x7c\x3d\x95\x30\xdf\xef\xd4\xfc\xcc\xd7\x47\xd6\x3f\xf3\x75\x78\x5b\xa9\xb6\x3f\x7e\xf5\x09\x9e\x59\xfa\xa3\x27\xf0\x89\x02\xff\x5b\x8c\xca\xc7\x05\xf8\xd9\x6e\xce\xd4\x9d\x40\x24\x2e\x43\x0e\xdb\xd4\xbb\x6d\xc3\x00\x31\x0e\x52\xbb\x17\x6c\x0f\x73\x04\x51\x8b\x6d\x62\x9e\x9b\x6a\x50\x50\x71\x80\xb7\x2b\xa4\x0d\x45\x1e\xbd\xec\x2e\x36\x93\xc8\xe0\x9f\xa1\xb9\x08\xad\x0d\x17\xa1\xc1\xc1\xe8\x6c\xa3\xe4\x06\xc9\x4d\xd5\x07\x8c\xb9\x81\xd6\x9b\x4e\x43\x2a\xd4\x54\x82\xc8\x55\xee\x28\xf1\x0d\x08\xb8\x44\x90\x84\x46\x42\x9e\xf3\xbd\x21\x0e\xef\x80\xa0\xea\x2a\xf5\x5d\x7c\x01\x1c\xd2\x6f\x3e\xc0\xef\xcf\x9f\x8f\x9e\xdf\xe5\xd3\x33\x68\xb5\x5f\xff\x81\x13\x98\xa8\xf0\xfc\xf1\x09\x84\x1b\xf0\x27\x7e\x1f\x37\x40\xcb\xdb\xf5\x7b\xf9\x3d\x33\x18\x6e\xf3\x9f\xbd\x03\x5f\x9f\xc1\xef\x3a\x81\x31\xfe\xcc\x00\xdf\xdf\x27\x9e\xd0\xff\xbf\xfc\x76\xf2\x76\x9a\x27\xcb\x78\x0a\x29\x7b\x14\x16\xfb\x0e\x3d\x0e\xf0\xc7\x10\x72\x95\xa9\x06\x33\x51\x7b\x55\x82\x16\xed\xc5\x4c\x20\xa4\x01\xdf\xba\x85\x47\x79\xa7\x3a\x0e\x0d\xbe\x00\xf4\x2a\xcd\x36\x82\x62\x7f\x0f\xaf\x56\x2c\xcd\x2f\x87\x4a\x69\x59\x65\xe1\x92\xcb\x11\x73\xa5\x1a\x28\xe8\x9b\x40\x9b\x13\xf2\x11\x5b\x90\xba\x43\xfc\x5f\x52\x80\x1a\x75\xd6\xd0\x42\xe9\xbb\x84\x09\xe2\xd7\x5d\xea\x0c\xc0\x71\xa1\x89\x3a\x17\x82\x78\x33\x4a\x73\x32\x88\xfc\xcd\x39\x91\x78\xbb\x74\x3b\x84\x88\x15\x08\x57\x52\x53\x10\x75\xe9\xee\x12\xf8\x8e\x5d\xa0\x30\x14\x37\xb9\xa4\xab\x48\xae\x8c\x10\x50\xbb\x0f\x73\x02\x27\x0d\x94\x05\x86\x90\x2f\xe8\x0d\xcf\xa8\x5d\x2a\xa0\x23\x12\xcc\x94\xe0\x2b\x90\x97\x23\xc1\x10\x0b\xce\x7c\x33\xba\x02\xce\x11\x9d\xb0\x87\xfa\xac\xc8\xd6\x34\x09\xa4\xbb\x77\x7e\x63\x05\x43\x9e\x2e\xa4\xc7\xde\x83\x94\x1c\x5a\x0b\xea\x80\x6b\x6a\xe4\xf7\x43\x15\x74\x8b\x24\x39\x85\x62\xf8\x65\x17\x48\xe5\x06\xe7\x05\x2a\x94\x6e\x95\xb3\x25\xb6\xa3\x80\x95\x96\xd8\x7a\xcc\x69\x58\x6c\x6f\x93\x65\x24\xca\xe7\xe7\xa5\x83\xb5\xd0\x28\x64\x53\x6a\xf5\xfe\x0f\xbe\xc6\x51\x3c\xe8\xe1\xe5\xc3\x11\x8f\xdf\x7c\x18\x12\x00\x48\x5d\x53\x44\x20\x46\xe4\xe1\xf3\x1b\x06\xab\x0e\x66\xa9\x71\xe7\xc0\x45\x10\x6a\x36\xbe\x05\x10\xdb\xcc\x30\x15\x9a\x51\x29\xe4\xa0\xe9\xb2\xd7\x11\x6a\xb1\xe0\x52\xb4\xa3\xed\x9e\xad\x22\xa0\xa0\x04\x5a\x26\x01\xbc\x4b\x44\x11\xa1\xf5\xa2\x54\x91\x42\xd2\x81\xf2\x2f\x2c\xf7\x21\xe4\x9d\x2e\x5b\x03\x15\x7e\x0d\x14\xde\x93\xde\x0e\x36\x10\x08\x23\xc2\x88\x13\x88\xca\x25\x43\xe5\xd1\x69\x77\x12\xc2\xec\xd3\xc5\x8f\x33\x68\x7f\x15\x0c\xde\xa8\x00\x17\x2a\xc9\xae\x92\xa3\xe6\xb2\x67\x14\x66\xdb\x0c\x5a\xca\x01\xf1\x0e\x90\x12\x6a\x11\xb0\x1b\xed\x52\x4a\xe8\x41\xdb\x00\x4f\x8a\x4c\xe7\x59\xe8\xd0\xf4\xf3\xa2\xe4\xa7\xa4\x86\xfe\xf1\xd4\x10\xf2\x6b\xfa\x86\x87\xa9\x16\x51\xea\xb8\x22\x09\xd1\xdb\xb8\x46\xa6\x23\x7a\x5b\x15\xc9\x4f\xa1\x51\x3f\xa6\x85\xfa\x10\xf8\x66\x5f\xf9\x63\xc0\xb7\x7f\x3c\xf5\x19\xfc\xfa\xdc\x67\xf0\x15\xdd\xa0\x22\x01\x33\xbf\x81\x84\xff\xd6\x35\xcc\xf7\x09\x0e\xfe\xc4\x25\x3c\x21\xdb\x7f\xfd\x16\xb2\xdd\x9e\x52\x42\x83\x24\x18\x45\x91\x6a\xaa\xa2\x8e\xf3\xb7\xf7\x2a\x53\x75\xfe\x99\xd6\x76\x9d\x1f\x91\x2f\xe4\xaa\x0b\xd4\x88\x06\x01\x57\xd2\x7a\xff\xae\xc0\x4f\xcc\xf5\x0f\x75\x10\x70\xe0\xa7\xdb\x66\x43\x72\xc4\xa7\x8f\xec\x1b\x8f\x27\x7d\xf9\x1d\x77\xf4\x09\xa1\xfc\xeb\x13\x42\xf9\x0d\x56\xa0\x23\x35\xb5\x89\xb9\xa6\xa5\x79\xfe\x87\x49\x2d\xe6\xb6\xb6\xa8\x39\x83\x97\xca\xff\xbe\x7b\xcc\xfa\xfe\x3d\xa3\x16\x3c\x65\x06\x96\x25\x05\x7d\x6b\xbe\x0f\xf6\xd1\x81\x80\x4a\xac\x81\x1e\x32\x70\x87\xa7\xe7\xde\x0e\x14\xd7\x48\xef\x1c\x79\x8e\x74\x66\xe9\x90\xc5\xc3\xef\x5d\xb6\xc7\x6b\x8a\x7e\x51\x5f\x1f\xf5\xcf\xbb\xf2\x9f\x20\xaf\xbf\x7e\x07\xf2\xda\x43\xd1\xfa\xde\xdd\xfd\x2a\xb7\x69\x81\xb5\xb4\xb9\x79\x84\xdd\xe6\xc7\x47\x7e\xf5\xc0\x1f\xf3\xa0\x6f\x46\x59\x83\x3c\x1d\xf4\x66\xc6\x3d\x66\x1c\xb7\xf5\xe3\x6b\xa0\x77\x8f\xf9\xea\xf1\xbe\x4d\xe3\x5e\xee\x57\x70\x8e\xf6\xfe\x91\xaf\x6f\x6d\xbf\xf9\xd4\xcb\xf8\xdb\xeb\x7f\xde\x39\xf0\x04\x27\xfd\xf5\x09\x4e\xfa\x38\x07\x12\x38\xe6\xc6\x96\x13\x04\x38\xae\xb1\xd5\xb2\x45\x74\x76\xda\x3f\x5b\x2d\x7f\x10\x7a\xf3\xcf\x80\xbc\xf9\xc7\x13\x42\xea\xd7\xf7\x10\x52\x77\xde\xb3\x09\x19\x87\xb4\x13\xe4\x05\x90\x25\x93\x3b\xcd\xd3\x3c\xc0\x76\xee\x94\xd1\x0b\x70\xf2\x41\x18\x51\x9c\x5f\x56\x06\x55\x73\x66\x0d\xc3\x1c\xb6\x11\x40\xaa\x47\x56\xb2\x83\x62\x9d\xc3\xde\xc6\x07\x32\x8f\x11\x64\xec\x3d\x8c\xc0\x8f\x1c\xef\x6a\x6f\xc5\x1e\x3a\x09\x6d\xba\x27\x28\x53\x4b\xa1\x97\xb4\x41\xda\x39\x53\x4a\x1a\xa4\x45\xde\xa0\x97\x9d\x68\x5b\x32\xe8\x62\xf3\xc0\x11\x6c\xdd\x0d\x39\x1d\xf8\xef\x96\xc1\xf9\x69\x1f\x68\x60\x8f\xa0\x5e\x16\x62\x4f\xb7\x6c\x01\xca\xdc\x31\x32\x0e\x89\xea\xec\xcf\x7c\xf5\xfa\x32\xab\x84\xd1\x81\x5b\xc5\xb5\x8d\x75\x6d\x93\xd7\x66\x17\x03\xc1\xec\xc3\xfe\xb3\xdb\xa5\xca\x0c\x94\x76\x18\xc7\x60\x8a\x70\xf8\x25\x65\x73\x5b\xdb\xd8\x51\x05\x43\xab\x59\x22\x95\xb9\xd3\x7a\x76\x47\xdd\x41\x94\x0e\x42\xbc\xe2\xdd\x84\x2a\x6c\xaa\xcf\xe6\x0c\xb3\xa5\xac\x66\xa2\x32\x63\x25\x89\xb0\x40\x1f\xde\x6f\xc0\x1d\xf3\x88\x58\x22\xf3\xc5\xc5\xe9\x73\x85\x8a\x03\xfe\xc2\xe5\xb9\x8e\xe2\x5c\xbe\x88\x1c\x0f\x2a\x87\x2e\x82\x07\x5b\x16\xb5\xd6\x50\x46\xdb\xcd\x09\x07\x89\x24\x59\x73\xa3\x3e\x50\x07\x81\x03\xcb\x8c\xa3\x79\xc9\x25\xa1\xce\x63\xd1\x15\x3d\x7e\xc9\x48\x0e\xee\x90\x9b\xb7\xf9\x84\xdf\xcb\x39\x94\x2f\x75\xc3\x43\xd8\x15\xe9\xd6\x5c\x2c\x32\x6d\xf6\x43\xed\x14\xf6\x45\xa8\x94\xc0\x0e\x1c\xc8\xc0\xae\x28\x24\x35\xcc\xc8\x29\x66\xd9\x06\x62\x50\xb6\xcb\x1e\x51\x32\xe9\xe8\x2e\x28\x44\x52\x1d\x7c\x11\x16\xdf\x89\x53\x33\x25\x6c\x9c\xc6\x0f\x9a\xbd\x24\x0a\xef\xe4\x8c\x25\x6b\x39\xe2\x2c\xdd\xc1\x9d\xcf\xb4\x51\x3b\x62\xed\x61\x0c\x30\xb3\x43\x9c\xd2\x3c\x4b\x05\x7a\x53\x19\x1c\x40\xb6\x05\x1d\x00\x83\x32\x3e\x62\x3e\x7f\x28\x1a\x72\x3f\xa8\x77\x68\xf7\xc4\x05\x77\x24\x07\x08\x1f\x82\xff\x1e\xd1\x65\x60\xa8\x04\x81\xcd\x7b\x52\xaa\x24\xe8\x3b\x96\x40\x9e\x4a\x4c\x14\x80\xaf\x2b\x61\xd3\x51\xc4\x61\xa1\xe4\xe5\xbd\x10\xa5\x0d\xad\x66\x1b\xa9\xed\x94\x4b\x6f\x9c\x79\x6c\xfb\x77\x19\xd4\x08\xb5\x8c\x8d\xac\xea\x8d\x52\x30\x24\xc5\x44\x73\x7c\xfd\xb2\x0a\x74\x4d\x3d\x78\x6e\xe4\x94\xee\x54\xd5\xb4\xa7\x98\x21\x10\x05\x55\x75\xfc\xb0\xfd\xad\xe5\x20\x02\xbb\xa4\x03\xa5\xba\xb6\x17\xb1\xa5\xd2\x3b\x64\xb1\x8e\x4a\x4d\x38\x8b\xa5\x94\xd7\xb3\xa4\xa7\xba\xcf\x2c\x97\x87\xab\xd0\xca\x86\x6e\x58\xc2\x4e\x48\xb1\x01\x6d\xc1\xd3\x7b\x88\xea\xa9\x2f\xac\x21\x97\xcb\xde\x83\xcd\x83\x40\x15\x64\x48\x7a\x26\x0a\x32\x83\xc8\x22\xd9\x6c\xc2\x9c\xb7\x1d\xda\x11\xf5\x95\xaa\x3a\xe8\xe5\xe8\x90\x48\x8c\x0d\x24\x9f\x0e\xdc\xce\x4a\x2b\x49\x42\x5e\x56\x88\xab\xbd\x57\x3d\xf3\x80\x46\x81\xc5\x75\xd9\x7c\xb9\xb5\x8c\x3b\x5f\xd9\xdf\x3c\x12\x93\x32\x10\x1e\x65\x5f\xc5\x74\xda\xc7\x58\xd4\xad\x1b\xf0\xe0\x2c\x6b\x17\x39\x22\x13\x94\xc3\x19\xa1\xb4\xef\x24\xbf\x0e\x82\x2a\xd5\xe1\xe4\x0b\xd4\x26\x23\x27\xb3\xb2\x07\x1a\xb1\xb4\x94\xb3\xdb\xde\x9e\xda\xf4\x26\x8f\x69\x0b\xa6\x50\xc9\x12\x1d\x3d\x23\x07\x69\x1d\x28\xeb\x3c\x83\x86\xd2\x42\x61\xae\xb8\x7c\x62\x63\x64\x03\x02\x77\x44\xcc\xae\xf3\xa5\x6f\x8f\x24\x8b\xf8\xcc\x06\xe9\x47\x9e\xdf\xbe\x8f\xf8\xf0\x3b\x7f\x60\xa3\x7c\x82\xa8\xfe\xda\x57\x42\xad\x8a\x85\x42\x35\xdf\x62\xab\x75\x07\x67\xa6\x90\xdb\x22\x50\x16\x15\xb6\xf7\x4b\xdd\x72\x0f\x79\x6f\x23\x68\xe0\x4d\x3f\x79\x01\xa7\x59\x33\xb3\x84\x45\xaf\x92\x32\x35\x34\xb3\xea\x06\x99\xdc\x79\x8d\x78\x53\xa7\x77\xe2\x43\x63\xca\xcc\xca\xcc\xb6\x06\x83\xb6\x3d\x0e\x6c\x2b\xb9\x6a\xb0\xd8\x8e\xd9\xe5\x3e\x9c\x0f\x9b\x4f\x90\xc2\xb8\xb0\x08\xd7\x5c\x9d\xfa\x1f\xd8\x7c\xb5\xb5\xd4\x29\x0e\x6b\x66\x1d\x96\x5a\x8f\xd2\x88\x1b\x47\x27\xd6\x06\x7d\x88\x76\x1d\xf3\x02\x42\xb9\xdc\x57\x63\xa6\xd6\x73\xea\x29\x89\x85\xa0\x9f\x8e\x84\x43\x38\xfb\xa2\xca\x35\x16\xf3\x9e\x74\x6c\x31\xa3\xd5\x48\xcd\x69\xdc\x44\xa1\xea\xdd\xba\x19\x78\xdc\xb4\xdc\x39\x59\xfb\xdc\x46\x68\x25\xef\x66\xf8\xc1\x8f\xdb\x0a\x56\x3b\xd8\x39\x2a\x04\x96\x8f\xc8\xaf\xb4\x0d\xc4\x05\x5a\x30\xa6\x8f\x7f\xed\x49\x77\xc9\xe8\xcd\xe9\x85\xf2\xe2\x2e\x53\x05\x65\xad\x72\x6e\xdc\x00\x6a\x47\xe8\x98\x50\x70\x83\x29\x66\x24\x45\xc5\x8c\x51\x2f\x41\xfa\x74\x86\x99\x0c\xd6\xf0\x6b\xac\x85\x96\x3c\x2d\x69\x64\x98\x5e\xf6\x91\xa4\x4f\x25\x5b\x9e\xb0\xaa\xbf\x9e\x1c\xd1\x53\x35\xf4\x3c\x6f\xb6\x6e\x20\xae\x13\xbc\x63\x0d\x44\xcc\x16\x93\xd0\x5a\x7b\x07\x09\x4b\x68\x34\xea\xdc\x39\xd1\xb2\xe0\x8a\x52\x5f\xea\x2d\xa7\xb9\x53\x5c\x2b\x44\x41\x9f\x03\x79\xd6\x71\x14\xd5\x34\xb9\x93\x0b\x0a\x18\xb6\xf9\xdf\xa2\x40\x3b\x20\xe3\x31\xc0\x8d\x67\x0f\x85\x3b\x43\x4e\x0a\x5d\xd7\x56\xeb\x27\xe1\xdd\xb1\xdc\x4e\x71\x33\xf6\xe8\x0a\x25\x61\x9a\x49\x14\x5c\x8e\xb4\x7a\xeb\xb7\xf1\xa5\xde\x26\xda\x67\x86\xad\x01\x7b\xec\x97\x03\xcb\xc5\x5c\x3f\xb0\x95\x79\x08\xe4\xbc\xf0\xe4\x23\x0b\xb1\x1d\xea\xbc\xd4\xb8\xf3\x37\x3b\xfd\x5b\x04\xca\x21\x85\x02\x80\xb7\xde\x4a\x57\x0b\x4a\xf4\x16\x4b\xd7\xd7\x97\x26\x85\x1f\xa5\xe6\x1f\xd5\xb9\x45\x56\x32\x05\x4a\xeb\x62\x3e\x35\x76\x65\xb1\x4f\x07\xbe\x78\x95\xd4\x6f\x59\x74\x2b\x14\x07\xbc\xf6\xb6\x95\x1c\xb2\xcc\x9b\x2d\x4f\x88\x32\xce\xd0\xd1\x9a\x04\x66\x7d\x24\xc9\x33\x6f\xb5\xf8\x8e\x2c\xdd\x5d\x60\xa5\x48\x08\x76\x00\x6f\x58\x0e\x20\xa6\xb1\xcb\xbd\x5c\xe1\x45\xda\x49\x5f\xe3\x14\xfe\x7c\x6d\x3b\x63\xb1\x3b\xfc\xc4\x06\x19\x6c\xfc\x80\xee\x98\xb8\x7a\x69\xae\x2d\x54\xa9\x37\x41\xaf\x97\x6d\x4c\xe6\x1e\xd1\x27\x73\xcd\x36\x24\x89\xa9\x65\xdb\x1f\x9a\x27\x01\xdd\xba\x49\xb5\x28\x4e\xba\x5f\xb7\xa4\xad\x87\x9c\x76\xec\xcf\x8d\xf8\xae\xc6\x3e\x9c\xd6\xe0\x5a\x1d\xd2\xc2\xa0\x70\x0d\xf4\xa0\x3e\x13\xef\x7d\xc8\x05\x7a\xf9\x38\xe0\xfb\x88\x0c\xf4\x13\x8b\xec\x09\xc3\xfb\xeb\x13\x86\x57\xa5\xb7\x33\xb3\xc3\x46\x27\x18\x0b\x96\x0c\x59\xac\x1e\xb8\x05\x16\x00\x8f\x86\x96\x54\x21\x5a\x2c\x15\xe7\x65\x09\x52\xd2\x01\x89\xc3\x20\x1d\x4d\xa0\xd2\xd9\x6e\x64\x36\xcd\xce\x9e\x02\xc4\x88\x4e\x9a\x1e\x79\x8a\x73\xe1\xd6\xa4\xa1\x24\x8b\xb8\x5d\x1f\x5d\x2b\x5a\xd8\xcc\xdf\x69\x4e\x3d\x65\x5b\x31\x85\xff\x6a\xa6\x3a\x26\xa5\x69\x51\xd1\x84\x06\x72\xf3\x9e\x2e\x5b\xb4\xcd\x4e\x27\xc9\xa0\x16\x84\x05\x0e\xd0\x54\x2e\x63\x2f\xc5\x36\xe7\x5e\x42\x1b\x48\xe3\xcd\x50\x07\x5b\xaf\xcd\xac\x36\x0b\x81\xba\x59\x0d\x52\x85\xc1\x41\x41\xcc\x44\x02\x0b\x74\x2b\xf1\xda\xc8\x71\xa1\x14\xd4\xe3\xcc\x4a\x9e\xbc\x76\x0f\x99\x9b\x14\x1a\xd0\x5a\x82\x0f\x56\x32\x26\x8b\x17\x00\x0a\xe4\x54\xd8\x40\x24\xd4\x91\x92\xad\x40\x8d\x1d\x39\x77\x34\x88\xc1\xbc\xb0\xf3\x3e\x67\x5a\x00\x28\x3e\x32\xde\xdc\xa1\xc0\xc3\xb2\x6e\xa7\x27\x07\x6a\x62\xf3\xe9\xbf\xdc\xd5\xe6\xfa\x42\xf4\x51\x0c\xe3\xb2\xb3\x73\x86\xa4\xc2\x53\x1f\xd8\x0f\xc7\x81\xe5\x64\xb6\x1e\x12\x04\xb1\x05\x2d\xab\xd3\xf8\x50\xf8\xf9\xd4\x96\x27\x2f\x4b\x77\x4c\x59\x9d\xb6\xbd\x6b\xd9\x15\xcd\x7b\xd8\xd6\xb1\xde\xb3\x47\x5c\x88\x96\x8b\x3b\x9a\x10\xea\x43\x99\x08\x66\x67\xf0\x9d\xd2\x20\xe4\x87\xe9\xc6\xb6\xb2\x48\x36\x76\x78\xbe\x11\x65\x53\x94\xd9\x08\xc5\xec\xa4\xe8\x61\x8f\x71\xec\xd3\x65\xeb\x70\xe5\x1b\x47\xdf\x31\x99\x2d\xb8\x42\x9f\xeb\x65\x97\x59\xc3\x9c\x21\x4b\x09\x3a\xe6\x81\xbe\x3e\xb1\x89\x60\xd7\xda\xec\x6c\xb0\x35\x66\xb8\xdd\x36\x5f\x75\x8f\x1d\xca\x75\x08\x65\x09\x9d\x2c\x0e\x9d\x64\xe7\xaf\xdd\x0d\xea\x6b\xda\x43\x1b\xd0\xbf\x07\x96\x8f\xf2\x4c\x2d\xb3\x9d\x30\x37\x54\xf6\x7a\xc6\x7e\xa0\x50\x46\x8c\x15\xdd\xc1\xd2\xb3\xd9\x3f\xf0\xcb\xa1\x28\x1f\xd6\x7e\x67\x31\x65\x72\x06\xdb\x9a\x82\x6f\x32\xe8\xec\x23\x2c\xcf\x42\xa2\x38\x07\x49\x51\xf0\x98\x29\xd3\xde\x20\x90\xa2\x70\x9c\x87\x5e\xd0\x8f\xed\x1a\x70\x58\xb3\x54\x35\x19\x14\xf0\x59\x94\xd0\x54\x12\x25\x99\xbb\x2d\x35\x42\x04\x6a\x50\x8f\xf4\xc8\xe0\xe4\xd5\x99\x23\xd6\xec\x16\xbd\x76\x37\xa9\x35\x39\x83\x2b\x49\xd9\x3b\x8c\xbd\x56\xc6\xaf\x16\xa5\xd5\x3b\x1f\x24\xed\x18\xe5\xc2\x9c\xd3\x62\x53\x0b\xff\x44\xd0\x8f\x3e\x4b\xd0\x99\x76\x74\x3e\x6a\x10\x88\x5b\xd4\x9d\x04\x21\x28\x79\x4a\xd9\xc5\xc2\x3d\x0b\x22\x4b\x3d\x0a\x62\x47\xa9\xc3\xd6\x76\x4e\x44\x2d\x94\xcb\x91\xed\xdb\x72\xe4\x44\x4c\x6a\xdf\x55\x61\x77\x6d\x3f\xc8\xa8\x60\x42\xa6\xb6\xf4\x4f\x34\xd4\xfd\xe3\x09\xc1\xfe\xeb\x33\x82\xfd\x21\x77\x96\x0b\x09\xc4\x94\x9d\x74\x30\x97\x2b\x5d\x42\xb9\x4e\x75\xad\x53\x4e\xd7\xba\x16\x17\xd4\x05\x60\x57\x9b\x53\x4c\x31\x99\x83\x9e\x68\x42\x8a\x28\xac\x1a\x25\x41\x00\x3c\x07\x36\xb4\x2f\xbd\xaa\xb9\x20\xca\x9d\x72\x21\x66\xc0\xc9\x98\x04\x70\xaf\x19\x96\xdc\x0f\xd8\x9a\x71\x2e\x52\x8b\x92\x94\xab\xf4\x90\x3b\xcf\x13\xd2\x0c\xe3\x24\xd9\x6c\xe6\x3c\x91\xa8\x1b\x50\x9a\x3e\x2e\x3b\x44\x8f\xc0\x9c\xc5\xe2\x5d\x54\xb5\x58\xd0\x13\x2a\x5e\x51\xb4\x1f\x25\x05\x94\xb6\xe6\x6d\x93\x5a\x25\x58\x60\xa3\x02\x03\x4c\x93\xc5\xa2\x5f\x3d\x9b\xb3\xf1\x34\x77\x09\x45\x02\x92\x60\x65\xa9\x1a\xb5\x72\x68\x09\x83\xe2\x28\xa1\x67\xf0\xfe\x63\xad\xa2\x29\xb1\x1f\x82\xe5\x06\xb2\x2b\x7c\xd0\x8e\x5c\x2c\x86\xcf\x07\x98\xf8\x60\xd2\x06\x8a\x8a\x16\x29\xa7\xa0\x3d\x58\x30\x43\x51\x59\x76\x26\x16\x68\x65\xd4\xd0\xd4\x59\xbe\xca\x29\x81\x3e\xa7\xb9\xc3\x6e\xb8\x49\xa0\xa7\x8b\x30\x8d\x4a\xb0\x5e\x46\x9f\xc3\x13\x32\x68\xb3\x5f\x44\x6f\x58\x47\xf6\x35\x07\xe8\xce\xe3\x7c\x71\xff\xf0\xfe\x8d\x73\x94\xfb\xc8\x0f\xbf\xf7\x70\x1a\xe7\xd9\xd9\x13\xaa\x1a\xa6\x54\x20\xd4\xbc\xeb\x9e\x8c\xaa\xb2\x88\x15\xf8\x18\xe6\x6a\xd2\xce\xd0\x41\x67\x06\xcd\x65\x9f\x74\x1e\x11\x8b\x46\xe5\xbe\x8d\xe8\xec\x17\xa6\xc2\xb3\xdd\xf7\x32\xb9\x7f\x56\x62\xc6\x4f\x3e\x5d\xd4\xdf\x6d\x8b\x40\x5d\x5e\x58\x0e\xe7\x03\x4b\x3d\x88\xb6\x43\xb3\x5a\x9c\xaa\x98\xce\xf3\x50\xa0\xe2\xcb\xa1\x70\x1e\x09\x35\xee\x83\x0e\x89\xad\xd7\x4a\x9d\x59\x51\x39\x40\x3e\x88\x2a\x5e\x9b\x29\xd4\x9e\x77\x51\x7b\x94\x40\xd3\x83\xab\xb3\x99\x65\x6b\x14\xb9\xdf\xe3\x20\x11\x7e\xa8\x98\x34\x3b\xc8\xf2\x0a\xda\x7f\x63\x4d\x9c\x2a\xa2\xe9\xa0\x3e\x3d\xb6\x7b\x97\x4b\x9a\x93\xfb\x6d\x1a\x97\x23\x52\x3a\xc7\xb5\xb5\xc5\x41\x7d\xcd\x2c\x27\xd0\xf5\x4e\x46\xce\x55\x50\xa0\x17\x98\x06\x65\xa7\xe1\xe4\xdb\x0f\x95\x20\x9a\x0f\x6a\x12\x71\x33\xab\x35\x80\x57\xee\x13\x26\xe8\xa9\xef\xe1\xd7\x9f\xff\x8f\x07\x55\x4c\xad\x6d\x81\xe1\x45\x57\x5b\xb4\xb4\x20\xed\x26\xed\x1a\x2d\x62\x7b\x7c\x8f\x8c\x8c\x8d\xff\xbb\x96\x71\x23\xa5\xed\x7a\x83\xb7\xd7\x26\x87\xe8\x5f\x31\xec\x03\xe8\xff\x0f\x0e\x7b\x79\x77\xdc\xc7\x86\x81\x1f\x79\xbe\x8f\xbd\x06\x3f\x6c\x5c\x70\xcd\x95\x92\xee\x5c\x73\x70\x3d\x06\xc9\x0e\xe8\x12\x5f\xe3\xc8\x8a\xfc\x30\x05\x5d\xd5\xa6\xa2\x8e\xd0\xc6\x22\x9a\x2b\x29\xe0\xdf\x07\x3e\xbd\xda\xe1\x38\x9a\xdf\x3f\x38\x9c\x47\x29\x8a\xaa\xb4\x9e\x8c\x07\xf8\xff\x15\xba\xb3\x4e\x48\xfc\xf0\xae\x88\x37\x55\x98\x3b\xd5\x56\x04\x6d\xb3\xcc\xae\xe8\xf1\x2d\x1f\xbd\xb4\xf2\x17\x8e\xde\x35\xd9\xe8\x97\xbf\x68\xf8\xd9\xdb\x5f\x78\xf2\xa2\x59\x7f\xc8\xf0\x97\xaf\xc7\xff\xbe\xe1\x78\x6a\x77\xf9\xf5\xb9\xdd\xe5\x41\x05\xa5\x5a\x0c\x2a\xa8\xc5\x82\x10\x73\x13\x94\xd9\x52\x87\xbf\x61\x71\x9c\xd3\xa1\x9e\x79\x17\x46\x3e\x70\x3f\x49\x5f\xe4\xa5\xa1\x32\x42\x33\x77\x12\x5a\x86\xa9\x6d\xd5\x63\x22\x4a\xf0\x32\x01\x4e\x7e\xd4\xe6\xf2\x3f\xa7\x9b\x59\x74\x03\x63\x4c\x4e\x69\x8b\xda\x25\x88\x99\xb7\x2c\x79\x83\x43\xae\x79\xec\x4e\xd9\x81\xf0\x62\x32\xef\xe3\xdb\x97\xbb\xe7\x24\xbe\x81\x37\x81\x6d\x01\x62\x57\xa8\x5d\x8d\x9b\xb9\x28\xfb\x1b\x21\xd5\xcb\xfb\x30\xf5\x1b\xe5\xc3\x58\xf6\x1a\xfb\x49\x14\x92\xe9\x26\x29\x7e\xa4\x9e\x3f\xab\xcc\x40\xe1\x44\x2c\x08\x9e\x38\x5f\xcd\xe3\x66\xe7\x8e\x2b\x89\x52\x1b\x2f\x2e\x66\xe8\x76\x67\xe6\x14\x7d\xe7\x50\xbf\x1b\x5e\x36\xd4\x60\x77\xc8\x6e\x9d\xb4\xc4\x5b\x19\x05\x42\xc2\x7c\x18\x88\x3f\x18\x96\xcc\xa5\x28\x9d\x01\x4a\x68\x8b\xb3\x46\xa7\x53\xc4\x6d\x7c\x10\x9d\x8f\x36\xe7\x0b\x88\x1c\x1a\x99\x25\xe6\x81\x3a\x15\xf1\x71\x95\x8a\x9e\x35\x81\x78\x7d\xcb\xc8\xc8\xeb\xc6\x07\xd1\xd7\x13\xe9\x5b\xf4\x4f\x90\xef\x17\x9e\x90\x40\x85\xd6\x8c\x19\x72\xaa\xb8\x8d\xb6\xb9\x5a\xd4\x6b\xb6\xaa\x6d\xfc\xf5\x35\x2f\x3a\xae\xe5\xac\x56\x62\x5e\x9d\xe7\x9e\x49\x77\x33\x42\xec\x6b\x1e\xb6\x2d\xf2\x6e\xe0\x4a\x21\x88\x8d\x7b\x74\xdc\x6f\xdb\xba\x95\xdb\xba\xcb\xdb\xba\xf1\xf6\x18\x2e\x5b\xf4\x87\x82\xc7\x09\xda\x17\x7b\x54\xc7\x7a\x70\xeb\x49\xfa\x93\x5d\x8f\x7a\x5b\xb3\xe0\xc6\xc9\xf3\xad\xd6\x1d\x4c\xb0\xcd\x67\xdb\xce\x5f\xf1\x49\x78\xac\x59\x79\xce\xd3\xfb\xd4\xe5\x64\xe6\xf9\xd9\x24\xf7\x29\xcf\xf9\xbf\xf9\x82\xb0\xf5\x93\x7b\xf0\x75\x72\x3c\xac\x9d\xb5\xa0\x70\x87\x6c\xa9\xf9\x13\x6f\x97\x9d\xb7\x98\x2b\xf2\x58\x4b\x14\x2b\xd1\xe2\xdf\x2f\x27\x29\xd2\x7d\x71\x9f\x93\xad\x6f\x6e\x09\x76\x45\x8e\x0f\x9b\x14\x82\x81\x58\xb2\x37\x79\x24\xf0\x95\x45\x19\x2b\xe3\x99\x83\x70\x76\x34\x3d\xa7\x7d\xdf\xce\x17\xfc\x64\xc7\xf4\x43\x3d\x2f\x9d\xda\x1d\xc8\x25\x9d\x50\x4d\x48\xb2\xe8\x27\x3a\x44\xfe\xf1\xd4\x21\xf2\xeb\x37\x3b\x44\x4a\xcf\xa1\xa5\xbe\xf7\x00\x41\xb7\x9c\xbd\x9d\x91\xa5\xd7\x61\xeb\xbf\xf7\x20\xd9\xfc\x65\x95\x00\x3a\xf7\x68\x2e\xe2\x9d\x0a\x38\xab\x5d\x3d\xc4\xf4\x3d\xe9\x8b\x4c\x0a\x84\x2c\x3d\x16\x02\x23\x1a\xb8\x71\x03\x70\x43\xf8\x09\x44\xc0\xf6\x13\x42\xa9\x55\xfb\x11\x65\xc9\x8f\xac\xf1\xf6\xf4\x6c\x35\xe7\x50\x27\x70\xc4\xe0\xa0\x3f\x2c\x32\xf6\x94\x23\x20\x26\x35\xb7\x8d\x24\xe3\xd9\x36\x05\x86\xb7\x9d\x6e\x36\x48\x99\xa9\x93\x1c\xb3\xca\xc5\xdb\x00\x20\xcd\x89\x45\x61\x36\x13\xb4\xd4\x80\x10\x1f\x31\x83\xb7\xc5\xfc\xee\x2d\x4e\xf0\x72\x65\xdd\x72\xe9\x21\x17\xc4\xa0\x29\xd0\x3f\x66\x18\xc1\xbc\x12\x65\x98\x55\x28\xbb\x2b\x03\x4d\x7f\x21\x97\x74\x28\x63\x39\x0c\x9d\x51\x9e\xc5\xd0\xbb\xcd\x24\xd5\x50\x53\x0a\xad\x1d\xfc\xf3\x89\x67\xfb\x84\xea\xfe\xf5\x5b\x9c\xee\xb3\x8c\x50\xd3\xd8\x90\x82\xc9\x3a\xaf\xb1\xca\xc6\x6c\x64\x35\x1b\x8a\xe2\x57\x4d\xd7\x58\xe6\x26\x7d\x86\xdc\x0b\x64\x1d\x73\xde\x14\x7a\x87\x4c\xe8\x25\x9b\xb9\x16\xda\xa4\xd7\x97\xda\xa0\xde\x97\xb6\x9c\x10\x66\xd8\x30\xac\xdd\x02\x13\x53\x82\xe4\xf4\xfa\x32\x53\xb7\xa0\x6b\x7d\x3f\x53\x4e\x32\x42\x58\x52\xf3\xb4\xbb\xf3\xfa\x22\x60\x55\x6e\x75\x13\xf6\x7c\x6e\xcc\x67\x4e\x1b\x72\xa6\x30\xc4\xe2\x9a\x91\xbc\x7a\x08\xd2\x74\x24\x27\xcb\x3d\x39\xe9\xe9\x74\xa6\x27\xfb\x3d\x3d\x79\xe1\x8b\xd8\xce\xec\x65\x5c\x69\xd4\xe6\xaa\x04\x14\x3b\x86\x55\x2c\xc7\xfa\xfb\xe6\xd3\x37\x5f\x5c\xc3\x71\xfc\xe3\xf1\x37\x1f\x4f\x86\x27\xf8\x9f\x8c\x07\xba\xfc\x19\x40\xd0\xff\x7c\x82\xff\xfe\xf6\x0c\xff\x7d\x68\x0a\xce\xb9\x84\x9c\xb0\xf1\xa9\x39\x3e\xa0\x21\xb4\x90\x7e\x9e\xa2\x26\xcc\x97\x31\x43\x5c\x9d\xab\xbd\x06\x5b\x51\xd9\xb9\xc4\xbc\xf3\x07\x35\xb7\xee\x3e\x14\x0a\xec\x58\xc6\x29\x03\x42\x81\x56\x5f\x12\x3c\xda\x5c\x42\xb5\x8e\xf9\x38\x3c\x33\xa2\x4f\xf0\x5f\x3e\xdb\xc0\x82\x58\xc8\xcb\x3f\xab\x2e\xba\x3b\x59\x75\x99\xc1\xb7\xfa\xbe\x7a\xcf\xce\x17\xd5\x0b\x68\x9e\xd8\xb7\xc7\xeb\x39\xed\x4a\x47\x23\xbb\x97\x04\x04\x38\x76\xfc\xe9\xc5\x3f\x47\xcb\xc8\xe1\xf2\x2f\xab\x12\x5f\x7d\x5b\xcb\x60\x24\xb7\x0d\x64\x94\x60\x41\x79\x11\xec\xbc\xb3\x40\xe4\xb1\xb7\x10\x9b\x53\xe0\x59\xc4\x52\x64\xa9\x37\x7b\x21\x97\xb2\xbf\xde\x3c\x71\x38\x45\x5d\xf7\x5e\x0d\x57\xd4\x06\x97\xe0\x21\xe2\x60\x80\xdd\x82\x6f\x66\x1e\xa5\x1e\x99\xde\xcd\x8e\x72\x6b\x9f\x41\x26\xb5\xae\x03\xca\xa1\x7b\xbb\x2b\x2d\x3b\x43\x3a\xb8\xcc\x40\xe5\x65\x36\x00\xce\x12\x5d\xbf\x0a\x47\x67\xd2\x00\xfa\xa9\xb1\x32\x3c\x02\x51\x5a\x20\x0a\x70\x0d\x20\x0b\xf1\x0b\xe0\x03\x61\x04\x24\x3c\xa7\x1e\xc8\x27\x3b\xa7\x7e\x23\x77\x9f\xa2\x6a\x55\x6c\x82\xdb\xb6\x48\x82\xb5\x3c\xf8\xab\xed\xec\x40\x20\xf9\x64\xf7\x92\x28\xfd\x3d\x8a\xf6\x63\x53\x49\xf9\xe8\x25\xc4\x5e\x76\x34\x21\x06\x9c\x2b\x25\xd7\x89\xc6\x22\x25\x7e\x39\x34\xc1\x81\x78\x7d\xc9\x23\x07\x20\x95\x88\xe4\xe0\x54\x76\x78\x6d\xfd\x42\x76\x7c\x24\xb0\xd5\x81\x26\xc2\x8e\x13\xd4\xf9\x4a\x40\xb6\x17\xa9\xff\x03\xde\x01\x28\xe7\xd0\x2a\x84\x1a\x46\xef\x44\x8c\xf5\x30\xbe\x9c\xfd\x62\xea\xbb\xd2\x1d\xa6\x33\x0e\xc7\xf0\x08\x3b\xd3\x3a\x69\xc8\x71\xb8\xa6\x25\x50\x8d\x63\x57\xca\x9b\xe4\x8e\x3d\x34\xe0\xdd\x06\x59\x13\x49\x85\x97\xb3\xa7\xa6\xd1\xcb\x43\x0f\x2f\xdb\x4c\x30\x07\xa9\x8e\x5d\x86\x4d\xc4\xc2\xd2\xe0\x51\x5d\x5a\x75\xf7\x58\xc0\xf6\xc1\xca\xc6\x19\xdc\x59\xf6\x67\xa0\x44\x51\x14\xf9\x6c\x1d\xb8\xd9\xcd\x95\x3d\x4e\xad\xf7\xb4\xc0\x76\x4c\x86\x99\xc1\xce\xa1\x41\x20\xb1\x66\x64\xb0\x27\x80\x3b\x41\xf2\x51\x49\x99\x0a\xb0\x18\x18\x27\x74\x6f\xd3\xcb\x82\xae\x8b\xca\x55\x48\xb8\x8b\x26\xd8\x87\x99\x48\xaa\x09\xe2\x4c\xf3\x80\xd5\x79\x2d\x1c\x90\xa4\x7d\x49\x8d\x47\xff\x7a\x49\xcb\x75\xf1\xc6\x8b\x4c\x6e\x49\x6c\x4c\x10\xa5\xd1\xd3\xf7\x93\x99\x03\x94\xd3\x2f\x80\x62\xf5\xcc\x79\xd5\xca\x0e\x98\x0b\x92\xa2\xec\xaa\x01\x06\x0a\x57\xa2\xe3\x88\xe6\x8a\xd8\x9c\x0e\x92\x59\x03\x6b\x01\xbc\x75\x03\x1f\xb3\xf0\xa0\x95\x0a\x16\x64\x23\x30\x87\xca\x7c\xa3\xac\x61\xa0\x2e\x23\x66\xdd\xcb\xa9\x3d\x29\xcd\x02\xbb\xc3\x55\x79\x1a\x88\xf2\x34\x80\x40\x2e\x91\x63\x4f\x74\xf1\xb8\x3a\xd1\xea\x48\x4b\x19\x40\x2c\xf4\xfa\xb2\x9a\x99\xf6\xca\x05\x34\x6c\x76\xf6\x83\x25\x07\x73\xef\xf0\x62\x72\x19\x0f\x2a\xf2\xbc\x5e\x5e\x8a\xc5\x16\xaa\xe0\x5f\xb6\xbb\x3b\xef\xf7\xd2\x6b\x71\x0c\x76\xa7\x83\xc4\x4e\x00\x81\xcb\x02\x2e\x7d\x71\x7b\x30\x50\xbe\x2c\xab\x8a\x87\x2f\xa2\x9c\x49\x70\xca\x5c\x33\x1a\x03\xb3\x46\x2f\x35\xe5\xbd\x70\xc1\x3b\x98\x82\xe0\x29\x59\x05\xf3\xea\x60\x52\x25\xf6\xd1\x96\x0a\x32\xe5\xe2\x3a\x59\xc3\x16\x7e\x09\xd9\x51\x10\xe0\x46\x05\xa3\x8c\x8c\x94\x42\xad\x90\x17\xb6\x93\x3b\x0b\x8a\x0e\x60\x81\x8b\x38\xa9\x97\xd8\xc2\x42\x52\xe6\xa5\x4a\x9f\x3b\x6b\x05\xaa\x66\xa9\x0a\x83\x99\x78\xae\x4f\xe2\x3e\x5e\x44\x80\xd4\x63\x8a\xc2\x56\x24\x6b\x13\x3c\x79\x7a\xf7\x98\x8c\xb0\xac\x8d\xee\xae\x6f\x20\x4c\xf8\x17\xa7\x74\xb4\x3d\x00\x64\x8d\xf3\xc0\x02\x28\xe3\xa8\x23\xcc\x83\xa0\x3c\xbb\x9a\xa1\xa1\x4f\xc5\xcd\x22\x95\xe0\x83\xdd\x62\xfb\x52\xa5\xd9\xea\xe7\xc6\x56\x9d\x9a\x1a\xf7\xad\x9a\xe9\x1a\xc0\xed\xb7\x8b\x3d\xed\x1c\x1c\x9b\x76\x78\x43\x1a\x94\x77\x81\xfb\xcd\x79\x67\x1f\x94\x2b\x0d\x96\xb9\x80\x6c\xc5\x77\x20\x9c\xc3\xe4\xc6\x67\xd1\x34\x08\xa0\x43\x99\x66\x14\x2d\xee\x85\x2b\x20\x47\xa1\xe9\xfa\x8c\x3f\xf2\xd4\xab\xf3\xdb\x47\xbd\x3a\xdf\x1d\xea\xa9\x67\xe6\xb7\xa7\x9e\x99\xcf\x0e\xf5\xd4\x2c\xf2\xdb\x47\xcd\x22\xdf\x1d\xea\xa9\x25\xe1\xb7\x8f\x5a\x12\xbe\x3b\xd4\x13\xb2\xfd\xb7\x8f\x90\xed\xdf\x1d\xea\x09\x17\xfe\xdb\x47\xcc\x99\xdf\x1d\xea\x09\x39\xf7\xdb\x33\xb9\xe3\x77\x87\xfa\x3f\xdb\x7c\xc2\x4a\xfd\xf6\xcc\xeb\xf7\xc9\x53\x7a\x42\x84\xfc\xf6\xcc\xea\xf6\xc9\xa1\x9e\x2a\xa2\xbf\x7d\x54\x11\xfd\xee\x50\x4f\x95\x8d\xdf\x9e\x19\x9d\x3e\x39\xd4\x53\xae\xf3\xb7\xe7\x5c\xe7\x27\x87\x7a\xca\x27\xfc\xf6\x51\x3e\xe1\xbb\x43\x3d\x85\xaf\xbf\x7d\x14\xbe\x7e\x63\xa8\xed\xb7\x7f\xff\xf7\xdf\xf6\xff\xf7\xa7\xed\xab\xc1\x6a\xfa\xa8\x4f\x91\x83\xfd\xeb\xbf\xfc\xaf\xff\xe7\xff\x3e\xfe\xed\xf2\xaf\xff\xf2\xeb\x6f\xff\xeb\xdf\xff\xed\x5f\xff\xe5\xdf\x6f\xff\xd7\xbf\x5d\xfe\xbf\x00\x00\x00\xff\xff\xae\xf1\x3b\x5f\xdb\xc7\x06\x00") - -func uiAppLibFontAwesome470FontsFontawesomeWebfontSvgBytes() ([]byte, error) { - return bindataRead( - _uiAppLibFontAwesome470FontsFontawesomeWebfontSvg, - "ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.svg", - ) -} - -func uiAppLibFontAwesome470FontsFontawesomeWebfontSvg() (*asset, error) { - bytes, err := uiAppLibFontAwesome470FontsFontawesomeWebfontSvgBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.svg", size: 444379, mode: os.FileMode(420), modTime: time.Unix(1, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -var _uiAppLibFontAwesome470FontsFontawesomeWebfontTtf = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\xbd\x0b\x7c\x54\xd5\xb5\x3f\xfe\x5d\xfb\xbc\x66\x26\xf3\x3e\xf3\x48\x26\x93\x64\x9e\x67\x02\x89\x01\xe6\x19\x79\x24\x23\x20\xaf\x04\x44\xa5\x95\x22\x62\x44\x50\x14\x50\x54\x14\xa4\x3e\x8e\x95\x5a\x54\xaa\x88\x68\xa9\xb5\x36\x3e\x0b\xb7\xd6\x72\x5b\xed\xd5\x16\xbd\xd3\x97\xb5\xad\x5a\x5b\xb9\xd6\x5a\xdb\x9b\xb6\xda\x7a\x2b\xda\x40\xad\x57\x21\x73\xf2\xff\x9c\x73\x66\x92\x49\x00\x6d\xef\xfd\xfd\x7e\x9f\xff\x7c\x72\xce\xd9\xef\xbd\xf6\xda\x6b\xef\xbd\xd6\xda\x6b\xef\x80\x00\x38\xa0\x82\xc3\xe2\x39\x73\x96\x2c\x5c\xfb\xcc\xdc\xa7\xc0\x6e\xda\x01\x20\x3c\x77\xf6\xa9\x73\xd8\x20\x78\xb0\x9b\x36\x00\x88\x9c\x76\xe6\xa4\xf4\xb6\xf4\x96\x22\x40\x4b\x01\xf4\x9d\xbf\xfe\xbc\x0d\xb6\x7f\x9f\x7a\x3d\x60\xdf\x03\xb0\xc3\x17\x9e\x77\xc5\x86\xe1\x61\x70\x60\x37\xad\x01\x60\xb9\x70\xdd\xd5\x17\xdc\xfe\xdf\x8f\x2d\x04\x42\x8f\x82\xf5\xee\x5f\xb3\xfa\xbc\x55\xee\x9b\xdf\x3c\x09\xc0\xeb\x00\xf2\x6b\xd6\xac\x3e\xcf\xc5\xd9\x9e\x00\xc8\x07\x20\xb1\x66\xfd\xc6\xcd\xa7\x5e\x5d\xff\x59\x80\x9e\x04\x6c\x83\xeb\x2e\x3d\xff\x3c\xf6\xf7\x07\x96\x03\xae\x7b\x81\x3a\xf7\xfa\xf3\x36\x6f\xe0\xda\x59\x18\xa0\x4e\x1d\x9e\x4b\xce\x5b\xbf\xfa\x8f\x5f\xb8\xf5\x51\xb0\x0b\xd7\x00\xfc\x4d\x1b\x2e\xbd\x62\xe3\x37\x6e\xff\xd2\xfd\x60\x6b\x07\x81\xd0\x95\x46\xdb\x78\xfa\xd9\x8e\x9f\x6f\xfe\xd4\xb9\xae\xe9\x7f\x47\x9d\x04\xfd\x77\x20\xf3\x42\xba\xfa\x1d\x1e\x1e\x86\x95\x44\xdd\x6b\x01\x33\x72\x40\x7f\x8b\x18\x06\x60\xc5\xf0\xf0\xf0\xb0\x95\x2a\xe1\x23\x3f\xf6\x84\x1e\xc2\x7e\xc0\x1a\x90\x32\x03\x8c\x5c\x7a\xaa\x62\x25\x09\x27\x5e\x44\x3b\x20\x00\xfc\x76\x3e\x03\xe0\x26\xf3\xcb\xae\x00\xe8\x16\x7c\xc4\x6f\xc3\xd5\x97\x5f\x81\x22\x22\x7f\xaf\xc0\x20\x9a\x95\xd7\x42\x10\x01\x71\x2a\x36\x18\x15\x7f\x02\xa0\x12\xa0\xb7\xec\x1f\x78\xce\xd1\x5b\x2a\xaa\xa3\x61\xba\x5b\x7f\x04\xdd\xaf\x8e\x8d\x93\x80\xab\x05\x15\x97\x54\xd3\x88\xd5\x3c\x00\x04\x33\x2c\x24\x56\xfc\x92\x8a\x74\x35\xcd\xf1\x1e\x3d\x1f\x6f\x96\x5d\xd4\xd3\x71\x15\xbf\x51\xb7\x3a\x5a\x6e\x05\x06\x9b\x50\x85\xb3\x26\x0d\x5f\x53\xff\xc7\xb6\xb5\x02\x0b\x8f\xd1\x6f\x6d\x7b\xa5\xb1\x61\x5b\x84\x5a\xd8\x6b\xe2\x45\x06\x12\x80\x7b\x04\x60\xd9\x89\xda\x76\x9c\xa7\x58\x29\x27\xa7\x3f\xd2\x68\xb8\x43\x50\x47\x70\xb7\xa5\x16\x37\xc2\x58\xbc\xbb\x85\x71\x7d\x51\x49\xb7\xcc\x78\xd4\x9a\x76\x98\xb8\x2c\x4a\x06\x01\x8f\xc5\x77\x15\x0f\x35\xf5\x83\x53\x6b\xf0\x30\xda\x27\x23\xed\xae\xfd\x56\x61\x15\x46\xe3\xdb\x79\xe0\x5c\xb1\xa6\x6f\x04\x75\x4c\x7d\x7a\xbb\x59\x2d\xcc\x27\x7c\x54\xf8\x2b\xed\x16\xc6\xf5\xbd\xbb\xf2\xbd\x42\x02\xa8\x92\x86\x1f\x4f\x4b\x12\xe0\x1a\x03\xb7\x8a\x46\xa9\x8a\xf7\xca\x63\xad\x94\xc9\x57\xfa\x92\xa9\x28\xb2\x0a\xde\xaa\x61\xfc\x38\x58\x25\xa0\xb5\x96\x8e\x38\xd5\x84\x61\x3c\xcd\x48\x35\xed\xaf\xe9\xbb\x62\x2d\x4e\x46\xe2\x54\xb3\x7f\x2a\xed\x1a\x81\x91\x07\x4e\xe2\x01\x07\xaf\x62\xa1\xfe\x30\x15\x27\x31\x75\xd4\x5f\xad\x83\xaf\x8c\x17\x71\x2c\xfd\x16\xc5\xf1\x34\x3d\x8e\x5e\x6a\xc6\x66\x35\xae\x58\x19\x7f\x0e\x49\xc5\x49\x95\xbc\x4c\x50\xc1\xaa\x38\xa9\x7c\xfb\x74\x3c\x31\x15\x2b\x45\x40\xd0\x1f\x49\x05\x89\x15\x58\x04\x15\x8e\xea\xf8\x14\x54\x70\xa2\x8a\xc4\xf1\xfa\xbb\x82\x17\x7b\x75\xec\x57\xc3\x48\x1d\x83\xef\x7c\x35\x9c\x07\x38\xfd\xf9\xb8\xf1\x55\xd3\x77\x59\xee\x33\x00\xcf\x81\x17\xaa\xe3\x08\xe8\xac\xa1\xb1\x98\xfe\x48\x30\x1f\xb1\xfa\xd4\xcc\x67\x22\xd0\xa8\xd3\xe0\x38\x1a\xae\x1b\xdf\x8e\x4a\xbd\xb3\x8d\x31\x04\x70\xfa\x53\xc1\x67\x75\x3c\x57\xd3\x8d\xe4\x15\x80\xf6\xca\x77\x64\x1e\x92\x2a\x61\x95\x7e\x88\x48\xea\xf0\x70\xed\x9c\x2a\x00\xfe\xe3\x8c\x95\x91\xb1\xaa\xa7\xb1\x8c\x9b\x8f\xab\x63\xdf\x6a\xa6\x5f\x2f\x8e\xa7\xe9\x4a\xda\xea\xfc\x20\xbd\x8f\x09\xe3\xc7\x53\x05\xce\xea\xdc\x6c\xb4\xcb\x5a\x9b\x67\xf4\xeb\xb6\x8c\x86\x47\xaa\xfd\x61\xfd\xc7\xe7\x46\xfd\x49\x55\x61\xae\xc0\x1f\x91\x00\xb9\xa6\x8e\xd9\x15\x78\x4e\x96\x00\x6f\x4d\xba\x5a\x98\xbb\x04\xa0\xfe\x38\xf3\xc2\xf8\xa7\x41\x02\x56\x89\xc0\xa7\x2a\x70\x4f\xac\x94\x63\x95\x80\x94\xb5\x02\xfb\xf8\xc7\x02\x38\xf5\x47\x50\x8f\x5f\xbe\x65\xdc\xb7\x8a\xdf\x9a\x7e\x30\xdc\x02\x50\x67\x19\xd7\x7e\xcb\x38\xb7\x65\xbc\xbb\xd2\xbf\x15\xbf\x2c\xd6\x94\x59\xa1\x71\x56\xa5\xab\x9a\xf9\x96\xe9\x63\xd4\x02\x88\x95\x38\x66\x81\x39\x2e\x84\x71\xf8\x13\x6a\xca\xb2\x8c\x83\x61\x3c\x4d\x58\x3e\xc0\x12\x6b\xc5\x7f\x3c\x3c\x55\x69\xdb\x32\x8e\x06\xaa\xf1\xd2\xc7\xd0\x86\x34\x0e\x8e\x11\x1a\x78\x62\x4c\xdc\x08\x3d\x0a\xc0\x05\x46\xde\x27\x47\xcb\x1f\x69\xff\xd8\x3e\x09\x88\x80\x53\x02\x9a\x8e\x47\x17\x95\x79\x3c\x69\x39\x7e\xf8\x19\xe3\xe0\x3b\xd5\x3a\x96\x56\xc7\xb7\x2d\x71\xbc\x76\x55\xca\x8e\x8a\xc0\x5a\x1e\x68\xad\x84\x73\xe3\x79\x18\xb1\x4a\xef\xaa\x41\x8f\x5c\x75\x8c\x57\xca\x1f\x49\x2f\x0c\x23\x29\x56\xd6\x23\x61\xec\xfc\xe0\xaa\xa5\x11\x71\xec\x9a\x9f\xb4\x8e\xad\xcb\x3f\x8e\xbe\x8e\xa1\x8d\x9a\xf0\x26\x6b\x0d\x5e\xc6\x3f\x35\xbc\x05\x8d\x1f\x17\x23\x0f\xab\xa1\x75\x15\x93\x75\x9c\x57\x60\x9c\x54\xc3\xa3\x28\xd2\x47\xb1\xc4\x15\x8e\xba\xf2\x84\x2b\x0c\xf1\x41\x70\x86\x2b\x0c\x9e\x5e\xd2\x19\x67\x14\x21\x60\x32\x22\xd8\x8b\xc7\xf0\x38\x9e\xc5\xab\xd1\x58\xac\x39\xd6\x37\xe8\x1c\x6c\x1e\xec\x1a\x5c\x34\xb8\x62\xf0\x92\xc1\xeb\x06\x6f\x1b\xbc\x6f\xf0\xb1\xc1\x6f\x0e\xbe\x38\xf8\xbb\xc1\x77\x07\xb5\x43\xce\x43\xcd\x87\x3a\x0e\x75\x1d\x5a\x74\x68\xc5\xa1\x4b\x0e\x5d\x77\xe8\xb6\x43\xf7\x1d\x7a\xec\xd0\x33\x87\x5e\x3c\xf4\xbb\x43\xef\x1e\xd2\x0e\x3b\x0f\x37\x1f\xee\x3a\xbc\xe8\xf0\x8a\xc3\x97\x1c\xbe\xee\xf0\x6d\x87\xef\x3b\xfc\xd8\xe1\x67\x0e\xbf\x78\xf8\x77\x87\xdf\xfd\x3b\x86\x87\x0d\x7e\x7c\xcf\xb8\x1a\x31\xe8\x1e\x8c\x0e\x16\x07\x17\x0f\xf6\x0d\x6e\x18\x54\x07\x77\x0c\xf6\x0f\xee\x1b\x2c\x0d\xbe\x34\x38\x30\x38\x78\x08\x87\xdc\x87\x22\x87\x26\x1f\x2a\x1e\x5a\x7c\xa8\xef\xd0\x86\x43\xea\xa1\x1d\x87\xfa\x0f\xed\x3b\x54\x3a\xf4\xd2\xa1\x81\x43\x83\x87\x71\xd8\x7d\x38\x7a\xb8\x78\x78\xf1\xe1\xbe\xc3\x1b\x0e\xab\x87\x77\x1c\xee\x3f\xbc\xef\x70\xe9\xf0\x4b\x87\x07\xf4\x1a\x87\xff\x38\xbc\x7c\x78\xe9\xf0\x99\xc3\x33\x87\xa7\xfc\xee\xad\xdf\xbe\xf3\xdb\x47\xdd\x0e\xb7\xdd\x6d\x73\x5b\xdd\x16\xb7\xe4\x16\xdd\x82\x9b\x77\x73\x6e\xe6\xfa\xbb\xeb\x3d\xd7\xdf\x5c\x87\x5d\x87\x5c\x83\xae\xbf\xba\xde\x75\xbd\xe3\x3a\xe8\x7a\xdb\xf5\x17\xd7\x7f\xb9\xde\x72\xfd\xd9\xf5\x27\xd7\x9b\xae\x37\x5c\x7f\x74\xfd\xc1\xf5\x7b\xd7\x80\xeb\x77\xae\xdf\xba\x5e\x77\xfd\xc6\xf5\x9a\xeb\xd7\xae\x57\x5d\xbf\x72\xbd\xe2\xfa\x0f\xd7\x01\xd7\xcb\x8e\xef\x8f\x97\x7d\xfe\x5f\xfc\x74\x81\xac\x5a\x2d\xb1\x8a\x7c\x35\x26\x81\x49\x0a\xff\x7f\xf8\x89\x82\x4d\xe2\xed\x16\x6b\xdd\xff\xad\x0a\xda\xff\x07\xcf\x0e\x53\xa6\xa6\xdd\x00\xdb\x08\xb0\x97\x00\xae\x17\xe0\x06\x01\x7e\x09\x20\x26\x00\x71\x00\xb0\xac\x03\xac\x9b\x01\xeb\x4b\x80\x6d\x09\x50\xd7\x0a\xd4\x1d\x00\xec\x5b\x01\xc7\x2a\xc0\xb9\x07\x70\x1d\x00\xdc\x5b\x01\x0f\x00\xcf\xbd\x80\x77\x1d\x20\xb7\x03\xf2\xab\x80\x4f\x05\x7c\x43\x80\x7f\x07\x10\xc8\x02\x41\x37\x50\xbf\x0a\xa8\x7f\x1e\x68\xd8\x00\x84\xe6\x01\xa1\x5d\x40\x63\x02\x08\xaf\x02\x9a\xda\x81\x66\x0b\xd0\xbc\x11\x68\x69\x05\x22\xdb\x81\xc8\x20\x10\xed\x07\x62\x93\x81\x78\x04\x48\xb4\x03\x89\x01\x40\x99\x0d\xa4\xde\x00\x5a\xef\x05\x26\x2c\x01\x26\xea\x4b\xf7\x7e\xa0\xdd\x0d\xb4\xbf\x07\x9c\xf4\x2a\xd0\x51\x04\x3a\x5e\x05\x26\xf5\x01\x93\xf6\x03\x93\x7d\xc0\xe4\x87\x80\x29\xbb\x80\xf4\x0e\x20\xb3\x0a\xc8\x66\x81\xec\x2e\x20\x17\x01\x72\x2a\x90\x7b\x12\xc8\x47\x80\xfc\x72\x20\xbf\x1f\x28\xcc\x03\x0a\x7b\x80\x4e\x3b\xd0\xd9\x07\x74\x3e\x0e\x9c\xdc\x0b\x9c\xfc\x38\x30\x75\x0d\x30\xf5\x20\x30\xad\x04\x4c\xdf\x00\xcc\xd8\x00\x74\x4d\x07\xba\xde\x00\xba\xd7\x00\xdd\xaf\x02\xc5\x79\x40\x71\x3f\x70\xca\x64\xe0\x94\x27\x81\x99\x4b\x81\x99\x1f\x00\xb3\x56\x01\xb3\xee\x05\x66\xf7\x02\xb3\xdf\x00\x4e\x7d\x12\x98\x73\x2f\x30\x77\x32\x30\xf7\x75\x60\xde\x41\x60\xfe\x76\x60\x41\x27\xd0\xf3\x28\xd0\xfb\x06\xb0\x70\x15\xb0\xa8\x1d\x58\xa4\x02\x8b\x0e\x00\xa7\xed\x03\x16\xf7\x01\x8b\xf7\x00\xa7\x67\x81\xd3\xfb\x81\x33\xec\xc0\x19\xeb\x80\x33\xdb\x81\x33\x77\x03\x4b\xfa\x80\x4f\x4c\x06\xce\x1a\x04\x96\xbe\x0e\x2c\xb3\x00\x67\x17\x81\xb3\xb7\x03\xcb\xa7\x03\xcb\x3f\x00\xce\xd9\x0d\xac\x68\x05\x56\xbc\x01\x9c\xdb\x0f\xf4\x6d\x00\x56\xb6\x03\x2b\xdf\x03\x56\xf1\xc0\xaa\x83\xc0\xea\xc5\xc0\xea\x97\x80\x0b\x7e\x08\x5c\xd8\x07\x5c\xb8\x07\xb8\xa8\x17\xb8\xa8\x04\x5c\x3c\x1b\x58\x6b\x07\xd6\x1e\x00\xd6\xa9\xc0\xfa\x22\x70\x49\x3b\x70\x69\x2f\xb0\x61\x2b\x70\xd9\x43\xc0\xe5\xaf\x03\x57\x6c\x06\x36\xba\x81\x8d\x7b\x80\x2b\x67\x03\x9f\xee\x03\xae\x01\x70\xcd\x7e\xe0\x5a\x37\x70\xed\x43\xc0\x75\xdb\x80\xeb\x77\x01\xea\x7e\xe0\x86\x7a\xe0\x86\xed\xc0\x8d\xf3\x80\xad\x3e\x60\xeb\x01\xe0\xb3\x7b\x80\xcf\xbe\x01\xdc\xb4\x0e\xf8\x5c\x11\xd8\xb6\x1b\xb8\xb9\x04\xdc\xea\x06\xb6\x3f\x07\x7c\x7e\x3b\x70\xdb\x3a\xe0\xf6\x79\xc0\x8e\x08\xb0\xa3\x04\xdc\xb1\x04\xd8\x69\x07\x76\xce\x03\x76\x6e\x05\x76\x96\x80\x9d\x43\xc0\x9d\x7d\xc0\x9d\xcf\x01\xbb\x78\x60\x57\x11\xd8\x35\x08\xdc\xa5\x02\x77\x27\x80\x2f\x2c\x07\x76\x2f\x05\xbe\x18\x06\xee\x99\x0d\xdc\xf3\x24\xf0\xa5\xdd\xc0\xbd\xfd\xc0\x97\x97\x00\xf7\x2d\x05\xee\xfb\x00\xf8\xca\xbd\x40\xff\x6c\xe0\xfe\xc5\xc0\x03\xed\xc0\x03\x0f\x01\x0f\x76\x02\x0f\xee\x01\x1e\x5a\x05\x3c\xbc\x1c\xd8\xb3\x03\xf8\x9a\x05\x78\x34\x0c\x3c\x7a\x10\xf8\xfa\x0e\xe0\xeb\x6f\x01\x8f\xa9\xc0\x37\xea\x81\x6f\xec\x03\xf6\xcd\x03\xf6\x0d\x00\xff\xba\x19\xf8\xd7\xe7\x81\x6f\x46\x80\x6f\x6e\x04\xbe\xf9\x1c\xf0\xad\xa5\xc0\xb7\xde\x03\x1e\xdf\x00\x3c\x01\xe0\x89\x55\xc0\xb7\xc3\xc0\xb7\x0f\x00\xff\xf6\x38\xf0\x6f\x83\xc0\x93\x9b\x81\xa7\x36\x02\x4f\x7d\x00\x7c\xe7\xf9\xd1\xe7\xbb\x7b\x80\xfd\x5b\x81\xa7\x8b\xc0\x33\x3c\xf0\xef\xcf\x01\xa5\x1f\x02\xdf\xb7\x03\xdf\xdf\x0e\xfc\x60\x39\xf0\xc3\x08\xf0\xc3\xfd\xc0\x8f\xdc\xc0\x8f\x9e\x04\x9e\xdd\x05\x3c\x37\x19\x78\x6e\x00\xf8\xc9\x2a\xe0\x27\xcf\x03\x3f\xdd\x03\xfc\x4c\x05\x7e\x36\x00\x3c\xff\x1e\xf0\xc2\x2e\xe0\xc5\xcd\xc0\x8b\x6f\x01\x3f\xdf\x07\xbc\xb4\x1d\xf8\x45\x3b\xf0\x8b\x6d\xc0\x2f\x2d\xc0\x2f\xb7\x01\x2f\xdb\x81\x97\xb7\x03\x2f\x1f\x04\x0e\x74\x02\xff\xd1\x0e\xfc\xc7\xbd\xc0\x2b\x7d\xc0\x2b\x6f\x01\xbf\x5a\x07\xbc\x3a\x0f\x78\xf5\x71\xe0\xd7\x7d\xc0\xaf\x7f\x08\xbc\xb6\x04\x78\xed\x49\xe0\x37\xf5\xc0\x6f\x76\x01\xaf\x17\x81\xd7\x9f\x03\x7e\xbb\x0e\xf8\xed\x20\xf0\xbb\xad\xc0\x7f\xd6\x03\xff\xf9\x28\x30\xb0\x1f\xf8\xfd\x3a\xe0\x0f\x1b\x80\x3f\x46\x80\x3f\xbe\x01\xbc\xa1\x02\x6f\x3e\x07\xfc\xa9\x04\xfc\xb9\x1e\xf8\xf3\x41\xe0\xad\x37\x80\xff\x7a\x15\xf8\xcb\xab\xc0\xdb\xaf\x02\x07\x0f\x00\xef\xbc\x04\xbc\xfb\x3a\xf0\xd7\x37\x80\xc3\x3c\xf0\xb7\xf7\x80\xf7\x54\xe0\xef\x59\xe0\x7d\x37\xf0\xfe\xbd\xc0\x7f\xd7\x03\x1f\x2c\x05\x3e\x28\x01\x1f\x26\x80\x23\xeb\x80\xa3\xfb\x81\xa1\x56\x60\xe8\x49\xa0\x6c\x07\xca\x7d\x40\xf9\x71\x40\xb3\x00\xda\x93\xc0\xb0\x05\x04\x1f\x48\x78\x1c\x24\xbe\x07\x92\x3e\x00\x59\x5e\x02\x59\x57\x81\x6c\x6e\x90\x6d\x37\xa8\xae\x1e\x64\xe7\x41\xf6\x87\x40\x8e\x76\x90\x13\x20\xd7\x36\x90\xa7\x1d\xe4\xe9\x07\x79\x9f\x07\xc9\x9d\x20\xf9\x0d\x90\x6f\x07\xc8\xdf\x0a\xf2\x3f\x04\x0a\x2c\x05\x05\x86\x40\xc1\x12\xa8\x7e\x2b\xa8\x61\x33\x28\x74\x0d\xa8\x71\x09\x28\x7c\x00\xd4\x54\x04\x35\x1d\x00\x35\xef\x00\xb5\xf0\xa0\x96\x6b\x40\x91\x87\x40\xd1\x12\x28\xb6\x19\x14\xb7\x80\xe2\xeb\x40\x09\x1e\x94\x78\x1e\x94\x5a\x03\x6a\x7d\x0b\x34\xb1\x17\xd4\xbe\x04\xd4\xd1\x0b\x9a\xb2\x11\x34\xe5\x3d\x50\x7a\x00\x94\x99\x0c\xca\xec\x03\x65\xf7\x80\x72\x1b\x41\xf9\x25\xa0\x42\x02\xd4\x69\x07\x9d\x3c\x0f\x34\xd5\x0d\x9a\x3a\x08\x9a\xb6\x03\x34\x7d\x2b\x68\xfa\xab\xa0\xee\xa5\xa0\x62\x18\x74\x4a\x09\x34\xf3\x39\xd0\xac\xe7\x40\xb3\xef\x05\x9d\x3a\x0f\x34\x67\x1e\x68\xee\x06\xd0\xbc\x79\xa0\xf9\x9b\x41\x0b\x22\xa0\x05\x6f\x80\x7a\x0e\x80\x7a\xfb\x41\x0b\xeb\x41\x8b\x8a\xa0\xc5\x45\xd0\xe9\xfd\xa0\x33\x06\x40\x67\xce\x06\x2d\x89\x80\x3e\xd1\x0b\xfa\x64\x1f\xe8\x93\x07\x40\x67\x2d\x05\x2d\xcd\x82\x96\xf6\x83\x96\xf1\xa0\x65\xdb\x40\x67\xaf\x02\x9d\x3d\x00\x5a\x7e\x0d\xe8\x9c\x57\x41\x2b\xfa\x41\x7d\xbb\x40\xe7\xcd\x03\x9d\xb7\x1f\xb4\x72\x10\x74\xfe\x52\xd0\xaa\x47\x41\xab\x37\x82\x2e\x58\x03\xba\xf0\x75\xd0\x9a\xc7\x41\x17\x2d\x07\x5d\xbc\x19\x74\xc9\x56\xd0\x86\x22\xe8\x8a\x01\xd0\x55\x6e\xd0\xa6\xe7\x40\x9b\x77\x80\xae\xde\x06\xda\xb2\x1d\xf4\xe9\x35\xa0\x6b\xb6\x83\xae\x0d\x83\xae\x7d\x08\x74\xfd\x72\xd0\xf5\xbb\x41\xd7\x7f\x00\x52\xd7\x81\x6e\xd8\x08\xfa\xcc\x0e\xd0\x8d\x59\xd0\x8d\x0f\x81\xb6\x3e\x07\xfa\xec\x3e\xd0\x4d\x0f\x81\xb6\x6d\x04\xdd\xbc\x1d\x74\x4b\x27\xe8\x56\xfd\xe9\x07\xdd\xd6\x0b\xba\x6d\x0f\xe8\xf6\x25\xa0\x1d\x6e\xd0\x1d\x3e\xd0\x9d\x3b\x40\xbb\x7c\xa0\xbb\x78\xd0\x5d\x43\xa0\xbb\x3f\x00\x7d\xa1\x1f\xf4\xc5\x6b\x40\xf7\x3c\x07\xba\xd7\x0d\xfa\xb2\x05\xf4\xe5\x57\x41\xf7\x5d\x03\xfa\x4a\x3d\xe8\x2b\x6f\x81\xfa\x7f\x08\x7a\xc0\x0e\x7a\x30\x0b\x7a\x68\x33\xe8\xe1\x7d\xa0\x47\x54\xd0\x57\x7b\x41\x7b\xc2\xa0\x3d\x3b\x40\x7b\x0e\x8e\x3e\x7b\x97\x82\xfe\xa5\x15\xf4\xb5\x08\xe8\x6b\xcf\x83\x1e\x7d\x14\xf4\xf5\x3d\xa0\xc7\x22\xa0\xc7\xb6\x81\xbe\xc1\x83\xbe\xb1\x07\xb4\xaf\x08\xda\xb7\x0d\xf4\xed\xfd\xa0\x7f\x5b\x07\x7a\x72\x00\xf4\xd4\x46\xd0\x77\x78\xd0\x77\x76\x81\xbe\x9b\x00\x7d\xf7\x21\xd0\x7e\x0b\x68\xff\x66\xd0\xd3\xbd\xa0\x67\xf4\xe7\x21\xd0\xbf\x47\x40\xa5\x79\xa0\xef\xd5\x83\xbe\xf7\x43\xd0\x0f\x78\xd0\x0f\xde\x00\xfd\xb0\x1f\xf4\xa3\x25\xa0\x67\x5b\x41\xcf\x1e\x04\x3d\x67\x07\xfd\xc4\x0e\xfa\xe9\x36\xd0\xcf\xfa\x41\xcf\x7f\x00\x7a\x31\x0c\xfa\xf9\x2e\xd0\x4b\xeb\x40\xbf\x58\x05\xfa\xe5\xeb\xa0\x97\x17\x83\x5e\xfe\x00\xf4\x1f\x5b\x41\xaf\x6c\x06\xfd\x6a\x03\xe8\x57\x43\xa0\x57\xdf\x03\xbd\xf6\x28\xe8\x37\x4b\x40\xaf\x2f\x01\xfd\xd6\x0e\xfa\xed\x20\xe8\x77\xdb\x40\xff\xd9\x0b\xfa\xbd\x0a\xfa\xc3\x07\xa0\x37\xea\x41\x6f\xda\x41\x7f\x9a\x0e\xfa\xf3\x3c\xd0\x9f\xf7\x80\xde\x4a\x80\xde\x3a\x00\xfa\xaf\x75\xa0\xbf\x84\x41\x7f\x39\x00\x7a\xfb\x0d\xd0\xc1\x2c\xe8\xe0\x93\xa0\x83\xef\x81\xde\x19\x04\xfd\xd5\x02\xfa\xeb\x43\xa0\x41\x1e\x34\xf8\x3c\xe8\x50\x04\x74\x78\x31\xe8\x6f\xeb\x40\x7f\x7b\x0b\xf4\x77\x3b\xe8\xfd\x76\xd0\xfb\x25\xd0\x7f\x6f\x06\xfd\xf7\x00\xe8\x83\x0d\xa0\x0f\xdb\x41\x47\x36\x83\x8e\x6e\x04\x0d\xd9\x41\x43\xab\x40\x65\x3b\xa8\xbc\x1d\xa4\x65\x41\xfa\x7c\x31\xfc\x12\x18\x65\xc1\x58\x18\x8c\x6b\x07\xe3\xd7\x80\x09\x07\xc0\xa4\xc5\x60\xd6\x2c\x98\xed\x00\x98\x7d\x00\xcc\x31\x08\xe6\xaa\x07\x73\x67\xc1\x3c\x6f\x80\xc9\xd3\xc1\x7c\xed\x60\xfe\x76\xb0\x40\x16\x2c\x38\x19\xac\xbe\x13\xac\x21\x01\x16\xda\x06\xd6\xd8\x09\xd6\xf4\x38\x58\xf3\x12\xb0\xe6\xe7\xc1\x22\xd7\x80\x45\xd7\x80\xc5\x1e\x05\x4b\xf4\x82\x25\x27\x83\x29\xf3\xc0\x52\xdb\xc0\x5a\xdf\x03\x9b\xb0\x1d\x6c\xe2\x64\xb0\x89\xaf\x83\xb5\xed\x02\x6b\x7f\x1d\xac\x23\x01\xd6\x71\x10\x6c\xf2\x41\xb0\x29\x5b\xc1\xd2\x45\xb0\xf4\x10\x58\xe6\x49\xb0\xec\x46\xb0\x5c\x02\x2c\xff\x1e\xd8\xc9\x11\xb0\xa9\xdb\xc1\xa6\x1e\x00\x9b\x66\x07\x9b\xb6\x0d\x6c\x7a\x2b\xd8\xf4\x57\xc1\x66\x64\xc1\xba\x9f\x04\x2b\xee\x06\x3b\x65\x00\x6c\x56\x3f\xd8\xec\x21\xb0\x39\xbb\xc1\xe6\xf5\x81\xcd\x7b\x0f\x6c\xfe\xf3\x60\xbd\xfb\xff\x77\x0f\x36\x00\x9c\x5b\xd4\x99\x7f\x09\x28\x44\x3d\x51\xce\x13\xf5\x0c\x50\x49\x2b\x6e\x60\xfd\x1b\x84\xc8\x91\x0d\x22\x8e\x18\x5c\x33\xe1\x9c\x61\x88\x0f\x0a\x2a\x9a\x74\x5e\x58\x22\x4f\x34\x1d\xf0\x89\xf1\x68\x4c\xc9\xe6\x33\x51\x0f\x29\xb9\x6c\x17\x65\xa2\xe9\x66\x12\x1f\x6c\x2b\x6f\xa3\x62\x48\x51\x42\x43\xaa\xfe\xa6\x62\x79\x5b\x5b\xa2\x35\x28\xa8\xc1\xd6\x84\x30\x27\xde\x56\xde\x56\x86\x92\x55\x94\xac\xc2\x81\x6d\x6e\x8b\x07\x1b\x2d\x96\x46\x43\x0a\x19\x86\xa8\xcb\xed\x6d\x00\x79\x7c\x4e\x16\xeb\x60\xd9\x2e\x96\x49\x07\x3d\xc2\x58\x6f\x36\x5f\xa0\x7c\x26\x1d\x10\x31\x7b\xcd\x85\xcb\x2e\x5c\x33\x7b\xf6\x9a\x0b\x4f\xba\xe8\xac\xf2\x58\xaf\xd2\xcc\x15\xed\xee\xd6\x4e\x21\x72\xb4\x3f\xbd\xa8\xcd\xef\x6f\x5b\xb4\x6a\x51\x9b\x3f\xc5\x1a\xde\x29\x4f\xab\x0d\xe0\x7e\xdc\x92\xb1\x11\xf8\x4e\x5d\x32\x1a\x86\xa8\x0a\x2a\x24\x44\x01\xb8\x11\xd1\x1f\xf2\x89\xf1\x58\x8a\xc4\x78\x2c\xa1\x30\xb7\x37\x9f\x88\xf0\x01\xaf\xdf\x27\x51\x80\x57\xb5\x0f\xb5\xdb\xb4\x0f\x49\xa2\xcb\x39\xa9\x37\x9b\x4f\x68\x7b\xbf\xf5\xfa\xed\xda\xd1\xa7\x2f\xbd\xf4\x69\x12\xa8\x99\x84\xa7\x2f\xbd\x86\xce\x4a\x32\x89\x2e\x27\xc9\x4c\xac\xa9\xd9\x5e\x85\x3e\x79\xcd\x68\x8a\x4b\x9f\xd6\x8e\xde\xfe\xfa\xb7\xb4\xbd\x49\x43\x14\x1b\x56\x25\x08\x40\x08\x33\xb0\x10\x48\x7a\x44\x89\x97\x9c\xac\x8d\xc5\x3a\x28\xa5\x24\x95\x94\xc7\x17\xc8\x44\xd3\x79\xcf\x74\xd6\xc1\xc5\xa3\x31\xd1\xef\x0b\x06\x82\xcd\xfc\x34\x96\xee\xe2\x0a\xf9\x42\x17\x15\x3c\x66\xe7\xe4\x3c\x7a\xf7\xa4\x03\xa2\x1a\x49\x6a\xef\xdd\x97\x29\xae\x9f\x4c\x34\x79\x7d\x31\x73\x9f\xf6\x5e\x32\x22\x3b\x84\x92\x43\x26\x41\xb4\x5b\x8e\x14\x1d\xf2\x9d\xdf\x7b\x49\x9c\x1a\x2b\x74\xf8\x88\x7c\x1d\x85\xd8\x54\xf1\xa5\xef\xe5\xcf\x51\x57\xcc\x3c\x52\x9c\xb9\x62\xc5\x4c\xa1\x34\x73\x45\x84\x43\xa2\xf9\xc5\xad\x6d\x93\xa7\x4c\x99\xdc\xb6\xf5\xc5\xe6\x44\x19\x0e\x59\xe6\x5b\x99\xd7\xea\xb1\xd8\x04\xd9\xb1\x67\xe3\xee\x87\x85\x29\xa1\xa4\xd7\x9b\x0c\x4d\x11\x1e\xde\xdd\x76\x47\xdf\xd1\x92\x9e\x9b\xd7\xcb\x30\xfb\x58\x6f\x9b\x8a\x30\xc0\xc7\x52\xd4\xc1\xe7\xb2\xf9\x4c\xba\x99\x05\xbb\xb8\x4c\x3a\xa0\xe3\x94\xbb\x27\xeb\x2d\xef\xb0\xc5\x7b\xa7\x4f\xd2\x06\xba\x6e\xb8\x74\x71\x22\xb1\xf8\xd2\x1b\xba\x06\xb4\x37\xcb\x77\xa8\x5e\xb6\xcc\x92\x38\x77\xd5\x6d\xb3\x5e\xff\xa0\x6d\x7e\x31\x91\x28\xce\x6f\xfb\xe0\xf5\xdf\xbe\x59\xde\x63\x96\xfd\x75\x51\x15\x06\x10\x33\x69\x54\x0e\xf8\x8d\x7e\x4b\x0a\x62\x3c\xa6\xe4\xb2\x05\x59\x27\xd3\x42\x52\xce\xa7\x83\xb2\x10\x10\xd5\x90\x76\xd7\x27\xc9\xef\x93\xfd\x5a\xb7\xd6\x1d\xf0\xfa\xfd\xec\x93\xda\xae\x86\x4e\x7a\xff\xf7\xf2\x74\xf9\xf7\xf4\x7e\x27\x77\x75\x20\xa4\xdd\xa7\xd9\x25\x87\xbf\xc9\x7e\xf0\xa0\xbd\xc9\x2f\x3a\xe9\x3d\x5a\xd9\xe8\x4f\x5a\xe7\xd3\x8f\x27\x4c\xd0\x4e\x9e\x6f\x85\x29\x51\x57\xea\xb6\xea\xd4\x6b\xa5\x64\x1d\x09\xc4\x25\x85\x2a\x1c\x27\x06\x83\xbf\x8c\xd2\xda\xb2\xa7\x9f\xd6\x96\x51\x7a\x3e\x6d\xa1\xab\xe9\xc7\x06\x5c\x13\x4e\x0c\x16\xf3\xd1\x84\x2e\xba\x4e\xfb\x4c\x97\xf6\x2b\xed\xec\x1f\xff\x98\xb3\x55\xc1\x4c\x7f\x04\x94\x3a\x8c\xaa\xa0\xe3\xde\xaf\x8f\xe2\x64\x85\x42\xb2\x5d\x5c\x26\x10\x29\xa4\x9b\x39\xb8\xc5\x88\xe2\xce\x47\x04\x5c\xbb\x74\xe8\x5f\x96\x5e\xeb\xe9\x98\x7b\x65\xef\x8d\xb4\xee\xc6\xde\x2b\xe7\x76\x78\x86\xf1\x7b\xed\xfb\xbf\xff\x3d\x75\xdd\xbc\xfe\xde\x7b\xd7\x7f\xe2\x0b\x5f\x5c\x7f\xaa\xaa\x9e\xba\xfe\x8b\x5f\xe0\xbe\x67\x86\xff\x1e\x40\x9d\x3e\x7e\x24\x7d\xfc\xb8\xd0\x82\x49\xe8\xc6\x69\x38\x17\x97\xe2\x7a\xdc\x8e\xaf\xe0\x1b\x80\x90\xcb\x2a\x6d\x14\x13\x9b\xc8\x17\x98\x46\xe9\xbc\xe7\x63\xfc\xe4\xc9\x2a\x06\x85\x57\x48\x9e\xc6\xc7\xff\x93\xe9\x3f\xae\xbe\xf1\x03\x87\x54\x25\x64\xcc\x62\x27\x78\xf1\x50\x42\x65\xe8\x1e\x0e\x21\x65\x08\xa3\x31\x42\x4d\x4e\x4d\xad\x4d\xf5\x71\x65\xaa\x2b\x66\x7e\x68\x0c\x1a\xb1\x38\x73\x45\x71\x24\x8a\xee\x39\x9e\xb3\x1c\x62\x46\xc1\x9a\xfe\xe6\x47\xc3\x8f\x8e\x3a\xb9\xda\x24\xda\x71\x4b\xa9\x71\x7e\xe7\x88\x51\xb7\x60\x0c\x58\xde\xd0\xc9\xd4\xf6\xa7\x3e\x33\x8f\xc1\x50\x03\x8d\xc3\xd8\xc7\xc4\x73\xe8\xcd\x6a\xc8\xf6\xf6\x66\x99\xf1\x1e\x75\x73\xea\x89\x62\x18\xf4\x29\xb3\x37\x4b\xfa\x9b\x3d\x5f\xe3\x19\x7a\xfe\x44\x31\x86\x02\x17\xc6\x5c\x73\x2c\x2d\x82\xfc\x26\x54\x33\xc8\x84\xca\x33\xce\x3f\x3e\xfe\xff\xb4\x7f\x7c\x7d\x0c\x9d\xad\x5a\xa9\xb5\xb3\xb3\x95\x8a\xfa\x7b\xd4\xcd\xd4\x5a\x5f\x59\x3d\x71\xdc\x3f\x9e\xb2\xd6\x4d\x11\xc3\xa9\xbf\xe8\xd5\x11\x67\x79\xd4\xc9\x1d\x37\xf4\x63\x13\xd4\x14\x66\x2a\xac\x8f\xed\x8b\xff\xe3\xbd\xf0\x8f\x63\x55\x40\x67\xeb\x90\x11\xc6\x95\x5a\x3b\x8f\xe2\xc4\x71\xb5\xee\xff\x21\xae\xc6\xa0\x02\x84\xab\xe1\x14\x3f\xc7\x7f\x13\x01\x00\x3e\x89\x24\x31\x36\x89\x48\xc9\x76\x53\x3e\x1d\xb4\x52\x3e\xdd\x42\xe2\xe7\xc2\xe5\xf6\x6d\xe1\xc5\xe1\x6d\xda\xdd\xe1\xb0\xee\x20\x85\xed\xd0\xfd\xdc\xe1\xc5\x46\x54\x78\x1b\x5d\xac\xfb\xc3\x61\xed\xd7\xec\x8e\x70\x78\x1b\x08\x97\x0c\xbf\x2b\x78\xf9\x9d\x88\x03\x09\x9f\x8b\xc4\x58\xca\x4a\x7a\xd9\x4a\xb6\x60\x1d\x5b\x7e\xc0\x27\x59\x49\xf0\x1a\x25\x6b\xaf\x69\xaf\x99\x25\x91\xa2\xbd\x56\xad\x8d\x94\x4a\xe9\xaf\x91\xa2\x7d\x64\x6c\x78\xa4\x14\x93\x77\x31\xe7\x8b\x38\xda\x30\xdb\xec\xe1\x36\xf3\xa5\x77\x4b\xdc\xec\x9b\x69\x94\xd3\x5f\xe9\x40\x13\x65\xd2\xcd\x54\xe1\xb2\x70\x22\x2e\x8b\x87\xec\x18\x90\x1d\x45\x87\x3c\xe0\x90\x6b\x9c\x63\x78\xaf\x9e\xdc\x89\x78\x2f\x36\x70\x4c\x4e\xdd\xf9\xa7\x1a\x86\xec\x89\x8b\x7b\x4e\xc0\x90\xd5\xb6\xc9\x85\x20\x26\x1f\x43\xb5\xff\x18\xfc\xe5\x92\x5e\x2b\x2b\xfe\x73\x50\x1b\xf0\xfe\xc3\x90\x56\xd6\x78\x51\x1f\x6e\x13\x90\xd3\xb9\x20\x26\xf2\x91\x84\xc2\x72\x59\x6f\x21\x1f\x08\x06\x44\xc9\x49\x7e\x5f\x33\x4b\x77\xb1\x5c\x56\x49\x75\x50\xa1\x8b\x82\x01\xaf\x3e\x67\x9b\x33\xb4\xce\x53\x6f\x79\x51\x7b\x43\x7b\x4e\x7b\xe3\xc5\x2d\xf7\xef\x6c\xbb\xa8\x25\xe2\x9a\xb8\x72\xed\xe9\xb7\x3c\xfd\xd2\xd3\xb7\x9c\xbe\x76\xe5\x44\x57\xa4\xe5\xe2\x89\x3b\xef\x2f\xab\xbd\x6b\x7a\x7b\xd7\xf4\x32\xf5\x5e\x3d\xe5\x96\x17\x29\x7c\xef\xb7\x69\xe6\xfa\x88\xb3\x6d\xe2\x45\x91\x05\xaf\x5c\xbd\xe6\xe9\x5b\x4e\x3f\xfd\x96\xa7\xd7\x5c\xfd\xca\x82\xc8\x45\x13\xdb\x9c\x91\xf5\xda\x33\x6c\x41\xd9\x98\xa0\x99\x31\x41\x9b\x1b\x64\x15\x7e\x70\x74\x5e\x40\x72\x84\x5c\x4c\x22\x49\x7a\x4c\xbf\x0e\xdf\xf1\xfc\xf4\x71\x7e\x78\x9d\x25\xa7\xd7\x78\x91\xfa\xcf\xb9\xfb\xaa\x0e\xef\xe5\x9a\xe1\xa4\xa2\xd3\xeb\x3d\x5c\x36\xdc\x4c\x77\xd3\xe5\x43\xfa\xc7\xc9\xe9\x41\x74\xf8\x88\xe1\x11\x74\xcf\x68\x7f\x18\xf2\xc4\x25\x00\xb2\x4a\x4c\xf4\x05\xd2\x3a\x05\xb9\x48\x94\x02\xc1\x80\x4f\x72\x52\x3c\x36\x89\x44\x49\x94\x0c\xa8\x27\x91\x92\x92\x74\x42\x52\x52\x3a\x9b\xd8\x45\x05\x65\x12\x75\x90\x8e\x8c\x6e\xca\x17\xaa\xa1\x99\x74\x0b\xe5\x0b\xf9\x82\xd1\xc2\x16\x0a\x04\x0b\xf9\x4c\x3a\x18\x08\xea\x2c\xb4\x93\xa4\x40\x0b\x35\x13\x8f\xbb\x0f\xdc\x7d\xf7\x01\x76\xb7\xdb\xfe\x94\xec\x8b\xcf\xb3\x59\x1b\x77\x04\xec\xce\x5b\xda\x27\xb9\x1d\x52\xd3\xef\x9c\x7e\x0a\x4f\x99\xf0\x79\x9b\xcb\x59\x77\x5d\x4a\xb2\xb8\xe6\x79\x1b\x9d\xff\xe6\x70\xbb\xeb\xbe\xe3\x6c\x68\x9d\x65\xb3\x86\xee\x08\x38\x1c\x63\x13\xdf\x66\x75\x39\xec\x37\x24\x8c\xc4\x21\xd7\xbf\x39\xdc\x2c\xa0\xd7\x70\x37\xad\xff\x9d\x3d\xc0\xc2\xf9\x64\x7a\xa9\x3d\x64\x4b\xde\x66\x5d\x17\x74\x6d\x4b\x87\x3d\x8e\x27\xdd\xfe\xb5\xd6\xba\xcb\xf3\x36\x87\xbd\xce\x7f\x76\x43\x7a\x4a\x23\xf3\x3b\x8c\xb4\x1d\x1d\x27\x9f\x6e\xb7\xdb\x1c\x89\xdb\x6d\x6b\x6b\x13\xdb\x36\x65\x2c\x4e\x33\xf1\xe4\x30\xf3\x1b\x6b\xc7\xb0\x2a\x8c\xf2\x20\xd3\x30\x0b\x17\x9a\x7c\x48\x6d\x2f\x0b\x1f\xe3\x97\x3d\x51\x8f\xaf\x59\x97\x51\xbb\x88\xa2\x29\x25\x15\x15\x25\xc1\xa0\xb4\x11\x86\x25\x5e\x1d\xd3\x05\x43\x96\x0d\xb4\x90\xb1\x86\x78\x9d\x46\x9f\x16\x9d\x5e\x3a\x81\x5b\x1d\x52\x9d\x2e\x8e\x2b\x72\x2e\x67\xb9\x8f\x4a\x93\x25\x9b\xf6\x03\x9b\xc4\x5d\xea\x75\xf6\xad\x98\x39\x54\x9a\xb9\xa2\xcf\x20\x9d\xdc\x1c\xd7\x22\x7d\x85\x59\xe4\x9a\x43\x39\xa7\x97\x8b\xd4\x90\x91\xf3\x04\xee\x72\x33\xf7\xf8\x50\x6f\x20\xe9\xf1\x24\xf9\x05\x57\x5a\x19\xb3\xde\x55\x74\x7a\x87\x7a\xcf\xbc\xfa\xca\x33\xb9\x27\x8d\xda\xbf\x9a\xcc\x66\x93\x5f\xf5\x9a\xe3\x3f\x04\x88\x17\x08\x1c\x64\x63\xfc\x1b\x4d\xf3\x44\x3d\x15\xfe\x2b\x67\xa5\x40\x41\x12\xa5\xb8\xb1\x32\xa4\x74\x5a\xd3\x25\xe9\x74\x4b\x75\x3e\xf6\x7b\x82\xcd\xa4\x73\xae\x9a\x3a\x0c\x4d\x0d\x29\xc4\xba\x59\x37\xfd\x67\x97\xc5\xc1\x39\x2c\xe5\xde\x72\xaf\xdd\xee\xb0\x74\x59\x98\x8d\xfd\x3c\xb2\x34\xf2\x9e\x31\x34\x7e\x63\x63\x2c\xa2\x45\x74\xc6\x56\x67\x74\x69\x80\x78\xa2\xd7\x34\x85\x9d\xb2\xc0\xca\x24\x76\x4a\xf9\xdf\x2d\xc4\xac\x0b\x6c\x8d\x16\x76\x56\x28\xf4\xfc\x0f\xf4\xb6\x69\x6b\xbe\xad\xcb\xfc\xe6\xdc\xaa\x77\xb1\x8c\x90\xbe\x6e\x51\x33\xf9\xc7\x31\x90\x41\xc9\x13\x55\x52\xa4\x90\xd9\x8a\xa8\x47\xd8\x1f\x6e\xed\x6c\x3d\x62\xac\xa9\x9c\xda\xda\x17\xde\x4a\x9b\x6d\x76\xed\xc7\x76\x3a\x5f\xeb\x6b\xed\x2c\x83\xdf\x1a\xee\x6b\x3d\xaa\xea\xf1\x62\xb1\xb5\xb3\x35\x3c\x5b\xdb\xd6\x64\xa7\x93\xed\x47\xbc\x3c\x3a\x5b\xa9\xdf\x50\x6a\x70\x23\x63\xd3\x87\x08\xda\x47\x39\x5b\x73\xde\xa9\x90\x0d\xdc\x1d\x14\x71\x92\xbb\x99\x22\x79\xb8\x19\x1f\x49\x30\xb7\x37\x11\xe1\x39\xd5\xeb\x34\x67\x84\x01\x93\x1c\xfa\x77\x1e\xd1\x5e\x3d\xb2\x73\xe7\x11\x6a\x3d\x42\x97\xbf\xa8\x7d\x45\x5b\xa1\x7d\xe5\xc5\x17\xe9\x3c\x7a\x80\xce\xe3\x06\xb4\x11\xba\xd1\x69\xa1\xac\x51\xab\x9e\xd6\xc8\xc1\xce\xad\x4d\xfa\xe2\x8b\x46\x3f\xa6\x01\x69\x91\x00\x78\x30\x0b\xa0\x1c\xd7\x41\xba\x98\x22\x71\x7e\xd1\x94\x73\x7c\xf1\x68\x3a\x9f\xe2\x3a\x48\x97\x76\x24\x4e\x0c\x64\xa2\xb1\x5c\xb6\x40\x3a\xe5\xc6\xf4\xc9\xc5\x48\xa6\xcf\x1c\x71\x1d\x87\x14\xe0\xcf\xaa\x27\x9f\xe3\x3b\x0e\x1f\xd5\x93\xd7\xfe\x9e\xdd\xcb\xde\xef\x28\x17\x1d\x5e\xf2\x91\xcf\xa1\x0d\x3a\x7c\xe4\x23\xaf\xa3\x5c\xec\x08\xd1\xfd\x96\x84\x8f\xce\x74\xf8\xc8\x45\x5e\xc7\x23\x0e\x2f\xb9\xc8\xe7\xa0\x33\x7d\x09\x0b\xdd\x1f\x62\x61\x9e\x8c\x95\x49\x2b\xf1\x76\xb7\x5b\x3b\x79\xbe\xec\x20\xe8\x01\xc3\x70\xc8\xf3\xf3\x5d\xbc\x4f\x0e\xcb\x0e\x73\xde\x74\xc8\x61\xf9\xe8\xc1\xae\xaa\x1c\x21\xea\x4c\xa0\x0b\x49\xcc\x00\x12\x95\xb9\xb0\xfa\x95\xc7\x74\x7b\x30\x90\xee\xd6\x47\x1f\x05\x24\x9d\x8f\x21\xa5\x90\xcf\x44\x2b\x04\xe1\xf7\x44\xd3\x82\xa9\x41\x22\xc5\xf8\x3c\xd2\xd9\x7a\xc4\x60\xd2\xe8\x17\x9f\x9b\x7a\xef\xd4\x6d\xf4\x52\x6b\xa7\xf6\x5d\x4f\x8b\x56\xf4\xe6\xbd\x5a\xb1\xc5\xe3\x99\x48\x50\x42\xa4\x0b\x5f\x98\xf8\x48\xd6\xcc\xa5\xff\x51\x64\x94\xef\xdb\xd6\xd9\xb9\xad\x93\x79\x26\x34\x69\x45\x59\xa6\x52\xd3\x84\x14\x95\x0c\xb9\xa9\x58\x43\x2b\xf5\x48\x18\x3c\x80\x6f\x04\xae\x11\x52\xf1\x7b\x32\xe9\x00\xab\x10\x4b\x17\xb9\x15\xbe\x86\x5e\xf8\x3e\x9b\xf6\xbd\xba\xfa\x3a\xad\xe4\xb2\x58\x02\x25\x63\xe0\x94\x9c\xde\xe7\x47\x68\x66\xe7\xce\x63\xa8\x86\xf5\xd9\xed\xda\xf7\xac\x56\x2a\xba\x65\x9f\x41\x37\x4e\xad\xdf\xcb\xd2\x35\x94\xf6\xf4\x31\xa4\x73\x1c\x58\xcd\x39\xce\x9c\x0c\x4d\x15\x84\xce\x09\xd2\x89\x61\x5d\x51\x03\xa1\x8d\xba\xeb\xea\xeb\xa8\xe8\xfa\xe5\x47\x82\xba\xcb\xa7\xf5\x1b\x93\x5c\x9f\xd7\x69\xb7\x53\xb7\xd5\xaa\x95\xdc\xf4\xe1\x47\x80\x6a\x58\x21\x88\x3a\x0b\xe0\x30\x46\x7e\xb4\x83\x52\x5c\x94\x73\x92\x14\x0d\x46\x93\xa3\xd4\x50\x90\xcd\xd9\x38\x28\x07\xb8\x61\x9a\x4e\x1c\x1d\x28\x4f\x3f\x40\x1c\xd1\xf4\x73\xa9\xc8\xfa\x94\xd0\x11\x35\xa4\x34\xbc\x6b\xcb\x85\xb8\x62\x28\x67\x7b\xb7\x81\x15\xb9\x3a\x46\x83\x9a\x9b\xab\x63\xa5\x07\xb4\x66\x43\x0b\xf9\x87\xae\x19\xac\xb5\x21\x16\x6b\x28\xbf\x3a\xa3\x06\x47\x2e\x34\x1a\x56\xe7\x7a\x7f\xea\x8b\xae\x5e\x61\x3e\x48\x81\x13\x0c\x7b\xbe\x3f\x52\x1e\x70\x79\xdc\xee\x48\x24\xda\xc2\x22\x1f\x39\xe8\xd9\xc3\x0b\xbc\x5a\xc9\x6a\x91\x93\x4c\x4d\xca\x5e\x59\x2b\xfd\xec\xa3\x46\x3d\x8d\xc0\x94\x19\x99\x8b\x52\x4a\x37\x29\xf1\x98\x93\xf9\x9a\x59\x26\xad\xaf\xf7\x69\x7d\x61\x97\x44\x7e\x84\xc9\xcc\xa4\xf9\x60\x21\x1f\x0c\x88\xd0\x29\x75\xa2\xc7\xd3\x72\xcb\xae\x9f\x54\x99\xaf\x4d\x07\xe6\x4b\x6e\x97\xed\x66\x2b\x59\xd6\x6b\x3f\x7d\x74\x94\x55\xbb\x93\xe4\xb5\x9f\x69\x9a\x90\x12\xa0\x15\x43\x4a\x6b\xaa\xf9\x96\x9b\x2b\x2c\xde\x9a\x73\x6d\xcc\x7a\x8b\xa5\xc1\xb6\xf5\x0e\x3d\x25\x75\x52\xf8\xc5\x2d\x97\xae\xbe\xa1\xc5\xe3\xa9\xe5\x67\x12\x98\x6b\x8c\x02\x86\x68\x2c\x91\x92\xc4\xd1\xf9\xda\xe7\xa2\x66\x32\x81\xad\x2c\xbc\x15\x45\xb1\xd1\x94\x11\x3e\x67\x06\x79\x11\x35\x60\x4f\x07\x84\x3f\x53\x51\x5b\xa3\xbd\xbb\x53\xfb\xeb\xda\x1b\xe4\xac\xde\x5d\xa5\x90\x22\xdf\x3c\xf7\xf1\xf3\x6e\x7a\x6b\x4e\xdd\x44\x4b\xa0\xe4\x90\x1b\xf4\xf6\x85\x14\xf9\x96\x5d\x3f\xa9\x04\xfe\xd8\x21\x9f\x42\xf7\x90\xbc\x93\x7c\x6b\x3f\x23\x67\x15\x1a\x10\x98\xf6\x9e\xf6\xad\x4b\x2e\xb8\x41\x36\x8b\x50\xb2\xf2\xcd\x33\xe7\x7d\xe6\x72\xcf\xaa\xa0\xcc\xc9\x7a\x76\x25\x2b\xdf\x72\xb3\x19\xe0\x90\xc8\x4e\x0b\x2f\x5d\x7d\x83\xac\xa0\x62\x6c\x75\x7c\x7d\x01\x68\x1c\x47\x9a\xfb\x18\xff\x78\xb9\x34\xf7\x31\x7e\x79\x9c\xd6\x4a\x3e\x46\x0b\x65\x0a\x02\x27\x7a\xf1\xaa\xec\x18\x32\x3c\x9c\x21\x66\x1c\xdf\xad\xca\x8e\x23\x86\x47\xd0\x3d\xb5\x7a\x5d\xea\x1b\x29\xee\x6f\xc7\x71\x95\x8f\x17\x58\x13\x9d\xe1\x0c\xf7\x90\x5e\x1f\xbf\xb0\x56\xe1\x6b\x8c\x71\xde\xd4\xa7\xb7\xe8\x63\x3c\xa7\xcf\xf6\xfe\x5a\x1d\x91\x2e\x0b\x22\x02\x5d\x12\x0c\x50\x91\xe9\x2c\x2b\x57\xac\x0a\xdd\x11\xb2\xd0\x06\xb2\x44\x5a\x3b\x39\x94\x2e\xbe\xfb\xee\x8b\xb5\x81\xb2\x31\x5f\xb3\x62\x6b\x67\xe9\x49\xb2\x68\x1f\x3c\x59\xea\xd4\xe9\xb2\x58\x91\x23\x3c\x28\x18\x74\x39\x32\xe1\x29\x39\x5d\xaa\xd1\xb9\x41\x9d\xab\xee\x60\xf1\x98\xa9\x87\xd5\xc7\xb9\xce\x33\x07\x82\x81\x4c\xba\x8b\x19\xb5\x17\x8d\x06\x15\x7b\x2e\xee\x11\x4a\x0d\x8d\xbf\xba\x67\xc6\xb5\xcb\x6f\x9d\x5f\xd2\x06\x3d\xee\x90\xd2\xe2\x9f\x7a\xf0\xa9\xb5\xdf\xb9\x4e\x49\xe7\xaf\x3f\xe7\x4c\x47\x48\x11\x30\x4f\x39\xea\xd4\x1b\xce\x1f\x56\xe6\xe5\x7a\x7a\xae\x2c\x0b\x0d\x8d\xce\x8d\xed\xd9\xf6\x9d\x56\x25\xc4\xfe\x14\x09\x3a\x9b\x36\x4f\x9d\x26\x4f\xcc\x4e\x54\xaa\x67\x4e\x0c\x39\xb2\x47\x87\xd0\xc5\x9c\x14\xf7\x8f\xe5\x51\x9b\x28\xad\x33\xf2\xb9\x2c\x4b\x44\x78\xe6\xf7\xb5\xe8\xcb\xf9\x08\x6b\x56\xa5\xb1\x98\x32\x89\x29\xb9\x6c\x45\xc0\x14\xd5\xe9\xbe\xa7\x02\x37\x2f\x1d\xe5\x46\xe7\x5e\x15\x9b\xdd\xb4\x4f\xfb\x95\xf6\x4d\xed\x57\xfb\x9a\x66\xc7\xae\x9a\x3b\x1a\xb7\xf4\xe6\xc0\x53\xbe\xe9\x37\x0d\x50\x96\x7a\x29\x3b\x70\x13\xbb\xe5\x91\x5d\x53\xa2\x67\xae\x8d\x8c\x32\x9f\x91\xb9\xd3\xed\xe7\xae\xdc\x45\xe2\xbd\xf7\x6a\x47\x76\xad\x3c\xd7\x3e\x7d\x6e\x64\x94\x29\x8d\xac\x3d\x33\x3a\x65\xd7\x23\x5f\xa0\xfa\x17\xb6\x6c\x79\x41\x7b\xcb\x6c\x57\x84\x03\x3f\x00\xd9\x9c\xb7\x62\x29\x1a\xa1\x5d\xca\xa7\x03\x1c\x94\xac\xac\x7d\x4b\x3b\x62\xcc\xc3\x22\x2d\x94\xb3\x0a\xdf\x7f\x54\x1f\xe1\xb4\x50\x09\x91\xce\x66\x2e\x34\xc7\xa0\x4e\x2f\x11\x5e\x35\xca\x3a\xe9\xf8\xa5\xc1\xec\x48\x43\x71\x9d\xed\xe0\x8c\xed\x83\xe0\x71\xeb\x20\xf5\x13\x73\x6c\xae\x90\x52\x1f\x8b\xd5\xeb\x8f\x12\x72\xd9\xe6\x1c\xa7\x62\xcd\xbb\xfb\xc6\xb0\x90\x6c\xf4\x37\xf9\x1b\x26\xcd\x9c\xd4\xe0\x6f\xf2\x37\x26\x85\x46\x98\x86\x99\xc3\x4f\x89\xaa\x30\xd7\x80\x67\x3e\xd6\xfe\x33\x30\xf1\x6e\x56\x09\x35\xf6\x64\xb2\x8a\x29\xd2\x8d\x8f\xeb\x22\x9d\x10\xbd\x6e\x96\xd2\x05\xf2\x91\x14\xff\x70\x8b\xe8\x13\xff\xb2\xdd\x61\x6f\x54\x52\x9d\xbe\x05\x67\x9e\xb9\xc0\xd7\x99\x52\x42\x0e\xc7\x76\xfa\x17\xed\x65\x87\x23\xa4\xa4\xa4\x16\xa9\x23\xf1\xe9\x5b\x6e\xf9\x74\xa2\x43\x6a\x91\x8c\xc8\x97\xff\x71\x2c\x14\xb4\x17\xb5\xf2\x34\x41\x09\xa5\x7c\x4d\xae\xfc\x83\x4f\x3e\x98\x77\x35\xf9\x52\x21\x45\x98\xf6\x6d\x2d\xab\x5d\x7f\xb6\xa0\x84\x12\x41\xde\xc1\x37\x84\xce\x26\x37\xa5\xc9\x7d\x76\xa8\x81\x77\xf0\xc1\x44\x48\x11\xce\x86\xdd\x10\xf2\x75\x9a\xe7\x20\xa1\x0e\x2e\xc8\x08\xa2\x11\x2d\x88\x63\x12\x32\xc6\x58\xf5\xc7\x73\xb2\x3f\x9e\x8b\xfa\xe3\x39\x32\x64\x15\x4f\x54\xff\x92\x27\xea\xa1\x4a\xb8\xec\x89\xe6\xe2\x9e\xb8\x27\xea\xcf\xe4\xc8\x4c\xe2\x21\x55\x55\x55\x4e\x55\x87\x54\x5d\xec\xd0\x1f\x0e\xfa\x7b\x18\x65\x95\x57\x55\x3d\x5a\x53\x8d\x6f\x59\x2d\xab\x82\x5a\x36\x82\x38\xe8\xd9\x86\x88\xae\xa7\x4a\x3e\x3d\x96\xa9\x9a\x11\xce\xa0\xe9\xb9\x98\x91\x50\x0f\xd6\x1f\x18\xfb\x80\xd5\xb5\xe1\xd8\x76\xa4\xd0\x56\x69\xcb\x34\x74\x03\x99\xb8\x27\x23\xff\x2f\x9e\xee\xee\xee\xee\x48\x64\x45\x4b\xcb\x97\x5b\x5a\xbe\xdc\xd5\x75\x5d\x4b\x4b\xb7\xf1\xf7\xe5\xee\xee\x2f\x77\x77\x5f\x67\xfc\xad\xe8\xee\x7e\x7a\xc5\x0a\x3d\x59\x77\xb7\xa0\x1e\xb9\x41\xb8\xfe\x7f\xf4\xe8\xfd\x62\xae\xe9\x77\x09\x6f\x1b\x73\x74\x53\x8d\x8e\xa2\xc2\x11\x51\x07\x8d\x48\x62\x14\xa0\x52\xcf\xc5\x3d\x3d\x17\xf3\x57\x25\x35\x7f\x2a\x9b\x4b\x96\x73\x4a\xae\x37\x4b\xfd\x39\x55\x61\x3f\x4b\xf2\x75\x7a\x64\x8f\x56\xcc\x25\x35\x5f\x32\xc9\x9e\x4f\xaa\x39\xea\xcf\xf6\xe6\x94\x72\x3e\x55\xe5\x4d\xef\x92\xd6\x56\xea\xca\x7d\x5c\x6d\x82\x19\xaa\xa4\x28\x9f\xcb\xea\x71\xf1\xcc\x3f\x00\x05\xa9\x46\x70\xa2\xa3\x99\x5e\x49\xea\x71\x6a\x6e\xe0\x1f\x80\x2f\x6b\x04\x86\x5b\xe8\x95\x64\x2e\x9b\x62\x3f\x55\x72\x26\xd8\x1c\x6c\xc3\xaa\x78\xb5\xa0\x62\x09\x56\x61\x23\xa0\xcb\x24\x4e\x5d\xee\x52\x52\x4a\x21\x9b\x2f\xe4\x95\x42\x17\x33\x86\xb1\xa2\xbf\xc7\x3b\x58\xa1\x4b\x0c\x4a\x46\x93\x2a\xf9\x24\x31\x68\x2c\xf3\x05\xca\xa7\x02\x82\x68\xb8\xbb\x29\xaf\x8c\x8a\x72\x35\x7e\xf1\xc2\xd6\x80\xf6\x8e\x7c\xc5\x29\x43\xab\x17\xde\x1e\xae\x0f\x88\x44\x16\x62\x76\xbf\x18\x6c\xb7\x70\x02\xe3\xc2\x9c\x7f\x22\x4f\x12\xcf\x27\x78\x79\x12\x4f\x16\xc6\x9c\x01\xd1\xe2\x71\xc8\xbe\x68\x2a\x4c\x8a\x83\x7d\xb8\x60\x71\x40\x7b\x37\x31\xf7\x9c\xa1\x2f\x35\xd6\xd5\xd9\xea\x37\x73\x5f\x6a\xca\x5b\xa8\x5d\x62\xca\xd1\x77\x78\xbb\x93\xf5\x39\x1a\x78\x3f\x6f\x77\x96\xfb\x1d\x0d\xfc\x9a\x63\x42\xf8\xd8\xc9\xf3\x86\xae\x2a\x9e\xb5\x76\xd1\xac\xe9\x7c\x87\xd3\xd2\x28\xd6\xf9\x1a\x6d\xca\x5a\xc5\xd6\x6a\xa9\x8b\x89\x89\x0d\x31\x6b\x87\xe0\x88\x0b\xa1\x2b\x15\x4b\xdc\x6a\xf1\x85\x2c\xf6\x64\x34\xd5\x10\x20\x91\xb3\x6e\x58\x30\x74\xd5\xa6\x53\x5d\xee\xc6\x39\x2d\x21\xee\x37\x81\xb8\xab\x79\x84\x6d\xd1\x4a\x23\x4e\x73\xef\xf6\x0b\x42\x65\x5f\x98\xd2\x41\x53\x0b\x60\xa8\xc1\xac\x06\x5d\x98\x64\x51\xc8\x67\xf8\xed\x41\x7f\x34\x95\x8a\xca\x0d\x93\xe3\xda\x5c\x6d\x6e\x62\x92\xe9\xf7\x07\x05\xd5\xea\xe8\x8c\x1d\xf9\xef\x58\xa7\xc3\x12\xa1\x3d\xda\xd2\xa8\xee\x17\xac\xb1\x4e\x87\xb5\x3a\x97\xab\xa2\x39\x17\xd9\xe1\xc3\x74\x60\x82\x39\x99\x18\x7a\x9f\x68\x95\x14\x0b\x9e\x8a\xca\xda\xe4\xd0\xe2\xd5\xe5\xb9\x42\x96\x2d\x86\x8a\x42\x67\x17\x54\x4e\x1d\x52\x39\xb5\xbf\xb5\x53\x9f\x71\x4c\x41\x54\x76\x0c\x98\xbc\xcb\x80\x43\xbe\xec\xb4\x62\x67\x2b\xeb\x6f\xed\x0b\xef\x0e\xb7\x16\x4f\xbb\x8c\xa0\xcf\x39\x9d\xad\xfd\x65\x53\xf6\x2c\x6a\x7d\x0e\xb9\x5f\xe7\x66\xfa\x65\x07\xf5\x9f\x76\x19\x8b\xb4\x76\xb6\x86\x77\x87\xfb\x5a\x87\x71\x59\xc5\x0e\xc0\x94\x99\xa3\x98\x00\x20\x1d\xf0\x89\x31\x25\x5b\x61\x06\x46\x19\xa8\x11\x75\x55\x45\x0f\xed\xe6\xe6\xbf\xbb\x77\xef\xbb\x7b\xb9\x01\x9d\x65\x3a\xa2\xea\xef\x81\x8c\xbc\x3a\xc7\x90\x5b\x2d\x67\xca\x17\x8e\xea\x93\xb9\xbe\xbd\x7a\x52\x36\xff\xee\x8b\x87\x8c\x74\x9c\x7a\xf1\xdd\xdb\xa6\xcc\x9d\x3b\x65\xdb\x51\x95\x46\x6c\x16\x46\x75\xcb\x26\x2f\xb7\x18\x20\x2e\x1d\xc8\xa4\x0b\x0a\x15\xba\xf8\x82\x4c\xd3\x48\x17\xd0\xbc\xc1\x66\x0a\x06\x8c\x97\xdf\x27\xfa\x63\x4a\x3c\xc6\x4b\xd9\x6e\x4a\x77\x09\xb9\x6c\x07\xa5\x92\x22\xf3\xfb\x9a\xb9\x4c\xc0\xef\x93\xf4\x48\x31\x2e\xb2\xff\xf8\x97\xe8\xcf\x4f\x96\x95\xb3\x86\x7e\xca\x82\x33\x27\x67\x14\xfb\x3b\x54\xdf\x93\xb3\x70\x2f\x44\x77\x4e\x70\x7d\xb2\xc9\xe7\x92\x6f\x71\x89\xd4\xad\x15\x7b\xb5\xbf\xa4\xf8\x1b\x29\x68\xf1\x5b\x1d\x42\xd7\x19\xa4\x75\x85\x56\x87\xa7\x29\xbd\x1c\xb1\xa9\xff\x35\xd5\x92\xe4\x16\x73\xbf\xd0\xba\x78\x56\x1e\xba\xea\x34\xa9\xce\x26\xa7\x5a\xd8\x1a\x76\xc0\x29\x69\x91\x45\xda\x17\xcf\x8d\xfd\x76\xea\x49\x76\x57\x93\xa8\xc8\x82\x87\x77\x3b\xa9\x2d\x1e\x16\x98\x24\xda\xec\x16\xf7\xfd\xdf\xe7\xd8\x54\xed\x9d\x86\x40\x8b\xd7\x6a\x91\x53\x56\xaf\xcf\xe2\xac\xc8\xd1\xc6\xda\xe5\x47\x1b\xce\x03\x92\x81\x4c\xc4\x93\x4d\x75\xf0\xf1\x98\xe4\x13\xfd\x3e\xb1\x99\x38\x83\x77\xcc\x65\x75\xb6\x52\xf2\x19\x6d\xf6\x19\x03\xbf\x8b\x9f\x4e\x39\x77\xaa\x83\x9f\x44\xba\x88\x16\xc8\xa4\x9b\x39\xbf\xcf\xc9\x49\xcd\xa4\x7f\xe2\x06\x66\x58\xdb\x82\x99\xb4\x79\x42\xe3\xa9\x33\xcf\x9d\x3f\x75\x7e\x98\x18\x59\xc4\x89\xb3\xce\xd8\xb2\x32\x33\x75\xd5\xc6\x99\xe9\xc5\x16\x2a\xbf\xc1\x5c\xdb\x13\x52\x9d\x28\x50\x80\x4f\xe4\x3a\x32\x02\xbf\x92\xde\xb8\x31\xb8\x2c\x38\xe7\xb3\xd7\x2c\xef\x8c\x9e\xb4\xa4\x2b\x77\xcf\x0b\x73\xae\xfc\xca\x9e\xe5\xed\xfb\xda\x2f\xd6\x2e\x71\x45\xe8\xb4\xcb\x67\xb6\x4f\x8f\x7a\x78\x5b\xee\x40\xd6\xb2\x69\xc1\x39\xec\x15\x29\xd4\xbd\x71\xc9\x9c\x8b\xa6\x85\x1d\xe9\x9f\x66\x1a\x2f\x0e\x75\x0c\x6d\x58\xc1\xd7\xbb\xec\xcd\xc9\xf0\x24\x7f\x5a\xe0\x5e\x69\xb3\x38\xac\x02\x4f\x67\x32\x99\x42\x53\x97\x5c\xdb\x93\x3d\xeb\xe4\xa9\x91\xfa\xf8\xb3\x77\xad\xfa\xca\x05\xa7\x86\xc5\x80\x29\x9b\xf2\xfa\xf8\x9c\x0a\xf8\xf5\x39\x2d\x5f\xc8\x87\x28\x95\xeb\x60\xa9\x82\x2e\x9a\x76\x51\x41\x94\x9c\x24\x39\x39\x49\x64\x92\x93\x6b\xa1\x40\x50\x94\x62\xfa\xe4\x1d\xd7\xfb\xd9\x13\x38\xed\x94\xc6\xb0\x83\xb6\x5c\x4c\xf5\x33\x16\xc9\x72\xf4\xb1\x6b\xa7\x4e\x5e\xfd\xf9\xb0\xe0\x6c\xbe\x3d\x69\xb1\x8b\x56\xd6\x78\xb5\x87\x05\xbc\x4e\x22\xcf\x1e\xce\x51\xd7\x56\xd7\xb4\x31\x7c\xcb\xec\xcc\x93\xd7\x7d\x42\x92\x65\x67\x7c\xa6\xc4\xb2\xac\x2e\xde\xe0\xa8\x13\xb8\x0b\x99\x55\x10\xac\x2c\x95\xb6\x25\x5d\xf2\xa4\xe8\x54\xc7\xae\xf2\xef\x97\x58\x57\x9e\xf1\x09\x97\x97\x6f\x6c\x2f\x70\x3e\xe6\x1d\xa5\xd7\x23\x82\x8a\x46\x5c\x0b\x24\xd3\x01\x97\xb9\x1b\xa6\x8f\xe5\x78\x4c\xe9\x36\x77\xc2\xc4\x36\xf2\x90\x2e\x03\xe8\xb2\x80\x3e\x8c\xba\x58\x37\xa5\x03\x06\x89\x8a\x92\x92\xea\x60\xa9\x0e\x4e\x6f\x87\x3e\x17\x07\x7d\x5e\xbf\x4f\xac\x12\xb8\x8b\xc4\x84\x4e\xc3\xca\x0c\xd2\x31\xe2\xc9\x32\x5d\xa0\xd3\xe9\xdc\x10\x74\x9d\x4c\x52\x52\x1e\xf1\xa5\xa8\xd7\x77\x9d\x6f\xaa\xef\x3a\x9f\x37\xba\x78\x71\xad\xe7\xc3\x5f\xe4\xed\x3f\x6e\xdf\xd7\x9e\xb8\x3d\x41\x49\xb1\xb9\xce\xef\xb4\x4c\xe4\x7d\x3c\x13\x52\x4d\x0d\x4d\x9c\xdb\x41\xa2\x5d\x96\x9a\x98\xe7\xfc\xf4\xa2\x88\x95\x78\x41\xb0\xb5\xee\x49\x08\x5c\xac\x57\x7b\xe3\x94\xf4\x4f\x33\x9c\xe7\x53\xeb\xea\x65\x91\x18\xcf\xd5\x7d\x21\xba\xd9\x27\x37\x47\x43\x13\x9d\x6a\x32\xf4\x40\x28\xf4\x40\x28\xc9\xa3\xea\x1a\x02\x3f\xdc\x28\xf0\x44\x24\x38\xea\x88\x36\x0c\x2c\x6e\x72\xf2\xed\x4b\xac\x8b\x4e\x25\x8b\x95\x63\x44\x3c\x7f\x7a\x61\x45\xf9\xf1\xfb\xdd\x97\xce\x8b\xfa\xdb\xdc\xad\x36\xa7\x8b\x98\xcf\x9b\x21\x6b\x63\x24\xe4\x9c\x48\x9f\x58\x4d\xbb\x56\x5f\xc9\x1a\x83\x61\x1f\x6f\xaf\x77\x3a\x36\x5d\xc8\x42\x5e\xba\xde\xc4\x31\x67\xe8\x03\xce\xc3\x5d\x80\x5c\xc1\x63\x82\x0f\x06\xc6\x21\x31\xa7\xe8\x48\x31\x90\xd8\x42\x39\x9f\x3e\x0c\x4e\x80\xc7\x2e\x96\x55\x72\x59\xc3\xa0\x6c\x2c\x26\x29\xdd\xcc\x8c\x0d\x13\x2e\x1e\xeb\xa0\x6c\x3e\x17\xf5\x05\x7c\x4e\xd2\x85\xba\x94\x92\x2d\x74\x71\x99\x74\x33\xf9\x44\x7f\x34\xab\x64\xbb\xe8\x74\x13\xb7\x73\xe8\x3c\xc2\xa6\x68\xb0\x16\xb1\x4e\x9b\x47\x98\xd1\x7c\xdd\xe2\x75\x13\xad\x44\x8c\x8e\x8b\x57\xc9\xca\x91\xa0\x63\x8c\xaf\xfb\xc2\x84\xf7\xdc\x26\x6e\x85\x66\xfb\xf4\x42\x91\x0f\x85\xf8\x62\x61\xba\xdd\xe1\x12\xb8\x21\x70\x82\xcb\x31\x3e\x94\xd7\x43\x85\xeb\x1b\x05\x9e\x11\x4f\x91\x1a\x94\x2f\x9c\x43\x0e\x91\x31\x5e\x38\xbd\xb0\x3b\x5b\x78\xf6\x81\x79\xc7\x47\xb9\x7b\xe3\x37\x3e\xf7\x28\x27\x35\x59\xa4\x05\xf3\x4e\xcf\x0b\xf6\xc6\x3a\xfb\xa6\x35\x06\xce\x8f\x0c\xa7\xda\xf3\x9c\xbf\xd3\xcf\xe5\xdb\x53\xfe\x44\x4b\x9c\xb1\x78\x4b\xc2\x7f\xdc\x40\xf3\x60\xd9\x58\x9d\x86\xb1\xbb\xf6\xbf\xd9\x63\x97\xa0\x84\x3e\x34\xac\x45\xc4\x8a\x65\xcb\x51\xc3\xba\x44\x30\x94\xab\x4a\xe8\x88\xe1\x13\x51\x89\x33\x52\xf2\x6a\x48\x29\x8d\x1a\x9b\x5c\xf0\x31\xce\xff\x47\x70\x9b\xe6\x89\x9c\x5a\x81\xdb\xf0\x09\x55\x6b\x1d\xc3\xc7\xfe\x2f\xc0\x3d\xde\x46\xe1\xe3\xfc\x63\xe1\xae\xc5\x76\x2d\xae\xff\xc7\x98\xfe\x7f\x02\xf3\xc7\xbb\xff\x49\x98\x3f\x42\x57\x37\x7e\xf7\xd8\xf3\x31\xfe\xe3\xd1\xcd\x47\xc5\x7f\x5c\xdb\x09\xb2\xc3\x60\x6d\x4f\xf0\x12\x21\x3b\x8e\x18\x1e\xa1\xe8\x90\x8f\xe0\x44\x31\x27\x72\x0f\x8c\x94\x46\x57\x1c\xcf\x39\xf4\xb7\x11\x27\x7f\xdc\xd0\xe3\x67\x33\x0f\xab\x8e\xc7\xa9\xa9\x87\x8e\xa5\x48\xc9\x9a\x16\xb7\xff\x2c\x36\x8e\xc1\x8e\x2a\x3b\x9c\x56\x6d\xc0\x6a\xa5\x88\xd5\xe9\x90\x05\x55\x76\x7c\x68\xb4\x50\x34\x40\x39\x6a\xbc\xf9\xe2\x78\xf7\x68\x1a\x6e\xa0\x5c\x72\xc8\x7a\xf6\xb0\xfe\xfa\xf8\x96\xd5\x36\xf2\xb8\x6d\xac\xe8\xfe\x4d\x7d\x4e\x3a\x68\xfd\x5f\xb7\xb1\x4f\x6f\xa0\xa1\x19\x74\x5a\x29\x22\xec\xfd\x67\x9b\xc8\x5e\x0c\xeb\x25\x98\xe6\x22\x56\x6d\x40\xb3\xfe\x13\x4d\x34\xf5\x8c\x86\xfd\x70\x8b\xd1\x7f\x86\x14\x55\x6d\x53\x55\xb8\x6e\x22\x32\xb4\x4c\x12\x52\x0e\x7b\xa3\x57\x5b\xbf\x77\x53\xb9\xb8\x69\xef\xde\x4d\xac\xb4\x69\x2f\xdd\xe9\x6d\xb4\x3b\x52\x7c\xff\xd1\xd2\x44\x8f\x20\xd3\x9d\x8f\x54\x63\xf6\x6e\x7a\x98\x76\xca\x82\x67\x44\x9e\x92\x4c\x79\xc0\x89\x66\x74\xe8\x98\xd4\xe5\x93\x7c\x9a\x3c\xd1\x1c\x05\xad\x54\xa3\xd2\xce\x79\xb2\x4a\x70\x9c\x5a\x9b\xa9\x1b\xfa\x37\x6c\xe8\xe7\x37\x1c\x51\xa9\xd8\xcf\xc0\xf0\xa1\xd1\x0e\x51\xc7\xc4\x9d\xb5\x56\x90\xbc\x5b\x4f\xb8\xa1\x5c\xd2\x8a\x25\x23\x29\x45\x64\xc7\x51\x03\x61\x7c\xc9\x21\x47\x8e\x1a\xaa\x6c\xbe\x54\xb1\x59\x1c\x56\x85\xb7\x85\xb5\x10\xe1\x43\x03\x92\x40\xb4\x90\x92\xfc\x19\x3f\x65\xe3\x31\x89\x44\xbf\x2f\x93\xd6\x45\x6f\x2b\x45\x3d\xe4\x73\x11\x15\xf2\x19\x9d\x13\xa4\xb5\x67\xbf\x7d\xb6\xca\xae\x0a\xd8\xa4\xf2\x1f\xa4\x80\x4d\x62\xcd\x52\x9e\xfa\x87\x4a\x5a\x9f\xf0\x76\xf2\x11\xad\xef\x91\x44\x3e\xa7\xbc\x9d\x3c\xfb\xed\xb3\xd7\xaa\x5c\x7f\x40\x4f\x65\x0b\xe8\xa9\x7e\xaa\xf5\x0d\x95\xa8\x9f\x0d\xe4\x92\x8f\x50\xff\xc3\x8a\xf2\x97\x54\x85\xff\xe4\x4d\xdb\x8f\xe0\x58\x4d\x87\x93\x62\x4a\x8a\x14\x43\xf1\xcd\x99\x46\x1a\x74\x77\x54\xdb\xe5\xee\x9e\xd7\xed\xd2\xee\x8c\x52\x3b\xed\xa1\x76\xae\x62\x5b\x81\xf5\x73\x86\x8e\x44\x15\x25\xca\x89\x73\xd6\x1f\xa0\x76\xed\xc0\x18\xbb\x12\x19\x48\x7a\x62\xc6\x5e\xd5\x98\x0d\x6a\xec\x3a\xb2\x73\xe7\x11\x6e\xd7\xb8\x5d\xa9\x3e\xbe\x68\xee\x40\xb1\x43\xc7\xee\x1d\x9a\xfa\x7a\x08\x25\xf8\x0d\xfd\x6b\x36\xd5\xc1\xa5\x94\x98\xc1\xd6\xfb\x7d\x81\x74\x3e\xe9\x43\x04\x39\x9d\xd9\x2a\x74\x51\x3a\x10\x6c\xe6\x82\x01\x06\x1f\x35\x05\xc2\x12\x1f\xe3\xa5\x70\xa0\x89\x7c\x3d\x17\xf7\x30\x68\x07\xb4\xa5\xda\x81\xd3\xc5\xcb\x3e\x75\x49\xd8\x9a\xce\x66\x2c\xe1\x4b\x3e\x75\x99\x78\x3a\xa9\x89\x28\xb5\x45\x0b\x41\xb7\x3b\x58\x88\xb6\x51\x34\x91\xeb\xe9\x79\xe2\x80\x76\x80\xda\x0f\xdc\xf1\x19\xeb\x83\xb7\xfe\xfa\x9c\xe6\x58\xac\xf9\x9c\x5f\xdf\xfa\xa0\xf5\x7a\x73\xbc\x8a\x1f\x08\x2a\x44\x38\x71\x32\xba\x30\x0f\x20\xb3\x37\xa1\x48\x24\x06\x0a\x24\x8f\x25\xed\x60\x20\xa8\x33\xfa\xa9\x31\x1b\x2a\x33\x28\xdb\x4d\xf9\x00\x67\x74\xb9\x44\x05\xd3\x06\x8e\xdb\xbc\x71\xf7\xc6\x3e\x86\x88\x47\x7b\xc0\x13\xf1\xd0\x8a\xd3\xf7\x6e\x1a\x32\xa8\x9c\x2b\x76\xe7\x5d\x1c\x67\x9f\xe2\xf4\x06\x03\x43\x06\x19\x72\xc5\x99\x2b\xac\x45\x57\x6b\x1f\x45\xca\x7d\xda\x00\xbf\x7c\xb9\x36\xb0\x3c\xbc\x38\xbc\x3b\x4c\x7d\x1b\x77\x6f\xec\xec\x63\xa5\x91\x72\xca\x3f\x7f\xc6\x2c\x65\xd3\xde\x06\xc9\xed\xb1\x4f\x71\x8a\xa2\x69\x08\xb2\x62\xe6\x75\x0e\x6b\xd1\xe5\x66\x2f\x68\x03\xe5\x3e\x8a\xb0\xf0\x72\x8a\x2c\x0f\x87\x77\x87\x17\x8f\xe0\xdf\xd8\x27\x6f\xc3\xb2\xf1\xb6\xb6\x53\xd2\x26\x3b\xad\x2f\x4f\xb5\x2d\xd3\x65\xb1\x60\x40\x36\xf7\x2f\x67\x50\x3c\x22\x89\x72\xc0\x18\xf5\x1d\x7c\x2e\xdb\x25\x4d\xa3\x5c\xd6\xb0\x0e\xa2\x80\x4f\x50\xab\x4d\xc4\xb0\x43\x0e\x2d\xec\xb4\x89\x1b\xaa\xad\xf3\x86\x43\x6e\xd9\xff\x8e\xa6\x1a\xa3\xbf\x5f\x7b\xfa\x8a\x4d\x27\x71\x41\x0b\xef\xb6\xd9\x02\x27\x4f\x8c\x4b\xfe\xf8\xb4\x45\x97\xde\xf2\xc4\xc5\xfd\x29\x87\x3d\x24\x93\x2a\xb3\xb8\x56\xae\xb6\x53\x76\x34\x0a\xa1\x18\x5f\x6d\xe5\x2b\xb2\xcd\x51\xef\xb6\x58\xe9\x75\x4d\x95\x05\xcf\xc4\xd2\x8d\x37\x6b\xfb\x82\x75\xcc\xe1\x8c\x5d\xd8\xb7\xb5\x73\xca\x92\xbe\xc5\x67\x9e\x32\x35\x15\x30\x26\x18\x4d\x95\xb3\xd5\xb6\x5f\x2f\xa8\x98\x64\x58\x0e\x7a\x8e\xd7\xad\x7a\x13\x8f\xed\x58\x7d\x26\x93\xcd\xfd\xf8\xb1\x56\x8e\xa3\xcd\x1d\xe9\x51\x9b\x83\x13\xc7\xf6\xa9\xcd\x21\x8a\xbe\x3f\x0f\xfd\xb2\x7e\x66\xbd\x76\x46\x7d\xfd\x25\xf5\x33\xeb\x49\x62\x9f\xab\x9f\x59\x7f\x49\x3d\x5b\xa1\x7d\x7f\x6c\x57\xda\xd8\x48\x57\x6a\x0e\x6b\xd1\xc6\x59\xe8\xc0\xd0\x2f\xeb\xeb\xe9\x31\x23\x43\xbd\xf6\x21\xfb\x9c\x51\x88\x79\x6e\x06\xc3\x90\x20\x02\xb3\x2a\xeb\x8c\xa1\x6a\xf2\x64\xd2\x81\xaa\x01\x81\xa1\x5a\x8a\xfa\x7d\x62\x75\x95\xd5\x27\x67\x43\x27\x55\xdd\xa6\x37\x6c\x94\xa2\xb9\xac\xee\x91\x20\x0f\x43\xce\x2a\x9a\xaa\x86\x14\xc3\xa9\xbf\x94\x90\xaa\xa9\x8a\xe1\x94\x09\xc6\x46\x81\x1e\xad\x3b\xf5\x97\x12\x52\x49\x8f\x26\xb0\x7b\xfe\xb9\xf4\xf2\xd8\xda\x6a\xf4\x00\x4d\x00\xe5\x0d\x3d\x54\x8a\x94\xd4\x38\x5b\x2b\xbf\x27\x5f\xe0\x5e\x96\x43\x21\xb9\x3c\xd5\xca\xd7\x58\xcb\x5b\x85\x2b\x64\x7b\xe8\x48\x31\x64\x97\xd9\xb3\x56\x5b\x79\x59\x95\xe7\x56\x42\xe5\x65\x36\x6b\xcd\xf9\x90\xb6\xf1\xe5\x9f\xa0\x1a\x23\x51\xbe\x20\x8e\xd4\x76\x6c\x9d\xec\x59\x39\x74\x4c\xcd\x53\x4f\x00\x02\x7b\x56\xb6\x87\xca\x53\x0d\x58\xb6\x54\xf4\x5d\x0d\xc7\x81\x25\x3b\x52\xf3\x99\xb5\x35\xcb\xf2\x47\xd4\x26\x67\xe5\xd1\xe2\x8d\xb6\x5e\x23\x5c\x2f\x6c\x45\x1d\x60\x25\xd1\x68\x96\x31\x46\xd7\x1c\x79\x29\x18\x8d\x06\x85\xc9\x41\x76\x5e\xb9\xd9\xe1\x0b\x09\xa5\x90\xcf\x51\x6e\x76\x24\x30\xc6\xa6\xd0\x55\x59\xe1\xc7\x2c\xaa\xc2\xf8\xa3\x3f\xa8\x58\xfe\x1b\xa7\x00\x86\xd4\x5a\x9f\x50\x1c\x95\x7a\x6a\x25\x20\xa5\x4a\xbb\xd5\x7a\x8e\xa9\x45\x1c\x23\x31\x8d\x29\x67\x34\xaf\x68\xe2\x2e\x38\xd2\xb4\x60\xa5\x85\x92\xd1\x5a\x51\x3a\x49\x47\x1d\x7b\x56\x47\x1d\x7b\x56\xd6\xd1\x17\xe2\xad\x3a\xe6\x84\x52\xc8\xae\xe3\xd4\xc6\x9e\x35\x1c\x72\x56\x7f\xd9\x43\xec\x59\x9b\x75\xa4\xfc\x2a\x9d\x1c\x53\x7e\xd0\x33\x76\xcb\x54\xaf\xea\x78\x35\x8e\x25\x93\x13\xd7\x6e\xb5\xb1\x47\x46\x11\xc4\x1e\xb1\x59\x6b\x81\x19\x33\x26\xc6\xc2\x32\x1e\x88\x91\xda\x6b\xeb\x1d\x5b\xe3\xb8\x8a\x8c\xfe\x26\x40\x24\x41\x44\x1d\x1a\x01\xd9\x9c\x14\x8c\xde\xa0\x9a\x1e\xd1\xeb\x71\x8e\xd2\x98\x4e\x7b\xc2\xb3\x35\xdd\xc2\x4e\xaa\xa2\x38\x54\xfe\x93\x69\x0b\xa5\x84\x86\x11\xaa\xf4\xd7\x3d\xc3\xf7\xf0\x8f\x08\x7f\x82\x0f\xb0\xb2\x80\x69\x3d\x5e\x99\x8f\xf4\x89\x94\xbf\xb3\xfc\x0e\x93\x65\xf9\x11\xbd\x27\x42\xb2\xcc\xfe\x24\x67\xe5\x47\x64\xfe\xe5\xf2\x3b\xe5\x77\x0c\xa7\x19\xc4\xfe\x64\xa4\x31\xcb\x5c\x36\x7c\x0f\x7f\x41\xa5\xcc\x63\x0c\xd1\xf5\x42\xcf\x2c\x87\x2a\x79\xe5\xf2\x3b\x66\xe1\xec\x4f\x32\xbb\x53\xaf\xc1\xf0\xc8\x4c\x36\x13\xe8\x09\xc7\xd0\x7e\x1c\x93\x00\xca\x65\x95\x78\xd4\x63\x1e\xe1\xf1\x7b\xa2\xe6\x39\x9e\x4c\xd4\x63\x1e\xe6\xc9\x79\xa2\xe9\xb1\xd6\x3b\x25\xbd\xc9\x06\xde\x87\x8d\xf6\x93\xe9\x31\x0c\xc3\x8a\xe3\xcd\x77\x8a\x95\x98\x63\xf3\x50\xdb\xb1\xb6\x4c\x35\xf6\x44\x15\xb8\xaa\xd0\x1c\x0b\x43\xcd\x59\xa0\xe3\xd6\x5a\x91\x79\xc7\xd7\x52\xdb\xfe\x36\x63\xef\x34\x3b\x89\x0a\xf9\x5c\x76\x12\x29\xf1\x98\xcb\x50\x96\xb9\x74\xfe\xb6\x85\x24\xe3\x1d\xc8\xa4\xbb\x0d\xdd\x66\x37\x8d\x85\xe1\x5a\xf9\x89\x27\x64\x79\x99\xdc\x18\xd2\x1d\xa1\x46\x79\x99\x7c\x6c\x08\xdd\x38\x0e\x36\xba\xef\xa3\x92\x57\x42\xe8\xc5\x13\xe2\x26\x68\xd8\x79\xe9\xd0\xc6\x24\x4a\x29\x26\xac\x41\x1d\xca\x02\x75\x51\x0d\x7c\x02\xef\x3d\x5b\xce\xca\xda\x9a\x3f\xc8\x59\xf9\x6c\xaf\x97\x2e\xd6\xab\x60\x2d\xde\xa1\xf1\x76\x95\xb1\xb0\x77\x99\x2c\x6b\x17\xfd\x41\x96\x97\x79\xc3\x8d\x5e\xed\x6e\x59\x4f\xb7\x60\x1c\x0c\xb5\xf6\x5e\x53\x31\x07\x48\x8e\x3f\x37\x96\xed\xa0\x78\x4c\x12\x0d\x9c\x55\x0c\x43\xfc\x3e\x51\x72\x52\x35\x45\x2e\x9b\x2f\x74\xf1\x89\x71\x26\xa0\x23\x36\xe3\xb8\xf4\x91\xb3\xfe\xa6\xba\x82\x5b\x25\xbb\xdb\x9a\x8b\xc6\xb2\x93\x7b\x5a\x27\x77\x5f\x64\x44\xb6\x45\x23\xb1\xa9\x2d\x0d\xa4\x8e\x83\xbe\x7f\xc4\xb8\x9c\x3d\xb6\xf4\xee\x33\xfe\xa3\xde\xbb\x4a\xb4\xcf\xae\xaf\xcf\x46\x95\x8e\x40\xf8\xca\x59\x09\x3d\x5a\x9e\x21\x7b\xfd\x53\x26\x2d\x98\x31\x9e\x18\x46\xdb\xa4\xcb\x5e\x53\xab\x6d\xf2\x8c\x92\x9e\xa1\xe7\x1e\x21\x42\x6e\x5c\x93\xc7\x58\xfc\xc1\xeb\xec\xab\x1a\xb4\xf6\x99\xd6\xca\x25\xa7\xb7\xa6\x81\xec\x18\xe0\xfb\x9d\x5e\x06\x3d\xb6\xdf\xe9\xd5\x4a\xc6\xc7\xcb\xdd\xd6\x5f\x09\xf1\x7e\x6f\x3c\xbc\xa3\x74\x30\xc9\x38\xfb\x33\x72\x16\xa4\x83\x52\x23\x3a\x17\x27\x49\x19\x9d\x01\xd2\xfd\xcd\x14\x1c\x39\x26\xd2\x45\xa6\x5e\xc6\x49\xd2\x48\xda\x0e\x4a\x8d\x94\xd1\x45\x85\x91\xb4\xcd\x14\xcc\xa4\x03\xfc\xd7\xd7\xeb\x03\x69\x7d\xe4\xfe\x75\xc6\x70\x5a\x77\x7f\x64\x7c\x00\x5d\xa1\x84\x6e\x4f\xbe\x7d\xbf\xe1\xbd\xff\xed\xe4\xed\x7a\xfc\xb8\x00\x86\x13\xe5\x1e\x09\xa0\xf6\x13\x67\xaf\x04\x8c\xb5\xcb\x8c\x1b\x56\xec\x30\x0f\xfe\x48\xe6\xc4\xd8\x4d\x29\x73\x62\x6c\xa9\x4a\x27\x2e\x0a\x06\x7c\xf9\x13\xd9\x21\xce\xdf\x69\x0b\xd9\x6e\xbe\xd9\x16\xb2\xed\xb4\xe9\x5f\xdb\x38\xff\x0b\x1f\x65\x99\x48\x3f\x39\x7e\xa6\x11\x7f\xc3\x47\x9b\x27\x1f\x6b\x3b\x6d\xad\xe1\xbe\x5b\xa8\xb2\x68\x9c\xd0\x88\xf2\x4e\x6d\x99\x3e\xbc\x5f\x93\xe5\x0b\xe4\xac\x7c\x27\xe9\x93\xfc\x05\xf2\x96\x8f\x34\xa6\x7c\x59\x5b\x26\xcb\xa4\x18\x29\x8d\x2c\x7a\xde\x23\xff\x20\x9c\x9f\x85\x15\x5e\xe3\x5c\x70\x36\x45\xc6\x9e\x9d\x60\xd8\x55\x92\xdf\x07\x77\xe5\x8c\x4c\xe5\xc4\x8e\x10\x39\xab\xec\xbc\xb9\xff\xd2\x9f\xec\xfc\xe4\x50\x03\xfb\xdb\xe7\x1e\xde\x75\x64\xa7\x10\xd9\xf2\x82\xf6\x47\xed\x39\xed\x8f\x2f\x6c\xd9\xf2\x02\x35\x51\x27\x35\xbd\xc0\x6e\xbc\xff\xa6\xb2\xeb\x53\x67\xed\xfc\xd9\x7e\x76\xf8\xec\x9d\x43\xbb\x1e\xa0\x6e\xed\x59\xed\x0f\x86\x85\x65\x33\x4d\xa5\x26\xdd\xa5\xaf\x83\xc5\xe1\x9c\x08\xa1\x07\x91\xea\xd9\x21\xa3\x77\x4d\xbd\x5a\xce\x54\xac\x19\x47\xb2\xc8\x60\xac\x4e\xc9\x96\x8b\x94\x54\x94\x9e\x64\x2e\x9b\x2a\x5f\x99\x4c\xb2\x5b\x95\x5c\x56\xe9\x51\x14\xed\x37\xac\x94\x3d\x85\xa9\x6a\xae\x47\x7b\x2d\xb1\x2e\xd1\x9b\x4c\xb2\xed\x86\xb1\xc2\x2d\x8a\xb2\x40\xb9\x58\xd1\x7e\xd3\x63\xf2\x23\x39\xa1\x54\xa9\xcf\xd4\x6d\x19\x4b\x2f\x8d\xe8\xa8\xcc\x8e\x32\x24\x42\xa1\x94\x2c\x5f\x99\xca\x66\x52\x3d\x8a\x42\xc9\x72\x31\x7b\xca\x29\x59\x56\xd2\x7e\xa3\x28\x3d\x4a\x36\xa7\xb0\x5b\x93\xac\x98\x4f\xea\x60\xf4\x28\x17\x2b\x94\xec\xc9\xa9\xb9\x1e\x52\x12\xeb\x12\x3d\x8a\x52\xbe\x52\x9f\xd0\x91\x1b\x56\xc5\x1e\xa1\x88\xa8\x61\xd7\x66\x36\x6c\x84\xeb\x31\x17\xfe\x4a\x33\x75\xc6\xa5\x27\xd9\xa3\xe4\xf2\x09\xed\x35\xa3\x28\xa3\x21\x3d\x8a\xc2\x6e\x8d\x17\xf2\x49\xbd\xba\xdc\x47\xc0\xa2\xc3\x6a\xf2\x16\xb9\xe1\x27\xc4\x1e\x41\xad\x9e\xf5\xae\x22\xb3\xd2\xac\x11\xde\xab\x82\x5b\xb1\xc7\x68\x65\x2e\x59\xbe\x52\x51\x16\xe8\x0e\x52\x7a\xb3\x6a\xb6\x97\x14\x1d\x7f\x3d\x49\x56\xca\x25\xcb\x1b\x75\x7c\x26\xf2\x39\xa5\x27\x99\xd4\x5e\x63\xa5\x6c\x6f\xaf\xde\x17\x4a\x32\xd9\x93\x1a\xe5\x39\x4b\xc6\x9d\x60\xa6\x2c\x97\xf3\xc4\x63\x4e\xc1\xef\x0b\xfa\x2a\x67\xcd\x3b\x58\x8a\xe5\xb2\x05\x6f\x34\xe3\xa9\xca\x6b\x9a\x2e\x41\x0d\xac\xfc\xd2\x17\x2f\x5b\xd9\x15\x17\x04\x8f\xcb\x6d\x97\xec\x2e\xee\xfa\xdc\x03\xec\x27\x03\x4a\x56\x66\xe0\xee\xc9\xea\xa9\x74\xd6\xc2\xde\x92\xff\xc4\x95\xfd\xab\x0b\xb3\xc5\xb8\xd5\xe5\xf3\x58\x43\x31\x89\x9a\x1e\xf9\xf1\x4d\x74\xa7\xce\x89\xc8\xda\x18\x1e\x20\xa8\xf3\x40\x3a\x24\xc1\xc0\x28\x77\x5e\x1d\x7e\x86\x9d\xda\x24\xaa\xf2\x5d\xfa\xf4\x62\x2a\xdd\xfe\x66\xd3\x1e\xdf\x21\x9b\xc6\xb4\x4a\x56\xde\x41\xbd\xb6\x90\xed\x72\x2e\xa8\xbb\xb5\xc7\x75\xb7\xcd\x46\xbd\x3b\x2a\x16\xb4\xf4\x4e\xc8\x48\x3f\x62\x94\xab\xa7\xb7\x5d\xce\xcd\x37\x6c\x71\xf5\x0c\xb6\xcb\x6d\x21\x23\x43\x56\xa9\xd8\xf0\x39\x86\x3f\x2f\xfc\x4d\xb8\xc2\x84\xef\x44\x70\x9c\x08\x6e\xc3\xee\xed\x38\x80\x9c\x00\x6e\x56\x3c\x2e\x20\xec\xce\xe3\x82\x8d\xaa\x1d\xa6\x60\x9e\x51\xac\x8c\xc7\x11\x62\x1d\x19\x21\x23\x04\xa4\x4b\x54\x6a\x67\xab\xd6\x67\x9c\xdf\xd4\xfa\x8c\xc3\x02\xfd\x86\x87\xfa\x5b\x3b\xb9\xc8\xf1\x42\x8d\xf4\x95\xba\x18\x04\x95\x33\x65\xa8\x71\x7a\x62\xbd\xdc\xa3\x86\x99\x2b\x5f\xaa\x94\x54\x3d\x24\x6a\xca\x9e\xba\xfc\x94\x33\xce\xc4\xb8\xc8\x49\xa9\xd1\x73\x6f\x82\x68\x1e\xdd\x39\x89\x3a\xa8\x9b\xba\x28\x28\x8c\xc0\x9b\xcc\x07\x74\x7a\x97\x04\xe1\xa7\x1d\x8d\xa1\x62\xe8\xc2\x0e\xed\x7d\x83\xd2\xb5\xf7\x3b\x2e\x0c\x15\x43\x8d\x1d\x64\xd3\xde\xaf\x44\x91\xcd\x1c\x04\xb6\x4a\x94\xf6\x3e\xfd\x29\x74\x61\xc7\x25\x1d\x8d\xa1\x2f\x6a\x2f\x18\x47\xa9\x33\x5f\x0c\x35\x76\x5c\xd2\x71\x61\xe8\x9e\x7b\xaa\x31\x94\x31\x4e\x67\xbf\x30\x12\x53\xbb\x1e\xe8\x32\xca\x49\x86\x15\xa7\xb7\x3a\xe3\x8f\x3f\x83\xcf\xc9\xd9\x94\x1e\x20\x89\x7e\xd9\x0c\x61\x93\xcc\x29\xbb\x3a\xe5\xb3\x6f\x7a\x1d\x25\x87\xcf\xe7\x28\x39\xbc\xcc\x6b\xb3\x39\x5f\x77\xda\x6c\x1e\x9f\xf3\x29\xa7\x2c\x8c\xe7\x43\x8e\xfe\xf5\x19\xa7\xec\x73\x3c\xe3\xf0\xc9\x74\x01\x5b\x6f\x17\x2d\x16\xd1\x5e\xbe\xd3\xe6\x72\x55\xf7\xb6\x44\x08\x45\x38\x10\x40\x0b\x16\xe8\x5c\x92\x27\x17\xf5\x7b\xfc\x15\xbe\x2f\x63\xec\x30\xfb\x02\x89\xac\xc1\x3c\x67\xd2\xe6\xb9\xb1\xda\x33\x61\xa6\x84\x65\xdc\x74\x62\xac\xce\x19\xf3\xea\x93\x74\x80\xeb\xd7\x4a\x89\x70\x29\x9c\xd0\x3a\x7f\x70\x5d\xa8\xad\xb5\xb3\x93\xbd\xda\xd9\xda\x16\xba\xf6\xfb\xad\xb4\xcf\xeb\xec\xeb\x6c\x3d\x5a\x6a\xed\x34\xb9\xa9\x27\xcf\xb9\xf1\xc6\x73\xd6\xce\x50\xd5\x19\x6b\x75\x17\x3d\xe9\xf4\x3e\xde\x49\x07\x4a\x25\xad\xbd\xb3\xa1\xb1\x91\x5b\x7d\x7f\x4b\xe7\xe2\xce\xce\xc5\x9d\x2d\xf7\xf7\xeb\x6c\x58\x95\xa6\xcc\x13\x87\x37\x7e\xe7\xc6\x85\x0f\x3f\xbc\xf0\xc6\xef\xdc\xe8\x35\xf5\x64\x92\x79\x8f\xc3\x22\x43\xaf\x1c\x8f\xf1\xa2\xa1\x9f\xcd\xa4\x0d\xa3\xb3\x44\x26\x4d\x3e\x49\x84\xa9\x03\xa4\x78\xcc\xc9\xe2\x31\x25\xd5\xc1\xe5\xb2\xe6\xb9\x4f\x45\x77\x14\xba\xf8\x42\x17\x9f\x49\x37\x33\x01\x4a\xe8\x51\xed\xf5\x3f\x6e\x91\x95\x50\xbd\xbf\x71\x85\xef\x66\x92\xbe\x1d\x62\x8a\xaf\x43\x7b\xfb\x37\xaf\x0c\xec\xba\xc5\xb5\x33\xe8\x9e\xd4\xd6\xd5\xd4\x36\xa1\x81\x59\x38\xae\x6b\x41\x57\x98\x59\xcf\xfa\xc2\x33\xeb\x0b\x8f\x7f\xeb\x9b\x77\xa5\x6c\x29\x5f\x2c\x55\x9f\xea\x8e\xb8\x39\x25\xab\x9c\xbf\xf7\x73\xfe\xfa\x90\x22\xd7\xaf\x90\xaf\x59\x43\xe2\xb9\x2b\x07\xb4\xef\xaf\x5f\x37\x49\x58\x50\xec\x2d\xc6\x27\xf2\x4e\xd1\x21\xc5\x17\xe6\xa7\xca\xfc\x6c\x5b\x26\x77\xc5\x2f\xbf\xb2\x29\xe1\x75\x71\xd6\x54\xd2\x96\xf2\x04\xad\xcb\xb7\x6e\xac\xea\x38\x20\xa8\x22\xe0\x42\x06\x10\xc6\xef\xb0\xf8\x8c\x49\x37\x15\x34\x14\x9c\x42\x2e\x9b\x0a\xa6\x9a\x79\x41\xad\xdd\x27\x1b\xc6\x94\xd3\xfa\xfa\x4e\x9b\x32\x8b\xa7\x65\xdb\x6f\x5e\x56\x30\x7d\x33\x39\xd3\xd7\x3f\x62\xbd\xce\xcb\x8b\xb6\x9e\x73\xe6\xbc\x79\x67\x67\xfa\x54\xa2\x09\x4b\x36\xde\xf0\xe8\xca\x6a\xc8\x8a\xcf\x54\x42\x2a\xbc\x84\x8e\x77\x5e\x85\x07\x51\x4c\x01\x48\x49\x05\xfc\x15\x7d\xb8\x28\x05\xf8\x48\xc2\xe8\x0b\x53\x51\x6e\x58\xf1\x42\xef\x85\x08\x52\x4a\xb6\x90\x47\x04\x41\x51\xdd\xfd\xe6\x0c\xd3\xf0\x6a\xc6\x9b\xbb\x3f\x4b\x77\xd0\x01\xba\xa3\xfc\x44\xd8\x77\xed\xb7\xc2\xad\xe1\x2d\x9f\xf4\x71\xeb\x7c\xdb\xb5\x54\xf9\xb0\x96\xda\xee\xf3\x6d\xa7\x5f\x33\x27\xfd\x7a\x3b\x2b\x1e\xbc\x72\xcd\xd5\x4f\x69\x1f\x92\xf4\xd4\xd5\x6b\xae\x3c\xf8\xc2\xdf\xfe\xc6\x4e\x6e\x0d\x7f\xeb\x5a\x5f\x38\xec\xfb\xe4\x16\xed\x97\xb3\xe3\x7f\xd2\xde\xa6\xc0\x9b\xf1\xd9\xf1\x37\x29\xa0\xfd\xe5\x4d\xe3\x5c\x6d\xbf\x04\x7e\x00\x56\x34\x60\x06\x66\xe1\x13\x40\xb2\xd0\x41\x06\xa8\xde\xf1\x70\x26\x75\x38\x2b\xda\xd5\x5c\xb6\xd0\x41\x26\xc4\xd1\xb4\x71\xaa\xb4\x99\x0b\x06\x64\x9f\x28\x51\x80\x37\xd4\xcf\x7c\xbc\x90\x4f\x14\x94\x54\xa1\x99\x82\xac\x6d\xd1\x59\x2b\x67\xbc\xb9\xfb\xab\xec\xe6\xd1\x56\xd0\xe7\xe8\x62\x6d\xf9\x45\x53\x6c\x5e\xfb\x16\x77\xfb\xed\x87\x96\xfa\x7c\x5f\xa4\x67\xc9\xf1\xa9\xb3\xf3\x36\xaf\x10\x4a\x34\x47\x39\x77\xf2\xbe\xcf\x50\xbd\x85\x4a\xbe\xd4\x9c\xbb\xb5\x2b\x7f\xb7\xe0\x00\x5d\x74\xf5\x15\x5f\xed\x3e\xf7\x1b\x27\xff\xe4\xf3\xdd\xa5\xb5\x7a\x3b\x35\x8d\x5d\x32\xda\xcc\xbf\x4a\xec\xe9\xb2\x7d\xff\xa7\xdc\x73\x6c\x5e\x7b\xcf\x29\xaf\xde\xdc\xd2\xdb\xf2\x36\xb9\x3d\xe7\xb9\xed\xb2\x57\x66\x36\x6d\xf2\xad\x6f\xa6\xe9\xfd\x93\xb6\xce\x89\x15\x4f\x7f\xf4\x99\xad\xde\x77\xf7\x7f\xeb\x8a\x0d\xc5\x6f\x9e\x6b\xf6\x9d\x7b\x58\x15\x07\x0d\x7a\x8a\xea\x14\x35\x5e\xfe\x3b\x76\x4e\xe2\x28\x20\x8d\x58\x79\x52\x17\xa5\x03\x7c\xcd\x5e\x2d\xf3\xda\x1c\x75\xaf\xd7\x39\x2a\xb3\x92\x83\x43\x3c\xe9\x99\x16\x3b\x82\xd8\x34\x4f\x32\xce\xc1\x33\x7d\xce\xf4\xfb\x9f\x71\xca\xb2\x53\x7f\xd1\x56\xfa\x99\x5d\xaa\xab\x93\x9c\x5a\xc1\xe6\x70\x70\xfb\x8e\xa8\xdd\xdd\x4d\xb1\x58\x53\x77\xb7\xa0\xb6\x24\x12\x95\x35\x69\x9d\xb0\x0e\x69\x80\x02\xa2\x8b\xe4\xaa\xb6\x3b\x65\x25\x43\xf3\xdd\x46\xca\x24\xa6\xa4\x94\x6e\x93\xa5\xb1\x92\xe9\x0e\x0a\x85\x2e\x12\xfa\xda\x8b\xbd\xf7\xf7\x0b\x1e\x55\xb2\xf3\x9c\x4b\xd4\xfe\x4b\x2b\xe7\x04\x47\x9f\xd5\xc9\x5c\xd6\xa7\x87\xea\x18\xd9\xfa\xac\x4e\x91\x7d\x9f\x38\x8d\x77\x72\xac\x4e\x75\xba\xd9\x17\xfb\x7b\x4b\x42\x5f\xb6\xd4\x7b\x7f\x79\x9e\xec\xec\x13\x89\x73\xd0\x90\x56\xfe\xbe\xc7\xd9\x67\x65\x75\x43\x4f\x4b\x6e\x87\xfd\x3c\x2b\xe5\x88\xa3\xa0\xc5\xed\xae\x53\x1d\xc2\x57\xfa\x7b\x8b\xfa\x4a\x36\x6c\xee\x51\x1c\x6b\x0b\x5d\xb5\x82\x3e\x0d\x57\x00\xc1\x8a\x25\x77\x72\xdc\x97\x6a\xfd\x23\xca\x9b\xca\x7c\x5c\x93\xae\x30\x2e\x2e\x39\xee\xd4\x48\x45\xdc\x8b\xd6\xdc\x25\x10\x50\x29\xa2\x0d\x50\x1f\x15\xb5\x92\xd6\x3f\xde\xcd\x06\x0c\xb7\xaa\xbf\x39\xe8\x21\xa6\x5b\xeb\x1f\x3d\x4a\xc3\x06\x46\xc3\xc9\x28\x2d\x32\x1a\x49\x6a\x6f\xf6\x88\x71\x82\x5d\x5d\x31\xb3\x38\x73\x05\x99\x1f\x35\xdb\x6b\xd6\x1b\x29\x1a\xd9\x8a\x45\x8a\x0c\x81\x22\x54\x32\xbf\x45\x2a\xb2\x08\x45\x0c\xab\xd7\x01\x87\x2c\x0f\x7d\xdd\x48\xa2\x67\x28\xd5\x04\x2f\x3c\x6a\x5c\x78\x22\x20\xdb\xdb\x37\x73\xc5\x8a\x99\x7d\xe6\xbb\xb7\x22\xc7\xf4\x4b\x10\x06\xe0\x45\x01\x97\x01\x24\x4a\x1d\x7c\x8d\x99\x42\x75\x0f\x7b\x06\xc5\x9c\xd4\x21\xa6\xf2\x85\x66\x3e\x13\x35\x8f\x12\x90\x77\x24\x32\x1a\x73\x32\x49\x94\x9c\xb5\x16\x0e\x86\x31\x5f\x97\x38\x92\x9a\xdd\x33\x7d\x61\xa0\x39\x93\xe9\x69\x1f\x30\x8e\xb7\x1e\x11\x44\xab\x56\xb2\x3a\x1d\x72\xe4\xe2\xce\x65\xd9\xde\xf4\xcc\xec\xd4\xc6\x69\x95\x24\x84\xd1\xe3\x7e\x7a\x92\x61\x4c\x5e\x34\x7d\x62\x7d\xa4\xa3\x69\xc2\xac\x19\x67\x9d\xb3\x79\xb6\x59\xc6\xb8\xc0\x6a\x2e\xbe\x65\xf9\x13\x27\x15\xe6\x4d\x68\x32\x54\x0c\x43\xce\xb0\x5e\x8a\xec\x28\x11\x71\x92\x33\x18\xeb\x98\x91\x3a\xe7\x71\x23\xbe\xe4\xf4\xda\xb4\xef\x71\x9b\xaa\x09\x9a\xa7\x77\x77\x74\xad\x9f\xb9\x6c\xf3\xe2\x4f\x66\xa2\x46\xe6\x31\x21\x66\xf2\xd1\xfd\x17\x01\xd0\x59\x53\x37\xe3\xe3\xb1\x94\x28\x88\x92\xa8\xa4\x72\x4a\x5e\xd1\x17\x41\xa1\xa0\xb0\x5c\xb6\x8b\x12\x99\x34\x2f\x61\x50\x5b\xf5\xde\x9c\x9e\x67\xb5\x23\x53\x4e\xf1\x34\xf2\x9c\x40\x36\x66\x67\xd2\x64\xff\x84\xfa\xe6\xba\x2f\x3f\x71\xdb\x20\xf5\x7e\xfb\x3d\xba\x97\xeb\xd0\x1e\xd2\x7e\xfd\x35\xcb\x37\x66\x39\x2d\x2c\xe0\x25\xde\xcd\xbb\x38\x27\xb3\xe4\x82\x9d\x1d\xf3\x5a\x3f\x45\xe2\xdd\x9f\x79\xe7\xd1\xd5\x5f\x1b\x2b\xf3\x67\x8c\x93\xbc\x7e\x9f\xc1\x15\x55\x57\xb2\x26\xf2\x35\x73\xe9\x2e\x6e\x64\x65\xfb\x58\x6d\xfe\x8f\xb4\xfb\xb5\x79\xda\xfd\x3f\x32\x4f\x6e\x4c\x9a\x7e\x46\xc7\xc4\x8e\x33\xa6\x4f\x32\xbd\x43\x50\x42\x9a\x79\xeb\x5a\xe5\x72\xa2\x51\x1f\x2b\xa9\x3f\xd1\x9e\x79\xe2\x09\x9a\xf9\x13\x53\xc5\x98\xed\x55\x02\x3c\x1f\xd0\x05\xa1\x90\xa2\xb0\x0b\x46\x93\xd6\x66\xab\xe8\x87\x97\xc1\x2f\x3e\xc2\x47\xe0\x03\x92\x52\xed\xcd\x22\xd5\x3d\xaa\x3b\x0d\xd5\xf0\x31\xda\xe0\x17\x1e\xae\x6a\x77\x1f\x96\x73\x32\x7b\x53\x96\xcb\x8d\x72\xae\xaa\x1f\x1e\x10\x1f\xe1\xde\xae\xea\x87\x8f\xd9\xbd\x13\xef\x34\xf4\xc3\xc7\x68\x83\xd9\xab\xe5\x46\x59\x2f\x2b\x27\x3f\x2c\xcb\xa6\x62\xfa\x61\xa3\x50\x93\x37\x52\x79\x15\x49\xf4\x54\xef\xb8\xea\xe0\xa6\xd3\x0c\x1a\x73\xf2\xd5\x3c\xf7\x1f\x35\x76\xfd\xab\x1b\x71\x39\x73\x27\xce\x94\x56\x8d\x8b\x3d\xb8\x30\x35\x91\x27\x93\x0e\x08\x90\x1d\x43\x45\x4b\x9d\xc4\xb3\x52\x48\x71\x51\x51\x9e\x2e\x53\xd1\xa5\x84\x4a\xac\xe8\xb6\xf6\x4b\x4c\x75\x69\x25\xdf\x54\x9f\x56\xd2\xc3\xca\x25\x3d\x4c\x76\x70\xa5\x6a\x8e\x88\x43\xe6\x6d\xa2\x47\xf4\x51\x3f\xf5\x2b\xa1\x7a\x0f\xa9\x81\x80\xa6\x7a\xea\x43\x8a\xa6\xd6\x95\x6c\x74\x57\xbd\x47\x53\x83\x41\x32\x82\x48\xb5\x97\xac\x75\xa3\x59\xb4\xbe\x1a\xfd\x91\x2a\x98\x67\xa8\xa7\x02\x89\x8a\xb5\x05\x5f\xf9\xca\x1e\x9f\x28\x09\x01\xbf\x4f\x1a\xb9\x9c\xcf\xe0\xf3\xb8\xb8\x79\x4b\x5f\xba\x99\x0f\x1a\x56\x17\xc6\xcd\x1d\xdc\xf3\xc6\xe7\xf9\x68\xfd\xd1\x83\x8e\x7a\x6e\xb7\x71\x61\x1f\x42\x8a\xdb\xdd\xc8\xfe\xf5\x79\x53\xd1\xed\x6e\x70\xda\x79\x89\xf8\x7f\x0d\x29\x59\xe3\xb6\x0f\xf3\x8f\x2b\x69\xa8\x4f\x72\x5b\xa6\xdb\xdc\x93\x15\x5d\xc2\xaa\x9b\xd0\x32\x45\xe0\x0a\x4a\x56\x71\x78\x5b\xfc\x8a\xa4\x60\xcc\x79\x37\xdf\xb1\xfb\x47\x4d\x86\xae\x43\xdd\xba\xfc\x68\x71\xf9\xd6\xad\xcb\xa9\xb8\x7c\x2b\xeb\x5f\xbe\x95\xeb\x2f\x1b\x7e\xae\xa4\xbf\x23\x5b\x47\xf6\xc4\xa5\xb3\x04\x15\x32\x26\x9a\xd2\xbe\xb9\x2e\x57\x8f\xbb\xa7\x03\xe4\x8f\xc6\x44\x89\xa4\xec\xd8\xf2\xa5\xb3\x5a\xb4\x7d\x6d\x5f\x9a\x79\xb4\x14\xcb\xb5\xd0\xe2\xb6\x2f\xcd\xe4\x8b\xb1\x9c\xb6\x77\xa8\xb4\xe2\xc5\x19\xda\x37\x04\xaa\x54\x1c\x59\xbe\x95\xcd\x6b\x89\x6b\x1b\x33\x73\x43\xcd\x2d\x71\xda\x9e\x99\x1b\xa2\xa9\xfd\xe7\xce\xd3\x36\x8a\xbc\x87\xaf\x01\x86\x50\x1c\x06\x2b\x89\x86\x6d\x0d\x0c\x22\x1a\xbf\x95\x3b\xba\x71\xcb\x4a\x4a\x68\xfc\x36\x6d\xcd\x36\x2b\xff\x5a\x56\x1f\xaf\x35\xbb\xb0\x3c\x46\x36\x5d\x4d\xfc\x51\x51\x02\x57\x32\xeb\xaa\xee\x1d\x8f\xdf\x29\x1e\xbb\x2f\x7c\xdc\x02\x47\x77\x7d\xc7\xed\xf2\x56\x76\x75\x2b\xf7\xb0\x58\xaa\xe7\x9b\x1c\xf0\xc0\xaf\xf7\x59\xd4\x63\x9e\xc2\x8a\x7a\x32\x9e\xaa\x8f\xa9\xc3\xd0\x1f\x01\x1f\x40\x15\x60\x7a\x98\xaa\x81\x81\x61\x08\x3c\x8e\xaa\xaa\x88\x23\x2a\xa7\x96\xc1\x81\xd4\xa3\xfa\x68\x1c\xd5\x59\x4c\x46\xd1\x58\xbd\xf2\x05\x51\x32\x99\xd0\x60\x07\xa5\xf4\x8f\x92\xf2\xfb\x02\x41\x9d\xe7\x69\x26\xe3\x13\xc8\xa4\xbb\xb8\x5c\x36\x95\x3f\x66\x52\x44\xe7\x29\xb3\x1b\x4e\x39\x75\xc6\xf2\xb3\x3e\x2d\xdc\xf0\x87\xd3\x9a\xce\x9e\x94\x5b\x35\xbf\x29\xe0\x08\xf9\xd7\xce\xde\x78\x47\xa8\x7e\xd7\x63\x1b\x7e\xb8\x7d\xf5\x14\xea\xa6\x89\x7b\x37\x0d\x19\x76\x4d\x5c\x69\xd3\x5e\xee\xbe\x06\x6b\xeb\x42\xc5\x31\xf3\xd3\x67\x35\xc9\xd2\xc6\xf3\xd2\x9d\x97\xcf\xa0\x06\xd6\x73\xa5\xd3\xc2\x77\x9f\x41\xcb\xb8\x15\x73\x37\x7d\x69\xef\x12\xaf\xf5\x24\x62\xa3\xb9\xf6\x8e\xd9\x0b\x4d\x00\x23\x9b\x7a\x9e\x4c\x21\xae\x4f\x15\x85\x9c\x62\xe8\xd9\xe3\xfe\x4c\xf5\xa6\x8d\x0c\x3f\xa0\xe7\xdf\xff\xe3\xe6\x37\x27\xcd\xde\xd2\x7d\xc5\xb6\x07\x9f\x7b\xae\x7c\x50\x0f\x32\x4c\x12\x8a\x9b\xf6\xb2\x33\xdf\xda\xd5\xd9\x49\x3f\xb7\xf6\xef\xfc\xda\x5b\xe5\xaf\x9b\x75\x99\x22\xc6\xe8\x9d\x38\x3a\x5f\x15\x47\x0a\x1d\xe8\xaa\x48\x7a\x35\x5c\x7b\xbe\x6a\x6d\x15\xcd\x45\xe1\x56\x22\xa2\x3b\x10\xd1\xdd\x5c\x74\x06\x45\xa5\xda\x23\xf4\xe6\xc5\x6b\xfd\x5e\xe7\xcc\x15\xde\xb0\xb7\xb3\xd5\x79\xd8\xb0\x39\x1a\xba\x5b\xc4\x11\xf0\x6a\xe5\x62\xbf\xa1\xdf\x93\xaa\xe9\x9d\x37\xf4\xc3\x62\xf9\x1a\x51\xed\xc9\x1d\x41\xae\xa7\x27\x27\x22\xd7\xc3\xbe\x19\xf6\xae\x98\xa9\xaf\xe5\xad\x9d\x16\xc3\x2c\x69\xe8\xfb\x2a\xb5\x50\xd7\xef\xf5\xcc\x3c\x53\xb5\xd2\x55\xb7\xa8\xea\x51\x23\x83\xa0\xbf\x8d\x3e\x9f\x27\xde\x69\xc8\xa9\x73\x2b\xf6\x4f\x7a\x37\x1b\xe2\xb6\xde\x04\xbd\x83\x8d\x9b\x35\x3b\x58\x4a\x0a\x56\x14\x68\xa6\x25\x5e\xd6\x9b\xa8\xdc\x06\x59\xa8\x1e\xa7\x6c\xe6\xb9\xe2\x86\xfe\x0d\xf2\x84\x89\x8b\x37\x54\xbe\xdc\x0f\x56\x7a\xac\xa9\x58\x1b\xd7\xf7\x7a\x78\xd1\xc4\xd6\x70\xf9\xbc\x7d\x4f\x3f\xf8\xc2\x33\x94\xee\x7f\xf0\x85\x1b\xe9\xfc\x3e\xae\x23\x16\x59\xe9\x71\xd8\xc4\xc5\x4b\x3e\x75\x32\xb7\xaf\x7f\xc3\x86\xc5\x13\x27\xc8\x1b\x2a\x5f\x0d\x9e\x95\x91\x58\x87\x9e\xb9\x75\xe2\xa2\x30\xfb\xca\x8d\x2f\x3c\xd8\x4f\xe9\x67\x5e\x78\xf0\xe9\x7d\xda\x97\xfb\xb8\xb6\x58\xca\xea\x59\x69\x13\x17\x9e\xb1\x6c\xa6\xa9\x46\xc0\xb0\x4b\x52\x85\x41\x48\xf0\xa0\x11\xd7\xe3\x69\x1c\xad\xb1\xeb\x32\xdb\x17\x48\xe7\x3d\x23\xae\x9a\x7b\x7e\xfc\x1f\x71\xd1\xcf\x3f\x7f\xcd\x4f\xcd\x25\x3f\x64\xd8\x04\x19\x96\x41\xba\x90\x2f\xc6\x52\x7a\x3d\x46\x76\x25\xa5\x98\xe6\x41\x46\x59\x2c\x93\x0e\x04\xf3\xe9\x60\xbe\x9b\xcc\x12\x02\xc1\x80\xe7\x7f\x93\x99\x53\x0d\x2a\xe2\xee\xee\x5d\xd3\xdb\x73\x71\x8f\xf9\xd6\x54\xa7\xf5\x4b\x75\xfe\x58\xa7\x24\x05\x37\xc9\x75\xb6\x2b\x92\xad\x75\x76\x29\xf8\x9d\x3a\x2f\x05\x63\x13\xae\x92\x1c\x75\xb6\x1d\x92\xad\xcb\x1d\xb4\xef\xb6\x39\x47\x92\x06\x36\xeb\x49\x63\x6d\xb5\x49\x2d\x76\x3d\xa9\x7d\xba\x2b\x58\xb7\xdb\xe6\x64\xea\x5d\x76\x6f\x86\xdf\xc2\x2c\xbd\x4e\x9f\xcf\xe7\xec\xb5\xb0\x2d\x7c\xc6\x6b\xbf\xeb\x2e\x87\x27\xc3\xf3\x5d\x9d\x95\x88\xcc\x04\x91\xdf\xcc\x67\x3c\x8e\xbb\xfe\xd9\xf4\x95\xab\x8c\x86\x0d\x26\x3c\xd7\xd3\xc3\xe7\x2a\x0e\x6d\xc7\x53\x36\x99\xea\xe3\x13\x26\xcf\xaa\xb3\xda\xa5\xe6\x4d\xd2\x32\xd9\xbe\x6e\x52\xbd\xcb\xf6\x45\x9b\xff\x53\x92\xe5\xb3\x8d\x56\x9b\x73\x51\xa0\x5d\xa9\x27\x4f\x5d\x6d\x52\x4b\xf3\x55\xd2\x32\xaf\x73\x5d\x47\x4d\x52\x4b\x9d\xbb\x37\x30\x39\x16\x64\x9e\xf2\xc0\x76\xb7\xab\xb1\xe1\xb2\x06\x9e\x9b\xbb\xc2\xcf\x98\x7f\xc5\x5c\x8e\x6f\xb8\xac\xa1\xd1\xe5\xde\xee\x76\x35\x05\xf5\x08\x96\x88\x9c\xe3\x67\x6c\xee\x04\x36\x47\x8f\x0b\x36\xb9\xb8\xc1\xff\x49\xae\x11\xbb\x11\x83\x17\x4e\x1a\x56\xaf\x6e\xd1\xe0\x86\x8d\xeb\x80\x94\x94\x92\xed\x12\x0a\x5d\xbc\xa1\x22\xc8\x27\x22\x3c\xf9\x44\xa9\x99\x0f\x36\x8b\x3a\xa5\xa5\x94\x94\x92\x12\xe3\x11\x7d\xc4\x26\x0a\x5d\x94\xcb\xa6\x9a\x49\x50\xf7\x6b\xdf\xfd\xf7\x4f\x2e\xbb\xe6\x9e\x44\x9a\xab\x93\x19\x11\xc7\x04\x4e\x24\x21\xe1\x6e\xf2\xdb\xae\xb9\x6d\x3f\x9d\x4a\xd7\xd1\xa9\x6c\xfa\x6d\xd7\xd8\xfc\x4d\xee\x84\x40\x22\x27\x30\x8e\x88\xf3\xd9\xd3\x89\x7b\xae\x59\xf6\x49\xed\xd0\x4f\xa6\x36\xdf\x4f\xad\x1b\xaf\xbd\x29\x78\xc3\xdd\xdc\xad\xda\x5f\x0e\xde\xec\x5e\xda\x6a\x95\xdc\x0e\x4e\x12\x45\x5e\xe2\x24\x12\x15\x7f\xb2\xb5\x7e\xde\x2f\x37\xdd\x7a\xf0\xe6\x9b\xcb\x37\x6f\xfe\xc5\xbc\xfa\xd6\xa4\x5f\x11\x49\xe2\x24\x5e\x14\x25\xce\xe9\x26\xc9\xda\xba\xd4\xbd\x95\x5f\xb6\x64\xf9\xe0\x4d\x0b\x7b\xe6\xbe\x32\xc2\x77\x1b\x67\xe7\xa6\x63\xfd\xe8\x6d\x33\x94\x55\xe2\xd1\x6c\x3e\x97\x55\xe2\x23\x92\x90\x27\xa3\x73\x46\xba\x88\x99\xcb\xa6\xba\x28\x9b\xd2\xa3\x53\x5d\x54\xf0\x19\x23\xc3\x78\xc4\x36\xa6\x23\x69\x74\x3e\xd5\x07\xa5\x2e\x39\x65\xd2\xcd\xfa\x08\xcc\xa4\x03\x64\x5e\x49\xc3\x3f\xb2\x28\xad\xf5\xf7\x15\xfb\x42\xf5\xc9\x09\x81\x02\xaf\x34\xb4\x27\x26\xa4\xdc\x91\x88\x23\xd9\x34\x29\x38\x59\x78\xf9\xc6\xab\x4b\x42\x73\xdc\x9b\xf3\xb9\x22\x6d\xea\x14\xab\xc2\x4d\xa7\x47\x3f\x9f\x38\xa7\xef\xbb\x9f\xde\x18\xd0\x06\xf4\xf9\x93\xbc\x89\xd5\x53\xa7\xd4\x07\x95\xb6\x54\x66\xc9\x4d\x73\x26\xef\x5b\xb3\xdb\xbc\xb3\x86\xa9\x99\x85\x53\x7f\x36\x6d\xe5\x8a\xd0\x55\x9f\x6d\x0b\xce\x16\xd2\x91\x5c\x3c\xe1\x2d\xab\xa2\xe4\xb2\x78\xd8\xfc\xaf\x86\x9a\xdd\xf3\x17\x44\xd2\xa7\x36\xcc\xf0\xd0\xf2\xc4\xa7\x16\x44\x13\x0b\x67\xf9\x03\xab\x17\xde\x7a\xff\x49\x6d\xad\x3d\x39\xa6\xe6\x7a\xea\x6f\xec\xc9\x35\x5c\xbd\x75\x62\xf2\x94\x5b\xae\x3c\xe7\xfc\xdd\x18\xb9\x83\xc9\xb0\x25\xed\xd2\x65\xcb\x9a\x19\x2d\x65\xf4\xb5\x81\x8f\xbc\xa9\x31\x91\x9c\x82\x89\x31\x21\x18\x08\x36\xb3\xa0\x3e\x91\x2b\xb9\x68\x3a\x5f\xd0\x57\xc4\xea\x34\x67\x98\x8d\xa6\x94\xd4\xe8\xf2\x53\xe8\x22\x7d\x0a\x93\xfc\x23\x28\x1d\xc1\x57\x5b\xc4\xe5\xcb\x79\xe3\xcd\xc2\xca\xb3\xd4\x1b\x5f\x16\x26\x07\x27\x35\x25\x1d\x91\x88\x3b\x35\x21\xd1\xde\xa0\xf0\x85\xc0\x84\x64\x7d\xa8\xaf\xd8\x47\x7d\xe9\x45\xea\xee\x35\xfb\x26\xc7\xe3\x37\x2d\xc9\xa4\x62\xad\x75\xf5\xf2\xe4\x69\xab\x13\xda\xbb\x06\xd2\x22\x81\x8d\xea\x33\x17\x6d\xd8\xfe\x75\x9a\xce\x29\xd6\x29\xbc\x79\xc8\x52\x43\x7c\x39\x79\x66\x34\x9c\x9a\x6e\x51\x92\xf3\xdd\xcd\xa1\x4f\x9c\x31\x9f\x79\x2c\x2e\x49\x2c\xab\xde\x44\x3c\x17\x49\x0b\xb3\x83\x6d\x9f\xbd\x2a\xb4\x62\xe5\xb4\x9f\x4d\x5d\x98\xbe\x70\xf7\xf9\xe7\x5c\x35\xfb\xd4\x53\x92\xd1\x95\x67\x7e\xd2\x9f\x5e\x78\x63\xbd\x89\xb7\xd6\xf6\xf6\xfb\x6e\x16\x16\xae\x0e\xf8\x67\x2d\x4c\x44\xe7\x57\x78\x82\xaf\x73\x45\x43\x26\x07\x79\x8e\xb9\xdd\x97\x2b\x8e\xbf\xbd\x57\x18\x38\xf2\xa3\x63\xaf\xe7\xad\x1d\x9b\x2a\xc2\x38\x19\xa0\x6c\x07\x67\x48\xea\x3a\x22\x63\x4e\xce\xef\xd3\x65\xa2\x42\x85\xcf\x1c\x77\x67\xb2\xa8\xb6\xcd\xea\x5b\xbe\x66\xf3\xea\x79\xf5\xde\x2e\x6f\xfd\xbc\xd5\x9b\xd7\x2c\xef\x9b\xd5\xf6\x5d\x76\x2a\x9b\xbd\x5f\x7d\xb3\x7c\x87\xf7\x04\xf7\x29\x73\x8f\x9e\x7e\xcd\xfc\x0e\x77\x66\xe1\xac\x70\x20\x10\x9e\xb5\x30\xe3\xee\x98\x7f\xcd\xe9\x7b\xbe\x5b\x7e\x89\x4d\xda\xbf\xe7\xb7\x6f\x96\xf7\x78\x8f\x77\xdd\xf2\xa8\x9d\x6a\x44\x00\x5a\x75\x7e\x2e\xe9\x0b\x38\x59\x2d\xaf\xe1\xaf\x04\x54\xec\x34\xa7\xb2\x66\x6e\x64\xc7\x6c\x24\x99\xb9\x43\xc6\x54\x46\x82\xcb\xa1\x19\x56\x9a\x54\x74\xc8\x15\xef\xcc\x15\x2b\x66\x52\x84\x7c\xa2\x47\xb4\xf1\x5c\xbf\x5c\x1e\x90\xb3\x8a\xb1\xf7\x13\xa2\x92\x92\x95\x59\xa4\x8f\x8f\xf8\x43\x0e\xd3\x30\x5d\x76\x18\x9e\x15\x33\xcb\xc5\x99\x2b\x18\x2f\xd5\xb1\x74\x56\xcf\xa2\x84\x28\x52\xb9\xe3\x20\x12\x52\xe4\xf2\x40\xf5\x1c\xb0\xc9\xeb\xba\x90\x44\x0e\x28\x64\x3c\xf1\x42\x07\x19\xab\xb6\xb9\x2b\xe0\xd1\x79\x2d\x29\x93\x8b\x07\xb8\x8c\xc7\x5c\x88\xfd\xe3\xd9\xd0\x77\xfe\xfc\xe7\xf7\x69\xce\xc6\xf9\x73\x4f\xa6\x69\xf3\xd8\xfc\x3f\xef\xdc\xbc\x6d\x3e\xfb\x33\xc7\xfd\x59\x72\x4d\x6f\xdf\x48\x07\x6a\x59\xcf\x2d\xec\xdb\xaf\x64\x67\xcf\xce\x66\x4e\x3d\x75\xe8\xab\x74\xdb\x3d\xf7\x5d\xb9\x7a\x66\x79\x3b\x6d\x55\xbc\xf1\x29\x5f\x66\x57\xd4\x72\x9b\x86\xee\xdb\xb8\x33\xa5\x0e\x1d\x3a\x65\x19\xec\x84\xc7\xe0\x27\x74\x00\x38\x27\xb5\x51\x2c\xc5\x19\x12\x50\x3e\xe3\xa9\x08\x77\xba\xc4\xe7\x49\x07\x68\xc0\x1b\xf6\x7a\xc3\x5e\xd6\xaf\x84\xb4\x33\x33\xcc\x63\xa7\x46\xa1\x57\x5b\x17\x52\xbe\x7c\xfe\xc8\xd5\x8b\xd9\xf3\xbf\xcc\xfa\xc9\x30\xed\x30\xee\x25\xd3\x1e\x0b\x29\x5a\x93\xdd\xd3\x48\x6f\x2a\xa1\x4f\xff\x88\xc1\x94\xf3\x34\xfc\x68\x44\xfe\x32\xfe\xcf\xe0\xf1\xee\xff\x6d\x32\xef\xf7\xad\x35\xf4\x1f\xb9\x85\xf1\x78\xfb\x7e\xa3\x26\xb9\xcc\x00\xa0\x5c\x1c\xb1\x3f\x36\xae\x47\x53\x95\xac\xbc\xaf\xbc\xd1\xdc\xfe\x63\xdb\xf7\xc9\xa6\xa9\x22\xeb\xd3\x4a\x55\x43\x5c\x23\x61\xd5\x08\xd7\xb8\x90\x91\x3b\x43\x43\x48\x31\xf2\x19\xbb\x80\x7a\xbe\xac\xa2\xd4\xdc\x31\x15\x34\xfe\x97\xf0\xf1\x69\xd0\x3a\xd2\xa6\xac\xd2\xc5\xaa\xa7\x15\xe2\xd1\x89\x4c\x67\x3e\xcd\xa0\x00\x7f\x3c\x12\xa4\x2b\xf6\x6e\xd2\x4a\x15\x9a\x25\xa3\x25\xda\x40\x85\x66\x2b\x61\x9b\xf6\xea\xe2\xd7\xf1\x48\x91\x32\xe5\x62\x0d\xe5\xb2\x92\x49\xb9\x16\x93\xac\x47\xe4\x7d\x15\x22\x1c\x98\x0f\x90\x92\x8b\xfa\x7d\x81\x64\x2e\xea\x93\xba\xa8\xe0\xf7\x99\x2b\x18\x19\x1b\x3f\xd5\x7e\x30\xf7\x48\x8c\x59\x39\xa5\xa4\x3a\x2a\x8a\xa5\x5c\x8d\x54\x4c\x3f\x5d\x30\x8c\xa7\xf9\x1f\x0c\x63\xc1\xe7\x9f\x56\xcf\xfc\xfc\x0b\x97\x4d\xcc\x29\x4d\x33\x66\xf5\x5c\xe9\x75\x0e\x95\x9c\xde\x2b\x7b\x66\xcd\x68\x52\x72\x13\x2f\x7b\xe1\xf3\x67\x76\xb6\x52\x64\xc5\x4c\x56\x9c\xb9\x82\x22\xad\x9d\xec\xf3\x0f\xfc\xa2\x6f\xd1\x9e\xf7\xfb\x7e\xf1\x40\xd3\x9e\x17\xd5\xb9\x3b\x36\x9e\x26\xe4\x27\xc4\x16\x66\xf2\x0b\xce\x3e\xd5\xbc\x61\xe6\xd4\xb3\x17\xe4\x33\x0b\x63\x13\xf2\xc2\x69\x1b\x77\xcc\x55\x5b\x3b\x4d\x1d\x66\xa7\xf9\x0f\xf5\x46\xce\x2c\xe8\x92\x4d\x0b\x52\x68\x47\x1a\x37\xe0\x0e\x80\xf2\x29\x45\x12\x83\x01\xf3\x5d\xc8\xa7\x2a\xfe\x60\x5e\x49\x29\xc6\xd7\xf0\x37\x53\x36\x1e\xf3\x15\xf4\x90\x3c\x65\x11\x81\xdf\xe7\x0d\x06\x74\x59\xc2\xc9\x3a\xc8\x68\xb0\xb1\x22\x07\x9b\xc9\xb8\x80\x4a\xef\xbf\x82\x52\xc8\x07\x5a\x74\x89\xbc\x8b\x05\x03\xfa\xda\xe3\xe4\x24\xf3\xa8\x76\xa0\x90\xf7\x8e\xa7\x67\x26\xf1\x92\x55\xe0\x25\x6b\x50\x90\x44\x51\x12\xc4\x49\x4c\x92\x88\x93\x2c\x01\x46\x9c\x68\x11\xc4\xb3\x59\x9d\x95\x67\x75\xd6\x0e\xbb\x6d\x06\x0b\x30\xe6\x63\x9f\x31\xcf\x3a\xfc\xf0\x1e\xaf\x87\x44\x39\xdb\xde\x66\x09\xc6\x98\x50\xc7\xd5\x39\x45\xef\x44\xbb\xbb\xad\x3d\xe2\x94\x42\x53\x16\xcc\x4b\xe5\xea\x9b\xe4\xb9\x0d\xa1\xa9\xdb\xa7\xd6\xc5\x7b\xe5\xa6\xfa\x5c\xb8\xad\x38\x43\x89\x93\xc7\x7b\xcf\x0f\x09\xb5\xf3\x05\x2d\x16\x25\x49\x10\x25\xa9\x43\xe2\x78\x8b\x85\xe3\xa7\xf0\x3c\xe3\x05\x8e\xc9\x24\x31\xc9\x22\x89\x73\x25\x9e\x93\x24\x9e\xe3\xdd\x6e\x97\xc4\x4b\x16\x9e\x4e\x35\x8e\x86\x1c\xf8\xaa\xf6\xf7\x2c\xe7\xb6\x67\xdb\x88\x23\x6b\x4b\x68\x9a\x8b\x84\x3a\x8b\xc4\x37\x06\xc2\x61\x49\x9c\x14\x10\x1b\x72\xe7\xcf\x39\x6d\x6a\xd7\x02\xb1\xd1\xed\xf6\x78\xa4\x40\xb3\xb8\xa0\x6b\xea\x69\x27\x9f\x95\x4b\xb8\xf9\x96\x62\xeb\x4a\x66\x77\x73\x59\xaa\x63\x9f\xab\x9d\x93\xaa\x77\x27\x94\x8c\xbe\x33\xe6\x81\x8f\xbe\xbf\xcf\xb8\x68\x33\x5f\xd0\xc9\xcd\xdc\x5f\x37\xa3\xa2\xb1\x94\x52\x51\xc1\x9d\xe8\x06\xbf\xaf\xf9\xcf\x9f\x41\x98\x71\xbe\x9f\xbe\x66\x5c\xe2\x37\x71\x18\xa6\x9d\xea\x30\x26\x7a\x3c\x2d\x54\xf2\xe6\xbd\x54\x6a\x51\x4e\x70\x89\x5f\xe7\xbc\x79\x9d\x9d\xac\xaf\xb5\x3a\x4c\x5b\x53\xcd\x54\x92\xe5\xff\x8f\xb7\x37\x81\x6f\xa3\x3a\xf7\x86\xcf\x73\xce\x2c\xda\x66\x24\xcd\x68\xb3\x2c\xcb\x92\x65\x49\x5e\xe5\x44\xab\x1d\x6f\x8a\xb3\x91\xd8\x49\x9c\x95\x40\x42\x62\xb2\x11\xcc\x96\x00\x21\x2c\x59\xa6\x90\x02\x21\x14\x02\x29\x21\xa5\xa5\x31\x94\x16\x28\xe5\x96\xd2\xdb\x85\x36\xb4\xba\x2d\xa5\x7d\x4b\xa1\x84\x0b\xb7\x1b\xed\x35\x5d\xb8\xb4\x85\x96\xb7\xbd\xb4\x25\xb6\xc6\xdf\x6f\xce\x68\xb3\xe2\x10\x7a\xbf\xf7\x7d\x13\x6b\xe6\xcc\x99\x73\x66\xce\x36\xe7\x3c\xe7\x59\xfe\x8f\x9a\xf5\x97\xd6\x59\x76\x8a\x55\xd0\x6c\xb4\x45\x5b\x67\xa9\x69\xb2\x46\x0f\x52\x31\x30\x35\xcb\x17\x41\xfb\xaa\xb0\x93\xaa\x74\x38\x8a\x86\xe1\x1a\x01\x23\x65\x1c\x58\x07\xfa\xd1\xd3\xd2\x8c\x3a\x8f\x4d\xd7\x18\xd4\xd3\xd2\xa1\xe5\xc7\x6e\x3f\xb0\x07\x44\xb3\xc5\x64\x30\x99\x18\xa3\xbc\xcc\xd1\xf3\x56\x77\xeb\x25\xf3\x3a\x0f\xcd\x1d\x39\x30\xbb\xc6\xe5\x71\x79\x2e\xae\xe9\x7a\xa3\xeb\x2b\x97\x7c\xe4\xb5\x3d\xca\x9d\x93\x9f\xdc\xfb\xc3\xae\x5f\x77\x7a\x2e\xae\x59\xbc\xcd\x55\xd3\xb8\x58\x59\xbb\xec\x81\xef\xdc\xd8\xf3\x5f\x73\xe4\x21\xc7\x8a\x25\x26\x86\x58\xb0\x4d\xc2\xcf\xb7\x1d\xae\xf5\xfb\xda\xbd\xee\xf5\xae\xb0\x04\xc6\x59\x6e\x8f\x2b\x3d\x7b\xf1\xef\xff\xfc\x91\xa6\xb1\x66\xf7\xf9\x6d\x75\xae\xfa\xc6\xf6\x9f\x80\xe3\xf0\x67\xd5\x6f\x4e\x64\xda\xea\xea\xae\x5a\xec\x59\xe7\x6e\x7a\xa8\xf9\xaa\xd7\x5e\xfa\xea\xdc\xee\xde\x65\xb3\x4c\xdb\x56\xbb\x2f\x74\x0b\x1e\x63\x80\x69\x7a\xb0\x52\x17\x62\x39\x42\x1a\xc9\xaf\x83\x64\x51\xe2\x0d\x69\x9f\x13\x53\x00\x2f\xa2\xd8\xb2\x5a\x9d\xb0\x36\xed\x14\xaa\xe7\xf6\x13\x1d\x3a\x4b\x0b\x62\xb7\xcb\xed\x62\x15\x87\xd9\xb9\x6d\xe3\x86\xda\x64\x7f\xfd\xb0\x71\xf3\xd2\x03\xea\x9f\x96\xcf\x0a\x11\xbf\x59\xe2\x13\x9d\xf1\x9a\xf3\x6b\x45\x5e\x0a\x99\x23\x01\x2b\xa9\x13\xbb\xe6\x75\x99\x78\x27\x0c\x3d\x77\x08\x37\x88\xb5\x46\xa9\x33\xde\xe3\x10\xeb\x5a\x98\x9a\xae\x85\xf2\x42\x8e\x40\x53\xed\xf9\x35\xf1\xce\x04\x2f\x99\xfd\x24\x34\x6b\x39\x48\x07\x96\x6e\x36\x0e\xd7\xf7\x27\x6b\x37\x6c\xdc\xe6\x34\x3b\x08\xb7\x50\x5e\xd8\x55\xc3\xb4\xd4\x89\x8e\x9e\x78\xa7\x64\xac\x15\x1b\xf0\xa1\xe7\x86\xc0\xc9\x9b\xba\xe6\x75\x89\x75\xc4\x1a\x88\x98\x43\x12\x5f\x5c\xc3\x4a\x18\xb2\xe8\x5c\x86\x69\xcc\x48\xd9\x3e\x64\xe3\xaf\xca\x26\x24\x7b\x1e\x67\x51\x71\xdd\xd1\xee\x8d\x95\x6f\xe8\xeb\xb6\x8e\x61\xc2\xe9\x78\x86\x76\xc8\xb8\x41\xfe\x40\x30\x13\x65\x12\xc1\xa3\x17\x5c\x00\x8f\x5a\xce\x8a\x6a\x82\x26\x22\x70\x6c\xcd\x1a\x75\x94\xbd\xf0\x83\xf1\x4d\xca\x3c\xb6\x45\xe8\x7c\x4a\x43\x32\xd1\x18\xd6\x85\xff\x31\x1c\x8d\x41\x49\x01\x40\x0b\xb2\xa1\x06\x1d\x0b\x9a\x71\xbb\x90\xdb\xcf\x52\xc0\xbe\x33\x19\x6d\x4c\x60\x76\xac\x9d\x63\x7d\x2e\x93\xb5\xb5\xb1\x59\xe0\x65\x8b\x8b\x6c\xb9\xab\x13\x0b\x1c\xdf\x3c\xbb\xd9\xe4\x20\xc4\xe3\xad\x75\x9b\xcc\xb3\x52\xb1\xf9\x2c\x2b\xf0\x12\xee\x81\xae\x47\xb8\x59\x52\x73\x4d\xa3\xad\xeb\xa8\xd3\x55\x35\xad\x9d\x6f\x36\xb9\x6b\xbd\x1e\x42\x1c\xa6\xe6\xd9\xcd\x3c\x27\xe0\xcc\xdd\x5b\x88\xcb\x22\xf3\x42\x73\x63\xab\xd5\xe4\xf2\xb1\x5c\x7b\x6c\x76\x80\x71\x39\x8f\x76\xd9\x1a\x6b\x9a\xa5\x59\xdc\x23\xea\xf7\x7b\xb0\xc4\x0b\x2c\x3b\x3f\x96\x22\x5d\x95\xf3\x12\xa0\x36\x84\xb8\xd5\x2c\xa2\xf2\x78\xca\xc9\xc0\x22\x30\xfa\x4e\x35\x13\x83\xc2\xa9\x17\x5c\x6e\x2a\xfb\x76\x31\xee\x02\xbe\x56\x3a\xc3\xf1\x69\x6e\xf5\xbc\x4d\x30\xf4\xc9\xff\x50\x5f\xf9\x82\xfa\xbf\xdf\x08\xb5\xbe\xf1\xd4\xa5\x9f\xab\x0f\xfa\x5a\x5b\x76\x1e\x9d\xbf\x6c\x60\x59\xdb\x0d\xb0\xfe\x79\xc3\xb3\xb7\xde\x39\x72\xc5\x48\xf8\xd2\x8b\x98\x1d\x9b\x17\x88\xbe\x9b\xd5\xfc\x9f\xbe\x76\xc5\x3d\xcc\x1d\x78\xdf\xc5\xac\xd9\xfd\xa5\xdd\x4c\x84\xb4\xdd\xb5\x6a\xdd\xe0\x7d\x5f\x36\x45\x1a\x6f\x7d\x76\xbb\xb3\xeb\x9a\x7e\x13\xdd\x1f\x6c\x9a\x52\xc8\xb7\x39\xa4\xf3\xbf\x29\x87\x30\x48\x42\xf6\xa0\x3d\x64\xd7\x65\x6d\xe4\xdb\x0f\xae\xed\x81\x70\x54\x55\x5f\x9a\x42\x53\x2f\x3f\x79\x94\xfd\x6f\xf5\x1f\xe7\x9d\xf7\xac\xfa\xd3\xbc\x11\xff\x1d\x9a\x7e\xfe\x8d\x17\x75\x5b\xe7\xa9\x47\x69\xbf\xae\x46\x1b\xd0\x56\x74\x19\xba\x06\xdd\x88\x6e\x46\xb7\xeb\x5a\x36\x4e\x07\xe2\x39\x7d\x2a\x8a\xf6\x31\xda\x6e\x2d\x1a\xe1\xac\x10\x69\xe0\x63\x98\xe7\xdc\xda\x54\x44\xdc\x1a\x99\xd0\x10\x89\xc6\xa0\x03\x1a\x38\x3f\xd4\x03\xfd\x91\x7e\xa0\x93\x5c\x34\x82\x52\x49\x49\x2e\x2d\xb9\x95\xe7\x69\x97\xda\xd2\x9c\xe4\x1b\x9c\x8e\x4c\x3c\xa3\xdd\x2b\x2a\xee\xa8\xbf\x78\xab\xd6\x0b\xc9\xae\xf5\x17\xcf\x6d\x5e\x1e\x6e\xf7\x8d\x46\x23\x17\x3d\x7f\x91\x2d\x75\xb5\xaf\x3d\xbc\xbc\x39\x7b\xf1\xfa\xae\xa8\xc9\x39\x6b\x60\xae\x5b\xee\x76\x38\x9c\x36\xce\xc2\xf3\xae\x56\x93\x49\xe8\x3b\x6f\x9e\xcb\x0d\xde\xda\xb7\xd4\x5f\xbc\xb4\x86\x98\x4c\x84\x98\x8c\x21\xde\x68\xe2\x78\xa3\xa9\xd1\x68\x34\x18\x8d\x52\xdc\x60\xb1\x18\x8c\x82\x65\x2e\xb1\x59\x0d\x76\xeb\x3c\xbb\xcd\x6e\x9b\x83\x6d\x36\x26\x40\x35\x81\x4e\x4d\xa8\x57\x2d\x65\x3d\x12\x39\xda\x7b\x71\x3b\xe7\x49\x2f\xbf\x65\xcd\x9e\xf3\xd7\xef\x32\x36\x79\x3c\x5e\xaf\x39\xd0\x6e\xdc\xb5\xfe\xfc\x3d\x6b\x6e\x1e\x4e\x7b\xb8\xc6\x79\x26\x53\x6b\x73\xa0\x89\x21\x46\x51\x64\x59\x53\xa7\xdb\x1d\xe9\x10\x80\x61\x22\xdb\x18\xc9\xc3\x2e\x85\x7b\x26\x4e\xc1\xc5\x93\x07\x78\x96\xb0\x3c\xcb\x79\x59\xb3\x91\x63\xcd\xa6\x08\x6f\x11\x78\xd6\xdb\x68\x30\x5b\x8c\x06\xb3\xc5\x66\x66\x19\x17\xc3\xf1\x02\x36\x0b\xd8\x69\xc6\xc4\x63\x98\x26\xeb\x08\x4f\x43\xa6\x8e\x68\x9d\x9e\x98\x8e\xd7\xa3\x51\x63\x28\x80\x38\x25\xe2\xcd\x7a\x23\xc7\x5e\x3d\x36\x52\x76\x32\x80\xc7\x74\xcc\x1d\x92\x2b\xda\x1a\x8c\x1e\x3b\x36\x9a\xeb\x6c\xaa\x40\x3d\x7c\x06\x78\xf5\xfd\x12\x76\xba\x3e\xa7\xd5\x14\x70\xc8\x50\x15\x36\x50\xc2\x49\x47\x5d\x2a\x19\x09\xd9\xa9\x3d\x84\x36\xe9\x65\x52\x41\x67\x22\x15\x74\x72\xe3\xda\x3c\xa6\x1b\xd9\x0a\x32\xa7\xc8\x82\x20\xbf\xaf\xc8\xc2\x08\x20\x05\x14\x56\xd9\x38\x50\x36\xab\x55\x64\x61\x7c\x5c\x90\x27\x90\x2c\xe0\x91\xfc\x98\x20\x2b\xda\x3f\x5d\x27\x86\x2d\xfa\x4b\xea\xad\xb0\x00\x76\xe9\x4c\x4e\x6d\x19\xa1\x5c\xcd\x4c\xba\x1b\x5c\x8c\xdb\x25\xb1\xa5\x3b\x18\x35\x96\xef\x59\x28\x0e\xbd\x6e\x10\x8c\x77\x62\x59\xaa\xbb\xad\xa6\x11\xbb\xd4\x6f\xfe\xae\x26\xe8\xb4\x7b\xd9\x31\x68\xdc\x75\xf5\x6d\x58\xc0\x0e\xc9\x77\xb7\x37\x0c\x96\xa7\xd5\xdf\xa8\xfb\x7e\x52\x13\x72\x48\x5e\x02\x1c\xfc\xe7\x37\xbe\xf9\x1f\xa0\x5b\x09\xab\xdf\xf3\x39\x9c\xc1\x9a\xdf\xc1\x02\x17\x6e\xac\xb9\xad\x4e\xb2\x0b\xb7\x5d\xbd\x4b\x7d\xfd\xe1\x5a\x87\x23\x54\xf3\x13\xb8\x05\xea\x9e\x16\x20\x5c\x73\xb7\x4f\x92\x84\xff\xf8\xe6\x37\xd4\x60\xc1\xce\x14\x15\x64\x6b\xf5\xa8\x59\xa3\x70\x50\x95\x7c\xcd\x5d\xed\x5b\x26\x58\x84\x5f\x86\x19\xd1\x6a\x19\x5b\xc7\x40\x47\xc7\x00\x74\xd0\xd3\x89\x4a\x83\xe5\x89\x38\xf3\xa9\x07\x19\x8f\x38\xf9\x17\xd1\xc3\x30\x5f\xd2\x5b\xda\xf6\x3d\xfb\x86\x0c\x11\x33\x1b\xec\xdf\xb3\xc1\xc5\x03\x7a\x36\xed\xef\x5d\x28\x23\x66\xc1\x3b\xf0\x6b\xc1\x6e\x17\xf2\xfb\x0b\x5b\xe4\x6c\x4d\x1c\x6f\x4c\x0d\x0c\xa4\xf2\x0f\xc7\xe9\x1a\x70\x0b\xe5\x23\xc4\x50\x92\x8e\x06\x6d\x57\xe8\xe0\x42\x28\x2c\x82\xcb\x2d\x82\x1f\xbb\x45\xd0\xd6\xf5\x74\xa6\x84\x76\x1e\xd0\x06\x0d\xb1\x23\xd6\xce\x70\x4a\x6a\x70\x30\x35\x94\x54\x37\xa9\xbb\xe7\x0c\x30\x11\x07\x27\xcd\xee\x88\xd4\x7d\xf6\x0b\x31\xbe\x5d\xae\x25\x26\xfb\x8d\xf4\x9d\xe3\xf0\x65\x78\x31\x39\xa4\xa8\xd7\xa9\x77\xc0\x0d\x44\xa1\x7c\xdf\xe4\x10\xac\x0f\xca\x1b\x2f\x8b\x06\xe7\x26\xba\x9b\xfd\x73\xe2\xb5\x2d\xee\x8f\xf4\x5c\xb7\x7a\x57\x7a\xe3\x40\x6e\x60\x23\x28\x43\xc9\xc9\x46\xf2\x0d\xf5\x95\x66\xf5\x2f\x2d\x94\xef\x94\x9d\x42\x5c\x8e\x43\xc8\x8c\x6a\xd0\x5c\x84\x98\x24\xa5\xa9\x1a\xb4\xfd\x0c\x04\x91\x3d\x19\xc3\x0d\x22\x76\xda\xe8\xc6\x86\x3a\x28\xd0\x9a\x58\x9b\xe3\xa4\x8c\x8e\xea\xe9\x74\xf0\x2e\x49\x9b\xe0\xc8\x11\x5b\xf7\x9a\xc0\x25\x8b\xf3\xd7\xb1\x0e\xf5\x6f\xb3\x2e\xfc\xc4\x37\x3e\x71\xe1\x2c\x26\x37\x94\x54\xb3\xc7\x5e\x3d\xa6\x66\x93\x43\xf1\x95\xeb\x7a\xa3\x7f\xf8\x96\xa1\x73\xb8\xd3\xf0\xad\x3f\x44\x7b\xd7\xad\x7c\x2a\xb0\xa6\xdb\x66\x5b\x7c\x09\xcc\x82\x36\xec\x48\x5c\xbe\xb9\xbf\x7f\xf3\xe5\x89\xfc\xdb\xea\xab\xc9\x21\xed\xab\x1b\x4a\xb6\x6c\x38\xfa\xf9\xbf\x1c\x3e\x0e\xac\x4f\x76\x68\x9f\x9f\x43\xf6\xa9\x13\xc7\x0f\xff\xe5\xf3\x47\x37\xd0\x6f\x1e\x4f\x29\xac\xca\xee\xa3\x7b\x33\xb7\x8b\xe7\xac\xf4\xd8\x01\x3a\x15\xa5\x9d\xa3\x11\xfd\xd8\x4f\x59\xa8\xda\x31\x93\xd6\x8f\xf5\x14\xf5\x51\x3b\xba\x5d\xfa\x51\xcb\xed\x76\xf1\xec\xc8\x1d\x7e\x93\xa5\xe9\x64\xca\x52\x5f\xd7\xfc\x8d\x59\xa6\x66\x0b\x5f\xef\xb8\xed\x36\x5f\x4b\xb3\x69\xd6\x37\x9a\xeb\xea\x2d\xa9\x93\x4d\x16\x93\xff\x8e\xaa\x54\xcd\x75\xb7\xdd\x56\xd7\x3c\x3d\x0d\x56\xaa\xb2\x61\x97\x96\xcd\xdc\x5c\xce\xd6\xe2\x9b\xfe\xe8\x66\x93\xa5\xfe\xf0\x61\xbf\xd9\x34\x2d\x4d\xc9\x27\x99\xf6\x9d\xa7\xd0\x8e\x6a\x7e\x2a\xd5\x2a\x0c\x35\xf0\x1c\x5f\x90\x6e\xd8\x35\x9a\x30\x31\x8d\x9f\x5a\x64\x11\x72\x05\x86\x6a\xc1\x92\xb7\x48\x6b\xf4\xb1\x1a\x9d\xc9\xe8\x52\x9f\x60\x89\x9b\xca\x7e\x6e\x59\x3c\x9f\xf3\x37\xfa\x2f\x58\xe4\x19\xf0\x08\x4d\xe7\x2d\xf2\x2f\x58\x14\x08\x9c\xf7\xad\xef\xad\x78\xb6\xc0\x45\x85\xc1\xe4\x90\x72\xff\xa5\x8f\x33\x41\xca\x49\xfd\xe8\xb3\x8f\x74\x17\xd8\xa8\x01\x93\xdb\xe3\xac\x15\x3d\x78\x6e\x48\x68\x6a\xe8\xe8\x8f\xec\xfb\x8c\x0b\xae\xab\x64\xa6\x3a\xba\x52\xab\x5a\xe7\xf5\x1e\x6e\x73\x66\x57\xac\xa8\xe9\xca\x2b\xd9\x6c\x25\x13\x75\x28\x75\xe9\xf1\xbe\x2e\x9d\x83\xba\xa0\x5b\x67\x04\x1a\x65\xbb\xcf\xea\x23\x4b\x32\xce\x95\x7d\xd9\xd0\xad\x37\xce\xef\x39\x8e\x2a\xda\x27\x85\x7a\xd1\x2e\x84\xc2\x09\xbb\x8e\x4b\x44\xff\xc7\x18\x2a\xb8\xf3\x63\x27\x75\xd6\xe6\x4a\x04\x35\xd2\xcb\xcd\x39\x5c\x6e\x5d\x6d\xb3\x0f\xaa\xb6\x51\x74\x97\xd1\x0f\xba\x20\x46\xdf\x6a\x24\x82\x3a\xe9\xe2\x27\x1a\x29\xce\x51\xfa\x6c\x24\x10\x08\xcd\xed\x69\xaa\x33\x30\xe7\x35\x89\x1e\x90\x25\x97\xd3\xb0\xe8\x02\x7f\xa3\x3f\x9f\x8b\x2f\x1b\x4a\xc2\xa0\xce\x59\x65\x2e\x3e\x7f\xf5\xf3\xdf\x82\x1d\xfa\x56\x6b\x30\xa5\x8e\x77\x3f\xf2\xad\x03\x77\x3d\x05\xd0\x4b\x82\xcc\xe3\x97\xde\x7f\x7c\x07\x5c\xe7\xfa\xcc\xbe\x48\x7f\x47\x43\x93\x10\x9a\x8b\x3d\x62\xad\xd3\xe3\x36\x41\x20\x35\xa8\x60\xc5\x13\x6f\x09\x1a\xd9\x15\x59\x57\x8c\x44\x83\x11\x77\xef\xbc\xd6\x55\xa9\x2e\xc7\xd2\x44\x72\x88\x32\x56\x03\x4b\x16\xdb\x3c\x81\x35\x2b\xb3\xd9\x48\xa1\x61\xf3\x4a\x6a\xb0\x7b\xc1\x27\xef\x64\x87\xb6\xbb\x9c\x5d\x7d\xc7\x2f\xbd\xe4\x78\xcf\xfc\x1b\x6f\x0d\x65\xfb\x56\x3a\x33\x4b\x88\xcf\xea\xb3\xcb\xc6\x41\x54\x89\xff\x5f\x18\x57\x4c\xb1\x19\x92\xa1\x06\x3e\x06\x0d\x54\x46\xcc\xdb\x75\xc9\xa7\x9d\xc2\xf7\xea\xde\xee\xe8\x7f\xba\xb4\x51\x46\x3d\x57\xb1\xea\xc5\xd8\xc2\xce\x25\xad\xfb\x0a\xa4\xcc\x11\x97\x9b\x52\x7d\xc5\x6d\xe7\xe7\xa6\x75\x73\xf2\x8c\x91\x80\x95\x6c\x56\xd1\xba\x3c\x3f\x73\x97\x5f\x52\x1e\x18\x17\xea\xae\x0c\x7b\x2a\xc7\xe3\xd9\x06\xed\xda\x0f\x31\x3a\x4b\x43\x79\x5a\xfb\x24\x51\x0f\xda\x49\xa9\x7a\xa0\x4a\x00\x94\xf7\xa3\xfd\x17\x19\x7d\x04\xe1\x84\x9d\x6e\x56\x53\x76\x8d\xe6\x75\xc5\xd3\x19\xed\x0a\x97\x50\x27\xb8\x0e\xba\xf7\xe0\x78\x2a\x67\x8d\xa4\xec\x45\xc0\x5a\xaa\xfd\x55\x61\x45\xaa\xed\xe2\xb2\xd9\xfc\x07\xf4\x7a\xac\xab\xdc\xe9\x4a\x61\x17\x5f\xe8\xec\xf4\x5c\xad\xb3\xd3\x4b\x6e\xb8\xad\xaa\xb3\xe9\xb7\xd3\xbd\x00\x67\x57\x3f\xff\xad\xf3\xce\x35\x6a\x43\xfa\xa0\x25\xbd\xb4\x69\xf3\xf3\xf5\x91\xea\xe7\x3f\x78\xa4\x16\xc6\xf5\xf4\xbd\x50\x3d\xa5\x8a\xa8\x3d\x66\x26\x5d\x30\x3d\xe4\x39\x47\x3d\x80\x2b\xde\x0f\x5a\x4c\x95\x7d\x26\x8b\x22\x5e\xd5\xf4\xac\x2c\xaf\x97\xd2\x92\x7a\x6c\xbd\x24\xad\x87\x51\x29\x2d\xad\x97\xa4\x67\xe1\x6f\xde\x08\xa0\x99\x2c\x36\x9f\xd5\x0d\x15\xb5\xf4\x69\x69\xbd\x7a\x4c\x92\xb4\xc0\xb3\x1f\x6c\xc3\x49\xcb\x86\x92\x1d\x00\xd4\x16\xd2\x51\x0f\x25\x9b\x51\x5a\x44\x57\x3c\x03\x99\x4a\x8b\x43\x96\xa5\xcf\xd6\x0b\xa3\x9a\x28\x85\xf8\xb7\x42\x51\x61\x74\x3d\x08\xd5\x45\xdb\x96\xa6\xa5\x2f\x14\xc6\x5b\x2e\x28\x8c\xae\x57\xcf\x6a\xa7\x59\x28\x57\x54\xb7\xd1\x04\xbd\x28\xfd\x50\xb2\xaa\xa5\xce\x19\x1a\xa7\xdb\x6b\x9e\x51\xf3\xd2\xcb\x40\xac\x2e\xd5\x76\x5a\x5a\xe9\x2c\x75\xc9\x9f\xab\x5c\x1d\xb4\xb9\x4a\xca\xa1\xba\x21\xa9\xc3\x0d\xb4\x58\xd3\x30\x50\x58\x66\xc6\x9a\x4b\xb4\x55\xce\x2c\xd7\xd6\x72\x2f\xcf\x30\x06\xd0\xd4\x07\xd9\xc1\x99\xe1\xa7\xd8\x53\x65\xf7\x20\x02\x1f\xd7\xd1\x9d\x33\x69\x77\x24\x9d\xe9\x83\x7e\xe0\x22\x51\x07\x9f\x8c\x70\xd1\xe2\x96\xbc\x41\x84\x50\x44\xc4\xbc\x08\xbc\xb6\xd3\x4a\x47\xa2\x09\x7a\x8b\xe7\xfc\xe0\x74\x69\xcb\x83\x76\x8b\x73\xb9\x5d\x22\xb6\x6a\xd9\x23\xd1\x08\xaf\xfd\xb4\xd4\x7d\x90\x4a\x67\xfa\x70\xc8\x45\xf5\xfe\xfd\x90\x70\xa5\xa3\x2e\x9a\x82\x73\x47\x44\xd0\xde\xd0\xa0\x3d\x32\xad\x3d\x90\x52\x7f\x2e\x5e\x9b\x39\x5c\xbc\xb6\x37\xd6\x36\x83\x11\x8d\x18\xa1\x2a\x38\xbc\xfe\x10\x77\xc6\xe5\x8e\xf0\x1c\xef\xe2\x63\x38\xaa\x2d\xe9\x2e\xb7\x1f\x67\x5c\x7c\x9a\x52\x27\x5a\xb9\x5c\x99\x06\xce\xc1\xbb\x39\x57\x86\x2b\x30\x85\xc0\xcd\xb9\xf8\x06\x2e\x44\xf9\x40\x99\xb4\x0e\x64\x1d\xf7\x63\x9e\xa3\x77\x43\x71\x97\xce\x2d\xa2\x78\x7f\xf1\x34\x75\x45\x95\xd1\xef\x69\x1b\x71\x57\x26\x9d\xe2\xa2\xc9\x18\x4e\x27\xe2\x69\x9a\x57\x6b\x25\xce\xd9\x10\xed\x83\x4c\x1f\x89\x50\x7e\x1c\xcf\x69\x77\xb4\xe9\x9e\xc6\x82\x8b\x2a\x49\x84\x5c\x69\x6d\x4f\x1a\xc9\xb8\x32\xf4\xe5\xe9\x0c\x5d\x18\xfa\x20\xd2\x01\xc9\x54\x34\x06\xba\x94\x36\x1a\xcf\x34\xc4\x20\x94\xd6\xb2\xba\x32\xfa\x29\x9d\xa4\x1d\x92\x0e\x51\x76\x73\x24\x9a\xd6\xce\x11\x92\xa6\xea\xef\xd1\x74\x01\xf7\x91\x17\x89\x3b\x12\x8d\x61\x8a\x6e\x19\x49\x47\x23\x22\xa3\x85\x62\x90\xf2\x53\x6a\x8f\xe7\xdc\x0e\xce\xed\xa8\xb6\x60\x21\xf3\xb1\x95\xc3\x2c\x0b\x9c\x4d\x8c\x34\xd8\xb1\x9b\x10\x0f\xc1\x16\x33\x70\x46\x11\x9b\x4c\x1c\x60\x2b\x06\x42\x58\xce\xc0\x03\xe1\x08\x87\x89\x99\x58\x6d\x26\xce\x48\x78\x16\xac\x0e\x62\x48\xf2\x2c\xf0\x20\xf8\x18\xe2\x25\x2c\xcf\x63\xe0\x58\x86\x98\x65\x86\x37\xba\x39\xb6\xb1\x26\xc8\x71\xbc\x85\x60\x62\x04\x0b\x4f\x42\x56\x56\x60\x8c\x26\x99\x15\x89\xd1\x62\x64\x18\x8b\xd5\x60\x02\xbb\xcd\x00\x46\xd6\x60\x20\x3e\x93\x5c\xcb\xd7\x72\x2c\x98\x4d\x02\x16\x39\x2c\x98\x80\x70\x2c\x6b\x20\x7c\xc0\xc4\x78\xec\x2c\xc3\x00\x61\x44\x12\x9b\xc5\x71\xac\x0d\x37\x18\x58\x91\xe3\xdd\x0e\xcc\x63\xc6\x2a\x1a\x6c\xdc\xbd\x17\xf0\x2c\x83\x89\xc9\xc8\x41\xab\x8c\x89\x00\x36\x20\x3c\xcf\xb3\x80\x89\x5d\x10\x82\x1c\x26\x92\x85\x61\x2c\x06\xec\x06\x20\x40\x6a\x08\x60\x86\xc3\x5e\x2b\x26\x2c\xc6\x06\x23\x07\xc4\x24\x3a\x30\x67\x33\x18\x5d\x1c\xcb\x61\x2c\x58\x1c\x84\xad\x35\x98\x2c\x76\xd6\xea\xe3\x1b\x65\xcc\x9a\x79\xcc\x7a\x59\x0e\x88\xc3\x20\xd6\x4b\x2c\xc1\x98\x31\x62\x0e\xc0\x81\x59\x17\x4b\x04\x0c\x04\x83\x91\xc3\x66\x8b\xcc\x03\xc3\x71\x7c\x03\x2f\xc8\x2c\x70\xc4\xc2\x60\xad\xf0\x40\x08\xf0\xad\x9c\x95\x67\x31\xeb\x21\x35\x2c\x31\x10\x9e\x35\x61\xb3\x81\x37\x80\xf6\xcf\xca\x9b\x4c\x20\xda\x19\x27\xc7\x33\x60\xe0\xc1\xc8\xb3\x2c\x6b\xb4\x18\x78\xb6\x9e\xf0\x98\x30\x2e\x6c\x27\x44\x12\x4c\x36\x62\x31\x12\x3b\xb6\xba\xec\xcf\xbe\x74\x0f\x91\x89\xc4\x01\x6f\xb4\x11\x6c\x62\xcc\x1c\xaf\x75\x15\x06\xa7\x95\xb5\x18\xcd\x1c\x8b\x81\x17\x59\x62\x35\x8a\x8c\x80\x09\x87\xb1\x8c\x19\xc2\xcb\xb5\x98\xb1\xd9\xe0\x0c\x03\x25\xf5\x7b\x60\x07\x93\x05\x78\x03\xc7\x19\x64\xec\x02\xcc\xb2\x2e\xb0\x09\x98\xe3\x31\x03\xc4\xe8\x21\xac\x85\xc1\x3c\xc7\x9a\x4c\x18\x80\x05\x8c\x81\xe5\x18\x60\x6c\x1c\x63\x34\x60\xd6\xc8\x70\x46\x99\x70\x22\xcb\xdb\x05\x83\x8d\x31\x38\x39\x2a\x07\xc0\xac\xcb\x5a\xc3\x1a\x8c\x82\x60\x64\x41\xb4\x12\xce\xad\x75\xac\xd5\xc2\x58\x59\x0f\xcb\x81\x09\x3c\x06\x90\x78\xcc\x18\x19\x06\xdc\x16\x33\xd4\x80\xd5\x20\x82\xc5\xca\x60\x96\x37\xf2\x0c\x03\x26\x06\x58\x06\x33\x0e\x86\xad\x61\x8c\x04\x18\xcc\x1b\x2c\x0c\x26\x02\xb6\x7a\x01\x63\x23\x88\x3c\x6b\x33\x32\x84\xe3\x2c\x1c\x11\x0d\x00\xc3\x77\xf1\x00\x36\x8e\x33\x98\xc1\x67\x67\xcc\x3c\x16\x09\x5b\x0b\x81\x28\x03\x96\x76\x42\x9a\x0c\x80\xcd\x46\x8e\x0d\x71\x9c\xcf\x88\x79\x51\xcb\x83\x1d\x2d\x35\x0c\xeb\x64\x08\xc3\x00\xef\xb4\xb9\x30\x57\xeb\x34\x1a\x1a\x39\x5e\xe0\x4c\x18\xdb\x09\xc3\x02\x6e\x60\x64\x03\x08\x92\x99\x70\x12\xc7\xb0\x06\x0f\x26\x75\xd6\x20\x18\x0d\x46\x8e\x97\x18\x83\x87\x18\xb1\x01\x8c\x18\x48\x9d\x81\xb1\x09\x16\x1e\x40\x26\x56\x03\x21\x98\x31\xb4\xd8\x4c\x41\xbb\x0d\x5b\x09\x00\x30\x0c\x60\x42\x8c\x9c\x59\x00\x3b\x5b\x2b\x11\x86\x60\x1e\x13\x56\x34\x35\x31\x04\xdb\xcd\xbc\xc1\x68\x34\x10\x49\x36\x02\x6b\x60\x64\x9b\x91\x63\x58\x33\xb1\x61\x8b\xc9\x60\xe0\x79\x0e\x1b\x6c\x0c\x6b\x00\x33\x83\x05\xb3\x91\xe3\x31\x00\x36\x71\xec\xe4\xcd\x8d\x9f\x20\x04\xf3\xc0\x5b\xb4\xd2\x1a\x08\x87\xb5\x91\x46\xc0\xce\x82\x91\xc5\x1c\xeb\x20\x6c\x0d\xc7\x11\xce\x8c\x8d\x84\xb1\x11\x86\x25\xa6\xb8\x50\x6f\xaf\xb1\xba\x18\xbe\xd6\x40\xad\x23\x9c\x53\x4e\x6e\x3f\xdd\x33\x39\x51\x47\x79\xcf\x64\x2c\x58\xe4\xa6\x92\x19\xf0\x03\xe8\x1a\x13\xc8\x86\xa8\x2f\x0a\x07\xcf\x3a\xdd\xba\x3b\x0a\x9d\xb4\xc2\x9f\xcf\xaf\x0d\xa7\x92\xd1\xd1\x48\x04\x3f\x1e\xbd\x1f\xbf\xee\xee\xf8\xe3\xc7\x74\x63\xa0\x39\x07\xda\x6c\x36\xf5\x17\xff\xc6\x7e\xfc\x26\xa3\xd5\x5e\x90\x85\xfc\x36\xbf\x36\x1c\xbe\xbc\x31\x9d\x8a\xe0\xc7\x37\xdf\x0f\x77\x46\xe7\xdd\xfa\xa8\xce\x54\x0a\xfa\xcd\x0d\xe6\xc7\xc7\x2f\x23\xeb\x17\x39\x50\xa5\x4f\x4e\xdd\x8e\xa3\x16\xb5\xa2\x6e\x84\xc2\xc1\x54\x10\x8a\xbf\x73\xf8\x72\xad\xbe\x66\x90\x46\xfb\xab\x0a\x83\x26\x11\xa6\xf8\xfa\xf8\x43\x21\x41\x52\x98\x7e\x50\x94\xc9\x6c\x91\xed\xe5\x8d\x44\xe0\xcd\xb3\x5d\x68\x7b\x6f\x76\x4a\x61\x6f\x62\x11\xd5\x53\x75\xf1\x25\x98\xbb\x48\xca\xae\xfb\x8a\x8a\xb3\x37\xd9\xeb\x55\x99\xa2\xdb\x4d\x21\x59\x95\xeb\xed\xf6\x16\x16\xb5\x30\x3f\x6b\xae\x53\xe5\xbc\x97\x02\xdb\x21\xd9\x0b\x6f\xc2\x3b\x75\xcd\xd1\x32\x0e\x26\xed\x39\x37\xaa\xa5\xb6\xab\xd3\xda\x20\xe8\x2c\x62\x4e\x85\x9c\x41\xea\x87\xa0\x5a\xb4\x8a\x15\x8c\x54\xc4\x14\x7c\xab\xe0\xb1\x88\x17\xb2\xde\xc8\xc8\x14\x62\xd0\xfb\x68\xe3\x00\x8c\xe8\x2c\x3c\x18\x19\xd8\xc8\x22\x25\x8f\xd4\x80\xce\x4e\x19\xd3\xaa\x36\xa6\x28\x30\xae\x2a\xa0\x0c\x6c\xd4\x41\xc1\x37\x56\xea\x9d\x2e\x42\xc8\x88\x33\x69\x77\x91\xbd\x17\x8d\xf4\x83\x91\xae\x40\x45\xc6\x53\xba\x1e\x8c\xc0\x17\x9d\x18\xe9\x98\x59\x56\x30\x52\x6e\x43\x81\xb4\xa7\x77\x59\xa2\x3e\x08\x5b\x8e\xd4\x35\x47\x8b\x0e\x83\x8e\xa8\x0f\xaa\x0f\x1e\xd1\x1a\xa8\xe0\x0c\xe8\x08\x6c\x51\x1f\x3c\x22\x7b\x2d\x96\xa6\x88\x17\x72\x34\x0d\x6c\x81\x2d\x34\x0d\xe4\xbc\x11\x8a\x00\x46\x7e\x33\x73\x3e\x7f\xb4\x2a\x97\xcc\xea\xb9\xb4\x14\xf4\xdd\x34\x85\xf6\x6e\x56\xd6\xf5\x2a\x11\xc5\x39\xb7\xa3\xd9\xa8\x0b\xcd\x45\xab\xd0\x7a\xca\xcd\xd7\x36\x28\x36\x9d\x93\x90\xe1\x9c\x0e\x28\xe9\xb4\xb3\x89\x38\xf5\x61\x99\x88\xfb\xd9\x22\x97\xae\xe8\xbd\x9a\x42\x47\x50\x75\x25\xaa\x40\x0c\x89\x38\x2e\xa4\xc0\x2b\x1e\xbe\xe4\xd6\x95\x3b\xf7\x72\x83\xd7\x77\xcf\x1b\x60\x19\xe5\xde\x1b\x26\x8f\xdd\x70\x2f\xef\x0c\xa4\x17\x6e\xeb\x35\x0d\x0c\xdf\x7a\xfb\xad\xc3\x03\xa6\xde\x6d\x0b\xd3\x01\x27\x3f\xa9\xe3\xf2\x91\xb5\x05\xed\x58\x12\xdc\xb9\xf2\xd6\x4b\x1e\x5e\xc1\x0e\xcc\xeb\xbe\x7e\x90\xdb\xab\x2b\x3f\x62\x85\xbd\x69\xc5\x32\xb8\xb8\xa5\xd5\x1d\xae\x3b\x9c\x17\xaf\x3f\x7c\xf8\xfa\xd4\xb6\xdd\x5b\x37\xcd\x6b\x6a\x4d\xb5\xb6\xa6\x5a\x9b\xe6\x6d\xda\xba\x7b\x1b\x1b\xa7\xba\x85\x6a\x7d\xc1\x55\x76\xfe\xc4\xb2\x15\x37\xb1\xbb\x0f\xd7\x85\xdd\xad\x2d\x30\x4a\x6f\x16\xed\xd4\x8e\x70\x3b\xd9\x77\x51\x10\xcd\x43\x97\x16\xd0\x52\x42\x0d\xbc\x9f\xa1\xdb\xb6\x18\x89\x96\x81\x5d\xd2\x50\x04\x7e\x29\xc6\x65\x8a\xaa\x41\xc4\x9d\x46\xba\x25\xbe\x3e\xcf\x44\x0b\x18\x00\x05\xe3\x31\x97\xd3\xc1\xbb\x69\x88\x7d\xca\xf7\xb2\xaf\xa9\xc5\x4f\x02\x66\x99\xef\x6c\xb2\xd6\x78\x2d\xf5\x24\xe8\x7b\xa9\xb6\xb9\xc9\x77\xd4\x97\x9f\xeb\x7b\xc9\xd7\x14\xad\x3b\xea\xf3\xbd\x5c\xdb\x5c\x9d\x8a\x1c\x58\x73\x74\xd5\xf5\x37\xac\x7a\x69\xd5\xba\x75\x6b\x6f\xbc\x7e\xf5\xcb\xab\xab\xae\x21\xdb\xe4\x7b\xd9\x17\x20\xf5\x16\x6f\x8d\xb5\xa9\x93\x97\xcd\x01\x52\xdf\xd2\xe4\xfb\x71\xad\xf7\x5e\x1f\x7e\xab\xc9\xf7\x63\x5f\xed\xbd\xbe\x68\x93\xef\xe5\xda\xfa\xe9\x89\xf2\x6f\xbc\xbb\xea\xde\x55\x6b\x7e\xbc\xea\xfa\x9b\xd6\xae\x5b\xb7\xfa\xe5\xd5\xd3\x2f\x0b\x18\x97\x0a\xc5\xf6\x46\xfa\xb8\x40\xa9\x24\xd5\x55\x45\x89\x38\xe3\xd6\xc5\xb0\xbc\x1f\x78\xe5\x8d\x13\x13\xb9\x67\xd4\xf7\xef\xba\x16\x43\xdb\xab\x9f\x06\xe8\x5e\x38\x32\x7a\xac\xf9\x23\x8f\x81\x72\xe2\x0d\xe0\x9f\x39\xf8\x8b\xb4\xcf\xfa\x2a\xb4\x3d\x75\x57\xdf\xb1\xd1\xc1\x7e\xff\x29\x84\xd1\x35\x53\x0a\x27\x50\xfb\xfa\x20\x42\x61\x1d\x6a\x29\xa3\x6b\xf6\x17\x34\x6d\x5a\xb5\x65\x20\x08\xd1\x94\x3d\x64\x77\xb2\x7f\xef\x5c\x30\x3a\xa1\x8c\x2e\xe8\x84\xbf\x67\x8b\xd0\x5a\x11\x6f\x56\x7d\x5b\x7d\x17\xff\x40\x7d\xd7\xa1\xac\xbb\xe0\xc0\x81\x0b\x48\x0d\xdc\x5d\xd0\x49\xdb\x35\x5f\x5d\x05\x4f\xd6\x87\xe1\x6e\x75\x57\x58\x9f\x76\xa0\xa0\x9b\xc9\xa3\x65\x68\x03\x1a\x45\xd7\xa3\x5b\xd1\x9d\x65\xcc\x7f\x16\x28\x7f\x91\xce\x71\x94\x38\x17\x0b\x9f\x3a\xa5\xd9\x13\x54\x31\x97\xea\x68\x36\x50\x1f\x32\x54\x1c\x4d\xa9\x6d\xde\x55\x0f\x85\x4e\x77\xbb\x78\x36\x4d\x61\xb8\xe9\x76\x22\x11\x27\x7d\x14\x32\x88\x17\x29\x46\x10\xb8\x53\xc9\x7e\x88\x52\x14\x77\xe0\xeb\x01\xa2\xe0\xe4\x29\x98\x7f\x3d\x40\x46\x7b\x2b\xd1\x19\x67\x70\x39\x4c\xf8\x08\xeb\x57\x04\x9b\x5d\xcc\x2f\xbb\xd2\xc0\x88\x0c\xbf\x79\xd5\xc1\x7b\x6e\x5f\x7b\xa1\x99\xdf\xbc\xf2\xe0\xbd\xab\xe6\x1b\x85\x1b\x6f\x14\x8c\xf3\x57\xdd\x7b\x70\xe5\x66\x9e\x6d\x6e\x5d\x73\xe8\x9e\x83\xab\x36\xf3\x8c\xc8\x18\xae\xc4\x4f\x8b\x76\x9b\xa0\xf8\x59\xe2\x9b\xd8\x10\x8b\xaf\xd8\xb0\x75\x49\x54\x3f\xc5\x56\xc4\x63\xd1\x25\x5b\x37\xe8\x27\x10\x47\x82\xe2\x72\x2f\x11\x59\xcc\xc0\x4f\x46\xf0\xb8\x92\x47\x63\x46\xcc\x32\x22\xe3\x25\x23\x4a\xfe\x1f\x5f\xc2\x66\xac\x2f\x92\x5e\xf5\x6a\x47\x63\xc8\x96\xe5\x0d\x70\xcb\x00\x03\xb3\x67\x2d\xfd\x58\x6a\xf5\xb2\xd5\x37\x0d\xdd\x95\x5a\x5d\x2f\x18\x17\x2f\x36\x0a\xf5\xab\x53\x77\x0d\x75\x5f\x1e\x5d\xbe\x3a\x79\xd7\xd2\x59\xb3\x81\x19\x80\x5b\x0c\x7c\xd6\x16\x6a\x74\xdc\xd1\x72\x30\xd1\xdd\xa8\x1d\xf2\xdd\x89\x83\x2d\x8d\xf4\x80\xc7\xe6\x98\x1b\x1d\x86\x0e\x2f\xb1\x31\x98\xc0\xef\x03\x38\x9b\x55\x57\xec\x1a\x31\x60\x86\xb1\x31\x5e\x35\x97\x85\xe3\x77\x10\x46\x97\xc3\xe8\xeb\x46\x3d\x6a\x40\x61\x94\x40\x3d\x55\x72\x98\xc2\x0a\x59\xb4\x56\x71\xda\xd3\x09\x1e\x82\x46\x08\xca\xda\x22\x52\x70\xd1\x99\x4c\x97\x2e\xb8\xb1\xa2\x44\x28\x3f\xde\xd4\xd9\xe4\x83\xe3\xbe\x91\x26\x18\x6b\xea\x9c\xdf\xa3\xa8\xaf\x41\x6b\x9e\x1e\x9f\x83\x1e\x95\x22\x13\x60\xd4\x44\x7e\xaa\x07\x99\x12\xa4\x00\x04\x0a\xbe\x27\xe0\xb8\xaf\xa9\xb3\x49\xfd\x7a\xd3\x6b\xea\x6b\xf8\x09\xf5\x35\xf5\x11\xe8\x81\x31\xea\x28\x53\x01\xd4\x34\x32\xf9\x0f\x46\xd1\xaf\x28\x4f\x9b\x99\x3a\xc8\xee\x65\xf7\x52\x14\x68\x47\x11\x55\x43\x47\xee\x28\x28\xe8\x17\xac\x36\x80\x32\x9b\x92\x15\xd7\xce\xaa\xf4\xec\xde\x4f\xef\xbe\x6d\xeb\xe4\xdf\x77\xbd\x7e\xe2\xd3\xd7\xe0\x8b\x4c\xbd\x36\xc1\x94\x7f\x78\xf9\xf6\xd1\x7b\x87\x88\xa1\x7f\x65\x76\x75\x7f\xfe\x9b\xde\x86\xba\x48\x0d\x3c\x60\xea\xb3\x59\x4c\xea\xf6\xfe\xab\x57\xae\xeb\xc5\x0b\xb6\xde\xbf\xfb\xd3\x5b\x89\xe1\x9a\x4f\x9d\xf8\xd5\xae\xfc\xc3\x26\x8b\xad\xd7\x84\x37\x2d\x3d\x36\x7a\xe9\xd0\xe4\xdf\xfb\x57\x67\x57\xf6\xe3\x05\x9e\x48\x5d\xa0\x56\xdd\x6e\xb2\xd8\xfa\x4c\xf0\x40\xef\xba\x95\x57\xf7\xe7\xbf\xb9\x79\x9a\x6e\x5f\x10\xcd\x46\x0b\x74\x1f\x1f\x54\x9f\x8f\xfa\x8f\x29\xdb\xf5\xdb\x13\x45\x96\x57\xb5\x0d\x6a\xb5\xcd\x9d\x5b\xa3\xd2\x14\x82\xf2\x88\x28\x8a\xc3\xa4\xfe\x97\x69\x96\x55\x97\xc8\x29\x4a\x67\x13\xc9\x36\x75\xaa\x4a\x85\x65\xb0\x52\xf2\x4d\x4a\x9b\xdf\xe3\x6b\xa2\xce\x89\x14\x71\xb6\x09\x6a\x4c\x8e\xa2\x61\xff\x04\xd2\x91\x22\x30\xaa\x90\xee\xc8\x93\xf4\x2e\x4b\xbd\x96\xaa\x6f\xf9\x46\xce\x8d\xc3\x57\x29\x5e\x67\x46\xa6\x9b\xad\xe8\xf2\x39\x2a\xd7\xd2\xf1\x8e\xff\x69\x64\xef\xe9\x38\x7f\x67\x0b\x57\xa0\x77\xbf\x39\x53\x90\xae\xf1\x39\x1e\xb1\xd9\x82\x7c\x2d\x8a\x32\x1a\x45\x53\xb4\x60\x93\x8a\x52\xc3\xaa\xb7\xa3\xb3\xc4\x9f\x89\x2a\x4d\xe5\x86\xfa\x1f\xfb\x6e\xa5\xa4\xed\xb4\x32\x43\x64\x65\xf8\x65\x9a\x0d\x8e\xe8\x00\xc3\x63\x25\x20\x65\xf2\x9b\xea\x18\xf8\x6b\x05\xca\xb2\xd6\xac\x56\x6a\x5b\xfa\x77\xe4\x47\x3d\x68\x08\x6d\x40\x97\xa3\xbd\x08\xb1\xf4\x2b\xc8\xe8\x5f\x07\x1f\xed\xc3\x99\x54\x03\x17\xa2\x8e\xac\x78\x3f\xc8\xce\x20\x65\xba\xea\xf2\x92\x68\x1f\x15\x0e\x3b\x44\xcc\x27\x52\x67\x02\x91\x07\x53\x89\xa4\x46\x6d\x72\x7c\x34\x93\xb0\x9f\xb3\x11\xf6\x5d\xb1\x62\x74\xa0\x6b\x76\x57\x5d\xeb\xa5\x5e\xc3\xec\x46\xd9\x36\xd7\x36\x0a\x4b\x37\x25\x7a\xb0\x7a\x8c\xeb\x18\x18\xe8\xa8\xab\x89\x85\xd6\x78\x36\xcd\x59\xbc\x75\xfe\xca\x05\x70\x80\xfd\x83\xde\x0e\x92\xa8\x37\x94\xfa\xa5\xcb\x00\x1b\x5a\x16\xdd\x3e\xca\xbe\x5d\x79\xa7\xb2\xb5\x56\x0f\x6f\x18\x58\xd7\x5e\xe7\xcb\x1a\x3a\x4d\xf3\x9a\x25\xc0\xa9\xe3\xeb\xae\xb1\x2c\xc1\xd9\x13\x8d\x52\x62\x75\xb2\xb5\xcd\x5d\x53\x3b\xa7\x3b\xd1\xb5\x6a\x51\x7c\x55\x2c\x53\xd3\xa3\xfe\x9b\xde\x66\xa2\x24\x93\xeb\xb6\x6c\x69\x7e\xa8\xd9\x62\x0f\x0f\x1d\x50\x2f\x57\xf7\x95\x6e\x54\xb5\x2b\xa9\xb0\x7f\x4a\xa1\x6d\x74\x2e\x9d\xa6\xdc\x18\xd6\x8d\x63\xd2\x3a\x28\xac\xee\x40\xa2\x03\x0a\x0b\x5b\x49\x38\x40\x82\x05\xb4\xdc\xa2\x34\x4e\x37\x68\xd1\xe8\xe6\x54\x46\xd7\x56\x72\x17\xb0\xde\x52\xc9\x68\x84\xa3\x86\xca\xef\x53\x2d\x46\xf8\xae\xcf\x3d\xeb\xd6\x8f\x02\x13\xdf\x3d\x70\x95\xc9\x2c\xb2\x96\xd5\x62\x3c\xb5\xee\xc6\xab\xe7\xcf\x1b\x18\x78\x6d\xc1\x8e\x39\xe1\xb7\xe1\x93\x7c\xb3\x7b\x56\xf8\xbc\xe1\xc5\xc3\x37\x5d\xbd\xe2\xce\x2e\xab\x41\xdb\x37\x6e\xb7\xfa\xad\x6c\xa8\xbd\xb5\xaf\x7b\x71\x76\x70\x69\x7b\xc7\x8a\x06\xac\x94\x7d\xef\x65\x43\xed\x9b\x2f\xfc\x8a\x72\x40\xb6\x34\x46\x86\x6f\xea\x91\x6a\x09\x87\xef\xeb\x5c\xdf\x3d\x67\xdd\xe2\x79\xf3\xfa\x1c\x31\x9f\x67\x0a\x45\x53\x57\x6d\xeb\x9c\x15\x8a\xcd\x92\x9c\xee\x26\x9b\xc5\x20\x0a\x97\xcf\xf2\x47\xc2\x6d\xb8\x61\x49\xc4\xd0\x15\x6e\x74\xba\x6a\xbd\x3d\xbd\xf3\x57\x2f\xae\xab\xe0\x8b\x6e\x41\xd7\x20\x24\x47\x3a\x74\x20\x5c\x5a\xa7\x78\x86\x77\x3b\x39\xbd\x41\x5c\x4e\xb7\x5c\x51\x5b\xbd\xc6\x31\xbd\xc9\xac\x10\xcd\x24\xdc\xae\x8c\xbb\xd4\x58\x5a\x7a\x97\xec\x2a\xb7\x9c\x2e\xc3\x4a\xd9\x93\xd1\x48\x35\xae\xe1\xac\xb0\x81\x08\xb5\x3d\xc9\x83\x0d\x6b\x57\x5e\xeb\xef\xf4\x03\xee\xc9\xf6\xc8\x02\x80\xc8\xb5\x87\x7a\xd7\x5d\xb0\xe3\xfc\xce\xd6\x59\xf6\x46\xbb\x93\xb7\x72\x0c\x2b\x37\xb4\x6e\x15\xf1\xea\x17\x87\xae\x97\x38\xa6\x3d\xba\x98\xb3\x12\x83\xc8\x39\xad\xde\xc8\x92\xc1\xcb\xae\xb8\xf7\xd1\xdd\x7b\x7a\x7a\x5d\x36\x7b\x0d\xbb\x56\x12\xcb\x6e\xd4\xd9\x20\xc6\xeb\x80\xe1\x09\x03\x58\xcc\x1a\x8d\x35\xe2\x75\x42\x94\xfb\x9d\xfa\xd6\xde\x65\xdd\xc1\x0e\x9f\x14\x6c\xf4\x75\xce\x59\xfc\xa9\xe5\x9b\x8f\xae\xed\x9e\xe7\x0c\x01\x26\x6b\x4d\x44\xc0\x11\x81\xf7\x58\xc0\xcc\x59\xbd\x7c\x93\x59\x56\x6f\xfb\xee\x15\x43\xb1\xb9\x73\xba\x02\xc1\x58\xc7\xe0\xd0\x9e\xe1\x07\x61\xe9\xc9\x9a\xc6\xd3\x37\x17\xfb\x46\x42\xc8\x54\xd2\xe1\xa8\xf6\x29\x70\x37\x3a\xa1\x23\x46\x54\xd6\xdd\x5e\x75\x5d\xdd\x36\xff\xa7\xaf\xab\xdf\x57\xed\x23\x14\xa3\x22\x7e\x1f\xd5\x88\xae\x08\x4f\xbf\xa3\xa2\xb3\xdf\xfb\xf0\x29\x2b\xc3\xda\x76\x97\xea\x22\xb0\xd9\x81\x8d\x65\x4c\x43\xb8\xab\x14\x54\xcb\x41\x22\xce\x14\x7b\xce\x04\x15\x0f\x83\x65\x95\x1e\x46\xb5\x79\xb8\x76\xea\x93\x05\x3c\x0a\x99\xda\x4b\xb6\xa2\x04\x42\x46\x88\x42\x23\xd5\xf7\xee\x28\xe1\x98\x86\xdd\xda\x4c\xd1\x0f\x70\x96\x33\xf3\x39\x08\x5f\xa6\xfe\x02\xb7\x48\xa7\x4f\x4b\x69\xe9\x79\x49\x62\x39\xed\x7c\xfa\x85\xcd\x9b\xfd\xfe\xcd\x9b\xfd\xb0\xf7\xb9\xe7\x7a\x7a\x9e\x7b\xae\x87\xfc\xaa\x10\x93\xff\x74\x21\x40\xbe\x49\xf3\xbe\x96\xd6\xf2\x4a\xcf\x4b\x69\x2d\xaf\xf4\xfc\x3d\xf4\xa6\x7f\xb3\x3a\x49\xf3\xf5\x3c\x97\xdf\x58\x88\xc1\xfe\x42\x80\xf2\x1e\xb2\x25\xfa\xdf\x86\x3c\x68\x69\x85\x84\x3d\x68\xd7\xb7\x78\x25\xb3\x1c\xbb\x43\x64\x22\x21\x5d\x21\x82\x1e\x43\x0d\x9c\xbe\xf1\xb3\x27\x23\x7d\xa4\x1f\xfa\x80\xc2\x63\x24\xca\xc6\xde\xea\x8f\x40\xf9\xb4\x60\xfc\xae\x91\xd5\x55\xfb\x61\xc8\x20\x8b\x41\x4b\x94\x68\x9b\x52\x6d\x27\x9b\x25\x51\x4b\x50\x94\x0d\x11\x2f\x00\x63\x94\x85\xe7\xe5\xfe\xda\xb1\x88\x97\x41\xde\x88\x6e\x0b\x80\x15\x40\xc6\xef\x1a\x85\xfc\xbf\xd0\x4b\x26\x37\x89\xac\x6e\xd1\x48\x00\x46\x8f\x1d\x1b\xd5\x7e\x00\xc4\x28\xba\xad\xde\x08\x64\x0d\x69\x57\x47\x6d\x83\xf0\xbc\xec\xcd\xe9\x00\x02\x65\x1a\x66\x49\x09\x87\x41\x9b\x88\xb4\xad\x7d\x1f\xa4\x28\xf8\xa6\x48\x9c\x0e\x97\x5b\x17\x42\x14\xbc\x60\xea\x24\x65\x24\x53\xd0\x2f\xd0\x26\x77\xc2\xb9\x23\x38\x95\x94\x1a\x03\x0c\x87\x5e\x52\x4f\x9c\xba\xea\xb2\x6e\xd9\xd8\xee\x18\xed\xbd\xe1\x5b\x3b\xf6\xfc\xfa\xae\x4b\xbf\x7a\x60\x7d\xeb\xf0\x52\xbf\x01\x5b\x30\x67\x4f\x9c\x7a\xfc\xfe\xc7\x0f\x5d\xd6\xbb\x44\x34\x84\xdd\xe9\x78\xdf\xda\x9a\x2d\x76\xe6\x25\xb5\x88\x1e\xba\x82\xf2\x69\x03\x17\x2d\x6a\xf8\x52\xb4\xeb\xd0\xbb\xc7\xae\xfe\xc1\xfe\x39\x23\xfb\x6e\x9d\xb7\xe3\xd3\x01\x4b\x80\x9f\xc5\xb9\x1d\xbd\x17\xde\xff\xb3\x47\x6e\xf9\xfc\x9f\xce\xef\x0d\xed\xbe\xa0\x3e\x3e\x70\xf5\x9a\xc5\xb3\xd5\x8d\x0b\x2f\x5b\x0f\x7b\x7f\x7f\x4a\x97\x02\x95\xeb\x36\x54\x41\xf7\x17\x6b\x27\xe9\xce\xc1\x0a\x95\xa3\x93\xef\x07\x56\x2e\x34\xcd\x7e\x38\xdf\xba\xc6\x6d\x6c\x73\x5e\xda\xf3\x95\xdf\x2d\xbc\xe9\xab\xa3\x3b\xbe\xb2\xef\xc2\xd6\xe5\x4b\x05\x27\x63\x62\x39\x7b\xfc\xc7\x8f\xde\xf7\xe8\x6d\xa3\x3d\x5a\xe5\x5c\xa9\xd9\xbd\x6b\x3c\x9b\x3d\xf6\xaf\x55\xda\x18\xdf\xb8\xae\xe1\x8b\xd1\x4e\x88\xfe\x7a\xf5\x83\x37\x2c\xee\x1a\xb9\xe9\xa3\x03\xdb\x3f\x15\x60\x4d\x62\x9b\xdd\x2d\xf7\xad\x3b\xf6\xda\xc3\x1f\x79\xec\xed\xf3\x7b\x1a\x76\x9f\x5f\x3f\x7b\xee\xae\x55\xe7\xcd\x56\x37\x6f\x7d\xa0\x64\x88\x5c\x96\x6d\xd5\x52\x7a\x0d\x41\x32\x1a\x74\x26\xc4\x02\x9c\x40\xdc\x9d\xd1\x4a\x6d\xd3\x08\x9d\x70\x22\x15\x4a\x85\x9c\x21\x67\xc2\x99\xa8\xa6\x50\xc9\x7d\x9c\x7a\xec\x67\xa4\x76\xd6\x9a\xf4\x96\x3b\xef\xdc\xb2\xa1\x77\xc7\xe5\xf7\x8d\x8d\x8f\x8f\x7d\xf6\x05\xb8\xe0\x8a\x2b\xae\xbc\xf2\xca\x2b\x41\xaa\xa4\x61\xf1\x1e\x6f\xe4\xa0\x27\x99\x0e\xdd\xf5\x83\xbb\xba\xb7\x6d\x7d\x43\xfd\xce\x1b\xaf\xec\xd1\x92\x5d\x89\x3f\x3a\x8d\xba\xd5\xd6\xbf\xcf\x18\x11\x7b\x51\x01\x0b\xd8\x81\x2b\x9c\x62\x07\xdc\x3c\x55\xe5\x76\xd0\x11\x46\x32\xc1\x54\xd0\x15\x76\x6a\x64\x58\x28\x95\x48\x25\x9c\xec\x83\xff\xa2\x7e\xeb\xe5\xfb\xd4\x77\x9f\xbb\xf6\xda\xe7\xc0\x76\x1f\xf8\x5f\xfc\xfe\xee\x2f\xde\x74\xea\xc6\x1b\x4f\xdd\xb4\xea\xf0\x85\xf3\xea\x39\x75\x04\xff\xab\x85\x6c\x39\xf5\xca\xa9\x53\xaf\xe0\xab\x5e\x56\xbf\xf9\x35\x2d\x21\xb4\x80\xed\xb9\x6b\x73\xdf\xde\xb5\xf7\xb5\xc9\xd7\xf6\xc6\x16\xac\x5b\x16\x9a\xec\xef\xd7\xd2\x9c\x3a\x55\xe2\x21\x2a\x2c\x42\x16\xe4\x43\x6d\x74\x27\x48\x5d\x97\xf2\xee\x74\x26\x61\x0f\x35\x3a\x44\xdc\x10\xc3\xc9\x3e\x1c\xf7\x03\xd8\xf5\x2f\x38\x64\x8f\xbb\x9c\xc1\xe4\x19\x33\x3a\x41\xa0\x28\x57\x7f\x7c\x69\x8b\x80\x15\x8c\x5a\x96\xee\x3f\xb6\x7f\x69\x8b\x7e\xc2\x2d\xa3\xc7\x26\x14\xed\xbb\x63\x94\x63\x7f\x88\x78\xdf\xa7\x1c\x07\x1e\x79\x23\xa0\x8c\x40\xee\xd0\x70\xd8\xa1\x8e\xbf\x79\xe7\x91\xbd\xcb\x96\xed\x3d\xa2\x9f\xd4\x16\x8c\xb4\x0c\x2a\x3d\x92\x6c\xd9\x5f\x50\xa4\x80\x35\xc0\x20\xa2\x20\xa1\x68\x25\x43\xf1\x0c\x12\xc1\x38\x83\x64\x35\x2b\x27\xb5\x03\x75\x96\x44\x2e\xa4\x61\x19\x72\x72\xb2\x88\xf3\x00\x88\x41\x24\xab\xe7\xd5\x7d\x7d\xeb\x4a\xfe\x0c\xd2\xbd\x2c\xd1\xc4\x32\xe4\x80\xea\x4a\xc8\xba\x42\xbe\x9e\x37\x8b\x14\xac\x30\xf4\xbd\x05\xcf\xba\x05\x68\x03\x6d\x67\x5f\x7e\x11\x93\xad\x7c\x8e\x5c\xf4\xa7\xac\xe0\x2c\x53\x51\x66\x1d\x48\xd0\x0d\x38\x4b\xcb\xac\xbf\x0b\x3f\x50\x2e\x7c\xa4\xf0\xde\xe9\xb6\x35\x75\x08\x25\x82\x54\x37\x32\x6c\x0f\xda\x67\x58\x5b\xc7\xf0\x48\x5e\x91\xd9\x2b\xf2\x0a\x1e\xd1\x5d\x67\x97\xd6\x3b\x46\x99\x18\x13\xe4\x00\x33\x32\xa1\xc8\xcc\x8b\x95\x7e\x48\xb4\xf1\x99\x63\x74\xec\xb9\xda\xea\x56\x95\xaa\xda\x69\x7a\x1b\x47\xaa\x9a\xed\xe7\x15\x2d\x31\x43\x1b\xd2\xf7\x60\x74\xee\xbe\x9b\xf6\xa0\x42\x5e\x82\x0a\x65\x3c\x47\xdf\x91\xea\xf7\x96\xed\x89\xbd\x68\x4e\xe5\xce\xd4\xe5\x66\xdc\x7e\xdc\x8d\xa9\xec\x3b\x9c\x96\x1d\x1c\x8f\x78\x91\x69\xc5\xd4\xb0\xa0\x91\x4a\x71\x0b\x6e\xa2\x74\x46\x79\x5b\x17\x8c\xde\xd6\xb5\xe8\xba\x04\x40\xe2\xba\x45\x5d\x9f\x87\xf3\xba\x5a\x37\x2f\x56\x6f\xdf\x60\x9a\xdb\xda\x9b\x76\x03\xb8\xd3\xbd\xad\x73\x4d\xeb\xd5\xcf\x37\xf4\x5d\xb9\x6a\x29\x9b\x9b\xbb\x89\xcc\x99\x7c\x93\x6a\xe1\x7b\x67\x47\xfe\xb6\xa5\xa5\x63\xf6\xec\x8e\x96\x9b\x7e\x15\x85\xb5\xcb\x8f\x24\xd4\x89\x2c\xdf\x51\xd7\x28\x49\x8d\x75\x1d\x7c\xf6\x1d\x4f\xcb\xd1\xfe\x65\x3b\x36\xd2\x3e\x7f\x8a\x43\xec\xe5\xd4\xee\xaf\xb5\x80\x6f\xe1\xd2\x55\x75\x93\xe9\xb8\x8b\x72\xf4\x75\x17\xf5\x4e\x7b\x50\xb2\x75\x40\xd0\x19\xa2\x26\x96\x70\x91\xfa\x55\xd8\x04\x97\xac\xc6\x2b\xb7\x5e\xf2\xb9\xad\xcc\xdd\xea\xd7\x56\xac\xed\x5f\xe3\x34\xab\x5f\xc3\x00\xb0\x18\x3b\x5a\x16\x5d\xd2\xff\xc4\xcb\xe4\xee\xc9\x20\xf9\x4f\x88\x2f\xde\xbc\x79\xf1\x92\x8b\x2f\x9e\xfc\x65\xfe\x07\x58\xba\x74\xcf\x82\x84\x3f\x91\xff\x09\xdc\x0d\xef\xce\x9a\x75\x24\x30\xab\xb3\xfe\x37\xd3\xf1\xf5\x93\x74\x4d\xa4\x3e\xfd\xa3\x91\x74\x3f\xa4\x13\x2e\x37\x9d\xb7\x30\x5d\x3b\x38\xbe\x8a\xcd\x4f\x9d\xfe\xbb\x38\x74\xe3\x4b\xea\x6f\x3f\xf5\x05\xf5\x87\x57\xf0\x60\x38\x64\xb2\xda\xf8\xc5\xaf\xee\x29\x7a\xfe\xdf\xfc\xaf\x0b\x0f\x55\x70\xe6\x6f\xbe\x0c\xe4\xa3\x9f\x02\xdf\x4b\xc4\xa7\xfe\x40\xfd\xed\x4b\x37\xde\x73\xd0\x54\x63\xb8\xc3\x88\x4d\x9b\x76\x14\x1c\xff\x2f\x1a\xb8\xa3\x82\x73\xff\x91\x6d\x57\xdd\xf8\x12\x02\xd4\x34\xe5\xe4\xfe\xc8\xfe\x14\xed\x42\x28\x38\x0d\xb4\x96\xe7\x1a\xa2\x7e\xce\xe9\xe0\x45\xb6\x10\xd7\xc7\x50\x73\x68\xd6\x5d\x18\x42\x31\x2e\x95\xcc\xf4\xb1\x05\xde\x91\xc8\x50\xd3\x12\x36\xea\x72\x58\xa1\x88\x05\xfb\xc7\xf0\x65\xd4\xef\xee\x7d\x91\xd6\x29\xb4\x5f\x6c\x12\xb1\x93\xb1\x31\x06\xe2\x23\xb5\x66\xaf\xe4\x15\x9a\x7c\xea\x0e\x9f\xd1\xe8\x32\xfb\x89\x3f\x62\xb2\xd9\x4d\x76\xce\x81\x45\x11\x36\xcc\x94\x14\x8e\xcf\x90\x74\x3f\xa0\xd6\x54\x32\x0a\x97\x85\x53\xe1\xcb\xc3\x61\xb8\xbc\x31\x9d\x6a\x05\xb4\x5f\x14\xb1\x83\xb3\x9b\xec\x36\x53\xc4\x4f\xfc\x66\x97\xd1\x48\x39\x65\x82\x57\xf2\x9a\x6b\x89\x8f\x18\x18\x1b\xe3\xc4\x62\x93\xf6\xae\x33\x93\xaa\x3b\x66\x4a\xba\x7f\x0a\xb5\x86\xd5\xfb\xa2\x65\x0c\x0f\x5d\x9f\x38\x88\x9a\xa9\x64\x63\xb0\x6c\x5b\x5d\x22\xe6\xe4\x74\x0c\x38\x9e\x88\x54\xdf\x23\x9d\x49\x47\x1a\xab\x52\x14\x35\xe2\xc0\xc6\xeb\x72\x1f\x7b\xd1\xf3\x3b\x28\xd4\x0b\x32\x98\xf5\xd3\xdf\xb7\x71\xb5\xf1\x18\xbf\xad\x67\xa3\xcd\x31\xfc\xc0\x1d\x0e\x5b\x1b\xde\x4c\xef\xe4\x5f\xa0\x27\x5c\x48\x77\xf8\x63\x72\xe8\xf4\xad\x21\xf9\x63\x77\xbd\x0b\x43\x70\x39\x0c\xbd\x7b\x17\xd0\x3b\x83\xb8\xe0\x1e\xf9\x04\xec\xf7\xb6\x8b\xb5\x5e\xf5\x66\x76\x69\xcf\xd2\x3b\x9a\x86\x97\xf6\x5c\x2d\xea\x29\x5e\xa0\xa7\xdd\x7a\xba\x9c\x3a\xf1\xab\xba\xba\x5f\x02\xf7\x55\xed\x21\x77\xbd\xab\xfe\x6b\x09\xbb\x91\xd6\xdd\xa5\xad\x7f\x28\xc0\x68\x7b\xca\x7a\xe0\x39\x3e\xad\xa3\xd1\x37\xa6\x6d\x11\xa6\x0c\xc6\x15\x6a\xa8\x46\xe3\xa2\x20\xd1\x43\xea\x0e\xf5\xc1\x53\x77\xdf\x7c\x7e\xad\x27\x76\xfc\xa6\xd6\xae\x05\xbd\x3f\x82\x2d\xa7\x4e\xc1\x8a\x0a\x8c\x2e\xd6\xea\x39\x03\xa4\xeb\x5d\xf8\x14\xbc\x05\x9f\x62\x94\xc3\x6f\x1f\xda\xf9\xc2\x92\xf8\xc8\xfa\x15\xfd\x97\x47\x38\xc3\xe1\xb7\x41\x7a\xfb\xfb\x65\xe0\x2e\xa7\x7d\x06\xdc\xae\x7f\x81\xe8\x13\x4f\x94\x79\x10\x08\x39\xd0\x1c\xb4\xb5\xb2\x16\xa5\x3a\x24\x23\x5a\x2f\x7c\x00\x8a\x02\x7c\x30\x7e\x82\xd3\xc1\x91\x0b\xd4\x97\xd4\xbf\x3d\x38\x3a\x72\x71\xa8\xc1\xd7\x96\x5a\x36\xf8\x09\x30\x3d\xf8\x60\xfe\xd3\xb0\x1f\x16\x9c\x3c\x07\xba\x02\x3b\xe7\x43\xa1\x2a\xdc\xc5\x28\x3b\x9e\xde\xbe\xf2\x78\x67\xe7\x6a\x87\x5c\x6f\x12\x77\x3c\xfd\xa3\xa7\xdf\x3a\xf4\xf6\x39\xa0\x16\x26\xfe\x71\x6e\x94\x85\x9b\xae\x3f\x85\x00\xc1\x14\x22\x7b\x59\x85\x62\x3f\xbb\xf8\x82\x79\x53\x46\x66\x75\xe1\x44\x41\x19\xde\xe9\xe0\x49\x38\x9d\x88\x93\xdd\x92\x39\xff\x5b\xa1\x8e\x31\xd9\xed\xcc\xf7\xd4\x51\xc6\x20\x09\x12\xfb\xbf\x18\x8f\x0d\xce\x93\xbd\xec\x13\x70\xa7\x81\x91\xc9\x0f\x1d\x9e\x89\x9b\x6a\x30\xeb\xb3\x91\xa6\x6d\x60\xb6\x7a\x48\x97\x28\xd5\xd8\x0d\x26\x75\xf6\x66\x5c\xe9\xfb\x63\xcd\x74\x7e\x68\x37\xa4\x82\xce\x44\xb5\x73\xe4\x19\xe3\xa8\xe0\x36\x34\xdd\x79\x46\x2b\x38\x83\x05\x14\x41\x1e\x75\x36\xe9\x26\x85\x23\x2a\xa2\x1c\xd9\x19\xaf\x86\x92\x58\xbf\xa6\x86\x87\x4d\x23\x18\x25\x87\x46\x9a\x3a\x2b\xcd\x11\x73\xb9\x62\xea\x19\xae\x92\x43\xb9\x62\x5e\x2d\x36\x37\x94\xcc\x75\x96\x69\x93\x1c\x92\xd1\x72\x74\x41\x81\x2e\x2a\x2a\xbc\xbb\xe2\xe9\x94\x3d\x1d\xd7\xb9\x8c\xda\xb6\x89\x2b\x8a\x82\x62\x10\x8d\x41\xd5\x25\x5d\xcc\x74\x5c\x82\x34\xd2\x56\x0d\x3f\xb8\x5d\xe0\x8c\x34\xf0\xf4\x71\x44\x39\xfe\xf2\xf1\x48\x32\xb2\x6c\xeb\xb2\x60\x1f\x09\xca\x82\xd9\x32\x7b\xdd\x9c\xf9\xd7\xb7\xf2\x4e\xc6\x6c\x97\xcc\x8c\x93\x6f\xdd\x73\xfb\x1e\x7a\x29\xd9\xe9\xe5\xf5\xf3\xe7\xac\x9b\x6d\x31\x0b\x32\xb4\xa3\x29\x58\xf3\xad\x3b\x41\x18\xff\x6c\x10\xf2\xa8\xa5\xad\x25\x92\x8c\xe0\xe7\xf2\x27\x77\x1c\x3f\xbe\x43\x23\x61\xe2\xcb\x96\xc5\xf1\x7c\x73\x44\x90\x4d\xb1\xd8\x92\x1e\x53\x23\x67\xb7\x73\x8d\xa6\x9e\x25\x95\xe1\x58\xcc\x24\x0b\x2c\xfe\x1a\xd8\x6f\x1f\x3e\xfa\x9b\x3b\x30\x7e\x65\x33\xc6\x9b\x35\xa2\x94\x29\xc9\x55\x0c\xc8\x83\x6a\xb5\x1d\x08\x1b\xd4\x65\x29\xc1\x33\x98\x25\xc1\x92\x0d\x77\xef\x74\xa7\x28\x94\x7b\x4f\x10\xa1\x32\x0e\x55\x01\x24\x0b\x79\xca\xcd\xc4\x39\x41\x06\x04\xad\xea\x6b\x18\x95\x85\x2d\x9d\x4d\x4c\xb6\xa9\xd3\x69\xd5\xd6\x02\x05\x2b\x9d\x4d\x30\x06\x81\x12\x56\x6c\xfe\x0a\x68\x55\xd7\xe4\x69\x9f\x8f\xe9\x6c\xfa\xce\x26\xf5\xeb\x82\x55\xdd\x41\x59\xf5\x7a\xdf\x51\x5f\x30\x36\xd4\x84\x36\x50\xd9\x24\x35\x2b\x2f\xec\x99\xfc\xe0\x2e\x58\x35\x38\x74\x4f\xd9\x89\x34\xdd\xef\x66\x1c\xbc\x88\xcb\x68\x23\xda\xce\x90\x1a\x6c\xd1\x9e\x2b\xfe\x62\x58\x07\xee\x8d\xfb\x31\x1e\x97\xbd\xf2\xe5\x49\xad\x5c\xf1\x2d\x83\x63\x0b\xae\xba\xed\x8e\xdb\xae\x5a\x30\xdf\xd4\x6c\x52\x84\xdf\x0a\x8a\xa9\xd9\x34\x5f\xb9\xa4\xbd\xbb\x87\xe9\xa8\xa9\x69\x17\xfa\x63\x8e\xe1\x8d\xc3\x8e\x58\xbf\xd0\x5e\x53\xd3\xc1\xf4\x74\xb7\x5f\x72\xc1\x3d\x5f\xfb\xd6\xd7\xee\xb9\x80\x50\xce\x6b\x2c\x2e\x7b\xe5\xc0\x50\xf2\xbc\xbd\xcb\xdb\xdb\x97\xef\x3d\x6f\xdb\x72\x73\x9b\xf9\x13\xf7\xdc\xf3\x09\x73\x9b\x79\xf9\xb6\x4f\xee\x9a\x3d\x74\x4d\xdc\x97\x0e\xd7\xd6\x86\x93\x75\x6e\x4f\x2c\xde\x96\x4c\xb6\xc5\x63\x1e\x77\x5d\x52\x8b\x4b\xfb\xe2\xd7\x0c\xcd\xde\xf5\xc9\x2d\x4f\xec\x9a\x3b\x77\xd7\x13\x74\xfe\xd7\xb1\x67\xbd\xd4\x06\x85\xb2\xa9\xcb\xb2\x21\xdd\x8f\x24\x55\x97\xb0\x55\xe0\x52\x46\xca\x86\xea\x3a\x9c\x99\x70\x7a\x4c\x16\x2c\x16\xf5\xdf\x8c\x46\xc8\x52\x57\x91\x23\x82\x5c\x40\x99\x3c\x3d\x46\x51\x7e\x47\x74\x14\x49\x18\xc9\x09\x72\x4e\x90\x4d\x90\x35\x0a\xa2\x96\x5a\x16\x72\x32\x0e\x16\xc1\x22\x29\x6b\xb9\x04\x09\x59\xc4\x08\xa4\xbe\x89\x52\xd4\x06\xb8\xb5\x2c\x01\x2a\xca\xb2\xe2\x19\x48\xb3\x1f\x20\x57\x66\x91\x24\x8e\xd3\x07\x8f\x0b\xb2\x11\x46\x8c\x3e\x23\x6c\x32\xe1\xa2\xb4\xf9\xce\xeb\x30\xb4\xbd\xfa\x29\x20\xdd\x8b\x36\x8d\x1e\x6b\xbe\xf9\x51\x3c\x22\x4a\x30\x42\xe5\x3c\x63\xd4\x03\xe6\x98\xd1\x08\x9b\x2c\xaf\x52\x19\xf4\xcd\xaf\x67\xfc\xc2\xab\xd0\xf6\x2f\x47\xfa\x8e\x8d\x0e\xf5\xd5\x9f\x3a\xb3\x8c\x51\xaa\xb8\xac\xe3\x53\x94\xf4\x70\x13\x05\x44\x88\xb3\x96\x51\x7b\x8d\xcf\xa8\x3e\x64\xaa\x28\xec\x07\x94\x71\x4c\xd4\x6a\x62\x54\x1f\xb2\x58\x44\x49\xa5\x6d\x0c\x23\xb2\xfa\xce\x59\x0a\x89\x2a\x7d\xa4\xf3\x68\x1d\x1a\x29\x4b\x74\xd8\x92\xae\x06\xc9\x70\x75\x40\x41\x0a\x74\x50\x82\x54\x32\xe3\x0a\x64\x5c\x75\x14\x7c\xb7\x88\x66\x16\xa5\xd3\xd1\xb4\xeb\x48\x34\x99\x8e\xe1\xa8\x9f\x29\x29\x76\xe8\xa2\x5e\x26\xa2\xab\x6d\x98\xc3\x73\x76\xcc\x77\xcd\x59\xb8\x73\x6c\xe7\xa2\xae\x9a\x83\xb0\xf0\x60\xcd\xe8\xb1\x40\xe7\x70\x67\x60\x68\xc7\x10\x3d\x2f\xe8\x06\x60\x4c\x86\xf9\x3b\xe6\x84\xcd\x6a\xae\xa0\xc6\xf1\x73\x2a\xc2\xde\x77\xc3\x1d\x77\xdc\x30\x7f\xff\xb1\x6b\xd6\x5b\x93\xf3\x5f\x70\x6c\xed\x1d\xde\xb9\x73\xb8\x77\xab\xe3\x85\xbe\xfa\x1d\x3b\xea\xfb\xb2\xc7\x46\x2f\xa8\x6b\xd1\x3e\xee\x96\xba\x0b\x92\x43\x43\xc9\xf2\xd5\xfc\x3d\x0d\xa6\xb9\xf5\xc9\x16\xd9\xba\xfe\x9a\x63\xfb\xc9\x4f\x0b\x0a\x1d\x25\xdb\x72\xbd\x2d\x96\x96\x29\xbd\x8c\x83\xe3\xed\x0e\x26\xd0\xd8\x0b\xba\xdd\x6f\x22\xee\xa6\x62\x1f\xfa\x45\xd8\x1d\xae\x40\x5a\xd7\xc5\xa7\x3c\x21\xbd\xf7\xec\x0e\x8e\x77\xea\x77\x28\x25\x11\x2f\x99\x2d\x2c\xea\xd2\xe1\xa3\x1f\x79\x3d\xe2\xe5\x4c\xf6\x9e\x50\x6a\x70\x30\x15\xac\x3f\x09\x86\x93\xf5\x41\x2d\x1c\xea\xb1\x9b\x38\x6f\xe4\xf5\x47\xb4\xa8\xae\x45\x3b\xc7\x76\x12\x5d\xe9\x20\xdb\xb7\xd9\xa9\xee\x3e\xf1\xc6\x1b\x27\x0e\x3a\x7e\x7a\x84\x42\x6a\xf8\x1b\x07\x47\x07\x25\xf5\x4a\xca\xbd\xbb\x57\x1a\x1c\x1d\x6c\xf4\xe3\x88\x57\x45\x47\x7e\xea\x38\x48\x23\x0f\x3b\x37\xf7\x0d\xef\xdc\x59\xf0\xf5\xa9\xcb\x55\xb5\xdd\x6c\x58\xd7\x8d\x62\xcb\xf0\xe8\xf6\xa0\x3d\x51\x52\x85\x2a\x60\xa8\x27\x8a\x1a\x51\xea\x18\x45\x75\x64\xc6\x26\x91\xa2\xab\x40\x61\x74\x70\x43\x36\xbb\xe1\x20\xa3\x28\xca\x04\x3a\xb8\x81\x64\x37\x1c\x9c\x40\x2c\xd2\x35\x9f\xc6\x27\x73\x1b\x0e\xb2\xe8\x20\xc2\x15\x36\x62\x89\x2a\x0b\xb1\x0f\x6f\x15\x46\xb2\x1f\xd2\x10\xec\x43\x19\x7e\xe9\xb4\x61\xb6\x40\xdb\x37\xd0\x9e\xa6\x95\x85\xa0\x3e\xe8\x91\x4d\xa3\x25\xa6\x71\x10\x38\x65\xe7\x70\x36\x3b\xfc\xfe\xbb\x3c\x3a\x36\x3a\x81\x46\x8f\xf1\xd9\x37\x4e\x64\x0f\x6e\xc8\x67\x37\x1c\x8c\x78\x19\xe5\x04\x99\x35\xb6\x53\x55\xf2\xb9\xd1\x63\xc7\x18\xa3\xfa\x9d\x37\x02\x5a\x7b\xe1\x71\x6f\xa4\x12\x0b\xbd\x1d\x0d\xe8\xd4\x00\x5f\xb2\x30\xd5\x87\x14\x1d\x32\x2e\x1d\x7b\x65\x7a\x98\x2d\xa5\x0c\x55\xfa\x5d\x5d\xd4\x45\x81\xff\xbb\x16\x55\xc2\x28\x44\x92\x11\x82\x68\xfc\xb8\x20\x9f\x3c\x08\xc8\x1b\x61\x73\x79\xa5\x77\xab\x63\xf2\x3d\xed\x23\x20\x66\xc7\xd6\x5e\xac\xc3\xc3\x8e\x50\x65\xbc\xb1\xea\xf0\xfb\xd4\x67\x06\x46\xb2\x40\x02\x07\x4f\xea\x72\x5f\xdd\x7e\x45\x46\xde\x02\x06\xee\x2a\xea\xd1\xc0\x59\x2d\x64\xe7\xed\xc1\x48\x14\x22\x50\x58\xe1\xed\x30\x0d\x5e\x26\x92\x62\xab\xa4\x80\xd5\x52\x41\xf6\xa4\xaf\xa9\x24\x79\x57\x9a\x46\x7c\x07\xe1\x7a\x93\x45\xfd\xbe\x05\xb6\x50\xf5\x06\x04\x48\x12\x8b\x90\x33\xa2\x84\xc7\x8b\xa1\xca\x58\x49\x64\x0e\xfa\x46\x9a\x26\x14\xed\x29\x1c\x95\xc2\xcf\x57\x6f\xaf\xb3\x40\x97\xe5\xb4\xc4\x20\x8d\x1c\x38\x8d\xc8\x48\x51\x68\x24\x8e\x95\xa5\x7b\x53\xa8\x1c\x46\x8e\x0a\xfc\xfa\x33\x65\x49\x5f\x44\xdf\x46\x3f\x46\xff\x89\xfe\x8c\xa6\xc0\x0a\xf5\xd0\x0e\xbd\x67\xfa\xad\x4e\x55\x5d\xb3\x55\xd7\xd5\xe9\xab\xfd\x56\x57\xdf\x3f\xd7\xf5\xff\xeb\xfc\xe7\x4a\x5f\x5d\x5f\xd0\xa6\x98\xa2\xb6\xe5\x19\x58\x4c\xa0\x94\x51\xba\x2b\xf0\xba\x51\x39\x3c\x55\x11\x26\x67\x89\x3f\x5b\xf8\xff\x46\x7a\x7c\x96\xf8\xe9\x65\x06\x65\x42\xd1\xea\x46\x81\xb1\x50\xa5\xf7\xf7\xf1\x52\x4d\xff\x7a\x66\xc5\x2b\xe2\xf2\x7f\x9d\x21\x72\xa6\xd0\xff\xa9\x84\xea\x4c\x91\xe5\xc3\xe9\xa3\x1c\x3a\x8d\xc6\x75\x02\xae\x42\x1d\x18\x09\x1f\xf8\xcd\x7c\x0d\xfd\x02\xbd\xf7\xff\xfe\x2b\xf9\x9f\x8c\xd2\x92\x5e\x46\xc5\x78\xad\x81\xa2\xbf\x81\x50\x6a\xba\xb6\x51\x2f\x24\x9c\x67\xe2\xdb\x27\x82\xa5\x1d\xcc\xff\x95\xd1\xfd\x61\x47\xdf\x94\xb6\x13\xce\x36\x75\x6a\x61\x7d\x14\xd2\x5b\x15\xe5\x51\x0a\xcf\x2b\x8e\x4d\xc8\x76\x36\x41\xae\xa9\x13\xb2\xff\xc7\xc6\xe8\x39\x46\xd4\xe4\x51\x46\x09\x68\x13\x76\x60\x42\xa1\xe3\x8a\xe4\xf4\x82\x8e\x8c\x94\x14\xab\xf4\x70\x7b\xf9\xf3\x01\x9a\x43\x1d\x8f\x20\x96\xca\x5e\x75\xba\xcd\x86\x3c\xa8\x07\x6d\x99\x2e\x7d\xa5\x10\xae\x45\x72\x4e\xa6\xdd\x57\xf2\x1e\x11\x2a\xba\x90\x70\x96\x7a\x33\x9e\xd6\x01\x20\xa6\x09\x68\x23\x54\x3a\x9b\xd6\x65\xb3\xa5\x65\x98\xb2\xdd\xd4\x17\x40\xf9\xb4\x68\xf8\x2e\x8f\x59\x44\x23\x5e\x90\xc4\x71\x2a\xea\xd6\xb1\xf3\x8b\x41\x40\x11\x6f\xae\x28\xaf\xa5\xdf\x8d\x57\x7e\x5e\xce\x7a\xc7\x74\x29\x4e\x81\x85\xa7\x00\xc2\xfc\x77\x2d\xa6\xfc\x93\xf4\x9a\x04\xce\x78\x8e\x16\xc4\xb1\x09\xc5\x1b\x29\x4a\x6e\x23\xc9\x08\x8c\x79\xb3\xf2\xf3\x32\xd5\x57\x8f\x14\xb1\x25\x74\xdc\xfa\x28\x9a\x8d\xfa\xa9\x8d\xfb\x87\xa9\xfa\x87\xa2\x0a\xe9\xee\x69\x86\x2a\xe6\x75\x6a\x51\xa1\xd4\x0f\x93\x9b\xc8\x8d\x95\xa9\xc5\x40\x60\xc3\x41\x18\x9b\xb9\x36\x7f\xfa\x40\x22\xb2\x88\xcf\x41\x71\xe1\xe7\x20\x04\x9c\x00\x7c\x48\x27\xc1\x5b\x49\x2a\x61\x0f\xf1\xa1\x68\x2a\x91\x4a\xa4\xa2\xa9\x4c\x2a\x94\x0a\xa5\x32\x09\x77\xc2\x1e\x4a\x75\x63\x5d\xd7\x17\x12\x6e\xd6\x0f\x6e\x5e\x01\xf5\x0d\x75\x6c\x3c\xab\xfe\x62\x81\xd6\xfc\x23\x63\xd9\xec\x58\x6e\x24\x10\x50\x72\x39\x25\x10\x18\xc9\x69\xd7\x94\x18\x5a\x00\xe1\xec\x38\x8c\x28\x47\x0c\x38\x1b\xc8\x06\xb2\xea\x98\x51\x34\x06\x60\x6c\x3c\x90\x0b\x18\x3c\x8a\xc7\x10\xc8\x05\xc6\x61\x2c\x60\xd4\x36\x82\xd9\x80\x6f\x96\x89\xee\x1f\xb2\x05\xfd\x13\x0e\x79\x74\xe9\x84\x46\xe6\x3a\x83\xa9\x0c\x6d\xcf\x68\x26\x98\x09\xba\x79\x0a\xc0\x3d\x98\x62\x94\x09\x45\x51\x4e\xbc\x91\x0d\xc0\x78\x80\xe4\x02\x59\xac\x68\x5f\x6b\x6a\x50\xcd\xe6\x72\xb9\x37\x4e\x40\x36\xab\x28\xb9\xc0\xe4\xf8\x34\x9f\xa9\x09\x84\xc2\x65\x77\xa9\x55\x7a\x8f\x3a\x3c\x08\xc5\x3f\x3c\x03\x07\x88\xea\xf1\xa9\xa8\xec\xb7\x16\x17\x3d\xa7\x56\xca\x6e\x73\xba\xec\x4a\xcd\xd1\x61\x44\xc5\x47\xda\x84\xa0\xe6\xbc\x91\x08\xf9\x46\x95\x6e\x62\x55\xb9\x3e\x8c\x2f\xd7\x99\xca\xa5\xe6\xf4\xb2\xe5\xf4\x77\xe9\xa5\xca\x56\x97\x4c\x77\xe6\x9a\xd5\x4b\x37\x3d\x03\x9e\x33\xbd\x60\x18\xb5\xa3\xa5\xe4\xaf\x4c\x02\x39\x50\xb3\xb6\xa3\xad\xf6\x85\xcb\x1b\x81\x99\x29\x12\x5f\x63\x8a\x9b\xbc\x26\x35\x66\x32\xc1\x2b\x26\xaf\x29\x6e\x32\xa9\x7b\xe0\x10\xdc\x31\x63\xf4\x93\x34\x44\x63\xe0\x15\x93\x9e\x64\x8f\xba\xc7\x34\x73\xb4\xee\x57\x0d\x2d\x25\xff\x5e\x2c\x17\x2a\xeb\xb6\x94\x7d\xea\x32\x33\x45\xe2\x55\xda\xcb\xf5\xe7\x1e\x52\xf7\xe8\x0f\x85\x57\xe0\x8e\x19\xa3\xf1\x52\xbd\xac\xf4\xea\x10\x1c\x2a\x94\x38\x66\x9a\x39\x5a\x2b\xd7\x52\xf4\x31\x26\xc1\xac\x9a\xd6\x5e\xd3\xfd\x43\x48\x33\x45\x32\x89\x73\xd5\x7a\x5a\xf4\x3b\x67\x14\x55\x7b\x3f\x5c\x37\x63\x34\xd2\xcb\xf5\x24\x93\x60\xae\xa9\x6c\xaf\x2a\x1f\x13\xd2\x4c\x91\x4c\xe2\xec\xd5\x9d\x21\x1a\x3f\x79\x66\xe7\x9a\x4c\x71\xad\x60\x33\x44\x6b\x73\x51\x3b\x5a\x8a\xaf\xa1\xfd\xa8\x95\xca\x08\xd5\xee\x96\xf1\x35\xc5\xd4\xd3\xc6\x0d\x79\x67\xe6\xc6\xa2\xf3\x9b\x80\x96\xe2\x55\xa5\x67\x7e\xe8\x41\x70\xb6\xde\xa6\xcf\x5c\x0a\x02\x93\x20\xab\xf4\x67\xfe\x13\x1d\x08\x57\x9c\xad\x4f\xb4\x67\xb6\x33\x09\x72\x4d\xb9\x9c\x1f\xb2\xf1\x49\xfb\x59\x9a\xb3\x20\x87\xd6\xe9\xc6\x0e\x1d\x2f\xb5\x12\xa5\x47\x97\xe5\x3b\xfc\xa5\x1d\x79\xb2\x0f\x52\x15\x73\x08\x8f\x64\xe1\x7d\x4a\x22\x70\x59\x2a\xdb\xcf\x8f\x07\x02\xba\x93\xf4\x40\x20\x4f\x21\x92\xb8\xec\xc0\x46\x1c\x20\x94\xa6\x98\xa4\xba\xc1\x4b\x27\x72\x03\x1b\xc3\x2b\x7a\x05\x6d\x0e\x11\x7b\x86\x23\x65\x75\xb4\x0a\x1d\x10\x2b\xb5\x58\xd7\xe6\xb6\xe9\x92\x86\x10\x54\x60\xcf\x69\x65\xd5\x48\xc0\x02\xcd\x98\x60\xe3\xc9\x56\x68\x70\x24\x60\xac\xa4\xe4\x36\x30\x31\x26\x0b\x0c\x7d\xfd\x44\x4e\x90\xd9\x91\x31\x1d\xb6\x69\x8c\xec\xb4\xd9\xc6\x6c\x36\x40\x3a\x7a\xa8\x8e\x7e\x4b\x46\xca\x0c\x6e\x79\x72\x15\x65\x56\x8f\x8c\x04\x02\x25\x7d\x70\x46\xa7\x75\xdc\x28\x5a\xa6\x73\xc2\x33\xb6\x5a\x25\xcb\x40\xc7\x79\xf8\x5c\xa1\x05\x04\xa2\x37\x56\x19\x0b\x6f\x3b\x65\x20\x8c\xeb\x1c\xe5\x49\xad\x04\xe4\xc5\x69\x8a\x7a\x8c\x5e\x00\xca\x37\x71\xeb\xda\xe8\x67\x7b\x3b\xa6\x4d\xd0\x0d\xd5\x2e\x0c\xe0\x65\x0a\x88\x84\xa6\x64\x41\x45\xb4\x8e\x48\x90\x73\x5a\x13\x8c\xc1\xac\xa1\xa4\x8a\x74\xee\x43\x72\x68\x93\x8e\x9b\x44\x9b\x40\xe7\xf7\x93\xa5\x81\x40\x60\x92\x26\x60\xb4\x63\xe5\xfa\x63\x46\x6e\x84\x50\xc1\x53\x6d\x1f\xe8\xc2\xc9\x92\x97\xe7\x8f\x97\x9c\xd2\xde\x7b\xef\x19\x6e\x69\x99\xb1\x0a\xa7\xb5\xcf\xce\x84\xf5\x50\x58\xd3\x83\xd4\xfb\x4f\xb9\x3e\x7d\xb8\x1b\x8a\x8e\x8e\x4b\x6e\xc8\x2a\xdd\xfd\xcc\x9c\x80\xa0\x9d\xc3\xaa\x32\xbc\x73\xc5\x1d\xcf\xee\xa0\xab\x59\x76\xf4\x58\x67\xd3\xf8\xf0\x4e\xa2\x9c\xe5\x06\xce\x6a\xd1\x3b\x87\x71\x6e\xc7\xb3\x77\xac\xa0\x4b\xdf\xb1\xd1\x40\x53\xa7\x9e\x7c\x86\x78\x34\x63\xb9\x45\x5c\xb1\xcd\x49\xf7\xea\xdb\x99\x4a\x37\x45\x1f\x9c\x80\xa0\x33\x0a\xb6\x73\x18\x14\xad\xdc\x67\xb9\xc1\xe4\xf2\xd9\xea\x12\x03\x2d\xf1\x59\xe2\x11\xc5\xca\xcb\x4e\x65\x29\xbf\xd0\x88\xec\x14\x15\x4d\xfb\xfe\xba\x0b\xb6\x06\x3a\x8e\x4e\xbc\x64\x31\x58\xb4\x2e\x70\xe8\xec\xd7\xb2\xbd\xc1\xcc\x29\x74\xad\x3d\x2c\x0e\xa6\x92\x43\x83\xa3\xb8\x57\x17\xae\x1f\xa6\x27\x26\x4f\x5d\x05\x8c\x0e\x4e\xf6\x6c\x3c\xb8\x71\xe3\x41\xe6\xdd\x82\xe8\x5d\x07\x34\xbb\xf9\xe0\x86\x8b\x6e\xb9\xe5\xa2\x0d\x07\xbf\x3b\x3a\xa8\x25\x54\xff\x4b\xa7\xd6\x75\x41\x7a\xfe\x2e\xed\x81\x83\x83\xe4\x7f\x6b\x59\x37\xe6\x3f\xa3\xdf\xd4\x4d\x12\xd4\xab\xf5\x9c\x07\xa7\xeb\x8c\x98\x75\x3d\xca\xe2\x28\xe5\xaa\x51\x49\x0a\xba\x8d\x15\x83\x71\x9a\xff\x5a\x70\x10\x11\xf3\x45\x10\xd3\x74\x2a\x19\x63\x5b\xa7\xeb\x5f\x39\xed\x89\x80\xec\xe2\xd1\x01\x62\xb5\xf0\x16\x9b\xd5\xce\xb2\xa1\xbe\xcd\xbb\x3e\xf1\xc9\xcd\xe3\x11\xea\xae\x56\xdb\x43\x26\x23\xe3\xf8\x7f\x3d\x9c\x82\xb1\xcf\xa9\xbf\xe1\x1b\xbc\x46\xbb\xc3\x6a\x0c\x71\xf3\x33\xdb\xc6\x76\xaf\x49\xd7\x5b\xa6\x90\x37\x42\x93\x69\x87\x88\x77\x0a\xa9\x57\xdc\x5a\xc2\x92\x45\xf4\xbb\x9b\x8d\xd6\x69\x2b\x81\x08\x0d\x31\x48\x52\x2f\x7b\x15\x61\xb7\x8e\x2a\xd5\x10\xd5\xf5\x23\xfd\xa4\x1b\xe2\x7d\x44\x76\xf0\x22\x13\x6a\x88\x31\xd1\xa2\x64\x4c\xe7\x9b\xbb\xfb\x20\x41\x99\xbf\x58\xa9\xe9\x5d\xdd\x5b\xa3\x1d\xf0\x27\x4a\xc1\x67\xee\xb8\xae\xf9\x81\x45\x5f\x58\x74\xbc\xf5\xba\x3b\xb2\x9b\xef\xbd\x75\xe5\x63\x2b\x6f\xbd\x77\x73\x76\xbc\x37\x72\xdb\xd1\x7f\x3b\xb6\x61\x99\xf2\xe8\x1d\xb7\x8f\x06\xfb\x6e\xaf\x4d\x5c\xfe\xc8\x65\x47\x1f\xfe\xf8\xc1\x4b\x1f\xb9\x2c\x51\x7b\x3b\xec\x18\x5e\x3d\x7f\xfe\xea\xe9\x87\xbd\xd7\x3f\xe6\x34\x9b\x9d\x8f\x5d\xbf\xee\x96\xc1\x76\x51\x6c\x1f\xbc\x05\x0c\x3f\xde\xbb\x74\x67\x4f\xc8\xc8\xc9\xcd\x7d\x5b\xe7\xde\xf4\xf2\x3b\x27\x56\xae\xbb\x76\xfb\xf2\xd5\xa1\xc0\xca\x65\xdb\xaf\x3d\x7f\xc5\xd8\xf4\xef\xca\xad\xf5\x42\x61\xde\xd3\xbe\x9a\x0f\x9c\x7d\x75\x6f\x49\xa8\xb3\x29\x9f\x2d\x8b\x9f\x99\x5c\x53\xe7\x19\x0e\x94\xc6\x31\xbd\x97\x2d\x41\x0a\xe2\xb7\xaa\x3d\x2a\xe9\x7e\x2c\x77\xb3\x0a\xb2\xa3\x28\x5a\x80\x10\x24\x75\x10\x3b\xce\xe9\xa0\xa0\xbd\x90\x0e\x07\x53\xd5\x05\x83\x3e\x60\xcb\x9e\x97\x2a\xcb\x45\x25\xe6\x6e\x17\xf7\x5e\x6a\x22\xd7\xb4\xde\xab\xfe\x5c\x4a\x31\xd9\xa6\x0d\x35\x10\x91\x26\x0e\x13\x54\xc4\x2e\xd4\x0a\x0d\xa8\xed\x08\xdb\x15\x53\x7f\xd6\x7a\xef\xbc\x89\x5c\xa9\xdc\x81\x0d\x07\x73\xe9\x0b\x5d\x56\x7c\x51\xa8\xb5\x5e\xbd\xcf\x63\x0b\xb5\xd5\xc3\x65\xae\x7f\x1d\x2b\x57\xe5\x09\xe8\x4e\x2d\xf8\x4c\xdf\x1c\xf5\xbe\xd4\x82\x72\x65\x36\x8c\xcd\x8e\x05\x4a\xfe\x8b\x0a\xfe\xc8\x7d\xa8\x11\x25\xa9\x97\x21\x2a\x42\x8d\x50\xb8\x11\x8a\x07\xdd\x07\x7e\xa8\x06\xf5\x43\xb6\x18\x0e\x88\xd8\xe6\xc7\x81\x3e\x90\x2a\x9d\x94\x5f\x19\xfe\xa1\xfa\xc3\xb0\xc1\xe3\xad\xe9\x30\xd4\xdc\xf6\xd8\x6d\x35\x86\x59\x71\x8f\x6a\xd2\x75\x69\x06\x75\x5d\x9a\xc1\xed\x4f\xbc\xa3\x4e\xbe\xf3\xc4\xf6\xed\x4f\xbc\x03\xcc\x3b\x4f\xbc\x59\xed\x68\xfd\xc5\x1b\x3e\xfe\xf1\x1b\x6a\x3a\x0c\x06\x8f\x77\x78\xcb\x96\x61\xaf\xc7\xd6\x01\x3f\x1e\xd5\x73\xd3\x4f\x5f\xd5\xb2\x6d\x2f\x3f\x06\x67\xab\xbf\xdb\x99\xeb\xe6\xa2\x30\x7e\xba\xbc\x3f\x1a\x83\x8c\xf6\xb9\xfc\x13\x75\x33\x78\xe2\xb3\x0a\xb5\xea\xa8\xf1\x7a\x0c\x5a\x5d\xd5\xcc\x3f\x57\xb7\x44\x4d\x87\xad\x58\x2d\x83\xa1\xa3\xe6\x86\x8f\x7f\x1c\x1b\xff\xa7\x75\x33\x53\xdd\xfd\x56\x94\x29\xeb\x21\x6a\x43\xec\xc3\x57\x49\x89\x78\xf3\x74\xbf\x89\x15\xaf\x1a\xf9\xe7\x6a\xa2\x0b\x05\xe1\x2b\xff\x54\xe1\x0b\x74\x1e\x83\x0a\xab\xcc\xbc\x0f\xc7\x21\x61\xaa\xf4\xbb\x1a\x6d\x28\xd4\x10\x0d\x71\x3a\x04\x44\x30\x4e\xb2\x92\x98\x93\x44\x45\x94\x74\x8b\x87\x62\x10\x67\x0b\x95\x29\x9c\xd4\x57\x5f\xcd\xdd\xfb\xfa\xbd\xb9\x57\xd5\x57\xa1\xed\x55\xa2\xbc\x0a\xb9\x33\xf2\x68\xc1\x4b\x68\x75\x0a\x1a\x5e\x14\xa7\x5c\x51\xa0\x0d\x1e\x83\x36\xa4\x51\xa8\x45\xbe\x88\x36\x17\x87\x50\x07\x5d\x2b\x57\xa1\x4d\xe8\x32\xb4\x07\xdd\x42\x39\xaf\x9f\x41\x5f\xa6\x52\xfc\x56\x68\xe8\x85\x64\x37\xc4\x33\x15\xe1\x68\x45\x18\x9c\x8e\x50\x50\x0b\x27\x82\xf1\xf0\xd9\xd3\x9c\x33\xfe\x6c\x61\xb6\x32\x6c\x2f\x85\x53\xda\xb5\x4c\xbd\x93\x55\xcb\x04\x6c\x23\x36\xdb\x88\x4d\xb1\x8d\xdb\x6c\xe3\xb6\xc2\x15\x83\x6c\x93\x63\x36\x1b\x19\xb1\xe5\x4b\xf7\xe9\x09\x66\xbe\x2c\x9e\x55\x54\xb8\x2e\x9f\xc7\x6d\xb6\x9d\x5a\x86\xf7\x15\x1e\x0d\xa6\xde\xa7\xd8\x99\x9c\x92\x1a\x84\x9d\x34\xc5\xbb\x15\xc7\xfc\xbb\x67\x44\xa9\x33\x5c\x14\x4e\xa0\x9f\x0a\x7f\xea\x18\x4d\x67\xcb\x23\xa2\x4c\x2a\xda\x4f\x7b\x11\xd1\x8e\xa8\x80\xa3\xa9\xf3\xea\x5c\xa8\x05\xad\xd5\xa8\xb5\xa2\x6e\x10\x6f\xa7\x7e\x42\x28\x36\x00\x54\x89\x0d\x0b\xd2\xc1\xa2\x75\x5c\x0c\x87\x1a\x98\x12\x7a\x44\x86\xaa\xbd\x16\x2d\xc6\xdc\x2e\x4e\x79\xfc\xd0\xca\xfe\xad\x8f\x6d\x7c\xf2\xcd\xf7\x4e\x66\x2e\xde\x92\xc9\xf8\xda\xba\xae\x9f\xb8\x22\x54\x47\xe5\x5d\x75\xa1\xc1\xd1\x41\x36\x17\x32\xf1\x3f\xbf\x7f\xdd\x42\x5f\x76\xe1\xce\x39\xdb\xd5\xf7\x36\x59\x25\x9b\x2d\x50\x1f\x3a\xff\x63\x8f\x2c\xde\xf9\x9d\x9d\x91\xc4\x8d\x27\x5d\xc6\xfa\xfa\x7a\xf8\x23\xde\xb1\x3e\x30\x3b\x73\x20\xff\xf8\x2e\x6b\xb8\xa6\x56\x74\x91\x5d\xa1\x39\xf6\x09\x91\xca\xdf\xfe\x62\x9f\x13\x4a\x0d\x0e\xee\xce\xb3\x51\x89\x65\xae\x0d\x89\x41\xbf\x6f\xdd\x1c\xa3\x41\x0e\xe3\x37\x43\x0e\x67\x6b\x6f\xa4\x2f\x23\xef\xb4\xb0\x36\xc9\x81\x10\x57\xaa\x3b\x8b\xcc\xa8\x05\xc5\xd1\x42\x74\xb5\xf6\x1d\x72\xbc\x33\x2d\xd3\x23\xa4\xb8\x68\x2a\x12\x8d\x19\x43\x0d\xbc\x93\x56\xca\xed\x74\x25\xe2\x72\x4a\xab\xab\xd3\xf5\xff\xab\x59\x48\xf6\x2b\x2f\xbc\xf8\xe5\x2f\xbc\xfa\x13\xf2\xfb\x3f\xde\xe7\x90\xd9\x4e\x21\x2e\xc7\xbc\x6d\xa1\x36\x97\xdb\x2b\x6f\xff\xca\x65\xb2\xa3\x65\xf6\xf5\x4f\x3e\x7e\xa8\x3d\xf8\xf1\x89\x2f\xfc\x8f\xda\x0a\x7b\x72\xb6\x6d\xcf\x8c\xc0\x53\xdf\x33\x5c\xf7\xec\x55\x6a\xe7\xd7\xaf\x6d\x1f\xe7\x8c\xc4\xc7\x79\x78\x99\x33\x33\x0c\xf9\xd5\x9c\x94\x91\x3b\x69\xc7\xfc\xb3\xeb\x0d\xcf\xb5\xc0\x9f\xfe\x67\x0d\x89\x91\xa0\xd1\x25\x94\x7f\xd0\xa8\x7b\xe3\xac\xe2\x1f\xb8\x1c\xd5\xf6\xa7\x78\xf1\x4c\x0c\x05\x13\xd3\x2e\x89\x93\x54\x10\x4a\xb4\x59\xab\x79\x66\x2e\x8a\xda\x5e\x61\x79\xa7\x8d\xe1\xf6\xa9\xa3\xfc\x2a\xe6\x1d\xfa\xfe\xae\x82\x8f\xd1\xe9\xec\x35\x97\xc3\x08\x22\x74\x40\x0c\x32\xd0\x47\x21\xac\x67\x2c\x26\xbe\x74\x26\x6e\x9b\x09\x2f\x50\x0f\x33\x6e\x4b\x9f\x20\x30\xb0\x5b\x0f\xe0\x8f\xcd\x58\x81\x43\x33\x73\xa2\x98\xe0\xe9\xf7\x04\x81\xb1\x33\x6e\x81\x35\xeb\x81\xfc\x8e\x99\x2b\x57\xd6\x8d\xff\x26\x72\xa2\x6e\x3a\x7b\x16\xe0\x69\xb4\x0a\xb9\x5d\x75\x40\x01\xeb\x1c\x22\x29\x80\x38\x48\xd1\x18\x44\xab\x12\x39\xed\x8c\xdb\x85\x15\x8a\x60\xa3\x93\xdb\x75\xcd\x51\xf5\x1a\x59\xe6\x84\x86\xd6\x94\x8f\x33\x38\x38\x52\x83\x5b\xef\xcb\xbe\xf6\xd0\xf4\x34\xf0\xc9\x93\x8f\xc3\xf3\x0b\x5b\xec\x6c\x91\xf6\xae\xb7\xdb\x5b\x16\xa8\x57\xcb\x49\x59\x5d\x3a\xe7\xfe\x7d\xfb\x3a\x2d\x76\x30\x78\xe1\xc8\x67\x17\x2d\x17\x26\xaa\xd2\xa9\xa7\x7d\xff\xf6\xa4\x4e\xab\xe2\xa9\x27\xb9\xfd\xec\x38\x32\xa1\x26\x84\xa0\x1d\x3a\x80\xd8\xdd\x2c\x89\x1a\x41\xa6\xf8\xad\x61\xea\xf3\x28\x23\x43\x24\x9d\x09\xcb\x1a\x05\x2e\xb3\x7e\x60\x1e\x06\x50\x3f\x35\xe0\x3f\xd1\x0d\x7d\x3d\x16\x78\x4f\xbd\x6f\x2d\xeb\x72\xdb\xdd\x6a\xbf\xda\xef\xb6\xbb\x5d\xec\x5a\xf5\xe3\x01\xa9\x1d\xfe\xf6\x86\xa3\xce\xe7\x7c\x03\xfe\xd6\x2e\xe1\x79\xa7\x93\xa6\x1e\x18\x98\xec\xad\x7f\x0c\xb6\x0c\x40\x4a\xfd\xb4\x6a\x09\x86\x2d\x6f\xbf\x6d\x09\x07\xe1\xbf\x61\x73\x20\xc3\x2f\x86\xef\x37\x37\xab\x5d\x8b\xf9\x4c\x09\x7b\x57\xa1\x3a\xc6\xa8\x0c\xaa\x1f\x6c\x88\x41\x9a\x2a\x98\xb9\xfd\xc0\xde\x90\x57\xec\x4d\xac\xc9\x55\x9b\xcf\xb9\x42\x26\xc9\xc1\x22\xc1\x56\x2b\x59\x79\xe6\x33\x13\x28\x84\xd9\x90\x0b\x67\x6b\xdb\x9a\x4c\x58\xe1\x65\xb1\xb9\x88\xb5\xa9\xd1\xe6\x18\xb1\xa8\x93\x22\xf8\x1b\x21\xa8\x4b\x00\x4b\x62\xbe\x60\x41\x97\x42\xdf\xe8\x96\x9d\x50\x67\xd2\x71\xb7\xcb\x61\xd5\x95\x5e\xda\xf1\xaa\xbc\x82\x57\xe5\x9f\x64\x94\xa2\xa8\x62\x72\x6c\x9a\xe4\x82\xac\xfa\x9b\xc9\x6b\x32\x1a\xff\x4e\x05\x3b\x78\x55\xfe\xe7\x78\x55\x7e\xa4\x42\xba\x41\x46\x2a\x24\x1c\x7f\x37\x1a\x4d\x5e\xd3\xdf\x26\x9f\x94\x50\xc1\x7f\x11\x53\xf6\xa3\x32\x58\xe6\xa3\x48\x55\x3a\xe3\x19\x07\xc7\xeb\x3e\x62\xea\x80\x32\xc0\xe8\x76\x2f\x53\x9c\xe7\x9c\xda\xdc\x97\xce\xf4\xb1\xa9\x42\x04\x04\x3a\x87\x3b\x8b\x7f\xf8\xeb\xf4\x74\x3c\xd9\x86\xc7\xe7\xdd\xae\xac\x6a\x4b\xee\x1c\xdb\x99\x6c\x2b\x9c\xd2\x5b\x33\x73\x87\x5a\xa2\x76\x7a\xe9\xa1\x59\x98\xaf\xd3\xd3\x79\xf4\x38\x92\xbc\xa0\x46\x7d\xe3\x40\xa4\xb5\xa9\x6f\x81\xb7\xe6\x82\xa4\xb6\x71\x4f\x5e\x50\x43\x92\xe5\xb0\x6a\xf5\xd6\xdb\x6b\xc2\x2d\x3d\xcb\x0b\x91\x3a\xd6\xbd\x42\x6d\x39\x05\x54\x83\xc2\x28\x8b\x36\xa0\x1d\xe8\x5a\x74\x73\xc1\x43\x70\x81\xf3\xe8\x72\xb8\x75\x9d\x58\xaa\xe3\x12\xa9\xa0\x17\xd9\x92\x8d\x42\x34\x03\x7e\xe8\x07\x0a\x51\x91\x71\xb9\xc1\x05\x7c\x09\x2c\xc7\x0d\x7c\x84\x2a\x23\xf6\x17\x0c\x11\x98\x8a\x47\x40\xc5\xa3\xd9\x69\x2f\x85\xaf\x4d\x21\xb3\xc7\x6c\x34\x02\xd2\x3a\x6f\x4c\xf7\xb4\x34\x5e\x61\x0b\xcb\x62\x1d\x02\x47\x7d\xda\xe9\xfc\x33\xd8\x6b\x57\xd6\x1e\xf5\xf9\xd4\x3f\x49\x21\x27\x0c\xaf\xce\xdf\xff\x67\xf5\xcf\x05\x38\x1d\x90\xa4\x90\x53\x7d\xaa\x80\x98\x03\xcb\x9c\xf8\xae\x8a\xc7\xe4\xff\xa2\x3f\x1a\xee\x9f\xf6\x42\x30\x4e\x21\x3a\x12\x80\x9e\x12\x15\xe6\xb8\xe3\x34\xfd\xd8\xf5\xab\xee\x5d\xb5\x06\x96\x3b\x43\x92\xfa\xa7\x5a\xd0\xc1\x75\x40\xfe\xb3\xd3\xa9\x3e\xb5\x16\x6f\x94\x40\x2a\x00\xee\xa8\x7f\x7a\xd7\xe9\x84\xe1\xb5\xd7\xd1\x0c\xea\x97\x9c\x97\xea\x4e\xa3\x50\xc5\x23\x3f\x3b\xed\x65\xda\x7c\x30\x82\x10\x99\xa4\x7c\xcd\x1e\x5d\xaf\x73\x9a\xe4\x5b\x9b\xcd\xc4\xca\x58\xaa\xe8\x5e\x80\x85\xa6\x6b\x29\x64\xa4\x60\xdc\x8f\x71\xce\x63\x7b\xd7\xe6\xa1\x07\xe8\xa9\x8f\x2e\x6a\x8b\x36\x67\x3c\xb6\x77\xad\xce\x9b\x97\x75\xc7\x2f\xea\x9d\xdb\x1a\x3a\x4f\x90\x2c\xc2\x23\x02\x6b\x18\x83\x59\xc3\x0f\xdf\xbc\x12\x3c\xc5\x0c\x1e\x7c\x5e\x7a\x63\x77\x4f\xad\xcb\xbd\xba\xc6\x5e\x1f\x96\xdb\x57\x1d\x0d\xd5\xce\xe9\x68\xc9\xd6\xd5\x5c\x68\x33\xec\x33\xf9\x05\x30\xf5\xed\xb8\xbf\xb8\xd7\xc6\xda\xf7\xec\x47\xb1\xe9\xc8\x17\xba\x9b\xde\xe2\x42\xe6\xd4\xbe\x59\x52\xbd\xba\x29\x3a\x0f\x38\xe2\xcd\x66\x8b\xae\xb0\xb3\xde\x88\xa2\xfb\xa2\xd1\x81\xc8\x4a\xb0\x17\xa0\x14\x04\x63\xf9\x5c\x84\xd9\x4e\x05\x4b\xba\xe1\x2b\x46\x9b\x11\xc2\xfe\x92\xdf\x91\xaa\x97\xc8\x44\xdf\x4f\x47\x49\xa4\x60\xc3\x5d\xf9\x78\xbf\x0f\xa2\xda\x65\x14\x7c\x10\xf6\x42\xd6\x1b\x86\xc0\xb8\x76\x53\x3b\x30\x5c\x9e\x26\x24\x14\x10\x4d\x9b\xb1\x10\xab\xb2\x97\xa1\x30\x5a\xa2\xd5\x35\xd4\x01\x91\x28\x75\x71\x68\x85\x60\x2a\x21\x93\x50\x2a\x48\x21\x0f\x12\xe9\x7e\x1c\x74\x86\x88\x0c\xce\x20\x55\x27\x66\x8a\x7d\x14\xd5\x7d\xd8\x50\x4b\x9d\x44\x8a\x7c\xe4\x1f\x27\x3c\x06\x42\x80\x30\x60\xb2\x7e\x52\x55\x95\xef\x3d\x73\x08\x1c\x87\xb1\xd3\x40\x08\x31\xd4\xdc\x09\xb0\xef\xeb\x3f\xc2\x7f\xc8\xab\x84\x49\x2e\xbb\x70\x59\xb2\xbb\x39\x11\x13\x5d\x97\x7a\xc3\xab\x2e\xbd\xf2\xf6\xd9\x83\xeb\x86\x32\xe4\xad\x47\x1f\x9d\x6c\x31\x5a\x08\x6f\xc4\x0e\xcf\xe9\x47\x21\x04\xb6\xc7\x7e\xcb\x44\x8c\x16\xa3\xa5\xe5\xb7\x8f\xa9\xef\xa9\x3f\xc5\x8f\xbe\x54\xeb\x93\xb2\xa3\xf3\xfa\x63\x7d\xc1\xc8\xec\xa8\xb9\x76\x43\xb8\x6e\xee\x9e\x2d\x9d\x1b\xbb\xe7\xb4\xf6\x04\x87\xf5\x75\x88\x9d\x42\x1c\x22\x37\xa3\x30\x5a\xfc\xe1\xea\xc6\x9e\xbd\x6e\xe4\xc3\xd7\xed\xed\xbc\xca\x90\xe9\x75\x1b\xbe\xfc\xca\xdb\x17\x6c\xd9\xba\x84\x39\x77\xd5\x7e\xf6\x52\x6d\x3b\x9c\x59\xb3\x81\x4b\xe7\xcd\x99\x1f\x1d\xa6\xf5\x02\x84\xf8\x03\xac\x8e\x37\x87\xc2\x10\x34\x82\x8b\xe3\x81\x8e\x90\x68\x84\xae\x63\xc1\xb8\x8b\x28\x30\x9c\x47\xea\x53\xdc\x7b\x56\x73\xcd\xa4\x12\x99\x93\x47\x91\x7e\x9b\xd5\x5c\x43\x94\xc8\x1c\x82\x22\xfd\x14\x67\x8f\x49\x35\x0c\xfa\x26\x51\x5b\x73\x43\xc3\xa0\x8f\x41\x6d\xcd\x3a\xbf\xef\x75\x3a\x97\xee\xd0\x31\xb2\x28\x7a\xb6\xd3\xe1\xe2\x9d\x0d\xbc\x88\x75\xf4\xe7\x92\xed\xb1\x1f\x17\xc8\x0f\xea\x23\x24\xda\x90\xb2\xfb\xb1\x4e\xe8\xa6\x92\xd4\x45\x52\x01\xa8\x84\x82\x4d\xa7\x33\x4e\xad\xf9\x9d\x0e\xb7\x8e\x3c\x1d\x77\x71\xca\x05\xcb\x9b\x17\xb7\xcf\x0f\x5f\x19\x00\x97\xb9\xe1\xc0\x8e\x58\xef\xea\x50\x73\xe8\xf2\x15\xab\xaf\xf3\x87\xfd\xb1\xf0\xf0\xa6\x63\xc6\xb0\x51\x00\x8c\x71\x7d\x98\x1c\xdb\x34\x1c\x8e\xf9\xc3\xfe\xeb\xd6\x0c\x5f\x1e\x6a\x0e\xad\xee\xcd\xbe\xd5\x01\x2c\x0b\x9e\x50\x5b\xbb\xab\x6b\xf6\x70\xeb\xca\xf5\xf0\xd5\x15\xda\xad\xbd\xd1\xe3\x51\x16\x88\xdd\x94\xea\x0a\xcf\x6f\x5f\xdc\xbc\xfc\x82\xf5\x2b\x5b\x87\x67\x77\xb9\xda\xdb\x42\x1e\xcc\x60\x0c\xc0\xa0\xaa\xac\x85\x92\x74\xa5\xfc\x55\x6f\x2b\xd0\x65\x8c\x42\x7d\xd9\x25\xe8\xf7\x88\x78\x67\xc9\x5b\x3a\x55\x40\x8f\x20\xed\xeb\xa4\x9c\x77\x14\x28\x84\xb5\x25\x21\x40\x97\x84\x80\x8b\x51\xd4\x9f\xfd\x8c\xc2\x10\x16\xf8\x0d\x80\x7e\xa6\xfe\x2c\x92\x8c\xe8\x20\x8b\x91\x64\x64\x0a\x9d\x54\xff\x71\xf2\x24\x18\x4e\x92\xac\xf2\x4b\xf5\x19\xcf\x41\x5d\xb9\xf2\xa0\x07\x16\xfd\x52\x9f\x32\x74\xfc\x46\x8a\x92\xb3\x5d\x45\x07\x4f\x9e\x3c\x88\xb5\x23\x22\x48\x98\x52\xd8\x6b\xa8\xbe\xeb\x3c\x6d\x65\x07\x3e\x52\x2a\x8e\x11\x74\x2d\x7a\xde\x95\x88\x57\x14\xf2\x8c\x0a\x44\xf9\x4a\xcc\x03\x97\x23\x0c\x3a\x08\x3a\x58\xb7\xb5\x44\x92\x11\xe6\x52\xf5\xfe\x93\x07\x33\xe9\x91\x8b\x2f\x7f\x86\x96\xf7\x8c\xfa\xec\xbb\x52\x35\x79\x4d\x2b\x4d\x26\xe6\x15\x7a\x56\x6f\xcc\x1f\x3d\x79\x70\xfb\x67\xf1\xf2\x6d\x97\x5c\xa5\x57\x20\x85\xfd\xea\xfd\xca\xc1\x93\xf2\x48\xa2\x50\x11\xef\xb4\xaa\x0a\xf3\x55\x93\x69\xa5\xc9\xab\x3d\x42\x3b\xdf\x98\x3f\xaa\xd5\xf0\xba\x92\x9e\xb4\xee\x27\xa9\x41\xd7\x73\x48\x67\xd2\xb2\xdd\x21\xb2\xd4\xe1\x65\x09\x8b\x9c\xc9\xaa\xd9\x3d\x1b\xff\x98\x9b\xb7\xe5\xd0\xb5\xfb\x53\x36\x8b\xcf\x62\x4b\xed\xbf\xf6\xd0\x96\x79\xba\xc2\x0b\xce\x62\x65\xe2\xee\xfe\x25\x5f\x27\x4f\xe5\xd1\xda\xc7\x6f\xd9\xbb\x72\xb1\x97\xe7\x38\xde\xbb\x78\xe5\xde\x5b\x1e\x5f\xab\x4f\x8c\x05\x7a\x09\x95\xf0\x21\x42\x68\x11\x42\xee\xa0\x3d\x18\xae\xd2\x7e\x38\xf3\xba\xca\x62\xa8\x40\xe8\x95\x42\x89\xb8\x4b\x61\x95\xd3\x0a\x54\x40\xbc\x90\x0a\x25\x50\x50\x86\x92\xa7\xa9\xb7\x45\x65\xe3\x40\x76\x60\x23\xe8\x27\x25\x39\xa4\x30\x28\x07\x01\x0a\xa2\x41\xe9\xbb\x8a\xf0\xb2\x09\x2a\xa2\x62\x51\x72\x48\xf7\x9c\xa7\x1f\x87\x68\xbb\x11\x4a\xf3\x8e\x23\x1e\x0d\x95\xf5\xcb\xc3\x05\x58\xc7\x70\x0c\x52\x41\xe7\x74\xc5\xda\x4c\x2a\xd4\x50\xd8\x63\xc4\x20\xd3\xc7\x94\x15\xa4\x83\xc9\x74\x26\x4c\xe1\x62\xb0\xae\x59\x4e\x3e\x67\x31\x58\x18\xa2\x66\xcd\xe2\x14\xba\xea\x1e\x7d\xf1\xdb\xb7\x25\xd0\xbd\x73\x51\xaf\x83\xb1\x37\xd9\x04\xb7\xdd\xc2\xca\x9d\x73\x2f\xed\xac\xd9\x78\x70\xa3\x08\x31\xd1\x0c\x39\xc2\x58\x0c\x16\x56\xef\xf3\x11\x35\x67\x33\xf2\x30\x82\x25\xf3\x76\xf7\x53\xd7\x4c\xd2\xa5\x8a\x04\x46\x1f\xf7\x5f\xd5\xd1\xbd\x24\x68\x08\xf1\x96\xb8\xc7\x14\x18\x9c\xbb\x40\x6a\x69\xd3\x6a\x15\xac\x37\x4b\x78\x04\x78\xa3\x56\xb7\xc6\xa9\x00\xa7\xcb\x25\xdb\x2b\x3c\xd0\x3a\x34\xea\x95\x70\x3c\xab\x23\xf8\x64\x64\x28\x85\xb4\xf2\x67\xd2\x8d\xc1\xb8\x8b\x1d\xa3\x84\x2a\x78\xee\x7f\x7a\xc5\xd5\x0e\x2c\xaa\x0a\x6f\xb4\x98\xb3\x02\xbb\x46\xfd\x2f\xf5\x6d\xc2\x89\xc6\xac\xdd\x32\x6e\xb2\xc1\x4d\x23\xc3\x27\x61\x35\xb0\xa2\x83\xd1\x29\x56\x50\xde\x57\xef\xfb\xf2\xf0\x88\xfa\x51\x9b\x69\x9c\x31\x6a\x9d\xe6\x80\x9a\x35\x60\xcc\xca\x0e\x50\x44\xec\xb8\x7a\xc5\x37\xef\x92\x4b\xfe\x7d\x4e\xe9\xfb\x0d\x20\x41\x39\x1d\x8d\xb4\x6a\xe7\x20\x09\xca\x24\x48\xf1\xad\xb9\x53\x8f\xa8\x4f\x3f\x2d\xf8\x6a\x3b\x1f\xff\x91\xfa\xf4\x8f\xd4\x5f\x6b\xc7\x4f\x30\x93\xdb\xbe\xd4\xdd\xd3\x82\x27\xf2\x2c\xc9\x76\x06\x82\x93\x8b\xc8\x33\xda\x0f\x16\xad\x58\xbc\xf8\xdb\xd3\xf5\x60\xb4\x09\x07\x85\x33\xe9\x64\xd4\x08\x45\xac\x7a\x8e\x5a\xa3\x54\x8a\x7a\xc8\xc7\xb6\xcb\xb2\xfa\x22\x24\x64\x79\xbb\xb6\xa3\x9b\x23\xcb\xf0\xbc\x9c\xc4\xb7\x56\x71\x35\x3f\xa6\xdd\x85\x04\x24\xe4\xa4\xac\xe5\x98\xa3\x27\xc6\x3f\x39\x2b\xbe\xba\xfe\x7e\x48\x53\x6b\x13\x8a\xa9\x6e\x2c\x80\xbf\x57\xbe\x1f\xbf\x08\xcf\x17\x1e\xb7\x5d\x96\x21\xa1\xbe\x48\x0b\x42\x16\x56\xbf\x5f\x2b\x95\x56\x34\xbd\x98\x2f\xaa\x2f\xd2\x1c\xe7\x7a\x3f\x64\xd2\x45\x6b\x17\x1d\x02\xdf\x58\xf5\x7e\xe6\x63\x15\xb5\x91\xcb\x95\x84\xea\x06\x00\xbd\x05\xaa\x0b\x0b\xd5\x05\x98\xa1\x0f\x8a\xcd\x6f\x2c\x36\x44\x75\x1f\xb4\x9f\x51\x2f\xbd\x13\xaa\x59\xcb\xef\xd0\x46\xa8\xee\x30\xbc\x67\x86\x36\xc8\x52\xdb\x11\x3b\x1d\x61\x99\xa0\x1c\xb4\x42\x07\x84\x64\x36\x91\x0a\xcb\xc1\x28\x04\x09\x1b\x66\x46\x6d\x93\x77\x76\xe0\xad\xae\xef\x3d\x27\x7c\xd1\x05\xa3\x0c\x5c\x12\xcf\xef\xb5\xaa\x9d\xac\xa2\xe4\xbf\x95\xff\x0e\x79\xe2\x8b\xf9\x3f\xfc\x36\x95\xba\x53\xfd\xc3\x56\xd8\x82\x03\x5f\x81\xd7\x4e\x6f\x7e\xf8\x61\x3a\x7e\x2d\x53\x59\xee\xbf\x0b\x18\x72\x41\x23\x96\x83\x3c\x1b\x96\x83\x72\x30\x13\x04\x99\x7d\x43\xfd\xdb\xe4\xeb\xf9\x85\x8b\xa0\xb9\x0e\x3e\x07\x6f\xce\x9f\x38\x6f\x0e\xf3\x4c\x64\xe2\x3c\x56\x39\xfd\x82\xfa\x1e\x98\x61\xeb\xd1\x87\x1e\x82\x55\xd0\xfc\xed\x42\x5b\xd9\x78\xdd\x67\xc7\x9a\x8a\x6f\x55\x9f\x87\x3a\x80\x63\x02\x8d\xd1\x33\x70\x68\xfd\xe0\xae\xd8\x36\x57\x6c\x40\x9d\x89\xa2\x94\xdb\xde\x07\x99\x22\x58\x2d\xc9\xe9\xb3\xd2\x76\x87\x81\xb1\x98\x2f\xda\xa3\xee\x52\x93\xea\xae\x3d\x17\x19\x45\xc6\xe0\x90\x44\x18\x71\x19\x0c\xd6\xad\xf3\xde\xbb\x4f\x27\xb6\xe7\x2c\x3c\xf6\xea\xb1\x85\x73\xf4\x8b\xfb\xde\x9b\xb7\xd5\x6a\x30\xb8\x60\x44\x94\x98\x37\xe9\xdc\x34\x39\xa6\x8e\xb9\x0c\xd8\x78\xd1\xdd\x8f\x3e\x7a\xf7\x45\x46\xac\xdf\x74\xc8\xb6\xad\xeb\xf7\x39\xf0\x6d\x94\x7a\xff\x4c\xc3\xee\x85\xa3\xc7\x8e\x8d\x2e\xdc\xdd\xf0\x19\x1a\x91\xbf\xc1\xb1\x6f\xfd\x56\x9b\xec\x90\xf4\xef\x9f\xd2\x0d\xa1\x33\x7c\x6c\x75\x83\x5d\xf7\x44\x5a\x40\x12\xa0\xde\x7a\x99\x40\xd9\xa9\x57\xa0\x40\x19\x14\xdc\x7d\x95\x45\x62\x14\x0b\x38\x4b\xfd\x79\x3d\xa3\x95\x5c\x7b\xbb\x9a\x9b\x2e\xcf\xd2\xf7\xf8\x94\x5a\x29\x23\xdd\x46\x02\x9c\xcd\x15\x40\x36\x54\xf8\x9d\x4d\x26\xa2\x43\xd8\x82\xab\x60\xfb\x04\x17\xeb\x8e\x4a\x29\xfb\xff\x0b\xe7\x10\x8a\xe0\x3f\xe8\x90\xb5\x17\x43\xdf\x1b\x5a\x7e\xbc\xba\x94\xb5\x2d\xbf\xff\x9c\x92\x1d\xca\x4f\xc1\x88\x55\x48\x11\x4f\xeb\x8c\x1d\x63\xb5\xee\xf4\x19\xba\xd4\x4a\x67\x13\x6d\xa7\x5c\x53\x27\x46\x33\x87\x49\xa0\x18\x9a\xf1\x50\xd2\x79\x81\x32\xae\xd7\x19\xe5\xb0\x9f\xe3\xba\xb2\x1c\x33\x1d\xa0\x5c\x06\xf8\xe9\x4c\xc1\x4a\x9f\xd3\x3c\xaa\x45\x29\xb4\xa0\x42\xf7\x25\x82\xa2\x11\x2a\x27\xa2\x3e\x12\x80\xd2\x1e\x11\x1c\x83\xc6\x68\x84\xd7\xe3\x5d\x8c\xa4\xdf\x38\xd3\x43\x23\xd6\x55\x86\xe1\xf3\x82\xfa\xcc\xef\x45\x87\x5d\x78\xe0\x75\x33\x48\x82\x22\x38\xe0\x00\xbb\xfd\x4b\xbf\x57\xdf\x78\x40\x34\x9a\x24\xe1\x47\xb0\xe1\x14\x4f\x6f\x98\xcc\x50\x5f\xa9\x19\xa9\x5b\xf4\x37\xfc\x1e\x16\x09\xe0\x10\x14\x41\x02\xf3\xeb\x0f\x08\x76\x87\xf0\x00\xd4\xff\xfe\x4b\xdb\x59\x30\x99\x68\x2c\x7f\x4a\x7d\xe4\x47\x82\x64\x32\x92\x17\xab\xf5\x25\xcb\x32\xbc\xda\x2a\x0f\x18\x74\x2a\xa7\xce\x79\xe8\x5e\xe2\x0c\x2f\x09\x4f\x07\x02\xf9\xf1\xfa\x60\x20\x60\xb3\xd9\xad\x67\x20\xe7\xe7\xef\x97\x96\x48\x90\x95\x25\x39\x9c\x57\xc2\xb2\xc1\x88\x08\x4a\x4f\xa5\xb8\x17\xd8\x1f\x52\x5a\xae\x03\x21\x23\x5b\x5e\x2d\xb4\x49\x5a\x67\x09\xa7\x93\x91\x06\x3e\x5a\xa4\x80\x29\x27\xcc\xed\x72\x30\x08\x7a\xf2\xcf\xa9\xcf\xc1\xa5\x78\x54\x96\xa9\xef\x91\xfc\x31\x59\x86\x51\x29\x4d\x0e\x4f\xee\x0e\x5f\x16\xde\xdf\xb9\x73\xac\x73\x5f\x38\x4c\x0e\x87\x2f\x0b\xef\xd3\x2e\xf6\x87\x99\x1e\xf5\xb9\xfc\x73\xd0\xa3\x6a\xb9\x92\x5a\x6a\x2d\x57\x52\xcb\x8f\xef\x9e\xbc\x36\x1c\xde\xdf\x39\xb6\xb3\x73\x7f\xf8\xb2\x30\xb9\x23\x1c\xde\xa7\x5d\xec\x0b\x5f\x36\xad\x5d\xf4\xbd\x7f\xb5\xc9\xf2\x0c\xba\xac\xba\xc2\x2c\x39\x43\xaf\x96\x6a\xaf\xea\x2c\x86\xe9\xda\xaa\x64\x9a\x5f\xd3\x8e\x19\x38\x0c\xe7\xd0\xeb\x62\x14\xdd\xe9\xb3\x24\x12\x1d\xc9\xad\xac\xd0\xa5\x54\xfa\x3d\xc5\xe3\x25\x7e\xbd\x1a\xa7\x6e\x51\xf5\x94\xe4\xe6\x4a\x17\xa8\x08\xb4\x12\x91\xd3\xec\x01\xe4\x43\x08\xb8\x56\x28\x83\x95\xa7\x13\x41\x7b\xa8\xec\xfe\x97\x9c\x96\x9a\x72\x92\x98\xcf\x3a\x0d\x06\xcb\x98\xd1\x06\xd9\x5c\x93\x64\xf7\x42\x56\xea\x93\x20\x5b\x4b\x3e\x1b\x9e\x1c\x13\x25\xc9\x61\xcd\x99\xb1\x12\x0e\xd7\x83\xe2\x72\xa9\x4a\x80\xae\x65\x64\x4a\x21\xa7\x59\xa4\x8d\x36\xb9\xc8\xbf\x29\xa8\x12\x66\xb4\xe9\x38\x48\x29\xc4\x74\x00\xe7\x04\x39\xd7\xd4\x58\xab\xe6\xa4\x3e\x49\xcd\x79\xed\x52\x53\x4e\xcd\x89\xe6\x31\xc1\x68\x64\x91\x2c\x4e\x3e\xb4\x24\xa0\x2a\x2e\x17\x28\xf5\x91\x30\x56\xcc\x39\xd1\x21\x4f\xa7\x05\x1a\x2b\x68\x01\x88\x96\x69\x81\x33\x3e\xc3\x27\xf1\xf6\xc2\xea\xde\xfe\xef\x05\x72\x40\xa3\x89\xb6\x57\xf6\xe2\x3b\x78\x7b\x81\x16\x68\xff\xf7\x42\xe2\x07\x64\x72\x6b\x65\x7f\x96\xe7\x7d\x0e\xd9\x90\xb3\xd0\xa7\x6e\x3e\x94\x0a\xa5\x28\xbc\x02\x6d\x3f\x23\xb1\x43\xc1\x99\x91\xf5\x4c\x1d\xb9\x8f\x1f\x4f\x76\x8e\xc0\x2b\xa2\x5d\xfd\xa5\x5d\x10\xed\x10\xb2\xab\x13\x38\xa0\x8e\xe7\xc7\x89\xb2\xc1\xe7\x3b\xee\x1b\xf6\x6d\xc0\x63\xd3\xbc\xb2\x7e\xe1\x78\x72\xa4\x13\xbe\x21\x68\x59\x44\x41\xcb\x92\xcf\xe2\x00\x04\xf2\xe3\xea\x38\x1e\xd9\xe0\x1b\xf6\x1d\xf7\xf9\x36\x8c\x9c\xed\xbb\xaf\x41\xcd\x25\xbd\x4b\x9e\xab\x2f\x7a\x0c\xca\x80\xce\x40\x98\x51\x6b\x3b\x40\xe1\xe1\xf3\x7f\xd0\x1b\x02\xbb\x8e\x48\xb5\x16\x21\x5a\x35\xec\x47\x60\xdc\x1b\x89\x36\xd7\x69\xe9\x68\xcb\x61\xd7\x11\x99\xb5\xe3\x96\x6a\x7f\xf9\x7a\x39\xa8\x2f\x7f\x63\x71\xd2\xa9\x83\x06\x91\xd5\x59\x14\x99\x74\x14\x67\xfa\x20\xa1\x5f\x9d\x81\x50\xf6\x0e\x8c\xc8\xb2\x3a\xe6\x8f\x36\xed\xf9\xce\x2d\x17\x77\x06\x4d\x8f\x9a\x45\x9e\x73\x91\xb6\xd1\xd8\x63\x77\x36\x59\x2c\x5e\x1c\x99\xd6\x5c\x5f\x86\x11\x6d\x26\x18\xa9\xb7\xdb\x5b\xc6\xa2\xfd\x9b\x46\x6e\xdc\xd6\xf3\x95\xff\xb4\x10\xa3\x07\x36\xef\x49\x76\x8c\xb5\xd8\x59\x9c\x9b\xd6\x58\xe5\xf9\x1f\x23\x0e\x49\xc8\x4f\xe5\x29\x60\x07\x3b\xb2\xc5\xa0\xa0\x79\x38\xcd\x0d\x15\x56\x00\x4d\x21\x50\x54\x44\x02\x15\x2a\x86\x67\x28\x20\x42\x4e\x51\x60\x79\xfe\xd7\x53\x08\xfb\xd5\x5f\x52\x25\x45\x3d\x35\xde\x54\xb5\x24\x97\xf1\xdc\x04\x54\xa7\xed\xb2\xa0\xfc\xd1\x24\x82\xf1\xea\x99\xa2\xba\x95\x98\x1b\x24\xb7\x9a\x93\x07\x64\x35\xe7\x96\xec\x4d\x58\x69\x3a\x5e\xd0\xf3\x14\x08\x85\x52\xa8\x6c\x22\x72\x51\xa8\x5e\xcd\xd6\xd6\x42\xae\x3e\x14\xca\x07\xa6\x29\x85\x56\xcd\x5f\x55\x65\xd2\xa7\x8b\xc2\x24\x71\xee\x32\xd9\x9b\xf2\x4a\x93\x5d\x72\x43\x56\x1e\x90\x21\xeb\xde\x7d\xf6\x32\xc1\x67\x42\xa1\x50\x3d\xe4\x6a\x6b\xd5\x6c\xbd\xfa\xf3\x0f\x5f\x26\xaa\xa7\xac\xcb\x7f\xd3\x6e\x38\x67\x99\xb2\xda\xf3\x43\xfa\xbb\x7e\x51\x29\x0b\xad\x1a\xdc\x0f\x55\x34\xa5\x5d\x6b\xdb\xfc\xdb\x84\xce\xc4\x34\x07\x79\x69\xba\x9f\x63\x8d\x90\xf9\x2b\xab\xa0\x11\x84\xc2\x6e\x17\x67\x05\x91\x0f\x35\xa0\x68\x89\xa4\x8e\x64\x4a\xc1\x34\xa2\xde\xba\x5d\x56\x5d\x5c\xca\x86\x1a\x38\x5e\x27\xc2\xb9\x50\x90\x73\xeb\x41\x11\x42\x41\x8a\x31\xc5\xf4\x43\xda\xed\x22\x2f\x87\x88\xc5\xcc\x32\x82\xec\xa9\x0d\x36\x44\xe5\x3f\xa8\x0f\xf7\x6f\xd2\x1a\x68\x00\x93\x79\x5a\xa1\x36\xcf\x83\x8b\xc7\xb7\x6f\x30\x1b\x39\xd2\x4a\x5c\x02\xc3\x58\x1d\x35\xb5\xf5\xe2\xfe\x1f\xc4\xe1\x55\x9b\xd1\x44\x3c\x6c\xad\xea\x21\x04\x5e\xb0\x9a\x8c\xc4\x83\x25\xb3\xba\x6f\xd6\x0b\x07\xa4\xc6\x7a\x9f\xd3\xc6\xb0\x82\x60\xf9\xdd\x09\x8b\x93\x01\x4c\x38\x96\x65\x19\x0c\xec\x2f\x65\x61\x97\x20\x77\xcd\x92\xc4\xab\x45\xe9\x15\x40\x6e\x62\x31\x0b\x27\x04\x81\x01\x20\x0c\x21\x58\xd9\x69\xb1\x88\x57\x7b\xc3\xf3\x2d\x16\xeb\x4e\xb3\x75\xf7\x21\xc2\xb0\x2c\x03\x98\xe5\xf9\xc2\x7e\x9c\x4c\xb2\x0a\xea\x2f\x6b\xd5\x4e\xe7\xec\xeb\x28\x2f\x71\xb7\x1f\xac\xc0\xf1\x1c\x75\x85\xcd\x15\x14\xd6\x74\xc8\xf5\x02\x27\x87\x4c\x4a\xe2\xe4\x7c\x51\x92\x85\x8b\x37\x69\x35\xdd\xf4\xf7\x6f\x3f\x73\xcc\x88\x0d\x97\x18\x05\xc1\xc4\xb6\x8c\xb4\xaf\xd9\x01\xb3\xa9\x21\xd9\x8f\xe1\xd3\x92\xf8\xb0\x28\xc1\xdd\xea\x3d\x5a\xca\x63\x82\x0c\x07\x64\xe1\x16\x51\xfa\xcf\x27\x7e\xb5\xcf\x50\x63\x3a\x60\x06\x6c\x64\x7d\x8d\x1b\x87\x7e\x22\x89\xb7\x08\xb2\xfa\xd1\xaf\xe8\xa0\xc6\x80\x92\x53\x88\xbc\xc2\x21\xb4\x59\xf7\xb3\x5e\x22\x31\x63\x0c\x5d\x1c\x33\x69\xf7\x2c\x1d\xa2\x37\x9d\x4a\xc6\x48\x34\x66\x48\x25\xd3\x99\x12\xaf\xc9\xcf\xd0\xee\xd3\xaa\x51\x70\x25\xc9\xb8\xfd\x1c\x79\xe5\xfb\x27\x24\xf1\x36\x41\x1e\xb8\x69\x78\x7e\x0d\x6b\xb7\x5e\xc2\xdb\xac\x46\xbc\xeb\xe6\x70\x78\xc5\x4d\xfe\xf0\x70\x32\x1d\x6d\x5f\xd6\x31\xd0\x1c\xab\xb1\x3f\xf7\xa0\x2c\xdc\x26\x4a\x5d\x97\xcd\xeb\x91\x38\xbb\x65\x85\xc1\x2a\x0a\xc4\x9d\xe9\x3b\xbf\x65\xd3\xf5\xf6\x96\xf0\x60\xac\x23\xd5\x39\x92\x59\x10\xf6\xc2\xa6\x4f\xfc\xd2\xfb\x45\xad\x35\xbe\x68\x6c\x6b\x4f\x78\x38\xa7\xe3\x36\x13\xc6\x66\xbc\xc5\x6b\x58\xbb\xdc\x17\x6f\x68\x76\x3b\x6d\x52\xa8\xb6\xad\xb9\xab\x7b\x49\xf3\x1d\x2f\xfb\xff\x55\x90\x25\xf1\x29\xae\x21\xd8\x62\xe3\x24\xc7\xbd\x56\x20\x26\x22\x85\xea\xdc\x6b\xe7\x7b\xdb\xa2\xb5\x21\x59\x72\xb8\x3b\x22\x7d\x73\xd7\x15\xfa\xec\x66\x56\x41\x7d\x45\x1a\x5c\x04\xde\x55\xf0\x14\x1c\x45\xd1\x92\xf2\x70\xa6\x44\xc0\x44\x8a\x74\x78\xd1\x14\xbc\x15\x5c\xee\x44\xdc\x45\x6e\x96\xc4\xc7\xdc\xaf\x7e\xfe\x51\x68\x14\x4d\x06\xe7\x77\x6d\x46\xf5\xa5\x9c\x51\x16\x76\x1e\x7c\xc8\xa5\xae\xa1\x3c\xb5\x07\xbb\xfe\xfd\x1e\xad\x68\x84\x7e\x7f\xbf\xef\xb0\x3f\x21\x4a\x4c\xcb\x76\x51\x3a\xf2\xaf\x8e\xa7\xd5\x07\x6c\x92\x64\x81\xab\x7e\x64\x14\x0e\x08\xf2\xda\x95\x92\xb8\x5d\x94\x76\xc9\xc2\x47\xb5\xb4\xdb\x45\xa9\x77\x95\x44\x41\x0d\x11\x99\x62\x15\x8d\x5a\x0f\x86\x0a\x40\xfe\x05\x98\x92\xd2\x70\xd3\x49\x8e\xb8\x5b\x76\xb9\xfb\x20\x23\xd3\xb0\x8b\x87\x44\x71\x98\x39\xcb\x03\xce\xc1\xe1\xf5\x5f\x10\x64\x95\xda\x28\x42\x40\x3f\xff\x87\xfa\x6d\x83\xc1\x24\x7d\x47\x36\xfd\x44\x0e\x9b\x9a\xf9\x6f\x1b\x9c\xdf\xb6\x9b\x8c\x06\xf5\xfb\x3f\xa1\x63\xee\x57\xd0\xa0\x9f\x65\x49\x84\x25\x92\x78\x89\x20\xaf\x91\xc4\x1d\x82\x8c\x07\x6c\x36\x9b\xa4\x9e\x1f\x39\xdf\xb3\xce\x0e\x8f\xc8\x36\xd1\x9e\x7f\x56\x16\x76\x88\xd2\x1a\x59\xb8\x44\x94\xd4\xaf\x0a\x72\xc1\xef\xbd\xbe\xef\xe8\xa4\x7b\x75\x6d\xe0\xc7\x91\x6d\x5a\xc9\x4a\x83\xb1\xfc\xe9\x94\x42\xfa\xac\xc6\xc8\x37\x8f\xaa\x39\xc8\x8e\xc2\x55\xf9\x1f\xa8\x5f\x80\xf7\x29\xc3\x92\x97\x85\x47\x8b\x22\xea\xa2\xdc\x1a\xd7\xfe\x80\x5c\xf2\x83\xbd\x6a\x16\x1e\x52\xf7\xff\xf7\x75\xd5\x8a\x6c\xd7\x49\xe2\x7d\x82\x8c\x77\x8b\x52\x85\xff\x21\x03\xb2\x20\x1b\xaa\x41\x75\xe8\x4a\x84\x40\x0e\xc9\x2e\x87\x3b\x99\x96\x33\x41\x77\x30\x11\x0d\x69\x11\x0e\x57\x21\x42\xdf\x23\x12\x3a\x62\x48\x88\xe8\x9e\xa4\x49\xa9\xb4\xe5\xf9\x90\x14\xfb\x25\x28\x4f\x3b\xbb\x78\x52\x62\x38\xf0\x89\xb8\x0b\xe3\x15\x27\x06\x01\xe0\xda\x90\xfa\x7a\x00\x1e\x3a\x1c\x5a\x08\x27\x96\x3d\xbc\x02\x00\xae\x0a\xaa\x3f\xa1\xf8\xdd\xaf\x3d\xc2\x7b\x4e\x78\xf8\xcf\x9d\x7a\x94\xf7\x9c\x30\xdb\xf1\xd8\xcb\x5a\x7d\xbe\x18\xbc\x4b\x3b\x5d\x71\x01\x6b\x32\xd9\x0e\x79\xd9\x0b\xe1\x92\x8b\x79\xcf\x7e\x0f\xbf\x19\xae\xb8\x88\xf5\x1e\xb2\x99\x4c\xec\xfa\xab\xb4\x24\xf7\x34\x7c\x59\x94\x60\x0d\xb4\xaa\xaf\x02\x03\xc0\xc2\x17\x14\x45\xc9\xbf\x0a\x6d\xea\x6b\xc0\x02\x30\xf0\xa4\xa2\x04\xb2\xa2\x94\x3f\xee\xf1\xe0\x1d\xf9\xe3\x1e\xd1\x84\x77\x50\x5a\x5b\xe7\x2c\xc3\x3a\xab\x60\xf1\xa8\xc7\x61\x87\x47\x3f\x5a\x04\xab\xfa\x58\x21\x81\xb6\xbf\xed\x9c\x42\xcc\x5b\xac\x82\x12\xe8\x3c\x8a\x39\xe4\xe2\xfd\xc0\x8b\x0c\xef\x0c\xa5\x1a\xa2\xce\x90\xbd\x21\xd2\x0a\x99\x44\x3c\x63\x4f\x44\x42\xf6\x48\x2b\xa4\xdc\xf1\x4c\x2a\xe1\x4c\x27\x52\x09\xa7\x9f\x90\x64\x8c\x69\xa0\x20\xa4\xf1\x3e\x4e\xbb\x10\x41\xbb\xe8\xe3\x98\xbb\xa5\xfb\x76\x5f\x2b\xf0\x89\x65\xd7\x1e\x58\xf9\xc0\x70\xcb\x03\xd2\x79\xf2\x0f\xea\xaf\x8a\x1b\x6c\x9c\x49\x18\xba\xea\xd5\x6c\xf0\x81\x95\x4d\x0f\x2c\xbf\x71\x47\xef\x29\x7f\xdb\xa2\x9e\x75\xf1\xe5\x06\xc3\x9c\xc8\xfc\xd9\x73\x63\xb3\xfd\xf2\xa2\x9a\xc6\x9e\xf8\xe2\xd6\xb9\x3c\xdb\xdd\x30\xd0\xd6\x1d\x69\x94\x88\xf2\xd5\x21\xdf\xb1\xc3\x8b\x2e\x5f\xd8\xe1\x62\xa6\x26\x60\x12\x4d\xc1\xd7\x12\x70\x2f\x40\xfd\xfc\x47\x00\x26\xff\x8e\xdf\x9b\xe4\xeb\xbb\x2f\xce\x3f\xd8\xd8\xd9\x58\x63\xe1\xb0\xfa\x2f\x40\x58\x8b\xcd\xdb\x10\x83\x7f\x04\x13\x41\xb7\x89\x03\x50\x5f\x04\x20\x06\xd1\x5d\x1f\xd3\x71\x31\x28\xb6\x44\xc1\x5e\xd2\xe5\x06\x97\x9b\xd5\x6d\x06\x2b\x96\x64\x06\xb9\x44\x38\x2e\x8a\xf9\xc7\x3a\x9b\x70\xa0\x04\x11\x11\x60\x10\xfc\x54\x14\xd5\x1d\xa2\x2b\xd0\xd4\x39\x31\x5e\x44\x7c\xd0\xfd\x79\x94\x9e\xdb\x84\x3a\xd1\x79\x5a\x9b\xba\x83\x76\x97\x9b\x4c\x7f\xb4\xdd\xe1\x92\xcf\x01\xd3\x5d\x7d\xcd\x9e\x14\x45\xb5\xc9\x25\xce\xaf\x2c\x4a\xe7\x0f\x66\x82\xa2\xa8\x0e\x33\x8d\xa2\x4b\x2b\x72\xfe\xb9\x72\x69\xf3\xe3\x4d\x9d\xf9\x40\x69\x6f\x06\xe2\x4c\x41\x8d\xfe\x6c\x98\x42\xdc\x3e\x0e\x21\x13\x6a\x44\x03\x68\x25\x42\x90\xe8\x80\x48\x2a\xc4\x3b\x38\x1e\x74\x1c\xa6\xe2\xf6\x49\x5f\x74\xe8\xae\x8a\x75\x06\x53\x90\xee\x87\x54\x03\x17\xe2\x5a\x81\x7a\x31\x00\xce\x0a\x4e\x2d\x61\x4a\x76\x06\x53\x89\x68\x88\x4f\x68\x67\x39\x21\x33\x8f\x7e\xe9\x3c\x0b\x66\x08\xcf\xe4\xdf\x35\xa9\xff\x66\x12\x2c\x66\x35\x67\x35\x18\x5c\x39\xaa\xcb\x92\x13\x25\x32\x3f\xff\x75\xd8\x65\x31\x9a\xb1\x91\x58\xa4\xb7\xae\xc7\x19\xf5\x6e\xce\x6a\x16\x8d\xce\x7f\xbc\xa2\x8e\x0f\x76\xfc\xb5\x63\x50\x7d\x63\xe1\x9b\x0f\xbf\xc9\xec\xf8\x79\x87\x8d\x71\x40\x83\x65\xc2\x5f\x04\x81\xb2\xc9\x0e\x96\x42\x6f\x9c\x1e\x93\x3e\xfa\xfb\x0b\xb1\x5d\x32\x1a\x09\x90\x6b\x7e\x77\x41\xfe\x4f\x06\xc9\x8c\x31\xde\x43\x3e\x32\x3a\x7a\xe4\xc8\xe8\x28\x3e\x96\x1f\xd5\x65\x3f\x95\xf5\x4e\x6a\xf5\x0e\x97\xeb\xcd\x9e\xb5\xde\x50\x55\x33\xf2\x81\xed\xf0\x21\xea\xfd\xe0\xb4\xda\xc9\x67\x6d\x85\x52\xb5\x7f\x3d\x53\xad\xd5\xc9\x72\xf5\x98\x03\x67\x34\x81\x89\x10\xd8\x83\x58\xad\xce\x94\x3f\xab\xed\xcb\xfe\x3f\xda\xfe\x03\x3e\x8e\xe2\xfc\x1f\xc7\xe7\x99\x6d\x57\xf7\x6e\x6f\xf7\x76\x4f\x77\xa7\xeb\xb7\xab\x7a\x92\xae\xad\x7a\x77\x91\x2c\xdb\xb2\x70\x2f\xb2\x42\x71\x05\xdc\x00\x57\xcc\xd9\x86\x04\x48\x30\x60\x7a\x17\x60\x20\x14\x27\x04\x4c\x71\x28\x51\x20\x10\xc2\x27\x94\x84\x10\x42\x02\xc1\x49\x0c\x09\x84\x9e\x02\xd8\xba\xf5\xff\xb5\x7b\x27\x5b\x36\xa6\xe4\xf5\xfd\xff\xc0\xda\x9d\xb2\xbb\x37\x33\x3b\x3b\xf3\x3c\x33\xcf\xf3\x7e\x37\xa0\x1e\x34\x0f\xa1\xf8\xd7\xbc\xe2\x63\x57\x0c\x8e\x37\x84\xf8\xa6\x38\xde\x7f\xe2\x2a\x93\xa1\xf1\x2b\x0b\xba\xaa\x9f\x33\x3a\x72\xce\x88\x68\x05\xa2\x85\x11\x23\x72\x18\x19\x11\xc4\xba\x86\x4e\x54\xeb\x71\xd0\xef\x9f\x7e\x43\xb0\x30\xdd\x8d\xd5\xdf\x71\xb4\xfe\xc7\xd7\xf2\xab\xdb\xe3\x4b\x2b\x28\xdf\x10\x27\x8f\xa9\x80\x16\x3a\x71\x6b\xe0\xe1\xe3\xea\x7c\x4c\x6b\x1c\x6d\xa7\xd0\x91\xaa\xac\x3d\x51\x53\xc0\xda\x6f\x6e\x00\xa3\xcf\x53\x2f\x16\xfb\x7c\x17\x9a\x8d\x50\xdc\xd8\xe4\x37\x76\xee\xbf\xba\xcf\xc7\x05\x96\x30\xd8\x1e\xd4\x82\x1c\xaa\x46\x59\x38\xe2\xf5\xa4\x7f\x00\x29\xce\x60\x23\x61\x68\x83\x34\x82\xa3\x3a\xe7\x36\xa5\x5b\x7b\xba\x93\x13\xf3\x37\x7f\x45\xa5\x3f\xf4\xd6\xf7\x9f\x3d\xa1\x35\xe1\x71\x29\x0e\x67\x5c\x9e\x79\x9a\x13\xbb\x67\x54\xad\xf8\xee\x65\x67\x6c\xde\x1d\xd0\x2a\xef\x02\xcc\x98\x5c\xad\x03\x23\x9b\xdf\x6a\x5b\xd1\xbb\xb6\x2f\x3b\xfb\x44\x75\x56\x5b\xd7\x9f\x31\x50\xe7\x34\x31\x6b\x18\xd2\x7e\xf6\x1c\xc9\x7f\xe9\x69\xcb\x77\x3d\x81\x6b\xd6\xae\x85\xfb\x19\x0f\xe5\xb4\xd9\x5d\x8d\xb3\xf7\xe5\xd7\xa2\x2f\xd5\x5d\x35\xac\xa1\x8f\xd6\xfd\xeb\xc7\xb9\xe3\xaa\xc7\x7f\x5d\x73\x7c\x8b\xba\xbf\x3c\xbe\x7e\x4f\x7f\x4d\x43\x90\xc5\xca\x1f\xba\xe7\x44\xb5\x1f\x3d\xbe\x9a\x54\xea\x84\xed\x31\x86\x1b\xd9\x5e\x5c\x87\x5d\x38\xf6\xd6\x0b\x06\x1b\xc7\xaf\xfb\x51\x02\x23\xba\x45\x46\x34\xb8\xc4\x68\xa6\x12\x47\x0c\xd6\xdb\x02\x9c\x54\x01\x92\xb0\x15\x1b\xd4\xb9\xa9\x64\x80\x72\x0b\x2c\x30\x2c\x2e\xf2\xf2\x7b\x7d\xf1\xb8\xcf\x2b\x0f\xcb\x5e\xcd\xd8\xe3\x85\x90\x57\x26\x87\x55\x07\x91\xe0\x38\x87\x62\x6e\x6c\xbf\x20\xd6\xc7\x75\xde\x38\x67\xea\xe6\xa8\x57\x8e\x95\x78\x96\xd5\x75\x87\x5d\x5e\xb3\x99\xb1\xfa\x05\xde\x9b\xe8\xa9\x09\x3b\xcc\xc0\xf3\x2e\x82\x35\x91\xe0\x9e\xb6\xd6\xd8\xb5\xf1\xc5\xe3\xd8\x77\xc4\x81\x43\x96\xbd\xb3\xdb\xaa\x42\x7d\x2d\xf5\x2d\x0d\xf1\xd5\x13\xfa\x70\xd0\xe7\xad\x04\x88\x7b\xf1\xb6\x92\x38\xc6\x6b\xdb\xe7\x84\x5d\xcd\xf1\x0a\xa5\xaa\x59\xe0\xdd\xc1\x64\x59\x73\xc0\x23\xf7\x55\x45\x68\x8f\xc0\xae\x45\x47\x78\xd3\xdb\x0d\x1f\x33\x5f\x11\x87\xf1\xc8\xcb\x3b\x5e\x83\x8f\x8b\x6e\x43\x1b\xc6\x52\x00\xbb\x05\x03\xce\x38\x81\x15\x83\xbc\xdf\x00\xd1\x34\x9a\x44\x6f\x8f\x26\x42\x94\x44\xc6\xf8\x63\x84\xaf\x6a\x88\xe5\x2a\xac\x99\xa6\xfd\x93\x34\xb1\x84\xcb\x25\x80\xd9\x11\xae\xe9\x49\x78\x79\xc1\x6f\x65\xcc\x66\xaf\x2b\xdc\x5d\xb7\xcc\x53\x12\x93\xbd\xd1\xcd\x53\xe7\xdc\xd8\xc9\xf5\xc5\x2e\x68\x6f\x34\x2b\x0e\x8e\x4b\x10\xc4\x58\x4b\xe4\xdf\x2e\xb4\x81\xd1\x1e\x3f\x6e\x99\x3b\x6d\x2d\x2b\x78\xe8\x78\xd9\x54\xd9\x13\x68\x2e\x4b\x06\xdd\xbc\xd0\x5c\xa5\x54\xc4\x9b\x5d\xe1\x39\xed\x6b\x31\x8e\x97\xe0\x6d\xde\x38\x40\xa5\xd7\x17\xc4\x7d\x13\x56\xc7\x1b\x5a\xea\x5b\xfa\x42\x08\xd9\x8e\xac\x65\x98\x8d\x7d\xa4\x4a\xd4\x82\x16\xa2\x53\xd1\x79\xe8\x07\xe8\x66\xf4\x00\x7a\xca\xe0\x35\x89\x46\x18\xb7\x98\x4a\xaa\xa9\x4c\x3a\xe2\x8e\xbb\xa3\x5c\x94\x8b\x66\x28\x2e\x9a\x29\x6e\xe2\xa5\x8a\xcb\xf7\x1c\x55\xb4\x11\x72\x47\x39\x5d\x7c\x4c\x4a\xa2\xe4\x16\xc6\x58\x62\x5a\x20\x6d\x18\xc1\x96\x42\xd4\x2d\xa4\x92\x6a\x3a\x9b\xce\x80\x5b\x88\xb4\x40\x3a\x09\x69\x83\x96\x2e\x1c\x32\xd0\x49\x8b\xe0\x97\x21\xa3\x9f\x01\x1f\x65\x94\xa8\x01\x86\xe9\x4e\xc5\x33\xe9\x02\x8d\x4f\x29\x14\x17\xee\xa4\x14\x17\xe5\x8a\xe5\x88\x16\xcb\xf1\xa5\x05\xbc\x6b\x4a\x39\xa7\x93\x2b\x7d\xb4\xb3\x33\xff\x4c\x7f\xef\x34\xf8\x49\x97\x12\x0f\x9b\xe9\x4e\x00\x56\x10\xa1\x8d\xb1\x95\x47\xc3\x5d\x5d\xa1\x58\xb9\x8d\x39\x84\x09\x9b\x2f\x93\x2e\x75\x0b\xa5\x4b\x7c\xee\x0b\x22\x1e\x1a\xb4\x6d\xed\xed\xd8\xcd\x5b\x3a\x2b\x2f\xd4\xde\xd7\x3e\xb8\xb0\xaa\xc3\x22\x08\x96\x8e\xca\x8b\xb0\x7c\x51\x65\x87\x45\xc8\xdb\xe7\x4f\x49\x65\xa6\x31\x21\x53\xd4\xda\x0b\x61\x77\x69\x5d\xca\xe7\x76\xfb\x52\x75\xa5\xee\x87\xba\xba\x0c\x38\xeb\x2e\xda\x1a\x8a\x95\xc3\x67\xe3\x17\x78\xde\xbd\x29\xe9\xdc\xef\xbc\x37\x92\x4a\xfd\x63\xa2\x36\x0f\xee\x9a\xb8\x55\xbb\xbc\xac\xda\xcf\xc5\x21\xa2\x7d\xea\xc1\x8e\x20\x78\x56\xed\x4a\xbb\x2b\xca\x63\xf0\xc1\xad\x65\x15\xee\x87\xcd\xa5\xac\xe8\x2a\x93\x7d\x4d\xdb\x9a\x7c\xb2\x5c\xda\xd0\xd7\x91\xf2\x82\xcd\x6d\x25\xea\x6f\x4c\xa5\x6e\x4c\xe7\x89\x9f\x9c\x54\xd5\x44\x39\x1c\x54\x53\xd5\x9c\x3d\xf7\xcf\xac\x6c\xd6\xc3\xcd\x95\x33\x89\x26\x28\x7b\xfa\x69\x69\xa1\xb4\x54\xfd\xd5\x86\xed\x8d\xa5\xb2\x5c\xda\x68\x9c\x7c\xcd\xb0\x56\x7b\x3b\xe8\xc4\x1e\x70\x6a\x7f\x8a\xbb\x7c\xd5\x60\x3a\x76\x0d\xd7\x8a\x7c\x87\x11\xf5\xb6\xe1\x2f\x3b\xd6\x3f\x16\xa0\x53\xd0\xb9\xe8\x22\x74\x03\xfa\xb1\xa1\xa7\x47\x23\x0a\x97\x4d\x25\x29\x77\x34\x93\x4e\xc6\x53\x99\xb0\x3b\xc5\xa5\xc2\x27\x78\x2d\x63\x2f\x2f\x13\xe5\x52\x19\xe3\xe5\xc5\x33\x51\xa3\xc3\xb4\x40\xea\x4b\x2f\x56\xcd\x42\x26\x1d\x29\x05\x21\x69\x30\xe0\x32\x74\xc8\xe8\x22\x99\xb4\xd1\x2b\x42\x46\x0f\x81\x14\xc1\x45\x39\x59\x91\x95\x14\x3f\xd6\xf7\x0a\xfd\x4c\xef\x7b\xf1\x13\xf4\x50\xe2\xff\x14\x49\x14\x25\x05\x06\xe6\xcf\x1f\x6d\x5c\xa9\x3d\xb7\xfc\x54\x08\xcd\x9b\x17\xf0\xb9\x08\x98\x67\xb2\x25\x6a\xb3\xb0\xc7\xcc\x65\x93\x95\xf3\xe6\x55\xd7\x66\x39\x33\x0c\x2c\xc0\x4c\x38\xf1\xa0\x4f\xe9\xea\x56\xfc\xa5\xca\x84\xc9\x31\x17\x81\xf3\xc3\xb3\x67\xe3\x97\xbc\xec\xdc\xc6\x47\xf3\xde\x47\x1b\xe7\xd9\xbd\x5e\x76\x6e\xd3\x23\xf8\x1d\x23\x3c\xea\x5d\xb2\xf1\x54\xb6\x26\xee\x5f\x31\x09\x1e\xf6\xcb\xdd\x5d\xb2\xdf\x2f\x77\x75\xcb\x7e\x98\xbe\x20\x93\x4c\xd8\x4d\x0b\x80\x70\xf9\x02\x10\x7b\xa5\x4b\x84\x6a\xb1\x3b\x91\xe8\xbe\x7a\x70\x30\xff\x4b\xf8\x50\xfb\x6e\x85\x9b\x08\xc1\xe9\xda\xc6\x3a\x4f\xbc\x65\xf0\x99\x1e\x6f\x7d\xf6\xf5\xfc\xf2\x5a\x55\xf5\x9d\x64\x4f\x59\x62\x13\xe6\x2c\x9d\x1e\x4f\xa5\xe2\xd3\xf7\x4c\x8f\xa7\x32\x3e\x9f\x99\x78\xea\xb7\x13\x26\xfc\x76\x62\x7e\xce\x7b\x67\x35\xf5\xd3\x6e\x37\xdd\xdf\xb4\xfa\x43\x3d\xcc\x08\x02\xd3\xdf\xb4\x9a\x64\xb5\x35\xda\x27\xe0\xe8\xbd\x78\xe9\x4c\xed\x8b\x89\x3f\x9e\x11\x4f\xa5\xe4\xfe\x1f\xf7\xeb\x0f\x19\xd0\xec\x6a\x6b\xdc\x93\x82\x8b\xb5\xcb\xc3\x58\xac\x84\x73\x0b\xb6\x94\x39\x6a\x33\xf5\x5f\xc4\x23\x05\x21\xa0\x0b\x1a\xb4\xca\x27\x95\x31\x85\x19\x44\x06\xdc\x63\x8b\x32\x90\x05\x3d\x11\xcf\xb2\x7c\xe6\x93\x3f\x72\x0b\x96\x3c\xc0\xad\x36\xab\x59\xfa\xa8\xcc\x4b\x3c\x6f\xb5\xe6\x3f\x86\x7e\xab\xc5\x22\x7e\x54\xe1\xd1\xf6\xb8\x30\x94\x28\x9f\x88\xc4\x69\x2e\xad\x37\x11\xe1\x61\x04\x40\x12\x1d\x8e\x6a\x38\xd5\xe9\x1e\x9d\x0f\xf9\xeb\x04\xce\x51\x8d\xcf\x0c\x11\x3b\xab\x8f\xe5\xce\xe7\x8f\xf0\x8b\xc8\x95\x60\xec\x20\xb8\x09\x5a\x12\x9b\x20\xa9\x82\x91\x02\x22\x18\xb1\xac\x02\x19\xc8\x4a\x5f\xda\x7c\xd9\xea\x0e\x3e\xea\x32\x31\xa6\x73\x7f\x61\x36\x9b\x9c\xfb\x82\x3c\xa1\x32\xdc\x63\x01\x5e\x3b\x0d\x80\x12\x42\x8f\xba\x18\x93\x59\x1b\x85\xeb\x4c\x7f\x3a\x66\x91\x9a\x80\x37\x23\x56\x1b\xf7\x07\xd0\xee\x64\x59\x7b\x8c\x98\x61\x8b\xe6\x15\xac\x85\xa3\x36\xbb\x03\xde\x00\xfc\x8a\xf3\xc2\x2f\x63\xd6\x20\x0b\x83\xc8\xff\x22\x6c\x20\x22\x55\x03\x9f\x24\x83\x90\x0c\x50\x45\x1e\xfc\x52\x10\x19\x16\x1c\xc0\xd2\x51\x3a\x2c\xc7\x6a\x70\x61\x26\x49\x80\xd2\x02\xb2\xc1\x37\xdf\x4a\xa7\xb2\xf8\x97\x70\x40\xf3\xef\xfb\x21\x34\xf4\xf4\x40\x88\x0d\x7b\x42\x01\x96\xe6\x15\xc6\x64\x06\xe0\x99\x18\xcb\xb2\x81\x90\x27\xec\x08\xc2\x21\xed\xc2\x97\xb4\x97\x6a\xeb\x62\xb1\x78\x87\xe7\xcb\x57\xb0\x21\x38\x04\xd7\x1e\xcc\xc3\x52\x33\x45\x12\x04\x6d\x71\x4a\x0e\xba\x64\xa1\xda\x7e\x79\x79\xd9\x85\x97\x5f\xae\xce\xe3\x38\x87\xe4\xb0\xd0\x04\xc1\x63\x33\x41\x92\x94\x25\x54\xf2\xa5\x7c\xa7\x9e\xef\x42\x05\x1c\x2c\x7a\x84\xba\xd8\xd8\x5b\x95\x90\x0f\x05\x11\x32\x93\x6e\x70\x2b\x4c\x06\x32\x12\x64\x24\xd5\x6d\xb6\xc1\x2e\xf8\x50\xbb\x47\x13\xa9\x2a\x4d\x04\xd0\xa4\x2b\x60\x36\x00\xcc\xc9\xcf\x80\xd9\x9a\x4b\xfb\x11\x95\x80\x01\x4d\xd2\xee\x86\x39\xf0\xae\xf6\x23\xcd\x45\xb4\x68\x2f\x69\x7f\x83\x36\xed\xc0\xe9\xda\x9f\x0c\x3e\xf6\xf8\xe9\x43\xe0\xc7\x00\x58\x3b\x40\xfe\x41\xfb\x9b\xf6\x32\xb0\xda\xa7\xda\x27\xda\xcf\xa1\x94\xd8\xaa\xfd\x5c\xfb\x14\x6a\x11\x8d\xac\x87\x11\xf5\x1f\xc3\xc6\xc4\x8a\x1c\xc5\xf2\x20\x2a\xcc\x45\xb9\x30\x17\x8d\xab\x14\x03\x2a\x18\x7f\x04\x30\x66\xc8\x84\xdd\x94\xf9\xd0\x6d\xc3\xd4\xcd\xc3\xa3\x03\x61\xc2\x11\xce\xcf\xed\xc2\xaf\x76\xe5\xff\xbd\x04\x2f\x59\xf2\x3a\xbc\x99\xd3\xa2\xf9\x07\x88\xd0\x10\xec\xcf\xe7\x70\xae\xea\xa6\x3b\x6e\xc4\xde\x5d\xda\x9e\xcb\xf1\xc3\x9b\xf3\x87\x37\x13\x9b\xf3\xe7\x0d\xe1\x6d\x07\x6f\xbd\xe5\x96\x13\xd8\x5e\x4c\x47\x4b\xc7\xe1\xf6\x17\xc1\x68\xc7\x70\x6e\x63\x11\x99\xc5\x06\x65\x2a\x21\x0a\x74\xa1\x0f\x04\x88\x6c\x52\xd4\xa5\x27\x50\x5b\x09\xd9\x40\xb1\xd5\xe5\x08\x02\x39\xc7\x8d\x73\xce\xa3\xc3\xdc\x98\x99\x46\xe8\x1d\xed\xd1\x77\xde\x81\xc9\x30\x90\xed\xcb\x66\xfb\xb4\x49\xec\xf7\x27\x6f\x9c\x55\x9a\xec\x13\xac\x0e\x4a\x6f\x39\xca\x61\x15\xfa\x92\xa5\xb3\x36\x4e\xfe\xfe\x57\x67\xe1\x33\x29\xcb\x81\x97\xe7\x6a\xd9\xb9\x2f\x1f\xb0\x50\x46\x18\x9e\xd7\xc3\x58\x34\x0c\x3a\x60\x77\xe1\x57\xde\x31\x7e\x24\x9b\xfb\x96\x8f\x3d\x36\x4b\x3b\xf3\xcb\xcf\x37\xc2\xc7\x7c\xd7\x0e\x03\xe7\xe3\x78\x7b\x99\xd4\x11\xcf\xd7\x31\x6f\x15\x83\xea\xa8\xf0\xa5\xc1\xf5\x5b\xee\xdf\xb2\xe5\x7e\x7c\xbf\x71\x1a\xe3\x31\x2a\x7c\x81\xa3\x3f\xd4\xd3\x8a\xff\xc6\xff\x0e\x46\x66\x83\x07\x9c\x0f\x53\x29\x33\xa4\xd4\xf0\x31\xa6\x5a\xe8\x57\xda\x99\x38\x3b\xa8\x65\xb4\xcc\xe0\x32\x6c\x81\x43\xc7\x23\x25\xec\xd2\x5e\xdc\x8f\x1f\xcc\x4f\x1d\x86\xba\x13\xf9\x27\xf7\x53\xdb\xa8\xdb\x91\xc5\xf0\xae\xec\xd2\xfb\x02\x88\xb4\x92\x80\xac\x9a\x0d\x80\x94\x00\x86\x05\x29\x00\x6a\x2b\xf0\x09\xac\xc4\x28\x16\x33\x01\x2c\x89\x6a\x2b\xe6\x0d\x7f\x08\x59\x49\x10\x8a\xac\xb4\x81\x18\x52\x03\x40\xf3\xb4\x81\xbb\x10\x97\x95\x04\xa9\xe7\xb4\x92\x6a\x56\x8d\x51\xa2\x14\x00\xa2\xc6\x74\x76\x46\x29\xf5\xcb\xb1\x1e\x75\x15\xfb\xec\xc9\x6d\x53\x08\xf2\x8a\x85\x0b\x36\x1d\x10\x26\x57\xd5\x69\x6f\x6a\x1f\x54\x26\xda\x5d\x81\x85\x6a\xf3\x81\x37\xda\x32\x0b\x67\x9b\x1c\xf6\xaa\xd8\xec\x97\x9e\x59\x9a\x98\x34\xd0\x2e\x94\x84\x68\xd7\x5b\x58\xdd\xef\xa6\x9d\x0f\x79\x67\x51\x55\x95\xe1\x51\xed\xfa\xcf\x77\x39\xdc\x76\x8a\xc1\xe6\xa8\xdb\x6b\x26\x4a\x23\xf5\xb1\xc0\xb9\x8f\xc3\x66\x28\xbf\xa1\xd9\x09\xf8\x8e\xb6\xbe\x10\x37\x30\xc0\xb9\x6c\x4d\xdc\xca\xb5\x55\xfe\x8d\x13\x16\xe4\x4c\xa6\x6b\xf1\x26\x5f\xd4\x6c\xaa\xa9\x63\x2c\x11\xaf\x3f\x6a\x66\x4a\xfd\x26\x53\x74\xd4\xe5\x3d\xad\xab\x47\xa8\xad\x21\x38\x93\x10\xc9\x44\x87\x7e\xe1\x34\x5f\x79\x25\x1d\xa9\x27\x1e\xbd\x4b\xf3\x04\xd2\x7e\x6e\xab\xec\x5b\x6d\x2b\x2d\xf7\xa5\xcd\xc9\xe7\x36\xdf\x37\xd9\x5b\x1d\x08\x38\xac\x09\x57\x7c\x4e\xa2\x4f\x68\x35\x70\x60\x0b\xef\xca\x64\x8c\xf6\x8d\x68\x5e\x81\xdd\x5a\x36\xa8\x88\xb3\xaa\xe1\xce\x6e\xb8\xea\xf3\x7a\xfb\xe8\x63\xa6\xae\x7c\x48\x01\xcc\xa7\xb3\xb2\x42\x87\x14\x07\x18\x1c\x86\x7a\xc3\x66\x15\x59\x91\x29\x9a\x29\xb4\x75\x80\x90\x44\x89\xd4\x75\x15\xd7\x97\x04\xc3\xfe\x81\x58\x25\x54\x2a\x33\x7b\x4d\x73\xcf\x5f\x41\x60\xb5\x7a\xe2\xa5\x0f\x0b\x5d\x4a\xd5\x0d\x77\x57\xc9\x5d\x6e\x7b\x22\x12\x78\xf6\xb7\xe1\x58\xb2\xde\x4a\x39\x6e\xd5\x96\xdd\x66\xa3\xbc\x8e\x9a\x9b\xbe\x78\x30\x12\x70\x7c\xcf\xcc\x55\xae\xfe\x83\xf6\xc9\xf9\x83\x72\x65\x8a\x34\x89\x31\x1a\x4c\xb4\xcb\xbe\xfc\x41\x20\x1e\xf2\x04\x83\x64\x2d\x94\x1d\xb3\x9b\x77\x7d\x65\x42\x14\x96\xbb\xa4\x6c\x4b\xe7\x99\xb6\x85\x5d\x75\x73\x85\xe0\x00\x34\xba\xbd\x34\x25\x08\x34\x53\x22\xf0\x1e\x86\x8a\x46\x28\xa6\x24\x4f\x30\x4a\x09\xb9\x62\x05\x6d\xbb\xbe\x7e\x86\x2f\x71\x0a\xdf\xb1\x02\xff\x32\x23\xaa\xe1\x36\x9f\x2d\xe2\x10\x6a\x03\xdd\x3f\x78\x3e\x46\xa5\x85\x88\xb5\x5f\xf0\x2f\xb0\x0b\xb2\x1b\xac\x90\x3c\x6e\x1e\x02\xd4\x7d\x38\x47\xea\xcd\x1a\x41\x28\x2e\xe9\xc3\x4a\x82\xc8\x70\xd1\x4c\x2b\xa9\x1a\x08\x83\x61\x77\x98\x13\x02\x58\xcd\x12\xf7\xf7\x4b\xf7\xcf\x5b\xb6\x67\xf5\xb4\xf0\x0f\x27\xaf\xed\xae\x15\x28\x60\xc8\x7f\xc3\x54\xed\x01\x7b\xa8\xab\x76\xda\x4b\x1f\x44\x5b\x01\xd7\x2f\xdc\xb0\xa1\x11\x87\x5e\xf3\xce\x59\xb4\x6a\x4e\x35\xc5\x68\x73\x47\xf3\x07\x03\xe9\x4c\x00\xf0\xf8\x7d\xfe\x02\x83\xac\x42\x47\xe9\x04\xce\x70\xe1\x4c\x98\x8b\x46\x18\x96\x60\xdc\x29\xe3\xb7\x5a\xe1\x4b\x7b\xa1\xab\x5b\xab\x9a\x62\xe9\x12\x0b\xc0\x61\xf4\xb8\x09\xa8\x92\xcc\x69\xdd\xdb\x2b\xe7\xdc\x70\xca\x84\xef\xc1\x6d\xe3\xdb\x6f\xca\x23\x22\x48\x65\xe5\x12\xec\x7c\x0a\x26\x5a\xaa\x66\x2f\x9b\x5d\x72\x87\x36\xd8\x70\xd6\x8a\x0e\x0c\xb5\x64\xcd\xb1\x7b\xa1\xc4\xe1\x76\x9c\xa7\x91\x81\xda\x23\x9e\x58\xa5\xc7\xff\x71\xda\xb5\xdb\x2c\x76\xd6\xa2\xdd\x64\x37\x99\x85\x22\x5e\x20\x20\xd9\xa9\xe5\x2c\x16\xc8\x39\x79\x9e\x34\xf6\x2c\x0e\x8d\xd9\x94\x20\x9c\xa7\x46\xf4\x67\x16\xed\x56\x8e\xc0\x26\xab\x45\x27\x31\x9c\x3f\xf2\x1c\xb7\xd3\x0e\x83\xfa\xd3\xe1\x14\x3b\xc9\xf3\x87\x0c\x03\x6e\x72\xbf\xec\x84\x9c\xc5\xa2\xe5\x9c\x45\x6e\x2b\x20\x18\x44\xe4\x8d\x67\x8e\xa1\xe0\x8f\x61\xe0\x4b\x05\xf0\x0c\x06\xe9\x25\x38\xae\x50\x78\xff\xb1\xbf\x71\x32\x6b\xd4\xa0\xc8\xb5\x45\xd0\x23\xc5\x67\x16\xf6\xa5\x8f\x45\xcf\x97\x40\xa4\x47\xf4\x22\x1c\x57\x2a\xbc\x83\xb5\x68\x37\xb3\xa6\xf1\x55\xd0\x6e\xb3\x1c\xb1\xc7\x5f\x43\x23\x24\x1b\x5e\x8f\x45\x75\x4e\x17\xd6\xa3\x11\x02\x67\x8a\xd2\xb6\x2e\xb3\x1b\x1a\x5f\x81\x23\x14\xc6\xb8\x55\x0b\x44\x77\x92\x20\x52\x6b\x94\x99\xdb\x72\x75\x0b\x66\x77\xb4\xcc\x98\x91\xba\xf6\xaa\x2b\xd6\xac\xb9\x77\xf2\xf2\x65\x91\xea\x93\x97\x4c\x5a\x3f\x98\x4e\x4f\x8f\x76\x5c\xac\xfd\xa5\x34\xd0\x96\xcd\xc6\xbb\x88\x29\xbd\xf7\x03\x01\x00\x1d\xe7\x9e\xfb\x8b\x50\x28\x1c\x01\x02\xa8\x4f\x0f\xec\xba\x2c\x10\x88\x44\x3a\x62\xed\x5d\xa9\xc1\x35\x5b\x9e\x25\x37\xb5\x4c\x99\xd2\x96\x75\x59\xe9\xab\x4e\x5f\x59\x4e\x38\x09\xd2\x76\xc4\x9e\xdf\xc0\x22\x2f\x48\x07\x08\xb8\x38\x67\xb0\x39\x15\xcf\xf8\x9e\xfc\x6c\xfd\x8f\xce\x8d\x9e\x4d\x7c\x7f\xf4\x6c\xec\xca\x9f\x3d\x88\xab\xf1\xdf\xf3\x67\xe0\x4c\x7e\xfd\xe8\x87\xe7\xe2\xab\x88\x33\x47\xdf\xc1\x37\x19\xfc\x91\x06\xee\x2c\xb5\xd5\x98\xef\xfd\x48\x45\x53\xd1\x02\x84\x50\x32\x6b\xcc\x4f\x64\xf1\x4c\x15\x66\xb1\x42\xe7\x2e\x40\x59\x1a\x0e\x95\x2d\xba\xba\x6b\x2c\x2e\x28\xc6\x1e\x21\x04\xc0\x1d\x4e\x67\x0d\x4b\xd6\x20\x64\x93\x92\x9a\x95\x44\xc6\xf8\x32\x8a\x1f\x46\x52\x84\x37\x43\x92\x14\x12\xe1\xf1\x90\x28\x86\xa4\xd1\x43\x15\xcd\x4d\xb3\x9b\x9b\xc9\xe9\xed\xd5\x53\x9a\x67\x37\x5f\xdc\x5c\x59\xd1\x0c\xbd\x89\x76\xfc\xa3\x95\xb9\xd1\x53\x72\xa7\x4f\x62\x6c\x76\x66\xf2\xe2\xdf\x2d\x9e\xcc\xd8\x6d\x0c\x5c\xad\xe7\x37\x57\x54\x36\x93\xa5\x92\xfe\x9c\xc2\xbf\x97\x9a\x2b\xb4\x81\xca\xe6\xe6\x4a\xf8\x51\x45\x33\x9f\x5f\x92\x68\xff\x9b\x1e\xfb\x5b\xe1\xd8\x9e\xc0\xd7\xc3\x55\xea\x33\x67\x9f\xfd\x8c\xba\xc3\xce\xd0\xb6\xf3\x2b\x2a\xce\xb7\xd1\x8c\x3d\x7f\xd5\xd8\x5d\x95\x4d\x4d\xc8\x6c\xc8\x5d\x5f\x18\x9c\x1b\x0e\x14\x01\x13\xb8\x21\x0e\x29\xe8\x81\x4f\x0c\x3c\x95\x28\x9d\x49\xab\x49\x89\x96\x99\xac\x24\x82\xac\x8f\x3b\x0c\xad\x8f\xdf\xad\x44\x33\xc8\x90\x56\x74\x81\xa7\x20\xef\x88\x92\xc1\x21\xab\x4b\x3e\xc6\x4c\x27\x67\x8b\xcb\x29\xfa\x20\xcf\xd0\xa2\x9a\x4d\x67\x12\x84\x42\x4b\x42\x34\x01\xb4\x92\x95\x15\x99\x66\xe8\x00\xe8\x9a\x21\x63\x38\x40\x49\x49\x91\x36\x9c\x57\x8d\x29\x96\xd0\xc7\x7e\x42\x9f\x12\xa0\xc0\x71\xc2\xd0\x8a\x5c\x98\x11\x28\x51\x12\x58\x8a\x61\xb1\x3e\x2f\xe8\xbd\x93\xc5\xc6\x90\x28\xea\x97\xe8\xef\xc1\x28\xa5\x61\x5d\x69\xdc\x1d\xc0\xee\xac\x92\xd0\x07\x2c\x49\x2c\x38\xf2\xeb\x17\x18\x1b\xb8\x59\x83\x3a\xbf\x15\x44\xd0\x0b\xe4\x16\xa5\x24\x43\xa7\x92\x94\x5e\x25\xb2\x30\x55\x29\xe9\x04\x30\x11\x3d\x28\x09\x6a\x56\x4d\xeb\xc2\x5c\x94\xd5\xc5\x7e\x2c\x89\xfa\x13\x92\x59\x08\x60\xbd\x38\x60\x40\xb3\x10\x06\x78\x11\xc3\x12\x4a\xa1\x29\xf4\x1f\xd0\x1b\x41\x97\x0e\x21\x63\x14\x51\x2f\x1c\xc1\x08\xb4\x54\x30\x01\xc5\x6a\x2b\x36\x56\xe3\x64\x3d\xd3\x58\x87\x23\xd4\xac\x5a\x98\x1f\x53\x06\x98\x0d\x53\xbc\x56\x34\x24\x4f\xe3\xb1\x2c\xe8\xd5\x10\x8b\x0f\x2e\xb6\x74\x80\xc2\xd7\x58\xcd\x24\xc5\x53\x0b\x49\x87\xc5\x63\x22\xb4\x1b\x48\x92\x22\x08\xc6\x62\x26\x39\x12\x30\x06\x4c\xcc\x52\x49\x86\x20\x30\x03\x66\xb0\xf4\x46\x3d\xe1\x39\x61\xab\x12\x74\x80\xd5\xec\x76\xd9\xed\xc0\x46\x4a\x44\x92\x14\xac\x8a\xa3\x89\x36\xd1\x62\x49\xdc\x6f\xb1\xba\xdc\x76\x8a\x2b\x11\x9d\x2b\x5d\x60\x2e\x2f\x21\x20\xe2\xf7\x95\x62\x30\x73\x8c\x85\x26\xad\x0c\x07\x20\x78\x38\x01\x40\x34\x9b\x14\xb0\x53\x16\x56\xb4\xf8\xc4\x1a\x15\x57\xf8\x42\x94\xd9\x4a\x11\x66\x9b\xd0\x63\xae\xf2\x96\x64\x2d\x00\xce\x92\x0a\x4e\x8e\x84\x7d\xa2\x1d\x63\x9a\xb6\x32\x76\xc2\x3f\x3d\x2b\xba\x2b\x44\x02\x02\xa5\x76\x97\x34\xdd\x84\x81\x36\xb9\x43\x24\xa6\x49\x0a\xe3\x58\x82\x2a\x23\x85\x1f\x9a\x9d\x44\x30\x60\xaa\x60\x13\x0a\x69\xa7\x81\x10\x2c\x89\x0d\x17\x54\x49\x56\x1b\x06\xd1\x4c\xbb\x09\x09\x63\x0e\x8b\x8e\x18\x74\x4d\xcb\xdf\x4a\x58\x69\x33\x26\x2c\x04\x61\x25\xe0\x76\x6c\xe6\x68\xca\x4c\xd1\x98\x60\x2b\x5c\x66\xeb\x5e\x8b\x8d\xa0\x49\x92\x60\x49\x13\xce\x52\x76\xc2\x61\x36\x53\x04\x06\x0b\x26\x49\x13\x6b\x02\x27\x8b\x55\x41\xc4\x8c\x47\x8a\x7b\x65\x93\xbc\xd8\xcf\x2d\x91\x5d\x92\x25\x12\xa8\x9a\xcd\xf7\x09\x55\x93\x62\x29\x7f\xe9\xee\x76\xbe\x3d\x56\xe9\xa1\x2c\x11\x00\x8b\x05\x2c\xec\x6c\x2e\xe0\x71\x67\x42\xa9\x88\xd9\xee\xc2\x36\x8a\x84\x08\x41\x44\x84\x6d\x51\xcf\xa9\x1d\x52\x65\x25\xe1\x12\x2c\x1b\x6b\xbb\xab\xad\x24\x01\xe0\x0a\x30\xa6\xb8\x28\x0b\x67\xb2\x36\x12\xa7\xfb\x95\x8e\xcc\x8a\x58\xc3\x04\x8a\x8a\x46\x4e\x51\xe7\x39\x4c\xb4\xcb\x6a\xf1\xf9\xb2\x11\x97\xcf\x65\x66\xb1\x28\xbb\x9c\x02\x6f\xa9\x9f\x5f\xd6\xd4\xd2\x93\xa9\xb5\x2a\xa1\x70\x98\x60\x81\x75\x78\x9d\x3e\xf2\x34\xe0\x81\xb6\x11\x2c\x38\x08\xab\x9d\xd6\x06\xc0\xc4\x51\x94\xc9\x0a\xe0\xb4\x10\x26\xfd\x85\x63\xed\x7a\x97\xc7\x51\xe2\x73\x96\x5a\x22\x4c\x25\x55\x7b\xa6\x20\xb4\xdd\x76\x56\x19\x26\xab\x37\x25\x94\xe6\xa0\xcb\x06\xad\x03\x81\x98\xe8\xee\x88\x98\x88\x00\x40\x32\x0d\x44\x67\x09\xef\x60\xc8\x76\x2a\x50\xe6\x36\x13\xa6\xad\x0e\x33\x41\x32\x0d\x9d\x00\x0d\x41\x47\x55\x10\x13\x56\x33\x94\xf2\x62\x00\x2a\x62\xa4\x83\xb5\x49\xc0\x7a\x29\x93\xe4\xb0\x02\xe6\xc0\x66\xe6\xcc\x2c\x4d\x58\xed\x04\x1d\x24\x79\x92\x62\x30\x49\x3a\x24\x00\x9b\x93\x77\x98\x49\x33\xa6\x28\x92\x26\x18\x60\x9b\xbd\x36\x6b\x6b\xd0\x4c\x30\x25\x6d\xb5\xdd\xa5\xf4\x0f\x1b\x5c\x4b\x4c\x1e\x77\xb0\xcd\xef\xe7\x01\xc8\x8e\xd3\x6c\x21\x52\xfa\x9e\xd9\x91\x28\x23\x1c\x4d\x75\x09\x4f\xb7\xc9\x69\xc2\x94\x99\x49\x3b\x1d\x93\x65\x13\x9d\x28\xe9\x92\x4a\x81\x3f\x2b\xe4\x5e\x3e\xcf\xeb\x8a\x87\xac\x44\x05\xe7\xc5\xd8\x4c\x81\x43\x78\xca\xc4\x10\x24\x61\xa1\x19\xc0\x4e\x95\x04\xd7\x7e\x2b\x67\x02\x92\x04\xd2\x47\x50\xf8\x3d\x4c\x9b\xb0\x03\xec\x76\x9a\xb4\x53\x34\x41\xdb\x08\x20\x0f\x3e\x67\x2b\x91\x44\x91\x13\xec\x2e\x92\xef\xf5\x39\x19\x97\xb9\x54\xe4\x40\x9f\xa2\xfc\xa1\x12\x80\x66\x3b\x69\x65\x6c\x9c\x55\x9a\x63\x75\xd6\xc6\x63\x66\x1b\x69\x71\x45\x22\x3d\x61\x81\x22\xec\x8e\x0a\xda\x63\x13\xad\x8e\x6e\x96\x33\xd3\x25\x26\x3a\xc4\x12\x74\x55\xba\x43\xe1\x9e\x4c\xf7\x46\xcc\x1e\xa7\x58\x9a\xa8\x75\xb9\x97\x64\xbb\x85\x4b\xd3\xab\x9f\x9d\xbf\xb9\xd2\x0d\xa5\xbe\x8a\x5b\xba\x17\xaf\x5f\xb3\xbc\xe9\xe5\x39\x75\x93\xca\x30\x8e\xc4\x03\x00\x26\xde\x56\x4a\xc5\xd9\x99\xea\xc4\x73\x3b\x26\x51\xe1\xba\x68\x89\x2b\x1e\x2a\xb1\x5a\x7b\x27\xd9\x82\xa9\x80\xcf\xea\x28\xfa\xc7\xeb\xb2\x18\x8b\x42\x48\x41\x09\x94\x44\xad\x68\x36\x3a\x19\xa1\xb8\x4c\x44\x19\x96\x64\x14\x31\x95\x24\x64\x85\x0c\xeb\xb3\xb4\x54\xa0\x03\x56\x64\x85\x05\x26\x44\xc9\x8c\x3e\xc8\x41\x84\xc9\x52\xfa\xfc\x2e\x4a\xad\x24\x2f\x2b\xfa\x5d\xc6\x68\xd2\x0a\xc9\x00\x29\x65\x8f\xf1\x20\xa8\x38\x19\x63\x67\xf6\xca\xad\x17\x46\x1d\x8f\xbe\x77\x7e\x8b\x3b\xa4\xfd\x4a\xbb\x1a\xe6\xf6\x27\xaf\xb8\x78\xb3\x1c\x27\x5d\x4b\x37\x6c\xb9\x78\x24\x04\x09\xe2\x8d\xdf\xfe\x72\x4e\xf9\xaa\x2b\x47\x3f\x01\x00\x3c\x7d\xdf\xe7\x7d\xd3\x77\xac\x9b\xb0\x69\x52\xb3\xe3\x00\xb1\x0b\xcc\x42\xd7\x94\x73\x27\x94\xf0\xd8\x4c\xc4\xa6\x4e\xec\x6e\xce\x54\x06\x2c\x9b\x8e\xd3\xc3\x62\xfa\x9d\xb4\x7b\xea\x9c\x9d\x53\xad\x57\xe3\x2b\xea\x5a\x17\x31\xec\x96\xbf\xcc\x9b\x77\xc3\x60\x37\x6b\x07\xea\xf7\xaf\xde\xd1\xf1\xe9\x35\x1f\x35\x07\x3f\x7a\x67\xca\xdb\xc4\x19\x00\x97\xef\xe6\xef\xf9\x9d\x77\x42\xb6\xd9\xad\x45\xfe\xf1\x00\xd8\x4a\xda\x1b\x7a\xfc\x99\x0a\xca\x43\x51\x24\x41\xd1\x0c\x85\x9f\x3b\x11\x1e\x63\xb1\xfd\x5a\xd1\xa0\xae\x7f\x24\x88\x1a\x48\x90\x99\x74\x2a\x19\x20\x0a\xb6\x57\x10\x35\xe8\x99\x0c\xd4\x1c\xa9\xc0\xd1\x9b\x20\xc6\xf6\x51\x5a\x71\x81\x78\x8b\x36\x98\x66\x0b\xe8\x73\xba\x54\x94\x4d\x25\x49\xd1\xe5\x16\x18\x91\xbc\x4a\x69\x9c\x3b\xb5\x6e\x59\xc0\x5f\xe1\x72\x5c\x56\xd9\x5d\x16\xab\xf2\xd6\x34\xac\xbe\x6f\xa8\x3b\xb7\xaa\x4b\xee\x9d\xdd\xbc\x6b\xbe\x18\xea\xef\x48\xcd\xa8\xab\x48\x96\x26\x53\xff\xbe\xbb\xe7\xbb\xab\x3a\x61\xe5\x5f\x6e\xd9\xbe\x6c\x6a\xcf\xa5\xda\xa1\x27\x56\x39\xfb\x8b\x11\xa0\xf4\x08\xbc\x9e\x3c\x29\x5b\xe5\xb1\x7a\x18\xc6\xe9\xf4\x72\x53\x3d\xe1\x88\xa7\xbd\x5a\x9d\x97\x08\xb6\xad\xea\x69\x59\xd0\x1c\x67\x63\x22\x2b\x94\x29\xa9\x50\x75\x75\xa8\xb9\x7a\xe1\x8e\xf8\xc4\xb3\x2f\xbb\xe5\x2f\xfd\xce\x55\x4f\x00\x75\x69\xcf\xd4\x65\xdb\x0b\x11\xed\x90\x1e\x31\xf4\xf3\xaa\xc3\x39\xf2\xff\x0c\x5f\x96\x36\xd4\x6d\x78\x5c\x8d\xed\x87\xa8\x06\x3e\x79\xd2\xa0\x29\x96\xc7\xed\x72\x66\x55\xda\x02\x0c\x4b\x1a\x06\xbe\xc0\x82\x72\x14\x3e\x95\xc8\x7a\x81\xf8\x47\x9c\xf2\xbb\xf3\xf5\x52\x90\x86\xa8\x14\x08\x7f\x24\x06\x08\x8f\x9d\x0c\xba\xb5\x3f\x96\xca\x72\x29\xcc\x77\x45\xde\x71\x4c\x6d\x25\x69\x5a\xf4\x25\xc3\xda\x27\x76\xb3\x49\x1b\x14\x7b\x6c\x6a\xdf\x00\xb1\x61\x71\xbb\x78\x33\xd9\x3a\x95\x9c\xf6\x94\x14\x89\x08\x87\x1e\x64\x68\x18\xf2\x3a\x4a\x1d\xdb\x5b\xdc\xb2\x5c\x5a\x51\x1a\xf7\x7d\xd8\xa3\x9d\xab\xfd\x92\x13\xdd\x55\xa2\x60\x31\x6b\xbe\x12\xc6\x2c\xf6\x51\xdb\xd5\xc5\x2b\x56\x8c\xbe\xc7\x41\x03\xec\x40\xc7\xad\x3b\x14\x34\x95\x2f\x59\x6a\x7e\x03\xc6\xe9\x88\x8b\xd5\x0c\x99\x19\xf6\x17\x77\x6c\x8f\xc4\x86\x65\xef\x41\x63\x4b\x86\xca\x79\xe5\x11\xd2\xd8\xef\x1d\x45\x06\x31\x39\x36\x76\x72\x8d\xfd\x5c\x82\x3d\x7a\x91\x7c\x84\x0b\x91\x42\xd4\x7e\x83\xff\xb1\xb0\x0b\xa5\x10\x51\x37\x2f\x1a\x76\x4c\xc7\x90\xb3\xa4\x55\x3e\x13\x25\x8a\x6c\x6d\x86\xef\xb7\x04\x47\x20\xdd\x28\x54\x5f\x96\x2a\xfd\x5b\xf5\x67\x66\xd9\x3b\xd2\x99\x18\x4e\x74\x8e\x78\x65\xf3\x67\xd5\x7f\x2b\x4d\x95\xd5\x3b\x01\xf5\x2c\x85\xdc\xd2\x1e\x40\x4e\x6d\x68\xc7\x4f\x77\xec\xf8\x29\xec\x2f\xab\xaf\x84\x59\xe7\x6b\xa7\x39\x5c\x5e\x59\xfb\x38\xd1\xd9\x99\x00\xa7\xec\x75\x39\xe0\x86\xf3\xb5\x7b\x2b\xeb\xcb\x4a\x3d\x90\x5b\xb9\x52\xcb\x79\x88\x21\xfd\x86\x1d\x85\xb2\x92\x7a\x59\xe3\x86\x25\x6e\x51\xd8\x8d\x7e\xc5\xb9\xd0\x66\x47\xf0\xd9\x50\x7d\x7f\x7d\x7b\xe7\xc2\x4e\xe3\xaf\xbe\xbf\x7e\x75\x3f\xce\xf5\xaf\xd6\xf6\x1b\xa5\x21\xda\xb5\x02\x4f\xde\xd0\xe8\x6a\xa3\x24\x2f\x6b\xb5\xfa\x99\xb8\x4c\x33\x30\xfe\x60\xb8\x7f\xf5\x6a\x78\xe1\x68\x39\x0a\xef\xd1\x8d\xc2\x08\xc5\xa1\x15\x64\x45\x1e\x63\xb5\xc3\x0c\x0b\xa2\x14\x1b\xbf\xc0\x43\xc1\xa0\x93\x2b\xad\x29\x9b\xdd\xe2\x89\x35\x37\xc5\x3c\x2d\xb3\xcb\x13\xa5\x9c\x93\x9c\x7b\xdc\x00\xf3\x1e\xbc\x2e\xf6\x0e\x05\xbd\x10\xf1\x97\x95\xf9\x23\xe0\x0d\x0e\xf5\x8a\x3b\x4f\x30\x46\x54\x1d\x46\xf4\xef\xa8\xc3\xc8\x81\x7a\x10\x42\x05\xc2\x36\x21\x80\x93\xad\x10\xa7\x19\x03\x1c\x4a\x89\x1b\x3e\xd6\x94\x61\x16\x1c\x97\x15\xb9\x0d\x74\x39\x53\x8d\x1b\x36\xc2\x94\x6a\x90\xcd\x1b\x18\x3e\x94\x61\x88\x2b\x89\xd4\xc8\x82\x1b\x5e\x7d\xef\xd5\x1b\x16\x14\x4e\xb0\x8a\x74\x6a\x6f\xd8\x1d\xac\xf6\xc6\x5e\x4b\xc8\xb2\x57\x7b\x83\x75\xd8\xb5\x37\x9c\x24\x65\xde\xbb\xd7\x4c\x91\x4e\x88\xd9\x1d\x2c\xc4\xf6\x9a\x23\xe6\xbd\x10\x63\x1d\x76\x88\x15\x33\xb1\xf5\xe8\x63\x16\x2c\xb8\x21\xe3\xa0\x86\xb4\x17\x9d\x16\x0b\x3d\xf8\xb9\xdd\xfe\xf9\x20\x6d\xb1\x38\x21\x39\x44\x39\x38\xdb\xe7\x9f\xdb\x9d\x0e\x6a\x08\x92\x85\x5c\x9b\xad\x90\xab\xbd\x38\x44\x39\x9c\xf6\xcf\x3f\xb7\x15\x75\xbf\x27\xa9\xf3\x90\x0b\xd5\x21\x14\xd7\xc7\x35\x7d\x58\xa3\x8d\x11\x30\x95\x8c\xc5\x69\xb2\x38\xd4\xb9\xb2\x31\x43\x52\x66\xc1\x6d\x90\x6a\x1b\x92\x38\xf9\x61\xb6\xfe\x61\xed\xf9\xbd\xcb\x7e\x75\x78\xc9\xbd\x1f\x6c\xbf\x0c\x08\x90\x07\xb5\x0b\xf6\xdf\xa8\x1d\x78\x71\xd3\xba\x67\xc0\x75\x5d\x15\xe7\x0a\xcf\x5e\xb0\xeb\xe0\x95\xe7\x9c\x59\x1e\x64\x99\x77\xcd\x7b\x21\xfb\xf0\xc8\x1d\xcd\xda\x8f\x5e\xdb\xfe\xc1\xbd\x4b\x36\x3f\xfd\x7f\xff\xda\xf4\x22\xf8\x6f\xbc\x0e\xa4\x5f\x9f\x4b\xe3\xf2\xf2\xe0\xb4\x97\xd6\x5d\x79\x70\x57\xca\x15\x64\xcb\x0a\xd8\x66\xf4\x48\x71\x4f\xbb\xb2\x68\xc1\x68\x6c\xe7\x87\xbf\x64\xc7\xff\x25\xdf\x96\xf6\x71\x68\x1a\x78\xc9\xf8\x2f\xb8\x5d\xf6\x1e\x34\x72\x68\xe4\x95\xf1\x9d\x05\xf8\x3f\x34\x6a\x20\x7d\x18\xbb\xb0\x70\xe7\x51\x1c\x0e\x03\xc7\x23\x74\x78\x98\x1e\xa2\x46\x50\x27\x9a\x6c\x78\xe2\x55\x82\xc0\x48\xa2\x60\x74\x03\x96\x8c\x72\x51\x2e\x92\xc0\x35\x63\xd4\x8b\x6d\x50\x24\x7d\x68\x02\x4e\xd1\xbf\x8f\xa0\x81\x10\x54\x04\x08\x82\x70\x3a\x1b\x12\xe9\x21\xd9\xbb\xbf\xeb\x65\x9e\x77\x65\x5d\xcf\x52\x42\x7b\xe7\xc9\xb5\xb9\xd4\x69\x3d\x4d\xac\xe3\x11\xc1\xef\xe1\x79\x82\x7b\xbe\xb1\x00\xf7\xb1\x87\x97\xd3\xfc\x1e\xa2\x6f\x0f\x9f\x96\xf9\x3d\xfb\xbd\xda\xc4\x7c\xee\x31\xb0\x3c\x86\xe7\xa7\xe5\x7b\xd7\xff\x86\x4f\xf3\x3c\xff\x0c\xe5\x2c\x0f\x79\x89\xdc\x68\xce\xa7\x28\x76\xf6\x25\xb7\xd3\x95\x11\xfe\xb6\x76\x58\xaf\x98\x5c\xb8\xb1\xf0\x18\xed\x8f\x18\x5d\xf0\xd8\x63\x08\xc1\xe1\xc3\x08\x98\x73\xc9\x49\xe8\x02\xc3\x66\x90\x66\x58\x1c\xc0\x06\x90\x46\x00\xb3\x10\xa5\x68\xb9\x06\x12\x04\xc3\x92\x92\x60\x50\x60\x44\x69\xbd\x86\x09\x02\x2b\x06\xda\x56\x2a\x1e\x00\x7d\x8e\xd4\x8f\x01\x22\xa9\xb6\x92\x06\x76\x84\xa1\x70\xe9\x3d\x45\x0a\x10\x82\x81\x07\x63\xac\x8a\xb7\x62\x35\x5b\xd8\xff\xc0\x52\x3c\x2b\x4a\xcc\xb9\xd2\x1e\x4f\x79\x59\x20\xc8\xf0\x89\x08\x09\x97\x24\x09\x86\x31\x55\xc8\x87\x91\xa7\x5d\x10\x02\xfd\x0d\x1d\x1e\xc2\xe2\xe1\x1d\xc0\x90\xa4\x2b\xba\x6e\xd2\xd5\x6b\x16\x79\x4a\x2c\xd1\xd3\x97\x5d\xd2\x4c\x13\xa4\xa3\x02\x5c\x36\x91\xa2\x9c\x26\x21\xed\x70\x96\x66\x2b\xcb\xfc\x76\x4c\xbb\xcc\x16\x0a\xb3\x0c\x5d\xd2\x6c\x77\x39\xc5\xcc\x4f\x07\x32\x82\x8f\x65\x30\x81\x81\xe6\x58\x93\x2b\x52\xd1\x1a\x6f\xae\x21\x6d\x14\x89\x69\xc1\x02\x21\x25\x49\x13\x9f\xb7\xbf\x13\xca\xa4\x2a\x1a\x7c\x15\x55\x41\x8c\x77\xcc\xa7\x1c\x72\xa0\x84\xa4\x04\x9b\xcd\x3d\x7b\x42\x8d\x09\x28\x4f\x74\x42\xa5\xa3\x84\xa6\x78\x82\x2c\xef\xe8\xf2\x78\x2c\x65\x3b\x87\x81\xbe\xc4\x29\x52\x34\x8f\xb1\x99\x24\xac\xee\xe4\x4a\x7f\x69\xf3\xdc\x3a\x3f\x05\xa6\x58\xe3\xb2\x9e\xb2\x4e\xbb\x2d\x62\xc6\x22\x6f\xf5\x62\xb0\x51\x5c\x30\xdc\x98\x9e\x27\x5b\x5b\x23\x35\x41\x33\x26\xbd\x95\x0b\x5a\x97\x6d\xb4\x38\x08\x02\x08\x02\x30\xe5\x30\x1b\x5c\xc1\xf7\xd0\x9f\x51\x53\x90\xc5\x18\xf1\x6a\xd0\x2c\xb4\x1c\x9d\x87\x50\xfc\x88\x4e\xac\xcf\xc6\x46\x50\x12\xb3\xd2\x18\xde\xa7\x14\x80\x78\x02\x62\x0c\x4d\xea\x1f\xa2\x9a\x8d\xc5\x05\x56\x1f\x15\x13\x90\x49\xbb\xd4\x6c\x4c\x57\x07\x03\x90\x35\x70\xd1\xf4\xcf\xd6\x50\x2d\x71\x00\x8a\x80\xa1\x59\x99\xa1\x0b\x2a\x65\xdc\x48\x33\x92\x94\x04\xe8\x2a\xbb\xae\xa2\xe3\xdb\xdd\x42\x34\x32\xcd\x2d\xba\xba\x67\x9c\x65\x32\xdb\xd9\x52\x86\x0b\xb0\x81\x87\xaa\xff\xba\x6a\xe5\x8c\x9a\x9a\xdf\xac\x58\xb5\x18\xac\xe6\x61\xed\xf0\xae\xb7\xb4\x3f\xb1\xe6\x61\x80\x5d\x6f\x41\x1c\xe4\xde\xcb\x7e\xae\xe5\xb5\x77\xb4\x7f\xbf\xba\xfd\xfb\xb9\xbb\x61\x5e\x6f\x47\x35\x49\xb3\x0e\x9a\xfe\xfe\xef\x13\xd5\xd5\x98\x62\x2d\xb6\x86\x85\xdd\x67\xcd\x2c\xe1\x4d\x95\x92\x24\x32\xc2\xdc\x36\x4f\x05\x49\x79\x3d\xcd\x30\x6b\x4e\x4a\x31\x27\xb3\x5e\x93\x3f\xd6\xda\x7a\xdf\x1c\x7f\xad\x2d\xe8\xdf\xfc\xe9\x68\x64\xa2\x83\xf5\x86\x23\x13\x42\xbe\x1b\xec\x3e\x8a\xb2\xda\x83\x2c\x65\x1d\x5c\x32\x14\x8b\xec\x5b\xbc\x68\xa1\xaf\xf4\xa1\xe6\xa1\x2b\x27\xb2\xd2\x07\xbb\x0a\xa7\x9d\xdd\x97\xee\x58\xd6\xda\xb5\xfe\x91\xd3\xd7\x01\x99\xbb\xfb\xbb\xbd\xed\x97\xb3\x36\x4c\x60\xdc\xd4\xd2\xb6\xce\xce\x5a\x49\xd2\xd5\xb8\x1c\x2f\x1e\xdc\x5c\x2f\x89\x8c\xa9\x52\x6a\x1b\xb2\x53\x5e\x8f\xa7\x9c\xb2\x4f\x1f\xca\xaf\xf3\x79\x5d\x49\xdf\xc0\xde\xee\x09\x19\x17\x1d\xac\xaf\xa1\xbd\x53\xc6\xcb\x16\x6b\x91\x19\xf1\xa8\x14\x21\x83\xdf\xb6\x15\xd4\x00\x00\x27\x60\x46\xe6\xd2\xae\x18\x38\x19\x19\x67\x38\x91\x74\x91\x67\xdc\xfb\xcc\x2f\xee\xbd\xf8\xe9\x48\xf4\x69\xed\x86\xfc\xaf\x1f\xba\x0b\x62\x64\xe6\xa1\x5f\xe7\x1f\x84\xd8\x5d\x91\xc1\xc1\x39\x9f\x5f\x76\xd9\xe7\x54\x8b\xe6\x1b\xd5\xbe\x73\xca\x6b\xe0\x79\x0c\x26\xfc\x3e\x5f\xa1\xfd\xe3\xb5\x53\xe0\x96\x51\x78\x3b\xf0\x7b\xed\xb1\x22\xd6\x33\xa2\x36\xd1\x08\xad\x44\x08\x58\x42\x17\x55\x69\xc4\x18\x28\x1f\xd9\x98\xca\xe2\x04\xa1\xb4\x42\x00\x4b\x59\x3d\x4c\xe9\x61\x2a\x08\xd9\x4c\x82\xca\xaa\x01\x92\xc5\x0e\x10\x05\xa6\x95\x12\x25\x56\xff\x90\x69\x3d\x48\x6d\x0a\xcd\x1d\x5c\x76\xca\xe0\xf4\x66\x27\xb7\x46\xbb\xe5\x65\xde\xeb\xe5\xf7\x40\xe5\x92\xd8\xe4\xc1\xb9\x27\xcf\x3e\x29\xbc\xf6\xb9\xef\xad\x6d\x2b\xc9\x78\x19\x71\x52\xf7\xe2\x81\xd9\xed\xd5\xf4\xc4\xf3\x4e\x9e\xdd\x92\x0a\x8b\x14\x69\x33\xf9\x26\xd5\xa7\x59\x39\xd5\x73\x46\x73\x8c\xa2\x05\x97\x89\x01\x20\xd8\x9a\xec\xdc\xc5\xdb\xba\xb1\xd2\x32\x6d\xd6\xcc\xbe\x26\x8e\x93\x92\xb4\x67\x4a\xff\xfa\xb3\x76\xc2\x4f\xfa\xcf\x6a\x09\x11\x6c\xa0\xc4\x62\x39\xa0\x7d\x01\x5e\xb9\x04\x5e\x7d\x9c\x75\x99\xec\x55\xbd\x5b\x4f\xaa\x11\xa2\xd3\xfa\xaa\x76\x0c\x03\x81\x09\xae\xb4\xbe\x77\xdd\x44\x3f\xc7\x97\x37\xb5\xb5\xd5\x39\x9c\x9b\x7a\x68\x61\x42\xef\xea\x35\x97\x74\x97\xf4\xf4\xcf\x9f\x7b\xd2\xc4\xac\xc3\x41\x2e\xf4\x32\x52\x5b\xa6\x31\x88\xa5\x69\xe7\x0d\xb4\x04\x5c\x40\x10\xc4\x15\x17\x32\x52\x53\x42\xc6\x75\x88\x44\xee\xc3\x88\xfc\x27\x85\x0c\x4b\x72\xc1\xf0\xaf\x32\x24\x2c\x28\xd8\xec\x83\x3b\xcc\xe9\x7f\x71\xf7\x18\x23\x13\xf9\xcf\x75\x33\x1a\xb4\xd1\xfc\x47\x33\xd6\x91\xbf\x3f\x54\x31\xf6\xb7\x6e\x06\x31\x6d\xc6\x3a\xf0\x75\xce\x5a\xaf\xfd\x0b\xec\xeb\x67\x75\xc2\xc4\xc3\xe8\x30\x4c\x3e\x8c\x0e\xff\xa0\xab\x6b\xe6\xfa\xf5\xe3\xe4\xcc\x12\x14\xd7\x67\x4d\xf4\x95\x34\xa6\xe2\x57\x38\x77\x91\xb9\x22\x91\xe9\x18\xc9\x66\x81\xc8\xf4\xee\xaf\x73\xf4\xc2\x3b\x4f\xc0\x67\x7a\xef\xd7\x39\x7c\x1d\x23\x13\x17\xcb\x7a\x2c\x1b\xeb\x78\x32\x56\xd7\x57\x96\x95\xb7\x6b\xc3\x7a\x01\x8f\x52\xb1\xc2\x90\x9d\x1f\xfe\xda\xc2\xee\x2f\x16\x11\xda\xcc\xfe\x31\x46\x56\xed\xf0\xd7\x96\xf6\x4b\xf2\x7b\x61\xcd\xf4\x68\x31\x8f\x97\xdf\xbf\xb4\xdb\x80\x64\xaf\xc0\x15\xdc\xce\x38\xc1\x2b\x03\xfa\x1a\x07\xb5\x91\x7c\xce\x2b\xdb\x8a\x6e\x63\x36\x79\xf4\xd9\x6f\xe1\x0f\xc6\x20\x1e\x05\x8f\xfa\xe1\xbb\xbe\x82\x31\xa0\xb8\x9f\x5b\xf1\x75\xbc\x01\x45\xef\x7a\x08\x7d\x2d\x7d\x40\xd1\xc6\x7d\x11\xb5\x1f\xb9\x51\x16\x21\x90\x0c\x71\x4c\x97\xc6\x54\x49\x9f\x5b\x51\x4a\x17\x4a\x25\x63\x34\x22\x0a\x40\x62\xaa\x41\x2e\xea\x16\x68\x85\x0f\xbb\xc3\x52\x38\x29\xf1\xc4\xe1\x25\x8d\xda\xcb\x8f\xdd\xa8\x7d\x76\xc3\x6f\xee\xe1\x36\xed\x02\x66\xdf\xd6\x57\xcf\xc6\xbe\xc6\xc3\xc8\xee\x2c\xe3\x3e\xd2\xca\x3c\x71\x62\x08\x9b\xd8\xd9\xd9\xce\xc1\x65\xdd\x71\xb8\x4b\x5b\xee\x84\x5f\x96\x71\x07\x60\xd1\xaf\x1f\xfc\xf3\x0d\x60\xbe\xf1\x21\xa8\x68\xdd\x91\x7d\xeb\x82\x7d\xda\x17\xdb\xdf\xf4\xae\xcd\x31\x51\x78\x33\xec\x21\xac\x5c\x49\xaa\x6d\xb0\x73\xc2\x77\x18\xed\xad\x5c\x2e\xaa\x35\x9c\x80\xd7\x27\xab\xc8\x44\x36\x95\x64\x58\x30\xcc\x29\xe5\xc2\x92\xae\x54\xf0\xcd\x92\xc4\x54\x92\x77\x7d\xc9\x3a\xd1\x66\xb9\xf7\xef\x33\xaa\xe4\x59\x56\xf2\x07\xd1\x4a\xc5\x1e\x0a\x6c\x6f\x5a\xee\x3b\xdd\x97\xee\xb3\x36\x24\x1d\xcd\x8e\xee\xa1\x9b\xfe\xfa\xc6\xc1\x63\xde\xe7\xf6\x3f\xd0\x26\xed\x5f\xfc\x50\xc3\x1b\x77\x67\x7f\xf5\x84\x8d\x59\xe4\x19\xf2\x74\xa5\x1f\x54\xff\xa4\x3e\x08\x32\xf8\xe0\xbc\x63\x76\xd0\xe0\x08\x0f\x86\xae\xff\x0a\x98\x2c\xa8\x61\x47\x0c\x8c\xda\x20\x33\x3e\x3c\xe6\x86\x15\xcf\x8a\xa5\x20\x30\x94\x7b\x2c\xc0\x65\x51\x31\x93\xcc\x3d\xa1\x3d\xfe\xb3\x61\xd6\xf5\x1a\x41\x5b\xcc\x76\xe9\xdd\xb1\xb3\x8b\x1d\x66\x5d\xb0\xde\xe1\x95\xb4\xf5\xc5\xd3\xe3\x40\x1a\xa9\x78\xe4\x67\xda\xe3\x4f\xb8\x58\x7c\x4a\x27\xd0\x16\x67\x4e\x32\x4d\x5a\x74\x24\x74\x50\xd7\x2a\x1f\x3a\x8b\x12\xf4\xd8\xc6\x45\x63\x01\xad\xc4\x0e\xc2\x93\xac\xcb\x35\xce\xf7\x3b\x5a\x44\x9f\x76\x17\xdd\x8c\x0a\x95\x39\x32\x18\x1d\xd9\x15\xfb\x96\xfe\xe0\x5a\x81\xd5\x52\x1b\x36\x94\xdf\xa1\x82\x0f\xca\xd0\x37\x7a\x87\x7f\xe9\x7a\xe3\x49\x5f\xe7\x2d\x5e\xf4\x8b\x35\xe5\x28\x84\x14\x83\xf1\xaf\xbf\xb0\xfb\x96\x29\x28\xc1\x09\x28\xd0\x1a\x67\x9b\x20\x93\x4a\x4a\x61\x43\x82\x31\x4c\x51\x81\x51\x45\x81\x91\xb2\x69\x05\xc2\x34\x13\xa1\x1d\x00\x2c\x54\x02\x91\x4a\x12\x51\x3e\x95\x14\x25\x08\x90\x29\x2a\x2c\xe3\xd3\xcf\xbc\x39\xd7\x6e\xe7\x99\xc6\xa9\x53\x1b\x19\xde\xde\x9e\xbb\xf9\x4c\x72\x5e\xc5\x36\xe7\xbc\x4d\xd5\xd5\x9b\xe6\x39\xb7\x55\xd0\x99\xcc\x8c\xee\xee\x43\xb3\x88\xcf\x5e\xff\xa8\x61\xb5\xcf\xaf\xed\xf7\xce\xab\x1e\x5a\x54\x7a\xd3\x4d\xa5\x8b\x86\x12\x73\xbd\x10\x22\xd9\x9a\x64\x4f\x0c\x9e\x1b\x35\x9f\x05\xc3\xed\xed\x35\x61\x4f\x09\xe6\x3c\x1c\x2e\xf1\x84\x6b\xda\xdb\x19\x91\x70\xa4\xaa\x62\x55\x29\x07\x21\x32\xa3\xb1\xd5\xb1\x40\xed\x95\xb5\xda\xef\xe5\x8a\x5a\x8f\x47\xdb\xef\x95\xe1\x65\xd8\x0f\x2f\xcb\x5e\x6d\x3f\x69\x0f\x97\xb8\xfb\xdb\x8b\xdf\x47\x8e\x46\x68\xc0\xb0\x4f\xd6\x3f\x56\x5d\x43\x2c\xec\x22\xd5\x00\x75\x34\x38\x46\xd0\xd0\x06\xc4\xd1\xa0\x52\x34\x63\x0d\x42\xfc\x68\xb0\x08\x6f\x47\x3b\x80\x57\xb3\x10\x27\x28\xea\xa3\xd6\x93\x16\xdd\x57\xcf\xcc\x6c\xaa\x99\xea\x50\xb5\xe7\x55\xd3\xcc\xe6\x9a\x3e\x87\x7a\x5d\xa9\xbb\x65\x86\x5a\x75\xe3\xf2\x1b\xbd\x62\xf3\x80\x5a\x75\x53\xa6\x90\x91\x85\x6c\xd6\x34\x4b\xbf\x38\x73\x9b\x5b\x6c\x9e\xd5\x5c\x75\xd3\xf2\xdd\x9e\xd1\x51\xc8\x2e\xd7\x9e\xc7\x9f\xcf\x68\xf9\x4e\xb8\xe9\x2e\xb7\xb7\x69\x76\xb6\xfa\x8e\x15\xbb\x3d\x92\x1e\xb8\x3d\x63\xee\x6f\xa9\xe9\x73\x64\xa0\x21\x6b\x9a\xa1\x3f\x25\x73\x8b\x47\x6a\x9e\x95\xad\x1e\x5e\x3e\xac\x5f\xa2\x56\xdd\xaa\xd2\xd3\x9b\xaa\x7b\x1c\x59\xed\x17\xf5\x26\xed\xe0\x72\x68\x5a\x79\xfc\x5a\x4d\xb9\x61\x49\x75\x9c\x8d\x08\x70\x45\x22\xfb\x06\x28\x52\xd9\x2b\xc5\x1e\x3b\xd6\x81\x8b\x78\x19\x74\xb2\x95\x52\xe3\xad\x30\xde\x88\x84\xd8\x1f\x0c\x47\x9e\xc9\x9c\xdc\xd9\x79\x72\xcd\x93\x35\xb6\x0a\x4b\x7d\x19\xd1\x5e\x56\xaf\x96\x8f\x8e\x94\xd5\xb7\xc4\x6b\x1e\x52\x08\x3f\xeb\xe7\x3d\x6e\xc1\xed\xe1\xfd\xac\x9f\x00\x6b\xb4\xed\x58\x5b\x93\x43\xfb\x61\x6f\x54\x10\xb7\xc6\x26\x4c\x08\x6d\x0c\x99\x64\x93\xd6\x57\x56\x5f\x8f\x4f\x2b\x6f\xac\x2f\x8b\x4f\x2f\x09\xad\xf5\x62\xde\xcc\x99\x2d\x14\x65\x31\x73\x66\x1e\xff\x48\x9a\x8e\xc6\xf6\x12\x0d\xdf\x03\x0a\xb5\xa1\x49\x68\x06\xfa\x0e\x5a\x83\x10\x9f\x56\x41\xc6\x06\x42\x26\x61\x6c\xfd\xc8\x8e\xc2\x9a\x86\xae\x3b\xf1\x47\x92\x22\x72\x34\x1b\x4b\x25\x49\xa9\xe0\xe2\x49\x4b\x22\xc5\x8b\x92\x31\x07\x8a\x6e\x01\x33\x7c\x36\x93\x46\x21\x52\x74\x39\x31\x4d\x86\x62\x32\x76\xba\xb2\x28\x14\xcb\xba\x9c\x58\x8e\x85\x48\x1a\x3b\x5d\xe2\x79\x5d\xb0\xea\x17\x1f\x52\x26\xca\x61\xf2\x91\x7d\xda\x7b\x89\x0a\x9e\xe5\xf9\x17\xa6\x9c\x67\xe3\x68\xc2\x61\xeb\xdf\xf0\x43\xed\x1f\xc5\x34\x26\x64\x59\x0e\x27\x3d\x7b\x05\x58\x97\x5b\xd4\x5e\x92\xb4\xd1\x2e\x46\x24\xda\x34\xfa\x03\x20\xb7\x6e\x5b\xbd\x9c\xd8\xbc\xf8\xe5\x1f\xff\xb3\x69\xf4\x36\x38\x1d\xfa\x3e\xde\xb9\xf3\x63\x6d\xaf\x76\xa5\xb6\x57\x0f\xc1\x2c\x98\x0f\x2d\x6f\x5f\x78\xe1\xdb\xda\xd3\xda\x9d\xda\xd3\x7a\x08\xe7\x6e\xbf\x7a\x94\x5f\x0c\x67\x81\x89\x57\x9a\xfd\xf3\xed\x87\x11\xd1\x48\x50\x38\x5c\x0a\x16\x30\x83\xcd\xc5\xb3\x60\xd2\x1e\xd5\x4c\x44\xfb\x58\xea\xf0\x63\x2b\x86\x66\xa8\x36\x0f\xef\x73\x04\x6c\x31\x6a\xe5\x2b\xf9\x8d\x34\x55\x15\x22\x07\x7e\xf4\xf4\x6f\xb4\x5b\x96\xe0\x3b\xef\x5e\x59\x81\xd3\xc7\xfc\x70\x9f\x51\x98\x2f\x1e\xb9\xf0\x6d\x68\x39\xae\x0c\x47\xb8\xa0\xf4\xf6\x77\x21\x9f\x2e\x41\x50\x72\x4c\xff\x46\x62\xaa\x9b\x26\xdd\x02\x29\x71\xc0\xc7\x55\x59\xc9\x90\x12\xd9\xaa\x7d\x7c\x40\xfb\xc1\xef\x7f\x05\x8b\x5e\x7f\x5d\x7b\x17\x32\xef\x11\x7b\xe2\xf9\x7f\x5d\xb1\xfe\x56\x70\xff\x9a\x46\x07\x51\x4e\xd8\x9d\xdf\xf5\x83\xcf\x76\x7b\xef\x93\xf7\x5f\x7a\xed\x3b\x01\xaa\x5f\x6b\xd3\x36\xad\x3d\x69\x62\xe9\x7d\xe1\x2d\x63\x36\xe6\x06\xef\x94\x0d\xc9\xa8\x16\x21\x33\xb8\xa3\xc5\x2e\x1c\xcd\x40\x98\x4b\x71\xe3\xfe\x8e\x62\xc7\x51\x63\xc1\x14\x31\x42\x8c\xe4\xca\xfd\x07\x2d\xfe\xf2\x1c\x20\x40\xb9\xb1\x7f\x4d\xfe\xf2\x2f\x72\xe5\xfe\x26\xba\xc9\x5f\xfe\x79\xae\xdc\x4f\x23\x2d\x57\x40\x00\x39\x8c\xf2\x88\x18\xf7\x57\x80\x27\x1d\x91\xbd\x7a\x7e\xb1\xfe\xe6\x82\xef\xba\x2e\x2f\xf0\xa2\xd1\x51\x54\x9e\x12\x93\x6a\x91\x6f\x2b\xce\x02\x23\xba\x05\x86\x2f\xda\x78\xca\x2a\xaf\x0f\xb6\x59\x35\x3e\xc6\xeb\x45\x7f\xe8\x22\xef\xd3\x7e\xaf\xed\xd6\x7e\x7f\x1f\xe9\xc2\xad\x62\x5a\x24\xfb\xc5\x43\xc3\xa4\x8d\xcc\x9f\x55\x59\x4f\xb7\x35\x36\x62\x8b\xd9\x31\xe2\x30\x5b\x70\x63\x63\x87\x75\x8e\xf6\xa0\x28\x92\x43\xa4\x8d\x24\x87\xf0\xe3\xda\x2f\x26\x9c\x33\x61\xc2\x39\x13\xa0\xf9\x21\x86\xc1\xce\x84\x49\x1b\x06\x78\x31\x72\xc3\x69\xb1\x9e\x09\xb2\x36\x9d\xb5\x5a\xad\x56\x16\x7e\x22\x4f\xe8\x91\x5f\xda\xbc\xcc\x94\x30\xc1\x10\x80\x36\x8c\x00\x9d\x71\x38\x47\x5d\x51\xb0\x69\x01\x5e\x8e\x46\x18\x5e\x46\x58\x11\x53\x49\x35\x00\x2e\xa9\x95\x50\xf5\x60\x1d\x4b\x30\x34\xb1\xc0\xde\x5a\x59\xde\x6e\x2f\xd3\x0e\xdf\xbf\xa8\x31\x59\xd5\xd5\x76\xc9\xcf\x2b\xe2\x97\xcf\xdf\x50\x93\xcd\xd4\x37\xfa\xdb\xa3\xd3\x2c\xbb\x70\x57\xbe\xc5\x6a\xc5\x4f\x4f\x80\x67\xa0\xec\xfb\x0e\xc7\xaa\x0f\xb4\x5f\x4c\x68\x79\xf7\x8a\x17\xe6\xb0\xac\x72\x4a\xe3\x77\xb9\xcf\x8b\x9c\x38\xd4\x5f\x8c\x39\x14\x41\x58\xff\xca\x0a\xeb\x5d\x4e\x57\x36\x96\x0a\x49\x8c\x1c\x8d\x18\x42\x5e\x2a\xd9\x4a\xa8\x61\x02\xe1\x57\x6d\x0f\x6b\x3f\xfe\xe3\x4d\xda\x81\x17\x37\x6e\x7c\x11\xfc\x37\x41\xd5\x6b\xbf\xd9\xfc\xc8\xb6\x3f\xe5\x72\x7f\xda\x36\x67\xd7\xe0\xc4\x30\xad\xf5\xe1\x0f\xbb\x5a\x5e\xd7\xee\x1d\xd1\x2f\x80\x46\xf0\xbf\xb8\xf1\x57\xbf\x5a\xbf\xfd\x2d\xed\xf3\xb7\xb6\xd7\x4e\x5e\x38\x10\x2f\xd8\x95\x15\xc6\x09\x27\x2a\x41\x11\x34\xcd\xd8\x8d\x10\x19\x3a\xa4\xc8\x86\x11\x7d\x2a\xa9\x66\x93\xb1\x22\x60\x73\x92\x2a\x4a\x9c\xa2\x9a\x96\x23\x8c\xac\xf0\x92\x20\x26\xb3\x06\xb6\xa9\x22\x33\x04\xcd\x14\x1d\x3d\x24\xda\x2d\x90\xa9\x64\x2c\x93\x56\x5a\x21\x36\x6e\x94\x88\x85\x48\x91\x9c\xe4\x74\xb6\x6a\x1f\xb6\x3a\x9d\xb4\x8b\xae\xdd\xb8\xa1\x8e\x76\x69\xaf\xa4\x7b\x33\x99\x5e\xf8\x59\xa6\x37\x9d\xee\xcd\x1c\x9a\x78\x6a\x6c\xfb\x43\x6d\xcf\xe9\x89\xf1\xac\xf7\x4d\x9e\x9e\xb0\x77\x5b\x34\x9d\x9c\x18\x0f\xd2\xe0\x79\xe6\x59\xf0\x30\x81\x18\x2c\x39\xc1\xf7\x08\x6b\x9c\x8e\xd6\x56\x87\x93\xa6\xeb\xea\xe8\xdf\xf5\xa6\xd3\x71\x39\x3d\x3f\xae\x3f\x33\x3d\x50\x37\x31\x36\x9f\x06\x5f\x75\x3c\x9d\xe9\xcd\x24\xeb\x28\xb7\xf6\x1c\x33\x3f\x3e\xb1\x2e\xda\xe8\xf0\x95\xee\x7c\xfe\xf9\x9d\xa1\x12\x47\xc3\x63\xc7\x3d\x70\xe7\xce\x8f\x8f\xc5\xc1\x72\x18\x6c\x4e\xfa\x78\x6a\xb4\x53\xa4\xd8\x4e\x7a\x33\xc5\xc7\x9a\x49\xa4\x8e\x84\x54\xa3\x71\x64\x45\x95\xf4\x77\xf7\x15\x4d\x55\xf0\xb6\x57\xbe\x6c\xb7\x44\xdc\x6b\xb7\x67\xde\xcf\xd8\xed\x94\x93\xaa\x78\xb1\x82\x72\x6a\x5a\xa2\x35\x51\xdd\x5e\x0d\x03\x85\xf3\x6b\xcd\x95\x15\xc1\x35\xd7\x67\xef\x85\xea\x60\xa8\xba\x3a\x54\xeb\x7e\x82\x23\x9b\xaf\x5f\x15\xa8\xaa\x6c\x0e\x79\xa9\x8f\xef\xbe\xe7\x63\xba\x24\x08\xa9\x63\xf0\x27\xae\xb1\xdb\x33\x19\xbb\x9d\xa6\x2b\x2a\xe8\xab\x83\x89\x84\x71\x67\xf1\x3c\xa9\xa2\x39\x38\x8d\xfc\x97\x12\xaa\xaa\x6e\xaf\xae\xac\xa0\x5c\xda\xbf\xe9\xa9\xa1\xe6\x8a\x40\xd2\x5e\x22\x6d\xda\xb3\x67\x53\x89\xc7\x5e\x07\x07\x4e\xac\x97\x04\x50\xad\x81\xc8\xac\x16\xc1\xc7\x8e\x98\xa5\x18\x15\x2c\x98\x9c\x94\x02\x95\x29\x1a\xaa\xb4\x00\xa3\xb8\xf5\x0e\x74\x8c\x99\xe4\xc9\xf3\xcf\x1a\x3e\xcb\x2f\xfb\xae\x59\x37\x30\x63\x9d\x4f\xe0\x7d\x70\xd1\xd5\xfa\x69\x7e\xf3\x59\xb7\xad\x83\x19\xc7\xeb\x2f\xfb\x7c\xad\xd3\x57\xaf\x9a\xae\xbd\x2d\xf8\x7c\xc2\x86\x4d\x03\x6b\xd7\xf4\x83\x87\xf7\xfb\xf9\xec\x5b\x9b\xb6\x0a\x3e\x3f\xbf\xd9\xeb\xdf\xdc\xbf\x76\x2d\xec\x39\x5e\xab\xd1\xc7\xa8\xdb\x99\x1c\xb5\xc8\x28\xb7\x81\x8b\x54\x28\x74\xc1\xc5\xfe\x08\x79\xbd\x51\x68\x86\x0a\x8f\xe5\x48\x6a\x21\x8b\x94\x9b\x67\x36\x8f\xfe\xe4\x81\x43\x30\xb9\x79\x66\x73\xfe\xc7\xf7\x8f\x3e\x0d\x97\xc2\xe4\x43\x0f\xfc\x64\x74\xc7\xd3\xcd\x33\x9b\x89\xfa\x73\x2a\x9a\x9b\x2b\xf2\x37\xfe\xf8\xf3\x43\x0f\x80\x45\x3b\x58\xd9\xd4\x54\x89\x4f\xbf\xf7\xd3\x7f\xdf\x77\x61\xe3\xad\xda\x7f\x1f\x38\xf4\xc5\xfd\x60\x6b\x69\xd4\x3e\xad\x68\x6a\xaa\x18\xaf\xaf\xd8\x51\x29\x42\x71\x2e\xcc\x85\x0b\xf4\xa8\x27\x90\x8f\xa9\x91\x7c\xbb\x16\x5a\xb4\x03\x8f\xc0\xfe\x45\x3b\xda\xc7\xbf\xdf\x61\xd8\x8f\x47\x76\x2c\xd2\x42\xf9\xf6\x1d\x64\xe9\xb1\x06\x7b\x26\x84\x90\xd7\x84\xc8\x77\x10\x85\xcc\xc8\x6e\x70\x93\x95\xa2\xb8\x81\x9b\xa3\x4f\x0f\xe1\x12\x88\x72\xc0\xa5\x38\xc2\x9d\xca\xf0\x61\x2e\x9c\x09\x67\xc2\x71\x2e\xca\xc1\xf8\xf0\xe4\x5f\xe7\xdf\x87\xc9\x9b\xe1\xba\x17\x5e\x78\x61\x00\xbb\xf3\xff\x84\xc9\xda\xa3\x7a\xc2\xf5\x58\xc8\xbf\x0f\x93\xb4\x7d\x30\x69\x33\xf9\xce\x68\x39\xde\x97\xff\x27\xac\xd1\x2e\xc5\xee\xfc\x24\xbc\x0f\x02\xbf\xfe\xb5\xf6\xd7\xd1\x81\xdb\x07\x76\x17\x12\x8f\x04\xc7\x7d\x5f\x66\x03\x1b\xb5\x16\xb5\x17\xf8\x77\x0a\x3e\x1f\xe3\x42\xce\x22\x90\x37\xc3\xa9\x19\x31\x95\xc4\x46\x3c\x5a\x88\x7c\x49\x11\x17\xfb\x32\x95\x3e\x7f\x45\x46\xfb\x4f\x31\x80\xb7\xde\x7f\xae\xc0\x4b\xea\x9c\x2d\xaf\xa4\x3a\xcf\xbd\xeb\x27\xe7\xf6\x76\xfd\xf4\x15\xb5\xe5\x5c\x42\x3a\xc6\x88\xb2\x3b\x37\xdf\x01\x6e\x0e\x66\xe4\x16\xe8\xe7\x7c\x1d\xd8\x9e\x24\xa6\x35\x2e\xa6\xf3\xe7\x97\xbf\xc8\xe3\xe5\x60\x7b\x32\x36\xfa\x68\xf9\x8b\x3c\x7c\x7e\x6c\xfb\x5a\x50\xf9\x61\x33\xf3\x02\x8d\xd0\x76\xf4\x38\x7a\x1e\xbd\x88\xde\x40\x7f\x43\x7f\x47\xef\xa2\x0f\xd0\x47\xba\x0e\x1a\x20\xa4\x00\x96\x58\xcc\x24\xa8\xa8\x03\x44\x29\xc0\x04\x41\x64\x31\x23\x17\x1c\x48\xd2\x6a\x2b\x56\x64\x43\x45\x35\x2c\x6f\xc8\x82\xb0\xad\x4f\x89\xad\x44\x41\xa3\x96\xc6\x24\x6c\x4c\x17\x51\x3a\x70\x26\xad\x2a\xfa\x00\x62\xf8\xc8\x49\x2a\x4b\x48\x6a\x82\x51\x12\xb8\x02\xa2\x11\xa6\x95\x52\x03\xb8\x0d\xdc\x52\x56\x6d\x35\xb5\x15\x6c\x96\x58\xcc\x04\xc0\x2d\x10\xfa\x03\x03\x44\x41\xb2\x53\x25\x06\x0a\xc0\xd4\x4a\x2b\x4e\x01\xa3\xe8\x99\x7c\x4a\x62\x20\xe3\x76\x40\x1b\x26\x9f\x9d\x72\xd1\x29\x4b\x3b\x2a\xc3\x0b\x9a\x27\xd4\x6e\xbc\x31\x56\xd5\xec\x53\x12\xa7\xf4\x58\x68\xd2\x4c\x57\x31\x41\xca\x45\xd0\x00\xc0\x98\x38\x22\x7a\x7e\x48\x09\x63\x02\x37\xa9\xe0\xe1\x63\xd7\xb4\x94\x9c\xb6\xda\x4f\xbb\xb5\x40\xd0\xe9\xe1\x58\x78\xc7\x64\x75\xf3\x3e\x8a\x94\x68\x87\x97\xb9\xdd\xcc\x95\x70\x8e\x87\x01\xee\x10\x6b\x2e\xab\x51\x6b\x2c\xdd\x95\xd4\x40\x6b\x95\x5a\x21\xb8\x2d\x1e\x5b\x92\x28\xab\x8e\x42\x0b\xc5\x31\x2c\x6d\x61\xcc\x24\xe3\xf0\xba\x6a\xd8\xad\x0b\x9c\x65\xdd\x6d\xa5\x93\x4c\xb6\x50\x48\xb4\x89\x9f\x6d\xf1\x57\x95\x97\x44\xd8\xa8\xb5\xd2\xc4\xe0\xf2\xe9\xa3\x7b\xd9\xfa\x2a\x8e\xa8\xfc\x4c\xd9\x97\x35\xfb\x4a\xa5\x12\xbc\x71\x73\x4b\xbb\xf6\x45\xed\x19\x3d\x70\x2b\x11\x6d\x48\xd5\x93\x8c\x7b\x7a\x87\x5f\x9b\x30\x44\x5b\xaa\x6d\xfc\x2b\x41\x4b\x39\xb1\x11\xb0\xfe\xff\x62\xa2\x66\xe2\xfa\xef\x4c\xae\x5f\xa1\xb6\x04\xd4\x36\x67\xfc\xc6\x3d\x8f\x5f\xf5\x1d\x4c\x52\x66\x2a\xce\x94\xda\x02\x25\x71\x31\xec\x6d\x2b\xef\x73\x80\xdb\xe2\x0c\xf6\x8a\xf6\x86\x16\x37\xf6\x66\x16\x6d\xbd\x4e\x20\xbd\xab\x45\xa7\x43\x22\x56\xb0\xa2\xdd\x42\x52\x18\xec\x21\x2e\x2e\x72\x0e\x91\x28\x73\x7a\x1f\x19\xae\x8b\x45\x08\xc1\xe3\x74\xf1\x55\x3d\xde\x90\x93\x60\xed\xb1\x60\xbb\xbf\xa4\xac\x0c\x5b\x1d\xbf\xa7\xdc\x26\x07\x6d\xa1\x28\x4c\x90\x50\x19\x08\x7b\x13\xbe\x93\xcc\xe6\x6a\x3f\x40\x1f\x2c\x5e\xec\x8e\x29\x52\x35\xd7\xc0\xf7\x39\xcc\x99\xd9\x77\x3c\x5b\x49\x98\x2d\x66\x3e\xcb\x58\x47\x67\x7a\x2b\x83\xd9\x44\x3d\x55\x6d\x25\x62\xb6\x9f\xd4\x6a\x2f\x3b\x80\x71\x58\x4d\x0c\x54\x62\x3b\x83\xcf\x12\x38\xb0\xe5\xb7\x9c\x64\xa3\xeb\x00\x8c\x27\x17\x74\x5c\x17\x8d\xa8\x0f\x91\x84\xb2\x68\x11\xda\x81\x10\x25\x17\x57\x43\xa2\x91\x82\xf9\xb8\xe1\x6d\x69\x98\x35\x17\xbe\x32\xc3\xa4\x8e\x49\x25\x0d\x83\x35\x35\x0b\xe9\x04\xd6\x05\x91\x28\x9d\x20\x0c\xb5\xc8\x98\xd5\x5a\x0b\xb6\xcf\x86\xc5\x97\x50\x9c\xeb\x33\xe9\x56\x4a\x35\xba\xac\x5a\xd4\x8f\xc8\x4b\x29\x3e\xb0\xb6\x77\x5b\x3b\x65\xb2\x3a\x18\x30\x45\x56\x9e\x9c\x2c\x9f\x53\xc9\xd8\xaa\x78\x41\xca\xd4\x78\x4a\xeb\xbc\xac\x99\x93\x08\x07\xcd\x9a\x9d\x2c\x6f\xf5\x45\xad\x26\x0b\x65\x91\x60\xbe\x45\xaa\x0e\x84\x73\xdb\x63\xbe\x9e\xe9\x73\x57\xab\xeb\x76\x63\xdc\x57\xda\x35\xb1\xe1\xea\x73\x36\x85\xbc\xd3\x3a\x26\x09\xd1\x9a\x90\xbf\x34\xb3\xe5\x65\xed\x9f\xda\xcb\xda\x3b\xaf\xe6\x94\xa6\x81\x29\x03\x35\x3c\xdb\x1b\x6d\x09\xc4\xaa\x4c\xdb\x1a\xaa\xee\xab\x74\xc7\x66\x75\x9d\xa4\x2a\x49\x9e\x15\x23\x75\xa4\x8d\x16\x2c\x21\x3f\x41\x90\x61\x1f\x63\x3b\xbf\x86\x75\x58\x6c\x55\x1e\xc1\xc4\x08\xd8\x4e\x5a\x48\x9a\xc0\x0e\xd6\xc1\xd1\xa4\x0d\x6a\xc4\xea\x6a\xff\x49\x33\xa1\xac\xb1\xb1\x0c\xe0\x86\xd3\x56\xa7\x05\xae\x63\x6a\x3b\x40\x4b\x4f\x2b\x10\x91\x44\xf9\x86\x17\x77\x6b\x7f\xff\xd9\xe9\xeb\x7e\x09\xfe\xe1\x79\x77\x6d\x59\x33\xa5\xbd\xd4\x62\x8a\x0b\x65\x1e\xff\xbc\x19\x37\xc8\xa5\xd3\x7c\x76\xcf\x84\xc9\xe7\x6c\xbd\x17\x8d\xc7\xde\x0a\xa0\x66\x34\x1f\x6d\x40\x08\x1c\x98\x05\x65\xcc\x9f\x57\x95\xb3\x6d\x20\x31\xb4\x20\x89\xc9\x36\x82\x90\x18\x45\x8e\xd0\x42\x90\x60\x6a\x70\x02\xd4\x44\x01\x47\x48\x94\xb2\x62\xc1\x89\x54\xa1\xe5\x1a\x50\x25\x5d\x00\xab\x21\xd4\x20\x0e\x00\x13\x00\x42\xa0\x19\xd1\xf0\x1c\xce\xa6\xe5\x88\x83\x50\xda\x70\x2b\x48\xc6\xc0\x41\x26\x86\xaf\x09\x74\xec\x99\xe5\x5c\xdd\x33\x6b\xc3\xbc\x09\x62\xa2\xc3\x76\x8d\x35\x1e\x8f\x2f\x8b\x07\xae\xb9\xf5\x49\xdb\xb5\xb6\xf8\xb2\xde\x78\xe9\xb5\xc3\xd7\xdc\x7a\x4d\xa0\xbb\xca\x37\x71\xfe\x86\x59\x7d\xeb\x6c\x33\xef\x25\x96\x6e\x98\xd5\xbb\x96\x9d\xfd\x58\xb7\xf5\x1a\xe3\x9a\xc0\xb5\xc3\xd7\x0e\x5f\x5b\xda\x5e\xe3\xee\x3b\x0d\x2f\xe9\xf3\x26\xba\x6c\xd7\xd8\xe2\xbd\xcb\x8c\x8c\x5b\xaf\x2d\xed\x7a\x74\xb6\x75\xdd\xb4\x59\x1b\xe0\xa5\xe1\x6b\x03\xed\x09\xf7\xc4\xf9\x1b\x67\x4d\x5e\xed\x9c\xfd\xa3\x0e\xdb\xb5\xd6\xf8\x32\x39\xae\x5f\x88\x5d\xfa\x2f\xf6\x2e\xd7\x7f\xf1\xda\xe1\x6b\x03\x5d\xfb\xe6\x38\x56\xf7\xcc\xda\x78\x72\xaf\x50\x73\xe8\xaa\x59\x1b\x07\x27\xf9\xab\xba\x8d\x4b\x96\x15\x7f\x30\xd0\xbe\x67\x96\x75\x1d\x29\x4d\x3d\xcb\x3a\xeb\x91\xae\x62\x79\x8b\x59\x5d\xd5\xde\x29\x4b\x36\x16\x78\x3b\x0a\x98\x19\x13\xd0\x5c\xb4\x00\x2d\x46\x4b\xd1\x0a\x74\x11\xba\x1d\x21\xd0\x9b\xcb\x30\xfd\x2c\x18\x73\x2a\x45\x0b\x45\x55\xd6\x87\x43\x5a\x28\x18\x72\x2a\xb2\x62\x38\x1d\x67\x53\x7a\x26\x96\x44\x46\x30\x6c\x3c\x0b\x26\x9b\x84\x61\xa0\x19\xd5\xaf\x52\x8d\xdd\x30\x35\x49\x49\x0a\xc4\x39\x0a\x24\x42\x21\x24\x55\x02\x8a\x03\x89\xd1\x7f\xc2\x40\x84\x29\xac\x8b\x18\xf7\xa6\x92\xc6\xc7\x05\x9c\xb1\x95\xad\xa4\x15\xce\xb0\x6e\x51\x39\x2a\x59\x05\xa9\xa4\x9b\xc3\x3b\x41\x12\x84\xaa\x4a\xa6\x9b\xec\xea\x9a\xe1\x21\x83\x04\xdd\xe7\xde\xc6\x72\xdd\xd8\xb4\xc4\xa4\x04\x30\x06\xca\x2b\x79\x5c\x16\x12\xe8\xb8\xb5\xb1\xe6\x54\x6c\xe9\xb4\x9a\x4b\x48\x12\x13\x25\x7e\xa2\x24\xdd\x6e\x3b\x97\x22\xed\x2f\x11\x8c\x4d\x0e\x04\xbc\x12\x4b\x02\x11\x16\x6a\x63\x3c\x87\x9f\x6c\xfb\xfe\xa1\xcf\xf1\xc3\xf9\x5e\xf2\xf5\x25\x0f\x9d\xfa\x87\x25\xd5\xaf\x68\x09\xdc\xa2\x1d\xbc\x39\x5b\xb6\x7d\x57\x63\x78\xe6\xf4\x4f\xda\x4c\x16\x13\xe9\x0f\x93\x3d\x7b\x26\x2d\xbe\x6c\x96\x23\x18\xb7\xc0\x55\xa3\x07\xd9\x7c\x82\xb1\x53\x40\x00\xe5\x58\x59\x81\x13\x18\x5a\xa0\x89\x14\xe0\x79\x82\x31\x99\x85\x52\x2a\x83\x97\x4e\x5b\xec\xc0\x24\x26\xe7\x7a\x1e\xf6\x05\x2e\x32\x43\x04\x5b\x4d\x80\x39\xb0\x50\x0c\x43\x72\x34\x87\x69\xc2\xe9\x8c\xe2\x28\x49\x58\x00\x6c\x6e\x9c\x6c\xa0\x92\x33\xfc\x74\x1a\x43\x1d\xec\x77\xd8\x25\x87\x8d\x90\x1c\x5e\x82\x20\x49\xd6\x86\x77\xfd\xad\x22\x7f\xdd\x3f\x48\xd3\xbb\xf9\x6c\x10\x5f\x1e\xcc\xff\x23\x78\x66\x07\xd1\xf4\x28\x6c\x39\xc8\xd9\x87\x3b\x4f\x2a\xb1\x4d\x4b\x30\x66\x93\xd5\xe1\xc2\xf1\xba\xd2\x18\xc3\xb9\x69\x32\x77\xe8\x57\xff\xa5\xff\x65\x07\x4c\x66\xcd\x40\x53\x31\x16\x72\xcf\x9e\xb9\xd2\xad\x0d\x1a\xfe\xc6\x63\xd8\x0b\x0a\x52\xd1\x24\x34\x07\x2d\x45\xeb\xd1\xf7\xd0\x35\xe8\x2e\xf4\x08\x1a\x39\xb2\xd2\x73\x84\x1c\x96\x3a\x16\xb2\x5c\x97\x1f\x82\x10\x00\xf7\x51\x1a\xbd\x02\x1e\x3b\xf7\x0d\xf1\xff\xaf\xaf\xe7\x0b\xc0\x62\x61\x0e\x42\x9d\x83\x83\x9d\x39\xfd\x40\xed\x6f\x9c\x78\xf5\x8a\xd1\xe1\xce\xc1\xfa\x32\x3c\x5c\x36\xe4\xbf\xd6\x5f\x96\x0f\x19\x40\x47\x5f\x79\x00\xf4\xff\x96\x3f\x34\x5c\x56\x9f\xcf\x91\xb9\xc1\xce\xa3\xec\xca\xb7\x47\xce\x99\x90\x47\x2b\xae\x1e\xec\xa4\x51\x59\x7d\x99\xff\x5a\xff\x50\xd9\xa1\xdc\x91\xdb\x80\x3d\x51\x50\x3b\x61\xea\xff\x72\x01\xec\x04\x54\x5f\x36\xac\x21\x24\x14\x6c\xe8\x69\x54\xdc\xbb\x69\x43\xd3\xd1\x62\xb4\x0a\x9d\x67\x30\x08\xfe\x18\xfd\x0c\xbd\x84\xde\x42\x1f\xa1\xc3\xe0\x80\x20\xd4\x40\xdb\x09\x56\xfc\x8e\x90\x24\x16\xda\x9d\xfb\x1f\xe3\xc4\xff\xf8\x3e\xbf\x4d\xff\x38\x1e\xc8\xe7\xff\xf5\x79\xff\xff\x2c\x1f\x65\x18\xab\x1c\x2a\x58\xa9\x8c\x1c\xa5\x1d\xf8\xfa\x43\xee\xdb\x5e\x78\xf4\x80\xd1\x38\x66\xa2\x6f\x7d\x17\xa0\xff\xfd\x97\x68\x24\x7b\xbf\x30\xd6\xb9\xe8\x9c\x57\xd6\xc6\x41\xce\x7e\xfa\x4d\xc1\x07\xbe\x01\x02\xe9\xc4\xc1\x43\xec\x11\xe0\x14\xfc\x3f\xdc\x36\xfa\x3f\x5c\x7b\x0c\x0c\x13\xc2\xa8\xfd\xb0\x93\x1c\xa1\x86\x50\x10\x29\x08\x99\x8f\x37\xb2\x03\x39\xad\x8e\x19\x0b\x49\xa2\x30\xe6\x65\x4a\xee\xd6\xde\x28\xda\xd6\x69\x6f\xf8\xfd\xa5\xd3\xfd\x07\x60\xf5\x01\x7f\xbf\xdf\xaf\x0d\x17\x0c\xec\xde\xd0\xde\x18\x7d\xce\x30\xad\xcb\x69\x39\xc3\xb4\xae\x1e\x62\xfa\x05\xfe\x03\x07\xf4\x1b\xde\x2e\xd8\xd6\x51\x45\xee\xe5\x1c\x72\xa0\x52\x63\xd7\x68\x06\x42\x20\x14\xf4\x9e\x4c\xda\xd0\x4b\xa0\xc0\x15\x03\xc5\x29\x94\x4a\x92\x2e\xb7\x60\xf0\xc5\x44\x23\x74\x34\x92\x49\xb7\xe2\xf8\xb8\xab\xdd\x02\x0b\x71\x83\x1b\xa6\x20\x4e\xb5\x02\x61\x93\xe7\xb6\xf4\x6d\x69\x96\xe7\xb6\x4c\xdd\xdc\xac\xdd\x33\x73\x6a\xdf\x8e\x89\xc6\x01\x2e\x3e\x07\x5c\x8f\x46\xda\x3a\x2b\xbb\x3f\x6a\xeb\xcc\xf7\x3e\xb2\xfa\xae\x97\x61\x72\xcb\x5c\xb9\x79\xf3\x54\xfd\xb8\x05\x4e\x9d\x3a\x73\xe2\x8e\x3e\xfd\x40\x96\x35\xaf\x9c\xb6\xee\xc6\x1e\xfd\x78\x43\xfe\x95\xfe\x73\x56\xdd\xd8\xdb\xbf\x7e\xd5\x4d\x35\x4f\x6b\xef\xae\x4b\xb4\x94\x5a\xe7\xcf\xdb\x35\xfb\x95\x1f\x9d\xf3\xca\xb4\x95\xcd\xbd\x37\xac\x9b\xb6\xb2\xb9\xe7\xc6\x75\xcb\xd6\xf7\xf7\xde\xb8\xea\x9c\xfe\xde\x9b\x56\x21\x40\xed\x87\x11\x1e\xa1\x91\xe1\x1b\x2a\xd0\x0c\x2f\x16\x9d\xdd\x0b\x85\x4f\x06\x00\x8f\xac\x5d\x5c\x8d\x63\xde\x11\x6f\x0c\x57\x2f\x5e\x3b\xeb\xea\x7b\xae\x9e\x45\x7c\x7c\xf9\x33\xf1\xd1\xff\x33\x2c\xc1\x32\xf1\x67\x2e\xcf\xfd\xeb\xa6\x9b\xfe\x75\x14\x53\x64\xcc\xef\x28\x88\x10\x05\x1c\xa5\x54\x83\x5d\x7f\x89\x05\x24\xd5\x22\x56\x88\xb1\x88\x1a\x00\x22\x87\x73\xf9\x5c\x3b\xfe\x69\x7e\x62\x7e\x22\x75\x30\x16\xcc\xb7\xfb\x3b\xfd\xf9\xf6\x60\x2c\x21\xe3\x11\xb1\x4a\xc4\x23\x72\x62\x11\x2c\xc2\x5b\xde\x5d\xa3\x69\x1a\xce\xa3\x68\x33\xa7\xe5\x9c\x4e\xc8\x71\xcd\x51\x02\x95\x75\xb2\x80\x4c\xa6\xc3\x88\xed\x2c\x40\xe5\xa1\xc3\xc8\x54\xe0\x31\x39\xea\x15\xdd\x89\x10\x15\x37\xca\x41\x41\xf1\xac\x8c\xc5\xf5\x72\x51\x74\x44\x89\xcb\x4a\x31\x50\x2c\x60\xdc\x38\x64\x93\x92\x31\xf9\x52\x01\xc0\x06\x89\x50\x3b\x5c\xa9\x9d\xae\x9d\x4e\xfd\x6e\x5c\xa4\xaa\x10\xde\xa7\x4d\xd2\x26\x51\x5f\xc8\x61\xad\xbd\xa4\xbd\x44\x6b\x27\x09\x4c\x15\x83\x61\xb9\x32\x0a\x0f\x54\x46\x61\x44\xca\x4a\x30\x12\xad\x84\x07\x62\x15\x43\x23\xd0\xb8\x7b\xf5\x9e\x3d\x7b\xf2\x97\x8c\x85\x36\xdc\x01\x96\xdd\xab\x9f\x78\xe2\x89\x7c\x8b\x36\x14\x6b\x75\xee\x67\xd9\xfd\x18\x63\xac\x9f\x9d\xad\x31\x18\x96\xdb\x9d\x3f\x85\xcb\xe4\x76\xe7\x88\xc5\x32\xe2\x6c\x97\xb5\xd5\x3f\x75\xb6\x17\xf6\x54\x34\x13\xa2\x30\x22\x90\x19\x05\x91\x8c\x12\xa8\x03\x21\x08\xbb\xc3\x44\x84\x66\xc2\x32\x91\xcc\xaa\x29\x1c\x8e\xe0\x4c\x1a\x15\x7a\x24\x13\x16\xc4\x78\x38\x99\x49\x47\xc3\x99\xb0\xae\xab\x47\xc3\xf1\x70\xd2\xa0\x38\x32\x3a\x2c\x11\x0d\x33\xf5\x1a\xc0\xe1\xd1\xf9\xab\x69\xb8\xd6\x75\x67\xdb\x39\xdc\x9b\xa7\x6a\xfb\x7e\x9f\x07\xea\xc5\x8b\x5f\x38\x0d\xe7\xcf\x5c\x77\x28\x0b\x65\x2f\xfc\x52\xfb\x2d\x94\x4c\x5b\xf0\xa4\x36\xaa\xfd\x13\x0f\xcc\xb9\xf0\xec\xb6\xfb\xd6\x9e\x55\x77\xd2\xda\xdc\xc4\xfc\x4d\xe4\x9e\x2d\xda\x6f\x97\xcf\x7f\x3a\xff\x48\xbb\xaa\xbd\x00\xa6\xd7\x5e\x06\xfe\xc2\x3f\x5f\xc4\x05\x56\x6d\x4c\xde\xb5\xf7\xc9\x9e\xa9\x97\xbd\xe6\xef\xda\xba\xe0\xa1\x81\xd0\x9d\x1b\xa7\x6c\x9e\xd9\xe8\x2d\xbe\xc3\xb1\xf5\xcc\x00\x8a\xa3\x2a\xd4\x81\x26\x19\x3c\x3f\xc7\xcd\x86\xbc\xb1\xfa\x94\x49\x2b\xc6\x42\x03\x11\xcd\xa4\x92\x6e\xa1\x78\xa2\x22\x72\x26\x9c\xcd\x1c\x45\xf7\x51\xa3\x2c\x10\x49\x29\xda\x0a\x44\xd8\x1d\x1e\xbf\x13\xf6\x8a\x76\x09\x6c\x3d\x7b\xf8\xd2\x95\x4a\xef\xcc\xa9\xf7\xdf\xbe\xfe\x3b\xfb\x9e\xd8\x82\x2d\xdd\x93\xe1\x06\xb8\x6a\x5b\x6e\xf7\xcd\xdf\x7d\xa1\xf5\x62\x6b\x4f\xdd\x1a\xab\x46\x4e\x5c\x01\x6d\xda\xcf\x8f\xdd\x05\xd3\x2e\x1f\xfd\x60\xdd\x9a\x9b\x2b\xd2\xab\x1b\xa6\x57\x70\xda\x53\x8f\xce\x1f\xd4\x7e\xf2\xfa\x9a\x65\xa1\xbe\x09\x16\xe1\xfc\x9f\xdc\xb7\xfd\x7b\xbb\x7f\x16\x29\x83\x33\x37\xd5\x77\x82\x65\xea\x98\xae\xc5\x8c\xe1\xdc\x2b\xa8\x6d\x1c\x6b\x81\xb1\x06\x2b\x8d\xd9\x9f\x29\xba\x64\x0e\xe3\x10\x8a\x54\x01\x45\xc1\x18\x43\x6a\x80\xa3\x0c\xf3\x99\x2c\x4a\x25\x11\x9d\xb8\xf4\xf9\x4b\x2f\x7d\x3e\x7f\xc9\xae\x65\x3e\xdf\xb2\xa9\x1d\xc1\xe0\xb5\x7d\xee\x01\x21\x74\xce\xa4\x65\xc4\xcb\x0f\x6e\x3d\xef\xc1\x07\xcf\xdb\xfa\xe0\xd5\xda\x7f\x1e\xd7\xa6\xd8\x9e\x3a\x7f\xe3\x4f\x4b\xde\x81\x0b\xa6\x0f\xda\x45\xf0\x63\xb0\x3e\xf6\x38\x58\xc9\xa0\x7e\xff\xa5\x87\x9e\x7c\x79\x17\x5d\x11\xbc\xa6\x6f\x6a\x7b\xd0\x14\x36\x35\xf7\x10\x6f\x6d\x7d\xf0\xc1\xad\xe7\x3d\xf0\xc0\x79\x4f\x68\xff\xd5\x7e\xbe\xed\x81\x6b\xcf\x5a\x08\x7b\x6e\xaa\xc5\x70\xcd\x63\x60\xd2\xfe\x83\x8e\xd1\x1d\x4d\xc8\x87\xba\xd0\xd4\x22\x12\x80\x5b\x10\x0b\x8b\x63\xb2\x62\xb8\x2f\x67\xe5\x1a\xc8\x1e\x5d\x08\x6b\x19\x53\x3c\xe2\xc9\xe2\x7b\x62\x08\xbd\xf6\xf1\xb1\xf5\xe5\x42\x9b\xe8\xca\xe1\x1f\xd7\x0e\xaf\x59\x33\xac\x39\xcf\x1a\xa8\x1f\x2c\x49\x27\x9a\x37\x94\x78\x52\x2d\x03\xa2\x30\x40\x8c\x16\xde\xc4\x7d\xc2\x15\x8b\x97\x5d\x6f\x81\x79\x57\xbf\xf2\xca\xd5\x57\xfe\x16\xff\xc5\xcc\x4f\x69\xd5\x5e\x2b\xbc\xa0\xcf\x76\x3e\x77\xc9\x25\xa7\x9e\x76\x09\x51\x3e\xbc\x66\xed\xf4\xfe\x35\xda\x73\x77\xae\x6b\xac\x15\x04\x4f\xaa\xa5\x79\x83\x27\x4c\xe1\x33\x0a\x2f\xf3\xba\x09\x0b\x37\xfc\x60\xe9\xe8\x2b\x57\x5d\xfd\xca\x6f\xae\xd4\x9e\x84\xf8\x7a\xf8\xdd\xfa\xbb\xef\xd6\x86\x4f\xbd\xe4\x92\xe7\x76\x5e\x82\x68\xe4\x3c\x3c\x9b\xfe\x88\x3a\x8c\xec\x28\x80\xaa\x51\x33\x9a\x62\xa0\x26\x11\x4c\xdc\xd8\x7c\x6d\xc5\xaa\xe8\x03\x85\x25\x1c\x40\x24\xa0\x0d\xb2\xaa\x02\x04\x6b\x20\xeb\x4a\x04\xaf\xb7\x00\xd0\x44\x5c\xe1\x5b\x41\x0a\x50\xc0\x8b\x34\xc3\x52\x8c\x4c\xc4\x15\x95\x88\xab\x09\xa2\x06\xa8\xac\x18\x04\x91\xe8\x76\x60\x6d\x61\xac\xd5\x69\x65\x1c\xe6\x08\x9e\x56\xb5\xf7\x8a\xb6\xef\xd4\x06\x09\xf2\x49\x0e\x33\xa6\xe8\xf4\x1f\xd0\xb9\xc7\x6d\x75\xbc\x6b\xd2\x95\xa6\x77\x5e\x61\xee\xf9\x6b\x43\x5e\xa9\xf9\xa3\xf6\x34\xff\x17\xa1\xbf\xcc\x53\x17\xad\xf5\xd4\xe2\x6b\x7e\xe7\xb2\x8a\xf6\xb2\x58\x4b\x78\xa2\x35\xf2\x77\x68\xd8\xb2\xf3\x0d\x6d\xd1\x35\x91\x81\x09\xcd\x1c\x07\x57\x05\xb3\x36\xab\x02\xab\xb4\xcb\xc4\x52\xa2\x21\xee\xab\xef\x8d\x2d\x64\x6c\xb8\x51\xbb\x60\xe1\xe4\xcb\x97\xcf\x74\xbb\xe1\x34\x6f\x33\xe7\x6a\x3b\x77\x76\xfe\x3d\xed\xba\xd2\x28\x41\x32\xd4\x6e\x58\x05\x2b\xf6\x38\x45\x91\x78\xa0\x4d\xfb\xc1\x63\x36\x38\x35\xe8\x27\xb1\x20\x56\x95\x64\xb5\x67\xb4\xab\xe2\xd3\xa2\x42\x44\x14\x2d\x2e\x62\x32\x9c\xfe\xf4\x07\x27\x69\xdf\x17\x66\xcf\xbb\x7e\x51\x97\xdd\x0e\x84\xcf\xe1\x68\x29\xf4\x91\x76\x53\xa1\xcf\x73\xa8\x04\x75\x1d\x45\x8b\xe0\xc3\x44\x02\x0c\x72\xfd\x23\x29\xe3\x1d\x47\xc3\x63\x0e\xa4\x63\x44\x22\x7c\x2b\xe8\xdd\x43\xe2\x53\x49\x11\xf6\x0f\x9e\x3f\x38\x78\xfe\x76\xe2\xf3\x79\xd8\x63\xce\x23\xb3\x07\x53\x84\x91\xa4\xb9\xd8\xa1\xd5\xc3\xab\x47\xd1\xea\xe1\xd5\x43\xac\x6b\xc7\x22\xff\x72\xe9\xb6\x93\x09\x74\xf2\x6d\xd2\x72\xff\xa2\x1d\xb0\x55\xbf\x68\x10\xf6\xc3\x69\x26\x9e\x37\xe5\x4b\x0a\x51\xa4\xe5\x58\x57\xae\x7f\xf5\xea\xfe\x5c\xe1\xe8\x62\x21\xb7\x68\x07\xdc\x3e\x78\xde\x79\x83\xda\xa2\x1d\x05\xbf\x5a\x93\x3e\xdc\xa6\x50\x13\x9a\xa0\xf7\xf5\x23\xba\xda\xd7\x14\xb8\x80\xb3\x1c\x2e\x32\x62\x49\xfc\x98\xdf\x2c\x1c\xad\x7b\x31\x85\x09\x2d\xda\x71\xc2\xa2\xe7\x0a\xa8\x78\x39\xbd\x02\x5f\x1c\x2c\x14\xf7\xd4\x71\xf5\x26\xc3\x46\x1a\xce\xed\x58\xa4\x57\xa2\x5d\x2f\x7e\x7b\xe1\x78\xb4\x12\x05\x00\x5a\xbd\x2a\x5a\xc8\x68\x26\xd8\x5e\x68\x80\xd1\xc7\x8c\x28\x02\x14\x3a\x8c\xa8\xfd\x46\xfd\x50\x4c\xff\x50\x03\x63\x58\x7f\x99\xb4\x81\x39\x9c\x56\xf5\x9a\x1d\x39\x16\xf8\x84\xe9\x4a\x28\x1e\xa9\xfd\xb2\x57\x4b\x82\x25\x56\xa2\x8d\x94\xc4\x2c\xa0\x25\xbd\x32\x0f\xbb\xde\x36\x8e\xcf\xe8\xc7\x1c\x9f\xd6\x0f\xb2\xf7\x19\xd8\xc5\xcb\xde\xb7\x61\xd7\xfc\xb4\xcc\x5d\x22\x97\x44\xa3\x25\xf2\x25\x9c\x9c\xe6\xe1\x8a\x23\x87\x1c\xcf\x6b\x39\x3e\x2d\x6b\x67\x18\x87\x71\x63\x8d\x1b\x55\xa2\x6e\xc3\x16\xa6\x08\x9a\x54\x18\xe5\x8b\x6e\xd8\x59\x35\xad\xc8\xe1\x71\xa9\x21\x23\x95\x4f\x2b\x72\xcc\x58\x4f\x3c\x72\x35\x69\xd0\xf3\xc1\x78\xd3\xb4\xa5\x81\x9f\x6b\x17\x5c\x5f\xe1\x13\xa9\xd0\xf9\xab\xfe\x7a\x2f\xcf\xf2\xfe\xa1\xe8\x07\xda\xaf\xae\xbb\xba\x36\x5a\xc2\x04\x36\x6d\x03\xe9\x37\x1e\xb6\x24\x7a\x7a\xd9\x56\xed\x81\xfb\x7f\x3d\x2c\x05\xcb\x83\xd6\xd2\x0b\x7e\x74\x0b\x54\x2f\x75\xf3\xa5\x95\x2f\x1c\x0f\x3f\x3f\x31\xc4\xaf\x8b\x98\x2b\x85\x52\x93\x6f\xa9\xd5\xf7\x7e\x99\xfb\x92\x0a\x7b\xaa\x24\x6a\x0a\x6f\xb1\x47\x81\xab\x91\x7a\xa6\xd4\x30\xf1\x40\xb0\xc2\x14\xef\x6e\xb1\x95\x2f\x38\x6e\x33\x08\x0a\x5c\xb6\x34\x42\xbc\x2e\x0d\x4b\x61\x2e\xcc\x10\x4c\x98\x03\x25\xcc\x85\x55\x5e\x0d\x93\x48\xfb\x8d\x07\x24\x8d\xaa\xda\x19\xd0\x5e\x81\x1a\x8f\xf6\x2e\x1c\xaa\xda\x19\x80\x6a\xf2\x37\xf9\x9f\x06\xb5\xef\x04\xb4\x8f\x02\x50\x83\x27\x05\xe0\x96\x00\x70\x01\x84\x10\x87\x10\xfa\x81\x19\x91\x67\x21\x16\xc5\x0d\x46\xfb\x66\x34\x19\xcd\x44\x27\xa3\x53\xd0\x1a\x74\x1e\xba\x04\x5d\x86\x6e\x46\xf7\xa1\x11\xf4\x3b\x84\xe2\xaa\xde\x4b\x23\xb4\x9b\x30\x46\xec\xb8\x4a\xa4\x15\x59\x6f\x5b\x86\x10\xa4\x31\xf2\x80\x0c\x48\x86\x9d\xbf\x9a\x4d\xaa\x12\xa3\xcb\xc0\x8a\x9a\x4e\x25\x81\x90\x18\x21\x6a\xa4\xa7\x92\x41\x38\x9a\x11\x2c\x1a\xee\x28\xaa\x3e\xc6\x9b\x81\x67\x04\x83\x19\x89\xd7\x47\x7c\xf5\xf8\x58\x21\x52\xf0\x0b\x6f\x00\x42\xcf\xd6\xe7\x40\x3e\x9d\xd5\x3f\xa7\xb1\x58\x2b\x24\x45\x9e\xa9\x33\x62\x98\xcf\x64\x8b\xce\xf8\x06\x7e\xb3\x21\xd5\xe9\x09\xc8\xd8\xa4\x20\x9c\x4e\x27\xd8\x2d\x66\x96\x65\xc1\x6e\x16\xa1\xc2\x6a\xb3\x9b\x9c\x26\x3b\x58\xac\xb4\x99\xb5\x9a\xcd\x87\xde\x17\x04\xcc\x62\x8e\xc3\xec\x5c\xaf\x17\x9b\xcc\x92\x64\x36\x81\xf7\xf1\x92\x12\xab\x05\xbb\xdd\xd8\x62\x1d\x94\x24\x6c\xb3\xbb\xdd\x76\xdb\x90\xdb\x8d\x59\xda\x2c\x08\x66\x9a\x85\x6d\xda\x5b\x6e\xb7\x85\x71\x62\x97\x0b\x3b\x19\xcb\x20\xcf\x5b\x4d\x2e\xec\x74\x62\x97\xc9\x7a\xb2\xcb\x85\x05\x1e\x3b\x9d\x76\x93\xd9\x06\x17\x3d\xeb\x70\x38\x04\x16\x58\xd6\x21\x38\x4e\x61\x59\xa7\xe8\x04\x9b\x0d\x9c\xa2\xe3\x55\xd6\xe5\x75\x01\x4d\xdb\xb0\xc5\x6c\x35\x31\x2c\x26\x97\xdc\x79\xf6\xe8\x87\x76\x97\x7f\xd6\xd0\xd3\x10\xe0\x32\x0d\x67\xdf\xb9\xfb\x13\x6c\xb5\xb0\xac\x25\xff\x9f\x4f\x2c\xf6\xf4\x2b\xb8\xd7\x69\xa2\x28\x93\x93\xce\x3f\x01\xff\x04\x0b\x63\x35\x33\x76\x38\x3d\xb7\xd5\x6c\xde\x9a\x33\x4f\x7c\xe9\xff\xcc\x96\xe7\x5f\x32\x6b\x49\xf8\xe7\x7f\x3e\xb0\x5a\x3f\xf8\x8f\x8d\x1a\xfd\xb7\xdd\xfe\xef\x51\x7b\xf0\xbd\xff\x3a\xcd\xcc\x7f\xdf\xa3\xcd\x9a\x88\xcf\xd0\xce\xff\x2f\x63\x75\xfd\x17\xb6\xb8\xac\xd3\xb5\xaa\x7f\x9b\xac\xfc\xbf\xe1\x77\xbc\x35\xa4\xd1\x9f\xba\xdd\x9f\xc2\x41\xb3\xdd\x9e\xe7\xf0\x7b\x1a\xfe\xc8\xe2\x60\xad\x1f\x81\x66\x65\xd9\x80\x26\xbc\x6f\x75\x3a\xad\xef\xc3\xfb\x36\xa7\x53\x33\xfd\xdd\xee\x72\xd9\xd7\x9e\x8d\xb7\x10\x0e\x33\x43\x99\x5c\xf9\x2b\xcf\xbe\x03\xbb\xec\xc4\x0e\xc9\x12\xd1\xbe\x18\x11\xef\x3c\xc2\x37\x88\x0c\x0e\x63\x9f\x81\x40\x8a\x50\x28\xa6\xba\x05\x63\x85\xbe\x05\xc4\xaf\x8f\x91\x06\x38\x75\x21\x9a\xce\x62\x1e\xfe\x08\x37\xae\x7f\x51\xbb\x59\x1b\xd2\x6e\x7e\x71\x3d\xdc\xf8\x0d\xf1\x7d\x30\x0c\x27\xbf\x38\x16\x7f\x91\x40\xb3\x67\xde\x53\xb0\xc7\xb8\x67\xe6\xe8\x3d\xe3\x22\x50\x31\x2e\x42\x56\x4c\x38\x67\x42\xae\x10\xcb\x4d\x38\x67\xdc\x7a\x2e\x8f\xbc\x28\x8a\x06\xd1\x29\xe8\x2c\x74\x1e\xfa\x1e\x42\xf0\xe5\xf5\x3a\x89\xe1\xc2\xb2\x02\xb2\x61\x6c\x9d\xe1\xc2\x1c\x18\xbb\x65\x92\xc8\x08\x34\xe3\x2e\xac\x99\x33\xd8\xe0\xed\x53\x64\x03\xf7\x48\x12\xdd\x59\x35\xab\x26\x40\xcd\x36\xe1\xa4\xe1\x7f\x2f\x96\x02\xcd\x88\x90\x55\x59\x00\x5a\xca\xaa\x69\x35\xab\xca\x19\x39\x23\x2b\x02\x43\xe8\x97\x2a\xfa\x53\x68\x4a\x8e\xea\xdf\x64\x9a\x7a\xdc\x5f\x76\x04\x40\x39\x57\x36\xe4\x3f\x1f\x36\x58\x6c\xda\x2f\x6d\x70\x8a\x36\x54\x56\x9f\x47\x58\x0b\xa7\x9a\x1a\xaf\x08\x38\x59\x0c\x74\x47\xed\x77\xdb\xde\xbc\xf7\xba\x79\x0e\xbb\x07\x28\x0b\x69\x1e\x9c\xc5\x9a\x71\x5a\xed\x8e\x79\xec\x76\x6b\xd0\x0d\x92\xcd\x65\xc6\x18\xb0\x4d\xd5\x7c\xe9\x59\xa9\x1e\xd8\xe6\xb0\x03\xcd\x18\x08\x15\x36\xd8\xf2\xbd\xab\xb0\x48\xf5\xa5\x7c\xf5\x01\xbc\xde\x73\x56\x5f\x2d\x4b\x92\xe7\x1b\x4b\x6c\x63\x30\xcc\x65\xfe\x6e\xed\xc2\x52\x1b\x34\xd8\x0e\xba\x48\x54\x5f\x06\xc3\x07\x11\x9e\xe1\x0d\x30\x75\x62\x00\x30\x80\x5c\x16\xf6\x34\x69\x07\x19\x1b\x90\x16\x6f\xd9\xd2\x6a\xb3\x03\xe3\x59\xab\x2f\xdc\x3a\x70\x43\xb2\xcc\xe1\xae\xa1\x31\x41\x05\x36\x4f\xd8\xad\xf9\x3c\xdf\x2d\x9b\x4b\x6c\xaa\x98\xcf\xc4\x89\x32\x92\x04\xc0\x20\xb2\x00\xf9\xe5\x59\x1f\x70\x54\xd7\x19\xb3\x57\xd5\x5b\x3d\x7e\x00\x74\x4c\x3f\x2b\xbc\xa3\x99\xdf\xee\xdd\xf0\xee\x14\x9f\xe2\xb3\x6a\x36\x93\x92\x02\x20\xf1\x29\xde\x80\xf4\x23\x68\x07\x44\xd3\x09\xc8\x24\x40\x21\xa2\x86\x6c\x17\x55\x64\x85\x48\x65\xbe\xb1\xa5\x97\x4f\xdc\x7d\x4b\x8e\x21\x30\x49\x00\x45\xe4\x6e\xd9\x3d\x51\xfb\xdd\xfc\x53\x28\x8c\x49\xc0\x40\xe3\xcb\xd6\x5e\x86\x29\x20\x49\x8c\xa9\x53\xe6\x7f\x8b\x66\x23\x72\x2b\xf3\x2b\xe1\x6d\xc1\xeb\x34\x79\x88\x88\x59\xf3\xe1\xab\x56\xae\xd4\x7a\x05\xaf\x9b\x60\xcc\x98\x0a\x99\x71\x38\xff\x96\x39\x48\xbb\xdd\x5e\x01\x1e\x5e\xf9\xe5\x76\x38\xe9\xdb\xb5\x43\xdc\x1d\xce\x44\xd5\x56\xdc\x04\xa2\x14\xc0\x41\x88\xea\x71\xa2\xd0\x18\x06\x84\x5b\x54\x56\xe4\x1a\x30\xe2\x3c\xf1\x8d\x8d\x00\xd5\x50\x32\x65\x29\x65\xa1\x00\x03\x89\x29\x86\x58\xd9\x07\xd1\xee\x91\xa7\xbb\xb4\x77\x7b\x97\x92\x36\x02\x63\x20\x69\xeb\x8a\x3e\xed\xcf\xdd\x4f\x3c\xf5\x2d\x9a\xe1\xbd\x15\x2b\x6e\x65\x78\x13\x49\x93\x8c\x99\xbc\x75\xc5\x0a\xe0\xc0\xbb\x72\xe5\x2d\x0c\x4f\x12\x24\x6d\xb5\xdd\xb2\x72\xa5\xf6\xb1\xf6\xf6\x98\x8d\xcc\xf8\xfa\xd7\x1b\xb6\xc0\xdf\xb6\x05\x32\xa9\x64\x81\xa7\x5b\x91\xa3\x61\x77\x8a\x83\x28\xa7\x7f\xb9\x6e\x81\xa1\xbf\xb9\xce\x21\x98\xb4\xe8\xa2\xbe\x8a\xae\xe9\xbd\x6d\xb5\x03\xda\x65\x0b\x81\x5a\xbf\x21\x1d\xac\x6f\x0d\x7e\xbb\x0a\xde\xe5\x90\x72\x03\x33\x36\xf8\xf8\x95\xf9\x57\xc1\x03\x36\x57\x78\x60\x5e\xd0\x71\xa2\x3a\x55\xa0\xe4\xb7\x1c\x79\xb8\x70\x46\x95\x80\x2c\x98\x4b\x09\xdf\x58\x05\x32\x37\x8a\x46\x72\x90\xd3\xfa\x87\x57\xaf\x1e\x5e\xfd\x2d\xca\x0d\x23\xda\xc8\x88\x7e\x4b\x6e\xb5\x7e\x0b\x42\xe6\x23\x65\x1d\x5b\x97\xd1\xcb\xab\xa2\x5e\x03\x65\x3d\x13\x75\x53\x99\x68\x69\xf1\xec\xfe\xe6\x3a\x44\xdd\xd1\x4c\x98\x03\xc3\x43\xd8\xb0\x82\xce\xf2\x99\x94\x3b\x95\x14\x71\x51\x8c\xc6\xb9\x1c\x20\xe3\x8f\x68\xfe\xda\xda\xe5\x72\x1a\xc2\x97\xac\x34\x5d\xfe\xe7\xcb\x4d\xee\x53\x72\xd3\xc5\xc8\xe3\x06\xd7\x1b\x99\x1b\xf7\x1f\x7c\x53\x8d\x73\xb9\x83\x08\xff\x46\xbb\xdd\x57\x72\xd2\x19\x67\x9c\x54\xe2\x6b\x83\xa9\xb9\x9c\x57\xf3\x1a\xfc\x8c\x47\x6c\x5e\xc7\xbd\xab\x06\xd4\x67\x58\xb3\x7d\xab\x79\xc2\x3d\xc6\x1a\x79\x84\xb8\x41\xcd\x42\x52\xcd\x3a\x95\x02\xb2\x9a\xe8\x34\x50\x57\x94\xa4\x9a\x4d\x2b\x09\xd0\x53\x04\x23\xe5\x9b\x3b\xe7\xfb\x82\xc1\x1d\x79\xe7\x0e\x5d\x31\xd8\x71\xa7\x13\xf6\x06\xf9\x6d\xdb\x9c\x59\xc1\x4d\x71\xa7\x9e\xca\x51\x6e\xd7\x13\x3e\x61\xce\x1c\x57\x56\xc6\x7c\x3a\xcd\x63\x5e\xf8\x36\xa3\x53\xc2\x24\xe6\xf7\x8b\x26\x6c\xbe\xcb\x58\x37\xbe\xcb\x91\x9f\xe4\xb9\x05\xae\xbd\xc5\x4d\x73\x5c\xc6\xbd\x59\x7b\x6a\xb3\x3b\xe3\x74\x5c\x29\x2c\x1a\x5d\xc4\xe3\x58\x46\x68\xb8\xb2\x41\xc8\xb8\xb8\x13\xf4\xe9\xd4\xb7\xfd\x4e\x8f\x5f\x1b\xa2\xc6\x5a\xcd\x40\xc3\x4c\x25\xbf\x79\x2a\x34\x58\x88\x35\xe3\x48\x9c\xae\x37\x0b\x6b\xd6\x3e\x03\xb3\xf9\x5b\xcd\x63\x44\x6e\xec\x5e\xc8\xa5\xfb\xb0\x49\xcc\x8f\xe8\xf5\x07\xcb\x7c\xb0\x98\x4f\xf0\xfe\x55\x34\x05\x2d\xf8\x96\x35\x6b\x85\x20\x04\xc0\x01\x06\xa3\x11\x6d\xb8\xaf\x84\x45\x86\x30\x78\x8b\xa0\x0d\x14\x39\xdb\x06\x59\x51\x82\x04\xa8\x7c\xe1\x5a\x3d\x53\xf9\xe6\x97\x3f\x64\xf2\x5a\x53\x56\xc2\xf4\xf0\xc3\x26\xc2\x9a\xb2\x7a\x4d\x7f\x65\x59\x92\x64\xd9\xbf\x1e\x9f\xae\x9d\x63\x77\xe0\x8b\xb1\x68\x6f\x2b\x9e\xbf\x55\x8b\x58\x09\x93\x6c\xf2\x5a\xff\xf5\x2f\xab\xd7\x24\x9b\x08\x2b\x54\xf3\x3c\xcf\x6b\xaf\x1c\x9f\x9e\xa7\xb1\x68\x27\xf4\x47\x5b\xb0\x68\x1f\xfd\xb9\xdd\x81\x11\x20\xe5\xf0\x35\xd4\xeb\x34\x32\x2c\x74\xdd\x74\x94\xc6\x05\x62\x1f\x0b\x28\x61\xd1\xab\xcb\x4e\xaa\x7c\x84\x71\x9d\x61\x21\x92\x00\x65\xfc\x72\x1f\xf5\xfa\x69\xdf\xe9\xf8\xd5\x6d\x35\xfd\x03\xfe\x8e\xe5\xa7\xae\x1b\x9a\xe3\x03\x9f\x77\xee\xc6\x4d\xd3\xef\x3e\x67\xe7\x6d\x2f\xef\x7d\xe0\xc9\x46\xa6\xa4\xab\xa9\xc3\x15\x6c\x4c\x66\xda\x7f\x7b\x5b\x2b\x7e\xe6\x59\xe9\x42\xed\xd3\x5b\xbd\xd5\xb5\x5c\x66\xed\xa5\x7f\x01\x06\xce\x7c\xe9\x8f\xda\x35\xda\x47\xcf\x0e\xdd\xfd\xc1\x64\x28\xdb\x37\xf2\x9f\x57\x46\x6e\x39\x0f\x48\x9b\x12\x5a\x3a\x63\xce\xfc\x53\x16\xfc\xf4\xb5\xe2\x9e\x3e\x53\x18\xd7\x68\x64\x41\x2c\x72\x21\x37\x2a\x41\xd5\x08\xf1\xc0\xc5\x29\x55\x31\x43\x7c\x6c\xc1\xd9\x0c\x12\x47\xc5\x81\xa3\x38\xa1\x48\x2a\xa6\xab\x24\x05\x15\xfa\x0f\x78\x81\xf6\x80\xf6\xd0\xcf\x7f\x4e\xa4\xf0\x02\xed\x5f\xda\x03\x53\xc1\xa9\x7d\xac\x7d\xfc\x7d\x98\x96\xbf\x83\x7c\xe1\xe7\xda\x43\x60\xcf\xdf\x41\xa4\x22\xa3\x2f\xb8\xab\xdc\xa3\x2f\x44\x22\x44\xca\x5d\xe5\x26\x52\x11\x58\xa5\x9d\x09\x4b\xdf\x8a\x6d\xdb\x36\xfa\x06\xec\xda\xfb\xd6\x77\x1f\x7e\xf8\xe1\x45\x6f\xc1\x52\xed\x4c\xed\xa3\x6d\x80\x63\x7b\x61\x97\x76\x5d\x65\xfe\xcf\xe5\x52\xfe\xcf\x76\x3b\x8e\x48\xe5\x38\x52\x2e\xe1\x88\xdd\x9e\xff\xb3\x34\x86\xd7\x8a\x4c\x88\xda\x80\xa2\x68\x4e\xa1\x4f\x1a\xab\x76\xd1\x70\x25\x36\x76\x38\x8e\x00\x78\xc4\x52\xc6\x3e\x07\x0d\x86\xf2\x9c\x00\xe5\x08\x5e\x78\x80\x4a\x15\x57\xf1\x98\x31\x1b\xb0\x68\xa4\xc0\xaa\x65\x5a\x75\xd1\xfb\x77\x91\x0e\xe2\xd0\x24\xc0\xd4\x3d\xef\x9f\xb9\xd0\xb6\xfb\xec\xc5\x53\xa7\x80\xf2\xe0\x9d\xe0\xb9\x1d\x0e\xfe\xfa\x87\x5b\x2e\x5a\xea\x6c\xb3\x75\x4d\x55\xa7\x4e\xcd\x54\xcd\xe8\xe8\xe8\x99\xb1\xa6\x63\xe3\x5d\x3f\xdc\x7c\xe9\xc9\x8b\x3a\xfb\xd2\xfd\xbd\x0d\x95\xd3\x3b\x3a\x7b\x06\x56\xb5\x6d\xba\x07\x8f\x26\x7e\xb9\x69\xf7\xbb\x60\xf9\xfb\x1d\x67\xfe\x34\xab\x54\xae\xbb\xad\xf1\xfa\xc7\x6f\xd5\xde\xbf\x9d\xf6\x68\x1f\x6f\xda\x79\x8a\xd0\xc3\x76\x74\x65\x33\xdd\x15\xdd\x03\x03\xdd\x15\x97\xae\xdf\xb8\xf3\x3b\xa7\xb7\x77\xa6\x1a\x26\x14\x12\x2e\x39\xd6\xff\xa0\x80\xbd\xa9\xa0\x1a\xa4\x1a\x9c\x9c\xc7\x38\x0d\xc4\x42\x8c\x94\x4d\x4a\x2a\xa8\x72\x5a\x55\x68\x27\x0a\xa9\x0a\x1d\x51\x18\x57\x28\x6b\x70\xcb\x52\x52\xd6\xa9\x30\xa2\x80\x9f\xff\xb2\xe9\x3f\x1e\xd1\xce\xbf\xf7\xa9\x81\x7b\x06\x9e\x3a\xf4\xc9\x53\x7e\xff\x53\xf3\x71\x27\x6c\x29\x24\x3c\x5f\xa4\x8a\x25\x4e\x7d\x6a\xfe\xfc\xa7\xfc\x34\x3a\x81\xa5\x30\x3b\x5f\xbf\xe9\xd0\x27\xc6\x0d\xf7\x6a\xe7\xe7\x9f\x34\x12\x40\xfe\x4b\xe1\x66\xd3\x53\xf7\x16\x1e\x67\xac\xd7\x84\xe8\xfd\xd4\x6b\x28\x6c\xf8\x68\x8d\x19\x38\xb9\x62\xaa\x9b\x46\x6e\x21\x80\x43\xad\x38\x93\x46\x4a\x46\x24\x5d\xf4\xfe\x8b\xfe\xae\x8d\x68\xc3\xda\xc8\xdf\x2f\x7a\x0a\xfa\x5f\x7c\x53\x7b\xb3\xc8\x6b\xbb\x44\x7b\xf3\xcd\x17\xa1\xff\x29\x9c\xbb\x5f\xcf\xbc\xe8\xef\xd0\x7e\xff\xab\xb0\xee\xe3\xe0\x81\x6a\x6d\xf8\x9d\xed\x05\x1a\xdb\xed\xef\xc0\x50\xf5\x81\xe0\xc7\xda\x25\x08\x01\xe2\x0f\x23\xfa\x43\x1a\xa1\x53\x10\xe2\xb3\x2e\x35\x59\x27\x30\x2c\x69\x18\x93\x18\x0e\xec\x90\xd0\x87\x27\xa2\x06\xd4\x00\x04\x21\x6b\x58\x03\xe9\x02\xa3\x9e\x69\x04\x58\xc3\x2b\xbe\xe0\xec\x9e\x20\x6b\x40\x4e\x89\x75\x01\x93\xe4\x2a\xda\x96\xf3\xa6\x3f\x3c\x43\x81\xa9\xac\xbd\x3e\x4c\xf5\x4c\x4e\x2e\x9b\xda\xea\x74\x2a\x7e\x87\xcf\xce\x5a\xca\xab\x2b\x58\xfb\x32\x65\x9a\xc0\x83\xe2\x16\x6e\x1d\x0e\x2b\x04\x29\x4e\xf7\xfb\x97\x56\x0d\xf0\x7c\x30\x22\xd4\x84\xe7\xcd\x98\x24\xba\x9b\x7b\x3c\x64\xa8\xa2\xae\x9c\xb5\xb3\x8c\xa5\xac\x7a\x7a\x5d\x77\x65\xad\x9f\x07\xe2\xcf\xda\x99\x87\xf7\x69\x7b\xff\x79\x01\xbe\xfa\x75\xd8\xb4\x0d\xb0\x29\xb5\x64\xfd\xb5\x57\xdd\x39\x29\xa9\x38\x83\x9c\x33\xb5\x63\xed\xa9\x81\xd2\x92\xba\xb0\x97\xa6\xd7\x71\x13\xbd\xbe\xda\x55\xa1\xe0\x23\x0f\x25\xd6\x44\xc2\xf1\x49\x1c\xb7\x8e\x9d\x5c\x5a\x5a\x7f\xc3\xbe\xf6\xea\xa0\x10\xe6\x9c\x99\x2d\xeb\xb7\xac\x5e\x7a\x52\x0b\xc7\xd9\x89\xd2\x48\x67\xb2\xbf\x77\xc9\xb2\xed\x93\xb4\xbc\x76\xea\x3b\x57\x7e\x0e\x03\x05\xb9\xc7\xe8\x6b\x36\xe4\x43\x65\xa8\x1f\x2d\x42\xa7\xa3\x8d\xe8\x22\x74\x1d\x42\x94\x5b\x8e\x29\xaa\x28\xa9\xa2\xc4\x88\xc0\x88\x12\x23\x3b\x55\x89\x66\x24\xda\x2d\x80\x44\x93\x4c\x26\xab\x2a\x59\x55\xca\x12\x8c\x28\x30\x12\xcd\x28\x7a\x5e\x44\x51\x65\x85\x91\x15\xa3\x5b\xea\xb9\xaa\x92\x4d\x4a\x8c\xfe\x18\x70\xd3\xc5\xcb\x94\x6c\x0c\x39\x19\x25\x5b\xb0\xbd\x54\x65\x45\xd5\x6f\x31\xee\xd2\xbb\x02\x1a\xe7\x0c\x43\x16\x9c\x63\x8e\x31\x83\x27\x56\xbc\xac\xdd\xbc\xa2\xb1\xb4\xaa\xe3\xca\x37\xb8\x8e\xfc\x5f\x4f\x12\x7d\x0d\x27\x9f\xdc\x10\xe0\x07\xa2\x94\xa9\x71\x85\x76\xf3\xcb\xf5\x1d\xdc\x1b\x57\x76\x54\x6d\x7a\x97\x65\xff\x11\xec\xda\xd7\x30\xbf\x36\xbd\x30\x5d\x3b\xbf\x61\x5f\x57\xf0\x1f\x2c\xfb\x6e\xb8\x73\x5f\xd3\xdc\xda\xaa\xd3\xab\x6a\xe7\x36\xed\xeb\xd4\x2a\x3a\xea\xf5\xcb\xe5\x68\xc3\x0a\x18\x22\x9d\x27\x37\xf8\xc4\x93\x62\xd1\x01\x3e\xd0\x20\x36\x44\x65\xfd\x47\xea\x3b\x7e\x03\x43\x60\xff\xde\x01\xed\x17\xda\x9d\xda\x2f\x0e\x7c\xef\x7b\x07\xa0\x19\xe6\x43\xf3\x81\x07\x4f\xf0\x81\x2c\xe9\xa4\x5f\xba\x2f\x52\x97\x6c\xf8\x61\xd5\x6c\x1b\xe6\xfc\xcd\xe9\xf0\x5e\xb8\x7e\x6f\xb8\xbe\xde\x7f\xea\xea\x33\xb4\x7f\x44\xee\x7b\x89\xee\x04\xdb\xec\xaa\x1f\x36\x24\xf1\x82\xfe\x8a\xd9\x15\xfd\x0b\xa7\xde\xd6\xe5\xfa\xc4\x62\xf9\xc4\xd5\x75\xdb\xd4\x85\x46\xd2\xa2\xbe\xdb\xba\x5d\x1f\x5b\x2c\x1f\xbb\xba\x6f\xeb\xc3\x72\x27\xb6\xce\xae\xb8\xbb\xbe\xa2\x3e\x7c\xdf\x4b\xf9\x7b\xb5\x25\x7b\xff\x7f\x9c\x7d\x07\x9c\x14\x45\xda\x77\x3d\xd5\x69\xc2\x4e\xec\x99\xee\xc9\xbb\x93\x7a\x36\x2f\x3b\x71\xf3\x0e\x69\x49\x4b\xce\x79\x41\x32\x28\x49\xa2\x08\x43\x12\x14\xf5\x14\x15\x03\x06\xee\x3c\x10\x91\x43\x51\x4f\x45\x51\x57\xef\x3c\x03\xea\xe9\x9d\xfa\x1e\x9e\x7a\x78\xe7\xdd\x7b\xfa\x5e\xf4\x92\xb0\x3b\xc5\xf7\xeb\xea\xd9\x00\xea\xdd\xf7\xbe\xb0\x3d\x5d\x5d\x55\xdd\x5d\x55\x5d\xf5\x54\x78\x9e\xfa\xff\x83\xc9\x26\xdf\xe2\x2b\x57\x2d\xf0\xd5\xd5\x05\x95\x60\x5d\x79\xdd\xc3\xe5\x53\x8c\x78\x10\xff\xd3\x3c\xa2\x29\xdb\xd3\x3f\xb5\xf8\x81\x6f\xb2\xce\x17\xfa\xed\x8b\xb5\xa2\x7a\x34\x14\x2d\x45\x6b\xd1\x4e\x84\xa2\x8e\x70\x28\x95\x4c\xc4\x99\xc2\x59\xca\xa4\xf8\x70\x8f\xd9\xbd\x93\x77\x3a\xe8\x4f\x00\x27\xe2\xea\xb4\x43\x15\xc3\x74\x06\x12\x4b\x8b\x09\xda\x6b\x84\xd5\xf1\x0d\x97\xd2\x70\xe3\xe3\x52\x22\x15\x56\xfd\xfc\x10\x76\xaa\xe2\x37\xe1\x0c\x3b\x1d\x01\x86\x2a\x8f\x34\x45\x4c\xfa\x72\x0a\x54\xdc\x36\x7b\xf9\xfc\x45\x91\x91\xa3\x47\x47\x94\x23\x63\xea\xe3\x4d\x53\xd6\x37\x56\x2a\x65\xab\x4b\x87\xb4\x57\x9c\xeb\x18\xe3\xad\xad\x1d\x3d\xc3\x10\x1d\x76\x3d\xc6\xd7\x33\x70\x21\xa0\xa4\x92\xfa\xb0\x7e\x29\x73\x23\xdb\x14\x01\xc6\xca\x62\xce\x5e\x5c\xa7\x64\xc9\x6b\x03\x86\xd7\xc6\xdb\x6a\xf1\x82\xfe\x2a\xb1\xcf\x06\xb5\x66\xe1\x8e\xc9\x93\x66\x24\xa2\xd7\xfa\xfd\x6b\xa6\xc4\x97\x58\x18\xdb\x90\x94\x8b\x89\x2e\xaa\x1a\x1c\xb6\x9e\x1e\x9c\x35\x73\xc5\xae\x4a\x9d\xe5\xaa\xb1\x2e\x9f\x9e\xcc\xf3\x66\x60\x67\xb5\x2c\x0f\x20\x1b\xe3\xfa\x4d\xce\x09\x9f\xe2\x75\x13\x1c\xae\xe2\x9a\x75\x0c\xe0\xb3\xd1\x74\xa3\xe2\xc2\x1f\x46\x32\xe9\x68\x24\x95\x9e\x78\x19\xc6\x2b\x8f\x86\x5c\x44\xfc\x69\x8a\x81\x6d\xa5\x6b\x98\x2b\xd0\x06\x84\xa2\xc9\x70\xc8\xe9\x48\xc4\x19\xb5\x47\x52\x1d\x6a\xcb\xa0\x4c\xea\x14\x99\x85\x73\x5a\x83\x21\x6a\x9a\x9c\x52\x27\x0f\xa9\x82\x1e\x5f\x8e\x43\x38\x9d\xb2\x25\x63\x09\xde\x69\x73\x44\x9d\x14\xd5\x2a\x65\x4b\xa4\x42\x14\xb1\x3f\x91\xa2\x21\x09\x67\x48\xa9\x00\x9b\xa3\x60\xf9\xad\xf5\x7f\x78\xe2\xe1\xfb\x8f\xdf\xd9\xd8\xd4\xb8\x65\xcb\x06\x30\x45\x2a\xac\xfb\xb7\x94\xc6\xaa\x86\x4d\x99\x32\xac\x8a\xdc\x31\x74\xf3\x55\x03\x9f\x1a\xdc\x3a\x7c\xee\x0b\x37\x76\x4c\x98\x0f\x4f\x7d\xc2\xb2\x9f\xb0\x78\xf6\xb0\xc5\x2d\x33\xe2\x7e\x1d\x16\x5c\xbc\x53\xe9\xe0\x7f\xc3\x3f\x62\xa9\x37\x4f\x9e\xda\x9c\xff\xcb\x98\xfa\x86\x71\x63\x1b\x1b\xa4\x05\x4b\x16\x32\xb3\x9a\x27\xdc\xba\x07\xde\x7a\xa3\xc8\x50\x51\xb6\xed\x09\x59\xa7\xc4\x8a\xcb\x64\x67\xa0\x6a\x62\x3d\x79\xc7\x5d\xbf\x7c\xe4\xe1\x26\xb6\x6c\xf2\x95\x3e\xd6\xf5\xf0\xf8\x7d\xa7\x6a\xba\x5f\xa8\x9a\x8e\xe7\xcd\x09\x05\x67\xe6\x0f\x4e\x3f\xf9\xe3\x58\x69\x53\xc7\xb4\x46\x98\xcb\x62\xfe\x85\xf6\x74\xb8\x6c\xcb\x0b\x2c\xb9\x6d\x27\x6b\xbe\x7a\xea\xd4\x86\xc6\x69\x5f\xe7\xa5\xd6\x43\x98\xe1\x85\x18\x13\x06\x5b\xe2\x6b\xfb\x3d\xca\xc0\xb0\xea\x3e\x97\xa3\xfc\xe0\x46\x10\x16\xe2\xff\xba\xc4\x28\xdd\x01\x7f\x23\xaf\x0d\xa8\x9c\x05\x75\x44\x24\xa7\x99\x1b\x2e\xe5\x9e\xad\xbf\x88\xd8\x57\x79\x84\xfc\x14\x2b\x48\x03\x07\x13\xb0\x28\xf1\x42\x38\xa4\xc4\x14\x0d\xb9\x31\x95\x4c\xc7\x59\xab\x2a\xfe\x0b\xd0\x1d\x14\x4a\x4c\x03\x16\x72\x3a\x64\x0d\xfc\x38\x95\x6c\xc1\x89\x38\xcb\x8c\x5c\x33\xb6\x29\xd1\x92\xfa\x57\x15\x78\x9d\x9c\x23\x80\xcd\x4e\xa5\x6d\x48\x69\xf3\x30\xeb\xea\x43\xf0\xa7\x7b\xc9\xdf\xee\xcf\x0e\x76\xca\x1c\x17\x71\x26\xea\xe7\x3d\x9e\x6b\x6f\xcf\x3d\xfe\xf2\xe3\xb9\xf6\xa4\xc1\xa4\x94\x19\xb2\xb3\xef\xfd\xc5\xfa\xfb\xc1\xc4\x3a\x0e\xad\x0e\x0f\x1e\x4b\x6e\x22\x2e\x29\x88\xbd\x8e\xad\x7f\x7b\xf1\x87\x3b\x9a\x66\x8c\x0a\x97\x8f\x5b\x5d\x4d\x7e\x4c\xfe\x7e\xaf\x99\x8b\x3a\x1d\x32\x6b\x2a\xdc\xde\x9e\x7b\x7c\xde\x9a\x25\x8e\x52\x87\x59\xbc\xe6\xe6\x0d\xbf\xb8\x77\xd6\xbd\x08\x90\xbd\xd0\x0f\x2e\x45\x08\x0a\x86\xb2\x99\xa4\x9d\xae\x3c\x07\xf8\x62\x50\x2b\x9d\xd3\x11\x00\x67\x61\x54\x55\xcd\xc6\x94\xb0\xc0\x0b\x01\x0d\x7d\x33\xdc\x43\x29\x43\x0d\x6d\xab\x99\x94\x46\x2c\x13\xcf\xa4\x53\x14\x28\x26\x24\x98\x41\x2b\xa4\x94\x15\xcc\x3a\xc9\x04\x36\xf3\xa9\x6b\xf7\x9d\xda\xbd\xbb\x76\x42\x53\x3c\x54\xec\x28\x82\x8c\x9d\x61\x47\x4f\x8d\x45\xf4\x4e\x9b\xd3\x68\x05\xc0\x5c\xe3\x08\xc7\xc4\x8c\x0e\xb3\x5c\xf6\x4f\xa9\xb5\xe3\xb3\x16\x9d\x39\xab\x2b\xfb\xc1\x84\xf0\x90\xf5\x93\x06\x3a\x8a\x8d\x8d\x0e\xd6\x80\xf1\x80\x8d\x26\x8e\xd5\xd9\x47\x94\x01\xcb\x32\x32\xfe\x50\x0c\x3a\x1a\xac\x52\x4b\xd1\x3e\xa8\x68\x1a\x94\x71\xa6\x1b\xc6\xb4\x5d\x31\xae\x81\x9b\x38\xd8\x9c\x2c\x02\x8e\x83\x35\xaf\xaf\xa8\x58\x63\x71\x94\x38\x8b\x31\xb0\xf7\x0c\x75\x44\xab\xcb\x59\x17\x3f\xcf\x2e\x89\x1c\x66\x01\xaa\x4a\x19\x8b\x27\x1d\x2d\x8d\xf9\xb1\x04\x18\x63\xc6\xf8\x7c\x0b\xe3\x28\x1b\xcc\xea\x21\x5d\x0d\x62\xcf\xb8\xab\x45\x87\xb8\x97\x29\x4e\x78\x10\x55\xa1\x11\x14\x43\xb6\x6f\xd0\xde\x5f\xd5\x8d\xbf\xd9\x1b\x94\x70\x88\x55\xeb\x03\x6d\x9c\x31\x21\x13\xb1\x25\xed\xea\xb8\x54\x02\x07\x2f\xc8\x1a\xe8\x9c\x95\x8e\x54\x25\x3c\x24\x5e\x56\x31\x68\x50\x45\x19\xe3\x4e\x94\x7a\xab\xaa\xbc\xa5\x89\x3f\xd4\x6a\x3e\xf8\x78\x32\xa6\xfa\xc4\x92\xe4\x9f\xc5\xb1\x87\xc9\x67\x0f\xca\xe1\xa0\x67\x40\x8b\x77\x82\x3e\x3f\x9c\x7c\xf2\x23\x18\xfd\xca\x63\x50\xff\x73\xbc\xf2\xfa\x75\x99\x57\x0f\x0c\x51\x23\x3c\x08\xbe\x87\xbf\x0b\xbe\x47\x58\xc3\x84\x78\xa2\x34\x96\x20\x73\x7d\x95\x55\x5e\x5f\x55\x25\xfc\xf9\x72\x8f\x63\xec\x3d\xe4\xfc\xbd\x63\x46\x32\x8c\x81\xb5\xe1\x6d\x1f\x9e\x81\xe2\x87\xc1\xf7\xe0\xae\xcf\xf3\xad\xeb\xde\x9f\xfa\xc3\x2b\xa3\x37\x7d\x09\x81\x2f\x6f\xba\xe9\x6f\x1a\x7e\x09\x7f\x91\x47\x14\x8d\x43\x12\x0a\xc0\xc2\x51\x46\x83\x48\x4a\xd9\xf4\x10\x55\x62\x1a\xba\x32\xff\x59\x90\xbf\x88\x38\xaf\xd9\x66\x34\x91\xc6\x2f\xed\xc5\x26\xbd\x28\x33\x1d\x5d\x3f\x27\xeb\xa2\x0c\x0e\xf1\x39\x8b\xcd\xc1\xfd\xc3\x55\x7a\x01\xf9\xad\x3a\xee\x14\x39\x2b\xb3\x42\xd0\x01\xb3\xd9\x70\xf7\x15\xdf\x33\x97\x95\x8a\x4c\xa7\xbe\x0f\x2f\xe1\x22\xf7\x2f\xe4\x41\x25\x97\xbc\x15\x7a\xde\x5a\x78\x27\x88\xc0\xe9\xa1\xff\x7b\xf3\x7f\x25\x1f\xd8\xfd\x66\xbd\x28\x91\xd2\x28\xc3\x84\xf9\x5c\x98\x9c\xf9\xf8\xc2\x22\x18\xc7\xcc\x25\xa1\xbe\xb7\xff\x17\x39\xe5\xa4\x6f\xff\xf1\x4b\xe6\xb2\x98\x83\xe9\x74\x5e\x30\x73\x15\xdd\xaf\x5c\x8f\xb7\x75\xff\xe6\x12\xb9\x93\xa4\x32\x41\x1d\x7f\x84\x43\x11\x6d\x2e\x9b\x90\x0a\xa6\xfb\xd4\xa2\x9f\x17\x64\x49\xe8\x91\x44\x14\x2e\x98\x7e\x5c\xee\x52\x42\x5b\x6d\xfb\x3e\x8f\x36\xbf\x4d\x3e\xbb\xf7\x38\x79\xe3\x4a\x01\x74\xd7\x1b\x2c\x56\x61\xc4\x7b\x1b\x96\x3c\x7f\xc3\xf8\xf1\x37\x3c\xbf\x64\xfe\x93\x6d\xd7\x17\xdb\x6c\xe5\x24\xeb\x51\x4a\x63\x81\x1d\xcb\x41\xbc\xed\x5e\xf0\xbd\x9d\xbf\xd0\x63\xbc\x77\x8e\x1a\xa1\x31\x3e\xf2\x1a\xf9\xec\xed\xcd\xb7\xee\x32\xb8\x75\x37\xe8\xb1\x61\xee\x92\xf1\x37\x3c\xff\xce\xf3\x37\x8c\x1f\x36\xe8\x86\x40\xac\x54\xf1\x40\x67\xb9\xcd\x56\xbc\x7d\xe1\xca\xcd\x6f\xdf\x45\x7a\xad\xf9\x3a\x7a\xec\xd7\xfa\xec\x57\x28\xd7\xbf\x19\x5b\xe9\x38\xdc\x5a\x0d\x97\xec\x26\xdb\x41\xba\xb5\x91\x35\x1d\x82\x2f\x7a\x04\x6e\xbd\x4c\x71\xc8\xa1\x45\x8f\xfc\xb1\x7f\x24\xf2\xf4\xd7\x74\x83\x2d\x17\x73\xfc\xcb\x5c\x0e\xed\x46\x88\x2b\x58\x9f\x51\x29\x99\x49\xa7\x98\x64\x4c\x63\x1b\x77\x32\x0e\x39\xc0\x14\x66\x75\xfd\x63\xc4\x6c\xc9\x74\x35\x1b\xab\x86\x1e\xda\xa7\x44\x5c\x9b\xbd\x99\xb1\xc0\x3b\x45\x87\x2c\x25\x82\xaa\x2c\x12\x93\xb1\x6a\xfc\xcd\x31\xe8\x73\xf9\xfd\x95\x27\xab\x2a\x1f\xab\x74\x79\x42\x95\x0d\xd6\x20\x80\x29\x9a\x9f\xad\x98\x00\xa2\xd6\x6c\xbc\xd4\xed\xaa\x39\x55\x5d\x71\xac\x5c\x76\x17\x97\xa5\x2d\x41\x50\x65\x94\xce\xac\xb7\x34\x55\x47\x5c\xae\xea\x53\xd5\xe5\x0f\x97\xbb\xdd\xa1\x8a\x3a\x4b\x18\xc0\xe4\xc1\xcf\xb9\x4d\x00\x61\xfb\xf8\x84\xdb\x5d\xf9\x58\x65\xc5\xf1\x0a\xb7\x3b\x5c\xd5\x60\x09\x43\xc8\xda\x54\x13\x71\xe5\x04\xa1\xcc\x5d\x1c\x60\x0d\x06\xe7\x06\xd8\xe3\x34\xb0\xac\xc1\x49\x6e\xba\x59\x32\xf0\xe0\x2f\xf6\x54\x0a\x42\xb9\x2b\x10\xe0\x0c\x06\x79\x63\x3d\x53\xc5\x54\x7b\xe3\xa1\x98\x8b\x37\xb0\x3e\x1a\x56\xe9\x09\x78\x31\x6f\x70\xee\x23\x9d\x4e\x23\xc3\x18\x9d\x90\xdd\xe7\x34\x32\xb2\x52\x08\xf4\x01\x67\x90\x6f\xe8\x1e\xbf\xc1\x69\x10\xb0\x3f\xe0\xa9\xa4\x18\x43\xae\x8b\x39\x96\x70\x39\x54\x59\xc0\x8f\xa0\xdb\x4f\xfa\x0c\xb4\xc3\xbd\x2e\x25\x46\xfb\xa8\x4c\x3a\x93\x2e\x83\xb8\xc4\x92\xa8\x2b\xce\x7a\x78\x26\xe2\x5e\xe1\x8e\x7c\x27\xec\x59\xe1\x09\xdf\x36\x7f\xeb\xa0\xec\xb4\x69\x9b\x56\x42\x1c\x7e\xe5\x8e\x70\x83\x47\xf8\xb3\xc0\xbb\x8d\xa9\xae\x9c\x3b\x12\x71\xb3\x2f\x77\xb5\xa8\x67\xf8\x4b\x51\x4d\xc3\xa6\x75\x37\x1f\xd9\xb8\xbe\x2c\x1a\xa1\xf3\x08\xb5\x4e\xa1\x7e\xbc\x23\x35\xa8\x15\x0d\x46\xc3\x10\x8a\x3a\x83\xa9\xe8\xd7\x2c\x85\x83\x29\xd1\x19\x4e\xa9\x67\xe6\xf2\xb0\xcb\xd7\xca\x9c\x61\x4a\x53\x09\x1d\xe4\x10\xa6\xf4\x5a\x05\x5c\xb7\x43\xdd\x87\xce\x9d\xe3\x51\xbe\xe4\x5c\x9f\x27\x93\xeb\x73\xe3\xec\xb9\x73\xdd\x87\x72\xb9\x5c\xae\x1f\x88\x9c\x02\xb9\x5c\x0e\xa3\x5c\xae\x1b\xe5\x72\xec\x25\x21\x04\xf5\xbf\x2a\x44\xd3\xf4\xdb\x05\x6e\x7a\x04\x71\xc9\xca\x97\xa8\x65\x18\x55\xeb\xa9\x55\xed\x47\xa3\x6a\xe5\x2c\x91\xac\xaa\x74\xe2\x24\x87\xc0\xa5\xd9\xce\xdd\xcf\x3d\x47\xfe\xf9\x1c\x26\x77\xcd\xda\xba\xfb\xb9\xe7\x76\x6f\x9d\x05\x4b\xf0\x73\x60\xa0\x4e\x72\x17\xc6\xb0\x64\x16\x46\x6a\x94\xe7\x76\x17\x49\x4f\x4e\x51\x83\xa6\x3c\x29\x15\x69\xb7\x4d\x79\x52\x72\x49\x4f\x4e\xb9\xa4\xad\x52\x5e\xfc\x88\xb6\x07\x36\x9d\x8c\x65\xa4\x84\xb6\x94\xec\x74\xd0\x0d\xce\x94\x1c\x2f\x43\x37\xc4\x7e\x6d\x2b\x1f\x87\xae\x9d\x36\xa9\xf9\xaf\x18\xff\xb5\x79\xd2\xb4\x6b\xaf\x7d\x6c\x2b\xfe\x6b\xcb\xc4\x69\xd7\x5e\x3b\x6d\x62\xcb\x5f\xf1\xd6\xc7\xe0\xda\xfe\x43\xa5\xfc\x63\x5b\x1b\x36\x5a\xcd\xd6\x8d\x0d\x5b\x1f\xbb\xf6\xda\x69\x82\x75\x63\xfd\xb5\x8f\x5d\x5b\xbf\xd1\x2a\x4c\xbb\x96\x39\xd7\x7f\xdc\x24\xf4\xce\x1d\x6d\xa8\x06\xb5\xa0\x76\x34\x0d\x2d\x40\x6b\x11\x42\x74\xd9\x97\xae\xf0\x52\xc5\x44\x26\x0d\xb2\x20\x4b\x0e\x0b\x45\x40\xe8\x9b\xc8\x25\xe2\x32\x35\x94\x15\xe9\xe2\x71\xc1\x6a\x56\x72\xc8\x7c\xff\xab\xb4\x56\x77\xa9\xfc\x8c\x15\x4c\x57\xa8\x56\x5d\xc3\x76\x49\x6a\xd0\x68\x0e\x3c\xd4\x31\xc0\xbd\xe2\x48\xa5\xc1\xe1\x36\x19\xcb\xed\xa1\xed\x93\xdc\xcc\x33\xd5\x7f\x1f\x22\x8a\xd9\xe9\x2b\x9f\x27\x5d\xe4\xd7\xa4\xeb\xf9\x95\x14\x4e\xf5\xa9\xef\x66\xc5\x94\x38\xa4\xcb\x50\x64\x32\xcc\xd4\xeb\x0d\x1e\xc3\x0c\xc3\x47\x46\x97\x71\x86\xc1\xa0\xf7\xea\x67\xea\x4b\xec\x66\x0a\x7c\xd2\x61\x3e\x61\xf7\xd9\xed\x3e\xfb\x9d\x33\xd5\xa8\x06\xc3\x0c\x83\xc7\xa0\x67\xee\x89\x3b\x0c\x95\x47\x56\xb8\x07\x18\xb8\xd2\x49\xdb\x43\x46\xf8\x41\xf5\xdf\x86\x88\x29\x31\xfb\xdd\xa7\xbe\xd3\xf3\x0e\x08\x00\xf7\xfc\xca\xe9\x59\x51\x1c\x02\x95\x85\x1b\xf5\x33\xf5\xde\x3f\xd3\x5f\x3d\xf5\x79\x8e\x3e\xfb\x50\xe1\x55\x76\xfb\xd0\x9e\xf7\xeb\x0d\x9e\x02\x2e\x81\x5a\xb6\x2c\x72\xa8\x5f\x1e\xa2\x1c\x13\xc4\x97\x2d\x01\x41\xba\x19\x84\x98\x28\x2b\x31\x99\x8b\x66\x78\x21\x23\x0a\x31\xa7\x43\xce\x70\xa2\x20\xc5\x33\x31\x31\x8a\xe7\x41\x31\x14\x5f\x49\xee\xe3\xbe\xbe\x06\xc4\x5e\x79\xc7\xa2\xbf\xb4\x5e\x77\xe0\xcf\x29\xf2\x29\xf9\x34\xf5\xe7\x03\x7b\x5a\xfe\xb2\xe8\x8e\x00\xb4\xed\xbb\x7a\xdd\x3f\xd7\x5d\xbd\x0f\xda\xf0\x3b\xef\xbc\x43\x1e\x63\x73\xdf\x30\xc1\xed\x1a\x7e\xa6\x8b\x99\x7e\x0e\x06\x17\xbd\xdd\xbe\xe5\x81\x07\xb6\xb4\xbf\x5d\x44\x9e\x3f\x37\x9d\xe9\x3a\xb3\xab\x94\x7c\x30\x34\x16\x1b\x0a\xe5\xa5\x88\x72\xd7\x15\xf8\xa1\x7b\xf6\x14\x8c\xa0\xac\x21\x9b\xd0\xf5\xe8\x7b\xe8\x71\x74\x5a\x95\x0e\x3d\xcc\xd5\x05\x2a\xf7\xcb\xae\xe1\x3f\x84\x47\x7b\x8c\x9a\xc2\xff\x29\xe6\x7f\x0e\x0f\xa6\x92\x1c\x4b\x81\x1d\x5a\xd8\x48\x09\x1b\x60\x6d\x97\x45\xb1\xf5\x12\x87\x82\xc6\x12\xa9\x51\x45\xf6\x39\x71\xf6\x1b\xbd\xf3\x2f\xfb\x14\x8c\x15\x2f\xbe\xf8\xbf\xb9\x0b\x72\x79\x42\x76\x90\x1d\x79\x62\x4b\x8c\xbb\xe9\x09\x30\x41\x0b\x14\x3d\x79\xd3\xb8\x84\xad\x2f\x8e\xe2\x25\x39\xaf\x72\xae\x8f\x47\xb4\x8f\x5d\x94\xac\xf9\x26\xdf\xfd\x8a\x77\xfb\x76\xaf\x92\xff\x5f\xdc\x02\x37\x98\x0c\x4b\x30\x2c\x34\x98\x6c\xc9\xf6\x51\xa3\x1b\xa2\xd1\x86\xd1\xa3\xda\x93\x64\x6a\x5f\x8c\x49\xdb\xbd\x8a\xe2\xdd\xde\xab\xf7\x2b\xe0\x22\x38\xa8\xf5\x4e\x7d\x01\x07\xac\x57\x2e\x89\xe9\x44\x90\x2a\xfa\x7a\x3c\xa8\x2a\x21\x2e\x43\x2f\xb4\x1b\xd7\xeb\xc2\x9d\x8a\x47\xf1\x10\xe4\x51\xce\x0b\x2e\xfc\xfb\x8b\x88\x45\xda\xa5\x47\x81\xa3\x2e\xa1\xfb\x2c\x39\x64\x37\x43\x89\xd9\x8e\x0f\xf5\xb8\xd8\xce\x3c\xf2\x28\x79\xda\x55\x60\xc4\x2c\x95\xf3\x59\xdc\xd9\x9d\x23\x85\x4e\x41\xf1\x30\x48\x86\xcc\xb9\x3e\xd2\x73\x6d\x9c\x4b\xd3\xec\x57\x47\x9c\x0e\x01\x64\x81\x67\x63\x10\x4e\x81\x62\x6f\x05\x19\xd2\x71\xea\x09\xe9\x38\xff\xcb\x68\x94\xac\x3c\x70\xe8\x41\xd2\x78\x8a\x1c\xf8\x21\x2c\xdb\x52\xf3\xe0\xa1\x03\x70\x8b\xb2\x6c\x64\x94\xac\xfa\x02\x6e\x55\x96\xb1\x8d\xca\x52\x85\xac\x3a\x70\xe8\xc1\x9a\x2d\x34\xca\x29\x78\x45\x8d\x73\x6b\x74\xe4\xf2\x28\x59\xf9\x05\xdc\x12\xa5\xba\x7f\xf7\xc5\x22\xfe\xbf\x29\x6f\x9f\x13\x35\x50\x56\xa2\xfe\x28\x08\xdf\xc0\x75\x19\xe0\xe2\xe9\x44\x9a\xc2\x7b\xa6\xe5\x78\x00\xb7\x70\x19\x5e\xb0\x6b\xbb\xef\x32\x0c\x55\xfb\x17\xf8\x12\x44\x4a\xbe\x10\x00\xb9\xd0\x07\x38\x6d\x99\xb4\xc4\x2c\xdd\xf6\xf8\xb6\x6d\x8f\x6f\x83\x7f\x6e\x9d\x31\x7d\xdb\xb6\xe9\x33\xb6\x7e\x9a\x1d\xdb\x75\x74\x62\x63\xc5\xcc\x61\x33\x13\xd3\x7d\x93\xf1\x10\x2f\xcf\x7a\xc2\xc2\x4a\xae\x55\x1e\xa2\x0c\x4b\x8c\x68\x1e\xf9\x93\x4d\x5d\x93\x96\x0f\x5a\xb7\x64\xcc\x14\x16\x74\x41\x01\xd8\xa9\x63\x97\xac\x1b\xb8\x74\x62\xd7\x26\x77\x79\x8c\xb5\x30\x73\x06\xb3\x9f\x0f\x9e\xe3\x8c\x95\x33\xbe\x89\x1b\x36\x4c\x9c\xb4\x7e\xfd\xa4\xc2\x99\x7c\x85\x0f\x4e\x1d\x31\x64\x56\x7e\xae\x1c\x92\x2c\x02\xb0\xe0\xe3\x19\xb7\x67\x26\xcb\x00\x30\xbc\xd1\x2a\x17\xbb\xee\x58\x4c\x7e\xf3\xe4\xea\x70\x49\x4d\x62\x35\xb4\x01\xd6\x01\x39\xb1\x26\x5e\x53\x12\x59\xf3\x24\x78\x17\xdf\x11\x4d\x7a\xb1\x81\xc1\x4f\x0d\x5f\xb4\x68\x78\x7e\xa4\xc5\x9b\x54\xcb\x6c\xc1\xc5\x1c\x7f\x6f\x41\x4f\x6b\x41\x6e\xb5\x66\x51\x3a\x31\x9b\x98\xb1\x05\x6d\x41\x67\x06\x6c\x10\x14\xc2\xa9\xa0\x4d\x64\x72\xb7\xe2\xe2\x5b\x6f\xcd\x77\x4d\x81\xb6\xb3\x8c\x8f\x8c\x21\xcf\x9e\x3d\x4b\xd6\x5c\xc9\x8e\x21\x63\xe0\x71\xf5\xc8\xeb\x08\xe3\xed\xfa\xef\xb3\x67\xd9\x63\xdd\x46\x32\xe6\xec\x59\xf6\x3a\x08\x6a\x75\x78\xfa\x45\xe0\x8e\x71\x79\x24\xa1\x0a\xd4\x8a\xc6\xa0\x85\xaa\xa4\xc2\x6a\x51\xd3\x41\x94\x36\x0b\xa6\x00\x9e\x31\xde\x02\x2c\xdd\xd7\xa8\xb4\x80\x1c\x97\xe9\xd6\x37\x50\x3b\xc0\x98\xc2\x50\x70\xce\x02\xcf\x03\xa8\xdf\x06\x14\x0a\xeb\x29\x4b\x76\x4e\x12\x78\x8e\x17\x32\xbc\x86\xb6\x4a\x4d\x6a\x02\x20\x33\x1c\x70\x45\xb1\xf4\xc5\xb0\x89\x05\x8e\x6d\xba\x13\x1a\x2d\xb5\x6e\x97\xf7\x00\x53\xbb\x91\xfc\xd1\x16\x16\x8b\x38\x9d\xbd\x3c\x6c\x7a\x7e\x58\xe5\x24\xd9\xcd\xd4\x0b\x0f\x27\xa2\x1e\xf3\xb1\x1a\x33\x67\x0b\x0f\x80\xf5\x67\xc6\xe8\x7c\xf9\x19\x5c\x63\x43\x1d\xb9\x4e\xe7\x2d\x83\xd1\x0d\xa5\x7a\x46\xc1\x07\x19\xbf\x85\xfc\x64\xb0\x0b\xe4\x6a\x73\x20\x00\x23\xaf\x8d\xeb\x7d\xd1\x01\x07\xf8\xb3\xdb\xc8\x47\xa6\x12\x9d\x7e\x4e\xb9\xc5\x59\x64\x36\x8c\x7c\xa2\x4d\x34\xea\x0d\xca\x67\x19\x4b\x6c\x1a\x0e\xb9\xe3\xed\x3f\x1c\x82\x47\xfb\xed\x21\x7d\x05\x39\x9d\xfe\xc0\x61\x76\x1a\xc0\x39\xda\x19\x77\x56\xd8\x20\x36\xc8\x2b\x48\x78\xfc\x22\x87\x6d\x1a\x9e\x12\xf6\x56\xcc\xb6\x18\xc2\xf6\xfc\x4b\xaf\xc5\x1c\x86\x76\x8b\x0e\xf3\x0e\xa9\xa6\x14\x16\x3e\x32\x88\x17\x6d\xf2\xc7\xf5\x74\x7f\xbf\xa6\xc7\xc9\x5d\xb2\xf7\xc1\x8b\xc2\xa8\x92\x72\xd6\x04\x6d\x41\x3a\xca\xb3\x51\x98\xc7\xd4\x25\x87\x3a\x86\xa5\x8b\x84\x41\x9b\x43\xb8\x04\xd2\x21\x98\x62\x11\xc9\x41\x2e\x97\xa7\x3b\x35\x38\x44\x10\xee\x77\x74\xa3\x9c\x92\x54\xf8\xdc\x05\x64\xe4\xce\x78\x94\xdc\xaa\x71\xe7\x73\xe3\x56\x01\x52\x6f\xba\x88\x72\x39\x06\xd1\xfb\x50\xaf\x3e\x9e\x1e\xdd\x59\xa6\x53\x03\x12\x66\xb3\x5d\x9d\xc1\x62\x85\xfd\xb0\x8b\xda\xaa\xb2\xd9\x1c\x62\x51\x39\x32\x09\x1f\x50\xbc\x85\x62\x54\x8f\xc6\x23\x14\x29\xb4\x5a\xa7\x23\x13\xaa\x86\x50\x61\x17\x4d\xa6\x05\xe2\x1a\xfc\x3c\xc5\xbf\x0a\x87\xcc\x8c\xe6\x9f\x8e\x94\xb0\xd4\x5f\x0c\xc5\x94\x48\x09\x5b\xc0\x05\xeb\xf3\x67\x1d\xa5\xfb\xaf\x9d\x70\xed\x12\xdc\xbe\x6d\xc7\xb6\x51\x8c\xfd\x4e\xc3\x98\x3f\xfc\xee\x0f\x63\x0c\x77\xa2\x8b\xc6\xa2\xbd\xbf\xbf\x6b\xf2\x23\xdb\x16\x34\x60\xdb\x01\xc3\x2e\xd8\x08\x39\xd8\xb8\xcb\x70\x80\x18\x8d\x4f\x90\x6d\xa4\x8e\x6c\x7b\xc2\x68\xb4\xdd\x69\x78\x0e\xb3\xd8\x83\xd9\xe7\x0c\x77\x9a\x6e\x73\x94\x54\x56\x96\x38\xb6\xc4\xe3\xf1\xf8\x01\xbb\xc9\x30\x7a\xda\xb4\xd1\x06\x93\xfd\x00\x58\x75\x4b\xaf\xa8\x6c\x69\xa9\x3c\x60\x2f\x32\xec\xda\xbf\x7f\x97\xa1\xc8\x7e\x00\x2c\xfa\xfb\x1e\x78\xe0\x3e\xbd\x1a\xf1\xd9\x37\xdf\x7c\x56\x8d\x88\x90\x49\xdb\x37\x43\xd7\x31\xfb\x6b\xa5\x5a\xd1\x28\x34\x11\x5d\x81\x96\xa3\x6b\x10\x62\x2f\xe3\x84\x43\xff\xcb\x33\xd8\x0a\x28\x22\x52\x3c\xdd\xdf\xaf\x3f\xd6\x9d\xb5\x9f\x0d\x76\xff\x31\x2e\xe4\x46\x2d\x1b\x35\x6a\x19\x9c\xa1\x27\xa2\x9d\x98\x51\xfd\xaf\xbe\xd1\x93\x19\xd5\xbe\xa4\xbd\x7d\x49\x3b\xe9\xb9\xbf\x67\x3b\x1e\x87\x3c\x0a\xf5\x3a\xd3\x9e\xbc\x40\x35\xe7\x5c\x2e\xd9\x9e\x5a\xa6\xdd\xad\xfe\xc1\x19\x7a\x22\x67\xfa\x5f\x7d\xa3\x67\x3e\x07\x7d\xda\x7b\x7c\x51\x0b\xea\xa4\xb0\xd4\xda\x7c\x83\x1c\xa6\x7e\x0c\xba\x80\xd4\x78\xbc\xfa\x8b\x30\xd2\x5f\x44\xdc\x9f\x79\x84\x62\x68\x28\x5d\x07\xc1\xc1\x70\x88\xb7\x00\x23\x98\x81\x6e\x82\x6a\x61\x32\xe9\x46\xa0\xf4\x37\x54\x80\x48\xb2\x14\xd3\x28\x9d\x1c\xe1\x58\x48\xe0\x19\x5a\x44\x99\x1e\x8b\xf4\x00\x70\x7f\xb6\x4b\x53\x49\xa8\xd2\xad\x70\x6c\x06\x73\x31\x77\x97\xd3\xc5\xe8\xc3\xf6\x88\x9e\x53\x76\xee\x5e\xfc\xe8\xaa\x45\x29\x97\x11\x18\x96\x1d\x7b\x77\xf5\xb8\x4f\x56\xef\x9b\x31\x63\x81\x1d\x4f\x04\x23\x39\x2b\xf9\x99\xdf\x73\x55\x7e\x3c\x25\xb4\x6d\xc0\xf2\xd5\xcc\xe6\x49\x1b\xc9\x90\xa0\x47\x24\x47\x2c\x9e\x60\xc0\x59\x77\x6e\xd5\xaf\xea\xa2\x58\x8e\x2d\x9d\x7b\x67\x5b\x2b\xcf\x00\xd3\xf8\xc4\xf2\xed\x9f\x4f\x28\xc5\x00\x1d\xba\xfc\x3f\x0d\x41\x89\x7b\xd1\xaf\x78\xc4\xb2\xef\xab\x32\x3c\x56\xe8\x6b\x0d\xc8\x8e\xdc\xa8\x54\x9d\x55\xc9\x48\x0c\x62\x46\x49\x27\x80\x17\x30\x93\xce\xd8\x45\xbb\xea\xa3\x07\x2b\x83\x81\x06\xa8\x39\xb0\xc3\xa9\xa0\x08\x86\x0e\x32\x68\xdb\x5f\x8a\xec\x0e\xe6\xfb\xb5\xed\x63\x4f\x96\xb2\x3f\xff\xf4\x7f\xa0\x22\x4c\x9a\xcb\x08\x62\x97\x2c\x1c\x4c\x3e\x72\x8f\x67\x45\x2b\x2c\x76\x86\xb9\xb5\x4c\x87\x87\xdc\x4e\x16\xc1\x29\x48\x5a\xc3\xe4\xe0\xab\x2f\x43\x1a\x7c\x1f\x7f\x46\x8e\xc3\x77\xc8\xe9\xbc\x48\x56\xe3\xbb\x99\x58\xbe\x93\x4c\x23\x5b\xf0\x00\x6c\x84\x2a\xf0\x5a\xdd\x1e\x07\x59\xac\xe9\x46\xf4\xda\xbe\x11\x0b\x72\x21\x1f\x6a\xd1\x78\xe8\x21\x9c\x6e\x85\x16\xc8\xc8\x1c\xa3\x84\x83\x02\x1b\xa5\xb4\x40\x62\x02\x98\x84\x18\xe6\xe8\x4e\x11\x5e\x2e\xac\xa7\xd6\x80\x20\x25\xa4\x74\x26\x19\xd3\x16\xf1\xd3\xc5\x10\x0d\x87\x04\x26\x91\x49\x48\x72\xe2\xf2\x5a\x2c\x3c\x7d\x83\x39\xc9\xb0\x45\x4c\xd1\x85\x1d\x0d\xc6\x2c\xf9\x3b\x86\x0c\x58\xbe\x67\xf3\xac\x1f\xbe\xe7\x51\xe0\xa2\x47\x96\x1c\xc1\x77\x0d\x1d\x77\xcd\xbd\x00\xfb\x07\x28\x4d\xb1\x29\x6d\x92\x3c\x72\xe5\x8e\xfb\xf0\x8d\xb5\x95\xb5\xd5\x6d\x69\x0b\x74\xe6\x06\x4a\xff\x3c\x11\x7e\x8f\xb3\xdc\x93\x6b\x4f\x7e\x45\xab\x93\x0e\x25\xdb\x71\x28\x7a\xb3\xde\x50\x62\xc8\x6c\x84\x58\xda\x34\x76\x16\x19\x39\xbd\x6d\x83\x9f\x60\xbc\x3d\xbf\x15\xef\xb0\x7a\xd7\xcf\x59\x34\x5c\x8e\x38\x03\x25\x41\xe3\x2d\x21\xd8\xb8\x60\xd9\x10\x77\xc8\x29\x05\xc1\xad\x3b\x98\xce\x3f\xd9\x21\x8d\x64\x5e\xee\xa2\x0f\xe3\x68\xdd\x74\xf5\x96\x8d\x0d\xb9\x51\x05\x4a\xa0\x2c\x1a\x86\xa6\xa1\x2b\xd0\x62\xb4\x1a\x6d\x46\xf7\xa2\x67\xd0\xab\xe8\xb7\xe8\x3c\x18\xc1\x0d\x55\xd0\x04\x23\x61\x1a\x5c\x03\xfb\x10\x02\xa5\x87\x9c\x23\x11\xcf\x28\xd8\x9e\xe1\xb1\x5d\x4e\xdb\x71\x4c\xb2\x63\x81\xae\xa9\xa7\xe8\xba\x1a\x24\x52\x61\x67\xc2\xd9\x88\x53\x61\x21\x16\x76\x26\x52\x72\x22\xc3\x38\x2b\x20\xd5\x08\xce\x44\x2c\x9e\xc8\xa4\x93\x35\x10\xaa\x00\x67\x22\x95\x88\x24\x7b\x95\xfa\x91\xb8\x1c\x66\x35\x59\xcc\x87\x43\xe9\x82\x2b\x24\x87\x62\x21\x85\x6a\x53\x92\x99\x74\x6d\x3c\x45\x4d\x5b\x6b\x65\xa7\xe4\x14\x7c\x10\x16\xf8\x30\x1f\x4d\xa4\x92\x4a\x2c\x24\x68\xec\xc7\xce\x44\x2a\x99\x88\xfb\x81\x9e\x9c\x72\xa2\x19\xc2\xce\x9e\x69\x76\x2b\x24\x6b\x40\x51\x03\xe4\x8c\xb6\xf2\x4b\xd7\xd1\xc3\xa1\x98\x9a\xfe\x34\x5d\xe4\x6d\x56\x93\x9f\x0a\x3b\xd5\x2c\x38\x12\xf1\x4c\xcf\x2e\x2f\x35\x2c\xa6\xbe\x29\xd1\xf7\x16\x39\xa3\x48\x85\xc0\x98\xb6\xa5\x88\x3e\xf7\xf2\x97\x5e\x72\x43\x21\xb0\x27\x4c\x08\x85\x79\x81\xa7\x7a\x39\x07\x5d\x9c\xcc\xa8\x13\xe3\x4c\x3a\x95\x8c\x29\x31\xb5\x9c\x94\xaf\xe1\xfb\xcc\xcd\xdd\xbd\xf8\xf9\xbd\xe3\xc7\xef\x3d\xbd\xe4\xee\xdc\xce\x39\x73\x1f\xdc\x3a\x6b\xe6\xb6\x6d\x33\x67\xcd\xde\x31\x77\xce\xce\xdc\xdd\x4b\x4e\xab\x61\xcf\x2f\xbe\x1b\x2f\x14\x6c\x02\xe3\x67\x39\x9e\xe7\x18\x9e\xe5\x74\x98\x61\x30\xc3\x52\x1a\x58\xc0\xc0\x33\xd0\x25\x49\xa2\x5d\x92\xec\x22\x1c\x6e\xe2\xda\x60\x8f\x14\x91\x25\xd1\x7e\x41\x8e\xc8\x72\x64\x0f\xc6\x40\x4d\x60\x31\xc6\x0c\xb0\x98\xde\x84\xe1\xc2\xe9\x80\xdf\x5d\x62\x31\x17\xbb\x2c\x81\x40\x30\xe0\x0f\x06\x8e\xf8\xfd\x36\x8f\x5f\x51\xfc\x3e\xcb\xe3\x35\x66\xd9\x2d\x3b\x8a\xa4\xa0\x27\x50\x63\x72\x15\xbb\x1d\x26\x77\xd0\x1f\xdc\xa1\x33\x99\xc4\x01\x03\x02\x3e\x5f\x8d\x73\xa1\x5f\x89\x05\x82\x92\xd9\xee\x0c\x09\x0b\x23\x3b\xe5\xa2\x40\xc0\x6f\xd0\xe9\xf5\xf6\x58\xd0\x2f\x9a\xed\x36\xbb\x2c\xdb\x45\xab\xd9\xe1\x0b\xbe\x1d\x08\x58\xbc\xfe\x58\xcc\xef\x33\xef\x96\x8b\xfc\x7e\x35\x9a\x6e\x9b\xdf\x6f\xa9\x8b\xc5\x7c\x7e\xf3\x18\xac\x26\x4d\x1d\x91\x62\x96\x61\xb1\x7a\x45\x53\xa8\xa6\x7a\x71\xff\x06\xc4\x3e\x32\x79\xfc\xde\xd3\x8b\xd5\x62\x99\xbc\x1c\x9a\xa1\x69\xe2\x15\xe4\xe7\xe4\xbd\x2b\xae\x80\x4a\xa8\xba\x66\x39\xf9\x11\xf9\xd1\x32\x35\xc6\x92\xc5\xa7\xf7\x8e\xef\x3e\xcb\x30\x36\x87\xc9\xe4\xb0\x98\x4c\xa4\x1e\x33\x06\x0e\xd4\x52\x30\x71\x95\x8a\xcb\x6d\x17\x5d\x53\x4b\x8a\x35\x87\x3b\xe2\x56\x4f\x7e\x60\x69\x2a\xb0\x56\x3e\xac\x9a\x08\x4c\x13\x31\xd9\xe5\x07\x97\xcb\x61\xdd\x33\x2a\x12\x19\xa5\x1e\x43\x06\x5b\x1d\xa5\x2d\xa5\x0e\x57\x88\xc7\xac\xc1\x62\x74\x99\x5d\x8e\xa0\xea\xb4\x99\x65\x9b\xcb\xec\x16\xa4\x66\x6f\x59\x99\xb7\x39\x7e\x73\x69\x71\x49\x4c\x94\x2c\xc1\xa2\x92\x98\xc3\xba\xa7\x3d\xcc\xfa\xd8\xd2\x96\x52\xab\xcb\x04\x2e\xc5\x55\xe4\xb2\xee\xeb\x79\xd4\xe6\x9e\xe0\x7d\x43\x36\x0f\x73\x94\x35\x95\x39\x18\xf5\x8b\xa9\x25\x82\x69\x2a\xd4\x7f\xea\x37\xc7\xd4\x96\x1a\xd8\xdf\xf6\x17\x05\x1a\x3f\x3d\x95\x05\x06\x64\xa3\x2b\x7f\x83\xd0\x54\x34\x1f\x2d\x43\xab\xd1\xb5\xe8\x06\x74\x0f\x65\x39\xe4\x2b\x28\xfe\xab\x14\x75\x50\x07\x97\x54\x2a\xc0\xd6\x43\x0e\xcf\x15\x74\xc8\xe9\xbe\x26\x45\x89\x42\x35\x8c\x6b\xda\xaa\xa8\x2e\xb9\x60\xe8\x93\xea\x69\x14\x60\x33\x43\x11\xe6\x82\x7d\xe3\x85\x28\x65\xa2\x17\x33\x6a\xeb\x2b\x1c\x90\xa0\x96\x57\xea\xeb\x52\x5f\xd3\x1a\x42\x7d\xc4\xdf\x64\xb3\x35\xfb\x22\xfc\x5f\xb2\xa2\xa3\xf5\xfc\xc4\x05\x63\xe7\xce\x1d\x59\xd5\x14\x18\x38\x10\xb2\x65\x19\xbf\xd3\xeb\xf4\xbb\x42\x65\xf5\x95\x4d\x91\xea\xa8\x4e\xf4\x49\x03\xe4\xf2\xca\x61\x89\x2c\x48\xd1\xb2\xda\xd6\xd6\xea\x0a\xa5\xb4\x74\xe4\xe2\x45\x23\xcb\xd9\x7f\x0d\x7c\x80\xfc\x98\x3c\x4c\x1c\x84\xf0\x41\x8f\xd2\xfd\x83\x65\x07\x96\x2d\x3b\x00\xf8\x96\x61\x33\xa6\x0f\xbb\xf9\x9d\x67\x36\xac\x5d\xbb\xe1\x19\xd8\x33\x6e\x69\x7b\x4b\xdd\xbc\x81\x7a\x08\x8e\xce\x7c\xa5\xcb\x8c\x1e\x9d\x11\xbe\xca\x8c\xc6\xff\x4a\x04\x3d\x1f\x79\x8b\x4d\xc9\x85\x6b\x46\xce\x26\x4f\x28\x89\xe9\x30\xfa\xf7\xa5\x95\x0e\x83\xdd\x6c\x75\x7a\x2b\xa3\x99\xd2\x70\x99\xd5\xc4\x17\x49\x0e\x6f\x65\x69\xb6\xb9\x6c\x74\x74\x60\x7c\xc0\x60\x65\xb4\x63\xe1\xfe\x85\xf9\xa7\xb1\xa5\x74\xda\xfe\xed\x37\x0e\x50\xf0\x8f\xd5\x97\x2e\xd3\xc1\x94\x73\xe7\xc8\x31\x7d\xdd\x8c\xba\x91\xf5\xe4\x89\x1b\xad\x63\x6a\x92\xe4\x89\xdd\x38\xd2\x55\x54\x37\x66\x4c\x1d\xfb\xf7\xba\x31\x63\xd4\xe1\xb8\xbd\xf7\xdb\x61\x64\x44\x66\xe4\x44\x3e\x14\x46\x0a\x6a\x40\x63\xd1\x4c\xf4\x36\xfa\x35\x3a\x0f\x1c\xe8\x21\x02\xad\x30\x1f\x21\x31\x11\x83\x8c\x2a\x8c\x9d\x61\x67\x54\x4e\xc9\x49\x55\xfc\xc6\xa3\xda\x09\xb4\x13\x97\x88\x45\x6d\xe1\x94\x10\x8e\x39\xc3\xb1\xb0\x10\x16\x13\xa2\x2d\x21\x67\xc0\x61\x66\x43\x4a\xd8\x19\x8e\x09\x41\x5b\x50\xce\x24\xe2\x51\x67\xd8\x96\x70\x6a\x0f\xeb\xdd\xc4\x65\x4b\x64\x12\x32\x95\xf5\xce\x60\x2a\x13\xf7\x43\x30\x15\xc0\xe9\x1e\x4f\x5b\xd8\x19\x53\xff\xa8\x28\x54\xfb\x5e\x7a\x25\xf4\xce\x71\x69\x40\x48\x48\x05\x9d\x4a\x05\xa8\x87\x40\xf7\x20\xc9\x89\x54\x22\x9e\x51\x3b\x0a\x0d\x27\x3d\xa3\x26\xda\xc1\x0b\x01\xf0\x43\x98\x56\x0d\x35\x29\x71\xaa\xa2\xa3\x7e\xc9\x74\x35\x43\x3d\xe5\xb8\x04\xfd\x93\x69\x0b\xdb\x40\xab\xc0\xa9\xa4\xa2\xed\xaf\x6f\x04\x67\x38\xe4\x74\x48\xe9\x00\x64\x9c\x7c\x4f\x18\x4f\xf5\x11\x85\xb0\x00\x30\xb6\x9e\xe2\x08\xa5\x92\x8d\xe0\x0c\x29\x66\x96\x62\x5f\x64\x68\xe9\xa4\x36\x4c\xaf\xc2\x03\x47\xb6\x3d\x78\xf3\xcd\xd0\x7c\xc5\xf3\xa5\x93\x26\x96\x41\xb0\x7c\xc2\xf8\x0a\xf2\x85\xfa\x0b\x67\xa6\x57\x76\x4b\x83\xe6\xd4\xcf\xd9\xe5\xde\xe3\x6e\xbb\xba\xe3\xaa\x65\x93\x47\xe3\xbb\x8c\x36\x9f\x2b\xe6\x2a\xd3\x6f\x1d\x37\xf1\x22\x02\x76\xdc\x84\x9f\x5e\x49\x3e\x3e\x7b\xf6\xae\xdb\x6f\xe7\xde\xd3\xea\xd6\x4a\x77\xc6\xfd\xa1\xb8\xda\x81\xfd\x06\x03\xc8\x72\xb6\x6c\xb2\xde\x5d\xe7\xfe\x4d\xe8\xa9\x27\xdd\xa7\xe4\xf3\x43\x4b\x8f\xbb\x6a\xf3\x37\x56\x54\xfc\x44\x7a\x78\x8c\x56\x0d\x37\x26\x02\x27\x33\x32\xf9\x71\x71\xdd\xbb\xf2\x90\x2f\xd2\x71\xf2\x20\x4c\xcd\x24\x7f\xee\x6c\x2c\x3e\xa1\xd3\xb1\xd8\x56\x5f\x7c\xb4\x29\x5f\xe5\x92\xdc\xf6\x81\xae\xd0\xd0\x81\xf7\x0c\x68\x20\xff\xe3\x76\x7a\x6c\x03\x01\xb8\x22\xd9\xde\x96\xbd\xbb\xb6\x01\xdb\x7e\xf1\x8b\x3b\x6f\xbf\x9d\xfc\x71\x10\xfe\xd7\xa2\xad\x5b\x43\xa1\xda\x78\x28\x59\xba\x63\x43\x24\x5c\x5b\x1b\xfe\xb3\x2b\x7b\xed\xb5\x41\x77\xb4\x22\xea\x4e\x95\x6e\x5f\x1f\x69\x18\x7b\xfb\xac\xcd\xbb\x3c\xd7\xb9\x47\x6d\xdf\xdd\x2a\x94\x5b\x8a\x8b\x6c\xbc\x37\xe2\x9f\x35\xef\xca\x2b\xd6\x30\x53\x56\xe4\xaf\x1b\x3b\xb6\x36\x93\x1e\x73\xd5\xd9\xa6\xe0\xd0\x52\x7f\x33\x7c\xe9\x6f\x52\x56\xd4\x90\xbf\xbe\xf7\xde\x7b\xef\x35\x35\x81\x85\x5c\x04\x78\xe6\x99\xfc\x7b\x8e\x80\xc3\x24\x60\x98\x39\x63\x06\x58\xa6\x4f\xef\xae\x03\x4b\x7d\x6d\x26\x9d\x7f\xf7\xb7\x99\xb1\x63\x33\xf8\x48\x73\x73\x75\x75\x4d\xcd\x15\x60\x9e\x22\x17\x15\x01\x6e\x6e\x6e\x68\x80\xcd\x95\x95\x95\x95\x92\x24\x49\xf3\xe6\x55\x56\x3e\x01\x7b\xd4\x98\xf9\x19\x52\xe1\x5f\x43\x03\xb9\xae\xb1\x71\xba\x69\xd1\x15\xac\x6e\xaa\xcb\xd5\x25\x97\xea\xf5\x21\x7f\xba\x2a\xe8\xbc\x02\x2c\x01\x38\xea\x2a\xd5\xeb\x83\x81\x94\x3e\x6c\x91\x0c\xc2\x7c\xb0\x80\x3f\x7f\x75\x1d\x58\xea\x6a\x33\x69\xfc\x30\xf9\x2b\x58\xf2\x57\x4f\x69\x70\x5b\x0d\x82\x12\x89\x95\xd7\xbb\xad\x7a\xe0\xa3\xe6\x85\xe1\x06\xb7\xa9\x08\x38\x63\x34\xa0\x7a\x3a\x58\x1e\x0f\x22\x5f\x9e\x39\xd3\xd4\xb4\xfb\x86\x46\x0c\x8c\xc1\xe6\x17\x95\xd2\xf7\x2f\x22\x40\xa7\x4f\xab\xed\xd3\xd8\xdb\x3e\x8d\x48\x46\x61\xd4\x80\x26\xa2\xab\xd0\x6e\xf4\x00\x3a\x81\x4e\xa1\xd7\x0b\x6c\x54\x85\x75\xa2\xa8\x83\x0f\x0b\xea\x8c\x20\x1e\x80\xfe\xeb\x47\x51\x0a\x3a\x22\x30\xbc\xd4\x08\xf1\x56\x68\xc1\x54\x4b\xc6\x89\x69\xea\xdd\x6f\xf7\x36\xef\x74\x34\x82\x3a\x1d\xab\x80\x90\x05\x28\x91\x3f\x35\x0e\x90\xb5\x80\x0c\xfc\x7f\x3f\xc9\xa1\xdd\x21\xa6\x92\x34\xbe\x40\xe1\x4e\x32\x60\x86\x42\x02\xa5\xcb\xe5\x30\xfe\x3c\x11\xf5\x87\xe3\x51\x5f\x94\xb1\x55\x56\x96\xd8\xb0\xd1\x2e\x79\x5c\x30\x37\x11\xf1\x47\x54\xdf\x0b\x47\x47\xb7\x1c\x12\xf1\x40\xd0\xf1\xed\x0e\x6c\x87\x22\xbb\x55\x62\xa6\xcc\x87\x54\x99\xea\x63\x66\xbc\x43\x86\x2f\x1c\xda\xe0\x6b\xb2\xb3\xa6\xa1\x22\xbc\xac\xe3\x46\x1b\x85\x65\x95\x9c\x6d\x14\xa7\x8b\x55\xc1\x04\xd3\x68\xa3\x80\x2e\xc2\xd6\xd1\x2d\x0f\x38\xe8\x43\x26\x14\xb1\x5f\x7f\x88\x67\xa8\xfa\x10\x7f\x93\x4d\x7d\xc8\xc7\xa6\x91\x46\x1a\x75\x90\x88\xcf\x8f\xe0\xca\x63\x41\x1b\x36\x8a\xa5\x11\x61\xcd\x25\xe3\xea\xf5\xd1\xda\x12\x5f\x34\x11\xdc\x58\x1e\x80\xe5\x46\xd6\xf9\x70\x24\x4e\xaf\x6f\x6e\x4c\x89\x64\x09\x6f\x10\xaf\xd2\x19\x18\x3c\xef\xd7\xc0\xf1\x86\x60\xe9\x8a\x11\x8d\x6d\x2e\x47\x91\xde\x0a\x4e\x83\xde\x70\xef\x01\xab\x9e\xc3\x6b\x76\xb1\xab\x74\x26\x03\xac\xaa\x2b\xdc\x62\xba\xfa\xeb\xb7\x80\x95\xb5\xc2\x71\x30\x1b\x49\x07\xe6\xf4\x22\x88\x61\x09\x96\x1b\x65\xf8\xd5\x25\x5d\x31\x32\xf4\xeb\x8b\x2d\x28\x8e\x86\xa3\xa9\x68\x26\x5a\x81\xae\x46\xfb\xd0\x41\xad\x1f\x0e\x87\x62\xea\xe8\x97\x0b\xa7\x69\x2f\x4c\xfb\xdd\x42\xb7\x2b\x14\x10\xb9\xd5\xb1\xac\x42\xbb\xdd\x4c\x1a\x32\xe1\x94\x85\x49\x14\xb6\x51\x6a\x06\x5d\x1c\xed\x80\x85\x58\xd8\x96\xb0\xa5\x13\x71\x91\xf6\xe0\x74\x97\x6b\xac\x80\x26\x99\xe9\x9b\xc0\xd3\x00\xbe\x70\x3f\x1d\xfe\x2a\xb1\xc4\xd7\x30\x39\xf9\x66\xa7\x18\x94\xed\x7e\x5f\x3d\x3c\x75\x15\x1f\x4f\x9c\xff\xc3\xa0\x21\x91\x12\xa5\x61\x90\x7d\xf0\x84\xd1\xd5\x03\x06\x0e\x8e\x15\x0f\xf0\x4f\x28\xb6\x0f\xef\x18\x3f\x20\x01\x31\xb1\x63\xbb\xbd\xda\xd6\x52\xa9\x8c\x28\xa9\x29\x29\x2a\x87\xeb\x2d\xa6\x92\x1a\x83\x61\xe7\x01\x4f\x9d\xb5\xe6\xc0\x01\x7c\x55\x55\xe9\xb0\x6c\x4a\xb7\xeb\x40\xa4\x64\x62\xa2\x99\x54\x56\x0f\xaa\xae\x1e\xc4\x3c\x36\x20\x3e\xa7\x63\x65\x6b\x66\xd9\xc2\x46\x6b\xfd\xb0\x0a\x87\xcc\x7d\x85\x2f\x9d\x25\x6d\x1a\x1a\x0d\xeb\xcf\x05\xa6\xcc\xff\xbc\x71\xa0\xdb\x24\x99\x3d\xc1\x55\x25\x4a\xac\xad\x61\xa0\xcb\x2c\x5b\x8b\xdd\xf6\xd5\x65\xd1\x32\x08\xaf\xdc\xe3\x5c\xa3\x5b\xfc\xcb\x49\x91\x80\x71\xbd\x10\x7f\xc5\xbd\x8f\x29\x09\xd4\x91\x32\x88\x17\x93\x47\xe1\xbf\x3e\xd9\x5c\x9f\xac\xab\xc9\x5f\xe3\xbe\xd3\x58\x37\x10\x7e\xac\xbe\xb9\x86\xfc\xcf\xea\xd6\xec\xae\x35\xb9\xa6\x4c\xe9\xe2\x62\x51\xac\x31\xe3\x93\x97\x7c\x38\x06\x99\x2f\x22\xe1\x4b\x1e\xd1\x76\xde\x8a\x10\xd8\x65\xb5\x80\x1c\x7c\x48\x89\x71\xf1\x24\x6d\xcb\x6a\x2f\x03\x12\x2f\x68\x68\x6c\xe9\x56\x50\x52\x2d\x6c\x2a\x69\xcf\xf4\x2c\x3e\x09\x01\x90\x21\x2d\xc9\xbc\xd4\xfc\xc7\xf6\x24\xc9\x1e\x78\xef\x0e\x00\x64\xb5\x36\x4e\x2e\x59\xcc\x26\x74\x60\xf8\xea\x31\x83\x57\x37\x49\x07\x86\x67\xc5\xf8\x84\x69\xcd\xb1\x2f\x5e\xd0\xd5\x8d\xab\xd3\x6d\x79\x21\x05\xdf\x33\x78\x75\xf8\x38\xb9\xf7\xb5\x64\xfb\xb2\x03\x77\x2c\x7b\xb4\x64\x72\xa3\xd5\x3a\x62\x31\x9f\x35\x78\xf5\xe7\x8f\xe9\xb0\xa1\xc3\xe0\xd5\x7d\xb7\x24\x54\x3e\xeb\xb6\x63\x5f\xee\xbb\x0b\x38\x9f\xe8\x28\xad\xab\x2b\x75\x88\xf6\xed\xb3\x61\xb9\x0e\x1b\xb4\xfd\x6c\x7d\xf9\x90\x90\x82\xc6\x20\xc4\xf6\x25\x3e\xa1\x87\x02\x35\xa3\x15\x7a\x73\x97\x09\x2a\x4c\xc6\x0e\xf2\xff\x47\xc6\x58\x2d\x2b\x23\xf2\xff\x62\xae\x2c\xff\xe1\xee\xd9\x77\xcf\x18\xc0\x76\xf6\x64\xf4\x0e\xfc\x8f\x23\xcd\x2b\x9b\x61\xf0\xa4\xff\x98\xd1\xc7\x0a\x99\x83\xff\xc1\x5f\x4d\x5b\xd7\x3a\x7f\x45\x82\xe4\x48\x56\xcb\xf8\xf6\xe7\xc0\x3a\x8f\xdc\xcb\x1e\xed\xf8\xff\xcd\x78\x2f\xc6\x31\x97\xeb\xd5\x73\x65\xd0\x4c\x8d\xbb\x90\x8a\x50\x9b\x86\xf6\xf4\x9f\xae\x21\x18\x53\x62\x41\x5e\xe0\x7a\x78\x05\xb5\x06\x12\xee\xe1\x80\xc8\x68\xeb\x38\xc5\xa0\xca\x4b\xf4\xcd\x30\x4d\xfd\xdd\xf9\x73\xd0\x39\x40\x30\x90\x1f\x19\x04\x66\xa5\xdd\xdc\xa1\x11\x38\x50\x85\x23\xa4\xda\x2c\x63\x4a\x21\x5b\x3a\xc6\xd2\x06\x29\xb3\xfd\x10\xa6\xaa\x9c\x3c\xbd\xf5\x5b\xdc\xcc\x9f\xd6\xe9\x31\xd6\xdf\x91\x35\xdb\xbb\xdb\x27\x6e\x5a\x37\x91\x79\x86\xbe\xe6\xa1\x68\x32\x19\x7d\xc8\xde\x0f\xcb\xb8\x92\x5a\x3a\x22\xd0\x20\x87\x90\x06\xe9\xc2\xf8\xd5\x91\x53\xa8\xb9\xbf\xb5\x54\x8f\x5a\x0d\x7f\x9b\x0d\x0a\xbb\x75\xc4\xda\x4d\xf5\x6f\x91\x3f\x82\xf5\x4c\x68\xe2\xe2\x09\x75\xd6\xf5\xd6\x9d\xc3\x6f\x3c\xf9\xf4\xcd\x43\x6e\xd4\xf3\x1b\x78\x43\xf7\x7f\xb2\x51\x81\xb7\xaf\x8c\x8f\xa9\x90\x40\xfa\xe9\x19\xb0\xea\xbd\x65\xc3\xab\xae\xb4\x5a\xdb\x2a\x6a\x9f\xde\x7f\xe7\x2b\x03\xca\xdb\x04\xbd\x9e\xa9\xf8\x4f\x56\x2c\xfd\xf5\xf0\x66\x34\x1f\x21\x9a\x07\x33\xd6\xe8\x44\x81\x73\x98\xb1\x10\xd2\x24\x5b\x61\xe9\xd7\x4e\xd1\x26\x5b\x35\x26\x4e\x59\x12\x18\x9a\xe1\x16\x36\x65\x45\xc1\x10\xcd\xab\x2a\x23\xa5\x62\x8d\xb2\x0d\xfa\xc1\x95\x23\xe6\xcd\xe5\x73\x5a\x37\xcf\x6f\x5e\x3e\xaf\xe3\xd0\x64\x9c\x1c\x79\xcd\x8d\xa3\x78\x51\x98\x5b\xe3\xe3\x92\x0f\xcc\xf9\xee\xc9\x5d\xbf\xde\x3d\x75\xaf\x82\x8d\xa0\xe7\xd6\x73\x3a\x0e\x6f\xe4\xdc\x25\xbe\x86\x69\x83\x06\x90\xef\x93\x8f\x7a\x2c\xe1\x3f\x3b\x69\xf4\xe8\xca\x74\x80\x0d\x8b\xba\x76\x53\x1e\x3f\xca\xcf\x07\xd3\xe0\x28\x3e\xbf\x62\x73\xf3\x8a\x23\xf3\x56\x6d\xde\xfd\xaa\x6d\xe5\xf1\xf9\x09\x0c\xa9\x60\x7c\xd0\xb4\x17\x4f\xdc\x07\x86\x83\xc3\xb2\x62\x1d\x5f\x64\xe4\x8c\xf9\x7b\x5c\xae\x98\x07\xf4\xb1\xe6\xf5\x63\x20\x02\xb3\x7a\x8a\xe8\x16\x3d\x36\xd6\x16\x15\x99\xf4\x13\x67\xa8\x8f\x84\x3a\xf0\xbd\xbd\x99\x4c\xeb\xb5\xdb\xa2\xeb\x7a\x61\x54\x8a\x10\x92\xac\x16\xa0\x5a\x7f\x3e\x54\x03\xc0\x57\x00\x17\x13\x53\xc9\x0c\x14\x94\xf6\xc5\x90\x49\xeb\x21\x06\x4e\x7e\xc8\xe9\x39\x9f\x2e\x31\x18\x7e\x66\xf0\x18\x96\xe6\x0f\x47\x53\x67\x2e\xa2\x6c\x2e\x8a\x67\x2e\xd5\xfc\x96\xfc\x6a\x76\xf7\x2b\x38\xdb\x99\xef\xe4\xd1\x69\xf2\xaf\xd9\xbf\x5a\x62\xf0\x18\x7e\x66\xa0\x71\x73\x59\x40\x67\x52\x34\x2e\xf5\x5b\xf2\xe9\x9c\x0b\x59\x1a\xb7\xb3\x60\x47\x46\xa8\x1e\xb2\xac\xc0\xd1\x21\x20\xa1\x97\x9c\x93\x12\x37\x48\x28\x1c\xaa\xc6\xa9\x00\x93\x88\x67\x5a\x58\x7e\x6c\xdb\xd2\x2a\xf2\xe4\xee\x79\x9b\xb6\xfe\x70\x16\xde\xda\xd8\xfd\x6c\x6c\xcf\x44\x60\xc9\x3f\xfe\xeb\x9a\x17\xd6\x36\x08\x43\xea\x5a\x2c\x65\x66\xf7\xc0\x91\x8b\x96\xf0\x68\x76\x5b\xeb\xb4\xfc\xbe\x6b\x66\x9e\xda\x96\x9b\x84\x07\xa7\xbb\xfe\xd9\xbe\x42\x1a\xf6\x3e\xf9\xfb\xec\xef\xbd\xb9\x9e\x8b\xc7\x42\xd1\x41\xb3\x1b\x23\x96\x4b\xf4\xa1\x55\xbd\x68\x7a\x14\xa1\x3a\x4e\x31\x34\x35\x88\x4b\x9c\xa0\x57\x58\xad\x36\x94\xa5\xb2\x00\x58\x1c\xc0\xa2\x33\x54\x0d\x31\x0d\x3b\x56\xa0\x10\x5e\xdf\x7c\xa1\xce\x64\xd2\x8d\x60\x0b\xf6\xfe\xd7\x66\x34\x9a\x35\x15\x9b\xea\xd3\x29\x7e\xfd\x42\x40\xe7\x51\xd5\x38\xc5\x17\xa8\x08\xbb\x4a\x25\xc9\x1f\x19\x57\x5d\x35\x2e\x12\x70\xca\x31\x57\xb8\x22\xe0\x53\xc6\xcd\xd0\x02\x43\xf4\xa2\xaa\x10\xa7\xaa\x7a\x5c\xc4\x2f\x49\xa5\x6a\x9c\xaf\xdf\x42\x43\x03\x15\xe1\x55\xe3\xb2\x80\x7a\xfe\x67\xc7\xad\xea\x42\xc3\xeb\x52\xa3\x44\x5f\xc8\x27\x2a\x33\xf0\xb7\x5e\xe4\x48\x0e\x72\x3e\xaf\xcb\x2b\x99\xad\xa2\xdb\xe3\xf3\xbb\xdd\xa2\xd5\x2c\x79\x5d\x5e\x1f\xf5\xa5\x2e\xc8\x76\x6a\xa1\x3e\x8f\x16\x7a\x59\x44\x8f\xdb\x2b\x75\x8e\x5b\x05\x9d\x24\xdb\x73\xac\x62\xac\xa3\x27\x8e\x4a\xf9\x2b\x5d\x25\xc5\x0d\xca\xed\xed\xdf\x7a\xa1\xb5\x79\xaa\xaf\xe2\xd4\x71\x78\xd0\x19\xb4\x25\x6c\x7a\x08\xda\xf4\xa0\x43\x5f\xa1\x1c\x8f\x00\x9d\xcf\x41\x27\xce\xe6\x78\x74\x21\xc7\xa2\xee\x1c\xce\xe2\x6c\xbe\xb3\x97\x1b\xa5\x93\xf6\x83\x56\x24\x21\xa4\x07\x8d\xf5\xc9\x6a\x8f\x24\xc4\xa0\x03\x0b\x62\xd0\x16\x67\xed\x0c\xc2\xa1\x65\xe4\xb7\xf7\xbd\xab\xc9\x9b\x77\x9f\x63\xb8\x8d\x2b\xbe\x9f\x47\xef\xc2\xbc\xb7\xf1\x75\xf9\x4f\x56\x6c\xec\x91\x42\x79\x74\x1f\xf9\xed\x32\xfc\x3d\x06\xbd\x4d\x1e\xb8\x24\x6d\xc5\x3d\x69\x53\xbb\x0c\xb5\xa5\xa9\xcd\x2d\x46\x5b\x18\xc4\xb4\x85\x73\x9a\x5e\x01\xc5\xac\x9b\xf2\x7b\x0c\x1e\xc3\xe7\xa4\xa3\x13\x8f\x50\x1d\xf0\xce\x26\xab\xcd\x09\x4f\x98\xed\x5a\x1e\xce\x91\xd1\x4e\x1b\x8d\xd5\x13\x49\x8b\x13\xb3\x17\xf8\x96\x04\xc4\x4e\x45\x1d\xea\x48\x52\x0e\x30\x32\xab\xd9\x0c\xf3\xb1\x6a\x46\xad\x84\x05\xd0\x12\x6d\x8f\x48\x30\x44\x91\x8c\x71\x22\x1e\xe0\xe5\x02\xda\x36\x4f\x41\x5d\xe5\x00\xc8\xe1\x00\x96\x05\x25\x46\x07\x92\x5c\x91\xc1\x10\x48\x46\xa2\x30\xf4\xe7\x77\x34\x2e\x1d\xd3\x1e\xaf\x0f\xd4\x1a\x4b\x1a\xa7\x6d\x9c\xd0\x71\x62\xd1\xfb\xf7\x9d\x1c\x5f\xe7\x9d\x64\xf1\xc3\x4e\x72\xf1\xb6\x7f\xec\x9d\x7a\xeb\xab\x4b\xa7\xde\xb2\x78\x6a\x43\x63\x79\x83\xa7\xe3\xfa\xf1\x6b\x95\xd6\x09\x53\xa7\x8d\xac\x33\x32\x8f\xae\x1c\x33\x79\x00\x14\x49\x01\x76\xbb\xc7\x27\x8f\xac\x6d\x63\xb2\x7c\xd8\x5f\xe6\x35\x19\x66\xfe\x75\xff\x4b\xd1\xf4\xdc\x71\xdb\xc6\x5e\xe7\x1b\xbf\x74\x5a\xe9\xca\xc7\x3b\x0e\xfd\x79\x6e\x6b\xea\xae\x50\x04\xee\xba\x1f\x60\xff\xd2\x37\xee\x9c\xa5\xb4\xcc\x5f\x70\xdd\xda\xfd\xe9\xd7\xe6\x8d\x2b\x6f\x2a\x29\x96\xab\x1a\x97\xb6\x59\x6d\x57\x7d\x9f\x65\xe4\x72\xa3\xb7\x8a\xbb\xa2\xd6\x09\xce\x41\x97\xf4\x05\x53\xa9\xce\x3e\x19\xab\xc6\xb1\x64\xcf\xf2\x55\x58\x92\x33\x4a\x4c\xc3\x23\x71\x50\xe4\x5b\xc6\x0f\x12\x35\x5c\xe5\xd4\x32\x92\x9d\x9a\xec\xcf\xf4\x42\x17\xd3\x66\x2e\x24\xbe\x01\xa7\xfe\xae\x2f\xc2\x91\x52\x3d\x8b\x6b\x23\x69\x1b\x38\xc4\xd9\x31\x43\x70\x68\x62\xdc\x16\x6c\x9d\xb7\xc0\x5f\x1a\xf7\xc2\xc4\xc6\x79\x6d\x72\x7d\x6c\xe8\xd8\xdc\xc4\x85\x4f\x2d\x63\xd8\xd9\x27\xae\x7c\x76\xb6\xc3\xd8\x54\xbe\x66\xfa\xda\xbb\xbe\xbf\x64\xd5\xd5\xd5\xba\xb0\x54\x16\xc9\xd4\xb5\x97\x2f\xbf\x6b\xc9\x25\x3c\x06\x9f\xfd\x60\x90\xc1\x14\xf5\x61\x93\x11\x47\x6a\x2c\x96\xc8\xb0\xb4\xc1\xef\x58\x3b\x4e\xb0\x76\x4c\xf3\xeb\x2c\xbe\x32\x0f\xd7\xd0\x76\x4b\xcd\x1d\x8b\x36\x0c\xaf\x5d\xf5\xcc\x02\x58\xf1\xd4\xea\xab\xbc\xae\x2b\xc7\x0d\x3f\xb1\x6e\xe9\xd1\xe5\x1b\x9c\x73\x1b\x66\xd6\x0f\x89\x79\xf7\xe1\xdf\x5e\xba\xe1\x81\x29\xe8\x78\x35\x0c\xd1\xc4\x65\xcc\xbb\x91\x64\x35\x0e\x07\x25\xbb\x15\x0b\xc1\x78\x0b\xd8\xad\x66\x1c\x0e\x86\xaa\xb1\xb5\x05\x27\x82\xf1\x00\xb0\xb9\x82\x1d\xab\x76\x62\xa8\x55\x2c\xd9\xba\x61\xdf\xbe\x0d\xb0\x63\xc9\xf3\x37\xbc\xab\xf6\x6d\x79\xd4\xd3\xcb\x31\xaa\x0b\xbb\xfa\x6e\xe8\x39\xcd\x20\x7f\x27\x6f\x92\xbf\xcf\x18\x7f\x03\x3c\x74\xd9\xf8\xa0\xdf\x7e\x42\x44\xd1\xf2\x91\x0b\xb4\xb7\xe3\x42\x6a\x80\xed\x35\xeb\x77\x04\xa0\xf7\x3d\x8b\x7a\xdf\xcd\x3e\x7e\xc9\x1b\x81\x14\x1e\xdd\x33\x86\xb8\xf5\x92\xc4\x50\xf9\x8f\x90\x5e\x3d\x99\x91\x1d\xb9\x50\x25\x45\xe5\x0a\x86\x94\x56\x50\x6b\xbf\x55\x6d\x1b\xb1\x84\x12\xe3\x20\x28\x48\x32\x4b\x41\xf9\x45\x49\x33\x79\xa6\xe3\x86\x12\x64\x45\x25\x28\x95\x4c\x67\x62\x6a\x37\xaa\xd6\x1b\x64\x45\xea\x9c\x8d\xd2\xd3\x26\x82\xce\x60\xac\xe0\x8a\xcb\x90\x4e\xc4\xf1\x05\xf2\x93\xd2\xb0\xeb\xf4\xc0\xe1\xbb\x4e\x9f\xde\xb5\xf6\xb1\x07\x9f\xb5\xd7\xc3\x6a\x28\x21\x25\x57\x2c\x75\x72\xdc\xe9\x5d\x4d\xcd\x27\x2c\x06\xc9\xe2\x0c\xdb\x4f\xcc\x3e\x0d\x3a\x68\x22\xe7\xc9\xcd\xe4\xfc\xd8\xb6\x81\xe4\x01\x7b\xf0\x15\xb9\xfb\xe8\x29\x72\x1e\x84\x53\x6b\x16\x5e\x4f\x4d\x2b\x21\x07\x4f\x4c\xfe\x44\x33\x8c\x0c\x3a\xc0\x38\x73\xe1\x29\xc8\xb5\x95\x74\x15\x9f\x26\x5f\x9d\xbe\xf5\xcf\x93\x5b\x6f\x87\xdc\xae\xc5\x77\xfc\x18\x74\xa7\x5d\xa4\x5b\x4e\x9a\x8d\x7e\x60\xe7\xee\xd8\x75\x1a\xe8\x73\x41\x38\x35\xef\x07\xad\xf3\x49\x85\xe7\xfb\x1f\x81\x00\x6b\x40\xc8\x3c\xad\x24\x95\x5c\x4e\x49\x2a\x3e\xb2\xaa\xb2\xff\xbe\x6a\x81\xd6\x9c\x0a\x34\xaa\x0f\x81\xab\x47\x9f\x2c\xf6\x80\x51\x31\x3c\xd5\x05\xe3\x4b\x78\x84\xc3\x97\xe3\x5b\xd9\x92\x19\xb1\x05\x22\x25\xac\x24\x8b\x3d\xfa\x61\x56\xd3\xdd\xfa\x87\x73\x61\xb9\x7b\x99\x1c\xe6\x86\x73\x4a\x80\x55\x02\xca\x7f\xfb\x1c\xf9\x9c\xc3\xe7\x73\xe0\x9c\x03\x8e\xab\x91\xf3\x68\xd4\xb2\x51\x39\xf7\x62\xfd\x49\xf0\xc2\x14\xf0\x9e\xd4\x2f\x95\xc1\xd8\x4f\xff\x8b\x8b\x20\x27\xfb\xfd\x32\xc9\x05\xaa\xab\xf1\x55\xa5\x3e\x5f\xa9\x2f\x3f\x33\x7f\x38\x97\x1a\x35\x2a\x95\xd3\x7e\xf1\xcc\x55\x2b\xe1\x27\x63\xd6\x37\x35\xad\x1f\x43\x1a\x16\xd1\x7e\x61\xaf\x0e\x71\x5f\x21\x23\xaa\x46\x13\xb4\xdd\x26\xc1\xc2\xb7\xe3\x92\x31\x0d\xc7\x2a\x11\x54\x22\x85\x6d\x04\x41\x4d\x91\x15\x94\xd8\x44\xbc\x05\x83\x3a\x31\xd0\x8c\x28\xc3\x21\x14\xd3\xe4\x47\x23\xd0\x01\x67\x24\x11\x47\x72\x22\x2e\x71\x4f\xc7\x23\xf9\x41\x91\x78\x3c\x82\x5f\x88\x80\x4e\xee\x2e\x57\xdd\xcc\x8d\xd3\xc8\x87\x3f\x38\x49\x7e\xfe\xa8\xcc\x7c\xa0\x7a\x74\x5f\x3d\x0d\x62\x3f\xd8\xf5\xe5\x89\x25\xb0\x36\x1e\xd9\x69\xdb\xf9\x11\xf9\xe9\x43\xff\x24\xcb\xaf\x78\x5e\x0d\xdd\x65\xdb\xf9\x11\xd4\x1e\xfd\x07\xdc\x71\xc5\xe9\x48\x1c\xff\xa6\x2d\x91\x68\x4b\x4c\x99\x32\x29\x1e\x8e\xc4\xbf\x73\xf4\x51\xf2\xde\xc9\x1e\xf7\xe2\x47\xff\x0a\xbb\xc2\xf1\xc9\x93\x1f\x22\x3f\xfd\x78\x27\x18\xce\xc6\x23\xf4\x0a\x6a\x3f\xde\x49\xfe\x79\x36\x8e\x10\x8f\x8c\x17\x11\xfb\x8f\xc2\xb7\xf5\xa2\x4a\xb4\x8e\x62\x8a\x33\xb2\x3d\x95\x0c\x87\xe8\x5e\xe9\x6a\x0c\x0e\x51\x15\x9f\x8c\xda\x24\x18\x4a\x4e\x9d\x4e\x25\x69\xbf\xc2\x33\x05\x95\x56\xda\x96\xac\x06\x0d\x20\x8b\x77\x3a\x02\x6c\x26\x4e\xe1\x93\x34\x48\x72\xa7\x43\x72\x0a\xbc\x53\x89\xf1\xe1\x02\xf5\x5a\x2a\x99\x91\x0a\x1d\x0f\x5d\xae\xe8\xdb\x28\xac\x99\x8a\x8b\x92\xdc\xc2\x51\xb5\x21\x13\x60\x9c\x0e\xac\xa1\xf9\x63\xe6\xd4\x9a\x75\x87\x95\x7a\x72\x63\x80\x89\x86\x8a\xca\xc3\xe4\xad\x07\x6c\x25\x96\xa6\x4d\xa3\x06\x88\x8e\xb1\x8b\x77\x85\xcc\x72\x89\x49\xa9\x1f\xe4\x77\x24\xee\x77\x37\x9e\xbf\xef\x37\x07\xef\xc2\x4e\x47\x1d\x79\x7d\x6d\xb4\xa8\xa8\x62\xc8\xd4\x69\x13\xfc\x56\xc1\x65\xb5\xb0\xbe\x21\xcd\x25\xd9\xe9\x51\x86\xbd\x5e\xaf\x0b\xe2\xf1\xe9\x09\x0f\x07\x93\xba\xd1\x75\x45\xfe\x47\xfd\x15\xe9\x35\x93\xe7\xf8\x36\x37\xfb\xcb\x1e\x9c\x30\x66\xe7\xcb\x3c\xe6\xab\xcb\x06\xb7\x8c\x8d\x0e\x9b\xf0\x40\xf3\x58\xc5\x3c\xe7\x58\xf7\x5d\x2b\x57\xdd\xf1\x21\x7b\x1d\x79\xc6\x09\x3f\x1a\x5c\xd7\xbd\x6a\x9c\xae\xdc\x8d\x05\x81\xd9\x3d\x9f\x4c\x37\x70\x30\xf7\xa3\x70\xf7\x3f\x22\x47\x6e\xf4\x98\x5d\x63\x4a\xc6\xcd\xcf\xa6\xc9\x7d\x65\xad\xb7\x7e\xff\xd8\xc3\x80\x2b\x06\xb4\xdb\x6b\x53\x46\x2e\x10\x4a\xfa\x44\x96\xc5\xa2\x18\xf1\x79\x24\x57\xf5\xde\xa1\xc5\x6b\x03\x45\x45\xd8\xf0\x36\x16\xcc\xa9\x11\xf7\x8e\x0f\x05\xb3\x45\x4b\x6c\x45\xa1\x4f\xa6\x67\x16\x6e\xf1\x8c\x0c\xb4\x6c\xb6\xc0\xdb\x4b\xc7\x2d\xcc\x3f\x67\xe3\xad\xdb\xae\xba\x75\xe1\xf0\xf9\x23\x56\x90\x36\x4b\xcb\x9c\xd9\xd9\x03\xa4\xfb\x85\xab\xca\xeb\xc1\xd4\xc7\xf7\xa7\xf6\x7f\x1e\x94\xa6\x38\xf1\x08\x12\xfd\x3b\xb3\x70\xa1\xf7\x53\x3b\xba\xe8\xb7\x86\xa4\xa3\x49\x75\xf0\x1a\x53\x82\x25\x82\x19\x6b\x5f\x50\x0e\x60\x59\x62\x83\x25\x99\x16\x9c\x69\x01\xd1\x16\xb4\x31\xb6\x9f\x9a\x1f\xde\xf1\xbd\x53\xcf\xde\x78\xfb\x51\xd3\x19\xae\x39\x51\xdf\x6a\xf0\xa4\x63\x73\xf1\x07\x6f\x9b\x8f\xf6\xf8\xbf\xc9\xb6\xc4\x55\xff\x54\xac\x36\x03\x57\x16\x57\xf1\x16\x1f\x9e\x92\xbf\x2f\xff\x9d\xc9\x9c\xdb\xc6\x57\x05\x02\x55\xbc\x5d\xe6\x2b\x61\x0f\x88\x78\xfe\x54\xce\x65\xe3\xaa\x03\x9d\x5f\x21\x6c\xbd\xff\x87\xbf\x7f\xed\xe5\xff\x39\x71\x28\xdb\xb6\x69\xdd\x80\xe1\x83\x23\xfb\x2e\xf7\x68\x7f\xea\xa7\xaf\x35\xeb\x8a\xec\xb8\xb5\x95\xb5\x98\x74\x4d\xaf\xbe\xfb\xce\xab\xcd\x3a\xb3\x99\x0b\x96\x0c\x64\xcd\x66\x7d\xd3\x4f\x98\x33\x17\x54\xb1\xd5\xd3\xaf\x70\x1d\x5c\x0e\xf9\x51\xa3\x66\xf1\x58\x00\x48\x57\xfa\x31\x3a\xd2\x96\x4e\x19\x87\xcd\xd0\xd3\xd9\xf7\x30\x3b\xa6\x7b\x2e\x98\x73\x94\x5b\xf2\xd0\x2a\xf2\x17\xea\xb0\x9b\xe1\x9d\x3d\x9f\xed\x86\xdc\xee\xcf\xf6\x90\x01\xea\xf5\x21\xb3\x1d\xac\xab\x0e\x51\x07\x73\x0b\xb1\xd2\x38\x7f\x59\x75\xa8\x8b\x02\x7b\x73\x59\xb3\x7d\xf7\x67\x30\xa2\xfb\x96\x3d\x9f\xed\xb6\x9b\x19\x6d\x12\x8f\x0e\xad\x62\x56\x69\x7b\x40\xd8\x7e\x7b\x40\x5a\xa8\x05\x0f\xba\xdc\x3a\x96\xd3\xb0\xaa\x85\x1e\xc0\xea\x46\x88\xf7\x04\x7d\xd3\x55\x34\xd5\x6b\xa8\x43\xc3\x0a\x78\xeb\x97\x8d\x68\x8a\xbd\xae\x37\x5c\x3e\x9f\xeb\x0d\x97\x97\x48\x03\x53\xbb\x87\xf8\x7c\x43\x76\xa4\x06\x3a\x33\x92\xd7\x3d\xc7\xe5\x73\xa6\x25\x9f\x6b\x9e\xcb\x2b\x65\x9c\x78\xf4\xa0\x14\xf9\x2a\x35\x48\xca\x38\x8b\x5b\x5f\x4c\x0d\xda\xba\xb7\xa3\xeb\x9d\x8e\xbd\x7b\x3b\xd8\x01\x1d\x7b\xf1\x53\x6b\xd4\xa7\xa8\x3f\xe4\x42\x6a\x60\x32\x39\x30\x75\x41\x92\x7e\xa7\xfa\xfd\xae\xf7\xbc\xfe\x9e\xd4\xc0\x81\x29\xb2\xc8\xe9\x7c\xb2\x7c\x20\xbe\xaf\xef\xee\xbd\xfd\xb9\x0b\x31\xd2\x53\x2b\xc2\xa0\x17\x82\xea\x7f\xfd\xd7\xf6\x15\xde\x46\x3e\xbc\xed\x73\xc8\x90\xd3\x64\x38\x39\x0d\x19\xd8\x86\x97\x1d\x5b\xdf\x9d\x5d\x7f\xec\xd8\x7a\xa6\x73\xfd\x31\x78\x19\xc7\xba\xef\x64\x51\x37\x82\x06\x7c\xa4\xcf\xff\x98\x5a\x1d\xe4\x5e\x3c\xc6\xd1\x68\x32\x9a\x87\x96\xa0\x2b\xd1\x1a\xb4\x11\x6d\x43\xbb\xd0\xf5\xe8\x56\x74\x00\xdd\x8b\x0e\xa1\xef\xa3\x87\xd0\x31\xf4\x28\x7a\x06\x3d\x87\x5e\x40\x2f\xa1\x33\x1a\xd6\x31\x43\x77\x84\x32\x05\x2d\x68\x90\x57\x0f\x4d\xae\x31\x74\xc3\x2d\xa3\xa1\x1f\x88\x49\xd5\x4b\x2c\xc8\xb6\x60\x5a\x3d\x34\xd8\x09\x91\xe2\xe8\x8a\x01\x80\x20\x84\x21\x98\x8e\x03\xf5\x95\x33\xb6\x18\x2f\x40\x50\x8e\x06\xf9\x10\xa4\x33\x31\x21\x9c\x61\x40\x86\x8c\x18\x84\x34\x97\x80\xa0\x4d\x96\x98\x60\x06\x2c\x90\x48\x09\x92\xcd\xa1\xde\x24\xdb\x32\x36\x19\x6a\x40\xb0\x65\x62\x7c\x34\xcc\xc9\x4e\x3d\x8e\xc6\x6c\x9c\x90\x00\x59\xac\xc1\x4a\x33\x30\x4a\x4c\x8f\x53\x8c\x18\x16\x41\x68\x05\x4a\x47\x67\x04\x39\xad\x43\x1e\xc7\x5b\x8c\xdb\xf1\x12\x13\x74\xb9\xad\x64\x95\x2d\x69\x23\xab\x6d\x1e\x39\xc4\xbe\xe4\x70\x33\x6f\x3b\xdc\x5e\xc7\xab\x10\x7a\x97\x0d\xc9\x1e\x3b\xdc\x68\x4d\x5b\xe1\x66\xbb\x1a\xfa\x53\xb9\x44\x78\x4e\x74\x77\xc7\x60\x37\x39\xf6\x1d\x72\x0c\x96\xd8\xcb\xbb\x67\x02\x7e\xc7\x72\xfa\x39\x93\x15\x1f\x25\x5b\x5e\xc0\xe5\xe4\xf7\xd6\x4a\xfc\x28\xb0\x59\x5b\x40\xea\x26\xbf\x68\x85\x0d\xd6\x81\x64\x32\x8c\xd6\x75\xaf\xe2\x60\x0a\xd9\xc7\x9a\xed\xb0\x3f\x4b\xce\xdc\xf7\xd2\x83\x47\x59\xd0\x3d\x12\xb8\x1b\xca\x7e\xf5\x2b\xf6\xad\x17\x79\x66\x83\x35\x7f\xdb\xfb\xe4\xbf\x20\x03\xa5\xf9\x6b\xf6\xc2\xef\xca\x27\x43\xf4\x4f\xbb\x18\x90\x74\xbf\xe0\x74\x64\x14\xa4\xbb\x3b\x1f\x7c\xf0\xc1\x07\xd9\xe6\x01\x3b\x4a\x7f\x8a\x99\x47\xb6\x8f\xe6\xf0\x76\x67\x31\x4b\xee\xd5\xeb\x1d\xc5\x2c\x79\x54\xa7\x93\x43\x76\x87\xc3\x11\x74\xe9\x8a\x60\x2c\x5b\xec\xd0\xeb\x61\x01\x57\xec\x70\x16\xb3\x30\x0d\x58\x88\x58\x60\xb9\x41\xe7\x0a\x3a\x9d\x4e\x67\xd0\xc5\x17\x91\x7b\x20\x28\x99\xcc\xe4\x34\x5b\xdc\xfd\x16\xcc\x27\xf7\x5b\x19\x1f\xab\x37\x70\xe4\x2e\xfe\x55\x98\xf9\xb2\x0e\x43\xe7\x6b\xaf\x59\xbb\x26\xf1\xdc\x90\xb1\x4b\xc1\x40\xde\xca\x92\x5b\x7c\x90\x26\x0f\xb3\x16\x98\x4f\x4e\xf2\x1c\x6c\x1c\x04\x03\x8f\x7c\xfc\xfc\x49\x1d\x93\x02\x0c\x56\xd3\x49\x30\x19\xc9\xeb\xf7\x41\xc3\x1f\x3e\xd1\x91\xaf\x46\xbe\x8e\x8b\xce\x7d\x5a\x41\x5e\x21\x2f\x41\xc2\x72\x13\xf9\xec\xe3\x4a\xd8\xdb\x85\x57\x71\xe0\x34\x59\x31\x6c\x04\x96\xd4\x92\x53\xf0\xcf\x5f\x91\xdf\x75\x5f\x4f\x7e\x0b\xde\xdf\xfc\xa6\x0d\x96\x1a\x58\xb0\x40\x69\xfe\xde\x09\x8c\xb6\x5e\x42\xf1\xff\x4d\xc8\x8b\x10\xad\xfe\xbd\x8d\x21\x1a\xeb\x6f\x88\xf7\xf4\x4e\xfc\x3b\xe8\x78\x7a\x67\xf7\xdf\x77\x3e\xcd\xbe\xf3\x58\xb6\x9a\xf8\xaa\xb3\x03\xab\x98\x69\x3b\x5f\x84\x45\x17\x06\xed\x7a\xe1\x85\x5d\x91\x27\xe1\xe1\xea\x41\x83\xaa\x89\xa3\x7a\xb0\x26\x6f\x76\xf2\x88\xbb\x16\x19\x28\xb3\x77\x19\x42\xc0\x22\x46\x1d\xb8\x44\x12\x71\x4e\x92\xd5\x8b\x98\x1d\x81\x1d\x45\xb5\x0b\x4e\x89\xf1\x42\x1a\x65\x78\x41\x62\x8e\x90\x1f\x91\xd0\x06\xc7\x5b\xd0\xf1\xce\x04\x58\x30\x7b\x18\xb9\x26\xff\xca\xca\xd9\x2d\xab\x70\x9a\x3c\xb8\x16\xdb\xe0\x8a\x52\x33\xf9\x88\x64\x37\x2c\x66\x7e\xfa\xd2\x89\x3d\x07\xaf\x84\x91\x6f\x3a\xc7\x0d\xe4\x96\x6d\x22\x7e\xf2\xd2\xf4\xa9\xef\xc0\xbc\xb7\x6e\x18\x38\x63\x75\xfe\x25\x72\xcd\xf0\x19\xb0\x03\x37\x74\x35\xc1\x02\xec\x58\x3f\x6b\xf1\x46\xd2\x42\x7e\x69\x76\xc4\x07\x4e\x92\xdf\x82\x51\x57\xdd\xb5\xeb\xd1\x82\x6c\xd0\x21\xf6\x5f\xd4\xf6\x57\x95\xe4\xa2\xc6\xf2\x43\x35\x24\x15\x20\xa6\x83\x71\x39\x9d\x28\x81\xb8\x44\x87\x2b\xd4\x9f\x51\x27\xba\x72\x3a\xa3\x91\xd3\x09\x94\x1d\x4a\x4e\xcb\xc2\xc2\x83\x3b\xb7\xbe\xf6\xd2\xaf\x6f\xbf\xfd\xd7\x2f\xbd\x96\xdb\xc2\x1d\x3c\x07\xf8\xf3\x7b\xee\xf9\x1c\x30\xf9\xeb\xf6\xb7\xef\xdb\xf2\xc8\x2b\xe7\x0e\x1c\x38\xf7\xca\x23\x5b\x96\x6e\x7a\x6c\xc6\x1b\xc7\x8f\x7f\x99\xf9\xf9\xed\x77\x7d\xf2\xd8\xa1\x35\x5b\xde\x5d\xf7\xee\xe1\xe3\x6f\xb0\x1b\xbb\x74\xf5\x33\x6f\xbf\x7d\x66\x3d\xfb\xd5\xb6\x65\xcb\xba\x8e\xd4\x0f\x64\xf2\x63\x6e\xba\x69\x4c\x37\x53\x51\x19\x5e\xb1\x22\xc4\xec\x63\xef\x3c\x38\xa8\x7b\x62\x22\xbe\x68\x39\xa7\x8d\xa3\x0f\xeb\x10\x37\xb3\x77\xbf\xc5\xac\xff\xfd\x3a\xf4\xd7\xae\xfb\x00\x56\xfb\x21\xad\x50\xd9\x12\x00\xee\xa3\x80\x63\xb6\x23\x40\x7f\xc8\x67\x01\xc7\x42\xd5\xbd\xd0\x11\x20\x1f\x7d\xb3\x9b\xdb\xfb\x87\x23\x5d\x91\x23\x7f\xd8\xba\xd4\xf0\xdd\xd5\x8b\xc6\x54\x41\xf9\xf3\x77\x74\xdf\x66\xde\x73\xfc\x30\xfe\xd8\x19\x08\x38\xf3\x61\x35\x22\x16\xd5\xdf\xfc\x1f\xd5\x5f\xf8\x81\xfa\x4b\x26\x52\xf7\x32\xea\x3e\xe0\x08\x04\x8e\x1c\xf9\xc3\x1f\x8e\x5c\xfd\x4a\x3c\x14\x5b\xfd\xdd\xc1\x4f\x7f\x71\x5b\xf7\x1d\x83\xea\x82\xbf\x44\x08\xc5\x10\xba\xd8\xc2\x6b\x7b\x67\x34\x9e\x36\x27\x65\x6a\x0b\x52\xae\xb6\x2a\x54\x8b\x52\xa8\x1e\x35\xa3\x81\x68\x28\x1a\x81\x46\xa3\xf1\x68\x32\x9a\x8e\x66\xa3\x79\x68\x31\x5a\x8e\x56\xa2\xb5\x68\x03\xba\x06\x6d\x43\xbb\xd1\xf5\xe8\x26\x74\x2b\xba\x03\xdd\x8d\x0e\xa3\xf7\x11\xb2\x05\x6d\x7a\x88\xd2\xdf\x54\xd0\x29\x3a\xc3\x29\xf9\xf2\x23\x23\x0b\xfd\x8f\x56\xb8\xf4\x00\x67\x38\x15\xfc\x37\x87\x1a\x9e\x70\x66\xbe\x25\x54\x4e\xa9\xa1\xc2\x37\x1c\xd1\x9e\x11\x16\x05\xbf\x09\xe0\xb4\x66\x8e\x16\xee\xb5\xa7\x03\x5e\xd1\xb0\xfe\x25\x39\x91\xa9\xe6\xc3\x21\x33\xe6\x51\xf7\x57\x79\x1d\x77\xef\x85\xd7\xf0\x1d\xf8\xc1\x0b\xaf\x8d\x8f\xf6\xfc\x6b\xb5\x2c\xb5\x14\x5b\x96\x5a\x02\xf4\xbc\xc4\x32\x76\xa9\x65\xe9\xc6\xa5\x96\xa5\x9b\x0a\xe7\xee\x81\x6b\xc0\xb1\x16\x9c\x6b\xc1\xb1\x86\xfe\x15\xdc\x5d\xcf\x44\xd7\x7e\xef\x72\xff\xbf\x8c\x59\xdb\xfb\xe0\x68\x7e\xef\xf6\x67\x9e\xd9\xbe\xe3\xe9\xa7\xc9\xd9\x58\xd3\x90\xa6\xd8\xaa\x79\x1e\xa6\x78\xf0\x5c\x7f\xa6\x2e\x9c\x19\x37\x36\x53\x56\xea\x0c\x8d\xb0\x30\x01\x26\xa2\x0f\x98\x3d\x52\x91\x3f\x93\x0a\xf2\xe8\xc2\x2d\xe4\x04\x4c\x18\xc8\xdc\xdf\x3d\x9f\x7c\xc8\x95\xbe\xfe\x3a\xf9\x60\xed\xda\xdb\xfb\xfd\x7d\x27\x54\x13\x34\x87\xaa\x43\xea\x61\x0a\x56\x87\x42\xd5\xc1\x9a\x39\xd5\xa1\x6a\xf5\x98\x5d\x13\xaa\x66\xdf\x8d\x5c\xf6\x8f\x1c\x1f\xbb\xf6\x52\x9f\xb5\x63\x23\x97\x3c\xf3\xf6\xb5\x6b\xc3\x4f\xef\xd0\x52\x0b\xd7\x46\xca\xf4\x1c\x88\xce\xda\x44\x6b\xb9\x41\xaa\x2c\xae\xae\x11\xc0\xe8\x70\xba\x78\x49\x6e\x00\x0b\x63\x64\x78\x6c\x90\xab\x7a\xf8\x05\xd6\xea\x10\x77\x13\xc5\x7b\x28\xbf\x6c\x0e\xfb\x4d\x9b\xf3\x0a\x34\xb2\xea\x40\x63\xee\x03\xe7\xee\xbf\xff\x1c\x43\xee\x3f\xf7\xc0\x03\xe7\xe0\x5c\x6b\xd5\x57\xbf\xa8\x6a\x6d\xad\x82\x47\x2b\xb3\xf8\xcb\x6c\x25\x3c\x5a\xd5\x0a\x7b\xd5\xb0\xfb\xd5\x88\xab\x56\xdf\xcf\xd6\x5d\x38\x5d\xd9\xda\x5a\xc9\x0d\x51\x7f\xbf\xfb\xdd\xca\xd6\xd6\xc2\x38\xb4\x54\x87\xd8\xb3\x08\xa1\x19\x08\x01\xd7\x03\x77\x24\xf4\xe9\xe7\xe9\x42\xb3\xd3\x21\xa8\xf3\x48\x75\x14\x81\xfa\x43\x24\x15\x2c\x07\x52\x9a\x92\xa3\xc7\x94\x5d\xbb\x21\xcd\x1d\x00\xf6\xf6\x9f\x7d\x78\xff\xe4\x7b\x36\xaf\x59\xb2\x78\xcd\xc6\xbb\x26\xde\xf3\xa3\x77\x1e\x58\xf0\x8b\xc9\x5c\x89\x4f\x67\x76\x36\x2d\x24\xff\xd8\xb6\xfb\xd3\x3d\xe0\x7d\x7b\xe3\xfb\xf7\xdf\xba\xfb\xba\xc3\x33\x16\xed\xde\x3e\x37\xb0\xd8\xe6\x28\xb6\xfd\xd7\x03\x0d\xcb\x9b\xe3\x3a\x8b\xd3\xdd\xf8\xd8\x9c\x17\x09\x5b\xcf\x9c\x7a\xf3\x95\xfd\xf7\xbd\x9b\x99\xb5\x71\xd7\xee\x8d\xb3\x32\x4f\xdf\x7d\xdf\xb3\xa3\x9a\x59\xbf\xe8\x34\xbb\x52\xd3\x56\x5c\xfd\xc1\x75\x6f\x81\x75\xea\xbe\x87\x8e\xee\x9b\x7a\xcd\xc2\xb9\xb9\x68\xc0\x61\x1f\xe3\x78\xe0\x9d\x68\x65\xd4\x69\x11\xbd\x83\x47\x74\xbd\x10\xf5\x5b\x0a\x63\xd9\x1c\x87\xe8\x5e\x82\x0a\x34\x95\x96\x7a\x85\xc6\x49\xe9\x07\x6a\x2a\xd6\x08\x14\x64\xa4\x19\x28\x2a\x86\xc6\xc7\x51\x38\x8b\x94\x61\x81\xf2\x0a\x04\xe3\x52\x8f\xa8\x6b\x81\x0c\xd3\xb3\xa6\x12\x60\xd5\x69\x38\xdb\xa9\x78\x72\x4a\x52\xd1\x38\x7c\xa9\x23\xff\x3b\xcd\x86\x5c\x33\x25\x3f\x53\xe2\xee\xfa\x03\x08\x9c\x8b\xb9\x4b\x8d\xd2\x8d\x3c\x8a\x14\xc5\x27\xdf\xd4\x96\x4d\xac\x6e\x8b\x91\x15\x80\x3d\xe9\x51\x98\x4b\x9f\xa2\x3a\xf2\xfd\x0d\xcb\x99\x4e\x82\x5c\x51\x66\xb3\xe0\x77\x19\xac\x03\x94\xa4\xa2\x78\xcc\x89\x21\x2c\x93\x51\x92\x8a\xc9\x5e\x2c\x45\x05\xa5\x0f\xd7\x5e\xcd\xb7\x66\x8f\x3f\x51\xab\x6d\x96\x1e\x33\x7a\xca\x80\x26\x83\x14\xcf\xc0\xff\x35\xcf\x1c\x52\x92\xe2\x6d\x4a\x52\xb9\x4d\x4c\x2a\x22\x20\x31\x29\x02\xca\xdf\xf6\x7f\xce\xb5\xb8\x1f\xa2\x6a\x00\xf9\xe5\x7e\x51\x49\x8a\x17\x91\xa8\x3e\x2f\xf4\xbf\xcf\xbb\xc6\xa3\xa1\x8d\xdf\x39\xa4\x47\x45\x74\xaf\x99\x82\x90\xa8\x67\x82\x31\x31\xa8\xc7\xc1\x68\x90\xa1\x03\xfa\xa8\xa6\x32\xa7\xcc\x1e\x19\x50\xf3\xf6\x1e\x5e\x49\xde\x83\xcf\x61\x76\xbe\xed\xfa\x37\xc9\x05\x72\x8e\xc9\xe3\x95\xe4\xf9\xee\x97\xf1\xb1\x37\xc9\x9f\xf0\x4a\x98\x41\xce\x91\x0b\x30\x1d\x72\x66\x6c\xed\xce\xda\x1b\xec\xdd\x59\x2b\x36\x43\xce\x1e\x64\x73\x41\x06\xe5\x17\xe3\xbb\xbb\xbb\x19\x96\xf2\x6d\x74\xff\x37\xbe\x9b\x3a\x20\xb7\x88\x20\x7b\x8d\xad\x1b\x39\x1c\x2c\xb2\xd5\xd8\x31\xf2\x20\x06\x89\x17\x91\xf0\x47\x1e\xa1\x11\xe8\x4e\x74\x08\x21\x2e\x1d\x2f\x06\x21\x46\xa1\xa8\xff\xfd\x4f\x46\xdb\x1c\xfb\xad\x3f\xd1\xfe\x91\x6c\x8c\x92\x6e\x05\x5b\x22\x15\x4c\x05\x9d\x41\x67\xc2\x26\x07\x40\x60\x6c\x7d\xb1\xff\xd3\x2b\xc1\x19\xe5\x52\x6a\x37\x23\x88\x62\x52\xcc\xcd\x98\x38\xd1\x9e\xb6\x4f\x9c\x28\x26\xc5\x6f\xfd\x51\x23\xfd\xbb\xf0\x89\x17\xaa\xfa\xc5\xca\xfe\xcc\xe6\x08\x9c\xcc\x69\x6a\xa0\xdc\xc9\x80\xc3\xf6\x33\xb1\xff\x93\xfe\xed\xeb\x20\x0b\x39\xc8\xe5\x08\x12\x45\xed\x81\xe2\xb7\x1d\xff\x26\x74\x93\x1a\x3a\x61\x82\x28\x4e\xc8\x42\x14\x1a\x3c\xcd\x86\x06\xa8\xc8\xe5\x72\x39\xf2\x7e\x83\xa1\xd9\x43\x7e\x42\x7e\x69\x17\x45\x35\xc2\xbf\x79\x08\xeb\xd1\x20\x37\x7b\xda\x1f\xd7\xc3\xe5\x32\x18\xad\x47\x28\x28\xd6\x00\x88\x16\x80\x02\x09\x64\xa8\xc0\x05\xa9\xd1\x38\xea\x13\xf1\x16\xa6\x11\xe2\x01\x26\x11\x6f\xd1\x69\x1b\xa3\x7b\xdb\x1e\x93\x89\x25\x54\x41\xab\x09\xdb\x8c\xda\x99\xc7\x29\x48\x0b\x50\x20\x57\x49\x48\x08\x01\x06\x67\x3b\x3a\xd4\x82\xc8\x75\x00\xc2\xd8\x30\xa5\x6d\x9e\xe0\x13\xe6\xb5\x4d\x31\x50\x3b\x5d\x23\xc6\x46\xa6\x88\x33\x19\x6d\x76\xd9\x14\xa9\x16\x0d\x26\x63\x91\xd1\x64\x10\xab\x23\x26\xd9\x6e\x33\x9a\xb8\x22\xc6\x48\x63\xc1\xf7\xf6\x6f\xea\x3e\xb0\x69\xbf\xde\x5f\x3d\x3e\x35\xe3\x03\x09\xbf\xfc\x33\xdb\xd0\x48\x49\x65\x60\x45\xd3\x8a\x40\x65\x49\x64\xa8\xed\x67\x2f\x0b\xde\x0f\x26\xb4\x4e\x2f\xb7\x42\x67\x2e\x9b\xcf\xe1\x5c\x36\x87\xe3\x2c\xd6\x89\x18\x8b\x3a\xcc\xda\xf5\x8c\x20\xb0\x41\x9d\x47\xe7\x10\x8a\x58\xd6\x1d\x0e\xb9\xdd\xa1\xb0\x9b\x65\x8b\x04\x87\xce\xa3\x0b\xb2\x82\xc0\xe8\xbb\x1f\xdc\x74\xc3\x0d\x9b\x9a\xd7\x5c\x7f\xd5\x3c\xcf\x47\xd9\x6c\x91\xa3\xb4\xae\xbe\xbc\xe5\x96\xf2\x68\x4b\x4b\xb4\xfc\x96\x96\xf2\xfa\xba\xd2\xf1\x63\x3f\x0d\x6e\x3b\xf4\x9d\x82\xde\x20\xcf\x21\xd4\x8e\x66\xa1\x55\x08\x81\x64\xc6\xb1\x6a\x88\x29\x54\x51\x42\x97\x40\xc3\xfd\x16\xbe\x95\xde\x3d\xe1\x01\x2c\x07\x13\xb1\x70\x48\xc9\x50\x5d\xbb\x5a\xdd\x0b\x8b\x12\x7c\x05\xc8\x69\x39\x00\x10\x4f\x67\x82\x1a\x45\x3a\x5d\x6e\x2f\x85\xf4\xd7\xd6\xd8\x75\xf9\xa2\x21\x3b\x9e\x5b\xfc\xdd\x3f\x5a\x8b\xc6\x8e\x1d\xd6\x71\x55\xd4\x7b\x11\x0d\xed\x5d\x06\x6f\x6f\x77\x5d\xf3\x43\xba\x1d\x2c\x37\xe6\xba\x2b\x2a\xfd\x18\xad\x9d\xfc\x49\x40\xe1\x58\xc5\x95\x0f\x3a\xda\xd6\x88\xde\x85\x6a\xe0\x13\x6b\x77\xde\xf2\x9d\x37\xbe\x7a\x6f\xed\x63\x32\xf9\x49\xd8\x61\xb7\xdd\x56\x53\xb9\xeb\xf4\x69\x2e\x07\xba\xd3\x97\xae\xb9\xc3\xdf\x17\xbf\xb8\xb7\x5d\x30\x7e\x76\x68\xe5\xab\xc3\x96\x8f\xfb\x6c\x87\x37\xd6\xb3\x32\xee\xad\xba\x4a\x49\x2a\xde\xb8\x5f\xca\x55\x05\xe4\x80\x6f\xe9\x1a\x51\xf1\xe4\x3c\xca\xf1\x56\xaf\xe7\x6c\xbe\xeb\xd6\x95\xc5\x25\xc5\xe0\x34\x9d\x26\x5f\x9d\x3e\x7d\xf9\x72\x7b\x81\xdf\x88\xcb\x71\xe7\x50\x0a\x8d\x55\x7b\xc2\xa0\xc3\x8c\x4b\xaa\xb1\x86\xa7\x21\xc9\x12\x2f\x98\x59\x21\xc0\xc6\x5b\x98\x0c\x05\xd6\xa0\x5b\x18\x19\x6d\xad\xaa\xbf\xc5\x49\xaf\x5d\x5e\xa1\xc7\xe0\x72\xd7\xbc\xf5\x0f\x72\xe1\x1f\x6f\x5d\x33\xe8\xea\x8d\xc3\x3c\x95\x2c\x57\xec\x69\xe8\xa8\x2f\xb5\x00\x33\x60\xfe\x8e\x17\xdf\x7b\x71\xc7\xfc\x01\x0c\x58\x4a\xeb\x3b\x1a\x3c\xc5\x1c\x5b\xe9\x19\xb6\xf1\xea\x41\x24\xa7\x78\xb2\xda\x16\xa7\xac\x47\x19\x95\x82\x5c\x6a\x54\x07\xe5\xba\x6a\x5d\xd8\x5c\x5c\xdc\xbc\xb0\xb5\x76\x6c\x3a\x5c\xc4\x15\x7b\x3c\x95\xac\xc1\xeb\x92\xad\xac\xb1\x38\x1c\x70\x38\x02\x91\xe2\x22\xd6\xec\x92\xbd\x06\xb6\xd2\xe3\x29\xe6\x8a\xc2\xe9\xb1\xcc\x58\x92\xf3\x28\x24\xa7\xe9\x23\xd4\x23\x35\x6a\x14\x1c\xd5\x38\xb1\x70\x2f\x67\x8d\x97\x5a\x4f\x05\xcd\x60\x01\x0d\xc3\x32\x16\x8c\xa7\x33\x5e\xd0\xb8\x5c\x44\x59\x02\x87\x10\x8c\x55\x83\xc0\x0b\x46\xa8\x86\x10\x2f\x30\xc1\x02\x46\x24\x96\x5b\x98\x84\xda\xe9\x41\x2d\x67\x60\x99\xfc\xad\xf6\xa4\x3d\x7f\x0b\x67\x85\xd5\x52\x98\x6b\x7b\x81\x0f\x49\xce\x10\xbf\xbf\xce\x8e\x63\x8b\xc9\x77\x56\xea\xc2\x62\x95\x71\xfb\x8f\xf9\x70\x65\x88\xbb\x9a\x4c\x5f\x4c\xce\xb5\x6c\x5f\x39\x2e\x12\x19\xb7\x72\x7b\xcb\x39\x82\x11\xaf\x67\xd8\xfc\x51\xbb\x1d\xcf\xc0\x76\xaf\x13\xdc\xf9\x85\x0e\x8f\xc7\x01\xbf\x5d\x15\x86\xe3\xb7\x1e\xfc\xd8\xe6\xc0\x5c\x19\x99\x80\x4f\x38\x3c\x5e\x27\x19\x70\xf0\xd6\x8f\xbe\xaa\x18\x91\x8d\x44\xb2\x23\x2a\xbe\x52\xc7\x70\xf8\x22\x62\x73\x5c\x37\xdd\x5b\x83\xc0\x81\x04\x5b\xa2\xa7\x56\xf7\x2e\xd4\xf5\xe2\xed\xda\xaa\x01\x53\xf6\x59\xd6\x1e\xb1\x22\xaa\x2f\x62\x73\xe4\xec\xd9\x73\x7d\xa0\x31\x9a\xf3\xc0\xdf\xb6\x17\x19\xf7\x7d\xba\xfb\x18\x94\x9f\xe8\x46\x5a\x8d\x23\xe7\xc9\xcd\x4c\xe7\xc7\xe4\x94\x8b\x74\xf7\x8b\xaa\x99\x13\xb1\xd6\x13\x60\x3f\x78\xdd\xef\xf6\x5b\xc4\xfd\xe4\x0b\xbb\xa6\xcd\x51\xef\xea\xaf\x07\x8d\xa1\x9a\xcb\x38\x21\x29\x1b\x32\x0e\x55\x63\xaa\x00\x96\xa1\x00\x84\x93\xd0\xd2\x86\xac\x5c\xa7\x47\xa1\x2f\x20\x3b\xb6\xce\x3c\xf8\xfe\x17\xef\x1f\x9c\x39\xf3\xe0\xfb\xeb\xce\xdc\x0b\x5b\x49\x17\x5d\xac\x5c\xdc\x93\x34\x72\x9e\xcb\x29\x1e\xa2\x99\x2d\xf1\x64\xfb\xbd\x67\xd6\x69\xb1\xd5\x9b\xb6\xc2\x56\xfa\x98\x0b\xb9\xbe\xbc\xf4\xda\xa2\xb0\xaa\x6c\x6e\xd6\xf6\xce\xd9\x9d\x0e\x24\x38\xff\x4d\x11\xa6\x14\x44\x2d\xce\x62\x8a\x2a\x3f\xe4\x80\x2a\x35\xa8\x24\x11\xf8\x9e\x44\x33\x2d\xb7\x9e\x24\x67\xcf\x6a\x88\x0d\xf4\xb5\x9a\xf3\x2c\x39\x7b\xf2\xd6\xc3\xad\xbc\x68\x1b\xea\xd4\x55\x76\xfe\xa1\xb3\x52\xe7\x6f\xb6\x89\x7c\x6b\xfe\xfb\x7d\x99\x60\x7f\x3c\x9c\xfc\xcf\x43\x6a\x29\xef\xea\x77\x2b\x75\xee\x72\xc1\xb0\x8f\x1f\x02\xe7\xf0\x8e\x93\x56\xaf\x63\xd9\x8e\x1d\xcb\x1c\x5e\xeb\xc9\xae\x8f\xfa\x65\x89\xd6\x07\xda\xd7\x0c\x42\x23\x11\x82\x1e\x83\xf7\x9e\x6c\x08\xd2\x7f\xcc\x9f\x5a\x45\xd2\x48\x15\x02\x51\xb5\x7d\xf7\x64\x8a\x45\x76\x33\x94\xf4\x7c\x8d\xad\xdf\x94\xbf\x3b\xfe\xb6\xa3\xc8\x0a\x25\x67\xd6\x7f\x34\x0d\x5d\xbc\xce\x6c\xcf\xef\xe9\xf7\x6d\xce\x99\xed\x8a\x87\xd0\x2a\x73\xdd\xc5\xfb\x5f\xff\xe6\x0c\x5a\x4f\x80\xed\xe0\x9b\x50\x21\x9b\x07\xb5\x11\xbb\xb9\xab\xa3\xff\xd7\xc2\xbd\x7b\x4b\x97\xa3\xb5\xff\xb7\xbc\xa9\xdf\x2e\x13\x13\x7a\x21\x87\x9d\x97\xac\xb6\xf7\x74\x06\x99\x5e\xa4\xe2\x74\xc9\xa5\x85\xc0\xfd\xe7\x42\x38\x4b\xce\x6e\x4d\x2e\xd4\x7b\x0c\x03\x0c\xa0\x5f\xba\x92\x86\x28\x1e\x28\x51\x03\x77\x2f\x9b\x52\x08\x98\x51\x7f\x3f\xec\xbf\xff\xff\x58\x4a\x6a\x35\x78\xfd\xfe\xd4\x4a\x03\xe8\x2a\x75\x5e\xc3\xda\x55\xd7\xd1\x3a\xdf\x93\xae\xe5\x73\x0a\x01\x57\xd4\x6d\xdd\xfa\xb5\x52\x44\x88\x53\xeb\x08\x4f\xb8\x3c\xaa\x43\x2d\x68\x14\x9a\x40\x35\x33\x12\xe6\xbf\x49\x74\x04\xbf\x45\x88\xa8\x35\x44\x4e\xcb\x12\x82\xb4\x35\xc6\x5b\x99\x38\x1d\x90\x28\xb4\xe3\x05\x9b\x12\xe3\x05\x1b\xc4\x91\x15\x85\x43\x02\x1d\x96\xf0\xa4\x68\xfb\xdf\x0e\xf4\x93\x18\x04\x5d\x26\x6e\x6c\x10\x7b\xeb\xed\x47\x1e\x79\xfb\x2d\x88\x75\xdf\x96\xcb\xe5\x3a\xd7\x2e\xbe\xe7\x9e\xc5\x6b\x69\xcf\x8a\xcf\x5f\xbf\x61\xc3\xf5\x38\x7b\x4a\xcd\xc5\x29\x1a\xc0\xfc\xf9\x20\xf9\xd3\x09\xeb\x25\xa2\xe8\xeb\x02\xe9\x6d\xa8\x12\x9d\x6b\xd7\x3a\x45\xf2\xf3\xfc\x1b\x3b\x61\xc5\xce\x9d\xe4\x76\xf2\xcf\xfa\xc3\xbf\x3e\xf7\x50\xbd\x56\xe4\x24\x07\xac\x65\xec\x58\x0b\xe9\x86\x82\x6c\xa8\x7f\xe8\xdc\xaf\x0f\xd7\xab\xe3\x36\xb8\xc8\x0b\x6a\x7d\x6b\x43\xe3\xd0\x1c\xb4\xe2\x9b\xea\x5c\x00\x04\x1e\x09\x7c\x24\x56\xcd\x64\xb4\xae\x33\xda\x6b\x87\x79\x69\xe5\x94\x0b\x0d\x0a\x92\x74\xa0\x22\xb7\x40\xd4\x21\xc9\x4a\x2a\x89\x32\xd5\xea\x80\x05\xe2\x28\x95\x54\x62\xb4\x12\x07\x80\xbf\xa4\xa6\xb5\xb7\x4a\xc5\xe4\xcb\xa7\x7f\x46\x1e\x1c\xbc\xee\x9d\xdb\xc6\xe9\xf4\x37\xfc\x7a\xcf\xfa\x5f\x4e\xa7\xf5\xa7\x7f\xbc\xc6\xd0\x53\xfb\xa9\x27\x41\xec\xf7\x3e\x64\xbf\xf7\x61\x77\xee\x93\xc3\x0c\x98\xcf\xa4\x3e\xde\x73\x8a\x9c\x67\x3a\x4f\x81\xf0\xc9\x61\x86\x7c\x79\x26\xf5\x31\xdb\xd1\xbf\xae\xcd\xfd\x53\xee\x29\xd2\xed\xf1\x7f\xf8\x22\xbf\xf8\xc1\x4f\x36\xec\xf9\xe2\x0e\x8b\xd6\x06\xb3\xfd\x63\x8d\x9c\xab\x5f\x4b\xec\x66\x72\xc8\xa1\xb8\x2f\x3c\x44\x7f\x8e\x76\xcb\xfe\xc0\xcf\xa0\x35\xba\x71\x3f\x39\xdf\x2d\x80\x70\xea\x68\xb7\xec\x2b\xfe\x19\x79\x29\xba\x71\x3f\x62\x11\x5f\xd0\x6b\x8c\x44\xe3\xd0\x2c\xb4\xe4\xdf\x94\x61\x8c\xff\xff\x13\x4c\x94\x6e\x44\x2b\x4a\x5a\xf7\xe8\x50\x2f\xa3\x58\xd5\xda\xd7\x5b\xe7\xac\x82\xc4\xe7\x2e\x2b\xc2\x12\xf2\xaf\x1f\xfe\xea\xd9\x75\xfb\xbe\xd6\x66\x0f\x9e\xbf\x56\x76\x83\xe9\xd9\x73\xcf\xee\x3f\xf1\x7a\xa1\x55\xa2\x5c\x2e\x97\xcf\x81\x70\x6a\xdd\xc2\x7b\xee\x59\xb8\xee\x14\x53\xaf\x55\x3e\x7a\x79\x69\x3b\x9d\xfb\xa7\xdc\x93\xa4\xdb\x1b\xda\x32\xc6\xf2\xf5\xc6\x6a\x3b\x05\xa1\xef\x3d\x07\x16\x7f\x68\xcb\x3c\xda\x1a\xff\xbb\x50\x0d\x61\xa5\x5a\xfd\xea\x1f\x82\xce\x87\xea\xbb\x7b\xab\x1e\xc9\x3e\x54\x7f\x89\xed\x50\x23\x45\x8e\xef\xdf\x67\x0a\xbd\xc6\x92\xc2\xa5\xbd\x67\xa6\xcf\x62\xf2\x5b\xfb\xd1\xf7\x6f\xd4\xeb\xab\xf5\x1e\xc3\x8d\x63\x2e\xed\x4f\xc7\x1c\xd7\xfc\x8f\xbf\xff\xef\xfb\xd5\x0f\x6e\x34\x78\xf4\xd5\x7a\xfd\x4d\x63\x2f\xed\x5f\xc7\x1c\xd7\xfc\x8f\xbf\xff\x2d\xfd\x2c\xbe\xc8\xd2\x7e\xb6\x9e\xf2\x39\x4a\xc8\xe9\xc0\x2c\x55\xeb\xda\xd3\x99\x54\xdf\x47\x16\x34\x50\x27\x2d\x1b\x3d\xf9\xec\xab\x16\xb8\x90\x1f\x9c\x3b\x0b\xb1\x13\xe4\x83\x63\xbb\x3f\xdd\x67\x54\x25\x0b\x55\x7e\x1e\x9a\xa5\x25\xe2\x0d\x31\x29\xbe\xa1\xe5\x67\x96\x16\x70\xbe\x2f\x37\xcc\x16\x17\x39\xf5\xf1\x43\xe4\x8b\xfd\xa2\x65\xff\xef\xae\x3b\x08\xf6\x13\x56\xed\xb3\x1d\x9e\xa5\xdd\xf3\xba\x28\xbe\xae\x3d\x68\xd6\x61\x1a\xd0\x95\xbb\xb4\x1f\x62\x11\x12\x72\xec\xd6\x9e\xbc\x50\x14\x74\x2d\xd5\xfd\xc4\x25\x8f\xc2\xa1\x48\x61\xb4\x25\xc9\x89\x54\x8f\x12\x34\xd8\x03\x46\xd5\xf3\x6d\x84\x2b\x45\x91\x7c\xa8\xf7\xea\xab\x0c\x86\x53\xe4\xc3\x82\x8c\xff\x96\x34\x82\x72\xca\x60\xa8\xd2\x7b\xf5\x5d\xd9\xbe\x2c\xe1\x2b\xc5\xa4\x48\x3e\xd4\x02\x4e\x69\x52\xf0\x2c\x39\x7b\x02\xca\x7b\xcb\x47\xf3\x3c\xa5\xbd\xa5\xfb\x8f\x5f\xeb\x57\xe9\xb7\x91\x51\x71\x61\x0c\xd9\x0b\x04\x87\xd4\x19\x41\x3c\x80\x7b\x87\x01\xea\x70\x91\xa6\xe4\x2c\x39\x5b\xf8\xf8\x79\xa1\x5f\xe9\xd2\x01\x62\xfe\x5e\x6a\x13\xbe\x40\xed\xa9\x0a\xb5\x24\x7f\xe6\xb2\x77\x22\xc4\xe6\xd8\x1c\x12\x90\x8c\x10\x2a\x0c\x46\x51\x6f\x75\x8e\x07\x80\x45\xe4\x7c\xef\x38\x72\x4f\x5f\x6d\xfd\xe2\xfd\x83\xd0\xaf\xcf\xc4\xa9\x3e\xff\x99\x33\x0f\xa2\x7e\x38\x6c\x91\x7e\x5c\x9b\xb6\x44\x26\xac\x0e\xdf\x33\xd4\x94\xd0\x0f\x61\x67\xc2\xd6\x0b\x1c\xf7\x48\x38\x1e\x0f\x93\x4d\xaf\x06\x7e\x5b\x33\x64\x73\xeb\xda\xbd\x0f\xbe\xf6\x5a\x3e\xa8\xfa\x71\xb9\x78\xf8\xc2\xb1\x70\x1c\x4f\xfc\xfd\xed\x75\x75\xf0\x53\xfd\xa1\xfd\x8f\xfc\x3e\xff\x83\x78\x98\x9b\x12\x8e\xa3\xc2\xbb\x38\x55\xbe\xb5\x23\x64\x4b\xaa\xf3\x02\x56\xa2\xa4\xa3\x21\x25\x66\xe6\x2d\x40\x0d\x19\xed\x99\xbe\x65\x77\xcd\x16\x9c\xa5\x8b\xa6\x14\xd8\x5c\xd3\xda\x56\x33\xa3\x76\x1d\xff\xc9\xe2\xfb\xc1\x7a\x4c\x99\xb0\xfe\xf8\xe2\x21\xd7\xf9\x0d\x11\x63\x40\x2a\x8f\x47\xcd\x7a\x4b\xc5\x0c\xa1\x64\xc9\xb8\xe6\x21\xd3\x66\x64\x33\x73\x5a\x6b\xbd\xa6\x5f\x3e\xf6\x1a\xf9\xbb\xdb\xef\x0e\x48\xd8\x92\x18\x5b\x21\x31\x8f\xac\x78\xf1\xe6\x25\xc9\xdd\xe4\x50\xc7\x33\xc7\xb6\x8f\xce\xd6\xc5\x6e\xab\xb8\xa2\x62\xc2\x88\x38\x67\xb8\xaf\x78\xd6\x6f\x61\x46\x60\xe0\x92\x89\xfb\xc7\xb7\x0c\xba\xd0\xd2\x3a\x31\x3e\x65\xc9\xba\xa5\x35\x3f\x78\x89\xe4\x5f\xad\x9c\x30\xa0\x42\xef\x9b\xc1\x58\x26\x2c\xbf\xb2\x67\x5d\x7a\x33\x8f\xb8\xeb\x50\x05\x6a\x41\xe3\x11\x42\x1a\x32\x09\xb5\x3d\xa7\xf3\xec\x8c\x46\x47\x26\x51\x6b\x44\xa0\x19\xa2\x38\x43\x52\x22\xce\xf4\xc7\xb9\x15\x32\x92\xbd\x07\x86\x2c\x1c\x8a\x71\x22\x35\x3e\x62\xde\xf4\x3c\xcc\x61\x9b\xf5\xaa\x9a\xfa\xdd\xf3\x6f\x69\x1f\x0e\xcc\x30\x97\x8f\x77\x09\xa2\x45\xa7\x8b\x0f\xe5\x42\x43\xea\xe6\x16\x19\x2c\xab\xb6\x7d\x7e\x74\xc1\x82\xa3\x9f\x93\xcf\x8f\x2e\xd8\x38\xf6\xcb\xfb\x43\x10\x07\xf9\x8d\x8d\x1b\xdf\x20\x9f\xdf\xfd\xa3\x63\x64\xee\xde\x15\x1b\xdf\xc0\xf1\x69\x7a\xce\x10\xac\x88\xa5\x5a\xaa\xf6\xaf\x5a\x3e\x55\x37\x73\xb0\xc4\x98\x9c\x8e\xbd\x82\x73\x84\x41\xd0\x8d\xc8\xa6\x06\x08\x64\x6c\xe1\x21\x0b\x8e\x7e\xbe\xed\xcc\xe1\xcf\x47\x2f\xe1\x16\xa9\x0f\x21\x6f\x93\xcf\xdf\xd8\x38\xe7\x3a\xb8\xe3\xf1\x9f\xdf\x0d\xf2\x1b\x94\xd7\xa5\x80\x3f\xa6\xe1\x05\x89\x74\x8d\x38\x86\x2a\xd4\x19\x4b\x26\x98\x0a\xda\x82\xa9\x60\xef\x56\xa5\x7e\x6e\x7b\x2f\xce\x08\xe5\xa3\xa1\x47\x8e\x45\xdd\x48\x3d\xf8\x92\xba\x71\x75\x75\xe3\x2e\xb8\xfa\x5d\x68\x7f\x77\x9d\x47\x02\xd2\x8e\x1c\x05\xa5\xb9\x8b\x06\xb0\x25\x3d\x2e\xac\xc5\xcc\x97\x90\x1c\xe4\x30\xea\xfb\xed\xd5\x3b\x52\x2c\xee\x0a\x34\x06\x21\x54\xa2\x58\xd3\x25\x92\x15\x0a\x43\xd8\x7e\x56\x24\x3d\xfd\x40\xb0\xc7\x7a\x84\x12\x9c\x3b\x7b\x16\x93\xb8\x44\xcf\x0c\x26\x11\x97\x29\x33\xde\x5c\xf2\xf2\xa7\x9f\x42\xcb\xa7\x38\x0b\x1d\x26\x51\x34\x91\x43\xa2\xa9\xd3\x24\x92\x43\xea\x05\x74\xd0\x8b\x7c\x49\x7b\x12\xd0\x90\xc5\xdd\x07\x36\xed\x17\x9c\x25\xe9\xb6\x85\xcd\xa2\x63\xec\x9d\x8f\xdf\x39\xd6\x21\xee\x9a\xfc\xab\x64\x3b\xce\x15\x00\xfe\xc9\x03\x5f\xbf\x5b\x7b\x6e\xbe\x33\xd9\xfe\xa7\xf8\x0d\x9b\x52\x0b\xd7\x2d\x98\x3b\xb8\xd4\xd6\xdc\xdc\xdc\x6c\xeb\x68\x4f\xf6\xd8\x44\x0b\xff\xa2\xf9\x4b\xa0\x29\xfd\xf2\xa7\xd6\x44\x0b\x68\x68\x19\x1a\x16\x60\x2a\xd9\x4a\x9b\x58\x2b\x50\x5a\x3e\x8d\x9c\x4f\xad\xaf\x9c\x40\xe1\x16\xfa\x67\x54\x2a\xa1\xd9\xa4\x83\xaf\xbe\x7c\xfe\xf0\xbc\x5e\xbf\x57\x6f\x32\xeb\xcf\x9f\xd7\x9b\x4d\xfa\xbd\x7a\xd5\x71\x99\x4f\xde\xf9\xc3\x68\x74\xa2\x53\xbe\x24\xc3\xf7\xc0\xc8\x7b\x1c\xa2\xcf\xef\xf3\x44\x7b\xf3\x9b\xff\xd5\xb7\x3f\xa4\xcf\xe7\x87\xd1\x74\x2a\x3a\x91\xe9\xcb\xfc\xe6\xcd\x36\xde\x5b\x1d\x4c\x47\xfb\xd9\xc5\xda\x91\x87\xca\x2f\x3a\x54\xd2\xec\xf4\x0b\x9f\xb0\xa7\xea\x05\x7b\x2d\x69\x00\xf1\x9d\x1e\xe5\x22\xba\x80\x2e\x22\xba\x08\x84\xb3\x07\xde\x3b\x70\xe0\x3d\x6e\xca\xa7\x0f\xe4\xb3\x1e\x05\x23\xc5\x43\xb2\xa0\x8a\x79\x8a\x75\x46\x24\x35\xf4\x40\xf6\x81\x4f\x15\x0f\xc9\xf5\x61\xe9\xaa\x72\x4c\xa2\x56\x2e\x4c\xc2\x19\x14\x82\xce\xa0\x5e\xad\xeb\xb1\x60\x2a\xc1\x50\x93\x17\x31\xcc\xa3\xce\x4e\xf2\xa7\x0c\x8c\x20\x0b\xc9\x41\x72\x90\x2c\x84\x11\x19\xf2\xa7\xce\x4e\x40\x30\x18\x36\xc3\x60\x82\x56\xfc\x82\x47\x24\xdb\x99\xeb\xec\xee\x64\xd4\x13\x74\xe6\x11\x83\xba\xb2\xd0\xc7\xab\x8d\x0a\x7d\x4d\x58\x95\xcf\xac\x2a\x9f\x05\x59\xa2\x9f\xaa\x55\xa3\xd5\x8e\x24\xec\x3d\xcc\xa2\xb6\xa0\x8d\x55\xc7\xfd\x5d\x4f\xbe\x6f\xb5\x4a\x5d\xe7\x24\xab\xf5\xfd\x27\xbb\x40\x38\xf5\x17\x4a\xe2\xc4\xa0\xae\x1c\x8f\x9e\xdb\xdd\x9d\xdb\xf1\x0c\xf7\x86\xa5\xb4\xd4\xf2\x06\xf7\xcc\x0e\x26\xb7\xfb\xb9\x0b\x9d\x94\xb3\x09\xde\xc1\x88\xa0\x4b\x79\xa6\xb4\x77\x57\x68\xab\x11\xdf\xfc\x7e\xdc\xef\xfd\xe8\x3f\xa6\xe5\xd7\x1a\x67\x69\x36\x7f\x8e\x21\x1a\xa5\x69\x36\xdf\xf9\x2d\xc9\xd2\xa8\x5e\xe1\x65\x35\x59\xf9\xfe\x17\x3d\xba\x9a\x1b\x04\xc4\xad\xa7\xfc\x2b\x3e\x8a\x79\x63\xa3\x1d\x44\x81\xce\x3b\x11\x97\x41\x92\xf5\xd8\xe6\xe0\x43\xb1\xa8\xda\x57\xeb\x41\xf3\xc4\x93\xdd\x2e\x9b\x95\xd4\x38\xfd\x0e\xd1\x1c\x80\x8b\x4c\x16\x4b\xf9\x2f\xd8\xe5\xbe\x01\x32\x19\x86\xdd\xf9\x8b\x95\x64\x33\x0c\xb1\x85\xcd\x45\xd8\xcf\xb2\x33\xbb\x96\xbb\xc3\xba\xcf\x0d\x35\x32\x7b\xb5\xc3\x67\xb9\x88\x98\xc5\xdd\xf7\x83\x01\xb7\x75\xfd\xda\x5d\x6c\xfa\x88\xf9\x2d\xd3\xfd\xe2\x30\xbc\x19\x5b\x7c\x3c\xf9\x12\x5f\x82\xaf\x6e\xb9\x1c\x5f\x3d\x68\xbb\x1c\x53\xfd\x02\xba\x0c\x49\x9d\x3d\xa6\x59\xbf\xb9\xd0\xa4\x8b\xbc\xee\xfb\xdc\xc5\xc2\x3e\xe5\x1a\x34\x04\x8d\x46\xdd\xc0\x83\x1d\xbc\x10\x85\x38\x34\xc1\x30\x18\x0f\x73\x60\x05\x6c\x80\x27\xe0\x65\x38\x0b\x9f\x03\xc1\x26\x84\x38\x33\x50\x4c\xb5\x74\x26\x2d\x71\x01\xd0\x98\x98\x63\x0a\x9f\xa1\x6e\x4a\x6a\xc6\x6b\x71\x52\x49\x35\x0e\x24\x42\x42\x01\x5c\x27\x56\x50\x67\x26\x95\x4c\x35\x08\x2d\x38\x00\x20\x09\x92\x53\xd2\x9e\xc8\x46\x29\x49\x75\x26\x9d\x51\xd4\xc9\x45\xe1\x37\xa9\xcd\x6f\xe5\x54\xa1\xdb\x4b\x67\x5a\xb0\x24\x27\xd4\xae\xae\x05\x32\x4a\x4c\x89\x25\x33\xd5\x85\xfb\xd2\x92\xec\x08\x30\xb2\xa4\x3e\x42\xa0\x18\x4b\xd5\x6c\x2c\x02\x92\x2c\x65\x12\x2d\x4c\x2b\xb4\x80\xac\x2d\xa9\x82\xe0\xe4\x05\x5e\x08\x80\xac\x46\x4a\xb4\x40\x80\x86\x50\x14\xd4\xb0\x43\x48\x6b\xef\x74\x4a\xea\xaf\x20\xc9\x69\x70\xa8\xbf\x6a\xce\xd4\x49\x92\xc6\xa2\x18\xe3\x85\x50\x4c\x92\xe3\x99\xb4\xc2\x51\x43\x0b\x85\x72\x67\xc9\x4a\x3a\x53\xab\xc4\xcc\xea\x4c\x33\x9d\xe1\x2d\x90\xe2\x65\x5a\x4e\x01\xc8\xa8\x09\x46\x05\xfe\x84\x54\x92\x51\x84\x14\x2f\x69\xfe\x0a\xd7\x02\x4a\x2c\xc5\x87\x35\x1a\x93\x28\x4f\x19\xae\x5b\x20\xc3\x0b\x92\x20\xb1\x72\x3a\x92\x51\x32\xc9\x16\x68\x06\x27\x7d\x33\xc5\x0c\x8c\x99\x75\x61\x3e\x66\x66\x04\x3e\xcc\xc7\x34\x1f\x75\xc2\x2f\x31\xe9\x94\x5a\x54\x66\x90\xb5\xcf\x43\x0d\x76\xd5\xbb\x1c\xbc\x53\xa2\x70\x53\x61\x5e\x96\x64\x96\x52\xd4\xf3\xf4\x9e\xb0\x33\x1e\x55\xb3\x25\xa4\x53\x1a\x5c\x9e\x92\xa2\x8f\xe2\xd2\x1a\x36\xac\x43\x4b\x26\x7c\xa2\x53\xec\xee\x14\x86\x09\x5e\x59\xe2\x92\x82\x22\xba\x53\x80\x27\x7a\x25\xa9\xde\x34\x35\x54\x35\x72\xcf\x80\xd2\x9a\x0b\x6b\x4c\x53\x34\x67\x35\x7e\x1d\xca\xc2\xde\x50\x5a\x49\xfa\xb8\x55\x63\xc7\xad\x5a\x75\xee\x8a\xbf\x6d\xf1\xae\xbc\x76\xfd\x78\xfc\xa5\x4e\x14\x60\x66\x2e\x3d\x60\x9a\x94\x1f\x9f\xff\xb1\x3c\xb5\x76\xca\x73\x80\x39\x51\xc7\xbb\xcd\x5e\x41\x6f\xf4\xf9\x03\x26\xd9\x17\xf6\xd8\x1d\x46\x21\x35\xcd\xa8\xd7\x5b\xc6\xe0\x90\xe2\xe3\x4c\xd5\x66\x06\x1b\xca\x0c\x16\x8b\x3c\x04\x5a\x56\xfb\x4a\x9c\x3a\xeb\x48\xb9\x81\x61\x30\x2b\x70\xde\xda\x01\xf1\xd2\xcd\x35\xcd\x8b\x6e\xbd\xde\x51\x9e\x0c\xb6\x14\xe1\x89\x90\x9a\xdf\x34\x39\x02\x9c\xc0\x62\x0c\x4c\x83\x3c\xc2\x2e\x38\x4b\x7c\x2b\x9b\x86\xb9\xcc\x36\x63\xb9\x1e\x58\x6b\xa5\x89\xf3\x29\x21\x3c\xd6\xac\xd7\x15\x4d\x4b\x19\x04\x70\xd8\x3d\x61\x9f\x6c\x0e\x7a\xbc\x46\x83\xce\x67\x92\xc9\x3f\xf4\x13\x02\xac\xd7\xe7\x28\x19\x13\x76\x9b\x06\x07\x4c\x1c\x53\x97\xb0\x8c\x0c\x98\xcb\x8d\x4e\xc9\x1a\x38\xff\x42\x60\x82\x3e\x28\xfa\xbc\xa5\xfe\x21\x26\x77\x38\x6a\x49\x64\x58\xfd\xb3\xe6\x46\x31\x52\x55\xed\x71\x33\x67\x75\x36\x86\x31\xd9\x4a\x2b\xc1\x45\xce\xfd\xfe\xc8\x91\xdf\x1f\x49\x2f\x5d\x06\x82\xc1\xbf\xbd\x58\xcf\x72\xe4\x4b\x1d\xc3\xe2\xf7\x30\xcb\xf3\xc6\xd0\x75\xe4\x2e\x6b\x59\xbd\xc5\xce\x30\x06\x6e\xe8\xcb\x4c\x74\x17\xc8\x47\x8e\x83\xf3\x60\x90\x01\x6c\x1b\x64\xf1\xd4\x25\x8a\x39\x56\x30\x60\x5e\x2f\x14\xe9\xac\x3a\x91\x5d\x56\xcf\x16\x05\xac\x3e\x9e\x79\xc2\x85\xd3\x35\x95\x45\x3a\x9b\xbe\xc1\x0f\xe3\x19\xdb\x90\x58\xd9\xa6\x69\x5c\x78\x47\x3a\x31\xc5\x24\xb3\x3f\x7a\x65\xfe\xe1\x79\xbc\x8c\x8b\xf5\x45\x95\x06\x11\x30\x23\x4e\xc6\x0e\xbc\x90\x9c\x68\x1f\xa7\xd3\x0d\xcc\xbe\xf3\x0e\x00\x7b\x88\x75\x99\x45\x60\x2c\x96\x72\xb3\xbe\x18\x5b\x8b\xde\x7c\xe2\x27\xb8\x83\x9b\xb6\xb1\x5c\x19\x6a\x63\x0c\x53\x12\xe9\x1d\xfb\xac\x51\x41\xef\x16\xa5\x41\x1c\x9b\x70\xf6\x73\x4f\xf3\x0e\xd4\x9b\xc2\xc1\xea\x2b\x39\x6e\x72\xa8\x9f\x9b\x1d\x64\xd1\x55\x79\xc3\xf1\x0a\x59\x1c\xb9\x74\xe9\xed\x4b\x3f\xbc\xb2\x6a\x70\xd3\x08\xbe\xf4\xca\x0b\x1f\x19\x8b\x65\x5b\xdd\xea\x36\x8c\x6b\xca\xdd\xee\xb2\x01\x98\x39\x38\x51\xb2\x17\x1b\x0d\x7a\xc9\xef\xd7\x1b\xcc\x0e\xb3\x5f\x57\xe4\xe3\x04\xd6\x32\x02\x1b\x86\xa6\x94\x8a\x96\xa0\x2d\x6a\x70\xdb\x39\x3b\xc3\x02\x07\x46\xbe\x94\xe1\x59\x1c\x2c\x8e\xac\xaa\xdb\x9a\xb2\xca\x7e\xf0\x58\x5d\x66\xc6\x8c\xab\x7d\xac\xbd\xba\x21\x35\xc2\xa4\xb3\x98\x74\x66\x66\x2b\xf9\xd7\xa4\x1b\x0c\x22\x63\x76\x59\xcc\x66\x9f\xcb\x96\xdc\x5a\xbf\x2a\x5c\x12\xc4\x06\x5c\xc6\x15\x01\x07\x1c\x63\xe7\xec\x2e\x9d\x62\x2b\x69\x2d\x2d\x4b\xb5\xe9\x71\xad\xcb\xc2\x0a\x9c\xaf\x48\xef\xb3\xda\x4d\x7a\x83\x2f\xe0\xd4\x31\x8f\xfa\xdd\x25\x0b\xa2\xd7\xf8\x45\x76\x7d\xf9\xee\x06\x53\x89\xd9\x9c\x5d\x68\xb5\x18\x60\xed\x16\x66\xc8\x75\xb5\x0b\x4a\xdc\x7e\x3b\x2b\xfa\xaf\xd9\x57\x6c\x6e\xd8\x5d\xce\x5b\xac\x0b\x06\xda\x06\x6e\x59\xc9\x9a\x45\x98\xbe\x9c\x89\x29\x37\x89\x76\x41\xe7\xd8\xd9\x84\xf1\xce\xc3\x57\xaf\x3b\x7c\x78\xdd\xd5\x44\xc1\x18\xbc\xeb\x05\x33\x18\x99\xe1\x83\x9f\x65\xa7\x4d\x13\x81\x71\x4c\x9a\xc0\x59\xf0\x6b\x8d\x1b\xdc\x3a\xde\x6e\xbd\xdd\x8f\x77\xc8\xa6\x9b\x7e\x92\xa9\x7d\xf9\x6e\x93\x13\x33\x0c\x00\x60\x01\x66\x94\x2b\x31\x5e\x67\xaa\xe5\x74\x3c\xc7\x60\x0c\xa0\x77\xd8\x44\x23\x83\xc1\x56\xdf\xaa\xd7\x55\x9b\x4c\xfe\x08\xcf\xe2\xfc\x2e\xb3\x75\xd8\x7a\x63\x51\x6a\x79\x3a\x35\x0e\xe3\xa6\x8f\x5a\xeb\x56\x37\x27\xf7\xce\x63\xf5\xc0\x63\xbb\x28\x1b\x4d\xc6\x89\x83\x43\x6f\x39\x9d\xb7\xd5\x86\x25\x86\x71\xfa\x9a\x72\x50\x93\x1e\xa4\x04\x61\x74\xbb\xce\xa6\x77\x39\xec\x2c\xc7\xea\x5e\x98\xd3\x78\x63\x7a\x79\xaa\xc8\xb8\xa1\xcd\x6a\xae\x6d\xc2\x78\x9c\x36\x66\x18\xac\x07\xee\x79\x3a\x32\x6f\xa4\x7c\xde\x97\x58\x29\x40\x80\x2b\x82\x44\x3c\xc0\xaa\x22\x49\x68\xe1\xaa\x19\x81\x8f\x54\x0b\xdc\xdf\x3b\xf6\xce\x9b\xb7\x37\xbf\x76\xde\xde\x8e\x8e\xbd\xf9\x19\xf5\xcb\xf7\x5c\xff\xa3\xb7\x20\x06\xf5\xbf\xd8\xf7\xf3\x3b\xe7\x55\x31\xe5\xc3\x56\x6c\x19\x7d\x6a\xa1\xff\xff\x31\xf7\xde\xf1\x51\x5c\xf7\xfa\xf0\xf9\x9e\x69\x5b\x67\xfb\x8e\xb4\x92\x56\x5b\x67\x55\x57\xd2\x56\x09\x49\xab\x45\x88\x2a\x01\xa2\x0b\x84\x84\x68\x46\x88\x26\x9a\xc1\x18\x9b\x35\xe0\x0a\xd8\x18\x03\xae\x18\xc5\xd8\x71\xb7\x83\x6f\xe2\x5e\x64\x27\x71\x8b\x4d\xec\xc4\x3d\x2e\x72\x8d\x49\x62\xc7\x71\x62\xc7\x46\xda\xd1\xfb\x99\x33\x2b\x21\x04\xb9\xc9\xef\xde\xfb\xc7\xab\x8f\x76\x4f\x99\x33\x33\x67\xce\x9e\x39\xf5\xf9\x3e\xcf\xa2\xb6\x8e\x09\xa2\x6e\xfa\x4d\xd2\xf1\xbb\xa4\xf7\xdf\x7f\x6a\xe7\xc6\x86\x06\x77\x59\xb1\x7c\xd2\x62\x72\xea\x62\xa6\xa2\x66\x7e\x63\xb8\x40\xe0\x19\x8d\xe0\x2a\xab\x9c\x34\x63\xf9\xea\xb1\x47\x16\x84\x37\x2d\x3a\x6f\x46\x73\x4d\x38\xdf\x48\x61\xa3\x33\x12\x9e\x52\x3d\x3b\x3e\x63\x08\x73\x90\xd1\xe5\xca\x27\xac\xa0\x8d\x68\x05\xda\x42\x94\xb9\x46\x2a\x15\x89\xbe\x51\x34\xcd\x96\x90\xcd\x64\x2d\x06\x4f\xd4\x14\x09\xd3\x64\xb2\xc8\x0d\x2f\x27\x04\x21\x1a\xc1\x2e\xda\x3c\x64\xf3\x6c\xb1\x29\x98\x3b\x85\xe4\x3a\x0f\x86\x43\xa2\x8b\x1d\xcd\x85\x48\x17\x4a\x0f\x48\xaf\x7c\xb4\x7b\xf7\x47\x10\x81\x99\x10\x91\x7d\xe9\x35\x67\x33\x3d\x6f\x30\x1a\x5d\x46\x23\x5c\xd8\xd5\xe8\xcd\x23\x53\xfc\x3c\xef\x0c\xc5\xb2\x79\xc8\x54\xfa\x77\x24\x7a\xd7\xe3\xbb\x88\x7b\x42\x7a\xff\x04\xd5\x21\x3a\x06\x52\x43\x84\xea\x4c\xef\xee\x8f\xa4\x57\x46\xdd\xed\x57\xe7\xe0\x85\x4e\x4f\x33\x4a\xf2\xbd\xfa\x8c\xc9\xc6\xa8\x77\x8c\x69\x03\x6f\x36\xf3\x1b\x4c\x63\xbc\x51\xaa\x71\x94\x61\xb6\xf4\xb5\xb2\x9c\xd6\xb6\x6b\x57\x9b\xe2\x3b\x70\xe2\xc4\xc0\xd5\x98\xb0\x22\x12\xaa\xde\x21\x7b\x32\xb5\xc2\x2b\x2f\x90\x71\x9d\x3c\x17\x0b\x9b\xbc\xa3\x8a\x22\x4a\x46\x53\xb6\xd1\xd0\xaa\x90\x9d\x4b\xfd\x98\xe2\x50\x2a\x65\xe6\x7f\x20\x20\x78\x8e\xd8\xc8\x37\x46\xdb\xeb\x7f\xe8\xad\x6f\x6f\xaf\xe7\x92\xf5\xed\xd1\x46\x1a\xc9\x63\xd9\x74\x2f\xa4\x94\x05\xfd\x01\xc5\xf6\xbd\x47\x4a\x45\x1b\x7b\xe4\x64\x14\x49\xdc\xd3\x88\x46\xe5\x29\x67\x38\x4f\x99\xf5\x88\x51\x59\xb0\x65\xc3\x59\x59\x35\x01\x62\x10\x26\xf6\x41\x23\x73\x31\x2a\x8b\x14\x4a\x23\xdc\xdb\x18\x1d\x95\x85\x74\xc7\x99\x79\x04\xd7\xff\x45\x7e\xa8\x14\x8d\xfe\xff\x94\x1f\x8c\x98\xff\xbb\xf2\xc1\xc3\xf9\x11\x50\xf1\xe9\x95\xa3\xff\x24\x27\xaa\xff\x3e\x17\xd4\x7f\x74\x7f\x40\x68\x90\xa1\x2f\x64\x11\xca\x25\x2c\x9e\xac\xd7\x6d\x19\x92\xca\x24\x8a\x26\x62\x46\xf9\x5d\xa0\xd7\x10\xf9\x8f\x9d\x2f\x69\xac\x59\xc7\xb3\xcb\xb5\xcf\x48\x2f\x5a\x1c\x3a\x5d\x41\x81\x4e\x97\x63\x86\xaf\x9c\x81\x02\xc9\x97\x5d\xae\x6d\xd4\x58\xb3\xe0\x57\xd2\x8b\x16\xc6\x54\xc4\xf4\x15\x99\x18\x8b\xc2\x5f\x4d\xa5\x58\x44\x34\x0a\x5c\x36\x53\xd8\xe6\x35\x59\xdd\x61\x9b\xd7\x15\x60\xdd\xde\x68\xd8\x15\x35\x79\xa3\x61\x53\x84\xf8\x85\x98\x3b\x6c\xa3\x92\x52\x6f\x2a\x05\xc9\x64\x52\xfa\xa6\xbb\x5b\xfa\x26\x99\x84\x64\x2a\x25\xf5\x26\x93\x60\xec\xee\x06\x63\x92\x49\xf5\x49\x1d\xa9\x74\x5f\x5f\xea\xc0\x81\x54\x1f\x76\xa5\xa0\x87\x78\x95\xe2\x1c\xb2\x6b\x18\x52\x7b\x28\x26\xac\x17\xd5\x64\xe5\xd4\x6b\x0a\x9b\x08\x10\xc9\x24\xbf\xa9\x6e\x9b\x3b\xea\x66\x6c\x44\x84\x39\x6a\x8a\x7a\x6d\xfe\x68\xd8\x44\x10\xad\xa6\xb0\xa2\xa7\x9b\x31\x58\x97\x5d\x62\xbf\x6e\x53\xa1\x54\x4a\x4a\xf5\x23\x29\x95\x4a\x41\x8a\x41\x90\x1a\x44\xa9\x1f\x51\x2a\xc5\xa2\x54\xaa\x5f\x71\x25\x04\xa9\x81\x94\x94\xa2\x52\x69\x84\x53\xe9\x14\x8d\x06\x91\x94\xa2\x53\x03\x99\xb3\x68\x04\x43\xfa\xb8\xa7\x90\xfc\x4d\x67\x34\x1f\x64\x5f\x1a\x91\x1a\x94\xc2\x72\x2d\x92\x4f\xc8\x70\xe7\x20\xb5\xfc\x4c\xf9\xc3\x6b\x44\xe1\x8c\x86\xc5\xbc\x33\x9f\xea\xcc\x67\x33\x79\x87\x9e\x10\x46\x3e\xa5\xd7\x16\xf6\xbb\x4f\x3f\x2a\x44\x89\x3a\xb5\x5c\xcf\xa2\xee\xcc\xa5\xc2\x36\x77\x54\x4d\x9e\x55\x7e\x92\x94\x94\x52\xb2\x4e\xa5\x40\x76\xc8\x53\xa7\x51\xea\x54\x2a\x95\x62\x52\xa9\x54\x7f\x8a\x4a\xa5\x52\x03\x8a\x2e\x85\x1c\x31\x74\x0a\x45\x68\x8c\x95\x73\xe5\x0f\x26\xae\x94\x11\x07\x26\xdf\xfd\x99\xa2\xc0\x64\xfb\x23\xad\x1c\x41\x78\xe8\x9e\x72\x01\x9c\x9e\x0b\x9a\x50\x16\x79\x6b\x47\xbc\x1d\x26\xb7\x87\x15\xdc\x72\xad\xe5\x68\x34\xd0\x51\x50\x59\x59\xc0\x24\x0b\x2a\x89\x44\x31\x5c\x64\x08\x3d\x1a\x9a\x09\x2e\xa9\x43\x89\xad\x2c\x18\xe8\xa8\x9c\x34\x33\xf4\x68\xc8\x80\x46\xda\xda\xb0\x44\x57\x19\x81\xd7\x16\xab\x83\x98\x7f\x68\xf5\x43\x6e\xbb\x0d\x70\xda\x1c\x8a\x58\x0a\x6d\xfd\x21\x4f\xf7\x98\x4e\xfa\x16\x5c\xfd\x88\x4a\x55\xc2\x8b\x05\xb9\x8f\xe6\x76\x14\x0c\xa0\xa1\x5b\x03\xfa\x41\xa3\x7b\x4c\x77\x84\x4a\xf5\x23\x70\x15\x54\x52\x3d\x03\xa8\xa0\x23\xf7\xd1\xdc\x82\x4c\x26\x86\x34\x9d\x86\xf8\xb3\xb2\x50\x00\x8d\x45\xb3\xd1\x32\x62\x75\x39\x4c\x48\x18\x1b\xf6\xdb\xc3\x76\x86\x88\xa5\x78\x3d\x01\x9b\x13\xf2\xc1\xe5\x8f\xb2\x1c\x2b\x46\xc8\x7c\x31\x08\x65\x20\x12\x4b\xe6\x38\x31\x5d\x8b\x2a\x8a\xdb\x1e\xd1\xeb\x36\xb9\xcf\x36\x75\xe2\x8e\xe6\x0b\x2a\xcd\x8d\x37\x6a\x54\x82\xde\x29\x50\xba\x3d\x7b\x28\x2d\x08\xfd\x2b\x3f\x6b\x1a\xb7\xfa\x82\xe8\x15\x85\x45\x30\x09\xbf\xbc\x74\xf9\xea\x6d\xdb\x56\x2f\x5f\x5a\xde\x99\x9b\xbb\xe3\x91\x25\x25\x25\x4b\x1e\xd9\xb1\x9c\x9a\x3c\xb7\xbe\x2a\x39\xb3\x9e\x32\x33\x52\x15\xfc\x79\xca\xa2\x33\x29\x8a\x22\x11\x3f\x83\xf7\x62\xe6\xc1\x90\x87\x86\x4b\x80\xee\x83\x88\xf4\xca\x98\xc9\xd5\xdd\x06\x23\x80\x7b\x7d\x84\x53\x2d\x79\x7c\x89\x8a\x0b\x77\xeb\x0c\x18\xb3\x05\xcd\x1d\x9b\x3a\x9a\x0b\x58\xfa\xea\xd8\x78\x86\x52\x8d\x0b\xc6\xeb\x29\x90\xf0\x64\x2a\x76\x06\xff\x10\x33\x5c\x4e\x0c\xd2\x22\x07\x0a\xa2\x84\x5c\x03\x78\xb0\xda\x7d\x11\x31\x60\x8a\x21\xa2\x7c\x16\x24\xd2\x9d\x2e\x1a\x88\x21\x37\xb1\x50\x35\xd3\x61\x77\x28\x81\xcf\xb2\x9a\x5a\xd0\xb5\x7b\x37\x5e\xb2\xbb\xab\x0b\x5a\x8f\x48\xdf\x1e\xdd\xf2\xee\x91\xb6\x23\xc0\x43\x02\x78\x9c\xbb\xee\xd1\xbf\xef\x92\x7e\xff\x33\xe9\xdd\x07\x1f\x80\xa2\x07\xa0\xf4\x92\xef\x1e\x5d\x07\x2d\x23\x9f\x12\x02\xf8\x17\x85\x4f\xfd\xe9\xa9\xa7\xfe\xf4\x54\x61\x7a\x4a\x21\xbc\x2e\x3d\x27\x7d\x7b\xa4\xed\xc8\xbb\x5b\x8e\x02\x7f\xe4\x88\xd4\xb4\xe7\xbb\x9f\x76\xdc\x26\xbd\xf5\xf8\xbd\xd2\x1f\xee\x59\x7e\xf7\x5f\x28\xf6\x4c\x1e\x2c\xea\x8c\xb1\x5a\x35\x42\xcc\xa8\xb6\xfd\x2c\xfe\x68\x9b\xf7\xb4\x01\x9b\x9d\xf0\xf6\x9d\xe6\xa6\x4a\x59\xf4\xfd\xbd\x7a\x8b\x45\x4f\x27\xf5\x96\x54\x7b\x7d\x3f\x69\xea\xe9\x64\x7d\xbb\x94\x1a\x3e\xd6\xd3\x33\x14\xd9\x21\x27\xcb\x44\xd3\x53\x4f\x27\x6e\x87\x44\x4f\xcf\xd0\x91\x54\x26\x2e\xa3\xf7\xaa\x92\xdb\x6e\x8c\x18\x14\x45\xb5\x68\x0e\x5a\x83\x90\x1a\xdc\x6a\x70\x03\x0f\x9c\x69\x78\xfd\x77\x78\xd5\x37\x08\x81\xe1\x00\x61\x19\x1f\x4a\x42\x0f\xad\x69\x29\x3b\x2e\x04\x58\x18\x0b\x09\x4e\x9a\x19\x1d\xc1\xf6\x4a\x29\x0a\xfd\x28\xb7\xa0\x08\x7e\xc1\xd7\x15\x60\x32\x0a\x3b\x45\x7a\x37\xdc\x51\x50\xc7\x4b\x36\xd2\x83\xfd\xd9\xb6\x64\xfb\x12\x1b\xfc\x99\x6c\x1f\xd6\xd5\x97\x95\xd5\x97\xd1\xfb\xdb\xae\xbe\x6e\xf7\x75\x57\xb7\x4d\xd8\xb0\xac\x93\x36\x37\x99\xe9\xce\x65\x1b\x26\xf4\xa3\x73\xc5\xd2\xc9\x74\x12\xf7\xa6\x93\x54\xaa\xa0\x8e\x3f\xf5\xdd\x69\x7a\x22\x46\xcb\xd7\x15\x10\x5f\xd5\xc4\x89\x55\xc4\x63\x2c\x93\x2f\x3f\xb0\x78\xf2\xa6\x7a\xb7\xbb\x7e\xd3\x64\xed\xde\xd7\x1f\x7e\x9c\x73\xbb\xb9\xc7\x1f\x7e\x7d\xaf\xf6\x9c\xb1\x23\xd7\x38\x4b\xd1\x54\x84\xc0\x88\x39\xbb\x79\x08\xf2\x70\x5a\x82\xcb\x68\x8e\x8b\xd8\x34\x62\x13\x9f\x1c\x86\x04\x15\x75\x5b\x9d\x58\x70\x82\x95\xe5\x78\xca\xe6\x8e\x04\x71\x20\x08\x91\x18\x93\x7a\xb3\xa7\xe7\x4d\xa5\x4c\x48\x96\x3b\x86\xc3\x8c\x62\x4f\x79\xd5\xd4\xfd\x1b\x27\x0c\xa0\x09\x1b\xf7\x4f\xb5\x08\x82\x45\x0e\xd1\x43\x21\x26\x25\xf5\x4b\xeb\xba\xba\xa4\x75\x52\xff\x08\x76\x26\x06\xae\xed\xea\x82\x6b\x81\x19\xc1\xd2\x54\x93\xb7\xe3\xa1\x6f\x77\xef\xfe\xf6\xa1\x1d\x79\x9c\xbb\xc0\xcd\x9d\x19\x1c\xb9\xb6\x5a\x4a\xfa\xa3\xff\xb7\x27\x2c\x06\xb7\x55\x70\xc7\x4c\xf2\x63\x79\x79\xca\xf6\x6f\x1f\xab\x6f\x00\xa9\xa9\xaf\xd5\x0d\xeb\xf7\x36\x7d\xd1\xb4\x77\x7d\xc3\x7f\xfe\x24\xf5\x89\xda\x53\xe3\x76\xfe\xf5\xf8\x8e\xfc\xfc\x1d\xc7\xff\xba\xf3\xcc\x75\x61\x39\xef\xd5\xff\xb3\xbc\x53\x41\x08\x78\x79\xe0\xfe\x93\xac\xcf\xa1\xe6\xce\xa9\x8a\x3d\xb2\xe2\x8b\x15\x8f\xc4\xfe\xf3\x9c\x9f\x78\xe8\xa1\x01\x7e\xdf\x4b\x45\x45\x2f\xed\x3b\xb3\x3e\x4d\xfc\xdf\xd5\x27\x96\x73\x8b\xff\xb3\xca\x74\xe5\x2a\xfc\xe4\xaa\x2b\xff\x77\x15\x29\x7c\xed\xb5\x61\xa5\x0a\x8d\xf8\x1d\x0c\xa8\x0a\x4d\x46\x88\x19\xd5\xa4\xc4\x13\xaa\x78\x50\x15\x70\xf3\x2a\xce\xa9\x12\x2c\xa3\x8e\x32\x7d\xa7\x73\xbe\x84\x72\x78\xc6\x54\x34\x47\xe6\x97\x14\x17\x97\xcc\x8f\x34\x57\x8c\xf1\x38\x28\x7a\xe0\x5c\xb1\x4b\x4e\x9f\x95\x34\xf3\xc4\x32\x39\xc5\x9b\x93\xf1\xce\xb9\x2d\xc9\xc6\xd2\xb1\xce\xdc\x5c\xe7\xd8\xd2\xc6\x64\xcb\xdc\xce\xf8\xb9\xe2\x58\x74\xfa\xa4\x11\xd8\x09\x84\xc6\xa2\x2e\x84\x88\x55\xb2\x37\x23\xa9\x6e\x0a\x28\x9e\x3c\xb0\x0a\x60\xb7\x29\x6d\x7c\x2d\x44\xe2\x96\x58\x86\x70\x4c\x49\x1b\x18\xe9\x0d\x84\x88\x16\x38\xf9\xca\x03\x2b\x21\xe9\x52\x3a\x05\x50\x1e\x3b\x24\x28\x66\x7c\x14\x8a\x36\xba\x92\xe5\xc1\x7a\xf2\xe5\x85\x58\x40\x74\xe0\x94\x43\xd4\xac\xd6\x90\xd8\x50\x80\x57\x07\xeb\x5d\x63\x43\x8c\x6a\xf6\xd8\xaa\xfa\xea\x4e\x4f\x8e\x6b\xd9\x5e\xfd\x1a\xb6\xbb\x39\x9d\x9a\xbd\x5a\x7a\xa5\x69\xdf\x52\x2d\xc3\xee\x59\x14\x09\x4e\xa2\x53\x8d\xd1\x54\x5b\xf9\xb8\xfa\xa0\x34\xcb\x79\x9f\xec\xf6\x95\x79\xa5\x77\x02\x75\xf2\xb4\x37\xbb\xd0\x07\x3f\xf7\x15\x7e\x2f\x47\xbb\x2e\x2a\x18\xab\xc2\xf5\xc1\xd4\xb6\xf0\x54\x06\x52\x21\x4f\xac\x82\xbb\x66\xd9\xf7\xe1\x2a\xa9\x29\xab\xac\xb9\x7b\xf3\x6c\x28\x98\x7c\x5e\xdf\xd2\x7d\xb0\x68\xa7\x6d\xfc\xe9\xbd\x9e\x0e\x16\xa1\x0a\xd4\x82\x10\x92\x8b\xc5\xab\xd8\x82\x64\xc3\x10\x09\x23\x90\x92\x89\x5b\x62\xd1\x8c\x95\x88\x77\x84\x3b\x5c\x16\x31\x79\x8a\xc4\x51\xca\x90\x2c\x00\x19\xab\x3f\x65\x9b\x22\x46\xdd\xba\xb0\xde\x55\xbf\xb0\xfe\x26\x31\x19\x6d\x74\x40\x4a\x4c\xe2\x9f\x79\x62\x5c\x13\x53\xaf\xc4\xbb\x7e\x7e\xc5\xc6\x7c\x8b\xb0\x74\xdf\xca\xeb\x55\x4d\xfc\x45\x33\xd2\xcd\x35\x6b\x7c\x52\x2a\x7c\xb8\x6b\x5a\x68\xdf\x52\xc1\x92\xcf\xa4\xea\x83\xe9\x6e\x6c\x0c\xd6\xd7\x07\xd3\xdf\x0c\xa2\x57\xc3\x8d\xd1\x62\x8f\x84\xc2\x25\x1e\x38\xe4\xca\x81\x6f\x89\xdd\xe8\x37\x43\x09\xf0\xfe\xe0\x73\x13\x6b\xe9\x7d\x4b\x4d\xec\xde\x95\x12\x5f\x50\x2c\xad\x9e\xde\x19\x2f\xc3\xa8\x61\x6e\xd7\x61\x0f\x3c\xb4\x74\x1f\x5d\x3b\xcc\xc1\x47\xf6\x7a\x45\x14\x45\x53\xd0\x12\xb4\x0b\x21\x46\x9e\x5f\x29\xcb\x2c\x71\xb7\x02\x19\x1f\x66\x9a\x66\x32\x70\x25\x8e\x61\x29\x79\xfc\xa9\xd0\x17\xf9\x83\x10\x25\x55\x86\x63\x08\x47\xaf\x1c\x95\x00\xca\x3f\x44\x4b\xcd\xd8\x32\x9c\x23\xf1\x68\xa4\x0e\x28\x72\x54\xb1\xf1\xe7\x32\xda\x15\xb5\x10\x26\xa6\x91\x36\xf9\xd2\x74\xc5\xf1\x63\x75\x42\x62\x32\x23\xf5\x77\x1d\x3e\xdc\xb5\xbe\x64\x4a\xeb\xe1\xae\x60\x29\xde\x04\xd7\x76\x1d\x5e\x3d\x57\xba\x7f\xe1\x35\x37\x1f\x73\xfa\xea\x83\x0e\x2b\xcc\xac\xa8\x83\xa4\xec\x93\x3e\xcc\x35\x17\x1b\x8d\x75\x21\xab\x19\x3a\x9c\xbe\x2f\xd3\xe7\x67\xd9\xa3\x8d\xa5\x7e\xcc\xa7\xc9\x8c\x14\x0b\x27\x83\xeb\x56\xcf\x9c\x0c\xb3\x8a\x63\x8d\x51\xe9\x95\x2b\x7c\x72\xb9\x57\x45\xc6\x07\x45\xe9\xe5\xd4\xbe\x8a\x28\xe3\xdc\x3c\x5e\xd4\x1c\x7e\xe3\xb0\x29\x77\x57\x73\xd7\x61\xd3\x5f\x0f\x77\xa5\x97\xb5\xec\xb1\xcd\x11\xf0\x0b\x13\xa7\xf0\x71\x77\xb0\x5e\x73\x93\xa6\x39\x34\x88\x82\xf5\x9a\xdd\x7a\x95\xc3\xe6\xb7\x87\x92\xea\x1e\x3e\x4e\x99\x7e\x50\x35\x46\x0b\xea\xf9\x17\x93\x8d\x5d\x8d\x5d\xcf\xd7\x15\x9f\x37\x80\x2c\x73\xb4\xe3\x4b\xf0\x2d\xd1\xc6\x8b\xdd\x15\xd2\x3b\xc1\xc4\x84\xe0\x6b\xaf\x4d\x28\x51\xcd\x88\x16\x4d\x32\xed\x1b\xae\x7b\x64\x3e\xe8\x23\xfc\x78\x21\xbb\xfc\x1a\x0e\x4b\x60\xfa\x87\x07\x2b\xf2\x8f\x10\x50\xfc\x60\x8a\x04\x40\x19\x72\x59\x9d\x20\xbf\x6a\x6e\x9b\x3b\xc3\x9a\x14\x76\x13\x54\x45\x66\x56\x20\xbf\xd6\x72\xbd\x15\x18\x27\x64\xbc\x31\x7a\x47\xed\x5a\x1f\xae\x39\xbf\xbb\x59\x4a\x35\x77\x4b\x9f\xa4\x3f\x6c\xee\xbe\x7b\x0b\xdc\x5e\x94\x9e\xb9\xec\x3a\xd5\xd8\xee\x66\xb6\xb7\x2d\xfd\xcb\x40\x72\x60\xac\x43\xa4\x8c\x26\x4d\x38\x9f\x4a\x0e\xf4\x3a\x44\x4a\x35\xa9\x14\xa7\x5a\x0b\x2a\x99\xa4\x26\x94\x2f\x8d\xaf\x6f\x17\x1d\xb8\xc2\xa8\x87\xda\xac\x3c\xd1\x01\x29\x87\xc8\xa2\xca\x8a\x81\xbf\x1f\x7d\x51\x3a\xd2\xdc\xdd\xdd\x7c\xfc\x9a\xee\x66\xd7\x96\xbb\x53\x97\x2f\x9d\xbe\xc2\xd5\xdc\xfd\x63\x2f\x2c\x3d\xb2\x83\xd2\x47\x44\x87\xcb\x1b\xb4\xe6\x8b\x2e\xd1\x51\xc2\x97\x8c\xa9\x2c\x30\x18\x7a\xf3\xfc\xed\xf5\x2e\x87\xc8\xdd\xaa\x0f\xe6\xfc\x9a\x2c\x60\x29\x9c\x78\xf2\xd8\x2e\x84\x36\xc9\x6d\x96\x18\xa0\xc4\x68\x84\x7c\xc5\x32\x14\x6f\x39\x90\xa1\x7a\x03\x9b\x95\xa3\x32\x94\x24\x2c\x07\xac\x97\xf2\xb0\x1c\xe5\xa5\x86\xc8\xa4\x2c\x23\xbc\x4e\x90\x3f\x61\x77\x28\x0e\x8a\xa1\x1e\xc7\x44\x23\x0e\x88\x0f\x91\x9d\x50\x5e\x8b\xec\x85\xdf\x4c\xbd\xc0\xb2\x5c\xcf\x6c\xe2\xb6\xb7\x99\x76\xcd\x9b\xb5\xd3\x3a\x6b\x85\x75\xe7\xac\xf9\x97\xf2\x0b\xb7\x72\x17\x6a\xe2\xf6\x72\x4f\x45\xf6\xca\xc3\x55\x21\x89\x69\x98\x53\x21\xd6\xaa\x6f\xdf\x71\xad\xba\x56\x2c\x4f\x52\xbb\x1d\x4b\xd5\x09\xb1\xac\x9e\xda\xc4\xd1\xaa\x65\xaa\x88\x1b\x3f\x5c\xe4\x81\xfe\xca\xc6\x48\xb1\x47\x7a\x35\x39\x89\xa2\x93\x65\x81\x5a\xf5\x26\xc7\x61\xaa\x6e\x10\x2d\x6a\x84\x6b\xab\xc2\xa5\x76\xf8\x20\xc7\xd9\x76\x85\x66\xce\xea\x15\x33\xa4\xdb\xe1\xbe\x19\x2b\x36\xce\xd3\x5c\xd5\x96\xe5\x95\x10\x57\x6c\x74\x6a\xb5\x07\x57\x26\xba\x45\x69\x77\x98\x4d\x95\x8b\xe9\xb9\x78\x81\x58\x5e\x5f\x66\xd0\xa7\x3f\x80\x1b\xfc\xe1\xfa\x20\xaf\x93\x3c\xb9\x9b\x9c\xd2\x3a\x57\xa1\x03\x2e\x2c\x1e\x17\x99\xec\xf8\xe2\x53\x1a\x74\x50\xa0\x37\x6b\xcb\x1a\xca\x45\xc9\x89\xbb\x79\xbe\xbc\x21\xb3\xe7\x2b\x97\x6b\x98\x30\x90\x2c\x25\x4c\x5c\xe7\x6e\xe9\x6a\x15\x91\x71\x6f\x74\x44\x3f\xa0\x78\x4c\x11\x31\x40\x9a\xbb\x30\xe9\x09\x4e\x77\x04\x67\x37\x7c\x96\x8c\xca\x94\xfc\xc1\xa9\x68\xe3\xf5\x85\xf5\x91\x29\x4a\xe3\x77\xc2\xee\x65\x16\x66\x55\x36\x57\x2a\x5d\xc4\x94\x58\xb4\xd1\x35\x25\xb6\xea\x90\x5d\xb3\x74\x4a\x59\x64\xfd\xc4\x9c\xbc\xf6\x9d\xb9\x0b\x8d\x9d\xf5\xe9\x90\xd2\x10\x1e\x5a\x39\xb1\xfa\xf0\x9f\x5c\xe0\x92\xff\x99\x54\x63\x54\x42\x52\xea\xe5\x58\x53\x84\x34\x82\x39\x36\xe8\xee\x58\xf2\x6e\x61\x4d\x65\x41\xad\xdc\x0f\x24\x17\xc4\xa7\x37\x46\x3b\xf0\x98\xf8\xf4\xd4\xcd\xab\xde\xc7\xe3\x6d\xf3\xb8\xcb\xdb\xdf\xdd\xb4\x46\xda\x9f\x9c\xa1\x34\x83\x2b\xaf\xf7\x62\x6f\xd7\xe1\x53\x19\x3b\x34\xe5\x33\x62\x5f\xdc\x4f\x54\x6c\x17\xa3\x9d\x44\x69\x65\xe4\x23\x46\x4d\x54\x06\xc2\x94\x0f\x0a\xd7\xaa\x49\x0e\x70\x1e\xd6\x40\xa8\x08\x49\x25\x12\x3c\x3c\x95\x61\xb0\x54\xba\x8e\x88\x08\x56\xc1\x62\x8b\xc7\xaa\x21\x3e\xd4\x7d\x28\x55\x13\x32\x25\x4e\x11\xd6\x97\x80\x32\xaf\x8e\x91\x89\x95\x01\xe4\xa9\x17\xa3\xaa\x29\xdb\x27\xcc\xb1\xed\x69\x49\x2f\xeb\x3a\xfc\x57\xd3\xe1\xae\xe6\x5d\xb9\xa6\xc3\x6f\x1c\xce\xb1\x8d\xdf\xfc\xb8\x3b\xce\x4f\x99\x18\x0f\x35\x6b\x6e\xd2\xd4\x3f\x68\xf7\xdb\x1c\x2a\xfd\x6e\x4d\x7d\xd0\x1d\xe7\x7b\xd4\xc9\xfe\xb1\xaa\x1f\xce\x2b\xae\x7b\xbe\xab\xb1\xab\x31\xf9\x22\x5f\x5f\x10\x6d\xa4\x73\x4b\xc6\x6b\xe7\x58\xf6\x99\x26\x15\x45\x67\xa8\x4a\x26\xbc\xf6\x5a\x70\x42\x22\x28\xbd\x53\xe1\xbe\xb8\x31\x4a\x5d\x20\xd4\x1d\x3b\xde\xbe\x50\xba\x7f\xee\xea\xc3\x5d\x70\x2d\xde\x54\x1a\xec\x3a\xdc\x3a\xa5\x64\xbd\xdc\x10\x4b\xfd\xcc\xe4\xb8\xcf\x79\xec\xe6\xba\x0a\x98\x69\x75\x04\xeb\x2f\x37\x1a\x8b\xcd\xb9\xd2\x87\xb2\xdf\xe7\x84\x0e\xb3\x35\x54\x07\x2b\xec\x59\xe9\xf3\xc7\xaf\x0b\x9e\xc4\x82\xdc\xee\xa6\x53\x98\xf7\x97\x36\x9e\xfa\x73\xac\x18\x66\x4d\x9e\xd9\x2a\xbd\x2c\x06\xc7\x47\xaa\xe4\x5e\xcf\x77\x85\xf4\x4a\xb4\x71\x98\x07\x86\xfb\x39\x8d\x50\x36\x19\x3f\xda\xce\x8d\xdc\x09\xd9\x19\x8b\x9d\x23\xb1\x01\x2d\xc8\x6e\x40\x0b\x44\xd8\x27\x20\x46\x2d\x0a\x71\xa8\x85\x6c\x4a\x5b\x14\x4e\x98\xf9\x16\xbd\xf4\x96\x59\x7f\xb9\xde\x22\xbd\xad\xb7\x98\x79\x2a\x5b\x6f\xa1\xf9\xa9\xa0\xd6\xe8\x2f\xd3\x99\x21\xf8\x94\xca\xb6\xd5\xaa\x7e\xb2\x14\xcc\xba\xcb\xf5\x1a\xf5\x34\x30\xeb\xae\xb6\xaa\xdf\xd7\x68\x28\x3d\xfd\x81\xda\xba\x4f\x6f\xa6\xfa\x36\xeb\xcd\x03\x6f\x90\x93\x4b\xcc\xfa\xcd\xbc\xd9\xa2\x19\xa8\xd3\x6b\x35\x26\x1d\x6e\x92\xe6\x59\x2c\x70\x6f\xfa\x21\x9d\x49\xa3\xe1\xa9\x67\x75\x26\x4b\xfa\x87\xac\x1c\xce\xab\xc6\x2a\x8b\x69\x08\xc3\xa0\xcc\xa9\xd5\xa8\x08\x8d\x51\xec\x10\x02\x8a\x8c\x43\x4c\xc8\x3c\x4b\x80\xf2\x9e\x49\x75\xa3\x80\xc9\x38\x3b\x1e\xb5\x49\x82\x46\x6c\x90\xf8\x5c\xb4\x9d\x36\xd7\xb8\x67\x5f\x78\x5b\xfd\xa4\xc8\xab\x2a\xb5\xca\x72\x83\x55\xf5\xdc\xcd\x66\x5e\xc1\x41\x8b\xa9\xc4\x9c\x25\x73\x26\xb3\xa5\xd2\x1b\xd2\x37\xbf\xde\xbc\xf9\xd7\x60\x84\x12\x30\x12\xdf\x7b\xe7\xd8\x85\xa0\xc6\xb6\xb8\xcd\xd2\x1f\xa7\xbc\x2b\xed\x31\xf1\x46\x13\xac\x91\x6e\x93\xaf\x43\xf5\xf2\xe6\xac\xfc\x5b\xce\x5b\x78\x9d\x4f\x43\xc5\x36\xff\x5a\xfa\x66\xd4\xf5\xa4\xc6\x51\x17\xba\xfa\xea\x6f\x46\x3e\x77\x29\x6a\x55\x94\xae\x20\x14\x8f\x95\x81\x18\x10\x0d\xc0\x33\xc3\xf4\x46\xf9\x60\x8f\xc7\xea\x20\x16\x08\xd2\xca\x58\xc1\xfd\x9f\x25\x3b\xab\x68\x46\xed\x1f\xe1\xb6\x1b\x3b\x79\x6d\x29\x6b\x36\x6a\x69\xda\x60\xcd\x71\xfa\x2d\x4d\x4b\x3a\xa6\xf8\xc7\x1b\x8d\x5a\x83\x51\x15\xd5\x1b\x28\x63\x49\x74\x66\xe9\xc1\x5f\x3d\x47\xe9\x6e\xec\xe4\x35\xa5\x2a\xd3\xbf\x49\x7a\xdd\xaf\x9f\x0b\x9c\x5d\x98\xe9\xdb\xcf\xde\x3c\x82\xb2\x4e\xb3\x79\xa6\x9e\xc6\x7a\x8a\xd6\x19\x78\x1d\xb7\x6c\x6a\xd3\xd2\x5c\x9e\xd7\x02\xd6\x4d\xb3\x5a\x68\x63\x7e\xb6\xf5\xd9\xfd\x07\x9e\x91\x53\xf1\xd4\xbf\x4b\x45\x57\x9c\xa3\xd8\xc1\x76\x8e\xdf\x50\x7e\x8f\x92\x83\x7d\x5c\x2f\xe3\x22\x98\x12\xa4\xa6\x05\x2e\xa0\x86\xb8\x9a\x0a\xc4\x05\x35\x70\xc0\x01\xee\x93\x1b\xba\x74\x07\xee\xb9\xab\x63\x92\xe4\x82\xbe\x67\xa5\x8f\x70\x0f\xee\x49\x77\xdc\xd5\x31\x09\xfa\x24\xd7\xb3\xe0\xee\x90\x52\xb8\x4f\x4a\x49\x29\xf9\x00\x49\x26\x47\xe7\xcb\x89\x32\xc9\xe4\xd3\x3e\xee\x80\x14\x3a\x63\xdd\x48\xbe\x67\x00\x21\xbf\x1a\x38\x81\x53\x83\x10\x0f\xa8\x99\x78\x20\xae\x86\x00\x37\xba\xea\xe2\x57\xc1\x20\x9d\x6c\xe9\xed\x90\x4e\x82\x50\x30\x6f\x87\x34\x86\x2a\x81\xe7\xa5\x31\xd2\xdf\x40\x68\xe9\xed\x00\x41\x3a\x59\x30\x8f\x6a\x3a\xc7\x43\x3e\x0c\x06\x10\x5a\x9e\xe9\x00\x41\x3e\x31\x25\x8d\x91\xea\xe1\x79\x78\x5e\xfa\x9b\x74\xb2\xe5\x99\x0e\xe9\xa4\x74\xb2\xa0\x05\x7e\x3c\x47\xa5\xd4\x20\x34\xf8\xbe\x1a\x31\x3e\xa4\x45\x16\x94\x9b\x51\xd9\x1c\x8f\x66\xa1\x56\x94\x3a\x53\x15\x60\x68\x57\x95\xc9\xc0\xcb\x62\x44\x44\x98\x68\xa5\x90\x54\x72\xab\xef\xcb\xf8\xc2\x0a\xcc\x9e\x07\x42\xc0\x06\xa2\xdb\xc5\x85\x9c\xd8\x16\x49\xe0\x21\x24\xaf\xc5\xcd\x13\x78\x3a\xa6\x49\xfb\xce\x05\x81\xf0\x58\xfa\x70\x94\xc0\x66\xdc\x44\xfc\x1c\xef\x89\x8b\x81\x78\x3c\x20\xc6\xe9\x9d\xf1\x69\xf1\xf8\xb4\x81\xc0\xfa\x9e\xf5\xeb\x7b\xd6\xd3\x97\xac\x6f\x9e\xbe\x61\x7d\xcf\xc0\xf8\x63\x1b\x37\x1d\xbb\xfd\x8b\x63\xf4\xce\x63\x9b\x36\x1e\x3b\xb6\x71\xd3\xc0\x47\xd2\xdf\x9e\xb9\xe8\x8d\xed\xdb\xdf\xb8\xe8\x19\xea\x5e\x49\xfa\x9d\xf4\xac\xb4\xf9\x8d\x1b\x5b\xe7\x1d\x3a\x81\x67\x48\xdf\x4a\x3b\xa5\xbf\x81\x01\x2e\xa6\x61\x47\x49\x42\xbd\xf6\x26\xe9\x87\x9b\x2f\xfd\xb2\xb9\x6c\xa6\x76\x8e\xab\xf9\xe4\xa5\x37\x4b\x3f\xdc\xb4\x56\x9d\x28\x81\x35\x87\xe0\x96\x4f\xfa\xe0\x2a\x9c\xa3\xdc\x3e\x8e\xe5\xbb\xc7\xda\xe5\x7b\xae\x5f\x0f\x24\x0f\xbd\xe4\xc6\xc7\xe0\x8b\x63\xc7\xbe\x38\x26\x15\xc0\xc5\x60\xd8\xfe\xe6\xa9\x37\xb7\xd3\xda\x75\x6b\x5b\x6f\x7a\x63\xf3\xc6\xd7\x6f\x68\x4f\x73\x72\xb4\xf4\x37\xf9\xb6\x34\x1d\xde\x11\xbe\xfe\xf1\x5b\xa4\x1f\x6e\xec\x5e\x5a\x79\xa1\xfd\x02\xff\xd2\xf5\x37\x82\xea\x96\xc7\xaf\x0f\xef\x08\x2f\x5b\xdf\x8d\x28\x74\xde\x20\xa2\x6f\x22\xed\xa2\x05\x35\x21\x44\xc8\x1a\x91\x0b\xd9\xac\xa7\xc1\x39\xe0\x04\x1e\x73\x2c\x27\x64\xc0\xef\x01\x31\x90\x01\x97\xc7\x21\x2e\x06\x82\x94\x82\x43\x72\xd2\xe1\x10\x11\x17\x73\x02\x55\x23\x5d\x21\x7d\x0f\x1a\xd8\x0a\x1a\xe9\xf0\xa3\xbb\x76\x3d\xba\x0b\x4a\xf4\xb4\xbe\xa0\x34\xb0\xf1\xc5\xc9\xa0\x75\x3a\x75\xf9\x73\xf3\xc7\xbd\x28\x7d\x97\x3f\xd7\xa9\xcb\xcf\x07\xed\xa4\xdf\x6c\x08\x94\x16\xe8\x69\xbd\xc6\x57\x9e\x74\x33\xd6\xfa\x49\xdd\x55\xad\x3f\xf5\x8b\xee\x64\xb9\x0f\x6f\x06\xcd\x13\x4f\x82\x46\xfa\xfe\xc9\x27\xe0\xe6\x5d\x6d\x0b\x77\xed\x5a\xd8\x96\xbe\x33\xa7\xd4\x57\xe8\xce\x9e\x6c\x9b\x44\xae\xa2\x77\x3a\x1b\x5e\x94\xfe\xe1\x74\xea\x9d\x73\xe5\xeb\xd9\x26\x67\xbb\x0b\x7d\xa5\x39\x56\x27\x6f\x76\xd0\xbc\xd7\x61\x0f\x67\x67\x3b\xcc\xbc\x73\x04\x7f\x18\x87\x62\x28\x41\xd0\xaa\x43\xbb\xf6\x41\x60\x39\x1e\x7b\xc4\x32\xe2\x63\xed\x82\x5d\xe0\x58\x8e\xb5\xe6\x83\x3d\x54\x07\x76\x41\xfe\x8e\x45\xca\xb0\x3c\xfe\xc5\x46\xd1\xc5\x1a\xed\xae\xb3\x96\x8f\x8f\xb6\xed\x6e\x6b\xdb\x0d\x61\x8d\xaf\x3a\x5f\x23\x6e\xdf\x79\x7e\x4e\x4e\x7e\xb5\x4f\x63\x2f\x18\x37\xeb\x9a\xf0\xd5\x15\x76\xbb\xda\x5e\x6b\x7f\x66\xc3\x54\x7b\xad\x5d\x6d\xb7\x3f\x13\xd9\x37\x7b\x5c\xc1\xc4\xa7\xa5\x7f\x3c\xfd\x34\xe8\xf0\xb6\x91\x54\xa7\x94\x24\x5f\xa9\x2d\xfd\xbd\x35\x8b\xc9\x56\x65\x15\xf8\xcc\xe6\x6c\x26\xcb\x5a\x5a\x5d\x12\xe5\x23\x57\x97\x67\x2e\xb0\xb1\x49\xb9\xe4\xd3\x11\x3e\x5a\x52\x0d\x66\xd0\x3d\x2d\x5f\x0d\xbe\x3c\x93\xdf\x54\x59\x83\x78\x94\x49\x21\xb3\xa2\x5b\x27\x4f\x72\x08\x12\xda\x27\xe2\x8c\x78\xf9\xf0\x88\x5c\x0d\xc3\x43\x51\x36\x6f\xec\x82\x2b\x3e\x97\x9e\x7d\xf0\x67\xd2\xb3\x5f\x5c\xb1\x30\x89\x9f\x2d\xf3\xc2\x41\xff\xf8\x8a\x32\xaf\xf4\x94\xf4\x94\x37\x58\x31\xde\x07\x87\xdc\x4c\xaa\x75\x6c\xfa\xc7\x9f\x49\xbd\x5f\x5c\x7e\xf9\x17\x90\xfc\x19\xe6\x92\x0b\xfb\xdf\x71\xc3\x6e\x6f\xa8\x62\xbc\x5b\x7a\x19\x62\xee\xf1\x15\x61\x8f\xb4\xdd\x9d\xc1\xa8\xdf\xa0\x46\xcc\x0a\xb9\xce\x31\xc0\x22\x8e\x15\xa3\x22\x0a\x04\xb1\x37\x22\x46\xdd\x36\x1e\x0b\x76\x24\xc4\xcc\x71\x11\x07\xc4\x40\x94\xb1\x29\x00\x2e\x02\xaf\x8b\x45\xa2\xa1\x04\x84\x6d\x3c\x70\x94\xdd\x2c\x40\x10\x07\xa2\x8c\xfc\x33\x21\x8e\x79\x4b\x7a\x37\x5b\xfa\x6e\x2c\x44\x67\x4a\x77\xcc\xb5\xb5\x6e\x2a\x01\x3c\x31\x30\x23\x62\x74\xc0\x45\xa5\xf9\xef\xd9\x2d\x6f\xe5\x89\xc7\x30\xd4\x8c\xb3\xb9\x57\xbb\xd6\xd6\x65\x35\x2c\x82\xe4\x9b\xd7\x59\x12\x1b\xdc\x6f\xea\x3f\xe7\xe0\x31\x7e\x62\xb5\x03\x5e\x01\xd8\x93\x48\x7f\xeb\x5e\x81\x1f\xa9\x48\x0f\x5e\x0a\x00\xcf\x52\xd6\x97\x43\x1b\xe7\x32\xa2\x2a\x84\x73\xc7\x78\xab\x07\xf6\x2f\xab\x85\x9b\x8b\x02\xf0\x59\x74\x3c\x0e\x41\x19\x0e\x06\x27\xfc\xb5\xe1\xad\x43\xf1\x0a\xcc\xf9\x58\x80\x0a\x9c\x08\x49\x13\xdc\x69\xc9\x44\xfd\x28\x56\xf0\x10\xa2\x71\x09\xbd\xaf\x3f\xd9\x38\x82\x4f\x5b\x83\xb2\xd0\x06\xb4\x13\x1d\x18\xd1\xe2\xc9\x33\x4f\x9e\xe6\x20\x41\xfb\xad\x5c\x10\x7b\x3d\x36\xab\xc0\x03\x47\x66\x05\xf9\x64\xbb\x35\x81\xa3\x11\x42\x99\x1d\x84\x00\x99\x2f\x19\xe4\x71\x7e\xdc\x89\x89\x70\x4f\x19\x51\xf6\x93\x47\xba\x65\x64\x5e\xc0\x12\xf9\x36\x27\x08\x44\x1c\xa3\x0e\x9c\xa0\x20\x3c\x46\xf6\xd8\x67\xf4\x06\xd4\x2f\xdc\xd9\x0e\xd1\x13\x12\x0d\xd0\xae\xde\x7c\xd9\x9e\x45\x94\x74\x8c\xdb\xba\x7b\x6f\x3b\xbe\xaa\x93\xca\xcd\xa6\xf5\xd5\x53\x3e\xd8\x65\x04\x9e\x61\xc1\x38\x69\xca\x0b\xf7\x43\x96\x45\xcf\xda\x05\xbc\xfe\xd6\xfc\xf1\x1a\x2d\xd3\xc0\xaf\xc1\xee\x1c\x5a\x9f\x6d\xb5\x4e\xed\xdb\x6d\xc0\x7a\x86\x05\xc3\xc4\xba\x57\x1e\x0c\xe8\xb4\xfe\x75\x37\xe6\x57\x6a\xb4\x74\x15\x3f\x67\xc7\x5b\xd2\x3b\xd2\xe3\xd2\x3b\x6f\xed\xd8\xf1\x16\x14\xc0\x04\x28\x78\xeb\xa3\x73\x74\x30\x78\x97\x43\x94\xb3\xe3\x9e\x85\xc7\xab\xd6\x6c\xdf\xd9\xca\xa6\x9f\xe4\xd6\x5e\xb8\xab\xb5\xe6\xa5\x7b\xb0\xd9\xa0\xd7\x78\xba\x8f\xb8\xc6\x69\xb4\x74\x83\x61\x25\xf6\x3b\x69\x7d\x5e\x01\xd5\xf8\xf1\x6e\x03\xa5\x93\x6f\x3b\x69\xdc\x89\xfb\xc1\x6e\xd4\xb1\x16\x9d\xae\xfb\x26\xe7\x38\x8d\x96\xa9\xd7\xaf\xa9\x54\xeb\x93\x8d\x1f\xee\xd4\x61\xf9\x11\xf4\x93\xfe\x48\x6e\xbe\x63\x64\x86\xf0\x25\xff\x6a\x1c\x05\x99\xbe\xd5\x8e\x3c\xa8\x08\x21\x88\x09\x76\xc1\x2f\xd2\x1c\xc4\x7c\x6a\xb0\xd3\x71\x4a\xf4\xe1\xa8\xd1\x6f\x37\x63\x96\x63\xfd\x10\xc3\x01\x5f\xc8\x4e\x1a\x16\xea\xa2\x6f\x7e\xff\xe5\xd6\xb4\xa3\x47\xfa\x47\x58\xfa\x4b\x0a\xd6\xa6\x3f\x80\x19\x93\xc0\x7e\xd3\x17\x6f\x48\x3f\x7d\x81\xfd\xd5\x18\x6a\xd9\x89\x6b\xbe\x90\xfe\x01\x87\x5a\xb4\xcb\xa5\xca\x53\xc7\x8f\x9f\x3a\xce\x22\xbc\xed\xb2\xaf\x03\xea\x3b\x0f\xc0\x5d\x47\xef\x97\x56\xa7\x57\x5e\x73\x30\x4f\xaa\x75\xff\x08\x3b\xde\x07\x6d\xfc\xb0\xf4\x8c\xf4\x41\x7a\xd6\xa5\x3c\x5e\xb7\x0b\xea\xce\x67\x8f\xcb\x27\xc9\xef\x15\x96\xeb\x17\xf3\x12\xd9\x4d\x70\xa1\x80\x88\x1d\x10\xa7\x12\x20\x8f\xc5\xe5\x77\x88\x22\x98\x4f\xcc\x09\x01\xd6\x89\xe3\x09\x2c\x38\x81\xe3\xe9\x00\x0f\x01\x27\x24\x70\x3c\x16\x94\x3d\x42\x0c\x07\x68\x64\xb1\x63\x1e\x68\xea\x72\xe9\x73\x69\xfc\xea\x31\xe6\x09\x37\xac\xd0\x6a\x37\xe8\x8b\xbe\xda\x14\xdb\xc5\x65\x37\x86\xe7\xa8\x0c\xda\x6c\x46\x58\x50\x69\xd8\x63\xb6\x85\x9b\x0b\xc3\xed\x93\xfd\xb5\x55\x6a\xa0\x78\x7b\xa1\xa3\xe6\xee\x8b\xa6\x1c\xef\x39\xb4\x2a\xa7\x58\x35\xae\x74\xde\xb2\x1c\xc3\xb5\x57\x82\x1a\x44\x1a\xcf\xb9\xed\x1d\xe9\xe4\x20\x82\xd2\x1f\x76\xc1\x6c\x18\x0f\xc5\x6d\xd2\x1f\x79\xca\x34\x63\x03\x2e\xfd\x6d\x8d\x4a\x4b\xd3\xc0\xcc\xf0\x72\x42\xb9\xe6\xa9\x71\xc5\x53\x2b\x73\x38\x75\x38\x80\xe9\x31\x3e\xcc\x99\xf5\x2a\x6a\xd1\x0c\x6d\x6d\x71\xfe\xe4\xf3\xa2\xad\xbf\x79\x40\x14\x67\x4d\xbc\x07\x16\xac\x9b\x2a\xad\x92\x7e\xbd\x63\x10\xbd\x7f\xdf\xd2\x51\x3c\xfe\x71\x45\xaf\x91\x26\x10\x57\x27\x08\x76\x3a\x1c\x8a\x13\xc3\x0f\x51\x6e\xf0\x22\xe6\x98\xaf\x1a\xec\x34\x58\x31\xa1\x52\x88\x99\xa3\x11\x1c\x20\xda\x8a\x66\xe6\xcd\x3b\x9e\xbb\x59\xfa\xcb\x79\x8d\xf3\x69\x7a\x7e\xe3\x79\x60\xbd\xf9\xb9\x3b\x2e\x90\x5e\xbd\x3b\x8f\x7f\x50\xfa\xd5\x67\x97\xc9\x75\xe3\x61\xea\x2e\xa8\x80\xdb\x6f\xba\xa2\xf3\xfc\x2b\xcf\xbf\xe9\x85\xe7\x6f\xda\x72\xf9\x96\x55\x97\x5f\xcf\xe4\xae\x3d\xb0\xa3\xed\xd4\xbe\xa2\x7d\xa7\xda\x76\x1c\x58\xbb\x7a\x2b\xa8\x0e\x7e\x0d\x0d\xc7\x1f\x96\x6b\x12\x6c\x19\xf8\xa1\x57\xba\xf7\xe2\xba\xd9\x95\xb0\xe4\xb3\x4f\x61\x49\xd5\xac\xb1\x17\x49\xf7\x65\xe6\x27\x46\x0e\x31\xdf\xa0\x62\x14\x45\x75\x68\x02\xd1\xbb\x71\x2b\xb3\x56\x37\x0f\x72\xae\x59\xaf\xc7\x14\x89\xc7\xe2\x66\x3f\x4b\x99\x91\x3b\x24\xf8\xc2\x21\x42\x83\x63\xa7\x48\x93\x2d\xff\x6e\x40\xd6\xfc\x82\x10\x60\xc1\x4d\x26\xb5\x1c\xe2\xfa\x2f\xf9\xc3\xc1\xa5\xf7\x87\xe0\xce\xca\xcf\xa5\x13\x77\x3d\x71\xf7\x67\x3f\xfd\xaa\xd4\xb4\xf0\x05\xb0\x3e\xfa\xf7\x3a\x78\x0c\xb2\x9d\x06\x34\xf8\x50\xb2\x73\x4e\x79\xe3\xf2\x09\x5d\xb3\x57\x1f\xb8\xe0\x37\xe3\xc3\x3f\x3e\xbf\x78\xee\xc6\xeb\xb7\x3d\x12\x5c\x02\x3f\xe0\x77\x98\x77\xae\xd9\xff\x36\x9e\x57\x59\x7e\xe0\xd7\x6d\xb3\x8f\xfe\xe3\xd2\x59\x9b\x80\xdb\xd8\x53\x73\x37\x74\x7e\x3f\x5d\xfa\x0a\xcc\xb0\x08\x36\x3b\xe2\x4b\xea\x37\xdd\xf3\x30\xfc\x6c\xd6\x92\x09\x65\x77\xaf\xbb\xbc\x7f\xfb\xdc\xb6\x59\x93\x3e\xbc\xec\x55\x3c\xe5\xea\xa7\x9f\x1e\x5a\x67\x4b\x71\x8a\xce\x48\x18\xa1\xd1\x88\x30\x65\x57\xd3\x76\xd6\x7e\x61\x74\xe4\xc6\x34\xb2\xe8\x7f\x24\x3b\x96\xac\xb2\x9b\x99\x76\x01\xd9\x88\x18\x20\x1b\x11\xd0\x91\x76\xd5\xb7\xb7\xd7\xb3\xc9\xfa\x76\x70\x51\x24\xe1\x40\x52\x6f\xb1\x50\xaf\x0e\x28\xf8\x97\xa1\xfd\x86\x54\x06\xf3\xa2\xe4\xcb\x3e\x98\x62\xff\xc4\xa4\x90\x80\x12\x08\x59\xc2\x2c\xc7\x53\x0a\x08\x5a\xb0\x0b\x99\xbb\x17\x0e\x9b\x3b\xc6\x28\x86\xa7\x38\x36\x40\xb6\xda\x14\xe9\x6b\x27\x25\xf8\xc5\xab\x7e\x3d\xa1\xd2\x17\xe4\xa9\x2c\xb3\x85\xc6\x61\x67\xd5\x22\xe9\x9b\xf2\x86\x06\xfa\x4b\x88\x94\x37\x34\x94\x3f\xf4\x86\x51\x2a\xc6\xd6\xa2\xa9\xf1\x0b\x9b\x5c\x45\xb5\x1e\xaf\x4d\x63\xb6\xce\xa9\x29\x9d\x5a\x15\xf6\x9a\xe0\x8d\x06\x26\x95\x9c\x53\x79\xfe\xa5\xab\x8e\x2c\x9a\x6f\x51\x7f\xdd\x7a\x6f\x67\x43\x39\x93\x25\x9f\x78\xea\xcb\xf2\x86\xdf\xc1\xd2\xe5\xa5\x53\x26\x54\xe8\x1c\xf5\x39\x0d\x4f\x1f\x3b\xf6\xe2\x34\xb1\x30\xa9\xd7\x69\x85\xb2\x0a\xd7\xb2\x07\x87\xb5\x6b\x98\x0b\xc8\x7a\xc9\x04\x74\x2f\xfa\x35\x42\x0c\xa7\x50\x84\x28\x50\x68\x31\xae\x80\xb8\x33\x66\x51\x64\x12\x27\x7b\x81\x13\xec\xdc\xd9\xd6\x2b\xf1\x8c\xe9\x8a\x60\x67\xac\x84\xa2\xd8\x43\x2e\x12\xf5\x92\xeb\x08\x61\x53\xc6\xe2\x4a\x81\xb2\x8b\xf1\x58\x3e\x0c\xd1\x1e\x2b\x5a\x4c\xa6\x0c\x7b\x9b\x12\x34\x00\x61\x44\xc9\xfc\x8c\x56\xaf\xdb\x14\xce\xf0\xc4\xc8\x79\xa0\xec\xd6\xe1\xac\xca\xa9\x09\xb2\x9d\xbc\x88\xcc\x05\xec\xfa\x03\x37\x1d\xbb\xe3\x86\x83\xeb\xd6\x27\x8a\x74\x74\x24\xcc\x80\x39\x37\x74\xde\x92\xd4\xee\xfd\xd7\x5c\x9a\x5a\xcc\x6a\x0c\x3a\x9b\x4f\xb2\xd5\xd7\xd9\x72\x4d\x06\x8d\x3a\x51\xcf\x68\x0c\x46\x6c\x56\xd5\xd7\x1b\x9d\x66\x3d\xcb\x8d\x1d\x6b\x76\xe6\xc0\x0b\xc1\xd2\x19\xcd\x6f\x7d\xfb\x56\xf3\xcc\x62\x03\xa8\x23\x21\x8d\xbf\x06\xa8\xa5\x2b\x0f\x5e\xf7\xda\xeb\x07\xc6\xc4\x72\x0d\xc6\x5c\x9e\x17\xb5\x9d\xfb\x27\x4d\xec\x5c\x35\x31\xb9\x76\x77\xc7\x43\x97\x4d\xde\xb7\xf7\x85\x17\xf7\x46\xb3\xb0\x4a\xe3\xb6\xdb\xf2\x6d\x26\x6a\x8d\xd3\x39\xf0\x26\x14\x6c\x0f\xae\xd9\x76\xc1\x5b\xcd\x33\x4a\x83\xf9\x6a\xad\xd6\xa1\x57\x73\x5d\xcb\x53\x07\x2f\xbd\x24\xc7\xac\x06\x4a\xbf\xf3\xee\xdb\x6f\xb8\x52\xcb\xae\x4f\x24\x93\x75\xdd\xdd\x07\x56\xcc\xcd\x55\xa9\x72\x81\x5a\x30\x7e\xfb\x79\x4b\x62\x95\x95\xf1\xc5\xac\x86\xa6\x2c\x7e\x3c\x93\xe4\x58\x53\x5b\xcf\x18\xb1\x81\xe7\x34\x63\xeb\x8d\x79\x66\xa6\x7e\xac\xc9\x99\x33\xe5\xfc\xb5\x2b\x67\x34\x2f\x5c\xd8\x3c\xb3\xd3\xcd\xe5\x98\x8c\xb9\x4b\x1b\x60\x16\xbe\xa2\x63\xc5\x89\x03\xd7\xbd\x66\xd4\x86\xc2\x2a\x8a\x62\xaf\x59\xb1\x7c\xc2\xc4\xe6\x49\x2d\xd2\xd2\x71\x93\x2f\xfb\xd9\xa2\xe7\xf7\xed\xdd\x1b\xf5\x60\xad\x5a\xa3\x62\x04\x03\xbe\xcb\x20\xac\x95\xf2\x8a\x66\x5b\x82\x0b\x9b\x67\xac\xec\x86\xd7\x54\x56\xa3\xde\xc1\xb5\x16\x55\x56\x68\xca\xb2\xf5\x46\xba\x2a\x39\x46\xae\x33\x79\x83\x88\xfd\x98\x45\x28\x07\x25\xd0\x26\xb4\x13\x21\x7f\xcc\x6e\xe5\x78\xda\xeb\x09\x52\x81\x20\x10\x51\x66\x81\xf6\xc7\xfc\x76\x96\x88\xc7\xc7\x13\x10\x08\x52\x3c\xf6\xf2\x54\x11\x56\x08\x6e\x62\x76\xb0\x3a\x71\xbe\x3c\x20\x29\x03\x31\xc0\x53\x64\x9b\x9e\x89\x2b\xbf\x3c\x4f\x71\x7e\x62\x80\xe8\xa4\x6c\x60\x25\xc6\x08\xb1\x5a\xe0\x29\xd6\x60\xb0\x1b\xf4\x89\x4b\x6e\xfc\xe8\xfc\x2d\x5f\xff\xfc\x8e\x65\x1e\x15\xcd\x6a\xf4\x4c\xef\x6a\xb8\x14\x6e\x7a\x1a\x6e\xd0\x9a\xac\x9e\xb0\xc9\xac\xb6\x95\x99\x18\x9b\xdb\x51\x62\x29\x06\x96\x57\xa9\x19\x96\xa2\x00\xd8\xae\x50\x70\xbb\xb4\x3b\xc7\x2f\xf2\xfa\x4f\x0b\xa6\x59\x2c\x5a\x5e\xdc\x72\xc5\xfe\x5d\x9d\x89\xca\x96\x8b\xb6\xee\x5d\x1a\xb2\x79\xe6\xb1\xb6\x9a\x48\x8d\x59\x7a\xaf\x64\xc1\xc5\xc7\xcf\x5b\x76\xdb\xe2\xb1\xd9\xe9\x8e\x09\xf5\x93\x67\x3b\xf9\xea\xce\x35\x63\x6b\x58\x36\xcf\x62\x8c\xcf\x18\x57\x91\x68\xdd\xdc\x56\xa8\x36\xa8\x19\xa0\x37\x57\xfc\x6c\x6e\xc1\xef\x8c\xab\x2a\x66\x15\xf2\x1a\x4b\xe9\x8d\x76\x4e\x4d\x61\x8c\x15\xb1\x58\x8c\x8d\xe5\x2c\xa7\x83\xbb\xf3\xeb\x43\x45\x5a\x6d\x9f\x7f\xaa\xd5\xaa\xb5\x57\xcf\x2b\x60\xcb\x67\x5d\xd3\x3a\x7b\x6f\xdb\xe4\xc2\x5c\x35\xde\x31\xd6\x15\xc5\x76\xff\xcc\x78\x4e\xcd\xf9\xab\x67\x56\x84\x26\xb7\x4d\xf7\xa4\x6f\x9d\x5b\x56\x62\xcf\x5e\x52\x5a\x79\x1b\xb6\x96\x2d\x1a\xb6\xf9\x49\x91\x3e\x2a\x4c\x10\x5a\xab\x46\xd8\x84\x0e\xb1\x2a\x9f\xb6\xcd\x1d\xf6\xf9\x33\x9c\x96\xd1\x0c\xc7\x25\x33\x2a\xac\xe0\x4b\xff\x1b\x6b\xf5\x8c\xb1\x16\x91\xe8\xce\x08\x83\xa7\xda\xeb\xe5\xc6\x52\x71\x06\x47\x0a\x30\x8d\xf0\xd3\xa9\x53\x29\x0a\x9d\x45\xc8\xa2\x20\x21\x50\x53\xe4\x34\x7e\xa5\x43\x6e\x7e\x3b\x32\xdf\x8a\x2d\xba\x82\x28\x1c\xe1\x3f\x65\xa6\xd1\x00\xc2\xc9\xd1\x57\x22\xde\x33\xca\xc7\x40\x54\x0e\xc2\x04\xc1\x66\x1b\xd9\x27\x84\xec\xe0\x36\xb9\xff\x3d\x17\xe8\xbf\x29\xd0\x70\xc8\x4e\xa7\xcc\x7c\x5a\x81\x8d\x24\x79\xf3\x00\x62\x52\xa7\x52\x30\xa2\xa3\xa0\x46\xea\x53\xa5\xce\x59\x6a\xa9\x48\x13\xf4\x0c\xa5\x31\xa7\x7f\x47\xa3\xde\xb3\x9e\x59\xf1\x4f\x3b\x77\x41\x35\x9d\x59\x27\x02\x28\xae\xd4\x09\xff\x69\x8a\x33\x91\xb4\xca\xc3\xda\x43\x19\x3b\x74\xc1\x6e\xfd\x3f\x2b\x87\x79\x41\xb5\x43\xf3\xe4\x93\x8a\x8d\xf9\x53\x4f\x29\x56\xe7\x43\xe1\x27\x9f\x54\x0f\xb8\xfe\x67\x45\x73\xfd\xb9\x2f\x37\x1c\x96\xfa\xfe\x77\xe5\x65\x45\x59\xa8\x00\x55\xa2\x85\x44\xa7\xc6\x13\x18\x36\xd4\xcf\x58\xeb\xff\x5f\x15\x10\x23\x48\x48\xe3\xd0\x48\x7d\x4a\xd6\xdf\x07\xe5\x59\xfa\x3b\xfe\x67\xc5\x82\x6b\x24\xa4\x56\x83\x4b\x29\x90\xf7\x41\x29\x91\xf4\x98\xff\x41\x61\xc0\xf0\x98\x37\x2f\xd3\x8e\x00\xe9\x9a\x87\x9c\x11\xab\x13\xd0\xeb\x10\x71\x96\x49\x18\xfa\x16\x1d\x3f\x12\x9c\x3c\x8b\x44\xc7\xc0\xa5\x70\x3f\x2f\x3a\x24\xc5\xe9\x57\xe2\x53\x0e\x51\x59\x57\xa4\x95\xb9\x0f\x51\x1d\x41\xa1\xf8\xf0\x3a\xf9\x10\xf9\x81\x9f\xec\x94\x0c\x2f\x19\xc5\xe0\xe9\xdd\x09\x62\xf6\x39\x1b\xee\x82\x12\xe9\x0d\xa9\x45\x7a\x03\x23\xf9\x61\x0e\x9c\x30\xe7\x9a\xef\x86\x5e\x43\x7a\xbd\x7c\x0b\x7c\x0d\x5d\xa1\x1c\x86\x12\xb8\xab\xc9\x9c\x6b\x3e\x71\x40\x4e\xb6\xe5\x6e\x65\x4d\xd3\x3f\x88\xd8\x3f\x90\x3e\xca\x4f\x30\x38\x64\x09\xea\xf4\x72\xcb\xe9\x1f\x2b\x24\xc0\xf0\x4e\xc5\xe9\xd6\x34\x43\xdc\x20\x0f\x23\x6d\xec\xeb\x1a\xcd\xbe\xdc\x82\x53\xc4\xde\x14\x27\x15\xab\x54\x54\x90\x3b\xf0\x24\x28\x26\xaa\x14\xe1\x49\x3b\xd5\x5b\x90\xbb\x8f\xa4\xc4\x08\x10\xfd\xb6\xc6\xa1\xd9\x97\x2b\x3a\x40\x61\x02\x13\x1d\xc9\xdc\xfe\xf7\x09\xc6\xdf\x41\xf5\x2a\x04\x61\xb9\xfb\x48\x9a\xde\x5e\x65\xbd\x5d\x85\x98\x7e\x82\x2b\x96\xdf\x65\xa4\xec\x25\x73\xc0\x06\xfc\xcc\x10\x62\x3a\x16\x87\x98\xc0\xf8\x63\x8c\x89\x31\xf9\x4d\x7e\x13\x98\x18\x13\xf7\x59\xae\xdd\x9c\x4e\x65\x65\xa5\x6f\x48\xdf\xa0\xe1\x2d\xa6\x5c\xbb\x19\xa7\xb2\xb2\x70\x27\xee\x74\xf5\x67\xe1\x64\x7f\x07\x76\xd1\x7d\xe9\x3e\xe6\x3b\xab\xfb\x54\xca\xea\xe2\x06\x91\x56\xfb\xfd\xf7\x8c\xd6\xea\x66\xe4\x20\x90\xa0\xfe\xa6\x7e\xcd\x17\xf4\xf7\xfa\x7e\xcd\xbb\xf4\xf7\xa7\xd2\xf4\xf7\xef\xf6\x6b\x46\xae\x0d\x9b\x90\x17\x45\x87\xfa\x1b\x0e\x58\x05\x2b\x18\x87\x98\xfb\x1c\x31\x43\x1b\xe1\xf2\x6b\x25\x67\x1b\x23\xbd\xc5\x24\xb9\x38\x95\xde\x62\x82\x3e\x8e\xfe\xf2\x8c\x60\xff\x5d\x2a\x16\x23\xb3\x45\xaf\x62\x25\x64\xb6\xb0\xc8\xa2\x3f\x95\xb4\xaa\x06\x11\x6d\xd1\x33\xbd\x56\x15\xc8\x9e\xd1\x31\xd4\x20\xd2\x58\x4e\x25\xf5\x16\x0a\x90\xc6\xc2\xf4\xea\x2d\x43\xfb\x35\x2e\x4e\x7e\xcd\x39\x64\x40\x02\xaa\x3c\x5b\x51\x65\xc8\x55\xd0\x9d\x01\x96\x61\x89\x29\x66\x3c\xc1\xc5\x83\xa0\x40\x3d\xb1\x22\x9c\x02\xbf\x39\xd3\xf9\x46\x5a\xf6\x8f\xb5\xcb\xef\x97\x4e\x45\x3c\x3a\x2b\x45\x67\x31\x7e\xde\x6d\x70\xf0\x06\xe6\xc0\x9d\xdf\xc0\x2d\xf0\x25\xdc\x82\x1b\x47\xd0\x7a\x2a\xff\x10\x94\x6e\x97\xde\xbd\xd7\x7c\x7f\xa5\x86\x02\x5e\x6b\xb0\x33\x6e\xde\xef\x28\x2f\x1f\x17\x58\x90\xbe\xe6\x01\x08\xdc\x7b\x2f\x3a\xad\x97\x36\x9c\xef\x20\x61\x74\x1d\x65\x1b\x34\xe4\x62\x17\x2d\xbf\x2f\xf9\xc0\xb1\x5c\xac\x0e\xe4\x71\xb9\x2f\x66\x14\xc1\x3a\xfc\x40\x5e\x8f\x18\x88\x8a\x31\x31\x81\xe3\x09\x26\x4e\x34\xa9\xc0\xe7\xa2\x9d\x70\xce\x27\x3b\x29\x75\x4a\x47\x5e\xbf\x66\xe7\xbc\x9c\xac\xe0\x0d\x17\x16\x57\x8d\xaf\x7d\x05\x96\xbe\xfe\x3a\xcc\x90\x1f\x78\x42\xe3\xf3\xd2\xa9\x8a\xb1\x8c\x21\x8b\xa6\x18\xd0\x60\x1d\xe6\xca\x6d\x85\x59\x4e\xed\x91\x5f\x9c\x5e\xea\xc0\xbf\x38\xfb\xb9\x53\x7b\xfe\x72\x65\xf7\x6f\xa6\x84\x3a\x5a\x67\xd4\xad\x16\x59\xd5\x9e\xbf\x80\xf9\x2f\xd2\x9e\x07\xa4\x77\xef\x55\x3d\x38\x8e\x57\xd9\x4c\x40\x1b\x69\x03\xc5\x63\x55\x54\xa8\x0c\x4e\x2a\x98\x0f\xec\xe1\x9d\x5f\xdd\xb7\x7c\xf9\x7d\x5f\x91\xdf\x51\x4d\x23\xe6\x9f\x88\x42\x2c\xd2\x20\xbd\xdc\x4a\x9b\xd4\x60\x82\x6c\x20\x2e\x46\x18\x49\x48\x22\xdf\xb2\x1f\xe6\x43\x20\x7d\x5c\x7a\x87\xda\x92\x3e\x0e\x05\xf4\xad\xb2\x1f\x4f\x97\xde\x95\x63\xc9\xba\xe1\xcc\xc1\x5e\xf6\x7e\x26\x49\xec\xd0\x59\x40\x5e\x0f\x25\x52\xd8\xeb\xe1\x02\x89\x8c\xd5\xab\x59\x99\xdf\xc4\x63\x5e\x0f\x67\x66\xec\xec\xfd\x1a\xe9\x69\xe9\xbf\x3e\xbf\x7a\x49\x49\xcb\xa4\x39\xe6\x35\x53\xb3\xee\x0a\xde\x32\x67\xd1\x26\xa1\xc4\x1e\x1f\x1b\x5e\xb1\x5c\xa5\xdf\x56\x95\xdc\x0a\xb3\xfa\xa9\x53\x7f\x91\x16\x4b\x33\x80\xeb\x81\x7a\x60\x9b\x96\xd8\xae\x2f\xb8\x4a\xa5\xbe\x64\x8f\xf4\xf1\xdc\x1f\x7f\xf2\x93\x39\x7b\x1c\x70\xa5\x56\x85\xce\xe0\xc1\xa1\x90\x86\x30\x6b\xbb\x81\xb2\xb8\x2d\x14\xb0\xe8\x14\xa2\x6b\x3f\xf8\x20\x7d\xd9\x07\x1f\x40\x2d\x93\x3a\x85\xe0\x0e\xbc\x05\x0a\xa5\xb7\xd3\x57\x4a\xaf\xa1\x33\xb4\x2b\x28\x64\x46\x63\xd1\x9c\xcc\xf9\x1c\xe1\xdc\x8e\x07\xe2\x01\x6f\xc0\xcb\x31\x21\x3b\x17\x8f\x04\xf1\x10\x29\x48\xc8\x46\x50\xe6\x36\x77\x34\x10\xc4\x09\x88\x9a\xc2\x71\xaf\x47\x1e\x49\x47\x12\x18\xa2\x04\xa4\x17\x35\xb9\x39\xc1\x9e\x49\x27\xe7\x83\xda\xab\x6b\xcc\xcf\x5e\xb5\x2a\x3b\xbf\x51\xb7\x28\xea\x8a\x4a\x87\x5d\xd9\xf0\x80\xb7\x7e\x52\xc5\xa5\xbb\x3b\x9a\xac\x1a\xfd\x64\xe8\x3d\xc4\x32\x18\xe0\x19\xf1\x8f\x2c\x4d\x53\xba\x1c\x7c\x7e\x8c\x63\xb0\xf4\x95\x30\x4b\xd0\xf1\x13\xe4\xec\xd3\xbd\xee\x59\x1b\xb2\xab\xaa\xb2\x37\xcc\x72\x77\x74\x1c\x73\x95\xd9\xe2\x8d\x7e\x7e\xe3\x45\x93\x52\x2a\x69\x27\xaf\x03\xae\x65\x2e\x0f\x40\xd3\x1a\x06\x76\xa5\x58\x96\x6a\xce\xc9\xc9\xd3\x0e\xfc\x72\xae\x1a\x28\x4a\xc7\x62\xd5\x72\x3b\x67\x95\xae\xe6\xd5\x58\x3d\x57\x79\xf6\x65\xa4\x0d\x2a\x43\x55\x68\x06\x6a\x55\x94\x22\xc8\x86\x8c\x2b\xb3\x09\x93\xa1\x68\xf7\x5b\x12\x20\x30\x04\x5a\x22\xbf\x2b\x51\x3f\x45\x13\x80\x03\xc8\xbd\x0b\xe9\x67\x20\x16\x09\x88\x9e\xcc\xc4\xd4\xc3\xb1\x56\x45\x79\x50\x1c\xa2\x81\xb6\x72\xa8\x3a\xa4\x7b\x53\xda\x2f\x35\x4b\xd7\xbe\xa9\x0d\x27\x36\xcd\x9a\x53\xf3\x1e\x14\x6e\xa2\xb2\x78\x58\x6f\x9e\x54\x9c\x68\x69\xd9\x3e\x4f\x7a\xa8\x13\x4a\xfe\x30\x66\xce\xac\x4d\xa7\x6e\x9b\xb7\xbd\xa5\x25\x51\xdb\x42\x15\x69\xb5\x1a\xa7\xb6\xb0\xa7\xa7\xa7\x50\xeb\xd4\x68\xb5\xc5\xd7\xb7\xb7\xb4\x5f\x6f\xdf\x3e\xaf\xa5\x36\xd1\x82\x1f\x1a\xb3\x28\x3b\x18\xba\x59\xfa\xe1\xc6\x1b\x41\x75\x73\x59\x59\xf6\xe2\x31\x33\x37\xd7\xdd\xa0\xc1\x6a\xbd\x91\x9a\xe1\x2f\x9d\xb7\xbd\x65\x5e\x62\x8a\x54\xa0\xbe\xbe\x76\xb3\xf4\x47\x72\x93\x16\xa9\x43\xeb\xd4\x6a\x34\x45\x05\x05\x45\x1a\x8d\x26\x5f\x5b\x1c\x52\xab\x43\x3f\xc8\x37\x9b\xb7\x9d\xd4\xe9\xf1\x83\x98\x7d\x82\x45\xa8\x1c\x21\x4b\x38\x41\xf9\xc2\x21\x5a\x90\xbb\x34\x27\x95\x80\xb8\x89\xd5\x41\x40\xc4\x01\xd1\x1c\xe7\x81\x73\xc7\x82\x74\x19\xf0\xd4\x78\x30\xce\xb9\xf6\x69\x80\x83\x7f\x84\xb5\xeb\x3a\xfb\x6f\x86\x95\x77\xfd\xfe\xed\x97\x26\x2f\x94\xbe\x92\x6e\xdb\xf7\xd4\x77\x98\xfa\xec\xf7\xe5\x35\x46\x7c\xa1\xca\x95\x98\x3e\xb3\xc1\x6e\xbf\xfc\xc7\xe7\x6f\xc2\x9f\x5f\xfc\xc7\xdf\x1c\x9a\xfb\xfb\xe7\x9f\x18\x7c\x72\xdd\xb1\x99\x2e\xc7\xb8\xb0\x74\x79\x7c\x0a\x8e\x4d\x86\x8e\x5f\x7d\x0b\xb3\x97\xd4\xec\x6a\x9f\x7a\xf1\xd4\x4a\x87\x01\x80\x99\xbe\xf3\xfa\xa1\xfa\x4a\xb0\xf5\x0a\x1b\x7d\x0e\x42\x51\x93\x3b\x33\xa4\x90\x2b\xa4\xdb\xe6\x8e\x0e\x0f\x96\xc2\x6a\xd4\x5e\xff\x43\xb2\xbe\x1d\xa7\x20\x95\x46\x80\xd8\x8e\xfa\xf6\x7f\xa2\xf6\x7a\x17\xee\x48\xf7\xd4\xb7\xb7\x83\x87\x98\xb0\xa4\xda\xeb\xfb\xfa\xea\xdb\x87\xb1\x9d\x4f\x10\xbb\x95\x72\xb9\x7f\xf7\x93\x2d\x39\xb9\x22\x28\x7a\x92\x71\xa2\x26\xa5\x2c\x58\x87\x43\x3e\x35\xb0\xc8\x3d\x42\x70\x54\xa0\xbc\x44\xfe\xde\x09\x3c\xb0\xe5\xef\x4d\xf9\x6e\xdf\x75\x3f\xec\x9f\x73\xed\x0b\x6b\x77\x9d\x6c\x7a\x7b\xad\x74\xf4\xe5\x9f\x48\xef\xbd\x71\xf1\xc5\x6f\x80\xf8\x93\x37\x61\xbd\x94\xc4\xbf\xd8\x24\x35\x4a\x5f\x3f\x3c\xb4\xc2\xfb\x30\xd0\x70\xc7\x45\x47\x03\x1d\x57\xb8\x4a\x75\x9a\xd2\xef\xd7\x6d\xbd\x6a\xff\x0f\x07\xd6\xbe\x70\xed\x9c\x0b\x56\x5f\x74\x77\xef\xc5\x6f\x48\xef\x49\x4f\xcb\x97\x78\x0b\x4f\x90\x7a\xd2\xd2\x7b\xa7\xdb\x4a\xe9\xbb\x93\xd2\xa6\x1e\x20\xe6\x24\x88\x46\xae\x41\xc4\xf6\x65\xf8\x74\x33\x7c\x04\x71\x37\x04\x4c\x90\x0f\x26\x35\x76\x03\x73\x5d\xfa\xa6\x85\xd4\xbc\x53\xbf\x78\x94\x3e\x6a\xbd\x2e\xfd\x17\x58\x28\xe9\x06\xee\x86\x65\x54\x35\xec\xbc\x7e\xe0\xc3\x4d\xd4\x82\x74\x76\xc7\xa2\x81\x9f\xc2\x74\xbc\x63\xe0\x43\x5c\x3d\x54\x36\x29\xe6\x1b\xb2\x9f\x7b\x11\x42\x40\x14\xc9\x87\x25\x6b\x86\xfd\x8c\xc9\x9d\x41\xb2\xb8\x4d\x91\x6a\x08\xe5\x41\x78\xc8\x8d\x0e\xbb\x09\x6c\x0f\x9b\x86\x35\x89\x6d\x0a\x5d\x4e\x2c\x1c\xca\x53\x76\x1f\xbc\x1e\xce\x16\x8a\x39\xf1\x19\xe7\x54\x43\xc8\x66\x52\x5c\x9c\x32\x76\x18\x8d\x1d\x46\x8c\x86\xdc\x74\xaa\xbb\xa7\x3b\x2d\x47\x0f\x7f\x18\x1d\x67\x04\x97\xbb\xc4\xed\x2a\x15\x6d\x53\x8d\xa6\x1a\xce\x38\x21\xc7\x3c\xd9\x52\x10\x02\x23\xa7\x63\x46\xa6\xc5\xc6\x3e\xe3\xe9\xff\xb4\x11\x92\xcd\xdd\xdd\xcd\x52\x2f\xfe\xc6\x68\xec\xc6\xdd\x46\x63\x37\xf9\xb0\x1c\x05\x00\x97\x1b\xbc\x82\xcb\x25\x78\x0d\x26\x8d\xc1\x60\xfc\x9d\x41\x6f\xd0\x5d\x0a\x40\x71\x6c\x77\x26\x61\x7a\x7f\xb7\x51\xd1\x78\x24\x75\xb5\x4b\x61\xc0\x52\x86\x5b\xb5\xe0\xb6\x0b\x4e\x86\x8c\xeb\x87\x48\xde\x94\x99\xa4\xd7\x13\x64\x02\x41\xca\xeb\x26\x80\x1f\x45\xe5\x29\x1c\x92\xfb\x5a\xb6\x1a\x32\x8d\x8f\xdc\x03\x7b\x3d\x3c\xcd\xb1\x9c\x5c\xc3\x05\xd5\x37\x46\xa3\xd4\xab\x52\xa9\x39\xe3\xc0\x4f\xfd\x41\xa3\x29\x5f\xc8\x77\x99\x3a\xcc\x3c\x90\x31\xbf\xd4\xcb\x9b\x3b\x5c\x63\x4a\x82\xb9\x01\xb3\x45\xc8\x2d\x29\xcd\x92\x6e\xb0\x5f\xd5\xd2\x75\xf8\x70\x57\xcb\x55\xf6\xce\xac\xd2\x92\x5c\xc1\x62\x0e\xe4\x06\x4b\xc6\xb8\x56\xd9\x96\x24\xe4\x87\x4e\x2c\xb1\xad\x32\xb9\xf2\x85\x7c\x93\x31\xe8\xa7\x17\xb8\x8c\xf8\x0f\x2a\x51\xd5\xcb\xd0\x1a\x73\x6a\xcc\x2a\xbf\x2f\xe1\xf2\x19\x3b\x86\x2e\x6e\xe6\x3b\xac\x39\x31\xb1\x29\x50\x18\xad\x9a\xec\x99\xbd\xfa\xf0\x1b\x87\x57\xcf\xf6\x4c\xae\x8a\x16\x06\x9a\xc4\x58\x8e\xb5\x6a\x62\x77\x4f\xf7\xc4\x2a\xa3\xcf\x95\xf0\xf9\x57\x8d\x49\x99\xad\xda\x33\xb1\x01\x1c\x32\x21\x37\x19\x93\x10\xf0\x0b\x32\x8a\x5e\xb7\x29\x4c\x7c\xa3\x40\x2d\x17\x4f\xaf\x4c\xa7\x2b\x01\x3f\xb2\x4b\x9a\xfe\xf3\xf4\x4e\x7c\xf9\xb9\xd0\x2a\x89\xee\x69\xa0\x97\xfe\x09\xf4\xa3\x03\x29\xd0\xc3\xca\x73\x6c\x9e\xc8\x6d\xc8\xbb\x6a\xc4\x04\x50\x00\x8d\x41\x53\xd1\x62\xa2\x41\x1c\x60\x87\xf8\x9b\xe2\xb1\x68\x44\x59\xab\xb6\x0b\x72\x73\x1f\x50\xb6\xf8\x09\x02\xee\xb4\x7a\x87\xa2\x11\xe7\x04\x41\x91\x81\x97\x4f\x33\x06\x44\xb2\x44\xe5\x33\x0e\x47\x45\x23\xca\xa2\x94\xc0\xae\x69\x88\x72\x46\xae\x30\x4b\xa7\xcb\xcf\xd5\x08\xdb\x7e\x77\xe1\x65\x9f\xc4\x56\x37\xdb\x4b\x92\x42\xe3\x4a\xf9\xe7\xa0\xed\xd3\xd7\xdd\xf8\xd2\xd5\xfd\x7f\xba\xfb\x9b\x17\x0f\x25\x20\xf1\xcb\x3f\x43\xab\xb0\xe9\xc6\x53\x8b\x85\xc2\x2c\x8b\x43\x67\x9e\x38\xd1\xac\x8b\xd4\x99\x17\x03\xba\x4c\x28\x14\x2c\x0e\xbd\x79\xf5\x6a\xb3\xde\xe1\x48\x98\xe1\xe1\xea\x45\xb6\xd2\xb2\xac\x5c\x4a\x53\xe5\x9c\x38\xe9\xc2\xd7\xb7\x1d\xb8\x20\x77\x9a\x90\x2c\xb1\x37\x1e\x7a\xe3\xd0\xba\x69\x57\xbf\xf8\xd7\xbb\x6f\xfc\xcc\xfe\xe8\x67\xd2\x2f\xff\x98\xfd\xc4\x05\x0f\xee\x77\xeb\x4d\x75\x8e\x4e\xc0\x9d\x8e\x84\x4f\xef\xb8\xba\x41\xca\x7a\xc1\xa3\x37\x27\x1c\xb7\x3f\xf7\xcb\xdb\x1c\x75\x26\xb3\x2e\x07\x61\xe4\x1b\x44\xcc\xfb\x64\x1f\x7e\x2d\x42\x0c\xe9\xf5\xe4\x77\x55\xe1\x65\x64\xe5\xaa\x1a\x8d\x24\xa8\x90\x93\x22\xf0\xdc\x7c\x20\x9a\xa4\x74\x40\x0c\x04\xa9\xe8\xd0\x12\x1b\xe1\xf8\xf2\x16\x41\x90\x26\x16\x5f\x44\xd5\xd4\x49\x09\x4e\x15\xf3\xfe\xc5\x3f\xdf\xb1\xe3\xe7\x17\x9f\xdc\x78\xb3\xfb\xc0\xc9\x35\x8f\x5e\xb8\x24\xe6\xd5\xa9\x73\x4b\x67\x75\xcd\x2c\xc9\x51\x09\xb9\xab\x03\x05\x1b\x0f\x9b\x4b\x63\xed\x6d\x93\x73\x0d\x9b\xae\x5e\x51\x58\xd8\x7a\xd9\x0b\xdb\xb6\xbe\x78\xc9\x02\xd1\x59\x1c\x2b\x31\x61\xd6\xe2\x88\xf8\x82\xb9\x56\x43\x8b\xdf\xdf\xb0\xb4\x48\x23\x36\x5c\x3c\xaf\xe9\xa2\xb6\xc9\xe5\x1e\x8b\x06\xeb\xe7\xef\xd8\x31\x7f\xc1\x8e\x1d\xcf\x18\x1e\x3c\x7f\x4a\x72\x5a\xd1\xb8\xb9\xb3\x67\x86\x79\x4b\xd9\xd8\xb0\xcf\x5b\x56\x1d\xe0\x3d\x65\x39\x4e\x0c\xe7\xcd\x74\x94\x96\x88\xa1\x52\x8f\x9e\x8b\x2f\xd8\x70\x65\xfb\xb4\xfd\xbb\x16\x57\x45\x66\x76\xad\x0c\x07\x27\x17\xe7\x69\x34\x66\x31\x36\x2f\x66\xb4\x00\x24\xa6\xf9\xb3\xc4\x58\x79\x75\x5e\x76\x55\x2c\x19\x9f\x10\x9b\x1c\x1e\x69\x87\xa7\xd8\xaf\x9f\xb5\x7b\xe0\x1f\x15\x1e\x29\xc4\x8d\x7b\xcd\xfc\x20\x99\x7b\x02\xe2\xcd\x70\x66\x28\x35\x5a\x73\xbb\x03\x93\x37\xf9\xf4\xa2\x50\xc6\x0f\x83\xa3\x94\xb5\xe9\x11\xfc\x33\x02\x59\xb5\x41\x68\x84\x35\x3c\x72\x25\xc0\x18\x04\x17\x0f\x46\xbb\x7f\xa4\x56\xda\xc8\xb5\x86\x4c\x18\x97\x9d\x69\xd3\x0e\xb7\x42\xc1\xa9\x03\x07\x4e\x49\xef\x9c\x3a\x70\x00\xbe\x96\xf3\xd0\x7b\x3a\x53\xe4\x8b\x19\x9d\xf1\xfe\x07\x0e\x9c\x1a\x3e\x6b\xda\x19\x59\x1f\xe1\x3f\x63\xfc\x6a\x90\xfb\xf3\xd1\x25\x79\x86\x84\x79\x72\xe4\x15\xa0\xf7\xbf\x2b\xab\xb3\xca\x87\x1a\x55\x3e\xff\xb2\x74\xe2\x23\x6d\x35\xff\x5d\x69\xac\x3d\xfd\x3c\xff\x0f\x45\x30\x1a\x1f\xe5\x47\xb5\x08\xf9\x2d\xc4\xa0\x99\xd0\xab\x83\xc5\x6d\x21\x28\x6e\x05\x04\x3f\xec\x86\xec\x7e\x13\x79\x19\x33\x3d\x6c\xc6\x1f\x73\xd9\xd9\x0f\xbc\x94\xc5\x92\xf7\x63\x2a\xcf\x62\xa1\xbc\x6c\xdb\xdc\x1f\x67\xcf\xa5\x7c\xd9\x80\xc8\xa4\x49\xfe\x42\xd9\x3e\x69\x97\x18\x11\x0f\xbf\x71\x58\x8c\x88\x1f\x43\xe2\xe3\x94\xf4\x42\xae\xdd\x66\xb3\xe7\x42\x15\x35\x71\xe0\x47\x8a\xcb\x72\x8f\x54\xdc\x74\xff\x64\x10\x29\xda\x13\x72\x0b\x35\xe4\x3f\xfa\xf1\xc7\x19\x3b\x3b\xd9\xb1\x11\x86\xa2\x6a\x34\x19\xad\x21\xb3\x78\xb9\x1d\x1f\xc2\xfc\x66\x14\x30\x20\x01\x01\x2a\x08\xbc\x02\xb3\xf6\x0f\xe5\xdc\xae\xbc\x25\xc3\x7e\x4b\x2c\x08\x44\x8f\x54\x08\x87\x62\x40\x79\x09\x6e\x33\xf3\x33\x10\xfc\xac\x97\x0a\x42\xf1\x10\xcb\xbf\xdc\x3e\x93\x5c\x1a\x36\xaa\x26\x05\xfb\x51\x70\x92\x6a\xa3\x41\x0e\xc3\x72\x87\x17\xbb\x70\x61\x44\xfe\xf6\x67\x43\x8f\x18\x11\xc5\x88\x08\xa9\x8c\xdb\xe1\xc2\xde\x48\x21\x76\x61\xaf\x83\xc9\xf6\xf7\x5f\xdc\xb6\x7b\xb9\x65\xef\x82\x3b\x15\xbc\xfa\x9d\x0b\xf6\x5a\x96\xef\x6e\xd3\x8e\x2f\xbd\x53\x74\x48\x72\x44\xe9\x78\x4a\x2e\xc1\x74\x57\xb0\xa6\x26\x88\x0f\x37\x76\x35\x0e\xf4\xe1\x42\x07\xf4\x38\xbc\x74\xa1\x43\xea\xc8\xf6\x24\xa1\x87\xd0\x2c\x74\x90\xe2\x39\xed\xb7\x41\x8f\xa3\x90\xf6\xca\x81\x42\xec\xa1\xdf\x93\x96\xc1\x63\x2d\xeb\xe4\xc3\xeb\x5a\xa4\x89\x70\x4b\x49\xa5\xec\xaf\x44\x18\xb9\x07\x53\xec\x47\x64\x0e\x36\x1d\x21\xb0\x78\x29\x90\xeb\x01\xe5\x0e\x09\x76\xb2\xb8\x44\x11\x34\xa8\x18\xb7\x78\x87\x7d\x72\x2d\x21\xeb\x48\x23\x7c\xb1\x8c\x3e\x7e\x78\xd8\x27\x5f\x81\xfa\x28\x29\x25\x29\xa9\x92\xcb\x92\x1e\x4b\x42\xdc\xa0\xd1\xd0\x95\x8c\x43\x7a\x6c\x06\x97\xd5\x67\xd4\xa8\xa9\x69\xd2\x0c\x2e\xeb\x63\x03\xf1\xbd\x24\x3b\x95\x5c\x16\x4c\x4c\xca\x7e\x92\x12\x26\xce\xe0\xb2\xfb\x0c\x99\x94\x19\x9f\x7c\x1d\x35\x46\x80\x06\x11\xfc\xd0\x97\x35\x88\x74\x3c\xdf\x97\x25\x3d\x9a\xa5\xd3\x19\xa1\x72\xc8\xd5\xe9\x8c\x7d\x59\xa0\x1c\x83\x49\x72\x9c\xf4\xe2\x90\xab\xd3\x29\xf3\xcf\x55\x83\x88\x39\x94\xb1\xd7\x34\x11\x8b\x7b\x81\x33\x09\x1c\xa5\xa6\x4c\x14\xa7\x06\x01\x90\x11\x13\x6b\x4b\x6c\x34\x13\x96\x4d\x6a\xf2\xc1\x43\x87\x0e\xee\x82\xd7\xa4\x13\x10\x92\xca\x07\xdb\x20\x29\xf5\xb6\xa1\x41\xfc\xdb\xe4\xba\x7b\x9e\xfd\xfe\xd9\x7b\xd6\x25\x87\x3c\xf0\xe9\xc1\x43\xd4\xde\x43\x07\x07\x16\xc3\x6b\x10\x82\x10\xbc\x96\x3e\x82\x06\xdb\xa4\x67\xa4\x67\xda\xd0\x20\x74\x4b\xed\xd2\x0b\x2f\x6d\xaf\xa8\xd8\xfe\x12\x54\xc1\x6d\x50\xa5\xf8\x95\x77\xb3\x60\x10\x51\xef\x0c\xe7\x0b\xf9\xe3\x01\x53\x3c\x60\x51\x83\x09\x02\x6a\x88\x83\x09\xf0\xec\xfb\xef\xbf\xff\x7e\x17\x2c\x4b\x7f\x2e\xbd\xbd\x1a\x36\x49\x7b\x57\x43\x21\xce\x59\x7f\xdf\x7d\xb0\xf6\xbe\xfb\xd2\x7f\x93\x6e\x49\x7f\x86\x5f\x90\xde\x59\x0d\x9b\x61\xf3\x6a\xe9\x1d\xfc\x42\xfa\x33\xc5\xae\x26\x83\xf5\x32\x20\x01\x15\xa2\x0a\x84\x86\x57\x8e\x86\x57\x90\x58\xc2\xe6\x67\xb1\x72\xa0\xac\x1f\x46\xe2\x40\x1a\x67\x3a\x73\x84\x41\x4d\x9d\x4d\x4d\x9d\xe9\x26\xe2\xd0\x4d\x1f\x2b\x4c\x7d\x97\xe8\xfb\xfb\x2c\xae\x1e\x87\xa8\xa7\x5d\xc4\x4d\x77\x64\x8e\xbc\x22\xa7\x6b\xa2\x48\xf2\x26\x29\x7f\x88\xd8\xaf\xd7\x6a\x3e\x95\x72\x88\x0e\xab\x99\x49\x39\xc4\x27\x32\xd1\x64\xdd\x88\x1a\x9c\xc8\xa6\x99\xc7\xc8\x2a\x89\x11\x09\x28\x0f\x21\x8b\x1a\x82\x10\xb7\x14\x02\x54\xc8\xcd\x53\x2c\x04\x16\x3b\xcb\xa9\xa1\x42\xf6\x0b\x9d\x54\xd6\xc0\x2d\x66\x9e\x5b\x0e\x27\xf0\x41\xe9\xe1\xf4\x37\xcf\x4b\xa1\xe7\x55\x21\xa6\x7c\x39\xc7\x9b\x07\x6e\xa1\xb2\x48\x50\x45\x25\x06\xd4\xf8\x7c\x7d\xb1\x0d\x22\x03\x6a\xb6\x35\x7d\x0b\x5e\x26\xa4\x2f\x95\x5e\xb1\x15\xeb\xd3\x57\x51\xff\xc4\xcb\x04\x61\xc4\x7a\x5b\x1f\xa2\xc8\xae\x4b\x05\x42\x10\x8e\x7a\x81\xd8\x90\x07\x04\x27\xc4\x09\xc3\x24\x63\x95\xa7\xeb\x0a\x7c\xd2\xa3\x80\x27\x15\xd9\x0f\xb9\xb3\x30\x43\xaa\xa7\x87\x1a\xdf\xb9\xe7\xf2\x1f\x3b\xa0\xe5\x87\x83\x97\x48\x05\x84\xdb\x20\xb5\x74\xbe\x94\x7e\x74\xdb\x89\x31\x96\x26\xcb\x98\x13\xdb\x1e\x95\xd2\xf3\x97\x7e\x03\x47\xe0\x0b\x38\xf2\x0d\xee\xed\x4b\xbf\xb1\xd0\x87\x61\x51\x63\x47\xf3\x62\x80\x8b\xfa\x7a\x9f\xb8\xe3\xbc\x1d\x47\x3e\x5c\xd9\x02\xd0\xb2\xf2\xc3\x23\x3b\xce\xbb\xe3\x89\xd7\x95\xce\x60\x88\xbb\x61\x68\xfd\x44\x99\x67\x59\x50\x01\x2a\xce\xd8\x7c\xdb\xbc\x51\x0b\x51\x22\x73\x9f\xfe\x90\xa5\x7e\x08\x70\xc4\xf8\x24\xd3\xc5\x41\xdc\xcd\xc4\xdd\xcc\x28\xdc\x1e\xa6\x06\x06\x06\xa8\x6f\xa5\x7b\x61\x4e\xba\x03\xf7\xa4\x3b\xa8\x80\x4e\xe5\x92\x2e\xfb\xdd\xef\xa4\xcb\x5c\x2a\x9d\x4e\x45\xbf\xa3\xd2\x0d\xdc\xfd\x98\xd4\x85\xf7\x7c\x20\x75\xe1\x4f\xe6\x26\xfa\x0b\x12\x73\xe7\x26\xe8\x77\x12\x73\xf1\xfa\x54\x0a\x0d\xee\xd8\x21\x41\x2a\x05\x48\xf1\x0f\xdc\x2e\x9f\x31\x88\xee\xbd\x17\x90\x4e\xd5\x5f\xa0\xd2\xe9\xe8\xf6\xc3\x87\x0f\x5b\x4f\x9f\x36\xf7\x0c\xcc\x4a\xbe\xdc\x2b\x41\x66\xc3\x9e\xcd\x07\x27\x25\xd8\x05\x27\x2d\xd8\xe3\x31\x39\x06\x43\x90\xc1\x01\x97\x0e\x9c\x14\x0f\x1c\x6b\x03\x2f\xf0\x38\x88\xa9\x54\x67\xe5\x9e\xd7\x3c\xbe\xf9\x9a\x40\x20\xb1\xbc\x25\x5a\xa2\xa6\x4b\x9a\x37\x6d\xbc\xae\xf1\x46\x80\x50\x34\x77\xea\x2b\xd2\xcc\xa6\xf5\xb3\xaa\xc7\x04\x1b\x03\x60\x82\x67\x21\x7a\xf2\xaa\x99\x4e\x86\xd7\xeb\x61\x5c\xa7\xf4\x47\xfb\x9e\xce\xfb\x0e\x3d\x8e\x5f\xfb\xd5\xcc\x97\x37\x59\x4c\x05\x46\x67\x7e\xf1\xf2\xdd\xed\xb3\x4d\xaa\xd9\x57\xdd\xb3\x73\xb3\xab\x9e\xa5\x3c\x3e\xdb\x18\x08\x49\x17\xd7\xec\x3c\x72\xc3\xfb\xcf\x43\xe8\x8a\x49\xdd\xc7\xef\xfa\xfc\x9e\x4f\xb7\xcc\x9e\x2d\x48\x8f\x41\x1e\xce\xe2\xb1\x6b\x2e\x1a\x81\x6d\x2b\x23\x3b\x58\x44\x61\x1e\x05\x81\xa3\x5d\x7e\x91\x27\x7b\xc9\x3c\x36\x00\x4b\x00\x08\x75\x10\x8b\x87\xed\xf9\x60\x0f\x87\xe2\x09\x28\x83\x20\x0e\xc8\x63\xfc\xcc\x1b\x49\x8f\x9a\x8b\x8c\x66\x29\x1a\x3d\x57\x61\x96\xe9\x4a\x1d\x52\xbf\xf4\xa5\xd4\xef\x28\xd5\xe5\x38\x9e\x5b\x83\x73\x1c\xb9\x6a\x8d\x3d\x5b\xcd\x97\x18\x55\x31\x53\x91\x29\xa6\x32\x96\xf0\xea\x6c\xbb\x46\x9d\xeb\xc8\xc1\x6b\x9e\x73\x48\x8f\x90\x05\x4e\xbc\x67\xdd\x53\x52\xbf\xf4\x89\xd4\xff\xd4\xba\x75\x4f\x01\x03\x4e\x60\x9e\x92\x1a\xa5\x17\xa5\xcf\x4e\x6c\xdb\x76\x02\x72\xa1\x12\x72\x89\xef\xc5\x73\xcd\x7f\xe6\x44\x72\xd8\x44\x82\xcd\x89\x94\xb2\x41\xdd\xad\x1f\xce\x9f\x68\xcb\x2e\xd7\xd0\x85\xd6\x3d\x5b\xb7\xee\xb1\x16\xd2\x9a\xf2\x6c\xdb\xc4\xf9\x1f\xde\xaa\x0b\xb2\xc7\xc8\x72\xea\xfa\x51\x77\x92\x7d\xab\xb7\x9d\x90\x3e\x1b\x75\x43\xa9\xfc\x5c\x30\x34\x44\xa1\x86\x41\xc4\x3c\x91\x29\xe3\x49\x08\x21\x3b\x31\x87\x21\xb3\x1f\x0b\xa1\xb5\x0f\x64\x10\x9c\x81\x58\x1c\x02\x1c\x1b\x04\x82\xc9\x15\xe4\xf2\x37\x80\x1f\x2b\xa0\x69\x2b\x84\xe2\x64\x56\x01\xd1\x48\x5c\x60\x6d\x56\x3b\xb3\xbd\x81\x29\xa1\x6b\x0b\x59\xaa\xa4\x8a\xf2\x5e\x13\x3f\x78\x65\xeb\xab\xd7\x5e\x76\xde\x95\x5b\x6f\x07\xd5\xa1\x5f\xb8\x5b\xc6\x30\xae\xbf\x3a\x1a\x9c\xf0\xa5\x4f\x67\x2a\x7e\x15\x36\x16\x1e\xec\xec\x3c\xb8\x72\xe0\xbd\xae\x05\x7b\x0e\x3c\x75\xb0\xff\xc0\xa6\x3d\x35\xaf\xe2\xef\x27\x94\xa5\xdf\x2d\xaa\x04\x6a\x5c\x09\xdc\xaf\x5a\xbf\xe3\x9d\x5b\xae\x5c\x7e\xd9\xb5\x27\x16\x5e\xb5\x21\x07\x4a\xe6\xfd\xc4\xc9\xd4\xb7\xe4\xbd\x29\x70\x66\xe9\x73\x5b\xd9\xb8\xd0\x97\x56\xb8\xbb\x53\xbe\xcc\xa9\xa7\x6b\xf7\x6c\x3a\x70\xea\xe0\x93\x07\xf7\xb4\xac\xb9\xf6\xd5\xb3\x34\x7e\xa7\x11\x2d\xb8\x51\x1a\xbf\x60\xe5\x31\xc7\x63\x65\xb3\x9b\x44\x27\xa8\x38\xe1\xb5\x20\xb2\x45\x04\xcd\x12\x54\x40\x26\xd8\xc5\x63\xa3\x13\xbb\x12\xd8\x18\x84\x91\xe3\x5b\xaa\x3b\x23\x51\xdc\xc3\x9b\x01\x39\x6b\x8b\x45\x57\x9e\x40\x42\xb6\x9c\x70\x7e\x5e\xb4\x64\x5e\xa4\x32\x90\x17\x56\x1b\xb5\xaa\xd5\x1a\x9a\xdb\xf6\xe9\x25\x7f\xf8\x7a\x94\x28\x3f\x5c\x3b\x7a\x50\xdc\x3c\x74\x45\x33\x7c\x12\x6a\x1e\xe3\xb4\x99\xad\xb9\x06\xb2\x8f\xd7\xe0\xad\xf6\x79\x8d\xfa\x6c\x5f\x7e\x51\x75\x8e\xb5\x4e\xc7\xce\xe4\x1c\x9a\xde\xff\x82\x71\xa7\x05\xf8\xc9\x65\xa5\x47\x46\x0d\xa5\x11\x8d\x02\x83\x14\x33\x9f\xcc\x0f\x13\x68\x3a\xea\x40\x08\x79\x86\x56\x73\xc0\xca\x8a\x01\x08\x82\x01\xd8\x7c\xb0\x50\x04\xab\x41\x66\xc3\x39\xc0\x09\x76\xf2\xce\x05\xa9\x28\x65\x51\x38\x39\xf3\x81\xb3\x33\xf2\x0c\xd2\x2e\xd8\xe5\xea\x11\xf0\x8a\x01\x8a\xf0\xd3\xca\x01\x11\xec\xb1\x3a\x88\x45\xe1\x81\xd4\xc2\x85\xa9\x56\xd8\x5b\x33\x8e\x97\xae\xe5\x78\x9a\xe2\xb4\xdb\xe0\x27\xe3\xb2\x0d\xfa\x50\x34\x2f\x9b\xc2\xbf\x64\xe6\x78\x69\x8d\xd9\xca\x71\x96\x7c\x93\x96\x0e\xfe\x5e\x58\xd0\xe8\x82\xbb\x38\x8e\x02\x4e\x5a\x53\xdc\x9a\x95\xe5\x63\xb5\x65\xde\x44\x81\x1a\x58\xbc\x9d\xba\x2e\x9f\x52\x6b\xad\xec\x06\xe9\x37\x94\x8a\xa2\xb4\xf4\x4b\xad\x63\x93\xad\xad\xc9\xb1\x69\x6f\xc8\x6b\x17\xe0\x61\x1d\x87\x29\x95\x7e\x8f\x74\xab\x14\xef\x2d\x72\xb0\x8e\x6c\x7d\x4d\x8e\x09\xcf\x87\x9e\xdb\x3f\xcc\xf2\x59\xf4\x80\x29\x9d\x35\xcb\x80\xa1\x18\x2e\xf2\x14\xa4\xff\xc9\xe8\x28\xd0\xff\x74\x7d\x5f\x65\xbc\xcd\x35\x21\xc7\xae\x73\x59\x8c\x6a\x58\x24\xdd\x5f\xa1\x62\x30\xa3\x2d\xd4\xdc\x07\x27\x81\xc6\x58\xad\x22\xdc\x67\x14\xfa\x54\x8d\xe8\x5c\x84\x91\x16\x79\x51\x05\x6a\x44\xcb\xd1\x0e\xb9\x87\xa3\x98\x48\xc6\x06\x08\x2c\xc3\xea\x12\x64\x4e\x20\x2a\x72\x6b\xf2\x08\x60\x44\x1f\x01\x56\x9e\xe2\xbc\x09\xaa\x0e\x22\x41\x2a\x10\x76\x52\xf9\xff\x41\x8c\x00\x3f\xdc\x0b\x54\xcb\xf2\x8e\x58\xa4\x75\x75\xfa\x39\xb0\xf0\xef\xf0\x16\xe9\x83\xb8\xc6\x2c\x7d\x67\xb3\xe8\x71\x89\xda\x0c\x4d\xbc\x95\xaa\xee\x7f\x41\xfa\x96\xb7\x5a\x79\xd0\xbd\x08\x37\x80\x21\xb7\xb6\x38\x2c\x56\x39\x8c\x00\xc0\x3b\x2a\xc5\xe2\xc2\x44\x9e\x09\x3f\x06\x86\xdc\xc4\xe9\xf8\xec\xa1\xf8\x87\x33\xe9\x2b\xcf\x8c\x07\xec\x04\xf5\x4f\xe7\x75\x49\xdb\x37\xc0\xcb\x69\x9d\x7c\xf5\xc4\x0c\x83\xcf\x84\xbf\xe3\xad\xcf\x4b\x17\xbf\x6f\xe5\xf1\x3f\x78\xab\xb4\x4c\xeb\x5b\xb5\x78\x4b\x71\xe9\x96\x95\xad\x39\x39\xaa\xbc\xd6\x85\xbb\xaa\xcb\xb6\xae\x98\xef\x70\xfc\x3f\xc6\x2b\xfb\x9f\x4c\x8a\xf9\x16\x4d\x41\x0b\xd1\x1a\xb4\x13\x21\x26\x12\x04\x42\xaa\x4f\xc4\x19\x03\x41\x2a\x20\x46\xe2\x09\x2a\x43\xd8\x4d\xd4\xd2\x71\xc6\xba\x9d\x23\x64\x79\xf2\x94\x50\x38\x8d\x54\x4b\x80\xc5\x23\x46\x94\xa5\x9d\x48\x2c\x24\xd8\xad\x1c\x6b\xf7\xc8\x17\x89\x19\x33\x31\x46\x4e\x89\x48\x80\x51\xcc\x44\x99\x8d\x98\xc3\x2b\x1d\x3e\x0c\x2a\xb5\xda\xe0\x13\xda\xb3\x3c\x7a\x56\xc3\xa8\xc0\xef\x07\x15\xa3\x61\xf5\x9e\xac\x76\xc1\x67\x50\xab\x55\x80\x7d\x8e\x79\x2e\x6b\xb6\x27\x59\x35\xbd\x2e\x2f\x9f\xa5\x2a\x44\xb1\xa2\x32\xa7\x6e\x13\x45\x25\x3d\xd9\x56\xd7\xbc\xa3\x0e\xd1\xe2\xf7\x5b\xc4\x88\xa5\xb1\xd1\xf6\x68\xcc\x6c\xb1\x74\x77\xcb\xa1\xc3\x87\x8f\xc9\x81\x05\x8b\x17\x2f\x90\x83\x6b\x36\x6d\x5a\x73\xa3\xb6\x7d\xab\x9a\x2e\xcd\x51\xf1\x5a\x2d\x63\xb3\xe4\xd1\x29\x29\x45\xe7\x59\x6c\x8c\x56\xcb\xab\x72\x4a\x69\xf5\xd6\x76\xad\xbd\x56\xa7\x32\x9b\xca\xe6\xc4\xc7\xe9\xb8\x55\xef\x49\xdf\xbe\xb7\x6a\x5b\xa0\xd5\x07\x60\x56\xe9\x6a\xa9\x3b\xc5\xa8\xc5\x1f\x8d\x04\x2c\x11\xd1\xd2\xf8\x46\xa3\xe5\x17\x16\x4b\xc4\xb2\x01\x6a\x36\xc8\x11\x87\xa5\x96\xc3\x2f\xca\x11\xad\x7f\x02\xf4\xa7\x56\x39\x6a\x8d\xf4\xa5\xf4\x8a\xf4\x25\xe1\x49\xb7\x12\x9e\xe6\xd4\xf0\x58\x37\x9f\x68\x1b\xc5\x51\x1d\x9a\x48\xf4\xb4\x16\xa1\x15\x68\x1d\xda\x82\x76\xa0\xcb\xd1\x35\xe8\x7a\x74\x94\xd8\xd9\x93\x1d\x15\x5f\xc6\xc5\x19\x77\x74\xfc\xbf\x4c\x37\x6a\x47\xf3\x5f\x85\xff\x9d\xfb\xaf\xce\x07\xac\x30\x17\xdf\x46\x1c\xe5\x1f\xdf\x36\x32\x2e\x7d\xdb\xd9\x29\x7e\x74\x11\x96\x65\xdc\x4d\x1c\xa9\xfb\x1c\x21\x46\x71\xd2\x67\x84\xce\x99\x32\x13\x82\x8e\xf6\xd3\x77\xc0\x8a\x23\xb5\x9f\x1d\x77\x46\x60\x80\xef\x51\xce\x96\xff\x61\xff\xd9\x81\x7e\xc5\xa1\xce\x08\x9d\x2b\xa1\xf2\x9f\xe1\x2e\x63\x07\x58\x34\xcc\x08\xdf\x84\x66\xa3\x95\xe8\x42\xb4\x17\x21\x7b\xa6\xd4\x62\x43\x4a\x99\xc0\xc1\x90\x05\x95\xd2\x5b\x52\xb6\x61\x63\xa9\x18\x91\x55\x93\x5f\x3d\x62\xed\x43\xd6\x1b\xc9\x7c\x6f\xa8\xec\xfd\x4a\x9c\x02\xea\x50\x96\x23\x5d\x76\xbf\xa2\x3b\x27\x0f\x50\x15\xfd\x35\x3b\x63\x1f\xc2\x6e\x66\x22\x94\x79\xff\x17\xe4\x7b\x16\xa0\x05\x83\x08\xee\x27\x01\x7c\x52\x88\xf8\xbc\xf9\x79\xa2\xe1\xe3\xa3\xf2\x4c\xbc\xeb\xb0\x10\xf6\x79\x0a\x02\x3e\x45\x33\x41\x8c\x88\x43\xda\x0d\x69\x92\x1e\x26\x88\x11\x71\x57\xdb\xc2\xdd\x62\x44\x3c\x01\xbe\x13\x70\x15\x19\xcf\x59\xdc\x5c\xc3\x2d\x36\x95\xd1\x14\xb1\x3d\x02\x7e\xb5\x2d\x5b\xab\x2b\x31\x2e\x7c\xd5\xce\x19\x8d\x11\xdb\x9f\x7f\x4a\x16\x1d\x6e\x52\x96\x1e\x4a\x07\xd1\x02\x40\x97\x2b\x01\x54\xbd\xb4\xa5\xac\xd0\x2b\x26\xea\x0b\x8f\x7e\x2c\x46\xc4\xc3\x5d\x55\x8b\xe7\x94\x07\x82\x91\xc5\x71\x45\x45\x45\xce\x53\x46\x18\xe2\x0f\xe4\x14\x82\xf6\x68\xdb\xb5\xab\x4d\x76\x0f\x9c\x38\x71\x8d\x3c\xb4\xb3\x5b\x1e\xda\x6c\x8c\xd8\x6c\x2a\xe3\x95\x97\x92\xa1\xde\xd7\x37\x1b\x23\x36\x3b\x67\xcc\xe0\x70\xa9\x41\xa4\x4a\x67\x70\x16\x2b\xd0\xcf\xc8\x78\x3e\x63\xf9\x4e\x46\xbb\xb1\x78\xcc\x1f\x29\x23\xd6\x35\x19\x71\x45\xb9\xf7\xe1\x89\xe9\x37\x17\x52\x20\xb1\x72\x89\x86\x08\x32\x1f\x8a\x41\x0c\xf8\x15\xa9\x3f\x31\x56\x07\x96\x98\x39\x1e\x73\x82\x7c\x6a\x2c\xa3\x89\xc7\x72\x8a\xd4\xa2\x9f\x10\xf3\x51\xac\x82\x66\x17\x63\xf1\x58\x7c\xe8\xb7\x22\x7e\x65\x8c\x98\x20\x30\x83\xb8\x67\xf8\x40\x38\x13\x5d\x8d\xed\x02\x23\x37\xca\xb4\xaa\x3a\xdb\x94\xf0\x47\x1b\x7d\x1a\x4f\xb9\x3f\x61\xca\xc6\x1b\x87\x7c\xd5\x99\x23\xd2\x5c\x53\x93\x37\x31\x29\x5c\x4e\xe9\xa9\x85\x47\x0a\x4c\x39\x3e\xb3\xcd\x66\xf6\xe5\x98\x0a\x8e\x2c\x64\x8d\xb9\xd2\x87\x7f\xe5\x0d\x05\xa6\x1e\x2d\x6f\x7f\xfd\xa0\xe9\xd0\x05\xf9\xd3\x43\x5c\xfe\x84\xb2\x0b\xf7\x17\xd4\xd1\x4c\x79\xc1\xec\xc6\x60\x74\xe3\x0a\x9f\x83\x3a\x3e\x9c\xc2\xe1\x2d\xcd\xcb\x56\xd2\xd0\x2a\x5f\x7c\x64\x2a\xf3\x7f\x73\x2b\xe0\x73\xc1\x2b\xdf\x0b\x27\x71\xd4\x13\x68\x8c\x56\xba\x55\xf9\x01\x4f\x74\x67\xc6\xc5\x24\x16\xcc\x5e\x87\x29\xdf\x04\xcb\x66\xf9\x1a\x4d\x6a\xb5\xa9\xd1\x37\x6b\x19\xc6\x39\x5b\x39\x2f\x24\x85\x0a\xfd\x16\xd0\xde\x0c\xa6\x65\xd9\x5c\x62\x9a\xa3\x7a\xfc\x6c\x13\x53\x5e\x50\x50\x47\x6b\x4a\x35\x21\x73\xe3\x76\xa9\x57\x4e\x21\x7d\x77\xb3\xf4\xd7\x65\x76\x6f\xbe\x92\x02\xca\x7d\xc3\x29\x7c\xff\xe2\xda\x67\xd8\x1c\x5b\x50\x03\x9a\x86\x16\x22\x04\x0a\x3a\x4a\x74\x0d\xe3\xa4\x42\x76\x45\x9b\x82\x84\xc8\x9b\xc8\xc3\xd0\x7b\xca\x12\xf8\xbf\xf2\x9e\x52\xd1\x48\x10\x40\x18\xb6\xbb\x13\xec\x56\x03\x25\x06\xea\x20\x16\xa2\x5d\xf2\x0b\x22\xbd\x7f\x42\x8c\x88\xbb\x1f\xdd\xdd\x29\xbf\x42\x72\x85\x27\xd2\x26\xbe\x40\x81\xc7\x17\x16\x0e\x77\xc9\x75\xf8\xe8\xc7\x06\x31\x2f\xdf\xeb\x8b\x08\xad\x37\xa7\x9f\xfb\x24\xfd\x94\xce\xa3\xbb\x4b\xa7\x63\x93\x77\xe9\x74\x27\x1d\x13\xeb\x2f\x69\xfd\xad\xde\x83\x7b\x33\xd5\xfd\x40\xa6\xfa\xc3\xa7\xad\x37\xbf\xb9\x59\x0e\x28\xef\x49\x7c\x71\x24\x18\x28\x9f\xb3\xb8\xaa\x8b\x2c\x6b\x1e\x2d\xac\x4f\x88\xde\xc2\xb2\x96\xa5\xd5\x9b\xdf\xbc\x39\xbd\x57\xbe\xac\xee\x2e\x9d\x47\xc7\xb2\x77\xe9\x3c\xfa\x93\xd9\x13\x6f\x5c\xd9\xfa\x5b\xdd\xc8\x35\x7c\x2b\x6a\x21\xaa\x4b\x56\x8e\x07\x85\x67\x3c\xb3\xc7\x13\x0e\xd9\x21\x33\x14\x08\xc8\x43\x79\x79\x48\x80\x89\xed\xbe\x82\x42\xf7\x7a\xa2\x11\xb9\x28\xc8\x1b\x95\x21\x3d\x49\x10\x2e\xf1\x0c\x60\x3c\x7c\x36\x3b\x1a\xb5\x44\xaf\x2d\xd4\x60\x46\x6b\xd5\x8e\x89\x4c\x68\xc8\x15\x72\x4d\xf0\xc5\x34\xbd\x4d\xdf\x7a\x39\xa6\x2a\xbe\xcd\x2a\x69\x3f\x34\xe5\x27\xd7\x65\x03\x6d\xe7\x1b\x4b\x8b\x6c\x79\x4e\x3b\x97\x35\x3e\xdf\x5b\x95\xbd\x62\xde\xcc\x03\xf3\x6d\xac\x85\xa1\xb4\xe7\xaf\x29\x9f\x0e\x14\xa3\x7e\xf4\x0c\xe3\xbc\x74\xce\xb8\xd0\x8b\x21\x2d\x05\x78\x69\xb2\xe5\x3e\x91\x77\x4b\x55\xfc\x85\x8c\x6a\x2a\xb6\x7f\x32\xf6\x24\x6b\xba\xf6\xc9\x45\x07\x6e\x65\xb1\x67\x56\x64\x49\x59\x56\x99\x2b\xdb\x00\x14\x67\xcf\x6b\x98\xe9\x69\x59\xdd\x75\xa0\xd9\x3e\xdf\xae\x63\x6b\xcc\xa0\xc6\x86\x33\xcd\xf4\x10\x46\xfe\x41\xc4\xbc\xc7\x0c\xa2\x6c\xb4\x1c\x21\xc2\x57\xe7\xe1\x58\x6c\xb3\x3a\x71\x38\x64\x4f\xe0\xb8\xdc\x08\x80\x95\xf5\x06\x94\x23\xa4\x14\x29\xaf\x67\x58\x26\xdd\x2a\x57\x20\xb9\x68\xa8\x78\x34\x22\x16\x29\x90\x2e\xa2\xa2\x19\x76\x99\xac\x98\x53\xa8\x81\x9c\x80\xbf\xa4\xf5\x79\x42\x20\xb0\x72\xb5\xc9\x37\xbe\x8c\xce\xd5\x59\x35\xd8\x98\x34\x5a\xf0\xb7\x06\x15\x6b\x6f\x4e\xe6\xdf\xf9\xa8\x81\xd5\xe4\xa9\x84\xf6\x5d\x0f\x75\x5c\x7e\x34\x30\x2f\x26\xde\x0e\xee\x60\xd0\xe5\x76\x95\x36\x47\x8b\xed\x0c\xa7\xd1\x68\xe0\xd3\x53\xe3\x2f\x7c\x6a\x6d\x24\x06\xe7\x37\x31\xd4\xf2\x63\x73\xed\xf9\x96\x6d\xf4\x6f\xb3\xf2\xf2\x0d\xc2\x18\xe9\x9f\x57\x96\xcc\x9a\x56\x06\xc0\xe8\x34\x53\x21\x3a\xb5\x35\x7d\x27\xa7\x07\xca\xa8\x6e\x53\x59\x7c\x7b\xf2\x5b\x8f\xdf\xd0\x7e\xe7\x15\xd1\xd4\xca\x71\xb9\x20\x04\x42\x93\x44\x77\x41\x5d\xdb\xf9\x1d\x45\x6a\x4c\xc1\x77\x9f\xac\xfe\xe4\xb9\x7d\x16\xb5\x74\xc3\x12\xe9\x36\x1f\x55\x95\xd0\x73\xcf\x20\x0a\xc1\x20\x62\x77\x30\xfd\xa8\x16\xcd\x44\x97\x23\x04\xa1\x7c\x79\x4a\x43\x66\xc1\x9c\x1e\x32\x15\xc9\xef\x26\x9a\xaa\xe1\x52\x50\xda\x36\x60\xfc\xc4\x13\x0e\x09\x8c\x10\x52\x0c\xe4\xe4\x09\x12\x27\x94\x61\x6a\x08\xc8\x9e\x0f\x72\x55\xb4\x83\xc5\x6e\x00\xd6\x00\xb1\x32\x10\x49\x3b\xcd\x51\xca\x96\xa2\x1a\x14\xd7\x92\x09\x5b\x04\x27\x49\x14\x8b\x87\xec\x54\x9d\x2b\xe7\xc3\xda\x8a\x03\x05\xda\x49\x6c\x99\x2b\xfd\x37\xa9\x47\x1d\xa8\x8a\x89\x40\x4b\xc9\xc2\x2a\x8c\x6b\x02\xf0\x78\xfa\x9f\x85\x21\x96\xad\xf2\x6b\xe0\x63\xe9\x27\x62\x39\xcb\xc6\xbc\x2c\x0f\xbd\xef\x02\x0d\x82\xc1\xfa\xb8\x97\xcf\xce\xb1\x3d\xfe\x1e\xe3\xfb\x1a\x28\xc8\xd2\xba\xf2\xa7\xe4\x5c\x8d\x59\x70\x99\xa9\x3b\x0c\xb4\xa1\x5c\x17\xef\xc2\x85\x07\xa2\xc9\x0f\x3d\x45\x61\xff\x9f\xb3\x79\x8f\x7b\x6a\x16\x68\xa4\x53\x36\x9b\xdf\xdb\x68\xfd\xdb\x15\x06\x9b\xc7\x3f\xcd\xf4\xec\x72\x95\x33\x0b\x74\xb8\xb2\x30\x50\x49\x2d\x32\x1f\x2c\xa8\xba\x27\x58\x23\x2d\x75\x15\xd3\x95\xae\xca\x02\x7f\x8c\x71\xd5\x14\x06\x22\x90\x64\x92\x85\xde\xd2\x9a\x76\x4d\x9d\xdf\x57\x8a\x3b\xfc\x10\xd4\x5f\x24\xcc\x70\x8b\x2f\x5f\xe4\xc7\x22\xb0\xc0\x40\xfe\xb4\x6c\x41\x9b\x7b\x1d\x30\xb8\x74\x35\xdc\x29\x7d\x3f\x79\xca\x1f\xaa\x73\x63\x89\xb2\x7b\x6a\x8b\x0e\x0a\x7e\xa8\x74\xcf\x10\xec\x46\x97\xd4\x03\x2f\x78\x9b\x2d\xe6\x2c\x8f\xb4\x10\x66\x78\xa7\x99\x2c\x0e\x51\x5a\xfc\x2b\x03\x63\x35\xf6\x15\xd6\x40\x95\xd2\x06\x3a\x39\xc4\x2c\x41\x33\x51\x1b\x5a\x83\xba\x11\xf2\x2b\xe2\x05\xd1\x48\x82\x8d\xc7\xfc\x62\x34\xa2\xd8\x9a\xc4\xc2\x2e\x24\x8f\xed\x15\x13\x6d\x32\x7d\xc7\x84\xf2\xdf\x01\x4a\x30\x00\x2c\x67\x47\x36\xab\xd7\x23\x96\x01\x45\x04\x0b\x2c\x56\xbf\xe0\xb3\x60\x3f\xa1\x69\x40\x72\x8d\xb7\x67\x5a\x52\xd1\xeb\xf1\x07\x04\x98\x8e\xe9\xb9\x77\x54\xd9\x68\x5a\xc3\xf1\xac\x19\x3f\x0a\xba\xb5\xa6\x4d\x3a\xb3\x66\xfb\xc2\x65\xa0\x81\xdf\x5e\x67\xb5\xb6\x0e\x5e\xbf\xd6\xb4\x49\x6b\xd1\x6c\x4f\x4a\x0d\xdc\x98\x42\xea\x87\xaf\xd5\xfa\xea\x2a\x4a\xaa\x0c\x14\x67\xc1\x76\x2d\x7f\x25\xdd\xd5\x57\xe2\xc1\x2e\xee\x67\x54\xa4\x02\x4c\xc7\x7f\x2e\x9d\x1c\x37\xa9\x5d\x5a\x9b\x6b\x9d\xbb\x2d\xb7\x20\xf7\xa1\x8b\xad\x30\x53\xcd\xfd\x1c\x57\xfd\x6c\xa1\x33\xa0\xb6\x1a\xad\x3a\xbb\x4a\xa0\xfa\x37\x3c\xaf\xb7\x68\x92\xc6\xcf\x2d\xd2\x57\x5f\xe6\x37\xe5\x5f\xfd\x51\xf2\x79\xbd\x55\x9d\x34\x7e\xbe\x85\x8a\x70\x59\x02\x23\xc5\xa4\x49\x14\x87\x29\x8e\x9a\x9c\x5b\x50\x9c\x1e\x47\x6b\x4a\xd8\x5f\xc3\x91\x68\x94\x2a\xd1\x49\x8f\x69\xce\x6b\x5d\x07\x66\xb0\x75\x27\xef\x5e\xd8\xf5\x14\xae\x2e\xc8\xdd\x36\xd7\x9a\x9b\x6b\xbd\xf8\x21\x13\xcd\x0d\xe1\xc8\xae\xa7\x25\x66\x25\xca\x47\x65\x44\x2f\x57\x6e\x4d\x15\x78\x29\x69\x04\x04\x96\xcb\xc0\x71\x5d\xf2\xcc\x29\x16\xb7\x07\xac\xd8\x00\x9e\x40\x82\x8e\x46\x02\xf6\x80\x4d\x0c\x38\xc1\xe2\x09\xc8\x43\x03\x1e\x38\xa5\xf9\x95\x1b\x52\x45\x58\x89\x76\x5c\x77\xf0\x8b\x2f\x0f\x5c\x77\xc5\xb7\xd7\x75\xcc\x75\x71\xf5\x53\xef\xfc\xf4\x63\x98\xd9\xe7\xaa\xaf\x2a\x7c\xe5\xe8\x51\x3e\xcf\x3d\x6b\xc7\xa4\x52\x03\x15\x8f\x4f\xbe\xb4\x65\x4d\x7a\xd6\xd4\xf7\x26\x59\x70\xd1\x2f\x57\x79\x3d\x8e\xe0\xba\xea\xf6\x9c\x29\x59\xae\xf5\xf0\xc0\xdb\x47\x7f\xf2\x93\xa3\x6f\x5f\xf7\xcf\x03\xf9\x89\x64\xee\xf7\x77\xdd\xf3\xd5\x57\xf7\xcc\x9f\xaa\xf7\x2d\x69\xec\x95\x4e\x2c\x03\xc6\xb5\xef\xae\xdf\x3d\xd8\x3a\xde\xd3\x73\x1b\x7e\xeb\x93\xea\x41\xe9\xb1\xc6\xad\x3b\xfc\x96\xf6\x6b\xb3\x63\xd5\xfe\xd9\x8e\x12\xa7\x71\xce\x98\x95\x07\xd7\xd4\x4e\x5d\x35\xc4\x8f\x45\xfa\x0e\x07\x2a\x44\x41\xd4\x80\x66\x13\x06\x0f\x02\x1f\x63\x33\x74\x01\x42\x2c\xae\xa8\x24\xbb\x62\x14\x11\xbc\xe2\xec\xd5\x10\x33\xc9\xbd\x45\xc0\xce\x44\x08\xe2\x80\x88\x1c\xca\x4f\x9c\x19\x8a\x8d\xea\x2c\x68\x47\x6e\x61\x89\xfd\xa6\x2f\x6f\xbe\x65\x63\xb4\x94\x16\x6a\xc6\xde\xf4\xdb\xdf\x42\xe4\xb7\x0f\x61\x4d\x7e\x68\x5e\x95\xcd\xa6\xf9\x83\x48\x37\x8f\x59\x08\x97\x84\x0b\x67\x8d\x6f\xce\x9a\x72\x69\x1e\xbd\xaf\x21\x32\x26\x3c\xcd\x66\x82\xc9\x23\x3b\x07\xf8\xeb\xb4\xf1\xd9\xea\x50\x72\xf3\xb1\x63\x9b\x37\xde\x6d\x29\x2e\xb1\xbd\x2b\xbd\xfc\xc6\x9b\x90\xce\x2a\xab\xdb\x7a\xed\xc6\xc5\x76\x6a\x0f\x18\x37\xad\x69\x7e\x24\x70\x4b\xe1\x79\x93\xe6\x0a\x96\xf1\x63\x0b\xfc\xa6\x65\x63\x23\x5b\xc4\xc8\x94\x68\xd1\x37\x67\xf5\x09\x43\xcf\x3f\x9d\xe0\xe6\x22\x43\xef\x10\x56\x46\xe8\x5e\x4f\x20\x96\xe9\x16\x39\x56\x01\x0c\x28\x3f\x3f\x31\x10\x64\x49\x9c\xdc\x7b\x10\xa9\xe0\x70\x88\x60\xab\x48\xd7\x79\xe6\x76\xef\xa0\x7d\xdc\x79\x79\x5c\xa0\x2c\xe0\xb7\xea\x0a\xb4\xb4\x8a\x31\xf9\x2e\x9b\xf3\x42\x93\x89\xa1\x35\xba\x02\x8d\xcd\x1b\x28\x0b\x70\xc9\xcb\xec\x57\x62\x95\xc1\xa8\x0b\xf3\xde\x64\xc9\xc4\xc2\xe2\x49\xc5\x49\x2f\x1f\xd6\x1b\x79\x15\xbe\x12\x60\xf4\x6a\xd8\x6e\x3b\x63\x68\x49\x5a\x58\x83\x5d\x97\x67\xb7\x64\x1b\xf1\x22\xcb\x74\xef\xb4\x79\x77\x78\xa7\x5b\x16\x61\x43\x96\xd5\x96\xa7\xb3\x1b\x58\xcb\x55\x79\x8c\x3d\x68\x67\x8a\x2c\x6a\xa7\xd7\xe9\xf4\x3a\x55\xd6\x02\xc6\x0e\xfd\xa3\xd7\xc1\x00\x19\x06\x53\xec\x7a\x26\x45\x4a\x21\xa6\xe8\x80\x29\x40\x26\xa2\x3b\x48\x08\xb8\x84\x8c\x3c\x18\x56\x70\x4d\x19\x7b\x26\xa5\x98\x94\x62\x53\xaa\x7a\x2c\x1a\x09\x62\x85\x68\x22\x1c\xca\x88\x97\x53\xcd\x97\xbd\x59\x95\xa3\xe6\x79\x73\xbd\x39\x2f\x56\xd7\x58\xa7\xf3\xef\x9a\x9e\x1b\xc9\xfd\x03\xa7\xb2\x0a\xd6\xd9\x76\x7f\xb6\x2b\x11\x4b\x2c\x88\x45\xe6\xd7\xc6\x12\xf9\x0e\x7f\xd6\x2c\x53\xb6\x55\xc5\xfd\x21\x37\x92\x3b\xed\x52\x9f\xae\xae\xa9\x2e\x92\x67\xa8\xb7\x9a\x79\x75\x4e\xf2\x1d\x26\x05\x7b\x2e\x1c\x73\x41\xd9\x7e\x2e\xc7\x97\xeb\x2a\xb1\x04\x72\x0d\xb9\x33\xaf\x70\xeb\xb4\x6c\xde\x04\xb7\xb6\xd2\xaf\x67\x18\x6f\x61\x41\x4e\x4e\x41\xa1\x97\x61\x0c\xfe\x31\x5a\xf7\x84\x3c\x56\xab\x73\x5d\x35\x23\xd7\x90\x1b\xb0\x16\xe7\xe7\xf8\x1d\xdc\xd5\xe5\xdb\xc6\x5c\xb9\x6d\x54\x1d\x58\xf4\x7f\x5a\x07\x46\x33\x18\x30\x48\xa9\x07\xc1\x80\xdf\xaa\x2d\xd0\x91\x7a\x70\xe9\xdc\xe7\xa7\x9a\x59\x0d\xa3\x2d\xd4\x58\xbd\x81\x20\xa9\x07\x57\x61\x15\x6f\xd4\x87\xf5\xde\xb1\x4a\x3d\x18\xeb\xd5\x47\xf4\x06\x83\x0a\xae\x02\x74\xc6\xcb\xb0\xdb\xce\xf0\x2d\x63\x79\xed\x70\x25\xa8\x8b\x4c\xf3\x4d\x9b\x77\x87\x38\x55\x6c\xc2\xc6\x6c\xa5\x12\x68\x79\xb9\x12\x94\xc9\x95\x40\xa3\x54\x02\xb5\xa5\x98\xb2\x53\xda\x51\xef\x02\x28\x98\x44\x16\x91\x56\x8f\x67\x94\xe1\x0f\xc7\x72\x3e\x86\xe5\x12\x50\x07\x09\x2a\x1e\x63\xc8\xfc\x89\x62\x03\xc4\x02\x98\x0d\xe2\x32\x88\x44\x23\xe1\x50\xdc\x8c\xc2\x21\x27\x23\xc4\x13\x74\x3c\x41\xa9\xd1\xf8\xee\xfa\xa8\xdd\x4e\x69\xc2\x82\x61\xc2\xd8\x66\x55\x59\xa7\x74\xaf\xf4\xd1\xc2\xdf\x97\x4d\x33\x1a\x26\x3e\x3a\xeb\xd2\xa6\xc7\x41\x00\xb5\x96\x65\x9f\x33\xb8\x52\x9f\x1c\x90\xd0\x15\x33\x2f\x6b\x2e\xd2\x01\x7b\xd5\xc9\x5e\x58\xf3\x12\x63\xa9\x8a\x4e\xa8\x8c\xf0\xe7\x61\x31\x3c\x71\x71\xa4\x7e\xfb\x96\x7a\x16\x05\x17\x4e\x98\x5c\x54\xc6\x9a\xbf\x0a\xe6\xd5\x89\x25\x6c\xfe\x8b\xfc\x7d\xd1\x8b\x8d\x4e\x8e\xcb\x69\x74\xf9\xf5\xf9\x22\xc5\xda\xb5\xd2\x9d\x79\x5c\xd6\x7c\x0c\xb9\x41\x8f\x09\x00\xd8\x38\xac\x85\x1a\x50\x1b\x3c\xa5\x93\x83\xc7\xe9\xa9\x1d\x17\xee\x1f\x3b\x73\xcb\x14\xf7\x08\x1e\xac\x09\xa8\x05\xb5\xa3\x65\x04\xdb\x66\xe5\x02\x02\x3b\xf2\xe3\x09\xc4\x39\x71\xe4\x27\x1a\x89\x0b\x81\xd8\xc8\x4f\x38\x24\x70\x71\xfb\x19\x9f\x08\xf6\x79\xc9\xe4\x43\xae\x0e\x3e\xb3\x85\xe0\xb2\x4d\x0a\x3c\x9b\x7c\x31\x45\xcc\x5f\xfa\x2c\x81\xb7\x8e\x97\xd4\x1d\x59\x51\x3b\x7d\x3a\x2f\x36\x89\xfc\xb4\x29\xf5\x2b\x8e\x54\x57\x3c\xf4\x56\xc0\xd2\xf7\x15\xc3\x7c\xfd\xb1\x9c\x20\x58\x7b\xeb\x8a\x71\x93\xa7\xea\x7d\x01\x51\x49\x71\x6b\x6d\xf0\xf8\x9b\x7e\x5b\xdf\x57\x8c\xf3\x88\xf4\xf7\x5b\xb7\xbc\x73\x64\xe1\xc2\x23\xef\x6c\xb9\x15\xf4\x47\x26\xa7\xd7\xa5\xd7\xe1\x6b\xf1\xaf\xd2\x35\xe9\x1a\xe6\x57\x69\xa2\x5f\x80\x53\xa5\xf9\xfc\xb4\xc9\x0d\x2b\x6e\xad\x2d\x7b\xe8\x6d\xbf\xfd\xb3\x6f\x58\xf6\xeb\x4f\x2c\x05\x6f\x3f\x54\x3c\xf6\xd6\xce\xf1\x93\xa6\xf3\x45\x1e\x6f\x11\x3f\x7d\xf2\xb8\xce\xa3\x72\x8a\x80\xa5\xef\x2f\x2c\xfb\xd5\xc7\x96\x82\xb7\x1e\x2a\xab\x3d\xda\x99\x98\x3e\x8d\xcf\x0f\xf6\x80\xe1\x48\xdb\x91\xf7\xb6\x6e\x79\xef\x48\xdb\x11\x30\x60\x67\x1a\x4b\x97\xc0\x0e\x2c\xc1\x8e\x1f\x7f\x03\xb7\x50\x71\xb8\x59\x5a\x3e\xf0\x12\xd5\x3a\x90\x92\x92\xd0\x4b\xa5\xa0\x77\x18\x67\x49\x6c\x89\x0a\x51\x0c\x21\x70\x73\x19\x3c\x8c\x60\x0f\x0f\x91\x29\xfb\xc3\xc0\xb3\x5c\x34\x46\x16\x22\x21\x6c\x01\x93\x3b\x16\x77\x9b\x22\x62\x20\xee\x04\x98\x85\xff\xcb\x91\x5e\xb1\xf6\xc8\x05\x6d\x42\x63\xe9\xde\x17\x5e\xa0\x3e\xfa\xa7\xe4\x14\xbc\xf1\x68\xd3\xac\xd5\x89\x63\x55\x56\xab\xf4\xe9\x67\x4f\x50\x73\x07\x3e\xf7\xab\xf0\x4f\x97\x36\x67\x2f\xbf\x88\x11\x27\xdd\xba\x76\x20\xbd\xe8\x90\x85\x99\xf4\xe2\x5e\x8a\xda\xfb\xe2\x7b\xa7\xbe\xad\x9d\xb3\xae\x69\x46\x85\x1b\xff\xd2\x71\x4b\x24\x1a\x8b\xe0\x0f\xd2\x8f\xc0\xb7\xfd\x77\xc7\xcd\x34\x3f\x67\x6f\xde\x38\xcf\x7f\xa1\x21\xae\xf7\x0c\x96\xcf\x8a\xdc\xa8\x14\x55\xa1\x56\xb4\x16\x6d\x45\xfb\xd1\x1f\x4f\x5b\x1b\x50\xd1\x88\x98\x61\x1f\x0c\xc5\xe2\xe7\x0e\x9c\xe9\x07\x36\x43\x93\x1d\x67\x6d\x56\xb3\x30\xcc\x2c\x37\x44\x35\x6a\x0e\xc8\x13\x32\x56\x9e\x84\xc5\x15\x46\xb5\x78\x4c\xe1\xa7\x23\x67\x67\x40\x7c\x43\x47\x48\x8b\xcc\x25\x80\xb1\x62\x8e\xa5\x0d\x43\xaa\x57\xc4\x8e\x3d\x40\x66\x24\xa4\xc5\x8a\x8b\x01\xd2\xfa\x92\x96\x8c\x22\x9d\xb8\x3c\xa3\xc3\xca\x68\x9d\x4c\xea\xe4\x86\x9d\x50\x52\x72\x76\x25\x82\x9a\xed\xa9\xf4\x78\x2a\x77\x16\xd6\x14\x14\xe6\x39\x0b\xef\x2b\xa8\x29\x2c\x74\xe6\x15\x3e\x50\x58\x53\x58\x58\x33\xe4\x80\x6e\xb6\xf4\xce\x83\x17\xbe\xb9\x7f\xa6\xad\x73\xe7\x56\x67\x6d\xa5\xd3\x15\xaf\x74\xba\xd6\xba\x9c\x95\xb9\x15\xfa\xee\x9d\x57\x4f\x32\x39\x17\xc5\x3e\x71\xce\x7a\xe8\xc0\xba\xa5\x7a\x69\x42\x72\x49\xb2\x6e\x59\x1d\xde\xdc\x78\xfd\x92\xa9\xfb\xe3\xe5\xad\xe7\x45\xe7\xfb\x4c\xe1\x28\xdd\x38\x07\x84\x71\x35\x63\xa4\xaf\x5b\xe9\xea\xe2\xcc\x05\xe2\x2e\x67\x65\x59\xe5\x82\xd5\xe7\xb7\xc5\x22\xeb\xc7\xbb\x02\xf3\x1b\x7b\xcb\xb3\xcc\xa5\x63\x57\xd7\x57\xdb\x2d\x02\xb6\x52\x1a\x47\x96\x71\xde\x8f\x57\x78\x73\xaa\xe7\xcd\xaa\x62\x74\x7a\x0b\x98\x44\xe3\x91\x82\x6c\x6f\x69\x7c\x01\xfd\xe5\x98\xb2\xb2\x31\x65\xa7\x66\x6f\x70\x16\x17\x3b\x37\x38\x4b\x4a\x9c\xff\xad\x0f\xbf\xdc\xf3\xc2\x8a\x7b\xfb\xb6\xb6\xcc\x7d\xf0\xed\xdb\xa4\x37\x96\x57\x85\xc8\x5f\x7e\x76\x3b\x58\xfe\xab\x91\xb5\xfc\x7d\xee\xf9\x3b\x0e\x1e\xfe\x60\x42\x39\x7e\x28\x34\x7d\x7a\x28\x3c\x7d\xba\xd4\xd7\xf1\xd3\xd5\x13\xaa\x8f\xae\xe9\xec\xb2\xb0\x95\x11\x87\xb5\xe1\x97\x1b\xd6\x49\x7f\xae\x4f\x1e\x71\xc0\x86\xe2\xa4\x72\xfe\xb8\xf2\x86\x66\xb0\xe4\x77\x70\xc1\xde\x0d\x95\x9d\x55\x57\xde\x72\xf1\xec\x48\x5e\x36\x65\x65\x0d\x41\xd1\xba\x6e\x37\x9d\xac\x62\x38\xc6\x64\xb0\x00\x9b\xa5\x63\x2d\x57\x7d\xe3\xac\x68\x1e\x39\x87\xcf\x46\x7e\x82\x12\x88\x04\xdc\xb6\xf0\x30\x80\x56\xc8\x8c\xc0\xc2\xa1\x98\x3f\x1c\xf5\x46\xbd\x36\xaf\x2d\x6c\x0b\x9f\xb1\xe7\x76\x88\x95\x0e\xbf\xab\xbb\xa8\x79\xe9\xde\xbd\x4b\xdb\x6a\x3a\x57\x1f\xea\xe9\xeb\xeb\xb9\xe3\x37\x30\x7f\xcd\x9a\xb5\x6b\xd7\xae\x05\xf3\xa8\x21\x04\xde\xe2\xce\xdf\xdd\x34\xff\x9a\xe7\xaf\xa9\x5e\xbe\xec\x63\xe9\xb9\x8f\x7f\xb7\x65\x2d\x49\x78\xfe\xe8\xd1\x81\xdc\x37\xf8\x33\xed\x65\x80\xa8\xd4\xc9\xb5\xd5\xe7\xf5\x70\x26\xaf\x29\x98\x21\x09\xb4\xb2\x04\xfd\x4c\x16\xde\x14\x16\x4b\x16\x55\x3c\x70\xfb\x64\xe9\xd3\x39\xb7\x9f\xe8\xa9\x6b\x4a\x3d\x9c\x6a\xaa\x7b\xfa\xc6\xa5\x4b\xf9\x5f\x46\xa6\xb6\x68\xaf\xb2\x3a\x44\x1a\x0d\x3c\x56\xce\x47\xaa\xcb\xa5\x07\x98\x96\xec\xee\x86\xd6\x54\xaa\xb5\xa1\x3b\xbb\xa1\xc4\x80\x0b\xcd\x58\x14\x95\xf1\xe9\x0c\xa2\xd3\xc1\xa0\x2a\x34\x17\x2d\x44\x07\x11\x32\x87\x62\xa2\x87\x65\x82\x4c\x40\x11\x89\xab\x83\x20\x66\xbd\x1e\x03\x78\x4d\xa1\x98\x93\x12\xc8\xe6\xb7\x3d\x16\xb7\xc7\x13\x10\x20\x5d\xb1\x28\x84\x4d\xde\x80\x58\x0c\x1e\x03\xb0\xf2\x50\xa6\x0e\x62\x4e\xe0\x9c\x8a\x7a\x19\x4d\xae\xa7\x74\xd6\xca\xc2\x09\x0f\x01\x1e\x82\x10\x80\xe1\xce\x3b\xc1\x56\x43\x48\x88\x55\x43\xc8\xc9\x0a\xee\x90\xfd\x86\x66\x97\xab\xd9\xc5\xaa\x35\x55\x8e\x90\x37\x68\xbf\x68\x56\x7f\x73\x15\x8c\x39\x6e\x1f\xe3\x6f\xd2\x2e\xac\xbf\xf5\x66\xc6\xa5\xcb\xe1\x6d\x2a\x28\xdc\xd8\x3d\xad\xac\x6a\x9d\x69\x4a\xd4\xea\xc2\x1a\x77\x71\x43\x3e\xb7\xbb\xa3\xed\x48\xfd\x8a\x3b\xe7\x57\xbd\x9e\x9b\x53\x7c\x59\xc9\xb3\xd9\x55\x7e\x8d\xb1\xd9\x9a\xb7\x4a\x1b\x01\x44\x2e\x0b\x2a\xd1\x21\x4d\xcb\x59\x3b\xc1\xbd\x28\x5e\x74\x51\x7d\xcd\xee\x0b\xd7\x95\x4b\x1f\x4b\x37\x11\x60\xd6\x1d\x7c\x7d\x5e\x75\x51\x4d\xd2\xb7\x79\xe9\xcc\x99\x4b\xef\xf4\x26\x2b\x62\xde\x70\x4e\x9c\x87\xa5\x0e\x11\x52\xc9\x64\x92\xd5\x4f\xf1\x24\x8b\x22\xc2\xde\x76\xba\x63\xfc\x43\x0d\x27\xb4\x5a\xc0\xf5\xb7\xa6\xfb\x00\x28\x56\xab\x92\xde\x5f\x57\x66\xad\xac\x62\x43\xe6\xb8\xa0\x29\x4a\x4e\xcf\xc2\xe8\xe7\x4d\xe3\xfe\xee\x9e\xed\x0e\xe3\xd0\x7b\x02\x15\xce\xb7\xb4\x64\xf9\xf6\x18\xea\xa7\x24\x93\x49\x8c\xd2\x29\x87\x38\x76\x96\xa6\x7c\x9c\x2e\x5a\x45\x7b\xb4\x81\x86\x32\x70\x88\x0e\xdc\xe3\x10\xf9\x86\xdc\x88\x90\xab\xad\xac\xd4\x99\x7c\x8e\x68\xfe\x58\xe3\xff\x47\xdd\x9b\x80\xc7\x51\x1c\x8b\xe3\x5d\xdd\x73\xec\x7d\x1f\x3a\x57\xf7\xae\x25\x4b\x2b\x69\x4f\xc9\x58\x92\x75\x1a\x7c\xca\x27\x60\xb0\xe5\xd5\xee\xac\xb4\xd6\x6a\x77\xbd\x87\x65\x39\x1c\x02\xc7\x98\x23\x98\x9b\x70\x63\xc2\xe9\x10\x5e\x42\x20\x10\x6e\x43\x12\x20\x24\x24\x0e\xf7\x83\x84\x00\x21\xc9\xcb\x05\x4e\x42\xf2\x02\x58\xe3\xff\xd7\x33\x23\x59\xb2\x4d\x92\xf7\x7e\xdf\xef\xfb\xfe\x3f\x83\xba\xab\x7b\xa6\xba\xba\xab\x6a\xab\x7b\x66\xaa\xbb\xdc\xf3\x7c\x2e\xea\xa4\x55\xc4\xb1\x05\x50\xb8\x93\x0b\x77\x12\x9f\x0b\x3b\x5d\x9c\xd3\x01\xb5\xb2\x77\x02\xf0\x1c\x6f\x20\xd5\x5e\x2c\x79\x66\xc8\x4e\x0c\xac\x8b\xf1\x75\x12\x1e\x6d\xe9\xf9\x6c\x49\xcf\x16\xad\xaa\xd3\x3e\x30\xb0\xeb\xee\x14\x3b\xd4\x32\xb8\x68\xd0\x77\x36\x97\xba\x7b\xd7\xc0\x80\xbd\x53\xa5\x9d\xfe\x31\xf0\x6b\xb5\x44\xe5\x56\x95\x68\x7f\x9b\x61\xb7\xb4\x0e\x2e\x1a\x6c\xdd\xc2\x3e\x7e\xab\xb6\x44\xe5\x56\x11\xed\x5a\xe0\x35\x83\xbe\x55\x2b\x97\xad\x5c\xd3\xb2\x96\x64\x8f\x78\xa5\x90\x2c\xaf\x18\xd5\x7c\xd8\xbc\x28\xb8\x79\x72\x90\x39\xb5\xaa\xae\xae\x7a\x80\x1d\x9c\xdc\x1c\x5c\x64\x0e\xf3\xea\xe9\xfb\x9e\xe9\x50\x15\x6b\x03\x5a\xa2\x3a\xb0\x86\xd0\xab\x55\xa7\x92\x8b\xf2\x2a\xa2\x0d\x68\x8b\x55\x1d\xcf\xa8\x16\x57\x37\x39\x1c\xcd\x95\x5d\xf3\xfd\x1e\x5b\xd1\x20\x7d\x02\x07\xe5\x0c\x18\x03\x59\x88\xe9\x90\xa4\x93\x2c\x94\x88\x80\x2e\x72\x0a\xf6\x75\xe2\x70\x6d\x38\xe4\xb0\x9a\xdd\x1e\x77\x9d\x97\xde\x25\x7d\x6a\xe7\x39\xfe\xc4\x08\x04\xe1\x10\x0a\x77\x52\x24\xca\x31\xec\x74\xb0\xcf\x79\x54\x44\xb3\xf0\xde\xf3\x18\x4f\xc3\xea\x65\x75\x00\x75\xcb\x56\x35\xba\xd9\x9d\xf7\x7a\xb4\x44\x55\xa7\x2a\xd5\x6e\x79\x8d\x5d\xd9\xd8\x5f\x04\x50\xd4\xdf\xb8\x92\x05\x1c\xd6\x96\x3c\xbf\xa9\xff\x2c\xf1\x0d\x32\xd8\x30\x40\xab\x07\x1a\x06\xc9\x9b\x3f\x5c\x14\x34\xf0\x56\x3d\x2b\x47\x1b\xa0\x0c\xae\xff\x12\x3c\xcf\xd5\x7a\x57\x2e\xa7\x6d\x2e\x5f\xe9\xad\x5d\xf8\xc1\x07\x67\xd4\xe3\xb4\x5f\x5b\xac\xaa\xbe\x20\x42\x2a\x2b\x7d\x4e\xa7\xaf\xaa\x82\xd9\x7c\x81\x4b\xe2\x0d\xa3\x3e\xed\x4e\xa6\xb3\xa2\xba\xba\xa2\x93\x79\xbe\x51\x45\xa6\xdd\x64\xff\xba\xb6\x65\xbf\xc1\x3d\xae\x9a\x1a\x57\x0f\xbe\xe7\xf6\x56\x9f\x8e\x3f\xb2\x55\x6f\xb5\x92\x07\x8e\x48\xbb\x69\xc9\xfe\x36\x77\x16\x22\xac\xab\xa6\xb5\xa8\xa8\xb5\xc6\x55\xfb\x8d\x47\xd6\x52\x75\x41\x5a\x64\x3f\x8a\xd8\x3f\xcc\xd9\xdf\x51\x82\x5c\xa8\x1a\xb9\x91\x17\xf9\xd0\x0e\x84\xea\x9c\xcd\x00\x75\x1e\x16\x9c\xc4\x03\x75\x84\x05\x67\x33\xd8\x1c\x9c\x11\x9c\x0e\x60\x49\x1d\x84\x79\xa7\x54\x1d\xf6\xf0\x92\x1f\x46\xd8\x88\x3d\xbc\xcd\x08\x5c\x33\x38\xa5\x9d\x0a\xee\xa0\xc7\x4d\xdc\x5d\xe0\xf6\xcc\xa4\xe1\x3a\x9f\x93\x75\xd8\xad\xd2\x46\x6f\xbb\x33\x1c\xaa\x80\x70\xa0\x0b\xa4\xa3\x36\xe8\x83\xac\x11\x38\x58\xf6\x52\xf5\x5b\x60\x01\x8b\x56\x7c\x4d\xfc\xe8\x57\x2d\x7f\x83\xc5\xd0\x61\x10\xf7\xc3\xe5\x43\x78\x04\x63\x66\xd5\x06\x7e\xba\x0b\x50\x9f\xf8\x3b\x26\x6e\xfc\x0d\x9e\x7e\x1f\x0a\x56\xf1\x4c\x72\x93\xed\x03\x7c\x25\x87\x79\xc0\xae\x87\x6c\xd6\xa5\x2a\xe6\xf7\x3c\x3f\xcc\x33\xe2\x3b\x0c\x56\x7d\xc8\x84\x31\xdf\xb1\x05\x4e\xc5\xaa\x2d\x7b\xf0\x56\xac\x86\x07\x59\x02\x1d\x9c\x8d\xdb\x71\x1e\xcb\x4e\xb2\xdc\x7a\xc2\xfe\x84\x63\xff\xc6\x60\xa3\x8d\x79\x86\x83\x37\xfe\xf8\xba\xe8\x7f\xfb\x6f\x6f\xc2\x45\xaf\xc3\xd2\x1f\x4f\x7f\xf0\x06\xf4\xbd\x28\xde\x39\xf8\xf1\x6a\x30\xaa\x49\x60\x80\xc3\xb7\xbd\x08\x3f\x7b\xe0\xf3\x87\x7e\x7f\xd7\x61\xbc\xfd\x39\x78\xec\xce\x23\x4f\xfc\x6e\x5f\x62\x88\x61\x27\xce\x7e\x77\xea\xc3\xaa\xd6\x02\x4b\x9e\x60\xd9\x75\x77\xb0\xe4\xf7\x18\xc3\x5f\x18\x30\xf3\x4c\xdd\x46\x0e\x86\x78\xb6\x29\xa6\x82\x57\x34\x64\x2f\xdc\xc8\xb0\x62\x2b\x4f\x3a\x36\x60\xee\x4b\xcb\x18\xa6\x2d\xc5\x91\xf3\x08\xd9\xcb\x70\xd9\xbd\x84\xc5\x37\xb2\x73\xd7\x70\xe5\xc8\x83\x36\x48\x6f\x4d\x49\x8d\x81\xa1\x0f\x7e\xd5\xf2\xdb\xd0\x2a\x5f\x88\x1c\x5b\xac\xd8\x95\x23\x12\xe6\xc7\xdc\x3a\x76\x78\xc2\x3c\x88\x79\x50\x5b\xd1\x32\xe8\xe7\xc2\x2e\x7f\xb3\xb7\xd9\xef\x0a\x73\xfe\xc1\x96\x0a\xed\xfa\x0e\xbc\xa4\x63\xfd\x03\x37\xbe\x71\xe3\x8d\x6f\xdc\x88\xcf\xb1\x18\xb6\x6e\xe9\xf9\x7c\x89\x14\x31\xe3\x60\xcf\x16\x39\x2e\xd8\x6c\x0a\x0d\xed\x31\x61\x69\x13\x53\x65\x2a\xd2\x68\x8a\x4c\x55\x4c\xd3\x52\x21\xd6\x7e\x5a\x24\x82\x6f\x4e\xde\x70\x43\x72\xec\x86\x1b\xc4\xd5\x07\x0d\x96\xf7\x28\x3a\x2b\x85\xdd\x78\x4f\xf2\xf4\x9e\x52\x52\xe5\x7b\x82\x34\x46\x35\x5a\x88\xce\x44\x09\x69\xff\x9c\xe2\x05\x42\x7c\x2e\x66\x66\x38\x81\x4e\x72\x0a\xb8\x58\x5f\x27\x73\x92\xb1\xcc\x1e\x0e\x71\xc2\xc8\xed\x27\xc4\x68\x63\xe4\xa1\xb5\x78\x4f\x6b\xae\x34\xf1\xab\x7b\xa6\x0f\xf6\xac\x56\x97\x35\xad\x09\xb2\xbc\xcf\xde\x54\x5e\xef\xae\x2f\x6f\xb2\xfb\xf0\x43\x56\xfd\x56\x29\x80\xb2\x92\xce\xe3\x82\xde\x7a\x14\x59\xf5\x9f\x4b\x51\x45\x98\x83\x7a\x2b\x39\x67\xec\x86\x1b\xc6\x92\x37\xdc\x20\x7e\xb7\xba\xe3\xb4\x33\x57\xd4\xf7\x8e\x8c\xf4\xb6\x9c\xb5\x6d\x65\x80\xa9\xd0\x3a\xd5\x6a\xb5\xda\xa9\xad\x00\x46\x6f\x9d\x92\x22\x33\xcb\xe9\x5c\xae\xd0\xc6\x58\xe9\x68\x9f\xcf\x68\xa3\x4a\x9c\x1c\x95\xbc\x26\xa9\x42\xad\xa8\x1b\xad\x41\x05\x84\x50\xc0\x8b\x67\x35\x00\x4b\x23\xc2\x33\xc1\xb2\x95\x70\x29\x33\xe7\x71\x9b\xff\x45\x59\x9e\x1e\x82\xf2\xa1\x01\xd2\x56\xb7\x19\x68\xce\x9b\x23\x64\xa9\x1f\x6c\xe7\x5a\x4a\x1b\x1b\x1a\x1a\x1a\x4b\x5b\xb8\xf6\xc1\x7a\xcb\xb2\x10\x46\xa1\x75\x7b\x9e\xdc\xb3\xe7\x49\xa6\x7a\xae\x2b\xbd\xdd\x38\xfd\xa2\xd1\x6e\x37\xe2\x36\xa3\x7d\x9e\x8b\x3d\xda\xd2\x23\xee\x9f\x7b\x00\x87\x28\x85\x66\xe1\x0e\xf6\x6c\x81\x0d\x53\x63\xd1\x76\xa6\xcc\x68\x53\xab\x6d\xc6\x32\xa6\x3d\x3a\x36\xb5\x01\x77\xd1\xc6\xf7\x88\xbf\x99\x3d\x80\x02\x2c\x6d\xb4\x65\x9a\x80\xf6\x58\xed\x2a\x2a\x93\xb9\x3a\x29\xcb\x67\x8b\x1c\x1b\xf0\x44\xfe\xed\x91\x9e\x24\xa8\x92\x04\x3a\xb1\x5f\x9a\xea\xc2\x3e\x17\xe0\x99\xef\xc9\xc7\x9d\xc7\x11\xfc\x17\x65\xeb\x3c\xdd\x3a\xc9\x11\x0b\x27\x89\x6b\xc3\xa0\x65\x21\x11\x85\x96\x9d\xc8\xd8\xcb\xfe\x07\x2c\x9d\xb2\xea\x3f\x5d\x22\xc7\xfa\x9e\x7b\x3e\x03\x6c\x95\x66\x96\x4f\x97\xcc\xb2\xf7\xf5\xa9\x0d\x27\x70\x18\x9e\x90\xd8\x3b\xbd\x75\x96\x91\x1f\xcd\x72\xf7\x6f\xb3\x75\x47\x7c\x8c\xa4\x90\x54\xcb\xe7\xb2\xd8\xca\xbc\x7c\xec\x97\xb0\x05\x1d\x17\xdb\xc7\x89\x16\x20\x54\x27\x1d\x42\x5a\x2d\x07\xc9\x95\xd6\xc8\xf2\xa1\x92\xc8\x34\x73\x32\xe3\x8c\x8b\xe3\x5f\x1d\xbb\x27\x7a\x1f\xfb\xc9\x63\xbd\x13\xbb\x1d\xdb\x60\x19\x9c\x07\xcb\x2e\x51\xbc\x8d\xf1\xfb\xfb\x3e\x16\x1f\x7e\xf4\x91\x79\x0e\x83\x3f\xb8\xf9\x65\xd3\xb2\x75\xeb\x96\x99\x5e\xbe\xf9\xfa\x6f\x7e\x13\x7f\x5b\x8e\x06\xfe\x3e\x84\xc4\x6b\xc5\xef\xfc\xf9\x38\xc7\xc2\x63\xfd\x32\xa1\x5a\xd4\x28\xed\xd5\x70\x58\xec\xb6\x63\x6e\x96\x10\x0a\x06\x94\xc3\x03\xed\x36\xa7\xc5\xef\xa8\x0c\xfb\xdc\x4a\x67\xf1\x4b\x72\x4b\x97\x1f\x16\x1f\x16\xaf\x16\x1f\xfe\x78\xdf\xbe\xc3\xcc\xf8\x75\xc7\xdc\x1a\xaf\xeb\x39\xbc\x1b\x92\xbb\x0f\x1f\x50\x3a\xcc\xa1\x7d\x87\xc5\x87\x1f\xf9\x8e\xf8\xf0\xe1\x2b\xf6\xfd\x19\x96\x4b\xe8\x9f\x2f\x7d\xf9\xb3\x5b\x64\x5f\x4b\xf1\xc3\x5b\x3e\x7b\x19\x96\x4e\x4d\xdd\xa1\xf4\x7a\x7e\x3c\x96\x0a\x79\xb7\x0d\xcc\x33\x79\xe1\x19\x07\x06\xbb\x0d\x49\xbd\x0a\x99\xac\x3e\xda\x69\x0f\x57\xe9\xe1\xa4\xaf\x88\xcc\x83\xcd\x1b\x36\xf7\x34\xbe\x78\xf9\x91\xaf\x5f\xfe\x62\x63\xcf\xe6\x0d\xcd\xab\xd7\x5c\xfa\xd4\xa1\xa7\x2e\x5d\x23\xde\xae\xf8\x62\x2f\x3c\xe3\xdc\x5b\xaf\xb9\x4a\xbc\xf0\xaa\x6b\x6e\x3d\xf7\x0c\x7c\xd8\xd0\x32\xbc\xe7\xd5\xdd\x37\xbd\xf3\xce\x4d\xbb\x5f\xdd\x33\xdc\x62\x38\xf7\x9a\xd1\xa7\x2e\x5d\xb3\xe6\xd2\xa7\x46\xaf\xc1\x56\x65\x30\x9f\xbd\x7f\x45\xfc\x63\xb0\xf1\xe7\x9f\xcf\x8b\x7f\xfc\x38\x7e\xc5\xec\x79\xd3\xac\x7c\xde\x42\x31\xaa\x41\x1d\xf3\x7e\x4d\x0e\xdf\xbc\x9f\x92\xb9\xea\xa4\x81\x9d\x66\xa3\x69\xce\xfb\x29\xac\x69\x1b\x7c\x6b\xb0\x6d\x4d\xfd\xc5\x7b\x9f\xde\xbb\xf7\x69\xb8\xe3\x08\xb2\xea\x89\xbc\x4a\x3a\x22\xe9\x1a\x55\xf3\x83\x54\xbf\x7b\xb6\xc0\xc6\xa9\x8d\x1b\xa7\x92\xb1\xf6\xe5\xcb\xdb\x63\xf0\x98\xa4\xca\x9f\xef\x67\xb7\x7e\xb6\x5f\x6f\xb5\xb2\x2f\x7f\xb6\x64\xc6\xac\x2a\x16\x01\x21\xd5\xac\x2d\xb0\xa2\x52\xb4\x10\x9d\x82\x96\xa3\xb3\x90\x40\xed\xa9\xf4\x1d\x92\xab\xf6\xc8\x9f\xab\x69\x77\xbf\xc8\x9c\x1e\x5f\xae\x9b\xb5\x97\xf2\x88\x4e\x30\xaf\xb3\x51\xe3\xab\x8e\xff\x76\x3b\x65\xac\xee\x6b\x5e\xf2\xdd\x25\xcd\x7d\xd5\xc6\xae\x46\xf8\x7a\x63\xd7\x94\xe4\x0a\xc3\x64\x2c\x86\x69\x39\xd0\xe5\x41\x83\x45\x9c\x9a\xd9\x1c\x09\xd2\xa1\x2b\xca\x16\x29\x79\xcb\xd4\xec\x5d\x9f\x4e\xf1\xc8\x62\xf8\x74\x89\xc1\xc2\xcf\xff\xe1\xf7\x85\x36\x9f\xee\x5b\xb2\xc4\x77\xfa\xe6\x50\x78\xe5\x4a\xb8\x53\xf2\xb5\x11\xdf\x3b\x66\x3b\x67\xcf\x73\x99\x93\xcc\xa9\x84\x94\xc4\xbf\xb9\x3f\xf5\x7f\xc6\xc7\x59\x95\x55\x14\x01\x7f\x91\x4d\xad\x3b\xae\xcc\x1e\xe7\x01\x7b\xa2\x8d\x3d\xb9\x22\x51\x3e\x76\x35\x8a\x1b\x1b\xbb\xe6\x70\xf3\x7f\xcf\xc7\xa9\x4f\x91\x55\xcf\x1d\x3c\xde\x7c\xf6\x85\x57\xae\x0c\xcf\x72\x12\xde\x90\xb8\x38\x7d\xec\x60\xa4\xbf\x9c\x84\x89\xc7\xea\x8e\x7c\x9b\xd9\xfa\x39\x55\xcb\xf9\x26\x13\x4b\x67\x94\x7d\xc0\x21\x54\x22\x45\x67\x34\xe1\x9a\x6a\x6c\x36\x59\xfc\xbe\xb0\x97\x91\x9c\x9c\xa5\x37\x53\xe0\x77\x18\x48\x0d\x7d\x96\xe1\xe4\xd3\x6c\x03\x96\x50\xad\xbc\x25\x12\xf3\x92\x87\x0d\xf3\xdb\x57\xde\x7f\xf7\xd0\xa1\x77\x97\xb5\x3b\xaa\x43\xc1\xd3\xea\xbd\x55\xad\x89\xfb\xbf\x7c\x6f\x6f\x2f\x5c\x54\x20\x9a\x85\xa7\x5d\x7e\xf6\xd2\x89\xb3\x7b\xaa\x22\xc9\xeb\xc5\x5f\xfd\x62\xef\xde\x77\xa1\xfc\xba\xc9\x3f\xbc\x70\xe3\xc6\x3b\x2e\x6d\xde\xbc\xa8\xa3\x07\xff\x09\x3a\xa1\x5d\x7c\x5e\xfc\x9e\xf8\x7d\xf1\x87\xe6\x85\x8b\x07\x16\x96\x9b\x22\x67\x25\x85\xeb\xc4\x3d\xa5\x83\xa9\xb3\xba\xdd\xcb\xd6\x86\x4b\xf3\x3f\x84\xfa\x03\x5f\x87\x85\x2f\xe5\x4f\xfd\xca\x53\x9f\x5e\xf2\xb4\xf8\x83\xb1\x81\xd3\x96\xcf\xd8\x03\x41\x8d\xd8\x9b\x51\x25\xf2\xa2\x1b\xd1\x33\xd2\x1e\x4f\xc9\x6d\x0a\x9b\x4d\x56\xe9\x35\x84\xf2\x92\xde\x24\xf9\xfc\xd7\xcd\xee\x7c\x95\xe4\x67\x3b\xe6\x26\x31\x73\xaa\x9e\xdd\x26\x9f\xbe\x17\x0c\x84\xe6\x3a\x44\xd8\xa5\x8f\xff\xb2\xf7\xa4\xdd\x26\x39\xfd\x28\x3e\x13\xd2\x2b\x36\xbf\xcf\xe9\x62\x9c\x36\x17\x2b\x79\x96\xb8\xa5\x32\xb0\xa6\x63\xfe\x03\xe1\x90\x59\x8a\x2f\xe4\x65\xe5\x6f\x6a\x0e\x8b\xd3\x01\x3f\xa8\xb4\x83\xae\x2b\xfa\xfe\xeb\x9e\x8c\xdb\x5a\xd9\x35\xdc\x3a\xf1\x25\xdf\x46\x5c\x6c\xb0\xa9\xd9\xae\x9a\xf2\xcf\x5f\x28\x71\xd7\x94\x33\xed\x25\xee\x37\x7b\x8b\xcf\xf4\x98\xb4\xbc\xc9\xed\x75\xd7\x94\x9b\x89\x71\xa1\xb3\x87\x68\xf4\x8b\x1c\x2c\x43\x2a\xdd\xa1\xa0\xbb\xa1\xdc\x67\x02\xb0\x70\xa5\x13\x37\xb4\x2e\x1d\x68\x2d\x2e\x2f\xb5\xd6\xfb\x16\xd7\x2f\xf6\x94\x99\x54\x1c\x51\x69\x74\x66\x8d\xb3\x6c\x81\xa6\xb4\xe7\xd4\x0e\xfc\xea\xa5\xd6\x45\xab\xd6\x57\x9a\x5c\x8b\x56\xab\x1f\xad\x0f\x2c\x4a\x60\x87\xd6\xaa\x55\x55\x5a\x07\xce\x1b\xde\xaa\xc3\x82\xbd\x8a\x18\xcf\x85\x32\xb8\x18\x36\x80\xd9\x9f\x28\xb5\x96\x76\xc5\xd7\xbe\xf0\x99\xf8\xdb\x57\x36\x9c\x41\x4a\x4c\xc5\x8e\x73\xca\x3d\xee\x92\x72\x8f\x1b\x9f\x76\x51\xd4\xbd\xc6\xa6\xd1\x71\xea\x06\xdf\x06\xef\x8a\x50\x03\xab\x6b\xd6\x3b\x4a\x56\x18\x17\x19\x8b\xed\xc5\xed\xc0\x30\xb8\xc5\x55\xd7\xe9\xf5\x76\xd6\x0d\x77\x2e\xb4\xb1\x2c\x26\x26\xed\xc2\x67\x77\x85\x27\xc7\x93\x13\x81\x60\x7d\x8b\x49\xad\xb3\x95\x5b\xfd\xfe\x65\x4b\x5a\xa0\xca\x5c\x65\x77\x68\xcb\x9c\xc5\xeb\x6d\x03\x2b\xf6\xef\x15\x3f\xfa\x75\xe5\xe0\xe6\x8e\x0a\x93\x71\xe9\x3a\xed\x6f\xa0\x69\xf7\xa1\xb1\x89\x71\x62\xd7\x39\xcd\x36\xb5\xb5\xea\xc0\x6e\xf1\xc3\x6f\x34\xcc\x7d\xdf\x50\x24\xcd\xfa\xd6\x90\x9b\x07\x03\x38\x2a\x00\x42\x4e\x07\x0f\xed\xc0\xfb\xba\xc0\xe9\x38\x61\x13\xf6\xdd\xd7\xa8\x3d\x95\x47\xf6\x97\xdb\x4d\x45\xbf\xc0\x60\xd7\xf2\x5a\x31\x62\x72\x3a\x92\xef\x2d\xc1\xc9\x93\xec\x47\xf8\x35\xfe\x4e\xa3\x5b\x27\x3e\xa4\x2d\x2b\xe6\xfb\xa1\xd7\xa0\x62\x35\xe2\x25\x1f\x3a\x46\xef\xae\xc5\x37\x9f\x6c\x43\x01\x37\x7b\xb6\x93\x5e\xfa\x92\xec\x97\xe2\xa0\x22\xc5\xf7\x2f\x14\x36\xfb\xcd\x2e\x70\x06\xdc\x1e\x65\xe3\xa0\xa4\x62\x95\xa1\xb0\x4d\x3a\x27\x3c\x2c\x6d\x84\xb4\x9b\x1d\x56\x65\xe7\x0d\xfd\xc3\xd4\xb2\x0c\x2c\x9a\x5a\x34\x30\xd5\xb7\x38\xb3\x3f\xb3\xb8\xef\x09\xd0\x3c\x31\x25\x3b\xf9\x4d\x49\xf0\xd4\x41\xe9\xdf\x60\x26\x33\xb8\x38\x66\x27\x97\x1d\x29\xd8\x63\x8b\x57\x5e\xd4\x44\x10\xad\x9a\x46\x4d\x17\xad\xdc\xf3\xc4\x13\x7b\x1e\x13\x3f\x05\xfe\xb1\x47\x76\xe3\x17\x68\x69\xba\x7d\x37\x5c\x2a\x6f\xae\x91\x36\xd8\xfc\xff\xa2\xef\xf8\xb2\xe9\xff\x67\xfb\x0e\x97\x89\xff\x57\xfa\x1e\xf4\xdb\xff\xaf\xf7\xfd\xb2\xcb\xfe\x37\x3d\x9f\xdb\x77\xb5\x34\x2f\xcb\xbd\x9f\xed\xbb\xcf\xf1\xbf\xe8\x77\x66\x7f\xe6\xdf\xe9\xf5\xea\xed\xdb\x57\xff\x8f\x7b\x6c\x9a\x8d\xc1\xe4\x46\x5e\xe9\xb4\xfa\x01\xb4\x0a\x6d\x44\x5b\x50\x1c\xa5\xd0\x0e\x74\x1e\xba\x08\xed\x43\xd7\xa3\xdb\xe4\x13\x2f\x60\xe6\xac\x40\x2f\x84\xe5\xd8\x72\x55\x66\xe5\x20\x95\x90\xc3\x19\x0e\xf9\x9c\x58\x39\x92\x9a\x51\xf6\x01\x85\x66\xca\x33\x79\x40\xae\xa9\x3d\xbe\xfe\xf8\xfb\xbf\x00\x7f\x06\x8f\x3b\x2e\x67\x6f\xd4\x68\xa6\xf7\x69\x4a\x34\x6b\x35\x9a\xc6\x53\xad\x6d\xcb\xe2\xdb\xae\x3f\x8a\xe8\x42\x7a\xdb\xd3\x4b\xb7\xfc\x64\x6d\xa3\xa6\x44\x53\x25\x3b\xea\x6e\x92\x32\xd9\x91\x77\xfa\x1e\xc5\x79\x57\xf6\x08\x46\xf3\x2a\xe7\xde\x28\xbe\x3d\xb7\xa0\xdc\x20\xef\x40\xde\x34\x27\x65\x79\x4d\x09\xed\x87\x66\xad\xa6\x44\xd3\x78\xd6\x7f\x45\x97\x5e\xbf\xed\x73\xc4\x22\xba\xaa\x5f\xbb\xcc\x53\xde\xdd\xa8\xd1\x88\xf7\x4a\x78\x9b\x4e\x48\x03\x52\x13\x53\x5f\x70\xf5\xed\x13\x6a\xdc\x27\xd4\x20\xf3\x9c\xb3\xfa\xea\x50\x93\x14\x31\xb5\x1f\xad\x44\xe7\xa2\x3d\xe8\x72\x74\x1d\xba\x15\xdd\x8d\x1e\x40\xdf\x41\x4f\xa1\x1f\x48\x3b\x9e\x8e\x05\xdb\x97\x36\xaa\xcf\x96\xdc\x1d\x80\x8e\xf3\xf6\x76\x2b\xb9\xe3\xb8\xb2\xfb\x24\xab\xcb\x53\x40\x89\x87\xe7\x90\x5e\x2b\x3a\x78\xe0\x9a\xc1\x3d\x57\x6d\x7c\x0e\xf4\x05\xed\x7c\x51\xfb\xc7\xd7\xcf\x94\xb9\x29\xf9\x70\xc4\xae\xee\x69\xd4\xdd\x65\xd5\x2f\xd1\x5b\xa7\xf0\x12\x4b\x99\xc5\x52\xb6\x56\x4a\xbd\x52\x7a\xf5\x1c\x58\x4e\x99\xb5\xf2\x6a\xdd\x62\xd8\x7a\xfd\xb6\xe4\x0a\xef\x68\xbd\x43\xab\x6d\xd0\x6a\xc5\xe7\xa5\xcc\x51\xab\x2e\xab\xf3\x07\x97\xb3\xef\x19\x2c\x47\xa6\x4e\xc0\x7e\xe5\x9f\xd6\xc8\xd4\xe0\xe0\xc1\x03\x85\xe7\x28\x85\x1d\x0e\x47\xca\xec\x74\x9a\x1f\x2f\x1c\x38\x08\xff\x41\xaf\x59\xbc\x73\x52\xcb\x09\x35\xd3\xb3\x8f\x07\x78\x6a\xdb\xf5\xab\xac\x86\xca\xf9\x9d\xf3\xe6\x7d\x35\xcb\x83\xd3\x53\x16\x38\x78\x02\xee\xda\x7f\x5a\x23\xff\x2f\xad\x19\x81\x3e\xef\xb2\x22\xd2\xa3\x25\xe8\x54\xb4\x5d\xf6\xf1\xe2\xb9\x4a\x79\x29\x57\x09\x36\xc4\x73\xd2\x59\xc9\xf4\x3f\x4b\x30\x80\x6b\x79\x03\x91\x56\x6c\x74\x0d\x09\x4e\x07\xe7\xf1\x02\x0e\x87\x2c\xa1\xda\x70\x88\x71\x58\x66\xb7\x55\xd8\xe4\xb3\xf2\x3c\x6e\x69\xc3\x9c\x57\x76\xc2\x95\xf6\x83\xf1\x06\x90\xfc\xc1\x71\x38\xe4\x02\xf2\x81\xb9\xa2\xc8\x21\x1e\x71\x14\x55\x98\xe1\x20\x76\x89\x9f\xbc\xa5\x32\x00\x4f\x18\x0c\xaa\xdb\x9f\x7d\x44\x7c\xf1\x3b\xe7\x7c\x70\xc7\x10\xc0\xf7\x6f\xe7\x31\x21\xa0\xc2\x60\x54\x5d\xfb\xc1\xa4\x8a\xdf\xf1\x0c\x90\x2b\xee\x82\xe6\x77\x76\x4f\x7f\xb0\xfb\xf1\xdd\xbb\x1f\x87\x3b\xc7\x36\xab\x4c\x98\x73\xf2\x9a\x45\x3d\x85\xe7\xb7\xef\x39\xa8\xd7\xf4\x76\x6b\xf8\x22\x16\x9b\x54\x43\x63\x98\x7c\xf9\xdd\x0b\xaf\xfc\xc7\x55\x70\xc6\xc6\xf4\x9b\xc3\x9b\x36\x0d\xbf\x99\x3a\xfd\x3e\x40\x87\xc5\x73\x36\x12\x9d\xba\xc5\x52\x69\x54\x93\x35\xe0\xfb\xee\xc3\xd0\x74\x9f\x86\x4f\x3e\xf0\xdb\x73\xbf\x2b\xfe\x74\x35\x51\xdb\x8b\xd4\xcd\x3a\xb5\x8e\x59\xf4\x4b\x68\xbd\xf7\x0a\x60\x9f\xdd\xa5\xd6\x6c\x3f\x24\xbe\x53\x47\x69\xee\x3e\x8a\x76\xbd\xbe\x94\x53\x69\x02\x0b\x34\x9a\xd0\xd5\x6b\xd3\x8f\x47\x74\xc6\xef\xef\x39\xfb\xbe\xc5\x1a\x4d\x7d\x40\xad\xe2\x96\xbd\x7d\xee\xee\x0f\x2e\xe1\xf8\x8b\xfe\xac\x9c\x4d\x2e\xef\x2b\xb6\x22\x54\x27\x45\x73\x3f\x2e\xca\x32\x62\xd1\xe7\x88\x53\x3e\xf7\xc8\xcf\xcd\x53\x04\xc1\xd6\xb9\xcf\x2b\x20\xb7\x03\x53\xc8\x88\xd0\xf1\xcf\x6f\xfc\x3c\xdc\xf7\xa4\xd7\x99\xca\x8b\x21\x32\x7b\xbe\x03\x41\x3a\xe4\x46\xa8\x1e\xcc\xf5\xd8\x5c\x65\x96\xdf\xcb\x2a\x51\xb8\x8e\x75\x67\xb6\x4f\x04\x4d\x23\x06\x61\x34\x8d\xb6\xf6\x6c\x21\x68\x4b\xcf\xf4\xfe\x99\x17\x01\x78\xab\x7c\xc8\x39\x46\x04\x1d\x45\x5b\x7a\x30\xa2\xf5\xe2\x6c\xc0\x7f\xd8\x2a\xd3\x3e\x36\xf6\x1a\xe4\x47\xa8\x2e\x1c\x0a\x34\x83\x94\xb8\xab\x8d\xe0\x71\x4b\xdf\x22\x2b\x60\x36\x0a\x8a\xd3\xe1\x3b\x9e\x37\xcc\x57\xaf\xd6\x68\x7e\xf7\x3b\x8d\xe6\x6a\x4d\x09\xcd\x4b\x34\xc7\x95\x71\x6e\xee\xd0\xdf\xfc\xa2\xdb\x94\x32\x63\x9d\xcb\x53\x32\xa7\x7f\xf2\x7b\x9f\x7f\xfb\x5c\xdc\xe3\x7a\xf9\x3b\x4a\xe7\xc0\x01\x99\xce\x81\x03\x32\xdd\x39\xe5\x23\xfa\x13\x45\x0c\x07\x4e\x7e\xef\x6c\x59\x7c\x99\x41\x5b\xe7\x3f\xb3\xce\xd8\x78\x49\x97\xd4\x50\x05\x27\x2c\xeb\xbd\xe0\x9b\xce\x8a\x3f\x61\xb7\x9e\x64\x0d\x0f\x71\x1c\x98\xfe\x31\x1c\x3a\xd9\x7a\x9d\x97\xda\xc6\x92\xef\x87\x15\xd5\x20\x2f\xea\x45\xdf\x47\xaf\x21\x04\x6e\x03\x38\x1d\x9d\xc0\x72\xf2\xd6\x38\x9f\xd3\x61\x73\xce\xb2\x48\x66\x8c\x67\xe6\x9a\xc3\x56\x27\xfd\xcc\xa5\xa8\x3d\xbc\x01\xac\x21\xe9\x13\x20\xdf\x09\x15\x10\xf2\x74\x82\x14\x47\x24\xe4\xf6\xb8\xa9\x39\x70\x81\xd3\x0b\x1e\x77\xd8\xed\xa9\x96\xbc\xab\xe8\xb3\x26\xc7\x87\xc2\x9c\x0b\x9c\xf4\xba\x11\x28\x65\x27\xc7\x73\x36\x47\xb8\x13\xc2\x5e\xcc\x77\x32\x7e\x87\xe4\x27\xe3\x90\xaf\xb3\x0e\xa7\xdb\x63\x60\x1c\x4e\x47\xc8\x22\xf9\x98\x3a\x1d\xe1\x13\x62\x8f\xb0\x5a\xe3\x02\x9d\xd6\x10\x30\x89\x9b\x54\x4e\x5e\xa5\xe2\x9d\x2a\xfe\xb6\x1a\x5d\x8d\xde\xad\xd3\xc9\xd9\x24\xad\xe2\x55\x0e\x13\x5c\x56\x7d\x4d\xc8\xed\x65\x96\xad\x5c\xe2\xc6\x0e\xde\xca\x19\x08\x4b\xf8\xef\x11\x67\x65\x35\xb7\xe0\x8c\x7e\x6b\x83\x4e\x87\x6b\x39\x20\x64\x61\x1b\xa7\xd9\xb6\x7e\x71\xb2\xcc\xc5\xd7\xfa\x2b\x9a\x36\x1a\xca\x16\x9b\xf4\x3e\x8f\xd5\xab\xd7\xeb\x35\x4d\xad\x7a\x8c\x79\xa8\x73\x15\x3b\x6a\x84\xea\xaa\x4d\x8f\x98\x40\x63\x34\xda\x17\x36\xd4\x9f\x6a\xc5\xea\x4a\xb3\xb3\xad\xa8\xc2\xae\x37\xa8\xf8\x05\xdb\x58\x28\xd3\xeb\x19\x97\xa3\xc2\x6a\xc4\xea\x1a\xec\x28\x6e\xb0\x1a\xf4\xd6\xa6\xe7\x1f\xad\xd8\xb8\xa3\xb4\x79\x6c\xb4\xcb\xf3\xf7\x7d\x87\xc5\x87\xc4\x6b\xc5\x87\x24\x89\xad\x84\x24\xac\x3c\xcc\xd4\x9a\xcd\x0b\x2c\x66\xb6\xf6\x35\x95\x4a\xe5\xa0\x43\x72\xac\xad\xd1\xeb\xdd\xfa\x6a\x7d\x8d\x4e\xe7\xd1\xd5\xec\xa0\xf5\x2a\x95\xc9\xb1\x69\xc9\x42\x77\xd9\xca\xe1\x8d\x36\x57\x2d\xb6\x73\x76\x8d\xdd\xe8\xb0\x15\x89\x16\x5b\xb9\xc1\xa6\x59\x1a\x36\xe9\xb5\x00\x4d\x4d\xb6\x7a\x8d\xa6\x68\xad\x6f\xfd\x1e\x0d\xef\x6f\xf5\xc7\x96\x85\x8c\xcc\x92\xb6\x64\xd6\xae\xb5\x16\x95\x00\xf8\xca\xec\x46\x47\x39\x43\xca\x86\x2e\x0b\x1a\x1c\xa6\xf1\x66\x6f\xf5\xa3\x4b\x4d\x5a\x9d\xa5\x78\x91\xc3\x6c\xed\x70\x61\x4e\x0d\xac\x91\xe5\x81\xaf\xaf\x0b\xc6\x5b\x46\xf2\xe5\x0d\x1c\xc7\xfb\xea\xbb\x4e\xe9\xed\x71\x85\x4a\x8a\x5c\x21\x77\x63\xa5\xb6\xf8\xdb\xa0\xde\x1a\x38\xbf\x6d\xf3\x86\x75\x04\xc3\xe4\x49\xf7\xa0\xc3\xec\x7b\xd8\xa5\x08\x81\xd9\x21\xed\x2f\xef\x02\x3f\xb1\xd6\x48\x1e\x89\xca\x4b\xa8\x4e\xa6\x0b\xfc\x1c\xe6\xbd\xe0\xa9\xa9\x62\x83\x54\xee\x56\x8b\xc7\x0b\xcd\x10\x64\xab\x7c\x61\xaa\x18\xf4\xfe\x9a\xaa\x6a\x0e\x73\x23\x0f\xd6\xd5\xf5\x35\x99\xab\x46\x0c\xfc\x48\xb9\x71\x71\xe8\x74\xf1\xbf\x4f\xdf\x04\x42\x4d\x6b\x47\xb3\xaf\xc1\xb2\xf9\x4c\xce\xcf\x5e\xfd\x87\xa6\xc6\xe9\xaf\x88\x17\x9f\xdf\xdb\x0a\x2a\xa2\xc5\xcd\x7d\xe7\xc3\x4e\xfc\xf4\x65\x7f\xe0\x4c\x0c\xbb\xb9\xb2\x62\xe3\xc0\xf4\xcf\xcb\x8c\xec\x69\xd3\xdb\x81\x25\x04\x37\x9d\xba\x4f\x7c\x5a\x7c\xf6\xfc\x3e\x1f\xa8\xa6\x5f\x5b\xb5\x9c\xd1\x16\x7b\x3a\x1b\xde\xaa\x13\xd7\x76\xb0\x1c\xe8\xe2\xc5\xfa\x96\x30\xde\x0d\x57\xff\xb5\xc3\xab\x2f\x8a\xeb\x4a\xfb\xa6\x37\x9f\x7d\xce\x64\xc1\xac\x7c\x0f\x91\x7c\x5c\xcc\xa8\x11\xb5\xa0\x4e\xb4\x4e\x79\x73\x67\xb7\x39\x0c\x4c\x8d\xd9\xe7\x22\x65\xc0\xd2\x02\x96\x1c\xae\x17\x13\xba\xc4\x96\x2a\xfd\xe6\x1a\xf0\x9b\x6b\x78\xb7\xa7\xc6\xec\x37\x5b\xfd\x56\x36\xe0\xf1\xb2\xd5\x35\xd5\x0b\xc1\xec\xf3\x3b\x42\x1e\x37\x1b\x94\xf7\x73\x04\x6b\xcc\xfe\xf0\x49\xf7\xab\xdc\x04\x80\x59\x95\x41\xad\x36\xa8\x58\x0c\x8b\x01\x18\xad\x4a\xcd\x32\x84\xe1\x58\x4e\xc5\x12\xf8\xfc\xdd\x5d\xbb\xe0\xdb\xdb\x6e\x2f\xb3\xe9\x6e\x1b\x6b\x5a\xb1\x10\x0e\xb0\xc4\x64\xa9\xb4\xd7\x9b\xed\x2a\xe6\x2c\x5b\xed\x81\x36\x02\xd0\xc1\x18\xab\xcb\xbd\x15\x85\x14\xef\x6a\xf6\x55\x3e\x3c\xf7\x93\x1c\xfe\xd5\x23\x8c\x43\x65\xe2\x55\x04\x82\x58\x45\x4c\xac\x23\x3a\x09\x4e\x95\x91\x53\x6b\x6e\xc6\x1a\x5e\xcb\xa9\x08\xe1\x38\x2d\x6b\xf8\x08\xde\x12\x17\xc0\x5b\xbf\xb8\xf6\x34\x71\x01\xb4\x89\x2f\x42\x97\xa1\xd7\x69\x2a\x36\xe9\x58\x22\x2e\x00\xff\xcd\x9d\xb7\xef\x29\xaf\xac\x31\x56\xdf\x24\x2e\x70\xd5\x76\x10\xcb\x71\xdf\x3a\x58\xd4\x72\x14\xab\x96\xb3\xff\x40\x3a\x64\x47\x25\x68\x1d\xba\x02\x21\xd6\xed\x91\x4e\x2d\x73\x20\x6a\x56\x9a\x81\xe3\x1d\x56\x6a\x4d\x20\x80\xa5\x93\x1e\x79\x8e\xef\x24\x15\xe0\x22\xbc\xdb\x80\x79\x17\x76\x3a\x3a\x71\x97\x1c\x89\x80\xe7\x58\xce\xe3\x22\x52\x08\x42\x8b\x95\xe3\x39\x2c\x6d\x74\xe7\x6a\x2a\x11\xa9\x76\xd7\x70\x2e\x5c\x01\x0e\xa7\x97\x34\x83\x97\xf3\xb8\xb0\x53\x59\x18\x51\x53\x56\xcb\x38\x1d\x16\x66\x82\x63\xf5\xde\xf3\xc6\x0a\x15\xe6\xdb\x7a\x60\xad\xb8\xf9\xbe\xe2\x4a\xc2\xac\xaf\x63\x77\x2d\xac\x6e\x74\xb1\xfb\xcf\x79\x55\x7c\xf7\xf6\x6b\xc4\x4f\xb6\xb9\x8c\x8b\xef\xf9\xea\xde\xfa\x05\x55\x0b\xd4\x0c\x39\xef\x47\x77\xee\x1a\x60\x8c\x6d\xd5\x5f\xfa\xf4\xe1\xab\xea\xea\x1c\x35\x25\x8c\x21\x78\x48\x9c\xde\xfb\x48\xfd\xa5\x17\x9f\xeb\xf1\x5c\xb1\xf3\x7b\x1f\x2d\x33\x94\x0c\xfc\xf2\xa7\x2d\xd5\xa7\x9e\x55\x5b\x27\xfe\x5a\xec\x5f\x06\x1c\xe6\xcc\x35\x75\x7a\x83\xca\xbb\x74\xcc\x57\x4e\x30\xdb\xbe\xa0\xa7\xd5\x5f\xad\xb2\x76\xdd\xb9\x04\x6b\xd7\xd5\xef\x2d\x0b\x1a\xab\x2b\x6f\x83\x1a\x68\xbf\xfe\xe7\x1f\xfc\x00\x88\xca\x15\x1b\xbf\xff\x74\x52\xfd\xba\xf8\x06\x3e\xa5\x6c\xc5\xa3\xa1\xe0\xda\x7d\xdd\xb8\x65\xc9\x7a\xaf\x43\xbc\xed\x0e\xa8\x7d\xed\xdc\xc4\xd6\x45\x71\x7f\xb7\x9d\x63\x08\x94\xd7\xd5\x69\xb4\xf6\x9e\x95\x8b\x6b\xb7\xff\x75\x11\x57\xdf\xd3\x57\x5c\x64\x52\x5b\x8b\x23\x45\x91\x3a\x1b\xb3\xf5\x8e\xcd\xdd\x5a\x9d\xd3\x1d\x85\x73\x40\xbd\x77\xe5\x21\xf1\x0f\xb9\x2a\x6d\x89\x86\xc0\x26\xd0\x83\xef\xdc\xc4\x59\x25\x25\xba\x01\xf7\x25\x57\xec\x6e\x68\xc0\x76\x63\x49\x51\x69\xa9\x4e\x53\xb1\x58\x55\x79\xdd\xe5\x2f\xdd\x99\x8b\x96\x55\x1b\x97\x2d\x76\xaf\xca\x89\x03\x88\x45\x75\x47\x75\xdc\x5b\xec\x27\xc8\x89\x5a\xd0\x12\x74\xba\x74\xe2\x54\xc8\xed\x51\x42\xa3\xb9\xb0\xd3\xc5\x87\xc0\x80\x99\x5a\xba\xca\xec\x24\x61\xae\x04\x74\x50\x1b\x0e\xf1\x36\x6c\x93\xce\x10\x92\x3e\xc8\x00\xeb\x85\x46\xd0\x01\x87\x9d\x6e\xdc\xc9\x48\xf1\xe5\x49\x08\x79\xaa\x3d\xee\xb0\x8b\x31\x10\xbe\x93\xb0\x1d\xe5\x4b\x37\x2e\xda\x2b\x58\x74\xc6\x1a\x67\xc5\xa2\xd2\xda\xae\x85\x75\x45\x36\xbd\x56\x03\xdb\x03\xcf\xfe\x51\xfc\x8b\xf8\xd9\xe1\x87\x47\x58\x30\x6a\xdc\x8c\x7f\xf4\x2f\xb0\x1e\xb6\xc2\xa6\xbc\x0d\xff\x75\xcd\xc5\x4f\x1e\x7a\xf2\xe2\x35\x72\x06\x99\xee\xdf\x8a\x7f\x12\x7f\x24\xbe\x23\x8a\x8f\x0c\xba\x5a\xd9\x15\xfb\x9e\x7a\xff\xe3\xbf\x7f\xf0\x93\xe5\x55\x8b\x16\xeb\xc4\x37\xff\xa1\xc2\xb8\xe4\xdc\x57\x2e\xde\x6a\x77\xc6\xae\x7a\xff\xe2\xe4\x13\x77\x0c\xe3\xc3\x8d\xf7\xb7\x7b\xca\x6d\xa5\x4e\x0d\x4b\x18\xa3\x46\x5f\x57\xb7\xa0\xb6\xaa\x48\x0f\xd3\x3f\x3a\xff\xf1\x48\x91\x7f\xf7\x41\x70\xde\x55\x7f\x7a\xfd\x4e\xfd\x21\xf1\x22\x51\xbc\x49\x77\xc7\x5d\xa5\x7a\x06\x57\x1c\x7a\xfa\xd2\x35\x6b\x2e\x7d\x5a\xce\xb8\x6b\x0e\x45\x55\x6b\x1e\xfc\xbb\x78\xd7\x0b\x77\x40\xd3\x27\xaf\x7c\x55\xa8\x77\x6e\xb8\x2b\xe7\xdb\x27\x5e\xf0\x09\x9c\xd1\xc7\xb2\x84\x39\xfb\xda\xa7\x7e\xf6\xd3\x27\xaf\x3e\x13\xbb\x62\x57\xff\x54\xf6\x27\x91\x6c\x8c\xf4\x1d\xb0\x02\x35\xa3\x2e\xc9\xa7\x3b\x8d\xce\x47\x57\xa0\xdb\xd1\x37\x11\xb2\xda\x6b\xaa\x3b\x80\xfe\x05\x4e\x81\x60\xc0\xff\x7f\x5a\x3e\x7e\x2d\x04\x76\xdb\x42\xe9\x2f\xe8\xf7\x95\x83\xdf\x17\xfc\x3f\x2c\x1f\xcc\x98\x5a\x4c\xa6\x16\x53\xe6\x5f\xe4\xcc\xb7\xda\x16\x1c\x39\xb8\xa0\xad\x6d\x01\x59\xb2\xa0\x0d\xd0\xbf\x81\x22\xe5\x80\xa6\x4c\x26\x53\xa5\xc9\xf4\x6f\x43\xfb\x3f\x5b\x42\xc9\xb0\x94\xd8\xe7\x2a\x5a\x33\x65\x32\x1d\xfe\x17\xb9\xec\x43\xd8\x7c\x14\x71\x6b\x38\x84\xae\xa4\x6b\x4d\x79\x1f\x6e\x33\x7d\x9a\x72\x7b\x48\x9d\xd9\xe9\x02\x03\xb8\x9b\x41\xda\x77\xd2\x41\xaf\x49\x47\xac\x98\x59\x62\xa0\x8f\xd0\x33\xae\x7e\x52\xfc\x14\x27\xdb\x04\xac\xb4\xeb\x60\xa6\xa6\x02\x3c\xee\x90\xc3\x69\x65\xcd\x72\x80\x15\x25\x74\x71\x39\x84\x3b\xc1\x05\x9c\x11\xcc\x75\xd6\x4e\x70\x18\x41\xde\xdd\x6b\x04\x89\x5c\x4d\xb5\xa7\x4e\x0f\x75\x21\x17\x70\x9c\xeb\xde\xc7\x9d\x7a\xbd\xc1\xe7\x7c\x3c\xac\xf7\x2d\xd5\xc7\xc5\x3f\x1f\x32\xe1\xa2\xaa\x7a\x53\xc6\x1d\x70\x67\x4c\xf5\x55\x45\xd8\x74\x48\xfc\x73\x5c\xbf\xd4\xa7\x0f\x3f\xee\xf4\x19\xf4\x7a\xe7\xe3\xf7\x96\x97\xa8\x1b\xca\x21\x24\x05\x86\x7c\x89\x51\x97\x56\x33\x25\xa5\xb4\xa1\x92\x80\x43\x69\x07\x8c\x27\x69\x07\x8c\xc7\xb5\x53\x5a\xc2\x54\x97\xaa\x19\xf1\x25\x29\xa6\x65\xa8\xbc\x41\x5d\x02\x77\x56\x8d\xe9\xfd\x4e\xa7\x5e\xbf\x6d\xbf\xdb\xaf\xa9\x83\xc6\x5b\xc4\x17\x3e\xb2\x34\x54\x58\x55\x96\xa9\x37\x4a\xdc\xee\x92\x37\xa6\x2c\x2a\x6b\x45\x83\xe5\x23\x68\xbf\x45\x7c\xad\x4e\xe3\x77\xef\xdf\xa6\xd7\x3b\x9d\x7e\xfd\x58\x15\xe7\x6d\xae\xe2\x3a\x6f\xbd\xb5\x13\x6a\x1b\x1b\x58\xda\x92\xd7\x60\x90\x1b\x12\x5f\xbb\x05\xda\x4f\xde\x90\xf8\xc2\x2d\xd0\x38\xbf\x21\xb6\xa1\xb1\x16\x68\x43\x5c\x55\xb3\x17\xcd\xf3\xf1\xb3\xd0\x27\x2a\xa0\x8b\x5c\x3a\xa9\x70\x74\x56\xa9\xb5\xa8\xc1\x61\xe1\x39\xcc\xf0\x2c\xb8\xe9\x33\x72\x6d\x38\x54\xcb\x3e\xcb\x0f\x5e\x7d\xa8\x90\x7f\xe7\xee\x04\xcf\x0f\x5e\xfd\xb3\xc2\xcd\x60\xfb\x06\x2c\x15\xef\xdc\x39\xa9\xd1\x3e\x22\xbe\xf6\xc8\x91\x62\x38\x4b\x82\xa1\xe9\x91\x7b\xf1\x4d\x78\x68\xc7\x7f\xde\x21\xf0\xfc\xaa\x2b\x7e\x5a\x90\x20\xf5\xc5\xe8\x28\xd3\x21\xde\x55\x10\x5f\xba\xe7\x51\xf1\xc5\x17\x8a\xbf\x0c\x67\xe5\x21\x7c\xcf\x77\xa1\xed\x85\x62\xc7\x19\xf2\xfb\x47\x25\xfe\x9f\x01\x59\x90\x03\xb9\x25\x8f\x73\x6b\x8d\x16\x6a\xac\x9e\xb0\x93\x07\x96\x34\x81\x93\xf7\xd4\x39\x79\x0f\xf3\xaf\xc2\xf5\x3d\x7c\xa7\xff\x9b\xf7\xb7\x3e\xb4\xca\x7e\xd8\x2e\xf6\x43\xcb\x85\xe2\x21\x78\xfb\xf0\xc8\xc7\x70\xfe\x33\x6b\x9f\xc6\x1d\x74\x42\x13\x9f\x13\xdf\x7d\xf5\x9c\x73\x5e\x85\x6a\xe8\x84\xea\x57\xff\x78\xb2\xe7\x8d\x23\xe2\xa3\xb0\x45\xfc\x1a\xec\xa8\x6a\x8d\xfb\x70\xe2\x42\xf1\xd0\x85\x13\x23\x1f\xc7\x37\xad\x79\x7a\xcd\x16\x09\xeb\x9c\xb9\x2d\xe1\x89\x93\xac\x0a\x75\xc8\x7d\x14\xf8\x4d\xec\x51\x74\x06\x1a\x46\x49\x34\x81\x2e\x40\xf7\xa3\x47\xd1\x73\xe8\x65\xf4\x16\xfa\x10\x7d\x84\x10\x78\x89\xc7\xdd\x09\x1e\x39\xa4\x30\xa9\xf6\x82\xc7\xcb\x49\x8f\x18\x44\x3e\xef\x8a\x37\x10\x3b\x27\x3d\x42\x48\x4f\x09\x4e\x87\xfc\x56\x22\x24\xbd\x8c\x70\xfa\xa4\xf9\x9e\xce\x3a\x21\xc6\x21\xbf\xbe\xe8\x04\x70\x18\x40\x02\x1c\x48\x79\x6f\x01\x4e\x07\xad\xf4\x42\x28\x1c\x72\x58\x1d\x98\xe7\x3c\xf4\x16\xe5\x7d\x87\x17\x87\xc2\xf4\x67\x27\xc5\x2b\x0d\xb9\x08\xef\xc2\x1c\x28\xad\xc9\x08\x52\x7b\x52\x58\x23\x5a\x2d\x37\x03\xb3\xf4\x1c\x73\x6f\xf6\xc8\x77\x74\x82\x83\x0d\x31\xcd\x81\x26\xc2\xae\x58\xc6\x1a\x46\x9a\x5c\x84\xc1\x3c\xe1\x59\x9e\x10\x1d\xa7\x55\x69\xb5\x9c\xab\xb6\x14\x4c\x6a\xbb\x4e\x1b\x72\xd5\x6f\x73\x9a\x7c\x75\x0b\x1d\x6b\x06\x5c\xf5\x16\xfe\x4a\x96\xab\x30\x94\x72\x78\x18\x38\xff\x80\x8d\x59\x37\xc8\xd9\xec\xe5\x0c\x3e\x9f\xd7\xf9\x5a\xcd\x7d\xcb\x7d\x47\xba\x39\x93\xd1\x50\x4c\x88\xa9\x0c\x9f\xae\xe3\xab\xeb\x75\x5a\xbe\xba\x7e\xda\x5e\xdb\x55\x52\xa2\xb3\x58\xba\x4a\x4a\x58\xc6\xaa\x6b\xeb\x76\xeb\x4a\xcb\xba\xbf\xdc\x1f\x4c\x6e\x1a\xb7\x5d\x70\x5b\x87\x0e\x46\x3e\x59\xea\x23\xeb\x26\x1a\xdc\x9d\xb5\x4c\x70\x5b\x5f\xe5\x45\xb7\x3f\xb8\xf4\xd4\x8b\x27\xcf\x68\xe6\x02\x03\xf6\xca\xcf\xb3\x06\xb5\xcd\xda\xaa\x97\xd2\x6f\x30\x96\xea\x32\x86\x58\x4d\xe6\x32\xe6\x6e\xc6\x6e\xb3\x56\xab\xec\x36\x5b\xd5\x74\xd2\x64\x2c\x2b\xed\x30\x99\x8c\xa1\x4e\xfc\x19\x63\x32\x1a\x69\x37\x8c\x86\xe2\x27\x8d\x6a\x87\x23\xe4\xd2\x34\x06\xc1\x5b\x64\x83\xa2\x92\xe6\xc7\x1e\xf4\x08\x18\xcc\x18\x03\x01\xc2\x10\xac\x67\x35\x2c\x47\x80\x35\x39\xc1\xc8\xeb\x31\x2e\xd5\x5b\xbc\x0d\x65\x97\x9f\x73\x25\xf4\xc7\x18\x5c\x52\xa5\x87\x82\x4a\x6b\xe0\x8d\x6e\xcb\x5f\xb5\xee\x3a\xa7\x5b\x75\xdf\xed\xea\x72\x70\x9b\xc4\x4f\xcb\x82\xb1\x22\xb5\x9e\x54\xdc\xe7\x92\x89\x95\x70\xe2\xdb\xe6\xfa\x22\x95\x99\x26\x24\x14\xd2\x59\x2d\x4b\x4a\x4a\x75\x16\xeb\x34\x94\xf5\xba\x75\x6d\x3d\x36\xab\x0e\x2f\xd9\x2e\x7e\xba\xa2\x8b\x0c\x6e\x61\xc3\x6a\x58\xda\x34\x7a\xda\x59\x86\xed\x57\xdc\xb1\x68\xf1\xc5\xd9\x75\xea\x0d\xe7\xb5\x3b\xc3\x76\xbe\x7b\x68\xef\x69\xa6\xb5\x5b\x47\x70\xc6\xd6\x6a\x30\xa8\x6d\x52\x0a\xac\xa9\x5c\x65\x35\x9b\xcb\x18\xc6\x7a\xe4\x14\x5b\x35\xc3\xd8\x17\x54\xb3\x8c\x93\x6c\x2b\xed\x32\x99\x8c\xa5\x65\x9d\xd5\xa6\xe9\xf5\xc6\x62\x86\x98\x0d\xc6\x12\x42\x4c\x1f\x38\x42\x26\xa3\xa6\x31\x54\xa9\x41\x08\x15\x81\x5b\x3e\x71\x1a\x21\xd4\x8c\xb6\x2a\x30\x20\x2d\xba\x4f\x81\x31\xe2\xd1\xf7\x15\x98\x20\x33\x3a\xac\xc0\x0c\xd2\x42\x89\x02\xb3\xc8\x02\x2b\x14\x98\x43\x5a\x98\x50\x60\x1e\xad\xc1\x1e\x05\x56\x21\x1d\xbe\x46\x81\xd5\x48\x83\x1f\x51\x60\x2d\xb2\xe3\x3f\x29\xb0\x01\xb9\x48\x37\x22\x08\x18\x35\x42\x48\x7e\xa3\x44\x61\x40\x0e\x74\xa5\x02\x63\x64\x40\x0f\x2b\x30\x41\xd5\xe8\xc7\x0a\xcc\x20\x07\x60\x05\x66\x51\x2d\xb8\x15\x98\x43\x0e\x18\x52\x60\x1e\x7d\x0d\x76\x2b\xb0\x0a\x15\xe1\x49\x05\x56\x23\x1b\xde\xaf\xc0\x5a\xd4\x80\x9f\x55\x60\x03\x5a\x4c\x08\xea\x45\x69\x94\x41\x93\x28\x8b\x12\x68\x04\x8d\xa2\x3c\xaa\x44\x7d\x28\x82\x76\x20\x01\x55\xa2\xa5\x28\x82\x52\x28\x86\x26\x51\x25\xf2\xa1\x16\xd4\x8a\x42\xc8\x8b\x2a\x51\x37\x4a\xa2\x24\xaa\x9c\x83\x95\x93\x4a\x02\xca\x21\x01\x65\x25\xec\x18\xf2\x22\xd4\x9b\xce\x4c\x66\x13\x23\xa3\xf9\xca\xbe\xc8\x0e\xa1\x72\x69\x24\x15\x9b\xac\xf4\xb5\xb4\x86\xbc\x95\xdd\xc9\x64\xa5\x74\x29\x57\x99\x15\x72\x42\x76\x87\x10\xf3\x22\x34\x80\xd2\x28\x85\xf2\xa8\x1b\x4d\x48\xad\xa5\xd1\x38\x12\x10\x1a\x48\xa7\xf2\xdd\x13\x42\x2e\x3d\x2e\x20\xb4\x16\x09\x68\x04\x15\x50\x12\x45\x50\x16\xa1\xb5\xc2\x48\x21\x19\xc9\x52\xdc\xd5\x68\x15\x5a\x8f\x56\xa0\x6e\xd4\x83\x16\xa1\xd5\x68\x3d\x1a\x40\xfd\xe8\x0c\x34\x88\x56\xa3\xb5\x68\x3d\x42\x03\xab\x57\xad\x5f\xd1\xdd\xb3\x68\xf5\xfa\x81\xfe\x33\x06\x57\xaf\x5d\xff\xef\x51\xdc\x28\x8d\x2a\x87\x12\xd2\xbd\x95\x28\x80\xbc\x28\x8c\xbc\xa8\x65\x0e\x5f\xd0\x46\x21\x9b\x4b\xa4\x53\x95\x01\x6f\xd8\xdb\x22\x0d\xf2\xdf\x6b\x7c\x10\x25\x91\x80\x22\x12\xeb\x64\x26\xc6\x25\x72\x95\x28\x8f\xd2\x52\x3a\x2a\x5d\x39\x99\xa8\x28\x4e\x14\xe5\x67\x3b\x16\x47\x69\x05\x53\xc6\x89\x2b\xf4\x69\x4d\x16\x45\x50\x0c\x09\x68\x5c\x62\xdb\x18\xaa\x44\x11\x94\x97\xea\x13\x68\x18\x15\xe6\xb4\x92\x42\x69\xa9\x14\x95\xfa\xec\x45\x68\x30\x29\x44\x72\x42\x65\x56\x88\x0b\xd9\xca\x7c\xba\x32\x3f\x2a\x54\x1e\x13\x6d\x4e\x88\xe6\xe9\xc0\xe3\xe9\xac\x74\x25\x9e\x4e\xe5\x2b\xf3\xd9\x48\x4c\x18\x8f\x64\xc7\x2a\x23\xf9\x7c\x36\x31\x5c\x90\x6e\x49\xa5\xf3\x89\xa8\x90\x53\x04\x9d\x95\x7a\x76\x02\x6f\xb2\xf9\xca\x59\xe6\x9c\x4c\x17\xd1\x31\x5d\x42\x12\x1f\xf2\x28\x83\x16\xa1\x66\xd4\x3c\x3b\xde\xc8\xbc\x36\xbd\xd2\xc8\xd0\x68\x3e\x9f\x59\xd4\xdc\x4c\xbb\x17\x91\xdb\xf7\x26\xd2\xff\x93\x16\x9a\x51\x52\xe1\x4a\x4a\xe2\x7c\xf3\x17\xb4\xd9\x9c\x4c\x44\x85\x54\x4e\x68\x56\xd6\x38\xff\xec\x1f\xfe\x9e\x64\x93\xe8\xaf\x7b\x1f\xba\x0c\x5d\x8a\x2e\x47\x57\xa2\xab\xd0\x57\xd0\xd5\xe8\x0a\xa0\xe6\x9a\x01\x16\x38\xe0\x41\x05\x6a\xd0\x80\x16\x74\xa0\x07\x03\x18\xc1\x04\x66\xb0\x80\x15\x6c\x60\x07\x07\x38\xa1\x08\x8a\xa1\x04\x4a\xa1\x0c\xca\xc1\x05\x15\x50\x09\x55\x50\x0d\x35\x50\x0b\x75\xe0\x06\x0f\x2c\x80\x7a\x68\x80\x85\xd0\x08\x4d\x40\x1f\xeb\x5b\xa0\x15\x7c\xe0\x87\x00\x04\x21\x04\x61\x68\x83\x76\x58\x04\xa7\xc0\x62\xe8\x90\x5e\x16\x2d\x81\x6e\xe8\x81\x5e\xe8\x83\x7e\x18\x80\xa5\x70\x2a\x9c\x06\xcb\x60\x39\xac\x80\x95\xb0\x0a\x56\xc3\x20\xac\x81\xb5\xb0\x0e\xd6\xc3\x06\xd8\x08\xa7\xc3\x19\x70\x26\x6c\x82\xb3\xe0\x6c\xd8\x0c\x5b\x60\x08\xb6\x42\x04\x86\x91\x01\x7d\x8c\xf4\x10\x85\x18\x08\x10\x87\x11\x18\x85\x04\x6c\x83\x31\x48\xc2\x38\xa4\x20\x0d\x19\xd8\x0e\x59\xc8\x41\x1e\x0a\xb0\x03\x26\x60\x27\x4c\xc2\x2e\xf8\x12\x9c\x03\xe7\xc2\x79\x70\x3e\x4c\xc1\x05\x70\x21\xec\x86\x2f\xc3\x1e\xb8\x08\xf6\xc2\xc5\x70\x09\x5c\x0a\x97\xc1\x57\xe0\x72\xd8\x07\x57\xc0\x95\x70\x15\x5c\x0d\xd7\xc0\xb5\x70\x1d\x5c\x0f\x5f\x85\x1b\xe0\x46\xb8\x09\x6e\x86\x5b\xe0\x56\xb8\x0d\x6e\x87\xfd\x70\x07\x7c\x0d\xee\x84\xbb\xe0\x6e\xb8\x07\xee\x85\xfb\xe0\x00\x7c\x1d\xee\x87\x6f\xc0\x03\xf0\x1f\xf0\x4d\xf8\x16\x3c\x08\xdf\x86\x87\xe0\x61\xf8\x0e\x3c\x02\x8f\xc2\x77\xe1\x31\x78\x1c\x9e\x80\x27\xe1\x29\x78\x1a\x9e\x81\x83\xf0\x2c\x3c\x07\xdf\x83\xef\xc3\x0f\xe0\x79\x78\x01\x5e\x84\x1f\xc2\x4b\xf0\x23\xf8\x31\xbc\x0c\x3f\x81\x9f\xc2\x21\xf8\x19\xbc\x02\xaf\xc2\x6b\xf0\x3a\xbc\x01\x6f\xc2\x5b\xf0\x9f\xf0\x36\xbc\x03\x3f\x87\x5f\xc0\xbb\xf0\x4b\x78\x0f\xde\x87\x0f\xe0\x57\xf0\x21\xfc\x1a\x7e\x03\xbf\x85\xff\x82\xdf\xc1\xef\xe1\x0f\xf0\x47\xf8\x13\x7c\x04\x1f\xc3\x61\xf8\x33\xfc\x05\xfe\x0a\x9f\xc0\xdf\xe0\xef\xf0\xdf\xf0\x0f\xf8\x14\x3e\x83\xcf\xe1\x08\x4c\x83\x08\x47\x31\xc2\x80\x31\x26\x98\xc1\x2c\xe6\x30\x8f\x55\xa8\x1a\xab\xb1\x06\x6b\xb1\x0e\xeb\xb1\x01\x1b\xb1\x09\x9b\xb1\x05\x5b\xb1\x0d\xdb\xb1\x03\x3b\x71\x11\x2e\xc6\x25\xb8\x14\x97\xe1\x72\xec\xc2\x15\xb8\x12\x57\xe1\x6a\x5c\x83\x6b\x71\x1d\x76\x63\x0f\x5e\x80\xeb\x71\x03\x5e\x88\x1b\x71\x13\xf6\xe2\x66\xdc\x82\x5b\xb1\x0f\xfb\x71\x00\x07\x71\x08\x87\x71\x1b\x6e\xc7\x8b\xf0\x29\x78\x31\xee\xc0\x9d\xb8\x0b\x2f\xc1\xdd\xb8\x07\xf7\xe2\x3e\xdc\x8f\x07\xf0\x52\x7c\x2a\x3e\x0d\x2f\xc3\xcb\xf1\x0a\xbc\x12\xaf\xc2\xab\xf1\x20\x5e\x83\xd7\xe2\x75\xe8\x15\xbc\x1e\x6f\xc0\x1b\xf1\xe9\xf8\x0c\x7c\x26\xde\x84\xcf\xc2\x67\xe3\xcd\x78\x0b\x1e\xc2\x5b\x71\x04\x0f\xe3\x28\x8e\x61\x01\xc7\xf1\x08\x1e\xc5\x09\xbc\x0d\x8f\xe1\x24\x1e\xc7\x29\x9c\xc6\x19\xbc\x1d\x67\x71\x0e\xe7\x71\x01\xef\xc0\x13\x78\x27\x9e\xc4\xbb\xf0\x97\xf0\x39\xf8\x5c\x7c\x1e\x3e\x1f\x4f\xe1\x0b\xf0\x85\x78\x37\xfe\x32\xde\x83\x2f\xc2\x7b\xf1\xc5\xf8\x12\x7c\x29\xbe\x0c\x7f\x05\x5f\x8e\xf7\xe1\x2b\xf0\x95\xf8\x2a\x7c\x35\xbe\x06\x5f\x8b\xaf\xc3\xd7\xe3\xaf\xe2\x1b\xf0\x8d\xf8\x26\x7c\x33\xbe\x05\xdf\x8a\x6f\xc3\xb7\xe3\xfd\xf8\x0e\xfc\x35\x7c\x27\xbe\x0b\xdf\x8d\xef\xc1\xf7\xe2\xfb\xf0\x01\xfc\x75\x7c\x3f\xfe\x06\x7e\x00\xff\x07\xfe\x26\xfe\x16\x7e\x10\x7f\x1b\x3f\x84\x1f\xc6\xdf\xc1\x8f\xe0\x47\xf1\x77\xf1\x63\xf8\x71\xfc\x04\x7e\x12\x3f\x85\x9f\xc6\xcf\xe0\x83\xf8\x59\xfc\x1c\xfe\x1e\xfe\x3e\xfe\x01\x7e\x1e\xbf\x80\x5f\xc4\x3f\xc4\x2f\xe1\x1f\xe1\x1f\xe3\x97\xf1\x4f\xf0\x4f\xf1\x21\xfc\x33\xfc\x0a\x7e\x15\xbf\x86\x5f\xc7\x6f\xe0\x37\xf1\x5b\xf8\x3f\xf1\xdb\xf8\x1d\xfc\x73\xfc\x0b\xfc\x2e\xfe\x25\x7e\x0f\xbf\x8f\x3f\xc0\xbf\xc2\x1f\xe2\x5f\xe3\xdf\xe0\xdf\xe2\xff\xc2\xbf\xc3\xbf\xc7\x7f\xc0\x7f\xc4\x7f\xc2\x1f\xe1\x8f\xf1\x61\xfc\x67\xfc\x17\xfc\x57\xfc\x09\xfe\x1b\xfe\x3b\xfe\x6f\xfc\x0f\xfc\x29\xfe\x0c\x7f\x8e\x8f\xe0\x69\x2c\xe2\xa3\x04\x11\x20\x98\x10\xc2\x10\x96\x70\x84\x27\x2a\xa2\x26\x1a\xa2\x25\x3a\xa2\x27\x06\x62\x24\x26\x62\x26\x16\x62\x25\x36\x62\x27\x0e\xe2\x24\x45\xa4\x98\x94\x90\x52\x52\x46\xca\x89\x8b\x54\x90\x4a\x52\x45\xaa\x49\x0d\xa9\x25\x75\xc4\x4d\x3c\x64\x01\xa9\x27\x0d\x64\x21\x69\x24\x4d\xc4\x4b\x9a\x49\x0b\x69\x25\x3e\xe2\x27\x01\x12\x24\x21\x12\x26\x6d\xa4\x9d\x2c\x22\xa7\x90\xc5\xa4\x83\x74\x92\x2e\xb2\x84\x74\x93\x1e\xd2\x4b\xfa\x48\x3f\x19\x20\x4b\xc9\xa9\xe4\x34\xb2\x8c\x2c\x27\x2b\xc8\x4a\xb2\x8a\xac\x26\x83\x64\x0d\x59\x4b\xd6\x91\xf5\x64\x03\xd9\x48\x4e\x27\x67\x90\x33\xc9\x26\x72\x16\x39\x9b\x6c\x26\x5b\xc8\x10\xd9\x4a\x22\x64\x98\x44\x49\x8c\x08\x24\x4e\x46\xc8\x28\x49\x90\x6d\x64\x8c\x24\xc9\x38\x49\x91\x34\xc9\x90\xed\x24\x4b\x72\x24\x4f\x0a\x64\x07\x99\x20\x3b\xc9\x24\xd9\x45\xbe\x44\xce\x21\xe7\x92\xf3\xc8\xf9\x64\x8a\x5c\x40\x2e\x24\xbb\xc9\x97\xc9\x1e\x72\x11\xd9\x4b\x2e\x26\x97\x90\x4b\xc9\x65\xe4\x2b\xe4\x72\xb2\x8f\x5c\x41\xae\x24\x57\x91\xab\xc9\x35\xe4\x5a\x72\x1d\xb9\x9e\x7c\x95\xdc\x40\x6e\x24\x37\x91\x9b\xc9\x2d\xe4\x56\x72\x1b\xb9\x9d\xec\x27\x77\x90\xaf\x91\x3b\xc9\x5d\xe4\x6e\x72\x0f\xb9\x97\xdc\x47\x0e\x90\xaf\x93\xfb\xc9\x37\xc8\x03\xe4\x3f\xc8\x37\xc9\xb7\xc8\x83\xe8\x5a\x76\x24\x19\xc9\xe5\xd8\xf1\x42\x2e\x11\xe5\x72\x42\x24\x1b\x1d\x55\x09\xa9\x1d\x42\x32\x9d\x11\xd8\x51\x21\x92\xcd\x33\xb9\x7c\x24\xab\xa1\xc9\x90\x30\x9e\xc9\x4f\x32\x85\x9c\x90\x65\xe2\x89\xe4\xb8\x2a\x3f\x3a\x94\x8c\x64\x47\x04\x9c\x1f\xe5\x29\x9c\xc8\xe5\x71\x7a\x8c\xcb\x0a\xe3\xe9\x1d\x02\xbf\x2b\x9d\x1e\x1f\x4a\xa4\x54\x52\x9e\x2e\xe4\x49\x3a\x1e\xe7\x72\x89\x91\x54\x24\x49\xa2\xe9\x11\x36\x9f\x8d\xe4\x46\x99\xd1\xf4\xb8\xa0\x8a\x27\x92\xc2\x50\x24\x99\x67\xf2\x89\x71\x81\xc9\xa6\x23\x31\x5d\x2c\x3d\x91\x4a\xa6\x23\x31\x5a\xad\x9a\x29\x70\x85\x0c\xcd\xd8\x44\x6a\x38\xbd\x53\x9b\x49\x46\x26\x87\xa2\x89\x6c\x34\x29\x70\x59\x21\x23\x44\xf2\x7c\x56\x88\x67\x85\xdc\xa8\x8a\x76\x45\x6a\x30\x99\x8e\x8e\x31\xf1\x64\x64\x44\x33\x2a\x44\x62\x99\xd1\x74\x4a\xc8\x69\x76\xa4\x93\x85\x71\x61\x28\x1d\x8f\x6b\x15\x90\x12\x50\x2b\x70\x21\xc3\x6d\xcf\x46\xd3\x31\x81\x1f\x8e\x48\x39\xc9\x47\x46\x98\x7c\x64\x24\xc7\x0c\xa7\xd3\x63\x2a\x9a\xd0\x19\x9e\xcd\x64\x13\xa9\x3c\x17\x8d\x8c\x0b\xd9\x08\x43\xa7\x42\x66\x38\x9d\x8c\x71\x89\x7c\x24\x99\x88\x6a\xf3\xc2\xce\xfc\xd0\xa8\x40\x97\x0a\x1a\x09\x9e\x48\xc4\xf2\xa3\x9a\x48\x32\x31\x92\x1a\x4a\x0a\xf1\xbc\x4e\x06\xa3\x42\x2a\x2f\x64\xb5\x72\x41\x5a\x59\xe8\x65\x78\x5b\x21\x97\x4f\xc4\x27\x19\x3a\x16\x6d\x22\x15\x13\x52\x79\x19\x4f\x81\xa5\x7b\x0d\xf1\x48\x54\xa0\x5c\x1b\xda\x91\x88\x09\x69\x3e\x93\x88\xe6\x0b\x59\x81\xcb\x08\xa9\x68\x22\xa9\x19\x8f\x64\x86\x68\x5f\x85\x2c\x17\x89\xd1\x06\x99\x7c\x22\x95\x67\x84\x58\x22\xcf\xe6\x46\x23\x59\x81\x8d\x8e\x0a\xd1\x31\x86\x0a\x4c\x9f\xcb\x0b\x99\xa1\xe1\x48\x74\x6c\x22\x92\x8d\xe9\xe3\x91\x5c\x7e\xb6\xa4\x9a\x01\x18\xca\x74\x36\x13\x29\xe4\x04\x26\x97\x4f\x67\xf8\x78\x3a\x4b\xeb\x75\xd2\xed\x33\x05\xa9\x25\xa5\xc0\x0a\xdb\x84\x68\x5e\x17\x1d\x15\x76\x64\xd3\xf2\xc8\xf5\x33\x05\x69\x08\xea\x4c\xb2\x90\x1b\xa2\x8a\xa1\x19\x4f\xa4\x14\x50\x2b\x2b\x91\x04\xf3\xe9\x31\x29\xd7\x6f\x2f\x08\x39\xba\x9e\x92\x4a\xea\x44\x2a\x9e\x96\xd1\x72\xd1\xac\x20\xa4\x72\xa3\xe9\xbc\x5e\x41\x93\xb5\x42\x9d\x1e\x53\x20\xcd\x70\x24\x35\x03\x46\xb2\xd9\xf4\x84\xd4\x0f\xad\x0c\x4a\xbd\x50\xc9\x70\x21\xa3\x5c\x97\x34\x42\x62\x11\xd5\x23\x6d\x56\xc8\x25\x76\x09\x43\xf1\x42\x32\xa9\x53\xe0\xdc\x78\x24\x99\x34\x09\x3b\xa3\xc9\xc8\x78\x64\xb6\x5b\xcc\x48\x22\x9e\x67\x92\x42\x24\xce\xc4\x13\x59\x41\x25\x4c\x0a\x43\xe9\x8c\x90\x52\x53\x20\x9a\x4c\xe7\x04\xdd\x44\x24\x9b\x4a\xa4\x46\xa4\xdb\xd9\x4c\x32\x92\x12\x54\xd1\x48\x52\x48\xc5\x22\x59\x2e\x1b\x49\xc5\xd2\xe3\x7c\x34\x3d\x3e\x2e\xa4\xf2\xdc\x78\x64\x24\x25\xe4\x35\x33\xfc\x2a\x64\x66\xf9\x48\xfb\xc7\x67\x85\xfc\x84\x20\xe4\xf5\xb9\xd1\x74\x26\x43\x9b\x8c\x46\xb2\x79\x5d\x3c\x9d\x8c\x09\x59\x99\x98\x56\x29\xd0\x2e\x18\x95\x8e\xef\x10\xb2\xf9\x44\x34\x92\x34\x2b\xe5\xd1\x74\x36\xb1\x8b\xae\xe4\x92\xea\xe1\x48\x76\x28\x3a\x4a\x1b\xc9\x4f\x24\xf2\x79\x21\x2b\x33\x9e\x2a\x19\x55\x7b\xa9\xa4\x93\x35\x7e\x28\x2b\xe4\xb3\x69\x32\x26\x4c\x32\xd1\xf4\x48\x4e\xa5\x74\x39\xa7\xcf\x8f\x16\xc6\x87\x73\x43\x85\x0c\x65\x9c\x51\x29\xd1\xee\xd2\xb2\x5a\x32\x24\xa3\x91\x64\x5c\x2b\x59\x17\xd9\xa6\xf0\xb4\xdd\x74\x21\xaf\x4f\x26\x52\x63\x42\x2c\x21\xb3\x92\xcf\x14\x72\xa3\x99\x44\x4a\x2f\xec\xcc\x0b\xd9\x54\x24\x39\x44\x2f\x4b\x26\x24\x91\xe2\xf2\xd9\x74\x66\x74\x52\x3b\x92\xc8\x8f\x16\x86\x65\x3d\x90\xad\x03\x25\xc3\x26\x85\xf1\x74\x8a\x95\x7e\xef\x5a\x49\xc5\x65\x42\x86\x99\x1f\xaf\x5c\xd4\x48\x37\xc8\xc4\x94\x01\xab\x66\xc6\xca\xc9\x2d\x73\x85\x14\xb5\x21\xda\x68\x96\xfe\x68\x28\x83\x63\x24\x9b\xcb\x91\xd1\x58\x4c\x35\x5c\x48\x26\x47\xd3\xd9\x14\x33\x2c\x24\x93\xda\x28\x65\x6b\x3c\x11\x8d\xe4\x05\xcd\x68\x24\x15\x53\xb4\x5b\x02\xa9\xb6\xf1\x12\x54\xc8\xc8\x35\x94\x21\x66\x59\x23\x87\x8e\x69\xa4\x65\x5e\x8d\xd4\x80\x71\x5e\x55\x21\x33\x1f\x89\x36\xc3\x8e\x24\xd3\xc3\x02\x37\x91\x15\x52\xd1\x51\x36\x1f\xc9\x8d\xe5\xb8\x78\x22\x99\x17\xb2\xea\xe1\x6c\x42\x88\x47\x23\x39\x41\x43\x35\x57\xfe\x9d\xb0\x23\xd9\x74\x21\xc3\x50\x5e\xb2\xd1\x64\xba\x10\xe3\x86\x85\xc8\x98\x90\x25\xd1\x42\x9e\x89\xa6\x33\x93\x9a\x4c\x24\x23\xe9\x4f\x22\xc3\xe4\x22\x3b\x04\x0d\xe5\xcf\xd0\x70\x32\x92\x1a\xe3\xb3\x42\x3a\x1b\x13\xb2\xb8\x90\xc4\xe9\xa4\x3e\x97\xcf\x26\xc6\x84\xfc\x68\x36\x5d\x18\x19\x55\x17\x52\x31\x21\x9b\x4c\xa4\x04\x36\x1f\x19\x4e\x0a\xec\x78\x64\x24\x11\x65\xf3\xd9\x42\x74\x4c\x9d\x49\x50\x2b\x27\xe4\xf2\x86\x59\x48\x62\xbb\x69\x24\x9d\x1e\x49\x0a\x43\xb3\x36\x40\x3b\xa7\x82\x1d\x4f\xa7\x84\x49\x4d\x34\x92\x15\xf2\xd2\x48\x55\x32\x58\xc8\x28\x75\xd2\x8f\x58\x06\x25\x5e\xf1\x51\x6a\xc2\x53\x39\x26\x97\xce\xe6\xd5\x34\x91\x7f\x27\x12\x54\xc8\xe8\x66\x66\x36\x69\x52\x99\xd1\x35\xa6\x90\x8a\xa5\xd9\xa4\x30\x12\x49\xaa\x63\x91\xdc\xe8\x70\x3a\x92\x8d\x69\x15\x75\xa6\x77\xea\x66\x54\x5b\x9a\x51\x86\xd3\xc9\x3c\x9f\x4b\xe4\x85\xf1\x48\x46\x55\x18\x1f\xce\x0a\xc9\x64\x84\xcd\x44\x72\x79\x41\x93\xa4\x9d\x18\x1a\x2e\x24\x87\x55\xc2\xce\xe8\x68\x24\x35\x22\x18\x24\x16\x0f\xcd\xcc\x60\x3a\xb9\x28\x6b\x2a\x4f\xa7\xd2\xa1\xf1\x98\x36\x97\x17\xf2\xa3\xe9\x5c\x34\x9d\x11\x54\xb9\x42\x22\x4f\x25\xa6\xa2\x4a\x45\x29\x72\xd1\x74\x3c\x2e\x08\x4c\x3c\x9d\x8e\xe9\xa5\x99\x52\x9a\x4e\xe8\x10\x86\x0b\x89\x64\x2c\x91\x1a\x51\x8d\xa6\x73\x19\x3a\xef\xa8\x23\xe3\xc3\x85\x64\x24\x15\x15\xb8\x71\x21\x36\x96\xc8\x6b\xe3\xb4\x4b\x42\x76\x68\x9b\x90\x67\x86\x05\x21\xcb\x8d\xca\x66\x2a\xde\x12\x17\xcc\xb1\x74\x61\x98\xaa\x52\x8a\x72\x5c\xd2\xbf\x79\x35\xb2\xfe\xcd\xab\x2a\x64\xe6\x23\xd1\x71\x69\x8e\xe1\x6b\xe7\x20\xaa\x66\x30\x34\xc7\x6e\xe5\x63\x42\x6e\x2c\x9f\xce\x70\xc9\x48\x86\x66\x92\xa2\xe4\x75\xe3\xe9\x61\x3a\x2e\xe9\xd7\xa8\x53\xf4\x5b\xd2\x37\xcd\xf6\x42\x3a\xaf\x34\x2d\x83\xb2\x9c\x73\x99\x44\x2a\x25\x64\x39\xf9\x5e\x36\x2b\x64\x92\x93\x1a\xc5\x14\x44\x92\x79\xd3\x5c\x13\x28\x99\xa1\x39\x66\x90\x96\x35\xc2\xce\x0c\xfd\x15\xca\xd2\x4d\x26\x23\x19\xf9\x3e\x36\x37\x9e\x48\x0a\x6c\x3c\x9b\x9e\x48\x91\x71\x61\x94\x1f\x89\x8c\x0b\x99\x48\x4c\x35\x26\x4c\x4a\x7a\xa1\xa2\x6b\x09\x7a\xa7\x41\x02\x24\xd3\x22\x64\x85\x98\x2a\x2f\x64\xc7\x13\xa9\x48\x92\xa1\x2b\x06\xb5\xd4\xa1\xa1\x48\x32\x69\x9c\xb5\x77\x8a\x01\x4a\xa6\xa3\xf2\x64\x21\xfd\x7e\x99\x68\x36\x9d\x51\x53\x14\x3a\x5d\x8e\x51\x63\x93\x48\x8d\x31\x43\xbe\x70\xbb\x76\xce\xcc\xa2\xcd\x15\x32\x42\x36\x17\xcd\x26\x32\x79\x75\xae\x30\x2c\x43\xcc\x90\xaf\xcd\xaf\xcb\x14\x76\xed\xa2\xbc\x4b\x08\x51\x41\x33\x9e\xa0\x0d\x52\x36\x1a\x8e\x81\x43\xd2\xc2\x6b\x34\x21\x24\x63\x86\x99\x89\x46\xee\x8d\x99\x4e\x51\x43\xc2\xce\x7c\x22\x35\x52\x48\xe4\x46\x85\x2c\x97\x4d\x47\xc7\x04\x3a\xf1\xec\x8c\xc6\x52\xe6\x99\xd9\x26\x37\xb3\x68\xb1\xcc\xab\x51\x0c\xd4\xdc\x2a\x6a\xa0\xe6\x96\x25\x03\x35\x9a\x1f\x4f\x06\x99\x68\x2e\xe7\xe7\x22\xa9\xe8\x68\x3a\xab\x91\xad\xaa\xa2\xc4\xc9\x64\x4e\x98\x14\xac\x42\x32\x99\xc8\xe4\x12\xb9\x39\x13\x92\x79\xb6\x6e\x66\xd2\x62\x86\xfc\x2d\x7e\xb5\xb4\xf4\xa3\xed\x73\xf9\x04\xed\xaf\xe1\xd8\xca\x41\x9a\xae\x65\x93\x2f\x55\xaa\x92\xc2\x0e\x21\x49\xd5\x50\x06\x24\x8d\x95\xaf\x4b\xcb\x08\xc9\xac\x4b\x3f\x89\x21\x7f\xab\x4f\x23\x4f\xf9\xd2\x8c\x10\x4d\x8f\x67\x22\x39\x3a\xb3\xc9\x0a\x72\x4c\x53\xf2\xe9\x0c\xbd\x3b\x4c\x84\x42\x96\x8c\x0c\x67\x48\x21\x17\x23\x89\x54\x96\x6c\xcb\x4c\x92\x6c\x61\x98\x8c\x65\x27\xc8\x70\x3e\x4a\x97\xc9\x82\x7a\xf6\x37\x6b\x92\xec\xd0\x30\x55\x8c\xcc\x68\x64\x58\xc8\x33\x43\x7e\x5f\xbb\x65\xb6\x56\x79\x63\x24\xe4\x1c\x27\x56\xd1\x61\xe9\x67\xaa\x25\x1b\x6c\x9e\x57\x92\x6c\xd3\x90\xdf\x1f\xa0\x49\x50\x37\x99\x2e\xe4\x0b\xc3\xca\x40\x94\x02\xb3\x33\x91\x1a\x51\xef\x9c\x59\x7a\xcc\xde\x43\x99\xc9\xc7\xb2\xe9\xcc\x70\x7a\xa7\x3e\x97\x8f\x44\xc7\x66\x8c\x97\x3a\x91\xca\xe5\x23\x23\xd9\xc8\x38\x17\x4f\x26\xa2\x63\x59\x12\x89\xa5\x98\x78\x6b\xb8\xd5\x30\x9c\xc8\x0f\x17\x28\xeb\x15\x31\x14\xc6\x87\x93\x59\xad\x9c\x49\x55\xc6\x64\x3a\x35\x32\x67\x96\xd2\xcf\x29\x17\x32\x73\xaf\x52\xbd\x32\xcd\x29\xcb\x3f\xf1\x89\x44\x2a\x96\x9e\xc8\xf1\x91\x54\x2c\x9b\x4e\xc4\xd8\x64\x22\x55\xd8\xc9\xc7\xb2\x89\x61\x3a\xb7\xe4\xc6\x26\x33\x82\x26\x9e\x2e\x64\x73\xdb\x0b\x91\xac\xc0\xe5\xa9\x1d\x4e\x73\x71\x61\x3c\x92\x14\x18\x9a\xd0\x09\x3c\x9f\xc8\x90\x5c\x81\x8a\x36\x14\xe2\xe9\xc3\x4d\x62\x87\x40\x86\x0b\x23\x78\xc7\x18\x3b\x21\x24\x86\xd3\x5c\x56\x48\x65\x05\x7a\x43\xd8\x67\x90\xc6\x3e\x34\x33\x78\x5a\x17\xb0\xcb\x5d\x9a\x99\x73\x93\xf2\x9c\x43\x2f\x85\x0c\xb1\x74\x7e\xce\x05\x5a\xd7\xa6\xdb\x91\x18\x17\xd2\x43\x72\x9f\x98\x21\x7f\x5b\x8b\x5e\x9e\xd9\xa4\x8a\xa1\x34\xad\xf2\xd1\xc4\x4f\x13\x2a\xab\xb6\x20\x4d\x42\x34\x09\xd3\xa4\x8d\x26\xed\x7c\x21\x95\x18\x68\xed\x6e\x61\xe2\xad\x91\x56\x66\xc8\xdf\x4e\x91\xda\xfd\xb4\x48\x91\xda\x29\x52\x3b\x45\x6a\xa7\x48\xed\x14\xa9\xbd\x9d\x19\x0a\xb4\x48\x18\xc3\x14\xf2\xd1\xc4\x4f\x93\x80\xdc\x5a\x4f\x2b\x2d\x84\x68\x12\xa6\x49\x1b\x4d\x28\x52\x6b\x0b\x4d\xe8\xd5\x56\x8a\xd4\x4a\x91\x5a\x03\x34\x09\xd2\x84\x62\xb4\x52\x8c\x56\x8a\xd1\xaa\xf4\xad\xb7\x45\xc9\x29\x9e\x8f\xe2\xf9\x28\x9e\x8f\xe2\xf9\x28\x9e\x8f\xe2\xf9\x28\x9e\x8f\xe2\xf9\x28\x25\x3f\xa5\xe4\xa7\x18\x7e\x8a\xe1\xa7\x18\x7e\xa5\x7b\x7d\x4a\x83\x7d\xad\x4a\x2e\xdd\x41\x51\xfd\x0a\xc9\xbe\xa0\x92\x87\x94\x9c\x36\x1e\xa0\x6d\x04\x28\xd5\x00\xa5\x1a\xa0\x54\x03\xd2\x05\x8a\x1a\x50\x50\xfb\x29\xe1\x20\x25\x1c\xa4\xcd\x06\x29\x52\x90\x22\x05\x29\x52\x90\x22\x05\x29\x52\x90\x22\x05\x69\x57\x43\x14\x23\x44\x31\x42\x14\x23\x44\x31\x42\x4a\x57\x07\xa4\x6b\x14\x29\x14\x66\xe2\xad\x71\xe9\x1a\x45\x0a\xd3\x0b\x61\x8a\x14\xa6\x48\x61\x7a\x21\x4c\xc9\x84\x29\x99\x70\x88\xde\x1c\xa5\x10\x25\x13\xa6\x18\x6d\x14\xa3\x8d\x62\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\x50\xbd\x08\xb4\x51\x8c\x76\x8a\xd1\x4e\x31\xa8\x52\x04\xda\x29\x46\x7b\x80\x89\xfb\x24\x31\xb6\x87\x28\x24\x5d\xa0\x18\x54\x29\x82\x2d\x2d\x34\x69\xa5\x89\x8f\x26\x7e\x9a\x04\x68\x12\xa4\x49\x88\x26\x61\x9a\xb4\xd1\xa4\x9d\xdd\x21\xa4\x0a\x39\x66\x28\x48\x55\x22\x48\xdb\x0a\x52\x95\x08\x52\x95\x08\x52\x95\x08\x52\x95\x08\x52\x95\x08\x52\x95\x08\xb6\x52\x22\x3e\x4a\xc4\x47\x31\xa8\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\x32\x04\xa9\xf9\x0a\xfa\x29\x86\x9f\x62\xf8\x29\x06\xd5\x81\xa0\x9f\x62\x04\x28\x46\x80\x62\x04\x28\x06\x15\x7d\x90\x8a\x3e\x48\x45\x1f\xa4\xa2\x0f\x52\xd1\x07\xa9\xe8\x83\x01\x8a\x11\xa4\x18\x54\xee\x41\x2a\xf7\x20\x95\x7b\x90\xca\x3d\x48\xe5\x1e\xa4\x72\x0f\x52\xb9\x07\xa9\xdc\x83\x54\xee\x41\x2a\xf7\x20\x95\x7b\x90\xca\x3d\x48\xe5\x1e\x0c\x51\x8c\x10\xc5\xa0\x42\x0f\x86\x28\x46\x88\x62\x84\xda\x99\xb8\x2f\xd4\x42\x13\x8a\x11\xf6\x51\x88\x62\x50\xa1\x07\xa9\xd0\x83\x61\x8a\x11\xa6\x18\x54\xe8\x41\x2a\xf4\x20\x15\x7a\x90\x0a\x3d\x48\x85\x1e\xa4\x42\x0f\x52\xa1\x07\xa9\xd0\x83\x54\xe8\x41\x2a\xf4\x20\x15\x7a\x90\x0a\x3d\x48\x85\x1e\xa4\x42\x0f\x52\xa1\x07\xa9\xd0\x83\xed\x14\x83\x5a\x82\x20\xb5\x04\x41\x6a\x09\x82\xed\x6d\x4c\xdc\x17\x16\x24\x35\xf5\xb5\xb5\x28\x79\x2b\x33\x14\xa2\xa2\x0f\x51\xd1\x87\x14\x7b\xe0\x6b\x0b\x2a\x79\x88\x56\x86\x69\xd2\x46\x93\x76\x66\x28\x44\x75\x29\x44\xe5\x1f\xa2\xf2\x0f\x51\xf9\x87\xa8\xfc\x43\x54\xfe\x21\x2a\xff\x10\x95\x7f\x88\xca\x3f\x44\xe5\x1f\xa2\xf2\x0f\x51\xf9\x87\xa8\xfc\x43\x54\xfe\x21\x2a\xff\x10\x95\x7f\x88\xca\x3f\x44\xe5\x1f\xa2\xf2\x0f\xf9\xe4\x9f\xa5\xaf\x5b\xe9\x61\x77\xab\x92\xfb\x94\xdc\xaf\xe4\x4a\x57\xbb\x95\xae\x76\x87\x94\x3c\xac\xe4\x6d\x4a\x3e\xd3\x5e\xb7\x92\xf7\x28\x79\xaf\x92\xf7\x29\x79\xbf\x9c\xf7\x28\x74\x7b\x14\xba\x3d\x0a\xdd\x1e\x85\x6e\x8f\x42\xb7\x47\xa1\xdb\xa3\xd0\xed\x51\xe8\xf6\x28\x74\x7b\x14\xba\x3d\x0a\xdd\x1e\x85\x6e\x8f\x42\xb7\x47\xa1\xdb\xa3\xd0\x55\x8c\xa6\xaf\x57\xa1\xdb\xab\xd0\xed\x55\xe8\xf6\x2a\x74\x7b\x15\xba\xbd\x0a\xdd\x5e\x85\x6e\xaf\x42\xb7\x57\xa1\xdb\xab\xd0\xed\x55\xe8\xf6\x2a\x74\x7b\x15\xba\xbd\x0a\x5d\xc5\xb6\xfa\x14\xdb\xea\xeb\x53\xe8\xf6\x29\x74\xfb\x14\xba\x8a\x85\xf5\x29\x16\xd6\xd7\xa7\xd0\xed\x53\xe8\xf6\x29\x74\xfb\x14\xba\x7d\x0a\xdd\x3e\x85\x6e\x9f\x42\xb7\x4f\xa1\xdb\xaf\xd0\xed\x57\xe8\xf6\x2b\x74\xfb\x15\xba\xfd\x0a\xdd\x7e\x85\x6e\xbf\x42\xb7\x9f\x6a\x4a\xbb\x42\xb4\x5f\x21\xda\xaf\x10\xed\x57\x88\xf6\x2b\x44\xfb\x15\xa2\xfd\xfd\xf2\xa7\x25\x38\x7a\x14\x61\xe9\xeb\xb3\x01\x21\x54\xa4\x7c\xf1\x06\x04\xf8\x39\x04\x88\x99\xfd\x36\x25\x7d\x9f\xfe\x71\xc7\xd7\x24\xb7\xb7\x1f\xad\x5e\xdc\x42\xf3\xd7\x5a\x47\x1f\xfb\xff\x02\x00\x00\xff\xff\x5c\xbc\x44\xc5\xac\x86\x02\x00") - -func uiAppLibFontAwesome470FontsFontawesomeWebfontTtfBytes() ([]byte, error) { - return bindataRead( - _uiAppLibFontAwesome470FontsFontawesomeWebfontTtf, - "ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf", - ) -} - -func uiAppLibFontAwesome470FontsFontawesomeWebfontTtf() (*asset, error) { - bytes, err := uiAppLibFontAwesome470FontsFontawesomeWebfontTtfBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf", size: 165548, mode: os.FileMode(420), modTime: time.Unix(1, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -var _uiAppLibFontAwesome470FontsFontawesomeWebfontWoff = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\x92\x53\x70\x25\x0c\xb0\xad\x77\x6c\x3b\x13\x4c\x6c\x4c\xec\x89\x6d\x4e\x6c\xdb\xb6\x6d\xdb\xb6\x6d\x27\x3b\xb6\x6d\xdb\xb7\xfe\xba\xe7\xbc\x9d\xae\xfa\xaa\x1f\xfa\xa1\x57\x7d\xb5\x5c\xe5\x44\x45\x01\x20\x00\x00\x00\xc4\xe7\x14\x80\x00\x00\x00\x40\x43\xaa\x00\xe0\x00\x28\xc0\xff\x31\xa2\xa2\xca\x32\x00\x00\x08\x23\x00\x00\xc0\xfb\x0f\xcb\x1e\xb1\x76\x31\x61\x11\x51\x00\x00\x44\x1a\x00\x00\x10\x02\x00\x80\xdf\xa0\xb7\x00\x70\x39\x25\x06\x26\x00\x00\xc4\x0a\x00\x00\xf0\x01\x00\x00\xbd\x30\x26\x0f\x7e\x43\x6b\x7d\x3b\x00\x00\xa4\x0a\x00\x00\x31\x07\x00\x40\xef\x61\x7b\xb9\x7c\x4d\xf5\x1d\xed\x00\x00\x30\x6c\x00\x00\x00\xfd\x1f\x3f\x3f\x00\x30\x53\x2b\x77\x13\x00\x00\xec\x37\x00\x44\xd7\x1d\x00\x2a\xdd\x15\xfb\x52\x23\x63\x66\xac\x6f\x04\x00\x31\xc8\x02\x00\x00\xcc\x00\x00\x80\x0d\x39\xfc\x88\xce\xcc\xcc\x58\x1f\x00\x62\x30\xfb\x3f\x7f\x49\x91\xc0\x60\x9b\xcd\xac\x9d\xdc\x00\x20\x06\xb7\x00\x00\xe8\x23\x00\x00\x7b\x2b\xe2\x8e\x1d\x6c\x65\x6b\xa8\x0f\x00\x31\x3e\x04\x00\xa0\x30\x01\x00\x38\x64\xd0\xa7\x02\x2d\x6b\x7d\x37\x3b\x00\x88\xd5\xe7\xff\x66\x06\xa3\x05\xc5\xb3\xd1\xb7\x36\x06\x80\x58\xe3\x01\x00\xa0\xc2\x00\x00\x78\xc8\x41\x6a\x64\x95\x9d\xad\xa3\x13\x00\xc4\x56\x0f\x00\x40\x0a\x06\x00\x70\x9d\x6b\x63\x33\xf3\xff\x33\xf5\x9f\x8b\x29\xde\x82\x99\xff\xf6\xa4\x1c\xcf\x7f\x3e\x00\x8b\x7f\xcc\xda\xdd\xb2\x0c\xf5\x8c\xf4\xf4\x76\xc1\x0c\x60\x20\x91\xf5\x0c\xf4\x8c\xf4\x8c\xb8\xc0\x49\xd5\xfb\x78\x20\x01\xf0\x6d\x80\x17\xc0\x7f\x77\x93\x49\xa3\xac\xbe\xbe\x89\xbe\xbe\xf9\x41\x83\xa9\xbe\xbe\x59\xc8\xfc\xf4\x08\x1c\x6c\xec\x4e\xec\x5b\xbf\x80\x89\x02\x03\x48\x28\xc8\xe0\x5a\x78\x2b\xf8\x1f\x7f\x2f\x36\x48\xd1\x38\x46\x92\x04\x54\x08\x48\x51\xc0\xec\x24\xb4\x0d\x00\xe0\x96\x35\x9d\xb0\x23\xb9\x6f\x8f\x3c\x7c\x62\x6a\x61\x7c\xfc\xc6\xd7\x47\x7c\x0e\x26\xdc\xed\x37\xc6\xe7\x07\xed\xb9\x20\x12\x26\xf7\x9b\xcf\xff\x15\x7c\x1f\x2d\x2c\xf5\x17\x2d\xf1\x9c\xf3\x98\xce\x65\x31\xb4\xa6\xa6\xe6\xdb\xe0\x96\xc5\x87\xad\x63\xc9\xd3\xb2\x6e\xaf\xcc\x69\xc1\x05\x19\x17\xa3\x29\x07\xe3\x14\x54\x08\x4a\x3c\x44\xfa\x0a\xd4\x9d\x20\xd6\x0d\xbd\xf4\xb6\x63\x8c\xc7\x60\xdd\x4a\xd1\xef\x3f\xea\xa9\x51\x56\x52\x6a\x2e\x47\x99\x78\xc6\x8e\xed\x4e\x35\x05\x54\x32\x96\x3a\x91\x1a\xcb\x15\xcb\xcd\xe5\xd6\x57\xe7\x31\x88\x8b\x2b\xe1\xc0\x34\x83\x0c\xcb\xa9\xc6\x31\xa6\xca\xaa\xc6\x71\xb6\xce\xcd\x03\x3f\x3e\x8a\x2c\xf5\x89\xf9\x94\xd6\x82\xe4\x6a\x0b\x67\x4b\x8d\x8d\x8e\x16\x53\xb0\x07\x6b\xa6\xe4\xdf\xd0\xe3\x38\x6f\x9f\x11\x94\xe7\x2c\x95\x10\x74\xe6\x22\x96\xeb\xb3\x29\x2e\x4d\xa5\xde\xf8\xe7\xff\x92\x05\x47\xe1\x57\xd4\xf5\xc2\x31\x96\x57\xf5\x22\xf1\x9f\x57\x4f\xe2\x0c\x2b\xc2\x39\x27\x35\xfa\x25\x55\xeb\x33\x58\xab\x8c\xf1\x2f\xd4\x77\x42\xd8\xbe\xc5\xe0\x81\x01\xd5\x7a\xcc\xaf\xe8\x5e\xf0\x6c\x9f\x95\x73\x5f\xa7\x91\x9a\xce\x12\xa9\x76\x93\x36\xe3\x74\x1d\x6d\x91\xed\x65\x9a\x76\x28\xd2\x77\x58\xb1\x8c\xc8\x11\x50\xd2\x76\xb1\xdc\x9b\xfb\x90\x2b\x6d\x03\x64\xdf\xbb\xa0\x27\x1c\x83\xb6\x9f\x03\xd8\x7c\xa2\x1c\xc3\x30\x31\x77\x68\x62\x1c\x43\x48\x78\x7a\x84\x3b\x6a\xbd\xc0\xda\xaf\x96\xfb\xfd\xfb\x80\x27\xe2\x7c\x11\x1d\xa4\x29\xdd\x3d\x5e\x4a\x02\x29\x5a\xd1\x44\xa9\x49\x9a\x1f\xf7\x1b\x34\x83\xb7\xc1\x87\xff\x5f\x77\x90\x9f\x1f\x00\xa8\x5b\x56\x57\x37\x8c\x9f\xf2\x52\x32\xe3\xe7\x75\xb7\x6d\xb9\xb7\x67\xb3\xb3\xb3\xb3\xab\x8a\xda\x52\xe5\xb9\xcd\xa9\x8d\x85\xb5\x07\x5d\x46\xb6\x8d\x0b\x38\xf8\x10\xa6\x48\xbc\x88\x80\x00\x32\x96\x24\x11\x75\xd8\x2f\xca\xfd\x6d\x33\xe1\x71\x26\x43\xcc\x07\x32\xd1\xac\x89\x92\x44\x11\x03\x54\x03\xb6\xde\xb7\x75\x52\xf2\xf4\xb6\xa8\xc4\x43\x76\x94\x0e\x82\x9d\xf6\x17\x15\x15\x35\x76\x84\xd3\xa9\x4f\x42\xa7\x6e\xd7\x97\xa7\x4d\xcf\x19\xce\x97\xac\x07\x8e\x29\xeb\x63\x0e\x03\xb4\xbd\x7e\x09\xbc\x54\x98\xf5\xc0\x21\x82\x26\xa4\xfc\xae\x8c\xad\x28\x28\x76\x38\x7f\xa5\x4c\x91\x6b\x74\xb1\x1f\xa2\xeb\x04\xe6\xac\xd7\xa8\xb8\x03\x8b\xbe\x83\xa4\x38\x5e\x6c\x57\xee\x61\xf9\x3a\x1d\x89\x12\x34\x01\x6e\x45\xc5\x71\x9b\x24\xe8\x11\xcb\xf8\x57\x69\xa5\x3d\xfa\xa4\x27\xaa\x08\x5b\x0e\xb1\x5c\x4a\xcd\xb6\x4a\x2a\xbc\x07\x68\x4e\x39\x5a\xda\x29\x68\x01\x27\x7f\xa5\x04\xd8\x4f\x14\xc4\x1b\x33\x58\xf7\x0a\xe7\x0e\x0b\x0d\x28\x28\x67\x3b\x79\x31\x34\xb7\x4b\x59\xb8\x1a\xdb\x91\x71\x9b\xac\x30\xcf\xcb\x01\x33\x5b\xa6\x6c\x81\x33\xe1\x4d\x3a\x87\x85\x65\xed\xe6\xfd\x0a\xe7\x85\x5d\xd6\xbb\x73\xe3\xe0\x39\x9d\xe2\x14\x23\x99\x96\x7f\x99\xc8\x1c\xbc\xd8\xb9\x2b\x87\x0e\xac\xd3\x9d\xa0\x3a\x0a\x5a\x4f\x3e\xf9\x85\x4c\x7e\x5d\xaa\xa9\x8c\xbf\x63\x6c\x0f\x18\x2d\x85\x10\xd7\x7f\xdb\x0b\x9c\xb6\x46\xc3\xcd\x12\x06\xd4\x2c\x8b\xa1\xf0\x0c\xc0\xb6\x70\xce\xef\x01\x6e\x5c\xda\xf4\xb0\x37\xbd\x64\xbf\xfe\x75\xab\x7d\x61\x4b\x9c\x72\x11\x3f\x51\x2c\xe8\x3f\xad\xaa\x6d\x77\xc8\xf1\x7a\x7f\xae\x5b\xc6\x92\x80\x2c\x11\xef\xbd\x36\xb3\x17\x1a\xa3\xc0\xc3\xc4\x15\x91\xa9\x3a\x8e\xfb\x40\xd0\x75\xbb\x93\x0e\x37\x8f\x2e\x2d\xbc\x74\x3f\x61\x3c\xfd\x0b\x02\x42\xba\x92\x53\xd8\x83\x8e\xbe\xb5\xd1\xdb\xd0\x8f\x8a\x5c\x16\x0c\x49\x61\x6e\x82\x93\xf8\x15\x48\x0a\x87\xaf\x67\xdb\x60\x5f\x34\x75\xa3\xb1\xa3\xa5\x81\xcd\x1d\x3d\xb6\xf1\x36\x7b\x41\xc5\xb8\x26\x4a\x73\x2d\x44\x33\xb9\x58\x3b\x28\xba\x70\xf1\x32\xca\xb7\xf3\x0b\x7f\x6d\x24\x86\x5f\x96\xa8\x06\x69\xb0\x1b\xa3\xc9\x55\xf8\x46\x82\x1b\x35\xc6\xb1\x4f\x8a\x23\xcb\x74\x28\xa9\x37\x7a\xdd\x6a\xda\x86\x5d\x3d\xa5\x9b\x50\x08\x02\x8f\xa5\xbd\x3b\x5f\x47\x5a\xe7\x53\x0f\x55\x5f\x72\x26\x9e\x6b\x74\xb6\x68\x0e\x3d\xd5\xa0\xa0\xb1\x6a\x78\xeb\x4b\xcb\x9d\xe7\x8b\x96\x4b\x78\x29\x2c\x06\x21\x80\xb4\x93\x5e\xf0\xdc\x8f\x2e\xd9\x02\x71\xd3\x33\xb6\xbc\x9f\x55\x8c\xe3\x58\xf6\x1c\xc4\x3d\x12\x03\x8d\xa1\x99\x04\xd8\x1c\xd9\xa5\xed\xee\x1a\x21\x6c\xa3\x4d\xb6\x9c\xc0\x19\x7b\x1e\x78\x73\xe6\xdc\x00\xcc\x11\xcb\xfa\xd2\xcc\xbe\xa0\xf9\x3f\x64\xb1\xe4\xf8\xc1\x1f\x08\xf9\xdf\x40\x4c\xe7\xb2\x8f\x16\x4b\xac\xa0\x41\xb8\x9a\xee\x6a\x4f\x71\xef\xd2\x5b\x7e\xa0\xbf\xda\xe9\x40\xaa\x8e\xfd\xcd\x62\xeb\xf7\x1c\x0b\xf7\x2f\x44\x53\x53\xf6\xaf\x83\xea\x9f\x2f\xd9\x3d\xf7\xea\x4b\x86\x81\x4d\x04\xfb\x27\xdc\xa8\x09\x79\xbc\xec\xd6\x30\x80\x1c\x60\x36\x4a\xba\x9f\x05\x2d\x7e\xc1\x3e\x96\xb6\x2f\xed\x75\x31\x34\x85\x38\x55\xc9\xa5\x9c\xd7\x02\x49\xba\x0c\x8e\x41\x85\xb0\xca\x42\x88\xb0\x9b\xce\x75\xc2\xb6\x30\x76\x7d\x2c\xda\x26\xf7\xbd\xc8\x22\x61\xaa\x06\x77\xc1\xf3\x26\xdd\x42\xab\x00\xe2\x0b\xa1\xba\xdc\x45\xe4\xb1\x71\xce\x12\x01\xe1\xfc\x70\xcd\xa3\x83\xcf\xae\xdd\x86\x37\x58\x87\x37\x02\x5b\xdf\x42\x42\x98\xb2\xf9\x60\x73\x7a\xb7\x35\xaf\xad\x63\xff\xd5\xde\x19\x22\x62\x46\x94\x7b\x2e\xfa\x94\x75\xb9\x26\xc4\x91\x1d\x8e\x5b\x41\x88\xbd\x43\xa5\xbb\x5b\xf3\x2b\xb8\xe3\xbe\x79\x25\x2c\x7f\x71\xea\xd5\x5d\x43\x62\x23\x0d\xed\x74\xb5\xf3\x94\x3a\x06\x9d\x88\x14\x06\xec\x06\xd1\x68\xbf\x39\xa8\x31\x1c\x64\x38\x05\x11\x7a\x93\x6e\x32\xf4\x6f\xeb\x27\xa6\xe7\xc3\x94\xf5\x57\xe7\xdc\xc8\xd6\xd7\x86\x09\xdb\xc6\x8c\x9d\x6d\xe5\x8e\xcf\x87\xf5\x62\xb7\xeb\xc2\x41\xac\x6d\xc7\xe9\x9e\x18\x9b\xcc\xcc\x51\x89\xad\xc7\xa1\xfe\x3d\x1d\xdd\xa7\x35\x36\x14\x89\xf6\x5f\x54\xed\xbf\xaa\x35\x31\x96\x7b\x1e\x6d\x6f\x9b\xc5\x9b\xcd\x9b\xf4\xd7\x7c\xd7\x54\xd7\xb9\x9c\xb2\xe2\x64\xc9\xe4\xca\x0c\xcb\xbf\x4b\x3b\xc1\x40\xa0\x75\xfb\x62\x2f\x25\x82\x05\xdc\x50\x0e\xe7\x56\x5f\xe5\xd2\xbf\x05\x9f\xa2\xb5\x39\x28\x4b\x5f\x57\xe9\x5d\x62\xa0\x66\xa8\x7a\x40\xc5\x78\xc1\x73\x06\x37\xc5\xa3\xe4\xe3\x95\xa6\x55\x4a\x3a\xe4\xd3\xeb\x0e\xf9\x4c\x22\x45\x83\x44\x12\xe9\xc4\xf2\xc5\x46\x1d\x31\xbd\xd2\x30\xaa\xe6\x29\xfe\xa2\xfa\x78\x0c\x49\x50\x27\x96\x1d\xa4\x28\xee\x79\x9d\xa1\x57\x6a\xea\xc1\xa5\x94\xf6\xd1\xa9\x02\x29\xb6\xd2\xc5\xa2\xe5\x31\x70\x99\x0d\xb0\xc2\x28\xb4\x7c\x15\x8f\x12\xbe\xbe\x24\xa6\x72\x48\x6c\x12\xb8\xd5\xe0\x8f\x4f\x53\xd6\x72\x85\x1f\xc3\x7d\x95\xf7\x70\xbe\xe7\xda\x0d\x38\x5a\x18\xd7\x74\x1c\xd9\x68\x1d\xc6\x8a\x9b\x2b\xe0\xcc\xab\x1b\x62\xef\x62\xa3\x7f\x72\x9f\x63\xab\x91\x1c\xad\xff\xb0\x12\x5a\x5a\x46\xe6\xd3\x7a\xc7\xb4\xd9\xd7\xcc\xab\x8d\x65\x73\x5f\x27\x96\x56\x39\x15\x02\x1c\xe7\xa1\xde\x8d\xd7\xd4\xb1\xed\x13\xec\x85\x18\xd2\xf2\x0a\x18\x01\xf9\xf6\x27\xfb\xbe\x5e\x98\x7c\x6f\x65\xb0\xc8\xcc\x53\x03\xd0\x41\xd9\xc7\x40\x7c\xb5\xb3\x6f\x86\x98\xa5\xb2\x7c\x3f\xc7\x73\x51\x20\xf1\xf6\xb8\x6f\xba\x63\x20\x12\x10\x4a\xa2\xca\x56\x40\x5c\xe2\xf9\x37\x07\xca\xe3\x6d\x99\xd0\x7e\xf6\xf7\x40\x50\xe7\x27\xdc\xa7\x6b\x79\xe8\xa7\xcf\x39\x3f\x6c\x4f\xee\xfb\xb8\x2e\x66\x1d\xe5\x8f\xb6\x19\xef\xd3\xc7\xd7\x79\xed\x2d\xd8\x6e\xb0\x43\x2d\xe7\x83\xff\xee\x2e\x92\x1d\x51\x0c\x1c\x77\xb5\x78\x55\xec\x39\x0a\x9d\xa6\x84\xc9\x63\xe1\xa4\x2b\x37\x19\x2f\x2a\x5e\x95\xd1\xd3\xca\x79\x6d\x73\x42\x1c\x68\x8d\x81\xb5\x38\x55\xca\xb7\x25\x34\xaf\x6d\x55\xaf\x56\x44\x48\xa7\xd9\x87\x08\x34\xb0\xdf\x7c\x1d\x9e\xdd\x1c\x89\x8b\x8e\xc8\xda\x86\x4b\x4f\x33\x44\x6c\x53\x3b\x70\xf7\x52\x4c\x84\x36\x92\x1b\x2b\x65\xd8\xb1\xc1\x5d\x9c\x0d\x2c\x82\x09\xfc\x74\x24\xcc\x11\xfd\x7a\x29\x95\x0b\xeb\x3a\x38\x14\x38\x21\x91\xed\x5b\xc6\x3f\xa6\xa3\xb5\xe3\x8a\x18\x54\xd5\x20\xa7\x0a\x1c\x6c\xce\x81\x68\xce\xad\xfa\x0a\xe6\xa9\xc6\x30\xfd\xab\x5d\xa9\xee\xf9\xd7\x5e\x2a\xd2\xb4\x4b\x3c\x55\x13\x2c\xb5\xe0\x1f\x32\xe6\x1b\xa0\x89\x3c\xd9\xc9\x68\xde\x26\x56\x33\x89\x76\xf6\x5d\xa3\x0f\x8d\x48\x3c\x9c\x8d\xa4\x0f\x83\xd7\x06\x6a\xab\xb1\x19\x3f\x63\x7f\x91\x5b\xae\xac\x57\xed\x47\xe5\xeb\x2b\x3c\x5b\x0c\x91\x45\x5b\x1b\xab\x8e\xad\x66\xad\xce\x6e\xe7\x8e\x3d\xe6\x46\xb3\x4d\x5f\xa6\x90\x55\xbe\xb5\xe7\xae\x2f\x5e\xb0\xc6\x57\xfb\xef\xe7\xde\xe6\x01\xcb\x11\x10\x6d\xec\xe7\x75\x45\xfe\xa6\xc4\xaf\xb8\xfc\xee\xbc\x2f\x8b\xdd\x56\x0b\x6a\x9c\x68\xa5\xe3\xd7\x4e\x16\x5a\x5b\x47\xfd\x38\xea\x6a\x51\x4f\xc0\x09\xfa\x2a\x64\xf4\x1a\x24\xc2\x4f\x10\x13\x1f\x47\x03\x83\x5d\x3c\x53\x9b\x19\x3f\x6a\xbd\xa5\xcf\x7a\xcf\xdd\xe7\xa9\xa0\x0f\x50\x7f\x5c\x13\xef\xd2\xdf\x21\x17\xc8\x2b\xef\xc0\x51\xa3\x94\x8e\x66\xbc\xf7\x96\x0a\xea\x68\x78\x2e\xba\x82\xb0\x90\x1a\x3c\xfb\xfb\x31\x55\x69\x8a\x44\x7e\x66\xcc\x8b\xd1\x63\x1f\xf7\x96\x22\xd9\x63\xee\x2c\x46\x09\x3a\xe0\x89\xaa\x3f\x8a\x43\x5f\x54\xb0\x4e\x54\x04\xe6\x7b\x41\x75\xd0\x21\x5a\x12\x3d\x2e\x89\x52\x04\x0d\x24\x35\x34\xcf\x44\x18\x0a\x0c\xd3\xae\x04\x3d\xc3\x4f\x25\x0b\x52\x2b\xf7\x09\x19\xb3\x89\x02\xcc\x8c\x45\x1e\x04\x3d\xb8\xe5\x37\x4c\x80\x05\xc8\x35\x62\x36\x8f\xd3\x29\x29\x9f\x11\xb3\xb7\x90\x4b\x88\x09\xce\xe3\xd2\x4b\xa7\x4c\x8a\x37\x9a\x86\x95\x49\xf9\xf1\x0e\x2d\xfd\x61\xee\xa2\x5d\x6c\xbf\xc5\x9f\x6d\xdc\x64\xa7\x65\xf5\x18\x8b\xc9\x1f\xa6\x0d\xab\x91\x54\x5a\x95\xfa\x72\xc8\xee\x1b\x90\xd6\x35\x1e\xae\xbb\x6e\x8f\xca\x35\x27\xcd\x34\xb2\x67\x75\xa2\x3f\x2e\x0b\xb8\x88\xf9\x32\x3f\x26\x0e\x86\xbe\x5c\xa8\xba\x36\xf7\x38\xc4\x2f\xe7\xec\x1e\x55\xae\xc3\x5f\x2e\x0f\x2b\xd6\x35\x08\x1e\x07\xce\xe6\x81\x6b\x46\x4e\xd5\x55\x11\x72\x15\x23\xf4\xcc\x52\x1b\x9b\x3c\xee\xf9\xe3\x46\x8c\xa1\x37\xcc\x56\x65\xd2\x56\xab\x39\xb3\xea\x4d\x43\xd5\x3e\x97\x06\xa6\x50\xbb\xd5\x24\x1c\xe2\x50\xec\xc9\x9d\x92\x83\x42\xd4\xa6\xea\x6d\x7e\xba\x90\xeb\xcb\xea\x52\xe6\x8b\x36\x41\x01\x8c\x1d\x02\x0a\xa8\xd8\x45\xc9\x28\x29\xf2\xe6\x32\xa6\xd8\x74\x70\x86\x63\x40\xe4\xd0\xe0\x69\x2a\x9e\x59\xce\xcd\xf6\xbd\xac\x61\x49\xf1\x94\x7f\x74\xc1\x20\x49\xb6\xc9\xf0\xe7\xae\xf0\xa8\xed\xcb\xfa\x38\xff\xb6\xb8\xe1\x5f\x17\x01\x60\xd9\x8b\xf0\x17\x3c\x1e\x03\x53\x8d\x40\x7e\xaa\xc8\x40\x70\xea\xbe\x31\x07\x44\xd7\xfc\x14\x2f\xe7\x36\x42\xbd\x6d\x82\xbd\x13\xab\x05\xc3\x2a\x5f\xe8\x80\xd0\x0f\xac\x9d\x36\xeb\x3f\x6f\x5c\x95\x5f\xed\xe2\x4c\x38\xee\xc0\xfc\x6a\x5f\x42\xf8\xd5\x64\xd0\x3d\xa3\x96\x6f\xf5\x95\xbc\x03\x91\x4f\x9a\x62\xb1\x6b\x78\x80\x46\x58\x36\xbc\x02\xac\x65\x52\x02\xa4\x3c\xf5\xf5\x28\x7d\x27\x14\x1b\x46\x9f\xdc\xd2\x26\x4e\x5f\x3b\x40\x6d\x98\xb7\x0d\xea\x2b\xd7\x26\x3b\x3d\xcd\x39\xf8\x5b\xb0\x77\xdc\x68\xd9\xf9\xa2\x0e\xe4\x87\xa3\x8e\xe7\x96\xbd\x85\xc5\xc7\xb0\x8f\x23\x0f\x92\xd2\x40\x0a\x45\x9b\x25\xc8\x2d\xc8\xa7\x9a\xda\x6d\x02\x8f\x37\xe5\x36\x69\xa0\xf7\x14\x79\x79\xe6\x8f\xf2\xc5\x2d\x53\xee\x8d\xd8\x4e\xbe\xb7\xd2\x8a\x77\xf4\xfc\xe7\xfa\xb6\x64\xe9\xbf\x90\x94\xc1\x76\x08\xf9\x0b\xdc\x40\x7e\x0f\x52\x4f\xf9\xf0\x81\xf4\xc2\x27\x62\x33\x2c\x9d\xe7\xd1\x75\x83\xd2\xd5\x74\x49\x87\x7a\x90\x1f\x82\xa6\x41\x3d\x45\x5d\xe6\xfc\xc9\x25\x10\x7e\x2f\x0e\x9f\x58\xdf\xdf\x2e\x5c\x62\x07\x22\x1c\x9d\x86\xdf\xe6\xe7\xda\xac\xe4\x2c\x6b\x4e\x13\xfd\x83\x6b\x31\x90\x38\x4a\x81\x49\x2b\x25\x68\xcf\xd7\x30\x24\x69\xd5\x2d\x37\xe8\xfd\x21\x8d\xac\x85\x7e\x10\x6b\x16\x0a\xbf\xa7\xd7\x18\x2f\x4b\xea\x9a\x07\x81\xb2\x7a\x89\xb3\x2e\x41\x44\x08\x78\x90\x48\x59\x8a\xbe\xee\xe7\x7d\xfe\x4a\x94\x2e\xb0\xda\xae\x82\xde\x92\xda\xd5\x7c\xce\xfb\xe0\x1d\xf0\xbc\xd1\xf4\x24\x42\x16\x38\x36\x94\xb4\xe8\xca\xe2\xce\x79\x69\x60\xba\x1a\xe9\x8f\x43\x30\x6c\xb1\xf6\x7d\xa9\xc7\xfd\xcf\x66\x50\x66\x27\xf2\x11\x2c\x24\x92\x25\xe2\x43\x64\x16\x4e\x31\xcc\xe0\x8b\x32\xe8\x01\x54\xcd\x24\x28\x28\x65\xd9\x1e\xab\xd8\xc8\xc1\x9b\x1e\x1d\xed\x75\x46\x4e\x27\xd0\x73\x7f\x84\x6d\x7c\xd2\xb1\x38\xa7\x19\xd2\xb3\xc7\x22\xf1\x4a\x7a\xd3\xf1\x5e\x0b\x8f\x05\x97\x2f\xf9\x65\xa1\x55\xff\x06\xd9\x51\x38\xa4\xc1\xad\x99\x10\x72\x15\xc0\x71\xcf\x19\x40\xd7\x0b\x8e\x29\x88\x1b\x04\x93\x9a\xd5\x33\x57\x09\x89\x79\xad\xce\x90\xb8\x30\x95\xbb\x6f\x1b\x35\x82\x58\x53\x65\xa2\x18\x83\xa5\xcd\xf4\x39\xba\x74\x64\xba\x4e\xf8\xac\x55\x5d\x65\x9a\xd8\xe5\xf8\xd4\x76\x0a\x8b\x85\xa1\xc3\x34\x39\xa0\xd4\xc0\x31\x26\xed\xeb\xfc\xf3\x98\x2c\x2c\xd9\x3a\x88\x79\x99\x5d\x0a\xdd\x44\x1d\x36\x8c\x4b\xc8\xb7\x22\x47\xf8\xad\xf5\xac\xa7\x35\xcb\x21\x2e\xae\x5f\x5b\x08\x40\x84\x97\x10\xfa\xdb\xde\xf8\x75\xf7\xdc\x39\xfb\xab\x9e\xed\x29\xf3\x99\x8b\xf5\x42\x9c\x7b\xd1\x2a\x7b\x6b\x3b\xcc\x8f\x45\x28\xe9\x75\x1f\x37\x96\xbc\x59\xeb\x11\x09\x42\xf4\xb6\xa7\x73\x7d\x17\x69\xe3\x97\xc5\x62\x15\x6d\xa1\x97\x8c\x10\xfa\x11\xce\x56\x52\xb5\x1f\x06\x03\x96\x09\x87\x5f\xe3\x66\x0d\x53\x59\xdb\x25\xcc\x2a\x7d\x44\xdf\x7c\xb4\x15\xac\x2e\x08\xc3\xa7\x9f\xc0\x57\xca\x9c\xa5\xf2\x83\x6a\x36\x30\xdb\x14\x0e\xea\xdb\x47\x39\x24\x1d\x0c\x0a\x18\x80\xcb\xa3\xc7\x54\xbe\x33\x7f\xa1\xb0\x4c\xce\x8d\xb3\xf9\x6f\x51\x00\x2a\x46\x8d\x7f\xfd\xae\x91\xdf\x34\xab\xc5\xc2\x33\xab\x05\xc7\x82\x16\x3a\x02\xa6\xc0\xb1\xd5\xd9\x59\x04\x0e\xa1\x0c\x2a\x23\xba\x61\x39\x37\xa7\xb5\x1c\x89\x6b\x49\xa0\x65\x1c\x81\x83\x96\x1c\xed\x7c\xee\x62\xa9\x0b\xc1\xdb\x2b\xa7\xc4\x00\x12\x0d\x1d\x82\xb1\x31\x99\xd0\x4a\x54\x01\x95\xd4\xce\x0d\x82\xb7\x7f\x0c\x9a\xc5\xc8\xc8\x9a\xfd\x79\xcc\xc6\x01\xd2\x99\x38\x40\x16\x93\x4b\x6e\x00\xce\x59\x27\xa2\xc1\x8d\xff\x2e\x3b\x20\xba\xe2\x1c\x4c\x68\x42\xac\xa1\x27\x69\x2f\x90\x3a\x8b\x4c\x34\x8a\x4f\xd9\xfa\x76\xe2\x6f\xf5\x32\x13\xfd\xa1\x6d\x67\xa7\x5d\x55\x45\x4f\x4f\xc5\xed\x64\x4d\xc4\x9f\x06\x87\x25\x2d\xe5\xc1\xc1\xb5\x7c\x29\x1a\xe9\xc1\xd5\x2c\xc3\xb5\x87\x40\xff\x81\xb8\x25\x9b\x46\x08\xd0\x7e\x2e\x3c\x8e\x9b\x82\xd1\x19\xa0\x7d\x99\x7b\xb7\x6c\xcc\xae\x96\xb0\xcb\x98\xc5\x77\xe8\x89\xe6\x53\xd9\x66\x89\xb0\x3b\x43\x04\x35\xaf\x38\xcc\x92\x26\xe3\xae\x55\x38\x07\xef\xcd\xc1\xa3\x5e\xaa\x70\x4f\x94\x11\xf9\x3e\x4f\xd6\x97\xdf\xba\x3d\xba\xe2\xaf\xab\xe7\x0e\x6f\x24\x9f\xde\x20\x2f\xeb\xbf\x9c\x9a\x0d\xea\x08\x9e\x4f\xe2\xad\x12\x5f\xfd\x58\xa2\xf2\xcd\x81\xe2\xdb\x76\xdc\xfc\x6d\x7d\xe5\xea\xb9\xa8\x91\xcb\xd7\x1b\x9a\xc2\x77\xcb\xda\x16\x7d\xef\xde\x1d\xd4\x83\x39\x50\x66\x92\x8b\x21\x9f\x14\x2e\x3a\x9d\xcf\x6c\xff\x84\x93\x5f\xa5\xd3\x32\xc7\x55\x41\x8e\x03\x9e\xf4\xf9\xff\x89\x3e\x5b\xe6\xf1\xec\xa6\x45\xa7\xc6\x27\xce\x0f\xc8\x36\xd4\x24\xdd\x65\xd1\x1f\xee\x06\x54\x5d\xd9\xa9\xfe\xa0\x18\x2f\x39\x9f\x43\x41\x2d\xfe\xac\xda\x65\x66\x15\x2d\x40\xd0\xc8\x6d\x73\x3f\x54\xa6\x6e\xdd\x95\xe2\x8c\x88\x02\xc4\x1a\xb5\x44\x3e\xa0\xf2\x67\xbb\x0d\x76\x2d\x4d\xdc\x61\x3d\xd0\xc7\xa1\xe2\x1c\x07\xaf\xe2\x10\x10\x60\xfe\x7d\x65\xbe\x27\x5b\xd6\x74\xc9\x2c\x47\xc8\x27\xdc\x6f\x6f\xab\xb7\xea\x9a\xf6\x0e\x90\xa0\xa5\x9b\x84\xc6\x79\x7b\x36\x03\x1a\x83\xa4\xcd\xe8\x9d\x64\x54\x29\x29\xcf\x81\xe3\x0c\xbb\xb3\xd8\x51\x2c\xce\x20\x3f\xff\x3a\x58\x9c\x41\x7a\x79\x42\x2c\xc9\x72\x87\x83\xe7\xa1\xfd\x1d\x79\xdd\xc2\x08\x4d\x08\x06\xc6\xa2\xee\xb6\xe2\x4e\xd1\x1f\xe4\x6b\x6e\x28\x7b\xe8\x71\x29\xb1\x5e\x56\xec\xb5\x82\xef\x40\x69\x0a\xd0\x82\xda\x43\xcd\xbd\x3f\x37\x25\x43\x18\x34\x0f\xba\x46\xe4\x6a\x0b\x2d\x79\x44\x5c\x3d\xd5\xc8\x62\xc3\xe6\x03\xec\xbe\x15\x25\x67\x11\x26\xd3\x0b\xaa\x48\x35\x89\x3b\xc0\xc4\x43\xd9\x48\xb4\x7f\x2f\x8b\xb6\x7d\xbe\x0b\x85\x2e\x57\x0a\x41\xb4\xe8\x1a\x86\x01\x7d\xf1\xcf\x16\x7d\xbd\x78\x77\x44\xf7\x98\x34\x8b\x48\x2e\xb5\x42\xfa\x8d\xdd\x07\x03\xaf\xe8\xab\xf5\x03\xd1\x2b\x6d\x46\xf2\x3d\xa2\x91\xa4\x56\x38\x87\xd3\x41\x8c\x65\x87\xce\x9a\x41\x17\x73\x8c\xf1\x27\x9e\xab\x6f\xd0\xee\x55\x96\x7a\xdd\x9a\x2e\x52\x54\x5c\x67\x80\x95\x84\xeb\xd6\x7c\xc5\xc0\xa5\xef\x6d\x76\xb6\x2e\xa7\x4a\x54\xb9\x9b\x0e\xa3\xfa\xb5\x52\xe8\x4d\xda\xa3\xa6\x60\x97\xac\x9f\x48\x26\x9a\xa5\x95\xd6\xea\xdf\xca\x2a\x9a\x2d\xb2\xe2\xb2\x1c\x79\x6a\x5e\xaf\x48\x20\xb1\xc5\x26\x62\x9e\xa1\x9b\x69\x56\xca\xd8\x5b\xba\xfb\xc5\x4f\x73\x98\x1a\x7f\x7e\x7f\xd7\xcc\x71\x58\x20\x7c\xea\x09\x14\x25\x60\xb7\xe0\x5e\x3a\x2c\xcf\x1d\x74\x45\x65\x24\xeb\xc1\x9b\x81\xc3\x77\x53\xa3\xa6\x19\xd4\x2c\xbc\x21\xbc\x6c\x1f\x91\xac\x9e\x4e\xfd\x3a\x2f\x5d\xea\xca\xfb\x16\xfc\x6a\x78\x8f\xc4\xb2\x28\x59\xda\x61\x74\x24\xb5\x79\xd3\x79\x61\xcf\xca\x76\x85\xcf\x27\x3d\x17\x1b\xcf\xe7\xbe\xed\x29\x44\x92\x85\xa5\xdf\x46\xc6\x16\xe0\x03\x63\xe6\x96\x49\xad\x71\x47\x0e\x8f\xfd\x5b\x93\xe3\x61\x37\x5d\x5c\x02\x4c\xf7\x47\x29\x62\xa9\xd3\xb7\xb7\x9b\x0f\x14\x23\x14\xdd\x5e\x71\xbd\xf6\xd2\xfe\x4a\x5c\xae\x05\xec\xbd\x12\xf5\xed\xad\xf6\x40\x8c\x1a\xe0\xb8\xec\xe5\xd9\xa3\x71\x54\x1a\x3f\xd1\x9c\x53\xb5\x20\x45\x9a\xd1\xd3\xaa\xf8\xdc\xb2\x68\xef\x99\xd1\x07\xc9\xb3\x38\xd6\xb4\x40\x52\x75\x81\xbf\xe2\xd1\x58\xee\xbf\x16\xdb\xaf\x0b\x33\x8d\x38\x37\xa4\xd7\x5d\x80\xcd\xb4\x39\xe7\x6d\x8a\x30\xc3\xab\xe6\xee\x57\xd7\xbe\xcc\xe7\xee\x37\xe2\x9a\x44\x29\xd5\x9f\x73\x74\x6d\x30\x08\x57\x68\xb3\xd6\x54\xa4\x6c\xa7\x50\xbb\xa9\x89\x05\x59\x40\x76\xd4\xed\x78\x83\x1d\x5b\x91\x5b\xce\x58\xd9\x0c\x96\x9a\xa3\xe1\x95\x0f\xcb\xbb\x50\x80\x3d\xb2\x91\x6c\x8f\x8c\x80\x04\x43\xf9\x9d\xd6\xed\x51\x92\x8d\x4d\x52\xf1\xd9\xc7\xce\x8a\xe4\x6e\xd8\xb2\xa9\xd0\xcc\xb1\x9d\x64\x0d\x47\x9e\x70\x6c\x14\x44\xcc\x58\x6d\xc7\xf2\x95\x7e\x4f\xc1\xeb\xe1\x26\x9f\x17\x1d\xdf\xca\x7c\x3c\x6f\xa1\xdb\x40\x52\x44\x7e\xae\x51\x10\x06\x47\x79\x08\xd2\x39\x41\x47\x30\x9c\x57\xd5\x97\xe4\xbe\xbd\x33\x9b\x5b\x46\x33\xc3\xce\xee\xdc\xb1\xb2\x96\x5f\x6b\xc0\xfc\xd1\x47\xb2\x3d\xae\xf4\xa2\x89\x47\x18\x8e\xb7\x2e\xae\x85\xed\xca\x61\x24\x55\x1f\x4f\xc7\x8e\x97\xd3\xcf\xd9\xfe\x83\xab\x6f\x9a\xcc\x89\x94\xd5\xe6\x6c\xb7\xdf\xda\xc7\x29\xb6\x52\x41\x93\x94\xb0\x87\x15\x44\x68\xd0\x14\xc1\x2b\xbe\xe3\x77\xbd\xa1\xf0\x07\xcf\xac\x55\x79\x8c\xa0\x01\x4a\x3b\x1c\x7d\x3e\x61\x55\x01\xf1\x3b\x1e\x2f\x4e\x27\xe9\x32\xef\xef\xc0\xdc\x09\x4e\x4d\xdc\x81\x23\x27\x6e\xf5\xf1\x6a\x27\xe0\x07\xe2\x75\xee\xf7\xc0\x9c\xd5\x20\xf4\x95\xe0\xb0\x17\x0b\xe6\x89\x32\xa6\xec\xdb\x14\x72\x98\xba\x20\xae\xb4\x2f\x5e\x27\x14\x6d\x36\x82\xe9\x0b\xc9\x04\x2b\xc6\xc7\xbc\xc0\xdb\x41\x78\x1c\x2f\xd1\x0f\xbb\x0f\xef\x2d\x03\xf2\x3f\x6d\xb5\x17\xf0\x4f\x67\xd7\x1d\x0d\xb5\x95\xc1\xef\x9c\xd3\x33\xff\x5e\xcd\xb5\x9d\xf3\x9c\x9c\x83\x4a\xb5\x05\x23\x5e\x5e\xc1\xeb\x45\xeb\x81\x9a\x9f\xf9\x58\x60\xa4\x4b\xc9\x5f\xd2\xae\xc9\xe7\xd3\x0c\x58\x02\x11\x14\x12\x50\xd8\x02\xe9\x70\x22\xf6\x89\xc1\xe3\xd5\xd6\x9c\x5e\xa2\x82\x8e\x82\x71\xe5\xa2\x38\x45\xc5\x2f\x09\x96\xb4\x09\xaa\xd7\x50\x94\x6d\x71\x92\x8f\x45\x2b\xea\x02\x2e\x12\x94\xcf\x42\x71\xfa\x60\xc8\xc4\x2f\xaa\xe2\xb8\x98\x14\xbb\x85\xd0\x22\x84\xe1\x0e\x45\xac\x0a\x99\x59\x41\xff\xf7\x40\xde\xf8\x91\x60\xd4\xdc\x3c\x0c\xca\xd1\x80\xc1\xe9\xe6\xd3\x69\xe8\xe8\xc9\xe2\x10\x3e\x81\x8f\x04\xda\x59\x5d\xa8\xf4\x3c\xa6\x4f\x30\xb2\x62\xd6\x4c\x3b\xc8\x3e\x77\x9b\x20\x36\x86\xbd\x9a\xdd\x16\xd0\x21\x50\x19\x83\x7c\x27\x2c\xda\x13\x69\xd4\xe5\x9a\x84\xb3\x11\x2b\x1c\x9a\x47\xce\x65\x10\x85\x02\x31\x03\x6d\xea\xe3\x44\x61\x24\xee\x63\x10\x84\xd8\x0e\x88\xf8\x76\x4f\x79\x0d\x1c\xa2\x23\xea\xcf\x7d\x95\x3f\xad\xef\x3d\x5e\x5f\x49\x7b\xcd\x8e\x37\x0f\x9e\x5b\xc4\x01\xcc\x28\x99\x5a\x05\xa6\x01\x31\xd0\x69\xaf\xe1\x95\xf1\x62\xa8\x33\xa1\xee\xed\xc1\x62\x5c\x51\x74\x36\x0a\xa6\xec\x93\x40\xbd\xc5\x58\x74\xe6\x6f\x37\x20\x68\xeb\xbb\x80\xdb\x31\xd9\x60\xac\xca\xaf\x68\xc8\x1b\xc4\xfb\x7f\x32\x1a\xa1\xe4\xe2\xff\x38\xbf\xf8\x6c\x1b\x76\x41\x1c\x31\x6e\x40\xc5\xf4\x91\xf1\x2e\x80\xb0\x7b\x17\x14\x33\xb8\x3d\x44\x9d\x56\x83\x5d\xe5\xd9\x5e\x8d\x22\x6a\x74\xb8\xd9\x4b\x90\xc6\x81\x06\x61\x67\x51\x4f\x06\x6e\x8e\xdd\x3d\xea\x8c\xa1\xe0\x3b\x6c\x22\x58\xf3\x17\x59\x7c\xd9\x54\xa8\x51\xaa\xed\xf1\xe2\x8f\x99\x27\xf0\x3b\x75\xde\x1d\x4b\xaa\xbc\x85\x40\x31\x9f\x03\x44\x75\xcb\x49\xb3\xc8\x0c\x06\xee\xe6\xce\x8d\xd0\xe0\xfd\x6e\xc6\x08\x4f\x16\x7a\x80\x61\xe0\x19\x8e\x96\x99\x1e\xc8\x09\x6b\xef\xce\x01\xac\x68\xa1\x40\x7b\x05\x6b\x11\x50\xd9\x34\x44\x93\xa5\x77\x92\xe4\xf0\xf1\xb8\xe5\x5d\xc9\xb7\xd6\x96\xf9\x02\xf4\xd4\xdd\xd9\x3d\xee\x1d\x82\xf7\xf5\xa9\xb8\x9b\x87\xc2\xc2\x33\x1e\xc6\xec\x5b\x36\xc6\x72\x96\x0d\x6d\xe4\x05\x26\x85\xff\x8f\x21\x43\x43\x15\x2b\x3c\x9d\x32\x57\x4e\xa4\x9e\xfa\xe8\x3f\x74\x74\x6d\xbf\x2d\x53\x6c\x9f\xc0\xc7\x9a\xe0\x19\xf3\xa0\x32\x2b\x82\x79\xbb\x54\xa2\xc6\x2e\x63\xbe\xdd\x3f\x6e\x8c\x6c\xbb\x7f\x2f\x63\x8d\x4f\x6c\x05\xf0\xb6\x1c\xd7\x0d\x02\x21\xa2\x9f\xa7\x2a\xc0\x4c\xdc\xe3\x0c\x98\x03\xf9\x05\x91\x80\x3b\x01\x60\x49\xea\xf6\xab\x7f\x91\xb9\x07\xad\xa9\x26\x40\xcc\x58\x1c\xe3\x2c\xfd\x08\xe4\xe3\xe1\xfa\x0a\x23\xc7\xfa\xa0\x41\x55\x4c\xd4\x30\xde\x66\xd9\x98\x3e\x02\x0d\x47\xf9\x38\x44\x43\x28\x27\x9c\xa8\xc5\x72\x85\x60\xdc\xad\x61\x1d\xcb\x9b\x1d\x0a\xec\x96\xa0\xff\xa6\xc3\xe3\x15\x4a\xdc\x5d\x0a\x5d\x84\xaa\x73\x81\xce\x74\x92\x4f\x67\x71\x9e\xd5\x2c\x70\x2a\xa7\xa8\x63\xef\xd1\x59\xb6\x6d\x82\xa6\x91\xa1\x42\x0d\x51\x15\xf2\x5f\x79\x89\x8a\xe2\x87\xa1\x9a\x21\xa6\x71\x52\x47\xf8\x51\x12\x2a\x3a\x2d\x81\x0d\xcc\x48\xf9\xbd\x8e\x76\x06\x2b\xa3\x22\xb6\x86\x41\xff\x93\xa1\x93\x90\xa7\x27\x8b\x46\x17\x22\xfe\x7e\x3b\x09\xf8\x9b\x43\x4b\x33\x19\xe2\xeb\xc7\xdb\x5d\x0d\x33\xfc\xc8\x77\xff\x5c\xec\x74\xf8\xb4\xeb\x0f\x79\x31\x8f\x5b\xaa\xb2\x6d\x8a\xa1\x10\x9b\x71\xa5\xf6\x83\x77\xe4\x4a\x12\x0b\x2c\x66\x87\xdb\x8a\x8c\x5b\xbf\xd2\xbc\xb8\x91\x7f\x87\x19\xb8\xfa\xd9\xae\x89\x8c\x83\x38\xa4\xb0\x60\x8f\x85\x1b\x64\x9f\x4a\x8d\x82\xe4\xd4\x08\x5d\xd9\x4b\xc4\x94\x40\x98\x52\x22\x6c\x6f\xfa\xf6\x6d\x95\x63\x51\xb7\x14\x16\xc1\xbc\xec\x9a\x0e\xc8\x10\xf4\x01\x01\xea\x05\x4a\x98\x72\xdf\x5b\x07\x6c\x2c\xbd\x54\x6e\x3a\x23\xe6\x2d\x17\x78\x84\x2a\x99\x52\xcd\xcf\x5d\x5e\x3a\xf4\x23\xfa\xe2\x8c\x8a\x6c\x86\xfb\xf1\xe2\x58\x43\xae\x4b\x05\x00\x39\x87\x35\x84\xb1\xaf\xa1\xb5\x07\x59\xa2\x9e\xd6\xc6\x31\x7d\xd8\x77\xc2\x15\xd9\xc4\x37\x02\x28\xc3\x21\xc7\x2d\xc2\x27\xcd\x89\x50\x01\x48\x5d\x82\x56\x46\x76\x0b\x59\x3a\x4d\x85\xf9\x1e\x1e\x37\xc5\x8d\x1b\xa6\x1f\x28\xa2\x5c\xf5\xf6\xe7\x05\xd9\x96\xa8\x57\x6a\x56\x57\xd1\x0c\xb3\xf9\x03\x37\xf5\xce\xbe\xff\x98\x22\x40\x1d\x1e\xf6\x94\x1d\x05\x77\x57\xf2\x76\x6e\x9e\xab\x6e\xa7\x5e\xa7\xa6\x2b\xd7\x03\xd0\x52\x9d\x4a\x09\xbc\xbd\x47\x5a\x4a\x73\x74\x59\xf7\x82\x61\x2e\x96\x2c\xab\x40\x58\x7e\x3a\xb6\x61\xb2\x05\xb8\x6d\xc5\xb3\xa5\xcf\x5b\x66\xda\xc1\x7b\xa9\xde\x3c\x5a\xe8\xd3\xed\x9d\x43\x77\xf0\x7e\x04\x0a\x3c\xba\x6b\xdd\xdd\x1e\x2c\xb6\x2d\x59\x97\x44\x3f\xe9\x6a\xda\xf8\xb7\xad\xe6\xd3\x9f\x40\x63\x31\x0d\x71\xde\xd6\x53\x37\xe7\x53\xb5\xd8\xda\x79\x77\x11\xba\xdf\x67\x31\xe4\xb4\x39\xb7\x18\x3a\x58\xd7\x93\x4a\x2f\x1a\xb3\x0f\xb4\x9c\xe4\x02\x9b\x4f\x85\xe6\x94\x99\x63\x4c\x28\xcd\x61\xb5\x4b\x5c\xe1\x50\x1f\xe5\x87\x6e\x8b\xf0\xcc\x15\x2a\x4a\x33\x5d\xc3\x80\x8d\x5b\xbc\xbe\x92\xcd\x3b\x51\x2e\x35\x62\xdb\x35\xee\x0d\x78\x9f\xa5\x9a\xeb\x9a\x2b\xdb\x07\x58\xb4\xcd\x2f\x22\x4e\xe4\x0a\xb1\x95\xb6\x4d\x86\xad\x83\x01\x71\x5f\xee\x06\x6c\x6c\x38\x96\x2d\xef\x2f\x32\x52\x5e\x5f\xcb\x91\xa4\xea\x2d\x41\x1e\x64\x59\x43\x23\xf2\xc9\x6b\x94\x71\x95\x75\x3a\xc8\x8f\x1c\xb8\xec\xc2\x55\x0e\x52\x75\x5b\x9f\x7a\x7b\x57\x64\xef\xac\x91\xf4\x0d\x5c\xaf\xe7\x30\x38\xfb\x43\x31\x28\x6e\xbc\x10\xd6\x35\xc7\x36\xfe\x6b\x91\x9d\xd5\xeb\xd6\xd8\xda\x93\xb3\x35\x04\x57\xe4\x51\x4c\x62\xc8\xc5\x20\x94\x74\xfc\xa9\x0a\xec\x90\x6e\xce\xcc\xc8\x18\x64\xfc\xe3\x76\x4d\xe9\xb3\x3e\xb3\xdd\xab\x07\x4e\x7d\x78\xa9\x00\xbc\x09\x38\x25\xec\x10\xed\x80\x98\x30\xde\x70\x2a\x01\xb1\xbd\x2c\x94\x0e\x4c\xf8\xb5\xab\xfd\x5f\x02\xa1\x0f\xaa\xa6\xdc\x9f\x78\xfd\x10\x70\xd4\xbc\x84\x3f\xa4\xd6\x1e\x08\xc7\x74\x5e\xba\xd8\x22\x43\x1a\x85\x93\x05\x96\x87\xd9\x3c\x98\x05\xac\x2a\xac\x43\x26\xa2\x05\x12\x29\x16\x75\x5f\xf7\xaf\x5d\x7e\x04\x77\x01\x7a\x61\xbc\x84\x98\xe2\xde\xbd\xef\x1f\x54\x8c\x89\x43\x3e\x77\xa2\xb5\xb4\xc4\x53\x68\x07\x83\xfd\xf8\xb2\xed\x6c\xa7\x96\x4d\x87\xc4\x3d\xa5\xde\xb7\x58\x7b\xed\x09\x96\x69\x07\x33\xca\x83\x9f\xc4\xa4\x69\xd1\xd0\xd6\x04\x1a\xf2\x86\x7b\x14\xb4\x73\x33\x99\x31\x4e\x1e\x01\x28\xfb\x6f\xc1\xe9\x4b\xc1\xb5\x04\xf5\xda\xdc\x34\xa7\x16\x0d\xc3\xf0\x98\x34\x03\xb2\x62\xa0\x67\x95\x60\x7c\x52\x24\x1d\x66\x74\x1e\x76\x57\x6c\x5a\x57\x77\xdc\xee\x89\x2b\x06\xdb\x3e\x18\xcf\x9c\xb3\xf4\xd6\x51\x30\x07\x50\x5a\x23\xbc\x43\xf6\x0e\xf6\x78\x83\x5d\xa3\xbc\x26\xc8\x4a\xb0\xf8\xe8\x6c\x61\xce\x94\x47\x45\x93\xbb\x78\x07\xab\xd1\x89\x7e\x60\xcc\xfe\x0d\x73\x24\xe1\x65\x69\xc8\xdd\x8c\xfe\x47\x0b\xf0\x60\xd9\xb0\x5c\x5b\xb2\x1e\x9e\xa0\x4a\x45\x00\x02\x99\x53\x6d\xe2\xaa\x3e\x3d\x45\xff\x2e\xb8\xe6\xfa\x6c\x7f\x7a\xa1\xcd\xe7\xbc\x52\x07\x3d\x3a\xc8\xce\x59\x15\xcf\x8b\x80\xe8\x68\x0f\xf0\x48\x9b\x4d\xfb\xe4\x47\x70\x18\xa7\x21\xb7\x83\x41\x04\xdf\x46\x73\x43\x9a\xc5\x0c\x2e\x66\xf5\xed\x93\x83\xc6\x74\xd9\xc4\x35\xea\x38\xfd\x18\x68\xd5\x87\x55\xf9\x9c\x10\xd8\x4e\xbd\xa9\x3f\xfb\x0a\x79\x06\x63\x27\x40\x7e\x13\x14\x43\x9d\x7f\x69\x9c\x59\x53\x5d\xef\x8f\x55\x77\xa1\x9b\x2d\x4f\xb9\x37\x9f\xa0\xf1\x16\x4e\xf3\x59\xea\x70\x0b\x01\xe5\xeb\x66\xeb\x3d\x31\xd1\x6f\xe5\xcc\x73\x30\xe6\xfb\x16\x8e\xf1\x8f\x41\x65\x34\x5a\x58\x03\x1c\xca\x58\x2e\xd1\xbf\xc6\xcc\xbd\x56\x14\x78\x10\x5c\x3a\x9f\x77\xda\x0d\x53\x39\x86\x5f\xfe\x24\x62\xa2\x44\x26\xd0\x95\xa6\x3b\x85\xf7\xa5\x55\x46\xdc\xa0\x3f\x84\x6b\xfd\x89\x29\x3e\xdc\x4b\x27\x44\x61\x6b\xbf\x07\x05\xfe\x88\x5d\x2d\x0f\xa1\x49\xd4\xac\xda\x1c\xa3\x49\xce\x73\x4d\x85\xfe\xf8\x9a\xbd\xfc\xc3\x09\x86\x7b\x13\x6b\xed\x74\x68\xa2\x19\x7d\xef\xe5\x99\xff\x91\x5b\xf7\xd2\x7f\x29\xb5\x7a\x70\x77\x73\x36\xb4\x8d\xbd\xc2\xba\x8d\x85\x62\x3f\x89\xec\x95\xdf\x41\xa1\xc8\xc4\xb1\xf0\x8c\x09\x85\xbe\x2b\x4d\x13\x03\x1c\xbe\xa0\xbb\xd6\xa4\x39\xb6\x87\x4e\x14\xe7\x5f\x8c\x3a\x22\xfe\x34\x5f\x1e\x8e\x22\xe0\xff\xfd\xd5\x19\xf9\xd7\x52\x9a\x95\x8f\xa5\xfb\x44\xdc\x02\xb5\x35\xd7\x85\x05\x88\x9b\x9d\x65\xd5\x72\xba\x44\xd4\x4d\x00\xf1\x88\xd9\x48\xeb\xf7\x63\xb8\x2c\x14\xcf\x7a\xc4\xe2\x79\xbf\x56\x7f\x1d\xcf\x62\x14\x16\xa1\x38\x7b\xe9\xf3\xde\x66\x37\x43\xcd\xcd\x69\x43\x18\xd9\xe5\x1b\x9d\x2b\x44\x66\xf4\xdd\xe9\x8d\x97\x87\x6f\x94\x25\x00\xc7\xa2\xc0\xf1\x6c\xde\x19\x26\xf7\x6a\x0e\x93\xd1\x06\xdd\xa6\xfc\x55\x7a\x5a\x30\x62\x6a\x74\x3f\xe8\x6c\xf5\x8d\x8d\xa1\x72\xae\x14\xde\x56\x23\x10\x66\x9f\x4e\x4a\x6f\xc1\xa6\xc2\xbd\x28\x33\xda\x82\xd5\xb0\x11\x8b\xbf\x11\xf3\xb0\x11\x9b\x1f\x18\x63\x91\xc8\x29\x99\x2e\x1c\xed\x22\x20\x0a\x15\x9b\x62\x10\x63\xed\x8b\x89\x0f\x00\xef\x90\x96\x93\xc0\xe5\xd5\xdb\xb3\x68\x37\xe1\x4a\x48\xe2\x93\x18\xf5\xaf\x92\x24\xc2\x1e\x83\x4d\x61\x53\xae\x72\x1b\xa9\x6b\xb6\xb7\x79\xd8\x3d\x9e\x0e\xfc\x3c\x56\xe2\x4c\xc2\x1f\xf2\x93\xf1\x9a\x7a\x27\x9a\x8f\xe7\xf8\x47\x05\x31\xbe\x61\x36\x30\x1d\xdc\x95\x31\xdd\x58\x44\x09\x08\x1c\x85\x8c\x0a\xa5\xf5\x5f\x88\x4a\x9e\x3e\x89\x64\x8a\xf4\x6b\xed\xa5\xb1\xda\x15\xce\xbb\xaf\x68\x83\x1e\x85\x60\x56\x18\x4f\xb6\xcb\x27\xd5\x3b\x83\x96\x77\xca\xd3\xf4\x7b\x0c\x79\x5e\x43\xf9\x4d\x18\xd6\xe0\x0f\x82\x26\xfc\x4b\xb5\xa7\x93\x29\xd4\xd6\xee\x57\xd1\x80\x2d\x99\xdb\xbe\x06\x55\x34\x64\xe8\xc3\xb9\xdf\xad\xcd\x61\x19\x97\x1d\x4b\x96\x2c\xd5\x8d\xe8\xef\xa5\x10\x3c\x1c\xa7\x05\x65\x48\x76\x99\x27\x30\x67\x3d\x8e\x58\xc8\x3b\x79\x6a\x07\x74\x04\xbe\x4a\x4a\xdf\x18\xcc\x3b\x39\x9d\xc4\xaf\xdb\xa8\x63\xa7\x7f\xc8\x47\xe6\x94\x51\x77\x32\x2c\x44\x08\x4e\x94\x65\x7c\x66\x17\xe9\x4b\x86\x2a\x48\x90\x73\xe0\x8f\x3c\x19\xfc\x11\x0d\x18\x9b\x25\x38\x83\xa5\x01\x11\xa8\xa4\xfb\x51\x32\x14\x73\xe0\x4f\x87\x94\xed\xa8\xe9\x92\x61\x2b\x8d\x9d\x15\x0a\x58\x8b\x9b\x81\x8f\x35\xe1\x3c\x1c\xc7\xaa\x16\x7e\x33\x16\xec\xf2\xaf\x7f\x67\x7a\xb8\x17\x5f\x9f\xb2\xe2\xa0\x32\x42\xef\x75\xfd\xd7\x89\x14\x8a\x73\xf2\x9f\xe8\xcd\xbc\xb8\x04\x6f\x26\xa8\x16\x12\x00\xc9\x68\x50\xe0\x31\x6e\x9b\x69\x8e\x05\xb8\xad\xba\xfb\xfe\xcb\x0f\x60\x46\x9c\x1f\xcb\x2f\xfa\xb2\xbc\xe5\xf4\x6a\x72\xf4\xe8\xad\x5a\x5e\xd1\xba\x84\x72\xe4\x4e\xdf\x96\xf4\xdb\xc4\xf4\xc2\xed\x76\xc8\xac\x10\xcc\x04\x99\xd3\x89\x30\x6c\xf9\x7a\x1c\x4b\x2b\x2f\xfb\x12\x18\xef\xce\xf7\xfe\x1b\x4f\x33\x9b\x5f\x95\x52\x16\x17\x17\x96\x0c\x6f\x4b\x5b\x33\xa7\xae\xe6\x17\x2a\x9f\x50\x8f\x4a\xe0\xd8\x99\x53\xce\x8e\x8d\x79\x2a\xeb\x56\x0e\xb0\x53\xc5\xdc\x81\x87\x73\x79\x32\xc6\x7a\x55\xca\x6d\xf9\xf7\x82\x10\x29\xe4\x79\x1f\x36\x03\x25\x5a\x01\x30\xa6\x4c\x76\x46\xa3\xcb\x83\x9a\x50\x8c\x58\x75\x95\x72\x1b\x60\x2e\x4d\x1e\x7b\xf5\x57\x83\xf0\x13\x12\x2d\x14\xd6\x64\x43\x2c\xe3\xfb\xb7\x6d\xa1\x38\xd8\xa8\x80\x3f\xde\xcb\xb8\xbf\xf8\xfd\x07\xfc\xb8\x86\x6a\x35\x8a\x11\xab\xef\x19\x00\x0e\xf8\x08\xfc\x7f\xac\xc1\x38\x74\xe9\x4b\x6f\x0f\xd4\x9a\x14\x5b\x08\x2b\x13\xac\x5c\x28\x45\xd1\x59\x05\xe2\x96\xba\x5b\x33\xf2\xd1\x7f\xf9\x68\xe3\x53\xf3\x2b\xac\xf6\xc2\x42\xa8\xbe\xe5\x27\x41\x1c\xdd\x99\xbe\x1c\xca\x6c\x46\xd4\x37\xb4\x24\xee\xe3\x72\xc9\xc4\x96\x4e\xe4\x28\x68\x4c\x1d\xa4\x34\x7f\x4c\xd2\xa3\xc3\x8a\x17\x5c\x9a\x54\xe6\x48\xae\xb8\x4a\x3d\x86\x04\x4b\x40\x09\xa4\x06\x6b\x95\x47\x6e\xe2\x34\x5e\x66\x6e\x98\x20\xb3\xa7\x7a\x9c\xdc\x7e\x58\x35\x5c\x78\xb3\x8e\xaa\xfe\xe4\x79\x7c\xbe\x5f\xa1\x85\x8b\x8d\x6e\xc0\x43\xbe\x1c\x8e\xc4\x1d\xc2\x3a\x4f\x75\xba\xec\x44\x5e\x40\xe9\x4f\xde\x8e\xd7\x25\x1e\xc4\x69\x50\x3e\x29\xb1\xa9\xc1\xf5\x78\xf4\x2c\x4e\xb2\x1b\x07\xae\x59\x2e\x9c\xcd\x69\x5a\x20\x3e\x47\x8e\x7c\x5e\x77\x9f\xc3\x11\x90\xb0\x69\x9e\xd7\xe2\xae\x2e\xb0\x99\x8f\xf7\x05\x0c\x2b\xad\x17\xda\xb4\xf4\xf3\x27\x18\x95\xdf\x74\xea\xd5\x68\xa6\x1d\xe6\x79\x77\x99\x17\x6b\xf3\x78\x1a\x9c\xc9\x92\x5b\xbe\xdc\x15\x16\xe3\x89\x75\x68\xe6\x28\x04\xa6\x87\x15\x9e\x2c\xea\x61\x8a\x9c\x10\x86\xfa\x9e\x5f\x3d\x55\x44\x76\x6d\x5b\xee\x46\x93\x7a\x51\x74\xd5\xdc\xed\x2f\x9d\xb7\x8a\xc9\x15\x83\xa4\x96\x2a\x06\x97\xb3\x20\xe3\x73\xc1\xb8\x77\x9f\xe6\xfe\x83\xac\x7d\xff\x63\x54\x1c\x6c\xe6\xc1\xac\x4c\x90\x33\xd1\x2a\x4d\x97\xc3\x1c\xb5\x24\xbc\x26\x46\x06\x02\x3a\xa2\x01\xdb\x91\x65\x70\x96\x54\x9c\xc9\x7c\x20\x91\x5c\x73\x96\x1e\xa5\x18\xa7\x63\xe8\x8e\x4c\xfb\xc2\x9c\x95\x05\x8e\x87\x21\x4f\x74\x5c\x84\xc4\x1f\x05\x30\x37\x96\xc5\xb1\xbf\x2c\xf0\x13\x55\xa2\xf0\xe6\x67\x29\x98\x0b\x1b\x8c\xf5\xe9\x78\xbc\x3f\x5d\xa7\x7e\x05\x28\x23\x51\x4e\xbf\xca\xcf\x5e\x9e\x62\xab\xd3\xa4\xf2\x66\x13\xfd\x4d\xf4\xe6\x6b\x9f\xad\x39\xa1\x29\x3a\x7a\x1a\x78\x6a\x18\x77\xa5\xbe\x60\x1e\x7f\x55\xe9\xce\xaf\x2b\x08\x72\x04\x1b\xe9\x1e\xc8\xab\x9d\x45\x32\xc7\xd5\xfc\xe6\xac\xd0\x0f\x9f\xc7\xa9\xd7\xda\x58\x73\xde\x57\x33\xde\x51\x67\x6d\xcd\x2d\x84\x89\x5b\x3d\xa4\x69\x6a\x6c\xb9\xa4\xbd\xef\xac\x18\x31\x97\x6a\xd0\x7a\xd8\x9f\xc8\x30\x7e\xe3\x69\xee\x3f\x8d\x41\x9f\x79\xf7\x68\xac\x93\x5a\x15\x6a\x26\x7f\x14\x37\xda\x32\xb0\x74\xda\x2a\x67\xe7\xe9\xcf\x13\x33\x7b\xda\x9d\x84\x6d\x36\x29\x95\x1b\xfb\xc8\x32\xb1\x0b\xa6\x31\xe2\x89\xe4\x98\x52\xbf\x7f\x1d\xf8\xb7\x44\x58\x43\xf9\x36\xd3\x04\x08\x71\x4c\xe6\x23\xe2\x16\x7c\x52\x56\xe4\x97\x84\x71\x91\x7a\xca\x52\x89\xe4\x88\x30\xc0\x55\x01\x8a\xeb\x28\xfc\xe2\x96\x6b\xb7\xcc\x31\x40\x22\x5b\xd6\x54\xc8\x10\x0f\x45\x84\x0c\x2b\x95\x4b\x47\x24\x84\xc7\xc7\xe7\x3c\xad\x0b\x8f\x29\x07\xe9\x9d\xc0\x63\x74\xb8\x65\x7c\xbb\xad\x84\xf4\x6e\xff\x44\xcd\xca\x52\xe9\x19\xe5\x7b\x9f\x48\x52\x65\xd5\x89\x2e\xec\x3f\xdc\x6c\x0e\x3c\x38\x1d\x03\xec\x15\x42\x7a\x1b\x1b\x8a\x56\x87\xcf\x59\xe3\x6c\x84\x39\x5c\x25\x3f\xc5\xd4\xd8\x4b\x8b\x58\xf5\xe4\x43\xa2\xc0\x10\xf7\x49\xb0\x8e\x8e\xaf\x97\xf4\x99\x80\xa9\x4c\x41\x57\x8f\x32\x81\x1a\xa2\x3f\x07\xa9\xd1\x94\x40\xc8\xd1\x22\xd4\xd7\xde\x42\xc9\x60\x4a\xde\x65\xfb\x97\xb2\xe5\xc4\xe6\xb8\x27\xfd\xa5\xfe\x04\x61\x24\x97\x8d\xdd\xca\x78\x74\xb3\xff\x5b\xf0\x8b\xca\xb7\xee\x96\x2f\xc5\xf8\x8d\x32\x1b\x86\x90\xff\x8d\xb0\xcf\x5e\xf9\xd8\x57\xd5\xad\xf7\x96\xcf\xd1\x42\xe0\x36\xcf\xbc\x89\x49\x8d\x3f\x5d\x0d\x73\x92\x47\x0a\x39\x1b\xb3\x03\x3b\x62\xfe\x7e\x42\x1e\x96\x06\x0f\xb6\x0f\xca\x1c\x61\x0a\xec\xa7\x19\x9c\x65\x8f\x72\xb5\xf4\x25\x14\x6f\xe9\x1a\x06\xe2\x2a\x03\x36\x76\x92\x60\xf1\xd1\x0d\x55\xa0\xb3\x64\x2a\xb1\x61\x10\xe6\x8f\xa4\x07\x85\x5c\xe7\xd4\xc8\x17\xfc\xc5\xdf\x79\x1e\x69\x46\x5a\x6e\x55\x2f\x0a\xcd\x28\x4e\x6e\x24\x0b\x2e\xcd\x94\x72\xc1\x9c\xb2\xd5\x1a\x45\x4b\xa0\x8d\x50\x30\xfd\x6c\x5b\x33\xa6\xf9\x76\x7d\xb3\xf2\x73\x6f\xf8\x56\x36\xb9\x26\x32\x06\x96\x59\x7e\x02\xab\xea\x08\x6d\xa3\xe2\x67\x0b\xa2\xc4\xe5\x99\xec\x90\x27\xb6\x2d\x9a\xa8\x97\xf2\x2f\x9b\x78\x5d\x2f\x85\x14\xb5\xb1\x25\xbe\xf3\x5b\x95\xc0\x87\x4b\xe4\x26\x4f\xe9\x8d\xd9\xc4\x13\x29\x1d\x78\x01\x0a\x20\x27\x1b\x01\xf9\x89\x88\x26\x9c\x19\x47\x5e\x72\x55\x35\xc1\xba\x24\x75\xeb\xbf\x39\x3e\x7f\xd7\xaa\x20\x77\xb5\x95\x2f\xcc\x1c\x1a\x7c\xc4\xa6\x1c\x55\xff\x0b\xbc\x41\xc3\x23\xea\x8b\x2f\xc4\x32\xf5\xee\xf7\x56\xf9\xe6\x41\xa4\xa0\x29\xa2\xf4\x92\x4c\xe6\x12\x84\xe4\x7b\x9d\xab\x4d\xf8\xbe\xb4\xd1\xf3\x68\xb2\x4c\x14\x64\x28\xe2\x5f\x8d\x05\x7a\xd0\x59\xe3\x09\x10\xc9\x8a\x7d\x6f\x99\x67\xc7\x83\x86\xc2\xfc\x93\x4c\x07\x9b\xcd\x62\xa9\x5f\xac\xa6\x4f\x97\xf1\xd2\x6c\xde\xd4\xff\x72\xad\xae\x22\x9b\x9f\xb5\xa6\x89\x33\x03\xfc\xdf\x9f\x3b\xa8\x93\x7e\x2d\xbc\xf7\x37\xd8\x71\x7e\x97\x1e\x85\x62\x7e\x6d\x5e\xb4\x09\xb2\xc8\x3c\x78\x24\x0a\x14\xaf\x5d\xed\xb0\xb1\x4a\x17\x1e\xd1\xaf\xed\x65\x2c\x32\x95\x5a\xd2\x32\x46\x3d\x86\xcf\xeb\x5c\x15\xf3\xad\x89\xf1\xc7\xde\xb5\x4f\xf2\x8b\x8f\x38\xb9\x27\x0d\x11\x9e\xd4\xc1\x27\x81\x6b\x40\xb1\x98\x1b\xdb\xa9\x39\x21\xe7\x2e\xbd\x0a\x40\x1f\x9a\xd1\x72\x2c\xf2\x78\x72\x8e\x75\x07\x0e\x23\x8f\xb6\x8e\xb4\xb8\x82\x23\x6a\xa4\x5d\xcb\xa9\x63\x15\xe1\x88\x4c\xf2\x60\xc1\x25\xa0\xa2\x83\x14\x7c\x6b\x1c\x52\x55\x86\x3b\x91\x44\x33\x80\xdd\x1d\x35\xc5\xd5\x6a\x89\xb2\x4f\x24\x2d\x08\xf2\x51\x06\xfe\xec\x93\x77\xc4\xb1\x41\xc4\x58\x19\x4d\x9a\x1f\xc4\xf7\xad\x02\x9c\xba\xf7\x3b\x19\xee\xaf\x51\x8e\x79\xef\x6d\x0e\xf9\x70\xff\x92\x03\x1c\x4f\x26\xb4\x11\xf9\xd1\x80\xd9\xdd\xd8\x8c\x1a\xf4\xcc\x43\x45\xab\x9c\x32\x77\x62\xf3\x6c\x23\x04\xff\x90\x25\xae\x24\x0b\xc4\xb3\xff\xe9\x1f\x71\x2d\x9c\x24\x08\x65\x79\xf7\xed\x32\x5f\x6e\xc1\xc5\x82\x41\xbe\xb3\x45\xdd\xf5\xfa\xf0\x8d\x0b\x3f\x7e\xdd\x31\x27\x7f\xa9\x9c\x60\xc9\xf1\x69\xba\x68\xe8\xfa\x7b\xaf\xe4\xef\xe7\xdb\xcb\x12\x4d\x04\x9e\xc3\x76\x74\xf9\xd2\x4d\xaa\x0d\x7c\xfc\x2e\xc8\xfc\x4c\xbe\x07\x3e\xc0\x2a\x7d\xc3\xdf\x8f\x89\xeb\x53\xa9\x63\x66\xbc\x2c\x52\x58\x9d\x98\x72\xf0\x9e\xe8\x79\xf4\x8f\x53\x1a\xb8\xba\x80\x26\x56\x82\xe7\x05\x84\x98\x73\x31\x89\x44\xe3\x13\xd5\x55\xe9\xad\x71\xbb\x5d\xbd\x20\xd1\xe2\xd7\x0c\xf8\x76\x3f\xa8\xff\x2e\x0c\xee\x03\xae\x2c\xed\x94\xff\x54\x7c\xc7\xc0\xf2\xf6\xa7\xcc\x86\x58\xe8\x8c\x76\xc6\x6e\x2a\xd4\xe9\x74\x5d\xf6\x21\xe9\x8e\xf8\xaa\xbb\xeb\xbd\xf6\x97\x2a\xc4\xbe\x57\xbc\x6b\x92\xeb\xab\x47\xae\x2b\x20\x38\xcf\x39\x32\x7a\x92\x43\x58\x9f\x06\xc6\x53\x9f\x23\xd6\xaf\x2d\xbd\x5a\x50\x45\xd7\x8f\x28\x37\x20\x0b\x55\x95\x90\xc2\xa9\xa3\x2b\x24\xf1\x51\x87\xc8\xaf\x62\x86\xef\x76\x9e\x79\x8b\xe7\x16\x94\xf5\xf6\xbf\x1d\xa2\x67\x4d\x16\xbf\x2f\xea\x86\xb2\x87\x7c\x10\xd9\xfc\x45\x53\x5d\x2d\xa5\x74\x4c\x7a\x8a\xcb\x93\x1b\x14\x53\x14\xec\xf9\x97\x3b\xb2\x61\x20\xc6\x40\xfd\x50\xd6\x14\x6e\x80\x9e\x1f\x17\x8b\xde\x22\x92\x18\x4e\x99\x14\x4b\x1c\x6c\xe5\x30\x91\x44\x0a\xac\xec\xf5\x7f\x4f\x36\x92\xec\x77\x15\xb3\x63\xc3\xcf\x9f\x3e\x0d\x84\x95\x2f\x62\x80\x68\x26\x81\xb0\x08\x85\x0f\xb6\x76\x12\x3a\x51\x64\x1c\xf1\x16\x4c\xb1\x98\x2a\x54\x1c\x9d\xf8\x17\xeb\x72\x8b\xd5\x29\x81\x92\xca\x47\x19\x6e\xc1\xfb\x95\x81\x31\xcc\x05\x2a\xb2\xd7\x29\x94\xee\x14\xa4\x9a\xca\x25\xa7\x69\xa6\xc9\xba\x49\xec\x7c\x2c\x52\xc6\xac\x36\xff\x44\x8f\x60\x52\xaf\x69\xbc\x59\xc9\xd1\x22\x4f\x75\x65\x0c\x9b\xc3\xa8\xb8\xe8\x9f\xf4\x6d\x44\xbf\x16\x8b\xce\xe5\xe3\x8d\x92\x15\xda\x56\xed\xc4\x43\x15\x5b\xca\x80\xaa\xe0\x8b\x60\xb8\xb5\x23\x77\x22\xe8\xdf\x23\x26\x66\x07\xe4\x09\x7e\x21\xa6\x13\x3b\x2a\xa7\x03\xc5\x33\x00\x16\xd4\xb8\x33\xc7\x18\x9c\x56\x92\xa4\xd5\xa5\x9e\xb2\x26\x2b\xca\x0b\x59\x12\x78\x1a\x4d\x66\x5c\xc7\xfd\x5e\xad\x66\x4b\x34\x6a\x48\xd0\x2e\x2f\xbd\x7b\x09\xf5\x9b\x18\xc0\x03\xa9\x90\x2e\x36\xc2\xda\x97\x76\x3e\x8b\x6c\x41\xa8\x99\x96\x46\x13\xf2\xa8\x5c\xa8\x79\xe9\x97\x50\x77\x7c\x6c\xe6\x9e\x15\x88\x08\xe7\xa7\xb6\x59\x74\x5f\x2f\x68\x1e\x3a\x20\xe8\x07\x4a\x4d\xc6\x8e\x97\x37\xe7\xa1\x6e\x8b\xb4\x62\x45\x9f\x3d\xab\x05\xbe\x2f\x7d\x18\xcb\xa4\x61\x56\xf4\x12\x3e\x0d\x16\xf4\xc6\xb8\x95\x69\x7e\x51\x3b\xff\x82\x2f\xfb\xf9\x2e\x00\xa7\xf3\xd8\x19\x9d\x4f\x0d\x76\x30\xf7\x10\xe7\xcb\x1c\xdf\x9f\x87\x8f\xdb\x1e\x65\x22\x4d\x2e\x80\xcf\x7d\x9b\xe2\x1d\xd0\x0d\xbe\x68\x7e\xce\xae\xc4\x3f\xb1\x60\x4f\xf4\xfc\x55\x4a\x74\x62\xc6\x0e\x8c\xd9\x40\xf6\xb2\xdb\x34\x71\x24\xe3\x94\x16\x58\x50\xa0\xad\x19\x65\xaa\x4b\x51\x13\xc7\xf1\xa3\x14\x11\x71\x36\x85\x4a\xfb\x26\x5f\x62\xc8\x87\x25\x9d\x0a\x84\x34\xb4\x26\x65\xd4\xa1\x94\xd2\xad\x82\x13\xd2\x16\x2e\xcc\x1f\xb9\x0d\x37\x6f\x2f\x4d\x4f\xa3\xc9\x65\x48\x51\x56\x44\x5d\x32\x93\x93\xfc\x5b\x9c\x26\x1b\x85\x81\xd8\x73\x1a\xb6\x9d\xf9\xdb\xa2\x82\x1b\x6d\x0f\xfe\xd2\xbf\x71\x86\x24\x69\xe3\x97\x84\x92\x35\xa3\x02\x6a\x10\x21\x8b\xda\x47\x43\x4f\x65\xc6\x52\x2c\x76\x51\x25\x21\xab\x2e\xc4\xf7\xb9\x89\x11\xa0\x14\x33\x18\x7e\x9d\x98\x11\xbd\x70\x31\x76\x96\xf0\xf7\x2b\x6e\x98\x8f\xb0\x77\x76\xb9\x22\x05\x81\xff\xad\xe5\xef\xef\x39\x31\xa9\x3f\x94\xfd\x4d\x8d\xba\x0c\xa3\xca\x39\x50\x49\xa2\xe9\x63\x45\x1c\xf8\xc5\xf8\xbe\x55\x88\x7c\xf1\x89\x0a\xb8\x00\x8e\x8a\xaa\xe0\x5d\x4c\xeb\x49\x7a\xeb\xb7\xd7\x49\x44\xc7\xed\x4b\xa7\x81\x41\x7f\x7c\xc8\xc0\x23\xba\xc8\x7e\x3d\x57\x8d\x1e\xfd\xf8\xe0\x7a\xb7\xb1\xb3\x1f\xb7\x61\x62\xee\xe9\xda\xb4\x6c\xa6\x0e\x54\x5b\xa6\x70\xae\x6c\x33\x6a\x3c\x96\x7f\xd5\xc5\x9d\x74\x66\x6a\x29\xcc\x8e\x36\x79\x29\x27\xf2\xb4\xe3\x39\xb0\x1d\x97\x35\xc4\xdb\xa9\x7a\xec\x53\xb2\xae\x1c\xe3\x71\x27\xc2\x5a\x0b\xbf\x2a\x17\x61\x16\x28\x69\x4d\xce\x82\xb2\x81\x30\xd3\x8f\x12\x9b\x32\x90\x4b\x5e\xab\xb9\x2f\xa1\x4b\x2d\x37\x9b\xe7\x96\x01\xe9\x83\xbd\x56\x91\xac\x6f\x36\x6f\x2e\xf0\xdd\x00\x37\x74\x69\x06\xe9\xd2\x10\x19\xef\xaf\x84\xad\x4e\x86\xb5\xd9\xe4\x49\x67\xeb\x3c\xfa\x47\xe7\xc8\x83\x4a\xeb\x53\x23\xbe\x5a\x59\xb3\xca\x8a\x1a\x72\xcb\xd8\xc5\x66\x3a\xb3\xc0\xde\x0e\x92\x40\x74\x04\x9a\xfe\xa4\x12\xfb\xb6\x8f\xe2\x2d\xc7\x5c\x6f\x17\xfa\x2e\x3c\xdc\x5c\xe9\xf9\x4b\x8e\x29\x43\xaf\x23\x79\x5e\x06\xa6\x6f\xda\xbc\x1a\xe5\x53\xda\xac\x3c\x2d\x93\xf8\x05\x37\xbf\xb0\x73\x24\x79\x22\x2e\xea\xb4\x8a\x33\xef\xf9\x49\x67\xe9\x23\x97\x0e\x77\x0b\x4f\x21\x00\xde\x09\xdc\xb9\x66\xef\x06\x4c\xe5\xe4\x45\x85\xce\xd5\x66\x64\x51\xed\x5b\xdd\xbe\x95\xea\xce\xd7\x74\xa6\x10\xd2\x75\x23\xc1\xed\xaa\x46\x46\x87\x65\x06\x6e\x45\x5d\x4c\xdc\x35\xe7\x96\x4f\x95\xee\xf3\x2d\x4d\x26\x93\xee\xd7\x44\x2a\x61\x04\x6e\x01\xf0\xbd\x8c\x7d\x1d\xad\x0e\x85\xac\x5c\xcb\xe7\x52\x36\x15\x4b\x35\xcb\xb5\xd9\xeb\x81\x8b\x54\xa7\xc3\x44\xfc\xeb\xb9\x24\x9a\x6e\x20\xcb\xca\x97\x6d\x71\x4c\x53\xb8\x11\x3d\x23\xd3\x26\xf5\xcd\x3c\x44\xf8\xfc\x3d\x97\xaf\x99\xf7\xb2\x0e\xd5\x9b\xc5\x20\x6c\x9d\xf7\x5d\xc5\xb3\x25\xc5\x0d\x6f\x56\x28\x3e\xd0\x39\xd1\x6f\x89\xeb\x39\x64\x78\x9c\x6d\xab\x2c\xf4\x0f\x07\xc4\x6a\x3f\xef\x9c\x46\xce\x36\x59\xf4\x66\x62\xf6\x1e\xf9\x34\x21\x76\xda\x5f\x73\xea\x58\xd5\xcb\x9d\x4e\xe2\xc2\x37\x8f\xf0\xe3\x5f\xb4\x52\xb5\x0f\xf7\x5d\xbc\xa9\xb4\x39\xac\x96\xc6\x06\xbf\x43\xe5\x07\x13\xaa\x5b\xbd\xf5\x65\xa8\x8c\x9e\xae\x86\xe3\x88\xe9\x05\x46\xb3\x4b\x99\x8e\x05\x6c\x50\xab\xa4\xc8\x60\x3b\x7b\x46\x90\xb0\xc8\xd8\x01\xdc\x99\x70\xd1\x0a\xc0\x22\x37\x4e\x2e\x38\x90\x18\x49\x8a\xa2\xbd\x2b\x14\xc7\xd0\x9d\xb3\x79\xf0\xda\x8e\x6d\xce\x4f\x9c\x47\x00\x57\x38\x01\x65\xd7\xa9\xeb\xf6\x3d\x86\xef\x54\xaf\x63\x79\xa2\x95\xd3\xb5\x5a\x61\x70\x6f\xd9\xdc\x97\xec\x89\xcf\x23\x8d\x95\x40\xef\x7a\x6c\xe3\x8d\xb5\xa6\xeb\x01\x7b\xd9\xc4\x2d\xbb\x8d\x56\xeb\x55\xf7\xca\xcf\xbb\x1a\x0f\xe7\xf1\xcf\x04\x9d\x6c\xef\x4e\xbb\x53\xe9\xfb\x82\x79\xfe\xdf\xb2\x1b\xe2\x17\xee\x7c\xf3\x7c\xd7\x38\xcd\xaf\x07\x6e\xe9\x5a\x17\xf9\x02\xa6\x35\x8f\x9a\x88\x8b\xfd\x12\x07\x2c\x90\x43\xd3\x0c\x14\xcb\x0a\x43\x2b\x6e\x92\xa6\x6c\x91\x6b\xea\xa2\x3c\x03\xac\xa6\xe1\x7e\x8e\x05\xea\x62\x1e\x1f\x1c\x33\xa2\xc3\x63\x9c\x8f\xf4\xd0\x44\xae\x2c\x85\x02\x1c\xfe\x26\xfb\x85\x2e\x63\xcb\x3c\x86\x99\xbd\x6e\x92\x6e\x7e\xd7\x82\xa7\xf3\x8a\x4a\x0a\x1c\xbc\x92\xec\x16\x98\x97\xaf\x13\x87\xd2\x07\x94\x47\x6a\x26\xdd\x2e\x26\x6b\x3b\xe8\x1e\x3b\xeb\xb8\x55\x62\xb9\xed\x98\x2e\xae\x24\x57\x51\x53\x3c\xc5\xd6\xaf\x8d\xac\xc4\xd3\xf3\x5f\xb5\xbe\x35\x27\xf3\xbe\x39\x9f\x5f\x9e\x1e\xf7\xbf\xcc\xfe\xaa\x60\xe8\x32\xcf\x4f\xff\xc4\xdd\xde\x05\x9c\x1d\x45\x5a\x33\xe7\xad\xf6\x50\xf5\x6e\x6a\xae\xe8\xbe\xd0\x37\xac\x31\x34\xa6\x1b\x85\x46\x21\x58\x5c\x6c\xdd\x0c\xcd\x89\xa1\xbd\x4c\x95\xcd\xd0\x7f\x0e\xd0\x78\xe2\x11\x76\x7d\x26\x5f\xb0\x9b\xf6\x7a\x95\xb3\xb9\xb2\xad\xe6\xf2\x19\xdd\xa2\x17\x21\xb3\xa6\x7c\x73\x7b\xca\x11\x8f\xd1\x25\x17\xf3\xa0\x74\x5f\xee\xd2\x5c\x5b\xe8\xab\x31\xfd\xda\x61\xca\x88\xec\x4c\x48\xb7\xcb\x0f\xeb\x2e\xfc\x46\x57\xdb\xd1\x8f\x0d\x82\x36\xbd\xc9\x9a\x73\x07\x67\x23\x5f\x13\x24\x34\x43\x7a\xcf\x97\x60\xc2\x25\x8b\xcc\xf8\x93\x36\x7d\x18\xac\xd4\x9e\x93\x93\xf1\xfe\x8e\x4b\xdd\xa3\x89\x85\x88\x35\x53\x14\x3d\x20\x5a\xf1\x02\xb5\xd1\x8a\x31\x4e\x66\xe3\xaa\x1c\x8b\x7d\xd2\x09\xa3\x50\xef\x5b\x81\x3c\xd4\x42\xc4\x3b\xbf\x49\x00\x92\xd2\xc5\xc8\x48\xb4\xe1\x6b\x24\x5f\x77\x42\x8a\x26\x57\x55\xf0\x7e\x63\x41\x44\x96\x06\xf5\x88\x69\xb5\x44\x48\xc8\x66\x60\x04\x68\x0d\xeb\x8d\x0e\x9b\xd0\x84\x66\x3b\xa6\x65\xfb\x1c\xd3\xf3\xd5\xc1\x16\x3f\xfe\x88\x45\x37\x19\x4f\x01\x41\x41\x61\xc6\x55\x85\xdb\x69\xd1\x84\x7c\x5c\xe5\xf0\xd2\x6a\x48\x97\x49\x3d\x53\x80\x45\x39\x9c\x5b\xb3\x1a\xc9\x52\x77\xb3\xa8\xfb\x2b\x25\xd7\xc0\xbc\x8e\x3f\xbc\xd6\x30\x4b\x46\x75\xfa\xb6\xf9\x84\x77\x42\x25\xe9\x20\x36\xd2\xa5\x50\xdc\x3b\xd5\x45\x75\x3d\x8a\x71\xc6\x64\xb8\x4f\x5c\x18\x44\x30\x79\xa8\x53\x37\x90\xe2\xc7\x1d\x0a\x7a\x8e\x8c\xcb\xaf\xce\x5a\x8b\x18\xe3\x7c\x40\x74\x0c\x9c\xa3\xd8\x33\x0b\x3b\x56\x85\x12\x53\x36\xff\x2d\xc3\x89\x57\x3f\x0f\x4a\x12\x4f\xb9\x92\xcb\x33\xcc\xb2\xea\x58\xe9\xd9\xd8\x5d\x19\xff\x1c\x80\x5c\xbd\xcd\x9f\x62\x3c\x69\xa2\xa0\x87\x3d\x21\xe6\x7e\x85\x90\xcf\xe1\x07\x2a\x7d\x9e\x8c\x4b\x88\xfd\x4d\x2c\x25\xc8\x7c\x48\x13\x70\x92\x63\x02\x29\x07\xee\x86\x38\x7b\x11\x0c\x72\xb5\xa6\x5b\x64\xa8\xc7\x0b\x27\xc4\x3f\x6c\xd4\x46\xa7\x5c\x2a\x67\x71\x4c\x33\x84\x2e\xe9\xba\xaa\x0d\x1d\x96\x61\xf2\x27\x03\xb8\x78\x1f\x9e\x57\x22\xe9\x87\x77\x34\xf6\x1b\x0f\xa2\x2e\x88\x2e\x19\x15\x51\x3a\xad\x56\x93\xb6\x74\x24\xd6\x05\xe8\xbc\x42\x8e\xea\x8d\x16\x92\xe6\x71\x41\x25\xb0\x58\xe9\xee\x91\x8b\xff\x6f\xa7\x85\x78\x8d\xf0\x46\xa6\x45\xcd\x15\x3d\x51\x9e\xee\x34\xa1\x83\x50\xc6\x21\xc4\x32\x7b\x65\xed\x14\x81\x65\x85\x45\xfa\x4a\xc3\x65\x3c\xc6\x5c\x03\xc7\x10\x54\xaa\xfd\xb5\x43\x85\x41\x76\x6a\xca\xa2\x4c\x9f\x36\x44\x3f\x32\x37\x05\xf4\x02\x8e\x88\x58\x9d\xe7\x69\x5a\x7b\x4e\xaa\x67\x62\xbf\x9c\xa0\xe0\x9d\xae\xa1\x3b\x29\xaf\xa5\xb1\xb4\xdd\x53\xe9\x26\x02\x1f\x2e\x85\x3c\x80\xf6\xa1\x0c\x99\xee\x6d\xec\x0b\xce\x2a\x14\x9d\x15\x22\x08\x5c\x35\x89\xb2\x8f\xa0\x44\x58\x49\x52\x23\x3f\x34\x2f\x2e\xff\x18\xa5\x03\x45\xa5\x28\xb1\x0d\x69\x89\xe6\x9b\xad\xf0\x46\xe5\x69\xb1\x88\xea\xd9\x22\x07\x7a\xcc\x4f\xe6\x9f\x85\x33\xab\x9b\x65\xb4\x5c\x97\xdb\x4d\x68\xd9\x8f\xa5\xaf\x50\x6c\xa2\xc9\x53\xe3\x79\x2d\x5f\xed\xc7\x49\x39\x26\xbe\x0b\x37\xb2\xed\x41\xf5\x50\x80\x33\x95\x9c\xe6\x43\xd5\xea\xb0\x38\x8f\xd3\xc7\x87\xee\xbf\x8f\xb7\x39\x16\xdf\x00\xf3\xfb\x8e\x2c\x78\x1a\xea\x6c\xa3\xba\x9f\xc5\x04\x37\x76\xaa\x5c\x2b\xac\xc3\x63\x5f\x39\xde\x02\xa0\x62\xac\x97\xdc\xc2\xa6\xd9\x99\xd6\xe2\xe6\x6a\x57\x59\xa3\xc8\x83\x22\x98\x30\xb5\xe1\x6f\x45\xc2\xbf\x13\xa1\x0f\xed\x37\x95\xb5\x5d\xaf\xc4\xe7\x5f\x3d\x23\x06\xd2\xcf\x34\x36\x39\xae\x4a\x82\x61\xf7\xa1\xb5\x78\x12\x1a\xe9\xd5\x63\x84\x3a\xfd\xed\x43\x85\x5e\x7e\xf7\x0e\x24\x8a\xc5\xc6\xf1\xf3\xf8\x4b\x02\x23\xb8\x7c\x91\xbf\x3e\xdf\x1b\xc9\xae\xaf\x1b\x1d\x24\x47\x6e\xc6\x1c\xf2\x35\x64\x93\x5f\x07\x85\xf6\x15\xee\x6d\xc2\xff\x7a\x2d\x5f\x65\xbb\xc5\xdd\x85\xce\xec\x43\x1e\xe8\x0a\xe2\x34\x55\xa1\xa3\x53\x5b\x46\x9d\x99\xaa\xe7\xe3\xda\x24\x05\x32\x73\x09\x36\x57\xb1\xfc\x52\x9b\x2e\x42\x73\xce\x57\xc8\xa8\xcd\xd8\xf6\x8d\xdb\x7a\x4f\xa5\xdf\x57\x5c\x97\xc9\x12\xad\x66\x1a\x24\x18\x42\x2a\xe2\xeb\xae\x44\xe3\xa8\x10\x2b\x65\x96\xe4\x81\xd4\x18\x88\x68\x70\x28\x8d\x6a\x50\x1d\x4e\x1d\x55\xcf\xf4\x91\x1f\xe0\xac\xcc\x70\x6d\xe1\x5e\xe2\x41\xa0\x39\x34\xc7\x5e\x6a\xa7\x39\xf2\x63\x05\xfe\x12\xee\x3c\x15\x0e\x34\x43\xb6\xa3\xe5\x9e\x68\xdf\xb2\x00\x5e\x17\x0f\x98\x8c\x74\x81\xf0\x1e\x36\x57\x72\xc6\x42\xd5\xff\x4e\x62\x3e\x7a\x1a\x89\xa7\x3d\xe7\x87\xf8\xa1\xa4\x30\xe3\x5a\xbc\x5a\x1c\x89\x24\xb7\xee\xc7\xda\x51\xb6\x94\x47\x3d\xc5\xb7\x5f\xe3\x20\x1c\x7c\x28\x6b\xaa\x5f\x26\xda\x1e\x2c\xa2\x4f\x3b\x42\xbc\x27\x79\x7e\x57\x98\xf5\x7c\xe7\x6d\x4c\xc5\x2b\x79\xe0\x85\x67\x29\x99\x56\x8d\xee\x7d\x24\x89\x9e\xb3\xae\x6c\x48\x73\x83\xb9\xd3\xbd\xa7\x92\x30\xb9\x12\xfa\x20\x71\x4f\x7e\x10\x1d\x03\xca\x06\x56\x27\x47\x34\x7c\x44\x21\x38\x27\x82\x27\x80\xb4\xae\x29\x9c\x28\x16\xcd\xe3\xcb\x2b\xec\x4c\xbb\x3f\x7f\x29\x20\x1c\x38\x1f\x3e\x57\x71\x65\x6b\x37\x9b\xce\x50\x83\xcb\xf1\xb4\x59\x20\xe1\xd0\x32\xfe\x1d\x5f\x30\xd5\x93\x7b\x93\xd5\xd2\x80\x3c\x1a\xd3\x2a\x14\xbd\xb2\x3c\x71\x90\xd8\xca\x96\x24\x53\x90\x81\x21\x25\x13\x4b\x65\xa0\xab\x54\xd2\x35\xf3\xa8\x7a\x71\xea\xe1\x53\x09\xc5\xf4\x8b\x9c\x59\x2e\x5d\x34\x1c\x7c\x5b\xa2\xe8\x58\xf4\xc5\x94\xaf\xdf\x07\x7c\x9a\x2c\x05\x2f\x56\x87\xa7\xf7\xac\x77\x20\xaf\x23\xd9\x2e\xf2\xb9\x9d\xd1\x3a\x57\x8e\x6d\xbc\x45\x8c\xc8\xeb\x20\x86\x3e\x10\x27\x56\xef\x61\x23\x47\x77\x4f\xe0\xb7\xb7\x0d\xbb\xff\x33\x32\xac\x31\xa7\xa9\x51\x7f\xd3\xa5\x38\xf3\xa8\x6e\x0b\x3e\x6a\xbf\x2f\xae\x64\xf3\xa1\xa4\xb1\x27\xad\x5d\x52\xe9\xe0\x26\xf0\x54\xe2\x79\xd7\x71\xdb\x04\x15\xb3\xf1\x1e\xdd\xbc\xc7\xb4\x75\x8e\x74\xf9\xe7\x44\xf6\x45\xce\xac\xd7\x46\xcf\x65\x2a\xd0\x59\x12\x8c\xd1\x44\x71\x49\x46\x08\xec\x87\xee\x93\xdb\xfd\xee\x07\x61\xb4\x20\xa8\xe0\x17\x39\x72\x0d\xf1\xdf\xe7\xca\x0e\xc4\xbf\x41\x9f\xed\x82\x88\xb1\x30\xca\x2e\xa9\xb4\x0f\x32\x9d\x9b\x30\x5e\x3b\x4b\x86\xe4\x51\x16\x12\xe4\xf5\xb3\x99\x4f\x45\x85\x08\x5a\x14\xb2\x27\xe8\xa3\x39\x8b\xbc\x3f\xf3\x33\x0a\x2f\x99\x59\x47\x6f\x6f\xa1\x5a\xa8\x28\x91\xbe\xd1\x68\xbe\x24\xdf\x6b\xd9\x01\xd6\xaa\xaf\x25\x74\x18\xb8\x44\x6f\x5c\x3a\x5a\xa7\xb5\x3c\x81\xe4\xbe\xf4\xfb\xae\x7f\x6e\x7d\x59\x52\x80\x58\x6f\xba\x59\x7d\x30\x26\x5a\x12\xbf\x5d\x8d\x8e\x25\xaa\xbc\xaf\x6a\x0d\x6f\x7a\x2e\x34\xe0\xaa\xaf\x7b\xa8\x77\x5d\x75\xd0\x2b\x07\x7f\xb4\xa8\x3b\x79\xcd\x10\x37\x05\x54\xe5\xb4\x7f\xd5\x1b\x4a\xe1\xbd\x87\x43\xc7\x1e\x72\xb1\x9d\xd3\xb3\x48\x3f\x29\x45\xa4\x7a\x3c\x0b\x93\x0b\xb7\x46\x48\x4b\xea\x7b\x3d\xc7\xd1\x28\x34\x34\xc5\xef\x86\x9a\x7d\xa7\xea\x56\x7a\x97\x1a\xaf\x03\x73\x2e\x6e\x3c\x8e\x75\x7f\x9a\x6f\x09\x10\x0c\x88\x61\xe4\x39\x74\x3e\x4b\xa1\x36\xd6\x67\x63\x9f\x02\xa1\xf8\x7e\x4a\x07\xb0\x9a\x3b\x58\x50\x0d\x87\xc8\x11\x87\x2b\xcb\x42\xd4\x99\x57\xb4\x8b\x1e\xa9\xeb\x9e\x9d\x24\xd6\xa9\xd3\x60\x1d\xd8\xc8\x7e\xaf\x6f\x82\x9c\x93\x0b\x00\xd0\xca\x15\x83\x75\x98\xbb\x20\x9b\x48\x31\xee\xed\x9a\x86\x69\x7d\xf5\x99\xc4\x06\x43\xcb\xbc\xe5\xf8\xd4\x58\x2e\xd9\x3f\xd9\x96\xc2\x02\x6d\x10\x7d\xd9\x35\xdb\xd4\xa7\x9e\x8a\x65\xed\xcb\x7b\x7a\x92\xa0\xe5\x3e\x8d\x7b\x0d\x9d\x19\x78\x27\x0d\xad\xb9\xc8\x53\x58\x3e\xaf\xf0\x2a\x84\xb6\x6c\x17\xa6\x78\xa6\x7c\xbf\x43\xbc\xdb\x37\xcd\x53\x04\xf2\xe4\xd8\x4e\x1a\x87\x02\xa3\x64\xb3\xd5\x93\x7c\x0b\x16\xa6\xc6\xac\xd7\x21\xb8\xfa\xa7\x1a\x4c\x98\x63\x24\x73\x88\xc1\x64\x12\x87\xa4\xb8\x06\x44\x2c\xe3\xd2\x13\xb8\x8c\xe9\xe4\x1a\x32\xa1\xd8\x27\x11\xa2\xe1\xd8\xb0\x76\x0e\xb9\x2d\x2f\xdf\xcd\xbc\xd1\x70\xdc\x26\xff\xd6\xfe\x39\x66\xd0\x7a\x1e\xb8\x33\xd5\xf1\x85\x18\x86\xca\x75\xf7\x66\xef\xf0\xf2\x63\x59\x81\x5a\x5e\x9d\x86\xb4\xef\x4f\x88\xa4\x48\xc4\x82\x64\xb7\xd5\x99\x5d\xfd\x6d\x4b\xdf\xa3\x02\xec\x21\x07\x84\x82\x19\xc5\xb0\x02\x1f\x0e\x4a\x5d\x7a\xbf\xa7\x7e\x47\xf4\xde\xbf\x33\x8f\xea\xca\xe7\x62\xff\x96\xb1\x1b\x5b\x5b\xc1\x1e\x6a\x8f\x54\x7d\xb4\xb0\x02\xbf\x8e\x52\x99\x80\x21\x1c\x80\x5f\xd3\xd7\x71\xb1\x1f\x6d\x5f\xd8\x0c\xd3\x4a\x5d\xfe\x7b\x9a\xde\x7d\x59\x51\xf7\x70\xc0\x15\x9b\x9f\x2b\x67\x7b\x5c\x3a\x30\x86\x64\xc0\x24\x20\xcd\x14\x86\xfa\x56\xc7\x39\xeb\xf1\xcf\x25\x38\x02\x4c\xe1\xee\xb7\x2a\xa6\x8a\xfd\x73\x9f\x0e\xc8\x91\x25\x19\x7f\xe5\xe5\x4f\xf6\x14\xe9\x68\x5e\x18\x5e\x00\x49\xbe\xad\x77\xee\xb3\xb2\x23\xe6\x97\xa1\xa8\x9a\x77\x26\xa9\x7b\xcb\xa4\xe8\xe0\x53\x7c\xda\x1c\xa9\xbb\x0e\x13\x57\x5c\x69\xcf\x1e\xe4\xb8\x15\xcb\x26\x03\x4e\x87\x35\xc1\x82\x7e\x60\x71\xd6\x62\x77\x20\x79\xb5\x6d\x85\x74\x05\xf3\x5c\x51\x89\x6c\xe5\x28\xb4\x84\xfd\x35\x51\x22\x49\xff\xcd\x50\x87\x4f\xe4\xc2\x59\xd3\xe3\xc5\xad\x2c\xdf\x1e\x23\xef\x63\xdc\x5a\xce\xee\xdb\x75\x8b\x81\x70\x81\xc0\xa1\xeb\x2d\x4c\xe7\x5b\xbe\x5c\x66\x8f\xd9\xc4\x29\xbc\xd0\x00\x88\xdf\x9b\xf2\x5c\xfe\xf6\x0f\x42\x60\x54\x57\x7e\xc8\x72\xb9\x68\xb7\x44\xc5\x16\x7d\x75\x9c\xcc\x2f\xcd\x2e\xd5\x41\x12\xc8\x95\xe1\x84\x6b\xe6\x25\x8f\x40\xe3\x1c\xcf\x80\x7d\x11\x17\x43\x63\x45\xed\x2b\x84\x79\xd8\x50\x63\x43\x47\x11\xc5\xec\xb9\xe5\x1b\x9b\xea\x17\x3d\x4f\x7d\xb3\xde\x69\x0d\xed\xe6\xe2\x08\x0a\x66\xb5\x4e\x46\x97\xea\x1c\x09\xb7\x5b\x55\x4d\x6b\x64\x85\x83\x7c\x14\x0e\xbc\x36\xf0\x02\x13\xb6\x5d\x1c\x16\xa0\x92\x21\x19\xe1\xb7\x9a\x43\xf2\x91\x28\x36\x3d\x9e\xbe\x62\x2d\x5b\xbc\xfe\xe0\x14\x1e\xb2\xb4\x0b\x2a\xe3\x9e\x4d\x4e\x3d\xf4\x29\x2f\x34\xad\x34\xcc\x6d\xb0\x46\xbc\x20\xae\x8a\x56\x4c\x44\x3e\x40\xbb\x5e\xdf\x4f\xf2\x5f\xe7\xa2\xf4\xec\xe4\x39\xfb\x8f\xf1\x59\x44\x26\x21\xc2\x68\xb8\xc2\x88\x5f\x93\xa1\x7f\x98\x38\xf4\x86\x85\x56\x48\xe6\x8d\x37\x8e\x8c\x58\x6b\xc1\x59\xdb\xc3\x76\x26\x42\x0d\xae\xe6\x3f\x7e\xe2\x25\xb5\x20\x23\x59\x25\x9e\xcf\xd3\x69\x9a\x94\x8a\x9f\xb7\xaf\xe7\x75\x12\xca\x96\xa7\x14\x6e\x9e\x56\x7c\x62\xd7\x4a\x5f\x1f\xdb\x5a\x6b\x77\x69\xa4\x24\x8a\x78\xe1\xf8\x54\x68\x8c\x0d\x3b\x11\x83\x6d\xf5\xbf\x5b\x3e\x2f\x9e\x9e\x2f\x98\xcf\xd7\xaf\xe3\xb4\xb6\xb4\xfb\x8a\xc2\xe0\xf1\x5d\x94\x92\x43\x06\x42\x09\x7c\x2d\x9b\x2d\xa1\xba\xf5\x46\x4b\xa1\xae\x53\x57\x99\x6f\x26\x38\x37\x26\x1d\x8e\xd9\x9b\x25\x28\x96\xcc\x61\xdb\x31\xe4\x0b\x8f\x3e\x3d\xd2\x30\xfd\x28\x88\xbc\xc5\xa4\xe4\x8f\x95\xbf\xfa\xfd\x85\xdc\x8d\xea\x88\xb3\xad\x8c\xeb\x72\x57\x83\xce\x7e\x47\x5f\x96\x3a\x29\x28\x4e\x84\x9f\x67\xf1\x83\x52\xe3\x56\xa7\x17\xed\xc5\x02\x23\x2b\x03\xc1\xd6\x40\x72\xd9\xe7\x77\x81\xb7\x92\x4b\x41\x76\x42\x8b\x98\xd0\x69\x24\xac\x74\x39\xaa\x7b\xa6\x9d\xb6\x53\x70\xcd\x44\x62\x13\xe6\x08\x2c\x47\xe4\x67\x18\x7d\xb2\xbd\x76\x72\xaf\x09\xfe\xb6\xdb\x4d\x4b\xd5\x88\x73\x5f\x68\x9c\x03\x96\x1b\x14\xee\xbc\x92\x4a\x2c\xf5\x87\x31\x38\xd5\x0c\x55\xdc\x55\x6b\x55\xfd\xed\x43\x9b\xcf\x84\x2e\x55\xea\x57\x9d\x7b\xcc\x32\x39\xe6\x82\x3c\x71\xb0\xc1\xf8\xc1\x59\x94\xea\xce\x2e\x3c\x1f\x9c\xba\xd5\xd6\xcf\x59\xfc\x5e\x1e\x2a\xa9\xf8\xd5\xb0\xba\x3c\x14\xd8\x39\xdc\x4b\x47\x3a\xdc\x2f\xd7\x24\x68\x99\x06\xde\x54\x59\x52\x4f\xee\xae\x2f\xc5\x15\x36\x9b\x0b\xd8\xe9\x0d\xb6\x1b\x64\xa9\x84\xc7\x13\x6c\x69\x69\xb4\xe6\xec\xc5\x74\x34\x2e\x4d\x94\x99\x96\x6c\x04\xe6\xd1\x86\xc4\xea\xe0\xd6\x43\xe0\x15\x27\xa1\xbc\x4e\x24\x6a\x8a\xca\xe9\xc9\x39\x61\xc5\xd6\x31\xe1\xd1\x8a\xbf\x34\x8f\x0e\xa0\xf2\x42\x6c\xf4\x13\x2a\x79\x8a\x8e\xee\x2c\x60\xff\x65\x53\x89\x95\xa9\xfe\x6b\xa4\x6d\xfd\x30\x15\xac\x2c\x2d\x26\x37\x40\x04\xb7\x9a\x0b\xb9\x0d\xa2\x0e\x9e\x69\xfb\x45\xac\x43\x08\x4f\x89\x1b\x36\x33\x89\xaf\xf3\x22\x68\x49\xe9\x34\x9a\x20\xdc\xc4\x67\xf2\x38\x51\x8d\x6f\x39\x78\x0e\x65\x35\x0b\x7a\x5d\xdd\xae\x56\xb3\xdd\xf5\x13\x59\x96\x48\xf9\x2e\xd1\x55\x62\x54\xee\x90\xaf\x32\xb6\xad\xc2\xca\xab\x53\x2a\x6c\xb2\x61\xe1\x8d\x45\x97\x11\x7d\xc5\x55\x49\x8a\xe9\x10\x63\x47\x89\x11\x06\xb7\xc0\x23\x93\xdb\xde\xdf\xea\x21\x33\x8a\xb4\x71\x32\x52\xcb\xe5\xf5\x46\xc6\x2e\x9d\xc9\x47\x86\xaa\xd5\xe8\x56\x4e\xc3\xe7\xda\xaa\xf6\xab\x75\x35\x08\x46\xee\x1a\xe3\xb8\xc6\xb9\xb3\x04\x88\x00\x65\x8a\x65\x1f\xc0\x90\x40\x5b\x38\x0e\xa2\xc6\x35\xd9\xc1\x30\x1e\xd3\xbc\x4d\x03\x9f\xfd\xbe\xbd\x76\xec\x4e\xb3\x42\xbe\xe4\x9b\x2d\x6d\x4b\x95\x09\x53\xb8\x78\xc6\xbf\xac\x09\x8d\x97\xc9\x8f\x66\x1c\xe1\x76\x8c\x9d\x39\x6e\x50\x63\x7e\xde\x57\xe1\xcc\xbd\x0c\xbc\xe7\xea\xc0\xdf\x56\xb7\x74\xad\xd2\x64\x65\x6c\x3e\xcb\x74\xe3\xca\x79\x76\xb8\xce\x1e\x00\x8b\x71\x5c\x55\x22\xd7\xfd\xe7\xf6\x70\x69\xa2\x69\x70\xad\xdc\xbb\x71\x95\xcb\xc5\xae\x6f\x99\xe3\xfd\x30\x70\xd2\xab\xee\x06\xd6\xda\xf5\xc9\xc3\x5a\x71\x89\x3d\xb3\xe9\x80\x43\x81\x05\x56\x97\x3a\x44\xc9\x87\x65\xdf\x41\xd7\x86\xba\x62\x87\x01\x16\xe1\x90\x71\xd5\x96\x92\x64\x3b\x35\x31\xde\xf4\x8b\x29\x6b\x50\xbc\x2e\x43\x85\xbc\x58\x82\x4e\x0a\xa3\x3b\xe9\xc5\xbf\xec\xc8\xba\xd3\x6c\x77\x3c\x4f\x0b\xbb\x20\x20\x4c\x5d\x34\xed\xf0\xac\x59\x5d\xcf\x0f\xa9\xcd\xcb\x44\x86\x51\x9b\x8d\x79\xe6\x7c\x5b\xb0\xc5\x95\xf5\x98\x8c\x24\x86\xc2\x1c\x53\x1c\x8f\x72\x9d\x03\x1a\xd0\xa0\x89\x4d\x7d\x06\x62\xd9\x46\xdf\x2c\x02\xe1\x64\x48\xae\x8f\xd4\x0f\x1c\x95\xb5\xbe\x52\xf5\x93\x54\x58\x94\x0a\x57\x1e\x93\xe9\x9b\x46\x34\x58\xf9\xc7\xf2\xf8\xf5\xf7\xfb\x8e\x84\xc5\xf0\xe2\x32\x3d\x51\x61\x94\x96\xe7\x23\x16\xca\x65\x93\xf5\xd7\x4f\x7c\xdc\x5f\xc9\x65\x20\x8c\xe6\xdc\xb8\xe4\xa2\x23\xc5\xf7\x7a\xe6\xb8\xf9\x42\x42\xf8\xd9\x42\x68\xae\xd0\x0b\xdf\xfb\x61\x4b\x73\x77\xf0\x97\x59\xec\x3e\xb4\x8c\x07\xa8\xae\x6e\xb8\x35\xd3\x36\x7b\x63\xba\x41\x11\xd3\x93\xb8\x10\xc5\x25\x7c\x6e\x1e\xc2\x6f\x4c\x0b\x58\x5a\x49\x6c\x88\x24\xd9\xd5\xc8\x21\xfc\xe2\xd7\xcb\x3a\x38\x04\x90\x10\x28\x5f\xec\x53\x69\x67\x7b\xd0\x0d\x99\x32\x8d\x53\x35\xf6\xf7\x24\x0a\x7a\x86\x4c\x1d\x69\x9d\x6f\x70\x02\x61\xe9\xa6\xc0\x35\x32\xa5\x1f\x18\xe8\x39\xdc\xc4\x6e\xdc\xee\xc2\x57\x9b\x77\x82\x63\x16\x2e\xb9\xa3\x1e\xb5\x92\xde\x53\x1d\x5c\xfc\x99\x6f\xdb\x68\x93\x9d\x56\xc5\xd9\x5e\xab\x60\xfb\x2e\xcf\x5e\x94\x78\xad\x29\x5c\xf9\xb1\x94\xa3\xd8\x74\x77\x16\x6a\xb7\x77\x41\xfd\x4a\x97\xaf\xd0\x97\xde\xdf\x96\x05\x11\x6e\xfc\xd3\xa9\xe0\xf6\xea\x03\x09\xc8\xf4\xcc\x63\xe2\x98\x0a\xf9\xa2\x29\xb1\x5b\xa0\xf3\x5e\x8f\x5c\x0e\x43\x23\x49\xa1\x03\x67\x9c\x7a\xf2\xba\xd7\x4a\x8a\x20\xd2\xa5\x65\xd5\xc8\xb0\x6c\x06\x11\x5e\x16\x02\x36\x3e\x3c\xc8\xc2\x2b\x84\x1b\xb2\x18\x6b\x38\x53\xc4\xcb\x68\xce\x65\xd0\x8d\xc3\x8c\x7d\x8f\x84\xf8\x84\xe8\x0a\x05\x71\xd5\x7e\x5a\x59\x2b\xbf\xd5\x4a\xfd\x9d\xd3\xb7\x4b\x1b\x6e\x4c\x6c\xd8\xba\x6d\xc5\x41\x9e\x4e\x62\x8a\x02\x64\x61\x64\x29\x52\x95\xb8\xfb\x91\x3b\x5f\xa9\xa6\x03\x5d\xc4\x06\x5c\x8c\x2d\xe4\x8a\xc6\xfe\x49\xaa\xc8\x0f\x9f\x42\x39\x02\xed\x46\xdf\x6e\xb2\xf6\x8e\x37\x1d\x79\x5a\x5f\x73\x56\x5a\x59\x4a\x92\x32\x6a\xca\xbd\x37\xf0\x52\xf4\xd3\x12\xac\xbd\x95\x3a\x2d\x92\x94\x0f\x52\x56\x6e\xd4\x37\x31\x85\x40\xcc\x70\x8c\x9d\x21\x0d\xac\x5f\x73\x4a\x7d\x99\x18\x6f\xde\x62\x21\x7d\xee\x9d\xa6\x1f\x28\x1c\x98\x6f\x76\xb8\x74\xc5\xd9\x17\x67\x64\x8a\x4e\xaa\xb2\x6a\xd4\xd3\xd2\x7b\x1c\x64\xb9\xfe\xb4\xf6\x10\xd1\x4d\xed\x78\xfc\x4c\x69\x55\xc9\x1c\xe8\xcf\x4f\xca\x7b\x07\x03\x41\x8b\xad\xce\x01\x39\xe4\x76\xf6\xd7\x6c\xd7\x20\xd4\xba\xbf\x54\xca\xd4\xc1\xaf\xd2\x25\xc4\x22\x7d\xe4\x70\x3b\xfa\xb7\xa7\x74\xa5\x54\x38\xb2\x70\x70\x13\x44\x95\x3d\x07\x8e\x9c\xfc\xd0\x80\x94\x70\x25\xad\x98\xb3\xfa\x2e\xc4\x42\x82\x26\x7e\x11\x40\x5d\xd1\xf1\x59\x6e\x85\xb4\x13\x9b\x4b\xfb\x85\xc6\x51\x41\x52\x19\x95\x5f\xd4\x0e\x51\xc1\xa6\xb4\x77\x09\x3a\x7e\xb9\x62\x00\x3c\x61\xd4\x21\x4c\x5a\x89\x30\x71\x2e\x76\x51\xe1\x45\x98\x7d\x49\xab\xc5\x87\x5b\x4b\x36\x9c\x8e\xba\x5f\x86\x14\x3d\xda\x0b\xce\xaf\xd7\x85\x88\xdc\xa8\x47\x87\x41\xe4\xd9\xa5\x04\x70\xa2\x06\x4d\x61\x31\xa2\x89\xd5\xe6\x82\x7d\xc4\x6f\xe4\xd3\xe9\x18\x32\xee\x96\x87\xe9\x2a\x3d\xcf\x5f\x57\x23\xf2\xbd\x5a\x07\x32\x6f\x99\x0d\xda\x92\xd0\x6b\xf8\xb1\x3e\x58\xf6\xc9\x1f\x10\x1a\xbf\x25\xe5\x5b\x49\x59\xa5\x82\x56\xce\xa0\xff\x86\x9f\xfc\x61\x40\xa6\x25\x81\x91\xe2\x92\xc8\xa2\xba\x13\x0e\x20\xb4\x6d\x54\xcf\x1f\xe6\x22\x90\x31\xad\x20\xa2\xc8\x55\xfa\xe9\x25\xad\x4f\x4f\x90\x09\xfb\xed\x9d\x5d\x3b\x18\x01\x5e\x28\xbb\x5f\xb9\xe5\xd3\x4b\xda\xd2\x36\x5c\xb1\x78\xc4\x7c\xdc\xea\x3a\x83\x52\x69\xcd\xd6\xa9\xed\xb0\x12\xe1\xd8\xb1\x71\x22\xa7\x93\x02\xbb\xf1\xda\x61\x65\x85\xc0\xb6\x26\x8e\x8a\x73\x97\x9d\xec\xa9\x38\xee\x22\x98\x33\x8d\xbf\x01\x05\xb4\xed\x8d\xc5\x59\x97\x36\xa5\x6c\x33\x7f\xb9\xd0\x40\x6f\x36\x53\x35\xea\xcf\x9e\x0c\xd8\x39\xd1\x4e\x75\x25\xaa\xb9\x70\xc0\x7a\xe7\x61\xde\x5f\x11\x0f\x66\x28\x3f\x3c\xc2\x89\xc1\x65\x17\x72\x87\x9a\x52\xef\x91\xe5\x0c\x45\xe9\x6d\x51\x6f\x5c\x5f\xbf\xe5\xaf\x6a\x92\x36\xf4\x2b\x3f\x36\x56\x9f\x5e\x4e\x99\x51\xdf\x83\xef\xdb\x25\xbd\x76\xf0\x00\x32\x2d\x19\x45\x20\x35\x58\xea\x95\xa4\x20\x05\x61\x2c\x71\xb8\xfc\x89\x47\x34\x95\xf8\x93\x45\xcc\x18\x13\x85\x66\x19\xe2\xd3\xd4\x44\x5b\x38\x62\xb8\x40\x0a\xd9\xdc\x04\xdf\xb4\xeb\x04\x89\xee\x9e\x3a\x6c\xc6\x74\x0a\x0f\xa9\xc3\x30\xe3\xe8\xf2\x5d\x5e\x78\x56\x51\x6e\xed\x59\x0a\x7f\x99\xa1\x7c\xf4\xdc\xd1\x9d\xaa\x22\xe3\xe3\x79\x1f\xa9\xb6\xf5\xfc\x70\xd5\xfe\x35\x18\xbb\xf5\x19\x38\xde\x6b\x1d\x58\xb7\x66\xb9\xa5\xb2\xb7\xd6\x5e\xfc\x40\xf0\xf5\x0c\x04\xfe\x6d\x99\xfc\x02\x06\x3b\xee\x82\xb3\xe8\x67\x82\xf5\x72\xed\x5d\x9f\x6b\xfc\x08\xe7\x9a\x16\x73\xef\xf3\xbf\xab\xc6\xae\x64\xe7\xb0\x7c\xec\xfc\x1c\xb4\xac\xea\x05\x9a\xae\x05\xe1\xba\x6a\xbb\xed\x33\xc4\x3d\x5c\x9b\x2e\xd9\xe6\x00\xa5\xcb\xca\xdb\x5d\x5a\x5c\xdb\x29\x5c\x8a\xf6\xd6\x73\x73\x5f\xd7\x93\x62\x6a\xdc\xab\x43\x9a\xa5\x78\x68\x78\x4c\x6a\xf9\xfa\x46\x73\xca\x92\x82\xf3\x3a\x7c\x64\x45\x33\x41\x79\x81\x71\xec\x31\xf4\x14\x3d\x66\x5d\x61\x6b\x29\xc5\xde\x03\x4e\x1b\x54\x2e\x33\x4a\x52\x2c\x0b\xea\x8b\xe1\xe5\x21\x21\x71\x8e\xb8\xda\x96\x6a\xb5\x15\xb2\xcf\x8b\x74\xb3\xb5\xe9\x9d\x52\x5f\x7a\x3e\x96\x61\x8b\xb8\xf8\x8a\x05\x74\x3a\xcd\x55\xeb\xc4\x9c\x82\xa2\x64\x7a\x64\xac\x29\xe3\x4a\x14\xbf\x48\xb1\xce\x7f\xae\x75\xb4\x6c\xcb\x97\xb9\xd7\xf7\xb3\x65\xa5\x64\x48\x74\x59\xdd\x43\x78\x84\x48\x29\x55\xbb\xab\xa8\xb7\x53\xe2\xf0\x46\x34\x50\x2d\xb2\x63\xf1\x3a\x8f\x6b\xe6\x18\xca\x2e\x24\x54\x6b\x35\xba\x97\x8d\x9d\x50\x51\xe6\x65\x6a\xf6\x7f\x59\xd2\x02\x81\x6e\x99\x42\xba\xd6\xe5\xa3\x9e\xbd\x1b\xb1\x5a\x09\x20\x13\x2d\x8b\xc8\x96\xfc\x7f\x42\xf0\x14\xcf\xe0\x69\x36\xe2\x8e\xe8\x8b\xd2\x46\x90\xa2\x4e\x43\xab\xbe\x5b\x51\x30\x12\xae\x46\xc1\x6b\x9c\xae\x67\xdb\xfa\xe3\xa1\xaf\x36\x97\xad\xd2\xc2\x32\x78\x85\xb8\x27\xdc\xe2\xbc\x74\x0c\xc9\xdb\xf5\x11\x79\x5d\xef\x86\x4f\x39\x17\x38\xab\x33\xec\x4a\x31\x9c\x4e\x0b\x22\x17\x9f\x06\x22\x1e\x36\xd8\x71\xf6\xea\xa7\x0f\x53\xfe\xe0\x25\xc4\x2a\x76\xa2\x3f\xde\xe7\xe2\xfe\xe1\x37\x06\x01\x9c\xa3\x03\xba\xf5\x5b\xf2\xfc\xef\xf7\x78\x9a\x41\x99\x57\x5d\xd9\x0a\xa3\x91\xa4\x2d\x72\x28\x61\x7d\x5a\xfb\xd7\xd1\x6d\x18\xa5\x1a\xc6\x65\xe8\x7b\x5b\x11\x32\x45\xca\xf5\x15\x03\xfb\x25\xc2\x56\xd4\xae\xfe\x60\x6b\x2a\x4d\x2f\x80\xf7\xd3\x72\xda\x51\x64\x7c\xaa\xd7\x2f\xcd\xc9\x63\xb4\xc8\xf0\x9d\x3a\xc4\xae\x2d\xa7\xe0\x20\xe4\x58\xe4\xa6\x22\x97\x82\xdc\x4b\x15\xe0\x98\x5e\x77\x66\xb5\xc9\x34\x18\xd9\x40\xb3\xab\x23\xd8\xf4\xfe\x96\xb5\xca\x41\xdf\xdd\xaa\x09\x4c\xb4\xde\xab\x80\x14\xab\x7c\x55\x7f\x6a\x96\xbd\x8c\x9b\x0a\x60\xac\xe6\x14\x21\x57\xbb\x96\x0a\x9b\x30\x08\x97\xda\xf5\xca\x1d\x6a\x8b\xa8\x7b\xae\x83\xb8\xc3\x2d\x96\xbc\xa9\x6f\x56\xc3\x72\xf0\x5c\xdd\x6a\xcd\x7c\x41\xbf\xb2\x54\xf8\x36\xd4\xd0\x62\x7a\x52\x5c\xfc\x59\xcd\x3c\x97\xeb\xcd\xfb\x3e\xd9\xc8\x2f\x69\xd5\x6d\x7b\x37\xd3\x9e\xdd\x59\x6c\x7b\xdb\x6d\x72\xef\x7e\x20\xdf\x0c\x53\xed\xa9\xe0\xf6\x19\xfd\xf6\x97\x01\x8b\xaf\x64\xd8\x5b\xa9\x4e\xb7\xb9\xdb\xa9\xc1\xe4\x7b\xd5\xcd\x24\xd8\x7d\xd9\xd3\xa4\x47\x8b\xca\x61\xb0\x3e\xc0\x60\xda\xdb\x1e\x9e\xfc\x20\x78\x8f\x10\x80\xd9\xb1\xff\x94\x5c\x39\xbc\xf0\x84\x8f\xe2\x6b\x7b\x94\x8e\xf9\x84\xdb\x95\x89\xfa\x99\xe6\x08\x12\x40\x2d\x78\x36\xb9\x5c\xd7\xfe\xf5\x96\x4a\x91\xe2\x52\x20\xae\xac\x22\x97\xb5\x07\xec\xba\x1b\x0e\x1c\xd8\x59\xf4\x9d\xca\x70\xd6\xfa\x32\x16\x88\xfd\x89\x31\xe8\xf5\x39\x73\x8e\x39\xe3\xca\x75\x8f\x99\xbe\x40\xb5\xc1\x70\x85\x68\xf5\xef\xcc\xd9\x18\xdf\x02\x6e\x15\x4b\xac\xb5\x65\x65\x91\x5a\x68\x2a\x34\x65\x96\x2e\xe2\xe2\xa5\xa9\x52\x1b\x6c\xc1\x9f\xfa\x87\xda\x88\x0c\x09\xcd\x81\x53\x83\x04\x68\x00\xc6\xab\x45\x92\x6c\xc1\xff\xce\x07\xae\x92\x43\x59\xf2\x26\x3b\x8d\x1d\x91\xb4\xde\xf3\x4e\x48\xc5\x1e\x17\x29\xdf\x38\x98\xec\xe3\xe0\xaa\xa1\x6e\x2a\xf8\x3e\x94\x5a\x10\x4a\xca\xea\xb8\xaf\x25\x85\xbc\xc5\x87\x7f\x3f\x29\x1c\x25\xa8\x31\xd4\x17\xd7\x3c\xc8\x45\x4d\xd9\x8e\xe9\xb4\x38\x38\x2c\xee\x5a\x5c\x65\xef\xc7\x73\x67\xc9\xa6\xca\xb0\x48\x24\x74\x8e\xeb\x31\xba\xce\x64\x9c\x3f\xff\xd6\x7d\xca\x5d\xdc\xc9\x6a\x0b\xc3\x86\x0f\xc2\x7e\x24\x92\xb0\x45\xde\xc3\x5a\xbe\x70\xf6\xe8\x26\xa9\x61\x4e\x77\xf2\x68\x34\x87\xad\x07\x89\xb6\xcc\xb6\x68\x5d\xb3\xbe\x5a\x35\x39\x00\x93\x46\x3d\xa5\x28\x5d\xb2\x3c\x81\xd5\x81\xe2\x5c\x75\x5e\x13\x9e\xcb\xcc\xe9\xfd\x28\xb8\x9a\x54\xb5\x99\x1b\xed\xd2\xc9\x9d\xc1\x4e\x2b\xdb\x69\x70\x58\x7b\x8e\xb4\xd1\x8d\x7b\x8e\xd8\x2b\x87\x14\x52\x12\xfa\x3d\x82\xd6\x3d\x4c\x0c\x1d\xc2\x16\x2b\x66\xfe\x87\x24\x47\x6d\xf9\x1e\xb1\x96\x11\x8b\xd7\xee\x9d\xe2\xb4\x61\x4f\x3b\x81\x1f\x9c\xc3\xc3\x3b\x40\x81\x01\x56\x34\x90\x38\x7d\x2a\x61\x17\xee\x22\x8a\x9c\xf7\xd3\x4a\xd4\xdf\xf5\xa1\xc0\x68\x44\x94\xd9\x05\xe7\xcf\xdd\xb9\xe8\x96\xb3\xb0\xa8\x7a\x89\xea\x69\x11\x85\xe8\xc6\x45\xfe\x2a\xb6\x1e\xbd\x81\xec\x5d\x3f\x8e\xf3\xe9\x61\xbe\x7f\x7c\x2c\x3c\x40\x15\x68\x75\x1d\xe7\x25\xb1\xe2\xb7\x7e\x38\xde\x3a\x4c\x5d\x45\xe0\x13\x98\x71\x48\x75\x77\x19\xb9\xa3\x51\x4e\xbd\x4e\x44\x73\x57\x32\xe9\xdc\x8e\xbd\xa8\xe0\x12\x9a\x7d\x26\x34\x2b\xc3\x90\x58\xe0\xb2\x18\x40\x6f\x1f\x76\x6d\x98\x91\x50\xad\x8e\xe9\xd8\xb0\x46\xeb\x0b\x3f\x03\x32\x74\x84\x9c\xd4\xd9\xe1\x2a\x5c\x8d\x19\x10\x1a\x32\x75\x6f\x2e\xcb\x76\xe0\x3f\x90\xa7\x5e\x72\x3c\xef\x90\x21\x1d\x95\x77\x06\x80\x2a\x57\xd9\x69\x80\xac\xd3\x34\x74\x98\x37\x0c\xb2\x67\xa5\x82\x42\x53\xcd\xdd\x20\x4a\x32\x64\xc4\x22\x08\x67\xfe\xc3\xfd\x98\x21\xc8\xb8\x1d\x65\x2c\x36\x9d\xad\xa2\x7f\xa9\xda\xfb\x26\xab\x32\x6b\xfc\x02\x13\x48\xd9\x75\xd4\xc1\x5d\x8f\xc3\x8d\xff\xfd\xe1\x85\x62\xf4\xde\xf0\xce\xfd\x94\xa2\xab\x1c\x9c\x85\x48\x28\x40\xfc\xfe\x97\xc1\xfb\x41\xa6\xc8\x1c\xa6\x72\xe7\x81\x5b\xbb\xbf\xc2\x75\xd6\x89\x1d\x51\x6d\x4b\xfd\xa0\x2e\xf3\xa6\xcb\x26\xf2\x7d\x79\x61\x49\xd6\xb4\xec\x1c\xcb\x8c\xbd\xe2\xad\x01\x47\xa4\xe2\x1a\x4c\x70\xfc\xf3\x98\x5d\x57\x31\x50\x84\x57\xa9\xc6\xad\x55\x75\x94\x55\x1e\x3e\xf4\x97\x63\xef\x31\xce\x87\x75\xba\xde\xf8\xa7\xc3\x70\x8f\xba\x7e\x75\x4a\x6b\xf3\x63\x4b\xd3\x63\x01\xe6\xb3\x47\x85\xa2\xfe\x9b\x53\x96\xef\x27\xcc\xb6\x25\xce\x77\xe4\xf0\xe4\x83\xee\xbc\xe8\xfa\x33\xef\x47\x05\x7c\xbd\x91\xea\x5a\xaf\xa9\x50\xea\x93\xc5\xda\xe9\x4e\x28\x59\xe0\xa4\xf2\xd2\x87\xf7\xa3\x66\xe3\x96\x0d\xfd\xa6\x06\x69\x7c\xa3\x8a\x7d\x17\xd7\xd2\x46\x26\x35\x0f\xbe\xa9\x69\x9f\xcd\x88\x98\xd9\x71\x02\x3c\x2e\xa5\x0a\xf4\x5f\x7a\x03\x7f\xde\xd9\x80\xdd\xb4\x96\xdf\x1e\x35\xa5\xcc\xc6\x96\x27\x20\xb0\x2c\x43\x40\x18\x17\x9d\x29\x05\x55\x49\x5f\xc5\x6e\xe5\xad\xe5\xed\x49\x1a\xd9\xb9\x3f\xe5\x22\xe5\xee\xcf\x70\xd3\xf3\xc2\xed\x19\xd8\x97\xdc\xea\xd9\x42\xa7\x34\xa7\x4f\x46\xbe\xb2\xdd\x02\x5b\xa1\x36\xa4\x9c\x23\x2f\x32\xcf\x85\xc9\x02\xee\x4f\x21\x66\x76\x92\x05\x85\xf9\x2d\xbc\x3a\x5b\xa7\xed\xd5\x0f\x21\x64\x9a\xf3\x95\x9e\xe5\xd1\x73\x5a\xbe\x0e\x1c\xd2\x3a\x8a\xbe\xeb\x79\xdf\xc5\xf1\x77\xd9\x0d\xa6\x1c\xf1\xdb\xc5\x38\x20\x3e\xa5\x00\xfd\x1c\x23\x0e\x15\xde\x62\x53\xf9\xb8\x46\x8a\x4c\x90\x3f\x7d\xf4\xbf\x48\xac\x56\xa1\x60\x4f\x91\x17\x78\x81\xf1\x73\x55\x1e\x8a\x6c\x09\x81\x36\x76\x87\x3e\x9a\xa3\x22\xfe\x95\x26\x58\x36\xc8\x59\xe7\x62\xd5\x34\x04\xee\x67\xf1\x18\xd5\x5e\x04\x5c\x09\xc1\x10\x25\x26\x89\x5f\x77\x22\x93\x9d\x05\xbe\x3e\x22\x2b\x2d\x79\x32\x2f\x13\xb9\x85\xda\x93\x58\xdd\xc8\x6d\x65\x83\x26\x99\xde\x18\x16\x22\x68\x75\xcc\xf5\xf6\x32\x72\x33\x19\xd1\xe1\x03\x9e\xe7\xe3\x46\x7f\xb5\x9d\xbf\xc6\x47\x54\xa0\xfe\xbe\xa4\x76\x22\x91\xf4\x33\x70\x9f\xdd\x3b\x4e\xf8\x3c\x3d\xee\x75\xfe\xdc\xb7\x07\x56\xae\x66\x8c\xfa\x49\x55\x0c\xd0\x45\xb1\x81\x4d\x08\x36\x35\x50\x60\x9c\xa5\xa6\x4d\x35\x0f\x49\x57\x2d\x98\x22\x19\xe6\xcf\x9b\x92\x57\xf3\x5e\xa4\x2d\x89\xbd\x3f\xb6\x35\x53\x4c\x23\xbc\x05\xfb\x7b\x37\x43\x2a\x5d\x1e\x25\x95\xd7\x94\xec\x15\xab\x0a\x05\x4a\x54\x38\x6e\xbb\x97\xf6\xd6\xf7\xcf\xbe\x2b\x0a\xc9\x64\x53\x3d\x39\x4c\x19\x95\x6d\xb1\x93\xab\x08\x4d\x67\xbb\x2e\xb3\x44\xc9\x06\x3a\x1a\x36\xe8\xb3\x4f\x9b\x58\x61\x8f\x2f\x9f\x12\x6a\x3b\x05\xf6\x2b\xbb\xbe\x6c\x35\x8b\x0e\x96\xb1\x1c\xd9\x26\xcc\x39\xe7\xec\x2f\x47\x1f\x95\x32\x95\x0b\x56\xf0\x91\x60\xd8\xb2\x53\x06\x22\x3f\x77\x4b\xfa\x58\x84\x8b\x50\x62\xe2\x54\x88\xc8\x6c\xa3\xd6\xcc\xd1\xc9\xf3\x24\xae\xd8\x78\x07\x18\xdb\x54\xd8\x39\xe9\x74\xc5\xd5\x22\xac\xe8\xf0\x2c\x6c\x5c\xb0\x8e\x9a\x4c\x57\x65\xf3\x31\x23\xa7\x3d\x4d\xbc\x60\x12\x30\x38\x28\x28\x10\xf2\xef\x0f\xaa\x11\x1e\x04\x46\x25\xbe\xa7\x1f\xe4\x5e\x51\x36\x28\x80\x41\xc6\xae\xa8\x58\xdf\xed\x53\x11\x39\x56\xf5\x14\x8b\xb5\x1f\xe1\xb0\x77\xe4\x27\xa4\x9f\x67\x65\x69\x6c\xb2\x34\x5f\x5c\xc3\xd4\x5c\x0e\x04\xab\x24\xc2\xb5\x5b\xb5\x24\x84\xaf\xe7\x76\xbc\xdb\xbd\x18\x45\x07\x72\x75\x0b\x19\x82\x9f\x1b\x77\xee\x9c\x53\x38\x32\xd5\x88\x6c\xad\xcd\xe2\x73\x97\x3a\x13\x1c\x53\x8f\x50\x40\x74\xee\x62\xc6\x44\x92\x5e\x66\x68\x13\x3f\xe7\x66\xc0\x1b\xb2\xf8\x47\x7a\x57\x21\xb8\x20\x45\x78\xb8\x0b\x7b\xec\x8c\x97\xbd\xd8\xb0\x84\x44\x19\x28\x8b\x22\xcd\xd3\x1b\xb0\x28\x92\xa0\x2c\xca\x63\x51\xc7\x9c\x94\x63\xe0\xf8\xb0\x21\x43\x07\x95\x38\x8d\x58\x38\x7d\x56\xa5\x0d\x47\x1a\x85\x6e\x14\x67\xba\xff\x81\x57\x23\x22\xcc\x5d\xc9\x15\xf6\xc6\x35\x4d\xee\xb5\x5a\x4b\x50\xd3\x15\xb8\x60\x51\xac\x64\x28\x46\x74\xf6\x7a\x4e\xd6\x7e\xe9\xf1\x93\xc7\x82\xb9\x1f\xad\xf1\x79\xbd\xe5\x72\x0a\xfc\x48\xd7\x4c\xca\x49\x79\x4f\xe3\x64\x81\xf0\xa4\x5b\xa2\xaf\x1d\xf5\x03\x2d\xef\xc1\x03\xba\x1f\x44\x0b\x74\xd7\x31\x5e\x40\x0e\xfc\x2e\x73\xeb\xf8\x7f\x00\x03\x40\xfc\xbf\xa6\x36\x2d\x4e\x4d\x76\xce\x4d\x24\xfb\x19\x63\x35\x30\x67\xb6\xcd\x1b\xb8\x68\x51\x36\xab\x14\x07\xb6\x00\xe3\xd4\x31\xfd\xb1\xfd\x42\xff\x95\x6e\xd7\xe4\xee\xc3\x57\x5f\x75\xb8\x73\xda\xce\x3b\x42\xd9\xee\x45\xae\xcc\x1c\x02\xe3\x67\x97\xf5\x7d\x5c\xa5\xfd\xff\x22\x5c\xf1\xa5\x61\xa0\xa6\x1a\x9a\x51\x3d\xbb\x23\x96\xec\xda\xcd\xa7\x9d\x99\xef\xd5\xbe\x76\xc7\xfe\xb3\xa3\x8d\x31\xea\xc5\x8a\x53\xaf\x59\x28\x52\x2e\x69\xed\x5b\x81\x8c\x39\x02\xf8\x0b\xc5\xfa\x4a\x64\xe7\xd1\x51\xd3\x9c\x3c\x0b\x12\x30\x40\x42\x8e\x4e\x79\x61\xfc\x29\xbf\x6a\x04\x30\x56\x68\x9f\x32\xec\xac\x84\xc7\x73\x01\xed\xd2\x4f\x00\x9d\x65\x50\x1e\x35\x3e\x49\xae\x93\x7e\xaf\x91\xea\xa9\x31\x21\x00\xc6\xfb\xa1\xff\x2d\xbc\x06\x41\x38\x61\x67\xc4\x6a\xca\x4e\x71\x5e\x37\xac\x36\xea\xc3\x65\xab\x13\xb0\x2f\x89\xec\xbe\x87\xdd\xb3\x52\x75\xd4\xa2\xc1\x5a\x26\xfd\x55\xa1\x45\x4a\xa9\xb8\x6c\xb6\x70\x9e\x59\x6f\x9e\x3c\x32\xe9\xb9\x22\x15\x5f\x9c\xec\xf4\x14\x3a\xd9\xe9\x39\x37\xde\x39\x66\xb2\xd9\xda\xe9\x98\x8e\xb3\x00\x88\xb3\x2e\x04\xb5\x21\x0d\x68\x49\x17\x1b\xda\xc2\x34\x0d\x52\x6b\xa5\xf3\x43\x6a\x11\xae\x47\xd3\x42\x75\x0c\x2b\x62\xfa\x98\x99\x74\x51\xf5\x50\x12\x9d\x75\x08\xd1\x2f\x0c\xd0\x90\x31\xfa\x99\x54\x18\x5a\x35\x1c\x97\xe5\x95\xf4\xdb\x01\x87\x56\x3a\x1c\x2b\xd1\x7a\x70\x82\xe3\x38\xfa\x88\x6a\x84\x8e\xa7\xb1\x79\x5c\x53\x54\xa4\xe9\x21\xa9\x7a\x08\x72\x81\xe3\xf8\xf9\x75\x38\x59\xdb\xb8\x24\xfd\xf8\x13\xd5\x85\x84\x46\x95\x75\x46\x59\x13\xdd\xf1\x0c\xca\x54\x6a\x1c\x0a\x02\x2b\x5b\x6b\x8c\x6a\x60\x18\xe2\x47\xc5\xa6\xa2\xf5\x2b\x91\x79\x6c\xd3\xd6\xa6\x59\xeb\x8b\x8d\xf1\x8d\x34\x14\x52\xab\xe7\xd4\xd3\x2c\xb6\x2b\xaa\xe9\x68\x22\xad\x29\x3d\xa8\xac\x55\xcb\x3e\xce\x10\x1e\xad\xaf\x79\x56\xcf\xcb\x95\x21\xcb\xd8\x56\x5d\xc9\x5a\xeb\x38\x47\x5f\x0a\x17\x6a\x57\x0b\x1b\xae\xb2\x70\xa8\xa6\x48\xea\xf4\x20\xd6\xac\x51\x36\x50\xa8\x1e\xe9\x38\x3d\x77\xb0\x51\x39\xbb\x5d\x57\x8c\xcc\xf2\x38\x30\xc0\x9d\x39\x9f\x1e\x9c\x11\xfd\x12\x7b\xb9\xd1\x7a\x0f\x16\x24\xc5\x35\xeb\xce\x70\xbe\x2b\x94\x8d\xd2\x83\x44\x25\xea\x94\x92\x8a\x18\x2d\x91\xe4\xf5\x16\x14\x52\x60\x35\x43\x62\x4a\x69\xa5\x95\x68\x82\x45\x49\x40\xa7\xb9\xdc\xf4\x78\xa0\x51\x40\x87\xb9\x2d\xd8\x4a\xb3\xc3\x7f\x89\xfe\x68\xea\x6e\x94\xa2\xd7\x90\x21\x37\x93\xfb\x87\x23\xd7\x9d\x8e\xba\x59\x0a\xd1\xa3\x58\x10\xad\xa1\x9e\x16\x99\xa6\x05\x32\xec\xcf\x4d\x8d\xe9\x89\x6e\x89\xd2\xc6\x94\x18\xa4\xd2\xcd\x69\x26\x82\x23\x69\x85\x78\x32\x6e\x8f\x42\x85\x02\x80\x7e\x8c\xd2\x23\x9d\xf2\x7d\x32\x6e\x29\xcd\xb0\x13\xda\x2e\x77\x06\xb6\x14\xc9\x03\x6f\xb1\xc8\x14\x42\xe0\xa1\xc6\x1e\x19\x1f\x28\x93\xd6\x0c\x59\xc7\x6b\xa1\x22\x16\x1b\x8a\xbb\x35\x6e\x11\xb3\xf7\x47\x19\x0d\x50\x54\x46\x8b\xa3\x84\xb8\x3b\x93\x4e\x89\x51\x40\xf7\x28\xe3\x9a\xe5\xa5\xa3\x24\xba\xea\xe9\x25\x6c\x37\x51\x18\x3f\x8e\xca\x6c\x52\x1a\xbe\x1b\xb1\x50\xe4\x66\x42\x12\x21\x77\x9a\xd2\xa4\x4a\xc6\x9d\x61\x95\xc3\xae\x47\xdb\xd9\x8d\x00\xf1\x4a\xa6\x20\x83\x76\x4b\x1b\x8d\x67\xea\x01\x57\x4f\xd3\xac\x94\xbb\x4c\x5f\xe9\x24\x9b\x90\x74\x88\xb1\x9b\x61\x8c\xe8\x5b\x21\x69\x26\xfe\x1e\x4d\x17\xed\x3e\x4a\x16\xe2\xa1\x4c\x42\x66\xdd\x52\x81\x04\x16\x9e\xba\xa0\x25\xb5\x0c\xdb\xa3\x36\x21\xe1\x6f\xac\x06\x0b\x99\x86\xad\x22\x16\x04\x24\xda\x2c\x4a\xbd\x1d\x7b\x08\xf1\x12\x6c\x32\x22\x51\x6f\xc1\x06\x83\x88\xb0\x15\x23\x42\x04\x51\x27\x21\x22\x12\x11\x13\x23\xb1\xda\x0c\xa2\x9e\x48\x02\xb2\x3a\x89\x2e\x09\x6f\x09\x99\xfd\x3c\xf1\x01\x39\x2a\x61\x24\x0a\x3c\x31\xca\x94\x2f\x2d\x0a\xe1\xaa\xa0\x28\x4a\x26\x82\x89\x1e\x99\x24\x12\xb2\x0a\x66\x5e\x6f\x90\x05\x0b\xd1\x9b\xf4\x3c\x6f\xb2\xea\x0c\xc8\x6e\xd3\x21\xbd\xa0\xd3\x11\xbf\x41\xae\x96\xaa\x45\x01\x19\x0d\x66\x6c\x11\xb1\xd9\x00\x35\x0a\x82\x8e\x48\x01\x03\xef\xb5\x0b\x3c\x8f\x08\x6f\x21\xcd\xad\xa2\x28\xd8\x70\xbd\x4e\xb0\x88\x12\x74\x48\xc2\xbc\xd5\xa2\xb3\x89\x07\x2e\x96\x04\x1e\x03\x61\x2e\xa2\x26\x19\x13\x33\xb2\x21\x22\x49\xd0\x3a\x4c\xec\x66\x73\x10\x5a\xee\x30\x41\x95\x3a\xec\x41\x88\x20\x52\x45\x10\xe6\x45\xec\xb3\x62\x22\x60\xac\x83\x5c\xc4\x60\x71\x62\xd1\xa6\xd3\xbb\x45\x41\xc4\xd8\x6c\x72\x12\xa1\x5a\x67\x30\xd9\x05\xab\x5f\x0a\xcb\x58\x30\x4a\x58\xf0\x09\x90\xd0\xa9\xb3\xd4\x39\x04\x82\x31\xaf\xc7\x22\x42\x4e\x2c\xb8\x05\x62\x86\x71\xc2\x48\x2f\x62\xa3\x49\x96\x10\xbd\xf2\xaf\x97\xcc\x32\x15\x26\x30\xf1\x98\x36\x1e\x86\x11\x49\x4d\xa2\x55\x12\xb0\xe0\x25\x55\x02\x81\x9e\x09\x06\x6c\xd4\x49\x3a\x44\xff\x59\x25\x83\x01\x59\xec\xbc\x4b\x94\x78\x04\xc3\xad\x97\x04\x41\xd0\x9b\x74\x92\x50\x47\x24\x4c\x78\x37\xb6\x13\xe2\x30\x1b\x6c\xc4\xa4\x27\x76\x6c\x75\xdb\x8f\x9f\x78\x80\xc8\xc4\x21\x22\x49\x6f\x23\xd8\xc0\x1b\x45\x89\x4e\x15\x46\x2e\xab\x60\xd2\x1b\x45\x01\xc3\x62\x12\x88\x55\x6f\xe1\xcd\x18\xe6\x0e\xcb\x98\x27\x92\x5c\x8d\x79\x9b\x0d\x9d\xa5\xa0\xa4\x7e\x0f\xd9\x91\xc1\x84\x24\x9d\x28\xea\x64\xec\x46\x00\x16\x6e\x64\x33\x03\x48\x61\x18\x7a\xbd\x97\x08\xd0\x13\x49\x14\x0c\x06\x8c\x10\x8c\x2b\x46\x82\xc8\x23\xde\x26\xf2\x7a\x1d\x16\xf4\xbc\xa8\x97\x89\x68\x11\x24\xbb\x59\x67\xe3\x75\x2e\x91\xdd\x03\xc0\xd8\x58\xab\x04\x9d\xde\x6c\xd6\x0b\xc8\x62\x25\xa2\x87\x4e\xac\xd5\xc4\x5b\x05\x2f\x8c\xa5\x81\x2a\x57\x38\xa0\x02\x00\x07\xe4\x01\xb8\xab\x42\x56\x9d\x05\x99\xac\x30\x66\x92\x5e\x82\x40\x03\x8f\x60\x5e\x79\x27\x2f\x54\xf1\x7a\x82\xa0\x05\x3a\x68\x06\x0c\xb7\xd5\x07\x4d\xd0\x23\x8b\x24\xd8\xf4\x3c\x11\x45\x93\x48\x2c\x30\x92\x0b\xee\x95\x10\xb2\x41\x17\x8c\xc8\x6f\xe7\x61\xce\x2c\x30\x8d\x28\x10\xe5\x91\x69\x22\x21\x31\x1d\xc2\x94\x5f\x12\x12\x45\xbf\x1e\x36\x33\x9a\x07\x3b\x1b\xab\x78\xc1\xc5\x13\xa8\x4d\x72\xd9\xdc\x58\xac\x76\xe9\x75\x61\x51\x32\x8b\x06\x0c\x83\xce\x43\x5f\xeb\x79\x59\x87\xcc\x0e\x23\x11\x1d\x22\x2f\xe8\xbc\x98\xd4\x58\x83\x48\x0f\x70\x23\x39\x78\x9d\x97\xe8\x31\x40\x31\x40\x00\xe0\x0a\x36\xb3\x09\x5a\x20\x13\xab\x8e\x10\xcc\xeb\x1a\x6d\x86\xa0\xdd\x86\xad\x04\x51\xfb\xa5\x00\x8d\x44\x2f\x1a\xcd\xc8\x2e\x54\x3b\x08\x4f\x00\x7c\x89\x60\x31\xc4\xc0\x65\x37\x4a\x3a\xbd\x5e\x47\x1c\xb2\x1e\x09\x3a\x5e\xb6\xe9\xa1\x26\x23\xb1\x61\x93\x41\xa7\x93\x24\x11\xc3\xa8\x0a\x3a\x64\xe4\xb1\x19\x7a\x00\x2b\x0d\x61\x83\x28\x0c\xdf\x1e\x7e\x04\xea\x01\x64\xc1\x44\x5b\xab\x83\x69\xa6\x90\x46\xa0\x02\x58\x56\x58\x14\x00\x8a\xab\x44\x58\xb9\x46\xac\x27\xbc\x0d\x3a\x43\x0c\x71\x73\x9d\xbd\xca\xea\xe6\xa5\x6a\x1d\xd3\x8e\x70\x9d\x71\x89\xb7\x32\x9a\xc9\x45\x35\x21\x4b\x28\xbe\xbe\xa8\x91\x4b\xe5\x57\x6b\x01\xcc\x99\xc4\x04\x67\xe3\xd8\xb7\x28\x9c\x92\xe0\xf2\x68\x9f\xa3\xd0\x50\x2b\xfc\xb9\xc2\x52\xaa\xa3\xba\x5e\x51\xf0\xb1\xe8\xc3\xf8\x2d\x4f\xcb\xbb\xf7\x68\xca\x40\xed\xbb\x26\xd8\x6c\xea\x6f\xbe\x25\x3c\x78\x93\xde\x6a\x2f\xde\x85\xfc\x1e\x92\x47\x36\x52\x2d\x56\x7c\x6c\xcd\xc3\x68\x7f\x74\xea\x1d\xcf\x69\x4c\xa5\x60\xad\xb1\xde\x78\x6c\x68\x03\x59\x39\xd3\xc9\x55\x7e\x93\x53\xd3\xe3\xa8\x86\xd3\xb5\x03\x28\x97\x60\x2a\x88\x4a\xbf\x0b\x7c\xcb\x75\xac\x9f\xe7\x28\xee\xaf\xe6\x78\x6e\x18\x5c\x54\x9a\x10\x7f\x22\x4b\x90\xcc\x4c\x3f\xfc\x0d\x67\x4b\x6c\x2f\x6a\xfe\xe2\x0f\xe7\xf2\x50\xda\x5b\x00\xda\xfb\x26\x81\x63\x72\xaa\x6e\xa9\x6c\xe6\x8e\x2a\x1c\xb3\x6f\x45\xc5\x85\x9b\xec\x75\xaa\xcc\xac\xdb\x9d\xe1\x64\x55\xa6\x1f\x81\x12\xb8\x46\xfe\x57\x0d\x35\xaa\x5c\xf0\x31\xc3\x76\x9c\xec\x43\x7f\x40\xef\xd7\x34\x50\xa5\x62\xbe\x7c\xcf\x4d\x98\xdc\x65\x0b\xfb\x5e\x49\xc5\x18\x04\x5d\x25\x9b\x53\x21\x57\x90\x7d\x87\x60\xec\xd5\x2a\xa6\x5f\x10\xe0\xf8\xe2\xb7\x55\xe8\x15\x3c\xfd\x10\xfa\xc0\x19\x28\xfb\x63\x6e\x75\x2f\x1a\xd0\x58\x78\x68\xa0\x77\xb5\xc0\xe5\x0a\x9c\x1a\xd0\xd8\x29\x83\xb4\x6b\x83\x30\x04\x54\xf1\x24\xd7\xbb\x5a\x33\x0a\x5e\xfa\x5e\x76\x91\xa7\xcf\xe9\x31\x65\x13\xb8\x46\xbe\x0c\xa4\x67\x27\x50\x89\xf1\x94\xa6\x4a\x41\x52\xe9\x23\x46\x9a\xcd\x2c\x2b\x04\x45\xb5\xf1\xa0\x19\x59\xac\x40\xd4\x27\xd0\xe5\xf7\x43\xa7\x4b\x1f\x0c\xba\x5f\x7d\x42\x7d\xe2\x7e\x3a\x40\xc5\x8f\x01\xdd\x8f\x2e\x87\x00\xd9\x67\x32\xc5\xe8\x1d\x1a\x4b\x83\x2e\x87\x4c\xec\x4b\x5a\x79\x9f\xc2\x2c\x80\x91\xdf\x8d\x9f\xaf\x36\x3a\x26\x17\x35\x00\x46\x73\xd1\x14\xac\x6e\x96\x82\xd6\x2d\xc8\x9a\x5c\x25\xc7\xec\x9c\xdb\xb9\x49\xdc\x64\x6e\x0a\xb7\x98\x5b\xc9\xb8\xf9\x94\x40\xb1\x69\x9c\x84\x0c\x35\xac\x5d\x96\x69\x17\xa8\xf4\x8b\x76\xf3\x24\x94\xb8\x74\xa5\xaf\x57\x33\xd3\x11\x4c\x5c\x89\x09\x10\x43\x5e\x5c\x4c\x81\x17\x3e\x7d\xd5\x1d\x8b\x36\xdf\x2c\xf6\xed\xe8\x98\xda\x2b\xf0\xb9\x03\x37\x0e\x1f\xba\xf1\x80\xe4\x0a\xa4\x67\xac\xed\x32\xf4\x2e\xb8\xe3\xae\x3b\x16\xf4\x1a\xba\xd6\xce\x48\x07\x5c\xd2\xb0\x66\x97\x8f\x2c\x2d\x4a\xc7\x92\xe0\xe6\x45\x77\x5c\xf5\xf4\x42\xa1\x77\x6a\xc7\x8e\x3e\xf1\x66\x4d\xf8\x11\x03\x14\x2e\x9c\x87\x2e\x6b\x6c\xf2\x44\x6a\xee\x2e\x58\x76\xdc\x7d\xf7\x8e\xd4\xda\x6d\x57\x5c\x3a\x35\xd6\x94\x6a\x82\xbf\xd8\xd4\x4b\xaf\xd8\xb6\x56\x88\x33\xd9\x42\xb5\xae\xf8\xa9\xec\xc2\x53\xf3\x16\xde\x24\x6c\xbb\xbb\x26\xe2\x69\x6a\x44\xeb\x59\x64\x49\x4f\xed\x7e\x71\xb3\xf0\x21\x17\xe4\xa6\x72\x57\x17\xad\xa5\x00\x29\x5c\xcb\x33\xb2\x0d\x48\xb1\x11\xc3\x2e\x69\x54\x32\xfc\x52\x0a\xcb\x94\x44\x83\x88\x27\xcd\x69\x9a\xf8\xda\x3e\x13\x2d\xda\x00\x28\x2a\x8f\x51\x1e\x8b\x87\xb9\x84\x17\xfc\x6f\xf8\x63\x8d\xb5\x24\x60\x94\xa5\xb6\x98\xb5\xca\x67\xaa\x23\x41\xff\x89\xea\x86\x98\xff\xa0\xbf\x30\xc5\x7f\xc2\x1f\x8b\xd6\x1c\xf4\xfb\xdf\xa8\x6e\x18\x9b\x8a\xec\xba\xe8\xe0\xe2\x1d\x37\x2e\x3e\xb1\x78\xf9\xf2\xa5\x3b\x77\x2c\x79\x63\xc9\x18\x3f\xca\xc6\xa0\xf4\x00\xa9\x33\xf9\xaa\xac\xb1\x36\x49\x36\x82\xbb\x31\xe6\xff\x71\xb5\xef\x80\x1f\xff\x09\x1c\xfe\xea\x03\xfe\x28\x24\xaa\xae\x1b\x9d\xa8\xf0\xf6\x87\x8b\x0f\x2c\xbe\xe8\xc7\x8b\x77\xdc\xb4\x74\xf9\x72\x28\x79\xb4\xb7\x68\xe3\x32\xc7\x6c\x7b\x73\x1a\x5c\x70\xd4\x40\x0b\x35\xa9\x48\x3f\x88\xa5\x5d\xc3\x4a\xb5\x48\xca\xbd\xfd\xd4\xe9\x3c\x6c\x97\xf7\x6e\xc5\x68\xc2\xc9\x27\x11\xea\x98\x31\xb0\xfe\x50\xc3\x6d\xcf\xa3\xdc\x53\x6f\xc3\x1e\xba\xe7\x37\x69\xbf\xf5\x24\x9a\xf0\xc2\xbd\xdd\x87\xd6\xf7\xf5\xd4\xfe\x04\xe8\x8d\xeb\x61\xcd\x99\x99\x7e\x7d\x90\x5a\x7d\x67\x50\x97\xd1\x24\xfb\x8b\x92\x36\x4d\xf4\x18\x08\xa2\x68\xca\x1e\xb2\xbb\x84\xbf\xb7\x4d\x5f\x7f\x3a\xb7\x7e\x7a\x1b\xfa\x7b\xb6\x64\x5a\x4b\xf1\x65\xd5\xf7\xd4\x0f\xf1\xbf\xaa\x1f\x3a\x73\xcb\x2f\xde\xb5\xeb\x62\x52\x85\xee\x2b\xca\xa4\x6d\x99\xa6\x2e\x46\x5f\xac\x8b\xa0\xfb\xd4\x2d\x11\x6d\xdb\x41\x45\xd9\x4c\x89\x9b\xc7\xad\xe2\xd6\x73\x3b\xb8\x3b\xb8\xfd\x5c\xd9\xe6\xbf\x80\x18\x7f\x91\xed\x71\x0c\x39\xb7\x14\x97\x3a\xc3\xd9\x13\x4c\x30\x97\xc9\x68\xd6\xb3\x6f\xc8\xb0\xeb\x68\x86\x6d\x53\x21\xe1\xe2\xa4\x53\xe6\x62\x9a\x99\xe1\x66\xe4\x44\x22\x4e\xba\x99\xc9\x20\x28\x8b\xfa\xa8\xb5\x15\x28\x84\x59\x71\x47\x12\xe4\x8a\x22\x97\xc4\x8c\xf9\x83\x3b\x43\x6b\x25\x1a\xe3\x0c\x6d\x44\xa7\xfd\x44\xa8\xcd\x99\x6d\x76\x4b\x61\xde\x35\x3a\x1e\x70\xe2\x35\x8b\xf7\x3c\x70\xd7\xd2\x15\x46\x69\xcd\xa2\x3d\x07\x16\x4f\xd3\x9b\x77\xee\x34\xeb\xa7\x2d\x3e\xb0\x67\xd1\x1a\x49\x68\x68\xba\x68\xef\x03\x7b\x16\xaf\x91\x20\xa5\xee\x1a\xfc\x65\x8b\xdd\x66\xce\xd5\x0a\xc4\x7f\x7a\x55\x73\x7c\xe1\xaa\x2b\xe6\x44\xb5\x57\xf3\xc2\x78\x73\x74\xce\x15\xab\xb4\x17\xb2\x0c\x04\x2d\xf3\x7d\xc4\x22\x00\x9e\xf4\x8b\x01\x3c\x04\x3b\xe6\xa0\x1e\x70\x3e\x0b\xef\x23\x03\xb9\xc2\x3f\xbe\x84\x8d\x58\x3b\x24\x7d\xea\x75\xce\x70\xc8\x96\x05\x94\x6f\x77\x2f\x8f\x26\xb5\xce\xbd\x27\xb5\x64\xde\x92\x9b\xfa\xef\x4d\x2d\xa9\x33\xeb\x67\xcf\xd6\x9b\xeb\x96\xa4\xee\xed\xef\xd8\x18\x9d\xbf\x24\x79\xef\xdc\xd6\x49\x88\xef\x45\xbb\x75\x52\xd6\x16\x0a\x3b\xf7\x35\xee\x49\x74\x84\xe9\xa3\xd0\x91\xd8\xd3\x18\x66\x0f\x3c\xd8\x6e\x0c\x3b\x75\x2d\x3e\x62\x03\xb4\x08\xfd\x7b\x00\x67\xb3\xea\xc2\x2d\x03\x3a\xcc\xf3\x36\xde\xa7\xe6\xb3\xe8\xf0\x3e\xc2\x6b\xf7\x30\xda\xb9\x51\xc7\xd5\x73\x11\x2e\x41\xbf\x2c\x31\xea\x1e\xa6\x78\x42\x96\xb4\x55\x5c\xf6\x74\x42\x42\x41\x3d\x0a\xca\xf4\x10\x29\x7e\xa2\x33\x99\x2e\x7b\xc4\xc1\xd2\x8d\x50\x61\x88\x7e\x11\x02\xd1\x4f\x42\x50\xbb\x02\xd3\x3a\x73\xea\xcf\x51\x53\x81\x3d\xbf\x8b\x3a\x55\x66\x99\x00\x73\x31\xf2\x4b\xcd\xc9\x97\x4d\x0a\xa0\x40\xf1\xdb\x13\x90\x19\xca\x50\xbf\x1e\xfb\xb9\xfa\x73\xfc\x79\xf5\xe7\xea\x67\x51\x27\xd5\x29\xa2\x5f\xad\x40\x5c\x6c\x60\xf8\x1f\x7c\x4e\xf3\x31\x9e\x36\x7f\x66\x8f\x70\xb3\x70\x33\xb3\x02\xed\x2c\x59\xd5\xd0\x2c\x77\x14\x05\xf4\x8b\x5a\x1b\x88\x31\x9b\x92\x15\x7e\xd7\x98\xf4\xc2\xcd\x4f\x6e\xbb\xf3\x8a\xe1\xbf\x6f\x79\xeb\xa9\x27\xaf\xc7\x97\x18\xba\x6c\x66\x43\xe1\xe9\xf9\x57\xae\x3f\xd0\x4f\x74\x3d\x8b\xb2\x4b\x7a\x0a\xdf\xf4\xd5\xd7\x28\x55\xe8\x51\x43\xb7\xcd\x64\x50\xaf\xec\xb9\x6e\xd1\xf2\x2e\x3c\xfd\x8a\x87\xb7\x3d\x79\x05\xd1\x5d\xff\xf8\x53\xff\xb6\xa5\xf0\xb4\xc1\x64\xeb\x32\xe0\x4b\xe7\x1e\x5a\x7f\x75\xff\xf0\xdf\x7b\x96\x64\x17\xf5\xe0\xe9\x5e\xa5\x26\x50\xad\x5e\x09\x71\xdd\x06\xf4\x68\xd7\xf2\x45\xd7\x41\x61\x6b\x46\xc9\xf6\x51\x1d\xed\xe9\xda\x37\x3e\x98\x3c\x1f\xfb\x7e\xcc\x88\x5e\xbf\x3d\x51\x62\x79\x8d\xd5\x41\x1d\xab\x73\xe7\xa1\x58\x1a\xfd\x20\x10\x47\x72\x39\xa7\x41\xfd\xa3\xa1\xd5\xaa\xdd\xc8\xe5\x60\xb8\x09\x0c\xb7\x9a\xab\xd0\x0c\xce\x95\xbf\x4d\xca\x86\xdf\xeb\x8f\xb1\x8f\x13\xe5\x2c\x93\x0c\xa8\xca\xe0\x2c\x29\xf6\x9f\xe6\x34\x4b\x11\x98\xab\xb8\xdd\x91\x87\x59\xac\xc0\xbe\x5a\xaa\xfe\xc9\x3f\x30\x4a\xf7\x64\x5c\x3b\x7c\x95\xd7\xeb\xfc\xc0\x68\xb5\x15\xed\x7e\x8e\xdd\x6b\x69\xf6\x8e\x3f\xb5\x65\xef\xd1\x76\xfe\xce\xe5\xae\xb0\xde\xfd\x87\xf1\x9c\xec\x8c\xcf\x4b\xd4\x0e\x83\x76\xbf\x16\xe5\x32\x14\xa3\x29\x69\xb0\x39\x4a\xb7\x86\x63\x6a\xe7\xce\x11\x7e\xb6\x55\x69\x76\x6f\xa8\xfd\x09\x1f\x56\xde\xb4\x9d\xca\x8d\x13\x58\xe9\x7e\x83\x65\x43\xf7\x6b\x06\x86\x07\xcb\x86\x94\xc9\xef\xc6\x86\xa0\x11\x4b\xd3\xda\xb0\x5a\x99\x6e\xe9\xdf\xb9\x5a\x58\xf1\xfd\xb0\x6b\x6f\xe4\x6e\x86\xed\x80\xad\x82\x8c\xb6\x3a\xa4\x68\x37\xce\xa4\xea\xc5\x10\xfb\x90\x15\x9c\x47\xb2\x2b\xc8\x98\xae\xda\x7d\x49\xb4\x9b\x5d\x0e\x53\x66\x6e\x22\x75\xb6\x21\xf2\x60\x2a\x91\xa4\xd8\xa6\x28\x45\x33\x09\xfb\x05\x07\xe1\x96\x4d\x0b\xd7\xf7\x4e\x9e\x34\xb9\xa6\xe9\x6a\x9f\x6e\x52\x58\xb6\x4d\xb1\xad\x47\x73\x2f\x4d\x74\x62\xf5\x90\xd8\xd2\xdb\xdb\x52\x53\xd5\x1c\xba\xc8\x7b\x69\xfb\xec\x2b\xa6\x2d\x9a\x8e\x76\x09\x7f\xd6\xc6\xc1\x61\xd1\x06\x4a\xfd\xd2\x06\x84\x75\x8d\x33\xef\x5a\x2f\xbc\x57\x19\x53\x39\x5a\x4b\x16\xac\xea\x5d\x3e\xb1\xc6\x9f\xd5\xb5\x19\xa6\x36\x38\x10\x4e\x1d\x5e\x7e\xbd\x69\x0e\xce\x3e\x15\x76\x24\x96\x24\x9b\x26\x78\xaa\xaa\xdb\x3b\x12\x93\x17\xcf\x8c\x2f\x6e\xce\x54\x75\xaa\xdf\xd2\xc6\xcc\xe2\x90\xc9\x0d\x97\x5f\xde\x70\xa4\xc1\x64\x8f\xf4\xef\x52\x37\xaa\xb7\x94\x23\xc6\x8c\xeb\xc8\x5d\x8a\x95\x4b\x71\x6b\xd9\x5e\x3a\x4a\xb8\x31\xa2\x29\xc7\xa4\x35\xa3\xb0\xda\x07\x24\xa8\x32\x0d\x3b\xd8\xca\x97\x03\x24\x58\xb4\x96\x5b\xba\x8d\xd3\x14\x5a\x28\xde\x9c\xca\x68\xd2\x4a\x9e\xa2\xad\x37\x2a\xfd\x25\x32\x45\xe5\x8f\x99\x14\x23\xfa\x8e\xdf\xd3\x7a\xc7\x67\x10\x1f\xdf\xd6\x7b\xad\xc1\x68\x11\x4c\x4b\x2c\xf1\xd4\xf2\x9d\xd7\x4d\x9b\xda\xdb\xfb\xf3\xe9\xeb\xda\x23\xef\xa1\xc7\xa4\x06\x4f\x6b\x64\xd6\x82\xd9\x0b\x6e\xba\x6e\xe1\xfe\xc9\x56\x1d\xa5\x1b\xaf\xb4\xd6\x5a\x85\xd0\xc4\xa6\xee\x8e\xd9\xd9\xbe\xb9\x13\x5b\x16\xd6\xe3\xdc\xc8\xb7\xf7\xb2\xa1\x89\x6b\x56\xbc\x98\xdb\x25\x9b\xc2\xca\x82\x9b\x3a\x1d\xd5\x40\x53\x3e\xd4\xb6\xb2\xa3\x7d\xf9\xec\xa9\x53\xbb\x9d\xcd\x7e\xef\x19\x2e\x9a\xba\x76\x6d\x5b\x6b\xa8\xb9\xd5\xe1\xf2\xc4\x6c\x26\x9d\xc5\xbc\xb1\xb5\x56\x89\x4c\xc0\xf5\x73\x14\xdd\xe4\x48\xd8\xe5\xae\xf6\x75\x76\x4d\x5b\x32\xbb\xa6\x82\x2f\x7a\x39\xd5\xb6\x97\x95\x16\xcd\x10\x2e\xeb\x53\x3c\x23\x79\x5c\xa2\x36\x20\x6e\x97\x47\xae\xe8\xad\xd6\xe3\x66\x6d\xc8\xac\x08\x40\xcb\xe3\xce\x78\xca\x83\x45\xd3\xbb\x65\xf7\xc8\xc8\x69\x77\x58\xb0\xe1\x44\x95\xb1\x76\x0d\x5b\x23\x3a\x62\xae\xee\x4c\xee\xa9\x5f\xba\x68\x6b\x6d\x5b\x2d\xc2\x9d\xd9\x4e\xd9\x8c\x90\x45\x9c\x18\xea\x5a\x7e\xf1\xba\x65\x6d\x4d\xad\xf6\xb0\xdd\x25\x59\x81\xe6\x96\xeb\x9b\xae\xb0\xe0\x25\xaf\xf7\xef\x00\x5a\x7f\x62\x74\xb6\x68\x25\x3a\x8b\xe8\xb2\xfa\x94\x39\x7d\x1b\x36\x1d\x78\x6e\xdb\xf6\xce\x2e\xb7\xcd\x5e\x25\x2c\x75\x58\x46\x3e\xa3\x2e\x04\x31\x5e\x8e\x78\x89\x00\x8d\x6f\xc9\xea\xf5\x55\x96\x1b\xcc\x51\xf1\x1d\xf5\x4f\x37\xcf\xeb\x08\xb6\xf8\x1d\xc1\xb0\xbf\xad\x7d\xf6\xe3\xf3\xd7\x1c\x5c\xda\x31\xd5\x15\x42\x98\x2c\x35\x10\x33\x56\xcc\x92\xd7\x84\x8c\xa2\xd5\x27\xc5\x8c\xb2\x7a\xe7\x77\x36\xf5\x37\x4f\x69\x9f\x1c\x08\x36\xb7\xf4\xf5\x6f\x5f\xf0\x04\x9a\xfb\x72\x55\xf8\xd4\xed\xa5\xb9\x71\x70\x9c\xa1\x2c\xc3\x31\xf6\x9b\x02\xf7\x71\x4f\x69\x16\x23\x2a\xfb\x6e\x1f\xe3\x1f\x3b\x36\xff\xd3\xfe\xb1\xf5\x8d\xfd\x46\x28\xfd\x4e\x79\xc5\x27\xea\x2b\xdc\xa3\x63\x54\xee\xdc\x71\x9f\x3c\x65\xa5\x9b\x92\xbb\x4c\x16\x41\xa0\x22\x71\x65\x9b\x86\xe8\xde\xb2\x53\x1d\x71\x12\xcb\x78\xa1\x17\x4c\x50\x51\x18\x9a\x57\xf9\x85\x51\xba\x0f\x57\x9f\x79\xac\x68\x8f\x42\x66\xfa\x92\x4d\xd4\xc2\x07\x10\xbe\x28\xcc\xe4\xbd\x5b\xca\x76\x4c\x23\x9e\xff\xcb\xdb\x9b\x00\xb6\x51\x9c\x7d\xe3\x3b\xb3\x97\xce\x95\xb4\xab\xcb\x92\x2d\xeb\xb0\x24\xc7\x67\x6c\x59\x92\x6f\x2b\xb1\x73\x38\x71\x12\xe7\x4e\xc8\x65\x72\x3a\x0e\x90\x9b\x40\x42\x82\x08\xa1\x90\x70\x85\x00\xe1\x26\xe6\x2a\xd0\x90\x42\xb9\x79\x09\xad\xda\x02\xa5\xdc\xe1\x85\x52\x5a\x68\x4d\x4b\x79\x0b\x2d\x47\xdb\x97\x02\xb1\xb5\xf9\xcf\xcc\xae\x0e\x1f\x21\xbc\xef\xff\xfb\x3e\x88\xb5\xb3\xbb\xb3\xbb\x33\xb3\xb3\x33\xcf\x33\xcf\xf3\xfc\x7e\x78\xa4\x68\x03\xe0\x34\x5b\xe6\x87\x20\xb8\x41\xfe\x3d\x2c\x13\x4f\x9e\x14\x63\xe2\x8b\xa2\xc8\x72\x78\x7b\xf2\x95\x95\x2b\x3d\x1e\xf4\x07\x2e\x7a\xfe\xf9\xe6\x66\xf4\x47\xff\x41\x3d\x92\xbe\x53\x4d\xd0\xcf\x92\x6b\xdf\x89\xe1\x6b\xd1\xa5\x31\x7c\xad\xf8\xe2\x75\xe4\xa4\x67\xa5\x3c\x44\xae\x6b\x7e\x3e\xbd\x5c\x3d\x02\x3d\x6a\x82\xac\x3d\x24\xb2\xf2\xbf\x99\x72\x52\x33\xf2\x2c\xec\x18\x0b\x1a\xab\x78\xd9\xb0\x1c\x8b\x55\x60\x42\x01\xc5\x21\x82\xfc\x22\x01\x4c\x51\xfc\x90\x20\xd3\x4a\x63\x40\x28\x02\x8f\x11\xc9\x05\x7b\xcb\xaf\x82\xe4\x9d\x46\xed\x2f\xb5\xac\xe2\xda\x0f\xba\x34\x92\xe0\x33\x84\x69\xac\x94\x62\x4d\x36\x41\x87\x0d\x3e\x41\xd2\x20\xc5\x1d\x30\x5a\xc9\xf8\xa2\xd4\xe6\xee\x0f\xb9\x18\xa4\xc9\x28\xb1\x00\x10\x09\x8b\xe8\x7a\x63\xfa\xc7\x64\x97\x49\x0d\x51\x26\x87\xa0\xa5\x01\xc0\xbe\x12\xf8\x0f\x00\x5a\x2b\x38\x4c\x18\xd3\x54\x13\xb3\x57\xbb\xfd\xe8\x26\xae\x94\x02\x20\x90\x93\x61\xa6\x51\x19\x1c\x06\x3c\x10\x61\xd5\x1e\x87\x18\x11\x90\x22\x1a\xc7\xff\x2a\x46\x08\x95\x05\x53\x11\x29\x31\x87\x5e\x54\x8d\x7d\x75\xd0\x9c\x03\xe3\x35\x60\xeb\x0e\x87\x2d\x71\x27\x36\x6e\x68\x92\xb4\x95\xd6\xbe\x96\x0b\x7f\xda\xbb\xe3\x4f\xd7\xac\x7f\xf2\xe2\x25\xe5\xdd\x33\x3c\x1a\x68\x80\x9c\x25\x72\xe2\xc1\x9b\x1e\xdc\xbf\xa1\x65\x9a\xa0\x09\x3a\x62\xb5\xad\x0b\x0a\x56\x59\x98\xd7\xe5\x0c\x7a\xe8\x6c\xb2\x4e\xeb\x5d\x36\xc5\xff\x93\x70\xc3\xfe\x2f\x0f\x6f\x79\x69\x4f\x63\xcf\xee\x1f\xb4\xf7\xde\xe9\x35\x78\xf9\xf1\x9c\xc3\xda\x72\xd6\x4d\xef\xdd\x7b\xe9\x8f\x3e\x5f\xd8\x12\xd8\xbe\xb8\xb8\x76\xe2\x96\xf9\x9d\x35\xf2\xf2\xc9\x1b\x96\x80\x8b\x3e\x39\xa1\x58\x81\x72\x75\xeb\xca\x93\xfb\x33\xb5\x13\x15\x72\x30\xb5\x72\x64\xf0\xfd\xce\xca\x65\xf0\xa6\x94\xf8\xe1\x74\xf9\x7c\x87\xb6\xc2\xb6\xbe\xf9\x89\xbf\x4c\xde\xf5\x64\x5f\xef\x13\xbb\xcf\x2a\x9f\x35\xc3\x68\x63\x74\x2c\x67\xa9\x7d\xe3\xfe\x1b\xef\xbf\xbc\xaf\x19\x57\xce\x1e\xad\x69\x99\xef\x5c\xe9\xb4\x3c\x95\x1f\x63\xbc\x73\x91\xff\xe1\x70\x3d\x08\xff\x69\xde\x1d\x17\x76\x36\xf4\xec\xba\x6c\xe2\xda\xdb\xbd\xac\x4e\xa8\xb0\x38\xa4\xd6\x45\x87\xdf\xb9\xfb\x92\x07\xfe\xbe\xb0\xd9\xbf\x7d\x61\x71\xcd\x84\xcd\x73\xa7\xd6\xc8\x2b\x57\xdf\x9a\x0d\x44\xce\xd9\xb6\xdc\x44\x5e\xc3\xd8\x89\x3e\x5b\x44\x50\xe1\x04\x6a\x1d\x71\x5c\x6a\x33\x16\x74\x82\x91\x68\x20\x8a\x64\x1c\x5b\xc4\x16\x19\x29\xa1\xd2\x37\x72\xf2\xe1\xf7\x68\xf7\xf8\xf9\xb1\x55\x57\x5d\xb5\x6a\x69\x4b\xef\x39\x37\xf6\x0f\x0c\xf4\xdf\xf7\x0a\x58\x7c\xee\xb9\xe7\xa1\xff\x80\x98\x2f\xc3\xc2\x1d\xae\xd0\x3e\x67\x5d\x2c\x70\xcd\x4b\xd7\x34\xad\x59\x8d\x57\x5f\xde\xda\x81\xb3\x9d\x07\x2f\x1b\x26\xdd\xe2\xf9\xef\x1e\x2d\xc5\x2e\x53\xb1\x80\xad\x30\x8f\x14\xdb\xeb\xe0\x89\x2b\xb7\x95\xf4\x30\x3a\xee\x8b\xfa\xec\x41\x1b\x16\xc3\x02\xd1\x48\x34\x62\x63\xef\xf8\xb1\xfc\xd3\x37\x6f\x94\xbf\x7c\x7e\xdb\xb6\xe7\x81\xf9\x46\xe0\x79\xed\x57\xdb\x1f\xde\x75\x62\xe7\xce\x13\xbb\xe6\x5e\x79\x56\x7b\x31\x87\xf4\xaa\xc7\x0d\xf4\xaa\x13\x6f\x9d\x38\xf1\x16\xdc\xf8\xa6\xfc\xec\x53\x38\x23\x28\x03\xe6\xe7\xb7\xa5\x7e\xb6\xf9\xa2\x77\x86\xde\xb9\xa8\x6a\xd2\xa2\x99\x81\xa1\xb6\x36\x9c\xe7\xc4\x89\xec\x1a\x22\xc6\x68\x30\x50\x85\x54\x05\xd1\x04\x09\x75\x29\xef\x88\xe1\x20\xa3\x12\x24\xea\xf9\xab\x60\x5d\x2b\xac\x45\x3a\x85\x45\xf9\x82\x71\xd8\x8e\xcd\x57\x37\x6a\x44\xc7\xd1\xf3\xc9\x2d\x37\xcc\x28\x33\xe2\x75\xc5\xb2\x19\x7b\x0e\xef\x99\x51\xa6\x6c\x60\x59\xdf\xe1\xc1\x24\xfe\xee\x98\xe4\xe1\x4f\x43\xae\x6f\xc9\x8a\x03\x8f\x01\x85\x93\x3d\x20\xb5\xbf\x3b\x68\x95\x07\x3e\xbe\xea\xe0\x45\x33\x67\x5e\x74\x50\xd9\xc8\x65\x90\xc2\x17\xc8\xe4\x97\x4e\xe4\xf8\x82\x42\x2a\xd6\x00\x83\xf4\x1b\xca\x98\x89\x92\x21\x78\x06\xa8\x18\x0c\x25\xc9\x09\x8c\xd6\x99\x90\x08\x59\x12\x7d\x16\x49\x4b\x20\x25\xd5\x65\x70\x1e\x90\xda\x48\xd1\x09\xe5\x5a\x52\x05\x15\x01\x01\x03\x90\x0c\x11\xcc\x81\x14\xc6\x1c\x48\x01\xe2\x2b\x21\x29\x0e\xf9\xca\xb5\x09\x2a\x09\x31\x42\x80\x31\xcb\xac\xab\x42\x1b\x60\xcd\x3e\xf7\x20\x26\x91\x7f\x1f\x29\xc3\xa7\x9c\x84\x09\x26\xaf\xcc\x0a\x90\xa0\x03\xc0\x04\x29\xb3\xf2\x2c\x1c\x7e\x93\x29\x7c\x48\x7d\xee\xf0\xd8\x9a\x22\x8a\x8a\xf8\x88\x6f\x64\x10\xf3\x41\x8e\x9e\x5b\xfb\x61\x4f\x3a\x29\xb1\xe7\xa6\x93\xb0\x47\xa1\xce\xce\xce\x77\x4c\x72\xb0\xdf\x28\x79\x99\x9e\xc1\xa4\xc4\xbc\x96\xcf\x43\x82\xfb\x67\x8a\x51\xb0\xe7\xdc\x23\x5b\x55\x1c\xd1\x4e\xc3\xdb\x38\x34\xa2\xd9\x7e\x97\xd7\x12\x63\xb4\x21\x79\x0e\x7a\xdc\x19\xdf\xdd\xb0\x1b\xa9\xd7\xd2\x94\x5a\xc6\x33\xbc\x3b\x7a\xe4\x73\x73\xf1\xc4\x2e\x8c\x46\x92\xfb\xee\xed\x0e\xc6\xe1\x81\x4d\x90\xd8\xbe\x83\x31\x0c\x1d\x46\xf1\x02\x53\x0e\x49\x60\x41\x09\xb1\xe2\xaa\x34\x51\xca\x42\x79\x45\x03\xe8\xbb\xbc\x61\xca\xf9\x11\x00\x22\xe7\x4f\x69\xf8\x11\x98\xda\x50\xbe\xb2\x53\xbe\x62\xa9\x6e\x42\x79\x4b\xcc\x81\xa6\xe7\x58\x4b\xf9\x04\xdd\x12\xf9\x47\xfe\xd6\xf3\xe6\xce\x60\x53\x13\x56\xd0\x8d\x43\x1f\x13\x2f\x7c\x57\x4d\xe8\xdf\xab\xca\xaa\x6b\x6a\xaa\xcb\x76\xfd\x21\x0c\x16\xcc\x3a\x18\x91\x07\x13\x7c\x75\x51\x89\x28\x96\x14\x55\xf3\x89\xcf\x9c\x65\xd7\xb7\xcd\xec\x5d\x4e\xde\xf9\x23\x68\x3c\x3b\x87\xc4\xfd\x95\xab\xf8\x16\x76\xc5\x55\x17\x7b\x13\x92\x15\x7d\x85\xa2\xde\x66\xf1\x89\xe6\x6a\xe0\xb3\x05\x48\x88\x25\x58\x26\x3f\x09\x56\x80\x75\xf3\xe0\x9c\xd5\xeb\x7e\xb8\x9a\xb9\x56\x7e\x6a\xf6\x82\xb6\xf9\x36\xbd\xfc\x14\x12\xfb\x41\x27\xb4\x96\x4d\x59\xd7\x76\xf4\x4d\xfa\xda\x21\x1f\xfd\x47\x50\xdb\xb9\x72\x65\xe7\xb4\xb3\xcf\x1e\xfa\x20\xfd\x12\x14\xd7\xef\x98\x14\xf1\x44\xd2\xef\x82\x6b\xc1\x97\xe3\xc7\x1f\xf4\x8e\xaf\x2f\xfe\x73\xe6\xbd\x29\xe3\x6b\x1d\x99\x13\x71\x38\x76\x49\x38\x84\xc3\xff\x23\x78\xd5\x0d\xfb\xf4\x90\xb9\x83\xe3\x47\x2c\xf3\x63\x80\x3f\x06\xa9\xe6\x3b\x5f\x97\x3f\xba\xfd\x21\xf9\xe5\x73\x79\xa0\xd9\xaf\x33\x99\xf9\xce\xb7\x77\xf4\x3e\x77\x60\xf6\xec\x03\xcf\xf5\xae\x7c\x7c\xf2\xfe\xbc\x95\xf9\xbd\x1b\x80\x74\xfd\xed\xa0\xf0\x75\xba\x50\x7e\x49\xfe\xe8\xf5\x9d\xd7\xed\xd3\x15\x68\x0e\x68\xa1\x6e\x45\x2f\xca\xfe\x26\xba\x6a\xca\xc4\x03\x79\x2b\xf7\x97\xac\xd9\xb8\xf3\x75\x54\xc6\xd2\x53\x36\xee\x6f\xec\x6f\xb1\x4f\x9b\x6f\x18\x68\x2d\x0e\x4e\xf5\x70\x38\xde\x97\x55\x8f\xb5\x32\x24\x1c\x9a\x75\xa8\x5d\xa8\x8a\xc3\xc8\x01\xac\xba\x76\x24\x30\x24\xb4\x84\x0d\x63\xec\xdb\x0c\x16\xec\xdf\x82\x1b\x08\xef\xee\x8d\xa1\xf2\x53\xd4\x1e\xa1\x54\x80\x36\xc6\xcc\x68\xe8\x42\xda\xad\x77\x89\x2e\x63\x69\xa1\xdc\x5b\xa8\xd5\xda\xf5\x1e\xda\x13\xd2\x99\x2d\x3a\x0b\x67\x85\x82\x00\x96\x8e\x95\x15\xdc\x3c\x46\xd6\x3d\x80\x2a\xc7\xab\x54\x1b\x82\xd1\xe0\x39\xc1\x20\xc0\x96\xb1\x72\x80\x9e\x25\x40\x2b\x87\x32\x99\x75\x21\x74\x81\xde\xae\xd5\x92\x95\x32\x23\xba\x95\xde\x8d\x6e\xaa\x41\x37\xb7\x41\xf4\x18\xf4\xac\xd1\x59\x51\xa9\xc6\xc8\xba\xe7\x14\x55\x8e\xea\x12\xce\x61\x78\x28\xfe\xc4\x98\xbd\x15\x5b\x36\xa6\xe7\x62\xab\xb3\xc2\x9c\x14\xab\x02\x38\x8a\x9d\xf8\x7b\x60\x2e\xe1\x92\x11\x39\x32\x1e\x71\xc0\xcc\x2b\x76\x1f\x4b\x86\xf9\x1d\x24\x09\x0b\x32\xd0\x2b\x9b\xaf\xd7\x70\xee\xda\x2a\x7e\x4d\xf3\x72\xb3\xb5\xfb\xd6\x03\x56\x73\x05\x5c\x49\xce\xa4\x5f\x21\x1b\xa8\xe6\xbb\xf2\x6a\x29\x70\xf2\x07\x01\xe9\x6a\x8c\x66\x05\xce\x01\x5d\x5f\x5e\x03\xc8\x99\xe9\x50\xa5\x47\x3e\x02\xf6\xb8\x2a\x05\xb7\x4b\xde\xcb\xce\x68\x9e\x71\xa0\xb4\x7b\x46\xf3\x16\x41\xc9\xf1\x0a\xd9\x6c\x57\xf2\xa5\xe4\xc1\x3f\x14\x15\x7d\x00\xb8\x27\xf1\x4d\xae\xf9\x52\x7e\x3c\x33\x2e\x28\x98\x5b\x76\x3c\xff\x51\x48\x50\x43\xb2\x0f\x86\xa4\xe7\x63\x0a\x1a\x7d\x49\xcc\x1c\x62\x72\x60\x5c\x18\x7e\x60\x38\x1a\x17\x01\x89\xee\x92\x7b\xe5\x3b\x4e\x5c\xbb\x77\xa1\xdb\x59\x75\xf3\xae\xf2\x86\x49\x2d\xaf\x82\x55\x27\x4e\x80\xd9\x79\x18\x5d\xac\xc9\x39\x0a\xa4\xeb\x4b\x70\x3b\xf8\x2b\xb8\x9d\x49\x5e\xf9\xf7\xfd\x9b\x5e\x99\x56\xdb\xb3\x64\x76\xdb\x39\x21\x4e\x73\xe5\xdf\x81\xf8\xf7\x5f\xe5\x80\xbb\x6c\x96\x31\x70\xbb\x7e\x0c\xc2\x47\x8f\xe6\xd6\x20\x70\xec\x46\x23\xb5\x3a\xbf\x16\xd9\x3a\xd4\x85\xf0\x5b\xf8\x0e\x14\x05\xf0\xdd\xf8\x09\x48\xfc\xa3\x17\xcb\xaf\xcb\xff\xbe\xa3\xaf\xe7\xec\x80\xbf\xb0\x22\x3a\x73\xfa\x2d\x40\x77\xc7\x1d\xe9\x3b\x31\x6e\xc2\xf1\x33\xa0\x2b\xb0\x8d\xdf\x0b\x55\xe1\x1a\x26\xd9\xfb\xe8\xda\x39\x37\xd7\xd7\xcf\xb3\x4a\xc5\x3a\xa1\xf7\xd1\x57\x1f\xfd\xeb\xfe\xbf\x9f\x01\x6a\x61\xf0\x9b\x33\xa3\x2c\xec\xba\xe0\x04\x1a\x1f\xc0\x29\x8a\xbe\x08\x8d\x61\x3e\xc5\x0e\xab\x18\x20\xe2\x12\xab\x18\x27\x54\x67\x78\x34\x4a\xd0\x41\x1c\xf0\xb2\x5d\xd4\xa7\x3f\x32\x16\x31\x3a\x8b\x85\x79\x41\xee\x63\x34\xa2\x51\x64\x7f\xcd\x38\xcd\x60\xaa\xe4\x62\x8f\x82\xab\x34\x8c\x44\xbf\x6c\x75\x0e\xee\x2a\x80\x6c\xa1\x99\x2e\x5d\x03\xf4\x26\x27\xdd\x20\x88\x05\x16\x8d\x4e\xae\x59\x09\xf3\xb9\x3f\xe6\x0f\x5f\x0f\x45\x4a\x0f\x92\x4f\x47\x92\x23\x8f\x79\x8c\x18\x6e\x03\xb9\x09\x5e\xc1\xf3\xb1\xf9\x54\x14\x41\x9e\xaa\x2f\x55\x42\x0a\x7b\x64\x8a\xac\xc8\x8e\xb9\xd7\x55\x07\x95\x7d\x12\x78\x58\xda\x03\x31\x72\x5f\x69\x7d\x7e\x38\x62\x2a\x95\xc9\x3d\xc6\x5e\x5d\x57\x2a\x73\x2d\x3e\x9a\xea\xaa\x4b\xd5\xe7\x64\x93\x14\xd2\x66\x67\x51\x8b\x55\xb9\x28\xe3\xf0\x8e\x91\x73\x2c\xb1\x5a\x65\x95\x11\xab\x4d\x5c\xc6\x14\x84\xbd\xc9\xc0\x88\x5d\x32\x99\x29\xb8\x04\x31\x0a\xcf\x1a\xd8\x24\x04\x6c\x21\x3f\x4f\x6e\x47\x27\x6f\x7e\xf3\xe6\x50\x5d\x68\xe6\xea\x99\xbe\x56\xda\x27\x19\xf5\x86\x9a\x45\x8d\x1d\x17\x94\xf3\x36\x46\x6f\x11\xf5\x8c\x8d\x2f\xdf\x71\xc5\x0e\xb2\x2b\x5a\xc8\xee\x05\x1d\x8d\x8b\x6a\x0c\x7a\xa3\x04\x2a\xa9\x53\x60\xfe\x4f\xaf\x02\xc6\x81\xfb\x7c\x20\x4d\x95\x55\x94\x61\xdf\xdf\xe7\xd3\xc7\x7b\x6f\xbe\xb9\x17\x8b\x30\xb5\x33\x67\xd6\xc2\x0e\x7d\xc8\x28\xe9\xaa\xaa\xa6\x35\xeb\x4a\x38\x8b\x85\x2b\xd1\x35\x4f\xcb\x4f\x57\x55\xe9\x24\x23\x0b\x9f\x02\x96\x2b\xba\xaf\xff\xf3\x01\x08\xdf\x5a\x09\xe1\x4a\x2c\x94\x32\x59\xbb\x8a\x06\x69\xc4\x6e\xac\x81\xb0\x3e\xc5\x96\xe2\x1b\xb5\x58\xe2\xcb\xc6\x70\xb7\x0c\x27\x45\x21\xab\xf7\x34\x92\x6c\xf1\xba\xbb\x9c\xc4\xec\x8c\x69\xb2\x9a\x09\x53\xa8\x0e\x14\x28\x97\xdf\x81\x54\xce\xd8\x52\x5f\xca\xa0\x94\xcd\x84\xe7\x82\x24\x5e\xca\x07\xfd\xc0\x9b\xc5\x8a\x4d\x9f\x8b\xf2\xcf\x4f\x93\x77\xde\xaf\x2c\xd3\x63\xd3\x8a\xd1\x84\xe6\x83\x9e\xac\x5c\x49\xb8\x60\xcc\x54\x29\xb5\x94\xd8\x26\x49\x58\xb9\xaa\x33\xa1\xe6\x57\xa3\x1a\xac\x0a\x53\x76\x24\x46\xf4\xdd\xb8\x15\x7b\xb8\x65\xa1\x31\xb0\x66\x48\x02\xb6\xc8\x9b\xcb\xfc\x61\x77\xf2\x28\x51\x1d\x20\x1c\x90\x5c\xd2\x39\x75\xb8\x5c\xb5\xab\xa6\xf7\x4f\xda\x78\xf9\x81\xcb\x37\x4e\xea\xd0\x8d\xd3\x25\x8d\x1f\x19\x93\x68\xdb\x91\x5c\x57\xd9\xd4\xcc\x54\x17\x14\x54\x1a\xdb\xaa\xac\xdd\xcb\xbb\xad\x55\x6d\xc6\xca\x82\x82\x6a\xa6\xb9\xa9\x72\xdd\xe2\xeb\x9e\xfa\xe9\x53\xd7\x2d\xa6\xc9\xca\x6b\x55\x2d\xba\x9b\xb7\xab\x6e\xea\x45\xb3\x2a\x2b\x67\x5d\x34\x75\xcd\x2c\x7d\x85\xfe\x96\xeb\xae\xbb\x05\x6d\x66\xad\xb9\x6d\x73\x4d\xd7\xd6\xda\xc2\x58\xd0\xed\x0e\xd6\x15\x39\x9c\x55\xb5\x15\x75\x75\x15\xb5\x55\x4e\x47\x51\x1d\x3e\x16\x2b\xac\xdd\xda\x55\xb3\xf9\xb6\x55\x47\x37\x4f\x98\xb0\xf9\x28\x19\xff\x15\xec\x59\x17\x89\x41\x21\xcb\xd4\x39\xdb\x90\xc2\x23\x49\xdc\x25\xcc\x79\xb8\x94\xa1\x5c\xa0\xba\x02\x67\x66\x3c\xd9\x2f\x19\x0d\x06\xf9\xe7\x5a\x2d\x48\x10\xaa\xc8\x1e\x4c\x86\x48\x50\x26\x4f\xf6\x13\x94\xdf\x1e\x05\x45\x12\xf4\xa0\x5a\xa0\x7f\x3a\x94\x0f\x33\x2e\x26\x30\x42\xa4\x04\x7d\x19\xb0\x48\xb2\xb4\x9c\x85\x84\xcc\x60\x04\x12\x6e\xa2\x28\x89\x01\x2e\xcf\x59\x80\x32\xb6\x2c\x4c\x10\xc8\x7e\x87\x5d\x99\xa5\x44\x61\x80\xdc\x78\x00\x93\x51\xf6\x60\x32\xca\x15\x3a\x98\xb1\x36\x5f\x75\x3e\xb6\x36\xdf\x0e\xe8\xa6\x29\x2b\xfa\x0e\x8f\xdb\x7b\x3f\xec\x11\x44\xd0\x43\xec\x3c\xfd\x84\x01\xb3\x1f\x55\x6b\x85\xe1\x6d\x62\x83\xde\xfb\x7e\xdc\x63\x7c\x1b\x54\xfc\xf8\x60\xeb\xe1\xbe\xae\xd6\xe2\x13\xa3\xcb\x18\x26\x8e\xcb\x0a\x3e\x45\xd6\x0f\x37\xa2\x22\x42\x9c\xb6\x8c\xf8\x31\xa8\x15\xee\xd2\xe5\x15\xf6\x3b\xca\xd8\x2f\xe0\x9a\xa0\xfc\x06\x83\x20\xca\xa4\x8d\x41\x8f\x24\x7f\x76\x9a\x42\x66\xfa\xbb\x1a\xff\xb5\x88\xea\xc9\x59\x74\xd8\xac\xaf\x06\x1d\x47\x5f\x29\x01\x29\x50\x40\x09\x70\x14\xa6\x37\x8e\x3a\x00\xfe\x7a\x33\x68\x66\x61\x32\x1c\x0d\xdb\x0f\x85\xeb\xb0\x0f\xa6\x87\xc9\x3a\x76\x28\xa6\x5e\x26\xa4\xb8\x6d\xe8\x83\x8d\xbd\x1d\xf6\xc6\xc9\x9b\xfa\x37\x4d\x69\x28\xd8\x07\x26\xef\x2b\xe8\x3b\xec\xad\xef\xae\xf7\x76\xf5\x76\x91\xed\xa4\x26\x00\x18\x9d\xa6\xa3\xb7\x31\xa8\x97\x53\xaa\x1b\xc7\xef\x88\x09\x7b\xf7\x85\x07\x0e\x5c\xd8\xb1\xe7\xf0\xd6\x25\xa6\xba\x8e\x57\xac\xab\x5b\xba\x37\x6d\xea\x6e\x59\x6d\x7d\xa5\xb5\xb8\xb7\xb7\xb8\x35\x71\xb8\x6f\x71\x51\x19\xfe\xb8\xcb\x8a\x16\x63\xbc\x8c\xdc\x5e\xc7\x0e\xbf\x6e\x42\x71\x5d\x99\x64\x5a\xb2\xf5\xf0\x1e\xfa\xb7\xaa\x43\x47\x36\xb6\x5c\x69\x8b\x19\x39\x49\x2f\x8e\xd4\x1f\x8b\x95\xf1\x96\x60\xc2\x12\x95\x62\x94\x98\x7d\xc8\x17\x81\xde\xa5\x37\xa6\xf8\xe2\x93\x35\x21\xe5\xed\xe1\x70\x61\x9b\x72\x86\x48\x12\xb5\xd9\xb0\x85\x29\x0d\x0a\x7c\xf4\xbd\xef\x87\x5c\x9c\xce\xd2\x1c\xc0\x6e\xef\xbe\xe2\xe3\x40\x73\xbc\xd8\x87\xd3\x81\x66\x8b\x8e\x73\x85\xde\xbf\x17\x1f\x6a\x98\x82\x5a\x87\x56\x9c\x0e\x12\xad\x2b\x6d\xf2\xf6\x23\x1f\x7e\x78\x64\x9f\xf5\xb7\x07\x09\xa4\x86\xa7\x04\x49\x71\xa2\x7c\x1e\x59\xbd\x3b\x24\xa2\x9d\x12\x0f\xc4\xfc\x60\x07\x7f\x6b\xdd\x47\x0e\x5e\x69\x5b\xd9\x8a\x9a\x46\xe5\xfa\x54\xec\xaa\x58\x9b\x0d\x2a\xbe\x51\x6c\x0e\x1e\x1d\xe9\x4e\x91\xac\x2b\x94\x8a\xa1\x1e\xc9\x78\x44\xc9\xfd\x04\xd5\x91\xe9\x1f\xa2\x92\x8a\x0b\x14\xa4\xf6\x2d\x4d\xa0\x83\x4c\x12\x83\xc6\xed\x5b\x4a\xa3\xf4\x20\x92\xb7\x14\xcf\xa7\x81\xa1\xd4\xd2\x7d\x2c\xb5\x0f\xb5\x69\x2e\x46\x2c\x32\x22\x42\xec\xfb\x47\x85\xd1\x89\xef\x19\x08\xf6\xbd\x02\xbf\x14\xd9\x30\xa1\xca\xf6\x7e\xf2\xa6\x49\x65\x81\x4f\xe9\xf4\xa8\xc3\x96\x8f\xe0\x5b\xe5\x92\x9b\xba\x13\x89\xee\x6f\xbf\xe4\xa9\xc3\x7d\x83\x54\xdf\x61\x3e\xf1\xe1\x91\xc4\xbe\xa5\x18\xed\x12\x2f\xc2\x1c\xa1\xc7\xf7\x6f\x92\x93\xe9\x14\x7a\x3e\xa3\x45\x7d\xca\x8b\xdb\x0b\x0e\x60\x76\xae\x1c\x16\x7a\x25\x35\x51\x91\x06\xf8\x6c\x84\xa9\xd2\xa5\x48\x97\xb1\x2b\xd8\x2b\xc3\xd3\x6c\x36\x67\x9e\xb4\x03\x93\x53\x1a\x08\xf0\x7f\xc3\x94\x7c\x18\x05\x1c\xc5\x42\x91\xe3\x68\x98\x38\xbe\x0f\xbb\xda\xb1\xa9\x74\x12\x7d\x16\x43\x5f\xe1\x8f\x80\xd6\xa3\x0f\x05\x2a\xf0\xb0\x3d\xc4\x19\xaf\x7f\x64\xfa\x5b\xc2\x99\x01\xd1\xe8\x4d\x7b\xf7\x1d\x57\xec\xbe\x4a\xfc\x8a\x84\x66\x03\x05\x03\x77\x2e\x61\x34\xb0\x8d\x34\xb2\xf3\x16\x1f\xe6\x44\x05\xea\x0c\x6f\xc9\x01\xe4\x2a\xf9\xd8\x11\x56\xc0\x91\x56\x41\xf6\x38\xf6\x73\x50\x2d\xef\xc9\xd2\x9e\xc2\x7d\xe0\x02\x9d\x41\xfe\x95\x01\xac\x22\xee\x0d\x14\x06\x1d\xce\x40\xce\x08\x22\x1c\xc8\xa4\xf2\x8f\x8a\x02\xb3\xaf\xb0\xa7\x74\x30\x89\xef\xc2\x11\x2b\x7c\x87\x7c\x45\x91\x01\x34\x18\x4e\x8a\x0c\x85\xc5\x81\x93\x14\xdd\x93\x31\x1a\x09\xfd\x39\xeb\xde\x29\x2a\x97\xc6\x11\xdf\x59\xfc\xfa\xd1\xb6\xa4\x87\xa9\x9f\x51\x6f\x50\x7f\xa4\xbe\x40\x12\x94\x09\x14\x83\x4a\xd0\x32\x9a\xb7\x3a\x3a\x62\x9f\x1d\xb1\x3f\x32\xff\x48\xde\xea\x91\xe7\xcf\xb4\xff\xff\xfa\xfa\x33\xe5\x1f\x59\x5f\x8c\x08\x6e\xc9\x78\x5b\x8e\xc2\x62\xc2\xbc\xd2\x59\x31\x2d\x87\xd7\x4d\xe5\xd2\xa7\xf2\xd2\xf4\x69\x8e\x9f\x2e\xfd\x7f\x23\x3f\x3c\xcd\xf1\xe1\x65\xc6\xf8\xa9\xb8\x6e\x04\x18\x8b\xca\x67\x7f\x1f\xc8\xd6\xf4\x5f\xa3\x2b\x9e\x77\x2c\xfd\xaf\x31\x0e\x8e\x95\xfa\x3f\x95\x51\x1e\xeb\x60\xee\xe7\xe4\xf5\x18\x74\x74\x40\x11\xe0\xf2\xdc\x81\xf1\x0a\xe4\x77\x7c\x33\x4f\x51\xbf\xa7\xbe\xfa\x7f\xff\x95\xfc\x6f\x7a\x69\xd6\x2f\x23\xaf\xbf\x16\x80\x0c\xdf\x40\x20\x3a\xdc\xdb\xa8\x05\x44\x6c\xa3\xf1\xed\x23\xbe\xac\x06\xf3\x7f\xa5\x77\x7f\xdf\xde\x77\x0a\x6b\xc2\x68\x1c\xc4\x69\xa5\x17\x92\x53\x79\xe5\x49\xaa\xf7\xcb\xf4\x4d\x90\x40\xa3\x24\xe6\xc1\x49\xfc\x1f\xeb\xa3\x67\xe8\x51\x43\xd7\x33\x49\x2f\x1e\xb0\xbd\x83\x49\xd2\xaf\xe8\x94\x52\xd0\x9e\x9e\xac\x63\x95\x92\xae\xcc\x7d\x3e\x80\x5c\x21\x0f\x84\x90\xd0\x91\xc8\xf2\x98\x63\xdb\x6b\x33\x46\x06\xca\xb7\xbe\x12\x08\xd7\x8c\x38\x27\x91\xd7\x97\x65\x8f\x08\x64\x28\x24\x6c\xd9\xb7\x59\x1b\x53\x00\x20\x86\x19\x68\x43\xc4\x3a\x1b\x53\x6c\xb3\xd9\x69\x98\x2c\xbb\xc9\xaf\x80\xe4\x9d\x82\xe6\x97\x3c\x64\x29\x72\xe0\x15\x24\xad\x13\x53\xb7\x82\x9d\x9f\x49\x62\xae\xca\x54\xc6\x5e\x4b\xbe\x1b\x97\xf4\xa2\x94\x70\xf5\x2b\x56\x1c\x75\x09\x0f\x69\xb8\x90\xff\xa5\x41\x97\x3e\x46\xf6\x69\xef\xa8\xfb\xe0\x24\xac\xc2\xe6\x9f\x8c\xe5\x16\xfb\x74\xf6\xbb\x12\xe8\x6e\xc4\x5f\x3d\x94\xc1\x96\x50\x70\xeb\xc3\x54\x0d\xfa\x16\x3b\x95\x28\xca\x33\x56\xfd\x7b\x49\x85\x44\x7b\x1a\xa3\x8a\x69\x45\x5a\x4c\x12\xe9\x87\x49\x0d\xa6\xfa\x73\xd2\xa2\x17\x1d\x04\xfd\x63\xd7\xe6\xf3\xef\x14\x22\x33\xf8\x1c\x04\x17\x1e\x5b\x2a\x38\x23\xe0\x03\x8a\x08\x5e\x4e\x47\x23\x96\x00\x1f\x08\x63\xab\x60\x34\x1c\x8d\x63\x43\x66\x34\x1e\x71\xa0\xa3\xd1\x26\xa8\xf8\xfa\x82\x88\x83\x45\xda\x3a\x9f\x04\xf2\x87\x72\xff\x40\x42\xfe\xfd\x24\xdc\xfc\x3d\xfd\x89\x44\x7f\xaa\xc7\xeb\x4d\xa6\x52\x49\xaf\xb7\x27\x85\xf7\x89\x30\x34\x09\x04\x13\x03\xa0\x27\x79\x50\x03\x13\x5e\xf4\x3f\x52\xc3\x04\xad\x17\xf4\x0f\x78\x53\x5e\x8d\x33\xe9\xd4\xa0\xed\x00\xe8\xf7\x6a\xb1\x22\x98\xf0\x16\x8e\xd7\x11\xfd\x21\xa1\xfa\x9f\x70\xa8\x17\x12\xeb\x04\x16\x73\x6d\xbe\x68\x9c\xb4\x67\x38\xee\x8b\xfb\x90\x98\x84\xf1\xb6\xa7\x47\x19\x34\x31\x24\x93\x47\x3e\x4c\x78\xc1\x80\x97\x4e\x79\x13\x38\xde\xe2\x14\x15\x9d\x2e\x27\x52\xa9\xd4\x87\x47\x40\x22\x91\x4c\xa6\xbc\x43\x03\xc3\x38\x53\x31\xf3\x49\x8e\x2e\x75\x84\xdf\xa3\x02\x0f\x42\xf0\x0f\x47\xe1\x00\x11\x3f\x3e\x99\xca\xf1\xd6\xc2\x0c\x73\x6a\xbe\xed\x36\xa5\xd8\xae\x30\x05\x46\xc6\x86\x85\x07\x04\x19\x7b\x01\xd0\xff\x31\xc2\x37\x71\x44\xb9\xbe\x0f\x97\xeb\x58\xe5\x92\x53\x4a\xd9\x52\xca\xb3\x94\x52\x25\x46\x96\x4c\x21\x73\x4d\x28\xa5\x1b\x7e\x01\x6c\x1c\x5e\x30\x88\xe4\xec\x19\xf4\xbf\x98\x08\x92\xe2\xc6\x61\x8d\x76\x24\x17\x2e\xaf\x05\xcc\x58\x07\xe1\x56\x5d\xad\xce\xa5\x93\xab\x74\x3a\xf0\x16\x4a\xd4\xea\x74\xf2\x0e\xb0\x1f\x1c\x18\xf3\xf0\x31\x92\x22\x47\xd0\x8f\x92\x65\x87\xbc\x43\x37\xf6\x61\x52\x2e\x23\x2a\xd7\x7f\x66\xca\x45\xe5\x7c\x5b\x72\x9c\xba\xcc\x58\x07\xe1\x5c\xfc\x70\xe5\xbe\xfb\xd1\x13\xc8\x4d\xc1\x5b\xa8\x5c\x63\x1d\x86\x33\x94\xb2\x92\xbd\xfd\x60\xbf\x5a\xe2\x2a\xdd\xd8\x87\x71\xb9\x66\x50\x57\x33\x11\x66\xee\xb0\xf6\x1a\xce\x0f\x21\x8e\x75\x90\x89\x9c\xa9\xd6\xc3\x0e\x7f\x36\xaa\xa8\xf8\xf9\xe0\xfc\x31\x0f\x53\x4a\xb9\x8e\xa1\x72\x6d\xcd\x6f\xaf\x11\x1c\x13\xe2\x58\x07\x51\xb9\x4e\x5b\xdd\x31\x0e\xc3\x63\xa3\x5f\x2e\xca\x81\x0b\x36\xc6\x61\x3c\x16\xa1\xfe\x05\xb7\x92\xf7\x88\x4b\xa5\x05\x23\xe9\x96\x51\x47\x52\x73\x0f\xeb\x37\xf4\x67\x63\x37\x16\x19\xdf\x50\xdf\x80\x73\xb3\xf7\xfc\xde\x9d\xe0\x74\x6f\x9b\xdc\x73\x06\x30\x32\x11\x7a\xae\x72\xcf\xff\xc1\x0b\x04\xe7\x9e\xee\x9d\xe0\x7b\x56\xa2\x7b\x6e\xcd\x95\xf3\x7b\x36\x3e\x5d\x79\x9a\xe6\x54\xed\xd0\x8a\xdc\x58\xad\xe0\xa5\xe6\xa3\xf4\x28\xb6\x7c\xab\x27\xab\x91\xd7\xb5\x82\x68\xde\x18\x82\x97\x1a\xbf\x25\x22\x02\x97\x20\xb6\xfd\xf4\x80\xd7\xab\x90\xa4\x7b\xbd\x69\x02\x91\xc4\xe1\x60\x2e\x2f\x4d\x64\x8a\x21\x9c\x95\x9e\x81\x5d\xd0\x82\xb3\x5b\x8c\x78\x0c\x11\x9a\xbb\x43\x39\x77\xb4\x3c\x1f\x10\x13\x89\x58\xc7\x63\xdb\x70\x4b\x43\x00\xe4\x61\xcf\xe1\xb2\x62\x11\x50\x95\x19\x23\x6c\x6d\x1d\x1a\x01\xad\x11\xd0\x9f\x75\x72\x9b\x38\xd8\x2f\x19\x19\xf2\xf8\xc1\x14\x5e\x08\xed\x57\x60\x9b\xfa\xe9\x4d\x66\x73\xbf\xd9\x0c\x28\x05\x3d\x54\x41\xbf\xa5\x7b\x72\x0b\xdc\xd2\xd0\x5c\xb2\x58\xdd\x83\x66\xa9\xac\x3f\x38\xa3\xc8\x3a\x0e\x34\xb3\x67\xe5\x9c\xe0\x98\xad\x96\xbf\x64\xa0\xe0\x3c\xfc\x50\x6d\x01\x23\xad\x34\x56\x0e\x0b\x6f\x2d\x59\x40\x18\x50\x56\x94\x87\x70\x09\xe8\xd7\x86\x39\xea\x31\x4a\x01\xc8\xba\x89\x43\xf1\x46\x3f\xdd\xd3\x21\x69\x82\x26\x30\x92\xc2\x00\xbc\x49\x00\x91\xa8\x53\x48\xaa\xa3\x48\x1d\xd1\x6f\x0a\x37\x41\x3f\x18\xdf\x55\x27\x53\xca\xea\x43\x5d\xd7\x0a\x05\x37\x89\x34\x81\xb2\xde\x4f\xcf\xf0\x7a\xbd\x43\x24\x03\x83\x7f\xf3\xe7\x1f\x3d\x2a\x0f\x45\xa9\x4c\xb5\xad\x40\x31\x4e\x66\x59\x9e\x6f\xc8\x92\xd2\x1e\x3a\x34\x8a\x96\x96\xe9\xcf\x23\xad\x7d\x6e\x2c\xac\x07\x75\x4e\xf7\x11\xf6\x9f\x5c\x7d\x5a\x61\x13\xc8\x10\x1d\x67\x69\xc8\xf2\xe9\x7e\xc6\xce\x40\x53\x9b\xba\xe5\x64\xf7\x26\x6c\xe2\x27\xb3\x59\xa2\xef\x70\x7d\xe9\x40\xf7\x26\x3a\x79\x9a\x13\x30\x81\x0f\x6f\xea\x86\x29\xec\x1a\x40\xa6\xbe\xc3\x7d\x48\xf8\x55\xb2\x8f\x71\x9c\x1a\xb3\xdc\x02\xcc\x53\x73\x90\xac\x47\xe6\xe9\x7c\x9a\xa2\xef\xce\x40\x53\xa3\x0a\xb6\xa9\x1b\x24\x71\xb9\x4f\x73\x82\x49\xa5\x13\x23\x4b\x0c\x48\x89\x4f\x73\x1c\x17\x59\x83\x64\xf9\x04\x59\x2f\xd4\x52\x16\x82\x8a\x86\xbf\xbf\x26\x35\xd6\x40\xc1\xd1\xa9\xcd\x46\x0c\x66\xa2\x0b\xac\xca\xf2\x6b\x2e\xde\x60\xec\x1c\x8a\xd7\x1e\x14\xa6\x47\xeb\xba\xa6\xf7\xc1\x16\xc5\xb8\x7e\x25\xd9\x30\x69\x42\x15\xd0\x37\x7d\xa8\x79\xf9\xbe\xe5\xcb\xf7\x31\x5f\xaa\xa6\x77\x05\xd0\x6c\xef\xbe\xa5\x98\xf5\x71\xe9\xbe\x5f\xf6\x4d\xc7\x19\xe5\xff\x52\xa4\x75\xc5\x90\x9e\xbe\x06\xdf\x70\xfa\x74\xfa\x1f\xf8\xd2\xe5\xe9\x7b\x94\x93\x4a\x48\x82\xbc\x45\xb9\x32\x23\xc7\x66\xfb\x2c\x95\x8f\x74\xc1\x8d\x44\x25\x51\x7d\x1b\xf3\x3a\xe3\x30\xfe\x5a\x60\xa5\x31\xa4\x82\x0a\x62\x8a\xfd\xc1\xd9\xf2\xe1\xfe\x57\x36\x4b\xc4\x2b\xa1\xd1\xf1\x62\xda\x64\xe0\x0d\x66\x93\x85\x65\x03\xad\x2b\x37\xdf\x72\xdb\x4a\x4c\x5a\x2b\x53\x12\xd6\x21\xd1\x07\x0f\x7f\x7d\x77\x14\xf4\xff\x50\xfe\x33\xef\x77\x69\x2d\x56\x93\x36\xc0\x75\xc4\xd7\xf4\x6f\x9f\x1f\x2b\x36\xe0\x98\x5d\x92\x0d\xff\x60\x14\x57\xf9\xdc\x1f\x64\xb1\x64\x29\xf2\xdd\xd5\x50\x8b\xf0\x4c\x20\x00\x7f\x15\xa8\x23\x2c\x7b\x79\x69\x87\x82\x2a\xe5\x0f\x2b\xfe\x91\x1e\x1a\xd3\x95\xd1\x92\x95\x17\x98\x80\xbf\x8a\x09\x67\x2c\x63\xca\xba\x39\x5e\x56\x27\x8b\xbf\x30\x59\xd0\x32\xaf\xa5\x00\xff\xc0\x5b\xb2\xc9\x67\x0e\x9c\x3f\xee\xd6\x29\x0f\x4d\xb9\xb9\xfc\xfc\x03\x89\x95\x87\x7e\x30\xe7\x81\x39\x3f\x38\xb4\x32\x31\xd0\x12\xba\xfc\xfa\x9f\x1f\x5e\x3a\x33\x79\xff\x81\x2b\xfa\x7c\xad\x57\xb8\x23\xe7\xdc\xbb\xe1\xfa\xbb\x6f\xd8\xb7\xfe\xde\x0d\x11\xf7\x15\xa0\xb7\x7b\x5e\x47\xc7\xbc\xe1\x3f\x17\x5d\xf0\x80\x4d\xaf\xb7\x3d\x70\xc1\xa2\x4b\xa7\x57\x0a\x42\xe5\xf4\x4b\x81\xe6\x8d\x8b\x66\x6c\x6a\x0e\x68\x39\x69\x5c\xeb\xea\x09\xbb\xde\xfc\xec\xc8\x9c\x45\xdb\xd6\xce\x9a\x17\xf0\xce\x99\xb9\x76\xdb\xc2\xd9\xfd\xc3\xbf\x2b\x07\x7e\x0b\xea\xb8\x87\xbf\x9a\xef\x1c\x7d\x15\xb6\x24\xa4\x8a\xa7\x13\x39\xf3\x33\x26\x8d\x1d\x45\xa0\x34\x00\xc9\xb9\x44\x16\x52\x10\xfe\x75\x24\xa3\x92\xc2\x63\xb9\x9d\xc5\x3c\x96\x61\x1c\x21\x05\xea\x14\x10\x3b\xd4\xc2\x04\xb4\x17\xc4\x82\xbe\xe8\xc8\x82\x21\xc5\x95\xcd\x31\x2f\xe5\x97\x8b\x58\xcc\x1d\x76\xee\xab\xe8\x60\xaa\x74\x89\x4b\xfe\x9d\x18\x65\x12\xa5\x4b\x0b\x40\x48\x1c\xbc\x92\xa6\x32\xd8\x85\xb8\xd0\x80\xaa\x38\xc8\x36\x54\xc9\xef\x95\x1f\x6a\x1f\x4c\x65\xcb\x8d\x34\xbb\x54\xec\x2c\xbb\x09\x2e\x0b\x94\x17\xcb\x37\x3a\xcd\x81\x8a\x62\xb0\xc1\xfe\x78\x7f\xae\x2a\x47\x41\x53\x74\xd2\x3d\xad\x8d\xf2\x8d\xd1\x49\xb9\xca\x2c\xed\xaf\xa9\x22\xf3\x1a\x9b\xc7\x47\x5e\x48\x95\x50\x75\x84\x65\x88\x98\x50\x43\x04\x6e\x84\xe0\x41\xb7\x02\x0f\x18\x09\xea\x47\x99\xab\xa0\x57\x80\x66\x0f\x44\x23\xbf\x98\x4f\x52\x7e\x5e\xf0\x65\xf9\xe5\xa0\xc6\xe9\x2a\xa8\xd6\x14\x5c\xfe\xc0\xe5\x05\x9a\xf1\xb5\x4e\x59\xa7\xf8\xd2\x4c\x57\x7c\x69\xa6\xaf\x3d\xfa\x99\x3c\xf4\xd9\xd1\xb5\x68\x0b\x98\xcf\x8e\x7e\x3c\x92\x68\xfd\xb5\x0b\x6f\xb8\xe1\x42\x74\x03\x74\x9b\xee\x55\xab\xba\x5d\x4e\x73\x35\x78\xa3\x4f\xb9\x9a\x7c\xfa\x32\xbe\x6c\x6d\xee\x36\x68\xb8\x1e\xf1\xdd\x8e\x5d\x37\x3b\x81\xf1\x53\xec\xfd\xd8\xe3\x02\x7f\x2e\xff\x83\xba\x69\x9c\xb5\xe3\xd5\x5a\x55\x17\xb8\x9c\x1a\x5c\x57\x39\xfe\x3f\xab\x5b\xa4\xa0\xda\x9c\xa9\x96\x06\xdd\x06\x55\x15\x6a\xff\xb7\x75\xd3\x13\xdf\xfd\x72\x6c\xe5\xcf\xf8\x21\xe2\x2e\xf6\xfd\xab\x94\x0c\xb9\xd2\x44\xdf\x84\x49\x97\x1c\xfa\x9f\xd5\x44\x31\x0a\x82\x27\xfe\x47\x85\x57\xe5\x3c\xb4\x51\x66\x99\xf6\xef\xb7\x42\xc2\x8c\xf0\xef\x2a\x31\x53\x01\x7f\x38\xc0\x29\x10\x10\xbe\x5a\x3a\x21\x0a\x29\x51\x48\x0a\xa2\x12\xf1\x90\x49\xc2\x84\x5a\x19\x75\x23\xbf\xfd\x76\xea\xd0\xfb\x87\x52\x6f\xcb\x6f\x83\x8a\xb7\xe9\xe4\xdb\x20\x35\xea\x1a\x9c\x5c\x47\xaa\xa3\x7a\x78\x11\x9c\xf2\x64\x12\x54\x80\x07\x00\x66\x31\x37\x65\xd7\x45\xf0\x58\x8c\xfd\xa8\xf1\x5c\x39\x97\x5a\x41\x6d\xa0\x76\x50\x97\x92\x95\xd7\x7b\xa8\xc7\x88\x15\x1f\xd5\x09\x0d\x07\xa8\x1e\xf1\xbc\x74\x38\x2f\x8d\xf2\xa0\xf7\x86\xd2\xa8\x16\xc1\xd3\xe7\x39\xe3\xf1\xd3\xa5\xd9\xfc\xb4\x25\x9b\x8e\xe2\x7d\x89\xb0\x93\x8d\xb4\x09\x98\x7b\xcc\xe8\x5f\xd2\x3c\x60\x46\xff\xd4\x3d\x86\x32\x0f\x21\x81\x91\xee\x31\xa7\xb3\xe7\xc9\x06\x8c\xbd\x9b\xd9\xca\x94\xba\x9f\xdb\xa2\xdb\x6e\xc2\x17\x7c\x8b\xa6\xd5\xe9\xd1\x6f\x09\x76\x26\x46\xd0\x04\x9b\x48\x8e\x2f\xf3\x7e\xd3\x5f\x8e\x3a\x24\x8f\xb1\xa3\x6e\x80\xb2\x51\xff\xc9\xfd\x24\x9f\x19\xc7\x9f\x0e\x25\xf1\x1f\x7e\x10\x8d\x7f\x15\x91\x3a\xa1\xae\xd5\xd9\xa9\x32\x6a\x01\x96\xd6\x32\xbe\x41\xbc\x85\xf0\x84\x10\x6c\x00\x30\xc2\x6c\xa8\x5a\x07\x33\xd1\x71\xd8\xd1\x94\xc9\xa2\x47\xc4\x89\xdb\x6b\x26\x62\x0c\x0d\xee\xc9\x07\xf7\xcf\x69\x5b\xfd\xc0\xf2\x63\x1f\x7f\x75\x3c\x7e\xf6\xaa\x78\xbc\xb0\xa2\xe1\x82\xc1\x73\x03\x45\xc4\xde\x55\x14\x40\x7d\x8b\x4d\x05\x74\xfc\xef\x6e\x5a\x34\xb9\x30\x31\x79\x53\xe3\x5a\xf9\xab\x15\x26\xd1\x6c\xf6\x16\x07\x16\x5e\x7d\x6f\xe7\xa6\x5f\x6c\x0a\x45\x76\x1e\xb7\x6b\x8b\x8b\x8b\xc1\xdf\x60\xef\x12\x6f\x4d\xfc\xe2\xf4\x83\x9b\x4d\xc1\x02\xb7\x60\xa7\x37\x07\x1a\x2d\x83\x02\xb1\xbf\xfd\xd3\xd2\x88\x8d\xda\xdb\xd3\x6c\x58\x64\x99\x6d\x01\xc1\xe7\x29\x5c\xd4\xa8\xd5\x48\x41\xf8\x71\xc0\x6a\x2b\x6f\x09\xb5\xc6\xa5\x4d\x06\xd6\x2c\x5a\x71\xec\x4f\xa6\xee\x2c\xea\xc1\x65\x54\x2d\x35\x99\xda\x82\xbf\x43\x8e\xb7\xc5\x24\xf2\x8b\xd2\xe1\x28\x1a\x2a\xb5\xa8\x39\x6c\xa4\x52\x0e\x1b\xaa\x17\x3a\x89\xea\x6a\xb3\xff\xff\x6a\x16\x3a\xf1\xc4\x2b\xaf\x3d\xf6\xd0\xdb\xef\xd2\x9f\xfc\xed\x46\xab\xc4\xd6\x1b\x6b\xa5\x2a\x57\x45\xa0\xc2\xee\x70\x49\x6b\x9f\xd8\x20\x59\xcb\x6a\x2e\x38\xf6\xe0\xfe\x4a\xdf\x0d\x83\x0f\xfd\xaf\xda\x0a\x3a\x53\xe6\x35\xcf\xf4\x80\x47\x5e\xd0\x9c\xff\xdc\x46\xb9\xfe\xe9\x6d\x95\x03\x9c\x96\x2e\xe4\x9c\xbc\xc4\xe9\x19\x86\xfe\x43\x63\x54\xcb\x1d\xb7\x40\xfe\xb9\x25\x9a\xe7\xcb\xc0\xe7\xff\xbb\x86\xc4\x6b\x4b\x48\x2e\x21\xeb\x07\x25\x0a\x1b\xe7\x88\xf5\x03\xbb\x75\x64\xfc\x29\xec\x1c\x6b\x41\x41\xc7\x54\x8a\xc2\x10\x31\x84\xd2\x78\xd4\x1a\x37\xf6\x2a\x8a\x5c\x99\x17\x79\x87\xfb\x70\xe5\xa9\xeb\xf9\xb9\xcc\x67\xe4\xf9\x0d\x2a\xc7\xe8\xf0\xe5\x35\xbb\x55\x8b\x66\x74\x4c\x92\x86\x03\xe9\x31\x84\xf5\x98\xc5\x84\xeb\xc7\x5a\x6d\xd3\xc1\x49\xf2\x95\x8c\xc3\xd0\x6a\x34\x32\x60\xbb\x92\x80\x57\x8f\x59\x81\xfd\x63\xaf\x44\x31\xbe\x93\x5f\xa1\x8b\x2d\x8c\xc3\xc8\xea\x95\x44\xba\x77\xec\xca\xe5\x7c\xe3\x9f\xa5\x6c\x18\x53\x07\xd8\x32\xf0\x34\xb8\x42\x18\xb7\x92\x00\xd6\x61\x22\x0a\xc5\x4f\x52\xc4\xee\x7a\x23\x32\xd9\xd0\x13\x90\x28\x4b\x10\x6c\x14\x71\xbb\x68\x5c\x58\xde\x2a\x49\x9c\xd1\x5f\x1e\x2d\xe4\x34\x56\x8e\x2e\x80\xe5\x37\x26\xde\xb9\x6b\x78\x1e\x70\xdb\xf1\x07\xc1\x8b\x93\x31\xba\x8a\x2a\x7b\x63\x47\xf0\x49\xf2\x16\x1c\x09\x30\xa3\xf1\xa6\xdd\xbb\xeb\x0d\x16\xa0\x71\x81\x83\xf7\x4d\x99\x65\x1c\x1c\x91\x4f\x3e\x59\xf8\xf3\x63\x8a\xac\x0a\x4f\x1d\xe3\xf6\xb0\x03\x94\x8e\x2a\x45\x75\xa8\x44\x6d\x4f\x5b\x1c\x2c\x1d\xd6\x02\x89\xe0\xb7\x06\x09\xe7\x11\x66\x3c\x8a\x61\xc2\x23\x24\x81\x4b\xac\x07\x30\x77\x03\x20\xdf\x3e\xd1\x73\xa4\x09\xb4\x36\x1b\xc0\x57\xf2\x8d\x0b\x58\xbb\xc3\xe2\x90\xdb\xe4\x36\xb4\xb1\xb3\x0b\xe4\x1b\xbc\x62\x25\xf8\xf7\x87\xd6\xa2\x42\xdb\x87\xe0\xdf\x95\x22\x6c\x3f\x59\xa7\x6b\x06\x13\x87\x5a\x8a\x1f\x00\xab\x26\x82\xa8\x7c\xa7\x6c\xf0\x05\x0d\x7f\xff\xbb\x21\xe8\xc3\x5c\x49\xde\x38\x8f\xa9\x92\xc6\xc9\x0d\x9d\x7c\x9c\xca\x60\xef\x26\x89\x8f\x31\x95\x03\xd5\xf7\xf9\x31\xe0\x1b\x50\xb0\x2f\xd8\x0b\xd3\x49\x4b\x29\xab\xb3\xbb\xd3\x29\x7b\x40\x27\x5a\x59\xca\x68\x76\x8b\x26\x9e\xb9\x67\x90\x0a\x40\x36\x60\x87\x09\x77\x45\xa9\x0e\x26\x79\x49\x18\x97\xc1\xda\xc4\xb2\x39\x44\xa3\x49\x3d\x41\xf0\xd7\x02\x9f\x62\x01\xcc\x9a\xf9\x7c\xaa\x2f\x85\xa2\xe8\xe6\x48\xa8\xe3\xa8\xf7\xe1\x75\x3c\xe2\xf4\x52\x09\xe7\xa6\x93\xe8\xef\x18\x93\xcc\x98\x2a\x86\xfa\x87\x59\x2e\xe8\xb9\xff\x46\xfd\x45\xab\xfd\x9a\x18\x76\x50\xd6\xdf\xa1\xbf\x9e\x3c\xeb\x06\xdd\x93\x67\xe1\xf8\x5a\xab\x45\xb9\xff\x3d\x74\x4c\xa4\x54\xfe\x22\x26\xc7\xa3\x32\x3d\xb7\x8e\x22\x8e\xf0\x19\xc7\xbe\x47\x0a\x47\x4c\x11\x20\x0b\x60\x44\xdd\x8b\x67\xc6\x39\x1b\x1e\xfb\x90\x58\xcc\x46\xd5\x03\x00\xfb\x4d\x65\xfe\xc1\xa7\xc9\xe6\xe6\xba\x0a\x38\xd0\x7e\x45\x72\x6e\x45\x1d\xd2\x46\xeb\x2a\xd4\x4d\x6c\x75\x7c\x42\x57\x59\xd8\x42\x76\x9d\xe4\x12\xe6\x69\xb2\x99\x4a\x7e\x7b\xea\x16\x17\xc8\x1f\x5e\x1c\x2a\x2f\x6d\x9d\xe4\x2a\x58\x5c\x87\x15\x77\x74\x88\xae\xcb\xa5\x65\x93\xab\xd8\x52\x10\x2c\x6b\x9e\xa5\x1e\x54\xb0\xee\x93\x24\x96\xd3\x88\xb4\xf7\x20\x92\x74\x97\x52\xbd\xd4\x36\x6a\xaf\xca\x10\xac\xae\x3c\xda\xad\x0e\xc5\x27\x96\xf8\xb8\x84\xf2\xe4\x45\x36\x1b\xa3\x10\xc6\xe0\x5a\x68\x50\xc0\xce\xff\x71\x3b\x1a\x19\x00\x9f\x05\xcb\x71\x00\x3e\x44\x9c\x11\xdb\xd4\x40\x04\x26\xef\x16\x20\xef\xd6\xec\xb0\x87\x82\xa7\x4e\x51\x7a\xa7\x5e\xab\x05\x14\x7e\x79\xfd\x0a\xd3\xd2\x40\x5e\x2c\x2c\x0b\x15\x08\x1c\xf9\x51\x9b\xed\x0b\x60\x71\xcf\x71\x5f\x5f\x58\x28\x7f\x2e\x06\x6c\xa0\x7b\x5e\xfa\xa6\x2f\xe4\x2f\x54\x38\x1d\x20\xa2\x63\xf2\x23\x2a\x62\x0e\x98\x69\x83\xd7\xe4\xdd\x26\xfd\x4f\xe5\xd6\xe0\xa6\x61\x0f\x04\xda\x53\x14\xe9\x09\x80\x6c\x22\x79\xe1\xb8\x03\x24\x7f\xff\x05\x18\x26\x07\xcc\xb2\x05\x44\xf9\x73\x37\x50\xc0\x75\x80\xf4\x85\x0d\x3d\x6a\x01\x5c\x2e\x02\x51\x05\xdc\x91\x3f\xff\xd2\x86\x8a\xb4\xe0\x7c\x72\x81\xfc\x13\xdb\x7a\x85\x34\x8a\xca\xbb\xe5\x7d\xc3\x1e\x86\xc7\x83\x1e\xf4\x91\x0c\x91\x75\xcd\x66\xc5\xaf\x73\x98\xe5\x1b\x8f\x66\x42\xfe\x51\xe2\xe8\xae\xc2\x42\x93\xb9\x14\xc4\x45\x1f\x76\x5e\x4d\x39\x91\x34\xe3\x24\x3f\xa0\xb9\x38\x3c\xa5\x22\x3c\x2e\x8e\xf6\x4c\xb6\xbd\x33\x9b\x6a\x97\xb5\x4c\x28\x0f\x4c\x35\x8a\x06\xe3\xbd\x46\x56\xd3\x0f\xc6\x77\xdf\xbd\x77\x0e\x70\x66\x2e\x70\xc2\xa9\xb1\xe5\x4d\xcd\x6e\xbb\x63\x5e\x81\xa5\x38\x28\x55\xce\xbd\x3e\xe0\x6e\xac\x2e\x4b\x14\x15\x9c\x65\xd6\xec\xd6\x79\x8c\x40\xd7\xda\x7b\x53\x46\xd7\x86\xf8\x7b\xf6\x60\x1e\xad\x7c\xe4\x0b\x85\xa6\x37\x33\x91\xd9\xf0\x37\x4b\x8f\x9c\xdd\x92\xca\x1a\x70\xc8\x95\x48\x64\xa8\xb0\x51\x22\xa9\x70\xd1\x28\x40\x64\x59\xd8\x0b\x90\x54\x0d\x63\xe9\x54\x88\x59\x4b\x0c\x4b\x4a\xe0\x2b\xa4\x56\xa2\x1f\x4f\x96\x77\x64\xc4\x43\x24\x5a\xd1\xa7\xc3\x74\x48\x8d\xe1\xce\xbf\xbd\xa7\x10\x84\xf1\x6e\x18\x14\x82\x20\xb6\xcc\x06\x81\x77\x00\x9f\xc4\x3f\x0c\x97\x26\x19\x69\x02\x88\x86\x47\x2c\x8a\x95\xd9\x0d\xe8\x9b\x99\x86\xeb\x1a\xc0\xd1\xfd\x84\xe2\xd0\x04\x7c\xd1\x88\x44\x07\xa2\x3e\x02\x79\x10\x89\xb5\x41\x9f\x2d\x40\x4b\xc0\xe6\x23\xee\xc4\x4c\xe6\x1d\x85\x15\x0e\x1b\x12\xa9\x13\x89\xd2\x97\x7c\x73\xc4\xa9\xa1\x69\x40\x33\x40\x67\xba\x4d\x96\x93\x2f\x3c\xb3\x1f\x58\xaf\x84\x36\x74\x90\xd6\x14\x5c\x05\xc0\xee\xa7\x5f\x85\x9f\xa6\x65\x9a\xa9\x9b\x79\xd6\xcc\xba\xa6\x71\x91\x2a\xc1\xbe\xde\x15\x9c\xbb\xfe\xbc\x2b\x6a\xa6\x2f\xea\x8a\xd3\x7f\xbd\xff\xfe\xa1\x32\xad\x81\xe6\xb5\xd0\xea\x3c\x79\x3f\x08\x00\xf3\x03\x1f\x31\x21\xad\x41\x6b\x28\xfb\xe8\x01\xf9\x2b\xf9\xb7\xf0\xfe\xd7\xdd\x85\x62\xa2\xaf\xbd\xad\xaa\xd5\x17\xaa\x09\xeb\xdd\x4b\x83\x45\x13\x76\xac\xaa\x5f\xde\xd4\x58\xde\xec\xeb\x56\xe6\x21\x16\xfb\x90\xd1\x7b\x51\xdd\x3a\xbf\x5f\xdd\xd8\xd3\xd7\x8d\xfe\xfe\x75\xfb\x7b\x5a\x66\xe8\xe1\x75\xeb\x3e\xe7\xbc\x2b\x26\xad\x5a\x3d\x8d\x39\x73\xd5\xde\x7b\xdd\x5d\x09\x46\xd7\x6c\xe2\xfa\xf6\xc6\x8e\x70\x37\xa9\x17\x40\xba\xd7\xc5\xac\x82\x37\x47\x05\xb1\x0f\xbb\x1d\x2f\xc3\x90\x1e\x11\x22\xf3\x18\x5e\x39\x4d\x82\xee\x34\x25\x3f\xc2\x7d\x65\xd2\x17\x0c\x25\x43\x8d\x69\x2a\xd4\x66\x46\x69\x1a\xa5\x69\x94\x26\x38\x7b\x4c\xd4\x3f\xbd\x70\x88\xaa\x18\xe7\x47\x5b\x06\x6d\x95\xf5\xbe\xf7\xc9\x58\xda\xab\x60\x64\x11\xf4\x6c\x8c\x27\x6b\xf3\xf3\x98\x14\x26\x14\xad\xcb\xc5\x1e\x63\x62\x1f\x35\x6e\xa0\x1a\xf8\xc3\xfe\xa8\x05\x63\x64\x60\x41\x17\x07\x30\x67\x02\x96\x09\x2d\x12\xa6\x8a\xb1\xe1\xe6\xc7\x58\x1b\x0a\x01\x10\x52\x10\x16\xcf\x1a\xd7\x59\xd9\x11\x3c\xcf\x0b\xec\x7a\xff\xc5\xbd\x55\x2d\xf3\x02\xe3\x02\xe7\xcc\x9e\x77\xbe\x27\xe8\xa9\x0a\x76\xaf\x38\xac\x0d\x6a\x8d\x00\x42\x58\x1c\xa4\x0f\xaf\xe8\x0e\x56\xa1\xe3\xe7\xcf\xef\x3e\x07\xe5\x9a\xd7\x92\xf8\x6b\x35\x60\x59\xe0\x0c\x54\x54\xda\x1b\x6a\xba\xcb\xe7\x2c\x01\x4f\xce\xc6\xa7\x2e\x0a\xdf\x1c\x66\x91\xd8\xa1\x8b\x36\x04\x3b\x2a\x3b\xc7\xcd\x5a\xbc\x64\x4e\x79\x77\x4d\x83\xbd\xb2\x22\xe0\x84\x0c\x84\x00\x30\xd4\x88\x4b\xd5\x92\x34\x44\x3d\x23\x9e\xa6\xca\x65\x4c\x92\x70\xd9\x45\xc8\xf7\x48\xf1\x36\x5f\x86\x2d\x9d\x38\xa0\x87\x28\xfc\x75\x92\x95\x77\xca\xab\xa6\xf1\x94\xe0\x25\x53\x82\xd7\xce\x24\xe5\xf7\xde\x23\x30\x84\xea\x7a\x03\xa0\xde\x93\xdf\xc3\xcb\x07\x04\x64\x11\x25\x4e\x51\xc7\xe5\x6f\x8e\x63\xff\x5b\x3a\x91\xfc\x40\x7e\xc6\xb9\x4f\x71\xae\xdc\xe7\x04\x53\x3e\x50\x86\x0c\x05\xbf\x91\xa0\xe4\xac\x95\xa9\x7d\xc7\x8f\xef\x83\xf8\x17\x7b\xd7\x22\xb9\x66\x2b\xf1\x77\x6d\xc7\x33\x3b\xba\x61\xb6\x38\x5a\xa0\x78\xd1\xf3\xa8\xd1\xf3\x0a\x39\xaa\x02\x61\x3e\x1f\xf3\xc0\x6e\x0d\x02\x05\x04\x1d\x98\xd6\xe0\x10\x0d\x66\xbd\x7c\xd3\xf1\x7d\xf1\x58\xcf\xd9\xe7\x3c\x43\xca\x3b\xaa\x3e\xbb\xcf\x93\xd1\xb8\x3f\x47\xa7\x63\xde\x22\x5b\x79\x67\xfa\xfa\xe3\xfb\xd6\xde\x07\x67\xad\x59\xb7\x51\xa9\x40\x14\x7a\xe4\x9b\x92\xfb\x8e\x4b\x3d\x11\xb5\x22\xae\x61\x55\x35\x76\xc8\x3a\x74\xa5\x0b\xdf\x02\x6f\xd1\x1d\x70\x0d\xcf\xcf\xfa\x49\x2b\x3c\x49\x7e\xc5\xcf\x01\x7d\x9d\x92\xc5\x2a\xb0\x84\xf0\x32\x8b\x45\xce\x24\xe4\xc4\x8e\xe5\x7f\x4b\xb5\xaf\xda\xbf\x6d\x4f\xd4\x6c\x28\x34\x98\xa3\x7b\xb6\xed\x5f\xd5\xae\x38\xbc\xc0\x04\x4c\x0e\x5e\xdb\x36\xed\x69\xfa\x91\x34\xb5\xe0\xc1\x4b\x2f\x9a\xd3\xe9\xc2\x8c\x6d\xae\xce\x39\x17\x5d\xfa\xe0\x02\x65\x60\x54\xe5\x25\x2a\x8b\x0f\x11\xc0\xb6\x00\x87\xcf\xe2\x0b\x8e\xf0\x7e\x18\xbd\x3f\x22\x62\x48\x15\xf4\xb2\x29\xd4\xa2\x68\x72\x39\x89\x3e\xbf\x9c\xe3\x27\x9d\xe7\x04\x8a\x09\x2f\x4e\x12\xb6\xc5\xe4\xf2\x89\x98\x41\x4f\xd9\xa0\x23\x48\x7a\x4b\x01\x2f\x01\xd1\x20\xf2\x5d\x5e\x7a\xe6\x20\x31\x51\xb1\x38\x92\x88\x30\xe7\x29\xbf\x5d\xa4\xdd\x68\x22\xf3\x0e\x20\xb9\xaf\x2b\xe7\x5f\x1e\x54\x61\x1d\x83\x55\x38\xd4\x69\xb8\x63\x6d\x3c\x8a\x91\x07\xd4\xcf\x1a\xc7\xa5\x65\x1d\xa4\x7d\xe8\x64\x90\xc0\xc5\x40\xc5\xb3\x9c\xfe\xa1\x41\x63\x60\x68\x39\xa1\x17\x4e\x51\x1b\xaf\x53\x26\xbf\xdd\xab\xbc\x4d\x9b\xa6\xb4\x58\x19\x4b\xa9\xd9\xe8\xb0\x18\x58\xa9\x7e\xc2\xfa\xfa\x82\xe5\xfb\x96\x0b\xa0\x4a\xd0\x83\x14\xcd\xa0\xab\x58\xe5\x9d\xf7\xc8\x29\xb3\x96\x07\x3d\x50\xd4\xaf\x75\x3c\xb2\x75\x88\x4c\x55\xb4\xb7\xef\x41\xcf\xc6\xea\xa6\x69\x3e\x4d\x80\x37\xd4\x3a\x75\xde\xe9\x13\x26\x89\x65\x15\xb8\x56\xbe\x62\xbd\x08\x7b\x00\xaf\xc5\x75\x2b\x39\xe5\xe5\x14\xbb\x64\x65\xae\x6e\xc0\x8a\xa5\x57\x1a\xb3\xf0\x11\x04\x1f\xa4\x6a\x64\x53\xb8\xfc\xf1\x58\x09\x36\x3e\xf5\x13\x41\x15\x38\x6f\x7a\x74\xf6\x16\x2b\x14\xe4\x24\xaf\x35\xe8\x13\x46\x76\xbe\xfc\x5f\xf2\xdf\x69\x4e\xd0\x26\x2c\x86\x01\x9d\x19\xec\xea\xe9\x3e\x0e\xe6\x01\x56\xb0\x32\x8a\xc4\x0a\x92\xdf\xca\x37\x3e\xd6\xdd\x23\x5f\x66\xd6\x0d\x30\x5a\xfc\xd2\xac\xa0\x60\x3e\xd0\x26\x24\x2b\x48\x0a\xd0\xba\x65\xf6\xb3\xd7\x48\x19\xff\x21\xee\x84\xa2\x6f\x00\xda\x87\xb9\x92\xca\xf1\xd6\x87\xfe\x68\x1f\xc1\xb7\xe6\x4e\xdc\x2b\x3f\xfa\xa8\xb1\xd0\x5d\xff\xe0\xab\xf2\xa3\xaf\xca\x7f\xc2\xbf\xb7\x30\x43\x6b\x7e\xd2\xd4\x5c\x06\x07\xd3\x2c\x9d\xa8\xf7\xfa\x86\xa6\xd0\xcf\xe0\x3f\x30\x65\x76\x67\xe7\xcf\x86\xfb\xc1\xe0\x01\x87\x0a\xc6\x63\x75\x48\xc3\xca\x60\xd5\x73\x24\x1a\x25\xdf\xd4\x43\x5f\xbd\x56\x92\xe4\xd7\x40\x44\x92\xd6\x62\x8d\xae\x51\x92\xc0\x8b\x52\x1d\xfc\xc1\x88\x55\xcd\xab\xf1\x59\x10\x41\xf9\xea\x24\x7c\x45\xa3\x92\x19\xbe\x7b\x5a\x7c\x75\xe5\xf9\xe8\xd1\x61\x15\x90\xde\xa1\x55\xc1\xdf\xf3\x9f\x0f\x5f\x43\x8f\x53\x6e\x87\x6e\x0b\x22\xf2\x6b\xa4\x20\xf4\xe4\x91\xcf\xc7\xa5\xc2\x45\x53\x8a\xf9\x1a\xca\x87\xaf\x38\xd3\xf3\x41\x3c\x96\x89\x76\x51\x20\xf0\xb5\x23\x9e\xcf\x5c\x9d\x57\x1b\x29\x57\x49\x30\xb2\x01\x80\xd2\x02\x23\x0b\x0b\x46\x16\x60\x8c\x77\x90\x69\x7e\x6d\xa6\x21\x46\xbe\x83\xca\x51\xf5\x52\x5e\xc2\xc8\xa5\xe5\xcf\x48\x23\x8c\x7c\x61\x70\xc7\x18\x6d\x90\x20\xb1\x23\x16\xd2\xc3\xe2\xa8\x67\x61\x48\x9a\x80\xc4\x46\xa2\x41\xc9\x17\x06\x3e\x9a\x0d\x32\x7d\xe6\xa1\xab\xaa\xe1\x6a\xfb\x0b\xcf\x1b\x1f\xb6\x83\x3e\x06\xac\xab\x4d\x5f\x64\x92\xeb\xd9\x64\x32\xfd\xd3\xf4\x2f\xe8\xa3\x0f\xa7\x3f\xfd\x28\x1a\xbd\x4a\xfe\x74\x35\x58\x05\xbd\x4f\x80\x77\x4e\xae\xbc\xfb\x6e\xd2\x7f\x0d\xa7\x12\xdc\x7f\xab\x18\x72\x3e\x2d\x94\x7c\x3c\x8b\xee\x2b\xf9\xe2\x3e\x20\xb1\x1f\xca\xff\x1e\x7a\x3f\x3d\x79\x0a\x18\x57\x04\x7e\x08\x3e\xee\x18\x9c\xda\xc8\x3c\x13\x1a\x9c\x8a\x86\xb7\x57\xe4\xaf\x80\x1e\xac\xbe\xfe\xae\xbb\xc0\x5c\x30\xee\x67\x6a\x5b\x99\x79\x85\xb3\x63\x7e\xde\xb7\xaa\x8c\x43\xd5\x80\x43\xad\x14\x1e\x85\x43\xeb\x01\x8e\x3c\xb5\x39\x4f\x01\xb5\x45\x32\x56\x6e\x4b\x2b\x88\x67\xc0\x6a\xe9\x94\x32\x2a\xad\xb5\x6a\x18\x83\x7e\xd9\x0e\x79\xb3\x5c\x27\x6f\xde\xb1\x4c\x2b\x30\x1a\x2b\x1a\x31\x7b\xec\x1a\x8d\x69\x75\xfb\x57\x37\x2a\xc2\x76\xe3\xe4\xc3\x6f\x1f\x9e\xdc\xa8\xec\xdc\xf8\x55\xfb\x6a\x93\x46\x63\x07\x3d\x82\xc8\x7c\x4c\xc6\xa6\xa1\x7e\xb9\xdf\xae\x81\xda\x65\xd7\xde\x7f\xff\xb5\xcb\xb4\x50\x39\x69\x95\xcc\xab\x97\xec\xb6\xc2\xcb\x89\xf4\x7e\x8f\x7f\xfb\x64\xec\x0d\x39\x79\xbb\xff\x1e\x72\x20\x7d\xa1\x75\xf7\x92\xd5\x66\xc9\x2a\x2a\xdf\x3f\x91\x1b\x02\xa3\x38\xb6\xb0\x3f\x27\x61\x22\x55\x91\x04\x08\x5b\x2f\xe3\xcd\x91\x7a\x79\x55\xc9\x40\xa5\xfb\xca\x99\xc4\x08\x16\x70\x82\xf0\x79\x3d\x83\x4b\x8e\x9f\x2e\xa7\x86\xdb\xb3\x14\x1d\x9f\x48\x2b\x39\xa4\xdb\x90\x97\x33\xdb\xbd\x94\x99\x52\xff\x4e\x67\x13\x51\x20\x6c\x81\x5d\x8d\x7d\x02\x67\x2b\x44\xa5\x64\xf9\xff\xa1\x33\x18\x45\xe0\xa7\x0a\x64\xed\xd9\xa0\xf5\x43\x7c\x3d\x9c\x97\xbd\xb4\x22\xbd\xe7\x8c\x96\x1d\xb2\x9e\x82\x44\xf7\x24\x9d\xc1\xd3\x1a\xa5\x31\x8e\xf4\x9d\x1e\xe5\x4b\x9d\xac\x2f\x25\xed\x94\xc2\x1e\xa0\x63\xa7\x69\x6f\x26\x35\xe6\x4f\xd6\xe7\x05\xe4\x70\xbd\x46\x95\xc3\x72\x86\xfd\xfc\x72\x8c\xf5\x03\x72\x65\x00\xbf\x1d\x2b\x99\xcf\x39\xcd\x53\x6e\x2a\x8a\xad\xae\x59\xdf\x17\x4c\xb4\x49\xec\x44\x84\x23\x01\x10\xd9\x23\x04\xab\x40\x09\x66\x71\x20\xc7\xed\x8c\xa8\x9c\x18\xcd\xd0\x08\x15\x97\x61\xf0\x23\xa3\xfc\xcc\x27\x82\xd5\x62\xbc\xf5\x7d\x3d\x10\x8d\x49\xa3\x15\x5c\xcc\xae\xfd\xc9\x27\xf2\x87\xb7\x0a\x5a\x9d\x68\x7c\x15\x2c\x3d\xc1\x93\x13\x3a\x3d\x28\xce\xf7\x8c\x54\x22\xfa\xfd\x9f\x80\x29\x46\x60\x45\xe7\x45\xa0\x7f\xff\x56\xa3\xc5\x6a\xbc\x15\x14\x7f\xf2\x93\xb5\x2c\xd0\xe9\xc8\x51\xfe\x84\x7c\xef\xab\x46\x51\xa7\xa5\x5f\x1b\xe9\x2f\x99\xb3\xe1\x61\x9c\x93\x7c\x06\x0c\x32\x94\x13\x72\x1e\xa2\x4b\x8c\x62\x49\x78\x14\xbb\x58\x15\xfb\xbc\x5e\xb3\xd9\x62\x1a\x85\x9c\x9f\xbe\x49\x9c\x26\x82\x84\x24\x4a\xc1\x74\x32\x28\x69\xb4\xe8\x5d\xc6\x4e\x45\xb9\x57\xd8\x97\x89\x2c\x87\xde\xa5\x96\xcd\xcd\x16\x78\x90\x56\x96\x84\x63\xa8\x6d\xf9\x70\x46\x02\x26\x2b\x61\x0e\xbb\x15\x29\x0a\xcd\xe9\xe7\xe5\xe7\xc1\x7a\xd8\x87\x06\x64\xcc\x3d\x92\x3e\x8c\xc6\xed\x3e\x31\x46\x5f\x39\xb4\x3d\xb8\x21\xb8\xa7\x7e\x53\x7f\xfd\xee\x60\x90\xbe\x12\xed\xec\xc6\x3b\x7b\x82\x4c\xb3\xfc\x7c\x1a\x63\xad\xe2\xab\xea\x70\x6e\x7c\x55\x1d\xbe\x1e\x5e\x3b\xb4\x2d\x88\x2e\xea\xdf\x84\xf2\x6d\x08\xd2\x07\x82\xe8\x22\xb4\xb3\x3b\xb8\x61\x58\xbb\x28\xba\xff\xc8\x90\xe5\x31\x7c\x59\x15\x87\x59\x7a\x94\x5f\x2d\xf1\x5e\x55\x96\x18\x86\x7b\xab\xe6\xf8\xf7\xf2\xfa\xf6\xb0\x15\x86\x33\xf8\x75\xe1\x05\xca\x21\xb2\xe6\x43\x2b\x48\x6e\x39\x87\xae\x64\x3e\xef\x29\x1c\xc8\xae\xd7\xcb\xb5\x84\x16\x55\xc9\x49\xef\xcd\xa7\x40\x45\xe3\x24\x2a\x11\x7d\x92\xbd\x98\x2a\xc4\x7e\xd6\xe5\x20\x07\x56\x8e\xbd\xc1\x03\x39\xfa\x5f\xfa\xa4\x58\x9a\xc2\x41\x57\x36\x8d\xc6\xd0\xaf\x35\x83\x44\xaa\x54\xb4\xb8\x40\x42\x6c\x45\xaf\xdc\x4d\xdf\x17\xc4\x2b\xa6\xa2\xd5\x94\xd2\xc3\x64\x30\x58\x0c\x92\x76\xbb\x9c\xf4\x92\xb9\x0c\xc9\xc1\xe8\x19\x14\xee\x6d\x52\x66\xfd\x46\x75\x25\xc4\x54\x82\x16\x1f\x91\x10\x63\x5e\xec\xfe\x95\x2a\x2d\x71\xcb\x29\x74\x53\x39\xe5\xb2\xa0\x47\xca\x29\x41\xdf\x6f\xd4\x6a\x59\x4a\x12\x86\xee\x9a\xe6\x95\xd1\x7d\x41\xb2\x38\x14\x84\x49\x7d\x4a\xb0\x4a\xc3\x65\x81\x92\x3c\x59\x00\x84\x73\xb2\xc0\xa8\xcf\xf0\x18\x5c\xab\xce\xee\x95\xff\xa9\x8a\x03\x58\x26\x5a\x9b\xff\x16\x3f\x83\x6b\x55\x59\x00\xe5\x51\x32\xdf\x2a\xd1\x3f\xc8\x7f\x9f\xb9\x71\x9f\x43\x23\xbb\x4d\x7d\xa7\x0e\x1e\x3b\xa5\x13\x78\x05\xd2\x7e\x5a\xda\x02\x54\x32\x23\xd3\x68\x1f\xb9\x1b\x6e\xae\xab\xef\x01\x6f\x09\x16\xf9\x03\x8b\x51\xb0\x80\x80\x45\x1e\x84\x5e\x79\x20\x3d\x40\x27\x97\x16\x16\xde\x5c\xd8\x5d\xb8\x14\xf6\x0f\x63\x65\x7d\xe8\xe6\xba\x9e\x7a\xf0\x1f\x46\x7c\x89\x60\xc4\x97\xa4\x13\xd0\x0b\xd0\xb7\x29\x0f\xc0\x9e\xa5\xe8\x8a\x9b\x0b\x0b\x97\xf6\x9c\xee\xbb\x2f\xc0\xfe\xb5\xaa\xdf\x25\xcf\x15\x67\x18\x83\xe2\x40\x59\x40\x18\xd3\x6b\xdb\x4b\xe0\xe1\xd3\x9f\x2a\x0d\x01\xed\x07\x45\xb7\xc1\x18\x1e\xd1\xed\x7b\x00\x52\x22\xc2\xe3\x8a\x70\x3e\xd2\x72\x28\x9f\xc4\x5a\x60\x59\x7e\x49\x72\xe5\x08\xe2\x58\x69\x6d\x66\xd0\x29\x02\x7e\x81\x55\x96\x28\xe2\xb1\x30\xc4\x24\xc6\xca\xde\x28\x84\xb2\xcf\x40\x0f\x7a\x29\xfd\x9e\x70\xe9\x8e\x5f\x5c\x7a\x76\xbd\x4f\x77\xbf\x5e\xe0\x39\x3b\x5d\xd1\x57\xf5\xc0\x55\xa5\x06\x83\x0b\x86\x86\x35\xd7\x63\x28\x3f\x1a\x09\x7a\xb0\xb9\xa4\x3f\xdc\xb6\xa2\x67\xe7\x9a\xe6\x27\xfe\x68\xa0\xb5\x4e\xb0\x72\x47\x5d\x75\x7f\x99\x85\x85\xa9\x61\x8d\x95\x1b\xff\x21\x7a\xb3\x22\xe5\x21\xf6\x14\x60\x01\x16\x34\x79\x03\xd5\xf3\x70\x18\x0d\x15\x0e\xe4\xc0\x41\x37\x32\x45\x7b\xf3\x5c\x0c\x47\x39\x20\x82\x54\x32\x09\x66\xa5\xff\x74\x8a\x42\x1a\xf9\x07\xc4\x49\x51\xc9\x0d\x57\x8c\x98\x92\x73\x78\x6e\x18\xf1\xaa\x52\xc5\xeb\x50\x3e\x1a\xd4\x0c\x23\x47\x8a\x91\xad\xc4\x5c\x28\x3a\xe4\x94\x34\x51\x92\x53\x0e\xd1\x52\x0a\x93\xa5\x37\xab\x7e\x9e\x46\xec\xf3\x39\xfc\xcd\xd1\xcb\x02\xc5\x72\xc2\xed\x06\xa9\xe2\x40\x20\xed\x1d\xe6\x14\x3a\x62\xfc\x1a\x51\x26\x65\xb8\x50\x07\x89\x33\x97\xc9\x52\x9a\x4e\x96\x5a\x44\x07\x9a\x25\x26\x4a\x20\xe1\xd8\x7e\xfa\x32\x81\x7b\x02\x81\x40\x31\x48\xb9\xdd\x72\xa2\x58\xfe\xdd\xf7\x2f\x13\xf1\x53\x56\xec\xbf\x31\x07\x38\x63\x99\x12\xf8\xfe\x01\xe5\x59\xbf\xcf\xb7\x85\x8e\xe8\xdc\x77\xe5\x35\xa5\x05\xb7\x6d\xfa\xef\x34\x19\x89\xc9\x15\xf4\xeb\xc3\x79\x8e\xb1\x20\xf3\x2f\x54\xa6\x1e\x34\x22\x39\xec\x9c\x09\x08\x7c\xc0\x4f\x85\xb3\x22\x75\x28\x9e\x4d\xc6\x28\xc2\xd6\x8d\x84\x6e\x62\x2e\x65\x31\x08\x88\x22\x84\xa3\x82\x72\x0e\x25\x89\x17\x9e\x09\xc6\x14\xd3\x86\x8d\x8d\xf4\x9b\x01\xda\xa0\x67\x19\xa3\xe4\x74\xa3\x17\x20\x7d\x2a\xdf\xdd\xb6\x02\x37\xd0\x44\x48\xb7\xe3\x42\xad\x6c\x07\x67\x0f\xac\x5d\xaa\xd7\x72\x74\x39\x6d\x37\x32\x8c\xc9\x5a\xe0\x2e\x16\xf6\xbc\x54\x0b\xde\x36\x6b\x75\xb4\x93\x75\xcb\x4e\x9a\x06\xaf\x98\x90\x84\xe0\x84\xa2\x5e\xde\x3d\xfe\x95\x8b\xc5\x92\xe2\x42\x9b\x99\x61\x8d\x46\xc3\x5f\x8e\x18\x6c\x98\xa6\x85\x63\x59\x96\x81\x80\xfd\x40\x32\x6e\x36\x4a\x0d\xe3\x45\x61\x8b\x20\xbe\x05\x28\x07\x7a\xbe\xf1\x08\x36\xcf\x02\x9a\xa1\x69\x98\xdc\x64\x30\x08\x5b\x5c\xc1\x0e\x83\xc1\xb4\x49\x6f\xda\xbe\x9f\x66\xd0\x85\x00\xb2\x3c\xaf\xea\xe3\xf4\x10\x6a\x8f\xb6\x9c\x57\xed\xf0\x95\x7d\x05\xe5\x05\x1b\x02\x71\xf8\x16\x47\xa8\xb0\x39\xd5\x61\x4d\x81\x5c\x57\x57\x72\xe8\x21\xd4\xe4\x1d\x82\x28\x19\xcf\x5e\x81\x6b\xba\xe2\xeb\x9f\x3d\x73\x18\xa9\x08\xeb\xb4\x46\xa3\x8e\x2d\xeb\xa9\x9c\xdf\x0b\x6a\x48\x20\xd9\x1b\xe0\x4e\x51\xb8\x1b\xbd\xc8\x6b\xe5\xeb\x70\xce\xc3\xa8\x8b\x5d\x2c\x19\x2f\x15\xc4\x3f\x1e\xfd\xc3\x6e\x4d\x81\xee\x62\x3d\x80\x5a\xb6\xb0\x64\x79\xd7\xbb\xa2\x70\xa9\x51\x92\x2f\x7b\x42\x01\x35\x06\x54\xdd\x29\x8a\x7e\x0b\xe9\x0f\x2b\x15\x9e\xf5\xac\x88\x89\xbd\x18\xdb\x30\xf0\x93\x63\xbc\x02\xd1\x8b\xd7\x5b\xe9\x70\x95\x06\x1b\xea\xb2\x6b\x4d\x98\xa5\x5b\xad\x86\x4a\x25\x89\xa1\x85\xe8\xb7\x7e\x75\x44\x14\x2e\x37\x4a\x13\x77\x75\x77\x14\xb0\x16\xd3\x3a\xde\x6c\xd2\xc2\xcd\x7b\x83\xc1\xd9\xbb\x3c\xc1\xee\xba\x58\xb8\x72\x66\xf5\xc4\x71\x55\x05\x96\xe7\xef\x90\x8c\x97\x0b\x62\xc3\x86\xf6\x66\x91\xb3\x18\x66\x6b\x4c\x82\x91\x76\xc4\x5b\x17\x96\xad\xb8\xc0\x52\x16\x9c\x5e\x55\x1d\xad\xef\x89\x4f\x0a\xba\xc0\x8a\x5b\x3e\x70\x3d\x8c\x5b\xe3\x61\x6d\x45\x65\xc4\x89\x9e\x75\xb9\x0e\x42\x3d\x5c\xe5\xd2\x2c\x98\x55\x58\xeb\x1f\xe7\xb0\x99\xc5\x80\xbb\x62\x5c\x43\xd3\xb4\x71\x07\xde\xf4\x3c\x8e\x61\xa2\x1f\xe1\xfc\xbe\x32\x33\x27\x5a\x0f\x99\x00\xad\xa3\xc5\x40\x91\x63\x41\x87\xab\x22\xec\x0e\x48\xa2\xd5\x51\x1d\x6a\x9d\xb0\x48\x7d\x67\x7b\xd1\x3b\x6b\xcd\xc8\xe0\x02\xe0\xed\x2a\x53\x70\x98\x0a\x67\x9d\x87\xe3\x59\x01\x26\x94\x91\xc3\x33\xa1\xe0\xe5\xc0\xee\xc0\xd6\x9a\xbd\xa2\xf0\x80\xe3\xed\x1f\xdd\x0f\x4a\x04\x9d\xc6\xf6\x4b\xb3\x56\x7e\x1d\x63\x7d\x6c\xda\x77\x97\x5d\x9e\x4f\xd6\xd4\xee\x68\xf8\xcf\xeb\x70\xd1\x68\xf2\xfd\x7d\x52\x6d\x39\x8a\xb4\xc1\xb2\xb5\x82\x78\xf0\x71\xeb\xa3\xf2\xad\x66\x51\x34\x80\x8d\xaf\x6a\x8d\x17\x1b\xa5\x05\x73\x44\x01\x9d\xd8\x2c\x19\x2f\xc3\x79\x51\xb2\x65\xae\x48\x40\x0d\x91\xa8\x81\xca\x8b\xa4\x75\x5f\x40\x05\xf2\x57\x61\x4a\xb2\xdd\x4d\x11\x39\x6a\x31\xc2\x32\x52\x5f\x25\x92\x46\xe3\x6a\x24\xd3\xcd\x6c\xb9\x0e\x67\xe5\xe0\x92\x87\x50\xa7\x20\x31\x8a\xc0\xab\x6c\x7f\x23\xff\x4c\xa3\xd1\x89\xbf\x90\x74\xef\x4a\x41\xdd\x38\xfe\x67\x1a\xdb\xcf\x2c\x3a\xad\x46\xfe\xd5\xbb\xa4\xcf\xfd\x01\xf8\x95\x2d\xaa\x0a\x98\x26\x0a\xeb\x8c\xd2\x7c\x51\xe8\x35\x4a\x70\xa2\xd9\x6c\x16\xe5\x85\xa1\x85\xce\x45\x16\x70\xaf\x64\x16\x2c\xe9\xe7\x24\x63\xaf\x20\xce\x97\x8c\xeb\x04\x51\x7e\xd2\x28\xa9\xbc\xf7\x8a\xde\x51\x4f\x74\x75\xdc\xf1\x31\x57\x4a\x7e\xc9\xb2\x9d\x31\xf7\xe9\x64\x53\xca\xa8\xc6\x48\x7b\xfb\x70\x54\x57\x1f\xd8\x98\x7e\x49\x7e\x08\x7c\x4b\x16\x2c\x79\xc9\x78\x7f\xc6\x44\x9d\xb1\x5b\x43\xf7\x4b\xf4\xba\x97\x2e\x92\x13\xe0\x2e\x79\xcf\x7f\x9f\x3f\xd2\x91\x0d\x1d\xb8\x11\x95\x7d\xbb\x20\xe6\xf1\x0f\x69\x28\x03\x92\x76\x0a\xd0\x68\x7b\x1e\xea\x19\x52\x40\xb2\x5b\x1d\x75\x31\x29\xee\x73\xf8\x22\xe1\x00\x3e\x80\x94\x20\xe5\x80\xa2\x23\xd2\xa4\xc7\xd0\x01\x5a\x61\x92\xa6\xb3\xa5\xcd\x8d\x87\x74\xe6\xbd\xf8\xa4\x61\x5b\x3b\x4f\x67\x17\x1c\x78\x6c\xab\x87\xb3\x8f\x4c\x07\x00\x6c\x0b\xc8\xef\x7b\xc1\x5d\x57\x06\x26\x83\x23\x33\xef\x9e\x8d\x8e\x6c\xf4\xc9\xef\x12\xfc\xee\x77\xee\xe5\x9d\x47\x9c\xfc\x0f\x4f\xdc\x8f\xb6\x7a\x0b\xec\x7f\x13\xd7\xe7\x61\xdf\x35\x78\x73\xee\x62\x56\xa7\x33\xef\x77\xb1\x67\x81\x75\x67\xf3\xce\x3d\x4e\x7e\x25\x38\x77\x19\xeb\xda\x6f\xd6\xe9\xd8\x25\x1b\x71\x96\xeb\xfc\x8f\xa1\x31\x63\x3e\x28\x47\xea\x33\x83\x19\xbe\x1e\x4a\x26\x93\x69\xa4\x4a\xcb\xef\xa0\x1d\x74\xe8\x58\x32\xe9\x45\xbd\x34\x7d\xb3\xd3\x09\x7b\xd1\xaf\xa0\x83\xbd\x44\xd6\x56\x56\x96\xc1\x22\x93\xd1\xe0\x94\x6f\x06\xbd\x4e\xe5\xd7\x60\x34\xc9\x0f\xa8\x19\xb0\x7e\x5b\x7f\x8a\x62\xfe\x8a\xda\x31\x42\x4d\x25\x98\x43\x76\x4c\x7c\x22\x30\xbc\x2d\x10\xf5\x87\x6d\x01\x8b\x1f\x7d\x46\x71\x24\x05\x59\x22\xa1\x80\x05\x3b\x28\x3a\x6a\xe3\xd1\x88\x2d\x86\x81\x50\x3d\x34\x5d\x57\xc5\xf8\x09\x08\x69\x6d\x2b\x87\x77\xd0\xd4\x80\x76\x5a\x39\xe6\x5a\xf1\xc6\xed\xdb\x8c\x7c\x64\xe6\xb6\x8b\xe7\xdc\xda\x5d\x76\xab\x38\x55\x7a\xa9\x78\x63\xad\xc6\xcc\xe9\x8c\x5d\x1b\xdf\x4e\xf8\x6e\x9d\x53\x7a\xeb\xac\x9d\xbd\x2d\x27\x3c\x15\x53\x9a\x17\xd5\xce\xd2\x68\x1a\x43\x1d\x35\x13\xaa\x6a\x3c\xd2\x94\x82\x92\xe6\xda\xce\xf2\x09\x3c\xdb\xe4\x9f\x58\xd1\x14\x2a\x11\xe9\xe4\x93\x5d\x85\x87\xaf\x9c\x72\xce\xe4\x6a\x3b\x73\x6a\x10\x0c\x51\xa7\xc0\x53\x11\x70\x08\x80\xe2\x8e\x7b\x01\x18\xfa\x1a\x7e\x35\xc4\x17\x37\x9d\x9d\xbe\xa3\xa4\xbe\xa4\xc0\xc0\x41\xf9\xc7\x80\x66\x0d\x66\x97\xbf\x0a\x7c\xe3\x8b\xf8\x1c\x3a\x0e\x00\xf9\x35\x34\x3d\x68\x04\x47\x71\x95\x82\x8b\x41\xb0\x25\xd4\x78\x49\x6c\xe4\x77\xb0\x4a\xcc\x60\xde\x94\xcc\x50\x76\x01\xdc\x2c\x08\xe9\x07\xea\x4b\xa1\x37\x0b\x11\xe1\x45\xea\xe0\x6f\x05\x41\xee\x15\xec\xde\xd2\xfa\xc1\x81\x0c\xe2\x83\xc2\xe7\x91\xbd\x6f\x29\xfa\x6e\xa6\xe2\x36\x75\xf8\x2c\x18\x54\x7e\x78\x8c\xb6\xd5\x2e\x9d\x01\xa6\x7b\xe4\x3e\x7b\x1c\x3d\xb3\xd4\x2e\x74\xe4\x17\xa5\xfe\xa5\xb1\xa0\x28\x46\xa6\x99\x12\xc1\x8e\x8b\x9c\x7e\x3e\x57\x5a\x8c\x59\x95\xf6\x66\x75\x33\x20\x8c\x95\xc4\xf2\xa7\x1f\xd5\x69\x37\x87\x51\xce\x4b\xa8\x89\xd4\x1c\x54\xa3\x08\xa6\x06\x0a\xf0\x68\x32\x02\x0a\x0e\x53\x46\x7d\x52\x26\x1d\xa2\x55\xb1\x98\xe8\x2a\xd6\x06\x30\x85\x01\xf6\x82\xc1\x2c\x06\x00\x09\x1f\x36\x9c\x31\x2a\x61\x86\x82\x70\x80\x8f\xe0\xad\x14\x91\x98\xfb\x7f\x32\xd5\x80\xa9\xf0\x98\xf4\x97\x3a\xf9\xe7\x3a\xa3\x41\x2f\xa7\xf0\x4a\x5c\x8a\xf8\xb2\x60\xb7\x97\x8e\xf4\xd3\x60\xb3\x41\x8b\x49\xd3\x0c\xe2\x5f\x2f\x80\x71\xf9\x5a\xce\xa4\x17\xb4\xb6\x6f\xde\x92\x07\xa6\x57\xff\xab\x7a\xba\xfc\xe1\xe4\x8f\xef\xfe\x98\xe9\xfd\x5d\xb5\x99\xb1\x02\xbf\x61\xd0\x93\x01\x81\x32\x4b\x56\x96\x40\x6f\x9c\xec\x17\x2f\xfb\xe4\x2c\x68\x11\xb5\x5a\x1a\xd0\x5b\xff\xb2\x38\xfd\xb9\x46\xd4\x43\x08\x77\xd0\x97\xf4\xf5\x1d\x3c\xd8\xd7\x07\x0f\xa7\xfb\x14\xdb\x4f\x7e\xbd\xeb\x70\xbd\x83\xb9\x7a\xb3\xa7\xad\x37\x18\x51\x33\xfa\x3b\xdb\xe1\x7b\xd4\xfb\x8e\x61\xb5\x93\x4e\xdb\x0a\xd9\x6a\xff\x69\xac\x5a\xcb\x43\xb9\xea\x31\x17\x8f\x6a\x02\x1d\x92\xbf\x76\xa0\xfe\xeb\x57\x71\xd3\xb0\x5e\xd6\x40\x75\x62\x0c\xb9\xe0\x77\xbc\xe2\xe1\x2b\x06\x23\x1d\x21\xce\xb4\x0f\x07\xc6\xae\x32\xe3\xcd\x5f\x59\xc0\xaa\x7e\x92\x74\xe4\x24\xd9\x91\x49\xe7\x04\x29\xb2\x73\x8a\x22\x3b\xe8\xb7\x67\xac\x5a\xe7\x41\xbf\xff\xf3\x0c\x49\x65\xba\xcb\xd4\xdf\x94\xab\xff\xc8\x5a\x9e\xbe\x3d\x46\xad\xa0\x9c\x61\x9f\x19\x56\x01\xd9\x3b\x76\x6b\xc0\xfe\x11\x75\x1e\xd6\x1a\xb9\x76\xf2\x66\xab\xb2\x65\xac\xa6\x00\x5b\xce\xdc\x00\xa4\xcf\xb3\xaf\xab\x7d\xbe\x1d\x7b\x04\x07\x89\x91\x9f\x58\xee\x4f\xdf\xe7\x83\x56\x0c\xed\x1d\x0e\x85\xe3\x8a\x1c\x1a\x0f\x60\x5e\x42\x35\xea\x09\x7f\x00\x18\xc0\x00\xc9\x08\xd8\xed\x02\xf3\x91\xb0\x13\x17\x35\xd5\xb5\x76\x76\xd4\x4e\x4e\xdf\x79\x9a\x4a\x7f\xee\xaa\xef\xde\x3e\xa9\xb5\xca\x29\x86\x4d\xe6\x60\x68\xde\x1a\x33\xb4\xcd\xae\xe8\xfb\xc1\xc1\x73\x77\xdd\xeb\x91\xcb\xef\x07\x90\xd7\x88\xad\x73\x52\xbb\xfe\xd8\xd6\x37\x6d\x4b\x57\x6c\xc1\x58\x75\x8e\xb7\xee\x38\x77\x4e\x8d\x59\xc3\x6f\xe6\x19\xe3\xf6\x85\x8e\xc2\x6b\xd7\xac\x3f\xf4\x1c\xac\xde\xb2\x05\x3c\xc2\x3b\x59\xb3\xc1\x28\x36\x2e\x78\x26\xbd\x85\x1a\x55\xf7\x38\xf1\x86\xce\xd5\xfd\xbb\xc7\xb9\x11\xd5\x93\xbe\xab\x39\xbe\x47\xdd\xdf\xcc\xaf\xdf\x2f\xbf\xa3\x21\x18\xb5\xf2\x83\x3f\x1a\xab\xf6\x43\x23\xab\xc9\x46\xc6\x6c\x8f\x0c\x6e\x64\x42\x5d\x87\x5d\x9a\x00\x00\x40\xff\xbf\x79\xeb\x8a\xc3\xc6\xc8\x75\x3f\x16\xa3\x0c\xda\x79\x3b\xe1\x12\xe3\x78\x8c\xcd\x0c\x08\x6d\x2f\x31\x1b\x13\x48\x42\x0c\xc7\x0a\x15\x44\x5f\x9b\x15\x93\x82\x41\x1e\x2f\x2f\x51\x21\x97\x3b\x18\x74\xbb\x42\xfd\x21\x97\x4c\x6c\xbc\xc0\xeb\x0a\x31\xfd\x71\x13\x5d\x65\xb1\x98\xc2\xda\xc6\xc4\x65\x25\x5d\x96\x89\xb7\x2f\x9c\xb1\x2b\xe0\x0a\x95\x14\x38\x7b\x6b\x3a\x7c\xa2\x4b\xab\xe5\xf5\x85\x56\xc9\x55\xd5\x59\xed\x33\x69\x81\x24\x89\xb4\xa0\x61\x80\x6d\xe6\x16\x62\xb5\x41\xf7\x84\xee\x6c\x00\x07\xfa\x5d\xd0\x56\xe1\xed\x6a\xa9\x6f\x69\x08\x6e\x9a\xd4\x05\x8b\xdd\xae\x72\x00\x82\x2e\x78\x49\x41\x10\xc2\x2d\x89\x85\x3e\xb1\x39\x58\x16\xae\x68\xb6\x4a\xb6\xe2\xda\xd2\x66\x8f\x33\xd4\x55\xe1\xe7\x9c\x56\x61\x8b\xba\xe6\x8f\xc6\xfd\x04\x89\x31\x73\xab\x38\x8c\xd9\x97\x37\x52\x83\x0f\xda\x6d\x44\x1b\x86\x0e\xec\x04\x43\xe0\x8c\x31\xf9\x2f\x54\x68\x8c\xd5\x26\xc1\xed\xd1\x44\x63\x0e\x35\xf2\xc7\x5b\x4f\xd7\x10\xeb\xe3\x60\xf3\x4c\xf9\x6f\x8c\x46\xa0\x45\xd1\x0a\xb4\x26\x5f\x75\x67\x95\x4b\xb2\x16\xea\x79\xad\xd6\x25\xfa\x3a\x6a\x7a\x9d\x05\x25\x21\x57\x60\xd7\x8c\x85\xb7\x4f\xb4\x74\x95\x5c\x96\x68\xd4\x86\x4d\x16\x4b\x15\x4d\x67\x5a\x22\xfd\x17\xa5\x0d\x48\x7b\x3c\xdc\xb2\x68\xe6\x16\xc1\xea\xe4\x82\xa5\x33\x42\x4e\x4f\x73\x69\x6d\xb1\x4d\xb2\x36\x57\x84\xcb\x82\xcd\xa2\x6f\x61\x62\x0b\x84\xc1\x02\x78\x89\x2b\x08\x40\xb9\xcb\x5d\x0c\xbb\x26\x6d\x0a\x36\xa0\x86\xeb\xf2\x62\x14\xfa\xcc\x5a\x86\x96\xd8\x91\xca\xa9\x16\xd4\x1a\xab\xa9\x8b\xa9\xab\xa8\x3b\xa9\x47\xa9\x5f\x10\x5e\x13\xec\x19\x8f\x57\xc9\x22\x18\x5a\x2d\x88\x04\x46\xf4\x7f\x94\x45\x7f\xaa\x11\x2f\xa2\x2e\xdf\x5b\x58\xd5\x47\x08\x65\xc1\xe2\x23\x5e\x65\xb0\x59\x33\x2c\x31\x68\x40\x24\x4e\xb0\x45\x20\x60\xb3\xa2\xdc\x75\xb1\x3a\xcc\x69\x84\x83\x34\x6a\x41\x1d\xa1\xa5\xf3\x79\x09\x3a\xa9\x0a\x7e\xe9\x25\xfd\x0c\x89\xf7\x7c\x38\x40\xc0\x30\x6d\x11\x4c\x74\x4a\x3c\xb6\x90\xb8\xa4\x2c\xdc\x61\x20\x0e\x8b\x5a\x8e\x80\x5a\x8e\x51\x0b\x78\x37\x15\x59\xcc\x66\x4b\xd1\xd3\x13\x27\xa6\x5f\xe8\x9e\x36\x13\xfc\xa4\x3d\x1c\xf4\x69\xb9\x89\x00\x08\x56\x3b\x68\xe3\x0d\xe3\x02\xbe\xf6\x76\x6f\xc9\x38\x03\x3f\x08\x69\x83\x3b\x5a\x57\x64\xb3\x16\xad\x75\xdb\x2e\xf3\x3b\x39\x20\x5f\x92\x48\x40\x9b\xa4\x9b\x58\x7e\x85\xfc\x77\xf9\xb3\x2b\x2a\x26\xe8\xac\x56\xdd\x84\xf2\xfd\x30\xb4\xbf\x1c\xa5\xd3\xc6\xb3\xa6\x47\xa2\x33\x79\xaf\x26\xa0\x9f\x06\x7c\xb6\xa2\x9a\x88\xdb\x66\x73\x47\x6a\x8a\x6c\x4f\xb4\xb7\x13\x38\xeb\x76\x4e\x8f\xee\x0e\xbe\xce\x5f\xe0\xf9\xe4\x8e\x5a\xf3\x80\xf9\xa8\x3f\x12\xf9\xeb\x64\x79\x31\xb8\x7f\xf2\x1e\xf9\xba\xd2\xca\x42\x4b\x10\xf8\xe5\x7f\x3a\xa1\xa9\x18\x38\x37\x1e\xaa\xb3\x95\x8d\x2b\x01\x9f\xdd\x55\x5a\x66\x7b\x52\x5b\x24\xd8\xc5\xd2\x90\xbb\xe9\x92\x26\x77\x28\x54\xd4\xd0\x35\x21\xe2\x02\x06\x9b\x9e\xae\xbf\x3d\x12\xb9\xbd\x2e\x4d\xff\x64\x6e\x45\x13\x6b\x32\xb1\x4d\x15\x0b\x8f\x3d\x32\xaf\xbc\x19\xa7\x9b\xcb\xe7\xd1\x4d\xa0\xf4\x97\xbf\x74\x2c\x75\xac\x8b\xff\xfa\x82\xbd\x8d\x45\xe8\xda\x46\xb2\x71\x37\x83\x2d\xf2\x5f\x8a\xcd\xd0\x09\xcc\xf2\xef\x83\xa2\xbb\x12\x68\x86\xaf\xe1\xa2\xaf\x03\x8d\x97\x7f\x21\xf1\xb2\x99\xfe\xb1\x84\x5a\x45\xed\xa6\xf6\x53\xb7\x51\x0f\x13\x3d\x1d\xa3\x14\xa2\x77\xcd\x22\xa1\xa7\xae\x36\x18\xc1\x78\xba\x96\x88\x6f\x8c\xd7\x92\x79\x79\x51\xd4\x3b\xa2\xe4\xe5\x05\xa3\x01\xd2\x61\x5a\x40\x64\xd4\x8b\x8d\x63\x86\x1b\x3f\xda\xad\x25\x0c\xb8\x3c\xe7\x25\x5d\x04\x43\x86\xa3\x5e\xe1\x25\x3d\x04\x44\x68\x74\x77\x0c\x9e\x1c\x91\x32\x7d\x4f\xe9\x67\xb8\xef\x05\xc7\xe8\xa1\xf4\x2b\x61\x87\xdd\xee\x08\x83\x39\x67\x9d\x35\xd4\xb8\x41\x7e\x69\xfd\x6a\xe0\x5d\xbc\xd8\xe3\x16\x69\xb0\x58\x63\xa8\x1a\x1f\x03\xc7\xb4\x96\x58\x6d\xf9\xe2\xc5\x95\xe3\x63\x16\x2d\x98\xb3\x04\x0d\x6b\x55\x8f\xb9\xc3\xed\x1d\xe1\xc2\xa2\xf0\xa4\xa9\x48\x51\x81\xe9\xfe\x05\x0b\xe0\x1b\x2e\x61\x51\xe3\xd3\x69\xd7\xd3\x8d\x8b\x8d\x2e\x94\x6e\x7a\x0a\x7e\x4c\xd2\x43\xae\xb5\x17\xae\x16\xaa\x83\x85\x7d\x53\xc0\x93\x85\xa1\x8e\xf6\x50\x61\x61\xa8\xbd\x23\x54\x08\x66\x2d\x89\xd6\x56\x19\x35\x4b\x00\x2d\xba\x3d\xa0\xe4\x3f\xdb\xed\xa0\xd2\xde\x51\x55\xd5\x71\x78\xf9\xf2\xf4\xaf\xc0\xe7\xf2\x0f\xca\x6c\xb4\x17\x9c\x23\x5f\x58\xe3\x0c\xb6\x2c\x7f\xa1\xd3\x55\x1f\x7b\x2f\xbd\x7e\x7c\x3c\xee\x9e\x6b\x8c\xe8\x4a\x26\x2d\x5c\x37\x2b\x18\x89\x04\x67\x1d\x43\x9b\xa8\xdb\xad\xa5\x7f\xf1\xd6\xa4\x49\x6f\x4d\x4e\x2f\xfc\x74\x5b\x53\x37\x67\xb3\x71\xdd\x4d\x9b\x3e\xc7\x69\xde\x6a\xe5\x51\x9a\x11\xe4\xcd\xf2\x3f\x80\x69\xda\x81\x75\xf3\xe4\x6f\x27\x3f\x3c\x1b\x5d\x1d\xea\x7e\xb8\x1b\xdf\x64\x8e\x6c\x8c\xb7\x06\x9d\x11\x70\x40\xbe\xce\x07\xed\xe5\x60\xb7\xe2\x4b\x89\x79\x73\xff\x4d\x49\x38\xfa\x1f\x70\x8a\x06\x1d\x97\x6a\xc3\x19\x85\x19\xaf\x0a\xdb\x32\x8b\x32\x20\x06\xf0\x41\x38\x5f\xf7\xb5\x3b\xf4\x85\xcd\xaa\x4b\x03\x70\x97\x41\xaf\x75\x7c\x51\xea\xa2\x5f\xd6\xeb\xd3\x5f\x82\x6e\xbd\x4e\x67\xff\xa2\xcc\x29\x1f\x13\x21\x28\x08\xff\xc3\x4e\xaf\x11\xe5\x69\x55\x7e\xcc\x5b\x80\x5e\xa1\xc9\x54\x09\x56\x9b\x6d\x43\x67\x81\xf4\x2d\x56\x8b\xa9\x12\x9e\xe7\xa5\xaf\xa9\xcc\x8c\xd1\xca\xd8\x24\x65\xf9\x45\xf0\x7a\x0f\xb6\x20\xd8\x68\xce\x81\xbd\xb0\xe2\x80\x1c\x01\x76\x40\xf6\x62\x61\x80\xc4\x70\xc7\x28\xe3\xcb\x1e\x5b\xf1\xd3\xa2\x86\xd7\xec\x7e\x5e\xab\xd5\x98\x9f\x29\x96\xe8\x38\x6f\x79\xd6\x23\xc9\x6b\x90\xba\x6d\xf5\x3e\x2d\xf2\x1a\xad\x3c\x04\x6e\xd1\xfc\x7e\xd8\x22\x35\x0d\x3e\xf0\xeb\x0d\x96\xdf\x02\xf9\x87\x82\x60\x2c\xa1\x67\x1b\x02\xe9\x30\x94\x7d\x01\xa4\x60\x83\xf7\x01\xfc\x4f\xf3\x15\xa3\x31\x6b\x28\x1d\x4f\x31\xff\x46\xa9\x4e\xb2\x86\x2f\xd5\x32\xc5\x00\x83\xde\x2b\x6c\xf6\x45\x00\x53\x73\x9a\x80\x80\xf4\x04\x5f\xa8\xa4\x1a\x2a\x33\x09\xea\xd9\x2d\x20\x44\xf8\xe6\x5b\xb9\x48\x0c\xfe\x0a\x7c\x24\x17\x3e\xf3\x00\x68\xe8\xec\x04\x5e\xc1\xe7\xf4\x7a\x04\x4e\x0a\xa3\x52\x02\x20\xf1\x25\x82\x20\x78\xbc\x4e\x1f\x1a\x21\x06\xe5\x2b\xde\x90\xdf\x18\x5f\x53\x52\x12\x9c\xe0\x1c\x9d\x43\xf0\x82\x41\x70\xf3\xc9\x34\x58\xa7\x65\x19\x9a\xe6\x74\x66\x87\x89\x2b\x58\x1a\x4f\x5c\x37\xae\xf4\x8a\xeb\xae\x8b\x2f\x46\x13\xb2\xc3\xa4\xe3\x68\x5a\xc2\x2c\xd5\x0c\xab\xf3\x16\x8c\x3a\x6f\xc6\xe7\x45\x4a\xc1\xc1\xe2\x52\xec\x01\x62\x5b\xc5\x0c\xc8\xc5\x68\x58\x60\x6c\xc0\x16\xe6\xa3\x20\xea\x40\xff\xe2\x36\xad\x01\x29\xec\x9f\xcb\x3f\x92\xed\x6c\x85\x6c\x47\xfa\xb8\xe3\x7a\xb0\x00\x00\xb0\x30\x3d\x1b\x2c\x90\x45\xf9\xc7\x6c\x15\x98\x23\x3b\xe4\x07\xc1\x42\xf0\x89\xfc\x63\x59\xa4\x5b\xe4\x37\xe4\x3f\x83\x36\xf9\xa3\x73\xe4\xdf\x13\x3e\xf6\xe0\x39\x3d\xa0\x10\xb3\xa5\xc9\x1f\x31\xbf\x95\xff\x2c\xbf\x09\x04\xf9\x9f\xf2\x3f\xe4\x9f\x83\x22\x7a\x8f\xfc\x73\xf9\x9f\x60\x3c\x12\xde\xf5\x68\x5c\xfa\x8a\xf8\x98\xe8\xd1\xc8\xa4\x94\x07\xe3\x3f\x07\x2c\xe8\x2f\x18\x67\x79\x4c\x49\x8a\xff\x68\xc0\x6b\xb1\xe7\x1b\xab\x1d\xbc\xbb\x9f\xbd\xb3\x7f\x68\x8e\x8f\x36\xf9\xd2\x8b\xda\xe1\x3b\xed\xe9\xff\x5e\x0b\xd7\xae\x7d\x0f\x7c\x90\x94\x03\xe9\x47\x69\x6f\x0f\x18\x48\x27\x61\xb2\xe2\x8e\xfb\x6e\x87\xae\x43\xf2\xb1\xeb\xe0\x93\xbb\xd2\xa7\x76\xd1\xbb\xd2\x17\xf7\xc0\x4b\x4e\xde\x75\xe4\xc8\x18\xbe\x17\xb3\xa8\x75\x39\x2f\x97\x0c\x18\x6d\x06\xe7\xb6\xc4\x1f\x42\x72\x11\x96\x8e\x68\xbb\x95\x53\xfa\x80\x87\x8e\xd5\xda\xb1\xf4\x04\xe2\xad\x74\x88\xa0\xd8\x62\x39\x82\xa6\xcc\x79\xe3\x9c\x39\x37\xcc\x65\xdc\x34\xbc\x1f\xcb\x4f\x7f\xfc\x31\x98\x0a\xe6\xc4\xba\x62\xb1\x2e\x79\x8a\x70\xe5\xd4\x0b\xe7\x17\xd5\x76\x59\xf5\x26\x16\xb7\x1c\x6b\xd2\x5b\xbb\x6a\x8b\xe6\x5f\x38\xf5\xca\xd3\x9f\x82\xe7\xb1\xba\x8f\xde\x5c\x24\xc7\x16\xbd\xf9\x91\x8e\x25\x69\xf0\x32\x4e\x43\x3b\x71\xe8\x00\xf7\x2a\x4f\xf9\x98\x3c\x24\x96\xfc\x9e\xb7\x1d\x7e\x4a\x3e\x6f\xf4\xfd\x49\x7a\xd8\x77\x6d\x22\x38\x1f\x23\xfd\x65\x22\xd9\xc8\xd7\x4c\xb4\x0a\xa1\x3a\x52\xbe\x34\x70\xeb\x45\x8f\x5c\x74\xd1\x23\xf0\x11\xb2\xc9\xf0\x18\x29\x5f\xe0\xd0\x03\xf8\x98\xfa\x2f\xff\x39\x10\xcd\x5e\x98\x07\x5c\xf2\xb1\x11\x2d\x88\xc4\x7d\xc3\x5c\xb5\xa8\x5f\xcb\xe7\xc1\xd8\x72\x39\x2a\x47\x97\xf7\x42\x1d\x18\x1c\x89\x94\x70\x48\x7e\x7d\x00\x3e\x96\x9e\xd1\x0f\x6a\xc6\x8a\x4f\xee\x66\x2f\x61\xef\x41\xfa\x04\x8e\xae\x6c\xc7\x7d\x01\xd8\xb9\x30\x8e\x33\x8a\xa1\x77\x57\x85\xc9\x72\xd1\x4b\x44\x6f\x53\x42\xef\xb9\x84\x45\xbd\x01\x3b\x4e\x23\x69\x51\x22\xf1\x10\x48\x86\xa4\xd1\xfc\xd5\x06\x90\xb8\xe3\x01\x9c\xc4\x11\xdc\x85\x20\x3a\xcc\xe0\x33\x98\x33\x23\x5e\xc2\x62\xdf\x0f\xba\x5a\xb3\x3d\x1a\x2e\x2a\x0c\x95\x74\xc6\x37\x0a\x2f\xae\x6c\x9b\x4e\x33\xd7\x2f\x5d\xb2\xf3\x23\xeb\xd4\x8a\x1a\xf9\x03\xf9\xb3\xf2\xaa\x84\xe8\x59\x1a\x6f\xfe\xe8\xfd\xb6\xe8\xd2\x05\x1a\x93\xb1\xa2\x64\xc1\x1b\x2f\xac\xab\x9a\x32\x27\x61\x2d\xf0\x72\xe2\x1f\x61\x7c\xc0\xc6\x99\x9f\x70\xcd\x67\x2b\xca\x7d\x43\xf2\xad\xdf\x1c\x32\xd9\x8c\x2c\x0f\xb5\x01\x9b\x4b\x4b\x17\xf9\xeb\x4b\x3c\xbb\x8f\x83\x5d\x60\xdc\x6d\xcd\x66\x00\xef\x6b\xeb\xf2\x5a\xe6\xcc\xb1\x88\x86\x26\xcb\x86\x2d\x15\x85\x17\x4e\x5a\x92\xd4\x68\x6e\x86\x3b\xdd\x01\xad\xa6\xba\x86\xd7\xf9\x5d\x85\x01\x2d\x5f\x54\xa8\xd1\x04\x86\x44\xd7\x9a\xf6\x4e\xeb\xf8\x6a\xda\xa2\xb1\xfa\xa3\x81\x9e\xe7\xcd\xda\x1b\x6e\xe0\xfc\xf5\xf4\xd3\xf7\xcb\x4e\x4f\x5d\xa1\x65\x4f\xc8\xbd\xc9\x50\x34\xce\x5d\xa7\xad\x7d\x69\xd7\x43\x53\x5d\x95\x1e\x8f\x49\x5f\x25\x06\x17\x56\x75\x59\x5b\x09\x0e\xac\xf2\xae\x34\x64\xb4\x6f\x44\x3a\x39\x61\xb7\x0e\x11\x2a\xe2\x58\x9c\x84\xb3\x93\x50\x7d\x09\xb7\x0f\x1e\x33\xb1\xf2\x81\x46\x55\xa9\x2e\x16\x0a\xa3\x8f\xc6\x04\x08\x87\x21\x6e\xd8\x18\xe6\x53\x60\x39\x5e\x69\x6b\x0f\x8d\x8e\x33\x58\x57\x11\x47\x09\x86\xdd\x73\x4a\xca\x41\x79\x78\xde\x34\xcd\xa2\x7d\x7d\x34\x8c\x57\x4e\xbe\xf6\x49\x6b\x7b\xb8\xe2\xb6\x07\x2b\x42\xed\x36\x63\x95\xdf\xf3\xe2\x5b\xbe\x92\xda\x7a\x3d\x6b\xba\x4b\xee\xbd\xdb\xc0\xba\x4c\xd5\x77\x7c\xfb\x98\xdf\x63\xba\x5c\x6b\x29\xdf\xf4\x5b\xf9\x1f\xfb\x96\x87\xca\x23\x8c\xc6\x5e\xc2\x01\x0d\x27\x1a\xd7\x3f\x06\xe8\x27\x9c\xc5\xc5\xcc\x78\x50\x3a\xcc\x9a\x77\x6b\x79\x95\xdd\xba\x5e\x74\xc4\x5a\x26\x9e\x67\x58\xda\x5e\xb3\xc8\x5a\x3c\x07\x34\xda\x5c\x1c\x6b\xb5\x72\x7c\x81\x55\x72\xf2\x48\xb1\x60\xf9\x82\x34\xcd\x87\x0b\x98\xbe\x3e\xce\x70\x6b\xfd\x6c\x77\xd5\x2a\x69\x42\x1f\xfc\x55\xd4\x1e\xf7\xb5\xb9\x0d\x7e\x93\x75\xbc\xa7\xe3\xaa\x97\x4b\xd8\x3a\xab\x5f\xdf\x6d\x2d\x5c\x62\xb4\x86\x6c\x40\x0f\x6a\x47\xcc\x43\x80\xea\xc0\x31\x60\xa8\x59\xfd\xd8\x1e\x88\x87\x95\x2a\x1a\x49\x62\x51\xd4\x9f\x08\xc2\xa0\xcf\xe6\xb3\x58\x3d\xa8\x05\xe9\x47\xba\x1d\x8f\x2c\xee\x3d\xb6\x69\xa6\xef\x81\xa9\x5b\x3a\xc6\x5b\x59\xc0\x33\xff\x0d\x66\xc8\x8f\x1a\xbd\xed\xe3\x67\xbe\xf1\x59\xa0\x15\xc0\xfa\xa5\x17\x5c\xd0\x08\xbd\xef\xba\x16\x2e\xdb\xb8\xb0\x92\xe5\xe5\x45\x43\xe9\x93\x9e\xba\xa8\x07\xc0\x7c\x3b\xbf\xc2\x20\x1b\x46\x53\x5b\x15\x8c\x5a\x7c\x51\xec\xd0\x81\x06\x3e\x1e\x09\x84\xf8\x59\xad\x60\x94\x2d\x74\x53\x6b\x45\x53\x49\x5d\x81\x0e\x80\x53\xd4\x71\x0d\x60\x0b\xa2\x6b\x3a\xf6\x96\x2f\xbc\x6d\xd5\xa4\xcb\xc1\xdd\xf9\xed\x37\xfd\x29\x3b\x70\x94\x8e\x73\x80\x6b\x7e\x01\x26\xeb\x2a\x16\xf4\x2e\x28\xb8\x4f\x5e\xde\xb0\xad\x6f\x02\x04\xe3\x99\xea\xe1\xb6\x50\xfa\x54\x02\xa6\x51\xdd\x31\x6a\x8f\x7d\x6c\x95\x1e\x7e\x65\x36\xca\x77\xeb\x8c\x82\x4e\xbe\xc3\xa8\xd1\x5a\x55\xbc\x40\xa4\xb4\x99\xe5\xa4\x4e\x07\x92\x66\x49\x62\x88\xcd\x62\x30\xe3\x53\x42\xc1\x34\x9b\xc2\xf7\x54\xfd\x56\xb2\xb0\xc9\x71\x35\x48\x0c\xa6\xb3\xf7\xb1\x99\x8d\x60\x39\xbe\x3b\x58\x65\x64\x24\x69\x90\x38\x70\x33\x03\x21\x33\x40\x37\x97\x93\x66\xe5\x1d\x25\x00\xcd\x53\x74\x9a\xdc\x33\x83\x82\x9f\xc1\xc0\x77\x28\xe0\x19\x3c\x85\x4b\x30\xa2\x50\x70\x60\xf8\x33\x56\x0a\xa4\x06\x8a\x1f\x32\xa0\xb9\x94\x7a\x4f\xc5\x2e\x3d\x1c\x3d\x1f\xb3\xea\xa4\x70\x11\x46\x94\x0a\x5e\x8a\x9a\xe2\x4e\x41\x93\x5f\x05\xd4\x40\x59\x7f\xfc\xcd\xa8\x3d\x43\x24\xea\x51\x55\xe7\xb0\xb0\x1e\xf0\xd3\x30\xaa\x4a\xdb\x58\x66\x27\x1a\x9f\xc2\x11\x0a\x32\xdc\xaa\x0a\xd1\x9d\xc3\x6a\x67\x37\x87\xe7\x5d\x92\xac\x59\xb2\x60\x42\xcb\xec\xd9\x91\x9b\x6f\xbc\x7e\xf3\xe6\xa3\x53\xd7\xf7\xfa\x2b\x57\xae\x9d\xb2\x63\x79\x5d\xdd\xac\xc0\x84\x03\xf2\x87\x45\x9e\xb6\x58\x2c\xd8\x4e\x4f\x9f\xf6\x08\xa0\xd1\x0c\x33\x61\xf7\xee\xe7\xbd\x5e\x9f\x1f\xed\xb0\xff\xfc\xe8\xd0\x41\x8f\xc7\xef\x9f\x50\x92\x68\x8f\x2c\xdf\x7c\xd1\x8b\xcc\xce\x96\xe9\xd3\xdb\x62\xa2\x9e\xbb\xf1\x9c\x0d\xe3\x68\x33\xcd\x18\xb2\xfe\xfc\x04\x8b\x5c\x91\x0e\x28\x60\x09\x5a\x08\x9b\x93\xba\x85\x3f\x4a\x2f\xc0\x7f\x5c\x72\x68\x3b\x76\xed\x82\x62\x7a\xfb\x72\x58\x09\xff\x2b\x7d\x2e\x8c\xa6\x77\x0c\x7d\xbe\x1b\xde\x48\x9f\x37\xf4\x31\xbc\x03\xbb\x75\x2b\xb8\xb3\xec\x1e\x32\xdf\x17\x22\x49\x74\x06\xd2\x81\x28\xaa\x36\x46\xe6\x27\x46\xdd\xb2\xca\x2c\xa6\x74\x6e\x05\xca\x92\x04\x54\xb6\x60\x75\x97\x2c\x2e\x84\x89\x8d\x10\x07\x5a\x62\xef\x7a\xec\xc9\x5a\x8c\xdd\x18\x70\xa0\x38\x4f\xbe\x0c\xf5\xc3\xa8\xb5\x83\x0f\xbc\x0e\x87\xd7\x0e\x8e\x7b\xed\x76\xaf\x63\x68\xb0\xac\xb9\x69\x41\x73\x33\x33\x2b\x51\x39\xbd\x79\x41\xf3\x81\xe6\xf2\xb2\x66\x30\xad\x2a\x01\x7f\xbc\x21\x39\xb4\x2a\x79\xce\x14\xde\x60\xe4\xa7\xae\x78\x7b\xc5\x54\xde\x68\xe0\xc1\x61\x7c\xbe\xb9\xac\xbc\x99\x29\x72\xe0\xfb\x28\xff\xde\x68\x2e\x93\xe7\x94\x37\x37\x97\x83\x1f\x97\x35\x4b\xe9\xb5\x55\x89\x3f\xe3\xbd\x3f\x2b\xbf\x89\x2a\x78\x2b\xb8\x31\xfe\xc2\xf6\xed\x2f\xc4\x2f\x35\xf2\x9c\x61\x5f\x59\xd9\x3e\x03\xc7\x1b\xd3\x37\x66\xae\x2a\x6f\x6a\x42\xf3\x28\x96\xbb\xbe\x25\x9c\x1b\x26\xca\x0f\x34\x48\x15\x08\x82\x08\xe8\x04\xff\x20\x78\x2a\x01\x4c\xe9\x54\xeb\xe0\x42\x3c\xaa\x14\x08\xe1\x71\x87\xe7\xf0\xf8\xdd\x4a\x37\x83\x10\x12\xe0\xb1\xc0\xa3\xc8\x3b\x78\x99\x04\x9d\xc4\x92\x0f\x99\xe9\x42\x31\x75\x39\x05\x0f\xf2\x68\xd4\x8f\xc7\xea\xa2\xe8\x30\xe7\xb0\x06\xaa\x50\x37\xc6\xc4\xf4\x1c\xe6\x40\xc2\x9a\x21\x4f\x02\xa0\x1c\xb5\x76\x8e\x04\xaf\x92\x29\x96\xc6\x63\x3f\x8d\xa7\x04\xa0\x70\x9c\xa0\x59\x22\xa4\xcc\x08\x68\xfa\xc4\xc1\x23\x02\x5e\xb1\xc1\xde\x86\x56\x01\x92\x21\xd1\x8e\xb3\xe0\xf7\x40\x4a\x49\xbc\x2b\xc9\xd5\x1e\x68\x8b\xa1\x19\x06\x0d\x58\xe8\x6a\x12\xc8\x8f\x33\x10\x03\x6e\x0c\xcf\x41\x91\x56\xa4\x70\xe0\x02\xd9\xec\x8e\x5a\x9e\x43\xba\x2f\xae\x12\xa3\x4c\x55\xe1\x3a\x34\xe7\xfb\x71\xd2\x61\x45\x17\xd7\x61\x61\x2e\x20\x60\xb1\x1f\x4d\xfb\xf8\x0e\xb5\x31\xe0\x81\xb8\x38\x80\x40\xb3\xd0\x04\xbc\x08\x0d\x93\x61\xa5\x29\xf0\x03\x70\x23\x60\xe9\x10\x44\x49\x11\x71\xe1\x68\xde\x8a\x1a\x92\x94\x10\xaf\xbb\x91\xd5\xb8\x10\x3e\x49\xd6\xe1\x50\xbd\xe3\xca\xfc\x18\x21\x60\x36\xbc\x9a\xd7\x4e\x24\x4f\x72\x5b\xd4\x46\xb8\x59\xd5\x1b\xab\x2d\xed\x61\xe1\x4d\x7a\x2d\xc3\x4a\xec\x52\xc6\xa4\x73\x6a\x68\xf9\x36\xa4\x05\xd0\x34\xaf\xd3\x32\x16\x06\x40\x08\x20\x3d\x3f\xce\xf0\x34\x0d\x79\xa0\x05\xba\x69\x01\xa7\x6f\xa1\x4f\x1f\x2e\x36\x01\xbd\xd6\x26\x1a\x8d\x40\xf0\x17\xd8\x19\xc6\xaa\x0f\x9b\x9a\x38\x0d\x67\x2f\x08\x16\xea\xf4\x22\x92\x2a\x2c\x05\x76\xf3\x06\x11\x68\xc7\x15\xd0\xc0\x5f\xe8\x2e\x82\x40\x6b\xe1\x75\x1c\xa3\xe7\x2d\x00\x58\x9d\x16\x2b\x00\x76\xad\x26\x0c\x8c\xac\x4e\xb0\xeb\xdc\xf6\xea\x38\x2c\x73\x7b\x59\xad\x9e\xa5\xb5\x06\x6b\xa7\xb6\xc2\x55\x10\x43\xd3\x82\xb9\xa0\xcc\x12\xf2\xfb\xdc\x76\x23\x84\x1c\xa7\xe7\x8d\x74\xe1\xac\x98\xdd\x56\x66\xa7\x81\xa7\xc8\x28\x3a\x66\x69\x20\xe0\x34\x36\x2f\x03\x39\x86\x85\xb0\xa4\x8a\x2d\x65\xac\x0f\x68\xcd\x74\xb1\x47\x53\x26\x54\x85\x19\x23\x07\x68\xab\xae\xea\x82\xcb\x2a\x1c\x7a\x03\x44\xcf\xe4\x6c\xb4\x03\x42\x0b\xb4\x9b\x4a\x40\xfb\xcc\xf4\x5d\xb4\x9e\xd3\x42\x5a\x47\xd3\x7a\x1a\xdc\x03\xb5\x16\x8e\xd5\xb2\x1c\xa4\x85\x32\x51\xab\x7f\x5c\x67\xa0\x39\x86\xa1\x05\x46\x03\x63\xac\x91\x36\x69\xb5\x2c\x0d\x81\x0e\x32\x8c\x46\xd0\x00\xb3\x00\xe3\x56\x3b\xe4\x9d\x8e\xa0\x2b\xa4\x09\xad\x28\xb4\xac\x0d\x89\x0e\x9d\xdf\x53\xb1\x40\xea\xb2\x56\x4c\x29\x89\x14\x16\xdd\x9b\x90\x12\x25\xe5\x4e\x56\xe7\x07\x00\x0d\xe1\x3a\x61\x81\xc5\xe3\xb4\x45\xbd\x11\xbf\xd6\x28\x42\x03\xcb\x00\x3f\x4d\xfb\xad\x97\x04\x9c\xab\x27\x38\xca\xcb\x69\xd1\xaa\xbb\x70\x7c\x47\xa5\x9e\x41\x83\x9f\xe8\xe1\x35\x41\x7b\xc8\x7a\x9e\x60\x60\x60\x5d\x77\x78\x42\xb4\xaf\xa4\x61\x12\x8b\xe4\x84\x55\xf1\xc5\x26\x24\x6e\xe8\x75\x6e\x77\xcc\x2f\xba\x45\xad\x00\xed\x21\xd1\x6c\x95\x74\xf5\x67\x95\x36\xb5\x74\x46\xc7\xeb\xc3\x5e\x9f\x8f\x16\x80\x60\x72\x99\xdd\xcc\x1a\x20\x01\xce\x80\x76\x4d\xb4\xde\xc8\xc9\x73\x80\xc6\xc2\xb2\x1a\x3d\x6a\x5f\x1d\xad\xc1\x2f\x1c\xca\xb7\x8a\x4e\x53\x81\xdb\x5c\xa4\xf3\xf3\xe5\xec\xf8\xf3\xac\xd6\xb6\xbb\xb7\x95\x42\xa6\x72\x67\x55\xb8\xb9\x58\x34\x80\xd6\x39\x9e\x12\xbb\x6d\x82\x5f\x43\x7b\x00\xa8\xad\x03\xf4\xc4\x02\xc9\xc4\x33\x09\xd6\x53\x6a\xd3\xd2\x9a\x3d\x26\xa4\x40\xf2\x0d\x13\x01\x68\x28\x36\x55\x14\x43\x5a\xaf\x05\x45\x92\xdd\x03\xca\x4a\x18\x93\x60\x70\x00\xc1\xc5\x6a\x1c\x26\x3d\x80\x16\x60\xd0\x5a\xb4\x02\x87\x4a\x42\x73\xc5\x8c\xc4\x20\x09\x94\x61\x4c\x0e\x00\x0c\x66\xc9\xa4\x65\xb4\x90\x65\x19\x8e\xe6\x81\xd0\xec\x32\xe8\x5b\x8b\xb5\x34\x5f\xd0\x36\xbe\xa3\x88\x7b\xa0\x41\x5c\xab\x71\xda\x8a\xdb\x0a\x0b\x25\x00\x98\x09\x6b\x0c\x5e\xc6\x71\xb9\xd6\x54\x55\x4a\x9b\x9a\x6a\xaa\x9c\x1d\x1a\xb3\x06\xb2\x5a\xbe\xce\x6c\x9a\x1a\xd2\x70\x55\x05\xed\x48\xdd\x96\xb6\x79\x6d\xeb\x17\xbb\xc4\xa0\x57\x4f\x97\x59\x5c\x10\x6a\x59\x60\xb2\xfe\x42\xc3\xd3\x0c\xad\xe3\x78\x00\xcd\x71\x06\x88\x03\x7a\x8b\x06\x30\x0c\x60\xdc\x34\x0b\x3f\x85\x9c\x06\x9a\x80\xd1\xc8\x31\x46\x96\xa3\x51\xbb\x01\xe6\xe4\x4b\x86\x02\x87\xdd\x6e\xb1\x1a\x45\x46\x9a\xe6\x36\xf3\xa2\xb6\xc8\x8e\x7a\x32\x7a\x4b\x85\xde\x02\x00\x9a\x8d\xa8\x67\x1b\x2c\x7a\xc7\x42\xbd\x79\x7c\xb0\x44\x6b\x60\x74\xa2\xdf\xdf\xe9\xb3\xb2\xb4\xd1\x54\xc6\x39\x0d\x76\xbd\xa9\x43\xb0\x68\xb9\x02\x0d\xe7\x15\x68\xae\xa2\x6e\x42\xd8\xf2\xd3\xba\x69\x7e\xad\xd3\x6c\x2f\xc2\x74\xde\x6b\x63\x1d\xd6\x6b\xeb\x36\xbd\x78\xd6\xae\x72\x1b\x28\x72\x97\x1d\xe9\x58\xb1\x63\xf3\xfa\xa6\x37\x17\xd6\x4c\x29\x85\xd0\x1f\x44\xad\xae\x91\x0c\x45\x6c\x50\x98\x17\x9f\xbc\x7b\xc2\x14\xd6\x57\x13\x28\x40\xd5\x2a\xd0\xeb\xa7\x4d\x31\x14\x47\x3c\x6e\xbd\x49\x8d\x8f\xc7\xb2\x98\x40\x79\x91\x1c\x5d\x45\xd5\x52\xad\xd4\x02\xec\x55\x14\x0c\xd1\x01\x6c\xf4\xc7\x1c\x63\x74\x28\xcc\xf8\xf0\x2c\xed\x50\xe8\x80\xd1\x58\x82\x06\x0a\x2f\x1b\xe2\xf1\x20\x07\xfc\x7c\x8c\xc5\xf3\x3b\xda\x61\xa4\x50\x18\x5f\x45\x46\x93\x56\x50\xeb\x61\x1c\xb1\x61\x11\x04\x65\x2b\x21\x34\xc7\x6e\xd8\x73\x45\xc0\xf4\xf4\xa7\xfb\x5a\x6c\x5e\xf9\xd7\xf2\x61\xb0\xa8\xbb\xf6\xfa\x03\xbb\x42\x41\x46\x5c\x77\xc1\x45\x07\x52\x5e\x50\x45\xbf\xff\xd6\xaf\x16\x8e\xdb\x78\xc3\xd0\x3f\xd0\xa4\x0e\x67\x3d\xf3\x4d\xd7\xac\x4b\xb7\x4e\xda\x39\xa5\xd9\xf4\x11\x7d\x08\x68\xad\xed\xd3\x77\x4f\x2a\xc0\xab\x10\x25\x33\x26\x77\x34\x47\xcb\x3d\xba\x9d\x23\xf4\xb0\x12\x7c\x25\x67\x9b\xb1\xf0\x9a\x19\xfa\xc3\xf0\xfa\x9a\xd6\x65\xbc\x70\xd1\x87\x8b\x17\xdf\xb6\xbc\x43\x30\x02\xf6\x37\xef\xdc\x37\xe1\x9f\x37\x7d\xd1\x5c\xfc\xc5\xc7\xd3\xff\x42\x9f\x0b\xc0\x75\xf7\x4a\x3f\x7a\xdb\x35\x29\xd6\x6c\x93\xfd\x7f\x7d\x14\x18\x0a\x12\x0d\x9d\x85\xd1\x32\xd6\x89\xba\x17\x8d\xb4\x03\x16\xbe\x34\x16\x1e\xa3\xda\x7e\xad\xd4\x72\xac\x7f\x54\xd1\xd5\x00\x73\x27\x47\x6a\x3d\xb4\xe2\x7b\x85\x99\x88\x21\x8e\x87\x2d\x06\x84\x5b\x1e\xc7\xcd\xd2\x19\x3b\x4a\x2b\x54\x88\xb7\x38\xc2\x34\xab\xa0\xcf\x61\xa9\x28\x86\x09\x19\x45\x8c\x3d\xc7\xdc\x18\x6e\x5c\x34\xa3\xa6\xd7\x53\x58\x26\x9a\x0e\x96\x77\x94\x96\x54\xb8\xaa\x1b\x36\x3d\xd4\xd3\x91\xdc\xd8\x1e\x9a\xb6\xa0\xf9\xd0\x59\x76\x6f\xf7\x84\xc8\xec\x9a\xb2\xda\xa2\xda\xc8\x7f\x3f\xd8\xf9\x83\x8d\x13\xc1\x86\x0f\x8f\xec\xed\x9d\xd1\x79\xad\x3c\xf8\xdc\x46\x73\xb7\xba\x03\x58\xbc\x03\xde\xab\x9d\x1b\xab\x70\xea\x9d\x3c\x6f\x36\xbb\x2c\x33\x9c\x3e\xbf\x33\x51\x19\x5f\x5c\x55\xdc\xb6\xb1\xb3\x65\x49\x73\x50\x28\xb1\x0b\xd6\xd2\x70\xc4\x5b\x59\xe9\x6d\xae\x5c\x7a\x69\x70\xf2\xf6\x83\x47\x3e\xec\x36\x6f\x7c\x0e\xb0\xd7\x76\xce\xe8\xdd\xab\xec\xc8\x83\x78\x87\xe8\xe7\x15\x48\x77\x78\x85\xc4\xb2\xb4\x51\x1d\x24\xe2\x2a\x63\x0f\x89\x13\x7c\xf2\x5a\x42\x53\x1c\xca\xb3\x72\xc6\xe2\x9c\x0e\xbb\x94\x10\x07\x5f\x80\x09\xed\xb2\xf0\xa9\x74\xcc\x05\xe8\xbf\x06\xd9\x42\x5b\xba\xde\x51\xcc\x81\x80\xc3\xe3\xfb\xc2\xee\xa1\x9d\x46\xa6\xd8\x26\xff\x0e\xaf\x46\x83\xb3\x44\xff\xc7\xa6\x19\xad\x0c\xc7\xd9\xdd\xb5\x3e\xf9\x1f\x46\xad\x46\x5e\x6e\xef\x34\xc4\xbb\xe6\xd0\x17\xac\x48\xd8\xef\x64\x5a\x67\x30\x33\x7f\xe1\xf0\xfb\xad\x83\x8f\xa1\x07\xf4\xb8\x4c\x45\xa6\xbd\x2d\x36\x74\x6d\x59\x51\xd0\xfd\x79\xa7\xbc\x5b\xfe\x95\xc5\x6e\xab\xb0\x5b\x75\x5a\xd9\x5d\xc0\x6b\xed\x5d\xec\xde\xf8\x8a\xbe\xbe\xa1\x4f\x2d\xa0\x01\x5c\x4a\x8d\x58\x77\x50\x34\x95\x51\x9e\x9a\x67\xc0\x38\xc5\x76\x69\x22\x33\x83\x01\xd5\x62\x9b\xdd\xeb\x0f\xb9\x4e\x12\x93\x0c\x8b\x7e\x53\x0c\xb1\xf7\x0e\x51\x84\x98\x1c\x12\x4b\x2e\xb1\xe7\xd2\x42\x2e\x53\x28\x13\x57\x86\xfd\xaf\x06\x08\xff\xa3\x62\x85\x0a\xd3\x01\x9b\x64\x27\x7e\x4c\xc3\xc8\x59\xea\xe2\x52\x34\x40\xab\x6c\x6d\x24\xf6\x1b\xc9\xf2\x99\x98\x1f\x96\xaa\x2f\x8d\x14\xfd\xb9\xf2\x6b\x6d\xc8\x95\x9a\x58\xd5\x5f\x35\x31\xe5\x0a\x69\xbf\xae\xfc\x73\x51\xa4\xb4\xde\x0c\xa8\xce\x75\x20\xb9\xae\x13\x50\x66\xb9\xe7\xd2\xff\xb8\xf4\xd2\xff\x00\x03\xa5\xf5\xe5\x60\xfe\x3e\x79\x8d\x49\x74\x85\xe4\x2f\xab\x26\x4e\xac\x02\xe6\x90\x4b\x34\x81\xdb\xf6\xc9\x47\xcb\xeb\x4b\x8b\x9c\x20\xb9\x61\x83\x9c\x74\xd2\x3d\xf8\x82\x4b\x95\xb2\x32\xb8\xac\x41\xe2\x89\xab\x0a\xbb\x81\xd3\x6c\x95\x36\xcb\xe2\xb3\x51\xf5\xdd\xf5\x89\x89\x4b\x27\x92\x3f\x94\xde\xd4\x0d\x93\xdd\x9b\xe4\x01\x52\x1a\x3a\x21\x2b\x3c\x79\x3d\x43\x9b\x48\x49\xde\x94\xc7\xe3\x2d\x7d\x50\x26\x18\x7f\xa0\xbf\x7b\xd3\x26\xf0\x5a\xae\x1c\xca\x7b\xb4\x61\x56\xc1\x20\xea\x92\xa1\x70\x28\xc3\x6a\x87\x17\xdb\xec\x8e\x92\xfc\x05\x1e\x16\x2c\x37\x5b\x8a\xaa\x4b\x17\xb4\x38\x4b\x9a\x9b\x4a\x9c\x2d\x0b\xc6\x55\x15\x59\xcc\xcc\xa2\x11\x03\xcc\xa7\xe0\x3d\xfb\xb4\x9e\x62\x17\x92\x57\x4a\x4b\x0b\xfd\xc0\x55\xdc\x33\xcd\x7e\xcd\x18\x63\x44\x05\xd2\x2f\xde\x66\x4f\xa1\x7e\xd4\x89\x57\xfe\x08\x61\x1b\x1a\x10\x6a\x5b\x41\x10\x0d\x2b\x38\xce\x2d\x1c\x24\x31\xd6\x2c\x71\x0b\x0e\x86\xb0\x0b\x27\x96\x33\xe3\x41\xe2\x23\xcc\xc6\x09\xd9\x3c\xc1\xf0\x61\x89\x23\xae\xc3\xce\xa6\x96\xdc\xf6\xce\xa7\xef\xdc\xb6\x44\xd9\x80\x8d\x8c\x59\x7e\xdf\x68\x12\xe4\xf7\x1f\xd7\x79\x75\x8f\xcb\xef\x0b\x26\xa3\xfc\xbe\x99\x61\xb5\x8f\x3f\xae\x65\x19\x33\x28\x41\x27\x41\xc9\xe3\x5a\xbf\xf6\x71\x50\x82\x4e\x82\x12\xf5\x24\xd4\xe7\x6e\x83\x36\x51\x13\xdb\x23\xbf\x6e\xd6\xe9\xb8\xe5\xdf\x18\x8d\xdf\x2c\xe7\x74\x3a\x33\xa8\xed\x61\x4d\x16\xc3\x37\xdf\x18\xcd\xe8\x2c\xa8\x55\xce\x1a\x0c\xca\x59\xf9\x75\x74\xd6\x6c\xfc\xe6\x1b\x83\xaa\xfb\xfd\x94\xbd\x98\x12\x51\x0f\xa5\x82\x78\x5c\xc3\xc3\x1a\x47\x46\xc0\x48\x6d\x49\x90\x63\xd4\xa1\x4e\x8c\x95\x10\x49\x19\x43\x7c\x60\xc7\x61\x22\x89\x33\x9f\xc7\xea\x9f\x94\x5f\x7e\xbc\xf7\xd7\xa7\xd6\x1e\xfd\x6c\xef\x41\x34\x5f\x86\x96\xcb\x97\x0d\xdc\x8e\x29\x66\xb7\xbe\x00\xc4\x5b\x2a\x2c\xa2\x6f\xc1\x92\x43\x27\x6f\x38\xff\xbc\x71\xc5\x02\xff\x09\xaa\x4d\xec\xc9\xd4\x7d\xcd\xf2\x8f\xdf\xdd\xfb\xd9\xd1\xb5\xbb\x7e\xf9\xca\xbf\x76\xbe\x0e\x0a\x6f\xbf\x05\x38\x5e\xdd\xcd\xc1\x71\xe3\x8a\x67\xbe\xb1\xf5\x86\x93\x87\x22\x62\xb1\x50\xaa\x60\x9b\x71\x29\xd5\xa6\x5d\xae\x7a\x30\x12\x73\xbe\x6f\x94\x1f\xff\xa8\xd8\x96\x44\x1e\x9a\x06\x5c\x9b\xff\x05\xa3\x33\x27\xc9\x19\x0e\xf3\x60\xfd\x50\x81\xff\xa3\x86\x08\xd2\x07\xb1\xc2\x82\x1f\xe6\x70\x38\x08\x8e\x87\xf7\x54\x3f\xd7\xc3\xa6\xa8\x89\xd8\x1b\x8c\x22\xfc\x0e\xbc\xc3\x6e\x25\xdd\x00\x8d\x8b\xe8\xb3\xf0\x57\xc1\xea\x0c\xf5\x62\x1b\x50\x49\x1f\x9a\x80\x25\x8c\xbf\x8f\x62\x82\x10\xa4\x02\x04\x01\x1f\x06\x12\xe0\x7a\x42\xae\x81\xf6\x37\x25\x49\x8c\x89\x2f\xb2\xd6\xc4\xc4\x95\xe3\x93\x91\x35\x9d\x4d\x82\xe9\x29\x6b\xa1\x53\x92\x68\xcb\xcb\x8d\x0a\xdc\xc7\x31\x29\x54\x27\x1d\xa3\xbb\x8e\x49\x75\x21\xe9\xd8\x80\x4b\x9e\x9c\x4e\x3e\x0b\x74\xcf\xc2\xb3\xea\x42\x47\x77\x9c\x90\xea\x24\x49\x7a\x81\x35\x8f\xf3\xba\x30\x38\x9c\x3b\x1c\x36\x0a\x6f\xd8\xcc\x62\xd4\xfa\xe7\x2d\xfd\xb8\x62\x21\xe5\x42\xe5\x36\xf2\xef\x20\x75\xd9\xb3\xcf\xa2\x0f\xfc\xd4\x29\x0a\xf0\xbb\x99\x29\xd4\x65\xc4\x67\x10\xaf\xa7\xe1\xa5\x4b\xac\x59\x40\xa4\xea\xb1\x5c\x08\xcd\x8d\x34\x1a\xf5\x1d\x56\x42\x81\x81\x97\x7d\xf0\x11\xa4\x66\x11\xe0\x1c\x24\xb2\xe0\x39\x12\xff\x7a\xe8\xda\x78\x2b\x43\xb0\x23\x88\xc2\x85\x7b\x0a\xd2\x69\xac\x04\x0f\x86\xac\x8a\xe3\xd5\x3c\xc5\xfe\x01\x1d\x41\xa4\xc3\xf0\xbb\x1d\xc7\x9c\xe3\x4a\x3d\xc5\xbc\x54\xe5\x67\xc0\xd5\xb5\x34\xcf\x6b\xca\x42\xa7\x28\x67\xc2\x6a\xf5\x74\x37\x4c\x70\xd2\x3a\xa7\x64\x02\x3c\xc3\x88\x81\xad\x53\x0e\x6f\x5e\xe6\x2c\xd0\x05\xce\xe9\xbd\xba\x99\xa3\x19\x53\x19\x10\x0d\x76\x96\x35\x6b\xac\x75\x26\x73\x51\xac\xbc\xb4\xd0\x08\x39\x51\xab\x63\xa1\xc0\x73\x05\xcd\x46\xd1\x6c\x8f\xfe\xc7\x9c\xa8\xd5\x2d\xf0\x10\x09\xf4\x9c\x45\xd0\x88\xfe\xb2\xd6\x60\x73\x35\x83\x44\x72\xc8\x59\x75\xc0\x1b\xae\xe5\xe8\x6f\x12\x1f\x7b\xa3\x91\xb2\x06\x77\x19\x12\x69\xe1\xa5\x67\xb1\xa6\x90\xa7\x80\x61\xad\x06\x83\x6d\xc1\xa4\x6a\x0d\x60\x9d\x81\x49\xe5\xa6\x02\x8e\x95\x68\x66\xdc\x84\x76\xa7\x53\x57\x7a\x4d\x3f\xe0\xae\x36\xdb\x59\x4e\x42\xb2\x26\x43\xeb\x6d\xb5\x1b\x0a\x8b\x9a\x17\xd5\x14\xb2\x40\x53\xd2\xd8\xdb\x59\x3a\xd1\x68\xf0\x6b\xa1\x5d\xd2\xbb\x20\x30\xb0\x96\x62\x5f\x63\xdd\xe2\x90\xbe\xd5\x5f\x5d\xac\x85\x8c\xab\x7c\x49\x6b\xef\x85\x3a\x13\x06\x1f\xa1\x01\x64\x4d\x5a\xc2\x15\xfc\x23\xee\x6b\x76\x3a\xa5\x23\x23\x5e\x35\x35\x9f\x5a\x4f\x5d\x8c\xbe\xc6\xac\x4e\x8c\x67\x63\x92\x44\xfa\xa7\x23\x83\xf7\x89\x1a\x35\x58\x05\x4a\x78\x8e\xc1\x1f\x62\x3c\x56\x12\x44\x7a\x2f\x1a\x15\x71\x6c\xad\x88\x76\xb1\x3a\xe8\xc1\x4e\x6b\xd8\x28\x8f\x3e\x5b\xa2\x5a\x42\x0f\x50\x01\x43\x63\x48\xbb\x54\x54\xca\x20\x39\x46\x0e\xa1\x13\x58\x65\xc7\x2a\x3a\xbc\x07\x9b\x7e\x67\xda\xec\x62\xc7\xec\x6d\x1a\xad\x51\x28\xe2\x2d\x1e\xc1\xf3\x44\xe5\x9f\x36\x6e\x98\x5d\x5d\x7d\xa2\x6f\xe3\x0a\xa4\x23\xf6\xcb\xa7\x0e\xfd\x51\xfe\xbd\xa0\xed\x07\xe0\xd0\x1f\x41\x10\x84\xa6\x1d\xfc\xb9\x9c\x96\x3f\x96\xff\xfb\x9d\xbd\x57\x26\x1f\x04\x8b\xa7\x4d\xa8\x64\x38\xc1\xc4\x71\x57\xfe\xa6\xaa\xb2\x12\xb2\x82\xce\xd0\xb0\xb4\x63\xdb\xbc\x02\x49\x53\xee\x40\x05\xb3\x2e\x6a\x73\x96\x31\xac\xcb\xd9\x0c\xe6\x2f\x8c\x84\xb5\xb5\x31\x97\xa6\xb0\xa4\xb5\xf5\xa1\x85\x85\xe3\x0d\xc5\x85\xbb\xfe\x39\xe4\x9f\x6c\x12\x5c\x3e\xff\x24\xaf\xfb\x36\xa3\x9b\x65\xf5\xc6\x62\x81\xd5\x2f\x5f\xdb\x53\xe2\x7f\x66\xc5\xb2\xa5\xee\xa2\x27\x9a\x7b\x6e\x98\x2c\x38\x3e\x3b\xa4\x6c\xae\xe9\xb8\xf6\xd2\xde\xd6\xf6\x1d\x4f\x9d\xb3\x15\x30\xc9\x07\x7f\x30\x2d\x71\x9d\x60\x40\xbd\x00\x36\xb5\xb4\x6d\x35\x0a\x7a\xd4\xa1\x1a\xd7\xc3\x15\xcb\x77\xd5\xa3\xa7\xa3\x32\xb4\xf5\x18\xd1\xd3\x9d\xe3\x58\xe3\xac\x9e\xf4\x56\xb7\x4b\xac\x75\xcf\x79\xbc\x63\x52\x54\xe4\x8a\xeb\xab\x39\xd7\xf4\x7c\xd9\x62\x0b\xa5\xa5\x24\xcc\x17\x4f\xf8\x6d\x91\xa6\xed\xc1\x6b\x9e\x90\xc7\xa4\xcc\x25\xc0\xcc\xa3\x81\xd2\x62\x67\x44\xe6\xdc\xa3\x2f\x3c\x7f\xf4\xc0\x2f\xfd\x81\x5f\xca\xb7\xa5\x5f\x7d\xe2\x7e\x50\xc2\x44\x9f\x78\x35\xfd\x18\x28\xb9\xdf\xbf\x7c\xf9\xc2\x6f\x0e\x1e\xfc\x86\x6d\x91\xdd\x43\xf2\xd9\xab\xde\x05\xce\x67\xc1\xa4\xdf\xa4\xcb\xe4\xbf\xbe\xbb\x0a\x1c\x19\x02\x7f\xf1\xfc\x46\x7e\x56\x59\xeb\x43\xb2\xc3\x4e\x24\xa7\x6d\xc0\x6b\x2f\x34\x16\x55\x39\x8a\x27\x28\x1f\x68\x2c\x16\x20\x36\x1f\x00\xf4\x71\xc5\x70\x9a\xc5\x69\xb6\x18\xc4\xa2\x55\x2c\xd2\xfb\x19\x01\x69\x38\x68\x78\xc2\x6b\x23\x02\xfe\x90\x39\x9c\x64\x77\x7a\x17\x2d\xef\x5d\xb5\x7c\x56\xb3\xd9\xb2\x59\x3e\xf2\xa6\xe4\x72\x49\xc7\x40\xf9\xda\x92\xa9\xcb\x17\xad\x5c\x30\xd7\xb7\xe5\xa5\xcb\xb7\xb4\x15\x44\x5d\xbc\x7d\x4a\xc7\x8a\x39\x0b\x12\x95\xdc\xe4\x8b\x57\x2e\x68\x89\xf8\xec\x2c\x63\xd0\xb8\xa7\xd4\xd7\x09\xa1\x48\xe7\xb9\xcd\x25\x2c\x67\x15\x35\x3c\x52\x8f\x84\xea\xd8\xa2\x15\x97\x74\xc0\x70\xcb\xcc\xf9\xf3\xba\x9a\x2c\x16\x47\x2d\xe7\x9c\xde\xbd\x63\xdb\x35\xe0\x27\xdd\xdb\x5a\xbc\xb4\xe0\x29\xd0\xe9\x3e\x92\xbf\x05\xae\x50\x01\x78\xe7\xb8\x20\x6a\x8c\x15\xd3\xf6\xcc\xad\xb6\x06\x66\x76\x55\x5c\xda\x0f\x68\x48\x5b\x8a\xea\xa7\x6d\x9d\x5c\x68\x91\xc6\x35\xb5\xb5\xd5\x98\xcc\x3b\x3b\x39\xeb\xa4\x69\x9b\x36\x5f\xdd\x51\xd0\xd9\x7d\xd6\xa2\xb9\x93\x63\x26\x13\xb3\xd4\xc5\x3b\xda\xa2\x8d\xc5\xd0\x31\xf3\xe2\x39\x2d\x1e\x11\x7d\x3e\xf4\xf5\x57\xf0\x8e\xa6\xaa\x10\xac\x41\x62\x8b\x0d\xc9\x2e\x7f\x63\x29\xe2\x49\x6e\x25\xf1\x55\x44\xc2\x02\x8a\xcf\x3e\xb0\xf9\x2c\xf8\x2f\x68\xcb\x30\x32\x31\x7f\xdb\x3a\xbb\x41\x1e\x4a\x7f\x31\x7b\x2b\xf3\x9b\xc1\xb2\xcc\xdf\xd6\xd9\xf4\xcc\xd9\x5b\x81\x7b\xe2\xfc\x1d\xf2\xbf\x80\x71\xc7\xfc\x89\x60\xf2\x29\xea\x14\x98\x8a\x7e\xae\x6a\x6f\x9f\xb7\x63\x47\x9e\x9c\x89\x11\xca\x6a\xd4\xf8\xa0\x31\x69\x4c\xed\xa7\x09\xee\x62\x92\x2a\x91\x69\x86\x64\x53\x21\x32\x7d\xf0\xbb\x02\xbd\xe0\x35\x63\xf0\x99\x1e\xfd\xae\x80\xaf\x61\x32\xb1\x5a\xd6\xe1\x6c\xac\xf9\x64\xac\xe2\x69\xcb\x8a\x39\x4b\x71\x01\x73\x54\xac\x98\xc9\xb4\xff\x3b\x0b\x3b\xa0\x16\x11\xb4\x61\x66\x54\x85\x91\x55\x3e\xf5\x9d\xa5\x1d\x25\xbf\x2b\x6b\xa6\xb9\x62\x8e\x94\xdf\x47\x59\x1b\xa8\x90\xcb\x6a\x51\xc2\xce\x2c\x56\x1c\x43\xfb\x1d\x01\x6a\x29\xec\x5b\x65\x50\xc3\xc6\x0c\xa1\xa1\x17\xbf\x47\x3c\x18\x8f\xbe\xfd\xe2\x5c\x1c\xbe\x78\x1a\xc6\x00\xd5\x9e\x5b\xf6\x5d\xbc\x01\x6a\x74\x3d\xf0\x7e\x27\x7d\x80\xea\xe3\xbe\x0c\xc9\xe4\x36\x2a\x86\x23\x41\x89\x38\x86\xa5\xb1\xb8\x03\xcf\xad\x54\x04\x0b\xa5\x0e\x32\x1a\xd1\x0a\x90\x58\x9c\x90\x8b\x62\x4b\x83\xe4\xb3\xf9\x70\xb4\x97\x44\x9f\x5a\xdb\x28\xbf\xf9\xec\xed\xf2\xd7\xb7\x9d\xf8\x91\x65\xe7\x21\xc0\x3f\xb3\xe7\x9d\xed\xd0\xdd\x78\x8a\x32\x9a\x4b\x2d\x5f\xc8\xa5\xce\x20\xdd\x03\x35\xc2\x82\xd8\xc4\xe5\xbd\x1d\x41\x70\xbf\xbc\xde\x0c\x7e\x55\x6a\xf9\x08\x2c\x7b\xf5\xb1\x3f\xdc\x06\xb4\xb7\x3f\x01\xca\x5a\x2f\x8d\xfd\xf1\xb2\x67\xe4\x6f\xf7\x7e\xe0\xda\x92\xe4\x03\xe0\x03\x9f\x93\xd6\x5b\x0a\x22\x6d\xcb\x27\x4e\x3a\x9b\x97\xff\x98\x4c\x06\xe4\x86\x61\x3a\xb6\xc2\xeb\x13\x0b\x87\x68\xf4\xfa\x78\xec\x3e\xa9\x2c\x6a\xe2\xa5\x51\x87\x12\x9b\x85\xed\x0a\x92\x38\xca\x3b\xd1\xa0\x3b\xfa\x5f\xb3\x2b\x42\xf3\xf5\xcc\x55\x81\xf2\xb0\xd1\xeb\xd9\xdb\xb4\xde\x7d\x8e\xbb\xae\x4b\xdf\x50\x6b\x6a\x36\x75\xf4\xdc\xf1\xa7\xf7\x4f\x0e\x7b\x9f\x7b\x7f\xcb\x69\xe4\x7f\x49\x3d\x0d\xef\x3f\x18\xfb\xf5\x73\x06\x7e\x99\xb3\xc7\xd9\x5e\xf7\x58\xfc\xf7\xf1\xc7\x40\x08\xb8\xc1\xc5\xc3\x2c\x68\x2a\x9e\x03\x2a\x23\xd6\x7f\xad\x90\x51\xd4\xb0\xac\x83\x51\x1b\x88\xe6\xa7\x33\x61\x58\x48\x70\x29\x42\x72\x1f\x6b\xcb\x24\x2c\x31\x4a\x3d\xc9\x24\x9f\x93\x8f\xff\xac\x5f\x10\xdf\xa5\x39\x9d\xd6\xe8\xf8\x24\xb3\x15\x05\x74\x10\xec\x30\xb9\x1c\xf2\x0e\x75\x73\x1c\x30\xe4\x28\x4c\xfd\x4c\x3e\xfe\x9c\x28\xc0\x55\x13\x01\xa7\x33\x27\x1d\x9a\x29\xcb\xb2\xa9\x93\x58\xab\x7c\x62\x1b\x6b\xc5\x7b\x17\x2e\xcb\x24\xe4\x02\x23\xb0\xfe\x14\x7b\xfa\xe6\x62\xbf\x03\x2a\xfa\xb4\x4d\x0d\x33\x52\x2a\x93\x1d\x8c\xb2\x56\xb1\xef\x19\x0f\x2e\x2b\xac\x96\x72\x3f\x51\x7e\x7b\x94\x18\x94\x9e\x33\x46\x87\x8f\xca\x4f\xee\xf4\x5d\xd1\xe2\x6a\x5c\xac\x06\xe3\x78\x86\x09\xe3\x5f\xb7\x62\x7d\x8b\x2a\x4a\x70\x15\x50\x68\x8d\xb1\x8f\x3d\xea\x2d\x3e\x22\xc1\x10\x57\x54\xc0\xc7\xd1\xe4\xe6\xc0\x91\xbe\x3e\x8e\xf7\x23\xf1\x14\x08\xa0\x1c\xd0\x91\x5a\x3a\x20\x61\x88\x5e\xe0\x61\x22\xac\x2f\x04\xcf\x39\xef\xce\x24\xfa\xa4\xf9\xc6\x19\x33\x1a\x79\xc9\x98\x48\xde\x79\x1e\xb3\xb8\xec\x12\xf3\xe2\x9d\x95\x95\x3b\x17\x9b\x2f\x29\xe3\xa2\xd1\xd9\x1d\x1d\x83\xf3\xe9\xaf\xdf\xfb\xa2\x61\x93\xbb\x50\x1e\x70\x2d\xae\xec\x59\x56\x74\xc7\x1d\x45\xcb\x7a\xaa\x16\xb9\x80\x97\x11\xaa\x6b\x3b\x4b\xc0\x4b\x43\xda\x6d\xa0\x3f\x91\xa8\xf6\x39\x0b\xa0\xc5\x69\x81\x05\x4e\x5f\x75\x22\xc1\xdb\x69\x53\xa4\xa2\xa4\x22\x62\xa2\xed\xfc\x50\xc9\xa6\x12\xcf\xf8\x1b\xc6\xcb\xbf\x09\x95\x8d\x77\x3a\xb1\x57\x28\x78\x13\x0c\x80\x37\xb1\x87\x28\x63\xf4\x15\xd8\xba\x13\xea\xf7\x81\xb1\x44\xe6\x10\xff\x64\xfc\xb1\x62\x0d\x51\xb1\x22\x21\xa5\x32\x97\xcc\x10\x34\xb4\x01\x3a\x97\x0c\xab\x6e\xac\x48\xc3\xcc\x25\x55\x78\x3b\xd4\x10\x52\x3c\x06\x82\x34\xcb\x7e\xd1\x3a\x77\xd9\x43\xf5\xfc\xbc\xa6\xea\x19\xa6\xb8\xfc\x72\x5c\x33\xaf\xb9\xba\xcb\x14\xbf\xa5\xc8\xd6\x32\x3b\x5e\x71\xfb\xfa\xdb\x5d\xf6\xe6\x39\xf1\x8a\x3b\xa2\xca\x89\x18\x88\xc5\x34\xf3\x71\xe6\xe8\xdd\x36\x7b\xf3\xfc\xe6\x8a\x3b\xd6\xdf\xeb\x1c\x1a\x02\xb1\xf5\xf2\xcb\xf0\x9b\xd9\x2d\x67\xfb\x9a\xee\xb7\xb9\x9a\x16\xc4\x2a\xef\xeb\xbb\xd7\xe9\xc0\x89\x7b\xa2\xda\xee\x16\x74\xed\xff\x47\xdb\x77\xc0\x47\x55\x65\xff\xbf\x7b\xdf\x7b\xf3\xa6\xb7\x37\xbd\x66\xfa\xa4\x27\x33\x99\x99\xf4\x4e\x80\x90\x84\x10\x7a\x68\xa1\x77\x09\x20\x1d\x61\x68\x62\x03\x15\xa5\xa8\x28\x51\x11\x1b\x76\x2c\x28\xba\x59\xfb\x5a\x50\x17\xb7\xe0\xcf\x82\xbb\xb8\xbb\xb6\xb5\x17\x20\x73\xf9\xdf\xfb\xde\x4c\x08\xc8\xfe\x74\x3f\xff\xff\x3f\x30\xef\xdd\xfa\xca\x7d\xb7\x9c\x73\xcf\x39\xdf\x13\x03\x65\x71\xe9\x08\x72\x95\xd8\x3e\x8b\xb9\x72\x74\x3c\xbf\x67\x6e\x0f\x29\x92\xc8\xbb\x3d\x21\x19\x5e\x91\x3f\x54\x13\x47\x2f\x96\x4a\xd1\xe9\xb9\xa0\x62\xfe\x85\x7b\x35\xd9\x82\x26\xd5\x05\x3a\x22\x40\x97\x76\x64\x5f\x06\xd2\xae\xec\x43\xe9\x1e\x9b\xe9\xc0\x69\xbc\x0c\x49\xa4\x9a\x4d\x04\xaa\xc1\x40\x25\x12\xfa\x84\xdb\xe3\x7d\x29\x36\xad\xbe\x7e\x5a\xe1\x73\x85\xca\x1c\x79\x69\x98\xae\x0d\x97\x26\xb2\xfb\x7a\xc3\xa5\x55\x81\xc2\xc7\x43\xb4\x43\xed\xe0\x2d\x46\x83\xd1\xc2\xe3\x10\x0d\x14\xbe\x9a\xf3\x75\x4d\xce\x9c\x00\x87\x7c\x06\xd3\x3a\xff\xa0\x41\x59\xab\xb2\xa4\x41\x29\x6a\x21\xce\x14\x66\x66\x97\x97\x86\x03\xc3\xad\x59\x4b\x6c\x90\x97\xe9\x64\x44\xe9\x05\x9f\x78\xf8\xa0\x79\x38\x95\x91\x25\x0a\xb6\x07\x2c\xee\xcd\x83\xa9\x11\xd4\x54\x6a\x31\x45\xf1\x78\x05\x0b\x42\x01\x21\x93\x16\x44\x3f\x41\x8d\xb8\xa7\x41\x78\x27\xbe\x3f\xc9\x1b\xf4\xc5\xfd\xc4\x85\xb7\x68\xe2\x89\xa9\x7d\x96\x37\x99\x85\x35\x10\x7f\x5b\xc8\xf1\xf1\x58\x09\x95\xc5\xe0\xa5\x1a\x12\x90\x9d\x20\x5e\x6e\xe2\x54\x96\x3f\x8e\xe3\x41\xe2\x03\x04\xc7\x4d\xeb\x1b\xc0\xa2\x17\xff\xcd\x4a\x59\x8d\xd4\xce\xb4\xa0\xcf\x0a\x72\x78\x35\xcf\xbf\x39\x6c\xbd\x52\x27\xa1\x35\xca\xf6\x95\xf7\xa0\x7f\xa5\xd3\xb8\x2c\xf9\x5c\x30\xf2\xe5\x1b\x80\x62\xae\x3c\xd1\xcc\x30\x4a\x89\x1e\xf7\xe6\x1a\x24\xf9\x12\x30\xeb\x36\x74\xcf\xa5\xd7\x4c\x79\xfb\xa1\xcf\x2b\xfa\xee\x00\x0b\x40\xcb\xd7\xdb\xb7\x7f\x8d\x0e\xa1\x1b\xd1\x21\x12\x02\xa3\x41\x27\xa8\xfa\xe4\x8a\x2b\x3e\x41\x2f\xa0\x03\xe8\x05\x12\x82\xc9\x3b\x77\xf5\xf1\x53\xc0\xa5\x40\xca\x87\x2a\x1d\x9d\xaa\xb3\x14\x5d\x4e\xb3\xd0\xe3\x04\x72\x20\x03\x4a\x3d\xaf\x06\x52\xf4\x14\x92\xd2\xb5\x99\xd4\x9e\x67\xe6\x75\x8d\x48\x28\x2d\xbc\x5d\xe3\x52\xfa\xd9\xf9\xc7\x52\xab\x24\x6c\x5e\x16\xd3\xf1\xe0\x0b\xef\xa0\x7d\xb3\xe0\x81\x7b\xe7\xe7\xc0\x92\xf3\x6e\xdc\x22\x3c\xcc\xa9\x27\xaf\xf8\x04\x54\x5d\xf0\x0c\x99\xb5\x47\x68\x7f\x3d\xd1\x17\x03\x3a\x36\xe8\x27\x63\xc4\x9f\x30\x4a\x18\xa3\x81\x31\xeb\x00\x1f\x48\x04\x43\x31\xc6\xcc\x54\xa3\xaf\x4f\xa2\x6b\xfe\xfc\x07\x30\xe9\xf8\x71\xf4\x29\x88\x7d\x46\x3f\x10\x48\x7d\x77\xc3\x8a\xdb\x81\xf1\x0d\xe2\xa2\x34\x69\xd8\x9f\xda\x71\xcd\x4f\xfb\x6d\x07\x83\x27\xae\xdd\xf3\x0f\x17\xdb\x8e\x6a\xd0\xea\x25\x23\x9b\x9c\x07\x3d\x6b\x33\x3a\xe6\x82\xdf\x29\x25\x15\xa4\x8a\x08\xf2\x80\xd1\x97\xee\xc2\xbe\x18\xf0\xe8\xa2\xba\x01\xbf\x73\xd8\x71\x6c\x26\x18\xa5\x7b\xe9\xde\x64\xb6\xe3\xb4\xdc\x91\x9d\x04\x78\x4d\x4a\x66\xfe\x57\x38\xb2\x4f\xe1\x8c\x0a\x09\x0e\xfc\x8c\x03\x12\x0a\x25\x45\x04\x90\xb3\x54\x0a\xdf\xf8\xdc\x4f\x84\x27\x25\x1e\xed\x92\x19\x5f\xd1\x49\x99\x68\xbb\x4e\xe8\x05\xde\x24\x74\x94\x04\xcf\x9a\x22\x89\xb4\xbf\xad\x00\xb1\xba\x35\x1a\x38\x3e\xad\xe3\x89\x73\xc9\x64\x1b\x4f\x04\x32\x7e\xbd\x24\xff\xd6\x33\x07\xd1\x9f\xd1\x7e\xf4\xe7\x83\x8c\x1e\x56\x9b\x4a\x4c\x4c\xbb\xe9\x4c\x0f\xa3\x64\x52\x97\xe6\x96\x4a\x6a\xca\xcb\xa1\x5c\xa6\xe9\xd5\xc8\xe4\xb0\xbc\xbc\x4e\x31\x16\x3d\x66\x32\x31\x5d\x38\x9b\xe9\x82\x47\xd0\x8b\x83\x96\x0f\xc2\xff\x41\xe5\xe3\x1c\x07\xb5\x05\x52\x84\x79\xc3\xa3\xde\x5b\x66\xfa\x87\x0e\x0a\xa2\xe1\x6a\x05\xfe\x53\x83\x47\x82\x83\x86\x06\xdf\x5a\x33\x47\x5a\x20\x05\x5d\x00\xa0\x1e\xfc\xfe\x0b\xcf\x26\xd9\x1b\x44\x9d\x16\xc0\x13\x01\x05\x1f\xa4\x20\x91\x67\x60\x36\x4b\x6f\xae\xa6\x13\x24\x58\x4c\x00\xed\xe8\x09\xaa\xea\xdc\xec\x5a\x55\x18\x9d\x7d\x78\x52\x79\x24\xaf\xa1\x66\xdb\xef\x73\x02\xd7\x77\xae\x2c\x8c\xc7\x4a\xcb\x1d\xb5\xbe\x36\xf9\x0e\xd8\x90\xaa\x52\x28\xe0\x0b\x83\xc0\x4b\x20\x7c\xb5\x46\xb3\xe8\x4b\xfc\x64\x55\x9f\xde\xf0\xe6\x58\xb5\x3a\x34\xbd\xfc\x72\xdd\xcf\x69\x9f\x38\xec\xc7\xc2\x1a\x4a\x01\x0f\x19\x65\xe2\x7e\x17\x1e\x59\xfe\x68\x96\x99\xc3\x4f\x21\x10\x79\x98\xce\xa2\x13\x1e\x9a\x82\x7f\x52\x3e\x81\x1e\x7a\xef\x56\x74\xf2\xe8\xaa\x55\x47\x81\xe3\x56\x90\xf7\x97\x77\xd6\x3c\xb9\xe1\x7f\x92\xc9\xff\xd9\x30\x76\xc7\xe4\x26\x8f\x04\xb5\xc0\x7f\x37\x54\x1d\x47\xf7\xf7\x92\x02\xa0\x1c\x38\x8e\xae\xfa\xc3\x1f\x56\x6c\xfc\x08\xfd\xfc\xd1\xc6\xa2\x21\x13\x3b\x02\xa2\x5e\x99\x38\x4f\x10\xbb\x57\x2f\xd5\x26\x48\x23\x4c\x44\x39\x30\x28\x28\xd1\x93\xfd\xb5\x88\x3f\x0d\xd8\x1c\x61\xd3\x14\xa7\x29\x41\x80\x6d\x82\x21\xde\x4c\x3c\x7c\x0b\xd8\xa6\x98\x9e\xa2\x25\x5c\xda\xd0\xc3\x8c\x0f\x4c\x34\xe2\x8f\x95\x60\x6e\xd0\x3f\x60\x96\xc0\xb3\x83\x89\x19\xac\xd5\x56\xa3\x7f\x57\x6b\xb5\x12\xbd\xa4\x68\xd5\xca\x62\x89\x1e\x1d\x2b\x69\x8e\xc5\x9a\xc1\xef\x62\xcd\x25\x38\x74\xa6\x69\x86\x7f\xe3\xe3\x35\xaf\x92\xc4\x40\xdc\xf6\x01\x2f\x19\x74\x68\x83\xaf\x24\xd2\x14\x70\x4b\x80\xe5\xa5\x97\x81\x85\x73\xf9\xc1\xac\x8b\x8c\x47\xb0\x58\xab\xa9\xae\xd6\x68\x25\x92\xe2\x62\xc9\xbb\xf8\x62\xb8\x2f\x75\x06\xc8\x35\x4b\x3a\x8a\x9b\xfc\x9d\x12\x60\xcf\x0f\x94\xc4\x9a\x63\x91\x62\xd6\x88\x5e\xe5\x3a\x03\x4d\xc5\xbe\x72\x8d\xdd\xb9\xfd\xb5\xd7\xb6\x67\x59\x35\x65\xcf\x5c\x70\x41\x1c\x3a\x1f\x07\x4b\x23\x78\x73\x22\xf3\xa9\xd0\x4e\xde\x74\x3b\x91\x66\x0a\x64\x9a\xc9\xc4\xf6\x87\x12\x42\xe3\x04\x43\x09\x33\xf9\x76\xff\xa1\xa9\x44\x6b\xfb\xd0\x2f\xf5\x96\xe8\xfb\x55\xaa\xd8\x17\x31\x95\x8a\xd5\xb2\x39\x47\x73\x58\x2d\x42\x05\xd5\x05\xf9\xb5\xf9\xa0\x43\x3c\xff\xa5\x32\x37\xc7\xbd\xf8\xe6\xf8\xfd\x20\xdf\x4d\xe4\x2e\x45\xc6\x67\x75\x4c\xe5\xcd\x8b\x5c\x79\xb9\x95\x59\x36\xf6\xeb\x7b\xef\xfb\x5a\x62\x75\x83\xe8\x79\xf8\x13\xbb\xf1\x45\xf1\x35\x25\x92\x9c\x1c\xc9\x2e\x77\x41\x81\x50\x33\x7d\x1e\x9c\x53\xe9\x6e\x63\xbe\x0b\x65\xe5\xe1\xab\xe7\xe6\xb0\x7a\xf4\xbd\xa4\x35\xab\x32\xc7\x15\x51\x59\xcd\xab\x1f\x78\x60\xb5\xd5\xa2\x2a\x06\x27\x2f\xce\x97\xb8\xf0\xec\x43\x10\x99\x13\x69\xf0\xb1\x7e\xb5\x14\xe1\x05\x45\x95\x13\x27\x60\x63\x69\x45\x95\x2a\xc0\x85\x8c\xa4\x03\x9d\xa7\x26\x39\xad\xf3\xd2\x9e\x4b\x1d\x41\xfb\xee\xa5\x1d\x23\x96\xda\x0d\xbc\x1d\x5c\xb9\x8b\x9c\x3a\x2b\x2f\xbd\x63\x29\x18\x71\x21\xff\x72\xd8\x5e\x3d\xbc\x7b\xd1\x70\xf4\x89\xc1\x6e\x37\xac\x5c\xdd\xb1\x64\x71\x3b\xc0\x8b\xa9\x83\x8f\x7f\xb4\x7a\x9d\xc1\xee\xe0\xd7\xd8\x1c\x6b\xda\x97\x2c\x01\x0f\x5c\xc8\xd5\x90\x39\xea\x4e\x2e\xc9\x4e\x12\x9e\x5b\xc0\x45\x12\x1f\x5a\x34\xb1\xef\x77\x5e\x2f\x3c\x34\xc7\x7a\x32\x39\xe6\x84\x98\xc5\x04\x2b\x47\x55\xf6\x3d\xf2\xe8\x19\x30\x04\x07\x52\x0f\x3d\xdc\xf7\x02\xb8\x16\x0c\x39\xf3\xe8\x23\x7d\x9b\x5e\xc0\x29\x74\xe9\x72\xa2\x1e\x93\xda\xfb\xd0\xcf\x67\x1e\x05\x72\x74\x3a\xb7\xa2\x22\x17\x2e\xb8\xff\xdb\xef\x0f\x5e\x51\x7e\x3b\xfa\xf1\xd1\x33\xa7\x1e\x06\xca\xaa\x72\xf4\x6d\x4e\x45\x45\xce\x40\x7e\x85\xe0\x7d\x50\x01\xe2\x66\x5c\x74\x8f\x7a\x11\xfa\x98\xed\x4d\xd5\xa2\xac\x49\x9b\x60\x2f\x38\x31\x69\x53\xed\xc0\xef\xdb\x03\x4e\xc0\xde\x4d\x93\x50\x56\xaa\x76\x13\xe3\x3c\x5f\x61\x4f\x8a\x7f\x36\x29\xc5\xfc\x03\xf7\x68\x19\xbe\x8f\x4e\xb0\x76\x0f\x08\xb8\x39\x64\x79\xf0\x58\x81\x4f\x07\xf0\x4a\x41\x1b\xa3\x31\x9e\x60\x53\xe0\x7f\x01\x1d\x4e\x1b\x18\x1e\xf2\x46\xea\x0b\x30\x64\x0d\xb8\xe9\xcd\x37\xdf\xec\x80\xc6\xd4\xe7\x60\x08\x7a\x8a\x24\xdc\x0c\x0d\x38\x67\x30\x3a\x0c\x06\xaf\x61\xfe\xd1\x97\x0d\x0f\xe3\xbc\xc5\xe8\x5a\x5c\x66\x30\x3c\x0c\x5c\x6f\xbc\x81\xfe\xd6\xd7\x71\x67\xc7\x7e\x31\xb1\x3f\x38\x60\x7c\xc9\x04\x6c\xd4\x22\xe2\x5b\x88\x12\xd8\x6e\x62\xf3\x31\x20\xa4\x4d\x03\x79\x73\xba\x04\xb1\xed\x80\x42\xdc\x27\x46\x7e\xc1\x88\x9b\x5a\x62\xb9\x76\x47\x4e\x0c\xfd\x90\x0e\xc0\x75\x0f\x5f\x66\xe0\xcd\x89\xb1\x6b\x8f\x45\xeb\x2f\xbb\xfb\x91\xcb\x9a\x1b\x9e\x3e\x96\xa8\xba\x8c\x36\x9f\xa7\x44\xd9\x98\xec\xd4\x00\xa3\x0e\x8c\x48\x4e\x20\xe7\x54\x31\x50\x3e\x47\xb7\x95\x4f\x91\xa4\x36\x67\x1f\xe5\xe1\x5c\x1c\xf5\xf7\x3d\x85\x83\xe0\xe7\xf3\xdb\x57\x4e\x65\x9f\x95\x71\x6f\xe2\xf9\x74\x23\x75\x84\x7a\x8d\x3a\x4a\xbd\x4f\xfd\x9d\xfa\x27\xf5\x29\xf5\x25\xf5\x15\xe1\x41\x5d\x34\x51\xd0\x57\x43\xae\x80\xf5\x11\x4d\x52\x17\xe7\x06\x26\x1c\x0d\x8a\x06\x24\x25\x89\x6a\x88\xa7\x07\xc2\xa2\x0a\x9a\x37\x8c\x48\x6c\x93\x25\x11\xcf\xfb\x02\x47\x6d\xce\x50\xd8\x50\x92\x46\xe9\x20\x82\x92\x10\x99\x40\x04\x1b\x39\x73\x42\x4d\x9b\x13\x05\x5c\xa8\x00\xe6\x10\xd7\x2b\x98\x2c\x75\xc1\x1a\x60\x34\x63\xe2\x4e\x5a\x23\xea\x2c\x11\x85\x55\xcc\xa5\xd1\xe4\x82\xf8\x89\x04\xca\x2e\x61\xe6\x80\x08\x4c\x1d\xaa\x86\x51\x3c\x34\x49\x26\x1f\xc5\xa9\x31\xa3\x06\xd4\x40\xe6\xe5\x61\x57\x4e\x9f\x5d\x97\xeb\x99\x50\x39\xa8\x68\xd5\x5e\x7f\x5e\xa5\x3d\x54\x30\x7d\xa8\x5c\xc2\xc8\x24\x79\x9c\x9b\xd5\xd3\x12\x00\x00\x27\xd5\xd1\xbe\xcd\x59\x21\x0f\xa4\x61\x45\x02\x8f\x44\xff\xee\x2a\xeb\xcc\x6e\x87\xc4\x88\x5c\x6e\xad\x45\xa7\x06\xff\x90\x2a\x8c\xbc\x9d\x65\xcc\x12\x8d\x8d\xbb\x53\xa6\xb3\xea\x34\x4f\x00\x70\x97\xa9\xf0\xba\xc2\x44\xa1\xbc\x31\x97\xed\xa8\xce\x4b\xe4\x18\x8c\x72\x8b\x32\x42\x87\xf3\x7d\xa0\x8a\xd5\x71\x6a\x89\x9c\x93\x31\x9c\xc6\xa6\x2f\x54\xaf\x9b\xa0\x0d\x37\xd6\x38\x07\x4b\x95\x59\x59\x26\xa5\xe9\xa7\xb5\x8e\xbc\x6c\xab\x57\xed\x53\xe4\x4a\x39\x98\x3d\xbc\xef\x90\xba\x34\x4f\x47\xe7\xfe\x14\x3a\x1c\x97\xd9\x9d\x66\x2b\x5c\xb5\xa6\xaa\x16\x9d\x2a\x5a\x38\x14\xdc\x4e\xfb\xca\xa2\xa5\x0c\x67\x1c\x5e\xe7\x40\x83\xba\x24\xf2\x7c\x25\x7f\xcc\x2d\xcf\xa6\x57\x01\x48\xfe\x4d\xa1\x0b\x9b\x56\x4c\x1d\x52\x3a\x2f\x51\xe5\x4a\xd4\x68\x03\x7b\x1f\x38\xb2\x73\x2a\x64\x58\x19\x1b\xe0\x9c\x4a\x97\x35\x60\xf2\xd8\x6a\xb2\x5b\x70\x9f\x90\x6b\xdd\xcd\x26\x55\x59\x95\x11\xda\x62\x93\xd6\xdd\x64\x60\x6c\xdd\x26\xad\xc6\x4c\xcf\x53\x9b\x54\x72\x86\x85\x40\x95\xa5\x0b\x98\x74\x1a\x13\x1d\xd6\xda\x9e\xec\x29\xf6\x7b\x69\x83\x45\xab\xe7\xf3\x86\xda\xb2\xb4\xb4\x5a\xe5\x77\xd7\x3a\xac\xe1\x30\x54\x68\xfe\xcc\x1a\xa5\x1a\x09\x26\xe0\x21\xcd\x80\x5c\x97\xc7\x56\x60\x1f\x29\x93\xe5\x3b\x00\x5e\x81\xa6\x4c\x31\xfa\x43\xe6\x7c\x5d\x19\xdf\xa2\x91\xc5\xc6\xdc\xf5\x72\x2e\x2d\x93\xcb\xf8\x38\xa7\xe8\x1b\x65\xcb\x75\xc7\x0b\x4a\xd9\x7c\x05\xed\x57\x3e\x52\x84\xde\xd6\x00\x4e\xa3\x90\x72\x20\x17\xaa\x38\x78\xa9\x41\x07\x94\xa9\xb5\x23\x95\x92\x62\x00\x84\x2b\x8b\x3c\xae\x1e\x8f\xb1\x7f\x53\x66\x4c\x93\x4d\xa2\x36\xe1\x65\x2d\x98\xde\x0d\x21\xfa\xb3\x64\x23\x5f\xb0\xb6\x14\xd4\x9a\xc5\x51\x26\xa8\xd4\x71\xb8\x93\x08\xba\xe5\x71\x50\x42\xd0\x6b\x88\xfa\x1d\x91\xc7\x00\x41\x99\x8d\x28\x23\x08\x5a\x71\x82\xc6\x97\x21\xbd\xd6\xc7\x4a\x70\xbf\x13\xba\x6c\x22\xcd\x1f\x31\xd7\xb2\xbc\x6b\x49\xf3\x86\x5a\x56\xaa\xd0\x70\x40\xea\x9d\x3f\x2d\x92\x3d\x36\x97\x53\xe6\xf1\x06\x73\xac\xd0\xe2\x2c\xb6\xa9\x65\x3a\x33\xad\x91\xa8\x65\x5a\x35\xaf\xb0\xfb\x14\x52\x39\x2b\x37\x83\x4e\xb9\x39\xdf\xe5\x49\x6e\xf4\xdb\x87\x0e\x1f\xd7\x9d\x58\xba\x1f\xc2\x16\x67\x43\x53\xd9\xae\xe5\xab\xb3\x6c\x6d\x75\x83\x0d\xbe\xc2\x2c\x87\x33\xb6\xf6\x6d\xf4\x39\x7a\x1b\xfd\xe3\x4f\xc9\x50\x45\xc7\xb0\x8e\x42\x5e\xdd\xec\xab\x72\xf9\xf3\xa4\x1b\xca\xf2\x0e\xe6\x1a\xfd\xa3\x1b\x46\x26\x42\x11\x5e\x6d\xf2\x16\x63\x0e\xc3\x20\xcf\x72\xd0\x34\xe3\xb1\x73\xca\xcd\x85\x6a\x8d\x5c\x99\x67\x31\x48\x39\x03\x54\x31\x72\x46\x42\x43\x8d\x5a\xa3\x93\x30\x4a\x50\x68\xca\xcf\x77\x8c\x1c\x05\xc2\xe5\xe5\x61\x00\x6e\x99\xd9\x5d\x62\xd0\xd5\xb5\xd6\x02\x50\x35\xb4\x1a\xd0\xde\x82\xec\x95\x47\xf7\xa3\x7f\xfe\x6e\xc1\xd2\x57\x80\xa3\x67\xfc\xdd\x6b\x17\x0f\xab\x75\xca\xa5\x01\x43\xd8\xe2\x18\x3f\xe2\x96\xa0\xb3\xcd\xae\xb2\x0c\x1a\xb2\x7c\xdd\xfd\xd4\x40\xec\x2d\x17\x5e\x25\x3b\xa9\x95\x78\x3e\xd0\x40\x35\x08\x65\xec\x79\x13\x41\xcc\x55\x9b\x39\x89\x01\x93\x13\x35\x34\x6d\xc6\x84\x82\x57\x62\x70\xd3\x5c\x21\x2c\x00\x89\x02\x11\x47\x08\x8f\x7f\x93\x68\x44\x1a\x22\xdb\xe9\x09\x33\x21\xc0\x0a\xe9\x84\x9b\x48\x54\x5c\x80\x36\x48\x38\x93\x60\x39\x4c\xb4\x45\x35\x74\xa8\x06\x56\x13\x85\x1a\x5c\x91\x29\xe8\xd9\xed\xaa\x7b\x60\xb4\xb6\x7b\xe8\xe8\x95\xe3\x07\x99\x0a\xea\x94\xbb\x15\x81\x40\x60\x4e\xc0\xb5\xfb\xf6\xe7\x94\x7b\x94\x81\x39\xcd\x01\xe7\x9e\x9e\xdd\xb7\xef\x76\x35\xe6\xd9\x9b\x3a\x57\x8e\x6e\x59\xaa\x1c\x75\x3f\x3d\x7b\xe5\xe8\xe6\x25\xea\x31\xcf\x34\x2a\x76\x0b\x65\x5c\x7b\x7a\xf0\x3f\x67\x6d\xa1\xb1\x65\x26\x9c\xd5\x62\x2b\x68\x50\xe2\x8c\xe6\x39\x42\xc6\xed\x7b\x9c\x0d\x4f\x8d\x51\x2c\x6d\x1b\xbd\x12\xbc\xd5\xb3\xc7\x55\x5b\x60\x6c\xea\x5c\x35\x7a\x48\xb7\x76\xcc\x83\x75\xca\x3d\x8a\xc0\x9c\x60\x80\x14\x84\x7a\x72\xc7\xe6\xb9\xe4\x8e\xf8\x9f\xab\xe1\xf0\x58\x0d\x7e\xb0\x55\xd3\x9a\x0d\x85\x67\x76\x8e\x5e\x35\x79\xb0\x23\xaf\x51\x28\x32\x27\x7d\x43\x57\xed\x03\xa3\x15\x4b\x19\x73\xeb\xa5\x8a\xd1\x4f\x36\xa4\x9f\x37\x9d\xd5\x90\x6f\x1b\x36\x6b\x95\xe8\xb7\x43\xc4\xcc\x18\x44\x8d\xa3\x26\x50\x53\xa8\xd9\xd4\x3c\xea\x4a\xea\x4e\xb2\x9f\x13\x2c\x14\x5c\xd5\x85\x44\x65\xce\x50\x5a\x43\x31\x11\x24\xd3\xa1\xc4\x20\x2a\x72\xe2\x7f\x82\xd1\x31\xd1\xbd\xc4\x63\x81\xc8\x85\x04\x1d\x4f\x51\x65\x93\x16\x14\x34\x7d\xa4\x54\x42\x90\x86\x25\x22\xac\x39\x04\x02\x3a\x16\x98\xe9\x10\x9e\x76\xcd\x80\xd5\xe1\x4f\x48\x6e\x21\x20\xc2\x88\xfb\x22\x42\x5d\x62\xba\x8d\x07\x17\xd0\x09\xa2\xec\x50\x49\x48\x27\x68\xb7\x24\x74\x6c\x24\x0f\x67\x1a\x75\x70\x3b\x30\x1b\x0c\x79\xb9\x5c\x23\xd3\xd0\x30\xc2\xc2\xb8\x69\x49\x8b\x71\x83\x5a\xd7\x08\xa5\xb3\xa4\x21\x17\x84\x80\xb5\x99\x2d\x7a\x39\x03\x24\x01\x45\x79\xe1\x0c\x28\xaf\x57\xc8\xac\x0c\x03\x69\xab\x83\xb6\x96\xd4\x2a\x2f\x63\x19\xd5\x5b\x34\xa7\x0c\xba\x5c\x36\xb3\x9a\x01\xb4\xc7\x50\xe4\xe7\x75\xf0\xb9\x9a\xab\xcf\xfc\x0c\x9f\x48\x35\x33\xc7\x67\x3d\x3e\xe3\xaf\xb3\xf2\x8f\xa1\x02\x58\x85\x4e\xdf\x16\x0f\x6f\xdc\x51\xee\x19\x35\xfc\x9b\x1a\xa9\x5c\xca\x38\x3c\xcc\xd0\x07\x06\x4f\xb9\x6e\xb4\xc6\x1d\x90\x83\x9d\x7d\xa7\xd5\xa9\x02\x4e\xc5\x12\x85\x68\x0d\x66\x7f\x0b\x20\x66\x74\x2b\x18\x03\x78\x8d\xe6\xa4\x32\x83\x93\x8d\xc1\xd9\x6d\x53\x34\x90\x81\xcc\x38\xcb\x13\x76\xd7\x95\x32\xe0\x85\x0a\x29\xd1\xbb\x93\xb3\x1c\xc7\xe8\x24\x3a\x28\xa1\xb5\x5a\x1f\xf4\x31\xb4\x1c\x00\xa5\x11\x46\xca\xd8\xc8\x08\x87\xa4\x04\x82\x62\x70\x42\xa3\x32\x6b\x94\xb4\x59\x63\xc3\xc3\x90\x51\x2b\xe1\x8e\xbf\xe7\xa4\x6e\xfa\x17\x23\xfd\x34\x15\x77\xc3\xeb\xdd\xa9\x7f\xb9\x2f\xa9\xa3\x2b\x9e\x02\x6b\x4f\xeb\x54\x3d\xf5\x23\xad\xca\xb6\x02\x4e\x86\xa7\x0e\x3d\x0c\x14\x3b\xfd\x9c\x0e\x33\xd2\xc9\x33\x7f\xf8\x51\xf2\x9d\x0a\x40\x26\x2e\x03\x12\xd6\xaf\x06\xc9\x97\x2f\x99\x6f\x44\x93\x05\x7b\xe3\x0c\xf6\x02\xb1\xe9\x1b\x4c\x8d\xc5\x3d\x61\x05\xb5\x95\xda\x4d\xdd\x4d\x3d\x49\xf5\xf6\xef\xf4\xf4\x3b\x87\x65\xcf\x87\x2c\x27\xf4\x03\xf1\xed\x64\x3c\xe7\x46\x4f\xc4\x63\xd7\xfd\x4a\xfc\xff\x77\x79\x5e\x04\x16\xf3\xe8\x40\x16\xd9\xcf\x4c\x92\x03\x7b\xa2\xbc\x69\xd7\xbc\xbe\x9e\xfa\xc9\xa5\x61\xd8\x13\xee\x72\xec\x71\x84\x53\x59\x02\xd0\xd1\x7f\x3c\x00\xea\xff\x2e\xbf\xab\x27\x5c\x9a\x4a\x32\xc9\xc9\xf5\xe7\xbc\x2b\xdf\xe9\x5d\x3e\x28\x45\xcd\xdb\x35\xb9\x5e\x42\x85\x4b\xc3\xf8\x31\xba\xc2\x67\x92\xfd\xd5\x80\xfa\x62\x41\x74\xd1\xd4\xff\xa6\x00\xd8\x0e\xa8\xd2\x70\x0f\xa2\x88\x37\x6f\xa2\x43\x2f\xa1\xd2\xb2\x9b\x1a\x6a\x38\x9e\x03\x16\x51\xeb\x05\x0f\x82\x0f\x51\xbf\xa3\xde\xa2\x3e\xc2\x94\xd8\x59\xa0\x01\x6e\x50\x08\x6a\x2e\xb2\xe3\xd7\xef\x24\x51\x6c\x77\xdd\x7f\x19\xa7\xff\xcb\xef\xf9\x5b\xfa\xc7\x85\x40\x3e\xff\xb7\xd7\xfb\x7f\xf9\x7c\xac\xa0\xac\x72\x46\xd4\x52\xe9\x3d\xe7\x76\xe0\x7f\x3f\x24\x7f\x6b\xc1\x73\x07\x48\x0d\xf0\x4c\xf4\x9b\x6b\x01\xea\xbf\xbf\x93\x84\x0a\xda\x4e\x09\xfb\x5c\x12\x7c\x44\x03\x20\x67\xbf\xfd\xb5\xe0\xa3\xfd\xc1\x8b\x43\x20\x5d\x3c\x78\x46\xc0\x4c\x11\x0e\xf0\xbf\xa8\xd6\xf7\x5f\x94\x3d\x0f\x86\x09\xf3\x9a\xb5\x67\xb5\x4c\x2f\xdb\x85\x47\x49\x88\xec\x18\x5e\xa0\x54\x47\x64\x9d\x19\x65\x21\xb3\xc9\x90\xb1\x32\x65\xf6\xa3\xf7\xd3\xba\x75\xe8\x7d\x87\xc3\x39\xdc\x71\x12\x74\x9f\x74\xb4\x3b\x1c\xa8\x47\x54\xb0\x7b\x1f\xbd\xdf\xf7\xaa\xa0\x5a\x97\x44\x49\x41\xb5\xae\x14\xf8\x49\x01\xc7\xc9\x93\xa4\xc2\x27\xa2\x6e\x1d\x9b\xf6\xbd\x4c\xf6\x53\x9c\x82\xd4\x68\x04\x91\x7f\x89\x7c\x0f\xa6\x1d\x09\x5f\x02\x44\x5f\x31\x20\xbd\x84\xb2\x11\x46\x4f\x2c\x2a\xf0\xec\xe7\xf3\xe2\x0c\xe2\x34\x26\x30\xa0\x34\xc1\x06\x09\x08\xbe\x61\x44\x72\x0a\xd3\x67\xca\xe0\xb8\xaa\x96\xb5\x95\xf8\xd8\xba\xa6\x12\xdd\x37\xaa\xb5\x65\x53\x93\x70\x00\x57\x2d\x07\xfa\xa7\xbc\x35\xf5\xb9\x8d\x5f\xd5\xd4\xa7\x9a\x9f\xec\xbe\xfb\x6d\x30\xa4\x6a\x5c\xb0\x72\x4d\x2b\x39\xae\x05\x33\x5a\x47\x35\x6d\x6a\x21\x07\x26\x5c\x39\xbf\x6d\xe9\xde\xa1\xe4\x78\x4b\xea\x58\xfb\xf2\x45\x7b\x9b\xdb\x57\x2c\xba\xb5\xf0\x05\xf4\xe9\xd2\x82\x2a\xa7\xa2\x73\xfc\x8e\x31\xc7\x1e\x5c\x7e\xac\x6d\x7e\x65\xf3\x2d\x4b\xf1\x71\xe8\xde\xa5\x73\x56\xb4\x37\xef\x5d\xb4\xbc\xbd\xf9\xd6\x45\xc4\xfe\xea\x2c\x05\x89\x2f\x70\xa3\x88\xb9\xc8\x9b\xd2\xc6\xee\xe2\xc3\xe3\x67\x87\xbd\x4b\xa6\xe4\x43\xbf\xad\xd7\xe6\x87\xf9\x53\x96\x8c\xde\x75\xdf\xae\xd1\xf4\xd7\xd7\xbf\x14\xe8\x7b\x5d\xd0\x04\x8b\x05\x5e\xba\x3e\xf9\xdd\xad\xb7\x7e\x77\x0e\x53\x24\x63\x77\xe4\xc6\x54\x3c\xd0\xb1\xa1\x7c\xa0\x22\x1f\x51\x44\x52\x4d\x63\x85\x08\x9b\xa8\x98\x6a\x49\xc2\x64\x2a\x59\x0b\x9f\x4e\x35\xa5\x9a\xd8\xd3\x7e\x77\xaa\xd6\x51\xef\x48\xd5\xba\xfd\x05\x41\xd8\x6b\xca\x33\xc1\xde\x60\xc1\x24\x30\x09\xae\xfd\x74\x31\x42\x08\xa6\x28\x5f\xa5\x0e\x25\xb5\x5a\x90\xd4\x55\xfa\x68\x2a\x5c\xaf\x06\x94\x54\x7a\x96\x52\xd7\x8b\x50\x79\xf8\xfe\x52\xd1\x8f\xc9\x39\xab\x68\x9c\xc5\x06\x84\xe7\x60\x41\xfa\x1c\xca\xc4\xc9\x73\xb1\x64\xc7\x17\xd3\xac\x62\x20\xfd\x80\x01\xe1\x80\x9f\x52\x58\x7c\xf1\x01\x0a\x4e\x84\x6a\xc1\x8d\x68\x01\x5a\xc0\xbe\x3b\x20\x92\x27\x86\x0f\xa3\xc1\x68\x30\x7b\x2a\xe8\x41\xb5\xd6\x5a\x2b\xaa\x65\x68\xc8\xa6\x83\x9e\x60\xae\x0f\x3c\x8a\x7f\xbd\xe6\xb8\x19\xf4\xfa\x72\xc1\xa3\xfe\x9c\xae\x5e\x50\xbe\xbf\xfb\x81\x07\x1e\x48\x6d\xcb\x84\x56\xde\x05\xe4\xfb\xbb\x9f\x7d\xf6\xd9\x54\x15\xea\xf2\x57\x6b\x4f\xa8\xd5\x27\x20\xfe\x23\x67\x6d\xb5\x1f\xf4\x04\x6b\xb5\x4f\x83\xeb\xf0\xb1\x57\x2e\xef\xd5\xd6\x06\x51\xf7\xd3\xda\x5a\x51\xa6\x82\xa4\x14\x0b\xf1\x7b\xcb\x70\xbb\x07\xa9\x02\xaa\x8e\xec\xd6\x1a\x3d\x34\x41\x36\x0d\xd2\x98\xc2\x8b\x42\x8f\x17\x33\x3f\x94\xd8\x23\x39\x8f\xc1\x14\xf0\x44\x62\x25\x3e\x4f\xcc\x43\x78\x75\x9f\x27\x40\x3c\x8f\xe1\x1c\xa1\xc3\xd2\x3e\x0f\x57\x8a\x00\x38\xdb\xd7\xd9\x2d\x01\x7b\xf4\x07\x6a\x96\xeb\x3e\x98\x81\x0e\xff\x39\x05\xd8\xa3\x57\xbd\x39\x13\xa6\x2e\x59\x7a\x26\x0e\xc2\x6f\xbe\x82\xfe\x08\xac\x6d\x13\x9e\x43\x7d\xe8\x73\xd8\x31\xf6\x8a\x65\x35\x07\x97\x5c\x5a\x3c\x72\x49\xb2\x29\x75\x2b\xf3\xc0\x5a\xf4\xc7\xb9\x9d\x2f\xa4\x9e\xac\x4d\xa0\x37\x81\xf4\x2f\x6f\x03\xfe\x8a\x0f\xaf\xd4\xb9\x16\xad\x8a\xdc\x7d\xe8\xb9\xa1\xad\xd7\xfd\xc5\xd1\xb0\x6e\xc2\xe3\x1d\x59\x07\x56\x0d\x5b\x33\xaa\xdc\x96\xfe\x86\x99\xfd\x4c\x17\x15\xa0\xf2\xf0\x9b\x0c\x16\xfc\xfc\x5c\xb0\x1a\xf2\xc2\xee\x13\xd9\x5b\x20\x1b\x0d\xb4\x2f\x86\x29\x55\x43\xfa\xc4\xe2\x32\x9e\x78\xec\x1c\xba\x0f\x81\x26\xa2\x23\x66\x1f\x1e\x7a\xb8\x51\x06\x4a\xc2\x8e\xa1\x6d\x60\xdd\xb2\x9e\x6b\xe7\x87\x9a\x47\xb5\x3e\x7c\xe7\x8a\xa9\x87\x9f\x5d\x0b\xe5\x8d\x43\xc0\x2d\x60\xe7\x86\xe4\xfe\xdb\x2e\x7f\xb3\xfa\x2a\xc5\xd0\xe2\xc5\x0a\xc4\x34\xcd\x03\x35\xe8\xf7\xe7\x4b\xc1\xd0\xf5\x7d\x5f\x2e\x5d\x7c\x5b\x4e\x49\x77\xd9\xf0\x1c\x1d\x7a\xfe\xa9\xce\xc9\xe8\x91\xe3\x8b\xe7\x64\xb5\x0c\x92\x1b\x36\x3f\x72\x70\xe3\xd6\xfd\xbf\xf3\x86\xc1\x25\xab\x4b\xeb\x81\xbc\x35\xc3\x6b\x71\x19\x9c\xfb\x10\x41\x67\xed\xf7\x5a\x20\xec\xc1\x9a\x33\xfa\x67\x21\x42\x99\x83\x01\x08\x45\x09\x03\xe5\x03\xc2\x1c\x52\x88\xc7\x95\xa0\x3e\x43\x80\x6c\x29\x49\xc1\xb5\xaf\x5d\x7b\xed\x6b\xa9\x6d\x3b\xe6\xd8\xed\x73\x5a\xeb\xdc\xee\x3d\x2d\xc6\x0e\x43\xd6\xf2\xc1\x73\xe8\xb7\x1f\x5b\xb7\xfe\xb1\xc7\xd6\xaf\x7b\x6c\x17\xfa\xe1\x08\x1a\xa6\x7c\x7e\xf3\xaa\xa7\xad\xff\x00\x5b\x86\x4f\x56\x99\x08\xc6\x80\xe2\x99\x23\x40\xc1\xb8\x49\xfd\x6b\xcf\x3c\xf7\xf6\x0e\x49\x8e\x7b\x77\x4b\x6b\xad\x5b\xea\x91\x56\x0e\xa5\x3f\x5a\xf7\x18\xae\xff\xe8\xa3\xeb\x9f\x45\x3f\xa2\xdf\x6f\x78\x74\xcf\xa5\x13\xc1\x03\xb7\x16\x41\xb0\xfb\x19\x20\x45\x3f\x50\xe7\xf1\x8e\x52\xfc\x3e\x0d\x54\x6b\x1a\x09\x80\x6c\x9f\x52\x22\x37\x28\x98\x2f\xc7\xf1\x43\xc7\xcf\x6d\x84\x55\x65\x18\x8f\x40\x24\xfd\x9d\x38\x9a\xbc\x7d\x20\xb3\xbf\x2c\xb6\x09\x61\x0e\xdf\x5b\xd2\xb3\x78\x71\x0f\xd2\x5e\xda\x51\x3a\xd9\x5a\x52\x50\xb9\xd2\x6a\x89\x56\x75\x98\x0c\x1d\x74\x9f\xf8\x25\x0e\x1a\x6e\x98\x32\xe7\x66\x39\x18\xbf\xeb\xd8\xb1\x5d\x37\xfe\x11\x7e\x2c\xe3\x87\x55\xa3\xbf\x88\x1f\xe8\xa7\xed\xaf\x6e\xdb\x36\x63\xe6\x36\x3a\xbb\x67\xf1\x92\xe1\xed\x8b\xd1\xab\x07\x96\x96\x17\x19\x0c\xf8\x1a\x95\x2b\x2d\x1e\x16\x2e\x14\x3f\xe6\x4d\x83\x26\xae\xbc\x66\x76\xdf\xb1\x9d\xbb\x8e\xbd\x73\x23\x7a\x0e\x04\x56\x80\x77\x71\x3a\xea\x99\xb1\x6d\xdb\xab\xdb\xb7\x11\xb4\xf1\xb3\x63\x24\x5f\xb1\x67\x29\x15\xee\x97\xf9\x98\x4f\x1e\x26\xa0\x26\xd1\x5c\x40\x10\xbe\x62\x06\xca\x64\xc7\x1c\x33\xad\x01\x34\xd1\x6e\x8d\x27\x42\x80\x58\x1b\x01\xcc\xa1\xd1\x3c\x69\x01\x20\xa1\x03\x21\x9e\x68\x25\xb2\x44\xea\xc4\xa9\x59\x2e\x88\x53\x12\x74\x20\x41\x14\xd7\xd8\x38\xa6\xea\x4d\x74\xa3\x06\xa2\x89\x78\xec\x2b\x38\x8d\xcc\x0b\xdb\xf2\x0e\xdd\x50\x33\xb5\xc8\x4d\x33\xcf\xe9\x20\x27\xf5\x0d\xbf\x46\x92\x3c\xa2\x2c\xe6\xf5\x83\x6f\x94\xfe\xe3\x18\x77\xdf\xdf\xca\x52\xa1\xc2\xf7\xd0\x0b\xfc\xc7\x86\xf6\xb0\xa5\xd8\x57\x64\x29\x82\xbb\xdf\xd5\x2b\x4c\xaa\xb0\xbf\xca\xd3\xa4\xf0\xfe\x13\x94\xad\xdd\xfe\x3e\x9a\xb4\xdb\xdb\x31\xa8\x52\xa7\x03\x3b\xdd\x71\xa5\x22\x04\x16\xa1\xeb\x4c\x4e\xba\x2c\x60\x2f\x6d\xf6\x4f\xe4\x94\xb0\x1c\x6d\x99\x38\xe4\xfa\xb9\xa3\x8c\x46\x30\xd3\x56\xa9\xd3\xd7\x5c\x36\x26\xf5\x19\xba\xc9\xe9\xa3\x19\x8e\xdd\x0f\x16\x81\x79\x0f\x68\x4d\x26\xfa\xd1\x1a\x74\xcd\x33\x4a\x30\xc3\xed\x60\xa0\xc1\x94\x67\x8d\xa3\x97\xd0\xce\x40\x9b\xcf\xe0\x35\x99\xe4\x7a\x7a\x08\x58\xf0\xc2\x97\x23\xd1\xd5\x86\x31\xe3\x6f\x9e\xd4\xa0\x52\x01\xda\xae\xd1\x54\x89\x7d\xa4\x56\x2a\xf6\x79\xb2\xaf\xdb\x70\x0e\x2d\x82\xf7\xe0\xd6\x22\x44\x24\xd7\x9f\x32\xd0\x70\xd4\x93\x31\x20\xcd\x38\x12\xc1\xed\x47\xba\x87\x99\xa8\x30\x80\x13\x93\x37\x4f\x9e\xbc\x79\x23\xfd\xf3\x78\x68\x91\xa5\x28\x99\x05\xb2\xb4\x90\x84\xf4\xea\xae\xee\x9e\xee\x3e\x0a\x1f\xba\xd4\xfa\x4d\x93\x1c\x73\xcd\x77\x4c\xa3\xa9\x69\x77\x98\xe7\x3a\x26\x6d\x02\xeb\x48\xa1\xc9\xe0\x04\x98\x29\xe5\x79\x69\xca\x2a\x46\x29\x84\x49\xf6\x24\x71\xbd\x99\x14\x8f\x98\x9e\x4b\xe2\xd2\x77\x4e\x5e\xbf\x7e\x32\x9a\xb4\x49\xb4\xab\x95\x92\xe9\x36\x4a\x55\x60\x3e\xbe\x75\x00\xaf\xf6\xbf\x3c\xb0\x88\xb3\xec\x49\x7b\xc4\x32\xf3\x19\xbb\x59\x70\xee\xdd\xd3\x29\x5c\xd6\xa4\x4d\x17\x7d\xf4\xa4\x88\x8a\x97\x24\x2f\x70\xea\xb4\xf8\xb8\x33\x06\xbc\x37\xe3\x11\xd2\x60\x72\xd3\x24\xf2\x12\xb5\xe4\xf1\x6b\xc5\xe3\xb9\x97\x38\x41\xc8\xac\x13\xe4\x55\x50\x96\xd0\x4c\x60\xa3\xd8\x00\x7d\xcf\x08\x51\x4c\x0f\x64\x61\x1e\xe5\x84\xf0\x7e\x94\x9f\x0c\x54\x57\x06\xeb\x8f\x6c\x02\x11\xf7\x69\x09\xf2\x66\xfd\x47\xd1\x9f\x30\x51\x22\x14\x8f\xec\x89\xa0\x0d\x45\x80\xdc\x6f\x45\xbd\x56\xbf\x1c\xa0\x88\x2d\xc8\x83\x1d\x9f\x08\xc7\x97\xc8\x31\x49\x60\xe1\x93\x7c\xd0\xf6\x12\xd8\x81\x8f\x9f\x80\x1d\x9d\x25\x41\xdd\xb6\xa0\xd5\xe7\xb3\x06\xb7\xe9\x82\x38\xf7\x86\xfe\x43\x92\xe7\x11\xae\x10\x44\x0b\x85\xc3\x80\xb9\xc6\x48\xe5\x52\x8d\x82\x2e\x4c\x1a\x34\x49\x9c\xe5\xd3\x66\xd8\xf1\x04\x4e\xf5\x0c\x48\xcd\x12\x52\x79\x9c\xea\x17\xf6\x13\xfb\x4b\x33\x82\x7b\x3e\x30\x50\x35\x6d\xb6\xeb\xf7\x68\xcb\xcd\x39\x76\x13\x9b\xb5\x79\xd1\xdf\xee\xe7\xd5\xbc\xa3\xcb\xf7\x25\xfa\xc3\x4d\xbb\x8a\x7c\x56\xce\xb5\x7a\x03\x30\xbf\x63\x51\x5b\x7d\x0b\xc2\xeb\xd0\xa3\x0f\xbf\xd1\x63\x76\x67\xbb\x15\xce\x2d\x0f\xee\x03\xf9\xb3\x8d\xbc\x33\xf7\xcd\x0b\xe1\xe7\x9b\xb2\xf8\xa5\x5e\x59\xae\xc1\x29\xb5\xcf\x56\xd8\xbf\x08\x1b\xb7\xe5\xa8\xa2\x56\x9f\xd4\xb3\x56\xe5\x03\xba\x42\xf3\xd0\x61\x85\x5c\xc0\xe5\xce\x91\x06\x1a\xab\x94\xd9\x13\x2e\x10\x06\x01\xd1\x97\x2d\xfe\x26\x3c\xa1\x86\x89\x5f\x36\x8e\xe6\x30\x8f\x1d\xc2\xa1\x04\x9f\xf0\x30\x14\x7a\xc7\x02\xcc\x88\xcd\xdb\xee\x42\xc7\x40\xa1\x05\x7d\x0a\xce\xe0\x30\xc8\x67\xde\x49\x3d\xed\x46\x53\x5d\xe8\x2b\x17\x28\x84\x83\x5d\x60\x9f\x0b\xe8\x5c\x78\xec\xe9\xf0\xef\x1a\x19\xc5\x5c\x4a\xa9\xf1\x0a\x4b\x3c\xda\x57\x52\x43\xa8\x51\xd4\x34\x6a\x3a\xb5\x18\x73\xa4\xdb\xa8\xeb\xa8\xdb\xa8\x83\x54\x2f\xf5\x2e\xf1\xb6\x45\x7a\xa9\x97\x18\x8d\x92\x19\x1b\x47\x71\x33\x92\xb6\xe5\x68\x83\x39\xe3\x3c\x20\x46\x76\x07\xbd\x85\xc4\xb6\x37\x61\x26\x8a\x38\xb1\x50\xa2\x04\xcf\xf6\xb4\x99\x33\xf8\x84\xf4\x28\xa6\xd9\xcf\x65\xb8\xd3\x8a\x3b\x38\x82\x73\x64\x80\xe7\x0c\x82\x67\x24\xe2\x22\xd9\x94\xb8\x30\x26\x46\x44\xbb\xf0\x32\x40\x93\x6c\xb2\x06\xf2\x44\x8c\x69\xee\x8f\x61\x7a\xd5\xc4\x73\xc5\x42\x0c\xf2\xb1\x78\xda\x18\x5f\xc0\x6f\x16\xa8\x3a\x92\x40\x09\x42\x0a\x5a\x8b\x49\x48\x95\x5c\xa6\x56\xab\x81\x4a\x66\x02\x39\x0a\xa5\x4a\xaa\x95\xaa\x80\x5c\x21\x91\xa9\x15\x32\xd9\x99\x2f\x0c\x06\xa8\x86\x3a\x1d\x54\x8f\xb3\xd9\xa0\x54\x66\x36\xcb\xa4\xc0\x76\xc4\x6a\x55\xc8\xa1\xd1\x08\xe5\x8a\xc9\x66\x33\x54\xaa\x8c\x46\x95\xb2\x0b\xc7\xd5\x12\x99\xc1\x20\x93\xa8\xc1\x06\xf4\x91\xd1\x28\xe7\xb4\x10\xf3\x4b\x5a\x4e\x3e\x99\xe7\x15\x52\x1c\xc2\x71\xa9\x62\x1a\x4e\x33\xf0\x38\xa2\x92\xca\x94\xe0\xca\x97\x35\x1a\x0d\x66\x09\xd4\x6a\x8d\x41\x33\x5d\xad\xd6\x9a\xb4\x40\xa9\x04\x5a\x93\xe6\x4f\x6a\xbd\x4d\x0f\x24\x12\x25\x94\xcb\x14\x52\x4e\x0d\x99\x59\x07\x96\xf5\xfd\x5b\xa5\x77\x8c\xee\x7a\x01\xb8\x74\xb1\xb2\x65\x07\xf6\x7f\x03\x15\x72\xb5\x5a\x9e\xfa\xe1\x1b\xb9\xaa\xe4\x18\x6c\xd6\x4a\x59\x56\xaa\x95\xa4\x9e\x05\x9f\x03\x39\xa7\x90\x71\x2a\xb0\x20\xb9\x4e\x26\x5b\x97\x94\x35\xbd\xf5\xba\x4c\xfe\xda\x5b\x32\x3c\x32\x3f\xff\xe1\x4b\x85\xe2\xcb\x1f\x94\x6c\xdf\xf7\x2a\xd5\xf7\x7d\x2a\xf7\x67\x3f\x6a\x65\xdc\x8f\x9f\x49\x64\xc8\x04\x17\xa2\xcd\x3f\x72\x0a\xfd\x8f\x60\xad\x5e\x31\x1c\xe5\x7d\x2f\x55\xf0\xdf\x83\x77\x79\x45\x16\x92\x7c\x6b\x34\x7e\x0b\x4e\xcb\x54\xaa\x94\x0e\x7e\x86\xe0\x57\x72\x8d\x5a\xf1\x15\x40\x0a\xb5\xda\x85\x0c\x5f\x28\xb4\x5a\xc5\x17\xe0\x0b\xa5\x56\x8b\xa4\xff\x54\xe9\xf5\xaa\x25\xcb\xe0\x5a\x5a\x23\xe3\x58\xa9\x3e\x75\xe3\xb2\xbb\xa0\x5e\x45\x6f\x32\xcb\xbd\xe8\x54\xaf\xe9\x00\x95\xc1\x27\xa0\x04\x1f\xc6\x76\x01\x81\x94\xa2\xb2\xfc\x09\x3c\xd5\x90\x1d\xfa\x2a\x60\xfa\xdf\x63\x8c\x00\x4e\x2d\x46\x4b\xe2\x90\x07\xef\x81\xbd\x2b\x8e\xa2\xdb\x50\x17\xba\xed\xe8\x0a\xb0\xf7\x57\xe2\x87\x41\x0f\x98\x76\x34\x13\x3f\x4a\x53\x63\x46\xdd\x27\xea\x63\xdc\x37\xaa\xef\xbe\x01\x11\x90\x33\x20\xc2\xe4\xe0\x53\x52\x8c\xe1\xd3\x80\xfd\x5c\x9e\xb2\x51\x3e\x6a\x32\x1e\x3b\x97\xe2\xb1\xb3\x15\xcf\x49\xbf\xdc\xaf\x33\x73\x3a\x0f\xf1\xa7\x2c\x28\x5b\x13\x11\x2e\x10\xa4\x65\x64\x13\x57\xc2\x19\xc5\x3d\x73\x0e\x0a\x7e\xfb\x88\x3d\x3b\x20\xd6\x21\x46\xb2\x07\x4b\x6c\x0e\x2a\x60\x44\xb0\xbf\xc7\xaf\x8d\x0f\x98\xb2\x50\x03\x20\x31\xe3\x49\x8e\x98\xbc\xc7\xf0\xbf\x90\x81\xa3\x49\xd1\x10\xb9\x8a\x84\x0d\xfa\xc8\x98\x2c\x61\x8f\x38\xc2\xfd\x00\xca\xc9\x70\x97\x63\x33\x58\x29\x57\xa2\x57\x94\x60\x3a\xb1\x35\x4b\x51\x10\x79\xa2\x15\xe5\x37\xb8\xb4\x6a\x08\x24\x75\x45\x97\xd7\x7c\x70\xff\x4d\xe3\x35\x2a\x0b\x60\xe5\x8c\x6c\xf2\x68\xb5\x0c\x96\x24\x1a\xfd\x16\x95\x4a\xe1\x36\x02\xb3\x52\x2f\x23\xc6\xf0\xca\x04\xb2\x97\x8c\x8e\x0e\x05\x1b\x34\x2a\xfc\x38\x02\x42\x85\x12\xac\xdd\xba\x13\x9a\xd8\x96\xa8\xbd\xd4\x05\x57\x58\x2e\x6d\x29\x52\x33\xcc\x66\x61\x8b\x2d\x03\xc3\x1c\x76\x34\xa2\x2b\x9c\x4a\x50\xa6\x3c\xad\x67\x28\x62\xd0\x76\x9a\x82\x23\x6c\x2e\xae\xd8\x84\x99\x2b\x00\x82\x61\x8f\xa5\x02\x9d\xe6\x94\x80\x91\xdb\xc2\xb3\xf3\x65\x1a\x08\x47\x77\x5f\xb1\xae\xe3\x96\x48\x58\x63\x2c\x94\x40\x9a\x75\xad\x19\xb4\x1f\xd9\x2d\x97\x87\xc7\xd1\xab\x73\x3a\xb9\x00\x1d\x66\x18\x80\xeb\x9a\x70\x7b\xa4\xe6\xc6\xed\x98\x28\x6e\x58\x38\x66\x51\xa9\xc2\xe2\x00\x80\x3a\xaf\x9f\x89\xdf\x68\xd4\x6f\xfb\x36\xbc\x91\x00\x1a\xe3\xd6\x8f\x45\xc9\xe6\x3a\x0e\x0b\x90\x7e\xb4\x44\x03\x7c\x25\x05\xc4\x35\x1b\x01\x56\x27\xb4\x9d\x0f\xb7\x38\x1d\x8d\xfd\x6a\x4b\xcf\x6d\xda\xbf\x2f\xc9\xd1\x90\xa1\x01\x4b\x27\xf7\xed\x6f\x42\xef\x76\x4e\x67\x21\x64\xf0\xd3\x4b\xe0\x75\x4b\xae\x83\x2c\x60\x18\x08\xd9\xe9\x9d\xbf\xa1\xd9\xe8\xe4\xfc\xd4\x7c\xf0\x89\xc1\xa6\x95\x5a\x68\xaf\x0c\xd9\xe1\xce\xf9\xf3\x51\xb3\xc1\x66\x24\xce\x76\xd9\x2c\x19\xf4\xa4\x3e\x92\xb9\x25\x46\xa3\xcd\x00\x9e\x98\xff\xcb\x76\x18\xf9\xdb\xda\x81\x98\x02\xf8\x08\xa8\x27\x91\x06\x43\x37\xf0\x91\x38\x2d\x36\x86\x00\xe1\x46\xc4\x0d\x85\x40\x88\xf3\xf4\xaf\x36\x02\xc8\x07\xd6\x61\xb3\x59\x39\x8b\x5f\x9a\x81\x2c\x47\xcf\x6f\x01\xbe\xc6\xde\x17\x1a\xd0\xa7\xcd\xb3\x19\x25\x8d\x7b\x17\x23\x51\xcc\x6b\x41\x1f\x36\x3e\xfb\xfc\x6f\x68\x86\xcf\xe6\xcd\xbb\x9d\xe3\xa5\x8c\x84\xe1\x64\xcc\xed\xf3\xe6\x01\x1d\xb0\xcd\x9f\xbf\x8f\xe3\x19\x1a\x5f\x47\xb9\x0f\xb7\xc9\xd7\xe8\x93\x8c\x8e\xcc\xc0\xf7\x2f\x15\x74\x81\x7f\x6b\x0b\x60\x8e\x52\xf4\xd3\x8d\x29\x0d\x82\xec\x08\x7c\x3a\x32\x72\x09\xd8\xe2\xaf\xbf\x73\x16\x18\x3c\xe9\xca\x96\x9c\x86\xe1\xcd\x35\x45\x1d\xe8\xba\x89\x80\x5d\xb1\xb2\xc4\x5d\x5a\xed\xfe\x6d\x2f\x78\xb7\xc6\x9c\xec\x18\xb1\xd2\xce\xcf\x4f\xfd\x09\x58\x80\x52\xef\xe9\x18\xef\xd6\x5c\xec\x9d\x72\xa8\xc8\x6f\x9c\x79\x74\x9e\x58\xc2\x0c\x18\x51\x5d\xca\xf0\xab\xaf\xc0\x24\xfb\xa8\x5e\xb2\xf9\xd1\xde\xd3\x8d\x69\xd2\xdf\xf0\xdc\xa0\x17\xf5\xf6\x92\x2a\xc9\x6e\x52\x85\x20\x67\x66\x9e\x35\xb3\x2f\x43\x9e\x37\x41\x35\x0b\x28\xeb\x31\x9f\x91\x8d\xf9\x9c\xe9\xb3\xf1\xd7\xdf\xc1\x47\xc0\xc5\x75\x40\xb0\x10\x16\xb4\xa0\xe3\x7c\x2c\x4a\x9c\x24\xc2\x34\x19\x0d\x93\x44\x49\x90\xfc\xe8\xca\xff\xf5\xed\x92\x49\x44\xc1\x6d\xf3\xa5\xd7\x7f\x78\xbd\xd4\x38\x3d\x39\xdc\xe4\x3d\x22\xf8\x7a\x63\x92\x03\xfe\xc0\xaf\xbd\x71\x32\x89\xa7\xb2\x77\xd0\x9d\x76\xeb\xc8\x85\x0b\x47\x5a\xed\x35\xa0\x35\x99\xb4\x21\x9b\xe0\x9f\xb1\x5f\xe7\x75\xc0\xb7\x2a\xa3\x5a\x04\x6d\xb6\xdf\xb4\x4e\x18\x33\x5e\x23\xfb\x1d\x37\x24\xe2\x04\xe8\x51\x1b\x12\x91\xd5\x4c\x5a\x01\x75\x25\x14\x21\x5e\x41\x0b\x00\x49\x31\x08\x29\xbf\xde\x39\x31\x91\x43\x7c\x47\x1e\xd8\x44\x18\x83\x4d\x07\xb4\xe0\x90\x9b\xdf\xb0\x41\x1b\x37\x18\x59\xdd\x8c\x19\x3a\xd6\xa8\x7f\xd6\x6e\x18\x3b\x56\x1f\x0f\x42\xbe\xa4\x84\x87\xbc\xe1\xb7\xcc\x4e\x05\x52\x53\xea\x04\x71\x25\x79\xb7\xb0\x6f\x7c\xb7\x26\x35\xd8\xb2\x0f\xec\xd9\x67\x94\xe8\x74\x31\xe3\x1a\xf4\xfc\x1a\x63\x4c\xab\xb9\xd1\x30\xa9\x6f\x12\x0f\xfd\x31\x43\xd9\x8d\x65\x86\x98\x5e\x77\x91\x3e\x1d\xfd\xad\xe3\xf4\xc2\xbd\x21\x36\xd3\x6a\x02\x1a\x66\x34\xf2\xeb\x4b\xa1\xe0\x85\x18\x09\x47\x7a\x01\x69\x16\xb5\x0c\xfd\x04\x64\xb2\xdf\xb4\x8e\xd1\xc9\x4c\x5d\x80\x8f\x10\xbf\x7f\x2f\x79\x7f\x20\xef\x04\x72\xd9\x45\xbe\x7f\x82\x1a\x46\xf0\x93\x7e\xd3\x9b\x55\x13\xdb\x51\x40\xb4\xdf\x89\x85\xa9\x60\xbe\xe2\x31\x71\xb4\xe0\xb7\x08\x10\x55\x77\x62\xbe\x88\xa9\x5c\x4c\x28\xf0\x62\x59\x92\x19\xfa\xf5\x8f\xdf\x25\xb5\x29\xa2\x0a\x5a\xfa\xc4\x13\x52\x1a\x07\x6c\xd2\xbf\xa9\xf1\xcb\xaa\xd5\x7f\xbb\x30\x1d\x2d\x57\x69\xe0\x55\xd0\xa4\xaa\x49\x9f\x7f\x53\x8b\xe0\x2b\x04\xf1\x95\xbe\xfb\x0e\x5f\x21\x88\xaf\x04\xf2\x79\xfc\x87\x8e\x5d\x98\x9e\x92\xe0\x2b\xd2\xe4\xd2\x72\x1c\xe8\xfb\x3d\x0e\x60\x9e\x27\x74\x76\x37\x7b\x1c\xb7\x17\xd1\xd0\xc5\xe4\x91\x04\x8a\x8e\x7d\xe4\x98\xeb\x31\xd9\x08\xed\x94\x08\xf6\x7b\x5c\xc7\x83\x80\xa8\x24\x0d\xdc\xee\x63\x8f\xcf\x9c\x5a\xf7\x87\x3b\x0a\xdb\x3b\x1c\x75\x73\x67\x2c\xed\x1a\x6b\x07\x76\xdb\xb8\x55\xab\x87\xdf\xbb\x7c\xfb\x1d\x6f\x1f\x7a\xf4\xb9\x72\xce\xda\x50\x51\xa7\x77\x97\x47\x62\xb5\x7f\xbc\xa3\x1a\xbe\xf4\xb2\xf9\x0a\xf4\xed\xed\xb6\xfc\x22\x5d\x6c\xc9\xb5\x1f\x03\x0e\x5c\xf2\xd6\x7b\x68\x37\xfa\xea\xe5\xae\x7b\xbf\x1c\x02\xc2\x87\x7b\x7f\x38\xd6\xbb\x6f\x3d\x60\x94\xa1\xac\xd9\x23\xc6\x76\x4e\x9f\xf0\xf4\x5f\xd2\x32\x7d\x4e\x9c\xd7\x24\x94\x1c\x73\x53\x7a\xcc\x99\x5a\x09\x36\x00\x0f\x74\x01\x36\x11\x92\x81\x40\x66\xc3\x19\xf3\x6e\x3a\x36\x80\x69\x14\x9d\x21\xed\x54\x8c\xb0\x24\x22\x0b\xfd\x57\x38\x01\x3d\x8a\x1e\xff\xfd\xef\xe9\x28\x0e\x7d\x87\x1e\x6d\x05\x5a\xbc\x78\x7d\x7d\x35\x68\x4b\xdd\xc5\xbc\xf9\x7b\xf4\x38\x50\xa5\xee\xa2\xa3\xde\xbe\x37\x8d\x79\xc6\xbe\x37\xbd\x5e\x3a\x8a\x03\x38\x01\x2c\x42\x97\x80\xd9\x1f\xf9\x37\x6c\xe8\x7b\x1f\xec\x38\xf4\xd1\xe5\x4f\x3c\xf1\xc4\xa4\x8f\xc0\x6c\x74\x09\xfa\x6a\x03\x80\xfe\x43\x60\x07\xba\x29\x37\xf5\x61\xb6\x39\xf5\xa1\x4a\x05\xbd\xe6\x6c\xe8\xcd\x36\x43\x2f\xa6\xe4\x3f\x34\x67\xf0\x5a\xf1\x8b\xb0\x2b\x71\xbf\x1c\x2b\xf6\x49\x61\xd7\xce\xe7\xc9\x85\x82\x84\xa3\x1f\xc0\x83\xe8\xdd\xeb\x71\x26\x10\x98\x67\xa2\xad\x90\xc1\x0b\x77\xb1\xd1\xf4\x2e\x1e\x97\xd1\x01\xf3\x79\x45\xaf\x5a\xd2\x45\x57\x7e\x71\x37\xa3\xa1\xcf\x0c\x06\x90\xbd\xef\x8b\x4b\x26\x2a\xf7\x2f\x9b\xd2\x3a\x0c\x84\x1e\x3b\x00\x2c\x77\x82\xd3\x6f\xdc\xb3\xf6\xca\xd9\xda\x1a\x65\x43\x6b\xa2\xb5\x35\x96\x37\xa2\xae\x6e\xe8\x88\xc5\x75\xab\xee\xbe\x67\xcd\xb5\xd3\x26\xd5\xb7\x94\xb4\x37\x97\xe5\x0e\xaf\xab\x1f\xda\xb1\xa8\x66\xf5\x7d\xb0\xaf\xe0\x95\xd5\xfb\x3f\x05\xf2\x7f\xde\x75\xc9\xd3\xf1\x50\xee\xd2\x3b\xca\x6f\x3e\x72\x3b\xfa\xe2\x4e\x89\x05\x7d\xbd\x7a\xfb\x74\xc3\x50\x75\x5d\x43\x3c\xd6\x98\xd3\xd8\xd1\xd1\x98\x73\xed\x8a\x55\xdb\xa7\x2e\xa8\xad\x8f\x96\x0d\x12\x13\xb6\x9d\x6f\x7f\x20\x62\x6f\x12\xab\x9a\x04\xe1\x3f\xce\x37\x1a\xf0\x67\xe1\x57\x89\x98\x13\x20\x11\x2c\x49\x84\x24\x5a\x2a\x0b\x1f\xbd\x21\x4e\x9f\x15\x17\x7c\xcb\xb2\x66\x3c\x01\x73\x26\x03\x7c\xed\x97\xaa\xff\xb0\x17\x6d\xbe\xff\xf9\x8e\xfb\x3a\x9e\x3f\xf3\xcd\xf3\x0e\xc7\xf3\x9d\xb0\x1e\xac\x15\x13\x5e\x4b\xbb\x8a\xa5\x67\x3c\xdf\xd9\xf9\xbc\x43\x42\x5d\x44\x53\x58\xdd\x49\x2a\xe1\xaa\xa4\xc2\xfd\x68\x73\xea\x39\x21\x01\x04\x3f\x16\x2b\x4b\x9f\xbf\x5f\xbc\x9c\xb0\x5f\x93\x25\x39\xc1\xfe\x85\xa0\x40\x80\x73\x0a\x4e\x7a\xa2\xcc\x4f\x11\x7c\x82\xac\x6a\xb2\xe5\x1f\x8a\x99\x18\xbd\xe4\xc4\x95\xff\x44\xbd\xa8\x07\xf5\xfe\xf3\xca\xe7\x41\xfb\xd1\x0f\xd0\x07\x69\xbf\xb6\xb3\xd0\x07\x1f\x1c\x05\xed\xcf\xc3\xe4\xc3\x24\xf3\xca\x7f\x82\xda\x87\xff\x04\x96\x7e\xed\x3e\x99\x8f\x7a\xfe\xb1\x51\x74\x63\xbb\xf1\x1f\xa0\x2b\xff\xa4\xfb\x6b\xb4\x8d\xe8\x84\xf3\x78\x3e\xfb\x37\x6e\xc3\xe9\xb8\xa7\xc7\xf5\x89\x48\x31\x1e\x85\x8c\xa0\x4c\x22\x18\xb0\x03\x62\xe6\x4e\x36\x35\x13\xc4\x7c\x23\x2e\x68\x03\x11\x82\x91\x64\x0a\x01\xb5\x60\x15\x2f\x1a\xbb\x17\x30\x98\xeb\x89\x9a\x8a\x5d\x52\xb3\x3e\xad\x5b\xce\x4b\xff\xfa\x12\x0b\xa4\xe1\xda\x52\x0f\x3b\x74\x48\x64\x4e\x6b\xb5\x56\x1b\x72\x68\xec\x2a\xb5\x3c\x3b\x3f\x47\xad\x9a\x13\x6a\x33\xf0\x20\x64\x34\xdc\xde\xe3\x09\xd1\x8c\x69\xb8\xc3\x31\x3b\xaf\x83\xe7\xdd\x5e\x43\xa1\x67\xfc\x88\xc1\x26\x63\xe5\x50\x0b\x93\x95\x53\x9c\xad\x56\xa9\x39\x79\x38\x7f\x78\x71\x63\x6e\x91\x83\x07\xf4\x87\xe8\x92\xb3\x87\xd1\xa1\xcf\xb7\xc0\x5d\xc7\xc1\x6a\x3c\x42\xa4\xd1\x59\x2b\xf6\xec\x3c\x30\x38\x12\xd2\xba\x75\xda\xe8\xa6\x25\x33\x5c\x4e\x6b\xb1\xc7\x26\x91\x2c\xd5\x35\xd9\xec\x45\x8b\xb2\xdc\x4f\x3e\x5e\xb0\xd8\xeb\x09\x0c\xd6\xe9\x96\xaa\x87\x38\x9d\xa5\xb7\x1c\xae\xcd\x77\x1b\x3c\x3a\x6d\x6c\xed\x8a\xb5\xdd\xb3\x47\x56\xe9\x74\x2a\xda\xe9\xad\x8f\xb4\x37\xcf\x9a\xb3\x71\x30\x4a\xa1\x19\xff\xb8\xf1\x67\xd0\x21\xd2\x3d\x42\x5f\x53\x62\x3e\x37\x4c\xb5\x53\x93\xa8\x05\xd4\x2a\xea\x4a\xea\x26\xe2\x6f\x23\xe8\x27\x9e\x13\xf0\x7f\xcc\xd4\x71\xf8\x18\xd4\x26\xcc\x12\x8e\xa8\x5d\x13\x2b\x46\x2e\x16\x4f\x84\xe2\x09\x73\x9c\xe6\x88\x21\x97\x84\xa8\xee\x98\x71\x17\x4c\x04\x43\x44\x6b\x9b\x74\x4b\x92\x8b\x8f\x11\x7c\x01\x7c\x19\x3c\x51\xa6\x8b\x85\xe2\x7e\x4a\x8b\x8f\xa2\xee\x25\xae\x90\x20\x55\x84\x5a\xa4\x2b\x50\x03\x8c\x61\x18\xd1\x38\xe6\x3c\x35\x78\x7a\xde\xdb\xe8\xb6\x79\xe5\x00\x00\x40\xff\xbf\xce\xbc\xba\x1b\xdf\xd7\xd5\xa5\xfe\x36\xd2\x64\x2f\x9b\x36\xad\xcc\xc5\x77\xf8\x58\x69\xf9\x3c\x74\xdb\xdb\xa5\x75\xba\xf7\x6f\xac\xcb\x5b\xfd\xa9\x5a\xfd\x2f\x77\xc3\xe1\xb2\xce\xa2\x92\x89\x25\x45\x9d\x65\x87\x1b\xdc\xff\x52\xab\x3f\xf5\xd4\x1f\xae\x18\x57\x94\xb7\x20\xaf\x68\x5c\xc5\xe1\x7a\x94\x53\x57\x4a\x8a\x07\x7d\x65\xf3\x40\x17\xa3\x9d\x56\x66\x37\x8d\xf4\xfb\x3a\x78\x57\x99\xa9\xcc\x17\x24\x37\x29\xad\x7b\x07\x74\x01\xd5\xd6\x93\xe8\x45\x74\x00\xbd\x78\x72\xeb\xd6\x93\xa0\x12\x74\x82\xca\x93\x8f\x5d\x64\x80\xcc\xaa\x97\xbc\x75\xd0\x5b\x1c\x29\xbb\x27\x6f\x8c\x12\xea\x1c\x95\x25\x9e\x43\xe0\xe6\x43\x9e\xd2\x52\xc7\x8c\xee\x85\xe8\x5f\xde\x83\x6f\x49\xea\x81\x72\x4c\xde\x3d\x65\x11\x38\xa1\x3d\x67\x4c\x4e\xfb\xc4\xd6\x3b\x1a\xf4\xdf\xc8\xe5\xdf\xe8\x1b\xee\x68\x9d\x28\x24\x4d\x6a\xb9\xa3\x51\xff\xb5\x5c\xfe\xb5\xbe\xf1\x8e\x16\x18\xac\x87\x8a\x31\x39\xf7\x96\xe6\x94\x7a\x0e\xbe\x95\xba\x1f\xcd\x3a\xe4\x29\xa9\x74\xcc\x5e\xd8\x3d\xc3\x51\x5a\xea\x09\x7a\x70\xc6\xbd\x39\x63\x14\x10\xdf\x1a\xaf\x9d\xe4\xc9\xb6\x0e\x7c\x5a\xb8\xef\x62\xda\xf9\xe7\x64\x59\x1c\xa5\xc5\x54\xdf\x20\x6a\x2e\xb5\x94\x68\x37\x06\x0c\x44\x4a\x1c\x8d\xd0\xe9\xb3\x29\x11\x93\xf8\x32\x6a\xf7\x46\x82\xfe\x4f\x0e\x04\x5e\x84\xb0\x1d\x64\x1a\x16\x38\x90\x50\x9c\x8f\x0a\xab\x86\x8f\xd0\x37\x6c\x4c\xc4\x8d\x8f\x98\xa2\x31\x1f\x49\x23\x6e\x05\xc8\xf4\x1b\x35\xfa\x70\x65\x5a\x10\x1e\x89\x82\x98\xf8\x85\x2e\x50\x61\xd3\xa4\xf9\xd3\x66\xf9\x9b\x5b\x5b\xfd\xc1\x03\x6d\x65\x91\xca\x31\xcb\x2b\xf2\x82\xd9\x8b\xc3\x8d\x2d\xb9\x27\xba\xda\xec\xc5\xc5\xad\x9d\xf2\xc0\xe0\x2b\x21\xbc\x92\x06\xa7\x5d\x78\x9a\x97\xf9\x64\x73\xe9\x6b\x98\x4a\x3f\xa0\xb5\x98\x7b\xd3\xbb\x4b\x83\xb5\xe8\xd5\xa2\x21\xc5\x91\xa6\x62\x38\x63\xa0\x48\xec\x64\x7d\x4d\x2d\xd8\x39\x7a\x54\x67\x34\x70\x99\xd3\xb9\x64\x4c\x64\x8e\x86\xd6\x35\xc6\x2c\x74\x60\x56\x7e\x83\x4f\x7b\xa4\xa1\x56\xcd\xba\x2d\x79\x52\xcd\x25\xc3\x2d\x0e\x19\x9a\x6a\x4f\x80\x4d\x05\x66\x73\x11\x5a\x19\x91\xad\x32\x76\x7c\x0c\x97\x75\x18\x2c\xee\xc2\x65\x34\x80\xc7\x03\xf1\x8a\xa0\x05\xbe\xe7\x4f\xc4\x03\xfe\x58\x7c\xe4\x05\x18\xaf\x12\xaa\x11\xcf\x43\x47\x04\x0c\x6c\xad\xb0\x87\xb9\x80\x5a\x41\xbc\x7a\xf8\xbc\xc4\xbf\x02\x4d\x56\x24\x12\x20\x23\x43\xf0\xa4\x2e\x20\xb3\xb0\x46\xad\xc7\x2b\xa8\x26\xc7\x08\xf3\x10\x4b\xcb\xf1\xcd\x11\xe0\x23\x5a\xf5\xa1\x28\x51\xb5\x0f\x18\x05\x54\xab\x98\x2e\x1a\xf3\x0a\x88\xfd\x04\x9e\x1f\xe7\x44\x8d\xc4\x55\x98\xce\x90\xd6\xfc\x16\xd7\x3f\x38\xf2\xae\xdb\x0e\xee\xae\xa8\xac\x58\xbb\x76\x05\x50\xf9\x73\xb5\x3b\xd6\x86\x43\xf9\x83\xc7\x8c\x19\x9c\x8f\x76\x0e\x5a\x7d\x49\xdd\x13\x0d\x35\x43\xa6\x3c\x77\x4d\x57\xc7\x34\xf0\xc4\x87\x0c\xf3\x21\x03\x27\x0d\x9e\x5d\xdd\x19\x71\x4a\x21\x67\x91\x18\x83\x5d\x92\xbf\x4b\xee\xd7\x94\xa9\x47\x8f\xad\x4a\x7d\xdd\x56\x56\xde\x3e\xbc\xa2\xdc\x34\x63\xce\x4c\x7a\x62\x55\xc7\xf5\x5b\xc1\x9b\xaf\x29\xe5\xb9\xd9\xeb\x1f\x33\x4b\x83\x21\x77\xb6\xd9\xe8\xca\x1f\x59\x86\xde\xb6\x96\xcd\x6f\xbe\xab\x92\xc9\x1e\xbd\xd0\xc1\x58\xee\x1d\x71\xf5\xe1\xc2\xbe\xe7\xf2\xc7\xc3\xa9\x93\xbd\x9e\x09\xa9\x5b\xc6\x3f\xf2\x62\x28\x5c\xd9\x35\xae\x02\x4c\x61\xa0\xe4\xb9\x96\xb8\x2f\x7b\xed\x73\x0c\xba\x61\x13\xa3\xbe\x74\xec\xd8\xf2\x8a\x71\xd4\x2f\xfc\x52\xcb\x80\x8f\xc6\x93\x07\xed\x03\xba\xe8\x2f\xec\x3d\xb2\x81\xbc\xfb\x56\x8b\x21\xe7\x96\x95\x80\x9b\x09\xff\x72\x9e\x52\xba\x01\x7c\x87\xbb\x42\xde\x44\x50\x8a\x78\x74\x84\xbe\xea\x7c\xdf\xb3\x65\x67\x29\xe6\x15\xfc\x8d\x9c\x02\x56\x90\x08\x0e\xc6\x41\x22\x01\x23\xdb\x5e\x41\x11\xb9\x91\x98\xa4\x10\x0b\x71\x01\x1b\x46\x80\x9d\x24\xda\xbb\x22\xb0\x10\xd9\x64\x16\xc0\x8f\x89\x62\x05\x26\x42\xe8\xe6\x25\xc3\x2b\xa3\xd5\xb1\x9f\xf2\x81\xdd\xc8\xe2\x61\xa2\x36\x06\x9b\x1a\xc3\x55\x83\xb5\x8b\x7b\xc0\xbf\xf7\xa2\xef\x6e\xab\x6d\x30\x9a\x59\xd6\x6f\x8c\x96\x4d\x7d\x34\xd9\xd2\x92\x7c\xf4\x79\x7c\x2a\x91\xab\x82\xd9\xf2\xda\x49\x7b\xff\xba\xfc\x36\xa0\x62\x0c\x3d\x8b\x7d\x0d\xc3\xd1\x36\x64\x31\x79\xa0\xdd\xb0\xee\xbb\xdf\x3d\xbe\xb1\xb2\x73\x98\x2f\xa7\x7d\x71\x01\x1e\xd8\xdf\xef\x55\xb3\x01\x7c\x67\x46\x95\xae\x8e\x4f\x53\x97\xcc\x31\x84\x0d\x6a\x7e\xcd\xf6\x15\x7f\xdd\x3b\x71\x2f\x5e\x07\xf5\xe9\x75\x90\x20\x35\xa7\x15\x65\x13\x04\x5a\x84\x58\x6e\x4b\xdc\x44\x6b\x9d\x8c\x63\x60\x4c\x53\x55\x04\x85\xd2\xc7\x11\x78\x4d\xb3\x88\xd6\x94\x76\x29\x23\x28\xda\xe2\xde\x26\x3a\x96\x21\xfb\xe9\x02\x50\x0c\x11\x55\x88\x8d\x14\xd3\x02\xb5\xd4\xa4\x02\x3a\xf5\xe1\xcb\xae\x3e\xbc\x65\x4b\x71\x47\x65\xc4\xeb\x36\x28\x41\x42\x4f\x33\xad\x63\x43\x7e\x99\x51\x67\x54\x68\x01\x26\xb2\x2a\x86\x1a\x46\x26\xa4\x90\x61\x6b\xff\x1d\x5b\x3a\xa2\x56\x23\x55\xd7\x4a\xb3\x1f\xe8\xf0\x35\x2e\x1f\x55\x67\x70\x2b\x2a\x0c\x8c\x1c\xc2\xa2\x95\x2a\x96\x91\xea\x87\x66\x03\x86\xa1\xcd\xf0\x3d\xde\x63\x28\xd7\x9a\xaa\x95\x57\x83\xdc\xca\xfa\x84\x31\x5e\xde\xd6\x34\xbd\xbd\x9c\x1d\xd9\xa0\x2e\x51\x02\x96\x05\x4b\xfe\xb0\x20\x77\x89\xc6\x90\x65\x74\x43\xc0\xdc\x3c\xc8\x10\x28\xc8\x61\x2c\x92\xa9\x7a\x13\xcf\x42\x06\x80\xfc\x30\xad\xb1\xc5\x03\xe1\x90\x13\x9a\x00\x84\x90\x56\x3c\x5b\x4d\x1b\xb2\x1b\x18\x19\x88\x17\x00\x3e\x43\x77\x55\x63\x3a\xf3\x79\x01\x27\xdc\x83\x69\xe4\xa1\x02\x86\xec\x39\xa2\x7d\xa0\xa8\x1b\x5e\x3c\x19\xe0\x20\x43\xfa\x83\x30\x38\x43\x5c\xc2\x4f\x50\x45\x08\xb2\x1c\xd1\x5e\x31\x8b\xa0\x73\x5a\x81\x52\x35\xc1\xc6\x48\x76\x6e\x7d\x7d\x6e\x36\x6d\x8d\x86\xed\xf9\xf9\xf6\x70\xf4\x8b\x62\x31\x05\x1e\x2c\x09\x91\x94\x50\x09\xfa\xd1\x1d\xba\x17\x9d\xbc\xd3\xec\xf3\xd8\x8a\xaa\xed\x1d\xb2\xd4\x10\xf4\xe1\x0b\xa0\xf5\xa5\x87\x41\xd9\x31\xb8\xe8\xca\x65\x89\x57\x76\x35\x92\x02\x77\x02\xc7\xbd\xb7\x03\xc7\xfd\x8c\xbc\x23\x12\x0d\x87\xa2\x68\x8a\x23\x2f\xdf\xee\xc8\xcf\x03\x5f\x5d\x98\x70\x1f\x73\x33\x3a\xb5\xb7\xad\x99\xa6\xe5\x8c\x0e\xae\x7f\xef\x75\xe0\xbe\x17\x38\xee\xdc\xfc\x69\xaa\x66\xd9\x9f\xc6\x3e\xbe\x30\xb0\xed\x5b\xe0\xfa\x76\xdb\xb6\xef\x44\xfc\x12\xc9\x59\xdc\x34\xae\xb4\xaf\x61\x81\x67\x0d\xd0\x22\x44\x52\x0c\xf3\x0c\x04\x39\x4b\xc0\x76\x90\x9c\xf4\x48\xce\x52\xac\x5d\xad\x53\xa8\x50\xc5\xb7\x7a\xb7\x4a\xc6\x9b\xe9\xae\x33\xc7\xd0\xb2\x00\x0d\xbd\x92\xa4\x06\xaf\x08\x3f\x58\xc2\xa7\x29\xa7\x56\xca\x1e\x46\xc7\xcd\x0c\xe7\x31\x80\x49\x8c\xaf\x6f\xfa\x1d\xea\xec\x30\x4f\xf7\xca\xce\xe1\x25\x9c\x65\x7f\xc2\x9c\x68\xd6\x79\x77\x05\x99\xbb\xa6\xef\x09\x78\xc0\xca\xc0\xc0\xfb\xa6\xbe\x41\x7f\xd6\x3b\xd5\x32\xde\x84\xc2\x01\x9a\xf6\x49\x92\x3e\xf4\xfa\x07\xa7\x67\x81\x76\x7a\x0a\xf2\x9e\xbb\xfb\x5f\xd0\x61\xa3\x70\xf7\x17\x7f\xaf\xce\x0e\x19\xe8\x5e\xe3\x69\x35\x9b\xdb\xf7\xd2\x95\x70\x7d\xdf\xdf\xcf\x9b\x77\x4a\x84\x39\x81\xd0\x1f\xf8\xcb\x89\xbc\x6c\xd4\x94\x56\xdd\x17\x34\xfa\xf1\x57\x35\x71\x99\x99\x48\x80\x0b\x16\x3e\x2e\x7b\xbe\x43\x5b\xd1\x7c\x5f\x42\xad\x3e\x8a\x4e\xee\x3d\x88\x5e\x5b\xc8\x01\xe9\x95\x72\x8d\x96\x1b\xfa\xee\x8a\x39\xcf\x5e\x35\x62\xc4\x55\xcf\xce\x99\x76\xa8\xe9\x4a\xe2\x8e\x1a\xd5\xda\x82\xe1\x90\x6b\xe3\x7c\xc0\xdf\xb0\x17\x38\x8e\xa6\x4e\x67\x94\xf7\x4e\x08\x4a\x68\xb4\x03\xbd\x4a\xb0\xb9\xae\xdf\x2c\xb7\x4a\xaf\x92\x41\xf9\x94\x39\xb8\xfa\xdb\xf8\x2a\x83\xeb\xaf\x72\x85\xc2\x44\x97\x90\x78\xe6\xde\x30\x73\xd1\xea\xa3\x7b\x50\xbf\x36\x5f\x57\x46\x7f\xed\x9c\xfe\x8a\x9d\xf0\x15\x6a\xa8\x15\xe8\x70\x6d\x01\x38\xcf\x9a\x6c\x23\xea\x13\x29\x6b\x81\x04\x9f\x75\x3f\xb8\xfe\x02\xc1\x21\x4b\xe1\xcc\x81\x85\xd0\x93\xbf\x90\x0d\x56\xe3\x7b\x3d\x8f\xef\xb5\x05\xd3\x93\x69\xed\x33\x61\x96\xc4\x33\x08\x11\xd3\x09\x60\x84\x46\xda\x60\x76\xd1\x69\xae\x6e\x60\x89\x10\x6e\x37\x82\x3c\x0c\x32\x6e\x9f\xf0\x08\x13\xb8\x37\xa2\x75\x6e\xe4\x89\x68\xcf\x43\xe6\x22\xbe\x24\x54\x00\x2f\x5e\x42\xb8\xae\x64\x47\xde\x23\xf9\x79\x0f\xe7\x59\x6c\xde\xbc\x72\xad\x07\x00\x55\x20\x35\x29\xa8\x02\x20\xa0\xad\x8d\x84\xad\x96\xc2\xc3\x05\xb9\xf7\xe5\x98\xad\xee\xec\xb8\xc6\x43\xb0\x2f\x59\xa9\x5a\xa6\xa9\x2c\xf0\x5b\x2c\x05\x87\x0b\x72\xee\xcd\xb1\x5a\xbd\xb9\xa5\x1a\x1f\xae\x68\x83\xcf\x58\x71\x45\x9f\x7e\x44\xd4\x6a\xc5\x97\xcc\x3d\x98\x6b\xb5\xfa\xf2\xcb\x71\xa6\x57\x5b\x59\xe8\xb7\x24\x39\x2e\xdb\xea\x76\x31\x72\xb9\x71\x05\xd8\x6a\x94\x33\x8c\xdc\x88\xb6\x6d\x37\xc9\x25\xc0\xe9\xb6\xe5\x71\x5c\x8e\xc5\xe5\x62\xe5\x72\xf3\xca\x32\x3a\x9f\x2e\xb0\x47\xbc\x21\x8b\x44\xce\x38\x84\xbc\x3c\x9b\xcb\x0e\x25\x72\xe3\xd5\xa8\xd7\xa8\xa0\x69\x85\x11\xd4\x5e\x8d\x03\xe6\x60\x3a\xd3\x01\x58\xb9\xf9\xaa\xbe\x11\x2b\x8c\x72\x0e\x3a\x5d\xb6\x3c\x01\x63\xc8\x72\x36\xc9\x20\xdc\xc6\x79\x69\xfc\x08\xc1\xfc\xe4\x9c\x82\xb6\xaf\x3f\x44\x94\xef\x45\x3b\xe1\x78\x36\xc1\xbb\x40\x01\x4b\x84\xb1\x49\x68\xbf\x75\x81\xd5\x7f\xad\xcf\xb6\xc0\xe6\xbb\x61\xda\xba\xfa\xda\x71\xe3\x56\x2d\x02\x11\xf0\x91\xd5\xcf\x36\x0c\x75\xd6\x02\x89\x55\x11\x3b\x93\xb4\xfa\xfd\x56\xe6\xf9\x33\xd5\xe4\x0c\xbe\x56\x16\x96\xaf\x5a\xb6\xfd\xc0\xca\xe5\xd9\x01\xbf\xc0\x47\x90\x3e\x45\x0d\xf0\x3b\x42\x34\x88\x1b\xa8\xc1\x98\xda\x31\x7a\x62\x81\x5f\x68\x0a\x7b\x62\xbc\xd1\x17\x23\x67\xfa\xc2\xbc\x0b\xf7\xca\x70\x39\xe2\xa6\x12\x74\xa1\x1e\x28\xb8\xd7\x4a\xe3\xba\xf5\xf4\xf5\x9c\x38\x21\xa1\x52\x59\x27\xce\x25\xd2\xc9\x73\x61\x58\x7b\xe2\x44\x5f\x0f\xd9\x21\x1d\x00\x22\x17\x04\x38\x0e\xa9\x64\xb2\x0f\xff\x98\xf3\x72\x10\x35\x30\x96\x2e\x26\xca\xb7\xd3\xbe\xe9\x89\x36\x05\xf1\x1e\x82\xdb\x90\xe0\xec\xe1\x99\x1c\xaf\xa3\x01\xd2\x39\xb3\x70\x3a\x9e\x9d\x58\xcc\x09\xb1\x71\xa6\x77\xcb\x33\xcf\xa0\x1f\x9f\x81\x68\xcf\xc4\x75\x38\xb8\x65\xdd\x44\x30\x07\x12\xb8\x37\x12\x44\x7b\x20\x04\x73\x26\x42\x8a\x14\x79\x66\x8b\xd2\x74\x68\x0c\xc9\x1a\x73\xc8\xa4\x14\xab\xe1\x90\x05\x27\x9e\x37\x56\x03\x54\x8c\xa2\xfc\xa2\x0d\x6c\x1c\xb3\x4c\xa6\xa8\xb8\x95\x8c\x97\x1a\x2e\xe3\x1c\x2f\x21\x18\xc4\xfe\xc2\x94\x8f\xa5\x2e\x1b\x37\xaa\xea\x1b\x08\xbf\xa9\x1a\x35\xee\xb2\xcb\x1e\x5e\x07\xbf\xa9\x1e\x89\x03\xe3\x46\x56\x7f\x03\xd7\x3d\x0c\x2e\x1b\x48\x2a\xa5\x1e\x5e\x57\xbe\x52\xab\xd6\xae\x2c\x5f\xf7\x30\x2e\xc2\x69\x57\x96\x5d\xf6\xf0\x65\x65\x2b\xb5\xdc\xb8\xcb\xe8\x13\x03\xe9\x26\xae\x9f\x77\xd4\xe1\x6f\x5d\x4d\xb5\x50\xe3\xa8\x19\x98\x7b\xa0\x28\x61\xdb\x57\xd8\xe1\x15\x04\x13\x89\x38\x30\x13\x9c\x3d\x8d\x80\x80\x70\x8e\x91\x8b\x12\x5c\xf5\x88\x1b\xf0\xc2\xe6\x71\x5a\x6b\xd6\x84\x97\xce\x81\xb1\xb8\xd8\x77\x85\xf9\x33\x94\x56\x5d\x11\xa4\xea\x22\xb6\x4b\x89\x08\x8d\x66\x80\x83\x0c\x45\xd6\x05\x07\xf2\xe4\x06\xab\x4a\x91\xa3\xf7\x6e\x18\x65\xa5\x9f\x2a\xf8\xbe\x91\xe7\x6b\xc7\x13\xdc\x54\xf4\x37\x02\xcb\x2a\xc0\xa9\x3e\x71\x7b\x2d\x1f\xe3\x1b\xcf\xc8\x95\x2a\xf9\x04\x99\x4c\x6e\x93\x77\xca\xdf\x57\x58\x14\x9d\x72\xb9\xcc\x2e\x9b\x20\xcb\xd2\xab\x05\xe0\x93\x2e\xf5\x83\x7a\x87\x1e\xff\xdf\x3d\x81\x14\x95\xe3\x62\x36\xb9\x8c\xbe\x39\x62\x90\xe7\x1d\x58\x60\x2d\x92\xb3\xe1\x51\x1b\xbc\x0a\xf0\x40\xc1\x77\x8d\xf8\x82\xb5\xb7\x3f\x71\x6d\xe6\x1e\xc0\x45\x70\x5f\xc7\xd7\xf2\x7c\x23\xc8\x4b\x57\xc4\x57\xb6\x7f\x25\x1c\x65\x42\xca\x33\xc2\xb5\x7b\xd2\xb7\xd2\xeb\x07\x65\xee\x8f\x9f\x28\x8d\x4b\x40\xda\x96\xa1\x0c\xe4\xcb\x83\x00\x4b\x7b\xe0\x05\x5b\x40\x20\x4e\xcc\x80\x79\x73\x30\x64\x66\x03\x09\x09\x97\xe0\x89\x51\xb0\x39\xc1\xf2\x9c\x29\x92\x08\xf1\x01\x38\x15\xb8\x81\x7b\x21\xba\x95\xfd\xe5\x1e\x10\xb3\x70\xe7\xac\xaf\x6b\x2e\xdf\xf5\x55\x0c\x7d\x8c\x3e\x8e\x7d\xb5\x6b\x6b\xf5\xd7\xb3\x76\xba\x40\xd3\xd5\x97\x2e\xfb\x71\xd9\xa5\x57\x83\x26\xf8\xf6\xdb\x6f\xa3\x87\x99\xe4\x45\x18\xdc\x33\x43\x5e\x3f\x43\x8f\x3f\x01\x1a\x94\x47\x5b\xd6\xee\xdb\xb7\xb6\xe5\xa8\x12\x3d\x7b\x62\x3c\x7d\xe6\xf5\xcd\x61\xf4\xe7\x41\xa1\xd0\x20\x90\x13\xa6\x04\xdf\x75\x69\xff\xd0\x19\x9b\x82\xa1\x82\xd7\x10\xb2\xc3\x70\x07\xf5\x28\x75\x84\xcc\x0e\x19\xcf\xd5\x69\x57\xee\x17\xc4\xc1\xaf\xe4\x07\x32\x4a\x4d\xbe\x5f\x2b\xf9\xeb\xf9\x9e\x58\x09\xcb\x08\xc0\x0e\xd5\x0c\x5e\x01\x5d\x8c\xee\x82\x22\xba\x7e\xc7\xa1\x40\xf4\x12\x29\xba\x8a\x3c\x17\x84\xb5\x17\x4d\x4e\x3d\xef\x08\x42\x18\xb4\xc3\xb3\xff\x4d\x2d\x90\x4c\x21\xb4\x11\x6d\x4c\x21\x5d\xb4\x7d\xdb\x63\x40\x05\xaa\x81\xf2\xd0\xb6\xf6\xa8\xee\x5c\x99\xa0\x1d\x25\xed\xc1\x13\xfd\x3a\xf0\x03\xbc\x8b\xa2\x25\x17\x4b\xdd\x11\xb4\x6f\xd8\x60\x0f\xa6\xfe\x8b\x2a\xe0\x2a\x95\x7c\x0e\x04\x33\xe5\x2a\x5d\x49\xcb\xb0\xd6\xf2\x40\xa0\xbc\x75\x58\x4b\x09\x1a\x7b\xae\xc4\x28\x7c\x49\x7c\xe1\x7e\xb9\x5f\x1a\x17\xc1\x20\x68\xef\x94\xa5\x71\xc0\xfa\xe7\x25\x9e\x20\x1a\x11\x41\x5f\x26\x41\x10\x25\x44\xcc\xa0\x1f\xda\x8d\xed\x0f\xc1\xde\xa0\x2d\x68\x43\x78\x42\x3e\xc5\x59\xe0\xbf\x08\xbc\xad\x18\xc5\x33\xf9\x3d\x16\xae\xef\x38\x81\x3a\x02\x59\x04\xec\x37\x13\x62\x7a\x53\x38\x3f\x25\x2c\x15\x90\xa2\xe7\x9a\x53\xb5\xb0\xb7\x2f\x89\xd2\x8b\x02\x5e\x24\x28\x33\x48\xa4\xdd\x9d\x93\xa3\x48\xe7\x0a\xcf\xec\x24\x14\xa7\x81\x23\xda\x42\x4c\x08\xe0\x05\x2a\xa8\xaf\x01\x66\x40\x04\x91\x9c\x70\x96\xfc\x4f\x20\x80\x16\xed\xea\xb9\x13\x55\x1c\x46\xbb\x1e\x07\xf3\xd6\x16\xde\xd9\xb3\x0b\x5c\x17\x9c\xd7\x1c\x40\xdd\x9f\x81\xeb\x83\xf3\x98\x8a\xe0\xdc\x20\xea\xc6\x65\x0a\xd7\x0a\x45\x0e\x83\x97\x48\x99\xeb\x03\xcd\xf3\x71\xdd\xcf\xc0\x75\x01\x41\xf6\x6f\x3d\xab\x94\xfc\x53\xf0\xdb\x67\xa4\xca\x05\xaf\x44\x03\x51\x10\x2e\xe2\xeb\xd2\xc5\x62\xea\x26\x2e\xc0\x7b\xc6\xcd\x11\x17\xac\x66\xf1\xa8\xd7\x8b\xd6\x77\x09\x5a\x10\xfb\xa7\xfd\x25\xf0\x82\xf3\x05\x17\x30\xa7\xd7\x00\xa3\x2e\x11\x37\xd1\x73\xd7\x3f\xba\x1e\xff\x07\x3f\xae\xeb\x1c\xbf\x7e\xfd\xf8\xce\x75\x1f\xd7\x0e\x3f\x73\xcf\xc8\x8a\xdc\x09\x83\x27\x44\xc7\x3b\x46\xc3\x46\xbb\x84\xb1\xf9\xb8\x45\x6c\x8d\xb9\x31\x38\x38\x3a\xb4\xaa\xf9\xe5\x55\x67\x46\xcd\xaf\x5f\x36\xa7\x6d\x0c\x03\xa4\x1e\x0e\x30\x63\x87\xcf\x59\x56\x37\x77\xe4\x99\x55\xd6\x9c\x10\xa3\xa1\x27\x37\x30\x9f\x36\x4c\x36\x86\x72\x68\xc7\xc8\x15\x2b\x46\x8e\x5a\xbe\x7c\x54\xfa\x8c\x7e\x86\xb7\x8c\x1d\xda\x38\x31\x35\xc5\xec\x35\x69\x70\x4d\xe0\x90\xd0\x56\xdb\x04\x82\x9a\x4f\x4b\x14\x5a\xb3\xdb\xb2\x73\x36\xfa\xfb\xa1\xc5\xbe\xac\xc2\xe8\x62\xd0\x04\xa0\x14\xa0\x07\x97\x44\x0a\xb3\xfc\x4b\x0e\x01\xfb\xec\x9d\x81\x12\x3b\x94\xd3\xf0\x89\x21\xb3\x66\x0d\x49\x35\x6b\xec\x25\xa4\xcd\x66\xe0\xf5\x70\x6f\x5a\x4e\x4b\xf0\x24\x70\xcf\x12\xdc\x89\xe9\xf8\x04\xb1\xc1\x37\x26\x80\x0e\x78\x38\x22\x7e\xe5\xe9\xe4\xf5\xd0\x7d\xfd\xf5\xa9\x33\x63\x40\xd3\x71\x4c\x34\xb7\xa1\xa7\x8f\x1f\x47\x4b\x16\x32\x6d\xa8\x0d\x3c\x4a\x7e\x29\x29\xa2\xed\x67\xfe\x79\xfc\x38\x73\x5f\x9f\x02\xb5\xe1\xf3\xe5\xc0\x23\xf6\xe1\xf1\x67\x01\x7b\x1f\x9b\xc2\x9c\x60\x2e\x9e\xb5\xda\xa8\x99\x64\xa6\x82\xa4\xa9\x05\x22\x4a\xe4\x82\x05\x00\xcf\x90\x44\x03\x18\xc1\xae\x31\x88\xe3\x78\x31\x22\x22\x2e\x40\x16\xc0\x50\x90\x16\xc0\x39\xd3\x7e\x1e\x08\xe6\x85\xe0\xe4\xc6\x4f\xbe\xa0\x9e\xc5\x51\x16\x4f\xda\x12\x11\x6d\x55\x50\xa9\xc1\xc5\x68\x16\xb0\xca\x50\xfc\xac\x4f\xc5\x00\x96\xa9\xdc\x0d\x2a\x34\xc5\x56\x8b\x7d\x17\x5d\xbc\x12\x7d\xa9\xf3\xf1\x4a\x56\xaa\xcf\xf1\xa9\x9e\x1d\x9c\x37\xca\x6c\xa5\xcb\xb8\x7b\xa3\x01\x9b\xfa\xbe\x42\x35\xab\xf3\x15\x81\xe5\xaf\xb7\x49\x1d\xa9\x4e\xb6\xa2\xbc\x14\x5d\x2e\xb5\x67\x83\xd6\xf2\xb0\x8c\x0e\xc2\x5b\x68\xa7\x06\xbd\xdc\x60\x01\xe6\x02\xb5\xcb\x05\x9a\x2f\x8b\xc8\x1c\x81\xa2\x5d\x92\xe3\xeb\xd1\xfb\xaa\x2c\xa9\x6c\x72\x8e\xc6\xa8\x54\xcb\x9b\x1f\x6b\xe2\x15\x32\x79\xf0\x64\x42\x13\x1a\x07\xbd\xd6\x48\xcb\xe3\x8d\xb0\xd5\xa9\xf7\xca\x72\xd1\x91\xf8\x9f\x0d\x6a\xa3\x1c\x18\x5b\x8d\x11\x63\xae\x0e\x84\xea\xed\x9c\x09\x8e\x98\x65\xd0\x8d\x83\x63\x7c\xf6\xdc\x49\x1a\xb9\x4f\x9f\xfa\xfd\xab\x21\x83\xbc\x45\x23\x85\x98\x20\x29\x0c\x83\x99\xf7\xd7\x4b\x78\x9d\xf9\x83\x32\xc1\xbe\x5f\x94\xe3\x24\xcf\xb3\x7d\xb0\x53\x3e\x4c\xb7\x12\x9f\x35\xf8\xeb\x09\x54\x9e\x4e\x80\x79\x8c\x9d\xf7\x23\x34\xac\xb0\x49\xe8\xd1\x19\xb8\xf3\x20\x1d\x3c\x31\x86\x42\x44\x92\x9f\x12\x2c\x35\x58\x0a\x61\xa2\xe9\xdc\x0f\x13\x79\xc1\x92\xa0\x24\x79\x9a\x52\xb0\xaf\x63\x9a\xae\xbb\xfd\x54\xb2\xbd\x1b\x50\xa4\xd2\x59\x4c\xdd\xd1\x94\x50\x8f\xea\x97\xc7\x0b\xbf\xbe\x5a\xba\x57\x04\x12\x66\x6a\xcf\xf4\x7a\xdc\x41\xe6\xbd\x33\x82\xae\x2a\x53\x9b\xc4\x55\x73\x28\x15\xf7\x67\x01\x6f\xc1\x8d\xe7\xb6\x11\x98\x2e\x4b\x8f\x5a\xa3\x21\xe1\xc5\xcc\x4a\xda\x8a\x26\x41\xf4\xfd\x04\x20\x30\x01\xff\xca\xe7\x25\xce\x88\x05\xf2\x1b\xaf\x2d\x42\x3a\x8f\x29\x18\x1c\x4e\xe3\x82\x9d\x4b\x67\x0c\xe1\x1d\x97\x75\x5c\x36\x07\xb6\xac\xdf\xb8\x7e\x18\xad\xdf\x2d\x6f\xfb\xe2\x1f\x5f\xb4\xc9\x77\x53\x67\x15\xca\x2b\xfe\xb5\x67\xf4\xfd\xeb\x67\x94\x43\xdd\x2e\xf9\x66\xb0\x12\x24\xc1\xca\xcd\xf2\x5d\x48\xa1\x78\x0c\xad\x47\xa5\x68\xfd\x63\x0a\x85\x6e\xb7\xfc\x19\xc8\x40\x1b\x64\x9e\x91\xef\x56\xdd\x60\xc8\xca\xcb\xcb\x32\xac\x8d\xe0\xbf\x5d\x7a\x95\xbc\x75\xdc\xb8\x56\xb9\x4a\xbf\x0b\x68\xa5\x73\xa7\xe7\x55\x57\xe7\xed\xd2\x2b\xe5\x9b\x77\xec\xd8\x2c\x57\xe2\x44\x8d\xec\xd6\x7d\xfb\x6e\x95\x91\x82\x4f\xbf\xf1\xc6\xd3\xa4\x20\xd1\x82\x13\xec\x66\x84\x7d\xcc\x81\x52\xa9\x1a\x6a\x18\x35\x92\x9a\x4e\xcd\xa7\xd6\xe0\xc1\x79\x81\x4f\x38\xea\xbf\x3c\x13\x6c\x48\x11\xd5\x2e\x12\x1f\x98\x36\x10\xeb\x4e\x3b\x40\x07\x7b\x20\x8d\x0b\x92\xc3\x88\x5e\x04\x78\x5d\x38\x21\xf1\x44\x0f\x1b\x18\xbb\x68\x22\x3d\xac\x65\x4e\x0b\xfe\x8f\x32\xf5\x33\xe6\x78\x2c\x3e\x0a\x49\xaf\xb7\x94\x9c\x16\x24\xe7\x2c\x3e\xc6\xe6\x89\xb5\xc9\x7f\xf0\xba\x70\x42\xaf\x0f\x8c\x5d\x34\x31\x95\x04\xe7\xa4\xf7\xf0\xac\x98\xd5\x2b\xc0\x52\x8b\xfc\x06\xba\x4b\x48\xa3\xa9\xd3\x14\x29\x27\x21\x47\xe2\x11\xef\x2c\xc5\x7e\x25\x21\xb8\x7a\x83\x84\x7d\x10\xe8\xf1\x11\x98\x3c\x02\x1f\x20\x18\x41\x91\x8d\xc9\x0a\x20\xb8\xbf\x11\x26\x10\xa2\x64\x21\xba\x74\x32\xf8\x42\x98\x09\xa4\x85\x26\x4a\x64\x34\xd2\x31\x51\xfa\x95\xde\x34\x16\x79\xf3\xac\x41\x96\x49\x40\x36\x64\x3d\x63\xb4\xd0\x32\x9f\xde\x2f\x63\x83\x9b\xb6\xcc\x7e\xa8\x7b\x56\xcc\xa2\x00\x34\xc3\x0c\xbf\xa9\xa0\xfd\xc3\xc5\x57\x77\x76\xce\xd0\xc3\x91\x40\x81\x8e\x9b\x9c\xf4\xbf\xd8\x7c\x27\x1c\xe3\x5d\x5f\x34\x7f\x31\xbd\x7a\xd4\x4a\xd4\xe8\xb1\xf1\xe8\x80\xc6\xe6\x71\x19\x4b\x4f\x74\x7f\x54\x1a\x80\xe6\xd0\xdc\x29\xbb\x9b\x6a\x24\x34\xa0\x2b\x1e\x9b\xbf\xe1\xd3\x8e\x30\x04\xa0\x4b\x9a\xfa\x51\xee\x31\xb1\xbf\x73\x06\x6d\x7c\xf6\x7e\x32\x87\x87\xd2\x6b\xad\x9c\xd2\xe3\x19\x3c\x4c\xb8\x2a\x33\xc5\x7b\x20\x1d\xc4\xcc\x9f\x84\x83\x74\x3c\xa1\xe7\xf5\x24\x45\x06\xb4\x34\xf1\x6f\x13\x14\x75\x0f\xf4\xe0\xb0\x87\x07\xf2\x2e\x54\xbf\xfe\x6b\xa5\xde\x40\xef\x2f\x6e\x19\xfe\x48\x98\x39\xf6\xf1\xe7\x20\xd7\x87\xaa\xb2\x11\xc5\xcc\x99\xd9\x80\xde\xb7\x8e\x60\x78\x2d\x98\x6d\xf4\xb1\x4b\xe9\x2e\x1b\xa6\x5d\x67\x81\xc3\xa0\x44\xeb\x43\xb7\xbc\xf2\x3c\x88\x03\xc7\x07\x27\xd1\x41\x70\x2d\x3a\x92\xe2\xd1\x62\x78\x13\x1d\x4a\xf5\xa2\x71\x68\x2d\x2c\x82\x0a\x90\x0f\xec\x5a\xab\xcd\x80\x66\x8b\xb2\x11\x99\x68\x37\xa2\xa1\x2c\x94\x03\xf3\x38\x82\x1f\x7a\xe0\x8b\x13\x09\x62\xc2\xcc\xd2\xb8\x6f\x72\x4c\x40\x70\x0b\xc4\x47\x01\x1d\xe5\x7d\xac\x60\x29\x42\xc0\x1d\x8c\xa2\x8a\x30\x67\x8a\x9a\x88\xba\xb7\xb8\x89\x1f\x77\x83\x00\x66\xe1\xe8\x68\x22\x6a\x32\x47\x2f\xec\xc5\xdc\x93\x57\xa9\x4b\x68\x46\x49\x2b\x4f\x6f\x2c\x57\xd4\xa2\xef\x21\x48\x00\xcd\x1d\x3a\xdb\xf2\x21\x5b\x1f\x02\x6c\xe0\xc0\x9c\x03\x70\xcf\xa0\xf6\x35\x7b\x01\xd8\x51\x14\xac\x0c\x8d\x69\x32\x99\x9b\x17\x6d\xbc\x15\x5e\x53\x9c\x57\x5c\xd0\x14\xd7\x80\xde\x64\x9d\xe9\xc7\x07\x7d\xef\xb2\x9a\x9b\x93\x2d\x25\x3f\x0b\xdd\x49\x8a\x8f\xd0\x1b\xd8\x2e\x93\x67\xc9\x13\x2b\x41\x28\xae\x1a\x3e\x11\x35\x8f\x6f\x5a\xe1\x44\x10\x6e\x48\xad\x83\x1b\xb5\xf6\xe5\x93\x67\x0d\x31\xfb\x8d\xae\x2c\x8f\xe2\x3a\x2f\x58\x39\x63\x5e\xa3\xd5\x6b\x34\x79\x80\x55\x7a\x4b\x3c\x75\xa8\xcb\xd4\x4c\x3f\x7f\x46\xb8\x18\x2b\xf4\x4d\x4b\x7f\xdb\x10\x6b\x89\x5c\x2a\x4a\xd5\x62\x4e\x7f\x1c\x9e\x09\x66\x53\x8b\xa9\xd5\xd4\x5e\xea\x29\xea\x15\xea\x13\xea\x14\x50\x00\x2b\x6e\xd3\x4a\xd0\x0c\xc6\x81\x35\xe0\x6a\xb2\x0b\x9d\x71\xce\x81\x99\xc3\x20\xd4\x27\x24\x50\x6f\x8e\xeb\x61\xc8\xa4\x87\x9c\xb0\xa7\x1e\x13\xf6\xd5\x40\x34\xe6\x33\x46\x8d\x15\x30\x46\x7c\x4b\x1b\xa3\x31\x73\x34\x41\x1b\x73\x41\xac\x02\x18\xa3\xa1\x48\x34\x11\x2f\x29\x04\xde\x5c\x1c\x89\x45\xfd\x25\xfd\x42\x7d\x7f\xc4\xec\x63\xc4\xb9\x18\xc7\xe2\xe9\x90\xd7\xec\x0d\x79\x83\x82\x34\x05\x4f\xb3\xc5\x91\x98\xa0\xda\x5a\x6c\x36\x9a\x8c\x9c\x83\xf8\x8b\xf7\x49\x02\x51\x22\xc9\xf2\x72\xa2\xf7\x63\x7c\xd5\x92\x68\xc4\x09\x84\x93\xd1\x1c\x25\x50\x4c\x19\x36\xbb\x06\xe0\x3b\x07\x49\x86\x39\x21\xee\xfc\x0a\xfb\xe8\x98\x1d\x25\xcf\x1f\x17\x36\x79\x89\xb7\x64\x1f\xbe\x0c\x79\x05\xe2\x48\x3b\x63\xe5\x45\xf2\x42\xe4\x4e\xd1\x73\x77\xc1\x57\x31\xa5\x33\x43\xa2\x49\x91\x70\xdd\x0b\x6f\x7a\x5e\x85\x74\x66\x26\x8f\xf3\xfa\xc8\x96\x0f\xd9\x0d\x30\x08\x9b\x93\x09\xc2\x18\x27\x88\x70\x35\x18\x22\xed\x14\xfc\x05\xbe\xcf\x94\xe4\x4d\xb3\x9f\xbd\x62\xc4\x88\x2b\x8e\xcc\xb9\x29\xb9\x69\xf2\x94\x3b\xd7\x4d\x9c\xb0\x7e\xfd\x84\x89\x93\x36\x4e\x99\xbc\x29\x79\xd3\x9c\x23\x24\xef\xd9\xd9\x37\xc1\x99\x9c\x8e\xa3\x9d\x0c\x2b\x91\xb0\xb4\x84\x61\xa5\x90\xa6\x09\x28\x8a\xf0\x07\x01\x1e\xec\x67\x4c\x26\x5e\x6f\x32\xe9\x79\x70\x57\x25\xdb\x04\xb6\x9a\x30\x7d\xc3\xeb\x4f\x9b\xfd\x66\xb3\x7f\x2b\xd1\x99\x24\xe5\xc8\x9e\x3b\x60\xa0\x50\x09\x82\xd3\x47\x5c\x4e\x6b\x96\x46\xed\xb6\x68\x5c\x2e\x8f\xcb\xe9\x71\x1d\x70\x3a\x75\x36\xe2\x68\xc4\xa1\x79\xb4\x50\x6d\xb6\x9a\x0d\x4a\x93\xc7\xe6\x2a\x54\x59\xdc\x56\x83\xca\xea\x71\x7a\x36\x4a\x55\x2a\xbe\xa8\xc8\xe5\x70\x14\x1a\x67\x3a\x83\x21\x97\xc7\xa4\xd6\x1b\xbd\xdc\x4c\xff\x26\xb3\xd2\xe5\x72\xca\xa5\x32\x99\x3e\xe4\x71\xf2\x6a\xbd\x4e\x6f\x36\xeb\x79\xad\xda\xe0\xf0\x1c\x75\xb9\x34\x76\x67\x28\xe4\x74\xa8\xb7\x98\x95\x4e\x27\x29\x26\x5d\xef\x74\x6a\x4a\x43\x21\x87\x53\xdd\x46\x34\x86\x21\xa1\x48\x21\x43\x33\x90\xc4\x84\x27\x24\x4f\x3d\x7b\xe0\x00\x62\xee\x1f\x8d\x9b\x6a\x36\x69\x96\xd1\xf3\x41\x15\xa8\x1c\x39\x1d\x1d\x43\xef\x4e\x9f\x0e\xf2\x40\xfe\x9a\xf9\xe8\x05\xf4\xc2\x3c\x52\x62\xce\x6c\x5c\xa2\xef\x38\x4d\xeb\x0c\x2a\x95\x41\xa3\x52\xa1\x32\x48\xcb\x59\x40\x5a\x41\xc5\xe6\x05\x2d\x56\x3d\x6f\x19\x9b\xe5\x16\x03\x56\xbf\x95\x9c\x9c\x80\x11\x9e\x02\x8a\xed\x43\x94\x6e\xc9\x33\xe0\x87\x18\x8d\xf3\x2c\x16\x83\x76\xeb\x30\xbf\x7f\x18\xf9\x35\x36\x68\x0d\xe1\xea\xb0\xc1\xe2\x95\x40\x46\xae\x51\x58\xd4\x16\x83\x87\x04\x75\x6a\xb3\xce\xa2\xb6\x72\xa6\x2a\x7b\x76\xb6\xbd\x2a\xb2\x3d\xec\xce\x0a\xf1\x26\x8d\x47\x99\x15\xc2\xf5\x5b\x7c\x8c\x83\xc1\x15\xb5\x16\x15\xb0\x04\x2d\x4a\x8b\xf6\xea\xcc\xa5\x56\x67\xb2\xaf\x6e\x5c\x3d\xd8\x90\x5d\x99\x6d\xa0\xc9\x17\x23\x2d\x02\x85\xa7\x20\x7f\xe4\x9b\x43\x41\x97\x1a\x30\x9f\x0c\x9c\x0a\x44\xff\xf4\xc2\x5c\x20\xc7\xb3\x01\xd9\xf9\xab\xa7\xc6\x52\xd3\xa8\x79\x78\x26\xb8\x8c\xba\x8a\xba\x59\xf0\x72\x48\x10\x61\x05\x87\xdf\x06\x21\xc0\x12\x43\x78\x5d\xc6\x39\x3c\x9b\x96\x21\xc7\xcf\x0d\x29\xc1\x51\xa8\x88\x71\x2d\x8c\x2a\x41\x96\x9c\x56\xf4\x89\x65\x06\x05\xd0\xa9\x81\x12\xb2\x9e\x73\xf4\x42\x40\xf0\x44\xcf\x27\xc8\xe8\x4b\xff\x40\x54\xd0\xbc\x22\xb7\x8b\xfd\x42\x6a\x08\xca\xfc\xce\x4a\x9d\xae\xca\xe1\x97\x7c\x5d\xcb\x1b\x6a\x4e\x8d\x9c\x31\x7c\xca\x94\xe6\xfc\x4a\x57\x5d\x1d\xa8\xcd\x4e\x38\x8d\x76\xa3\xd3\xe2\xcd\x2e\xcb\xab\xf4\x17\x04\xa4\xbc\xc3\x54\x64\xce\xc9\x1b\x1c\xad\x05\xa6\x40\x76\x71\x4d\x4d\x41\x6e\x30\x1c\x6e\x9e\x3d\xab\x39\x87\xf9\xa9\x6e\x1f\x7a\x11\xdd\x8b\x0c\x08\x49\x3c\xb6\x60\xdf\x03\xf3\x76\xcd\x9b\xb7\x0b\xc0\xeb\x06\x77\x8e\x1f\xbc\xfd\xed\xa7\x56\x2c\x5d\xba\xe2\x29\xb0\xb5\x7d\x6e\x4b\x75\xe9\xd4\x3a\x19\xf0\xb4\x26\x7e\x96\x26\x5a\x5b\x13\xdc\xcf\x89\x56\xf8\x53\xd4\x63\x7b\xdf\xee\x56\x95\xcc\x5c\xd2\x3c\x09\x3d\x16\x8c\x8e\x07\xad\xff\x0a\xe7\x19\xe4\x7a\xb5\xd6\x68\xcf\x0b\x24\xc2\xbe\x6c\xad\x4a\xa2\x34\x19\xec\x79\xe1\xda\xaa\xec\xd6\x40\x5d\xa4\xa8\x21\xd8\x6a\x98\xb9\x63\x66\xea\x49\xa8\x09\x8f\xdb\xb1\xe1\x9a\xa2\x20\x7c\x91\xdc\x74\x9e\x14\x8c\x39\x71\x02\xdd\x27\x2b\xed\x2c\x6d\x2e\x43\x8f\x5d\xa3\x6d\x2b\x2c\x41\x8f\x6d\x81\xfe\x33\xca\xd2\xb6\xb6\x52\xe6\x7b\x7c\x24\xe4\xb8\xbe\xff\xdb\x41\x4c\x91\xab\x31\x1f\xea\xc0\xf4\x78\x10\x73\xa3\xc3\xa9\x09\xd4\x51\xea\x6f\x78\x06\x67\x81\x0c\xf8\x41\x0d\x98\x46\x51\x7c\x34\x04\x12\x64\x32\xc6\xf3\x5a\xc0\x1c\x33\x97\x90\xe9\x37\x12\x10\x4f\x40\x3c\xb1\xd1\x10\x71\xea\xce\xf9\x42\x46\x5f\xc8\xc7\xf9\x78\xbc\xca\x45\xcd\x09\x60\x50\x33\xde\x20\x9e\x10\x43\x1c\x26\xf4\xcd\x09\x5c\xcd\xe8\xd3\x45\x8d\xe2\xc5\xfa\x8d\xb8\x74\x78\x61\x34\x0b\x73\x3d\x26\xfb\x13\x11\xb2\x17\xe3\x82\xf1\x4c\xa2\xce\x67\x0c\x91\xff\xc2\x54\x48\xd6\x5e\x21\xc6\xf5\xf3\xb8\x42\x06\xfe\x79\x8c\xf8\x73\x93\x1f\x27\xd8\x20\xe1\xba\xb8\xa7\x91\x85\x42\xc4\x49\x4f\x90\x87\x36\x48\x38\x17\x70\x62\x0e\x9f\x74\x0d\xf2\x28\x11\x41\x44\x27\xa4\x95\xc4\x0b\x68\x21\xd1\x4c\x76\x85\x06\x3c\x26\x41\x70\x13\x3b\x30\x41\xbc\x2b\x10\x51\xa5\x8d\x44\x86\x6f\x8a\xbb\x40\xc2\x28\xc9\xe4\x49\x04\x79\x44\x3a\xcf\x05\x68\x5d\xa6\x39\xbc\xb1\x12\x9c\xea\x0d\xaa\x19\x01\xfb\x22\x21\xb4\x4e\x6c\xc5\xf8\x7c\x58\xd7\xdc\x74\xe7\xf6\xed\xa0\x6a\xfa\xb3\xe1\x51\x23\xb3\x81\x27\xa7\x63\x44\x2e\xfa\x8c\x1c\xc1\xeb\xe3\xf3\xfa\x4c\xf5\x93\xcb\x26\x6f\xb6\x6e\xb5\x36\x5d\xda\x75\xc9\xbc\xd1\xad\x70\x8f\x42\xe7\xb0\x84\x2c\xd9\xb2\x75\xed\x23\xcf\x52\x80\x69\xef\x78\x6b\x21\xfa\xe0\xf8\xf1\x3d\x37\xde\xc8\xbe\x2b\xf6\xad\x45\xd6\x84\xf5\x3d\x7e\xb1\x01\x3a\xe5\x72\x60\x36\xd7\x66\x8f\x96\x59\x4b\xad\x7f\xf7\x3e\x71\xc8\x7a\xd8\x7c\x6a\x50\xf8\xa0\xa5\x38\x75\x4d\x6e\xee\xcb\xa6\x7b\xdb\xc4\x6e\xb8\x32\xea\x7a\x24\x61\x46\x2f\xba\x4b\xdf\x31\x37\x7e\x16\x8f\xa0\x3b\xc1\xd8\x44\xc9\x31\x63\x85\xfb\x41\xa9\x94\x81\xba\x32\xf7\x3d\x95\xa9\x7c\x8b\xc9\xaa\xaf\xb3\x78\x07\xd5\xdd\x5c\x54\x8e\x3e\xb7\x1a\x6d\xba\x3a\x80\x99\x56\xb3\xbe\xa9\xf6\xa6\x62\xcc\x97\xfc\xf5\xaf\xbb\x6f\xbc\x11\x7d\x59\x0f\x7f\x9a\xb5\x6e\x9d\xd7\x5b\x1c\xf1\x96\x84\x37\xae\xf0\xfb\x8a\x8b\x7d\x5f\x59\x6a\x2f\xbb\xcc\x63\x0d\xe4\x06\xac\xb1\xf0\x86\xe5\xfe\xf2\xe1\x37\x4e\x5c\xbd\xd9\x76\xb9\x75\xd8\x86\x2d\x35\x5c\x8e\xc6\xad\xd4\x49\xec\x7e\xe7\xc4\xa9\x0b\xa7\x2f\xa1\xc7\x2c\x48\x5d\x3e\x7c\x78\x71\x22\xde\x76\xc9\xf1\x4a\xcf\xa0\xb0\xb3\x0a\x7c\xeb\xac\x0c\x2e\x28\x44\xdf\xbc\x8b\xff\x2a\x2b\x81\x06\x9d\x05\xe0\xa9\xa7\x52\xef\x1a\x5c\x06\x15\x07\xc1\x84\xce\x4e\xa0\x19\x3f\xbe\xaf\x14\x68\xca\x70\xbd\xd4\x3b\x9f\x24\x86\x0f\x4f\xc0\x03\x55\x55\x05\x05\x85\x85\xd3\x81\x7a\x8c\x59\xa9\x04\xb0\xaa\xaa\xbc\x1c\xac\xce\xc3\x7f\x26\xfc\x37\x75\x6a\x5e\xde\x63\x60\x2b\x29\x99\xea\x34\xa5\xff\xca\xcb\xd1\xe5\x15\x15\xe3\x55\xb3\xa6\x33\xd2\xb1\x16\xcb\x19\x73\x58\x26\xf3\x3a\xe3\xf9\x1e\xe3\x74\xa0\x71\x81\x7b\x2c\x38\xee\x71\xc5\x64\x3e\x8d\x49\xce\x4d\x03\x1a\xe0\x4c\x5d\x8a\xef\x5a\x8a\xef\x0a\xef\x45\xdf\x00\x4d\xea\xd2\x31\xe5\x56\xad\x9c\x0b\xfa\x43\x39\x65\x56\xad\x0c\x48\x02\xea\x99\xbe\x72\xab\x4a\x09\x58\x45\xc0\x45\x12\x0d\x8c\x04\xd6\xa3\x6f\x5f\x7f\xbd\xb2\x72\xcb\x55\x15\x78\x76\x95\xeb\x9c\x7c\x30\xfc\x27\xfc\x35\xa9\x23\x47\xc8\xf8\x54\xf4\x8f\x4f\x05\xe6\xba\x7c\x78\x5c\x8e\xa4\x2e\xa1\xb6\x50\xfb\xa8\x07\xa9\xc3\xd4\x1f\xd2\xde\xa8\xd2\xfb\x44\xb8\x4b\xfb\x38\xc2\x11\x10\xc4\x87\x81\xe9\x02\xe8\x08\x47\x4b\x08\xe6\x08\xd1\x67\x13\xa4\x64\x2c\x1f\x17\x92\x07\x58\x6f\xe3\x33\x2e\x41\x09\xc5\x35\x20\x24\x40\x95\x90\xde\x6b\x16\x33\x12\xe0\x37\x5f\xc9\x20\xd6\xe0\x63\x25\x42\x79\x4e\x80\x3b\x49\x10\xd3\x70\xf1\x01\x4d\x17\xce\xc3\xf0\xd3\x68\xc0\xe9\x8b\x04\x1c\x01\x5a\x87\x99\x55\x1d\x54\xe8\x4d\x36\x0b\x98\x12\xf5\x3b\xfd\x24\xf5\xf4\x3d\xad\xd5\x3d\x3c\xac\x03\x52\x49\x8b\x01\xea\x81\x52\xaf\x35\xd1\x63\xa6\x81\x58\x36\x49\x51\xd3\xf6\xc6\x21\x33\x07\x95\x3b\x2a\xf5\x8c\x6a\x10\x0f\x9e\x97\xb2\xad\x0a\x6e\x5e\x1e\xab\x1b\xc6\x4a\x43\xf9\xa0\x43\x85\xa3\xd4\x59\xb0\xae\xb5\x7a\x9f\x41\xb8\x48\x87\x92\xf9\xe5\x45\x6c\x83\xc8\x45\xf0\x7a\x40\x2e\xf2\x81\xaa\x59\x21\x14\xad\xe7\xe1\xa9\xa1\x6c\x0e\x9e\x49\xa0\x82\x0f\xfb\xb9\x25\xe7\xd1\xd5\xcb\x03\xc5\x59\x8e\x40\xd4\xb3\x32\xc7\x05\xe6\x2b\x18\xe3\xbd\xfe\x88\x10\xdf\x5e\x11\xe3\xd1\x1c\x89\x9c\xbf\x44\x2a\xa7\xe1\xd4\xbf\x01\x56\x22\xf7\x84\x17\x0c\xad\x68\xb2\x18\x94\x32\x2d\x30\xca\x65\xf2\xbd\xbb\xb4\x32\x16\x2e\xd9\xcc\x74\x4b\x55\x72\xd0\x5d\x9a\xae\xa2\xba\xf4\x97\x55\x80\x96\xd1\x82\x83\x40\xad\x40\x5d\x90\x95\xf1\x80\xf7\x99\xf0\xed\xcc\xe0\xa3\xf3\x96\x62\xb2\xc7\xd2\xbf\x16\x6b\xa8\x08\x35\x04\xaf\xc4\x13\xa8\x05\xd4\xa5\xd4\xd5\xd4\x2d\xe2\x3a\x8c\x17\x54\x42\xfd\xb2\xbe\xb8\xb0\x0a\x0b\xeb\x6e\x7a\xd9\xe5\xd2\x88\xdc\x84\x96\x0d\x0a\xcb\x6e\x22\x0e\x12\xbe\x98\x86\x8e\xa6\xcd\x28\x45\x85\x2e\x56\x58\x80\xf1\xe4\xab\x8b\x12\x5c\x49\x5e\x58\xc1\x05\x2b\xd7\x50\x1a\x4d\x32\x71\x8e\x81\x17\x32\x24\xe9\xfa\x02\xf9\x1b\x0c\x45\x7f\x81\xc9\x29\xa9\x32\xf2\x1e\xb3\xde\xe9\x28\x03\x4f\x5c\x22\x89\x44\x4f\x7d\x51\xdf\xe8\xcf\x0a\x96\xd7\xeb\x1b\x3a\x5a\x0b\x8a\xea\x1a\x42\xee\x22\x67\x87\x5b\x3f\xa4\x6b\x44\x51\x14\x33\x5b\x5d\x1b\xf4\x05\xba\xea\xbc\xe0\xd0\xac\xc2\x2c\x65\x0e\xb8\x52\xa3\xca\x2a\x94\xcb\x37\xed\xb2\x95\x6a\x0b\x77\xed\x82\x97\xe4\x87\x07\xd7\xc6\xa4\x9b\x77\xf9\xb3\x46\x46\xab\x50\x5e\x41\x7d\x41\x41\x3d\xfd\x70\x51\x64\x72\xd7\xa2\x9a\xc4\xbc\x99\x15\xda\xb2\xc1\xb9\x06\x33\xfb\x33\x3c\x9f\x4b\x5a\x35\x28\xe0\x93\x9d\x70\x8d\x99\xf6\x69\x45\x9d\x55\x65\x52\xdb\x3c\xdd\x59\xc1\x50\x53\x79\x9d\x45\x6d\xd6\xba\xad\xfa\xc5\xd9\x81\x6c\xe0\x5b\xb4\xd5\xb8\x44\x3a\xfb\x7f\x46\xf9\x5d\x8a\xe5\x5c\xe4\x25\xeb\xd5\x74\x96\xab\x14\x65\x83\x88\x1b\x3d\x04\xfe\xf2\xe1\xea\xb2\x92\xd2\xc2\xd4\x1a\xeb\x6e\x45\x69\x1d\x78\x91\xdc\xb9\x10\x7d\xbe\xb8\xa6\x76\xf3\x92\x64\x65\x22\x3c\xdb\xcd\xf3\x85\x6a\xf8\xc8\x79\x1f\x8e\xa6\xd4\x98\x27\xfe\x56\x42\x09\xe3\x9c\x20\x2b\xe9\xcd\xa4\x81\xc8\x7e\x70\x88\x8d\x94\x08\x63\x99\xac\x32\xc0\x44\x60\x4a\x08\x1a\x5b\x9c\xf8\xa7\xaa\x66\x88\x1b\x89\xcc\xe6\x13\x5e\xbc\xcc\x44\xd5\x5e\x62\xaa\xfa\xb2\xa5\x04\xd5\xee\x7a\x77\x27\x00\x94\x56\x5b\x31\x3a\x6b\x36\x13\x95\x02\xf9\xcf\x0f\xcb\xed\xd2\x51\x38\xf0\x34\x1f\xe9\x18\x57\x15\xfa\xec\x39\x69\x69\x7b\xa9\x74\xed\x73\x31\x70\x07\xce\x81\x07\xd1\xde\x57\x4b\x5a\xe6\xed\xda\x39\xef\xa1\xac\xd1\x15\x5a\xed\xd0\xd9\x92\x5a\xb9\x5d\x76\xea\x3e\x29\x94\x77\xe1\x02\xb7\x67\x79\x73\x26\xde\x70\xdf\xb7\x57\xef\x01\xac\x83\x37\x10\xfd\x7a\x03\xaf\xdf\x30\x09\xcc\xc7\x05\x44\x7b\xb6\x73\xef\x61\xc2\x74\x44\x1b\xd9\x15\xea\x7f\xf8\xa8\x0c\xa4\x5d\x33\x6a\x41\xff\xdb\x25\x3c\x41\x3a\xa1\x27\xd6\x03\xbf\xfa\x62\x8c\xf8\x2a\x43\x53\x3f\xd1\x0b\x73\x1e\xdf\x32\xe9\xa6\xce\x22\xa6\x37\xf3\xa2\x3b\xe1\x0f\x07\xaa\x16\x55\x81\x86\x51\xbf\xfa\xa2\x0f\xa7\x5f\x0e\x7c\x0e\x7f\x1e\xb7\xac\x66\xda\x82\x28\x4a\xa2\x5a\xf1\xc5\x37\x3c\x03\xb4\x53\xd1\x5e\xe6\x9e\xae\xdf\xfa\xe2\xfd\x18\xc7\x6c\xb2\x5f\xce\x95\x20\x9a\x43\xc4\x77\xa1\x30\x85\xea\x44\xb4\xa7\x5f\x8b\x03\x0f\x1e\x1a\x1e\x09\xc7\x66\xfc\x0a\x8a\x03\xc4\x97\xf1\x01\x91\x10\xf7\x71\xdc\xc4\xd3\x0b\xa4\x2e\x0e\xd3\x34\x30\x9c\x3a\x01\x7a\x8b\x38\x39\x7a\x41\xce\xd1\x8b\xf4\xea\x2e\xd1\x81\x83\x20\x70\x04\xb1\x26\x4d\x5b\x18\xd4\x86\xdb\x34\x4d\x20\xa6\xd6\xf7\x40\x41\x94\x93\x12\xaa\xfe\x87\x30\xfd\xef\x65\x32\x08\x65\x3b\x71\xb8\xaf\x65\xe4\xaa\x65\x23\xe9\xa7\x84\xdb\xdc\x1d\x28\x29\x09\xdc\xad\x1f\x80\x65\x9c\x27\x68\x3a\x12\x5d\x04\x02\x39\x44\x89\x90\x2e\xb4\x93\x50\x4e\xde\xaa\x81\xda\x52\x19\xb1\x1a\xfc\x4f\x3a\x28\xcc\xba\xa1\x4b\x57\x95\xbd\x89\xbe\x04\xda\xd7\xbd\x23\x67\x77\x94\x6a\x97\x6b\x37\x0d\xb9\xe6\x91\x27\xb7\x37\x5e\x23\x93\xac\x90\xc8\xfb\x7e\x4d\x47\x05\x1c\x5d\x18\x69\xcb\xc5\xe3\xe6\xad\xd7\x81\x56\x66\xcf\x1e\x92\xbf\x50\xab\x6d\xca\x2d\x7e\x72\xc7\xee\x97\x8a\x72\x9a\x38\x99\x8c\xce\xfd\x35\x2d\x96\x81\x72\x78\x35\xf1\xd3\x2a\xbc\x03\xd9\xc4\x10\x6c\xf3\x59\xa2\x6c\xe2\x15\x67\xb6\xf4\xd6\xaf\x5e\x40\x9b\xac\x11\x3d\x71\x9a\x4d\x78\xc5\x24\x65\x71\xa7\xd6\x52\x1e\xaf\xf0\xae\x64\x8e\x24\x70\x1a\x02\x9e\xe2\x00\xb8\x72\x8a\x7e\x63\xfe\xe4\x9a\xd5\xd3\xaa\xe6\x4f\xed\xea\x19\x0d\x4b\x9a\xd7\x5c\x33\x4c\xc2\x73\x53\x0a\x1d\x6c\xc9\xbe\xc9\xb7\x3f\xb2\xf9\x6f\x5b\xc6\x5e\x11\x84\x0a\x20\x63\x97\xb3\x52\x16\xae\x64\xad\x59\x8e\xf2\x71\xf5\x45\x68\x3f\x7a\x3f\xa3\x09\x7f\xf2\x11\x85\x4d\x9a\x2d\x05\x50\x3e\xeb\xcc\x16\xc1\x8f\x9f\xe0\x9f\x0f\x8c\x03\xf7\xc0\x53\x0b\x56\x57\x2d\x38\x30\xb5\x7b\xf5\x96\x57\x74\x8b\x0e\x4e\x8b\x42\x10\xf3\x44\xea\xc7\xfd\xee\xc1\x5b\x81\xfc\x96\xc1\xb5\x7c\xa9\x44\xa9\x60\x15\xa9\x9b\x2d\x96\x90\x0d\xc8\x42\x55\xcb\xdb\x30\xf5\x3f\x31\xd3\x44\xd7\xc9\xa0\xa2\x58\xa9\x54\xc9\x46\x76\x92\x4b\x82\x52\xe0\x38\xba\x1a\x8d\xeb\xd7\xdb\x12\xf6\xf5\x7c\x64\x4f\x8f\x32\x69\x89\x4d\x90\x41\x03\x88\x3c\x9f\x78\x04\x61\x43\x3c\xf1\x8a\x99\x16\xda\x13\x7f\x17\x32\x10\x02\x46\x49\xe3\x91\xc9\x1f\xcf\x91\xcb\xff\x28\xb7\xc9\xe7\xa6\xee\x0a\xc4\x5e\x3f\x4b\xd5\x26\x03\x70\xc2\x5c\x31\x6d\xce\x47\x93\xfa\x5e\x82\xb5\xbd\xa9\x5e\x09\x75\x04\xfd\x34\xe9\xa3\x39\x38\xf1\x8f\x72\xa1\x6c\xb2\x16\x50\xaf\xc7\x84\xb2\x42\xda\x9c\x8f\x27\x9f\xae\x15\xca\xf6\xa6\xf5\xc8\x90\x20\x87\xcc\x4e\xfb\xe8\xe0\xa8\xcc\x5e\x3b\x88\x0b\x8e\x1b\x4c\x94\x8f\x68\xda\x12\x5d\xe4\x44\x35\x23\x19\xde\x34\x37\x1f\x1d\xda\x32\x75\xd5\xba\xc7\x27\xc2\x75\x15\x7d\x4f\x87\xb6\x8e\x04\x0c\xfa\xe1\x2f\x6b\x9e\x5b\x5a\xce\x35\x96\x56\x6b\xb2\xd5\xd6\xba\xe6\x59\x73\x24\xd4\xa4\xa6\x9a\x71\xa9\xab\xd7\x4c\x38\xbc\x3e\x39\x0a\x36\xc4\xcf\xfc\xd8\xb2\xc0\x34\xf8\x4f\xe8\xfb\x49\x77\xbc\xb1\x9c\x8d\x84\xbc\x81\xfa\x49\x15\x7e\xcd\x79\xf2\xd0\xfc\x7e\x34\x3d\x01\xa1\x3a\x22\x60\x68\x8a\x10\x97\x30\x2a\xc4\x20\xe9\x36\x82\x97\xca\x34\x60\xb1\x0b\xf2\x46\xa2\x83\x29\x62\xc7\x72\x02\x84\xd7\xc5\x23\x84\x93\x21\x9a\x66\x9e\xfe\x7f\x22\x47\x23\x6a\x53\x31\xb1\x73\x32\xc5\x5f\x46\x38\xea\x14\x95\xdf\x1e\x74\xb8\x72\x7d\x96\xb0\xc9\xe4\xf4\xb7\x17\xe4\xb7\xfb\x5d\x46\x73\xc8\xe2\xcb\x75\x39\x82\xed\x9d\x62\xa6\x57\x88\xe4\xa7\xcb\xe4\x17\xb4\xfb\x9d\x26\x53\x98\x94\xf9\x65\x15\x21\x17\xd7\xe9\x6e\xaf\x25\x7e\x11\xc4\x7f\xb5\xed\xdd\x67\xa8\x21\xa5\xb1\x61\xbc\xc3\xeb\xe0\x83\x9d\xf0\x3f\x46\x92\x44\xa8\xe3\xb0\x5b\xec\x26\xb5\x96\xb7\xda\x1c\x4e\xab\x95\xd7\xaa\x4d\x38\xc1\x21\xa4\x0a\x21\x50\xdb\x2b\xe6\x3a\x6c\x62\xee\x05\x05\x6d\x56\xbb\xa9\xb7\xbd\x1b\xf4\xa2\xda\xcc\xaf\x9b\xd6\xb6\x8e\x1c\x16\x73\xe6\x59\xb2\xdc\xe5\xc1\x1b\x5b\xfe\x63\x44\x1c\xf3\x82\xbc\x8a\x25\x74\xb8\xc7\x48\xbc\x40\x60\xb6\x1d\xff\xa4\xd4\xcf\x14\x9e\x0e\x00\x75\x2a\x09\x7a\x61\x2d\x0e\x9e\x4e\x32\x54\x5f\x12\xe2\xbe\x97\xea\xed\xf7\x8d\xd2\x2b\xac\x83\x5a\xbc\x12\x52\x98\xfc\x17\xbc\x3e\xe1\x59\x2d\xca\x7b\x88\x1f\x10\xfc\xfd\x19\x3d\x4d\x41\xef\x3c\xf4\xc9\xad\xef\x88\xf3\xcd\x3b\xcf\xd0\xec\xca\x05\xfb\x53\xd4\x3b\x78\xde\x81\x97\xa7\x3e\x5c\xb0\x32\x33\x0b\xa5\xa8\x5b\xd1\x27\xf3\xe0\x1d\x34\x85\x27\xb8\xf3\x9e\xcd\x9d\x79\x36\xb2\x64\x90\x91\x46\x86\x5b\x48\x18\x61\xc4\xf8\x8e\x2c\x19\xc2\xf3\x72\x54\x48\xbb\x2a\xb5\x15\x0f\x94\x4f\x51\x57\x2f\x1c\x4a\x02\xe0\xed\x55\x5a\x9d\x11\x3c\xa6\xd6\x8b\xef\x70\x02\xb5\x1a\x75\x42\xa9\x4c\x21\xb1\x4c\x48\x9f\xf6\xb7\xc4\x51\xcc\x58\xaa\x8b\x50\x92\x04\xb7\x98\x11\x75\x86\x25\x21\xe2\x5d\xb9\x1f\xb4\x44\xb4\x11\xc1\x6b\x17\x14\xd5\xa1\x89\x13\x14\x11\x6d\x5b\x22\x80\xba\x12\x29\xa7\xcf\x05\xcd\x5c\x30\x24\x10\x92\xac\x52\x2e\x77\x95\xf8\x03\x60\xd0\xb1\x9d\x15\x73\xdb\x5a\x22\x65\xae\x62\x45\x56\xc5\xb8\x95\x1d\x5d\x0f\xce\xfa\xd3\xad\x8f\x8c\x28\xb5\x8f\xd2\x38\xc1\x26\x74\xf6\x86\x1f\xae\x18\x7b\xfd\x2b\x73\xc7\x5e\x37\x7b\x6c\x79\x45\x4e\xb9\xad\xeb\xca\x11\x4b\x83\x35\x1d\x63\xc7\x35\x97\x2a\xe8\x87\x16\xb5\x8d\x2e\x02\x4a\x93\x8b\xd9\x60\x73\x98\x9b\x8b\x9b\xe8\x5a\x89\xcf\x99\x6d\x57\xc9\x27\x7c\xb3\xe3\xf7\x81\xf8\x94\xf6\xf5\xc3\x2f\x77\x8c\x98\x3b\x2e\xbc\xe8\xd1\xae\x9e\xaf\xa6\xd4\xc4\xf6\x78\xfd\x60\xcf\x6d\x00\xec\x98\xfb\xda\xee\x89\xc1\xea\x69\x33\x2e\x5f\xba\x23\xfe\xea\xd4\xf6\x9c\xca\x2c\xb7\x39\xbf\x62\x6e\x93\x56\x77\xc9\x7e\x86\x36\xe7\x28\xec\xf9\xec\xf4\x62\x23\x30\xd6\x9f\xb7\x16\x8c\x15\x64\xf6\x44\xf7\x30\x54\x92\xd9\xbe\xf2\x99\x30\x29\x1d\x12\xf1\x48\x0c\x02\xf2\x2d\x5e\xf8\x4c\x82\xe2\x2a\x4b\xda\xc8\x6c\x14\xe7\xfe\x44\x3f\x74\xb1\x30\xcc\xb9\xe8\x45\x70\xea\xf7\x7c\xe6\xf3\x87\x65\x0c\x2c\xf6\xc7\x75\xc0\xc0\x4f\x0a\xc9\x3d\x83\xa2\xed\x6b\xa1\x76\xea\x0c\x67\x38\x62\x07\x23\x2b\xa6\x36\x99\xcb\x42\x83\x86\x27\x47\xce\x7c\x62\x1e\xcd\x4c\x7a\x70\xe1\xd3\x93\x0c\x8a\xca\x9c\x25\xe3\x97\xee\xd9\x3f\xa7\xfb\xd2\x02\xa9\xcf\x94\xed\x4f\x94\xb6\xe4\xcc\xdf\x33\xe7\x3c\x3f\x06\x27\x1f\xa8\x97\xab\x02\x0e\xa8\x52\x40\x7f\xa1\x46\xe3\x1f\x1c\x97\x3b\x0d\x4b\xdb\x39\x6d\xd7\x38\xa7\x54\xe3\xc8\xb6\xb1\xe5\x4d\xd7\x15\xee\x9c\xb5\x62\x48\x71\xf7\x53\x33\xc0\x82\x27\x16\x5f\x62\xb7\x2c\x6c\x1f\xf2\xe0\xb2\xb9\xf7\xcc\x5f\x61\x9c\x52\x3e\xa1\xac\x31\x64\xbf\x1a\x7e\x72\xbe\xc1\x03\x9d\x96\xf1\x8a\x18\xa2\x51\xea\x7c\xcf\xbb\x7e\xb2\xb1\xef\x21\x2a\x4c\x9c\x07\x47\xf5\x5a\x3c\x83\x11\x43\x07\x2d\xee\x25\x1e\x3c\x0d\x32\xc9\xb4\x1e\xab\x78\xa2\x05\xad\x58\xb4\x6e\xc5\xd5\x57\xaf\x00\x1b\xe7\x3c\x7b\xd5\x3b\x64\x6d\x4b\x51\x99\x55\x8e\x26\x21\x68\x39\x57\x21\x73\xea\x44\xdf\xa3\x37\xd0\xf7\x9d\x23\xae\x02\x77\x5f\x40\x1f\x0c\xb0\x27\xa4\x04\xb4\x7c\xca\x02\xc4\xbb\xc3\xf4\xd3\x00\xa6\x5f\xad\x1f\xb3\xbe\xfd\xf7\x99\xd5\x7f\x6f\xe6\xd1\xf3\xee\x08\x50\xfa\xd2\x19\x1a\xe2\xfa\xf3\x1e\x46\x98\xff\x89\x8a\x07\x3e\x11\xeb\x4b\x0b\xa6\x8e\x08\x2a\x17\xfe\xce\x35\x44\x14\x22\xd1\x92\xb1\x11\x8a\x62\x32\x1f\x78\x38\x93\x99\x11\x40\xf9\x89\xed\x81\xe0\x0f\x8e\xd0\x0d\x59\x78\x0a\xc9\x22\x3e\xca\x12\x21\xb2\x8c\x92\x7e\x83\x53\x08\xcf\x26\xb8\xa7\x8d\xe2\xd1\x1f\x4a\x87\x08\xe0\x5a\x34\x02\x4f\xa3\x97\xc3\x3e\xcb\x91\xba\x21\x9b\x8f\x1c\xd9\xbc\xf4\xe1\x3b\x9f\xd6\x97\x81\xc5\x20\x0b\x65\x4d\x9f\x6b\x64\xd9\x23\x9b\x2b\xab\x1e\xd4\xc8\x4d\x1a\xa3\x4f\xff\xe0\xa4\x23\x40\x0a\x2a\xd1\x29\xb4\x1d\x9d\x1a\xde\x54\x87\xf6\xe9\x3d\x2f\x99\xfb\xee\x39\x8c\x4e\x01\xee\xf0\x92\x99\x57\x0a\xaa\x95\x20\x09\x1e\x1b\xfd\xa1\xa8\x18\xe9\x31\x00\xc5\x84\x99\x87\x41\xb2\x29\xeb\x8c\xfb\x08\xfa\xf9\xc8\xf5\x5f\x8d\xae\xb9\x11\x24\x37\xcf\xde\xf9\x22\x90\x1e\xb1\xa0\x3e\x73\x89\x5a\xe1\x04\xcc\x94\x8d\x9b\x8f\x00\xe1\xba\xf8\x4a\x53\x1f\xa8\x99\x86\x72\x6d\xfb\xdf\x07\x1c\x58\x02\xb8\xc4\x93\xc1\x92\x60\x92\x88\xe6\x1d\xa8\x3b\x6f\xa0\x5d\x35\x27\xf4\x9c\x5c\x82\xa7\x47\x5d\x20\x4f\xe6\x33\x60\x54\xb4\x44\x90\x05\xc3\xf3\xfc\x08\xfb\x2e\xc4\xb7\xd2\x95\x10\xc9\x27\x31\x17\x33\xf3\x19\xf9\x30\x23\xca\x6e\x9d\x43\x58\x9f\xb9\x6f\x9e\xd9\xc7\x0e\x61\x83\x2e\x26\xe8\x0a\xfe\xd3\x61\x48\x25\x0d\x0e\x87\x01\x26\x0d\xe0\x20\x29\x9c\xa2\xf0\x21\x69\x9d\x2d\x7b\x04\xd8\xc1\x18\x60\x7f\x44\x36\xd7\x0c\x14\x03\xe4\xbf\x50\x09\x92\x66\xa7\xd3\x8c\x92\xae\x82\x02\x78\x49\xd8\xe1\x08\x3b\x52\x13\x52\x77\x25\x63\xc3\x86\xc5\x92\xe2\x11\x4e\xe8\x5e\x04\x5e\x6e\x5b\x5e\x59\xb9\xbc\x0d\x95\xcf\x12\xd6\x85\x2b\x70\xdf\xfb\x19\xaf\x0b\x05\x04\x5b\x80\x12\x87\xbc\xf0\xed\x30\x0f\x2d\xe2\x58\x45\x3d\x04\x05\x4a\x30\x23\xf0\x88\x82\x2c\x8f\x89\x21\x92\x31\x40\x18\x03\x51\x89\x12\xf7\x81\x90\x38\x7f\x54\x00\x81\xe0\xf4\x13\xe8\x20\x3c\x97\xb0\x4f\x46\xfc\xa9\x7a\x7f\x24\xe2\x87\xcf\xf9\x81\xd4\xdc\x97\x43\xc2\xf4\x35\xe3\xd0\x7b\x0f\x3c\x82\x8e\x3d\x64\xa6\xff\x4c\x12\xfa\x2e\x1d\x07\x42\x0f\x6c\xfe\xf6\xc1\x39\x60\x69\xc4\xbf\x49\xb7\xe9\x7d\xf4\xd6\xdd\x3f\xa2\xf9\xd3\x9f\x25\xb9\x9b\x71\x1c\x14\xdf\xf3\x03\xd8\x39\xfd\x88\x3f\x02\xff\xde\x14\x8d\x36\x45\xc7\x8c\x19\x15\xf1\xf9\x23\xd7\xde\xf3\x10\x7a\xf7\x91\x4c\x78\xf6\x43\xdf\x80\xcd\xbe\xc8\xe8\xd1\x77\xa3\xb7\x3e\xd8\x04\xe4\xc7\x23\x7e\x21\x06\x8a\x3f\xd8\x84\x7e\x3c\x1e\x21\x76\x15\x8a\xb3\x14\xf3\x43\xfa\xdb\xda\x71\xff\x5f\x26\x60\x8a\xd3\x66\x7d\x0c\xf3\x86\x82\xad\x74\x01\x7e\x35\x82\xa5\x64\x26\x10\x7b\x12\x5a\x70\x4e\x4d\x84\x57\x64\x5d\x91\xd0\x69\x91\x56\x5c\x57\x42\xac\x51\xfc\xe2\x46\x85\x8b\x49\x44\x04\xf8\x24\x11\x92\x1c\x8f\x13\x23\x4e\x0e\x86\x24\xbe\xb4\xeb\x35\x4c\xe4\x99\xd2\x0b\x8f\xb0\x5d\x71\xce\x50\x58\x54\x15\xe7\x4d\xe6\x6a\x56\x10\x1b\xd2\x44\x49\x1c\x8a\x68\xfe\x90\x3e\xbc\x64\xd9\x5d\xc1\x32\x74\x8d\x8b\x0e\x78\x95\x39\x3e\xf4\xe6\x3e\x5d\x96\xa6\x72\xd5\xb0\x22\xde\x30\x7c\xf6\x66\xaf\xda\x9c\xa5\x0a\x96\xd5\x3b\x0d\xd1\xdb\xac\x15\xa7\x6e\xfd\xfb\x2d\x7b\xf0\x77\x2a\x45\x7f\x58\x1a\x50\x2a\x73\x1b\xc7\x8e\xeb\x70\x6a\x39\x8b\x56\xc3\x38\x1a\xab\xb2\x6a\xc7\x07\x68\xe6\x4a\x99\xd4\x03\x47\xc4\x3b\xee\xf5\x94\x48\x5b\x4b\x95\xce\x87\x9c\xb9\xf1\x25\xa3\x27\x3b\x56\x57\x39\xb3\xef\xec\x68\xdb\xf4\xbc\x04\x4a\x0a\xb2\x1b\xaa\x87\x07\x06\x77\xec\xab\x1a\x1e\x54\x4f\xbe\xaf\x6f\xcf\xa2\xee\x9d\xef\x31\x97\xa3\xa7\x8c\xe0\x85\x86\xd2\xbe\xee\x76\x69\x8e\x15\x72\x1c\xbd\x65\x1a\x1a\x2f\x67\xc1\x94\xf7\x7d\x7d\x3f\xf8\x0f\x5c\x63\x53\x5b\xda\xb2\xda\xa7\xd5\xc6\xd1\xad\xd9\x35\xd7\xef\xbf\xef\x5e\x00\x73\x8b\x5a\xf4\xc5\x31\x05\xeb\xf2\x96\x38\x78\x86\x81\x3c\xef\x77\xd8\x4c\x96\x82\x2b\x06\xb9\x97\xba\x94\x4a\x28\x3f\x0a\x39\x75\x6c\xe8\xde\x11\x5e\x4f\xad\x72\x8e\x4e\xe9\xfd\x70\x7c\x62\xe6\x5a\x5b\xb3\xab\x7a\xb5\x06\x1c\x9d\xdb\x3e\x33\xf5\x8c\x4e\xa2\x5d\x7f\xc9\xf5\x33\x87\x4c\x1b\xba\x00\x35\x69\xaa\x27\x4f\xaa\xdd\x85\xfa\x9e\xbb\x24\xa7\x0c\xa8\xce\xf9\xfb\x23\xeb\x9f\x8d\x8a\x0b\x38\xf1\x14\x88\x0e\x5c\xcc\x7c\xe9\xd5\x8f\x2c\x74\x81\xff\x98\x13\x0f\x90\xcd\x27\x18\x0a\x7a\xb2\x08\x88\xbc\xf0\x05\x89\x7f\x0f\x13\xe3\xc9\x22\x60\xef\xd5\x80\xc7\x34\x2c\xad\x7b\x4b\x7d\xef\xc6\x3b\x0e\x3f\x7d\xcd\x8d\xf7\xa8\x5e\x67\xab\xa2\x65\x35\x72\x5b\x3c\x34\x05\xfe\xf9\xa8\xfa\x9e\x4c\xfa\x1b\x4c\x75\x84\xa4\xc7\x42\xc5\x09\xb0\xd0\x9d\x2f\xd1\x38\xe0\x98\xd4\xad\xa9\x6b\x47\xb3\x56\x9d\x24\xdf\xe5\xca\x97\xe8\xcd\x92\x3c\xb0\x15\xf0\x70\xda\x58\xd6\xa2\x63\x0b\x5c\xbd\x3f\x53\x50\x7b\xdb\xe3\xff\x7a\xf5\xf9\xcf\x1f\xec\xa9\x6d\x5a\xb5\xac\x68\x48\x83\xff\xea\x0b\x13\x5a\x9e\x78\xeb\xd5\x2a\xa9\x52\x0f\x6b\x6a\x18\x8d\x4a\x5a\xf9\xca\x3b\x6f\xbf\x52\x25\x55\xab\x59\x4f\x56\x1d\xa3\x56\xcb\x2a\x5f\xa6\x5f\x3f\x4d\xa6\xad\xcc\xba\xc2\x76\xe1\x76\x71\x52\x15\xa2\xc6\x63\x1a\x20\x3d\x38\xc0\xa3\xa3\x30\xd2\x05\x8f\xc3\x6a\x90\x59\xec\x33\x9e\x1d\xe3\x99\x08\x7d\x42\xf0\x2d\xd9\xd3\x8d\xbe\x16\x02\x98\x61\x7f\x7b\xeb\xc9\x2d\x20\xb9\xe5\xe4\x56\x54\x44\xe2\x38\x11\x68\xbb\x7b\x84\x00\x7d\x1d\xd2\x0a\x65\xbe\xee\xee\x39\x93\x24\x21\x16\xb3\xe5\x5b\x4e\xfe\x1f\xe6\xbe\x3b\xb0\x89\x23\xfb\x7f\x67\x8b\x56\xbd\x17\x5b\x96\x65\xc9\xb2\x24\x57\xb9\xc8\x92\x6c\x83\x65\xd9\x98\x62\x6c\xc0\x98\x66\xba\xe9\xa6\x9b\x4e\x80\x80\xe8\x24\x40\x42\x4f\x80\x40\xb8\x10\x52\x08\x29\xe4\x9b\xde\x30\xb9\x4b\x42\x0a\x1c\xc9\x41\x0e\x12\x92\x38\xb9\x34\xee\x92\x5c\xbe\xb9\x4b\x0e\x6c\x69\xf8\xcd\xcc\x4a\xb6\x6c\xb8\xdc\x7d\xef\xfb\xfd\xe3\x07\xd6\xee\xec\xec\xec\xec\xcc\xec\xcc\x9b\x37\x6f\xde\xfb\x3c\x50\x13\xd9\x81\x9e\xd2\x2a\x19\x61\x11\x4f\x1d\x69\x61\x5a\x04\x1b\x10\x36\xc1\x06\x24\x48\x34\x78\xa8\x9e\xda\xb1\x9c\x80\x55\xcd\xc7\x01\xab\x51\x5c\xfc\xd6\xad\xae\x9c\xbe\x4e\x45\x1d\x72\x2f\x86\xb7\xde\x83\xa3\x49\x4b\x49\x7a\x27\xc9\x62\x41\x87\x14\x68\xac\xf4\x6d\xac\xb6\x58\xaa\xd7\xf9\x2a\x0d\x01\xc4\xba\x4f\x48\xb2\x18\xfc\x46\x4b\xd2\x24\xc4\xdd\x07\x0c\xf4\xa0\x2a\x1f\xbc\xe6\xab\x42\xc1\xb4\x8a\x53\xbe\xaa\xd5\x5b\x9a\x3a\xce\x37\x6d\xd9\xd2\xc4\x16\x34\x6d\xa1\x9f\x5b\x88\x73\xc1\x07\xd8\xee\xab\x2c\x2e\xae\xf4\xb5\x1b\x8d\x5f\xe3\xb8\xaf\x3b\xcf\x4b\x0f\xf8\x2a\x2b\x7d\x70\xba\xc1\xf0\x4c\x76\x25\x7d\xa8\xeb\xe9\x2d\x89\xbe\x0b\x69\x34\x35\x63\x2d\x42\x7b\x0a\xb0\xe3\xff\x92\x9b\xec\x0a\x77\xc3\x8f\x76\x5f\x05\x01\xf8\x0a\x1c\x00\x5f\x01\x01\xb0\x86\x9e\x75\x7c\x69\x24\xb4\xf4\xf8\xf1\xa5\x4c\xeb\xd2\xe3\xe0\x75\xda\x1d\xb9\x07\x71\xff\x14\x28\xa3\x1f\xea\x8a\x3f\x8e\xbb\x83\xa9\x13\x8f\x71\x10\x35\x82\x9a\x44\x35\x53\x73\xa9\x85\xd4\x72\xb4\x0a\xdc\x40\xdd\x41\xed\xa4\xf6\x51\xf7\x51\x47\xa8\x07\xa9\x87\xa9\xe3\xd4\x93\xd4\x0b\xd4\xcb\xd4\x6b\xd4\x69\xea\x5d\x01\xeb\x98\x21\x16\xa1\x4c\x6c\x17\xd4\x2e\xc2\x3f\x81\xae\x31\xc4\xe0\x96\x11\xd0\x0f\x74\xc5\x38\x4a\x17\xa3\x6d\x76\x3f\xfe\x09\xb0\x13\x3a\x82\xa3\x8b\x8e\xa8\x62\x0e\x80\xee\x00\x12\x6b\x0a\x68\xdc\x22\x1e\xd8\x4d\x4e\x94\x27\x86\x01\xe5\x1d\x01\x06\x98\x40\x40\x67\x07\x7e\xce\x8b\x56\x38\x26\x23\x63\x0f\x00\x15\xf0\xfa\x78\xa3\x46\x8f\x1f\x32\x69\x02\x1a\x13\xc8\x07\xbc\x26\xe0\x16\x39\x1d\x9c\xc9\x20\xa1\x9d\x6e\x0d\xc7\x7b\x81\x49\x97\x4f\xa3\x5e\xc3\xb8\xdc\x12\xda\xc7\xe8\x1c\x3a\xc0\x57\x00\xe2\x8e\x4e\x06\x4c\x7e\x31\x65\xd6\x9f\x65\x92\xf5\xa7\x19\x7b\x52\xb2\x1a\xb6\x68\x8a\x35\x70\x81\xc6\x6c\x4a\x67\x4f\xeb\x93\x99\x73\xfa\xe4\x14\xfd\x5b\x20\xfd\x7d\x36\xdd\x64\xd6\x82\x6d\x6a\xbf\x1a\xdc\xa5\xc5\x77\x7f\x6f\xb2\xf1\x2f\xeb\x92\x23\x6e\xb0\x11\x1e\xbf\x1b\x1e\x07\xcd\xda\xec\xc8\x58\x40\x9f\x57\xbd\xf2\xb2\x42\x4d\x3f\x02\x57\xbd\x46\x67\xc3\x6f\xd5\xb9\xf4\x93\x80\x0d\x69\xac\xc6\x08\xbc\x54\x01\x96\xa9\x2b\xe1\x08\x30\x48\x1c\x69\xe1\xc0\x48\xb8\x95\x45\xa3\x64\x57\x08\xbe\x7b\xe8\xf4\xd1\x47\x58\x20\x7e\xcc\xba\x1f\x64\x7d\xf6\x19\x7b\xf6\x94\x88\x59\xa6\x8e\xee\xbe\x08\xff\x88\xbe\x67\x66\x74\xe5\x16\xf0\x75\xf6\x08\xe0\xfc\x61\x03\x03\x8c\xe2\x4b\x9c\x18\xd6\x02\x7f\xa4\xf5\x28\xfa\xc7\x96\x17\xac\xcb\xfc\x3d\xcd\x3c\xb6\x76\x10\x47\xaf\x35\xa4\xb1\xf0\x3e\x89\x44\x8f\x4e\x4f\x8a\xc5\xa6\x74\xad\x5e\xaf\xb7\x27\x89\xe5\x60\x08\x9b\xa6\x97\x48\xc0\x54\x2e\x4d\x8f\xd2\x80\x46\xc0\x82\x0c\x15\x98\x2d\x15\x27\xd9\x0d\xe8\x9f\x3d\x49\x24\x87\x07\x80\xdd\xa8\x50\xc2\x57\xd8\xb4\xc8\x59\x30\x19\x1e\x56\x33\x16\x56\x22\xe5\xe0\xbd\xa2\xb7\xc0\xd8\xd7\xc5\x34\x68\x3d\x73\x46\xdd\x31\x5c\xc4\x55\x0f\x99\x09\xa4\xf0\x6c\x08\xee\xb0\x00\x3f\x7c\x94\x55\xa1\xd4\x27\x45\x1c\x58\x5e\x05\x2a\x1f\xfa\xe4\xd5\x93\x62\xc6\x07\x68\xa0\x56\x9c\x04\x0a\x19\x7c\xfb\x10\x28\xfb\xee\x53\x31\xbc\x36\xf0\x6d\x5a\xde\xf6\x79\x0e\x7c\x03\x9e\x06\x5e\xd5\x76\xf8\xe5\x27\xb9\x60\x4b\x07\x8d\x1a\xc2\x80\xda\x0b\x2c\x07\x2c\x2c\x84\x2f\x82\x5f\x3e\x83\x5f\x47\xee\x80\x5f\x81\x94\x3f\xfd\xa9\x1f\x98\x29\x65\xd1\x67\xce\x8c\xde\xd7\xc0\x08\xf2\x12\x82\xff\x8f\x31\xef\x28\xd2\xfd\x3b\x07\x03\xfa\xd6\x09\x8a\x78\xcf\xaf\xa7\xbf\x06\x4d\xcf\xaf\x8f\xfc\x7d\xfd\xf3\xec\xf9\xa7\x42\x1e\x68\xf1\x84\x2a\xf3\x98\xc6\xf5\xa7\xc0\xf4\xf6\xaa\x0d\xaf\xbd\xb6\x21\xe3\x19\xf0\x28\xc6\x30\x87\x7a\x4f\x1f\x81\xde\xac\x47\xe3\xed\x76\x4a\x4a\x3c\x7b\x63\x79\x0c\x4b\x31\x98\x71\x41\x7c\x0b\x87\xd8\x5e\x74\x81\x16\x99\x40\x4b\x39\x85\x0b\x0e\x23\xc5\xf9\xa9\x80\x88\x37\x32\x0f\xc1\xdf\xc2\xf4\x65\xfa\xb3\xa0\xe9\x7c\x03\x98\x3a\xbe\x3f\x5c\x19\x7d\x63\xfe\xf8\x60\x0b\xed\x87\x47\x17\xd1\x1a\x30\x25\x53\x09\xaf\xc0\xd0\xb2\x19\xcc\xef\x4f\x3f\xb1\xf9\xe0\x5c\x30\xf0\x3d\x43\x7d\x25\x37\xeb\x36\x98\x0a\x4f\x8f\x1e\x75\x1e\x4c\x3a\x7b\x67\xe5\x98\x05\xd1\xd3\x70\xe5\x80\x31\x60\x1d\x5d\xd6\xd1\x1b\x4c\xa5\xf5\x4b\xc7\xcd\x58\x0e\x83\xf0\x63\xa5\xbe\xa8\x72\xb8\xe9\x2c\xa8\x9d\x77\xef\x86\x27\x63\xb4\x41\x4c\xb1\xff\x20\xba\xbf\x98\x92\xeb\x04\x2f\x3f\x64\x87\x24\x07\xe8\xfc\x88\xcd\xf6\x7b\x6d\x58\xb9\x93\x89\xc7\x33\x78\xa1\x8b\x18\x19\xc1\x39\x1d\x4f\xbc\x43\x99\xfc\x26\x7e\xda\xc1\xf5\xab\xcf\x9c\xfe\x62\xcf\x9e\x2f\x4e\x9f\x09\xaf\xe2\x0e\xb6\x01\xfa\xea\x81\x03\x57\x01\x0d\xff\x7b\xed\xb9\x43\xab\x1e\x7b\xa3\x6d\xdf\xbe\xb6\x37\x1e\x5b\x35\xf3\xb6\xa7\xc6\xbc\x73\xe2\xc4\x4f\x81\x3f\xec\xb9\xf7\xd3\xa7\x8e\x2c\x5c\xf5\xfe\x92\xf7\x8f\x9d\x78\x87\x5d\xde\x21\x2e\x1d\xbb\x67\xcf\xd8\x52\xf6\xda\x9a\x59\xb3\x3a\x1e\x2a\xad\x64\xa2\x83\xb7\x6f\x1f\x1c\x61\x72\x72\x1d\x73\xe6\xa4\x33\x5b\xd9\x7b\x0e\x56\x45\x86\x79\x8b\xa6\xcf\xe6\x04\x3e\xfa\x18\x9a\x9b\xc7\x76\xda\x5b\x8c\xfb\x9f\xcb\xa1\x6f\xba\xee\x02\x58\x4d\x40\x5a\x21\xb4\xc5\x0a\xb8\x2b\x56\xfd\x78\xbd\x95\x1c\xe0\x97\x56\xfd\x34\x1c\x46\x07\x78\xe5\xd6\x61\x6e\xcb\x77\x0f\x75\x64\x3c\xf4\xdd\xea\x99\xd2\xdf\x2c\x98\x3e\x38\x0f\x64\xbf\xba\x37\xb2\x5b\xb9\xf9\xc4\x31\xfa\x13\x83\xd5\x6a\x88\x3a\x70\x42\x5a\x87\x8f\xd1\xef\xf1\x11\x3c\x8e\x8f\x70\x18\x09\xcf\x22\xe1\x7d\xe8\xf8\xd0\x43\xdf\x7d\xf7\xd0\xe2\x37\x8a\xd2\xdd\x0b\x7e\xd3\xe7\xf9\x3f\xef\x8e\xec\xad\x2a\xb1\x7f\x4c\x61\x6d\x49\xea\x46\x50\x24\xd8\xce\x08\x7e\xda\x0c\xc4\x53\x9b\x9d\xf8\x6a\xcb\xa3\x0a\x29\x1f\x55\x4a\x95\x53\x95\x54\x5f\xaa\x06\xd1\xe5\xa1\x88\x32\x8f\xa6\xc6\x23\xea\x3c\x83\x9a\x4d\xcd\xa7\x16\x51\xcb\xa8\x95\x88\x42\x6f\x44\x14\x7a\x3b\xa2\xd1\x7b\xa9\xfd\xd4\x31\xea\x22\x1a\x11\x58\xf4\xe3\x24\x47\x9f\xdd\x80\xad\xd7\x4c\x3d\x7f\x01\x13\x9f\xf8\xc3\x2e\x89\x12\x7f\x00\xe3\x82\xfd\xca\x0f\xdf\xf7\x1a\x02\xff\xe4\xae\x09\xeb\xb3\x18\xf8\x5b\xfc\x9c\x71\x0e\x8b\x80\xdf\x58\x69\xbf\xa0\x8e\xe6\xe8\xd4\xa7\x03\x22\x97\x80\xf5\x6f\x34\x79\x03\x1e\x11\x16\x5e\x8b\xa8\xc8\xb5\xa8\x98\xbb\xaf\xfd\x0c\xbd\x97\x3e\xda\x7e\x66\xa8\x33\xfe\xaf\x42\x35\x53\x95\x86\x7e\x56\x72\x6e\x56\x0d\x99\xa9\x9a\xb9\x1c\xfd\x6e\x8b\x9d\x23\x95\x0b\x81\x7e\x11\x30\x2c\x02\xfa\x85\xe4\x2f\x16\xee\x78\xc1\xb9\xe8\x81\x9e\xf1\x3f\x0e\x5e\xd4\x99\xb1\x33\xba\x65\xed\x0b\x2f\xac\x5d\xf7\xfc\xf3\xf0\xb2\xbb\x77\x75\x6f\x77\xcb\x24\x33\x93\xd6\x67\x62\x6a\xa0\xc4\x11\xa8\x1f\x12\xc8\xca\x34\xa4\xd7\xa8\x10\x37\x9e\x21\xb1\x2a\xcd\x46\x79\x6a\xc0\x67\x17\x51\xed\x3b\xe0\x13\xa0\xa1\x92\x39\x1c\x99\x0c\x3f\xe2\x32\xdf\x7e\x1b\x7e\xb8\x68\xd1\x9e\x84\xbf\xbb\xd3\xf3\xed\xca\x74\x4f\x3a\xfe\x29\xec\x9e\xf4\x74\x8f\x3d\x7f\x82\x27\xdd\x83\x7f\xe3\xf3\xd3\x3d\xec\xfb\x19\x3d\xfe\xc1\x13\x43\x16\x75\x8f\x59\x34\x24\xa3\x5b\x9e\xe8\xcf\xf1\xfc\x3a\xa1\xb4\xe0\xf6\x8c\x2c\x09\x07\x74\x86\x42\x6f\x45\xb6\xd4\x98\x9b\xe6\xc9\xe7\x81\x4c\x6f\x48\x12\x19\x4d\x65\x40\xc5\xc8\x18\x11\x2d\x35\xe5\xc5\xfd\x0b\x2c\x42\xe3\x6f\x3b\xc1\x7b\xc8\xee\xb1\x86\xbd\x95\x71\x5e\xcc\x8d\x2c\x66\x34\x26\xde\xdf\x76\xf8\x70\x1b\x03\x0f\xb7\xdd\x7f\x7f\x1b\x68\xab\xc8\xbb\x76\x29\xaf\xa2\x22\x0f\x3c\x99\x1b\xa2\x7f\x0a\xe5\x82\x27\xf3\x2a\xc0\x16\x7c\xef\x30\x4e\xd8\xb2\xe0\x30\x5b\xd2\xfe\x4a\x6e\x45\x45\x2e\x57\x8d\x8f\xbf\xf9\x0d\x3a\xc6\xf8\xd0\x4c\x44\xbf\x2e\xa3\xf3\x18\x44\xbd\xb8\x38\xdc\x11\xdf\xb5\x3f\x4f\x04\xcd\x18\x1f\x90\x15\xbc\x44\x50\x89\x10\x49\x31\xcd\x01\x9f\xb0\xc9\x11\x57\x65\x17\x1e\xf0\x73\xfb\x00\xbb\xe7\x83\x8f\x0e\x8f\x38\xb0\x62\x61\xf3\x8c\x85\xcb\xef\x1d\x76\xe0\xb7\xe7\xef\x9f\x7a\x69\x04\x67\xb3\x88\x95\x86\xde\xd3\xe0\xcf\x6b\x36\x7e\xbe\x19\xa4\x9c\x5b\x7e\xf1\xf0\xce\x8d\x9b\x8e\x8d\x99\xbe\x71\xed\x44\xeb\x0c\x8d\x3e\x4d\xf3\xc7\xfb\xcb\x66\x97\x17\x89\x55\x86\xe4\x5e\x4f\x4d\x38\x05\xd9\x52\xe6\xc5\xf7\xde\xd8\x75\xe8\xfd\xc0\xb8\xe5\x1b\x36\x2e\x1f\x17\x78\x7e\xff\xa1\x97\x6a\xcb\xd9\x54\x9d\x41\x99\xe4\x6b\x9c\xb3\xf8\xc3\x4d\x67\x81\x7a\xd4\xd6\x87\x1f\xd9\x3a\x6a\xe5\xb4\x89\x61\xa7\x55\xaf\x1d\xac\xbf\xff\xbc\x33\xd7\x69\x50\xe9\x52\xfa\xd4\x74\xbc\xe6\x4c\x55\xc5\x78\x59\xec\x7f\x1c\xdb\x12\xe4\x60\x8c\x28\xa2\xc2\x40\x7c\x52\xa6\x02\xa2\x2a\xd6\x0b\x10\x90\x11\x8c\x45\x12\xc7\xb2\x67\x63\x67\x1d\xf1\xb0\x40\xfc\x0a\xa0\x8f\x10\x27\x75\x41\x10\x60\xe2\x32\x15\x2b\x8b\x97\xe1\x2c\x76\xd0\x8b\xa5\x16\xc4\x87\x2f\x09\x44\xbf\x16\x74\xc8\x05\x55\xf2\x77\x6d\xc9\x1d\xdf\x01\x9e\x4b\x62\xee\xc5\x49\x22\x94\xd9\x65\x74\xd2\x27\xdf\x13\xc4\x26\xea\x64\x95\x8c\xe5\x01\x7b\xd2\xec\x62\xba\xe7\x82\x03\xd1\x44\xc5\x72\xa6\x15\x52\x49\x4e\x66\x05\x9f\x9a\x24\x55\x17\x60\x8c\x3e\xb3\xd2\x5b\xcd\x32\x01\x14\x54\x68\xd3\x8c\x4e\xde\xd5\x85\x6b\x8f\xeb\x2d\xe8\xe3\x0f\x13\x7a\x9b\x2a\xae\x46\x4f\x3c\xa0\x99\x80\xb1\x28\x00\xfe\xd3\x3a\x73\x94\xab\x58\xb7\x1b\xbd\x76\x37\x62\x32\x75\x80\xc2\xd0\xd8\x54\x74\xf7\x7f\x5c\x6b\xdd\x2e\xe0\xc4\x37\xe0\xc7\xbb\x74\x28\xe7\x1b\x94\x0e\xe7\x97\xfe\x3f\xaf\xbb\xe0\x47\x43\xe0\xdf\xb1\x37\x4e\x39\xb1\x35\x43\xb7\x74\x12\xc6\xee\xd6\xd9\x25\xb4\xdd\x69\x67\x08\x43\xef\x14\xb6\xcc\x89\x67\x0f\x8c\x53\x60\x2f\xba\x40\xcf\x87\x17\xc0\x55\x30\x3e\xda\xef\x8e\xf7\x60\x3b\x6c\x63\xa2\x28\xe6\xd5\xc8\xeb\xf4\xf1\xf7\xe0\x0f\xf4\x7c\x30\x06\xb6\xc1\x76\x30\x1a\x84\x95\xb4\x3a\x12\xd2\x96\x69\x23\x21\x35\xad\x04\x61\xad\x9d\x0d\xdb\x19\x2a\x3a\x83\xde\x1f\x89\x30\x2c\xf1\xb7\x11\xf9\x86\xde\x4f\x02\x20\x3c\x1d\x52\xda\x7c\x4d\x84\xd2\xeb\x59\x4a\x93\xaf\xa5\x29\x6c\xc7\x89\x2a\xc9\x7f\x8f\xe6\xa2\x1a\xea\x1e\xc4\xe9\x53\x1c\x16\xcb\xf3\x6e\x02\x45\xfd\xeb\x87\x80\x60\x1c\xfb\x4f\x0f\xce\xc4\x44\x1a\x06\x6f\x9b\x6b\xbc\xd8\xcd\xa8\x01\x43\x80\x62\x1f\x0d\x8c\xa6\x2b\xf5\xbf\x7a\x25\x30\x38\x39\x1f\x9e\x66\x78\x1d\xfa\xc8\xe1\x31\xc3\x86\x69\xfd\xda\x61\xc3\x50\xf8\x9f\x1e\x70\xa2\x5f\xbb\x3f\xac\x3d\x2f\x21\x55\xe8\x03\x8d\xde\x7a\x32\x2c\x6c\x03\x85\x4f\x5a\xf5\x9a\x0f\x74\x89\x39\xfd\xea\xeb\x40\x08\x60\x13\x1f\x88\xfa\x8b\x90\xa1\xee\x9f\xfd\x7e\xe5\xee\x6d\xf8\x6e\x43\x83\x4e\xd7\x10\x02\x4e\x50\x66\x2e\x97\x96\x81\x1c\x6c\x1c\x0e\x2f\x96\x49\xcb\xcd\xf0\x4d\xf8\xb1\x16\xdd\x6c\xf8\xd5\x4c\x58\xb3\x00\xb9\x19\x1f\x7f\x5c\xdc\x97\x4b\x1f\x6a\x29\x45\xd9\x75\xa8\x25\x75\x2a\x00\x62\x4e\x20\xd3\x63\xbe\x20\x05\x37\x8e\x12\xec\x80\x1a\x6b\x67\x31\x28\x20\x16\x0c\xa3\x3b\xc7\x1e\x13\x70\x7b\x31\xa1\x15\x88\x2d\xc6\x67\x31\x16\x11\x90\x16\x40\x80\x5c\x8d\xbc\x97\xb7\x32\x74\xa8\xa9\x09\x37\x44\xb8\x09\x50\x34\x2d\x1d\xd9\x6f\x12\x6f\xe1\x27\xf5\x1b\x29\x25\x7a\xba\x32\xf4\xc7\xc8\x39\x85\x4c\xa3\x35\x29\x32\x3c\x3a\xa9\x42\x26\x97\x29\xa4\x3a\x4f\x86\xc2\xa4\xd5\xc8\x14\x9c\x9c\x91\x91\x54\xe0\x81\x5d\xb7\x45\xf6\xdd\xb6\x4b\x92\xea\x19\xea\x1b\xf3\xa1\x91\x7e\xfd\x03\x4d\xdf\x0c\x5b\xae\x75\x4e\xef\x39\xd6\x5c\x5b\x46\x5f\xcd\x07\xaf\xf3\x29\x1f\x36\x54\x8c\xce\x56\x83\xd6\x70\x08\x9b\x48\x85\xc2\x74\x11\x4b\x8b\x75\x34\xad\x13\xd3\xac\x56\xc2\xf0\x3c\x6b\x17\x9b\xc5\x7a\x5e\xce\xb2\xc9\x8e\xf4\xe4\xe4\x74\x47\x32\xcb\xca\x79\x3d\x8a\xb4\xb3\x3c\xcf\x48\x22\x47\x6f\xbb\xf3\xce\xdb\xca\x17\xde\x31\x6f\x92\xf9\x4a\x28\x24\xd7\x67\x96\x94\x66\x07\x77\x64\x3b\x83\x41\x67\xf6\x8e\x60\x76\x69\x49\xe6\xd0\x21\x9f\xdb\xd7\x1c\xb9\x3b\xb6\x6f\x10\x45\xb4\xac\x0e\x71\xac\x2d\xd8\xda\x45\x49\x63\xab\x0a\x17\xd9\x28\x21\x22\x50\x47\x82\xe0\xdb\xd5\x69\x13\x6e\xa5\x4d\x76\x2f\x96\x84\x06\xc8\x5e\x3b\xee\xee\x31\xa1\x04\x62\xd5\x4d\x78\xaf\x09\x71\xb0\x01\xbb\xe0\x22\x9d\x88\xdb\x33\x81\xff\x26\x19\xbb\x38\x2a\xaf\x5e\xf7\xf2\x8c\xdf\x7c\xaf\x96\x0f\x19\xd2\xbf\x69\x9e\x33\xe5\x06\xd5\xb7\x53\x0c\x5e\x57\x97\xb4\xf2\x59\x62\x0e\x16\x1e\xbc\x69\x4a\x6e\x2a\x4d\x2d\x1a\xf1\xa9\xd5\xc5\xb1\xae\xa4\xa8\x5d\xdf\x6f\xa1\x2e\x65\x1a\xbe\xf9\x5f\x8b\xd6\xef\xb8\xfb\x9d\x6b\x17\x16\x3d\x65\x82\x6f\x3a\xf4\x5a\xcd\xee\xfc\xdc\x0d\xaf\xbc\xc2\x85\x81\xf8\x95\xee\x32\x77\xf0\xf7\x19\xa7\xb6\xd4\xf1\xb2\x2f\x8f\xcc\x7f\xab\xff\xec\xfa\x2f\xd7\xa5\xb8\xe3\x92\xf1\x94\xbc\x79\x88\xd4\xa5\x14\xa5\x1a\xc3\x79\x56\x93\xd5\x32\x73\xa1\x0e\xbd\xd6\xec\x3a\x51\x91\x62\xbe\x1c\xed\xd8\x39\x3f\xcd\x96\x86\x56\x74\x58\xf0\xfe\x4a\x4f\x71\x7b\xcc\xbf\x11\x17\xe6\xda\x10\x8f\x3b\x04\xcf\x84\x76\xbd\x92\xb6\x79\x68\x01\x4f\xc3\x88\x95\x6c\x94\x2c\x6f\x65\xb1\x27\x74\x02\xac\x41\x4c\x18\x19\x41\x56\x95\xa8\x71\xd2\xa9\x97\x17\x9b\x31\xb8\xf0\xca\xb3\x3f\xc3\xf6\x9f\xcf\xae\xac\x5a\xbc\xbc\xbf\x39\x97\xe5\xd2\xcc\x65\x4d\xa5\x99\x2a\xc0\x14\x4c\x5e\x77\xea\xc2\xa9\x75\x93\x0b\x18\xa0\xca\x2c\x6d\x2a\x33\xa7\x71\x6c\xae\xb9\xff\xf2\xc5\x55\x30\xec\x32\x87\x04\x13\x27\xd4\x7a\xb5\x3e\x10\xf6\xd5\x36\x11\x5f\x57\x15\xd3\xca\xd3\xd2\xca\xa7\x55\x14\x0e\xf1\x3b\xe4\x28\x2b\x94\xa1\x34\x25\xc9\xa4\x66\x65\x69\x0e\xab\x5e\x6f\xcd\x48\x93\xb3\xca\x24\x53\x8a\x14\xe5\x84\xf2\x93\x3b\xfc\x43\x98\x21\x10\x3b\x14\x0b\x0b\xfb\x11\xf8\xe7\xab\xad\x05\x8f\x08\x3e\xb1\xe8\x4e\x9f\x35\x29\x44\x7b\xca\x8e\x21\xfc\x04\x0c\x4b\xb7\x1d\x7d\xff\x14\x20\xf8\x72\xd1\x99\x8c\x00\xcd\x79\x18\x98\x56\xc4\xcb\xd0\x8c\x80\x77\x13\xec\x31\x8c\x48\xda\x14\x64\xb0\x00\x9d\x02\x85\x9c\x94\x65\xa2\x3b\xb5\xc5\xda\xe8\x0e\x4e\x0d\x16\x18\x1d\x5c\xbf\xd7\x44\xe9\x46\x43\xba\x68\x57\x89\x96\x76\xcf\x80\x77\xcf\x17\x3b\x74\x79\xb2\xb5\xbf\x13\x39\x72\xd3\xb9\xc5\x70\xf4\x0c\xd8\x16\x5c\x3b\xbf\x3e\x23\xa3\x7e\xfe\xda\x60\x1b\xa4\x29\x91\x84\x61\xa3\x8f\x68\xb5\xf4\x18\x5a\x9b\x62\x00\xc9\xd1\x69\x7a\xb3\x59\x0f\xbe\x6a\x71\x80\x13\x3b\x0f\x7e\xa2\xd1\xd3\x5c\x16\x6c\xa0\x9f\xd0\x9b\x53\x0c\xb0\xe0\xe0\xce\x2b\xd7\x72\x6a\x42\x19\x19\xa1\x9a\x9c\x6b\x98\x87\xa3\x6f\x50\x6c\x98\x8b\x10\xdb\x1a\x0a\xe8\x29\x5e\xe3\x8d\xf7\xea\x4e\x41\x5d\x27\xde\xae\xc6\x03\x68\xe2\x7d\x96\xd5\x66\xe0\xbd\x22\xf4\x63\xc3\xf0\xf2\xe5\xb6\x2e\xd0\x18\x21\xb8\xef\x6f\x6b\xe5\xb2\xad\x9f\x6f\x3c\x0e\xb2\x9f\x88\x50\x42\x8f\xc3\x7b\x3f\x4c\xeb\x27\xf0\x45\xd4\x97\x12\x92\x0a\xea\x44\xac\xfa\x09\xa0\x3d\xb8\xe9\xeb\x5d\x2a\xdd\x2e\xf8\x67\xad\xb0\x9b\x83\x9f\x4a\xdc\x07\xc5\xb6\x80\xdd\x7d\x42\x12\x6f\xc8\x74\xba\x87\x26\x1b\xc0\x26\x10\x03\xc2\xf1\x0a\x65\xa3\xd4\x5c\xab\xd9\x45\x5e\x00\xd7\xad\x1e\x7b\xf0\xe2\x9f\x2f\x1e\x1c\x8b\x4e\x4b\xde\xbd\x0f\xac\x86\x1d\x44\x58\x39\x23\x5e\x34\x78\x9d\x43\x5f\x1b\x0a\x6a\x4b\x22\xb8\xf6\xbe\x77\x97\x08\xa9\xf1\x43\xab\xc1\x6a\x92\x4d\x7b\xb8\xab\x2e\x9d\xba\x28\x2c\xa6\xcd\xe5\x82\xed\x9c\xd6\x80\x9a\xd0\xf0\x2b\x4d\xe8\x73\x51\x44\xe3\x0c\x51\x1c\xac\xb2\x63\xc5\x54\x83\x50\x12\x5e\x14\x2f\x34\x13\xdc\x79\x12\x35\xaa\x80\xd8\x40\x5e\x2b\x04\x2f\xc3\xcb\x27\x77\x1e\xab\x10\xe9\x34\x7d\x0d\xe2\xdc\xd6\xef\x5a\x73\xc5\xa9\xe5\x1a\x9d\xa8\x22\xfa\x60\x57\x25\xd8\xdf\x0d\x80\x7f\x79\x18\xb7\xf2\x86\x84\x47\x49\x70\x43\x12\xe8\xff\xc9\xc3\xc0\x30\xa0\xe9\xa4\x3a\x45\x3f\x6b\xdd\xba\x59\xfa\x14\xf5\xc9\x8e\x2b\x09\x55\x22\xfd\x81\xcc\x35\x55\xd4\x40\xbc\xe7\x1c\x53\x78\x8f\x57\x03\x83\xc7\xfd\x8b\xfa\xe1\x2e\xe2\xa7\x30\x11\x70\xe2\xf1\x1d\xaf\x14\x4b\x61\x9b\xf9\xf8\xd7\x58\x7d\xab\xfa\xed\xfd\xdb\x3a\xb9\x1a\xd8\xde\x5d\x7a\xa5\x91\xba\xb1\x49\xa9\x8d\x6e\x4e\xf8\x36\xa8\xb3\xa0\xaf\x43\xba\xcc\xa6\x1b\x87\xdf\xbe\x75\x05\x51\x27\xd2\x1c\x7c\x0f\xe4\x98\x94\x55\xfd\xa0\x56\xd9\xd1\x94\xf8\xb5\xe8\x4e\xdb\xd2\xd9\x18\x3d\xe4\x3f\xa9\x1b\xfe\x76\x01\x37\xdf\x09\x39\x6c\xe8\x26\x6d\x8f\x4f\x06\x81\x4e\xa4\x62\xbf\xad\x7b\x23\x70\xff\xba\x11\xd0\x47\x5e\x5d\x3c\x4d\x62\x96\x16\x48\x81\x64\xe6\x7c\x72\x07\x11\x21\x1b\xbe\xb9\x71\xd6\xc8\xd8\x8d\x31\xa5\x87\xc1\xae\xc3\xff\x61\x2b\xe1\x6e\xf0\xf6\x61\xdf\x7c\x29\x10\xe7\x8a\x53\xa4\x8b\x5a\x36\x91\x3e\x1f\x2f\xd7\xec\x09\xb1\x1b\x53\x4a\x56\xaf\xbe\xa9\x15\xb1\xec\x87\xc6\xfa\x4e\x5c\x94\x2a\xa1\x82\x54\x2d\xd5\x40\x76\x66\x8c\xb4\xe8\x56\xa4\xc3\xfe\x4f\x88\x08\xee\x21\x68\xd6\x34\x52\x68\x92\x74\x8b\xd4\x4c\x11\x61\x48\x5c\x64\xe2\x05\x1a\x2c\x93\xd3\x80\x22\x14\x46\xf3\x27\x61\x4b\x44\x50\xbe\xf6\x6f\xfb\x12\x28\x06\xa4\x7a\x90\x1b\x0d\x70\x9f\x3d\xf7\xd8\x63\xe7\xce\x02\x77\x64\x37\x62\x5d\x5a\x17\xcd\x38\x70\x60\xc6\x22\x32\xb3\xd2\xd7\xef\x58\xb6\xec\x0e\x3a\xf4\x22\xae\xc5\x8b\xe4\x06\xf3\xd7\x83\xf0\x87\x27\xd4\xdd\x48\xd1\xcd\x04\xe9\x1c\xc8\xd3\x19\x16\x2d\x32\xe8\xe0\x1f\xa2\xef\xac\x07\x73\xd6\xaf\x87\x7b\xe0\x2f\xa5\xc7\xbe\x68\x7b\xb8\x54\x68\x72\xc4\x90\xb3\xaa\x21\x43\x54\x30\x02\x62\xb4\xa1\xf4\xe1\xb6\x2f\x8e\x95\x62\xbe\x0d\xdc\x10\xf1\xb8\xbf\xf5\xa3\xea\xa9\x09\xd4\x9c\x5b\xf5\x39\xc4\x3e\x8b\x28\x5e\x94\xe1\xf6\x30\x01\x61\xea\x74\x76\xea\x61\x76\xef\x9c\xa6\xd8\x80\x02\xc5\x84\x51\x31\x05\x81\x53\x6f\x34\xa1\x56\xa3\x02\x78\xb7\x0b\xd1\x45\x0a\x1b\x16\x92\x4e\x6c\x05\xa2\x6e\x3d\xad\xae\xc2\x98\x06\x7f\x7a\xfe\x03\x78\xb4\xcf\x92\xf3\xbb\xeb\xc5\x92\x3b\xbf\xd8\xbc\xf4\xe3\xd1\xa4\xff\x24\xa6\xeb\x95\xfe\xdc\x2e\x12\x09\x29\xf6\x81\x8f\xd0\x5f\x24\xfc\xe9\x31\x06\x28\xdf\xf5\x7d\xb2\x19\x35\x24\xd3\x8a\x1a\x10\x45\xc0\x9f\x50\x04\xdb\x94\xd8\xd7\x26\xfe\x10\x7e\x0e\x46\xcc\xa9\x1f\x9d\x12\xcd\x38\xfa\xe9\xb2\xcd\x7f\xde\xab\x12\xc6\x60\x28\x31\xd5\xc0\x89\x92\x45\x28\x0e\x1e\xd1\xbb\x92\xdb\x1f\x26\x87\x47\x22\xa6\x54\xeb\x07\xa0\xc2\xb9\x7c\x17\xbc\x1e\xe1\x11\x17\x84\x62\x2c\x69\x1f\xc0\xd3\x28\x06\xb5\xa1\x28\xb6\xaf\x31\x10\xb5\xe1\x38\xaa\xf9\x57\xda\x10\xf5\x99\x7f\x8b\x30\x11\x77\x23\x42\x53\x92\xbe\x47\x58\xbd\x80\x4b\x8d\x7b\x5f\x67\x9f\x53\xa3\x2e\x17\xee\xd1\x84\x36\xf8\x8f\x67\x3f\x7b\x69\xc9\xd6\x9b\xc6\xec\xc1\xeb\xb7\x9b\x92\x81\xe2\xa5\xb6\x97\x76\x3d\xf1\x76\x6c\x54\x52\x61\x0c\x15\x80\xaa\xb3\x64\xda\x81\x03\xd3\x96\xbc\xc8\x94\x0a\x9d\x8f\x5c\x76\x1f\xa7\xa8\xed\x9e\x81\x91\x94\xf4\x55\x83\x55\x37\x0f\x56\xcd\x8b\x20\xfd\x81\x97\x81\x2a\x35\x7d\xd5\x24\x32\x1a\xbf\x89\x75\x43\x30\x1f\x77\xbf\xd2\x87\x41\xeb\xc3\xa5\x91\xce\xae\x07\x43\x0f\x97\x76\xd3\x1d\xea\x45\x90\xe3\x13\xe7\x4c\xbe\x53\x59\x92\xef\x3e\x7b\x06\xba\x34\x26\xff\xe9\x3c\x7a\x71\x9b\x44\xe2\x41\x44\x68\xdb\xe0\xee\xf3\xe9\xe0\x13\x42\xfc\x89\x8b\xbf\x3e\xaf\x7e\xb8\x4d\x6a\x46\x09\x25\xdb\x87\x74\x9f\x5f\x07\x9f\x10\xe2\x4f\x5c\xfc\x27\xf3\x2c\x7d\x83\x25\xf3\x6c\x29\xf1\xe7\x68\xa4\x0c\x7a\x9a\x25\xdb\xba\x5a\x7f\xc0\xd7\xf5\x91\x79\x01\xd4\x49\xa8\x46\xbc\x9e\x5d\xdd\x82\x8e\xd5\x87\x0e\x5f\x06\xee\x27\xe0\x87\xc7\x37\x7e\xbe\x55\x86\x29\x0b\xd9\xfc\x3c\x32\x4e\x28\xc4\x3b\x68\x2d\xf8\x8e\x50\x9f\x71\xc2\x8d\xeb\x5d\xb5\x61\x56\x25\xc1\x17\x3f\x79\x18\xfe\x79\x97\x4e\xb5\xeb\xeb\x4d\x07\x81\xf6\x09\xb5\xf0\xd9\x8e\x8d\x13\x9e\x79\x5b\xa7\x7b\x5b\xc8\x68\xdc\x31\x72\xa3\x23\xdc\x7d\x1e\x42\x2b\x3a\x3e\xcc\xae\x8e\xd7\x85\xa0\xa0\x0b\xa5\x4e\x20\x97\x22\x0a\xeb\xf1\x09\xdc\x96\xd1\xe4\xf5\xc5\x37\x41\xed\x71\x30\xaa\xf8\xb7\xe1\xe7\xea\x74\xf0\x23\x49\x8a\x24\x4f\x2a\x7d\x11\x7e\x14\xa3\xf1\xff\xa4\x8c\xc0\xf5\xa2\x54\x9a\x87\x12\x77\x84\xba\xaa\x44\xcf\x45\x15\x86\x1f\x09\x37\x5e\x14\xa8\x20\x9a\x87\x9e\x00\xd9\x9d\xed\x23\x44\xbe\x28\xbc\x25\xf2\xfd\x4d\xf3\x2a\xf9\x36\x58\x3e\x24\xf0\x90\x9d\x40\x70\x14\x5e\x11\x20\x96\xb7\x93\x0d\xc0\xec\x22\x29\x09\x7a\x41\xec\xe3\x47\xf9\x84\xd6\x25\x0c\x62\xf4\x3e\xa2\x13\x3e\x15\xcf\x54\xb1\x5e\x12\x7d\xb7\xc7\x3b\x11\x81\x0d\xb3\x18\x4f\x18\x83\xb7\xc7\x98\x51\xaa\xb3\x3b\x63\x2d\x2f\x0a\x5e\xef\xe4\x23\x37\x77\xf5\x56\x74\x02\x09\x73\x26\xed\xeb\x8a\x47\x27\x2a\x01\x87\x2d\x23\xc1\xd7\xa6\xc6\x1b\xc0\x8a\xaf\xde\x00\x51\x25\xc4\x00\xc3\x5e\x4d\x27\x70\xdc\x63\x8e\xa2\x22\x07\xbc\xed\x2d\xeb\x57\xf9\xd5\x2b\x2a\x16\x6d\x39\x7a\xe6\x4c\xd4\x8e\xe3\xb8\x70\x91\xa3\xfd\xb8\xa3\x88\x1e\xf6\xed\x9e\x92\x12\xf0\x7b\xc9\x91\x5d\x8f\x7d\x1b\x7d\x1c\xdd\x18\xe9\x28\xa2\x62\xef\xe2\x30\x7d\xab\xc3\x3b\x61\x78\x5d\xc0\x1a\x89\xd3\xd1\x74\x97\x5b\x29\xc2\xc6\x51\xe8\xa5\xda\x40\x97\xd8\x5d\xd0\x05\x67\x89\xd0\x94\x00\x9b\x0b\xbb\xb6\x1e\xa6\x76\xc3\x89\x37\x67\x1c\x06\xea\xe3\xae\x86\xa5\x27\x66\x54\x6f\x4a\x95\x66\xc8\xac\xc6\xec\x22\xa7\x52\xa2\xca\x19\xc3\xdb\x9a\xeb\xcb\xab\x1b\xc7\x84\x02\x13\x2a\x0a\x53\x14\x1f\x3f\x75\x06\xfe\x3d\x39\x35\xd9\x6a\xa4\x55\xde\x21\x39\x46\xe6\xb1\x39\xa7\xee\x6a\x2e\xde\x08\x8f\x34\xbd\x70\x7c\xed\xa0\x50\x89\x7b\x77\xce\x94\x9c\x86\x9a\x22\x4e\x7a\x28\x6d\xdc\x57\x60\x8c\xb5\xb2\x79\xd8\xae\xa1\xc1\xaa\xf6\x60\xc5\xb0\xa2\x91\xcd\x4b\x66\xe6\x3f\x7e\x1a\x46\xdf\xca\x6d\x28\xc8\x91\x58\xc6\x30\xaa\x86\xd9\x73\xe3\x72\xe9\x15\xa8\xed\x36\xa1\xf5\x44\x10\x23\x96\x50\x02\x32\x09\xd1\x3d\x27\xeb\xec\x80\xe0\x8e\xcc\x48\xb4\x11\x01\xa9\x10\xc1\x19\x42\x11\x4c\x22\xce\x2d\x1f\x30\x6a\xe3\x30\x64\x18\xef\x4e\x47\x94\x8f\x98\xf7\xcc\x8f\x72\xb4\x46\x3d\x2f\xbf\x74\xe3\xe4\x1d\x75\x03\x00\xd3\x3f\xc9\x22\x4a\xe2\x75\x2a\xb1\xb8\xa8\x2f\x97\x5e\x5d\x32\x51\x2e\x55\xb5\xac\xb9\xfa\xc8\xd4\xa9\x8f\x5c\x85\xe8\xb4\x7c\xc8\x4f\x87\x11\x59\x07\xa6\x77\x96\x2f\x7f\x07\x5e\xdd\xff\xdb\xe3\x70\xe2\x96\x39\xcb\xdf\xa1\x8b\x1a\x25\x9c\xd4\x9e\xe3\xf6\x05\xf3\x76\xb5\xcc\x1e\x25\x1e\xdb\xc7\xc8\x28\x0c\xfa\x2d\xbc\xa1\x46\xca\x8b\x6b\x42\xbe\x02\x1e\x0e\x89\x65\x82\x4e\x6b\xde\x3d\x76\x75\x50\x33\x37\x1d\x67\x02\xcf\xc1\xab\xef\x2c\x9f\xb0\x09\xec\x7d\xfa\x0f\xfb\x51\xce\xc4\xaf\x4b\x0c\x7f\x4c\xc0\x0b\xd2\x11\x19\xb1\x1b\xb5\x02\x5a\xb1\x04\xec\x3e\xbb\x06\xfd\x3a\x4d\x95\x12\xc2\xda\x4e\x9c\x11\xe2\x8f\x86\xfc\xb0\x8a\x2f\x85\x7f\x22\x5b\x49\x7d\x49\x49\x7d\x7b\x52\xc2\x85\xf0\x77\xef\x75\x0a\xeb\x52\xe3\x5f\x98\x80\xd2\xdc\x4b\x6e\xb0\xb6\x78\x88\x16\x52\x46\x6d\x58\x60\x48\x53\x5d\xc7\xce\x7d\x47\x82\xc5\x9d\x83\x2d\x67\x28\x9b\x4b\x8d\x71\x05\x41\x8c\x85\x4d\xd0\x22\x89\xcf\x03\xf6\xb8\xf6\x08\x71\x70\x6e\x88\x0b\x93\x38\x6f\x7c\x05\x83\x35\x52\xb1\x67\xbc\x89\xf0\xf5\xcf\x31\x3a\x3f\x1d\x02\x4d\x0a\x9d\x4e\x01\x8f\xe8\x14\xad\x0a\x1d\x3c\x82\x2f\x40\x13\xb9\x88\xda\xea\x8a\x01\x55\x3d\x03\x8b\x86\x78\x83\xcd\xdf\x6f\x5a\xb9\x4e\x3f\xe4\x9e\xa7\xef\x19\xa2\xd7\x6d\x18\xf1\x59\x71\x1d\x1d\x8e\x01\xfc\xc3\xfb\x6f\x7e\x5a\xc8\x37\xda\x5a\x5c\xf7\x43\xd1\x9d\xb7\xf9\xa6\x2d\x99\x3a\xb1\x4f\xa6\xa6\x1c\xfd\xd3\x34\xd5\x15\xc7\x75\xa2\xf9\x7f\x90\xfa\x79\xa9\x91\x09\xf5\xc3\x3d\x51\x05\x04\xb4\x0c\x01\x0b\xd0\x57\x5c\x41\x86\x18\x46\x5b\x25\x32\x1d\x7c\xc4\xfd\x95\xe3\x09\xdc\x42\x62\x45\x8d\x36\x52\x4d\xc2\x7c\x75\xd5\xf3\xd9\xeb\x12\xc9\x16\x89\x42\x29\xb9\x7e\x5d\xa2\x54\xa0\x20\x0e\xf4\x88\x89\x1a\x9e\x75\x3a\x87\x19\x4c\xdd\x2a\x7c\x00\x0c\x3c\xa0\xd7\x59\x52\x2d\x66\x67\x67\x7d\xa3\x9f\xfd\xf3\x4c\xba\x62\x9e\x75\xfa\x7d\xce\x61\x4c\x57\xe5\x57\xac\xd0\x88\x52\x3c\x76\xbf\x33\x41\x2f\x56\x4b\x99\x09\xfd\x22\xac\x92\xa0\xa7\x1f\xfb\x84\xf1\xae\x67\xef\xd4\xa4\x01\x94\x08\xcd\xef\x37\xa8\x76\x44\xc8\x89\x10\x88\x0e\xed\xbb\xb0\x6f\xdf\x05\x6e\xe4\xe7\xf7\x47\x43\xe8\x12\x23\xa1\x85\x00\x26\xf3\x04\xeb\x0c\x1a\xf1\xdd\x7d\xa1\xfb\x3f\x47\xe1\x70\x17\x96\x2e\xa6\x63\x46\xa2\xe5\xc2\x78\x0d\x76\xde\x6e\xb0\x4b\x70\x5f\x77\xdb\x7d\x5e\x86\xa8\xbc\xe8\xd0\xac\xd6\xda\x0a\x7f\x08\x80\x1a\x38\x0d\x1e\x44\xff\xa7\x81\x9a\x00\xfc\xa1\xb5\x15\x50\xa0\x0f\x58\x01\xfa\x40\x6a\xce\x25\x11\x05\x43\xad\xe1\xd6\x48\x2b\x83\x4f\xa0\x35\x8a\xaa\x85\xa6\xab\x38\x7d\x11\xde\x83\xe7\x1a\x07\xa6\xcf\x2c\xa6\xcf\x88\xa7\x21\x9f\xaa\x42\x70\xab\x9d\xe1\xd5\xc6\x3d\x8b\xa2\x7a\xb3\x98\xef\xef\x78\xe6\xa2\x5a\x6d\xec\x68\x33\xaa\xd5\x17\x9f\xe9\x40\x7c\xd9\x8f\xc4\x89\x13\xca\x19\xd1\xfa\x97\x37\x46\xc2\xeb\x5e\xe0\xde\x51\x65\x66\xaa\xde\xe1\x5e\x58\xc7\x84\x37\xbe\xdc\xde\x4a\x7c\x36\x81\xf3\x18\xde\xa9\x13\x6f\x2e\xe1\xdd\x39\x82\x34\xe2\xd6\xef\xa7\x13\xde\x4f\xfd\xcb\xb2\x7c\x21\xf8\x2c\x0d\x45\xdb\x18\x28\xb8\x34\x0d\x61\x2b\x94\x5b\x16\x4b\x70\xf5\x0a\x5e\xc7\xc5\x8a\x26\x5e\xc4\xf7\x6a\xee\x44\x74\x68\x29\xf1\xbf\x62\x21\x98\x37\x1a\x32\x41\xc4\xdc\x79\x63\x21\x89\xd1\x24\xa1\xb1\x0f\x79\xb7\x13\xcf\xd5\x12\x20\x44\xd2\x23\x92\x93\x34\x6a\x98\x6f\x48\xd5\xeb\x94\x56\x70\x83\x09\xd1\xc6\xe8\x9f\xd9\xd9\x96\x02\x13\xec\x4f\x27\x47\x6f\xe4\xc2\x15\xa0\x5a\xe3\x50\xca\xe9\x54\x96\x1d\xdb\x31\x3b\xd9\x21\xbe\x2a\xcd\x37\xb1\x8b\xf5\x16\xd5\x0d\x8a\x99\x11\x39\x0c\xa4\x74\xbf\x8e\x2f\x92\xd3\x14\x57\x98\xaf\x98\xc8\xa9\xfe\xf4\x0a\x5a\x65\x11\xc1\x9f\xe8\x6e\xf8\xea\xaa\x9e\xf8\xea\x76\x4d\x4f\x4c\xf5\x76\xaa\x07\x92\x3a\x7b\x5c\xd0\x7e\x4b\xa2\x86\xdf\x10\x89\x1f\xe4\x6e\xc4\xec\x94\xf3\xa9\x6a\x6a\x10\x15\x01\x22\xa0\x05\x29\xc0\x89\xe8\x7c\x6f\xd0\x1f\x0c\x05\x13\xc0\x1c\xb0\x0c\xfc\x17\x78\x1d\x5c\x06\x57\x01\xa4\x15\xe8\xf3\x61\xa4\x34\x17\xc1\x49\x33\x72\x58\xda\x8d\x3d\x31\xbb\x5d\xa2\x00\x09\x13\xa7\x66\x22\x21\x0d\x56\x40\xf0\x1b\x81\x37\x9d\x8f\x81\xeb\xb8\x63\xdb\x99\xc5\x2e\xb4\xd4\xe2\x83\xb4\x15\x00\x23\xe2\x9d\x8d\x42\x8e\xac\x93\x38\xa9\xc6\xd8\xed\x78\x71\x11\x3b\x16\x0b\xeb\x5b\x93\x2f\x36\xed\xe1\xbd\x50\xc4\xc6\xe1\xa9\x2e\x08\xb0\xf8\xc7\x5d\x1c\xf0\xc4\x9e\x43\xab\x3e\xbd\x95\x31\x61\x80\x25\x17\x4f\x30\x96\x3c\xac\x3b\x03\xc3\x2c\x05\xbc\x41\x06\x5b\x77\x99\x04\x91\x2a\xe0\x0d\x58\x0b\x15\x95\x18\x27\xf2\x06\x81\x95\xdc\x21\x28\xa8\x0e\x3d\xef\x17\xde\x69\xc0\xa8\x7d\xa8\x80\x26\x3f\xd0\xe3\x23\xae\x19\x5e\x24\x09\x5e\x14\xd1\x32\x29\xdd\x6d\x34\x15\xa1\xda\x73\x44\xd1\xc2\x45\x7c\x67\x99\x50\xc3\x14\x62\xbb\x32\x00\x03\x40\xfc\xbf\xfc\x44\x00\x71\x1e\x3e\x91\x89\xb4\x93\x15\xcb\x6e\x03\x2e\x2a\xe6\x3f\xc1\x57\xcc\xb8\x78\x9f\xc8\x28\xc4\xbb\x38\xf4\x73\xfb\x44\x0e\xc1\x8d\x89\x53\x44\x3c\x5c\xa3\xf4\x22\x1e\x15\x80\x35\xf9\x33\x50\x73\x14\x07\x41\x39\x30\x90\x37\x13\xcc\x40\xb7\x52\xec\x10\xb9\x95\x0c\x46\xc3\x71\x0b\x31\x78\xc1\x6f\x64\xfc\x18\x59\xd0\xa5\x04\x26\xe1\xf3\x10\x85\x5d\xfc\x14\x62\x12\x8c\x04\x6e\xca\x81\xca\x64\x62\x89\x8b\x7a\x11\x79\xc6\x61\x28\x72\xe2\x6a\xf1\x7e\x9f\x00\x97\x87\x7d\x40\xa2\xac\x38\xbf\x80\x0d\xab\x17\x8a\x09\x3e\x15\xbb\xb4\xc9\x3e\x1a\x34\xa4\xa0\x4a\x15\xf3\x2e\x5d\xb2\x0f\xd0\xc3\x52\x8c\xc6\x52\xc5\xa8\xf4\xbc\x81\x9b\x0b\x32\xf3\xdb\x17\x2a\x46\x0a\x41\x0f\xfd\x36\xc8\x72\xa4\xa4\xfb\x5d\xc5\x16\xae\x65\x48\x7d\x4b\x4b\xdb\x94\xbf\xad\x4a\x99\x7f\xfb\xd2\xa1\xf4\x4f\x62\x1d\x0f\xc6\x86\xfd\x05\x8d\xc6\xe8\xd0\xe8\xef\x4c\xa3\x0a\x47\xbe\x0c\x68\x4e\x27\x16\x25\x2b\x53\x78\x89\xcc\x92\x6a\x55\x98\x2c\x0e\xb3\x56\x2f\xe3\x7d\x8d\x32\x89\x44\x35\x98\x4e\x77\x59\x38\x85\x47\xc9\xd0\xd2\x2c\xa9\x4a\x65\xaa\x06\xc1\x05\x16\x9b\x41\xac\x1e\x68\x2a\x63\x18\x9a\xe5\xb9\x94\xc2\x82\xa2\xcc\x15\xf9\xe5\xd3\x77\xde\xa1\xcf\x2e\xb6\x07\xe5\xf4\x30\xe0\x9b\xdc\x7b\x44\x06\xe0\x78\x96\xa6\x01\x53\x66\xaa\xd1\xa2\x89\xc3\x32\xbf\x77\xff\x24\xa5\x46\x96\x2d\x01\xac\x3a\x57\xc1\x59\x5c\xe9\xf4\x10\xa5\x44\x2c\x6f\xf4\x49\x79\xa0\xd7\x9a\x1d\x16\x93\xd2\x6e\x4e\x91\x49\xc5\x16\x85\x09\xfe\x2c\x69\xb0\xb2\x29\x16\xbd\x6d\xb0\x23\x59\xd1\xc7\xaa\xe0\x98\x12\xaf\x6a\xa0\x55\x99\x2d\x33\x18\xd5\xd6\xeb\xaf\x59\x1b\x24\x76\x9d\x25\x25\x33\xb5\x5a\x91\xec\x70\xaa\xbc\x01\x56\xf2\x92\xb2\x97\x2e\x23\xcf\x63\x4e\x66\x2e\x8b\x35\x0c\xa3\xd0\x64\xe6\x82\x24\xd8\xf6\xed\x43\x0f\x7d\xfb\x90\x7f\xe6\x2c\xc0\x4b\x53\xd7\xa6\x49\x58\x0e\xfe\x24\x66\x58\xfa\x02\xcd\x8a\x44\xb2\xf4\x4d\xf0\x5e\x75\x56\xa9\x4a\xcb\x30\x52\xae\xef\xeb\x8c\x73\x03\x30\x3d\x74\x02\x18\x0e\xda\x19\x40\x6b\xaa\x54\xe6\x12\x6f\x1a\xc7\xf2\x52\x5a\x24\xe1\xe5\x62\xb5\x58\xc7\xce\x2a\x65\xe5\x56\xb5\x45\xc4\xfc\x57\x12\xed\xcf\xcf\x95\x8b\x35\x92\xb2\x54\x30\x94\xd1\x54\xbb\xb3\x6e\x6b\xe4\x1c\xeb\xfc\xde\x91\x0a\x13\xfb\xdb\x37\x26\x1f\x9b\x24\x32\xd1\x69\x12\x79\xae\x54\x07\x68\x46\x37\x82\xd6\xd3\xd3\xe0\x13\x75\xf5\x62\x71\x65\xe8\xfc\x79\x00\xd8\x23\x6c\x92\x52\x07\x18\x95\x2a\x5b\x29\x49\xa3\xd5\xf2\xf7\xfe\xeb\x4d\xba\x89\x6b\x5c\x9e\xed\xea\xab\x61\xa4\x23\xbd\xfe\x75\x5b\xd5\x4e\x5e\x92\xac\x33\x56\x71\xac\xd7\x90\x10\x6e\x4c\xa9\x94\x28\x1c\x76\xcf\x5c\x8e\x1b\x91\x9e\x10\x66\xab\x54\xe2\xbc\x14\x47\x51\x8e\x49\x37\x70\xe6\xcc\x3d\x33\x3f\x9a\x9b\xd7\xa7\x77\x8d\x28\x73\x6e\xfb\x15\x59\x9a\x49\x53\xb2\xa0\x1f\x4d\xe7\x67\x27\x27\x67\x15\xd0\xcc\xc1\x61\x46\x6d\x9a\x4c\x2a\x31\xa6\xa6\x4a\xa4\x4a\xbd\x32\x55\x2c\xb7\xa0\x4f\xa6\xaa\xa1\xa5\x7d\x7d\xae\x9c\xa0\x5d\xe3\x94\x26\x6b\x39\x2d\xc3\x02\x0e\xc8\x44\x99\x8c\x88\xa5\xed\x69\x19\x2d\x25\xab\x7d\x6a\x53\x2a\x30\xab\x93\x94\x8c\x92\xf6\x58\x58\xad\xa7\xcc\x57\xa3\x10\xab\x14\x62\x25\xb3\x1a\xfe\x63\xf8\x9d\x52\x1d\xa3\x4c\x52\x29\x95\x96\x24\x4d\xf1\xea\xd2\x16\x87\xcd\x4e\x4b\xe9\x2c\x4e\x8e\xf2\xe1\x18\x94\x63\x92\xd8\xa5\xb1\x55\x64\x66\xf9\xfa\x49\xe8\xc2\x24\x15\xea\x44\x16\xb9\xc4\xa2\xd6\x2a\x24\x52\x8b\xd5\x20\x66\x9e\x4c\x4d\xb6\x4d\x75\xae\x4c\xd5\xb1\x4b\xb3\x37\x96\x29\x6c\x4a\x65\x68\x9a\x5a\x25\x05\x8b\x56\x31\xd5\x9b\x0a\xa7\xda\x92\x53\xb5\xac\x2e\x75\xe5\xd6\x34\x65\xd9\xc6\x6c\x91\x4a\x3d\xb5\x52\x53\xb9\x6a\x3e\x8b\xda\x72\xf4\x6c\xc6\xed\xda\xae\xd3\xf2\x62\xfd\xfa\xde\x34\xbd\xfe\xd8\xe2\x25\xc7\x8e\x2d\x59\x0c\x5d\xa8\x23\xa6\x2c\x45\x83\x4a\xc6\x0c\xe8\xf3\x12\xdb\xd8\x88\x9a\x5d\x3f\xbc\x81\x53\xd1\x67\x7a\x2d\x4b\x16\x8b\xb4\xea\x3d\xa9\xf4\x3a\x93\x62\xfb\x9b\x81\xc2\xd7\xf7\x2b\x0c\x34\x83\x41\x7c\x68\x1e\x8c\xc9\x46\x43\x52\xac\x28\xe4\xc4\x22\x0e\xbb\xb6\x04\x12\xbd\x46\x27\x63\x68\xa0\x29\xad\x90\x88\x3d\x0a\x45\x6a\x06\x6a\x96\xe8\x06\xa5\xba\xff\x52\x99\xdc\x37\xdb\xef\xab\xa7\xe9\xde\x57\x2a\x4a\x16\x94\x17\x6f\x99\xc4\x4a\x80\x88\xd6\xea\x4c\x32\x85\x6c\x58\x9f\xf4\xb3\x06\xc3\xee\x42\x87\x91\x61\x0c\x96\xde\x61\x90\xef\xaf\x72\xd9\xc1\xa0\x3a\xd4\x7f\x92\xf4\x5a\x96\x63\xc5\xaf\x4d\xe8\xb5\xcd\x3f\xdb\x27\x97\x2d\xeb\xa7\x56\x16\xa2\xe2\xd7\x0b\x3c\x43\x1f\x09\xe0\x5e\x25\x9c\x79\x2f\xe2\xcf\xbb\x9b\x96\x02\xb0\xa2\x76\xf5\x16\x59\x59\x4c\x92\xf8\x20\xe7\x41\xa7\x0c\x0f\xcf\xfd\xbd\x69\xcb\xa4\x49\x5b\xa2\x8b\x26\x6d\x69\x6a\xda\x12\x1d\x53\x3a\x7b\xf3\x1d\xbf\x3d\x0b\xdc\xa0\xf4\xd2\xd6\x3f\xdc\x33\x29\x8f\xc9\xee\x3f\x67\xd5\xa0\x17\xa7\xa5\x4e\x1c\xdf\xd4\xcf\x25\x1f\x72\x00\x9e\x7c\x04\x5e\xb9\xf2\xea\xba\x45\xd5\xd5\xf6\xfc\x1c\xfc\xd0\x24\xf2\xe8\x24\xae\xb0\xf7\xe8\x5a\x6f\xa6\x49\xc9\x49\x4d\xb6\xfc\x92\x01\x43\xa7\xcd\xa9\x3c\x34\xc6\xbb\x78\xe2\xf4\xa1\xf5\xbd\xbd\x69\x6a\x86\x56\x5b\x8b\xbd\x03\x7b\x0d\x0f\x0c\x8d\xeb\x1c\xc4\xfc\x72\xa5\x11\x54\xd0\x5a\x6a\x06\xf6\xe6\x42\x75\xf7\x54\x84\x11\x1d\xbb\xc1\x34\xeb\x8a\x10\x2b\x82\xf8\x76\x34\xcf\x7b\x59\xb2\x58\xe4\x3b\xc5\x09\x58\xf9\x86\xb6\xb1\xda\xb8\xcd\xb3\xce\x20\xe8\xdc\x09\x20\xd7\x88\xeb\x8f\x5f\xb9\x6c\xa2\x9e\x58\x88\x6c\x16\x7c\x02\xbe\xf7\xd9\x86\x0d\x9f\x81\x62\xd0\x00\x8a\x71\x28\x3a\xf7\x66\xa4\xe7\x85\x6a\xb5\x4d\xad\x06\x2b\x67\xd5\x3a\x52\xc9\x12\x3f\xd5\x31\x54\xb0\x6c\x8e\x9b\x4a\x7f\x40\xa2\xd7\xbf\xb4\x9e\x9c\xcf\xc1\x2b\xe7\x98\x26\x97\x39\x12\x8e\x03\xaa\x73\xad\x1b\x3e\x83\xef\xf5\x78\xdb\xef\x6e\x81\x0b\x1d\x1d\xac\x86\xf8\x5d\x6d\xea\x50\xad\xcf\x51\xa6\x59\x88\xe5\x05\x0b\x35\x65\x0e\x1f\x53\xdb\xc3\x30\x1b\xfe\x20\x88\xd3\xc6\xaf\x5f\x3f\x5e\x08\xed\x3a\x77\x2e\x72\x17\x4d\x50\x11\x09\x54\x6f\xdc\x9e\x4c\x22\xe0\xca\x9b\x08\x5f\x87\xd7\x62\x5e\x8d\xa3\x47\x53\xf8\x08\x37\x65\xe8\xa9\x5a\x55\x64\xe4\xc3\xd7\xc3\x3c\x5a\x8b\x69\x95\xd7\x88\x12\x3c\x4f\x6c\xe4\x6b\x7d\x13\xaa\xae\xb5\x56\x4d\x98\x50\xc5\x87\xaa\x26\xf8\x6a\x59\x0a\xf3\xb2\xd1\x56\x10\x16\x04\xfa\x11\xc1\xf6\xfd\x08\x0c\xfb\x6a\x8f\xe0\x64\x0c\x49\x7c\xa4\x96\xea\x51\xa6\x94\xce\x32\xc5\xe4\x11\x3d\x8a\x60\x48\x06\x37\x15\x15\xb1\xf5\x1c\x45\x13\xfb\xa0\xc4\x52\xf4\x28\x22\x2a\x0e\x45\xb7\xd6\xfa\x7a\x14\x21\xda\xd4\xbd\x8c\xc0\xf6\x7f\x51\x1e\x06\x2d\x6d\xff\x7f\x2a\x0f\x8d\x38\xd2\xff\xb3\xf2\xd0\x9d\xe5\x31\xa1\x51\x4b\xfd\x4f\x4a\x22\xfe\xf5\x52\x30\xff\xd6\xfb\xb1\x2c\x89\x63\x57\x22\xba\x61\x21\x28\x9e\xe8\xb5\xba\xb8\xab\x4c\xe2\xd1\xc4\x15\xf3\xfc\x6e\x62\xe7\x12\xf7\x1f\xeb\xde\x96\xea\x93\x4e\x26\x17\xc8\x4e\xc1\x33\x3a\xb3\x5c\x9e\x99\x29\x97\xa7\x68\xc1\xf7\x56\x77\x26\xcc\x40\xd1\xb5\xe8\x36\xf8\x1d\xba\xc7\x69\xb2\xb9\xb6\x6c\x0d\xa7\x13\xf0\xab\x19\x2c\xeb\xc3\x3e\x0a\x6c\x06\x8c\x58\xa5\xd1\xdb\xd1\xd1\xe6\x16\xd9\x1d\x3e\xaf\xcd\xa7\x41\x47\x4d\x31\x09\x9b\xfc\xe8\x0e\x13\x82\xad\xe1\x30\x08\x85\x42\xf0\xc7\x96\x16\xf8\x63\x28\x04\x42\xe1\x30\x6c\x45\x67\x75\x4b\x0b\x50\x87\xb8\x70\x1b\x6c\x0a\x47\xdb\xda\xc2\xbb\x76\x85\xdb\x68\x5b\x18\x1c\x21\x41\xa1\x39\xe3\x76\x0d\x71\x6f\x0f\x39\x04\xf5\xa2\x17\x91\x9c\x62\x5c\x18\xa2\x88\xa4\xc1\x23\x15\x9d\x7d\x76\xce\x40\x9c\x30\xfb\x34\x3e\x87\xc1\x89\x0a\x42\x34\x5a\x51\x29\x89\x3f\xdd\x98\xc1\x3a\x3e\x13\xfb\x75\x83\x18\x8d\x58\x18\xee\xa0\x20\x76\x6e\x1b\xe6\x28\x80\xb1\x7a\xb1\x48\x45\x84\x7e\x1d\xc2\x19\xa2\xd8\x08\x4a\xc5\x84\xb1\x73\xd4\x28\xea\xc1\x37\x50\x7a\xec\x0b\x58\x78\x8a\xa5\x40\xdc\x3f\x6e\x3b\x16\xfa\xa3\x08\xc1\xe7\x03\x0e\x45\x29\xd2\x83\xc2\x34\xee\x45\xf8\x01\x4a\xc0\xce\x41\x15\x43\x75\x4a\xeb\x94\x11\x79\x63\x3e\x2c\x46\x75\xaf\x55\xf7\xba\x69\x1c\xf1\x1a\x82\xc4\x5a\x3a\x0c\x5e\xa7\xbd\xab\xaa\xd8\x7b\xb0\x1d\xfd\x50\x3f\xf3\xd9\x63\x59\xa1\xd5\xb8\x4f\x42\xea\x8a\x6b\x82\xfe\x84\xa2\x33\x58\x74\x84\x35\x9e\x50\xad\xa3\x54\xb8\x1d\x45\x72\xe8\xd7\x81\x6e\xa0\x2a\x08\x7e\x29\x70\x44\xfc\x11\x86\xc0\x18\x0b\xcf\xe2\x1f\x4d\xce\x30\xe6\x1c\x98\x1c\x3b\x62\x4d\x41\x93\xed\x8f\xa8\x70\x07\xb5\x5b\xec\x9d\xb8\x01\xba\xd6\x82\x1a\x8c\xef\x09\x34\x89\xa3\x03\x5d\x88\x4c\x76\xdc\x6b\x79\x96\x8a\x34\x61\x00\x14\x2e\x94\x59\x42\x5c\x14\x83\xdb\x55\x45\x2f\x14\x35\x00\x1b\x6c\x12\x62\x4b\x32\x23\x4d\x25\x03\x1a\x50\xa4\x8a\x4a\xb4\xb5\x11\x11\xbf\xca\x14\x76\x02\x57\x01\xfc\xce\xb8\xf4\x03\xd3\x6e\xec\x70\xb1\x9b\xa5\xd0\xf2\x6b\xa9\xf2\x17\xe5\xf0\x27\x60\xeb\x40\x1d\xbb\x04\x9c\xc9\xb4\xbc\x60\x69\xca\x8c\x50\xf1\x57\x03\xea\x9a\x14\xa5\x38\xc4\xa0\x0e\x01\x6c\x99\x25\xcc\x11\x74\xaf\x09\x25\xca\x8c\x15\x02\xf7\x53\x51\x02\x7e\x56\x12\xfa\xa6\x95\xd4\x70\x6a\x2a\xb1\xba\xec\x04\x24\xf4\x77\x86\x8d\x5e\x23\x47\x9c\xa5\xa0\x31\x69\xc0\xe0\x10\x36\xa7\x0f\xe3\x7d\x17\x93\xf5\x22\x76\x77\xe5\x22\x96\xcc\x01\x62\xba\xe6\x13\x3c\x6e\x63\x3f\xa4\x1a\xfb\xcd\xa6\x4e\xfc\xfd\x69\x26\xb1\x74\xff\x7e\xa9\xd8\xa4\xb0\x9a\x18\xf9\xd6\xad\x8c\x0c\x98\x3a\x66\x7e\x59\xd7\x67\xce\x6d\xbe\x2d\x59\xd9\x60\x00\xfd\xce\x94\x69\x73\x56\xac\x98\x33\x6d\x4a\x41\xb3\xc5\xb2\xe6\xf9\xc9\xb9\xb9\x93\x9f\x5f\x33\x8d\xa9\x19\x59\x55\x1a\x6a\xa8\x42\xec\x24\x2c\x05\x7f\x19\x38\xb1\x3b\x44\x51\x71\xb1\x93\xa3\xb7\xd1\xdc\x93\x45\xe9\x2c\x58\x0b\xd8\x36\x50\x0c\xdf\x2b\xab\xe9\xd5\xa2\x52\x03\x60\x5f\x50\xcc\x8b\x27\xbf\x34\x59\xcc\x7b\x5b\xe4\x2a\x9a\x16\x65\xd6\x37\x2d\x6e\xaa\xcf\x14\xb1\x77\xf9\xfb\x72\x8c\xb8\x8f\x27\x50\xc5\xa0\x75\x77\x0d\xe3\xef\x86\x3f\xc4\x75\xb6\x13\xc6\x3a\x30\x53\x1e\x2a\x88\x7b\x80\x12\xf1\x1f\x19\xa8\x92\x1a\x3f\x45\x3c\x9f\x79\x88\xeb\x4e\x1b\x0b\x88\x21\x37\xb1\x50\xd5\xb2\xa8\xb6\x41\xfa\x26\xab\xa9\x31\xb3\x36\x6c\xa0\x27\x6f\x98\x35\x0b\x8c\x3d\x04\x7f\xba\x7f\xd9\xe5\x43\xe3\x0f\xa1\x6f\x1c\x04\x4a\xda\x32\xff\x85\xbf\xad\x87\x7f\x78\x0a\x5e\x7e\xf2\x09\x90\xfd\x04\xc8\x5b\xfb\xf3\x0b\xf3\x41\x63\x62\x2d\x81\x9b\x7e\x36\xeb\xd5\x3f\xbf\x8a\xfe\xb2\xa2\x03\xb3\xc0\xfb\xf0\x75\xf8\x13\xca\xe1\xf2\xb2\xfb\x81\xf2\xd0\x21\x58\xb7\xf5\xe7\x87\x9a\x1e\x80\x1f\xbe\xf4\x18\xfc\xf8\xf8\xb4\x47\xbf\x63\x44\xdd\x71\xb0\x98\x6e\xbc\x1a\xe2\x2d\xb9\x1e\xb4\xfd\x26\xfc\x68\x83\xa3\xcb\x80\xcd\x48\x70\xfb\xba\xb0\xa9\xc2\x3a\x45\x47\x2b\x96\x6e\xb2\x21\x85\x2e\x3c\xa1\xaa\x83\x90\x7a\x16\x4d\x07\x68\xec\xc4\xef\x1d\x39\x12\x8f\x6c\xc2\xc9\x62\xd1\xec\xa0\xae\xc4\x13\x40\xf0\xc8\x91\xf8\x9d\x70\x2c\x2e\xe6\xef\x55\x8c\x69\x37\xd6\x65\xf5\x51\xe5\xd4\x08\x6a\x2e\x96\xc5\x60\x29\x1d\xc6\x91\xd7\x74\xca\x7f\x3b\xa5\xbe\x68\xf9\xdd\x79\x41\x50\xc6\xe3\x49\xd8\xb8\x4c\x4b\xd8\x71\x21\x8a\x85\xfe\x22\x93\x95\xe5\x7a\x46\x88\x5a\x11\xed\xa4\xae\x63\x0a\x4a\x81\x67\x95\x15\x99\x34\xe1\xc2\xda\xc9\xec\x46\x37\x65\x56\x28\xa1\x81\xcc\x60\x7f\x31\x4c\x5e\x35\xd9\x00\xfe\x42\xb6\x0f\x2b\xaa\xf2\xf3\xab\xf2\xd9\x1d\xe3\xef\xda\xbd\x61\xf7\x5d\xe3\xfb\x2d\x9c\xda\xcc\x6a\xeb\xb4\x6c\xf3\xd4\x85\xfd\x3a\xa8\x5b\xc5\xb2\x21\xec\x7d\x21\x1a\x62\xc2\x28\xcb\xf6\x9f\xbb\xe0\x89\x38\x19\x7a\x29\x09\x95\xf6\xef\x5f\x4a\x02\xea\x7c\x9c\x7d\x64\x52\xcd\xe2\x2a\xbb\xbd\x6a\x71\x8d\x6c\xdb\xfb\xcf\xbd\xc4\xdb\xed\xfc\x4b\xcf\xbd\xbf\x4d\x76\xcb\xd8\x44\x19\x67\x1e\x35\x08\xf5\x5a\x35\xcd\x1b\xb5\x71\x95\x87\x2e\x17\x5c\x6a\x6d\xc0\x45\x6b\x12\x36\xf1\xc9\x6d\x10\x64\x7c\x76\x34\xa6\x4d\x56\x6c\x71\xa7\x64\x0c\x76\xd4\xb5\xdd\x1e\x94\x84\x0b\x5f\x3c\x72\xe4\xa2\xd0\x26\xa4\xc8\x4d\x9d\xd7\x9c\x60\x4f\x79\xe7\xa0\x1d\x8b\xfa\x45\xa8\x7e\x8b\x76\x0c\xd2\x99\x4c\x3a\x7c\xc5\xc6\xaf\xb8\x30\xec\x80\xf3\x67\xcd\x82\xf3\x61\x47\x02\x3a\x13\x07\x76\xa2\x11\xb1\x13\x70\x09\x28\x4d\xbd\x53\xd7\x3c\xfd\xd3\x86\x0d\x3f\x3d\xbd\x26\x95\xb7\x67\xda\xf9\xee\x97\x89\xb2\xd5\x3c\x32\x1f\xfd\xcf\x6a\x98\x03\xec\x7a\x93\x1d\x9b\x4e\xd3\x6e\x07\xaa\xdf\xbf\xac\x56\x5b\x84\x92\x30\x3f\x48\xaa\x17\x6c\xab\xfb\xba\x6e\xdb\x82\xea\x7f\xbf\x26\x55\xc1\xf2\xf6\x3e\xeb\xfe\x7a\x72\x4d\x5a\xda\x9a\x93\x7f\x5d\xd7\x5d\x2e\x8c\xcb\xde\xeb\x3f\x2b\x3b\x83\x7a\xbb\x03\x8d\x83\x7f\xa7\xe8\x23\x98\x91\x23\x4a\xfd\xcf\xcf\xf8\x7a\xc6\xf3\xfe\x7f\xbf\xe4\xe7\x9e\x7e\x3a\xa2\xdc\xfe\x76\x76\xf6\xdb\xdb\xbb\xf7\xa7\xfe\xff\xbb\xfe\x24\xe2\xed\xae\xff\xac\x33\xdd\x31\x9b\x7e\x65\xf6\x1d\xff\xbb\x8e\xe4\xdd\xb9\xd3\x2b\x74\xa1\x84\xef\xa0\xa2\x4a\xb1\x47\x3b\xae\x07\x49\x09\x04\xc5\x01\x8f\xd8\x6d\x57\x8a\x79\xab\xd8\xa4\xeb\x71\x97\x6b\xeb\x2a\xf9\x64\xc6\x9c\x5e\x56\x58\x5f\x3c\x3a\x37\x27\x27\x77\x74\x71\x7d\x61\x59\xba\x99\x61\x23\xb7\x8a\x9d\xdc\xf5\x54\x48\xab\x0c\xe3\x33\x3a\x84\x02\xcd\x23\x1b\x43\xb5\x79\x95\x56\x8b\xc5\x5a\x99\x57\x1b\x6a\x1c\xd9\x1c\xb8\x55\x1c\xd6\x95\x89\x3f\x94\xa0\x3b\x41\xa1\x59\x7c\x16\xfa\x2e\x64\xb7\x37\xe6\x52\x5d\xe3\x16\x02\xa8\xd4\x26\xbc\x4f\x44\x68\x3c\x2a\x7a\x40\xe7\x8f\x01\x8e\x09\x69\xdd\x89\x41\x77\x11\xf1\x05\x4e\x0e\xe8\x41\x02\xd2\x25\x4c\x0a\x40\xa8\x76\x91\x49\x30\xe3\x63\xd0\xe2\xc8\x16\x2a\xf0\x54\x91\x83\x03\xf8\xdd\x2e\x33\x8d\x96\xc5\xd2\x39\x52\x12\x5b\xe4\x56\x4a\xd0\xa9\xb2\x88\x13\x0f\xaf\x2c\xad\xea\xd5\x9c\x9e\x62\x9b\xba\x4d\x31\x57\xd4\x52\x1f\x0d\x0f\x9f\x03\xdf\xab\xdb\x3e\x45\xc6\x89\xb6\x4e\x2c\xf6\x0c\x60\xc3\xb5\xbe\xf0\xf8\x82\x3e\x55\x1e\x38\xcc\x7a\x02\x9f\xdb\xf2\x1d\xf0\x92\xbb\x02\x2f\x7b\x93\xb3\x32\xc0\x33\x19\x59\xbf\xe0\x68\xdb\xed\x99\x95\x62\xba\xca\x13\x5e\xe1\x1d\xc4\x81\x70\x51\xba\xbf\x90\xbf\x7b\xea\x2f\xde\x52\x58\x97\x94\x5f\xdf\xb2\x64\x38\xc8\xac\x99\xde\x36\x65\x3b\x98\xb8\xce\xd0\xb7\x6b\xaf\xa7\x09\x7d\xe3\x42\x0a\x03\x72\xe1\x66\x71\x08\xb6\x20\xc9\x20\x0e\xc2\x08\x48\xcb\xa0\x66\xf1\xc5\xac\x44\x1c\x09\xe7\xce\xb6\xf0\xe3\x25\x12\xcf\x08\x2c\x99\x1b\xc4\xac\xfe\x84\x6d\x0a\x3f\x73\x78\x5c\x95\xad\x6a\x5c\xd5\x01\x57\xc8\x57\x8b\x55\x71\x43\xf4\x53\xe9\x7e\xbe\x8e\xab\x12\xe2\x6d\xcf\x6c\x59\x94\xa6\x33\x4d\xd9\x3e\xf3\x1e\x71\x9d\xf2\xf6\xa1\xd1\xfa\xde\x73\x33\x60\xd8\xbb\x6f\xd6\xe0\xa2\xed\x53\x4c\xba\x34\x2e\x5c\xe5\x89\xb6\xd0\x6a\x6c\x1e\x1a\xfd\xf1\x06\x75\xd6\x5b\xeb\xcb\x49\x87\x94\x37\x37\x1d\xec\xb5\xa5\x80\x9f\x88\xdd\xe8\x8f\xf1\x04\xf4\x0e\xcf\xeb\xfd\xcb\xd9\xed\x53\x34\xa2\x6d\x33\xa1\x32\x33\x07\xce\x19\xd2\x1c\xc8\xa7\xa9\xea\x91\xb3\xf6\xa5\x83\xa7\xa7\x6c\x67\xcb\xe3\xfb\x40\x82\x0e\xb0\x0b\xcd\xa2\x03\xa9\xc9\xd8\x8f\x31\x87\xd7\x57\x82\x98\x25\x60\x17\x54\xc6\x3b\x91\xa6\xb9\x98\xba\x12\xcf\x89\x18\xcc\x7f\x0a\xf0\x45\x78\x43\x86\x74\x19\x9e\x23\x18\xbd\x38\x2a\x08\x18\x67\x1c\x96\x9a\x33\xc4\x30\x47\x02\x78\x7b\x92\x21\x77\x05\x1b\x7f\x3e\xe6\xbb\xa2\x1c\x78\x89\x69\x24\x16\xf4\x70\x6c\xe1\xc9\xa3\x15\xa6\x60\x0d\x07\x3b\x66\xed\xdb\x37\x6b\x41\xee\xc0\xb1\xfb\x66\x79\xf2\xe8\xc5\x68\x00\xef\x9b\x33\x12\x3e\x3e\xee\xee\x83\x47\xad\x19\x55\x1e\xb3\x1e\x34\x14\x56\x80\x10\x0e\xc1\x4f\x2d\xda\x1c\xb5\xba\xa2\x48\xaf\x05\x4d\xd6\x8c\x6f\xa3\x4b\x93\x8c\xbe\xda\x3c\x27\xad\x8c\x92\x15\x29\x6d\xba\xea\x99\x3f\xa7\xa1\x06\x0c\xcb\xf1\xa3\x25\xe8\x7b\x5b\x32\x70\xbb\x97\x16\xf7\xf5\xb8\xe0\x3b\xe1\xed\x85\x3e\xce\xba\xa4\xaf\x4b\xba\xef\xc2\x3e\x8d\x65\x7d\xfd\xac\x7d\x9a\xbf\xee\x9b\x15\x9d\xda\xb8\xd5\x30\xc2\x44\xbf\xd5\x7f\xa0\x32\x60\xf7\x54\x49\x0f\x48\xeb\x8b\x6e\x50\x28\xb0\x41\x21\x36\x1b\x9c\xc6\xa2\x90\xe4\x88\x32\xc0\x68\xae\x89\x6b\x7d\x99\x55\xca\x33\xa1\xda\x59\xb5\xb3\xde\xac\xc8\x99\x1e\xa1\x74\x23\x64\x7d\x73\xe9\xfb\x7c\xb5\xab\xed\x85\xf0\x92\x27\xd8\xcf\x73\xfe\x7c\xbf\x5c\xf1\x50\x5f\xf6\x00\xcd\xf6\xce\xbe\x47\xd6\x83\x19\x04\x1f\x0f\xf5\x24\xd0\xe9\xc4\xaf\x1c\x38\x3b\x99\x15\xfc\x11\xdc\x42\x18\x68\x8a\x51\xd7\x22\x2c\x17\xc6\x98\xc5\xe0\x86\x06\x7b\x0c\x35\xc9\x6b\x27\x5a\x15\xb1\x55\x01\x1e\xd6\xb8\xdf\x9a\x38\x8c\xce\x1c\x13\x7e\xad\x29\x9f\x97\x41\xf7\x5e\xda\x52\x0f\xc3\xf5\x2d\xf0\x8b\xe8\xa7\xf5\x2d\x8f\x2e\x03\x0f\x66\x47\x1b\xa6\xee\x16\x57\xb6\xd4\x8b\x5a\xc7\x47\x7f\xeb\x0e\x45\x2a\xcd\x2e\x46\xad\x91\x7a\xd3\x98\x50\xa4\x15\x85\xc5\x03\xf2\xe8\xf0\xd8\xcc\x12\x2e\x24\x2d\x4a\x83\x7d\xab\x26\xa0\xb1\x5c\xa8\x56\x80\xf2\xa4\x54\xac\x54\x6e\x76\x89\xa8\x92\xc2\xc8\xdf\xee\x3f\x03\x0f\x61\x8f\x2f\x27\xef\x6e\xa9\xb7\x2d\x7b\x34\xbc\x79\xca\x90\x19\xb6\xfa\x96\xeb\xad\x60\xca\xa1\x35\x8c\xa2\xd8\x65\xb6\x39\x3c\xfa\x34\x97\xcd\x65\xce\x55\xe6\x96\x95\x64\xaa\x54\xad\xa9\xce\x09\x55\x36\xb3\x8b\x3f\xac\xf0\xa4\xbc\x41\x04\x58\x02\x26\x1e\xe6\xed\x8a\xa8\xc5\x98\x66\xa1\x35\x3f\x1a\x4d\xe4\xe0\x8f\x41\xbc\xa5\x80\x18\xd4\x1b\x36\xa8\x65\x62\x90\x24\xd8\x64\xc9\xc1\x60\xed\x74\x07\x13\x07\x93\xd2\x25\x04\x51\x83\xe9\x70\x33\x15\x05\x80\x60\xa8\xc7\x73\xbe\x62\x33\x08\xc4\xc1\x4e\x18\x87\x0e\x07\xc1\xbb\x83\x6e\xd3\x4d\x53\x70\x8b\xf9\x55\xe3\x35\xeb\x47\x0d\x5b\xa7\x1f\x36\x43\xbf\x6e\xd8\xe8\x8d\xca\x71\xcb\xf9\x95\xd2\x80\xb1\x20\xbd\x30\x79\xe6\xbe\xd2\x22\xc8\x55\x8f\x28\x74\x95\x4b\x1e\x5c\xb3\x53\x52\xee\x2a\x08\x31\x1b\xcc\x53\x24\x41\x57\x7e\x15\xb3\x98\x67\xc5\x53\xc5\xc5\x76\xfa\xb9\xec\x74\xd0\x51\x52\x5b\x8c\x86\xea\xd9\xd0\x00\x86\x0d\xe5\xbb\xcb\x25\x8b\xcd\xfb\x98\x8a\x1b\xd4\xc4\x5a\xb0\xb3\xd4\x9b\x67\x04\x9f\xa4\x58\xc7\x6f\x91\x8e\x98\x33\x63\x28\x7c\x10\x9c\x18\x3a\x63\xd1\x28\xe9\x9d\xe3\x93\x1c\x90\xe2\x73\xd4\x56\x99\x6c\xcf\xcc\x60\x8b\x0b\x6e\xf0\x8a\xc2\x05\xae\xe8\x48\x7a\x8c\xab\xa0\x2a\x5f\xa5\x88\x7e\x02\xee\x75\x7a\xab\x3c\x4a\x39\x4c\xb7\x2c\xb6\xc2\xf9\xb6\x2c\x33\x58\x99\xd3\xa7\xb8\xc6\xfc\xf5\x9f\x58\x20\x07\x99\x0a\xad\x2c\xbf\xba\xc0\x05\xad\x74\x8b\x52\x59\x50\x1d\xdb\xf3\xc5\xed\xea\x25\x08\x24\x53\x08\x12\xd7\xad\x29\x5d\xb9\xe0\x64\xdc\xe1\x4b\x98\x07\x84\x00\x1a\xb5\x6e\x42\xee\xbc\x64\x26\xe8\x9a\x08\x6e\x26\x7c\xba\x98\x97\x29\xfc\xc3\xb2\xbb\x7b\xb2\xaa\x8a\x07\x0a\xc4\xef\x9c\xd1\xc1\x8d\x4b\x2a\xa9\x2f\x11\xa6\x88\x81\x7e\x34\x59\x0c\xf4\xcf\xde\x6b\x94\x4e\x19\x98\x5f\xbc\xa0\x7f\x4a\xea\x84\x75\x96\x71\xea\xe6\xaa\x68\x91\x40\x08\xf7\xce\xec\xdf\x6b\xdf\x9f\x6d\xc0\x86\xff\x38\x34\x1f\x40\x0a\x86\xdf\xf1\xd7\x15\x13\x22\x98\x62\x00\x2d\x4d\x93\x2f\x67\xf5\x2e\xc9\x2c\xc7\xf3\x40\x68\x4c\x60\x48\xad\xaf\x89\x2e\x0b\x0c\x09\x1f\x9c\x7d\x85\xee\x6b\x18\xc5\x6f\x9e\x70\x79\xf1\x5c\xb8\x23\x34\x54\x20\x83\x33\xef\x71\xd0\x8e\x59\xfb\xda\x63\x76\x68\xc2\x2f\x61\x5f\xdc\x49\xbc\xd8\x4e\xa2\xd6\x11\x4f\x2b\x89\x55\xf4\x69\x98\x98\x0a\x53\x1a\x10\xb0\x56\x31\xa0\xaf\x91\x4f\x17\xa9\x08\x14\x21\xe9\x44\xa6\x74\x25\x13\x43\xb0\x14\xa6\x0e\xd4\xaf\x50\x17\x34\x60\xfd\xf8\x40\x7c\xfa\x10\xba\x26\x88\xb5\x38\x43\x50\x5f\xdc\xc2\xba\xda\x4f\x16\x56\x2a\x80\x97\x5e\x9c\xb8\x77\xfe\x76\xd3\x08\xc3\xd6\xc6\xe8\xd4\x59\xfb\xfe\xaa\xd9\x37\xab\x7e\xbd\x45\x83\x08\x55\x8a\xa1\xef\x92\x97\xec\x01\xe5\xc0\xfe\x81\xa2\x7a\x44\x9b\xaa\x9e\x34\x3a\x0d\x66\xb1\x62\x83\xb4\xca\x83\xa2\x8f\x48\x42\x1d\x95\xe2\x6b\xd3\x73\x2a\xde\x44\x54\xa9\x36\x74\x46\x59\x95\xe9\xab\x65\x2d\xb9\x7d\x65\x23\x74\xdb\x35\x03\xb2\x7d\x43\xc5\xb9\xfd\xce\x9f\xf7\xf4\x0b\x7a\xe0\xa5\x42\xfb\xea\x5a\x1f\x73\x9b\xa9\xe2\xe8\xc9\x09\xe3\xe0\xe3\x23\xe7\xec\x43\xbc\x12\xbd\x38\xcf\x33\x6b\xdf\xd8\x81\xb9\x0b\x30\x21\x86\x1d\x5c\x4d\x20\xc3\x7a\xf4\x60\x45\x21\x68\xd0\x9b\x3d\x55\x9b\xd5\xea\x1c\xad\x05\x7e\x8a\xc3\x19\x56\xd0\xa4\xd5\x17\x55\x80\x19\xc6\xa4\xe8\xd2\xbe\xf3\x3d\x57\x69\x13\xa6\xbb\xd1\x30\xad\x74\xe6\xd5\xb6\xff\xc5\x9f\x03\x86\xd5\x34\x8c\x85\xef\xb8\x3c\x7d\x8b\x4b\xf1\xac\x97\xb1\x05\xbe\xe7\xab\xed\xc4\x81\xe1\x9f\x61\x29\x2a\x99\xf0\x8f\x86\x5b\x6b\xee\x14\x19\x39\x9d\x91\x27\xb1\x6e\x19\xc6\xf5\x4a\x47\x27\xe2\xd8\xc7\xed\xf2\xe9\x04\xe0\x50\x1d\xd9\x94\xd6\x09\x98\x30\xa3\x75\x0a\xf8\xa1\x56\xb1\x59\xa1\x83\x7f\x54\xe8\xb4\x4a\x26\x59\xa1\x63\x95\x83\x80\x44\xaa\xd8\x24\xd7\x02\xcf\xab\x62\xc3\x72\xbd\xe4\x95\x3c\xa0\x95\x6f\x56\x48\x25\x83\xd1\xf9\x2e\xbd\xe4\x8a\x54\xca\x28\xd8\x4f\x24\xfa\xed\x0a\x2d\xd3\xb6\x44\xa1\x8d\x5c\x20\x0f\xe7\x6a\x15\x4b\x94\x5a\x9d\x34\x52\xa1\x90\x49\x35\x72\xba\x0e\x8e\xd2\xe9\xc0\x63\xd1\xa7\xe5\x1a\xa9\x54\xc9\x9c\x96\x6b\x74\xd1\x6b\x49\x29\xbc\x43\x42\x8b\x75\x9a\xb8\x0e\x83\xb0\xa6\x96\x50\xd9\x54\x99\x60\x87\xe0\x16\xdc\x38\xf8\x4d\xb1\xba\xb8\x99\x2e\x6f\xb3\x02\x20\x99\x30\x0f\x1a\xe9\x1e\x9b\x24\x54\xc2\x06\x09\xde\x30\x61\xb5\xbd\xed\xc3\x57\x3e\x50\x35\xa0\xf8\xac\x58\x22\xd6\xdd\xab\x17\xbf\x7e\x50\xab\x14\xf4\xa0\x5d\xe1\xe0\x88\xc9\x23\x6a\x44\x79\xf0\x02\xfc\xf1\x8d\x25\x4b\xde\x00\x6a\x90\x0b\xd4\x24\xf4\xd1\x2d\x76\x21\x98\xca\x46\xbb\x16\x7e\x33\xf0\x32\xdc\xaa\x51\xaa\x35\x60\x2e\x7c\x00\xe7\x83\x61\x70\x92\xd2\xee\x9b\x3e\x6e\x77\x86\x94\xf1\x2f\x79\x03\xfe\xd8\x23\x3f\x58\xdb\x23\x23\x14\x4a\xac\x77\x1e\xa2\x35\xc4\xd3\x15\x28\x0a\xf8\xf3\xb1\x91\x1f\x9a\xa0\xb8\x4e\x78\xa3\x34\xec\x8a\xa9\x02\x71\x87\x1e\x56\xe0\x15\xec\xff\x5e\xb2\x9b\x9a\xa6\xc7\xfe\x11\x3d\x7e\x7f\xb3\x52\x96\x27\xd2\xaa\x65\x2c\xab\xd2\xa7\x58\x9d\xba\xba\xc9\x4d\x03\x9d\x7d\xd5\x6a\x99\x4a\x2d\xf6\x29\x54\x8c\x3a\xd7\xd7\x90\xb7\xe7\x77\xaf\x33\x72\x94\x54\x9a\x27\xd6\xfc\x8b\xa4\xbb\xdf\x78\xdd\x7d\x73\x63\x46\x1f\xbc\x79\xf3\x08\xe4\x37\x6b\xb5\x0d\x0a\x96\x56\x30\xac\x5c\xa5\x94\xf3\x53\x07\xd5\x4d\xb1\x28\x95\x32\x40\xcb\x07\xeb\x75\xac\x3a\x2d\x59\x7f\x7a\xc7\xae\x53\x38\x95\x92\xf9\x57\xa9\xd8\xc2\x5b\x34\x3b\x30\xdc\xe2\x1b\xe2\x71\x14\xba\xd1\xc6\xb7\x72\x36\xa2\x53\x42\x49\x58\x13\xef\x96\x80\x80\x84\x71\x07\x4c\x12\xc0\xa3\xff\x74\x1b\x26\x74\xd1\x26\xfa\xc8\x23\x4d\x03\xa0\x0d\xb4\x9d\x86\x9f\xd1\x47\xe8\x23\xd1\x26\x74\x0d\xda\xa0\xed\x34\xb0\x37\xc1\x30\xdd\x86\x85\x9c\xf8\x06\x49\x86\xa3\xd3\x70\xa2\x58\x32\xfc\xd8\xe7\x4d\x20\x4c\x75\x93\x1b\xe1\x77\xba\x11\xe9\x44\x6f\x32\xf1\x12\x60\x0a\xb8\x25\x5c\xc0\x1d\x90\x00\x37\xdf\xb3\xeb\xd2\x67\x81\x0a\x5e\x6d\x6c\x6d\x82\x57\x81\x29\x73\xd4\x1a\x58\xc6\xe4\x82\x37\x61\x19\xfc\x6f\x60\x42\xb1\xc0\x04\xaf\x66\x8e\x62\xea\x6e\x51\xc9\xe7\xb0\x31\x4a\xe3\x29\x94\x04\x3f\x18\x46\x8f\x54\x81\x37\xd1\xa3\xff\x8d\xb2\x3b\x85\xb2\x43\x0f\x36\x82\xeb\xb7\xe8\x94\x58\x56\x7d\x45\x42\x71\x19\xa8\x9c\x3a\xca\x12\xf3\xb2\xd9\x97\x1a\x86\x7a\x68\xb8\xbb\x57\x80\xf8\xae\x2a\x17\x53\x2f\xf3\x13\x27\xc2\xc4\x57\x0a\x49\x85\xa9\x7e\x46\x2c\xe4\x15\xd4\xec\x95\x80\x00\xb0\x01\x0c\xcd\x55\x64\xa5\x0d\xc5\x41\x3a\xae\xc9\xab\xb3\x2b\x89\x7a\x3a\x96\x06\x62\x8d\x0e\xb4\x34\x27\xf0\xc5\xb4\x8f\xa8\xcd\xd8\x89\xf3\x73\x7a\x6b\xc0\xe5\x0e\x04\xdc\xae\x00\xbb\x2e\x30\x38\x10\x18\x1c\x71\x2f\x38\xb2\x00\xfd\xb1\x6b\x17\xd4\x0f\x59\xb8\xe0\x48\xa4\xef\xd1\x45\x8b\x8f\x3e\xf8\xf5\x51\x76\xdd\xd1\xc5\x8b\x8e\xa2\x8b\xc8\x67\xf0\xbf\x4f\xdd\x7e\x61\xd5\xaa\x0b\xb7\x9f\x62\x1e\x83\xf0\x03\x78\x1a\x2e\xb9\xb0\x7f\xec\xa8\xbd\xe7\xe8\xa1\xf0\x27\xb8\x0e\xbb\x54\x00\xab\x59\xb0\x26\x37\x28\x99\x77\x00\x5e\x3b\xb8\xf1\xdb\xfa\xfc\x06\xd9\x08\x5b\xfd\xd5\x8d\x07\xe1\xb5\x03\xf3\x24\xc1\x5c\x30\x77\x2f\xb8\xef\x8b\x36\x70\x27\x9d\x22\xbc\x3e\x40\xe3\xb7\xfb\x27\xe0\x77\x2e\x58\x00\x48\x19\x5a\xc9\x8b\x8f\x02\xf4\xfb\xfa\x28\xcc\x04\xab\x81\x6a\xd5\xc5\xf6\x8b\xab\x58\xd9\xfc\x79\x63\x0f\x5c\x58\xb2\xe8\xfd\x7b\x27\x44\x79\x1c\x8d\x3e\x03\x7a\x2d\xcb\x7a\xd7\x78\xef\x79\xe9\x3e\x78\x6d\x7f\xcb\x94\x92\x95\xc6\xdb\x9c\x53\x16\xec\x07\xe2\xfb\x5e\xba\x07\xc5\x4f\x5d\xd0\x82\xfa\xcc\xf4\x1b\x14\x7b\x80\xd0\x45\x1d\xd6\x17\x26\x60\x8d\xe8\x60\xd0\x77\x29\xe7\x00\x2b\xc0\x1e\xc9\x79\x53\x4c\xf9\x1d\xad\x3e\x63\xca\xe5\x01\xac\x75\xe4\x61\x04\x3d\x24\x2b\x8b\x68\x29\x56\x2c\xb2\x02\xa6\x37\xdc\x02\x7f\x01\x52\xb0\x1c\x48\xe1\xbe\x17\xd6\xaf\x7f\x61\x3d\xc8\x55\xb0\x8a\xcc\x3c\xf7\xa2\x33\x35\x40\x66\xb5\xca\xd3\x46\xa6\xf5\x39\x03\x7f\x4e\x1b\x89\x82\x69\x40\x36\xe0\xdd\x85\xee\xbc\x4c\x94\x44\x9a\x51\x10\xb2\x73\xfa\xaa\x01\x2d\xa5\x63\x1f\x72\xba\xec\xa1\x82\x0c\x7a\x09\x90\xbe\xfc\x0a\xca\xe9\x97\x57\x5e\x06\x07\xd7\x8f\x1f\xb7\x7e\xfd\xb8\xf1\xd1\x87\x53\xf2\x32\xb2\xec\xc9\x35\x86\x01\x24\x17\x85\xd5\x5a\x7d\x06\xfe\xdd\x8a\x02\x23\x71\x7e\x86\x9a\x64\x7b\x56\x46\x5e\x8a\xde\xaa\xd4\x9a\x59\xa5\xc3\x6c\xf4\x26\x27\x9b\xb5\x4a\x6b\x02\x7e\x18\x4f\xf9\xa9\x20\xd1\x56\x8d\xef\xda\x7b\x80\x88\x57\xd2\xe9\xae\x7c\x12\xc2\x9a\x47\x26\xac\x24\x84\x9d\x64\xa1\x19\x15\x5d\xa2\xa3\xbf\x38\x9f\xc6\xfc\x2f\xad\x76\xd9\x44\x6a\xa3\xed\x26\xf1\xf1\xfd\xe3\x37\x8c\x1f\xbf\x01\x78\xa5\x19\xbd\xd2\xa4\xae\x55\xeb\x96\xa6\xa4\xa4\xf5\xca\x90\x1a\x33\xfb\x0c\xbb\xdb\x7b\x57\xa1\xd1\x28\x31\x96\x1b\x4f\x2d\x1c\x84\x8e\x12\xa3\xf1\x54\xf1\xf6\xe1\x7d\x32\xfb\xbf\x06\xff\xfe\xda\x6b\x40\x4e\xaf\x48\x84\x3a\x65\x20\xce\x69\x7c\xf4\x17\x7d\x12\x97\x2c\x4e\xca\xcc\xd0\x6a\x93\xb9\x24\x7d\x5e\xaf\x5c\x9f\xb2\xf8\xae\x82\x58\x06\x8b\xea\x84\x2c\x5f\x2b\x56\xfa\x72\x7b\x01\x2d\x90\xbf\x86\x73\x03\xdf\x76\xc7\x37\x15\x64\x10\x2f\xa0\x7a\x6b\x05\xbf\x75\x78\x91\x43\x34\xa1\x11\x39\x88\x39\x2f\xef\xe4\xc8\x25\xa0\x93\x15\x15\xa5\x56\x8e\xd9\xf2\x15\x3c\xfd\xe4\x53\xf0\xf4\xd7\x5b\xc6\x85\xe8\xd3\xf9\x0e\xb0\xc7\xd9\xb7\x10\xad\xfd\x5f\x85\xaf\x3a\x3c\x85\x7d\x33\xc0\x5e\x3b\x17\x1e\x5b\x19\xbd\xfe\x14\x6c\xfd\x7a\xf3\xe6\xaf\x41\xe8\x29\x9a\x0f\x8d\xeb\xb8\x64\xc7\x00\x8b\x85\x7d\xed\xf0\x1d\xe0\xb7\xf7\x2d\xf4\xa6\xc3\x55\xf6\x98\x8e\xfa\xbd\x88\x06\xcc\xc0\x7d\x8e\x03\xd8\xd4\xc6\xe5\x73\x51\x18\x10\xba\xd8\xe5\xb3\x1b\x94\xb4\xc9\x48\x99\xb0\x92\x3a\x8d\x7a\x9b\x8f\x33\x08\x0a\x5c\x44\xbd\xce\x5f\xec\x2b\x42\xab\x0e\x14\xc5\x33\x46\xad\x09\x78\x68\x94\x00\x7f\x26\x8a\xe7\x3e\x84\x97\x93\xe1\xcf\x95\xc0\xd7\x00\x8f\x8d\x34\x8c\x5d\x9c\x0b\xe8\xfe\xee\xa1\xc5\x6a\x33\xb8\x3d\x2f\xed\x23\xa3\xee\xc3\x54\xd7\x51\x1a\xf4\xee\x63\xb0\xcf\xb1\xcd\xab\x48\xaa\x9e\x08\x42\x17\x77\xeb\x82\x0b\xed\x17\x15\x5f\xf1\xe0\x45\x65\xff\x5e\x66\xf0\x1e\x00\x5b\x83\xd1\x9f\xec\x33\xe8\xe7\x0b\xa3\x37\x36\x02\x00\x4e\x33\xfa\x77\x8a\x16\x8d\xe4\x5c\xe2\x22\xda\x52\xe6\xe8\x15\xd9\x31\xb5\x1c\x1c\xcc\x76\x83\x2f\x7d\x7d\xe9\x22\x90\x4f\x7b\x3c\xfd\xfe\x5a\xfd\xe1\xde\x40\x21\xcd\x67\x88\x00\x28\xa4\x83\x45\xb0\x9f\x3d\x0a\x35\xcc\x75\x57\xa1\x12\x20\xaa\x92\xcb\x6e\xef\x08\xd5\x26\xe0\x69\x4b\xa9\x24\x6a\x21\xe2\x6a\x77\x25\x50\x3c\xbc\xf2\x54\xb2\x3c\x08\xb2\x4e\x3d\x8f\xb1\xb1\x51\xfb\xa3\x5a\x92\x55\x41\x1a\xd9\x6e\xc5\x80\x38\x04\x32\x1b\xd1\x2b\xb2\x5e\x52\x61\x3e\x3f\x80\x31\x09\xd1\x45\x3e\xf1\xec\x87\x39\xdd\x7c\xb2\x2e\x10\x11\xf7\x6d\x56\xec\x0f\x18\x0d\xe5\x0a\x34\x30\x05\x0d\x8f\xc4\x19\xbb\xdb\x6c\xc0\x3c\x6b\x4f\x36\xbb\xd2\x8b\x50\xb6\x13\x24\x4b\x36\x6d\x9d\xc8\xc0\xa3\xfc\xf2\x0d\xdb\x26\xd0\x77\x36\x33\x96\x64\x56\xd1\x6b\xe0\x27\xeb\xd5\x88\x21\x10\x01\xf5\x80\x81\x6f\x3d\x0e\x92\x74\x0a\x34\x48\xe8\x05\x87\xd3\xfa\x4a\x65\x5c\xb5\x72\x2e\x6d\x4f\x61\x15\xc9\x7a\xfd\xa0\xb6\x0d\x2a\x5a\x81\xd2\xa9\xfa\x57\xbc\xf7\xa4\x5b\x2e\x73\xce\xdf\x9f\x56\x22\x95\xb1\xa5\xca\x11\x6b\x3e\x84\x97\xe0\x4b\xf0\xd2\x87\x6b\xd6\x7c\x08\x32\x41\x3f\x90\xf9\xe1\x67\xb7\x98\x60\xe8\xf5\x66\x17\x2e\x8e\x7d\x18\xdd\x57\x3c\x77\xd5\xba\xb1\xa2\xe8\x2b\xfc\xbc\x95\xeb\xc7\xf6\x7e\xfb\x38\xad\x55\x29\xa4\xe9\x2d\x87\x6c\x7d\x50\x96\xd5\xaa\x99\xb4\xd3\xca\x2a\x52\x33\x99\xda\xcf\x37\xa8\x18\x39\x7e\xed\x80\x3e\xe7\x1e\x07\x46\xb5\x5c\xa4\x93\xcb\x5b\x0e\x58\x51\x3a\xae\x4a\x31\xb7\x44\xa2\x08\xd5\x7e\xba\x4e\x4e\xe3\x2a\x28\x06\x7c\x43\x5e\xbe\x26\xb1\x40\xf4\xda\x7f\xc6\x47\x81\xd8\xdc\x6a\xa4\xd2\x31\x3a\x0e\xc0\x3b\x6b\x4e\x17\xfa\x5c\xfe\x0c\x09\x30\xb2\x01\xc6\x85\x66\x12\xb5\xd3\xa8\xa5\x11\xc5\x70\x02\x3f\xed\xce\xc0\xf8\x24\x88\xb0\x30\xb7\xff\xf8\x87\x6f\x97\x47\xcd\x47\xe0\xdf\xbd\xf0\xbb\x30\x98\x87\x16\x8d\x43\x07\x00\xe3\x81\xaf\x2f\xc0\x87\xde\x12\xfd\xae\x8c\x99\x7a\xee\xee\xaf\xe1\xdf\xc1\xde\x46\xd9\x34\x58\xd2\x7e\xf2\x64\xfb\x49\x11\x45\xaf\xd8\xf4\x83\x5b\xf2\xf0\x2e\xf0\xc8\xfd\x8f\xc3\x39\xd1\x99\x77\xef\x49\x85\xe5\xf6\xeb\x60\xcd\x15\x20\x0b\xec\x83\xa7\xe0\x27\xd1\x61\x1b\x95\xf4\xfc\xf5\xa0\x62\xa9\xe8\x24\x7e\x08\x8f\x2b\x1a\xf7\x2f\xee\x6d\xb2\x9b\x60\xa3\xdc\x2e\x1a\x2d\xac\x99\x20\x16\x51\x04\xf0\x18\x62\x88\xce\x27\xcd\x9b\xdc\x22\x2b\x36\x04\xc2\x58\x1b\x4a\x16\xcd\x83\x6e\x2b\xc0\x66\x41\x1e\x1c\x30\xa1\xb2\xb3\x94\xce\x48\x2b\x01\xcb\x6c\x86\x5f\xc1\xbe\x73\xca\xb4\xfd\xee\x9d\x21\x93\x2d\x54\x64\x7f\xbf\xd8\xbf\x9e\x4f\xae\xf5\x8e\x10\xab\x64\xc9\x9c\x69\x4c\x89\x6a\xab\xd6\xe0\xad\xcf\xf2\x4e\xa8\x71\x96\x97\x4a\xd0\xf2\xc9\x98\x65\xee\xfd\xe8\xed\x03\x4f\x1e\xd9\x3b\x3b\x25\x47\xdc\x27\x6f\xd4\xd4\x14\xd5\xce\x3b\x00\x22\x29\x2c\x3d\xe2\x81\x4b\xf0\xea\x0d\x0a\xe4\x5d\x5b\x0f\x86\x83\xbe\x20\x67\x3c\xfc\x46\xc9\x68\x86\x2e\xa4\xf3\x7e\xdf\x5b\x8c\x18\x3f\xc0\x0d\x75\xf0\xa6\x02\xe9\xab\x7d\x72\x06\x95\xa4\xf0\x12\xaf\x9b\x66\xcb\x32\x68\x5e\xab\x10\x33\x13\x87\xca\xca\x73\xd2\x6a\xa6\xfb\xc6\xbe\xfb\x84\xcb\x35\xac\xff\x71\x30\x66\xfe\x20\x38\x1b\xbe\xb1\xe6\x06\x75\xe5\xc4\x94\xb8\x2c\x27\x86\xe3\x1f\x10\xfc\x35\xb2\x44\xc5\x15\x6b\x7f\xa2\xf9\x29\x40\x0c\x3f\x5c\x98\xe0\x61\xd8\xd9\x5e\xe8\xbb\x01\x3d\x4d\xa0\x14\xfc\x5a\x5f\x31\xed\x26\xbe\x15\xb5\xdc\xc5\x63\xaf\x1f\x84\xdf\x4d\xaf\x1d\xcd\xb2\xa3\x6b\xa7\x03\xfd\xc1\xd7\x8f\xdd\x06\xcf\x3e\x9a\xaa\x7c\x12\xfe\xee\xcb\x4d\xb8\x6f\x3c\xc7\x3c\x02\x0a\xc1\x83\x07\xb6\x34\x2f\xbd\x63\xe9\x81\xb7\xde\x3c\xb0\x6c\xf3\xb2\xd9\x9b\xef\xe1\x2c\xf3\x76\xad\x19\xdf\xbe\x3d\x7b\x7b\xfb\xf8\x35\xbb\xe6\xcd\x59\x0e\xc4\x7b\x7e\x00\xd5\x27\x9f\xc3\x3d\x09\x2c\x8b\x5c\x6b\x85\x8f\xad\xae\x18\x5e\x02\x26\x7f\xf9\x27\x30\xb9\x74\x58\xe5\xed\xf0\x44\x6c\x7d\xa2\x46\xdf\xed\x47\x2a\x87\xf2\x51\x15\x54\x3f\xe2\xef\xc6\x2e\xac\x5a\x11\xdb\x82\x4b\x8d\x0a\x89\x75\x2d\x02\x5a\xa7\x88\xd1\x52\x68\x75\x82\x81\xcc\x30\x0c\x8e\x91\x21\x24\x1b\x7f\x37\x40\x64\x7e\x58\xc1\x15\xd8\xc9\xa2\x16\x11\xc5\x8e\xb5\x1f\xef\x99\xf2\x78\x11\x78\xb8\xe4\x2b\x78\xee\x91\x97\x1f\xfd\xf2\xa1\xef\xf3\x34\xe3\xde\x02\xfa\x17\xfe\x56\x01\x5e\x04\xc9\x56\x15\x75\xe3\xe9\x50\xf3\x88\x82\xda\x69\xfd\x66\x0d\x9f\xb3\xeb\xb6\x77\xfb\x7a\xaf\xbf\x39\x69\xe4\xa2\x7b\x56\x3c\xef\x99\x0c\xae\xd1\x97\xb8\x4b\x77\xef\xf8\x23\x3d\xaa\xa4\x60\xd7\x1b\xe3\x87\xdf\xff\xf7\x8d\xc3\x16\x03\x7e\xd1\x91\xde\x8f\x82\xe6\x5f\x86\xc0\xef\xd1\x84\x33\x11\x2c\x31\x07\x26\x57\x2d\x3e\xfe\x1c\x78\x6a\xd8\xe4\x7e\xf9\x8f\xce\xdf\xdc\xb1\x6a\xe4\xf8\x61\x03\x3e\xdd\x74\x96\x1e\x78\xd7\x6b\xaf\xc5\xe5\x6c\x61\x5e\xf0\x33\x82\x71\x01\x6e\xb9\xab\x69\xb8\x69\xbf\xd0\x97\xb8\x31\x4d\xe9\x14\xd7\xc9\x8e\xa5\x48\xd8\xcd\x8c\xda\x00\xd9\x88\x88\x90\x8d\x08\xd0\x14\xb5\xe1\x0d\x4b\x51\xa8\x6a\x02\xb0\x31\x24\x61\x04\xef\x67\x32\x67\x23\x82\xfe\x4b\x7c\xbf\x21\x1c\xd3\x79\x11\xca\x65\x44\xf3\xe2\x9f\x51\xb9\x4c\x78\xe7\x58\xe7\xc5\x7b\x69\x82\x12\x34\xfa\x1f\x7b\x7b\x56\xa7\xb9\xa3\x9f\xe1\xb0\x4e\x9f\x9b\x6c\xb5\x09\xae\xaf\xd1\xa8\x72\xba\xee\x7c\xa3\x5f\x49\x86\x47\xc9\x24\x69\x75\x2c\xed\xb5\x96\x4e\x84\x3f\x16\x54\x57\xb3\xdf\x82\x62\x74\x2a\x78\xfa\x82\x1a\xe6\xd0\xfa\xec\x41\x81\x95\x75\xb6\xec\xf2\x74\x87\x41\xaa\xd5\x8f\xe8\x9d\x37\xa8\xd4\xeb\xd0\x80\x0b\xd5\x5c\x38\x34\xa2\x64\xe9\xc6\xd9\x87\x26\x8e\xd6\x49\x7e\x18\xfb\x58\x73\x75\x01\x97\x84\x1f\x6c\xff\xb6\xa0\xfa\x03\x30\x65\x5a\xde\xc0\x7e\x85\x72\x73\x55\x4a\xf5\x6b\x47\x8f\x9e\x19\xec\xca\x0a\x29\xe4\x32\x53\x7e\xa1\x6d\xea\x93\xc2\xfa\x56\x79\x83\xe2\x6e\x23\xf2\x92\x7e\xd4\x63\xd4\x1b\x68\x56\xe5\x05\x88\x10\x41\x15\x1a\x2b\x90\x63\x25\xee\x98\x59\x14\x59\xc4\xe1\x20\x5a\x21\x18\xf9\x9b\xad\x57\x02\x31\xd3\x15\x93\x91\xd3\x13\x88\xe2\x74\x92\x89\xcf\x41\xf2\x31\x79\x35\x31\x8b\x2b\x41\x95\x1d\x45\xa6\x81\x38\xec\xb1\xe0\x8b\x49\x13\x43\x6f\x13\x2e\xd1\x1a\x12\xb7\x56\xec\x33\xea\xb1\xe5\x5b\x0c\x27\x06\x97\x81\x31\xea\x3b\x8b\x8a\x53\x13\xcd\x76\x32\x10\x51\x8d\x16\xec\x3a\x70\xf4\xd8\xbd\x7b\xe6\x2f\x08\x66\xcb\xd9\x62\x2f\x07\xb4\x96\xa2\xe9\x93\xc3\x1b\x76\xdc\xbd\x31\x3c\x49\x24\x55\xc9\x0d\x19\xd0\x50\x55\x61\xb0\x68\x54\x52\x49\xb0\x8a\x93\xaa\xd4\xb4\x56\x5c\x55\xa5\xb6\x6a\x15\x22\xbe\xb2\x52\x6b\x4d\x01\x6f\x79\xf2\x86\xd6\x7f\xf8\xd3\x87\xf5\x0d\x39\x2a\x20\x29\x2e\x92\x3a\x7b\x03\x66\xca\xcc\x3d\xbb\xcf\xbf\xbf\xab\xcc\x6f\x51\xa9\xd1\x6a\xcf\x25\x6b\xde\x31\xa0\x7f\xf3\xec\xfe\xa1\x79\x1b\x9a\x9e\xde\x54\xb3\x7d\xdb\x5b\x67\xb6\xf9\x92\x68\xb1\xd4\x6e\x34\xa4\x19\x34\xcc\x5c\xab\x35\x72\x11\x64\xae\xf2\xcc\x5d\x71\xdb\x87\xf5\x43\xf3\x3c\x69\x12\x99\xcc\xac\x90\xf0\xb3\xa6\x85\xf7\x6c\x5c\x9b\xa2\x45\xa4\x4f\xb1\xee\xd1\x07\xef\xbd\x43\x26\x5a\x10\x0c\x85\x2a\x5a\x5a\x76\xcd\x18\x69\x11\x8b\x2d\x80\x19\xd3\x77\xd5\xf4\xc9\xfe\x92\x92\x00\x2a\x31\xcb\xe8\x9c\x74\x03\x29\xb1\xb4\xbc\x8a\x53\xd3\x2a\x25\x2f\xad\xac\x52\xa7\x6a\xb9\xaa\x4a\x8d\x35\x65\xe0\xd2\x79\x33\x87\xd6\x8f\x1b\x57\xdf\xd0\x6c\xe7\x53\x34\x6a\xcb\x94\x6a\x30\x8c\xde\xd2\x34\xe3\xdc\xae\xdd\xe7\xd5\xb2\x22\xaf\x98\x61\x44\x77\xcf\x98\xd6\xaf\x7f\xfd\x80\x46\x38\xa5\x4f\xcd\xa6\xa7\x26\xbe\xb9\x7d\xdb\x36\x5f\x3a\x2d\x93\x48\xc5\x9c\x49\x45\x3f\xa2\x32\xcd\x83\xa9\xd9\xc3\x75\x9e\x71\xf5\x43\x67\xb6\x80\xf3\x62\xbd\x5a\x61\xe6\xc7\x66\x97\x14\x4a\xf3\x93\x15\x6a\xb6\x34\x54\x86\xfb\x4c\xea\x0d\x4a\xf4\xb9\x08\x63\x8f\x05\xa9\xc5\x58\xc2\xe6\xf4\x1b\xf5\x68\x3a\x70\xa4\x7b\xb0\x5b\x60\xe2\x94\xd9\xc4\x3a\xfd\x4e\x8c\x36\x83\x38\x34\xd4\xd9\x11\xb7\xaf\xa4\x1d\x4a\x26\x9b\x16\x00\x6e\xfc\x46\x8c\xd9\x97\x86\x19\x12\x2c\x2d\x50\x32\x64\x9b\x9e\x0b\x08\x5f\x1e\x0d\x14\x27\x31\x40\xb4\x32\x06\xa0\x27\xc6\x08\xfe\x72\xa0\x64\x44\x2a\x95\x51\xa5\x08\xae\xdd\xff\xd9\xd2\x65\x3f\x3c\x73\x6c\x6a\xba\x98\x15\x49\x15\x5c\xeb\x1c\xb0\x11\x1c\x78\x0d\xdc\x2b\xd3\xe8\xd3\xbd\x1a\xad\xc4\x90\xaf\xe1\x0c\x76\x73\xae\x2e\x07\x88\x94\x62\x09\x27\xc2\xfa\xbf\xa2\x59\x45\x9e\x55\x70\x43\x8a\xd3\xa5\x54\xfc\x29\x73\xb0\x4e\x27\x53\xba\x96\x6d\xd9\xb1\xbe\x39\x58\xd2\x78\xfb\xf2\x6d\x53\x8a\x0c\xe9\xa3\x44\x86\xde\xc5\xbd\xb5\xf0\xa3\xdc\x31\xab\x4f\x4e\x9f\xfa\xc0\xa4\xca\xe4\x68\x53\xbf\xaa\x9a\xe1\x56\x65\xaf\xe6\xb9\x95\xbd\x45\xa2\x54\x9d\x3a\x30\xb4\x4f\x61\x70\xec\x92\xf1\x59\x12\x95\x84\x03\xec\x92\xc2\xa7\x46\x66\x7e\xa0\x9e\x5d\x38\x2c\x4b\x29\xd5\xe5\xed\x37\xf2\x12\xec\x42\x54\x70\x16\x4b\xd3\xea\x02\x11\x2f\x07\x8f\xa6\x55\x15\x65\xcb\x64\x6d\xce\x41\x7a\xbd\xcc\xd8\x6b\x54\xa6\xa8\x60\xd8\xdd\x63\x87\x6f\x1b\x5f\x93\x65\x91\xd0\x6b\x2a\x6d\x3e\xda\xe8\x6c\x08\xa4\xf4\x5e\x3a\xa7\xa1\xb0\xa8\x66\xfc\x90\xf4\xe8\xe1\x91\xf9\xb9\xc6\xe4\xc9\x79\x25\x0f\xd0\xfa\xfc\x89\x9d\x36\x3f\x61\x32\x47\x79\x89\x86\xd6\xec\x04\x9b\xd0\x38\xaa\x72\x97\x6d\x6e\x67\xc8\x19\xc3\xb4\xf4\xc5\x30\x2e\xb9\x1e\xd7\x82\x7e\xe9\xaf\x58\xab\xc7\x8c\xb5\x88\x8b\xee\x98\x63\x70\x44\x08\x31\xb1\x14\x4e\x37\x12\x1d\x30\x25\x84\xd9\x70\x7b\x98\xa1\x12\x90\x0c\x12\x82\x1c\x55\x57\xdc\xa5\xbf\xd2\x84\xc9\x6f\x53\xec\x28\xd8\xa2\x0b\x1a\x85\x09\xe1\x76\x2d\x36\x3d\xa4\x43\x3d\x73\x22\xc1\x6e\xed\xa3\x22\x5e\x0e\xbc\x44\x83\xcd\x90\x38\x27\x14\x19\xb1\xbe\xdd\xbf\xc6\x02\xfd\x17\x0d\x8a\xda\x8a\x45\x93\x42\x54\x50\x1b\x41\x45\x88\xa0\x55\x21\x96\x44\x77\x55\x9d\x49\xf4\x4f\x15\xbe\x65\xab\xa1\x18\x70\x24\x9e\x46\x1b\xfd\x80\xa5\x5a\x6f\xaa\xb3\x10\x1e\x7c\xeb\x86\xaa\xeb\xde\x27\xdc\x88\x73\x21\x7d\xc2\xd9\x05\x71\xe6\x22\x54\xb9\xd3\xf7\x50\xcc\x0e\xdd\x64\xd4\xff\x9f\xb5\xc3\x28\x6c\x65\xfe\xca\x2b\x82\x8d\xf9\xab\xaf\x0a\x56\xe7\xf1\xeb\x57\x5e\x91\x44\x6c\xff\x59\xd3\xdc\x73\xeb\xec\x3a\xaf\x61\xdb\xff\xae\xbd\xf4\x68\x1d\x95\x49\x95\x60\xac\x58\x89\x00\x9a\x14\x6b\xa5\x98\xb5\xfe\xff\x55\x03\x71\x26\x48\x49\xcd\x52\xd8\x26\x14\xfd\x0a\x10\xea\xd2\xd1\xf4\x9f\x35\x0b\xdd\x1b\x52\x12\x09\xb0\x09\x0d\x82\x72\x23\xd9\x46\xcb\xfe\x83\xc6\x00\x9d\x3c\x6f\x6a\x8c\x8e\x00\x32\x35\xc7\x4f\x09\xd2\x09\xd0\x6a\x76\xd1\x49\x1a\x53\xfc\xe8\x32\x5f\x27\x7a\xf2\x22\xca\x65\x8e\x6c\x04\x8f\x2b\x5d\x66\x28\x9c\x3a\x84\x78\x74\x14\xe4\x8a\xac\xb0\xf6\x21\x5e\x47\xa8\xa2\x40\xa7\x9c\x3c\x0e\x7e\xe0\x24\x3b\x25\x9d\x22\x23\x3f\x78\x6d\x43\x90\x98\x7d\x0e\x07\x8f\x80\x5c\x78\x01\x36\xc2\x0b\x34\x85\x2b\xb3\xeb\x9c\xd6\xa2\x7d\x14\xb4\xaa\xa2\x0b\xf0\x2b\xe8\xbb\xd9\x42\xe1\x36\xc8\x05\x8f\xd4\xa1\x7b\xe7\x76\xe1\x64\xcb\x1e\x15\x64\x9a\x4e\xf4\x9d\x3f\x26\x73\x94\x93\xe8\xe0\x10\x11\x54\x97\xb8\xa5\xeb\x63\x61\xa4\xa6\x78\xb1\xba\xa8\x69\x0c\xb8\x01\xb3\x91\x06\xd1\xfb\x52\xe9\x76\x4b\x66\x3b\xb1\x37\xa5\x43\x82\x55\x2a\x95\x69\x89\xbc\x02\x04\x13\x55\x86\xe0\xa4\xb5\xb7\x66\x5a\xb6\x93\x94\x34\x6a\x5b\xf6\x8f\xe8\xab\x6f\xb7\x60\x40\x48\x82\x04\xe6\x32\x87\x2c\x1d\x57\x88\x8e\xbf\x99\x69\x15\x00\xc2\x50\x72\x9c\xa6\xb5\x55\x90\xb7\x8b\x29\xae\x83\xe8\x15\xe3\xb1\x4c\x09\x7b\xc9\x3c\x10\xb9\x9d\x5c\x5c\x63\xda\x1f\x40\xdc\x17\xe7\xf4\x73\x1a\x4e\xe3\x44\xff\x01\x3a\xf3\x5f\x5a\x8c\xda\x68\x38\x29\x29\x7a\x6f\xf4\x5e\xa9\x52\xa7\x41\x97\x34\xba\xa4\x9b\xe9\x66\x5b\x47\x12\x1d\xea\x68\xa2\x6d\x6c\x5b\xb4\x8d\xfb\x59\x6f\x6f\x0f\xeb\x6d\xfc\x0d\x4a\x26\xfb\xe5\x17\x4e\xa6\xb7\x73\xf8\x12\x90\x4b\xc5\x81\x0e\xe9\xd7\xec\x2f\x8a\x0e\xe9\x65\xf6\x97\xf6\x28\xfb\xcb\xe5\x0e\x69\xa2\x6c\x58\x83\x4a\xe5\x8b\xcf\x37\x78\xa3\x96\xb4\x24\x2a\x8f\xfd\x16\x31\xf1\x8d\x70\x3c\xac\x70\xb1\x69\x4a\xa1\xd3\x40\x1b\x2f\x46\x27\xd0\xc6\xb3\xdf\x76\xbb\xec\x78\x44\x2c\xa2\x29\xad\x4e\x21\x16\x41\x74\x12\x21\x66\xbd\x3d\xa4\x17\xa3\xce\xa3\x43\x73\xbb\x5e\x0c\x70\xa0\x67\x0c\x73\x83\x92\xea\xda\x11\x93\xce\x00\x14\xe0\x10\xcf\x1e\xdf\xaf\xb1\xf1\x78\x98\x63\xfb\x1a\x13\x85\x15\x62\x7b\x78\x54\x89\x9f\x05\xed\x4e\xb7\x88\x13\x11\x53\xcc\x40\x90\x0f\x60\x25\x09\xac\xea\x49\x0b\x8e\x53\xc0\xbb\xdd\x4f\x3f\xc2\xa9\x7f\x9f\x37\xed\x71\xd8\x5e\x9c\x2e\xd7\x33\x6c\x12\xe7\x54\xda\x55\x66\xa5\x8a\xdb\xf5\xf0\x8f\xe0\x3e\xf0\x2d\xb8\x8f\xae\x4d\x80\xf5\x14\xfe\x80\x07\x3e\x08\x2f\x3f\xa6\x7d\xbc\x44\xca\x00\xa5\x4c\x65\xe4\xec\x4a\xa7\xb9\xa0\xa0\x8f\x7b\x4c\xf4\xee\x27\x80\xfb\xb1\xc7\x3a\xed\x79\x13\xca\xed\x21\x88\xae\x3d\x6c\x83\xe2\x67\xbc\x77\x82\xc6\x4b\x1a\xc6\x73\x43\xfc\x38\xe6\xcb\x33\xfc\x6a\x17\xd0\x77\x56\x08\xcb\xa9\x7d\x2e\xbf\x0b\xbb\x94\xe0\x02\xc4\x27\x15\x76\x0a\x63\x05\xb7\xac\xd9\x55\xd8\x0c\x0f\xbd\x7f\xf7\xba\x51\x29\x49\x9e\x7b\x57\xe6\x94\xf6\x2d\x7f\x0f\x4c\x79\xff\x7d\x30\x14\x57\xb8\x5f\xed\x9b\xb0\xbd\xb0\x92\x53\x25\xb1\x0c\x07\xa4\xb4\x9c\xe6\x0b\x0c\x59\x49\x56\xd9\xa1\x67\xbb\x44\x1d\xf4\xb3\x37\xd7\x3b\xbc\xf5\xbb\x3b\x5a\xde\x1d\x58\xd4\x34\x76\x68\xc5\x1c\x97\x48\xbc\xf5\x3b\xa0\xfd\x0e\x6e\x7d\x02\x35\x86\xf8\xc9\x3e\x4a\x31\xa2\x33\xac\x9a\x55\x21\xb6\x50\xec\x33\x95\x78\x06\x64\x8e\x06\xa2\x7d\xeb\xbe\x3f\x31\x6d\xda\x89\xef\xc9\x77\x94\xb0\x14\xf7\x0f\xd4\x03\x45\x94\x94\x52\x60\x2a\xad\x41\x7f\x20\x19\x90\x33\x36\xe3\x85\xe8\x3f\x4d\x7e\x68\xc0\x8d\x06\xee\xe8\x49\x78\x89\x59\x16\x3d\x09\x32\xd9\xc3\x38\x4c\x0f\x81\x97\x71\x2c\x91\x1b\x36\xdc\x68\x15\x3d\xce\x85\x88\x1d\xba\x08\x50\x8e\x74\xc6\xc5\xd0\xd8\x7b\x6b\x30\x66\xf5\xaa\x15\xd6\x37\x01\x3f\x8a\xd4\x72\x46\xd1\xe3\x52\xf8\x1a\xfc\xaf\xaf\xee\x9a\x9c\xdb\x38\x60\x84\x76\xee\xa0\xa4\x47\x3c\xf7\x8d\x98\xb8\xd8\x94\x6b\x0c\x54\x7a\x67\x4c\x13\x2b\x56\x94\x86\x96\x83\x61\x1d\x4c\xfb\x77\x70\x12\x1c\x0a\xf8\x23\xa0\x0a\x88\xea\x26\x1b\xee\xc9\xbc\x53\x2c\x59\xbb\x15\x7e\x3e\xf2\xfa\x6f\x7e\x33\x62\xab\x19\xdc\x21\x13\x77\xae\x63\x45\x02\x2e\x83\x94\x20\x6b\xdb\x01\xa3\xb3\xa3\x0e\x2c\xa2\xda\x29\xb6\xfc\x93\x4f\xa2\x9b\x3e\xf9\x04\x94\xa3\x89\x81\x02\xc7\xe8\x65\x20\x0b\xfe\x31\x7a\x07\x3c\x1f\xef\xd7\xf1\x67\xb5\x54\x25\x35\x22\xf6\x3c\x4f\x30\xb7\x03\xee\x80\x1b\x3b\xda\xe6\xd0\x4a\x37\x80\xd5\x94\x63\xa0\x20\xd8\x06\x0b\xad\xa1\x0c\x76\x1f\x5a\x75\x62\x8d\x1d\x6f\xc0\x91\x8e\x39\xe9\xe2\x20\x0d\x7c\x44\x49\xcf\xa7\xb1\xa3\x95\x5c\x2c\x1d\x2e\x07\xb3\x4d\x5e\x9b\x96\x3c\x7b\x76\x72\x5a\xad\x7c\xa2\xcf\xe6\x83\xfb\x6c\xc9\xe0\x09\x47\xd5\x80\xc2\x8d\x1b\x9a\xea\xf4\x52\x45\x0d\x68\xdd\x2b\xe2\x68\x00\x4e\xb9\xbe\x11\xb1\x2c\x23\x4f\xa1\x97\xfa\x79\x8e\x86\xdf\x9b\x86\x99\xe4\xca\x7e\xb8\xf8\x6c\xab\x7d\xd8\xc2\xe4\xd2\xd2\xe4\x85\xc3\xec\x4d\x4d\x47\x6d\xf9\x86\x40\xad\x53\xb9\xe8\xf6\x01\x61\x31\x5c\xa7\x94\x03\xbe\x71\xa4\x12\x00\x96\x95\x72\x60\x7d\x58\x24\x62\xea\x53\x52\x52\x65\x91\xdf\x8e\x44\x4b\x21\x46\x2e\xa2\xc5\xd3\x8c\xbc\x1e\xde\xa5\x94\xd0\x92\x91\x42\xdd\xa7\x12\x1a\x84\xf7\x7b\x86\x62\x2f\xa3\x58\xcf\x90\x6c\xc8\xd8\x62\x9b\x30\x31\x88\x76\xa7\x2e\x08\x4c\x1c\x51\x2d\xc1\x63\xc5\xe7\x64\x58\xa2\xe0\x00\xf0\xec\x42\xe6\x19\xe0\x47\x0b\x8c\xf4\xd8\xc2\x14\xad\x19\xf5\x82\xe7\x41\x57\x1c\x06\x5a\xcf\x53\xbd\x8a\xe4\x17\xe1\x0e\x58\x0f\x77\x5e\x94\x79\x83\x8b\x87\x8d\xe8\xfd\x11\xc8\x5a\xcc\x24\x29\xc1\x02\xed\x80\x9c\x60\x63\xe3\xaa\x51\xf0\xe9\x66\x90\xfb\x71\xd9\x88\x61\x8b\xdb\x1f\x18\xb5\xaa\xb1\x31\x58\xde\xc8\x20\xf6\x5e\x6a\x95\x65\x1d\x39\x72\x24\x4b\x66\x95\xca\x64\x39\xf7\x4c\x68\x9c\x70\x8f\x71\xd5\xa8\xc6\xf2\x60\x23\xfd\x74\xd9\xc4\x64\x4f\xd1\x41\x78\x6d\xff\x7e\x20\x3e\x98\x9f\x9f\x3c\xa9\xac\x61\x49\xc5\xbd\x52\x5a\xa2\x50\x33\x43\x9d\x79\x28\x97\x51\xc1\x81\x30\x53\x72\x4f\xf9\x12\xf8\x0d\x79\x49\x23\x6c\x92\x59\x65\x52\x69\x76\x66\x66\xb6\x54\x2a\x4d\x93\xe5\x14\x49\x24\x45\xd7\xf0\xcb\x46\xad\x22\x7d\xba\xef\x0d\x5a\xf4\x32\x6a\x97\x02\x2c\x7d\x08\x32\x78\x1b\x0a\x6b\x3a\xd8\xad\x0c\xea\xd4\x1a\x91\x1c\xb1\x7e\x18\x94\x28\xa0\x04\xbc\xdd\xef\x61\xf3\xd1\x0a\xaa\x2f\x50\x8f\xd8\xf9\x1a\x00\x7b\xbe\x01\xf3\xe6\x37\x77\x1c\x04\x33\x1f\xf9\xc3\x1f\xdf\xae\x19\x07\xbf\x87\x0f\x6c\x7f\xf5\x67\x9a\xf9\xf2\x0f\x05\xbd\xd5\xf4\x4a\xb1\x2d\x38\xa4\xa1\xda\x68\xdc\x7c\xfd\xcd\x03\xf4\x57\xab\xbf\x79\x77\xef\xc8\x3f\xbc\xf9\xf2\x8d\x57\xe6\x1f\x6d\xb0\x99\xfb\x78\xe1\xe6\xc0\x40\xda\x5f\x03\x9a\x7e\xf7\x13\x18\x3e\xb9\xf7\xfa\x09\x83\x56\x0f\x2a\x31\xab\x00\xe0\x86\xac\xbb\x27\xde\x5f\x89\x6e\xbd\x80\x46\x9f\x42\x51\xa8\xa7\xc5\x58\x0a\xdc\x21\xb1\x11\x49\x27\xb3\xe4\x95\x50\x13\xaa\xae\x21\x06\x07\x1b\x71\x60\x33\x15\x11\xe2\x51\xfe\x81\xe2\x6c\x74\x53\x14\xab\x98\x83\x74\x62\xc2\x82\xb8\xa0\xb6\xb6\xaa\x09\x9d\xba\x9d\x2f\x13\xbb\x95\x02\x3c\xbf\x3b\xc9\x96\x1c\xee\x08\x82\x3f\xc9\x00\xf1\x26\x25\x08\xac\x11\x79\x44\x2c\x1e\x65\x4f\x70\x38\x6a\x62\x1c\xd8\x3e\xa5\xc8\x0a\x94\x40\x54\xf0\xd1\xc0\x9f\xb7\xef\xbe\xb6\x63\xc4\xce\xb7\xe6\xad\xbf\x5a\xf7\xc7\x79\xf0\xfe\x77\x7e\x03\x3f\xba\xb0\x7a\xf5\x05\xe0\xfa\xcd\x45\xb0\x00\x86\xe8\x67\x17\xc3\x5a\xf8\xc3\x73\x71\x09\xef\x73\x80\x05\xc7\x6e\xbf\xdf\xdd\xb4\xc5\x96\x27\x97\xe6\xfd\x32\x7f\xf9\x9d\x3b\xae\xed\x9a\xf7\xd6\xce\x11\xb7\xcd\xb9\xfd\xd1\xd6\xd5\x17\xe0\x47\x88\x7a\xa0\x2c\x3e\xa4\xfb\xc1\x23\x51\xf8\x51\x17\xad\x84\x3f\x5f\x85\x8b\x8f\x00\x62\x4e\x82\xda\xc9\x86\xea\xd1\x16\xc3\xd3\x8d\xe1\x11\x04\xec\xc0\xad\x01\x69\x88\xce\xd1\x76\xc0\xed\x8e\x1e\x18\xc7\x8c\x6a\x7f\xf6\x05\xf6\x7e\xfd\xee\xe8\x77\x60\x1c\x94\x47\x1e\x05\x53\x99\x5e\x60\xdd\x3d\x91\x4f\x17\x33\x63\xa2\xc9\x4d\x13\x23\x0f\x81\x21\xf4\x9a\xc8\xa7\x74\xaf\x78\xdb\x84\xb9\x1f\xc9\x7e\xee\xed\xa8\xa3\x10\x8f\xe4\x9d\x2e\x6b\x3a\xc3\x1c\xb6\x44\x21\x9a\x2c\xe8\x8c\xae\x11\xbf\x1a\x3f\xfb\x3a\xcf\x41\xda\xe8\xd5\x74\xfa\x24\x36\x08\x70\x39\xe8\x98\x2a\xec\x3e\x20\x62\x69\x28\xf2\x5b\xe9\x6e\xcf\xa0\xb3\x41\x23\x9c\xe9\xb0\xba\x49\x8d\xfe\x68\x2a\x7e\x8e\x86\x5b\x8e\xb4\x44\x71\x74\xe7\x8f\x93\xf3\x6a\x60\xb3\xe7\xda\x6d\x79\x2e\xc3\x20\xb5\xa6\x37\xaf\xee\x97\xa2\xad\xd1\x65\x16\x01\x35\x2f\xe7\x12\xd3\xd2\xea\x36\x75\xd7\x5f\x54\x0d\x42\x58\x61\x0d\xb6\xd2\x3f\xaa\xd5\x2d\x74\x0b\x3a\x90\x9f\x88\xc7\x06\xbf\x9b\x55\x0e\x93\xcd\x66\x72\xa8\x34\x52\x95\x4a\xfd\x81\x4a\xa1\x92\x6f\x04\x80\xe1\x45\x2d\xb1\x84\xd1\x1d\x2d\x6a\xc1\xc7\x23\xe9\xab\xb3\x04\x04\x2c\x81\xdd\x2a\x07\x76\xa3\xc9\xca\x11\xbe\x3e\x0e\xf2\x26\xac\x24\x51\x3f\xe3\xb0\x97\x2e\x3b\x51\xf8\x11\xbc\x3c\x61\xa9\x55\x20\x28\xea\x05\x62\xc4\x07\xcf\xc0\x8e\x74\x25\x8b\xd5\xa1\xb1\xfb\x47\x31\x2a\x1f\x6c\x15\x8b\x25\xbc\x3a\xf2\x90\xd3\xa3\xd6\xa4\x99\xd2\x6c\x9a\x26\xc4\xa9\x13\x9e\x1f\xa2\xa5\x64\x93\xad\x2c\xd7\x63\x71\x6b\x75\x26\x4b\x6e\x5e\x12\xbc\xd7\x78\x67\x23\x56\xda\x69\xbc\xd3\xd8\x9c\x94\x97\x6b\x31\xe9\xb4\x6e\x8b\x27\xb7\xcc\x36\xdb\x30\x39\x88\x2b\x1d\x9c\x6c\x98\xad\xb1\xa1\x7c\x34\x6a\x8f\x93\x1d\x63\x53\xd3\x1f\x8b\x5d\xe2\x56\x8e\x95\x6a\xc3\x65\xb3\x9d\x19\x41\x5b\x86\xba\x29\x9e\xb9\x56\xd9\xa4\x4f\xf1\xbb\xea\xdc\x59\xbe\xd2\x9a\xf4\xe1\x73\xf6\x5d\xd8\x37\x67\x78\x7a\x4d\xa9\x2f\xcb\x5d\xe7\xf2\xa7\xe8\x4b\xfb\xa3\xaf\xd2\xbf\x54\x9d\x61\x0b\x66\x38\x67\x97\x85\xb5\x7a\x59\x77\xdd\x00\x1e\x8d\x62\x3b\xe1\x49\x88\xf2\x0b\xa5\xc6\x36\x40\x5e\x12\xea\xa1\xd4\xb2\x7a\x48\x49\x34\x5a\x02\xe8\xe7\xd7\xc3\x21\xcf\x44\xd7\xd1\x9b\x6f\xa5\xad\x12\x6c\x19\x0c\x14\xf0\x1f\x80\x7d\x21\x12\x06\x0a\x30\xf3\x16\x9b\x27\x98\x86\x5c\x46\xdf\xc5\x8d\xb8\xe1\x32\x6a\x10\x35\x89\xf8\x20\x76\x8b\xe2\xf8\x4d\x78\x1f\x4b\x90\x55\x1b\x4d\x98\xdc\xbb\x85\x2d\x7e\xa2\x01\xd7\xe5\xbd\x43\xf0\x11\x67\x05\x26\xc1\x0d\x3c\x7e\x4c\xed\x76\x11\x11\x55\x86\xba\x33\x0a\x8b\x9d\x08\x17\x20\x9a\x5b\xed\xe3\xd5\x7c\x56\x92\x5c\x9e\x66\x91\x9a\x56\x7c\xb0\x72\xd3\x17\xfe\x39\xf5\xc6\xdc\x90\xa9\x76\x26\xfe\x1c\xac\x71\xc8\xfc\xfd\x6f\xdf\xd5\xf1\xe7\x47\x7f\x3c\xb3\x37\x08\x82\xbf\xfd\x0b\x18\x6b\x5a\xbc\xbf\x7d\x92\x29\x2b\x49\x67\x96\x6b\xfb\xf7\xd7\xca\x8b\x2b\xb4\x93\x00\xb5\xc9\x94\x65\xd2\x99\x15\xda\x39\x73\xb4\x0a\xb3\x39\xa8\x05\xcf\xf5\x9a\x68\xc8\xcb\x4f\xb2\x30\xd2\x52\x6b\xff\x01\x2b\xdf\x5f\xb1\xeb\x36\xcb\x60\x53\x28\xd7\x58\xbb\xf7\xc2\xde\xf9\x83\xef\x3a\xf3\xd7\x47\xf7\x7f\x69\x7c\xe1\x4b\xf8\xdb\x6f\x92\x5f\xbe\xed\xc9\x1d\x76\x85\xa6\xc2\xdc\x0c\xe8\x66\x73\x30\x43\x61\xbe\xab\x1a\x26\xbd\x95\xae\xd0\x06\xcd\x0f\xbe\xfe\xdb\x07\xcc\x15\x1a\xad\x3c\x05\xf1\x14\x19\x37\x28\xee\x0a\xd9\x87\x9f\x87\xd8\x48\x32\xeb\xe1\xb1\x2a\xe0\x32\x62\x0f\x08\x1c\x36\x7f\xc1\x82\x34\xac\x9e\x9b\x06\x88\x4f\x52\xd6\x8d\xb7\xdf\x7d\x71\x11\x1b\xc1\xf8\x72\x64\x03\x0f\x4b\x2c\xbe\x88\x57\x53\x2b\x63\xb2\x8a\xb9\x2b\xab\x9f\x59\xb3\xe6\x99\xd5\x57\x17\x1d\xb4\xef\xba\x3a\xf7\x85\x95\x93\xfd\x0e\xb9\xc4\x92\x37\x6c\x56\x43\x6e\x8a\xd8\x64\x99\xe3\xce\x5c\xb4\x4f\x9b\xe7\x9f\x30\xbe\xc6\xa2\x5a\x7c\xd7\x8c\xac\xac\xb1\x9b\xde\x5a\xb1\xfc\xcc\xda\x31\x2e\x6b\x8e\x3f\x57\x43\x8b\x74\xe6\xe2\x0c\x8f\x45\xaf\x6a\x74\x3a\xab\xa7\x64\x4b\x5d\xd5\xab\x47\xd5\xdd\x3e\xbe\xa6\x20\x5d\x27\xa5\x15\xa3\xd7\xac\x19\x3d\x66\xcd\x9a\x53\xaa\x27\x97\x0e\x0c\x0d\xce\xee\x33\x72\x78\x83\x57\xa9\xcb\xaf\xf4\x66\x38\xf2\x7b\xb9\x95\xe9\xf9\x29\x56\x1a\x4c\x6f\x30\xe7\xe5\xba\x8a\xf2\xd2\x15\x7c\x60\xcc\xc2\x3b\x26\x0c\xde\xb1\x7e\x52\x69\x71\xc3\xac\x99\x5e\x4f\x4d\x4e\xaa\x54\xaa\x75\xf9\x47\xf9\xd5\x3a\x00\x82\x83\x9d\x49\x2e\x7f\x41\xaf\xd4\xe4\x52\x7f\x28\xd0\xcf\x5f\xe3\x4d\xb4\xc3\x13\xec\xd7\x6f\xda\x3d\x70\xf6\xb8\x4e\x74\xc4\x4d\xb7\x6a\x95\x37\xc8\xda\x13\xa0\x23\xe8\x7e\x15\xee\xe9\x73\xbb\x89\x26\x23\xb9\x4b\x28\x14\x0b\x83\x1b\x3d\x3c\x6b\x77\xf1\x72\x82\xbe\x4d\x80\x58\xd3\x77\x5a\xc3\x53\xb6\x20\x50\x7b\xd0\x02\x1e\xa8\x8d\xce\x44\x5f\x69\x89\xb2\x86\xd8\x35\x9d\xdf\xdd\xa6\x1d\x1c\x06\x99\xed\xbb\x76\xb5\xc3\x4b\xe8\x08\x7e\xc0\x65\x68\xed\x2a\x14\x39\x70\x3d\x0b\xde\xf1\xc4\xae\xf6\xce\xa7\x06\x77\x2b\x7a\x42\xb8\x1b\xff\x8a\x3d\x1a\xde\xd4\x92\xdd\x5c\x98\x87\x12\x73\x00\xad\xbf\xd6\x56\x37\xb5\x0f\xd3\xa3\x7d\xfe\x69\xeb\x04\x12\x6d\x35\xff\x55\x6b\xcc\xeb\xaa\xcf\xff\xa0\x09\x7a\xea\x47\x39\xa9\x72\xc4\x6b\xe8\x88\x41\x33\x81\x57\x07\x88\x81\x27\x5a\xdc\x82\x12\x7c\xe7\xb9\xc8\x88\x85\x43\x82\x27\x3c\xd2\x46\x42\xd8\x6f\x33\x8a\x3e\x71\x30\x3a\x5d\xea\xf5\x70\xaa\x4e\xc7\x38\x44\xe3\x47\x5e\x1f\x3e\x92\xc9\x48\x06\x14\x59\x34\xe1\x03\x95\x9c\x01\xd7\xbb\x8a\x5d\x88\x46\xa3\x23\x86\xe3\x0a\xc3\xb7\x2c\x46\x83\xc1\x68\x01\xa5\x4c\xff\xc8\x75\x86\x4f\xb2\x27\x7a\xdc\xb4\xff\xe6\x06\x25\xf8\x9e\xc0\x14\x2a\x1e\xbe\xff\xf3\xcf\x63\x76\x76\xf8\x64\x20\x08\x45\xbd\xa8\x1a\x6c\x67\x07\xf0\x14\x95\x03\xe2\x3a\xbf\x31\x0f\x18\x68\xee\x72\x33\x1e\xc4\x11\x11\x35\x6b\x67\xbc\xe4\x46\x61\x94\x74\x86\x75\x7e\xac\xe3\xc2\x88\xf0\xa4\xe7\x07\x8c\x83\xe8\x6d\xc6\x3e\x03\xd1\x9f\xc5\x7a\xb1\x39\x71\x94\x7f\x4c\x9f\x49\x29\x55\x8b\xc4\x03\x3c\x1d\x94\x67\x80\x78\x91\x0a\x5f\x83\x69\x66\x07\x6d\xa3\xb3\x8a\xf1\xd1\x99\x0c\x8e\x60\xc7\x17\xc5\x2e\x10\x8e\x9d\x9b\x6c\xb4\xa3\x38\x0b\xdd\x73\x98\xb9\x64\x67\xc7\xea\xf1\x1b\xa6\xe9\xb6\x8d\x79\x58\xd0\x57\x7f\x78\xcc\x36\xdd\xb4\x0d\xe3\x65\x7d\xf3\x1e\xc6\xb0\x5f\x28\x22\xaf\x2f\x83\x5b\x30\x3a\xcb\xd3\xbb\xb7\x87\xde\x87\x82\x91\x36\x3a\xcb\x0c\x8e\x98\x1d\x6c\x96\x19\x36\x25\xa7\x87\x50\x18\xc3\x2c\x34\x91\xe6\xe9\x0a\x1b\x50\x38\x8b\x75\xe0\x8b\x2c\x3a\x9d\xfd\x08\x4e\x05\x2f\x36\xce\xc7\xb7\xe7\x37\xc2\xfe\xe0\xbe\xdc\x12\x1c\x2e\x41\xfd\xdf\x8e\xfa\xe5\x67\x64\x0d\x36\x04\x7b\xc8\x72\x30\x78\xf3\xcb\xce\xd8\x8b\x4c\x46\x22\x5c\x62\x88\x36\x28\xea\x15\x8e\xce\x10\xee\x25\x44\x8e\x94\x10\x22\x60\xdb\x46\x9e\xf1\x76\x86\x70\x0e\xcc\x67\x21\x18\x62\x60\x09\x9f\x04\x5f\x0c\x81\x80\x4a\x2a\x65\x4b\x38\x33\x7c\x71\x28\x9f\xd4\xa6\x96\x4a\x98\xc1\x10\x85\x3e\x57\x91\xd0\xdb\xf8\x84\x52\x82\xfe\x21\x1c\x26\x29\x41\xff\xa1\x7c\x72\x9b\x2a\x96\x32\x16\xc2\xf9\x48\xb0\x38\xea\x06\x05\xae\xb5\x25\xdd\xa0\xe4\x4a\x65\x5b\x12\x7c\x01\x4d\x6f\x6a\x50\x12\x3f\xa3\x43\x5b\x12\x10\xee\x81\x01\x38\x0e\x9e\x89\x9f\xe5\x72\x61\xfd\x39\x1b\xcd\x33\x7b\x63\xf6\x9a\x1a\x62\x71\x6f\xe2\x35\x26\x9e\x91\x30\x1a\x06\xeb\x0a\x02\x34\xfe\x89\xb5\x25\x1a\xa4\x04\x65\x93\xa9\xd9\xb3\x77\xef\x9e\xf5\xe0\x3c\x3c\x07\x8a\x60\xc1\x8d\xf1\x20\x04\x5b\xc7\x53\x37\xe8\xdf\x87\xe6\x1f\x3f\xfd\xcb\xe9\xe3\xf3\x43\xf1\x00\xf8\xd3\x9e\xbd\xcc\xb6\xbd\x7b\x22\x93\xc0\x79\x50\x84\xfe\x9f\x8f\x1e\xa2\x6e\x8c\x87\xa7\xe0\x29\xf4\x00\x68\x41\x63\xf5\xad\xb7\x57\x15\x16\xae\x7a\x1b\x94\xa2\xf1\x5a\x2a\x84\x85\xb1\x99\x79\x83\x62\x2e\x75\x96\x8b\x72\x06\xdc\x9a\x80\x5b\x87\x25\x05\x58\x71\x12\x9d\xe8\xe1\x8f\xa3\x7f\x36\x30\x35\xfa\x15\xfc\xe3\x1c\xb0\x18\x6e\x9b\x03\xb2\xe8\x94\x05\x27\x4e\x80\x79\x27\x4e\x44\xff\x1b\xde\x17\xfd\x92\x7e\x0b\x5e\x9a\x03\x96\x80\x25\x73\xe0\x25\xfa\xad\xe8\x97\x82\x5d\x4d\x4c\xd7\x0b\xcb\x63\xb2\xa8\x42\x8a\xea\x94\x1c\x75\x4a\x90\x44\x04\xcd\x4f\x87\xa5\x5f\x44\x7e\x88\xa5\x5f\x98\x38\xb3\xb1\x3b\x1c\x55\xd7\x5c\x57\xd7\x1c\xad\x23\x27\xb6\xee\x73\x01\xa9\x6f\xad\xa2\xa3\x4d\x67\x43\x3d\x50\xc1\xda\xc8\x39\xda\x14\xbb\xf3\x1e\x4e\x57\xc7\x90\xe4\x75\x30\x2d\x0e\xec\xd7\xaa\xd7\xb6\xa3\x4e\x6e\xd6\x6b\x39\x74\x7a\x39\x16\x4d\xe4\x46\xcc\x8d\xfe\xa2\x28\xf7\x22\x91\x92\xa8\x51\x49\x53\xb1\x3f\x18\xec\xf6\x45\x97\x05\x40\x21\x26\x4f\xfe\x22\x80\xdd\x3e\x48\x40\x21\x0e\x9b\x9a\x99\xa4\xc8\x7d\x5a\x25\x3f\x0d\x9c\xa3\xf7\xc0\xe7\xa2\x3f\xbe\x09\x8b\xde\x14\x17\x71\x05\xd3\x78\xa5\x36\x72\x1f\x93\x44\x2e\xc5\x4c\x30\x22\xa1\x97\x2a\x72\x0c\xa0\x38\x22\x11\x8d\x8d\xde\x47\x4f\x35\x45\x37\xc2\xf7\x0c\x39\x8a\xe8\x9d\xcc\x3f\xd0\x95\x29\x41\xde\xd6\x86\xbe\x04\xde\x75\x29\xc4\x7e\x51\x7d\x0e\x40\x6c\xc8\xdd\x18\xf0\x8a\x20\x4c\x72\x7a\xbc\x5c\x17\xd4\x27\xd3\x05\xe5\x49\xc1\xed\x07\x9e\x2c\xd0\x5c\x7a\xe4\x08\xd3\xb7\x79\xeb\xe6\xeb\x4d\xa0\xf1\xda\x9e\xb5\x30\x93\x60\x1b\x84\xa7\x8c\x86\xd1\x17\x56\x9c\x2b\xd3\xd5\xe9\xca\xce\xad\x78\x01\x46\x47\x4f\xf9\x11\x1c\x02\x5f\x83\x43\x3f\xd2\xad\x6d\xd1\x0b\xe3\x32\x68\x30\xb1\xb6\xa9\x7e\x12\x00\xb7\xb7\xb5\xbe\x7c\x6c\xfa\x9a\x43\x9f\xce\x6c\x04\xa0\x71\xe6\xa7\x87\xd6\x4c\x3f\xf6\xf2\xfb\xc2\x64\x10\xc7\x6e\x88\xcb\x4f\x84\x75\x96\x8e\xca\x44\xfc\x80\x60\xf3\x6d\x70\xf8\x74\xc4\x13\x99\xbd\xeb\x47\x44\xfd\xc0\xcd\x13\xe3\x93\xd8\x14\x87\x56\x66\x1c\xfa\xeb\xa1\xb7\x47\x33\x91\x48\x84\xf9\x09\x3e\x06\x46\x60\xb5\xdc\x68\x13\xe3\x96\x8b\x6d\x70\xd3\x07\x1f\xc0\x4d\x36\xb1\x5c\x2e\x66\x2f\x89\xd1\x92\xed\x45\x38\x8b\xde\xfa\x09\x3a\x7c\x31\x32\xd8\x91\x19\x1c\x39\x32\xc8\x5e\x0a\x8e\xa4\x17\x84\xc3\xd4\x8d\x35\x6b\x20\x46\x3f\xa0\x84\x70\xe4\x41\xfc\xc4\x0d\xea\xb1\xc7\xd0\x98\x14\x77\x64\xa2\x3c\xd8\x09\xfb\xf6\xed\xd3\x77\x3d\x36\xb2\x9b\xce\x4a\x1a\x9e\x95\x40\x6c\xc3\x5e\x94\x06\xb0\xb6\x8e\xc9\xca\xe2\x7d\x53\x1c\x43\x03\x0f\x47\xbb\x6d\x72\x14\x8f\xc1\xd9\x0c\xc0\x01\x94\xb4\x87\x66\xc2\xcd\x25\x5b\xcf\xa7\x67\x8c\x96\xba\xdd\xc1\x69\x8d\xbe\x5c\x09\x9b\x5b\xbf\x78\xd1\xee\xda\xfd\x00\x14\xf9\x2c\x83\xde\x83\x0d\x75\x0b\x86\xf5\x2a\xf3\xd4\xba\xd1\x30\x3a\x0d\x7c\x57\xef\x6c\xb0\x72\x4a\x85\x02\xf4\x69\x86\xdf\x18\xb7\x36\x9f\xd8\xfb\x12\x7d\xfe\x77\x0d\xef\x2c\xd6\x69\x32\xd5\xd6\xb4\x9c\x69\x1b\x26\x0c\xd7\x88\x87\xdf\x79\x7c\xdd\x12\x5b\x95\x88\x49\xcf\x30\x94\xa1\x91\xbf\xba\xf7\xba\x43\xf7\x5e\x79\x13\x14\x6d\x19\xd0\x72\xf2\x91\xaf\x8e\xff\x69\xd9\xf0\xe1\x26\xf8\x22\x48\xa5\x93\x94\xb4\x6d\x24\x95\xa0\xdb\x96\x4f\x76\xb0\x88\x87\x79\xca\x03\x78\xd6\xe6\x74\x29\xc9\x5e\xb2\x92\x46\xf4\x95\x28\x20\x20\x0a\x1a\xf0\x62\x75\x72\x6f\x51\x20\x88\xa1\xef\x69\x37\xe6\xf1\x63\x23\x92\xed\xb1\x16\xe9\x89\x52\xd4\x73\xad\xc2\x4d\x95\xe7\x99\x61\x07\xfc\x16\x76\x98\xf3\xe4\x29\xe6\xd7\xe7\xd2\x29\x66\x8b\x44\x6a\x4c\x96\x28\x73\xd5\x62\xbf\x26\x5b\xe3\x17\xab\x73\x95\x92\x64\xa3\x54\x62\x31\xa7\xd0\x73\x5f\x37\xc3\xe7\x89\x80\x93\xde\x3a\xff\x55\xf4\xe4\x17\xb0\xe3\xd5\xf9\xf3\x5f\x05\x1c\xb0\x02\xee\x55\x58\x0b\xcf\xc0\x2f\xcf\xad\x58\x71\x0e\x58\x40\x09\xb0\x90\xd0\x99\x5b\xad\x7f\x46\x14\xa7\x88\x82\x41\x51\x4a\x71\x9e\xc8\x23\x3f\xfc\xe9\xe8\xfe\x86\xe4\x02\x29\x9b\xa5\xdf\xba\x7c\xf9\x56\x7d\x16\x2b\x2d\x48\x36\xf4\x1f\xfd\xe9\x61\xb9\x47\x74\x94\x88\x53\x17\xf4\x78\x13\x0e\xcd\x59\x71\x0e\x7e\xd9\xe3\x85\xb0\xe0\x56\x6a\x68\xa8\xd7\x57\x23\xfa\xfd\x72\xac\x8d\x07\xa0\x18\x23\x31\x87\x21\xab\x1f\x1d\x81\xb5\x77\xc7\x34\x38\x51\x7b\xa2\x6e\x2f\xf2\x00\xa2\x93\x8b\x11\x1a\xd1\xe4\xe6\xa4\x05\xa5\x69\x3d\x28\x0a\x90\x55\x05\xb6\x2d\xc4\x7a\x82\x46\x6e\x55\x35\x97\xcb\x96\x67\x89\x98\xdc\x52\xc6\x71\x77\x60\xcf\x1d\x63\xcf\xee\xdc\x34\xfd\x8e\xe5\x0f\x02\xf1\xde\x67\xed\x8d\x65\x9c\xed\xaf\xe6\x6a\x2b\xf8\x36\x43\xae\xc9\x39\x0b\x16\x65\xed\x69\x6e\xde\x33\x33\xf2\xd1\xac\x31\x5b\x77\xbd\xba\xa7\x63\xd7\xe2\xad\xbd\xcf\xd2\xbf\xf4\xcb\x8f\x5e\xce\x2e\x01\x4c\x9f\x5c\xf0\xb8\x78\xc1\x9a\x4b\xf7\xdd\x31\x6d\xd3\xce\x73\xe3\xee\x5c\x98\x02\x72\x47\xfd\xc6\xca\x55\x35\xa6\x5e\x34\xf1\x5a\xf8\x95\x21\xbf\x4f\xd1\xb7\x7a\xf0\x68\x33\xce\xa6\xfd\xb5\xf2\xad\x8b\x77\xb5\xef\x79\x65\xcf\xd6\xc6\xb9\x3b\xcf\x52\x3d\x7d\xfc\x0e\x26\xbe\xe0\x7a\xf8\xf8\xc5\x28\x01\xbc\x92\x16\x36\xbb\x49\x74\x90\xf9\x7f\xd5\x7d\x09\x7c\x1b\xc5\xd9\xf7\xce\xec\xa5\xfb\x5a\x69\x65\xdd\xb2\x4e\xcb\x87\x64\x4b\xb2\xe4\xdb\x8a\xed\x38\x89\x1d\x27\x8e\x73\xc7\x89\xe3\xdc\xf7\x09\x39\x49\x88\x21\xe4\xe0\x86\x04\x52\x20\xe4\x6a\x80\x70\xb6\x25\xd0\x70\x15\x1a\xa0\x25\x94\x16\x48\xb9\x1b\x5a\x9a\x04\xde\xb6\x94\x12\x28\x94\xb6\x90\x68\xf3\xcd\xcc\xca\x8e\xed\x84\xd2\xbe\xef\xf7\xfe\x7e\xdf\x97\x58\x3b\x3b\xb3\xb3\xb3\xb3\xb3\xcf\xcc\x3c\xcf\xcc\xf3\x3c\xff\x34\xf1\x6b\x41\x60\x8b\x88\x36\x4b\x54\x56\x32\x81\x5e\x1d\x34\xb8\xa1\xb7\x0e\x22\x96\xb3\x3f\x7f\x4b\x2f\xcf\x41\x14\xef\xc7\x6e\x79\xdc\xb5\x45\x21\xaf\xcb\x4a\x62\x16\x47\xc2\xe3\x2a\x2f\x9e\x98\xac\x08\xbb\x12\x4a\x83\x5a\xb1\x58\xc5\xf0\xeb\x3f\xbc\xea\xfd\x33\xd2\xb9\x4f\x1f\x9a\x3b\xf7\xa1\x4f\x01\x43\x42\x70\xeb\x60\xa6\xb8\xbd\xb7\x44\x13\x38\x1d\x6f\xaf\x72\x5b\x4c\x66\xa7\x9e\xec\xe3\x35\xf9\xab\x03\x7e\x83\xd6\x16\xf0\x14\x56\x3b\xcc\xf5\x1a\xae\x83\xb7\xab\x8e\x3e\x06\x1a\x51\x71\xfd\x8b\x95\x9e\x18\xc4\x4a\xa3\xf6\x08\x9f\xa7\xd9\xc9\x44\x3e\xac\x43\x5c\x4b\x37\xb6\x91\xed\x5d\xcd\x41\x2d\x10\xc2\x08\x61\xa8\x6f\x79\x80\x40\x13\x5d\x0d\x22\x0d\x3b\xb0\x76\x0f\xe9\x73\x48\x48\xa4\x05\xd9\x27\xa7\x07\xf0\xd8\x07\xa3\x07\x13\x04\x26\x8f\xb0\x1f\xfb\xf2\x21\x80\x7a\x58\xa5\x03\x88\x58\x35\xa8\x1c\xfc\xa0\x67\xea\xd4\x9e\x4e\x70\x43\x4d\xa3\x4e\xba\x95\xd7\x31\x34\xaf\x5e\x0f\x0e\x34\xda\xf4\xda\x78\xb9\xcb\x46\xc3\x17\xd9\xf1\x7e\x46\x65\x32\xf3\xbc\xe0\x31\xaa\x99\xe8\x9b\xd6\x29\xad\x5e\x70\x3f\xcf\x23\x66\x4a\x5a\x52\xd4\x99\x97\x17\xe0\xd4\x31\x7f\x5d\x01\xf6\xb5\xb6\x81\xde\xe9\xa1\x95\x6a\x33\xb7\x52\xfa\x25\xad\xa0\x69\x35\xf3\x8b\xce\x21\x99\xce\xce\xcc\x90\xac\x3f\xee\x17\xad\xe0\x88\x86\x87\xb4\x42\x7b\xbd\xb4\x57\x4a\x1f\x2d\xb4\x73\x76\x9b\xb6\xc6\x61\x84\x93\xc1\xfe\x7b\x3e\xc8\x0b\x08\x5a\x00\x69\x8d\x39\x4f\x0f\x11\x3f\xba\xd1\x57\x90\xfd\x07\xab\xa1\x81\xf6\xbe\x15\x27\x2b\xd2\xd3\xbc\xcd\x0e\x51\xe3\x15\x0c\x4a\x30\x5d\x7a\xa4\x4c\xc1\x42\x56\x1d\x51\x3d\x0c\x3e\x06\x0c\x84\x4a\x05\xf1\x7d\x46\x53\x1f\x2a\x29\xc6\x89\x46\x5a\x35\xe2\x9e\xcb\xa8\x56\x6a\x0e\xb5\x09\xcf\x70\x34\x9b\xcc\xd9\x00\x01\xa1\x0f\x5d\x82\xc8\x04\x21\x19\x6e\x0d\x73\x00\xfd\xe6\x08\x44\x73\x34\xef\xc7\xee\x33\x93\x51\x3a\x9c\x70\xd3\x9e\x7f\x23\xc5\x0a\xfe\xf9\x10\xa0\x27\xcd\xe9\x4e\x25\x3b\x17\x67\x5f\x00\x82\xee\x3d\x9d\x20\xfd\x2e\xad\x32\x49\x5f\x59\x04\x2d\x2c\x56\x9a\xc0\x48\x9d\x99\xae\x3e\x7b\x4c\xfa\x42\x67\x36\xeb\x80\xe6\x65\x70\x07\xd0\x3b\x6b\x8b\x12\xa1\x4a\xbb\x01\x00\xa0\xb3\x57\x84\x8a\x22\x75\x2e\x23\x7c\x0a\xa5\xd7\x5d\x48\xb7\xf5\xa6\x1f\xc9\xe5\xaf\x18\x98\x0e\xa0\x1b\x28\xef\x9b\xb8\x50\xda\xb0\x12\xbc\x92\xd5\xe0\xd2\xeb\xc6\xe8\x03\x46\xf8\x95\xce\xfc\x92\x74\xe5\x6f\x51\x1f\xfa\x9b\xce\x2c\xcd\x56\x07\x16\xcd\x58\x53\x54\xb2\x66\x41\xa7\xc3\xa1\x70\x75\x4e\xdd\x5c\x1d\x5b\x3b\x6f\xb2\xdd\xfe\x1f\xa6\xcb\xfb\x9f\x6c\x0f\xfb\x05\xd5\x42\x4d\x45\x12\xca\xd5\x68\x5a\xc0\xc0\xf7\xd8\xa9\x3e\x01\x67\x0c\xa3\x36\x09\x25\xd3\xd8\x91\x07\x59\x81\x24\x68\xe9\x30\x67\xdd\xce\x13\x67\x79\x58\x24\xb4\x5e\xd0\x54\xab\x03\x02\x1a\xb3\xe4\xa5\x1d\x44\xef\x56\x11\x11\xaa\xe8\xc3\x85\xe0\x05\x20\x92\x62\xe0\xe5\x04\x24\x52\x86\x72\x49\x68\x96\xe0\xe1\x02\x3b\xe2\x2c\x14\x4a\xa5\x3e\x60\xed\xca\xf3\x69\x39\x15\xab\x00\xc1\x20\x50\xb0\x2a\x4e\xeb\xcb\xeb\xb2\x06\xf4\x4a\xa5\x02\xc0\x80\x7d\xa2\xd7\x8c\xe4\x8a\xca\xd1\xf5\x2e\x0f\x47\x97\x85\x42\x65\x15\x8e\xfa\xcb\x69\x3a\xe3\xb3\x99\xbd\x13\xf7\xd9\x43\x42\x30\x88\x31\xff\x5a\x5b\x2d\x4f\xa6\x4c\x82\xb0\x7c\x39\x8e\xed\xda\x75\x10\x47\xa6\xcc\x98\x31\x05\x47\x97\x5c\x7e\xf9\x92\x3b\xd5\x5d\x6b\x95\x4c\x89\x43\xa1\x53\xab\x59\x8b\xe0\x62\x7a\xa4\x1e\x0c\x09\xc9\xaa\xd5\x3a\x85\xa3\x84\x51\xae\xed\x52\x8b\xb5\x1a\x85\xc9\x18\x1b\x9f\x6e\xd4\xf0\x8b\x4e\x48\x5f\x9c\x58\xb4\x3e\xdc\x19\x00\xc0\xa4\xd0\xd4\xd2\x87\x42\xe5\x42\x10\xbd\x29\x86\x2c\x6c\x7d\xab\x55\xf8\x31\xc6\x99\x5b\x09\x6a\x56\xe2\x84\x5d\xd2\xa4\x5d\x2f\xe3\x84\xce\x3f\x03\xea\xcf\x9d\x38\x69\x09\x9a\xf2\x7e\x25\xfd\x89\xf8\x49\x37\xe3\x83\xa2\xa7\x8f\xd7\xf5\x10\x6c\xa3\x34\x55\x8f\xe6\x62\x8c\xa7\x35\x1d\xcd\xc7\xcb\xa8\x35\x88\xf2\xb7\x51\x37\x53\xdf\xa3\xf6\x11\x3b\x7b\xb2\xa3\x12\xc8\x85\x30\x17\x0e\x4e\xff\xd6\x7c\x83\x76\x34\xbf\x2d\xfe\x5d\xe1\xb7\xdd\x0f\xa0\xec\xb9\xf8\xfb\x24\x90\xff\xe0\xf7\xfb\xa7\x65\xbf\x7f\x71\x8e\xaf\xbd\xc4\xcb\x32\x5c\x4e\x02\x69\xf9\x25\x62\xac\x1c\x64\x07\xc4\x2e\x99\x33\x17\x03\xdd\x5d\x17\x9e\x00\xe5\x40\xea\xba\x38\x6d\x40\xe4\x9c\x6e\xbf\x7c\x37\xfe\x03\xb7\x5c\x1c\x39\x2b\x07\xf4\x80\xd8\xa5\x32\xca\x7f\x39\xdf\x65\xdc\x39\x8e\xea\xf3\x08\x3f\x92\x1a\x47\x2d\xa0\xae\xa0\x6e\x40\xac\x40\xae\xd5\x52\xbd\x48\x99\x80\x07\xbd\x16\x54\xf2\x6c\x49\x5b\xfa\x8c\xa5\x52\x04\x56\x0d\x77\x3d\x62\xed\x43\xd6\x1b\x89\xbc\xd7\xdb\xf6\x41\x39\x4d\x56\xea\x90\x97\x23\xbd\x62\x50\xc6\x9d\xc3\x0c\xaa\x8c\xbf\x26\xb2\x62\xaf\xee\x66\x2e\x41\x96\xfb\xff\x40\x8e\x63\x01\x35\x05\x49\xac\x8f\x90\x08\xfc\xd8\x9a\x0c\xf8\x3d\xae\x90\xfe\xd4\x3e\x2c\x89\x2f\xdc\x65\x4d\x04\x7c\x05\xe1\x80\x8c\x99\x80\xf2\xf4\x62\x37\x64\x49\x7e\xd0\x8c\x82\xcd\xd3\xa6\x5e\x83\x82\xd7\x40\xe0\x35\x70\x1d\xe1\xe7\x84\x7c\xbe\xe9\x6e\x8b\xc2\x60\x4c\x5a\x9e\x00\x41\xa5\xc5\xa6\xd6\x14\x1b\xa6\xbe\x2a\xf2\x06\x43\xd2\xf2\xc9\x7d\x64\xd1\xe1\x2e\x79\xe9\xa1\xe4\x3c\x35\x05\x50\xdb\xe4\x08\x55\x3d\x6b\x52\x2c\xe2\x0f\xd5\x35\x44\xf6\x9d\xc2\xab\x32\x0b\x2b\x67\x8c\x2f\x0d\x47\x93\x33\xd2\x32\x8a\x0a\xae\x53\x0e\x18\xe2\x7d\x72\x0b\xd1\xf6\xc0\x2e\x1e\x71\xb8\xe3\xb5\xd7\x6e\xc6\xac\x9d\x28\x1c\x5e\x85\x1e\x84\x2a\x70\xed\x16\xc2\xea\x9d\xd9\x8d\xa2\xe8\xe9\x39\x3d\x5c\xfa\x3c\xa5\xc8\xe6\xf4\x2c\xe6\x51\x3f\x22\xfc\x7c\xce\xf2\x9d\x70\xbb\x29\xec\x81\x2b\x46\xac\x6b\x72\xe0\x8a\x78\xf6\xd1\x11\xd3\x6f\x3e\x2e\xab\xc4\xe2\x16\x8d\x13\xcd\x7c\x34\xdf\x85\xc2\x41\x19\xea\x0f\xa3\x64\x0a\x29\x53\x3a\xe5\xc6\xa6\x49\x7c\x2a\x87\x89\x87\xce\x88\xc7\xfc\x20\x71\xcc\x47\x73\xb2\x36\x3b\x5e\x05\x4f\xf7\x7e\x2b\x72\x2e\xf3\x88\x75\x44\xcd\x20\xed\xeb\xbb\x90\xc8\x25\x57\x43\xd1\xca\xe2\x41\x99\x51\x54\xdb\x8c\x75\xc1\xf2\xd6\x80\xca\x57\x1a\xac\x33\xda\xe0\x65\xbd\x67\xd5\xb9\x2b\xd2\x04\xe3\x48\x7f\xdd\xf0\x44\x29\xad\xa5\xa7\xee\x29\x30\x3a\x02\x26\x8b\xc5\x14\x70\x18\x0b\xf6\x4c\xe5\x0c\x4e\xe9\x83\xcf\x74\xfa\x02\xe3\x7e\xb5\x4e\xfc\xf5\x6d\xc6\xdb\xd7\x79\x46\xc7\x79\x4f\x73\xec\x8a\x5b\x0a\xea\x19\xb6\xb4\x60\x5c\x6b\xb4\xfc\xb2\x79\x01\x3b\xfd\x68\x5f\x0e\xbb\xbf\xc4\x65\x93\xf3\x30\x8a\x40\xba\x7f\x2e\xd3\xbf\x78\x14\xd0\x39\x81\x1f\x3f\x0b\x66\x60\xb9\x2f\xdc\x5a\x5e\x91\xaf\xf0\x84\x7d\xe5\x57\xe7\x42\x48\x52\x81\xc9\x6f\x37\x7a\x8c\x60\xf6\xd8\x40\xab\x51\xa9\x34\xb6\x06\xc6\xce\x86\xd0\xb1\x96\xf7\x83\x8c\xb5\x4c\xbb\x06\xa8\x77\x03\xe3\x6c\x1b\x5f\x37\xca\x5e\x3d\x74\x9c\x11\x3d\x1b\xd5\x53\x55\xa2\x8a\x9b\x5a\x37\x48\x47\x71\x0e\xe9\xab\xdd\xd2\x67\xb3\x45\xbf\x47\xce\x01\x4a\x03\x7d\x39\x02\xdf\x52\xf6\x00\x9b\x63\x81\x6a\x42\x3c\xec\x54\xbc\xdf\x4d\xb4\xa3\x42\xde\x3e\x3d\x29\xc4\x9c\x12\x6c\x0a\x12\x23\x3d\x11\x89\x76\xb9\x7e\xca\x11\xf5\x7f\xb9\x9f\xd2\x78\x8f\x04\x71\xf1\xbd\x76\x77\x18\x6f\x87\x0e\x85\xb1\xaa\x1b\xe3\xc5\x1d\x44\xfa\xed\x6b\x28\xb8\xe6\xc9\x6b\xe6\xe3\x2e\x84\x09\x9e\x40\x9b\x04\xc2\x05\xbe\x40\xc2\xba\x6b\x21\xa6\xe1\x7d\xa7\xf4\x21\x97\xc7\x1f\x48\x5a\x3b\x77\x67\x5f\x38\x9d\x7d\x56\xe3\xd3\xdc\xaf\xd1\x70\x19\x74\xf8\xd8\x3e\xac\xe1\xaa\xce\xd7\xb5\x3e\x78\x34\x47\xee\x3b\x72\xe4\x0f\x3e\xc4\x70\x3c\x38\x22\xf7\x93\xf4\x8c\x64\x34\x5c\x3a\x7e\x46\xe5\x42\xb2\xac\xb9\x2f\xd2\x50\x17\xf2\x47\x62\x93\x66\x55\xa3\xde\x93\xbd\x01\x17\x8b\x4a\xf5\x69\x38\x0e\x1d\xb5\x1f\xdb\x86\xdd\xb9\xa0\xf3\x75\x4d\xff\x35\x7c\x33\x35\x89\xa0\x2e\x61\x08\x0f\xd9\xcf\x78\x6e\x8f\x07\x6f\xf1\xe7\x58\x81\x30\x66\xe5\x31\x4b\x00\x89\xed\xbe\xac\x85\xee\xf7\xe1\xbd\x0e\x34\x3f\xe2\x1e\x95\x73\x7a\x52\x47\x7c\x89\xe7\x14\xc6\x13\x17\x7b\x47\xa3\x67\x6a\x11\x43\x88\xb8\x42\xb3\xba\x2a\xd9\xdc\xe4\xb4\x3a\x8d\xe0\x0f\xa3\xb4\x16\x6d\xe7\x36\x48\x97\x7d\x91\x57\xdc\x75\x7b\xcb\x81\x9d\x36\xc0\x88\xba\xd6\x92\x42\x8b\xcb\x2d\xf2\x79\x43\x3d\xfe\x4a\xdb\xbc\x89\x1d\x3b\x26\x5b\x38\x81\xa5\xd5\xab\x97\x94\x8e\x06\x34\xab\x7c\x72\x80\x71\x5e\xd6\xd1\x18\x7f\x39\xae\xa6\x01\x9c\x95\x99\xf4\x70\x48\x97\x2f\x55\xea\xae\x60\x15\x6d\x50\x3c\x3d\xe4\x63\xce\x78\xeb\x4f\xa6\xef\xd8\xcb\x41\xdf\xd8\xe4\xcc\x58\x5e\xcc\x6b\x43\x9d\x93\x17\x5d\x4d\x1d\xbe\x49\x8b\x17\xee\x68\x17\x27\x8b\x1a\xae\xc6\x04\x94\x50\x3f\xd0\x4c\x0f\x71\xa9\x41\xc4\x43\x9d\x60\xcf\x53\x36\xc4\xa7\x52\xc4\x5f\x1d\x92\x68\x20\x06\x66\x41\x0d\x84\xad\x74\x4c\x32\xfa\x6a\x58\xbe\x42\x5a\x91\xf6\xfb\xfa\x60\xd2\xcd\x98\x80\x70\xd3\xd0\x69\x44\x6c\x85\xb2\x4a\x17\x41\xd1\x4c\x78\x8d\x66\xc8\xcb\xae\x81\xdc\x00\xfe\x89\xd1\xba\xac\xe1\xf0\x82\xc5\xc6\xc0\xd0\x18\xe3\xd4\x98\x55\xd0\x90\x31\x08\xf0\x0b\xbd\x82\x13\xdb\x33\x9e\x43\x4f\xea\x39\x95\x4b\x61\xed\xda\x7c\xb8\x7b\xdb\xbe\xf0\xc4\x54\xe8\x1e\x90\x1f\x8d\x7a\xf3\xbd\x25\xed\xe5\x45\x22\xcb\xab\x54\x2a\xf0\xe1\x37\x43\xaf\x78\x76\x69\x32\x05\x56\x8f\x64\xe9\x39\x07\x27\x88\x1e\x61\x3d\xf3\x7a\x9e\xcb\xa3\xb7\x56\x49\xff\xb8\xb6\x78\xec\xa8\x18\x00\xac\x46\xd5\x06\xca\xdb\x3a\xb3\x87\x78\x2d\xa0\x0d\xca\x69\x0a\x21\x70\xbd\xa7\xf3\xd1\x3b\xba\x0e\x6d\x2f\xef\x59\xd0\xe8\x04\xd6\x70\x7c\x78\x28\xbf\xa0\x7e\xda\xea\xee\x42\x25\xa4\xc1\x57\xa7\x17\x9f\x7e\xe1\x46\x41\x29\xdd\x31\x53\xfa\x7e\x80\xae\xac\xd3\xf2\x3f\x45\x34\x04\xd0\xfc\xb7\x89\x3d\x4b\xd5\x52\x1d\x88\x8f\xa1\x30\x6a\x2a\x5e\x46\xc0\x52\x30\x2a\x39\x47\x48\xd8\x67\x0b\xf6\x50\x52\x02\xe4\xb1\x0d\xb0\x41\x72\x82\x1d\xe7\x58\xe3\xb2\x81\x1c\x16\x90\x78\x6b\x0c\xd2\xbd\x8a\xec\x1e\xec\xaf\x8e\x13\x81\x80\x17\x81\xf5\x00\x5b\xbf\x93\x71\x9a\xa7\xe5\x2d\x45\x25\x90\x43\x21\x17\x17\x50\x0b\xe2\x4c\xa9\x34\x22\xb2\x7a\xaf\xe3\x83\xda\xb2\x1d\x05\xea\xe1\x5c\xcc\x9b\xfd\xab\xb4\x5f\x19\xae\x4c\x85\x00\x23\x65\x22\x95\x10\xd6\x84\xc1\xd3\xd9\x7f\x44\xe2\x1c\x57\x19\x54\x81\x53\xd2\x81\x50\x29\xc7\xa5\xfc\x9c\x0e\x1c\xfd\x0d\x60\x80\x55\x6f\x7e\xda\xaf\xb3\x39\x2c\x4f\x9f\x60\x03\x67\x00\x0d\xf2\xd4\x5e\x4f\x8b\xe3\x26\xc8\x01\xaf\x89\xbe\x57\xcf\xe8\x4b\x35\xe9\x85\x30\xb2\xa3\x3c\xf3\x81\xaf\x30\x11\xfc\xc4\xa6\xf3\xe5\xb7\xe5\x01\x95\xf4\x8d\xc5\x12\xf4\xb7\x9a\xff\xba\x5d\x6f\xf1\x05\x47\x19\x9f\x9f\xa3\x70\xe7\x01\x0d\xac\x88\x84\x2b\xe8\xe9\xa6\xdb\x0a\x2a\x1f\x8c\xd6\x48\xb3\xbc\x45\x4c\x85\xb7\xa2\x20\x98\x62\xbd\x35\x91\x70\x12\x64\xd8\x4c\xc4\x5f\x52\xd3\xa5\xaa\x0f\x06\x4a\x60\x77\x10\x44\xb5\x1b\xad\x63\xf2\x43\xaf\x6c\x0c\xc2\x10\xe0\x00\x0b\x3c\xa3\x6c\x56\xb5\x73\x27\x60\x61\xc9\x62\x70\x48\xfa\xfb\x88\x96\xf7\xab\x9d\xa9\xba\xd8\x83\xb5\x85\xb7\x59\x83\xa0\x22\x7f\x0c\xe2\xba\xbd\xd2\x7e\x70\xcc\xdf\x2e\x98\xf2\x7c\xd2\x54\x30\xc6\x3f\xca\x28\xd8\x43\xd2\x8c\x9f\xe9\x59\xb3\xe1\x64\xa4\x06\x54\xca\x63\xa0\x9b\xa7\xd8\x99\xe8\x6b\x4d\x43\xf2\x00\x62\x61\x82\x32\x78\x01\xa2\x47\x0e\x4d\x85\x78\xad\x95\xd8\x9a\xa4\xb0\x36\x87\x48\x46\x04\x22\x8b\x22\xf1\x1d\x12\x97\xff\x76\x20\x47\xc3\x68\xd6\xc3\x10\x5d\x7e\x6c\x9d\x4b\x13\xc0\x02\xc1\x1c\xb4\x06\x04\x18\x24\x6e\x1a\x28\x4c\xf1\x62\x6e\x24\x45\x9f\x2d\x18\xb6\x82\xd1\x90\x99\x70\x6f\xa5\x85\x61\x54\xbc\x8e\x33\xc1\x27\x81\x66\xa9\xf1\x72\x8d\x49\xb5\x61\xea\x6c\xa0\x02\xaf\xef\x34\x9b\x3b\xcf\x7f\x0f\x25\xa9\x05\xd5\x86\x8c\xd4\xc4\x57\x45\xe8\x7f\x9e\x51\x6a\xab\x2b\x69\xa9\x22\x5c\x94\x07\x36\xa8\x75\xd7\x32\x0b\x4f\x16\xfb\xa0\x97\xff\x11\x9d\x2c\x03\xc6\x47\x1f\x97\x3e\x6e\x1c\xde\x25\x2d\x75\x9a\x27\xac\x77\x16\x38\x0f\x5f\x69\x06\x1d\x4a\xfe\x71\x58\xf9\xa3\xa9\xee\xb0\xd2\x6c\x30\x6b\x44\x85\x95\x3e\xbb\xf2\x25\xad\xa0\xca\x18\xfe\x4b\x90\x3e\xfd\x93\x67\xa4\xe7\xa6\xdf\x67\x5e\xd2\x9a\x95\x28\x61\x0d\x9d\xe4\xf3\xac\xac\x94\x92\x86\xd3\x48\xe6\xe5\xe9\x11\xce\x82\xa2\x6c\x23\xa3\x2a\xe6\x7e\x0e\xf6\x94\x97\xd3\xc5\x1a\xe9\x29\xd5\xdc\xce\x65\xc0\x04\x2c\xcb\x33\x0f\x4c\x5d\xf8\x2c\xac\x2e\x70\xae\x9f\x60\x76\x3a\xcd\x57\x1e\x36\x32\x7c\xaf\x1e\xd9\xf7\x18\x89\x5d\x80\xb8\xfc\x18\xc1\xcb\xc5\xa3\xa9\xac\x5e\x4a\x06\x01\x2b\xc7\xe7\xd4\x71\xbd\x58\x72\x4a\xa5\xc5\xb0\x19\xea\x81\x2f\x8c\x61\x9e\xc2\x62\xd8\x12\x0a\xbb\x91\x60\x85\x17\xdd\xb0\x5a\x91\x3c\xfc\xe2\x81\x54\x06\x56\x62\xec\x3b\x6f\xfb\xc3\x9f\x76\xec\xdc\xfe\xc5\xce\xee\x09\x5e\xbe\xa1\xed\xd0\x87\xa7\x40\xc7\x49\x6f\x43\x65\xe4\x57\xfb\xf6\xe9\x5c\xf9\x63\x37\x0d\x2f\xd1\xd3\xe9\xf4\x88\x2d\x93\x96\x64\xc7\xb6\x9d\x18\x2e\xc0\xc2\x17\x17\xf9\x7d\xf6\xe8\xb2\xea\x2e\x47\x4b\x9e\x77\x05\xf8\xc1\xbb\xfb\x0e\x1c\xd8\xf7\xee\xce\x7f\xec\xf0\xd4\x65\x9c\x7f\xbf\xff\xc1\x4f\x3f\x7d\x70\x72\x9b\x36\x30\xb3\xf5\xa8\xf4\xda\x6c\xc0\x7a\x6f\xbc\xff\x8d\x1f\x76\x0e\xf5\xed\xff\x3e\x7c\xe7\x74\xf5\x79\xe9\xa9\xd6\xb5\x9b\x82\x42\xd7\xad\xb6\x54\x75\x70\x9c\xbd\xd8\x6d\x18\x5f\xb5\xe0\xb6\x25\xb5\x6d\x8b\x7a\xfd\x63\x91\xb9\xc3\x4e\x45\xa8\x28\x9a\x4f\xc7\x11\x0f\x1e\x44\x7d\x8c\xcb\xb9\x0b\xc0\x38\x19\x04\x25\xd9\x9b\xa2\x09\xe0\x15\x2f\x56\x83\x94\x11\xcf\x16\x61\x91\x4d\x12\x8d\x03\x02\x72\x88\xdf\x38\xc7\x8a\x0d\x9a\x2c\x18\xbb\x33\x52\x2c\xde\xf5\xa7\xdd\x77\x5f\x56\x5e\xc2\x58\x6b\x86\xdc\xf5\xfa\xeb\x20\xf9\xfa\x61\xa8\xf2\xc4\x27\x56\x5a\x2c\xaa\xf7\x43\x4c\x7b\xd5\x54\x70\x55\x22\x32\x76\x68\x7b\x5e\x8c\x96\x53\x70\x26\x00\xb4\x98\x93\x8d\x36\xb6\x9d\x0d\x36\xb6\x6d\xdb\xb6\x6d\x9b\x1b\x6f\x6c\xdb\xb6\x9d\x8d\xed\xe4\x8f\xff\xd8\xc9\x1f\x77\xda\xe9\xbd\xb7\xd3\xce\xb4\x7d\xf9\xce\x37\xdf\xcc\x79\x39\x4f\x67\x0a\x0b\xdb\xd5\x54\xb5\x89\x86\xf9\x9f\x09\xe4\xaf\x37\x45\x24\x40\xb3\xb2\xa8\xfd\x3f\x2f\x8b\x95\xc1\xd0\x6a\x06\x5f\xa1\xdf\x34\x6d\x1f\x12\x3e\xc7\xb5\xed\xc2\x1c\x8c\x1a\xfd\xcf\xab\x53\x16\x51\x8f\x4f\x03\x4e\xaf\x49\xcf\x54\x43\x9e\x92\x27\x48\xf9\x46\x98\x11\x48\xd4\x3f\xf1\x2c\x91\xa5\xeb\x60\x29\x74\xff\xc1\x0b\xf6\x5b\x29\x00\xfd\xbf\x17\xc4\x1c\x19\x36\xb6\x22\x0b\xa6\x0b\x4d\xdf\x47\xb7\x5b\xa2\xec\xfd\x6b\x9b\x64\x90\xa9\x4c\xbd\xf7\x9f\x48\x2e\x33\xe1\xd0\xc2\x89\x09\x50\x76\x68\x58\xdc\x91\xb6\xaf\xf9\x19\x39\x66\xdd\xef\xf6\xb5\xb8\xac\x56\x31\x2a\x70\xa1\x6c\x11\xec\x08\x03\xed\x4a\xfe\x9a\xab\x65\xfd\x48\x1d\x4d\xa8\xbb\xcd\xac\x3d\x68\x55\x2a\xe4\xb4\x42\xe3\x09\x2c\xf3\xd2\x2a\xb1\xf2\x52\x1e\xab\x97\xb5\x42\xe4\x81\xea\xc1\x0a\x1a\xac\x36\x5e\x8b\xaa\x09\x50\x91\x00\x3c\x16\x8d\x51\xc0\x71\x40\xe4\x30\xc4\x3e\x27\x64\x79\xd5\x07\xb6\x30\x11\x9e\x3f\x4c\x63\xa5\x4b\x2c\xbb\x0e\xb9\x33\x68\xc4\x46\xdb\x15\x16\xb8\xbd\xef\x00\x15\x8d\x19\x8c\xc4\x9d\x3c\x6e\x79\x70\x0a\x1e\x2b\x08\x35\x0a\x3c\x06\x6a\x13\x93\x9c\x07\xcc\xc4\x29\x43\x78\xa5\x08\x9c\xb4\x5d\x6f\x8d\x94\x56\x6d\xff\x6d\xb0\x4e\xce\x90\x73\x66\xcb\x9d\x6b\x85\xfe\xf8\x17\x4f\x89\x76\x47\xe0\xc5\xbd\xd3\xf7\x74\x25\x13\xa9\x52\xce\xca\x9e\xa1\x57\xf9\xb6\xea\x23\xef\xf4\x60\x65\xb9\xf8\x2a\x50\xcf\xa4\x3b\x73\x38\x52\x30\xa3\x9b\x5e\x95\x9d\x24\xa3\x50\x27\xbf\xe2\x7d\x39\xd8\xd3\x28\x91\xad\x3d\xd8\x9f\xd0\x14\xbb\x89\x36\xbf\x9c\x50\xa3\xd8\xf5\x88\x68\x91\xac\x70\x36\xd1\x33\xfe\x1c\x74\x51\x5f\xa1\x83\xdd\x1d\xee\x09\x99\xb3\x6b\x42\x7a\xb9\xcc\xcb\xdb\x76\x6a\xbb\x9c\x53\xcd\x6d\xa8\x8f\xba\xdc\x54\x23\xa8\x02\x70\xc2\x10\xfb\xa0\xab\x46\xd6\xa8\x7c\xc8\xd6\xcf\xd1\x39\xec\x75\x40\xf8\x87\xc3\x81\xed\x4d\x20\xcc\x1b\xa8\x7a\xf6\x56\x65\xbb\x86\x5c\x14\x7c\xf6\xad\x69\x6d\xd4\x00\x03\x91\x96\x74\x46\x12\x0d\x14\xd2\x2f\x20\x75\x6b\x30\x1f\x92\xb5\xa7\x54\x08\xc7\x5e\x9b\x8e\xba\x23\x71\x73\x22\x54\x03\x22\x6c\x86\xad\x0a\x8a\x95\x85\x92\x06\xd8\xab\x54\xaf\xd1\x0e\xb8\x07\xe1\xcd\xe3\xa2\xa0\x02\x29\x11\x07\x75\x96\xb8\xc9\x2a\x14\xe3\xe1\x48\xc8\x7e\xb6\x86\x4b\x88\x84\xca\x53\xfe\x68\x45\x42\x17\x46\x40\x0f\x96\xa1\xfc\x51\xaa\x24\x16\xd3\xe2\xa3\x64\x08\xd6\xa4\x40\x76\x50\x7d\x57\x51\x6e\x6a\xfe\x0c\xd3\x6b\x14\x74\x0c\xe2\x51\x42\xbe\x3d\x40\x93\x3d\xa2\xca\x82\x47\x87\x37\x62\x80\x33\x25\xd1\xce\x13\xcb\xdf\x10\x2b\x5c\xb3\xac\x3d\xe3\x81\x66\x5e\x91\xb1\x01\xde\x47\xb8\x28\x97\xa8\xc3\x56\xf7\x79\x4b\x75\x93\x71\x18\xfa\x48\xbd\x7d\x2e\x73\x9a\x16\x23\xbc\x19\x2b\xc6\xef\xb0\xdc\x5b\x8f\xb8\xd2\xae\x10\xbc\x84\xec\x6e\xb9\xfa\x44\x8a\xd9\xdf\xac\x6f\x1a\x54\x80\x6f\xbb\x13\x13\x43\xc9\x06\x0c\xc2\xa5\x1e\xcf\x60\x4a\xef\xe8\xe1\xc8\x20\x64\xff\xb5\x5b\x6f\x28\x0b\x2e\x2e\x52\xcd\x96\xc4\x18\xe3\x5a\x2a\x57\xd6\xf4\xaf\xc8\x78\xe8\xa9\xf1\xed\xf8\x90\x09\xcd\x3e\x25\xac\xdd\x2d\x58\x45\x2f\xe2\x56\xa6\x27\x74\xb9\xf3\x4e\x26\x75\x92\xf0\x97\x00\x03\x4b\x87\x96\x15\x46\x54\x3a\xf7\xa7\xf8\x55\x94\xc0\x62\xbf\xa3\xb9\xcd\x52\x62\x2a\x2f\x1b\x20\x28\xa8\x35\x13\x65\x79\x5d\x64\x81\xbe\xc3\xc1\x4a\x2c\x71\xe8\xdb\x9f\xcf\x98\x73\x22\xfa\x19\xe8\xa5\x4e\x1c\x77\xf5\x19\x60\xe5\x75\xb4\x74\x10\x64\x88\x06\xfd\x21\x06\x1a\x38\x42\x61\x82\x15\x63\xdc\xfa\x5d\x6d\x99\x0c\xa1\x3b\xf1\x75\x5c\x82\x12\x70\xba\x70\xf0\xc6\xff\x60\x23\x99\xb0\x1a\x2e\x11\xe1\x56\xac\x83\x77\x72\x55\xc9\xc0\xfb\xa1\xa0\xc5\xf5\x4a\x3d\x95\xc7\x1d\xce\x2a\x66\xfb\x32\x6b\x4b\x10\x0c\xfd\xe2\x24\x35\xdb\xd8\xce\xf1\x06\xdc\x12\x86\xff\xb7\xbf\xfb\xcb\xbf\xd3\x73\xc6\xd7\xb7\x4c\x61\xe7\x61\x37\xab\x57\xa8\xdb\x52\xcc\x43\xdb\x03\xb7\x07\xf3\x8b\x4e\x37\xb9\xd6\x38\x30\x8d\x02\x04\xd5\x50\x3e\x52\x8c\xcf\x5e\x04\xbb\x83\xc3\xfb\xe1\xa0\xf4\x01\x74\x8d\xe7\x75\xd5\xf9\xed\xf5\xe2\xb4\x90\xd8\xfb\x10\x89\x44\x5c\x4b\xfb\xf8\x0a\xef\x5e\x2c\xc9\x36\xbb\x17\xe9\x5a\x10\xf9\x1d\x7e\x28\xc0\x4f\x81\xd1\xe3\xca\xa5\xd1\xed\x18\xb0\x03\x54\xe6\x51\x74\x13\x9c\xbf\xc9\x6c\x3b\x1d\xd9\x64\xa7\x6a\x18\xb7\xe0\x77\xb3\x2c\x74\xc3\x5c\x87\xa4\x68\x38\xbb\x30\x0c\xe9\x3e\x63\x5b\xa7\x9f\xe1\x7e\x81\xef\x7a\xd0\x4b\x48\x01\x97\x3c\x23\x72\x6a\x51\x9c\x4b\x5a\x47\x13\xaf\xc0\x18\xe3\x3c\x74\x7d\x63\x92\x2a\x00\xba\x97\x11\xc8\x81\x11\x8e\x9b\x36\x6b\x2e\x8f\x0b\x89\x80\x8d\x7d\xa8\xe1\x5d\xe8\x47\x2c\x39\x80\x8d\x0d\x8d\x5f\x6e\x78\xcb\xbe\xd4\x64\x5b\xd8\xd3\x77\xee\xaf\x33\xbf\xbd\x7c\x27\x6e\x6b\x04\x76\xf9\x1d\xad\x8f\xba\xc3\xd0\xce\x58\x9c\x0d\x27\xe4\x15\x52\xe5\xbc\xd7\x17\xfc\xd8\xe5\xac\xde\xe1\xb0\xfc\x85\x8f\xd7\xe7\x79\xd6\x79\xf9\xb8\x05\xe5\x01\x9a\xe2\x9c\x7f\x44\x64\xcc\x07\x9d\xc4\x6c\xde\x4d\x49\xc4\x53\x4f\x45\x32\x6e\xde\x28\xa4\x95\x27\xdd\x7a\x6e\x50\x0d\x60\x5b\x12\x4b\x65\xe3\xec\x80\xf0\xf5\xe2\xfa\xc6\x2b\x0c\x0c\x6f\xb8\xf5\x05\x58\x53\x15\x53\x95\x52\xad\xd8\xf4\x64\x6a\x4b\x1d\x0a\xbf\xbc\x06\x37\xc1\xfe\x48\x17\xe6\xbc\x08\xb3\x2d\xe9\xf3\xb0\xdc\x12\x38\x71\x73\x6e\x58\xb3\xa9\x65\xf8\xf4\xfe\xd3\x56\xed\xad\x93\x90\x37\xa6\x4b\x74\xd6\xfa\x29\x3b\x45\xb4\x32\x3f\x2f\x8c\x21\x33\xb1\xc3\x4d\xd1\xb7\x4b\x6b\x26\x26\xf1\xf9\x77\xf4\xf9\x29\xb6\x0f\xfb\x29\x7a\xbd\x31\xf2\x8f\x98\x88\x44\x8d\xdb\x6f\x39\x09\x43\x96\xa4\x05\x33\xb4\x71\x34\xc2\x94\x4e\x77\xb2\xe5\xfd\xe0\xdc\x8e\x92\x23\x71\xee\x60\xa2\xd3\xea\xdb\x57\x9a\xba\xf8\x65\x0c\x31\xbd\xeb\x89\x61\x28\xf6\xbf\x51\x5b\x98\xaf\xc2\x90\xe1\xec\xbd\xe0\xf3\xb1\xc9\xbb\xef\xfb\x98\x8e\x7b\x8b\xc6\x99\x81\x4f\x3a\x9e\xf6\xe1\x5b\xd9\x12\xfd\xa5\x06\x9e\xe1\xcd\x72\xdd\x1f\xe7\xd9\x11\xf8\x3b\x4b\xaa\xe5\x3b\xa6\xc8\x37\x5a\x1c\xb2\xb4\xec\x96\x16\x16\xe7\x96\x6b\xc3\xea\xb5\x7b\xd9\x1b\x1e\xb2\x5d\x2d\xae\x0e\xaf\x47\x41\xcc\xca\xb3\x2d\xf1\x30\xab\x63\x59\x34\x67\x72\x54\xaa\xfa\x29\xb4\x24\x71\x01\x8d\xd1\xd4\x31\x9a\x8a\xb2\x14\x9a\x08\x4f\x11\x54\xed\x44\xf4\x33\xac\xa9\x08\xda\xdb\x4a\xf4\x70\x1a\x56\x65\xea\xcf\x7c\xc3\x23\xf5\xed\xef\x84\x2b\xe8\xe3\x1a\x4d\x78\xf4\x64\xe9\x89\xc6\x8a\xc1\x33\x86\x49\x79\x43\x1f\x95\x34\x58\xd5\xd1\xfe\xac\x0e\xa5\xdd\x15\x13\xbd\x8b\xfa\x7a\x97\x5f\xe9\x96\xb7\xa9\x9f\xe3\x27\xfc\x6e\x2e\x57\x25\xb0\x82\x7e\x2f\xef\x8b\xba\xae\x34\x87\x47\xf9\xe3\xab\x50\x61\xe3\x3a\xdc\xfb\x53\xb0\xd5\x9c\x3b\x6d\x17\x9e\x33\xa5\xb7\x4e\x7e\x8f\x40\x2f\x93\x47\xab\x33\xb3\x17\xff\x98\xec\xea\x17\xfa\xcc\x7e\x25\x00\x4d\x92\x87\xeb\x52\x0c\x6d\xba\x74\x3e\x9b\xd9\xf3\xfa\xe0\xbf\xa2\x58\xbf\x40\x53\x6b\x55\x5e\x14\xbe\x1d\xbf\x47\xe0\xbf\xe8\xd7\xd4\xb5\x5d\xff\xe3\x8e\x92\x29\x89\x6c\x6e\x7f\x36\x33\x03\x0f\xc4\xe4\x4a\x33\xef\xd5\x0a\x6c\xb0\xf4\x72\xe1\x87\x87\xd3\xeb\xa6\xe7\x2f\x96\x9e\x38\x38\x34\xfa\x60\x33\xae\xbd\x24\xa0\x6a\x41\xeb\x09\x17\x93\x98\xf9\xa0\x58\x67\xff\xb6\xe3\x9d\x2e\x5a\xda\x48\x10\x7f\xfb\x16\xb7\xf5\x9a\x23\x1b\xfe\x96\xe5\x8e\xd3\x70\x8d\x35\xfb\x03\xf6\x5e\xdf\xf7\xd1\xe4\xe7\xcb\x17\x9a\x9c\x41\x93\x19\xf5\x1b\x8c\x5c\xa8\xd6\xcf\x0e\xca\x3d\xd7\x99\x89\x49\xce\x7e\x37\xd7\xa7\x9c\x0d\xad\xfe\x83\x38\x76\x59\xe9\xb1\x95\xd0\x4e\x08\x3e\x4e\x48\xd7\x43\xf3\x8c\x82\x65\x63\x1b\xf1\x50\x02\xc7\x47\xfc\x62\x6e\xaa\x60\x9c\x41\x09\x03\xe6\x5f\xd9\xf0\x51\x72\xdc\x55\x97\x30\x2f\xb1\x89\x02\x04\x81\x73\xb6\xef\x17\x92\xcf\x04\x67\xb8\xda\xdf\xdb\xb9\xcd\x16\x67\x06\x72\x6d\xf2\x2a\x86\x96\x6d\x91\x38\xe7\xdb\xaa\xa5\x5d\x66\xee\x95\x8f\x10\x1e\x49\xf6\xde\xaa\x96\x8a\x8a\x96\x4b\x2e\xba\xaa\x8d\x44\x12\x72\x28\xef\xff\x46\x0e\x1f\x71\x42\x96\x06\x8b\x76\xb9\x82\xb3\x64\x76\x24\x94\xcb\xbc\xe0\xdc\x91\x38\xfe\x45\x98\x27\x76\xf8\xa0\x84\x57\x08\xf8\x00\x38\xc7\x1a\xe7\xc0\x9a\x5e\xe3\x98\x27\x1b\xf4\xd9\x33\xa3\x45\x57\xc3\x16\x12\x76\x16\x0b\xe5\xd6\x4b\xc0\xe5\x2d\xa8\x39\xa1\x8b\x29\xf5\x10\x45\xff\x25\x53\xd9\x7a\xef\x8b\x45\xf2\x6b\x91\x32\x80\x3d\xca\xef\x6a\xb9\xe3\xba\xe3\xbb\x39\xb9\xae\x37\xbe\x11\x5e\x19\x38\x76\xa7\xab\x56\xd1\x5c\x39\x07\xaa\x6d\x73\x3d\xdb\xf9\x52\x54\xf8\xa8\xd5\xc0\xc5\xab\x29\xda\xaf\x77\x67\x3f\xd9\x10\xf0\xc4\xfc\x10\x63\xd0\x15\xa0\xd1\xe8\x9c\x5e\x57\x71\x78\x16\x51\x0f\x50\x4e\x8e\xec\x2f\xf3\xdd\xcc\x8b\xf0\x8e\xa4\xd4\xfc\xda\x3c\xfb\xbd\xa9\xf3\xd1\x83\x38\x59\x17\xe1\xd1\x6c\xfb\x97\x07\xf6\xb7\x0a\x9d\x52\xd8\xe5\xe2\xef\xf1\xc5\x93\x8f\xb3\xb3\xa1\x38\x44\xf6\x35\xbd\xc6\x1a\x35\x1e\x8a\x1d\x71\x8c\xe6\xeb\x15\xf6\x8e\x2a\x78\x5b\x96\x60\xf5\x66\x1e\x1e\x0b\xc2\x7b\xcb\x7f\x2a\x5f\x61\x10\x8d\xbb\xcd\x97\xa4\xf3\xc9\x93\x66\x5c\xf6\x31\x8c\xaa\x19\x2d\xbb\xf3\xa3\x6e\xc8\xfc\xdb\x8f\x59\x3a\x88\x46\xc3\xbb\x97\xd2\x41\x25\xbc\xad\x22\x6f\x57\x4d\x19\x9d\x45\x49\x31\xd9\x8b\x1a\xea\xc6\x16\x6e\x44\x25\x44\xc4\x1b\x20\xf3\xaf\x8e\x0f\xc8\xd8\xfc\x86\x45\xd8\x04\x26\x6a\x46\xa7\xde\xbe\x42\x28\xcc\xf0\xd6\x85\xab\x42\x52\x53\xf5\xd2\xb8\xac\x7b\x99\xb1\x72\x24\xce\xd1\x20\x7e\xb3\xc8\xf7\x2b\x52\xfd\x64\x56\x6b\xf7\x2a\x5a\x1a\xb6\xb1\xa0\xde\x6d\xd6\x11\x14\xbc\x02\x57\x54\x72\xbd\x11\x28\xe8\xdf\x71\x23\x2a\x35\x96\xf0\xb5\x15\xe0\xe2\x28\x89\xad\xe8\x0d\x7f\xd2\xe2\x9f\xf7\xed\x6b\x9c\xa2\x92\x53\x71\xb4\x38\xd1\xeb\x8b\xbd\xab\xaa\xf7\xb3\xe5\x44\xd3\x75\x94\x2d\xad\x1d\x0c\x02\x6f\x54\x3c\x7c\xac\x7d\xd5\x7d\xfd\x68\xda\x1f\x77\x9f\x66\x66\xd2\x78\xc2\x79\xde\x69\x07\x3c\x2b\xac\xc5\xa5\x8c\x35\xbf\x9d\xb9\xb7\xd4\x23\xea\xd2\xdd\x1b\x15\x6f\x94\xb7\x94\xf1\x6a\xaf\xc1\x7a\xaa\xf8\x05\xaa\x6a\x4b\xed\xe5\xac\x61\x7a\xef\xf5\x52\x84\x9a\x7a\x0a\x35\xef\xad\x4d\xd5\x5f\x5b\xdc\xaf\xa6\x6f\x3f\x8c\xe6\xd7\xa6\xdb\xea\xb3\x35\x0c\xcc\xe5\x1e\xfe\x5d\x7e\x0a\xd6\xaa\xaf\x2f\x4b\xab\x01\x21\x4c\xad\xfc\xd8\x03\xb9\x7a\x9f\x5c\xd4\x34\x54\xec\x55\x97\xbf\xd4\x94\x0f\x69\x51\x47\x33\xda\x03\x0a\x76\x4d\x71\x57\xe2\x29\x9c\x12\x1f\xc0\x8b\x8b\x63\x1a\x8a\xd2\x2f\x27\xc9\x22\x7f\x02\xcb\xaa\x49\x35\x82\x91\x4b\x54\x8b\x8c\xc4\x18\xf1\x63\x0f\xf4\xcc\xaa\x09\x5b\x07\x47\x7f\x42\xe2\x7c\xf5\x20\xed\x85\xe9\x22\x14\x69\x78\x93\xd6\x14\xa8\x8b\x47\xd6\x99\x0d\x85\x17\xeb\x86\x80\x41\xea\x4a\x60\x46\xae\xb7\x46\x0e\x55\x34\x09\x87\x8b\xee\x3c\x61\x6d\x69\xf0\xb1\x21\x07\xf5\x14\x8e\xda\xd3\x05\x59\xb7\x7e\x96\x52\x8b\xf2\x96\x7a\x02\x9f\x87\x2c\x72\xb6\xf5\xd6\x15\xfa\xdf\x63\xaa\x5c\x08\x13\xe2\x20\xff\x64\x23\x6f\x0f\xfc\xa5\x1d\x90\xd5\x23\xd9\x5c\x8d\x9e\xb2\xb3\x8f\x81\x8e\x56\xc8\xcf\xc3\x08\x9e\x42\x03\xc6\xf9\x6b\xce\x14\xf4\xee\x76\xac\xe0\xcd\xbd\x30\x2d\xd5\xb9\x24\xb7\x19\xa7\xfc\x42\x62\x71\x27\xca\x9f\x53\x1d\xef\x51\xab\x29\x68\x26\xf5\xf9\x5e\x8f\x4e\x13\x1c\x80\x6e\xdf\xbb\x71\x08\x7a\xb9\xa2\x8d\xb1\x05\xb9\xe2\xbc\xa5\x06\x1c\x11\x34\x96\x95\xbe\x68\x86\x69\x84\xe0\xd6\x6c\x19\xa6\xa5\x6b\x9e\x78\xc2\x10\x09\x2c\x06\x4f\x86\xab\xa8\xa6\x3d\x60\xbc\x4b\x0b\xbe\x23\xf1\x1e\x97\xf9\xa9\xfd\x9c\x2c\x72\xb6\x61\x27\xfb\x65\x8b\xa0\x4e\x3b\xfd\x83\x96\x10\x5a\x18\x2f\x9c\x99\xad\xdc\x65\x5d\x02\xbf\xc1\x0d\xa5\xc4\x9b\x56\x5a\x21\xd2\xbb\x28\xf2\xef\xea\x30\x53\x82\xbc\xb6\xa9\x56\x71\xee\xf1\x47\xe1\xbd\x53\x14\xd2\x0a\xc4\xa5\x99\xa6\x40\x59\xa8\x33\x2d\xad\x0e\xa4\x09\xd0\xbe\xd1\x84\x18\xdf\xda\x6e\x2a\x5a\xdf\xde\x48\x18\x6b\x07\x41\xc7\xe0\xae\x17\x46\x6e\xa0\x24\x6d\x37\x69\xd6\x4f\xeb\x0d\xd3\x84\xcc\xd6\x7d\x31\xc0\xe9\xd0\x8d\x0b\x59\xc4\x62\xd9\x4b\x40\x17\xb9\x82\xf2\xcc\xd4\xa2\xee\x0b\x99\xc9\x17\xae\x06\xad\x64\xf2\x51\xff\x64\xe9\x16\x0b\xe9\x1e\xac\x8b\x98\x15\x7e\x18\x63\x3a\xdf\x3b\x80\x72\x4e\xea\x86\x55\xe9\x0e\x35\x39\xc2\xcf\x1e\x1b\x07\x09\x53\x5f\xd7\x88\x53\x2d\x44\x52\x1b\x6f\xd9\xc5\xc2\xe1\x29\x95\xae\x3b\xfe\x78\x6c\xe1\xd2\x96\xe0\x1d\x13\xe2\xc9\xe2\xa4\x9c\xc0\xeb\x94\xd1\x51\xf6\x0f\xba\x61\x2f\x7c\x5b\x1f\x62\xc4\x27\x8d\xef\x1b\xe1\xfc\x63\x93\x5b\xc3\x67\xf3\x82\x50\x7d\x49\xf2\x0c\xc1\xf6\x3b\x0b\xe8\xe9\x97\x25\xf1\xfb\x03\x7f\xfe\x30\x26\x63\x50\x39\x52\x9e\xef\xc9\x61\x36\x96\x9c\xe5\x3a\xbb\xaa\x20\xf0\xf5\x77\xbf\x1d\xa6\xac\xe0\x70\x93\x29\x72\xc3\x63\x3e\x29\xa4\x21\xd3\xc0\x04\xeb\x20\x2c\x41\xc6\x6c\x33\x45\x33\x26\x00\x11\xb3\x17\x71\x7b\xb2\x41\x05\x57\x71\x2d\x3e\x72\x1b\x93\x1e\x41\xb5\x31\xa5\xb8\xbe\xe4\xcc\x1e\xa1\xdd\x05\x7f\x66\x88\x77\xe3\x8b\x2f\x07\x3e\xee\xe3\x70\xb2\x8a\xfa\x6a\x8d\x59\xeb\xf6\x61\xb2\xba\x30\xca\xee\x0c\x7e\x3a\x9a\xe2\x94\xcc\x98\xe4\x64\x15\xea\x14\x16\x62\x36\x43\x72\x25\x6f\xf1\x19\x32\xdd\x83\xca\x64\x41\x6b\x28\xf7\x04\xed\xaa\x94\xe8\xa9\x43\x27\xa3\x92\xf0\x65\x22\xf7\x66\xfb\xcf\x17\x00\x3a\xb9\xae\xbb\x7a\xdf\x2e\x82\xc4\x82\xc0\x1e\x48\x46\x89\xbf\xe3\x2f\xa9\xa4\xc5\xed\x3b\xdb\x80\x46\xb9\x97\x58\xae\x72\x8c\x7b\x9f\x99\x64\xec\x6a\xa1\x19\x9f\xc1\x0c\x71\x6d\xe0\x37\x4e\x18\x83\xbd\xe3\x1c\xc9\xf6\x56\x31\xeb\x86\xb6\x37\x8b\xb6\x1e\x97\x2c\xb6\xd4\x4d\xe5\x39\x7d\x45\x95\xe8\xa9\xa6\x22\xbe\x6c\x66\x03\xde\x98\x3f\x65\x1d\x5c\x80\x1a\x73\xe6\x4f\x38\x22\xa9\x0e\xc1\x89\x5f\x6f\xca\x70\xc7\xe0\x3f\x4b\xca\xe0\xe3\x3a\x25\x8e\x63\x1f\xfb\x61\x53\xba\x80\xca\x5c\x1f\x4c\xbc\x93\xc8\xbf\xc9\xa4\x73\x46\x87\xab\x3a\x7b\xef\x2c\xfb\x87\x16\x2d\xba\x43\x86\xce\x19\x94\x51\x70\x45\x09\xf6\xaf\xf3\x30\x48\x63\x1e\xee\x94\x5a\xd8\x37\xad\x20\x9a\xa9\x82\x73\x09\x7f\xbe\x9a\x41\xa4\x9e\x8e\xff\xac\x9a\x90\xd9\xdb\xac\xc4\x79\xb7\x67\x6c\x71\x36\xdc\x5e\x7a\xac\xb8\x8d\x66\x41\xb0\x7a\x13\x02\x67\xf9\x0a\x96\xa5\xd9\xef\x72\x8f\xa6\x83\x29\xad\xe3\x79\x50\x63\x58\x04\x89\x4a\x92\xf4\x81\xfc\xd5\x2a\x16\x5f\x24\xae\x50\xc3\xd8\x77\xff\xf7\x65\x31\x98\xd4\xee\xcf\xe7\x10\xf3\x53\x80\x8a\xcf\xa7\x33\x7e\xff\x2f\x06\x45\xe4\xe3\xa6\x25\x30\x93\xf3\x55\xdf\x55\xc7\xe3\x28\x16\xf1\x4d\xda\x4e\x15\x49\x67\x63\x63\xe3\xc6\xe2\x94\x6a\xbb\x84\x0c\x1d\x95\x44\x99\xb8\x9d\xfb\x64\x7a\xdd\x80\x21\xd0\x5b\xf5\xa2\xee\xe3\x46\xfa\x13\x56\x0c\x91\x06\x90\x1e\x42\xed\x72\xc1\x8e\xec\xea\xe6\x26\x48\x94\x6c\x9e\x8e\xc0\xc7\x93\xa9\xcf\x72\xa1\x46\x66\xac\x92\x93\x36\xd5\xa2\x37\xb9\x32\xa7\xb5\xc2\x92\xaf\x66\x3c\xdc\xf1\xef\xd7\xfc\x69\xd0\x8f\x0c\x1a\xa7\x49\x10\xd8\x32\xb6\x8a\xe4\xbe\xe3\x62\x3e\xe5\xf1\xcd\x12\x85\x29\x84\xc1\x76\x80\x6e\x14\x79\xf0\x1f\x48\xdd\x83\xbf\x95\x0c\x84\x9e\x10\xeb\xdd\xf9\x7c\x13\xc4\x92\xaf\x9e\x23\xe1\xe0\x2d\xee\xb0\xd8\xf0\xe9\x03\xad\xc6\x15\x69\x29\x62\xa5\x3a\x0c\x0e\xeb\x17\xdf\xa1\x94\xe2\x18\x8f\xee\x12\x63\x6f\xd7\x37\xf9\xe0\xa2\x01\xc5\x99\xc7\x17\x72\x86\x0f\x7d\x3b\xac\x5f\x45\x58\xd0\x73\x89\x27\x33\x1e\x2f\xec\x47\x99\x7d\xab\x9f\x55\x8c\x57\x7a\x39\xa4\x90\x7f\x2a\x7b\x02\xd1\xe1\xa7\xab\xb1\x7d\x44\xd6\x06\x3a\x71\x6c\xad\x30\x0a\xbc\x43\xb9\x48\x9f\x26\x49\x3a\xc3\x24\xd3\x72\x65\x54\x22\x0c\xe6\x62\x7b\x69\xe2\x0d\xa3\xb3\xd7\xd8\x04\x9e\x36\x55\xe3\x6c\x39\x62\xe0\x85\xe1\x3b\xd0\x5a\xf4\xb2\x97\x38\x22\xca\x1d\xde\xe4\x7c\x3e\xfe\xfc\x82\xc0\x80\x0e\xec\x7b\x57\x17\x9d\x5a\x6f\xa4\x8f\xd0\xf4\xbc\x79\xdb\x47\xde\x37\xc6\x45\xfc\xc0\x90\x92\x6e\x97\x16\xfc\xba\x20\x19\x1d\x82\x7f\x62\x51\x02\xaf\xca\x58\xb7\x89\xa2\x8c\x79\x0d\xc9\xa2\xf0\x40\xc8\x74\x25\xb2\x62\xd6\x95\x87\x5d\xc8\x8e\x8f\x74\x49\x0d\xaf\x9f\xa0\xd8\x89\xc2\x24\xf7\x94\x4a\x08\x8c\xf8\x67\x96\xb6\x1d\x20\x5c\x7b\xf7\x1c\x31\xc7\x19\x3a\x9a\x2d\x18\x48\xa2\x69\x1c\x3f\xd4\x95\x22\x19\x10\x4b\xe3\xf7\x20\x1f\x08\x55\x7b\xf4\xdc\x3c\x6c\xf0\x79\xe2\xa0\xbd\xa6\xf2\x06\xbc\x76\x34\x80\x1a\xf6\xf1\x41\x3a\xb2\xe1\x47\x49\x18\xfd\xa5\xbb\x15\x04\x2e\x6a\xd0\xa5\x19\x3c\x68\x52\x26\x55\xab\x02\x0d\xee\x08\x35\xc0\x74\x8a\xe8\x6a\x86\xfd\xd7\x9b\x8d\x23\x40\x47\xf4\x6e\x8a\x33\xcf\xf7\x76\x2c\x3d\x06\xbf\x2c\x2e\x21\x8e\xc8\x75\xa7\x79\x3c\xbf\xd7\x01\x21\x89\xcb\x4c\xff\xb2\x48\x1a\xff\xe5\xb2\x47\xbd\xeb\x6d\x35\xd7\x97\x43\x21\x24\xff\x42\xc6\xd2\xc1\xdb\xf5\x41\xff\xa6\x3f\x70\xed\x84\xb3\x7d\x9a\x6e\xc5\x7e\x9b\x9b\xf8\x58\x82\x73\x66\x0f\x36\x7c\x7b\xca\xcf\xf5\xfc\xa4\x33\x1f\x9c\xb5\xdf\x1a\x9d\xf1\xf3\xb8\xb9\x93\xf3\xe5\x35\xdb\xc2\x3c\x10\x9e\xe3\x5f\xc2\x93\xcf\xfb\x13\x25\xb3\x40\x01\xad\x71\xe8\xa6\x2c\x18\xef\x53\xa1\x35\x12\x10\xce\x94\x66\x73\xcf\xb6\x1e\x07\x7d\xa3\xef\xaa\xd3\x7e\x2b\x0f\x02\x66\xb6\x70\x21\x35\xad\xb3\xc4\x35\x6c\x95\x29\x93\x78\xf4\x31\x4e\xca\x47\x64\x2e\x0c\x96\x3f\xc6\x52\xb3\xad\x4d\x63\x16\x5a\x11\x55\x45\xa0\x3b\xff\xea\x0b\xfa\x17\x77\x63\x7d\x40\xf2\x19\xa1\x86\xeb\xaf\x1f\x11\xde\x37\x84\xf0\x0d\x0e\xd2\xa8\xea\xf2\xad\x2a\xb9\xcb\x04\x7c\x79\x49\xfe\x52\xe4\x7d\x53\x5b\x2b\x1d\x5d\x7b\x1c\x39\x48\xf1\x30\xef\x63\xb2\xaf\x71\x0c\x78\x06\xef\x4a\x87\x0f\x30\x37\x3b\xcf\x40\x7f\xf9\xc6\xe9\xe4\x4c\xad\x64\x45\x43\x43\x04\x22\xba\xba\x1b\xd2\x2a\xa6\x69\x97\xe5\x51\xe9\xef\x50\xa0\x7e\x69\x9e\xc1\xa1\x94\x50\x4e\xdd\x91\x5c\x89\x59\x72\x65\x9f\x1e\x8e\xdc\x52\xc9\x3b\xde\xe8\x6b\x30\x61\x3f\x35\xbb\xbd\x09\x5f\xf2\x1f\xc5\x9c\x34\x99\xf6\xd6\xe0\x50\xb1\x35\x09\x1e\x6f\xe3\xcb\xcb\x87\xd3\xc5\x9b\x79\x46\x54\x3a\x8a\xab\xb5\xfe\xea\xef\x6a\x8f\xcb\x5f\x1b\x04\xa4\x03\x8e\xf8\xaa\xa1\xa1\x07\x97\x24\x88\xeb\x31\xe3\xeb\xb2\xe8\x68\x0e\xe3\x6f\x26\xd6\x22\xce\xfe\xfd\xab\x1f\x37\xed\xa6\x73\x6b\x51\x47\x1d\xc5\xa1\x91\x73\x94\xcb\x1e\x67\x7d\x69\x90\x37\x89\x1a\xd3\x06\x4e\xb1\x8f\xa3\x14\x78\x77\x22\x9b\x9d\xc3\x72\x2f\xda\x72\x69\x10\x91\x72\x52\x7e\x29\xb9\x12\x9f\x13\x0a\xf3\xb8\x88\xf3\x37\xa1\x12\xa1\xb0\xbc\xdc\x66\x51\x49\xac\xda\x99\x3f\x60\x51\x1d\x83\x7e\x09\x47\x24\xf7\x6e\x98\x9c\xc6\x37\x49\x93\x1b\x70\xcb\x90\x18\x9c\x24\x38\xe6\xbc\x01\x40\x77\xc8\x3a\x34\xe2\x86\x55\x7e\x62\xe4\x59\x86\x6d\x80\x42\x5b\x24\x76\x8e\x90\xda\xea\xc4\x0e\x96\x83\xb1\xca\xe1\x55\x39\xfb\x89\xfc\x46\xaf\xf4\xc7\xfd\x9b\x36\xfb\x77\xb0\x0e\x07\xc3\x97\xc9\x46\x5e\x2a\x82\x0e\x06\x8e\xda\xaa\x36\xf0\x80\xe8\x91\x62\x99\x33\x8a\x33\xf1\x33\xcb\x45\xc6\x58\x71\xf6\x19\x71\x86\xe1\xd8\xd9\x51\x57\x87\xf4\x36\xae\xcd\x74\x0f\x24\xd8\x56\xb7\x12\xc2\xf4\xef\x1f\x62\x44\x5e\x28\x18\xbd\x2e\xaf\xb7\xf8\x79\x9f\x6f\x9b\xa7\x25\xf9\x8c\x36\x44\x0b\x9b\xbc\x44\xd3\xca\x2a\x97\x0e\xff\x62\xc8\x23\x78\x2b\xf3\xd1\xf0\x15\x8b\x38\xc2\x0d\x24\x49\xa6\x50\x3a\xc5\x7d\x20\x16\x5e\x91\x9f\xb5\xfb\x92\x6e\x2c\xfb\x0a\x28\x17\x2e\xd4\x91\xdd\x45\x9a\x4a\x22\x9a\x1e\x35\xa3\x1a\x12\x67\x02\xb5\x7d\xd1\x1c\xd3\xd0\x46\x70\x8a\x58\x85\xd3\xd6\x6f\x87\x60\x4c\xd9\xbb\xb5\x8b\xb4\xd1\xc8\x9c\x07\xf0\x18\x80\xc8\x25\xaa\x12\x21\x8c\x61\x57\xf2\xe6\x96\x19\x52\x21\xaf\x9d\x6b\x3f\xd8\x9e\x9a\x15\x7a\x09\x0d\x88\xd0\x7a\x9e\x58\xa7\x56\xf5\x50\xf3\xc1\xec\x79\x9a\x93\x6a\x5f\xba\x67\x89\x9a\x23\x3f\x18\xca\x16\x89\x7c\xda\x17\x38\xb8\xed\x94\x1e\x22\x94\x30\x4a\x71\xac\xfd\xff\xb6\x06\x6b\x58\x57\x8b\xa5\x15\xf6\x16\xaa\x79\x57\xcc\x63\x72\x82\x19\x1d\x10\xd8\x5e\xff\xc6\x5f\xd5\xb3\x70\xe5\x0e\x93\xea\xa1\x54\x41\xf7\xc0\xc3\x20\xa8\x55\xb2\x8e\xa5\xa9\x6e\x16\x3a\xb6\xc2\x31\x80\xdf\xeb\x51\xa8\xc0\x63\x9f\xb5\x75\xd2\x8c\xd3\x10\x40\x95\xd6\xa0\x0f\x2a\xd2\x51\xa2\xed\x11\x79\x48\x65\xed\x66\x77\x8a\xa7\xc8\x5f\x75\x84\x54\x68\x20\x8c\x85\x19\x1b\xf9\x11\x09\xa8\xc8\xdf\x72\xbe\xc4\x3f\x4b\x70\x8c\xcd\x17\xdb\x42\xe4\x70\x0e\xa5\x25\x68\x2a\x26\x26\x68\x74\xd7\xb0\x8a\xd5\x2e\xdd\x4f\x09\xbf\xbb\x5b\xf8\x5b\x29\xa2\x81\xbe\x14\xfd\xfc\xf7\x8d\xa6\x77\xc6\xa4\x1a\x12\x01\x42\x76\x67\xb0\xcb\xaa\x85\x81\xab\xb9\x6e\x62\xba\x29\x91\xa3\x22\x26\xcf\x30\xdf\xa0\xdd\xec\x2e\xcb\xcc\xbb\x64\xb9\x60\x39\x43\x5f\x84\x6c\x21\x89\x7a\xf4\xab\x84\xae\x68\xd3\xba\x35\x8e\x95\x33\x61\xbb\x5f\x9e\xe7\xc1\x70\xf7\xd9\xba\x95\x28\x34\x60\x5d\xeb\x89\x58\x68\xf2\xe4\x30\x66\x95\xae\x90\x1e\xaf\x7a\xa1\x06\xe3\x9e\x78\x9d\xce\xff\xd1\xc9\xf8\xfb\x29\x82\x8f\xe5\x02\xbe\x12\x25\x21\x8c\x0b\xb5\xbb\xb2\x29\x9a\xaf\x02\xd2\x8f\xc0\x37\xa8\x73\xe2\xe7\xfb\x6e\xee\xbf\x86\x97\xed\x80\xf4\xd1\xc4\x17\xde\x9f\x74\x36\x06\xf4\x33\x42\x18\x4d\x20\x33\x68\x86\xbe\x30\xfe\xa1\xc0\x41\x62\xec\x48\xb6\x45\x53\x9b\xf2\x38\x62\x38\x3c\x77\x38\x0d\x0a\xfd\xf7\xbf\x5c\xdf\xbb\x60\xdb\xfe\xd4\xa1\x3f\xea\xe6\xda\x93\xd3\x2e\xc9\xa9\x7e\x22\xd1\xa4\x2e\x7d\xca\x96\xc6\xc1\x16\xe3\x6b\x31\x47\x17\xd9\x71\x49\x49\x4d\x67\xcb\x64\xff\xc9\xbf\x65\x63\x0e\x6b\xc1\x11\x27\xb5\xf4\x0e\x0d\x44\x49\xa0\x9b\x51\xe7\x57\x9f\xe1\x97\x67\x07\xb6\x94\x9d\xe1\x16\xf8\x94\x49\x6a\xdc\x5f\x90\x9e\xf2\x4b\x4e\x0a\xda\x7d\x18\xb0\x6e\x89\x18\x06\x3a\xa4\x9a\x7b\xc8\x6f\xad\xa2\x65\x0d\x49\x6b\x57\x99\xd9\x6e\xa5\x59\xe6\x6d\xdc\xa7\x3c\xb2\x03\xf2\x79\x9a\x70\x89\x86\x1b\xed\x8e\x2d\x9c\x72\xed\xf4\x44\x11\xec\xbe\xf2\x2b\x78\x7b\x04\xde\xbf\xed\x77\x06\x9f\x16\xbf\x65\x76\xa6\xd0\xd3\xbe\x9f\xba\x0c\x03\x3f\x03\xcb\x4f\x3e\x2f\xea\xc8\x1f\x9a\xf4\xde\xfb\xba\x8a\x3b\x8f\x04\xeb\x39\xdf\xde\x3d\x6d\xf8\x7d\x46\xa3\x17\xbe\x9d\xe3\x10\xfd\x71\xe4\xbc\x4a\x61\x7d\xab\x1d\xcb\x24\x94\xd1\x2b\x18\x6c\x18\x5a\x53\x74\xe4\xf5\xa5\xed\x4b\x1d\x8a\x3c\x94\x7d\xcd\x13\xb0\x0b\xd6\x34\x8d\x30\x4a\xcc\xed\x3a\xfd\x4c\x67\xff\xca\xc8\xb4\x98\x5c\xca\x65\xb8\x4a\xcf\x1c\x5d\x06\xa9\xf4\xde\xed\x32\x51\x97\x43\x42\x97\x23\xcf\x7e\xd3\xbf\xbc\xec\x8e\x23\xc2\x6d\xf0\xaa\x57\x5d\xca\xd3\x74\x57\x89\x96\xd2\x10\x31\xa8\xb5\x4c\xeb\x77\x5c\xf0\x85\xe3\x9e\x85\xcf\x21\x5e\xf8\xd4\x16\xe3\xe8\xff\x4b\xc7\x74\x2f\x4f\x14\xd2\x38\x9a\xd9\x4d\x57\xdd\x4d\x65\x0f\xa9\x04\xff\xf3\xc9\x2a\x43\xf5\x26\xe9\x82\x6b\x06\x7f\x44\xfd\x19\x4f\x97\x90\x17\x7a\x1e\x5c\x65\xac\x89\xe9\xf9\x65\xbd\xda\xa0\x0f\x3f\x47\x26\x41\xe8\xfa\x44\x48\x6f\xbc\x96\x68\x92\x2a\xc3\x23\x76\x9d\xed\xb2\xc0\x2c\x1d\x0d\x7c\x4d\xab\xa6\x62\x90\x81\xd5\x4f\x09\xa1\xd7\x7d\xf7\x7b\x82\xaa\x44\x0b\xc9\xe0\x49\xb1\x29\xe6\x20\xf3\x7e\x97\x38\xf7\xb0\x41\x76\x67\x7c\xfa\xf9\x64\x7a\xae\x7d\x39\x88\x7d\xe3\xf5\xd4\xe8\x37\xa2\xd4\xcb\x18\xf1\x55\x21\xbc\xb9\x5b\xa8\xf7\x1b\x29\x3a\x92\x61\x50\x5f\x23\x94\x80\x28\x4f\x2a\x0d\x73\x01\x72\x84\xb4\xeb\x4c\x91\xc3\xf9\xef\x5b\x9a\x4b\x5f\xed\xc7\xe0\x59\xaf\x73\x9d\xa4\x47\xbc\x96\x20\xb9\x2c\x62\x25\x76\xcb\xba\x33\xeb\x74\x46\x0e\x65\x72\x73\x28\x41\xf1\x51\x47\xf1\x5e\xa7\x9f\x19\x8f\x99\x03\xa1\x34\x65\x37\x16\x03\x11\x6e\x2e\x31\xea\xca\xb9\x48\xab\x8e\xcf\x1f\x48\x13\xa1\x33\x04\xca\x7f\xba\xcc\x7d\x87\x9d\x79\x31\xd7\x01\x87\x86\x65\x13\x8a\x10\x92\x09\x02\x0d\xe7\x50\x1f\x61\x2b\x45\x1d\xcb\x56\xad\x78\xf9\x06\x4f\x03\xca\xb7\x10\x7e\x33\x18\x57\x9e\x6c\xfa\x29\x49\x57\xe8\xc8\x46\x73\x43\xfa\xc5\x90\xb9\x9e\x46\xc7\x45\xe9\xe3\x9f\x38\xae\x93\x90\xf1\x06\x6e\x8e\xe3\xfd\x72\x7f\xbf\x7f\xce\x45\xb9\x13\x52\x6b\x88\x1c\xda\x45\xe0\x29\xd4\x26\xba\xf7\x78\x91\xcf\xa2\x69\xcc\xc2\x4f\xe3\x70\x80\x57\xf7\x1d\x7c\xaf\xfb\x7b\x83\xdd\x39\x87\x99\x0e\xf3\x91\x1b\x9c\x48\x6e\x13\x6b\x60\xcb\x43\x2d\x52\x93\xcf\xbd\x64\xaa\x67\x98\x1b\x7a\xaf\xeb\x12\x0d\x44\x8f\x86\x75\x93\x3f\x1b\x79\xc9\x52\xcb\x3c\x1b\xaa\x3a\x08\xe5\x73\xf8\xdc\x8b\x9d\xe5\x64\x9c\x32\x87\x14\xcf\xd3\x7f\x5e\xf1\x43\x49\xe8\x1b\x91\x28\x5d\xfa\x7e\x45\x3d\xde\x27\x70\xe6\x08\x30\x11\x06\xe5\x5f\x1d\x92\xca\x43\x40\x41\xfa\x8c\xda\x97\xaf\x51\x83\x56\x04\xa1\x1e\x67\x5e\x82\xd6\xdf\xb3\x9b\xcb\x39\x05\x7b\xbd\x1f\x96\x00\x80\x22\x6b\xb8\x91\x2d\x2d\x6f\x75\xf5\xe1\xaa\x74\x0d\x3b\xee\x2a\x75\x76\x24\xe5\x3b\x6f\x3a\xb6\xdf\x65\x8c\x21\x8f\xec\xc4\x7a\xfe\x53\x82\x8e\x50\xc9\x94\x74\xbe\x9e\x27\x29\xd4\xac\x7b\xfa\x3c\x77\x01\x42\xfe\x0c\xf6\x19\x42\xb6\x29\xa5\x94\xf5\x06\xd2\x09\xe0\x77\x54\xc4\x30\x14\x2f\xd5\xa0\xd1\x84\x0f\xe7\xc3\xe4\xc5\x8b\x62\xeb\x52\x0a\x45\xdc\xa5\xdf\xec\x72\x2b\x37\xc2\x1b\x85\xd9\xe0\xef\x1f\x3e\xa5\x36\xa3\xce\x67\x9f\x24\x01\x27\x27\x0f\xcb\x6f\xed\x91\xce\x70\xea\x4d\x42\xa5\x32\x57\x40\xad\xe7\x47\x84\xb8\x2f\x4b\xdd\xb2\x5d\xc3\x62\x15\xf1\x24\x19\xa8\x35\x17\x93\xc3\x93\xa5\x35\x97\x8f\xd5\xfe\x13\xbf\xe4\x29\x8f\xd1\x1f\x59\xc8\x3f\xb3\xde\x49\x52\xcc\xd9\xe4\x72\xc4\xf7\x44\x77\xe3\x12\x8f\x2d\x10\x04\xb7\x77\x0c\x0d\xc0\x5d\xb8\xc1\xb6\xe8\x55\x42\x8f\x39\x03\x06\x7a\xa9\x26\x5d\x2c\x1c\x8c\xa3\xae\x1f\x6e\x84\x54\xf1\xd8\x56\x55\x51\x8d\x62\x85\xd8\x7c\xa6\x2e\x9a\xb8\x31\xea\xe0\x57\xce\xaa\xd1\xe5\xcd\x51\x0b\x8d\x7e\x7b\x91\xdf\x2c\x01\xc1\x37\x3e\x7b\xe1\xc1\x1b\x74\x3d\x5c\x90\x94\xcb\x1e\x80\x70\x25\x4e\x5d\x3d\x79\x51\x4b\x77\x70\xc2\x9a\xf9\x86\x1e\x1f\xd7\xeb\x6b\x0c\x98\x72\xe5\x49\xcc\x42\x48\xa4\xf9\x44\x61\xa2\x66\x8c\x68\xbc\xd4\xd3\x85\x05\x5a\x7f\x47\x04\xbd\x4a\xaf\x7d\x79\xd5\xaa\x12\x04\x35\x2a\x3d\x0a\x8c\x31\xc3\x3d\x56\x0a\xb8\x7a\x6a\xbe\xab\xfb\xdf\xed\x37\x5c\x9c\x25\x80\x7b\x65\x6e\xfd\x6f\x93\x17\x02\xdf\x6d\x86\xdb\xc2\xad\x1f\x38\x82\xa7\xc1\x30\x47\xa7\x05\x4a\xec\xbf\x03\x14\x7c\xef\xa8\xa0\x91\xf5\x78\x1c\x0d\xf5\x7c\x52\x0b\xbb\x60\xfe\xd5\xf4\x9a\xf2\x15\x52\x20\x84\xf9\xa3\xea\x12\x43\xdd\x5d\xca\x9c\xb1\xb7\xbd\xa3\xf1\xf1\x65\xc0\x27\x6f\x18\x06\x1f\xa6\x1f\xac\x79\xab\x70\x90\x77\x11\xaf\x63\xdb\xa6\xd8\x94\x04\x48\xf4\x86\xd7\xca\xb9\x01\x5b\x2f\xc0\xa6\x26\xcb\x9c\xd7\x15\x66\x37\xd7\xc4\x5c\x86\xc3\x7c\xeb\xff\x9c\x90\x9c\x9d\x40\xb6\xc2\x3c\x79\x91\x8a\xb7\x81\xbd\xf2\x00\xc0\x2b\x99\x76\x6f\x47\x5c\x48\x76\xcf\xc4\xb0\x17\xb8\x42\x9e\xa6\x17\x0b\x1b\x12\xac\x34\x8d\xb5\xd1\x75\xf3\x9d\x80\x3f\xfa\xe2\x9d\x19\x16\x9c\x42\x95\x5d\x6e\x25\x3c\x78\xe0\x5e\x79\x28\x49\xd1\xf8\x71\x95\xfb\x66\xa3\x57\x95\xb4\xc6\x0b\xc0\x29\xcd\xc9\x78\xca\xd6\x8b\xfc\x99\x9e\x7f\x56\xaf\x62\x5b\x2d\x77\x95\x08\x67\x15\x35\xdc\xc3\x41\x39\xaa\xdf\xfa\x7e\xe2\xf5\x73\x94\x2c\x4c\x0c\xf2\xe4\x8c\xd0\x8a\x41\x74\xec\xb6\xb3\x62\x46\xb3\xd0\xdb\x67\xa2\x60\x78\x07\x2f\x2d\xd0\xcd\xf4\x4b\xe9\xf6\x0a\xd4\x19\x2d\x2a\x15\x2a\x15\x07\x83\x23\xcd\xbb\x29\x43\x95\xeb\x70\xd5\x59\x34\x2e\xcd\xc0\xa0\xe5\x25\xc1\xf2\x58\xc6\x09\xe3\x23\xc3\x2b\xd7\x6a\x54\xd3\x50\x2f\x89\x4c\x84\x16\x6c\x51\xbe\x9d\x82\xee\xcb\x09\x98\xc1\x52\x0d\x1c\xa9\x69\x62\x11\xb0\x0b\x16\x6d\x5b\x34\x8e\xbc\xe9\x74\x72\x43\x18\xb5\x26\x7e\x94\x6b\x4c\x75\x88\x27\x14\x44\xca\x08\x62\xd8\x87\x87\x28\xd0\xa6\xf4\x3c\x86\x59\x0e\xd9\x48\xda\x2d\x7c\xbc\xdd\xee\x2d\x44\xfa\x21\xf8\x37\x8e\x4f\x60\xdb\x8a\x1a\xd6\x5c\xb9\x52\x1a\xb1\x61\x65\xc4\xda\x01\xe8\xc3\x45\x48\x0f\x34\xd1\x78\x3f\x74\xec\xa5\x2e\x96\xde\xd8\xb3\x1a\xc6\xfa\xf1\xca\x69\x31\xa0\x9d\x65\xca\x7e\x1f\xd9\x65\x73\x0f\x5e\x22\x09\xc1\x5b\x2a\x6b\x3f\x16\x71\x2b\xb2\x64\xea\xf3\x34\xdb\x68\x6d\x16\xa8\x43\x28\xa9\x98\xc4\x57\xa8\x79\x13\xde\x39\xeb\xaa\xf9\x15\xd1\x31\x77\x53\x94\x5a\xb2\x60\xc6\x68\xea\x2c\x8b\xe4\x11\x06\x75\xa0\xef\x1c\x99\x58\x9d\x3e\x5e\x4c\xb9\x17\x19\x4b\xd3\x9d\xfb\x9a\x64\x08\xd7\x32\x6f\x54\x89\x15\x2b\x5d\x44\xe4\xa0\x35\xf8\xa4\xc1\xf8\x91\x6b\x09\xb4\xbb\xed\x1e\xd7\x89\xc4\x1f\x1e\xfe\x7d\x3b\x1f\x83\xf6\xfc\x97\x77\xaa\x10\x1e\xdd\x6b\xb3\x65\x5c\x70\xa9\xe0\x50\x95\xc1\x11\x40\x87\x38\xd8\x25\xbb\x59\x10\xda\xe7\xae\x15\x8b\x62\x85\xf1\xc7\xdf\x9b\x5f\x6a\x3e\x24\xdf\x8a\xfc\x04\xab\xf0\x1c\x27\x65\x4c\x38\x56\xed\x70\xce\x72\xea\xce\x13\x5b\xce\xf8\x32\xbd\x2a\x67\x26\xa1\x9c\xd9\x18\xf0\xe1\xb5\x83\xec\xf2\x40\x84\x08\x9d\x2d\x13\xfb\xfa\xe0\xf6\xc1\x97\xde\x47\xc9\xae\xfc\x36\x3e\x42\x6d\x14\xdf\x5f\xc3\x81\xc5\xc8\x26\x9f\x3d\x4d\xb1\x4e\x98\x9f\x82\x61\xe9\x98\xd8\xe6\x68\x43\x07\x01\xa7\x83\x68\x2a\x9f\x3d\xa0\x03\xda\x7e\xca\x77\x82\x8e\xc8\x3d\x79\x92\xb3\x9a\xfd\x5a\xad\xb4\x94\x34\xd3\x04\x4b\x2b\x33\x9e\xbc\xcd\x2e\x39\x2d\x39\xe5\x64\x1f\x0d\x26\x7b\x5f\xad\xd0\x90\xb0\x87\x5f\xc3\xec\xc3\x4e\xe1\xb1\xd1\x46\xb2\x3a\xd9\x6c\x29\xb5\xee\xc0\xbd\x04\x35\x71\x54\xcd\x64\x57\x3b\xb3\x99\x97\xcb\xef\x34\x38\xa4\x32\xb7\x13\x8b\xb8\xe9\xc5\xaa\x31\xab\x47\x7b\x5d\x37\x76\xa6\xf2\x92\x23\x03\x71\xfa\x99\xaf\xcb\x72\x83\x46\x51\xa5\x30\xea\x6c\xad\xa6\x4d\x92\x47\xc2\x16\x90\xe7\x13\x90\xc3\x3f\xa5\xc2\xd0\xd1\x7e\xc4\x74\xc1\x5f\x3c\xbc\x47\x07\x31\xe7\xa1\xa8\xee\xa3\xe8\x32\x6c\xb9\xa6\x14\x23\x9c\xc9\x6e\x56\x6f\x43\x81\x99\x61\xf2\x94\xa2\x49\xdf\xa0\x2c\x83\x0d\x54\x60\xca\xa4\x15\xe2\xc6\x1f\x63\xd0\x21\xce\x06\x34\x04\xf0\x73\xf5\x38\xe5\x2f\xd5\x6c\x74\x57\x98\x99\xa1\x7a\x05\x95\x22\x52\xd6\x53\x98\xb4\xfc\xce\x50\x70\x05\x04\xc3\xe1\x05\xe9\x48\xdc\xb8\x8a\xf3\x57\xa7\xdd\x5f\x6b\x6d\xbf\x7b\x7d\xd3\x73\x83\xf6\x51\x25\xd4\x70\xbc\xa0\x10\xff\x15\x86\x70\x34\x1c\xd4\xb8\x0f\x54\xcd\xbb\xca\xac\x38\x54\x1c\xac\x10\x40\xe3\x00\x96\x6b\xae\x11\xbc\x14\x69\xc0\x6e\x3e\xaf\xdb\x50\x7f\x57\x24\x1a\x40\x3f\x75\x49\x54\x0f\x5a\xcc\x37\xb0\xc9\x48\x5d\xd6\x6d\xb5\x8f\x1e\x3f\x5d\xf8\x7b\x4a\x43\x5d\x0b\xd1\xdb\xe3\xb5\xac\x0d\xaa\x94\x9e\x16\x16\xa5\x7e\x52\x65\x2d\xd0\xa5\x10\xb6\x1e\xcc\xfc\x66\xc6\xa0\x34\x98\x12\x83\x43\xa6\x65\xae\x59\x62\x04\x2c\x40\x02\x66\xa0\x8a\xaa\x26\xd7\x16\xd6\x1f\xa0\x88\x87\x64\x0c\x51\xe2\xac\x1b\x0c\x24\xc8\x00\x0b\xef\x91\x8d\xc1\xec\x44\x7c\xf3\xf2\xeb\x8b\x71\xa7\x43\x39\x7b\xb2\x0b\x7d\x89\xf9\xc3\x4c\x90\x45\xec\x32\xe3\x42\x18\xc7\xa1\xab\x04\xa6\x61\x91\x4d\x60\xa1\x1d\x64\x16\x88\xe3\x36\xc5\x9a\x0c\x3a\xc7\xcc\xd7\xf6\x60\x84\x8b\x2d\xef\xf6\x06\x59\xb8\xd8\x66\x6b\xd8\xaf\xd1\x3b\x97\x5f\x88\x8e\x32\xc4\x97\x5b\xd4\x9f\xf6\x85\xba\x86\xae\x7b\x2f\x6d\xe2\x70\xf7\xf0\x29\x08\xfe\xc7\x8c\xc8\x75\x8e\x16\x8f\x98\x7d\xb4\x7d\x01\x1f\xab\x46\x4a\x8f\x5b\xb8\xfa\xaf\xce\xd4\xdd\x57\x52\x47\x5d\x57\xf8\xc3\xfb\xd9\x6b\x7d\x5e\x65\xe2\x96\x8e\x5f\x9f\x17\xa5\x7d\xfb\xb9\xc1\x24\x12\x53\xd6\xe0\x51\x25\x71\x5f\x24\x78\x7c\x45\xc3\x58\xa3\xfa\x6c\x66\xb4\xf0\x78\xff\xd0\x04\xc2\x95\x02\x99\x20\x56\x4c\x7f\x6d\xe5\x1c\xfb\xe4\x7b\x32\xde\x86\xfe\xd3\xef\xe7\xff\x74\x15\xa2\xdd\x6e\x4e\xe7\x63\xfb\xfb\xdc\x4b\xdf\x0b\x51\x9d\xfb\x2b\x5f\x2a\xd5\x73\x9b\x0d\x32\xcd\x62\x4c\x5c\xdc\xfa\x06\x1c\xc5\xcb\xf6\x30\xe4\xba\xaa\xf3\x0f\x29\x56\x7c\x61\x30\x2d\x8e\x5a\x25\x3d\xa2\x3d\x7b\x30\xa6\xa1\x86\xf3\xdf\x08\x4a\xdd\x3c\x61\xea\x75\x8b\xa3\x99\x9f\x59\x99\xd7\x10\x4b\x11\x15\xec\xab\xf3\x74\x0d\xe0\xbf\xdb\x5b\x09\xd3\x05\x3a\xe9\x0c\xed\x35\x17\x8c\xe0\xe6\x43\x40\x63\x50\xb9\x1e\xdd\x65\xdc\x6e\x57\x33\xd9\xf0\xf0\x85\xe2\x8e\x73\xae\x5c\x6c\x34\x8a\x71\x43\xbe\xef\x71\xf5\x04\x3d\x76\x69\x4b\xe5\x8e\x95\xb0\x71\x5d\x72\x36\x12\x7b\x8c\x5e\x06\xc3\xbd\xe3\x5f\x71\x4d\x45\x06\x89\x85\x94\x68\x09\xaa\x95\x4a\x5c\x30\x71\x11\x98\x02\x20\x8c\x79\x61\xca\xa0\xce\x69\x1e\x9e\x99\x8d\x60\x68\x12\x8d\x64\x4e\x51\xd6\x3b\x52\x31\x0e\x33\x30\x7c\xa8\x51\xe0\x0f\x98\x5a\x52\xad\x71\x14\x3f\x6f\x1e\xf1\xf0\x46\x43\x0a\xce\xe2\xe2\x05\x18\x4b\x5b\xfd\x61\x4a\x35\xfb\x6c\xd3\x45\xe0\xa7\x86\x62\xea\x2f\x25\x43\x8c\x69\x56\xdb\x15\x9a\x06\xb2\xd7\x0f\xc3\x12\xc6\x12\x47\x81\x40\x3f\x22\xf8\xc7\x2a\x94\xe4\x8c\x6f\x28\x1c\x98\xae\xc1\x94\xa9\x99\xdb\x29\xe6\xad\x40\x97\x0f\xaa\xad\xf1\x09\x70\x2d\x81\xa3\x84\xc5\xf2\x45\xc6\xd2\x17\x8a\x33\xa9\xee\xee\x58\x42\xef\xa5\xe6\x72\x81\xf7\xf7\xb3\x35\x9d\x87\x6a\x1b\xb6\xc5\xee\x6f\x35\x21\xab\x3d\xd0\xd8\xb3\x43\x8c\xfb\x73\x6d\x79\x1b\x63\xc0\xc9\x80\x1c\xc8\xfb\x4e\x34\xd5\x38\x7d\xc3\x58\xbd\x91\xad\x58\xd3\x3a\x74\x30\x44\x28\x20\x0f\xcb\x2c\xb0\xf3\xec\x0c\xd7\xfb\xcf\x8c\x64\xf0\x53\xde\xc4\xc8\x84\xce\x95\xb3\x75\x35\xf9\x4e\x29\xb7\x53\x82\xe8\x94\xd0\xdc\xdd\xe9\x2d\xe5\xbc\xab\xcb\xc0\x15\x9f\x80\x2c\xf3\xc9\x42\xbf\xec\x0b\x01\x2f\x98\xcc\xd7\xf3\xd8\xcb\x89\x58\xcd\xe1\x4d\x27\x5d\x40\xb2\xdb\xca\xde\x40\x09\x25\x56\x2a\xdf\x53\x9b\x65\xe0\xe7\x9b\xa2\x87\x5c\xc4\xf5\x06\xaf\x41\xfa\x93\xf4\x04\x8e\xe8\x33\xf8\x1d\x9e\x0c\xff\xc2\x99\x81\x84\xbd\x88\xbf\x19\xf1\x93\x68\x34\x1a\x5d\x00\xf1\xb3\xd2\x1f\x2f\xc9\xcb\x4e\x96\x3b\xc1\x38\xe4\x93\xf0\x79\x2d\x0d\xb1\x80\xe3\x75\x28\x2b\x32\x83\x2f\xc1\x58\x62\x7d\x87\xdf\xec\x05\xfd\xc7\x7b\xa8\x2c\x82\x55\xbf\xb9\x3c\x31\xde\xe5\x4a\x59\xa1\x30\xa3\x98\xdf\xae\x75\xa5\x7e\x56\x10\x85\x0e\x02\xc4\xfb\x03\x5f\xec\xbe\x39\x71\x3f\x70\xb0\x04\x2f\x6b\x7e\x94\x17\xd0\xe6\x07\x4a\xfe\xbe\x40\x19\x9b\xff\xe0\x80\xf6\xcf\xd6\x65\xaa\xa7\xde\xda\x1f\x6b\x60\xc3\x84\x5b\x12\x2e\xc6\xb4\xdd\x0b\x33\x09\x5a\xcf\x5d\x3e\xb0\x1d\x19\x8d\xfe\x5b\xea\xae\x15\x76\xad\xfe\xf4\x0b\x44\xad\xd1\x06\xd9\x30\x72\x5e\xc0\x39\x1a\x1a\x37\x23\x56\x3d\x80\x67\x1e\x94\x4a\xe0\xd6\x08\xaf\x5b\xde\xd9\xb8\x91\x89\xfa\x2e\x80\xf5\x24\xd4\x76\xbd\x02\x71\xcf\xc5\x36\x03\xd9\x4a\x12\x45\x1f\xc8\xfd\x52\x58\x5e\xab\x53\xcb\xe0\xe0\xcf\x53\x1b\x87\xbc\x34\x9b\xfa\xe5\xb3\x0d\xf6\x70\xff\x2b\xe2\xb8\xd0\xcc\xaa\x93\x34\x29\x1f\x06\x71\xbc\xb4\x7f\x76\x05\x29\xc6\x76\x49\x51\xf7\x90\xa7\x76\xf5\xed\x91\x34\x5d\x5f\x1b\xf8\x83\xfa\x07\xc2\x2b\x5c\xb1\x1b\x08\xa7\x1b\x02\xdb\x4c\x31\xba\xd3\x25\xe8\x0b\xed\x18\xec\xb3\xc0\x85\xc0\x63\xec\x54\x89\x65\x91\x16\x72\x89\xe5\x98\x46\x6d\x73\x70\xf0\x43\x7c\x33\x0c\x53\xdd\x66\xff\x4b\x49\x04\x13\x72\xd4\x53\x76\x7c\x36\x03\x8e\x3f\x64\x68\xf9\x01\x69\x15\xca\xaf\x7c\xbc\x04\x85\x2f\xbc\x8c\xb5\xe0\xde\xe1\xac\xb6\x80\x06\x75\xb3\x1f\x25\xd5\x42\xde\x0a\xfb\xd8\x75\x41\x4b\x40\xb3\xdd\x52\x91\xf0\x27\x06\x76\x53\x47\x49\x85\x02\x15\x36\x79\xaf\x3b\x67\x45\x8f\x9b\xf0\x62\x63\xb7\xf0\xdd\x40\xc8\xfa\xd0\x01\xd8\x00\x94\xf3\x6b\xa3\x55\xfd\x4c\xec\x74\x64\x76\x83\x18\x14\x53\x72\x0c\x15\x26\xd2\x1c\x0d\x78\x32\x5a\x14\x25\x5b\x24\x13\x1f\xbc\x88\x96\x84\xc4\xa1\x46\x90\x7f\x9e\xe3\x9e\xb3\xdf\xca\xf1\xcd\x5e\x77\x90\xa4\x65\xbf\x41\x2b\x7e\x06\x31\xf4\x70\x49\xa8\xed\x5a\xe5\xb2\x64\x49\x7b\x7c\x4e\x73\xb0\x82\x0b\x92\x4c\x3c\x41\x88\xe7\xe0\x59\x75\xa0\xab\x11\xd2\x5c\x42\xd7\xeb\x93\xfa\x91\x5c\x67\x2e\xcf\xdc\xb2\xcc\x4b\x4d\x92\x41\xe7\x0d\xec\xd9\xb1\x69\x9b\xad\xd0\xe9\x31\x89\xff\x5e\x72\xc1\x41\x86\x7c\x0e\x79\xbd\xe0\xc9\xed\xb7\x5b\x85\x01\x59\x95\x76\x34\xa8\x40\x15\xa2\x1f\x45\x41\xd7\x7b\xa4\x27\x05\x8c\x96\x18\xa9\x88\xf8\x41\xdf\xc9\x3f\x81\x58\xee\xe3\xb6\xb0\x69\x5c\x42\x5b\xa0\x5d\x4a\x54\xf8\x6c\x65\xd1\xd9\xe9\xe0\xc1\x3b\x3f\x58\x5e\xf0\xca\x0b\x69\xf5\x00\x56\xde\x47\xf8\x0d\x30\x83\x88\xbf\x0b\x29\x20\x66\xdf\xc7\xf9\xed\x42\xed\x7d\x98\xf3\x08\x09\x4c\xea\x43\xd6\x38\x4d\x9f\x89\x1b\x86\xaa\x48\xa9\x5e\x9b\x7e\xb7\xbb\x4e\x61\x9e\x8b\x3b\x23\xf3\xb4\x07\x1a\xa2\xe9\xb9\xc2\xd6\xa1\x4c\xd6\x9c\x82\x0b\x86\xf3\x2b\xca\x17\x59\xa8\xc4\x54\xb2\x2f\xab\x2f\x8b\x2e\xa3\x2f\xc3\x2f\x57\x2f\xfb\x2e\x4b\x2e\xe3\x3e\xc6\xaf\x43\x97\x23\x85\x99\x4b\x19\xe3\xe9\x1e\x14\x78\xe3\xc5\xe0\xb4\x5c\xde\xc0\x65\xf3\xbb\x8a\x85\x91\xa8\x84\xa8\xa7\x68\x52\xa8\x98\x31\x0f\xe1\x51\x3d\xf0\xe7\xb9\xab\xc4\xfe\x66\x34\x5c\x06\x27\x39\x07\xe3\x46\xad\xdc\xee\x82\x5a\x6d\x47\x97\x4e\x1f\x81\x8b\x25\xeb\xa2\x88\x6d\x3e\x5a\xe5\x2d\x62\x4a\x1d\xdb\x89\x07\xa4\x96\xa1\x24\x07\xaf\x9b\x24\xd2\xca\xf7\x05\xa7\x48\x1a\xc5\x39\x35\xe9\x21\x00\x7d\xf3\xd6\x05\x5d\xb5\x66\x83\x55\x36\x30\xd0\x65\xd3\xe6\x2f\x27\xb0\x34\x38\xeb\x47\xe4\x59\x13\xcb\xbd\xd3\xc6\x05\xe6\x57\xe0\x5a\xb3\x5c\x61\x08\x06\x0a\x5a\xac\x96\xa9\x3d\xcd\x0a\x57\x50\x90\xb1\xfe\x98\x66\xed\xa0\xa2\x07\xc2\x4f\x79\xbb\x21\x21\xcd\x42\xea\x15\x6d\x4c\xc7\xda\x9f\x4e\x63\x61\x43\x70\xde\x65\x79\x65\x36\x56\xb2\x07\x38\xfc\xb4\x9c\xbf\xb0\x63\xb3\x77\x1a\xfa\x83\xb7\x8b\xbd\x50\xb1\x40\x6a\x0b\xbb\x5c\x2c\xbd\x6d\x26\x22\x99\x86\xca\x86\x29\x2a\x82\x17\xe9\x3a\xc1\x2e\x3a\x85\xad\xa8\x6d\xd2\x67\xe3\x58\x0b\x3d\xfd\xbe\xd5\xc0\xc5\xef\x21\x6f\x5c\xc1\x30\x90\xc2\x68\x77\xef\xb0\xf3\x02\x6c\xd8\xdf\x5a\x93\x8f\x76\x9e\xb4\x88\x79\xb9\x94\xc9\x5d\xa4\x4b\xb1\x9e\xbc\x33\x1e\x3b\x72\x65\x69\x31\x62\xe2\xc9\xf4\xc5\x8d\xd1\xbe\xa5\xa6\xb3\x70\x0d\xf0\x68\x14\xbe\x71\x5b\xc6\x43\x78\x53\x23\xfc\x88\x60\x06\x3e\x75\xe0\x55\xb0\x08\x2e\xd0\x8a\x33\x1f\x6b\x60\xa6\x87\x5a\xe5\xe1\x1e\x6d\x98\x2a\xf2\xe3\xe5\x41\x04\xa3\x8a\x08\x41\x64\x15\x16\xa6\xa9\x37\x12\x20\x6a\x85\x62\x02\xbd\xc9\x4d\xb9\x5b\xca\xac\x0a\x1f\xc6\x10\xdb\x83\x0a\x9b\x71\xad\xe6\xd6\x42\xd4\xe1\x5a\xe3\xd7\x22\xe5\x0c\xab\x44\x85\x6d\xa5\x9c\xbf\x05\x4a\xe1\xc3\x10\x16\xd7\x66\xef\x37\xbc\x65\xe8\xaf\x3a\xf7\xe8\x05\xa7\x67\xa5\xa9\x62\xff\xf2\x85\xa3\x12\x03\xd5\x64\x7e\x65\xb0\x78\x44\x8e\x91\x9b\x05\x37\x33\x97\x54\x5a\x31\xc1\xe3\x65\x68\x93\xfa\xf3\x37\xe5\x39\xdc\x98\x2c\xc9\x30\xd5\x98\x7d\x45\x29\xec\x44\x67\x23\xab\xad\xd8\x19\x72\x6b\x70\x7f\xfd\x93\xb1\xdd\x1c\x42\xce\xec\xb3\x0f\x2b\x2c\xf6\x25\xd2\x73\x60\x58\x2a\x6c\xa7\x94\x54\x13\x4e\x17\x61\x2a\x5a\xb3\x08\x73\x5d\xb1\x20\x1e\xd6\x82\xf3\xa3\x33\x2d\xc5\xe6\x39\x5f\xb0\xe5\xcd\x71\x17\x10\xf5\xc8\xd9\x1d\x9b\x97\xc8\xdd\x8d\x3f\x77\xd5\x91\xc3\x7d\xac\x3a\x48\xd1\x7c\x0a\x04\x53\x83\xdf\x6f\x03\x03\x03\xf3\xca\x31\x35\x32\x33\x32\x32\x32\xe6\xe3\xdf\xf7\x13\x37\xe3\xeb\x9f\xd1\x84\x76\xf0\x80\x46\xe9\x30\xf1\x5b\xfd\x29\xf1\xfd\xfd\x9d\x1f\x9c\xfc\x17\x71\xe4\xd8\xc8\xc8\x04\xec\x1c\x0c\xcc\xec\x17\xfc\xda\x7f\xec\x98\x82\xe6\x06\x06\x06\x26\x6f\x89\x7f\x72\xe1\xe2\x06\x91\x4d\x04\x59\xd3\x82\xf9\xc2\x41\xcd\x82\x79\xe5\xc4\x69\xc8\xda\x62\x08\xa3\xd4\x79\x3f\xf2\xc5\x66\xd3\x45\x60\xb2\x43\x6a\x48\xcb\xa5\xd0\x45\x57\x00\xc5\x4f\x1a\x88\x7a\xa3\x88\x10\xa2\xc8\x0e\xc4\xc9\x42\xa8\x5c\x6d\x3e\x70\xbf\x90\x07\x8b\xfb\x65\x7a\x6a\xd5\x59\xd5\xf9\xf7\x5a\x92\x6b\x64\x05\xaa\xba\xbb\xba\x76\x57\x92\xa7\x97\x2c\x0f\x0c\xdf\x92\x7e\xbf\x8a\xab\x2d\x06\xee\xbb\x0f\xb6\xdc\xf2\x2b\xae\xfe\xa0\xf2\x15\xe4\x33\xf5\x73\xcf\x13\xc8\x94\x33\xf6\xc4\xa9\x3b\xd4\xa7\x75\x9b\xf3\xbc\xc9\x9c\xc6\x39\x32\xd8\x3d\x73\x10\x63\x58\xf2\xb7\xdd\x7a\xf1\x59\x89\x84\x9f\xfd\x80\xcc\x24\xb8\xac\x8f\x53\xf7\x9f\xac\x2c\xc7\x71\xe4\x3e\xca\xe5\x79\x24\x9c\x8d\x49\x41\x7b\x3e\xe6\x3d\x04\xd5\xac\x4b\xcc\x57\xe4\xc1\x84\x34\x9d\x2a\xe6\x20\x77\xf2\x8e\x6e\x6b\x21\x61\xa8\x62\xaf\x88\x1c\xc7\xeb\x7a\x45\x15\x4f\x99\xff\x62\x51\x4f\x71\x9c\x82\x58\x2f\x9f\x16\x25\x7a\xcb\x0a\xeb\xf8\x9b\x55\x5f\x27\x28\x78\x90\xd3\x03\xcb\xdd\xa4\xe5\xe3\x8b\xe6\x19\x2d\x90\x0f\xab\xc8\x1a\xb7\x25\xde\x9a\x4f\xf3\x39\xf4\x21\x66\x7e\xdf\x91\x8e\xa3\x0b\xd1\xcf\x7f\x95\x92\xe6\x29\x5e\xcb\xe3\x5a\x6b\x7e\x5e\x29\xcd\xee\x38\x36\x9c\xa7\xb2\x13\xb9\x2e\x99\x53\x3f\x72\x1f\xce\xaf\x2a\xf2\xa1\xd4\x0d\xed\x8a\x36\xeb\xa7\x49\x1c\x47\x0b\x9a\xe8\xc2\x8a\x85\x5d\x03\x64\x06\xf9\xeb\x32\x0d\xed\xda\x1d\xe9\xc7\x31\x6b\x4c\x3d\x35\x94\x17\x07\x04\x6f\xb4\x34\x4b\x9c\x3a\x0e\xbd\x87\xef\xca\x6f\x8c\x2f\xbb\x14\x3d\xd6\x1e\xfd\xb9\x8b\xbf\xe1\x05\x9f\xa2\x0a\x7f\x1b\xba\x47\xcf\x56\x34\xb0\x94\x7b\x19\x3b\xaf\xf5\xee\xb4\x6a\x76\xec\x19\x41\xbe\xff\x9c\x07\xd9\x71\xa2\xd7\x64\x33\x56\xec\x7c\x5e\xe2\x2f\xc5\xba\x94\x3b\xb3\xfa\x43\xf2\x7b\x88\x0e\x7c\x60\x85\x0f\x8a\xd6\xa3\x5f\x49\x21\x4b\xf0\xf7\xa0\x8e\x17\x7a\xa4\x5f\x21\xdc\xe5\x0b\x3d\x58\x3f\xd8\xb9\xec\x33\xbc\xbb\x94\xb0\xf5\x88\x96\xde\xb7\x20\x3d\x2c\xd6\x6b\x80\xca\x9a\x2e\xed\xcc\x34\x86\x6a\xa2\xe5\xa0\xbe\x74\x7b\xcd\x9f\x2f\x14\xbe\x20\xf7\xce\x98\x34\x97\xfb\x91\x8f\x1d\xbb\x30\xe7\x92\xdf\xac\x1d\x5d\xf1\x35\xe3\x3c\x7d\x78\x6a\x7d\xbe\xb6\xcf\x95\xeb\x2b\xb5\xc3\x20\x1e\xb4\x3f\xf3\x59\xdb\x06\xc7\x54\x3e\xbd\xa7\x2f\x64\x49\x22\x05\x04\xf7\x1f\x68\x7f\xdd\x88\xc4\x56\xc7\xbe\xf8\x7d\xc9\x7c\xf6\xd5\xfa\xd8\x94\xc1\xb4\xbe\x11\x85\x1e\x73\x40\x81\xf4\x85\x7a\xd5\xc5\xe8\xfb\x95\x22\x3d\x66\x04\x1c\x00\xdd\xb1\xee\x03\xbc\xa1\xad\xab\x9a\x2f\x5b\x50\xc0\x65\x22\xc5\xda\x7a\x40\xaf\xbc\xb9\x84\x76\xdf\x7c\x73\xca\xda\x95\xde\xba\x9d\x50\x6e\x68\x1d\xcd\x3d\xe9\xf5\x9f\x73\xe4\xde\x0a\x77\xc1\x34\xaa\x0b\xfb\xd8\xee\xa0\x87\xa4\xd9\x1b\xc4\x69\xaa\x93\xa6\x0f\x66\x2e\xf8\xcf\x89\x67\x81\x16\xcf\xc0\xe7\x37\xd1\x8f\xe1\x2c\x3d\x8b\x4e\xf9\xb2\x6e\x53\xff\xc2\x1b\x50\x00\xfb\x6c\x20\xd1\xeb\x0b\x86\xdd\xcc\x0c\x76\x94\xbd\x23\x1d\xc3\x8a\x7f\xee\x0b\xb1\xf6\x4d\xe1\x7d\xb3\x4b\x85\xee\xaa\x6c\x6e\xe0\xd9\xf8\xb4\x85\xde\x13\x8c\x77\x7b\xd1\xa7\x48\xbf\x24\xd2\x95\xf7\xe6\x10\x51\xa3\x63\x6a\xde\xcd\x9a\xa8\x6e\x73\x45\xff\xd7\x19\x22\xe0\x66\x73\xc7\x0f\xf2\xb6\x5f\x1c\x6d\x4e\x5c\x08\xae\xf7\xfa\xac\xee\x48\xcf\xbf\x07\xdd\x8c\x6f\x07\xc3\x67\xf7\x86\xf1\x09\xce\xef\xce\x2b\xa7\x34\xcd\x57\x6d\xce\x92\x60\x7c\x6f\xee\x50\x81\xa1\x33\x02\x05\xcf\x7a\x46\xe4\xaf\x59\x34\x8a\x09\xe9\x21\x4a\x4c\x27\x6b\xb3\x75\xb6\x7c\xc4\x1f\xf3\x58\xf2\xb5\x4e\xb6\xf4\x5a\xf9\x09\xfe\x23\x22\x2a\x36\x17\xe4\xce\xc8\x44\xeb\x3a\xd2\x4b\xf3\x6f\x50\xe0\x45\xce\xcb\xeb\x57\xdf\xdc\x43\x67\xcf\xde\xcd\xdc\x83\xbf\xc2\x62\x7f\x20\xd1\x37\x38\x73\x52\xe5\x4f\x2c\x29\x8e\x1f\x66\x52\xe1\x21\xc2\x79\x6a\x5c\x6a\x34\xe7\x70\x75\x52\xa3\x92\x32\x14\x63\x3f\x9e\x65\x9b\x0c\xfe\x21\xe6\x24\x11\x14\x95\x2c\x42\x94\xb2\xc0\xaa\x68\xef\x4e\xdd\x5d\x4b\x69\x8f\x8f\xaa\x78\xbb\xd0\xcc\x17\x8b\x94\xa9\x39\x93\xfd\x4e\xa4\x59\xa8\x6f\x4a\x57\x2b\xcd\x39\x12\xcb\x53\xed\x52\x73\x6f\x51\xa3\xff\x39\x22\xbd\x72\x76\x3a\xed\x83\x78\x6f\x83\x05\xe3\x54\x25\xce\x98\x8e\x0b\xa6\xd0\x7a\x58\xca\x93\xa7\xa2\x8f\x3d\x99\x8a\xa3\xd9\xb1\x02\x9f\x72\x6e\x29\xeb\xf0\x68\x07\xc6\xe9\x79\xbf\xad\x9a\x28\x89\x9c\x20\xb9\xe8\xfb\xe8\x08\x44\xf6\xea\x23\x46\x5a\x7f\x10\x6b\x3e\x95\xa9\x44\xe5\xc7\x1f\xae\x84\xe5\xef\x05\x1c\x8f\x76\x73\xb6\xf6\xee\x5f\xe4\xd2\xb1\x1f\x7b\x2e\x31\x09\x29\xb0\x72\x71\x88\x96\x27\x40\x14\xc4\xcf\x51\x56\x72\x1b\xb0\x9f\x9e\xf1\x62\x1c\xc9\xd0\x3f\x4b\x05\x00\xad\x61\x05\x6e\x21\x6e\x6d\x46\x0d\x68\x7d\xde\x93\x6f\x14\x73\xc1\x40\x30\x4a\xdd\xee\x8c\x89\x8c\xad\x85\x9e\xf8\x1d\x30\x2a\xb4\x89\xa0\xb6\xcb\xd6\xc3\x5e\x7e\xe7\xab\xe6\x12\x92\x73\x0f\xa1\x40\x49\xe2\x4a\xd5\x22\x0c\x39\x39\x4b\x97\xae\x82\x7e\x78\xbe\x6e\xc0\x7b\xa4\xb4\xca\xcf\x1c\x11\xc0\x1a\x26\xa1\xfe\x5d\x25\x3e\x5f\x37\x73\xe8\xf5\x88\xbb\x65\x5f\xe1\xe5\x4b\x81\x85\xa2\xdf\xa5\xf8\xce\x2e\x68\x19\xc6\xf0\x4d\x89\x17\xa1\xce\xd8\xe9\x4c\x56\x4f\xf0\xe3\x5a\x32\x21\xa1\x12\x35\x3e\x1e\xfc\x08\x79\x60\x3c\x38\x1c\x5c\x0f\x3a\x1c\x6c\x76\x10\xa0\x66\xfd\x93\x3d\x72\xde\x15\x67\x3b\xb2\xd0\x9f\xab\x19\x47\x78\x0f\xd5\x09\x0f\xb6\x5d\xb1\x52\x30\xfa\x63\x6e\x9d\x78\x66\x03\x44\x30\xd7\x5f\xf0\x82\x33\xab\x02\xf9\xf0\x87\xe4\x45\xd6\x65\x4c\x99\x2a\xc9\x15\xfd\x8f\xe0\xa1\x36\xb1\xe2\xb6\xe7\xc2\x22\xe4\x09\xf3\xdf\x56\x69\x05\xb0\xbc\xe4\x3b\xa6\xe8\x0d\x71\xe5\x40\xb8\x4e\x55\x00\x37\x66\x9c\xe0\x3c\x15\xde\xf5\x12\x80\x29\xf7\x03\xd7\x7a\x51\x71\x64\xce\xcc\x11\x8b\x9b\x79\x9a\x39\xa2\x77\x23\x27\x41\x0b\x34\xda\x84\x05\x9f\xaf\xb5\x6a\xc2\x9d\xee\x0a\x14\x8c\xcc\xe1\x62\x1b\x53\xa6\x45\x4a\x38\x19\x0a\x24\x3a\x75\x16\x78\x30\x1c\xa8\xc1\xe2\x91\x8d\x01\x74\x45\xbd\x7e\xc8\xd5\x8f\x82\x9a\xc3\x7c\x64\x37\x74\xa3\x3d\xa7\x32\xb4\xf9\xde\xfb\x01\x73\x2e\x6c\x8c\x92\xc3\x70\x16\x6d\x3f\xf2\x68\x33\xd7\x68\xce\xc9\x9d\x56\x35\x0e\x7d\xc9\x5a\xd1\xee\x5c\x10\x6f\x6c\x5d\x4a\x5a\x1f\x75\x22\xc7\xdc\xa7\x99\x61\x1d\xa4\x73\x2e\x9e\xbc\x5a\xf2\x6e\x4c\x21\xb6\x39\x6f\x09\xed\x82\xf6\x24\x7c\xec\xcd\xb0\xb2\x33\xa6\x2c\x3e\x36\xe5\x76\xe8\x97\x37\x43\x88\x75\xb9\x23\x75\xf7\x73\xe5\x76\x39\x0e\xda\x07\xad\x7d\xdf\x74\x2f\x83\x24\xe1\xb2\x3c\x8b\x1c\xb1\x79\x3c\x55\x1d\x91\x59\xb7\x23\x89\xdf\x6f\x6d\x04\x3f\x54\xce\x52\xa3\xf7\x60\x6e\x6f\xc1\x78\x90\x0f\x02\xf1\x2c\x29\x11\x05\x22\x81\xee\x51\x3c\x91\x95\xae\x90\x7d\x92\x5a\xb2\x91\x53\xf9\x23\x04\xa5\xa7\xca\x6e\x04\xa1\x81\xd0\xad\xf1\xc5\xdf\x5c\x0f\xbc\xc1\xab\xe8\x7c\x8a\x8b\x87\xe4\x17\x54\x0b\x7e\x70\x8a\x0a\xcd\x81\x78\xfd\xb3\x80\x77\xdc\xfb\x59\x96\x72\x39\x37\xcb\xa2\x7d\x02\xdb\x53\x80\x3b\x91\xe3\xdc\xf0\xfe\x8f\x3e\xbd\x02\x49\xac\x9e\x66\x80\xdf\xdf\xf5\x18\x60\x4f\x58\xda\xd4\xa5\xfe\x49\x76\xc7\x8f\xd3\xea\x1a\xc3\xe1\xf4\x0b\xab\x8e\xd9\xce\x89\x88\x43\xc4\x03\x47\x96\x43\xdd\x91\x9d\x22\x4f\xa4\x8b\xf6\x57\xac\x9b\xa0\x6e\x12\xec\xbd\x6b\xe7\xb4\xef\x03\xb9\x5d\xcb\x1b\xf0\x3e\x3e\xb1\xa5\x5f\x2e\xc4\x0f\x84\xfc\x83\x91\x54\xb7\x7e\x32\x01\x02\xbb\xa7\xaa\x17\xb8\x96\x07\xdc\xbd\x06\xf3\xcd\x41\x8e\xa5\x60\xf1\x8c\x0b\x2f\x68\xbb\x8c\xfb\xdf\x70\x33\xf5\x5a\xbe\xfa\x7a\x12\x98\xe6\xd1\x76\x49\xd4\x6f\x52\x65\x5a\x7d\x72\x77\x08\x99\x68\x10\xe6\x32\x69\x10\xf0\x66\x32\xdc\x93\x5c\x18\xd0\xb4\xe6\x32\xbe\x13\x29\xfb\x34\x0c\xf8\xf4\x87\x13\x8e\xe3\x5e\x99\xf7\x67\x2c\x98\x7e\x42\x1c\x6b\x6e\xb1\x72\x14\x9c\x42\x76\xc7\x06\x05\x42\x65\xff\x88\x70\xcb\x7f\x67\x56\x99\x9a\x57\x89\xff\x53\x43\x4e\x75\x16\xa0\x50\x1d\x26\xbe\xad\x91\x56\xa0\x3f\x5f\x33\x99\x0b\xef\xd9\x1c\x59\x23\x6d\x63\xd8\x3e\x8f\x4f\x71\x36\x9f\x4b\x25\x7a\x8a\xfc\xd7\x71\x3c\xd1\x01\x33\xe5\xa5\x54\x4c\x3a\x27\x81\x0a\xb6\x1b\x57\x3f\xc1\x76\x07\x29\xcd\x62\x00\xcb\xb2\x5b\xc3\x49\x51\x96\x59\x8d\xe0\x59\x68\x4d\x44\x7e\x18\x43\xb4\xc7\x97\x89\xf5\xf8\x10\x9a\x60\x58\x26\x47\xcb\xf5\xc6\x3b\x05\x39\xdf\xec\x9e\x25\x87\x8f\xd2\xa1\x55\x46\x7f\x77\x25\xf4\xbe\xc0\x22\xcc\xc7\x3b\x50\x5e\x0c\x2f\x64\x4a\xc5\x05\x53\xdc\xcd\xda\xe7\x26\x2c\xfa\x13\xc0\xc0\xba\x03\x98\xe7\x57\xa2\x4c\xe9\x20\x72\x7a\xff\x4d\x80\xb2\x95\x4c\xd4\xdb\x03\xc6\xdc\xbb\xb0\x88\x7f\xf3\x06\x70\x24\x3e\x18\x9e\xdf\xc6\x26\xfa\x5c\x87\x4f\x48\x3e\x53\xac\xff\xa2\x66\x81\x00\xbc\xc2\x7a\x43\xa0\x9b\x43\x17\x9a\x33\x6d\x46\x9a\x4d\x22\x98\x2b\x0c\x0f\x99\x45\x0c\x5b\x62\xe0\x49\x2c\xf9\x22\xb8\xf7\x89\x6c\xad\x39\x11\xc7\xb4\x39\x56\x7c\x5f\x21\x64\x3a\x1f\x89\xdd\x13\x24\x08\x5c\xd3\xb0\x06\xf7\xc0\x4e\xbb\xfe\x60\xcd\x8b\xaa\x4f\xae\x78\xe7\xbf\x4b\xde\xe7\xc8\xfc\xfc\x7d\x5f\x0e\xd8\x53\x0b\x90\x6c\xe6\x8c\xdb\x26\xce\xbc\x78\xe4\x0c\xda\x93\x63\x9b\x19\xd9\xd2\x06\xe1\x89\xf6\x6f\xe4\x64\x73\x1f\x8d\xdf\xe5\xc4\xd4\x75\x4e\xfb\x10\xb5\x9e\xa2\x77\xa3\xe8\xc7\x54\xb4\x67\x74\x50\x4c\x3b\xc3\xe2\xa5\x37\xb5\x21\xcc\xa5\x31\x0f\x83\xd4\x32\x8f\xa7\xcd\xa1\x7a\x35\x8b\xcc\x31\xfd\x03\x73\x7f\x3f\xe0\xf3\xa3\x01\xa6\x08\xcd\xd0\x5c\xf6\x0e\x3c\x7b\x40\xa1\xae\xad\x78\x8e\x9a\xae\x58\x68\x77\xe6\x88\x7a\xab\xf7\x7d\x58\xbd\x17\xc0\xfe\xf8\x17\xf2\x0f\xa9\x03\x7f\x78\x22\x07\x71\x53\x96\x5d\xa7\xb9\x8c\xab\x4b\xc7\xf1\x3d\xc2\x9c\x48\x42\xa0\x6c\xb0\x2a\x9c\xbf\xe7\xa2\xe3\x1a\x7e\x43\x5b\xb6\x8e\xef\x6d\x20\x23\xc1\xcb\x90\xa3\x20\xf7\x7b\xa6\x27\x8d\x0f\x52\xc1\x2b\xc9\x27\xf2\x10\x05\xe2\x6e\xe4\x80\xf1\x1b\x81\x31\x23\xe1\x8c\xe4\xbe\x5f\xec\x1b\xee\x23\xdf\xac\x9d\x22\x53\x75\x32\x69\x50\xef\xd2\xf4\x19\x42\xef\xac\x4b\xda\xec\x81\x32\xe5\xe9\x13\xdf\x07\xa3\x12\x2b\xbc\x5e\x09\x96\x67\x78\xa7\x58\xef\x94\x53\x67\x34\xf2\xda\xc4\x54\xc4\x38\xe2\xb3\xc3\xdb\xe4\x76\xc8\x1a\xfd\xe3\xf1\x80\x60\x24\xab\x7b\xb6\x80\x27\xd0\x3b\x72\xcf\x73\x3f\x23\x26\xa1\x73\x32\x68\xf3\xa5\xc2\x9d\xd8\xff\x65\x21\x25\x32\x82\xef\xe3\x0d\xdf\x1e\x19\xf0\x90\xd8\x13\x09\xfa\xce\xe8\x52\x04\x05\xe4\x3b\x5d\xe7\x0f\x5d\x51\x0b\x1c\x0f\xdf\xe0\xda\xce\x79\x07\x06\x5b\x42\x8d\x60\x14\x84\xfb\x0e\xf7\x1c\xd1\xf5\x14\x8d\x67\xbf\x1f\xb8\x47\xd4\xdc\x25\xb5\xce\x36\x85\xf3\x99\xc1\x23\xa7\xd2\xbb\xc8\xb4\x69\x45\xd9\xc1\xae\xca\xde\x6f\xed\x47\xdb\x9d\xf1\x6d\x34\x29\x34\x1d\x6b\xb9\x4e\xa7\xd5\x02\xa8\x74\xff\x82\x64\x82\xbe\xeb\xed\x30\x15\xb5\xa9\x88\x37\xaa\xea\x9a\x56\x8a\xcc\xab\x1f\xba\xc7\x28\x37\xb2\x0a\x49\xf4\x57\x29\x54\xda\x38\x5a\x2f\xc8\xff\x75\x41\x4f\xf5\x89\xfa\xf5\x92\x6c\xbc\x8d\x74\xf1\x27\xd9\x33\x89\xae\xe6\xb2\xbf\xd0\x6d\x78\x1e\x9a\xf1\x7b\x71\x94\x68\x0c\xeb\x69\x2b\xce\xff\x96\x69\x6b\x14\xfc\x9d\x68\x9f\x44\x77\x81\x49\x7a\x31\x13\xa0\xea\x92\xdd\x3d\xf1\x96\x74\x03\xbf\x86\x85\x14\x94\x15\xe0\x40\xa2\xda\x46\xb1\xad\x83\x7a\xd3\x2f\xc4\x01\x46\x68\x7f\x60\x0e\x51\xb9\x10\xff\x52\xe0\x24\x14\x00\x03\x82\x2a\xff\x20\xfe\x80\x30\xef\xcd\x77\xfb\xcf\xff\x92\x67\x9a\x7c\xb2\x60\x16\xec\x87\x9c\xd0\xf4\xcf\x30\x04\x04\x24\x23\x01\x08\x30\xc2\xdf\xe0\xf2\x60\x5e\x39\xa9\xc9\x7b\x36\xe8\xc2\x18\x63\xfd\x3b\x25\xf2\xb6\x25\x46\x0b\x2a\x3d\x89\xc2\x62\x83\x31\x3b\x2d\x29\x58\x21\x9c\x5b\x82\x67\xf2\x56\x26\x3f\x4b\x35\xcf\x39\x78\xa5\xd3\x28\xbb\x8d\x3d\x92\x12\x6d\x0d\x85\x6e\xa1\x46\x68\x89\x85\x7a\xb0\x7b\x1e\xd5\x21\x89\x07\x1d\xa9\x4c\xd1\x1b\x45\xe4\xa5\x4e\x38\x2d\x4f\x3e\x5e\x67\x37\xa0\x1a\xae\xf8\xc2\x43\x5f\xc7\xc7\xf1\xa7\x90\xfe\x81\xcc\x36\xc4\x61\xf7\xe8\xb0\x9d\x90\x05\xe9\xb1\x95\x3d\x88\x74\x0c\x06\xcb\x54\xdb\x7b\x64\xde\x97\x5d\x60\x19\x77\x2c\xd3\xd6\x9c\xd6\xfc\x1d\xbd\x09\x3d\xb7\x19\xd3\xa6\xbc\x00\x5f\x0d\x3d\xc1\x92\xe1\x41\xda\x39\x07\x3c\x9e\xf5\x72\x63\x39\x84\x76\xfb\xb9\xe6\xe9\xed\x02\xba\x0c\x00\xe6\x3e\x5d\x06\x93\x29\x67\xfa\x7a\x00\xac\xfb\x8c\x77\xea\xf3\x5a\x9a\x2c\x08\xd8\xd3\xda\x13\x61\xef\x69\xe1\x4d\xf8\xb2\x83\x9c\x36\xe5\x75\x1d\xd0\xda\x13\x8c\x1d\xfe\x23\x3e\xd1\x24\x0c\x17\xc3\xe4\x71\x3e\x32\x62\x80\x59\x44\x8e\x44\xba\xbc\x04\x12\x75\x0e\xca\x43\x79\x10\xe9\x79\xff\x2f\x04\x02\x08\x53\xd6\x20\x73\x43\xba\x2e\xc9\xf6\x9a\xf0\x8e\x32\x7e\x71\x41\x6e\xb4\xb7\x0f\x6b\x7c\x5f\x2c\x7a\x89\xe9\x8f\x85\x49\x7b\x53\xf3\xcd\x1f\x23\x26\x94\x93\xdf\xe8\x32\x16\x2a\xf2\x66\x62\x91\x78\x17\xd2\x38\x8c\x03\xcb\x62\xb2\xcc\x47\xd1\x3a\x59\x40\x23\x9a\x66\xb7\x09\xf9\x98\x34\xa2\xb1\x1a\x12\x33\x86\x16\x33\x47\xbe\x9f\xea\xd7\x5b\x03\xb8\x9b\x15\x4b\xef\x28\xea\xd7\x9b\x2d\xb9\x80\x1f\xf2\x2e\x31\xbc\xcb\x78\x96\x57\x3e\x4e\x5a\xf6\x2d\xb6\x54\xd8\x33\x12\xd5\xfe\xdd\xb1\xa7\x12\xea\x12\xad\xaf\xfa\xc1\xfc\x36\xbc\x80\xfa\xa6\x65\xec\x1c\xd9\xd4\x51\x6b\xb2\xe7\x1e\x88\x7a\x13\xb1\x5d\x06\xaf\x64\x11\xf2\x52\xb3\xb2\x63\x6f\xf4\x6e\xca\xdc\x02\x43\x9b\xaf\xf7\x93\xa3\x32\xe5\x63\x01\xc2\xc5\x9b\xa1\x2e\xbd\x95\x24\xc5\xb5\x93\x39\xfa\x68\x6e\x32\x9d\xc8\x32\x7b\xcd\x96\xf0\x16\x1b\xf4\x9b\xa4\x2b\x3d\x31\xe9\x8e\x93\xee\xf8\xca\x4c\x55\x6b\x24\xb3\x0c\xe9\xd9\x4a\xda\xd4\xf9\xca\x79\x7f\x6a\xac\xe2\x19\x33\xc9\xd3\xa1\xee\x4a\x16\x2a\xfd\x2a\x74\x9d\xf0\xbf\x04\x11\xe7\x32\x61\x3a\xd5\x20\x17\xbb\x3a\xf2\xca\x78\x5e\x96\xe6\x50\x8d\xb2\xa6\x7e\x9f\xe2\x96\x0e\x87\x59\xf9\x39\x32\xac\x39\x34\x39\x62\xb6\x77\x95\x63\xda\x6b\xc3\x0b\xc4\xef\xa8\x33\x5c\x73\xa0\x2d\x7f\xd5\x5b\x80\x81\x01\x57\xc2\xcd\xe8\xd9\xb7\xd8\x2d\x77\xa5\xb7\x26\xda\x92\xf7\x37\x31\xf3\x27\xb8\x38\x65\xe6\xe3\x1d\xfc\x5c\xcc\x3a\xaa\x57\x8e\xbf\x26\x94\xdb\xe1\x44\x93\xbb\x7a\xa6\x09\x15\xae\x56\x59\xfb\x74\xca\x7a\x5a\x0e\x9d\xa2\x51\x66\x66\x6f\xd3\x4e\x1b\x7b\x1a\x7d\x1c\x09\xd3\xd4\xf4\xf4\xf4\x74\x42\xe6\x33\x73\xbf\xff\xf4\x74\x43\x42\x66\x55\xc9\xb3\xdc\xc9\x87\x6b\x80\xc2\x22\xf9\x4e\xdf\x8e\xbf\xa3\x26\x35\xb5\xdc\x67\xbf\x20\x08\x0f\x3b\x71\x08\xa3\xd4\x41\x46\x3f\xbf\x8b\xc1\xdd\xf4\x3c\x6d\xb9\xb6\x12\x5f\xa5\xbd\xd4\x01\x1a\x32\x84\xcd\x8c\x04\x9e\x7b\x62\x18\x05\xa3\xe0\xe7\x30\xd3\x8f\xe2\x06\x84\xb4\x61\x38\x2d\x58\xfc\xc1\xb1\x06\x58\x3b\xb8\xec\xc1\x93\x06\x28\x3b\x58\xdd\xc1\xd5\x06\xc4\x1e\xd8\xb6\xf0\x2b\x23\xdf\x75\x70\x8f\xb0\x5c\x23\xcb\x75\x28\x8f\xf0\x1d\x23\xcf\x75\x88\xe7\xb0\x5e\x23\xc7\x75\x98\xe7\x70\x66\x9c\x48\xb4\x94\xc2\x1f\xd0\x19\x4a\xe1\xb0\x19\x61\x9f\x46\x81\x5c\x60\x48\x61\xa1\x00\x23\x2e\x48\x8d\x41\x0c\xb9\x61\x84\xe9\xa1\x42\x27\x1c\x02\x24\xc9\x81\xbf\x4e\x18\x04\x88\xe3\x03\x8d\x4e\x04\x04\xc8\x54\x03\x7f\x9c\xd0\x72\x10\xca\x07\x2a\x9d\xf0\x72\x90\x2c\x07\x32\x9d\xb0\x72\x10\x4f\x07\x3a\x95\x42\x1f\x06\x42\x7c\x6c\xd8\x9e\x24\x6c\x20\xf1\xe6\x21\xa1\xe8\xad\x44\x61\xec\xb4\x10\xf5\x9d\x0a\x60\xfc\x9d\x06\x43\xd9\x01\xa2\x60\xa4\x62\x4c\x30\x0f\x0d\x60\x31\x0d\x58\xb3\x91\xf0\x00\x91\x8e\x9f\x0c\x11\xb2\x00\x95\x0e\x04\x86\x48\x5a\x80\x4c\x07\x5c\x5d\x84\x2d\x40\xa7\x03\xa9\x2e\x12\x1f\x20\xd1\x01\xeb\x10\xa1\x0b\xd0\xe8\x40\x74\x88\xe4\x05\x28\x74\xc0\x5f\x47\xf8\x02\x0c\x3a\x90\xaf\x23\x61\x00\xc2\x5e\x3f\x89\x22\x24\x01\xca\x5e\x08\x44\x91\x54\x00\x69\x2f\xb8\xbc\x08\x4b\x80\xb6\x17\x52\x5e\x24\x36\x40\xdc\x0b\xd6\x20\x42\x13\xa0\xee\xc5\xda\x03\xb5\x0b\xe7\x18\xda\x3e\xcc\x0b\xc8\xbd\x65\xf0\xe2\xec\x81\xd9\x85\xbf\x09\x7d\x19\x86\x01\x84\xde\x92\x82\x98\x7a\xa0\x89\x83\x13\x86\xc6\x01\x87\xb7\xb0\x20\x72\x3f\x38\x01\xc4\xfc\xe0\xb9\xa1\x53\xc0\xc3\x2d\x14\x88\xac\x07\xc9\x30\x84\x71\x58\x13\x50\x7d\xcb\x0e\xe2\xf1\x83\xe8\x83\xdd\x0b\x71\x1c\xf6\x04\x74\xdf\xf2\x83\x04\x3e\xc0\x02\x7e\x0a\x86\x10\x0f\x2b\x02\xca\x6f\x59\x41\xdc\x1f\x3f\x02\x60\xfb\x43\x0c\x87\x1d\x01\xed\xb7\xd0\x1f\x48\x01\xc8\x81\x41\x82\x43\xf9\x80\xb9\x5b\x6c\x10\xed\x07\xe2\x17\xd2\x77\x50\xe0\x50\x3f\x60\xef\x96\x18\xc4\x58\x86\x82\xf2\x97\x29\x0e\x77\xda\x04\xe9\xa1\x92\xd0\xe9\x27\xbc\xd6\x88\x31\xc1\xa0\xb2\x5e\xc4\x94\x33\x54\xdd\x48\x9c\x93\xe9\x36\x24\xe7\xe8\x8c\x93\xeb\xf6\x8f\xf6\x91\x5a\x27\xdb\x6d\xe8\xbd\xb0\xad\x03\x8f\x0e\xfe\xeb\x20\xde\x03\x85\x0e\xd6\xeb\x90\xee\x03\x87\x0e\xde\xeb\x60\xdf\x03\x83\x0e\xce\xeb\xd0\xf7\x03\x9c\x78\x53\xd8\x29\x2d\x61\x08\xf9\x9a\x03\x48\x85\x83\x80\x0e\x41\xa2\x20\x98\x03\x61\x2f\x26\xa2\x90\x6a\x27\xb8\x72\x67\x68\xcb\x3b\x25\x3e\x04\xe4\xf1\x5f\xb7\x52\x7c\x70\x09\x63\xa6\xb7\x5a\x7c\x48\x09\xe3\xe8\xb7\x62\x7c\xd4\x4f\x3c\x79\xb1\xe5\x80\x4a\x2f\xbc\xbc\x78\x4b\x40\xa6\x17\x56\x5e\xdc\x29\xa0\x53\x6b\xf8\x61\x7e\x88\x87\xa3\xe1\x0f\x9c\xee\xfa\x18\xd2\x66\x07\x5e\x37\xd0\x08\xf9\x1d\x58\x14\x69\x3b\x3f\x0e\x26\x1a\xeb\x84\x74\xea\x0c\x8e\xed\x4c\x9f\x97\x80\x0d\x08\xf7\x42\x35\x88\x4d\x07\x94\x7a\xe1\x1a\xc4\x6b\x02\x52\xbd\x30\x0d\xe2\xd6\x00\xad\x5e\x84\x06\x09\x9c\x80\x38\x2f\xf4\xdd\xd8\x76\x40\xad\x17\xfe\x6e\xbc\x27\x20\xd7\x0b\x7b\x37\xee\x05\xd0\xeb\x45\xbc\x9b\x80\x0c\x08\x05\xa1\x08\xc4\x26\x00\x8a\x41\x38\x02\xf1\x8a\x80\x64\x10\x86\x40\xdc\x1c\xa0\x19\x44\x20\x90\xc0\x08\x88\x01\xa1\xf5\xc5\xd6\x03\xaa\x41\x16\x7e\xf0\x7d\x98\x7b\x11\x8e\xe3\x9e\x00\xde\x3b\x7d\x90\x83\x1f\x72\x1f\xf6\x5e\xe4\xcd\x38\x32\x00\xe6\x4e\x14\x64\xec\x87\x28\x18\x42\x3c\x9a\xb0\x3f\x7e\x87\x0e\x92\xfe\xc0\x08\xc0\x13\x0c\xcd\x1f\x9d\xdb\x3f\xbd\x83\x07\x89\xfb\x11\xf6\x87\x19\x8e\xd5\x03\x34\xef\x6c\x41\xee\x1f\xd0\x01\xe8\xfd\xe1\x7b\x63\x37\x00\xcf\x3b\x5f\x90\xff\x07\xf8\x17\x4a\x60\x98\xe0\x58\x3e\x40\xf1\xce\x12\xe4\xfa\x01\xf5\x85\x16\x18\xde\x3f\xb6\x07\x70\xbc\x43\xfc\x20\xfc\x22\xfa\x0e\x0a\x1c\x11\xdc\xcf\xbf\x63\x04\x69\x7e\xe0\x7f\x11\x7e\x07\x7f\x8f\x04\xee\xf7\xdf\x09\x82\x0c\x65\x50\x51\xd0\x94\xb3\x58\x52\x4a\x09\x8e\xad\xa3\xe0\xd4\x4a\x8c\xf1\x0a\x95\x75\x24\xa6\xac\xa1\x6a\x4b\xe2\xac\x4c\x37\xc3\x38\x4a\x67\xac\x5c\x37\x43\xda\x4a\x6a\xad\x6c\x37\x23\x76\xc5\xb6\x16\x3d\x5a\xf8\xaf\x84\x78\x17\x15\x5a\x58\xaf\x44\xba\x17\x1d\x5a\x78\xaf\x84\x7d\x17\x0d\x5a\x38\xaf\x44\xdf\x17\x71\xe2\x54\xff\xfc\x53\x23\x0d\x95\xab\x5a\x84\x94\x5f\x0c\x68\x11\x24\x14\x82\x59\x14\x76\x63\x22\x14\xa9\xb6\x8a\x2e\xb3\x8e\xb0\x38\x53\xe2\x89\x45\x2a\xff\x05\x94\xe2\x89\x8e\x2f\x33\x05\x6a\xf1\xc4\xc7\x97\xa3\x03\xc5\x78\xfe\x28\x94\xa9\x02\xd5\x78\xe2\x14\xca\x59\x81\x72\x3c\x31\xb3\x65\xae\x40\xbd\xaa\x05\x6f\x33\xe5\x5c\xbc\x65\x72\x71\x7a\x1b\xd5\x48\x3b\x1d\x79\x7d\x97\x0a\x49\x7f\x97\xc9\x62\xf6\x23\x55\x21\x52\x71\x36\xc9\x87\x16\xa1\x98\x96\xb4\xd9\x72\x78\xa0\x48\x57\x14\x43\x99\x2c\x50\xa5\x2b\x96\xa1\x9c\x16\x28\xd3\x15\x5d\x57\x66\x0b\xd4\xe9\x8a\xaf\x2b\xc7\x07\x4a\x74\xfd\x71\x28\xd3\x05\x6a\x74\xc5\x39\x94\xf3\x02\x15\xba\x62\xae\xcb\x7c\x81\x06\x5d\x09\xd7\xe5\x30\x40\x61\x9f\x28\xa2\x32\x49\xa0\xb2\x4f\x2c\x51\x39\x15\x50\xda\x27\x3a\xaf\xcc\x12\xa8\xed\x13\x9f\x57\x8e\x0d\x14\xf7\xf9\x63\x50\xa6\x09\x5c\x59\x26\xcc\x6c\x33\x85\x12\x2e\xc3\x86\xf2\xf8\x85\xff\x7b\xca\xd1\xed\xbe\x4a\xb0\x9c\x60\x4d\x35\x13\xe9\x65\xd8\x0d\x45\x27\x40\x38\x3a\xeb\xdc\x7b\xdf\x84\x07\x2e\x25\xdf\x61\x43\x81\x91\xd8\xc3\x26\xfe\xb8\x1d\x33\x22\x37\xa7\xe5\x8a\x44\xac\x3d\xfb\x49\x7d\x2e\x57\xb5\xb3\xb5\x6e\xab\x7a\xe3\xd3\x4f\xaf\x5b\x59\xca\xa1\x3a\x15\xf1\xd2\x63\xcf\xa5\x62\xbf\x8d\xb5\xd0\x11\x2a\xd7\x6d\xfc\xaa\x92\x6f\xae\xcc\x26\x0d\xbd\x4c\xb4\xbb\x7c\xb1\xcf\x96\x3d\x32\xfb\xda\x6f\x6f\x3f\x02\xe1\x14\x26\xd7\xee\x48\x3a\xb5\xf1\xdd\xdd\xb3\x10\xc8\xbd\x6a\x52\x6b\xfc\x8e\x28\xc9\x5c\x5e\x5e\xc3\x74\x5a\x9d\x56\x1f\xa2\x60\x90\x86\xa6\x08\xec\x88\x73\xe8\x3a\xd6\xba\xfa\xe1\x58\x76\xe6\xbe\xdd\x07\x07\xe7\x5a\x87\xfe\xa4\x16\xb7\xa6\xba\x2c\x4f\x8a\xb3\x78\x35\x31\x55\x77\x87\xef\xa0\x7a\x7c\xae\xa1\xa7\x6a\xd5\xba\xf4\x81\x5d\x72\x51\xb7\x35\x23\xbb\xd0\xfc\xe1\x30\xf6\x70\x15\x90\x61\xaf\xc5\x7f\xac\x7b\x96\xb6\x85\xfc\xda\xb9\x34\xbd\x59\x78\xbc\x1e\x67\x52\x81\x35\xa4\x23\xb9\x71\xa5\xa0\x15\xb5\xf5\xe0\xc1\x7a\x89\x01\xd2\xee\x36\x74\x55\xa3\x25\x50\xc8\x42\x5c\x41\x4e\x35\x94\xe3\xe9\xeb\x11\x48\x6a\xd1\x94\x14\xb6\x6a\xc7\x5a\x6a\x4a\x2f\xda\x71\xbc\xf7\x85\x55\x68\x3f\xf4\x94\xd4\xd5\x10\x9d\xac\x5c\x39\xb9\x2c\x73\x71\xcd\xdb\xf9\xf9\xcb\xd0\x9c\x7f\xc5\x71\x5d\xa1\xd0\xd2\x9b\x5d\xbb\xfa\xbe\x59\x43\x95\xf2\x08\xfd\xc4\xbd\xaa\x8c\xd0\x22\x24\xfe\xb8\x5a\xae\xb8\x18\x14\x26\xd6\xf0\x97\x44\xcd\xa0\xd6\x81\xbd\xeb\x21\x6d\x8f\xc0\x5a\xdb\x2f\x2c\xd4\x20\x60\x5e\x6a\xaa\xd0\x92\x2f\x46\x7e\x60\xcc\xa9\x57\x6f\xea\xc9\xdc\x8f\x2b\xc0\x7f\xfe\x8f\xe5\x62\x6e\xac\x4e\x2d\xde\x3e\xd3\xc3\xf4\xab\x43\xd3\xc3\x5f\x61\xaa\xdd\xa1\xc4\x53\x31\x61\xf9\x58\x65\xe0\x86\xff\x0e\x1d\x25\x65\xf4\x16\x77\x3b\xfe\xda\x2f\x5b\xb2\x51\xc9\x21\xae\x33\xc4\x8d\xcf\xb4\xec\x81\x90\x88\x7a\x35\x41\x60\xc7\x7e\x54\x04\x45\x1d\x8e\x89\xd1\x22\xcd\x72\xed\x57\x81\xf5\x6b\x1f\x2f\x71\x7d\x71\x06\xdb\xa1\xfa\x51\xb2\xc7\xd1\xd9\x69\xe3\xaf\x83\x5f\x68\xc4\x77\x2e\x3f\x7c\x6b\xab\x5a\xc9\xc6\x71\x57\xaf\x0a\x2c\xb9\x67\x5d\x5a\xe7\x9d\x6a\xf2\x5a\x1d\xb4\xcf\xda\x76\x4c\xb6\xa8\xab\x47\x3d\x47\x34\xbd\x5b\x27\x24\x4c\xd9\x23\x4a\x16\x9c\xb6\x85\x10\x1f\x2a\x1f\xaf\x02\x78\x03\xf8\x87\x4f\x37\x34\x5f\x23\x8e\x2b\x02\x96\xee\x9b\xfb\x56\x1c\xbb\x7a\xf5\x86\xaf\x9e\xb4\x0e\xed\xe6\x6c\x5e\xd4\xb5\x70\x72\x34\x8f\x6a\x79\x25\xb5\x89\xb7\xf8\x73\x34\x69\x08\xf6\x6b\x7d\xf3\xe4\x36\x00\xf0\xbc\xdb\x26\xd8\x34\x82\xa4\xb4\xe7\xf1\x74\xc6\x99\x06\xa0\x9c\x7b\xd1\x6c\x5c\x4d\x60\xc0\xf8\xd3\x55\xab\x9d\xe1\x14\xae\xc9\xf8\x1a\x1e\x61\x26\x79\x4e\xbb\xe8\xb3\xb9\xcb\xad\x09\x4b\xa3\xff\x36\xbe\x02\x81\xa1\xa9\xcb\x5e\x69\x9d\x8e\xdc\x83\x3d\xd2\xbd\xcf\xe4\xa0\xd4\xfa\x1f\x9f\xa7\xa0\x35\x1a\x98\x76\xb9\x17\xb3\xce\x45\xe2\x68\x08\xe9\x71\x17\x9d\x51\xae\x2e\x72\x66\x0a\xaa\x07\x97\x28\x1c\xe7\xcb\x80\xf4\x99\x4c\x02\xf3\xd9\x98\x10\x24\x47\xdb\x30\xc7\x84\x7b\x6e\xbb\xe5\x23\x67\x02\x91\xcb\x80\xb4\xc9\xde\x59\x93\x46\x7b\x56\x51\xfe\x3b\x61\x34\xc2\x30\xca\xc3\x06\x64\x90\xd3\x71\x1f\xb6\x69\x0c\x95\x58\x71\xe8\x54\xb6\x1b\xfc\x1d\x3c\x6c\xe6\xae\x53\x40\xc3\x9a\x1d\x8b\x2b\xc7\xb9\x2c\x02\x75\xd3\x28\x68\x71\x02\x9c\x73\x12\xf9\xc7\x39\xdb\xab\x4a\x03\x3e\xe8\xf6\xed\xac\xcb\x25\xc7\x44\x34\xbe\x75\x14\x06\xbf\x4a\x24\xd2\x7c\xf9\x3a\x3e\xfb\xa0\x4d\x6f\x3b\xba\xc7\x4c\x0c\xc9\x4c\xfc\x60\x62\xd3\x47\xb2\x6e\xdb\x88\x3c\xcf\x68\x03\x5a\xf4\x6f\x3b\xa9\x54\xd9\x3e\xce\xf5\xaa\xba\xc7\xee\x29\xef\xde\x64\x98\xc6\x3c\x62\x13\x81\xb2\x37\xab\xa8\xfb\x9e\x46\x6d\x04\x66\x45\x08\x17\x67\x27\x55\x66\xdb\x8d\x84\x81\xce\x2c\xcb\x30\xd1\x9f\xac\x8d\xae\x26\x2e\x11\xa5\x5f\x70\xda\x32\x09\x8a\xa3\xf7\x26\xdf\xeb\x06\x3c\x0d\x27\x6a\xc2\xb3\xe5\x1a\x96\xc5\x1e\x1b\xce\x75\x73\x01\x43\x13\xc2\x6b\xfb\x51\xfb\x5b\xfa\x98\x1e\x5e\x43\x1e\x96\xbf\x0f\x3a\x8e\x1e\x5a\xa2\xd7\x94\x3c\xd5\x22\x66\x6c\x39\xb9\xa6\x25\xe3\xae\x51\xa6\x26\x2e\xf6\x2f\x78\xbb\xea\x30\x89\xdf\xef\xdb\x2e\xda\xbc\x39\x2f\x4c\x84\x9c\x27\x85\x22\xd8\xd5\x62\xa0\x04\x5c\x31\xc7\x78\x67\xa8\xe4\xfb\x4a\xa4\x7f\xf5\x8d\x48\xb3\x0a\xd0\xf6\x71\x12\x0c\xbd\x0b\xf3\x38\xf9\xb7\xe1\x61\x4f\xf2\xff\xd1\xf5\xf3\x86\xce\xa4\x57\xa0\x81\xa8\x2f\xf5\xde\x61\xc0\x2f\x9b\xf9\x72\x74\x91\xa9\xea\xae\x71\x56\xde\xd2\xde\x25\x20\xd2\xe2\x9d\xfd\x4d\x70\x28\xfa\x6c\x5b\xc1\xd5\x76\xb2\xb1\x25\x60\xeb\xe8\x2c\x76\x94\xa1\xe9\x64\x86\xca\xde\x26\xce\x3f\xe7\x1c\xec\xee\x50\xbd\x00\x8a\xb2\x0d\x45\xe0\xc8\x71\x43\x2f\x3f\x21\x4f\x5d\xf5\x99\x21\x33\x1d\x8e\xc7\xbf\xdd\xaf\xf6\x43\xd9\x28\xfc\x9d\x86\xad\x0a\x6b\xda\x36\xf8\x47\x86\x7a\x96\x89\x41\xd2\x7c\x32\xc5\x99\xe7\x2f\xfd\xf2\xaf\xad\x7d\xc2\x96\x07\x84\x67\xf2\x1b\x04\x6d\x7e\x8b\xf6\x37\xc4\xd4\xab\x4a\x8b\x35\xa4\x18\x7a\x6d\xb4\xe6\x1a\x8d\x1e\xb7\x51\xef\x82\xe4\xb0\xca\x55\x2d\xd9\x5a\xab\x2e\x65\xfd\x9a\xe5\x74\xf4\x84\xcf\xf6\x41\xa9\x83\x7e\xc4\x88\xf5\x40\xfc\x47\x73\xc3\xf0\x27\xd0\x01\x9a\x51\x40\xd0\xef\x9a\x40\xf6\x35\x35\xe1\xf4\x25\x89\xd5\x46\xbe\x4a\x93\xe2\xb0\x61\xfe\x76\x86\xf7\x68\xc7\xc3\x86\x67\xcf\xcb\xf6\xa1\xac\x09\xc4\xa7\x65\x69\xd6\x85\x4c\xcf\xad\x9b\x07\x8b\x24\x4f\xd6\x9c\xcf\xdc\xd1\x10\x24\x28\x3f\xa6\xa9\xf4\x88\x01\x2e\x04\x7a\xd8\xd0\x45\xc6\x0a\x28\x45\x07\xe3\x22\x06\x78\x20\xc5\x8d\x79\x08\x11\x23\xf9\xd2\x41\xf5\x4a\x79\xde\xf9\xd1\x26\xc1\x05\x5f\x75\xe6\x29\x13\xf6\x3b\x19\xe3\x1e\xda\xfd\x89\xd5\x76\x94\x28\x7c\x77\x67\xe6\x29\xeb\xc9\xa5\x39\xb7\xf5\xab\x09\x4e\x34\xf6\x48\x3d\xf7\xd4\xea\x28\x2f\x61\x10\x57\x06\xf9\x24\x59\x5f\xff\x19\xb4\x64\x23\x69\xb0\x54\xd7\xa5\x4c\x83\xb1\x66\x99\x6d\xe9\xb9\x99\xb3\xb4\x05\x35\x34\xea\x9e\x54\x5f\x5f\xdb\x78\x5b\xfc\xb9\x74\x8c\x61\xf6\x6f\x64\xdf\x85\xcd\x56\x17\x8f\x36\x9b\xdf\x0a\x05\x2c\x85\x04\x87\xc0\x37\x0b\xfa\xaf\xdb\xf3\xf5\x7f\xd6\xf1\x48\x68\xf2\x4d\x59\x98\x49\x45\x36\x97\x94\xcf\x4a\x66\x30\x84\x02\xca\xf9\xa1\xb9\x49\x23\xcd\xf3\x56\x2e\x41\x8b\x1b\x94\x38\x7e\x2d\x35\xdb\x46\x62\x30\x15\xa5\xa2\x68\x05\x69\xcf\x87\x60\x2b\xb0\xbe\xf1\x7f\x1d\x20\x85\xb9\xa7\x76\x8f\x12\xb5\xa5\x8a\xaa\x38\x98\x25\x29\x67\xe3\xf1\x1b\xf7\xec\x19\x1b\x42\x29\x60\xad\x47\xbb\x1a\x85\x17\x65\xd6\xfe\x99\x1e\x17\x82\x96\x14\x4f\xe6\xee\x49\xea\x3d\xdd\x3e\xd3\x45\x73\xea\x92\x13\x89\x91\x4f\x08\x47\xd3\x0d\xec\x32\xd8\x4c\xc6\x29\xe7\x0e\xe7\xa2\xb8\x6a\xc6\x35\x8b\x34\x88\x18\x31\x93\x52\x88\x2d\x21\xfb\x9e\xfd\x6a\x29\x9a\x29\xa0\xb5\x6f\x30\xda\xea\x7a\xf4\x29\x30\x5f\x97\xeb\x7c\x31\xa0\xe4\x9b\xde\x05\x6a\x9f\xb1\x26\x13\xce\x97\x9f\x4e\x2b\x89\x38\x8e\x58\xb5\x11\x6b\xbb\x9b\xa7\x0e\xb9\xd4\xb0\x4d\xbd\x08\xab\x67\x39\x9b\x34\x18\xe4\xeb\xf4\x38\xf1\x5c\xb8\x6a\x25\x0b\xe1\x38\x3e\xfb\x45\x9b\x6a\xff\x0e\x3a\x11\x84\x6a\xda\xcd\xc7\x98\xaa\xd6\xea\xd5\x49\x19\x23\x30\xba\x70\xc4\x9d\xfb\xfc\xea\x4a\x36\x30\xca\x8c\xc4\x82\xce\x27\xba\xd8\xfd\x3b\x3c\xcd\xbe\x41\xf7\xa1\x3c\x43\x9a\xdb\xff\x08\x3d\x18\xd3\xdf\xd8\xb1\xf7\x5c\x6b\xd0\x36\xba\xd7\xa2\x9f\x5f\x43\x19\x19\x7f\x77\x0e\xb2\xda\x41\xba\xf8\x4b\xd0\x9b\x16\xfc\xab\xf0\x10\x3b\x99\x86\x48\xe7\xa4\x43\xae\x45\x40\x36\x8e\xee\x4c\x72\x77\xb1\xfc\xa0\xfa\x58\xf6\x6d\x12\x33\xff\x74\x4e\xcf\x53\x60\xe2\x8e\xfd\x49\xbf\x3b\x73\x3f\x06\x95\xfe\x96\xe5\xaa\xeb\x28\xad\xa0\x1b\xe8\xac\xe2\xfa\x4b\x50\x0b\xbd\xd1\xe4\x83\x7b\x40\xc3\xb9\x99\x1e\x69\x2a\x5e\x46\x96\x14\x96\xaf\x85\x1f\x8e\xec\xef\x2a\x9b\xeb\xfd\x5c\x1c\x7f\x79\x05\x51\xab\x73\x5d\x76\xa6\xa6\xc7\xce\x71\x20\xc1\xdb\xc7\x14\xa3\x9a\x6c\xf1\xdd\xae\x6d\xe8\xcc\x94\x96\x79\xb2\x99\x74\x68\xce\x05\x39\xb7\x24\x51\x66\xb1\x3c\xa7\xde\xbd\xd0\x18\x65\xc4\x29\x48\x35\xa7\x5f\xe6\x90\xfd\x6e\x62\x64\x5d\x2a\x69\xe3\x20\x38\x8b\x56\x94\x82\xfa\x9f\x4a\x94\x06\x7a\x04\x46\x19\x86\x3a\x35\x65\x49\xc6\xb4\xb8\xff\xfb\xfc\x9d\xba\xa9\xdf\xea\x2a\x57\x82\x1c\x9c\x55\x13\x9d\x3e\xb8\x3c\x9c\x95\x8a\x50\xf2\x8f\x2c\x8c\xf9\x23\xb3\x2e\x0d\xdc\x18\x54\x77\xeb\xd4\x92\xdf\xb2\xca\xd2\x16\xd9\x78\xe9\xf1\xd4\xe2\xea\xd1\xb0\xd4\x90\x6c\x02\x94\xe1\x7c\x84\xd8\xf3\x1d\x41\x63\xb4\x2a\x38\x2a\x3f\x4d\xf4\x50\x0e\x43\x70\xd6\x6c\xb3\x89\x96\x5a\x01\x32\x21\xb4\xb0\x75\xe4\x1d\x49\xff\x29\x4c\xa9\xe1\x95\x74\x51\x4d\x24\xff\x42\x7e\x5f\x1c\xcf\x00\x61\x2d\xc7\xdc\x09\xfb\x49\xe7\x9b\xca\x72\x98\xdd\xec\xcf\x75\x28\xeb\x27\x08\x30\x8d\x6b\x7f\xda\x8a\x6b\xd1\xde\x41\x04\x6b\xb0\xb9\x69\x44\x21\x92\x72\x98\xe9\x88\x0a\x45\x04\x21\x80\xe3\xfe\x60\x81\x34\xfb\x39\x91\x58\x9a\x15\xc2\x04\x65\x0c\x37\x84\x11\x56\x99\xee\x63\xf5\x21\x27\x64\x91\x3a\xd7\x8d\x29\x88\xae\xa4\x4e\xa4\x06\xa5\x86\xf9\xdf\x47\x78\x19\x0d\x9b\xba\xaa\x81\x83\x94\xac\x55\x55\x48\x06\xca\x48\x18\xc9\x08\x36\xe6\x9d\xb8\xb8\x9f\x32\xaa\xa1\xda\x7f\x68\x26\xca\x48\x09\x09\x25\x14\x69\x59\x85\x1c\x9c\x49\x53\x92\x43\xaa\x09\xee\x06\xc6\x76\x34\xf1\x4f\x11\x39\xe3\x06\xea\x0e\x9c\xf4\x22\x72\x71\xed\xe8\x68\x8c\xff\xba\xd2\x34\x35\x52\xf6\x36\x86\x2c\x0e\x4b\x3a\x69\x1a\xd3\x08\x5a\x84\xd6\x10\x8a\x2c\x8e\x09\xac\x28\x9d\x71\x2c\xbc\xb4\xb4\x94\x4c\x08\x0a\x2b\x8e\x09\xb4\xe8\xb4\x51\x14\x2e\x02\x73\x28\xa9\x05\xd3\x08\x42\x44\xc6\xe0\xff\x12\x61\x0d\x25\xb4\x51\xcc\x85\x53\xa0\x48\x89\x98\xfe\x85\x54\xfc\x2c\x22\x8b\x8a\x26\x11\xf3\x11\x2d\xe1\xfc\x2f\xd0\x84\x30\x41\x92\x76\xe1\x17\x75\xff\xdf\x50\x46\x22\x27\x1c\x05\x8c\xa0\xfe\xa9\x8a\x42\xe7\x53\x3d\xf2\x93\x01\x72\xb0\xc8\x55\x16\x85\xac\x8b\xb4\x08\x5f\x5d\x58\x0d\x8a\xb4\x08\xff\x7f\xf8\xff\x0b\xcc\xd4\x3f\xff\x40\x46\x88\xfd\x10\x25\x0b\x1e\x2c\x6a\x97\x51\xc7\xdc\x6a\x61\x63\x2e\xb3\x1d\xcb\x24\xeb\xa5\x5e\xcc\xe6\x21\x4a\xa1\x44\xd0\xcf\x66\xd1\x4a\x35\x11\x81\x3b\x61\x1d\x95\x2d\x03\x3a\x46\x7f\xfd\xff\xc2\x82\xba\x33\xad\x54\xdd\x27\xbc\x7a\xcc\x5d\x7f\xd1\x5d\x7b\xcd\xa7\xb2\xfa\x51\x45\x33\xb3\xab\xee\xdc\x47\x64\x2d\xf4\x55\xe3\xcc\x47\x66\x6d\xa9\x2b\x6f\xe1\xc9\x4e\x45\xd1\x7a\x97\x7a\x86\xb7\xd4\xbb\x9c\xed\x26\xe5\x24\x77\xb1\x47\x35\xcb\x53\xe6\x41\xe1\xff\x88\x9a\x30\x33\x8b\x2d\x27\xb9\xab\x3d\x4b\x59\x9e\x3a\x0f\x0a\xb6\xbb\xd6\x33\xbc\xb5\xde\xe5\xec\x37\xff\x5b\xac\x36\xb5\x95\x1e\x5f\x5d\x8c\x3d\xc9\x5d\xe8\x61\xcd\xd2\x94\x5c\x4f\x8a\x6f\x28\xc5\x9d\xe1\x2d\xf6\xb6\x64\xbb\xf9\x9f\xd5\x53\xe2\x61\xd6\x6a\x57\x7b\x86\xb7\xda\xdb\x92\xfd\xa6\xe6\x24\x77\xa5\xa7\x39\xcb\x53\xe3\x61\x36\x5a\x95\x92\xfd\xac\x86\x32\x77\xa5\xa4\x39\xcb\x4d\x23\x79\xd6\x66\x71\x63\xe3\x1b\xbc\x0b\x16\x26\x16\x0c\x0c\xec\xbf\x05\x00\x00\xff\xff\x18\x33\x7b\xe0\xe8\x7e\x01\x00") - -func uiAppLibFontAwesome470FontsFontawesomeWebfontWoffBytes() ([]byte, error) { - return bindataRead( - _uiAppLibFontAwesome470FontsFontawesomeWebfontWoff, - "ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff", - ) -} - -func uiAppLibFontAwesome470FontsFontawesomeWebfontWoff() (*asset, error) { - bytes, err := uiAppLibFontAwesome470FontsFontawesomeWebfontWoffBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff", size: 98024, mode: os.FileMode(420), modTime: time.Unix(1, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -var _uiAppLibFontAwesome470FontsFontawesomeWebfontWoff2 = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x00\x12\x40\xed\xbf\x77\x4f\x46\x32\x00\x01\x00\x00\x00\x01\x2d\x68\x00\x0d\x00\x00\x00\x02\x86\x98\x00\x01\x2d\x0e\x00\x04\x01\xcb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x46\x46\x54\x4d\x1c\x1a\x20\x06\x60\x00\x85\x72\x11\x08\x0a\x89\x99\x28\x87\xb6\x58\x01\x36\x02\x24\x03\x95\x70\x0b\x96\x10\x00\x04\x20\x05\x89\x06\x07\xb4\x75\x5b\x52\x09\x72\x47\x61\xf7\x91\x84\x2a\xba\x0d\x81\x27\xed\x3d\xeb\x3a\xb5\x1a\x26\xd3\xcd\x3d\x72\xb7\x2a\x0a\x02\x19\xe5\x1a\xf1\xf6\x5d\x04\x74\x07\xdc\x45\xaa\x6e\xa3\xb2\xff\xff\xff\xff\xe4\xa4\x31\x46\xdb\x0e\xdc\x40\xe0\xd5\xf4\xfb\x7c\xad\x8a\x14\x08\x66\x93\x6d\x92\x60\x9b\x24\xd8\x91\xa1\x40\x64\x5b\x42\x51\x11\x24\x28\x5b\x55\x3c\x2b\x28\xad\xb8\x40\x50\xd0\x35\x1e\xe4\x60\x81\xb0\x0e\xda\x3e\xf6\x50\x10\x1a\x3b\xe1\x28\x91\xd1\x31\xb3\xfd\x6c\xdb\xfe\x68\xd4\xa8\xa2\xc2\x29\x9f\xdc\x59\x79\x94\xf2\x4a\x69\xe9\xeb\x17\xad\x85\xce\x7c\x25\xdb\x81\xb7\x5e\xac\x14\x47\x82\xa2\x33\xb8\x12\x6e\x9e\x95\xe8\xba\xda\x95\xdc\x0a\xc4\xcd\x90\x44\x8a\x9e\x70\x5c\x59\x72\x20\x94\x4c\xdf\x50\xf4\x0e\x8d\x1b\x83\x74\xa5\x29\xcb\x11\x98\xef\x13\xa7\x36\x52\xc2\x5e\x22\x53\x0b\x4c\x7e\xf1\x59\x52\xd7\x43\x58\x52\x15\x09\x8a\x34\x81\x8e\xe6\x46\xfa\x79\x5c\x5b\xbf\xe8\x37\x6e\xa1\xe2\xae\x7c\x1d\x73\xe0\xbb\x8c\x71\x1e\xa3\x4d\xbb\x8e\x25\x4b\xc9\xff\x17\x2e\xdb\xba\x0e\x2c\x0b\xfa\x84\xf7\xf8\x4c\xd0\x74\xff\x27\xf6\x10\x90\xc9\x4d\x1d\x2c\x11\x15\x63\xf7\x88\x2b\x62\xfa\xc4\xd7\x87\xe7\x4f\xfd\x73\xf9\x5e\xd8\x24\x85\x86\xd7\x7a\x2e\x07\xf5\x6d\xc5\xa0\x0c\xfc\x68\x26\x67\x62\xde\xf0\xe1\x76\xed\x87\xf3\x01\x0e\xc9\x27\x8a\x0f\x36\xa3\x3a\xb0\xbb\xc3\xf3\x73\xeb\x6d\xa3\x62\x8c\x31\xd8\xa8\x6d\x30\x22\xc7\x82\x1a\xb0\xbf\x2a\x56\x8c\xa8\x8d\x1e\xa3\x63\xa3\x24\x2c\x30\x41\x54\x50\x54\xb4\x31\x12\x03\xfb\xf4\xac\x3c\x0b\xed\x3b\xed\xf3\xd2\x60\x10\xe6\xb6\x27\xf1\x48\x0e\x3f\xf1\x73\xce\xa9\x3a\x91\x0f\x4e\x44\x9f\xa8\xfc\xa9\x10\x49\x11\xa4\x24\x8c\x04\x54\x14\x8b\x5b\x81\x82\x62\x34\x8a\x11\xcd\xfc\x7f\xea\xec\xef\x2c\xaf\xce\xbc\xd7\xef\xbd\xa3\x62\x6c\x36\x91\xba\x0b\x49\x4c\xe9\x69\x7d\xdb\x8c\x26\xe0\x34\xe3\x94\x6d\x2c\x27\xcb\x16\xcb\xf3\x23\xbd\xd7\xa5\xb3\x7f\x52\x77\x01\xa2\x62\x75\xc0\xb6\x2c\x4b\x96\x0b\xc6\x06\x9b\xe2\x76\x8b\x03\xdb\x08\x6d\x5f\x2d\xc0\xc0\xe6\x5c\x48\x8b\x9d\xfb\x8e\x48\x48\xfe\xaa\xf3\x93\xea\x07\xc6\xc2\x3f\x98\x96\xd3\x6d\xf3\x0b\x39\x50\x88\xad\xd8\x29\x39\xe7\x4a\xa8\x86\x24\xc6\xbd\x88\x9c\xe7\xb1\xf4\x38\xf8\xe8\xc7\xda\xce\xce\x7e\xb9\x3b\xc4\x72\x15\x8d\x6e\xbf\x3d\x24\x11\x1a\xb5\x1f\x94\x4e\x64\x64\x6e\x1b\x21\x27\xae\xa6\xf0\xe3\x3b\xb3\xf4\xac\x38\x99\xbc\x27\xd9\x4e\xa6\xed\x1e\x21\x7f\x2d\x18\x06\x4a\x19\xca\xb6\xd3\x2e\xe0\xd8\xfa\x91\xee\x58\xaf\x3d\x0c\x2c\x12\x04\x0e\x90\x9b\x1e\x22\x60\x3a\x18\xa2\xff\x1b\x0f\x09\x09\x20\x7b\x8d\xef\x9e\xdc\xe0\xbc\x12\xcb\x4b\x21\x27\x9f\x00\xa1\x2d\x46\x48\x94\x9c\x09\x89\x23\x24\x7e\x9b\x5a\x5f\x84\xb9\x9d\x10\x12\xb5\x03\x4e\x35\x56\x55\x38\x46\xc8\xaf\x1c\xa2\x8e\x25\x14\x50\xd4\xfb\xdd\xab\xda\xdb\xfb\x06\x08\x0c\x86\x43\x70\x08\x02\x24\x04\x51\x19\xa2\xb4\xbb\xda\x10\x9d\x72\xac\xec\xa2\xca\xbd\x9b\xee\xba\x6b\xbb\x6b\xda\x1b\xa7\x33\xd9\xb7\x13\xd1\x3a\x52\x11\x25\x1e\x10\xb6\x81\x32\x7b\xf4\x87\xde\xa9\xf5\x92\x1d\x68\x25\xbb\x29\x38\xc9\x11\xf6\x00\xf8\xf1\x01\x0f\x18\x0a\x49\x4c\x4b\x90\x36\x76\xf4\x23\xed\xfb\xb3\xee\xfe\x06\x2c\x3b\xd0\xa6\x36\x87\xa0\x4e\x9a\x32\xce\x68\x76\xb7\x0f\x0e\x08\xfe\xef\x7f\xcd\xfe\xeb\x0c\x4f\x4f\x91\xa7\x74\x23\x16\x85\x06\xe2\x78\x54\x89\xef\xaa\x42\x66\x02\x9d\x9e\x84\x71\x5e\x16\x23\x9c\xae\x9f\x96\x3f\x7b\xfe\x35\x62\x8a\x49\xe2\xe0\x25\x2d\x57\x5a\x90\xeb\xb9\x62\xa4\x41\xa3\x13\x0c\x5e\xe4\x31\xcd\xd9\x6e\x35\x19\xf9\xae\xe9\x8a\xd7\xa6\x4e\x51\x9d\x59\x27\xfa\xe6\xdd\xcd\x12\x96\x04\xfc\x91\x53\x04\xdc\x18\x1f\xa6\x21\x74\x22\x20\x06\x60\x62\x33\xe9\xf7\x25\x93\x07\xf4\xef\x33\x35\xbb\x02\x14\xd1\x66\x76\x3b\xab\x9d\xd5\xce\x6c\xce\xac\xee\x39\x9c\x3a\x6a\x67\x66\x3f\x67\x72\x9b\xf5\x70\xff\x78\x9f\x20\x80\x0f\x7c\x12\xfc\x20\x24\x08\x20\x65\x12\x94\x1c\x12\x94\x5a\x14\x28\xc5\x14\x24\x77\x28\x5a\x72\x53\x90\xe8\x76\x2b\x9b\x5a\xd9\x1c\xcf\xd6\x71\xf6\x4d\xa2\xec\x1e\x9b\xee\xcd\xea\xdd\x99\x6d\x3f\x26\x73\x5b\xf6\xe5\x74\x99\x53\x92\x53\x6a\x8e\xa7\x39\x9c\xaf\xe3\xf7\x3f\xad\x7c\xda\xea\x0d\xf1\xf0\xc5\x3e\x47\x0e\xcc\x06\x2c\x10\x62\x44\xd5\xb7\x5e\xa9\xf4\xaa\x5e\xa9\xc7\xdd\x1b\x3a\x6c\x8a\x33\x8e\xbd\x4e\x41\x9a\x60\xab\x35\x0b\x9c\x32\x36\xb3\x01\x4c\xf9\x70\x53\xf2\x09\x41\xdf\xa7\x2f\x55\xeb\x0a\xc2\xd6\x98\xb4\xbc\xb3\xb4\x27\x39\x5c\xb4\xa7\xd5\x86\x74\xb8\x85\x10\xaf\x21\xdf\xf6\xf6\xfa\xb7\x1a\xfd\x1b\x81\x6c\x00\x06\x85\x20\x50\x4d\x52\xb4\x9a\x90\x39\x6e\x80\x0a\xcd\x60\x15\x12\x13\x28\xca\x10\x40\xd2\x20\x48\x79\x29\x4d\xd2\x64\x4d\xca\x0d\x90\x1c\x35\xe9\xd4\xa4\x13\x48\x27\xd2\x91\x9a\x1c\xf2\x6d\x53\x3c\xfa\xe8\xdb\x71\x26\x6b\xbc\x29\x5c\xcf\x7b\x3b\xee\x31\xc5\xc3\x6d\xf9\x07\x9b\x38\xdb\x7b\xe1\x8b\xd5\x58\x84\x31\xdd\x2d\x33\xc7\x9a\x90\x91\x29\x82\x42\x28\x84\x91\x2c\xfb\x25\xf5\x93\x10\xb0\xb6\xb6\x8d\x04\xc4\x0b\x05\x05\xdd\xfd\xdb\x77\x9f\x6f\x7e\xbe\x98\x74\xed\xf0\x48\x57\x38\x6c\x90\xd4\x5a\x11\x09\x72\xa4\xe3\xbf\xff\x3d\x65\xb3\x1a\xec\xdf\x31\x2b\xe6\x07\x05\x2f\xc9\x8e\x31\x57\x3f\xd6\xb0\x72\xee\x12\x0e\x38\x39\x50\x4c\xc6\xd2\x01\x3e\x75\x6f\x39\x20\xc5\x18\x31\x20\x74\xc3\x98\xab\xc3\x75\x63\xa7\x9d\x91\xee\xc4\x40\xb3\xf9\x5d\x4b\x14\x10\x52\xef\x7f\x62\x4e\xff\xbb\x92\x76\xfb\x93\xb4\xd4\x1a\xaa\xa8\x28\xb8\x22\x8a\x83\x79\xeb\xbd\xbb\x7b\x1c\x0c\x63\xae\xff\x8f\xe6\xf3\x73\x63\x7a\xa6\x19\x26\xae\x70\x35\xa7\xe5\x04\xa1\x2c\x6a\xb3\x6e\x20\xa2\x6b\x4e\xc4\x21\x83\x2e\x83\x6e\x5e\xf7\xf8\x55\x75\x1f\x00\x40\x7c\xfc\x18\x3f\x76\xb5\x3e\xf7\x07\xb9\x1d\xb9\xdc\x1c\x91\x72\x18\x55\x61\xdc\x48\x52\x20\x0b\x1a\x8f\x10\xfa\xb9\xd7\xf8\xd5\x91\x00\x93\xf3\x49\x0d\x44\x89\xdf\xcb\x8b\x51\xbf\xbd\x7e\x70\xe9\x0a\x80\xdc\x8d\x3b\x3b\xb8\x6e\xf9\xf9\x8d\x4c\x18\x17\x24\xa1\x74\xf9\x09\x3a\x09\x68\x46\x43\x59\xa1\xed\xde\x54\x4f\xa0\x46\x4e\x1d\x4e\x7e\x7d\x17\xf1\x31\x22\x60\xb3\xa8\xfc\x9f\xd8\x61\xcf\x07\xcb\x28\xcd\x3f\x48\x20\x11\x97\x96\x87\x1f\xc4\x5c\x96\xcd\xe5\x75\xca\x30\x13\x4c\xd4\xb5\xf5\xf1\x27\xb5\xed\xba\xbd\xbe\xcd\x94\x50\x62\x6e\x6d\x4f\xbf\x98\xeb\xb6\xdd\xfd\x8d\xbf\x02\x18\x4a\x6c\x8b\x3f\x02\x01\x08\x9e\xe5\x73\xab\xe7\x05\x88\x30\x2c\x0e\x38\x8c\x78\xc9\x42\xf2\xfa\xf6\xbe\x42\x19\xc7\xe5\x91\x46\x89\x10\x14\x9f\x5f\xdf\x1b\x52\x69\x5a\x1d\xf8\xff\xb7\xd4\x7e\x65\x23\x15\x6a\xb0\x11\xb1\x77\xfd\x68\x4f\x63\x2a\x26\x46\x36\x0c\xac\x59\x71\xc1\x92\x05\x7b\x89\x7d\x3f\xc9\xf3\x3e\xf7\x75\x1e\xfb\xb6\x2e\xf3\x34\x0e\xce\x68\x25\x05\x67\x94\x60\x04\xa7\x26\xd7\xe7\x20\xb8\xcb\x12\x29\xa9\xac\x52\x35\x18\xe5\x48\x8c\x7d\xb1\xa7\xff\xcb\xa4\xb0\x6b\xdc\xa9\xdb\x1c\x90\x27\x4a\x99\xde\x4f\xbf\x00\x49\x88\xdb\x13\xb6\x9d\x5f\xef\xb3\x7f\x05\x91\x71\x4f\x62\x27\xd6\x48\xc7\x9f\x00\x42\x59\x45\x4d\xa3\x03\x1c\x36\xc8\x76\x84\x81\x35\xaa\x10\x4e\x4a\x0d\xe5\x15\x01\x4f\x88\x4e\x07\x1a\x46\x0b\x4e\x78\x28\x31\x92\x3a\x01\x5c\xba\xdf\xab\x43\xe0\x6b\x8e\x63\xa0\x62\x38\x05\x51\xf4\x09\x13\x64\xe1\x18\x5b\x4c\x14\x28\x65\x6c\x1c\x2b\x32\x75\x2d\xee\xd0\x61\xd6\x98\x64\xa2\x8e\x35\x3b\xa2\x4e\x24\xd4\xf6\x22\xa2\x48\xaa\x8f\x10\xab\x53\x46\xba\x6f\xeb\x32\x69\xa8\x22\x8a\xd9\x5c\xb3\x68\x04\x37\x49\x8c\xf6\xa0\x3c\x53\x43\x4f\x02\xad\x19\xb8\x96\xc8\x90\x48\xa0\x1e\xe2\x45\x77\x21\x01\x2e\x1f\xd7\xe9\xfd\x21\x42\x53\x12\x43\xaa\x67\x1e\xc4\x9d\x89\x63\xe3\x0e\xb9\xe4\x73\x2a\xd5\xa7\x73\x89\x28\x35\x6d\x94\x3d\x71\xc6\xca\x8a\x65\xa2\xfb\xf1\x59\x91\x0b\x24\xeb\x5c\x3e\x10\x66\x4e\x38\x80\x71\x97\x8c\x78\xea\x23\x76\x0a\xa5\x36\x75\x6d\xef\x09\xe0\x19\x9d\xb0\x60\xdb\x4e\x4d\x2d\x4a\x00\x5c\xf4\x10\x46\xb7\xc7\x72\xe9\x44\x02\x80\x1e\xb5\x5a\xd3\x30\x93\x07\x23\x27\xea\xa5\x88\x6e\xec\x11\xd2\x47\x6a\x4c\x82\xda\x86\x58\x14\x1b\xca\x8c\xa2\x41\xaa\x9d\xf1\x67\x59\x73\x99\x2a\xb2\x59\xca\xdc\x07\xc7\x5e\xd9\xb5\x98\x3b\x22\xd8\x1d\x24\x68\x62\x7f\x3d\xb9\x16\x19\xcf\x9b\x13\x98\x30\xde\x76\x48\x3c\x97\x56\x76\x7f\x81\x63\x9b\x5f\x00\x5c\x59\x8a\x03\xec\xa3\xe8\x77\x3b\x64\x42\x16\x02\x83\x8b\x03\x4e\x83\x84\x33\x1b\x21\x24\xce\xe7\xe7\xb4\xe7\xe2\xde\x49\x7c\x50\x98\x20\x7e\x13\x26\x13\xe4\x03\x64\xc5\x2e\xc8\x03\x1b\xd4\xb0\xe9\x02\x2d\x61\x07\xf3\xfa\x61\x19\x09\x2b\x2b\xc2\x13\x92\x39\xba\x2e\x6d\x52\xf8\xe9\x34\xe3\x63\x79\xaf\x9e\xb9\x23\x8b\x55\xd5\xc2\x46\x57\xee\x08\x75\xbd\x0d\xdc\x09\x17\x69\x2f\xf0\x9c\xaf\x94\x66\x7e\x80\x34\xdd\xf0\x6c\x83\xeb\x0e\x58\x53\xf4\x39\xc3\x84\x1b\xf7\x31\x45\x9d\xf0\xbd\x33\x40\x90\xfd\xda\x6b\x13\x88\xdc\x15\x40\x17\x27\x23\xa3\xbc\xb6\x63\xac\xbd\xd9\x6e\xea\xa9\x20\xba\xf1\x15\xef\x53\x5f\x3b\xac\x25\xfb\xee\x49\x8a\xd0\xc1\x2b\xbb\xf8\x2e\xf3\x4c\x1a\xd8\x43\x02\x78\xb1\xeb\xee\x1e\x1e\xbe\xfa\xea\x86\xb1\x77\x09\xda\xcd\x56\xdb\x82\x80\x81\xba\xa8\xe1\xa4\xc0\xc3\xf9\x45\x78\x66\x7e\x48\x60\xbd\xe9\x30\x1f\xbc\x21\x64\x94\xe8\x40\x51\x7b\x4f\x68\x31\x89\x17\x17\xb1\x48\xc1\xb6\x46\xc3\xab\xd5\x7a\x73\x1a\x8d\x37\xf3\xdd\x89\xb6\xb3\xc6\x9c\x74\x0f\x72\x76\xcc\xe8\xa9\xd2\x6b\x9d\xbb\x86\x68\x65\x53\x33\xb7\xdb\x87\x76\x99\x39\x84\x71\x7c\xab\x4f\x82\xef\x97\x4b\x29\x95\x55\x5c\xf2\x96\x41\xd2\x25\xa3\xb9\xbb\x02\xc4\x6f\x1e\x7b\x6c\x3c\x86\xdb\x4b\xb8\xff\xba\x9d\xcd\x8e\xa2\xa4\x8e\x69\xb3\x8f\xf1\x48\xeb\x47\x80\x49\x85\x7a\x9d\x3d\x36\x9a\x57\x57\x6f\x30\xeb\xd9\x0b\x7c\x15\xde\x25\x41\xf7\x1a\x6a\x64\x44\x29\x21\x0d\x80\xa9\x70\x77\xae\xc8\xee\x5f\x82\xb3\xeb\x3b\xb8\xf1\xa6\xdb\x63\x97\x44\x23\xe9\xff\xcb\x81\x4d\x90\xc0\xde\x4e\x7a\x9c\xf2\x05\xb7\x04\x70\xb0\x5e\x8f\x43\x44\x78\xde\xc2\x78\x6a\x29\x84\x35\x4f\xc8\x39\xfb\x0d\xa1\x60\xd1\xd2\x45\x44\x58\xee\x78\xf1\x8d\x20\xdd\x92\x47\x55\xc8\xc0\xed\xcb\xaf\x0e\xc4\x99\xaa\x04\xa9\xef\xd6\xda\x89\x9c\x2e\x25\x0d\xb7\xbf\xb6\xce\x88\xb1\x7e\x0c\xe3\xf1\xfa\x3d\xff\x08\x1a\x16\x43\x13\x6f\xa6\x29\x0d\x46\x84\x37\xf3\xca\xe7\x24\x5a\xa4\xfd\x28\xb7\x67\xc1\xeb\x6f\x42\xad\xa7\x0d\xdb\xc6\x9c\xc0\x40\xde\xe5\x26\xf2\xc3\xda\x65\xee\x7b\x06\xea\xe2\xe5\x8e\xa3\xa0\x08\x6c\xa0\xb0\x66\x8a\x5f\xc6\x52\x78\x99\x4e\x5b\xa7\x5d\x0c\xae\x9b\x07\x38\x60\x2d\x33\x99\x73\xb4\xa6\xc1\x92\x7b\x7f\x50\x6a\x01\xde\x19\xb8\x57\x75\x63\x39\xef\x85\xb8\xae\xa9\x84\x1b\x5b\x3e\x1d\xea\x2d\x9f\x2e\x44\xa2\xdc\x8e\x59\xfa\x1f\xf7\x9b\x15\x0f\x80\x1e\x64\x87\x0c\xcf\xc2\xd8\x07\xa2\xb2\x2b\x18\x5e\x7b\x93\xae\xb9\x43\xee\xf7\x89\xb1\x6d\xe0\xc4\xd9\xf0\x2c\xa6\xb1\x40\x4e\x3c\xb2\x90\x1d\xda\xd9\xd0\xf8\xf2\x89\xaf\x1f\x7f\x0e\x2e\x8d\x94\x56\xf1\xe6\x4d\xf0\xda\x11\x53\xec\x2b\xd3\x5c\x44\x9e\x2b\xa2\xda\x52\xa2\x7c\xd1\x36\xb5\x0b\xe2\x27\x71\x5c\x54\xe0\xdd\x02\xa6\x95\xf3\x1c\x1e\x39\x87\x44\x84\x06\x58\x3c\x7f\x24\xed\x70\x89\x80\xde\x07\x22\xbb\xe9\x85\xa6\x92\xfc\x24\x9b\xd2\xb7\x0b\xde\x2c\xf9\x70\x1f\xbb\x73\xf9\xa5\x54\xd3\xce\x1a\xdd\xfe\xaf\x62\xbb\xff\xd4\x4e\x6b\x49\x91\x1e\x5f\xe6\xa1\x60\xd5\xe6\x0a\x46\xe8\x88\x1f\xea\x57\x93\x9f\x56\xff\x94\x25\xd9\xd1\x77\x08\xad\x7e\xa9\xa4\xc4\x44\xd4\x90\xd9\xc2\xcb\xdd\x2a\xf3\xb3\x78\x69\xf2\x1e\xb8\x79\x5b\x72\x5a\xaa\x87\x00\x99\x5b\x53\x25\xb4\x47\x9b\xdc\x18\x73\x60\x46\x3c\xe3\x85\xa3\x85\xb3\xac\x20\xa2\xc1\x56\x8b\x2b\xfe\xf3\x21\x2b\xad\x96\xf7\xf5\x8a\xb8\xd8\x8d\x8b\x39\x79\x9f\x6b\xc5\xc1\x66\x62\x91\x38\x32\xde\x06\x73\xde\x7d\x6c\x3b\x5b\x29\x65\x24\xc4\xf8\x89\x54\x9d\x86\x96\x6b\xad\x83\x92\xe0\x29\x9a\x76\x8f\xb6\xa9\x39\xac\x01\x84\xe3\x1b\xa7\x7b\xd3\x75\x13\xf2\x75\x8f\x74\x8f\xc8\xde\xb3\x40\x45\xe3\xf4\x3e\x7c\x43\xf6\xda\x3c\x5c\x34\x25\x08\x97\x52\x76\xe1\x0c\xa5\xb6\xe9\xe5\xc4\xe8\xaa\xda\xf4\x40\xd7\xba\x43\xcc\x38\x5c\x91\xf8\x7e\x29\x14\x23\x6b\x7c\xbe\xb9\x2e\x61\xeb\x6f\xaa\xba\xda\x03\xba\x30\x30\x47\x94\x71\x30\x1d\x14\x25\xf1\xfc\xf0\x13\xa1\x99\x68\x70\x8b\xa9\xba\x0d\x4c\xff\x9c\xde\x22\x8c\x2b\x3e\x8e\xec\xe6\xb5\x25\xaa\x0b\x5e\x4d\xcb\x8a\x98\x4e\x9a\x73\xd3\xc8\x06\x71\x8e\xb4\x3d\x95\x12\xb0\x0f\xbe\xee\xe5\xe4\xa6\x86\xb0\x4b\x11\x34\x72\xe7\x2d\x2a\xef\xe7\x25\xe8\xda\x68\x23\xd7\x25\x3b\x70\x50\xe9\xa6\x94\x68\xd6\x43\x3d\xf7\xce\xfa\xda\xda\x0d\x97\x1a\xe5\x26\x14\x29\xa9\x62\x61\x84\xc6\x4b\x4c\xf8\x40\xbf\xf9\x9e\xe4\x74\xba\x21\xa2\x7e\x32\xed\x53\x5d\x72\x59\x6c\xba\x5a\x36\xd0\x33\xd1\x9e\x4a\xde\x6f\xb4\x98\x4f\xa3\x56\xf5\x3b\xb9\x68\x26\x67\x4f\x35\x92\x52\x54\x88\x2f\x7d\xf9\xc1\xd2\xc6\x7b\xae\xa5\xf2\x17\x17\x41\x5a\xd2\x26\x87\x19\x53\xf3\xe2\xd9\x74\xd8\xca\xf9\x9c\xcf\x03\x0b\xcd\xaf\x01\xe9\xa2\x50\xea\xeb\x43\xa1\xa4\x14\xa2\x30\x13\x08\xb4\xb6\x44\x2c\xfb\x70\x62\x70\xd0\xb7\xd4\x7a\x29\xa7\x20\x5d\x80\x49\xf7\x3e\x1a\x00\x0e\x51\x5c\x42\x6c\xc1\x22\xba\x97\x5e\x33\x52\x3e\x72\xfd\x2a\xfb\xbb\x04\x43\x3e\xc0\x1e\x1e\x83\xa7\xe1\x17\x78\x50\x55\xba\x7a\x1e\xad\x7d\x59\x11\x3d\x02\x0f\xf5\xcc\x95\x16\xbc\x7d\xf5\xd0\xb6\xc7\x10\x9a\x19\x0a\xe7\x0d\x1c\x36\x2d\x60\x2f\x22\x48\x0b\x0a\x6f\x85\x26\x92\x44\x97\x49\x30\xff\x45\x32\x58\x61\x89\x95\x2d\x1f\xa9\x7b\x0e\x35\xc0\x81\x99\x3c\x0d\x2c\x7d\x94\xd1\x13\x60\x60\x36\xfa\xc7\xed\x18\x90\x6a\x69\xa2\xe9\xd8\x69\x6d\x3c\x55\x75\x6a\x59\xa9\x5a\xfa\x6a\x0e\x42\x5c\x40\x8c\x67\xcb\x33\x45\x6a\x66\x70\x96\xf8\x98\x9f\x3a\xba\xda\xed\xea\x10\x57\xdb\xc7\xae\x9f\xba\xd9\xdf\xb3\x8e\x9c\x94\xce\x70\xa5\xc4\xb3\x33\x61\x6f\xaf\xfb\x11\x81\x31\x88\x64\x61\x8b\xf8\x20\x9c\x03\xb7\xdd\xab\xa5\xfd\x88\x99\x4a\x82\xd7\xb2\x3f\x20\x6a\xce\x71\x37\xae\xbe\x4d\xc3\xe6\xce\x66\x66\x99\x59\xb5\x66\xcb\x1c\xd4\x73\x02\x1e\xb0\x1b\x24\x9b\x9c\x09\x84\x95\x48\xfd\x91\x14\xe6\xac\x6c\xa5\x96\xf5\xb9\xbf\xc0\x88\x97\x28\x25\x2e\x9b\x72\x06\xe3\xd2\x77\x3f\x03\xf2\xbe\x6d\x3d\x7e\x0b\x82\x79\xb2\x63\x59\x91\x62\x67\x29\x3c\xcb\x57\x84\x20\x2f\x56\x78\x16\xda\x6b\xa9\xb4\x92\x24\xe7\xf3\x8f\x0c\x42\xf0\x72\x7e\xf1\x86\x01\xa7\xd3\xf0\x39\x13\xde\x36\x8d\x30\xd1\x26\xfe\x99\x5f\x76\x4d\x00\x59\xc2\x25\x84\x93\xd2\x9d\x7b\xe6\x45\x7f\x89\x36\x3c\xc3\xe9\x95\xc7\xc2\xed\xdb\x25\x8b\x25\xab\x34\xad\x8b\x8e\xdf\xa0\x4f\xde\x40\xef\xf3\x4e\xe1\xf9\x08\xa1\x82\xaa\x22\x5a\xb7\x18\xdf\x4f\x44\x7b\x75\x33\x53\x0f\x8c\xc7\x57\x8b\x4d\xb0\x95\x52\xa7\xed\x33\x73\x3c\xc3\xf5\x19\xa7\x91\xd8\xb3\x0d\xa3\x80\xa6\xf1\xb0\x5c\x49\x0e\x30\x8d\xab\x2e\xa0\xc5\x2d\x32\xdd\xad\xec\xcf\xe3\x84\xad\x3b\xaf\x09\xec\x83\x30\xd5\x0e\xb6\x7d\x4e\xab\x2f\x62\xf5\xf6\x1a\x8e\x4e\x7b\x84\x49\x99\xb3\x7c\x62\x5f\x72\xc4\x65\xf8\x9d\x5f\x70\x53\x69\x83\xe3\xca\x14\x0f\x3e\x12\x27\xdc\x77\xac\x35\xfc\xdb\xfa\x52\x46\x2c\xd1\x87\x88\x25\x1e\x53\x59\x96\x84\xbb\xc6\x57\x68\xa3\x36\x4c\x5f\x69\xec\x83\xa3\x3d\x9a\x9b\xbe\x69\x31\xf1\x33\xfe\x59\x49\x37\x4e\xb8\x43\x70\x8d\x49\xc9\xf0\xc4\x94\xbe\xc3\x12\x28\x0f\xa8\x72\xaf\xbe\xbd\x30\xab\xdd\x7b\x6a\x89\x19\xf7\xba\x85\x72\x8b\x4b\xbc\x9e\x99\xe5\xd0\xa2\x6f\x29\x6c\xd9\xc4\xf4\x87\x33\x6e\x61\xbf\x54\x31\x7f\x5c\xa7\xc3\x49\x19\x45\x28\xe9\x6d\xbd\xf7\xb2\xbd\xdf\x83\x9b\x93\xc2\x44\xf4\x6c\xfa\xac\x7f\x65\xb3\xb3\xc7\xe6\x24\xc3\x85\xdf\x77\x58\x9e\x88\xcc\x55\xac\xfc\x28\x40\x95\x84\xae\xf7\x4d\xf5\x61\x22\x6e\xac\x0e\x2c\xe4\x2a\x76\x47\xb3\x1d\x96\x1c\x89\xcc\xa8\x13\x78\xb9\x8a\xae\x3e\x95\x47\xd9\x0c\x53\x82\x11\x83\x80\xee\xbd\x67\xc0\xcc\x89\x22\x94\x51\xcb\x76\xa4\x62\x14\x30\x2a\x7a\xdb\xc8\x50\x45\xf4\x79\xc1\xc9\x89\x8c\x3f\x37\xaf\x24\x13\x0b\xc1\x8e\xd8\xf0\x25\x9e\x1d\x89\x47\x87\xd2\xd1\xe4\x70\xc9\x64\x59\xc8\x26\x66\xe2\x07\x21\xed\xfb\xc7\x61\x36\x94\x8e\x7c\xa8\x08\x29\xbf\x0e\x3b\x75\x37\x23\xc2\x33\xc9\x34\x90\x6d\x4a\xc4\xb3\xdb\xf8\x0a\x6f\xf7\xf6\x89\x4f\xf8\x70\xad\xc8\x81\xa2\x76\x38\x6a\xa0\xea\x99\xfc\x78\x28\x4b\xcb\x2f\x5a\xdc\x64\xbb\x03\x8a\x8f\x78\xc9\xc5\x83\xfd\x6d\x37\x56\xd1\x5f\x5c\xa7\x66\xd7\x4c\xe5\x37\x0c\x70\x9b\x58\xf3\x7a\x16\x1e\xec\x85\x48\x37\xbe\x2d\xab\x0e\x96\xb5\x2c\x28\x31\x4b\x48\x62\xad\x65\x90\xa8\x2c\x72\x2d\x19\x1c\xa3\xa0\x11\x70\xa1\x4c\xcb\xef\xc6\xed\xa0\x33\x3d\xe6\x54\x98\x02\xc6\x32\xa9\x74\x91\x32\xd9\xbc\x58\x96\x6b\x3a\xa9\xb4\xb5\xff\x08\x5a\x80\x35\xc0\xcf\x73\x05\x89\x0e\x70\x0e\x88\xd2\x53\x73\x54\xab\xb8\x05\x1a\xd5\xeb\x3a\x2e\x5d\xb5\xb7\x44\x22\x94\x40\xb0\xf5\x2d\xb6\x45\xb7\xcc\x91\x06\x21\x10\x94\x13\x41\x8d\xf0\x91\x32\xba\xc9\xb6\x2d\xf0\x46\x19\x7d\xb1\xcb\x92\x80\x32\x42\xc7\x83\x92\x8d\x51\x1a\x99\xd5\x17\xe0\x05\x29\x74\xc5\xc3\xa7\x7c\xda\x23\x34\x84\x7c\xdc\x5c\xf7\xe3\xa8\x80\xf0\xc8\x60\xb7\x66\x63\x10\x2c\xb6\x9f\x23\xd4\x07\x67\x89\xe9\x31\x3a\xd9\x2d\xd6\x16\xab\xa1\xb9\x74\x79\x17\x20\xdb\x5d\xfb\x87\x98\xe0\xe4\x32\xaf\x5a\x7e\x02\xb1\x84\x00\x2e\x29\xe3\xe9\xae\xf3\xf4\xb3\xd7\x02\xc7\x8c\xe0\xd6\x1e\xb5\xa1\xdc\x25\x52\xa5\x4b\x8d\x98\xab\xbf\x28\x79\x90\x02\x60\x91\x38\x96\xb6\x43\x1a\xd7\xc7\xd6\x8d\xfa\xb7\xcb\xf7\x7a\x93\xba\x1d\x8a\x4b\x2d\x4e\x8e\x0c\x84\xf3\x01\x0e\xf5\x60\x5e\x2b\xa6\xf5\x8b\x9e\x6e\x08\xa2\xa8\x8b\x33\xb9\xdb\xcf\xb4\x18\xfe\x02\xe5\xf4\x80\x9d\x16\x95\x54\x81\xf2\x33\x82\x74\x51\xe1\xd8\xa3\xa9\x06\x08\x34\x3c\x3e\x3a\x4a\x30\xc3\x88\x25\xe5\xdd\x91\x5a\x61\x62\x60\xe8\xbd\x03\xea\x76\xcd\xac\xfc\x86\x61\xf6\x54\x2f\x5a\x01\x02\xfa\x14\x9c\x61\xde\x9d\xc7\xd0\x93\x49\x69\x09\x9b\x57\x31\x90\x16\xfc\xf1\xfd\x83\x5f\xa9\x90\x10\x3e\x29\xc3\xfa\x97\xbe\x48\x22\x94\x8a\xf9\xe3\xe9\x70\x92\xeb\x0b\x83\x7c\x37\x6d\x14\x46\xb5\x5e\x5a\xcf\xcd\x7e\x66\x8b\x11\x17\x30\x4a\xf1\xea\x5e\x00\xc9\x49\x91\x17\xdc\x33\x56\xb9\x21\xe9\x18\xa5\xdc\x7b\xd3\x3c\x65\xcc\x2f\x3d\xce\x70\x60\xda\xd7\x0c\xde\x71\xad\x9e\x00\x38\x5e\xf6\xd4\xd9\xd3\xc1\x4b\x38\xcc\xeb\x4f\xcd\x39\xf6\x77\x30\xd3\xea\x5a\x90\xb4\x7c\x1e\x8a\xdc\x04\x76\x3f\x91\x6e\xc3\x14\x09\xe0\x0c\x33\x97\x81\x66\x81\x21\xfd\xcb\xdf\xb7\xd1\x7e\x95\xfc\x54\x8a\x20\x1f\xa7\xe4\x1d\xfb\xc1\xca\xf2\x20\x4a\xd3\x9b\xa5\xfb\x84\x07\x11\x1c\xdf\x35\xd7\x0b\xc1\x70\xa6\x8f\x14\xba\x56\x09\xbc\xdf\x33\x87\xcb\xab\xb8\xc5\xd7\xf3\x0f\x2e\x3d\xc6\xf1\xcc\xee\x81\x2d\x7d\xa7\xdc\x5b\xce\x67\xe5\x52\xe1\x35\xab\xf3\x9d\xf3\x6e\xec\xa3\x42\x38\xe1\x91\xf7\x83\x99\x33\x2e\xbb\x08\xd2\x38\x14\x09\x59\x67\xa1\x23\x30\xdf\x26\xb8\xbd\xaf\x53\x84\x2f\x2e\x66\x67\x5c\x0a\x1a\x45\xe2\x66\xe7\x7d\x0e\x90\xc8\x2c\x6b\x87\xa2\x94\xe9\x93\x67\xfc\x06\x14\xfb\x24\x03\xb9\x3f\x58\x59\x93\x07\x2a\x8f\xfa\x94\xa9\xba\x11\xbc\x31\xaf\x90\x70\xad\x97\x45\x28\xbf\xd7\xeb\xf2\x52\x53\x92\xa4\x51\xba\x98\x74\x9e\xee\x03\x36\x2c\xa0\x51\xe3\x6a\x5c\x08\xf0\xe3\x3c\x08\x2f\x5d\x4e\xae\x73\xfb\xcd\x1d\xa5\x3b\xcd\x27\x0c\x18\x48\x58\x5d\x8e\x45\x98\x32\x1e\x39\x90\x87\x64\xa6\x6b\x59\xfd\x0d\xd9\x6a\x90\x8e\xc2\x52\x36\xd1\xd4\xed\xf7\x03\x51\x12\x21\x98\xca\x00\xea\xee\xf7\x20\x56\x86\xbb\x99\x0a\x25\x22\x08\x15\x5e\xd0\x60\x97\x4e\x33\x4f\xf2\x8c\xa2\x0f\xfa\x86\x83\xac\x5b\xf1\x1d\x76\x3a\xe0\xca\x84\x3a\xd9\xe8\x5e\xda\x9c\x72\xd7\xbf\xe7\x11\x40\xea\xd2\xec\x0a\x8d\x46\xc5\x5f\xae\xd7\x11\xe5\x01\x08\x4e\x63\xcc\x42\xd2\x17\xf1\xfd\xc3\x38\x70\xa3\x5c\x69\xaf\xa2\xb5\xd7\x37\xcf\xee\x8b\x67\xe5\xad\x03\x2a\xee\x8f\xd1\xcd\xfd\x2c\x83\x43\xab\x9d\x1a\xc2\x0e\xe1\x5b\x87\x36\xb4\x54\x92\x3f\xba\xba\xb5\x16\x85\x25\xf2\x7a\xfb\xc5\x40\x01\x06\x18\x6a\x41\x70\x42\x4e\x35\xf0\x9e\x22\x34\x54\x9e\xa5\xe0\xf4\x22\x96\x7d\x30\x75\x4a\xf4\x87\x8f\x9e\x96\xc8\x9c\x7e\x33\xf6\x1e\xd9\x0e\xd1\x7b\x7d\x02\x75\x57\xf6\x8c\xe0\xee\x4d\x93\x1e\x6a\xfa\x39\xc8\x2d\x82\x5d\x13\xf5\xab\x9d\x11\x99\x27\x6c\x53\xb2\x20\x2f\xf0\x52\x3e\x3c\xa5\x2b\xe7\x4f\x9f\x95\xdb\xd8\x1f\x65\x42\x23\x95\x42\x63\xd2\x1a\xd9\xc0\x02\xe8\x6a\x4c\x5c\x11\x12\xa3\xc4\x2d\xbe\x5a\x68\x95\x5b\xd7\xfa\x49\x3c\x8d\xaa\xfc\x0f\xf1\x84\x18\x71\xa8\x76\xde\x7e\x96\x6b\x5d\x9b\x47\xc3\xce\xd5\x54\x44\xbf\x3f\x53\xa9\xcb\xd9\xd6\x2f\x1a\xc6\x2d\xd4\xd7\x25\xdd\x92\x89\x94\xd9\xe8\x37\x0c\x88\xfe\x77\xa6\x69\x7c\x43\x16\xcb\x49\xa1\xc4\x71\xf1\x77\x63\xa8\x80\x57\x01\x9b\x14\x78\x0c\x9a\xb1\x20\xcf\x0c\x2f\x37\x04\x81\x78\xac\x82\x48\x4f\x2f\xae\xe5\xb5\x1d\xf0\x6f\x5d\x91\x9e\x0f\x94\x47\x5d\x8a\x79\x8f\xdf\x83\xeb\xfc\x87\xfb\x23\x85\x87\x1f\x37\xa9\x8f\x62\xcd\xe3\x24\x93\x74\xc7\x1c\xaa\x52\xdb\x24\x20\x06\xbe\x98\xe9\x7f\x5d\xe3\xb4\x61\x37\x1b\xcd\x46\xa3\xd1\xae\xaf\xb2\x8f\x2c\x6e\x21\x72\xcb\xdf\x49\x7c\x32\xc0\x10\xbc\xe3\xb8\x38\xea\x92\x78\xff\x36\xe7\x99\x67\x53\xa6\x68\xb1\x09\xb2\x93\x52\x5e\x5e\x93\x44\x2e\xf8\x78\x8a\x4d\xd1\x4d\x53\x3f\xe6\xbc\x9e\x27\x47\xfa\x23\xfc\x7e\xe1\x2b\x9d\xac\xba\xc4\xec\x08\x76\x34\x8a\x64\x21\x46\x79\x54\xdc\x39\xf1\x2d\xb2\x66\x56\x61\x37\x68\xfb\x42\xae\xcb\x17\x34\xfe\xab\x9f\x96\xe8\x17\x2c\xa9\x32\xbc\xc6\x89\xc4\xfd\x15\x26\x76\x54\x48\x4d\x71\x70\xf0\x34\x14\x3f\x02\x52\x5c\xb4\xbd\xb2\xaa\xbe\x58\x61\x3c\x91\xd8\x34\x10\xee\x96\x1c\x40\x4d\x69\xac\x48\xd4\x44\x5f\xbe\xe8\x09\x9b\x45\x11\x67\xaa\xcf\x52\x89\x79\xb1\x4d\x9a\xd3\xd1\x6c\x54\xfe\xd8\xa0\x4a\xdd\xae\x0d\xab\x96\x79\x0f\x63\xca\xce\x22\x99\x48\x4a\xf4\x2c\x20\x36\x8a\x75\xf6\x2f\xda\xb4\x9b\xe2\x0e\xad\x9d\x04\xc0\x0f\x8b\x94\xe9\x89\x79\x8e\x00\x97\x56\xcb\xd9\xe6\x6e\x4a\x6e\xdb\x9f\x48\x5c\x50\xc5\x52\xa3\x42\x64\x7c\xd3\x14\x34\xb9\x5f\xe8\x8e\x24\x6b\xee\x9c\xcb\xc6\xc0\xc6\x2e\xb9\x9a\x77\x12\xea\x96\xca\x1b\xc2\x99\x14\x01\x49\xa0\x70\x53\xbd\xfd\x24\xe4\xfc\x1c\x96\x7c\x7d\x6a\xce\xd6\xf4\x39\xc8\xda\xe4\xa4\xe9\x13\xc3\xfe\x11\xa1\x6d\x87\x7c\x83\x31\xd1\xdf\x98\x9e\xb7\xb7\xfc\x6e\xbe\x39\x33\x83\x39\xbe\x1f\x01\xeb\xee\xac\x90\xd4\x35\x71\x02\x53\xfa\x7c\x86\x9b\x9f\x78\x57\xed\x39\x13\xda\xdc\xec\xcd\xea\x42\xb2\x96\x56\x5a\x21\xba\x99\xb8\xcb\x6d\xa7\x4b\x2f\xfb\x4c\x6e\x3b\x69\xab\xee\x75\xb3\xed\x24\xe6\x15\x2a\xce\x74\x33\x10\xd6\xcd\xb6\x13\x8c\xd7\x40\x7d\x00\x14\xb0\xa4\xb4\x42\x7b\xf5\x59\xef\xe2\xb8\xe4\x9f\xd4\x91\x94\x14\x7a\xab\x32\x4a\xe7\x75\x40\xdf\x61\xf7\x16\x5c\x19\x4d\xfb\x89\x87\x0e\x52\x37\x6f\xb3\xf3\x18\x64\x7a\xe8\xa0\x15\xa8\xa0\x9b\x65\xb3\xf2\x37\xde\x2f\x24\x34\x5d\x5e\x95\xc1\xbf\x32\x6b\x8a\x1c\x68\x24\x8c\x13\x3d\x1c\x25\x00\x89\xe5\x31\xee\x49\xe7\x42\xd2\xd8\x83\x20\x83\xcf\x48\x7c\x08\x02\xf8\x4e\x2e\x5b\xc9\x4d\x5c\x0b\x4c\x97\x8c\xfb\x62\xda\xed\xda\xe9\x31\x4d\x67\xe6\xf2\x1a\x3a\x9d\x4e\x56\x2e\x5f\x30\xb1\x00\x2c\x9e\x2b\x16\xe1\x2c\xb8\xa4\x68\xdd\x74\x37\xb4\x6c\x38\x8d\x73\x7e\x49\x56\x5e\x0d\x4e\xe5\xcb\xbc\x4d\xf2\xb2\xc3\x7f\xf8\xd8\x91\x6a\xe4\xdc\xd9\x83\x2d\xa2\x09\x6f\xdc\xae\xc5\xaf\x51\xe4\xc1\x6f\x10\x5b\x6d\x7f\x88\xa0\x6a\xe9\x3d\x72\x03\x9c\xfc\x6d\x3e\xf1\x7e\x7a\x34\x24\x4d\x9a\xe1\x17\x1b\x7d\x7a\x20\xd5\xef\x9b\x80\x73\x00\x8b\x68\x22\x22\x9e\x87\xec\x75\x37\xb7\x56\x7b\x52\xc3\xbb\xdd\xa6\x00\xb8\x4f\x11\x2d\x9e\x85\x44\x39\x56\xd6\xd9\xa5\x67\x86\x49\xca\x8e\x4b\xec\x4c\x67\xdb\xb6\x42\x10\xff\x54\x0f\xa8\xf3\x50\xb5\x27\x87\x4b\x17\xcf\xca\xcc\xa6\xef\x0a\x0e\x71\x57\x05\x84\xd6\x92\xf3\x33\x65\xb6\xb3\xa5\x12\x04\xff\x70\xe4\x86\x26\x90\x96\x88\xdb\x92\x89\xe6\x4c\x8b\x18\x68\x70\xb3\xaa\xa7\xd5\x4e\x83\x61\x53\xae\xa3\x0c\x77\xf9\xa1\x0a\x26\x98\xd4\xe2\x85\x3b\x65\x28\x87\x2c\x2d\x02\x37\x76\xca\x78\xa3\x2d\xbf\xdb\x77\x24\x57\xa9\x17\xcf\x6e\x58\xf3\x55\x9f\x9e\x87\x85\xb8\x89\xea\xf7\xc6\x74\x38\x89\x9b\x11\xb5\x91\x99\x03\x59\xe7\x11\x8a\xba\x3f\x4b\x4d\x9f\x63\x74\xbb\x59\xd8\x83\xbe\x70\x2a\xd5\x87\x8e\xfa\x89\x05\x8b\xe2\x2d\xed\x84\x1c\xee\xcb\xd0\x91\x66\x4c\xac\x7c\xc2\x5b\x6e\x4c\x8a\xe7\x9c\x0d\x7d\x34\x89\x7b\x35\xd9\x18\xe9\xa0\xa0\xa3\x33\xe1\xa7\x8c\x1d\x15\x0b\x88\x6e\x8a\xb0\x94\x24\x24\x2c\x2b\xa3\x44\x4e\x07\xd4\x84\x2d\x48\xed\x56\x3e\x98\xd7\x48\xa6\x8e\x98\xda\xf9\x4f\x73\x5c\x08\xb7\x05\xff\x95\x2d\xd1\x3b\xc0\x57\x36\x00\x4e\xf8\x95\x4d\x89\xdd\x38\xb2\x9d\x46\x69\x95\x91\xd4\x3b\xbe\x8d\xa5\x37\x19\x6b\xf3\x32\xb1\x36\x25\x02\xd6\x92\xcc\x0f\x1c\x61\x5d\x2c\x3a\x21\x8d\xca\xb2\xda\xbd\x45\x2c\x1d\x9f\xde\x7b\x55\x84\xfe\x01\x0b\x6e\x61\x77\xbb\xb1\xf9\x85\x4e\x67\xa1\x86\x2e\xad\xf2\x49\x07\x39\x72\x3a\x6a\xa0\x84\x15\xff\x92\x8c\x1a\xb0\x3c\x49\x13\x45\xb5\x31\xf0\x60\x24\x60\x4c\x62\x72\xc7\x92\x84\x81\xd7\x9d\xea\xce\x5d\x11\xe5\x78\xe2\x1d\x39\x3d\x52\x19\x76\x26\x2a\x51\x35\xe8\x80\x04\x30\x7a\x7f\x1e\xf3\xcb\xf8\x79\x3c\x88\xe0\x01\xea\x83\x60\x4d\x7c\xf6\xd4\x99\x9a\x64\x4f\x86\xd9\xa5\x69\x5a\xae\xe3\x19\xc5\x24\xae\xee\x19\xbb\x2b\x23\x1e\x4b\x48\xc8\x46\x0a\x8d\xc3\xe9\xc4\xea\xed\xbe\x83\x00\xa7\x8e\x09\xee\xc8\x18\xf8\x89\x1f\xa7\x8f\x29\x2d\x09\xbe\x06\x3a\x4d\x24\xcb\x79\x63\xa0\xae\x45\xc0\x25\x41\x69\x95\x92\x05\x32\x5d\x96\x98\x08\xcc\x6c\xe5\xb6\xa8\x90\x89\x1c\x9a\x19\xcd\x38\x86\x49\x1a\xbc\x79\xb2\xd2\x05\x5a\x17\x47\x4a\xb3\x83\x1a\xa2\x06\xae\x5c\xd5\x1e\x32\x1a\xd6\x99\x58\x62\x18\xbf\x4c\xbe\xf6\xf0\x9f\x49\xc2\x41\x2d\xfd\x47\x72\x52\x00\x21\xcd\x30\xa0\x13\xa0\xdb\x4c\x2b\xc0\x51\x68\xaa\x53\xf3\x59\xd4\xd2\x13\xd7\xf2\x53\xbf\x35\xfd\x5f\x1e\xd8\x28\xa5\x06\x0e\x70\x6f\x46\x9a\xa7\x54\x89\x87\x11\xaf\x23\x6b\x1c\x4e\xdb\xbe\xea\x6c\x7c\x72\x87\x6e\x06\xb3\x64\xd7\x48\xa0\x07\x1e\x96\xdc\x79\x13\xdb\x8a\xe6\xf9\xee\xe4\xc8\x26\xdb\x86\x17\x78\xe3\x70\xb0\xc1\xf7\xe1\xe5\x5b\xe9\x16\x38\x47\x1a\x86\xfe\xd9\x64\x74\xac\xa2\xac\xa3\xb1\x7a\xec\xb0\x83\xd9\xa6\x06\x09\x38\xb4\xb4\x42\xbd\xae\x4b\x50\x22\x40\x32\x65\x8c\x65\x03\xe6\x94\x0b\xac\x79\xe6\x1e\x78\xe7\xa7\x1e\xda\x6a\xbd\xb8\x9c\x06\x95\x4a\x4b\xc2\x88\x68\xc1\x58\xc5\xac\x42\xec\x7d\xea\x11\xa6\x36\x08\xf9\xc3\xa2\xff\xb5\x60\x3f\xb5\x69\x10\x91\x2a\xbc\x5b\x39\x65\x2b\x62\xd1\x56\x4c\xef\x61\x4c\xcd\x99\x13\xb3\xa6\x9f\xe9\x64\x0c\x02\x42\x59\x70\x2e\xb3\xcf\x88\x0a\xc6\x6e\x5c\x34\xec\xe7\xb3\x85\xc6\xa4\x8a\xdc\x1e\x8d\x64\xec\x11\x3c\x77\xa0\xdf\x57\x22\x06\x05\xcf\xd3\x3f\x20\x9f\x27\xb9\x4f\x25\x12\x8f\x61\x01\x32\x19\x4e\xff\x39\x1f\x8b\xad\x2c\xb9\xdf\x9f\xa1\xb6\x0f\xea\x21\x9b\xc5\xe2\x7f\x2e\xd3\x79\x7f\x97\x5a\xf9\xaf\x25\xf2\x34\xf6\x55\xc4\xf5\x5e\xfa\xcb\x75\xa0\xcf\x86\xe2\x67\xa0\x29\x02\x4d\x25\x96\x00\xe7\x43\xf5\xce\x1a\x56\xe9\xa9\x07\x9a\x9e\xca\x4d\x21\x7a\xd4\x26\x90\x9d\xbc\xed\xd9\x7c\x16\x44\xc2\x2c\xa6\x69\xf5\x7e\x52\x2c\x25\xb1\xfa\x7c\x4f\x22\xbe\xfb\xd9\x0c\xe4\xcf\x1d\x68\x5c\x33\x2b\x7f\xa3\xf2\xfc\x61\xab\xbd\x1a\x9c\xe2\xe7\x04\x80\x83\x9e\x05\x88\xd0\x69\x38\x93\x82\x1e\x5c\x14\x24\x03\x21\x31\x99\x4c\x8a\xe5\x61\x36\x73\xb6\x0d\x7a\x12\x2b\x4d\xc2\x52\xad\x62\xe7\xd2\x17\x5f\x0a\x6b\xe0\xb5\x76\xcb\x6a\xc4\xdd\xe9\x8d\x1b\x55\xf8\xaf\xe8\xa3\x92\x2d\x82\xc3\x6a\x58\xfa\x47\x74\x1f\x95\x0b\x98\xbf\xc0\xa6\x95\x62\x98\x7e\x88\xcb\x9a\xc0\x93\x1b\xea\x96\xba\x77\x74\xd1\xf9\xad\x8a\xcd\x9d\xa7\x53\x12\x6b\x50\xd6\x32\xff\x8c\xa0\x28\x3d\x63\x76\x74\xf3\xa2\x22\x9e\x5b\x33\x99\xc9\x17\x26\xb6\xad\x68\xea\x44\x4e\x05\x88\x08\x3d\xb7\xf2\x88\x8e\x8b\x50\xc9\x9b\xf4\x41\xb4\x47\x14\x92\xf9\xc2\x27\x13\x5f\xe8\x52\x23\xa8\xc6\x4d\x3a\x2e\xd7\xec\x11\x9f\x33\x80\x09\xc5\xee\xd6\x74\x4a\x7e\x17\x9c\xe4\x33\x7a\x77\x78\x20\xc0\x94\xd8\x3b\x98\x37\xba\xe9\x02\x4f\xa4\x1c\x0b\x38\x9c\xc9\x59\x29\x0a\xc9\x44\x53\x45\xf8\xae\x84\xdf\x2f\x80\xa4\x13\xd4\xcc\x37\x97\x69\x0f\xe0\x0c\x8d\x21\x77\x79\xca\x36\xc0\xea\xb4\x24\xa0\x13\x8d\x38\x45\x30\xea\x54\x61\xde\x8c\xfb\x7c\x40\x08\xc6\xff\x0d\x67\xfa\xea\xd7\x0f\xf1\x2e\x3b\x6d\xc9\x1d\x07\xb4\xef\x39\xe0\x39\xc1\x73\xdd\x48\x72\x4c\x1e\x37\x26\xaa\xa4\x07\x92\x91\x8e\x33\x1b\x42\x73\x04\xe0\x8e\x7c\x5b\x6f\x10\x01\x26\x12\x6f\x75\xda\x53\x67\xf7\xd5\xad\x18\xae\x2b\x7b\xa1\x41\x45\xbf\xdf\xe5\x6b\x5a\xe2\x09\xa4\x22\x4e\xe2\x8a\x64\xea\x19\x35\x83\xa2\x3a\x9a\x98\x49\x56\xb5\xa2\xda\x8a\x95\x3e\xab\x46\xed\x62\xac\x4b\x85\xc7\xce\xa8\x66\x29\x2a\x63\x96\xa6\x47\x35\x3c\xf3\xcc\x43\xa0\x98\x00\x9f\x95\x2e\x67\xf4\x15\x5d\x04\xa8\xeb\xaf\x6b\x96\x92\x0a\x19\xb6\xa5\x81\x17\x20\x41\x30\xe3\xbe\x2d\xbe\xd3\xd9\xa3\x16\xa6\xa9\x76\x7f\x04\x86\x54\x20\xb8\x05\x06\x0f\x64\x34\x4b\x28\xa8\x16\xc5\x59\x71\x60\xb2\xaa\x9b\x28\x75\xdd\xe5\x7b\x2c\xbd\x3a\x30\x2a\x24\x7c\x32\xec\x0e\x83\x9a\x8b\x2f\x04\x49\xba\xcb\x2c\x93\x60\x45\xbc\x86\xe8\xd8\x14\xf1\x78\x50\x1b\xae\xb3\x23\x71\x84\xb0\xaf\xcf\xcc\x60\x00\x9b\xe0\x2f\xeb\x3a\xea\x80\xc8\xd2\xd3\xd6\x27\x3b\x8d\xd9\x89\x56\x06\x87\x11\x44\x29\xcb\xb4\x0c\xce\x0b\x72\xc9\xfc\xe3\x8f\xf6\x38\x39\xbe\x77\xa2\x7d\x5b\x01\xfa\x86\x46\xac\x88\xcb\x08\xeb\xa2\xf9\xde\x9c\x17\xce\xb7\x0e\x9c\xbe\xa1\x1d\x2b\xe5\xd2\xc2\x9a\x68\x9e\x4b\x48\xde\x5c\xe0\xc7\x9a\x55\x8a\x8e\x1d\xa8\xe4\xac\x82\x4a\xc0\x56\x24\x70\x55\x6a\x99\x7c\x63\x30\xcb\xee\xdc\x7b\xaf\xde\xc7\x4c\xf3\xeb\x41\xab\xda\x3f\xe8\x56\xe6\x3d\xa7\x34\x8d\xf2\xef\x53\xba\x19\xc5\xb4\x74\x60\xf5\xc5\xc6\x64\x99\xff\x89\x6f\xfc\xd9\x64\xa5\x62\x06\x55\x50\x06\x94\x17\xcc\x02\xf0\x4a\xa5\x78\x13\xd1\x67\xa4\xae\x4a\x52\xf8\x72\x9d\x4f\x85\xb9\xcf\x73\x09\xf3\x1d\xc6\xc1\x91\xa1\xda\x18\x34\x4d\x77\x98\xa9\xdc\x1e\x0d\x0f\xe8\x22\x22\xf6\x34\x14\x32\xf7\xe1\xe8\xe0\x60\x4d\xc4\x1a\xf1\x44\xba\x2f\x4e\x21\x89\xd5\x76\x82\x33\xd5\xb9\xb7\xf2\x81\xe1\x2e\x8c\x15\x66\x2b\x93\x40\x78\x4f\x97\x56\xc8\x71\xea\x9b\x6a\x5e\xd7\x43\xdf\xaa\xa9\x4b\x6d\xae\xf7\x9f\x11\x2c\xe2\xb1\x38\x48\x04\x39\x8c\x5a\xa8\xac\x3c\x26\xb8\x6f\xb6\x85\x1f\x28\xd1\x40\xff\xb0\x6b\xa9\xf1\x1e\xdf\xd6\x4d\x35\x9b\xf3\x1f\x8d\xa1\x5d\xb1\x4d\x85\xb8\x55\x32\x0c\x3d\x10\x76\x70\x42\x36\x44\x58\x6a\x60\xa9\x72\xaa\xf2\x3c\xf5\x77\x95\xc6\x31\xe6\x99\x59\xd0\x3a\xd5\x20\xe7\x6f\x91\x3c\xbf\x00\x39\xa2\x3b\x8c\x01\x9d\xf8\x8e\x46\xc0\xd5\xfa\x93\x24\x1c\x3b\x32\xd6\x9c\xd7\x6a\xb4\xb1\x10\xfa\xde\xba\xec\x78\x2c\x16\x12\xcb\x1a\xca\x81\x9d\x43\x04\xc5\x52\xc4\x89\x74\x18\x16\xb8\xb0\x12\x24\x83\x1c\x56\x4a\x66\x1e\xc1\x66\x88\xc5\x39\xc7\x29\x00\xaf\x61\x99\x39\x50\x89\xab\x26\xe0\xf8\xd1\xc5\x36\x4f\x6f\xbe\xd6\x03\x17\x6c\xa9\x3c\x9d\xd4\xf3\xe2\x02\x19\xf2\x19\xef\x64\x73\x3d\x23\x01\x33\xc5\x73\x16\x8f\xb5\x50\x2d\xd0\x62\x44\xa0\xd4\xfc\x22\x8d\x0f\xec\x5b\x3a\xb0\x77\xc9\xba\x5e\x6a\xf9\x89\xd3\x81\xbb\xd0\x51\x65\x6a\x60\x8c\x8b\x97\x54\x71\x92\x05\x3d\xa2\xfa\xb1\x94\x48\x26\xa3\x6f\x8f\x1b\xa1\x1b\x6b\xc4\x89\x4c\x44\xde\x57\xa1\x4f\xfb\x86\xc2\xf9\x94\xeb\xca\x2a\x4a\x33\x73\x5b\x19\xce\x36\x9d\x6a\x31\xf0\x40\xd9\xd8\x6e\x72\x3c\xae\xce\xbe\xdb\x87\x86\x23\x89\xcd\xd2\x40\x09\x88\x30\xbf\x9b\x63\x06\x09\xa2\x9d\x1f\x05\x99\x3f\xef\xb5\x9d\x3c\x32\x8a\x44\xd5\xd3\xa6\x09\xbf\xe8\x7d\xaf\xb0\x54\x73\xcd\xd9\x53\xce\xfd\xd0\x22\xe2\x0b\x52\xcd\x0a\xae\x95\xa4\x2e\x7d\xdf\x6f\x5a\xde\xcd\x18\xe3\x87\xf9\x46\x6f\x2a\x98\x95\xa7\xdd\x97\x87\xb6\xff\xb7\x96\xb5\x3a\xdd\xf4\xd6\x1b\xc1\x93\xbc\xc1\x37\xc9\xed\xf7\x48\xc2\xf2\xe4\x8d\x9a\x0e\xa5\x78\xa1\xb4\x5d\xc5\xdb\xc7\x61\x19\x36\x1e\x76\x35\xed\x12\x52\xfd\xa0\xcc\xbe\x65\x31\x87\xed\x24\x58\x4c\x85\x9b\xba\xc3\x0a\x4a\x89\x61\x61\x9a\x11\x13\xdd\x86\x2c\xc6\xf3\xec\x84\x90\xcc\x1a\x22\x33\x2d\xcf\x47\xe4\x21\x1c\xcb\xa5\x38\xb3\xb7\xf2\x38\x0a\x7c\xe0\x54\x3a\x53\xde\x50\x93\x8c\x02\x1f\xb8\xb6\xf5\xf1\x70\x1c\x4d\x52\xae\x59\xde\x62\xf4\xe6\xa5\x7b\xef\x2b\xbb\x4f\xfd\x65\xdb\x9b\x32\xf6\xf2\xd7\x67\x05\xa7\xa9\xd3\x75\xae\xe7\xf7\x56\x3d\xfa\x55\x3e\x2d\xc5\x01\x6b\x62\x36\x55\x9f\x12\x92\x92\xd0\xa9\x70\x5a\xe2\x4d\xbd\xd0\x4f\xa8\x60\xff\xb2\xdc\x24\x57\xe8\x44\xc1\x79\x1b\x8e\x11\xb9\xf1\x41\xdf\xbb\xa3\x5b\xc0\x34\x05\x8d\xfc\x61\x91\xfc\x4a\x7f\x3f\xae\x66\x44\x3f\x3d\x97\xef\x91\x89\x64\xb0\xaf\x28\x4b\x44\xe4\xb4\xb1\x3a\xe2\x9c\x44\x1e\x93\x2f\x5b\xe5\x23\xa2\x7f\xf5\x24\x41\x0c\xc5\xfb\x23\x4b\x48\x2e\x11\x3a\x95\x9e\x78\x3f\x25\xe6\xdb\x56\xf4\x72\xb7\x15\x40\x01\x5b\x42\x24\xcc\x7d\x9e\x63\xf1\x6f\x18\xe1\x93\xdb\x53\x36\x60\x4c\x50\x66\x4d\x26\xc9\x94\x80\x9b\x41\x3c\x3a\x8a\x07\xae\x76\x90\x9e\xc3\x9a\x0a\x51\xd2\x7e\x50\xdf\x1b\x10\x77\xa1\x92\xef\x5b\xeb\xed\x2b\x08\xf7\x9e\x14\xad\x91\x86\x8f\xfb\x01\x60\x2b\x6a\xa3\x20\x56\xdf\xc7\x2b\x8f\x9e\x52\x2a\xe3\x01\xb6\xb5\x75\xa3\x6c\x7f\x21\x14\x0e\xa3\xfe\xea\x7c\xfe\x2b\x27\xaf\x4b\x59\xfe\x36\x9b\x36\xb6\xcd\x5f\x06\xeb\x96\x75\x64\xd2\x7d\x5f\x03\x87\xac\xdc\x5b\xff\x79\x75\xdb\x98\x95\x6a\x8e\xa5\x00\xb0\xbb\x6f\x24\xc6\xe3\x59\x3d\xa0\x79\x6a\x52\x9c\x11\x69\x29\x8b\x16\x99\x06\x62\x90\xd4\x8b\x4c\x61\x44\x28\xbd\x58\xfd\x55\xca\x77\x49\x08\xab\xda\xbb\x5a\x80\x16\x24\xf4\x37\x02\xda\xbb\xee\x39\x1a\xb9\xfa\x26\x7f\x99\xd6\x34\x5a\xc3\xdd\xd6\x27\x8c\x93\x44\x46\x9f\xf5\xdd\x10\x5b\x4e\x5d\xc5\x7e\xe6\x64\x18\x44\x3f\x56\xf0\xf6\x17\x51\x95\x57\xa1\xcd\xcd\xb2\x81\x7d\x76\x53\x3e\xc1\x4e\x0e\x03\x6d\xf7\xc9\xc3\x2b\x03\x53\xde\x71\xf0\xb8\x0e\x48\xb0\xff\x61\xff\xfa\xca\x55\x21\xf7\xce\x92\xaf\xe6\x86\x1a\x17\x89\xda\x57\x62\x5f\x2b\xa5\xab\x8d\x99\xe8\x55\xf4\xfe\x4f\x5d\x8a\x5e\x1b\xbf\xec\x08\xfc\x6c\x35\x07\x39\x09\x40\xc5\xe4\x31\xe6\x27\x7f\xeb\xe0\xd9\x41\x9f\x5e\xfe\x83\x6d\xec\xaa\x12\xfd\xc9\x11\xb2\x6f\xb1\x12\x3a\x9b\xc1\x39\xb8\xd7\xa3\xa3\x73\x19\x0e\x9b\x2d\x13\xdd\x00\x4e\x3a\x1a\xbb\x11\x98\x80\x74\x44\x01\x2d\xc6\x7a\x6b\x53\xb7\xea\x6a\xb5\x61\x34\xed\x9f\x72\x63\xb4\x7f\x7a\x0f\x46\xfb\xdb\xbb\x20\xde\xbf\xe1\x84\x78\xff\xda\x76\x88\xf7\x37\x5b\x00\xbc\xc3\xa4\x43\x38\x96\x23\x37\xb6\x70\x35\xdf\x2b\xb3\x86\xb3\x20\x1c\xe2\x7e\x1d\x2a\x85\x62\x4a\x4a\x59\xdc\x7a\xd6\xb3\x77\x2b\xfc\xb5\xcd\xd9\x02\xef\x10\x2d\xc8\xea\x70\x99\x2f\x4c\xcc\x4c\x5b\x63\x67\xd8\xf7\xd1\xcd\x6e\xf4\x6c\x63\xb8\x93\x61\xff\x50\x89\x86\xd4\xcb\x48\xab\x46\xe7\xbf\x02\xbb\xbe\x9b\x24\x7d\xd2\x39\x60\x7f\xa3\xa1\xcb\xd6\x18\xb0\x91\x5c\x0a\x82\xf4\x0f\x38\x33\xe6\x12\x59\x6d\xf0\x31\x62\x3e\xbf\x7e\xc6\xbd\x4a\xae\xf9\xd8\x82\xaf\xcf\x8f\xc9\xfc\x79\x42\x73\x3d\x22\x92\x86\xe8\xcc\xc3\x66\xed\x28\x7a\x4b\x89\x05\x1c\xf7\x4d\x7f\xc5\x22\x8d\x1a\x08\x48\x60\xe5\xc6\x77\x08\xb5\x63\xbd\x45\x64\x85\xea\x3a\x62\x38\xae\x36\x28\x02\x39\xb0\x18\x89\x3c\xef\x10\xc9\x63\xff\x6c\x8d\xdd\x98\x1e\x2f\x85\xbd\x16\xfc\x10\x6b\x9d\x9b\x67\xea\x0c\x47\xa4\xb4\xbd\x8c\x01\x91\xb0\xc9\xda\xe0\x5e\x02\x45\x53\x45\x29\x35\xd6\x47\xeb\x5f\x5e\xbd\x8f\x6b\xdf\x87\x0b\xf2\x76\x89\xbf\xd5\xcc\x9a\xd3\x11\x7d\x54\x33\xff\x3b\x36\xf1\x0c\x20\x57\x76\x15\x54\x43\x50\x5f\xa0\xf6\xd0\x6b\xf3\xc2\xea\x8c\x2e\x5f\x65\xbc\xe0\xd1\x94\x4e\x4a\xd3\x4c\x00\x7b\x54\xc9\x21\xb3\x8a\x36\x93\x6a\x3e\x68\xf8\x9c\x30\xdd\x0c\xba\x23\xe7\x86\xdd\xd9\x5b\xaf\xea\xe3\x97\x9a\xa9\xc0\x86\xcc\x4b\xc3\x01\xb1\x7a\x93\x2c\xfe\x21\xda\x13\x33\x88\xa6\xd2\x32\x98\xe7\x06\x81\xb6\x3a\x36\x64\x3e\x1d\xa5\x05\x68\x69\x6d\x45\xd6\x5c\xcc\x3d\xf0\x48\x0c\xba\xd4\x1c\x5a\x2b\x7b\x36\x9c\xac\x40\x57\xca\xca\xaf\x26\x11\x6c\x43\x27\x12\xc2\x2c\x92\x10\x11\xd0\x72\x58\x20\x14\x12\x07\x21\x15\x1a\x38\x9f\x28\x5c\xe3\xcc\xad\x32\x98\x2d\xc1\x50\x38\x0e\x68\xe8\xef\x40\x0e\x92\x14\x43\x34\x0b\x9a\x8d\x3c\x7e\xb3\xa1\x06\xd9\xee\x5a\x37\x6a\x25\x29\x0c\x65\xfe\xb4\xc5\xeb\x65\x46\xcb\xfc\x70\x5a\xea\x27\x31\x35\xb1\x0b\xd3\x5e\x36\x1a\x42\x83\xcd\x05\xc8\x33\xb8\x6e\x63\x99\x6f\x23\x14\x7e\xba\x88\xc2\xc2\xb2\x71\x98\xaf\x52\xdb\x40\x21\xd5\xa1\xf7\xd0\x20\x7a\xc3\x5e\xdd\x4b\x73\x5d\x54\xde\x40\x83\x54\x4e\xb3\x54\x20\x85\x2c\x53\x2a\x40\x01\x37\xd0\x13\xd9\x17\x43\xbe\xaf\x89\xc4\xab\xdb\xc9\x85\x98\x0f\xf6\x93\x92\x4c\x0e\x9d\xa8\x69\x51\x86\x4e\x95\x1c\x2c\x84\xc4\x09\x23\x3a\xe5\xce\x52\xd1\xaa\xbb\x88\xa5\x6a\xf8\x92\x17\x17\x39\x97\x05\x15\xe2\x31\x80\x2d\x82\x59\x99\x97\x50\xc7\x4e\xc2\xbf\x00\x8a\x5c\x26\xb9\x79\x4c\x38\xaf\xd3\xb9\xcd\xf7\x89\x26\x30\xcb\x63\x92\xc1\x76\x08\x14\xf0\xc6\x89\x5c\x8e\xc0\x8a\xa1\xf2\x4a\xb5\x41\xca\xcd\x3b\xa4\xf2\x51\x3b\x1c\x95\x5d\x85\x89\xfd\x49\xb4\x4d\x38\x09\xd9\x73\xaf\x02\xaa\xd8\x14\x4d\x66\xf4\x3f\xd4\xb0\x07\x1c\xa1\x49\x12\x18\x9a\xb2\x72\x1b\xbb\x72\x21\xd2\x4b\x86\x39\xd1\x8f\x38\x70\xd9\x7d\x51\xbf\xec\xbd\x8d\x8b\xe7\x67\xfb\x2d\x84\x2a\x0f\x73\x6d\xb5\x7e\xc5\x58\x06\xd7\x50\x1a\x30\x64\xf8\x4d\x5e\x08\xb5\xf0\x3f\x44\xc5\x18\x64\x49\x82\x6d\x3c\x86\xa8\x70\x3b\xa1\x7f\x06\x79\x8e\x06\x2c\x22\xdb\xa6\xa6\x36\xad\xe4\x76\xca\x70\x07\x54\x5c\x5e\xca\x6e\xf4\xdb\xf7\xbe\x7f\x05\x33\x6d\xa4\x3e\x38\xa4\x65\x43\xae\xf1\xdc\x4e\x7d\x10\xad\xcd\xea\xed\x63\xc3\xa0\xe6\xd9\xad\x24\x73\x37\xdb\xbc\x13\xfa\x9c\x23\xd5\xb5\x3c\x53\x46\x2d\x41\xba\xa7\xa0\x14\xe4\x86\xf9\x7a\xac\xd2\xe2\x89\xb1\x13\xcf\x0a\x80\x42\x81\x09\x2a\x7b\xb8\x06\x36\x63\x67\x1d\x89\x87\xb1\x54\x7a\xad\x47\x07\x58\x1f\x32\x2b\x93\x82\xcd\xf6\xd9\x19\xff\x61\x07\xb6\x9c\x30\x9b\x01\x1b\x86\xa4\xff\x07\x3b\xe6\x1c\x20\x9d\x45\x45\x61\x47\x98\x64\xf1\xce\x98\x00\x06\xd7\xbf\xc0\x5b\xef\xaa\x4d\x00\xbc\xab\x06\xe1\x0a\xae\x69\xf0\x1b\x9e\xd3\x0f\x67\xf4\xd2\x3a\x42\x88\x5b\xc4\x09\x55\xfa\xb9\xad\x12\x33\xbd\x19\x4a\x39\xdd\x0d\x30\x08\xca\x0f\x9a\x49\x06\xbe\x32\x27\x09\x6f\xab\xfd\x93\xd0\x16\x12\x5c\x65\xa0\x25\x34\x5e\x35\x7d\xa3\x86\xb6\x1e\x02\xe6\x35\x82\xd4\x0b\x1d\xfd\x20\xd2\x30\x3d\x07\xf3\x13\x0d\x9e\xc1\x4a\xc7\x7d\x6d\x7f\x1f\xe4\x13\x79\xb0\x12\x26\xa9\xa8\xa9\xcf\x22\x91\xfe\x2e\x63\xd6\x82\x09\x56\xbb\xf1\x7d\x65\xe7\x4a\xdf\xda\xeb\x3a\x34\x32\x71\x60\x47\xcc\x4f\xf4\xa6\x9b\x2d\x13\x14\x95\xf2\x9c\xaf\xc1\xe3\x2d\x42\x94\x8b\xee\x99\x4a\x97\x46\xb8\xe9\x59\xc3\xdb\xbe\xa2\x33\x7c\xff\xc5\x7c\x29\xc9\xe4\x0e\x8a\xe0\xf3\x06\xac\xba\xea\xf6\x49\x47\xee\xcc\xc1\x61\xbe\xe9\x0f\x9e\xa2\x08\x2b\xef\x2a\xbd\xef\x74\x74\x50\x11\x62\xef\xf6\x82\xef\x41\xdd\x1d\x18\x44\x6f\x3f\x04\x43\x10\x8e\xa1\x67\xb4\x74\xf3\xb4\xf5\xd0\x3b\xf2\xb8\xc4\x49\xcb\x5d\x47\x1d\x85\x98\x32\x52\x45\x3c\x5e\x95\x6d\x4b\x33\x94\xac\xf7\x14\xa7\x2b\xe1\x13\xac\x3b\xdf\x0d\x9a\x5b\x8b\xaa\x16\xcb\x33\xcb\xda\xf9\x8f\x19\x5b\x31\xb0\xbc\xc1\xbd\x79\x84\x76\xb8\x85\x8f\x0a\x17\x23\x7f\x0f\xaa\xdc\x70\xdf\x3c\x6a\xd4\x69\x43\xd3\x61\x66\xe6\x7e\x5c\xe7\x1b\x47\xa4\x03\x43\xa5\x34\x1b\xee\xc2\xde\x64\x75\x62\x74\x20\x42\xa0\x4b\x97\xc2\xf5\xd0\xb1\x51\x6d\xbd\x13\x3d\xce\x61\x9b\xa6\x9b\x54\x71\x3c\xad\xf6\x5e\x7a\xe7\xd8\xa1\xf1\xaf\x28\xcb\xde\xb9\x96\x47\x7e\x51\xdb\xbc\x5a\x6f\x4f\x18\xf8\xd6\x63\xe7\x86\xe0\x94\x0f\x72\x3e\x52\xa5\x7b\x62\xba\xb9\x34\xa6\xf7\xcb\x76\x4d\x9d\x71\x84\xb3\x11\x83\x6c\x29\x3c\x8b\x56\x94\x7b\xc4\x9b\xe6\x99\x90\xb1\x32\x50\x99\x00\xfa\x54\x19\x80\x27\x1d\x44\xd8\x0c\x0a\x56\x74\xbb\x02\x90\xbc\xce\xf2\x15\x9d\x87\x6f\x50\xad\x61\x55\x92\xc9\xe3\x36\x60\x88\xa0\x01\xff\x22\xc2\x81\x81\x51\x65\xef\x5d\x6b\x04\x61\x2d\xdf\x5e\x3c\x78\x6a\x9f\x3c\xe4\x47\x2e\xdb\xd9\xd5\x7e\xad\xa5\xb6\xd7\xeb\xc5\xe9\xf4\x35\xdb\xb9\xbd\xdb\xaf\x5d\xd3\x56\xfa\x1d\xbe\x60\x38\xcf\xa6\xbe\x8e\x11\x97\xf8\x25\xb9\xbd\xbb\x72\xd7\x1e\x79\xa3\x76\xd1\xf4\x0e\x02\x18\x02\x9b\xf3\x92\x9c\x3b\xe3\xdb\x70\x63\xff\x19\xf7\x85\xea\xb5\x1c\xfd\xe8\x9b\xfc\xca\xd3\xdd\x60\x00\x9b\xd9\x98\xbd\x75\xd2\x99\xc1\xed\x16\x39\x71\xb9\xef\x71\x10\x9b\x45\xa9\xc4\x7f\xa9\x19\xd2\xb9\xe6\xcd\xec\x42\xc5\x19\xd2\xe7\x15\x14\xa7\x07\xdb\x36\xd8\xc7\x91\x03\x61\xb7\x65\xdc\xc1\xb6\x45\xf5\xd8\xab\x4f\xe2\x59\x94\xfa\xad\xc7\x91\x23\x3a\x79\xeb\x12\x70\x1c\x02\x80\x10\xc6\xe9\x2f\x21\x2f\x1c\xa5\xbf\x35\x73\x91\xa7\x96\x55\x27\x21\x20\xe0\x7f\xeb\x22\x7c\x87\x8d\xa5\x42\xe3\xa1\xaa\xa8\x0a\xe3\x0f\x74\x5c\x1b\x8f\x54\x23\x19\xe2\xf3\xd2\xd2\x9d\x4d\x8e\x24\x2b\x32\x6e\x5f\xc5\xe4\xde\x20\x91\xba\xbe\x62\xd3\xda\x1c\x1c\xe2\x5e\xa7\x26\xf5\xb1\x90\x92\xaa\x99\x8f\xc8\x65\x17\xc3\xe9\x14\x69\x99\x1b\xa6\x63\xe0\x49\xea\x3d\x15\x15\x84\xfa\x05\x75\x25\x45\x16\xa6\xa3\x8c\xc8\xad\xf3\xd6\x93\x1f\x0a\xcd\xca\xd3\x66\x6a\xb0\x61\xd8\xb8\xd6\x90\xa0\x93\xce\xcd\x45\xc0\xd3\x9d\xe0\x13\xe2\xab\x5f\xd1\x65\x02\xf6\x9c\xe0\x28\x72\x7d\xf2\x9e\x6d\x6f\x39\x19\xba\xfb\x55\x50\x36\x7a\x48\x24\x67\xb0\x34\x04\xf1\xd9\xba\x36\xa9\x50\xf3\xf7\x40\x40\xe2\x58\x0d\x28\x31\xcd\xce\x98\xcd\x00\x7f\xe1\x78\x5f\x09\x4a\x79\xbd\x7b\x95\x33\xda\xe6\x13\x03\xad\x27\x2c\xbe\x83\xf1\xe3\x4d\xeb\x31\x6e\x9b\xd8\x15\x85\x3e\x76\xf0\x4f\xea\xf4\x86\xd5\xb3\x86\xfd\xf8\xc4\x6a\xfe\xdf\x12\x98\xd6\xb0\x72\xcd\x31\xe3\x66\x34\x63\x73\xba\x5f\x25\x76\x25\x6c\x93\xe3\x4b\xdf\x5a\x4e\x69\x92\x2b\x56\xf8\xee\x33\xdf\x27\xb7\xa4\xc4\xd4\xe0\x7e\xe7\x94\xeb\x4e\x9b\x4d\xe0\x47\x40\x48\xef\xe4\x1d\x42\xee\x62\x2b\xd3\xfd\xca\xee\xa7\x76\xdd\x56\x46\x71\x40\x18\x9b\xdd\xb1\x75\x4b\x5a\x9d\x68\xaa\x70\x40\xec\xed\x45\x30\xf7\xf8\x81\xbf\xe4\x75\x61\x81\x97\xce\xf2\x53\x58\x64\x84\xee\x85\x55\xb8\x93\x98\x4b\x7d\xd4\xaf\xd2\x38\x47\x81\x58\xc7\x4b\x02\x19\x69\x49\x04\xac\x82\xed\xa3\x25\x9a\x0b\xc7\xfb\x83\x00\x07\x19\x75\x52\x29\xb1\x45\x9e\xe0\x92\x49\x2d\xa8\xda\x96\x38\x9c\xc6\x7c\x0e\x31\x07\xd6\x12\xcb\x47\x12\x80\xce\x9e\xe0\xe6\x66\x36\xeb\xc8\x80\xee\x3d\x21\x16\x4b\xc0\x46\x36\x92\x51\x66\x1e\x5b\x58\xb1\x15\xd2\xda\x7e\xc0\x10\xf4\x97\x5f\x8f\xe0\x6a\xa2\x5c\x5e\xea\xcd\x8b\x5e\x14\x6b\x85\x94\x9a\x9d\x60\x93\x88\xfe\xf9\x44\xf8\xb5\x73\xf5\x05\x05\x06\x47\x5d\x7e\x96\xe3\xa4\x9b\x79\x13\x07\x6f\x10\x02\x01\x8a\x7d\x8e\x7f\xd1\x3b\x2b\x69\x25\x8b\x08\x1a\x4e\x7d\x87\x51\xbc\x9c\x30\xbf\xe5\xfe\xd4\xa5\xed\x55\xbf\xc9\x75\x29\x4d\xb6\xdd\x5b\xc6\x5a\x60\x22\x9f\x37\x0d\xb9\xe2\x1a\x0e\x3f\x2f\x5b\x43\xe4\x7b\xcc\x6c\xf1\x82\x29\xf2\x24\x18\x4d\x72\x89\xf5\xc0\x9a\x7c\x5e\xba\x04\x91\x09\x61\x99\xbb\xe2\xb7\x10\x03\xfe\xa7\x3a\x88\xa0\xcd\x22\xe9\xd6\x8a\x9d\xdb\x61\x09\xc2\x6c\x02\xf2\x3e\x1b\xde\x68\x00\xc7\xe1\x79\xa2\x7f\x80\x14\x61\xd1\xce\x7b\x9e\x32\x3e\xaf\xfe\x43\x50\xae\x89\x90\xb0\x4c\xc5\x0f\x10\x20\x9a\x6a\x3f\xd1\x6e\x08\x74\x67\xe5\x9e\xd8\xd3\x5d\x03\xa6\x16\xe1\x53\x88\xb8\xf8\xf8\x7b\xe1\xb5\x55\xd3\x87\x05\x91\x28\x27\xb3\xb5\x62\xe7\xa3\x27\x66\x8f\xe6\x67\x30\xd3\x83\xdd\xea\x18\x95\xc4\x4c\x50\x41\xa5\x4d\x74\x64\x15\x07\xcc\x29\xe3\xb3\x32\xc3\xba\xe3\x59\x21\xd6\x76\x00\x8e\x26\x60\x6f\x85\xaf\xfe\x32\x12\x50\x5b\x0b\x1b\x9d\x61\xde\x94\x84\xbb\x35\xfb\xc0\x0c\x53\x87\x7c\x23\x2b\x80\xb2\x01\x37\x4a\x05\xa4\x8a\x0a\x23\x1b\xc8\xb8\xcc\x5f\xab\xd5\x64\x55\xa9\xa4\x36\x23\x56\x19\x44\xae\x86\xc0\x9b\x42\x22\x4b\x83\xf7\xd6\x7c\xa2\x1a\xb8\xc0\xc1\x19\x16\x80\x29\x02\x6f\x90\xd0\x10\xaa\x74\x6b\xfd\x6c\x03\x9a\xe6\xc8\x2c\xae\x14\xfb\x6c\x11\xe8\xa1\xeb\x0f\xf3\x55\x1f\xec\x29\xdd\xb9\x65\x98\x35\x81\x3c\x41\xba\x08\xb0\x1e\x5c\x30\x9c\xeb\x9e\x5f\xec\x37\xd8\xd9\xf6\xed\x5e\x7e\x7b\xd8\x24\x0d\x71\x52\x82\xce\xb0\x66\x93\x13\x01\xfb\xeb\x50\x0a\x10\x61\x1a\x21\x66\x97\xb4\xf9\x16\x58\x55\x83\xb2\xb3\x68\x58\x1b\xf2\xa2\x6c\xdb\xbd\x5e\xc1\xf1\x3a\x28\x9f\x03\x6d\xa0\x3f\x92\xc5\x40\x3d\x62\x68\x67\x99\xdd\x4f\xcd\x96\x7b\x2d\x93\x69\xd0\x3a\x92\x27\xb4\x41\x15\x8b\x38\x3f\x67\xc2\xf0\x7a\x48\x46\x7a\x30\x11\x10\xf7\x5b\x0f\x44\x23\xe3\x90\x41\x8c\x19\x2e\xf6\xe0\xba\x25\x27\xb6\x80\x77\xad\x3d\x32\x0f\x33\x1a\xa4\xc9\xb8\xb7\x9d\x5a\x27\xf2\xa1\x48\x78\x86\x93\xaa\xbb\xee\x9b\x26\x07\x49\x9d\x92\x34\xd0\x31\x49\xef\x9d\x4a\x69\xa4\xad\xbf\x9b\x65\xe8\x7a\x94\xda\x1b\xcc\xd3\xcd\x8f\x97\xfd\x6f\xe2\xd9\xb4\x9b\x8f\x7b\x83\xa9\x81\xfe\xb0\x69\xe7\xc3\x9f\x38\x1d\x09\x30\x5b\xcb\x4b\xb8\x2f\xee\x03\x1f\x6e\x2a\xed\xa8\x61\x35\xf3\x11\xd2\xed\xe1\xb0\x89\x10\xea\x2c\x63\x02\x90\x98\xac\xe8\xfb\x98\x18\xb1\x12\xd7\x2b\x9a\xd5\x41\xbe\xb7\x07\x42\x44\x72\x6c\x44\x6f\xb8\x9f\x11\xf1\x22\x24\x1f\x54\x68\xda\x54\x17\xb5\x99\x8a\xa2\x39\xe6\xae\x24\xc6\xe5\xb2\xa3\xe9\xfe\x27\xf7\xf2\xf6\xbc\xf8\xe1\x10\x30\x56\x88\x27\x7c\xe3\x22\xcf\x05\x92\x98\xe2\xeb\x80\xf4\xa1\x1c\x0a\xc0\x91\xd7\x53\x96\x41\x0f\x4a\x21\x94\xd5\x8f\xdf\x91\xd2\x36\xc6\x46\x36\x52\x5c\x8a\x36\x14\x5c\xbf\xbb\x39\xb4\x08\x17\x2d\xf8\x5f\x3d\xa6\xc1\x51\xb3\x22\x39\x49\x57\x2e\x5c\x2e\x0e\x7a\x6d\x6b\x7a\xcb\x46\xcd\xb5\x55\xf4\x78\x0f\x3c\x39\xdf\xd0\xc9\x91\xaa\x24\xc6\x37\x69\xfc\x46\x53\xe9\xef\xcf\xe1\xfe\xca\xa7\x62\xdf\x82\x40\xfe\xdb\xa8\xea\x94\x7d\xfa\xcf\x75\xe5\x01\xf4\x6f\xf6\xa1\xfe\xcf\xbe\xbc\x11\xde\xd1\xaa\x0f\x07\x10\x6a\xbd\x34\x3d\xa4\xee\xfe\xba\xe3\xa5\x6f\x65\x55\x4b\x0b\xe6\x78\x64\xe9\x57\x98\xeb\xbb\xb8\x31\x6e\x44\xa5\x58\xcd\xf5\x98\xe5\x79\x96\x22\x8d\xae\xe9\x35\xe5\x80\x98\xc0\xca\x82\x82\xd7\x14\x95\xd5\x4b\x01\x95\xec\x17\xd1\xfb\xa4\xbf\x14\x2d\xa4\x6f\x37\x42\x22\xb4\xe0\x12\xc4\x9b\x29\x1e\x98\xa5\x75\x57\x0c\xe2\xd1\x1f\x45\xc1\x68\x39\xac\x10\x01\xc0\x62\x29\x1a\x50\xe4\x25\x2e\x96\x24\x84\x47\x9c\xc1\x28\x40\x28\x16\x91\x11\xf1\x75\xa3\xd6\x52\x8d\x1b\xec\x66\x4c\x54\x20\x06\xcf\xaa\x1b\x4a\x36\x0d\xe9\xce\xea\x29\x0f\x48\x2a\x79\xd3\xdf\xf1\x0b\xe8\x9f\x3d\xce\xd2\xcc\x51\x0b\x2f\xab\xdd\xd2\xd8\x75\x49\x2e\xbd\x08\xba\x3c\x8f\xdb\xef\x90\xc1\x18\x2c\x96\xb0\x72\x23\x82\x79\x04\x7c\xbe\x03\x06\x6c\xc9\x3c\x60\xfa\xc6\x51\xf9\x07\xea\x3d\xc4\xfb\xd4\xf9\xeb\xa9\x46\x24\x1b\xe8\xab\xd2\x41\x92\x74\xe9\x98\x8d\x32\xda\xec\x94\x64\x36\x01\x63\xcc\xf3\x82\x57\xc7\xa5\xe4\x87\xa3\x34\x7e\xf6\x25\xef\x76\x1b\x62\x19\xfc\x61\xff\xd0\x95\x5f\x43\xd5\xae\xe3\x59\xde\x6c\x87\xcc\xa8\xce\x76\x1a\x71\xa4\x1a\x80\x73\x10\x24\x6d\x3a\xb0\x47\xdf\xf4\xe3\x5c\xbc\x57\x5b\xf6\xb3\xa9\xb3\x43\x09\x19\xe5\x6c\xf1\xf4\x7d\x0f\xd3\x52\xc5\x5e\x9f\x32\x4a\xa9\x49\x36\xde\x58\xfc\x6c\x39\xa1\xe8\xaf\x3d\xf1\xff\xfb\x83\x11\x8c\x60\x74\x07\xfd\xd3\x91\xef\x15\x2f\xf5\x17\x94\x19\x83\x50\xac\xd9\x6a\x65\x73\x22\x9c\xa9\x5f\xac\x0d\x4c\x19\x8d\xc4\x77\xa7\x6d\xab\xcb\x7e\xc0\xa6\x58\x14\xba\xe2\xcd\x4e\xfb\x16\x4d\xef\x31\x78\xbf\xd5\x16\x7f\xaa\xd9\x9b\x23\x02\xb8\xea\x4e\x6d\x7a\x53\x0f\xef\x8d\x25\x62\xb7\x96\x1f\x2c\xef\xf2\xe3\xa0\xc5\xbd\x9b\x7e\xb2\x42\x9d\xee\x09\x60\xff\x39\xef\xf5\x56\x75\x36\x55\xaa\x7d\xd6\xba\x47\xa6\x7f\x1d\x0c\xac\x75\xf1\x6e\x8b\x77\x4f\xbe\xb5\x03\xaf\x1c\xb0\xe7\x1c\x66\x73\x43\x97\x5c\x1c\x81\xb2\x08\xbd\x1c\xcf\xfe\xdb\xcf\x67\xfd\x1a\xb4\x13\x87\xb8\xfe\xb9\xb3\x56\x97\xeb\xce\xa6\xae\x8f\x40\x9b\xb6\xfd\xe2\xac\x3a\xaa\x5f\x60\x63\x2b\x7d\xf1\xfd\xfe\x4c\x95\x3c\xd1\x5b\xb4\x90\x23\x55\xab\xd6\x2a\x1f\x7c\xd0\xe6\xad\xba\x5b\x93\xdb\x5b\xe5\xa7\x99\xeb\xba\xd4\xa7\x6f\xb8\xca\xc9\xbc\x02\xb9\xbf\x5c\x3d\x47\x52\xf8\x4b\x2c\x21\x5b\x3c\x8b\xbe\x48\xe3\x3f\x8e\x85\x3b\x85\x39\xe1\xf8\xc6\x05\x81\x3a\x91\xd4\x49\xcd\xa3\x2b\xbe\xcc\x61\xfe\x98\xf9\x21\xbf\xb7\xed\x2a\x8f\xc8\x3f\x23\x92\x27\x47\xd0\x07\xe3\x3d\x9f\xed\xc4\x51\x36\x15\x9b\x2c\x1a\xe3\x67\xcb\x6d\x26\x3b\xb6\x87\x88\xd4\xf3\xd7\xce\xeb\xb9\xd9\x58\xe6\x95\x85\x30\xf2\xf5\xe1\x0a\xf9\xc0\x1f\x80\x93\x0e\x9d\xec\x0b\x8f\x3b\x71\x57\xa9\x71\xcd\x27\xab\x34\x8c\xae\x49\x0b\xf0\x0c\x43\xb5\x67\xed\xdc\xf1\xce\x83\x59\xad\x60\xc6\x13\x7e\x1d\x60\x36\x69\x78\x11\x30\x0e\x4f\x47\xba\x19\x67\x60\xce\xee\xde\x5b\x7e\x93\xe0\x3f\x4e\x43\xe0\x51\x40\xea\xf8\xc8\x84\x36\xe6\x90\x4e\xce\x81\x84\xaa\x9e\x41\x7d\x6a\xc0\x8e\x42\x61\xf3\xc1\x1c\x33\xed\xc5\xa5\x29\xea\x15\xc3\xcf\xcb\xb4\x3a\x71\xba\x49\xab\x00\xed\xaf\x9e\xc1\x1d\x67\x5a\xbe\x08\x32\xcf\x76\x1a\x6c\x66\x2c\xdf\x10\xd0\xa3\xa2\xce\x7f\x59\xbf\xf3\x87\xd1\xae\xec\xdd\x62\xd4\xa9\xea\x1c\xf9\x9e\x19\xd9\x58\x6f\xc3\x49\x12\xc4\x97\xcb\x9c\xdd\x58\xa8\x81\xa2\x0e\x5f\x27\x01\xc4\x12\xf2\xc3\x35\xf5\xc7\x15\x5d\x1a\x4a\x84\xb8\xfc\x32\x50\xd2\x08\x39\x32\xb0\xa8\x43\xcd\x89\xfa\xd4\xff\x0c\xfd\x40\xf1\x99\xa6\x43\xa5\xa0\x86\xf9\x9b\x18\x36\x14\x45\x9f\x65\xd1\x00\x42\x40\x8b\x0b\x06\xe8\xac\xdf\x41\x91\x39\x94\xdf\x87\xc3\x02\xe7\xe6\xc7\xb4\xe8\x79\x06\x5d\x00\xf5\x05\x48\xf1\x09\x07\x89\x03\x2d\x1c\xe0\x20\xdb\x62\xb6\xa8\x39\x0d\xd1\xf0\x4f\x1e\xf5\x19\x30\x0c\x75\x77\xa7\xac\x49\xe2\xc8\xf1\xa6\x02\x37\x4a\xa6\x78\x95\xc5\xab\x32\xaf\xf3\x5c\xca\x19\x56\x66\x3d\x6e\x56\x91\x56\x80\xab\xa4\xd0\x22\x23\x39\x93\xac\xd6\x76\x38\x78\x0a\xfb\xb6\x6d\x15\x0f\x14\x70\x41\x68\xf6\xd3\x13\xe8\x79\xe2\x91\x33\x82\xbb\x70\x51\x09\x0e\x25\xe4\xd0\x74\x5e\xaf\x91\xd8\x20\x7c\x83\xc2\x82\x5d\x9d\x59\x42\x38\x6a\x43\xd7\xac\x6e\xc4\x23\x07\x26\xcb\xc9\x87\x0b\xee\xfc\xbd\xf0\xca\xb4\x76\xac\xcb\x92\x50\xa1\x3e\x15\x96\x4f\x03\x7f\xa1\xa9\xa7\x04\x93\x93\xaf\x03\x89\x79\xb5\x55\x41\x74\x32\xd0\x5f\xb7\xe0\xfd\xee\xf1\xd1\xee\x03\x0b\xf2\x6e\x35\x33\x65\x2a\x83\x83\x31\xbb\x93\x93\x76\xf4\x15\xb0\xb4\xde\x28\x4b\x5f\x48\xb5\x76\x56\xcb\xca\x89\x33\x7d\x12\x07\x2c\xd5\xc6\x41\xb4\x43\xe0\x55\xc6\x8d\xd8\x82\x12\x94\x43\x75\x08\x99\xab\xc9\x74\x0e\xac\xf9\x69\xce\x2d\x5d\xb9\x60\xe6\x05\xce\xd6\xe9\xf9\x1b\xcc\x37\x84\x5d\x52\xe6\x0f\x0d\x21\x7a\x73\xb2\x4e\xfb\x96\x74\xa3\x04\x8a\x91\x26\xbe\xc5\xcc\x89\xcc\x84\x6b\x29\xbc\xce\x53\x4c\xa5\xcd\xf4\x9b\x0f\x84\xcc\xb9\xae\x79\x11\x37\x82\xaa\x24\xb4\xb0\xcf\xa5\x44\x4a\xae\x4e\x1f\xca\x64\xe5\xec\x22\x89\xd4\xf9\x7f\x39\x1c\xe9\x0a\xe6\x33\x31\x20\x49\xcd\x17\x97\x5a\x28\x5e\x28\x0d\x6c\x77\x36\x0d\x2f\xf5\x40\x8e\x59\x8a\x42\x8e\x5e\xde\xd8\xd9\x7d\xb0\x4f\x54\x7e\x39\x63\xbe\x63\xc2\xf2\x8e\x5d\xf9\x9a\x95\x7b\xe2\x29\xcb\xdd\x7d\xee\xb9\x44\x38\xed\x24\x13\x7b\x13\xfb\xf0\xde\x13\xc7\x79\x63\x96\x2c\x12\xca\xa4\x80\x7b\xf6\x74\x41\xba\x57\x33\x7a\x10\x48\x49\xba\xab\x6d\xc3\xf0\x44\xc6\x34\xdc\xa4\x55\x04\xfd\xda\x54\x33\x64\xa6\x0f\x49\xd2\x0e\x9d\xf3\x44\x92\x29\x0d\x12\x8c\xe0\x49\xdb\xac\x8d\x2e\x01\x64\xeb\x7e\xe9\x5b\x0c\x2d\xfb\x4b\x96\x5e\x32\x80\x5a\x63\x0c\x93\xda\x0a\xdd\x38\xfd\x83\x75\xbe\x2c\x59\xe9\xb4\x5e\x5c\xd9\x5f\xa6\xac\xd4\x81\xc1\x5f\xf8\x2b\xda\x17\x63\x4a\xa5\xda\x1c\x24\xa3\x5c\x32\x3a\x5a\x57\xe6\x0c\xd5\x62\xd4\x42\xa0\xed\x77\x3d\xd7\xda\x5b\x31\x27\x4e\x03\x9f\x59\x56\x7a\x34\x93\x1e\x3b\xb3\xfc\x28\x97\x66\x7a\x4e\xa7\xc4\x7f\xe0\x55\x81\xf3\x66\x28\x7f\x70\xd6\x99\xe0\x21\x78\xd7\x23\x83\x97\xe0\xb6\xcf\x4c\xa9\x3d\x23\x16\xc5\x8b\x54\xe5\x68\x6e\x05\xd3\x62\x8b\xe4\x61\xcb\xb3\x22\xd6\xc5\x2c\xcc\x54\xe2\x5c\x6f\xd4\x21\x82\xf0\x40\x40\x73\x4e\x25\xa6\xd6\x18\x7c\x0a\x95\xc7\xe7\x74\xe8\xe4\x58\x6a\xbb\x09\x6a\x1b\xb3\xd3\x09\xbf\x51\x6f\x35\xba\xfd\x8a\x9d\x1a\x98\xb9\xb3\xed\x6f\x8f\x65\x46\x03\x29\x19\x6f\x10\xf9\xf4\x81\x90\x20\xeb\x39\xcb\xb7\xcf\x3a\xe1\x68\x2a\x27\x63\x4a\xe5\xf5\xe5\xad\x8f\x98\xbc\x5b\xce\xd9\x7b\x12\xc8\x84\x06\x4e\x66\xa5\x6e\x7a\x99\x5d\x38\x46\x11\xbf\x2f\xea\xa7\x1b\x7c\x92\xba\x31\xca\x76\xed\x0c\xff\x67\x40\xd4\x4a\x3a\xb1\x59\xcc\xef\xd5\xb6\x4e\x75\xda\x3a\xa2\x64\xea\xe6\x68\x48\xac\xa2\xf0\xf6\x6f\x0a\xa1\xf8\xbf\xbb\x74\xbc\x4d\x90\xc6\x60\x84\x84\x52\xcc\x8d\xbf\x52\xf4\xf7\x69\xc1\x3a\x7c\x4e\xdb\x5f\x50\x22\xa0\xa2\xfd\x88\x42\x40\xb0\xb9\xb4\xc8\x20\x6d\x60\x61\x9e\xf5\x8b\xa2\x3a\x4d\xfd\x0b\x8b\xd0\x02\x12\x09\x63\x32\xcb\xc5\xa8\x3c\xc8\x15\xa6\xfd\xd8\x93\xb4\x96\x55\x08\x8f\x4f\x8d\x53\x02\x92\x5c\x9d\x81\x00\x25\x61\x5c\x41\x05\xba\x70\xe7\xf4\x0c\xe4\xf8\xea\x84\xaf\xf2\xb1\xbd\x65\xc6\x5c\xe6\xc8\x41\x92\xac\xa9\xa9\x9b\x2e\xcc\xb0\x7b\xa7\xd6\xeb\xac\x77\x86\xc7\xbf\x7e\x3c\x64\x58\x49\x68\xc1\xfd\x52\x4e\xbd\x67\x6b\x1a\x76\xe0\xe6\x6f\xdc\x7b\x6e\xa6\xd4\x9c\xa2\x7d\x8d\xd7\xee\x1e\x48\x7c\x65\xac\x69\x56\x95\x57\xa9\xa1\xd8\x1c\xc7\x3f\xa1\xcc\x1c\x23\xcd\x28\x4b\x3a\xb4\xb9\x07\x6d\x1d\x60\x11\xef\x26\xe6\x4c\xfe\x78\x5e\x46\xae\x92\x01\x2b\x27\xa5\xdd\x03\x99\xeb\x1e\xc6\xd8\x9c\x5a\xe6\x85\x89\xb2\x94\xc5\x8f\x1a\x1e\x31\x3f\x5e\xeb\x07\x45\x0e\x04\xa6\x28\xa0\xdd\x9d\x1e\xf8\x44\xe0\xa9\xc8\x75\xe4\x89\x16\xf2\x36\xaf\xe1\x54\xc2\x98\xef\xfb\x90\x13\xed\xc1\xa1\x4c\x53\x8e\xbb\x36\x4f\xb1\x61\x6d\xef\xda\x64\xeb\x07\xca\x99\x0e\x79\xc7\x32\xf8\xd0\xfa\x99\x7c\x92\x5e\xd8\x53\x12\xde\x4b\xf0\xa4\xbd\x7d\x2a\x8c\x32\x4c\x2f\xc5\x98\x04\x29\x19\xcf\x00\x68\x08\x7e\xf7\x9b\xc2\xf2\x5c\x31\xed\xc9\x20\x0d\x44\xb9\xcc\x85\x8c\xf7\xe8\x24\xa6\x18\xd5\x31\x93\x47\x2f\xce\x95\x6f\xa9\x80\x30\x03\x5e\x0c\xea\xdb\xfa\x87\xfb\x5f\x7c\x71\x2c\xc1\xad\x0c\x7c\xab\xfc\x60\xfe\xdc\xb7\x07\x06\x2a\x7a\xf0\x7c\x94\xa6\xc6\x27\xec\x75\x1c\x73\x76\x15\x83\x6a\x28\x1f\x71\xe0\xab\x52\xab\x89\x7a\x4c\x3e\xd1\xcd\x36\xff\x8e\xba\x99\xbf\x88\x09\xf8\x1c\x3b\x08\x73\x32\x83\x14\xc5\x8b\x60\xf8\xb1\x85\x57\x8b\x60\xfd\x54\x79\x50\xf7\x67\xa8\x01\x65\x65\x30\x16\x87\xf7\x0c\x11\xed\xf4\x30\x30\xea\x7d\x2f\xc7\x94\xbc\x8d\x3b\x68\x5b\x74\x47\xf9\x44\xbb\x35\xd6\x5e\x45\xbf\xc6\x23\xe3\x68\xf7\xc8\x8d\x3a\x66\x3f\x09\xfb\x05\x75\x33\x7a\x30\xef\xda\x8e\xef\x24\xea\x54\xa8\xa8\x9e\x5e\x54\xcf\x41\x68\x7a\x05\x12\x97\x09\x97\x78\x0a\xe8\x49\x7b\x0f\x81\xdd\x35\x1b\xa6\xe8\xce\xdd\xc0\x8c\x8b\xf8\x27\xe4\x72\xc2\xfc\x19\xa5\x4b\x0a\x80\x9b\x7a\x8e\x6f\x20\x6c\xd6\xa2\x3c\xba\x9e\xd5\x4e\x6c\xb2\x8c\x9d\x10\x66\xa8\xa7\x4d\x7f\x2a\xcc\x7e\xd0\x55\xca\x8f\x87\x57\xf3\xda\x5f\x9f\x04\x3f\x07\x96\x76\x1e\x3b\x28\x41\x80\x19\x85\xa8\xcd\xba\xda\x52\xc3\x5e\xff\x20\x33\xb7\x3d\x36\xd2\x36\x3d\x32\xe6\x6e\xeb\x7e\x7d\x63\xaf\xbd\x15\x07\x90\x4f\x37\x93\x58\x0c\x86\x95\xe0\x64\xba\xac\x01\x4a\x19\xd6\x7c\x8f\xde\x4c\x50\x9c\xde\x9d\x7e\x0f\xcd\x85\xa9\xfa\xf1\x38\x9a\x2b\x51\x44\xec\xf4\xe0\x5c\xaf\xd4\xe6\xd2\xad\x0b\xc3\xad\x53\xc3\x17\x5c\xa7\x3d\xf7\x55\xd9\x76\xcc\x0d\x4d\xe4\x85\x9a\x1e\x63\x22\x61\xfb\xab\x4b\x3b\xcf\x41\xae\x1c\x16\x3d\xd4\xa8\xc4\x9a\xa9\x94\xb9\xd6\x6b\x81\x01\x4a\x84\x4e\x80\x70\x9b\xe8\x4d\x25\x41\x52\x60\xd1\xd9\x88\x3b\xd8\xf9\x28\x13\xfb\xbd\x87\x35\xc3\x10\x57\x9a\xbd\xdb\x3d\xb5\x08\x8b\x86\x59\x20\x9d\x67\x2d\xe4\x5e\x08\x76\x34\x81\xd0\x58\x7f\xae\xd9\x89\xfa\x85\x4a\xd8\x40\xee\xd7\x3d\xf8\x63\xc7\x33\xc5\xea\xfc\xec\x7d\xca\x2a\x29\x12\x08\x75\x92\xd6\xca\xff\x62\x1b\xbc\x54\xb9\x13\x46\x9a\x1b\x27\xd3\x7c\xb9\x4e\x33\x97\xc1\xb9\xe6\x45\xdf\xde\x00\xb2\xce\x39\x89\xbb\xda\xaa\x29\x31\x90\xd0\x21\x12\x47\xdb\x1a\xbd\xf7\x6b\x38\x92\xad\x36\x94\x44\xef\x0a\x7e\x48\xaf\xb8\xbd\x47\x70\xc0\x04\x25\xa8\x46\x7a\x33\xee\x32\xc1\xc4\x4d\x1a\xdf\x4a\xa2\x61\x5a\xde\xd6\x3f\xab\x63\x8d\xe0\x6e\x30\x9e\x29\x3f\x8b\x68\xe1\x04\x4e\x17\x80\xc0\x75\x9e\xcf\x1f\x9a\x05\xb2\x1d\xfe\x0b\x6d\x33\x1f\x48\x8e\x7e\xb2\xc1\x1f\xdb\xca\x31\x72\x44\xfc\x27\xbd\xac\xd6\xd7\x31\xfb\x9e\xe0\xc7\xd5\x7f\x91\x4b\x72\x9d\x74\x9b\x73\x01\x4a\xd4\x4a\x0f\x73\xbe\xa3\xd9\xf6\xb3\xa6\x7f\xbe\xd6\xb8\x55\xd7\x05\xcc\xcf\xcd\xf5\x05\x10\x9e\x32\xb4\xf5\x14\x72\x5e\xa0\x2b\x68\x4e\x7a\x67\x96\xb1\x6c\x30\x27\x5c\x1c\x2f\x65\x91\xdb\x74\x58\xd4\x90\xd3\x76\x9d\x6c\x20\xc9\x6a\xe7\x63\x6d\x7d\x21\x51\xd6\x1d\xcf\xbc\x8e\xe3\x74\x23\xd4\xe6\x7a\x88\xb6\x23\x5d\x16\xdb\xd5\xda\x1f\xa1\x1f\xcf\x95\xd7\xde\x4f\x9c\xd1\xd7\x87\x6a\x45\xe1\x3a\x93\x23\x09\xf7\x36\x81\x6e\x3a\x3c\x91\x4e\xe7\x10\xcd\xd1\x75\xc7\x69\xb1\xa6\x8d\xe1\x18\xc9\x7b\x85\x7a\xde\x18\x0f\xb5\xd7\x31\xca\x9e\xa4\xea\xfe\xe3\xa3\xeb\x55\x56\xc9\xf2\x6c\xfd\x0c\x2b\xd1\x61\xc2\x4e\xf0\xc2\x57\xab\xe4\x8d\xc9\x68\xbb\xcb\x29\x4f\xa7\x32\x79\x6d\x45\x6c\xd9\xa4\xaf\x41\xd6\xd5\x37\x1f\xa4\xa5\xab\x59\x51\x70\xf0\x15\xf6\x06\xb1\x66\x42\xac\x8a\x3c\x38\x8a\x9f\x85\xbb\x3b\x02\xc6\x1f\x05\x8f\xe5\xf4\x96\xf8\x27\x67\x4b\x52\x35\x6e\x99\xf6\xcc\x06\xe6\xbd\x0b\xc1\x54\x40\x09\xae\x6e\xbc\x2a\xb6\x17\x83\x21\x3d\x16\x61\x35\x7f\x89\x9e\xac\xa2\xa1\x83\x88\xb0\x5a\x7e\x43\x57\x97\xd1\x50\x5e\x44\x58\x2d\x58\x66\xa7\x6a\xe8\xfc\x4e\x80\xc5\xb1\x10\xbd\x71\x34\xff\x4f\x12\x06\xc1\x49\x40\x15\xf9\xe8\x53\xd2\x12\xfa\xc0\xfb\x7d\xf2\x58\x68\x2f\xed\x3e\xdc\x2c\x62\x96\xe3\xe7\xf3\x38\x39\xb5\xc9\xf4\xee\x2d\x3a\x47\x7c\x05\x57\x05\x91\x92\x29\xdd\xde\x62\xdf\x1f\xfb\x41\xc7\xea\xf8\x35\x47\x93\xde\x3c\x2a\xd9\x95\xdb\xda\x3a\xc4\x9f\xa3\x06\x21\x14\x5d\x67\x6a\x7e\xab\x4f\x07\xdf\x26\xff\x8b\x55\x87\x4e\xeb\xa2\xb9\x38\xd7\xdb\x20\xae\xf8\x94\xe5\x87\x13\x67\xf1\x0c\x5d\x07\x2d\x57\x1a\x57\x7f\x28\x57\xec\x87\x4e\x49\xbc\x33\xba\xc3\x1a\x4e\xd2\xc6\x0e\x67\x72\xe3\x9e\x33\x7c\xb7\x92\x6d\x0d\xf2\x6d\x8d\xa0\x27\x3d\x5b\x6e\x94\xed\x9e\xac\x4d\x2c\x3f\xe6\x8c\x24\xb0\x08\xd1\x48\x44\xae\x93\x44\xb2\x2d\xae\xdb\x4f\x18\x3f\x35\x75\x08\x58\xad\x5d\xcb\x93\xec\x14\xd3\x33\xfa\x12\x1f\x37\xf9\x3e\xab\x17\x2a\xe6\x87\x77\x80\x01\x67\x3f\x9a\xa8\x95\x2a\x21\x92\xe9\xf8\xfa\x4a\x79\x54\xa2\x40\x0b\x55\xb3\x67\xce\xd3\x7a\xc5\xd1\x49\xf1\xba\x95\xcf\x5f\x17\xa4\x06\x85\x37\xd2\x26\xf2\x5c\x74\x8c\x10\x7f\xf0\x48\x2e\x1f\x59\xf1\x5a\xe6\x28\x34\x59\x27\xeb\x64\xc2\x0c\xd7\x54\x87\x0d\x91\x46\xb8\xd2\x73\xbc\x2d\xec\x71\x79\xba\x61\xad\x12\x37\x1b\xd3\x0d\x5b\x8d\x84\x36\x37\x4b\x26\xc3\x4a\x88\x2f\x24\xe0\xb1\x63\x2f\xc3\xd4\x78\x8c\x10\xf7\xbd\x5b\x17\xc4\x01\xa1\x80\xe1\xb6\x8f\x0e\x3b\x7f\xf7\xc4\xaa\xa2\x7a\x31\x1a\x46\x76\xf8\xa7\x5d\x47\x84\x27\xda\x8f\xea\x51\xaf\x42\x53\x4f\xc2\x03\xfb\x89\x0e\x95\xe5\xbb\xed\xe9\xfd\xd0\x86\x24\xd0\x01\x13\x79\x99\x28\xde\x13\xf0\x54\x53\x93\xfc\x2d\x18\x1e\x3b\x96\x68\xc5\xb1\x7a\xbe\xcc\x11\x54\x9a\xc8\x25\x44\xe1\xa3\xd7\x74\x73\x04\xa0\x88\x22\x89\x89\x3d\xea\x67\x77\x55\x12\x81\x75\x44\x3f\x62\xa1\x18\x24\x1a\x1e\x5a\x16\x72\xfc\x39\xe8\xf7\x47\xbc\xce\xeb\x3c\x99\x8c\x26\xfc\xc3\x91\x61\x3c\xc5\x76\x35\x9f\x93\x30\xd1\x5d\x19\x66\x25\x53\x17\xf2\x89\x08\x9e\x61\x1f\x7f\x6e\x2a\xf1\xd7\xeb\xd8\x8a\x9d\x9d\x1d\xb3\x6f\xd0\xbc\x62\xda\xce\xfd\x82\x38\x70\x4a\x39\x9f\xc1\x82\xd8\xe2\xa0\x9a\xc2\x27\x98\x2d\x73\xce\x40\x86\x72\xd0\xf0\xeb\x84\x85\xbc\xa9\x54\xb0\xba\xa5\x41\x58\x81\xa4\x06\x49\x0c\xd1\x5c\x38\x6d\x5d\x7b\x83\x4f\x66\x0b\x95\x60\x23\x1c\xca\xd6\x13\x58\xb3\x54\x5e\x66\xba\x19\x35\xf7\xd4\x27\x27\x1b\xd9\xec\xc4\xec\xd0\x18\x16\xf8\x57\xca\x32\xcf\xb7\x20\x76\xc5\x73\x45\xe2\x5c\x7f\x9e\xed\x88\x51\x18\x73\xb5\x9e\x28\x99\xcb\x90\x40\x41\xe8\x14\x6a\x52\x14\x1e\x2a\x5a\xe8\xfc\x19\xb0\xe5\x61\x91\x88\xcc\xb3\xe8\x1c\x53\x6c\x01\xd1\x96\xa2\x52\x8c\x5b\xcb\xdc\x9c\x64\xbc\x2a\x29\x9d\xc9\xa9\xbb\x9c\xc0\x0c\x50\xe4\xc2\xa2\xc4\xbd\x48\x74\x18\xa3\x6f\xfd\xbc\x35\x9c\xf4\x38\x89\xc9\x2e\x84\xc2\x5d\xc0\x68\xcb\x5c\x73\xe0\xd0\x86\xd8\x8b\xe1\x0b\xda\x03\x10\xe6\xd7\x3f\x18\xf5\x56\x73\xf1\xd8\xe8\x68\x2d\x55\x83\x27\x89\x23\x45\xf6\x67\xf2\x89\xba\x6d\x5d\xf4\xc4\x32\x4e\x6a\x57\x6c\x19\xf6\x72\x6d\xa9\x5a\xcd\xe3\x12\x97\xa3\xc3\xc3\x23\x32\xe7\xf6\x42\x45\x18\x37\x35\x5e\x5e\x87\xa4\x03\x61\x34\x07\xda\x04\xc5\x77\x55\xa9\xed\x4b\xcb\x27\x67\x3f\x67\x65\x93\x7f\xc8\xdf\x13\x32\x31\x33\xce\xe6\xe7\xb8\xcc\xc7\xb8\x9b\x6f\x60\xd4\xd7\x6c\x4b\x7a\x50\x36\x5e\x97\x20\x88\x24\xf7\x24\x39\x4e\x8a\x90\x14\x8b\x57\x76\x67\x32\xf9\x48\x02\xcf\x8f\x93\xaf\xe6\x43\x52\xef\xdf\x9c\x61\x37\x46\x0e\xa1\x2f\xe3\xb9\xf1\x33\xf1\x5c\x38\xad\xfb\xad\x46\x84\x5c\xb9\x2f\x7a\x0c\x50\xcc\xef\x2f\x3f\xfd\xbd\xec\x1e\xe8\x07\xee\xa7\xe9\xf5\x7b\x78\xd6\xe3\xd3\xbc\xf7\x5d\xaf\x0f\xb3\xbe\xbb\x00\xf9\x89\xeb\x17\x2f\xb4\x17\x5e\x39\xfa\x40\x37\x63\xa3\x7f\xde\xa5\x0e\x1a\x47\x1b\x3c\x48\x17\x6f\x7e\x97\x46\x8a\xf2\x21\xcc\x36\x94\x3a\x86\x6a\x99\x2a\x9a\xaf\x4e\x62\xda\x6c\x4e\x79\xba\x89\xd7\xc3\x43\xc4\x63\x47\xa1\xdc\x64\x32\x5b\x64\x37\x86\x57\x34\x5d\xd3\x0a\xd1\x35\xc0\x34\x69\xcd\x32\xa9\xa6\xc1\x2a\x1a\x80\xdd\x68\xd1\xef\xfb\x70\xb9\x1c\x2a\x82\x1d\x1e\x39\xdb\xce\xd6\xf9\x6d\x59\x6d\xd8\xb7\x8a\x1e\xb7\x6b\x68\x22\x12\xc9\x8b\xc5\x8a\xa3\x57\xde\x0b\x21\xf9\xa8\x41\xf0\x8a\x61\x6e\xfa\xd9\x4a\xae\x7c\xeb\x56\xd7\x4e\xb8\x63\x7c\x87\x75\xaa\xdb\x1f\xef\x6a\x2b\xad\x27\xfa\x1d\xd3\xd0\x19\x37\xb4\x18\x15\x8e\xc8\x14\x0b\xb8\xe4\xd2\x28\x27\x74\x63\x6e\x56\x84\xe3\x64\x13\xaa\x1b\x55\x63\x9e\x0c\x8c\xea\xf7\x29\x90\x49\xe2\x95\xb5\xc0\xe3\x1b\x38\x28\x29\xf5\x4b\xdf\x0f\x19\xce\x96\x39\xdb\x55\x27\xd7\x1c\x18\xb4\x8f\xd5\xba\xc1\x1a\x6a\x84\xe6\x3f\x56\xd7\xa4\x40\x42\x92\x1d\x4f\xcf\x45\xe0\x10\x47\x0d\x19\x2c\xe0\x63\x43\xa4\x22\x51\x5b\x62\xb8\x24\xdf\xf5\x15\x39\x19\x74\x64\xd2\x86\x89\x3d\x94\xe4\x58\xa6\x20\xe0\x64\x4c\x83\x90\xea\x17\x4d\xff\xe5\xe9\xcd\x8b\x08\xb2\x82\x68\xdd\xe9\xb3\x7e\x88\xc9\xf8\xca\x6c\xa3\x63\x8e\x2e\x14\xe6\xcf\xd0\xb6\x9c\x74\xe8\x71\xd5\x0c\x3f\x59\x27\x7b\x12\x27\xde\x88\xea\x41\xe4\x63\x53\xf1\xfd\x56\x81\x4d\x18\xf6\x25\xa9\x6b\x44\x98\x0d\xac\x7b\xc6\xa6\xed\x18\x58\xe4\x3d\xde\x3a\xeb\xc6\x2a\x7c\xa4\xcd\xbc\x65\x22\xee\xee\xd1\xda\xe6\xe5\x7e\xc0\xe4\x4f\x76\x09\x3b\xaf\x47\x5f\x52\x1a\xcf\x9e\xfd\xf4\x5c\xbc\xd4\xdc\x47\x91\x24\x34\x3c\x14\xab\x89\x69\x65\xc5\x66\x33\x7f\xbd\xd2\xc6\x50\x68\xb4\x48\xb6\xfb\x62\x30\xd2\xe8\x36\xc4\x8e\x55\xba\xbe\x92\x18\xb7\x73\xfb\xc1\xb2\xb4\x4c\xd3\xa8\x9f\x1a\x97\xa8\x51\x1e\xf3\x7c\x5f\x50\xe6\xd1\xca\xe7\xdc\x33\xc5\x30\x9e\x7f\x99\xb9\xcb\xf6\x1b\x44\x1e\xad\xe6\xe2\x43\xbe\xd3\x04\x48\xef\xa1\xa1\x1c\xa2\xe9\xc6\x2c\x7f\x41\x31\x5e\x27\xdf\x4d\x34\x8b\x92\x1b\x8b\xe8\xe4\x02\xdb\x5d\x25\xed\x45\x4a\x35\x33\xce\xe8\x95\x82\x0d\x2b\xcd\xaa\x42\x50\x1f\xc9\x5e\x24\x52\xba\xc6\x52\x0a\x44\x42\x2b\xc9\x4d\x2d\xed\xb2\x09\xb1\x73\x02\xda\xe0\x62\x8c\x52\x0c\x88\x56\x46\x65\x50\x05\x9f\x3b\x37\x8b\xba\x82\xae\x49\xf9\x13\xab\x6f\x97\xdb\x6d\xb5\xc2\x5e\xac\xd4\x4d\xa5\x8a\xfd\x8a\x6b\xdf\x0c\xc5\x2b\x2b\x5f\x9b\x95\xa2\xa0\xc0\x5b\x39\x4b\x9e\x92\x11\xc6\x12\xd8\x57\xa4\x83\x52\xba\x03\x76\x0b\x10\x7f\xdb\xa7\xad\x17\x14\x3f\x66\xc8\x71\x32\xca\x05\x73\xaa\xe1\x9e\x7d\xbf\x58\x04\xb9\x40\x79\x9a\x66\xab\xb3\xaa\xba\xc2\xc9\xda\x16\xc5\x48\xca\x2f\x3d\xf7\x98\x9b\x1b\xfb\xca\xd6\xaf\x8c\x41\x7e\x20\xfe\xac\x30\x06\xd5\xcc\x9c\x08\xf5\x19\x78\x72\x61\xa1\x20\x47\x44\xbf\x76\xab\x6c\xbf\x00\x51\xac\xae\xe9\x5a\x5c\x5c\x91\x44\x2c\x68\x95\x69\xbf\x4a\xe2\x14\x19\x5d\x26\x28\x41\x2f\x8d\x22\x46\x62\xdc\x17\x13\x80\x61\xd1\xc6\x9a\xbe\x08\x0d\x0c\x88\xe9\x6d\x32\xa3\x6c\x5d\x82\xe5\x89\x78\x24\xec\xfb\x92\xe8\x45\x35\x78\xcd\xc3\x90\x31\x78\xb5\x93\x7b\x99\x90\xd7\x05\x01\xb9\xe1\x41\x85\x31\x3e\x5e\x32\x9f\xe0\xe6\x5f\x96\xc6\xc2\x42\x65\x9a\x3b\x62\x96\xa2\x7e\xf3\xd6\x83\x29\xc7\xce\x8c\x32\xb3\x6a\x80\x8b\xd0\x20\x0e\x95\x72\xf1\x38\x5d\x27\x87\x37\xda\xf3\xb0\x0d\xf5\x8b\x89\xc9\x20\x62\x8c\x43\xdf\x68\xc7\xfa\x54\xe6\xc5\x64\x97\x87\xee\x98\xb5\x0c\xfd\x29\x04\xa6\x2b\x0b\x92\x89\xc5\x07\x6d\x44\x29\xb2\xf5\xd5\x2e\x35\x87\x31\xd1\x2d\x14\x00\xae\xfc\x1b\xce\x7c\x59\x79\xf5\xf1\x92\xe0\x2a\x12\x01\xb1\xba\x6f\x8d\xda\xa4\x1c\xf2\x4c\x13\x20\xa4\x06\xdf\xf2\x34\x41\xe5\xa5\xb9\x3d\x02\x0a\xc4\xf1\xf6\x54\x83\x98\xb8\x40\x7c\xcc\x58\x24\xa6\x15\x69\x1a\x6e\x2e\x4b\xdc\x49\x7c\xee\x52\x84\x02\xa0\xf7\x40\xdf\x50\x82\x86\xfe\xe6\x40\x85\x91\xdc\x50\x8f\xe3\xbd\x1c\x2a\xb1\x96\x1b\x8a\x61\xb2\x97\xc3\xf5\x04\xb6\x6b\x40\x0c\xce\xdb\x9f\x8c\x0f\x95\x7f\xaf\xa3\x94\x97\xed\x3d\x49\x9a\x84\x09\xe0\x3d\x9b\x6c\x17\x9b\xc1\x01\xbb\x8e\x5b\xbc\xa9\xbc\xd7\x92\x22\xc4\x68\xec\x58\x30\x8f\x51\xd2\x9c\x08\x66\x01\xa7\xfb\xcb\x92\xdc\xe2\xed\x8e\x96\xf7\x63\xdc\x1e\x3c\x1d\x23\x39\x60\x7c\x63\x4f\x7d\x24\x6f\x01\x3e\x65\xa9\x58\x3c\x8c\x60\x2c\xfa\x6f\xbe\x90\x11\xa9\x5f\xb1\xe8\x4b\x89\x33\x0b\xe7\x0c\x8c\x8d\x8e\x83\x15\x70\x96\x7b\x59\x12\xb1\x05\x87\x95\xe1\x1e\x41\x6e\x5b\xed\x19\x39\xab\x4d\xdb\x08\x0d\xa9\x54\x28\x21\x22\xbe\xa8\x06\x3f\x5a\xb0\x5d\x03\x83\x69\x05\x45\xc4\x6d\xb2\x0b\xc4\x9e\xc2\x3e\xd5\x27\x96\x86\x99\xe5\x7b\x47\xc8\x74\x9d\x1a\xaf\x20\xaa\xd7\x2a\x11\x7e\xa6\xfc\xeb\x9a\x79\xb9\x95\xeb\x60\x89\x27\xab\x41\xfb\x3f\xd9\x98\x23\x01\xfc\xd4\x29\x02\xb7\x10\x6f\xc6\x28\x24\xe2\xf5\xe3\xc8\x89\xdb\x95\x4c\x9f\x8d\xd4\xfc\x76\x59\x4f\x31\x6f\x1d\xbc\x9c\xf3\x5f\x3c\xec\x2f\xc7\x90\xb8\x01\x4d\xca\x28\xb9\x80\xb4\x14\x57\x7f\xe8\xaf\xe8\x97\x91\x51\x91\x27\x5e\xea\x1b\x23\x30\xfa\x4d\x7c\x97\x33\x7d\x78\x37\x74\x91\xc9\x3c\x88\xce\x61\xfe\xd6\x40\xbe\xcc\xbb\x00\xcb\x48\x9d\x6c\x8f\x31\xc7\x3e\x81\xc0\x1e\x9f\x26\x20\x2e\x13\xd4\x6d\xf3\x76\xa2\x9a\x21\x2a\xe0\xf4\x29\x24\xf3\x7a\x9f\xdc\x6d\x72\xc7\xd8\x74\xbd\x85\xb4\x15\x28\x88\x3a\x1e\xb0\xb7\x83\x47\x88\x1c\x47\x87\x62\x65\x56\xa6\x77\xa2\x69\x24\x43\xbe\x4f\x31\xf4\xf8\x10\x20\x90\xd0\xdb\x63\xe7\x5a\xdc\x5a\xec\x3c\x47\x63\x3c\x7a\xac\xfe\x40\xb1\x3a\x03\xab\x4a\x2d\xc0\xd5\xc4\xdf\x5f\x60\xe8\xa9\x03\x38\x80\xa1\x99\x7e\x0e\x80\xda\x86\x88\x0c\xe4\x4d\x16\x8a\x09\xa7\xa9\x03\xe8\x29\x0d\x75\x45\x8d\xb4\xb3\x91\x02\x73\x59\x31\xf2\x8d\x8c\x42\xb5\xa3\x37\x16\xd7\x34\x77\xdf\x30\xeb\x47\x97\xd3\x35\x89\xc1\x7a\x8d\xc2\x05\x41\x30\x1f\xef\x7c\xd0\xa0\x96\x9f\x5b\xa7\xe4\x40\x9c\xc4\x56\xf7\xcf\xdc\x9f\xec\xfd\x9f\x51\xcd\x16\x71\x5e\x40\x57\x01\x9c\x72\x2d\x8e\xfd\xd2\x55\x8c\x9e\x4f\xed\xb7\x03\xd9\xfe\xc5\x24\x39\x27\xe7\xc8\x49\x42\x6a\x66\x60\x35\x0d\x9b\x22\x14\xd1\xa6\x0e\x59\x78\xc8\xf8\x5a\xef\xf4\x20\x81\x55\xee\x4f\x2f\x26\x38\x33\xdf\xdc\x2c\xc8\x38\xce\x0e\x6b\xac\x32\xe2\xfa\x1e\x26\xa7\xbe\x20\x27\x99\x3f\x9a\x65\x45\x76\x87\x24\xce\x19\xd5\x4c\x60\x8f\x42\x10\x89\x25\xb6\x3d\xb3\x54\x87\xbd\x66\x74\x46\x35\xe5\xaf\xbe\x38\x91\x2e\xc5\xcf\x1b\xbf\x3c\x31\x3d\x3e\x8e\x30\xcb\x47\xc6\x20\x08\x37\x02\x01\x7a\x40\x4a\x79\x96\xaf\x7e\xc2\xe5\x70\x29\x67\x1f\xd4\x2c\x67\xed\xd9\x59\x1b\x4c\x2e\x24\xb9\x2c\x1f\xab\x05\xf7\x20\x97\xc6\x2d\xde\x3c\xa0\x7f\x6b\x17\xce\xf9\xd2\xf9\x7b\xce\x7f\x79\xfc\x63\x2a\x30\xae\x32\xc6\x2f\x71\x31\xa7\xb5\xce\xe1\xf2\xbb\xc1\xab\xa2\x93\x12\xbf\x67\xc2\x0f\xeb\xba\x16\x81\x83\xe0\xe4\x4b\x16\xbe\x95\xf1\x4d\x26\xc0\x52\x3c\xe8\x0e\xe5\xc7\x37\x78\x43\xe6\x9e\x79\x5b\x4d\xf4\x96\xca\x9b\x0d\x23\xcd\xba\xf9\x00\x8e\xa3\xe7\x44\x18\x79\x61\xb9\xfe\xa9\x33\x5c\xae\xa7\x77\x66\x9e\x77\x72\xc8\x11\x46\x3c\x47\x9a\x57\x3e\xd9\xc4\xb8\xbf\xb7\x4d\x13\xb3\x5d\x0b\x5c\xb3\xa8\x4e\xf8\xd8\x1e\xb0\x73\xb1\x57\xdd\x8d\x64\x9d\x3c\xd3\xa1\xfb\xd2\x00\x83\x57\xe5\x00\xbc\x9d\x08\xaa\x30\x36\x34\xdf\xfe\x74\x07\xd5\xc8\xb4\xef\xd0\x76\xf0\xc8\xbb\x30\x3e\xd4\xaf\x0c\xcc\x04\x88\xef\xd0\x3b\x20\x04\x08\xbd\x93\x29\x66\xaf\x23\xaf\x2a\x09\xa2\x32\x3c\x02\xfb\x0e\x68\xfd\xcd\x20\xf7\x1f\x7e\x27\x42\x18\xc2\x77\xac\x0b\x92\x0f\xba\x6d\xa2\x48\x2f\xe2\x19\x9c\xbd\xd3\xec\xb7\x03\x90\xaf\xe1\x77\x71\x4d\xb0\x1d\x0f\xf0\x14\xc9\xd8\xf6\x6f\xee\x67\x0c\x13\x10\x1b\x43\x29\xcc\xb5\x36\x37\xdb\x23\xe5\x88\x42\xc6\x53\x90\xf8\x3e\x5f\x2d\x15\x5b\xcd\xc4\x4c\x7c\x52\xbe\x52\xcf\xf1\x90\xcb\xd1\x6c\x14\x51\x83\x7d\xee\x1c\x5c\x54\xbe\x48\x29\x0a\x9f\x39\x46\x61\xb1\xbb\x22\x5e\xe0\x62\xa6\x41\x3a\x91\xdd\xb3\x51\x34\xb1\xbb\x27\x20\xca\x3d\xbd\x73\x4f\x09\x0f\xa1\x03\x10\xc3\xf1\x27\x83\x1b\x19\x40\x02\x2e\x9a\xe8\xd9\x59\x26\x38\x7a\x0a\x8a\x2c\x69\x37\x15\x1a\xb2\xb5\xa3\xea\xfd\x33\x79\xd8\xc1\x3b\x8d\x81\xeb\x55\x7d\x70\x2f\xdf\x49\x9f\x0c\x01\xeb\xff\x0b\x78\x56\xf9\x78\xd6\xde\x69\x6c\xf8\x46\xbd\x5a\xc5\xea\x66\x9b\xff\xcb\xf9\x68\x58\xda\x63\x87\x98\xd4\xec\x1e\x2e\x62\x0c\xe8\xea\x42\x2a\xac\x7c\x26\xbf\xe2\x8f\x7c\x67\xab\xb7\x65\x2f\xca\x6b\xc8\x75\xbb\xfe\x76\x5c\x5f\x48\x87\xb6\x9e\x9e\x62\x82\xa0\x0c\x07\xfa\x64\xd9\x70\xe1\x47\x9b\xbe\x2f\xeb\x41\x9a\x7d\xf3\xc0\x08\xe3\xac\xac\x27\xec\xf7\x78\xc8\x9c\xae\xd5\x8b\xe1\xb9\x3b\xd6\x45\xf0\xdd\xd8\xe9\x0a\xcb\x21\x57\xb8\xdc\xdf\xe8\x04\x07\x80\x6a\xcc\xcc\x7b\xaa\xed\x9c\xd9\x5a\x49\x24\xdf\x7a\xbe\x7b\x4f\xde\x14\x70\xaf\x1e\x3b\xe7\x78\xa6\x12\xb0\x3d\xd7\xba\x98\x71\xde\x7b\xfd\xd3\xf5\xa0\xf5\xc9\x35\xfa\x6c\x32\xb8\x33\x4f\x8e\x0c\xe5\x3d\x01\x19\xf9\x40\xed\x13\x6a\x86\x6a\x23\x0c\x13\xf8\x47\x59\xbf\x54\x93\x6e\xa1\x3e\xf9\x26\xde\xac\x0e\xaf\xcd\x23\x83\xcf\x43\x42\xcf\xa9\xff\x7a\x4c\x1e\x75\x79\xb5\xf9\xdd\x6c\x7f\x53\x1f\x02\xef\x61\xbd\x61\x97\xa5\xee\x30\xc7\x4c\x54\x76\x82\xc0\x33\x96\xe2\x2c\x8c\x32\x0a\xe5\x73\x64\x54\x01\x72\xe7\x55\x7d\x45\xdd\x03\x95\x9c\xdd\x6c\x00\x31\xe0\xb7\x7a\xa2\x60\x58\x0f\x61\x2a\x68\x7b\x1f\x9a\x71\x1a\x69\x75\x55\xe3\x5c\xde\x1a\x16\xaa\x22\x4c\xfe\xba\xd0\xb4\x40\xf9\x54\x95\xd6\x58\x00\x00\x40\xff\xbf\xd9\x52\x55\x87\xbe\x46\x03\x67\xf6\x5d\x73\xe5\xc4\xdd\x17\x45\xc1\xce\x14\xb3\x35\xab\x56\x30\xdf\xcb\x58\xac\xd2\x16\x2f\xc6\xef\x75\xeb\xb5\xc6\x6b\xba\x7a\x85\x9d\x42\xf5\xbc\x27\x07\xd9\x83\xc0\x4a\xba\x78\x19\x1b\xa2\xcc\xe7\xdf\x1c\x09\xe6\x49\x7a\xf3\xee\x01\x80\xd2\x37\xfa\x8a\x91\xf5\x8d\x92\xd2\x59\xfe\x86\xce\x95\xed\x31\x74\xb4\xbf\xb6\x79\xaf\x88\xb7\xce\x9a\x5f\x7d\x81\xa1\x7c\xb4\x78\x6d\xe3\x5b\x04\xc0\x78\x02\x4a\x7d\x7a\xfc\x6c\xf3\xc8\xfe\x44\x9b\xd7\x56\x97\xfb\x86\x72\xf3\xd7\x63\x73\x64\x73\x71\xba\x76\xe5\x5b\x91\xe3\xb7\x26\x11\x8e\x8e\x60\x9f\x6f\x55\xb6\x7f\xb8\xbe\x6c\xeb\x3f\x07\x3c\x1c\x6a\xdb\x43\xf4\x21\x09\x4f\x65\x12\x71\x42\x0e\x93\xb6\x3d\x99\x4a\xdc\x5c\x9c\x1e\x60\x9e\xc4\x4c\x72\xb1\xe5\xad\x88\xe1\x64\x31\x4d\x68\x1d\xf7\x6f\xab\x77\xd1\xd1\xb9\x4b\x69\x06\xea\xc4\xa3\xea\x64\x8a\x95\x2a\x3b\x5e\x18\xd2\x8b\xcb\x18\xbf\x24\xb5\xb5\x78\x48\xb1\xef\x18\xc7\x55\xb8\xb3\x55\x60\x5d\x47\xb5\x6b\x43\xad\xea\x86\x82\xe6\xec\xf7\xb3\x03\x06\x9a\xb1\xfd\x4f\x98\xed\x51\x53\x85\x43\x95\xe2\x77\x93\x6f\x8f\x16\x0b\x67\x7e\xe1\x1f\x79\x47\x38\x50\xef\x99\x7b\x7b\x48\xae\xbf\x2e\x24\xf5\xfb\x17\xdf\x15\x36\xc5\x21\x16\x11\x7d\x08\x1c\x64\x34\x2c\x71\x1f\x3e\xe4\x60\x16\x80\x04\x6c\x6c\xb5\x55\x4d\x42\x52\x93\xb9\x50\x65\x02\x86\x32\xe6\x41\x8d\x31\x52\x84\xb9\xe2\x48\xfc\x71\xbc\xe1\x6c\x08\x42\x90\x51\xbf\xa6\xa6\x24\xd2\x57\xa3\x25\x89\xc7\x62\xe2\xb7\x68\x42\x89\xb2\xf9\x0e\xc3\x9a\x56\x1c\x40\x28\x3f\xfc\x1d\x1d\xb6\x7f\x46\xf7\x08\x9e\x41\x98\x51\x7d\x3c\x47\x44\xf4\x32\x1c\xc2\x1a\x3a\xac\x0f\x65\x40\x90\x66\xd4\x24\x22\x03\x8d\x17\x38\xe2\xbd\xf7\xc8\x8d\x46\xfa\x97\xa6\x99\x66\xf3\xeb\xb7\x35\x60\xbc\xea\x7b\xa9\x15\xc0\x82\x0c\x4b\xf4\xf5\x75\x76\xdc\x5c\xa6\xcf\x58\xe7\xb5\x2b\x98\x9f\xf2\x0c\x76\x08\x6a\x13\x85\xe0\xb6\x02\x5e\x34\x3d\xde\xcf\x30\x33\x4f\x93\x83\x28\xe0\xe9\xfa\xbe\xda\x30\x2d\x49\x87\x8d\x66\x4b\xd1\xf5\x52\xa0\x11\xc8\xc7\x6f\xb0\x9b\x82\x4f\xa8\xbc\xcd\x69\xe3\x32\x13\x06\xc2\x29\xd8\x86\x07\x14\xb3\x47\xf2\xc7\x9e\x0a\x58\x3c\xd1\x12\xc7\x98\x65\xc7\x6c\xe7\xea\x1a\x6d\xa3\xc5\x53\xcd\x5c\xa0\xe7\xf6\x87\x50\xcc\xdc\x21\x21\xfa\x6f\x78\xee\x24\xc3\x2b\x0c\x17\x89\x08\x83\x04\x3e\x64\x6c\xed\xc5\xe0\x2b\x8c\xe7\x9d\x62\x8a\x9b\x10\xe1\x4e\x49\x4d\x03\x16\xc3\x64\x54\x22\x2b\x18\x0e\x82\xc6\x8c\xb9\xb0\x18\x6f\x30\xed\xc5\x60\xc4\x18\x38\x39\xc1\xfe\xd7\xcf\xfc\x5c\x7c\x35\x20\xde\xa3\xf4\xbb\xd8\xa6\x28\xc7\xfa\x93\xa0\x8b\x92\xd8\x79\x0b\xf1\x6a\xa5\x71\x94\x19\x6d\x28\xb2\xec\xf7\x80\xe6\xd3\x3c\x5c\x47\x91\x09\x15\xde\x32\xd7\x07\xe9\xf1\x64\x54\x9e\x18\xf3\x50\x9c\x97\x30\xaf\xf4\xe8\x24\x88\xa7\xb6\x6e\xcf\xe5\x1f\x40\xa1\x0a\x02\xc4\x92\x21\x01\xd7\x58\x0c\xbf\xe3\xba\x95\x9f\x96\x96\x1c\x8d\xd3\x4e\xe9\x83\xc6\x19\x6b\xd5\xb3\xad\x78\x69\x6b\x69\x90\xf6\xde\xf3\x9c\x7f\xdd\x9d\xcd\xa8\xd1\x9b\x22\x30\x3f\xce\x5e\x32\xe5\xb6\x58\x46\xe7\x8d\x2c\x7b\x73\xc0\xe6\x72\x5f\x65\x10\x40\x56\xae\xfa\x15\x92\xc1\xf1\x92\x79\x9f\x67\x88\x92\x14\xfe\x1a\x13\x0c\xce\x4e\xca\x5f\xe7\x69\xf4\x08\x8e\x97\xfb\x77\x02\x71\xbd\x3b\x58\xda\xc8\x1c\x45\x44\x83\xa0\x5c\xa1\xad\x62\x31\x1a\x1e\x47\xa3\x92\x28\xb6\xa4\x10\x8d\x8a\x52\x73\xd7\xc0\x92\xaa\x54\xc5\xcb\xdd\xf4\x3c\x1b\x5c\xda\x89\x51\xfe\xf9\x91\x02\x32\x74\x54\x09\x83\x3b\x97\x9f\x0b\x60\x92\xd5\xdc\x5b\x1b\x07\xd9\x2c\xb0\xea\x41\x6b\xbe\xa3\x4b\xa3\xea\x62\x44\x6c\x23\xe3\x62\x38\xcd\x2c\x5d\x99\x69\x5c\xac\x9b\xb1\xfe\x7c\x6b\x43\x89\xd9\xe5\xd0\x78\x4c\x71\x7e\x72\x16\xdd\x0a\xd4\xce\x86\x3e\x7c\x8b\x7a\xcc\x8c\xbb\x0f\x42\x8a\xdc\xc3\xc9\x61\x9f\xe8\x62\xc4\xf7\x3f\x61\xdf\x10\xf0\x80\x87\x61\x0e\x67\x33\xbc\x30\xa0\xe8\x0e\xd2\xe3\x28\x09\x6a\xea\xdc\x22\x46\xb5\x41\x2a\xed\x7b\xdf\xa3\xcb\x64\xb4\x5d\xc5\x99\x2b\x58\x48\xe6\x94\x7a\xc0\x73\xff\xd9\xd6\xf7\x0b\xe5\x0b\x5a\xa9\x02\x53\xe9\xe2\x4c\x1d\x0f\xe0\x0e\x75\x3a\xa7\x99\xcb\x85\xe1\x29\xd2\xd2\xb2\xc0\xdd\x6e\xb8\x4a\x1c\x8e\x45\x42\x0f\x6e\x53\xbe\xf6\xec\x0f\xb4\x3e\xc4\xa6\xf1\x02\x13\x93\xfa\xc2\xcd\x09\x6d\xfd\x68\x2c\xf2\x52\xcd\xfb\xe7\xdd\xd2\x54\x8a\x7e\x7d\xe9\x39\x2c\x09\x90\x2f\x82\xa5\xa7\xbe\xe2\xfb\xb5\xaf\x2e\xee\x84\x02\xe1\xfd\xaa\x48\x80\x7e\x85\x21\xc5\xe0\x85\xcb\x60\xd2\xd7\x02\x45\xf9\xbb\x0f\xbc\x18\x78\x19\xfb\x14\xf8\x14\x4f\xf9\xdb\x96\x20\xdb\x1b\x6d\x04\x77\x01\x49\xb0\x6c\xea\xa7\xb4\xd1\x91\x55\x7a\x9d\x7a\xf6\x6b\x2a\xbd\x2a\x7c\x6d\xe5\x99\xca\x02\x2a\x0b\x2e\x3f\xfd\xf5\xf7\x7e\xe5\xfc\xbe\x0d\xc8\xe5\x63\xeb\xf8\xb9\xc0\x02\x68\x70\xd7\xd3\x3f\x65\xcd\x59\x97\x5d\xb9\x2a\x48\x7c\xcc\x9b\x31\xcf\xf4\x91\xf9\xc8\x65\x3f\xa9\x56\x3b\x09\xd8\xa7\x09\x0e\x32\x11\x9a\x50\x51\x56\x88\xbc\x92\x6c\x57\x36\x6d\x1c\x35\x4f\x11\xa4\x33\x1b\x27\x03\xdb\x5e\xfd\xa2\xab\x1c\x78\x13\x12\xe0\x2c\xa8\xd2\xb9\x1b\xb3\x61\x29\x54\xec\x99\xf3\xa5\x65\x55\xfb\xae\x73\x31\x30\xab\xdb\xd9\x16\x84\x66\x74\x39\x17\x13\x80\xfc\x80\xc3\xfe\x1c\xfc\x54\xbb\xae\x7b\xd2\x21\xb0\x8a\x4c\xc0\xa7\xd1\x40\xef\x4f\x4c\x8e\x97\xd5\x74\xc7\xbd\x21\xc9\x0e\xfa\xb9\x5e\xe3\x4c\x21\x74\xad\xe6\x69\x20\xf6\xa4\x96\x5e\xb8\xf9\x3a\x43\x12\xf8\xcc\x52\xee\xd6\x09\x82\xbd\x99\xf0\x4b\x9c\xfd\x0d\x12\x3f\x32\x54\xc9\xea\x59\x78\xff\xdb\xa9\x46\x71\x23\x1d\x30\x85\x8a\xb0\x0a\x3c\xf2\xbd\x16\xaf\x68\xd1\xad\xce\xfa\x9a\xf5\xc3\x29\x99\x06\xf5\xae\x1b\x6b\x65\x73\xb9\x61\xbd\x54\x93\x6c\xd5\xf1\x0d\x78\x83\xb5\xaa\xc9\xff\x01\x39\xb4\xf1\xbd\xd2\x64\x8f\xc9\x25\x2b\xfe\xb3\x62\x38\x58\xfd\x5a\xca\x20\xeb\xc8\x3b\x67\x9d\x03\x76\x38\x0c\x6e\x17\x37\x93\xcf\xbb\xd4\xd8\x61\x93\x80\x26\xbd\x5e\x1c\x8a\xc1\xd4\x6f\x9c\x62\x7b\x77\x09\x4f\x4f\xe1\x03\xfb\x15\x37\xbf\x6a\xcf\xaf\xb7\xd8\xb2\xce\x9e\xc0\x05\xc3\x2c\xe9\x7e\xa2\xf3\x57\x59\x16\xbe\xf0\xd8\xbb\x71\xc3\x8e\x7a\x9d\x1b\xb0\x8e\xb3\x56\x6f\xce\xbb\xe9\x67\xc6\x27\x35\xc2\x8d\xf7\x28\xab\xea\x22\xd5\xa5\x0c\xc3\x0a\xfe\x41\x96\xd3\x83\x06\x5b\x9d\x3a\x94\xd3\x50\xbf\xf1\x7c\xb9\xd3\x92\x2b\x3e\xa4\xf2\x23\xd1\x06\x32\x3f\x24\x4d\x6e\x64\xbd\x75\xea\xc0\xa8\x65\xd1\x53\x9f\x4a\x25\x9f\x8c\xad\xfe\x12\x65\xd8\x9e\x7e\x9d\xfd\x55\x9f\x71\x97\xd5\xf1\x18\x9a\x0a\xbc\xde\xb3\xd9\xd2\x88\x7a\xd9\x05\x52\x6e\xe0\xd0\xbf\x2c\x37\x84\x05\x8b\xcb\xb1\xe8\xf7\x12\xb5\xf7\xd1\xc5\xc5\x3e\x60\x17\xc5\x15\x06\x0a\xcd\x2f\xeb\x75\x46\x12\x67\x87\x87\x13\x4f\x67\x29\x50\xe7\x95\x4a\xf4\x85\x5c\x29\x58\x1b\xbf\x04\x6b\x20\x56\x46\x22\xf1\xe8\x03\x5c\x74\xf6\xd7\xd8\xca\x72\xd2\x02\x23\xf2\xd8\x77\x45\x5d\xb3\x73\x1a\xac\x3a\x59\xa0\x23\x6e\x87\x9a\x38\xc1\x80\x0b\x4c\x6d\x22\x36\x44\x1b\x8b\xda\x0a\x8e\x1c\x56\x00\x1b\xc4\xa1\xae\x48\x60\x51\x20\xe0\xaf\xa2\xaa\xe0\xa8\xd2\xaf\xee\xad\x51\x17\x6b\x47\x0c\xd3\xff\x5d\x01\xf2\x3c\x32\x92\x4e\x88\x3f\x9d\x91\xa4\xe0\x55\x0d\xe7\xd0\x26\xe4\x19\xf2\x7c\x86\x61\x95\xb9\xbd\x02\x5f\x47\xdc\x8f\xb1\x7d\x9b\x64\x69\x9f\x21\x90\x3a\x60\xc8\xbe\x05\xe5\x85\xd1\xc1\x1b\xa1\xf8\xf5\x5b\x04\xed\x5c\x2c\x59\xa9\xc4\x5d\x4a\xb3\xba\xfe\x19\xe9\xcf\xb9\xdf\x90\x88\xac\xc4\xc3\xac\x7e\xbb\xb6\x97\x4f\x10\x11\x93\x9e\x1c\xde\x41\x25\x3e\x9d\x0b\xb6\xf1\x99\x04\x5d\xd5\xe4\x13\x32\x50\x99\x6c\x35\x70\xb8\xe0\x4f\x93\xc3\xd1\x90\x08\xf6\x81\x5b\xca\x80\x34\x4f\x40\x9f\xc2\xa1\x11\x2c\x00\xc7\x00\xd2\xac\x8a\x87\x83\x2d\x83\x2c\x19\x99\x34\xbd\x1d\xec\x58\x37\x9f\x2d\x23\x3f\x90\x33\x92\xb8\x04\x7f\x7b\x1e\x1f\x8b\xfd\xa9\x16\x4d\xce\x87\xdf\x43\xbf\x8d\x31\xce\x38\xa3\x15\x61\xbd\xaf\x1e\x59\x29\xb3\x4d\xbf\x22\x6b\xea\x13\xad\x61\xe6\x5f\x3d\x34\xa7\x4a\x71\x4d\x85\xe5\x3f\xa2\xcc\x6e\x68\x36\x8e\x6b\x8a\x1d\xc9\x9c\x98\x10\x9d\x50\xff\x1a\x20\x10\x09\x9a\x32\xa0\x3b\x89\x33\x0c\xb3\x67\x82\x34\x01\x1e\xd5\x8d\x5a\xd0\xa6\xd3\xa9\xa7\x47\x5a\xec\x6b\x28\x6d\x8d\x0c\x70\xb6\x76\xab\xeb\xa6\x0c\x72\x69\x5a\x11\x46\xcd\x7d\x8a\xb8\x8b\x69\x3a\xc9\x2f\xeb\xfb\x9a\x10\x1d\x8c\x63\x7a\x50\x9f\xc5\x75\x56\xc5\x51\x39\x45\x8d\xd2\x26\x27\xcc\x2f\xec\x0b\x87\x91\x76\xe5\x9c\xf2\xad\xf9\x04\x3c\x80\x32\x86\xdf\xf4\xdb\x8a\xde\xf6\x8c\x16\x85\xe9\x59\x51\x29\x82\x6a\x2e\x1a\xcd\xf8\x48\x4e\xac\xfb\xa2\xda\x17\x31\x31\x99\x73\xcd\xd5\xca\x97\xad\xe9\x92\xe7\xd8\x8b\xe0\x7b\xe6\x0d\x9d\xa5\x27\x7c\xad\x6b\x83\xaa\x6c\x54\xab\x25\xef\x31\xf2\xea\xaa\x8b\x1d\x43\xa5\xcf\xdd\x67\xf6\x51\x55\x4a\x5b\xee\x27\xf2\xc4\x55\xfa\xd8\x94\xfb\xcc\x9d\x97\xd6\xb6\x7b\xbf\x38\x31\xe9\x20\x1f\x8a\x8d\x72\xa5\x6e\x9a\xef\xe2\x9a\xd2\xb9\x85\x12\xcd\x7d\x1d\xba\xce\x0a\x05\x3a\x13\x11\x00\x2c\xc4\xd0\xb9\xdc\xf7\x36\x1a\x58\x37\xa4\x9f\xae\xef\xac\x66\xac\xc1\x1a\x65\x9b\x27\x05\x0d\x07\x4e\x4d\x19\xa1\x15\x32\x70\x7c\x82\x34\xd9\xf4\x70\x36\x05\x90\xb6\x02\x56\x6e\xeb\x93\x81\x70\x26\x53\x3d\xc8\x5b\x2d\x20\xdf\x9e\xf1\xe0\xbf\x7e\x9d\x4e\x6a\xc6\x49\x9e\xb0\x9c\x59\xf5\x2f\x63\x60\x59\x41\x71\x36\x9a\x2d\xfd\x8b\x59\xae\x33\x30\x23\x56\x7e\x1a\x68\x07\x73\x86\xfe\x45\x50\x54\x3b\xa1\x75\x1d\x97\xf0\x62\x36\xd6\xf8\x86\x57\x44\x23\xc5\x07\x4e\x31\x6f\x3e\xc1\x19\xea\x29\xce\x98\xa9\xff\x43\x1b\x78\x34\x8c\x24\xb5\x2f\x6a\x08\x6c\x31\xf7\x0a\x79\x97\x2e\xd8\x2f\x9b\xad\xf2\x2c\x97\xee\xf2\x8d\x52\x72\xd7\xf9\xe3\x96\xd0\xf7\x5b\x59\x45\x2a\x47\x10\xd0\x95\xe2\x4b\x6d\x2f\xfd\x7c\x37\xfd\xc7\xee\xfc\x0b\xef\xfc\xdf\x53\x49\xb8\xea\x82\x53\xc6\x97\xb8\x71\xa6\x46\xd5\xd7\xe3\x8d\xb9\xf8\x8c\xa8\x36\xfd\xcc\x15\x05\x3a\x05\x63\xe6\xfa\x56\x73\x07\xc2\x0b\x40\xd8\xea\x77\x9a\x80\x2b\xda\x6b\xff\x31\x81\xc4\x63\xcd\x1c\xcf\xf5\x61\xc3\xad\xe2\xe9\xc9\xfe\xa4\xe1\x77\x1e\x30\x0b\x3a\x59\x35\xcd\x51\xb4\x22\x0a\xc0\x8a\xea\x9f\x2b\x16\x67\x22\x12\x25\x2a\x1e\xa3\x32\x1a\x01\xe9\x74\xcb\xf5\x9a\x60\x8d\x47\xa5\x90\xdd\xb4\xa5\x0d\xc0\x66\x3a\x68\x4e\x33\xec\x16\x33\xc6\x16\x5e\x05\x86\x7e\x3c\x50\x10\x03\x4d\xfa\xbf\x5a\x00\xcb\x04\x2a\x77\x82\xf9\xc6\xcf\xd6\xd2\x90\xf2\x49\x30\xa0\x16\x70\x21\x22\x60\x81\x50\x53\xe6\x02\x0b\x4c\xe8\x03\x15\x36\x0b\x0a\x36\xac\x4f\xdc\xd4\x13\x7b\x03\x26\xb8\xbc\xad\x60\x28\x89\x02\xdb\x85\x92\x13\x05\xbf\xb9\x4d\x71\x0b\xb4\x61\x50\xc8\x06\xcc\xd8\xd9\x3d\x50\x9b\xeb\x5a\x5f\x5d\xa3\xde\x70\x76\xf5\x57\x91\x7f\x7b\x6d\xaf\x68\x3a\x0d\xf5\x55\x0c\x75\x06\x2c\x0a\x41\xe9\x87\x6a\x39\xf4\x5e\xf7\xab\x2a\xef\xa5\xd5\x04\x37\x23\xed\xc0\x43\xaf\x66\xa5\x05\x9c\x5d\xb7\x11\x8c\x10\x14\x67\x72\x8b\x7b\x4e\x59\xbc\xb2\xb4\x20\x35\xac\x8f\x14\xc4\x1e\x24\xa0\x4f\x80\x08\x65\xfe\x0d\x47\x6e\xc5\xc6\x73\x98\xe1\x24\x8a\x8c\x5c\x06\xef\x69\xfb\x60\xe3\x44\xd6\xd8\xd9\xd1\xed\x3f\xb4\xdf\xbe\x05\x3b\xf2\x00\xea\xe8\x77\xdc\xcc\xeb\x35\x55\x82\x78\x6a\x7e\xee\xb4\xcc\xa6\xd6\xdc\xb5\x86\xaa\xa7\xf4\xd6\x9d\x9f\x3e\x87\x79\xd3\xa9\xdf\xf6\xe0\x29\x1c\xd2\x6f\x29\x6c\x2a\xde\xee\x91\x48\xf0\x2d\x1d\x96\x3b\xfb\xc8\xf4\x03\x03\x2b\xd9\x7c\x91\x18\xd2\x2b\x5b\xa5\x8a\x2d\xd9\xd8\x15\x5a\x47\xae\x13\x58\xf9\x66\x7e\x3c\x46\x89\x86\xc4\x5f\xce\xf4\xcc\x9d\xe1\x1c\xf7\xfd\x8e\x7f\x72\x1d\xbd\x66\x5e\x05\x10\x52\xcc\x05\xbe\x0d\xdf\x82\x8b\x34\x2f\x29\x2b\x8e\xd8\x31\x4c\x61\x31\x50\x15\x45\x76\x7e\x1a\x92\x3a\x2b\x4c\x3e\x8e\x12\x4d\xc6\x65\x95\x62\x37\x0f\x35\xa4\xb7\xd3\x5b\x09\xde\x48\x6f\x16\x7d\x70\x10\x03\x69\x38\x7f\xf1\x3b\x1d\x60\x7f\x94\x24\x90\x37\xbd\x98\x7e\xef\x59\x77\xa2\x34\xf7\xe5\x52\x79\x70\x06\x4a\x92\x73\x88\xa2\xaa\x03\x82\xbd\xe0\xc1\x87\x86\x02\x7d\xd8\x21\x2a\x59\x66\xd7\x7e\x91\xb0\xf1\xb0\xea\xa6\x57\xf9\x81\x5d\xb4\x54\x4b\x56\x18\xe0\x30\x46\x79\xf9\xda\x6c\x83\x1b\x89\x24\x22\x99\xcf\x5c\xd6\xf9\xc2\x41\x1a\xbb\x83\x45\x3f\xfe\xa2\xd4\x04\x57\x0d\x2c\xdd\x5b\x62\xf2\x12\x1e\x30\x71\xf9\xe6\x10\xd3\x2e\xfb\x7c\x97\xcc\x78\xb5\x5a\x1e\x8d\x2f\xca\xcb\x81\x04\xc1\x95\xff\x5d\x92\xf0\xd5\x50\x2a\x34\x1a\x03\x94\x24\x2a\x28\x93\x94\xc1\x89\x08\x19\x52\x37\xd1\x01\xb4\x4c\xa0\x26\xbe\xa2\xe0\x12\xe5\x60\x67\x6f\x10\x54\xdc\x91\x2e\x19\xa2\x24\x9c\x56\xcc\x87\x89\x68\x16\xb5\x55\xee\x4c\xf0\x48\x6e\xa8\x65\xbe\xfa\x69\x5f\xad\x22\x81\x93\xd8\x03\x6f\xdf\x81\x00\xfd\x16\xb7\x65\x2a\x6d\x62\xee\x9d\xe4\x44\x32\x9a\xa3\x96\x75\x7b\xf4\xf4\x1e\xdd\xb9\xd1\x88\x0d\xdf\xb6\x5c\x1b\x9f\xa8\x89\xef\xd8\xbf\xe8\xa9\xec\x84\xd9\xed\x5a\xa7\x44\xc7\xdc\x9a\xc6\xf4\x0a\x76\xe8\x7a\xfe\x0e\x31\x55\x6c\x87\x10\xe0\x52\x6c\x2d\x77\x6b\x32\x56\xf9\x78\xd9\xd5\x91\x3b\x9d\xd8\x80\x34\xfd\x30\x30\x85\x3d\xd4\x91\x78\x8f\x7e\xde\xbd\xda\xab\x03\x03\xd1\xd7\x0c\x6f\x32\x02\x52\xdb\x6d\x7f\xd4\x94\xb8\xd7\x3d\x7f\xde\xf4\x5f\x7f\x9d\xd1\x72\xd7\x1f\xfb\x96\x5a\x26\x96\xd7\x9f\x2f\x7f\x1b\xdf\xb8\xa7\x9d\xaf\xa1\xab\x28\xe7\xcd\x5b\xcd\xe1\x43\x7b\xe8\x25\x62\x5b\x66\x03\x85\x2e\xe1\xcc\x3c\x4e\x63\x30\x47\x32\xb8\xda\xbc\x6a\xab\xf7\x7e\x48\x92\xe5\x69\x44\x50\x9c\xc2\x63\x65\xde\x7f\x7c\x3a\x50\xdc\x37\x69\xc5\x2f\x71\x18\x97\xd5\xd7\x2d\xda\x8f\xa7\x1b\xcd\x7f\xfa\x5c\xec\x62\xd1\x37\x52\xf4\x3e\xaf\x5c\x6c\x24\x7d\xed\x56\x11\xb5\xf8\x82\xcb\xf7\xda\x86\x1f\x55\xf6\x9f\xc8\x1d\x2a\x42\x33\xfd\x6c\x94\x0e\x14\x52\x50\x66\xeb\x09\xd1\x64\x03\xaf\x27\x0e\xbe\xfa\xcd\x3c\x6a\xc6\xc1\x0e\x14\x45\xad\xec\xc2\xcb\x1f\x78\xfc\x0b\xf7\xb3\x7d\xc4\x36\x66\xad\x73\xd0\x17\x28\xc4\xb0\x53\xc8\xcb\x1b\xee\x65\x7e\x01\x34\x9e\x04\x55\xd8\xe0\xe8\x29\x11\xd3\x43\x31\xe5\x69\x8b\x73\x25\x43\xf5\xac\x72\xa3\x1a\x48\x22\xf7\x33\xd8\xe6\x0e\xda\xd8\x83\x1e\x29\x09\x94\x8b\x4c\x5b\xd8\xe8\xd3\xa9\x29\xcc\x6d\x6a\x0c\x14\xa5\x01\xe6\x03\x55\xed\x86\x1b\x03\xdb\xd9\x9c\x22\xfc\xfe\xc5\xd9\x49\x89\xa7\x52\x0b\xf0\xb7\xc6\x36\xcd\x57\x33\xae\x96\x6e\x50\xa5\xd7\xd1\x48\x8d\x87\xb5\xd5\xdf\x9b\x35\x51\x37\x73\x5c\xea\x40\xbf\x8e\x13\x53\x77\x95\xaf\xae\x52\x68\x14\xc6\x84\xf8\x65\x71\xea\xdc\x8d\x47\x30\x3f\xde\xbd\x7e\xfc\xd8\x91\x5a\x1b\x3e\xd5\x0e\xde\xd6\x02\x47\x4c\xee\xee\xe5\xdb\xd1\xc5\x63\x01\x5b\xc3\x64\xfd\x4e\x0a\x8d\x25\x43\x39\x8b\x58\xa5\x3c\xfa\x51\xed\xed\x5e\x69\xf9\xbb\xda\xef\x8b\x70\x2c\x55\x20\xc8\x91\x14\x17\x0b\x1f\x54\xc3\x89\xf6\x7e\x91\xed\x55\xae\x32\x17\x28\x27\x77\x7c\xd6\x2f\x9a\xab\x42\x33\x14\x00\xc2\xea\xb1\xd7\xe8\xe7\x4a\x08\x2c\xbb\x74\x0a\xea\x1e\xdc\xf1\xac\x57\x67\x4c\x4e\x24\xf2\x20\x5b\xc8\x56\xe3\xfc\x0e\x7c\xde\xbe\x99\x76\xc0\x68\x30\x58\x9d\x58\xfe\x0c\xe9\xec\x9a\xcf\xd0\x3c\xdb\x6a\x8e\x68\xe7\xf9\x9c\xb6\x19\x89\x6a\x30\xd0\xce\x7b\x72\x4c\x4e\x6d\xb3\xad\xe6\x5b\x5b\x4c\x1e\xf6\x33\x53\xb1\x24\x59\x08\x83\x11\xf7\xa5\xf1\xca\x88\x13\x7e\x0d\xdf\x87\xa5\x7f\x92\x91\x4b\x9e\xb0\xba\xad\xf1\x18\xdd\x21\xd5\x51\x45\x28\xd8\x8b\x9a\x93\x8b\xc3\xd9\x50\x3a\x26\x7f\x97\xf9\x7b\xaf\xc6\xbc\xd3\xac\x34\x73\xc5\x93\x89\x85\x57\x4c\x33\x41\x8c\x36\x85\x52\x0d\x11\x69\x76\x2d\x15\x37\x05\x53\x10\x3a\x9f\x4c\xb1\x33\xad\xb0\x65\x06\x9a\xf1\xee\xb9\x3d\x5e\xaa\x8b\x89\xaf\x19\xa2\xc5\xa6\x34\xcb\xb3\xbf\x34\x06\xc2\x4f\x43\xdf\xe9\x52\x7e\xdc\x90\x8c\x85\x4e\x4b\x30\x2b\x63\x24\x26\x33\x96\x4d\xb1\xfc\xd6\xe9\x75\x3c\x3a\xa5\x22\x15\x5a\x93\x94\xe8\x00\x2c\x9d\x8a\xc7\x6e\x32\x4e\x96\xc6\xd4\xce\x45\x47\x96\x10\xeb\xd1\x25\x57\xd5\xa9\x21\x60\x10\xdd\x03\x34\xd9\x89\xc2\x87\xfa\x1b\x0f\xba\x5f\xda\xce\x1c\x60\xd5\xea\x80\x7d\xb4\x2e\xf1\x4b\x71\xdf\xf4\xc5\x7e\x9b\x4a\xc7\x6b\xa6\xa7\x74\xb9\xca\x6b\xcd\xf6\x53\xc3\x79\x2a\xcb\x0d\xb3\xca\xfb\x29\xf7\x49\x8c\xf9\x6b\x24\x51\xee\x86\x8c\xde\xf6\x86\x72\xd5\x71\x33\x89\x54\x94\xb5\x7f\x29\x41\x0a\x52\x73\xfe\xc8\x3d\x5b\x44\xb8\x0a\x6a\x39\x1c\x71\xaa\xef\xe2\x76\x1e\x7f\xcf\x43\xdc\x6e\x6f\x03\xe2\x9d\x4b\x52\x1e\x32\x86\x76\xdf\x29\xc6\xcd\xd4\x31\x64\x9c\x63\x7d\x44\x99\x32\x6b\x3c\x39\x3f\xc0\x5d\x0e\x3b\xc4\x38\xfd\xa1\x7f\xfa\xba\x42\x52\x29\x78\xf6\xcb\xa3\x3b\x48\xd3\x69\xb4\x7d\x7b\xcd\x37\x34\x9e\xcd\xca\x17\x34\xcf\x8f\x5b\x16\xc4\x0b\x0c\xde\x3a\x67\x9a\x56\x07\x2d\x7d\x40\xb8\x20\xdd\xa1\x1a\x5f\xd7\x80\x4a\x50\x7a\x17\xa5\xb3\x8f\xfa\x87\x8d\x95\x58\x3b\x97\x29\x61\x44\x4a\xcd\x3f\xa5\x8f\x9c\x5c\x15\x23\x58\x92\xc1\xec\x72\xe9\x9a\xe7\x77\xf0\x6d\xbe\xc9\xcd\xfe\x41\xf3\xd0\x8e\x32\x5c\xa9\x0d\xdd\x3d\x11\xe6\x36\x39\x6a\x89\x52\xf0\x0b\x4c\x6d\x8a\xa1\x8b\x02\x2e\x49\xc2\x65\x47\xe3\xb5\xfc\xa0\x52\xb0\x27\x9c\x88\x76\xf7\x24\x98\x09\x50\xd0\x19\x3e\x35\x68\x0c\x5f\x0a\x80\xaa\x01\x63\xd5\xd2\xa0\x57\xae\x3f\xbc\x86\x2b\xfa\xc2\xe0\x00\xf5\xff\xbc\xf7\xe3\x60\xde\x83\xcf\x87\xb2\x23\x43\xbd\x80\x97\xcb\x08\x18\xc5\x42\xea\x9b\xe9\x57\x27\x42\xab\xc3\x7e\xb3\xab\x82\xcd\xfd\x63\xe1\x62\x0d\x00\x13\xd2\xfe\xef\xda\x35\x7e\x7d\x60\xf0\xd5\x41\xd6\x45\x28\x12\x28\x72\xa2\x1b\x7b\x32\x6d\x65\x35\xfb\x14\x0a\x74\x3e\x60\x76\xb3\xc3\x03\x03\xef\x64\x02\x2c\x0c\x70\x2a\x3d\xae\xcf\x95\xc6\xbc\x01\x18\x27\xd8\xe1\xb9\x07\x20\x6f\x8e\x24\xdd\xa5\xaa\x3b\x66\xf2\x60\xa2\xcc\xa2\xd8\xfc\x74\xb1\xb9\xc9\x9f\x4a\xaf\x24\xdf\xfb\xe3\xaa\x48\x1f\xfe\xe5\x5a\xe5\x00\x04\x12\x4b\x95\xc3\xd4\x8a\x83\xb1\x1c\xcf\x6b\x03\xc0\x2b\x10\x4c\x01\x6d\xed\xad\x14\xde\xdf\xef\x52\x32\x1e\xa4\xe5\xae\x31\xf4\x2c\xb0\x71\xe1\xc7\xc3\xf5\x88\x95\x87\x46\x1e\xef\x0b\xc1\xa3\x70\x92\xcc\xb9\x2d\x97\xbd\x4a\x25\x62\xc7\xeb\x1f\xa0\x95\xcf\x3d\x67\xf5\x56\xf5\xa3\x8d\x5e\x89\x79\x81\x90\xbd\x7e\xcf\x17\xc3\xd7\xbc\xf5\x15\x30\x7e\x2d\x50\xc7\xcf\xd7\xaa\x7b\xfc\xc6\x9b\x42\xa2\xf8\xc6\x32\x58\xb2\x5a\xda\x3f\xeb\x08\x6f\x47\x21\x78\xcd\x6e\x2e\xca\xdb\x7d\x25\xae\x7d\x4f\x1b\x6f\x09\x5f\xbe\x3f\x62\xb8\x1b\x4a\xdc\x12\xe1\x89\xe7\x4e\xbe\xf9\x76\x1b\xb2\x24\x62\x6c\x3b\x7a\xe9\xce\x60\x86\x26\x4b\xab\x87\x78\x5e\x5d\x22\x11\x92\xe5\x15\xc3\x64\x98\x0f\x2b\x11\xe4\x67\x0b\x01\x65\x49\x32\x80\xf9\xaf\x8b\x04\xf6\x20\xf2\x81\x14\x42\x23\xf0\x28\x69\x6a\x4e\x4e\x3e\x53\x77\x46\xc1\x0c\x57\x00\xd3\x0c\xa1\x7c\x97\x03\x62\xb8\x18\x09\xfe\x02\x88\xc0\x57\xf9\x6f\x57\x5e\x5c\x71\x13\x1a\x8f\x3f\xbf\xa6\x31\x3e\x04\x42\x00\x4c\xd0\x2f\x3d\xd1\x69\x52\xff\xdb\x2c\xbe\xeb\xf8\xe0\xc8\x63\x79\x6b\x57\xbe\x18\x5a\x29\xc7\x42\x55\xbc\xa0\x8e\xd6\x6b\x6a\x79\xd5\x1b\x34\x58\xfe\xf5\xc7\x4b\xc3\xe6\x2c\x0d\x33\xf1\x0a\xee\x46\x00\x02\xfb\xe5\xbc\x39\x18\xe2\x70\x4b\xeb\x75\x8e\xaf\xb0\xd5\xb7\x83\x0b\x97\x8c\xd9\x71\x90\x40\xf7\x9c\x98\x4f\x41\x76\xfe\x79\x47\x34\xf0\xfa\x90\xcb\xde\xde\x2e\x2c\x6d\xb9\xa3\x23\x44\x22\x5e\xcc\xd1\xa3\x87\x01\x38\x6c\xa4\x51\x5a\xf5\xa5\x31\xf5\xf3\x82\xab\xd0\x43\x94\xae\x9f\xe8\x5c\xab\x34\x6f\x4a\xdc\xa8\x8c\xe8\xed\x9e\x8a\x0f\x95\xa6\xa0\x85\x1d\x93\xfd\x64\x44\x36\xe7\x68\x5b\xa6\xbc\x7c\x1a\x99\xd7\x4c\xd1\x1c\x5d\xd5\x56\xf8\x7e\x81\x2e\x86\xd7\x3a\xb6\xe9\x0e\x8c\xc6\x12\xcc\xd4\x30\x7a\x2a\x05\x18\x1c\xfa\x19\x15\x9a\x48\x58\xd7\x2c\x80\xcf\xbf\xcf\x37\x9f\x91\x7a\xae\xf6\x55\xf4\x51\x4e\xbc\x65\x2e\x37\x24\x3a\xba\x86\xc5\x2e\xcd\xca\x30\xd6\xa3\x4d\xbd\xe5\x6a\xb9\x13\xeb\x39\xff\x17\x67\xaa\x0b\x7b\x32\xda\xac\x43\x8d\x1b\xfe\x1b\xab\x4f\x19\xbd\xa2\xe5\xa2\xb8\xd3\xfb\xff\x90\x4e\xd9\x98\x7f\xc3\x40\x2e\x8b\xd4\x57\xd4\x31\x05\x44\xb1\x07\x7a\x1c\x5b\x10\xc1\xb0\xe2\x5b\xb0\x4d\x25\x56\xe6\x35\xec\x72\x21\x34\x26\x55\x99\x72\xab\x0d\x73\xe2\xa0\x37\x25\x79\x7f\x00\xe7\x4e\xd9\x4a\x28\x3f\xa5\x6e\x59\x6d\x89\x1e\x22\x54\x13\xfa\x43\x8d\x4d\x6d\x72\xfb\x2e\x04\xee\x98\xdd\xb4\x7b\x62\x53\x4e\x54\x8c\x1d\xec\x5d\x2a\x19\x7d\xe8\x92\x1b\x76\x60\xaa\xa4\x98\xfb\xa2\x95\x31\xea\x5e\x48\x9d\xe5\xee\x8b\xd3\x76\x93\x4e\x6f\xee\x55\xdb\x86\x41\x53\x36\x57\x99\x4f\xd9\x89\x65\x0b\x5b\x28\xda\xce\x42\x11\x03\xe5\xa2\xcd\x9d\x1e\x85\x74\x6f\x31\x62\xcf\xab\x15\x5a\x48\x82\xe7\xbc\x7b\xd1\xc0\xf5\xa4\x7e\xcb\x4e\x80\x7d\x56\x1d\xcb\x8b\xd9\xb9\x00\x6f\xb2\x92\x15\x3c\x8b\x3e\x23\xc7\xfd\xa2\x6f\xaa\xf0\xee\xbe\x54\x46\x44\x22\xef\x1b\x25\x37\xef\x33\xae\xac\xd7\x2e\xf5\x28\x3f\x15\xbe\x66\xb7\x92\x83\x8a\xe5\xe6\x5d\xdf\xd2\xf5\x60\x21\xf5\x9c\xc0\xb1\xfc\xc0\xbf\xbc\x31\x25\x55\xef\xf4\x71\x4c\x3a\xe8\x9c\xa7\xa8\xcf\xb8\x7c\x92\x04\xfb\x40\x38\x27\xf3\x17\x2b\xae\xf5\x56\xa8\xb6\x57\x1e\x75\xdb\xa0\x82\x9d\x30\x7f\x8b\x0b\xcb\x7d\x20\x2b\x54\x2f\x89\xee\x51\x6e\xe9\x13\xa0\xe2\x6c\x10\xea\x9e\x7e\x86\x63\xbb\xf2\x7b\x97\x70\xab\xfe\x61\xed\x3d\xa6\xe8\xa3\x56\x3a\x23\x76\x6d\xf8\xe9\x7e\x90\xe2\xc8\x31\xee\x81\xcf\xed\x90\xf6\x74\x09\x30\x8d\x53\x50\x48\x81\x5d\xb6\x2f\xc8\x6a\xe2\x67\x2f\x21\xbb\x92\x88\x1b\x7b\x2f\x1b\xa3\x63\x20\xe5\x6a\x9d\xd0\xf7\xc9\x68\x91\x85\xe2\x5b\xe3\x3d\x92\x10\x55\xd5\xfa\x40\xca\x8d\x71\x8b\x49\x67\x36\xce\x4d\x96\xad\xff\xfa\x1f\x97\x95\x6d\x71\xe9\xfb\x25\x59\x38\xec\xbe\x64\x63\x7f\xd5\x60\x22\x17\x8d\xda\x58\x91\x74\xae\xa4\xe5\x01\xb3\x9d\x13\xa4\xaf\x3e\x9d\x17\x07\x22\x03\xb7\xfb\x7b\xe2\x85\xc5\x72\x69\xb8\xc5\x14\xe9\x50\x9d\x4f\x3f\xfb\xac\x30\x3d\x86\x2f\xbf\x39\xb3\xd2\x46\x01\xed\x13\x6e\x1e\x56\x7d\xa6\x4f\x59\x5b\x12\xd5\x9c\x0f\x1b\xbd\xb5\xaf\x22\x49\xee\xd9\x0a\xe9\x7b\x47\x45\x7a\x09\x60\x29\xd3\x87\x72\xca\x12\xec\xc1\x1d\xb6\x4f\x6f\x4b\xf1\xff\x59\x02\xea\xba\xa7\xfe\x53\xef\xe9\xc7\x02\x95\x34\x03\x3b\xa0\xa5\xbb\x94\xbe\xeb\xb7\xd4\x1e\x4c\x27\xf4\xb1\xb9\xa2\x3e\xe1\xb0\x63\xe8\xc4\xe1\x92\x4e\x40\x19\x95\xbd\xe0\xaa\xf1\x38\x20\xe1\x17\xca\x8b\x8a\x7b\xec\x82\x95\x7a\x14\x62\xf6\x04\x38\x05\x5f\x78\x08\x56\xe2\xd4\xf0\xd3\xdc\xda\x28\x1e\x58\x22\x5d\xce\x94\xac\xc4\x9b\x4d\x36\x77\xfe\x2c\xa4\x66\xe8\x67\x66\x94\xd3\x2b\xcd\x9c\x29\x54\xaa\xd5\x4a\x1b\x55\x08\x74\x3e\x0d\x2d\xe8\x5d\x7a\x7d\x03\x1b\x86\x6f\xa3\x2a\x91\x6d\x47\x07\xc5\xb6\x1f\x96\x31\x89\x53\xcd\x1d\x8c\x3c\xbb\xb1\xba\xbb\xdb\xb5\xe5\x87\xfc\xb7\x26\xaa\x85\x15\x3a\x17\x97\x99\x51\x83\x7a\xf1\x48\xed\xe1\x6a\xba\xbd\x6c\x1a\xa6\x6a\xfe\xb9\x4c\x01\xee\x1c\x0d\xd8\x46\x2c\xfb\xff\xc1\xf0\xf8\x8f\x61\xe8\x59\xaa\x22\x27\x4c\xcb\xac\x86\xc9\xb4\xa5\xb2\x62\x4a\x70\x7b\xf6\xbc\x97\x36\xad\xd5\xab\xe6\xa4\x0e\x68\x93\xe6\xd1\x5d\x13\xbf\x8d\x10\x6d\xaa\x0d\xfd\x45\xd2\x3d\xae\x0b\xd2\x7e\x92\xea\x66\xa1\xbb\xda\x04\x46\x76\x1c\x8a\xdf\xea\x87\x45\xbb\x60\x45\x57\x69\x6e\x16\x75\x78\xe0\x38\x21\x47\x56\x59\xe7\x3f\x3f\x37\x4b\x5e\xf6\x15\x2b\x9b\x5b\x32\xb7\x96\xdd\x25\x5f\xac\x6d\x77\xe4\xba\x73\xc3\x5a\xb5\xea\xe9\x4d\x5a\x3f\xdc\x76\xe2\x6c\x9e\xb3\x93\x39\xa3\xb9\x66\xa4\x88\x4f\xca\x0c\xcf\x7b\x1c\xf9\xb2\xaa\x2c\xb3\x27\x39\xab\x2f\x1b\x7d\x15\x00\x0d\x54\x7d\xe5\xcc\x1b\xeb\xca\xe7\x36\xd9\xde\x56\xeb\x7a\xc3\xb4\xff\x76\x55\x12\xb9\x5b\xe2\xd1\x64\x54\x1e\x2c\x5f\x75\xea\x56\xca\xed\xa3\xe4\x45\xcd\x2b\x42\x16\x3a\x81\x78\xe2\xe1\x61\x8f\x59\x2e\x4c\x34\x8d\x72\xdd\x50\xcb\x31\xf2\x22\x11\xad\xa1\x6e\xaf\xef\x6a\x5b\x29\x58\x73\xd6\x11\x35\x34\x8d\xf5\x01\xdb\x20\xc9\x34\x73\xe5\x53\xca\x36\xdd\xc1\xab\xa2\xf2\x0c\x7b\x99\x28\x05\x2c\x89\x6b\x57\xaa\x87\x10\xfb\x0a\xab\x3a\x1a\x44\x6d\xaa\x33\xfc\x88\xb0\x8e\x2f\x0a\xf0\x54\xc5\x2a\xdd\x1f\xd7\x05\xa9\x7a\x27\xa9\x31\x1e\xb6\x6f\xf1\x27\x33\xff\x18\xf8\x6f\x8a\x77\x7c\xd0\x8b\x14\xa5\xa9\x3d\xca\x59\x87\x3c\x10\x0a\x04\x61\x9e\x44\xa8\x6d\x82\x1e\x3f\x46\x5f\xa3\x59\x33\xe7\x66\x02\x5e\xb7\x4c\x12\x95\x66\xeb\x66\x27\x1a\x15\x40\xd4\x18\x26\x4d\x37\xb7\x46\x30\x7b\x82\x8c\xe7\x95\x12\x47\xa7\x8a\xb1\x54\xc8\x42\xc4\xd1\xce\xd3\x2f\xaf\x1f\x66\xb8\xd5\x7a\x71\x63\xf8\x5d\x2e\x4c\x2e\x49\x11\xb2\x6e\x5e\x1e\xbd\xa4\xd9\xd2\x57\xa1\x6b\x94\xd6\x28\xed\x10\x68\x1a\x8a\xdd\x63\xa4\x21\xc8\x9c\xfa\xeb\xae\x7c\xe2\x8a\x25\xd8\x3f\x25\xc0\xd0\x5c\xfd\x84\x36\xdd\x15\x51\xc6\xc0\xb4\x6e\x2a\xb9\x99\x30\xc0\x02\xe4\xb3\x27\x18\xab\x19\x27\x8a\x8d\x8e\xd3\x57\xae\x68\xc4\xa9\xe3\x9f\x3d\xfb\x00\xee\xc5\x9d\x4c\x96\x1a\xdc\x43\x67\x08\x52\x04\xf1\x9b\x99\x8c\x89\xa6\x39\x56\xee\x94\xea\xe7\x8e\xab\xd8\x9b\x41\xa5\x10\xd3\x9a\x54\xbf\x51\xf5\xae\x79\xcc\x05\xc4\x8d\x26\x69\xfd\xd9\xa3\x68\xf5\x9c\xe3\x51\x4a\x2c\x23\xf6\x7c\x64\xe9\xa9\xba\x05\x7a\xcd\xca\xf1\xa2\x7c\x79\x59\x48\xb4\xc8\xe7\xee\xd1\x7b\xaa\x46\x49\x12\x25\x99\xac\x4f\xd8\x11\xe8\x14\x82\x16\x52\x44\x92\x26\xd6\x6b\xea\x27\xce\x09\x17\xf5\x91\x28\xa8\xac\xfd\xf1\x6b\xd5\xcd\xb7\x5f\xdc\x75\xe1\x58\x54\x05\x81\xb0\x34\x83\x4a\xdd\x14\x6f\xad\x81\xdd\x74\xc7\xa0\x80\xf5\x1d\x60\x12\x58\xb3\x7f\xe8\x0b\xec\xf3\x88\x6c\x04\xda\x2f\x84\xde\x2d\xdd\xd4\xa9\xaa\xac\xae\xc1\x19\x0a\x14\x54\x42\x49\x6a\xa2\xd4\x9b\x2f\x03\x9d\x0a\x82\xf8\x4a\xc0\x6e\x30\x2c\xa6\xc4\xa7\x58\x42\xc4\xf7\xdd\x55\xba\x9e\x48\xd5\x68\x1d\xd7\x17\x46\x65\xa8\x02\x25\x0c\xd6\x36\x8e\x25\x0c\xd4\x2f\x12\xc6\xc1\xb5\xc6\x02\x14\x3a\x26\x7a\x4c\x6c\xb1\x19\x64\x4b\x54\xb5\xf4\x0a\xb1\x5e\xbc\x47\x76\xcd\x8a\xa2\xca\x0f\x53\x41\x34\x8a\x3a\xe4\x44\xc1\x04\x49\x81\x06\xf9\xde\x03\xaf\xca\xaf\x91\xf0\xe8\x3c\xb8\x0b\x96\x21\x2e\x94\x31\x3f\x1e\x6e\x54\xe5\x9e\xe0\x19\xc8\x7a\x1d\x07\x68\xd4\x93\xe5\xb0\xb5\x0c\x9f\x5a\x88\x42\xe4\x18\xaa\xf2\xa9\x17\x96\xce\xef\x87\xaf\x43\x6e\x16\xd2\xee\x97\xb5\x1f\xf9\xee\x49\x9d\x9e\x00\xf8\x8f\xb3\x89\x7e\x03\x2b\xdb\xef\x73\x02\x6d\xa6\x38\xb9\x54\x7f\xb0\xc5\x3d\x66\x21\x63\xb7\x28\x9a\x4b\x1b\x48\xf7\x8a\xea\x83\x53\xad\xcb\xe8\x48\x37\x21\x4c\xf0\x53\xbf\x2e\x44\xc4\x02\x34\xe7\x8b\x24\xfe\xd9\x7e\x5d\xcb\xda\xd9\xb4\x61\xbc\x47\xe9\x02\x9a\x73\xaf\x69\x08\x4b\x37\x90\xc0\xe0\x22\x7f\x64\xcf\xb8\x7d\xbf\xac\x89\xb5\x9a\x7c\x9f\x7b\x9d\xa9\xd8\xdc\xb0\x51\x92\x37\xde\x72\x2d\x0f\xca\x1d\x79\xa7\xfb\xc7\xe0\x88\xcc\x82\x7a\xab\x15\x52\x61\x56\xce\x5d\x08\x76\x34\x74\xbc\x96\x9e\xa0\x8f\x8b\xbf\xb0\x05\x32\xfa\x08\xed\xe4\x04\xfa\xc2\x2d\xe6\xc7\xe8\xae\xa8\x59\x44\x8e\xdb\x8c\x19\xed\x53\xd8\x40\xaa\x25\x5f\xd1\x42\x28\x46\xd6\x13\xe3\xdd\x48\x6b\x65\x7f\x25\x26\x04\x35\xfb\xd5\x3d\x27\xbc\x1b\x6a\x46\x2c\xa7\xf7\xfb\x98\xba\x47\xf5\xf4\x6f\x57\xf8\x10\x39\xe8\x3b\xfc\x28\xef\xda\xa4\x90\xc1\xf7\x58\xd0\x33\x7a\x60\xf7\x66\x9d\x4d\x83\xd4\x3c\xb5\x7e\xdf\x31\xea\xcb\xf9\x62\x52\xf4\x36\x74\xa6\xe8\x14\x30\x6c\xbd\x75\xd6\x46\x9a\xa9\xbe\x49\x6a\x11\xcb\xaf\xfb\xe3\xcb\x1e\x4a\x6f\xab\x88\x49\xcc\x71\xa8\xb9\xb6\xc4\xb4\x10\x28\x85\x1b\xae\x63\x7f\x03\xc7\x98\xc7\x55\xef\xc8\x40\xf4\xba\xab\xdb\xd1\x1d\xd1\xa2\x23\x02\x65\xcd\x26\x9b\xb1\x56\x95\xb3\xf7\xa9\xcc\xf3\x79\x28\x18\xfa\x09\xf2\x7b\xcc\xa7\x4b\x75\xa4\xcf\xe1\x98\x57\x4b\x13\x65\x01\x94\x90\x5a\x0a\x5e\x3e\x28\x77\x44\x49\xa6\x19\x92\xdb\x12\x15\xdf\xb9\x7d\x78\xc8\xde\x0a\xfe\xda\xc6\xba\xe2\x35\xbc\x67\x59\x80\x47\x32\xa6\x1c\x32\x0f\xc8\xd3\xfb\x26\x8b\xf3\xfb\x9e\x0c\xd3\x73\xcf\x83\x21\x71\x19\x80\xca\x5c\x09\xa1\xc1\x9e\xbc\xac\x8c\x8e\x19\x43\xdd\x50\x25\x55\x8b\x0d\x66\x62\xeb\x13\xf5\x05\xf7\x53\xb5\xaf\xe5\xda\x27\xb5\x48\x85\x4c\x62\x69\xcc\x2c\x9c\x73\xb5\xe4\x46\x03\xc0\xb9\xf4\x36\xe4\x04\xa6\xae\x37\xdf\xbc\x44\xe4\x0a\xe6\xa6\x67\x1d\xcc\xa3\x6f\x47\x61\x29\x6a\xe8\x53\x2d\x26\x9d\x3e\x37\x94\xd2\x79\xc6\xcf\xe7\x15\x1e\x43\x43\xce\x96\x08\x69\xe2\x5d\x00\x4d\x52\x1c\x93\xa0\xbb\x0c\x41\xf1\x1a\x8f\x30\x99\xf0\x0c\x0d\x4b\x66\x93\xb4\x46\x3d\x7a\x0b\x8c\xc6\x67\x04\x67\x8a\x03\xaf\x74\x66\x9b\x37\x17\x4b\x78\x20\x90\x5b\xd0\x12\xe5\xab\x1f\x0c\x4c\x5e\x2e\x5b\xb3\xa6\xd4\xad\x3e\xf3\x5a\xd1\x01\x63\xfb\x19\x37\xe4\x16\x13\x07\x8d\x85\x33\x36\xfe\x16\x63\x1e\xcd\x97\x99\xd7\x71\xcc\x07\xb2\x77\xac\xb9\x2a\x43\x43\xf9\x56\x3c\xb7\xfc\x0e\x5d\x29\x45\x8d\x1d\xc3\x39\x9a\x9f\x29\xa8\xcf\x9b\xca\x30\x6c\x94\x53\x4d\xeb\x1f\x2e\x24\xf4\x62\x41\x53\x98\xea\x96\x48\x69\x62\x13\x25\x7a\xec\xb2\x71\xdd\x93\x56\x10\x03\xdd\xcf\x1b\xde\xb7\xca\x80\x18\x37\xe4\xf6\x2b\x38\xe0\xfa\x7b\x0a\x5c\xe2\x48\xa6\x41\xe1\x5a\x1e\x00\x23\x5b\x97\x38\xc4\x05\xa4\x30\x9e\x2a\xc6\x0c\xd1\x72\x1f\x5b\x2d\x9c\x73\x77\x1b\x6e\xdb\x78\x50\x2b\xee\x94\xa8\x48\x45\x6c\xfb\x19\x87\xe5\x59\x2e\x2f\xdd\x6b\x36\x77\x19\x4b\x62\xae\x3f\xfb\x38\xd6\x38\x47\xf6\x49\x07\x01\x2e\xdf\x0b\x75\xa1\x01\x96\xb7\x72\xde\xbc\x99\x6c\x39\x8f\x0f\x45\x69\xde\x9c\xf8\x01\x12\xa2\x86\x99\x60\x86\x22\x82\xc6\x83\x9e\x91\x8f\xc8\x87\x9f\xcb\xba\xf3\xf6\x26\x76\xa1\xcc\x49\xcc\xdb\x04\xd5\xa2\x75\x2a\x4a\x5c\x5b\xd5\x5e\x03\x65\x6e\x06\xf4\x51\x05\x25\x6a\x09\x3f\x7b\xeb\x6e\x57\x2b\x9b\x10\xb3\x31\x0b\x82\xb2\x5a\x80\xd8\xdc\x43\xab\xf2\x09\x16\xd2\x24\xaf\xd7\x33\xf7\xaf\x21\xdb\xee\x36\xea\xf7\x95\xa3\xfe\x2f\xa5\x53\x47\xc7\x20\x40\xa9\x34\xce\x8c\x1d\x19\x45\xb8\x21\xc3\x52\x1a\x64\x9e\x1e\x38\x68\x67\x3f\x83\xd3\x4a\x7e\x11\x8f\x10\xa2\xb2\x75\x3f\x0b\x5a\x69\xa1\xbf\x44\x18\x83\x87\x34\xa3\xed\x4b\x7b\x6a\x25\x18\x29\x88\x27\x19\xb7\x05\x78\x9a\xe9\x4d\x61\xfe\xff\x59\x76\x6b\x45\x74\x82\x2c\x6c\xd6\x04\xc5\x01\xfd\x13\x63\x3a\xc9\xc3\x77\xe1\x85\x58\x6b\x7c\x7c\x32\xf3\x9c\x85\x12\xeb\x24\xc2\x2e\x45\x79\x86\x3d\x1f\x06\x78\x92\xc7\x2a\x2d\x4c\x4d\x9a\xb9\x5f\x16\xbe\xb6\xef\x78\x43\x83\xd3\xd3\x7b\x05\xc0\x74\xd3\xe7\x88\x34\x02\x2e\x9f\xa6\x3c\x19\xa0\x04\x50\xf0\x72\xf1\xcd\x99\x99\xe1\x11\x73\xb9\x31\xb9\xbc\x2f\x9c\x16\xd5\x4e\x1d\x38\xb0\x75\x75\xa2\xbd\x2e\xd3\xbf\x53\xaa\x5f\x72\x84\x6a\xab\x5d\xb8\x5c\xad\xa5\x9a\x61\x76\x5e\x95\xe4\x1b\xa2\xa9\xe1\x73\xf6\xf3\x51\x11\x88\x9e\x0c\x5a\xc5\x9c\xf5\x2d\xc5\xd4\x44\x8c\x00\x75\xb5\x53\xdd\x0f\x18\x8d\x67\x8b\x36\x83\x84\x0f\x86\xb2\x7b\x24\x7b\xe6\x16\x72\x0f\xa6\x32\xda\xcf\xf0\x00\xfe\x35\xf3\x3e\xb6\xf8\x1b\x85\x2c\x09\x93\x87\x68\x0f\x63\xa6\x1b\x16\x62\xb1\x4a\xd6\x8a\xcf\x3f\x24\x7b\x6f\x75\x95\x6f\x3e\xcd\xa8\xfe\xa4\x76\x43\x6c\xa1\x92\x28\xb6\xc2\x3c\xdc\x2f\x30\xe7\x78\xfb\x28\x0e\x44\x27\x7f\x61\xd4\xa7\xd8\x52\x99\x30\xdc\xdf\x22\xe0\x6f\x40\x9a\x86\xa8\xa4\x3e\x4e\x08\x9b\x39\xdf\x96\x51\xb9\x5d\xb6\xe2\xa8\x1a\x7d\xb8\xb7\x00\x33\x81\x28\x8b\x20\x7a\x1e\x5e\x29\x28\xd2\xae\x65\xb4\x08\x7d\x45\x31\x17\x5c\x04\x02\xdf\x70\x1a\x9d\x42\x80\x28\x79\xfb\x95\x66\xcc\xb7\x13\xc5\x48\xf0\xf1\xcf\xc8\x59\x84\xc4\x2f\x48\x49\xfe\x8d\x00\x3b\x2c\xff\xa7\x94\x08\x71\xc2\xab\x3d\x95\xa7\xfc\x04\x64\xd6\xc6\x7f\x3c\x7a\x6c\xb0\x68\x69\x20\x66\x7c\x41\x97\xd1\x66\xc0\x67\x5d\x79\x5c\xc5\xe8\x0f\x3a\x65\xd4\xe4\xfd\xce\x7d\x8f\x1f\x8b\xc7\xd5\xaf\x13\xe7\x46\xae\xd9\x4d\xb1\x2e\x4d\x17\xa5\x2d\x4c\xda\x43\xa3\xe4\x45\x88\x66\xe9\xba\xac\xbf\xac\x75\xed\xe2\x5c\x51\x28\x14\x4b\x8d\xdb\x84\xa0\x52\x6a\xad\xab\xb9\x52\xfb\x12\xc7\x8f\xd1\xef\x2f\xb5\xf0\x5b\xcd\x04\xb7\x75\x0e\x54\x4f\x62\x0e\xa4\x8b\x44\x3b\x13\x43\xd8\xb7\x63\x02\x8d\x45\xbb\x96\xbd\x45\xc6\x54\x53\x71\xc3\xdd\xfc\x68\x33\x64\x94\xdb\x2d\x7b\x05\xfc\x66\x58\x70\x16\xc4\xc3\xf0\x36\xa7\xad\x68\x0f\x5d\xa2\xb9\xdb\x56\xa3\x48\x61\x33\x3c\xad\xd5\xdc\x00\x76\x99\xd4\x4a\x40\x58\xa6\xe2\xe9\xbe\xe7\xf6\xcd\x4d\xc4\x7a\x64\x52\xca\x4c\x62\x05\xa3\x33\xa2\x91\x2f\x98\x02\xf4\x08\x98\x87\xb8\x64\x7a\xa8\x22\x97\xf8\xf3\x3f\xd4\x80\x03\x1f\x67\xda\x3a\x44\x5f\xa5\x1d\xd1\xc2\x50\xa8\xbe\x37\xbd\xad\xc2\x5f\xd9\xa0\xcb\x53\x63\x15\x7d\xbe\x15\xa1\x96\xc2\xff\xdf\xa8\xf4\xca\x95\xfc\x30\x90\x24\xf9\x9d\x30\x02\xa5\xa0\x73\xfb\xbb\xe0\x9b\x4d\x47\x25\x5e\xfb\x96\x58\xe2\xc9\x03\x35\xd3\xdd\xfe\x54\x6e\x3b\x9b\xbd\xc0\x3e\x26\x02\x11\x54\xa6\x04\x3c\xe5\x8d\x16\x99\x29\x33\x08\x53\x66\x56\x31\xf3\xe5\xda\x93\x27\xac\xfd\xd4\x76\x68\x92\xca\xca\x44\xe6\xf4\xa4\xfc\x0b\xee\x6e\x86\x24\x34\x6e\xab\xb5\xb7\x27\xdc\x72\x7d\x62\x12\x30\xef\xe4\x44\xdb\x78\x6f\xfc\x56\xea\x0b\xc1\x03\xd0\xfc\x55\x9d\x4a\x67\x49\x1f\x18\x4e\xfe\x89\x9c\xa7\x7d\x06\xb2\xd6\x34\x83\xbb\x2f\x12\xc1\x1b\xee\x8a\x7c\xdf\xa5\x5c\x94\xec\x24\x4d\x95\x8c\x79\x81\xbb\x22\x99\x6a\xa6\x7d\x05\x6a\x8f\xb9\x00\xe8\x91\xc3\x69\x08\x7f\x62\xd3\xf9\x21\xd4\x0f\x4e\xd3\xbd\x10\x53\x42\xb6\x76\xf3\x43\x39\xae\x77\x70\x9d\x37\x7d\xea\xca\x35\xb1\xfd\xf8\xac\x84\x1e\x71\x32\xe8\xd1\xaa\xe0\xc6\xd2\xb4\x00\xf7\x55\xc3\x8d\xbb\x2c\xeb\xd5\xe9\xbc\x81\x1b\x49\x9d\x16\xf5\x7d\xff\x3b\xed\xdd\x59\xcd\x9c\xc8\x9d\x94\x44\x4a\x6d\x5b\xf0\xf6\xe5\xd0\x4f\xac\xad\x73\xde\xa5\x24\x46\x6c\xe5\x58\x8a\x8e\x7e\xa6\x3d\x2f\x5f\x18\xbb\xe1\x53\xe9\x4c\xec\xb1\xec\x17\x4a\xc4\xd3\xdd\x26\xa8\xc7\x5e\x28\x0d\x71\x77\x76\x23\xeb\xe3\xbf\x09\x1e\xef\xea\x92\x8e\xfb\xff\x2e\xd1\x50\xdf\xd9\xe5\x16\x3a\x62\x42\xf8\xb1\x66\x1a\x56\x88\x32\x71\xcb\x67\x6e\x89\xd9\x99\x0b\xaf\x8b\x05\x6c\x38\x56\xd3\x85\xb8\xb4\x62\xd1\xe5\xb4\x30\x17\x83\x61\x47\x2d\x4f\x54\x6c\x4f\x3d\x41\x8c\x66\x93\xb1\x57\xec\x4f\xd7\xad\x4f\x4a\x9f\xfe\x1d\x7b\x9b\xd5\xcc\x91\xcd\xb2\xb9\x67\xc6\xf0\x20\x6b\x19\x3a\x87\xe1\xf9\xed\x49\xfe\xe7\x33\xe4\xcf\x2a\x7a\x10\x15\xe6\x9b\x41\x24\x11\xff\x87\xf3\x95\xbd\xcc\x8a\x6b\xbe\x50\x0d\xc9\x60\xe6\xe6\xb3\x6e\xf5\x46\x47\x78\x29\xeb\x47\xff\x52\x50\x45\x25\xbd\x35\xc4\x5c\xfd\x7d\xb7\xae\xda\x12\xc0\xbc\xa9\x33\xdb\xb5\x52\x75\x75\x9b\xde\x08\x57\xe7\x2d\xcc\xe8\xf1\x1f\x99\xfe\x98\xdf\xfa\x32\xd4\x14\xd4\xe6\xfb\xb9\xfa\xf4\xa5\x47\x89\xa2\x12\xfe\xab\x0f\x9d\x92\x8b\xf4\x1a\x0e\x25\x76\xcd\x6f\x4d\xff\xdd\xcd\x6b\x20\x78\x07\x86\xef\x42\xf8\x75\x46\x8e\xe9\x4e\x37\xd7\x82\x6b\x56\x29\x31\x32\xf0\x64\x42\x21\x08\x34\x0d\xf9\xe0\xae\x2e\x0a\x92\x8a\x4e\x91\x03\x38\x4f\x2c\x66\xbd\xfa\xa7\x12\x9c\x7f\x32\x54\x69\x56\x0d\x75\x8b\xb1\xe4\xc4\x64\xdb\x4c\xf2\xae\xed\x7a\x79\xa7\xf9\x1b\xca\x75\x98\x67\xd1\xf0\xc2\x92\xcc\x3b\xa6\x19\x4b\x73\xdf\x27\x0f\x5e\xa4\xa7\x12\xa0\x79\x2b\x83\x1a\x37\x55\x55\x4f\x9d\xa8\xfb\x42\x99\xf8\xd0\xb6\xea\x2b\xad\x24\xb4\x25\x4f\xbb\x39\x65\x6c\xd5\xa5\x2a\x91\xda\x63\x40\xaa\x89\x05\x46\x89\x04\xf5\x63\x36\x14\x67\x67\x05\xf4\x4d\x55\x7f\x5f\xd9\x7e\x31\x66\x84\xa6\x76\xbd\x56\xbb\x35\x0d\x89\x10\xf3\x2d\x56\x0d\x9b\xdc\x30\x1d\x8f\x18\xc1\x20\x17\x29\x5f\x44\xf1\x7b\xbd\xf3\xd4\xb3\x62\x31\x1b\x19\x96\x23\x51\x7c\xe6\x83\x6b\x9e\x39\x3d\xad\x3f\x87\xf7\xe4\x50\x6f\x99\xc1\x9e\x63\xd6\x73\xbb\x1f\x1f\x83\x24\x26\xf1\x16\x9d\x7d\xd3\x42\x6f\x57\x54\x87\xe2\x22\x4d\xc2\x0c\xa7\xbc\x3d\xa0\x44\x79\x24\x2c\x49\x9c\xd7\x08\x4e\x01\x2c\xda\x86\xb1\x09\x77\x99\x03\x49\xcd\x78\xfb\x45\x8d\x8f\x11\xa7\x36\x90\xbd\x78\xe0\x6e\xa1\x43\xd4\x43\x1f\x2d\xa1\xf8\x1c\x99\x2c\x9d\xcf\x95\xd2\xda\xcc\xb2\x59\x0d\x3a\xdd\x79\xa5\x7e\xb1\xcc\xca\x9d\xcb\x17\xd8\x8c\xa8\x8e\x3d\x59\xa2\x07\xc3\xe2\x9e\x63\xcf\x2c\x54\x78\x65\xa1\x71\x55\xa2\x6b\xe7\xe0\xdd\x2a\x4f\xeb\xe6\x54\x71\xf4\x5c\xb1\x45\x1c\xd8\x07\xac\x80\x2a\x84\xe2\x2f\x00\xd8\x92\x2f\x89\xaa\x4e\x53\xe4\x7f\x55\x1e\x66\x3a\xec\xf5\x89\x96\x62\x8d\xfc\x3f\xd5\xc4\xab\xa7\x48\xd2\x74\x03\x24\xd9\xb6\x55\x66\x75\x87\x86\x64\x48\x22\x85\x1a\xa4\x24\xb6\x32\x6b\x51\x0c\xcc\x2f\x8b\xad\xcf\x57\x17\x69\x58\xfb\xfe\xcd\x1a\x4e\x1b\xee\xb6\xce\x78\x0d\x1c\xb0\x72\x36\xfd\x9c\xba\x5f\x79\x7b\x3f\x32\xc2\x17\xda\xbd\xcd\xf3\x43\x7e\x7b\x93\xee\xda\x75\xd5\x38\xe5\x99\x1b\x7c\x86\x0e\xdc\x81\x1c\xb9\x53\x66\x95\xe9\x2b\xe3\xa2\xef\x7b\x06\x96\xea\x33\x17\x98\x30\x60\xbb\x77\x17\x62\x63\x43\xf3\xd5\x0f\x91\x51\xd8\xf4\x2b\x7a\xc6\xaa\x5c\x54\x9f\x7f\x2d\x0f\x1c\xe9\x1f\x7b\xf8\x5d\xde\x02\xa3\xce\xbe\x36\xd5\xd1\xae\xc2\x63\x91\x3f\xc2\x38\x96\x5a\x7e\x7c\x82\x26\xc4\x65\x13\xf3\x1c\xae\x44\x9d\x96\x39\x71\x57\x93\x32\x52\x2c\x59\x2b\x96\xbd\x13\xb8\x79\x3c\x60\x4f\x77\xef\x41\x9a\x62\x7a\x36\x7c\xb6\x5d\xdc\x3a\x71\xa7\xe4\x5a\xdf\x4f\x17\xf7\x56\xd6\x67\x4d\xf1\xd2\xcc\xa5\x69\x63\xcc\x6b\x4a\xcb\x30\x05\xc0\x3d\x2c\x9e\xfa\x89\xf2\xcc\xd2\x34\xda\x2c\x61\x6d\x22\xd3\x1d\x88\x1a\xa6\xf4\x52\x43\x23\xf8\xdb\x2c\x63\xe1\x0c\x66\xa2\xac\x1a\xca\x5a\x1e\x36\x52\x63\x47\xbd\xc5\xa2\x3a\xba\x29\x11\x1f\x65\x8c\x09\x09\xfd\x9a\xc2\x65\x49\x17\xbd\x16\x1b\xdd\x72\x0f\x36\x2e\xea\x10\xf4\x5a\x3b\x97\xcd\x50\xb0\x2b\x4f\xd3\x29\x88\xd3\x24\x16\x5c\xc1\x77\x49\xa2\x56\xec\xc2\x28\x68\xef\xf6\x60\x7a\xb4\x7b\x25\xcf\x66\x70\xba\xfb\x78\x6c\x09\x7d\xe8\xa5\x1a\x6f\x9f\xd1\x6e\x1b\x72\x0d\xb1\x95\x37\x9a\x25\xd3\xa7\xff\x1c\xb8\x7b\x9e\x1f\xaf\x0d\x9b\x13\xe1\x78\x03\xaa\x6d\xa1\x1d\xa7\x06\xbd\x31\x6f\xd0\x92\xb3\xf4\x69\x83\xf1\x71\x13\xb0\xe4\x20\x12\x4a\xd6\xca\xdc\x4f\x9a\xaf\x27\x56\x21\x89\x99\x22\xb7\x12\xb0\x3d\x89\x24\x15\x0a\x0d\xd1\x97\x34\x84\xc2\xf8\x4b\x53\xba\x2b\xea\x91\xc2\xca\x26\x5a\xda\xdb\x99\x83\x91\x27\xa4\xe6\x86\xa5\x59\x8e\x0e\xe0\xd0\x5e\xdb\x16\xb7\x05\x65\xbe\x05\x02\xcc\xe6\x7e\xff\xff\xf7\x7d\xe2\x96\x2c\x85\xc2\x78\x27\x22\x73\xa3\x6f\xdf\xae\x64\xb1\xc7\xfd\xb1\x1f\xa3\xdf\xbd\x7d\x7b\x2e\x08\xe7\x6b\xe8\xc8\xc8\x54\x4a\x59\x3b\x66\x66\xea\x96\xef\x85\x8e\xd7\x6a\xa7\x4b\x56\x92\xb8\x1c\xbc\x42\xef\x2b\xd1\xf6\x6a\xc5\xdc\x01\x1d\x71\x4d\xae\x57\x4c\xaf\x22\x9b\x1b\x65\xf5\x2f\x9d\xd7\xb6\xbb\xdf\xbb\x59\x66\x99\xfd\x8c\xf4\x78\x77\xa2\x49\xf5\xf2\x3a\x6b\xeb\x91\x49\xeb\xe8\x71\x2e\x86\x87\xc7\xb2\x08\x9c\x64\x4c\x57\x69\x6d\xee\xfc\xb8\xb3\x5d\x1e\x00\xc9\x97\xf5\xc2\xc7\xfb\x5d\x0d\x66\xcf\xe2\xb8\x29\x82\x42\xe1\xea\x7b\x6c\xb2\xd6\xbb\xb7\xc1\x1d\x60\xee\x8c\xb1\xca\x6a\xd6\x7e\xa3\xde\x86\xde\xe9\xaf\x3b\xc4\x81\x3b\x7e\xad\x37\xb1\xc5\x2d\x7a\x41\xc1\xef\xd8\xd7\x58\xc1\x27\xac\xce\x0e\x74\x62\x9f\x8d\xd8\x1c\x83\x57\x4f\xd5\x2e\x98\xcb\x1f\x24\x00\xf4\x06\x47\x53\x30\x52\xc9\xe4\x13\x11\x61\xa1\x11\x23\xe5\x51\xb8\xde\xfe\x08\xfd\x50\xca\x1d\x4f\xc9\x7c\xda\x50\x5b\xaa\x9b\x0c\x86\xe3\xf9\x25\x60\x43\x12\x29\x63\xff\x9a\xc5\xc0\x22\x17\xd6\xcd\xbd\x64\x44\x31\xca\x7f\x78\x70\x5f\x73\x2a\x35\xc5\x61\x63\x3c\x9b\x76\x1f\xfa\xc8\x50\x0b\x1f\xdb\xec\x63\x9b\x71\x60\x7b\x44\x38\x86\x53\x68\x76\x10\x92\xec\x90\x69\x20\xfb\xfa\xce\x57\x03\xd9\x09\xa7\xf3\x77\xfa\x70\x6b\xee\xe0\xe6\x52\x12\x7c\x18\xf6\xbd\x1a\x4f\x9a\x32\x2f\x6e\xd0\x40\x92\x36\x4d\xe1\xb2\x00\xcd\x52\xe8\xd5\xab\x42\x7c\xa9\x10\x98\x5c\x15\x55\x6e\xa1\xa4\x0b\x5e\xc3\x6c\xaf\x73\xdd\xc2\x05\xb4\x3d\x10\x5b\x7b\xac\x97\x1e\xa5\x41\x03\xae\x05\x3f\xb2\xf1\x0c\x7a\x4a\x5f\x10\x52\x36\x02\x04\xad\xfe\x53\x41\x83\xe5\xbf\xe3\x09\xbf\x8c\xfa\x8f\xa0\xb5\xfc\x6f\x98\xa8\xff\x77\x6e\xb6\x96\xfb\x7e\xe1\xe1\x9e\x47\x4b\x0f\x2b\xf7\x28\x75\x68\x4b\xb9\x37\xd9\x03\x01\xfa\xe1\x14\x2c\xb9\x07\x06\x0f\xce\x16\xe7\x48\x81\x0c\xff\xe2\xba\x94\xc7\xf9\xc8\x11\x87\x51\xb8\xdb\x2f\xb0\x9a\x2c\xbf\xa7\xbf\x5a\x8b\xf4\x79\x92\x28\x4e\x5a\xe8\xfd\x8c\xf6\x79\x0a\x88\x8b\xfb\xba\xc9\xa7\xb5\xb3\xe6\xf6\x65\x2b\x75\xce\x68\xad\x43\xbe\x3c\xc6\x2f\xef\x2c\x73\x09\x77\x79\xa8\xbf\x23\xf1\x6a\xd7\xd8\x49\xe7\xf0\xc0\xa6\xe8\xaf\xb5\x9f\x7b\xf1\xd2\x8e\x12\xfe\xb4\xfa\xc9\x2c\xd9\xbf\xf2\x25\xee\xa5\x83\xce\x60\x05\x53\x22\x5b\x3b\xb4\xdd\xfd\x5f\x7e\x60\x1b\x21\x3e\xec\x5d\xfa\xdc\x8e\x13\x2a\xce\xda\x74\x5d\x38\x4a\x99\x75\x1b\xd7\xb7\x0f\xcd\x75\x4f\xc1\x0d\x89\xd5\x0e\xd5\xa1\x48\x3e\x88\x8a\x08\x68\xef\x4c\x6b\x71\x37\x67\xe2\x12\xb8\x52\x32\x16\xf6\x2c\xca\xaa\x91\xba\x18\x5a\x5d\xc6\x7c\xa0\x90\x24\xac\x43\x5a\xa5\xac\xe4\x6d\x0d\xb6\xd6\xee\xf4\xad\xc3\xf2\x71\xa2\x17\x03\x58\x01\xa7\x81\x09\x9c\x4c\x72\x53\xf9\x8f\xdf\x4b\x62\x1f\x9f\xcc\xed\x99\x9e\xfe\x97\x12\xd3\x25\x48\xbe\x89\x85\x2f\xba\xce\xcc\x1a\x77\x8d\x3e\x0f\x47\x9b\x39\xc2\x28\x7c\xf2\x76\xed\x76\x0f\xf3\xa0\x4e\x6e\x4e\x76\x58\x0d\x4e\x0a\xd0\x80\x60\x70\xbb\xd2\xc7\x0e\xc3\x19\xd1\x2b\x03\xc9\x7b\x28\xa4\xbb\x75\x03\x5c\x1f\x9c\x20\x73\x04\x8c\xbb\x51\xc8\xfa\xb3\x70\x0b\x87\x0e\xdd\xa8\x33\xb9\x99\x71\xc5\x5c\x92\xf6\xcd\x9f\x9c\xe8\x24\x12\x19\xd1\xef\xb5\xa7\x8a\x3b\x51\xd8\x53\xc5\x99\x7a\xc1\x0e\x89\x5b\x6a\x6c\x09\x8a\x36\x6e\x98\x20\x06\x38\x85\x44\x54\xe4\x1b\x7d\xb5\xe9\xb9\xe3\x94\xa8\xf6\x50\x8a\x45\x02\x09\x25\x81\xba\x42\x57\xf0\xfe\xaf\xd8\xad\x16\x14\x8e\x59\xab\x1a\x77\x17\x85\xb7\x2e\xc0\xed\x1d\xd1\xe2\xb4\xe5\x89\x21\xa1\x9c\xbd\xa7\x2f\x14\x5e\xb2\x6d\x64\x53\x5a\x7e\x6a\x3d\xb8\x2a\x51\x67\x64\xfd\xe2\xa8\x8e\xd1\x30\x74\xc3\xc6\x1c\xb1\x5d\x86\x9f\x05\x05\xa2\x81\xc3\x71\x16\xc1\x2d\xee\x2e\x50\xa7\x4a\x42\x70\x96\xea\x31\x09\xe0\xd8\xab\xe0\xc4\x61\x74\xff\x6c\x89\x2f\xfa\x83\xf1\x79\xf2\x70\xd7\xf9\x71\xc6\x7b\x7e\xc7\xd1\xf8\x54\x4f\x48\xd3\x05\x8c\xa6\x36\xf7\x04\xd7\xfb\xb4\x1d\x09\x75\x85\x4e\xa2\xff\xa3\x77\x59\xb9\x7c\xc3\xf6\x0a\x41\x98\x56\x72\xcf\xec\x77\x44\x08\x68\x34\x4b\x6b\x96\x16\xa2\xf1\xc1\x2b\x0d\xe1\x2f\xbe\x40\x0d\x40\xd5\xc6\x4f\x1e\x9c\xfb\x07\xfd\x19\x94\xbe\x4a\xfc\xec\x01\x5a\x42\x31\x5b\x87\x3f\x6c\x7b\xf9\x4a\xd5\x8a\xfc\xa3\xad\x1b\x71\xa4\x39\x50\x76\xad\x6f\x00\x59\x36\xc7\x43\x4a\xb0\x82\xba\xb8\x83\xf7\xa9\xfd\xcc\x0e\xd2\xc9\xe7\x24\xb5\xb7\x94\x48\x60\x37\x06\x45\x69\x8d\xaf\xa8\x29\x2a\x65\x4b\xc1\xa3\xd8\x82\x59\x08\x38\x7f\xa9\x97\x7b\x56\xbb\xa2\xab\x29\x62\xa7\xd0\x0c\x70\x4e\x76\x2f\x41\xd9\x25\xe5\x82\x3b\xdd\x75\x1d\x68\x87\x28\x77\xcc\x83\xbc\x6c\x7d\xa2\x2a\xd1\x34\xcb\x79\x7c\x75\x56\x3a\x07\x26\xe0\x2a\x50\x3b\x4c\xf1\x18\x51\xee\x99\xf3\xf3\x67\x2a\x7d\x4f\xbe\xcd\x57\x3b\x13\x78\x54\xbf\x21\xb8\xba\xd8\xf6\x46\x82\x5b\x0c\xa5\xf9\xad\x6f\xe9\x0d\x6c\x95\x88\xbe\x2a\xfa\x1a\xb0\xa7\xb4\xc0\x4b\x06\x01\x95\x84\x4b\x87\xe2\x55\x76\xb6\xdc\xbc\xc6\x8c\xd9\xab\x4e\x59\x34\x9b\x24\x47\x64\x2b\x84\x33\x95\x24\x4b\xc0\x56\x5a\xd1\x18\xbe\x0e\xb8\x46\x26\x11\x46\x75\x52\xf6\xa5\x6a\x2e\x47\x4e\x9b\xac\xdb\x96\xca\x35\xc6\xb4\xca\x08\x72\x65\x19\x13\x76\x76\x16\x9f\x19\x76\xa5\xfc\xfa\x05\xc8\xac\x32\x4d\xfa\xea\x43\x5b\xcc\x29\xcf\x18\x7c\xc8\xdf\x01\x65\x47\x79\x62\x10\x18\xa7\x7b\xf8\x29\xda\xbb\x03\x8e\xbd\x90\x2e\x15\x49\x7b\x6c\xda\x31\xa7\xa6\xfc\xa0\x43\xc0\x06\x97\x65\x85\x73\x5a\xe8\x74\x11\x8d\xc3\x68\xd1\xc6\xc9\xbb\x91\x52\xc3\xa6\x01\x47\x70\xc6\xc3\x15\x37\x3f\xbd\xb8\x28\xa7\x64\xb1\xc6\x57\x84\x5e\x3d\xb7\x0d\x08\x0a\xa0\xc4\xd9\x26\xf5\x66\xf0\x56\x03\xbb\xf1\xcd\x9e\x07\xb7\x69\xcf\x9f\x12\x5c\x1b\xb4\x87\x91\x47\x17\xce\xf5\x9a\x36\x24\xde\x05\xb0\x24\x92\xb8\x75\x50\x3d\x07\x6f\xe7\x75\x38\x37\xbf\xd4\x1e\xbd\xec\x9d\x5b\x9e\x25\x3e\x60\x3c\x15\x0e\x9e\x2e\xf7\xcb\x24\xc7\x4d\x74\xd3\x97\xb6\x42\x29\x47\xaa\x6a\x53\xae\x51\xe3\xe6\xc6\x55\x64\xfc\x60\x8e\xe8\x53\xb6\x22\xb8\xa7\x1f\x33\xb7\x99\x1d\xc9\xbd\x85\x7d\x4d\xd7\xb1\xb3\x54\x0b\x74\x68\x3f\xf4\x17\x37\x9f\xb1\x06\xed\x5d\x9b\xe1\xd0\xf7\x84\xf2\x97\x69\xa2\x45\x48\xe5\x15\x89\x9f\x7a\xc5\x9f\xfd\xe5\x7c\x15\xa7\x2d\x9f\xc1\x19\x14\xd5\x74\x64\x86\xa7\xbf\xdb\x91\x2c\xfd\x3a\xcb\x44\xcf\x07\x9a\x1b\x92\xa9\x16\xd0\x6a\x37\x6c\xc1\xdd\x04\x44\x00\x36\xd9\xa7\x17\x2d\xfc\x86\x8f\x02\xb7\xd4\xc1\x2b\xa7\x7d\x5a\x55\x34\x9f\x5e\xae\xe7\x78\x4f\xb5\xdd\xbc\x9d\x9f\x66\xc5\xfc\xd8\x51\x1e\x48\xf8\x1b\x14\x10\x0b\x8d\xc2\xea\x55\x3b\x22\x49\x7b\xf7\x29\x91\xdc\x31\x85\x04\x8d\x5a\xc0\xb0\xf8\x1a\x2e\xf5\xd8\x17\xc5\x07\xe1\x94\x12\x40\xf3\x88\x9b\x32\xf3\x84\x96\xa9\x62\x03\x2b\x71\xba\x7a\xf3\x56\xf0\x9b\x0b\x81\x73\x5e\xc6\x3e\x9f\x1f\x1e\xaf\x04\x02\x56\x5b\xc5\xb5\xa5\xef\xc5\x2d\x1f\x18\x35\xce\x76\xbe\x80\xa1\xb4\xf1\x5d\xe8\x9a\xae\x96\x97\xda\x63\xa6\xfb\x22\xfc\x8d\x22\x66\x88\xf9\xc4\x5c\xa5\xdf\xac\xaf\xe3\x9c\x3c\x8c\xdb\x8b\x63\x79\x1e\xad\x98\x23\xb6\xc5\x51\x6a\x9f\x36\x64\x72\x7f\x23\x01\xa7\xc8\x91\xb3\x82\xde\x14\x4a\xed\xcb\x34\x6c\x12\x1a\xf2\x4f\x16\x06\xee\xdf\xc6\x28\x79\x0e\x87\x16\xef\x4e\xf5\xcd\x7d\x24\x6d\x8e\x0c\x5b\x9a\x04\x2d\xcb\x7c\xf3\x93\xd4\x88\x2a\xfd\x11\x1d\x94\x53\xf1\x8a\x5c\xf7\xd1\x9c\x8d\xfe\xe8\x87\x89\x40\x12\xff\x0b\xcb\x40\x0a\xdd\xe0\xa4\x08\xa8\x69\x65\x27\x9a\x6d\x82\x9f\x27\x71\x24\x9d\xb4\x12\x73\x27\x42\x03\x9a\x7f\x81\xc6\xe0\xa9\xbb\x41\xa9\xb9\x64\xf3\x29\xf6\xf0\x2e\x06\x88\x2a\x09\xf9\x5f\x79\xb6\x8e\x23\x7a\x5f\x17\x19\xd0\xab\x5f\xee\x0f\xcf\xf1\xf4\x7b\xbd\x13\xea\x5f\x61\xac\x5f\x3d\x2b\xe4\x8a\x92\xd3\x8c\xcf\x9e\x27\x50\xf4\xdc\xba\x77\x0d\x47\xd4\x4a\xee\xd6\x6c\x2e\x8b\xba\xfd\x72\xa8\x71\xfb\x5a\xc8\x76\x1f\x44\x28\x9d\x44\x43\x19\x18\x47\x8f\x26\xe3\x43\xe9\xd8\xb1\xc3\x21\x11\xa1\xf2\x93\xaf\x3d\x92\xc7\xa3\x7a\x34\x85\x82\x8a\x76\x28\xa3\x24\x3b\x03\xbc\x7b\x06\x88\x1b\x32\x1a\x14\x14\x20\x40\x8f\x69\xc7\x98\xfc\x75\xdf\xee\x07\x70\x63\xd2\x45\xc3\x14\xec\x0a\x1a\x09\x68\x68\x00\x09\x73\xe4\xcf\x3e\x0d\x13\x81\xd6\x4c\xb6\x5e\xeb\xa2\x66\xef\xda\xbb\x77\xbe\x0d\x54\x57\xde\x9f\xb6\xff\x07\x52\xd9\x0d\xcc\x2f\x5f\xb9\x49\x1e\xaa\xc4\xa6\xc4\x4d\x27\x42\x7f\x2e\x9e\xb4\xd8\x2c\x50\x9a\x2d\xe8\xfa\x48\xca\x6a\x29\xfd\xfe\x25\x50\x7f\xf9\xbd\xbe\xf4\x44\x70\x32\xdb\xc8\x5e\xed\x5e\x77\x8d\x60\x4b\xd6\xab\x81\x4b\xe8\x03\x50\x61\x3e\xce\xbe\xef\xab\xa5\x6a\xcf\xa8\x67\xea\xf8\x29\xfd\x4b\x53\xfc\xd3\xd9\xbc\x12\xee\x64\x47\x46\x59\x47\xcc\x24\x93\x15\xaa\x95\x15\xf8\x58\x60\x88\x0c\x37\x25\x92\xd2\x80\x63\xb2\x4b\x91\xda\x51\x16\x4f\xb9\x1b\xc1\x8f\x81\x22\x42\xd5\xa1\x1b\x42\x95\x27\xab\xe8\xb6\x5e\x10\x2e\xeb\x60\x22\xf0\x86\x3b\xca\x47\x7f\xa2\x06\xd3\xff\x80\xc8\x6c\x65\xd4\x92\xad\x4f\x5e\x6c\x89\x83\x3a\x99\x51\x19\xa1\x3e\xec\x34\x35\x65\x1b\x16\xf8\x1a\x3d\x5b\x37\x24\x7a\xbd\xa7\x05\x83\xb4\x7f\x0c\xe1\x69\xbf\xe5\x46\xf0\x5c\x2a\x42\xf4\x0e\x14\x27\xc7\x9d\xc6\x41\x96\x0c\x05\x6b\x6f\xde\x02\xb8\x90\xe7\x4d\x46\x63\xbc\xc0\xdd\x10\xbe\x84\x85\xa7\x02\x17\x33\x7c\x80\xd3\xac\x25\x76\xf1\xa2\x3e\x21\xd2\x1c\xb4\xaf\x5d\xd8\xc2\x80\xa5\x9f\xd8\xf6\x89\x27\x21\x09\xf0\x1e\xef\x7d\x3a\x78\x69\x89\x17\x2f\xea\x78\x63\x52\xb1\x5e\x01\x57\xa5\x8b\x49\xab\xf6\x86\xb6\xdf\xe1\x43\xfa\xef\x9b\xa6\xdf\x7a\xe4\xf3\x5f\x60\x7e\x63\xfe\xa2\x9a\x56\xa6\xef\x46\x76\x66\x8f\x5d\x35\x4f\x6e\x14\xfb\xac\x43\x82\xf2\x3f\xc5\xdd\xd2\xb7\xba\x37\xac\x39\xa1\x9f\x27\x5d\xa6\x2f\x67\x7d\xa1\xe7\x82\xd6\x83\x69\x04\x81\xde\x55\x49\xc8\x83\xa9\xae\x4f\x92\x74\x16\xda\xf0\xbe\xad\xcc\x92\x06\xc2\x3f\xcd\xd5\x6b\x8c\xe7\xe7\x17\x02\x3a\xd2\xc8\xd5\xd0\x5b\xf9\xdc\x3e\x54\x53\x69\xc3\xf4\xa1\x10\xa0\x04\x98\x9b\x9c\x1c\x45\x3c\x37\xf7\x1a\x45\x2d\xef\x4e\x09\xd8\x90\x77\x3b\xe7\x6d\x44\x08\x8d\xaf\x75\xd6\xc7\xe4\x5b\xc5\x1d\xea\xca\xc5\xd3\x06\x7a\xc4\x2b\x39\xaa\xc9\x67\x5f\x50\x1a\x4f\x24\x1f\xde\xcb\x55\x59\x4e\x94\x81\x5b\xbb\x23\x6a\xad\xa2\xdc\xfb\x0f\x49\x26\xf5\xc3\xd3\x33\x96\x5c\x65\x34\x6e\x85\xcf\xd7\x11\x85\x29\x1d\x52\x76\x63\x78\xeb\x2f\xf4\x56\xd2\x43\xc4\x3f\xdd\x4b\xf5\x87\x9d\x89\x9b\x67\x7b\x1f\x47\xb9\xfa\x58\xf9\x92\xb2\xb6\x22\x62\x17\xac\xe3\x28\xe3\x36\xce\x0b\xbc\xca\x9b\xbd\x7c\xba\xa9\xf6\xf2\x09\x52\xf0\x72\xd1\x49\x9c\xc9\xe0\x26\xc0\x2d\x4e\xd5\xb1\xdc\xcf\xf9\x2a\xa7\x3f\x8e\x86\x32\x42\x70\x45\x59\x50\x0b\xd1\x17\x5b\x00\xa4\xdd\x2e\xff\xa0\x85\x72\x3f\xfd\x67\x4f\xa3\x01\x68\x92\xbf\x2f\x25\x6c\xe4\xaf\xfd\x52\x4f\xb8\x13\x45\xbc\x0d\xba\x66\x1d\x20\x4e\x3d\x64\x26\xfe\x75\x5f\x71\x62\xc0\x3f\x0c\x58\xc2\xb0\x82\xdc\x13\x66\x04\x3a\xd8\xcc\x4a\x2f\xac\x0b\x93\x7d\x3f\x28\x75\x8b\x36\xbe\x8b\xa3\xcf\x50\x98\x22\xf8\xb3\x4c\x7e\xd7\x69\x56\x2d\xdf\x67\x31\xed\xe8\x59\x42\x1c\x67\x82\x06\x09\x14\x98\x1c\xdc\x18\x14\xfc\x0c\xfe\xec\xa4\x7d\x17\x48\xa4\x4b\x32\xa0\x34\x05\xe9\xb5\x96\x72\x29\x08\xa9\xdb\xa1\xc8\x23\x7c\x74\x69\x08\xeb\x40\x40\xa3\x1d\x86\x4a\xe6\x52\x18\x5b\xc5\x19\xc4\x6b\x0d\x78\xa6\x93\xc9\x0f\xd8\x63\x02\x03\x45\x5e\xf1\xe0\xec\x0e\xf2\x49\x32\xdf\xb8\xb0\x64\x56\x6f\x95\x71\x50\xcd\x1f\x87\xb9\x6b\x5a\x61\x32\xdb\xd7\x48\x82\x2f\x8e\x1b\x3d\x28\xb8\x63\x5b\x6c\x57\x25\x69\xd6\x1b\xb8\x1f\xa3\xb7\x63\x58\x00\x82\x63\x88\x0f\xc1\xa3\x68\x50\xc6\x71\xb7\xd3\xe9\x36\x89\x12\x19\x63\xfc\x4d\xf2\x3f\xbe\x0b\x7d\x1f\x69\x53\x68\x87\x52\x6d\xd0\xe8\x5d\x1e\xf9\xd0\x15\x36\x3b\xf4\xa8\x9f\x96\x8d\xda\x3f\x27\xaf\xac\xf2\x04\x83\x42\x7d\x67\xc5\xd9\x4d\xab\x6d\xf4\xee\xc7\x9e\xeb\xec\xcb\x43\x6a\x2c\x76\xb4\x9c\xcf\xd4\xb1\xaf\xa0\x3e\x89\xfa\xa7\x0f\x97\x47\xf0\xc0\x16\x7f\x92\x2b\x7a\x59\x6c\x3f\x47\xe8\xdc\xa6\x2a\x7b\x82\xb1\x12\x2e\xec\x6d\x37\xe4\x41\xc7\x54\xaa\x5e\x31\x44\xe5\x22\xa5\x3b\x52\x8e\x55\x72\xf0\xa0\x10\x84\x22\x62\x68\xf8\xa6\x0e\x6c\x71\x77\x24\x92\xb1\xd4\x2f\x67\x79\xbe\x52\xbf\x6d\x5a\x70\x87\x25\x14\x8b\x30\x42\xce\x15\xcf\x9d\x23\x34\xff\x62\xc1\xe8\xe8\x5c\x71\x30\x6e\xed\x08\x09\xee\x4e\x5d\x4d\x89\x3c\xbe\x71\xeb\x88\xce\x4e\x97\xd4\xf5\x7b\xd4\x88\x86\xcd\x68\xcc\x40\xfe\xfc\x31\x3f\xbb\xdb\x7e\x8b\x74\xf9\xf2\xc0\xea\xc2\x36\xcd\x9c\xd8\xda\xc1\x54\x9d\xb8\x6b\xa7\x8e\xd5\xcc\x86\x0f\x1e\xd2\x99\x19\x0f\xd2\x87\xfb\x5c\x4d\x08\x00\xe5\x7c\xc0\x74\x20\x10\xd3\x35\x4f\x3c\x34\x3e\x20\x4a\x0e\xe7\x7d\xbe\xde\x19\x2c\xff\x51\x1d\x72\x51\x2a\xcd\xaf\xf6\x9b\x41\x5c\x15\x27\xf5\x29\x79\x05\x7a\xd4\x27\x86\x1d\x13\x4b\x64\xd8\xae\x06\x44\x8d\xf6\x57\x64\x69\xbc\x40\x67\x7a\x75\x27\x31\x5c\x15\x7d\xbb\x5e\x71\xc1\xe7\xcf\x49\x3c\x06\x3e\x65\x5e\xd6\x68\x29\xc8\x51\x2a\x1e\xb9\xf4\x14\x6c\x7a\xad\x7f\x42\x80\x6c\x3f\x0b\x67\xdc\xf9\xb2\x01\xd4\xf7\x8a\x8b\xca\x03\xcd\x47\xd6\xee\x5a\x9b\x1a\x1a\x82\xbe\x30\x60\x12\xb3\x07\xe5\x7e\xfb\xdd\x07\xea\x93\x39\xa3\x3c\x21\x3a\x04\x95\x88\xce\x2b\x92\xa9\x78\xdb\xa3\x22\x22\x70\xaa\x5b\x85\x57\xc5\x7d\xf7\x8f\x15\x22\xe2\x59\x7c\xca\x92\x91\xaa\x3e\xf7\x2f\x69\x65\x2b\x55\xb6\x72\xaf\x1f\x57\x97\xe9\xd1\x57\x73\x36\x0a\x94\x67\xed\x2a\x9d\x44\x7d\xec\x7a\x81\x79\x6e\x2b\xe1\x88\x85\x77\x55\xd3\x8b\xd6\x89\xeb\xcd\x66\xa9\x14\x0f\x47\xbf\x03\x25\x21\xa9\xbb\x88\x4c\x5b\x23\xfe\x83\x22\xd1\x68\x32\x99\x66\x6d\x68\xff\xd2\x7c\x46\x71\x62\x7d\x2a\x95\x48\x88\x08\xa9\x23\x7a\x9c\xb4\xb1\x1f\x6e\x56\xcb\xb4\x80\x99\x5d\xf6\x78\x41\x20\x98\x31\x8d\xae\xa2\xa5\x6d\x01\xb7\xa9\x1f\x6b\xb1\x0a\x09\xd7\x82\x56\x12\x10\x7c\x3d\x08\xc4\x40\xbb\x3d\x85\xc1\x4f\x42\x07\xb0\x7a\xc6\x50\xbc\x64\xf3\xc0\xc9\x35\x56\x72\x6c\x24\x00\xbd\xa1\xd1\x5a\xd5\x84\x38\x90\xbb\x83\xb4\x38\x5e\xcf\x8f\x98\x71\x70\x28\x3a\x41\x36\x4a\x35\x50\x59\x32\x09\x09\xc3\xa8\x56\x1e\x99\xb5\x0e\x27\x47\x94\x89\xce\xcc\x70\x65\xe6\xe1\x9d\xad\x5c\xb6\xaa\x68\x6a\x93\x16\x1f\x1d\x0e\xa2\xd2\x70\xa1\x31\x61\x84\x8e\xca\x77\xc5\xca\x93\x53\xb9\x41\x03\x08\x24\x13\xd3\x7c\xbd\x48\xc1\xf5\x45\x23\x37\xd1\x87\xd5\xd2\xe0\xb4\xdc\x7c\xfe\xd0\x70\xb2\xde\x1c\x2a\xea\xca\xc4\x0a\x9b\x07\x60\xe5\x44\x5d\x5a\xf3\x94\x8c\x42\x2d\x92\x80\x5c\x36\xcb\x13\x69\x57\x0f\x78\xcc\x88\x47\x8d\x04\xfa\x90\xfa\xfe\xef\x0e\x47\x47\x92\x10\xa0\xd7\xae\x7e\x8d\x59\xba\x4a\xa9\xbe\x54\x37\x4d\x71\x5e\xc2\xe8\xba\x23\x82\x30\x81\xa7\xe4\xd8\xc3\xb5\x71\x87\xbe\x04\x1a\xf3\xd7\xcb\xea\x62\x8b\x30\x9a\x4b\x56\x6f\x74\xf1\x5b\x0d\x8a\x19\xd5\x96\x6d\x11\x0e\x5e\xe7\x6b\x20\x17\x6b\xb4\xba\x2d\x64\xcb\x70\xda\xdd\x9f\x7f\xff\xaf\x5e\x0c\x4a\xf4\xdd\x64\xf6\x33\xa2\xc7\xdd\x95\x46\x1a\x13\x8f\x46\xcf\x54\xe6\xcf\xba\xdb\x97\x9d\x39\x6f\x93\x5c\x53\xe3\x02\x38\xe7\x03\x19\xd1\x71\x6b\x10\xea\x22\x81\x02\xcf\x83\x78\x4c\x5f\x3a\xaf\xf8\x1c\x50\x9c\x8a\x4c\x68\xc0\xa5\x30\x21\xdc\xde\x69\xcb\x8c\x0e\xd4\x17\x7b\xe8\xe8\x38\x1b\xb5\x3a\xb9\x9e\xf3\x7a\x45\x0d\x04\x20\x18\xae\x4f\x79\xfa\xab\x8b\x2f\xd0\x98\xe0\x6c\x0d\x2c\x29\xf3\xb4\x47\xbe\x86\xf2\xe7\x8d\xc5\x71\xce\xf2\x51\xb6\x14\x98\x1b\x52\x19\xf3\x0e\x60\x81\xb0\x5c\x15\x0b\x4a\xf9\x3e\x5b\x8b\x1b\x00\x94\xa6\xa1\x69\x70\x26\xd5\x80\x40\xa1\xac\xf1\xad\x1a\xae\xb1\x0d\xae\xa9\x00\x24\xaf\x89\x05\x3a\xc1\x10\x51\x38\xb2\xa2\xa0\x42\x74\x3a\x40\x60\x7b\x3e\xbc\xa7\x85\x16\x27\xfb\x61\xe7\xde\x9d\x75\x39\x07\xe7\xe9\xfe\xf7\x39\x10\xf0\x9e\x27\xa0\x01\x08\xa9\x4c\x1e\x12\xf9\x63\xd0\xb8\xca\xc4\x91\x48\x68\x91\xf4\x64\xcd\x9e\xf2\x87\xeb\xe1\x59\x47\x8f\x66\x99\xa9\x01\x04\xb6\xab\xc1\x12\xd6\xdf\x2f\x9f\x09\x4e\xe6\x02\x3d\xf0\xf8\x53\x66\xbb\x30\x54\xab\x3b\x57\x4a\x26\xc3\x20\xc6\x49\x9c\x0b\x32\xb8\xb4\xf2\xfa\x02\xec\x33\x31\x91\x00\xdb\x6b\xc3\x89\x72\x60\xc8\xd4\x7d\xb2\x92\x41\xcc\xb6\xae\xfc\x99\xbe\xab\x13\x81\x83\xd4\xfc\xeb\x64\x08\x84\xbc\x94\x40\x1d\x0c\x5c\x71\x2d\x10\x9e\x39\x28\xd6\x42\xec\xac\x2c\x76\x11\xd1\xa3\xad\x12\x41\x4c\x58\xc2\x71\xaa\x48\x5b\xa9\x21\xc9\x66\xe4\x85\x2d\x74\x7c\xf8\xef\x9f\xd9\x04\x89\x6e\xb9\x50\xce\xa4\x52\x03\x5e\xb0\x62\xc2\xec\xd5\xf8\xc3\x47\x4f\x9f\x66\x85\x00\x3d\x2b\xa5\x8c\xa4\xe5\x68\xfe\xb4\xb0\x57\xf0\x44\x3b\x4b\x66\xde\x78\x31\x82\xc8\x5e\x17\x0b\x55\xab\x5d\x92\x33\xa0\x40\x6a\xfc\x4b\x38\x7b\x56\xdb\x2e\x20\x22\x6b\x35\x02\x81\x0f\x1d\x11\xb0\xd1\xfe\x68\xa5\x47\xc2\xbe\xb5\x70\x43\xe9\xb9\x92\xb3\x2a\xf9\x36\x04\x06\x69\xaa\xd3\x53\x2b\xd0\xbf\xb8\x75\x34\x34\x39\x35\xea\x64\x6a\x90\x2b\x0c\x86\x9d\x4b\x6b\xb9\xd2\x4e\x71\xe9\x42\xa5\x19\x02\x05\x94\x4d\xf0\x88\x13\x0e\x2b\x2b\x3f\x7b\x07\xc6\x32\x13\x4d\x83\x9b\x4e\x4a\x7f\x56\xf1\x75\x10\xfc\x39\x30\xd1\x24\x23\x64\x56\x9c\x2f\xd5\x2c\x29\x91\xcf\x0d\x41\x6b\x30\x94\xc6\x82\x5e\x1b\x8c\x87\x81\xf9\x46\x1c\x94\xdf\x9b\xcd\x05\xc0\xdc\xdc\x6e\xb1\x02\x8b\xf7\xfb\xba\x94\x3c\x25\xa2\x11\x9c\x4a\xad\xc0\x9c\xf7\x8c\x76\x71\x00\x24\x9c\x9b\xea\x1e\x9f\xc9\xe8\xaf\x64\x09\x40\xe4\x77\x77\xf5\xb8\x3f\x9d\x04\xe5\x52\xc0\xfd\x18\x73\x90\x0a\x44\x31\xab\x46\x13\x2d\xa0\x5f\xf1\x45\x31\x7d\xfd\x7a\x63\xe3\x91\x16\xc6\x9d\x5a\x8c\x19\x68\xd0\xf4\x5b\xdc\x11\x1e\x07\x94\xc6\xcf\x24\xc3\xfd\x9d\x26\x05\x00\x44\x57\x78\x18\x26\x66\x65\xc5\x25\xe9\xed\x20\x7e\x29\x09\x7e\x8e\x12\x83\x58\x4c\xb7\x74\xcb\x9b\xdd\xd2\x85\x96\x8e\x4a\x06\x4b\xdd\x2f\x2f\x28\x97\x46\x5b\x0c\x98\x4b\x59\x3d\x3b\xca\x1f\xca\xd8\x95\x62\xff\xfa\x97\x83\x7e\x24\x56\x64\xb8\x5d\x9a\xa2\x38\xda\xdc\x7c\xd4\xf7\x1a\x02\x81\x62\x4a\xd3\x16\x29\x3a\x76\x20\xff\xfa\xa3\x18\x33\x52\x86\x52\x97\x51\xb4\x8f\x04\x7d\xcb\xba\xe4\x7f\x4f\xed\x0c\xd6\x09\x6b\x06\xc5\x55\x50\xc4\xc1\x8b\x7d\xb3\x9f\x53\x56\x95\xaf\xfd\x0c\xcc\x7f\x78\x7f\x73\x00\x51\xca\x72\x6f\xaf\xb1\x9f\x33\x1e\xa3\xff\x7a\xe7\x90\x32\x89\x46\x10\xa4\x8c\xd2\xfa\x27\xd6\xaf\xa3\xd8\xdd\x6e\x4e\x3f\xf0\x1e\xd7\x7b\x22\x5d\xf5\x31\x16\x42\x2b\x1f\xc4\xd5\xb5\xa5\x0d\xe3\xb0\x3b\x2a\xab\x0a\x8a\xed\xd1\x65\x4f\x5d\xc2\xdd\xd6\x2d\xce\xd2\x4e\x7e\xb5\xbf\xf8\x32\xf5\xcc\x9c\xf2\xa3\x75\x25\x6c\xc5\x28\x5a\xbe\xad\xbb\xa3\x9d\x62\x7f\xa1\x39\x4d\x99\x68\x5d\x5a\x1f\x0e\x33\x27\x29\xa2\x14\x39\xa0\x23\x87\x3e\xcc\x2a\xd7\x03\x3c\x63\x8c\x3b\xda\x1c\xd4\x9a\x7d\x6c\x3e\xe2\xa7\xfb\x25\xfb\x29\xb7\x56\x60\x10\x6c\x65\x59\x17\xee\x2e\x35\x2a\xd0\x0f\xd9\x0f\xa5\x44\x7e\xea\x2d\x0c\x89\xf6\x07\x64\x35\x4a\xe1\xc6\x5a\xf5\x21\x51\x03\xb5\xb9\xd3\xa6\xa7\x5e\x66\x01\x50\x80\xa3\x2f\x66\x6a\xbe\x0b\x81\x54\xca\x58\x91\x12\xa2\x04\x58\x26\x28\x66\x21\x08\x88\xc3\x9d\x5e\x13\xf2\x98\x67\x2f\x6a\x3c\x09\xb3\x2f\xda\xc7\xeb\xa5\x83\x53\x27\x4a\xd6\x93\x35\xe1\x56\x5e\x09\xfe\x95\xfa\xdf\x9f\xbf\x9e\x5e\xc4\x19\x6d\xbc\x7b\xa0\x8f\x06\x32\xbe\xac\x3b\xa2\xa5\x0d\x30\x69\x37\x04\x24\x01\xe0\x0f\x07\x16\x26\xe2\xa9\xb5\xfe\xd3\xb5\x8e\x8d\x8d\xab\x8f\x58\x45\x4f\x53\xe8\x1f\xc0\x78\xc6\x35\x0e\x1e\xc7\xb1\xbd\xd9\x8a\x74\x22\x8e\x15\x68\xaa\x11\x88\x76\xe7\xaf\x5f\x43\xda\x16\x83\xe5\x53\x95\x9b\xbd\x7e\x41\x24\xba\x3c\x86\x40\x0b\xd1\x01\xbc\xe5\x1e\x66\x8a\x5c\x3b\x53\xcc\x61\x8c\x29\x9a\xa6\x36\x43\xd1\xd1\x5f\x9d\xde\xdf\xce\x8a\x0c\x67\x30\x28\x34\x69\x2d\x6b\xc2\x13\x3c\x05\x0a\x23\x35\x74\x8b\x5c\x43\x43\xa3\xab\x19\x68\xf5\x3e\x0c\x3b\x8f\x21\x60\xb6\x08\x90\xa9\xa8\x0b\x20\x33\xaa\xf3\x2d\xd7\x00\x05\x36\x95\x68\x74\x0f\x89\x44\x5d\x1b\xe9\x53\xb0\x65\x4e\x87\xa8\xea\xeb\x0d\x8d\x7d\x83\x7d\x8d\x8d\x8b\xa8\xe6\x22\xad\xde\xce\xcf\x13\x23\x51\x6e\x93\xb7\xb2\x16\xba\x60\x46\x3a\x9f\xc3\x19\x10\x04\x3e\x15\xa1\x37\x39\x24\x6c\x56\xda\xcc\x65\x7e\xcc\xcb\xc7\xcc\x88\x16\x4a\x10\x61\xfa\x25\x93\x89\x71\x7e\xd6\xdc\xa3\xb3\xcb\xb4\xaf\xa7\x5e\x0f\x6c\x87\x43\xb1\xf4\xb3\x03\x0d\x66\x2b\x2f\x0e\xae\x0b\xb9\xfe\xe1\xb4\x65\x42\x61\xbb\xe8\x13\x3c\xed\xba\x27\xb4\x20\x5c\x2a\x00\x46\xf3\x99\x43\xdb\x3b\xad\x8d\x7c\x1c\x84\x63\x0d\xb7\x86\xda\x80\x98\x4e\xba\x7f\xf6\x66\xbe\x21\xe0\xff\xf9\x4c\x32\x69\x7e\x81\x3c\x5b\x0d\xc5\xd8\xc5\xed\x70\xeb\x84\x08\x26\x9a\xd1\x95\x41\xbe\x6b\x6e\xee\x6e\xba\x90\x72\xbe\xed\x8b\xa7\xfd\xec\xe9\x1b\x6e\x26\xbb\x66\x17\x7f\x76\x1c\x6e\x6a\x6e\x94\x2d\xcd\xe8\x32\x1f\xdc\x35\x28\x21\xec\xd1\xf2\xa2\xf4\xd5\xdd\xc4\x72\x43\x7e\x87\xe4\x8a\x44\x04\xb2\x97\xcd\x22\x60\x5c\x54\x9f\x27\x6a\x09\xbe\xcc\x50\x60\x92\x30\x69\x1a\xdc\x4f\xcd\x9a\xe7\x9d\x46\xec\x6b\x72\x66\xed\x75\xc9\x99\xf7\xa2\xda\xa9\x6a\x5c\x27\xaf\x1e\x33\x83\x21\x42\xba\x49\x45\x6c\xdf\x51\x3f\xa6\xf3\x6d\x31\x32\x3c\x54\xbf\xa7\xf3\x12\x52\xe7\xa4\xa5\x7c\xc0\x58\x7d\xdf\xf5\xe7\x0b\xef\x76\x85\xab\x66\xe9\x2a\xb7\x3f\x5f\x88\x4b\x7c\x49\x59\xf5\xde\xc4\xfb\xa3\x92\x85\x7b\xbd\x25\x6d\x60\x2a\x10\x35\xdc\x44\xbb\xa4\xd1\x60\x8c\x87\x4e\x81\x9f\x39\x24\x23\x93\x63\xbd\x87\xa4\x0c\xd8\x14\xa0\x05\x18\x7a\xe1\x4b\x8b\xca\xcf\x17\x84\x74\xb1\xd8\x80\x1f\x0b\x64\x82\xba\x6b\xd8\x81\xdd\x37\xf3\x07\xec\x5b\x83\x33\xa8\x03\x7a\xa2\x19\xdc\x90\x2c\x9e\xa6\xc1\xbd\x62\x3c\xf7\x1a\x7c\x53\x3c\x97\x7e\xd8\xba\x2d\x56\x45\x89\x6c\x0f\xcc\xa4\xaa\x02\xed\x69\x41\x40\x4f\x5b\xb6\xd8\x2e\x35\x3e\xc4\x70\x51\xf5\xa5\xa5\xe2\x65\x8b\x3e\x96\xe1\x52\xc7\x77\xe7\xd8\xaa\x44\xe7\x2e\xdb\x8b\xd0\xde\xe4\x0d\x58\x4e\x23\xb1\x27\x4e\xa2\xa4\xca\x6a\x6a\x01\xa2\x91\xd0\xbe\x34\x17\xd5\x21\x06\x99\xb1\x74\x4b\x5f\xbd\xe2\x93\xcb\x66\xa5\x52\x80\xc0\x21\x40\xe6\xa3\xbc\x43\x12\x94\x4a\x2d\xa8\x12\x6a\x61\xc9\x1e\x48\x2a\xf6\xcd\x0c\xe3\xfb\x8d\x81\x9d\x4e\xee\xcb\x70\xb4\x40\x77\x97\x56\xb4\x5b\x3b\xbb\xdd\x0d\xdd\xea\xe2\x9e\x84\x73\xec\x71\xc2\xe5\xd1\x48\x8a\xa4\x6c\x81\xb6\xda\x9c\x41\xbb\x3f\xd4\xfe\x79\xad\x09\x22\xba\x6a\xfd\x21\x80\xe4\x84\xd6\x3c\x7f\xdc\x55\xb4\x3f\xdd\x68\xbd\xe5\xc0\xe5\x7f\xa6\x6b\xe1\xa7\x31\xb1\xa6\x6f\x61\xde\xbb\xf8\xdb\xd6\x65\xe9\xfd\x38\x53\x80\x9c\x31\xf7\xd0\x9d\xe4\x8b\x84\xb6\x04\x8c\x21\xd3\xf3\xba\xe2\x39\x93\x68\x85\xd8\x49\x0d\x18\x87\xd6\x42\x8e\xeb\x0a\x07\x11\x39\x4b\xab\x6f\x5f\x28\x00\x5b\x01\x66\x19\x30\xb7\xb8\x88\x6f\x21\xfc\x0b\x85\x92\xf9\x33\x31\x1d\x9e\x43\xb7\xbe\xc1\x3b\x58\x0e\x96\x49\x68\x24\xa5\xc9\x80\xe7\xa6\xb9\x40\x84\xc5\x40\x30\x57\x6c\x0d\x1f\xdd\x11\x5d\x86\x26\x29\x73\x36\xf0\xe0\xa8\x34\x77\xf1\xa4\x59\x90\x33\x63\x2e\xfc\xe3\x4d\x02\x67\x0b\x5e\xbc\x14\xc8\x31\xd2\xc7\xe9\xb9\x4f\xb3\x71\x73\x23\x4d\x73\xf1\x82\x33\x5a\x4e\x4c\x4d\x69\xf6\x7d\xf0\xf0\xc6\x0d\xa1\x39\x8d\x7f\x55\x82\x7e\x87\xe8\xb3\x78\x7e\x7b\x16\xae\x24\x36\xba\x08\x9c\xa8\x03\x46\xd5\xc9\xac\x51\xaf\x45\x69\xee\x32\x57\x76\x86\x59\x14\x46\xa6\x0c\x41\xdb\xe7\x9e\x56\x10\x6c\xa8\x0b\x14\xb8\x06\xed\xd6\xe4\x04\x56\x44\x58\x65\x72\xe2\x28\xb4\xc0\xb0\x5a\xba\x65\x9e\x92\xeb\xcd\xb0\x90\x16\x33\x29\xdb\xca\x5c\x74\x00\x1a\x8a\xf9\x35\x5c\x5e\xe1\x22\x72\xf2\x19\xd0\xa8\xe7\x73\xb3\x0a\xdc\x77\xee\x1d\x50\xe4\x35\x8e\xaa\x66\x37\xa1\x4e\xdf\x4b\x24\x66\xb3\xc8\x5e\x71\x7b\xb0\x22\x4c\x8d\x9d\xdc\x5d\xaf\x88\x19\x7a\x60\x40\xf8\x95\x44\x51\x68\x97\xcc\x04\xe6\x36\x66\xb2\x9d\x16\x95\x1c\x7e\x68\xab\x47\xa9\x35\xc6\x75\x55\x04\x37\x47\xe4\xf0\xed\xeb\xb8\xc4\x15\x7e\xf7\x0a\xc1\xb8\xe3\xf5\x2e\x88\x23\x33\xf1\x50\x13\x0b\x8e\xfa\x54\x56\xca\x21\xbc\x1f\x6e\x7f\xac\xaf\xef\xda\x98\x05\x50\x66\x36\xa0\xd5\x89\x3e\x6c\xdb\x36\x09\x39\x40\xdd\xd2\x96\xf7\xa6\x99\x1e\x8f\xa5\x02\xe0\x35\xcf\x9a\x36\x32\xf2\xf9\x74\x40\x37\x0a\x9e\xe1\x4c\x8e\xce\x32\x09\x1d\xf6\xd7\x17\x20\x74\xfc\xf5\xed\x27\xd4\xaf\xc0\x62\x48\xca\xe4\xef\xd4\xbc\x01\x88\x77\x12\xcb\xe6\x57\x66\xf2\xf1\xb7\xc9\x8a\x37\x3d\xcc\xdb\xfc\x2e\x3d\x62\x78\x0d\x25\x05\x64\x3f\x0d\xba\x7f\xc1\xee\x8d\x61\xb3\xca\xcb\x20\x92\x39\xe0\x65\xff\x70\x90\xa7\x8b\xbd\x48\x8f\xd2\xa9\x0c\x4b\xc8\xe5\xf7\x5c\xf0\x90\xc5\xdb\x8f\xfb\x9d\x84\x9e\x84\x8c\x24\xa0\xb0\x98\xe3\x9b\x43\x25\x96\x30\xa8\x96\x1c\xc1\xe6\x0d\xc9\xc6\xca\x05\xe6\x83\x01\x9d\xdd\x6e\x74\x76\xa3\xbc\x3a\x80\xb5\x4d\xc8\x60\xe1\xb3\x91\x42\x84\x8d\xdb\x61\x73\x70\x93\x26\x0b\x29\x02\x22\x2d\x12\x71\x63\x83\xa3\xaa\x09\x9b\x93\x40\xa9\x49\xe2\xc7\xe8\xf3\x62\x6b\xdc\xd9\x14\xb9\x9d\xa9\xcc\x05\x33\x65\x50\x9c\x16\x46\x38\xdd\x01\x89\x5a\x6d\x55\x4c\x28\xd9\x11\x28\x71\x50\x30\x35\xbf\x19\x6e\x19\x27\xbc\xa5\xc1\x43\xf8\xc7\xc2\x56\x89\xb5\x8a\x69\xc0\xb5\xaa\x9b\xda\x12\x93\xa1\x8e\x6a\x95\xd0\xf0\xc9\xbf\x04\x58\x3f\x71\xe9\x67\x5e\x3a\xd3\x9b\xc0\x5b\x5b\x50\xb0\x56\x38\xa9\x9c\x19\xb2\x0b\xa1\x9f\x36\xa4\x00\xda\x3d\x49\xc9\x89\x28\x08\xb5\x63\x06\xcd\x47\x96\x9a\x15\xdb\x40\xa9\x15\x17\xbd\xe0\x4c\x62\x21\x6c\xb7\x6c\x05\xdc\xc6\x38\xdf\xac\x4d\x76\xda\xf9\xfa\x9d\x76\x56\x62\xf5\x71\xdf\x7e\x15\xdc\xd2\x12\x2f\xa4\xda\xcd\x25\xc7\x49\x69\x1f\x88\x85\xc0\xb6\xd2\x82\xcf\xa1\xd6\xa3\x54\xf3\x9d\x3d\xfa\x21\x42\xb3\x83\x04\x50\x06\x53\x06\x3a\xa6\x6d\x9d\x75\xac\x76\x8b\xd0\x04\x05\x50\x04\x9f\xc8\x73\xcf\xcf\xa5\xef\x3b\xa7\xbf\x17\xa6\xcf\x5a\x04\x7c\x73\x2c\x16\x47\x85\x0f\xcb\x3a\xe0\xc6\x70\x48\xf6\x8a\xaf\x67\xd9\xe9\x56\x15\x75\x80\xa3\x17\x5a\x08\x52\x3e\x66\xe6\xcc\x40\x9d\xe2\x00\x65\x14\xe2\x8b\xae\x40\x46\xc3\x3c\x36\xe3\xcd\xb2\xe0\x2e\x1d\x05\x93\xba\x4c\x81\x0d\xd6\x10\x2f\x81\x29\x93\x58\x94\x0b\x04\x33\x22\x4c\x4e\x3e\x94\x5e\x82\x6d\x0b\xd4\x14\x98\x77\x27\xd6\xc1\xe5\x15\x95\xa9\x3e\xdb\xfa\xd4\x1b\x5c\xe3\x43\x3c\xeb\xf1\x85\x43\xfd\x4b\x62\x60\x9e\x28\x2e\xf6\xee\x75\xd6\xc1\xd6\xb0\x9a\x81\xa5\xd6\x54\x9e\x18\x27\xc8\x20\x82\x6f\xef\xd5\x06\xf3\x4d\x47\xf4\x98\x7b\x1d\x78\xb8\x24\x0a\x76\x06\xac\x1b\xfa\x39\xef\x0a\xab\x7c\xe8\x9e\x46\xb0\x8d\xc9\x78\xca\xca\x80\x61\x10\x40\x51\x49\xdb\xd6\xa7\xf3\x27\xed\x7f\x3d\xcf\x7a\x7c\x51\xf9\x6f\xd8\xfc\x5e\x42\xec\x66\xd3\xff\xa2\x2c\xb3\x5a\x66\xfa\x57\xfa\x01\x34\xe6\xa9\x23\x9d\x08\x07\x34\x93\xce\x79\x81\x49\xac\x07\x95\x98\x39\x23\xdb\xf4\x35\x0c\x0e\x5a\xda\xad\x0e\x45\x0c\xa7\xd9\xe6\xc0\x32\x1d\x07\xe2\xb7\x70\x93\x27\xc6\xdb\x16\x42\x87\xa4\x7e\xbb\xa5\xf6\x55\xb8\x6a\x7d\x15\x1a\xdb\xa3\x10\x57\x77\x45\xfd\x60\xee\x09\x0d\x11\x6d\xf7\x27\x3f\xe8\x16\x21\xac\x40\x20\x00\x80\x83\x43\x20\x32\x43\xd9\x1e\xf9\xd1\x00\x70\x63\xad\xc4\x08\x6c\x13\xdd\xbb\x4f\xc5\xa1\xd8\x1f\x7b\x28\xbe\x43\x32\x0e\xc9\xe0\x6b\x43\x89\x83\xf1\xd1\x6b\x81\xf6\x27\x8c\x55\x98\x22\xae\x16\xe9\x43\x3f\x08\xbf\x0c\x54\xf2\x51\x5e\x90\xee\x0c\xda\x9d\xb8\xa4\x6b\x4b\xf1\xe6\x6d\xc5\x33\xce\xe9\x6d\xec\xea\x24\xba\xdb\x9d\x16\x81\x00\x8e\x1f\xcd\xae\xb0\xb4\x5d\xe0\x3c\x69\x28\x00\x51\x26\x77\x6c\x64\x6d\x59\xdd\x31\x9f\x20\x0f\x73\xbb\xe8\x33\xec\x95\x68\x4f\x01\x4a\xa6\xa5\xff\xf1\x3a\x9c\x4e\x89\x49\xa2\x95\x37\x4e\xc1\xd8\x24\xa9\x7a\x16\xda\xb8\xba\xf4\x0b\x23\x23\x1c\x04\x6f\x74\x34\x7a\xcf\x8a\xb9\x70\xe3\xe4\xe9\xa9\x9a\x9c\x30\x8f\xa4\x6b\xfe\x78\xe5\x0c\xc8\xac\x55\xaa\xb7\xb6\x18\xcf\xc3\x9c\x46\x7e\x3a\x28\x7c\xb6\x42\xb9\x8e\xfc\x94\xcb\x6e\xe9\xe9\x6d\xc6\x09\x60\x4e\x0b\x2d\xab\x95\x8f\x64\xcd\xfe\x6c\x9d\x9d\x39\xa3\x2f\x19\x5c\x54\xcc\x26\x31\x89\xcc\xc2\x03\xbe\x17\x01\x39\x9b\x56\x3c\x76\x6e\x1f\x06\x03\xb7\x3a\x7d\x3b\x42\x2b\xd7\x87\x0e\x64\xde\x53\x8e\x5c\x48\xa0\x11\xda\x08\x0c\xc9\x6c\x35\x14\xed\x20\x6a\x8b\xa8\xa6\x66\x65\x5f\x88\x8c\xd6\xe9\xe6\x4e\xcc\x81\x61\xc4\x38\xbf\x82\x7c\x7c\x67\xf5\x80\xc0\x78\xcc\xd4\x57\x46\x8c\x69\xf0\xc8\x25\x11\x43\xcf\x46\x01\x23\xed\xf6\x4d\x6b\xa7\x8c\x31\x97\xe8\xf4\xb1\x11\x06\x9e\x77\x4a\x25\x22\x83\x11\x5c\xd3\xbe\x37\xc5\xdb\xc3\x17\xa4\x52\x0d\x18\x19\xeb\xdc\x36\xbd\x3b\x94\x7b\x3c\xb1\x55\x4b\x91\x39\x60\xdc\x3b\x24\xea\xd1\xbe\xb5\x3c\xe1\xbb\x7b\x62\xf1\x61\x2a\x4d\x77\x66\xd4\xb1\xba\xb3\xa8\x4f\x5f\xee\x67\xa8\x32\xc3\x0f\x0e\xf9\x45\x17\x06\x6a\x89\x5d\x56\x11\x16\x01\xe4\xd7\x34\xf2\x58\x95\x0c\x2a\x8f\xe9\x67\xef\x53\x30\x8c\x4b\xf7\xbc\x88\x63\xfe\xeb\x8e\x41\xa4\x81\x54\x1a\xed\x50\xf9\xdd\x8f\xb8\x60\x7e\x8f\x65\x3f\xa1\x16\x46\xfa\x5b\xbe\xba\x6e\xba\x6a\x58\xcc\x6e\xd8\xb1\xdb\x55\x94\x95\x35\x5a\x20\x1b\x1a\xbc\x22\xa0\x92\x0e\x70\x88\x73\x73\x99\xb4\xd6\x34\x31\xd8\x40\xb7\x84\xcf\x01\x06\x94\xd6\x10\x47\x69\xc0\x3c\x4a\xdb\xc4\x3c\x7b\xa6\xc9\x7a\xd3\xe5\x01\x9f\x0e\x0b\xde\xa2\x4d\xd6\x7d\xa0\x0c\x61\x9b\xcf\x21\x42\x65\x3a\xe1\xdc\x8d\x6f\xb9\x60\x2d\x93\x43\x5c\xd8\x2e\x79\x6b\xac\x1a\xfe\x24\x03\xf6\xec\x82\x65\x78\xc7\xb3\x80\x4e\xf0\x48\x95\x01\x1e\xd2\xe8\x90\x28\x81\xcb\xc8\x5f\x8c\xa3\xbd\x9d\x01\x21\xcb\x4b\x46\xb3\xab\xd7\x08\x6f\x74\x76\x57\xd5\xd8\x77\x2d\xe5\xc4\x73\xb4\x4c\x00\xd2\x3e\x89\xcc\x5d\x39\x62\xf3\xb0\x09\x88\x4a\x6e\x12\x99\x29\x73\x6e\x9c\x74\x5f\xf2\xf2\x19\xeb\x5f\x0f\x78\x45\x4b\xad\x94\x44\x94\x06\x20\xa5\xbc\x42\x09\x99\x24\x67\x59\x98\x41\xbf\x56\x3e\x1f\x67\x24\x95\x25\x4c\xd0\x30\x4c\x23\xee\xe3\x7b\x1b\x26\xce\x9d\x98\x96\x46\x74\x0f\x64\xeb\x5c\xc0\xa5\x50\x94\x13\x3d\x9c\xd2\x1b\x61\x34\xe2\xca\x0d\x8f\x1f\x0f\x38\x22\x9c\x3c\xdc\x9d\x8a\x8b\x73\xfc\x4c\x5e\x5e\x4e\xdf\xdc\xf2\x45\x63\x9c\xc7\x76\xb9\xac\xed\x48\x2d\x5f\x3e\xe9\x97\xf2\xa7\xf1\xd6\x8b\xd8\xda\xf8\x02\x3b\x7c\x2b\x87\x63\xa9\xc8\x21\x8b\xa9\x04\xbf\xb6\xbf\xde\xea\x0b\x38\xbe\x1f\x4f\x2f\xd2\x2e\xe8\xa7\x84\xc1\xf7\x4a\x6e\xc6\x38\xbc\x26\xa8\x2c\xec\x11\x81\x96\x25\xeb\x73\xf3\x74\x90\x5d\x36\x28\x0b\x6b\x07\x96\x48\x36\xf1\x0c\x89\x46\x71\x23\x28\xdb\x89\x5b\x96\x79\x97\x8c\x8f\xa6\x7b\xfb\xc1\x30\x28\x93\x5e\xe0\xca\x0b\xd6\xbf\xc1\x62\xd6\xf8\xeb\xd7\xa3\xac\xc5\xac\x0e\x03\x83\x92\x80\xe4\x17\x14\x00\xdc\xda\x0b\x9d\x9d\xfd\xb4\x91\x26\x66\x86\xce\x7a\x43\x71\x49\x89\xcf\x12\x10\x15\xdd\x3c\xce\x9c\x24\x92\xab\x28\x28\x68\x5c\xd2\x45\x44\xe9\x43\xd1\xf4\x1f\x01\x1d\x15\xad\xdd\x1c\xdc\xf3\xe9\x63\x5f\xe8\x78\xf6\x2f\xc1\x83\x45\x82\x2e\x3a\xe4\x1c\xfd\xfc\x69\x5e\xf8\xc6\x2b\x8a\xce\x9f\x9e\x31\x7f\x18\xd7\xa6\xc9\xf3\xd2\x82\x4a\x69\x34\x40\x60\x6c\x87\x78\x10\x4e\xef\x4c\x24\xe6\x90\x98\x36\xc3\xd2\x54\x97\xaa\xc5\x12\x2e\x9d\x96\x3f\xd0\xea\x8f\xe4\x0f\x34\x07\x5d\x0c\x8d\x58\xa4\x31\x68\x7c\x7d\x67\x38\x3c\x31\xc8\xa4\x3c\x0b\xee\x40\x4b\x02\x8d\x9a\x2f\x16\xc7\xf5\xa2\x2f\x0b\xe3\xa5\xd1\x35\xed\x70\x01\xc8\x7f\xd7\x9c\xca\x6f\xeb\xe8\x91\x74\x92\xae\x70\x87\x10\x61\x20\x6a\xe9\xa5\x74\xe0\x62\x45\x91\x12\x9c\x0b\x45\xa9\x79\xf6\xb7\x26\xd0\xa6\x34\x60\xd8\xaf\x11\x89\xbd\xb5\x24\xd2\x4c\x87\x04\x9d\xf9\x22\xab\x85\x7f\xad\xe7\x83\x4a\x76\x69\xbe\x0c\xc1\x6c\xee\x00\x6a\xa3\x5a\x25\x3d\x27\x29\xbe\x96\x38\x96\x18\x65\xe6\x88\x14\xc8\xe1\x60\x38\xfc\x54\xca\xe1\xc7\xec\x2a\x8f\x4d\xe7\x38\xf5\x9b\xbb\x2e\xac\x80\x87\xbb\x8d\xd6\x77\xb8\x7e\x0f\xc9\xe2\xf5\x5c\x28\x48\x94\x74\xa4\x76\x0b\x72\xab\x22\x6a\x44\x6f\xbd\x47\x10\x47\x0d\xe6\x98\x69\x03\xfe\xb2\x84\x6c\x03\x48\x65\x8c\x86\x25\x69\x61\x26\x39\xb3\x64\x89\xb6\xcf\x1c\x64\x3e\xf3\xfc\x0e\x2d\x69\x0d\xb7\x6c\x4d\x12\xee\xbe\xdc\xb0\xd9\x16\xa1\x54\x41\xef\x94\x24\xb6\x9c\x56\x48\x47\x7c\xe7\xb3\xec\x0a\x88\x17\x24\xc7\x0f\x0b\x0b\xea\xf9\x3a\x1d\xc7\x12\x31\x52\x0c\x15\x73\x5c\xf0\x5a\x20\x14\x24\x91\x50\x6a\xd7\xdb\x87\xbd\x8f\x5d\xd9\x8b\xc6\x67\xd8\x38\x60\xe7\xb0\x86\x20\x16\xfb\x7a\xdf\x92\xf2\xa4\xcb\x56\xd4\x58\x8f\x19\x15\xa3\xdd\x95\x78\xba\x72\x74\x58\x2f\xa0\x41\xd1\x70\xd7\x32\xb4\x0f\x08\x5e\x5b\x31\x7e\x52\x7b\xef\x08\xeb\x9a\xac\x97\x19\xb2\xbc\xc9\x87\xa2\x3a\x6b\x0e\x43\x11\x55\x12\x27\x35\x6e\x98\x90\x1c\x25\xa1\x27\xd7\x43\x58\x02\x50\x30\x36\x47\x83\xdb\xae\x91\xfb\x6c\x5b\xe9\x3c\x96\x1b\x4e\x83\x73\x63\x4f\x46\x65\x51\xfa\xca\x2d\x92\x67\x69\x24\xf3\x18\x52\x4e\xe8\x13\xb2\xfd\x6f\x19\x37\xd2\x57\x7a\x9a\x0d\x5f\x74\xba\xb9\x22\x3f\xea\x7a\x3c\x51\xd5\xeb\x6c\x26\xb5\x91\x42\x2c\x35\xec\xa5\x22\xfa\x7d\x12\x5c\xd9\x11\xdb\x69\x5e\x93\x7c\x7d\xc3\xf0\xb1\xa2\x52\x9f\x9c\xbd\xd8\x19\xe8\xb4\x6c\x0f\x3b\x7f\x24\x89\x8c\xd1\xbb\xf9\x27\x64\x78\x77\xe1\xf2\x41\x2a\xc6\xcd\xba\x31\x0f\x5f\x77\xf0\x66\x24\x6f\x72\x97\x77\xa6\x56\xa5\x15\x24\x0a\xc8\xe9\x54\x1d\xdb\x48\x06\x69\xf9\xf3\x03\xfa\xf2\xd3\x4c\x16\xdb\xe2\x16\xfc\xe4\x6c\x56\x07\x63\x5c\xa0\xa7\xbc\xbe\x37\x4f\x0b\xec\x8a\x9a\x0e\xb7\xf4\xc5\xb9\x52\x86\x44\x29\xd7\x5d\xee\xf8\xbc\x8c\x42\xee\xd1\x01\xd3\xe4\xb6\x3d\x33\x95\xe8\xe9\x71\x46\xc9\x4d\x4d\xc9\xe8\xc8\x93\x86\x42\xca\xfc\x67\xb7\xc9\xd8\xdb\x0a\xad\x4f\x4d\x5b\xfa\xd4\xb0\x60\x12\x10\xf4\xad\x57\x5b\x70\x42\xce\x89\x74\x0c\xbb\xdf\x02\x69\xca\x5c\xf6\xf1\x00\x04\x40\xfb\xbf\x60\xde\x7b\x19\x58\xea\xd1\xf1\x2f\x29\xd3\xc6\xa9\x63\x44\xbb\x52\xa7\xff\x50\x76\x7a\xee\x8b\x78\x9f\xee\xa6\x34\x39\x48\x13\x86\x5f\x9f\xc1\xd9\x87\x85\x23\xe9\xba\x31\xa2\xf9\x26\xd3\xeb\x50\xc2\x2f\xd6\xd5\xd6\xa1\xa7\xd5\x26\xae\x7f\x55\x9c\xa8\x75\x8e\xa8\xe0\x29\x96\xef\x6c\x39\xf6\xd0\xad\xf6\x3a\x21\xe5\x7d\xc9\x91\xbc\x3d\x5b\xf2\x12\x2a\xb2\x99\x3b\xa7\xad\xb2\x01\x84\x75\x7b\xb0\xb4\xb1\x03\xeb\x2e\x1a\xa4\x96\x70\x11\xbd\xe2\x22\xea\x21\xea\xe2\x06\x2c\xfe\xbc\x7c\x1c\x76\x0e\xab\x0f\x6e\x4e\x19\x9b\x4b\x0c\x13\xed\x36\x33\x75\x00\x64\x3e\x83\xf6\x36\x8c\x97\x04\xbb\xcf\x79\x2f\x48\x16\xa2\x7d\xdc\x13\x1e\x92\xf1\xd1\x91\x83\x02\x7b\x71\x4c\x81\x1d\x9c\xf1\x24\x92\xf2\x0d\x0a\xe7\x9c\xe0\x2d\xc4\xc4\xf4\x61\xa1\x8f\x5b\x8e\xfe\xf9\x73\x74\x0b\xdd\x6e\x53\x8c\x6e\x32\x8e\xc4\x9f\xe0\x40\xa1\x7f\x92\xee\x1a\xd1\xb7\x8a\x8d\x0f\xbf\x0e\x0f\x8f\x8c\x78\x48\x4e\x70\xc1\xa2\x89\xc7\xe3\xb5\xde\x10\x1e\xd2\x32\xf1\xd0\xe3\x08\x26\x04\xe1\xe9\x0b\x33\x03\x09\xa7\xf1\x84\xf3\x91\xcd\xc0\xc6\x66\x8c\xf7\x78\xe3\x0f\x29\xe7\xfa\x0c\x11\x01\x57\x50\x27\x68\x82\x37\x66\xf2\x3e\x91\xda\x20\x96\x02\x73\x21\xa8\x3b\x15\xfc\x70\x81\xd5\x26\x51\xfd\xb1\xb7\xce\x63\x0e\x4e\x1f\x04\x3e\x4f\x67\x64\x48\xf7\x45\xde\x31\x75\x09\x10\x7b\x84\xcc\x5e\xcb\xda\xaf\xfc\x56\xe4\x7d\xf1\xe8\xe3\x32\xdb\x40\xe7\x4a\xca\x48\x05\x95\x53\xe1\x16\x1e\xf6\x14\x3e\x21\x7e\xf5\x16\x9b\x4c\xe9\x5e\x64\x1b\x10\x09\x98\xe6\x72\xc0\xd2\x35\x2f\xe7\x1d\x90\x47\x79\x4e\x0f\x57\xfe\x08\x2d\xf5\x60\x05\xa4\xb1\x1b\xe2\xe4\xc9\x9a\x4c\x4a\x03\x9e\x8b\x3d\xa9\xd4\x28\x52\xa5\x56\x32\xc3\xc8\x8f\xec\x4d\x3b\xbe\x3a\x8b\x2d\xcf\xec\x41\x08\x30\x3c\x19\xc8\xa4\x09\x4c\xc3\x07\x31\x4c\x3c\x46\x28\xd2\x4a\xee\xad\xf4\x14\x4c\x0e\x86\xee\x43\x6c\xa8\x59\xf7\xf6\xc3\x4e\x8f\xfc\x03\x5f\x37\xed\x00\x3a\x2a\x95\x5c\x38\xcd\x8f\xde\x77\x08\xa0\xea\x0b\x0d\x64\x35\x27\x4c\xb2\xdf\xcf\xe5\xa6\xee\xf5\x48\xf7\x73\x35\x4d\x20\x9e\x32\x49\x44\x8e\x25\x9e\xb6\x57\x50\x5c\x70\x79\x72\xa2\x7e\x85\x83\xd2\x8d\xe9\x29\x71\x4e\x30\x07\xc5\x45\xf7\x7c\x29\x89\x28\xf5\x40\x01\xfc\xd6\x28\x22\x3b\x91\x4a\x47\x5a\x90\x21\xa3\xa3\x97\x55\xa5\xdb\x2c\x57\x4c\x8a\x23\x45\xd7\xac\xd2\x45\xb6\xad\x84\x87\x1c\x18\x99\x4f\x35\x2e\x4b\xfa\xc1\x91\xb1\x91\xa6\xf9\x99\x53\x6c\x73\x6f\x02\x8c\xc5\x7a\x89\x64\x92\x13\x37\xe3\xe9\xd3\xb3\x3b\x25\x05\x6e\x3c\x8f\x0f\x35\xff\x2a\x8f\x14\x0f\xf7\xd9\x69\x75\xb8\x8e\xb6\x3f\x6f\x8c\x93\x6d\x49\x96\x97\x22\x6d\x90\xf7\x2e\x1d\xe7\x14\x58\x4c\xf3\xde\xf7\xc6\x46\xa5\x91\xb5\xb5\x91\x8e\x19\x72\xe2\xc7\xf5\x73\x0c\xea\x96\x0b\xbd\x9f\xf9\xb4\x8e\x0d\x38\xb3\x21\xa2\xc8\xcb\x7b\x4e\x93\x63\xc6\x79\xd9\x97\xa3\xed\x04\x8a\xf9\x4e\x66\x80\xe7\x32\xe3\xfd\x21\xfc\x6e\x1b\x22\x35\x68\x55\xc4\x46\xf8\x86\x4a\x27\xd0\x64\x84\x42\x00\xc4\x32\xe5\xf2\x73\x76\x35\x11\xde\x09\xd6\xd7\xe5\x8b\xf0\xca\x43\xa1\x72\x13\x3e\x7e\x18\x2e\x81\xac\x1c\xb5\xdc\xa4\x10\x89\x6b\x67\xc7\xcf\x4c\x69\x6e\x4e\xf1\x64\x9b\x90\x8f\xf3\xbd\x75\x27\xad\xf2\xd2\xe3\x66\x5d\xa1\x1e\xf1\xb5\x42\xfb\x73\x14\x4c\xb7\xb7\x41\xc9\x01\x35\x53\x87\x68\xd5\x4b\xa3\x76\xe6\x9c\x76\x6e\x2d\xca\x5f\x65\xbc\x39\x10\x65\xf5\x56\x07\x22\x6d\x93\xaf\x07\x89\x42\x12\x3a\xef\x47\x03\xce\xab\xbe\x78\xd6\x63\xf5\x5a\x58\x0a\xae\xbe\xc9\x6f\x1a\x1b\xe9\xda\x79\xfe\xe5\xf9\x00\xf2\xc2\x48\x10\x4b\x67\x54\x9c\x1c\x7e\x63\x4e\x07\xc2\xb8\x17\xed\xe2\x00\x87\x4f\x5a\x4b\x3a\xdc\x62\xdc\x41\x07\x80\x25\x39\x43\x09\x5d\x9d\xc3\x6f\xf2\x15\xca\x97\x17\x98\xb9\xc8\xd5\x77\xdb\x31\x8d\xdd\x29\x1b\x28\xa3\x74\xb8\x98\x5e\xb2\x3f\xb1\x81\x75\x80\xc6\xa6\x98\x03\x2d\x14\x41\x01\x9d\xba\x8a\x39\xaf\x19\x8b\xa3\x00\xa7\xe9\x39\x4e\xd6\xd9\x84\x1d\x4c\xad\xf6\xc1\xbd\x23\xda\x41\x32\x59\x75\xda\xe9\xe1\xe1\xbd\x35\xc7\xc6\x2f\x5f\x1e\x1f\x3d\x66\x12\x71\x6c\x14\xca\xc7\x6a\xf6\xc6\xe5\xde\x87\x88\xbf\x11\xbe\xcb\xa1\x3f\x75\xf6\xfd\x41\x72\xa9\x5a\x99\x9a\x16\xcd\x02\xd1\x5d\xd3\x41\xeb\x58\x20\x14\x5f\xd5\x76\xef\x4d\x0f\xbc\x8f\x31\x56\x1c\x96\xbf\x26\x19\x50\x5c\xef\xea\x1d\xc5\x36\x58\xa3\x93\x32\xeb\xeb\x9d\x6d\x37\xe4\xa5\xb1\x5b\x6c\xd2\x8f\x27\xbb\x1e\x41\xa9\xc9\x51\x36\x52\xbb\x0b\x53\x0b\xed\x51\x7d\xeb\xeb\x94\xad\x53\x87\xec\x65\x7f\x95\xec\xef\x53\x1c\x5c\x44\x2d\x77\x4c\x72\x54\x43\x5d\xb9\xd3\x8e\x6f\x72\x6c\x79\xbd\xdd\x82\x58\xa5\xcd\xdb\x4a\x5e\x66\x6f\xee\xa3\x0c\x2d\x8a\xe9\x0b\xf0\xcb\xb0\x87\x95\x28\x95\x58\x33\xd3\x52\x3e\x5c\xd6\x23\xea\x96\x09\x39\xe2\x16\x89\x56\x50\xe9\xa5\x98\x51\xd5\x90\xdb\x91\x1e\x2c\x1e\x61\xf9\x65\xa4\xcf\xe4\xa6\x58\x9b\x23\xbf\x2a\x85\xdf\xe7\x67\x56\xec\x54\x6e\x71\xf9\x8f\xcd\x47\x4c\x97\x28\x98\xc2\x5a\x29\xd3\x6f\x84\x4d\xf3\xc1\x69\x8e\xe5\x21\x23\x5a\xd1\x18\x04\xca\x48\x05\x2e\x83\xd0\x24\xf1\x89\xc9\x80\x57\xfa\xf5\xb4\xa0\xaf\x5c\xb0\x70\xa9\xb8\x15\xd0\x2a\xc8\xb6\xf5\x8d\x0b\x17\x2f\x0f\x94\x95\x2e\x67\xbe\xd2\x79\x20\x39\x93\xef\x4c\x32\x97\x81\x1a\x70\xa7\x28\xd1\x23\x5a\x2d\x29\x69\x8e\xc1\xb8\xf3\xb5\xdd\x6a\xeb\xb4\xd2\x6a\xd4\xad\x19\x3d\x1f\x1a\xbc\x30\x62\x93\xf3\xf2\x1b\x60\x6e\xa3\x30\xe0\x61\x5d\x9c\x6b\x32\x93\x49\x29\xba\x58\xed\x45\xdb\x38\x66\x96\x6e\x44\xb1\xce\xb7\xbb\x25\x38\x92\x43\x53\x2e\xde\x6f\xda\x15\x8b\xc4\x9b\x18\xf6\x4e\x67\xdf\x27\x7f\x64\xdd\x70\xad\x2d\x9d\xd9\x4a\x93\x3d\x61\xba\x8a\xbd\x59\x3c\x6c\xdc\xec\xc7\xa0\x0c\xa3\x4f\x1a\x59\x64\x62\xc9\x48\x6c\x5f\x4c\x01\x43\x0a\x06\x5e\x1b\x5d\xc7\xca\xd2\x1d\xd1\x6f\x0e\xaa\xf1\xc7\xe0\x8f\x3e\xab\xc9\xb9\xd8\xa8\xa8\xfc\x4e\x6b\xb1\x59\x09\xa5\x91\xd4\xb5\x3d\x81\x9a\xd4\xc3\xe3\xf5\x17\x66\x85\xe7\x4e\xa5\xac\xec\x03\x48\xce\x5e\x95\xb9\x03\x9f\xce\x19\x9f\x66\xe3\xa8\x3c\x96\x97\x1f\x89\x28\x7c\xe2\x45\xd3\xe4\x28\x53\x4c\xb5\xd7\x5c\xf9\x9f\x8a\x3e\x9c\x75\xc2\x34\x0f\x76\x64\x4e\x97\xe9\xbe\xf5\x7e\xb4\x48\x4e\xf2\x00\xab\x5b\xb1\x6e\x44\xc4\xcc\xca\x65\x68\x2f\xda\x88\x28\x32\xa9\x31\xa2\x68\x65\x5f\xca\x94\x51\x6e\x56\x3d\x91\x43\xe4\xf6\xf0\x92\xa8\xf9\x48\xff\x1c\x1b\x7f\x45\x8d\xef\x67\x1b\x69\x7e\xa7\x25\xaa\x42\xa5\xe3\x31\x35\xfe\xc6\xe0\x63\x7a\xc5\x95\x0b\x76\x0d\x81\x3e\x61\xeb\x59\x80\xf1\x25\xb1\x65\xbe\x26\x63\x21\xa0\x89\x15\x70\x49\x42\x0d\xcb\x38\xd0\xb3\x5d\x7e\x41\x2d\x6c\xa1\x36\x34\xc3\x31\xa5\x98\x92\x2f\x15\xb0\x5b\x5c\x12\x5c\x5a\x08\x0c\x49\xf5\x0a\x54\x34\xd0\x1c\x57\xb9\xf9\xf0\x61\x61\x38\x27\x6c\xfa\x88\x78\x52\x59\xac\xdf\x4e\x92\x65\xfb\x00\xc6\x6a\x33\x3a\xdc\xed\x2d\x06\x3a\x47\x90\xdb\x36\x17\xe5\x19\x76\xd3\xe1\x61\x64\x24\x24\x60\x83\x4d\x2c\xdc\x94\x43\xf4\xf6\xbe\x04\x7a\xf0\x33\xb7\x21\x71\x86\x31\x93\x98\xf7\x8f\xe0\x5d\xd3\x8b\xd9\x17\xdf\x6e\x23\x78\x8e\xb5\x42\x0e\x8d\xca\xe7\xc6\xc0\x6c\x5d\xb8\xbe\x4b\xc3\x5e\xb7\x0f\x74\x0e\x95\xf4\xb9\xd6\xc2\x13\x5f\x40\x59\xd0\xfc\x17\x75\xec\x9c\x67\x53\xfa\xb5\x6b\xae\xe7\x5d\xd0\x02\x4f\xc6\xa4\x97\x26\x76\x3a\xf5\x98\x1f\x4e\x83\xdb\x61\xfa\x4c\x19\xd8\x11\x65\x77\xc9\x8b\x9e\xf5\x2d\x68\x59\x7d\x3a\x1e\xa8\xc1\x78\x69\x20\x4f\xb9\x05\x20\x95\x8a\x78\x7c\x2b\x5e\x8b\xc3\xb1\xb2\x43\x71\x01\x25\x84\x7f\x03\xe6\xb8\x5d\x7b\x5b\x5b\x1b\x1e\xd8\x71\x22\x9a\x09\xdc\x78\x40\x4c\x07\xd6\x75\x70\xd5\x94\x1d\xd5\xc3\x6a\xbb\xea\x83\x0b\x0b\xdc\xd6\x2d\x01\xdd\xe8\xa3\x5b\x3d\xc9\x7f\x8b\xc0\xf5\x93\xd8\xa6\xb2\x5c\x0c\xf1\x65\x89\x8b\x6a\x71\x5b\xfe\x25\xef\x1c\xb3\x5e\x57\xa5\x87\x94\x1a\x19\x27\xe2\x48\x6a\xd3\x79\xc2\x63\xea\xf4\x25\x4a\x38\x8a\x18\x49\x6d\x78\x95\xc2\xe5\x3d\xe8\x43\x2f\xfa\x5d\x2e\x26\xc1\x77\x34\xcd\x44\xde\xc3\x2c\xc6\x98\x17\xce\x13\xca\x1c\x33\xf9\xb9\xea\x94\x22\xb6\x7a\x96\x14\x9f\x83\x60\xc5\x55\xa9\x90\x16\xea\xc1\x0d\x7c\x4d\x3a\x1f\x33\x51\x63\x21\x93\x5f\xc7\xa3\xe5\xf1\x57\x28\x01\x18\x57\x6a\x87\x90\xd3\xf9\x71\xeb\xd6\x53\xf2\x23\x66\x28\x47\x34\x47\xde\x97\x49\x3e\xb4\xa7\xd4\xe0\x85\xe4\x6e\xd5\xda\x84\x45\x92\x06\x0e\xfc\xd9\xa9\xff\xf7\x8d\xf2\x5e\x84\x9b\x92\x80\xe6\x97\xcb\x97\x8b\xda\x3c\x44\x24\x3e\x6e\xf1\x48\x47\x5b\xc7\x16\x4d\x89\x27\xc9\x43\xd4\x26\x92\xc7\xb8\x27\x6f\xf8\x72\x55\x6d\x08\x05\x80\x1c\x8a\xc6\x11\xfb\xcd\x4e\xcb\xcf\xdd\xbe\x7f\x77\x4a\x01\x3f\x89\x12\xe5\x36\x97\x5c\x41\x3c\x88\x8f\x4e\xc1\xb6\xf7\x0e\x5a\x4b\x35\x12\xa2\x44\xc1\x29\x98\xfc\x85\xef\x1d\x48\x69\x3d\x17\x82\x69\xd9\x71\x6c\x53\x05\xce\xd5\x3a\x9c\x42\x1a\x32\xb6\x26\x79\x59\x91\xed\x5e\x1b\xd9\x06\x17\x62\xd8\xae\x75\x7d\xe6\x10\x59\x2b\x6c\x7f\x63\xfc\xbe\x5a\xdb\x6d\x4c\xc7\xd5\x25\x39\xa4\x15\xe3\xa6\x73\xc1\xc6\xcc\xaa\x59\xef\x4f\xf2\x31\xe9\xdf\xba\x59\x44\x32\x0e\x4c\xb6\x0a\xbf\xfd\xbf\xca\xa2\x25\xf8\xa2\xf5\x63\x15\x2b\x37\x9d\x07\x56\x94\x5f\x2e\x72\x73\x49\x71\x0d\x70\x1b\xd7\xa9\xf0\xb9\xe5\xba\x20\x3e\x10\x04\xc9\x62\x47\xec\x4e\x7a\x95\xc5\xbd\x32\xb2\x71\x96\x58\x93\xfd\x44\xf9\x49\xae\xd6\x61\x8a\xf6\x96\xda\x27\x48\xff\x10\x56\x83\x54\xa2\xad\xec\x9c\xbc\x99\x9f\x1f\x95\x45\xc9\x74\x8f\x7c\xfa\xda\x47\xb5\x33\x96\x28\x0d\x6f\x4f\x74\x72\x4a\x6c\x0f\x97\x12\x73\x02\x3c\xe5\x3b\xd5\xf2\xdc\x33\x29\x59\x51\xf9\xe8\x81\x60\x67\x77\x87\x38\x05\x22\x6f\xbd\x26\xef\xdf\x37\x3e\x17\xee\x63\xd1\xad\x82\x88\x5e\xa2\xf5\x40\x26\x0b\xe6\xd1\x74\xea\x54\x93\x07\x12\x7d\x67\xbb\x1c\xb1\x24\x82\x7d\x88\xec\xb0\x30\x68\xba\x68\xbd\x13\x29\x88\x47\x54\xfa\x01\xbe\x00\xc7\x73\x94\xe3\x79\x34\x72\xec\xc7\x00\x0d\x20\x14\x00\x7f\x6f\xea\x0d\x4d\xf2\x48\x3b\x0b\xce\xa6\x77\xea\x7e\x7c\xaa\x20\x21\x28\xeb\xef\xf2\xf7\xcf\xf9\x0b\xf6\x86\xd9\xe0\xb6\x19\xf7\x61\x64\xd8\x07\x22\x09\xb9\x91\x0b\xdb\x2d\x73\x51\x67\x23\xe2\x2c\x31\x4d\xb0\x16\x9c\x7c\xaf\xad\x2f\xa9\x75\xcd\x68\xf6\x52\x94\xb1\xd3\x2d\xc7\x2e\x6b\x24\x47\xf8\x4b\x2c\xdd\x85\x31\x61\x15\x3d\x61\xab\xfc\x8c\x59\x50\xc7\x41\xc6\x2c\x71\x94\x25\x21\x11\xd6\xff\x0a\x4f\x4e\x05\x15\x7a\x76\x4e\x36\xd7\x5e\xa5\xc6\x03\x3e\xf0\xee\xc6\xac\x41\xe9\x76\xdc\x4a\x87\x46\xf0\xd3\xbd\xcd\x29\xb0\xc9\x0a\x2f\x9d\x99\x8a\xde\xaa\x6c\xcc\x92\xa9\x42\x33\x47\x4d\x19\x9c\xaf\x27\x5b\x18\x90\x1a\x2c\x6e\x5c\x16\xbe\xe7\x8c\x5c\x1d\x6b\xde\xd1\xa3\x0d\x6d\x31\x05\xa5\x68\x6d\xb4\x6f\xb5\x3e\x21\xd3\x1a\xf4\xbb\xf0\xd5\x6a\x4d\x30\x43\x20\x3c\xa6\xe9\xe7\xff\xf3\x07\xe5\x9f\xb5\x80\xb9\xdf\x8e\x5c\xbd\xbc\xbb\xbb\x91\xbe\x60\x4b\x7f\x7c\x07\x5f\x78\x4e\xf4\x11\x11\x60\xc7\x80\x9c\xb8\x9e\x70\x57\x1d\x1d\x4a\x0c\xe8\x0c\x6a\x48\x4c\xf6\x4d\x0f\xa9\x3c\x94\xea\x5f\x94\x92\x89\x3d\x07\xf9\x7f\x9f\xaa\x90\x43\x05\x14\xa8\x8a\x06\x4d\x40\x07\x57\xde\x85\xce\x25\xea\x89\xb7\x16\xb8\xfd\xc7\x86\x82\xf4\xe1\x93\x66\x14\x97\x7f\xa3\x8e\x25\xe4\xa7\x4d\x6e\xd8\x70\xe6\xa1\x0b\x5a\x00\xd4\x33\xfd\x40\x3e\x27\xf6\x4d\xbc\xf0\x64\x0d\xfe\x59\xba\x2c\x42\x04\x54\xb3\x97\x75\xb1\xc2\x4a\xf5\x3a\xf9\x03\x1b\x83\xe6\xd8\x6f\x3e\xaf\xb5\x62\x5e\x1d\xd5\xb9\xe1\xc8\x91\x92\xde\x8b\x47\x78\x8e\xba\x5f\x57\xeb\x60\xcf\x04\x48\x0c\x04\x8f\x92\x22\x3d\xb4\xcf\x9f\xa3\xfe\x01\x7a\x26\x3d\xde\x05\x08\x1c\x40\xfe\x25\xd3\x8c\x48\xd9\xf3\xd8\x71\x69\x93\x78\x17\xb0\x44\x48\xba\x58\x78\xcf\x6a\xea\x84\xaf\x4b\x01\x20\x16\x7c\x40\x00\x04\x51\x54\x16\xb0\xc6\x50\xa8\xe4\x2b\x07\x18\xe3\x3a\x75\x1e\xee\xb2\x63\xdd\x7d\xd0\x9e\xbd\x54\xb2\x9b\xcb\x0b\xa1\xf0\x85\x42\x35\x8c\xda\xa8\xca\x02\x38\x31\x82\xd6\x68\xc8\xa9\xaa\xaa\x9c\xa7\x61\xb7\x99\x46\x75\xf6\x58\x4c\x63\x5b\xa1\x6e\x4e\xd7\xa8\x78\x74\x4e\xdf\x44\x9b\x58\xd8\xc5\x2a\x11\x4e\x38\x04\x02\xfd\xf0\xc6\xdc\xe1\xc3\x73\x37\x1e\x02\x16\x89\x15\x7c\xf8\xf6\x18\x86\xcd\x32\x0d\x7f\x90\x05\x52\x7b\x3e\x7d\x37\x38\xf8\xd8\x2e\xc7\xe1\xb9\x47\x8e\x9d\x04\xd5\x79\x11\xd5\x82\xb0\x9f\x4f\x67\xc1\x23\xf8\x51\x0e\x96\x91\x9a\x71\xf3\x27\xa0\x67\x12\x0a\xcf\x66\x92\xaa\xb8\x12\xc2\x07\x18\x4b\xf8\x59\x88\xb4\x60\xb2\x39\x8f\x68\xf3\x32\xea\xc2\x84\xc9\x36\xda\xfd\x24\x7d\x93\x1e\xae\x0e\x1e\x20\x97\x83\x28\xc3\x54\x3f\xbb\xef\xb2\x18\x7d\x41\xad\x60\xf7\x0f\x37\x1b\xd4\x05\x38\x94\xe8\x80\x18\x4c\x19\x48\x46\x52\x12\x03\x89\x47\x8a\x0a\x0b\x45\xfd\x46\x4a\x08\x58\x77\x21\x53\xc3\x4b\xd2\x72\x86\x1d\x8e\x00\x04\xde\x40\x45\x4b\x61\xfa\xdc\x32\xcb\xf6\x27\xbe\xe9\xb1\xca\x8c\x94\x25\x76\x5b\xd8\x9f\x5b\x37\xbe\x82\x1f\x53\xae\x46\xb3\x6a\xbc\x01\xe8\x6a\x86\x14\x87\x5b\x35\xe8\x68\xa1\x4d\x06\x74\x2c\xa1\xb9\xe1\x5e\xff\xa1\xd2\x69\x23\xda\xe1\x43\x6f\xaf\xb4\xce\x71\xc2\xa7\xfb\x5a\xa7\x65\xe8\xe6\xf3\x9a\xbd\x74\xac\xbf\x65\xe3\x19\x57\x69\xfe\x95\xb7\x87\xee\x70\x5f\xd7\x74\xa8\xff\x5e\x2a\x3e\xb2\xb8\xb1\xf9\x56\x6c\x68\xf1\xf9\x17\x5a\x9a\x51\xa3\x6a\x58\x07\xa7\xcf\x1c\x42\xdf\xe3\xa8\xaa\x82\x39\xa9\x71\x02\x37\xd6\x40\xf9\x19\xb1\x8b\x82\xaf\xb8\x27\xb4\x12\xd0\xed\x16\x1e\xe3\x9e\xe1\xfa\x1d\xab\x5b\x3d\x65\x1e\x1c\x89\xc4\x48\x2b\x5e\xd1\x97\xba\xc5\xde\xea\x61\x2f\xf5\x47\x85\x13\x36\x8c\x7a\xd5\x3c\xf0\x36\x29\x79\xd0\xb6\x87\xe5\x44\x48\xe4\x77\x46\xcb\xcf\xf3\xe3\x13\x76\xe5\xfa\xfa\x32\x6e\x46\xbd\x29\x25\xc3\x64\xf8\xf3\xef\x03\xb9\xee\x2e\x9d\x29\xe1\x08\x14\xc6\xdb\x95\x50\x36\x5e\xc3\xb7\x72\x09\x8d\xe3\x04\x7b\xaa\x68\xf7\xc8\x3c\x8a\x4c\xca\x3f\xb3\x49\x68\x2e\xa7\xb7\x98\x8e\xb4\x64\x68\x74\x5b\x24\x9d\xe5\x1e\xe3\x16\x5d\x09\xec\xe2\xb2\x66\xc5\x98\xb0\x39\x26\x34\x2e\xda\x3b\x00\xe6\x73\x3b\x8f\x42\x8c\xaf\x95\xfd\xf6\x0a\x12\x9a\x6b\xf6\xf5\x19\xdc\xe6\xf5\xf5\x95\x7e\xcf\x3e\xa8\x6a\x29\xcf\xb0\x79\x22\x54\xcb\xe3\x9d\xbc\x6a\xbd\x4d\x55\x1b\x81\x02\xe9\x64\xce\x82\x4d\xbc\xdd\xb1\xad\xb4\x5b\xff\x84\x44\xf1\x67\x34\x0f\x7b\x1a\x2b\xe1\xdd\x9d\x1f\xa9\x8c\x02\xa1\x17\x3a\xaa\x3c\x83\x39\x71\xa9\x02\xb7\x01\xfe\x41\xcf\x7f\x14\x02\x05\x7f\xa1\x15\x77\x07\x09\x4c\x7d\xbb\xc5\x41\x3d\xc2\xa3\x36\x13\x1b\xaf\xdb\xa0\x65\x76\xf8\xdd\x41\x75\x11\x94\x2b\x55\xfa\x5f\xff\x1f\xf6\x51\xde\x33\x66\xde\x3f\x9f\xe4\xe2\x95\x1b\x52\xb7\x5c\x97\x08\x30\x05\x52\xc6\x00\x18\x7f\x0d\xa4\x52\x5e\x20\xf3\x2c\xf7\x98\xeb\x56\xd1\x77\x85\xdc\x57\xa2\x1b\x1d\x15\x82\x7f\xb2\xee\x32\xe2\x60\x41\x09\x1f\xe5\x76\xa9\x47\xa9\x3c\x39\x0b\x0f\x93\xca\x34\x6e\x58\x3b\xa1\x3f\xbb\x0b\x89\x3f\xf2\xa7\x1b\x2a\x75\x56\x30\xfb\xab\xe4\xb4\xd3\xed\x03\x7b\x5b\x01\x34\x22\xae\x10\xc3\xce\x82\x2c\xb6\x17\xc4\xee\x82\x15\x1a\x71\xd3\xbc\xb1\xe7\x3c\xec\xe7\x92\x52\x4b\x9a\x2b\x82\x08\x07\xdf\x1d\x86\x6b\x35\xc8\x57\x78\x63\x46\xec\x84\xf0\x18\x50\x08\x4f\xfc\x7f\x1f\x3d\x2a\xc2\xf0\xa5\x3b\x45\x12\xfb\x83\x05\x99\xd5\x18\x44\x83\x7e\xbf\xcf\x3a\x17\xd4\x09\x92\x6d\x5c\x41\xb6\xbe\x70\xf8\xb2\xda\xfd\xcb\xeb\x19\x5c\x58\x58\xa7\x08\x64\xb7\xff\xab\xf5\x2b\xbf\x48\x0e\x6b\x36\xfb\xff\x5a\x62\xde\xec\xdf\x57\x73\x58\x0c\xe4\xac\x2f\xd4\xcd\x03\x24\x5f\xba\xad\x51\x84\x13\x12\xf1\x84\x5a\x5f\x97\xa9\xbd\x68\x68\x90\x4c\xf5\x75\x7c\xd7\xc6\x10\x38\xf9\x0d\x09\xc2\xd6\xe4\x5a\x94\xa6\xc2\xd4\x7d\xf1\x49\x48\xc2\x3a\xc6\x8b\x6f\x4b\x7d\xbb\x8c\x0a\xcc\x61\x2f\x2d\xd5\x6b\xa3\xf3\x78\x56\x71\x30\xc4\x02\xc2\x72\xca\xce\x7f\x4c\x43\x90\x5f\xe0\x84\x08\x14\x44\x10\x36\x68\x26\xe8\xbb\x93\x53\xa5\x71\x7d\x70\xdf\xa8\xf2\x3d\x9a\x18\xb8\x7e\x33\x38\xbe\x10\xa1\xf1\x5e\x78\x8e\x53\xdf\xa1\x63\xbe\xa8\xd5\x38\x55\x6d\x11\xb1\xf7\x65\x7e\x37\xb0\xb8\xb6\x1e\xf4\x99\x56\x55\x5a\xc7\x3a\xf4\x76\xc6\xaf\x0b\xe4\x5b\x6d\xe9\x3e\x85\xbf\x13\x80\x3f\xd3\x0d\xd1\x08\xe0\x70\x1b\x7d\xf4\x5f\x06\xe1\xf9\x10\x67\x4b\x06\x42\xdd\xf4\xa1\xfa\xc3\x5f\x0a\x25\xeb\x5f\xa4\x67\x3d\xf7\x49\x68\x7c\x2e\xdd\xa5\xc4\x85\xf2\xfe\x56\x0e\x5e\x31\xe4\x93\xba\x30\x09\x22\x7b\x93\x96\x37\x86\x83\x6d\x86\x73\xd0\x39\xc8\x0f\xea\x9b\xa6\xb3\xf4\xd1\x42\xe0\xf5\xec\x4e\x9e\x94\x49\xc1\x13\x70\x87\xcc\x69\x7b\x0a\x5d\x4a\xac\x20\xea\x10\xf6\x3a\x4d\xb8\xaa\xa5\xd2\x79\xe4\x25\x89\xc5\x75\x86\xe7\xd5\x06\x00\xbf\xfa\x47\xe6\x04\xcd\xff\x56\xd6\x81\xa1\x02\xb5\x0b\xe6\xd2\x01\x6b\x02\x6b\x3c\x6f\x29\x1a\xce\x7b\x3c\x1d\x4f\xf1\x47\x4a\xd7\xa5\xa1\x78\x43\x4e\x6a\x33\x2d\xcb\xaa\x1b\xaa\xef\xf1\x10\x57\x2d\x37\x17\x33\x39\x8a\x1f\x42\xc6\x92\x28\x54\x0a\x60\xda\x50\x0c\x1e\xaa\xaf\x88\x58\x1f\xe9\xbe\x69\x8a\x91\x0b\x77\x08\x51\xe5\x3a\xe5\x9d\xd7\xc1\xdb\xf0\x80\x36\xe3\xb8\x29\x12\x22\x53\x11\x20\x23\x13\x16\xb7\x2d\xe8\x8f\x0c\x08\x8f\x2c\xae\x22\x76\x09\x08\xf5\x84\x5c\xee\x1a\xea\x64\x7e\x6e\x15\xb0\x91\x32\x72\x72\x32\x4f\x62\xbb\x36\x82\x5b\x96\x54\x81\xd6\xd2\x0a\x52\x18\x0f\xab\x4b\x63\xcb\x59\xf3\xe7\x8a\x8b\xf8\xaf\x34\x63\x5d\x91\x3e\xb4\x14\xa4\x8d\x06\x8c\x70\x79\xe0\xa7\xe6\x81\x6a\x06\x70\x3a\x1a\x04\x47\x5d\xaf\x5a\xd0\xe8\xd8\xc8\x24\x12\x30\x0a\x8b\xf4\xfa\x5f\xea\x4e\x2b\x4d\x37\xfa\x59\x32\x18\x6c\x15\x0a\x40\x07\x78\x87\xea\x36\x07\x71\x9d\xe1\x09\xb7\x9d\x34\x9f\xd5\xdf\x35\x39\x4f\xd4\xd0\xa2\x9c\x7d\x11\x54\x93\x90\x72\xfc\x66\x35\xfa\x9f\x32\xff\x6b\x16\x20\x74\x01\xaa\xdf\xb2\xba\x7d\xbb\x70\xc4\x55\x5c\xd2\x75\x72\xba\x9b\xb7\xb1\x73\x56\x6c\xb8\xd7\xaa\x85\x61\x87\xf5\xbc\xde\xb2\x8e\x0d\x7d\x56\x6d\xda\xf1\xc7\x7e\x33\xff\x67\x6d\x86\x8d\xcd\x2c\x18\x5c\x37\x6d\x7d\x95\x2d\x8e\xc1\x84\x2a\xe3\x9a\x10\x2c\x45\x48\x9b\x71\x03\xe7\x24\x59\x78\xb8\x3d\x0e\x45\x15\x98\xfc\xfe\x5f\x56\x27\x9e\xf6\x43\xea\x19\xb2\x52\x99\x69\x87\x4e\x44\xb5\xfa\x39\xf5\x03\x9d\x91\x2f\x00\x0b\x43\x19\x62\xb2\xb3\xc1\xd8\xf8\x78\x9d\xa1\x40\x38\x60\xc1\x32\x49\xcc\xaa\x2c\x21\xf1\xd1\xc2\x03\x66\xdd\x84\xb2\x6e\x45\xf1\xf3\x38\xde\x62\xf1\xfa\x2b\x12\x51\x90\x94\x32\xec\xaa\x98\xeb\xbd\x43\x5a\x5e\x3f\x47\xf7\xf8\x56\x66\xe2\xec\xf6\xe7\xa0\xb1\xb2\x04\xfb\x17\x28\x42\xeb\xe0\x49\x65\xf3\xfc\x2b\x14\x89\x39\xad\x16\xee\x3a\x0d\x41\x0c\x0e\x0b\xc3\xf5\x9c\xef\x0a\xff\xbc\x76\xa8\xa5\xd4\xd0\x34\xd4\x52\x42\xb7\x48\x20\xd7\x7a\xe7\xd1\xb3\x79\xec\x7c\xff\x78\x1b\xbe\xae\x9c\xd6\xa3\xdb\x57\x3f\x80\x45\x1b\xfb\x12\x1a\x74\xb4\xd0\x46\x4f\x0e\xcf\xdc\x94\xe1\x93\x63\x1e\xfb\x94\x3d\xf5\x9a\x31\x45\xe5\x24\x56\x28\x54\xf3\x92\x9a\xd7\xc1\x7d\x0b\xe6\xab\x72\x59\x18\x0e\xa3\x21\x48\x1c\x68\x51\x21\x2e\x46\x2f\x0d\x64\x10\x9e\xf6\xf4\xd5\xab\x47\xb4\x83\x9e\x30\xff\xef\xd4\xd1\x3b\x6a\x17\x07\x38\x36\x74\x1d\xfe\xc0\xc4\xea\xaa\xc5\x16\xae\xec\xd0\x09\x38\xdc\xd5\x79\xe4\xf8\x0b\xdf\x51\x47\xb4\xfd\x2f\x5a\xb5\x90\x61\x33\x06\x3d\x06\x0a\xcb\xcf\xf4\x4f\x81\xaa\x87\xc2\x5f\xd5\xd8\xa4\x4a\x9a\x99\x50\xd7\x92\xa2\x49\xb1\x52\x73\xa3\x5a\x3d\x8e\x90\x7c\xda\xbc\x41\x23\x91\x8c\xac\xac\x8c\xf0\x0e\x23\x91\x73\x75\xeb\xee\xe6\x9b\xbb\x3b\x2e\xeb\xe9\xdd\x1a\x06\xbb\xfa\x2e\x74\x8a\xd7\xa9\x3a\xea\x4b\x16\x49\x54\x27\x17\x81\x36\x98\x1a\x95\xca\x6d\x37\x98\xd2\x22\xf2\x3a\xef\x1a\xec\xe2\xbe\x73\x07\x03\xc5\x62\x12\xc7\x71\xd7\x79\x4c\xe2\x40\x5a\x2c\x59\xaf\x09\x62\x67\x98\x8e\xdd\xc5\x2c\xc1\xfe\xbf\x6e\x9f\x06\xfb\x89\x98\x7b\x0e\x4f\xb8\x3b\x5d\x93\xc9\xaa\x21\x5f\xe3\x22\x3d\x63\x17\xf8\xd3\xba\x02\x86\x9a\x82\x64\x69\x6a\x9b\x32\xa4\x47\xec\x42\xbf\x58\xb5\x24\x80\xe3\xb5\xe0\x7c\xa9\xab\x17\x7f\x69\xdb\x21\xb1\xa1\x82\x2a\x6e\x54\xee\x01\x25\x9b\x02\x13\xfb\x3b\xcf\x15\x2a\xea\xc5\xf6\xe4\x5e\x33\xce\x2f\x63\xed\xae\xb9\x45\xc0\x9f\x13\x73\x9f\x08\x34\xf6\xba\x43\x03\x77\x4c\x6a\x7d\x29\x19\xb1\xf9\xe2\x3c\x28\x86\x9e\x59\x70\x48\x77\xe2\xdd\xf3\x57\x8b\x5e\x92\xfd\x48\x4c\x8c\x2d\x0b\x76\xcb\xdb\x70\x84\xf9\xc4\x91\x40\x01\x77\xde\xc4\xd0\x9f\x70\xc5\xcc\xb9\x9d\x55\xfa\x4b\xb8\x97\xc0\xa1\x3e\x31\xeb\xb7\x80\xf1\xc4\x4c\xcb\xbe\xa9\x66\xe2\x04\x30\x70\x89\xd0\xce\x8e\x97\x1b\x3d\xd4\x5f\xeb\x8c\xf1\x9f\x21\x0b\x09\x39\xfe\x71\xc6\x5b\xba\xba\xc1\xc6\xad\xae\xf9\x74\x84\x2d\x63\x5c\x0d\xd5\x09\x40\xd5\x71\xf1\x5d\xb2\x92\xe0\x43\x41\x4a\xb4\xaf\x70\xcd\x50\x61\x6f\x7c\x1e\x79\xa9\x6c\x4e\xde\xea\x91\x7b\x0f\x46\x86\xf3\x2a\x33\xb3\x46\xd0\xf8\xcb\x78\x4c\x7f\x54\x76\xa2\xb4\xd0\x30\xd4\x9b\x56\x2c\x91\x90\xbb\xe4\xde\xfb\xf3\xd4\x6a\x48\xf5\x41\x28\x5c\xc9\xf4\xd4\x78\xe2\x07\xfa\xfb\x9f\xbe\x07\x78\x74\x50\xbd\x0d\xf5\xaf\xaa\x52\xa5\x5e\xa9\xd7\xe5\xe5\x00\x53\xbf\xef\x68\x22\x91\x48\xb0\xc6\xfd\x4a\x6e\x23\x5f\x70\xbf\x2e\xc2\x24\xad\xb2\x02\x19\x8d\x73\x32\xf0\x69\xa8\xf1\xfb\x42\xcc\xe6\xe6\xf1\x7b\x54\xd1\x75\x5a\x4b\x0b\x74\x5c\xd4\x4c\x1a\x49\x87\x19\x25\xbe\xed\xf1\x2a\x9a\x0b\x8c\xbf\x50\xf8\x3d\x16\x7b\xf9\x62\xe0\x22\x55\xb8\x51\x87\x22\x56\xd3\x52\x7d\x09\x3e\x5a\x82\xd6\xf1\x8a\xd2\x0c\xa5\x81\xc5\x8a\x4e\xb1\xb3\x56\xdd\xae\x02\xe9\x2d\xfb\x4a\xc9\xec\x68\x02\x0c\xcf\x83\xe1\xcd\x0d\xc3\x5e\xa9\xd9\xd5\xc1\x0c\x11\x8c\x3b\x92\xa6\x46\x51\xc3\xd4\x2c\x2a\x2b\xe8\xad\x22\xf5\x22\xd5\x30\x30\x29\xb6\x3a\x3b\x3a\x56\x94\xa7\x12\x50\x38\x2a\x65\x28\x37\xd2\x4a\x6c\x97\xbd\x8e\x8b\x9b\x30\x6f\x48\x65\x5e\xc6\x8a\xe2\xe5\x79\x25\x81\x60\xbc\x93\x1d\x34\xa7\xc7\x59\xd2\x5b\x65\x58\x16\x7d\xb2\x36\x4b\xfc\x4a\x05\xcb\xa9\x84\x91\x12\xcc\x00\x00\x5e\x23\x3c\xc9\x9d\xc9\x08\xcf\x49\xdf\x5f\x2f\xee\xae\x32\x33\x2d\x40\xb1\x6c\xb3\x34\x96\xcb\xfb\x60\xca\xec\x50\xe2\x3d\x01\xe6\x4b\x26\x3d\x2e\x29\xe9\xcd\xd5\x9c\x58\x76\x4c\xaa\x88\xc5\x66\xb1\x6f\xd9\x0b\x9d\x8b\x42\x47\x5d\xde\xae\x8d\x16\xd2\x2b\x02\xf2\x8b\xe6\xd8\x82\x50\x79\xb8\xd0\x49\x8e\x6e\xa9\x56\x60\xe6\x6b\x2d\x7e\x53\x8c\xc5\x64\xd0\xed\x11\x64\xfd\x02\xd8\x63\x55\xb7\x97\x2e\xda\x67\xc6\x97\x27\xdd\x20\x31\x4e\x8a\xfd\xf5\xad\x30\x50\x21\xf4\x00\x08\xa1\xce\xaf\x82\x87\x48\x95\xed\xa8\x5d\x48\x66\xb0\x12\x9e\x0f\x5b\xb4\x5a\xc2\x78\xcb\x1d\xe2\xc5\x05\x5c\x2e\xc2\x20\x91\xe0\x80\xbd\x2b\xa2\x5c\x5f\x16\x34\x13\x62\x98\xa6\x4f\x76\xaf\x1a\xff\x82\x8a\x92\x23\xbb\xae\xf6\xb1\x88\xc5\x76\x21\x82\x6c\xcc\x04\x2c\xd4\x78\x3c\xec\x1a\x44\x13\x78\x49\x4e\x02\x2d\x46\x13\x82\xec\x65\x2c\x2f\x89\x5c\x6d\x82\xde\xd3\x64\xb4\x50\x79\x98\x12\xc4\x49\x72\x86\x83\xc7\x90\x26\x24\x8a\x11\x47\x1b\xbc\x4b\xf1\x4b\xb6\x16\x84\xd6\x87\x31\xc4\x71\x12\x97\x7a\x47\x9f\x21\xaf\xa3\xb2\xb5\x41\x05\xed\xbb\xc0\x11\xb9\x33\x38\xad\x11\xcc\x8d\xcd\x04\x39\x37\x55\x3b\xc8\xb4\x56\x65\xe6\x67\x20\xb0\xe9\xdd\x8c\x1e\xbf\x4c\xbb\xf8\xce\x90\x6f\x9c\x74\x70\x92\x52\x3c\x73\x9a\xe5\x6b\x30\x04\x55\xe0\x2d\x0b\x82\xa2\xc0\x82\xb0\xe6\x9c\x3d\x43\x98\xcb\x01\xbe\x43\xb1\x9e\x9e\xd1\xf6\x1c\x57\x6a\x41\x9c\xb2\xb5\x0c\xda\x4f\x69\xc3\xed\x9f\x8c\xa5\x92\x69\x6c\x30\x07\x18\x47\x74\x63\x3d\x07\x54\xa3\x09\xac\x75\x35\x9d\x3c\xd9\x84\xf1\x85\xfa\x27\x4d\x8a\x3e\x23\x05\x8e\xab\x0d\xee\x41\xa7\x44\x88\x16\xa2\xc3\xe4\xb6\x85\x10\xa2\x29\xe8\x6d\x83\x22\xc7\x9b\xf1\x19\x58\x21\x10\x0e\x2d\xea\x97\xce\x9c\x61\xbe\x52\x1e\x95\xaa\x82\xb9\x99\x5f\xad\xf4\x91\x7d\x29\x3b\xcd\x3b\x36\x13\xc5\xef\xd0\x9f\xb2\x28\x8e\x8e\x6f\x3a\xd6\x94\xfc\x71\x43\x5e\xfd\xf9\xc7\x95\xed\xa9\xfb\xad\xdb\xb5\xe9\xad\x41\x3d\x8e\x7a\xf9\x1a\x4f\xef\x07\x62\xca\x09\x85\x64\x84\x7e\xf8\xca\xc5\xdb\xdb\xfb\xb6\x8d\xd7\xee\x68\x7a\x97\x6e\x2f\x4a\x7e\x98\xc7\xaa\xc5\xa4\x7a\x53\xe8\x2c\x4a\x82\xa6\x4a\x23\x32\xc5\xad\xc3\xf3\x10\x69\x0b\xe1\xff\x5a\x7e\x5f\xa2\x7b\x63\xbb\x8c\x1e\x5d\x6f\x07\x96\x62\x52\x3a\xf4\x76\x3a\xeb\xa3\xe2\xf6\x3f\x65\x3f\x09\x74\x5a\x5d\xd6\xb8\xdf\xd5\xa0\xdf\x67\xd5\xaa\x4d\x6b\x0e\xea\x16\x14\x26\x8e\x7a\x7a\x9f\x71\xb3\x1f\xe5\x25\xc3\x55\x43\x57\x5c\x59\xde\xda\xbb\x65\x73\xf5\xb6\x86\x37\x69\x76\xa2\xe4\x07\xb9\xac\x5a\x97\x64\xef\x08\x1a\x14\x11\x9f\x54\xa9\x16\x56\xe6\xac\x51\xcc\x43\x8e\x1c\x24\x6d\x04\xc4\x8c\x6b\xc0\x69\x0c\xdd\x77\xb4\xc6\xbf\x05\x12\x23\xf3\xe6\xaf\x3b\x0f\xcd\xf8\xcc\x8b\xc9\x09\x25\x79\xcb\x47\x1f\xad\x38\x40\x35\x3a\x79\x71\x29\xb4\xa8\xac\x7c\xe2\x8c\xac\x4e\xdd\xe7\x3d\xfd\xb4\xc6\xec\xc5\xdd\x42\xd6\x81\xc5\x5e\x5c\xfe\xa9\x53\xf9\x38\x5d\x07\x02\xeb\xf5\xaa\x5d\x9a\x3f\x7b\xbc\xa0\x72\x57\xf9\xb5\xf2\xd2\x5b\x7f\x2d\xec\xb9\x2b\x57\x0f\x18\xa4\x71\xd9\x29\x5e\x32\xd5\xf8\xdf\xfd\xc7\x2d\xc8\xcc\x1b\x4b\x4b\xa0\x14\x30\x67\x34\x89\x4c\xd2\xbc\xee\x26\x4f\xf9\xb2\x53\x50\xbc\x64\xed\xe0\x02\x9d\xc5\x9e\x2d\x6d\xb2\x15\x80\x05\xc7\x3e\xf7\xb8\xdd\xf3\x80\x87\x6e\xec\x78\x1b\xca\x51\x79\x59\xe5\xb4\x8e\x00\x62\xe1\x1c\xe2\x89\x79\xa6\x43\x12\x51\x9a\x08\x9b\xce\xc7\xfa\x41\x00\xcf\x19\x93\x29\x08\x98\x8f\x42\xcb\xeb\x44\x60\x3c\x60\x92\x88\xec\x99\xc1\xd7\x18\xb3\xb1\xb2\xf0\x05\xe9\xbf\xfe\x37\x9e\xc9\x07\x91\xbb\x25\x66\x22\xa5\x59\x89\x16\x93\x15\x8d\xfb\x3e\xb6\x92\xd9\xd0\xa8\x47\x5d\xdc\x54\x7d\xea\x5f\xf3\xe2\xfa\x9d\xc3\xea\xc8\x54\x18\xc4\x2c\x61\x7f\xd2\xec\xdf\x5e\x26\x78\xd4\xa0\xab\x91\xe7\x2c\x76\xa5\x34\x98\x45\x70\x57\xf0\xc2\xb6\x9f\xf2\x53\x84\x41\x14\xfd\x4e\xef\xe2\x85\xad\x08\x67\x6a\xde\x29\xde\xc9\xec\xe2\x26\xaa\x8a\x64\x99\x00\x0c\xba\x35\x0b\xb8\x34\xad\x7f\xe4\xfe\x28\xda\x04\x08\xe7\xe4\x24\xc1\xfd\xe3\x73\x44\xe2\x42\xdd\xa6\x78\x9d\xf0\x4f\x9f\x68\x11\xaa\x58\x51\x9f\xcc\x4c\xe2\xb2\x77\x98\x05\x8a\x60\xed\x1f\x71\x8e\x6e\x1d\x50\xee\x88\x73\x54\xa1\x17\x73\xdb\xd5\x27\x40\xc7\x54\x7a\xc0\xbd\x2c\xed\x32\x1f\xcc\xe8\x4a\xb5\x2a\x6e\x6a\xde\x88\xfb\x34\x5f\x98\x7d\x33\xb9\xb8\x17\x9d\x9c\xbb\xd7\x99\xc7\x6a\xc5\xd2\xab\x2d\xab\x25\x69\xf9\xa8\xf2\xa5\xbd\xe9\x0a\x80\xf2\xb7\x01\xbd\xc2\x50\x92\x4f\xf3\xa4\x46\x3f\x8f\xad\x6b\x6a\x53\xdb\x23\xed\x07\x04\x47\xfa\x27\xeb\xca\x70\x1b\xf6\x31\xe6\x8e\x1d\xbd\x4a\xc3\x18\x6d\xea\x62\x06\xda\xf6\xcd\xd5\x61\x5b\xef\x32\xef\xb1\xe5\x3f\x6b\x4b\x71\x01\x1c\xa7\xb2\x21\x8c\x88\x40\x2d\x5e\x59\x39\x37\xf7\x2a\x9d\x96\x6f\x30\xf0\x81\x91\x69\xc5\x4d\xd2\x6c\xe4\x3d\xf5\xdf\xba\xfc\xb6\xb4\xed\xaa\xbf\xa5\x92\xf6\xbe\x28\xe9\x37\x67\xa9\xbc\xbf\x5f\xab\xdf\xc7\x99\xc7\x04\x57\xe5\xd8\xa3\xa4\xd3\x2e\x2e\xfb\x8d\x0a\x8c\x0e\x70\xcd\xdb\x1e\xe8\x6b\xa4\x8c\x03\x9f\xae\x0b\xee\x23\x0f\xac\xf3\xf8\xf8\xc1\x63\x5d\x06\x40\xe0\xf9\x03\xee\x97\x92\x8d\x71\x03\x8b\x6f\x9a\x73\x16\x5d\xac\x76\x4b\x8e\xc0\x69\x5d\xd3\x43\x15\x2b\x1d\x9a\x4b\x36\xd6\x0b\x2d\xed\x2f\x27\x53\xa2\xcb\xe8\x7b\x56\xaa\xe1\x46\x23\x70\x05\xc6\xa6\x75\x4f\x26\xe1\xe5\x67\x1e\xf4\x7a\x89\xa9\x75\xf2\xe0\x74\x92\xaa\x78\x65\x4c\x94\x2e\x8a\xa8\x76\xde\x73\xdc\x4d\x66\xef\xd1\x9f\x40\x2f\xe3\xce\x29\xf6\x75\x95\xb0\xef\xc8\x1b\x41\xe3\x29\x1b\x30\x21\xdb\xbd\xf8\x00\x29\x2f\x59\xb8\x08\xa2\xc6\x5f\x24\x6d\x55\x3f\x53\x7f\x5e\x15\xde\x09\x47\x71\xd1\x01\xda\xcb\x13\xc8\x56\xc4\x8b\x6a\x2e\x76\xdd\xd6\xf1\x55\x48\xa1\xf3\x30\xc1\xca\x6d\xc7\x95\xd6\xd8\x2a\x33\x12\xa8\xbc\x87\xd0\x62\x07\x74\x33\x80\xa3\xda\xc9\x28\xe1\xcf\x24\x46\x23\xb1\xc4\x50\x83\x68\x7a\x5a\x98\xb2\xb2\x6f\x11\xb6\x14\xda\x5c\xa2\xc8\x64\xf9\xe6\xb2\xa0\x70\x6d\x1c\x4c\x91\x7e\xf6\x4c\x0c\x6a\x0e\x13\x62\x10\xcb\x6d\x10\x6d\x4b\xe5\xd0\xc7\x09\xa8\x71\x73\x4e\xf1\xb6\x22\x51\x5f\x51\x68\x39\xd1\x09\x2d\x91\x1b\xdb\xe3\xb3\x9f\x43\x55\xcf\x03\x01\xd1\x9f\xfd\x8f\x4f\xea\x3d\xde\x86\xf6\x79\xd4\x35\xf1\x84\xd1\x0c\x59\x6b\xc8\xed\xd4\x1f\x8a\xc3\x4e\x2e\x65\x1c\x75\x9b\x69\xad\x23\x75\xb9\xe5\xda\x92\xe0\xa0\xa0\xb9\xad\x92\x70\xd5\x0c\x2a\x93\xd8\x21\xa1\xf4\x43\x5f\xdf\xbb\x33\x8c\xd5\x51\xda\x70\x83\x61\x7a\x04\x6d\xa6\x67\x1a\xe7\x2d\x96\x8c\x99\x09\xb9\x2d\xe5\x89\xf3\xf4\x07\x00\x02\x6b\x0a\x0b\x38\x89\xab\x5a\x07\xc4\xc3\xe8\x8e\xa7\x16\x96\x59\x50\x94\x64\xcc\x1f\x4d\xaa\x9c\xb1\xf1\x60\x54\x47\xbc\xb5\xd0\x1c\x68\xd1\xa4\x5d\x3a\xab\x64\xf8\xd4\xd0\x56\x4e\xcd\x76\x02\x63\xaa\x57\x3a\x77\x99\x13\xeb\x8d\x7c\x6b\xd2\x81\x2e\x3a\xd3\xab\x1e\x8d\x4f\xdd\xda\x91\x73\x80\x77\x1c\x20\x70\x00\x54\x12\xca\xd2\x1f\x0c\x80\xb6\x25\x7a\xce\x81\xd9\x87\xc1\x2a\xec\x30\x29\xd8\x0c\xea\x1e\x41\x07\x26\x33\xaf\x92\x13\x50\x50\x51\x5f\x69\x2e\xde\x2d\x5a\xe9\x21\xe1\x8d\xd1\xf6\xbd\x25\xd1\x54\x74\xf6\xa8\xf8\x66\x33\xeb\x6b\xd7\xb4\xde\x2b\xb4\xf0\xb4\xff\x66\x83\xd0\xdd\x36\x8b\x9d\xe3\xb5\x07\xa5\x0b\xab\xd5\x36\x6d\x50\xd0\xd1\x8f\x48\x34\xb1\xd7\x87\x18\x85\xc3\x32\xfe\xd5\xfc\x0a\xb1\x75\x6d\x4d\x43\xcd\xa5\x06\xe7\xa1\x70\x6d\x2a\x59\xcb\xad\xab\x8b\xd2\x39\x0e\x01\xc2\x5f\xbb\x9d\xf2\xe2\x15\x4a\x11\x5b\xc4\xf3\xf3\xba\x2e\x39\xb4\xd7\x26\xf3\xe1\x2c\x72\x80\x48\xb8\x69\xdf\x83\x38\xc9\x85\xa0\xef\x61\xc2\xcd\xd6\xc8\xdf\x19\x97\x5b\xbf\x4e\x1e\x98\x6e\xb3\xfe\x3c\x8e\x43\x72\x78\x4c\xb5\xef\x72\xf9\x4a\x32\xe2\x76\x63\x18\x14\xfe\xe4\x3e\x78\xcd\x09\xfc\x9c\xee\xd6\x11\xe4\x4a\x1e\x82\x23\x75\xe3\xa4\x07\xb7\x3a\x6e\x59\x93\x16\x9d\x98\x7d\x1a\x6c\xf4\x7a\xc2\xd3\xae\xb4\xe9\x5e\x59\x3b\x9e\xb6\xe4\xb1\x7a\xb4\xea\xb3\x17\xd3\x89\xac\x31\xc0\x60\x37\x7a\x83\x76\x2f\x9a\x98\x5f\xe7\x9c\x93\xb0\xca\x0e\x7b\x90\xcf\x1b\x3d\x27\x54\x87\x20\x60\x4a\xd9\xbc\x5d\x18\x02\xf8\xc8\x87\x55\xcb\x02\x29\x4b\x7b\x76\xfb\x5b\xa5\x84\x14\xb0\xd5\x9d\x79\xac\x60\xd7\x2d\x30\x2d\xd3\x3f\x9d\x9a\xc1\x5e\x82\x9a\xff\xc7\x5b\xc9\x6d\x03\x0f\x53\xc6\x90\x1e\xc2\x3d\xf9\x03\x4f\x23\x5f\x44\xad\xad\x9d\x71\xc8\x71\x1a\x8e\x6d\x52\x1f\x30\x0e\xcd\x1a\xc2\xd3\x29\x95\x0a\x69\xa2\x62\x11\x4a\x9d\xb1\x7d\xe7\xce\xed\xf8\x3c\xdd\x77\xf8\x6f\xe2\x61\x81\x01\x19\x36\xba\x5b\x9e\xf6\x81\xbb\x5e\x44\x85\xde\x1c\x84\x5a\x7a\x60\xaf\xab\x9c\xe0\xcc\xb6\x2e\x44\xe6\x4b\xcf\xf2\xa7\x7f\xcd\x1a\x3d\x62\xb1\x05\x09\x9b\xc6\xe2\xee\x62\x88\x00\xe4\x9d\x6c\xad\xde\xb2\x77\xed\x97\x82\x4d\xe2\x18\x9a\xd3\x06\x37\x64\x18\xd6\x86\xa5\xa3\x08\x85\x80\x15\x80\xed\x23\x77\x51\x5d\x21\xb0\xf6\xd8\xcb\x98\x98\x14\xf3\x67\x31\x7d\x42\x4a\xda\x39\x89\x86\xfa\xc4\xc2\xd4\x8e\xf1\x49\xae\xf3\x3d\x43\x56\x52\x8d\xb9\x25\xce\x4c\xd5\x4d\x55\xa2\x5d\x43\x28\xf5\x2b\x23\x4f\xf7\x31\x51\xae\x64\x6a\xca\x32\xbe\xb9\x7e\x12\x26\xc7\x42\x27\xd9\xa9\x70\xbe\xd9\x63\xf0\x51\xde\x1c\x34\xcc\x1b\x31\x23\xb0\x96\x9a\x71\x1d\xca\xb8\x4c\x8f\xc9\xcc\xae\xae\x4c\x9b\xe2\x9e\x92\x16\x08\x9b\x86\x19\x0e\x47\x5a\x74\x2a\x6a\x18\x96\x1e\x49\xb6\x60\xe8\x16\xdb\x51\xb5\xa2\x8d\x2f\xd0\x02\x48\x4a\x65\x7f\xd6\x6c\xb9\xe8\x87\xd2\x1f\xe8\xb1\x8e\x95\x9b\x94\x78\x5b\x30\x94\x44\xa3\xd6\x8c\x31\xc2\xc0\x53\x54\x4b\x89\x61\x66\xd4\x3b\xa2\x0c\xf8\xd9\x33\x60\x17\x4c\x98\xb0\x7d\xe4\x8d\x7b\xd8\xa7\x4a\x11\x26\x35\xb3\x80\xb1\xc4\xd9\xea\x4a\x84\x5e\xb7\xfc\xf5\xb4\x47\xbd\x8f\x86\xa1\x86\xeb\x26\xf5\xf6\x9e\x78\xad\xee\xb2\x25\x6e\x86\x71\x23\x23\xe9\x47\xb3\xa1\x37\x96\xa4\xff\x70\x28\x2f\x38\xf9\x84\x9d\xd7\xca\xb6\x4a\x1b\x47\x79\xd1\x1b\xbe\xf6\x38\xd1\x3f\x96\xa4\xff\xb0\xc8\x2b\x3e\x49\x08\xb4\xa5\xae\xf8\x8f\x10\xe5\x85\x8b\x57\xe2\xbb\x54\xdc\x6d\x0a\x41\x6a\x98\xf7\x2f\x62\x88\x07\xa6\x88\xb3\x59\x46\x4e\x47\xff\x75\x17\x63\xfe\x04\xf7\xb5\x8e\x5c\xae\xc1\x8b\x88\xcf\x3a\xeb\x69\x25\xba\x96\xe1\x66\x55\x2c\x70\x17\xe6\x82\x49\xec\x8d\x70\x20\xff\x96\x5e\x79\xb6\xeb\x95\x1f\x08\xf7\x42\xc0\x63\x78\xc2\x32\x8a\xd0\xec\x1b\xf7\xca\x16\x0d\x56\x62\xe0\xa7\x36\x4e\x01\xbf\x64\x0b\xd6\xd9\x8d\xd3\x99\x54\x80\xe4\xe6\x9d\x6c\x14\xc6\x57\x86\x7b\x74\xc4\x88\x54\x7b\xf0\x96\xe8\x53\x11\x1e\x2f\xa5\x51\x95\x59\xfe\xa5\x4b\xfd\x8e\x15\xd5\x37\xb7\xe4\x23\x12\xae\xbb\x70\x16\x51\x63\x47\x6f\x91\xde\xf0\x67\xfb\x51\xa0\x80\x47\x3f\x65\x3c\x80\xf3\xb4\xe8\x05\x74\x19\x86\xfd\xe7\x4a\xa0\xf8\xe9\xac\x38\xb7\x33\xd7\x59\xb5\xb5\xde\xa8\xfc\x46\x5e\x3a\x9e\xcc\x8a\xe3\x7c\xee\x8e\xca\x9a\x38\x60\x72\x7d\xe0\x51\xe7\xc1\x68\x46\xe9\x34\xd5\xeb\xa2\xba\x6a\x22\xb3\x3a\x6b\xa2\x32\x3b\x6b\xa3\xce\x2e\x2c\xef\x26\xfe\xd6\x7a\xdb\x54\x49\x46\xb7\x54\x79\xf8\x3d\x9d\x4b\x99\xc2\x3b\xc2\x70\x72\x02\x24\xdc\xd1\xb2\x80\x38\x66\x5f\x9b\x93\x54\x49\x1f\x56\x5b\x85\x8a\x5b\x01\xb2\xc5\xba\x60\xf6\xc2\xe6\x2e\x4e\x0f\x30\xce\x55\xb8\xa9\xe3\x38\x49\x00\x59\x9e\x97\x0d\xc7\x44\x35\x0f\x95\x37\xf6\x6f\x2d\x0a\x1c\x21\xf3\x6d\x76\x39\xa9\x8f\x1c\x5c\x2f\xb5\x4b\x52\x99\x9d\xb1\xe2\x21\xfd\x1e\x8c\xff\x36\xff\x88\x0c\x81\x62\xe9\x1e\xc9\x5c\xb5\x2b\x27\x49\xe7\x65\x2f\xb1\x9d\x61\xf6\xca\x46\x7a\x1b\xcd\xb7\x10\xfb\xb5\x7b\xed\x8b\xf3\xf0\x50\x7c\xf3\xb5\x77\x8d\xc3\x34\x65\x6a\x2d\xa5\xa0\x74\xc2\xdb\xa0\x5e\xc2\x5c\xdf\x53\x4b\xd7\x2b\x27\xbc\x4a\xe6\xfb\x52\x9b\x82\x53\xf4\x8e\x00\x1d\x66\x99\xf0\x0e\xc8\xe6\x82\x03\x34\xbe\x96\xd4\x96\x2b\xc6\x65\xf9\xd0\xc7\x22\xd3\x83\xd6\x6a\x1a\x5c\x91\xf3\xca\x8c\xe0\x45\xcd\x2e\x02\xc5\x3e\x70\xb6\xe6\xed\x97\x21\xcd\x5c\xec\xbe\xf5\x42\xf5\xe0\xb8\xc3\x7d\x76\xda\x86\x4e\x21\x07\x22\x66\xc5\xeb\xba\xe3\x52\x8b\x30\x72\xd6\x47\xc0\xdf\xbb\xc0\x2a\xb9\xd0\xfd\x1f\x20\xad\xc6\xf6\x95\x8d\x2f\x4a\x95\xe4\xf3\xe2\x36\x1b\x98\x4d\x9a\xfe\xf1\x6e\xff\xeb\xca\x7e\x8b\xab\x7d\x7d\x18\x3c\xf1\xed\x8e\x1d\x6f\x13\xe1\xb0\xe0\x98\xe7\x6c\xcf\xb8\xfb\x70\xef\xfc\xbd\x66\x25\xed\xde\xff\x10\x6e\x7e\xdd\xd8\x57\xd5\x58\xee\x55\xe1\xbc\x6c\x11\x41\x21\xb9\xcb\x8d\x21\xd3\xab\xc2\xfd\xfd\x38\xeb\x69\x44\x2a\xb9\x7a\x12\x33\xc9\xd9\x40\xb8\x85\x45\x59\x6f\xca\x05\x4a\xd2\x4e\xf1\x43\x38\x66\xa4\x04\xb7\x92\x2c\x03\xe3\x52\x1d\x12\x09\x9c\xc6\x8f\x83\x6d\xd6\x77\xf0\xac\x45\x1b\x0e\xc1\xf1\x28\xc9\x69\xfd\x77\x4c\x8c\x05\xdf\x65\xee\xe3\x37\xeb\x78\xd0\xac\xbb\xf2\xd3\x32\xed\xe7\x4c\x7a\x00\xac\x20\x42\xa2\x08\xc1\x2c\xe4\x27\x1a\x5c\x6e\x40\x4f\xde\xa4\x6c\x0b\xef\xf7\xff\x18\x6f\x3c\x69\x91\xbd\xe3\x59\x55\xc8\xd7\xca\xa3\x96\x3a\x87\x38\x96\xde\x70\xec\x80\x75\xa3\x88\x5a\xe5\x13\x38\xf3\xb9\x26\x3e\xe6\x73\x34\x50\x63\x58\xa1\x59\xfb\x13\x96\xc5\xdf\xcf\xef\x0b\xe5\x11\x8f\x7d\x74\xf2\xac\x70\x8f\x2d\xb4\x09\x89\x8e\x79\x43\x1c\x26\xea\x1f\x83\x7a\xa5\xb1\xca\x0a\x0e\x5a\x60\x37\xa1\x29\xaa\x3c\x69\x9f\x1d\xa9\xa2\x36\x4f\x67\x67\x74\x7f\x78\xbc\x0a\x68\x54\x49\xba\x1f\x77\x31\x61\xee\x72\xcc\xcc\xde\x33\x3b\x65\xae\x17\x1e\xbb\x99\xe5\x30\x74\xfe\xd0\xeb\xfc\x1e\xfd\x59\x73\x6d\x76\xcb\x59\x45\xf6\x8d\xde\xc3\x1a\x7b\x29\xae\x4b\x1e\x92\x92\xf6\x59\x1b\x68\x01\xf4\xa3\x1d\x26\x8d\xdb\x91\xc7\xb6\x85\xf7\x1b\x58\x9e\xee\xd6\xe1\xb1\x3e\x54\x29\xab\x30\xff\x6a\x4a\xa2\xf9\xd8\xd7\xaf\x8f\x24\x37\x0a\xa0\xbf\x93\xa2\x80\xdb\xb7\x6f\x12\xc1\x55\x63\x6b\x97\xb1\x77\xf1\xd4\x59\x3b\x38\xa0\xb6\x3e\xcc\xeb\x80\xf1\x2b\x67\xd1\x36\x77\x26\x24\x1d\xd1\x3e\xde\x82\x75\xcb\xeb\xb6\xee\xfa\x3e\x1b\xc2\x0a\xdd\x56\x5a\xeb\xc1\x88\x4a\xb4\x05\xa3\x91\x1a\xb4\xb8\x67\x82\xcb\xbf\xe5\x3d\x8a\xfe\x83\x3e\x4f\x8b\x01\xe5\x69\xe9\xb6\x5d\x40\x9c\xc9\x01\xff\xe5\x51\x59\xd6\xf7\x86\xf9\xa7\xf7\xd8\x4f\xda\xe6\xda\xf2\xbf\xd2\xc6\xbd\x0c\x41\x49\xae\x4e\x25\x46\x28\x9d\xe0\x9a\x04\x59\xfe\x39\xcc\x39\xa3\xde\x4a\xd5\x43\x08\x34\xce\x51\x40\x4a\xfd\xb8\xb6\x39\xa0\xe1\x75\xae\x33\x70\x3d\x05\x82\x30\x41\xa3\x8a\x31\x0a\xb8\xe4\x2c\x5e\x19\xf5\x3e\x05\x84\x28\xb5\xda\x48\x52\xa9\xd4\x42\x78\x8d\xb5\x4c\xd4\x87\x88\x6a\x2d\x18\xf0\xed\xef\x61\xda\x70\x33\xad\xff\xfb\x37\x75\x62\x03\xf0\x4e\x56\x34\x7c\x07\x11\x75\x87\xa0\xe7\xa0\x8b\x61\x6c\x65\x0c\x8d\x9a\x7a\x08\xa2\xf6\xa8\x4a\x40\xea\xd5\x35\xfa\xab\xe2\x79\xb8\x43\x17\x07\x8d\x51\x40\x52\x52\x71\x82\x4f\xf9\xa7\xb0\x3c\x2f\x1d\xe4\x26\xf1\x1d\x49\x47\x26\x02\x2d\x70\x40\x5f\x53\x2f\xbb\x6d\x6e\xa6\xf5\xbf\xd8\xc2\x03\x63\xa6\x90\x5a\x35\x3b\xf5\x3c\x79\x04\x09\x18\xe3\xcb\x18\x2f\xe9\xaa\x9e\x50\x96\xc8\x65\x7f\x20\xe0\x9d\xb6\xfa\x81\xad\x02\xf0\xa2\x04\x94\xd3\x07\x96\x50\x2e\x57\x6b\xf4\x59\x89\x44\x34\xce\x01\x3c\xed\x1f\x41\x8a\xfa\xa5\xd3\x17\xa6\x90\x4e\xc7\xac\x95\x9a\x69\xc5\x44\x95\xf6\x0e\x4e\x24\x7f\xc2\x37\x20\xed\xf7\x2e\x86\x20\xd2\x2b\xcb\xc0\x67\x1c\x49\x9c\x67\xa1\xc6\x3a\xb5\x23\x3f\xe1\xb8\xa4\x50\x75\x47\x97\x17\x71\x2b\x35\x3c\x28\x93\x19\xcf\xda\xae\x2d\x48\xbb\x4a\x44\x9f\x1b\xaf\xb8\xe0\x55\x31\x26\x67\xec\xbb\xce\xbe\x23\x59\xb9\x02\x18\x23\x7d\xc4\x83\x90\x89\x07\x2d\x94\x73\xa3\x15\x3c\x49\x9a\xca\xb9\x8d\x60\xce\x7b\x36\xc2\x81\x70\xd8\x53\xa4\xfb\x9a\x75\x41\xeb\x9c\x6d\x6d\x16\x8b\x47\x83\x70\x3c\x10\xed\x99\xdc\xfa\x73\xf8\x4f\x69\x63\x30\x02\xca\xb6\x82\x75\xbf\x18\xf8\x05\x9d\x94\x9c\x66\x1e\xc2\x35\x6f\x23\x0f\xac\x92\x9c\x92\x1f\xda\xd5\x2e\xef\x6f\x5d\x85\x6c\xae\x3c\x28\x7f\x49\xeb\xd5\x96\x2b\xd0\x20\x5b\x14\x44\x2d\x96\xb1\xd3\x12\x64\xa1\xf1\x04\xbf\x71\x1d\xea\x9d\xbb\xe1\x29\x19\xcb\x3c\x55\x50\x71\x79\x6f\x51\x5e\x34\x39\x4b\x1c\x9b\x12\x23\x09\x2a\xc1\xbf\xf1\x25\x5e\xfe\xe6\xf6\x8f\x22\x56\x1f\x76\x84\x1c\x2a\x2d\xc2\xe6\xea\x73\xd9\x79\x31\x22\x4e\xa4\x21\xc3\x34\xc6\x08\xf0\x5c\x55\x24\xd1\x9f\xca\x8b\x5b\xad\xcc\xc0\x4d\x7d\x81\xdf\x91\x4f\xbe\x7f\x72\x02\x3d\x99\xf5\x4b\x2d\x91\x07\x0a\x89\xbf\x38\x32\x49\xe5\xad\xfe\xde\x2b\x91\x08\xca\x28\xb1\x1d\x59\x64\x6d\x68\xaf\xa6\xc5\x90\x88\x9c\x05\x4c\x61\xa0\xbc\x24\x55\x99\x54\x97\xae\x0a\xf6\x94\x43\xf7\x28\x06\x0f\x04\xbe\xda\xe5\x8a\x1d\x8e\x1d\x27\x20\x48\x28\x04\x78\x0e\x08\x19\xcb\x15\xb5\x0a\xf6\x03\x03\xca\x3d\x9e\xaa\x3c\x58\x55\x97\xae\x51\x94\xa4\xca\x03\x89\xc2\x05\x4c\x0e\x29\x46\x4d\x8b\x87\x5e\xab\x3e\x86\xc2\xbc\x85\x70\xc5\xde\x18\x85\xef\x31\x03\xcc\x42\xb8\x8f\x6a\xb0\x2a\xbd\x0e\x08\x19\x4f\xf2\x80\xed\x7c\x4f\xb1\x0e\x0c\x14\x2c\x82\xee\x02\x8a\xfd\x91\xee\x30\xc9\xdf\xb0\xaf\xca\xb9\x02\xd0\xbd\xf3\x88\x2c\x1c\x75\xee\x89\x80\xc3\xe8\x84\xfc\xc0\xc2\x0a\xb4\x48\x73\xfe\x12\x35\xbd\xde\xc4\xb2\xd9\xca\x52\xa5\xd5\xea\x28\xa5\x87\xf3\xf5\x8d\x2b\xa4\xd0\x46\xbb\x4c\xc7\x1f\x3f\x46\x68\x23\x7e\x4a\x17\xf4\xf2\xbd\x31\x0f\xf5\x94\x96\x96\x02\x1c\x0b\x94\xb4\xa1\x10\x70\x29\x4f\x22\xcd\x2d\x4a\xc8\x12\xfd\x71\x10\x0d\x9b\x02\xc9\x83\x37\xc7\x75\x36\x95\xd7\x28\xdb\x84\xa2\xbf\xf7\xab\xec\xff\xee\x96\x21\x50\x40\x81\xea\x08\x3e\x1a\xc3\x81\x31\x94\x0a\x00\xa4\x26\x14\x19\x27\x8e\x73\x33\xad\xd9\x87\x86\x58\x2c\xeb\x39\x59\x83\x17\x7c\xbf\x73\x1a\xab\xd3\x41\xc8\x43\x45\x76\x70\xc6\x7c\xcc\xba\x25\x14\x98\xb3\x04\x33\xb8\x37\x1f\x7f\x94\x5f\x2a\x78\x43\xeb\xe6\x38\xcf\x0a\x3c\xa3\x22\x8c\x1f\x1b\x27\x22\x47\xc1\xb5\xf1\xe7\xd2\x21\x07\xdd\xc2\xa3\xc4\x10\xa4\xe7\x56\xf5\xeb\xb3\xa9\xe0\x73\xc0\x26\x3c\x36\x44\x2d\x6d\x9e\x8f\xc1\x9b\xa1\x8b\x0e\x81\x74\xae\x74\x9e\x7a\xe8\x71\x35\xfe\xb7\x22\x6d\xf7\x8c\xaf\xbc\x4a\xeb\xdc\xec\x7d\x5f\xfc\x28\x5e\x0e\xbd\x6d\xed\x27\x56\xa0\xb3\x9b\x9b\x73\x12\xde\x02\xdb\xb4\x46\xf7\x3e\x12\x0f\x7d\x2a\x73\xd6\x56\xc9\x15\xd3\x87\x03\x16\x22\xb0\xa6\xa0\xcc\xf7\x6d\xfc\xb7\xb7\xad\x06\xef\xfc\xfc\xa8\xd5\x16\xf4\xa9\x39\x6f\x71\xa8\xb9\xa7\xba\xd1\xf9\x7b\xc1\x94\x6f\xac\x90\x21\x0c\x3c\x0e\xa2\x7f\x5d\x77\x07\xbf\x40\x61\x0e\xf0\x23\x61\x8c\xc4\xe9\xb9\x59\xd7\x59\x7d\x69\xc1\xa2\x94\xc4\x7c\x23\xd2\x72\xef\xd2\x5c\xf6\x06\xf2\x89\x97\x49\x0c\x02\x94\x5f\xdf\x99\x89\x57\x2b\xdb\xcb\x22\xed\x91\x8e\xff\xdc\x4e\xdc\x9e\x82\x30\x97\x7c\x97\xe7\xa7\x39\xa7\x38\xe8\xd6\xbd\x0a\x2e\xc5\x79\x66\x90\xa4\xb8\x08\xef\x6e\xec\xfe\x73\xcb\xa1\x00\xe8\x62\x98\xbf\xce\x7e\x1d\x70\x2a\x35\x45\x23\x01\xf2\x05\x73\x0a\xcb\x76\x4e\xde\x39\x3e\xd0\x63\xc9\xe4\xe8\xb3\x51\x47\xd5\x21\xeb\x80\xc3\x9a\xc7\x0f\x81\x38\xfe\xfc\xd0\x8a\x91\x79\xb3\x36\x26\xaa\xca\x0c\xbd\x2d\x32\xb3\x7e\x51\xfb\x96\xcb\x00\x81\x5b\xf4\x61\xe1\xb9\x96\x98\xeb\xd0\xbe\x29\x35\xd5\x1f\xe3\xe3\xd9\xe9\x5f\x5b\x97\x91\x7a\xef\x5f\x69\x1e\xef\x74\xaa\xe5\xf3\x62\x28\xdf\xad\x1e\x1a\x4f\xa4\x8d\x3d\xe8\x43\x2f\xfa\xc9\xe0\x9c\x0c\xed\x0e\xb0\x19\x50\x34\x3f\x0c\x0f\x39\xe6\x54\xcb\x2c\x02\xee\x31\x00\xa2\xaf\xd5\xac\xd2\x14\x86\x39\xd1\xcd\x22\xf5\x66\xbd\xe0\xc9\x50\xee\xac\xa6\x5d\x53\xbb\xf5\xdb\x1f\xd4\x9c\x7f\x28\x1f\x30\x76\x34\xfb\x73\xcf\x4a\x07\x73\x62\xb5\x99\x6e\x51\xb7\x7b\xe9\xec\xfc\x06\x7d\xcd\x0c\x23\xc1\x40\xa4\xfd\xf2\xf7\xee\xc9\x8f\xa0\xf1\x9f\x19\x98\x55\xd9\xc1\xfb\x13\xbd\xa6\x5e\xbe\x9c\x52\x2b\x18\x81\x2f\x36\xf7\x27\x0a\x12\xa4\x97\x90\x19\x8b\x8b\x11\xc8\x4b\x68\xa7\xf7\x2d\xed\xdf\x46\xf8\x73\x81\x35\x93\x58\xfe\xb4\xde\x96\x58\xfc\x79\x58\x51\xf7\x33\x88\xd5\xfe\x07\xd2\xe9\x0d\x80\xb8\x9d\xed\x57\x4b\xfd\x8a\xd4\x62\x22\x8d\xa8\x26\xcb\xc3\xa2\xd1\x7b\xd6\x5b\xed\x6d\x13\x96\x70\xdb\xda\x1a\x5a\xa2\xbe\xe2\xd6\xb6\x2f\xca\xb2\x96\xc3\x5a\x5b\xcb\xdb\x5a\x2d\x6c\x24\xde\x4e\x8a\x65\x94\x57\x48\x57\x06\xcf\x4d\xc8\x5f\x18\xd1\x0a\x56\xd3\xa7\xe4\x78\xe6\x73\x93\xe4\x80\xb1\x58\x0d\x29\xe4\xd6\x1c\x1f\x99\x6f\xc1\x43\x26\xa9\x36\xd9\x6c\x98\x6b\x74\x49\x70\x89\xa1\x5d\x00\x2e\x40\x3f\x77\x1a\x53\xb9\x9e\x86\x68\x97\x73\x2d\xe2\x86\x24\xe1\x39\xec\xe8\x6e\xb1\x50\x5b\x03\xb6\x9f\xf8\xf5\xb0\x8e\x70\x83\x59\x8f\xd3\xb2\x47\xe6\xf5\x1f\x3a\xf5\xa5\xaf\xf5\xf5\x99\x45\xeb\x74\xd1\xd7\xe7\xee\x03\x62\x26\xb8\x3c\x0d\x98\x45\xe8\x5f\xeb\xf1\xd1\x70\xd1\x30\x4a\x74\x7a\x1f\xc0\x58\x0c\xa7\xad\x42\xb4\xb2\xf5\xac\x2e\x52\xf6\xed\xfa\xf5\x0a\x2e\x45\xc2\xe2\xc4\x8e\xa0\x94\x75\x2d\x30\x4f\x53\x42\xc3\xbe\x18\x6d\x09\xe2\xdb\xd5\xc7\xa2\x9c\xa0\xf1\xe2\x93\xec\x1a\x07\x5d\x76\x94\x16\xdf\x64\x9d\x60\xb7\x7f\xcb\xc3\x9d\x58\x19\xff\x50\xff\xe0\x9c\xe2\xfa\x9b\x5b\x0d\x17\x8c\xea\x56\xee\x43\xd3\x34\x4f\x10\x91\x8c\x91\xb5\x90\xbf\xf7\x30\x26\x7a\xcd\xcd\x75\xa0\xc0\x34\xc6\x26\xd1\x10\xd4\x45\xa1\xca\x99\x27\x74\xd9\x41\xee\xf6\xcd\x42\xc1\xb5\x25\xda\x2b\x87\x44\xcb\x8e\x47\x1c\x7f\x7e\x41\xed\x78\xd6\x1e\xf0\xbc\x43\x50\x4b\x5a\xaa\x00\x97\x6e\x16\xac\x9f\xe7\xbe\x52\x67\xbc\xbc\x78\xc2\x2b\xce\xf4\x1b\x69\x7c\x1b\xb8\x6f\xf1\xca\x9c\xe2\xf1\x92\x38\xac\xb7\x6f\x9c\x17\x71\x4a\xb3\x60\x03\x9c\x14\xeb\xfc\x47\x14\xdc\xe1\x7e\x0c\x86\x89\xc9\x95\x6f\x20\x50\x0a\xe7\x38\x10\xb0\x79\x0f\x75\x71\x82\xeb\xa2\xb5\xd9\xc2\x08\xcc\xfa\xd6\xf0\x90\xa0\xb5\xfa\x99\xa7\x8d\x8d\x9f\x99\xd5\x8c\x3d\xc6\xb6\x9f\x13\x9b\x54\xdc\xc2\xb7\x6e\x32\x70\xad\x12\xb9\xbf\x61\x41\x1d\x2f\xe1\x46\x5b\x0d\x5d\x2b\x70\x5e\xb6\xb5\x46\xb5\x17\x9b\xc4\x28\xca\xf3\xfd\xc2\x3f\xc9\xac\x33\x67\x67\x01\xf3\xb3\xf5\xd9\x0e\x04\xec\x51\x29\xb4\x01\xc3\xc4\xc4\x8a\xb5\x0e\x44\x4c\x6d\x34\xf7\x98\x47\x3b\xbf\x3f\x38\x31\xd7\x5b\xd1\xab\xd4\x54\xd8\x3e\x20\x3d\xb1\x51\x38\x1a\xe3\x13\xaa\x29\xca\x92\xde\x35\xc1\xa8\x63\x6b\x2b\x67\x64\x52\xbe\xf6\x00\x86\x88\x1d\xc3\x12\x41\x7c\x86\x76\xe4\xec\xfd\x61\xea\xae\x6b\x42\x63\x7a\xff\xed\xe5\x5b\x95\xe9\xc9\x43\x38\x94\x5e\x27\xb3\xd5\xa4\x86\xd4\xcf\x4f\x07\x80\x53\x30\xb7\x83\x2a\x20\x29\x9b\x35\x72\x8f\xeb\x7c\x9f\x80\xc8\xa4\x8a\x93\x5e\xcc\x3f\xf8\x7a\x7d\xb7\x5b\xf0\xa2\xc0\x81\x53\x57\x07\x55\xf7\xbd\x1e\xf6\x1b\xb1\x04\xec\x54\x7d\x1a\x81\x8d\x3f\x4c\xd7\xc0\xf6\xf9\x0e\x55\xcd\x5e\xbb\xc0\x8c\xcd\x7d\x18\x4c\x09\xd2\x36\x68\xb8\x38\xdb\x0d\xee\x62\xe2\x8d\xc7\x8e\x45\xda\xb0\x02\x6e\xbc\x2f\x84\x4d\x01\xd1\xd9\x41\x85\x0e\x04\xec\x36\xca\xe2\xeb\xfb\xb6\x93\x36\x4d\x6b\x14\x3c\xe9\xcc\x75\x39\x8d\x6f\x35\x29\x3f\x71\xa9\x09\x23\xc6\x30\x31\x39\x75\xa3\x41\x2e\xca\x6d\x58\x02\x16\xa9\x69\xc8\xaa\xf2\x66\x67\xc6\x51\x7f\x1a\x93\xb7\xba\x57\x6f\xf1\xfe\x67\xad\x40\xc6\xeb\x18\x75\xac\x3b\xc3\x09\xc9\x6f\x17\x23\x08\x96\xa5\xcc\xf5\x26\x8f\x6f\x34\x8e\x11\x4f\x91\x3a\x6f\x6e\xd3\xf4\x4d\x5e\xa9\x9d\xa2\x3b\x3e\x9e\xe7\x72\x82\x30\xb6\x2e\x27\x9a\x7d\x17\xbc\x29\x58\xf5\xe4\x0c\x22\xa2\x39\x99\xba\x4f\xe7\x0c\xb0\x8a\x8b\x7e\xa9\x2e\x37\x40\x33\xbc\xb4\xf2\xf1\x9a\xbf\x5f\x7e\x49\x2a\xfa\x8f\x95\x60\xfa\x85\x0e\xeb\xd6\xa3\xc1\xb1\x12\x71\xad\x14\xc1\xca\x5e\x0c\x51\x28\x54\x86\x95\xcf\x03\xd8\x04\xdf\xa0\x31\xf7\x60\x60\x06\xc2\xf3\x77\x32\x8d\xbe\xde\xc6\x75\xad\xa4\xe0\xaf\xd5\x93\x05\xaf\xd7\x05\xd8\xa3\x08\xcb\xda\xc5\x30\x06\x12\x8c\x46\xef\xb5\x28\x7a\x63\x3c\xb9\xc8\x6d\x4c\xa9\x68\x63\xf2\xf5\x2d\x70\x13\x14\x86\x3a\x92\x7c\x6d\x03\xe9\xde\x2e\xc7\xa2\xb9\x56\x66\x68\x4a\xe2\xea\x4d\xf8\x7e\x9a\x20\xed\x5b\xd0\xb5\xb4\x7d\xfc\xf4\x72\x8a\xca\x32\x8b\x04\xb8\x7e\xfc\xe8\xa0\x77\x7a\x4a\x05\x90\x3a\xd5\x8d\x7b\xe9\x73\x09\x10\x9e\x33\x11\xf6\xf7\x78\xd4\xba\xd7\x2c\x47\xb7\x20\x9d\x4d\x4b\x64\xbc\x9a\xb0\x76\x17\x25\x62\xed\xb1\x6f\xbe\x83\x7f\x07\xd6\x7c\x02\xe0\xfc\xad\xda\x6c\x36\xa5\x7a\x09\x5e\x61\x43\x47\x3b\x7a\x56\x6c\xb8\x0e\x20\x7c\x5f\xf5\xc3\x0f\xa6\xfd\x6d\xe0\xaf\xb7\x45\xa9\x5a\x51\x6c\x9c\xee\x5a\x1c\xeb\xee\x3e\x67\xb7\xe9\x10\x73\x53\x6f\x98\xac\xbf\x6c\x07\x9b\x03\x87\xf3\x50\x8f\xe4\xae\x1b\x38\xff\x43\xe8\x34\x3e\x40\x15\x9a\x8f\xf2\x80\x65\x31\x62\x14\xcf\x82\x1f\xdc\x1d\x9c\xe0\x09\x20\x0e\xfe\xcc\x7a\xd0\xd7\xf7\xe0\x46\x08\x5d\xb5\x35\xb6\x03\x51\xc6\x83\x8c\x2f\x59\x0d\xe1\x76\x41\x66\x47\xdb\x57\x12\x4a\x3b\xff\xa8\x3d\xde\x79\x77\x16\x40\xbc\x52\xbf\xdb\xe5\xfe\x71\xba\x19\x5c\x03\x12\x6b\x4b\x30\x7b\x32\x74\x76\xed\x30\x06\x3d\x22\x77\x0d\x30\x7f\xc4\x4e\xde\x17\x94\x03\xf5\xbc\x72\x0d\xaf\x44\xee\x6e\xda\x06\x83\x4a\x60\x33\xc4\x37\xf9\x25\x2f\x2d\xc3\x2a\x9d\x52\x9e\xee\x80\x2e\x55\x2b\xfc\x5b\x6c\xaf\x51\x9d\x86\x37\x48\xc2\x16\x7f\xc1\xd7\xf3\x30\x78\x1b\xf8\x2f\x7b\xc7\x86\x01\x71\xb0\x90\xc1\x38\x3e\x36\x46\xb2\xbe\x0e\x27\x30\x2a\x08\x47\x5c\xf2\x51\xdb\x61\xd7\x24\x3b\x03\x9e\x68\x89\x66\x14\x00\x45\x42\xd7\xfc\xa7\x99\x43\x12\xba\x96\x84\xb7\x2d\x60\x19\x30\x81\xdd\x01\x29\xf0\x8f\x83\x79\x94\x5b\x68\xca\x91\x91\xf6\x13\xbf\xc4\x56\xea\x95\x0a\x48\x32\x9e\x70\x43\x8a\x19\xb4\x78\x51\xb5\x50\xc2\xa5\xf0\xe8\x39\x9a\x12\x3e\x26\x7a\x67\xe1\x80\xad\x8f\x2a\x95\x2b\x6b\xc9\xbc\x84\x27\xc5\x14\xbf\xca\x57\x5f\xa4\x7e\x49\xf9\xb5\x8e\xc1\x50\x67\x5f\xf7\x10\x43\x4f\x7b\x62\xf1\xe2\xce\xcc\x96\x89\xa3\xaa\x61\xd5\xb7\xf3\xb6\x4e\xc9\xc8\x20\xf0\xd0\xf4\x0a\xa7\xfb\x7e\x41\x27\x0e\x95\x2f\x02\x49\xd9\xe5\xed\x8c\x9f\x6f\xb2\x99\xf5\xea\x1f\x22\xa7\x0c\xda\xdc\xac\x1a\x2a\x30\x77\x02\xa7\xc1\xb9\xf3\xb0\x81\xeb\x8e\x4b\x1a\xa3\x4f\x4c\x78\x8b\xfb\x89\x69\x31\xc0\x4d\x2a\x7f\xcb\x80\x7a\xdc\x97\xb1\x7b\x99\x20\x9b\x6d\xcd\x65\x4a\xba\x21\x2c\x4f\x27\xf6\xa8\x5a\x32\x4e\x8a\x6d\x0e\xc2\x0f\x06\xe2\x3a\xa8\xb4\x8e\xdc\xa2\x2a\x47\xc7\x60\xe0\xf4\x78\x5d\x73\xd2\xb6\x23\x66\x44\x5c\x98\x10\xfd\x01\xf2\xba\x15\xa3\xc4\x46\x49\x82\x9d\x48\x77\xf3\xed\x5d\x12\xab\xaa\x00\x92\x49\x0b\xfb\xa2\x91\x3f\xb8\x37\x23\x15\xc8\x82\x55\x89\x2e\xf1\x35\x77\x35\xc9\xae\xce\x52\x3f\x37\xfb\xd6\x17\x90\x0f\xae\xe4\x30\x1c\x91\x3a\xbd\x33\xa9\xbf\x6e\x13\x01\x70\x26\x39\x26\xe7\x56\x75\x70\xb0\x1d\xb4\xa4\x41\x46\x73\x90\x14\x9b\x8c\x1b\x55\x63\x3b\x49\x7d\xbb\x21\x5c\x8f\x18\xae\x55\x76\xc2\x1b\xb4\xe5\x7d\xa8\x84\x01\x62\x82\xbf\x0f\x99\x7a\x3a\xcd\xcd\xce\x39\x79\x1e\xdc\x21\x20\x52\xd9\xd4\xd8\xd7\xce\xbe\x93\xee\x93\xde\xfc\xa9\xca\x0a\x4e\x40\x29\x89\x30\xdf\x97\x44\x64\x3b\x28\x41\xb0\x58\x72\xb4\x5b\x42\xf9\x12\x4e\xfe\x61\x1d\x1f\x2b\x96\xe3\x7b\xc7\xcd\x3f\x58\x81\x87\x13\xfe\xdf\x2f\xa7\xaa\x4a\xda\xbd\xd5\x9c\x76\xd6\xdd\xb6\xc3\x36\xf6\x6c\xd2\xa4\x67\x8c\xb4\x87\x4f\x25\xba\xa5\xc1\x50\x0a\x28\xc5\x2f\x56\xab\xcd\x20\xea\x6a\x0e\x84\xfe\x3e\x4d\x54\x8d\xf2\x63\x37\x34\x62\xc9\xa4\x5e\xec\x7e\x5e\xec\x28\x29\x79\xc7\x14\x49\xbd\x8a\xc7\xd8\xd0\x84\x65\x37\x61\x27\x78\x8c\x55\x24\x75\x38\x95\x91\xe6\x2f\xa1\x9c\xe2\x9c\xf4\x4e\xf2\xce\xa8\x27\x16\x6e\xba\xe0\xce\x68\xe8\xb4\x91\x9e\x35\x31\xdb\xe8\x19\x3b\xbe\x5e\x6e\x34\x8b\x38\xeb\xbe\xdf\x96\x53\xcd\x71\xcf\x46\x3b\xe2\x20\x4a\x78\x0e\x89\xa4\xdc\xca\xf0\x5d\xf0\x5d\xe6\xe6\xfe\x59\x20\xee\x1d\xd6\x4d\x47\x2d\x57\x4d\xa8\xc6\xd5\x5f\xc9\x09\x4b\x0f\xe3\xa6\xc7\xe9\x56\xa4\x67\x47\x67\x17\xc7\xe4\xe3\xd3\x3e\x84\x95\xdd\x57\x26\xfa\xc2\x19\x19\x69\xbd\x26\x0d\xfb\x0c\xc9\x99\xdb\xa3\xce\xba\x35\xcb\x58\x98\x6e\xbc\x13\xd6\x17\x46\x3e\x67\x6c\x61\xd1\xe2\xa7\xb2\x8f\x30\xc3\xe6\x11\xc2\x78\x29\x7b\x93\xe5\x1b\xe2\x38\xdc\xdc\x7d\x3e\x3b\x7c\xce\xc4\x39\x09\x69\xb8\x20\x37\x3f\xc4\xc9\x6b\x4e\xc1\xbc\x1b\xce\xc1\x57\xb6\xbd\xa6\xe6\xff\x16\xe2\xb3\xfc\x20\xf9\xd5\x41\xf2\xf2\x50\xf9\x45\x6a\xf6\x87\x70\xe5\xa6\x59\xd2\x72\xd2\x8a\xd2\x13\xf2\x1d\x92\x4a\x16\xe1\x12\x70\x18\x37\xc3\x7e\x56\xa1\xbb\xda\xc0\xb7\x38\xe0\xb4\xcb\x6f\x9f\x3f\x97\xa3\xda\xef\xbb\xcb\xd7\xfe\xeb\x20\x87\xab\xda\xe7\xad\xfc\x33\x23\x4a\x46\x09\x3b\x53\x6c\x36\x10\x51\x41\x80\x69\x12\xdd\x7f\xab\x04\xa4\xf1\x05\x43\xdf\x0f\xec\x66\x7f\x54\x30\x59\xf2\x77\x1e\x02\xc2\x49\xfb\xf7\xb4\x2b\x7e\xd4\x1e\xb4\x5b\x97\xb0\x6b\x42\x1d\xb1\x05\xe2\x93\x34\xd1\x31\x4c\xf9\xa8\x5b\xa1\x2a\xf3\xc6\x3b\x2f\x6a\xd3\xfa\x4c\x01\x41\x4d\x30\x58\xe5\x7d\x3e\xfd\x10\xb1\xb9\xa4\xb2\xf5\x2e\xe4\x74\xd8\xba\x75\x15\xc8\xc3\x74\x1f\x6a\x8d\xb2\xc4\x69\x5a\x8d\xb8\xea\x36\xc4\xec\xa1\x29\xe3\x10\xb1\xa4\x75\x11\xec\x1e\x64\xf8\x9a\xf8\x6e\xe3\xae\xfc\x04\xc0\xb9\x95\xab\xbf\x9e\x7f\x3f\x94\xb4\xd9\xca\xca\x15\xee\x0a\x83\x7c\x6e\x34\x6f\x5a\xbb\xf3\x38\x48\xdb\x2f\xa3\xd0\x68\xd5\x21\xab\xdd\x04\x06\x7d\x83\x49\x3e\xa9\xd7\x16\x1f\xde\xfc\xdf\x64\xfe\xe4\x09\xe4\x7f\x5f\xe3\x15\x08\x59\xf6\x33\xa3\x72\x44\x90\x77\x63\x36\xd3\x5a\xf9\xb5\xcf\x4b\xe5\x05\xd8\xac\xf8\xf7\xc6\x41\x1e\xbf\x3b\xf8\x9f\x54\xc9\xf8\x9d\x05\x01\x20\x47\x58\x19\x4b\x62\x34\xee\x70\x00\x3a\x49\x39\xe8\xeb\x6d\x8d\xca\x7b\x23\x3f\x7b\xff\xc7\x58\x25\xf6\xa5\x43\xb0\x87\x4b\x4d\x3b\xe1\x8c\xeb\xc2\x00\x45\x8d\x28\x7b\x76\x54\x12\x36\x0b\x4c\x61\x9b\x59\x7d\xc6\x6a\xe3\x4f\x93\x8c\xd1\xad\x54\xf6\xd0\xb2\xbf\x60\x10\x75\x20\xb1\xb9\x00\x84\x95\xed\xbb\xcb\x1f\x4a\xc4\xda\xdb\x83\xf5\x32\x66\x84\x31\xf6\xdf\x44\x9a\xe9\xe3\xae\x2f\x9f\x4d\x1a\xfc\xe8\x52\x8d\x31\xb3\x43\x62\x87\x16\x20\x40\x23\x0f\xc4\x5e\x24\x79\x48\x22\xb6\x63\x03\xe1\x25\x1b\xdf\x80\x1b\xe4\xc0\x90\xe2\x2e\x13\x4d\x74\xbe\xd8\x42\x9b\xc9\x6c\x37\x20\xea\x94\xd5\x5e\x84\xa7\xc8\x5d\x5d\x5d\xbd\x2a\x97\x02\xbf\x08\x10\x18\x12\x65\xc2\x67\x5e\x31\x3a\x8e\xb3\x09\x76\x22\x74\xaa\xbc\xc5\x32\xed\xe5\x3d\x4d\x40\x66\x5d\xe7\x4d\xba\xcc\x9f\x44\x5f\x9c\xf1\x77\x60\x74\xd1\x98\xfc\xef\x02\x86\xc1\xff\xa6\x6d\x9d\xac\xaa\x95\xc8\x75\x1e\x4a\x77\xa5\x22\x42\x68\x9b\x96\x85\xb4\x4f\x3b\x93\x1b\x1b\xfc\xd6\xbd\x04\x2e\x84\x85\x77\x89\x33\x2c\xc3\x65\x4a\xfb\x56\x4b\x6d\x04\xc4\x43\x32\x4c\x43\x14\x79\xd3\x9d\x4f\xd8\x07\x11\x4c\xfd\x81\x55\x95\x7b\xca\x2f\x5c\x22\x88\xe6\xf1\xef\x4b\xb1\x09\x68\x81\x9e\x90\xaa\x09\xbf\x62\x78\x1a\x5a\x88\xbf\xeb\x4c\x52\x12\xbe\x9a\xba\x69\xbd\x4f\xc7\x28\x3d\xee\xb6\x7c\xd2\xed\xa4\xfc\xc7\x56\x7d\x88\xba\x29\xf0\xb5\xd7\xbe\x9d\xe0\x5b\x5b\x01\xe9\x1f\xda\x50\xf6\x5b\xcf\xf3\xee\xf1\x6e\x1d\xcc\xf3\xe4\x32\xec\x36\x59\x17\x9d\x4b\xaa\x95\x09\xbf\x55\x18\x4c\x13\x9a\x7d\x03\x92\x57\x19\x30\x24\x7f\xda\x83\x52\x3a\xa0\xa7\x0c\xa5\x4f\x00\xfd\x33\x49\x6a\xba\x28\xce\x92\x1f\x52\xd6\x85\x4a\x8d\x80\x0b\xf0\x91\x29\xa7\x9d\xd4\x16\xf9\xed\xb7\xa6\xb1\xb1\x05\xfb\x06\x48\x9b\x49\xfb\x83\xd9\x6e\x9c\x53\xb7\x28\xcb\x67\x98\x4b\xea\x70\x0b\xa5\xa8\xef\x32\x9b\x5c\x9f\x8f\xa6\x0e\x6f\x4e\xdd\xef\x81\x1d\x79\x61\xe8\xbb\x9a\xf6\xaf\xc1\x9e\x38\x94\x27\xe4\x90\xda\x70\xb6\x0e\xb1\x25\x1b\x7f\xd7\x01\x4b\xab\x45\x45\xa9\x67\x4f\x18\xc5\x5b\x3a\x2a\xcc\xd7\xb8\x10\x00\xcf\x0f\x70\xba\x98\xe2\xb3\x87\x04\x57\xde\x1f\xde\xfa\xfc\x19\xc7\xc8\x46\xcb\xe4\x74\xf8\xb5\x21\x03\x57\xe5\x6f\xe3\xf6\xda\xa7\x82\x22\xb2\xcb\xb2\x22\x43\xd6\x80\x6f\x88\xc5\x6f\xbe\xe5\x42\xad\x4a\xe6\x64\x86\x97\x3b\x27\x4b\xcd\x92\xe0\x5f\x5f\xf6\xfa\x9e\x68\xa1\x76\xea\x2b\xdb\xf3\x93\x17\x0c\x0c\x81\x64\xc0\x81\x03\xb6\xe4\xc8\xde\x8d\x8a\x8b\x20\x27\x01\x7f\x97\xac\x9c\x87\x92\x86\x56\x94\xaf\xe1\xb8\x6d\xac\x19\xb3\x0e\xaa\x49\x2e\x5e\xc5\xcb\x85\x09\xc1\xbc\x1e\x38\xdf\xf0\x42\x9f\xe3\xaf\x73\x7f\xad\x66\x89\x47\x30\xd8\xfe\x38\xe3\xd5\xbc\x1a\xb2\x2a\xca\xae\x20\xbc\x99\x14\xea\xa9\x90\xad\x11\x54\xd2\x95\x84\xa3\x63\xbe\x1b\xb3\x36\x88\x73\x7e\xf8\x07\xa0\xee\x02\x4a\x69\x6d\xb0\x17\x16\xe9\xb1\x16\xa4\x78\x59\x7e\xad\xea\x56\xd3\x29\x89\x49\xba\xb7\xc6\x9b\x15\xaf\xc0\x2b\x08\xd4\xe1\x1e\x68\x17\xfc\xf3\x81\xca\xce\x9c\xc5\x3b\x5d\xf5\x9e\x45\x9e\xc4\xd0\x1c\x42\x01\x41\xd0\x90\x05\x51\x99\x89\x6c\x22\x94\x55\xd5\xda\x7f\x86\xf0\xb5\x2c\xde\x43\xec\x29\xfe\x10\xe4\x27\x66\x9b\x43\x7b\xdc\x4b\x44\x86\x5d\xda\x70\x23\x28\x1c\x05\x5e\xf1\xce\xdf\x1e\x15\xba\xe5\x79\xf7\x0e\x73\x3d\xbc\x99\x18\x3d\x55\xb9\xdc\x6a\x6f\x16\x6e\xfe\x10\xf0\x6c\x56\x65\x14\xf6\x75\xc9\xf8\x69\x4a\x2b\x24\xcf\xda\x64\xc5\x55\xdd\x23\xba\x3b\xf5\xb6\x05\x4f\xeb\xed\x9c\x0a\x09\x3f\x39\xaf\x32\x9c\x0b\x95\x3c\xd7\x3b\xb2\x71\x3e\x6f\x09\x54\xaf\x72\xa4\x1e\x78\x26\xd6\x0a\x5b\xb5\xbb\x27\x2d\xd2\x78\xa6\x70\xa8\x30\x6a\xa7\x5b\xf0\x3b\x33\x0e\x9c\x49\x77\xe9\x8a\x0e\xbc\xb5\x80\x36\x4e\x3f\x3b\x9b\xb1\x3c\x6d\x27\x2a\x8c\x78\x44\xd7\xfd\x3f\x24\x41\xe0\xca\x82\xf1\x1a\x38\x0f\x89\x66\x22\x22\x30\xc6\xef\xbb\xca\x5a\x49\xf9\x3b\x8c\xa3\x20\x5f\xdf\xa2\x55\x12\x63\x47\x6b\xa8\x22\xc9\x0c\x06\x23\x98\x2b\x0b\x51\x45\x09\xfa\xa0\x70\x0f\x9b\x58\x64\x0b\x7c\xc4\xad\xcc\xa7\xc6\x21\x78\x33\xa3\x66\x32\xf6\xf9\x5b\xd0\xf4\x46\x83\x87\xd7\xc9\x4b\xe0\x11\xc1\x6f\x61\x00\x9d\xe6\x0c\xad\x4b\x7e\xb6\xdb\xb7\x52\xa9\x36\x09\xdc\x59\xc3\x63\x6a\xfc\xd3\x3c\x84\x97\x4c\x5d\xe8\x17\x83\x25\xa1\xd2\x11\xd2\x54\x53\xcb\xb6\x52\xe7\x4f\x8d\x9e\x57\xc3\xb6\x62\x63\xbb\xc2\xa3\xc7\x65\xd0\x50\x84\x7d\x8e\x53\x0c\x02\x16\xbd\xae\xbc\x10\x5c\x16\xf5\xdc\x0a\x1e\xde\xe1\xfb\x54\x84\x1f\xdd\xf6\xd1\x75\xe1\xa4\x20\x68\xc1\x8c\xb9\xd0\xab\x6b\xa6\xbb\x2e\x78\x08\x06\xfb\x7f\x7b\x07\xc8\xe8\x08\xdf\x13\x7a\x5a\x09\x4a\x0e\x54\x6f\x8c\x3b\xc7\x38\xe6\xcd\x48\xcb\x10\xaf\x89\x0e\x80\xcb\x50\x1f\x5e\x45\x73\x54\x0a\x12\x27\x4b\x9c\x40\xc1\xe4\x06\xee\xcf\x04\xf7\x0c\x0a\x84\x74\xf6\x81\x42\xf3\x25\x46\x6a\xe4\x64\x43\xd3\x7f\x83\xd7\xd7\xaa\x06\x16\x0d\x6f\xb1\x1d\xa3\xae\x86\x40\x58\x56\x2b\xae\x17\xe3\xea\xb0\x7a\x2e\x05\x93\x07\x54\xad\x14\x04\xf3\x22\x21\x22\xa6\xc6\x1b\x8d\xd4\xc3\x42\xc3\x9e\xb2\xe0\x02\xba\xcc\x46\xf3\x8b\x2e\x7e\x8b\x5f\x87\x1c\x99\x61\x63\xa8\x61\x0b\x1b\x3b\xa1\xd8\x00\x0d\x10\xf4\x3b\x25\x23\x09\x4f\x36\x90\x4c\x9b\xf7\x3d\x42\x0d\x1e\x64\x58\x98\x99\xe1\x6f\xda\xc0\x0a\x08\xf4\xdf\xa1\xbc\x73\xea\xef\xe5\x4c\x9e\x21\x2e\x88\x41\x32\x9d\x52\xf7\x20\x0f\x20\x9b\x34\x0a\xa3\x19\xa9\x98\x82\x3a\x1d\x67\xb5\x5f\x8d\x2a\x5b\x74\x04\x97\x88\xf4\x53\x2a\x5d\x8e\xbf\x36\x15\xec\x2c\x81\x1b\x4f\x39\xbb\x33\x03\xa6\xa4\xe3\xb6\xdf\x35\xfe\xb7\xd8\x96\x23\x5e\xa1\x9e\x6c\x83\x1b\xe9\x81\x6d\xbc\x17\x04\x93\x5b\xca\x65\xa2\x85\xd0\x9f\xbe\xa8\x05\x57\xa8\x0a\x07\x3d\xe8\x36\x38\x75\xc7\x50\xbc\x1b\xdd\xa4\xe4\x5f\x97\xe7\x0d\xd9\xc7\x4d\xee\xd4\x70\x82\x22\x07\x4b\x8e\x7d\x71\x14\x9d\xdc\x66\x19\x6e\x8e\x56\x7d\x14\x5b\xe0\x5b\xa0\x21\x71\xa8\x65\x8b\xae\xa3\x2a\x60\x67\x20\x69\x66\xcd\xf2\xa0\x7c\x16\x54\xec\x11\xdb\x2f\x5c\x0b\x77\x84\x47\x33\xeb\x09\x95\xb9\x7a\x43\xea\x55\x6c\x72\x8e\xb9\xb3\xe2\xba\xce\xcd\x13\x51\x48\xe4\x24\x71\xfe\x7d\x72\x60\x96\x93\xfa\x6f\x67\x1e\xaa\xd5\x9a\x67\xc9\x4f\x33\xcb\x19\x3d\xe9\xaa\xc4\xfa\xba\x2b\xe5\x7f\x1b\xbc\x1b\xdc\xf9\x1e\xf6\xc6\xbb\x81\xdf\x7b\x00\x04\xdf\x4e\x9f\x62\x01\xdc\xf3\x2d\x70\xa9\x67\x5b\x72\xef\x3a\xa6\xf4\x8f\x83\xbd\xaf\xeb\xec\x96\xf0\x7e\x44\x66\x1a\x2c\xb0\x15\x21\xb3\x3e\xa1\x11\xa9\x4b\x06\x9a\xa3\x9a\x39\x59\x52\x32\xba\xf0\x76\xf1\x72\xf9\x44\x33\xef\xc4\x27\xfa\x0a\xc3\xf8\x99\x0f\x4b\xb6\x67\xd5\x82\x3f\x68\x3f\xcb\x72\x5f\xfa\xd4\xf8\x4b\x26\x0c\x60\x74\xcd\xa1\xf1\x9f\x9e\x89\xa8\xce\xed\x79\x37\x85\xd4\x26\x2e\x9f\x3e\xfd\x74\xf5\x01\xf4\x75\xe7\x34\x98\xdf\x9b\xcd\x14\x47\xb7\x0a\xb9\xee\xdd\x3a\xe8\x5e\x16\x4d\x8a\x70\x76\x84\xef\x77\xda\xb4\xdc\x59\x7a\x7e\x1c\xda\x87\xd5\xb1\xf7\x4d\xd9\xaa\xe5\x21\xc1\x52\x57\x9b\x64\xc5\x3b\xb3\x23\xf4\xdf\x09\x5e\x83\x7a\x1c\xd7\xca\x88\x83\xb4\xf0\xc5\x06\x51\x15\xa9\xdb\x0c\x74\x5c\xa3\x57\x79\x02\xbb\x5c\x14\x4f\x4a\x17\x31\x34\xbe\xc7\x3a\x35\xd2\x5c\xb2\xfe\x0c\xf0\x97\x53\x58\x54\x85\xb7\xdd\x20\xdd\x93\x12\x1c\x9a\xf9\x67\xe7\x76\xb7\x1e\x56\x39\x8f\x55\x6b\x58\x2c\x6d\xb6\x69\x4d\xb2\x5c\xea\xe8\xb6\xfe\x0f\xc6\xee\x28\x6e\x8e\x9e\x3e\x45\x9d\x49\x0f\xa1\x20\x61\xbb\xb7\xef\x49\xe7\x69\x85\x5f\x14\x1f\x93\xbd\x2c\x83\x98\xda\xe2\xc7\xea\x1f\x28\xf7\x0d\x15\x3b\x2e\x73\x9e\x29\xb0\x3d\x35\x9e\x41\x9e\x49\x9e\xe9\x28\xdc\xcb\x77\x58\xa1\x67\xa7\x7d\x34\x59\x93\x94\xb1\x91\x44\x70\xc4\x34\x97\xac\x7b\x1a\xea\x6a\x71\x28\x51\x0a\xcc\xb7\x5a\x4a\xb2\x55\x8d\x5a\x66\xb1\x4b\xb1\xf5\x2a\xc5\x78\x00\x43\x7e\x70\x22\xd2\x12\x32\xaf\xac\x72\x83\x23\xeb\x24\x21\x0e\x8c\x4a\x1e\x86\x1d\xe4\x7a\x5a\x05\x59\xd1\x2e\x0e\xa0\x5e\x7c\x12\x68\xd0\xfd\x7d\xa0\x9d\xc8\x7a\x8e\xc0\x1b\xb2\x58\x61\xe3\x8e\x15\x49\xa7\x8b\xa8\x45\xaa\x58\x67\xd0\x74\x5e\x34\xab\x52\x7b\xfe\xb3\x66\x14\x1a\x8a\x4c\xc9\x11\x79\xd3\x7f\x70\x08\xd1\xe1\x9a\x9a\xc9\x06\x00\x31\xde\xa8\x7c\xb0\x4f\x07\x0d\xde\x14\x32\xdb\xe0\x35\xde\x22\x0c\x0c\xf2\x74\xc9\x55\xe3\x92\x41\xe9\xde\x97\xf2\x95\x40\xf6\xff\x11\x75\xfb\x1b\x52\xe4\xa1\xfd\x50\x1a\x04\x4e\xb6\x58\xc6\x31\xa2\x5a\x4e\x06\x81\xfe\xff\x2f\xa8\xdc\xa8\xbf\x78\xa6\xf6\xfd\xaa\x95\x49\x51\xaf\xc3\x97\x07\x06\x96\xc3\x5f\x03\x04\x8e\x79\x36\x90\x45\x4b\xf8\xaa\xa1\xa5\x20\x2f\xbc\xba\xa1\x11\xb5\xf7\xc7\x20\x63\x75\x44\x96\x6f\xbf\xba\x80\x37\xd5\xa4\xaf\x09\xd0\xfc\x07\xd6\x1d\xdb\x7c\x32\xfc\xd0\x56\xe6\xfc\x43\xe5\x0b\xce\x66\x2b\x48\x8c\xbd\x0a\xb5\x3a\x60\xbe\x77\x9f\xf9\x01\x69\xf2\xc4\x79\xdb\xff\x7e\x77\x6b\xb8\xe5\x93\xd6\x74\x40\xcb\x34\x4f\x45\x5d\x2c\xfb\x3c\xbb\xfa\xff\xc9\xcd\xa6\x3f\x0f\x73\xe6\x12\xa1\x62\x18\x31\x2d\xab\x84\x0d\xf2\x4a\xbf\x92\xdf\xc3\x41\x9c\xb4\xa7\xa8\x8c\xd2\xf1\xfe\x41\x32\xe0\xd2\x2d\x3d\x86\xc9\x74\xed\xec\xb9\x99\x43\xc2\xc3\xb5\xcc\x8d\xe0\x7f\x3a\xf0\xc0\x0f\x0a\xe9\x9d\x42\x61\xb3\x3b\x05\xf5\x57\x17\xe9\x92\x43\x45\xa2\xce\x9e\x16\x72\xff\xe5\x7b\xe7\x60\xc9\x26\x89\xc4\x2c\x1f\x27\xf4\xdb\x74\xff\xdd\xec\x15\x8e\x8a\x5b\x38\xc1\x17\x71\xe1\x89\x75\xee\xf8\x0a\x2d\x28\xc7\x4a\xec\x5d\xbb\x98\x34\x0d\xa8\xda\xf3\x99\xb2\xeb\xca\xb9\x35\xab\xe7\xf0\x61\x79\xfc\xb7\x0a\x68\x68\xfa\x59\xb1\xfd\x99\xb8\x2e\xef\xfe\xcb\x34\x9d\x07\x6a\x26\xb0\xb6\x1a\x93\x34\xdf\xf2\x82\xb6\x61\xf6\x1c\xa2\xf6\x0b\x83\x71\xcb\x27\x28\x9a\x0b\x85\x35\xe0\x97\x15\x13\x1d\x84\xf2\xb8\x14\x73\x1a\x8a\x58\xc3\x47\xf4\x6a\x57\x42\x99\xec\x86\xde\x7e\xad\x92\x85\xc9\x63\x6d\x08\xdb\xb6\x18\x8c\x2f\xfd\x99\x2e\x01\x36\x1d\xca\x61\xff\x5f\x1b\x41\x35\xbc\xfd\xfb\x2b\x3d\x64\xbc\xdc\xe3\x0c\x3e\xc4\xb9\x5f\x2e\x19\xee\xaa\x68\xcf\xcf\xc8\xe8\x38\x74\x42\xe1\x73\xb8\xe8\x30\xc4\x0f\x48\x4a\xc6\x1f\x8a\x6c\x9c\xe1\xa1\x6c\x5b\x55\x48\x34\xf6\x76\x2e\x09\xbb\xca\x3e\x5d\xc6\x28\x0a\x6b\x8c\x39\x2e\xa0\x20\x55\x94\x41\x3a\x2c\x41\x2d\x15\xac\xbf\xc6\x77\xe6\x85\x79\xca\xb0\x90\xd2\x89\xcb\xf1\x56\xe0\x6a\x56\x55\x0c\x9c\x5e\xbe\x98\x81\x7d\xb0\x7c\x77\x7f\x54\x48\xc1\xd3\x98\x2c\x1f\x03\x41\x71\xc8\x30\x3b\x2c\xf3\x5a\x44\x2a\xae\xdc\x23\x7b\x9f\xbc\xad\x6c\xcc\x48\x37\xe0\xd5\x62\x1e\x52\x58\xef\x30\x43\x81\xc7\x64\xcd\x75\x42\xd1\xa2\xf5\x35\xd2\x64\xa8\x3d\xcd\x56\xb0\x5c\x54\x3d\x9b\x51\x33\x00\x13\x8b\x37\x6f\x0b\xed\x71\x13\x41\xcc\x90\x41\xfb\x8c\xeb\x4f\xfc\xfc\x06\x6c\xee\xdc\xbf\xa2\x9f\xe7\x21\xfb\xad\x7b\x5f\x75\x44\x0c\x47\x5f\x93\xad\xce\x72\x6b\xf6\xaf\xdf\x98\x54\x94\x5e\x98\x90\xa2\x7d\x57\xd0\x6f\x29\x18\x2e\x38\x1a\x98\x98\xac\xa5\x7c\x67\x57\x0f\x50\x95\x43\x65\xee\x4a\x9f\xbd\xf6\x9c\x78\xee\x36\x4e\xb2\xd3\xfe\xff\x07\xdf\x1f\x28\xc3\x7e\x76\x07\xfc\x5f\x99\x3b\xa2\xce\x9e\x0e\xaa\xfe\xe0\x53\x3f\x08\x8b\x99\x8b\x57\x23\x18\x4d\xfc\xcb\xbf\xdf\xd7\x5e\x8a\xdb\x7f\x53\xe9\xc8\x16\xa1\xcf\x6d\x47\xff\x0d\x1b\xce\xb8\x4a\x7f\x9f\xed\x51\x35\x30\x07\x06\x20\xe5\x99\x69\xba\x3c\xa5\x26\x2b\xae\xc8\x3b\x17\x1e\x85\xf1\x56\x3d\xf4\x4b\xae\x72\x55\x84\xbc\x0a\x9c\x1f\x65\x0f\x93\xb6\x83\xa0\xe6\xc4\x23\xf6\x02\xa7\x2c\xcb\x10\x74\xac\x9e\x46\xa4\x6a\xc3\xab\xaa\xc2\xce\x93\x1a\x98\x55\xb2\x04\xc9\x7c\x4e\x27\x75\x4c\xa4\xe2\xc3\x1c\xa1\xd1\x78\xa5\x87\x26\x8a\x29\x0a\xa9\x36\x77\x72\x72\x6f\x47\xe6\xa0\x34\x01\x17\x0d\xb1\xbe\xde\x4c\xdb\x52\xb7\xba\x09\x67\x6e\x94\x88\x5a\x61\x9f\xa3\xb9\xc0\x94\x23\x74\x2b\x15\x32\xe4\x3e\x69\x66\x21\x08\x7f\x12\xcf\xa5\xbd\x1c\x11\x29\xc7\xbe\xf9\x3e\x30\x24\x26\xdb\xcb\x04\x71\xa4\xc0\xbc\xd8\xed\x71\x4a\x59\x5c\x92\xa7\xda\x49\x02\xd6\x53\x28\xa5\xcb\xa4\x37\xb8\x5e\x1c\x2b\x0f\xad\x27\xd5\xc0\xd6\x19\x83\xc4\x77\x94\xd9\x9a\xea\x7a\x65\x0c\x02\x8d\x21\xf8\x65\x95\x86\x2d\xcb\xe1\xcf\xdd\x99\x7b\x98\x85\x61\xba\x05\x8e\x77\x1c\x03\xcf\x84\xc4\xfc\x18\x20\xa4\xed\xbd\x4b\x1c\x22\xab\x4a\x64\x0d\xc1\xe6\x1d\x4c\x79\x22\x46\x89\xcd\xd5\xbb\x0f\xe3\x50\x8c\x00\x1c\x6e\x88\x29\x0f\x87\xd0\xb6\xf3\xdc\xf5\x0c\x77\x97\x2d\x59\x55\xb8\xff\x36\x4c\xfa\x38\x22\xb8\x21\xd1\xa1\xff\x19\xde\x7c\xce\x46\x15\xfc\x6a\x3d\x63\xf4\xe8\xc8\xa0\xec\xc0\x80\xec\xe0\x81\x45\x9d\xed\xf6\xc8\xce\x52\xfa\xd0\xc3\x7a\x21\xf9\x3c\xab\x6e\x55\x17\x3c\xa4\x51\x63\xaa\xe6\x8c\xe7\xf0\xda\xf0\xf7\xf7\x6f\x2b\xf1\xfc\x2d\x60\x28\x7c\xc9\x8d\x20\x87\xc8\xee\xa1\x4f\x2c\xf0\x8a\x74\x1c\x0b\x16\x63\x52\xd2\x87\x13\x9f\xd3\x86\xae\x9e\x05\x8a\x2f\x6a\xe4\x6e\xed\x40\x3c\x97\x51\xa0\x67\xd8\x1a\x9b\x18\xab\xf9\xf7\x34\xf4\xfc\x36\x9f\xa1\x9f\x57\x3d\x5a\x8d\xda\x92\x92\x39\x99\xae\x9d\x34\x63\x4b\xa8\xb6\xd6\x26\x7b\x9e\xdb\xde\x7d\xee\x38\x23\x5a\xf3\x58\xf3\x1e\xed\x57\x55\x17\x55\x2b\xe9\xfc\x51\x47\xce\xd1\xf9\x51\xf3\xdc\xc6\xdf\xe4\x33\x2c\xe4\xeb\x2f\xe0\x25\x8a\x45\x6f\x9c\xa3\x02\x8e\xdf\xc3\xde\x87\x0e\x14\xd5\xbc\xe8\x0e\xe7\xf4\x95\x64\xcd\x37\x7a\x7d\x04\x0d\x23\x1d\x4f\xb7\x74\x7b\x79\x44\x22\x33\xe1\xac\x0b\xbb\xc2\xf4\x4b\x9e\xce\x64\xae\x95\xf0\x20\x7b\x43\x75\x37\xfd\x90\x27\xd2\x0d\x1a\x43\x29\x6e\x84\x30\x7b\x1e\xcf\x34\xac\x6b\xa6\xad\x90\x28\x7c\x09\x75\x28\x35\xfd\x95\x75\x29\x22\xeb\x7c\xb6\x14\x56\x20\xfe\x94\x57\x72\x14\x9e\x9c\xf0\x65\xae\x14\xf1\x6e\xdd\x7f\x6e\x93\xde\xeb\x58\x57\x84\x4f\x1e\xa4\x7b\x8f\x84\x92\x42\x75\x99\x57\x55\x87\x06\x1f\xa9\x92\x2c\x32\x4c\x21\x8d\x28\x8b\x4b\x7d\xb8\xa2\xe4\x8a\xf6\x3d\xef\xf3\xa3\x86\x09\xb2\x5b\xff\x4d\x50\x29\xe2\x73\x32\xf1\xdb\x6c\xa2\x36\x25\xe0\x18\x6a\x0d\x23\x5c\x4a\x7f\x67\x31\x61\x5e\x1c\x39\x51\xec\x1a\x1f\x1e\x17\x2e\x99\xfd\xd8\x46\xce\x2f\x0a\xf6\x0a\x79\x7c\x78\xa4\xe4\xf8\x26\x8e\x3e\x7a\xd4\x7c\x25\x25\x4e\xa9\x88\x7b\x90\x06\x39\xb4\xb5\x63\xd7\x89\x53\x27\x49\xe6\x23\xe6\xfa\xc0\xdc\xb3\x26\x91\x51\x46\xbe\xe5\x8c\x6e\xb6\xe0\xb9\x95\x92\x12\x19\xa1\x0c\x21\x1a\x4a\xc6\x84\x65\x03\x99\x65\x91\x6f\x1c\x7d\x2c\xdd\xd0\x58\xd6\x4d\x30\x63\xec\x7f\x02\x73\x39\x5d\xe9\x98\xc3\x65\x03\x30\x38\x75\xf8\x78\xac\xe4\xe3\xc1\xde\xbe\xfd\x42\xe4\xa6\x82\xc0\xe2\x40\x68\x7e\x54\x24\xc5\x25\x0a\x3f\xee\xcf\x2d\x26\xec\xb9\x3d\xa5\xdd\xc4\x45\x73\x9b\x02\xa6\x6e\xcf\xa8\xdb\xec\x66\x27\x24\x82\xf6\xd0\x84\x60\x39\xe5\xcf\x77\xa7\xa3\xdf\xe5\xfb\x76\xc8\x92\x9c\xdf\x96\xd3\xd2\xe2\x24\x73\x4e\x79\xb1\x37\x7a\xd4\xaf\xe9\x33\x2e\xc9\x89\x41\xbb\x3e\x85\xf2\x63\xbe\x9f\xf2\xb1\x2c\x76\x99\xfc\x41\xe8\xe2\xc5\x3f\x70\x2d\x3f\xda\xf5\x23\xfe\x47\xce\x76\xcb\xa7\xa6\x68\x6d\x2c\xdd\x14\x51\x76\x96\xa6\x47\xa2\x3d\x4b\xd4\xbe\x09\x86\xff\x6e\xbc\x6b\x40\x70\x2a\x83\x3b\x72\xf4\xde\x51\xfb\xfc\xb3\x77\x9c\x5a\xba\x2a\xda\x93\xf8\xc7\xa4\xcd\xe6\xf4\x20\xfa\x33\xce\xbd\x93\xd5\xa5\x77\x52\xf2\x01\x2d\x85\x60\x51\x7a\x5c\xef\xd3\xa7\x8d\x76\xe9\x00\x81\x63\xf4\x8f\x3c\x80\x73\x08\x00\x89\xb8\xd0\x2a\x29\x7f\xe2\xc6\xdf\x25\x6d\xe7\xbf\x67\x4e\xdc\xa6\xee\xba\xad\x49\x79\xb2\x7e\x23\xe7\xe5\x2b\x55\x60\xee\xb7\xb9\x7e\x82\x55\x8f\xce\xed\xf2\xaf\xe7\x8d\xab\x6c\x27\xe3\x7f\x2d\x07\x71\x12\xf4\x27\x12\x89\x84\xd6\xa3\xa2\xd5\x01\x8f\xdb\x68\x26\xc9\x9a\x02\x2c\xd8\x42\xbf\x4c\x13\xa4\x07\xc0\x3c\xaf\x67\xe4\x4d\x49\x4d\x7f\x09\x00\xd9\xa7\x00\xe5\xfb\x8e\x12\x18\x08\xe1\xce\xc2\x40\x6e\x66\xe0\x00\x86\x5c\xa0\xf8\x7d\xc1\xb4\x64\x1e\x1c\x6f\x98\xc2\x87\x89\x8c\xed\x8c\x5b\x17\x36\x5b\xae\x42\x24\xac\xba\x39\x2d\xb7\x9e\x52\x5d\xd5\x82\x93\xe2\x06\x06\x54\xcd\x7d\xed\x75\x12\x41\x24\x9b\x2b\xc1\x65\xd2\xa2\x14\x34\xc6\x6b\x00\xfa\xbb\x8e\x76\x27\xef\xea\xe9\xfc\x9f\x96\x5e\x4b\x08\xce\xec\xd2\xca\x1c\x18\x36\x0d\x61\x3b\x38\x64\x2d\x78\x2b\xb5\xd5\xe1\x4a\x07\x5f\x86\x75\x15\x5f\x32\x0c\xce\xa2\x47\xaf\x01\x07\xca\x72\x03\x65\x3d\x1d\x9d\x3f\xc0\xdc\xfb\xdb\x28\xb6\xfd\xfd\x03\x81\x8a\x13\x77\x87\x94\x1b\x2f\x2f\x94\x28\xc7\x02\x5f\x60\xbd\x35\xfa\x77\xce\x2f\x9e\x2f\x2b\x3a\x58\x7d\xb7\x5a\xfc\x58\xd6\xc2\x2e\x72\x75\xc8\x90\x51\x96\x80\x97\x81\x57\x26\xed\x03\xdc\x65\x55\x73\x3f\x7f\x81\x7a\xf0\x7f\x4e\x83\xd2\x7c\x6a\x6a\x04\x1a\x5f\xc8\x4d\x77\x33\x31\x87\xe4\xc7\x11\x1f\x0f\x23\x71\x16\x4a\x5b\x75\xff\x57\x46\xf0\x78\xf9\xd4\x8e\xb0\x7d\x08\x07\xda\x79\x7d\x4d\x85\x72\xbd\x2e\x29\x72\xe8\xbe\x31\x2b\x89\x1b\xb5\x17\x29\x09\xf3\xa5\x51\x6e\xb5\x22\x7c\x44\x1f\xc2\x55\x17\x29\x5e\x38\x73\x36\xdc\xfe\xed\x0c\xfd\x63\xab\xc4\x23\xfb\x92\x0f\xa8\x41\xec\x3b\x7d\x97\x2f\x0b\xdf\x0a\xa3\xc2\x09\xcf\x1b\xb9\xd2\x3f\xef\x1b\xd6\x4b\x7f\xe4\xf0\x80\xce\xb8\xc4\xbb\xec\x47\x9f\x9f\xfa\x4d\x67\xdd\x69\xbd\xa0\x0f\x39\x5e\x23\x30\xf3\xcf\x3b\xd8\x8e\x97\x12\x4a\x62\x18\x8b\x8f\xea\x98\x99\xd8\xda\xf6\x23\xb2\x3c\x9f\xe8\xeb\x4d\xeb\x7a\x7d\x1e\x74\x75\x6d\xfe\xb8\x6b\xfb\x8e\x70\x87\x96\x61\x53\x16\xac\x98\xae\x9e\xd3\x16\x20\x32\xf3\x70\x18\x2e\x41\x5e\x53\x31\x9e\x5f\x2e\x77\x47\x1f\x61\x6f\x25\x37\xae\x2c\x53\x55\x57\xa9\x94\xd5\x95\x0a\x37\xe7\x6d\x64\xb4\x25\x45\xf6\x3d\x2c\xdb\x50\x85\xde\xea\xa9\x5b\xd2\xb0\xd3\xe5\x8a\x9a\xaa\xf5\xed\x6c\x8a\xed\xe7\xf1\x4b\x90\x3d\x33\xba\x3e\x68\x3a\x70\x5a\x37\x7f\xd7\x9f\x1f\xbb\x67\x7e\xff\xde\x23\xef\x8a\xd4\x3b\x1c\x78\x44\xaf\x74\xdb\xdf\x4f\xbb\xa6\xfe\x7c\xd9\xde\x74\xd2\xba\x7d\xd4\xd5\x26\x59\x39\xfd\xe7\xe7\x14\xba\xc6\xae\x70\x62\x75\x55\x5b\x5d\x90\x89\xf1\x98\x54\xba\xa2\xd8\xce\xb9\x23\xc2\xe1\xaa\x55\xd6\x46\x6f\x7f\x7e\xf9\x16\x79\xce\xd5\xa5\xaa\xa5\x6a\xd8\xcc\x60\x61\xee\xb2\xea\xe5\x85\xcb\x7e\xaa\x2e\x3b\x15\x26\x5c\x55\x42\xc1\x44\xae\xc8\x08\x19\xbd\x93\x3c\xe1\xa2\x12\xf0\x03\x6a\xc0\x9a\xc1\x35\x79\xa4\xd1\x83\x6f\xe5\x29\x5d\xba\x8d\xef\xb1\x2c\xbd\x84\xb6\x2b\xe8\x5d\xc7\x2a\xd1\x44\x8c\xac\x38\x39\xbb\xc5\xbc\xe2\x9a\xf6\x15\xa6\xa0\x6d\x53\x8a\xdd\x54\xa5\x49\xcc\xf6\x39\xe2\xba\xb9\x03\xe3\xec\xdb\x22\xaa\xfe\xad\xc4\x5f\x4b\x4b\x67\x68\xc5\xf0\x26\xc3\x5c\x5e\x61\x3d\xa4\x0b\x12\x58\x86\xa7\x1e\x10\xc6\xfd\x28\x89\x1c\x75\x60\xee\xb3\x1d\xa5\x6d\x67\x4f\x1b\x2c\x8b\xd3\x89\x86\x02\x68\x7d\x81\xfb\x92\xde\x79\xa8\x06\x24\x99\x03\xdb\x92\x12\xa4\x24\x0c\xdf\x45\xc6\xfb\x5b\xd3\xe9\x62\x92\xc7\xe6\x0c\xb3\x5c\x1d\xda\x8a\xc8\x78\x6c\x7e\x5b\xc5\xf0\xbe\x00\xd1\xd3\x6c\x3a\xb2\x0e\xe9\x88\xbc\xf6\x2c\xb5\x12\xb3\xdd\xcd\x67\x03\x9f\x5c\x6a\x81\x1b\x11\xad\x67\x59\x13\xea\x09\x8e\x88\x27\x07\xb4\x1c\xe5\x26\x66\x29\xe1\x8b\x47\x4c\x7c\x9f\xc6\xad\x2a\xe1\x87\x1c\x51\xdb\xdc\x70\x72\xa5\xa3\x83\x7e\xee\x1a\x3b\xce\x5a\xf1\xb4\x92\x7f\xc3\x49\x5d\xac\xdd\x0d\x21\x3c\xf9\x61\x50\x7f\x42\xb7\x49\xee\xf3\x0e\x62\xb8\x43\x55\x78\xd0\x8f\x1c\x0e\xf6\xfd\x45\x67\xff\xc6\x43\x7f\xff\x28\xa6\x3c\x15\x7f\x67\xb7\x64\xef\xdb\xd7\xd0\xa0\x72\x4d\x7b\x4c\x57\xd2\xae\x47\x07\x68\x12\x37\xfc\x39\xb3\x57\xf7\x46\xc9\x9c\x2c\x73\x52\x06\x85\xcb\xdf\x95\x7a\x48\x37\xd2\x7a\xcf\x99\xcc\x46\x72\x63\x48\x4b\xfc\xff\xf8\x1a\xdf\x6f\x19\x53\xae\xe1\xe3\x46\x61\x30\x19\xc3\x16\xad\x7a\xb2\x81\x95\x68\xc7\x43\xaa\x1c\xce\xd7\x3a\x2b\x06\x2f\xa1\x9d\xaf\xd5\xd2\xad\xfd\x5b\x2d\x57\x98\xc0\x20\x70\x02\x94\x04\xc0\xd0\x33\x14\x76\xe8\xed\x5c\x75\x71\xc7\x47\x47\x2b\xd4\x9b\x44\x58\x29\xdd\xe0\x9e\x03\x27\xd6\x06\xe3\xb7\x26\x4d\xeb\x75\x19\xc6\x97\xd3\xc3\x9b\x7e\x45\xad\xbc\xde\x88\x8c\x57\x7f\x17\x70\xa7\xf6\xdb\x35\x02\x4a\xd9\x70\x47\xd5\xa0\xd3\xd2\xf4\xb4\x30\xcc\xea\x8c\x5f\xd5\xd4\x8d\xaa\x8e\x00\xdf\x71\x57\xff\xc4\x98\x94\x98\x0a\x7f\x5d\x35\x98\x78\x0c\x92\x00\xc9\xf6\xa0\x9e\x16\xe0\xf9\x31\xcb\x79\x75\xd2\x26\xe6\xa7\x0e\xaf\x38\x48\xc8\x8f\x27\x13\x9f\xfe\x3b\xa4\xd2\x40\xbb\x3c\x51\xee\x76\xf5\x38\xb9\x84\x8c\xad\xbe\x75\x56\xac\x3c\x1e\xe6\xb7\xc9\xa6\x45\x59\x29\x16\x2b\x99\xef\x74\x6e\xb9\xb1\x7c\xce\xdf\xb2\xd5\x4b\xb5\xf4\x95\x0c\xd4\x1f\xdd\xe9\xb5\xd5\x33\x2a\x89\xcb\x16\xa8\xea\x22\xdb\xfc\xb6\x02\xf6\xde\xab\x23\x23\x1b\xfa\x1e\xf0\xb8\xdb\x0d\x92\xd0\x8e\x4e\xd9\x69\x22\x4d\x43\xa3\x46\x00\x04\x40\xfb\xbf\x98\x5a\xc1\x75\x54\x08\x0a\xdd\xc1\x83\xa6\x37\xf4\xed\x10\xea\x79\x5c\x3d\xf7\xd1\x86\xbe\xd1\x91\x63\x04\x95\x0f\x58\x59\x24\x2a\xe6\x5e\xda\x49\x4e\xeb\x68\xee\x71\x1c\x05\xc1\x87\x68\xc9\x3c\x87\xb0\xec\x87\xa2\xd2\xea\x1c\x5b\xb7\x00\xe7\xad\x86\x91\xb5\x25\xc1\x89\xc5\x55\x59\xf6\xce\x41\xee\x47\xf4\x38\x9c\x6d\x1b\x5e\x8e\xd0\x73\x1f\xad\xb2\x75\x17\xd6\xc2\xb6\x93\x93\x24\x36\x09\x79\xc0\x37\x59\x56\x50\xb3\xdf\xbe\xd4\xc0\xd0\x03\x02\xf6\x74\x46\xf3\x28\x6a\x7f\x91\x3a\xa8\xaf\xc1\xda\xb8\xe7\x15\x24\x6a\x1a\x1a\xc1\xc2\xef\xa0\x85\x96\xd1\x7b\x77\x25\x70\x68\x11\xec\x42\xb6\x4c\x91\xdd\x1e\xf1\x5c\x3d\x40\x92\x22\x30\x1d\xb8\x8b\xe1\x34\x29\x55\x16\x10\xaa\x0c\x77\xf1\x04\x27\x20\xaa\x4f\xaa\x77\x1e\x34\x07\xca\xca\xf5\x23\x1f\xe2\x99\xf0\x4e\x3e\x71\xa2\xa6\xd9\x98\xec\xee\x0b\xaf\x3e\xc4\xea\x30\x53\x7c\xdb\x5f\x41\x65\x91\x67\xae\x3c\x32\xcc\x38\x10\xfd\x40\xad\x2b\xe9\xb1\x35\x94\x09\x33\xfb\x67\x4b\x70\x3a\xd6\xe9\xf0\xac\x45\x07\xea\x4c\xde\xff\x42\x76\xff\x4b\xaf\xae\x8b\x89\x6a\xfb\x3a\xe2\xbd\xee\x2a\x26\x7a\x85\x94\xdd\xe0\xa9\xfa\x30\xe2\x0e\x56\x20\x0b\x3e\x0e\xa1\xcd\x47\xb4\x58\x1d\xfe\x43\x4a\xa3\xea\x49\xf2\x4f\xb2\xf7\x45\x72\xb2\x03\xb2\xf0\xe3\x10\x13\x57\xdf\xed\xc6\x02\xed\x62\x95\x24\x9f\x57\x2b\xc2\x5e\x6a\x92\xc9\x92\xac\xfb\xfb\xf6\xf5\xcf\x96\xf6\x9e\x10\x88\x85\x36\xe0\x1d\x48\xd3\x58\x23\x31\x38\x0b\x8d\xcb\x8c\x35\x98\x91\x15\xd6\x03\x14\x97\xd4\x8b\xa2\xf4\x96\xd9\x60\xa2\xd6\xa9\x8e\x77\x47\xae\x55\x17\xca\x03\x2c\xf0\xb7\x9f\xfe\x30\x33\x09\x8f\xa0\xab\xec\xab\xf4\xda\xe7\xcc\xb5\x31\x0b\xc1\xd0\x51\x99\x26\xc8\x1e\xa2\x9c\x67\x3b\x21\x8f\xd0\x5d\x76\x9a\x58\xe6\xeb\x7e\x30\x9c\x61\xf6\xb9\x0b\xb9\x9b\xc1\xd5\x09\x8f\xf8\x5c\xbd\x4d\x81\xb8\xfc\xa1\x86\x46\x34\x43\x26\x68\xe2\x99\x20\x8d\x56\xd4\xd3\xbe\xd3\x97\x7c\x8e\xac\xae\xe6\x80\x99\x77\x39\xea\xa3\x7d\xc1\x9c\x39\x8d\x2f\xb5\xed\x48\x86\x14\x59\xbc\xb4\xa5\x9a\x31\xea\xe6\x95\xcb\x9a\xb5\x57\x05\x85\x28\xd4\x75\x32\x69\x67\x16\x6f\xd4\x7d\x39\xa8\x7e\x21\x56\x37\x1b\xd6\x3b\x9d\x3a\x48\xa9\x09\xf3\x78\xc7\x97\xd7\x13\x7e\x08\xe3\xb2\xbf\xa7\x8a\x0f\x76\x05\x57\xdc\xd8\xb2\xfb\x6a\xa1\xcb\x0d\xfb\x77\x8f\x24\x19\xe2\xc4\x6b\xca\xaa\x65\x9a\xbe\x88\x31\x5a\x5e\x9d\x57\x24\x53\xd7\x2b\xc4\xbc\xd1\x9a\x2c\xa9\x2d\xab\x33\xad\xd6\x07\x21\xec\x63\x6d\xee\x99\x68\x16\xfc\xba\x39\x95\x8e\x9b\xa1\x25\x06\x20\x51\x2a\x3b\x25\x81\x5f\x96\x0f\xee\x00\xa8\x38\x88\x46\x56\x28\xb3\xd5\xf8\x86\x9b\x73\xf8\xdf\xb7\x66\xcc\x38\x14\x64\xf5\x9b\x9d\x17\x9f\x10\x9c\xd8\xb4\x67\x6d\x35\x40\x40\x37\x56\xd6\x89\xb5\xc9\x21\x29\x91\xde\xc2\x5e\x60\xac\xd6\x23\x6d\x8c\x13\xdc\x8a\xa5\xbb\xbe\x87\x47\xb1\x6b\x82\x21\xbd\x06\xe3\x06\x79\xc3\x75\xe8\xa8\xa6\x19\xb3\xe4\xd4\x28\x2b\xcb\x71\xfe\xd1\x3a\xde\xc2\xad\xd1\x44\xdd\x89\x35\x2f\x80\xcb\x62\x8d\xb3\x77\x19\xed\x9e\xeb\xf0\xf2\x89\xf9\xd4\xc8\x62\x2b\x19\xed\x62\x0f\x16\x9f\xf8\xe1\x8e\x81\x9a\xed\xbb\xd7\x36\xce\x7d\xeb\x48\xaf\xd0\x9b\x87\x6d\x24\x9c\x9a\x74\x65\xd6\x31\x2d\x1e\xc4\x9b\x0a\xee\xfc\xb5\xbc\xbb\x08\x47\x5d\x69\xb9\xdc\x98\xf0\xa8\x99\xe0\xb9\x24\xbb\xba\x51\x3a\x6e\x1a\x70\x79\xeb\xfe\x73\x86\xc7\xa9\x89\xe9\x42\xd9\xe0\x71\x38\xf9\xa6\x7f\x48\xaf\x72\x2d\x3b\xa1\x2d\x63\xff\x4e\xbf\x2a\xef\x9a\x8d\xa5\x12\x72\xb3\x4a\x5d\x15\x63\xc4\xf2\xf3\xe8\xfd\x47\xd6\x1b\x59\xf9\xce\xed\x75\x63\x79\x55\x6b\xdb\x75\x0c\xd4\xca\x18\xbf\x44\x51\xa0\x1a\x29\x8d\x9f\x3a\x34\x5e\x9c\x9e\xad\x4b\x3c\x7c\xe7\x58\x45\x95\xde\x9a\x2e\x14\x48\x78\xa3\x72\xe4\xba\x9e\xa9\x6a\xc9\xf8\xce\x9a\xc6\xa1\xf1\x86\x05\xfb\xe3\x2d\x9b\x5d\xfd\xc9\x65\x55\x36\xa5\xff\xa3\x78\xac\x62\x6b\xae\x17\x13\xe4\x1e\xa0\x5f\x6c\x6f\x9f\x18\xd3\xe2\xb0\xaf\x75\x76\xa6\xb8\x6f\x4c\x0e\x94\x7a\x41\x2b\xd4\x24\x5e\xd2\x95\x5c\x77\xea\x02\x25\x3e\xea\x5b\xa1\x50\xa0\x8f\x47\x3c\xaa\x9a\x99\xa9\x32\x1a\x95\xd3\xe2\xf6\x8f\x3c\xbd\x55\xc7\xe4\xe5\x8e\xee\x77\xb0\x95\x9c\x98\xae\x2b\x3d\xdc\xa7\x54\xf3\x32\x62\x77\xdd\xa0\x77\x78\xb6\xbd\x9f\xf2\x0a\xc8\x61\x79\x99\x23\x47\xe5\xe5\xc1\xa8\xe7\x74\xc6\x73\x2b\xc7\x73\xaa\xe4\x8a\xca\xca\xf1\x0f\x96\x5b\xf2\xab\x55\xd1\x59\x31\x8b\xcd\x6e\x1e\x2c\xa6\x2c\x28\xa7\x34\x9c\xf7\x63\x24\xa1\x55\xcc\x53\x99\xeb\x39\x93\x91\x9d\x42\xe7\x8c\x25\xc5\x5a\xfd\x48\xab\x5c\x52\xe8\xb7\x15\xd7\xae\xf5\xc2\x19\x6d\xe8\x59\x5a\x84\x2c\x5d\xe1\x4b\x48\x92\x5b\xda\x45\xb7\x10\xc3\xbf\xc7\xe4\x2f\x6c\x3b\xdf\x66\xbd\xeb\x12\x0a\xe8\x9f\x24\x80\x36\xa8\xc2\x21\x5b\x61\x42\x85\x72\xef\xeb\xd6\x64\x07\xb7\x5a\xf5\x0c\x8c\xcc\x56\xcf\x7a\x6f\xd9\x92\x88\x04\x81\x6e\xd0\x48\xef\xa5\xf6\xa5\x1d\x4b\xb0\x56\x16\x55\x85\x25\xb6\xce\x0f\xd2\xc3\x29\x47\x92\x8e\x42\x99\x24\xbe\x45\x37\x5c\x66\xfc\x59\xd6\xb5\x54\xe4\xae\xed\xb8\xc7\x0a\xf5\x06\x4b\x67\xde\xdf\xc9\xb7\x3b\xa2\x37\x1b\xef\x20\x77\xaf\xa9\x42\x68\xfe\x29\xf9\x6b\x85\xcd\xcd\x34\xb2\x8d\x97\xff\xe9\x5c\xf3\xb3\x72\x3c\xc2\x7a\x75\xc1\xab\x74\xab\x53\xe5\x6f\xd7\xf9\x3f\x28\x18\x23\xad\x08\x22\xa4\x2a\x47\x84\x99\x0c\xb6\x1d\xba\x07\x3c\x4b\x3f\xbe\x27\x03\x3c\x69\xeb\xf3\xf8\x9c\x54\x3f\xfa\x99\x9a\xef\x5a\x6d\x0d\x6c\xcb\x15\x15\x94\xd7\xb1\xfe\x7f\x6b\xa6\xc6\xb0\x43\xd2\xeb\x64\xb5\x09\x40\xd2\x50\xb6\x4a\xea\x8b\x1a\x1e\xfa\xf5\x94\xac\x75\x55\xb9\x20\x37\x22\x43\x08\x2a\x89\x00\xa8\xa6\xc9\x6c\xce\x65\xbc\xd5\x10\x80\xf1\x41\xb5\x49\x18\xe6\x90\xe0\xc8\x11\xe5\xcc\xae\x42\x5a\x7c\x47\xd5\x7e\x10\xdb\x99\xe7\x07\xd9\xe0\x51\xb6\xbe\x02\xac\xef\x65\x63\x29\x58\x48\xa8\xdf\x23\x0f\xbb\xc0\x95\xfa\x95\x6b\x86\xba\x9e\xe9\xe6\x33\xa4\x93\x4b\x56\xc3\x20\x3d\x5b\x12\xdd\xf4\xf2\xe3\x58\xc0\x5f\xc6\xc7\xdf\x90\xe6\xfd\xef\xe9\x57\x1f\xd6\x43\x6f\xa7\x98\xff\xd8\x46\xab\x78\xb6\x23\x29\xc8\x81\x74\x38\xe6\xad\x36\xeb\x5d\x9b\xe5\x48\xaf\xce\x77\x33\x2c\x11\x6b\x79\xab\x94\xd1\xa1\x78\xad\xbc\xc2\x81\xca\x2c\x41\x86\xd7\xb7\x09\x65\xe2\xa9\xcb\x23\x86\x85\x2f\xd4\xe8\xfd\x74\xdb\x73\x75\xac\x9d\x23\xfa\x9c\xc2\x38\x89\xb3\xe7\xe6\xcb\xe1\xf9\x3b\x67\xcc\x97\x0c\x9d\xda\x5d\xc7\xfe\x1c\x5b\x87\x7f\x64\x60\x14\xc6\x6f\xb3\xae\x41\x81\x08\x6c\x88\xfb\x18\x67\x23\xb7\x20\x6f\xfd\x40\xde\x5e\x1e\xf3\xd1\x76\x49\x0e\xa3\x43\xb5\xb9\x86\x12\xe1\xcf\x17\xe0\x6b\xcf\xe3\x11\x72\x02\x88\xfc\x6b\x88\x4d\x70\x0b\x16\xd5\xd4\x80\xe1\xf3\x4b\x9d\x8d\xce\x6d\x6e\x0e\x4a\xf8\x36\xa4\xd1\xcd\x21\xc4\x09\x7b\x85\x7a\x51\x49\x56\x4e\x9e\x72\x81\x72\x45\xce\x5a\x96\xba\x70\xe4\xb5\xd2\x57\xa5\x77\x28\x5b\x79\x1a\xf9\x1d\xf9\xab\xb2\x0d\x2a\x0a\x4e\xf9\x43\xf9\x53\xc5\x0e\x83\x21\x7f\x21\x7f\xc3\xd8\xa3\x63\xd4\xee\x90\x84\xa3\xfe\xc2\xc2\x2d\x71\xad\xbd\xd0\x1e\x55\x77\x4a\xfb\x3d\x6a\x2c\xc2\x1b\xf0\x05\x9d\xd0\xd8\xeb\xbd\xd0\x6c\x00\x1e\xed\xb1\x5b\x5e\x73\x4d\xee\x1c\xe4\x75\xe7\x8b\x3b\xd7\x9b\xce\xa7\xbf\x3a\x7d\xe1\xbd\xd2\x9c\xf5\x09\xf1\x09\x71\x67\xfb\xe1\xb9\x06\xb6\xfb\xce\x17\xe2\x63\x4e\x68\x9b\xfb\x94\xfd\x54\xc2\x7f\x76\xd7\x29\x57\x9b\xe3\x64\xc2\xc9\x19\xed\x5d\xc7\x5d\xc7\x1d\x2a\x49\xd9\x1d\xc7\x1d\xc6\x12\x9c\x6e\xbe\xa4\x0f\xc1\xe5\x4d\xf3\x3a\xc5\x32\xb1\xd2\xb1\x81\x75\x78\xe4\x76\x87\x3e\xeb\x0f\xa7\xaa\x19\x8b\x46\xa1\xac\x6e\xe3\x44\x21\xea\x24\x01\x53\xab\x78\x38\x90\xa0\x3b\xad\x8a\xc4\xcf\x3b\xc5\x28\xba\x93\x00\xa5\x7e\x1b\x0d\xaa\x57\x6f\x75\xba\x5c\x18\xcb\x1d\x07\x48\x74\xda\x2a\x47\xc4\x9e\x0e\x76\xca\x3a\xaa\xd3\x5b\xe3\xbe\x4c\xd7\x72\x98\xde\x2d\xa0\xab\xa9\x79\xfc\x47\xd0\x6d\x0a\x6b\x83\x2d\x36\x4b\x17\xbf\x3d\x82\x39\x01\xd8\x44\x3e\xb9\x47\x6b\xf6\xbe\xe2\x0e\x9b\x61\x44\x18\xee\x6c\x39\xe0\x3c\x6a\xdd\x1b\x55\x98\x14\x72\xaf\x9d\x00\x37\x0b\x8c\xac\xe0\xf4\x6a\xb4\xb9\x2a\xed\x06\x4e\x6c\xa5\xbb\xc0\x14\x8f\x93\x17\x29\x38\xc1\x11\x6a\x90\x32\x94\xd0\x62\xe2\xe9\x53\xcb\xc0\x1e\x2d\x61\x8a\x9b\x73\xf3\xef\xe8\x34\x64\x20\x2c\x19\xa6\x01\x60\x04\x82\x38\x06\x01\x1b\x1e\x6a\x30\x5f\x46\x43\x2a\xb8\x12\x36\xa5\x14\xa7\x89\x2a\xbf\x5b\x24\x5f\x5c\x20\x71\x27\x3b\x18\x43\x32\x6c\x44\xd6\x49\xd2\xf9\x13\x3d\x23\xe2\x17\xf1\x3a\xde\x56\x70\x2d\x28\x5f\x9b\xe9\x48\x61\xcc\xb9\x24\xa4\x24\x3d\x77\xbf\x23\x16\x6d\x06\x43\x2a\x41\xe1\x31\x4a\x8b\x19\xd5\x50\xb9\x25\x9a\x73\xe0\x64\x2a\xa7\x3a\xd4\xe1\x25\x09\x7d\xe8\xba\xeb\xd1\x34\xaa\x41\x52\x38\xee\xbc\xc4\x05\x06\x85\x99\x93\xf8\x7a\x1f\xc3\xb8\xa7\xc1\xc7\xc0\x3d\x81\x3f\x45\x75\x2c\x71\x2d\x11\x17\xae\xb5\xd8\xa3\x81\x82\xc3\xcc\xc3\xb7\xa5\xae\xf5\x2c\x21\x96\x70\x8f\xe2\x4e\xd0\xfe\x99\x3a\xbe\x0b\xda\xc5\x90\x35\xd9\xec\xb9\x56\x80\x49\x34\xaa\x94\xa2\x86\x3f\x3e\xab\x2a\x4b\x32\x83\xcd\x14\x8b\xed\x4a\x38\x4f\x73\xfc\xd3\x1e\xbf\x8f\xb2\xf5\x50\x22\xe5\x81\x99\x13\xf3\x62\x4e\xdb\x25\xae\x0d\xbe\x16\x04\x70\xee\x06\x78\x63\xc8\xcc\x4e\x92\x26\x61\x08\x79\x8d\x7b\x7f\x4d\x8b\x6c\xc6\xaa\x07\x33\x1e\x23\x4c\x8d\x6d\x4e\xcc\x95\x26\xd5\x3e\x18\xec\xf4\xb3\x34\x77\x12\xcd\x10\xd8\xd5\x99\xde\xa8\xc3\x17\x86\x96\x18\x7c\x33\x91\xe0\xe4\x96\xda\x7d\x2b\xad\x65\xd5\xff\x7d\x87\xe8\xfe\xa6\xe1\x8d\xf8\xfa\x5f\x83\xc8\x10\xd7\x2c\xbe\x2c\x41\xcb\x4c\xe8\xe3\x75\xb4\x5b\x99\x9a\x9c\xf9\x1d\xcf\xb2\x51\x4a\x35\xda\x27\x7a\x99\x95\x0f\x9a\x40\x4e\xd4\x9d\xcf\x5a\xcc\x89\xa7\x45\x44\xce\x40\xa3\x28\x50\x56\x64\x6c\x93\xac\x5c\x38\x4e\xe9\x26\x2c\x9c\xb0\x29\x49\x5d\xb6\x64\xab\xe6\xa4\x4e\xf3\xfe\xcf\xde\x59\x16\x38\x2b\xbb\xca\x9e\xea\x5f\xbb\x06\x77\xa0\x04\xce\xfb\xec\xff\x75\xe2\xa5\x8a\xec\x38\xd7\x23\xfb\xe4\x2b\xf3\x31\x02\x64\xed\x38\x73\x36\x81\x92\x03\xf5\x9e\xc7\xac\x1b\x7d\xe5\xa3\xaf\x0c\x9f\xe2\xd1\xf4\x55\x79\x8b\xf2\x66\x63\x90\xc1\x99\xb8\x2b\xca\xd4\xfb\x21\x29\x8d\xc8\xa6\xb3\xde\x31\x9b\xb7\x15\xbe\x5b\xe7\xb2\x4e\xeb\xb0\xf4\xea\xd7\x7d\x33\xc7\xae\x49\x47\xac\xdb\x75\x5d\x8e\xdb\x78\x7e\xde\x5e\x85\xca\x94\x98\x34\x0a\x9d\x99\x9b\x71\x64\xe9\xe6\x98\x03\xb8\x5b\x1e\x3e\x94\x2c\x7b\xec\xae\x31\x23\xf1\x5e\x33\xaa\xef\x49\x44\xef\x9b\xeb\x3d\xeb\x71\x07\x24\xb1\x25\xf2\xa0\xc9\xa5\xc2\xf3\x3a\x41\x2a\x81\xde\x43\x67\x0a\x0b\x52\xc9\xc1\xc4\x40\x0c\x95\x42\x94\x86\x48\xfd\x8e\x98\x40\xe4\x21\x1e\x54\x6e\xfd\x9b\x15\xda\x77\xb6\x6c\xe2\xcd\xcb\xad\xf0\x15\xd8\x61\x08\x14\xb1\x5d\xee\xcd\xf3\xc9\xac\xb2\xc3\x11\xf4\x03\x7a\x35\x13\x9b\x0b\xb5\xd2\x18\xf1\x08\x7b\x7a\xdf\x16\xc5\xf1\x31\xd2\x04\x52\x26\x80\x8f\x6c\x9e\x5c\x57\xd1\x9f\x94\xfb\x67\x82\xf0\x98\x00\x92\x45\x49\xd9\x91\x74\x29\x87\x1e\xa2\x08\x84\x38\x90\x52\xa8\x54\x70\x2a\x03\x59\x4d\x9b\xda\x8b\x9b\x46\x66\x52\xbe\x38\x56\x97\x59\xc2\x62\x4a\x69\x72\x16\x35\x46\xc4\x8d\x09\x4e\x34\x65\xac\x67\x48\x25\xa7\x3c\x90\xd9\xbc\xa5\x0d\x84\xbc\x08\x6e\x8a\x6a\xcc\x63\x2a\x76\x84\x9d\x3c\xe1\xa7\xbc\x15\x20\x2f\xef\xab\xe3\xe2\x55\xf6\xdb\x6a\x61\x6f\x2e\x6c\x47\x05\x8b\xe5\x92\x76\x41\xb3\x76\x50\xc0\x02\xb2\xf2\x04\xd8\xa0\x84\x5a\xab\x6a\xaa\x89\xfb\xea\x39\xb7\x49\x64\x41\xe0\xe7\x76\xea\xc6\x89\x3c\x9f\x8f\x0b\x6a\x4f\xef\xeb\x33\xb5\xaf\x6a\x1a\x0f\x89\x35\xcf\x4b\x68\xf4\x69\x03\x4d\x74\x7c\xb2\x06\xa8\x07\x65\x6e\xdf\x2a\x3d\x2d\x41\x00\x42\x8a\xf3\x98\x05\x51\xf5\xf8\x95\xf0\x1e\xd7\x8d\x2e\x7c\xa7\x22\x3f\xa9\xe3\xc3\x8f\x73\xb9\xee\x9d\xd8\x5c\x5a\xde\xe5\xfb\x1b\x25\xd2\xfe\x1b\x67\x92\xf3\x74\x32\x5e\x4c\x90\x23\x3b\x4b\x9e\x30\x3e\x3b\xb2\x1f\xc3\xce\x21\x90\x93\x12\xf9\x53\x53\x49\xd5\xc7\xfc\x04\x21\x21\xaf\xd5\x07\x48\x87\x3e\xa0\x53\xd5\x14\xce\x7c\xbc\x42\xbe\xcf\xb5\xc5\xb5\x1e\x51\x4e\xaf\x08\x2c\x24\xab\x16\x2c\x4a\xef\xcb\x2c\x01\xad\x9f\x79\xf3\x61\x8e\x3e\x41\xa2\xf0\x02\xf7\x22\x54\x07\xe0\x53\xe8\x83\x4d\x9d\xcf\xd6\x0e\x4b\x96\xbe\xfe\xd1\xed\x07\x22\xc3\x49\xec\xab\x88\x9c\x2b\xa9\x3b\x3b\xa5\xd3\xbc\xe8\xa5\x5b\xef\xe9\xe1\x35\x90\xad\x2a\x5e\xe5\x9e\x31\x21\x89\xdd\x3b\x00\x6d\xc9\x2d\x2d\x3f\x77\x62\x5e\x65\x99\xa2\x43\x69\xe8\x4f\x15\x7b\xe5\x2a\x82\x9d\x03\xd9\x4e\xf8\x43\x2f\xfa\x8d\xef\x2e\x4d\x7f\xe3\x73\x27\xf8\xce\x0b\x1f\xb5\x0c\xb6\xf4\xd0\x66\x2b\x76\x9a\x53\xf8\x27\xeb\xcc\x98\x88\x0c\x81\x02\x0a\x54\xeb\x6b\x4f\xf4\x48\x8c\x4c\x96\xc4\x54\xda\x70\x52\xa4\x8f\x73\x19\x87\x23\x32\x04\x1c\x94\x59\xdf\xd6\x14\x40\xb0\x32\xbc\xe6\x81\x4e\xf7\x36\x5e\x54\x9a\xbf\x29\x75\x5b\xcc\x15\x3e\x34\x28\x6e\x23\xe3\x11\x2a\x77\x9f\xc2\xb2\x4a\x62\x9e\xd2\xdd\xff\xae\x24\xc8\xa4\x95\xd6\x46\x0f\xfa\x54\x78\x4d\x33\x04\x13\x2c\x22\x26\x0d\xf4\xdc\xb4\x79\xb6\xcf\x57\x6d\x1b\xc2\x01\x02\xc7\xc0\x81\xce\x0c\xe7\xaa\xfe\x6b\x21\x6f\xbf\x20\xaa\x84\x09\xe5\x16\xfa\x2c\x0b\x12\xcb\x92\xd2\x65\xbe\xaa\x8d\xac\x36\x99\x47\x8c\x47\x5c\x72\x5d\x55\x32\x25\xb6\xe8\x38\xcc\x57\x48\xef\x85\xe5\xb0\x0a\x43\xfd\xd9\x1c\xa2\xc4\x51\x6f\xe5\xa8\xa3\x96\x29\xb3\x9f\xc0\x2a\xe9\x5b\x7a\x62\xc3\x32\xe5\x6e\xa3\xae\xfc\xb5\xcd\xb4\xa8\x2e\x43\x4c\x3f\x9b\xdc\x67\xfa\x9f\x6c\xd3\x32\xdb\x5c\xf5\x94\x23\xa7\x2e\x57\x98\xaa\xf2\x59\x60\xe9\x1d\x1e\x57\x47\x81\xc1\x3e\x72\x38\xf4\x8e\xa6\x13\xee\x65\x31\x1b\x8a\xba\xcf\xfa\xee\x6a\xae\xc9\x42\xf3\xcd\xe3\xfd\xf3\x0d\xff\xd5\x55\x95\x98\xbf\x71\x38\xa5\x60\x7b\x1f\x6c\x5f\x64\x3c\x43\xc9\x68\x1d\x6a\xac\x68\xb0\xbb\x7c\xd1\x76\xfb\x6f\x1d\xe3\xd0\x4c\x39\xa6\xa1\xc0\xdf\xfb\x17\x67\x8a\x06\xad\xf1\xe4\x87\x84\xa8\x62\xc8\x25\xbc\x26\xb7\xb2\x68\xc8\x20\xde\x78\xc0\xd6\x4c\xa0\xad\x29\x7b\x0b\x17\x28\x66\x6f\xf6\x9b\x7f\xec\x50\x9b\x48\x19\x96\xeb\x9e\xc7\x7e\x6c\x17\x96\x93\x1d\xf1\xd8\x38\xa2\x20\x2d\x73\xea\xb4\x33\xbb\x28\x21\xcd\xdf\xdd\x43\x6b\x19\x62\xab\x85\xc3\x65\x72\x91\x0a\x41\xc7\x45\xd2\x48\xd5\xf3\xd0\x8a\x6d\xc7\x71\xb5\xd8\xa0\xcc\xae\x90\x78\x82\x19\xb6\xc0\x2b\x39\x26\x56\x9e\x1c\xcb\x48\x4c\x61\xc4\x02\xca\x0e\xb2\xf5\xe7\xe0\x6a\x4b\x23\x23\x30\x63\x95\x65\xa3\xc5\x5b\x61\x62\x68\xcd\x40\xf6\x2f\x39\xda\xf3\xe4\xf1\xdc\x4a\x79\x1c\x31\x9e\x4d\x4b\xfc\xbb\x3a\xe4\x35\x62\x9c\x6f\x4e\xbe\x4b\xc2\x54\x92\xbf\x68\x1e\x77\xda\xe7\xd8\x51\x1e\x97\xc6\x17\x7f\x09\xba\xb0\x29\xe5\x9d\x81\xdd\x28\x0a\xbd\x69\x98\xc7\xb6\x17\x26\x70\x39\x91\x9c\x90\x98\x9c\xdd\x1e\x46\xa3\x64\xf7\x49\x80\xc0\xf6\x53\xf0\x9f\x7a\xb1\xd5\xd4\xa2\xa5\xe7\x02\xd6\x75\x71\x9b\x17\x15\x67\xde\xdd\xb4\xe9\x56\x44\xd1\x5a\xf4\x26\x60\xff\x57\x9e\x3a\x3a\xed\x2a\xc2\xfe\x5e\xeb\x21\xdd\x56\xc6\x00\xff\x70\x7d\x9d\x85\x99\x9f\xf9\x61\x13\x19\x81\xe7\x95\xeb\x2c\x3f\x0c\xb7\xf0\xe7\x38\x90\xd0\x10\x16\x07\xe6\x99\x9b\xfc\x4b\x86\x9e\x5f\x95\xaf\xb5\x37\xcc\x67\xe2\x3f\x04\xd0\x72\x9b\x11\x57\x2e\x55\xe5\x5b\xd6\xe4\x1c\xc5\x63\xea\x3e\x98\xe7\x39\x29\x5c\xbe\x3c\xad\xba\xfe\xb1\x72\xc1\x2e\x2d\x95\x0f\x07\x5e\x88\x0d\xa0\x42\x74\x52\x40\xe4\xbb\xcd\x93\xc6\x66\x9d\x04\x38\xf1\x77\xf1\xd1\x05\x01\x3c\x5f\x49\xc8\xee\x82\xc0\xad\x18\x05\x61\xce\xc0\xb7\xc2\xc6\x9f\x10\x18\xcc\xa2\x04\xf8\xb3\x28\xc1\x81\x11\x43\x9b\x55\x82\x03\xdc\x2f\x29\xab\x5c\x52\xd6\x0e\x7e\xfb\xde\x1f\x82\x3f\x7e\xdb\xa8\x0a\xc3\xbf\xb7\x64\x5a\x0c\xeb\xed\xab\x5a\xdb\x95\x47\xc6\x90\x83\xde\x18\x11\x91\x80\xfb\x72\x67\xc2\x0f\xd9\xf1\xb7\x4a\x70\x5f\xfd\x22\x7d\xfb\x49\x65\xcf\xf5\x67\xa6\xac\xba\xae\xbd\xcc\x92\x16\x36\x2d\x17\x04\x47\xee\x3b\x9b\xd1\xcb\xe2\x0e\x4b\x0b\xc6\x3e\xa9\x01\x24\x6e\xdf\x1c\xde\xd6\xed\xf8\x0c\xca\x2b\xff\xb2\x4c\xc1\x5b\x80\x91\x6f\xdd\x22\xa0\x4e\x9f\x3e\xf4\x89\x8d\xf1\xb6\xaf\x65\xeb\xd0\x59\x91\x66\x1a\x82\x9b\x43\x2d\x9b\xbd\x02\x5c\x51\x7a\x84\xf4\x25\x81\xec\x73\x65\xec\x1d\x1d\x67\xb4\xa7\x83\xac\x40\x9f\xb9\x25\xed\xa9\xf0\xf3\xf9\x07\x20\x16\x49\xf3\xc5\xfe\xb6\x5e\xd8\x84\xad\xbc\xcf\xfc\x8b\xd8\xf3\xb9\x2a\xcd\xd3\xac\x88\x95\x1c\xe5\xec\x1e\x44\xe7\x80\x06\x98\x3c\x92\xad\xc3\xf5\x8a\xe5\x21\xaa\xd8\x30\xe9\x4f\x21\x0d\xf4\x77\x21\xf5\x95\x86\xa9\xde\x9e\x7b\xfb\x7f\xc1\x1b\xc0\xbc\x44\xeb\x53\x9a\xe3\xec\xd3\x72\x2e\xa0\xfa\x7e\xa7\xff\xfe\x42\xb6\x7a\xe3\xe6\x2b\x85\x1f\x42\x1a\xea\x6d\x41\xea\x2a\xf6\x2b\x79\xbd\xaf\x0b\xfb\x1d\xd9\x28\x6b\x00\xc3\xc8\x13\xf8\xf5\x77\xeb\x5f\xed\x33\x64\xdc\x1f\xde\xe2\x16\x56\xae\xbb\x79\xfe\xd4\xf9\x34\x2f\xdc\xba\xc2\xdf\x59\xad\x80\x99\x68\x73\x92\x76\x84\x7a\x4a\xde\x05\x30\xef\x61\xe1\x14\x70\x36\x1b\x37\x9f\x9a\x58\xbd\xde\x36\xa4\x9e\xaf\xc5\x09\x9e\xe9\x79\xc5\x6e\x01\xce\x6f\x15\xa3\xff\x9b\x7d\x6c\xa7\x86\x6b\x01\xf2\x83\x8e\x6e\x9e\x72\x37\x0a\x79\x79\x68\x10\xdd\x44\xa5\x62\x4b\xa5\xf4\x53\xeb\x4f\x52\x35\x70\xa5\x38\x1f\xec\xa7\x2e\x54\xac\x61\x5b\x0c\xab\x91\x59\xbb\x68\x4b\x48\x43\x4a\x5d\x63\x40\xb9\x2f\xe5\x89\x73\x01\x2d\x1d\x60\xcf\xbc\xb8\xa2\x8b\x45\xb6\x8e\x61\xa4\x47\x6b\xa6\x59\x72\x9a\x01\xca\x87\x85\x4b\x3c\xf3\x45\xc3\xc1\x08\x65\x8e\x9b\x57\xf0\x56\x03\x90\x52\x50\xad\x85\xfc\x74\xac\x47\x2b\x24\xef\x8d\xd0\xb4\xf7\x20\xb4\x8a\xf1\xe5\x52\xb0\x93\x62\xa0\xcd\xcd\x87\x1e\x50\xe0\xc7\x54\x45\x5b\x6a\xd2\x85\x8f\x0d\xde\x0e\xf4\xe8\xbd\x10\x18\x2a\xb1\x85\xb5\x4e\x55\xb6\xa6\x5a\x9a\xf2\x7b\x01\xa6\x56\x3c\xca\xd5\xf7\x8e\xf4\xb6\x0c\xad\x1c\x51\xf1\xe6\xca\xfe\xe0\xad\xd8\x77\xfc\x2a\x93\x3f\x9b\xd3\x83\x37\x4e\xea\x95\x0c\x73\xfb\x4f\xa3\x82\x14\x09\x6a\x93\x24\x80\x30\x60\xdb\xb1\xfb\xc1\x97\x2f\x1c\x0e\x91\x4e\x9c\x4b\x1d\x9f\x5d\xcf\xab\x92\x5d\x0d\x69\x5a\x3f\x3b\x1a\x3a\x77\x88\x81\xd9\xfe\x1f\x3c\x82\xc6\xf4\x87\xa7\xf5\xd3\xfa\x37\xd2\x86\xc3\xd2\x87\x95\x1f\xbc\xdf\xa6\xb4\xd9\xa8\x1f\x6e\x56\xee\x77\x6c\xe7\x7d\x44\xc5\xc9\x41\x84\x25\xfc\x79\x76\x8f\x98\x04\x88\x2b\x84\x77\x24\x2c\xc6\xc8\x58\x6c\x1b\x0f\x3e\xdd\x2f\x6a\xfd\x1d\x31\xc3\x27\x0f\x24\x59\xa7\x10\x46\x9d\x97\x0f\xf5\x5c\xfc\x83\x28\x08\xfd\xf8\xc8\x41\xd0\x83\xea\x5d\x78\xef\xc1\x69\xf1\x5a\x6b\x90\xb0\xe3\x24\x35\xa0\xec\x05\x55\xdc\x88\x88\x3f\x03\x5a\xaa\xb5\x4e\xfe\x03\x3a\x35\xdc\x5a\xbf\xbf\x01\x02\x43\xe6\x05\x27\x5a\xea\xdc\xa4\xca\x7d\x1f\x14\x77\xa1\xa7\xda\x7e\x48\x45\xe3\xde\x01\xad\x56\x4e\x27\xf3\x4f\x3a\xa9\x52\xc5\xfd\x18\xa8\x7c\x4a\x25\xac\x12\x14\xd8\xa1\x18\x02\xcc\xd4\x43\x2e\x5e\xe0\xb9\xc7\xda\x8e\xe5\x60\xcb\xda\x67\xcd\x90\x28\x33\x21\xb6\x8f\x61\x0d\x8c\x5b\x30\xc9\x98\x0e\x10\xc2\xbb\x00\x23\xa0\xa8\x63\x5d\x6a\xa1\xdb\x1b\x29\x98\x81\x60\x12\x1b\xef\xd2\x72\x73\x4a\x21\xa5\x2a\x6a\xb6\x05\x12\x13\x63\xf5\x08\x66\x60\x14\x94\xbd\x6f\xcb\x2b\xe6\x0d\xae\xef\xed\x1d\x19\x19\x1b\x3b\x6d\x78\xa8\xbc\xb8\x78\xff\x81\x20\xb5\x1c\x32\x3c\x73\xc6\x15\x35\xd5\xfa\x8e\x40\x83\x48\x54\xc2\x7d\x89\xaf\x5e\x8d\xe0\x50\x81\xc8\x3a\x15\x75\x7b\xfd\x1e\xac\x50\x27\xb5\xd7\xed\xd9\xf8\x2f\xb5\xba\xad\x3e\x3d\x0d\x7d\x08\x4a\x4b\x6f\xab\x9b\x95\x19\x0d\x61\x0a\xe5\xa9\xea\x58\x4e\xe6\xba\x2d\xe1\x04\xbe\x4b\xba\x03\x3b\x14\x78\x4c\x40\x40\x1d\xc1\xb6\x89\x94\x61\x1d\x8b\xf0\x2c\x04\xe2\x89\xc8\x11\xa8\xaa\xcc\x75\x5d\x1d\xcf\xba\xa9\x9d\x55\x2c\x59\xf6\x3b\x49\xed\x61\xd8\xcb\xaf\xac\x25\x16\x79\xcb\xc2\x5c\x09\x88\x1c\xc0\x23\xb9\x32\x22\xa0\x64\xb9\xc1\x11\x89\x61\x45\xde\xb5\x3e\x50\x95\x7e\xaf\x3f\x6e\xc5\xa0\x76\x5d\x77\x5a\xc4\xef\xcc\x59\xd7\xac\x02\xce\xef\x8e\xb1\xb0\xf0\x80\xb7\x61\x29\x88\xe6\xde\x33\x9d\x33\x74\x32\xd0\xf1\xe3\xef\x0f\xf7\xad\x54\xfe\xfd\xdb\xb7\x4d\x4e\xef\xf8\x36\x3d\xed\x9c\x3f\x43\xdd\xb9\xd3\xde\x90\x81\x07\x64\xff\x7d\x31\xf0\x19\x79\x22\x39\xf5\x67\x56\xe0\x15\x0e\xca\xcb\x9a\x21\x5a\x31\x03\xb1\x71\x7a\x26\xdf\x57\xba\xb1\x77\x95\x8d\x2d\x66\xa3\x52\x9c\x08\x84\x43\x7c\x4b\x0f\xc2\x3e\x1d\x0e\xc1\xfe\xa8\x27\xdf\x63\x77\x00\x41\x3f\x60\x36\x24\x2c\xd8\x7c\x43\xc3\x6b\xd9\x9d\xed\xe4\x30\xe9\x2d\x3e\x5c\xf7\x23\xa8\xcb\xbd\xc8\xf7\xc2\xd5\xef\x9f\xf4\x35\x4b\x1c\xef\xb0\x4c\x69\xd2\x54\x6f\x6d\xf1\xcc\x5c\x5b\xda\xa9\x4e\x4a\x58\x75\x8e\x7d\xea\x95\xb5\x07\xdb\xa1\x18\x92\x78\xfd\xc6\xc3\x5b\x40\x34\xab\x75\xab\x09\xab\x67\x86\xf7\xf7\xf2\xfb\xa1\x00\xe2\x40\xc0\x1d\x8b\xfc\x2b\xfa\x22\x80\x05\x93\x52\x2e\x13\x41\x53\x90\x54\x9b\x2b\xae\x07\x38\x53\x07\x80\x99\xb1\x33\x72\x0a\x50\x2c\x71\xdd\x95\x56\x5e\x84\x66\x05\xba\x00\xdd\xd3\x62\x99\xf6\xda\x9d\x5d\x64\x7c\x6b\xb0\x0a\x1a\x78\x74\x51\x0b\xdc\xc3\xa4\x3d\xa2\x13\x3a\xe2\x08\x04\x71\x43\x2f\xd1\xbe\xdf\x4b\xfa\x36\xe4\x39\x40\xce\x11\xcc\xa6\xb4\xff\x38\xdb\x83\x8d\x29\xaf\xe3\x36\x06\x6d\xd5\x6b\x8f\xcf\x8b\x1f\x85\x12\x7a\x7b\x89\x76\xfd\xb5\xb5\xc5\x43\x12\x0b\xeb\xed\x47\x13\xad\xfa\x1f\xd6\x76\xdb\xcc\xa0\x64\xf8\xbc\x85\x0d\x6c\x43\x11\x88\xc8\x87\xe7\x60\x97\x68\x16\x96\x95\x72\x80\xb1\xa4\xae\xfc\x00\x2e\xba\x53\xa7\x1e\x46\xdb\x6d\xee\xd8\xa5\x3e\x32\xed\x91\x88\xba\x95\x6e\xfc\x99\x5c\x8f\x79\x0a\x96\xbc\xd9\x33\xc3\x6b\xd8\x1a\x90\x34\x33\x62\x91\x3f\xef\x82\xec\x73\xcd\x4e\x6a\x97\x86\xe4\xe9\x87\xfa\x54\x85\x88\x12\x99\xe6\x25\xd2\x61\xbf\x29\xb4\xf9\xf6\x32\x9f\x10\xb2\x7d\x1e\x37\x0a\xfd\xba\xea\x20\x49\x94\x9d\xec\x0a\x7d\x41\x36\x6d\x85\x22\x6f\x27\x82\x69\x4c\x49\x8c\x1d\x9e\x49\x0f\x35\xf9\xbc\x79\xe0\x97\xe3\x3f\x00\x81\x84\x87\x81\x7c\xaf\xd6\x55\x65\x2d\x87\xd2\xa2\xcc\x68\x62\xeb\xe7\x3d\xcf\xaa\x06\x13\xdb\xb1\x5f\xd2\x02\x2a\x27\x80\x7b\x9d\x88\x10\x68\x9d\x1e\x33\x72\xbc\xea\xd0\x07\xb3\x79\x22\x3a\x96\x55\x40\x3e\xe7\x71\xc2\xdb\x7c\x4a\xd9\xff\x21\xec\xf9\xb5\x80\x95\xf6\xd7\x8e\xba\xef\x98\xed\xa7\xb4\x37\x32\x10\x5a\xce\x9d\xbc\xcd\x09\x5d\x82\x70\x1f\x1b\x25\x7d\x05\x8e\x19\x80\x2c\x72\x09\xe4\x54\x0f\x83\x96\xe5\xc4\x81\x65\xb3\x75\xda\x31\x27\x74\x0e\x84\xcc\x96\x58\xfb\x6d\xe4\xd9\xa9\x58\x24\x3a\x44\x6c\x3e\x80\x4f\xc5\xf2\xea\xea\x05\x1e\xf3\xfe\xed\x85\x4b\x58\x1d\x5b\x92\x3b\xb6\xf4\xe1\x84\x34\x45\xcb\x68\x21\xc8\x42\x41\xad\xcb\xdf\x6a\x17\xaf\x13\x5a\xc9\x3c\x7c\x3a\x66\xb1\x1b\xa1\xa2\x03\xac\x5e\x03\x8b\x4f\x9b\xef\x68\x35\xad\x80\x01\x61\x95\x20\xf5\xf0\xfc\x80\x84\xaf\xf9\x4b\xb2\x93\xa9\xbd\xe5\x84\x75\x1b\x90\x85\x9d\xa4\x2f\x62\x03\x7a\xac\x74\x9a\x80\x77\x7e\x9b\x38\x69\x24\xf9\xa8\x6f\x6f\xa3\xef\x74\xb2\x5e\x04\x33\x51\x3f\x72\xd5\xed\x4c\xcb\x8a\xcb\x66\xac\xf7\x6f\xcb\xcd\x08\x49\x0f\x6e\xcf\xf5\x48\xd8\x15\x99\xcd\x1d\x69\xd9\x71\x55\x67\x67\xea\x8d\xe5\x29\xd3\x87\xa6\x14\x69\x1e\xf5\x2d\x1a\x61\xab\xfd\x75\x69\xcc\xcb\x34\x2c\x61\x7b\x9e\x20\x6e\xbe\x59\x24\xb0\xb8\x9b\xf9\x48\xed\x6b\x4a\x19\x63\xd4\xce\x4a\x08\x01\x38\x40\x89\x74\x31\x41\x92\x79\x8f\xea\xfb\xa5\x38\xa3\x52\x51\xce\x29\x28\xe7\x0d\xc1\x71\x72\xfe\x3c\xb5\xc2\xe9\xab\x27\x54\xc4\xff\x94\x32\x51\x55\x45\xbe\xf3\x54\x88\xa8\x87\x14\xbf\x17\xa2\x0c\xd4\xab\x0a\x9e\xe9\xd2\x2a\x44\x3c\x21\x04\x94\x12\xe2\xa5\x98\x60\xf2\x94\xab\x05\xb9\x5d\x92\x30\x5e\xdf\xa2\x2b\x3d\xc7\xab\xf5\xaa\x49\x7c\x09\x5e\xbe\x12\x4f\xfd\x61\x78\xa3\xbb\x27\x97\xe3\x89\x44\xd0\x54\x53\x12\x52\x3c\x3d\x9e\x4f\x2b\x12\x5f\x2e\xc5\xcb\xe3\xa8\x8a\xb1\x07\xa3\x08\xb8\xbb\x64\xf5\x97\x27\xf2\xe5\x09\x74\x6c\xfc\x39\x89\xba\xa7\x65\x35\xa6\xe4\x2c\xc6\x99\x12\x4f\x76\x27\x07\x7a\x05\x7a\xb8\x7b\xc4\x53\xc2\x5d\xf2\x17\xaa\xa6\x78\xe3\x0b\xbd\x08\xaa\xdb\x6a\x0a\x44\x5d\x81\x1d\xc3\xa2\x4b\x71\x6f\x22\x0a\xa9\x8f\xa7\x4d\x7e\xab\x10\x13\x8a\xfe\x37\xf7\xf0\xbb\x2a\x00\x35\xd7\xaf\x08\xe5\xfc\xed\x16\x53\x85\x70\xb9\x45\x8d\xcb\xf1\x42\x3e\x57\x56\x2d\x4a\x28\xf2\xf4\xb8\x59\x57\x5a\x7e\x5d\xcf\x5e\xd5\x05\xcc\x6f\x1f\x50\xe5\x36\x7b\x0a\x9e\x5b\xa5\xc4\xe9\x3d\x3c\x6f\x7a\x11\x51\x0f\x25\x1e\xaf\xc1\x08\x67\x84\x66\x78\x0b\x19\xf7\x10\x8f\x07\x3e\x92\x05\xf2\x00\xdf\xca\xa4\xc3\x05\xc6\x94\xda\x97\x8b\xf2\x89\x3e\xfa\xa2\x19\xf9\x82\x1d\xe1\x21\xc1\xfe\x88\x43\x05\xb0\x2f\xe1\x39\x17\xa0\x99\x86\x6b\x79\xee\x79\x99\x72\xad\x4c\x2b\x3e\x3b\xa3\x9a\xca\x92\xb1\x98\xaf\xb5\x5b\xe3\x2f\xf0\xb1\xf8\x09\x05\xcf\x66\xf7\x6e\xeb\x90\x03\xda\x3e\xd1\x4f\x3c\x0b\x83\x31\xe8\x23\x14\x72\xc9\xca\x79\x17\xea\x77\x85\x00\x19\x37\x30\x22\x01\xa2\x90\x13\xd8\x61\xc1\x1a\x59\x4d\x80\xb8\x30\x7f\x49\x62\xbe\x38\x48\x5e\x2d\x72\xe4\x69\xad\x0d\x61\x0c\x05\x9b\xde\xb4\x42\x8c\xe2\x90\x00\x37\x91\x4e\x39\xb3\x21\xb5\xf8\x67\x49\x20\x32\xeb\x83\x04\x69\x4f\x42\x1f\xb9\xac\x0b\xba\x2a\x7b\xc8\xaa\x21\xbd\x26\xba\x46\xdc\x10\x73\xa8\xc1\x53\xa1\x9f\xef\xe1\xe8\x6d\x74\xd3\x2a\x56\xc6\xea\x91\x63\x68\x7c\xb5\x92\xca\xa2\x8c\x26\x10\x45\x3d\xa3\xad\x45\x04\x96\x2b\x82\xd3\x42\x4a\xa0\x26\x51\x22\x2f\x71\xc2\x64\x91\xe5\x22\x8b\x38\x59\x6e\xd9\xfd\xa3\xb6\x84\x80\x24\x9e\x3a\x10\xef\xef\x19\xa4\x8a\x57\x06\xbb\x7c\x0e\xa6\x38\x9d\x8b\x9a\x61\xc1\x25\x09\xe3\x46\x8e\x82\xe5\xa8\xeb\xd6\xee\x7e\xbd\x5c\xd7\xda\xd8\xea\x5c\xe3\x20\xca\x04\xb0\x05\x81\x07\x3d\x0f\xf6\xe9\xa1\x77\xc0\x8e\x16\xe5\xb8\x99\xe4\x22\xaa\xe4\x69\xaa\x34\xe0\xc8\x7d\x42\x95\xa9\x57\x33\x99\xdf\xac\xee\xe3\xee\x5b\x6f\x34\x59\x66\xb9\xcc\x22\x8b\x1d\xfe\xd2\xd2\x33\x31\x03\x44\x7f\x6f\xda\x94\xbd\xc0\x72\xc1\x5d\x43\x83\xaa\x84\x70\xcf\xbc\x41\x79\x6c\xb0\xa2\x6b\xc9\x37\x53\x20\x4c\xae\xcd\x6a\xc1\xaa\x0d\xf5\x40\xd9\x3e\xfd\xf9\x73\xfa\x25\xff\xf1\xea\x30\xdb\x29\x75\x11\xb5\x41\xba\x20\xdd\x39\xfd\x88\x2d\x5e\x7b\x1a\x23\x78\xf8\x2f\xa1\xde\xa6\x4c\x5b\x16\x60\xe2\x30\x2f\xad\x96\x28\x89\xdc\x3f\xc2\xa8\x59\xcd\x29\x86\xd8\x9b\x61\x0a\x8c\x77\x49\x7b\xe2\xad\x64\xcd\x64\x43\x08\x31\xaf\x95\xb6\xd9\xdd\xf8\xed\xda\x90\xda\x47\xf0\x8c\x64\x85\x12\x6a\x89\xbc\x3c\x96\xe3\x80\xf1\x1a\xf2\xa4\x52\xaf\xeb\x30\xf0\x2a\x65\x59\x43\xb1\x4e\x73\x49\x28\x7e\x2e\xe4\xb8\x11\x44\x3c\x81\x9f\x6f\x75\x0f\x77\xcf\xaa\x2f\xdb\x9f\x45\x50\x9b\x71\x02\xdc\xf7\x7b\x82\x0b\xdb\x63\xdb\x89\x58\x24\x36\x02\xe3\xe2\xeb\x1f\x13\xd0\x69\xdd\xe0\x8b\x45\x06\x00\xf3\xec\xf7\x98\x82\x3c\xa8\x2d\xb6\x8d\x80\xb5\x6f\xe5\x6d\x70\xef\x56\xf3\x17\x05\x74\x58\xd7\xfb\x62\xd1\x4b\xbd\xcd\xbb\xf9\x0e\x91\xa5\x17\x2f\xd5\x6d\x6a\x68\xf5\xe8\xa8\x6f\xa9\xe7\x32\x2c\x3b\x57\x9e\xcc\x81\xcc\x78\xbf\x49\x96\x67\xc6\xad\xd8\x8c\x39\x30\x73\xd9\xf4\x51\xf0\xa6\x4e\x13\x4f\xf2\x0c\xf7\x20\xa1\x48\x1e\x50\x04\xb2\x31\xe8\x98\xfe\x27\xbc\x01\x67\x4b\xa4\x2c\x2d\xc8\xde\xcc\x22\xf8\x7a\x32\xf1\xf3\xd7\x98\xda\x6d\xa5\xb4\x84\x71\x12\x0a\x5a\x89\x28\x45\x7a\x92\x51\x4e\x65\x96\x73\x44\xa4\x12\x11\x1c\xab\xa3\x3d\xd5\x86\x3b\xec\x07\x2c\x63\xab\x50\x98\x5f\x22\x62\x70\x79\xb1\x1e\x07\x49\x0c\x6b\x3c\xc6\x89\x74\x92\x2c\x5f\x82\xf0\x42\xa5\xa6\x8e\xea\x2d\xf7\x71\x92\x98\x97\x20\xa0\xec\xdc\x90\x2e\x98\x5f\xb6\x15\x06\xd3\xd6\xff\xaf\x68\x8b\x22\x7b\xd8\x18\xf9\x67\xf2\x47\xdb\x11\x6a\xae\xdd\xe7\x14\xe1\x79\x10\x06\xe1\xc2\x15\xad\x87\x3b\x21\x58\x8c\x3b\x8a\xc6\x1b\x83\xfc\x16\x43\x0a\x48\xa8\x92\x2a\x67\xf6\x72\x2d\x90\xfe\x3b\x32\x49\x3b\xb2\x81\xf0\x64\xe3\xfa\x54\x92\xd7\x58\xea\xc4\x25\x12\x5c\xdd\x66\x17\x54\xac\xf7\x07\x95\x9b\xc7\x9a\x52\x73\xa0\xdf\x6d\xf9\x10\xc7\x2d\xee\x2f\x2c\x8e\x1d\xcb\xc2\x3b\x55\xb0\xbd\x55\xb2\xdb\xdf\xf9\xb1\x10\xc4\x76\x2d\x7b\x85\xa7\x93\x3d\x95\x6e\x4f\x09\x39\x82\x00\x9d\xf2\x6b\x80\x1f\x11\x55\xae\xeb\x95\x90\x9d\xaa\xee\xe2\x93\x12\x1e\x04\xee\x8b\x12\xe1\xff\x28\xfa\x6e\x17\x64\x7a\xb6\x49\x69\xfe\x13\x0c\xfe\xc3\x50\x5f\xed\xad\x0d\xa6\x6b\xad\x90\x61\x8a\x15\xb7\x36\x64\x3e\x2a\x3b\x9f\xef\x02\x09\xda\xbb\xeb\x7b\x95\x56\xda\xe0\xd5\xfe\x71\xd0\xcd\x53\x82\x07\xfd\x1b\xea\x87\x02\x5b\x98\x42\xee\x4f\xef\x6c\x5d\x79\x57\x9e\xe9\x4d\x52\x5a\xc1\x24\x2e\xa9\xdd\x25\x98\x92\x9b\xf8\xaf\xa7\x71\x6a\x22\xb6\xcc\x99\xb1\xdd\x2e\xef\xdd\x39\x2a\xed\xb7\xab\xa7\x07\x14\xab\x9d\x48\x2a\xee\x3a\x9c\x48\xa8\xc9\x66\x63\xa1\x45\x70\xdf\xe6\x52\xb5\x96\x6f\xa5\xbe\xb9\x51\x23\x22\x68\xd5\xe2\x74\x4c\xc2\xc9\x5c\x97\x56\x97\x09\xb0\xa8\xc1\x4f\x66\xf5\xda\xe2\xda\xcf\xc0\x94\x7d\x05\x3d\x51\x5d\xaf\x9a\x4c\xbd\xa5\xf1\xbe\x48\xaf\x97\x7c\x9b\x3c\x6c\xe7\x98\x25\x8a\xcb\x43\xd3\x36\x07\x68\xff\x25\x60\x74\x34\xa8\x35\x7b\xdb\x29\xcf\x44\xbc\x17\x24\xef\x43\x9d\x82\xbd\x57\x32\x4d\x85\xb2\xea\xa0\x46\x97\x98\xcb\x44\x85\xab\x97\x70\x8e\x97\x98\xfe\x56\x49\x34\x65\x40\x94\x20\xb4\x0c\x89\xac\x47\x22\xf9\xc1\x9d\xc6\xc2\x05\x53\xb3\x5d\x7d\xb3\xa7\xdb\x85\xf3\x8d\x82\xf8\x96\x4d\xc8\x62\xe4\x46\xdc\x29\xbd\x4b\x74\xdd\xb8\xcf\x7f\x95\x1a\x9a\xb2\x99\x4d\x71\x39\x25\x71\x1b\x63\x2b\x8f\x8f\xa2\x39\xba\xb1\xba\xc0\x73\x66\xf8\x0a\xd1\xb6\xb2\x9c\xf9\xa6\x62\x18\x92\x21\x13\xf3\x74\x8a\x4f\x65\xad\x0d\xc9\x5e\x37\x75\x7c\xcf\x50\xad\xdc\xe3\x81\xfa\x90\x5e\x67\x2d\x6a\x12\xd1\x8a\x28\x42\x94\x09\x71\x0d\x05\x02\x37\xff\x7e\xc6\xd4\xc6\x10\x3f\x56\x5c\x78\x5d\xa2\x6f\x46\x86\x6f\x67\x26\x9e\x77\x35\x4f\xa7\xd6\x6f\xeb\x2c\x33\x95\xdb\xaa\x6c\x4c\x54\xfd\x9f\xd6\xc3\xb5\xdc\x19\x86\x4e\x6e\x05\xf9\x55\x60\x7a\xa7\x5c\x54\xe4\xec\xc3\xe4\x64\x1a\x91\xad\x53\xf4\xe9\xe9\x5c\xfa\xaf\x6b\xc6\xde\xfb\x2b\x5d\x28\x50\x58\x9c\xd1\xf1\x98\xf4\x78\x25\x32\x8a\xba\x5f\xca\xe5\x9e\x98\xe7\x32\x67\x40\xfe\x45\xc0\x9f\x97\xc9\x67\x86\xa4\x48\x6a\xbb\xcb\x74\xe9\x4d\xed\xfb\x0e\x89\x4d\x11\xea\x36\xf6\x46\x4e\xbe\x0d\xdb\x63\x5e\xba\xca\x05\xf0\xd9\xb2\xbc\xed\xad\xf2\x63\x91\xd5\xeb\xac\x7f\x2d\x4a\xe0\x44\xd4\x5f\xc7\x05\x2e\x2b\xf1\xa1\x4c\x51\x6c\x81\x4f\x91\x03\x08\xc2\x64\xe5\x00\x60\x75\x93\xbb\xa7\x1f\xbc\x3b\xa9\xe1\xd6\xa6\x55\xfd\x62\xed\x68\x98\x2b\xe8\x11\x7d\x4f\x90\x5d\xe6\xe6\xb3\xf1\xee\xc1\xf0\x13\x0e\xda\x89\xc3\xb5\x21\xcc\x19\x7f\x62\x68\x98\x09\xc5\xfc\xe2\x1f\xd3\x06\x12\x8e\xc7\x79\x32\x2f\xf6\x24\x7d\x2d\x34\x03\xbe\xad\x90\x2d\x02\x81\xf7\x12\xa8\xa2\xdb\x1c\x7d\x96\xe0\x19\x7c\x90\x7e\x5c\xc7\xcf\x2f\x6d\xe9\xda\x88\xcf\xb1\xc0\x04\x20\x5e\x84\x24\x32\x03\x9e\xcd\x94\xe2\x35\x23\xdc\xe7\xbe\xc0\x5c\x0f\x81\x50\x5c\x82\x6b\x58\xb3\xb4\x0e\x8c\xbf\x74\x78\x4d\xac\x29\xc6\x95\x14\x4f\x6c\x06\xc0\x29\x5e\xf8\x56\x39\x66\x2b\xfb\x14\x74\x73\x8d\x6a\xbc\x11\xda\xc8\xcb\x97\x23\x23\xf3\xf3\xae\xc2\x81\x78\xf5\xea\xd5\x3f\x67\xe1\x42\x1b\xe5\xff\x98\x50\x7c\xc1\x43\x76\x0d\xde\xb6\xb1\x13\x71\xd3\x3f\x2f\xb9\x26\xed\xb5\xd5\xfb\xca\xe8\x92\xec\x08\x79\x74\xbb\x67\x22\xb9\x67\x27\x5d\x11\xab\x4f\x49\x69\xf0\x57\xe9\x76\x64\x15\xec\x16\x8d\x2f\xbf\x1f\x9a\xf6\xcd\x6e\xdf\x10\xb0\xf2\xf1\x29\xd0\xf9\x30\xa4\xfb\xeb\x50\x23\x58\x32\x3f\xf9\x42\xc7\x86\xb3\x11\xa9\x29\x8b\x35\x0b\xe3\x93\x73\x62\xf2\x62\x7b\x74\xaa\x63\x86\x7a\x63\xce\x37\xfb\x55\xeb\x14\x41\x19\x1f\xfd\xd4\x92\x31\x29\x21\xa2\xd8\x28\xbd\x8d\x93\x91\x53\xf9\xce\xf1\x2c\x84\x17\x34\x90\xf2\x1f\xe4\x48\xf8\x43\x8e\x24\x6e\x70\x3f\x24\xc1\x3d\x82\xc7\x02\x69\x5b\x9e\xee\x7e\xc5\xd7\x89\xab\x9d\x0f\xb5\xa3\xc1\x59\x58\x96\x85\x03\xc4\x41\x23\x93\x5f\x30\x82\x16\x92\xa8\x8a\x96\x6a\x85\x25\x1d\x17\x23\x4a\xc9\xf3\x38\x5f\xa5\xbc\x99\x66\x2e\xe7\xef\xc4\xc8\xe1\x2d\xce\x8a\x5e\xc6\x2e\xe0\xd6\x27\x0a\x8c\x64\x75\xc1\xfe\xec\xe2\x83\xd0\x78\x08\x2c\x3d\x72\xff\xee\x9c\xb2\x23\x91\x65\xb1\x93\xb6\xa5\x81\xf2\x2a\x41\x5a\xcd\xca\xdd\x85\xc5\x13\x5b\x53\x2a\x6b\x0c\xa1\xf5\xb5\xc4\xec\xb4\x80\xf4\xe8\x48\x4e\xbd\x04\x17\x54\xb2\xb2\x25\xf9\x45\x9d\x84\x1d\x95\x16\xf9\x76\x8c\x41\x82\xe6\xc8\x63\x8a\x52\xdf\x59\x94\x36\x80\xe2\x00\x64\xeb\xcc\xbb\xab\x59\xdc\xb2\x01\xa5\x00\x1b\x14\x87\x0e\x02\xfc\xf4\xca\xef\x81\x1f\x8a\x8d\x47\x26\x07\xff\x19\x63\x03\x88\x3c\xe3\xf4\x6f\x9e\x97\x90\x26\xe2\x6c\xf3\x77\x75\x8c\xbd\x3f\x4c\x48\x5a\x94\xb3\x94\x6e\x9c\x8d\xab\x4d\x29\x44\x2f\xf3\x55\x9c\x71\xd6\xb2\x3b\xbf\x1b\xf6\xbc\x3b\xea\x0f\x05\x0d\x8f\xec\x8f\x8c\xee\x0c\xbc\xc6\xf6\x67\x1e\x8d\xb7\xb3\x11\x9b\xb8\xdd\x29\x01\xca\xd1\xdd\xa2\xaa\x9f\xa5\x8c\xff\xb9\xb7\x79\x0e\x77\x7c\x5e\x7e\x64\xdf\x6c\x03\xaf\x16\x26\xc9\xbe\x40\xe3\xe3\xc1\x53\x0a\x08\xfd\x6c\xd6\x87\x07\x17\x1c\x06\xc6\xce\x8d\x72\xb8\x53\x1e\xef\x5a\x1e\xb6\x2e\x62\x7e\x88\xeb\x0a\xc5\x10\x7e\x8e\x94\x65\x79\xf9\x79\x65\xbd\xe2\xbf\xc5\x66\xfa\x1f\x69\xfd\xb6\x89\x08\x53\x07\xdf\xd5\xc0\xd4\x91\x44\x54\xba\x95\x17\x9e\x95\x95\x4d\x15\xe2\x18\xc9\x00\x81\x4f\x25\xe5\x2c\x25\x11\x64\x2c\x7f\xee\x4c\xf4\x3d\xce\x42\xfd\xa9\x2d\x83\x82\x31\xea\x3b\x2c\x82\x8f\x7b\xea\x7d\x17\x84\x2c\xd2\x9c\xdc\x3d\xad\xbf\x73\x8f\xde\x6e\x8c\x89\x3d\xc7\xba\x4f\x49\x3b\xf6\x24\x7f\xaa\xee\xd2\x70\xf2\xed\xc2\x27\x69\x26\x6b\x8c\x1f\xdc\x37\xae\xd9\xfa\xbd\x47\x2e\xee\xf6\xb1\x12\xe6\xfd\x8d\xba\x0f\xdd\xf6\xcd\x74\xf4\x00\x14\x30\xea\x1b\x72\x05\xb5\xe8\x0d\x27\x1d\xad\xfc\x62\x5c\x39\x83\xaa\x72\x7f\x91\xdb\xee\x0d\x6c\x67\x6a\x4f\xdc\xda\x2d\x72\x0c\xdc\xfe\x92\x6c\xf1\x03\x63\x12\xc5\xec\x8b\xc3\x37\x69\x63\x6d\x2b\xd3\x21\x15\xab\x44\x97\x5d\xd5\xf4\x89\xce\x61\x31\x3d\xd1\xa4\x35\x71\x81\x8b\x6c\x06\x7f\x8e\x0f\xad\x0e\x6c\xef\xdb\x06\xd5\xa3\xa3\x25\x11\x95\x91\xb4\x1a\xd2\x91\xfd\x6a\xc4\x09\x47\xf7\x64\x54\x0a\xc2\x0f\x76\x02\x2f\xa3\xf4\xf9\x09\xf5\x88\x23\xf6\xec\x8f\x1f\xa9\xbd\x4e\xde\xbe\xd5\x5e\xc1\x0c\x78\x93\x9c\xec\x42\xae\x3a\xc6\xc1\xdc\x57\x18\xa9\xda\xbc\xc9\x8f\x08\x98\x1b\xa4\x45\xd1\x76\x52\x34\x71\xcf\x03\x55\x3d\x7a\x6a\x55\x64\x41\x52\x4b\x16\xd6\x5d\xe4\x95\xd0\xd4\x14\xef\xb9\x68\x6c\x21\xd5\x57\x99\x9f\xd8\x75\x42\xe8\xeb\xa2\x0d\x6d\x0f\x28\x63\x0f\xda\xe7\x27\x0a\x48\x02\x65\x8e\xa8\x74\xed\xdc\x15\x6f\x7b\x52\x96\x7d\x24\x6f\x45\x14\x62\xfb\xb1\x3f\x99\xc3\xd9\x15\x81\xcb\xac\xee\xa3\x41\xa1\x0f\x79\x15\xb3\x66\xdb\xfe\x9a\xb1\x43\x2f\xce\x9f\x9c\x7b\xdd\xd6\xb3\x75\x37\x7a\xe4\x92\x8f\x1d\x8f\x1a\x93\xd0\x58\x47\xb6\x76\xa1\xb2\xd5\xfe\xda\xdb\x2d\x57\x3e\xbf\xb9\xad\x5f\x7e\x99\x6b\xcf\xa3\x94\xc8\xf1\x8f\x88\x94\x94\xee\xbf\xaa\x76\xee\x72\xc8\x9b\x69\x82\x26\x21\xaf\x2a\x29\x81\xb3\x08\x1d\x72\x49\xf5\xec\xd2\x62\x40\xe5\xec\xaa\x96\x25\x4d\x35\xd0\x9d\x73\x93\x21\x4e\x9b\xbd\xeb\x3d\xd5\x33\x68\xc4\x25\x60\x81\x1d\x55\x33\x06\xb2\x8e\x8f\xf5\x79\x56\x7c\x0c\x8e\x8d\xe4\x70\x88\x0f\x08\xd3\x6b\x2c\x36\xae\xd6\xd5\xad\x8a\x5d\x2b\x7b\x13\xf6\xf4\xc6\x45\xce\x97\x5c\xc0\x13\xd4\x5e\xd9\xd3\x04\xca\xd6\x03\x79\x6e\xdb\x94\x2e\x2a\x1d\x51\x7a\x95\x4d\x4f\xb3\xf3\xd5\xbf\xff\xe9\x10\x44\xef\x11\xee\xdd\x27\xec\x54\x95\xff\x53\x5c\xa2\x30\x98\x57\x55\x27\x35\xfb\x94\xbe\x3a\x99\x23\xe1\x68\xce\x85\x41\x15\x25\xca\x45\x5a\xb7\xca\x9c\x35\x62\xb5\xd2\x9c\xab\x14\x36\x4d\x2e\xfb\x5e\x71\xe7\xd5\xed\xd3\xb6\xda\x58\xd7\xdb\x28\x92\xa6\x02\x31\x85\xa7\xd8\x5d\x6c\x87\xee\xd4\x28\x34\x17\x1c\xa2\xa7\x41\xd4\xe6\x98\xe2\x8d\xd2\xa2\xed\xdb\x8b\xc0\xc2\x02\x13\xad\x56\x58\x6b\x76\x29\x5e\xdb\x9a\xdc\x6e\x36\xe3\xab\x65\xa5\x08\x51\xa2\x7e\xee\x80\x71\x60\xeb\x61\x34\x45\xa4\x9b\x95\xad\xd4\xdb\x6c\x11\xd9\x5a\x7b\x21\x9e\xb3\xce\xde\x65\xa7\xd9\xb9\x10\x08\x0c\xc2\x52\xbb\x96\x66\x6d\xa5\x84\x77\xc5\xa1\x17\x7c\xb5\xf8\xda\x4e\xf6\x77\x00\x64\x61\x7b\x25\x51\xf4\x09\x63\x9f\x79\xd8\xd1\x67\x91\xfd\x52\xb3\x9e\xa0\x9c\xc5\x41\x39\x7a\xef\xa0\x58\xb5\x07\x42\x4e\x9e\x7c\x35\xf9\xd9\x91\xb3\x11\x87\x4f\x9c\xfb\x34\x39\x5f\x77\xec\x9c\xce\x39\xa5\xb5\x90\xa0\xaf\xbb\x10\x1c\x2e\x07\x99\xe8\xe5\xa2\xff\x66\xed\x6f\xfa\xb1\x28\xfb\x1b\x44\xdf\xe6\x99\x5c\x13\x03\x1c\x45\x50\x6c\x9d\x9c\x7e\x8b\x50\xbc\x84\xcb\xa2\x41\xab\x27\xa5\xf7\xc7\x8f\x6d\x9d\xb2\xa4\xc3\x20\x10\x7c\xc5\xd6\x29\xcc\x5d\xcb\x8d\x83\xda\x31\x8f\xdf\x3c\x7c\x60\x29\x7b\xd9\xed\xf8\x79\x3f\xcb\x4a\x3b\x7c\xc6\x93\xe5\x15\x3d\xed\xd8\xc8\x04\x7f\x4a\x37\xb6\xb1\x4d\xe5\xe5\xfd\x4d\x41\xbe\xbd\xef\x7e\x77\x65\xfb\x82\xa4\x8d\x48\xf8\xad\x62\x5e\xcd\xbe\x2b\xe6\xce\x34\xd8\xf7\x96\xf5\x54\x1b\xb3\xe2\x89\x31\x1a\xe7\xba\xb2\xd1\xb3\xea\x27\x5a\x4e\x57\x52\xa8\x66\x10\xc3\x1d\x5a\xa6\x78\xa9\x92\x0d\x52\xb7\xcd\x1e\xaf\x7d\x1e\x93\x08\xcc\xf7\xd4\xcd\x1e\xab\x45\xd7\xda\xa2\x75\x5e\xc0\xf7\xad\x7d\xdb\x0d\x99\xac\xb0\x17\xff\x3d\xd6\xbc\x33\xe4\xb1\x43\x41\xec\x6c\x43\x5c\xe3\xa3\x27\x45\x0e\xce\xa9\x29\xd7\x2e\x8b\x62\x2e\x2d\xfa\xc7\xf7\x47\x42\xfc\xb4\xee\x9c\xd8\x84\xf2\xee\x48\x41\x7c\x5a\x45\x87\x79\x8c\xcb\xad\xd3\x79\xf1\x48\xe7\xdc\x3a\xff\x0c\xfb\x24\x8d\x86\x13\x27\x8a\x58\x85\xf6\x76\x1f\xc9\x33\x26\xbb\x79\xf3\x02\x56\x51\x4a\x2f\xb9\xb9\xff\x9a\x49\x5e\xe9\xd3\xc5\xdb\x09\xea\x27\x34\x5a\xef\xff\x59\x5b\x19\x7d\x3e\xfc\xc4\x93\x6e\x16\x9f\x9c\xd8\xeb\xc4\xd1\xad\xe6\x19\xc5\xa3\x76\xe8\xab\xfe\x54\x6f\xe4\x77\x28\xf2\x6b\x78\xc7\x82\xd5\x20\xcf\xf2\xd4\xbf\xad\x5e\x67\x57\x7a\xdb\xbc\xb8\x72\xc6\x31\x6b\x0d\x7d\x50\x63\xf0\x2e\x66\xfa\xc5\x9d\xe9\xf6\x12\xfb\x4c\x40\xe4\xb7\x5e\x83\x2d\xdd\xd0\x37\xf0\x70\x6a\x84\x6f\xa9\xb1\xbb\x9c\x72\xcd\xa4\xf0\xfa\x44\xe2\xb6\xb4\x0b\x70\x70\x4b\x74\xf2\x81\xc2\x03\x72\x14\xfa\x8f\x55\x7d\xca\x24\x67\x6d\x4a\x74\x90\x41\x50\x83\xb4\xc3\x76\xad\xdd\xcb\x0c\x1c\x68\x13\x2a\xd9\xb2\xe5\xcd\x9b\x2d\xf7\xb5\xfd\x5a\xd0\x76\x26\xc5\x64\x48\xab\x6a\x7c\x34\xb7\x50\xc6\x0e\x39\xa0\xf3\xfb\xb1\xde\x3f\x5d\x5d\x7f\x7a\x05\x77\x1b\x18\xdb\xee\x02\x20\x11\x00\x80\x08\x1a\x77\xf8\xff\xa3\x4c\x9b\xe1\x0f\x07\x98\xc0\xda\x7a\xcd\x20\x7a\xc0\x85\xe9\x1e\xb8\xa0\xd0\xa9\x21\xd5\xf8\x2e\x05\x2b\x27\x2c\x7a\x9c\x62\x38\xfb\xee\x08\x83\xa7\x0f\x2a\xdf\xae\x24\x8b\xde\xea\x86\xce\x6a\xce\x86\x2c\x82\xb5\x37\xea\x62\x43\xe6\x85\x01\x15\xe3\xeb\x92\x6f\x9e\x2f\xda\xf7\x5d\xc1\x45\xac\x68\x2b\x1e\xba\x12\xb7\x23\x50\x4e\xaa\x19\xc8\x3a\x0d\x1f\xd2\xc7\x3c\x9f\x44\xe2\x53\x10\x5f\x53\x34\x10\x3b\x0e\xce\xd6\x4c\x47\x1f\xac\xae\x99\xdd\xef\xb3\xec\x56\x5f\xfd\x21\x47\xb3\xa9\x38\x97\x88\xca\x9c\x25\xb0\xf7\x02\x1d\xad\x67\x71\x5d\xb0\x77\x58\xb9\xdc\xc2\x1b\x18\x12\x5c\x7a\x0b\x5d\x88\x42\x97\x57\xb0\xfb\x0c\x87\xce\xbb\xd7\x7a\xfd\xec\x54\x53\xf9\x76\xa0\xf4\x6c\xd3\xca\xf0\xf0\xca\x10\x85\x86\x56\xb8\x2b\x23\xfa\x8a\xe1\xa1\x9c\xaa\xb5\xa7\xa5\x06\xb7\x02\xe6\x15\xfa\x1f\x0c\xf2\x4c\x20\xf4\x94\xbe\x15\xbe\x57\xff\xa7\xfe\xba\xcf\x9b\x3d\xdd\x75\x35\x0e\xd2\x66\x1e\x86\x5d\xea\x59\x3a\xdd\x35\x74\x67\x71\x38\x68\xc4\xa2\x29\xa3\xaa\xa1\xa8\x2b\xa9\xdb\x3c\x1e\x35\x64\xac\xb4\x50\xaf\x3a\x39\xdb\x3f\x74\x75\x6e\x24\xe1\xae\x7b\x60\x1c\xe7\xfb\x1e\x59\xac\x10\xab\xb4\x3f\x21\xc5\x26\x5d\xdc\xb3\x92\xdf\x70\xa3\x61\x81\x86\xbb\x52\xb2\x1c\x3c\xd4\xd2\xb1\xa5\x6e\x6b\x7d\xcb\x44\x70\x7a\x61\x77\x59\x81\xd6\x24\xd6\x7a\x15\xfa\x3a\xa1\xdf\x93\x89\x48\x19\x7a\xec\xe6\xd5\x11\x1b\x83\xef\xaf\x64\x59\x9c\x10\x47\x6a\xb1\x61\xef\x72\xcd\x3e\xf1\xef\xf7\x71\xcd\xb8\x45\x40\xca\xd8\x47\xe3\xac\x34\x8d\xde\x13\x9b\xbf\xda\x2b\xee\x80\xfc\xd4\xdb\xed\x93\x02\xb7\xf3\x35\x7c\xa8\xd9\x22\xc3\x45\x40\x9f\x9f\xe2\xe0\xcf\xe2\x38\x1f\xfd\x78\x8f\x79\x3e\xd7\xc1\x58\x03\x71\x49\xa7\xa6\x33\x25\xe5\x34\x26\x8d\x95\xc5\x55\x65\xd1\xa3\x78\x8c\xde\x9c\x2b\x1f\xd6\x1b\x56\x5b\x0a\x57\xb8\x0e\x3f\xd2\x24\xfe\x55\x8c\xa4\x8b\x99\x37\xa9\x8a\xec\x48\x9d\x95\xec\x90\x32\xb1\xdc\x98\xee\x6d\x0a\x87\x26\x1a\xe7\xae\x7b\x7d\xb4\x33\x03\xf1\x7d\x9d\xbd\xf7\x8c\xd7\xf5\xa2\x1d\x96\x60\x52\x07\x55\x05\xce\xd5\x3d\x7d\x69\x69\x2a\xf6\xa3\x22\x51\x3a\xb3\xeb\x2c\x20\x21\x38\xa9\xf3\xa0\x36\x8b\xdc\xa4\x50\xa5\x27\xe0\x54\x94\x73\xa4\xeb\xd6\x72\x76\x77\xa6\xac\x83\x4d\x12\x00\x44\x4b\x4f\x78\xef\xdb\xc9\x69\x6e\x4d\x82\x27\x5c\x57\xa7\xad\x09\x6d\x46\x93\x88\xd9\x66\x8a\x50\x82\xaa\x4f\xc4\x1c\x56\xa6\x0d\x09\xbb\xe6\x5c\x84\xb3\xd3\xca\x60\xbe\x0e\x95\xe3\x91\x13\x25\x7e\xf2\x4a\xc2\xf9\x4a\x76\x43\x6d\xa2\x38\x8f\x6b\x1d\x76\x39\xbd\x05\x45\x8a\xb7\x67\xdd\x66\x76\x9e\x47\xd9\xa1\xce\x77\x32\xef\xb1\x30\xf1\x24\xdb\x2d\xa7\x5c\xe6\xb4\xc6\x49\x98\x4d\x44\x37\x9c\x4f\x16\xdb\xba\xd2\xe3\xad\x72\x55\xfa\x0c\xca\x14\x3a\x51\xda\x83\x9b\x31\x3c\x3b\xd2\x09\x2d\xab\x98\xeb\x3a\x18\xe1\x7a\xeb\xaf\xfa\x5e\x25\xf1\x71\x90\xbc\x42\xbe\x5a\x4b\x8a\x51\x44\xeb\xe8\xc6\x7b\x05\xd2\x97\x96\x78\xc7\x6f\x65\x25\xb4\x2a\x70\x0c\xd7\x0e\x16\x37\x7c\xb5\x2d\x74\x3c\x5e\xdd\x78\xd8\xa3\xd0\x62\x54\xfe\xed\x2a\x6e\x0c\x95\xe5\x7d\xce\xdb\x99\x6f\xd0\xca\xcb\x9e\xd7\x28\xf3\xdd\x01\xef\xb4\xb2\x83\xa7\x04\xd7\xda\x5c\xb6\x9f\xa7\x5e\x28\xef\x1e\x5a\x6e\xc4\xd1\x33\xa0\x66\x82\xf1\xb1\x5a\xa4\x2c\x32\xcb\xed\x87\x3a\x83\xa7\xaf\xaa\x22\xba\x17\xd0\x6e\xbb\x40\x7b\xf3\xb6\xd5\x38\x2c\xa6\x2d\xa2\x5e\xb8\x9d\x77\x12\x51\xb3\xb7\x83\x52\x1e\xeb\x93\xe0\xed\xd0\x45\x7e\xa7\x7f\xea\xeb\x0b\x05\xc0\x27\x3e\xd1\x15\x40\x5e\x55\xb6\x3e\xff\x92\xdd\x57\x35\x0b\x80\xc0\x25\x33\x23\x58\x89\x35\xf4\x06\x22\xdf\xb6\xe7\xb8\xb5\xe8\x6d\x77\x7f\x0c\xae\xb7\xe8\x23\x2c\xe8\x7f\x2c\xb1\x43\xf5\x38\xe9\x96\x85\x9d\x57\x8e\xcf\x4f\x3d\xc4\xbb\xe2\x86\x18\xdc\x48\xf7\x1b\x37\xeb\xe3\x3d\xce\xb6\xc5\xcc\x1a\x3a\x2b\xd1\x0d\xe1\x93\x9e\x28\x4e\xe5\xac\x3c\xcd\xc2\x6e\x22\x5d\x3b\xd9\xac\xe1\x44\x0a\x0a\x0a\x2b\x87\x4d\x7d\x04\xb5\x59\x60\xd6\xe7\x2a\x4c\x10\x97\xe7\x76\x6c\x20\x00\x8b\x71\xc1\xaa\x87\x9e\x5a\x66\xa3\xfc\xb6\x75\x26\xad\xca\x2d\x7f\x98\xa3\x41\x38\xb3\x4d\xb2\xfb\xd4\xee\x80\xc0\x10\x1c\xb7\xe6\xea\xd6\xca\x36\x75\x0a\x74\x13\x10\x32\x69\x7b\xe6\x35\xf0\x95\xe2\xfe\x04\xc6\x6b\x10\xbe\x1c\xf7\xf9\x0d\x09\xc1\x76\x40\xbe\xbe\xe5\xd9\x4a\x67\x1d\x76\x3b\x31\x70\x68\xb7\x02\x04\x50\x02\x75\xda\x32\x5b\xeb\x70\x8c\x07\xbf\x43\x91\x95\x55\x6d\xa3\x97\x0a\xa9\x5e\x48\x85\xbf\x6e\xaa\x7c\x3a\xcc\x7d\xe5\xea\xf4\x4a\x08\x74\xa0\x1e\x38\xdd\xe1\x32\x45\x9e\xa4\xb0\x9e\x6c\x3d\xeb\x55\x2d\xbb\xd3\xad\x7d\xe8\xd5\xdb\x10\x93\x30\x15\x13\xe4\xc4\x73\xa9\x09\x2e\x3e\x51\xfd\x16\xa0\xa6\x1a\xcf\x78\xa7\xa0\x54\xae\xe6\x19\x16\x61\x37\x24\xee\x6d\x12\xfa\x7d\x1c\x89\x3b\x61\xc3\xbf\xff\x6d\x6b\x2e\xc4\x34\xd3\x1e\xdc\xe7\x37\xaa\xf1\xb6\x03\xb8\x4b\x74\xdd\x8b\x94\x42\xfb\x7b\xfc\x10\xde\xcf\x1f\xf3\x9e\xb9\x5a\x3d\xa3\x91\x7f\xfb\x2b\xf8\x49\xa1\x17\xfa\xa6\xe1\xe4\x97\xf7\x77\xf4\xfd\xe9\x93\x6f\x4e\xa9\x2e\xaf\x90\x52\xf1\x22\x6b\xae\x4f\x35\x68\xb2\xbc\x15\x61\xb9\xbd\x43\x95\x4b\x90\x30\x1b\x4f\xaf\x8a\xfd\x1f\x50\xab\x24\x84\x2f\xbb\x7b\x71\xcb\x75\x5b\xc1\x12\xd6\xc0\x5f\x66\xeb\x5f\x22\x2e\x90\x77\xe4\x79\x24\xec\x38\x29\x22\x6f\x58\x88\x3b\x33\xc0\x34\x5a\x27\xe4\xf2\x93\xa2\x47\x26\x9e\xac\xf4\x6f\xd9\xec\x35\x1b\xa0\xf2\x67\xc8\xac\x09\x5b\xe4\xed\x91\x82\x70\xae\x78\xa3\x24\x7e\x56\x6c\x59\x79\xd2\x3f\x41\x3a\xa7\x4f\x30\x4f\x2e\x3f\x49\x76\xc2\x7b\x05\xb1\xd7\x7e\x0c\x6c\x96\x7a\x5d\x25\xf2\xbe\xe0\x78\x81\xf9\xd5\xa4\xae\x31\x9f\x47\x32\xf5\xb2\x0d\xcd\xaf\x1e\xf7\x34\x60\x0b\x31\x77\xf9\xa1\xb3\xb9\x0f\x5e\xf8\x0e\xb1\x22\x42\xf6\x7e\xd9\xce\x3c\xd7\x8e\x6b\xd5\x68\xfa\x3a\xa5\xfb\xbf\x26\xf5\x39\x44\x83\xc9\x97\x1f\xfc\xd9\x40\x09\xf1\xba\x81\x49\xb8\xc8\xe2\x34\x3c\xec\x6c\x9c\x43\x22\xed\x60\xbf\xc8\x36\xe7\xfc\xa5\xc1\xde\x37\x16\xd0\x8b\x95\xec\xbd\x80\x7b\xef\x95\x85\xed\xa7\x3d\x56\x9f\x2b\xaf\x95\x0d\x60\x97\xe1\x54\x03\xf8\x7f\x0f\x55\x10\x30\xeb\x94\x8e\xa0\xb1\x73\x2a\x4f\xca\x8f\x1b\x12\xed\xbc\xb0\x74\x6a\x8d\xe1\xd4\x79\xe8\x32\x96\xcf\xa0\x8a\xc2\x7c\x2a\x05\x28\x54\x77\xd8\x6c\xa9\x64\xb6\xc5\x62\xe2\x6e\x51\x2f\xc8\xcb\x37\x5a\x5b\x9b\x69\x7d\x0f\x9a\x68\xc3\xad\x6d\x5e\x89\x9b\x57\xa3\x4c\xb6\x6d\xa7\x3f\xe4\x01\x2c\x2f\x6f\x6b\x6b\x02\x58\xc5\x46\x74\x06\xbb\x15\x02\x87\xb6\x13\xbb\xb1\x2b\x9d\x2d\xcf\xe4\x7b\x56\x9a\xaa\xba\x58\x37\x8c\x4e\x46\x64\x0c\xf7\x14\xfd\x17\xce\x33\x39\xc4\xc8\x91\x85\x56\xbd\xd1\x7b\x07\x5c\x8f\x14\xa8\x6f\xcc\x14\xac\x6f\x1f\xfd\xca\xfd\x97\x37\x2a\x0f\x1f\x3a\xc4\x5e\xcb\x2e\x66\x9d\xe2\x3d\x67\xf6\xa3\xad\x0a\x3b\x3a\x75\x50\x5b\xb0\x75\x9d\x2b\xcf\x5a\xea\xe5\x07\x50\x04\xc9\xee\xcf\xb8\xe5\x75\x7e\x28\x7b\x9c\xb9\xb4\xb7\xcb\xcd\xca\xfd\x9e\x08\x52\xa4\xfc\xee\xca\x91\xd0\xb3\x25\xa4\x3f\xce\x4c\xd8\xe1\x27\x6d\xa3\x4f\x23\x8d\xc8\x00\x1b\x38\xb4\x78\x0a\x80\xf4\x0f\x24\x1a\x4e\x3e\xc0\x7c\x92\xdf\x96\x5e\x1e\xb9\xaa\x1f\x79\x7e\x72\x07\xdb\x16\x89\x8f\xd7\xae\xdb\x99\x7c\xd6\x2c\x79\x2d\xae\x6e\xfb\xbf\x51\x11\xe9\xa0\xdf\x96\x42\xd3\x4e\xcf\x22\x6e\x0f\xf7\xfc\x06\x8d\x25\x3b\x54\x73\xd3\x03\x95\x11\x42\xd6\xad\x66\xec\x20\x3d\x33\xe8\x45\x58\x58\x99\x37\xa4\x57\x17\x0d\xf9\xc6\x73\x14\x09\xec\x94\xff\x12\x98\x69\x2a\x28\x2a\x2b\x22\x41\x43\x2e\xc2\xd5\xda\xa5\x18\xed\xb8\x2b\x9d\x3a\x8f\x82\x9f\xd3\x57\x52\x5e\x6d\x91\x53\x51\x4d\xc3\xc0\x9f\x18\x7a\x2b\x83\x0c\x2e\xa5\x20\xee\x73\x53\xda\xe6\x10\x21\xda\x46\x5d\xfe\xfb\x62\x5a\x78\x4c\xb7\x7d\x4e\xc8\xe2\x4e\x8f\x0a\x81\x01\x24\xeb\xd0\x70\x67\x76\x9d\x87\x45\x9e\x0c\xe9\x6d\x41\x7e\x44\xaf\x8c\x82\x50\x68\x23\xe3\xa2\x2e\xe4\x30\x6b\xb3\xc3\x0f\xc8\xe3\xb2\xa7\xc4\x6f\xe2\xb7\x6e\x8d\x7f\xf3\x3f\xef\xcd\xd6\xad\x6c\xff\x0f\x8d\x89\x2f\x15\x4f\x78\xbf\xf9\x24\x5d\x93\x0c\xd7\x4c\xa2\x60\x1a\x2e\x5c\x28\xa6\x50\x00\x82\x2b\x3a\x72\x6a\x7b\xd4\x78\x7d\x63\x4f\xfa\xee\xeb\xfd\x23\x56\x20\xa2\x06\xfb\x1d\xcc\xa5\x29\x9d\x3a\x0c\xcf\xee\x66\xa0\x9e\xa8\x28\xc3\xbd\xf2\x51\x1e\xea\xf0\x20\x1c\xf4\xc7\x80\xde\x2a\xa9\xca\x5b\xc3\xd5\xb5\x9f\x92\xac\xe1\x7e\xc4\x2d\x60\x68\xf8\xc0\x31\x29\x3a\xbf\x88\xc3\x05\x86\xd2\x99\x9c\x18\xb7\xc2\x6e\x0f\x40\x2d\xc8\xce\xdd\x81\xda\x27\x3e\x63\x13\x28\xb2\x9f\xf1\xef\xcf\x3e\x2c\xa6\xa9\xb1\x91\x55\x30\x8e\x2e\x51\x9f\xee\xaf\x7f\xee\xdb\x2f\x8c\xa4\x73\x55\x2a\xb6\x6b\xa2\xde\x91\x52\x31\x26\x26\x3b\x7b\x9c\x3d\x3c\xa4\x1e\x09\x51\x01\xa5\x16\xb5\x90\x64\xc3\x85\x52\x15\x18\x25\xa4\x95\x1d\xa5\xb1\x52\xaf\x09\xc0\xa4\xbd\xc5\xe2\xa7\x46\x40\x22\x12\x89\xce\xf8\x7a\x86\x86\x45\x47\x31\xe3\x4d\xeb\x7d\x3c\x2a\x3a\x51\xdf\x15\x35\x09\x83\xd5\x7a\x57\x9a\xc1\xa3\x0b\xd5\x9f\xa8\x90\xf8\x44\x16\x8b\x0e\xd7\x4b\x6a\x7e\x1f\xdc\x07\x5f\xbe\xf0\xff\x1f\x0c\x1e\xf3\xcf\xff\x0c\x81\xc2\x5b\x23\xa9\xd7\xc7\xcc\xe1\x10\xbc\x5a\x06\xb7\xee\xda\x2f\xc0\x84\x10\x39\x58\x4d\x46\x9d\xa8\xdb\x87\x7b\x12\xe0\xc1\xdc\x37\xf2\xfe\x1e\x02\xc8\x99\x90\xb1\x9c\xda\xa9\xe4\xf4\xcf\xe2\x1b\xb7\x2b\x8a\x05\x68\x86\xb3\xc3\xc3\xff\x73\x44\x66\x21\x21\x2f\xd7\xc5\xda\x79\xc6\xd9\x0b\x7b\xdc\xb8\xf4\xd0\x3d\xf5\xee\x67\x30\x3c\x89\x15\xcc\xef\x29\xe5\x38\xa0\x34\xb0\x07\x54\xec\x4d\xca\xa6\x7a\x6a\xb7\x5e\x4b\x22\x19\xc3\x7f\x03\xe2\x24\x4c\x9f\x2b\xca\xdc\x8f\xbf\x21\x5e\xa5\x86\x5c\x2a\x92\xfc\x64\x25\x5c\xc1\xff\x25\x1e\xa0\x8a\x4e\xb9\x18\xcc\x73\xbb\xe4\xc6\x24\x84\xcd\xcb\xf8\x5a\x1b\x96\x94\x3a\xcb\xbc\x18\x04\x8d\x86\x26\x85\x2c\x13\xc0\x74\x0c\x27\x55\xdc\x7d\x94\x7e\xb4\x23\xce\xce\xe2\x0a\xbd\x5c\x11\xe8\xb2\xe9\x80\xf4\xc9\x9d\xb8\x8c\x2f\x21\x2d\xec\x6d\x59\xc2\x56\xf3\x42\x2d\x45\x69\x38\xc9\xb7\x39\xac\xd0\xc9\x32\x3c\xc7\xc8\x53\x7e\x4e\x09\x4b\xdb\xa9\xc4\x70\xd3\x27\x87\xc3\x82\xa0\x87\x07\x80\x2a\x91\x15\xd6\x9c\xd6\x77\x63\x57\x46\xdf\xf6\x63\xa7\x1e\xa8\x9e\x4b\x3f\xc2\x5a\x41\x4a\x10\xd9\xc6\xba\xa5\x70\x37\xd4\xb7\xbc\xf3\x62\x20\xd1\x69\x87\xf8\xf6\xcb\x4b\x4c\xd2\x60\x5d\xc7\xeb\x67\xc9\x8e\x70\x24\x6c\x29\x87\x71\xfc\x0b\xb9\xa2\xc1\xb1\xd2\x8d\x56\xb1\x42\x1f\xa6\x43\x8f\x2a\x63\xef\x80\xfc\x4b\xaf\x69\x72\x7a\x7f\x21\x91\x33\xe8\xda\x87\xb6\x1c\xb6\xb3\x7c\x30\xe3\xdf\x46\xb3\x8a\x0d\x60\xf4\x07\x5a\x9b\x42\x04\x99\x51\x5e\x9e\xf6\x7a\x7d\x22\x21\xd5\xa9\x4d\x8f\xae\xf8\x72\x22\x0b\xbf\x5b\xde\x19\x52\xb2\x8c\x1a\xef\x91\xc0\x4d\x3f\xed\xc7\xf0\x0f\x86\xb8\x20\x13\xbd\x1f\x37\x96\xec\x0b\xe1\x09\x87\x64\x4c\x64\x1c\x48\x2b\x58\xd3\xe9\xf7\x54\x70\x9d\xbb\xb6\xf5\x97\x1f\x3b\x9d\x8c\xdf\xbb\x57\xb5\xcf\xcf\xdb\x33\x8f\x86\x6b\x3e\x6a\xfa\xa7\x57\x5d\xa0\x5b\xf7\x05\x01\xfa\xd1\x82\x97\x51\x54\x7e\xf8\x07\x37\x39\xb5\x45\x9d\x3c\x9b\x72\x05\x95\xa3\xa3\x6a\x4f\x02\x3e\xc2\x33\xaf\x53\xd1\xa7\x8a\x42\x30\x8f\x6e\x2b\xf9\x0f\x5c\x71\xc4\x5c\x58\x68\x1d\xc0\x3b\x65\x64\x91\x87\xe0\x49\xe6\x78\xf6\xe5\x36\xe5\x3e\xf1\xa7\x20\xa1\xa1\x58\x43\xa7\xfd\xa0\x56\x1d\x72\x01\x93\x70\x4e\xa6\x46\xaf\x13\x95\x4b\xef\x7c\x39\x39\x51\x50\xe7\x98\xf6\x1a\x62\x61\x2d\xfd\x7e\x0a\x24\x15\x02\x91\x47\x16\x6e\x58\x90\x80\x3f\x3a\x61\x2e\x70\x01\x66\x2e\x1f\x1e\x02\x0b\x21\xc2\xae\x43\xe1\x66\x88\x00\x84\xdf\x84\x5a\x0f\x24\xf9\xdc\xef\x80\xfa\xbe\x17\x0a\xea\xe1\xd6\xdd\x9e\x5c\xd8\x89\x6a\xb6\xb4\xab\x8d\x72\x76\xd2\x62\x9b\x31\xfa\xe4\xc0\x46\x34\x0b\x0a\x25\x42\x20\x10\x08\x1f\xb9\x42\x0d\x6b\x22\xbd\x72\xb2\x2c\x1d\x24\xa7\xf4\x24\xec\xc9\xfd\x5c\x89\x37\x4b\x95\xad\x35\xde\x73\xf7\xf3\x6e\x5f\xc4\x0c\xbe\xd1\x2b\xf5\xf5\xb1\xa3\x15\x76\xb5\xbd\xa7\x20\x8a\xf2\x50\x24\x92\xcf\xa9\x33\xcc\x2f\xa1\xa5\x18\x78\xbe\x1d\x3e\x4a\x82\x86\x61\x77\x2f\xcb\xf2\x54\xce\x69\xbb\x58\xea\x86\x46\x91\x4e\xad\x87\x29\x40\x1f\xd7\xcc\x1e\x1e\xd4\x85\x41\xfc\xa1\x02\xf5\xa4\x4b\x24\x72\x3e\xfa\x47\xd7\x6e\x63\x09\x51\xee\x52\x5d\x0d\xa1\xbf\x5d\x65\x5c\x15\x43\x20\x10\x77\x10\x5e\xea\xca\xba\xcd\x00\xf0\x91\x9e\xaf\x57\x36\xde\xaa\x7d\x4c\x42\x7c\xf9\xe8\xd2\xb1\x99\xa8\xb3\x36\x31\xf3\x9d\x52\x0c\x0d\xb4\xd1\x70\x6e\x3d\x92\x87\x0c\x1d\x0c\x62\x10\x94\x1d\x3e\x40\x6b\x06\xb3\xfe\x16\x44\xb6\x52\xd7\xd7\xc6\x8c\x42\x0c\xc0\x3c\x64\xeb\x16\x44\xcc\x4f\x4b\x9d\xe7\xde\x67\x7a\x4a\xeb\x32\x85\x6d\x6f\x05\xbf\xdd\x7a\x4d\x6e\x05\x45\xe7\x7d\x45\x4b\x47\xc0\x57\x94\xe4\xb7\x94\x48\xa1\x43\x83\x09\x69\xa7\xa2\xf3\x33\xb3\xb5\x05\x3c\x05\x49\x3e\xed\x4d\x19\x51\xfb\x81\x9b\x82\x6e\x85\x68\xe0\xee\xa9\x1e\x35\xeb\x30\xad\x16\x71\x62\x39\x6a\x0b\x43\x5f\xc0\x7e\x50\xea\x6f\xd6\xf5\xf0\x61\xad\x99\xca\x80\xc0\x31\xf0\x94\x3e\x62\xd7\xa9\x8a\x91\xd3\xdc\x69\xd6\x76\x86\xff\x9b\x36\x33\x19\x75\x5f\x08\x9c\xc9\x3b\x66\x6a\x1e\x03\xb8\x2f\x31\x27\x79\xb0\x19\x39\xb7\x44\x38\x9b\x61\xd1\x20\x05\xad\xba\x6e\x2b\x16\x2e\x5a\xc0\xf2\x18\x66\x71\xff\xb9\x3e\xc1\x5a\x0e\xcc\xc3\xf3\x54\x90\x9a\x16\xce\x9f\xce\xac\x04\xf5\x73\x36\xa7\xea\xe9\xcb\x1a\x0d\xd7\xee\x1f\xed\xa0\x77\xa3\x56\x0c\x1f\xac\x40\x29\xf8\xc1\xea\x08\x81\xf6\xe0\x77\x17\x31\xa8\x11\xfe\xbb\xb3\x60\xd2\x68\xef\x09\x03\xa6\x7c\x5a\x77\xb2\x90\x8b\xaa\x86\xf7\x55\xb3\xff\x69\xf3\xb7\x0f\x1e\x61\xae\x7f\x7b\xf8\x5d\xe7\xb2\xfe\x22\xaa\x97\x10\x35\x0b\x88\x58\xf7\x20\xaf\x4d\xf7\xa1\x44\x58\x66\x6c\x7c\x36\xcf\x62\xa6\xc9\x33\xcf\xd2\x5a\x1f\x3d\x63\xa1\x64\xf8\xc7\x86\x2f\xc0\xe2\x62\x57\x4f\xfc\xd0\xc5\xe2\xda\x67\x16\xc4\x4c\x20\x15\x0b\x0c\xd8\xc3\x81\x5e\xb0\x0c\x7e\xd0\x87\x6f\x94\x3b\x4c\x78\x9f\xd4\x30\x65\xb7\x5f\x08\xca\x5a\x9a\x92\x2c\x99\x90\xbb\x43\xc3\xb5\xdd\xb7\x25\xf7\x22\x98\xc4\x08\x87\xb9\x11\x28\x1b\x7b\xc1\x16\x9a\xcc\x3e\xd4\xed\x39\x82\x36\x07\x3f\xc2\xc1\x83\x04\xa5\x03\x98\xbc\x05\xfc\xfb\xef\x85\xe9\x43\x87\x8e\x60\x06\x19\x19\x2f\x87\xa0\xc6\x7d\xbd\x47\xd7\x28\x10\x01\x06\x3f\x04\xa4\x00\x11\x94\x0c\x9a\x5a\x69\xb4\x17\x09\xb9\x36\xfd\x6d\xfd\xf2\xb9\x09\x76\x7b\x4c\xaf\xc7\x33\xec\x5a\xab\x5b\x61\xa3\x90\x78\xb7\xca\xd9\xfa\x27\xb0\x39\x36\x12\x21\xa7\xb4\x31\xb6\x32\xb1\x17\x27\xe9\x70\xbd\xc0\xc8\xcd\xa5\xe6\x5b\xa4\xcb\x94\xc6\x1e\x29\xcd\x29\xb1\x4c\x40\xc6\x99\x56\x7e\x2b\x72\x98\x9e\xae\x32\x9f\xd5\xca\x91\x07\x6b\x6b\x83\xb5\x39\xf2\x03\x5a\xed\xe6\x09\x30\x4e\x47\xbb\x85\x86\xcb\x32\x83\x35\x72\xd9\x61\x51\x4a\x16\x0b\x0e\xc3\x23\xce\xfd\x7f\x2b\x8e\x16\x5a\xc1\x2c\xaa\x4f\xa8\xe9\xcf\x68\xed\x4f\x0d\xe8\x3a\xfa\x1a\xd6\x58\x15\x07\x3d\x60\xa7\x4f\xbf\xe6\x30\x88\xc1\x0c\x8e\x14\xdf\x8b\x1c\x1c\x8c\xbc\x57\x3c\xf2\x4e\x1d\xcc\x3b\xc0\xca\x7b\x5b\xb3\xbe\x1e\x9c\xfc\x1c\xd3\x65\x30\xc5\x5e\xb7\x47\xe7\xc8\xce\xdd\xac\xc0\x2d\x7b\x0c\x3a\xbe\x26\x1c\xdc\x96\xf5\x56\xa1\x16\x19\x4f\x1e\x3d\x74\x5d\x86\xf3\xbc\xb5\xc7\xd1\xf6\x34\xc6\x8f\x4b\x46\x7d\x31\x51\xac\x57\x01\x50\xca\x79\xe2\x13\x40\x4f\xa5\x7e\x6b\xf7\xf1\xa6\x5b\xef\x2b\x81\xb9\x63\x9f\x11\x0c\x04\xc0\x14\x44\x99\xc6\xca\xf7\xb7\xde\x40\xf9\x8d\x6b\x2c\xbf\x15\x55\x42\xd4\x23\xc5\xb1\x26\xd6\x72\x43\x8c\xb8\x65\xd6\x2c\xe4\x2f\x61\x74\x5b\x10\x58\x4f\x64\xeb\xd4\x9a\x7b\x2d\xfe\x40\xf2\x61\x0b\xa4\x14\x19\x69\x60\x20\x51\xee\xbc\x2f\xb0\x0d\xa2\x06\xa9\x42\x82\x58\xee\x18\x49\xf5\x48\x55\x88\x2c\x7d\xa3\xc8\xa4\x5d\xb4\x0b\x4f\x79\xaa\x2c\xae\xaa\xde\xed\xf4\xb9\x1b\x74\x47\x64\x08\x14\xb7\x8a\x9f\x2e\x40\xe7\x87\xeb\xbe\x84\x8c\xac\x00\xf6\x7d\xef\xdb\x80\xf9\xee\x1a\xc7\x0f\x39\x53\xad\x55\x12\xaf\x57\x00\x81\x21\x4f\xca\x1a\xa2\xd2\x95\xa4\xe9\x60\x68\xc0\xba\x3f\x9b\x2f\x98\x3d\x9f\xa4\xf3\x0a\x20\xf0\x6f\xc7\xf9\x22\xf7\x99\x1a\x06\x8f\x3a\x38\x82\xf8\x41\x36\x02\x56\x4b\xc6\x23\xa6\x91\x58\xae\x1f\xb6\x88\xa0\x89\x49\x71\xf4\x71\x8f\x4b\x85\x8e\xed\xdc\x79\x2c\xd1\xb8\x83\x3a\x5e\x50\x41\x75\x10\x7e\xdf\xdd\xf2\x5b\xb0\x01\xb9\x35\xa0\x80\xdf\x3c\x8b\x60\x64\x91\x99\x6c\x32\x75\xd8\xda\x1d\xff\x76\x0d\x36\x9d\x35\x62\xd2\xfd\x0b\x99\xc7\xad\xad\xb0\x81\x4b\xd3\xf7\x76\xeb\xfc\xed\xd1\x16\x8f\x6f\x0b\x88\x80\x8a\xae\xcb\x0d\x9d\x6f\x13\xa3\x99\x0a\x49\xd1\x90\xa5\x38\x10\x8a\xe8\x10\x30\x8a\xe8\xc8\x4d\x8c\xfc\xf9\xed\x09\x7f\x53\x7f\xc9\xd8\x17\x12\x4e\x1f\xf6\xfc\x05\x96\xd4\x26\x51\xfd\x25\xc2\xc2\xd9\xf8\xb6\xb6\x78\x5b\x1e\x22\xba\xa5\x3a\x86\x76\xcb\x45\x08\x62\x0e\x4a\xda\x93\xf5\x30\x90\x94\x4b\x22\x90\x60\xe4\x47\x7f\x5e\xba\xa4\xe0\x21\xf1\xdc\xbe\xf5\x14\x33\x23\x47\xb2\xcc\xc7\xfd\x8b\x57\x54\xa0\x62\xf8\x41\xc3\xbd\x27\x9a\xf2\xf8\xef\x34\x14\x49\xce\xc3\x49\x6f\xbe\xa1\x35\xf5\x4b\x40\xb3\x64\x29\xc6\xbb\xa2\x48\x39\x65\x57\x1a\x99\x60\x9c\xa3\x70\x92\x5b\xcb\xf1\x27\x3a\xed\xf1\x71\xce\x5c\x7d\xde\x01\x8e\xc7\x34\x3d\xee\xb0\x40\x44\x37\x7f\xe0\x5a\xc0\xf3\x13\x99\x77\xb6\x16\x59\x35\xe5\xe6\x9e\xde\xe9\x1b\x30\x14\x36\x93\xff\xbe\xd3\x98\xcd\xea\xd0\x92\x81\x20\xb4\x2a\x29\x03\xb3\xe8\xec\x80\xf3\x7a\xb7\x47\x16\xea\x53\x3c\x01\x2e\x46\x39\x22\xe7\xe0\x43\x61\xce\x21\x7a\x84\xae\xa3\x8a\x5b\xbe\x7e\xc5\x50\x3e\x9a\x92\xdd\xb4\x63\x03\x91\xd8\x5a\x42\xff\x8f\x62\xcc\x34\x6c\x1e\x10\xc2\x92\xd9\x9f\xe3\xdd\x73\x9f\x9d\xeb\x9b\xd4\xb3\xdc\xbb\x59\x89\x16\xa7\x81\x6a\x28\x4a\x95\xb4\xd5\x9c\x1b\xb2\x3a\x88\x71\x5a\x6f\x25\x39\x22\x20\x8c\x15\x9f\xc9\xe2\x85\x5d\x63\x2c\x3a\xb7\x5a\x72\x15\xf4\xa0\x50\x41\x3c\xd3\x05\x40\x70\x11\xc4\x2f\x8e\x22\xfb\x9c\xc6\xd4\x0d\x9f\x8f\x67\xcb\x5d\xbf\x5b\x75\x11\xb3\x6f\xc5\x57\x9c\x28\xbe\x41\xc7\xb8\x33\x61\x49\x83\x4c\x1c\x2f\xb1\x08\x8f\x29\x5e\x6a\xc1\x8b\x5f\x13\xd9\xee\x73\x13\x93\xc7\x3b\x91\x5f\x13\x22\xfe\x80\xad\xd5\x14\x4b\x95\x59\xb5\x09\x09\x6d\x11\xc4\x84\x9a\x22\xb8\x6f\x6a\xe9\xcd\x3d\x31\x48\xf6\x9e\x66\xc6\xce\xa4\x3b\x46\x20\xcf\xd9\x0d\x55\x5c\x56\x3e\xb3\xf0\x1f\x7b\xc0\xc5\x39\x59\x63\x36\x4a\x9c\x3f\x78\xde\xcc\x80\x57\xf3\x30\x4d\x2d\xab\xa5\x37\xd2\x1a\x1f\xd8\x99\x9e\xa2\xee\x48\x72\x56\xa8\x32\x0a\xb7\x91\x14\x1d\x49\xea\xb4\xee\x3c\xfb\xe0\x08\xeb\xe2\xe6\x28\xb7\xdc\xe6\xb9\x15\x06\xed\x0f\x9c\x0d\x35\x75\x79\x77\x6a\x42\x74\x85\xcb\xff\xe5\x1c\x8a\x06\x41\x91\xb0\xaf\xd6\x8f\x6f\x17\x0f\x86\xf5\x5c\x65\x1b\x33\x59\xe1\x8e\xfa\xb5\x4c\x5c\xee\xca\xba\x6b\x6c\x23\x73\xff\x73\xd0\xcb\x7f\x94\x0e\xcb\xaf\xcc\x1b\x14\x47\x13\x0e\xe8\x62\xff\x2f\x6b\xe6\xd0\xc4\x42\x5a\x30\x96\xf2\x72\x15\xce\x44\xb9\x68\x85\x44\xd8\x1a\x71\x39\xe1\xfe\x57\xeb\xf3\x9f\xd2\x7a\xb3\x43\x1d\x8c\x1d\x38\x20\x40\xac\xc9\x13\x00\xd3\x43\x17\xea\x05\x34\x91\x84\xb6\xe2\x9c\xf1\x15\x8a\x2e\x37\xa3\xc2\x55\x9b\x7b\x5f\xa7\x5c\xd1\x10\x80\x8f\x5f\x7d\x23\x21\x7c\x7a\x94\x28\x31\x32\xb8\x4f\x87\x8f\x9d\xaf\x04\xba\xb1\x64\xd9\x40\xfa\x43\x3f\xf9\x78\x37\xee\x0b\x4e\x2e\x3f\x79\x93\x6a\x76\x47\x43\xf4\xfd\x02\xe5\xd2\x8c\x8a\xb9\x22\x05\xfb\xca\x9a\x14\x59\xbc\x6c\x43\xaa\x60\xbd\x86\xc8\x32\xeb\x27\x25\x12\xc6\xf7\xec\x80\x62\x5b\x69\xdc\xab\x36\x87\x89\xe9\x68\x4c\x46\x92\x0a\xad\x19\x48\x4f\x5d\xbd\xfe\x84\x86\xde\xe7\xa3\x0d\x8d\x4d\x15\x9d\xe1\xee\x22\xdb\xdc\x55\xed\xd2\x31\x9f\x50\xe0\xd5\x0a\x0f\x5b\x10\xf2\x1e\xb9\x8d\x39\xaf\xb2\xa4\xc8\x13\x06\xfb\xfd\x96\xd2\xc2\x58\xac\x9d\x0d\x14\xb9\x7c\x55\xee\xaf\xb5\xea\xc3\x42\xd8\xf1\xb9\x1c\x89\xe9\x20\x53\x7e\x7a\x7c\x2e\xc2\x34\xfc\xd3\xef\x54\x50\xbe\x83\x7b\x2e\xf5\xa5\x62\x39\x8e\x70\xde\x79\xcc\x2d\xbe\x7e\x00\x5e\x7a\xac\xb3\x0a\xfa\x5c\xfa\xd6\x40\x15\x4a\xa8\xca\x58\x60\x6e\xee\x62\x10\x44\x57\x70\x6b\x0e\x39\x5f\x63\x2c\x1a\x3a\xb1\x32\xe3\x59\x61\x01\x11\x88\xca\x46\xce\xbc\xd2\xa6\xd7\xad\x14\x62\xd4\x31\xba\xfa\xf6\x44\x4c\x63\xf6\x61\xf5\x75\x22\xd2\x9d\x54\xe9\x54\x0c\x93\x37\x2b\x6f\x76\xfd\x04\x7a\xa0\x1f\xd3\x80\xc6\xa3\x0c\x3c\x8e\x6e\xcb\x73\x69\x44\x77\x1e\xd9\xa1\x2f\xb3\xc5\xa3\x07\xc3\xfa\x9b\xb1\xf0\xd5\x13\x33\x6d\x57\x2e\xc9\x7b\x32\x2b\x07\xd8\xa7\xac\xee\xcb\x74\x92\x17\x62\xf0\x80\x95\xc5\x4a\x9d\x82\x04\x96\x63\xd7\x0b\x04\x22\xea\xbd\xcb\x05\x39\x0b\xc5\xce\xc3\xe4\xca\x93\x19\x9b\xa2\xf3\x0b\xb9\xd3\x38\xe3\x6c\xc9\xad\x40\xb5\x9c\xd1\xa4\xcc\xa4\x25\xae\x3e\x69\xf0\xeb\x16\xfa\x8e\x05\xa7\x4f\x17\xe0\xf4\x01\x02\xc7\xc0\x81\xde\xd9\xdf\x14\xf6\x7e\x97\xd9\x7d\x24\xb9\xe8\xfa\x66\x7d\x65\xa6\xf3\xe7\x5d\xa6\xd4\xb7\x0e\xbb\xef\x39\x93\xa4\x39\x79\x32\xa9\x36\x57\x4c\xe2\xba\xff\xf8\xb7\x75\xe5\x53\x0b\x4d\x76\xfa\x89\xc6\xda\x71\xa1\xd2\x39\x74\xd9\x29\x69\x47\xd7\x89\xe3\xe8\x30\xa6\xce\xef\x87\x36\xf8\xf2\xa5\xa7\x47\x09\x2d\x30\x49\xe5\x00\x23\xc8\x17\x19\x75\xe0\xc9\x13\x31\x97\x8d\x7d\xc5\xad\x5b\x63\xb4\x02\xc1\x93\x7a\xa9\x94\xa1\x36\x12\x57\xc5\x81\x21\x2d\x70\x69\x3f\x16\x4b\xa1\xa4\xa4\x9c\x38\xfe\x27\x60\xb8\x50\x43\x72\x72\xbb\xf1\xec\x19\xd3\x13\xc7\xcf\x70\x5c\xfc\x8d\x9b\x42\x3b\xf9\x6b\x16\xc9\x03\x69\xfe\x85\x7e\x38\xd4\xdf\xaf\x49\x88\x87\x7b\x27\xd1\x44\x05\x89\xf1\x83\xd1\xf2\xca\xaa\xf1\x9c\x4a\xe0\x13\x22\x61\x6d\x40\x21\xaf\x42\x95\xb6\x53\xd2\x82\xb1\xb1\xfc\x20\x8f\x3f\x1f\x1f\x7b\xbe\xe3\x1d\x01\xe6\xc5\x82\x1a\x6b\x7d\xee\xa4\x4d\x71\xba\x57\x85\xc5\xce\x57\xde\x2c\x2f\xbf\xf5\x1b\xa0\x52\x2b\x4f\xd8\xec\x43\xfd\x5b\x12\xc6\xfc\x91\x59\x77\x33\x7c\x63\x7f\xf8\xcd\xc2\xfc\xe4\x6b\x3d\x7d\x0b\x51\xbe\xff\xb6\xdb\x63\x3b\x59\xa9\x34\xc0\xe5\xe2\x19\xfb\xf6\xce\xcc\x15\x87\x07\xfb\x65\x64\x36\x6e\xaa\x7f\x91\xed\x93\xfb\xda\xaf\x6c\x63\x60\xe3\xd7\x2c\xbd\xc9\xa9\xdf\xa4\x40\x15\x07\x0f\x37\x69\x4d\x8f\x91\x3d\x99\xcb\xe2\x47\x73\x9e\xad\x34\x67\x03\xea\xe7\x85\x25\xd6\x72\x47\x8e\x06\xa6\xdd\x70\xf4\x48\xea\xaa\x43\x1c\x03\x08\x35\x70\xbe\x23\xb3\x82\x53\x2f\xda\x9d\x2a\x91\xa6\xe4\x09\xcf\x93\x5d\x05\x36\xf2\x0f\x83\x1f\x1c\x7d\x17\xfc\x4e\xe0\x78\xfe\x9c\xbc\xed\xbb\xa1\xcb\xf7\xbd\xbc\x8d\x8b\xcb\x45\x72\xae\x50\x3f\x53\x72\xca\xee\x62\xb7\xfd\x8f\x4f\xd6\x1c\x7b\x16\x51\x80\xad\x70\x89\xc9\xd8\x68\x2a\x4c\xb5\xfe\xd4\x16\x0f\x62\xce\xfd\xef\x8e\xcc\xfc\x59\x0c\x53\xeb\x6e\xcb\x0d\x2f\xfb\x42\x5a\xfc\x3b\x0b\x7d\xd6\x6d\x7e\x39\x61\xb9\x34\xb2\x99\x1d\xac\xa2\x2d\xc2\x68\xac\x5b\x87\x0b\xb2\xd7\xf4\xe9\xcd\x8e\x1f\xcf\xad\x96\x4a\x24\xc5\x31\xb3\x05\x98\x00\x4e\xc7\x26\xcd\x7c\x27\xbb\x63\xc7\xe4\xac\xa5\x2f\xca\xba\xe9\xe7\xfc\x26\xe1\xa7\xa5\xb3\x2c\xa7\x1a\xb9\x2f\x9e\x39\x34\xec\x9d\x0a\xe2\xb3\x67\x87\x91\x29\x19\x5e\x44\x06\x14\x82\x0e\x08\xc7\x2f\xad\x15\x50\x22\xb8\xdc\x88\x45\x64\xd3\xbd\x0b\x1f\x26\x1d\x08\x53\x23\x96\xd5\x02\x70\x4b\xa0\xc8\xef\x80\x44\x1e\x98\xdb\x01\x44\xfc\xa4\x0a\xfb\xc8\x9a\x0b\xfc\xf0\xea\x1a\x4d\x88\x39\x42\xd6\xc5\x34\x47\xe1\x1e\xf3\x65\x40\xf1\x66\x8e\x7e\xde\xbb\x3b\x03\x61\x7e\xb7\x57\x4f\x6b\x0a\xd7\x43\x4c\x01\xe8\xf1\x8e\x20\x54\x86\xe7\x95\x7c\xa0\x3b\x96\xdd\x76\xe8\x29\xe2\x90\xb3\x61\x48\x16\x92\xb7\x0c\x96\xc0\xb9\xf0\x7a\xae\x3d\x6c\x79\x4e\xfa\x14\xa2\x53\x5e\xfa\xeb\x06\xdf\x78\x47\x87\xe9\xaf\x30\x18\xaa\x05\x66\xdf\xc6\x78\x21\x65\xb8\x03\xc6\xb8\x2e\x9a\x39\x95\xa6\xc0\xe2\x5c\x28\x0a\x07\xff\x28\x6e\x6f\x41\x69\x4f\xf9\x40\x75\x74\x3a\x29\x93\x53\xd8\x50\xd6\x55\x36\xbf\x26\x2a\xbd\xdf\xf6\x42\xf2\x76\xf5\xdd\xed\x70\x0c\x46\x7e\xb3\x5b\xc5\xc3\xc1\x1a\xba\xa3\x40\x0e\x8b\x08\x87\xe1\x1c\x5d\x1c\xdc\xcf\xed\x4a\x81\x15\x18\x98\x61\x30\xc8\xc8\x64\x54\xa5\x78\xcd\x8a\x5a\xad\xd0\xa1\x0b\x8d\x98\xe4\x71\x1c\x30\x2e\x8e\x57\x32\x76\xe1\xcd\xf7\xc2\x31\x68\x64\x8d\x2d\x43\x5a\xf1\xa4\xbf\x56\xd5\x41\x40\xb5\x47\x84\xc3\xb1\x7c\x67\x3b\xee\xe5\x3d\x19\x45\xd6\x18\x34\xca\x27\x4b\x3c\xfc\x40\xad\xba\x7c\x08\x8b\x98\x34\x5e\x80\x71\x09\x7c\xe5\x5c\xe5\x7f\xfb\x86\x56\x15\x1f\xe2\xed\x1b\x9f\x31\x70\xa0\x0f\x25\x5b\xc6\x23\x53\xd4\xef\xe0\x23\xec\x46\xe9\x8b\xfa\xe2\xf7\xcf\xd8\x23\xb2\xa8\x2d\xa6\x43\xa4\x49\xf1\xda\xcc\xed\xcc\xa5\xbe\x2b\x5c\x16\x29\x2c\xed\x57\x79\x79\xf2\x3a\x23\xec\xdf\x73\xed\xf7\x51\xa5\xbc\xa8\x98\xe5\x50\x5e\x3c\xf1\xf2\xdf\x45\xfe\x2f\xeb\x50\x98\x9e\xac\x94\x4e\x79\x87\x84\xba\xf3\x88\xff\xdf\x9e\x92\x3f\x29\x81\xe8\x65\xc0\xfd\x53\xfd\x92\x7f\x62\x3a\x09\x6a\x1e\x77\xa5\x6e\x61\xa6\x8d\xd2\xee\x5c\xb8\x54\xc7\xf7\x5d\x6e\x3e\x2c\xb2\xe6\x4a\x7a\xa3\xbb\x8d\x46\x20\x22\xe7\xa9\xbc\xa2\xc6\xb9\x30\x2d\xbc\xc9\xe1\x68\x8b\x00\x87\x96\xfa\xcb\x71\xf3\xb4\xb3\x28\x42\x3f\xd6\xe9\xe6\x5a\x08\x7b\x29\xb2\xb1\xcb\x36\x7b\xb3\x6f\xab\x8d\x9b\xdd\x94\xee\x98\xda\x32\x57\x43\xc1\x06\xdd\x74\xcb\x8b\x82\xdd\x67\x82\x35\xf3\x54\x38\xbe\xc3\xf6\x8e\xb0\xbe\x2c\x2b\x4f\xcd\x65\x30\x1b\x48\x55\xe0\xdc\xba\x07\xb7\x76\x52\x72\x41\xd6\x44\x8f\x0d\x99\xa7\x36\x91\x86\x12\xdb\xc5\x99\xa9\xff\x21\x16\xe8\x02\x04\x86\x44\x29\x6e\x3a\xa9\x9f\x6e\x63\x09\xa5\x61\x8b\xea\xb5\x3d\x32\xb6\xdd\xab\xef\xea\x1d\x77\x73\x39\xf4\x4f\xdd\x59\xd8\x56\x40\x5e\x8d\xe3\x58\x49\xfb\x03\x7b\x2b\x8b\x12\xea\xfb\x0b\xd5\x23\x96\xe7\x62\x9f\xae\x9e\x89\xed\xb7\xaa\x57\xf5\x16\x1b\xa0\x79\x15\x2b\x02\x40\x25\x0d\xb1\xaa\x30\x2e\xb9\x7b\xba\x27\x7e\x7b\x64\x84\x7a\xd2\x72\xed\xd3\x2f\x11\xdd\xdb\x8e\x6c\xf3\x7f\x9e\xbf\xe5\x9d\x4c\x8d\xfe\x18\x2a\x62\xdb\xd9\x64\xd2\x5f\x07\xbd\xbf\xa0\x12\x9c\x0e\x45\x63\xbd\x66\xff\xd7\xee\xe1\x15\x61\x93\x22\xc3\x73\xd8\xb5\xe2\x2d\x09\xfb\x9d\x76\x05\x14\xe7\x24\x95\x0e\x39\x35\x86\x5d\xdc\x26\x2c\xa7\xcc\x8b\xdf\x50\x17\xac\xcb\x4c\xae\x59\xe1\xdf\x24\x38\xf0\xc0\xa0\x3e\xf6\xd2\x0f\xd1\x3d\xf8\xc2\x5b\xc7\xd6\x77\xdc\x3c\x06\x2a\x09\x43\x18\x7e\xce\x24\x02\x5c\x98\xa5\x9e\x59\xc9\x59\x37\xff\x9b\x57\x24\x59\xe1\x93\x7f\xb1\xac\x5e\x90\x9c\x71\xe2\x46\x25\x45\x85\xd6\xd9\xd7\x41\xd3\x14\x57\x13\xb2\x51\xa9\x14\x37\xca\x7b\xd5\xf0\xe8\xad\xd1\x45\x48\x32\x87\x43\x06\xe6\x29\x43\xda\x1b\x8e\x75\xcd\x94\xbc\xe7\xfa\x12\x2e\x77\x39\x41\xc5\x59\x14\xc8\x93\x92\x4b\x9a\xb1\x12\xd6\xff\x81\x9c\xb8\x63\xea\xeb\x99\xeb\xc9\xe7\xe5\x64\x0a\xd1\x49\xcc\xa3\x97\x3c\xe5\x1b\x0c\xf1\x8e\xd7\xe3\x1d\x77\x82\x94\x1a\x54\x50\x4e\xe5\x90\xfd\x08\x77\x62\xb2\x8f\xbb\xd4\xa1\xbc\xa2\xb2\x22\x7e\x48\xa7\xd0\x36\xc8\x36\xca\x5f\x02\x10\xde\x30\x77\x6e\x44\x4b\x41\x41\x4e\x8e\x91\xde\x65\x39\xb8\xbe\xce\xd2\x18\xa9\xd3\x69\x46\x56\x67\x04\xb4\x3f\xfc\xf8\xac\x0f\xc2\x23\xc0\xd1\xde\x7c\x9f\xcf\xe7\xda\xe0\xd6\xbc\x5e\x0e\x32\xa5\x7c\x88\xc5\x9a\x7b\xe8\x84\x41\x26\xf0\x58\x10\x84\x7c\xb4\xe3\xac\x5b\x51\x68\x59\x88\x5e\xa1\x90\xcb\x6f\x47\x7c\xbe\x9d\xe1\x23\x57\x2a\x83\x8a\x66\x65\x60\x2d\xc6\xde\xa3\xac\x5c\x06\x07\x16\x00\x85\x36\xc6\x69\xf5\x85\xcb\xba\xaf\x2e\x74\x75\x2f\x5e\xed\xb2\xd1\x1e\x79\xfc\xf9\xe0\xb5\x6b\x41\xa8\x94\xf5\xed\xc9\x05\x02\x1e\x9f\xaf\x2f\xe1\xcb\x99\x82\xd4\x35\x99\xec\x6e\xd1\x6e\xd7\x9e\x7a\xd7\x5d\x31\xe7\xda\xda\x5a\x5b\xcf\x9d\x6f\x6d\x15\x56\x39\x35\x0f\xcb\x85\x08\x5f\xe1\x36\xe3\x9c\x09\x65\x5e\xe5\x5e\xc1\xcf\x21\x4d\xe5\xea\x1b\x19\x06\xcd\x4d\xb1\xfd\xe9\x48\xa1\x08\xd1\x87\x56\x78\x5d\x6d\x24\xef\xda\xd5\x8f\x91\x4b\x4a\x4d\xcf\x0f\x34\x46\x2d\xab\x97\x18\x6f\x51\xeb\x43\x1b\x9d\xaa\xb6\xda\x32\xd1\xc7\xed\xb3\x06\xba\x33\x71\x2f\x83\x54\x9f\x5d\xbd\x29\xf1\x1d\x16\x3c\x36\x2e\x6a\x78\x6f\xbf\x2f\x7c\x43\x41\x5e\xa6\x5b\x63\x42\xea\x32\xa9\xe3\x7c\x41\x09\xb9\x7b\x6f\x7f\xd0\x31\xad\x95\x4b\x7b\xf1\x06\x32\x41\x15\x60\x4f\xad\xf1\x0c\x1b\x46\x38\xbb\xc2\x3b\xa7\xd5\x27\x20\xbe\x8b\x39\x12\x04\x12\xc6\x80\x40\x62\x52\xc3\x5d\xee\x94\xa3\xca\xb7\xd1\x71\x2c\x56\xda\x6f\x17\x9f\x3c\x2a\xf0\x92\xfa\xf8\x6c\xbd\x11\x5e\x94\xdc\xab\xb5\x18\x51\x63\x54\xa4\x8a\x5f\x14\x91\x14\x35\x3f\x24\xb3\x55\xd8\x10\x30\x5f\x39\xd7\x8a\x20\x66\xc9\xd1\x29\x16\xfc\x03\x1c\x86\x12\x43\xc2\xc5\x05\xd7\xa5\x95\xb4\x29\xa7\x8c\x0b\xf3\xd7\x99\xe8\x84\x50\xa6\x5b\x22\x71\x2c\x36\x99\x17\xc6\x0a\x16\xba\xa8\xdd\x3c\x73\x1e\x5a\x8d\x6d\x4e\x76\x2e\x0d\x83\xb2\x81\x2e\x27\xa0\xeb\xba\x0d\x1f\xd4\x9c\x96\x11\xb9\xdf\xd5\xfc\x7d\x39\x89\xb5\x50\xcc\x82\xbc\x24\x0d\xfc\xb9\xc8\x68\x3f\xfa\xf7\xea\xcb\x83\x1b\x32\x3d\xf7\xf3\x82\x2b\x0b\x2e\xc5\x23\x47\x3d\x77\x4f\x93\x99\x1c\x47\x3e\x84\x23\xcc\x61\xc8\x00\xe6\xea\x9b\x00\x63\x64\x24\xa0\x5c\x1e\xc7\xd9\x80\x87\xee\x9d\xf8\xb5\xef\xdd\xbb\xfa\x8a\xe1\x67\xe3\xb5\x79\xb4\x5a\xba\x67\x8b\xeb\x76\x8c\x62\x9f\xbc\xf7\xd4\xb7\x61\x7a\x02\x38\x16\xa9\x7b\xc8\x9b\x7d\x0e\x42\x68\xd2\x41\xb7\x7b\x6d\x44\x03\xfe\x86\xae\x85\x85\x2e\x83\x1c\xf4\x27\x2a\x4b\xb8\xdb\x4f\x1b\x69\x6b\x3b\xa2\x9d\x44\x20\x96\x23\x99\x13\x81\x80\x9d\x1c\xae\x2f\x00\x68\x90\x86\x90\xba\x3b\x93\x40\x1a\xff\xe0\xc2\xb1\x0d\x21\xf4\xdb\x2b\xff\xda\xab\x0e\xcc\x2d\xb2\x16\x63\x9c\x6b\x6e\x2e\xfa\xcb\xef\x76\x19\x96\x24\x3f\x3a\x8b\xef\x89\xa6\x81\xef\xdc\x97\xdf\xc5\xc0\xfe\x62\xc7\x7b\xdf\x13\xcd\x61\x7a\x03\xc0\x4b\xc0\xc3\xea\xde\xa3\x64\x99\x47\x6b\x79\x56\xd6\xb6\xbc\xc1\x85\xa7\x5a\xf9\xaf\xcd\xa5\x3a\xb7\xcc\x27\x5a\x8e\x15\x73\x67\x9b\x2e\x02\xbb\x01\x4f\x5c\x17\x2f\x2b\xdf\x69\xfb\x2e\x84\xa5\x35\x6a\xca\x3e\x28\xa1\x8e\x0b\x3d\x82\xff\x3e\xf2\x08\xcb\x76\x1e\x0a\xdb\xf4\x77\x3d\x37\x5c\x83\x34\xbe\x1f\xd9\xe0\xdf\x88\x79\xf1\xfa\x7e\x29\xd8\xc9\x71\x19\x4e\x4b\x01\x02\x17\x02\x73\xa9\x73\x7e\xf2\x39\x7f\x3c\xa2\xd8\x0b\x6b\x0d\x9c\xe0\xb7\x7b\x64\x01\x86\xa6\xdf\xd6\x6f\xf9\xc3\x9e\x3b\x9f\xb5\xc7\x5a\xe8\x8d\x84\xb0\x04\xe6\x41\xc4\x52\x89\x34\xa7\x76\x72\xc3\xad\x4d\xcd\x81\x96\xd1\xb2\xf9\x12\xca\x80\x9e\x97\x8b\x26\xf2\x5f\x3e\xb5\x70\x3c\x61\x5c\x26\x10\xdd\x52\x16\xf3\x5f\x71\x9f\xbf\xcd\x6f\x0d\x40\x58\x22\x50\x5d\x54\x55\xde\x30\x79\xbf\xe8\xbe\x76\x19\xe0\x76\xb4\x0b\x77\xd6\xea\xfd\xa5\x74\xca\x5d\xe5\x55\xd5\x97\x16\xed\x69\xdf\x0b\x87\x3c\x15\x43\xd3\xe2\xf1\x69\xae\x78\x3d\x63\x31\x76\x37\x39\x8a\x28\x66\xf9\x0a\xec\x4d\xea\x6b\xf3\xda\x84\x3a\x93\x27\xda\xaa\x0a\xbb\x49\xea\x8a\x0c\x95\x06\xf7\x60\x7c\x79\xce\x08\x39\x44\xed\xbc\xa6\xf1\x35\x92\x6e\x8e\xf0\x55\x0e\x3a\xba\x43\x2b\x2f\x3e\x39\x55\xc7\x46\x28\x23\x65\x49\x94\x7c\x95\x4b\x21\xba\xda\xe1\xd0\x92\x93\x6c\x30\xa8\xa4\x33\x36\xb1\xd9\x6e\xc7\x4c\x47\x97\x65\x2a\x36\x4e\x65\x0d\x2f\xcb\x8c\x1a\xed\xd4\x8e\xd7\xc5\xaa\x6a\x6a\xd5\x9a\xe3\x77\xfa\xb4\xad\xf3\x65\xf5\xc5\x37\x72\x7c\xd1\x82\x90\xe0\x84\x94\xe4\xd6\x94\x94\xd6\xe4\xe4\x04\x99\xa8\xe8\xae\x9e\xec\xdd\x0d\x83\x41\xea\x9a\x5a\xcd\x53\xaa\x43\x72\x0a\xd6\x94\x42\xe3\x49\x9b\xb2\x6e\x74\x87\xda\xd6\x7e\xb5\x2d\xcd\x23\x5a\xe3\x56\xbb\x7f\xbb\xda\xc8\x76\xfa\xd6\x1d\x1b\x4c\xb2\xac\x42\x01\x1b\x72\xf9\xa7\x22\x39\xc5\x97\x35\x9e\xd8\xc3\x39\xe0\x1e\x80\x38\x56\x06\xbe\xea\xb8\x78\xac\x07\x68\xea\x5f\x64\x5e\xcb\x3a\x93\x7c\x78\x6d\x57\x01\x28\x9f\xb7\x7e\xab\xdf\x0d\xfa\x4d\xea\x79\x81\x2b\xa5\x29\x23\x12\x25\xca\x82\xb5\x99\x1f\x75\xfd\xaa\x85\x9d\x82\x7e\xde\xaf\xbe\x16\xfb\x87\xd1\x89\x8b\x2a\xb7\xf4\xa4\xb7\xc5\x4b\x13\xa3\x94\x58\x8e\x83\xaf\xef\x3c\xf8\xcf\xd1\x67\xab\xfb\x37\x00\x7c\x60\x10\x80\xcd\xda\xd6\x7a\x12\xb0\xc6\x48\x30\x95\x1c\xb4\xcf\x69\x6b\x59\x98\x3d\x32\xc7\x16\x16\xe4\xe1\xef\xfb\xe5\x6e\x0d\x5f\xfb\xd7\x75\xff\x58\xbf\xfe\x47\x57\x56\xd2\xb9\x8e\x8e\xb3\x81\x59\x5d\x2f\x4b\x3c\x4a\xee\x54\x64\x6e\x16\x9d\xb8\xb8\x59\xb3\xed\xe6\xf5\x4a\x4d\x36\x40\xe0\xe7\x72\xdd\x8d\x9c\x1b\xf3\x4e\xfb\x62\x6a\xbe\xef\xd3\x44\x1d\x38\xb5\x7c\x20\xcd\xc2\x27\xe4\x2b\x5e\x0e\xb7\x6a\x8d\x8b\x74\x7d\x8c\xf3\x07\xfb\xce\x81\xb4\x62\x46\x41\x47\xc4\x8a\x90\xa4\xbd\xcc\x83\xf9\xe9\xa2\x2f\xaf\x9d\x63\x96\x44\xa7\x3b\x27\x66\xb4\x7b\x73\x88\x29\x79\xb1\xc0\x18\x27\xfa\x09\xf9\x4b\x31\x37\xb4\xfa\x93\x45\xe5\xd3\x6d\xfa\xe8\x98\xb7\xd2\x94\xd3\x7f\x1b\x6b\xe1\x3c\x23\xfa\x04\xeb\xfd\xaf\xe1\xea\xa8\x8f\x53\xd4\xf8\x49\xb8\xc0\x56\x90\x3a\xe0\x09\xc7\x65\xf0\xf8\x1b\x38\x1e\x5a\x99\x28\x74\x20\x69\xbb\xf7\x40\x3e\x06\xf6\x38\x5b\x84\xe6\xc0\xeb\x34\x58\x4c\xef\xfd\xf0\xfb\x87\x7b\xa2\xc0\x4a\x2e\xfe\x17\xca\x14\x2e\x0a\x35\x7c\x45\xbc\xcf\x5e\x5d\x73\xd2\x9d\x63\x9d\x43\x11\x7e\xe9\xe1\x1b\x07\xd8\x12\x4c\x40\xfe\x21\x3d\xe1\x49\xa5\x14\x17\x75\x7f\x7a\xea\x6d\x0e\x9a\xca\x90\x5e\xbd\xdb\x49\x55\x3a\x94\x10\x80\xe9\x98\x6c\xd1\x63\x50\x25\x00\xdb\x37\xf0\xec\xad\xcd\xb6\xed\x4e\x3e\xb5\xd9\xb6\x6d\x6f\x9b\x6b\xdb\x6c\x9b\x9b\x6d\xdb\xd6\xc9\x6e\x33\x4e\xb6\x7b\xe7\x79\xef\x79\x66\x9e\x0f\xf7\xef\xeb\x35\x73\xe9\x6f\xfe\x15\x33\xb8\x15\x8d\x61\x82\x0a\x34\xe1\xb0\x86\x62\x8d\xaf\x1b\xb2\xb9\xf4\x1a\x16\x58\x5d\x71\x84\x53\xe9\x88\x78\x3e\x76\x22\x5b\xbd\x8a\x4f\xa2\x8b\xfa\x0c\x7c\x01\x11\xd2\x20\xe7\x09\x69\x0b\x30\xaf\x01\xe3\x7e\xd9\x89\x4d\xd0\xbf\xe7\xe5\x20\x13\x5a\x3a\xf0\xad\x6d\xce\xe7\x49\xdc\xa5\x9c\x5b\x1a\x12\x13\x14\x5c\x87\x30\x2b\xac\xa4\xca\x4e\x1e\x0b\x5d\x72\x39\x31\xb9\xa4\x4d\x26\xfe\xb5\x31\x0c\xd4\xd6\xb7\xd7\xde\x6e\xdc\xdc\x48\x0a\x4d\x48\x4b\x43\xf3\x61\xe6\x0f\xa8\xc9\x69\x38\x1c\x7c\xbb\xf8\x38\xd6\xf4\xc1\xda\x43\x5b\x07\x02\x1f\x68\x36\x51\xef\x18\x8c\x6c\x9e\xaf\x6b\x13\x0d\x0a\x86\x0b\x44\x5a\xe3\xfb\xf7\xd5\xfd\xd1\x37\xf9\xf0\x7d\xa6\xce\x89\x35\x9a\x9c\xab\xdf\x15\x3e\xd6\xb4\x89\x57\xe2\xff\xc2\xda\xbe\x0e\x8d\xab\x9d\x66\x95\x6b\xf1\xf3\x5f\x81\x44\x34\xb1\x92\x34\xd7\x7a\x6a\x2b\x84\x98\xbb\xbb\xfd\x8c\x2c\xde\xb2\xf6\xbd\x50\xa1\x7d\x22\x87\x62\x73\x0c\x7b\xad\x48\x16\x6d\x2c\x8f\xad\x4f\x6c\x0b\x5c\xd1\x52\x17\x6b\x50\x72\x6e\x57\xd8\xe8\x22\x46\x3d\xb0\xf8\xd8\x1a\x63\x8b\x7c\x8e\xd4\x97\x99\x94\xd4\x77\x05\xfd\xbf\x45\x46\x8e\xa1\xa0\x63\xc4\x0a\xcf\xb6\x6a\xe3\x69\x6a\x63\xcf\xe1\xe6\xe0\xd5\xf1\x76\x35\x1a\xfe\x9c\xa9\xa8\xba\xe9\xca\x18\x62\xad\x4e\x2f\x2a\x0d\xf5\x42\x6a\x95\x24\xa1\xe9\x4b\xa0\xd2\x95\x1f\xba\x80\x2e\x3a\x18\x8b\x23\x17\x47\xd8\x3b\x1a\x81\x9f\x90\x76\x9c\x0c\xe2\xdd\x75\xa8\x1f\x27\xc1\x68\x5d\x3e\x91\xef\x88\x7f\x69\xe5\x8f\x33\xbf\x90\x85\xa1\xad\x20\x87\x33\xd3\x07\x2e\x08\x8e\xb4\xf8\x0d\x11\xf5\xc6\x8a\xf8\xed\xee\x10\xcf\x40\x6c\x8f\xaf\xcf\x1c\x81\xb6\x02\x91\x28\xa0\x68\x77\x7d\x7d\x27\x39\x5e\x8c\xfc\xea\x9e\xb5\x10\x39\xf9\xd3\x0f\xc0\xe5\xf0\xf9\x7e\x3c\xf4\xda\x4d\x2c\x6d\xa7\x7f\xc2\xd3\x64\x92\xa0\xf2\x2a\x2d\xa2\x1d\xe0\x86\xb3\xa6\x21\xf4\xe6\xf8\xb7\x73\x70\x5b\x8f\x5c\xc3\x1d\xaa\xa2\xe5\x29\xad\xcd\xc9\xd2\x53\xcd\x0c\x9d\x8a\x7f\xa3\x97\x40\xe4\x0b\x80\x78\x76\xfb\x76\x23\x4d\x16\x9f\xc9\x1d\xaa\x9e\xf0\x9a\x17\xe4\xd7\xd5\x22\x42\x88\xf7\x91\x84\x53\x1d\x87\x26\x14\x99\x3b\x8e\xae\x21\x6c\x69\x37\xf9\xf0\x7e\x28\xbf\xfc\xd8\xd9\xa1\x00\x2c\x51\x13\x51\x94\x4c\xcd\xca\xe6\x09\xde\x47\x25\xed\xa2\xc2\x62\xe9\x96\xd6\xee\xd0\x47\x23\xf9\x95\xc2\xfd\x40\xdc\xd3\x83\x54\xfb\x08\x8e\x7c\xb9\xb7\x5a\x4c\x32\xa7\x0e\x4c\x28\x24\x02\x7c\x5b\x53\x6a\x40\x56\xc8\xff\x8e\xe5\x60\x79\x93\xa5\x1b\x63\xae\x02\xec\xbf\x2d\xe5\xb5\x4b\xce\x9d\x3b\xfe\x56\xd7\xc8\xab\xb9\xf7\x9b\x60\xce\x56\xab\xb3\xd3\xc7\x7b\x1d\x02\x29\x89\x9b\xb0\xdd\x7b\x29\x38\x21\xf9\xe6\x2b\xc0\xd2\x92\x83\x1c\x2d\xc8\xe0\x4e\x76\x18\x0f\xd0\xf1\x9e\x76\x71\xc8\x39\xb2\x03\x09\x25\x36\x12\xc2\xa1\x0c\xdf\x7a\x75\xbf\xcc\x54\xa6\xe0\x11\x1e\x37\xda\x9e\xb7\xb2\xcc\x40\x5f\x5e\xce\x2d\xbd\x7a\xfa\x72\x87\x97\xdf\x47\x0d\x49\xe6\xf6\x87\x6f\x3e\xee\xe7\xa5\xcc\x8d\x3a\xb2\xf4\xd1\x38\x2d\x2c\x42\x04\xaa\x3f\x51\x21\x9c\x8d\x59\xd8\x96\x1c\x24\xce\x06\x11\x45\x87\xbf\x76\x1d\x58\xc8\x5f\x4e\x3a\xdf\xf0\x94\x5c\xe9\x1d\x02\x06\xdf\x85\xe6\x13\xe9\x80\x22\x92\xc0\xb0\xe6\xf9\x36\x40\x8d\xcf\x8c\xc1\xde\xf8\xe7\xf8\x59\x20\x3b\x47\x07\xc7\x84\x4a\x88\x39\xce\x0b\x8a\x08\x41\x5f\xef\x9a\x2e\xfb\x9c\x62\xea\x57\xa1\x1e\x12\xff\x67\x59\x7c\x95\xb4\x7e\xff\xd4\xcf\xcd\xd0\x39\xa8\x7d\x82\x93\x20\x31\x8b\x34\xb5\x2a\xb5\x6b\x55\x5f\x71\x9c\x49\x54\xec\xbd\x78\x6d\x09\x31\x2f\xf3\xd3\x20\x6b\xe7\x5d\x3e\x11\x38\x08\x41\xba\x17\xc6\x97\xbb\x9d\xe7\xad\x31\xaa\xa9\x0c\xae\x92\xbe\x61\x01\x16\x7c\x3e\x70\x74\x14\x3d\x77\xc6\x93\x79\xa9\x05\x7e\xb1\xdb\x4a\xab\x37\x15\x64\x6f\xc3\xce\xa7\x46\xd6\x8a\x25\xe9\xd9\xd6\xdc\xbc\x4f\xc0\xe7\xa1\x20\xcd\xd6\x2f\x84\x79\xaa\x64\x84\x82\x53\xd3\x5b\x7a\xb9\xde\x40\x64\xad\xbb\x88\x03\xf5\xaf\xfa\xa9\xdb\x1d\x0c\x0c\xd5\x0e\x5e\x9d\x7e\xdb\xa4\xe2\x17\xda\xf2\x2e\x60\x80\x9c\xa1\x94\x56\xe0\xaa\x4f\xba\x13\x2a\x35\xef\xe5\x5d\xf4\xcb\x92\xb9\x47\x33\x7c\x61\xc3\x60\x40\xf3\xb4\x2c\x18\x1e\xce\x6a\x53\xe1\xdd\x1b\x91\x93\x25\x3b\x12\xa0\x36\xad\xf7\x61\x58\xe6\x18\x06\xec\x5f\x2c\x84\x9e\x83\x8c\xb4\xef\xd9\x9e\x16\xe3\xcb\xd7\x36\xef\xc5\x9c\x17\x03\x12\xc1\x24\x4e\x72\xfb\xb0\x3e\x0e\x5c\xa4\x4c\x9d\xfb\xb0\x5e\x6e\x2c\xf9\x0c\x90\x0d\xe2\x70\x88\xfb\x88\x7f\x73\x3f\xf6\x70\x8a\x3e\xad\x1d\x3e\xfb\x9a\x2a\x45\xfb\x47\xf8\x27\xfe\xdb\x7d\xe0\x7b\x80\x18\x91\x6d\x96\x59\x28\x38\xf9\x65\x55\x7d\x93\x72\x2c\x13\x65\x03\x13\xae\xbb\x06\xec\xc5\x28\x9f\x70\x27\xe2\xc1\x3e\x76\xfd\x71\x0a\x7a\xc8\x31\xeb\x13\x99\x35\xd8\x3a\x05\x9e\x17\xfb\x7e\xe6\x0c\xca\xa1\x3c\x46\xf1\xd5\x06\x99\x4f\x69\xd7\x07\x45\x6c\x6c\x58\x30\xb9\x46\x3f\x75\x00\xb8\xb9\x43\x8e\x67\xc1\x5d\x5d\x73\x6b\xf1\xe9\xa0\x15\x7d\x7d\x6e\xd1\xc6\x45\x30\xe2\x36\x20\x12\x31\x50\xef\x6e\xfa\xc7\xa7\x7f\x5b\x73\x3f\xc8\xf4\x14\x36\xc6\x8d\x68\xd6\xd0\xe3\x45\x82\x84\xde\xd8\x4d\xc9\x15\x14\x47\x6f\xb1\x5d\x02\x6b\x2f\xa6\xbb\x29\x22\x67\xf5\x59\x9f\xbb\x93\x93\xd3\xeb\x1d\x7b\xc4\xea\x60\x53\xaf\x40\x4f\xd8\xe1\x8b\x2f\x8e\xbe\xa3\x9a\x03\xea\x4d\xaa\x15\x2a\x2e\x9b\x60\x3d\x47\x7d\xf7\xed\x80\x19\x75\xf6\xd6\x2a\x52\x16\x13\xec\x7f\xf7\x5c\x73\x27\x15\xa2\xe3\x4b\xc5\x71\xe0\x75\x58\x8d\x6c\x65\x96\xd7\xaa\xa9\x63\x71\xe4\xaf\xd7\xf5\xf3\x38\xca\xc9\xe7\xe9\x40\xf2\xf8\xf7\x87\x8a\x22\x07\x76\x4d\x89\xbb\xe4\xfa\x67\x38\xf7\x57\xcf\x69\x74\xdf\xa1\xe2\x72\xe0\xbd\x00\xcd\x54\xc1\x45\x31\x34\x19\xad\xaf\x21\xdb\xce\xfb\x19\xca\xd2\x83\x6a\x25\xcb\xad\x3a\x9d\x2f\x95\xf3\x9f\x97\xb1\x86\x2c\xbc\xd2\x49\xf2\x9e\x10\x05\xfe\xbe\x6f\x3f\x9d\xd4\x87\x4a\xe4\x3e\x33\x92\x15\xa4\x69\xff\xcc\x13\x27\x75\xa4\x9c\x2a\x45\x46\xf9\x72\x34\xf3\x28\xd6\x72\x5f\x45\xd8\x91\xb1\xcb\x32\xaf\xb1\xa3\x9f\xe9\xe8\xb8\x3d\x74\x10\x6b\xda\x68\x6c\xf0\x3a\xe1\xbd\xc0\x0c\x58\xea\x38\x8f\xbb\x11\xd6\x31\xa4\xd8\x23\x8e\xb3\x2e\x4b\xfc\x72\xe3\x90\xad\xd8\x63\xfd\x0d\x24\xf6\xad\x6b\x1d\x6e\x0b\x92\x2c\x32\x65\x06\x69\x8a\x9a\x49\x5e\x81\xf9\x0b\x16\xfb\xa7\xec\xcf\xec\xa7\xaf\x7c\x8e\xeb\x3b\x31\xdf\xb0\x59\xe4\xee\x5f\x7a\x14\xe8\xf0\x78\x14\x74\x70\xb5\x7a\x97\x98\x38\x3b\x48\x2a\x3d\x50\xd2\xd2\xd2\x24\xcc\x06\xca\xf1\x55\x72\x76\xfb\xa3\xce\x09\x05\x91\x12\xca\x57\xc5\xd4\x81\x3b\xf6\xef\x00\x0d\xdd\x96\x1d\xa2\xa7\xea\x48\x06\x10\xc1\x94\x0f\x8c\x44\xcc\xad\x8d\xb3\x98\x7a\x13\x57\x8f\x19\xbd\xe5\x1a\x1d\x3b\x2b\xdc\x23\x82\x2e\x3a\xd3\x8d\x52\x7e\xc1\x77\x26\xe4\xae\x31\xf5\x4c\x0b\x89\xe5\xb7\x11\x1c\xb1\x94\xd7\x39\xbb\xd5\x54\x0c\xa2\xa7\x69\x0c\xb9\x77\xa6\x1b\x54\x39\x69\xfe\x52\x9a\xb1\x6b\x4a\x42\xe9\xa7\x7a\x88\x53\x71\x6e\x07\x57\xe9\xda\x9b\xfe\x7d\x20\x67\xbd\xca\x8e\x24\x45\x75\x6f\x97\xf8\xc2\x5c\x44\x5c\xd1\x00\xcf\xea\x4d\xe4\x70\xab\xf2\xac\x70\xdb\xce\x1e\x22\x79\x17\xb6\x86\x4b\xa8\xfb\x2d\xcb\xd5\x96\xe5\xa6\xd9\xb1\xe1\x41\xd3\xcf\xad\xab\xbe\xdf\xda\x55\xfa\xba\xba\xfb\xb2\x8d\x75\x7c\x10\x9a\x06\xd5\x73\xf5\x6b\xe1\x8c\x68\xbe\x77\x96\x57\x07\x2e\x81\x4c\x43\xc7\xf3\x71\x37\x87\xa2\x35\x46\xac\x87\xc1\xe9\x87\x74\x94\x60\x32\xfe\xe4\x99\xa4\x88\x14\xbb\xdf\x2a\x9b\x8e\xb3\x93\xfe\x62\x7f\x91\x32\xb2\xb2\x32\x71\x04\x6b\x67\x1b\x15\x9e\x2c\x63\x02\xc7\x8b\x4b\xa8\x60\x04\x05\x30\x43\x0e\xc1\xc9\xa8\x16\x71\x05\x07\x33\xeb\x45\xec\x78\xc4\xd4\x11\x11\x36\x93\x77\x20\x09\x0d\x54\xab\x1b\x17\x06\x81\xbb\x38\xd5\xa3\x23\x76\x21\xed\xd8\x41\x6b\x2d\xe3\x30\x4d\x8d\x55\x57\x40\xeb\xd5\x0c\x8b\x0e\x06\xc5\x8c\xcb\x53\x09\x94\xd7\xb4\x56\x23\x5d\x1e\xb4\x42\xd5\x25\x4d\xde\xa7\x4b\xd3\xe7\x6c\xf8\x53\x1a\xbc\xe9\x6d\xcf\x27\x36\xfd\x97\x19\xda\xef\x96\xdb\xe5\x25\x51\x47\xdb\x6d\x99\x0d\x2d\x2e\xaf\x62\x82\x8c\x9f\xf0\xf3\x39\x2b\xec\x65\xeb\xe7\x2a\x13\x38\x50\x9b\x41\x91\x01\xe7\xb6\x8f\x88\x3c\xd0\x93\x44\xd1\x4f\x5a\xe4\xd6\x97\xe6\x00\x5c\x5c\xc0\x6d\x14\x85\x62\x5b\x57\xed\x64\xd3\xf3\x7d\x2c\xff\xa5\xd8\x8d\x82\x3e\xc4\xcf\xe0\x4e\x1b\x76\xd7\xfa\x32\x3d\x12\xe0\x5c\x90\xd3\x94\xcf\x7e\x8c\xba\x84\x77\xb7\x6b\x03\xe2\x3e\x4f\x25\xee\xbe\x1d\x50\xb7\xe3\xbd\x4a\x45\xaf\x13\xbc\x03\x98\x65\x8d\x0e\xef\x8b\xc4\x1f\xd3\xfc\xf2\x61\x59\x41\x10\x5a\xaa\xd9\xa4\x68\xc0\x66\xcc\xaa\x78\x5c\xe0\x13\x02\x93\xc9\x2d\xc8\x5b\x30\x19\xab\x9d\xa2\x34\x78\x4c\xf3\x39\x69\x4d\xff\x1d\x4f\x7a\xb7\x1f\x59\x47\x22\x6e\xc3\x37\x5a\x9c\x97\x4a\x5b\x09\x35\x51\x4d\x64\xeb\x48\xb7\x18\xdc\x1b\x9f\x27\x30\x1a\x0d\x24\x75\x7f\x8c\x68\x81\xe6\x86\x4d\x9a\xd4\xe6\x08\x39\xb7\xcb\x15\xc6\x41\x28\xc9\x58\xd0\x6b\xe5\x0f\xf8\x03\x8b\xf1\x69\xb7\x0b\x4a\x63\x05\xf0\xdf\xe9\x0c\x26\x26\xdf\xdf\x33\x6a\xb1\xb0\x8b\x9a\x2f\xa3\x59\x08\xf4\x5b\x5e\xdc\xe5\x70\x3d\xb6\x45\x54\xc7\xe8\xb0\x24\x4f\x6c\x1c\x49\xf3\x97\x9c\x40\x1a\xe6\x0e\x4e\x4c\xcc\xb4\x19\x53\x10\x08\xe6\x48\x1f\x94\xbe\x6b\xe5\x6d\x3d\x4a\x91\xa7\xb9\xb7\x29\x8c\x32\xe1\x13\x9f\x95\xe8\x8a\xc8\x63\xa9\x03\xb6\xcc\xc4\x82\x06\xb6\x30\x6a\xb7\x63\x43\xfb\x12\x91\xda\x49\xb6\x85\x41\x44\x00\x6a\xf6\xe6\x3a\x2a\x09\xee\xe4\x4c\x7e\xf1\x54\x3b\xe5\xf2\xae\x7f\x31\x21\xd1\x1c\xae\x05\x98\x22\xe1\x25\x41\xab\x6f\xdc\x01\x21\x98\x2d\x1f\x15\x89\x5b\x29\x8c\x91\xba\x21\xaf\xe9\x18\x95\x96\x7e\x45\x13\x52\x23\xdf\x90\x01\x59\x99\x7b\xd1\xaa\xc4\x42\xed\x5c\x52\x4a\xa6\xaf\xc7\xea\x93\xad\x0d\x48\x01\xed\xfb\xb3\xb1\x49\xf0\x94\x46\x6f\x1e\x95\x28\xea\x26\xf3\x8d\x25\xb6\xaf\x25\x85\x3f\xbb\x07\xf5\x32\xa7\x3e\xa2\xc7\x5f\xa5\x7b\x11\x03\x99\x61\xbc\xdc\x22\x2e\xf7\xa4\xea\xcc\xf1\xc6\x30\xad\x33\x44\xdd\x59\x74\x13\xb8\xb9\x14\x0d\x7b\xa0\x1b\x5e\xc1\xe0\x46\xd5\xdd\x85\x06\x4c\xa9\x0d\x0e\x15\x50\xc2\xc3\xab\xbe\x0c\x4e\x58\x3a\x69\xf7\xb6\x30\xfe\x5d\xac\x81\x37\x91\xf2\xec\xf0\xbf\x15\xa1\x13\x61\x5a\x81\xa6\x6e\xd7\xac\xc9\xb3\x74\x60\x0f\xaf\xf8\xb0\xa7\x9e\x1d\xb7\x6d\x12\x97\x0c\x42\x87\x7a\xa9\x06\x62\xa3\x16\x98\xad\x8e\xa1\xb2\xb0\xb4\x02\xc7\x7a\xbd\x6a\x55\xd2\xaa\xf8\x43\x5e\xd5\xea\x55\x9b\x69\x7a\x74\xd3\x4c\x34\x9a\x3c\xf2\xea\xfc\x88\xe1\xfd\xdc\x8f\x3a\xe9\x00\xd9\x0d\xfb\x49\xc7\xf7\xd5\x07\x66\x4c\xb2\x73\x0b\x7c\xcc\x98\xf0\x3e\xe3\x6e\xf0\x4c\xb5\x6a\xe4\x24\x53\xe5\x8a\xc1\x08\xef\x36\xdc\x81\xff\xf1\x8b\xb7\x3b\xfd\xb2\xbd\xcc\xad\xf3\x38\x20\x2e\x55\xf5\x4f\xd9\x26\x90\x89\x1a\xcf\x28\xb2\x9d\x56\x91\x09\x37\x88\x97\x91\x6c\x72\x0d\xa6\xde\x6e\xa8\xf4\x46\x72\xc7\xca\x9c\x95\x4a\x2f\x94\x3b\x0d\x95\x36\xbb\x46\x77\x66\xf4\x2f\x09\x7d\x4a\x56\x13\x81\xe8\x9e\x8f\x72\x52\xfe\xc9\x37\x9f\x6a\x0e\xf3\xcf\x65\xcb\xcd\xe2\xd3\x56\x31\xba\xb2\xa0\x5e\x15\x8d\x0c\x2b\xf6\x19\xd7\x17\x7d\x81\x3d\xe9\x97\x28\x04\xd3\x9e\x69\x6c\xd3\x15\x64\xf8\xd9\xe0\xfb\x90\x2f\xd2\x9a\x7f\x24\xc9\x85\x16\x8c\xf6\x32\x71\x14\x9b\x14\x4f\x0b\xd9\x45\x29\xdf\xaa\x02\x58\xba\x80\x08\x49\xe5\xc2\x36\x76\x17\xc7\xa0\x43\x4d\x0e\x9d\x65\x57\x2c\x96\xb8\x01\x9e\x53\x50\xd4\xac\x20\xc1\xa6\x92\xa4\x9f\xdc\xce\xa1\xbd\xd9\x08\x23\x55\x29\xe5\x64\x29\x82\xcf\x78\x3a\x12\x8f\x5a\x1d\xdf\x7c\xbc\x7b\xd3\xc2\xd1\xae\x79\xf0\x29\xc8\xf8\xed\xf2\x94\xa1\x09\x63\x2d\x05\x46\x7b\xf6\xbc\x7d\x89\x7b\x53\xe8\xf5\xdd\xe2\xf8\xe4\xbe\x17\xc3\xc9\x1d\xe0\xff\xc5\xb5\xc8\x3c\xef\xf9\x31\x66\xd9\x3e\x49\x93\xe7\xbb\xd1\x65\x76\x58\xfd\x55\xd8\x2a\x30\xd0\x55\xcc\xd4\xa9\x7b\x91\x6d\xb4\x55\x3c\x48\x63\xb7\x5f\x5b\x3e\xf0\x71\x7a\x81\xac\x4f\xf3\x50\x6b\xe6\x21\x79\x8d\x90\x60\x86\x03\xce\xaf\x01\x9c\x91\x84\xad\x26\x7f\xbe\xcf\x68\xc9\x0d\x3f\x45\x19\xac\xfb\xa9\x04\xea\x94\xf2\xcf\x6f\x4a\xa3\x60\x88\x0a\xb9\xb2\xca\xb9\x6b\xa9\xcf\xe3\x00\x3e\x1a\xa6\x34\x9d\x6c\x8a\x21\xeb\x72\x5f\xfe\x55\x4f\x5d\x08\x1c\xc0\x2f\xc5\x44\x77\x13\xe1\x31\x56\xe1\x6f\xa5\x2a\x01\x2d\x92\x7a\xe2\x7a\xcf\x26\x1c\xa2\x18\x57\xf8\xb4\x52\x4b\xbf\x18\x42\x39\xab\xa3\x96\xe0\x14\x2a\x92\xdc\x85\xa0\x70\xb3\x3a\x99\x9f\x75\x55\xe9\x07\x46\x8f\xfb\x42\xc3\x55\x22\x7e\x91\x4b\x7c\xcf\x57\x31\x69\xa3\xe3\x4b\xc3\x56\x66\xfc\xf1\x6b\xd4\x47\x64\x11\x56\x82\x08\x83\x3b\x95\x01\xd3\xa5\xda\x00\x58\xb5\x40\xfa\x35\x3e\xfb\x4b\x2d\x71\x15\x35\x82\x5c\x6b\x3f\xbe\x6d\x08\x80\x8f\x65\x45\xbe\xae\x18\xfd\xe7\x78\xa0\x50\xc6\xb5\x2d\x54\x4b\xa9\xee\xa8\x6b\x14\x66\x31\xcc\x1c\xc7\xc1\x34\xa8\x26\x51\x6b\xee\x47\x67\x72\x8f\xc2\x10\xf9\x7e\xdb\xc7\x03\x83\x4c\x7a\x9d\x30\xec\xcf\x05\x4e\x41\x5d\xc2\xca\x1b\xa7\x91\x35\x4e\x36\xed\x7f\xed\x9f\x79\xa1\x41\x38\x70\x01\xdd\xe9\x9b\xa5\x10\x9f\xc0\x28\xaf\xec\x62\x64\x19\xa1\x36\x6e\xe3\xa5\xae\x62\xae\x4d\xdb\x0f\x05\xa6\xc8\x38\x31\xaf\x0a\xa1\x6b\xa7\xad\x88\x5a\x75\x67\x29\xed\x89\x19\x49\xa7\xf7\xa6\x69\x7f\x8d\x4f\xa7\xe8\x26\xb8\x4c\x46\x5d\x07\x29\xd0\xf9\xa7\x37\xf3\x83\x26\x1e\x73\x62\x6a\xa4\x00\xa9\xf7\x85\x4d\x5c\x49\xd6\x44\xa0\x48\x31\x37\xbe\xbf\x19\xaf\xcf\x65\x6b\xc6\xe3\xed\xa5\xe3\xb2\xb2\xfc\xbe\x7a\xae\x4f\xfc\x67\x3e\xe3\x82\x20\xf1\x8b\x3a\xd7\x59\xec\xf9\x8f\xfd\x23\xe6\xcd\x1e\xbd\x62\x11\xd1\x92\x79\x73\x56\x2f\x11\x8b\x96\x3b\xd1\x27\x06\x87\x61\xeb\xf1\xac\xd4\x70\x36\xce\x13\x54\x45\xe1\x63\xbe\xbf\x64\x77\x9c\x4f\x27\xe2\xf9\xcb\x93\x49\xcd\x01\xe9\x24\x44\xa1\x13\x55\x08\x57\x3b\x67\x70\x24\x85\x41\xa0\x7f\x5e\x50\xe7\x0c\xa4\x3e\x8c\x28\x97\x32\xf8\xf7\x96\xe2\x54\x50\xdc\x1e\xbd\x08\x78\xc9\xf9\x05\x7a\x12\x70\x51\x52\x98\x25\x16\x49\xa1\xf2\x3b\x16\x3d\xee\xae\xbf\xa5\x6f\xff\x75\xa0\x8d\x1f\x43\xb1\x47\xe7\xa0\x37\x11\xa6\x90\x76\xa9\x7f\xf9\xcf\x94\x12\xff\xd4\xf2\xf2\x68\xa4\xfa\xe5\x66\x8b\x87\x51\x65\xc9\x41\xf7\x61\x7e\xb2\x71\x25\xb9\x62\x65\x60\xa7\xe6\x4d\xee\x9f\x4f\x6b\x40\xc2\xcf\x05\x6b\x0c\x13\x61\xef\x65\xc3\x9e\xa7\x33\xd1\xf6\xbb\x0f\xe0\x75\x87\x50\xad\xbe\x5b\x38\x44\x8f\x21\x23\x0b\xba\xcd\x72\x8f\x9a\x26\x4b\x6d\x28\xee\x31\x1c\x1a\x80\x5e\x6a\xc4\x08\x1a\x6a\x4d\xa7\x35\x14\xff\x4b\x7a\xfc\x6b\x7e\x71\x0e\xf4\x14\xb4\x20\xe3\xa1\xe8\xc3\x48\x25\x3c\xea\x8b\x72\xbb\xb8\xda\x7b\xe7\x7d\x2e\x69\xfe\x82\xbb\x8d\x9f\xbd\x6d\x82\x72\x41\xd2\x91\x30\x75\x54\x00\xa3\xd4\xb5\x63\x2a\x2e\x4f\x0a\xf2\x99\xaa\x7a\x6a\x76\xea\xeb\xc9\x11\xe4\xf6\xfd\x9a\x88\x4f\xfd\xcd\x2c\x2e\x93\x97\xbf\x93\x69\xf7\x52\xbd\xe2\x05\x6e\xfe\xe1\xa4\x35\xcc\xf8\xe4\x94\x32\x39\x6e\x78\x32\x44\x6b\xa8\x08\xbc\xe9\x3f\x21\xc3\x11\xe2\xd5\xf7\x05\xb8\x3a\xb3\xed\xf9\xcb\xb8\xf4\x21\x87\x69\x77\x3d\x46\x66\x9e\x57\xbc\x36\x16\x4e\x70\x56\x23\x69\x27\xe7\xae\x9b\x7b\x79\xf7\x55\xd9\x67\x8c\x8f\xb3\x55\x4b\xe0\xa5\x23\x3b\xd3\x3f\x6c\xc8\x61\x47\x9b\x57\x93\x4c\xfc\x18\x4a\x66\x8a\x12\x3f\x94\x0b\xfe\x8b\x3c\x93\x6b\x17\xd4\xfe\xe1\xf0\x75\x73\x09\x34\xa4\x0a\x43\xb1\x54\x35\xe7\x53\xa0\x50\x29\x1b\xa3\x7e\x06\x97\x8e\x94\x81\x0a\x2d\xef\xa5\x2b\x46\x07\x4b\xc3\x0c\x4e\xf9\x8c\x54\x37\x5f\x34\xb2\xea\x44\x5d\xee\xfc\x04\x37\x57\x5f\x82\x97\x85\x7e\x1b\xde\x8c\x48\x32\xaf\x47\x2d\x6a\x66\x76\xde\x76\xc1\x9d\x67\x76\x6b\xba\xf4\x30\x0c\xe5\x54\xb0\x06\xb8\x6d\x42\xb8\x26\x67\x1e\xbf\x6f\xc1\xa3\x15\xd5\x81\xa7\xf1\xdd\xc9\x8d\xc5\xc1\x9b\xdb\xb7\x7a\x32\x60\x8f\x67\x21\x7a\x44\x09\xbb\xc8\x5f\xdb\x04\x95\xcb\x76\x63\xbd\x56\x4e\xee\x1f\x6a\xc9\x4c\xc6\x2f\xc7\x60\x10\x03\xea\x71\x63\x21\x7f\x38\xb2\x95\x60\xb0\x62\x6b\x61\x44\xc2\x6c\x0f\x95\xcf\x72\xf9\x7a\x9a\x43\x7a\xcf\x4e\x4a\xce\x64\x27\x3f\xc0\x61\x42\x7e\x2a\x47\x53\xb9\x0c\x31\xe2\x05\x2d\x58\xd7\x29\xc7\x73\x3f\xf4\x5e\x7f\xcd\x94\x56\xec\x79\x5d\xde\xcf\xdb\x85\x5c\x08\x5b\xc2\xa3\x00\xc9\x9a\xb7\x22\x3d\xe9\x67\x64\xa2\x5e\xbf\x24\xa7\xb6\x59\xf0\xd2\xae\xb6\xab\xfb\x35\x4b\x37\x15\x8c\x9c\xef\x2a\x67\xa4\x69\xd2\x02\x6f\xf1\x43\x86\x2b\x6c\xf1\x7c\x54\xe5\xc7\x06\x50\x81\xc8\xdb\x74\xbb\xac\x42\x94\x74\x7f\xb1\x14\x38\x61\xc7\xa8\xd2\x88\x7f\xf6\x5d\x28\x52\x56\x57\x40\xfd\xd9\xca\xf5\xa5\xd7\x40\x81\x00\xd3\x47\x6c\xd1\xef\x87\xdc\xd0\x22\x36\x0d\x5b\x5e\xb4\xa4\xbf\x7f\x81\x0e\x78\x9f\x3f\x46\xd9\x20\x53\x7f\xec\x00\xe9\x47\x4b\x74\xa2\x7a\x11\x03\x4d\xfd\x07\x93\x24\x69\x9e\x3b\xcc\xbd\x46\xab\x57\x5a\xc9\xbe\xb1\x74\xe0\x87\x63\xe3\x37\x47\x92\xfa\xcc\x6f\xc8\x92\x9f\xfb\x7d\xbe\x13\x72\x71\xf6\x8e\xa1\x20\xcf\xbe\x48\x7c\x7d\x96\xc3\x98\xeb\xf4\x6d\x69\xdf\x9a\xc1\x79\x19\x87\x58\xa6\x61\x1b\x83\x46\x1a\x82\x52\x48\x46\xb1\xc8\x76\xbe\xbb\xe7\x52\x42\x71\x54\xdd\x88\xd0\x93\x40\x40\x10\xe3\xd1\x9b\xd5\x47\x5c\xfc\xa8\xb8\x5b\xff\xa5\x70\x76\x79\xc8\x35\x64\x2e\x4c\x68\xe4\x41\xe3\x32\x8a\x83\x69\x7a\x80\xaf\xcf\x79\xa8\x8f\xcb\x6f\x25\x77\x2f\x8b\xbd\xb0\xf5\x2a\x3a\x46\x00\xcc\xce\x81\xd3\x44\xb8\x37\x1b\xed\x35\x25\x47\xbd\xa6\x0a\x7c\x43\xee\xea\x68\x1a\x96\x42\xa8\x44\x63\xad\x5f\x2e\x12\x11\x69\x65\x98\xbc\xdc\x15\xd7\x22\xc2\xb2\xff\xa3\x4c\x04\x7f\xce\x72\xc3\x68\x34\x37\xad\xec\x9c\x05\x9f\x87\x9b\x85\xb0\x8f\xb5\x72\x46\xa4\x55\x4c\x14\x4e\x32\x53\x65\xb8\x25\x79\x89\xdd\xe1\xe4\xea\x61\x76\x9e\xe1\xea\xc0\x48\x68\xf4\x89\xbd\x6f\x9f\xc7\xbb\xbb\xef\x60\xc2\x4e\x55\x87\xa0\xc5\xe2\x2d\xc6\x74\xd6\xe2\x33\xdc\x62\x8e\xaf\x87\xae\x88\xd2\x9e\x0d\x81\xf2\xf8\x6d\x0d\xe2\x6f\xfb\x7b\x38\x47\x37\x10\x71\xae\x1a\x4a\xdc\x72\x72\xfb\xdf\x22\xf9\x99\x71\x1c\xdf\xc4\xb7\x91\x1f\xae\x13\xff\xa8\x65\x92\xe7\xf2\x0b\xdd\x97\xff\x0a\x48\x6c\x4c\xa9\x32\xc5\xbe\x0d\x2b\xd8\x02\x2a\xb3\xd2\xec\xfd\x7a\x98\xf5\xfa\x67\x30\x7e\x1b\x63\x1d\x38\x3f\xee\xbe\xf6\xbf\x8f\xd7\x74\xe1\xb1\xad\x05\xb2\xb8\xe7\xa1\x0d\xca\xe0\x50\xb8\xa3\x8b\x89\xa1\xf3\x94\xca\x43\x64\x64\x60\xb7\x2b\x06\x1c\x1e\x31\x27\xca\x12\x17\x9b\x4e\x09\xfc\x08\x26\xef\x27\xcb\x3c\xf5\xa7\x8f\x4a\x8f\x3c\xe2\x32\x77\x4c\x34\x57\xb4\x05\xb8\x65\xd2\xb6\x48\x20\x3a\xc5\xf2\xc9\xee\xc7\x21\x23\x3a\xb2\x85\x27\xc6\x3b\x6f\x72\xe6\x42\x0b\x24\xf5\x34\x83\xa7\x72\x40\x6c\xd8\x00\x06\x03\xac\x67\xd5\xad\xb0\xe6\x91\x88\x13\x58\xb1\x15\xa2\x37\xb2\xcd\x0c\x41\xe0\x66\x7f\x40\x3c\xd7\x6b\xd1\x5f\x20\x5e\x8b\xcf\xcf\x4c\x97\xca\xdc\x86\x8a\xc6\x82\xbe\x67\xc2\xdc\x11\xd3\x15\xed\xdd\x3a\xd2\xb9\xad\x3a\xd2\x80\xae\xbb\x9b\xc0\xef\x16\x68\xdf\x77\x07\x1c\x1e\x00\xad\xa9\x88\x69\x88\x1e\x07\xbd\xbf\xda\xc5\xca\x02\x1a\xec\x0f\xde\x1f\xb4\x42\x6d\x37\x1d\x50\x68\x8f\x7c\xf5\xcc\x5b\x88\x1e\x85\xc7\x09\x4b\x4a\xc4\x13\x54\x92\x3c\x61\x39\xc5\xec\x76\x9c\x71\xe8\x3b\xb3\xef\x2c\x50\x6b\x73\x63\xc4\x84\xcb\x0e\x17\x73\xa9\x48\xd6\x39\x2c\x85\x76\x0f\xde\x8f\x6e\xf8\xa5\x27\x5e\xad\xb9\xd7\x0b\x10\x30\xfe\xbe\x5a\x4b\x9e\xbf\x67\xef\xca\xb7\x30\x89\xa4\xf7\xf0\x67\xc7\xe7\x15\x36\xe0\x49\xa4\x37\xf8\x03\x02\x8f\x7e\x68\x02\x55\x28\x13\xd2\xbb\x38\x55\x44\x8f\x58\x40\xe9\xeb\x55\xf1\x97\x9e\x5a\x17\xee\xb6\xd3\xea\xd0\x7f\x4c\x00\x44\xc6\x8a\x1d\x14\x85\x0c\xd1\x76\x72\xa6\x3a\x7d\x93\xb2\xe2\x44\xcd\xfc\x48\xb9\x11\x58\x4c\xea\xaf\x8d\xbd\x33\x9c\x6e\x2e\x63\xd4\xd3\x41\xe4\xf2\xb1\x4e\x28\x30\x18\x4e\xca\xd1\x0a\x5d\xba\xfe\xbc\x46\x24\x3f\x34\xc0\xb9\xd6\xdd\x1c\xbe\xc5\x0f\xd2\x58\x22\x29\x61\xc1\x77\xdd\xb7\x0e\x7b\xd5\x12\xb6\x06\x82\x58\xb5\xcb\x0e\xa4\x63\x78\x97\x9d\x88\x1e\x92\xe3\x61\x9d\xbe\x67\xe4\x7a\x85\x13\x54\x55\xb0\x47\x2a\x51\xc5\x94\xb3\xde\x0f\xa9\xe9\x60\x08\xf5\x6d\x82\xe5\x5c\xc5\x93\x09\x1e\x8c\x60\x44\xc4\xab\x93\x9a\xd8\xbf\xd2\x68\xc4\x8a\xa6\xe4\x84\xa6\xb4\x38\xae\x63\x9a\xbb\x13\xc3\xe4\xaa\xb0\x29\x8e\x24\xb5\x34\xc2\x1e\x3d\x11\x5b\x1e\x9f\x55\x9d\xeb\x24\xe9\x6d\x15\xf4\x45\xae\xaa\xf8\xc6\xb7\xc2\x82\xfa\x1d\xc7\xbe\x37\x25\x26\x10\x09\x64\x88\xfd\xdf\xe3\x19\xe3\x62\x55\x02\x36\xda\x9d\x0a\x2f\xaf\x7b\x84\x02\xa0\x4c\xa9\x64\xad\x93\x32\x36\x13\x29\x44\x0f\xda\x82\x0b\xdd\xdd\x81\x2f\x30\x30\xfa\x24\x57\xb9\x43\xd6\x52\xe4\x97\x00\xec\x89\xc9\x6e\x1a\x39\xe1\x8a\x1a\x67\x6e\xb6\x4a\x89\x8c\x4a\x86\xc3\xc5\x75\x7f\x4a\xe1\xa1\x22\xd5\x64\x61\x67\x5e\xea\x1d\x62\x97\xf7\x2c\x9f\xaf\x69\xbf\x49\x4a\xe4\xce\x5b\xe7\xb0\x88\x85\x21\x97\xa4\xe9\xde\x11\x4b\x25\x29\x3d\x67\x4d\x93\xfc\x23\x57\x74\xc5\x7f\xbf\xc6\xbe\x90\x44\x8c\xa5\x93\x5d\xcf\x5c\x5b\x73\x34\xa4\xed\x32\x67\xaa\x7d\xbd\xab\xd2\xad\x98\x7e\x7e\x5d\xab\x34\x5c\xff\x3b\x9f\xae\x3e\x51\x34\x7d\x87\x47\x6d\xa2\x3f\xbc\xd0\xc1\x1b\x62\x93\xda\xf1\xf3\x70\x13\x4a\x0b\x00\xa2\xb3\x7f\x18\xc0\x3d\xcf\xe4\x91\xb0\xf0\x1f\x2f\x1c\x81\xb4\x51\x20\x23\xae\x16\x3a\xa9\x0a\xa7\x88\x34\x5b\xb7\x63\xd6\x03\xdd\x3c\x56\x60\x59\xa3\xf7\x44\xaa\x45\x20\x61\xcf\x2e\xb7\x7d\xb4\x98\xfc\x7e\xed\x65\x17\x53\x2c\xb6\x79\xcf\x41\xdf\x2f\x2e\x4b\xc8\x90\xc2\xcb\xc8\xc5\x13\x6b\x5c\x40\x04\x0e\xc7\xc9\x58\x64\x29\x43\x24\x18\x47\x64\x59\xba\xa4\x73\x9d\x25\xfe\x16\x94\xf8\xd9\xa4\xef\x8b\xc6\xc5\x2f\x46\xe7\x8d\x46\xec\x50\x26\xe0\x88\x98\x6c\x63\x4d\xcc\x06\x48\x6f\xc7\x66\xa7\x8b\xd2\xd6\xfe\x32\x15\x5e\xf3\x32\xa0\x36\xb8\xee\x20\xcb\x44\x60\x26\xa2\x58\x4a\xe2\x43\xdf\x75\x0b\x3b\xf2\xfe\x8e\xa7\x6a\x83\x9e\x42\xf6\x6d\xad\x82\x74\x21\x06\x9c\x57\xc4\x8e\x19\x4d\x5e\xa4\x66\x7b\xc3\xf9\xed\x69\xd4\xb0\xaa\x94\x59\xcd\x58\x87\x0f\x02\x26\x38\x9b\xb4\x1e\xe6\x37\xf5\x54\xf1\x44\x62\xa0\x70\x01\x47\x1a\x4b\x0f\xb3\x5f\xab\x33\xa8\xf5\xf4\x0e\xf0\xd4\x6e\x88\x73\xc4\xac\xda\xb6\xc4\x71\xaa\x71\xd5\xa8\xb7\x77\xfb\x84\x2a\xa7\x19\x47\x6a\xd8\xdc\x12\xd7\x69\x7b\x33\x67\x80\x71\xa9\x78\x1c\x11\x42\x12\x68\x12\x3b\x42\xe1\xf7\xda\xd2\xc1\x7c\x7a\xee\xfb\xd8\xf0\xda\xd0\x41\x66\x47\xba\xc5\x61\xf2\x0a\x65\x58\x92\x9f\x9b\x4c\x6e\x4a\xcf\x2c\xde\x34\x8f\xcd\xc0\x8d\x36\x0b\xb0\x76\x5a\x03\xe5\xbf\x9d\xfc\x91\xfd\xbc\x9d\x07\xea\xcf\xb4\x38\x0a\x12\xdc\x3b\x7d\xdd\xa8\x64\x7d\x36\xb1\x19\x96\xb0\xf1\xe4\x52\xc3\x59\xdd\x62\x0b\xd3\xf7\x59\x6e\x8f\x6a\x4c\x31\x00\x60\xb7\x06\x46\x35\x4e\x3e\xb2\xbf\x68\xdb\x03\xc2\x15\xa8\x18\xc1\xb3\x1f\x23\x3c\x46\x00\xc4\xc5\xa2\xfc\x57\x52\x9d\x25\x78\x5f\xdb\x87\xfb\xbb\xe8\x7e\x1b\xe7\xd7\x2f\x0d\xef\xd1\x66\xd1\xf8\x0d\xcc\x8a\xb1\xb7\xd9\xe5\xdb\xb8\x26\x54\xbd\x79\x14\x94\xa4\x44\x96\xef\xc6\x08\xf7\x3e\x28\x96\x9d\x14\x7a\x67\x65\x41\x85\x8f\xd9\x3b\xd2\xec\x80\x65\xb6\xa0\x1a\x77\x32\x0b\x8b\xf1\x06\xe9\x76\x3b\x96\xc4\x9e\x01\x13\x36\x41\x90\xa9\x94\xca\x9c\xac\x4d\x06\x75\x7b\x82\xd1\x04\x23\xf9\xca\xc2\x89\x9f\xd6\x93\xed\x46\x82\x3b\x9d\x94\x9d\xe5\xde\xa6\x84\x9b\x64\x3a\x6b\xa1\xeb\x1a\xa4\x97\xd7\x30\x65\xa4\x76\x00\xf7\xba\x64\xc6\x2c\xa6\xf4\xde\x48\x0d\xf7\xf7\xb7\x3c\x02\x9d\x49\x8b\x8c\x33\x5e\xc1\x5b\x76\x12\xab\x8b\xec\x32\x82\x74\x3f\x4b\xe5\x4a\xbf\x25\x26\xe6\x12\x43\xa3\x48\xd9\xf5\x11\x92\xd9\x56\x1a\x3f\xaa\x9b\x0d\x9e\xd1\x5f\x23\x6d\x1b\x97\x45\x50\xf5\x5f\x16\x2b\x9f\xcb\x43\x4e\x09\x6c\xb5\x51\x24\x40\x30\x29\x12\xa4\xcf\xa2\xf9\x40\xea\x2e\x05\xc4\xde\x23\x23\x5c\x0a\x96\x50\xc6\x73\x62\x0f\x43\xe9\xba\x59\x34\x96\x57\xc5\x9e\xa7\xd7\xa4\x2e\x75\xb5\xd0\x2f\x35\x4a\xb1\x91\x53\x3e\x24\x67\x0a\x5e\x86\x73\x43\x62\x5d\xcf\xa1\x2d\x80\xda\xf2\x74\xa4\xc0\xec\xda\xf0\xab\x5b\x57\x7b\x9b\x11\x45\xca\x54\xad\x4d\xef\x0a\x25\xed\x38\x23\xc3\xa8\x0b\x07\x01\xa6\x0c\xec\x3c\x49\xb2\x97\x3d\x35\x72\x5a\xa4\x44\x6c\x5b\x51\xa1\xa1\xde\x48\xc4\x73\x08\xa0\x8e\x57\xb4\x8a\x19\x6a\x01\x87\x8b\xe8\x6e\x3f\xaa\xe1\x9d\xa5\xf2\x59\x74\xc1\x9d\x44\xf2\x2c\x46\x42\x49\x37\xd3\x64\x1b\x4f\x40\x95\x53\x0a\x76\x49\xf2\xf8\x60\x04\x0f\xef\xd4\x1f\x0b\x9a\x32\x61\x20\x17\xef\x24\x42\xbd\xc3\x40\xdf\xc7\xd6\xea\xaf\xd6\x7d\x34\x9a\x36\x7c\x23\x82\xff\xa3\x20\x4a\x96\xb3\xb8\x43\xbd\xc4\xc4\x56\xf5\xde\xfd\x85\x4a\x28\x41\xac\x54\x37\x8a\x18\x0c\x21\xda\xed\x75\xf8\xf3\xb1\x90\x73\x04\x95\x9b\x58\xa5\x3a\x45\x67\x42\xb4\x0e\x69\x93\xbb\x14\x70\x73\x99\xdd\x7b\x32\xdf\xb3\xf2\xdd\x06\xb2\xf9\x57\x02\x37\xff\x89\x75\x95\xf1\x3c\x42\xd8\x41\x47\x1e\x65\x1e\x03\x71\x7c\x7c\x42\x66\x34\xd3\x53\x47\x21\x1e\x38\xd1\x12\xee\xfb\x33\x25\xb6\x30\xa7\x45\xa3\xba\xfb\x45\xd2\xa2\x3b\x23\xdd\x55\xa0\x7d\x08\xff\xc2\x24\x83\xd3\xaa\xc7\xc8\xc1\xdc\x27\xf4\xab\x4a\xd2\xdb\xe1\x44\x42\xdc\x82\x94\x87\x44\x2f\x54\x35\xef\x73\xc8\x4d\x9d\x47\x4d\x56\x6d\xaf\x46\x4a\xc3\x52\xd6\xbb\x23\xb8\x14\x4d\x2e\x9a\xb9\x95\x6c\x03\x79\x3a\x56\xee\xaf\xc2\x45\xc3\xbe\x6b\x28\x5f\xaf\x41\xb5\x89\xd7\x6b\x0b\xe3\xfd\x1c\x47\x4b\xcb\xb6\x33\xe3\x7c\xfb\x25\x69\x55\x47\x99\x67\x51\x1a\xf0\xc0\x48\xc5\xe7\x39\x9a\x6e\xb4\x05\x55\x20\x00\x69\x8b\x19\x97\x3c\xfd\x80\x5d\x52\x95\x90\xcf\xf1\x0b\xcb\x32\x0a\xe5\x89\xbc\x7a\x2e\x73\x7d\x14\x2d\xb3\x02\x1d\x9c\x00\x74\x04\x3f\x23\x1c\x45\x23\x41\x90\x99\x41\x8b\x53\x09\xc9\xc5\xb6\x38\x32\x29\x47\xe8\x58\x7d\x4e\x12\x78\xba\xcc\x4e\x97\x83\x68\xc5\x6e\xe6\xe0\xc8\x90\xb6\xfd\x96\xa5\x76\xa9\x39\xc5\xac\xaa\x55\x5e\x16\xb2\xcd\x50\xa9\x96\x1d\x9f\xa8\xed\xcd\x2c\x4f\xaa\x34\x26\xa3\xf3\x15\xcf\x5a\x51\x0d\x1f\xb7\x8b\x48\x3a\x10\x0a\x15\x42\x99\x2f\x69\xe5\x34\xbb\x66\x33\xa7\xf9\xda\xbc\x12\xee\x2c\x6e\xbd\xeb\x4d\x55\xa0\x4b\x7a\xc6\x9a\xff\x7e\x6f\x1c\x89\xf3\x54\xdf\x57\x9d\x53\x29\x49\x2b\xe1\xf6\xff\x66\x98\x13\xe3\xce\x67\x85\x7e\x74\xcd\xf9\x45\x64\x49\x36\xe5\x13\x51\x43\x43\xa9\x1e\x19\xee\xbe\x20\x9d\x13\x00\xc3\x4b\x8d\xfd\x5c\xb2\xc5\xf1\xf3\x96\x9e\xff\x41\x91\x72\x3f\xcc\x2d\x13\x08\xa4\x4e\x04\x97\x01\xd9\xb8\x8b\x31\x4a\x5b\xe6\x41\x19\x4d\xea\x0c\xd5\xd0\xaa\x9d\xd0\x55\x56\x0b\xf4\x6a\x2b\xf1\x5e\x04\x14\xf3\x61\x6a\xa2\x9b\x9d\x13\xa7\xd1\x15\xb5\xb8\xf4\x2e\x9f\x4f\xc5\xaa\x0b\x72\x42\x5a\xdf\xd3\xa4\x87\x30\xe2\x73\x84\xea\xba\x58\xe8\x04\x7b\x17\x27\x85\xe5\xfd\xbe\x98\x66\xf0\x01\xd7\x47\xf5\x95\xd3\x23\xb1\x04\x69\x6d\xca\xa5\xb9\x79\x64\x01\x6e\x17\x8c\x24\x47\x96\x32\x50\xdd\x73\xda\xfa\xd6\xa9\x71\xb9\x02\x6e\x23\xa6\xf4\xf7\xdd\x2c\x9a\x10\xbb\xb5\x0b\x43\x25\x4c\xe7\x4b\xbe\xce\x1a\x4f\xef\x19\xa7\x3a\x3a\xcd\x78\xdf\x9a\x6b\xfc\xe6\xd9\x16\xe2\xd5\x8b\xbc\x71\xde\xaa\x5d\xd6\x15\x72\x2d\x54\x9d\x51\xde\x91\xd1\xfb\x66\x71\x98\x15\xa1\xd4\xf4\xc9\xfe\xf5\xb1\xec\x1b\x5c\x23\x27\x5d\xbc\x48\x87\x99\xc7\xfd\x82\x1f\xb5\xd9\x31\x97\xe3\xf3\xbb\x32\x77\xf1\x0e\x44\xdb\xdb\x93\x9b\xf8\xce\x7d\xe7\xa8\x4d\x66\x11\x76\xfc\xfd\x9d\xdb\x54\xb2\x37\xbf\x9f\xa7\x7c\x22\xc6\x21\x4c\x6c\x62\x51\x44\xe0\x10\xd8\xea\x73\x15\x5e\xa3\xca\x64\x5f\x27\xb4\xfd\x9a\x19\xea\x3c\xf4\x61\x91\x71\x1d\x4e\x77\x85\x53\x2b\xa9\xc0\xbc\xb3\x62\x86\x33\x24\xd8\xc9\x8f\x2c\x35\x36\x97\x43\xe8\x38\x06\x3a\x4c\x8d\x84\xdd\x3e\xc2\xda\xd8\xa4\xc1\x53\x1d\x31\x51\xd5\x9c\x59\xf2\xc6\x62\x60\x0d\x9a\x6f\x52\xcf\xa0\xbc\xcb\x96\xe6\x41\xa8\xfa\x7d\xf3\xf7\xfc\xd7\xda\x7d\x75\xd3\x06\xe5\x04\x9a\xcc\x16\xdd\xca\xee\xc6\xa9\x26\xb9\xca\x7c\x7e\xf0\x34\x9e\xd4\xf1\x75\xc0\xe9\x4e\x70\x0e\x0c\x2e\xa3\xe7\x90\x03\x87\x1d\x67\x59\x09\x34\x5e\xe7\xae\xb7\xc6\x11\x27\xf7\x52\x5d\x29\x74\xc8\x53\x03\x87\x13\x41\x86\xbf\x94\x4b\x38\xd8\x35\xf9\x17\x19\x1a\x4c\x7f\x63\xcf\x9f\x3b\x34\x86\xfd\x6f\xc5\xcd\x7a\x4b\x89\xbb\x62\x67\x55\x7a\xfe\xfc\x60\x07\x9a\x94\x2d\xaa\x6d\x78\x2e\x1b\xdb\xe2\xab\x1f\xbc\xb5\x5c\xbe\x69\x1d\xaf\xab\x31\xce\xd2\x9b\x47\xae\x79\x84\x2b\x4b\x8c\x23\x1d\x2a\xf4\xe5\xeb\x6f\xab\x7f\x32\x64\xb6\x91\x6e\x05\xc5\x1d\x48\xac\xb7\x66\x10\xed\x1b\xdb\xa5\x49\xf6\x01\x32\x5e\x28\x15\x62\xb1\x87\xb8\xb6\x8d\x2f\xb3\xef\xdd\xef\xa2\x52\x7f\x45\x08\xeb\x86\x26\x0c\x0f\x5c\x35\x60\x2c\xb8\xe3\x1f\x07\x9b\xcc\x5e\xa5\x08\x29\xf5\xc8\xc5\xc6\x29\x64\xa1\x4f\xd5\x37\x3b\x5d\x01\x8c\xf2\xd0\x1a\x13\x9d\xaf\xf1\xbe\xd4\x57\x94\x8a\xbf\x15\x5a\x79\x96\x7e\x02\x31\x68\x1a\x82\x9e\x7f\x7c\x5c\x57\x8b\x77\x3b\xbd\x86\x08\x1c\xc2\x09\x0a\x8f\xcf\x59\x35\x48\x17\xab\xc1\x4f\x9e\xd5\x98\x9a\x30\xbb\xdb\x30\x07\x92\x8e\xd8\x7f\xfd\xdd\xb8\x7f\x66\x9d\xeb\x99\x63\x2b\xd1\x57\x98\xf4\x93\x7b\x06\x1e\x48\x9a\x8b\x27\xa5\xfa\x08\x8d\xf9\x08\xc2\x2f\xc6\x90\x06\x1c\x5e\x21\x44\x1a\x82\xf2\x13\xaf\xa2\x05\xae\x23\xb1\x9f\x7c\x3d\x3b\xb7\xa2\x10\xd3\x08\x6e\x5f\x0c\x88\xf9\xb8\x6c\xdf\xa6\x36\x09\xd1\x25\xd1\x4d\x5e\xff\x5a\xee\xf8\x62\x8c\xd8\xeb\xe3\x10\x76\xa9\x34\x92\xc7\xba\x72\xb7\xdf\x73\xca\x6f\x91\x9a\x11\xf2\x64\x02\x4d\xf6\x4d\x1e\xdb\x07\xb9\x77\xcc\x62\xa6\xa5\x7c\x6b\x99\x9f\x21\x47\xfb\xc2\xd6\xec\xdd\x0c\x57\xee\x2a\x87\x78\x33\xa9\x27\x71\x79\xdc\xff\x65\x29\x85\x1e\xf3\xed\xab\xb4\xf5\x8c\xe6\x21\xa7\xc5\x3a\x6a\xcb\x78\xd6\x7e\xc4\xdc\x72\x39\x9b\x6c\x76\x13\x58\x76\xcf\xb4\x6c\x3d\xca\xf9\x4f\x00\x89\x18\x39\xbc\x64\x60\x4d\xe9\x0b\xea\x05\x8e\xe8\x5e\x08\x0e\x65\xdf\x13\x62\x67\x52\xe6\x24\xa5\x3b\xce\x12\x9e\x6f\x66\x56\x19\xff\x05\x33\xb0\xd3\x50\x8c\xd7\xed\xee\x8e\xc7\x54\xd5\x6d\x29\x43\x8d\x98\xcc\x50\xd3\x3a\xc1\x25\x58\x02\xbb\x89\x52\x82\xcd\x94\x26\x94\xfa\xe5\x90\x0f\xce\x89\x77\x06\x78\xb3\x35\xbd\xcf\xce\x15\x52\xa2\x07\xcb\x13\xcc\xac\xc2\x67\x96\x4b\x31\x1f\x88\x78\x74\x8c\xfc\x9e\x10\x37\x50\x9d\xde\x93\x1d\xba\xee\xbe\x18\xbd\xad\xd4\x7d\x2f\x43\x34\x55\x80\xb4\xe5\x0f\xe8\xb1\xa7\x19\x14\x09\x9e\x25\x78\xb8\x07\xaa\x71\x02\x56\x4a\x86\x8b\xf2\x1b\x43\xbc\x02\x8b\xdb\x2e\x23\x9b\xdb\x26\x75\x61\x3b\xe9\xf6\xd5\xf2\xa6\xd1\xf2\xfa\xaf\x5a\x1e\x63\xc2\x76\x75\x2f\xa1\xfe\x7a\x56\x1e\x76\xfb\x37\xb0\xfc\x1b\x20\x61\x18\x0e\x3f\xdd\xa8\x1f\x79\x3e\x39\x85\x5a\x98\x48\x4c\xb7\x09\x1e\xdd\x34\xeb\x6a\x35\x64\x76\x2b\x93\x38\xb8\x26\x22\xa9\x8b\x6d\x77\xc0\x76\x1e\x61\xce\xc2\xbf\x2d\x09\x8e\x42\xf4\x40\x9f\x3e\x8e\xe7\x4d\xc8\xe2\xe0\x89\xcb\xeb\xfb\xd0\xcc\x11\x69\x0e\x62\x26\x64\x7a\x97\xa4\x01\x69\x04\x63\x94\xd7\x9e\xed\x94\x0e\x4e\x5b\x3b\xf5\xa1\xdc\x1f\xf8\x24\xaf\xe9\x63\xc0\x44\x8c\x6d\x15\x07\x2a\xea\x4d\xfa\xd7\xf8\xe4\xfb\x5d\x3f\x53\x8d\x75\x17\xa3\xc3\x7a\xb3\x1e\x17\x1d\x44\xe6\x60\xc2\x95\xc5\x49\x4c\x04\xa3\x29\xf6\x85\xc0\x1e\x7a\xdb\x65\x20\x76\x59\x69\x98\x84\x10\x40\xb8\x74\x9f\x99\xef\x80\xe7\xd0\x3e\x2f\x1e\x26\x89\xa5\x22\x8b\xcc\xed\x26\xf5\x8f\x27\xc5\xae\xf5\xbf\xd4\x3f\x31\x66\x3d\xad\x6d\x7a\x7d\xb3\x5e\xb9\x9d\x80\x30\x60\x95\xe2\x37\xe6\x4f\x9c\xfa\xdf\x4b\x18\x4d\x78\x05\x64\xea\x07\x37\xdf\xe5\xa6\x9f\xe7\x87\x61\xff\xdc\x3f\x01\x9e\x60\xf8\x0e\x7d\xeb\x41\x75\x9e\x78\xde\xc9\xb6\xf3\x56\x0e\xd6\x44\x07\x32\x4f\x8e\xad\xd2\x3b\x4e\x89\x56\xf4\xe0\xf0\x5f\x61\x15\x6b\xfe\xeb\x38\x0f\x57\x8d\x84\xe0\x6f\x62\x5f\x02\xdf\xe5\x33\x65\x5d\x2e\x72\x08\xdc\x91\xef\xb2\xe6\x9d\x6b\x61\x3f\x1c\xb4\x8e\x05\xb1\x9f\x5a\x1a\x27\xd3\x84\x70\xed\x19\xe9\x82\xed\xc5\x94\xdf\x6f\xf0\x73\x1d\x98\xd3\xf4\x64\x1a\xa5\x9f\xa4\xe5\xe8\x42\x92\x7c\xe5\x55\xec\xfe\x59\xa1\x05\x0e\x54\x00\xc5\x9e\x25\xd0\x7f\x78\xb6\xf5\xfa\xa9\x28\xfe\xa3\x98\xbe\x11\x68\xa9\x93\x54\xd4\xa8\x8f\x34\x93\x40\x3b\x2f\xd7\xb7\xe3\x96\xd8\x95\x42\x9a\xeb\x1e\xc3\x30\x94\xfd\xb5\x2a\x18\xcc\x98\x56\x2a\x6e\xd7\x8d\x1c\x32\xeb\x5a\x23\x77\x2e\x56\xad\xf8\x2d\xa0\xdb\x63\xa0\x9d\xa1\xc6\x27\xfa\xa6\x3f\x60\xe0\xb1\xad\x72\x36\xf3\xa6\x5c\xf8\x04\x0e\x27\xc6\xf6\xef\xbe\xf5\xf3\xd7\x60\x44\xb7\x96\x7f\x80\x4f\xad\xef\xbd\x5d\xd6\x60\x6f\xe5\x2c\x15\x9c\xc9\x97\x50\x7b\xfd\xe7\xd8\xbe\xd5\x03\xfb\x9a\x0d\x9a\xf7\xf1\x56\x5f\x90\xe5\x7c\xa8\x42\x55\x94\x43\x63\x31\x1c\x19\x24\x18\xe5\x1a\x44\xea\x6d\x3c\xff\x56\xc5\x46\xa0\xfd\xfd\x8b\xa1\x69\x92\x51\x6a\x3f\xa0\xcc\x91\x00\x04\x22\x03\xca\xa2\x11\xa3\x80\x85\xa1\xc7\xe0\x20\xf4\xd4\x7e\x06\x9a\xd7\x09\xd3\xe3\xc6\x60\x40\x1b\x7b\x9b\x2b\x90\x26\xb4\x35\x31\x8e\xf1\xfd\xe9\xaf\x61\xd2\xa5\x65\x22\x1b\xaa\x15\xc6\xff\x6e\xe6\xee\xe7\xd8\x57\xe1\x30\x14\xbf\xaa\x78\x1a\x2f\x94\xe1\xcd\x0b\x49\x85\xae\x0a\xb5\x54\x38\xc5\x79\x6b\x86\x52\x5f\x86\xcb\x0e\xa9\x20\xf1\xbd\x6a\x48\xae\x48\xa7\x9b\xaa\xb5\x25\x26\xaa\x70\xe1\x3a\x74\x15\xe6\xef\xe2\x37\xee\x33\xa4\x03\x03\x22\x1d\x41\xef\x70\xba\xba\x98\xc6\xce\x72\x7e\x92\x59\x25\xd3\x33\xc5\xb2\x6e\xd1\x2c\x89\x68\x68\xee\xd5\x62\xa6\xce\x58\xd6\x5c\xc8\x39\x54\x78\x08\xe6\xa2\xfa\x6d\x71\x94\xb5\x89\xba\x23\xc8\x06\x48\xcc\x6a\x37\x8d\x60\x0e\x24\xd3\x29\x31\xa1\xb0\xb0\x14\xba\x3a\xc9\x71\x37\x0d\xc8\x15\x81\xc9\x38\x3a\x96\x3b\xec\x03\x9a\x88\x2b\x91\xc1\x56\x74\xa0\x5c\x2a\x03\x2e\xe4\x6a\xca\x04\x7b\xd1\x7b\x9b\x84\x60\x18\x12\x5a\x84\xaf\xd5\x8a\x60\x13\x35\xaa\x3b\x05\x52\x52\x5d\x26\x8c\x9d\xd8\xb5\x38\x3e\xf5\x44\x65\xc2\xb4\xf3\x6f\x6f\x89\x72\x83\x2b\x6b\x60\x11\x83\x79\xa3\xb2\xd5\x98\xfe\x1b\x09\xba\x2a\x92\xf8\xc6\x50\x18\xc4\x99\x46\x07\x95\x64\x5f\x21\x0d\xc8\xa6\xec\xa8\x3c\xec\xa6\x56\x57\xd8\x50\x08\xdb\x73\x33\xff\x28\x5c\x4e\x5a\x43\xd1\x0b\x2f\x2e\xbb\x22\xdc\x53\xa3\xa9\xff\x11\xc6\x25\xf3\x48\x67\x1c\x6a\xec\xd9\x9c\x61\xc9\xca\x0a\xec\x00\xe5\x28\x8f\xdd\x46\x5d\x13\xe4\x8a\x73\x50\xd7\x45\xbe\x2e\x92\xbc\xa8\x4b\x81\x39\x72\x9b\xad\x47\x42\x41\x77\x3b\x9d\xee\x6c\x79\x36\x6b\x57\x93\x4a\x48\xf1\x2b\xec\xcf\x3f\x42\x2a\xd4\x9e\xd9\x40\x3e\x9a\x00\xf9\x2c\x99\x26\x15\xa2\xbf\x09\x57\xff\x34\xdf\xf9\x7b\xba\x1b\xb4\x64\x74\x17\xed\x22\x01\x47\x50\xfb\xea\xea\x3d\xe4\x53\xda\x59\xdc\x1c\x2a\xe5\x65\x9b\x32\xfd\xa7\xfd\x16\x74\x51\xba\xc1\xb0\x25\xa1\xca\x59\xcf\x30\xd8\x48\xa6\xa5\xc3\x7e\xf2\xf2\x5b\xb3\x75\x3b\xfc\xcb\x2c\xb4\xb5\xb3\x50\x81\x78\xea\x18\xac\x28\x11\x76\xe1\x6a\x38\xcc\x51\xc2\x15\xfd\xd9\xf6\x55\x09\xea\x18\x20\x8c\x51\x6e\x90\x9f\x3a\xcc\x8a\x2b\x34\x6c\xe4\x19\xe5\x90\xc5\x01\x5d\xe9\xbb\x5a\xb6\x54\x5c\x36\x3f\x4e\x0d\xad\x16\xba\x43\xa6\x32\x19\x04\xef\xcb\x6e\x9e\x93\x66\x8a\xe6\xe8\x43\xef\x1c\x31\xc1\x65\x2c\x40\x2d\x80\xa1\x22\x12\x0a\x97\x67\x2f\xaa\x32\x28\x91\xf9\xcf\x57\x19\xc0\x6e\x50\xe6\x1f\xb7\xb2\x2f\xf3\xb1\x07\x08\x2d\x3d\xe4\x9f\x5a\xb6\x76\x05\x68\xfc\xa2\xfb\x84\x19\xc3\xaa\x68\xe9\x16\xd9\x98\x0e\x61\x5d\xbd\x2a\xce\x5b\x26\x80\x0e\xd3\x16\x63\xc3\x44\x37\xd1\xcc\x30\xd9\x83\x25\x23\x95\xb7\x36\x13\xcb\x8a\x79\xdc\x52\x33\x63\xe0\xb1\xca\xc0\xda\xfe\x91\x93\xc5\x4b\x29\xc4\x9d\x68\x8f\x83\xe6\x71\x7d\xe3\xa9\x06\xb7\xa3\x18\x9e\x57\x42\x54\xdc\x57\xde\x57\x77\x9d\xb3\x6d\xfc\x6f\xf1\x1c\x88\x63\xd9\xe0\x74\x23\xe1\x81\xfb\x5c\xce\x45\x29\x4f\xef\xef\x6a\xd3\x66\x33\x13\x0c\xe9\x52\xb0\xf0\x96\x1d\x43\xc6\xd2\x90\xed\x32\x49\x13\xaa\xdb\x4c\x75\x26\x22\x43\xcc\x36\xa8\xc6\x57\xff\x02\x4d\x54\x0f\x29\x75\x54\xfd\xaa\x66\x12\x16\x39\xa2\x5c\x69\x6a\x4b\x88\xbb\x46\x84\xf6\x03\x6d\x77\x7e\xd9\x3b\xfb\x08\x4a\xc8\x40\x97\x4e\x8c\x50\x0a\x4e\xe2\x74\xc7\x12\x5d\xa1\xe5\x82\x97\x38\x59\xea\x36\x48\x2b\x6c\x5c\x99\xd1\xa5\x5e\x51\xe2\x77\xab\xc3\x95\x24\x1b\xcf\x3e\xaf\x2e\x3f\x86\x29\xa0\x7d\x76\x98\x39\x9a\x60\xae\x2a\xab\x89\x3a\x60\xc4\x27\x7d\x5a\xcc\x7a\x14\xbf\xae\xf0\x2a\x98\x3d\xe7\xc9\xf0\xe7\xf0\xb6\x03\x93\x6a\x55\x39\xa9\x7e\x1c\xec\x89\xf4\x1e\x8a\x3a\x64\xa1\x2e\xa5\x67\xdd\x7e\x4d\x77\x44\xda\x98\xf1\xce\xb9\x4e\x23\xed\xe5\xe6\x53\x83\x1f\xb0\xbe\xeb\x31\x17\xcf\x0f\xb2\xf0\xdc\xc6\xc9\x9d\x77\x4a\x6e\x75\x59\x99\x1d\x3c\x70\x8b\xd0\xd9\xbd\x5f\x9c\x71\x58\x14\x2a\xd6\xd0\x3e\x01\x91\x49\xd2\x7b\xb1\xb7\x01\xae\xeb\x4b\xd4\x4d\xa0\x68\xe4\x85\x8b\x69\xac\x2a\x5d\x5e\x15\xf1\x5c\x41\xc2\x1b\x68\x66\x9e\x35\x36\xce\x56\xb6\x8d\xf6\xe3\x91\xb7\x4f\x53\xcd\x7c\x79\xbb\xd7\xd0\xbf\x7c\x0b\xe2\xd1\x43\x99\x06\x89\xe9\x56\xb7\xe6\x75\x86\x2b\x6e\x52\x10\xdf\x8f\x31\xe8\x34\x82\x08\x1f\x84\x48\x88\x39\xc5\x92\xc6\x7a\x38\x87\xef\xee\x53\xd7\x0b\x03\xb7\x3c\xfd\x6b\xe7\x30\xde\x98\xcc\x48\x2d\x08\xbb\xa5\xe0\x23\x73\xb1\x90\x05\xd2\x98\xb8\x67\x54\x85\x35\x1a\x3d\x8e\xc2\x79\x16\xbb\x9a\xd4\x44\x55\x01\xbe\x30\x26\x2e\x4f\xa7\xee\x30\x61\xd7\x86\xab\xeb\x81\x78\x02\x9a\x0d\xc6\x1b\x5d\x82\x35\x35\x9a\x09\x8f\xdd\x37\x89\x57\xf9\x9a\x0b\xd2\xe3\x15\x12\xcc\x67\x9c\x7b\x18\x71\x3f\xf9\xc6\x43\xac\x53\xd1\x43\xa5\xc0\x02\x23\xbb\x99\xfe\xf8\x98\x9a\x27\x8e\x82\xae\x90\xcc\x93\xc5\xcb\x47\x63\x97\x01\x98\xe1\xa1\x9a\x43\xcb\xc0\x3e\xea\x48\x68\x13\x37\xd5\x0f\xf6\xd6\x64\x61\xfe\xb4\xf4\xe0\x0c\x9f\x55\xff\x8d\x64\xcf\x0f\x04\x3e\xfe\x65\x80\xe2\xc6\x1b\xa3\x03\xfb\xd6\xf6\xf2\xbe\x25\x80\xdb\x1c\x5f\x0a\xd7\x75\x76\xd4\x7b\xed\x2a\x4d\x57\x72\xab\x8a\x8e\x7f\x63\x87\xba\x55\x39\x0f\x07\x89\xef\xb6\xb3\x4c\xaa\x2a\xd4\x24\xdb\x53\x5e\xe6\x1f\xb4\xab\x3d\x87\x5f\x04\x68\x5d\x18\x47\xa1\xca\x11\xb8\x3c\x2b\xf7\xe6\x21\xc1\xba\x86\x99\xc8\xaf\xbe\x2f\xb2\x02\xd5\xab\x63\xd4\x3a\x7a\x95\x64\x72\x79\x79\x65\xa8\x04\xf1\x0a\xab\x20\x61\xc8\x99\x8f\xd8\x1b\x1e\x97\xae\x54\x1a\xaf\xff\xbd\x6d\x0e\x3a\x30\x29\xbb\x2f\x30\xcd\x0d\xe9\x9b\xd1\x11\x8a\x61\xf6\x38\x1f\x11\x15\x33\xee\x75\x42\x82\xca\x11\x6a\xf5\x38\x77\x74\xb1\x57\x3b\x2a\x6d\xf5\xa4\x43\xdd\x02\x9a\x1b\x3c\xc6\xe9\xf8\x71\x07\x28\xf0\x1b\xd4\xa0\xd9\xe6\xaf\x5d\x4d\xb2\x43\x18\x99\xb2\x88\xa6\x81\x9d\xb0\x6c\x72\x4c\xe0\x11\x91\x4c\xf0\x11\xd4\x1a\x15\x60\x62\xf3\xef\x99\xfe\x60\xa3\xb9\x5e\x0d\x65\x48\xcd\xa4\x83\x74\xfe\xee\x66\xe0\xcc\x7d\xe3\xd7\xa5\x64\xc0\xc8\x36\x0d\x2f\xd1\x15\xd5\x77\x86\xe6\xa2\x3a\x88\x47\xe7\x89\x65\x0f\xa6\xa3\xe0\xb8\x73\x6b\x1b\x42\xeb\xa9\xd2\x9f\x3b\xcc\x70\x4c\x3c\xe8\x83\x10\x36\x6c\x0d\x15\xa8\x32\x44\xa7\x86\xb5\x4c\xc6\x71\xc3\x99\x70\x80\xa2\x6b\x1f\xff\x0a\x6e\x95\x77\x55\x64\x41\xa0\xd2\x58\xa4\x19\xb5\x5a\x58\x7c\x24\x5d\x66\xbe\xb8\x20\x3a\xe1\x82\xd8\x78\xd2\x4c\xd5\xde\xe8\xe5\x0a\x43\x06\x1c\x54\x81\x2b\x41\xf6\xd3\xbb\x16\x6b\x8f\x20\xf7\x5d\x86\x8c\x7a\x7a\x58\x0d\xd3\x87\x57\x14\xa9\xf2\xc9\x17\xe2\xcb\xed\x03\x57\x8e\x82\x61\xaf\xe6\x64\x6f\xeb\x4a\x5c\x6d\xa5\x05\x90\xfd\x40\x81\xe8\xe9\xfd\x87\xd2\xa0\x72\x47\xb5\xa0\xcb\x0f\x75\xbf\xca\x15\x3c\x1e\x5d\x44\x5f\x78\x16\xc1\x80\xc2\x2c\x14\x22\x4e\xe7\x31\xa9\x49\x0e\x97\x5a\x5d\xa7\xad\xf6\x74\x67\x5f\x0d\x45\x53\x0d\x17\xbb\x93\x21\x0f\x7f\x87\x2a\xec\x76\x3e\xe3\x11\xf9\x54\x89\x25\x09\x11\x39\x13\xbf\xd4\x09\x72\x14\x26\xd8\xa6\x68\xd6\xc8\x78\x48\xe7\xd6\xfc\x0c\x40\x64\xca\x83\x69\x54\x35\x99\xc1\xf6\xf7\x5d\x29\xcc\x66\x9f\x7f\x63\x17\xf5\xf1\x8d\x75\x4a\xec\x3d\x78\xaa\xec\x9b\x6b\xdf\x04\x86\x62\xa2\x0f\x44\x41\x9b\x8f\x34\x99\xdd\x45\xee\xc4\x03\x8d\x92\x15\xd9\x10\xc0\x30\x07\xc4\x81\xcf\x11\x82\x81\x1c\x83\xdf\x60\x22\xf6\x2c\xf0\xd3\x3c\xca\x6c\x16\x56\x8f\x94\x15\xe9\xc7\xfa\xe0\x1a\x38\xae\xe7\xfd\x4b\x46\xa7\x28\xe5\xb0\x6d\x24\x08\xfd\x8d\x52\xb6\xa1\xc0\xb6\xc3\x44\xb7\x65\xdf\x1b\x82\x42\x9e\x6e\xff\x87\xb7\xff\x77\x49\x97\x82\xa6\x7a\x9b\x54\x5c\x0b\x0d\x80\xc3\x0a\xda\x3e\x17\x2b\xb8\x85\xf4\xd8\x1d\x78\x75\x0c\x21\xf2\x1d\x0f\x2a\xa4\x1f\x5d\x1a\x8b\x20\x68\x78\x17\x51\x1c\x23\xe3\x47\x31\x08\x5f\x1e\x27\x6b\xf0\xf0\x06\x76\x80\xcd\x8f\xa1\x47\x9b\x22\x65\x1c\x5b\x36\x45\xb7\x70\xe9\xf4\x9b\x64\xd2\x9a\x69\xf3\x1a\xb1\x62\xda\xc6\xe8\x3e\x18\x56\x04\x41\x52\x19\x85\x56\x3a\xd2\x52\x3b\x16\x57\x5c\x46\x53\x5d\x01\x20\x3f\xf9\x4b\x7f\x16\x6d\x80\x4e\x71\x9e\x89\x75\xa2\xc2\x71\xbd\x86\x74\xc4\xc6\x70\xd9\x01\x38\x03\xf6\xdf\xde\xd9\xf9\xbf\x05\xf8\xef\x26\x3f\xf0\x71\x55\x6d\xcc\xb6\xd8\x14\xef\x1a\x1c\xdf\x5c\x0c\x9f\xee\xfc\x81\xf5\x65\x5e\xe6\x0f\xe7\x42\x94\x58\xc0\xa2\x02\xdb\x0e\xf4\x89\x9d\x26\xfb\xd1\x07\x5f\x88\x60\x63\x98\x61\xe7\x3f\x07\x37\xb0\x3f\x12\xb4\x7f\x80\x50\x18\xff\xdb\x42\xfb\x0f\x2e\x10\x64\x08\x28\x81\x03\xff\x10\xa8\x90\x62\xfa\xf7\xae\x61\x28\xe8\x21\xf2\x95\x6d\x7e\xc2\x25\x0d\x1f\x39\x7b\xf9\x06\x2a\x53\xa5\x4a\x5b\xb8\x86\xa8\x16\x2f\x5b\xbb\x7b\x07\x81\xcc\x5b\xb4\x1d\x7e\x85\x2d\x1c\x3e\xde\x3c\x7b\x43\xfe\x97\x27\xe8\xe4\xce\x18\x37\xac\x12\xb1\xc4\xb1\x7e\x8f\x1c\xc2\x28\x97\xaf\x51\xae\x58\x24\xa8\x56\x74\x62\xcb\x9c\xc2\xa9\x9c\xbe\x74\xee\xd8\x24\xa9\xcd\x03\x1a\x91\x61\x45\x50\xab\x66\xe8\xff\x55\x2f\xe7\xd6\xcd\x21\x81\x20\xc7\x13\x65\xcf\x26\xa3\xcf\x34\xe1\xfb\x3f\x13\x3c\xfd\xfc\x83\x11\x2d\xf4\xa5\x8b\x63\xdc\x49\xb2\xb0\xa1\x17\x1a\x0c\x1c\x47\xf7\x1f\xe8\x7b\x71\x20\xd0\x69\x92\x5d\xc8\x85\x80\x08\x85\xbc\x2a\xeb\xab\x5c\x93\x51\x0d\x15\x59\x2d\xe0\x30\x97\xcc\x34\xf7\x8d\xb8\xbb\x8e\xbc\x27\x37\x08\x84\x7e\x84\xc8\x5d\x18\x19\x10\xca\xe4\xcd\x1f\xba\xf1\xc8\x8a\xd3\x50\x9b\xb5\x58\xf0\x8b\x28\xde\xb0\x4c\xe6\xa1\x84\xce\x92\xc2\xc6\xc3\x20\xef\xf4\x64\xc7\xc5\xa8\xd7\x56\xde\xf1\x1b\x14\x19\x0c\x25\x5d\x28\x26\x95\x04\x27\xd3\x28\x72\x01\x15\x63\x45\x09\x61\x89\x85\x40\xcd\x31\xbc\x09\x16\xed\xff\xc6\x4f\x3a\xc3\x4a\x9e\xbe\xe4\x40\x6f\xed\xaa\xe3\x6d\x9a\xf9\xc9\x49\x70\xc1\xb9\xad\x16\x2b\x6d\x6c\x20\x3a\xa0\xe0\xc9\x2e\xda\x50\xf3\x5b\xd8\x20\x30\xfc\x95\x3b\xc7\x36\x30\xc7\x90\x58\xf2\xd0\xa6\x59\x5d\x1f\xc8\x2b\xe1\xbb\x90\x12\x51\x6f\x94\x64\xb1\x74\xe5\x24\xed\xa3\x11\x1b\x37\x94\xff\x51\xaa\x7e\x4a\x23\xff\x97\x99\xf3\x9f\x8a\xd6\xb4\x63\x77\xe2\x62\x11\x14\xba\x3b\xec\x27\xb8\x19\xbe\x32\x56\xa1\xf9\x33\x21\xbc\xf7\x95\x01\x69\xa3\xb8\xb5\xb0\xe2\xb2\xa0\xa5\x52\x7c\x73\x99\x91\x24\x9c\xba\xd3\x56\xe0\xc4\xf4\xdf\x74\x4d\x3e\x3c\x2d\x99\x0e\x5a\x83\xf0\x37\xba\xd5\xbc\x54\xae\xd8\x4b\x64\x5c\x8f\x3b\x03\x5f\xdc\x7b\xd2\xe7\x2a\xd6\x8c\x81\xb7\x50\x59\x2d\xca\xb1\x22\x88\x91\x07\x5d\x33\x13\xc0\x50\x7f\x6e\x78\x62\xe7\x0f\x5a\x5e\x7e\x9f\x6d\x3f\xb2\x84\x75\x45\xe2\xf3\x07\xaa\x3f\xbc\xc5\x4e\x89\xe9\x98\x2a\xbe\x5a\x81\xbd\xb9\xef\x64\x73\x0e\x4a\x8e\xf2\xad\x58\xf4\xcf\xd1\x2a\x86\xe4\xc4\x5a\xd9\x75\x62\x0a\xbc\x61\x7e\xfc\x8a\x71\xd6\x1b\x09\x66\x34\x5c\x6b\x39\x2e\x2d\x4e\xf1\x01\xbd\x25\x46\x97\xcb\x22\xa9\x9e\xdb\x11\x84\x90\x6f\xe3\xf1\x9d\xc3\xdc\xb0\x0d\x57\xa1\x63\xeb\xdf\x54\x5a\x19\xb1\x52\xe1\x7e\x5e\x31\xe8\xaf\x43\xf6\x1b\x40\x47\x79\x20\x2e\xbe\x8a\x91\x0f\x6a\x81\x06\x0d\x29\x7e\x7b\x79\x8c\x6c\x3b\x7e\xce\xdd\xc2\x87\x0c\x1c\xa5\xa1\x5b\x9c\x57\xb2\x82\x9f\x37\x55\x2b\x84\xd2\x8d\x7b\x09\x5a\x2e\x19\x8a\xf7\x42\xb9\x4d\x3f\x64\x6b\x60\x40\x4f\x89\x39\xde\xb5\xd0\x0a\x1e\xba\x15\x81\xcf\x24\x8a\x88\xd6\x5b\xfd\x28\x9f\xca\x08\xa8\x2a\x19\x80\x80\xed\x26\xac\xe5\x5d\x9c\x60\xe6\xee\xbd\xf8\xec\xbf\x12\xf3\x3b\x56\x8f\x5d\x71\xd9\x90\x6b\x62\xc5\x1c\x7c\x13\xb7\x0c\xda\x3b\x5b\x01\x98\x23\x4f\x97\x3a\x72\x6d\x1a\x76\x43\x34\xb0\xe2\xb7\x68\xd0\x31\x17\x08\xfa\x53\x5c\xb9\x15\xbf\xdf\x0d\xa6\xe1\x4d\x02\x3c\xe2\x98\x73\x51\xb9\x87\x68\x8c\xec\xc4\xaf\x23\x44\x46\x04\x82\x62\x6a\x65\xd8\x2d\x9b\xa7\x2b\x1b\x7d\x66\xc4\x22\xf5\x86\xe3\x74\xfc\x24\xca\xa1\x03\x3d\xb1\xcd\x1f\xd4\x66\xf9\xc6\xc3\xc2\x37\x3f\x44\xee\xfd\x1b\x3a\xa8\x48\xae\xd2\x8c\x83\xe4\xde\x37\x95\xdb\x0a\xef\x60\xd3\xe5\xfc\xc6\xee\x13\x27\x84\x60\x13\x3d\x7e\xe1\xc6\x2c\x7d\xea\xaa\x22\x01\x95\x3b\xca\xad\x7d\x4a\xa9\xeb\x72\x7b\x75\xcd\x67\x33\x8e\x68\x49\x5b\x4c\x6d\x4a\xd0\x21\x83\xbc\xdc\x98\xe5\xac\x95\x92\x07\xbb\x72\x1f\x09\x20\x96\x70\x59\xde\x8f\xc8\xf4\x02\xb8\x58\xa9\xd9\xbc\x52\x0c\x16\x7d\xb1\x76\x49\xe9\x42\x92\x8f\xe3\x2a\xc5\x73\x9e\x66\x60\x7f\x4c\xfe\xa6\xcb\x15\x8f\x59\xc0\x06\x77\xb4\xdf\x12\x53\xdc\x98\x0d\x1f\xe6\x59\x7a\x84\x86\xf3\xd6\x37\x2b\x5a\x15\x28\xe3\x26\x3b\xbc\x25\x10\x85\x79\x9b\x5f\x3a\xa1\x30\x0c\x15\xd8\xf2\x58\x9f\x46\x38\xce\xd8\xe8\x41\xce\xf9\xad\xd8\xe8\x20\xc9\x9f\xac\xd5\xdf\x48\xc4\x5a\xbe\xf3\x6d\xdd\x11\x58\x48\x76\xf0\xee\x17\x9a\x7f\x8c\x16\x26\xad\x28\xdd\x15\xd8\xe5\x89\xa4\x39\x27\x0f\x5c\x80\x29\x89\x7f\xe8\xbf\xe1\x97\x1f\xd0\x42\x29\x38\xc1\x7d\x0a\x35\xd1\xc3\x96\x7e\x73\x1f\x8a\x97\xe8\xfe\x21\xcc\x7f\x36\xfd\xca\xa3\x62\xef\x14\x92\x55\x31\x85\x9d\xcc\xd3\x7c\x1f\x6f\x50\xaa\xcb\x40\x56\x44\x7f\xf0\x6d\xb2\xcd\x6e\x1c\x12\x7d\xb9\xf7\x39\xfe\xa1\xff\x94\x6c\x8b\x35\xd4\x1c\xc8\x43\x74\xf9\x4d\x65\x85\x70\x7e\x0c\x20\x1e\x1f\xb0\xec\x59\xf1\xb8\xbf\x4f\x6b\xe1\xc5\x7f\x37\x41\x2a\xf7\x71\xd5\x81\x2d\x66\xa2\x10\xb8\xd1\xbd\xa4\x4e\xf3\xe1\x6e\x39\x0b\x56\x0f\x1c\x87\xd9\x9f\xf2\x34\x0a\xac\xed\xc9\xc4\xed\xd0\xfa\x14\x1f\xa6\xf7\xe1\x3e\x53\x96\x05\x64\x89\xb6\xc0\x86\x4e\x5d\xb5\xa2\x04\x71\x04\x75\x78\x68\xa5\xba\x24\xbf\x39\x31\x8b\x35\x5d\x59\x31\x24\xcd\xef\x2c\xae\xfd\x24\xb4\xf8\xfa\x76\x9f\x16\xb9\x32\x64\x8b\x6c\x48\xb1\xe5\x7f\xc5\x75\xe2\x23\x60\xe9\xc4\xdc\xad\x75\x0b\x0c\x4a\x62\xf0\x28\xd4\x3a\x60\x6f\xf3\x19\x9e\xc4\xb8\xf3\x5d\x1a\x7a\xbc\xb1\x2b\x67\x51\x69\xd3\xa5\x18\x79\x47\xd2\xbe\x65\xbe\x4f\x3c\x91\x1d\xfb\x4c\x64\xf5\xaf\xc6\x3f\x9a\x45\x49\xff\x40\xdb\xdc\x68\x8e\x33\x77\x6e\x4b\x10\xb8\x81\x10\xd4\xaa\xa9\x87\x1a\xbe\xe1\x5a\x52\x58\x54\xeb\x7a\x40\x63\xdd\xbc\x65\x2c\x97\x70\x4c\x02\x37\x2f\xaf\x36\x1d\xb1\x5d\x08\xa4\xc7\x0a\xb5\x82\x15\x2b\x1e\x40\xc4\x3e\xe9\x9c\x31\x1f\x95\x45\xe4\xbd\x2a\xf4\x7c\x06\x42\x54\x7e\x49\x99\x27\xdb\xcd\xe3\x4b\x53\x1c\xfb\x68\x69\xc3\xb8\x59\x72\x44\xdd\x05\xca\x98\xc4\x56\x74\x1b\x95\xca\x3a\x09\xf4\x76\xc7\x47\x71\x99\xf9\x96\x98\x08\x49\x4c\x35\x7e\xaf\x16\x72\x50\xef\x8b\x96\xd6\x8b\x78\x7d\x68\x94\x68\xa7\xcd\x0c\x41\x9c\x5a\xff\xa2\x2a\xaa\x45\x19\xdf\xdb\x82\xcf\x36\x10\x3c\x7f\xbd\xe7\x5b\x5a\xe0\xb4\xa6\x33\xa2\xbf\x31\x6e\x32\xa5\xd7\x5b\xaa\xbb\x5e\xfa\xdb\x82\xdb\x6e\xe8\x11\x6f\xc3\x3a\xf4\xd4\x71\x1c\x13\xa7\x77\x4f\x18\xf6\x2f\xe2\xb8\x9c\xc7\xae\x42\x0c\x4a\x9f\x3a\xb4\xd8\x47\x1b\xf3\xa8\x51\x5a\x2c\x9b\x4a\xb9\x19\xbc\x3e\xaf\x47\x8e\xaf\x9e\xb4\x08\x11\xf7\x23\xef\x11\x45\x74\x56\xf9\xfc\x33\xde\x4f\x2b\xce\x06\xa3\x9e\x76\x57\xc7\x83\xd3\xd5\x71\xb9\x57\xb5\x67\xd7\x1a\x6d\x8c\x62\x71\x5d\x28\xc9\x3e\x09\x04\x72\xde\xb7\xd0\xc0\x21\x13\x72\x74\xc4\xd5\xdc\x3c\xd5\x7c\xf2\x6f\xa8\x92\x2a\x53\x10\xac\xef\x01\xaa\x23\xb7\x57\xf2\xd0\x75\x7f\x25\x24\x68\x54\x91\xbd\x4b\x87\x94\xde\x25\x08\xe5\x7a\xe6\x98\x73\x54\xfc\x74\xd2\x50\xed\x60\x7f\x6d\xfd\x3b\xfc\x86\x10\x72\x51\x94\x55\x37\x73\x53\x02\xb9\xeb\xe2\xa6\x44\x28\x6f\xf6\x24\x85\x5f\x84\xc6\x31\x7e\x59\xd8\xfb\xdd\x7a\x7e\x7c\x13\xb6\xd3\x71\xaf\xa2\xb3\x94\x8c\xdf\x18\x01\x21\x7f\xb9\xb8\x70\x97\x2a\x2a\xf3\x36\x21\x60\x75\x34\x1d\xa0\x01\xaa\x72\x25\x4a\xae\x9b\x34\x92\xfd\x52\x21\xf7\x90\x0d\x49\x2b\x28\x0f\xab\xe0\xe7\x79\x58\x9a\x71\x98\x3b\xee\x88\xb3\xc6\x7f\xa0\xae\x03\x9b\xe6\xb5\x70\x35\x61\xd4\xcd\xee\x20\x26\xaa\x87\x29\x2c\x7e\xd6\x18\x41\x15\x72\xea\xdb\x0e\x78\x67\x9c\x49\xba\xb1\x5b\x3d\xb2\xa0\xbf\x9b\xc1\xc6\x9a\xe6\x44\x4b\x65\x99\x03\x39\x54\x75\x8c\x21\x9d\x2e\xe6\x05\x86\x16\x1f\x5b\x43\x2b\x39\xdc\x0b\xd3\xa9\xdb\x7d\x32\xda\x0c\x5d\x03\xda\xe9\x8d\x19\xaf\x7f\x1d\x13\x63\x37\x6f\x34\xe6\x44\xfd\x83\x7d\x01\x6d\x01\x9e\x24\xdd\x84\x22\x48\xf3\xd7\xc4\xdc\xc5\xae\xbb\x7d\xb6\xc5\x58\x96\x84\x08\x75\x79\xed\x34\xfb\x74\x2c\x60\x42\x13\xf1\x57\x8d\x1f\x17\x6b\x8c\x74\x22\xce\x92\x0a\x35\xdc\x45\xe6\x6c\xfa\x82\x55\x09\x7d\xf9\x13\x7e\xc3\x62\x19\xce\x79\xd5\x2e\x52\x57\xa6\x47\x3d\xfc\xf1\x63\x59\xf8\x4d\xaa\xce\xa5\x14\xd6\x3d\x00\xcd\x62\xe0\xe2\x52\xac\xcb\xfc\x8b\x85\xd0\xe3\xb4\xc6\x22\xfc\xc1\xa6\x7b\x7d\x30\x80\x30\xa1\xb7\xa9\xef\xc8\xe9\x2d\xb6\x9d\x7f\xe0\x95\xf0\xc8\x92\x95\x84\x5d\xc6\x57\x72\xcb\x74\xaf\x05\x73\x7f\x4d\x7c\x5e\xfb\x2b\x6e\xef\x10\x5e\x4c\xa2\x6a\x1a\xe8\x93\xfb\x15\xa5\xf1\xc6\xac\xe8\xf9\x79\x70\xd7\xce\x16\xe5\x11\x99\x1a\xc3\xb3\xe1\xaf\x41\xd4\xed\xef\xc7\xe2\xf9\x5c\x16\x9f\x7b\xf5\x62\xb6\xb6\x60\x79\x9e\x4b\x0e\x89\x5d\xcf\xf3\xe4\xd9\x2d\xbc\xe7\x97\x0b\x0d\x01\x01\x81\xac\x25\x2a\x2e\x68\xb3\x01\xe6\x7c\xbf\x6d\x59\x69\xa2\x8f\x13\xbe\xf7\x55\x19\x6a\x8d\x39\xf2\x5f\x7f\x8d\x4c\x0e\x45\x0d\x89\xd4\xce\xaa\xef\x14\x83\xda\xbe\x78\x7f\xde\x9e\xb9\xf2\x1b\xb8\xdb\x11\x14\x8d\x13\xc6\xca\x2f\x38\x84\x5e\xb9\x9a\xc5\x0f\xe1\x31\x43\x85\x50\x1f\x5a\x9f\x12\xb0\xab\xde\x7a\xcc\xa2\x04\xb0\xf8\x00\xcc\x6a\xce\x0a\x78\xb3\x61\xd4\x87\xd6\xdf\xb7\x16\x3e\x8c\xb2\xf6\xdf\xa7\xb8\x7e\xff\x4f\x1f\x81\x1f\x50\x0c\xa6\x0e\x23\x97\xd1\xa7\x94\x14\x14\x14\x0c\xc5\xc9\xaa\xb2\xf4\x12\xe2\xe2\xe2\xe2\x43\x53\x53\x53\x53\x59\x40\xbe\x8a\x52\xc0\xf4\xf2\xe8\x4f\x4e\x5d\xbb\x6a\xab\x40\x4c\xf4\xff\x01\x0a\x2c\xb3\xf6\x7e\x8c\xec\x25\xfa\x68\x8d\xfe\xfc\x49\xb3\x5d\xeb\xc1\x12\x3b\xb8\xab\x93\xa5\xf8\x32\x19\xb5\xd4\x83\xdf\x69\x25\x2d\x22\x51\x35\xbd\x4a\xfc\xff\xef\x8a\x8b\x79\x7c\xc0\xf1\xc7\x37\x4d\x71\xdd\x6a\xea\xcf\x1b\xf3\xde\x18\x37\x10\xff\x0f\xcb\xff\xd0\xd4\xf8\x8f\x46\x9b\x8e\x0e\x1f\xef\xb7\x92\xa4\xec\x80\x60\x9e\x6e\x45\xf3\x6a\x48\x88\xff\x17\x00\x00\xff\xff\xa7\xc3\x17\x55\x68\x2d\x01\x00") - -func uiAppLibFontAwesome470FontsFontawesomeWebfontWoff2Bytes() ([]byte, error) { - return bindataRead( - _uiAppLibFontAwesome470FontsFontawesomeWebfontWoff2, - "ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2", - ) -} - -func uiAppLibFontAwesome470FontsFontawesomeWebfontWoff2() (*asset, error) { - bytes, err := uiAppLibFontAwesome470FontsFontawesomeWebfontWoff2Bytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2", size: 77160, mode: os.FileMode(420), modTime: time.Unix(1, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -// Asset loads and returns the asset for the given name. -// It returns an error if the asset could not be found or -// could not be loaded. -func Asset(name string) ([]byte, error) { - cannonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[cannonicalName]; ok { - a, err := f() - if err != nil { - return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err) - } - return a.bytes, nil - } - return nil, fmt.Errorf("Asset %s not found", name) -} - -// MustAsset is like Asset but panics when Asset would return an error. -// It simplifies safe initialization of global variables. -func MustAsset(name string) []byte { - a, err := Asset(name) - if err != nil { - panic("asset: Asset(" + name + "): " + err.Error()) - } - - return a -} - -// AssetInfo loads and returns the asset info for the given name. -// It returns an error if the asset could not be found or -// could not be loaded. -func AssetInfo(name string) (os.FileInfo, error) { - cannonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[cannonicalName]; ok { - a, err := f() - if err != nil { - return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err) - } - return a.info, nil - } - return nil, fmt.Errorf("AssetInfo %s not found", name) -} - -// AssetNames returns the names of the assets. -func AssetNames() []string { - names := make([]string, 0, len(_bindata)) - for name := range _bindata { - names = append(names, name) - } - return names -} - -// _bindata is a table, holding each asset generator, mapped to its name. -var _bindata = map[string]func() (*asset, error){ - "ui/app/script.js": uiAppScriptJs, - "ui/app/index.html": uiAppIndexHtml, - "ui/app/favicon.ico": uiAppFaviconIco, - "ui/app/lib/bootstrap-4.0.0-alpha.6-dist/css/bootstrap.min.css": uiAppLibBootstrap400Alpha6DistCssBootstrapMinCss, - "ui/app/lib/bootstrap-4.0.0-alpha.6-dist/css/bootstrap.min.css.map": uiAppLibBootstrap400Alpha6DistCssBootstrapMinCssMap, - "ui/app/lib/font-awesome-4.7.0/css/font-awesome.css": uiAppLibFontAwesome470CssFontAwesomeCss, - "ui/app/lib/font-awesome-4.7.0/css/font-awesome.min.css": uiAppLibFontAwesome470CssFontAwesomeMinCss, - "ui/app/lib/font-awesome-4.7.0/fonts/FontAwesome.otf": uiAppLibFontAwesome470FontsFontawesomeOtf, - "ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.eot": uiAppLibFontAwesome470FontsFontawesomeWebfontEot, - "ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.svg": uiAppLibFontAwesome470FontsFontawesomeWebfontSvg, - "ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf": uiAppLibFontAwesome470FontsFontawesomeWebfontTtf, - "ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff": uiAppLibFontAwesome470FontsFontawesomeWebfontWoff, - "ui/app/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2": uiAppLibFontAwesome470FontsFontawesomeWebfontWoff2, -} - -// AssetDir returns the file names below a certain -// directory embedded in the file by go-bindata. -// For example if you run go-bindata on data/... and data contains the -// following hierarchy: -// data/ -// foo.txt -// img/ -// a.png -// b.png -// then AssetDir("data") would return []string{"foo.txt", "img"} -// AssetDir("data/img") would return []string{"a.png", "b.png"} -// AssetDir("foo.txt") and AssetDir("notexist") would return an error -// AssetDir("") will return []string{"data"}. -func AssetDir(name string) ([]string, error) { - node := _bintree - if len(name) != 0 { - cannonicalName := strings.Replace(name, "\\", "/", -1) - pathList := strings.Split(cannonicalName, "/") - for _, p := range pathList { - node = node.Children[p] - if node == nil { - return nil, fmt.Errorf("Asset %s not found", name) - } - } - } - if node.Func != nil { - return nil, fmt.Errorf("Asset %s not found", name) - } - rv := make([]string, 0, len(node.Children)) - for childName := range node.Children { - rv = append(rv, childName) - } - return rv, nil -} - -type bintree struct { - Func func() (*asset, error) - Children map[string]*bintree -} - -var _bintree = &bintree{nil, map[string]*bintree{ - "ui": &bintree{nil, map[string]*bintree{ - "app": &bintree{nil, map[string]*bintree{ - "favicon.ico": &bintree{uiAppFaviconIco, map[string]*bintree{}}, - "index.html": &bintree{uiAppIndexHtml, map[string]*bintree{}}, - "lib": &bintree{nil, map[string]*bintree{ - "bootstrap-4.0.0-alpha.6-dist": &bintree{nil, map[string]*bintree{ - "css": &bintree{nil, map[string]*bintree{ - "bootstrap.min.css": &bintree{uiAppLibBootstrap400Alpha6DistCssBootstrapMinCss, map[string]*bintree{}}, - "bootstrap.min.css.map": &bintree{uiAppLibBootstrap400Alpha6DistCssBootstrapMinCssMap, map[string]*bintree{}}, - }}, - }}, - "font-awesome-4.7.0": &bintree{nil, map[string]*bintree{ - "css": &bintree{nil, map[string]*bintree{ - "font-awesome.css": &bintree{uiAppLibFontAwesome470CssFontAwesomeCss, map[string]*bintree{}}, - "font-awesome.min.css": &bintree{uiAppLibFontAwesome470CssFontAwesomeMinCss, map[string]*bintree{}}, - }}, - "fonts": &bintree{nil, map[string]*bintree{ - "FontAwesome.otf": &bintree{uiAppLibFontAwesome470FontsFontawesomeOtf, map[string]*bintree{}}, - "fontawesome-webfont.eot": &bintree{uiAppLibFontAwesome470FontsFontawesomeWebfontEot, map[string]*bintree{}}, - "fontawesome-webfont.svg": &bintree{uiAppLibFontAwesome470FontsFontawesomeWebfontSvg, map[string]*bintree{}}, - "fontawesome-webfont.ttf": &bintree{uiAppLibFontAwesome470FontsFontawesomeWebfontTtf, map[string]*bintree{}}, - "fontawesome-webfont.woff": &bintree{uiAppLibFontAwesome470FontsFontawesomeWebfontWoff, map[string]*bintree{}}, - "fontawesome-webfont.woff2": &bintree{uiAppLibFontAwesome470FontsFontawesomeWebfontWoff2, map[string]*bintree{}}, - }}, - }}, - }}, - "script.js": &bintree{uiAppScriptJs, map[string]*bintree{}}, - }}, - }}, -}} - -// RestoreAsset restores an asset under the given directory -func RestoreAsset(dir, name string) error { - data, err := Asset(name) - if err != nil { - return err - } - info, err := AssetInfo(name) - if err != nil { - return err - } - err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755)) - if err != nil { - return err - } - err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode()) - if err != nil { - return err - } - err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) - if err != nil { - return err - } - return nil -} - -// RestoreAssets restores an asset under the given directory recursively -func RestoreAssets(dir, name string) error { - children, err := AssetDir(name) - // File - if err != nil { - return RestoreAsset(dir, name) - } - // Dir - for _, child := range children { - err = RestoreAssets(dir, filepath.Join(name, child)) - if err != nil { - return err - } - } - return nil -} - -func _filePath(dir, name string) string { - cannonicalName := strings.Replace(name, "\\", "/", -1) - return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...) -} diff --git a/vendor/github.com/prometheus/alertmanager/ui/web.go b/vendor/github.com/prometheus/alertmanager/ui/web.go index 049ef335a1d..fbb9c9e6a87 100644 --- a/vendor/github.com/prometheus/alertmanager/ui/web.go +++ b/vendor/github.com/prometheus/alertmanager/ui/web.go @@ -14,61 +14,53 @@ package ui import ( - "bytes" "fmt" - "io" "net/http" _ "net/http/pprof" // Comment this line to disable pprof endpoint. - "path/filepath" + "path" "github.com/go-kit/kit/log" - "github.com/go-kit/kit/log/level" "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/prometheus/common/route" -) - -func serveAsset(w http.ResponseWriter, req *http.Request, fp string, logger log.Logger) { - info, err := AssetInfo(fp) - if err != nil { - level.Warn(logger).Log("msg", "Could not get file", "err", err) - w.WriteHeader(http.StatusNotFound) - return - } - file, err := Asset(fp) - if err != nil { - if err != io.EOF { - level.Warn(logger).Log("msg", "Could not get file", "file", fp, "err", err) - } - w.WriteHeader(http.StatusNotFound) - return - } - w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate") - http.ServeContent(w, req, info.Name(), info.ModTime(), bytes.NewReader(file)) -} + "github.com/prometheus/alertmanager/asset" +) // Register registers handlers to serve files for the web interface. func Register(r *route.Router, reloadCh chan<- chan error, logger log.Logger) { r.Get("/metrics", promhttp.Handler().ServeHTTP) - r.Get("/", http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { - serveAsset(w, req, "ui/app/index.html", logger) - })) + r.Get("/", func(w http.ResponseWriter, req *http.Request) { + disableCaching(w) - r.Get("/script.js", http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { - serveAsset(w, req, "ui/app/script.js", logger) - })) + req.URL.Path = "/static/" + fs := http.FileServer(asset.Assets) + fs.ServeHTTP(w, req) + }) - r.Get("/favicon.ico", http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { - serveAsset(w, req, "ui/app/favicon.ico", logger) - })) + r.Get("/script.js", func(w http.ResponseWriter, req *http.Request) { + disableCaching(w) + + req.URL.Path = "/static/script.js" + fs := http.FileServer(asset.Assets) + fs.ServeHTTP(w, req) + }) + + r.Get("/favicon.ico", func(w http.ResponseWriter, req *http.Request) { + disableCaching(w) + + req.URL.Path = "/static/favicon.ico" + fs := http.FileServer(asset.Assets) + fs.ServeHTTP(w, req) + }) - r.Get("/lib/*filepath", http.HandlerFunc( - func(w http.ResponseWriter, req *http.Request) { - fp := route.Param(req.Context(), "filepath") - serveAsset(w, req, filepath.Join("ui/app/lib", fp), logger) - }, - )) + r.Get("/lib/*path", func(w http.ResponseWriter, req *http.Request) { + disableCaching(w) + + req.URL.Path = path.Join("/static/lib", route.Param(req.Context(), "path")) + fs := http.FileServer(asset.Assets) + fs.ServeHTTP(w, req) + }) r.Post("/-/reload", http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { errc := make(chan error) @@ -92,3 +84,9 @@ func Register(r *route.Router, reloadCh chan<- chan error, logger log.Logger) { r.Get("/debug/*subpath", http.DefaultServeMux.ServeHTTP) r.Post("/debug/*subpath", http.DefaultServeMux.ServeHTTP) } + +func disableCaching(w http.ResponseWriter) { + w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate") + w.Header().Set("Pragma", "no-cache") + w.Header().Set("Expires", "0") // Prevent proxies from caching. +} diff --git a/vendor/github.com/prometheus/prometheus/notifier/notifier.go b/vendor/github.com/prometheus/prometheus/notifier/notifier.go index 8b2c2c71a25..0df441aec18 100644 --- a/vendor/github.com/prometheus/prometheus/notifier/notifier.go +++ b/vendor/github.com/prometheus/prometheus/notifier/notifier.go @@ -39,6 +39,7 @@ import ( "github.com/prometheus/common/model" "github.com/prometheus/common/version" + "github.com/prometheus/alertmanager/api/v2/models" "github.com/prometheus/prometheus/config" "github.com/prometheus/prometheus/discovery/targetgroup" "github.com/prometheus/prometheus/pkg/labels" @@ -544,16 +545,16 @@ func (n *Manager) sendAll(alerts ...*Alert) bool { return numSuccess > 0 } -func alertsToOpenAPIAlerts(alerts []*Alert) PostableAlerts { - openAPIAlerts := PostableAlerts{} +func alertsToOpenAPIAlerts(alerts []*Alert) models.PostableAlerts { + openAPIAlerts := models.PostableAlerts{} for _, a := range alerts { start := strfmt.DateTime(a.StartsAt) end := strfmt.DateTime(a.EndsAt) - openAPIAlerts = append(openAPIAlerts, &PostableAlert{ + openAPIAlerts = append(openAPIAlerts, &models.PostableAlert{ Annotations: labelsToOpenAPILabelSet(a.Annotations), EndsAt: end, StartsAt: start, - ModelAlert: ModelAlert{ + Alert: models.Alert{ GeneratorURL: strfmt.URI(a.GeneratorURL), Labels: labelsToOpenAPILabelSet(a.Labels), }, @@ -563,8 +564,8 @@ func alertsToOpenAPIAlerts(alerts []*Alert) PostableAlerts { return openAPIAlerts } -func labelsToOpenAPILabelSet(modelLabelSet labels.Labels) LabelSet { - apiLabelSet := LabelSet{} +func labelsToOpenAPILabelSet(modelLabelSet labels.Labels) models.LabelSet { + apiLabelSet := models.LabelSet{} for _, label := range modelLabelSet { apiLabelSet[label.Name] = string(label.Value) } @@ -764,45 +765,3 @@ func alertmanagerFromGroup(tg *targetgroup.Group, cfg *config.AlertmanagerConfig } return res, droppedAlertManagers, nil } - -// Below are the models copied from "github.com/prometheus/alertmanager/api/v2/models" -// which are used in this file. - -// PostableAlerts postable alerts -// swagger:model postableAlerts -type PostableAlerts []*PostableAlert - -// PostableAlert postable alert -// swagger:model postableAlert -type PostableAlert struct { - - // annotations - Annotations LabelSet `json:"annotations,omitempty"` - - // ends at - // Format: date-time - EndsAt strfmt.DateTime `json:"endsAt,omitempty"` - - // starts at - // Format: date-time - StartsAt strfmt.DateTime `json:"startsAt,omitempty"` - - ModelAlert -} - -// LabelSet label set -// swagger:model labelSet -type LabelSet map[string]string - -// ModelAlert alert -// swagger:model alert -type ModelAlert struct { - - // generator URL - // Format: uri - GeneratorURL strfmt.URI `json:"generatorURL,omitempty"` - - // labels - // Required: true - Labels LabelSet `json:"labels"` -} diff --git a/vendor/github.com/prometheus/prometheus/template/template.go b/vendor/github.com/prometheus/prometheus/template/template.go index 0a31c4e54a4..031bdbd8b8d 100644 --- a/vendor/github.com/prometheus/prometheus/template/template.go +++ b/vendor/github.com/prometheus/prometheus/template/template.go @@ -219,7 +219,7 @@ func NewTemplateExpander( seconds := int64(v) % 60 minutes := (int64(v) / 60) % 60 hours := (int64(v) / 60 / 60) % 24 - days := int64(v) / 60 / 60 / 24 + days := (int64(v) / 60 / 60 / 24) // For days to minutes, we display seconds as an integer. if days != 0 { return fmt.Sprintf("%s%dd %dh %dm %ds", sign, days, hours, minutes, seconds) diff --git a/vendor/github.com/prometheus/prometheus/util/testutil/directory.go b/vendor/github.com/prometheus/prometheus/util/testutil/directory.go index 5f1c31554ce..d3c9c926f12 100644 --- a/vendor/github.com/prometheus/prometheus/util/testutil/directory.go +++ b/vendor/github.com/prometheus/prometheus/util/testutil/directory.go @@ -14,13 +14,8 @@ package testutil import ( - "crypto/sha256" - "io" "io/ioutil" "os" - "path/filepath" - "strconv" - "testing" ) const ( @@ -132,51 +127,3 @@ func NewTemporaryDirectory(name string, t T) (handler TemporaryDirectory) { return } - -// DirSize returns the size in bytes of all files in a directory. -func DirSize(t *testing.T, path string) int64 { - var size int64 - err := filepath.Walk(path, func(_ string, info os.FileInfo, err error) error { - Ok(t, err) - if !info.IsDir() { - size += info.Size() - } - return nil - }) - Ok(t, err) - return size -} - -// DirHash returns a hash of all files attribites and their content within a directory. -func DirHash(t *testing.T, path string) []byte { - hash := sha256.New() - err := filepath.Walk(path, func(path string, info os.FileInfo, err error) error { - Ok(t, err) - - if info.IsDir() { - return nil - } - f, err := os.Open(path) - Ok(t, err) - defer f.Close() - - _, err = io.Copy(hash, f) - Ok(t, err) - - _, err = io.WriteString(hash, strconv.Itoa(int(info.Size()))) - Ok(t, err) - - _, err = io.WriteString(hash, info.Name()) - Ok(t, err) - - modTime, err := info.ModTime().GobEncode() - Ok(t, err) - - _, err = io.WriteString(hash, string(modTime)) - Ok(t, err) - return nil - }) - Ok(t, err) - - return hash.Sum(nil) -} diff --git a/vendor/github.com/prometheus/prometheus/util/testutil/testing.go b/vendor/github.com/prometheus/prometheus/util/testutil/testing.go index 39b44e53617..52abce5bf6c 100644 --- a/vendor/github.com/prometheus/prometheus/util/testutil/testing.go +++ b/vendor/github.com/prometheus/prometheus/util/testutil/testing.go @@ -52,11 +52,10 @@ func Ok(tb TB, err error) { } // NotOk fails the test if an err is nil. -func NotOk(tb TB, err error, a ...interface{}) { +func NotOk(tb TB, err error, format string, a ...interface{}) { tb.Helper() if err == nil { if len(a) != 0 { - format := a[0].(string) tb.Fatalf("\033[31m"+format+": expected error, got none\033[39m", a...) } tb.Fatalf("\033[31mexpected error, got none\033[39m") @@ -77,7 +76,7 @@ func formatMessage(msgAndArgs []interface{}) string { } if msg, ok := msgAndArgs[0].(string); ok { - return fmt.Sprintf("\n\nmsg: "+msg, msgAndArgs[1:]...) + return fmt.Sprintf("\nmsg: "+msg, msgAndArgs[1:]...) } return "" } diff --git a/vendor/github.com/rs/cors/.travis.yml b/vendor/github.com/rs/cors/.travis.yml new file mode 100644 index 00000000000..17e5e50d527 --- /dev/null +++ b/vendor/github.com/rs/cors/.travis.yml @@ -0,0 +1,8 @@ +language: go +go: +- 1.9 +- "1.10" +- tip +matrix: + allow_failures: + - go: tip diff --git a/vendor/github.com/rs/cors/LICENSE b/vendor/github.com/rs/cors/LICENSE new file mode 100644 index 00000000000..d8e2df5a479 --- /dev/null +++ b/vendor/github.com/rs/cors/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2014 Olivier Poitrey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/rs/cors/README.md b/vendor/github.com/rs/cors/README.md new file mode 100644 index 00000000000..ecc83b29518 --- /dev/null +++ b/vendor/github.com/rs/cors/README.md @@ -0,0 +1,115 @@ +# Go CORS handler [![godoc](http://img.shields.io/badge/godoc-reference-blue.svg?style=flat)](https://godoc.org/github.com/rs/cors) [![license](http://img.shields.io/badge/license-MIT-red.svg?style=flat)](https://raw.githubusercontent.com/rs/cors/master/LICENSE) [![build](https://img.shields.io/travis/rs/cors.svg?style=flat)](https://travis-ci.org/rs/cors) [![Coverage](http://gocover.io/_badge/github.com/rs/cors)](http://gocover.io/github.com/rs/cors) + +CORS is a `net/http` handler implementing [Cross Origin Resource Sharing W3 specification](http://www.w3.org/TR/cors/) in Golang. + +## Getting Started + +After installing Go and setting up your [GOPATH](http://golang.org/doc/code.html#GOPATH), create your first `.go` file. We'll call it `server.go`. + +```go +package main + +import ( + "net/http" + + "github.com/rs/cors" +) + +func main() { + mux := http.NewServeMux() + mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + w.Write([]byte("{\"hello\": \"world\"}")) + }) + + // cors.Default() setup the middleware with default options being + // all origins accepted with simple methods (GET, POST). See + // documentation below for more options. + handler := cors.Default().Handler(mux) + http.ListenAndServe(":8080", handler) +} +``` + +Install `cors`: + + go get github.com/rs/cors + +Then run your server: + + go run server.go + +The server now runs on `localhost:8080`: + + $ curl -D - -H 'Origin: http://foo.com' http://localhost:8080/ + HTTP/1.1 200 OK + Access-Control-Allow-Origin: foo.com + Content-Type: application/json + Date: Sat, 25 Oct 2014 03:43:57 GMT + Content-Length: 18 + + {"hello": "world"} + +### Allow * With Credentials Security Protection + +This library has been modified to avoid a well known security issue when configured with `AllowedOrigins` to `*` and `AllowCredentials` to `true`. Such setup used to make the library reflects the request `Origin` header value, working around a security protection embedded into the standard that makes clients to refuse such configuration. This behavior has been removed with [#55](https://github.com/rs/cors/issues/55) and [#57](https://github.com/rs/cors/issues/57). + +If you depend on this behavior and understand the implications, you can restore it using the `AllowOriginFunc` with `func(origin string) {return true}`. + +Please refer to [#55](https://github.com/rs/cors/issues/55) for more information about the security implications. + +### More Examples + +* `net/http`: [examples/nethttp/server.go](https://github.com/rs/cors/blob/master/examples/nethttp/server.go) +* [Goji](https://goji.io): [examples/goji/server.go](https://github.com/rs/cors/blob/master/examples/goji/server.go) +* [Martini](http://martini.codegangsta.io): [examples/martini/server.go](https://github.com/rs/cors/blob/master/examples/martini/server.go) +* [Negroni](https://github.com/codegangsta/negroni): [examples/negroni/server.go](https://github.com/rs/cors/blob/master/examples/negroni/server.go) +* [Alice](https://github.com/justinas/alice): [examples/alice/server.go](https://github.com/rs/cors/blob/master/examples/alice/server.go) +* [HttpRouter](https://github.com/julienschmidt/httprouter): [examples/httprouter/server.go](https://github.com/rs/cors/blob/master/examples/httprouter/server.go) +* [Gorilla](http://www.gorillatoolkit.org/pkg/mux): [examples/gorilla/server.go](https://github.com/rs/cors/blob/master/examples/gorilla/server.go) +* [Buffalo](https://gobuffalo.io): [examples/buffalo/server.go](https://github.com/rs/cors/blob/master/examples/buffalo/server.go) +* [Gin](https://gin-gonic.github.io/gin): [examples/gin/server.go](https://github.com/rs/cors/blob/master/examples/gin/server.go) +* [Chi](https://github.com/go-chi/chi): [examples/chi/server.go](https://github.com/rs/cors/blob/master/examples/chi/server.go) + +## Parameters + +Parameters are passed to the middleware thru the `cors.New` method as follow: + +```go +c := cors.New(cors.Options{ + AllowedOrigins: []string{"http://foo.com", "http://foo.com:8080"}, + AllowCredentials: true, + // Enable Debugging for testing, consider disabling in production + Debug: true, +}) + +// Insert the middleware +handler = c.Handler(handler) +``` + +* **AllowedOrigins** `[]string`: A list of origins a cross-domain request can be executed from. If the special `*` value is present in the list, all origins will be allowed. An origin may contain a wildcard (`*`) to replace 0 or more characters (i.e.: `http://*.domain.com`). Usage of wildcards implies a small performance penality. Only one wildcard can be used per origin. The default value is `*`. +* **AllowOriginFunc** `func (origin string) bool`: A custom function to validate the origin. It takes the origin as an argument and returns true if allowed, or false otherwise. If this option is set, the content of `AllowedOrigins` is ignored. +* **AllowOriginRequestFunc** `func (r *http.Request origin string) bool`: A custom function to validate the origin. It takes the HTTP Request object and the origin as argument and returns true if allowed or false otherwise. If this option is set, the content of `AllowedOrigins` and `AllowOriginFunc` is ignored +* **AllowedMethods** `[]string`: A list of methods the client is allowed to use with cross-domain requests. Default value is simple methods (`GET` and `POST`). +* **AllowedHeaders** `[]string`: A list of non simple headers the client is allowed to use with cross-domain requests. +* **ExposedHeaders** `[]string`: Indicates which headers are safe to expose to the API of a CORS API specification +* **AllowCredentials** `bool`: Indicates whether the request can include user credentials like cookies, HTTP authentication or client side SSL certificates. The default is `false`. +* **MaxAge** `int`: Indicates how long (in seconds) the results of a preflight request can be cached. The default is `0` which stands for no max age. +* **OptionsPassthrough** `bool`: Instructs preflight to let other potential next handlers to process the `OPTIONS` method. Turn this on if your application handles `OPTIONS`. +* **Debug** `bool`: Debugging flag adds additional output to debug server side CORS issues. + +See [API documentation](http://godoc.org/github.com/rs/cors) for more info. + +## Benchmarks + + BenchmarkWithout 20000000 64.6 ns/op 8 B/op 1 allocs/op + BenchmarkDefault 3000000 469 ns/op 114 B/op 2 allocs/op + BenchmarkAllowedOrigin 3000000 608 ns/op 114 B/op 2 allocs/op + BenchmarkPreflight 20000000 73.2 ns/op 0 B/op 0 allocs/op + BenchmarkPreflightHeader 20000000 73.6 ns/op 0 B/op 0 allocs/op + BenchmarkParseHeaderList 2000000 847 ns/op 184 B/op 6 allocs/op + BenchmarkParse…Single 5000000 290 ns/op 32 B/op 3 allocs/op + BenchmarkParse…Normalized 2000000 776 ns/op 160 B/op 6 allocs/op + +## Licenses + +All source code is licensed under the [MIT License](https://raw.github.com/rs/cors/master/LICENSE). diff --git a/vendor/github.com/rs/cors/cors.go b/vendor/github.com/rs/cors/cors.go new file mode 100644 index 00000000000..d301ca724e5 --- /dev/null +++ b/vendor/github.com/rs/cors/cors.go @@ -0,0 +1,417 @@ +/* +Package cors is net/http handler to handle CORS related requests +as defined by http://www.w3.org/TR/cors/ + +You can configure it by passing an option struct to cors.New: + + c := cors.New(cors.Options{ + AllowedOrigins: []string{"foo.com"}, + AllowedMethods: []string{"GET", "POST", "DELETE"}, + AllowCredentials: true, + }) + +Then insert the handler in the chain: + + handler = c.Handler(handler) + +See Options documentation for more options. + +The resulting handler is a standard net/http handler. +*/ +package cors + +import ( + "log" + "net/http" + "os" + "strconv" + "strings" +) + +// Options is a configuration container to setup the CORS middleware. +type Options struct { + // AllowedOrigins is a list of origins a cross-domain request can be executed from. + // If the special "*" value is present in the list, all origins will be allowed. + // An origin may contain a wildcard (*) to replace 0 or more characters + // (i.e.: http://*.domain.com). Usage of wildcards implies a small performance penalty. + // Only one wildcard can be used per origin. + // Default value is ["*"] + AllowedOrigins []string + // AllowOriginFunc is a custom function to validate the origin. It take the origin + // as argument and returns true if allowed or false otherwise. If this option is + // set, the content of AllowedOrigins is ignored. + AllowOriginFunc func(origin string) bool + // AllowOriginFunc is a custom function to validate the origin. It takes the HTTP Request object and the origin as + // argument and returns true if allowed or false otherwise. If this option is set, the content of `AllowedOrigins` + // and `AllowOriginFunc` is ignored. + AllowOriginRequestFunc func(r *http.Request, origin string) bool + // AllowedMethods is a list of methods the client is allowed to use with + // cross-domain requests. Default value is simple methods (HEAD, GET and POST). + AllowedMethods []string + // AllowedHeaders is list of non simple headers the client is allowed to use with + // cross-domain requests. + // If the special "*" value is present in the list, all headers will be allowed. + // Default value is [] but "Origin" is always appended to the list. + AllowedHeaders []string + // ExposedHeaders indicates which headers are safe to expose to the API of a CORS + // API specification + ExposedHeaders []string + // MaxAge indicates how long (in seconds) the results of a preflight request + // can be cached + MaxAge int + // AllowCredentials indicates whether the request can include user credentials like + // cookies, HTTP authentication or client side SSL certificates. + AllowCredentials bool + // OptionsPassthrough instructs preflight to let other potential next handlers to + // process the OPTIONS method. Turn this on if your application handles OPTIONS. + OptionsPassthrough bool + // Debugging flag adds additional output to debug server side CORS issues + Debug bool +} + +// Cors http handler +type Cors struct { + // Debug logger + Log *log.Logger + // Normalized list of plain allowed origins + allowedOrigins []string + // List of allowed origins containing wildcards + allowedWOrigins []wildcard + // Optional origin validator function + allowOriginFunc func(origin string) bool + // Optional origin validator (with request) function + allowOriginRequestFunc func(r *http.Request, origin string) bool + // Normalized list of allowed headers + allowedHeaders []string + // Normalized list of allowed methods + allowedMethods []string + // Normalized list of exposed headers + exposedHeaders []string + maxAge int + // Set to true when allowed origins contains a "*" + allowedOriginsAll bool + // Set to true when allowed headers contains a "*" + allowedHeadersAll bool + allowCredentials bool + optionPassthrough bool +} + +// New creates a new Cors handler with the provided options. +func New(options Options) *Cors { + c := &Cors{ + exposedHeaders: convert(options.ExposedHeaders, http.CanonicalHeaderKey), + allowOriginFunc: options.AllowOriginFunc, + allowOriginRequestFunc: options.AllowOriginRequestFunc, + allowCredentials: options.AllowCredentials, + maxAge: options.MaxAge, + optionPassthrough: options.OptionsPassthrough, + } + if options.Debug { + c.Log = log.New(os.Stdout, "[cors] ", log.LstdFlags) + } + + // Normalize options + // Note: for origins and methods matching, the spec requires a case-sensitive matching. + // As it may error prone, we chose to ignore the spec here. + + // Allowed Origins + if len(options.AllowedOrigins) == 0 { + if options.AllowOriginFunc == nil && options.AllowOriginRequestFunc == nil { + // Default is all origins + c.allowedOriginsAll = true + } + } else { + c.allowedOrigins = []string{} + c.allowedWOrigins = []wildcard{} + for _, origin := range options.AllowedOrigins { + // Normalize + origin = strings.ToLower(origin) + if origin == "*" { + // If "*" is present in the list, turn the whole list into a match all + c.allowedOriginsAll = true + c.allowedOrigins = nil + c.allowedWOrigins = nil + break + } else if i := strings.IndexByte(origin, '*'); i >= 0 { + // Split the origin in two: start and end string without the * + w := wildcard{origin[0:i], origin[i+1:]} + c.allowedWOrigins = append(c.allowedWOrigins, w) + } else { + c.allowedOrigins = append(c.allowedOrigins, origin) + } + } + } + + // Allowed Headers + if len(options.AllowedHeaders) == 0 { + // Use sensible defaults + c.allowedHeaders = []string{"Origin", "Accept", "Content-Type", "X-Requested-With"} + } else { + // Origin is always appended as some browsers will always request for this header at preflight + c.allowedHeaders = convert(append(options.AllowedHeaders, "Origin"), http.CanonicalHeaderKey) + for _, h := range options.AllowedHeaders { + if h == "*" { + c.allowedHeadersAll = true + c.allowedHeaders = nil + break + } + } + } + + // Allowed Methods + if len(options.AllowedMethods) == 0 { + // Default is spec's "simple" methods + c.allowedMethods = []string{"GET", "POST", "HEAD"} + } else { + c.allowedMethods = convert(options.AllowedMethods, strings.ToUpper) + } + + return c +} + +// Default creates a new Cors handler with default options. +func Default() *Cors { + return New(Options{}) +} + +// AllowAll create a new Cors handler with permissive configuration allowing all +// origins with all standard methods with any header and credentials. +func AllowAll() *Cors { + return New(Options{ + AllowedOrigins: []string{"*"}, + AllowedMethods: []string{"HEAD", "GET", "POST", "PUT", "PATCH", "DELETE"}, + AllowedHeaders: []string{"*"}, + AllowCredentials: false, + }) +} + +// Handler apply the CORS specification on the request, and add relevant CORS headers +// as necessary. +func (c *Cors) Handler(h http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.Method == http.MethodOptions && r.Header.Get("Access-Control-Request-Method") != "" { + c.logf("Handler: Preflight request") + c.handlePreflight(w, r) + // Preflight requests are standalone and should stop the chain as some other + // middleware may not handle OPTIONS requests correctly. One typical example + // is authentication middleware ; OPTIONS requests won't carry authentication + // headers (see #1) + if c.optionPassthrough { + h.ServeHTTP(w, r) + } else { + w.WriteHeader(http.StatusOK) + } + } else { + c.logf("Handler: Actual request") + c.handleActualRequest(w, r) + h.ServeHTTP(w, r) + } + }) +} + +// HandlerFunc provides Martini compatible handler +func (c *Cors) HandlerFunc(w http.ResponseWriter, r *http.Request) { + if r.Method == http.MethodOptions && r.Header.Get("Access-Control-Request-Method") != "" { + c.logf("HandlerFunc: Preflight request") + c.handlePreflight(w, r) + } else { + c.logf("HandlerFunc: Actual request") + c.handleActualRequest(w, r) + } +} + +// Negroni compatible interface +func (c *Cors) ServeHTTP(w http.ResponseWriter, r *http.Request, next http.HandlerFunc) { + if r.Method == http.MethodOptions && r.Header.Get("Access-Control-Request-Method") != "" { + c.logf("ServeHTTP: Preflight request") + c.handlePreflight(w, r) + // Preflight requests are standalone and should stop the chain as some other + // middleware may not handle OPTIONS requests correctly. One typical example + // is authentication middleware ; OPTIONS requests won't carry authentication + // headers (see #1) + if c.optionPassthrough { + next(w, r) + } else { + w.WriteHeader(http.StatusOK) + } + } else { + c.logf("ServeHTTP: Actual request") + c.handleActualRequest(w, r) + next(w, r) + } +} + +// handlePreflight handles pre-flight CORS requests +func (c *Cors) handlePreflight(w http.ResponseWriter, r *http.Request) { + headers := w.Header() + origin := r.Header.Get("Origin") + + if r.Method != http.MethodOptions { + c.logf(" Preflight aborted: %s!=OPTIONS", r.Method) + return + } + // Always set Vary headers + // see https://github.com/rs/cors/issues/10, + // https://github.com/rs/cors/commit/dbdca4d95feaa7511a46e6f1efb3b3aa505bc43f#commitcomment-12352001 + headers.Add("Vary", "Origin") + headers.Add("Vary", "Access-Control-Request-Method") + headers.Add("Vary", "Access-Control-Request-Headers") + + if origin == "" { + c.logf(" Preflight aborted: empty origin") + return + } + if !c.isOriginAllowed(r, origin) { + c.logf(" Preflight aborted: origin '%s' not allowed", origin) + return + } + + reqMethod := r.Header.Get("Access-Control-Request-Method") + if !c.isMethodAllowed(reqMethod) { + c.logf(" Preflight aborted: method '%s' not allowed", reqMethod) + return + } + reqHeaders := parseHeaderList(r.Header.Get("Access-Control-Request-Headers")) + if !c.areHeadersAllowed(reqHeaders) { + c.logf(" Preflight aborted: headers '%v' not allowed", reqHeaders) + return + } + if c.allowedOriginsAll { + headers.Set("Access-Control-Allow-Origin", "*") + } else { + headers.Set("Access-Control-Allow-Origin", origin) + } + // Spec says: Since the list of methods can be unbounded, simply returning the method indicated + // by Access-Control-Request-Method (if supported) can be enough + headers.Set("Access-Control-Allow-Methods", strings.ToUpper(reqMethod)) + if len(reqHeaders) > 0 { + + // Spec says: Since the list of headers can be unbounded, simply returning supported headers + // from Access-Control-Request-Headers can be enough + headers.Set("Access-Control-Allow-Headers", strings.Join(reqHeaders, ", ")) + } + if c.allowCredentials { + headers.Set("Access-Control-Allow-Credentials", "true") + } + if c.maxAge > 0 { + headers.Set("Access-Control-Max-Age", strconv.Itoa(c.maxAge)) + } + c.logf(" Preflight response headers: %v", headers) +} + +// handleActualRequest handles simple cross-origin requests, actual request or redirects +func (c *Cors) handleActualRequest(w http.ResponseWriter, r *http.Request) { + headers := w.Header() + origin := r.Header.Get("Origin") + + if r.Method == http.MethodOptions { + c.logf(" Actual request no headers added: method == %s", r.Method) + return + } + // Always set Vary, see https://github.com/rs/cors/issues/10 + headers.Add("Vary", "Origin") + if origin == "" { + c.logf(" Actual request no headers added: missing origin") + return + } + if !c.isOriginAllowed(r, origin) { + c.logf(" Actual request no headers added: origin '%s' not allowed", origin) + return + } + + // Note that spec does define a way to specifically disallow a simple method like GET or + // POST. Access-Control-Allow-Methods is only used for pre-flight requests and the + // spec doesn't instruct to check the allowed methods for simple cross-origin requests. + // We think it's a nice feature to be able to have control on those methods though. + if !c.isMethodAllowed(r.Method) { + c.logf(" Actual request no headers added: method '%s' not allowed", r.Method) + + return + } + if c.allowedOriginsAll { + headers.Set("Access-Control-Allow-Origin", "*") + } else { + headers.Set("Access-Control-Allow-Origin", origin) + } + if len(c.exposedHeaders) > 0 { + headers.Set("Access-Control-Expose-Headers", strings.Join(c.exposedHeaders, ", ")) + } + if c.allowCredentials { + headers.Set("Access-Control-Allow-Credentials", "true") + } + c.logf(" Actual response added headers: %v", headers) +} + +// convenience method. checks if debugging is turned on before printing +func (c *Cors) logf(format string, a ...interface{}) { + if c.Log != nil { + c.Log.Printf(format, a...) + } +} + +// isOriginAllowed checks if a given origin is allowed to perform cross-domain requests +// on the endpoint +func (c *Cors) isOriginAllowed(r *http.Request, origin string) bool { + if c.allowOriginRequestFunc != nil { + return c.allowOriginRequestFunc(r, origin) + } + if c.allowOriginFunc != nil { + return c.allowOriginFunc(origin) + } + if c.allowedOriginsAll { + return true + } + origin = strings.ToLower(origin) + for _, o := range c.allowedOrigins { + if o == origin { + return true + } + } + for _, w := range c.allowedWOrigins { + if w.match(origin) { + return true + } + } + return false +} + +// isMethodAllowed checks if a given method can be used as part of a cross-domain request +// on the endpoing +func (c *Cors) isMethodAllowed(method string) bool { + if len(c.allowedMethods) == 0 { + // If no method allowed, always return false, even for preflight request + return false + } + method = strings.ToUpper(method) + if method == http.MethodOptions { + // Always allow preflight requests + return true + } + for _, m := range c.allowedMethods { + if m == method { + return true + } + } + return false +} + +// areHeadersAllowed checks if a given list of headers are allowed to used within +// a cross-domain request. +func (c *Cors) areHeadersAllowed(requestedHeaders []string) bool { + if c.allowedHeadersAll || len(requestedHeaders) == 0 { + return true + } + for _, header := range requestedHeaders { + header = http.CanonicalHeaderKey(header) + found := false + for _, h := range c.allowedHeaders { + if h == header { + found = true + } + } + if !found { + return false + } + } + return true +} diff --git a/vendor/github.com/rs/cors/go.mod b/vendor/github.com/rs/cors/go.mod new file mode 100644 index 00000000000..0a4c6521054 --- /dev/null +++ b/vendor/github.com/rs/cors/go.mod @@ -0,0 +1 @@ +module github.com/rs/cors diff --git a/vendor/github.com/rs/cors/utils.go b/vendor/github.com/rs/cors/utils.go new file mode 100644 index 00000000000..53ad9e9db35 --- /dev/null +++ b/vendor/github.com/rs/cors/utils.go @@ -0,0 +1,71 @@ +package cors + +import "strings" + +const toLower = 'a' - 'A' + +type converter func(string) string + +type wildcard struct { + prefix string + suffix string +} + +func (w wildcard) match(s string) bool { + return len(s) >= len(w.prefix+w.suffix) && strings.HasPrefix(s, w.prefix) && strings.HasSuffix(s, w.suffix) +} + +// convert converts a list of string using the passed converter function +func convert(s []string, c converter) []string { + out := []string{} + for _, i := range s { + out = append(out, c(i)) + } + return out +} + +// parseHeaderList tokenize + normalize a string containing a list of headers +func parseHeaderList(headerList string) []string { + l := len(headerList) + h := make([]byte, 0, l) + upper := true + // Estimate the number headers in order to allocate the right splice size + t := 0 + for i := 0; i < l; i++ { + if headerList[i] == ',' { + t++ + } + } + headers := make([]string, 0, t) + for i := 0; i < l; i++ { + b := headerList[i] + switch { + case b >= 'a' && b <= 'z': + if upper { + h = append(h, b-toLower) + } else { + h = append(h, b) + } + case b >= 'A' && b <= 'Z': + if !upper { + h = append(h, b+toLower) + } else { + h = append(h, b) + } + case b == '-' || b == '_' || (b >= '0' && b <= '9'): + h = append(h, b) + } + + if b == ' ' || b == ',' || i == l-1 { + if len(h) > 0 { + // Flush the found header + headers = append(headers, string(h)) + h = h[:0] + upper = true + } + } else { + upper = b == '-' || b == '_' + } + } + return headers +} diff --git a/vendor/github.com/shurcooL/httpfs/LICENSE b/vendor/github.com/shurcooL/httpfs/LICENSE new file mode 100644 index 00000000000..c35c17af980 --- /dev/null +++ b/vendor/github.com/shurcooL/httpfs/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2015 Dmitri Shuralyov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/shurcooL/httpfs/filter/filter.go b/vendor/github.com/shurcooL/httpfs/filter/filter.go new file mode 100644 index 00000000000..6f03e597579 --- /dev/null +++ b/vendor/github.com/shurcooL/httpfs/filter/filter.go @@ -0,0 +1,133 @@ +// Package filter offers an http.FileSystem wrapper with the ability to keep or skip files. +package filter + +import ( + "fmt" + "io" + "net/http" + "os" + pathpkg "path" + "time" +) + +// Func is a selection function which is provided two arguments, +// its '/'-separated cleaned rooted absolute path (i.e., it always begins with "/"), +// and the os.FileInfo of the considered file. +// +// The path is cleaned via pathpkg.Clean("/" + path). +// +// For example, if the considered file is named "a" and it's inside a directory "dir", +// then the value of path will be "/dir/a". +type Func func(path string, fi os.FileInfo) bool + +// Keep returns a filesystem that contains only those entries in source for which +// keep returns true. +func Keep(source http.FileSystem, keep Func) http.FileSystem { + return &filterFS{source: source, keep: keep} +} + +// Skip returns a filesystem that contains everything in source, except entries +// for which skip returns true. +func Skip(source http.FileSystem, skip Func) http.FileSystem { + keep := func(path string, fi os.FileInfo) bool { + return !skip(path, fi) + } + return &filterFS{source: source, keep: keep} +} + +type filterFS struct { + source http.FileSystem + keep Func // Keep entries that keep returns true for. +} + +func (fs *filterFS) Open(path string) (http.File, error) { + f, err := fs.source.Open(path) + if err != nil { + return nil, err + } + + fi, err := f.Stat() + if err != nil { + f.Close() + return nil, err + } + + if !fs.keep(clean(path), fi) { + // Skip. + f.Close() + return nil, &os.PathError{Op: "open", Path: path, Err: os.ErrNotExist} + } + + if !fi.IsDir() { + return f, nil + } + defer f.Close() + + fis, err := f.Readdir(0) + if err != nil { + return nil, err + } + + var entries []os.FileInfo + for _, fi := range fis { + if !fs.keep(clean(pathpkg.Join(path, fi.Name())), fi) { + // Skip. + continue + } + entries = append(entries, fi) + } + + return &dir{ + name: fi.Name(), + entries: entries, + modTime: fi.ModTime(), + }, nil +} + +// clean turns a potentially relative path into an absolute one. +// +// This is needed to normalize path parameter for selection function. +func clean(path string) string { + return pathpkg.Clean("/" + path) +} + +// dir is an opened dir instance. +type dir struct { + name string + modTime time.Time + entries []os.FileInfo + pos int // Position within entries for Seek and Readdir. +} + +func (d *dir) Read([]byte) (int, error) { + return 0, fmt.Errorf("cannot Read from directory %s", d.name) +} +func (d *dir) Close() error { return nil } +func (d *dir) Stat() (os.FileInfo, error) { return d, nil } + +func (d *dir) Name() string { return d.name } +func (d *dir) Size() int64 { return 0 } +func (d *dir) Mode() os.FileMode { return 0755 | os.ModeDir } +func (d *dir) ModTime() time.Time { return d.modTime } +func (d *dir) IsDir() bool { return true } +func (d *dir) Sys() interface{} { return nil } + +func (d *dir) Seek(offset int64, whence int) (int64, error) { + if offset == 0 && whence == io.SeekStart { + d.pos = 0 + return 0, nil + } + return 0, fmt.Errorf("unsupported Seek in directory %s", d.name) +} + +func (d *dir) Readdir(count int) ([]os.FileInfo, error) { + if d.pos >= len(d.entries) && count > 0 { + return nil, io.EOF + } + if count <= 0 || count > len(d.entries)-d.pos { + count = len(d.entries) - d.pos + } + e := d.entries[d.pos : d.pos+count] + d.pos += count + return e, nil +} diff --git a/vendor/github.com/shurcooL/httpfs/filter/filters.go b/vendor/github.com/shurcooL/httpfs/filter/filters.go new file mode 100644 index 00000000000..a20edaf4f39 --- /dev/null +++ b/vendor/github.com/shurcooL/httpfs/filter/filters.go @@ -0,0 +1,26 @@ +package filter + +import ( + "os" + pathpkg "path" +) + +// FilesWithExtensions returns a filter func that selects files (but not directories) +// that have any of the given extensions. For example: +// +// filter.FilesWithExtensions(".go", ".html") +// +// Would select both .go and .html files. It would not select any directories. +func FilesWithExtensions(exts ...string) Func { + return func(path string, fi os.FileInfo) bool { + if fi.IsDir() { + return false + } + for _, ext := range exts { + if pathpkg.Ext(path) == ext { + return true + } + } + return false + } +} diff --git a/vendor/github.com/shurcooL/httpfs/union/union.go b/vendor/github.com/shurcooL/httpfs/union/union.go new file mode 100644 index 00000000000..cb40f4f79e8 --- /dev/null +++ b/vendor/github.com/shurcooL/httpfs/union/union.go @@ -0,0 +1,106 @@ +// Package union offers a simple http.FileSystem that can unify multiple filesystems at various mount points. +package union + +import ( + "fmt" + "io" + "net/http" + "os" + "strings" + "time" +) + +// New creates an union filesystem with the provided mapping of mount points to filesystems. +// +// Each mount point must be of form "/mydir". It must start with a '/', and contain a single directory name. +func New(mapping map[string]http.FileSystem) http.FileSystem { + u := &unionFS{ + ns: make(map[string]http.FileSystem), + root: &dirInfo{ + name: "/", + }, + } + for mountPoint, fs := range mapping { + u.bind(mountPoint, fs) + } + return u +} + +type unionFS struct { + ns map[string]http.FileSystem // Key is mount point, e.g., "/mydir". + root *dirInfo +} + +// bind mounts fs at mountPoint. +// mountPoint must be of form "/mydir". It must start with a '/', and contain a single directory name. +func (u *unionFS) bind(mountPoint string, fs http.FileSystem) { + u.ns[mountPoint] = fs + u.root.entries = append(u.root.entries, &dirInfo{ + name: mountPoint[1:], + }) +} + +// Open opens the named file. +func (u *unionFS) Open(path string) (http.File, error) { + // TODO: Maybe clean path? + if path == "/" { + return &dir{ + dirInfo: u.root, + }, nil + } + for prefix, fs := range u.ns { + if path == prefix || strings.HasPrefix(path, prefix+"/") { + innerPath := path[len(prefix):] + if innerPath == "" { + innerPath = "/" + } + return fs.Open(innerPath) + } + } + return nil, &os.PathError{Op: "open", Path: path, Err: os.ErrNotExist} +} + +// dirInfo is a static definition of a directory. +type dirInfo struct { + name string + entries []os.FileInfo +} + +func (d *dirInfo) Read([]byte) (int, error) { + return 0, fmt.Errorf("cannot Read from directory %s", d.name) +} +func (d *dirInfo) Close() error { return nil } +func (d *dirInfo) Stat() (os.FileInfo, error) { return d, nil } + +func (d *dirInfo) Name() string { return d.name } +func (d *dirInfo) Size() int64 { return 0 } +func (d *dirInfo) Mode() os.FileMode { return 0755 | os.ModeDir } +func (d *dirInfo) ModTime() time.Time { return time.Time{} } // Actual mod time is not computed because it's expensive and rarely needed. +func (d *dirInfo) IsDir() bool { return true } +func (d *dirInfo) Sys() interface{} { return nil } + +// dir is an opened dir instance. +type dir struct { + *dirInfo + pos int // Position within entries for Seek and Readdir. +} + +func (d *dir) Seek(offset int64, whence int) (int64, error) { + if offset == 0 && whence == io.SeekStart { + d.pos = 0 + return 0, nil + } + return 0, fmt.Errorf("unsupported Seek in directory %s", d.dirInfo.name) +} + +func (d *dir) Readdir(count int) ([]os.FileInfo, error) { + if d.pos >= len(d.dirInfo.entries) && count > 0 { + return nil, io.EOF + } + if count <= 0 || count > len(d.dirInfo.entries)-d.pos { + count = len(d.dirInfo.entries) - d.pos + } + e := d.dirInfo.entries[d.pos : d.pos+count] + d.pos += count + return e, nil +} diff --git a/vendor/github.com/shurcooL/httpfs/vfsutil/file.go b/vendor/github.com/shurcooL/httpfs/vfsutil/file.go new file mode 100644 index 00000000000..4cb0dadadb2 --- /dev/null +++ b/vendor/github.com/shurcooL/httpfs/vfsutil/file.go @@ -0,0 +1,21 @@ +package vfsutil + +import ( + "net/http" + "os" +) + +// File implements http.FileSystem using the native file system restricted to a +// specific file served at root. +// +// While the FileSystem.Open method takes '/'-separated paths, a File's string +// value is a filename on the native file system, not a URL, so it is separated +// by filepath.Separator, which isn't necessarily '/'. +type File string + +func (f File) Open(name string) (http.File, error) { + if name != "/" { + return nil, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist} + } + return os.Open(string(f)) +} diff --git a/vendor/github.com/shurcooL/httpfs/vfsutil/vfsutil.go b/vendor/github.com/shurcooL/httpfs/vfsutil/vfsutil.go new file mode 100644 index 00000000000..df071d112cf --- /dev/null +++ b/vendor/github.com/shurcooL/httpfs/vfsutil/vfsutil.go @@ -0,0 +1,39 @@ +// Package vfsutil implements some I/O utility functions for http.FileSystem. +package vfsutil + +import ( + "io/ioutil" + "net/http" + "os" +) + +// ReadDir reads the contents of the directory associated with file and +// returns a slice of FileInfo values in directory order. +func ReadDir(fs http.FileSystem, name string) ([]os.FileInfo, error) { + f, err := fs.Open(name) + if err != nil { + return nil, err + } + defer f.Close() + return f.Readdir(0) +} + +// Stat returns the FileInfo structure describing file. +func Stat(fs http.FileSystem, name string) (os.FileInfo, error) { + f, err := fs.Open(name) + if err != nil { + return nil, err + } + defer f.Close() + return f.Stat() +} + +// ReadFile reads the file named by path from fs and returns the contents. +func ReadFile(fs http.FileSystem, path string) ([]byte, error) { + rc, err := fs.Open(path) + if err != nil { + return nil, err + } + defer rc.Close() + return ioutil.ReadAll(rc) +} diff --git a/vendor/github.com/shurcooL/httpfs/vfsutil/walk.go b/vendor/github.com/shurcooL/httpfs/vfsutil/walk.go new file mode 100644 index 00000000000..f256bbec266 --- /dev/null +++ b/vendor/github.com/shurcooL/httpfs/vfsutil/walk.go @@ -0,0 +1,146 @@ +package vfsutil + +import ( + "io" + "net/http" + "os" + pathpkg "path" + "path/filepath" + "sort" +) + +// Walk walks the filesystem rooted at root, calling walkFn for each file or +// directory in the filesystem, including root. All errors that arise visiting files +// and directories are filtered by walkFn. The files are walked in lexical +// order. +func Walk(fs http.FileSystem, root string, walkFn filepath.WalkFunc) error { + info, err := Stat(fs, root) + if err != nil { + return walkFn(root, nil, err) + } + return walk(fs, root, info, walkFn) +} + +// readDirNames reads the directory named by dirname and returns +// a sorted list of directory entries. +func readDirNames(fs http.FileSystem, dirname string) ([]string, error) { + fis, err := ReadDir(fs, dirname) + if err != nil { + return nil, err + } + names := make([]string, len(fis)) + for i := range fis { + names[i] = fis[i].Name() + } + sort.Strings(names) + return names, nil +} + +// walk recursively descends path, calling walkFn. +func walk(fs http.FileSystem, path string, info os.FileInfo, walkFn filepath.WalkFunc) error { + err := walkFn(path, info, nil) + if err != nil { + if info.IsDir() && err == filepath.SkipDir { + return nil + } + return err + } + + if !info.IsDir() { + return nil + } + + names, err := readDirNames(fs, path) + if err != nil { + return walkFn(path, info, err) + } + + for _, name := range names { + filename := pathpkg.Join(path, name) + fileInfo, err := Stat(fs, filename) + if err != nil { + if err := walkFn(filename, fileInfo, err); err != nil && err != filepath.SkipDir { + return err + } + } else { + err = walk(fs, filename, fileInfo, walkFn) + if err != nil { + if !fileInfo.IsDir() || err != filepath.SkipDir { + return err + } + } + } + } + return nil +} + +// WalkFilesFunc is the type of the function called for each file or directory visited by WalkFiles. +// It's like filepath.WalkFunc, except it provides an additional ReadSeeker parameter for file being visited. +type WalkFilesFunc func(path string, info os.FileInfo, rs io.ReadSeeker, err error) error + +// WalkFiles walks the filesystem rooted at root, calling walkFn for each file or +// directory in the filesystem, including root. In addition to FileInfo, it passes an +// ReadSeeker to walkFn for each file it visits. +func WalkFiles(fs http.FileSystem, root string, walkFn WalkFilesFunc) error { + file, info, err := openStat(fs, root) + if err != nil { + return walkFn(root, nil, nil, err) + } + return walkFiles(fs, root, info, file, walkFn) +} + +// walkFiles recursively descends path, calling walkFn. +// It closes the input file after it's done with it, so the caller shouldn't. +func walkFiles(fs http.FileSystem, path string, info os.FileInfo, file http.File, walkFn WalkFilesFunc) error { + err := walkFn(path, info, file, nil) + file.Close() + if err != nil { + if info.IsDir() && err == filepath.SkipDir { + return nil + } + return err + } + + if !info.IsDir() { + return nil + } + + names, err := readDirNames(fs, path) + if err != nil { + return walkFn(path, info, nil, err) + } + + for _, name := range names { + filename := pathpkg.Join(path, name) + file, fileInfo, err := openStat(fs, filename) + if err != nil { + if err := walkFn(filename, nil, nil, err); err != nil && err != filepath.SkipDir { + return err + } + } else { + err = walkFiles(fs, filename, fileInfo, file, walkFn) + // file is closed by walkFiles, so we don't need to close it here. + if err != nil { + if !fileInfo.IsDir() || err != filepath.SkipDir { + return err + } + } + } + } + return nil +} + +// openStat performs Open and Stat and returns results, or first error encountered. +// The caller is responsible for closing the returned file when done. +func openStat(fs http.FileSystem, name string) (http.File, os.FileInfo, error) { + f, err := fs.Open(name) + if err != nil { + return nil, nil, err + } + fi, err := f.Stat() + if err != nil { + f.Close() + return nil, nil, err + } + return f, fi, nil +} diff --git a/vendor/github.com/shurcooL/vfsgen/.travis.yml b/vendor/github.com/shurcooL/vfsgen/.travis.yml new file mode 100644 index 00000000000..93b1fcdb31a --- /dev/null +++ b/vendor/github.com/shurcooL/vfsgen/.travis.yml @@ -0,0 +1,16 @@ +sudo: false +language: go +go: + - 1.x + - master +matrix: + allow_failures: + - go: master + fast_finish: true +install: + - # Do nothing. This is needed to prevent default install action "go get -t -v ./..." from happening here (we want it to happen inside script step). +script: + - go get -t -v ./... + - diff -u <(echo -n) <(gofmt -d -s .) + - go tool vet . + - go test -v -race ./... diff --git a/vendor/github.com/shurcooL/vfsgen/CONTRIBUTING.md b/vendor/github.com/shurcooL/vfsgen/CONTRIBUTING.md new file mode 100644 index 00000000000..6127ddce82c --- /dev/null +++ b/vendor/github.com/shurcooL/vfsgen/CONTRIBUTING.md @@ -0,0 +1,10 @@ +Contributing +============ + +vfsgen is open source, thanks for considering contributing! + +Please note that vfsgen aims to be simple and minimalistic, with as little to configure as possible. If you'd like to remove or simplify code (while having tests continue to pass), fix bugs, or improve code (e.g., add missing error checking, etc.), PRs and issues are welcome. + +However, if you'd like to add new functionality that increases complexity or scope, please make an issue and discuss your proposal first. I'm unlikely to accept such changes outright. It might be that your request is already a part of other similar packages, or it might fit in their scope better. See [Comparison and Alternatives](https://github.com/shurcooL/vfsgen/tree/README-alternatives-and-comparison-section#comparison) sections. + +Thank you! diff --git a/vendor/github.com/shurcooL/vfsgen/LICENSE b/vendor/github.com/shurcooL/vfsgen/LICENSE new file mode 100644 index 00000000000..c35c17af980 --- /dev/null +++ b/vendor/github.com/shurcooL/vfsgen/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2015 Dmitri Shuralyov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/shurcooL/vfsgen/README.md b/vendor/github.com/shurcooL/vfsgen/README.md new file mode 100644 index 00000000000..659a0a0344a --- /dev/null +++ b/vendor/github.com/shurcooL/vfsgen/README.md @@ -0,0 +1,201 @@ +vfsgen +====== + +[![Build Status](https://travis-ci.org/shurcooL/vfsgen.svg?branch=master)](https://travis-ci.org/shurcooL/vfsgen) [![GoDoc](https://godoc.org/github.com/shurcooL/vfsgen?status.svg)](https://godoc.org/github.com/shurcooL/vfsgen) + +Package vfsgen takes an http.FileSystem (likely at `go generate` time) and +generates Go code that statically implements the provided http.FileSystem. + +Features: + +- Efficient generated code without unneccessary overhead. + +- Uses gzip compression internally (selectively, only for files that compress well). + +- Enables direct access to internal gzip compressed bytes via an optional interface. + +- Outputs `gofmt`ed Go code. + +Installation +------------ + +```bash +go get -u github.com/shurcooL/vfsgen +``` + +Usage +----- + +Package `vfsgen` is a Go code generator library. It has a `Generate` function that takes an input filesystem (as a [`http.FileSystem`](https://godoc.org/net/http#FileSystem) type), and generates a Go code file that statically implements the contents of the input filesystem. + +For example, we can use [`http.Dir`](https://godoc.org/net/http#Dir) as a `http.FileSystem` implementation that uses the contents of the `/path/to/assets` directory: + +```Go +var fs http.FileSystem = http.Dir("/path/to/assets") +``` + +Now, when you execute the following code: + +```Go +err := vfsgen.Generate(fs, vfsgen.Options{}) +if err != nil { + log.Fatalln(err) +} +``` + +An assets_vfsdata.go file will be generated in the current directory: + +```Go +// Code generated by vfsgen; DO NOT EDIT. + +package main + +import ... + +// assets statically implements the virtual filesystem provided to vfsgen.Generate. +var assets http.FileSystem = ... +``` + +Then, in your program, you can use `assets` as any other [`http.FileSystem`](https://godoc.org/net/http#FileSystem), for example: + +```Go +file, err := assets.Open("/some/file.txt") +if err != nil { + return err +} +defer file.Close() +``` + +```Go +http.Handle("/assets/", http.FileServer(assets)) +``` + +`vfsgen` can be more useful when combined with build tags and go generate directives. This is described below. + +### `go generate` Usage + +vfsgen is great to use with go generate directives. The code invoking `vfsgen.Generate` can go in an assets_generate.go file, which can then be invoked via "//go:generate go run assets_generate.go". The input virtual filesystem can read directly from disk, or it can be more involved. + +By using build tags, you can create a development mode where assets are loaded directly from disk via `http.Dir`, but then statically implemented for final releases. + +For example, suppose your source filesystem is defined in a package with import path "example.com/project/data" as: + +```Go +// +build dev + +package data + +import "net/http" + +// Assets contains project assets. +var Assets http.FileSystem = http.Dir("assets") +``` + +When built with the "dev" build tag, accessing `data.Assets` will read from disk directly via `http.Dir`. + +A generate helper file assets_generate.go can be invoked via "//go:generate go run -tags=dev assets_generate.go" directive: + +```Go +// +build ignore + +package main + +import ( + "log" + + "example.com/project/data" + "github.com/shurcooL/vfsgen" +) + +func main() { + err := vfsgen.Generate(data.Assets, vfsgen.Options{ + PackageName: "data", + BuildTags: "!dev", + VariableName: "Assets", + }) + if err != nil { + log.Fatalln(err) + } +} +``` + +Note that "dev" build tag is used to access the source filesystem, and the output file will contain "!dev" build tag. That way, the statically implemented version will be used during normal builds and `go get`, when custom builds tags are not specified. + +### `vfsgendev` Usage + +`vfsgendev` is a binary that can be used to replace the need for the assets_generate.go file. + +Make sure it's installed and available in your PATH. + +```bash +go get -u github.com/shurcooL/vfsgen/cmd/vfsgendev +``` + +Then the "//go:generate go run -tags=dev assets_generate.go" directive can be replaced with: + +``` +//go:generate vfsgendev -source="example.com/project/data".Assets +``` + +vfsgendev accesses the source variable using "dev" build tag, and generates an output file with "!dev" build tag. + +### Additional Embedded Information + +All compressed files implement [`httpgzip.GzipByter` interface](https://godoc.org/github.com/shurcooL/httpgzip#GzipByter) for efficient direct access to the internal compressed bytes: + +```Go +// GzipByter is implemented by compressed files for +// efficient direct access to the internal compressed bytes. +type GzipByter interface { + // GzipBytes returns gzip compressed contents of the file. + GzipBytes() []byte +} +``` + +Files that have been determined to not be worth gzip compressing (their compressed size is larger than original) implement [`httpgzip.NotWorthGzipCompressing` interface](https://godoc.org/github.com/shurcooL/httpgzip#NotWorthGzipCompressing): + +```Go +// NotWorthGzipCompressing is implemented by files that were determined +// not to be worth gzip compressing (the file size did not decrease as a result). +type NotWorthGzipCompressing interface { + // NotWorthGzipCompressing is a noop. It's implemented in order to indicate + // the file is not worth gzip compressing. + NotWorthGzipCompressing() +} +``` + +Comparison +---------- + +vfsgen aims to be conceptually simple to use. The [`http.FileSystem`](https://godoc.org/net/http#FileSystem) abstraction is central to vfsgen. It's used as both input for code generation, and as output in the generated code. + +That enables great flexibility through orthogonality, since helpers and wrappers can operate on `http.FileSystem` without knowing about vfsgen. If you want, you can perform pre-processing, minifying assets, merging folders, filtering out files and otherwise modifying input via generic `http.FileSystem` middleware. + +It avoids unneccessary overhead by merging what was previously done with two distinct packages into a single package. + +It strives to be the best in its class in terms of code quality and efficiency of generated code. However, if your use goals are different, there are other similar packages that may fit your needs better. + +### Alternatives + +- [`go-bindata`](https://github.com/jteeuwen/go-bindata) - Reads from disk, generates Go code that provides access to data via a [custom API](https://github.com/jteeuwen/go-bindata#accessing-an-asset). +- [`go-bindata-assetfs`](https://github.com/elazarl/go-bindata-assetfs) - Takes output of go-bindata and provides a wrapper that implements `http.FileSystem` interface (the same as what vfsgen outputs directly). +- [`becky`](https://github.com/tv42/becky) - Embeds assets as string literals in Go source. +- [`statik`](https://github.com/rakyll/statik) - Embeds a directory of static files to be accessed via `http.FileSystem` interface (sounds very similar to vfsgen); implementation sourced from [camlistore](https://camlistore.org). +- [`go.rice`](https://github.com/GeertJohan/go.rice) - Makes working with resources such as HTML, JS, CSS, images and templates very easy. +- [`esc`](https://github.com/mjibson/esc) - Embeds files into Go programs and provides `http.FileSystem` interfaces to them. +- [`staticfiles`](https://github.com/bouk/staticfiles) - Allows you to embed a directory of files into your Go binary. +- [`togo`](https://github.com/flazz/togo) - Generates a Go source file with a `[]byte` var containing the given file's contents. +- [`fileb0x`](https://github.com/UnnoTed/fileb0x) - Simple customizable tool to embed files in Go. +- [`embedfiles`](https://github.com/leighmcculloch/embedfiles) - Simple tool for embedding files in Go code as a map. +- [`packr`](https://github.com/gobuffalo/packr) - Simple solution for bundling static assets inside of Go binaries. +- [`rsrc`](https://github.com/akavel/rsrc) - Tool for embedding .ico & manifest resources in Go programs for Windows. + +Attribution +----------- + +This package was originally based on the excellent work by [@jteeuwen](https://github.com/jteeuwen) on [`go-bindata`](https://github.com/jteeuwen/go-bindata) and [@elazarl](https://github.com/elazarl) on [`go-bindata-assetfs`](https://github.com/elazarl/go-bindata-assetfs). + +License +------- + +- [MIT License](LICENSE) diff --git a/vendor/github.com/shurcooL/vfsgen/commentwriter.go b/vendor/github.com/shurcooL/vfsgen/commentwriter.go new file mode 100644 index 00000000000..b6847f52b0a --- /dev/null +++ b/vendor/github.com/shurcooL/vfsgen/commentwriter.go @@ -0,0 +1,45 @@ +package vfsgen + +import "io" + +// commentWriter writes a Go comment to the underlying io.Writer, +// using line comment form (//). +type commentWriter struct { + W io.Writer + wroteSlashes bool // Wrote "//" at the beginning of the current line. +} + +func (c *commentWriter) Write(p []byte) (int, error) { + var n int + for i, b := range p { + if !c.wroteSlashes { + s := "//" + if b != '\n' { + s = "// " + } + if _, err := io.WriteString(c.W, s); err != nil { + return n, err + } + c.wroteSlashes = true + } + n0, err := c.W.Write(p[i : i+1]) + n += n0 + if err != nil { + return n, err + } + if b == '\n' { + c.wroteSlashes = false + } + } + return len(p), nil +} + +func (c *commentWriter) Close() error { + if !c.wroteSlashes { + if _, err := io.WriteString(c.W, "//"); err != nil { + return err + } + c.wroteSlashes = true + } + return nil +} diff --git a/vendor/github.com/shurcooL/vfsgen/doc.go b/vendor/github.com/shurcooL/vfsgen/doc.go new file mode 100644 index 00000000000..46f28504e31 --- /dev/null +++ b/vendor/github.com/shurcooL/vfsgen/doc.go @@ -0,0 +1,15 @@ +/* +Package vfsgen takes an http.FileSystem (likely at `go generate` time) and +generates Go code that statically implements the provided http.FileSystem. + +Features: + +- Efficient generated code without unneccessary overhead. + +- Uses gzip compression internally (selectively, only for files that compress well). + +- Enables direct access to internal gzip compressed bytes via an optional interface. + +- Outputs `gofmt`ed Go code. +*/ +package vfsgen diff --git a/vendor/github.com/shurcooL/vfsgen/generator.go b/vendor/github.com/shurcooL/vfsgen/generator.go new file mode 100644 index 00000000000..5782693ebbd --- /dev/null +++ b/vendor/github.com/shurcooL/vfsgen/generator.go @@ -0,0 +1,485 @@ +package vfsgen + +import ( + "bytes" + "compress/gzip" + "errors" + "fmt" + "io" + "io/ioutil" + "net/http" + "os" + pathpkg "path" + "sort" + "strconv" + "text/template" + "time" + + "github.com/shurcooL/httpfs/vfsutil" +) + +// Generate Go code that statically implements input filesystem, +// write the output to a file specified in opt. +func Generate(input http.FileSystem, opt Options) error { + opt.fillMissing() + + // Use an in-memory buffer to generate the entire output. + buf := new(bytes.Buffer) + + err := t.ExecuteTemplate(buf, "Header", opt) + if err != nil { + return err + } + + var toc toc + err = findAndWriteFiles(buf, input, &toc) + if err != nil { + return err + } + + err = t.ExecuteTemplate(buf, "DirEntries", toc.dirs) + if err != nil { + return err + } + + err = t.ExecuteTemplate(buf, "Trailer", toc) + if err != nil { + return err + } + + // Write output file (all at once). + fmt.Println("writing", opt.Filename) + err = ioutil.WriteFile(opt.Filename, buf.Bytes(), 0644) + return err +} + +type toc struct { + dirs []*dirInfo + + HasCompressedFile bool // There's at least one compressedFile. + HasFile bool // There's at least one uncompressed file. +} + +// fileInfo is a definition of a file. +type fileInfo struct { + Path string + Name string + ModTime time.Time + UncompressedSize int64 +} + +// dirInfo is a definition of a directory. +type dirInfo struct { + Path string + Name string + ModTime time.Time + Entries []string +} + +// findAndWriteFiles recursively finds all the file paths in the given directory tree. +// They are added to the given map as keys. Values will be safe function names +// for each file, which will be used when generating the output code. +func findAndWriteFiles(buf *bytes.Buffer, fs http.FileSystem, toc *toc) error { + walkFn := func(path string, fi os.FileInfo, r io.ReadSeeker, err error) error { + if err != nil { + // Consider all errors reading the input filesystem as fatal. + return err + } + + switch fi.IsDir() { + case false: + file := &fileInfo{ + Path: path, + Name: pathpkg.Base(path), + ModTime: fi.ModTime().UTC(), + UncompressedSize: fi.Size(), + } + + marker := buf.Len() + + // Write CompressedFileInfo. + err = writeCompressedFileInfo(buf, file, r) + switch err { + default: + return err + case nil: + toc.HasCompressedFile = true + // If compressed file is not smaller than original, revert and write original file. + case errCompressedNotSmaller: + _, err = r.Seek(0, io.SeekStart) + if err != nil { + return err + } + + buf.Truncate(marker) + + // Write FileInfo. + err = writeFileInfo(buf, file, r) + if err != nil { + return err + } + toc.HasFile = true + } + case true: + entries, err := readDirPaths(fs, path) + if err != nil { + return err + } + + dir := &dirInfo{ + Path: path, + Name: pathpkg.Base(path), + ModTime: fi.ModTime().UTC(), + Entries: entries, + } + + toc.dirs = append(toc.dirs, dir) + + // Write DirInfo. + err = t.ExecuteTemplate(buf, "DirInfo", dir) + if err != nil { + return err + } + } + + return nil + } + + err := vfsutil.WalkFiles(fs, "/", walkFn) + return err +} + +// readDirPaths reads the directory named by dirname and returns +// a sorted list of directory paths. +func readDirPaths(fs http.FileSystem, dirname string) ([]string, error) { + fis, err := vfsutil.ReadDir(fs, dirname) + if err != nil { + return nil, err + } + paths := make([]string, len(fis)) + for i := range fis { + paths[i] = pathpkg.Join(dirname, fis[i].Name()) + } + sort.Strings(paths) + return paths, nil +} + +// writeCompressedFileInfo writes CompressedFileInfo. +// It returns errCompressedNotSmaller if compressed file is not smaller than original. +func writeCompressedFileInfo(w io.Writer, file *fileInfo, r io.Reader) error { + err := t.ExecuteTemplate(w, "CompressedFileInfo-Before", file) + if err != nil { + return err + } + sw := &stringWriter{Writer: w} + gw := gzip.NewWriter(sw) + _, err = io.Copy(gw, r) + if err != nil { + return err + } + err = gw.Close() + if err != nil { + return err + } + if sw.N >= file.UncompressedSize { + return errCompressedNotSmaller + } + err = t.ExecuteTemplate(w, "CompressedFileInfo-After", file) + return err +} + +var errCompressedNotSmaller = errors.New("compressed file is not smaller than original") + +// Write FileInfo. +func writeFileInfo(w io.Writer, file *fileInfo, r io.Reader) error { + err := t.ExecuteTemplate(w, "FileInfo-Before", file) + if err != nil { + return err + } + sw := &stringWriter{Writer: w} + _, err = io.Copy(sw, r) + if err != nil { + return err + } + err = t.ExecuteTemplate(w, "FileInfo-After", file) + return err +} + +var t = template.Must(template.New("").Funcs(template.FuncMap{ + "quote": strconv.Quote, + "comment": func(s string) (string, error) { + var buf bytes.Buffer + cw := &commentWriter{W: &buf} + _, err := io.WriteString(cw, s) + if err != nil { + return "", err + } + err = cw.Close() + return buf.String(), err + }, +}).Parse(`{{define "Header"}}// Code generated by vfsgen; DO NOT EDIT. + +{{with .BuildTags}}// +build {{.}} + +{{end}}package {{.PackageName}} + +import ( + "bytes" + "compress/gzip" + "fmt" + "io" + "io/ioutil" + "net/http" + "os" + pathpkg "path" + "time" +) + +{{comment .VariableComment}} +var {{.VariableName}} = func() http.FileSystem { + fs := vfsgen۰FS{ +{{end}} + + + +{{define "CompressedFileInfo-Before"}} {{quote .Path}}: &vfsgen۰CompressedFileInfo{ + name: {{quote .Name}}, + modTime: {{template "Time" .ModTime}}, + uncompressedSize: {{.UncompressedSize}}, +{{/* This blank line separating compressedContent is neccessary to prevent potential gofmt issues. See issue #19. */}} + compressedContent: []byte("{{end}}{{define "CompressedFileInfo-After"}}"), + }, +{{end}} + + + +{{define "FileInfo-Before"}} {{quote .Path}}: &vfsgen۰FileInfo{ + name: {{quote .Name}}, + modTime: {{template "Time" .ModTime}}, + content: []byte("{{end}}{{define "FileInfo-After"}}"), + }, +{{end}} + + + +{{define "DirInfo"}} {{quote .Path}}: &vfsgen۰DirInfo{ + name: {{quote .Name}}, + modTime: {{template "Time" .ModTime}}, + }, +{{end}} + + + +{{define "DirEntries"}} } +{{range .}}{{if .Entries}} fs[{{quote .Path}}].(*vfsgen۰DirInfo).entries = []os.FileInfo{{"{"}}{{range .Entries}} + fs[{{quote .}}].(os.FileInfo),{{end}} + } +{{end}}{{end}} + return fs +}() +{{end}} + + + +{{define "Trailer"}} +type vfsgen۰FS map[string]interface{} + +func (fs vfsgen۰FS) Open(path string) (http.File, error) { + path = pathpkg.Clean("/" + path) + f, ok := fs[path] + if !ok { + return nil, &os.PathError{Op: "open", Path: path, Err: os.ErrNotExist} + } + + switch f := f.(type) {{"{"}}{{if .HasCompressedFile}} + case *vfsgen۰CompressedFileInfo: + gr, err := gzip.NewReader(bytes.NewReader(f.compressedContent)) + if err != nil { + // This should never happen because we generate the gzip bytes such that they are always valid. + panic("unexpected error reading own gzip compressed bytes: " + err.Error()) + } + return &vfsgen۰CompressedFile{ + vfsgen۰CompressedFileInfo: f, + gr: gr, + }, nil{{end}}{{if .HasFile}} + case *vfsgen۰FileInfo: + return &vfsgen۰File{ + vfsgen۰FileInfo: f, + Reader: bytes.NewReader(f.content), + }, nil{{end}} + case *vfsgen۰DirInfo: + return &vfsgen۰Dir{ + vfsgen۰DirInfo: f, + }, nil + default: + // This should never happen because we generate only the above types. + panic(fmt.Sprintf("unexpected type %T", f)) + } +} +{{if .HasCompressedFile}} +// vfsgen۰CompressedFileInfo is a static definition of a gzip compressed file. +type vfsgen۰CompressedFileInfo struct { + name string + modTime time.Time + compressedContent []byte + uncompressedSize int64 +} + +func (f *vfsgen۰CompressedFileInfo) Readdir(count int) ([]os.FileInfo, error) { + return nil, fmt.Errorf("cannot Readdir from file %s", f.name) +} +func (f *vfsgen۰CompressedFileInfo) Stat() (os.FileInfo, error) { return f, nil } + +func (f *vfsgen۰CompressedFileInfo) GzipBytes() []byte { + return f.compressedContent +} + +func (f *vfsgen۰CompressedFileInfo) Name() string { return f.name } +func (f *vfsgen۰CompressedFileInfo) Size() int64 { return f.uncompressedSize } +func (f *vfsgen۰CompressedFileInfo) Mode() os.FileMode { return 0444 } +func (f *vfsgen۰CompressedFileInfo) ModTime() time.Time { return f.modTime } +func (f *vfsgen۰CompressedFileInfo) IsDir() bool { return false } +func (f *vfsgen۰CompressedFileInfo) Sys() interface{} { return nil } + +// vfsgen۰CompressedFile is an opened compressedFile instance. +type vfsgen۰CompressedFile struct { + *vfsgen۰CompressedFileInfo + gr *gzip.Reader + grPos int64 // Actual gr uncompressed position. + seekPos int64 // Seek uncompressed position. +} + +func (f *vfsgen۰CompressedFile) Read(p []byte) (n int, err error) { + if f.grPos > f.seekPos { + // Rewind to beginning. + err = f.gr.Reset(bytes.NewReader(f.compressedContent)) + if err != nil { + return 0, err + } + f.grPos = 0 + } + if f.grPos < f.seekPos { + // Fast-forward. + _, err = io.CopyN(ioutil.Discard, f.gr, f.seekPos-f.grPos) + if err != nil { + return 0, err + } + f.grPos = f.seekPos + } + n, err = f.gr.Read(p) + f.grPos += int64(n) + f.seekPos = f.grPos + return n, err +} +func (f *vfsgen۰CompressedFile) Seek(offset int64, whence int) (int64, error) { + switch whence { + case io.SeekStart: + f.seekPos = 0 + offset + case io.SeekCurrent: + f.seekPos += offset + case io.SeekEnd: + f.seekPos = f.uncompressedSize + offset + default: + panic(fmt.Errorf("invalid whence value: %v", whence)) + } + return f.seekPos, nil +} +func (f *vfsgen۰CompressedFile) Close() error { + return f.gr.Close() +} +{{else}} +// We already imported "compress/gzip" and "io/ioutil", but ended up not using them. Avoid unused import error. +var _ = gzip.Reader{} +var _ = ioutil.Discard +{{end}}{{if .HasFile}} +// vfsgen۰FileInfo is a static definition of an uncompressed file (because it's not worth gzip compressing). +type vfsgen۰FileInfo struct { + name string + modTime time.Time + content []byte +} + +func (f *vfsgen۰FileInfo) Readdir(count int) ([]os.FileInfo, error) { + return nil, fmt.Errorf("cannot Readdir from file %s", f.name) +} +func (f *vfsgen۰FileInfo) Stat() (os.FileInfo, error) { return f, nil } + +func (f *vfsgen۰FileInfo) NotWorthGzipCompressing() {} + +func (f *vfsgen۰FileInfo) Name() string { return f.name } +func (f *vfsgen۰FileInfo) Size() int64 { return int64(len(f.content)) } +func (f *vfsgen۰FileInfo) Mode() os.FileMode { return 0444 } +func (f *vfsgen۰FileInfo) ModTime() time.Time { return f.modTime } +func (f *vfsgen۰FileInfo) IsDir() bool { return false } +func (f *vfsgen۰FileInfo) Sys() interface{} { return nil } + +// vfsgen۰File is an opened file instance. +type vfsgen۰File struct { + *vfsgen۰FileInfo + *bytes.Reader +} + +func (f *vfsgen۰File) Close() error { + return nil +} +{{else if not .HasCompressedFile}} +// We already imported "bytes", but ended up not using it. Avoid unused import error. +var _ = bytes.Reader{} +{{end}} +// vfsgen۰DirInfo is a static definition of a directory. +type vfsgen۰DirInfo struct { + name string + modTime time.Time + entries []os.FileInfo +} + +func (d *vfsgen۰DirInfo) Read([]byte) (int, error) { + return 0, fmt.Errorf("cannot Read from directory %s", d.name) +} +func (d *vfsgen۰DirInfo) Close() error { return nil } +func (d *vfsgen۰DirInfo) Stat() (os.FileInfo, error) { return d, nil } + +func (d *vfsgen۰DirInfo) Name() string { return d.name } +func (d *vfsgen۰DirInfo) Size() int64 { return 0 } +func (d *vfsgen۰DirInfo) Mode() os.FileMode { return 0755 | os.ModeDir } +func (d *vfsgen۰DirInfo) ModTime() time.Time { return d.modTime } +func (d *vfsgen۰DirInfo) IsDir() bool { return true } +func (d *vfsgen۰DirInfo) Sys() interface{} { return nil } + +// vfsgen۰Dir is an opened dir instance. +type vfsgen۰Dir struct { + *vfsgen۰DirInfo + pos int // Position within entries for Seek and Readdir. +} + +func (d *vfsgen۰Dir) Seek(offset int64, whence int) (int64, error) { + if offset == 0 && whence == io.SeekStart { + d.pos = 0 + return 0, nil + } + return 0, fmt.Errorf("unsupported Seek in directory %s", d.name) +} + +func (d *vfsgen۰Dir) Readdir(count int) ([]os.FileInfo, error) { + if d.pos >= len(d.entries) && count > 0 { + return nil, io.EOF + } + if count <= 0 || count > len(d.entries)-d.pos { + count = len(d.entries) - d.pos + } + e := d.entries[d.pos : d.pos+count] + d.pos += count + return e, nil +} +{{end}} + + + +{{define "Time"}} +{{- if .IsZero -}} + time.Time{} +{{- else -}} + time.Date({{.Year}}, {{printf "%d" .Month}}, {{.Day}}, {{.Hour}}, {{.Minute}}, {{.Second}}, {{.Nanosecond}}, time.UTC) +{{- end -}} +{{end}} +`)) diff --git a/vendor/github.com/shurcooL/vfsgen/options.go b/vendor/github.com/shurcooL/vfsgen/options.go new file mode 100644 index 00000000000..d10d348e709 --- /dev/null +++ b/vendor/github.com/shurcooL/vfsgen/options.go @@ -0,0 +1,45 @@ +package vfsgen + +import ( + "fmt" + "strings" +) + +// Options for vfsgen code generation. +type Options struct { + // Filename of the generated Go code output (including extension). + // If left empty, it defaults to "{{toLower .VariableName}}_vfsdata.go". + Filename string + + // PackageName is the name of the package in the generated code. + // If left empty, it defaults to "main". + PackageName string + + // BuildTags are the optional build tags in the generated code. + // The build tags syntax is specified by the go tool. + BuildTags string + + // VariableName is the name of the http.FileSystem variable in the generated code. + // If left empty, it defaults to "assets". + VariableName string + + // VariableComment is the comment of the http.FileSystem variable in the generated code. + // If left empty, it defaults to "{{.VariableName}} statically implements the virtual filesystem provided to vfsgen.". + VariableComment string +} + +// fillMissing sets default values for mandatory options that are left empty. +func (opt *Options) fillMissing() { + if opt.PackageName == "" { + opt.PackageName = "main" + } + if opt.VariableName == "" { + opt.VariableName = "assets" + } + if opt.Filename == "" { + opt.Filename = fmt.Sprintf("%s_vfsdata.go", strings.ToLower(opt.VariableName)) + } + if opt.VariableComment == "" { + opt.VariableComment = fmt.Sprintf("%s statically implements the virtual filesystem provided to vfsgen.", opt.VariableName) + } +} diff --git a/vendor/github.com/shurcooL/vfsgen/stringwriter.go b/vendor/github.com/shurcooL/vfsgen/stringwriter.go new file mode 100644 index 00000000000..a781efdc6dd --- /dev/null +++ b/vendor/github.com/shurcooL/vfsgen/stringwriter.go @@ -0,0 +1,27 @@ +package vfsgen + +import ( + "io" +) + +// stringWriter writes given bytes to underlying io.Writer as a Go interpreted string literal value, +// not including double quotes. It tracks the total number of bytes written. +type stringWriter struct { + io.Writer + N int64 // Total bytes written. +} + +func (sw *stringWriter) Write(p []byte) (n int, err error) { + const hex = "0123456789abcdef" + buf := []byte{'\\', 'x', 0, 0} + for _, b := range p { + buf[2], buf[3] = hex[b/16], hex[b%16] + _, err = sw.Writer.Write(buf) + if err != nil { + return n, err + } + n++ + sw.N++ + } + return n, nil +} diff --git a/vendor/golang.org/x/net/netutil/listen.go b/vendor/golang.org/x/net/netutil/listen.go new file mode 100644 index 00000000000..cee46e331ff --- /dev/null +++ b/vendor/golang.org/x/net/netutil/listen.go @@ -0,0 +1,74 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package netutil provides network utility functions, complementing the more +// common ones in the net package. +package netutil // import "golang.org/x/net/netutil" + +import ( + "net" + "sync" +) + +// LimitListener returns a Listener that accepts at most n simultaneous +// connections from the provided Listener. +func LimitListener(l net.Listener, n int) net.Listener { + return &limitListener{ + Listener: l, + sem: make(chan struct{}, n), + done: make(chan struct{}), + } +} + +type limitListener struct { + net.Listener + sem chan struct{} + closeOnce sync.Once // ensures the done chan is only closed once + done chan struct{} // no values sent; closed when Close is called +} + +// acquire acquires the limiting semaphore. Returns true if successfully +// accquired, false if the listener is closed and the semaphore is not +// acquired. +func (l *limitListener) acquire() bool { + select { + case <-l.done: + return false + case l.sem <- struct{}{}: + return true + } +} +func (l *limitListener) release() { <-l.sem } + +func (l *limitListener) Accept() (net.Conn, error) { + acquired := l.acquire() + // If the semaphore isn't acquired because the listener was closed, expect + // that this call to accept won't block, but immediately return an error. + c, err := l.Listener.Accept() + if err != nil { + if acquired { + l.release() + } + return nil, err + } + return &limitListenerConn{Conn: c, release: l.release}, nil +} + +func (l *limitListener) Close() error { + err := l.Listener.Close() + l.closeOnce.Do(func() { close(l.done) }) + return err +} + +type limitListenerConn struct { + net.Conn + releaseOnce sync.Once + release func() +} + +func (l *limitListenerConn) Close() error { + err := l.Conn.Close() + l.releaseOnce.Do(l.release) + return err +} diff --git a/vendor/golang.org/x/text/width/gen.go b/vendor/golang.org/x/text/width/gen.go new file mode 100644 index 00000000000..092277e1f64 --- /dev/null +++ b/vendor/golang.org/x/text/width/gen.go @@ -0,0 +1,115 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +// This program generates the trie for width operations. The generated table +// includes width category information as well as the normalization mappings. +package main + +import ( + "bytes" + "fmt" + "io" + "log" + "math" + "unicode/utf8" + + "golang.org/x/text/internal/gen" + "golang.org/x/text/internal/triegen" +) + +// See gen_common.go for flags. + +func main() { + gen.Init() + genTables() + genTests() + gen.Repackage("gen_trieval.go", "trieval.go", "width") + gen.Repackage("gen_common.go", "common_test.go", "width") +} + +func genTables() { + t := triegen.NewTrie("width") + // fold and inverse mappings. See mapComment for a description of the format + // of each entry. Add dummy value to make an index of 0 mean no mapping. + inverse := [][4]byte{{}} + mapping := map[[4]byte]int{[4]byte{}: 0} + + getWidthData(func(r rune, tag elem, alt rune) { + idx := 0 + if alt != 0 { + var buf [4]byte + buf[0] = byte(utf8.EncodeRune(buf[1:], alt)) + s := string(r) + buf[buf[0]] ^= s[len(s)-1] + var ok bool + if idx, ok = mapping[buf]; !ok { + idx = len(mapping) + if idx > math.MaxUint8 { + log.Fatalf("Index %d does not fit in a byte.", idx) + } + mapping[buf] = idx + inverse = append(inverse, buf) + } + } + t.Insert(r, uint64(tag|elem(idx))) + }) + + w := &bytes.Buffer{} + gen.WriteUnicodeVersion(w) + + sz, err := t.Gen(w) + if err != nil { + log.Fatal(err) + } + + sz += writeMappings(w, inverse) + + fmt.Fprintf(w, "// Total table size %d bytes (%dKiB)\n", sz, sz/1024) + + gen.WriteVersionedGoFile(*outputFile, "width", w.Bytes()) +} + +const inverseDataComment = ` +// inverseData contains 4-byte entries of the following format: +// <0 padding> +// The last byte of the UTF-8-encoded rune is xor-ed with the last byte of the +// UTF-8 encoding of the original rune. Mappings often have the following +// pattern: +// A -> A (U+FF21 -> U+0041) +// B -> B (U+FF22 -> U+0042) +// ... +// By xor-ing the last byte the same entry can be shared by many mappings. This +// reduces the total number of distinct entries by about two thirds. +// The resulting entry for the aforementioned mappings is +// { 0x01, 0xE0, 0x00, 0x00 } +// Using this entry to map U+FF21 (UTF-8 [EF BC A1]), we get +// E0 ^ A1 = 41. +// Similarly, for U+FF22 (UTF-8 [EF BC A2]), we get +// E0 ^ A2 = 42. +// Note that because of the xor-ing, the byte sequence stored in the entry is +// not valid UTF-8.` + +func writeMappings(w io.Writer, data [][4]byte) int { + fmt.Fprintln(w, inverseDataComment) + fmt.Fprintf(w, "var inverseData = [%d][4]byte{\n", len(data)) + for _, x := range data { + fmt.Fprintf(w, "{ 0x%02x, 0x%02x, 0x%02x, 0x%02x },\n", x[0], x[1], x[2], x[3]) + } + fmt.Fprintln(w, "}") + return len(data) * 4 +} + +func genTests() { + w := &bytes.Buffer{} + fmt.Fprintf(w, "\nvar mapRunes = map[rune]struct{r rune; e elem}{\n") + getWidthData(func(r rune, tag elem, alt rune) { + if alt != 0 { + fmt.Fprintf(w, "\t0x%X: {0x%X, 0x%X},\n", r, alt, tag) + } + }) + fmt.Fprintln(w, "}") + gen.WriteGoFile("runes_test.go", "width", w.Bytes()) +} diff --git a/vendor/golang.org/x/text/width/gen_common.go b/vendor/golang.org/x/text/width/gen_common.go new file mode 100644 index 00000000000..601e7526843 --- /dev/null +++ b/vendor/golang.org/x/text/width/gen_common.go @@ -0,0 +1,96 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +package main + +// This code is shared between the main code generator and the test code. + +import ( + "flag" + "log" + "strconv" + "strings" + + "golang.org/x/text/internal/gen" + "golang.org/x/text/internal/ucd" +) + +var ( + outputFile = flag.String("out", "tables.go", "output file") +) + +var typeMap = map[string]elem{ + "A": tagAmbiguous, + "N": tagNeutral, + "Na": tagNarrow, + "W": tagWide, + "F": tagFullwidth, + "H": tagHalfwidth, +} + +// getWidthData calls f for every entry for which it is defined. +// +// f may be called multiple times for the same rune. The last call to f is the +// correct value. f is not called for all runes. The default tag type is +// Neutral. +func getWidthData(f func(r rune, tag elem, alt rune)) { + // Set the default values for Unified Ideographs. In line with Annex 11, + // we encode full ranges instead of the defined runes in Unified_Ideograph. + for _, b := range []struct{ lo, hi rune }{ + {0x4E00, 0x9FFF}, // the CJK Unified Ideographs block, + {0x3400, 0x4DBF}, // the CJK Unified Ideographs Externsion A block, + {0xF900, 0xFAFF}, // the CJK Compatibility Ideographs block, + {0x20000, 0x2FFFF}, // the Supplementary Ideographic Plane, + {0x30000, 0x3FFFF}, // the Tertiary Ideographic Plane, + } { + for r := b.lo; r <= b.hi; r++ { + f(r, tagWide, 0) + } + } + + inverse := map[rune]rune{} + maps := map[string]bool{ + "": true, + "": true, + } + + // We cannot reuse package norm's decomposition, as we need an unexpanded + // decomposition. We make use of the opportunity to verify that the + // decomposition type is as expected. + ucd.Parse(gen.OpenUCDFile("UnicodeData.txt"), func(p *ucd.Parser) { + r := p.Rune(0) + s := strings.SplitN(p.String(ucd.DecompMapping), " ", 2) + if !maps[s[0]] { + return + } + x, err := strconv.ParseUint(s[1], 16, 32) + if err != nil { + log.Fatalf("Error parsing rune %q", s[1]) + } + if inverse[r] != 0 || inverse[rune(x)] != 0 { + log.Fatalf("Circular dependency in mapping between %U and %U", r, x) + } + inverse[r] = rune(x) + inverse[rune(x)] = r + }) + + // ; + ucd.Parse(gen.OpenUCDFile("EastAsianWidth.txt"), func(p *ucd.Parser) { + tag, ok := typeMap[p.String(1)] + if !ok { + log.Fatalf("Unknown width type %q", p.String(1)) + } + r := p.Rune(0) + alt, ok := inverse[r] + if tag == tagFullwidth || tag == tagHalfwidth && r != wonSign { + tag |= tagNeedsFold + if !ok { + log.Fatalf("Narrow or wide rune %U has no decomposition", r) + } + } + f(r, tag, alt) + }) +} diff --git a/vendor/golang.org/x/text/width/gen_trieval.go b/vendor/golang.org/x/text/width/gen_trieval.go new file mode 100644 index 00000000000..c17334aa618 --- /dev/null +++ b/vendor/golang.org/x/text/width/gen_trieval.go @@ -0,0 +1,34 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +package main + +// elem is an entry of the width trie. The high byte is used to encode the type +// of the rune. The low byte is used to store the index to a mapping entry in +// the inverseData array. +type elem uint16 + +const ( + tagNeutral elem = iota << typeShift + tagAmbiguous + tagWide + tagNarrow + tagFullwidth + tagHalfwidth +) + +const ( + numTypeBits = 3 + typeShift = 16 - numTypeBits + + // tagNeedsFold is true for all fullwidth and halfwidth runes except for + // the Won sign U+20A9. + tagNeedsFold = 0x1000 + + // The Korean Won sign is halfwidth, but SHOULD NOT be mapped to a wide + // variant. + wonSign rune = 0x20A9 +) diff --git a/vendor/golang.org/x/text/width/kind_string.go b/vendor/golang.org/x/text/width/kind_string.go new file mode 100644 index 00000000000..dd3febd43b2 --- /dev/null +++ b/vendor/golang.org/x/text/width/kind_string.go @@ -0,0 +1,28 @@ +// Code generated by "stringer -type=Kind"; DO NOT EDIT. + +package width + +import "strconv" + +func _() { + // An "invalid array index" compiler error signifies that the constant values have changed. + // Re-run the stringer command to generate them again. + var x [1]struct{} + _ = x[Neutral-0] + _ = x[EastAsianAmbiguous-1] + _ = x[EastAsianWide-2] + _ = x[EastAsianNarrow-3] + _ = x[EastAsianFullwidth-4] + _ = x[EastAsianHalfwidth-5] +} + +const _Kind_name = "NeutralEastAsianAmbiguousEastAsianWideEastAsianNarrowEastAsianFullwidthEastAsianHalfwidth" + +var _Kind_index = [...]uint8{0, 7, 25, 38, 53, 71, 89} + +func (i Kind) String() string { + if i < 0 || i >= Kind(len(_Kind_index)-1) { + return "Kind(" + strconv.FormatInt(int64(i), 10) + ")" + } + return _Kind_name[_Kind_index[i]:_Kind_index[i+1]] +} diff --git a/vendor/golang.org/x/text/width/tables10.0.0.go b/vendor/golang.org/x/text/width/tables10.0.0.go new file mode 100644 index 00000000000..decb8e48093 --- /dev/null +++ b/vendor/golang.org/x/text/width/tables10.0.0.go @@ -0,0 +1,1318 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build go1.10,!go1.13 + +package width + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "10.0.0" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *widthTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return widthValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = widthIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *widthTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return widthValues[c0] + } + i := widthIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = widthIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = widthIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *widthTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return widthValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = widthIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *widthTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return widthValues[c0] + } + i := widthIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = widthIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = widthIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// widthTrie. Total size: 14336 bytes (14.00 KiB). Checksum: c59df54630d3dc4a. +type widthTrie struct{} + +func newWidthTrie(i int) *widthTrie { + return &widthTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *widthTrie) lookupValue(n uint32, b byte) uint16 { + switch { + default: + return uint16(widthValues[n<<6+uint32(b)]) + } +} + +// widthValues: 101 blocks, 6464 entries, 12928 bytes +// The third block is the zero block. +var widthValues = [6464]uint16{ + // Block 0x0, offset 0x0 + 0x20: 0x6001, 0x21: 0x6002, 0x22: 0x6002, 0x23: 0x6002, + 0x24: 0x6002, 0x25: 0x6002, 0x26: 0x6002, 0x27: 0x6002, 0x28: 0x6002, 0x29: 0x6002, + 0x2a: 0x6002, 0x2b: 0x6002, 0x2c: 0x6002, 0x2d: 0x6002, 0x2e: 0x6002, 0x2f: 0x6002, + 0x30: 0x6002, 0x31: 0x6002, 0x32: 0x6002, 0x33: 0x6002, 0x34: 0x6002, 0x35: 0x6002, + 0x36: 0x6002, 0x37: 0x6002, 0x38: 0x6002, 0x39: 0x6002, 0x3a: 0x6002, 0x3b: 0x6002, + 0x3c: 0x6002, 0x3d: 0x6002, 0x3e: 0x6002, 0x3f: 0x6002, + // Block 0x1, offset 0x40 + 0x40: 0x6003, 0x41: 0x6003, 0x42: 0x6003, 0x43: 0x6003, 0x44: 0x6003, 0x45: 0x6003, + 0x46: 0x6003, 0x47: 0x6003, 0x48: 0x6003, 0x49: 0x6003, 0x4a: 0x6003, 0x4b: 0x6003, + 0x4c: 0x6003, 0x4d: 0x6003, 0x4e: 0x6003, 0x4f: 0x6003, 0x50: 0x6003, 0x51: 0x6003, + 0x52: 0x6003, 0x53: 0x6003, 0x54: 0x6003, 0x55: 0x6003, 0x56: 0x6003, 0x57: 0x6003, + 0x58: 0x6003, 0x59: 0x6003, 0x5a: 0x6003, 0x5b: 0x6003, 0x5c: 0x6003, 0x5d: 0x6003, + 0x5e: 0x6003, 0x5f: 0x6003, 0x60: 0x6004, 0x61: 0x6004, 0x62: 0x6004, 0x63: 0x6004, + 0x64: 0x6004, 0x65: 0x6004, 0x66: 0x6004, 0x67: 0x6004, 0x68: 0x6004, 0x69: 0x6004, + 0x6a: 0x6004, 0x6b: 0x6004, 0x6c: 0x6004, 0x6d: 0x6004, 0x6e: 0x6004, 0x6f: 0x6004, + 0x70: 0x6004, 0x71: 0x6004, 0x72: 0x6004, 0x73: 0x6004, 0x74: 0x6004, 0x75: 0x6004, + 0x76: 0x6004, 0x77: 0x6004, 0x78: 0x6004, 0x79: 0x6004, 0x7a: 0x6004, 0x7b: 0x6004, + 0x7c: 0x6004, 0x7d: 0x6004, 0x7e: 0x6004, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xe1: 0x2000, 0xe2: 0x6005, 0xe3: 0x6005, + 0xe4: 0x2000, 0xe5: 0x6006, 0xe6: 0x6005, 0xe7: 0x2000, 0xe8: 0x2000, + 0xea: 0x2000, 0xec: 0x6007, 0xed: 0x2000, 0xee: 0x2000, 0xef: 0x6008, + 0xf0: 0x2000, 0xf1: 0x2000, 0xf2: 0x2000, 0xf3: 0x2000, 0xf4: 0x2000, + 0xf6: 0x2000, 0xf7: 0x2000, 0xf8: 0x2000, 0xf9: 0x2000, 0xfa: 0x2000, + 0xfc: 0x2000, 0xfd: 0x2000, 0xfe: 0x2000, 0xff: 0x2000, + // Block 0x4, offset 0x100 + 0x106: 0x2000, + 0x110: 0x2000, + 0x117: 0x2000, + 0x118: 0x2000, + 0x11e: 0x2000, 0x11f: 0x2000, 0x120: 0x2000, 0x121: 0x2000, + 0x126: 0x2000, 0x128: 0x2000, 0x129: 0x2000, + 0x12a: 0x2000, 0x12c: 0x2000, 0x12d: 0x2000, + 0x130: 0x2000, 0x132: 0x2000, 0x133: 0x2000, + 0x137: 0x2000, 0x138: 0x2000, 0x139: 0x2000, 0x13a: 0x2000, + 0x13c: 0x2000, 0x13e: 0x2000, + // Block 0x5, offset 0x140 + 0x141: 0x2000, + 0x151: 0x2000, + 0x153: 0x2000, + 0x15b: 0x2000, + 0x166: 0x2000, 0x167: 0x2000, + 0x16b: 0x2000, + 0x171: 0x2000, 0x172: 0x2000, 0x173: 0x2000, + 0x178: 0x2000, + 0x17f: 0x2000, + // Block 0x6, offset 0x180 + 0x180: 0x2000, 0x181: 0x2000, 0x182: 0x2000, 0x184: 0x2000, + 0x188: 0x2000, 0x189: 0x2000, 0x18a: 0x2000, 0x18b: 0x2000, + 0x18d: 0x2000, + 0x192: 0x2000, 0x193: 0x2000, + 0x1a6: 0x2000, 0x1a7: 0x2000, + 0x1ab: 0x2000, + // Block 0x7, offset 0x1c0 + 0x1ce: 0x2000, 0x1d0: 0x2000, + 0x1d2: 0x2000, 0x1d4: 0x2000, 0x1d6: 0x2000, + 0x1d8: 0x2000, 0x1da: 0x2000, 0x1dc: 0x2000, + // Block 0x8, offset 0x200 + 0x211: 0x2000, + 0x221: 0x2000, + // Block 0x9, offset 0x240 + 0x244: 0x2000, + 0x247: 0x2000, 0x249: 0x2000, 0x24a: 0x2000, 0x24b: 0x2000, + 0x24d: 0x2000, 0x250: 0x2000, + 0x258: 0x2000, 0x259: 0x2000, 0x25a: 0x2000, 0x25b: 0x2000, 0x25d: 0x2000, + 0x25f: 0x2000, + // Block 0xa, offset 0x280 + 0x280: 0x2000, 0x281: 0x2000, 0x282: 0x2000, 0x283: 0x2000, 0x284: 0x2000, 0x285: 0x2000, + 0x286: 0x2000, 0x287: 0x2000, 0x288: 0x2000, 0x289: 0x2000, 0x28a: 0x2000, 0x28b: 0x2000, + 0x28c: 0x2000, 0x28d: 0x2000, 0x28e: 0x2000, 0x28f: 0x2000, 0x290: 0x2000, 0x291: 0x2000, + 0x292: 0x2000, 0x293: 0x2000, 0x294: 0x2000, 0x295: 0x2000, 0x296: 0x2000, 0x297: 0x2000, + 0x298: 0x2000, 0x299: 0x2000, 0x29a: 0x2000, 0x29b: 0x2000, 0x29c: 0x2000, 0x29d: 0x2000, + 0x29e: 0x2000, 0x29f: 0x2000, 0x2a0: 0x2000, 0x2a1: 0x2000, 0x2a2: 0x2000, 0x2a3: 0x2000, + 0x2a4: 0x2000, 0x2a5: 0x2000, 0x2a6: 0x2000, 0x2a7: 0x2000, 0x2a8: 0x2000, 0x2a9: 0x2000, + 0x2aa: 0x2000, 0x2ab: 0x2000, 0x2ac: 0x2000, 0x2ad: 0x2000, 0x2ae: 0x2000, 0x2af: 0x2000, + 0x2b0: 0x2000, 0x2b1: 0x2000, 0x2b2: 0x2000, 0x2b3: 0x2000, 0x2b4: 0x2000, 0x2b5: 0x2000, + 0x2b6: 0x2000, 0x2b7: 0x2000, 0x2b8: 0x2000, 0x2b9: 0x2000, 0x2ba: 0x2000, 0x2bb: 0x2000, + 0x2bc: 0x2000, 0x2bd: 0x2000, 0x2be: 0x2000, 0x2bf: 0x2000, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x2000, 0x2c1: 0x2000, 0x2c2: 0x2000, 0x2c3: 0x2000, 0x2c4: 0x2000, 0x2c5: 0x2000, + 0x2c6: 0x2000, 0x2c7: 0x2000, 0x2c8: 0x2000, 0x2c9: 0x2000, 0x2ca: 0x2000, 0x2cb: 0x2000, + 0x2cc: 0x2000, 0x2cd: 0x2000, 0x2ce: 0x2000, 0x2cf: 0x2000, 0x2d0: 0x2000, 0x2d1: 0x2000, + 0x2d2: 0x2000, 0x2d3: 0x2000, 0x2d4: 0x2000, 0x2d5: 0x2000, 0x2d6: 0x2000, 0x2d7: 0x2000, + 0x2d8: 0x2000, 0x2d9: 0x2000, 0x2da: 0x2000, 0x2db: 0x2000, 0x2dc: 0x2000, 0x2dd: 0x2000, + 0x2de: 0x2000, 0x2df: 0x2000, 0x2e0: 0x2000, 0x2e1: 0x2000, 0x2e2: 0x2000, 0x2e3: 0x2000, + 0x2e4: 0x2000, 0x2e5: 0x2000, 0x2e6: 0x2000, 0x2e7: 0x2000, 0x2e8: 0x2000, 0x2e9: 0x2000, + 0x2ea: 0x2000, 0x2eb: 0x2000, 0x2ec: 0x2000, 0x2ed: 0x2000, 0x2ee: 0x2000, 0x2ef: 0x2000, + // Block 0xc, offset 0x300 + 0x311: 0x2000, + 0x312: 0x2000, 0x313: 0x2000, 0x314: 0x2000, 0x315: 0x2000, 0x316: 0x2000, 0x317: 0x2000, + 0x318: 0x2000, 0x319: 0x2000, 0x31a: 0x2000, 0x31b: 0x2000, 0x31c: 0x2000, 0x31d: 0x2000, + 0x31e: 0x2000, 0x31f: 0x2000, 0x320: 0x2000, 0x321: 0x2000, 0x323: 0x2000, + 0x324: 0x2000, 0x325: 0x2000, 0x326: 0x2000, 0x327: 0x2000, 0x328: 0x2000, 0x329: 0x2000, + 0x331: 0x2000, 0x332: 0x2000, 0x333: 0x2000, 0x334: 0x2000, 0x335: 0x2000, + 0x336: 0x2000, 0x337: 0x2000, 0x338: 0x2000, 0x339: 0x2000, 0x33a: 0x2000, 0x33b: 0x2000, + 0x33c: 0x2000, 0x33d: 0x2000, 0x33e: 0x2000, 0x33f: 0x2000, + // Block 0xd, offset 0x340 + 0x340: 0x2000, 0x341: 0x2000, 0x343: 0x2000, 0x344: 0x2000, 0x345: 0x2000, + 0x346: 0x2000, 0x347: 0x2000, 0x348: 0x2000, 0x349: 0x2000, + // Block 0xe, offset 0x380 + 0x381: 0x2000, + 0x390: 0x2000, 0x391: 0x2000, + 0x392: 0x2000, 0x393: 0x2000, 0x394: 0x2000, 0x395: 0x2000, 0x396: 0x2000, 0x397: 0x2000, + 0x398: 0x2000, 0x399: 0x2000, 0x39a: 0x2000, 0x39b: 0x2000, 0x39c: 0x2000, 0x39d: 0x2000, + 0x39e: 0x2000, 0x39f: 0x2000, 0x3a0: 0x2000, 0x3a1: 0x2000, 0x3a2: 0x2000, 0x3a3: 0x2000, + 0x3a4: 0x2000, 0x3a5: 0x2000, 0x3a6: 0x2000, 0x3a7: 0x2000, 0x3a8: 0x2000, 0x3a9: 0x2000, + 0x3aa: 0x2000, 0x3ab: 0x2000, 0x3ac: 0x2000, 0x3ad: 0x2000, 0x3ae: 0x2000, 0x3af: 0x2000, + 0x3b0: 0x2000, 0x3b1: 0x2000, 0x3b2: 0x2000, 0x3b3: 0x2000, 0x3b4: 0x2000, 0x3b5: 0x2000, + 0x3b6: 0x2000, 0x3b7: 0x2000, 0x3b8: 0x2000, 0x3b9: 0x2000, 0x3ba: 0x2000, 0x3bb: 0x2000, + 0x3bc: 0x2000, 0x3bd: 0x2000, 0x3be: 0x2000, 0x3bf: 0x2000, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x2000, 0x3c1: 0x2000, 0x3c2: 0x2000, 0x3c3: 0x2000, 0x3c4: 0x2000, 0x3c5: 0x2000, + 0x3c6: 0x2000, 0x3c7: 0x2000, 0x3c8: 0x2000, 0x3c9: 0x2000, 0x3ca: 0x2000, 0x3cb: 0x2000, + 0x3cc: 0x2000, 0x3cd: 0x2000, 0x3ce: 0x2000, 0x3cf: 0x2000, 0x3d1: 0x2000, + // Block 0x10, offset 0x400 + 0x400: 0x4000, 0x401: 0x4000, 0x402: 0x4000, 0x403: 0x4000, 0x404: 0x4000, 0x405: 0x4000, + 0x406: 0x4000, 0x407: 0x4000, 0x408: 0x4000, 0x409: 0x4000, 0x40a: 0x4000, 0x40b: 0x4000, + 0x40c: 0x4000, 0x40d: 0x4000, 0x40e: 0x4000, 0x40f: 0x4000, 0x410: 0x4000, 0x411: 0x4000, + 0x412: 0x4000, 0x413: 0x4000, 0x414: 0x4000, 0x415: 0x4000, 0x416: 0x4000, 0x417: 0x4000, + 0x418: 0x4000, 0x419: 0x4000, 0x41a: 0x4000, 0x41b: 0x4000, 0x41c: 0x4000, 0x41d: 0x4000, + 0x41e: 0x4000, 0x41f: 0x4000, 0x420: 0x4000, 0x421: 0x4000, 0x422: 0x4000, 0x423: 0x4000, + 0x424: 0x4000, 0x425: 0x4000, 0x426: 0x4000, 0x427: 0x4000, 0x428: 0x4000, 0x429: 0x4000, + 0x42a: 0x4000, 0x42b: 0x4000, 0x42c: 0x4000, 0x42d: 0x4000, 0x42e: 0x4000, 0x42f: 0x4000, + 0x430: 0x4000, 0x431: 0x4000, 0x432: 0x4000, 0x433: 0x4000, 0x434: 0x4000, 0x435: 0x4000, + 0x436: 0x4000, 0x437: 0x4000, 0x438: 0x4000, 0x439: 0x4000, 0x43a: 0x4000, 0x43b: 0x4000, + 0x43c: 0x4000, 0x43d: 0x4000, 0x43e: 0x4000, 0x43f: 0x4000, + // Block 0x11, offset 0x440 + 0x440: 0x4000, 0x441: 0x4000, 0x442: 0x4000, 0x443: 0x4000, 0x444: 0x4000, 0x445: 0x4000, + 0x446: 0x4000, 0x447: 0x4000, 0x448: 0x4000, 0x449: 0x4000, 0x44a: 0x4000, 0x44b: 0x4000, + 0x44c: 0x4000, 0x44d: 0x4000, 0x44e: 0x4000, 0x44f: 0x4000, 0x450: 0x4000, 0x451: 0x4000, + 0x452: 0x4000, 0x453: 0x4000, 0x454: 0x4000, 0x455: 0x4000, 0x456: 0x4000, 0x457: 0x4000, + 0x458: 0x4000, 0x459: 0x4000, 0x45a: 0x4000, 0x45b: 0x4000, 0x45c: 0x4000, 0x45d: 0x4000, + 0x45e: 0x4000, 0x45f: 0x4000, + // Block 0x12, offset 0x480 + 0x490: 0x2000, + 0x493: 0x2000, 0x494: 0x2000, 0x495: 0x2000, 0x496: 0x2000, + 0x498: 0x2000, 0x499: 0x2000, 0x49c: 0x2000, 0x49d: 0x2000, + 0x4a0: 0x2000, 0x4a1: 0x2000, 0x4a2: 0x2000, + 0x4a4: 0x2000, 0x4a5: 0x2000, 0x4a6: 0x2000, 0x4a7: 0x2000, + 0x4b0: 0x2000, 0x4b2: 0x2000, 0x4b3: 0x2000, 0x4b5: 0x2000, + 0x4bb: 0x2000, + 0x4be: 0x2000, + // Block 0x13, offset 0x4c0 + 0x4f4: 0x2000, + 0x4ff: 0x2000, + // Block 0x14, offset 0x500 + 0x501: 0x2000, 0x502: 0x2000, 0x503: 0x2000, 0x504: 0x2000, + 0x529: 0xa009, + 0x52c: 0x2000, + // Block 0x15, offset 0x540 + 0x543: 0x2000, 0x545: 0x2000, + 0x549: 0x2000, + 0x553: 0x2000, 0x556: 0x2000, + 0x561: 0x2000, 0x562: 0x2000, + 0x566: 0x2000, + 0x56b: 0x2000, + // Block 0x16, offset 0x580 + 0x593: 0x2000, 0x594: 0x2000, + 0x59b: 0x2000, 0x59c: 0x2000, 0x59d: 0x2000, + 0x59e: 0x2000, 0x5a0: 0x2000, 0x5a1: 0x2000, 0x5a2: 0x2000, 0x5a3: 0x2000, + 0x5a4: 0x2000, 0x5a5: 0x2000, 0x5a6: 0x2000, 0x5a7: 0x2000, 0x5a8: 0x2000, 0x5a9: 0x2000, + 0x5aa: 0x2000, 0x5ab: 0x2000, + 0x5b0: 0x2000, 0x5b1: 0x2000, 0x5b2: 0x2000, 0x5b3: 0x2000, 0x5b4: 0x2000, 0x5b5: 0x2000, + 0x5b6: 0x2000, 0x5b7: 0x2000, 0x5b8: 0x2000, 0x5b9: 0x2000, + // Block 0x17, offset 0x5c0 + 0x5c9: 0x2000, + 0x5d0: 0x200a, 0x5d1: 0x200b, + 0x5d2: 0x200a, 0x5d3: 0x200c, 0x5d4: 0x2000, 0x5d5: 0x2000, 0x5d6: 0x2000, 0x5d7: 0x2000, + 0x5d8: 0x2000, 0x5d9: 0x2000, + 0x5f8: 0x2000, 0x5f9: 0x2000, + // Block 0x18, offset 0x600 + 0x612: 0x2000, 0x614: 0x2000, + 0x627: 0x2000, + // Block 0x19, offset 0x640 + 0x640: 0x2000, 0x642: 0x2000, 0x643: 0x2000, + 0x647: 0x2000, 0x648: 0x2000, 0x64b: 0x2000, + 0x64f: 0x2000, 0x651: 0x2000, + 0x655: 0x2000, + 0x65a: 0x2000, 0x65d: 0x2000, + 0x65e: 0x2000, 0x65f: 0x2000, 0x660: 0x2000, 0x663: 0x2000, + 0x665: 0x2000, 0x667: 0x2000, 0x668: 0x2000, 0x669: 0x2000, + 0x66a: 0x2000, 0x66b: 0x2000, 0x66c: 0x2000, 0x66e: 0x2000, + 0x674: 0x2000, 0x675: 0x2000, + 0x676: 0x2000, 0x677: 0x2000, + 0x67c: 0x2000, 0x67d: 0x2000, + // Block 0x1a, offset 0x680 + 0x688: 0x2000, + 0x68c: 0x2000, + 0x692: 0x2000, + 0x6a0: 0x2000, 0x6a1: 0x2000, + 0x6a4: 0x2000, 0x6a5: 0x2000, 0x6a6: 0x2000, 0x6a7: 0x2000, + 0x6aa: 0x2000, 0x6ab: 0x2000, 0x6ae: 0x2000, 0x6af: 0x2000, + // Block 0x1b, offset 0x6c0 + 0x6c2: 0x2000, 0x6c3: 0x2000, + 0x6c6: 0x2000, 0x6c7: 0x2000, + 0x6d5: 0x2000, + 0x6d9: 0x2000, + 0x6e5: 0x2000, + 0x6ff: 0x2000, + // Block 0x1c, offset 0x700 + 0x712: 0x2000, + 0x71a: 0x4000, 0x71b: 0x4000, + 0x729: 0x4000, + 0x72a: 0x4000, + // Block 0x1d, offset 0x740 + 0x769: 0x4000, + 0x76a: 0x4000, 0x76b: 0x4000, 0x76c: 0x4000, + 0x770: 0x4000, 0x773: 0x4000, + // Block 0x1e, offset 0x780 + 0x7a0: 0x2000, 0x7a1: 0x2000, 0x7a2: 0x2000, 0x7a3: 0x2000, + 0x7a4: 0x2000, 0x7a5: 0x2000, 0x7a6: 0x2000, 0x7a7: 0x2000, 0x7a8: 0x2000, 0x7a9: 0x2000, + 0x7aa: 0x2000, 0x7ab: 0x2000, 0x7ac: 0x2000, 0x7ad: 0x2000, 0x7ae: 0x2000, 0x7af: 0x2000, + 0x7b0: 0x2000, 0x7b1: 0x2000, 0x7b2: 0x2000, 0x7b3: 0x2000, 0x7b4: 0x2000, 0x7b5: 0x2000, + 0x7b6: 0x2000, 0x7b7: 0x2000, 0x7b8: 0x2000, 0x7b9: 0x2000, 0x7ba: 0x2000, 0x7bb: 0x2000, + 0x7bc: 0x2000, 0x7bd: 0x2000, 0x7be: 0x2000, 0x7bf: 0x2000, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x2000, 0x7c1: 0x2000, 0x7c2: 0x2000, 0x7c3: 0x2000, 0x7c4: 0x2000, 0x7c5: 0x2000, + 0x7c6: 0x2000, 0x7c7: 0x2000, 0x7c8: 0x2000, 0x7c9: 0x2000, 0x7ca: 0x2000, 0x7cb: 0x2000, + 0x7cc: 0x2000, 0x7cd: 0x2000, 0x7ce: 0x2000, 0x7cf: 0x2000, 0x7d0: 0x2000, 0x7d1: 0x2000, + 0x7d2: 0x2000, 0x7d3: 0x2000, 0x7d4: 0x2000, 0x7d5: 0x2000, 0x7d6: 0x2000, 0x7d7: 0x2000, + 0x7d8: 0x2000, 0x7d9: 0x2000, 0x7da: 0x2000, 0x7db: 0x2000, 0x7dc: 0x2000, 0x7dd: 0x2000, + 0x7de: 0x2000, 0x7df: 0x2000, 0x7e0: 0x2000, 0x7e1: 0x2000, 0x7e2: 0x2000, 0x7e3: 0x2000, + 0x7e4: 0x2000, 0x7e5: 0x2000, 0x7e6: 0x2000, 0x7e7: 0x2000, 0x7e8: 0x2000, 0x7e9: 0x2000, + 0x7eb: 0x2000, 0x7ec: 0x2000, 0x7ed: 0x2000, 0x7ee: 0x2000, 0x7ef: 0x2000, + 0x7f0: 0x2000, 0x7f1: 0x2000, 0x7f2: 0x2000, 0x7f3: 0x2000, 0x7f4: 0x2000, 0x7f5: 0x2000, + 0x7f6: 0x2000, 0x7f7: 0x2000, 0x7f8: 0x2000, 0x7f9: 0x2000, 0x7fa: 0x2000, 0x7fb: 0x2000, + 0x7fc: 0x2000, 0x7fd: 0x2000, 0x7fe: 0x2000, 0x7ff: 0x2000, + // Block 0x20, offset 0x800 + 0x800: 0x2000, 0x801: 0x2000, 0x802: 0x200d, 0x803: 0x2000, 0x804: 0x2000, 0x805: 0x2000, + 0x806: 0x2000, 0x807: 0x2000, 0x808: 0x2000, 0x809: 0x2000, 0x80a: 0x2000, 0x80b: 0x2000, + 0x80c: 0x2000, 0x80d: 0x2000, 0x80e: 0x2000, 0x80f: 0x2000, 0x810: 0x2000, 0x811: 0x2000, + 0x812: 0x2000, 0x813: 0x2000, 0x814: 0x2000, 0x815: 0x2000, 0x816: 0x2000, 0x817: 0x2000, + 0x818: 0x2000, 0x819: 0x2000, 0x81a: 0x2000, 0x81b: 0x2000, 0x81c: 0x2000, 0x81d: 0x2000, + 0x81e: 0x2000, 0x81f: 0x2000, 0x820: 0x2000, 0x821: 0x2000, 0x822: 0x2000, 0x823: 0x2000, + 0x824: 0x2000, 0x825: 0x2000, 0x826: 0x2000, 0x827: 0x2000, 0x828: 0x2000, 0x829: 0x2000, + 0x82a: 0x2000, 0x82b: 0x2000, 0x82c: 0x2000, 0x82d: 0x2000, 0x82e: 0x2000, 0x82f: 0x2000, + 0x830: 0x2000, 0x831: 0x2000, 0x832: 0x2000, 0x833: 0x2000, 0x834: 0x2000, 0x835: 0x2000, + 0x836: 0x2000, 0x837: 0x2000, 0x838: 0x2000, 0x839: 0x2000, 0x83a: 0x2000, 0x83b: 0x2000, + 0x83c: 0x2000, 0x83d: 0x2000, 0x83e: 0x2000, 0x83f: 0x2000, + // Block 0x21, offset 0x840 + 0x840: 0x2000, 0x841: 0x2000, 0x842: 0x2000, 0x843: 0x2000, 0x844: 0x2000, 0x845: 0x2000, + 0x846: 0x2000, 0x847: 0x2000, 0x848: 0x2000, 0x849: 0x2000, 0x84a: 0x2000, 0x84b: 0x2000, + 0x850: 0x2000, 0x851: 0x2000, + 0x852: 0x2000, 0x853: 0x2000, 0x854: 0x2000, 0x855: 0x2000, 0x856: 0x2000, 0x857: 0x2000, + 0x858: 0x2000, 0x859: 0x2000, 0x85a: 0x2000, 0x85b: 0x2000, 0x85c: 0x2000, 0x85d: 0x2000, + 0x85e: 0x2000, 0x85f: 0x2000, 0x860: 0x2000, 0x861: 0x2000, 0x862: 0x2000, 0x863: 0x2000, + 0x864: 0x2000, 0x865: 0x2000, 0x866: 0x2000, 0x867: 0x2000, 0x868: 0x2000, 0x869: 0x2000, + 0x86a: 0x2000, 0x86b: 0x2000, 0x86c: 0x2000, 0x86d: 0x2000, 0x86e: 0x2000, 0x86f: 0x2000, + 0x870: 0x2000, 0x871: 0x2000, 0x872: 0x2000, 0x873: 0x2000, + // Block 0x22, offset 0x880 + 0x880: 0x2000, 0x881: 0x2000, 0x882: 0x2000, 0x883: 0x2000, 0x884: 0x2000, 0x885: 0x2000, + 0x886: 0x2000, 0x887: 0x2000, 0x888: 0x2000, 0x889: 0x2000, 0x88a: 0x2000, 0x88b: 0x2000, + 0x88c: 0x2000, 0x88d: 0x2000, 0x88e: 0x2000, 0x88f: 0x2000, + 0x892: 0x2000, 0x893: 0x2000, 0x894: 0x2000, 0x895: 0x2000, + 0x8a0: 0x200e, 0x8a1: 0x2000, 0x8a3: 0x2000, + 0x8a4: 0x2000, 0x8a5: 0x2000, 0x8a6: 0x2000, 0x8a7: 0x2000, 0x8a8: 0x2000, 0x8a9: 0x2000, + 0x8b2: 0x2000, 0x8b3: 0x2000, + 0x8b6: 0x2000, 0x8b7: 0x2000, + 0x8bc: 0x2000, 0x8bd: 0x2000, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x2000, 0x8c1: 0x2000, + 0x8c6: 0x2000, 0x8c7: 0x2000, 0x8c8: 0x2000, 0x8cb: 0x200f, + 0x8ce: 0x2000, 0x8cf: 0x2000, 0x8d0: 0x2000, 0x8d1: 0x2000, + 0x8e2: 0x2000, 0x8e3: 0x2000, + 0x8e4: 0x2000, 0x8e5: 0x2000, + 0x8ef: 0x2000, + 0x8fd: 0x4000, 0x8fe: 0x4000, + // Block 0x24, offset 0x900 + 0x905: 0x2000, + 0x906: 0x2000, 0x909: 0x2000, + 0x90e: 0x2000, 0x90f: 0x2000, + 0x914: 0x4000, 0x915: 0x4000, + 0x91c: 0x2000, + 0x91e: 0x2000, + // Block 0x25, offset 0x940 + 0x940: 0x2000, 0x942: 0x2000, + 0x948: 0x4000, 0x949: 0x4000, 0x94a: 0x4000, 0x94b: 0x4000, + 0x94c: 0x4000, 0x94d: 0x4000, 0x94e: 0x4000, 0x94f: 0x4000, 0x950: 0x4000, 0x951: 0x4000, + 0x952: 0x4000, 0x953: 0x4000, + 0x960: 0x2000, 0x961: 0x2000, 0x963: 0x2000, + 0x964: 0x2000, 0x965: 0x2000, 0x967: 0x2000, 0x968: 0x2000, 0x969: 0x2000, + 0x96a: 0x2000, 0x96c: 0x2000, 0x96d: 0x2000, 0x96f: 0x2000, + 0x97f: 0x4000, + // Block 0x26, offset 0x980 + 0x993: 0x4000, + 0x99e: 0x2000, 0x99f: 0x2000, 0x9a1: 0x4000, + 0x9aa: 0x4000, 0x9ab: 0x4000, + 0x9bd: 0x4000, 0x9be: 0x4000, 0x9bf: 0x2000, + // Block 0x27, offset 0x9c0 + 0x9c4: 0x4000, 0x9c5: 0x4000, + 0x9c6: 0x2000, 0x9c7: 0x2000, 0x9c8: 0x2000, 0x9c9: 0x2000, 0x9ca: 0x2000, 0x9cb: 0x2000, + 0x9cc: 0x2000, 0x9cd: 0x2000, 0x9ce: 0x4000, 0x9cf: 0x2000, 0x9d0: 0x2000, 0x9d1: 0x2000, + 0x9d2: 0x2000, 0x9d3: 0x2000, 0x9d4: 0x4000, 0x9d5: 0x2000, 0x9d6: 0x2000, 0x9d7: 0x2000, + 0x9d8: 0x2000, 0x9d9: 0x2000, 0x9da: 0x2000, 0x9db: 0x2000, 0x9dc: 0x2000, 0x9dd: 0x2000, + 0x9de: 0x2000, 0x9df: 0x2000, 0x9e0: 0x2000, 0x9e1: 0x2000, 0x9e3: 0x2000, + 0x9e8: 0x2000, 0x9e9: 0x2000, + 0x9ea: 0x4000, 0x9eb: 0x2000, 0x9ec: 0x2000, 0x9ed: 0x2000, 0x9ee: 0x2000, 0x9ef: 0x2000, + 0x9f0: 0x2000, 0x9f1: 0x2000, 0x9f2: 0x4000, 0x9f3: 0x4000, 0x9f4: 0x2000, 0x9f5: 0x4000, + 0x9f6: 0x2000, 0x9f7: 0x2000, 0x9f8: 0x2000, 0x9f9: 0x2000, 0x9fa: 0x4000, 0x9fb: 0x2000, + 0x9fc: 0x2000, 0x9fd: 0x4000, 0x9fe: 0x2000, 0x9ff: 0x2000, + // Block 0x28, offset 0xa00 + 0xa05: 0x4000, + 0xa0a: 0x4000, 0xa0b: 0x4000, + 0xa28: 0x4000, + 0xa3d: 0x2000, + // Block 0x29, offset 0xa40 + 0xa4c: 0x4000, 0xa4e: 0x4000, + 0xa53: 0x4000, 0xa54: 0x4000, 0xa55: 0x4000, 0xa57: 0x4000, + 0xa76: 0x2000, 0xa77: 0x2000, 0xa78: 0x2000, 0xa79: 0x2000, 0xa7a: 0x2000, 0xa7b: 0x2000, + 0xa7c: 0x2000, 0xa7d: 0x2000, 0xa7e: 0x2000, 0xa7f: 0x2000, + // Block 0x2a, offset 0xa80 + 0xa95: 0x4000, 0xa96: 0x4000, 0xa97: 0x4000, + 0xab0: 0x4000, + 0xabf: 0x4000, + // Block 0x2b, offset 0xac0 + 0xae6: 0x6000, 0xae7: 0x6000, 0xae8: 0x6000, 0xae9: 0x6000, + 0xaea: 0x6000, 0xaeb: 0x6000, 0xaec: 0x6000, 0xaed: 0x6000, + // Block 0x2c, offset 0xb00 + 0xb05: 0x6010, + 0xb06: 0x6011, + // Block 0x2d, offset 0xb40 + 0xb5b: 0x4000, 0xb5c: 0x4000, + // Block 0x2e, offset 0xb80 + 0xb90: 0x4000, + 0xb95: 0x4000, 0xb96: 0x2000, 0xb97: 0x2000, + 0xb98: 0x2000, 0xb99: 0x2000, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x4000, 0xbc1: 0x4000, 0xbc2: 0x4000, 0xbc3: 0x4000, 0xbc4: 0x4000, 0xbc5: 0x4000, + 0xbc6: 0x4000, 0xbc7: 0x4000, 0xbc8: 0x4000, 0xbc9: 0x4000, 0xbca: 0x4000, 0xbcb: 0x4000, + 0xbcc: 0x4000, 0xbcd: 0x4000, 0xbce: 0x4000, 0xbcf: 0x4000, 0xbd0: 0x4000, 0xbd1: 0x4000, + 0xbd2: 0x4000, 0xbd3: 0x4000, 0xbd4: 0x4000, 0xbd5: 0x4000, 0xbd6: 0x4000, 0xbd7: 0x4000, + 0xbd8: 0x4000, 0xbd9: 0x4000, 0xbdb: 0x4000, 0xbdc: 0x4000, 0xbdd: 0x4000, + 0xbde: 0x4000, 0xbdf: 0x4000, 0xbe0: 0x4000, 0xbe1: 0x4000, 0xbe2: 0x4000, 0xbe3: 0x4000, + 0xbe4: 0x4000, 0xbe5: 0x4000, 0xbe6: 0x4000, 0xbe7: 0x4000, 0xbe8: 0x4000, 0xbe9: 0x4000, + 0xbea: 0x4000, 0xbeb: 0x4000, 0xbec: 0x4000, 0xbed: 0x4000, 0xbee: 0x4000, 0xbef: 0x4000, + 0xbf0: 0x4000, 0xbf1: 0x4000, 0xbf2: 0x4000, 0xbf3: 0x4000, 0xbf4: 0x4000, 0xbf5: 0x4000, + 0xbf6: 0x4000, 0xbf7: 0x4000, 0xbf8: 0x4000, 0xbf9: 0x4000, 0xbfa: 0x4000, 0xbfb: 0x4000, + 0xbfc: 0x4000, 0xbfd: 0x4000, 0xbfe: 0x4000, 0xbff: 0x4000, + // Block 0x30, offset 0xc00 + 0xc00: 0x4000, 0xc01: 0x4000, 0xc02: 0x4000, 0xc03: 0x4000, 0xc04: 0x4000, 0xc05: 0x4000, + 0xc06: 0x4000, 0xc07: 0x4000, 0xc08: 0x4000, 0xc09: 0x4000, 0xc0a: 0x4000, 0xc0b: 0x4000, + 0xc0c: 0x4000, 0xc0d: 0x4000, 0xc0e: 0x4000, 0xc0f: 0x4000, 0xc10: 0x4000, 0xc11: 0x4000, + 0xc12: 0x4000, 0xc13: 0x4000, 0xc14: 0x4000, 0xc15: 0x4000, 0xc16: 0x4000, 0xc17: 0x4000, + 0xc18: 0x4000, 0xc19: 0x4000, 0xc1a: 0x4000, 0xc1b: 0x4000, 0xc1c: 0x4000, 0xc1d: 0x4000, + 0xc1e: 0x4000, 0xc1f: 0x4000, 0xc20: 0x4000, 0xc21: 0x4000, 0xc22: 0x4000, 0xc23: 0x4000, + 0xc24: 0x4000, 0xc25: 0x4000, 0xc26: 0x4000, 0xc27: 0x4000, 0xc28: 0x4000, 0xc29: 0x4000, + 0xc2a: 0x4000, 0xc2b: 0x4000, 0xc2c: 0x4000, 0xc2d: 0x4000, 0xc2e: 0x4000, 0xc2f: 0x4000, + 0xc30: 0x4000, 0xc31: 0x4000, 0xc32: 0x4000, 0xc33: 0x4000, + // Block 0x31, offset 0xc40 + 0xc40: 0x4000, 0xc41: 0x4000, 0xc42: 0x4000, 0xc43: 0x4000, 0xc44: 0x4000, 0xc45: 0x4000, + 0xc46: 0x4000, 0xc47: 0x4000, 0xc48: 0x4000, 0xc49: 0x4000, 0xc4a: 0x4000, 0xc4b: 0x4000, + 0xc4c: 0x4000, 0xc4d: 0x4000, 0xc4e: 0x4000, 0xc4f: 0x4000, 0xc50: 0x4000, 0xc51: 0x4000, + 0xc52: 0x4000, 0xc53: 0x4000, 0xc54: 0x4000, 0xc55: 0x4000, + 0xc70: 0x4000, 0xc71: 0x4000, 0xc72: 0x4000, 0xc73: 0x4000, 0xc74: 0x4000, 0xc75: 0x4000, + 0xc76: 0x4000, 0xc77: 0x4000, 0xc78: 0x4000, 0xc79: 0x4000, 0xc7a: 0x4000, 0xc7b: 0x4000, + // Block 0x32, offset 0xc80 + 0xc80: 0x9012, 0xc81: 0x4013, 0xc82: 0x4014, 0xc83: 0x4000, 0xc84: 0x4000, 0xc85: 0x4000, + 0xc86: 0x4000, 0xc87: 0x4000, 0xc88: 0x4000, 0xc89: 0x4000, 0xc8a: 0x4000, 0xc8b: 0x4000, + 0xc8c: 0x4015, 0xc8d: 0x4015, 0xc8e: 0x4000, 0xc8f: 0x4000, 0xc90: 0x4000, 0xc91: 0x4000, + 0xc92: 0x4000, 0xc93: 0x4000, 0xc94: 0x4000, 0xc95: 0x4000, 0xc96: 0x4000, 0xc97: 0x4000, + 0xc98: 0x4000, 0xc99: 0x4000, 0xc9a: 0x4000, 0xc9b: 0x4000, 0xc9c: 0x4000, 0xc9d: 0x4000, + 0xc9e: 0x4000, 0xc9f: 0x4000, 0xca0: 0x4000, 0xca1: 0x4000, 0xca2: 0x4000, 0xca3: 0x4000, + 0xca4: 0x4000, 0xca5: 0x4000, 0xca6: 0x4000, 0xca7: 0x4000, 0xca8: 0x4000, 0xca9: 0x4000, + 0xcaa: 0x4000, 0xcab: 0x4000, 0xcac: 0x4000, 0xcad: 0x4000, 0xcae: 0x4000, 0xcaf: 0x4000, + 0xcb0: 0x4000, 0xcb1: 0x4000, 0xcb2: 0x4000, 0xcb3: 0x4000, 0xcb4: 0x4000, 0xcb5: 0x4000, + 0xcb6: 0x4000, 0xcb7: 0x4000, 0xcb8: 0x4000, 0xcb9: 0x4000, 0xcba: 0x4000, 0xcbb: 0x4000, + 0xcbc: 0x4000, 0xcbd: 0x4000, 0xcbe: 0x4000, + // Block 0x33, offset 0xcc0 + 0xcc1: 0x4000, 0xcc2: 0x4000, 0xcc3: 0x4000, 0xcc4: 0x4000, 0xcc5: 0x4000, + 0xcc6: 0x4000, 0xcc7: 0x4000, 0xcc8: 0x4000, 0xcc9: 0x4000, 0xcca: 0x4000, 0xccb: 0x4000, + 0xccc: 0x4000, 0xccd: 0x4000, 0xcce: 0x4000, 0xccf: 0x4000, 0xcd0: 0x4000, 0xcd1: 0x4000, + 0xcd2: 0x4000, 0xcd3: 0x4000, 0xcd4: 0x4000, 0xcd5: 0x4000, 0xcd6: 0x4000, 0xcd7: 0x4000, + 0xcd8: 0x4000, 0xcd9: 0x4000, 0xcda: 0x4000, 0xcdb: 0x4000, 0xcdc: 0x4000, 0xcdd: 0x4000, + 0xcde: 0x4000, 0xcdf: 0x4000, 0xce0: 0x4000, 0xce1: 0x4000, 0xce2: 0x4000, 0xce3: 0x4000, + 0xce4: 0x4000, 0xce5: 0x4000, 0xce6: 0x4000, 0xce7: 0x4000, 0xce8: 0x4000, 0xce9: 0x4000, + 0xcea: 0x4000, 0xceb: 0x4000, 0xcec: 0x4000, 0xced: 0x4000, 0xcee: 0x4000, 0xcef: 0x4000, + 0xcf0: 0x4000, 0xcf1: 0x4000, 0xcf2: 0x4000, 0xcf3: 0x4000, 0xcf4: 0x4000, 0xcf5: 0x4000, + 0xcf6: 0x4000, 0xcf7: 0x4000, 0xcf8: 0x4000, 0xcf9: 0x4000, 0xcfa: 0x4000, 0xcfb: 0x4000, + 0xcfc: 0x4000, 0xcfd: 0x4000, 0xcfe: 0x4000, 0xcff: 0x4000, + // Block 0x34, offset 0xd00 + 0xd00: 0x4000, 0xd01: 0x4000, 0xd02: 0x4000, 0xd03: 0x4000, 0xd04: 0x4000, 0xd05: 0x4000, + 0xd06: 0x4000, 0xd07: 0x4000, 0xd08: 0x4000, 0xd09: 0x4000, 0xd0a: 0x4000, 0xd0b: 0x4000, + 0xd0c: 0x4000, 0xd0d: 0x4000, 0xd0e: 0x4000, 0xd0f: 0x4000, 0xd10: 0x4000, 0xd11: 0x4000, + 0xd12: 0x4000, 0xd13: 0x4000, 0xd14: 0x4000, 0xd15: 0x4000, 0xd16: 0x4000, + 0xd19: 0x4016, 0xd1a: 0x4017, 0xd1b: 0x4000, 0xd1c: 0x4000, 0xd1d: 0x4000, + 0xd1e: 0x4000, 0xd1f: 0x4000, 0xd20: 0x4000, 0xd21: 0x4018, 0xd22: 0x4019, 0xd23: 0x401a, + 0xd24: 0x401b, 0xd25: 0x401c, 0xd26: 0x401d, 0xd27: 0x401e, 0xd28: 0x401f, 0xd29: 0x4020, + 0xd2a: 0x4021, 0xd2b: 0x4022, 0xd2c: 0x4000, 0xd2d: 0x4010, 0xd2e: 0x4000, 0xd2f: 0x4023, + 0xd30: 0x4000, 0xd31: 0x4024, 0xd32: 0x4000, 0xd33: 0x4025, 0xd34: 0x4000, 0xd35: 0x4026, + 0xd36: 0x4000, 0xd37: 0x401a, 0xd38: 0x4000, 0xd39: 0x4027, 0xd3a: 0x4000, 0xd3b: 0x4028, + 0xd3c: 0x4000, 0xd3d: 0x4020, 0xd3e: 0x4000, 0xd3f: 0x4029, + // Block 0x35, offset 0xd40 + 0xd40: 0x4000, 0xd41: 0x402a, 0xd42: 0x4000, 0xd43: 0x402b, 0xd44: 0x402c, 0xd45: 0x4000, + 0xd46: 0x4017, 0xd47: 0x4000, 0xd48: 0x402d, 0xd49: 0x4000, 0xd4a: 0x402e, 0xd4b: 0x402f, + 0xd4c: 0x4030, 0xd4d: 0x4017, 0xd4e: 0x4016, 0xd4f: 0x4017, 0xd50: 0x4000, 0xd51: 0x4000, + 0xd52: 0x4031, 0xd53: 0x4000, 0xd54: 0x4000, 0xd55: 0x4031, 0xd56: 0x4000, 0xd57: 0x4000, + 0xd58: 0x4032, 0xd59: 0x4000, 0xd5a: 0x4000, 0xd5b: 0x4032, 0xd5c: 0x4000, 0xd5d: 0x4000, + 0xd5e: 0x4033, 0xd5f: 0x402e, 0xd60: 0x4034, 0xd61: 0x4035, 0xd62: 0x4034, 0xd63: 0x4036, + 0xd64: 0x4037, 0xd65: 0x4024, 0xd66: 0x4035, 0xd67: 0x4025, 0xd68: 0x4038, 0xd69: 0x4038, + 0xd6a: 0x4039, 0xd6b: 0x4039, 0xd6c: 0x403a, 0xd6d: 0x403a, 0xd6e: 0x4000, 0xd6f: 0x4035, + 0xd70: 0x4000, 0xd71: 0x4000, 0xd72: 0x403b, 0xd73: 0x403c, 0xd74: 0x4000, 0xd75: 0x4000, + 0xd76: 0x4000, 0xd77: 0x4000, 0xd78: 0x4000, 0xd79: 0x4000, 0xd7a: 0x4000, 0xd7b: 0x403d, + 0xd7c: 0x401c, 0xd7d: 0x4000, 0xd7e: 0x4000, 0xd7f: 0x4000, + // Block 0x36, offset 0xd80 + 0xd85: 0x4000, + 0xd86: 0x4000, 0xd87: 0x4000, 0xd88: 0x4000, 0xd89: 0x4000, 0xd8a: 0x4000, 0xd8b: 0x4000, + 0xd8c: 0x4000, 0xd8d: 0x4000, 0xd8e: 0x4000, 0xd8f: 0x4000, 0xd90: 0x4000, 0xd91: 0x4000, + 0xd92: 0x4000, 0xd93: 0x4000, 0xd94: 0x4000, 0xd95: 0x4000, 0xd96: 0x4000, 0xd97: 0x4000, + 0xd98: 0x4000, 0xd99: 0x4000, 0xd9a: 0x4000, 0xd9b: 0x4000, 0xd9c: 0x4000, 0xd9d: 0x4000, + 0xd9e: 0x4000, 0xd9f: 0x4000, 0xda0: 0x4000, 0xda1: 0x4000, 0xda2: 0x4000, 0xda3: 0x4000, + 0xda4: 0x4000, 0xda5: 0x4000, 0xda6: 0x4000, 0xda7: 0x4000, 0xda8: 0x4000, 0xda9: 0x4000, + 0xdaa: 0x4000, 0xdab: 0x4000, 0xdac: 0x4000, 0xdad: 0x4000, 0xdae: 0x4000, + 0xdb1: 0x403e, 0xdb2: 0x403e, 0xdb3: 0x403e, 0xdb4: 0x403e, 0xdb5: 0x403e, + 0xdb6: 0x403e, 0xdb7: 0x403e, 0xdb8: 0x403e, 0xdb9: 0x403e, 0xdba: 0x403e, 0xdbb: 0x403e, + 0xdbc: 0x403e, 0xdbd: 0x403e, 0xdbe: 0x403e, 0xdbf: 0x403e, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x4037, 0xdc1: 0x4037, 0xdc2: 0x4037, 0xdc3: 0x4037, 0xdc4: 0x4037, 0xdc5: 0x4037, + 0xdc6: 0x4037, 0xdc7: 0x4037, 0xdc8: 0x4037, 0xdc9: 0x4037, 0xdca: 0x4037, 0xdcb: 0x4037, + 0xdcc: 0x4037, 0xdcd: 0x4037, 0xdce: 0x4037, 0xdcf: 0x400e, 0xdd0: 0x403f, 0xdd1: 0x4040, + 0xdd2: 0x4041, 0xdd3: 0x4040, 0xdd4: 0x403f, 0xdd5: 0x4042, 0xdd6: 0x4043, 0xdd7: 0x4044, + 0xdd8: 0x4040, 0xdd9: 0x4041, 0xdda: 0x4040, 0xddb: 0x4045, 0xddc: 0x4009, 0xddd: 0x4045, + 0xdde: 0x4046, 0xddf: 0x4045, 0xde0: 0x4047, 0xde1: 0x400b, 0xde2: 0x400a, 0xde3: 0x400c, + 0xde4: 0x4048, 0xde5: 0x4000, 0xde6: 0x4000, 0xde7: 0x4000, 0xde8: 0x4000, 0xde9: 0x4000, + 0xdea: 0x4000, 0xdeb: 0x4000, 0xdec: 0x4000, 0xded: 0x4000, 0xdee: 0x4000, 0xdef: 0x4000, + 0xdf0: 0x4000, 0xdf1: 0x4000, 0xdf2: 0x4000, 0xdf3: 0x4000, 0xdf4: 0x4000, 0xdf5: 0x4000, + 0xdf6: 0x4000, 0xdf7: 0x4000, 0xdf8: 0x4000, 0xdf9: 0x4000, 0xdfa: 0x4000, 0xdfb: 0x4000, + 0xdfc: 0x4000, 0xdfd: 0x4000, 0xdfe: 0x4000, 0xdff: 0x4000, + // Block 0x38, offset 0xe00 + 0xe00: 0x4000, 0xe01: 0x4000, 0xe02: 0x4000, 0xe03: 0x4000, 0xe04: 0x4000, 0xe05: 0x4000, + 0xe06: 0x4000, 0xe07: 0x4000, 0xe08: 0x4000, 0xe09: 0x4000, 0xe0a: 0x4000, 0xe0b: 0x4000, + 0xe0c: 0x4000, 0xe0d: 0x4000, 0xe0e: 0x4000, 0xe10: 0x4000, 0xe11: 0x4000, + 0xe12: 0x4000, 0xe13: 0x4000, 0xe14: 0x4000, 0xe15: 0x4000, 0xe16: 0x4000, 0xe17: 0x4000, + 0xe18: 0x4000, 0xe19: 0x4000, 0xe1a: 0x4000, 0xe1b: 0x4000, 0xe1c: 0x4000, 0xe1d: 0x4000, + 0xe1e: 0x4000, 0xe1f: 0x4000, 0xe20: 0x4000, 0xe21: 0x4000, 0xe22: 0x4000, 0xe23: 0x4000, + 0xe24: 0x4000, 0xe25: 0x4000, 0xe26: 0x4000, 0xe27: 0x4000, 0xe28: 0x4000, 0xe29: 0x4000, + 0xe2a: 0x4000, 0xe2b: 0x4000, 0xe2c: 0x4000, 0xe2d: 0x4000, 0xe2e: 0x4000, 0xe2f: 0x4000, + 0xe30: 0x4000, 0xe31: 0x4000, 0xe32: 0x4000, 0xe33: 0x4000, 0xe34: 0x4000, 0xe35: 0x4000, + 0xe36: 0x4000, 0xe37: 0x4000, 0xe38: 0x4000, 0xe39: 0x4000, 0xe3a: 0x4000, + // Block 0x39, offset 0xe40 + 0xe40: 0x4000, 0xe41: 0x4000, 0xe42: 0x4000, 0xe43: 0x4000, 0xe44: 0x4000, 0xe45: 0x4000, + 0xe46: 0x4000, 0xe47: 0x4000, 0xe48: 0x4000, 0xe49: 0x4000, 0xe4a: 0x4000, 0xe4b: 0x4000, + 0xe4c: 0x4000, 0xe4d: 0x4000, 0xe4e: 0x4000, 0xe4f: 0x4000, 0xe50: 0x4000, 0xe51: 0x4000, + 0xe52: 0x4000, 0xe53: 0x4000, 0xe54: 0x4000, 0xe55: 0x4000, 0xe56: 0x4000, 0xe57: 0x4000, + 0xe58: 0x4000, 0xe59: 0x4000, 0xe5a: 0x4000, 0xe5b: 0x4000, 0xe5c: 0x4000, 0xe5d: 0x4000, + 0xe5e: 0x4000, 0xe5f: 0x4000, 0xe60: 0x4000, 0xe61: 0x4000, 0xe62: 0x4000, 0xe63: 0x4000, + 0xe70: 0x4000, 0xe71: 0x4000, 0xe72: 0x4000, 0xe73: 0x4000, 0xe74: 0x4000, 0xe75: 0x4000, + 0xe76: 0x4000, 0xe77: 0x4000, 0xe78: 0x4000, 0xe79: 0x4000, 0xe7a: 0x4000, 0xe7b: 0x4000, + 0xe7c: 0x4000, 0xe7d: 0x4000, 0xe7e: 0x4000, 0xe7f: 0x4000, + // Block 0x3a, offset 0xe80 + 0xe80: 0x4000, 0xe81: 0x4000, 0xe82: 0x4000, 0xe83: 0x4000, 0xe84: 0x4000, 0xe85: 0x4000, + 0xe86: 0x4000, 0xe87: 0x4000, 0xe88: 0x4000, 0xe89: 0x4000, 0xe8a: 0x4000, 0xe8b: 0x4000, + 0xe8c: 0x4000, 0xe8d: 0x4000, 0xe8e: 0x4000, 0xe8f: 0x4000, 0xe90: 0x4000, 0xe91: 0x4000, + 0xe92: 0x4000, 0xe93: 0x4000, 0xe94: 0x4000, 0xe95: 0x4000, 0xe96: 0x4000, 0xe97: 0x4000, + 0xe98: 0x4000, 0xe99: 0x4000, 0xe9a: 0x4000, 0xe9b: 0x4000, 0xe9c: 0x4000, 0xe9d: 0x4000, + 0xe9e: 0x4000, 0xea0: 0x4000, 0xea1: 0x4000, 0xea2: 0x4000, 0xea3: 0x4000, + 0xea4: 0x4000, 0xea5: 0x4000, 0xea6: 0x4000, 0xea7: 0x4000, 0xea8: 0x4000, 0xea9: 0x4000, + 0xeaa: 0x4000, 0xeab: 0x4000, 0xeac: 0x4000, 0xead: 0x4000, 0xeae: 0x4000, 0xeaf: 0x4000, + 0xeb0: 0x4000, 0xeb1: 0x4000, 0xeb2: 0x4000, 0xeb3: 0x4000, 0xeb4: 0x4000, 0xeb5: 0x4000, + 0xeb6: 0x4000, 0xeb7: 0x4000, 0xeb8: 0x4000, 0xeb9: 0x4000, 0xeba: 0x4000, 0xebb: 0x4000, + 0xebc: 0x4000, 0xebd: 0x4000, 0xebe: 0x4000, 0xebf: 0x4000, + // Block 0x3b, offset 0xec0 + 0xec0: 0x4000, 0xec1: 0x4000, 0xec2: 0x4000, 0xec3: 0x4000, 0xec4: 0x4000, 0xec5: 0x4000, + 0xec6: 0x4000, 0xec7: 0x4000, 0xec8: 0x2000, 0xec9: 0x2000, 0xeca: 0x2000, 0xecb: 0x2000, + 0xecc: 0x2000, 0xecd: 0x2000, 0xece: 0x2000, 0xecf: 0x2000, 0xed0: 0x4000, 0xed1: 0x4000, + 0xed2: 0x4000, 0xed3: 0x4000, 0xed4: 0x4000, 0xed5: 0x4000, 0xed6: 0x4000, 0xed7: 0x4000, + 0xed8: 0x4000, 0xed9: 0x4000, 0xeda: 0x4000, 0xedb: 0x4000, 0xedc: 0x4000, 0xedd: 0x4000, + 0xede: 0x4000, 0xedf: 0x4000, 0xee0: 0x4000, 0xee1: 0x4000, 0xee2: 0x4000, 0xee3: 0x4000, + 0xee4: 0x4000, 0xee5: 0x4000, 0xee6: 0x4000, 0xee7: 0x4000, 0xee8: 0x4000, 0xee9: 0x4000, + 0xeea: 0x4000, 0xeeb: 0x4000, 0xeec: 0x4000, 0xeed: 0x4000, 0xeee: 0x4000, 0xeef: 0x4000, + 0xef0: 0x4000, 0xef1: 0x4000, 0xef2: 0x4000, 0xef3: 0x4000, 0xef4: 0x4000, 0xef5: 0x4000, + 0xef6: 0x4000, 0xef7: 0x4000, 0xef8: 0x4000, 0xef9: 0x4000, 0xefa: 0x4000, 0xefb: 0x4000, + 0xefc: 0x4000, 0xefd: 0x4000, 0xefe: 0x4000, 0xeff: 0x4000, + // Block 0x3c, offset 0xf00 + 0xf00: 0x4000, 0xf01: 0x4000, 0xf02: 0x4000, 0xf03: 0x4000, 0xf04: 0x4000, 0xf05: 0x4000, + 0xf06: 0x4000, 0xf07: 0x4000, 0xf08: 0x4000, 0xf09: 0x4000, 0xf0a: 0x4000, 0xf0b: 0x4000, + 0xf0c: 0x4000, 0xf0d: 0x4000, 0xf0e: 0x4000, 0xf0f: 0x4000, 0xf10: 0x4000, 0xf11: 0x4000, + 0xf12: 0x4000, 0xf13: 0x4000, 0xf14: 0x4000, 0xf15: 0x4000, 0xf16: 0x4000, 0xf17: 0x4000, + 0xf18: 0x4000, 0xf19: 0x4000, 0xf1a: 0x4000, 0xf1b: 0x4000, 0xf1c: 0x4000, 0xf1d: 0x4000, + 0xf1e: 0x4000, 0xf1f: 0x4000, 0xf20: 0x4000, 0xf21: 0x4000, 0xf22: 0x4000, 0xf23: 0x4000, + 0xf24: 0x4000, 0xf25: 0x4000, 0xf26: 0x4000, 0xf27: 0x4000, 0xf28: 0x4000, 0xf29: 0x4000, + 0xf2a: 0x4000, 0xf2b: 0x4000, 0xf2c: 0x4000, 0xf2d: 0x4000, 0xf2e: 0x4000, 0xf2f: 0x4000, + 0xf30: 0x4000, 0xf31: 0x4000, 0xf32: 0x4000, 0xf33: 0x4000, 0xf34: 0x4000, 0xf35: 0x4000, + 0xf36: 0x4000, 0xf37: 0x4000, 0xf38: 0x4000, 0xf39: 0x4000, 0xf3a: 0x4000, 0xf3b: 0x4000, + 0xf3c: 0x4000, 0xf3d: 0x4000, 0xf3e: 0x4000, + // Block 0x3d, offset 0xf40 + 0xf40: 0x4000, 0xf41: 0x4000, 0xf42: 0x4000, 0xf43: 0x4000, 0xf44: 0x4000, 0xf45: 0x4000, + 0xf46: 0x4000, 0xf47: 0x4000, 0xf48: 0x4000, 0xf49: 0x4000, 0xf4a: 0x4000, 0xf4b: 0x4000, + 0xf4c: 0x4000, 0xf50: 0x4000, 0xf51: 0x4000, + 0xf52: 0x4000, 0xf53: 0x4000, 0xf54: 0x4000, 0xf55: 0x4000, 0xf56: 0x4000, 0xf57: 0x4000, + 0xf58: 0x4000, 0xf59: 0x4000, 0xf5a: 0x4000, 0xf5b: 0x4000, 0xf5c: 0x4000, 0xf5d: 0x4000, + 0xf5e: 0x4000, 0xf5f: 0x4000, 0xf60: 0x4000, 0xf61: 0x4000, 0xf62: 0x4000, 0xf63: 0x4000, + 0xf64: 0x4000, 0xf65: 0x4000, 0xf66: 0x4000, 0xf67: 0x4000, 0xf68: 0x4000, 0xf69: 0x4000, + 0xf6a: 0x4000, 0xf6b: 0x4000, 0xf6c: 0x4000, 0xf6d: 0x4000, 0xf6e: 0x4000, 0xf6f: 0x4000, + 0xf70: 0x4000, 0xf71: 0x4000, 0xf72: 0x4000, 0xf73: 0x4000, 0xf74: 0x4000, 0xf75: 0x4000, + 0xf76: 0x4000, 0xf77: 0x4000, 0xf78: 0x4000, 0xf79: 0x4000, 0xf7a: 0x4000, 0xf7b: 0x4000, + 0xf7c: 0x4000, 0xf7d: 0x4000, 0xf7e: 0x4000, 0xf7f: 0x4000, + // Block 0x3e, offset 0xf80 + 0xf80: 0x4000, 0xf81: 0x4000, 0xf82: 0x4000, 0xf83: 0x4000, 0xf84: 0x4000, 0xf85: 0x4000, + 0xf86: 0x4000, + // Block 0x3f, offset 0xfc0 + 0xfe0: 0x4000, 0xfe1: 0x4000, 0xfe2: 0x4000, 0xfe3: 0x4000, + 0xfe4: 0x4000, 0xfe5: 0x4000, 0xfe6: 0x4000, 0xfe7: 0x4000, 0xfe8: 0x4000, 0xfe9: 0x4000, + 0xfea: 0x4000, 0xfeb: 0x4000, 0xfec: 0x4000, 0xfed: 0x4000, 0xfee: 0x4000, 0xfef: 0x4000, + 0xff0: 0x4000, 0xff1: 0x4000, 0xff2: 0x4000, 0xff3: 0x4000, 0xff4: 0x4000, 0xff5: 0x4000, + 0xff6: 0x4000, 0xff7: 0x4000, 0xff8: 0x4000, 0xff9: 0x4000, 0xffa: 0x4000, 0xffb: 0x4000, + 0xffc: 0x4000, + // Block 0x40, offset 0x1000 + 0x1000: 0x4000, 0x1001: 0x4000, 0x1002: 0x4000, 0x1003: 0x4000, 0x1004: 0x4000, 0x1005: 0x4000, + 0x1006: 0x4000, 0x1007: 0x4000, 0x1008: 0x4000, 0x1009: 0x4000, 0x100a: 0x4000, 0x100b: 0x4000, + 0x100c: 0x4000, 0x100d: 0x4000, 0x100e: 0x4000, 0x100f: 0x4000, 0x1010: 0x4000, 0x1011: 0x4000, + 0x1012: 0x4000, 0x1013: 0x4000, 0x1014: 0x4000, 0x1015: 0x4000, 0x1016: 0x4000, 0x1017: 0x4000, + 0x1018: 0x4000, 0x1019: 0x4000, 0x101a: 0x4000, 0x101b: 0x4000, 0x101c: 0x4000, 0x101d: 0x4000, + 0x101e: 0x4000, 0x101f: 0x4000, 0x1020: 0x4000, 0x1021: 0x4000, 0x1022: 0x4000, 0x1023: 0x4000, + // Block 0x41, offset 0x1040 + 0x1040: 0x2000, 0x1041: 0x2000, 0x1042: 0x2000, 0x1043: 0x2000, 0x1044: 0x2000, 0x1045: 0x2000, + 0x1046: 0x2000, 0x1047: 0x2000, 0x1048: 0x2000, 0x1049: 0x2000, 0x104a: 0x2000, 0x104b: 0x2000, + 0x104c: 0x2000, 0x104d: 0x2000, 0x104e: 0x2000, 0x104f: 0x2000, 0x1050: 0x4000, 0x1051: 0x4000, + 0x1052: 0x4000, 0x1053: 0x4000, 0x1054: 0x4000, 0x1055: 0x4000, 0x1056: 0x4000, 0x1057: 0x4000, + 0x1058: 0x4000, 0x1059: 0x4000, + 0x1070: 0x4000, 0x1071: 0x4000, 0x1072: 0x4000, 0x1073: 0x4000, 0x1074: 0x4000, 0x1075: 0x4000, + 0x1076: 0x4000, 0x1077: 0x4000, 0x1078: 0x4000, 0x1079: 0x4000, 0x107a: 0x4000, 0x107b: 0x4000, + 0x107c: 0x4000, 0x107d: 0x4000, 0x107e: 0x4000, 0x107f: 0x4000, + // Block 0x42, offset 0x1080 + 0x1080: 0x4000, 0x1081: 0x4000, 0x1082: 0x4000, 0x1083: 0x4000, 0x1084: 0x4000, 0x1085: 0x4000, + 0x1086: 0x4000, 0x1087: 0x4000, 0x1088: 0x4000, 0x1089: 0x4000, 0x108a: 0x4000, 0x108b: 0x4000, + 0x108c: 0x4000, 0x108d: 0x4000, 0x108e: 0x4000, 0x108f: 0x4000, 0x1090: 0x4000, 0x1091: 0x4000, + 0x1092: 0x4000, 0x1094: 0x4000, 0x1095: 0x4000, 0x1096: 0x4000, 0x1097: 0x4000, + 0x1098: 0x4000, 0x1099: 0x4000, 0x109a: 0x4000, 0x109b: 0x4000, 0x109c: 0x4000, 0x109d: 0x4000, + 0x109e: 0x4000, 0x109f: 0x4000, 0x10a0: 0x4000, 0x10a1: 0x4000, 0x10a2: 0x4000, 0x10a3: 0x4000, + 0x10a4: 0x4000, 0x10a5: 0x4000, 0x10a6: 0x4000, 0x10a8: 0x4000, 0x10a9: 0x4000, + 0x10aa: 0x4000, 0x10ab: 0x4000, + // Block 0x43, offset 0x10c0 + 0x10c1: 0x9012, 0x10c2: 0x9012, 0x10c3: 0x9012, 0x10c4: 0x9012, 0x10c5: 0x9012, + 0x10c6: 0x9012, 0x10c7: 0x9012, 0x10c8: 0x9012, 0x10c9: 0x9012, 0x10ca: 0x9012, 0x10cb: 0x9012, + 0x10cc: 0x9012, 0x10cd: 0x9012, 0x10ce: 0x9012, 0x10cf: 0x9012, 0x10d0: 0x9012, 0x10d1: 0x9012, + 0x10d2: 0x9012, 0x10d3: 0x9012, 0x10d4: 0x9012, 0x10d5: 0x9012, 0x10d6: 0x9012, 0x10d7: 0x9012, + 0x10d8: 0x9012, 0x10d9: 0x9012, 0x10da: 0x9012, 0x10db: 0x9012, 0x10dc: 0x9012, 0x10dd: 0x9012, + 0x10de: 0x9012, 0x10df: 0x9012, 0x10e0: 0x9049, 0x10e1: 0x9049, 0x10e2: 0x9049, 0x10e3: 0x9049, + 0x10e4: 0x9049, 0x10e5: 0x9049, 0x10e6: 0x9049, 0x10e7: 0x9049, 0x10e8: 0x9049, 0x10e9: 0x9049, + 0x10ea: 0x9049, 0x10eb: 0x9049, 0x10ec: 0x9049, 0x10ed: 0x9049, 0x10ee: 0x9049, 0x10ef: 0x9049, + 0x10f0: 0x9049, 0x10f1: 0x9049, 0x10f2: 0x9049, 0x10f3: 0x9049, 0x10f4: 0x9049, 0x10f5: 0x9049, + 0x10f6: 0x9049, 0x10f7: 0x9049, 0x10f8: 0x9049, 0x10f9: 0x9049, 0x10fa: 0x9049, 0x10fb: 0x9049, + 0x10fc: 0x9049, 0x10fd: 0x9049, 0x10fe: 0x9049, 0x10ff: 0x9049, + // Block 0x44, offset 0x1100 + 0x1100: 0x9049, 0x1101: 0x9049, 0x1102: 0x9049, 0x1103: 0x9049, 0x1104: 0x9049, 0x1105: 0x9049, + 0x1106: 0x9049, 0x1107: 0x9049, 0x1108: 0x9049, 0x1109: 0x9049, 0x110a: 0x9049, 0x110b: 0x9049, + 0x110c: 0x9049, 0x110d: 0x9049, 0x110e: 0x9049, 0x110f: 0x9049, 0x1110: 0x9049, 0x1111: 0x9049, + 0x1112: 0x9049, 0x1113: 0x9049, 0x1114: 0x9049, 0x1115: 0x9049, 0x1116: 0x9049, 0x1117: 0x9049, + 0x1118: 0x9049, 0x1119: 0x9049, 0x111a: 0x9049, 0x111b: 0x9049, 0x111c: 0x9049, 0x111d: 0x9049, + 0x111e: 0x9049, 0x111f: 0x904a, 0x1120: 0x904b, 0x1121: 0xb04c, 0x1122: 0xb04d, 0x1123: 0xb04d, + 0x1124: 0xb04e, 0x1125: 0xb04f, 0x1126: 0xb050, 0x1127: 0xb051, 0x1128: 0xb052, 0x1129: 0xb053, + 0x112a: 0xb054, 0x112b: 0xb055, 0x112c: 0xb056, 0x112d: 0xb057, 0x112e: 0xb058, 0x112f: 0xb059, + 0x1130: 0xb05a, 0x1131: 0xb05b, 0x1132: 0xb05c, 0x1133: 0xb05d, 0x1134: 0xb05e, 0x1135: 0xb05f, + 0x1136: 0xb060, 0x1137: 0xb061, 0x1138: 0xb062, 0x1139: 0xb063, 0x113a: 0xb064, 0x113b: 0xb065, + 0x113c: 0xb052, 0x113d: 0xb066, 0x113e: 0xb067, 0x113f: 0xb055, + // Block 0x45, offset 0x1140 + 0x1140: 0xb068, 0x1141: 0xb069, 0x1142: 0xb06a, 0x1143: 0xb06b, 0x1144: 0xb05a, 0x1145: 0xb056, + 0x1146: 0xb06c, 0x1147: 0xb06d, 0x1148: 0xb06b, 0x1149: 0xb06e, 0x114a: 0xb06b, 0x114b: 0xb06f, + 0x114c: 0xb06f, 0x114d: 0xb070, 0x114e: 0xb070, 0x114f: 0xb071, 0x1150: 0xb056, 0x1151: 0xb072, + 0x1152: 0xb073, 0x1153: 0xb072, 0x1154: 0xb074, 0x1155: 0xb073, 0x1156: 0xb075, 0x1157: 0xb075, + 0x1158: 0xb076, 0x1159: 0xb076, 0x115a: 0xb077, 0x115b: 0xb077, 0x115c: 0xb073, 0x115d: 0xb078, + 0x115e: 0xb079, 0x115f: 0xb067, 0x1160: 0xb07a, 0x1161: 0xb07b, 0x1162: 0xb07b, 0x1163: 0xb07b, + 0x1164: 0xb07b, 0x1165: 0xb07b, 0x1166: 0xb07b, 0x1167: 0xb07b, 0x1168: 0xb07b, 0x1169: 0xb07b, + 0x116a: 0xb07b, 0x116b: 0xb07b, 0x116c: 0xb07b, 0x116d: 0xb07b, 0x116e: 0xb07b, 0x116f: 0xb07b, + 0x1170: 0xb07c, 0x1171: 0xb07c, 0x1172: 0xb07c, 0x1173: 0xb07c, 0x1174: 0xb07c, 0x1175: 0xb07c, + 0x1176: 0xb07c, 0x1177: 0xb07c, 0x1178: 0xb07c, 0x1179: 0xb07c, 0x117a: 0xb07c, 0x117b: 0xb07c, + 0x117c: 0xb07c, 0x117d: 0xb07c, 0x117e: 0xb07c, + // Block 0x46, offset 0x1180 + 0x1182: 0xb07d, 0x1183: 0xb07e, 0x1184: 0xb07f, 0x1185: 0xb080, + 0x1186: 0xb07f, 0x1187: 0xb07e, 0x118a: 0xb081, 0x118b: 0xb082, + 0x118c: 0xb083, 0x118d: 0xb07f, 0x118e: 0xb080, 0x118f: 0xb07f, + 0x1192: 0xb084, 0x1193: 0xb085, 0x1194: 0xb084, 0x1195: 0xb086, 0x1196: 0xb084, 0x1197: 0xb087, + 0x119a: 0xb088, 0x119b: 0xb089, 0x119c: 0xb08a, + 0x11a0: 0x908b, 0x11a1: 0x908b, 0x11a2: 0x908c, 0x11a3: 0x908d, + 0x11a4: 0x908b, 0x11a5: 0x908e, 0x11a6: 0x908f, 0x11a8: 0xb090, 0x11a9: 0xb091, + 0x11aa: 0xb092, 0x11ab: 0xb091, 0x11ac: 0xb093, 0x11ad: 0xb094, 0x11ae: 0xb095, + 0x11bd: 0x2000, + // Block 0x47, offset 0x11c0 + 0x11e0: 0x4000, 0x11e1: 0x4000, + // Block 0x48, offset 0x1200 + 0x1200: 0x4000, 0x1201: 0x4000, 0x1202: 0x4000, 0x1203: 0x4000, 0x1204: 0x4000, 0x1205: 0x4000, + 0x1206: 0x4000, 0x1207: 0x4000, 0x1208: 0x4000, 0x1209: 0x4000, 0x120a: 0x4000, 0x120b: 0x4000, + 0x120c: 0x4000, 0x120d: 0x4000, 0x120e: 0x4000, 0x120f: 0x4000, 0x1210: 0x4000, 0x1211: 0x4000, + 0x1212: 0x4000, 0x1213: 0x4000, 0x1214: 0x4000, 0x1215: 0x4000, 0x1216: 0x4000, 0x1217: 0x4000, + 0x1218: 0x4000, 0x1219: 0x4000, 0x121a: 0x4000, 0x121b: 0x4000, 0x121c: 0x4000, 0x121d: 0x4000, + 0x121e: 0x4000, 0x121f: 0x4000, 0x1220: 0x4000, 0x1221: 0x4000, 0x1222: 0x4000, 0x1223: 0x4000, + 0x1224: 0x4000, 0x1225: 0x4000, 0x1226: 0x4000, 0x1227: 0x4000, 0x1228: 0x4000, 0x1229: 0x4000, + 0x122a: 0x4000, 0x122b: 0x4000, 0x122c: 0x4000, + // Block 0x49, offset 0x1240 + 0x1240: 0x4000, 0x1241: 0x4000, 0x1242: 0x4000, 0x1243: 0x4000, 0x1244: 0x4000, 0x1245: 0x4000, + 0x1246: 0x4000, 0x1247: 0x4000, 0x1248: 0x4000, 0x1249: 0x4000, 0x124a: 0x4000, 0x124b: 0x4000, + 0x124c: 0x4000, 0x124d: 0x4000, 0x124e: 0x4000, 0x124f: 0x4000, 0x1250: 0x4000, 0x1251: 0x4000, + 0x1252: 0x4000, 0x1253: 0x4000, 0x1254: 0x4000, 0x1255: 0x4000, 0x1256: 0x4000, 0x1257: 0x4000, + 0x1258: 0x4000, 0x1259: 0x4000, 0x125a: 0x4000, 0x125b: 0x4000, 0x125c: 0x4000, 0x125d: 0x4000, + 0x125e: 0x4000, 0x125f: 0x4000, 0x1260: 0x4000, 0x1261: 0x4000, 0x1262: 0x4000, 0x1263: 0x4000, + 0x1264: 0x4000, 0x1265: 0x4000, 0x1266: 0x4000, 0x1267: 0x4000, 0x1268: 0x4000, 0x1269: 0x4000, + 0x126a: 0x4000, 0x126b: 0x4000, 0x126c: 0x4000, 0x126d: 0x4000, 0x126e: 0x4000, 0x126f: 0x4000, + 0x1270: 0x4000, 0x1271: 0x4000, 0x1272: 0x4000, + // Block 0x4a, offset 0x1280 + 0x1280: 0x4000, 0x1281: 0x4000, 0x1282: 0x4000, 0x1283: 0x4000, 0x1284: 0x4000, 0x1285: 0x4000, + 0x1286: 0x4000, 0x1287: 0x4000, 0x1288: 0x4000, 0x1289: 0x4000, 0x128a: 0x4000, 0x128b: 0x4000, + 0x128c: 0x4000, 0x128d: 0x4000, 0x128e: 0x4000, 0x128f: 0x4000, 0x1290: 0x4000, 0x1291: 0x4000, + 0x1292: 0x4000, 0x1293: 0x4000, 0x1294: 0x4000, 0x1295: 0x4000, 0x1296: 0x4000, 0x1297: 0x4000, + 0x1298: 0x4000, 0x1299: 0x4000, 0x129a: 0x4000, 0x129b: 0x4000, 0x129c: 0x4000, 0x129d: 0x4000, + 0x129e: 0x4000, + // Block 0x4b, offset 0x12c0 + 0x12f0: 0x4000, 0x12f1: 0x4000, 0x12f2: 0x4000, 0x12f3: 0x4000, 0x12f4: 0x4000, 0x12f5: 0x4000, + 0x12f6: 0x4000, 0x12f7: 0x4000, 0x12f8: 0x4000, 0x12f9: 0x4000, 0x12fa: 0x4000, 0x12fb: 0x4000, + 0x12fc: 0x4000, 0x12fd: 0x4000, 0x12fe: 0x4000, 0x12ff: 0x4000, + // Block 0x4c, offset 0x1300 + 0x1300: 0x4000, 0x1301: 0x4000, 0x1302: 0x4000, 0x1303: 0x4000, 0x1304: 0x4000, 0x1305: 0x4000, + 0x1306: 0x4000, 0x1307: 0x4000, 0x1308: 0x4000, 0x1309: 0x4000, 0x130a: 0x4000, 0x130b: 0x4000, + 0x130c: 0x4000, 0x130d: 0x4000, 0x130e: 0x4000, 0x130f: 0x4000, 0x1310: 0x4000, 0x1311: 0x4000, + 0x1312: 0x4000, 0x1313: 0x4000, 0x1314: 0x4000, 0x1315: 0x4000, 0x1316: 0x4000, 0x1317: 0x4000, + 0x1318: 0x4000, 0x1319: 0x4000, 0x131a: 0x4000, 0x131b: 0x4000, 0x131c: 0x4000, 0x131d: 0x4000, + 0x131e: 0x4000, 0x131f: 0x4000, 0x1320: 0x4000, 0x1321: 0x4000, 0x1322: 0x4000, 0x1323: 0x4000, + 0x1324: 0x4000, 0x1325: 0x4000, 0x1326: 0x4000, 0x1327: 0x4000, 0x1328: 0x4000, 0x1329: 0x4000, + 0x132a: 0x4000, 0x132b: 0x4000, 0x132c: 0x4000, 0x132d: 0x4000, 0x132e: 0x4000, 0x132f: 0x4000, + 0x1330: 0x4000, 0x1331: 0x4000, 0x1332: 0x4000, 0x1333: 0x4000, 0x1334: 0x4000, 0x1335: 0x4000, + 0x1336: 0x4000, 0x1337: 0x4000, 0x1338: 0x4000, 0x1339: 0x4000, 0x133a: 0x4000, 0x133b: 0x4000, + // Block 0x4d, offset 0x1340 + 0x1344: 0x4000, + // Block 0x4e, offset 0x1380 + 0x138f: 0x4000, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x2000, 0x13c1: 0x2000, 0x13c2: 0x2000, 0x13c3: 0x2000, 0x13c4: 0x2000, 0x13c5: 0x2000, + 0x13c6: 0x2000, 0x13c7: 0x2000, 0x13c8: 0x2000, 0x13c9: 0x2000, 0x13ca: 0x2000, + 0x13d0: 0x2000, 0x13d1: 0x2000, + 0x13d2: 0x2000, 0x13d3: 0x2000, 0x13d4: 0x2000, 0x13d5: 0x2000, 0x13d6: 0x2000, 0x13d7: 0x2000, + 0x13d8: 0x2000, 0x13d9: 0x2000, 0x13da: 0x2000, 0x13db: 0x2000, 0x13dc: 0x2000, 0x13dd: 0x2000, + 0x13de: 0x2000, 0x13df: 0x2000, 0x13e0: 0x2000, 0x13e1: 0x2000, 0x13e2: 0x2000, 0x13e3: 0x2000, + 0x13e4: 0x2000, 0x13e5: 0x2000, 0x13e6: 0x2000, 0x13e7: 0x2000, 0x13e8: 0x2000, 0x13e9: 0x2000, + 0x13ea: 0x2000, 0x13eb: 0x2000, 0x13ec: 0x2000, 0x13ed: 0x2000, + 0x13f0: 0x2000, 0x13f1: 0x2000, 0x13f2: 0x2000, 0x13f3: 0x2000, 0x13f4: 0x2000, 0x13f5: 0x2000, + 0x13f6: 0x2000, 0x13f7: 0x2000, 0x13f8: 0x2000, 0x13f9: 0x2000, 0x13fa: 0x2000, 0x13fb: 0x2000, + 0x13fc: 0x2000, 0x13fd: 0x2000, 0x13fe: 0x2000, 0x13ff: 0x2000, + // Block 0x50, offset 0x1400 + 0x1400: 0x2000, 0x1401: 0x2000, 0x1402: 0x2000, 0x1403: 0x2000, 0x1404: 0x2000, 0x1405: 0x2000, + 0x1406: 0x2000, 0x1407: 0x2000, 0x1408: 0x2000, 0x1409: 0x2000, 0x140a: 0x2000, 0x140b: 0x2000, + 0x140c: 0x2000, 0x140d: 0x2000, 0x140e: 0x2000, 0x140f: 0x2000, 0x1410: 0x2000, 0x1411: 0x2000, + 0x1412: 0x2000, 0x1413: 0x2000, 0x1414: 0x2000, 0x1415: 0x2000, 0x1416: 0x2000, 0x1417: 0x2000, + 0x1418: 0x2000, 0x1419: 0x2000, 0x141a: 0x2000, 0x141b: 0x2000, 0x141c: 0x2000, 0x141d: 0x2000, + 0x141e: 0x2000, 0x141f: 0x2000, 0x1420: 0x2000, 0x1421: 0x2000, 0x1422: 0x2000, 0x1423: 0x2000, + 0x1424: 0x2000, 0x1425: 0x2000, 0x1426: 0x2000, 0x1427: 0x2000, 0x1428: 0x2000, 0x1429: 0x2000, + 0x1430: 0x2000, 0x1431: 0x2000, 0x1432: 0x2000, 0x1433: 0x2000, 0x1434: 0x2000, 0x1435: 0x2000, + 0x1436: 0x2000, 0x1437: 0x2000, 0x1438: 0x2000, 0x1439: 0x2000, 0x143a: 0x2000, 0x143b: 0x2000, + 0x143c: 0x2000, 0x143d: 0x2000, 0x143e: 0x2000, 0x143f: 0x2000, + // Block 0x51, offset 0x1440 + 0x1440: 0x2000, 0x1441: 0x2000, 0x1442: 0x2000, 0x1443: 0x2000, 0x1444: 0x2000, 0x1445: 0x2000, + 0x1446: 0x2000, 0x1447: 0x2000, 0x1448: 0x2000, 0x1449: 0x2000, 0x144a: 0x2000, 0x144b: 0x2000, + 0x144c: 0x2000, 0x144d: 0x2000, 0x144e: 0x4000, 0x144f: 0x2000, 0x1450: 0x2000, 0x1451: 0x4000, + 0x1452: 0x4000, 0x1453: 0x4000, 0x1454: 0x4000, 0x1455: 0x4000, 0x1456: 0x4000, 0x1457: 0x4000, + 0x1458: 0x4000, 0x1459: 0x4000, 0x145a: 0x4000, 0x145b: 0x2000, 0x145c: 0x2000, 0x145d: 0x2000, + 0x145e: 0x2000, 0x145f: 0x2000, 0x1460: 0x2000, 0x1461: 0x2000, 0x1462: 0x2000, 0x1463: 0x2000, + 0x1464: 0x2000, 0x1465: 0x2000, 0x1466: 0x2000, 0x1467: 0x2000, 0x1468: 0x2000, 0x1469: 0x2000, + 0x146a: 0x2000, 0x146b: 0x2000, 0x146c: 0x2000, + // Block 0x52, offset 0x1480 + 0x1480: 0x4000, 0x1481: 0x4000, 0x1482: 0x4000, + 0x1490: 0x4000, 0x1491: 0x4000, + 0x1492: 0x4000, 0x1493: 0x4000, 0x1494: 0x4000, 0x1495: 0x4000, 0x1496: 0x4000, 0x1497: 0x4000, + 0x1498: 0x4000, 0x1499: 0x4000, 0x149a: 0x4000, 0x149b: 0x4000, 0x149c: 0x4000, 0x149d: 0x4000, + 0x149e: 0x4000, 0x149f: 0x4000, 0x14a0: 0x4000, 0x14a1: 0x4000, 0x14a2: 0x4000, 0x14a3: 0x4000, + 0x14a4: 0x4000, 0x14a5: 0x4000, 0x14a6: 0x4000, 0x14a7: 0x4000, 0x14a8: 0x4000, 0x14a9: 0x4000, + 0x14aa: 0x4000, 0x14ab: 0x4000, 0x14ac: 0x4000, 0x14ad: 0x4000, 0x14ae: 0x4000, 0x14af: 0x4000, + 0x14b0: 0x4000, 0x14b1: 0x4000, 0x14b2: 0x4000, 0x14b3: 0x4000, 0x14b4: 0x4000, 0x14b5: 0x4000, + 0x14b6: 0x4000, 0x14b7: 0x4000, 0x14b8: 0x4000, 0x14b9: 0x4000, 0x14ba: 0x4000, 0x14bb: 0x4000, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x4000, 0x14c1: 0x4000, 0x14c2: 0x4000, 0x14c3: 0x4000, 0x14c4: 0x4000, 0x14c5: 0x4000, + 0x14c6: 0x4000, 0x14c7: 0x4000, 0x14c8: 0x4000, + 0x14d0: 0x4000, 0x14d1: 0x4000, + 0x14e0: 0x4000, 0x14e1: 0x4000, 0x14e2: 0x4000, 0x14e3: 0x4000, + 0x14e4: 0x4000, 0x14e5: 0x4000, + // Block 0x54, offset 0x1500 + 0x1500: 0x4000, 0x1501: 0x4000, 0x1502: 0x4000, 0x1503: 0x4000, 0x1504: 0x4000, 0x1505: 0x4000, + 0x1506: 0x4000, 0x1507: 0x4000, 0x1508: 0x4000, 0x1509: 0x4000, 0x150a: 0x4000, 0x150b: 0x4000, + 0x150c: 0x4000, 0x150d: 0x4000, 0x150e: 0x4000, 0x150f: 0x4000, 0x1510: 0x4000, 0x1511: 0x4000, + 0x1512: 0x4000, 0x1513: 0x4000, 0x1514: 0x4000, 0x1515: 0x4000, 0x1516: 0x4000, 0x1517: 0x4000, + 0x1518: 0x4000, 0x1519: 0x4000, 0x151a: 0x4000, 0x151b: 0x4000, 0x151c: 0x4000, 0x151d: 0x4000, + 0x151e: 0x4000, 0x151f: 0x4000, 0x1520: 0x4000, + 0x152d: 0x4000, 0x152e: 0x4000, 0x152f: 0x4000, + 0x1530: 0x4000, 0x1531: 0x4000, 0x1532: 0x4000, 0x1533: 0x4000, 0x1534: 0x4000, 0x1535: 0x4000, + 0x1537: 0x4000, 0x1538: 0x4000, 0x1539: 0x4000, 0x153a: 0x4000, 0x153b: 0x4000, + 0x153c: 0x4000, 0x153d: 0x4000, 0x153e: 0x4000, 0x153f: 0x4000, + // Block 0x55, offset 0x1540 + 0x1540: 0x4000, 0x1541: 0x4000, 0x1542: 0x4000, 0x1543: 0x4000, 0x1544: 0x4000, 0x1545: 0x4000, + 0x1546: 0x4000, 0x1547: 0x4000, 0x1548: 0x4000, 0x1549: 0x4000, 0x154a: 0x4000, 0x154b: 0x4000, + 0x154c: 0x4000, 0x154d: 0x4000, 0x154e: 0x4000, 0x154f: 0x4000, 0x1550: 0x4000, 0x1551: 0x4000, + 0x1552: 0x4000, 0x1553: 0x4000, 0x1554: 0x4000, 0x1555: 0x4000, 0x1556: 0x4000, 0x1557: 0x4000, + 0x1558: 0x4000, 0x1559: 0x4000, 0x155a: 0x4000, 0x155b: 0x4000, 0x155c: 0x4000, 0x155d: 0x4000, + 0x155e: 0x4000, 0x155f: 0x4000, 0x1560: 0x4000, 0x1561: 0x4000, 0x1562: 0x4000, 0x1563: 0x4000, + 0x1564: 0x4000, 0x1565: 0x4000, 0x1566: 0x4000, 0x1567: 0x4000, 0x1568: 0x4000, 0x1569: 0x4000, + 0x156a: 0x4000, 0x156b: 0x4000, 0x156c: 0x4000, 0x156d: 0x4000, 0x156e: 0x4000, 0x156f: 0x4000, + 0x1570: 0x4000, 0x1571: 0x4000, 0x1572: 0x4000, 0x1573: 0x4000, 0x1574: 0x4000, 0x1575: 0x4000, + 0x1576: 0x4000, 0x1577: 0x4000, 0x1578: 0x4000, 0x1579: 0x4000, 0x157a: 0x4000, 0x157b: 0x4000, + 0x157c: 0x4000, 0x157e: 0x4000, 0x157f: 0x4000, + // Block 0x56, offset 0x1580 + 0x1580: 0x4000, 0x1581: 0x4000, 0x1582: 0x4000, 0x1583: 0x4000, 0x1584: 0x4000, 0x1585: 0x4000, + 0x1586: 0x4000, 0x1587: 0x4000, 0x1588: 0x4000, 0x1589: 0x4000, 0x158a: 0x4000, 0x158b: 0x4000, + 0x158c: 0x4000, 0x158d: 0x4000, 0x158e: 0x4000, 0x158f: 0x4000, 0x1590: 0x4000, 0x1591: 0x4000, + 0x1592: 0x4000, 0x1593: 0x4000, + 0x15a0: 0x4000, 0x15a1: 0x4000, 0x15a2: 0x4000, 0x15a3: 0x4000, + 0x15a4: 0x4000, 0x15a5: 0x4000, 0x15a6: 0x4000, 0x15a7: 0x4000, 0x15a8: 0x4000, 0x15a9: 0x4000, + 0x15aa: 0x4000, 0x15ab: 0x4000, 0x15ac: 0x4000, 0x15ad: 0x4000, 0x15ae: 0x4000, 0x15af: 0x4000, + 0x15b0: 0x4000, 0x15b1: 0x4000, 0x15b2: 0x4000, 0x15b3: 0x4000, 0x15b4: 0x4000, 0x15b5: 0x4000, + 0x15b6: 0x4000, 0x15b7: 0x4000, 0x15b8: 0x4000, 0x15b9: 0x4000, 0x15ba: 0x4000, 0x15bb: 0x4000, + 0x15bc: 0x4000, 0x15bd: 0x4000, 0x15be: 0x4000, 0x15bf: 0x4000, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x4000, 0x15c1: 0x4000, 0x15c2: 0x4000, 0x15c3: 0x4000, 0x15c4: 0x4000, 0x15c5: 0x4000, + 0x15c6: 0x4000, 0x15c7: 0x4000, 0x15c8: 0x4000, 0x15c9: 0x4000, 0x15ca: 0x4000, + 0x15cf: 0x4000, 0x15d0: 0x4000, 0x15d1: 0x4000, + 0x15d2: 0x4000, 0x15d3: 0x4000, + 0x15e0: 0x4000, 0x15e1: 0x4000, 0x15e2: 0x4000, 0x15e3: 0x4000, + 0x15e4: 0x4000, 0x15e5: 0x4000, 0x15e6: 0x4000, 0x15e7: 0x4000, 0x15e8: 0x4000, 0x15e9: 0x4000, + 0x15ea: 0x4000, 0x15eb: 0x4000, 0x15ec: 0x4000, 0x15ed: 0x4000, 0x15ee: 0x4000, 0x15ef: 0x4000, + 0x15f0: 0x4000, 0x15f4: 0x4000, + 0x15f8: 0x4000, 0x15f9: 0x4000, 0x15fa: 0x4000, 0x15fb: 0x4000, + 0x15fc: 0x4000, 0x15fd: 0x4000, 0x15fe: 0x4000, 0x15ff: 0x4000, + // Block 0x58, offset 0x1600 + 0x1600: 0x4000, 0x1602: 0x4000, 0x1603: 0x4000, 0x1604: 0x4000, 0x1605: 0x4000, + 0x1606: 0x4000, 0x1607: 0x4000, 0x1608: 0x4000, 0x1609: 0x4000, 0x160a: 0x4000, 0x160b: 0x4000, + 0x160c: 0x4000, 0x160d: 0x4000, 0x160e: 0x4000, 0x160f: 0x4000, 0x1610: 0x4000, 0x1611: 0x4000, + 0x1612: 0x4000, 0x1613: 0x4000, 0x1614: 0x4000, 0x1615: 0x4000, 0x1616: 0x4000, 0x1617: 0x4000, + 0x1618: 0x4000, 0x1619: 0x4000, 0x161a: 0x4000, 0x161b: 0x4000, 0x161c: 0x4000, 0x161d: 0x4000, + 0x161e: 0x4000, 0x161f: 0x4000, 0x1620: 0x4000, 0x1621: 0x4000, 0x1622: 0x4000, 0x1623: 0x4000, + 0x1624: 0x4000, 0x1625: 0x4000, 0x1626: 0x4000, 0x1627: 0x4000, 0x1628: 0x4000, 0x1629: 0x4000, + 0x162a: 0x4000, 0x162b: 0x4000, 0x162c: 0x4000, 0x162d: 0x4000, 0x162e: 0x4000, 0x162f: 0x4000, + 0x1630: 0x4000, 0x1631: 0x4000, 0x1632: 0x4000, 0x1633: 0x4000, 0x1634: 0x4000, 0x1635: 0x4000, + 0x1636: 0x4000, 0x1637: 0x4000, 0x1638: 0x4000, 0x1639: 0x4000, 0x163a: 0x4000, 0x163b: 0x4000, + 0x163c: 0x4000, 0x163d: 0x4000, 0x163e: 0x4000, 0x163f: 0x4000, + // Block 0x59, offset 0x1640 + 0x1640: 0x4000, 0x1641: 0x4000, 0x1642: 0x4000, 0x1643: 0x4000, 0x1644: 0x4000, 0x1645: 0x4000, + 0x1646: 0x4000, 0x1647: 0x4000, 0x1648: 0x4000, 0x1649: 0x4000, 0x164a: 0x4000, 0x164b: 0x4000, + 0x164c: 0x4000, 0x164d: 0x4000, 0x164e: 0x4000, 0x164f: 0x4000, 0x1650: 0x4000, 0x1651: 0x4000, + 0x1652: 0x4000, 0x1653: 0x4000, 0x1654: 0x4000, 0x1655: 0x4000, 0x1656: 0x4000, 0x1657: 0x4000, + 0x1658: 0x4000, 0x1659: 0x4000, 0x165a: 0x4000, 0x165b: 0x4000, 0x165c: 0x4000, 0x165d: 0x4000, + 0x165e: 0x4000, 0x165f: 0x4000, 0x1660: 0x4000, 0x1661: 0x4000, 0x1662: 0x4000, 0x1663: 0x4000, + 0x1664: 0x4000, 0x1665: 0x4000, 0x1666: 0x4000, 0x1667: 0x4000, 0x1668: 0x4000, 0x1669: 0x4000, + 0x166a: 0x4000, 0x166b: 0x4000, 0x166c: 0x4000, 0x166d: 0x4000, 0x166e: 0x4000, 0x166f: 0x4000, + 0x1670: 0x4000, 0x1671: 0x4000, 0x1672: 0x4000, 0x1673: 0x4000, 0x1674: 0x4000, 0x1675: 0x4000, + 0x1676: 0x4000, 0x1677: 0x4000, 0x1678: 0x4000, 0x1679: 0x4000, 0x167a: 0x4000, 0x167b: 0x4000, + 0x167c: 0x4000, 0x167f: 0x4000, + // Block 0x5a, offset 0x1680 + 0x1680: 0x4000, 0x1681: 0x4000, 0x1682: 0x4000, 0x1683: 0x4000, 0x1684: 0x4000, 0x1685: 0x4000, + 0x1686: 0x4000, 0x1687: 0x4000, 0x1688: 0x4000, 0x1689: 0x4000, 0x168a: 0x4000, 0x168b: 0x4000, + 0x168c: 0x4000, 0x168d: 0x4000, 0x168e: 0x4000, 0x168f: 0x4000, 0x1690: 0x4000, 0x1691: 0x4000, + 0x1692: 0x4000, 0x1693: 0x4000, 0x1694: 0x4000, 0x1695: 0x4000, 0x1696: 0x4000, 0x1697: 0x4000, + 0x1698: 0x4000, 0x1699: 0x4000, 0x169a: 0x4000, 0x169b: 0x4000, 0x169c: 0x4000, 0x169d: 0x4000, + 0x169e: 0x4000, 0x169f: 0x4000, 0x16a0: 0x4000, 0x16a1: 0x4000, 0x16a2: 0x4000, 0x16a3: 0x4000, + 0x16a4: 0x4000, 0x16a5: 0x4000, 0x16a6: 0x4000, 0x16a7: 0x4000, 0x16a8: 0x4000, 0x16a9: 0x4000, + 0x16aa: 0x4000, 0x16ab: 0x4000, 0x16ac: 0x4000, 0x16ad: 0x4000, 0x16ae: 0x4000, 0x16af: 0x4000, + 0x16b0: 0x4000, 0x16b1: 0x4000, 0x16b2: 0x4000, 0x16b3: 0x4000, 0x16b4: 0x4000, 0x16b5: 0x4000, + 0x16b6: 0x4000, 0x16b7: 0x4000, 0x16b8: 0x4000, 0x16b9: 0x4000, 0x16ba: 0x4000, 0x16bb: 0x4000, + 0x16bc: 0x4000, 0x16bd: 0x4000, + // Block 0x5b, offset 0x16c0 + 0x16cb: 0x4000, + 0x16cc: 0x4000, 0x16cd: 0x4000, 0x16ce: 0x4000, 0x16d0: 0x4000, 0x16d1: 0x4000, + 0x16d2: 0x4000, 0x16d3: 0x4000, 0x16d4: 0x4000, 0x16d5: 0x4000, 0x16d6: 0x4000, 0x16d7: 0x4000, + 0x16d8: 0x4000, 0x16d9: 0x4000, 0x16da: 0x4000, 0x16db: 0x4000, 0x16dc: 0x4000, 0x16dd: 0x4000, + 0x16de: 0x4000, 0x16df: 0x4000, 0x16e0: 0x4000, 0x16e1: 0x4000, 0x16e2: 0x4000, 0x16e3: 0x4000, + 0x16e4: 0x4000, 0x16e5: 0x4000, 0x16e6: 0x4000, 0x16e7: 0x4000, + 0x16fa: 0x4000, + // Block 0x5c, offset 0x1700 + 0x1715: 0x4000, 0x1716: 0x4000, + 0x1724: 0x4000, + // Block 0x5d, offset 0x1740 + 0x177b: 0x4000, + 0x177c: 0x4000, 0x177d: 0x4000, 0x177e: 0x4000, 0x177f: 0x4000, + // Block 0x5e, offset 0x1780 + 0x1780: 0x4000, 0x1781: 0x4000, 0x1782: 0x4000, 0x1783: 0x4000, 0x1784: 0x4000, 0x1785: 0x4000, + 0x1786: 0x4000, 0x1787: 0x4000, 0x1788: 0x4000, 0x1789: 0x4000, 0x178a: 0x4000, 0x178b: 0x4000, + 0x178c: 0x4000, 0x178d: 0x4000, 0x178e: 0x4000, 0x178f: 0x4000, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x4000, 0x17c1: 0x4000, 0x17c2: 0x4000, 0x17c3: 0x4000, 0x17c4: 0x4000, 0x17c5: 0x4000, + 0x17cc: 0x4000, 0x17d0: 0x4000, 0x17d1: 0x4000, + 0x17d2: 0x4000, + 0x17eb: 0x4000, 0x17ec: 0x4000, + 0x17f4: 0x4000, 0x17f5: 0x4000, + 0x17f6: 0x4000, 0x17f7: 0x4000, 0x17f8: 0x4000, + // Block 0x60, offset 0x1800 + 0x1810: 0x4000, 0x1811: 0x4000, + 0x1812: 0x4000, 0x1813: 0x4000, 0x1814: 0x4000, 0x1815: 0x4000, 0x1816: 0x4000, 0x1817: 0x4000, + 0x1818: 0x4000, 0x1819: 0x4000, 0x181a: 0x4000, 0x181b: 0x4000, 0x181c: 0x4000, 0x181d: 0x4000, + 0x181e: 0x4000, 0x181f: 0x4000, 0x1820: 0x4000, 0x1821: 0x4000, 0x1822: 0x4000, 0x1823: 0x4000, + 0x1824: 0x4000, 0x1825: 0x4000, 0x1826: 0x4000, 0x1827: 0x4000, 0x1828: 0x4000, 0x1829: 0x4000, + 0x182a: 0x4000, 0x182b: 0x4000, 0x182c: 0x4000, 0x182d: 0x4000, 0x182e: 0x4000, 0x182f: 0x4000, + 0x1830: 0x4000, 0x1831: 0x4000, 0x1832: 0x4000, 0x1833: 0x4000, 0x1834: 0x4000, 0x1835: 0x4000, + 0x1836: 0x4000, 0x1837: 0x4000, 0x1838: 0x4000, 0x1839: 0x4000, 0x183a: 0x4000, 0x183b: 0x4000, + 0x183c: 0x4000, 0x183d: 0x4000, 0x183e: 0x4000, + // Block 0x61, offset 0x1840 + 0x1840: 0x4000, 0x1841: 0x4000, 0x1842: 0x4000, 0x1843: 0x4000, 0x1844: 0x4000, 0x1845: 0x4000, + 0x1846: 0x4000, 0x1847: 0x4000, 0x1848: 0x4000, 0x1849: 0x4000, 0x184a: 0x4000, 0x184b: 0x4000, + 0x184c: 0x4000, 0x1850: 0x4000, 0x1851: 0x4000, + 0x1852: 0x4000, 0x1853: 0x4000, 0x1854: 0x4000, 0x1855: 0x4000, 0x1856: 0x4000, 0x1857: 0x4000, + 0x1858: 0x4000, 0x1859: 0x4000, 0x185a: 0x4000, 0x185b: 0x4000, 0x185c: 0x4000, 0x185d: 0x4000, + 0x185e: 0x4000, 0x185f: 0x4000, 0x1860: 0x4000, 0x1861: 0x4000, 0x1862: 0x4000, 0x1863: 0x4000, + 0x1864: 0x4000, 0x1865: 0x4000, 0x1866: 0x4000, 0x1867: 0x4000, 0x1868: 0x4000, 0x1869: 0x4000, + 0x186a: 0x4000, 0x186b: 0x4000, + // Block 0x62, offset 0x1880 + 0x1880: 0x4000, 0x1881: 0x4000, 0x1882: 0x4000, 0x1883: 0x4000, 0x1884: 0x4000, 0x1885: 0x4000, + 0x1886: 0x4000, 0x1887: 0x4000, 0x1888: 0x4000, 0x1889: 0x4000, 0x188a: 0x4000, 0x188b: 0x4000, + 0x188c: 0x4000, 0x188d: 0x4000, 0x188e: 0x4000, 0x188f: 0x4000, 0x1890: 0x4000, 0x1891: 0x4000, + 0x1892: 0x4000, 0x1893: 0x4000, 0x1894: 0x4000, 0x1895: 0x4000, 0x1896: 0x4000, 0x1897: 0x4000, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x4000, + 0x18d0: 0x4000, 0x18d1: 0x4000, + 0x18d2: 0x4000, 0x18d3: 0x4000, 0x18d4: 0x4000, 0x18d5: 0x4000, 0x18d6: 0x4000, 0x18d7: 0x4000, + 0x18d8: 0x4000, 0x18d9: 0x4000, 0x18da: 0x4000, 0x18db: 0x4000, 0x18dc: 0x4000, 0x18dd: 0x4000, + 0x18de: 0x4000, 0x18df: 0x4000, 0x18e0: 0x4000, 0x18e1: 0x4000, 0x18e2: 0x4000, 0x18e3: 0x4000, + 0x18e4: 0x4000, 0x18e5: 0x4000, 0x18e6: 0x4000, + // Block 0x64, offset 0x1900 + 0x1900: 0x2000, 0x1901: 0x2000, 0x1902: 0x2000, 0x1903: 0x2000, 0x1904: 0x2000, 0x1905: 0x2000, + 0x1906: 0x2000, 0x1907: 0x2000, 0x1908: 0x2000, 0x1909: 0x2000, 0x190a: 0x2000, 0x190b: 0x2000, + 0x190c: 0x2000, 0x190d: 0x2000, 0x190e: 0x2000, 0x190f: 0x2000, 0x1910: 0x2000, 0x1911: 0x2000, + 0x1912: 0x2000, 0x1913: 0x2000, 0x1914: 0x2000, 0x1915: 0x2000, 0x1916: 0x2000, 0x1917: 0x2000, + 0x1918: 0x2000, 0x1919: 0x2000, 0x191a: 0x2000, 0x191b: 0x2000, 0x191c: 0x2000, 0x191d: 0x2000, + 0x191e: 0x2000, 0x191f: 0x2000, 0x1920: 0x2000, 0x1921: 0x2000, 0x1922: 0x2000, 0x1923: 0x2000, + 0x1924: 0x2000, 0x1925: 0x2000, 0x1926: 0x2000, 0x1927: 0x2000, 0x1928: 0x2000, 0x1929: 0x2000, + 0x192a: 0x2000, 0x192b: 0x2000, 0x192c: 0x2000, 0x192d: 0x2000, 0x192e: 0x2000, 0x192f: 0x2000, + 0x1930: 0x2000, 0x1931: 0x2000, 0x1932: 0x2000, 0x1933: 0x2000, 0x1934: 0x2000, 0x1935: 0x2000, + 0x1936: 0x2000, 0x1937: 0x2000, 0x1938: 0x2000, 0x1939: 0x2000, 0x193a: 0x2000, 0x193b: 0x2000, + 0x193c: 0x2000, 0x193d: 0x2000, +} + +// widthIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var widthIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x02, 0xc4: 0x03, 0xc5: 0x04, 0xc7: 0x05, + 0xc9: 0x06, 0xcb: 0x07, 0xcc: 0x08, 0xcd: 0x09, 0xce: 0x0a, 0xcf: 0x0b, + 0xd0: 0x0c, 0xd1: 0x0d, + 0xe1: 0x02, 0xe2: 0x03, 0xe3: 0x04, 0xe4: 0x05, 0xe5: 0x06, 0xe6: 0x06, 0xe7: 0x06, + 0xe8: 0x06, 0xe9: 0x06, 0xea: 0x07, 0xeb: 0x06, 0xec: 0x06, 0xed: 0x08, 0xee: 0x09, 0xef: 0x0a, + 0xf0: 0x0f, 0xf3: 0x12, 0xf4: 0x13, + // Block 0x4, offset 0x100 + 0x104: 0x0e, 0x105: 0x0f, + // Block 0x5, offset 0x140 + 0x140: 0x10, 0x141: 0x11, 0x142: 0x12, 0x144: 0x13, 0x145: 0x14, 0x146: 0x15, 0x147: 0x16, + 0x148: 0x17, 0x149: 0x18, 0x14a: 0x19, 0x14c: 0x1a, 0x14f: 0x1b, + 0x151: 0x1c, 0x152: 0x08, 0x153: 0x1d, 0x154: 0x1e, 0x155: 0x1f, 0x156: 0x20, 0x157: 0x21, + 0x158: 0x22, 0x159: 0x23, 0x15a: 0x24, 0x15b: 0x25, 0x15c: 0x26, 0x15d: 0x27, 0x15e: 0x28, 0x15f: 0x29, + 0x166: 0x2a, + 0x16c: 0x2b, 0x16d: 0x2c, + 0x17a: 0x2d, 0x17b: 0x2e, 0x17c: 0x0e, 0x17d: 0x0e, 0x17e: 0x0e, 0x17f: 0x2f, + // Block 0x6, offset 0x180 + 0x180: 0x30, 0x181: 0x31, 0x182: 0x32, 0x183: 0x33, 0x184: 0x34, 0x185: 0x35, 0x186: 0x36, 0x187: 0x37, + 0x188: 0x38, 0x189: 0x39, 0x18a: 0x0e, 0x18b: 0x3a, 0x18c: 0x0e, 0x18d: 0x0e, 0x18e: 0x0e, 0x18f: 0x0e, + 0x190: 0x0e, 0x191: 0x0e, 0x192: 0x0e, 0x193: 0x0e, 0x194: 0x0e, 0x195: 0x0e, 0x196: 0x0e, 0x197: 0x0e, + 0x198: 0x0e, 0x199: 0x0e, 0x19a: 0x0e, 0x19b: 0x0e, 0x19c: 0x0e, 0x19d: 0x0e, 0x19e: 0x0e, 0x19f: 0x0e, + 0x1a0: 0x0e, 0x1a1: 0x0e, 0x1a2: 0x0e, 0x1a3: 0x0e, 0x1a4: 0x0e, 0x1a5: 0x0e, 0x1a6: 0x0e, 0x1a7: 0x0e, + 0x1a8: 0x0e, 0x1a9: 0x0e, 0x1aa: 0x0e, 0x1ab: 0x0e, 0x1ac: 0x0e, 0x1ad: 0x0e, 0x1ae: 0x0e, 0x1af: 0x0e, + 0x1b0: 0x0e, 0x1b1: 0x0e, 0x1b2: 0x0e, 0x1b3: 0x0e, 0x1b4: 0x0e, 0x1b5: 0x0e, 0x1b6: 0x0e, 0x1b7: 0x0e, + 0x1b8: 0x0e, 0x1b9: 0x0e, 0x1ba: 0x0e, 0x1bb: 0x0e, 0x1bc: 0x0e, 0x1bd: 0x0e, 0x1be: 0x0e, 0x1bf: 0x0e, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0e, 0x1c1: 0x0e, 0x1c2: 0x0e, 0x1c3: 0x0e, 0x1c4: 0x0e, 0x1c5: 0x0e, 0x1c6: 0x0e, 0x1c7: 0x0e, + 0x1c8: 0x0e, 0x1c9: 0x0e, 0x1ca: 0x0e, 0x1cb: 0x0e, 0x1cc: 0x0e, 0x1cd: 0x0e, 0x1ce: 0x0e, 0x1cf: 0x0e, + 0x1d0: 0x0e, 0x1d1: 0x0e, 0x1d2: 0x0e, 0x1d3: 0x0e, 0x1d4: 0x0e, 0x1d5: 0x0e, 0x1d6: 0x0e, 0x1d7: 0x0e, + 0x1d8: 0x0e, 0x1d9: 0x0e, 0x1da: 0x0e, 0x1db: 0x0e, 0x1dc: 0x0e, 0x1dd: 0x0e, 0x1de: 0x0e, 0x1df: 0x0e, + 0x1e0: 0x0e, 0x1e1: 0x0e, 0x1e2: 0x0e, 0x1e3: 0x0e, 0x1e4: 0x0e, 0x1e5: 0x0e, 0x1e6: 0x0e, 0x1e7: 0x0e, + 0x1e8: 0x0e, 0x1e9: 0x0e, 0x1ea: 0x0e, 0x1eb: 0x0e, 0x1ec: 0x0e, 0x1ed: 0x0e, 0x1ee: 0x0e, 0x1ef: 0x0e, + 0x1f0: 0x0e, 0x1f1: 0x0e, 0x1f2: 0x0e, 0x1f3: 0x0e, 0x1f4: 0x0e, 0x1f5: 0x0e, 0x1f6: 0x0e, + 0x1f8: 0x0e, 0x1f9: 0x0e, 0x1fa: 0x0e, 0x1fb: 0x0e, 0x1fc: 0x0e, 0x1fd: 0x0e, 0x1fe: 0x0e, 0x1ff: 0x0e, + // Block 0x8, offset 0x200 + 0x200: 0x0e, 0x201: 0x0e, 0x202: 0x0e, 0x203: 0x0e, 0x204: 0x0e, 0x205: 0x0e, 0x206: 0x0e, 0x207: 0x0e, + 0x208: 0x0e, 0x209: 0x0e, 0x20a: 0x0e, 0x20b: 0x0e, 0x20c: 0x0e, 0x20d: 0x0e, 0x20e: 0x0e, 0x20f: 0x0e, + 0x210: 0x0e, 0x211: 0x0e, 0x212: 0x0e, 0x213: 0x0e, 0x214: 0x0e, 0x215: 0x0e, 0x216: 0x0e, 0x217: 0x0e, + 0x218: 0x0e, 0x219: 0x0e, 0x21a: 0x0e, 0x21b: 0x0e, 0x21c: 0x0e, 0x21d: 0x0e, 0x21e: 0x0e, 0x21f: 0x0e, + 0x220: 0x0e, 0x221: 0x0e, 0x222: 0x0e, 0x223: 0x0e, 0x224: 0x0e, 0x225: 0x0e, 0x226: 0x0e, 0x227: 0x0e, + 0x228: 0x0e, 0x229: 0x0e, 0x22a: 0x0e, 0x22b: 0x0e, 0x22c: 0x0e, 0x22d: 0x0e, 0x22e: 0x0e, 0x22f: 0x0e, + 0x230: 0x0e, 0x231: 0x0e, 0x232: 0x0e, 0x233: 0x0e, 0x234: 0x0e, 0x235: 0x0e, 0x236: 0x0e, 0x237: 0x0e, + 0x238: 0x0e, 0x239: 0x0e, 0x23a: 0x0e, 0x23b: 0x0e, 0x23c: 0x0e, 0x23d: 0x0e, 0x23e: 0x0e, 0x23f: 0x0e, + // Block 0x9, offset 0x240 + 0x240: 0x0e, 0x241: 0x0e, 0x242: 0x0e, 0x243: 0x0e, 0x244: 0x0e, 0x245: 0x0e, 0x246: 0x0e, 0x247: 0x0e, + 0x248: 0x0e, 0x249: 0x0e, 0x24a: 0x0e, 0x24b: 0x0e, 0x24c: 0x0e, 0x24d: 0x0e, 0x24e: 0x0e, 0x24f: 0x0e, + 0x250: 0x0e, 0x251: 0x0e, 0x252: 0x3b, 0x253: 0x3c, + 0x265: 0x3d, + 0x270: 0x0e, 0x271: 0x0e, 0x272: 0x0e, 0x273: 0x0e, 0x274: 0x0e, 0x275: 0x0e, 0x276: 0x0e, 0x277: 0x0e, + 0x278: 0x0e, 0x279: 0x0e, 0x27a: 0x0e, 0x27b: 0x0e, 0x27c: 0x0e, 0x27d: 0x0e, 0x27e: 0x0e, 0x27f: 0x0e, + // Block 0xa, offset 0x280 + 0x280: 0x0e, 0x281: 0x0e, 0x282: 0x0e, 0x283: 0x0e, 0x284: 0x0e, 0x285: 0x0e, 0x286: 0x0e, 0x287: 0x0e, + 0x288: 0x0e, 0x289: 0x0e, 0x28a: 0x0e, 0x28b: 0x0e, 0x28c: 0x0e, 0x28d: 0x0e, 0x28e: 0x0e, 0x28f: 0x0e, + 0x290: 0x0e, 0x291: 0x0e, 0x292: 0x0e, 0x293: 0x0e, 0x294: 0x0e, 0x295: 0x0e, 0x296: 0x0e, 0x297: 0x0e, + 0x298: 0x0e, 0x299: 0x0e, 0x29a: 0x0e, 0x29b: 0x0e, 0x29c: 0x0e, 0x29d: 0x0e, 0x29e: 0x3e, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x08, 0x2c1: 0x08, 0x2c2: 0x08, 0x2c3: 0x08, 0x2c4: 0x08, 0x2c5: 0x08, 0x2c6: 0x08, 0x2c7: 0x08, + 0x2c8: 0x08, 0x2c9: 0x08, 0x2ca: 0x08, 0x2cb: 0x08, 0x2cc: 0x08, 0x2cd: 0x08, 0x2ce: 0x08, 0x2cf: 0x08, + 0x2d0: 0x08, 0x2d1: 0x08, 0x2d2: 0x08, 0x2d3: 0x08, 0x2d4: 0x08, 0x2d5: 0x08, 0x2d6: 0x08, 0x2d7: 0x08, + 0x2d8: 0x08, 0x2d9: 0x08, 0x2da: 0x08, 0x2db: 0x08, 0x2dc: 0x08, 0x2dd: 0x08, 0x2de: 0x08, 0x2df: 0x08, + 0x2e0: 0x08, 0x2e1: 0x08, 0x2e2: 0x08, 0x2e3: 0x08, 0x2e4: 0x08, 0x2e5: 0x08, 0x2e6: 0x08, 0x2e7: 0x08, + 0x2e8: 0x08, 0x2e9: 0x08, 0x2ea: 0x08, 0x2eb: 0x08, 0x2ec: 0x08, 0x2ed: 0x08, 0x2ee: 0x08, 0x2ef: 0x08, + 0x2f0: 0x08, 0x2f1: 0x08, 0x2f2: 0x08, 0x2f3: 0x08, 0x2f4: 0x08, 0x2f5: 0x08, 0x2f6: 0x08, 0x2f7: 0x08, + 0x2f8: 0x08, 0x2f9: 0x08, 0x2fa: 0x08, 0x2fb: 0x08, 0x2fc: 0x08, 0x2fd: 0x08, 0x2fe: 0x08, 0x2ff: 0x08, + // Block 0xc, offset 0x300 + 0x300: 0x08, 0x301: 0x08, 0x302: 0x08, 0x303: 0x08, 0x304: 0x08, 0x305: 0x08, 0x306: 0x08, 0x307: 0x08, + 0x308: 0x08, 0x309: 0x08, 0x30a: 0x08, 0x30b: 0x08, 0x30c: 0x08, 0x30d: 0x08, 0x30e: 0x08, 0x30f: 0x08, + 0x310: 0x08, 0x311: 0x08, 0x312: 0x08, 0x313: 0x08, 0x314: 0x08, 0x315: 0x08, 0x316: 0x08, 0x317: 0x08, + 0x318: 0x08, 0x319: 0x08, 0x31a: 0x08, 0x31b: 0x08, 0x31c: 0x08, 0x31d: 0x08, 0x31e: 0x08, 0x31f: 0x08, + 0x320: 0x08, 0x321: 0x08, 0x322: 0x08, 0x323: 0x08, 0x324: 0x0e, 0x325: 0x0e, 0x326: 0x0e, 0x327: 0x0e, + 0x328: 0x0e, 0x329: 0x0e, 0x32a: 0x0e, 0x32b: 0x0e, + 0x338: 0x3f, 0x339: 0x40, 0x33c: 0x41, 0x33d: 0x42, 0x33e: 0x43, 0x33f: 0x44, + // Block 0xd, offset 0x340 + 0x37f: 0x45, + // Block 0xe, offset 0x380 + 0x380: 0x0e, 0x381: 0x0e, 0x382: 0x0e, 0x383: 0x0e, 0x384: 0x0e, 0x385: 0x0e, 0x386: 0x0e, 0x387: 0x0e, + 0x388: 0x0e, 0x389: 0x0e, 0x38a: 0x0e, 0x38b: 0x0e, 0x38c: 0x0e, 0x38d: 0x0e, 0x38e: 0x0e, 0x38f: 0x0e, + 0x390: 0x0e, 0x391: 0x0e, 0x392: 0x0e, 0x393: 0x0e, 0x394: 0x0e, 0x395: 0x0e, 0x396: 0x0e, 0x397: 0x0e, + 0x398: 0x0e, 0x399: 0x0e, 0x39a: 0x0e, 0x39b: 0x0e, 0x39c: 0x0e, 0x39d: 0x0e, 0x39e: 0x0e, 0x39f: 0x46, + 0x3a0: 0x0e, 0x3a1: 0x0e, 0x3a2: 0x0e, 0x3a3: 0x0e, 0x3a4: 0x0e, 0x3a5: 0x0e, 0x3a6: 0x0e, 0x3a7: 0x0e, + 0x3a8: 0x0e, 0x3a9: 0x0e, 0x3aa: 0x0e, 0x3ab: 0x47, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x0e, 0x3c1: 0x0e, 0x3c2: 0x0e, 0x3c3: 0x0e, 0x3c4: 0x48, 0x3c5: 0x49, 0x3c6: 0x0e, 0x3c7: 0x0e, + 0x3c8: 0x0e, 0x3c9: 0x0e, 0x3ca: 0x0e, 0x3cb: 0x4a, + // Block 0x10, offset 0x400 + 0x400: 0x4b, 0x403: 0x4c, 0x404: 0x4d, 0x405: 0x4e, 0x406: 0x4f, + 0x408: 0x50, 0x409: 0x51, 0x40c: 0x52, 0x40d: 0x53, 0x40e: 0x54, 0x40f: 0x55, + 0x410: 0x3a, 0x411: 0x56, 0x412: 0x0e, 0x413: 0x57, 0x414: 0x58, 0x415: 0x59, 0x416: 0x5a, 0x417: 0x5b, + 0x418: 0x0e, 0x419: 0x5c, 0x41a: 0x0e, 0x41b: 0x5d, + 0x424: 0x5e, 0x425: 0x5f, 0x426: 0x60, 0x427: 0x61, + // Block 0x11, offset 0x440 + 0x456: 0x0b, 0x457: 0x06, + 0x458: 0x0c, 0x45b: 0x0d, 0x45f: 0x0e, + 0x460: 0x06, 0x461: 0x06, 0x462: 0x06, 0x463: 0x06, 0x464: 0x06, 0x465: 0x06, 0x466: 0x06, 0x467: 0x06, + 0x468: 0x06, 0x469: 0x06, 0x46a: 0x06, 0x46b: 0x06, 0x46c: 0x06, 0x46d: 0x06, 0x46e: 0x06, 0x46f: 0x06, + 0x470: 0x06, 0x471: 0x06, 0x472: 0x06, 0x473: 0x06, 0x474: 0x06, 0x475: 0x06, 0x476: 0x06, 0x477: 0x06, + 0x478: 0x06, 0x479: 0x06, 0x47a: 0x06, 0x47b: 0x06, 0x47c: 0x06, 0x47d: 0x06, 0x47e: 0x06, 0x47f: 0x06, + // Block 0x12, offset 0x480 + 0x484: 0x08, 0x485: 0x08, 0x486: 0x08, 0x487: 0x09, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x08, 0x4c1: 0x08, 0x4c2: 0x08, 0x4c3: 0x08, 0x4c4: 0x08, 0x4c5: 0x08, 0x4c6: 0x08, 0x4c7: 0x08, + 0x4c8: 0x08, 0x4c9: 0x08, 0x4ca: 0x08, 0x4cb: 0x08, 0x4cc: 0x08, 0x4cd: 0x08, 0x4ce: 0x08, 0x4cf: 0x08, + 0x4d0: 0x08, 0x4d1: 0x08, 0x4d2: 0x08, 0x4d3: 0x08, 0x4d4: 0x08, 0x4d5: 0x08, 0x4d6: 0x08, 0x4d7: 0x08, + 0x4d8: 0x08, 0x4d9: 0x08, 0x4da: 0x08, 0x4db: 0x08, 0x4dc: 0x08, 0x4dd: 0x08, 0x4de: 0x08, 0x4df: 0x08, + 0x4e0: 0x08, 0x4e1: 0x08, 0x4e2: 0x08, 0x4e3: 0x08, 0x4e4: 0x08, 0x4e5: 0x08, 0x4e6: 0x08, 0x4e7: 0x08, + 0x4e8: 0x08, 0x4e9: 0x08, 0x4ea: 0x08, 0x4eb: 0x08, 0x4ec: 0x08, 0x4ed: 0x08, 0x4ee: 0x08, 0x4ef: 0x08, + 0x4f0: 0x08, 0x4f1: 0x08, 0x4f2: 0x08, 0x4f3: 0x08, 0x4f4: 0x08, 0x4f5: 0x08, 0x4f6: 0x08, 0x4f7: 0x08, + 0x4f8: 0x08, 0x4f9: 0x08, 0x4fa: 0x08, 0x4fb: 0x08, 0x4fc: 0x08, 0x4fd: 0x08, 0x4fe: 0x08, 0x4ff: 0x62, + // Block 0x14, offset 0x500 + 0x520: 0x10, + 0x530: 0x09, 0x531: 0x09, 0x532: 0x09, 0x533: 0x09, 0x534: 0x09, 0x535: 0x09, 0x536: 0x09, 0x537: 0x09, + 0x538: 0x09, 0x539: 0x09, 0x53a: 0x09, 0x53b: 0x09, 0x53c: 0x09, 0x53d: 0x09, 0x53e: 0x09, 0x53f: 0x11, + // Block 0x15, offset 0x540 + 0x540: 0x09, 0x541: 0x09, 0x542: 0x09, 0x543: 0x09, 0x544: 0x09, 0x545: 0x09, 0x546: 0x09, 0x547: 0x09, + 0x548: 0x09, 0x549: 0x09, 0x54a: 0x09, 0x54b: 0x09, 0x54c: 0x09, 0x54d: 0x09, 0x54e: 0x09, 0x54f: 0x11, +} + +// inverseData contains 4-byte entries of the following format: +// <0 padding> +// The last byte of the UTF-8-encoded rune is xor-ed with the last byte of the +// UTF-8 encoding of the original rune. Mappings often have the following +// pattern: +// A -> A (U+FF21 -> U+0041) +// B -> B (U+FF22 -> U+0042) +// ... +// By xor-ing the last byte the same entry can be shared by many mappings. This +// reduces the total number of distinct entries by about two thirds. +// The resulting entry for the aforementioned mappings is +// { 0x01, 0xE0, 0x00, 0x00 } +// Using this entry to map U+FF21 (UTF-8 [EF BC A1]), we get +// E0 ^ A1 = 41. +// Similarly, for U+FF22 (UTF-8 [EF BC A2]), we get +// E0 ^ A2 = 42. +// Note that because of the xor-ing, the byte sequence stored in the entry is +// not valid UTF-8. +var inverseData = [150][4]byte{ + {0x00, 0x00, 0x00, 0x00}, + {0x03, 0xe3, 0x80, 0xa0}, + {0x03, 0xef, 0xbc, 0xa0}, + {0x03, 0xef, 0xbc, 0xe0}, + {0x03, 0xef, 0xbd, 0xe0}, + {0x03, 0xef, 0xbf, 0x02}, + {0x03, 0xef, 0xbf, 0x00}, + {0x03, 0xef, 0xbf, 0x0e}, + {0x03, 0xef, 0xbf, 0x0c}, + {0x03, 0xef, 0xbf, 0x0f}, + {0x03, 0xef, 0xbf, 0x39}, + {0x03, 0xef, 0xbf, 0x3b}, + {0x03, 0xef, 0xbf, 0x3f}, + {0x03, 0xef, 0xbf, 0x2a}, + {0x03, 0xef, 0xbf, 0x0d}, + {0x03, 0xef, 0xbf, 0x25}, + {0x03, 0xef, 0xbd, 0x1a}, + {0x03, 0xef, 0xbd, 0x26}, + {0x01, 0xa0, 0x00, 0x00}, + {0x03, 0xef, 0xbd, 0x25}, + {0x03, 0xef, 0xbd, 0x23}, + {0x03, 0xef, 0xbd, 0x2e}, + {0x03, 0xef, 0xbe, 0x07}, + {0x03, 0xef, 0xbe, 0x05}, + {0x03, 0xef, 0xbd, 0x06}, + {0x03, 0xef, 0xbd, 0x13}, + {0x03, 0xef, 0xbd, 0x0b}, + {0x03, 0xef, 0xbd, 0x16}, + {0x03, 0xef, 0xbd, 0x0c}, + {0x03, 0xef, 0xbd, 0x15}, + {0x03, 0xef, 0xbd, 0x0d}, + {0x03, 0xef, 0xbd, 0x1c}, + {0x03, 0xef, 0xbd, 0x02}, + {0x03, 0xef, 0xbd, 0x1f}, + {0x03, 0xef, 0xbd, 0x1d}, + {0x03, 0xef, 0xbd, 0x17}, + {0x03, 0xef, 0xbd, 0x08}, + {0x03, 0xef, 0xbd, 0x09}, + {0x03, 0xef, 0xbd, 0x0e}, + {0x03, 0xef, 0xbd, 0x04}, + {0x03, 0xef, 0xbd, 0x05}, + {0x03, 0xef, 0xbe, 0x3f}, + {0x03, 0xef, 0xbe, 0x00}, + {0x03, 0xef, 0xbd, 0x2c}, + {0x03, 0xef, 0xbe, 0x06}, + {0x03, 0xef, 0xbe, 0x0c}, + {0x03, 0xef, 0xbe, 0x0f}, + {0x03, 0xef, 0xbe, 0x0d}, + {0x03, 0xef, 0xbe, 0x0b}, + {0x03, 0xef, 0xbe, 0x19}, + {0x03, 0xef, 0xbe, 0x15}, + {0x03, 0xef, 0xbe, 0x11}, + {0x03, 0xef, 0xbe, 0x31}, + {0x03, 0xef, 0xbe, 0x33}, + {0x03, 0xef, 0xbd, 0x0f}, + {0x03, 0xef, 0xbe, 0x30}, + {0x03, 0xef, 0xbe, 0x3e}, + {0x03, 0xef, 0xbe, 0x32}, + {0x03, 0xef, 0xbe, 0x36}, + {0x03, 0xef, 0xbd, 0x14}, + {0x03, 0xef, 0xbe, 0x2e}, + {0x03, 0xef, 0xbd, 0x1e}, + {0x03, 0xef, 0xbe, 0x10}, + {0x03, 0xef, 0xbf, 0x13}, + {0x03, 0xef, 0xbf, 0x15}, + {0x03, 0xef, 0xbf, 0x17}, + {0x03, 0xef, 0xbf, 0x1f}, + {0x03, 0xef, 0xbf, 0x1d}, + {0x03, 0xef, 0xbf, 0x1b}, + {0x03, 0xef, 0xbf, 0x09}, + {0x03, 0xef, 0xbf, 0x0b}, + {0x03, 0xef, 0xbf, 0x37}, + {0x03, 0xef, 0xbe, 0x04}, + {0x01, 0xe0, 0x00, 0x00}, + {0x03, 0xe2, 0xa6, 0x1a}, + {0x03, 0xe2, 0xa6, 0x26}, + {0x03, 0xe3, 0x80, 0x23}, + {0x03, 0xe3, 0x80, 0x2e}, + {0x03, 0xe3, 0x80, 0x25}, + {0x03, 0xe3, 0x83, 0x1e}, + {0x03, 0xe3, 0x83, 0x14}, + {0x03, 0xe3, 0x82, 0x06}, + {0x03, 0xe3, 0x82, 0x0b}, + {0x03, 0xe3, 0x82, 0x0c}, + {0x03, 0xe3, 0x82, 0x0d}, + {0x03, 0xe3, 0x82, 0x02}, + {0x03, 0xe3, 0x83, 0x0f}, + {0x03, 0xe3, 0x83, 0x08}, + {0x03, 0xe3, 0x83, 0x09}, + {0x03, 0xe3, 0x83, 0x2c}, + {0x03, 0xe3, 0x83, 0x0c}, + {0x03, 0xe3, 0x82, 0x13}, + {0x03, 0xe3, 0x82, 0x16}, + {0x03, 0xe3, 0x82, 0x15}, + {0x03, 0xe3, 0x82, 0x1c}, + {0x03, 0xe3, 0x82, 0x1f}, + {0x03, 0xe3, 0x82, 0x1d}, + {0x03, 0xe3, 0x82, 0x1a}, + {0x03, 0xe3, 0x82, 0x17}, + {0x03, 0xe3, 0x82, 0x08}, + {0x03, 0xe3, 0x82, 0x09}, + {0x03, 0xe3, 0x82, 0x0e}, + {0x03, 0xe3, 0x82, 0x04}, + {0x03, 0xe3, 0x82, 0x05}, + {0x03, 0xe3, 0x82, 0x3f}, + {0x03, 0xe3, 0x83, 0x00}, + {0x03, 0xe3, 0x83, 0x06}, + {0x03, 0xe3, 0x83, 0x05}, + {0x03, 0xe3, 0x83, 0x0d}, + {0x03, 0xe3, 0x83, 0x0b}, + {0x03, 0xe3, 0x83, 0x07}, + {0x03, 0xe3, 0x83, 0x19}, + {0x03, 0xe3, 0x83, 0x15}, + {0x03, 0xe3, 0x83, 0x11}, + {0x03, 0xe3, 0x83, 0x31}, + {0x03, 0xe3, 0x83, 0x33}, + {0x03, 0xe3, 0x83, 0x30}, + {0x03, 0xe3, 0x83, 0x3e}, + {0x03, 0xe3, 0x83, 0x32}, + {0x03, 0xe3, 0x83, 0x36}, + {0x03, 0xe3, 0x83, 0x2e}, + {0x03, 0xe3, 0x82, 0x07}, + {0x03, 0xe3, 0x85, 0x04}, + {0x03, 0xe3, 0x84, 0x10}, + {0x03, 0xe3, 0x85, 0x30}, + {0x03, 0xe3, 0x85, 0x0d}, + {0x03, 0xe3, 0x85, 0x13}, + {0x03, 0xe3, 0x85, 0x15}, + {0x03, 0xe3, 0x85, 0x17}, + {0x03, 0xe3, 0x85, 0x1f}, + {0x03, 0xe3, 0x85, 0x1d}, + {0x03, 0xe3, 0x85, 0x1b}, + {0x03, 0xe3, 0x85, 0x09}, + {0x03, 0xe3, 0x85, 0x0f}, + {0x03, 0xe3, 0x85, 0x0b}, + {0x03, 0xe3, 0x85, 0x37}, + {0x03, 0xe3, 0x85, 0x3b}, + {0x03, 0xe3, 0x85, 0x39}, + {0x03, 0xe3, 0x85, 0x3f}, + {0x02, 0xc2, 0x02, 0x00}, + {0x02, 0xc2, 0x0e, 0x00}, + {0x02, 0xc2, 0x0c, 0x00}, + {0x02, 0xc2, 0x00, 0x00}, + {0x03, 0xe2, 0x82, 0x0f}, + {0x03, 0xe2, 0x94, 0x2a}, + {0x03, 0xe2, 0x86, 0x39}, + {0x03, 0xe2, 0x86, 0x3b}, + {0x03, 0xe2, 0x86, 0x3f}, + {0x03, 0xe2, 0x96, 0x0d}, + {0x03, 0xe2, 0x97, 0x25}, +} + +// Total table size 14936 bytes (14KiB) diff --git a/vendor/golang.org/x/text/width/tables11.0.0.go b/vendor/golang.org/x/text/width/tables11.0.0.go new file mode 100644 index 00000000000..d6def0e7be5 --- /dev/null +++ b/vendor/golang.org/x/text/width/tables11.0.0.go @@ -0,0 +1,1330 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build go1.13 + +package width + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "11.0.0" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *widthTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return widthValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = widthIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *widthTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return widthValues[c0] + } + i := widthIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = widthIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = widthIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *widthTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return widthValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = widthIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *widthTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return widthValues[c0] + } + i := widthIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = widthIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = widthIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// widthTrie. Total size: 14336 bytes (14.00 KiB). Checksum: c0f7712776e71cd4. +type widthTrie struct{} + +func newWidthTrie(i int) *widthTrie { + return &widthTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *widthTrie) lookupValue(n uint32, b byte) uint16 { + switch { + default: + return uint16(widthValues[n<<6+uint32(b)]) + } +} + +// widthValues: 101 blocks, 6464 entries, 12928 bytes +// The third block is the zero block. +var widthValues = [6464]uint16{ + // Block 0x0, offset 0x0 + 0x20: 0x6001, 0x21: 0x6002, 0x22: 0x6002, 0x23: 0x6002, + 0x24: 0x6002, 0x25: 0x6002, 0x26: 0x6002, 0x27: 0x6002, 0x28: 0x6002, 0x29: 0x6002, + 0x2a: 0x6002, 0x2b: 0x6002, 0x2c: 0x6002, 0x2d: 0x6002, 0x2e: 0x6002, 0x2f: 0x6002, + 0x30: 0x6002, 0x31: 0x6002, 0x32: 0x6002, 0x33: 0x6002, 0x34: 0x6002, 0x35: 0x6002, + 0x36: 0x6002, 0x37: 0x6002, 0x38: 0x6002, 0x39: 0x6002, 0x3a: 0x6002, 0x3b: 0x6002, + 0x3c: 0x6002, 0x3d: 0x6002, 0x3e: 0x6002, 0x3f: 0x6002, + // Block 0x1, offset 0x40 + 0x40: 0x6003, 0x41: 0x6003, 0x42: 0x6003, 0x43: 0x6003, 0x44: 0x6003, 0x45: 0x6003, + 0x46: 0x6003, 0x47: 0x6003, 0x48: 0x6003, 0x49: 0x6003, 0x4a: 0x6003, 0x4b: 0x6003, + 0x4c: 0x6003, 0x4d: 0x6003, 0x4e: 0x6003, 0x4f: 0x6003, 0x50: 0x6003, 0x51: 0x6003, + 0x52: 0x6003, 0x53: 0x6003, 0x54: 0x6003, 0x55: 0x6003, 0x56: 0x6003, 0x57: 0x6003, + 0x58: 0x6003, 0x59: 0x6003, 0x5a: 0x6003, 0x5b: 0x6003, 0x5c: 0x6003, 0x5d: 0x6003, + 0x5e: 0x6003, 0x5f: 0x6003, 0x60: 0x6004, 0x61: 0x6004, 0x62: 0x6004, 0x63: 0x6004, + 0x64: 0x6004, 0x65: 0x6004, 0x66: 0x6004, 0x67: 0x6004, 0x68: 0x6004, 0x69: 0x6004, + 0x6a: 0x6004, 0x6b: 0x6004, 0x6c: 0x6004, 0x6d: 0x6004, 0x6e: 0x6004, 0x6f: 0x6004, + 0x70: 0x6004, 0x71: 0x6004, 0x72: 0x6004, 0x73: 0x6004, 0x74: 0x6004, 0x75: 0x6004, + 0x76: 0x6004, 0x77: 0x6004, 0x78: 0x6004, 0x79: 0x6004, 0x7a: 0x6004, 0x7b: 0x6004, + 0x7c: 0x6004, 0x7d: 0x6004, 0x7e: 0x6004, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xe1: 0x2000, 0xe2: 0x6005, 0xe3: 0x6005, + 0xe4: 0x2000, 0xe5: 0x6006, 0xe6: 0x6005, 0xe7: 0x2000, 0xe8: 0x2000, + 0xea: 0x2000, 0xec: 0x6007, 0xed: 0x2000, 0xee: 0x2000, 0xef: 0x6008, + 0xf0: 0x2000, 0xf1: 0x2000, 0xf2: 0x2000, 0xf3: 0x2000, 0xf4: 0x2000, + 0xf6: 0x2000, 0xf7: 0x2000, 0xf8: 0x2000, 0xf9: 0x2000, 0xfa: 0x2000, + 0xfc: 0x2000, 0xfd: 0x2000, 0xfe: 0x2000, 0xff: 0x2000, + // Block 0x4, offset 0x100 + 0x106: 0x2000, + 0x110: 0x2000, + 0x117: 0x2000, + 0x118: 0x2000, + 0x11e: 0x2000, 0x11f: 0x2000, 0x120: 0x2000, 0x121: 0x2000, + 0x126: 0x2000, 0x128: 0x2000, 0x129: 0x2000, + 0x12a: 0x2000, 0x12c: 0x2000, 0x12d: 0x2000, + 0x130: 0x2000, 0x132: 0x2000, 0x133: 0x2000, + 0x137: 0x2000, 0x138: 0x2000, 0x139: 0x2000, 0x13a: 0x2000, + 0x13c: 0x2000, 0x13e: 0x2000, + // Block 0x5, offset 0x140 + 0x141: 0x2000, + 0x151: 0x2000, + 0x153: 0x2000, + 0x15b: 0x2000, + 0x166: 0x2000, 0x167: 0x2000, + 0x16b: 0x2000, + 0x171: 0x2000, 0x172: 0x2000, 0x173: 0x2000, + 0x178: 0x2000, + 0x17f: 0x2000, + // Block 0x6, offset 0x180 + 0x180: 0x2000, 0x181: 0x2000, 0x182: 0x2000, 0x184: 0x2000, + 0x188: 0x2000, 0x189: 0x2000, 0x18a: 0x2000, 0x18b: 0x2000, + 0x18d: 0x2000, + 0x192: 0x2000, 0x193: 0x2000, + 0x1a6: 0x2000, 0x1a7: 0x2000, + 0x1ab: 0x2000, + // Block 0x7, offset 0x1c0 + 0x1ce: 0x2000, 0x1d0: 0x2000, + 0x1d2: 0x2000, 0x1d4: 0x2000, 0x1d6: 0x2000, + 0x1d8: 0x2000, 0x1da: 0x2000, 0x1dc: 0x2000, + // Block 0x8, offset 0x200 + 0x211: 0x2000, + 0x221: 0x2000, + // Block 0x9, offset 0x240 + 0x244: 0x2000, + 0x247: 0x2000, 0x249: 0x2000, 0x24a: 0x2000, 0x24b: 0x2000, + 0x24d: 0x2000, 0x250: 0x2000, + 0x258: 0x2000, 0x259: 0x2000, 0x25a: 0x2000, 0x25b: 0x2000, 0x25d: 0x2000, + 0x25f: 0x2000, + // Block 0xa, offset 0x280 + 0x280: 0x2000, 0x281: 0x2000, 0x282: 0x2000, 0x283: 0x2000, 0x284: 0x2000, 0x285: 0x2000, + 0x286: 0x2000, 0x287: 0x2000, 0x288: 0x2000, 0x289: 0x2000, 0x28a: 0x2000, 0x28b: 0x2000, + 0x28c: 0x2000, 0x28d: 0x2000, 0x28e: 0x2000, 0x28f: 0x2000, 0x290: 0x2000, 0x291: 0x2000, + 0x292: 0x2000, 0x293: 0x2000, 0x294: 0x2000, 0x295: 0x2000, 0x296: 0x2000, 0x297: 0x2000, + 0x298: 0x2000, 0x299: 0x2000, 0x29a: 0x2000, 0x29b: 0x2000, 0x29c: 0x2000, 0x29d: 0x2000, + 0x29e: 0x2000, 0x29f: 0x2000, 0x2a0: 0x2000, 0x2a1: 0x2000, 0x2a2: 0x2000, 0x2a3: 0x2000, + 0x2a4: 0x2000, 0x2a5: 0x2000, 0x2a6: 0x2000, 0x2a7: 0x2000, 0x2a8: 0x2000, 0x2a9: 0x2000, + 0x2aa: 0x2000, 0x2ab: 0x2000, 0x2ac: 0x2000, 0x2ad: 0x2000, 0x2ae: 0x2000, 0x2af: 0x2000, + 0x2b0: 0x2000, 0x2b1: 0x2000, 0x2b2: 0x2000, 0x2b3: 0x2000, 0x2b4: 0x2000, 0x2b5: 0x2000, + 0x2b6: 0x2000, 0x2b7: 0x2000, 0x2b8: 0x2000, 0x2b9: 0x2000, 0x2ba: 0x2000, 0x2bb: 0x2000, + 0x2bc: 0x2000, 0x2bd: 0x2000, 0x2be: 0x2000, 0x2bf: 0x2000, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x2000, 0x2c1: 0x2000, 0x2c2: 0x2000, 0x2c3: 0x2000, 0x2c4: 0x2000, 0x2c5: 0x2000, + 0x2c6: 0x2000, 0x2c7: 0x2000, 0x2c8: 0x2000, 0x2c9: 0x2000, 0x2ca: 0x2000, 0x2cb: 0x2000, + 0x2cc: 0x2000, 0x2cd: 0x2000, 0x2ce: 0x2000, 0x2cf: 0x2000, 0x2d0: 0x2000, 0x2d1: 0x2000, + 0x2d2: 0x2000, 0x2d3: 0x2000, 0x2d4: 0x2000, 0x2d5: 0x2000, 0x2d6: 0x2000, 0x2d7: 0x2000, + 0x2d8: 0x2000, 0x2d9: 0x2000, 0x2da: 0x2000, 0x2db: 0x2000, 0x2dc: 0x2000, 0x2dd: 0x2000, + 0x2de: 0x2000, 0x2df: 0x2000, 0x2e0: 0x2000, 0x2e1: 0x2000, 0x2e2: 0x2000, 0x2e3: 0x2000, + 0x2e4: 0x2000, 0x2e5: 0x2000, 0x2e6: 0x2000, 0x2e7: 0x2000, 0x2e8: 0x2000, 0x2e9: 0x2000, + 0x2ea: 0x2000, 0x2eb: 0x2000, 0x2ec: 0x2000, 0x2ed: 0x2000, 0x2ee: 0x2000, 0x2ef: 0x2000, + // Block 0xc, offset 0x300 + 0x311: 0x2000, + 0x312: 0x2000, 0x313: 0x2000, 0x314: 0x2000, 0x315: 0x2000, 0x316: 0x2000, 0x317: 0x2000, + 0x318: 0x2000, 0x319: 0x2000, 0x31a: 0x2000, 0x31b: 0x2000, 0x31c: 0x2000, 0x31d: 0x2000, + 0x31e: 0x2000, 0x31f: 0x2000, 0x320: 0x2000, 0x321: 0x2000, 0x323: 0x2000, + 0x324: 0x2000, 0x325: 0x2000, 0x326: 0x2000, 0x327: 0x2000, 0x328: 0x2000, 0x329: 0x2000, + 0x331: 0x2000, 0x332: 0x2000, 0x333: 0x2000, 0x334: 0x2000, 0x335: 0x2000, + 0x336: 0x2000, 0x337: 0x2000, 0x338: 0x2000, 0x339: 0x2000, 0x33a: 0x2000, 0x33b: 0x2000, + 0x33c: 0x2000, 0x33d: 0x2000, 0x33e: 0x2000, 0x33f: 0x2000, + // Block 0xd, offset 0x340 + 0x340: 0x2000, 0x341: 0x2000, 0x343: 0x2000, 0x344: 0x2000, 0x345: 0x2000, + 0x346: 0x2000, 0x347: 0x2000, 0x348: 0x2000, 0x349: 0x2000, + // Block 0xe, offset 0x380 + 0x381: 0x2000, + 0x390: 0x2000, 0x391: 0x2000, + 0x392: 0x2000, 0x393: 0x2000, 0x394: 0x2000, 0x395: 0x2000, 0x396: 0x2000, 0x397: 0x2000, + 0x398: 0x2000, 0x399: 0x2000, 0x39a: 0x2000, 0x39b: 0x2000, 0x39c: 0x2000, 0x39d: 0x2000, + 0x39e: 0x2000, 0x39f: 0x2000, 0x3a0: 0x2000, 0x3a1: 0x2000, 0x3a2: 0x2000, 0x3a3: 0x2000, + 0x3a4: 0x2000, 0x3a5: 0x2000, 0x3a6: 0x2000, 0x3a7: 0x2000, 0x3a8: 0x2000, 0x3a9: 0x2000, + 0x3aa: 0x2000, 0x3ab: 0x2000, 0x3ac: 0x2000, 0x3ad: 0x2000, 0x3ae: 0x2000, 0x3af: 0x2000, + 0x3b0: 0x2000, 0x3b1: 0x2000, 0x3b2: 0x2000, 0x3b3: 0x2000, 0x3b4: 0x2000, 0x3b5: 0x2000, + 0x3b6: 0x2000, 0x3b7: 0x2000, 0x3b8: 0x2000, 0x3b9: 0x2000, 0x3ba: 0x2000, 0x3bb: 0x2000, + 0x3bc: 0x2000, 0x3bd: 0x2000, 0x3be: 0x2000, 0x3bf: 0x2000, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x2000, 0x3c1: 0x2000, 0x3c2: 0x2000, 0x3c3: 0x2000, 0x3c4: 0x2000, 0x3c5: 0x2000, + 0x3c6: 0x2000, 0x3c7: 0x2000, 0x3c8: 0x2000, 0x3c9: 0x2000, 0x3ca: 0x2000, 0x3cb: 0x2000, + 0x3cc: 0x2000, 0x3cd: 0x2000, 0x3ce: 0x2000, 0x3cf: 0x2000, 0x3d1: 0x2000, + // Block 0x10, offset 0x400 + 0x400: 0x4000, 0x401: 0x4000, 0x402: 0x4000, 0x403: 0x4000, 0x404: 0x4000, 0x405: 0x4000, + 0x406: 0x4000, 0x407: 0x4000, 0x408: 0x4000, 0x409: 0x4000, 0x40a: 0x4000, 0x40b: 0x4000, + 0x40c: 0x4000, 0x40d: 0x4000, 0x40e: 0x4000, 0x40f: 0x4000, 0x410: 0x4000, 0x411: 0x4000, + 0x412: 0x4000, 0x413: 0x4000, 0x414: 0x4000, 0x415: 0x4000, 0x416: 0x4000, 0x417: 0x4000, + 0x418: 0x4000, 0x419: 0x4000, 0x41a: 0x4000, 0x41b: 0x4000, 0x41c: 0x4000, 0x41d: 0x4000, + 0x41e: 0x4000, 0x41f: 0x4000, 0x420: 0x4000, 0x421: 0x4000, 0x422: 0x4000, 0x423: 0x4000, + 0x424: 0x4000, 0x425: 0x4000, 0x426: 0x4000, 0x427: 0x4000, 0x428: 0x4000, 0x429: 0x4000, + 0x42a: 0x4000, 0x42b: 0x4000, 0x42c: 0x4000, 0x42d: 0x4000, 0x42e: 0x4000, 0x42f: 0x4000, + 0x430: 0x4000, 0x431: 0x4000, 0x432: 0x4000, 0x433: 0x4000, 0x434: 0x4000, 0x435: 0x4000, + 0x436: 0x4000, 0x437: 0x4000, 0x438: 0x4000, 0x439: 0x4000, 0x43a: 0x4000, 0x43b: 0x4000, + 0x43c: 0x4000, 0x43d: 0x4000, 0x43e: 0x4000, 0x43f: 0x4000, + // Block 0x11, offset 0x440 + 0x440: 0x4000, 0x441: 0x4000, 0x442: 0x4000, 0x443: 0x4000, 0x444: 0x4000, 0x445: 0x4000, + 0x446: 0x4000, 0x447: 0x4000, 0x448: 0x4000, 0x449: 0x4000, 0x44a: 0x4000, 0x44b: 0x4000, + 0x44c: 0x4000, 0x44d: 0x4000, 0x44e: 0x4000, 0x44f: 0x4000, 0x450: 0x4000, 0x451: 0x4000, + 0x452: 0x4000, 0x453: 0x4000, 0x454: 0x4000, 0x455: 0x4000, 0x456: 0x4000, 0x457: 0x4000, + 0x458: 0x4000, 0x459: 0x4000, 0x45a: 0x4000, 0x45b: 0x4000, 0x45c: 0x4000, 0x45d: 0x4000, + 0x45e: 0x4000, 0x45f: 0x4000, + // Block 0x12, offset 0x480 + 0x490: 0x2000, + 0x493: 0x2000, 0x494: 0x2000, 0x495: 0x2000, 0x496: 0x2000, + 0x498: 0x2000, 0x499: 0x2000, 0x49c: 0x2000, 0x49d: 0x2000, + 0x4a0: 0x2000, 0x4a1: 0x2000, 0x4a2: 0x2000, + 0x4a4: 0x2000, 0x4a5: 0x2000, 0x4a6: 0x2000, 0x4a7: 0x2000, + 0x4b0: 0x2000, 0x4b2: 0x2000, 0x4b3: 0x2000, 0x4b5: 0x2000, + 0x4bb: 0x2000, + 0x4be: 0x2000, + // Block 0x13, offset 0x4c0 + 0x4f4: 0x2000, + 0x4ff: 0x2000, + // Block 0x14, offset 0x500 + 0x501: 0x2000, 0x502: 0x2000, 0x503: 0x2000, 0x504: 0x2000, + 0x529: 0xa009, + 0x52c: 0x2000, + // Block 0x15, offset 0x540 + 0x543: 0x2000, 0x545: 0x2000, + 0x549: 0x2000, + 0x553: 0x2000, 0x556: 0x2000, + 0x561: 0x2000, 0x562: 0x2000, + 0x566: 0x2000, + 0x56b: 0x2000, + // Block 0x16, offset 0x580 + 0x593: 0x2000, 0x594: 0x2000, + 0x59b: 0x2000, 0x59c: 0x2000, 0x59d: 0x2000, + 0x59e: 0x2000, 0x5a0: 0x2000, 0x5a1: 0x2000, 0x5a2: 0x2000, 0x5a3: 0x2000, + 0x5a4: 0x2000, 0x5a5: 0x2000, 0x5a6: 0x2000, 0x5a7: 0x2000, 0x5a8: 0x2000, 0x5a9: 0x2000, + 0x5aa: 0x2000, 0x5ab: 0x2000, + 0x5b0: 0x2000, 0x5b1: 0x2000, 0x5b2: 0x2000, 0x5b3: 0x2000, 0x5b4: 0x2000, 0x5b5: 0x2000, + 0x5b6: 0x2000, 0x5b7: 0x2000, 0x5b8: 0x2000, 0x5b9: 0x2000, + // Block 0x17, offset 0x5c0 + 0x5c9: 0x2000, + 0x5d0: 0x200a, 0x5d1: 0x200b, + 0x5d2: 0x200a, 0x5d3: 0x200c, 0x5d4: 0x2000, 0x5d5: 0x2000, 0x5d6: 0x2000, 0x5d7: 0x2000, + 0x5d8: 0x2000, 0x5d9: 0x2000, + 0x5f8: 0x2000, 0x5f9: 0x2000, + // Block 0x18, offset 0x600 + 0x612: 0x2000, 0x614: 0x2000, + 0x627: 0x2000, + // Block 0x19, offset 0x640 + 0x640: 0x2000, 0x642: 0x2000, 0x643: 0x2000, + 0x647: 0x2000, 0x648: 0x2000, 0x64b: 0x2000, + 0x64f: 0x2000, 0x651: 0x2000, + 0x655: 0x2000, + 0x65a: 0x2000, 0x65d: 0x2000, + 0x65e: 0x2000, 0x65f: 0x2000, 0x660: 0x2000, 0x663: 0x2000, + 0x665: 0x2000, 0x667: 0x2000, 0x668: 0x2000, 0x669: 0x2000, + 0x66a: 0x2000, 0x66b: 0x2000, 0x66c: 0x2000, 0x66e: 0x2000, + 0x674: 0x2000, 0x675: 0x2000, + 0x676: 0x2000, 0x677: 0x2000, + 0x67c: 0x2000, 0x67d: 0x2000, + // Block 0x1a, offset 0x680 + 0x688: 0x2000, + 0x68c: 0x2000, + 0x692: 0x2000, + 0x6a0: 0x2000, 0x6a1: 0x2000, + 0x6a4: 0x2000, 0x6a5: 0x2000, 0x6a6: 0x2000, 0x6a7: 0x2000, + 0x6aa: 0x2000, 0x6ab: 0x2000, 0x6ae: 0x2000, 0x6af: 0x2000, + // Block 0x1b, offset 0x6c0 + 0x6c2: 0x2000, 0x6c3: 0x2000, + 0x6c6: 0x2000, 0x6c7: 0x2000, + 0x6d5: 0x2000, + 0x6d9: 0x2000, + 0x6e5: 0x2000, + 0x6ff: 0x2000, + // Block 0x1c, offset 0x700 + 0x712: 0x2000, + 0x71a: 0x4000, 0x71b: 0x4000, + 0x729: 0x4000, + 0x72a: 0x4000, + // Block 0x1d, offset 0x740 + 0x769: 0x4000, + 0x76a: 0x4000, 0x76b: 0x4000, 0x76c: 0x4000, + 0x770: 0x4000, 0x773: 0x4000, + // Block 0x1e, offset 0x780 + 0x7a0: 0x2000, 0x7a1: 0x2000, 0x7a2: 0x2000, 0x7a3: 0x2000, + 0x7a4: 0x2000, 0x7a5: 0x2000, 0x7a6: 0x2000, 0x7a7: 0x2000, 0x7a8: 0x2000, 0x7a9: 0x2000, + 0x7aa: 0x2000, 0x7ab: 0x2000, 0x7ac: 0x2000, 0x7ad: 0x2000, 0x7ae: 0x2000, 0x7af: 0x2000, + 0x7b0: 0x2000, 0x7b1: 0x2000, 0x7b2: 0x2000, 0x7b3: 0x2000, 0x7b4: 0x2000, 0x7b5: 0x2000, + 0x7b6: 0x2000, 0x7b7: 0x2000, 0x7b8: 0x2000, 0x7b9: 0x2000, 0x7ba: 0x2000, 0x7bb: 0x2000, + 0x7bc: 0x2000, 0x7bd: 0x2000, 0x7be: 0x2000, 0x7bf: 0x2000, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x2000, 0x7c1: 0x2000, 0x7c2: 0x2000, 0x7c3: 0x2000, 0x7c4: 0x2000, 0x7c5: 0x2000, + 0x7c6: 0x2000, 0x7c7: 0x2000, 0x7c8: 0x2000, 0x7c9: 0x2000, 0x7ca: 0x2000, 0x7cb: 0x2000, + 0x7cc: 0x2000, 0x7cd: 0x2000, 0x7ce: 0x2000, 0x7cf: 0x2000, 0x7d0: 0x2000, 0x7d1: 0x2000, + 0x7d2: 0x2000, 0x7d3: 0x2000, 0x7d4: 0x2000, 0x7d5: 0x2000, 0x7d6: 0x2000, 0x7d7: 0x2000, + 0x7d8: 0x2000, 0x7d9: 0x2000, 0x7da: 0x2000, 0x7db: 0x2000, 0x7dc: 0x2000, 0x7dd: 0x2000, + 0x7de: 0x2000, 0x7df: 0x2000, 0x7e0: 0x2000, 0x7e1: 0x2000, 0x7e2: 0x2000, 0x7e3: 0x2000, + 0x7e4: 0x2000, 0x7e5: 0x2000, 0x7e6: 0x2000, 0x7e7: 0x2000, 0x7e8: 0x2000, 0x7e9: 0x2000, + 0x7eb: 0x2000, 0x7ec: 0x2000, 0x7ed: 0x2000, 0x7ee: 0x2000, 0x7ef: 0x2000, + 0x7f0: 0x2000, 0x7f1: 0x2000, 0x7f2: 0x2000, 0x7f3: 0x2000, 0x7f4: 0x2000, 0x7f5: 0x2000, + 0x7f6: 0x2000, 0x7f7: 0x2000, 0x7f8: 0x2000, 0x7f9: 0x2000, 0x7fa: 0x2000, 0x7fb: 0x2000, + 0x7fc: 0x2000, 0x7fd: 0x2000, 0x7fe: 0x2000, 0x7ff: 0x2000, + // Block 0x20, offset 0x800 + 0x800: 0x2000, 0x801: 0x2000, 0x802: 0x200d, 0x803: 0x2000, 0x804: 0x2000, 0x805: 0x2000, + 0x806: 0x2000, 0x807: 0x2000, 0x808: 0x2000, 0x809: 0x2000, 0x80a: 0x2000, 0x80b: 0x2000, + 0x80c: 0x2000, 0x80d: 0x2000, 0x80e: 0x2000, 0x80f: 0x2000, 0x810: 0x2000, 0x811: 0x2000, + 0x812: 0x2000, 0x813: 0x2000, 0x814: 0x2000, 0x815: 0x2000, 0x816: 0x2000, 0x817: 0x2000, + 0x818: 0x2000, 0x819: 0x2000, 0x81a: 0x2000, 0x81b: 0x2000, 0x81c: 0x2000, 0x81d: 0x2000, + 0x81e: 0x2000, 0x81f: 0x2000, 0x820: 0x2000, 0x821: 0x2000, 0x822: 0x2000, 0x823: 0x2000, + 0x824: 0x2000, 0x825: 0x2000, 0x826: 0x2000, 0x827: 0x2000, 0x828: 0x2000, 0x829: 0x2000, + 0x82a: 0x2000, 0x82b: 0x2000, 0x82c: 0x2000, 0x82d: 0x2000, 0x82e: 0x2000, 0x82f: 0x2000, + 0x830: 0x2000, 0x831: 0x2000, 0x832: 0x2000, 0x833: 0x2000, 0x834: 0x2000, 0x835: 0x2000, + 0x836: 0x2000, 0x837: 0x2000, 0x838: 0x2000, 0x839: 0x2000, 0x83a: 0x2000, 0x83b: 0x2000, + 0x83c: 0x2000, 0x83d: 0x2000, 0x83e: 0x2000, 0x83f: 0x2000, + // Block 0x21, offset 0x840 + 0x840: 0x2000, 0x841: 0x2000, 0x842: 0x2000, 0x843: 0x2000, 0x844: 0x2000, 0x845: 0x2000, + 0x846: 0x2000, 0x847: 0x2000, 0x848: 0x2000, 0x849: 0x2000, 0x84a: 0x2000, 0x84b: 0x2000, + 0x850: 0x2000, 0x851: 0x2000, + 0x852: 0x2000, 0x853: 0x2000, 0x854: 0x2000, 0x855: 0x2000, 0x856: 0x2000, 0x857: 0x2000, + 0x858: 0x2000, 0x859: 0x2000, 0x85a: 0x2000, 0x85b: 0x2000, 0x85c: 0x2000, 0x85d: 0x2000, + 0x85e: 0x2000, 0x85f: 0x2000, 0x860: 0x2000, 0x861: 0x2000, 0x862: 0x2000, 0x863: 0x2000, + 0x864: 0x2000, 0x865: 0x2000, 0x866: 0x2000, 0x867: 0x2000, 0x868: 0x2000, 0x869: 0x2000, + 0x86a: 0x2000, 0x86b: 0x2000, 0x86c: 0x2000, 0x86d: 0x2000, 0x86e: 0x2000, 0x86f: 0x2000, + 0x870: 0x2000, 0x871: 0x2000, 0x872: 0x2000, 0x873: 0x2000, + // Block 0x22, offset 0x880 + 0x880: 0x2000, 0x881: 0x2000, 0x882: 0x2000, 0x883: 0x2000, 0x884: 0x2000, 0x885: 0x2000, + 0x886: 0x2000, 0x887: 0x2000, 0x888: 0x2000, 0x889: 0x2000, 0x88a: 0x2000, 0x88b: 0x2000, + 0x88c: 0x2000, 0x88d: 0x2000, 0x88e: 0x2000, 0x88f: 0x2000, + 0x892: 0x2000, 0x893: 0x2000, 0x894: 0x2000, 0x895: 0x2000, + 0x8a0: 0x200e, 0x8a1: 0x2000, 0x8a3: 0x2000, + 0x8a4: 0x2000, 0x8a5: 0x2000, 0x8a6: 0x2000, 0x8a7: 0x2000, 0x8a8: 0x2000, 0x8a9: 0x2000, + 0x8b2: 0x2000, 0x8b3: 0x2000, + 0x8b6: 0x2000, 0x8b7: 0x2000, + 0x8bc: 0x2000, 0x8bd: 0x2000, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x2000, 0x8c1: 0x2000, + 0x8c6: 0x2000, 0x8c7: 0x2000, 0x8c8: 0x2000, 0x8cb: 0x200f, + 0x8ce: 0x2000, 0x8cf: 0x2000, 0x8d0: 0x2000, 0x8d1: 0x2000, + 0x8e2: 0x2000, 0x8e3: 0x2000, + 0x8e4: 0x2000, 0x8e5: 0x2000, + 0x8ef: 0x2000, + 0x8fd: 0x4000, 0x8fe: 0x4000, + // Block 0x24, offset 0x900 + 0x905: 0x2000, + 0x906: 0x2000, 0x909: 0x2000, + 0x90e: 0x2000, 0x90f: 0x2000, + 0x914: 0x4000, 0x915: 0x4000, + 0x91c: 0x2000, + 0x91e: 0x2000, + // Block 0x25, offset 0x940 + 0x940: 0x2000, 0x942: 0x2000, + 0x948: 0x4000, 0x949: 0x4000, 0x94a: 0x4000, 0x94b: 0x4000, + 0x94c: 0x4000, 0x94d: 0x4000, 0x94e: 0x4000, 0x94f: 0x4000, 0x950: 0x4000, 0x951: 0x4000, + 0x952: 0x4000, 0x953: 0x4000, + 0x960: 0x2000, 0x961: 0x2000, 0x963: 0x2000, + 0x964: 0x2000, 0x965: 0x2000, 0x967: 0x2000, 0x968: 0x2000, 0x969: 0x2000, + 0x96a: 0x2000, 0x96c: 0x2000, 0x96d: 0x2000, 0x96f: 0x2000, + 0x97f: 0x4000, + // Block 0x26, offset 0x980 + 0x993: 0x4000, + 0x99e: 0x2000, 0x99f: 0x2000, 0x9a1: 0x4000, + 0x9aa: 0x4000, 0x9ab: 0x4000, + 0x9bd: 0x4000, 0x9be: 0x4000, 0x9bf: 0x2000, + // Block 0x27, offset 0x9c0 + 0x9c4: 0x4000, 0x9c5: 0x4000, + 0x9c6: 0x2000, 0x9c7: 0x2000, 0x9c8: 0x2000, 0x9c9: 0x2000, 0x9ca: 0x2000, 0x9cb: 0x2000, + 0x9cc: 0x2000, 0x9cd: 0x2000, 0x9ce: 0x4000, 0x9cf: 0x2000, 0x9d0: 0x2000, 0x9d1: 0x2000, + 0x9d2: 0x2000, 0x9d3: 0x2000, 0x9d4: 0x4000, 0x9d5: 0x2000, 0x9d6: 0x2000, 0x9d7: 0x2000, + 0x9d8: 0x2000, 0x9d9: 0x2000, 0x9da: 0x2000, 0x9db: 0x2000, 0x9dc: 0x2000, 0x9dd: 0x2000, + 0x9de: 0x2000, 0x9df: 0x2000, 0x9e0: 0x2000, 0x9e1: 0x2000, 0x9e3: 0x2000, + 0x9e8: 0x2000, 0x9e9: 0x2000, + 0x9ea: 0x4000, 0x9eb: 0x2000, 0x9ec: 0x2000, 0x9ed: 0x2000, 0x9ee: 0x2000, 0x9ef: 0x2000, + 0x9f0: 0x2000, 0x9f1: 0x2000, 0x9f2: 0x4000, 0x9f3: 0x4000, 0x9f4: 0x2000, 0x9f5: 0x4000, + 0x9f6: 0x2000, 0x9f7: 0x2000, 0x9f8: 0x2000, 0x9f9: 0x2000, 0x9fa: 0x4000, 0x9fb: 0x2000, + 0x9fc: 0x2000, 0x9fd: 0x4000, 0x9fe: 0x2000, 0x9ff: 0x2000, + // Block 0x28, offset 0xa00 + 0xa05: 0x4000, + 0xa0a: 0x4000, 0xa0b: 0x4000, + 0xa28: 0x4000, + 0xa3d: 0x2000, + // Block 0x29, offset 0xa40 + 0xa4c: 0x4000, 0xa4e: 0x4000, + 0xa53: 0x4000, 0xa54: 0x4000, 0xa55: 0x4000, 0xa57: 0x4000, + 0xa76: 0x2000, 0xa77: 0x2000, 0xa78: 0x2000, 0xa79: 0x2000, 0xa7a: 0x2000, 0xa7b: 0x2000, + 0xa7c: 0x2000, 0xa7d: 0x2000, 0xa7e: 0x2000, 0xa7f: 0x2000, + // Block 0x2a, offset 0xa80 + 0xa95: 0x4000, 0xa96: 0x4000, 0xa97: 0x4000, + 0xab0: 0x4000, + 0xabf: 0x4000, + // Block 0x2b, offset 0xac0 + 0xae6: 0x6000, 0xae7: 0x6000, 0xae8: 0x6000, 0xae9: 0x6000, + 0xaea: 0x6000, 0xaeb: 0x6000, 0xaec: 0x6000, 0xaed: 0x6000, + // Block 0x2c, offset 0xb00 + 0xb05: 0x6010, + 0xb06: 0x6011, + // Block 0x2d, offset 0xb40 + 0xb5b: 0x4000, 0xb5c: 0x4000, + // Block 0x2e, offset 0xb80 + 0xb90: 0x4000, + 0xb95: 0x4000, 0xb96: 0x2000, 0xb97: 0x2000, + 0xb98: 0x2000, 0xb99: 0x2000, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x4000, 0xbc1: 0x4000, 0xbc2: 0x4000, 0xbc3: 0x4000, 0xbc4: 0x4000, 0xbc5: 0x4000, + 0xbc6: 0x4000, 0xbc7: 0x4000, 0xbc8: 0x4000, 0xbc9: 0x4000, 0xbca: 0x4000, 0xbcb: 0x4000, + 0xbcc: 0x4000, 0xbcd: 0x4000, 0xbce: 0x4000, 0xbcf: 0x4000, 0xbd0: 0x4000, 0xbd1: 0x4000, + 0xbd2: 0x4000, 0xbd3: 0x4000, 0xbd4: 0x4000, 0xbd5: 0x4000, 0xbd6: 0x4000, 0xbd7: 0x4000, + 0xbd8: 0x4000, 0xbd9: 0x4000, 0xbdb: 0x4000, 0xbdc: 0x4000, 0xbdd: 0x4000, + 0xbde: 0x4000, 0xbdf: 0x4000, 0xbe0: 0x4000, 0xbe1: 0x4000, 0xbe2: 0x4000, 0xbe3: 0x4000, + 0xbe4: 0x4000, 0xbe5: 0x4000, 0xbe6: 0x4000, 0xbe7: 0x4000, 0xbe8: 0x4000, 0xbe9: 0x4000, + 0xbea: 0x4000, 0xbeb: 0x4000, 0xbec: 0x4000, 0xbed: 0x4000, 0xbee: 0x4000, 0xbef: 0x4000, + 0xbf0: 0x4000, 0xbf1: 0x4000, 0xbf2: 0x4000, 0xbf3: 0x4000, 0xbf4: 0x4000, 0xbf5: 0x4000, + 0xbf6: 0x4000, 0xbf7: 0x4000, 0xbf8: 0x4000, 0xbf9: 0x4000, 0xbfa: 0x4000, 0xbfb: 0x4000, + 0xbfc: 0x4000, 0xbfd: 0x4000, 0xbfe: 0x4000, 0xbff: 0x4000, + // Block 0x30, offset 0xc00 + 0xc00: 0x4000, 0xc01: 0x4000, 0xc02: 0x4000, 0xc03: 0x4000, 0xc04: 0x4000, 0xc05: 0x4000, + 0xc06: 0x4000, 0xc07: 0x4000, 0xc08: 0x4000, 0xc09: 0x4000, 0xc0a: 0x4000, 0xc0b: 0x4000, + 0xc0c: 0x4000, 0xc0d: 0x4000, 0xc0e: 0x4000, 0xc0f: 0x4000, 0xc10: 0x4000, 0xc11: 0x4000, + 0xc12: 0x4000, 0xc13: 0x4000, 0xc14: 0x4000, 0xc15: 0x4000, 0xc16: 0x4000, 0xc17: 0x4000, + 0xc18: 0x4000, 0xc19: 0x4000, 0xc1a: 0x4000, 0xc1b: 0x4000, 0xc1c: 0x4000, 0xc1d: 0x4000, + 0xc1e: 0x4000, 0xc1f: 0x4000, 0xc20: 0x4000, 0xc21: 0x4000, 0xc22: 0x4000, 0xc23: 0x4000, + 0xc24: 0x4000, 0xc25: 0x4000, 0xc26: 0x4000, 0xc27: 0x4000, 0xc28: 0x4000, 0xc29: 0x4000, + 0xc2a: 0x4000, 0xc2b: 0x4000, 0xc2c: 0x4000, 0xc2d: 0x4000, 0xc2e: 0x4000, 0xc2f: 0x4000, + 0xc30: 0x4000, 0xc31: 0x4000, 0xc32: 0x4000, 0xc33: 0x4000, + // Block 0x31, offset 0xc40 + 0xc40: 0x4000, 0xc41: 0x4000, 0xc42: 0x4000, 0xc43: 0x4000, 0xc44: 0x4000, 0xc45: 0x4000, + 0xc46: 0x4000, 0xc47: 0x4000, 0xc48: 0x4000, 0xc49: 0x4000, 0xc4a: 0x4000, 0xc4b: 0x4000, + 0xc4c: 0x4000, 0xc4d: 0x4000, 0xc4e: 0x4000, 0xc4f: 0x4000, 0xc50: 0x4000, 0xc51: 0x4000, + 0xc52: 0x4000, 0xc53: 0x4000, 0xc54: 0x4000, 0xc55: 0x4000, + 0xc70: 0x4000, 0xc71: 0x4000, 0xc72: 0x4000, 0xc73: 0x4000, 0xc74: 0x4000, 0xc75: 0x4000, + 0xc76: 0x4000, 0xc77: 0x4000, 0xc78: 0x4000, 0xc79: 0x4000, 0xc7a: 0x4000, 0xc7b: 0x4000, + // Block 0x32, offset 0xc80 + 0xc80: 0x9012, 0xc81: 0x4013, 0xc82: 0x4014, 0xc83: 0x4000, 0xc84: 0x4000, 0xc85: 0x4000, + 0xc86: 0x4000, 0xc87: 0x4000, 0xc88: 0x4000, 0xc89: 0x4000, 0xc8a: 0x4000, 0xc8b: 0x4000, + 0xc8c: 0x4015, 0xc8d: 0x4015, 0xc8e: 0x4000, 0xc8f: 0x4000, 0xc90: 0x4000, 0xc91: 0x4000, + 0xc92: 0x4000, 0xc93: 0x4000, 0xc94: 0x4000, 0xc95: 0x4000, 0xc96: 0x4000, 0xc97: 0x4000, + 0xc98: 0x4000, 0xc99: 0x4000, 0xc9a: 0x4000, 0xc9b: 0x4000, 0xc9c: 0x4000, 0xc9d: 0x4000, + 0xc9e: 0x4000, 0xc9f: 0x4000, 0xca0: 0x4000, 0xca1: 0x4000, 0xca2: 0x4000, 0xca3: 0x4000, + 0xca4: 0x4000, 0xca5: 0x4000, 0xca6: 0x4000, 0xca7: 0x4000, 0xca8: 0x4000, 0xca9: 0x4000, + 0xcaa: 0x4000, 0xcab: 0x4000, 0xcac: 0x4000, 0xcad: 0x4000, 0xcae: 0x4000, 0xcaf: 0x4000, + 0xcb0: 0x4000, 0xcb1: 0x4000, 0xcb2: 0x4000, 0xcb3: 0x4000, 0xcb4: 0x4000, 0xcb5: 0x4000, + 0xcb6: 0x4000, 0xcb7: 0x4000, 0xcb8: 0x4000, 0xcb9: 0x4000, 0xcba: 0x4000, 0xcbb: 0x4000, + 0xcbc: 0x4000, 0xcbd: 0x4000, 0xcbe: 0x4000, + // Block 0x33, offset 0xcc0 + 0xcc1: 0x4000, 0xcc2: 0x4000, 0xcc3: 0x4000, 0xcc4: 0x4000, 0xcc5: 0x4000, + 0xcc6: 0x4000, 0xcc7: 0x4000, 0xcc8: 0x4000, 0xcc9: 0x4000, 0xcca: 0x4000, 0xccb: 0x4000, + 0xccc: 0x4000, 0xccd: 0x4000, 0xcce: 0x4000, 0xccf: 0x4000, 0xcd0: 0x4000, 0xcd1: 0x4000, + 0xcd2: 0x4000, 0xcd3: 0x4000, 0xcd4: 0x4000, 0xcd5: 0x4000, 0xcd6: 0x4000, 0xcd7: 0x4000, + 0xcd8: 0x4000, 0xcd9: 0x4000, 0xcda: 0x4000, 0xcdb: 0x4000, 0xcdc: 0x4000, 0xcdd: 0x4000, + 0xcde: 0x4000, 0xcdf: 0x4000, 0xce0: 0x4000, 0xce1: 0x4000, 0xce2: 0x4000, 0xce3: 0x4000, + 0xce4: 0x4000, 0xce5: 0x4000, 0xce6: 0x4000, 0xce7: 0x4000, 0xce8: 0x4000, 0xce9: 0x4000, + 0xcea: 0x4000, 0xceb: 0x4000, 0xcec: 0x4000, 0xced: 0x4000, 0xcee: 0x4000, 0xcef: 0x4000, + 0xcf0: 0x4000, 0xcf1: 0x4000, 0xcf2: 0x4000, 0xcf3: 0x4000, 0xcf4: 0x4000, 0xcf5: 0x4000, + 0xcf6: 0x4000, 0xcf7: 0x4000, 0xcf8: 0x4000, 0xcf9: 0x4000, 0xcfa: 0x4000, 0xcfb: 0x4000, + 0xcfc: 0x4000, 0xcfd: 0x4000, 0xcfe: 0x4000, 0xcff: 0x4000, + // Block 0x34, offset 0xd00 + 0xd00: 0x4000, 0xd01: 0x4000, 0xd02: 0x4000, 0xd03: 0x4000, 0xd04: 0x4000, 0xd05: 0x4000, + 0xd06: 0x4000, 0xd07: 0x4000, 0xd08: 0x4000, 0xd09: 0x4000, 0xd0a: 0x4000, 0xd0b: 0x4000, + 0xd0c: 0x4000, 0xd0d: 0x4000, 0xd0e: 0x4000, 0xd0f: 0x4000, 0xd10: 0x4000, 0xd11: 0x4000, + 0xd12: 0x4000, 0xd13: 0x4000, 0xd14: 0x4000, 0xd15: 0x4000, 0xd16: 0x4000, + 0xd19: 0x4016, 0xd1a: 0x4017, 0xd1b: 0x4000, 0xd1c: 0x4000, 0xd1d: 0x4000, + 0xd1e: 0x4000, 0xd1f: 0x4000, 0xd20: 0x4000, 0xd21: 0x4018, 0xd22: 0x4019, 0xd23: 0x401a, + 0xd24: 0x401b, 0xd25: 0x401c, 0xd26: 0x401d, 0xd27: 0x401e, 0xd28: 0x401f, 0xd29: 0x4020, + 0xd2a: 0x4021, 0xd2b: 0x4022, 0xd2c: 0x4000, 0xd2d: 0x4010, 0xd2e: 0x4000, 0xd2f: 0x4023, + 0xd30: 0x4000, 0xd31: 0x4024, 0xd32: 0x4000, 0xd33: 0x4025, 0xd34: 0x4000, 0xd35: 0x4026, + 0xd36: 0x4000, 0xd37: 0x401a, 0xd38: 0x4000, 0xd39: 0x4027, 0xd3a: 0x4000, 0xd3b: 0x4028, + 0xd3c: 0x4000, 0xd3d: 0x4020, 0xd3e: 0x4000, 0xd3f: 0x4029, + // Block 0x35, offset 0xd40 + 0xd40: 0x4000, 0xd41: 0x402a, 0xd42: 0x4000, 0xd43: 0x402b, 0xd44: 0x402c, 0xd45: 0x4000, + 0xd46: 0x4017, 0xd47: 0x4000, 0xd48: 0x402d, 0xd49: 0x4000, 0xd4a: 0x402e, 0xd4b: 0x402f, + 0xd4c: 0x4030, 0xd4d: 0x4017, 0xd4e: 0x4016, 0xd4f: 0x4017, 0xd50: 0x4000, 0xd51: 0x4000, + 0xd52: 0x4031, 0xd53: 0x4000, 0xd54: 0x4000, 0xd55: 0x4031, 0xd56: 0x4000, 0xd57: 0x4000, + 0xd58: 0x4032, 0xd59: 0x4000, 0xd5a: 0x4000, 0xd5b: 0x4032, 0xd5c: 0x4000, 0xd5d: 0x4000, + 0xd5e: 0x4033, 0xd5f: 0x402e, 0xd60: 0x4034, 0xd61: 0x4035, 0xd62: 0x4034, 0xd63: 0x4036, + 0xd64: 0x4037, 0xd65: 0x4024, 0xd66: 0x4035, 0xd67: 0x4025, 0xd68: 0x4038, 0xd69: 0x4038, + 0xd6a: 0x4039, 0xd6b: 0x4039, 0xd6c: 0x403a, 0xd6d: 0x403a, 0xd6e: 0x4000, 0xd6f: 0x4035, + 0xd70: 0x4000, 0xd71: 0x4000, 0xd72: 0x403b, 0xd73: 0x403c, 0xd74: 0x4000, 0xd75: 0x4000, + 0xd76: 0x4000, 0xd77: 0x4000, 0xd78: 0x4000, 0xd79: 0x4000, 0xd7a: 0x4000, 0xd7b: 0x403d, + 0xd7c: 0x401c, 0xd7d: 0x4000, 0xd7e: 0x4000, 0xd7f: 0x4000, + // Block 0x36, offset 0xd80 + 0xd85: 0x4000, + 0xd86: 0x4000, 0xd87: 0x4000, 0xd88: 0x4000, 0xd89: 0x4000, 0xd8a: 0x4000, 0xd8b: 0x4000, + 0xd8c: 0x4000, 0xd8d: 0x4000, 0xd8e: 0x4000, 0xd8f: 0x4000, 0xd90: 0x4000, 0xd91: 0x4000, + 0xd92: 0x4000, 0xd93: 0x4000, 0xd94: 0x4000, 0xd95: 0x4000, 0xd96: 0x4000, 0xd97: 0x4000, + 0xd98: 0x4000, 0xd99: 0x4000, 0xd9a: 0x4000, 0xd9b: 0x4000, 0xd9c: 0x4000, 0xd9d: 0x4000, + 0xd9e: 0x4000, 0xd9f: 0x4000, 0xda0: 0x4000, 0xda1: 0x4000, 0xda2: 0x4000, 0xda3: 0x4000, + 0xda4: 0x4000, 0xda5: 0x4000, 0xda6: 0x4000, 0xda7: 0x4000, 0xda8: 0x4000, 0xda9: 0x4000, + 0xdaa: 0x4000, 0xdab: 0x4000, 0xdac: 0x4000, 0xdad: 0x4000, 0xdae: 0x4000, 0xdaf: 0x4000, + 0xdb1: 0x403e, 0xdb2: 0x403e, 0xdb3: 0x403e, 0xdb4: 0x403e, 0xdb5: 0x403e, + 0xdb6: 0x403e, 0xdb7: 0x403e, 0xdb8: 0x403e, 0xdb9: 0x403e, 0xdba: 0x403e, 0xdbb: 0x403e, + 0xdbc: 0x403e, 0xdbd: 0x403e, 0xdbe: 0x403e, 0xdbf: 0x403e, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x4037, 0xdc1: 0x4037, 0xdc2: 0x4037, 0xdc3: 0x4037, 0xdc4: 0x4037, 0xdc5: 0x4037, + 0xdc6: 0x4037, 0xdc7: 0x4037, 0xdc8: 0x4037, 0xdc9: 0x4037, 0xdca: 0x4037, 0xdcb: 0x4037, + 0xdcc: 0x4037, 0xdcd: 0x4037, 0xdce: 0x4037, 0xdcf: 0x400e, 0xdd0: 0x403f, 0xdd1: 0x4040, + 0xdd2: 0x4041, 0xdd3: 0x4040, 0xdd4: 0x403f, 0xdd5: 0x4042, 0xdd6: 0x4043, 0xdd7: 0x4044, + 0xdd8: 0x4040, 0xdd9: 0x4041, 0xdda: 0x4040, 0xddb: 0x4045, 0xddc: 0x4009, 0xddd: 0x4045, + 0xdde: 0x4046, 0xddf: 0x4045, 0xde0: 0x4047, 0xde1: 0x400b, 0xde2: 0x400a, 0xde3: 0x400c, + 0xde4: 0x4048, 0xde5: 0x4000, 0xde6: 0x4000, 0xde7: 0x4000, 0xde8: 0x4000, 0xde9: 0x4000, + 0xdea: 0x4000, 0xdeb: 0x4000, 0xdec: 0x4000, 0xded: 0x4000, 0xdee: 0x4000, 0xdef: 0x4000, + 0xdf0: 0x4000, 0xdf1: 0x4000, 0xdf2: 0x4000, 0xdf3: 0x4000, 0xdf4: 0x4000, 0xdf5: 0x4000, + 0xdf6: 0x4000, 0xdf7: 0x4000, 0xdf8: 0x4000, 0xdf9: 0x4000, 0xdfa: 0x4000, 0xdfb: 0x4000, + 0xdfc: 0x4000, 0xdfd: 0x4000, 0xdfe: 0x4000, 0xdff: 0x4000, + // Block 0x38, offset 0xe00 + 0xe00: 0x4000, 0xe01: 0x4000, 0xe02: 0x4000, 0xe03: 0x4000, 0xe04: 0x4000, 0xe05: 0x4000, + 0xe06: 0x4000, 0xe07: 0x4000, 0xe08: 0x4000, 0xe09: 0x4000, 0xe0a: 0x4000, 0xe0b: 0x4000, + 0xe0c: 0x4000, 0xe0d: 0x4000, 0xe0e: 0x4000, 0xe10: 0x4000, 0xe11: 0x4000, + 0xe12: 0x4000, 0xe13: 0x4000, 0xe14: 0x4000, 0xe15: 0x4000, 0xe16: 0x4000, 0xe17: 0x4000, + 0xe18: 0x4000, 0xe19: 0x4000, 0xe1a: 0x4000, 0xe1b: 0x4000, 0xe1c: 0x4000, 0xe1d: 0x4000, + 0xe1e: 0x4000, 0xe1f: 0x4000, 0xe20: 0x4000, 0xe21: 0x4000, 0xe22: 0x4000, 0xe23: 0x4000, + 0xe24: 0x4000, 0xe25: 0x4000, 0xe26: 0x4000, 0xe27: 0x4000, 0xe28: 0x4000, 0xe29: 0x4000, + 0xe2a: 0x4000, 0xe2b: 0x4000, 0xe2c: 0x4000, 0xe2d: 0x4000, 0xe2e: 0x4000, 0xe2f: 0x4000, + 0xe30: 0x4000, 0xe31: 0x4000, 0xe32: 0x4000, 0xe33: 0x4000, 0xe34: 0x4000, 0xe35: 0x4000, + 0xe36: 0x4000, 0xe37: 0x4000, 0xe38: 0x4000, 0xe39: 0x4000, 0xe3a: 0x4000, + // Block 0x39, offset 0xe40 + 0xe40: 0x4000, 0xe41: 0x4000, 0xe42: 0x4000, 0xe43: 0x4000, 0xe44: 0x4000, 0xe45: 0x4000, + 0xe46: 0x4000, 0xe47: 0x4000, 0xe48: 0x4000, 0xe49: 0x4000, 0xe4a: 0x4000, 0xe4b: 0x4000, + 0xe4c: 0x4000, 0xe4d: 0x4000, 0xe4e: 0x4000, 0xe4f: 0x4000, 0xe50: 0x4000, 0xe51: 0x4000, + 0xe52: 0x4000, 0xe53: 0x4000, 0xe54: 0x4000, 0xe55: 0x4000, 0xe56: 0x4000, 0xe57: 0x4000, + 0xe58: 0x4000, 0xe59: 0x4000, 0xe5a: 0x4000, 0xe5b: 0x4000, 0xe5c: 0x4000, 0xe5d: 0x4000, + 0xe5e: 0x4000, 0xe5f: 0x4000, 0xe60: 0x4000, 0xe61: 0x4000, 0xe62: 0x4000, 0xe63: 0x4000, + 0xe70: 0x4000, 0xe71: 0x4000, 0xe72: 0x4000, 0xe73: 0x4000, 0xe74: 0x4000, 0xe75: 0x4000, + 0xe76: 0x4000, 0xe77: 0x4000, 0xe78: 0x4000, 0xe79: 0x4000, 0xe7a: 0x4000, 0xe7b: 0x4000, + 0xe7c: 0x4000, 0xe7d: 0x4000, 0xe7e: 0x4000, 0xe7f: 0x4000, + // Block 0x3a, offset 0xe80 + 0xe80: 0x4000, 0xe81: 0x4000, 0xe82: 0x4000, 0xe83: 0x4000, 0xe84: 0x4000, 0xe85: 0x4000, + 0xe86: 0x4000, 0xe87: 0x4000, 0xe88: 0x4000, 0xe89: 0x4000, 0xe8a: 0x4000, 0xe8b: 0x4000, + 0xe8c: 0x4000, 0xe8d: 0x4000, 0xe8e: 0x4000, 0xe8f: 0x4000, 0xe90: 0x4000, 0xe91: 0x4000, + 0xe92: 0x4000, 0xe93: 0x4000, 0xe94: 0x4000, 0xe95: 0x4000, 0xe96: 0x4000, 0xe97: 0x4000, + 0xe98: 0x4000, 0xe99: 0x4000, 0xe9a: 0x4000, 0xe9b: 0x4000, 0xe9c: 0x4000, 0xe9d: 0x4000, + 0xe9e: 0x4000, 0xea0: 0x4000, 0xea1: 0x4000, 0xea2: 0x4000, 0xea3: 0x4000, + 0xea4: 0x4000, 0xea5: 0x4000, 0xea6: 0x4000, 0xea7: 0x4000, 0xea8: 0x4000, 0xea9: 0x4000, + 0xeaa: 0x4000, 0xeab: 0x4000, 0xeac: 0x4000, 0xead: 0x4000, 0xeae: 0x4000, 0xeaf: 0x4000, + 0xeb0: 0x4000, 0xeb1: 0x4000, 0xeb2: 0x4000, 0xeb3: 0x4000, 0xeb4: 0x4000, 0xeb5: 0x4000, + 0xeb6: 0x4000, 0xeb7: 0x4000, 0xeb8: 0x4000, 0xeb9: 0x4000, 0xeba: 0x4000, 0xebb: 0x4000, + 0xebc: 0x4000, 0xebd: 0x4000, 0xebe: 0x4000, 0xebf: 0x4000, + // Block 0x3b, offset 0xec0 + 0xec0: 0x4000, 0xec1: 0x4000, 0xec2: 0x4000, 0xec3: 0x4000, 0xec4: 0x4000, 0xec5: 0x4000, + 0xec6: 0x4000, 0xec7: 0x4000, 0xec8: 0x2000, 0xec9: 0x2000, 0xeca: 0x2000, 0xecb: 0x2000, + 0xecc: 0x2000, 0xecd: 0x2000, 0xece: 0x2000, 0xecf: 0x2000, 0xed0: 0x4000, 0xed1: 0x4000, + 0xed2: 0x4000, 0xed3: 0x4000, 0xed4: 0x4000, 0xed5: 0x4000, 0xed6: 0x4000, 0xed7: 0x4000, + 0xed8: 0x4000, 0xed9: 0x4000, 0xeda: 0x4000, 0xedb: 0x4000, 0xedc: 0x4000, 0xedd: 0x4000, + 0xede: 0x4000, 0xedf: 0x4000, 0xee0: 0x4000, 0xee1: 0x4000, 0xee2: 0x4000, 0xee3: 0x4000, + 0xee4: 0x4000, 0xee5: 0x4000, 0xee6: 0x4000, 0xee7: 0x4000, 0xee8: 0x4000, 0xee9: 0x4000, + 0xeea: 0x4000, 0xeeb: 0x4000, 0xeec: 0x4000, 0xeed: 0x4000, 0xeee: 0x4000, 0xeef: 0x4000, + 0xef0: 0x4000, 0xef1: 0x4000, 0xef2: 0x4000, 0xef3: 0x4000, 0xef4: 0x4000, 0xef5: 0x4000, + 0xef6: 0x4000, 0xef7: 0x4000, 0xef8: 0x4000, 0xef9: 0x4000, 0xefa: 0x4000, 0xefb: 0x4000, + 0xefc: 0x4000, 0xefd: 0x4000, 0xefe: 0x4000, 0xeff: 0x4000, + // Block 0x3c, offset 0xf00 + 0xf00: 0x4000, 0xf01: 0x4000, 0xf02: 0x4000, 0xf03: 0x4000, 0xf04: 0x4000, 0xf05: 0x4000, + 0xf06: 0x4000, 0xf07: 0x4000, 0xf08: 0x4000, 0xf09: 0x4000, 0xf0a: 0x4000, 0xf0b: 0x4000, + 0xf0c: 0x4000, 0xf0d: 0x4000, 0xf0e: 0x4000, 0xf0f: 0x4000, 0xf10: 0x4000, 0xf11: 0x4000, + 0xf12: 0x4000, 0xf13: 0x4000, 0xf14: 0x4000, 0xf15: 0x4000, 0xf16: 0x4000, 0xf17: 0x4000, + 0xf18: 0x4000, 0xf19: 0x4000, 0xf1a: 0x4000, 0xf1b: 0x4000, 0xf1c: 0x4000, 0xf1d: 0x4000, + 0xf1e: 0x4000, 0xf1f: 0x4000, 0xf20: 0x4000, 0xf21: 0x4000, 0xf22: 0x4000, 0xf23: 0x4000, + 0xf24: 0x4000, 0xf25: 0x4000, 0xf26: 0x4000, 0xf27: 0x4000, 0xf28: 0x4000, 0xf29: 0x4000, + 0xf2a: 0x4000, 0xf2b: 0x4000, 0xf2c: 0x4000, 0xf2d: 0x4000, 0xf2e: 0x4000, 0xf2f: 0x4000, + 0xf30: 0x4000, 0xf31: 0x4000, 0xf32: 0x4000, 0xf33: 0x4000, 0xf34: 0x4000, 0xf35: 0x4000, + 0xf36: 0x4000, 0xf37: 0x4000, 0xf38: 0x4000, 0xf39: 0x4000, 0xf3a: 0x4000, 0xf3b: 0x4000, + 0xf3c: 0x4000, 0xf3d: 0x4000, 0xf3e: 0x4000, + // Block 0x3d, offset 0xf40 + 0xf40: 0x4000, 0xf41: 0x4000, 0xf42: 0x4000, 0xf43: 0x4000, 0xf44: 0x4000, 0xf45: 0x4000, + 0xf46: 0x4000, 0xf47: 0x4000, 0xf48: 0x4000, 0xf49: 0x4000, 0xf4a: 0x4000, 0xf4b: 0x4000, + 0xf4c: 0x4000, 0xf50: 0x4000, 0xf51: 0x4000, + 0xf52: 0x4000, 0xf53: 0x4000, 0xf54: 0x4000, 0xf55: 0x4000, 0xf56: 0x4000, 0xf57: 0x4000, + 0xf58: 0x4000, 0xf59: 0x4000, 0xf5a: 0x4000, 0xf5b: 0x4000, 0xf5c: 0x4000, 0xf5d: 0x4000, + 0xf5e: 0x4000, 0xf5f: 0x4000, 0xf60: 0x4000, 0xf61: 0x4000, 0xf62: 0x4000, 0xf63: 0x4000, + 0xf64: 0x4000, 0xf65: 0x4000, 0xf66: 0x4000, 0xf67: 0x4000, 0xf68: 0x4000, 0xf69: 0x4000, + 0xf6a: 0x4000, 0xf6b: 0x4000, 0xf6c: 0x4000, 0xf6d: 0x4000, 0xf6e: 0x4000, 0xf6f: 0x4000, + 0xf70: 0x4000, 0xf71: 0x4000, 0xf72: 0x4000, 0xf73: 0x4000, 0xf74: 0x4000, 0xf75: 0x4000, + 0xf76: 0x4000, 0xf77: 0x4000, 0xf78: 0x4000, 0xf79: 0x4000, 0xf7a: 0x4000, 0xf7b: 0x4000, + 0xf7c: 0x4000, 0xf7d: 0x4000, 0xf7e: 0x4000, 0xf7f: 0x4000, + // Block 0x3e, offset 0xf80 + 0xf80: 0x4000, 0xf81: 0x4000, 0xf82: 0x4000, 0xf83: 0x4000, 0xf84: 0x4000, 0xf85: 0x4000, + 0xf86: 0x4000, + // Block 0x3f, offset 0xfc0 + 0xfe0: 0x4000, 0xfe1: 0x4000, 0xfe2: 0x4000, 0xfe3: 0x4000, + 0xfe4: 0x4000, 0xfe5: 0x4000, 0xfe6: 0x4000, 0xfe7: 0x4000, 0xfe8: 0x4000, 0xfe9: 0x4000, + 0xfea: 0x4000, 0xfeb: 0x4000, 0xfec: 0x4000, 0xfed: 0x4000, 0xfee: 0x4000, 0xfef: 0x4000, + 0xff0: 0x4000, 0xff1: 0x4000, 0xff2: 0x4000, 0xff3: 0x4000, 0xff4: 0x4000, 0xff5: 0x4000, + 0xff6: 0x4000, 0xff7: 0x4000, 0xff8: 0x4000, 0xff9: 0x4000, 0xffa: 0x4000, 0xffb: 0x4000, + 0xffc: 0x4000, + // Block 0x40, offset 0x1000 + 0x1000: 0x4000, 0x1001: 0x4000, 0x1002: 0x4000, 0x1003: 0x4000, 0x1004: 0x4000, 0x1005: 0x4000, + 0x1006: 0x4000, 0x1007: 0x4000, 0x1008: 0x4000, 0x1009: 0x4000, 0x100a: 0x4000, 0x100b: 0x4000, + 0x100c: 0x4000, 0x100d: 0x4000, 0x100e: 0x4000, 0x100f: 0x4000, 0x1010: 0x4000, 0x1011: 0x4000, + 0x1012: 0x4000, 0x1013: 0x4000, 0x1014: 0x4000, 0x1015: 0x4000, 0x1016: 0x4000, 0x1017: 0x4000, + 0x1018: 0x4000, 0x1019: 0x4000, 0x101a: 0x4000, 0x101b: 0x4000, 0x101c: 0x4000, 0x101d: 0x4000, + 0x101e: 0x4000, 0x101f: 0x4000, 0x1020: 0x4000, 0x1021: 0x4000, 0x1022: 0x4000, 0x1023: 0x4000, + // Block 0x41, offset 0x1040 + 0x1040: 0x2000, 0x1041: 0x2000, 0x1042: 0x2000, 0x1043: 0x2000, 0x1044: 0x2000, 0x1045: 0x2000, + 0x1046: 0x2000, 0x1047: 0x2000, 0x1048: 0x2000, 0x1049: 0x2000, 0x104a: 0x2000, 0x104b: 0x2000, + 0x104c: 0x2000, 0x104d: 0x2000, 0x104e: 0x2000, 0x104f: 0x2000, 0x1050: 0x4000, 0x1051: 0x4000, + 0x1052: 0x4000, 0x1053: 0x4000, 0x1054: 0x4000, 0x1055: 0x4000, 0x1056: 0x4000, 0x1057: 0x4000, + 0x1058: 0x4000, 0x1059: 0x4000, + 0x1070: 0x4000, 0x1071: 0x4000, 0x1072: 0x4000, 0x1073: 0x4000, 0x1074: 0x4000, 0x1075: 0x4000, + 0x1076: 0x4000, 0x1077: 0x4000, 0x1078: 0x4000, 0x1079: 0x4000, 0x107a: 0x4000, 0x107b: 0x4000, + 0x107c: 0x4000, 0x107d: 0x4000, 0x107e: 0x4000, 0x107f: 0x4000, + // Block 0x42, offset 0x1080 + 0x1080: 0x4000, 0x1081: 0x4000, 0x1082: 0x4000, 0x1083: 0x4000, 0x1084: 0x4000, 0x1085: 0x4000, + 0x1086: 0x4000, 0x1087: 0x4000, 0x1088: 0x4000, 0x1089: 0x4000, 0x108a: 0x4000, 0x108b: 0x4000, + 0x108c: 0x4000, 0x108d: 0x4000, 0x108e: 0x4000, 0x108f: 0x4000, 0x1090: 0x4000, 0x1091: 0x4000, + 0x1092: 0x4000, 0x1094: 0x4000, 0x1095: 0x4000, 0x1096: 0x4000, 0x1097: 0x4000, + 0x1098: 0x4000, 0x1099: 0x4000, 0x109a: 0x4000, 0x109b: 0x4000, 0x109c: 0x4000, 0x109d: 0x4000, + 0x109e: 0x4000, 0x109f: 0x4000, 0x10a0: 0x4000, 0x10a1: 0x4000, 0x10a2: 0x4000, 0x10a3: 0x4000, + 0x10a4: 0x4000, 0x10a5: 0x4000, 0x10a6: 0x4000, 0x10a8: 0x4000, 0x10a9: 0x4000, + 0x10aa: 0x4000, 0x10ab: 0x4000, + // Block 0x43, offset 0x10c0 + 0x10c1: 0x9012, 0x10c2: 0x9012, 0x10c3: 0x9012, 0x10c4: 0x9012, 0x10c5: 0x9012, + 0x10c6: 0x9012, 0x10c7: 0x9012, 0x10c8: 0x9012, 0x10c9: 0x9012, 0x10ca: 0x9012, 0x10cb: 0x9012, + 0x10cc: 0x9012, 0x10cd: 0x9012, 0x10ce: 0x9012, 0x10cf: 0x9012, 0x10d0: 0x9012, 0x10d1: 0x9012, + 0x10d2: 0x9012, 0x10d3: 0x9012, 0x10d4: 0x9012, 0x10d5: 0x9012, 0x10d6: 0x9012, 0x10d7: 0x9012, + 0x10d8: 0x9012, 0x10d9: 0x9012, 0x10da: 0x9012, 0x10db: 0x9012, 0x10dc: 0x9012, 0x10dd: 0x9012, + 0x10de: 0x9012, 0x10df: 0x9012, 0x10e0: 0x9049, 0x10e1: 0x9049, 0x10e2: 0x9049, 0x10e3: 0x9049, + 0x10e4: 0x9049, 0x10e5: 0x9049, 0x10e6: 0x9049, 0x10e7: 0x9049, 0x10e8: 0x9049, 0x10e9: 0x9049, + 0x10ea: 0x9049, 0x10eb: 0x9049, 0x10ec: 0x9049, 0x10ed: 0x9049, 0x10ee: 0x9049, 0x10ef: 0x9049, + 0x10f0: 0x9049, 0x10f1: 0x9049, 0x10f2: 0x9049, 0x10f3: 0x9049, 0x10f4: 0x9049, 0x10f5: 0x9049, + 0x10f6: 0x9049, 0x10f7: 0x9049, 0x10f8: 0x9049, 0x10f9: 0x9049, 0x10fa: 0x9049, 0x10fb: 0x9049, + 0x10fc: 0x9049, 0x10fd: 0x9049, 0x10fe: 0x9049, 0x10ff: 0x9049, + // Block 0x44, offset 0x1100 + 0x1100: 0x9049, 0x1101: 0x9049, 0x1102: 0x9049, 0x1103: 0x9049, 0x1104: 0x9049, 0x1105: 0x9049, + 0x1106: 0x9049, 0x1107: 0x9049, 0x1108: 0x9049, 0x1109: 0x9049, 0x110a: 0x9049, 0x110b: 0x9049, + 0x110c: 0x9049, 0x110d: 0x9049, 0x110e: 0x9049, 0x110f: 0x9049, 0x1110: 0x9049, 0x1111: 0x9049, + 0x1112: 0x9049, 0x1113: 0x9049, 0x1114: 0x9049, 0x1115: 0x9049, 0x1116: 0x9049, 0x1117: 0x9049, + 0x1118: 0x9049, 0x1119: 0x9049, 0x111a: 0x9049, 0x111b: 0x9049, 0x111c: 0x9049, 0x111d: 0x9049, + 0x111e: 0x9049, 0x111f: 0x904a, 0x1120: 0x904b, 0x1121: 0xb04c, 0x1122: 0xb04d, 0x1123: 0xb04d, + 0x1124: 0xb04e, 0x1125: 0xb04f, 0x1126: 0xb050, 0x1127: 0xb051, 0x1128: 0xb052, 0x1129: 0xb053, + 0x112a: 0xb054, 0x112b: 0xb055, 0x112c: 0xb056, 0x112d: 0xb057, 0x112e: 0xb058, 0x112f: 0xb059, + 0x1130: 0xb05a, 0x1131: 0xb05b, 0x1132: 0xb05c, 0x1133: 0xb05d, 0x1134: 0xb05e, 0x1135: 0xb05f, + 0x1136: 0xb060, 0x1137: 0xb061, 0x1138: 0xb062, 0x1139: 0xb063, 0x113a: 0xb064, 0x113b: 0xb065, + 0x113c: 0xb052, 0x113d: 0xb066, 0x113e: 0xb067, 0x113f: 0xb055, + // Block 0x45, offset 0x1140 + 0x1140: 0xb068, 0x1141: 0xb069, 0x1142: 0xb06a, 0x1143: 0xb06b, 0x1144: 0xb05a, 0x1145: 0xb056, + 0x1146: 0xb06c, 0x1147: 0xb06d, 0x1148: 0xb06b, 0x1149: 0xb06e, 0x114a: 0xb06b, 0x114b: 0xb06f, + 0x114c: 0xb06f, 0x114d: 0xb070, 0x114e: 0xb070, 0x114f: 0xb071, 0x1150: 0xb056, 0x1151: 0xb072, + 0x1152: 0xb073, 0x1153: 0xb072, 0x1154: 0xb074, 0x1155: 0xb073, 0x1156: 0xb075, 0x1157: 0xb075, + 0x1158: 0xb076, 0x1159: 0xb076, 0x115a: 0xb077, 0x115b: 0xb077, 0x115c: 0xb073, 0x115d: 0xb078, + 0x115e: 0xb079, 0x115f: 0xb067, 0x1160: 0xb07a, 0x1161: 0xb07b, 0x1162: 0xb07b, 0x1163: 0xb07b, + 0x1164: 0xb07b, 0x1165: 0xb07b, 0x1166: 0xb07b, 0x1167: 0xb07b, 0x1168: 0xb07b, 0x1169: 0xb07b, + 0x116a: 0xb07b, 0x116b: 0xb07b, 0x116c: 0xb07b, 0x116d: 0xb07b, 0x116e: 0xb07b, 0x116f: 0xb07b, + 0x1170: 0xb07c, 0x1171: 0xb07c, 0x1172: 0xb07c, 0x1173: 0xb07c, 0x1174: 0xb07c, 0x1175: 0xb07c, + 0x1176: 0xb07c, 0x1177: 0xb07c, 0x1178: 0xb07c, 0x1179: 0xb07c, 0x117a: 0xb07c, 0x117b: 0xb07c, + 0x117c: 0xb07c, 0x117d: 0xb07c, 0x117e: 0xb07c, + // Block 0x46, offset 0x1180 + 0x1182: 0xb07d, 0x1183: 0xb07e, 0x1184: 0xb07f, 0x1185: 0xb080, + 0x1186: 0xb07f, 0x1187: 0xb07e, 0x118a: 0xb081, 0x118b: 0xb082, + 0x118c: 0xb083, 0x118d: 0xb07f, 0x118e: 0xb080, 0x118f: 0xb07f, + 0x1192: 0xb084, 0x1193: 0xb085, 0x1194: 0xb084, 0x1195: 0xb086, 0x1196: 0xb084, 0x1197: 0xb087, + 0x119a: 0xb088, 0x119b: 0xb089, 0x119c: 0xb08a, + 0x11a0: 0x908b, 0x11a1: 0x908b, 0x11a2: 0x908c, 0x11a3: 0x908d, + 0x11a4: 0x908b, 0x11a5: 0x908e, 0x11a6: 0x908f, 0x11a8: 0xb090, 0x11a9: 0xb091, + 0x11aa: 0xb092, 0x11ab: 0xb091, 0x11ac: 0xb093, 0x11ad: 0xb094, 0x11ae: 0xb095, + 0x11bd: 0x2000, + // Block 0x47, offset 0x11c0 + 0x11e0: 0x4000, 0x11e1: 0x4000, + // Block 0x48, offset 0x1200 + 0x1200: 0x4000, 0x1201: 0x4000, 0x1202: 0x4000, 0x1203: 0x4000, 0x1204: 0x4000, 0x1205: 0x4000, + 0x1206: 0x4000, 0x1207: 0x4000, 0x1208: 0x4000, 0x1209: 0x4000, 0x120a: 0x4000, 0x120b: 0x4000, + 0x120c: 0x4000, 0x120d: 0x4000, 0x120e: 0x4000, 0x120f: 0x4000, 0x1210: 0x4000, 0x1211: 0x4000, + 0x1212: 0x4000, 0x1213: 0x4000, 0x1214: 0x4000, 0x1215: 0x4000, 0x1216: 0x4000, 0x1217: 0x4000, + 0x1218: 0x4000, 0x1219: 0x4000, 0x121a: 0x4000, 0x121b: 0x4000, 0x121c: 0x4000, 0x121d: 0x4000, + 0x121e: 0x4000, 0x121f: 0x4000, 0x1220: 0x4000, 0x1221: 0x4000, 0x1222: 0x4000, 0x1223: 0x4000, + 0x1224: 0x4000, 0x1225: 0x4000, 0x1226: 0x4000, 0x1227: 0x4000, 0x1228: 0x4000, 0x1229: 0x4000, + 0x122a: 0x4000, 0x122b: 0x4000, 0x122c: 0x4000, 0x122d: 0x4000, 0x122e: 0x4000, 0x122f: 0x4000, + 0x1230: 0x4000, 0x1231: 0x4000, + // Block 0x49, offset 0x1240 + 0x1240: 0x4000, 0x1241: 0x4000, 0x1242: 0x4000, 0x1243: 0x4000, 0x1244: 0x4000, 0x1245: 0x4000, + 0x1246: 0x4000, 0x1247: 0x4000, 0x1248: 0x4000, 0x1249: 0x4000, 0x124a: 0x4000, 0x124b: 0x4000, + 0x124c: 0x4000, 0x124d: 0x4000, 0x124e: 0x4000, 0x124f: 0x4000, 0x1250: 0x4000, 0x1251: 0x4000, + 0x1252: 0x4000, 0x1253: 0x4000, 0x1254: 0x4000, 0x1255: 0x4000, 0x1256: 0x4000, 0x1257: 0x4000, + 0x1258: 0x4000, 0x1259: 0x4000, 0x125a: 0x4000, 0x125b: 0x4000, 0x125c: 0x4000, 0x125d: 0x4000, + 0x125e: 0x4000, 0x125f: 0x4000, 0x1260: 0x4000, 0x1261: 0x4000, 0x1262: 0x4000, 0x1263: 0x4000, + 0x1264: 0x4000, 0x1265: 0x4000, 0x1266: 0x4000, 0x1267: 0x4000, 0x1268: 0x4000, 0x1269: 0x4000, + 0x126a: 0x4000, 0x126b: 0x4000, 0x126c: 0x4000, 0x126d: 0x4000, 0x126e: 0x4000, 0x126f: 0x4000, + 0x1270: 0x4000, 0x1271: 0x4000, 0x1272: 0x4000, + // Block 0x4a, offset 0x1280 + 0x1280: 0x4000, 0x1281: 0x4000, 0x1282: 0x4000, 0x1283: 0x4000, 0x1284: 0x4000, 0x1285: 0x4000, + 0x1286: 0x4000, 0x1287: 0x4000, 0x1288: 0x4000, 0x1289: 0x4000, 0x128a: 0x4000, 0x128b: 0x4000, + 0x128c: 0x4000, 0x128d: 0x4000, 0x128e: 0x4000, 0x128f: 0x4000, 0x1290: 0x4000, 0x1291: 0x4000, + 0x1292: 0x4000, 0x1293: 0x4000, 0x1294: 0x4000, 0x1295: 0x4000, 0x1296: 0x4000, 0x1297: 0x4000, + 0x1298: 0x4000, 0x1299: 0x4000, 0x129a: 0x4000, 0x129b: 0x4000, 0x129c: 0x4000, 0x129d: 0x4000, + 0x129e: 0x4000, + // Block 0x4b, offset 0x12c0 + 0x12f0: 0x4000, 0x12f1: 0x4000, 0x12f2: 0x4000, 0x12f3: 0x4000, 0x12f4: 0x4000, 0x12f5: 0x4000, + 0x12f6: 0x4000, 0x12f7: 0x4000, 0x12f8: 0x4000, 0x12f9: 0x4000, 0x12fa: 0x4000, 0x12fb: 0x4000, + 0x12fc: 0x4000, 0x12fd: 0x4000, 0x12fe: 0x4000, 0x12ff: 0x4000, + // Block 0x4c, offset 0x1300 + 0x1300: 0x4000, 0x1301: 0x4000, 0x1302: 0x4000, 0x1303: 0x4000, 0x1304: 0x4000, 0x1305: 0x4000, + 0x1306: 0x4000, 0x1307: 0x4000, 0x1308: 0x4000, 0x1309: 0x4000, 0x130a: 0x4000, 0x130b: 0x4000, + 0x130c: 0x4000, 0x130d: 0x4000, 0x130e: 0x4000, 0x130f: 0x4000, 0x1310: 0x4000, 0x1311: 0x4000, + 0x1312: 0x4000, 0x1313: 0x4000, 0x1314: 0x4000, 0x1315: 0x4000, 0x1316: 0x4000, 0x1317: 0x4000, + 0x1318: 0x4000, 0x1319: 0x4000, 0x131a: 0x4000, 0x131b: 0x4000, 0x131c: 0x4000, 0x131d: 0x4000, + 0x131e: 0x4000, 0x131f: 0x4000, 0x1320: 0x4000, 0x1321: 0x4000, 0x1322: 0x4000, 0x1323: 0x4000, + 0x1324: 0x4000, 0x1325: 0x4000, 0x1326: 0x4000, 0x1327: 0x4000, 0x1328: 0x4000, 0x1329: 0x4000, + 0x132a: 0x4000, 0x132b: 0x4000, 0x132c: 0x4000, 0x132d: 0x4000, 0x132e: 0x4000, 0x132f: 0x4000, + 0x1330: 0x4000, 0x1331: 0x4000, 0x1332: 0x4000, 0x1333: 0x4000, 0x1334: 0x4000, 0x1335: 0x4000, + 0x1336: 0x4000, 0x1337: 0x4000, 0x1338: 0x4000, 0x1339: 0x4000, 0x133a: 0x4000, 0x133b: 0x4000, + // Block 0x4d, offset 0x1340 + 0x1344: 0x4000, + // Block 0x4e, offset 0x1380 + 0x138f: 0x4000, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x2000, 0x13c1: 0x2000, 0x13c2: 0x2000, 0x13c3: 0x2000, 0x13c4: 0x2000, 0x13c5: 0x2000, + 0x13c6: 0x2000, 0x13c7: 0x2000, 0x13c8: 0x2000, 0x13c9: 0x2000, 0x13ca: 0x2000, + 0x13d0: 0x2000, 0x13d1: 0x2000, + 0x13d2: 0x2000, 0x13d3: 0x2000, 0x13d4: 0x2000, 0x13d5: 0x2000, 0x13d6: 0x2000, 0x13d7: 0x2000, + 0x13d8: 0x2000, 0x13d9: 0x2000, 0x13da: 0x2000, 0x13db: 0x2000, 0x13dc: 0x2000, 0x13dd: 0x2000, + 0x13de: 0x2000, 0x13df: 0x2000, 0x13e0: 0x2000, 0x13e1: 0x2000, 0x13e2: 0x2000, 0x13e3: 0x2000, + 0x13e4: 0x2000, 0x13e5: 0x2000, 0x13e6: 0x2000, 0x13e7: 0x2000, 0x13e8: 0x2000, 0x13e9: 0x2000, + 0x13ea: 0x2000, 0x13eb: 0x2000, 0x13ec: 0x2000, 0x13ed: 0x2000, + 0x13f0: 0x2000, 0x13f1: 0x2000, 0x13f2: 0x2000, 0x13f3: 0x2000, 0x13f4: 0x2000, 0x13f5: 0x2000, + 0x13f6: 0x2000, 0x13f7: 0x2000, 0x13f8: 0x2000, 0x13f9: 0x2000, 0x13fa: 0x2000, 0x13fb: 0x2000, + 0x13fc: 0x2000, 0x13fd: 0x2000, 0x13fe: 0x2000, 0x13ff: 0x2000, + // Block 0x50, offset 0x1400 + 0x1400: 0x2000, 0x1401: 0x2000, 0x1402: 0x2000, 0x1403: 0x2000, 0x1404: 0x2000, 0x1405: 0x2000, + 0x1406: 0x2000, 0x1407: 0x2000, 0x1408: 0x2000, 0x1409: 0x2000, 0x140a: 0x2000, 0x140b: 0x2000, + 0x140c: 0x2000, 0x140d: 0x2000, 0x140e: 0x2000, 0x140f: 0x2000, 0x1410: 0x2000, 0x1411: 0x2000, + 0x1412: 0x2000, 0x1413: 0x2000, 0x1414: 0x2000, 0x1415: 0x2000, 0x1416: 0x2000, 0x1417: 0x2000, + 0x1418: 0x2000, 0x1419: 0x2000, 0x141a: 0x2000, 0x141b: 0x2000, 0x141c: 0x2000, 0x141d: 0x2000, + 0x141e: 0x2000, 0x141f: 0x2000, 0x1420: 0x2000, 0x1421: 0x2000, 0x1422: 0x2000, 0x1423: 0x2000, + 0x1424: 0x2000, 0x1425: 0x2000, 0x1426: 0x2000, 0x1427: 0x2000, 0x1428: 0x2000, 0x1429: 0x2000, + 0x1430: 0x2000, 0x1431: 0x2000, 0x1432: 0x2000, 0x1433: 0x2000, 0x1434: 0x2000, 0x1435: 0x2000, + 0x1436: 0x2000, 0x1437: 0x2000, 0x1438: 0x2000, 0x1439: 0x2000, 0x143a: 0x2000, 0x143b: 0x2000, + 0x143c: 0x2000, 0x143d: 0x2000, 0x143e: 0x2000, 0x143f: 0x2000, + // Block 0x51, offset 0x1440 + 0x1440: 0x2000, 0x1441: 0x2000, 0x1442: 0x2000, 0x1443: 0x2000, 0x1444: 0x2000, 0x1445: 0x2000, + 0x1446: 0x2000, 0x1447: 0x2000, 0x1448: 0x2000, 0x1449: 0x2000, 0x144a: 0x2000, 0x144b: 0x2000, + 0x144c: 0x2000, 0x144d: 0x2000, 0x144e: 0x4000, 0x144f: 0x2000, 0x1450: 0x2000, 0x1451: 0x4000, + 0x1452: 0x4000, 0x1453: 0x4000, 0x1454: 0x4000, 0x1455: 0x4000, 0x1456: 0x4000, 0x1457: 0x4000, + 0x1458: 0x4000, 0x1459: 0x4000, 0x145a: 0x4000, 0x145b: 0x2000, 0x145c: 0x2000, 0x145d: 0x2000, + 0x145e: 0x2000, 0x145f: 0x2000, 0x1460: 0x2000, 0x1461: 0x2000, 0x1462: 0x2000, 0x1463: 0x2000, + 0x1464: 0x2000, 0x1465: 0x2000, 0x1466: 0x2000, 0x1467: 0x2000, 0x1468: 0x2000, 0x1469: 0x2000, + 0x146a: 0x2000, 0x146b: 0x2000, 0x146c: 0x2000, + // Block 0x52, offset 0x1480 + 0x1480: 0x4000, 0x1481: 0x4000, 0x1482: 0x4000, + 0x1490: 0x4000, 0x1491: 0x4000, + 0x1492: 0x4000, 0x1493: 0x4000, 0x1494: 0x4000, 0x1495: 0x4000, 0x1496: 0x4000, 0x1497: 0x4000, + 0x1498: 0x4000, 0x1499: 0x4000, 0x149a: 0x4000, 0x149b: 0x4000, 0x149c: 0x4000, 0x149d: 0x4000, + 0x149e: 0x4000, 0x149f: 0x4000, 0x14a0: 0x4000, 0x14a1: 0x4000, 0x14a2: 0x4000, 0x14a3: 0x4000, + 0x14a4: 0x4000, 0x14a5: 0x4000, 0x14a6: 0x4000, 0x14a7: 0x4000, 0x14a8: 0x4000, 0x14a9: 0x4000, + 0x14aa: 0x4000, 0x14ab: 0x4000, 0x14ac: 0x4000, 0x14ad: 0x4000, 0x14ae: 0x4000, 0x14af: 0x4000, + 0x14b0: 0x4000, 0x14b1: 0x4000, 0x14b2: 0x4000, 0x14b3: 0x4000, 0x14b4: 0x4000, 0x14b5: 0x4000, + 0x14b6: 0x4000, 0x14b7: 0x4000, 0x14b8: 0x4000, 0x14b9: 0x4000, 0x14ba: 0x4000, 0x14bb: 0x4000, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x4000, 0x14c1: 0x4000, 0x14c2: 0x4000, 0x14c3: 0x4000, 0x14c4: 0x4000, 0x14c5: 0x4000, + 0x14c6: 0x4000, 0x14c7: 0x4000, 0x14c8: 0x4000, + 0x14d0: 0x4000, 0x14d1: 0x4000, + 0x14e0: 0x4000, 0x14e1: 0x4000, 0x14e2: 0x4000, 0x14e3: 0x4000, + 0x14e4: 0x4000, 0x14e5: 0x4000, + // Block 0x54, offset 0x1500 + 0x1500: 0x4000, 0x1501: 0x4000, 0x1502: 0x4000, 0x1503: 0x4000, 0x1504: 0x4000, 0x1505: 0x4000, + 0x1506: 0x4000, 0x1507: 0x4000, 0x1508: 0x4000, 0x1509: 0x4000, 0x150a: 0x4000, 0x150b: 0x4000, + 0x150c: 0x4000, 0x150d: 0x4000, 0x150e: 0x4000, 0x150f: 0x4000, 0x1510: 0x4000, 0x1511: 0x4000, + 0x1512: 0x4000, 0x1513: 0x4000, 0x1514: 0x4000, 0x1515: 0x4000, 0x1516: 0x4000, 0x1517: 0x4000, + 0x1518: 0x4000, 0x1519: 0x4000, 0x151a: 0x4000, 0x151b: 0x4000, 0x151c: 0x4000, 0x151d: 0x4000, + 0x151e: 0x4000, 0x151f: 0x4000, 0x1520: 0x4000, + 0x152d: 0x4000, 0x152e: 0x4000, 0x152f: 0x4000, + 0x1530: 0x4000, 0x1531: 0x4000, 0x1532: 0x4000, 0x1533: 0x4000, 0x1534: 0x4000, 0x1535: 0x4000, + 0x1537: 0x4000, 0x1538: 0x4000, 0x1539: 0x4000, 0x153a: 0x4000, 0x153b: 0x4000, + 0x153c: 0x4000, 0x153d: 0x4000, 0x153e: 0x4000, 0x153f: 0x4000, + // Block 0x55, offset 0x1540 + 0x1540: 0x4000, 0x1541: 0x4000, 0x1542: 0x4000, 0x1543: 0x4000, 0x1544: 0x4000, 0x1545: 0x4000, + 0x1546: 0x4000, 0x1547: 0x4000, 0x1548: 0x4000, 0x1549: 0x4000, 0x154a: 0x4000, 0x154b: 0x4000, + 0x154c: 0x4000, 0x154d: 0x4000, 0x154e: 0x4000, 0x154f: 0x4000, 0x1550: 0x4000, 0x1551: 0x4000, + 0x1552: 0x4000, 0x1553: 0x4000, 0x1554: 0x4000, 0x1555: 0x4000, 0x1556: 0x4000, 0x1557: 0x4000, + 0x1558: 0x4000, 0x1559: 0x4000, 0x155a: 0x4000, 0x155b: 0x4000, 0x155c: 0x4000, 0x155d: 0x4000, + 0x155e: 0x4000, 0x155f: 0x4000, 0x1560: 0x4000, 0x1561: 0x4000, 0x1562: 0x4000, 0x1563: 0x4000, + 0x1564: 0x4000, 0x1565: 0x4000, 0x1566: 0x4000, 0x1567: 0x4000, 0x1568: 0x4000, 0x1569: 0x4000, + 0x156a: 0x4000, 0x156b: 0x4000, 0x156c: 0x4000, 0x156d: 0x4000, 0x156e: 0x4000, 0x156f: 0x4000, + 0x1570: 0x4000, 0x1571: 0x4000, 0x1572: 0x4000, 0x1573: 0x4000, 0x1574: 0x4000, 0x1575: 0x4000, + 0x1576: 0x4000, 0x1577: 0x4000, 0x1578: 0x4000, 0x1579: 0x4000, 0x157a: 0x4000, 0x157b: 0x4000, + 0x157c: 0x4000, 0x157e: 0x4000, 0x157f: 0x4000, + // Block 0x56, offset 0x1580 + 0x1580: 0x4000, 0x1581: 0x4000, 0x1582: 0x4000, 0x1583: 0x4000, 0x1584: 0x4000, 0x1585: 0x4000, + 0x1586: 0x4000, 0x1587: 0x4000, 0x1588: 0x4000, 0x1589: 0x4000, 0x158a: 0x4000, 0x158b: 0x4000, + 0x158c: 0x4000, 0x158d: 0x4000, 0x158e: 0x4000, 0x158f: 0x4000, 0x1590: 0x4000, 0x1591: 0x4000, + 0x1592: 0x4000, 0x1593: 0x4000, + 0x15a0: 0x4000, 0x15a1: 0x4000, 0x15a2: 0x4000, 0x15a3: 0x4000, + 0x15a4: 0x4000, 0x15a5: 0x4000, 0x15a6: 0x4000, 0x15a7: 0x4000, 0x15a8: 0x4000, 0x15a9: 0x4000, + 0x15aa: 0x4000, 0x15ab: 0x4000, 0x15ac: 0x4000, 0x15ad: 0x4000, 0x15ae: 0x4000, 0x15af: 0x4000, + 0x15b0: 0x4000, 0x15b1: 0x4000, 0x15b2: 0x4000, 0x15b3: 0x4000, 0x15b4: 0x4000, 0x15b5: 0x4000, + 0x15b6: 0x4000, 0x15b7: 0x4000, 0x15b8: 0x4000, 0x15b9: 0x4000, 0x15ba: 0x4000, 0x15bb: 0x4000, + 0x15bc: 0x4000, 0x15bd: 0x4000, 0x15be: 0x4000, 0x15bf: 0x4000, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x4000, 0x15c1: 0x4000, 0x15c2: 0x4000, 0x15c3: 0x4000, 0x15c4: 0x4000, 0x15c5: 0x4000, + 0x15c6: 0x4000, 0x15c7: 0x4000, 0x15c8: 0x4000, 0x15c9: 0x4000, 0x15ca: 0x4000, + 0x15cf: 0x4000, 0x15d0: 0x4000, 0x15d1: 0x4000, + 0x15d2: 0x4000, 0x15d3: 0x4000, + 0x15e0: 0x4000, 0x15e1: 0x4000, 0x15e2: 0x4000, 0x15e3: 0x4000, + 0x15e4: 0x4000, 0x15e5: 0x4000, 0x15e6: 0x4000, 0x15e7: 0x4000, 0x15e8: 0x4000, 0x15e9: 0x4000, + 0x15ea: 0x4000, 0x15eb: 0x4000, 0x15ec: 0x4000, 0x15ed: 0x4000, 0x15ee: 0x4000, 0x15ef: 0x4000, + 0x15f0: 0x4000, 0x15f4: 0x4000, + 0x15f8: 0x4000, 0x15f9: 0x4000, 0x15fa: 0x4000, 0x15fb: 0x4000, + 0x15fc: 0x4000, 0x15fd: 0x4000, 0x15fe: 0x4000, 0x15ff: 0x4000, + // Block 0x58, offset 0x1600 + 0x1600: 0x4000, 0x1602: 0x4000, 0x1603: 0x4000, 0x1604: 0x4000, 0x1605: 0x4000, + 0x1606: 0x4000, 0x1607: 0x4000, 0x1608: 0x4000, 0x1609: 0x4000, 0x160a: 0x4000, 0x160b: 0x4000, + 0x160c: 0x4000, 0x160d: 0x4000, 0x160e: 0x4000, 0x160f: 0x4000, 0x1610: 0x4000, 0x1611: 0x4000, + 0x1612: 0x4000, 0x1613: 0x4000, 0x1614: 0x4000, 0x1615: 0x4000, 0x1616: 0x4000, 0x1617: 0x4000, + 0x1618: 0x4000, 0x1619: 0x4000, 0x161a: 0x4000, 0x161b: 0x4000, 0x161c: 0x4000, 0x161d: 0x4000, + 0x161e: 0x4000, 0x161f: 0x4000, 0x1620: 0x4000, 0x1621: 0x4000, 0x1622: 0x4000, 0x1623: 0x4000, + 0x1624: 0x4000, 0x1625: 0x4000, 0x1626: 0x4000, 0x1627: 0x4000, 0x1628: 0x4000, 0x1629: 0x4000, + 0x162a: 0x4000, 0x162b: 0x4000, 0x162c: 0x4000, 0x162d: 0x4000, 0x162e: 0x4000, 0x162f: 0x4000, + 0x1630: 0x4000, 0x1631: 0x4000, 0x1632: 0x4000, 0x1633: 0x4000, 0x1634: 0x4000, 0x1635: 0x4000, + 0x1636: 0x4000, 0x1637: 0x4000, 0x1638: 0x4000, 0x1639: 0x4000, 0x163a: 0x4000, 0x163b: 0x4000, + 0x163c: 0x4000, 0x163d: 0x4000, 0x163e: 0x4000, 0x163f: 0x4000, + // Block 0x59, offset 0x1640 + 0x1640: 0x4000, 0x1641: 0x4000, 0x1642: 0x4000, 0x1643: 0x4000, 0x1644: 0x4000, 0x1645: 0x4000, + 0x1646: 0x4000, 0x1647: 0x4000, 0x1648: 0x4000, 0x1649: 0x4000, 0x164a: 0x4000, 0x164b: 0x4000, + 0x164c: 0x4000, 0x164d: 0x4000, 0x164e: 0x4000, 0x164f: 0x4000, 0x1650: 0x4000, 0x1651: 0x4000, + 0x1652: 0x4000, 0x1653: 0x4000, 0x1654: 0x4000, 0x1655: 0x4000, 0x1656: 0x4000, 0x1657: 0x4000, + 0x1658: 0x4000, 0x1659: 0x4000, 0x165a: 0x4000, 0x165b: 0x4000, 0x165c: 0x4000, 0x165d: 0x4000, + 0x165e: 0x4000, 0x165f: 0x4000, 0x1660: 0x4000, 0x1661: 0x4000, 0x1662: 0x4000, 0x1663: 0x4000, + 0x1664: 0x4000, 0x1665: 0x4000, 0x1666: 0x4000, 0x1667: 0x4000, 0x1668: 0x4000, 0x1669: 0x4000, + 0x166a: 0x4000, 0x166b: 0x4000, 0x166c: 0x4000, 0x166d: 0x4000, 0x166e: 0x4000, 0x166f: 0x4000, + 0x1670: 0x4000, 0x1671: 0x4000, 0x1672: 0x4000, 0x1673: 0x4000, 0x1674: 0x4000, 0x1675: 0x4000, + 0x1676: 0x4000, 0x1677: 0x4000, 0x1678: 0x4000, 0x1679: 0x4000, 0x167a: 0x4000, 0x167b: 0x4000, + 0x167c: 0x4000, 0x167f: 0x4000, + // Block 0x5a, offset 0x1680 + 0x1680: 0x4000, 0x1681: 0x4000, 0x1682: 0x4000, 0x1683: 0x4000, 0x1684: 0x4000, 0x1685: 0x4000, + 0x1686: 0x4000, 0x1687: 0x4000, 0x1688: 0x4000, 0x1689: 0x4000, 0x168a: 0x4000, 0x168b: 0x4000, + 0x168c: 0x4000, 0x168d: 0x4000, 0x168e: 0x4000, 0x168f: 0x4000, 0x1690: 0x4000, 0x1691: 0x4000, + 0x1692: 0x4000, 0x1693: 0x4000, 0x1694: 0x4000, 0x1695: 0x4000, 0x1696: 0x4000, 0x1697: 0x4000, + 0x1698: 0x4000, 0x1699: 0x4000, 0x169a: 0x4000, 0x169b: 0x4000, 0x169c: 0x4000, 0x169d: 0x4000, + 0x169e: 0x4000, 0x169f: 0x4000, 0x16a0: 0x4000, 0x16a1: 0x4000, 0x16a2: 0x4000, 0x16a3: 0x4000, + 0x16a4: 0x4000, 0x16a5: 0x4000, 0x16a6: 0x4000, 0x16a7: 0x4000, 0x16a8: 0x4000, 0x16a9: 0x4000, + 0x16aa: 0x4000, 0x16ab: 0x4000, 0x16ac: 0x4000, 0x16ad: 0x4000, 0x16ae: 0x4000, 0x16af: 0x4000, + 0x16b0: 0x4000, 0x16b1: 0x4000, 0x16b2: 0x4000, 0x16b3: 0x4000, 0x16b4: 0x4000, 0x16b5: 0x4000, + 0x16b6: 0x4000, 0x16b7: 0x4000, 0x16b8: 0x4000, 0x16b9: 0x4000, 0x16ba: 0x4000, 0x16bb: 0x4000, + 0x16bc: 0x4000, 0x16bd: 0x4000, + // Block 0x5b, offset 0x16c0 + 0x16cb: 0x4000, + 0x16cc: 0x4000, 0x16cd: 0x4000, 0x16ce: 0x4000, 0x16d0: 0x4000, 0x16d1: 0x4000, + 0x16d2: 0x4000, 0x16d3: 0x4000, 0x16d4: 0x4000, 0x16d5: 0x4000, 0x16d6: 0x4000, 0x16d7: 0x4000, + 0x16d8: 0x4000, 0x16d9: 0x4000, 0x16da: 0x4000, 0x16db: 0x4000, 0x16dc: 0x4000, 0x16dd: 0x4000, + 0x16de: 0x4000, 0x16df: 0x4000, 0x16e0: 0x4000, 0x16e1: 0x4000, 0x16e2: 0x4000, 0x16e3: 0x4000, + 0x16e4: 0x4000, 0x16e5: 0x4000, 0x16e6: 0x4000, 0x16e7: 0x4000, + 0x16fa: 0x4000, + // Block 0x5c, offset 0x1700 + 0x1715: 0x4000, 0x1716: 0x4000, + 0x1724: 0x4000, + // Block 0x5d, offset 0x1740 + 0x177b: 0x4000, + 0x177c: 0x4000, 0x177d: 0x4000, 0x177e: 0x4000, 0x177f: 0x4000, + // Block 0x5e, offset 0x1780 + 0x1780: 0x4000, 0x1781: 0x4000, 0x1782: 0x4000, 0x1783: 0x4000, 0x1784: 0x4000, 0x1785: 0x4000, + 0x1786: 0x4000, 0x1787: 0x4000, 0x1788: 0x4000, 0x1789: 0x4000, 0x178a: 0x4000, 0x178b: 0x4000, + 0x178c: 0x4000, 0x178d: 0x4000, 0x178e: 0x4000, 0x178f: 0x4000, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x4000, 0x17c1: 0x4000, 0x17c2: 0x4000, 0x17c3: 0x4000, 0x17c4: 0x4000, 0x17c5: 0x4000, + 0x17cc: 0x4000, 0x17d0: 0x4000, 0x17d1: 0x4000, + 0x17d2: 0x4000, + 0x17eb: 0x4000, 0x17ec: 0x4000, + 0x17f4: 0x4000, 0x17f5: 0x4000, + 0x17f6: 0x4000, 0x17f7: 0x4000, 0x17f8: 0x4000, 0x17f9: 0x4000, + // Block 0x60, offset 0x1800 + 0x1810: 0x4000, 0x1811: 0x4000, + 0x1812: 0x4000, 0x1813: 0x4000, 0x1814: 0x4000, 0x1815: 0x4000, 0x1816: 0x4000, 0x1817: 0x4000, + 0x1818: 0x4000, 0x1819: 0x4000, 0x181a: 0x4000, 0x181b: 0x4000, 0x181c: 0x4000, 0x181d: 0x4000, + 0x181e: 0x4000, 0x181f: 0x4000, 0x1820: 0x4000, 0x1821: 0x4000, 0x1822: 0x4000, 0x1823: 0x4000, + 0x1824: 0x4000, 0x1825: 0x4000, 0x1826: 0x4000, 0x1827: 0x4000, 0x1828: 0x4000, 0x1829: 0x4000, + 0x182a: 0x4000, 0x182b: 0x4000, 0x182c: 0x4000, 0x182d: 0x4000, 0x182e: 0x4000, 0x182f: 0x4000, + 0x1830: 0x4000, 0x1831: 0x4000, 0x1832: 0x4000, 0x1833: 0x4000, 0x1834: 0x4000, 0x1835: 0x4000, + 0x1836: 0x4000, 0x1837: 0x4000, 0x1838: 0x4000, 0x1839: 0x4000, 0x183a: 0x4000, 0x183b: 0x4000, + 0x183c: 0x4000, 0x183d: 0x4000, 0x183e: 0x4000, + // Block 0x61, offset 0x1840 + 0x1840: 0x4000, 0x1841: 0x4000, 0x1842: 0x4000, 0x1843: 0x4000, 0x1844: 0x4000, 0x1845: 0x4000, + 0x1846: 0x4000, 0x1847: 0x4000, 0x1848: 0x4000, 0x1849: 0x4000, 0x184a: 0x4000, 0x184b: 0x4000, + 0x184c: 0x4000, 0x184d: 0x4000, 0x184e: 0x4000, 0x184f: 0x4000, 0x1850: 0x4000, 0x1851: 0x4000, + 0x1852: 0x4000, 0x1853: 0x4000, 0x1854: 0x4000, 0x1855: 0x4000, 0x1856: 0x4000, 0x1857: 0x4000, + 0x1858: 0x4000, 0x1859: 0x4000, 0x185a: 0x4000, 0x185b: 0x4000, 0x185c: 0x4000, 0x185d: 0x4000, + 0x185e: 0x4000, 0x185f: 0x4000, 0x1860: 0x4000, 0x1861: 0x4000, 0x1862: 0x4000, 0x1863: 0x4000, + 0x1864: 0x4000, 0x1865: 0x4000, 0x1866: 0x4000, 0x1867: 0x4000, 0x1868: 0x4000, 0x1869: 0x4000, + 0x186a: 0x4000, 0x186b: 0x4000, 0x186c: 0x4000, 0x186d: 0x4000, 0x186e: 0x4000, 0x186f: 0x4000, + 0x1870: 0x4000, 0x1873: 0x4000, 0x1874: 0x4000, 0x1875: 0x4000, + 0x1876: 0x4000, 0x187a: 0x4000, + 0x187c: 0x4000, 0x187d: 0x4000, 0x187e: 0x4000, 0x187f: 0x4000, + // Block 0x62, offset 0x1880 + 0x1880: 0x4000, 0x1881: 0x4000, 0x1882: 0x4000, 0x1883: 0x4000, 0x1884: 0x4000, 0x1885: 0x4000, + 0x1886: 0x4000, 0x1887: 0x4000, 0x1888: 0x4000, 0x1889: 0x4000, 0x188a: 0x4000, 0x188b: 0x4000, + 0x188c: 0x4000, 0x188d: 0x4000, 0x188e: 0x4000, 0x188f: 0x4000, 0x1890: 0x4000, 0x1891: 0x4000, + 0x1892: 0x4000, 0x1893: 0x4000, 0x1894: 0x4000, 0x1895: 0x4000, 0x1896: 0x4000, 0x1897: 0x4000, + 0x1898: 0x4000, 0x1899: 0x4000, 0x189a: 0x4000, 0x189b: 0x4000, 0x189c: 0x4000, 0x189d: 0x4000, + 0x189e: 0x4000, 0x189f: 0x4000, 0x18a0: 0x4000, 0x18a1: 0x4000, 0x18a2: 0x4000, + 0x18b0: 0x4000, 0x18b1: 0x4000, 0x18b2: 0x4000, 0x18b3: 0x4000, 0x18b4: 0x4000, 0x18b5: 0x4000, + 0x18b6: 0x4000, 0x18b7: 0x4000, 0x18b8: 0x4000, 0x18b9: 0x4000, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x4000, 0x18c1: 0x4000, 0x18c2: 0x4000, + 0x18d0: 0x4000, 0x18d1: 0x4000, + 0x18d2: 0x4000, 0x18d3: 0x4000, 0x18d4: 0x4000, 0x18d5: 0x4000, 0x18d6: 0x4000, 0x18d7: 0x4000, + 0x18d8: 0x4000, 0x18d9: 0x4000, 0x18da: 0x4000, 0x18db: 0x4000, 0x18dc: 0x4000, 0x18dd: 0x4000, + 0x18de: 0x4000, 0x18df: 0x4000, 0x18e0: 0x4000, 0x18e1: 0x4000, 0x18e2: 0x4000, 0x18e3: 0x4000, + 0x18e4: 0x4000, 0x18e5: 0x4000, 0x18e6: 0x4000, 0x18e7: 0x4000, 0x18e8: 0x4000, 0x18e9: 0x4000, + 0x18ea: 0x4000, 0x18eb: 0x4000, 0x18ec: 0x4000, 0x18ed: 0x4000, 0x18ee: 0x4000, 0x18ef: 0x4000, + 0x18f0: 0x4000, 0x18f1: 0x4000, 0x18f2: 0x4000, 0x18f3: 0x4000, 0x18f4: 0x4000, 0x18f5: 0x4000, + 0x18f6: 0x4000, 0x18f7: 0x4000, 0x18f8: 0x4000, 0x18f9: 0x4000, 0x18fa: 0x4000, 0x18fb: 0x4000, + 0x18fc: 0x4000, 0x18fd: 0x4000, 0x18fe: 0x4000, 0x18ff: 0x4000, + // Block 0x64, offset 0x1900 + 0x1900: 0x2000, 0x1901: 0x2000, 0x1902: 0x2000, 0x1903: 0x2000, 0x1904: 0x2000, 0x1905: 0x2000, + 0x1906: 0x2000, 0x1907: 0x2000, 0x1908: 0x2000, 0x1909: 0x2000, 0x190a: 0x2000, 0x190b: 0x2000, + 0x190c: 0x2000, 0x190d: 0x2000, 0x190e: 0x2000, 0x190f: 0x2000, 0x1910: 0x2000, 0x1911: 0x2000, + 0x1912: 0x2000, 0x1913: 0x2000, 0x1914: 0x2000, 0x1915: 0x2000, 0x1916: 0x2000, 0x1917: 0x2000, + 0x1918: 0x2000, 0x1919: 0x2000, 0x191a: 0x2000, 0x191b: 0x2000, 0x191c: 0x2000, 0x191d: 0x2000, + 0x191e: 0x2000, 0x191f: 0x2000, 0x1920: 0x2000, 0x1921: 0x2000, 0x1922: 0x2000, 0x1923: 0x2000, + 0x1924: 0x2000, 0x1925: 0x2000, 0x1926: 0x2000, 0x1927: 0x2000, 0x1928: 0x2000, 0x1929: 0x2000, + 0x192a: 0x2000, 0x192b: 0x2000, 0x192c: 0x2000, 0x192d: 0x2000, 0x192e: 0x2000, 0x192f: 0x2000, + 0x1930: 0x2000, 0x1931: 0x2000, 0x1932: 0x2000, 0x1933: 0x2000, 0x1934: 0x2000, 0x1935: 0x2000, + 0x1936: 0x2000, 0x1937: 0x2000, 0x1938: 0x2000, 0x1939: 0x2000, 0x193a: 0x2000, 0x193b: 0x2000, + 0x193c: 0x2000, 0x193d: 0x2000, +} + +// widthIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var widthIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x02, 0xc4: 0x03, 0xc5: 0x04, 0xc7: 0x05, + 0xc9: 0x06, 0xcb: 0x07, 0xcc: 0x08, 0xcd: 0x09, 0xce: 0x0a, 0xcf: 0x0b, + 0xd0: 0x0c, 0xd1: 0x0d, + 0xe1: 0x02, 0xe2: 0x03, 0xe3: 0x04, 0xe4: 0x05, 0xe5: 0x06, 0xe6: 0x06, 0xe7: 0x06, + 0xe8: 0x06, 0xe9: 0x06, 0xea: 0x07, 0xeb: 0x06, 0xec: 0x06, 0xed: 0x08, 0xee: 0x09, 0xef: 0x0a, + 0xf0: 0x0f, 0xf3: 0x12, 0xf4: 0x13, + // Block 0x4, offset 0x100 + 0x104: 0x0e, 0x105: 0x0f, + // Block 0x5, offset 0x140 + 0x140: 0x10, 0x141: 0x11, 0x142: 0x12, 0x144: 0x13, 0x145: 0x14, 0x146: 0x15, 0x147: 0x16, + 0x148: 0x17, 0x149: 0x18, 0x14a: 0x19, 0x14c: 0x1a, 0x14f: 0x1b, + 0x151: 0x1c, 0x152: 0x08, 0x153: 0x1d, 0x154: 0x1e, 0x155: 0x1f, 0x156: 0x20, 0x157: 0x21, + 0x158: 0x22, 0x159: 0x23, 0x15a: 0x24, 0x15b: 0x25, 0x15c: 0x26, 0x15d: 0x27, 0x15e: 0x28, 0x15f: 0x29, + 0x166: 0x2a, + 0x16c: 0x2b, 0x16d: 0x2c, + 0x17a: 0x2d, 0x17b: 0x2e, 0x17c: 0x0e, 0x17d: 0x0e, 0x17e: 0x0e, 0x17f: 0x2f, + // Block 0x6, offset 0x180 + 0x180: 0x30, 0x181: 0x31, 0x182: 0x32, 0x183: 0x33, 0x184: 0x34, 0x185: 0x35, 0x186: 0x36, 0x187: 0x37, + 0x188: 0x38, 0x189: 0x39, 0x18a: 0x0e, 0x18b: 0x3a, 0x18c: 0x0e, 0x18d: 0x0e, 0x18e: 0x0e, 0x18f: 0x0e, + 0x190: 0x0e, 0x191: 0x0e, 0x192: 0x0e, 0x193: 0x0e, 0x194: 0x0e, 0x195: 0x0e, 0x196: 0x0e, 0x197: 0x0e, + 0x198: 0x0e, 0x199: 0x0e, 0x19a: 0x0e, 0x19b: 0x0e, 0x19c: 0x0e, 0x19d: 0x0e, 0x19e: 0x0e, 0x19f: 0x0e, + 0x1a0: 0x0e, 0x1a1: 0x0e, 0x1a2: 0x0e, 0x1a3: 0x0e, 0x1a4: 0x0e, 0x1a5: 0x0e, 0x1a6: 0x0e, 0x1a7: 0x0e, + 0x1a8: 0x0e, 0x1a9: 0x0e, 0x1aa: 0x0e, 0x1ab: 0x0e, 0x1ac: 0x0e, 0x1ad: 0x0e, 0x1ae: 0x0e, 0x1af: 0x0e, + 0x1b0: 0x0e, 0x1b1: 0x0e, 0x1b2: 0x0e, 0x1b3: 0x0e, 0x1b4: 0x0e, 0x1b5: 0x0e, 0x1b6: 0x0e, 0x1b7: 0x0e, + 0x1b8: 0x0e, 0x1b9: 0x0e, 0x1ba: 0x0e, 0x1bb: 0x0e, 0x1bc: 0x0e, 0x1bd: 0x0e, 0x1be: 0x0e, 0x1bf: 0x0e, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0e, 0x1c1: 0x0e, 0x1c2: 0x0e, 0x1c3: 0x0e, 0x1c4: 0x0e, 0x1c5: 0x0e, 0x1c6: 0x0e, 0x1c7: 0x0e, + 0x1c8: 0x0e, 0x1c9: 0x0e, 0x1ca: 0x0e, 0x1cb: 0x0e, 0x1cc: 0x0e, 0x1cd: 0x0e, 0x1ce: 0x0e, 0x1cf: 0x0e, + 0x1d0: 0x0e, 0x1d1: 0x0e, 0x1d2: 0x0e, 0x1d3: 0x0e, 0x1d4: 0x0e, 0x1d5: 0x0e, 0x1d6: 0x0e, 0x1d7: 0x0e, + 0x1d8: 0x0e, 0x1d9: 0x0e, 0x1da: 0x0e, 0x1db: 0x0e, 0x1dc: 0x0e, 0x1dd: 0x0e, 0x1de: 0x0e, 0x1df: 0x0e, + 0x1e0: 0x0e, 0x1e1: 0x0e, 0x1e2: 0x0e, 0x1e3: 0x0e, 0x1e4: 0x0e, 0x1e5: 0x0e, 0x1e6: 0x0e, 0x1e7: 0x0e, + 0x1e8: 0x0e, 0x1e9: 0x0e, 0x1ea: 0x0e, 0x1eb: 0x0e, 0x1ec: 0x0e, 0x1ed: 0x0e, 0x1ee: 0x0e, 0x1ef: 0x0e, + 0x1f0: 0x0e, 0x1f1: 0x0e, 0x1f2: 0x0e, 0x1f3: 0x0e, 0x1f4: 0x0e, 0x1f5: 0x0e, 0x1f6: 0x0e, + 0x1f8: 0x0e, 0x1f9: 0x0e, 0x1fa: 0x0e, 0x1fb: 0x0e, 0x1fc: 0x0e, 0x1fd: 0x0e, 0x1fe: 0x0e, 0x1ff: 0x0e, + // Block 0x8, offset 0x200 + 0x200: 0x0e, 0x201: 0x0e, 0x202: 0x0e, 0x203: 0x0e, 0x204: 0x0e, 0x205: 0x0e, 0x206: 0x0e, 0x207: 0x0e, + 0x208: 0x0e, 0x209: 0x0e, 0x20a: 0x0e, 0x20b: 0x0e, 0x20c: 0x0e, 0x20d: 0x0e, 0x20e: 0x0e, 0x20f: 0x0e, + 0x210: 0x0e, 0x211: 0x0e, 0x212: 0x0e, 0x213: 0x0e, 0x214: 0x0e, 0x215: 0x0e, 0x216: 0x0e, 0x217: 0x0e, + 0x218: 0x0e, 0x219: 0x0e, 0x21a: 0x0e, 0x21b: 0x0e, 0x21c: 0x0e, 0x21d: 0x0e, 0x21e: 0x0e, 0x21f: 0x0e, + 0x220: 0x0e, 0x221: 0x0e, 0x222: 0x0e, 0x223: 0x0e, 0x224: 0x0e, 0x225: 0x0e, 0x226: 0x0e, 0x227: 0x0e, + 0x228: 0x0e, 0x229: 0x0e, 0x22a: 0x0e, 0x22b: 0x0e, 0x22c: 0x0e, 0x22d: 0x0e, 0x22e: 0x0e, 0x22f: 0x0e, + 0x230: 0x0e, 0x231: 0x0e, 0x232: 0x0e, 0x233: 0x0e, 0x234: 0x0e, 0x235: 0x0e, 0x236: 0x0e, 0x237: 0x0e, + 0x238: 0x0e, 0x239: 0x0e, 0x23a: 0x0e, 0x23b: 0x0e, 0x23c: 0x0e, 0x23d: 0x0e, 0x23e: 0x0e, 0x23f: 0x0e, + // Block 0x9, offset 0x240 + 0x240: 0x0e, 0x241: 0x0e, 0x242: 0x0e, 0x243: 0x0e, 0x244: 0x0e, 0x245: 0x0e, 0x246: 0x0e, 0x247: 0x0e, + 0x248: 0x0e, 0x249: 0x0e, 0x24a: 0x0e, 0x24b: 0x0e, 0x24c: 0x0e, 0x24d: 0x0e, 0x24e: 0x0e, 0x24f: 0x0e, + 0x250: 0x0e, 0x251: 0x0e, 0x252: 0x3b, 0x253: 0x3c, + 0x265: 0x3d, + 0x270: 0x0e, 0x271: 0x0e, 0x272: 0x0e, 0x273: 0x0e, 0x274: 0x0e, 0x275: 0x0e, 0x276: 0x0e, 0x277: 0x0e, + 0x278: 0x0e, 0x279: 0x0e, 0x27a: 0x0e, 0x27b: 0x0e, 0x27c: 0x0e, 0x27d: 0x0e, 0x27e: 0x0e, 0x27f: 0x0e, + // Block 0xa, offset 0x280 + 0x280: 0x0e, 0x281: 0x0e, 0x282: 0x0e, 0x283: 0x0e, 0x284: 0x0e, 0x285: 0x0e, 0x286: 0x0e, 0x287: 0x0e, + 0x288: 0x0e, 0x289: 0x0e, 0x28a: 0x0e, 0x28b: 0x0e, 0x28c: 0x0e, 0x28d: 0x0e, 0x28e: 0x0e, 0x28f: 0x0e, + 0x290: 0x0e, 0x291: 0x0e, 0x292: 0x0e, 0x293: 0x0e, 0x294: 0x0e, 0x295: 0x0e, 0x296: 0x0e, 0x297: 0x0e, + 0x298: 0x0e, 0x299: 0x0e, 0x29a: 0x0e, 0x29b: 0x0e, 0x29c: 0x0e, 0x29d: 0x0e, 0x29e: 0x3e, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x08, 0x2c1: 0x08, 0x2c2: 0x08, 0x2c3: 0x08, 0x2c4: 0x08, 0x2c5: 0x08, 0x2c6: 0x08, 0x2c7: 0x08, + 0x2c8: 0x08, 0x2c9: 0x08, 0x2ca: 0x08, 0x2cb: 0x08, 0x2cc: 0x08, 0x2cd: 0x08, 0x2ce: 0x08, 0x2cf: 0x08, + 0x2d0: 0x08, 0x2d1: 0x08, 0x2d2: 0x08, 0x2d3: 0x08, 0x2d4: 0x08, 0x2d5: 0x08, 0x2d6: 0x08, 0x2d7: 0x08, + 0x2d8: 0x08, 0x2d9: 0x08, 0x2da: 0x08, 0x2db: 0x08, 0x2dc: 0x08, 0x2dd: 0x08, 0x2de: 0x08, 0x2df: 0x08, + 0x2e0: 0x08, 0x2e1: 0x08, 0x2e2: 0x08, 0x2e3: 0x08, 0x2e4: 0x08, 0x2e5: 0x08, 0x2e6: 0x08, 0x2e7: 0x08, + 0x2e8: 0x08, 0x2e9: 0x08, 0x2ea: 0x08, 0x2eb: 0x08, 0x2ec: 0x08, 0x2ed: 0x08, 0x2ee: 0x08, 0x2ef: 0x08, + 0x2f0: 0x08, 0x2f1: 0x08, 0x2f2: 0x08, 0x2f3: 0x08, 0x2f4: 0x08, 0x2f5: 0x08, 0x2f6: 0x08, 0x2f7: 0x08, + 0x2f8: 0x08, 0x2f9: 0x08, 0x2fa: 0x08, 0x2fb: 0x08, 0x2fc: 0x08, 0x2fd: 0x08, 0x2fe: 0x08, 0x2ff: 0x08, + // Block 0xc, offset 0x300 + 0x300: 0x08, 0x301: 0x08, 0x302: 0x08, 0x303: 0x08, 0x304: 0x08, 0x305: 0x08, 0x306: 0x08, 0x307: 0x08, + 0x308: 0x08, 0x309: 0x08, 0x30a: 0x08, 0x30b: 0x08, 0x30c: 0x08, 0x30d: 0x08, 0x30e: 0x08, 0x30f: 0x08, + 0x310: 0x08, 0x311: 0x08, 0x312: 0x08, 0x313: 0x08, 0x314: 0x08, 0x315: 0x08, 0x316: 0x08, 0x317: 0x08, + 0x318: 0x08, 0x319: 0x08, 0x31a: 0x08, 0x31b: 0x08, 0x31c: 0x08, 0x31d: 0x08, 0x31e: 0x08, 0x31f: 0x08, + 0x320: 0x08, 0x321: 0x08, 0x322: 0x08, 0x323: 0x08, 0x324: 0x0e, 0x325: 0x0e, 0x326: 0x0e, 0x327: 0x0e, + 0x328: 0x0e, 0x329: 0x0e, 0x32a: 0x0e, 0x32b: 0x0e, + 0x338: 0x3f, 0x339: 0x40, 0x33c: 0x41, 0x33d: 0x42, 0x33e: 0x43, 0x33f: 0x44, + // Block 0xd, offset 0x340 + 0x37f: 0x45, + // Block 0xe, offset 0x380 + 0x380: 0x0e, 0x381: 0x0e, 0x382: 0x0e, 0x383: 0x0e, 0x384: 0x0e, 0x385: 0x0e, 0x386: 0x0e, 0x387: 0x0e, + 0x388: 0x0e, 0x389: 0x0e, 0x38a: 0x0e, 0x38b: 0x0e, 0x38c: 0x0e, 0x38d: 0x0e, 0x38e: 0x0e, 0x38f: 0x0e, + 0x390: 0x0e, 0x391: 0x0e, 0x392: 0x0e, 0x393: 0x0e, 0x394: 0x0e, 0x395: 0x0e, 0x396: 0x0e, 0x397: 0x0e, + 0x398: 0x0e, 0x399: 0x0e, 0x39a: 0x0e, 0x39b: 0x0e, 0x39c: 0x0e, 0x39d: 0x0e, 0x39e: 0x0e, 0x39f: 0x46, + 0x3a0: 0x0e, 0x3a1: 0x0e, 0x3a2: 0x0e, 0x3a3: 0x0e, 0x3a4: 0x0e, 0x3a5: 0x0e, 0x3a6: 0x0e, 0x3a7: 0x0e, + 0x3a8: 0x0e, 0x3a9: 0x0e, 0x3aa: 0x0e, 0x3ab: 0x47, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x0e, 0x3c1: 0x0e, 0x3c2: 0x0e, 0x3c3: 0x0e, 0x3c4: 0x48, 0x3c5: 0x49, 0x3c6: 0x0e, 0x3c7: 0x0e, + 0x3c8: 0x0e, 0x3c9: 0x0e, 0x3ca: 0x0e, 0x3cb: 0x4a, + // Block 0x10, offset 0x400 + 0x400: 0x4b, 0x403: 0x4c, 0x404: 0x4d, 0x405: 0x4e, 0x406: 0x4f, + 0x408: 0x50, 0x409: 0x51, 0x40c: 0x52, 0x40d: 0x53, 0x40e: 0x54, 0x40f: 0x55, + 0x410: 0x3a, 0x411: 0x56, 0x412: 0x0e, 0x413: 0x57, 0x414: 0x58, 0x415: 0x59, 0x416: 0x5a, 0x417: 0x5b, + 0x418: 0x0e, 0x419: 0x5c, 0x41a: 0x0e, 0x41b: 0x5d, + 0x424: 0x5e, 0x425: 0x5f, 0x426: 0x60, 0x427: 0x61, + // Block 0x11, offset 0x440 + 0x456: 0x0b, 0x457: 0x06, + 0x458: 0x0c, 0x45b: 0x0d, 0x45f: 0x0e, + 0x460: 0x06, 0x461: 0x06, 0x462: 0x06, 0x463: 0x06, 0x464: 0x06, 0x465: 0x06, 0x466: 0x06, 0x467: 0x06, + 0x468: 0x06, 0x469: 0x06, 0x46a: 0x06, 0x46b: 0x06, 0x46c: 0x06, 0x46d: 0x06, 0x46e: 0x06, 0x46f: 0x06, + 0x470: 0x06, 0x471: 0x06, 0x472: 0x06, 0x473: 0x06, 0x474: 0x06, 0x475: 0x06, 0x476: 0x06, 0x477: 0x06, + 0x478: 0x06, 0x479: 0x06, 0x47a: 0x06, 0x47b: 0x06, 0x47c: 0x06, 0x47d: 0x06, 0x47e: 0x06, 0x47f: 0x06, + // Block 0x12, offset 0x480 + 0x484: 0x08, 0x485: 0x08, 0x486: 0x08, 0x487: 0x09, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x08, 0x4c1: 0x08, 0x4c2: 0x08, 0x4c3: 0x08, 0x4c4: 0x08, 0x4c5: 0x08, 0x4c6: 0x08, 0x4c7: 0x08, + 0x4c8: 0x08, 0x4c9: 0x08, 0x4ca: 0x08, 0x4cb: 0x08, 0x4cc: 0x08, 0x4cd: 0x08, 0x4ce: 0x08, 0x4cf: 0x08, + 0x4d0: 0x08, 0x4d1: 0x08, 0x4d2: 0x08, 0x4d3: 0x08, 0x4d4: 0x08, 0x4d5: 0x08, 0x4d6: 0x08, 0x4d7: 0x08, + 0x4d8: 0x08, 0x4d9: 0x08, 0x4da: 0x08, 0x4db: 0x08, 0x4dc: 0x08, 0x4dd: 0x08, 0x4de: 0x08, 0x4df: 0x08, + 0x4e0: 0x08, 0x4e1: 0x08, 0x4e2: 0x08, 0x4e3: 0x08, 0x4e4: 0x08, 0x4e5: 0x08, 0x4e6: 0x08, 0x4e7: 0x08, + 0x4e8: 0x08, 0x4e9: 0x08, 0x4ea: 0x08, 0x4eb: 0x08, 0x4ec: 0x08, 0x4ed: 0x08, 0x4ee: 0x08, 0x4ef: 0x08, + 0x4f0: 0x08, 0x4f1: 0x08, 0x4f2: 0x08, 0x4f3: 0x08, 0x4f4: 0x08, 0x4f5: 0x08, 0x4f6: 0x08, 0x4f7: 0x08, + 0x4f8: 0x08, 0x4f9: 0x08, 0x4fa: 0x08, 0x4fb: 0x08, 0x4fc: 0x08, 0x4fd: 0x08, 0x4fe: 0x08, 0x4ff: 0x62, + // Block 0x14, offset 0x500 + 0x520: 0x10, + 0x530: 0x09, 0x531: 0x09, 0x532: 0x09, 0x533: 0x09, 0x534: 0x09, 0x535: 0x09, 0x536: 0x09, 0x537: 0x09, + 0x538: 0x09, 0x539: 0x09, 0x53a: 0x09, 0x53b: 0x09, 0x53c: 0x09, 0x53d: 0x09, 0x53e: 0x09, 0x53f: 0x11, + // Block 0x15, offset 0x540 + 0x540: 0x09, 0x541: 0x09, 0x542: 0x09, 0x543: 0x09, 0x544: 0x09, 0x545: 0x09, 0x546: 0x09, 0x547: 0x09, + 0x548: 0x09, 0x549: 0x09, 0x54a: 0x09, 0x54b: 0x09, 0x54c: 0x09, 0x54d: 0x09, 0x54e: 0x09, 0x54f: 0x11, +} + +// inverseData contains 4-byte entries of the following format: +// <0 padding> +// The last byte of the UTF-8-encoded rune is xor-ed with the last byte of the +// UTF-8 encoding of the original rune. Mappings often have the following +// pattern: +// A -> A (U+FF21 -> U+0041) +// B -> B (U+FF22 -> U+0042) +// ... +// By xor-ing the last byte the same entry can be shared by many mappings. This +// reduces the total number of distinct entries by about two thirds. +// The resulting entry for the aforementioned mappings is +// { 0x01, 0xE0, 0x00, 0x00 } +// Using this entry to map U+FF21 (UTF-8 [EF BC A1]), we get +// E0 ^ A1 = 41. +// Similarly, for U+FF22 (UTF-8 [EF BC A2]), we get +// E0 ^ A2 = 42. +// Note that because of the xor-ing, the byte sequence stored in the entry is +// not valid UTF-8. +var inverseData = [150][4]byte{ + {0x00, 0x00, 0x00, 0x00}, + {0x03, 0xe3, 0x80, 0xa0}, + {0x03, 0xef, 0xbc, 0xa0}, + {0x03, 0xef, 0xbc, 0xe0}, + {0x03, 0xef, 0xbd, 0xe0}, + {0x03, 0xef, 0xbf, 0x02}, + {0x03, 0xef, 0xbf, 0x00}, + {0x03, 0xef, 0xbf, 0x0e}, + {0x03, 0xef, 0xbf, 0x0c}, + {0x03, 0xef, 0xbf, 0x0f}, + {0x03, 0xef, 0xbf, 0x39}, + {0x03, 0xef, 0xbf, 0x3b}, + {0x03, 0xef, 0xbf, 0x3f}, + {0x03, 0xef, 0xbf, 0x2a}, + {0x03, 0xef, 0xbf, 0x0d}, + {0x03, 0xef, 0xbf, 0x25}, + {0x03, 0xef, 0xbd, 0x1a}, + {0x03, 0xef, 0xbd, 0x26}, + {0x01, 0xa0, 0x00, 0x00}, + {0x03, 0xef, 0xbd, 0x25}, + {0x03, 0xef, 0xbd, 0x23}, + {0x03, 0xef, 0xbd, 0x2e}, + {0x03, 0xef, 0xbe, 0x07}, + {0x03, 0xef, 0xbe, 0x05}, + {0x03, 0xef, 0xbd, 0x06}, + {0x03, 0xef, 0xbd, 0x13}, + {0x03, 0xef, 0xbd, 0x0b}, + {0x03, 0xef, 0xbd, 0x16}, + {0x03, 0xef, 0xbd, 0x0c}, + {0x03, 0xef, 0xbd, 0x15}, + {0x03, 0xef, 0xbd, 0x0d}, + {0x03, 0xef, 0xbd, 0x1c}, + {0x03, 0xef, 0xbd, 0x02}, + {0x03, 0xef, 0xbd, 0x1f}, + {0x03, 0xef, 0xbd, 0x1d}, + {0x03, 0xef, 0xbd, 0x17}, + {0x03, 0xef, 0xbd, 0x08}, + {0x03, 0xef, 0xbd, 0x09}, + {0x03, 0xef, 0xbd, 0x0e}, + {0x03, 0xef, 0xbd, 0x04}, + {0x03, 0xef, 0xbd, 0x05}, + {0x03, 0xef, 0xbe, 0x3f}, + {0x03, 0xef, 0xbe, 0x00}, + {0x03, 0xef, 0xbd, 0x2c}, + {0x03, 0xef, 0xbe, 0x06}, + {0x03, 0xef, 0xbe, 0x0c}, + {0x03, 0xef, 0xbe, 0x0f}, + {0x03, 0xef, 0xbe, 0x0d}, + {0x03, 0xef, 0xbe, 0x0b}, + {0x03, 0xef, 0xbe, 0x19}, + {0x03, 0xef, 0xbe, 0x15}, + {0x03, 0xef, 0xbe, 0x11}, + {0x03, 0xef, 0xbe, 0x31}, + {0x03, 0xef, 0xbe, 0x33}, + {0x03, 0xef, 0xbd, 0x0f}, + {0x03, 0xef, 0xbe, 0x30}, + {0x03, 0xef, 0xbe, 0x3e}, + {0x03, 0xef, 0xbe, 0x32}, + {0x03, 0xef, 0xbe, 0x36}, + {0x03, 0xef, 0xbd, 0x14}, + {0x03, 0xef, 0xbe, 0x2e}, + {0x03, 0xef, 0xbd, 0x1e}, + {0x03, 0xef, 0xbe, 0x10}, + {0x03, 0xef, 0xbf, 0x13}, + {0x03, 0xef, 0xbf, 0x15}, + {0x03, 0xef, 0xbf, 0x17}, + {0x03, 0xef, 0xbf, 0x1f}, + {0x03, 0xef, 0xbf, 0x1d}, + {0x03, 0xef, 0xbf, 0x1b}, + {0x03, 0xef, 0xbf, 0x09}, + {0x03, 0xef, 0xbf, 0x0b}, + {0x03, 0xef, 0xbf, 0x37}, + {0x03, 0xef, 0xbe, 0x04}, + {0x01, 0xe0, 0x00, 0x00}, + {0x03, 0xe2, 0xa6, 0x1a}, + {0x03, 0xe2, 0xa6, 0x26}, + {0x03, 0xe3, 0x80, 0x23}, + {0x03, 0xe3, 0x80, 0x2e}, + {0x03, 0xe3, 0x80, 0x25}, + {0x03, 0xe3, 0x83, 0x1e}, + {0x03, 0xe3, 0x83, 0x14}, + {0x03, 0xe3, 0x82, 0x06}, + {0x03, 0xe3, 0x82, 0x0b}, + {0x03, 0xe3, 0x82, 0x0c}, + {0x03, 0xe3, 0x82, 0x0d}, + {0x03, 0xe3, 0x82, 0x02}, + {0x03, 0xe3, 0x83, 0x0f}, + {0x03, 0xe3, 0x83, 0x08}, + {0x03, 0xe3, 0x83, 0x09}, + {0x03, 0xe3, 0x83, 0x2c}, + {0x03, 0xe3, 0x83, 0x0c}, + {0x03, 0xe3, 0x82, 0x13}, + {0x03, 0xe3, 0x82, 0x16}, + {0x03, 0xe3, 0x82, 0x15}, + {0x03, 0xe3, 0x82, 0x1c}, + {0x03, 0xe3, 0x82, 0x1f}, + {0x03, 0xe3, 0x82, 0x1d}, + {0x03, 0xe3, 0x82, 0x1a}, + {0x03, 0xe3, 0x82, 0x17}, + {0x03, 0xe3, 0x82, 0x08}, + {0x03, 0xe3, 0x82, 0x09}, + {0x03, 0xe3, 0x82, 0x0e}, + {0x03, 0xe3, 0x82, 0x04}, + {0x03, 0xe3, 0x82, 0x05}, + {0x03, 0xe3, 0x82, 0x3f}, + {0x03, 0xe3, 0x83, 0x00}, + {0x03, 0xe3, 0x83, 0x06}, + {0x03, 0xe3, 0x83, 0x05}, + {0x03, 0xe3, 0x83, 0x0d}, + {0x03, 0xe3, 0x83, 0x0b}, + {0x03, 0xe3, 0x83, 0x07}, + {0x03, 0xe3, 0x83, 0x19}, + {0x03, 0xe3, 0x83, 0x15}, + {0x03, 0xe3, 0x83, 0x11}, + {0x03, 0xe3, 0x83, 0x31}, + {0x03, 0xe3, 0x83, 0x33}, + {0x03, 0xe3, 0x83, 0x30}, + {0x03, 0xe3, 0x83, 0x3e}, + {0x03, 0xe3, 0x83, 0x32}, + {0x03, 0xe3, 0x83, 0x36}, + {0x03, 0xe3, 0x83, 0x2e}, + {0x03, 0xe3, 0x82, 0x07}, + {0x03, 0xe3, 0x85, 0x04}, + {0x03, 0xe3, 0x84, 0x10}, + {0x03, 0xe3, 0x85, 0x30}, + {0x03, 0xe3, 0x85, 0x0d}, + {0x03, 0xe3, 0x85, 0x13}, + {0x03, 0xe3, 0x85, 0x15}, + {0x03, 0xe3, 0x85, 0x17}, + {0x03, 0xe3, 0x85, 0x1f}, + {0x03, 0xe3, 0x85, 0x1d}, + {0x03, 0xe3, 0x85, 0x1b}, + {0x03, 0xe3, 0x85, 0x09}, + {0x03, 0xe3, 0x85, 0x0f}, + {0x03, 0xe3, 0x85, 0x0b}, + {0x03, 0xe3, 0x85, 0x37}, + {0x03, 0xe3, 0x85, 0x3b}, + {0x03, 0xe3, 0x85, 0x39}, + {0x03, 0xe3, 0x85, 0x3f}, + {0x02, 0xc2, 0x02, 0x00}, + {0x02, 0xc2, 0x0e, 0x00}, + {0x02, 0xc2, 0x0c, 0x00}, + {0x02, 0xc2, 0x00, 0x00}, + {0x03, 0xe2, 0x82, 0x0f}, + {0x03, 0xe2, 0x94, 0x2a}, + {0x03, 0xe2, 0x86, 0x39}, + {0x03, 0xe2, 0x86, 0x3b}, + {0x03, 0xe2, 0x86, 0x3f}, + {0x03, 0xe2, 0x96, 0x0d}, + {0x03, 0xe2, 0x97, 0x25}, +} + +// Total table size 14936 bytes (14KiB) diff --git a/vendor/golang.org/x/text/width/tables9.0.0.go b/vendor/golang.org/x/text/width/tables9.0.0.go new file mode 100644 index 00000000000..7069e26345b --- /dev/null +++ b/vendor/golang.org/x/text/width/tables9.0.0.go @@ -0,0 +1,1286 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +// +build !go1.10 + +package width + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "9.0.0" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *widthTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return widthValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = widthIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *widthTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return widthValues[c0] + } + i := widthIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = widthIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = widthIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *widthTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return widthValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := widthIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = widthIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = widthIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *widthTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return widthValues[c0] + } + i := widthIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = widthIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = widthIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// widthTrie. Total size: 14080 bytes (13.75 KiB). Checksum: 3b8aeb3dc03667a3. +type widthTrie struct{} + +func newWidthTrie(i int) *widthTrie { + return &widthTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *widthTrie) lookupValue(n uint32, b byte) uint16 { + switch { + default: + return uint16(widthValues[n<<6+uint32(b)]) + } +} + +// widthValues: 99 blocks, 6336 entries, 12672 bytes +// The third block is the zero block. +var widthValues = [6336]uint16{ + // Block 0x0, offset 0x0 + 0x20: 0x6001, 0x21: 0x6002, 0x22: 0x6002, 0x23: 0x6002, + 0x24: 0x6002, 0x25: 0x6002, 0x26: 0x6002, 0x27: 0x6002, 0x28: 0x6002, 0x29: 0x6002, + 0x2a: 0x6002, 0x2b: 0x6002, 0x2c: 0x6002, 0x2d: 0x6002, 0x2e: 0x6002, 0x2f: 0x6002, + 0x30: 0x6002, 0x31: 0x6002, 0x32: 0x6002, 0x33: 0x6002, 0x34: 0x6002, 0x35: 0x6002, + 0x36: 0x6002, 0x37: 0x6002, 0x38: 0x6002, 0x39: 0x6002, 0x3a: 0x6002, 0x3b: 0x6002, + 0x3c: 0x6002, 0x3d: 0x6002, 0x3e: 0x6002, 0x3f: 0x6002, + // Block 0x1, offset 0x40 + 0x40: 0x6003, 0x41: 0x6003, 0x42: 0x6003, 0x43: 0x6003, 0x44: 0x6003, 0x45: 0x6003, + 0x46: 0x6003, 0x47: 0x6003, 0x48: 0x6003, 0x49: 0x6003, 0x4a: 0x6003, 0x4b: 0x6003, + 0x4c: 0x6003, 0x4d: 0x6003, 0x4e: 0x6003, 0x4f: 0x6003, 0x50: 0x6003, 0x51: 0x6003, + 0x52: 0x6003, 0x53: 0x6003, 0x54: 0x6003, 0x55: 0x6003, 0x56: 0x6003, 0x57: 0x6003, + 0x58: 0x6003, 0x59: 0x6003, 0x5a: 0x6003, 0x5b: 0x6003, 0x5c: 0x6003, 0x5d: 0x6003, + 0x5e: 0x6003, 0x5f: 0x6003, 0x60: 0x6004, 0x61: 0x6004, 0x62: 0x6004, 0x63: 0x6004, + 0x64: 0x6004, 0x65: 0x6004, 0x66: 0x6004, 0x67: 0x6004, 0x68: 0x6004, 0x69: 0x6004, + 0x6a: 0x6004, 0x6b: 0x6004, 0x6c: 0x6004, 0x6d: 0x6004, 0x6e: 0x6004, 0x6f: 0x6004, + 0x70: 0x6004, 0x71: 0x6004, 0x72: 0x6004, 0x73: 0x6004, 0x74: 0x6004, 0x75: 0x6004, + 0x76: 0x6004, 0x77: 0x6004, 0x78: 0x6004, 0x79: 0x6004, 0x7a: 0x6004, 0x7b: 0x6004, + 0x7c: 0x6004, 0x7d: 0x6004, 0x7e: 0x6004, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xe1: 0x2000, 0xe2: 0x6005, 0xe3: 0x6005, + 0xe4: 0x2000, 0xe5: 0x6006, 0xe6: 0x6005, 0xe7: 0x2000, 0xe8: 0x2000, + 0xea: 0x2000, 0xec: 0x6007, 0xed: 0x2000, 0xee: 0x2000, 0xef: 0x6008, + 0xf0: 0x2000, 0xf1: 0x2000, 0xf2: 0x2000, 0xf3: 0x2000, 0xf4: 0x2000, + 0xf6: 0x2000, 0xf7: 0x2000, 0xf8: 0x2000, 0xf9: 0x2000, 0xfa: 0x2000, + 0xfc: 0x2000, 0xfd: 0x2000, 0xfe: 0x2000, 0xff: 0x2000, + // Block 0x4, offset 0x100 + 0x106: 0x2000, + 0x110: 0x2000, + 0x117: 0x2000, + 0x118: 0x2000, + 0x11e: 0x2000, 0x11f: 0x2000, 0x120: 0x2000, 0x121: 0x2000, + 0x126: 0x2000, 0x128: 0x2000, 0x129: 0x2000, + 0x12a: 0x2000, 0x12c: 0x2000, 0x12d: 0x2000, + 0x130: 0x2000, 0x132: 0x2000, 0x133: 0x2000, + 0x137: 0x2000, 0x138: 0x2000, 0x139: 0x2000, 0x13a: 0x2000, + 0x13c: 0x2000, 0x13e: 0x2000, + // Block 0x5, offset 0x140 + 0x141: 0x2000, + 0x151: 0x2000, + 0x153: 0x2000, + 0x15b: 0x2000, + 0x166: 0x2000, 0x167: 0x2000, + 0x16b: 0x2000, + 0x171: 0x2000, 0x172: 0x2000, 0x173: 0x2000, + 0x178: 0x2000, + 0x17f: 0x2000, + // Block 0x6, offset 0x180 + 0x180: 0x2000, 0x181: 0x2000, 0x182: 0x2000, 0x184: 0x2000, + 0x188: 0x2000, 0x189: 0x2000, 0x18a: 0x2000, 0x18b: 0x2000, + 0x18d: 0x2000, + 0x192: 0x2000, 0x193: 0x2000, + 0x1a6: 0x2000, 0x1a7: 0x2000, + 0x1ab: 0x2000, + // Block 0x7, offset 0x1c0 + 0x1ce: 0x2000, 0x1d0: 0x2000, + 0x1d2: 0x2000, 0x1d4: 0x2000, 0x1d6: 0x2000, + 0x1d8: 0x2000, 0x1da: 0x2000, 0x1dc: 0x2000, + // Block 0x8, offset 0x200 + 0x211: 0x2000, + 0x221: 0x2000, + // Block 0x9, offset 0x240 + 0x244: 0x2000, + 0x247: 0x2000, 0x249: 0x2000, 0x24a: 0x2000, 0x24b: 0x2000, + 0x24d: 0x2000, 0x250: 0x2000, + 0x258: 0x2000, 0x259: 0x2000, 0x25a: 0x2000, 0x25b: 0x2000, 0x25d: 0x2000, + 0x25f: 0x2000, + // Block 0xa, offset 0x280 + 0x280: 0x2000, 0x281: 0x2000, 0x282: 0x2000, 0x283: 0x2000, 0x284: 0x2000, 0x285: 0x2000, + 0x286: 0x2000, 0x287: 0x2000, 0x288: 0x2000, 0x289: 0x2000, 0x28a: 0x2000, 0x28b: 0x2000, + 0x28c: 0x2000, 0x28d: 0x2000, 0x28e: 0x2000, 0x28f: 0x2000, 0x290: 0x2000, 0x291: 0x2000, + 0x292: 0x2000, 0x293: 0x2000, 0x294: 0x2000, 0x295: 0x2000, 0x296: 0x2000, 0x297: 0x2000, + 0x298: 0x2000, 0x299: 0x2000, 0x29a: 0x2000, 0x29b: 0x2000, 0x29c: 0x2000, 0x29d: 0x2000, + 0x29e: 0x2000, 0x29f: 0x2000, 0x2a0: 0x2000, 0x2a1: 0x2000, 0x2a2: 0x2000, 0x2a3: 0x2000, + 0x2a4: 0x2000, 0x2a5: 0x2000, 0x2a6: 0x2000, 0x2a7: 0x2000, 0x2a8: 0x2000, 0x2a9: 0x2000, + 0x2aa: 0x2000, 0x2ab: 0x2000, 0x2ac: 0x2000, 0x2ad: 0x2000, 0x2ae: 0x2000, 0x2af: 0x2000, + 0x2b0: 0x2000, 0x2b1: 0x2000, 0x2b2: 0x2000, 0x2b3: 0x2000, 0x2b4: 0x2000, 0x2b5: 0x2000, + 0x2b6: 0x2000, 0x2b7: 0x2000, 0x2b8: 0x2000, 0x2b9: 0x2000, 0x2ba: 0x2000, 0x2bb: 0x2000, + 0x2bc: 0x2000, 0x2bd: 0x2000, 0x2be: 0x2000, 0x2bf: 0x2000, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x2000, 0x2c1: 0x2000, 0x2c2: 0x2000, 0x2c3: 0x2000, 0x2c4: 0x2000, 0x2c5: 0x2000, + 0x2c6: 0x2000, 0x2c7: 0x2000, 0x2c8: 0x2000, 0x2c9: 0x2000, 0x2ca: 0x2000, 0x2cb: 0x2000, + 0x2cc: 0x2000, 0x2cd: 0x2000, 0x2ce: 0x2000, 0x2cf: 0x2000, 0x2d0: 0x2000, 0x2d1: 0x2000, + 0x2d2: 0x2000, 0x2d3: 0x2000, 0x2d4: 0x2000, 0x2d5: 0x2000, 0x2d6: 0x2000, 0x2d7: 0x2000, + 0x2d8: 0x2000, 0x2d9: 0x2000, 0x2da: 0x2000, 0x2db: 0x2000, 0x2dc: 0x2000, 0x2dd: 0x2000, + 0x2de: 0x2000, 0x2df: 0x2000, 0x2e0: 0x2000, 0x2e1: 0x2000, 0x2e2: 0x2000, 0x2e3: 0x2000, + 0x2e4: 0x2000, 0x2e5: 0x2000, 0x2e6: 0x2000, 0x2e7: 0x2000, 0x2e8: 0x2000, 0x2e9: 0x2000, + 0x2ea: 0x2000, 0x2eb: 0x2000, 0x2ec: 0x2000, 0x2ed: 0x2000, 0x2ee: 0x2000, 0x2ef: 0x2000, + // Block 0xc, offset 0x300 + 0x311: 0x2000, + 0x312: 0x2000, 0x313: 0x2000, 0x314: 0x2000, 0x315: 0x2000, 0x316: 0x2000, 0x317: 0x2000, + 0x318: 0x2000, 0x319: 0x2000, 0x31a: 0x2000, 0x31b: 0x2000, 0x31c: 0x2000, 0x31d: 0x2000, + 0x31e: 0x2000, 0x31f: 0x2000, 0x320: 0x2000, 0x321: 0x2000, 0x323: 0x2000, + 0x324: 0x2000, 0x325: 0x2000, 0x326: 0x2000, 0x327: 0x2000, 0x328: 0x2000, 0x329: 0x2000, + 0x331: 0x2000, 0x332: 0x2000, 0x333: 0x2000, 0x334: 0x2000, 0x335: 0x2000, + 0x336: 0x2000, 0x337: 0x2000, 0x338: 0x2000, 0x339: 0x2000, 0x33a: 0x2000, 0x33b: 0x2000, + 0x33c: 0x2000, 0x33d: 0x2000, 0x33e: 0x2000, 0x33f: 0x2000, + // Block 0xd, offset 0x340 + 0x340: 0x2000, 0x341: 0x2000, 0x343: 0x2000, 0x344: 0x2000, 0x345: 0x2000, + 0x346: 0x2000, 0x347: 0x2000, 0x348: 0x2000, 0x349: 0x2000, + // Block 0xe, offset 0x380 + 0x381: 0x2000, + 0x390: 0x2000, 0x391: 0x2000, + 0x392: 0x2000, 0x393: 0x2000, 0x394: 0x2000, 0x395: 0x2000, 0x396: 0x2000, 0x397: 0x2000, + 0x398: 0x2000, 0x399: 0x2000, 0x39a: 0x2000, 0x39b: 0x2000, 0x39c: 0x2000, 0x39d: 0x2000, + 0x39e: 0x2000, 0x39f: 0x2000, 0x3a0: 0x2000, 0x3a1: 0x2000, 0x3a2: 0x2000, 0x3a3: 0x2000, + 0x3a4: 0x2000, 0x3a5: 0x2000, 0x3a6: 0x2000, 0x3a7: 0x2000, 0x3a8: 0x2000, 0x3a9: 0x2000, + 0x3aa: 0x2000, 0x3ab: 0x2000, 0x3ac: 0x2000, 0x3ad: 0x2000, 0x3ae: 0x2000, 0x3af: 0x2000, + 0x3b0: 0x2000, 0x3b1: 0x2000, 0x3b2: 0x2000, 0x3b3: 0x2000, 0x3b4: 0x2000, 0x3b5: 0x2000, + 0x3b6: 0x2000, 0x3b7: 0x2000, 0x3b8: 0x2000, 0x3b9: 0x2000, 0x3ba: 0x2000, 0x3bb: 0x2000, + 0x3bc: 0x2000, 0x3bd: 0x2000, 0x3be: 0x2000, 0x3bf: 0x2000, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x2000, 0x3c1: 0x2000, 0x3c2: 0x2000, 0x3c3: 0x2000, 0x3c4: 0x2000, 0x3c5: 0x2000, + 0x3c6: 0x2000, 0x3c7: 0x2000, 0x3c8: 0x2000, 0x3c9: 0x2000, 0x3ca: 0x2000, 0x3cb: 0x2000, + 0x3cc: 0x2000, 0x3cd: 0x2000, 0x3ce: 0x2000, 0x3cf: 0x2000, 0x3d1: 0x2000, + // Block 0x10, offset 0x400 + 0x400: 0x4000, 0x401: 0x4000, 0x402: 0x4000, 0x403: 0x4000, 0x404: 0x4000, 0x405: 0x4000, + 0x406: 0x4000, 0x407: 0x4000, 0x408: 0x4000, 0x409: 0x4000, 0x40a: 0x4000, 0x40b: 0x4000, + 0x40c: 0x4000, 0x40d: 0x4000, 0x40e: 0x4000, 0x40f: 0x4000, 0x410: 0x4000, 0x411: 0x4000, + 0x412: 0x4000, 0x413: 0x4000, 0x414: 0x4000, 0x415: 0x4000, 0x416: 0x4000, 0x417: 0x4000, + 0x418: 0x4000, 0x419: 0x4000, 0x41a: 0x4000, 0x41b: 0x4000, 0x41c: 0x4000, 0x41d: 0x4000, + 0x41e: 0x4000, 0x41f: 0x4000, 0x420: 0x4000, 0x421: 0x4000, 0x422: 0x4000, 0x423: 0x4000, + 0x424: 0x4000, 0x425: 0x4000, 0x426: 0x4000, 0x427: 0x4000, 0x428: 0x4000, 0x429: 0x4000, + 0x42a: 0x4000, 0x42b: 0x4000, 0x42c: 0x4000, 0x42d: 0x4000, 0x42e: 0x4000, 0x42f: 0x4000, + 0x430: 0x4000, 0x431: 0x4000, 0x432: 0x4000, 0x433: 0x4000, 0x434: 0x4000, 0x435: 0x4000, + 0x436: 0x4000, 0x437: 0x4000, 0x438: 0x4000, 0x439: 0x4000, 0x43a: 0x4000, 0x43b: 0x4000, + 0x43c: 0x4000, 0x43d: 0x4000, 0x43e: 0x4000, 0x43f: 0x4000, + // Block 0x11, offset 0x440 + 0x440: 0x4000, 0x441: 0x4000, 0x442: 0x4000, 0x443: 0x4000, 0x444: 0x4000, 0x445: 0x4000, + 0x446: 0x4000, 0x447: 0x4000, 0x448: 0x4000, 0x449: 0x4000, 0x44a: 0x4000, 0x44b: 0x4000, + 0x44c: 0x4000, 0x44d: 0x4000, 0x44e: 0x4000, 0x44f: 0x4000, 0x450: 0x4000, 0x451: 0x4000, + 0x452: 0x4000, 0x453: 0x4000, 0x454: 0x4000, 0x455: 0x4000, 0x456: 0x4000, 0x457: 0x4000, + 0x458: 0x4000, 0x459: 0x4000, 0x45a: 0x4000, 0x45b: 0x4000, 0x45c: 0x4000, 0x45d: 0x4000, + 0x45e: 0x4000, 0x45f: 0x4000, + // Block 0x12, offset 0x480 + 0x490: 0x2000, + 0x493: 0x2000, 0x494: 0x2000, 0x495: 0x2000, 0x496: 0x2000, + 0x498: 0x2000, 0x499: 0x2000, 0x49c: 0x2000, 0x49d: 0x2000, + 0x4a0: 0x2000, 0x4a1: 0x2000, 0x4a2: 0x2000, + 0x4a4: 0x2000, 0x4a5: 0x2000, 0x4a6: 0x2000, 0x4a7: 0x2000, + 0x4b0: 0x2000, 0x4b2: 0x2000, 0x4b3: 0x2000, 0x4b5: 0x2000, + 0x4bb: 0x2000, + 0x4be: 0x2000, + // Block 0x13, offset 0x4c0 + 0x4f4: 0x2000, + 0x4ff: 0x2000, + // Block 0x14, offset 0x500 + 0x501: 0x2000, 0x502: 0x2000, 0x503: 0x2000, 0x504: 0x2000, + 0x529: 0xa009, + 0x52c: 0x2000, + // Block 0x15, offset 0x540 + 0x543: 0x2000, 0x545: 0x2000, + 0x549: 0x2000, + 0x553: 0x2000, 0x556: 0x2000, + 0x561: 0x2000, 0x562: 0x2000, + 0x566: 0x2000, + 0x56b: 0x2000, + // Block 0x16, offset 0x580 + 0x593: 0x2000, 0x594: 0x2000, + 0x59b: 0x2000, 0x59c: 0x2000, 0x59d: 0x2000, + 0x59e: 0x2000, 0x5a0: 0x2000, 0x5a1: 0x2000, 0x5a2: 0x2000, 0x5a3: 0x2000, + 0x5a4: 0x2000, 0x5a5: 0x2000, 0x5a6: 0x2000, 0x5a7: 0x2000, 0x5a8: 0x2000, 0x5a9: 0x2000, + 0x5aa: 0x2000, 0x5ab: 0x2000, + 0x5b0: 0x2000, 0x5b1: 0x2000, 0x5b2: 0x2000, 0x5b3: 0x2000, 0x5b4: 0x2000, 0x5b5: 0x2000, + 0x5b6: 0x2000, 0x5b7: 0x2000, 0x5b8: 0x2000, 0x5b9: 0x2000, + // Block 0x17, offset 0x5c0 + 0x5c9: 0x2000, + 0x5d0: 0x200a, 0x5d1: 0x200b, + 0x5d2: 0x200a, 0x5d3: 0x200c, 0x5d4: 0x2000, 0x5d5: 0x2000, 0x5d6: 0x2000, 0x5d7: 0x2000, + 0x5d8: 0x2000, 0x5d9: 0x2000, + 0x5f8: 0x2000, 0x5f9: 0x2000, + // Block 0x18, offset 0x600 + 0x612: 0x2000, 0x614: 0x2000, + 0x627: 0x2000, + // Block 0x19, offset 0x640 + 0x640: 0x2000, 0x642: 0x2000, 0x643: 0x2000, + 0x647: 0x2000, 0x648: 0x2000, 0x64b: 0x2000, + 0x64f: 0x2000, 0x651: 0x2000, + 0x655: 0x2000, + 0x65a: 0x2000, 0x65d: 0x2000, + 0x65e: 0x2000, 0x65f: 0x2000, 0x660: 0x2000, 0x663: 0x2000, + 0x665: 0x2000, 0x667: 0x2000, 0x668: 0x2000, 0x669: 0x2000, + 0x66a: 0x2000, 0x66b: 0x2000, 0x66c: 0x2000, 0x66e: 0x2000, + 0x674: 0x2000, 0x675: 0x2000, + 0x676: 0x2000, 0x677: 0x2000, + 0x67c: 0x2000, 0x67d: 0x2000, + // Block 0x1a, offset 0x680 + 0x688: 0x2000, + 0x68c: 0x2000, + 0x692: 0x2000, + 0x6a0: 0x2000, 0x6a1: 0x2000, + 0x6a4: 0x2000, 0x6a5: 0x2000, 0x6a6: 0x2000, 0x6a7: 0x2000, + 0x6aa: 0x2000, 0x6ab: 0x2000, 0x6ae: 0x2000, 0x6af: 0x2000, + // Block 0x1b, offset 0x6c0 + 0x6c2: 0x2000, 0x6c3: 0x2000, + 0x6c6: 0x2000, 0x6c7: 0x2000, + 0x6d5: 0x2000, + 0x6d9: 0x2000, + 0x6e5: 0x2000, + 0x6ff: 0x2000, + // Block 0x1c, offset 0x700 + 0x712: 0x2000, + 0x71a: 0x4000, 0x71b: 0x4000, + 0x729: 0x4000, + 0x72a: 0x4000, + // Block 0x1d, offset 0x740 + 0x769: 0x4000, + 0x76a: 0x4000, 0x76b: 0x4000, 0x76c: 0x4000, + 0x770: 0x4000, 0x773: 0x4000, + // Block 0x1e, offset 0x780 + 0x7a0: 0x2000, 0x7a1: 0x2000, 0x7a2: 0x2000, 0x7a3: 0x2000, + 0x7a4: 0x2000, 0x7a5: 0x2000, 0x7a6: 0x2000, 0x7a7: 0x2000, 0x7a8: 0x2000, 0x7a9: 0x2000, + 0x7aa: 0x2000, 0x7ab: 0x2000, 0x7ac: 0x2000, 0x7ad: 0x2000, 0x7ae: 0x2000, 0x7af: 0x2000, + 0x7b0: 0x2000, 0x7b1: 0x2000, 0x7b2: 0x2000, 0x7b3: 0x2000, 0x7b4: 0x2000, 0x7b5: 0x2000, + 0x7b6: 0x2000, 0x7b7: 0x2000, 0x7b8: 0x2000, 0x7b9: 0x2000, 0x7ba: 0x2000, 0x7bb: 0x2000, + 0x7bc: 0x2000, 0x7bd: 0x2000, 0x7be: 0x2000, 0x7bf: 0x2000, + // Block 0x1f, offset 0x7c0 + 0x7c0: 0x2000, 0x7c1: 0x2000, 0x7c2: 0x2000, 0x7c3: 0x2000, 0x7c4: 0x2000, 0x7c5: 0x2000, + 0x7c6: 0x2000, 0x7c7: 0x2000, 0x7c8: 0x2000, 0x7c9: 0x2000, 0x7ca: 0x2000, 0x7cb: 0x2000, + 0x7cc: 0x2000, 0x7cd: 0x2000, 0x7ce: 0x2000, 0x7cf: 0x2000, 0x7d0: 0x2000, 0x7d1: 0x2000, + 0x7d2: 0x2000, 0x7d3: 0x2000, 0x7d4: 0x2000, 0x7d5: 0x2000, 0x7d6: 0x2000, 0x7d7: 0x2000, + 0x7d8: 0x2000, 0x7d9: 0x2000, 0x7da: 0x2000, 0x7db: 0x2000, 0x7dc: 0x2000, 0x7dd: 0x2000, + 0x7de: 0x2000, 0x7df: 0x2000, 0x7e0: 0x2000, 0x7e1: 0x2000, 0x7e2: 0x2000, 0x7e3: 0x2000, + 0x7e4: 0x2000, 0x7e5: 0x2000, 0x7e6: 0x2000, 0x7e7: 0x2000, 0x7e8: 0x2000, 0x7e9: 0x2000, + 0x7eb: 0x2000, 0x7ec: 0x2000, 0x7ed: 0x2000, 0x7ee: 0x2000, 0x7ef: 0x2000, + 0x7f0: 0x2000, 0x7f1: 0x2000, 0x7f2: 0x2000, 0x7f3: 0x2000, 0x7f4: 0x2000, 0x7f5: 0x2000, + 0x7f6: 0x2000, 0x7f7: 0x2000, 0x7f8: 0x2000, 0x7f9: 0x2000, 0x7fa: 0x2000, 0x7fb: 0x2000, + 0x7fc: 0x2000, 0x7fd: 0x2000, 0x7fe: 0x2000, 0x7ff: 0x2000, + // Block 0x20, offset 0x800 + 0x800: 0x2000, 0x801: 0x2000, 0x802: 0x200d, 0x803: 0x2000, 0x804: 0x2000, 0x805: 0x2000, + 0x806: 0x2000, 0x807: 0x2000, 0x808: 0x2000, 0x809: 0x2000, 0x80a: 0x2000, 0x80b: 0x2000, + 0x80c: 0x2000, 0x80d: 0x2000, 0x80e: 0x2000, 0x80f: 0x2000, 0x810: 0x2000, 0x811: 0x2000, + 0x812: 0x2000, 0x813: 0x2000, 0x814: 0x2000, 0x815: 0x2000, 0x816: 0x2000, 0x817: 0x2000, + 0x818: 0x2000, 0x819: 0x2000, 0x81a: 0x2000, 0x81b: 0x2000, 0x81c: 0x2000, 0x81d: 0x2000, + 0x81e: 0x2000, 0x81f: 0x2000, 0x820: 0x2000, 0x821: 0x2000, 0x822: 0x2000, 0x823: 0x2000, + 0x824: 0x2000, 0x825: 0x2000, 0x826: 0x2000, 0x827: 0x2000, 0x828: 0x2000, 0x829: 0x2000, + 0x82a: 0x2000, 0x82b: 0x2000, 0x82c: 0x2000, 0x82d: 0x2000, 0x82e: 0x2000, 0x82f: 0x2000, + 0x830: 0x2000, 0x831: 0x2000, 0x832: 0x2000, 0x833: 0x2000, 0x834: 0x2000, 0x835: 0x2000, + 0x836: 0x2000, 0x837: 0x2000, 0x838: 0x2000, 0x839: 0x2000, 0x83a: 0x2000, 0x83b: 0x2000, + 0x83c: 0x2000, 0x83d: 0x2000, 0x83e: 0x2000, 0x83f: 0x2000, + // Block 0x21, offset 0x840 + 0x840: 0x2000, 0x841: 0x2000, 0x842: 0x2000, 0x843: 0x2000, 0x844: 0x2000, 0x845: 0x2000, + 0x846: 0x2000, 0x847: 0x2000, 0x848: 0x2000, 0x849: 0x2000, 0x84a: 0x2000, 0x84b: 0x2000, + 0x850: 0x2000, 0x851: 0x2000, + 0x852: 0x2000, 0x853: 0x2000, 0x854: 0x2000, 0x855: 0x2000, 0x856: 0x2000, 0x857: 0x2000, + 0x858: 0x2000, 0x859: 0x2000, 0x85a: 0x2000, 0x85b: 0x2000, 0x85c: 0x2000, 0x85d: 0x2000, + 0x85e: 0x2000, 0x85f: 0x2000, 0x860: 0x2000, 0x861: 0x2000, 0x862: 0x2000, 0x863: 0x2000, + 0x864: 0x2000, 0x865: 0x2000, 0x866: 0x2000, 0x867: 0x2000, 0x868: 0x2000, 0x869: 0x2000, + 0x86a: 0x2000, 0x86b: 0x2000, 0x86c: 0x2000, 0x86d: 0x2000, 0x86e: 0x2000, 0x86f: 0x2000, + 0x870: 0x2000, 0x871: 0x2000, 0x872: 0x2000, 0x873: 0x2000, + // Block 0x22, offset 0x880 + 0x880: 0x2000, 0x881: 0x2000, 0x882: 0x2000, 0x883: 0x2000, 0x884: 0x2000, 0x885: 0x2000, + 0x886: 0x2000, 0x887: 0x2000, 0x888: 0x2000, 0x889: 0x2000, 0x88a: 0x2000, 0x88b: 0x2000, + 0x88c: 0x2000, 0x88d: 0x2000, 0x88e: 0x2000, 0x88f: 0x2000, + 0x892: 0x2000, 0x893: 0x2000, 0x894: 0x2000, 0x895: 0x2000, + 0x8a0: 0x200e, 0x8a1: 0x2000, 0x8a3: 0x2000, + 0x8a4: 0x2000, 0x8a5: 0x2000, 0x8a6: 0x2000, 0x8a7: 0x2000, 0x8a8: 0x2000, 0x8a9: 0x2000, + 0x8b2: 0x2000, 0x8b3: 0x2000, + 0x8b6: 0x2000, 0x8b7: 0x2000, + 0x8bc: 0x2000, 0x8bd: 0x2000, + // Block 0x23, offset 0x8c0 + 0x8c0: 0x2000, 0x8c1: 0x2000, + 0x8c6: 0x2000, 0x8c7: 0x2000, 0x8c8: 0x2000, 0x8cb: 0x200f, + 0x8ce: 0x2000, 0x8cf: 0x2000, 0x8d0: 0x2000, 0x8d1: 0x2000, + 0x8e2: 0x2000, 0x8e3: 0x2000, + 0x8e4: 0x2000, 0x8e5: 0x2000, + 0x8ef: 0x2000, + 0x8fd: 0x4000, 0x8fe: 0x4000, + // Block 0x24, offset 0x900 + 0x905: 0x2000, + 0x906: 0x2000, 0x909: 0x2000, + 0x90e: 0x2000, 0x90f: 0x2000, + 0x914: 0x4000, 0x915: 0x4000, + 0x91c: 0x2000, + 0x91e: 0x2000, + // Block 0x25, offset 0x940 + 0x940: 0x2000, 0x942: 0x2000, + 0x948: 0x4000, 0x949: 0x4000, 0x94a: 0x4000, 0x94b: 0x4000, + 0x94c: 0x4000, 0x94d: 0x4000, 0x94e: 0x4000, 0x94f: 0x4000, 0x950: 0x4000, 0x951: 0x4000, + 0x952: 0x4000, 0x953: 0x4000, + 0x960: 0x2000, 0x961: 0x2000, 0x963: 0x2000, + 0x964: 0x2000, 0x965: 0x2000, 0x967: 0x2000, 0x968: 0x2000, 0x969: 0x2000, + 0x96a: 0x2000, 0x96c: 0x2000, 0x96d: 0x2000, 0x96f: 0x2000, + 0x97f: 0x4000, + // Block 0x26, offset 0x980 + 0x993: 0x4000, + 0x99e: 0x2000, 0x99f: 0x2000, 0x9a1: 0x4000, + 0x9aa: 0x4000, 0x9ab: 0x4000, + 0x9bd: 0x4000, 0x9be: 0x4000, 0x9bf: 0x2000, + // Block 0x27, offset 0x9c0 + 0x9c4: 0x4000, 0x9c5: 0x4000, + 0x9c6: 0x2000, 0x9c7: 0x2000, 0x9c8: 0x2000, 0x9c9: 0x2000, 0x9ca: 0x2000, 0x9cb: 0x2000, + 0x9cc: 0x2000, 0x9cd: 0x2000, 0x9ce: 0x4000, 0x9cf: 0x2000, 0x9d0: 0x2000, 0x9d1: 0x2000, + 0x9d2: 0x2000, 0x9d3: 0x2000, 0x9d4: 0x4000, 0x9d5: 0x2000, 0x9d6: 0x2000, 0x9d7: 0x2000, + 0x9d8: 0x2000, 0x9d9: 0x2000, 0x9da: 0x2000, 0x9db: 0x2000, 0x9dc: 0x2000, 0x9dd: 0x2000, + 0x9de: 0x2000, 0x9df: 0x2000, 0x9e0: 0x2000, 0x9e1: 0x2000, 0x9e3: 0x2000, + 0x9e8: 0x2000, 0x9e9: 0x2000, + 0x9ea: 0x4000, 0x9eb: 0x2000, 0x9ec: 0x2000, 0x9ed: 0x2000, 0x9ee: 0x2000, 0x9ef: 0x2000, + 0x9f0: 0x2000, 0x9f1: 0x2000, 0x9f2: 0x4000, 0x9f3: 0x4000, 0x9f4: 0x2000, 0x9f5: 0x4000, + 0x9f6: 0x2000, 0x9f7: 0x2000, 0x9f8: 0x2000, 0x9f9: 0x2000, 0x9fa: 0x4000, 0x9fb: 0x2000, + 0x9fc: 0x2000, 0x9fd: 0x4000, 0x9fe: 0x2000, 0x9ff: 0x2000, + // Block 0x28, offset 0xa00 + 0xa05: 0x4000, + 0xa0a: 0x4000, 0xa0b: 0x4000, + 0xa28: 0x4000, + 0xa3d: 0x2000, + // Block 0x29, offset 0xa40 + 0xa4c: 0x4000, 0xa4e: 0x4000, + 0xa53: 0x4000, 0xa54: 0x4000, 0xa55: 0x4000, 0xa57: 0x4000, + 0xa76: 0x2000, 0xa77: 0x2000, 0xa78: 0x2000, 0xa79: 0x2000, 0xa7a: 0x2000, 0xa7b: 0x2000, + 0xa7c: 0x2000, 0xa7d: 0x2000, 0xa7e: 0x2000, 0xa7f: 0x2000, + // Block 0x2a, offset 0xa80 + 0xa95: 0x4000, 0xa96: 0x4000, 0xa97: 0x4000, + 0xab0: 0x4000, + 0xabf: 0x4000, + // Block 0x2b, offset 0xac0 + 0xae6: 0x6000, 0xae7: 0x6000, 0xae8: 0x6000, 0xae9: 0x6000, + 0xaea: 0x6000, 0xaeb: 0x6000, 0xaec: 0x6000, 0xaed: 0x6000, + // Block 0x2c, offset 0xb00 + 0xb05: 0x6010, + 0xb06: 0x6011, + // Block 0x2d, offset 0xb40 + 0xb5b: 0x4000, 0xb5c: 0x4000, + // Block 0x2e, offset 0xb80 + 0xb90: 0x4000, + 0xb95: 0x4000, 0xb96: 0x2000, 0xb97: 0x2000, + 0xb98: 0x2000, 0xb99: 0x2000, + // Block 0x2f, offset 0xbc0 + 0xbc0: 0x4000, 0xbc1: 0x4000, 0xbc2: 0x4000, 0xbc3: 0x4000, 0xbc4: 0x4000, 0xbc5: 0x4000, + 0xbc6: 0x4000, 0xbc7: 0x4000, 0xbc8: 0x4000, 0xbc9: 0x4000, 0xbca: 0x4000, 0xbcb: 0x4000, + 0xbcc: 0x4000, 0xbcd: 0x4000, 0xbce: 0x4000, 0xbcf: 0x4000, 0xbd0: 0x4000, 0xbd1: 0x4000, + 0xbd2: 0x4000, 0xbd3: 0x4000, 0xbd4: 0x4000, 0xbd5: 0x4000, 0xbd6: 0x4000, 0xbd7: 0x4000, + 0xbd8: 0x4000, 0xbd9: 0x4000, 0xbdb: 0x4000, 0xbdc: 0x4000, 0xbdd: 0x4000, + 0xbde: 0x4000, 0xbdf: 0x4000, 0xbe0: 0x4000, 0xbe1: 0x4000, 0xbe2: 0x4000, 0xbe3: 0x4000, + 0xbe4: 0x4000, 0xbe5: 0x4000, 0xbe6: 0x4000, 0xbe7: 0x4000, 0xbe8: 0x4000, 0xbe9: 0x4000, + 0xbea: 0x4000, 0xbeb: 0x4000, 0xbec: 0x4000, 0xbed: 0x4000, 0xbee: 0x4000, 0xbef: 0x4000, + 0xbf0: 0x4000, 0xbf1: 0x4000, 0xbf2: 0x4000, 0xbf3: 0x4000, 0xbf4: 0x4000, 0xbf5: 0x4000, + 0xbf6: 0x4000, 0xbf7: 0x4000, 0xbf8: 0x4000, 0xbf9: 0x4000, 0xbfa: 0x4000, 0xbfb: 0x4000, + 0xbfc: 0x4000, 0xbfd: 0x4000, 0xbfe: 0x4000, 0xbff: 0x4000, + // Block 0x30, offset 0xc00 + 0xc00: 0x4000, 0xc01: 0x4000, 0xc02: 0x4000, 0xc03: 0x4000, 0xc04: 0x4000, 0xc05: 0x4000, + 0xc06: 0x4000, 0xc07: 0x4000, 0xc08: 0x4000, 0xc09: 0x4000, 0xc0a: 0x4000, 0xc0b: 0x4000, + 0xc0c: 0x4000, 0xc0d: 0x4000, 0xc0e: 0x4000, 0xc0f: 0x4000, 0xc10: 0x4000, 0xc11: 0x4000, + 0xc12: 0x4000, 0xc13: 0x4000, 0xc14: 0x4000, 0xc15: 0x4000, 0xc16: 0x4000, 0xc17: 0x4000, + 0xc18: 0x4000, 0xc19: 0x4000, 0xc1a: 0x4000, 0xc1b: 0x4000, 0xc1c: 0x4000, 0xc1d: 0x4000, + 0xc1e: 0x4000, 0xc1f: 0x4000, 0xc20: 0x4000, 0xc21: 0x4000, 0xc22: 0x4000, 0xc23: 0x4000, + 0xc24: 0x4000, 0xc25: 0x4000, 0xc26: 0x4000, 0xc27: 0x4000, 0xc28: 0x4000, 0xc29: 0x4000, + 0xc2a: 0x4000, 0xc2b: 0x4000, 0xc2c: 0x4000, 0xc2d: 0x4000, 0xc2e: 0x4000, 0xc2f: 0x4000, + 0xc30: 0x4000, 0xc31: 0x4000, 0xc32: 0x4000, 0xc33: 0x4000, + // Block 0x31, offset 0xc40 + 0xc40: 0x4000, 0xc41: 0x4000, 0xc42: 0x4000, 0xc43: 0x4000, 0xc44: 0x4000, 0xc45: 0x4000, + 0xc46: 0x4000, 0xc47: 0x4000, 0xc48: 0x4000, 0xc49: 0x4000, 0xc4a: 0x4000, 0xc4b: 0x4000, + 0xc4c: 0x4000, 0xc4d: 0x4000, 0xc4e: 0x4000, 0xc4f: 0x4000, 0xc50: 0x4000, 0xc51: 0x4000, + 0xc52: 0x4000, 0xc53: 0x4000, 0xc54: 0x4000, 0xc55: 0x4000, + 0xc70: 0x4000, 0xc71: 0x4000, 0xc72: 0x4000, 0xc73: 0x4000, 0xc74: 0x4000, 0xc75: 0x4000, + 0xc76: 0x4000, 0xc77: 0x4000, 0xc78: 0x4000, 0xc79: 0x4000, 0xc7a: 0x4000, 0xc7b: 0x4000, + // Block 0x32, offset 0xc80 + 0xc80: 0x9012, 0xc81: 0x4013, 0xc82: 0x4014, 0xc83: 0x4000, 0xc84: 0x4000, 0xc85: 0x4000, + 0xc86: 0x4000, 0xc87: 0x4000, 0xc88: 0x4000, 0xc89: 0x4000, 0xc8a: 0x4000, 0xc8b: 0x4000, + 0xc8c: 0x4015, 0xc8d: 0x4015, 0xc8e: 0x4000, 0xc8f: 0x4000, 0xc90: 0x4000, 0xc91: 0x4000, + 0xc92: 0x4000, 0xc93: 0x4000, 0xc94: 0x4000, 0xc95: 0x4000, 0xc96: 0x4000, 0xc97: 0x4000, + 0xc98: 0x4000, 0xc99: 0x4000, 0xc9a: 0x4000, 0xc9b: 0x4000, 0xc9c: 0x4000, 0xc9d: 0x4000, + 0xc9e: 0x4000, 0xc9f: 0x4000, 0xca0: 0x4000, 0xca1: 0x4000, 0xca2: 0x4000, 0xca3: 0x4000, + 0xca4: 0x4000, 0xca5: 0x4000, 0xca6: 0x4000, 0xca7: 0x4000, 0xca8: 0x4000, 0xca9: 0x4000, + 0xcaa: 0x4000, 0xcab: 0x4000, 0xcac: 0x4000, 0xcad: 0x4000, 0xcae: 0x4000, 0xcaf: 0x4000, + 0xcb0: 0x4000, 0xcb1: 0x4000, 0xcb2: 0x4000, 0xcb3: 0x4000, 0xcb4: 0x4000, 0xcb5: 0x4000, + 0xcb6: 0x4000, 0xcb7: 0x4000, 0xcb8: 0x4000, 0xcb9: 0x4000, 0xcba: 0x4000, 0xcbb: 0x4000, + 0xcbc: 0x4000, 0xcbd: 0x4000, 0xcbe: 0x4000, + // Block 0x33, offset 0xcc0 + 0xcc1: 0x4000, 0xcc2: 0x4000, 0xcc3: 0x4000, 0xcc4: 0x4000, 0xcc5: 0x4000, + 0xcc6: 0x4000, 0xcc7: 0x4000, 0xcc8: 0x4000, 0xcc9: 0x4000, 0xcca: 0x4000, 0xccb: 0x4000, + 0xccc: 0x4000, 0xccd: 0x4000, 0xcce: 0x4000, 0xccf: 0x4000, 0xcd0: 0x4000, 0xcd1: 0x4000, + 0xcd2: 0x4000, 0xcd3: 0x4000, 0xcd4: 0x4000, 0xcd5: 0x4000, 0xcd6: 0x4000, 0xcd7: 0x4000, + 0xcd8: 0x4000, 0xcd9: 0x4000, 0xcda: 0x4000, 0xcdb: 0x4000, 0xcdc: 0x4000, 0xcdd: 0x4000, + 0xcde: 0x4000, 0xcdf: 0x4000, 0xce0: 0x4000, 0xce1: 0x4000, 0xce2: 0x4000, 0xce3: 0x4000, + 0xce4: 0x4000, 0xce5: 0x4000, 0xce6: 0x4000, 0xce7: 0x4000, 0xce8: 0x4000, 0xce9: 0x4000, + 0xcea: 0x4000, 0xceb: 0x4000, 0xcec: 0x4000, 0xced: 0x4000, 0xcee: 0x4000, 0xcef: 0x4000, + 0xcf0: 0x4000, 0xcf1: 0x4000, 0xcf2: 0x4000, 0xcf3: 0x4000, 0xcf4: 0x4000, 0xcf5: 0x4000, + 0xcf6: 0x4000, 0xcf7: 0x4000, 0xcf8: 0x4000, 0xcf9: 0x4000, 0xcfa: 0x4000, 0xcfb: 0x4000, + 0xcfc: 0x4000, 0xcfd: 0x4000, 0xcfe: 0x4000, 0xcff: 0x4000, + // Block 0x34, offset 0xd00 + 0xd00: 0x4000, 0xd01: 0x4000, 0xd02: 0x4000, 0xd03: 0x4000, 0xd04: 0x4000, 0xd05: 0x4000, + 0xd06: 0x4000, 0xd07: 0x4000, 0xd08: 0x4000, 0xd09: 0x4000, 0xd0a: 0x4000, 0xd0b: 0x4000, + 0xd0c: 0x4000, 0xd0d: 0x4000, 0xd0e: 0x4000, 0xd0f: 0x4000, 0xd10: 0x4000, 0xd11: 0x4000, + 0xd12: 0x4000, 0xd13: 0x4000, 0xd14: 0x4000, 0xd15: 0x4000, 0xd16: 0x4000, + 0xd19: 0x4016, 0xd1a: 0x4017, 0xd1b: 0x4000, 0xd1c: 0x4000, 0xd1d: 0x4000, + 0xd1e: 0x4000, 0xd1f: 0x4000, 0xd20: 0x4000, 0xd21: 0x4018, 0xd22: 0x4019, 0xd23: 0x401a, + 0xd24: 0x401b, 0xd25: 0x401c, 0xd26: 0x401d, 0xd27: 0x401e, 0xd28: 0x401f, 0xd29: 0x4020, + 0xd2a: 0x4021, 0xd2b: 0x4022, 0xd2c: 0x4000, 0xd2d: 0x4010, 0xd2e: 0x4000, 0xd2f: 0x4023, + 0xd30: 0x4000, 0xd31: 0x4024, 0xd32: 0x4000, 0xd33: 0x4025, 0xd34: 0x4000, 0xd35: 0x4026, + 0xd36: 0x4000, 0xd37: 0x401a, 0xd38: 0x4000, 0xd39: 0x4027, 0xd3a: 0x4000, 0xd3b: 0x4028, + 0xd3c: 0x4000, 0xd3d: 0x4020, 0xd3e: 0x4000, 0xd3f: 0x4029, + // Block 0x35, offset 0xd40 + 0xd40: 0x4000, 0xd41: 0x402a, 0xd42: 0x4000, 0xd43: 0x402b, 0xd44: 0x402c, 0xd45: 0x4000, + 0xd46: 0x4017, 0xd47: 0x4000, 0xd48: 0x402d, 0xd49: 0x4000, 0xd4a: 0x402e, 0xd4b: 0x402f, + 0xd4c: 0x4030, 0xd4d: 0x4017, 0xd4e: 0x4016, 0xd4f: 0x4017, 0xd50: 0x4000, 0xd51: 0x4000, + 0xd52: 0x4031, 0xd53: 0x4000, 0xd54: 0x4000, 0xd55: 0x4031, 0xd56: 0x4000, 0xd57: 0x4000, + 0xd58: 0x4032, 0xd59: 0x4000, 0xd5a: 0x4000, 0xd5b: 0x4032, 0xd5c: 0x4000, 0xd5d: 0x4000, + 0xd5e: 0x4033, 0xd5f: 0x402e, 0xd60: 0x4034, 0xd61: 0x4035, 0xd62: 0x4034, 0xd63: 0x4036, + 0xd64: 0x4037, 0xd65: 0x4024, 0xd66: 0x4035, 0xd67: 0x4025, 0xd68: 0x4038, 0xd69: 0x4038, + 0xd6a: 0x4039, 0xd6b: 0x4039, 0xd6c: 0x403a, 0xd6d: 0x403a, 0xd6e: 0x4000, 0xd6f: 0x4035, + 0xd70: 0x4000, 0xd71: 0x4000, 0xd72: 0x403b, 0xd73: 0x403c, 0xd74: 0x4000, 0xd75: 0x4000, + 0xd76: 0x4000, 0xd77: 0x4000, 0xd78: 0x4000, 0xd79: 0x4000, 0xd7a: 0x4000, 0xd7b: 0x403d, + 0xd7c: 0x401c, 0xd7d: 0x4000, 0xd7e: 0x4000, 0xd7f: 0x4000, + // Block 0x36, offset 0xd80 + 0xd85: 0x4000, + 0xd86: 0x4000, 0xd87: 0x4000, 0xd88: 0x4000, 0xd89: 0x4000, 0xd8a: 0x4000, 0xd8b: 0x4000, + 0xd8c: 0x4000, 0xd8d: 0x4000, 0xd8e: 0x4000, 0xd8f: 0x4000, 0xd90: 0x4000, 0xd91: 0x4000, + 0xd92: 0x4000, 0xd93: 0x4000, 0xd94: 0x4000, 0xd95: 0x4000, 0xd96: 0x4000, 0xd97: 0x4000, + 0xd98: 0x4000, 0xd99: 0x4000, 0xd9a: 0x4000, 0xd9b: 0x4000, 0xd9c: 0x4000, 0xd9d: 0x4000, + 0xd9e: 0x4000, 0xd9f: 0x4000, 0xda0: 0x4000, 0xda1: 0x4000, 0xda2: 0x4000, 0xda3: 0x4000, + 0xda4: 0x4000, 0xda5: 0x4000, 0xda6: 0x4000, 0xda7: 0x4000, 0xda8: 0x4000, 0xda9: 0x4000, + 0xdaa: 0x4000, 0xdab: 0x4000, 0xdac: 0x4000, 0xdad: 0x4000, + 0xdb1: 0x403e, 0xdb2: 0x403e, 0xdb3: 0x403e, 0xdb4: 0x403e, 0xdb5: 0x403e, + 0xdb6: 0x403e, 0xdb7: 0x403e, 0xdb8: 0x403e, 0xdb9: 0x403e, 0xdba: 0x403e, 0xdbb: 0x403e, + 0xdbc: 0x403e, 0xdbd: 0x403e, 0xdbe: 0x403e, 0xdbf: 0x403e, + // Block 0x37, offset 0xdc0 + 0xdc0: 0x4037, 0xdc1: 0x4037, 0xdc2: 0x4037, 0xdc3: 0x4037, 0xdc4: 0x4037, 0xdc5: 0x4037, + 0xdc6: 0x4037, 0xdc7: 0x4037, 0xdc8: 0x4037, 0xdc9: 0x4037, 0xdca: 0x4037, 0xdcb: 0x4037, + 0xdcc: 0x4037, 0xdcd: 0x4037, 0xdce: 0x4037, 0xdcf: 0x400e, 0xdd0: 0x403f, 0xdd1: 0x4040, + 0xdd2: 0x4041, 0xdd3: 0x4040, 0xdd4: 0x403f, 0xdd5: 0x4042, 0xdd6: 0x4043, 0xdd7: 0x4044, + 0xdd8: 0x4040, 0xdd9: 0x4041, 0xdda: 0x4040, 0xddb: 0x4045, 0xddc: 0x4009, 0xddd: 0x4045, + 0xdde: 0x4046, 0xddf: 0x4045, 0xde0: 0x4047, 0xde1: 0x400b, 0xde2: 0x400a, 0xde3: 0x400c, + 0xde4: 0x4048, 0xde5: 0x4000, 0xde6: 0x4000, 0xde7: 0x4000, 0xde8: 0x4000, 0xde9: 0x4000, + 0xdea: 0x4000, 0xdeb: 0x4000, 0xdec: 0x4000, 0xded: 0x4000, 0xdee: 0x4000, 0xdef: 0x4000, + 0xdf0: 0x4000, 0xdf1: 0x4000, 0xdf2: 0x4000, 0xdf3: 0x4000, 0xdf4: 0x4000, 0xdf5: 0x4000, + 0xdf6: 0x4000, 0xdf7: 0x4000, 0xdf8: 0x4000, 0xdf9: 0x4000, 0xdfa: 0x4000, 0xdfb: 0x4000, + 0xdfc: 0x4000, 0xdfd: 0x4000, 0xdfe: 0x4000, 0xdff: 0x4000, + // Block 0x38, offset 0xe00 + 0xe00: 0x4000, 0xe01: 0x4000, 0xe02: 0x4000, 0xe03: 0x4000, 0xe04: 0x4000, 0xe05: 0x4000, + 0xe06: 0x4000, 0xe07: 0x4000, 0xe08: 0x4000, 0xe09: 0x4000, 0xe0a: 0x4000, 0xe0b: 0x4000, + 0xe0c: 0x4000, 0xe0d: 0x4000, 0xe0e: 0x4000, 0xe10: 0x4000, 0xe11: 0x4000, + 0xe12: 0x4000, 0xe13: 0x4000, 0xe14: 0x4000, 0xe15: 0x4000, 0xe16: 0x4000, 0xe17: 0x4000, + 0xe18: 0x4000, 0xe19: 0x4000, 0xe1a: 0x4000, 0xe1b: 0x4000, 0xe1c: 0x4000, 0xe1d: 0x4000, + 0xe1e: 0x4000, 0xe1f: 0x4000, 0xe20: 0x4000, 0xe21: 0x4000, 0xe22: 0x4000, 0xe23: 0x4000, + 0xe24: 0x4000, 0xe25: 0x4000, 0xe26: 0x4000, 0xe27: 0x4000, 0xe28: 0x4000, 0xe29: 0x4000, + 0xe2a: 0x4000, 0xe2b: 0x4000, 0xe2c: 0x4000, 0xe2d: 0x4000, 0xe2e: 0x4000, 0xe2f: 0x4000, + 0xe30: 0x4000, 0xe31: 0x4000, 0xe32: 0x4000, 0xe33: 0x4000, 0xe34: 0x4000, 0xe35: 0x4000, + 0xe36: 0x4000, 0xe37: 0x4000, 0xe38: 0x4000, 0xe39: 0x4000, 0xe3a: 0x4000, + // Block 0x39, offset 0xe40 + 0xe40: 0x4000, 0xe41: 0x4000, 0xe42: 0x4000, 0xe43: 0x4000, 0xe44: 0x4000, 0xe45: 0x4000, + 0xe46: 0x4000, 0xe47: 0x4000, 0xe48: 0x4000, 0xe49: 0x4000, 0xe4a: 0x4000, 0xe4b: 0x4000, + 0xe4c: 0x4000, 0xe4d: 0x4000, 0xe4e: 0x4000, 0xe4f: 0x4000, 0xe50: 0x4000, 0xe51: 0x4000, + 0xe52: 0x4000, 0xe53: 0x4000, 0xe54: 0x4000, 0xe55: 0x4000, 0xe56: 0x4000, 0xe57: 0x4000, + 0xe58: 0x4000, 0xe59: 0x4000, 0xe5a: 0x4000, 0xe5b: 0x4000, 0xe5c: 0x4000, 0xe5d: 0x4000, + 0xe5e: 0x4000, 0xe5f: 0x4000, 0xe60: 0x4000, 0xe61: 0x4000, 0xe62: 0x4000, 0xe63: 0x4000, + 0xe70: 0x4000, 0xe71: 0x4000, 0xe72: 0x4000, 0xe73: 0x4000, 0xe74: 0x4000, 0xe75: 0x4000, + 0xe76: 0x4000, 0xe77: 0x4000, 0xe78: 0x4000, 0xe79: 0x4000, 0xe7a: 0x4000, 0xe7b: 0x4000, + 0xe7c: 0x4000, 0xe7d: 0x4000, 0xe7e: 0x4000, 0xe7f: 0x4000, + // Block 0x3a, offset 0xe80 + 0xe80: 0x4000, 0xe81: 0x4000, 0xe82: 0x4000, 0xe83: 0x4000, 0xe84: 0x4000, 0xe85: 0x4000, + 0xe86: 0x4000, 0xe87: 0x4000, 0xe88: 0x4000, 0xe89: 0x4000, 0xe8a: 0x4000, 0xe8b: 0x4000, + 0xe8c: 0x4000, 0xe8d: 0x4000, 0xe8e: 0x4000, 0xe8f: 0x4000, 0xe90: 0x4000, 0xe91: 0x4000, + 0xe92: 0x4000, 0xe93: 0x4000, 0xe94: 0x4000, 0xe95: 0x4000, 0xe96: 0x4000, 0xe97: 0x4000, + 0xe98: 0x4000, 0xe99: 0x4000, 0xe9a: 0x4000, 0xe9b: 0x4000, 0xe9c: 0x4000, 0xe9d: 0x4000, + 0xe9e: 0x4000, 0xea0: 0x4000, 0xea1: 0x4000, 0xea2: 0x4000, 0xea3: 0x4000, + 0xea4: 0x4000, 0xea5: 0x4000, 0xea6: 0x4000, 0xea7: 0x4000, 0xea8: 0x4000, 0xea9: 0x4000, + 0xeaa: 0x4000, 0xeab: 0x4000, 0xeac: 0x4000, 0xead: 0x4000, 0xeae: 0x4000, 0xeaf: 0x4000, + 0xeb0: 0x4000, 0xeb1: 0x4000, 0xeb2: 0x4000, 0xeb3: 0x4000, 0xeb4: 0x4000, 0xeb5: 0x4000, + 0xeb6: 0x4000, 0xeb7: 0x4000, 0xeb8: 0x4000, 0xeb9: 0x4000, 0xeba: 0x4000, 0xebb: 0x4000, + 0xebc: 0x4000, 0xebd: 0x4000, 0xebe: 0x4000, 0xebf: 0x4000, + // Block 0x3b, offset 0xec0 + 0xec0: 0x4000, 0xec1: 0x4000, 0xec2: 0x4000, 0xec3: 0x4000, 0xec4: 0x4000, 0xec5: 0x4000, + 0xec6: 0x4000, 0xec7: 0x4000, 0xec8: 0x2000, 0xec9: 0x2000, 0xeca: 0x2000, 0xecb: 0x2000, + 0xecc: 0x2000, 0xecd: 0x2000, 0xece: 0x2000, 0xecf: 0x2000, 0xed0: 0x4000, 0xed1: 0x4000, + 0xed2: 0x4000, 0xed3: 0x4000, 0xed4: 0x4000, 0xed5: 0x4000, 0xed6: 0x4000, 0xed7: 0x4000, + 0xed8: 0x4000, 0xed9: 0x4000, 0xeda: 0x4000, 0xedb: 0x4000, 0xedc: 0x4000, 0xedd: 0x4000, + 0xede: 0x4000, 0xedf: 0x4000, 0xee0: 0x4000, 0xee1: 0x4000, 0xee2: 0x4000, 0xee3: 0x4000, + 0xee4: 0x4000, 0xee5: 0x4000, 0xee6: 0x4000, 0xee7: 0x4000, 0xee8: 0x4000, 0xee9: 0x4000, + 0xeea: 0x4000, 0xeeb: 0x4000, 0xeec: 0x4000, 0xeed: 0x4000, 0xeee: 0x4000, 0xeef: 0x4000, + 0xef0: 0x4000, 0xef1: 0x4000, 0xef2: 0x4000, 0xef3: 0x4000, 0xef4: 0x4000, 0xef5: 0x4000, + 0xef6: 0x4000, 0xef7: 0x4000, 0xef8: 0x4000, 0xef9: 0x4000, 0xefa: 0x4000, 0xefb: 0x4000, + 0xefc: 0x4000, 0xefd: 0x4000, 0xefe: 0x4000, 0xeff: 0x4000, + // Block 0x3c, offset 0xf00 + 0xf00: 0x4000, 0xf01: 0x4000, 0xf02: 0x4000, 0xf03: 0x4000, 0xf04: 0x4000, 0xf05: 0x4000, + 0xf06: 0x4000, 0xf07: 0x4000, 0xf08: 0x4000, 0xf09: 0x4000, 0xf0a: 0x4000, 0xf0b: 0x4000, + 0xf0c: 0x4000, 0xf0d: 0x4000, 0xf0e: 0x4000, 0xf0f: 0x4000, 0xf10: 0x4000, 0xf11: 0x4000, + 0xf12: 0x4000, 0xf13: 0x4000, 0xf14: 0x4000, 0xf15: 0x4000, 0xf16: 0x4000, 0xf17: 0x4000, + 0xf18: 0x4000, 0xf19: 0x4000, 0xf1a: 0x4000, 0xf1b: 0x4000, 0xf1c: 0x4000, 0xf1d: 0x4000, + 0xf1e: 0x4000, 0xf1f: 0x4000, 0xf20: 0x4000, 0xf21: 0x4000, 0xf22: 0x4000, 0xf23: 0x4000, + 0xf24: 0x4000, 0xf25: 0x4000, 0xf26: 0x4000, 0xf27: 0x4000, 0xf28: 0x4000, 0xf29: 0x4000, + 0xf2a: 0x4000, 0xf2b: 0x4000, 0xf2c: 0x4000, 0xf2d: 0x4000, 0xf2e: 0x4000, 0xf2f: 0x4000, + 0xf30: 0x4000, 0xf31: 0x4000, 0xf32: 0x4000, 0xf33: 0x4000, 0xf34: 0x4000, 0xf35: 0x4000, + 0xf36: 0x4000, 0xf37: 0x4000, 0xf38: 0x4000, 0xf39: 0x4000, 0xf3a: 0x4000, 0xf3b: 0x4000, + 0xf3c: 0x4000, 0xf3d: 0x4000, 0xf3e: 0x4000, + // Block 0x3d, offset 0xf40 + 0xf40: 0x4000, 0xf41: 0x4000, 0xf42: 0x4000, 0xf43: 0x4000, 0xf44: 0x4000, 0xf45: 0x4000, + 0xf46: 0x4000, 0xf47: 0x4000, 0xf48: 0x4000, 0xf49: 0x4000, 0xf4a: 0x4000, 0xf4b: 0x4000, + 0xf4c: 0x4000, 0xf50: 0x4000, 0xf51: 0x4000, + 0xf52: 0x4000, 0xf53: 0x4000, 0xf54: 0x4000, 0xf55: 0x4000, 0xf56: 0x4000, 0xf57: 0x4000, + 0xf58: 0x4000, 0xf59: 0x4000, 0xf5a: 0x4000, 0xf5b: 0x4000, 0xf5c: 0x4000, 0xf5d: 0x4000, + 0xf5e: 0x4000, 0xf5f: 0x4000, 0xf60: 0x4000, 0xf61: 0x4000, 0xf62: 0x4000, 0xf63: 0x4000, + 0xf64: 0x4000, 0xf65: 0x4000, 0xf66: 0x4000, 0xf67: 0x4000, 0xf68: 0x4000, 0xf69: 0x4000, + 0xf6a: 0x4000, 0xf6b: 0x4000, 0xf6c: 0x4000, 0xf6d: 0x4000, 0xf6e: 0x4000, 0xf6f: 0x4000, + 0xf70: 0x4000, 0xf71: 0x4000, 0xf72: 0x4000, 0xf73: 0x4000, 0xf74: 0x4000, 0xf75: 0x4000, + 0xf76: 0x4000, 0xf77: 0x4000, 0xf78: 0x4000, 0xf79: 0x4000, 0xf7a: 0x4000, 0xf7b: 0x4000, + 0xf7c: 0x4000, 0xf7d: 0x4000, 0xf7e: 0x4000, 0xf7f: 0x4000, + // Block 0x3e, offset 0xf80 + 0xf80: 0x4000, 0xf81: 0x4000, 0xf82: 0x4000, 0xf83: 0x4000, 0xf84: 0x4000, 0xf85: 0x4000, + 0xf86: 0x4000, + // Block 0x3f, offset 0xfc0 + 0xfe0: 0x4000, 0xfe1: 0x4000, 0xfe2: 0x4000, 0xfe3: 0x4000, + 0xfe4: 0x4000, 0xfe5: 0x4000, 0xfe6: 0x4000, 0xfe7: 0x4000, 0xfe8: 0x4000, 0xfe9: 0x4000, + 0xfea: 0x4000, 0xfeb: 0x4000, 0xfec: 0x4000, 0xfed: 0x4000, 0xfee: 0x4000, 0xfef: 0x4000, + 0xff0: 0x4000, 0xff1: 0x4000, 0xff2: 0x4000, 0xff3: 0x4000, 0xff4: 0x4000, 0xff5: 0x4000, + 0xff6: 0x4000, 0xff7: 0x4000, 0xff8: 0x4000, 0xff9: 0x4000, 0xffa: 0x4000, 0xffb: 0x4000, + 0xffc: 0x4000, + // Block 0x40, offset 0x1000 + 0x1000: 0x4000, 0x1001: 0x4000, 0x1002: 0x4000, 0x1003: 0x4000, 0x1004: 0x4000, 0x1005: 0x4000, + 0x1006: 0x4000, 0x1007: 0x4000, 0x1008: 0x4000, 0x1009: 0x4000, 0x100a: 0x4000, 0x100b: 0x4000, + 0x100c: 0x4000, 0x100d: 0x4000, 0x100e: 0x4000, 0x100f: 0x4000, 0x1010: 0x4000, 0x1011: 0x4000, + 0x1012: 0x4000, 0x1013: 0x4000, 0x1014: 0x4000, 0x1015: 0x4000, 0x1016: 0x4000, 0x1017: 0x4000, + 0x1018: 0x4000, 0x1019: 0x4000, 0x101a: 0x4000, 0x101b: 0x4000, 0x101c: 0x4000, 0x101d: 0x4000, + 0x101e: 0x4000, 0x101f: 0x4000, 0x1020: 0x4000, 0x1021: 0x4000, 0x1022: 0x4000, 0x1023: 0x4000, + // Block 0x41, offset 0x1040 + 0x1040: 0x2000, 0x1041: 0x2000, 0x1042: 0x2000, 0x1043: 0x2000, 0x1044: 0x2000, 0x1045: 0x2000, + 0x1046: 0x2000, 0x1047: 0x2000, 0x1048: 0x2000, 0x1049: 0x2000, 0x104a: 0x2000, 0x104b: 0x2000, + 0x104c: 0x2000, 0x104d: 0x2000, 0x104e: 0x2000, 0x104f: 0x2000, 0x1050: 0x4000, 0x1051: 0x4000, + 0x1052: 0x4000, 0x1053: 0x4000, 0x1054: 0x4000, 0x1055: 0x4000, 0x1056: 0x4000, 0x1057: 0x4000, + 0x1058: 0x4000, 0x1059: 0x4000, + 0x1070: 0x4000, 0x1071: 0x4000, 0x1072: 0x4000, 0x1073: 0x4000, 0x1074: 0x4000, 0x1075: 0x4000, + 0x1076: 0x4000, 0x1077: 0x4000, 0x1078: 0x4000, 0x1079: 0x4000, 0x107a: 0x4000, 0x107b: 0x4000, + 0x107c: 0x4000, 0x107d: 0x4000, 0x107e: 0x4000, 0x107f: 0x4000, + // Block 0x42, offset 0x1080 + 0x1080: 0x4000, 0x1081: 0x4000, 0x1082: 0x4000, 0x1083: 0x4000, 0x1084: 0x4000, 0x1085: 0x4000, + 0x1086: 0x4000, 0x1087: 0x4000, 0x1088: 0x4000, 0x1089: 0x4000, 0x108a: 0x4000, 0x108b: 0x4000, + 0x108c: 0x4000, 0x108d: 0x4000, 0x108e: 0x4000, 0x108f: 0x4000, 0x1090: 0x4000, 0x1091: 0x4000, + 0x1092: 0x4000, 0x1094: 0x4000, 0x1095: 0x4000, 0x1096: 0x4000, 0x1097: 0x4000, + 0x1098: 0x4000, 0x1099: 0x4000, 0x109a: 0x4000, 0x109b: 0x4000, 0x109c: 0x4000, 0x109d: 0x4000, + 0x109e: 0x4000, 0x109f: 0x4000, 0x10a0: 0x4000, 0x10a1: 0x4000, 0x10a2: 0x4000, 0x10a3: 0x4000, + 0x10a4: 0x4000, 0x10a5: 0x4000, 0x10a6: 0x4000, 0x10a8: 0x4000, 0x10a9: 0x4000, + 0x10aa: 0x4000, 0x10ab: 0x4000, + // Block 0x43, offset 0x10c0 + 0x10c1: 0x9012, 0x10c2: 0x9012, 0x10c3: 0x9012, 0x10c4: 0x9012, 0x10c5: 0x9012, + 0x10c6: 0x9012, 0x10c7: 0x9012, 0x10c8: 0x9012, 0x10c9: 0x9012, 0x10ca: 0x9012, 0x10cb: 0x9012, + 0x10cc: 0x9012, 0x10cd: 0x9012, 0x10ce: 0x9012, 0x10cf: 0x9012, 0x10d0: 0x9012, 0x10d1: 0x9012, + 0x10d2: 0x9012, 0x10d3: 0x9012, 0x10d4: 0x9012, 0x10d5: 0x9012, 0x10d6: 0x9012, 0x10d7: 0x9012, + 0x10d8: 0x9012, 0x10d9: 0x9012, 0x10da: 0x9012, 0x10db: 0x9012, 0x10dc: 0x9012, 0x10dd: 0x9012, + 0x10de: 0x9012, 0x10df: 0x9012, 0x10e0: 0x9049, 0x10e1: 0x9049, 0x10e2: 0x9049, 0x10e3: 0x9049, + 0x10e4: 0x9049, 0x10e5: 0x9049, 0x10e6: 0x9049, 0x10e7: 0x9049, 0x10e8: 0x9049, 0x10e9: 0x9049, + 0x10ea: 0x9049, 0x10eb: 0x9049, 0x10ec: 0x9049, 0x10ed: 0x9049, 0x10ee: 0x9049, 0x10ef: 0x9049, + 0x10f0: 0x9049, 0x10f1: 0x9049, 0x10f2: 0x9049, 0x10f3: 0x9049, 0x10f4: 0x9049, 0x10f5: 0x9049, + 0x10f6: 0x9049, 0x10f7: 0x9049, 0x10f8: 0x9049, 0x10f9: 0x9049, 0x10fa: 0x9049, 0x10fb: 0x9049, + 0x10fc: 0x9049, 0x10fd: 0x9049, 0x10fe: 0x9049, 0x10ff: 0x9049, + // Block 0x44, offset 0x1100 + 0x1100: 0x9049, 0x1101: 0x9049, 0x1102: 0x9049, 0x1103: 0x9049, 0x1104: 0x9049, 0x1105: 0x9049, + 0x1106: 0x9049, 0x1107: 0x9049, 0x1108: 0x9049, 0x1109: 0x9049, 0x110a: 0x9049, 0x110b: 0x9049, + 0x110c: 0x9049, 0x110d: 0x9049, 0x110e: 0x9049, 0x110f: 0x9049, 0x1110: 0x9049, 0x1111: 0x9049, + 0x1112: 0x9049, 0x1113: 0x9049, 0x1114: 0x9049, 0x1115: 0x9049, 0x1116: 0x9049, 0x1117: 0x9049, + 0x1118: 0x9049, 0x1119: 0x9049, 0x111a: 0x9049, 0x111b: 0x9049, 0x111c: 0x9049, 0x111d: 0x9049, + 0x111e: 0x9049, 0x111f: 0x904a, 0x1120: 0x904b, 0x1121: 0xb04c, 0x1122: 0xb04d, 0x1123: 0xb04d, + 0x1124: 0xb04e, 0x1125: 0xb04f, 0x1126: 0xb050, 0x1127: 0xb051, 0x1128: 0xb052, 0x1129: 0xb053, + 0x112a: 0xb054, 0x112b: 0xb055, 0x112c: 0xb056, 0x112d: 0xb057, 0x112e: 0xb058, 0x112f: 0xb059, + 0x1130: 0xb05a, 0x1131: 0xb05b, 0x1132: 0xb05c, 0x1133: 0xb05d, 0x1134: 0xb05e, 0x1135: 0xb05f, + 0x1136: 0xb060, 0x1137: 0xb061, 0x1138: 0xb062, 0x1139: 0xb063, 0x113a: 0xb064, 0x113b: 0xb065, + 0x113c: 0xb052, 0x113d: 0xb066, 0x113e: 0xb067, 0x113f: 0xb055, + // Block 0x45, offset 0x1140 + 0x1140: 0xb068, 0x1141: 0xb069, 0x1142: 0xb06a, 0x1143: 0xb06b, 0x1144: 0xb05a, 0x1145: 0xb056, + 0x1146: 0xb06c, 0x1147: 0xb06d, 0x1148: 0xb06b, 0x1149: 0xb06e, 0x114a: 0xb06b, 0x114b: 0xb06f, + 0x114c: 0xb06f, 0x114d: 0xb070, 0x114e: 0xb070, 0x114f: 0xb071, 0x1150: 0xb056, 0x1151: 0xb072, + 0x1152: 0xb073, 0x1153: 0xb072, 0x1154: 0xb074, 0x1155: 0xb073, 0x1156: 0xb075, 0x1157: 0xb075, + 0x1158: 0xb076, 0x1159: 0xb076, 0x115a: 0xb077, 0x115b: 0xb077, 0x115c: 0xb073, 0x115d: 0xb078, + 0x115e: 0xb079, 0x115f: 0xb067, 0x1160: 0xb07a, 0x1161: 0xb07b, 0x1162: 0xb07b, 0x1163: 0xb07b, + 0x1164: 0xb07b, 0x1165: 0xb07b, 0x1166: 0xb07b, 0x1167: 0xb07b, 0x1168: 0xb07b, 0x1169: 0xb07b, + 0x116a: 0xb07b, 0x116b: 0xb07b, 0x116c: 0xb07b, 0x116d: 0xb07b, 0x116e: 0xb07b, 0x116f: 0xb07b, + 0x1170: 0xb07c, 0x1171: 0xb07c, 0x1172: 0xb07c, 0x1173: 0xb07c, 0x1174: 0xb07c, 0x1175: 0xb07c, + 0x1176: 0xb07c, 0x1177: 0xb07c, 0x1178: 0xb07c, 0x1179: 0xb07c, 0x117a: 0xb07c, 0x117b: 0xb07c, + 0x117c: 0xb07c, 0x117d: 0xb07c, 0x117e: 0xb07c, + // Block 0x46, offset 0x1180 + 0x1182: 0xb07d, 0x1183: 0xb07e, 0x1184: 0xb07f, 0x1185: 0xb080, + 0x1186: 0xb07f, 0x1187: 0xb07e, 0x118a: 0xb081, 0x118b: 0xb082, + 0x118c: 0xb083, 0x118d: 0xb07f, 0x118e: 0xb080, 0x118f: 0xb07f, + 0x1192: 0xb084, 0x1193: 0xb085, 0x1194: 0xb084, 0x1195: 0xb086, 0x1196: 0xb084, 0x1197: 0xb087, + 0x119a: 0xb088, 0x119b: 0xb089, 0x119c: 0xb08a, + 0x11a0: 0x908b, 0x11a1: 0x908b, 0x11a2: 0x908c, 0x11a3: 0x908d, + 0x11a4: 0x908b, 0x11a5: 0x908e, 0x11a6: 0x908f, 0x11a8: 0xb090, 0x11a9: 0xb091, + 0x11aa: 0xb092, 0x11ab: 0xb091, 0x11ac: 0xb093, 0x11ad: 0xb094, 0x11ae: 0xb095, + 0x11bd: 0x2000, + // Block 0x47, offset 0x11c0 + 0x11e0: 0x4000, + // Block 0x48, offset 0x1200 + 0x1200: 0x4000, 0x1201: 0x4000, 0x1202: 0x4000, 0x1203: 0x4000, 0x1204: 0x4000, 0x1205: 0x4000, + 0x1206: 0x4000, 0x1207: 0x4000, 0x1208: 0x4000, 0x1209: 0x4000, 0x120a: 0x4000, 0x120b: 0x4000, + 0x120c: 0x4000, 0x120d: 0x4000, 0x120e: 0x4000, 0x120f: 0x4000, 0x1210: 0x4000, 0x1211: 0x4000, + 0x1212: 0x4000, 0x1213: 0x4000, 0x1214: 0x4000, 0x1215: 0x4000, 0x1216: 0x4000, 0x1217: 0x4000, + 0x1218: 0x4000, 0x1219: 0x4000, 0x121a: 0x4000, 0x121b: 0x4000, 0x121c: 0x4000, 0x121d: 0x4000, + 0x121e: 0x4000, 0x121f: 0x4000, 0x1220: 0x4000, 0x1221: 0x4000, 0x1222: 0x4000, 0x1223: 0x4000, + 0x1224: 0x4000, 0x1225: 0x4000, 0x1226: 0x4000, 0x1227: 0x4000, 0x1228: 0x4000, 0x1229: 0x4000, + 0x122a: 0x4000, 0x122b: 0x4000, 0x122c: 0x4000, + // Block 0x49, offset 0x1240 + 0x1240: 0x4000, 0x1241: 0x4000, 0x1242: 0x4000, 0x1243: 0x4000, 0x1244: 0x4000, 0x1245: 0x4000, + 0x1246: 0x4000, 0x1247: 0x4000, 0x1248: 0x4000, 0x1249: 0x4000, 0x124a: 0x4000, 0x124b: 0x4000, + 0x124c: 0x4000, 0x124d: 0x4000, 0x124e: 0x4000, 0x124f: 0x4000, 0x1250: 0x4000, 0x1251: 0x4000, + 0x1252: 0x4000, 0x1253: 0x4000, 0x1254: 0x4000, 0x1255: 0x4000, 0x1256: 0x4000, 0x1257: 0x4000, + 0x1258: 0x4000, 0x1259: 0x4000, 0x125a: 0x4000, 0x125b: 0x4000, 0x125c: 0x4000, 0x125d: 0x4000, + 0x125e: 0x4000, 0x125f: 0x4000, 0x1260: 0x4000, 0x1261: 0x4000, 0x1262: 0x4000, 0x1263: 0x4000, + 0x1264: 0x4000, 0x1265: 0x4000, 0x1266: 0x4000, 0x1267: 0x4000, 0x1268: 0x4000, 0x1269: 0x4000, + 0x126a: 0x4000, 0x126b: 0x4000, 0x126c: 0x4000, 0x126d: 0x4000, 0x126e: 0x4000, 0x126f: 0x4000, + 0x1270: 0x4000, 0x1271: 0x4000, 0x1272: 0x4000, + // Block 0x4a, offset 0x1280 + 0x1280: 0x4000, 0x1281: 0x4000, + // Block 0x4b, offset 0x12c0 + 0x12c4: 0x4000, + // Block 0x4c, offset 0x1300 + 0x130f: 0x4000, + // Block 0x4d, offset 0x1340 + 0x1340: 0x2000, 0x1341: 0x2000, 0x1342: 0x2000, 0x1343: 0x2000, 0x1344: 0x2000, 0x1345: 0x2000, + 0x1346: 0x2000, 0x1347: 0x2000, 0x1348: 0x2000, 0x1349: 0x2000, 0x134a: 0x2000, + 0x1350: 0x2000, 0x1351: 0x2000, + 0x1352: 0x2000, 0x1353: 0x2000, 0x1354: 0x2000, 0x1355: 0x2000, 0x1356: 0x2000, 0x1357: 0x2000, + 0x1358: 0x2000, 0x1359: 0x2000, 0x135a: 0x2000, 0x135b: 0x2000, 0x135c: 0x2000, 0x135d: 0x2000, + 0x135e: 0x2000, 0x135f: 0x2000, 0x1360: 0x2000, 0x1361: 0x2000, 0x1362: 0x2000, 0x1363: 0x2000, + 0x1364: 0x2000, 0x1365: 0x2000, 0x1366: 0x2000, 0x1367: 0x2000, 0x1368: 0x2000, 0x1369: 0x2000, + 0x136a: 0x2000, 0x136b: 0x2000, 0x136c: 0x2000, 0x136d: 0x2000, + 0x1370: 0x2000, 0x1371: 0x2000, 0x1372: 0x2000, 0x1373: 0x2000, 0x1374: 0x2000, 0x1375: 0x2000, + 0x1376: 0x2000, 0x1377: 0x2000, 0x1378: 0x2000, 0x1379: 0x2000, 0x137a: 0x2000, 0x137b: 0x2000, + 0x137c: 0x2000, 0x137d: 0x2000, 0x137e: 0x2000, 0x137f: 0x2000, + // Block 0x4e, offset 0x1380 + 0x1380: 0x2000, 0x1381: 0x2000, 0x1382: 0x2000, 0x1383: 0x2000, 0x1384: 0x2000, 0x1385: 0x2000, + 0x1386: 0x2000, 0x1387: 0x2000, 0x1388: 0x2000, 0x1389: 0x2000, 0x138a: 0x2000, 0x138b: 0x2000, + 0x138c: 0x2000, 0x138d: 0x2000, 0x138e: 0x2000, 0x138f: 0x2000, 0x1390: 0x2000, 0x1391: 0x2000, + 0x1392: 0x2000, 0x1393: 0x2000, 0x1394: 0x2000, 0x1395: 0x2000, 0x1396: 0x2000, 0x1397: 0x2000, + 0x1398: 0x2000, 0x1399: 0x2000, 0x139a: 0x2000, 0x139b: 0x2000, 0x139c: 0x2000, 0x139d: 0x2000, + 0x139e: 0x2000, 0x139f: 0x2000, 0x13a0: 0x2000, 0x13a1: 0x2000, 0x13a2: 0x2000, 0x13a3: 0x2000, + 0x13a4: 0x2000, 0x13a5: 0x2000, 0x13a6: 0x2000, 0x13a7: 0x2000, 0x13a8: 0x2000, 0x13a9: 0x2000, + 0x13b0: 0x2000, 0x13b1: 0x2000, 0x13b2: 0x2000, 0x13b3: 0x2000, 0x13b4: 0x2000, 0x13b5: 0x2000, + 0x13b6: 0x2000, 0x13b7: 0x2000, 0x13b8: 0x2000, 0x13b9: 0x2000, 0x13ba: 0x2000, 0x13bb: 0x2000, + 0x13bc: 0x2000, 0x13bd: 0x2000, 0x13be: 0x2000, 0x13bf: 0x2000, + // Block 0x4f, offset 0x13c0 + 0x13c0: 0x2000, 0x13c1: 0x2000, 0x13c2: 0x2000, 0x13c3: 0x2000, 0x13c4: 0x2000, 0x13c5: 0x2000, + 0x13c6: 0x2000, 0x13c7: 0x2000, 0x13c8: 0x2000, 0x13c9: 0x2000, 0x13ca: 0x2000, 0x13cb: 0x2000, + 0x13cc: 0x2000, 0x13cd: 0x2000, 0x13ce: 0x4000, 0x13cf: 0x2000, 0x13d0: 0x2000, 0x13d1: 0x4000, + 0x13d2: 0x4000, 0x13d3: 0x4000, 0x13d4: 0x4000, 0x13d5: 0x4000, 0x13d6: 0x4000, 0x13d7: 0x4000, + 0x13d8: 0x4000, 0x13d9: 0x4000, 0x13da: 0x4000, 0x13db: 0x2000, 0x13dc: 0x2000, 0x13dd: 0x2000, + 0x13de: 0x2000, 0x13df: 0x2000, 0x13e0: 0x2000, 0x13e1: 0x2000, 0x13e2: 0x2000, 0x13e3: 0x2000, + 0x13e4: 0x2000, 0x13e5: 0x2000, 0x13e6: 0x2000, 0x13e7: 0x2000, 0x13e8: 0x2000, 0x13e9: 0x2000, + 0x13ea: 0x2000, 0x13eb: 0x2000, 0x13ec: 0x2000, + // Block 0x50, offset 0x1400 + 0x1400: 0x4000, 0x1401: 0x4000, 0x1402: 0x4000, + 0x1410: 0x4000, 0x1411: 0x4000, + 0x1412: 0x4000, 0x1413: 0x4000, 0x1414: 0x4000, 0x1415: 0x4000, 0x1416: 0x4000, 0x1417: 0x4000, + 0x1418: 0x4000, 0x1419: 0x4000, 0x141a: 0x4000, 0x141b: 0x4000, 0x141c: 0x4000, 0x141d: 0x4000, + 0x141e: 0x4000, 0x141f: 0x4000, 0x1420: 0x4000, 0x1421: 0x4000, 0x1422: 0x4000, 0x1423: 0x4000, + 0x1424: 0x4000, 0x1425: 0x4000, 0x1426: 0x4000, 0x1427: 0x4000, 0x1428: 0x4000, 0x1429: 0x4000, + 0x142a: 0x4000, 0x142b: 0x4000, 0x142c: 0x4000, 0x142d: 0x4000, 0x142e: 0x4000, 0x142f: 0x4000, + 0x1430: 0x4000, 0x1431: 0x4000, 0x1432: 0x4000, 0x1433: 0x4000, 0x1434: 0x4000, 0x1435: 0x4000, + 0x1436: 0x4000, 0x1437: 0x4000, 0x1438: 0x4000, 0x1439: 0x4000, 0x143a: 0x4000, 0x143b: 0x4000, + // Block 0x51, offset 0x1440 + 0x1440: 0x4000, 0x1441: 0x4000, 0x1442: 0x4000, 0x1443: 0x4000, 0x1444: 0x4000, 0x1445: 0x4000, + 0x1446: 0x4000, 0x1447: 0x4000, 0x1448: 0x4000, + 0x1450: 0x4000, 0x1451: 0x4000, + // Block 0x52, offset 0x1480 + 0x1480: 0x4000, 0x1481: 0x4000, 0x1482: 0x4000, 0x1483: 0x4000, 0x1484: 0x4000, 0x1485: 0x4000, + 0x1486: 0x4000, 0x1487: 0x4000, 0x1488: 0x4000, 0x1489: 0x4000, 0x148a: 0x4000, 0x148b: 0x4000, + 0x148c: 0x4000, 0x148d: 0x4000, 0x148e: 0x4000, 0x148f: 0x4000, 0x1490: 0x4000, 0x1491: 0x4000, + 0x1492: 0x4000, 0x1493: 0x4000, 0x1494: 0x4000, 0x1495: 0x4000, 0x1496: 0x4000, 0x1497: 0x4000, + 0x1498: 0x4000, 0x1499: 0x4000, 0x149a: 0x4000, 0x149b: 0x4000, 0x149c: 0x4000, 0x149d: 0x4000, + 0x149e: 0x4000, 0x149f: 0x4000, 0x14a0: 0x4000, + 0x14ad: 0x4000, 0x14ae: 0x4000, 0x14af: 0x4000, + 0x14b0: 0x4000, 0x14b1: 0x4000, 0x14b2: 0x4000, 0x14b3: 0x4000, 0x14b4: 0x4000, 0x14b5: 0x4000, + 0x14b7: 0x4000, 0x14b8: 0x4000, 0x14b9: 0x4000, 0x14ba: 0x4000, 0x14bb: 0x4000, + 0x14bc: 0x4000, 0x14bd: 0x4000, 0x14be: 0x4000, 0x14bf: 0x4000, + // Block 0x53, offset 0x14c0 + 0x14c0: 0x4000, 0x14c1: 0x4000, 0x14c2: 0x4000, 0x14c3: 0x4000, 0x14c4: 0x4000, 0x14c5: 0x4000, + 0x14c6: 0x4000, 0x14c7: 0x4000, 0x14c8: 0x4000, 0x14c9: 0x4000, 0x14ca: 0x4000, 0x14cb: 0x4000, + 0x14cc: 0x4000, 0x14cd: 0x4000, 0x14ce: 0x4000, 0x14cf: 0x4000, 0x14d0: 0x4000, 0x14d1: 0x4000, + 0x14d2: 0x4000, 0x14d3: 0x4000, 0x14d4: 0x4000, 0x14d5: 0x4000, 0x14d6: 0x4000, 0x14d7: 0x4000, + 0x14d8: 0x4000, 0x14d9: 0x4000, 0x14da: 0x4000, 0x14db: 0x4000, 0x14dc: 0x4000, 0x14dd: 0x4000, + 0x14de: 0x4000, 0x14df: 0x4000, 0x14e0: 0x4000, 0x14e1: 0x4000, 0x14e2: 0x4000, 0x14e3: 0x4000, + 0x14e4: 0x4000, 0x14e5: 0x4000, 0x14e6: 0x4000, 0x14e7: 0x4000, 0x14e8: 0x4000, 0x14e9: 0x4000, + 0x14ea: 0x4000, 0x14eb: 0x4000, 0x14ec: 0x4000, 0x14ed: 0x4000, 0x14ee: 0x4000, 0x14ef: 0x4000, + 0x14f0: 0x4000, 0x14f1: 0x4000, 0x14f2: 0x4000, 0x14f3: 0x4000, 0x14f4: 0x4000, 0x14f5: 0x4000, + 0x14f6: 0x4000, 0x14f7: 0x4000, 0x14f8: 0x4000, 0x14f9: 0x4000, 0x14fa: 0x4000, 0x14fb: 0x4000, + 0x14fc: 0x4000, 0x14fe: 0x4000, 0x14ff: 0x4000, + // Block 0x54, offset 0x1500 + 0x1500: 0x4000, 0x1501: 0x4000, 0x1502: 0x4000, 0x1503: 0x4000, 0x1504: 0x4000, 0x1505: 0x4000, + 0x1506: 0x4000, 0x1507: 0x4000, 0x1508: 0x4000, 0x1509: 0x4000, 0x150a: 0x4000, 0x150b: 0x4000, + 0x150c: 0x4000, 0x150d: 0x4000, 0x150e: 0x4000, 0x150f: 0x4000, 0x1510: 0x4000, 0x1511: 0x4000, + 0x1512: 0x4000, 0x1513: 0x4000, + 0x1520: 0x4000, 0x1521: 0x4000, 0x1522: 0x4000, 0x1523: 0x4000, + 0x1524: 0x4000, 0x1525: 0x4000, 0x1526: 0x4000, 0x1527: 0x4000, 0x1528: 0x4000, 0x1529: 0x4000, + 0x152a: 0x4000, 0x152b: 0x4000, 0x152c: 0x4000, 0x152d: 0x4000, 0x152e: 0x4000, 0x152f: 0x4000, + 0x1530: 0x4000, 0x1531: 0x4000, 0x1532: 0x4000, 0x1533: 0x4000, 0x1534: 0x4000, 0x1535: 0x4000, + 0x1536: 0x4000, 0x1537: 0x4000, 0x1538: 0x4000, 0x1539: 0x4000, 0x153a: 0x4000, 0x153b: 0x4000, + 0x153c: 0x4000, 0x153d: 0x4000, 0x153e: 0x4000, 0x153f: 0x4000, + // Block 0x55, offset 0x1540 + 0x1540: 0x4000, 0x1541: 0x4000, 0x1542: 0x4000, 0x1543: 0x4000, 0x1544: 0x4000, 0x1545: 0x4000, + 0x1546: 0x4000, 0x1547: 0x4000, 0x1548: 0x4000, 0x1549: 0x4000, 0x154a: 0x4000, + 0x154f: 0x4000, 0x1550: 0x4000, 0x1551: 0x4000, + 0x1552: 0x4000, 0x1553: 0x4000, + 0x1560: 0x4000, 0x1561: 0x4000, 0x1562: 0x4000, 0x1563: 0x4000, + 0x1564: 0x4000, 0x1565: 0x4000, 0x1566: 0x4000, 0x1567: 0x4000, 0x1568: 0x4000, 0x1569: 0x4000, + 0x156a: 0x4000, 0x156b: 0x4000, 0x156c: 0x4000, 0x156d: 0x4000, 0x156e: 0x4000, 0x156f: 0x4000, + 0x1570: 0x4000, 0x1574: 0x4000, + 0x1578: 0x4000, 0x1579: 0x4000, 0x157a: 0x4000, 0x157b: 0x4000, + 0x157c: 0x4000, 0x157d: 0x4000, 0x157e: 0x4000, 0x157f: 0x4000, + // Block 0x56, offset 0x1580 + 0x1580: 0x4000, 0x1582: 0x4000, 0x1583: 0x4000, 0x1584: 0x4000, 0x1585: 0x4000, + 0x1586: 0x4000, 0x1587: 0x4000, 0x1588: 0x4000, 0x1589: 0x4000, 0x158a: 0x4000, 0x158b: 0x4000, + 0x158c: 0x4000, 0x158d: 0x4000, 0x158e: 0x4000, 0x158f: 0x4000, 0x1590: 0x4000, 0x1591: 0x4000, + 0x1592: 0x4000, 0x1593: 0x4000, 0x1594: 0x4000, 0x1595: 0x4000, 0x1596: 0x4000, 0x1597: 0x4000, + 0x1598: 0x4000, 0x1599: 0x4000, 0x159a: 0x4000, 0x159b: 0x4000, 0x159c: 0x4000, 0x159d: 0x4000, + 0x159e: 0x4000, 0x159f: 0x4000, 0x15a0: 0x4000, 0x15a1: 0x4000, 0x15a2: 0x4000, 0x15a3: 0x4000, + 0x15a4: 0x4000, 0x15a5: 0x4000, 0x15a6: 0x4000, 0x15a7: 0x4000, 0x15a8: 0x4000, 0x15a9: 0x4000, + 0x15aa: 0x4000, 0x15ab: 0x4000, 0x15ac: 0x4000, 0x15ad: 0x4000, 0x15ae: 0x4000, 0x15af: 0x4000, + 0x15b0: 0x4000, 0x15b1: 0x4000, 0x15b2: 0x4000, 0x15b3: 0x4000, 0x15b4: 0x4000, 0x15b5: 0x4000, + 0x15b6: 0x4000, 0x15b7: 0x4000, 0x15b8: 0x4000, 0x15b9: 0x4000, 0x15ba: 0x4000, 0x15bb: 0x4000, + 0x15bc: 0x4000, 0x15bd: 0x4000, 0x15be: 0x4000, 0x15bf: 0x4000, + // Block 0x57, offset 0x15c0 + 0x15c0: 0x4000, 0x15c1: 0x4000, 0x15c2: 0x4000, 0x15c3: 0x4000, 0x15c4: 0x4000, 0x15c5: 0x4000, + 0x15c6: 0x4000, 0x15c7: 0x4000, 0x15c8: 0x4000, 0x15c9: 0x4000, 0x15ca: 0x4000, 0x15cb: 0x4000, + 0x15cc: 0x4000, 0x15cd: 0x4000, 0x15ce: 0x4000, 0x15cf: 0x4000, 0x15d0: 0x4000, 0x15d1: 0x4000, + 0x15d2: 0x4000, 0x15d3: 0x4000, 0x15d4: 0x4000, 0x15d5: 0x4000, 0x15d6: 0x4000, 0x15d7: 0x4000, + 0x15d8: 0x4000, 0x15d9: 0x4000, 0x15da: 0x4000, 0x15db: 0x4000, 0x15dc: 0x4000, 0x15dd: 0x4000, + 0x15de: 0x4000, 0x15df: 0x4000, 0x15e0: 0x4000, 0x15e1: 0x4000, 0x15e2: 0x4000, 0x15e3: 0x4000, + 0x15e4: 0x4000, 0x15e5: 0x4000, 0x15e6: 0x4000, 0x15e7: 0x4000, 0x15e8: 0x4000, 0x15e9: 0x4000, + 0x15ea: 0x4000, 0x15eb: 0x4000, 0x15ec: 0x4000, 0x15ed: 0x4000, 0x15ee: 0x4000, 0x15ef: 0x4000, + 0x15f0: 0x4000, 0x15f1: 0x4000, 0x15f2: 0x4000, 0x15f3: 0x4000, 0x15f4: 0x4000, 0x15f5: 0x4000, + 0x15f6: 0x4000, 0x15f7: 0x4000, 0x15f8: 0x4000, 0x15f9: 0x4000, 0x15fa: 0x4000, 0x15fb: 0x4000, + 0x15fc: 0x4000, 0x15ff: 0x4000, + // Block 0x58, offset 0x1600 + 0x1600: 0x4000, 0x1601: 0x4000, 0x1602: 0x4000, 0x1603: 0x4000, 0x1604: 0x4000, 0x1605: 0x4000, + 0x1606: 0x4000, 0x1607: 0x4000, 0x1608: 0x4000, 0x1609: 0x4000, 0x160a: 0x4000, 0x160b: 0x4000, + 0x160c: 0x4000, 0x160d: 0x4000, 0x160e: 0x4000, 0x160f: 0x4000, 0x1610: 0x4000, 0x1611: 0x4000, + 0x1612: 0x4000, 0x1613: 0x4000, 0x1614: 0x4000, 0x1615: 0x4000, 0x1616: 0x4000, 0x1617: 0x4000, + 0x1618: 0x4000, 0x1619: 0x4000, 0x161a: 0x4000, 0x161b: 0x4000, 0x161c: 0x4000, 0x161d: 0x4000, + 0x161e: 0x4000, 0x161f: 0x4000, 0x1620: 0x4000, 0x1621: 0x4000, 0x1622: 0x4000, 0x1623: 0x4000, + 0x1624: 0x4000, 0x1625: 0x4000, 0x1626: 0x4000, 0x1627: 0x4000, 0x1628: 0x4000, 0x1629: 0x4000, + 0x162a: 0x4000, 0x162b: 0x4000, 0x162c: 0x4000, 0x162d: 0x4000, 0x162e: 0x4000, 0x162f: 0x4000, + 0x1630: 0x4000, 0x1631: 0x4000, 0x1632: 0x4000, 0x1633: 0x4000, 0x1634: 0x4000, 0x1635: 0x4000, + 0x1636: 0x4000, 0x1637: 0x4000, 0x1638: 0x4000, 0x1639: 0x4000, 0x163a: 0x4000, 0x163b: 0x4000, + 0x163c: 0x4000, 0x163d: 0x4000, + // Block 0x59, offset 0x1640 + 0x164b: 0x4000, + 0x164c: 0x4000, 0x164d: 0x4000, 0x164e: 0x4000, 0x1650: 0x4000, 0x1651: 0x4000, + 0x1652: 0x4000, 0x1653: 0x4000, 0x1654: 0x4000, 0x1655: 0x4000, 0x1656: 0x4000, 0x1657: 0x4000, + 0x1658: 0x4000, 0x1659: 0x4000, 0x165a: 0x4000, 0x165b: 0x4000, 0x165c: 0x4000, 0x165d: 0x4000, + 0x165e: 0x4000, 0x165f: 0x4000, 0x1660: 0x4000, 0x1661: 0x4000, 0x1662: 0x4000, 0x1663: 0x4000, + 0x1664: 0x4000, 0x1665: 0x4000, 0x1666: 0x4000, 0x1667: 0x4000, + 0x167a: 0x4000, + // Block 0x5a, offset 0x1680 + 0x1695: 0x4000, 0x1696: 0x4000, + 0x16a4: 0x4000, + // Block 0x5b, offset 0x16c0 + 0x16fb: 0x4000, + 0x16fc: 0x4000, 0x16fd: 0x4000, 0x16fe: 0x4000, 0x16ff: 0x4000, + // Block 0x5c, offset 0x1700 + 0x1700: 0x4000, 0x1701: 0x4000, 0x1702: 0x4000, 0x1703: 0x4000, 0x1704: 0x4000, 0x1705: 0x4000, + 0x1706: 0x4000, 0x1707: 0x4000, 0x1708: 0x4000, 0x1709: 0x4000, 0x170a: 0x4000, 0x170b: 0x4000, + 0x170c: 0x4000, 0x170d: 0x4000, 0x170e: 0x4000, 0x170f: 0x4000, + // Block 0x5d, offset 0x1740 + 0x1740: 0x4000, 0x1741: 0x4000, 0x1742: 0x4000, 0x1743: 0x4000, 0x1744: 0x4000, 0x1745: 0x4000, + 0x174c: 0x4000, 0x1750: 0x4000, 0x1751: 0x4000, + 0x1752: 0x4000, + 0x176b: 0x4000, 0x176c: 0x4000, + 0x1774: 0x4000, 0x1775: 0x4000, + 0x1776: 0x4000, + // Block 0x5e, offset 0x1780 + 0x1790: 0x4000, 0x1791: 0x4000, + 0x1792: 0x4000, 0x1793: 0x4000, 0x1794: 0x4000, 0x1795: 0x4000, 0x1796: 0x4000, 0x1797: 0x4000, + 0x1798: 0x4000, 0x1799: 0x4000, 0x179a: 0x4000, 0x179b: 0x4000, 0x179c: 0x4000, 0x179d: 0x4000, + 0x179e: 0x4000, 0x17a0: 0x4000, 0x17a1: 0x4000, 0x17a2: 0x4000, 0x17a3: 0x4000, + 0x17a4: 0x4000, 0x17a5: 0x4000, 0x17a6: 0x4000, 0x17a7: 0x4000, + 0x17b0: 0x4000, 0x17b3: 0x4000, 0x17b4: 0x4000, 0x17b5: 0x4000, + 0x17b6: 0x4000, 0x17b7: 0x4000, 0x17b8: 0x4000, 0x17b9: 0x4000, 0x17ba: 0x4000, 0x17bb: 0x4000, + 0x17bc: 0x4000, 0x17bd: 0x4000, 0x17be: 0x4000, + // Block 0x5f, offset 0x17c0 + 0x17c0: 0x4000, 0x17c1: 0x4000, 0x17c2: 0x4000, 0x17c3: 0x4000, 0x17c4: 0x4000, 0x17c5: 0x4000, + 0x17c6: 0x4000, 0x17c7: 0x4000, 0x17c8: 0x4000, 0x17c9: 0x4000, 0x17ca: 0x4000, 0x17cb: 0x4000, + 0x17d0: 0x4000, 0x17d1: 0x4000, + 0x17d2: 0x4000, 0x17d3: 0x4000, 0x17d4: 0x4000, 0x17d5: 0x4000, 0x17d6: 0x4000, 0x17d7: 0x4000, + 0x17d8: 0x4000, 0x17d9: 0x4000, 0x17da: 0x4000, 0x17db: 0x4000, 0x17dc: 0x4000, 0x17dd: 0x4000, + 0x17de: 0x4000, + // Block 0x60, offset 0x1800 + 0x1800: 0x4000, 0x1801: 0x4000, 0x1802: 0x4000, 0x1803: 0x4000, 0x1804: 0x4000, 0x1805: 0x4000, + 0x1806: 0x4000, 0x1807: 0x4000, 0x1808: 0x4000, 0x1809: 0x4000, 0x180a: 0x4000, 0x180b: 0x4000, + 0x180c: 0x4000, 0x180d: 0x4000, 0x180e: 0x4000, 0x180f: 0x4000, 0x1810: 0x4000, 0x1811: 0x4000, + // Block 0x61, offset 0x1840 + 0x1840: 0x4000, + // Block 0x62, offset 0x1880 + 0x1880: 0x2000, 0x1881: 0x2000, 0x1882: 0x2000, 0x1883: 0x2000, 0x1884: 0x2000, 0x1885: 0x2000, + 0x1886: 0x2000, 0x1887: 0x2000, 0x1888: 0x2000, 0x1889: 0x2000, 0x188a: 0x2000, 0x188b: 0x2000, + 0x188c: 0x2000, 0x188d: 0x2000, 0x188e: 0x2000, 0x188f: 0x2000, 0x1890: 0x2000, 0x1891: 0x2000, + 0x1892: 0x2000, 0x1893: 0x2000, 0x1894: 0x2000, 0x1895: 0x2000, 0x1896: 0x2000, 0x1897: 0x2000, + 0x1898: 0x2000, 0x1899: 0x2000, 0x189a: 0x2000, 0x189b: 0x2000, 0x189c: 0x2000, 0x189d: 0x2000, + 0x189e: 0x2000, 0x189f: 0x2000, 0x18a0: 0x2000, 0x18a1: 0x2000, 0x18a2: 0x2000, 0x18a3: 0x2000, + 0x18a4: 0x2000, 0x18a5: 0x2000, 0x18a6: 0x2000, 0x18a7: 0x2000, 0x18a8: 0x2000, 0x18a9: 0x2000, + 0x18aa: 0x2000, 0x18ab: 0x2000, 0x18ac: 0x2000, 0x18ad: 0x2000, 0x18ae: 0x2000, 0x18af: 0x2000, + 0x18b0: 0x2000, 0x18b1: 0x2000, 0x18b2: 0x2000, 0x18b3: 0x2000, 0x18b4: 0x2000, 0x18b5: 0x2000, + 0x18b6: 0x2000, 0x18b7: 0x2000, 0x18b8: 0x2000, 0x18b9: 0x2000, 0x18ba: 0x2000, 0x18bb: 0x2000, + 0x18bc: 0x2000, 0x18bd: 0x2000, +} + +// widthIndex: 22 blocks, 1408 entries, 1408 bytes +// Block 0 is the zero block. +var widthIndex = [1408]uint8{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x01, 0xc3: 0x02, 0xc4: 0x03, 0xc5: 0x04, 0xc7: 0x05, + 0xc9: 0x06, 0xcb: 0x07, 0xcc: 0x08, 0xcd: 0x09, 0xce: 0x0a, 0xcf: 0x0b, + 0xd0: 0x0c, 0xd1: 0x0d, + 0xe1: 0x02, 0xe2: 0x03, 0xe3: 0x04, 0xe4: 0x05, 0xe5: 0x06, 0xe6: 0x06, 0xe7: 0x06, + 0xe8: 0x06, 0xe9: 0x06, 0xea: 0x07, 0xeb: 0x06, 0xec: 0x06, 0xed: 0x08, 0xee: 0x09, 0xef: 0x0a, + 0xf0: 0x0f, 0xf3: 0x12, 0xf4: 0x13, + // Block 0x4, offset 0x100 + 0x104: 0x0e, 0x105: 0x0f, + // Block 0x5, offset 0x140 + 0x140: 0x10, 0x141: 0x11, 0x142: 0x12, 0x144: 0x13, 0x145: 0x14, 0x146: 0x15, 0x147: 0x16, + 0x148: 0x17, 0x149: 0x18, 0x14a: 0x19, 0x14c: 0x1a, 0x14f: 0x1b, + 0x151: 0x1c, 0x152: 0x08, 0x153: 0x1d, 0x154: 0x1e, 0x155: 0x1f, 0x156: 0x20, 0x157: 0x21, + 0x158: 0x22, 0x159: 0x23, 0x15a: 0x24, 0x15b: 0x25, 0x15c: 0x26, 0x15d: 0x27, 0x15e: 0x28, 0x15f: 0x29, + 0x166: 0x2a, + 0x16c: 0x2b, 0x16d: 0x2c, + 0x17a: 0x2d, 0x17b: 0x2e, 0x17c: 0x0e, 0x17d: 0x0e, 0x17e: 0x0e, 0x17f: 0x2f, + // Block 0x6, offset 0x180 + 0x180: 0x30, 0x181: 0x31, 0x182: 0x32, 0x183: 0x33, 0x184: 0x34, 0x185: 0x35, 0x186: 0x36, 0x187: 0x37, + 0x188: 0x38, 0x189: 0x39, 0x18a: 0x0e, 0x18b: 0x3a, 0x18c: 0x0e, 0x18d: 0x0e, 0x18e: 0x0e, 0x18f: 0x0e, + 0x190: 0x0e, 0x191: 0x0e, 0x192: 0x0e, 0x193: 0x0e, 0x194: 0x0e, 0x195: 0x0e, 0x196: 0x0e, 0x197: 0x0e, + 0x198: 0x0e, 0x199: 0x0e, 0x19a: 0x0e, 0x19b: 0x0e, 0x19c: 0x0e, 0x19d: 0x0e, 0x19e: 0x0e, 0x19f: 0x0e, + 0x1a0: 0x0e, 0x1a1: 0x0e, 0x1a2: 0x0e, 0x1a3: 0x0e, 0x1a4: 0x0e, 0x1a5: 0x0e, 0x1a6: 0x0e, 0x1a7: 0x0e, + 0x1a8: 0x0e, 0x1a9: 0x0e, 0x1aa: 0x0e, 0x1ab: 0x0e, 0x1ac: 0x0e, 0x1ad: 0x0e, 0x1ae: 0x0e, 0x1af: 0x0e, + 0x1b0: 0x0e, 0x1b1: 0x0e, 0x1b2: 0x0e, 0x1b3: 0x0e, 0x1b4: 0x0e, 0x1b5: 0x0e, 0x1b6: 0x0e, 0x1b7: 0x0e, + 0x1b8: 0x0e, 0x1b9: 0x0e, 0x1ba: 0x0e, 0x1bb: 0x0e, 0x1bc: 0x0e, 0x1bd: 0x0e, 0x1be: 0x0e, 0x1bf: 0x0e, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0e, 0x1c1: 0x0e, 0x1c2: 0x0e, 0x1c3: 0x0e, 0x1c4: 0x0e, 0x1c5: 0x0e, 0x1c6: 0x0e, 0x1c7: 0x0e, + 0x1c8: 0x0e, 0x1c9: 0x0e, 0x1ca: 0x0e, 0x1cb: 0x0e, 0x1cc: 0x0e, 0x1cd: 0x0e, 0x1ce: 0x0e, 0x1cf: 0x0e, + 0x1d0: 0x0e, 0x1d1: 0x0e, 0x1d2: 0x0e, 0x1d3: 0x0e, 0x1d4: 0x0e, 0x1d5: 0x0e, 0x1d6: 0x0e, 0x1d7: 0x0e, + 0x1d8: 0x0e, 0x1d9: 0x0e, 0x1da: 0x0e, 0x1db: 0x0e, 0x1dc: 0x0e, 0x1dd: 0x0e, 0x1de: 0x0e, 0x1df: 0x0e, + 0x1e0: 0x0e, 0x1e1: 0x0e, 0x1e2: 0x0e, 0x1e3: 0x0e, 0x1e4: 0x0e, 0x1e5: 0x0e, 0x1e6: 0x0e, 0x1e7: 0x0e, + 0x1e8: 0x0e, 0x1e9: 0x0e, 0x1ea: 0x0e, 0x1eb: 0x0e, 0x1ec: 0x0e, 0x1ed: 0x0e, 0x1ee: 0x0e, 0x1ef: 0x0e, + 0x1f0: 0x0e, 0x1f1: 0x0e, 0x1f2: 0x0e, 0x1f3: 0x0e, 0x1f4: 0x0e, 0x1f5: 0x0e, 0x1f6: 0x0e, + 0x1f8: 0x0e, 0x1f9: 0x0e, 0x1fa: 0x0e, 0x1fb: 0x0e, 0x1fc: 0x0e, 0x1fd: 0x0e, 0x1fe: 0x0e, 0x1ff: 0x0e, + // Block 0x8, offset 0x200 + 0x200: 0x0e, 0x201: 0x0e, 0x202: 0x0e, 0x203: 0x0e, 0x204: 0x0e, 0x205: 0x0e, 0x206: 0x0e, 0x207: 0x0e, + 0x208: 0x0e, 0x209: 0x0e, 0x20a: 0x0e, 0x20b: 0x0e, 0x20c: 0x0e, 0x20d: 0x0e, 0x20e: 0x0e, 0x20f: 0x0e, + 0x210: 0x0e, 0x211: 0x0e, 0x212: 0x0e, 0x213: 0x0e, 0x214: 0x0e, 0x215: 0x0e, 0x216: 0x0e, 0x217: 0x0e, + 0x218: 0x0e, 0x219: 0x0e, 0x21a: 0x0e, 0x21b: 0x0e, 0x21c: 0x0e, 0x21d: 0x0e, 0x21e: 0x0e, 0x21f: 0x0e, + 0x220: 0x0e, 0x221: 0x0e, 0x222: 0x0e, 0x223: 0x0e, 0x224: 0x0e, 0x225: 0x0e, 0x226: 0x0e, 0x227: 0x0e, + 0x228: 0x0e, 0x229: 0x0e, 0x22a: 0x0e, 0x22b: 0x0e, 0x22c: 0x0e, 0x22d: 0x0e, 0x22e: 0x0e, 0x22f: 0x0e, + 0x230: 0x0e, 0x231: 0x0e, 0x232: 0x0e, 0x233: 0x0e, 0x234: 0x0e, 0x235: 0x0e, 0x236: 0x0e, 0x237: 0x0e, + 0x238: 0x0e, 0x239: 0x0e, 0x23a: 0x0e, 0x23b: 0x0e, 0x23c: 0x0e, 0x23d: 0x0e, 0x23e: 0x0e, 0x23f: 0x0e, + // Block 0x9, offset 0x240 + 0x240: 0x0e, 0x241: 0x0e, 0x242: 0x0e, 0x243: 0x0e, 0x244: 0x0e, 0x245: 0x0e, 0x246: 0x0e, 0x247: 0x0e, + 0x248: 0x0e, 0x249: 0x0e, 0x24a: 0x0e, 0x24b: 0x0e, 0x24c: 0x0e, 0x24d: 0x0e, 0x24e: 0x0e, 0x24f: 0x0e, + 0x250: 0x0e, 0x251: 0x0e, 0x252: 0x3b, 0x253: 0x3c, + 0x265: 0x3d, + 0x270: 0x0e, 0x271: 0x0e, 0x272: 0x0e, 0x273: 0x0e, 0x274: 0x0e, 0x275: 0x0e, 0x276: 0x0e, 0x277: 0x0e, + 0x278: 0x0e, 0x279: 0x0e, 0x27a: 0x0e, 0x27b: 0x0e, 0x27c: 0x0e, 0x27d: 0x0e, 0x27e: 0x0e, 0x27f: 0x0e, + // Block 0xa, offset 0x280 + 0x280: 0x0e, 0x281: 0x0e, 0x282: 0x0e, 0x283: 0x0e, 0x284: 0x0e, 0x285: 0x0e, 0x286: 0x0e, 0x287: 0x0e, + 0x288: 0x0e, 0x289: 0x0e, 0x28a: 0x0e, 0x28b: 0x0e, 0x28c: 0x0e, 0x28d: 0x0e, 0x28e: 0x0e, 0x28f: 0x0e, + 0x290: 0x0e, 0x291: 0x0e, 0x292: 0x0e, 0x293: 0x0e, 0x294: 0x0e, 0x295: 0x0e, 0x296: 0x0e, 0x297: 0x0e, + 0x298: 0x0e, 0x299: 0x0e, 0x29a: 0x0e, 0x29b: 0x0e, 0x29c: 0x0e, 0x29d: 0x0e, 0x29e: 0x3e, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x08, 0x2c1: 0x08, 0x2c2: 0x08, 0x2c3: 0x08, 0x2c4: 0x08, 0x2c5: 0x08, 0x2c6: 0x08, 0x2c7: 0x08, + 0x2c8: 0x08, 0x2c9: 0x08, 0x2ca: 0x08, 0x2cb: 0x08, 0x2cc: 0x08, 0x2cd: 0x08, 0x2ce: 0x08, 0x2cf: 0x08, + 0x2d0: 0x08, 0x2d1: 0x08, 0x2d2: 0x08, 0x2d3: 0x08, 0x2d4: 0x08, 0x2d5: 0x08, 0x2d6: 0x08, 0x2d7: 0x08, + 0x2d8: 0x08, 0x2d9: 0x08, 0x2da: 0x08, 0x2db: 0x08, 0x2dc: 0x08, 0x2dd: 0x08, 0x2de: 0x08, 0x2df: 0x08, + 0x2e0: 0x08, 0x2e1: 0x08, 0x2e2: 0x08, 0x2e3: 0x08, 0x2e4: 0x08, 0x2e5: 0x08, 0x2e6: 0x08, 0x2e7: 0x08, + 0x2e8: 0x08, 0x2e9: 0x08, 0x2ea: 0x08, 0x2eb: 0x08, 0x2ec: 0x08, 0x2ed: 0x08, 0x2ee: 0x08, 0x2ef: 0x08, + 0x2f0: 0x08, 0x2f1: 0x08, 0x2f2: 0x08, 0x2f3: 0x08, 0x2f4: 0x08, 0x2f5: 0x08, 0x2f6: 0x08, 0x2f7: 0x08, + 0x2f8: 0x08, 0x2f9: 0x08, 0x2fa: 0x08, 0x2fb: 0x08, 0x2fc: 0x08, 0x2fd: 0x08, 0x2fe: 0x08, 0x2ff: 0x08, + // Block 0xc, offset 0x300 + 0x300: 0x08, 0x301: 0x08, 0x302: 0x08, 0x303: 0x08, 0x304: 0x08, 0x305: 0x08, 0x306: 0x08, 0x307: 0x08, + 0x308: 0x08, 0x309: 0x08, 0x30a: 0x08, 0x30b: 0x08, 0x30c: 0x08, 0x30d: 0x08, 0x30e: 0x08, 0x30f: 0x08, + 0x310: 0x08, 0x311: 0x08, 0x312: 0x08, 0x313: 0x08, 0x314: 0x08, 0x315: 0x08, 0x316: 0x08, 0x317: 0x08, + 0x318: 0x08, 0x319: 0x08, 0x31a: 0x08, 0x31b: 0x08, 0x31c: 0x08, 0x31d: 0x08, 0x31e: 0x08, 0x31f: 0x08, + 0x320: 0x08, 0x321: 0x08, 0x322: 0x08, 0x323: 0x08, 0x324: 0x0e, 0x325: 0x0e, 0x326: 0x0e, 0x327: 0x0e, + 0x328: 0x0e, 0x329: 0x0e, 0x32a: 0x0e, 0x32b: 0x0e, + 0x338: 0x3f, 0x339: 0x40, 0x33c: 0x41, 0x33d: 0x42, 0x33e: 0x43, 0x33f: 0x44, + // Block 0xd, offset 0x340 + 0x37f: 0x45, + // Block 0xe, offset 0x380 + 0x380: 0x0e, 0x381: 0x0e, 0x382: 0x0e, 0x383: 0x0e, 0x384: 0x0e, 0x385: 0x0e, 0x386: 0x0e, 0x387: 0x0e, + 0x388: 0x0e, 0x389: 0x0e, 0x38a: 0x0e, 0x38b: 0x0e, 0x38c: 0x0e, 0x38d: 0x0e, 0x38e: 0x0e, 0x38f: 0x0e, + 0x390: 0x0e, 0x391: 0x0e, 0x392: 0x0e, 0x393: 0x0e, 0x394: 0x0e, 0x395: 0x0e, 0x396: 0x0e, 0x397: 0x0e, + 0x398: 0x0e, 0x399: 0x0e, 0x39a: 0x0e, 0x39b: 0x0e, 0x39c: 0x0e, 0x39d: 0x0e, 0x39e: 0x0e, 0x39f: 0x46, + 0x3a0: 0x0e, 0x3a1: 0x0e, 0x3a2: 0x0e, 0x3a3: 0x0e, 0x3a4: 0x0e, 0x3a5: 0x0e, 0x3a6: 0x0e, 0x3a7: 0x0e, + 0x3a8: 0x0e, 0x3a9: 0x0e, 0x3aa: 0x0e, 0x3ab: 0x47, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x48, + // Block 0x10, offset 0x400 + 0x400: 0x49, 0x403: 0x4a, 0x404: 0x4b, 0x405: 0x4c, 0x406: 0x4d, + 0x408: 0x4e, 0x409: 0x4f, 0x40c: 0x50, 0x40d: 0x51, 0x40e: 0x52, 0x40f: 0x53, + 0x410: 0x3a, 0x411: 0x54, 0x412: 0x0e, 0x413: 0x55, 0x414: 0x56, 0x415: 0x57, 0x416: 0x58, 0x417: 0x59, + 0x418: 0x0e, 0x419: 0x5a, 0x41a: 0x0e, 0x41b: 0x5b, + 0x424: 0x5c, 0x425: 0x5d, 0x426: 0x5e, 0x427: 0x5f, + // Block 0x11, offset 0x440 + 0x456: 0x0b, 0x457: 0x06, + 0x458: 0x0c, 0x45b: 0x0d, 0x45f: 0x0e, + 0x460: 0x06, 0x461: 0x06, 0x462: 0x06, 0x463: 0x06, 0x464: 0x06, 0x465: 0x06, 0x466: 0x06, 0x467: 0x06, + 0x468: 0x06, 0x469: 0x06, 0x46a: 0x06, 0x46b: 0x06, 0x46c: 0x06, 0x46d: 0x06, 0x46e: 0x06, 0x46f: 0x06, + 0x470: 0x06, 0x471: 0x06, 0x472: 0x06, 0x473: 0x06, 0x474: 0x06, 0x475: 0x06, 0x476: 0x06, 0x477: 0x06, + 0x478: 0x06, 0x479: 0x06, 0x47a: 0x06, 0x47b: 0x06, 0x47c: 0x06, 0x47d: 0x06, 0x47e: 0x06, 0x47f: 0x06, + // Block 0x12, offset 0x480 + 0x484: 0x08, 0x485: 0x08, 0x486: 0x08, 0x487: 0x09, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x08, 0x4c1: 0x08, 0x4c2: 0x08, 0x4c3: 0x08, 0x4c4: 0x08, 0x4c5: 0x08, 0x4c6: 0x08, 0x4c7: 0x08, + 0x4c8: 0x08, 0x4c9: 0x08, 0x4ca: 0x08, 0x4cb: 0x08, 0x4cc: 0x08, 0x4cd: 0x08, 0x4ce: 0x08, 0x4cf: 0x08, + 0x4d0: 0x08, 0x4d1: 0x08, 0x4d2: 0x08, 0x4d3: 0x08, 0x4d4: 0x08, 0x4d5: 0x08, 0x4d6: 0x08, 0x4d7: 0x08, + 0x4d8: 0x08, 0x4d9: 0x08, 0x4da: 0x08, 0x4db: 0x08, 0x4dc: 0x08, 0x4dd: 0x08, 0x4de: 0x08, 0x4df: 0x08, + 0x4e0: 0x08, 0x4e1: 0x08, 0x4e2: 0x08, 0x4e3: 0x08, 0x4e4: 0x08, 0x4e5: 0x08, 0x4e6: 0x08, 0x4e7: 0x08, + 0x4e8: 0x08, 0x4e9: 0x08, 0x4ea: 0x08, 0x4eb: 0x08, 0x4ec: 0x08, 0x4ed: 0x08, 0x4ee: 0x08, 0x4ef: 0x08, + 0x4f0: 0x08, 0x4f1: 0x08, 0x4f2: 0x08, 0x4f3: 0x08, 0x4f4: 0x08, 0x4f5: 0x08, 0x4f6: 0x08, 0x4f7: 0x08, + 0x4f8: 0x08, 0x4f9: 0x08, 0x4fa: 0x08, 0x4fb: 0x08, 0x4fc: 0x08, 0x4fd: 0x08, 0x4fe: 0x08, 0x4ff: 0x60, + // Block 0x14, offset 0x500 + 0x520: 0x10, + 0x530: 0x09, 0x531: 0x09, 0x532: 0x09, 0x533: 0x09, 0x534: 0x09, 0x535: 0x09, 0x536: 0x09, 0x537: 0x09, + 0x538: 0x09, 0x539: 0x09, 0x53a: 0x09, 0x53b: 0x09, 0x53c: 0x09, 0x53d: 0x09, 0x53e: 0x09, 0x53f: 0x11, + // Block 0x15, offset 0x540 + 0x540: 0x09, 0x541: 0x09, 0x542: 0x09, 0x543: 0x09, 0x544: 0x09, 0x545: 0x09, 0x546: 0x09, 0x547: 0x09, + 0x548: 0x09, 0x549: 0x09, 0x54a: 0x09, 0x54b: 0x09, 0x54c: 0x09, 0x54d: 0x09, 0x54e: 0x09, 0x54f: 0x11, +} + +// inverseData contains 4-byte entries of the following format: +// <0 padding> +// The last byte of the UTF-8-encoded rune is xor-ed with the last byte of the +// UTF-8 encoding of the original rune. Mappings often have the following +// pattern: +// A -> A (U+FF21 -> U+0041) +// B -> B (U+FF22 -> U+0042) +// ... +// By xor-ing the last byte the same entry can be shared by many mappings. This +// reduces the total number of distinct entries by about two thirds. +// The resulting entry for the aforementioned mappings is +// { 0x01, 0xE0, 0x00, 0x00 } +// Using this entry to map U+FF21 (UTF-8 [EF BC A1]), we get +// E0 ^ A1 = 41. +// Similarly, for U+FF22 (UTF-8 [EF BC A2]), we get +// E0 ^ A2 = 42. +// Note that because of the xor-ing, the byte sequence stored in the entry is +// not valid UTF-8. +var inverseData = [150][4]byte{ + {0x00, 0x00, 0x00, 0x00}, + {0x03, 0xe3, 0x80, 0xa0}, + {0x03, 0xef, 0xbc, 0xa0}, + {0x03, 0xef, 0xbc, 0xe0}, + {0x03, 0xef, 0xbd, 0xe0}, + {0x03, 0xef, 0xbf, 0x02}, + {0x03, 0xef, 0xbf, 0x00}, + {0x03, 0xef, 0xbf, 0x0e}, + {0x03, 0xef, 0xbf, 0x0c}, + {0x03, 0xef, 0xbf, 0x0f}, + {0x03, 0xef, 0xbf, 0x39}, + {0x03, 0xef, 0xbf, 0x3b}, + {0x03, 0xef, 0xbf, 0x3f}, + {0x03, 0xef, 0xbf, 0x2a}, + {0x03, 0xef, 0xbf, 0x0d}, + {0x03, 0xef, 0xbf, 0x25}, + {0x03, 0xef, 0xbd, 0x1a}, + {0x03, 0xef, 0xbd, 0x26}, + {0x01, 0xa0, 0x00, 0x00}, + {0x03, 0xef, 0xbd, 0x25}, + {0x03, 0xef, 0xbd, 0x23}, + {0x03, 0xef, 0xbd, 0x2e}, + {0x03, 0xef, 0xbe, 0x07}, + {0x03, 0xef, 0xbe, 0x05}, + {0x03, 0xef, 0xbd, 0x06}, + {0x03, 0xef, 0xbd, 0x13}, + {0x03, 0xef, 0xbd, 0x0b}, + {0x03, 0xef, 0xbd, 0x16}, + {0x03, 0xef, 0xbd, 0x0c}, + {0x03, 0xef, 0xbd, 0x15}, + {0x03, 0xef, 0xbd, 0x0d}, + {0x03, 0xef, 0xbd, 0x1c}, + {0x03, 0xef, 0xbd, 0x02}, + {0x03, 0xef, 0xbd, 0x1f}, + {0x03, 0xef, 0xbd, 0x1d}, + {0x03, 0xef, 0xbd, 0x17}, + {0x03, 0xef, 0xbd, 0x08}, + {0x03, 0xef, 0xbd, 0x09}, + {0x03, 0xef, 0xbd, 0x0e}, + {0x03, 0xef, 0xbd, 0x04}, + {0x03, 0xef, 0xbd, 0x05}, + {0x03, 0xef, 0xbe, 0x3f}, + {0x03, 0xef, 0xbe, 0x00}, + {0x03, 0xef, 0xbd, 0x2c}, + {0x03, 0xef, 0xbe, 0x06}, + {0x03, 0xef, 0xbe, 0x0c}, + {0x03, 0xef, 0xbe, 0x0f}, + {0x03, 0xef, 0xbe, 0x0d}, + {0x03, 0xef, 0xbe, 0x0b}, + {0x03, 0xef, 0xbe, 0x19}, + {0x03, 0xef, 0xbe, 0x15}, + {0x03, 0xef, 0xbe, 0x11}, + {0x03, 0xef, 0xbe, 0x31}, + {0x03, 0xef, 0xbe, 0x33}, + {0x03, 0xef, 0xbd, 0x0f}, + {0x03, 0xef, 0xbe, 0x30}, + {0x03, 0xef, 0xbe, 0x3e}, + {0x03, 0xef, 0xbe, 0x32}, + {0x03, 0xef, 0xbe, 0x36}, + {0x03, 0xef, 0xbd, 0x14}, + {0x03, 0xef, 0xbe, 0x2e}, + {0x03, 0xef, 0xbd, 0x1e}, + {0x03, 0xef, 0xbe, 0x10}, + {0x03, 0xef, 0xbf, 0x13}, + {0x03, 0xef, 0xbf, 0x15}, + {0x03, 0xef, 0xbf, 0x17}, + {0x03, 0xef, 0xbf, 0x1f}, + {0x03, 0xef, 0xbf, 0x1d}, + {0x03, 0xef, 0xbf, 0x1b}, + {0x03, 0xef, 0xbf, 0x09}, + {0x03, 0xef, 0xbf, 0x0b}, + {0x03, 0xef, 0xbf, 0x37}, + {0x03, 0xef, 0xbe, 0x04}, + {0x01, 0xe0, 0x00, 0x00}, + {0x03, 0xe2, 0xa6, 0x1a}, + {0x03, 0xe2, 0xa6, 0x26}, + {0x03, 0xe3, 0x80, 0x23}, + {0x03, 0xe3, 0x80, 0x2e}, + {0x03, 0xe3, 0x80, 0x25}, + {0x03, 0xe3, 0x83, 0x1e}, + {0x03, 0xe3, 0x83, 0x14}, + {0x03, 0xe3, 0x82, 0x06}, + {0x03, 0xe3, 0x82, 0x0b}, + {0x03, 0xe3, 0x82, 0x0c}, + {0x03, 0xe3, 0x82, 0x0d}, + {0x03, 0xe3, 0x82, 0x02}, + {0x03, 0xe3, 0x83, 0x0f}, + {0x03, 0xe3, 0x83, 0x08}, + {0x03, 0xe3, 0x83, 0x09}, + {0x03, 0xe3, 0x83, 0x2c}, + {0x03, 0xe3, 0x83, 0x0c}, + {0x03, 0xe3, 0x82, 0x13}, + {0x03, 0xe3, 0x82, 0x16}, + {0x03, 0xe3, 0x82, 0x15}, + {0x03, 0xe3, 0x82, 0x1c}, + {0x03, 0xe3, 0x82, 0x1f}, + {0x03, 0xe3, 0x82, 0x1d}, + {0x03, 0xe3, 0x82, 0x1a}, + {0x03, 0xe3, 0x82, 0x17}, + {0x03, 0xe3, 0x82, 0x08}, + {0x03, 0xe3, 0x82, 0x09}, + {0x03, 0xe3, 0x82, 0x0e}, + {0x03, 0xe3, 0x82, 0x04}, + {0x03, 0xe3, 0x82, 0x05}, + {0x03, 0xe3, 0x82, 0x3f}, + {0x03, 0xe3, 0x83, 0x00}, + {0x03, 0xe3, 0x83, 0x06}, + {0x03, 0xe3, 0x83, 0x05}, + {0x03, 0xe3, 0x83, 0x0d}, + {0x03, 0xe3, 0x83, 0x0b}, + {0x03, 0xe3, 0x83, 0x07}, + {0x03, 0xe3, 0x83, 0x19}, + {0x03, 0xe3, 0x83, 0x15}, + {0x03, 0xe3, 0x83, 0x11}, + {0x03, 0xe3, 0x83, 0x31}, + {0x03, 0xe3, 0x83, 0x33}, + {0x03, 0xe3, 0x83, 0x30}, + {0x03, 0xe3, 0x83, 0x3e}, + {0x03, 0xe3, 0x83, 0x32}, + {0x03, 0xe3, 0x83, 0x36}, + {0x03, 0xe3, 0x83, 0x2e}, + {0x03, 0xe3, 0x82, 0x07}, + {0x03, 0xe3, 0x85, 0x04}, + {0x03, 0xe3, 0x84, 0x10}, + {0x03, 0xe3, 0x85, 0x30}, + {0x03, 0xe3, 0x85, 0x0d}, + {0x03, 0xe3, 0x85, 0x13}, + {0x03, 0xe3, 0x85, 0x15}, + {0x03, 0xe3, 0x85, 0x17}, + {0x03, 0xe3, 0x85, 0x1f}, + {0x03, 0xe3, 0x85, 0x1d}, + {0x03, 0xe3, 0x85, 0x1b}, + {0x03, 0xe3, 0x85, 0x09}, + {0x03, 0xe3, 0x85, 0x0f}, + {0x03, 0xe3, 0x85, 0x0b}, + {0x03, 0xe3, 0x85, 0x37}, + {0x03, 0xe3, 0x85, 0x3b}, + {0x03, 0xe3, 0x85, 0x39}, + {0x03, 0xe3, 0x85, 0x3f}, + {0x02, 0xc2, 0x02, 0x00}, + {0x02, 0xc2, 0x0e, 0x00}, + {0x02, 0xc2, 0x0c, 0x00}, + {0x02, 0xc2, 0x00, 0x00}, + {0x03, 0xe2, 0x82, 0x0f}, + {0x03, 0xe2, 0x94, 0x2a}, + {0x03, 0xe2, 0x86, 0x39}, + {0x03, 0xe2, 0x86, 0x3b}, + {0x03, 0xe2, 0x86, 0x3f}, + {0x03, 0xe2, 0x96, 0x0d}, + {0x03, 0xe2, 0x97, 0x25}, +} + +// Total table size 14680 bytes (14KiB) diff --git a/vendor/golang.org/x/text/width/transform.go b/vendor/golang.org/x/text/width/transform.go new file mode 100644 index 00000000000..0049f700a2f --- /dev/null +++ b/vendor/golang.org/x/text/width/transform.go @@ -0,0 +1,239 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package width + +import ( + "unicode/utf8" + + "golang.org/x/text/transform" +) + +type foldTransform struct { + transform.NopResetter +} + +func (foldTransform) Span(src []byte, atEOF bool) (n int, err error) { + for n < len(src) { + if src[n] < utf8.RuneSelf { + // ASCII fast path. + for n++; n < len(src) && src[n] < utf8.RuneSelf; n++ { + } + continue + } + v, size := trie.lookup(src[n:]) + if size == 0 { // incomplete UTF-8 encoding + if !atEOF { + err = transform.ErrShortSrc + } else { + n = len(src) + } + break + } + if elem(v)&tagNeedsFold != 0 { + err = transform.ErrEndOfSpan + break + } + n += size + } + return n, err +} + +func (foldTransform) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + for nSrc < len(src) { + if src[nSrc] < utf8.RuneSelf { + // ASCII fast path. + start, end := nSrc, len(src) + if d := len(dst) - nDst; d < end-start { + end = nSrc + d + } + for nSrc++; nSrc < end && src[nSrc] < utf8.RuneSelf; nSrc++ { + } + n := copy(dst[nDst:], src[start:nSrc]) + if nDst += n; nDst == len(dst) { + nSrc = start + n + if nSrc == len(src) { + return nDst, nSrc, nil + } + if src[nSrc] < utf8.RuneSelf { + return nDst, nSrc, transform.ErrShortDst + } + } + continue + } + v, size := trie.lookup(src[nSrc:]) + if size == 0 { // incomplete UTF-8 encoding + if !atEOF { + return nDst, nSrc, transform.ErrShortSrc + } + size = 1 // gobble 1 byte + } + if elem(v)&tagNeedsFold == 0 { + if size != copy(dst[nDst:], src[nSrc:nSrc+size]) { + return nDst, nSrc, transform.ErrShortDst + } + nDst += size + } else { + data := inverseData[byte(v)] + if len(dst)-nDst < int(data[0]) { + return nDst, nSrc, transform.ErrShortDst + } + i := 1 + for end := int(data[0]); i < end; i++ { + dst[nDst] = data[i] + nDst++ + } + dst[nDst] = data[i] ^ src[nSrc+size-1] + nDst++ + } + nSrc += size + } + return nDst, nSrc, nil +} + +type narrowTransform struct { + transform.NopResetter +} + +func (narrowTransform) Span(src []byte, atEOF bool) (n int, err error) { + for n < len(src) { + if src[n] < utf8.RuneSelf { + // ASCII fast path. + for n++; n < len(src) && src[n] < utf8.RuneSelf; n++ { + } + continue + } + v, size := trie.lookup(src[n:]) + if size == 0 { // incomplete UTF-8 encoding + if !atEOF { + err = transform.ErrShortSrc + } else { + n = len(src) + } + break + } + if k := elem(v).kind(); byte(v) == 0 || k != EastAsianFullwidth && k != EastAsianWide && k != EastAsianAmbiguous { + } else { + err = transform.ErrEndOfSpan + break + } + n += size + } + return n, err +} + +func (narrowTransform) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + for nSrc < len(src) { + if src[nSrc] < utf8.RuneSelf { + // ASCII fast path. + start, end := nSrc, len(src) + if d := len(dst) - nDst; d < end-start { + end = nSrc + d + } + for nSrc++; nSrc < end && src[nSrc] < utf8.RuneSelf; nSrc++ { + } + n := copy(dst[nDst:], src[start:nSrc]) + if nDst += n; nDst == len(dst) { + nSrc = start + n + if nSrc == len(src) { + return nDst, nSrc, nil + } + if src[nSrc] < utf8.RuneSelf { + return nDst, nSrc, transform.ErrShortDst + } + } + continue + } + v, size := trie.lookup(src[nSrc:]) + if size == 0 { // incomplete UTF-8 encoding + if !atEOF { + return nDst, nSrc, transform.ErrShortSrc + } + size = 1 // gobble 1 byte + } + if k := elem(v).kind(); byte(v) == 0 || k != EastAsianFullwidth && k != EastAsianWide && k != EastAsianAmbiguous { + if size != copy(dst[nDst:], src[nSrc:nSrc+size]) { + return nDst, nSrc, transform.ErrShortDst + } + nDst += size + } else { + data := inverseData[byte(v)] + if len(dst)-nDst < int(data[0]) { + return nDst, nSrc, transform.ErrShortDst + } + i := 1 + for end := int(data[0]); i < end; i++ { + dst[nDst] = data[i] + nDst++ + } + dst[nDst] = data[i] ^ src[nSrc+size-1] + nDst++ + } + nSrc += size + } + return nDst, nSrc, nil +} + +type wideTransform struct { + transform.NopResetter +} + +func (wideTransform) Span(src []byte, atEOF bool) (n int, err error) { + for n < len(src) { + // TODO: Consider ASCII fast path. Special-casing ASCII handling can + // reduce the ns/op of BenchmarkWideASCII by about 30%. This is probably + // not enough to warrant the extra code and complexity. + v, size := trie.lookup(src[n:]) + if size == 0 { // incomplete UTF-8 encoding + if !atEOF { + err = transform.ErrShortSrc + } else { + n = len(src) + } + break + } + if k := elem(v).kind(); byte(v) == 0 || k != EastAsianHalfwidth && k != EastAsianNarrow { + } else { + err = transform.ErrEndOfSpan + break + } + n += size + } + return n, err +} + +func (wideTransform) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + for nSrc < len(src) { + // TODO: Consider ASCII fast path. Special-casing ASCII handling can + // reduce the ns/op of BenchmarkWideASCII by about 30%. This is probably + // not enough to warrant the extra code and complexity. + v, size := trie.lookup(src[nSrc:]) + if size == 0 { // incomplete UTF-8 encoding + if !atEOF { + return nDst, nSrc, transform.ErrShortSrc + } + size = 1 // gobble 1 byte + } + if k := elem(v).kind(); byte(v) == 0 || k != EastAsianHalfwidth && k != EastAsianNarrow { + if size != copy(dst[nDst:], src[nSrc:nSrc+size]) { + return nDst, nSrc, transform.ErrShortDst + } + nDst += size + } else { + data := inverseData[byte(v)] + if len(dst)-nDst < int(data[0]) { + return nDst, nSrc, transform.ErrShortDst + } + i := 1 + for end := int(data[0]); i < end; i++ { + dst[nDst] = data[i] + nDst++ + } + dst[nDst] = data[i] ^ src[nSrc+size-1] + nDst++ + } + nSrc += size + } + return nDst, nSrc, nil +} diff --git a/vendor/golang.org/x/text/width/trieval.go b/vendor/golang.org/x/text/width/trieval.go new file mode 100644 index 00000000000..ca8e45fd19e --- /dev/null +++ b/vendor/golang.org/x/text/width/trieval.go @@ -0,0 +1,30 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package width + +// elem is an entry of the width trie. The high byte is used to encode the type +// of the rune. The low byte is used to store the index to a mapping entry in +// the inverseData array. +type elem uint16 + +const ( + tagNeutral elem = iota << typeShift + tagAmbiguous + tagWide + tagNarrow + tagFullwidth + tagHalfwidth +) + +const ( + numTypeBits = 3 + typeShift = 16 - numTypeBits + + // tagNeedsFold is true for all fullwidth and halfwidth runes except for + // the Won sign U+20A9. + tagNeedsFold = 0x1000 + + // The Korean Won sign is halfwidth, but SHOULD NOT be mapped to a wide + // variant. + wonSign rune = 0x20A9 +) diff --git a/vendor/golang.org/x/text/width/width.go b/vendor/golang.org/x/text/width/width.go new file mode 100644 index 00000000000..29c7509be7c --- /dev/null +++ b/vendor/golang.org/x/text/width/width.go @@ -0,0 +1,206 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:generate stringer -type=Kind +//go:generate go run gen.go gen_common.go gen_trieval.go + +// Package width provides functionality for handling different widths in text. +// +// Wide characters behave like ideographs; they tend to allow line breaks after +// each character and remain upright in vertical text layout. Narrow characters +// are kept together in words or runs that are rotated sideways in vertical text +// layout. +// +// For more information, see https://unicode.org/reports/tr11/. +package width // import "golang.org/x/text/width" + +import ( + "unicode/utf8" + + "golang.org/x/text/transform" +) + +// TODO +// 1) Reduce table size by compressing blocks. +// 2) API proposition for computing display length +// (approximation, fixed pitch only). +// 3) Implement display length. + +// Kind indicates the type of width property as defined in https://unicode.org/reports/tr11/. +type Kind int + +const ( + // Neutral characters do not occur in legacy East Asian character sets. + Neutral Kind = iota + + // EastAsianAmbiguous characters that can be sometimes wide and sometimes + // narrow and require additional information not contained in the character + // code to further resolve their width. + EastAsianAmbiguous + + // EastAsianWide characters are wide in its usual form. They occur only in + // the context of East Asian typography. These runes may have explicit + // halfwidth counterparts. + EastAsianWide + + // EastAsianNarrow characters are narrow in its usual form. They often have + // fullwidth counterparts. + EastAsianNarrow + + // Note: there exist Narrow runes that do not have fullwidth or wide + // counterparts, despite what the definition says (e.g. U+27E6). + + // EastAsianFullwidth characters have a compatibility decompositions of type + // wide that map to a narrow counterpart. + EastAsianFullwidth + + // EastAsianHalfwidth characters have a compatibility decomposition of type + // narrow that map to a wide or ambiguous counterpart, plus U+20A9 ₩ WON + // SIGN. + EastAsianHalfwidth + + // Note: there exist runes that have a halfwidth counterparts but that are + // classified as Ambiguous, rather than wide (e.g. U+2190). +) + +// TODO: the generated tries need to return size 1 for invalid runes for the +// width to be computed correctly (each byte should render width 1) + +var trie = newWidthTrie(0) + +// Lookup reports the Properties of the first rune in b and the number of bytes +// of its UTF-8 encoding. +func Lookup(b []byte) (p Properties, size int) { + v, sz := trie.lookup(b) + return Properties{elem(v), b[sz-1]}, sz +} + +// LookupString reports the Properties of the first rune in s and the number of +// bytes of its UTF-8 encoding. +func LookupString(s string) (p Properties, size int) { + v, sz := trie.lookupString(s) + return Properties{elem(v), s[sz-1]}, sz +} + +// LookupRune reports the Properties of rune r. +func LookupRune(r rune) Properties { + var buf [4]byte + n := utf8.EncodeRune(buf[:], r) + v, _ := trie.lookup(buf[:n]) + last := byte(r) + if r >= utf8.RuneSelf { + last = 0x80 + byte(r&0x3f) + } + return Properties{elem(v), last} +} + +// Properties provides access to width properties of a rune. +type Properties struct { + elem elem + last byte +} + +func (e elem) kind() Kind { + return Kind(e >> typeShift) +} + +// Kind returns the Kind of a rune as defined in Unicode TR #11. +// See https://unicode.org/reports/tr11/ for more details. +func (p Properties) Kind() Kind { + return p.elem.kind() +} + +// Folded returns the folded variant of a rune or 0 if the rune is canonical. +func (p Properties) Folded() rune { + if p.elem&tagNeedsFold != 0 { + buf := inverseData[byte(p.elem)] + buf[buf[0]] ^= p.last + r, _ := utf8.DecodeRune(buf[1 : 1+buf[0]]) + return r + } + return 0 +} + +// Narrow returns the narrow variant of a rune or 0 if the rune is already +// narrow or doesn't have a narrow variant. +func (p Properties) Narrow() rune { + if k := p.elem.kind(); byte(p.elem) != 0 && (k == EastAsianFullwidth || k == EastAsianWide || k == EastAsianAmbiguous) { + buf := inverseData[byte(p.elem)] + buf[buf[0]] ^= p.last + r, _ := utf8.DecodeRune(buf[1 : 1+buf[0]]) + return r + } + return 0 +} + +// Wide returns the wide variant of a rune or 0 if the rune is already +// wide or doesn't have a wide variant. +func (p Properties) Wide() rune { + if k := p.elem.kind(); byte(p.elem) != 0 && (k == EastAsianHalfwidth || k == EastAsianNarrow) { + buf := inverseData[byte(p.elem)] + buf[buf[0]] ^= p.last + r, _ := utf8.DecodeRune(buf[1 : 1+buf[0]]) + return r + } + return 0 +} + +// TODO for Properties: +// - Add Fullwidth/Halfwidth or Inverted methods for computing variants +// mapping. +// - Add width information (including information on non-spacing runes). + +// Transformer implements the transform.Transformer interface. +type Transformer struct { + t transform.SpanningTransformer +} + +// Reset implements the transform.Transformer interface. +func (t Transformer) Reset() { t.t.Reset() } + +// Transform implements the transform.Transformer interface. +func (t Transformer) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + return t.t.Transform(dst, src, atEOF) +} + +// Span implements the transform.SpanningTransformer interface. +func (t Transformer) Span(src []byte, atEOF bool) (n int, err error) { + return t.t.Span(src, atEOF) +} + +// Bytes returns a new byte slice with the result of applying t to b. +func (t Transformer) Bytes(b []byte) []byte { + b, _, _ = transform.Bytes(t, b) + return b +} + +// String returns a string with the result of applying t to s. +func (t Transformer) String(s string) string { + s, _, _ = transform.String(t, s) + return s +} + +var ( + // Fold is a transform that maps all runes to their canonical width. + // + // Note that the NFKC and NFKD transforms in golang.org/x/text/unicode/norm + // provide a more generic folding mechanism. + Fold Transformer = Transformer{foldTransform{}} + + // Widen is a transform that maps runes to their wide variant, if + // available. + Widen Transformer = Transformer{wideTransform{}} + + // Narrow is a transform that maps runes to their narrow variant, if + // available. + Narrow Transformer = Transformer{narrowTransform{}} +) + +// TODO: Consider the following options: +// - Treat Ambiguous runes that have a halfwidth counterpart as wide, or some +// generalized variant of this. +// - Consider a wide Won character to be the default width (or some generalized +// variant of this). +// - Filter the set of characters that gets converted (the preferred approach is +// to allow applying filters to transforms). diff --git a/vendor/modules.txt b/vendor/modules.txt index 443cd9343bd..b6536dfb68a 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -30,6 +30,10 @@ github.com/Azure/go-autorest/logger github.com/Masterminds/squirrel # github.com/NYTimes/gziphandler v1.1.1 github.com/NYTimes/gziphandler +# github.com/PuerkitoBio/purell v1.1.1 +github.com/PuerkitoBio/purell +# github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 +github.com/PuerkitoBio/urlesc # github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4 github.com/alecthomas/units # github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878 @@ -111,6 +115,8 @@ github.com/coreos/pkg/capnslog github.com/davecgh/go-spew/spew # github.com/dgrijalva/jwt-go v3.2.0+incompatible github.com/dgrijalva/jwt-go +# github.com/docker/go-units v0.4.0 +github.com/docker/go-units # github.com/dustin/go-humanize v1.0.0 github.com/dustin/go-humanize # github.com/edsrzf/mmap-go v1.0.0 @@ -127,10 +133,34 @@ github.com/go-kit/kit/log/level github.com/go-kit/kit/log # github.com/go-logfmt/logfmt v0.4.0 github.com/go-logfmt/logfmt +# github.com/go-openapi/analysis v0.19.4 +github.com/go-openapi/analysis +github.com/go-openapi/analysis/internal # github.com/go-openapi/errors v0.19.2 github.com/go-openapi/errors +# github.com/go-openapi/jsonpointer v0.19.2 +github.com/go-openapi/jsonpointer +# github.com/go-openapi/jsonreference v0.19.2 +github.com/go-openapi/jsonreference +# github.com/go-openapi/loads v0.19.2 +github.com/go-openapi/loads +# github.com/go-openapi/runtime v0.19.3 +github.com/go-openapi/runtime/middleware +github.com/go-openapi/runtime +github.com/go-openapi/runtime/logger +github.com/go-openapi/runtime/middleware/denco +github.com/go-openapi/runtime/middleware/header +github.com/go-openapi/runtime/middleware/untyped +github.com/go-openapi/runtime/security +github.com/go-openapi/runtime/flagext +# github.com/go-openapi/spec v0.19.2 +github.com/go-openapi/spec # github.com/go-openapi/strfmt v0.19.2 github.com/go-openapi/strfmt +# github.com/go-openapi/swag v0.19.4 +github.com/go-openapi/swag +# github.com/go-openapi/validate v0.19.2 +github.com/go-openapi/validate # github.com/go-stack/stack v1.8.0 github.com/go-stack/stack # github.com/gocql/gocql v0.0.0-20180113133114-697e7c57f99b @@ -234,6 +264,8 @@ github.com/hashicorp/golang-lru github.com/hashicorp/memberlist # github.com/hashicorp/serf v0.8.3 github.com/hashicorp/serf/coordinate +# github.com/jessevdk/go-flags v0.0.0-20180331124232-1c38ed7ad0cc +github.com/jessevdk/go-flags # github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af github.com/jmespath/go-jmespath # github.com/jonboulle/clockwork v0.1.0 @@ -255,6 +287,10 @@ github.com/lann/ps # github.com/lib/pq v1.0.0 github.com/lib/pq github.com/lib/pq/oid +# github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e +github.com/mailru/easyjson/jlexer +github.com/mailru/easyjson/jwriter +github.com/mailru/easyjson/buffer # github.com/mattes/migrate v1.3.1 github.com/mattes/migrate/driver/postgres github.com/mattes/migrate/migrate @@ -282,8 +318,6 @@ github.com/modern-go/concurrent github.com/modern-go/reflect2 # github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f github.com/mwitkow/go-conntrack -# github.com/oklog/oklog v0.3.2 -github.com/oklog/oklog/pkg/group # github.com/oklog/run v1.0.0 github.com/oklog/run # github.com/oklog/ulid v1.3.1 @@ -302,7 +336,7 @@ github.com/philhofer/fwd github.com/pkg/errors # github.com/pmezard/go-difflib v1.0.0 github.com/pmezard/go-difflib/difflib -# github.com/prometheus/alertmanager v0.15.1 +# github.com/prometheus/alertmanager v0.18.0 github.com/prometheus/alertmanager/api github.com/prometheus/alertmanager/cluster github.com/prometheus/alertmanager/config @@ -315,12 +349,24 @@ github.com/prometheus/alertmanager/silence github.com/prometheus/alertmanager/template github.com/prometheus/alertmanager/types github.com/prometheus/alertmanager/ui -github.com/prometheus/alertmanager/pkg/parse +github.com/prometheus/alertmanager/api/v1 +github.com/prometheus/alertmanager/api/v2 github.com/prometheus/alertmanager/provider -github.com/prometheus/alertmanager/silence/silencepb github.com/prometheus/alertmanager/cluster/clusterpb +github.com/prometheus/alertmanager/store github.com/prometheus/alertmanager/nflog/nflogpb -github.com/prometheus/alertmanager/template/internal/deftmpl +github.com/prometheus/alertmanager/silence/silencepb +github.com/prometheus/alertmanager/asset +github.com/prometheus/alertmanager/api/v2/models +github.com/prometheus/alertmanager/api/metrics +github.com/prometheus/alertmanager/pkg/parse +github.com/prometheus/alertmanager/api/v2/restapi +github.com/prometheus/alertmanager/api/v2/restapi/operations +github.com/prometheus/alertmanager/api/v2/restapi/operations/alert +github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup +github.com/prometheus/alertmanager/api/v2/restapi/operations/general +github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver +github.com/prometheus/alertmanager/api/v2/restapi/operations/silence # github.com/prometheus/client_golang v1.1.0 github.com/prometheus/client_golang/prometheus github.com/prometheus/client_golang/prometheus/promauto @@ -340,7 +386,7 @@ github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg # github.com/prometheus/procfs v0.0.3 github.com/prometheus/procfs github.com/prometheus/procfs/internal/fs -# github.com/prometheus/prometheus v0.0.0-20190819154817-22d54a8192cb +# github.com/prometheus/prometheus v0.0.0-20190818123050-43acd0e2e93f github.com/prometheus/prometheus/pkg/labels github.com/prometheus/prometheus/promql github.com/prometheus/prometheus/tsdb/chunkenc @@ -392,6 +438,8 @@ github.com/prometheus/prometheus/tsdb/index github.com/prometheus/prometheus/tsdb/wal github.com/prometheus/prometheus/pkg/logging github.com/prometheus/prometheus/util/treecache +# github.com/rs/cors v1.6.0 +github.com/rs/cors # github.com/samuel/go-zookeeper v0.0.0-20190810000440-0ceca61e4d75 github.com/samuel/go-zookeeper/zk # github.com/satori/go.uuid v1.2.0 @@ -402,6 +450,12 @@ github.com/sean-/seed github.com/segmentio/fasthash/fnv1a # github.com/sercand/kuberesolver v2.1.0+incompatible github.com/sercand/kuberesolver +# github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 +github.com/shurcooL/httpfs/filter +github.com/shurcooL/httpfs/union +github.com/shurcooL/httpfs/vfsutil +# github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd +github.com/shurcooL/vfsgen # github.com/sirupsen/logrus v1.4.2 github.com/sirupsen/logrus # github.com/soheilhy/cmux v0.1.4 @@ -586,6 +640,7 @@ golang.org/x/net/http2 golang.org/x/net/http2/hpack golang.org/x/net/ipv4 golang.org/x/net/ipv6 +golang.org/x/net/netutil golang.org/x/net/http/httpguts golang.org/x/net/idna golang.org/x/net/bpf @@ -608,6 +663,7 @@ golang.org/x/text/secure/bidirule golang.org/x/text/unicode/bidi golang.org/x/text/unicode/norm golang.org/x/text/transform +golang.org/x/text/width # golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 golang.org/x/time/rate # golang.org/x/tools v0.0.0-20190813034749-528a2984e271 From 714f5a7ae1283398e218289b71485f6e67ba0c41 Mon Sep 17 00:00:00 2001 From: Ganesh Vernekar Date: Wed, 21 Aug 2019 19:30:12 +0530 Subject: [PATCH 09/10] Fix some API changes in alertmanager Signed-off-by: Ganesh Vernekar --- pkg/alertmanager/alertmanager.go | 42 +++++++++++++++----------------- pkg/alertmanager/multitenant.go | 17 ++++++++++--- 2 files changed, 33 insertions(+), 26 deletions(-) diff --git a/pkg/alertmanager/alertmanager.go b/pkg/alertmanager/alertmanager.go index c7deed935b9..73ba8593532 100644 --- a/pkg/alertmanager/alertmanager.go +++ b/pkg/alertmanager/alertmanager.go @@ -1,6 +1,7 @@ package alertmanager import ( + "context" "fmt" "net/http" "net/url" @@ -23,8 +24,8 @@ import ( "github.com/prometheus/alertmanager/types" "github.com/prometheus/alertmanager/ui" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/common/model" "github.com/prometheus/common/route" - "github.com/prometheus/prometheus/pkg/labels" ) const notificationLogMaintenancePeriod = 15 * time.Minute @@ -82,7 +83,7 @@ func New(cfg *Config) (*Alertmanager, error) { return nil, fmt.Errorf("failed to create notification log: %v", err) } - am.marker = types.NewMarker() + am.marker = types.NewMarker(nil) // TODO(cortex): Build a registry that can merge metrics from multiple users. // For now, these metrics are ignored, as we can't register the same @@ -110,28 +111,31 @@ func New(cfg *Config) (*Alertmanager, error) { am.wg.Done() }() - marker := types.NewMarker() - am.alerts, err = mem.NewAlerts(marker, 30*time.Minute) + marker := types.NewMarker(nil) + am.alerts, err = mem.NewAlerts(context.Background(), marker, 30*time.Minute, am.logger) if err != nil { return nil, fmt.Errorf("failed to create alerts: %v", err) } - am.api = api.New( - am.alerts, - am.silences, - func(matchers []*labels.Matcher) dispatch.AlertOverview { - return am.dispatcher.Groups(matchers) + am.api, err = api.New(api.Options{ + Alerts: am.alerts, + Silences: am.silences, + StatusFunc: marker.Status, + Peer: cfg.Peer, + Logger: log.With(am.logger, "component", "api"), + GroupFunc: func(f1 func(*dispatch.Route) bool, f2 func(*types.Alert, time.Time) bool) (dispatch.AlertGroups, map[model.Fingerprint][]string) { + return am.dispatcher.Groups(f1, f2) }, - marker.Status, - cfg.Peer, - log.With(am.logger, "component", "api"), - ) + }) + if err != nil { + return nil, fmt.Errorf("failed to create api: %v", err) + } am.router = route.New() webReload := make(chan chan error) ui.Register(am.router.WithPrefix(am.cfg.ExternalURL.Path), webReload, log.With(am.logger, "component", "ui")) - am.api.Register(am.router.WithPrefix(path.Join(am.cfg.ExternalURL.Path, "/api/v1"))) + am.api.Register(am.router, path.Join(am.cfg.ExternalURL.Path, "/api/v1")) go func() { for { @@ -177,10 +181,7 @@ func (am *Alertmanager) ApplyConfig(userID string, conf *config.Config) error { } tmpl.ExternalURL = am.cfg.ExternalURL - err = am.api.Update(conf, time.Duration(conf.Global.ResolveTimeout)) - if err != nil { - return err - } + am.api.Update(conf, func(_ model.LabelSet) {}) am.inhibitor.Stop() am.dispatcher.Stop() @@ -197,14 +198,11 @@ func (am *Alertmanager) ApplyConfig(userID string, conf *config.Config) error { pipeline = notify.BuildPipeline( conf.Receivers, - tmpl, waitFunc, am.inhibitor, - am.silences, + silence.NewSilencer(am.silences, am.marker, am.logger), am.nflog, - am.marker, am.cfg.Peer, - log.With(am.logger, "component", "pipeline"), ) am.dispatcher = dispatch.NewDispatcher( am.alerts, diff --git a/pkg/alertmanager/multitenant.go b/pkg/alertmanager/multitenant.go index 6d5c371b573..3d35e74cc01 100644 --- a/pkg/alertmanager/multitenant.go +++ b/pkg/alertmanager/multitenant.go @@ -7,6 +7,7 @@ import ( "html/template" "io/ioutil" "net/http" + "net/url" "os" "path/filepath" "strings" @@ -327,8 +328,12 @@ func (am *MultitenantAlertmanager) transformConfig(userID string, amConfig *amco if am.cfg.AutoSlackRoot != "" { for _, r := range amConfig.Receivers { for _, s := range r.SlackConfigs { - if s.APIURL == autoSlackURL { - s.APIURL = amconfig.Secret(am.cfg.AutoSlackRoot + "/" + userID + "/monitor") + if s.APIURL.String() == autoSlackURL { + u, err := url.Parse(am.cfg.AutoSlackRoot + "/" + userID + "/monitor") + if err != nil { + return nil, err + } + s.APIURL = &amconfig.SecretURL{u} } } } @@ -336,8 +341,12 @@ func (am *MultitenantAlertmanager) transformConfig(userID string, amConfig *amco if am.cfg.AutoWebhookRoot != "" { for _, r := range amConfig.Receivers { for _, w := range r.WebhookConfigs { - if w.URL == autoWebhookURL { - w.URL = am.cfg.AutoWebhookRoot + "/" + userID + "/monitor" + if w.URL.String() == autoWebhookURL { + u, err := url.Parse(am.cfg.AutoWebhookRoot + "/" + userID + "/monitor") + if err != nil { + return nil, err + } + w.URL = &amconfig.URL{u} } } } From 3c9495e49f9cc0343c15395fe7955ea5b4faa7d5 Mon Sep 17 00:00:00 2001 From: Ganesh Vernekar Date: Wed, 11 Sep 2019 11:57:43 +0530 Subject: [PATCH 10/10] Fix review comments Signed-off-by: Ganesh Vernekar --- pkg/chunk/encoding/bigchunk.go | 18 +++++++++++------- pkg/chunk/encoding/chunk.go | 3 +++ pkg/ingester/ingester.go | 1 + 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/pkg/chunk/encoding/bigchunk.go b/pkg/chunk/encoding/bigchunk.go index a0e9d511a7d..bd74b4eaba2 100644 --- a/pkg/chunk/encoding/bigchunk.go +++ b/pkg/chunk/encoding/bigchunk.go @@ -115,7 +115,6 @@ func (b *bigchunk) UnmarshalFromBuf(buf []byte) error { b.chunks = make([]smallChunk, 0, numChunks+1) // allow one extra space in case we want to add new data var reuseIter chunkenc.Iterator - var start, end int64 for i := uint16(0); i < numChunks; i++ { chunkLen, err := r.ReadUint16() if err != nil { @@ -132,6 +131,7 @@ func (b *bigchunk) UnmarshalFromBuf(buf []byte) error { return err } + var start, end int64 start, end, reuseIter, err = firstAndLastTimes(chunk, reuseIter) if err != nil { return err @@ -172,18 +172,22 @@ func (b *bigchunk) Size() int { } func (b *bigchunk) NewIterator(reuseIter Iterator) Iterator { + if bci, ok := reuseIter.(*bigchunkIterator); ok { + bci.bigchunk = b + bci.i = 0 + if len(b.chunks) > 0 { + bci.curr = b.chunks[0].Iterator(bci.curr) + } else { + bci.curr = chunkenc.NewNopIterator() + } + return bci + } var it chunkenc.Iterator if len(b.chunks) > 0 { it = b.chunks[0].Iterator(it) } else { it = chunkenc.NewNopIterator() } - if bci, ok := reuseIter.(*bigchunkIterator); ok { - bci.bigchunk = b - bci.curr = it - bci.i = 0 - return bci - } return &bigchunkIterator{ bigchunk: b, curr: it, diff --git a/pkg/chunk/encoding/chunk.go b/pkg/chunk/encoding/chunk.go index a01dd5b031b..f36e4d3597f 100644 --- a/pkg/chunk/encoding/chunk.go +++ b/pkg/chunk/encoding/chunk.go @@ -44,6 +44,9 @@ type Chunk interface { // or a newly allocated version. In any case, take the returned chunk as // the relevant one and discard the original chunk. Add(sample model.SamplePair) ([]Chunk, error) + // NewIterator returns an iterator for the chunks. + // The iterator passed as argument is for re-use. Depending on implementation, + // the iterator can be re-used or a new iterator can be allocated. NewIterator(Iterator) Iterator Marshal(io.Writer) error UnmarshalFromBuf([]byte) error diff --git a/pkg/ingester/ingester.go b/pkg/ingester/ingester.go index 67bcc408416..43bda108eeb 100644 --- a/pkg/ingester/ingester.go +++ b/pkg/ingester/ingester.go @@ -258,6 +258,7 @@ func (i *Ingester) Push(ctx old_ctx.Context, req *client.WriteRequest) (*client. return nil, fmt.Errorf("no user id") } var lastPartialErr error + for _, ts := range req.Timeseries { for _, s := range ts.Samples { err := i.append(ctx, userID, ts.Labels, model.Time(s.TimestampMs), model.SampleValue(s.Value), req.Source)